From d78a02da16de1594ca259826055d6da986611b6d Mon Sep 17 00:00:00 2001
From: jxdnsong <592566207@qq.com>
Date: Mon, 02 Nov 2020 14:22:55 +0800
Subject: [PATCH] 删除超图包

---
 /dev/null |  913 ---------------------------------------------------------
 1 files changed, 0 insertions(+), 913 deletions(-)

diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_0.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_0.json
deleted file mode 100644
index 06f4ffa..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_0.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":0,"numberOfSamples":1000,"samples":[-0.002403025022753476,-2.5083047211757836e-5,-1.721638967214743e-8,-0.002402558217007106,-2.5020003017226545e-5,-1.7146589882925253e-8,-0.002402152743739069,-2.4908815008776256e-5,-1.7018183343380784e-8,-0.0024018177616850914,-2.4779340864272868e-5,-1.686693112266686e-8,-0.0024015512294922256,-2.4661265859267777e-5,-1.672851429567895e-8,-0.0024013415089134365,-2.4580601237402673e-5,-1.6634308307010567e-8,-0.0024011692853140917,-2.4557354638250633e-5,-1.660856911234815e-8,-0.0024010094083213077,-2.460379520847823e-5,-1.666634004388421e-8,-0.002400832781870665,-2.472274606391698e-5,-1.681138635859172e-8,-0.0024006088674261195,-2.490565851910724e-5,-1.7033840158805374e-8,-0.0024003096414815053,-2.513083477542098e-5,-1.7307985763326293e-8,-0.002399915678730765,-2.5363106308028472e-5,-1.759177707540246e-8,-0.0023994239684226163,-2.5557205638682287e-5,-1.7830822072448312e-8,-0.0023988549431304905,-2.566700881355288e-5,-1.7969488578482e-8,-0.0023982538707374547,-2.5660422954022525e-5,-1.7968844164137065e-8,-0.002397681821948537,-2.553480284678542e-5,-1.7825226886235993e-8,-0.0023971964165357008,-2.53237668313255e-5,-1.7578462540315414e-8,-0.002396830441918346,-2.50885777844268e-5,-1.7301586465142487e-8,-0.0023965800106651434,-2.4896546614298096e-5,-1.7075078798371497e-8,-0.0023964084361551537,-2.4797687943490375e-5,-1.695902560230991e-8,-0.002396262002993096,-2.481096708533641e-5,-1.6976666372280337e-8,-0.0023960882393536166,-2.4923817586803518e-5,-1.7113670694608337e-8,-0.002395849219877066,-2.5101106375207836e-5,-1.732863106912266e-8,-0.002395527525579831,-2.5297461255455714e-5,-1.756761197379987e-8,-0.0023951260596151974,-2.546854998291281e-5,-1.7777564319951067e-8,-0.0023946640036132836,-2.5579325396643004e-5,-1.7916241394922998e-8,-0.0023941708783994835,-2.5608875350224024e-5,-1.7958135357141878e-8,-0.0023936800199459637,-2.5552141704174967e-5,-1.7896681829365477e-8,-0.00239322243029576,-2.5418865388500117e-5,-1.774311016303839e-8,-0.0023928218677541743,-2.5230314934074022e-5,-1.7522587181791123e-8,-0.0023924917832175113,-2.5014690159013176e-5,-1.7268730448048223e-8,-0.0023922342643846748,-2.480218762163173e-5,-1.7017686942652696e-8,-0.0023920407464684762,-2.4620565317509125e-5,-1.6802798466007283e-8,-0.0023918939307276768,-2.4491771693316273e-5,-1.6650542584010726e-8,-0.0023917702332855676,-2.442975015807349e-5,-1.6577888357278284e-8,-0.002391642329452238,-2.443909807420655e-5,-1.6590679729922046e-8,-0.002391481763245852,-2.4514179502452957e-5,-1.6682551340715887e-8,-0.0023912619080620466,-2.4638499724969643e-5,-1.6834129065335303e-8,-0.002390961805205984,-2.478455800610903e-5,-1.701276797456279e-8,-0.00239057134744484,-2.4915132198915024e-5,-1.717399678816932e-8,-0.0023900974268101054,-2.4987729973603072e-5,-1.7266795508165544e-8,-0.0023895689055318833,-2.496391501976109e-5,-1.7244787681999786e-8,-0.002389036165074365,-2.4823284691699932e-5,-1.7083063873624844e-8,-0.002388560578292379,-2.4577378315217863e-5,-1.6794918110509053e-8,-0.0023881937570601162,-2.4274142413621198e-5,-1.643724545979219e-8,-0.0023879553394346147,-2.3985163329236852e-5,-1.6095335313882396e-8,-0.002387823242597225,-2.3778727505381422e-5,-1.5850778179207802e-8,-0.002387743703083488,-2.3693514905278695e-5,-1.575012576846581e-8,-0.002387654469699301,-2.3727803248252375e-5,-1.57919573836453e-8,-0.0023875068224310926,-2.384701163322787e-5,-1.5935693828749185e-8,-0.0023872766838733636,-2.4000872036063545e-5,-1.6121849968027748e-8,-0.0023869645383715133,-2.4139837531397063e-5,-1.6291451853276617e-8,-0.0023865890688437295,-2.4225578577636494e-5,-1.6398545934918142e-8,-0.002386179207668243,-2.4235415814278647e-5,-1.641560182566368e-8,-0.0023857671367677994,-2.4162608465253676e-5,-1.633403013000638e-8,-0.00238538293231372,-2.4014446579879058e-5,-1.6162059832962554e-8,-0.002385050648932289,-2.3809267842749758e-5,-1.5921265822080736e-8,-0.0023847856192039767,-2.357281279621325e-5,-1.564223465313254e-8,-0.002384592973846085,-2.333418942320294e-5,-1.5359717819261274e-8,-0.0023844674152753756,-2.3121781930974167e-5,-1.5107704928910368e-8,-0.0023843942234786524,-2.2959461734624766e-5,-1.491486592392592e-8,-0.002384351361188566,-2.2863520256191973e-5,-1.4800873864748202e-8,-0.0023843123252193354,-2.28406536006252e-5,-1.4773996666932113e-8,-0.0023842493365599203,-2.2887020091128393e-5,-1.4829969279080835e-8,-0.0023841366567967904,-2.2988230871289267e-5,-1.4951960812478233e-8,-0.0023839539952364617,-2.312021069380629e-5,-1.5111546301631272e-8,-0.00238369008534005,-2.3251022890859802e-5,-1.527079819049034e-8,-0.0023833464925758774,-2.3344139544444378e-5,-1.5386101234343148e-8,-0.002382941139623567,-2.336411463944466e-5,-1.5414884137776942e-8,-0.002382509826925251,-2.328539769468119e-5,-1.532618136616557e-8,-0.0023821027927208825,-2.3103440347943915e-5,-1.5114003628255345e-8,-0.002381773349088804,-2.284408291453904e-5,-1.4808671898883374e-8,-0.0023815590512039917,-2.2563826220574735e-5,-1.4477243667166011e-8,-0.002381463086871345,-2.233471929550198e-5,-1.4205559558666824e-8,-0.0023814485095478804,-2.221697578834785e-5,-1.4065641166745777e-8,-0.002381452228381859,-2.2233998994991225e-5,-1.4085907881538568e-8,-0.002381411455037569,-2.2365307161191684e-5,-1.424262147988882e-8,-0.0023812864408547367,-2.2559894107652725e-5,-1.447559680357265e-8,-0.002381068549780454,-2.2758766135733266e-5,-1.4714854003566721e-8,-0.0023807747559344136,-2.291337561706086e-5,-1.4902487127724783e-8,-0.002380436370789755,-2.2994297064707167e-5,-1.5003052078078702e-8,-0.0023800885646524635,-2.299177707261808e-5,-1.5004382649226507e-8,-0.00237976327801646,-2.291211671228343e-5,-1.4913466509235396e-8,-0.0023794853741548514,-2.277298527889861e-5,-1.4750994633350504e-8,-0.0023792708581126575,-2.2599122259547465e-5,-1.4546281765613793e-8,-0.0023791261518308006,-2.241861685502684e-5,-1.4332799297124966e-8,-0.002379048025038435,-2.2259517123002332e-5,-1.4144070736454437e-8,-0.002379024159088545,-2.214660348294054e-5,-1.4009774292460906e-8,-0.0023790344674725033,-2.209831973031592e-5,-1.395206580492697e-8,-0.0023790533562057336,-2.2124111902023713e-5,-1.3982415286808531e-8,-0.002379052917494198,-2.222265873839312e-5,-1.4099513692685225e-8,-0.0023790067355613062,-2.238139064397462e-5,-1.428869841454831e-8,-0.002378893869389061,-2.257747476862916e-5,-1.4523091866730754e-8,-0.002378702581053121,-2.2780337278386994e-5,-1.476653436627111e-8,-0.002378433361551305,-2.2955662245878917e-5,-1.4978254730954575e-8,-0.002378100828725866,-2.3070719458652143e-5,-1.511914018072533e-8,-0.0023777339193535064,-2.310095367991105e-5,-1.515956714522654e-8,-0.0023773732909614727,-2.303748192499462e-5,-1.5088399696609955e-8,-0.0023770645160716658,-2.2893966475516838e-5,-1.492131520640025e-8,-0.002376846389675512,-2.2709585344523315e-5,-1.4704506770614907e-8,-0.0023767362857042957,-2.2543662682762967e-5,-1.4508420483594385e-8,-0.0023767187552697256,-2.2459283627088534e-5,-1.4408307234147157e-8,-0.0023767459611238515,-2.2499820209175073e-5,-1.445625065299755e-8,-0.0023767538670920077,-2.2670163085399482e-5,-1.4658709621930782e-8,-0.0023766872411040843,-2.2934727415897178e-5,-1.4973964372283597e-8,-0.0023765193201164465,-2.323369224805631e-5,-1.5331258141108677e-8,-0.0023762563410213845,-2.350669143427009e-5,-1.5658866089500266e-8,-0.002375928430938125,-2.371079089789632e-5,-1.5905466616878e-8,-0.0023755754730009244,-2.382701217823089e-5,-1.6047996748580552e-8,-0.0023752354105984904,-2.3857755177899014e-5,-1.6088754695381856e-8,-0.002374937643938984,-2.3820288416794153e-5,-1.6047823960984603e-8,-0.002374700710601401,-2.3740166302795695e-5,-1.5955340321399732e-8,-0.0023745323579410426,-2.364615831678585e-5,-1.584546360315411e-8,-0.002374430478790293,-2.356666639934087e-5,-1.575205426032653e-8,-0.002374384221762089,-2.352701024171114e-5,-1.57053729084508e-8,-0.0023743752258978223,-2.3547031862098734e-5,-1.572919102890182e-8,-0.0023743792463522813,-2.3638741087943782e-5,-1.5837991897107692e-8,-0.002374368580960303,-2.380412406762251e-5,-1.60343866710735e-8,-0.002374315566041234,-2.403369636554169e-5,-1.6307405665562255e-8,-0.0023741969508027684,-2.4306554286211768E-05,-1.663253558578559e-8,-0.0023739984897390765,-2.4592488041431972e-5,-1.6974166769903272e-8,-0.0023737187937815855,-2.485635257581502e-5,-1.729069822860392e-8,-0.0023733713634909127,-2.506433547134887e-5,-1.75419012861819e-8,-0.002372983923689407,-2.5191127286277645e-5,-1.769739737193478e-8,-0.002372594652471399,-2.5226659292504724e-5,-1.774469317666995e-8,-0.0023722453489884105,-2.518097690876975e-5,-1.7695084665231785e-8,-0.0023719720500917853,-2.508558541252764e-5,-1.758542950683843e-8,-0.0023717945137316262,-2.4989429346639012e-5,-1.7473550411127092e-8,-0.002371707467356645,-2.494832237534192e-5,-1.7425795584798645e-8,-0.002371677894372136,-2.5008867215187453e-5,-1.7497939205762146e-8,-0.0023716521953735695,-2.519167607485704e-5,-1.7715125311405072e-8,-0.002371573067713854,-2.548183725590846e-5,-1.8060341886620035e-8,-0.0023713996123746663,-2.5833052724984733e-5,-1.8479137373701417e-8,-0.002371120733790304,-2.6184543627960917e-5,-1.8899572452170946e-8,-0.002370755545988175,-2.6481976563885553e-5,-1.925703522704526e-8,-0.0023703426289241364,-2.6692240399045317e-5,-1.951183288718046e-8,-0.002369925545652223,-2.6807480392539526e-5,-1.9654094044252732e-8,-0.0023695414256623836,-2.6840554567015164e-5,-1.969852847864199e-8,-0.0023692152111846727,-2.681698378371743e-5,-1.9675010651785046e-8,-0.0023689586030738027,-2.676742403134865e-5,-1.961971546979294e-8,-0.002368771517557994,-2.672230169153053e-5,-1.9568738474777108e-8,-0.0023686442754798733,-2.6708491821190418e-5,-1.9554090992955217e-8,-0.0023685596467347297,-2.6747237733667733e-5,-1.960116950419851e-8,-0.0023684946354959537,-2.68525198499682e-5,-1.97267938434712e-8,-0.002368422377939945,-2.7029396546161804e-5,-1.9937245693158044e-8,-0.002368314731930507,-2.7272358283705946e-5,-2.0226327583010683e-8,-0.002368145999280894,-2.7564325967266348e-5,-2.0574158419038293e-8,-0.0023678977178564387,-2.7877297359742607e-5,-2.0947880438817348e-8,-0.002367563716932125,-2.8175607003251493e-5,-2.13054362009557e-8,-0.0023671538835179904,-2.842219417818171e-5,-2.1602912348808545e-8,-0.0023666947656918185,-2.8587099112517685e-5,-2.1804557557978034e-8,-0.002366225711058261,-2.865603679897383e-5,-2.1892948933762033e-8,-0.0023657906850576426,-2.8636207775475263e-5,-2.1875955583981355e-8,-0.0023654275601418958,-2.855700316341736e-5,-2.178772414823076e-8,-0.0023651577407058874,-2.8464659629023123e-5,-2.168254086275059e-8,-0.002364979157822262,-2.8411626526095733e-5,-2.162241058543541e-8,-0.0023648650418965824,-2.8442979454826838e-5,-2.166103733977592e-8,-0.0023647696710966484,-2.858341235909699e-5,-2.182833892955203e-8,-0.0023646404647817425,-2.8828964162584613e-5,-2.2120438590644107e-8,-0.002364433315624853,-2.9147094222646294e-5,-2.2499504905555506e-8,-0.0023641258489594833,-2.9486173871872614e-5,-2.2904806040155516e-8,-0.0023637232753826293,-2.979130710829397e-5,-2.3271375506734424e-8,-0.0023632546433513643,-3.0020135017275484e-5,-2.3548762139194928e-8,-0.002362761919778162,-3.0152532930312014e-5,-2.371261331000258e-8,-0.002362287259213515,-3.019176737033716e-5,-2.3766181246292998e-8,-0.002361863354709199,-3.015895406508579e-5,-2.3733906423839642e-8,-0.0023615089325091636,-3.0084812691876054e-5,-2.3651770841389847e-8,-0.00236122863993826,-3.0002168291456246e-5,-2.355846990290136e-8,-0.002361015342081342,-2.9940748794497447e-5,-2.3489231721847384e-8,-0.002360853090462664,-2.99242064708113e-5,-2.347223119682423e-8,-0.0023607198261957722,-2.9968579872684983e-5,-2.352671480071416e-8,-0.0023605896206938806,-3.008134175253829e-5,-2.3661849584525067e-8,-0.002360434817332799,-3.0260449420114613e-5,-2.3875596082544623e-8,-0.002360228724551759,-3.049336232044938e-5,-2.4153533560309604e-8,-0.002359949398259028,-3.0756647438100245e-5,-2.4468344706144205e-8,-0.0023595845450922696,-3.1017291850921676e-5,-2.4781284325725616e-8,-0.0023591366902662777,-3.1236974924948935e-5,-2.5047141991886597e-8,-0.0023586265980894577,-3.1379935910133564e-5,-2.5223485405296768e-8,-0.0023580922330621156,-3.1423318194842274e-5,-2.5282880705071384e-8,-0.002357581446433621,-3.136654245445751e-5,-2.5224014627911062e-8,-0.0023571393504713037,-3.123511772789739e-5,-2.507629936540768e-8,-0.0023567945569627356,-3.107585378526121e-5,-2.4894381030997065e-8,-0.002356549808293787,-3.094425143746427e-5,-2.474345004782824e-8,-0.0023563808398743354,-3.088856588907149e-5,-2.468058353057825e-8,-0.002356243673347264,-3.093631165990455e-5,-2.473883210055294e-8,-0.0023560873309623623,-3.108742146766624e-5,-2.491898425872327e-8,-0.002355867681615853,-3.131543790559243e-5,-2.5190695953120915e-8,-0.0023555585115042363,-3.157564626292947e-5,-2.5501820575724358e-8,-0.0023551570793018816,-3.1817414987353845e-5,-2.5792819079502532e-8,-0.0023546830395721335,-3.199708556138092e-5,-2.601196397786125e-8,-0.0023541715928763573,-3.2087761735616844e-5,-2.612699814404651e-8,-0.0023536634728575476,-3.208356074308803e-5,-2.6130313106072467e-8,-0.002353195112875602,-3.199796079202877e-5,-2.6037164980856268e-8,-0.0023527917127598285,-3.185788963483199e-5,-2.5878832104811108e-8,-0.0023524643421163408,-3.1696231806253835e-5,-2.569384848742031e-8,-0.002352210558042157,-3.15451429795799e-5,-2.5520122001298037e-8,-0.002352017095867703,-3.1431404225224024e-5,-2.5389404645823923e-8,-0.0023518632011028735,-3.137387309610943e-5,-2.532421829510982e-8,-0.0023517237164243985,-3.138241693585632e-5,-2.5336544634470662e-8,-0.0023515716747720653,-3.1457557889187125e-5,-2.542738407693742e-8,-0.002351380666688492,-3.159026777706401e-5,-2.5586503563180176e-8,-0.002351127544409854,-3.1761819323126654e-5,-2.5792232842799336e-8,-0.002350795997438297,-3.194420346482523e-5,-2.601189004377488e-8,-0.00235038109753939,-3.210218902073709e-5,-2.620411988036901e-8,-0.0023498939766626002,-3.2198362784118887e-5,-2.6324761207664516e-8,-0.002349364441336059,-3.2201906185988056e-5,-2.6337171516754927e-8,-0.002348838300113838,-3.2099820884316304e-5,-2.622549250364978e-8,-0.002348367104865175,-3.1906193387378433E-05,-2.6005638953133388e-8,-0.002347991928908947,-3.16632964565759e-5,-2.572670334096174e-8,-0.0023477278385863123,-3.1430895046698076e-5,-2.5458524871709287e-8,-0.0023475573302447783,-3.1266834683295797e-5,-2.526903432937616e-8,-0.0023474365947856223,-3.1207840834265524e-5,-2.5201788974958383e-8,-0.0023473111312674834,-3.125926073193481e-5,-2.5263855985966862e-8,-0.0023471329217680113,-3.139668630853095e-5,-2.5427484190962568e-8,-0.0023468725828316842,-3.157629805487812e-5,-2.564195034641037e-8,-0.00234652400711633,-3.174838223286182e-5,-2.5849203831761563e-8,-0.0023461023891960834,-3.1869477830964374e-5,-2.5998061315297644e-8,-0.0023456379459007243,-3.191071358278629e-5,-2.6054089874945166e-8,-0.002345167714297938,-3.1861618822297345e-5,-2.6004274687434745e-8,-0.0023447273964050676,-3.1729710102991125e-5,-2.5856743363241975e-8,-0.0023443447623778383,-3.15367263237694e-5,-2.5636504725218675e-8,-0.002344035611415732,-3.1312828941514695e-5,-2.5378716588854288e-8,-0.0023438025868741026,-3.1090321324122036e-5,-2.5121307043493483e-8,-0.002343636419494298,-3.0898215687290654e-5,-2.4898533605619872e-8,-0.0023435187346924568,-3.075840762917019e-5,-2.473640851696107e-8,-0.002343425470101371,-3.06836209512552e-5,-2.4650217468068794e-8,-0.002343330156203922,-3.067678824239108e-5,-2.46437581014699e-8,-0.0023432067557343844,-3.0731268964403044e-5,-2.4709591242115973e-8,-0.002343032205144756,-3.083142896996042e-5,-2.482971769728214e-8,-0.0023427890317182145,-3.09534849684997e-5,-2.4976536733214626e-8,-0.002342468429998982,-3.1066960867543575e-5,-2.5114480866863458e-8,-0.0023420738829506476,-3.113759753821509e-5,-2.520334251191813e-8,-0.0023416245655075696,-3.113286617338482e-5,-2.5204692814982757e-8,-0.002341156456037676,-3.1030702451985074e-5,-2.5092155875587517e-8,-0.0023407180452088712,-3.083007768640861e-5,-2.4863906224778936e-8,-0.0023403583393829482,-3.055874873840108e-5,-2.4551880478986413e-8,-0.002340109110049135,-3.027131810595971e-5,-2.421961909495806e-8,-0.0023399695530012623,-3.0033690127916367e-5,-2.394416454197952e-8,-0.0023399035996637175,-2.9898874983898596e-5,-2.378781857784365e-8,-0.0023398534173924984,-2.9886919236503446e-5,-2.3774659522504135e-8,-0.002339761711113448,-2.9979953784273124e-5,-2.388461211409085e-8,-0.0023395905205925225,-3.0132912884441697e-5,-2.4065731184666787e-8,-0.002339328969507674,-3.0291463113513845e-5,-2.4254908440399182e-8,-0.0023389905263682936,-3.0407909014329455e-5,-2.439632805788379e-8,-0.002338604647812188,-3.0450610353352113e-5,-2.4452510933726005e-8,-0.002338207386718835,-3.0406942615971795e-5,-2.4407957962391716e-8,-0.002337833512955816,-3.0281802581374335e-5,-2.4267646192649814e-8,-0.002337510916804099,-3.009374007485284e-5,-2.405271127085375e-8,-0.00233725717872705,-2.9870050109659613e-5,-2.379481298482102e-8,-0.0023370780896862574,-2.96415499392353e-5,-2.3530020163429226e-8,-0.0023369679571642664,-2.943765111817507e-5,-2.3292964938693384e-8,-0.002336911380731853,-2.928228272071026e-5,-2.311196745938867e-8,-0.0023368860519105425,-2.9191004014698512e-5,-2.3005572673000774e-8,-0.0023368660995786595,-2.9169474421886248e-5,-2.2980719814710166e-8,-0.002336825467155114,-2.921325593941368e-5,-2.3032512896595408e-8,-0.0023367409423963475,-2.9308629309781252e-5,-2.3145193486284356e-8,-0.002336594789812839,-2.94340434461076e-5,-2.329383537317645e-8,-0.002336377141683103,-2.9562078747041886e-5,-2.3446595994696407e-8,-0.0023360882937399465,-2.9662099579462933e-5,-2.3567732219797592e-8,-0.0023357408585416017,-2.9704065354320472e-5,-2.36219691020052e-8,-0.0023353611169372288,-2.9664178807460198e-5,-2.3581074777115405e-8,-0.002334987901996926,-2.953256184083392e-5,-2.3432902238347995e-8,-0.002334666656879615,-2.9321444023828176e-5,-2.3191111499019182e-8,-0.002334437144125591,-2.906967526378198e-5,-2.2900614292587276e-8,-0.0023343170286952335,-2.8837540628692366e-5,-2.263164135915559e-8,-0.002334289377364724,-2.868863915936848e-5,-2.245863079739621e-8,-0.0023343042731189534,-2.8664576401788524e-5,-2.243065985991554e-8,-0.002334297427240077,-2.8766728884431434e-5,-2.2550060161150142e-8,-0.00233421602436304,-2.8956937999179782e-5,-2.277304822604038e-8,-0.0023340366493231914,-2.9175695277364925e-5,-2.3030723691705274e-8,-0.0023337675567428337,-2.9365148437702835e-5,-2.325572494540632e-8,-0.002333439019167699,-2.948499872544599e-5,-2.3400714149062195e-8,-0.002333090235900311,-2.9517803647735512e-5,-2.3444668908795366e-8,-0.002332758701346869,-2.9466638538369463e-5,-2.3390385484474364e-8,-0.0023324738052357035,-2.934937562502968e-5,-2.3258055105401835e-8,-0.0023322540424882687,-2.919255582833955e-5,-2.3078281732160556e-8,-0.0023321064600515273,-2.902614663617285e-5,-2.2885999487207492e-8,-0.002332027286009202,-2.8879263050207602e-5,-2.271540058262342e-8,-0.0023320033619865835,-2.877662704188809e-5,-2.259567613496163e-8,-0.002332014289946477,-2.873576097567269e-5,-2.2547631244607782e-8,-0.002332035177135321,-2.8765014379972653e-5,-2.2581326280258576e-8,-0.0023320398449503863,-2.8862571973660708e-5,-2.2694919143851268e-8,-0.0023320042471653172,-2.9016654866027363e-5,-2.287492871831799e-8,-0.0023319096779583115,-2.9206946607571382e-5,-2.3097917898279694e-8,-0.002331745434296553,-2.940702053860624e-5,-2.333330260051453e-8,-0.0023315107913132412,-2.9587554741398894e-5,-2.354703004535643e-8,-0.002331216183994399,-2.9720241445388588e-5,-2.370604059396504e-8,-0.0023308833968589734,-2.9782371874826208e-5,-2.378354402409868e-8,-0.0023305442821816677,-2.976211745161164e-5,-2.376519028712881e-8,-0.002330237019842478,-2.9664138028036154e-5,-2.3655730605611676e-8,-0.002329998741183291,-2.9513937315933643e-5,-2.3484296706424633e-8,-0.0023298543227104943,-2.935776247905231e-5,-2.3304483190610554e-8,-0.0023298039688696283,-2.9254146272590037e-5,-2.3184600111912306e-8,-0.0023298161627486316,-2.9255771124284795e-5,-2.3186513526067538e-8,-0.002329833717182933,-2.9387407680729007e-5,-2.3339799540173714e-8,-0.00232979429485865,-2.963251445919433e-5,-2.3625939095795707e-8,-0.0023296555485235837,-2.993876684354111e-5,-2.3984573422930422e-8,-0.002329410031430962,-3.0240089226068864e-5,-2.433902191722381e-8,-0.002329082684861528,-3.048133910260082e-5,-2.4624941076546366e-8,-0.002328716252266335,-3.063272313348873e-5,-2.4807118980201846e-8,-0.0023283552432151315,-3.0691090518933916e-5,-2.4881121231374615e-8,-0.002328035235814446,-3.067316204035687e-5,-2.486564617259907e-8,-0.002327778453652459,-3.060672619689269e-5,-2.4792504271784795e-8,-0.0023275936390781573,-3.052324005011218e-5,-2.4698123022970693e-8,-0.002327477917828302,-3.0452785078251434e-5,-2.461765146651857e-8,-0.002327419112590265,-3.0420884134364204E-05,-2.458113394257909e-8,-0.0023273980040969685,-3.0446326357327403e-5,-2.4610839446448034e-8,-0.002327390669521878,-3.0539531096370326e-5,-2.4719266183936192e-8,-0.0023273711094918687,-3.070139397965835e-5,-2.4907774784639605e-8,-0.002327314298389271,-3.0922803788878494e-5,-2.5166047977091938e-8,-0.002327199604182002,-3.118523180180453e-5,-2.5472802828543438e-8,-0.0023270141555905726,-3.146275582275373e-5,-2.579813850369303e-8,-0.002326755507257778,-3.1725524753218145e-5,-2.6107509797618743e-8,-0.002326433025242352,-3.194433915074523e-5,-2.636696380227279e-8,-0.00232606757107646,-3.2095816875852493E-05,-2.6549064620552972e-8,-0.0023256892347763903,-3.216744119251998e-5,-2.663874128588696e-8,-0.0023253330548705857,-3.216173673953351e-5,-2.6638224765391106e-8,-0.002325032753407156,-3.209873777588853e-5,-2.6570101510359574e-8,-0.0023248127299698297,-3.201549252585091e-5,-2.6476970450584947e-8,-0.002324679419257254,-3.1960909325668365e-5,-2.641563798078472e-8,-0.002324614738368727,-3.198471760129885e-5,-2.6444333423830437e-8,-0.0023245759518624605,-3.2121629871326e-5,-2.6604171937243653e-8,-0.002324505785473568,-3.237602913514e-5,-2.6901108196581215e-8,-0.0023243518127423596,-3.271591879496891e-5,-2.7298653087985366e-8,-0.00232408675837698,-3.308237216229446e-5,-2.772870037338478e-8,-0.0023237183421038277,-3.341134600686158e-5,-2.8116827565107905e-8,-0.0023232834120907914,-3.365603424276712e-5,-2.8408283829963784e-8,-0.0023228315250686865,-3.379852594585868e-5,-2.8581601521190148e-8,-0.0023224081917482394,-3.384823308876176e-5,-2.8646918820079517e-8,-0.0023220447513682056,-3.3832392487888304e-5,-2.8635163154902712e-8,-0.0023217556857669294,-3.378539642682306e-5,-2.8585851446400122e-8,-0.0023215406467797794,-3.374081042009061e-5,-2.8537897313167375e-8,-0.002321388188291431,-3.3726795999537757e-5,-2.8524238705810844e-8,-0.002321279357326137,-3.376398701175925e-5,-2.8569237172436706e-8,-0.002321190580067218,-3.3864561252015965e-5,-2.8687469509032147e-8,-0.0023210960815719848,-3.403170234189584e-5,-2.8883032294239802e-8,-0.0023209703112198727,-3.425921865422195e-5,-2.9149091545929388e-8,-0.0023207907692627456,-3.453153525414017e-5,-2.9467892708359517e-8,-0.002320541348280485,-3.4824632907782434e-5,-2.9811852888919886e-8,-0.002320215787982576,-3.510859047522046e-5,-3.014647119465895e-8,-0.002319820326628823,-3.5352020534393274e-5,-3.0435397604764066e-8,-0.002319374429235887,-3.5528027890910064e-5,-3.064726176518535e-8,-0.0023189086929537852,-3.562058707993201e-5,-3.0763027321289934e-8,-0.0023184596969337903,-3.562967431567573e-5,-3.078198150000386e-8,-0.0023180625159862473,-3.557348082881343e-5,-3.072444153370548e-8,-0.0023177424037032486,-3.548664144440317e-5,-3.062992075551395e-8,-0.0023175074984734543,-3.5414226963611394e-5,-3.0550393228261676e-8,-0.0023173444808164832,-3.5402047537825155e-5,-3.053919267474974e-8,-0.002317219043515323,-3.548478675955916e-5,-3.063722510387765e-8,-0.0023170825452282313,-3.567474791693208e-5,-3.085971138660794e-8,-0.0023168847150472982,-3.595522696647335e-5,-3.118819869005432e-8,-0.0023165894160324624,-3.628263070896687e-5,-3.157275232013399e-8,-0.0023161874027681608,-3.659879209134966e-5,-3.194610912976707e-8,-0.002315699674318987,-3.6849589557777495e-5,-3.224527727736699e-8,-0.002315169322935829,-3.7001624225642415e-5,-3.2430960432418255e-8,-0.002314646199700832,-3.704960690848625e-5,-3.249625130896201e-8,-0.0023141720768090047,-3.701289220350198e-5,-3.246278529929417e-8,-0.0023137719944856,-3.692533958583261e-5,-3.2369181497699095e-8,-0.002313452787336121,-3.682436937453514e-5,-3.225850415814049e-8,-0.002313206349815514,-3.674303927821273e-5,-3.216911319350878e-8,-0.002313014513893187,-3.6705975238209506e-5,-3.21298653443614e-8,-0.002312853494672486,-3.6728114464930174e-5,-3.215852030546475e-8,-0.0023126972338266515,-3.681481612065799e-5,-3.226175333094992e-8,-0.0023125198655322456,-3.696232465768661e-5,-3.24356389814037e-8,-0.002312297893017724,-3.7158178604489365e-5,-3.266612338087536e-8,-0.0023120126639769563,-3.7381726521067834e-5,-3.292962936131338e-8,-0.002311653424383115,-3.760539504033395e-5,-3.319450237088803e-8,-0.0023112206387045776,-3.7797568417562995e-5,-3.3424282093674193e-8,-0.002310728536788081,-3.7927679776685745e-5,-3.3583518129125895e-8,-0.0023102052694704335,-3.7973269632081315e-5,-3.3645883688399196e-8,-0.002309689114953737,-3.792741024238655e-5,-3.3602769741033175e-8,-0.002309220367796046,-3.780365018678395e-5,-3.34690861984953e-8,-0.0023088306454635615,-3.763560952953059e-5,-3.328295822689161e-8,-0.0023085331437765486,-3.7470095324169245e-5,-3.30979876994702e-8,-0.0023083175552887736,-3.7355299923970754e-5,-3.296981668241202e-8,-0.0023081517291295645,-3.732774019023125e-5,-3.2941121239366296e-8,-0.0023079897002703125,-3.740204716129852e-5,-3.302971182509186e-8,-0.0023077837234663535,-3.7566599907923365e-5,-3.322321468544985e-8,-0.0023074969972720206,-3.778618699150824e-5,-3.348181192736664e-8,-0.002307113642460123,-3.801111136025596e-5,-3.374850764245679e-8,-0.002306642967714749,-3.819047303514916e-5,-3.3964389987148476e-8,-0.0023061164179579287,-3.8285780849737995e-5,-3.40844388236443e-8,-0.0023055780533455137,-3.828042081343265e-5,-3.408864550347391e-8,-0.0023050720265702773,-3.818189606197478e-5,-3.3984813393723e-8,-0.0023046316398957264,-3.801683262139339e-5,-3.3802987367837267e-8,-0.00230427334288954,-3.7821682524135505e-5,-3.358486019035794e-8,-0.0023039963644423222,-3.7633111972824855e-5,-3.337272686138091e-8,-0.002303786336992908,-3.748100255910153e-5,-3.320135317605305e-8,-0.0023036204437704402,-3.738497046118624e-5,-3.3093833427999516e-8,-0.002303472191629436,-3.735370107695463e-5,-3.306068870435814e-8,-0.002303315004370737,-3.738581151208172e-5,-3.310077586295026e-8,-0.0023031247168510474,-3.7471158388023855e-5,-3.32027746012847e-8,-0.002302881512812013,-3.759204402485969e-5,-3.334659244660564e-8,-0.002302571933303701,-3.772437161974421e-5,-3.3504698526810776e-8,-0.0023021913377570913,-3.7839318120416736e-5,-3.364401288936653e-8,-0.0023017466592312736,-3.790639624397905e-5,-3.3729365113627754e-8,-0.002301258499438132,-3.789868982799408e-5,-3.3729469251606456e-8,-0.0023007607416336475,-3.780025860121621e-5,-3.362545368835861e-8,-0.0023002955727393715,-3.761398422436507e-5,-3.341996763976326e-8,-0.002299903135206751,-3.7366095073082776e-5,-3.314251715734096e-8,-0.002299608241321281,-3.7103131944292765e-5,-3.284613208267745e-8,-0.002299409859179875,-3.687991824381861e-5,-3.259369265324991e-8,-0.002299279285932504,-3.674229260682073e-5,-3.243819215569253e-8,-0.002299168823546775,-3.6712133551511284e-5,-3.240551750739637e-8,-0.002299027108588892,-3.678121604662647e-5,-3.248721326687466e-8,-0.0022988143521173038,-3.6915489318077446e-5,-3.2645093229978927e-8,-0.0022985121434507642,-3.706652291671608e-5,-3.282408232012828e-8,-0.0022981259731840605,-3.718510344513982e-5,-3.296765596479805e-8,-0.002297681444338649,-3.723291069296564e-5,-3.3031266622567177e-8,-0.0022972163826716816,-3.7189964304819385e-5,-3.299108395567988e-8,-0.002296771289655474,-3.705699893642229e-5,-3.284699771750507e-8,-0.0022963804162048507,-3.685301926143306e-5,-3.2620069474865724e-8,-0.0022960653412444033,-3.66092080660818e-5,-3.234570517089325e-8,-0.0022958321994601843,-3.6361104881873565e-5,-3.206471491834107e-8,-0.002295672602594345,-3.6141216362085723e-5,-3.181475278986125e-8,-0.002295567237924504,-3.5973699239903435e-5,-3.162406563040041e-8,-0.0022954906243840873,-3.5871742882865936e-5,-3.150833328403298e-8,-0.002295415668514197,-3.583734289021038e-5,-3.1470303577740756e-8,-0.002295317231199662,-3.5862619387422194e-5,-3.15012747362056e-8,-0.002295174587684972,-3.593175025312556e-5,-3.158334026307848e-8,-0.0022949731503511582,-3.6022919077861825e-5,-3.169165951737354e-8,-0.0022947059593891967,-3.6110200777476796e-5,-3.1796616976641045e-8,-0.0022943752972072132,-3.616576445549112e-5,-3.186629056886203e-8,-0.002293994395917849,-3.616308491839482e-5,-3.1870055583428156e-8,-0.0022935884913046806,-3.608188698839053e-5,-3.1784218012190775e-8,-0.002293193570220022,-3.591490428985524e-5,-3.159981966187581e-8,-0.002292850700555697,-3.567488665407547e-5,-3.1330816136700846e-8,-0.0022925949121289655,-3.539799888834784e-5,-3.101814903088958e-8,-0.002292441079759657,-3.5138654460845667e-5,-3.072396888884776e-8,-0.0022923737482313526,-3.495377210004042e-5,-3.051367324612897e-8,-0.0022923487357085484,-3.4881645478195986e-5,-3.043169702193616e-8,-0.0022923082878944408,-3.492651926994169e-5,-3.048374540670587e-8,-0.0022922023645509603,-3.5057777584302726e-5,-3.063565736187704e-8,-0.002292004823110608,-3.522321745129158e-5,-3.0828335408719365e-8,-0.002291718031987991,-3.536782916311345e-5,-3.099901295008251e-8,-0.0022913672330241424,-3.544908418763723e-5,-3.109866179650461e-8,-0.002290990059070643,-3.544468044302114e-5,-3.1100956371175926e-8,-0.0022906260283061795,-3.535334262818601e-5,-3.1003445892457103e-8,-0.0022903084934227853,-3.5191150650947184e-5,-3.082366001102285e-8,-0.002290059645962504,-3.4985740590012e-5,-3.059271116004469e-8,-0.002289888308889336,-3.476990829758171e-5,-3.034806608016834e-8,-0.002289790112933232,-3.457553303386381e-5,-3.0126527996035566e-8,-0.0022897496397346197,-3.442855427528838e-5,-2.995832382862933e-8,-0.002289743927638933,-3.434557978525591e-5,-2.986303752963534e-8,-0.002289746588173612,-3.433235628935457e-5,-2.984772570762622e-8,-0.002289731806192985,-3.438399705495003e-5,-2.9907130752155833e-8,-0.0022896776371395563,-3.448658144544781e-5,-3.0025539997263514e-8,-0.002289568333240068,-3.4619516180843974e-5,-3.0179546880832127e-8,-0.002289395830989697,-3.47581192864351e-5,-3.034104020878307e-8,-0.0022891606980330746,-3.487624615385044e-5,-3.048017863245395e-8,-0.0022888727561433233,-3.494909690242651e-5,-3.0568516096956604e-8,-0.0022885513883073552,-3.4956571873741554e-5,-3.058275352336701e-8,-0.002288225022291335,-3.4887629910986334e-5,-3.050971134872694e-8,-0.0022879285346280604,-3.474558680788467e-5,-3.0352495822772635e-8,-0.002287697014005668,-3.4552914595581084e-5,-3.013619110840197e-8,-0.002287555258528512,-3.4352264826514714e-5,-2.990924381258495e-8,-0.002287505296293813,-3.419939650252042e-5,-2.9735499630763315e-8,-0.0022875185392014596,-3.414608973943245e-5,-2.9674650423240414e-8,-0.002287540654767576,-3.421841512072958e-5,-2.975725826269698e-8,-0.0022875109191809696,-3.44028369555647e-5,-2.9968681291149824e-8,-0.0022873866431173677,-3.4650463730046105e-5,-3.025373403994287e-8,-0.002287158332342123,-3.489747604808045e-5,-3.05398504214709e-8,-0.0022868484445149025,-3.5088852879194874e-5,-3.076405861695239e-8,-0.0022864982748903593,-3.519317267669936e-5,-3.0889870385194194e-8,-0.002286152562989151,-3.520525313625685e-5,-3.091044534452543e-8,-0.002285848351995372,-3.514064936767193e-5,-3.084259232463975e-8,-0.0022856095545583004,-3.5027359972136336e-5,-3.071759518882632e-8,-0.0022854458582351883,-3.4898128170332654e-5,-3.057260162184731e-8,-0.00228535406658743,-3.4784542000901826e-5,-3.0443888195242704e-8,-0.0022853205545476122,-3.471284955278595e-5,-3.0361936066289834e-8,-0.0022853242782383083,-3.4701131164836125e-5,-3.034799776992067e-8,-0.0022853401172956323,-3.475768108400181e-5,-3.0412079618106474e-8,-0.0022853423369857883,-3.488055943683937e-5,-3.055234935450222e-8,-0.0022853079331452636,-3.505829657473036e-5,-3.075595068991225e-8,-0.002285219540357508,-3.5271714452898415e-5,-3.1001145596984345e-8,-0.0022850675526555806,-3.5496617417606936e-5,-3.12604400979373e-8,-0.0022848513167228906,-3.5706935033342264e-5,-3.150417106161792e-8,-0.0022845794630886704,-3.587803665272236e-5,-3.170422273669897e-8,-0.0022842694256383967,-3.599011192601114e-5,-3.183778648177624e-8,-0.00228394612191299,-3.6031573527607656e-5,-3.1891182357691236e-8,-0.002283639559272516,-3.6002497987339216e-5,-3.1863829412209876e-8,-0.0022833807000028155,-3.591781523569677e-5,-3.17720571397393e-8,-0.002283194835117489,-3.580895633737797e-5,-3.1651234007313374e-8,-0.0022830926687873554,-3.572151453512309e-5,-3.155331255203707e-8,-0.0022830615120185546,-3.57062013456485e-5,-3.1536574359696766e-8,-0.002283061910144253,-3.5802515052971905e-5,-3.1646865496677e-8,-0.0022830358716624693,-3.602024681505544e-5,-3.1896238479571526e-8,-0.002282927452508825,-3.6329876875859376e-5,-3.2251745516056244e-8,-0.0022827062816265977,-3.667107036558002e-5,-3.264498114105585e-8,-0.0022823796709535715,-3.697658131461953e-5,-3.299928501542816e-8,-0.0022819864232603475,-3.719735460090399e-5,-3.325834215160285e-8,-0.0022815785791103415,-3.731532145924846e-5,-3.340080377913226e-8,-0.0022812032084957965,-3.734128205682896e-5,-3.3438034270071183e-8,-0.002280891871937716,-3.7304369843453694e-5,-3.3402379181189025e-8,-0.00228065814223643,-3.724061603780327e-5,-3.333439792808469e-8,-0.0022805000038872204,-3.718451764462349e-5,-3.327337443004344e-8,-0.0022804039844390635,-3.7164175330215406e-5,-3.325171023981485e-8,-0.002280349211641098,-3.7198996010101034e-5,-3.3292116454290506e-8,-0.0022803108906574855,-3.729879835377055e-5,-3.3406389414515064e-8,-0.002280263357184188,-3.746369139111816e-5,-3.359514042205903e-8,-0.0022801829142725643,-3.76845561343038e-5,-3.3848312986735143e-8,-0.0022800505440541212,-3.794419075362827e-5,-3.4146529008746734e-8,-0.002279854394613768,-3.821932509749697e-5,-3.446344080378021e-8,-0.002279591667380771,-3.8483592197162534e-5,-3.4769134737453335e-8,-0.0022792694769532365,-3.8711202674219674e-5,-3.503427192200282e-8,-0.002278904453787725,-3.888090559245803e-5,-3.523451107453436e-8,-0.002278520994022731,-3.897981593858639e-5,-3.5354790439935546e-8,-0.0022781481387727765,-3.900661067575245e-5,-3.539296714173588e-8,-0.002277815196272408,-3.897358681368924e-5,-3.536228182941742e-8,-0.0022775462453310945,-3.8907078916294634e-5,-3.5292063500544346e-8,-0.0022773537578315915,-3.88453723888866e-5,-3.5225611058902015e-8,-0.0022772323066882973,-3.88328268780596e-5,-3.5213664861948535e-8,-0.002277154719218136,-3.89093864059176e-5,-3.5302432695555914e-8,-0.002277074301351357,-3.909671606337604e-5,-3.551757119061668e-8,-0.0022769361938568297,-3.93858582620144e-5,-3.584980135264396e-8,-0.0022766965332619883,-3.9734321357865546e-5,-3.625133407898208e-8,-0.002276341115211891,-4.007817531691193e-5,-3.664954907985626e-8,-0.0022758922917568173,-4.035551223226274e-5,-3.697373201351628e-8,-0.0022753992488523085,-4.0528709716748785e-5,-3.7180470529775404e-8,-0.0022749180581077707,-4.059371095721217e-5,-3.726429156698758e-8,-0.0022744933359550488,-4.057442247318822e-5,-3.7251455930854735e-8,-0.0022741491150162865,-4.0509294110553696e-5,-3.718495011122612e-8,-0.0022738888817427747,-4.043836498717976e-5,-3.7109976390399145e-8,-0.0022737006122365193,-4.0394935220934196e-5,-3.706454561541384e-8,-0.0022735628534328385,-4.0401953921682715e-5,-3.7075254422409025e-8,-0.0022734497848497666,-4.047142453162688e-5,-3.7156399239620105e-8,-0.0022733348583905645,-4.060512607912676e-5,-3.731060746631049e-8,-0.0022731934580261463,-4.0795705115488924e-5,-3.752998308750005e-8,-0.00227300512552994,-4.102789765037355e-5,-3.7797496246937914e-8,-0.0022727556876095496,-4.128004247365327e-5,-3.808875005360056e-8,-0.002272439315133133,-4.152626986166031e-5,-3.837450044928072e-8,-0.0022720601389120266,-4.173970137526162e-5,-3.862427282168575e-8,-0.0022716327599983676,-4.1896595491755895e-5,-3.8811002059216745e-8,-0.0022711810539608945,-4.1980908267824755e-5,-3.8916135263443654e-8,-0.00227073496835204,-4.1988409487146426e-5,-3.8934279948754235e-8,-0.002270325441507122,-4.192927899551331e-5,-3.8876227340469446e-8,-0.002269978122215947,-4.1828177158028644e-5,-3.8769219119330844e-8,-0.00226970702629286,-4.172123601459589e-5,-3.865378498185866e-8,-0.0022695094556672577,-4.1649926366732944e-5,-3.857700174244831e-8,-0.002269363629343624,-4.165219466353312e-5,-3.858250738357373e-8,-0.0022692306298698933,-4.175204263636338e-5,-3.869853604806306e-8,-0.0022690619905320303,-4.195007217268219e-5,-3.892687238355782e-8,-0.0022688127656313537,-4.22189359377569e-5,-3.923733305382498e-8,-0.0022684568851602466,-4.2507766167857475e-5,-3.9572560430991624e-8,-0.002267998326091102,-4.275672312180571e-5,-3.986449700076138e-8,-0.0022674714734245843,-4.291695195769548e-5,-4.005713795935709e-8,-0.0022669291597497737,-4.296662160132691e-5,-4.012487438155247e-8,-0.0022664242564903914,-4.2915295188340505e-5,-4.007760659904807e-8,-0.0022659940652150863,-4.279611123618072e-5,-3.995206908990567e-8,-0.002265653503930502,-4.265191244855833e-5,-3.979631362883339e-8,-0.0022653969340296893,-4.252261313043785e-5,-3.965552378432056e-8,-0.0022652046236925952,-4.243769493960012e-5,-3.95634861733223e-8,-0.002265049794477369,-4.241380155046763e-5,-3.9539697044729416e-8,-0.0022649041082798216,-4.245547864330964e-5,-3.9589986428501323e-8,-0.00226474124918325,-4.255711975844435e-5,-3.970856627954339e-8,-0.0022645391613217362,-4.270500455743162e-5,-3.988028806109427e-8,-0.0022642816799547678,-4.287910780361013e-5,-4.008272167427198e-8,-0.002263960087918555,-4.3054900809357125e-5,-4.028824466566982e-8,-0.002263574719130994,-4.320567695985923e-5,-4.0466687322319195e-8,-0.0022631362204558894,-4.330590165289405e-5,-4.058908270551296e-8,-0.0022626656639188536,-4.3335670173572484e-5,-4.063264302083518e-8,-0.0022621925719040524,-4.328569846595285e-5,-4.0586363627982455e-8,-0.0022617502460647106,-4.316153538197371e-5,-4.045582192050501e-8,-0.0022613686905826485,-4.298517863381172e-5,-4.02651379123331e-8,-0.002261066659628733,-4.279254577136207e-5,-4.0054328367112326e-8,-0.002260845254738966,-4.2626492298289355e-5,-3.9871642378719045e-8,-0.002260685452234943,-4.252671070386968e-5,-3.976228848354713e-8,-0.0022605509404802003,-4.251909481418603e-5,-3.9756384567982686e-8,-0.002260396131472639,-4.260760900980759e-5,-3.985954021720435e-8,-0.002260177694963087,-4.277131989594658e-5,-4.004914789052283e-8,-0.002259866766101412,-4.2968166060102e-5,-4.027830918497738e-8,-0.002259458210637815,-4.3145372744970057e-5,-4.048742944540769e-8,-0.0022589733613924707,-4.3254145791464096e-5,-4.062085419440258e-8,-0.002258454294531585,-4.326392054614321e-5,-4.064315339359069e-8,-0.0022579511436190353,-4.3170655978861896e-5,-4.0548734377790825e-8,-0.0022575073922757242,-4.2995916330466316e-5,-4.036104128218041e-8,-0.0022571489718927946,-4.2777865460527206e-5,-4.012258232791228e-8,-0.0022568805697357453,-4.255884861731508e-5,-3.988102778980891e-8,-0.0022566887016491335,-4.2374725671374876e-5,-3.967716426716014e-8,-0.002256548444902981,-4.2248875604791526e-5,-3.953799287615894e-8,-0.002256430457477919,-4.2190877177150564e-5,-3.9475031093020603e-8,-0.0022563063262742698,-4.219814048656945e-5,-3.9485967035225393e-8,-0.0022561518892659908,-4.225864272457631e-5,-3.9557654446514965e-8,-0.0022559490620141626,-4.235363463796422e-5,-3.9669178707093105e-8,-0.0022556869196150115,-4.245992921932744e-5,-3.9794503964805914e-8,-0.002255362650026142,-4.2551960746738174e-5,-3.990484416493067e-8,-0.00225498259128279,-4.260418776905965e-5,-3.9971363026047316e-8,-0.0022545629951551973,-4.259443556510106e-5,-3.996888136177645e-8,-0.002254129647814144,-4.2508371758274345e-5,-3.988086135327218e-8,-0.0022537151993712646,-4.234455193159232e-5,-3.970509132900266e-8,-0.00225335330209883,-4.2118407480589275e-5,-3.9458268320626675e-8,-0.0022530698916637996,-4.186263655252896e-5,-3.917660732834667e-8,-0.0022528740190121094,-4.162180095563857e-5,-3.8909958155369906e-8,-0.002252752217450626,-4.1441201489894646e-5,-3.870944411348118e-8,-0.0022526698614514173,-4.1353325375690816e-5,-3.861225482382609e-8,-0.0022525801000990234,-4.136713774543938e-5,-3.862947201208333e-8,-0.0022524373733573866,-4.146464933767827e-5,-3.8741929345072135e-8,-0.002252210525373519,-4.1605994325611274e-5,-3.89055852814104e-8,-0.0022518911377591767,-4.1740803405337114e-5,-3.906405012373955e-8,-0.0022514949999607,-4.182182996698903e-5,-3.9163825942864726e-8,-0.0022510569958787445,-4.181681135790668e-5,-3.916776403591502e-8,-0.002250621342141275,-4.171557236139564e-5,-3.906331946104076e-8,-0.0022502301294550285,-4.15308425955026e-5,-3.886378396708598e-8,-0.002249913449319389,-4.129306958437996e-5,-3.860271679338941e-8,-0.002249683726453224,-4.104130530740587e-5,-3.832383998911728e-8,-0.002249535283975047,-4.0813295369522146e-5,-3.8069884935159855e-8,-0.0022494483048860476,-4.0637702512655366e-5,-3.787370255806774e-8,-0.002249395075586441,-4.053008747505458e-5,-3.775352485809548e-8,-0.002249346228387429,-4.049258564563083e-5,-3.771239510768213e-8,-0.0022492755010270257,-4.0516052192387256e-5,-3.774046242612261e-8,-0.0022491626277783426,-4.058321264511812e-5,-3.7818520580070174e-8,-0.0022489947436900195,-4.0671780343274614e-5,-3.7921589641568395e-8,-0.002248766957445944,-4.075711343877572e-5,-3.8021986797907276e-8,-0.0022484826632076446,-4.081452585563666e-5,-3.8091951714669235e-8,-0.002248153838048646,-4.0821728247974105e-5,-3.8106341905870566e-8,-0.002247801079960905,-4.076195151424849e-5,-3.804605949402225e-8,-0.002247452593148405,-4.0628012018448585e-5,-3.790257146744856e-8,-0.0022471409301629466,-4.042682459236734e-5,-3.768302732502345e-8,-0.00224689646765886,-4.018263561138499e-5,-3.7414039313886286e-8,-0.0022467379334867687,-3.993603737751534e-5,-3.71407722402369e-8,-0.0022466629330224067,-3.973603731085064e-5,-3.6918205817805125e-8,-0.0022466437937668942,-3.962548372148706e-5,-3.679484541297912e-8,-0.0022466332626418345,-3.962510713746668e-5,-3.679475135912498e-8,-0.0022465795112438054,-3.972433968955547e-5,-3.690704831574807e-8,-0.002246443844399572,-3.988431149987231e-5,-3.7089012125681974e-8,-0.0022462127331009103,-4.005144641550452e-5,-3.728104124941213e-8,-0.002245899726127667,-4.017461828870116e-5,-3.742571513024981e-8,-0.0022455385610210964,-4.021870065905526e-5,-3.7482979092119534e-8,-0.002245171991501091,-4.017101257208119e-5,-3.743755699529912e-8,-0.0022448406857828573,-4.0040872064166135e-5,-3.729877117661851e-8,-0.002244574842630709,-3.985434389103751e-5,-3.709499167218068e-8,-0.00224438953153147,-3.964658315948225e-5,-3.6865281132306804e-8,-0.002244283739282433,-3.9453769098646514e-5,-3.6650395806950313e-8,-0.0022442425786291715,-3.9306138580895836e-5,-3.648483998275852e-8,-0.0022442417262513318,-3.9223235736532204e-5,-3.639130046745756e-8,-0.002244252825270072,-3.921193238763609e-5,-3.637818766334322e-8,-0.002244248580715095,-3.926701981343953e-5,-3.6440147045714485e-8,-0.002244206665010873,-3.9373614587264704e-5,-3.656072898333406e-8,-0.0022441120851505714,-3.9510449394149734e-5,-3.671615220159067e-8,-0.002243958158082218,-3.9653224799783987e-5,-3.687916687487293e-8,-0.002243746569982561,-3.977754481038861e-5,-3.702240992509356e-8,-0.0022434870012997396,-3.986143852984975e-5,-3.7121211995940224e-8,-0.002243196539261886,-3.9887788360821346e-5,-3.715623183345602e-8,-0.002242898748955786,-3.984704324325663e-5,-3.711640914072695e-8,-0.0022426218280860106,-3.974042123909537e-5,-3.7002547544910815e-8,-0.0022423948446182447,-3.9583186860967147e-5,-3.683110598566761e-8,-0.002242241179018976,-3.940641160112801e-5,-3.663638469156625e-8,-0.00224216956598242,-3.925442123747653e-5,-3.646787712775838e-8,-0.002242165743912653,-3.917522022806908e-5,-3.63796461283401e-8,-0.0022421904430927637,-3.92042809462743e-5,-3.641210968875951e-8,-0.0022421888363345576,-3.934800163595166e-5,-3.657333079382851e-8,-0.0022421101287026773,-3.957707112540881e-5,-3.683135600408295e-8,-0.0022419276065207064,-3.983591431005777e-5,-3.712457446970693e-8,-0.0022416477393448642,-4.0063753426798325e-5,-3.73851192566621e-8,-0.0022413045475564155,-4.0215340963561835e-5,-3.7561970560884604e-8,-0.0022409449338205603,-4.0271819274777205e-5,-3.7633148529958066e-8,-0.0022406136872176463,-4.0240309319839884e-5,-3.7605480019251675e-8,-0.002240343470877864,-4.0146522531138636e-5,-3.750668536605433e-8,-0.002240150677565745,-4.002533269708593e-5,-3.7375157741474976e-8,-0.002240035711440105,-3.991240818250783e-5,-3.725076167766338e-8,-0.002239985804253139,-3.9838071993125945e-5,-3.7167903625866e-8,-0.0022399789880449567,-3.9823368021104823e-5,-3.715090319780558e-8,-0.0022399885175577506,-3.9878050065343086e-5,-3.721146830451135e-8,-0.002239987272940578,-4.000036042511323e-5,-3.734824122526935e-8,-0.0022399516443405575,-4.017838712946535e-5,-3.7548239619326853e-8,-0.002239864499431365,-4.0392596449678075e-5,-3.778973496167977e-8,-0.0022397169957782525,-4.061908331716644e-5,-3.804599535317224e-8,-0.002239509163109704,-4.083302738834809e-5,-3.828923970936112e-8,-0.00223924945058436,-4.101186342286681e-5,-3.8494196874711744e-8,-0.002238953599371396,-4.113797301515876e-5,-3.8641048926455915e-8,-0.0022386430618668383,-4.120100796303263e-5,-3.871793082545036e-8,-0.002238342944066297,-4.1200001151770064e-5,-3.872324181388282e-8,-0.0022380791839847307,-4.114530686782865e-5,-3.866788607866194e-8,-0.002237874380510262,-4.1060002066053976e-5,-3.857703907310176e-8,-0.00223774180926945,-4.097948394853225e-5,-3.848995354296783e-8,-0.00223767825635013,-4.094712480839855e-5,-3.845528558322179e-8,-0.002237658399419641,-4.1004061797862145e-5,-3.851967858482813e-8,-0.0022376356888406273,-4.11738325963669e-5,-3.8710382858211906e-8,-0.0022375542283195344,-4.144791944811161e-5,-3.9018797372337954e-8,-0.002237369976256706,-4.178239537910177e-5,-3.939648342269923e-8,-0.0022370705865857117,-4.211192540677199e-5,-3.97707040733493e-8,-0.002236681021205403,-4.237528136520402e-5,-4.0072894403993155e-8,-0.0022362515136581293,-4.2537390808246587e-5,-4.026326754963274e-8,-0.0022358368811051695,-4.2596592517748946e-5,-4.033897314519272e-8,-0.002235479455892738,-4.257760540665977e-5,-4.032647668471118e-8,-0.0022352014732815342,-4.251839568376904e-5,-4.026725325138652e-8,-0.0022350055128588357,-4.245824814262653e-5,-4.0204769494537755e-8,-0.002234879072292001,-4.2429981973685345e-5,-4.017588031994506e-8,-0.002234800143287794,-4.245617891594765e-5,-4.020647152992803e-8,-0.0022347421748675988,-4.254810062132713e-5,-4.030997076660549e-8,-0.002234678089860464,-4.2706022024608e-5,-4.04874490318804e-8,-0.002234583596800719,-4.292040013149177e-5,-4.072877100486095e-8,-0.0022344399196055193,-4.3173776366831664e-5,-4.101470592062815e-8,-0.002234235865992565,-4.344333894544913e-5,-4.13198704377615e-8,-0.002233969089473579,-4.370403283753067e-5,-4.1616299339581775e-8,-0.0022336463289874286,-4.393200590097062e-5,-4.1877337327494744e-8,-0.002233282501130823,-4.410796757286399e-5,-4.2081351239347404e-8,-0.0022328987863395795,-4.422003807868895e-5,-4.2214822045642e-8,-0.0022325199496675764,-4.426587777665794e-5,-4.227465236873269e-8,-0.0022321710530385326,-4.4253972215963034e-5,-4.226962591744968e-8,-0.0022318736432929433,-4.420392191805795e-5,-4.2220888713159193e-8,-0.0022316414113256896,-4.414545555348796e-5,-4.216110347774086e-8,-0.0022314754270215662,-4.4115440270257426e-5,-4.213136166132721e-8,-0.002231359823442391,-4.415175418461966e-5,-4.217445054382591e-8,-0.0022312601532689185,-4.4283382554984865e-5,-4.232367827957026e-8,-0.002231127767120565,-4.4518168017474204e-5,-4.258888372588604e-8,-0.0022309127621388284,-4.483326721123653e-5,-4.2945429863533486e-8,-0.0022305832777618443,-4.5176107345948044e-5,-4.33350641470657e-8,-0.0022301417812274774,-4.548042189951665e-5,-4.3683804639003184e-8,-0.00222962696006888,-4.5691654474732635e-5,-4.3930355472978606e-8,-0.0022290982784922498,-4.578732224176004e-5,-4.404886114752745e-8,-0.0022286126995498105,-4.578096414425489e-5,-4.405337631430236e-8,-0.002228207126679372,-4.571064953482692e-5,-4.39852734699268e-8,-0.002227893056699919,-4.562206961243283e-5,-4.38947320909112e-8,-0.002227660846567752,-4.555526540573994e-5,-4.382620421038141e-8,-0.002227487702103169,-4.55379758899719e-5,-4.381102028222137e-8,-0.0022273451775774154,-4.558426004228901e-5,-4.386564409422788e-8,-0.0022272045720067527,-4.569590592468164e-5,-4.39929402649985e-8,-0.002227040330898362,-4.586469098944103e-5,-4.418444952301841e-8,-0.0022268322499077128,-4.607464729273845e-5,-4.4422813065954085e-8,-0.0022265671012077232,-4.6304319138032545e-5,-4.46843227290974e-8,-0.002226239866699384,-4.65292374402582e-5,-4.4941773047288794e-8,-0.002225854484890745,-4.6724799757426735e-5,-4.51677431041688e-8,-0.0022254237956320375,-4.6869601410910074e-5,-4.5338309138385286e-8,-0.002224968272659459,-4.694890763075256e-5,-4.543684582222292e-8,-0.002224513374267207,-4.695764552052053e-5,-4.545727907051517e-8,-0.0022240857042466885,-4.690227807341315e-5,-4.5406156340506795e-8,-0.0022237084214524207,-4.680103654287797e-5,-4.530300679993751e-8,-0.002223396530534961,-4.668216756519775e-5,-4.517860947561035e-8,-0.002223152787249789,-4.658014304122351e-5,-4.507104168252101e-8,-0.002222964935742375,-4.652995213290346e-5,-4.501951893274435e-8,-0.002222805166025817,-4.655966574712351e-5,-4.505611999008108e-8,-0.0022226330833182246,-4.6682000764129616e-5,-4.519616588800026e-8,-0.002222403496610867,-4.6886909508180545e-5,-4.542958762812166e-8,-0.002222079087811143,-4.7138819175493126e-5,-4.571749442657403e-8,-0.0022216449448798823,-4.738267384694757e-5,-4.59987335824701e-8,-0.002221118171827722,-4.7560111136303446e-5,-4.620795613858712e-8,-0.002220545312392466,-4.763048075773373e-5,-4.629917145710085e-8,-0.002219986393474025,-4.758588464850228e-5,-4.626262271116031e-8,-0.002219493466999461,-4.745169161788492e-5,-4.612549476134362e-8,-0.0022190950899372997,-4.727349057060608e-5,-4.5937616176018814e-8,-0.0022187928437108866,-4.709946526084481e-5,-4.575211981967887e-8,-0.0022185676608473866,-4.6967148258508964e-5,-4.561086581454774e-8,-0.0022183897340214403,-4.6897877865561347e-5,-4.5538205382200175e-8,-0.002218227112864587,-4.689730372738356e-5,-4.55412865670691e-8,-0.0022180511931498754,-4.6958726789225835e-5,-4.5613476972552826e-8,-0.002217839478448058,-4.706684563405332e-5,-4.573834204511953e-8,-0.002217576767892167,-4.720088385532349e-5,-4.5893088802846886e-8,-0.0022172557391592737,-4.7337099909682e-5,-4.605143273264397e-8,-0.0022168773700565656,-4.74510906017821e-5,-4.6186255635813826e-8,-0.0022164511799183666,-4.752034046529439e-5,-4.627248139736567e-8,-0.002215994899699834,-4.7527295848164124e-5,-4.629045712510837e-8,-0.002215532947978386,-4.746279506796771e-5,-4.622968509992351e-8,-0.0022150932151455763,-4.732912349998839e-5,-4.60921625117704e-8,-0.0022147021652644183,-4.714160221841957e-5,-4.589418230010463e-8,-0.002214378969883185,-4.692762570971198e-5,-4.566542228593394e-8,-0.0022141300645164186,-4.672255695780222e-5,-4.544463178449744e-8,-0.0022139458137362612,-4.6562850713633075e-5,-4.52722393117001e-8,-0.00221380060967952,-4.64777591528412e-5,-4.518126383051442e-8,-0.0022136569173281237,-4.648149783906708e-5,-4.518852648490155e-8,-0.0022134729343128413,-4.65678409922886e-5,-4.5288350736913463e-8,-0.002213212730213477,-4.670898079689068e-5,-4.545089717714251e-8,-0.002212856797894262,-4.686004182357243e-5,-4.562684735817594e-8,-0.0022124099074522273,-4.6969555866714336e-5,-4.575890861717408e-8,-0.0022119026018825377,-4.699407898397332e-5,-4.579813949784263e-8,-0.0022113839010346006,-4.691226389953383e-5,-4.5719800103478644e-8,-0.0022109065487812933,-4.673212611187127e-5,-4.553166994833471e-8,-0.0022105106421530336,-4.6487513953655795e-5,-4.52703652159344e-8,-0.002210212924897253,-4.622545023671105e-5,-4.498750033432147e-8,-0.0022100056515220326,-4.599082657138239e-5,-4.4732842639896e-8,-0.0022098634270506174,-4.58151562763414e-5,-4.454182124988341e-8,-0.002209753114187779,-4.5712337116466916e-5,-4.4430643000829475e-8,-0.0022096423610802776,-4.568024895658921e-5,-4.439779129857697e-8,-0.0022095048224221024,-4.570516696428774e-5,-4.4428692789315846e-8,-0.0022093223580628898,-4.576643434562114e-5,-4.45008081941231e-8,-0.0022090854104389146,-4.5840198863217866e-5,-4.458782308690369e-8,-0.002208792684048753,-4.590211841998753e-5,-4.4662757683266604e-8,-0.002208450773065764,-4.592949249699432e-5,-4.470041059236587e-8,-0.0022080738356743857,-4.590342965342051e-5,-4.467976024450722e-8,-0.0022076829208446235,-4.581149511652582e-5,-4.45868263584567e-8,-0.0022073042325302127,-4.565081152181556e-5,-4.441802397944935e-8,-0.002206965605216999,-4.5430915166275075e-5,-4.418331181075295e-8,-0.0022066909305378285,-4.51749843519472e-5,-4.390764665471133e-8,-0.0022064933389565914,-4.49177448738443e-5,-4.3628860219709356e-8,-0.0022063692939843756,-4.469903269899099e-5,-4.339076928750656e-8,-0.002206296459441618,-4.455384182826084e-5,-4.323234070924075e-8,-0.002206237344690818,-4.450182876565845e-5,-4.317610450389361e-8,-0.002206148437110928,-4.454022855258338e-5,-4.322014158498983e-8,-0.0022059920678573607,-4.464314996140854e-5,-4.333696738013364e-8,-0.002205747078655037,-4.47677698551155e-5,-4.3480006469238615e-8,-0.0022054149560458707,-4.4865453971987394e-5,-4.359562672668298e-8,-0.0022050197778874484,-4.4894469310904836e-5,-4.363714563703815e-8,-0.002204602080350687,-4.483081733338681e-5,-4.357698088947024e-8,-0.0022042082496701748,-4.4674256976108435e-5,-4.34136267011671e-8,-0.002203878355963061,-4.444767502332483e-5,-4.317130450908105e-8,-0.002203636131830214,-4.418988337579432e-5,-4.289227455216706e-8,-0.0022034842767954172,-4.3944313012475434e-5,-4.2624468807672645e-8,-0.0022034062225738905,-4.374765150444576e-5,-4.240888990786396e-8,-0.0022033728732570334,-4.362214656382595e-5,-4.22709113039624e-8,-0.0022033511472193176,-4.357325021474196e-5,-4.2217405326860426e-8,-0.002203311259278957,-4.359184072021775e-5,-4.2238963148967383e-8,-0.002203231161403219,-4.365884984553331e-5,-4.2314893940482235e-8,-0.0022030981896355236,-4.37501815219e-5,-4.241868804084055e-8,-0.0022029088590102435,-4.3840715442687394e-5,-4.252255845087228e-8,-0.002202667855443351,-4.390713159132299e-5,-4.2600676139939876e-8,-0.0022023869397814195,-4.392991328620103e-5,-4.263141972686281e-8,-0.002202083971331653,-4.389514078579005e-5,-4.259929970541784e-8,-0.0022017817509400405,-4.3796571313615305e-5,-4.2497155377534966e-8,-0.002201506019114991,-4.363807773550661e-5,-4.232878802184368e-8,-0.002201281829056389,-4.3435865519477696e-5,-4.211145676298463e-8,-0.0022011278651603286,-4.321905966755535e-5,-4.187668985882363e-8,-0.002201049428771376,-4.3026635343832115e-5,-4.166711799444936e-8,-0.0022010326564595945,-4.2899212226683795e-5,-4.1527605488542144e-8,-0.0022010438605880736,-4.2866701401245325e-5,-4.149168981230639e-8,-0.002201036815050561,-4.2936311524374124e-5,-4.156826007306663e-8,-0.0022009668005209242,-4.3087189621691026e-5,-4.1735408849570453e-8,-0.002200805687849186,-4.3275540935940235e-5,-4.194576010041846e-8,-0.0022005511147673534,-4.344845205145683e-5,-4.214141087930924e-8,-0.0022002261579351164,-4.356010243054483e-5,-4.2271627325288035e-8,-0.0021998709471877614,-4.3583870411128616e-5,-4.230621553318354e-8,-0.0021995306329296136,-4.351713167905666e-5,-4.2241049980976345e-8,-0.002199244012936336,-4.337907539302264e-5,-4.209604395428574e-8,-0.0021990354974688524,-4.3203716761038325e-5,-4.190782352683438e-8,-0.0021989114882803953,-4.303068697336216e-5,-4.1719808660383815e-8,-0.0021988611198272934,-4.2896143039547516e-5,-4.157220587465444e-8,-0.002198860529686386,-4.28256834219112e-5,-4.149400848221767e-8,-0.0021988792290551736,-4.283052362484336e-5,-4.149848437908441e-8,-0.0021988868020958604,-4.290728558961128e-5,-4.158266825085552e-8,-0.002198858332636107,-4.30407374421635e-5,-4.1730227888167276e-8,-0.0021987776559889718,-4.320815607531913e-5,-4.191627227789234e-8,-0.0021986383828306827,-4.338394252488224e-5,-4.211255171468341e-8,-0.0021984432617016725,-4.354352417484422e-5,-4.229189520363366e-8,-0.0021982026851288055,-4.366616419637895e-5,-4.243138177200893e-8,-0.002197932987833362,-4.373685585806035e-5,-4.2514400830429825e-8,-0.0021976547873646343,-4.374776948947891e-5,-4.2532145447490745e-8,-0.0021973912163822202,-4.3699666494011446e-5,-4.248507449934088e-8,-0.002197165565964018,-4.360339553726757e-5,-4.238455982416569e-8,-0.0021969976661542537,-4.348102472191013e-5,-4.2254266098886135e-8,-0.0021968986060033643,-4.3365344851824027e-5,-4.212983081364773e-8,-0.002196864488916266,-4.329582521635688e-5,-4.205462845468875e-8,-0.00219687177106506,-4.330950164594914e-5,-4.206983298743024e-8,-0.0021968783763478264,-4.342774012978813e-5,-4.219976819299261e-8,-0.002196833942465688,-4.364410781791684e-5,-4.2438344229764724e-8,-0.0021966974953614438,-4.392134829558463e-5,-4.274547229078794e-8,-0.0021964542822063117,-4.420215324008212e-5,-4.305868573313644e-8,-0.002196122004749595,-4.4429633911088055e-5,-4.3315482134634745e-8,-0.002195743141195934,-4.456667055575025e-5,-4.3474511881865136e-8,-0.0021953688213683063,-4.460502832877005e-5,-4.352567029416044e-8,-0.0021950430896256865,-4.456276883725236e-5,-4.34875261233581e-8,-0.00219479325103675,-4.447456387533459e-5,-4.339707996174946e-8,-0.0021946271302473947,-4.4380500039176534e-5,-4.329781770575668e-8,-0.0021945353071144784,-4.43168589575551e-5,-4.322972528487527e-8,-0.0021944959560133495,-4.4310062852754164e-5,-4.322252177775724e-8,-0.002194480563537203,-4.4373660852183527e-5,-4.32920524953864e-8,-0.0021944595227321863,-4.450786864707432e-5,-4.343945466521452e-8,-0.0021944069506842096,-4.4701191951449525e-5,-4.36527150890374e-8,-0.0021943042180325003,-4.49335617950116e-5,-4.391005375463803e-8,-0.002194141906377647,-4.518027077748843e-5,-4.4184332052663467e-8,-0.0021939201779301136,-4.5416019876788224e-5,-4.444764386522221e-8,-0.002193647790767406,-4.561847347713716e-5,-4.4675332295713537e-8,-0.0021933402416158846,-4.5770915859345256e-5,-4.484892453692752e-8,-0.00219301755709073,-4.586399243241319e-5,-4.495797173896476e-8,-0.0021927019881854267,-4.589680376520009e-5,-4.50011490514789e-8,-0.002192415581968075,-4.587758677189852e-5,-4.498696354861374e-8,-0.002192177416627541,-4.582404354917942e-5,-4.493420418458068e-8,-0.0021920001056428633,-4.576302032079154e-5,-4.487180284605771e-8,-0.0021918853630141493,-4.5728554041258204e-5,-4.483694086387648e-8,-0.0021918193971149852,-4.575678790110061e-5,-4.486962210563871e-8,-0.0021917704552939657,-4.5876737000029106e-5,-4.500249145208053e-8,-0.0021916921793231213,-4.609805171784536e-5,-4.524715951212536e-8,-0.002191535722030832,-4.640085504307758e-5,-4.558273256144663e-8,-0.002191268622527711,-4.673572239421093e-5,-4.5955562378608346e-8,-0.0021908911531643392,-4.703860588774864e-5,-4.6295536372601254e-8,-0.0021904389342049485,-4.725525462149562e-5,-4.654284579454351e-8,-0.0021899688757674282,-4.7361335435271427e-5,-4.667003748796585e-8,-0.002189537217572945,-4.736738240175443e-5,-4.66875152635767e-8,-0.002189182178099598,-4.730905371796731e-5,-4.6633131046491385e-8,-0.0021889175315774733,-4.723144495265606e-5,-4.655539679656418e-8,-0.0021887354256682617,-4.717574835041439e-5,-4.6499184056199204e-8,-0.0021886135162408732,-4.717157179860376e-5,-4.649736314449432e-8,-0.0021885224957076004,-4.723435333698451e-5,-4.656775348526145e-8,-0.002188432196672109,-4.736596568910569e-5,-4.671343301511786e-8,-0.0021883159915355365,-4.755688007918747e-5,-4.69247944722332e-8,-0.002188153797184117,-4.7789060056815985e-5,-4.7182558125506696e-8,-0.0021879339216937933,-4.8039252490120275e-5,-4.7461392605544466e-8,-0.0021876538472704776,-4.828243590852618e-5,-4.773381750934838e-8,-0.002187319992989988,-4.849521912185547e-5,-4.7974061450627616e-8,-0.0021869464613131022,-4.865894024085986e-5,-4.816152081756237e-8,-0.0021865528992877276,-4.87620998684626e-5,-4.828339410490294e-8,-0.0021861618199906937,-4.8801891534619e-5,-4.833627312095251e-8,-0.0021857956854069802,-4.878486309271509e-5,-4.832680892763946e-8,-0.0021854738600616984,-4.8726762987137e-5,-4.8271587194920043e-8,-0.0021852094900030724,-4.86515128943926e-5,-4.8196176656966384e-8,-0.002185006334014698,-4.858914285791343e-5,-4.8133122371377696e-8,-0.0021848556724831675,-4.8572182159752406e-5,-4.8118210423692764e-8,-0.0021847340908449993,-4.862969584851901e-5,-4.818398533821574e-8,-0.0021846040333787834,-4.8778729210677626e-5,-4.835019658202303e-8,-0.0021844197065521583,-4.901477659668526e-5,-4.861300583671992e-8,-0.002184139908137586,-4.9305740268685153e-5,-4.89380239589084e-8,-0.002183745208710712,-4.959578164277363e-5,-4.926436436193073e-8,-0.0021832508778272947,-4.9822400093252296e-5,-4.9523381452495355e-8,-0.0021827054179990426,-4.9940812964766306e-5,-4.9665452368679164e-8,-0.002182172657790118,-4.9941786271621964e-5,-4.967953305482646e-8,-0.0021817074157041024,-4.985220421423567e-5,-4.959386599256073e-8,-0.002181338673865619,-4.9720142395811015e-5,-4.945991919619401e-8,-0.0021810666706533364,-4.9595568980319e-5,-4.933166537295909e-8,-0.0021808703783844,-4.951657478515571e-5,-4.92507832762818e-8,-0.0021807181941960203,-4.950399504420421e-5,-4.924073730655143e-8,-0.0021805769182982548,-4.956218364039945e-5,-4.9307324380953e-8,-0.0021804174795038798,-4.968259370492711e-5,-4.9442212976376634e-8,-0.0021802179110294567,-4.9847836933814006e-5,-4.9627109424267564e-8,-0.002179964670767143,-5.003531159657192e-5,-4.983764252872737e-8,-0.0021796530724134083,-5.0220385609024966e-5,-5.004692161411961e-8,-0.002179287108625143,-5.0379309817940806e-5,-5.0228863268068284e-8,-0.0021788786984716967,-5.049197671212808e-5,-5.0361312329529946e-8,-0.0021784462256297563,-5.054452595703909e-5,-5.04289060225776e-8,-0.0021780122025803136,-5.053151803276535e-5,-5.042538797210063e-8,-0.002177600157916581,-5.045722929573454e-5,-5.035495070136917e-8,-0.0021772310966522526,-5.0335776567875636e-5,-5.023237210708531e-8,-0.002176919902460922,-5.0189932859938544e-5,-5.0081843179902245e-8,-0.00217667207082299,-5.004853269807545e-5,-4.993436120974221e-8,-0.0021764812441906808,-4.994249777622941e-5,-4.982363597059191e-8,-0.0021763280507105863,-4.98996114264398e-5,-4.978052270196503e-8,-0.0021761809437515654,-4.9938185981473035e-5,-4.982603516805561e-8,-0.002176000149806595,-5.006025793450334e-5,-4.9963621703133264e-8,-0.002175745817326205,-5.024622884164902e-5,-5.0172910484799115e-8,-0.002175390157594791,-5.0454365055776456e-5,-5.0408841281164365e-8,-0.002174930337153652,-5.06288459355e-5,-5.061036106903455e-8,-0.002174395353711165,-5.071699644838109e-5,-5.0719362989473973e-8,-0.0021738401034926535,-5.0689679713245726e-5,-5.0703131233504954e-8,-0.0021733265233010663,-5.055363671187018e-5,-5.056794205359903e-8,-0.0021729011128648096,-5.034775070284775e-5,-5.035513085813307e-8,-0.0021725811078602674,-5.012585939427826e-5,-5.012259516349527e-8,-0.0021723547388293137,-4.993700515060601e-5,-4.992354472562844e-8,-0.0021721915116131806,-4.9812811310871116e-5,-4.979285902848771e-8,-0.0021720546749986677,-4.976445626435847e-5,-4.9743630077680485e-8,-0.002171910550591354,-4.978612573658363e-5,-4.977057674929707e-8,-0.0021717334408312126,-4.986073223887547e-5,-4.985593590639394e-8,-0.0021715072056702122,-4.9965197761627746e-5,-4.997503848354697e-8,-0.002171225123681876,-5.007442062639999e-5,-5.010064735726323e-8,-0.0021708891541935235,-5.0164162613396194e-5,-5.020624123144993e-8,-0.002170509011565236,-5.021337352113505e-5,-5.026869269970753e-8,-0.0021701010201165194,-5.020633834079381e-5,-5.027067408474085e-8,-0.002169686481978018,-5.013479660142251e-5,-5.02029350445516e-8,-0.0021692892001323122,-4.999980622314807e-5,-5.006625128102955e-8,-0.002168932022375522,-4.9812758371010945e-5,-4.9872480658075486e-8,-0.002168632724515974,-4.95948957641629e-5,-4.96440934171442e-8,-0.0021683999304833723,-4.9374905475583854e-5,-4.94117279890712e-8,-0.0021682299884622017,-4.9184517024424835e-5,-4.9209644023520306e-8,-0.0021681057683319905,-4.905256550499114e-5,-4.906946354132325e-8,-0.0021679981084059274,-4.899850303697785e-5,-4.901315398366616e-8,-0.0021678702118165865,-4.902660625417457e-5,-4.904654790153962e-8,-0.002167684855459021,-4.912228342329066e-5,-4.915496722137846e-8,-0.002167413675346147,-4.9252117611135175e-5,-4.930287422769272e-8,-0.0021670467328493287,-4.9369236645834006e-5,-4.9439453319941026e-8,-0.0021665991445428225,-4.942457392269512e-5,-4.951084310411176e-8,-0.0021661107109958544,-4.9382031214902844e-5,-4.9476821013151695e-8,-0.0021656359860024264,-4.923205966050717e-5,-4.932584479686643e-8,-0.0021652269664645565,-4.8996524294130615e-5,-4.908058662160895e-8,-0.0021649159058167063,-4.872105249104496e-5,-4.878982557957179e-8,-0.002164706655984438,-4.8458301673946887e-5,-4.8510450968611894e-8,-0.0021645777385677746,-4.825084661063017e-5,-4.8288973195301046e-8,-0.0021644934054848965,-4.812122783466715e-5,-4.81506379139743e-8,-0.0021644159176900527,-4.8071024900689184e-5,-4.809815557247862e-8,-0.0021643141929952214,-4.808594061576428e-5,-4.81168922637752e-8,-0.002164167674411756,-4.814266053659258e-5,-4.818208341414474e-8,-0.0021639667146355628,-4.8214709519840826e-5,-4.8265144796799985e-8,-0.0021637113015193915,-4.8276471408607926e-5,-4.833815104674628e-8,-0.0021634093935051597,-4.8305717497990586e-5,-4.8376751136334334e-8,-0.0021630753860666465,-4.8285336142651836e-5,-4.836216222000512e-8,-0.0021627286667312874,-4.8204863846761885e-5,-4.828283802361071e-8,-0.002162391861482956,-4.8062097732630306e-5,-4.813613888210156e-8,-0.0021620882679398825,-4.786457221389886e-5,-4.792984469758117e-8,-0.0021618381966684985,-4.763020148052184e-5,-4.768283959318655e-8,-0.0021616544721947527,-4.738615688544101e-5,-4.74240049864915e-8,-0.0021615380479013072,-4.716519867376527e-5,-4.718845234479752e-8,-0.002161475302072799,-4.699937039553237e-5,-4.701091284755469e-8,-0.0021614386393250546,-4.6912154688658707e-5,-4.691736184216948e-8,-0.002161391201800069,-4.6911292679655636e-5,-4.691717630397373e-8,-0.002161295075484384,-4.698475296081406e-5,-4.6998506562417824e-8,-0.002161121034202,-4.710162372082691e-5,-4.712886694957854e-8,-0.002160857131367918,-4.7218339997966116e-5,-4.726153824963162e-8,-0.0021605135166616594,-4.728911357216719e-5,-4.734669635449493e-8,-0.002160121614640899,-4.727811102218645e-5,-4.7344670899897986e-8,-0.002159727070259186,-4.71700332472349e-5,-4.72376676723403e-8,-0.002159377681774251,-4.697546153405605e-5,-4.703590761080976e-8,-0.0021591097858532486,-4.672829423936533e-5,-4.677517141941328e-8,-0.002158938074167603,-4.6475408602648845e-5,-4.650582202815821e-8,-0.002158852916009944,-4.626235480050213e-5,-4.627738514230599e-8,-0.002158825801635166,-4.612087538018337e-5,-4.612493766194266e-8,-0.002158819709787541,-4.606270599802699e-5,-4.606214934513943e-8,-0.002158799607308813,-4.608051665422589e-5,-4.6081993496327766e-8,-0.0021587395273344563,-4.615361327504223e-5,-4.616267371658823e-8,-0.002158625286072611,-4.625494118904886e-5,-4.627511694149892e-8,-0.002158453953359905,-4.635691120285143e-5,-4.638936013416345e-8,-0.002158231790057722,-4.643523375110354e-5,-4.647887273854775e-8,-0.002157971911670394,-4.647108233605865e-5,-4.652305041561149e-8,-0.0021576922476335206,-4.6452294121769896e-5,-4.650856384345036e-8,-0.0021574138014324212,-4.637428430326153e-5,-4.6430286990051256e-8,-0.0021571587957101316,-4.624105015071745e-5,-4.629227406134107e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_1.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_1.json
deleted file mode 100644
index 8eb0d0e..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_1.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":1000,"numberOfSamples":1000,"samples":[-0.002156948117797158,-4.6066106188504274e-5,-4.610870837852341e-8,-0.0021567976844821175,-4.587262928957953e-5,-4.590411215695837e-8,-0.002156713908245568,-4.569170874283684e-5,-4.5711626484184725e-8,-0.0021566893595621928,-4.555761003533914e-5,-4.5568113732113295e-8,-0.002156700743371349,-4.549983445555494e-5,-4.5505741530892555e-8,-0.0021567115663395065,-4.5533671389188886e-5,-4.5541790676334716e-8,-0.0021566804178876843,-4.5652915406612466e-5,-4.5670622833809834e-8,-0.002156572912636481,-4.582870678241587e-5,-4.58621255953264e-8,-0.0021563728566239655,-4.601620142754535e-5,-4.6068577295811786e-8,-0.0021560880133587525,-4.616711622705171e-5,-4.623794070121091e-8,-0.002155748222189647,-4.62434863816923e-5,-4.6328641438483505e-8,-0.002155396920669294,-4.622782396424562e-5,-4.632067580425877e-8,-0.00215507933393081,-4.612686483113469e-5,-4.621997607570151e-8,-0.0021548310204559523,-4.596856314722607e-5,-4.605556460572259e-8,-0.0021546697448800787,-4.579380803487395e-5,-4.5870948767990285e-8,-0.0021545925009090403,-4.564545026639773e-5,-4.571243253541094e-8,-0.00215457808447119,-4.555777214888923e-5,-4.561767662258407e-8,-0.002154594019620961,-4.554927142265337e-5,-4.560764640929833e-8,-0.002154605368940617,-4.562040509803385e-5,-4.568383677005805e-8,-0.002154582628502511,-4.575613804937631e-5,-4.583074108471704e-8,-0.0021545067042819666,-4.593156748733217e-5,-4.602179515117175e-8,-0.0021543704349080905,-4.6118291920214145e-5,-4.6226298143065905e-8,-0.002154177429419203,-4.628970757896518e-5,-4.64152905393417e-8,-0.0021539395320203554,-4.642448039496704e-5,-4.656547403677698e-8,-0.0021536740325304696,-4.6508347419083976e-5,-4.6661248300741016e-8,-0.002153401212638439,-4.6534852085000904e-5,-4.669548060691322e-8,-0.0021531422886805827,-4.650565883599465e-5,-4.666974436961425e-8,-0.0021529174221249937,-4.6430830311047396e-5,-4.6594529114611347e-8,-0.002152743281384537,-4.632899782380846e-5,-4.648943285318694e-8,-0.0021526297364554913,-4.622682327908873e-5,-4.6382720029024235e-8,-0.0021525757781952213,-4.615665217809799e-5,-4.6309007987320986e-8,-0.0021525657635618595,-4.615111791560906e-5,-4.630363581540198e-8,-0.0021525683606683156,-4.623433111379003e-5,-4.639321479077921e-8,-0.0021525411131787307,-4.641162808298889e-5,-4.658444896551646e-8,-0.00215244181360915,-4.6662730585749126e-5,-4.685650807739798e-8,-0.002152243559761613,-4.69438336830974e-5,-4.716299443903288e-8,-0.0021519463173773905,-4.720028130623982e-5,-4.744536946490242e-8,-0.0021515783140552483,-4.738487646555355e-5,-4.7652539659263205e-8,-0.0021511863195340735,-4.7473012892754915e-5,-4.775714558013054e-8,-0.002150820158632104,-4.74681988823182e-5,-4.7761682951372046e-8,-0.0021505186509381763,-4.739759003524929e-5,-4.769404722497823e-8,-0.002150301454146949,-4.7301602034095665e-5,-4.75967746928141e-8,-0.002150167504080223,-4.722237577724007e-5,-4.751493736774092e-8,-0.0021500984653760494,-4.7194327180898005e-5,-4.7486029043007825e-8,-0.002150065007643072,-4.7238211715320985e-5,-4.753336591146179e-8,-0.002150034011848315,-4.735890504159874e-5,-4.7663329284699034e-8,-0.0021499752813515308,-4.754650144645341e-5,-4.7866189097583804e-8,-0.0021498666614940885,-4.777999559892799e-5,-4.811985529955003e-8,-0.002149696844734374,-4.8032435641353954e-5,-4.8395408706038154e-8,-0.0021494657462589853,-4.8276239272205825e-5,-4.866295866283441e-8,-0.0021491829316347584,-4.848761715432387e-5,-4.8896590036391526e-8,-0.002148864888882999,-4.864954755615883e-5,-4.9077698538029214e-8,-0.002148531969661492,-4.875324012053347e-5,-4.9196590948451486e-8,-0.00214820559302335,-4.879845385417849e-5,-4.925275811633043e-8,-0.0021479058723801398,-4.8793211725869386e-5,-4.9254476683867235e-8,-0.0021476494691693242,-4.875326148772683e-5,-4.921820529983365e-8,-0.0021474473356039884,-4.8701280224926454e-5,-4.916782927985692e-8,-0.002147302025734625,-4.8665427348109735e-5,-4.913330991550414e-8,-0.0021472046146883317,-4.867636961659977e-5,-4.914769826441347e-8,-0.0021471322071707254,-4.8761685544412094e-5,-4.924121019381598e-8,-0.0021470482597085038,-4.893732048233069e-5,-4.943192954490526e-8,-0.002146908584499707,-4.91979967179343e-5,-4.97152190263401E-08,-0.002146674363316176,-4.9511646656850674e-5,-5.0057427768996096e-8,-0.002146328667920062,-4.982422622000098e-5,-5.0400872447169334e-8,-0.0021458875359486144,-5.007688042712524e-5,-5.0682229364308553e-8,-0.002145397011314185,-5.0228379818507437e-5,-5.0856638807463407e-8,-0.0021449161791735768,-5.0270217445764416e-5,-5.091394422090286e-8,-0.002144495917953705,-5.0226434247242504e-5,-5.087865414824122e-8,-0.002144164522903363,-5.01408709895491e-5,-5.079660476566392e-8,-0.002143924532470479,-5.0060878640441164e-5,-5.0717902245852795e-8,-0.002143757959315198,-5.002483607513269e-5,-5.068379162791456e-8,-0.002143634896737234,-5.005585115815337e-5,-5.071984838493151e-8,-0.002143521842854634,-5.0160650756850324e-5,-5.083446444779818e-8,-0.002143388120717485,-5.0331651201626866e-5,-5.102064773664288e-8,-0.002143210184954386,-5.055054311417113e-5,-5.125954074459971e-8,-0.002142974117514982,-5.079251129394976e-5,-5.152482507010141e-8,-0.0021426765074378826,-5.103064468172294e-5,-5.178753018681961e-8,-0.0021423238391256607,-5.124006797853224e-5,-5.202065134245872e-8,-0.002141930651324379,-5.140134181465216e-5,-5.220297342970296e-8,-0.0021415168281439588,-5.150282446702924e-5,-5.2321688446799315e-8,-0.0021411044645297406,-5.154180999406271e-5,-5.237359158139016e-8,-0.0021407148054202576,-5.152449499997826e-5,-5.236496558245039e-8,-0.0021403655678020684,-5.146510002939213e-5,-5.231059043138093e-8,-0.002140068652238457,-5.138444270295482e-5,-5.2232268635753575e-8,-0.002139828133292629,-5.1308028225241545e-5,-5.2156950212399334e-8,-0.002139638422673149,-5.126350568803761e-5,-5.2114230564000163e-8,-0.00213948268691379,-5.1277018333799685e-5,-5.213259191254482e-8,-0.002139332290822501,-5.1367795817320406e-5,-5.223357239670482e-8,-0.0021391489883805194,-5.154098912009453e-5,-5.242383088390882e-8,-0.002138891970010422,-5.1780522562900146e-5,-5.268710604455327e-8,-0.0021385305995390066,-5.20462253084977e-5,-5.2980835455315765e-8,-0.002138059594008942,-5.2280784568316565e-5,-5.324353111816718e-8,-0.002137508049281609,-5.242840674319948e-5,-5.341489927661907e-8,-0.0021369333564798328,-5.245794992558174e-5,-5.3460757754233854e-8,-0.0021364000567887635,-5.237659280739311e-5,-5.338772944526506e-8,-0.0021359554177806913,-5.222499524366457e-5,-5.323816602452792e-8,-0.0021356157132549174,-5.205829004263862e-5,-5.307010206523827e-8,-0.002135367798385966,-5.1925718630202697e-5,-5.293584770307225e-8,-0.0021351802309842655,-5.185853393324863e-5,-5.2869237987871783e-8,-0.002135015709675917,-5.186747116928778e-5,-5.288277568269625e-8,-0.0021348401734937695,-5.194616985504687e-5,-5.2970891829753475e-8,-0.002134627758060293,-5.2076667370690687e-5,-5.311539888620349e-8,-0.002134362664862016,-5.22346501846903e-5,-5.329085053332862e-8,-0.0021340393185033547,-5.2393733389077045e-5,-5.3469096840437146e-8,-0.002133661644592146,-5.252894430972528e-5,-5.362316413179043e-8,-0.0021332416919183183,-5.2619642849676823e-5,-5.373058405670703e-8,-0.002132797639105352,-5.265187989316952e-5,-5.377605953151373e-8,-0.00213235123299873,-5.262008658853691e-5,-5.3753301407695094e-8,-0.0021319247547086106,-5.252787431710746e-5,-5.366582385721862e-8,-0.002131537812166341,-5.2387711692295135e-5,-5.3526527141880856e-8,-0.002131204386649835,-5.221948578729788e-5,-5.335616249926751e-8,-0.002130930436840616,-5.204813499564776e-5,-5.3180922715721016e-8,-0.0021307122475242276,-5.190051666082856e-5,-5.3029303636494595e-8,-0.002130535691096194,-5.1801663288743484e-5,-5.2928303953712826e-8,-0.002130376577415983,-5.1770519389418736e-5,-5.289893815879023e-8,-0.0021302025383327134,-5.1815158911048855e-5,-5.2950976313991277e-8,-0.002129977378036466,-5.192792796725971e-5,-5.3077407334747964E-08,-0.0021296688087945386,-5.208214555192072e-5,-5.325050928388623e-8,-0.0021292592998348823,-5.2233329336141494e-5,-5.342289782969275e-8,-0.002128757014872047,-5.2328224363975537e-5,-5.353718707965699e-8,-0.0021282003685288873,-5.232211388239153e-5,-5.354471701182651e-8,-0.0021276495587692528,-5.219820202071707e-5,-5.342650421322242e-8,-0.002127165444777017,-5.1977374748586926e-5,-5.32037987462269e-8,-0.002126786408919701,-5.1710339300552144e-5,-5.292980367635397e-8,-0.0021265166937946525,-5.145633618560855e-5,-5.2667177244896215e-8,-0.00212633105580082,-5.126167160748416e-5,-5.246538067689548e-8,-0.002126189328271234,-5.114869660600918e-5,-5.234897812409529e-8,-0.0021260510373621883,-5.111638783278097e-5,-5.231801132895357e-8,-0.002125884513579751,-5.114733030685652e-5,-5.235503053809026e-8,-0.0021256702248682435,-5.121572331910457e-5,-5.243327665430199e-8,-0.002125400455812279,-5.1293642979333694e-5,-5.252321996716058e-8,-0.0021250775059338096,-5.1355096043385815e-5,-5.259696904862907e-8,-0.0021247116610059085,-5.1378537621995244e-5,-5.2631164024147827e-8,-0.0021243192352671083,-5.134861185069034e-5,-5.2609026267915535e-8,-0.002123920533294502,-5.125749504161394e-5,-5.252187717870801e-8,-0.002123537513917045,-5.1105899487825944e-5,-5.237017732952232e-8,-0.0021231909824004935,-5.0903510148269925e-5,-5.21639052525058e-8,-0.002122897386272381,-5.066840160744641e-5,-5.192188374186477e-8,-0.0021226656718111524,-5.042508933637542e-5,-5.166975788992617e-8,-0.002122494839571998,-5.0201204525872756e-5,-5.143662126873064e-8,-0.0021223728064571974,-5.002307532138799e-5,-5.125052539179263e-8,-0.002122277063662247,-4.9910792187481684e-5,-5.1133373559448276e-8,-0.002122177350465051,-4.9873571668336e-5,-5.1095958839310544e-8,-0.002122040271899325,-4.990621895883855e-5,-5.113395766297128e-8,-0.002121835670220407,-4.998749569171908e-5,-5.122580454826739e-8,-0.002121544289358671,-5.008151805352115e-5,-5.133380683137773e-8,-0.0021211653940700756,-5.0143498952941705e-5,-5.141007127166793e-8,-0.0021207216447338448,-5.0130441492102875e-5,-5.1407976149345016e-8,-0.002120257496141451,-5.001520456175847e-5,-5.1297441102601807e-8,-0.002119828397979043,-4.9798850489622e-5,-5.107840402680578e-8,-0.0021194826754195456,-4.9513892869127156e-5,-5.078451782729881e-8,-0.002119244086201465,-4.921409445932999e-5,-5.0472444375840066e-8,-0.0021191046402436534,-4.8954748273117716e-5,-5.0200988226733736e-8,-0.002119031138708923,-4.8773978554723135e-5,-5.001124485406591e-8,-0.002118980101862301,-4.8684026206295004e-5,-4.991720030835334e-8,-0.00211891220827597,-4.867379334879302e-5,-4.990812813538284e-8,-0.0021188006530865576,-4.8717674424215837e-5,-4.9957631878584515e-8,-0.0021186330805224884,-4.878489183979079e-5,-5.003335885442783e-8,-0.002118409606923484,-4.8846210672363946e-5,-5.010414572430475e-8,-0.0021181395569648243,-4.887764161794287e-5,-5.0144131459874775e-8,-0.002117838428140765,-4.8862089859800686e-5,-5.013472762586503e-8,-0.0021175254797301053,-4.87900395563563e-5,-5.006548391793509e-8,-0.0021172217039225403,-4.865995177280172e-5,-4.9934517707598465e-8,-0.0021169477453683006,-4.8478584561881674e-5,-4.9748766630150475e-8,-0.002116721392799632,-4.8261007717598124e-5,-4.952391111144196e-8,-0.00211655455107997,-4.802973321358578e-5,-4.928344153787555e-8,-0.002116450096966629,-4.781233066898358e-5,-4.9056238260434893e-8,-0.0021163995074253497,-4.763723300556185e-5,-4.88723175000772e-8,-0.00211638238176434,-4.752806896211847e-5,-4.8757005535652654e-8,-0.0021163687749273766,-4.749765415455074e-5,-4.872463016284184e-8,-0.0021163245129189124,-4.75433801208055e-5,-4.8773504423959966e-8,-0.0021162186131261293,-4.7645689733550204e-5,-4.888400543678275e-8,-0.0021160311239636605,-4.7770598620135224e-5,-4.902087037517744e-8,-0.0021157594156345004,-4.787624496808221e-5,-4.913984622203423e-8,-0.0021154210653734945,-4.792249771712643e-5,-4.919779498322852e-8,-0.0021150518661444766,-4.788171611098116e-5,-4.916427157162084e-8,-0.0021146983037815758,-4.774784549571525e-5,-4.903151581702451e-8,-0.0021144054214774677,-4.754043449876239e-5,-4.881909664190108e-8,-0.002114203335655032,-4.730071511555959e-5,-4.857004998709531e-8,-0.0021140976257717674,-4.7079605315396366e-5,-4.8338297363515245e-8,-0.002114068243449401,-4.6921741162987395e-5,-4.817168920274723e-8,-0.0021140776517754515,-4.685238849929127e-5,-4.8097948508555413e-8,-0.002114084019446718,-4.6872596236596724e-5,-4.81192411375788e-8,-0.002114053227237637,-4.6963141965845496e-5,-4.821604606694751e-8,-0.002113965448400426,-4.7093502898033734e-5,-4.8356449951288814e-8,-0.0021138158726727416,-4.7231060835115885e-5,-4.8505867927921634e-8,-0.0021136117434029157,-4.73475915439524e-5,-4.863405741638106e-8,-0.002113368243224607,-4.742253450655109e-5,-4.8718797175518944e-8,-0.0021131048107557887,-4.7443958322278066e-5,-4.874708212682086e-8,-0.002112842390293642,-4.740840058984932e-5,-4.87150037508711e-8,-0.002112601402461571,-4.732044050097083e-5,-4.8627229494421786e-8,-0.002112399898104981,-4.71923458598116e-5,-4.84965171325286e-8,-0.0021122513870208202,-4.7043586695278016e-5,-4.834314259144425e-8,-0.002112162155506463,-4.689959768605062e-5,-4.8193650389836864e-8,-0.0021121284044120486,-4.678902511400128e-5,-4.807810872069021e-8,-0.002112134192586928,-4.6738909755118304e-5,-4.802520783954363e-8,-0.002112151736011111,-4.676805674809973e-5,-4.8055358790222776e-8,-0.0021121455008559073,-4.68802207502431e-5,-4.8173435647070684e-8,-0.002112080244306887,-4.705993268071947e-5,-4.8364140938563196e-8,-0.0021119310664213338,-4.727368018370931e-5,-4.8592931302070324e-8,-0.002111691895111901,-4.747730114612249e-5,-4.881352739322071e-8,-0.0021113788749667064,-4.7627699607907756e-5,-4.898012188224292e-8,-0.00211102704677318,-4.7694954771803144e-5,-4.9060201272908396e-8,-0.002110681352249585,-4.767075494556609e-5,-4.90436883734857e-8,-0.002110384874318121,-4.7570663804349934e-5,-4.894570849816082e-8,-0.0021101677401916797,-4.7429813825341904e-5,-4.8802430880724736e-8,-0.002110039696581039,-4.729335730533683e-5,-4.866125590022362e-8,-0.0021099884072854364,-4.7204358850854926e-5,-4.8568084600913465e-8,-0.002109983945387274,-4.7192708949043166e-5,-4.855543459993911e-8,-0.0021099879117350232,-4.726846620998511e-5,-4.863507382826351e-8,-0.0021099639576379094,-4.7421428985429237e-5,-4.879720662545984e-8,-0.0021098861854816123,-4.7626298326830003e-5,-4.901567331796005e-8,-0.002109743186109511,-4.7850789510772105e-5,-4.9256450069474826e-8,-0.002109537586825893,-4.8063526347891254e-5,-4.948609768053289e-8,-0.002109282655958739,-4.8239580975826655e-5,-4.967782243823404e-8,-0.0021089979409871034,-4.8363148343395243e-5,-4.981449771751667e-8,-0.002108705341277884,-4.8427999229028034e-5,-4.988923858233261e-8,-0.002108426170116319,-4.843672757019664e-5,-4.990457813568429e-8,-0.0021081790939703336,-4.8399655340769195e-5,-4.987120855545762e-8,-0.002107978462340765,-4.8333815691984267e-5,-4.98068240380907e-8,-0.0021078325085235445,-4.8261883157006745e-5,-4.973500790876879e-8,-0.002107741182028866,-4.8210487087105704e-5,-4.968358842430621e-8,-0.0021076938773007476,-4.820714020935879e-5,-4.9681591379790985e-8,-0.0021076680383246907,-4.827513281127266e-5,-4.975399170959863e-8,-0.002107630376401887,-4.842654419791798e-5,-4.991432609044488e-8,-0.0021075425159545343,-4.865523284848443e-5,-5.015711147352186e-8,-0.0021073713272879244,-4.893349928726431e-5,-5.045403692151433e-8,-0.002107101054149504,-4.921621165090497e-5,-5.075804312180078e-8,-0.00210674158544731,-4.9453141274911964e-5,-5.1016160495136004e-8,-0.0021063277292051657,-4.960526660686225e-5,-5.1186657637328415e-8,-0.0021059088236712936,-4.965767137535703e-5,-5.1252729209342855e-8,-0.002105533355710234,-4.962333434846008e-5,-5.122672710022117e-8,-0.002105235298687669,-4.953725574759237e-5,-5.114433301511661e-8,-0.0021050267301768173,-4.9444765358431426e-5,-5.105262008384059e-8,-0.0021048975954977385,-4.938895653500951e-5,-5.099704564916817e-8,-0.0021048209457205044,-4.940083264676395e-5,-5.1011036159970786e-8,-0.0021047611320736954,-4.9493878141675046e-5,-5.110997819652719e-8,-0.0021046825545899023,-4.9663315734863536e-5,-5.1290024568352304e-8,-0.002104557033149279,-4.98893453161492e-5,-5.1531150434198844e-8,-0.0021043684802190066,-5.0143026698940785e-5,-5.1803180748147716e-8,-0.002104114312419352,-5.0393089164750924e-5,-5.2073008844431506e-8,-0.0021038039107087792,-5.0611974369170696e-5,-5.2311154609061635e-8,-0.002103455142864527,-5.077997300985246e-5,-5.249634587215205e-8,-0.0021030901973043527,-5.088713159052434e-5,-5.261767665298347e-8,-0.002102731754757487,-5.093327497583167e-5,-5.2674658453290784e-8,-0.002102400038249737,-5.0926853473763044e-5,-5.267593710089334e-8,-0.002102110741705476,-5.088333895282607e-5,-5.2637516149960456e-8,-0.002101873489403106,-5.08235740242651e-5,-5.2580999673824274e-8,-0.0021016904381226816,-5.07720385838116e-5,-5.2531862498246874e-8,-0.0021015548084289933,-5.0754644122074386e-5,-5.2517309070279127e-8,-0.002101449525764805,-5.079541727592946e-5,-5.256294807274047e-8,-0.002101346863688587,-5.091147619245311e-5,-5.268753767417356e-8,-0.0021012107625705593,-5.110647842638639e-5,-5.2895930277749896e-8,-0.0021010036231113496,-5.1364431323432054e-5,-5.317225671965255e-8,-0.0021006978474307205,-5.164780092740599e-5,-5.347763770609452e-8,-0.0021002887607210427,-5.1904283966139336e-5,-5.3757151991875933e-8,-0.0020998017811831972,-5.2082983385010847e-5,-5.3956856249473105e-8,-0.002099287305051419,-5.2153786677272464e-5,-5.404424493360183e-8,-0.002098803714303415,-5.211938886395136e-5,-5.402099729340937e-8,-0.0020983970909576486,-5.201310176200273e-5,-5.392087032373497e-8,-0.0020980879471518285,-5.1884788106360025e-5,-5.379525398388802e-8,-0.0020978694594535633,-5.178355560077695e-5,-5.3695353664609535e-8,-0.0020977146033212875,-5.1744897802943776e-5,-5.3658858151211176e-8,-0.0020975867206337855,-5.17850538647107e-5,-5.370387698001164e-8,-0.002097449252174256,-5.1901448471996434e-5,-5.382901325735156e-8,-0.0020972727165282454,-5.2076755488728516e-5,-5.4017187239652266e-8,-0.002097038679265766,-5.228448053746355e-5,-5.424119501315798e-8,-0.002096741115512614,-5.2494770950254756e-5,-5.446974146690214e-8,-0.0020963856479537316,-5.267968073580639e-5,-5.467310941300608e-8,-0.0020959871806476727,-5.281730553664611e-5,-5.482773870037851e-8,-0.002095566547851664,-5.2894425618154075e-5,-5.49192091763326e-8,-0.0020951467983804607,-5.2907580747666326e-5,-5.494346629557186e-8,-0.0020947496865052926,-5.2862703551995284e-5,-5.490641407062349e-8,-0.00209439283463895,-5.277366064911636e-5,-5.482230500560337e-8,-0.002094087719578533,-5.266022168051224e-5,-5.471156076175677e-8,-0.0020938383034884785,-5.2545818362760925e-5,-5.459846822588298e-8,-0.00209364009071615,-5.245512424241938e-5,-5.4508786421523974e-8,-0.002093479524987209,-5.241128303972207e-5,-5.4467015989831044e-8,-0.002093333866675805,-5.243244496307399e-5,-5.449285675295966e-8,-0.002093172238328941,-5.25272454837531e-5,-5.459637339444828e-8,-0.002092959192295158,-5.2689536740216397e-5,-5.47721861308031e-8,-0.002092662162437497,-5.289419192472436e-5,-5.4994709404817255e-8,-0.002092262731012093,-5.3097515495686634e-5,-5.5218327291160634e-8,-0.0020917682925749906,-5.3246152076680836e-5,-5.5386719323868286e-8,-0.0020912168729252238,-5.32948950916572e-5,-5.5451705931345774e-8,-0.00209066831104737,-5.322638039161152e-5,-5.539407826225248e-8,-0.002090182976448214,-5.306061034027742e-5,-5.523368866112795e-8,-0.0020897991792229852,-5.2847036022818596e-5,-5.502129784760488e-8,-0.0020895220312050072,-5.264403046194828e-5,-5.481735951820511e-8,-0.002089327651578887,-5.2498344531242285e-5,-5.4670817165440435e-8,-0.002089176601984936,-5.243402752975581e-5,-5.46075905285881e-8,-0.002089027832962104,-5.2451886161662154e-5,-5.462976227025945e-8,-0.002088848145979607,-5.253524957931374e-5,-5.4721159636310425e-8,-0.002088616519163286,-5.265749417095675e-5,-5.485481113266398e-8,-0.0020883247601802828,-5.278870213189013e-5,-5.499971074275159e-8,-0.0020879761659435914,-5.290068935685728e-5,-5.512613172786507e-8,-0.002087583221816599,-5.297058683962383e-5,-5.520959628157752e-8,-0.002087164777385674,-5.29832296796577e-5,-5.5233626895864976e-8,-0.002086742950109644,-5.2932455223265686e-5,-5.519126877302781e-8,-0.002086339956581604,-5.282138748957507e-5,-5.508542075950947e-8,-0.0020859750527439137,-5.266171847400609e-5,-5.492801945295256e-8,-0.0020856618891764334,-5.247200185689632e-5,-5.4738177469182e-8,-0.0020854066000901466,-5.227520696881749e-5,-5.453962120190033e-8,-0.0020852067040709943,-5.209587655834655e-5,-5.4357819901512334e-8,-0.002085050761531667,-5.19570440334916e-5,-5.421693100956444e-8,-0.0020849188250382576,-5.187695475340274e-5,-5.4136513752244604e-8,-0.0020847838283227895,-5.1865633386018315e-5,-5.4127943797766366e-8,-0.002084614302700284,-5.192134366393279e-5,-5.4190517439071605e-8,-0.002084379177216386,-5.202743147570318e-5,-5.4307801867957737e-8,-0.0020840552632532838,-5.2151132764179095e-5,-5.444603412637725e-8,-0.0020836367229090016,-5.2246983387897786e-5,-5.4557508305702125e-8,-0.0020831432642481086,-5.226727446908682e-5,-5.45915998704627e-8,-0.00208262110484632,-5.217892051956154e-5,-5.451267651801983e-8,-0.0020821314693878165,-5.1979995231158984e-5,-5.4317639028435655e-8,-0.002081728580818981,-5.170500269403149e-5,-5.404156653193917e-8,-0.0020814384597434145,-5.1412711832119855e-5,-5.374512512192592e-8,-0.0020812512548079114,-5.1162601970100065e-5,-5.349017232141276e-8,-0.0020811301739922143,-5.0993981576040526e-5,-5.331814200443522e-8,-0.0020810288964036128,-5.091778800135395e-5,-5.324144113486929e-8,-0.0020809068797548306,-5.0920708246115815e-5,-5.324742058440525e-8,-0.002080737412895719,-5.0975044648063965e-5,-5.330822538299496e-8,-0.0020805090765344805,-5.104836915559959e-5,-5.339054776415609e-8,-0.0020802235105041346,-5.111032019083676e-5,-5.3462654102947513e-8,-0.0020798920087048986,-5.113645247824958e-5,-5.349856905196274e-8,-0.0020795322310856322,-5.111013067736273e-5,-5.3480319452971573e-8,-0.002079165270330489,-5.102337145825212e-5,-5.339903379738613e-8,-0.002078812929807196,-5.0877027322918444e-5,-5.325522084868336e-8,-0.0020784951021789507,-5.0680399754512935e-5,-5.3058323468374344e-8,-0.0020782272019827155,-5.0450194248135284e-5,-5.2825530483115977E-08,-0.002078017796904138,-5.020860124030872e-5,-5.257971627504764e-8,-0.002077866846658982,-4.998045829403398e-5,-5.234652763334412e-8,-0.002077764949227266,-4.9789769777337244e-5,-5.215090293742938e-8,-0.002077693796213007,-4.96559598259346e-5,-5.201333928555749e-8,-0.002077627945643406,-4.959024266445353e-5,-5.1946199184189877e-8,-0.0020775379573369774,-4.959258117963107e-5,-5.1950458272378425e-8,-0.002077394847759163,-4.964972754567608e-5,-5.20133946027985e-8,-0.0020771757956997636,-4.973494898228385e-5,-5.2107934240242226e-8,-0.0020768707597667575,-4.981047198397003e-5,-5.21948928946358e-8,-0.002076488719453658,-4.9833950263944744e-5,-5.222962698296795e-8,-0.0020760607752435137,-4.976947981592237e-5,-5.217368787144459e-8,-0.0020756363255762,-4.960119521007246e-5,-5.2009327355383566e-8,-0.0020752699804712604,-4.934370262592132e-5,-5.175068444401802e-8,-0.002075002258206543,-4.904167747827994e-5,-5.144355599514386e-8,-0.002074843505137487,-4.875527236421879e-5,-5.115030112001243e-8,-0.002074770885112081,-4.85375576824606e-5,-5.092642497342114e-8,-0.0020747400769557814,-4.841647775431193e-5,-5.080178737543361e-8,-0.00207470360549399,-4.839002227744564e-5,-5.077538800998163e-8,-0.0020746254988324455,-4.843356303392952e-5,-5.082265162308837e-8,-0.002074487411936633,-4.8512066229528486e-5,-5.090778965666528e-8,-0.002074287589063454,-4.8590652566310444e-5,-5.099462507142112e-8,-0.0020740364229402913,-4.864094211986411e-5,-5.105327235216716e-8,-0.0020737516117730406,-4.864364377231825e-5,-5.1063071939584795e-8,-0.0020734542779023923,-4.858893563414716e-5,-5.101324060777878e-8,-0.0020731661303226793,-4.847596434842968e-5,-5.090249495797251e-8,-0.0020729072209830705,-4.831209437291138e-5,-5.073826475982897e-8,-0.002072693884949742,-4.81119863715466e-5,-5.053563043378728e-8,-0.0020725366574624164,-4.789627336170478e-5,-5.031584456326077e-8,-0.002072438244777095,-4.76894406001386e-5,-5.0104114550785046e-8,-0.0020723920062757552,-4.751664405123388e-5,-4.992640119935618e-8,-0.002072381620741844,-4.7399626029792626e-5,-4.980535122260885e-8,-0.002072382493146707,-4.735231857382114e-5,-4.975587690759763e-8,-0.002072365126038206,-4.737703392101369e-5,-4.9781211913094104e-8,-0.0020723002115636837,-4.746229500170882e-5,-4.987048608611002e-8,-0.002072164686144449,-4.758318793891755e-5,-4.9998772052492005e-8,-0.0020719476479477516,-4.7704672733856255e-5,-5.0130175273880784e-8,-0.0020716548762382742,-4.778785681354576e-5,-5.0224127220180263E-08,-0.002071310506859259,-4.779875995902617e-5,-5.0244500497020163e-8,-0.0020709542977483263,-4.7718213318121765e-5,-5.017014103512715e-8,-0.002070633392768585,-4.755018007788747e-5,-5.0003890279004845e-8,-0.0020703892518739446,-4.7324560969728754e-5,-4.9775852540256276e-8,-0.002070243556064142,-4.709095642120351e-5,-4.953713265926498e-8,-0.002070189582318923,-4.690347790577672e-5,-4.93441179578025e-8,-0.002070194443298303,-4.6802416516879245e-5,-4.9239360290252976e-8,-0.002070211781957937,-4.680166452708117e-5,-4.923831183218621e-8,-0.0020701982102484394,-4.688757653287808e-5,-4.9327848095478144e-8,-0.0020701254502533,-4.702784331254064e-5,-4.947517696147768e-8,-0.002069984310820259,-4.718405080239909e-5,-4.9640685225447364e-8,-0.002069781881963152,-4.732196406548829e-5,-4.978861540585559e-8,-0.002069535727065262,-4.741708010271714e-5,-4.989300757237092e-8,-0.0020692682062174064,-4.7456088345065395e-5,-4.993946266170168e-8,-0.0020690022999483347,-4.743604483466135e-5,-4.9924473337753236e-8,-0.0020687589325963695,-4.736278778201662e-5,-4.9853830021207306e-8,-0.0020685552095647745,-4.724938104372905e-5,-4.9740931313843226e-8,-0.0020684029471759965,-4.7114721697835956e-5,-4.9605222607596616e-8,-0.002068307113632894,-4.698198596032385e-5,-4.9470525465095644e-8,-0.002068264210735056,-4.6876359384872586e-5,-4.936274057243991e-8,-0.0020682611085878133,-4.682161851644506e-5,-4.930645763105391e-8,-0.002068275207205279,-4.683559588593652e-5,-4.932042167102954e-8,-0.002068276840995726,-4.692525626768796e-5,-4.941250393336782e-8,-0.0020682343681795467,-4.708286526062035e-5,-4.9575641749325084e-8,-0.002068121336074826,-4.728509807584928e-5,-4.9786665145860586e-8,-0.002067923897843404,-4.7496385865671217e-5,-5.0009436305109905e-8,-0.0020676460373650566,-4.7676378285878495e-5,-5.0202301586995866e-8,-0.0020673105644500745,-4.77898332491647e-5,-5.032822287464823e-8,-0.002066955050994269,-4.781625324925658e-5,-5.036486940750825e-8,-0.0020666233471462645,-4.7756464778773514e-5,-5.0311739548860085e-8,-0.002066354580310086,-4.763398187934115e-5,-5.0191974764700023E-08,-0.0020661724200392493,-4.7490128745401975e-5,-5.004766473653001e-8,-0.0020660778693884388,-4.737345115377653e-5,-4.9929071504630356e-8,-0.002066048524221078,-4.732603099287772e-5,-4.9880421809209325e-8,-0.0020660453797246812,-4.737129330364156e-5,-4.992704483799921e-8,-0.0020660250285791494,-4.7508085193365105e-5,-5.006889477610717e-8,-0.0020659523841825966,-4.7713206060515434e-5,-5.028283650859611e-8,-0.0020658090029066624,-4.795053885650078e-5,-5.053188956294247e-8,-0.002065594771846483,-4.818222569886375e-5,-5.0776768516938594e-8,-0.002065324117375244,-4.837752105633615e-5,-5.0985184294608874e-8,-0.002065019767433622,-4.851728875182688e-5,-5.1136723525022014e-8,-0.0020647068446275245,-4.8594594783670716e-5,-5.1223668798557995e-8,-0.0020644086381638085,-4.861304972472082e-5,-5.124938607964203e-8,-0.002064144097864555,-4.8584434676873395e-5,-5.122584536957933e-8,-0.002063926468637026,-4.852647936788248e-5,-5.1171225339119544e-8,-0.0020637623786124806,-4.846100605905334e-5,-5.11079143446867e-8,-0.0020636508879348973,-4.841213269692522e-5,-5.106066445180714e-8,-0.002063582435238546,-4.8403934845334516e-5,-5.1054290024565175e-8,-0.002063538168965467,-4.8457018960260466e-5,-5.1110281108115146e-8,-0.002063490642966396,-4.858388401565267e-5,-5.12421042751145e-8,-0.002063407082221286,-4.8783799285689586e-5,-5.144985988199522e-8,-0.0020632559577338995,-4.9039126710606216e-5,-5.1716281192541857e-8,-0.0020630160427410785,-4.931581340272001e-5,-5.200696102828744e-8,-0.002062684941410063,-4.95699691789468e-5,-5.2276889335559116e-8,-0.0020622829172062315,-4.9759696099219955e-5,-5.2482526161209284e-8,-0.0020618491854511264,-4.9858113731482825e-5,-5.259526114699326e-8,-0.0020614313126430684,-4.98622055714111e-5,-5.261072103110058e-8,-0.0020610717124268244,-4.979388598943105e-5,-5.255018976438976e-8,-0.00206079622917913,-4.9693307260769264e-5,-5.2454091838812215e-8,-0.002060608259750969,-4.960738794563041e-5,-5.2370482519734586e-8,-0.0020604893759882652,-4.957747244117635e-5,-5.234243575739418e-8,-0.0020604054583355405,-4.962944279368117e-5,-5.239769021503708e-8,-0.00206031622426224,-4.976850689463904e-5,-5.254290844467591e-8,-0.0020601854537221713,-4.997959938080869e-5,-5.276367005121703e-8,-0.002059989171420568,-5.0232827495872717e-5,-5.3029781808228276e-8,-0.0020597197607184654,-5.049196909900188e-5,-5.330394627200139e-8,-0.002059385412596773,-5.0723251719086136e-5,-5.35509256812709e-8,-0.002059005920337264,-5.0901931837912855e-5,-5.374455696877302e-8,-0.0020586068325025636,-5.1015438910330984e-5,-5.387122879648511e-8,-0.0020582139353274493,-5.106332394108202e-5,-5.3929977985066915e-8,-0.0020578492211639973,-5.105516573900859e-5,-5.3930358175955645e-8,-0.002057528552028513,-5.100771436745336e-5,-5.388943054436595e-8,-0.0020572605931187234,-5.094215881551009e-5,-5.382886471043966e-8,-0.0020570463828137086,-5.088182315066045e-5,-5.3772543032440546e-8,-0.0020568790450358394,-5.0850080664488783e-5,-5.3744486331419684e-8,-0.0020567435004348058,-5.086799254343324e-5,-5.376655829843546e-8,-0.0020566165172875277,-5.0951144908211624e-5,-5.38553140117008e-8,-0.002056468009873697,-5.1105440079060466e-5,-5.40176449522486e-8,-0.002056264887091375,-5.13224346701609e-5,-5.4245796040435814e-8,-0.0020559784072281106,-5.157623756835036e-5,-5.451389058844007e-8,-0.0020555942713637253,-5.1825209665744814e-5,-5.4779432398487804e-8,-0.0020551217432332926,-5.202108670480498e-5,-5.4992587084446835e-8,-0.002054595971680873,-5.212442299521637e-5,-5.511211091620739e-8,-0.002054069540827032,-5.212000715115373e-5,-5.51213256728815e-8,-0.0020535954582683582,-5.202381128623128e-5,-5.503543356010499e-8,-0.002053209667556904,-5.187728707364314e-5,-5.48959111155173e-8,-0.002052921320923942,-5.1732422490422854e-5,-5.4755490408141264e-8,-0.0020527136286440546,-5.163540619096735e-5,-5.466165472016251e-8,-0.002052552370246584,-5.16152962902263e-5,-5.464504010682952e-8,-0.002052397089200715,-5.167979779085585e-5,-5.471483931427527e-8,-0.0020522111175157827,-5.1817015362214554e-5,-5.4860156203498216e-8,-0.002051968552414977,-5.200091488002448e-5,-5.505518884494557e-8,-0.002051657757119859,-5.219838699551085e-5,-5.5266251947721564e-8,-0.0020512816489339715,-5.237636228823249e-5,-5.5459107581815276e-8,-0.0020508553095427784,-5.2507832957142995e-5,-5.5605365688318714e-8,-0.0020504017421625635,-5.2575890404729004e-5,-5.568690921630114e-8,-0.002049946887543557,-5.257533993074332e-5,-5.5697769382127575e-8,-0.002049514984834118,-5.251207506856239e-5,-5.5643570315387093e-8,-0.0020491250330573053,-5.240083953067565e-5,-5.553919797775131e-8,-0.0020487886736325817,-5.226219084775036e-5,-5.540559549606092e-8,-0.002048509350314085,-5.211942672300324e-5,-5.526655233827838e-8,-0.0020482822912756475,-5.1995876311308334e-5,-5.514595440180733e-8,-0.0020480948969156336,-5.191250486751777e-5,-5.506543751527602e-8,-0.0020479273660762303,-5.188554270222557e-5,-5.5042078174011434e-8,-0.002047753716271682,-5.19237834715236e-5,-5.5085654827554707e-8,-0.002047543853386551,-5.202532476066097e-5,-5.5195172880639046e-8,-0.0020472677925593256,-5.2174216124140644e-5,-5.535514660858792e-8,-0.002046902870774027,-5.2338771760351975e-5,-5.553355877045675e-8,-0.0020464432837271392,-5.247451873274851e-5,-5.568470840459575e-8,-0.0020459084093877532,-5.253449204712567e-5,-5.575981860047395e-8,-0.002045343640214381,-5.2486027294355265e-5,-5.5724461720487053e-8,-0.002044808785656605,-5.2326853813685626e-5,-5.557525555895152e-8,-0.002044356731611969,-5.208986005362827e-5,-5.534487592771635e-8,-0.002044013525552351,-5.183141847200364e-5,-5.5090255370018856e-8,-0.002043771226817781,-5.160953417781544e-5,-5.48704621303244e-8,-0.0020435956589243583,-5.1464429347744986e-5,-5.472704260792385e-8,-0.0020434418674889353,-5.1410036594933055e-5,-5.4675282541850294e-8,-0.0020432684427998627,-5.14362548539681e-5,-5.470618039648655e-8,-0.0020430462096218717,-5.1516940304592496e-5,-5.4794150517663037e-8,-0.0020427612302023604,-5.161886518563504e-5,-5.490581755587025e-8,-0.002042413976632722,-5.170911019925943e-5,-5.50074620408479e-8,-0.0020420165420526716,-5.1760253982835196e-5,-5.5070471238764245e-8,-0.0020415890123641396,-5.1753638794210315e-5,-5.507496856439569e-8,-0.002041155494939975,-5.168102371657047e-5,-5.501178570621877e-8,-0.0020407401651533347,-5.154474405169965e-5,-5.488278817879703e-8,-0.0020403637204026146,-5.135653343018677e-5,-5.4699684377973364e-8,-0.002040040576882192,-5.113526412477106e-5,-5.448162890443747e-8,-0.002039777091455139,-5.09039490226065e-5,-5.425206240270826e-8,-0.0020395709362431877,-5.068649756636404e-5,-5.4035371776647424e-8,-0.002039411459954195,-5.050467571637247e-5,-5.385385724355181e-8,-0.002039280756574348,-5.037542727193322e-5,-5.372512326084712e-8,-0.0020391552857087123,-5.030852534711591e-5,-5.365977061904039e-8,-0.0020390080427771986,-5.030447590753775e-5,-5.365921376204627e-8,-0.002038811568452725,-5.0352607930303213e-5,-5.3713516384989046e-8,-0.0020385424324039243,-5.042973944197244e-5,-5.379970190700536e-8,-0.0020381875739485158,-5.050077044952324e-5,-5.388206675784495e-8,-0.0020377516616928775,-5.052330199125621e-5,-5.391680200972993e-8,-0.0020372625651711995,-5.045802416725423e-5,-5.386277190055731e-8,-0.0020367698775526524,-5.028392416035833e-5,-5.3697376840582164e-8,-0.0020363321435952564,-5.001196000452072e-5,-5.34308014077663e-8,-0.0020359951521852593,-4.968703486004547e-5,-5.310816086035136e-8,-0.0020357726478473404,-4.937288418461528e-5,-5.279414480895378e-8,-0.0020356419556401216,-4.9126855995544544e-5,-5.2547399322285394e-8,-0.002035556684070434,-4.897959533240644e-5,-5.2399885499866514e-8,-0.0020354668174017705,-4.892970414356411e-5,-5.2351307750795756e-8,-0.0020353344578759418,-4.8951698867931034e-5,-5.237686688565701e-8,-0.0020351402813209166,-4.900893595997211e-5,-5.2440021527677685e-8,-0.0020348825479860966,-4.906468718670452e-5,-5.250353037457378e-8,-0.0020345726105927375,-4.908894182699448e-5,-5.253641005057569e-8,-0.002034229863541913,-4.906144649731033e-5,-5.251727392128725e-8,-0.002033877432711455,-4.897243922319491e-5,-5.2435389666249733e-8,-0.002033538711092817,-4.882223756648143e-5,-5.2290488844127926e-8,-0.002033234470164266,-4.8620156756388854e-5,-5.2091736421230884e-8,-0.0020329804185158853,-4.838285072517303e-5,-5.185597492180308e-8,-0.0020327852353072594,-4.813206614562613e-5,-5.160531630998899e-8,-0.002032649254192641,-4.789178910703803e-5,-5.136415864036497e-8,-0.00203256409568354,-4.7684964149517676e-5,-5.115586867184493e-8,-0.002032513412831578,-4.7530207576543425e-5,-5.099954932398015e-8,-0.0020324746777436327,-4.743890663944881e-5,-5.0907215491822745e-8,-0.002032421864725609,-4.741298395352246e-5,-5.088156196373777e-8,-0.002032328861343699,-4.744359026821503e-5,-5.091451930689139e-8,-0.002032173443614939,-4.7510913626487626e-5,-5.098678990055797e-8,-0.002031941783002499,-4.75853718193778e-5,-5.106873150905396e-8,-0.0020316332829377146,-4.763092567556373e-5,-5.112349305662727e-8,-0.002031264678451989,-4.7611506845454626e-5,-5.111354889776993e-8,-0.0020308711459007655,-4.7500835256465015e-5,-5.101094070015697e-8,-0.002030501384939176,-4.7293891553481265e-5,-5.0809346057054425e-8,-0.0020302046550841244,-4.7015069114082157e-5,-5.053271389164446e-8,-0.002030012417735536,-4.6715860633814e-5,-5.023306514824246e-8,-0.0020299237206302333,-4.645858056483108e-5,-4.997393446583235e-8,-0.002029904534219609,-4.629246101907128e-5,-4.980599835191041e-8,-0.0020299027081861383,-4.6235733219535855e-5,-4.974874457112798e-8,-0.0020298691085456756,-4.6273355836021885e-5,-4.9787942532947575e-8,-0.002029772836986357,-4.6368492929145236e-5,-4.9886997870461254e-8,-0.0020296053518841788,-4.6478270704142267e-5,-5.0002696473796485e-8,-0.0020293762284797076,-4.6565779984025805e-5,-5.009732090515303e-8,-0.0020291058975264805,-4.660586503998099e-5,-5.0144678766039385e-8,-0.0020288190745721122,-4.658611551409667e-5,-5.013139050785385e-8,-0.0020285401833065263,-4.650544482721242e-5,-5.0055709880198454e-8,-0.0020282905163081324,-4.637198758862261e-5,-4.9925521941264115e-8,-0.0020280863812595215,-4.6201017541421475e-5,-4.975620376898143e-8,-0.002027937697407739,-4.6012910954525015e-5,-4.95684364968778e-8,-0.0020278468548150497,-4.5830932166805734e-5,-4.938584335030445e-8,-0.0020278079352926354,-4.5678563130217145e-5,-4.923225233991149e-8,-0.0020278066732735607,-4.5576287146234076e-5,-4.9128512005390405e-8,-0.0020278216052989797,-4.553814792964579e-5,-4.908913495339701e-8,-0.0020278266184087235,-4.5568694544187735e-5,-4.91192941943901e-8,-0.0020277947861438816,-4.566099727855335e-5,-4.921277950752152e-8,-0.0020277030598136164,-4.579640243999685e-5,-4.9351559556919325e-8,-0.0020275370670149273,-4.5946459644631754e-5,-4.950743825762933e-8,-0.0020272951641109476,-4.6077038467505365e-5,-4.964594133297112e-8,-0.0020269909380996286,-4.615441491887575e-5,-4.9732349917762104e-8,-0.002026653192492816,-4.615293081887066e-5,-4.973956903588067e-8,-0.002026322209052732,-4.606314805429271e-5,-4.965671815932576e-8,-0.0020260414134917063,-4.5898197313257225e-5,-4.949598467985722e-8,-0.002025845064816443,-4.569487890022771e-5,-4.929407616837752e-8,-0.0020257453978966516,-4.550622741121225e-5,-4.9104815330766504e-8,-0.0020257254701901042,-4.538541867435896e-5,-4.898274157296879e-8,-0.0020257433889951937,-4.536680350718691e-5,-4.89636608578841e-8,-0.0020257476215753702,-4.5453789008186565e-5,-4.905208248604179e-8,-0.002025695654193513,-4.562012774480506e-5,-4.922225373647776e-8,-0.0020255663701208917,-4.582262170758979e-5,-4.943082479997011e-8,-0.0020253618227586557,-4.6016984020625265e-5,-4.963283638283841e-8,-0.00202510099803616,-4.6169328034816214e-5,-4.979343944742674e-8,-0.002024811017417274,-4.626077683867761e-5,-4.989278000082901e-8,-0.002024519795827304,-4.6286832571634604e-5,-4.992561400738215e-8,-0.0020242514862415977,-4.625433913083903e-5,-4.989840752411386e-8,-0.002024024252686185,-4.617810969109077e-5,-4.982595556164917e-8,-0.0020238493406938953,-4.607808430854788e-5,-4.972841725462505e-8,-0.0020237306112493255,-4.597702408116703e-5,-4.96288581956967e-8,-0.002023664162763472,-4.589834984431947e-5,-4.955099750636145e-8,-0.0020236381094273855,-4.586365827157764e-5,-4.951673189348936e-8,-0.0020236329502209293,-4.5889656355000434e-5,-4.954314934249165e-8,-0.002023623153744319,-4.5984715081919234e-5,-4.963915423232379e-8,-0.0020235804546441657,-4.6145777376813115e-5,-4.980235686787022e-8,-0.002023478863220688,-4.635676148666589e-5,-5.0017332271608656e-8,-0.0020233006158513526,-4.658965624449702e-5,-5.025648223081647e-8,-0.002023041531229927,-4.6808945440860525e-5,-5.048423155390615e-8,-0.0020227139642913913,-4.6978896318268104e-5,-5.066420578545552e-8,-0.002022346013528821,-4.7072161309276584e-5,-5.0767917079637096e-8,-0.002021976583923614,-4.7077557162162256e-5,-5.0782829172766134e-8,-0.002021646938817805,-4.700482993717928e-5,-5.071753209060727e-8,-0.0020213903373314294,-4.688457071627136e-5,-5.060204845365824e-8,-0.00202122225761361,-4.676225438165741e-5,-5.048208770780828e-8,-0.002021134399579563,-4.668682793085823e-5,-5.040757499631068e-8,-0.0020210955157597492,-4.66964938733245e-5,-5.041810897949245e-8,-0.002021060207166187,-4.680660727557303e-5,-5.053039604591645e-8,-0.0020209831787395298,-4.700501284627893e-5,-5.073317426465869e-8,-0.0020208331782008873,-4.7257207541469374e-5,-5.0992163914768974e-8,-0.002020600749527367,-4.751873684499668e-5,-5.126249359928724e-8,-0.002020297495132843,-4.7748817668834114e-5,-5.150253416122725e-8,-0.002019949045350994,-4.791973032907616e-5,-5.168357842505219e-8,-0.002019586148214338,-4.801998291591459e-5,-5.1793273968425187e-8,-0.0020192374342056386,-4.8052601996660434e-5,-5.183409256541799e-8,-0.002018925159106304,-4.8031175323490096e-5,-5.181942050354247e-8,-0.0020186634942643855,-4.797571811880198e-5,-5.1769350061628944e-8,-0.002018458307559683,-4.7909321720409155e-5,-5.17071934570522e-8,-0.0020183074793059634,-4.7855657746552463e-5,-5.1656878184229704e-8,-0.0020182012242393878,-4.783688725574289e-5,-5.164083264519561e-8,-0.0020181224346406887,-4.7871384574551e-5,-5.167777089044754e-8,-0.002018047515893418,-4.797092449356852e-5,-5.177995991815182e-8,-0.0020179484270965854,-4.813745696818201e-5,-5.1950004632217014e-8,-0.0020177966111187182,-4.836022705575067e-5,-5.217785319666721e-8,-0.0020175689778127058,-4.861471743161788e-5,-5.243952149084699e-8,-0.0020172549083493363,-4.886518940475764e-5,-5.2699404555608824e-8,-0.0020168618491771245,-4.9071739379400246e-5,-5.291720278700551e-8,-0.0020164165457899337,-4.920074189090056e-5,-5.305839885690176e-8,-0.0020159601254947663,-4.923537724905972e-5,-5.310497994930823e-8,-0.0020155377782343923,-4.9182101111894395e-5,-5.3062208619770655e-8,-0.0020151863264922898,-4.9070186505180795e-5,-5.2958496549887175e-8,-0.0020149239683831454,-4.894424255995497e-5,-5.28381974040878e-8,-0.002014745466484543,-4.8852234007670655e-5,-5.2749744360003565e-8,-0.002014623980385843,-4.8832737442584404e-5,-5.2732795661562924E-08,-0.0020145187675945538,-4.8905033515197663e-5,-5.2807996323674024e-8,-0.002014386463354211,-4.9064737170752646e-5,-5.297217537397421e-8,-0.0020141926071653754,-4.928613889269881e-5,-5.3200321420099145e-8,-0.002013919923050992,-4.953032530867741e-5,-5.3453543629696204e-8,-0.002013571006866503,-4.975617191211685e-5,-5.369014468097558e-8,-0.0020131652167542056,-4.993046123284049e-5,-5.3875992139383384e-8,-0.002012731692604997,-5.0034158097124634e-5,-5.399109718532883e-8,-0.0020123014742402913,-5.0063845602625036e-5,-5.403129483295887e-8,-0.00201190121087524,-5.002933955111049e-5,-5.4005977959494064e-8,-0.002011549521326985,-4.994945558883987e-5,-5.393385164637899e-8,-0.002011255743455944,-4.984764678639762e-5,-5.383846809376056e-8,-0.0020110201985696686,-4.974843179222414e-5,-5.374453985485008e-8,-0.002010835083772604,-4.9674777295965575e-5,-5.367526613695328e-8,-0.0020106854277154628,-4.964606496865315e-5,-5.365032901804489e-8,-0.0020105500400673802,-4.9676073962541255e-5,-5.3683953076972764e-8,-0.0020104028617102853,-4.9770593190928885e-5,-5.3782559234610896e-8,-0.0020102154280196164,-4.992472116898015e-5,-5.39419945769669e-8,-0.002009961203093299,-5.01205774324166e-5,-5.4145045648848874e-8,-0.0020096220475094026,-5.032702956215601e-5,-5.436091558231032e-8,-0.0020091956873586328,-5.0503577918817376e-5,-5.454893403638213e-8,-0.0020087010935627442,-5.060963041617747e-5,-5.466782814365228e-8,-0.0020081776870822868,-5.06175125618987e-5,-5.468889528583259e-8,-0.0020076760813480246,-5.052404157729019e-5,-5.4607820427235687e-8,-0.0020072426309083852,-5.03543523152836e-5,-5.444874990717472e-8,-0.0020069043511348767,-5.015493124700536e-5,-5.42575575233768e-8,-0.0020066610667815107,-4.997871174697851e-5,-5.40871357697118e-8,-0.0020064875013838,-4.98690470565664e-5,-5.3981449732444325e-8,-0.0020063429428621477,-4.9848723760962696e-5,-5.396442162152271e-8,-0.0020061836818402717,-4.991653940438004e-5,-5.40361687618578e-8,-0.0020059740082301832,-5.005060728795719e-5,-5.4175883241144576e-8,-0.0020056933781890086,-5.021595398427699e-5,-5.434910207886136e-8,-0.0020053390005447076,-5.037374382076034e-5,-5.4516829286568113e-8,-0.0020049242019915922,-5.048986269802197e-5,-5.464425732666e-8,-0.0020044736538592134,-5.054119841472836e-5,-5.470733410760349e-8,-0.0020040170112563204,-5.0518666909647305e-5,-5.469609132681992e-8,-0.002003582651521957,-5.0426916644760484e-5,-5.461455429534083e-8,-0.002003192848389794,-5.028151267800684e-5,-5.4477987905210974e-8,-0.0020028610069787686,-5.010484787898947e-5,-5.430874706071043e-8,-0.0020025908720933084,-4.992194480586509e-5,-5.413196542421391e-8,-0.0020023771463984017,-4.9756918400443195e-5,-5.3971933421660555e-8,-0.002002206808863418,-4.963034306888264e-5,-5.384945799572805e-8,-0.0020020606277349035,-4.955729195151486e-5,-5.3779965287491494e-8,-0.002001914752160842,-4.9545629165052306e-5,-5.377186303277142e-8,-0.0020017426370449094,-4.959424701946217e-5,-5.382477021649585e-8,-0.0020015178700865826,-4.9691252782268014e-5,-5.392756337052816e-8,-0.002001218597218113,-4.981272984636775e-5,-5.4056892268100934e-8,-0.0020008337756181305,-4.9923598500677135e-5,-5.417780009747694e-8,-0.002000370096206164,-4.998267559890689e-5,-5.4248682766537245e-8,-0.0019998563334538166,-4.995319905600739e-5,-5.423191853970226e-8,-0.0019993405058199324,-4.981692900508882e-5,-5.4108211202206056e-8,-0.0019988771595501596,-4.958544642961348e-5,-5.388813032255459e-8,-0.001998508235516319,-4.930060305686856e-5,-5.361273486836377e-8,-0.0019982470792282445,-4.902112276864653e-5,-5.3340329163181614e-8,-0.001998074636703137,-4.880149849864028e-5,-5.31255233957502e-8,-0.0019979490776461596,-4.867431780069525e-5,-5.300163018068865e-8,-0.001997822100817167,-4.864355803151583e-5,-5.2973805172126e-8,-0.0019976535169998273,-4.8688691267618395e-5,-5.3022777123200866e-8,-0.001997419552504148,-4.8774601604832057e-5,-5.311433704727912e-8,-0.001997114744774493,-4.8862226688571974e-5,-5.320970261330998e-8,-0.0019967494607951706,-4.891701856579829e-5,-5.3273961127601174e-8,-0.0019963452028423133,-4.8914377496388965e-5,-5.328171644965104e-8,-0.0019959291743273603,-4.884227819040176e-5,-5.3220032150562435e-8,-0.0019955289872912786,-4.870151669163586e-5,-5.3088954045228216e-8,-0.001995168161878916,-4.850401085939419e-5,-5.289994962557313e-8,-0.0019948628903654394,-4.8269744288963775e-5,-5.267284224427861e-8,-0.0019946202670904343,-4.8023026531601735e-5,-5.2431967802807096e-8,-0.0019944379707342885,-4.7788675113880514e-5,-5.220224766362233e-8,-0.0019943051797844005,-4.7588659781935926e-5,-5.200579146376313e-8,-0.0019942042706509,-4.743954711749449e-5,-5.1859386167826104e-8,-0.001994112859914415,-4.735069680607469e-5,-5.1772781475901097e-8,-0.001994006037341234,-4.732295848864623e-5,-5.1747440313270875e-8,-0.001993858894812306,-4.7347710668200726e-5,-5.177551950964653e-8,-0.0019936496579878314,-4.740627635058635e-5,-5.18390919640976e-8,-0.001993363861819001,-4.7470190253398286e-5,-5.1910146838977426e-8,-0.0019929996205191062,-4.7503541595903896e-5,-5.195272017060764e-8,-0.0019925728195238626,-4.746902878186876e-5,-5.1928915188607375e-8,-0.001992119310680294,-4.7338527946317814e-5,-5.1809644671995214e-8,-0.001991689987214206,-4.710613654808492e-5,-5.1587956392584026e-8,-0.0019913363447532006,-4.6797293437381455e-5,-5.128838764343941e-8,-0.0019910904742861894,-4.6465669201456026e-5,-5.096398901617266e-8,-0.001990950368197197,-4.617513909028325e-5,-5.067840830528089e-8,-0.0019908806466250022,-4.5975167125504204e-5,-5.048140368418561e-8,-0.0019908285309041696,-4.5883747649525306e-5,-5.039181646697579e-8,-0.0019907446103717484,-4.588605349155747e-5,-5.039601315964357e-8,-0.0019905972795608703,-4.59456274268961e-5,-5.045866854053545e-8,-0.0019903769307380295,-4.601920467643337e-5,-5.053718566759492e-8,-0.001990092573971516,-4.60683822052351e-5,-5.059317403618827e-8,-0.0019897653271612717,-4.6066023946311286e-5,-5.059894157366422e-8,-0.0019894219047486518,-4.5998288524238066e-5,-5.0539804388693425e-8,-0.001989089388356069,-4.5864029542767294e-5,-5.041380553085208e-8,-0.001988791342582684,-4.5672889943786124e-5,-5.023002279694939e-8,-0.0019885450270769787,-4.544267119758317e-5,-5.000598811628438e-8,-0.001988359611822744,-4.519623780012269e-5,-4.9764511439258186e-8,-0.001988235373861473,-4.4958196634044265e-5,-4.9530237154278555e-8,-0.001988163874878257,-4.475155292368226e-5,-4.932622435749737e-8,-0.0019881291494703197,-4.4594624487372946e-5,-4.917088069716583e-8,-0.0019881097672433527,-4.449860634103792e-5,-4.907562319610449e-8,-0.0019880814361664893,-4.446599676205845e-5,-4.9043404078743095e-8,-0.001988019896370336,-4.448984902371915e-5,-4.90679788963876e-8,-0.0019879040251158317,-4.455382789815783e-5,-4.9133842968146527e-8,-0.001987719144006088,-4.463316087772778e-5,-4.921694042093964e-8,-0.001987460558236463,-4.46967620556441e-5,-4.9286514917244204e-8,-0.0019871370966062707,-4.471122399257981e-5,-4.9308929889939364e-8,-0.0019867735413332,-4.464753053386993e-5,-4.925440944020967e-8,-0.0019864096922321078,-4.449046879624519e-5,-4.910667619111871e-8,-0.001986093293887148,-4.424847454638656e-5,-4.887310764941467e-8,-0.0019858657165408035,-4.395851101024967e-5,-4.858986252843164e-8,-0.0019857444502105696,-4.36793761172567e-5,-4.831531748591886e-8,-0.0019857123157436644,-4.3471892985409506e-5,-4.811032585031551e-8,-0.001985722442942424,-4.3374678707536145e-5,-4.801403302963816e-8,-0.001985717837909519,-4.3389861516746215e-5,-4.802953349265059e-8,-0.0019856536347009303,-4.348657983914437e-5,-4.812711300883761e-8,-0.001985509793314366,-4.3617293200771854e-5,-4.826016677840372e-8,-0.001985291041141802,-4.373551017512467e-5,-4.8382599589213666e-8,-0.001985018982825112,-4.380710889702349e-5,-4.8460059289153266e-8,-0.00198472269519155,-4.381413163467009e-5,-4.8473904889146595e-8,-0.0019844313817317153,-4.3753602107519224e-5,-4.8420335013601454e-8,-0.0019841698777690116,-4.3634265418978614e-5,-4.830740886578302e-8,-0.00198395631013117,-4.347308097731399e-5,-4.815167459106861e-8,-0.00198380093609794,-4.32920529085931e-5,-4.7974972464015794e-8,-0.0019837056325942176,-4.311530044265703e-5,-4.7801388949448075e-8,-0.0019836639326078916,-4.2966205027643966e-5,-4.765430103584804e-8,-0.0019836616788419274,-4.2864560277764126e-5,-4.755351001687462e-8,-0.0019836784835310212,-4.2823816969524074e-5,-4.75125667742844e-8,-0.0019836901334029686,-4.284880913635948e-5,-4.753661876885519e-8,-0.0019836717844280323,-4.293443985340406e-5,-4.7621167559884083e-8,-0.001983601577361672,-4.306561983656408e-5,-4.775195443764006e-8,-0.00198346427639853,-4.321860830029743e-5,-4.79061064744248e-8,-0.001983254503428399,-4.3363817575379086e-5,-4.805466061004061e-8,-0.001982979128261479,-4.3470011868281195e-5,-4.8166508580713625e-8,-0.0019826583317162807,-4.350982227820718e-5,-4.8213806615591725e-8,-0.0019823245270563744,-4.346642997860529e-5,-4.817876549475533e-8,-0.0019820179079688013,-4.334055689306835e-5,-4.806092503305833e-8,-0.0019817776241884424,-4.315546627647395e-5,-4.788249609663614e-8,-0.001981629243341138,-4.295622121243347e-5,-4.768788218876515e-8,-0.00198157253207564,-4.279964969343516e-5,-4.753376447678903e-8,-0.0019815768110193243,-4.273555993575656e-5,-4.747031671641675e-8,-0.0019815896914275643,-4.2786939561310826e-5,-4.752132323658576e-8,-0.001981556964728314,-4.294065163758243e-5,-4.767470277125102e-8,-0.001981442898715948,-4.315455768342111e-5,-4.788935301045354e-8,-0.001981239994932547,-4.337586664281439e-5,-4.811318043326988e-8,-0.001980965615592369,-4.3559380683812036e-5,-4.830112897720887e-8,-0.001980651104271411,-4.3677669740602314e-5,-4.842535724700544e-8,-0.001980330622165264,-4.37224614567855e-5,-4.8476842035870866e-8,-0.001980033601616317,-4.370082309922366e-5,-4.846185712372692e-8,-0.001979781186553916,-4.362987461869388e-5,-4.8396913373778846e-8,-0.0019795853426471683,-4.35321462310607e-5,-4.8304189751421825e-8,-0.001979449164923876,-4.343211096476673e-5,-4.8208004801788516e-8,-0.001979367516891493,-4.335355049589747e-5,-4.81320762404166e-8,-0.0019793277939190233,-4.331724667908914e-5,-4.8097157631997425e-8,-0.0019793109779484602,-4.333865671006025e-5,-4.811875302716466e-8,-0.00197929334115372,-4.342552864224307e-5,-4.8204839307820454e-8,-0.0019792491585166726,-4.3575840607934675e-5,-4.835390191602501e-8,-0.0019791544719827683,-4.377676979296662e-5,-4.855390559455163e-8,-0.0019789914659854206,-4.400538864917376e-5,-4.878285284376596e-8,-0.001978752618067997,-4.423151487384888e-5,-4.9011380729146134e-8,-0.001978443571552841,-4.442266642057841e-5,-4.920743293376487e-8,-0.0019780837559768326,-4.455044155192306e-5,-4.93424419569069e-8,-0.001977704189216635,-4.459716325964112e-5,-4.9397956177720134e-8,-0.0019773423735596264,-4.4561466986321577e-5,-4.937141684655841e-8,-0.001977034607825835,-4.446140319979623e-5,-4.927959934097138e-8,-0.0019768066566202684,-4.433345001834858e-5,-4.915798984075471e-8,-0.0019766648048065616,-4.422600808807836e-5,-4.905454320636164e-8,-0.001976590642014865,-4.418718038152136e-5,-4.901754862575995e-8,-0.0019765433922679146,-4.424941926591262e-5,-4.908018505043689e-8,-0.0019764714799322142,-4.441704193678446e-5,-4.924782281001948e-8,-0.0019763299672662825,-4.466351711965738e-5,-4.949503779025665e-8,-0.0019760958592488333,-4.494111748014449e-5,-4.9774988214425593e-8,-0.001975773776278894,-4.519821653836421e-5,-5.003649186587927e-8,-0.001975390495162118,-4.539533451112828e-5,-5.0239976118785304e-8,-0.0019749831859174212,-4.551335871876182e-5,-5.0365773681986254e-8,-0.0019745879207018306,-4.555320514137526e-5,-5.041400386812903e-8,-0.0019742323786003236,-4.553037719774458e-5,-5.039938833552872e-8,-0.0019739331147513276,-4.5468406296927464e-5,-5.03448680797245e-8,-0.001973695819172792,-4.539349471122782e-5,-5.0276287499947574e-8,-0.0019735168135767726,-4.533089935511781e-5,-5.0218721062822205e-8,-0.0019733846944876474,-4.5302611923024283e-5,-5.019408501320979e-8,-0.0019732817668098417,-4.532562487218592e-5,-5.021939519624579e-8,-0.0019731854504376916,-4.5410207074392044e-5,-5.0305107394665245e-8,-0.0019730701622044603,-4.5557997564901036e-5,-5.045329830787116e-8,-0.001972910223039121,-4.576026673732602e-5,-5.0655959638034884e-8,-0.001972684031500541,-4.5997198476817514E-05,-5.0894198826261366e-8,-0.001972379090884328,-4.623929153514652e-5,-5.113944114811148e-8,-0.001971996635686588,-4.6451727228890164e-5,-5.135753400078218e-8,-0.0019715539766186102,-4.660160044857538e-5,-5.1515737334611745e-8,-0.0019710828542270687,-4.6666477609024985e-5,-5.159115485388241e-8,-0.001970623298040414,-4.664162896085638e-5,-5.1578016403124346e-8,-0.001970214212090245,-4.65432620191606e-5,-5.1491151948029e-8,-0.001969883242927487,-4.6406229230851866e-5,-5.1364075446337285e-8,-0.001969638857557791,-4.627639846031354e-5,-5.124174919757445e-8,-0.001969467008160238,-4.6199420166105754e-5,-5.116961866658035e-8,-0.0019693336914688433,-4.6208627966382286e-5,-5.1181552597747694e-8,-0.001969193371546135,-4.631535486871011e-5,-5.128996338486575e-8,-0.0019690015104308046,-4.650497733936632e-5,-5.148150977961362e-8,-0.001968727504736385,-4.6740821064600386e-5,-5.172064567922468e-8,-0.001968363316252578,-4.697522012612561e-5,-5.196041523031695e-8,-0.00196792440570595,-4.71636765838571e-5,-5.2156492160433425e-8,-0.001967443051877653,-4.727655930735045e-5,-5.227890703313716e-8,-0.0019669575953292872,-4.730437768201357e-5,-5.2317472555509746e-8,-0.0019665022928231123,-4.7256201646844035e-5,-5.228042290007389e-8,-0.0019661009362071376,-4.715377406937989e-5,-5.218873377314962e-8,-0.0019657647779907092,-4.702464970878444e-5,-5.206938544394163e-8,-0.001965493477560509,-4.689660585321579e-5,-5.194979398067257e-8,-0.001965277377825799,-4.6794002474408414e-5,-5.185413345399812e-8,-0.001965099914950498,-4.67357278760477e-5,-5.1801254050097615e-8,-0.0019649396611614903,-4.673397854378611e-5,-5.180348656861776e-8,-0.0019647721014879383,-4.6793187059781656e-5,-5.186563289514447e-8,-0.0019645716558417217,-4.690878647692816e-5,-5.1983771468773974e-8,-0.0019643145874512157,-4.706604455706395e-5,-5.214404907793817e-8,-0.001963983213520618,-4.7239795327600476e-5,-5.232226406608289e-8,-0.0019635711534783046,-4.7396399391850306e-5,-5.248560550378622e-8,-0.0019630881783210172,-4.749923158841316e-5,-5.2597912011238834e-8,-0.0019625620385825687,-4.7517783547080394e-5,-5.262860028092075e-8,-0.001962034600536159,-4.743810866143697e-5,-5.2563034466538445e-8,-0.001961551663459193,-4.7270187530390955e-5,-5.2409958425237556e-8,-0.0019611493437624405,-4.7047867070956564e-5,-5.2201684891901307e-8,-0.0019608425118726406,-4.682012526184868e-5,-5.198578136085175e-8,-0.001960620223510975,-4.663679110534357e-5,-5.1811253235307756e-8,-0.00196044964691645,-4.65343886842311e-5,-5.1714684022350806e-8,-0.001960286244385532,-4.652696232149927e-5,-5.171103424799668e-8,-0.0019600861987816276,-4.660393314075276e-5,-5.1791161198884274e-8,-0.001959817384072231,-4.673447845393499e-5,-5.192571546679343e-8,-0.0019594663672666632,-4.687647620848606e-5,-5.207366237327364e-8,-0.0019590402013480103,-4.69873681531962e-5,-5.219291849091948e-8,-0.0019585630459199917,-4.7034093216261266e-5,-5.2250281015410575e-8,-0.0019580689434451474,-4.699963912862847e-5,-5.222813797470916e-8,-0.001957593098636109,-4.6884855780413277E-05,-5.212650982795257e-8,-0.0019571642607120374,-4.6705755925512453e-5,-5.196056523166988e-8,-0.001956800031936092,-4.648795164335014e-5,-5.175520387715332e-8,-0.0019565055327110657,-4.626040613743492e-5,-5.1538868280151164e-8,-0.001956274664949442,-4.605019885705157e-5,-5.133830575689433e-8,-0.0019560927255029953,-4.587904903303501e-5,-5.117507505063576e-8,-0.001955939273522816,-4.5761480824035993e-5,-5.106372503209461e-8,-0.00195579066288265,-4.570401845100373e-5,-5.101104052329391e-8,-0.001955622211363207,-4.570476038673568e-5,-5.101566680936453e-8,-0.001955410378080181,-4.575298140689403e-5,-5.1067700552761083e-8,-0.0019551355106216866,-4.5828851541139104e-5,-5.114829612455283e-8,-0.0019547856381423576,-4.590392133545704e-5,-5.122995115968192e-8,-0.001954361197611504,-4.594364275569868e-5,-5.127880370114713e-8,-0.001953879361532978,-4.591336545457481e-5,-5.126044894606853e-8,-0.001953375159198017,-4.5788157126795125e-5,-5.114965466945004e-8,-0.0019528960573228693,-4.556404200060815e-5,-5.094156483201756e-8,-0.0019524888638265663,-4.52650121756844e-5,-5.0658773399677315e-8,-0.0019521829510683111,-4.493969555783338e-5,-5.03482415102804e-8,-0.001951978224705543,-4.4646436883604996e-5,-5.006686001308755e-8,-0.0019518449631389671,-4.4433199757164185e-5,-4.9861909053352045e-8,-0.0019517355290165363,-4.43223575013476e-5,-4.9756164208185047e-8,-0.0019516011374687279,-4.430667685873654e-5,-4.9743737900243164e-8,-0.0019514058087092413,-4.4355660121435736e-5,-4.979589561049797e-8,-0.0019511334488388776,-4.442707829644108e-5,-4.987196748279403e-8,-0.0019507882121724506,-4.4478635729643045e-5,-4.993057447552316e-8,-0.0019503903208332868,-4.447687118184344e-5,-4.9938400968221414e-8,-0.0019499696523796678,-4.440237013879302e-5,-4.9875550740711113e-8,-0.0019495587983859016,-4.425144642123595e-5,-4.973750799595954e-8,-0.0019491867583722598,-4.403481674939329e-5,-4.953408613857425e-8,-0.001948874170726926,-4.3773966244990976e-5,-4.928597425302703e-8,-0.0019486306854478142,-4.3496186610003896e-5,-4.901984567298104e-8,-0.0019484545808215287,-4.322941742227304e-5,-4.876319520040075e-8,-0.0019483342448092852,-4.299784164805793e-5,-4.853991498678627e-8,-0.0019482508367361243,-4.281882578092175e-5,-4.8367249272998264E-08,-0.0019481813406516451,-4.2701332047739913e-5,-4.8254265238426306e-8,-0.001948101431884755,-4.2645465612550796e-5,-4.820147285858156e-8,-0.0019479880023605153,-4.2642663695294445e-5,-4.820104258643957e-8,-0.0019478215084132696,-4.267621983914629e-5,-4.823725928348993e-8,-0.0019475884766814169,-4.2722120831818105e-5,-4.8287176766687065e-8,-0.001947284537476418,-4.2750605376743135e-5,-4.832193112023108e-8,-0.0019469179020162252,-4.272943149953421e-5,-4.830978464674593e-8,-0.001946512130701754,-4.2629987351193034e-5,-4.8222103668448865e-8,-0.0019461057920909896,-4.243645483759409e-5,-4.804249139879382e-8,-0.0019457459924259364,-4.2155871844775294e-5,-4.777688442978733e-8,-0.001945474433914433,-4.182357814670306e-5,-4.745909633402526e-8,-0.0019453099923769398,-4.149726260691403e-5,-4.7145127891331156e-8,-0.0019452376149965635,-4.123797713130104e-5,-4.689469161507122e-8,-0.0019452123501192205,-4.108646923628689e-5,-4.67481344270079e-8,-0.0019451775408544185,-4.104846697515171e-5,-4.671199913017461e-8,-0.001945086305653114,-4.10964890190002e-5,-4.67605464329462e-8,-0.00194491498170104,-4.118420798055841e-5,-4.6849415350206084e-8,-0.0019446649566739968,-4.1263439193324884e-5,-4.693190382853436e-8,-0.0019443564891179575,-4.129638690638195e-5,-4.6970831215838533e-8,-0.001944019871009889,-4.126124977537125e-5,-4.694416268183079e-8,-0.0019436874568431314,-4.115267744009283e-5,-4.6845757576426216e-8,-0.0019433878283089455,-4.097933082895468e-5,-4.668329117893592e-8,-0.0019431420227587768,-4.076018683375537e-5,-4.64748293924473e-8,-0.001942961425049852,-4.052037587530838e-5,-4.624478413720799e-8,-0.001942847090506267,-4.028693694379081e-5,-4.6019666043409794e-8,-0.001942790358890472,-4.008483999357206e-5,-4.5824064376144906e-8,-0.0019427745871054582,-3.9933607897037706e-5,-4.5677259981585586e-8,-0.0019427777616891982,-3.984486508728241e-5,-4.559083113158273e-8,-0.0019427755865315058,-3.982107608163827e-5,-4.556748866183424e-8,-0.0019427445679542873,-3.985544668643988e-5,-4.5601049016244416e-8,-0.0019426648249855798,-3.9932722126588916e-5,-4.5677213148583996e-8,-0.0019425225723483325,-4.003067731752825e-5,-4.577491057145826e-8,-0.00194231231186212,-4.0122223590998573e-5,-4.586815250812175e-8,-0.001942038840723702,-4.017825071467646e-5,-4.592859500544757e-8,-0.0019417189403766162,-4.017172995117602e-5,-4.592943591477745e-8,-0.0019413817963929902,-4.0083668653272205e-5,-4.5851299075569445e-8,-0.0019410663758636533,-3.9910612776753746e-5,-4.5689797651230024e-8,-0.0019408138567119492,-3.9671609827259084e-5,-4.546263553447091e-8,-0.0019406546006421536,-3.941021451110704e-5,-4.52117972507066e-8,-0.001940593319235403,-3.918608994782784e-5,-4.499543804327817e-8,-0.0019406012767298,-3.905498590278002e-5,-4.486832358067523e-8,-0.001940623920404477,-3.904542284858823e-5,-4.4859006867683975e-8,-0.0019406025544464632,-3.914639483061919e-5,-4.495769578301747e-8,-0.001940497520876102,-3.931411884703988e-5,-4.512260307194805e-8,-0.001940299698239888,-3.949212761192832e-5,-4.5299254342045724e-8,-0.0019400271696272137,-3.9631546521015266e-5,-4.5440050246729585e-8,-0.0019397134945464904,-3.970249901148748e-5,-4.55153769119164e-8,-0.0019393955892964717,-3.969592038203203e-5,-4.551557626730208e-8,-0.0019391053846128947,-3.961966037424788e-5,-4.544745102453445e-8,-0.0019388656601532564,-3.9492805816283906e-5,-4.532898685003671e-8,-0.0019386887618311728,-3.9340423201373115e-5,-4.518433473733331e-8,-0.0019385768153243493,-3.9189313030825355e-5,-4.5039624737876385e-8,-0.0019385226755074644,-3.9064588188579694e-5,-4.491950007652083e-8,-0.0019385113945777103,-3.89868350713039e-5,-4.4844233237342264e-8,-0.0019385222021650083,-3.8969763524809525e-5,-4.48273957066787e-8,-0.0019385310528990875,-3.9018436577778017e-5,-4.4874176736247263E-08,-0.001938513684450707,-3.912838732750907e-5,-4.498060099930697e-8,-0.0019384488723173468,-3.928589530112374e-5,-4.51338353807561e-8,-0.001938321483040145,-3.946943857740446e-5,-4.531354277085539e-8,-0.0019381250107120861,-3.965222629013153e-5,-4.5494184057548586e-8,-0.0019378633026130548,-3.9805684583894356e-5,-4.5648196322549064e-8,-0.0019375512317700392,-3.990367219926965e-5,-4.574992768613837e-8,-0.0019372141057675222,-3.9927275177831916e-5,-4.5780279834495175e-8,-0.0019368852732491004,-3.987006414845319e-5,-4.573198875575406e-8,-0.0019366009982821448,-3.9743041431457964e-5,-4.561474398462704e-8,-0.001936392008214114,-3.9577268369624826e-5,-4.545806912288991e-8,-0.0019362725887905185,-3.9421116423997146e-5,-4.530885190760244e-8,-0.0019362308367980837,-3.93293215936308e-5,-4.522070434461868e-8,-0.0019362265448863605,-3.934447117414749e-5,-4.5235796012735197e-8,-0.0019362021567699314,-3.947831204143984e-5,-4.5366449130396565e-8,-0.0019361044622756712,-3.9704499044345756e-5,-4.558787687093552e-8,-0.0019359055467726995,-3.9969038024905696e-5,-4.5848165191453386e-8,-0.001935610918476163,-4.0212436952495197e-5,-4.608967212085328e-8,-0.0019352522767100955,-4.0390248298052926e-5,-4.626892936144965e-8,-0.001934872343550989,-4.04826572347339e-5,-4.636602580928481e-8,-0.0019345110162189247,-4.0492973987788945e-5,-4.6383349171738214e-8,-0.0019341974042064007,-4.0440353373262014e-5,-4.633877244453355e-8,-0.00193394745527741,-4.035183976460438e-5,-4.6258113992407355e-8,-0.0019337648831009675,-4.025623586702828e-5,-4.6169223646382756e-8,-0.001933643297940725,-4.018010690860001e-5,-4.6098017218746215e-8,-0.0019335684391845415,-4.014524819687492e-5,-4.606588963420782e-8,-0.0019335202829593439,-4.016691288990378e-5,-4.608791074426844e-8,-0.001933475196842574,-4.025240778009302e-5,-4.617145854048994e-8,-0.0019334084174011334,-4.039999941699849e-5,-4.6315210257224784e-8,-0.0019332970460884604,-4.0598441631085976e-5,-4.6508730328468455e-8,-0.0019331234337040622,-4.0827636234276635e-5,-4.67330881859333e-8,-0.0019328784570221483,-4.1060782189105156e-5,-4.69628242270068e-8,-0.001932564016748744,-4.126806268614148e-5,-4.716934132885776e-8,-0.0019321940512386387,-4.14215942181376e-5,-4.732552837106896e-8,-0.001931793485630655,-4.1500945427768556e-5,-4.741103326315836e-8,-0.0019313948975945483,-4.149824340283206e-5,-4.741729676503009e-8,-0.0019310330346188518,-4.142188515293687e-5,-4.7351395895912765e-8,-0.0019307375352558293,-4.1297801414388954e-5,-4.723760067108958e-8,-0.0019305246932332914,-4.116693684145903e-5,-4.711522060800814e-8,-0.0019303901558369954,-4.107771840039374e-5,-4.7031429532281454e-8,-0.001930305702440573,-4.1073507327231025e-5,-4.70290097302363e-8,-0.001930223661133537,-4.117772149833033e-5,-4.71316652941459e-8,-0.0019300904151773313,-4.1382707713134946e-5,-4.733292449466249e-8,-0.0019298652063116251,-4.1649473063614e-5,-4.7595646288971316e-8,-0.0019295353407003367,-4.192078311450537e-5,-4.786461098057043e-8,-0.0019291195029987889,-4.214178037375372e-5,-4.8086494979264673e-8,-0.0019286581510240075,-4.227740391874418e-5,-4.822680388860586e-8,-0.0019281977027044515,-4.23190945630982e-5,-4.827648982478889e-8,-0.001927776949794641,-4.228093381957044e-5,-4.8248402386580654e-8,-0.0019274200721663662,-4.219051722902683e-5,-4.8168652620736966e-8,-0.001927135772707496,-4.20798850584923e-5,-4.8067954346620734e-8,-0.0019269198332215003,-4.197912027142969e-5,-4.797542280744417e-8,-0.0019267586318278405,-4.1912777277154615e-5,-4.7915023022203665e-8,-0.0019266323173630316,-4.189820026513446e-5,-4.7903834928403336e-8,-0.0019265173637764677,-4.194471819140883e-5,-4.795122144177823e-8,-0.0019263888011234276,-4.205308385953557e-5,-4.805829680961167e-8,-0.0019262225974915343,-4.221501646557592e-5,-4.821751718558146e-8,-0.0019259985568891125,-4.2413183674726635e-5,-4.8412658231367925e-8,-0.0019257037357562376,-4.262227688328076e-5,-4.861977364178274e-8,-0.0019253358507307667,-4.281183412618318e-5,-4.88097763412886e-8,-0.0019249056464002532,-4.295109158693287e-5,-4.895296804974039e-8,-0.00192443696510101,-4.3015405547280085e-5,-4.9025146674251664e-8,-0.001923963576351099,-4.299286159649854e-5,-4.901401418858055e-8,-0.0019235227456985294,-4.288907110417211e-5,-4.892397352513479e-8,-0.0019231466972611288,-4.2728295806226845e-5,-4.8777489495455956e-8,-0.0019228540148536525,-4.2549887097491935e-5,-4.861195243355361e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_10.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_10.json
deleted file mode 100644
index 6540635..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_10.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":10000,"numberOfSamples":1000,"samples":[1.9197471616856318e-4,7.996600532056201e-6,-1.2597360486632112e-8,1.923979354906972e-4,8.059544161443208e-6,-1.2601754449986743e-8,1.9274745963100852e-4,8.18217092448731e-6,-1.2612185701149495e-8,1.9301410614298842e-4,8.328459694631899e-6,-1.2625220207854334e-8,1.9320200661086356e-4,8.46367290461882e-6,-1.263746635903232e-8,1.933256574311564e-4,8.557979990756902e-6,-1.264596926377846e-8,1.9340729897750835e-4,8.588749871695277e-6,-1.2648467217789009e-8,1.9347454382165973e-4,8.54234886551231e-6,-1.2643575641672086e-8,1.9355780445299317e-4,8.41580428718647e-6,-1.2630935191527253e-8,1.9368703586457032e-4,8.218144650907273e-6,-1.2611321617725655e-8,1.9388759494511673e-4,7.970728457914735e-6,-1.2586673932584885e-8,1.9417557384287807e-4,7.70570255454025e-6,-1.2559972916060515e-8,1.9455353413614596e-4,7.461994170668981e-6,-1.2534909842557773e-8,1.950079268750979e-4,7.278838435440244e-6,-1.2515320800328438e-8,1.9550946566497787e-4,7.1877009230743185e-6,-1.250443183656935e-8,1.9601716991058025e-4,7.204296880679899e-6,-1.2504049076168112e-8,1.964858622143666e-4,7.322751895738212e-6,-1.2513893072518937e-8,1.9687601817327312e-4,7.513719443070609e-6,-1.2531293180978063e-8,1.9716418145619786e-4,7.727807131336245e-6,-1.255143733487227e-8,1.9735148270881055e-4,7.904972006017888e-6,-1.256828984627858e-8,1.9746717430474582e-4,7.989189307001313e-6,-1.2576107854737417e-8,1.9756414464783983e-4,7.945391162788686e-6,-1.2571208909452543e-8,1.9770522673983343e-4,7.772936988045046e-6,-1.255336219063038e-8,1.9794335851555265e-4,7.508737590816236e-6,-1.2526112219574885e-8,1.9830340643788719e-4,7.216310774252375e-6,-1.2495704511570225e-8,1.9877444051722307e-4,6.9643475770128966e-6,-1.2468991956480241e-8,1.9931605492441463e-4,6.804754497374457e-6,-1.2451273955690413e-8,1.99874367496323e-4,6.7599548302468994e-6,-1.2444993679265321e-8,2.0039900027274713e-4,6.82270849799812e-6,-1.2449629419202722e-8,2.0085428305204736e-4,6.964723431631095e-6,-1.2462470630692901e-8,2.012230129828281e-4,7.147810040913146e-6,-1.2479705950981818e-8,2.015048844233702e-4,7.3331078822919305e-6,-1.2497376827881843e-8,2.0171260728942556e-4,7.4869143007848404e-6,-1.2512018298014086e-8,2.0186784837753266e-4,7.583663846056725e-6,-1.2521002574264202e-8,2.0199788115223623e-4,7.6072954724533325e-6,-1.252268798054521e-8,2.0213287762151582e-4,7.552075776678594e-6,-1.25164799413586e-8,2.023032713093168e-4,7.423389313956485e-6,-1.250287524528341e-8,2.025365492604393e-4,7.238354929979809e-6,-1.2483501654253962e-8,2.0285312487000682e-4,7.025543178481034e-6,-1.2461102098633864e-8,2.032615548180566e-4,6.822697696785637e-6,-1.2439358398961576e-8,2.037542292355152e-4,6.671464949679808e-6,-1.2422433892723618e-8,2.043054648544205e-4,6.609017340781519e-6,-1.241418367286807e-8,2.0487402079284614e-4,6.658061470286973e-6,-1.2417141084804209e-8,2.0541091916908847e-4,6.8183286453880834e-6,-1.2431576848491557e-8,2.0587131297464264e-4,7.063148440915905e-6,-1.2455025250029365e-8,2.0622704282800456e-4,7.343452105811302e-6,-1.2482583077772363e-8,2.064756840198449e-4,7.598950788494315e-6,-1.2508013979414962e-8,2.0664282168786132e-4,7.773572333271332e-6,-1.2525372054527937e-8,2.0677643799377142e-4,7.830732911241555e-6,-1.2530654293509096e-8,2.069346139971509e-4,7.763969732585166e-6,-1.252297208136234e-8,2.0716968071363143e-4,7.599507240572051e-6,-1.2504868071919612e-8,2.075133831394106e-4,7.389324388835024e-6,-1.2481637303243253e-8,2.079680047158014e-4,7.196295440443784e-6,-1.2459822238997104e-8,2.0850678511286473e-4,7.076223630712314e-6,-1.2445361216516968e-8,2.09083353603553e-4,7.063208010991012e-6,-1.2442027977015235e-8,2.0964607359171694e-4,7.163288146015455e-6,-1.245068068918884e-8,2.1015153998119444e-4,7.357300167494584e-6,-1.2469466055778998e-8,2.105729208467013e-4,7.6098914082299795e-6,-1.2494715588623496e-8,2.1090206952705673e-4,7.880059152858419e-6,-1.2522068534104855e-8,2.1114705135521922e-4,8.129688725332927e-6,-1.2547426277362978e-8,2.11327623932954e-4,8.328785948689606e-6,-1.2567558359396523e-8,2.1147063027153733e-4,8.45781981905388e-6,-1.2580371063842255e-8,2.116062170779773e-4,8.508318739735103e-6,-1.2584953522756101e-8,2.1176489219544155e-4,8.482821664273282e-6,-1.2581533889456395e-8,2.1197487908306462e-4,8.394780190546323e-6,-1.2571439050506965e-8,2.1225908578335732e-4,8.268336110121104e-6,-1.2557075378613995e-8,2.1263125815806694e-4,8.137282943263268e-6,-1.2541867403695375e-8,2.1309149641396343e-4,8.042041677157666e-6,-1.2530015745409708e-8,2.1362232923984473e-4,8.023413973770414e-6,-1.2525906367685887e-8,2.141877185477536e-4,8.112834049185048e-6,-1.2533095524318957e-8,2.1473774581068903e-4,8.3210914871919e-6,-1.2553050116063849e-8,2.1522011129794914e-4,8.630080126066386e-6,-1.2584142235542132e-8,2.1559591766686086e-4,8.992908412392393e-6,-1.2621531987775295e-8,2.1585357677476676e-4,9.344915051726786e-6,-1.2658284937238318e-8,2.1601416666211921e-4,9.622593263837225e-6,-1.2687427039128446e-8,2.1612534488552648e-4,9.78287653756447e-6,-1.2704087855205246e-8,2.1624652249650514e-4,9.81514982519467e-6,-1.2706860844017089e-8,2.1643148366610137e-4,9.742398905621779e-6,-1.2697982257149455e-8,2.1671439125053968e-4,9.612686075077394e-6,-1.2682472194826136e-8,2.1710262618754617e-4,9.484942883597433e-6,-1.2666663487275253e-8,2.1757724992220657e-4,9.413689438536168e-6,-1.2656583095773519e-8,2.180998881122663e-4,9.436636301726828e-6,-1.2656579120301334e-8,2.1862349866680082e-4,9.567821662343242e-6,-1.2668481926430359e-8,2.1910382506955763e-4,9.797254291937394e-6,-1.2691451235088495e-8,2.1950852180187367e-4,1.0096209406878957e-5,-1.2722473686840802e-8,2.1982203208259762e-4,1.0425814221374339e-5,-1.2757289563240955e-8,2.2004593990235762e-4,1.0746017377170483e-5,-1.279141904043139e-8,2.2019594725035345e-4,1.1022697089033848e-5,-1.2821004358988786e-8,2.2029723714439854e-4,1.1231954282858246e-5,-1.284332207805951e-8,2.2037976133546005e-4,1.1361792925413278e-5,-1.285697045584737e-8,2.204743050715671e-4,1.1412058566647195e-5,-1.2861837839761607e-8,2.2060942735678435e-4,1.139360836886871e-5,-1.2858986747465736e-8,2.2080886496210573e-4,1.1327297175898568e-5,-1.2850546480647196e-8,2.2108883199633075e-4,1.1242779422350658e-5,-1.2839626876663463e-8,2.2145479727229533e-4,1.117656313941561e-5,-1.2830179748791994e-8,2.218978524119614e-4,1.1168241380550244e-5,-1.2826654765479383e-8,2.223918274118358e-4,1.125368271022084e-5,-1.2833271066266854e-8,2.2289360923823234e-4,1.1454892795233024e-5,-1.2852838922138324e-8,2.2334970247736352e-4,1.1768728623398749e-5,-1.288537714386462e-8,2.2371036423718345e-4,1.2159917386077626e-5,-1.2927189221052759e-8,2.2394786325905398e-4,1.2565129918165497e-5,-1.2971236046903973e-8,2.2407012789687003e-4,1.2910776320851335e-5,-1.3009149058543156e-8,2.2412080512659326e-4,1.3138423398335554e-5,-1.3034156281509835e-8,2.2416403518024246e-4,1.3225258584550226e-5,-1.3043432270151873e-8,2.242617193073924e-4,1.31895428771349e-5,-1.303873108036752e-8,2.244545122747121e-4,1.3080514119203897e-5,-1.302529805681681e-8,2.247533541484739e-4,1.2960154137190002e-5,-1.3009918312410972e-8,2.2514149681588606e-4,1.288542370013457e-5,-1.2999015386017868e-8,2.2558304221404233e-4,1.2896057941767493e-5,-1.2997297157850649e-8,2.2603369392279116e-4,1.3009117176953077e-5,-1.3007061790201875e-8,2.264507770082446e-4,1.3219243737167519e-5,-1.3028087674737915e-8,2.2680097981678127e-4,1.3502917845584759e-5,-1.3057987443448877e-8,2.2706512925085745e-4,1.3825112165154655e-5,-1.3092899943215674e-8,2.2723980182644377e-4,1.4146844760246526e-5,-1.312835960370297e-8,2.2733606659061404e-4,1.4432176615984899e-5,-1.316015072754668e-8,2.2737613010144923e-4,1.4653552288310205e-5,-1.3184975709050629e-8,2.2738889061095103e-4,1.4794967275872633e-5,-1.3200846957566375e-8,2.2740539458427508e-4,1.485298630857986e-5,-1.3207200828708261e-8,2.2745491914188558e-4,1.48361020505556e-5,-1.3204810600297655e-8,2.2756189301271438e-4,1.4763163136429955e-5,-1.3195611648549548e-8,2.2774342945347363e-4,1.4661392768367974e-5,-1.318251654013457e-8,2.2800711646406744e-4,1.4564073938727435e-5,-1.3169225227622847e-8,2.2834878588194946e-4,1.4507553748530596e-5,-1.3159958692847593e-8,2.287503519544513e-4,1.4526782542924386e-5,-1.3158983635572145e-8,2.2917872878590236e-4,1.4648464790645952e-5,-1.3169782666393387e-8,2.2958798770619958e-4,1.4881779191418465e-5,-1.3193861131791164e-8,2.2992738155013117e-4,1.5208892056563145e-5,-1.3229487616666131e-8,2.3015629354228862e-4,1.5580637661667213e-5,-1.3271075564489491e-8,2.3026234150305317e-4,1.5924292688085457e-5,-1.331008459441756e-8,2.3027280889853033e-4,1.6165999528322054e-5,-1.3337725131374554e-8,2.3024916735463958e-4,1.6259694822258185e-5,-1.3348408049319169e-8,2.3026415545918469e-4,1.6206222473384533e-5,-1.334196191813377e-8,2.303737207873722e-4,1.6050930760160185e-5,-1.3323325049974134e-8,2.3059936656605264e-4,1.586282236461781e-5,-1.3300188674521488e-8,2.309273397309413e-4,1.5709080036263402e-5,-1.328019137069129e-8,2.3131987266427655e-4,1.5637160807724585e-5,-1.3268952807786755e-8,2.3172978464227394e-4,1.5668110115491378e-5,-1.3269276372437528e-8,2.3211253167230013e-4,1.579838872190477e-5,-1.3281222326984168e-8,2.3243381968418038e-4,1.6005968044664794e-5,-1.3302645758738719e-8,2.326732628860945e-4,1.6257565449448583e-5,-1.3329918467555854e-8,2.3282524674238283e-4,1.651551762610959e-5,-1.3358697686405669e-8,2.3289788056306504e-4,1.674381866600482e-5,-1.3384673664069943e-8,2.3291052997145164e-4,1.6913063406322665e-5,-1.3404220672953126e-8,2.3289032072172143e-4,1.700401500413197e-5,-1.3414875180816028e-8,2.3286803858424185e-4,1.7009620439693355e-5,-1.3415595856352999e-8,2.328739025738482e-4,1.6935397883075238e-5,-1.3406804390503862e-8,2.3293373693946084e-4,1.6798289595216762e-5,-1.3390246403408823e-8,2.3306590757557672e-4,1.6624355851294292e-5,-1.3368746419574027e-8,2.3327907598190837e-4,1.6445739810291813e-5,-1.334591547674048e-8,2.3357067709120252e-4,1.6297106752196225e-5,-1.3325815392409889e-8,2.3392604926032666e-4,1.621152078481189e-5,-1.3312532903507163e-8,2.3431832644508823e-4,1.6215461539974096e-5,-1.3309583151627188e-8,2.3470981296471905e-4,1.6322593851986297e-5,-1.3319074542987742e-8,2.350563586266793e-4,1.6526652827706943e-5,-1.3340700335972787e-8,2.3531635632917516e-4,1.6795606538324656e-5,-1.3370882993466678e-8,2.3546449597391608e-4,1.7071515543042718e-5,-1.3402687449686616e-8,2.3550651143611578e-4,1.7281479296035646e-5,-1.3427194538859864e-8,2.354860662292638e-4,1.736119067195648e-5,-1.3436455207389577e-8,2.354745423562714e-4,1.7282664410910297e-5,-1.3426879119078932e-8,2.3554413988636483e-4,1.7069422488256228e-5,-1.340100684306105e-8,2.3573843359821594e-4,1.678735137254538e-5,-1.3366380140959267e-8,2.3605794175604995e-4,1.6516440745440828e-5,-1.333226482032832e-8,2.364666128436858e-4,1.6321330128306323e-5,-1.3306309980540544e-8,2.369106704107837e-4,1.6235316784717564e-5,-1.329272307712745e-8,2.373372411284009e-4,1.6259841608278305e-5,-1.3292124623119489e-8,2.3770594596677692e-4,1.6372931299750227e-5,-1.3302373390412671e-8,2.37993246071328e-4,1.6539681380754335e-5,-1.3319651568231e-8,2.3819211939730327e-4,1.6721074059761234e-5,-1.3339438365960858e-8,2.3830961030271236e-4,1.6880231173799742e-5,-1.335727306140373e-8,2.3836375681855868e-4,1.6986636247061285e-5,-1.3369334013755532e-8,2.3838035533166568e-4,1.701905501777484e-5,-1.33728675782703e-8,2.383895323005555e-4,1.6967478698558967e-5,-1.3366467989198284e-8,2.38422070556946e-4,1.6834089647268072e-5,-1.3350197399653409e-8,2.3850556570700744e-4,1.6633066038275236e-5,-1.3325545739040455e-8,2.3866072662191243e-4,1.6388979589520194e-5,-1.32952356240298e-8,2.3889832942241776e-4,1.613376763873816e-5,-1.3262897145540119e-8,2.3921726251748584e-4,1.5902571416136462e-5,-1.3232645062727092e-8,2.3960391772207974e-4,1.5728837101970084e-5,-1.3208572512056224e-8,2.4003306897066437e-4,1.5639090729009958e-5,-1.3194159292205045e-8,2.4047031694471747e-4,1.5647770280759835e-5,-1.3191601366742145e-8,2.408763192909911e-4,1.5752441997243236e-5,-1.320109658813078e-8,2.4121332685415593e-4,1.593012198481269e-5,-1.3220221033409507e-8,2.414543324312317e-4,1.6136500786482835e-5,-1.3243695130072412e-8,2.4159379503856346e-4,1.631092961927605e-5,-1.3263965868818756e-8,2.416563493402631e-4,1.6389819439386743e-5,-1.327294423034196e-8,2.416971351728686e-4,1.6327839253466488e-5,-1.3264745691624821e-8,2.4178793488179986e-4,1.611933231700696e-5,-1.323839068662466e-8,2.4199092390150611e-4,1.580664719687679e-5,-1.3198809867441091e-8,2.4233282522947923e-4,1.546635588883893e-5,-1.315515486800695e-8,2.42795161206397e-4,1.5179028049018296e-5,-1.3117189496490207e-8,2.4332560646111933e-4,1.5000197877739287e-5,-1.3091844309906427e-8,2.4386095630435782e-4,1.494730909943296e-5,-1.3081612462610715e-8,2.443476230301867e-4,1.5004081626133282e-5,-1.3084945993000656e-8,2.447521154769013e-4,1.513382584235183e-5,-1.3097713318885834e-8,2.4506227529865664e-4,1.529290726155764e-5,-1.3114741963102495e-8,2.4528352222681816e-4,1.5440210476210758e-5,-1.3130971246521739e-8,2.454337577216843e-4,1.554235342838633e-5,-1.3142157207141877e-8,2.4553879145722154e-4,1.5576059836117717e-5,-1.3145250706278301e-8,2.456286535961741e-4,1.5529165859651303e-5,-1.313858102750454e-8,2.4573440156436537e-4,1.5401067537156352e-5,-1.312192399297445e-8,2.4588495016140917e-4,1.5202739157127264e-5,-1.3096479904399723e-8,2.4610367254958987e-4,1.4956012999883382e-5,-1.3064759078539774e-8,2.4640490122437197e-4,1.4691580503364029e-5,-1.3030343464314749e-8,2.467909300514352e-4,1.444531172938255e-5,-1.299749108332309e-8,2.472503716788958e-4,1.4252978327617077e-5,-1.2970574858005676e-8,2.4775861981413225e-4,1.4143991993889015e-5,-1.2953383025503955e-8,2.482808292580495e-4,1.4135196216785739e-5,-1.2948356913590524e-8,2.4877732410946555e-4,1.4225995061342692e-5,-1.295589775406787e-8,2.492108317402965e-4,1.439598151292376e-5,-1.297390984283666e-8,2.495546496005041e-4,1.4605934664835293e-5,-1.2997753852338253e-8,2.4980058126312243e-4,1.4802976706468473e-5,-1.3020791083393111e-8,2.499648122532091e-4,1.4930522578149964e-5,-1.3035648974352602e-8,2.500889719183307e-4,1.4942625206491755e-5,-1.3036141981384923e-8,2.502332948927713e-4,1.4819937637970325e-5,-1.301942657528763e-8,2.5046053996871437e-4,1.458121681939785e-5,-1.2987549154608683e-8,2.508142835955966e-4,1.4282610184457833e-5,-1.294739872783118e-8,2.513011655620707e-4,1.4000896174505066e-5,-1.2908626141535389e-8,2.5188749805877945e-4,1.3806467779425598e-5,-1.288027326783674e-8,2.5251290861910285e-4,1.3739666020847875e-5,-1.286777210466249e-8,2.531129543478528e-4,1.3801980509944972e-5,-1.2871727408598455e-8,2.5363851477171943e-4,1.3963248403024858e-5,-1.288867324663838e-8,2.5406475771490327e-4,1.4177059797621997e-5,-1.2912910633960826e-8,2.543902585935145e-4,1.4395467555977205e-5,-1.2938351134914312e-8,2.5463093937902145e-4,1.457846819591566e-5,-1.295977796036463e-8,2.54813136638039e-4,1.4698160028561238e-5,-1.2973461632588474e-8,2.54967981581639e-4,1.4739503755468211e-5,-1.2977324579518188e-8,2.551274405562864e-4,1.4699654562096109e-5,-1.2970877284779953e-8,2.5532142348084824e-4,1.4587027197628657e-5,-1.2955077061468487e-8,2.5557518672666003e-4,1.4420380583572636e-5,-1.2932175481281603e-8,2.5590650103593743e-4,1.4227567224019883e-5,-1.2905548350362233e-8,2.5632253366152845e-4,1.4043212860365394e-5,-1.287943866108471e-8,2.568170361656435e-4,1.3904585536052271e-5,-1.285851192094646e-8,2.5736901125437294e-4,1.384542362248093e-5,-1.2847155402873307e-8,2.5794421239109947e-4,1.388843946076878e-5,-1.2848556465930347e-8,2.5850035030317047e-4,1.403829277109537e-5,-1.2863749847957166e-8,2.589956924459188e-4,1.4277505943607658e-5,-1.2890953907157057e-8,2.5939924357184515e-4,1.4567459494134127e-5,-1.2925525776831505e-8,2.596996993209261e-4,1.4855178454192225e-5,-1.2960705554380696e-8,2.5991041763439313e-4,1.5084813281586183e-5,-1.2989066766874659e-8,2.6006856585053105e-4,1.5211326349834672e-5,-1.3004361087109885e-8,2.602278725687631e-4,1.5213126500508729e-5,-1.3003294012197764e-8,2.6044583194747623e-4,1.5100107540589441e-5,-1.2986715711409487e-8,2.607678954750293e-4,1.4913817381501574e-5,-1.2959760458590743e-8,2.6121309337834975e-4,1.471789554231206e-5,-1.2930675613196354e-8,2.617666739936158e-4,1.4580147819581488e-5,-1.2908507750034461e-8,2.623838952785086e-4,1.4551998820653167e-5,-1.2900372867353652e-8,2.6300436611455946e-4,1.465364176688067e-5,-1.2909389577639032e-8,2.6357084573760297e-4,1.4871017273617807e-5,-1.293411963262422e-8,2.640443869669923e-4,1.5164543154651873e-5,-1.2969586613798102e-8,2.64410737769705e-4,1.548385098723045e-5,-1.3009177614068972e-8,2.6467821443590807e-4,1.5781554620764703e-5,-1.304650817055167e-8,2.648707916531887e-4,1.602193715049497e-5,-1.3076659266674922e-8,2.650204220774552e-4,1.6184189121099728e-5,-1.309668323525758e-8,0.00026516090400317594,1.626199634794566e-5,-1.3105583832666333e-8,2.653238016446657e-4,1.626157432670227e-5,-1.3104045518856175e-8,2.6553584872296177e-4,1.619953400725645e-5,-1.3094120073806924e-8,2.6581694404772865e-4,1.6101034287601604e-5,-1.3078966785871532e-8,2.6617803512994057e-4,1.599792643257314e-5,-1.3062635061321467e-8,2.666186743112128e-4,1.5926127147520803e-5,-1.3049789195619948e-8,2.671247177812508e-4,1.5921303481340893e-5,-1.3045222202262528e-8,2.6766743265218185e-4,1.6012313493671894e-5,-1.3053032308258361e-8,2.682058449019524e-4,1.6212993883764293e-5,-1.3075494404843321e-8,2.6869381754198406e-4,1.6514662380160417e-5,-1.3111934310112453e-8,2.690915392547794e-4,1.688312459406304e-5,-1.3158158531168263e-8,2.693782808806831e-4,1.726356887424719e-5,-1.3206971608799833e-8,2.695612194819721e-4,1.7593764377538284e-5,-1.3249899145305468e-8,2.696757969225932e-4,1.7821710710339604e-5,-1.3279603194733367e-8,2.697766262792751e-4,1.7921174890309415e-5,-1.3292069257397106e-8,2.699221571586634e-4,1.7899381168918985e-5,-1.3287759748585721e-8,2.701585140051222e-4,1.7794662659770487e-5,-1.3271427248333769e-8,2.7050743193193414e-4,1.7665574219650932e-5,-1.3250774476406711e-8,2.70961263500747e-4,1.7575149467220522e-5,-1.3234415117476824e-8,2.714859046544607e-4,1.7574737909080554e-5,-1.3229680863399421e-8,2.7203052331977687e-4,1.769170100835547e-5,-1.324083414757745e-8,2.7254117585821244e-4,1.7924189075479015e-5,-1.3268167506586092e-8,2.729741997691505e-4,1.8244128847031433e-5,-1.3308232751599827e-8,2.733054105239225e-4,1.860683481743521e-5,-1.335506308671976e-8,2.7353289682521516e-4,1.896345349760831e-5,-1.3401893664246537E-08,2.73673842637392e-4,1.9271996265799993e-5,-1.3442759869942829e-8,2.737578282615282e-4,1.9504213337008058e-5,-1.3473535503050086e-8,2.738194967147241e-4,1.9647848480923535e-5,-1.3492301040760689e-8,2.7389256852830313e-4,1.9705491001702175e-5,-1.3499197079042159e-8,2.740058704701865e-4,1.9691777654711647e-5,-1.3496023246278775e-8,2.741810262902575e-4,1.9630334079578346e-5,-1.3485807494797274e-8,2.744310131178127e-4,1.9551058078948304e-5,-1.347245824705066e-8,2.747588655876082e-4,1.948759434125028e-5,-1.3460484076347776e-8,2.7515620852405575e-4,1.9474357175009086e-5,-1.3454669802832967e-8,2.7560192124283077e-4,1.954221941430565e-5,-1.3459536895858992e-8,2.760620815654129e-4,1.9712188518429024e-5,-1.3478446229307413e-8,2.764931140341487e-4,1.998747860898367e-5,-1.3512381587099931e-8,2.768499825458415e-4,2.0346447047745347e-5,-1.3558791588758346e-8,2.7709934818909317e-4,2.0740975236487897e-5,-1.3611211001438215e-8,2.7723376707050325e-4,2.1104902391710272e-5,-1.3660381144345922e-8,2.7727951721184677e-4,2.1372977512600064e-5,-1.3696942301516698e-8,2.7729156569639065e-4,2.150364337470411e-5,-1.371469511192883e-8,2.7733590146886866e-4,2.1494482605572527e-5,-1.3712813986364758e-8,2.7746730910535865e-4,2.1382407878183956e-5,-1.3695935779833347e-8,2.777129170467314e-4,2.1229571564400812e-5,-1.3672319050985458e-8,2.7806720281447627e-4,2.1102980963536406e-5,-1.3651166775522754e-8,2.7849753778370835e-4,2.105639774177976e-5,-1.3640203101975407e-8,2.7895571606205595e-4,2.1119312740397868e-5,-1.36440855384151e-8,2.7939082054513723e-4,2.129380639205303e-5,-1.3663777942921247e-8,2.797602560487331e-4,2.155785003144518e-5,-1.3696778046641539e-8,2.8003725820557e-4,2.1872858482824725e-5,-1.3738005196123418e-8,2.802142004107094e-4,2.219328394309847e-5,-1.3781099702460829e-8,2.8030175709160225e-4,2.2476143948988695e-5,-1.381982555271776e-8,2.8032472939190016e-4,2.268859947612066e-5,-1.3849251125167231e-8,2.803159812312574e-4,2.2812371570131774e-5,-1.386647093141835e-8,2.803101183459111e-4,2.2844791364820303e-5,-1.387080182051307e-8,2.8033821087907477e-4,2.2797146171930603e-5,-1.3863552789390385e-8,2.8042420340903043e-4,2.2691458727297488e-5,-1.3847561307081722e-8,2.8058292600206835e-4,2.2556824850266946e-5,-1.3826691726476474e-8,2.8081916298474405e-4,2.2425953925453616e-5,-1.3805403994071266e-8,2.8112721903985157e-4,2.2331951025042324e-5,-1.3788383591687185e-8,2.8149066344888076e-4,2.2304951530066296e-5,-1.3780134438421739e-8,2.8188238547674434e-4,2.2367947560152177e-5,-1.3784386060479597e-8,2.822658721965546e-4,2.2531246589409013e-5,-1.380320444288144e-8,2.8259936195518845e-4,2.278597036190299e-5,-1.38358812243578e-8,2.828444569445365e-4,2.3098866508920356e-5,-1.3877999412904191e-8,2.82979105364523e-4,2.341279564136978e-5,-1.3921401485040897e-8,2.8301103748081484e-4,2.3657751771110462e-5,-1.3955814384309308e-8,2.8298340770177647e-4,2.37731328817469e-5,-1.3972176264270338e-8,2.8296484207766603e-4,2.3733029889624773e-5,-1.3966353021702428e-8,2.830249037760498e-4,2.3559828091315065e-5,-1.3941085550751729e-8,2.832073180871705e-4,2.331632681640619e-5,-1.3904875495648811e-8,2.8351576155621184e-4,2.308077284889224e-5,-1.3868553787955135e-8,2.8391769853862014e-4,2.2919547763551398e-5,-1.384157822144315e-8,2.8436019434869387e-4,2.287017449835268e-5,-1.3829694080640847e-8,2.847876469600927e-4,2.2937814065198065e-5,-1.3834319348602738e-8,2.8515485284144533e-4,2.3101223801610495e-5,-1.3853146215244e-8,2.85433793371567e-4,2.332264590269975e-5,-1.3881308460203237e-8,2.856153143340677e-4,2.3557815709961442e-5,-1.3912679492992264e-8,2.857074693224336e-4,2.3764383273789843e-5,-1.3941085356826256e-8,2.8573186713930584e-4,2.390828726211465e-5,-1.3961325891680267e-8,2.857188696819171e-4,2.39679560926046e-5,-1.3969911360196299e-8,2.8570231452007376e-4,2.3936257400670855e-5,-1.3965439487283113e-8,2.857144182944666e-4,2.382028199606721e-5,-1.394860030825303e-8,2.8578147687363805e-4,2.3639260037550102e-5,-1.3921869960500952e-8,2.8592084201393037e-4,2.342114432945347e-5,-1.3889012634409748e-8,2.8613931356911184e-4,2.3198585473751224e-5,-1.3854531958188717e-8,2.864327166543551e-4,2.3004883616430312e-5,-1.3823159470958645e-8,2.867863494363946e-4,2.2870125806672398e-5,-1.3799380523453057e-8,2.8717609388622425e-4,2.2817452101605205e-5,-1.378693317459741e-8,2.8757018441867614e-4,2.2859200077940465e-5,-1.378819562942302e-8,2.8793216925267906e-4,2.2992674449651844e-5,-1.3803413833910311e-8,2.8822619040308e-4,2.3196048522297792e-5,-1.3829891060439484e-8,2.8842548394305867e-4,2.3426397377221117e-5,-1.386152544402009e-8,2.885234854253173e-4,2.362330839766609e-5,-1.3889296541301406e-8,2.885438986592403e-4,2.3721722641275258e-5,-1.3903263102308176e-8,2.885424114376653e-4,2.3674183477913317e-5,-1.3896003696172715e-8,2.885929118709168e-4,2.3474313471584593e-5,-1.3866152311867126e-8,2.8875979009874574e-4,2.316637368653028e-5,-1.3819777847051538e-8,2.890704395776163e-4,2.283074746827438e-5,-1.3768264842029872e-8,2.895049885128943e-4,2.2551813469805068e-5,-1.3723757443181604e-8,2.900082669629545e-4,2.2387357101861408e-5,-1.3694865214262721e-8,2.9051374253208817e-4,2.235489612947439e-5,-1.36846867449533e-8,2.909649021340734e-4,2.2436103025525936e-5,-1.3691271872221072e-8,2.9132650488845045e-4,2.2590621258034392e-5,-1.3709370985045623e-8,2.9158637691061105e-4,2.2770429252790272e-5,-1.3732329579321405e-8,2.917517969683068e-4,2.2930448877807925e-5,-1.3753577653967498e-8,2.9184401188628566e-4,2.303489006955536e-5,-1.3767628184703838e-8,2.918927671925494e-4,2.3060445344766418e-5,-1.3770682898745772e-8,2.919314014291164e-4,2.299749274559909e-5,-1.3760937852867262e-8,2.9199247847638013e-4,2.2849926468667013e-5,-1.3738629102849638e-8,2.921039092862608e-4,2.2633834466347406e-5,-1.370584503210565e-8,2.92285666948327e-4,2.2375057960451114e-5,-1.3666144851793793e-8,2.925473850976914e-4,2.2105676829510934e-5,-1.3624037426111123e-8,2.9288716836903646e-4,2.185972836237773e-5,-1.3584395520403735e-8,2.93291734444017e-4,2.1668667070356885e-5,-1.355186975838904e-8,2.937378250344291e-4,2.1556973898122735e-5,-1.3530315087571015e-8,2.941947974500097e-4,2.1538210800188506e-5,-1.3522214675142932e-8,2.9462828965697827e-4,2.161178421989162e-5,-1.3528102494893166e-8,2.950049836659742e-4,2.176062612107966e-5,-1.3546028771640402e-8,2.9529877895283186e-4,2.1950341406551685e-5,-1.3571220417731373e-8,2.95498425036084e-4,2.2131299035723218e-5,-1.3596256341667975e-8,2.956153580837951e-4,2.22458472466366e-5,-1.361215968484941e-8,2.9568840667843486e-4,2.224225736534045e-5,-1.3610641296881544e-8,2.957800686939963e-4,2.2093977823393965e-5,-1.3587181550703598e-8,2.9595999348482825e-4,2.181678085271199e-5,-1.3543713834794471e-8,2.9627849161117025e-4,2.1471574018712877e-5,-1.3489060449153417e-8,2.9674319322068856e-4,2.1145294614123724e-5,-1.343609251827474e-8,2.9731425733706953e-4,2.09172161107864e-5,-1.3396774613550436e-8,2.9792187015270356e-4,2.082994835974585e-5,-1.3377886272534408e-8,2.984942122206886e-4,2.0880413673918396e-5,-1.3379586077781747e-8,2.989796522647844e-4,2.1030612573302552e-5,-1.3396809617098212e-8,2.993552928593664e-4,2.1226817991504233e-5,-1.3421929704689853e-8,2.9962420917402626e-4,2.141632957853267e-5,-1.3447160232838052e-8,2.998076048709863e-4,2.155742331817498e-5,-1.3466074608348756e-8,2.999366508951447e-4,2.162322261659597e-5,-1.3474303011588651e-8,3.0004605342871587e-4,2.160194083120627e-5,-1.3469704117491014e-8,3.001694758979349e-4,2.1495566477339442e-5,-1.3452259987949643e-8,3.003361714790454e-4,2.131801033581268e-5,-1.34238210598226e-8,3.00568250260884e-4,2.109291783629834e-5,-1.3387751649168571e-8,3.0087835205456256e-4,2.0850953582104578e-5,-1.3348491679679161e-8,3.012678716217725e-4,2.062624812724149e-5,-1.3311032550608233e-8,3.0172620046434173e-4,2.045193589878053e-5,-1.3280308792564854e-8,3.0223147737772435e-4,2.0355180263715515e-5,-1.3260534503027968e-8,3.027530905670879e-4,2.03523675046193e-5,-1.3254528922034592e-8,3.0325589739471393e-4,2.0445234386801097e-5,-1.326309141038214e-8,3.0370584098537583e-4,2.061873537337817e-5,-1.3284535301274032e-8,3.0407635475241393e-4,2.084132023298335e-5,-1.3314523112149486e-8,3.043548220950259e-4,2.106807932262644e-5,-1.334635951759101e-8,3.0454817712909907e-4,2.1247259597402573e-5,-1.337190847136496e-8,3.0468606841306306e-4,2.1330590886984806e-5,-1.338324729373875e-8,3.048190993710789e-4,2.1286814653441683e-5,-1.337492842426596e-8,3.0500947292813136e-4,2.1115405047104646e-5,-1.3346293728374482e-8,3.0531334240780847e-4,2.0854333144826318e-5,-1.330280661991811e-8,3.0575933228971686e-4,2.057446009779354e-5,-1.3255246543245369e-8,3.063336126043048e-4,2.035786012500672e-5,-1.3216390908366007e-8,3.0698195437051866e-4,2.0267933422058764e-5,-1.3196404367399528e-8,3.076297906607286e-4,2.0326989761099988e-5,-1.3199302777510673e-8,3.0820929098613465e-4,2.051301152374637e-5,-1.3222284594361782e-8,3.086790667643346e-4,2.0774250916837253e-5,-1.3257795354211066e-8,3.0902959140693113e-4,2.1050411845724763e-5,-1.3296685507824527e-8,3.0927719251130383e-4,2.1289582840270976e-5,-1.3330825505471842e-8,3.0945357058928e-4,2.145674944124067e-5,-1.33545105445674e-8,3.095961699201846e-4,2.153531284308726e-5,-1.3364818313685573e-8,3.0974146708267824e-4,2.152488868920895e-5,-1.3361368767381744e-8,3.0992097203242546e-4,2.1438017800151246e-5,-1.3345858365688848e-8,3.1015887202686857e-4,2.1297039816659653e-5,-1.3321563576426557e-8,3.1047036154725256e-4,2.1131275414374563e-5,-1.3292871575557973e-8,3.1086020309551777e-4,2.0974113615666323e-5,-1.3264820449894448e-8,0.00031132159469673937,2.0859458460963544e-5,-1.3242589706398116e-8,3.118358892299663e-4,2.08172018406579e-5,-1.3230876462418405e-8,3.123739556176808e-4,2.0867961619606607e-5,-1.3233145002595053e-8,3.1289980273878425e-4,2.1017999708571363e-5,-1.3250835029635484e-8,3.133765322075633e-4,2.1255710514705023e-5,-1.3282711917019378e-8,3.1377389441996034e-4,2.1551170659549085e-5,-1.332461455740315e-8,3.1407592571305155e-4,2.1859774047728385e-5,-1.3369828669154369e-8,3.1428671803730246e-4,2.212997996013805e-5,-1.3410177045357869e-8,3.14432506824964e-4,2.2314131680739853e-5,-1.3437721540724634e-8,3.1455876362506394e-4,2.2380463429616143e-5,-1.3446783871977407e-8,3.1472170043465105e-4,2.2323641852085563e-5,-1.3435813847370838e-8,3.1497476110345693e-4,2.217044112756572e-5,-1.3408494160108003e-8,3.153526234579617e-4,2.1976994096751363e-5,-1.337345682081832e-8,3.1585774444304715e-4,2.1815602165497123e-5,-1.3342262745022897e-8,3.1645594131746787e-4,2.1753230588716412e-5,-1.332596859353312e-8,3.170852855440563e-4,2.1829339986754936e-5,-1.3331486306519194e-8,3.1767609064744373e-4,2.204329336795916e-5,-1.335938578246327e-8,3.1817307131503856e-4,2.2357437282565592e-5,-1.3404182809004631e-8,3.185496252597622e-4,2.2713150253212193e-5,-1.3456770258106373e-8,3.188097318692035e-4,2.305068096859074e-5,-1.350756753269062e-8,3.1898017607109944e-4,2.3324049974074164e-5,-1.3548973772346303e-8,3.1909924742474843e-4,2.3507561072834535e-5,-1.3576520061523686e-8,3.192068961684871e-4,2.359541331330978e-5,-1.3588911123510958e-8,3.1933831976116504e-4,2.3597783076813762e-5,-1.358746123971623e-8,3.1952065880791903e-4,2.3536160980096142e-5,-1.3575362908229614e-8,3.19771579080949e-4,2.3439311888661372e-5,-1.3557025218592592e-8,3.200985885643759e-4,2.3340011786561243e-5,-1.3537543756519094e-8,3.2049846336595103e-4,2.3272031254568778e-5,-1.3522245412330314e-8,3.2095680118528186e-4,2.3266656684082567e-5,-1.3516194501257755e-8,3.214482960990994e-4,2.3348264536126095e-5,-1.3523546070473995e-8,3.219387035953197e-4,2.352905494166589e-5,-1.3546710031825095e-8,3.2238945173181284e-4,2.3803973484541637e-5,-1.3585453917150966e-8,3.2276517284783867e-4,2.414782235178386e-5,-1.3636274656717374e-8,3.2304300787259485e-4,2.4516917684648338e-5,-1.369247871891746e-8,3.2322093588827404e-4,2.4856694790520883e-5,-1.374527463790208e-8,3.2332167991338466e-4,2.5114409674883268e-5,-1.3785796286515207e-8,3.233897052011945e-4,2.525357146846435e-5,-1.3807516666649438e-8,3.2348120921461983e-4,2.5265406266578555e-5,-1.3808261001094046e-8,3.2364963922767976e-4,2.5173284625345988e-5,-1.3791120413398418e-8,3.2393091613960477e-4,2.5028248522414485e-5,-1.3763924450587002e-8,3.243327110819311e-4,2.489645279708152e-5,-1.3737355303383892e-8,3.2483114194985555e-4,2.4841661933600615e-5,-1.3722151158493351e-8,3.253764637315329e-4,2.4907661106982096e-5,-1.3726145974744325e-8,3.2590667505080653e-4,2.5106163518978407e-5,-1.3752074004335538e-8,3.263648743232834e-4,2.5414592771149465e-5,-1.3796943801410434e-8,3.267142644419916e-4,2.5784562274762126e-5,-1.3853232512079237e-8,3.2694560655390203e-4,2.6157379978950974e-5,-1.3911368702242648e-8,3.2707552207375036e-4,2.64802029079398e-5,-1.3962446344578679e-8,3.2713809920406574e-4,2.6717260951139974e-5,-1.4000191368277358e-8,3.2717430412455535e-4,2.685395991046812e-5,-1.4021757723105099e-8,3.272230250199076e-4,2.6895095773412356e-5,-1.4027518182301305e-8,3.273154328546555e-4,2.6859988741622723e-5,-1.4020303863838187e-8,3.27472427946398e-4,2.6777052624059808e-5,-1.4004517409235265e-8,3.2770404819257206e-4,2.667917357422416e-5,-1.3985374637999391e-8,3.2800968800751206e-4,2.6600135622202087e-5,-1.396833964272351e-8,3.283784197698704e-4,2.65715822213231e-5,-1.3958675851617953e-8,3.2878934377281676e-4,2.661975357857392e-5,-1.3960963251046796e-8,3.2921252136175277e-4,2.6761429111553565e-5,-1.397844020247438e-8,3.2961152402647006e-4,2.699907821559547e-5,-1.4012129808211943e-8,3.29948753915105e-4,2.7316263206531952e-5,-1.4059921868231094e-8,3.3019401009220286e-4,2.7675690266479282e-5,-1.4116060189696021e-8,3.303348983515174e-4,2.8023052525526852e-5,-1.417164175112956e-8,3.303851664433875e-4,2.8298564869411255e-5,-1.4216501609523993e-8,3.303858174704456e-4,2.845434313568276e-5,-1.4242167403395092e-8,3.303959416014983e-4,2.847131185450436e-5,-1.424477933710207e-8,3.304753311960585e-4,2.8367701265917583e-5,-1.4226626167552076e-8,3.3066574499633107e-4,2.8194592527739406e-5,-1.4195561924860455e-8,3.3097847333721307e-4,2.8020371048836455e-5,-1.4162617817120332e-8,3.3139229136450047e-4,2.7910733393913838e-5,-1.4138840614943994e-8,3.318610576038761e-4,2.7911418740544573e-5,-1.4132437583694847e-8,3.32327158660616e-4,2.8038257552148033e-5,-1.4146944421067845e-8,3.3273630146328536e-4,2.8275956095937735e-5,-1.4180721826563061e-8,3.3304982043797914e-4,2.8584590280257757e-5,-1.4227750741366778e-8,3.332518772704476e-4,2.8911198090895583e-5,-1.4279413650778645e-8,3.3335044303321585e-4,2.9203016014443303e-5,-1.4326720121414798e-8,3.3337264600420897e-4,2.9418844303718548e-5,-1.4362340255230543e-8,3.333565716870711e-4,2.953593528593423e-5,-1.438192328577023e-8,3.333423100299153e-4,2.955156240787833e-5,-1.4384490907506754e-8,3.333646227280616e-4,2.9480245799448394e-5,-1.4372041376989542e-8,3.3344841055820307e-4,2.9348582447400512e-5,-1.434870041016347e-8,3.3360692534264394e-4,2.9189588504290738e-5,-1.4319770705147037e-8,3.338418939605668e-4,2.903780052882538e-5,-1.429092220642219e-8,3.341445478842576e-4,2.8925502238673784e-5,-1.4267598983776846e-8,3.3449686902692956e-4,2.8879716510260736e-5,-1.4254567192028621e-8,3.34872893630502e-4,2.8919305085978387e-5,-1.4255452413328958e-8,3.3524046998712566e-4,2.905162633610626e-5,-1.4272125495191893e-8,3.3556438983591447e-4,2.926868042533546e-5,-1.4303906971243346e-8,3.358120415655983e-4,2.9543700862908523e-5,-1.4346787820191492e-8,3.359620973953016e-4,2.9830621885824582e-5,-1.4393165436296007e-8,3.3601476557872876e-4,3.0069847654572008e-5,-1.4432765793470925e-8,3.3599911919222826e-4,3.020259394749606e-5,-1.4455159337401374e-8,3.3597110300592314e-4,3.019141034190686e-5,-1.4453385307179457e-8,3.35998526488256e-4,3.00380349093956e-5,-1.4427081304578546e-8,3.3613729850181856e-4,2.9787423935761663e-5,-1.4383225010504009e-8,3.3641053011372276e-4,2.9513350056419022e-5,-1.4333808242876725e-8,3.368014006431015e-4,2.9292449987817804e-5,-1.4291641185111276e-8,3.3726185452744576e-4,2.9179980574871958e-5,-1.4266408426820145e-8,3.377303740186198e-4,2.9197037823386694e-5,-1.4262469364142498e-8,3.3814986945613203e-4,2.9330730888683372e-5,-1.427863436126763e-8,3.3848010158714516e-4,2.9543115154846164e-5,-1.4309336642064932e-8,3.38703273259897e-4,2.9783603206552747e-5,-1.4346471770152776e-8,3.388238715787891e-4,3.0001002317025725e-5,-1.4381352417660723e-8,3.388645512106792e-4,3.015313826145052e-5,-1.4406430035573901e-8,3.388596992978482e-4,3.0213214891368453e-5,-1.441656210821404e-8,3.388480896868653e-4,3.0172579589435465e-5,-1.4409671063513486e-8,3.3886595201610624e-4,3.0040010984943417e-5,-1.4386745775937594e-8,3.389415616773652e-4,2.983826465857231e-5,-1.435129353309962e-8,3.3909197448769624e-4,2.9599024245251944e-5,-1.4308467177209232e-8,3.393219732788287e-4,2.935743690567301e-5,-1.4264115645959442e-8,3.396247872186201e-4,2.9147198599977515e-5,-1.4223960274082391e-8,3.3998384944594585e-4,2.8996680396776103e-5,-1.419298232822601e-8,3.4037497978542483e-4,2.8925994092867653e-5,-1.4174970094013113e-8,3.4076876816749476e-4,2.8944576739562157e-5,-1.4172101451461987e-8,3.4113333363185183e-4,2.9048903134653624e-5,-1.4184452613283302e-8,3.4143806830900614e-4,2.9220259014859665e-5,-1.4209426481068721e-8,3.416592313159679e-4,2.942335957385573e-5,-1.4241300071719586e-8,3.4178768959361645e-4,2.9607879560626548e-5,-1.4271351102299056e-8,3.418373350901813e-4,2.971582378240197e-5,-1.4289150939638257e-8,3.4184996084014505e-4,2.9696727082961728e-5,-1.4285356690807156e-8,3.418902633601011e-4,2.952827110856552e-5,-1.425546855762454e-8,3.420270707706498e-4,2.9232745927517535e-5,-1.4202771104298555e-8,3.4230607491550166e-4,2.8876464783064984e-5,-1.4138250014917669e-8,3.4272891522547444e-4,2.8547270391760742e-5,-1.4076783978948293e-8,3.432521860159393e-4,2.8320914566404532e-5,-1.4031512125887654e-8,3.4380643577638096e-4,2.8235399587572567e-5,-1.4009518407800017e-8,3.4432227839255926e-4,2.8284922903914585e-5,-1.4010681330376893e-8,3.4474989405392577e-4,2.8430706232186193e-5,-1.4029244458375631e-8,3.450667007921132e-4,2.8618389049455682e-5,-1.405649452639386e-8,3.4527564357985356e-4,2.879355388007985e-5,-1.4083250375345564e-8,3.453987654829163e-4,2.8912049121438285e-5,-1.4101646097180218e-8,3.45469585268103e-4,2.894525815503267e-5,-1.4106194425210915e-8,3.4552604642457406e-4,2.8881730901118583e-5,-1.4094281874326899e-8,3.4560455047242703e-4,2.8726431535401165e-5,-1.4066215283106948e-8,3.457351529958053e-4,2.84982490045257e-5,-1.4024875511406945e-8,3.459380666037131e-4,2.8226171437823553e-5,-1.397505116091795e-8,3.462216637718113e-4,2.794459723979762e-5,-1.3922581182171141e-8,3.4658209986642525e-4,2.7688322235778394e-5,-1.3873458405560078e-8,3.4700449561030034e-4,2.748781270498401e-5,-1.3833031101689292e-8,3.474653304988083e-4,2.7365322208472776e-5,-1.3805386540778746e-8,3.479355692431911e-4,2.7332084280176915e-5,-1.3792904236856692e-8,3.483841987506852e-4,2.738651159118678e-5,-1.3795909548384521e-8,3.48782076015223e-4,2.7513276120753096e-5,-1.3812375954175199e-8,3.4910623716508923e-4,2.768327317176719e-5,-1.3837706596348546e-8,3.493450066374296e-4,2.785497909947437e-5,-1.3864767635512509e-8,3.4950380428156456e-4,2.7978582520697178e-5,-1.388452258098352e-8,3.496101796449104e-4,2.800470747307293e-5,-1.3887648902006153e-8,3.4971470295323565e-4,2.7898579782032046e-5,-1.3867255990212172e-8,3.498829672228969e-4,2.7657103890016168e-5,-1.3822133605209417e-8,3.5017591926531956e-4,2.7320571946380355e-5,-1.375894735333673e-8,3.5062370726759924e-4,2.6967510508779796e-5,-1.3691352108885298e-8,3.512076836751679e-4,2.668829415482261e-5,-1.3635359280006073e-8,3.518645594543916e-4,2.6549168451208284e-5,-1.3603044848274974e-8,3.525120860381075e-4,2.6567976763254272e-5,-1.359825241655584e-8,3.530801471377777e-4,2.671440633051558e-5,-1.3616465703002289e-8,3.5353016455276417e-4,2.692942938290615e-5,-1.3647971513994665e-8,3.538577002956241e-4,2.7148881753446637e-5,-1.3681795510084634e-8,3.540840771794443e-4,2.7320151877578618e-5,-1.3708567939664234e-8,3.542449634789241e-4,2.740961864282937e-5,-1.372191839944505e-8,3.543805993034693e-4,2.7403434203548572e-5,-1.3718799059739425e-8,3.545289983413223e-4,2.730498627401825e-5,-1.3699233288566783e-8,3.547216624954893e-4,2.7131303055044464e-5,-1.366581028187246e-8,3.5498087228620824e-4,2.690928730173587e-5,-1.3623050830270064e-8,3.5531797095255416e-4,2.6671814970846222e-5,-1.3576675347345746e-8,3.557325408326314e-4,2.6453572621222732e-5,-1.3532810617513158e-8,3.562126332903402e-4,2.628664184351773e-5,-1.3497191162436568e-8,3.5673629776197384e-4,2.619610347960688e-5,-1.3474416118620455e-8,3.5727449108908464e-4,2.6196233744873596e-5,-1.3467331827186608e-8,3.577951171362706e-4,2.628789151186731e-5,-1.3476583429700484e-8,3.582677504977914e-4,2.6457485603445368e-5,-1.3500355686777276e-8,3.5866856083210973e-4,2.667773719840518e-5,-1.3534335889835297e-8,3.58984983565573e-4,2.691031135287597e-5,-1.3571967951946276e-8,3.592197788921785e-4,2.7110381522096033e-5,-1.3605104433755066e-8,3.5939395836391525e-4,2.723347733466807e-5,-1.3625211838772243e-8,3.5954731475294516e-4,2.7245005640118063e-5,-1.3625233122092842e-8,3.5973439287282456e-4,2.7131819567977223e-5,-1.3601941703224978e-8,3.600135954575884e-4,2.6912915110491107e-5,-1.355814290805302e-8,3.60429073295564e-4,2.664325075241653e-5,-1.3503526756102676e-8,3.60990418920039e-4,2.64034696792908e-5,-1.3452835801158697e-8,3.6166146352094975e-4,2.6273775898966717e-5,-1.3421074493356377e-8,3.623688032765512e-4,2.630225709809558e-5,-1.3417659611230746e-8,3.6302889191182174e-4,2.6485921915614753e-5,-1.3442821004948017e-8,3.635787000997205e-4,2.6775836053406942e-5,-1.3488337737398986e-8,3.6399313254539714e-4,2.7100845265447172e-5,-1.3541675775041822e-8,3.6428387361378935e-4,2.739386253867796e-5,-1.3590675845310196e-8,3.644865074909421e-4,2.7608376878739416e-5,-1.3626575377250361e-8,3.6464576613601913e-4,2.7723005292816395e-5,-1.364495582745406e-8,3.6480461555127395e-4,2.77383404850266e-5,-1.3645341642181487e-8,3.6499818740537e-4,2.76710053685678e-5,-1.3630271402829668e-8,3.6525122259954397e-4,2.754788664050142e-5,-1.360432815008887e-8,3.6557730310316335e-4,2.7401492817728636e-5,-1.357329062063108e-8,3.659787553882458e-4,2.72661665993695e-5,-1.3543394730429565e-8,3.6644689750384423e-4,2.7174555417879994e-5,-1.352065178127914e-8,3.669628241382334e-4,2.7153908983776746e-5,-1.3510179030065285e-8,3.674992016602788e-4,2.7222166045638933e-5,-1.3515526234079713e-8,3.68023539090487e-4,2.73843521332642e-5,-1.3538046023492725e-8,3.685030041719975e-4,2.7630228716345682e-5,-1.357642629855776e-8,3.689102801263324e-4,2.793415315314418e-5,-1.362653567100988e-8,3.692294796808659e-4,2.825781083626839e-5,-1.368173224189925e-8,3.694608523244996e-4,2.8555916027981706e-5,-1.3733727733496358e-8,3.6962307871807993e-4,2.8784249160797294e-5,-1.3773978177336275e-8,3.697522993353289e-4,2.8908903102290343e-5,-1.3795451641862713e-8,3.6989731803456434e-4,2.8915385836666257e-5,-1.3794521381371401e-8,3.701106527110447e-4,2.8815745762559872e-5,-1.3772576532502819e-8,3.704358354453675e-4,2.8651045702873957e-5,-1.3736749819577554e-8,3.7089307273516974e-4,2.8486040803253674e-5,-1.369908367506479e-8,3.714679608227572e-4,2.8394043726751596e-5,-1.3673710854101186e-8,3.7210991213757036e-4,2.843405066778115e-5,-1.3672440108961631e-8,3.7274498490128303e-4,2.8628554579815174e-5,-1.3700371291720451e-8,3.733002400374539e-4,2.8953884905579092e-5,-1.375383654447321e-8,3.737283127161456e-4,2.934966667201483e-5,-1.3821992572909582e-8,3.74019840199307e-4,2.9742318752869464e-5,-1.3891158565206442e-8,3.741996113300426e-4,3.0069483883304552e-5,-1.3949424588473654e-8,3.743121974552402e-4,3.0294519375517385e-5,-1.3989456769194334e-8,3.7440629029591007e-4,3.0408720943630665e-5,-1.4009040575435913e-8,3.745237271452724e-4,3.042555417326966e-5,-1.4010137999684472e-8,3.7469432233555345e-4,3.0372415163084517e-5,-1.399745265579277e-8,3.7493481407911624e-4,3.0283392801809747e-5,-1.3977121315336288e-8,3.7524974009757705e-4,3.0194074963467853e-5,-1.3955729687359219e-8,3.7563276072333213e-4,3.013796030115297e-5,-1.3939607838651707e-8,3.7606789752317216e-4,3.014358067755694e-5,-1.3934276197156442e-8,3.765308715945007e-4,3.0231593508346177e-5,-1.394391327502817e-8,3.769911447976581e-4,3.0411553226949515e-5,-1.3970762499094855e-8,3.774153866080384e-4,3.067874957136116e-5,-1.4014505540693484e-8,3.7777276900158004e-4,3.101223988098575e-5,-1.4071785355970582e-8,3.780416881621932e-4,3.137561973052833e-5,-1.4136185048005719e-8,3.782164562994042e-4,3.1721813892388676e-5,-1.4198962795870701e-8,3.7831168136817563e-4,3.2002044707192615e-5,-1.4250643304019193e-8,3.7836207867593326e-4,3.2177378338159576e-5,-1.4283213281041604e-8,3.784166470845473e-4,3.222972568760059e-5,-1.4292338201740607e-8,3.7852801727424653e-4,3.216882097511682e-5,-1.4278915068388991e-8,3.7873941235653586e-4,3.2032643792585974e-5,-1.4249424676350356e-8,3.7907250187723524e-4,3.1880386191779476e-5,-1.4214835935159804e-8,3.79519524138801e-4,3.1778859253417956e-5,-1.4188143257430748e-8,3.800425591675725e-4,3.1785057707013906e-5,-1.4180988668013144e-8,3.8058155833472476e-4,3.192941802742809e-5,-1.420023019579586e-8,3.810702007095623e-4,3.220552703223705e-5,-1.424564138430845e-8,3.814550608339061e-4,3.257118968284767e-5,-1.4309824655516338e-8,3.8171088610531375e-4,3.2961679962287354e-5,-1.4380610992098202e-8,3.818457030615165e-4,3.3310117296884816e-5,-1.444499449135639e-8,3.8189440825249304e-4,3.356630414228731e-5,-1.4492871054400158e-8,3.8190518456659355e-4,3.3706990005561714e-5,-1.4519156100786139e-8,3.8192545511999565e-4,3.3735939536645784e-5,-1.4523932873023375e-8,0.00038199221663132936,3.36770574780388e-5,-1.4511243699103591e-8,3.8212794959808886e-4,3.356532850735636e-5,-1.44874232515469e-8,3.8234068283503006e-4,3.3438964212912564e-5,-1.445961632653455e-8,3.826260695837975e-4,3.333397058547786e-5,-1.4434725361888601e-8,3.8296985541619517e-4,3.328078604508245e-5,-1.4418750654133305e-8,3.8335002714571484e-4,3.3302014460873146e-5,-1.441635218389012e-8,3.837387391287661e-4,3.341034772114456e-5,-1.4430449062814374e-8,3.841046361875188e-4,3.3606223967194986e-5,-1.4461732780659432e-8,3.844163948873668e-4,3.3875453388444264e-5,-1.4508108409027856e-8,3.846481026697538e-4,3.4187920503036706e-5,-1.4564283527851176e-8,3.8478626988731516e-4,3.449926174844078e-5,-1.4621926226168586e-8,3.8483677916458626e-4,3.475742957885683e-5,-1.4670832194101453e-8,3.8482854708888275e-4,3.491455839733871e-5,-1.4701226812136726e-8,3.8481043392111564e-4,3.4941584971485933e-5,-1.4706695752866484e-8,3.8484010168733006e-4,3.484013825587449e-5,-1.468664371357169e-8,3.8496755452253895e-4,3.464574228765504e-5,-1.4647105606473425e-8,3.852194666708856e-4,3.4419635873436564e-5,-1.4599384135326243e-8,3.8559051584685747e-4,3.4231768838361375e-5,-1.4556966089518085e-8,3.8604470174984556e-4,3.4141257634779535e-5,-1.4531832281699271e-8,3.8652549596401316e-4,3.4180796113487486e-5,-1.4531324827219252e-8,3.8697101818921484e-4,3.434917801281351e-5,-1.4556386882613265e-8,3.8732970092140794e-4,3.461318978913546e-5,-1.4601550234372074e-8,3.875723463890504e-4,3.491766325493246e-5,-1.4656605918405712e-8,3.8769763284319733e-4,3.5200524303996284e-5,-1.4709446876581307e-8,3.8772997811639925e-4,3.540841369879993e-5,-1.474921260370285e-8,3.877109937265693e-4,3.550840337825738e-5,-1.476877406003373e-8,3.8768778169230556e-4,3.5492866851361164e-5,-1.476588786722735e-8,3.877020190388187e-4,3.5377264492801586e-5,-1.4742916279944912e-8,3.8778272420060984e-4,3.519311331097323e-5,-1.4705540490345767e-8,3.8794354267678884e-4,3.497940485725285e-5,-1.4661111679795208e-8,3.88183621815305e-4,3.4775082366194856e-5,-1.4617171125102894e-8,3.8849040862005046e-4,3.4613774624727124e-5,-1.4580401934381552e-8,3.888429039948693e-4,3.452069902788002e-5,-1.4556015515333534e-8,3.8921458948142855e-4,3.45109299576898e-5,-1.4547412738969088e-8,3.8957597873680495e-4,3.4588150401447517e-5,-1.455591709815627e-8,3.8989728274007056e-4,3.474336635341969e-5,-1.4580440622513306e-8,3.9015195396758514e-4,3.495368121352255e-5,-1.4617090694513199e-8,3.9032177735499337e-4,3.5182101792084835e-5,-1.4658947568485471e-8,3.9040340540185385e-4,3.5380277120652675e-5,-1.4696467881042956e-8,3.904146306630224e-4,3.549631641986946e-5,-1.4719008759851094e-8,3.903967427080332e-4,3.548836893154207e-5,-1.4717615696219794e-8,3.9040860609677376e-4,3.534095270614115e-5,-1.468840935651692e-8,3.905107938530057e-4,3.507658782265891e-5,-1.4635025503981219e-8,3.9074435561294203e-4,3.4754301960084933e-5,-1.4568447883446436e-8,3.911142837911334e-4,3.445237060488615e-5,-1.4503769375063293e-8,3.915867065914306e-4,3.4242280516138355e-5,-1.4455241755727162e-8,3.9210098851033884e-4,3.416630020580259e-5,-1.4431921054112957e-8,3.9258978921974933e-4,3.42277415173893e-5,-1.4435583191215956e-8,3.92997891960016e-4,3.43949587943332e-5,-1.446115512515839e-8,3.9329397995157005e-4,3.4614214184008465e-5,-1.4498870429778417e-8,3.934741228294369e-4,3.482529654460197e-5,-1.4537116508416524e-8,3.935585439745504e-4,3.497539271070658e-5,-1.456516089516988e-8,3.935841244453831e-4,3.502882428209544e-5,-1.4575248316469991e-8,3.935950084123615e-4,3.497180118274077e-5,-1.4563798423281858e-8,3.9363335905265697e-4,3.4812268755863353e-5,-1.453161028551469e-8,3.9373196934599825e-4,3.457567997812712e-5,-1.4483168817569692e-8,3.9390985158140024e-4,3.4298244121273065e-5,-1.442534785326174e-8,3.941710735045695e-4,3.401951202215226e-5,-1.4365908871774454e-8,3.945062887672119e-4,3.377587091359689e-5,-1.431215883946541e-8,3.948959058166358e-4,3.3595868201667825e-5,-1.4269990715109863e-8,3.9531378332501087e-4,3.34975018387911e-5,-1.4243345355196083e-8,3.95730734118531e-4,3.348697905005418e-5,-1.4233969882786683e-8,3.9611767962868447e-4,3.3558268125866676e-5,-1.424129255710753e-8,3.964487102877791e-4,3.3693000306870486e-5,-1.4262290516375536e-8,3.9670457560232427e-4,3.386072530925677e-5,-1.429136009013897e-8,3.96877142245794e-4,3.402026478479182e-5,-1.4320404114221407e-8,3.96974675963087e-4,3.412377428846557e-5,-1.433955280018419e-8,3.970263033690597e-4,3.412534347773198e-5,-1.4338948576893425e-8,3.970821930901893e-4,3.3994646882125137E-05,-1.4311677516442803e-8,3.972051269460485e-4,3.373258641401384e-5,-1.4257126814339408e-8,3.9745171697619185e-4,3.3380857036472385e-5,-1.4183048350455968e-8,3.9784887548471545e-4,3.3015677815108926e-5,-1.4104376616313594e-8,3.983784208606685e-4,3.272315572911758e-5,-1.4038376360391643e-8,3.989810077392129e-4,3.2567028222608205e-5,-1.3998275239165507e-8,3.995784033932848e-4,3.256650678484111e-5,-1.3988808427858587e-8,4.001011450991133e-4,3.269479846358877e-5,-1.4005705396679457e-8,4.0050766556828905e-4,3.2894820685850835e-5,-1.4038489709830286e-8,4.0078956955466436e-4,3.310064022337845e-5,-1.407446327281956e-8,4.0096621978551547e-4,3.325505206119748e-5,-1.4102093289319672e-8,4.010745404447036e-4,3.3319672146671645e-5,-1.4113112716440347e-8,4.0115849496576356e-4,3.3278246778498246e-5,-1.4103416685224999e-8,4.0126036221118603e-4,3.3135359116825646e-5,-1.4073080729645138e-8,4.014143685471576e-4,3.291243375807629e-5,-1.4025773677232568e-8,4.0164265136440953e-4,3.264223661405534e-5,-1.3967743564302586e-8,4.019534608500238e-4,3.236272447032621e-5,-1.390655605379301e-8,4.023414451750576e-4,3.211102729665613e-5,-1.3849797898036786e-8,4.0278971307670453e-4,3.191824538468825e-5,-1.3803953237611915e-8,4.032731686233601e-4,3.18056089510052e-5,-1.3773602883065726e-8,4.037624347508987e-4,3.178228329803735e-5,-1.376099772735688e-8,4.0422776760387706e-4,3.184466222614487e-5,-1.3765925422093045e-8,4.0464271102872616e-4,3.1976751617668895e-5,-1.3785736315062855e-8,4.049875078121135e-4,3.2151373504918296e-5,-1.3815449042655647e-8,4.0525242347578963e-4,3.2332175019236376e-5,-1.3847964962952615e-8,4.0544119121250843e-4,3.2476862419152035e-5,-1.3874561986942388e-8,4.05574305140568e-4,3.254270756363941e-5,-1.3885979640020726e-8,4.0569066632959827e-4,3.249544686392352e-5,-1.3874369128060043e-8,4.0584474135106326e-4,3.232141920233108e-5,-1.3836033795223245e-8,4.060959597117366e-4,3.203981711665866e-5,-1.3774198864523915e-8,4.0648944202457856e-4,3.170776499799547e-5,-1.3700205970255192e-8,4.070339380710125e-4,3.14094387988266e-5,-1.3631320248747382e-8,4.076901544592694e-4,3.122757281338524e-5,-1.3584880382566213e-8,4.083808447150242e-4,3.1209812559531696e-5,-1.357136683146307e-8,4.090200221087287e-4,3.1349995147856346e-5,-1.3590446140588086e-8,4.0954443123187515e-4,3.1595103343674464e-5,-1.3632168430282483e-8,4.099303837683666e-4,3.187049880203468e-5,-1.3681872256090355e-8,4.101918277261662e-4,3.210671035463291e-5,-1.3725481876963942e-8,4.103671176469619e-4,3.225608889167277e-5,-1.3752883934071199e-8,4.1050398879131114e-4,3.2297665182539014e-5,-1.3759059927073484e-8,4.106480562172606e-4,3.223425978678608e-5,-1.3743742869076615e-8,4.108359107796797e-4,3.208637535174844e-5,-1.371041895829871e-8,4.1109180515318115e-4,3.188566709771694e-5,-1.366514943234374e-8,4.1142658815250326e-4,3.166901056491771e-5,-1.3615380156688916e-8,4.118380537063425e-4,3.147326545835003e-5,-1.3568790580043022e-8,4.123123872285276e-4,3.1330693322293186e-5,-1.3532246924646132e-8,4.1282660990819755e-4,3.12650855735152e-5,-1.3510937230181173e-8,4.1335194038861985e-4,3.12888232285669e-5,-1.3507759179538763e-8,0.00041385782791872523,3.14012402587035e-5,-1.3523006860697865e-8,4.143162097043059e-4,3.158851800056764e-5,-1.3554343762603742e-8,4.147055736697891e-4,3.182504325345812e-5,-1.3596998591413753e-8,4.150145461827425e-4,3.207610038134238e-5,-1.3644157727172217e-8,4.1524476893370035e-4,3.230183268389632e-5,-1.368759809958973e-8,4.1541284364256985e-4,3.2462481911037404e-5,-1.3718658948585584e-8,4.1555091775811174e-4,3.252513293742975e-5,-1.3729683805619488e-8,4.1570478512098117e-4,3.247211793603926e-5,-1.3715984522395111e-8,4.159276624200048e-4,3.2310116826504505e-5,-1.3678055124053507e-8,4.1626805702971783e-4,3.2076790804311726e-5,-1.3623245822332607e-8,4.167524617387805e-4,3.1839355536118996e-5,-1.3565610929515464e-8,4.173687071937988e-4,3.1679433606488e-5,-1.352271054257597e-8,4.180608672886187e-4,3.166480571656874e-5,-1.3509541984888306e-8,4.187443288713044e-4,3.182021371545731e-5,-1.353221487846181e-8,4.193369682737023e-4,3.211533218369021e-5,-1.3585218588590153e-8,4.1978931227977685e-4,3.247863499575709e-5,-1.3654153761093438e-8,4.2009704087509506e-4,3.282777137229304e-5,-1.3721983897773367e-8,4.202929904690921e-4,3.309778073197644e-5,-1.377490014751364e-8,4.2042859167406205e-4,3.325494568929429e-5,-1.3805267082687721e-8,4.2055631802961126e-4,3.329635406528146e-5,-1.3811685967344244e-8,4.207187075410816e-4,3.324181570289828e-5,-1.3797529601781316e-8,4.209438553744661e-4,3.312430221578908e-5,-1.376914696052265e-8,4.212450114021482e-4,3.29820290127452e-5,-1.3734307231289387e-8,4.2162200611876914e-4,3.285276439909095e-5,-1.3700985550654417e-8,4.220632466273461e-4,3.276974175556986e-5,-1.3676406563612262e-8,4.225479806825113e-4,3.275847057478871e-5,-1.3666274054639809e-8,4.2304896717371235e-4,3.283409778896946e-5,-1.367416405793029e-8,4.23535782825238e-4,3.299935006506142e-5,-1.3701088573561653e-8,4.2397886988324306e-4,3.3243478824476034e-5,-1.374527589841765e-8,4.2435406637511227e-4,3.354279531934157e-5,-1.3802236076034794e-8,4.246470102477941e-4,3.3863147891369016e-5,-1.3865160722445153e-8,4.248566904943515e-4,3.4164346787876715e-5,-1.392568757735148e-8,4.249974307882397e-4,3.4406249583597606e-5,-1.3975043403899051e-8,4.2509869023787635e-4,3.455590008719841e-5,-1.4005525482322397e-8,4.252022353167417e-4,3.4594902384809774e-5,-1.4012200930378964e-8,4.2535628227180944e-4,3.452606191561703e-5,-1.3994602436161527e-8,4.2560627053101944e-4,3.437774195887487e-5,-1.3957997791203556e-8,4.259826655671023e-4,3.42033544248866e-5,-1.3913552496987838e-8,4.2648812302165757e-4,3.407288572264099e-5,-1.3876612700332113e-8,4.2708920644435e-4,3.405490071168592e-5,-1.3862734860228985e-8,4.2771960286236156e-4,3.419246160656786e-5,-1.388224482934693e-8,4.2829858276369735e-4,3.4483331127508464e-5,-1.39356667397566e-8,4.287591800201008e-4,3.487711132752329e-5,-1.401286696741407e-8,4.2907189221625086e-4,3.529375343362766e-5,-1.4096933853643936e-8,4.2925111181198606e-4,3.5653822332007866e-5,-1.4170691079982273e-8,4.293431436633978e-4,3.590386737424457e-5,-1.422220020649449e-8,4.294057069943159e-4,3.602629900089709e-5,-1.4246968028465437e-8,4.2949028887441184e-4,3.603476243390713e-5,-1.4247107509361492e-8,4.296326637699373e-4,3.596258975350247e-5,-1.422906114426545e-8,4.298507830160587e-4,3.585122067538412e-5,-1.4201284229219959e-8,4.30146821619837e-4,3.574178595192985e-5,-1.4172502101488057e-8,4.305105528179752e-4,3.567004669500458e-5,-1.4150577469349977e-8,4.309225690144668e-4,3.566353502127585e-5,-1.4141794633184363e-8,4.3135708115020477e-4,3.5739694174433475e-5,-1.4150368611616155e-8,4.3178466029482305e-4,3.5904363120716595e-5,-1.4178070671429282e-8,4.321754230960808e-4,3.615055457113382e-5,-1.4223940930016515e-8,4.3250300470527235e-4,3.645801938170371e-5,-1.4284152898436964e-8,4.327492141671965e-4,3.6794455062480333e-5,-1.4352180111878265e-8,4.329086361301494e-4,3.711914037777242e-5,-1.441944170755436e-8,4.329919362284678e-4,3.738922622588004e-5,-1.4476525706585657e-8,4.3302648954548616e-4,3.756805202918171e-5,-1.4514923144055002e-8,4.330533235187689e-4,3.763391300210855e-5,-1.4528989528198715e-8,4.331202330514279e-4,3.7587099620632155e-5,-1.4517675625248134e-8,4.33271953934643e-4,3.7453099149815584e-5,-1.4485529520827118e-8,4.335391170749413e-4,3.728040086638992e-5,-1.4442540122095772e-8,4.3392835970523195e-4,3.713209968463934e-5,-1.4402528788363379e-8,4.344165500758634e-4,3.707165347756771e-5,-1.4380064897967802e-8,4.3495230062594813e-4,3.714511840207765e-5,-1.438637838413005e-8,4.3546692736868404e-4,3.7364868229131036e-5,-1.4425430174624792e-8,4.3589372030768185e-4,3.7701867510223756e-5,-1.4491842764582526e-8,4.361893091351183e-4,3.8092289800798756e-5,-1.4572120153155367e-8,4.3634757852403625e-4,3.8457985039809324e-5,-1.464910812938325e-8,4.363991796352178e-4,3.8732147174392066e-5,-1.4707727290935779e-8,4.3639763452364114e-4,3.887826414780291e-5,-1.4739264857224268e-8,4.364001722647106e-4,3.889525252824335e-5,-1.474263969373984e-8,4.364523016838084e-4,3.881021476354108e-5,-1.4722977299200551e-8,4.365804771433114e-4,3.866556340462599e-5,-1.468896039574687e-8,4.367919722871205e-4,3.8506926413442914e-5,-1.4650297668231218e-8,4.370786669043261e-4,3.837491837753309e-5,-1.4615939698352876e-8,4.3742177567648004e-4,3.8300841711920557e-5,-1.4593067497875068e-8,4.377959505900983e-4,3.830495380523125e-5,-1.4586611379527836e-8,4.3817246361271725e-4,3.839583492266989e-5,-1.4599028669935255e-8,4.385219262133009e-4,3.856996202628723e-5,-1.4630154871815322e-8,4.388172474094774e-4,3.881133934777927e-5,-1.4677068982739351e-8,4.3903736753377824e-4,3.909172438758446e-5,-1.4734059655137036e-8,4.39171785700476e-4,3.9372492362129876e-5,-1.4792916472356046e-8,4.392250878709724e-4,3.9609287825052854e-5,-1.48438349018792e-8,4.392197841418492e-4,3.9760010138741e-5,-1.4877110525214467e-8,4.391952872335693e-4,3.9795215836805176e-5,-1.488546114998337e-8,4.392015028478242e-4,3.9708130526000964e-5,-1.4866368508482124e-8,4.392874740657098e-4,3.9520303226885334e-5,-1.4823547388579492e-8,4.3948798661524503e-4,3.927964654825381e-5,-1.4766788554084115e-8,4.3981252877586845e-4,3.905019462021475e-5,-1.4709963203151688e-8,4.4024057367895406e-4,3.889606668889953e-5,-1.4667637174980205e-8,4.407251019923313e-4,3.886426054421898e-5,-1.465121537204819e-8,4.4120371732378895e-4,3.897130268161372e-5,-1.4665702138134793e-8,4.4161456567829924e-4,3.919776198075389e-5,-1.4708062006301217e-8,4.41912806692747e-4,3.949272215218089e-5,-1.4767828043097781e-8,4.4208268554817335e-4,3.978761101197567e-5,-1.4829982902345276e-8,4.421409699762284e-4,4.001548958358082e-5,-1.4879284623686034e-8,4.421303237867017e-4,4.012928886396741e-5,-1.4904509091663218e-8,4.4210531633417574e-4,4.011254468451751e-5,-1.4901064005645254e-8,4.421168168722615e-4,3.997960143327207e-5,-1.487124044964496e-8,4.422004451507053e-4,3.9767094807069e-5,-1.4822485598136494e-8,4.4237183113721076e-4,3.9521669753076244e-5,-1.4764783122292205e-8,4.426279491665109e-4,3.928881642907068e-5,-1.4708204056709783e-8,4.429518454747351e-4,3.91054375635812e-5,-1.4661205248835662e-8,4.433181067887932e-4,3.899632725145631e-5,-1.4629752573422735e-8,4.436975223791884e-4,3.8973357147412855e-5,-1.4617048273316101e-8,4.4406056405082626e-4,3.903590468819179e-5,-1.4623561502714967e-8,4.4438008650014344e-4,3.91715076460056e-5,-1.4647122090138582e-8,4.446339768961001e-4,3.935646602380224e-5,-1.4682981479505956e-8,4.448083963396037e-4,3.955684978592832e-5,-1.4723927049201846e-8,4.4490177030358924e-4,3.973098128986008e-5,-1.4760714274992125e-8,4.4492878725670593e-4,3.9834759260079374e-5,-1.4783179135015065e-8,4.4492247041699046e-4,3.983068781073579e-5,-1.4782276848273152e-8,4.4493150521741963e-4,3.9699639584905065e-5,-1.4752832416571488e-8,4.4501065268293756e-4,3.945150399211428e-5,-1.4696101798232349e-8,4.452051621230111e-4,3.912878232058367e-5,-1.4620773630123115e-8,4.4553450758414917e-4,3.879851843897706e-5,-1.4541367888067542e-8,4.459831270119789e-4,3.853341144760553e-5,-1.4474199279655483e-8,4.4650334228181737e-4,3.83892962100095e-5,-1.4432428557074345e-8,4.470294963479162e-4,3.838843851633301e-5,-1.4422210720894016e-8,4.474971022466872e-4,3.8514644123259556e-5,-1.4441268698217063e-8,4.4785977033990704e-4,3.872025545847296e-5,-1.4480033042680275e-8,4.480991934681107e-4,3.8940889744311725e-5,-1.4524608121518424e-8,4.48226794522255e-4,3.911257774162124e-5,-1.4560498684405491e-8,4.482780588321118e-4,3.918669829382871e-5,-1.457607889926847e-8,4.4830195410043057e-4,3.913954024565277e-5,-1.4565007306195704e-8,4.483485381147606e-4,3.8974954360315984e-5,-1.4527125710483059e-8,4.484579671969714e-4,3.872030337677846e-5,-1.4467791545713628e-8,4.4865345969394e-4,3.841765061935548e-5,-1.4396030200337683e-8,4.489392960449042e-4,3.811327623924533e-5,-1.4322193270630174e-8,4.4930320331229367e-4,3.7848511485026534e-5,-1.4255821744391228e-8,4.497213338957374e-4,3.765366154702086e-5,-1.4204163537672068e-8,4.5016388935185643e-4,3.7545304813913294e-5,-1.4171463776027224e-8,4.5060002058532647e-4,3.752619081927828e-5,-1.415888242467012e-8,4.5100150770761724e-4,3.758652962581753e-5,-1.4164756572674547e-8,4.5134546376081325e-4,3.7705677615177184e-5,-1.4184941935731645e-8,4.5161665818218725e-4,3.785383751499737e-5,-1.4213111016563784e-8,4.518100423627256e-4,3.7994051971822126e-5,-1.4241074681839239e-8,4.5193371514478737e-4,3.8085369823532785e-5,-1.4259379743515523e-8,4.5201173652522936e-4,3.808847352382779e-5,-1.4258553184670598e-8,4.5208492668352473e-4,3.797471001575803e-5,-1.4231251193107125e-8,4.522066971808626e-4,3.77376787180318e-5,-1.4175095272905575e-8,4.5243135935849304e-4,3.7403252871591634e-5,-1.4095172040726785e-8,4.5279582657719995e-4,3.7030874343293475e-5,-1.4004497095542028e-8,4.5330172975054594e-4,3.6700112219684904e-5,-1.3921072538958264e-8,4.539088056613535e-4,3.648437266876659e-5,-1.3861984223206524e-8,4.545461169138244e-4,3.642372882885231e-5,-1.3837216692123784e-8,4.5513658700048617e-4,3.651138922317251e-5,-1.3846408129259836e-8,4.556220323441288e-4,3.66997016694241e-5,-1.3879890283223254e-8,4.559775185965056e-4,3.691969978430192e-5,-1.3922769386842146e-8,4.562122242740801e-4,3.710309854736905e-5,-1.3959682858114987e-8,4.5636084388552884e-4,3.7198647914217366e-5,-1.397848887776796e-8,4.564712492187718e-4,3.7180239677984124e-5,-1.3972296643507357e-8,4.5659257815677795e-4,3.7047788247771294e-5,-1.393998633269255e-8,4.5676585962010804e-4,3.682314037864092e-5,-1.3885605024489333e-8,4.57017899354544e-4,3.65430985371316e-5,-1.3816998895031419e-8,4.573585513254664e-4,3.625115082842816e-5,-1.3743986972765052e-8,4.5778120823241134e-4,3.5989329685002914e-5,-1.367641965358165e-8,4.582659310878471e-4,3.579152347703973e-5,-1.3622494409608255e-8,4.587842300484169e-4,3.567911872805785e-5,-1.3587614246913989e-8,4.5930436312677383e-4,3.565921697959824e-5,-1.357389940117045e-8,4.5979615512869434e-4,3.572510183973148e-5,-1.358027877351196e-8,4.6023475988321376e-4,3.585820060660067e-5,-1.360294284347647e-8,4.6060335832733674e-4,3.6030722091809204e-5,-1.3635911870639802e-8,4.60895139188042e-4,3.6208528902177354e-5,-1.3671590860836431e-8,4.6111494690815154e-4,3.635429757026502e-5,-1.3701352069797334e-8,4.612807925415506e-4,3.6431488839050474e-5,-1.3716346193401218e-8,4.614247987373746e-4,3.6410027954227026e-5,-1.3708835750741679e-8,4.6159205914533125e-4,3.62743262879114e-5,-1.3674231350069227e-8,4.6183498055835207e-4,3.6032773953528615e-5,-1.3613573886357206e-8,4.6220096368370197e-4,3.572504366766511e-5,-1.3535497406452498e-8,4.627142460022724e-4,3.5420516607509466e-5,-1.345601089443765e-8,4.633589570077975e-4,3.520158587923049e-5,-1.339462640412944e-8,4.640754895656249e-4,3.5133781640715624e-5,-1.336732887285183e-8,4.6477797333421513e-4,3.523710146370312e-5,-1.337976511947418e-8,4.653863109243403e-4,3.5476761963375476e-5,-1.3424888861955243e-8,4.658546211216421e-4,3.577942568893229e-5,-1.3486488367131025e-8,4.661813358342299e-4,3.6063351831523195e-5,-1.3545965988268696e-8,4.664004611033069e-4,3.626473218857858e-5,-1.3588320959816941e-8,4.665639958352068e-4,3.6350407228647365e-5,-1.360513303776225e-8,4.6672541684679767e-4,3.631790496298228e-5,-1.3594788762173888e-8,4.6692865416770923e-4,3.618845377576418e-5,-1.3561187150119446e-8,4.672026368560225e-4,3.5997925297469526e-5,-1.3511940939945172e-8,4.6755982834898976e-4,3.5788386314177225e-5,-1.3456575605413407e-8,4.67997179408685e-4,3.5601078032541834e-5,-1.3404875559273567e-8,4.684985923176623e-4,3.5470812389852354e-5,-1.3365423942936016e-8,4.6903849108559164e-4,3.542180047068913e-5,-1.3344439413006975e-8,4.695861596821659e-4,3.546508508953634e-5,-1.3345040436527447e-8,4.7011041192164126e-4,3.559772500847251e-5,-1.3367006714160734e-8,4.705840542170844e-4,3.580375537789526e-5,-1.3407016011675667e-8,4.7098759753275935e-4,3.6056678871433476e-5,-1.3459233547938723e-8,4.7131190949890184e-4,3.632298007574168e-5,-1.3516078049011552e-8,4.71559790690804e-4,3.6566204934469644e-5,-1.3569053058169974e-8,4.717465735754899e-4,3.6751383530202755E-05,-1.3609647477316639e-8,4.718998124130554e-4,3.684981905601746e-5,-1.3630405599256602e-8,4.7205781579265745e-4,3.684452081682734e-5,-1.3626310087204059e-8,4.7226605766033966e-4,3.673637051258554e-5,-1.3596506069195115e-8,4.725699924678846e-4,3.654994787786842e-5,-1.3546025765795578e-8,4.730033180778431e-4,3.6336041112372295e-5,-1.3486667699711668e-8,4.7357300089362716e-4,3.616604739808837e-5,-1.3435763281303896e-8,4.74246972161772e-4,3.611397064008277e-5,-1.3411769997669891e-8,4.7495468950762464e-4,3.6228226616847743e-5,-1.342728801093758e-8,4.756075265498231e-4,3.6506596772157785e-5,-1.3482806498111208e-8,4.761324789643435e-4,3.68921215314555e-5,-1.3565521966204982e-8,4.76500027685036e-4,3.729587464380291e-5,-1.3654665288008376e-8,4.7672987690625123e-4,3.763293743393644e-5,-1.3730017018062513e-8,4.768749775046739e-4,3.7850136442992455e-5,-1.3778472109271951e-8,4.7699763159739244e-4,3.7934345672070496e-5,-1.379606231317544e-8,4.7715085690734735e-4,3.790502947009683e-5,-1.3786386207802384e-8,4.7736947329048336e-4,3.780076670277705e-5,-1.3757715344810296e-8,4.7766881383462853e-4,3.7666865402247315e-5,-1.3720316041747617e-8,4.780473761409701e-4,3.7546640888132714e-5,-1.368447808114495e-8,4.7849069816615584e-4,3.747611264933771e-5,-1.3659170952435136e-8,4.789752246660876e-4,3.748091718942398e-5,-1.3651117518452754e-8,4.7947201707088224e-4,3.757448492495361e-5,-1.3664168314897276e-8,4.799505077512641e-4,3.775714321569889e-5,-1.3698971973992664e-8,4.803824002412184e-4,3.801622409426613e-5,-1.3752971782310215e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_11.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_11.json
deleted file mode 100644
index 0dd6dde..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_11.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":11000,"numberOfSamples":1000,"samples":[4.807455898115237e-4,3.832746570992544e-5,-1.3820749559112586e-8,4.810276804026849e-4,3.8657939483712816e-5,-1.3894708855793208e-8,4.8122851144731977e-4,3.897037866353488e-5,-1.3966029941865335e-8,4.8136122169643126e-4,3.922846753666153e-5,-1.4025813189547578e-8,4.8145158055841605e-4,3.94025277918899e-5,-1.406634943105251e-8,4.815355041583503e-4,3.9474978459853574e-5,-1.408245537787128e-8,4.8165478219839815e-4,3.9445013590506954e-5,-1.4072791780691197e-8,4.8185089652025466e-4,3.933196966399209e-5,-1.4041008026015441e-8,4.8215671196515623e-4,3.9176311765079673e-5,-1.3996340784096513e-8,4.825864763543066e-4,3.9036228711670225e-5,-1.3953028790341758e-8,4.8312623641597524e-4,3.897747212754661e-5,-1.3927849119148707e-8,4.837291888970253e-4,3.9055456474574426e-5,-1.3935510387344442e-8,4.843221611312391e-4,3.929313827217236e-5,-1.3982860442730526e-8,4.848265247112546e-4,3.966499254457847e-5,-1.4064616609993489e-8,4.8518733416020557e-4,4.009980545620315e-5,-1.4163881241573302e-8,4.853950931909375e-4,4.050581912340954e-5,-1.425830655995102e-8,4.854866151667581e-4,4.080574058134305e-5,-1.4328715323638037e-8,4.85525688196407e-4,4.096178493042818e-5,-1.4365239392562207e-8,4.855772001398806e-4,4.0979862819758134e-5,-1.4368394366073396e-8,4.856885804979649e-4,4.089713112766541e-5,-1.4346234987150922e-8,4.8588326125485515e-4,4.076435074414623e-5,-1.4310345248447114e-8,4.8616296080937287e-4,4.063161994000118e-5,-1.4272594843316575e-8,4.865136173432042e-4,4.054008405187016e-5,-1.4243172616081504e-8,4.8691142789272524e-4,4.051847158520118e-5,-1.4229620182921136e-8,4.8732762934217247e-4,4.0582299326150006e-5,-1.4236433463507242e-8,4.8773212709177916e-4,4.07341134689005e-5,-1.4264941962397524e-8,4.880965967034294e-4,4.096407600183585e-5,-1.4313353517338398e-8,4.88397573177068e-4,4.1250927252936434e-5,-1.4376959666340294e-8,4.886197129387349e-4,4.1563798332032156e-5,-1.4448564853229553e-8,4.887589435265532e-4,4.1865488207741994e-5,-1.451924254306548e-8,4.888247307700336e-4,4.211748974787741e-5,-1.4579476522027053e-8,4.888405100767859e-4,4.228641181812268e-5,-1.462064263346648e-8,4.888415356313333e-4,4.235083017747227e-5,-1.463666315611464e-8,4.888699069788087e-4,4.2307124574301165e-5,-1.462554429370797e-8,4.889672434197426e-4,4.2172729191325406e-5,-1.459042628142175e-8,4.89166100944331e-4,4.198561886052198e-5,-1.4539802909504917e-8,4.894815424795779e-4,4.179941029790374e-5,-1.4486638095790344e-8,4.899045597653066e-4,4.16738571918689e-5,-1.4446179472955758e-8,4.903995543457572e-4,4.1661226263416274e-5,-1.4432491631334258e-8,4.909084078410756e-4,4.179064877681403e-5,-1.4454232713012669e-8,4.913629055658968e-4,4.205495921373214e-5,-1.4510927067288458e-8,4.917043498415898e-4,4.2406630471518614e-5,-1.4591584452824552e-8,4.919041260653661e-4,4.2768455240018365e-5,-1.4677226547185713e-8,4.91975143734432e-4,4.30581023135401e-5,-1.4747087713819914e-8,4.919667281492841e-4,4.321634341236769e-5,-1.4785795141156964e-8,4.919450134806429e-4,4.322488299346272e-5,-1.4787918091785175e-8,4.919696544610528e-4,4.310619995991277e-5,-1.4758043194016052e-8,4.920780610928328e-4,4.2909134196637064e-5,-1.4707389424281414e-8,4.922813225790399e-4,4.269033595193827e-5,-1.464944226297227e-8,4.925688425220637e-4,4.249988199139718e-5,-1.4596537842685818e-8,4.92916302217559e-4,4.2373819969799324e-5,-1.4557994767186664e-8,4.932930424762773e-4,4.233227598512297e-5,-1.4539483417289066e-8,4.936673798735039e-4,4.2380499169877454e-5,-1.4543082916464466e-8,4.940100632622315e-4,4.251078828128216e-5,-1.4567604259159937e-8,4.942967406427109e-4,4.27043504794895e-5,-1.4608973846901326e-8,4.945102476677884e-4,4.2933063498730834e-5,-1.4660638792530654e-8,4.946431248320447e-4,4.316170803770033e-5,-1.4714088579726986e-8,4.947001929114915e-4,4.335150966562856e-5,-1.4759675319273507e-8,4.947003518474758e-4,4.3465620460088586e-5,-1.4787908056141978e-8,4.946762700491294e-4,4.3476391218321277e-5,-1.4791230435817252e-8,4.946706632709735e-4,4.337312853241991e-5,-1.4766006598097854e-8,4.947286919062398e-4,4.316792790944356e-5,-1.4714140745679074e-8,4.948875598480194e-4,4.289680338026428e-5,-1.46436248866499e-8,4.951660198459949e-4,4.261431606960693e-5,-1.4567507684274658e-8,4.955572023782361e-4,4.238205390573295e-5,-1.4501266960766878e-8,4.960275056948562e-4,4.225356593077395e-5,-1.4459112508157139e-8,4.965226079965434e-4,4.225970770296015e-5,-1.445012992875491e-8,4.969797348841862e-4,4.239855798309805e-5,-1.4475344797421208e-8,4.973435745501257e-4,4.263333074298414e-5,-1.452672530286383e-8,4.975817616767804e-4,4.290011641573763e-5,-1.4588789841322534e-8,4.976949342797306e-4,4.31246291984686e-5,-1.4642736998874316e-8,4.977169933512843e-4,4.32435191844831e-5,-1.4671952404593025e-8,4.977043744489744e-4,4.3222752491909916e-5,-1.4666876259907704e-8,4.977180995272924e-4,4.30657402384419e-5,-1.4627283126456636e-8,4.978060190996614e-4,4.280844975449757e-5,-1.4561258969220208e-8,4.979920722311104e-4,4.2505071693506214e-5,-1.4481783123106343e-8,4.982749931993637e-4,4.221149461163865e-5,-1.4402704387878677e-8,4.986341351162414e-4,4.1972812399652274e-5,-1.4335614319282961e-8,4.99038023174974e-4,4.181724732728816e-5,-1.4288203371298527e-8,4.994521132236064e-4,4.1755451375511826e-5,-1.4263899128169458e-8,4.998442497099592e-4,4.1782774302784495e-5,-1.4262268021020732e-8,5.001879318353291e-4,4.1882399162322495e-5,-1.4279703860248156e-8,5.004642516735846e-4,4.202823461485221e-5,-1.4310113798395751e-8,5.006634317541689e-4,4.218742398465999e-5,-1.4345522650409268e-8,5.007865154243883e-4,4.232301933686223e-5,-1.4376697915433863e-8,5.008471450808845e-4,4.239771827120947e-5,-1.4394026271468186e-8,5.008726192415792e-4,4.237947661390274e-5,-1.4388889379628621e-8,5.009027064025104e-4,4.224906691188224e-5,-1.4355605708386248e-8,5.009844664141034e-4,4.200814399437556e-5,-1.4293595372097094e-8,5.011622958425812e-4,4.168457799010023e-5,-1.4208933086185455e-8,5.014648490094809e-4,4.133098997158663e-5,-1.4114222164068199e-8,5.018933871908035e-4,4.1014046129932506e-5,-1.4026120755346876e-8,5.024172779489319e-4,4.079629120466331e-5,-1.3960894019653134e-8,5.029800978344093e-4,4.0716851663191706e-5,-1.3929502673170868e-8,5.035149205751237e-4,4.0778803174321974e-5,-1.3934148788121047e-8,5.039631026052139e-4,4.0948067350335475e-5,-1.3967574412809247e-8,5.042898951464934e-4,4.116358529728348e-5,-1.4015214047407058e-8,5.044923433820881e-4,4.1354546447450864e-5,-1.405930760929713e-8,5.045980853346142e-4,4.145904379395495e-5,-1.4083628433054094e-8,5.046562864241187e-4,4.143903113694813e-5,-1.4077491031220824e-8,5.047237703547672e-4,4.128796116298141e-5,-1.4038013428869964e-8,5.048504577142612e-4,4.1029648300892024e-5,-1.3970152894372228e-8,5.050682042868694e-4,4.070946922079784e-5,-1.3884718542673423e-8,5.053857892959258e-4,4.038129871002777e-5,-1.3795175637434057e-8,5.057904773855169e-4,4.0094587167200846e-5,-1.3714342555419928e-8,5.062542972907671e-4,3.988514116215506e-5,-1.3651908298048012e-8,5.067420758582822e-4,3.9771018930213065e-5,-1.36131932106548e-8,5.072186700798977e-4,3.9752847710952766e-5,-1.3599056334601855e-8,5.076541049257842e-4,3.981679039448647e-5,-1.3606552572220539e-8,5.080265636895346e-4,3.993839829792082e-5,-1.3629887915207912e-8,5.083239056768367e-4,4.008625429723009e-5,-1.366134539027628e-8,5.085445405312649e-4,4.02251540015048e-5,-1.3692068130210929e-8,5.086982215653529e-4,4.031923748367069e-5,-1.3712790472901225e-8,5.088067942896942e-4,4.033585746282454e-5,-1.3714758380114217e-8,5.089042016332715e-4,4.0250984480183826e-5,-1.369110873241738e-8,5.090342370463796e-4,4.005630209267127e-5,-1.36387919547938e-8,5.09244162874289e-4,3.976656292219734e-5,-1.3560660497017656e-8,5.095732393487734e-4,3.942360984383623e-5,-1.3466737784983145e-8,5.100381218559963e-4,3.9092145563312785e-5,-1.3373334502326575e-8,5.106211663506831e-4,3.884421714299498e-5,-1.3299185546533904e-8,5.112695708256073e-4,3.873558642398053e-5,-1.325938777322804e-8,5.119093049859852e-4,3.878426446529394e-5,-1.3259745614206067e-8,5.124690770718819e-4,3.896273593345075e-5,-1.3294485083970076e-8,5.129030399538616e-4,3.920805997219822e-5,-1.3348486880023718e-8,5.13202292093832e-4,3.944384781038976e-5,-1.3402621757432825e-8,5.133926118135372e-4,3.9603311868793384e-5,-1.3439524368879208e-8,5.135225876503645e-4,3.964513077729718e-5,-1.344773648237942e-8,5.136484244188965e-4,3.955939833262208e-5,-1.3423498173910979e-8,5.138202846515992e-4,3.936503101320661e-5,-1.337045078206997e-8,5.140727251366115e-4,3.9101620258126494e-5,-1.3297891578819023e-8,5.144200439889327e-4,3.8818723273896924e-5,-1.3218230049065295e-8,5.148563248939854e-4,3.8565076244178615e-5,-1.31442269252279e-8,5.153592942705727e-4,3.8379720577811564e-5,-1.3086552229207539e-8,5.158965586590853e-4,3.8286402743178446e-5,-1.3052102047767048e-8,5.164325300028227e-4,3.829166482457637e-5,-1.3043289492522785e-8,5.169345624266961e-4,3.838611140678518e-5,-1.3058250794240458e-8,5.173773998025525e-4,3.854777091398222e-5,-1.3091694599441699e-8,5.177457469094699e-4,3.8746318140652296E-05,-1.3136024508001314e-8,5.180353753683765e-4,3.894721737733719e-5,-1.3182422098429487e-8,5.182533801875123e-4,3.9115464526579055e-5,-1.322176802538456e-8,5.184180207872244e-4,3.9219155018714586e-5,-1.3245479826195314e-8,5.185582174206982e-4,3.923339887816621e-5,-1.3246473160946539e-8,5.187121920390923e-4,3.9145162676454723e-5,-1.3220474590964729e-8,0.00051892397371530155,3.895909776742693e-5,-1.316773040159988e-8,5.192361363727685e-4,3.8702959631497384e-5,-1.3094695644609137e-8,5.19678041196177e-4,3.8429183553321686e-5,-1.3014701920521112e-8,5.20251698135249e-4,3.820781513346968e-5,-1.2946243125940887e-8,5.209217831712024e-4,3.810779889170091e-5,-1.2908049988956758e-8,5.216188239536118e-4,3.817071047034634e-5,-1.2912046211167408e-8,5.222596846655533e-4,3.8389929217076366e-5,-1.295764933741635e-8,5.227776981227885e-4,3.870942493105218e-5,-1.3031193682067312e-8,5.231462221446176e-4,3.90449333361414e-5,-1.3111251595486714e-8,5.233834624169179e-4,3.9315346546736246e-5,-1.3176687479802485e-8,5.235394281321812e-4,3.946752696132619e-5,-1.3213083897284422e-8,5.236754233317036e-4,3.9485713744511626e-5,-1.3215295714260378e-8,5.238462568216775e-4,3.9387314888452363e-5,-1.3186630329662888e-8,5.240896667697123e-4,3.921173128856953e-5,-1.3136310014778118e-8,5.244226644038686e-4,3.900801174331826e-5,-1.3076572242619164e-8,5.248426426550115e-4,3.882439799199982e-5,-1.3020069826079723e-8,5.253311937372029e-4,3.870065090327242e-5,-1.2977767650741354e-8,5.258593061790778e-4,3.8663123547147846e-5,-1.2957402470289928e-8,5.263931056407179e-4,3.8722437005912813e-5,-1.2962597830659435e-8,5.268994400545242e-4,3.887355383309786e-5,-1.2992693609541672e-8,5.273506944811689e-4,3.909786013135494e-5,-1.304323238147115e-8,5.277283618928682e-4,3.9366737045691754e-5,-1.310693161469982e-8,5.280251104455353e-4,3.964596224958332e-5,-1.3174889451303355e-8,5.282454335082373e-4,3.990022972843365e-5,-1.3237768428264953e-8,5.284052231946588e-4,4.009736888639202e-5,-1.3286836033079106e-8,5.285305494829884e-4,4.021225325537939e-5,-1.3314912562979519e-8,5.286557060394544e-4,4.0230579521206196e-5,-1.3317363974876683e-8,5.288202403339737e-4,4.015271335318547e-5,-1.3293259523465599e-8,5.290641459351538e-4,3.999743645858218e-5,-1.3246644881952389e-8,5.29420183065172e-4,3.980429049478516e-5,-1.3187490243689071e-8,5.299032094367221e-4,3.963165594186321e-5,-1.313141009986588e-8,5.304988417193463e-4,3.9546878333224285e-5,-1.3097054263167734e-8,5.311574317731786e-4,3.96065921173356e-5,-1.3100650126240523e-8,5.318014578119245e-4,3.98319165292681e-5,-1.3149038022273758e-8,5.32349611324718e-4,4.019180005671327e-5,-1.3234910936428494e-8,5.327485204893838e-4,4.0608738174731215e-5,-1.3338177317094923e-8,5.32993774836213e-4,4.098800442554419e-5,-1.3433731281722263e-8,5.331274981533502e-4,4.125409164773492e-5,-1.3501160283562443e-8,5.332164335123858e-4,4.137379163363762e-5,-1.353087213849061e-8,5.333259193608972e-4,4.13576666322837e-5,-1.3524569124303872e-8,5.335024650995162e-4,4.124644008992089e-5,-1.3491904463169542e-8,5.337679129261047e-4,4.109355822924989e-5,-1.3446225415098136e-8,5.341216559001369e-4,4.0951180469202836e-5,-1.340113134321436e-8,5.345463734211426e-4,4.0861572281668134e-5,-1.3368231159593744e-8,5.350143019353962e-4,4.0852955656746325e-5,-1.3355852072504397e-8,5.354928423825327e-4,4.093817556745151e-5,-1.3368381791204466e-8,5.359493976739728e-4,4.111506478866112e-5,-1.3406093750610092e-8,5.363555591240247e-4,4.136805710751307e-5,-1.3465430533373401e-8,5.366906062535734e-4,4.167087291184944e-5,-1.353970510439085e-8,5.369441549435876e-4,4.199017748541348e-5,-1.3620131233801054e-8,5.371176836764395e-4,4.229004758300979e-5,-1.3697055796399448e-8,5.372246939412618e-4,4.2536815840649555e-5,-1.376122922588961e-8,5.372894831724115e-4,4.2703741062777625e-5,-1.3804984921125316e-8,5.373446669618185e-4,4.277512234113474e-5,-1.3823300988072162e-8,0.00053742757544824975,4.27496117961429e-5,-1.3814764582700658e-8,5.375755603610683e-4,4.264248462223457e-5,-1.3782413644499372e-8,5.378200593904353e-4,4.2486472593883745e-5,-1.373430126808111e-8,5.381792508290428e-4,4.233015478549633e-5,-1.368338167500512e-8,5.386499283189473e-4,4.223204705859813e-5,-1.3646059069466792e-8,5.392010226639216e-4,4.224848840771485e-5,-1.3638780125339982e-8,5.397734225659609e-4,4.2415447202705524e-5,-1.3672723821927818e-8,5.402914650870005e-4,4.272937436938092e-5,-1.3748141826012162e-8,5.406870951769552e-4,4.3138228021123006e-5,-1.3851605137995859e-8,5.409276624223462e-4,4.355360016244392e-5,-1.3959259082476329e-8,5.410308634400444e-4,4.388299832113226e-5,-1.404572807505199e-8,5.410560312127462e-4,4.406544519190341e-5,-1.409387560046213e-8,5.410774246421454e-4,4.4090008179269903e-5,-1.4099829500317099e-8,5.411566007764416e-4,4.399025355105983e-5,-1.4071552354515442e-8,5.413273035270495e-4,4.3823916588713976e-5,-1.4023612135435341e-8,5.415945168970027e-4,4.365179453199496e-5,-1.3971835246327046e-8,5.41941678191083e-4,4.3523829968479546e-5,-1.3929763987744986e-8,5.423397870270695e-4,4.3473105445618066e-5,-1.3906988846966135e-8,5.427550475932729e-4,4.3515132910834864e-5,-1.3908697960636151e-8,5.431542404764803e-4,4.364960885200329e-5,-1.393582992804166e-8,5.435083954292767e-4,4.386290135691708e-5,-1.3985503452994463e-8,5.437955680521673e-4,4.413075019834189e-5,-1.4051648813651171e-8,5.440031193610353e-4,4.442130458093591e-5,-1.4125847171957948e-8,5.441294904295869e-4,4.4698775986850106e-5,-1.4198377383350764e-8,5.441851609821107e-4,4.4927902109817414e-5,-1.4259451932272639e-8,5.44192274379237e-4,4.5079042801761985e-5,-1.4300570677415424e-8,5.441825131835359e-4,4.513324877772769e-5,-1.4315854380231034e-8,5.441931678314615e-4,4.508643514283918e-5,-1.4303200161377657e-8,5.442616930190452e-4,4.495182030705989e-5,-1.4265097005812744e-8,5.444193252662113e-4,4.475992062198913e-5,-1.420891194830896e-8,5.446845113517835e-4,4.455563870804244e-5,-1.4146439051286658e-8,5.450570012046475e-4,4.439214140356481e-5,-1.4092482439868092e-8,5.455138259491807e-4,4.432123995689494e-5,-1.4062247519459378e-8,5.460091567979519e-4,4.4380529159655735e-5,-1.4067548181360422e-8,5.464806332929459e-4,4.457933352573298e-5,-1.411246534473196e-8,5.468639351101996e-4,4.488842557502628e-5,-1.41900303462031e-8,5.471137114483806e-4,4.5240836901430264e-5,-1.4282186009332701e-8,5.472228700801882e-4,4.5549104705021665e-5,-1.436459415403402e-8,5.472286408053625e-4,4.573542557700775e-5,-1.4415174862346914e-8,5.471991045330296e-4,4.576046398285103e-5,-1.4422216878027767e-8,5.47206448294467e-4,4.56349055279638e-5,-1.4387623676551349e-8,5.473019740297997e-4,4.5409058585348715e-5,-1.4324164571538933e-8,5.475045890269017e-4,4.5149831126079944e-5,-1.4249406835206891e-8,5.47803705825606e-4,4.4918876045973197e-5,-1.4180002072172085e-8,5.481698176479473e-4,4.4759851057189094e-5,-1.412830013525889e-8,5.48565692247331e-4,4.469494792163449e-5,-1.410125538583461e-8,5.489546078069922e-4,4.4727065395722936e-5,-1.4100722236229494e-8,5.493051789854964e-4,4.484400912140682e-5,-1.4124308082445898e-8,5.495938405083384e-4,4.5022613923846395e-5,-1.4166321890606745e-8,5.498062624304646e-4,4.523222436300298e-5,-1.4218687392005276e-8,5.499384595504489e-4,4.54378852388539e-5,-1.4271863647322725e-8,5.49997724894559e-4,4.560386201037831e-5,-1.4315865288538859e-8,5.500030030438457e-4,4.5697985530979016e-5,-1.434147018981161e-8,5.499839508065228e-4,4.5696843463098964e-5,-1.4341625669559141e-8,5.499779032270899e-4,4.559110119398946e-5,-1.4312908167490931e-8,5.500244181110129e-4,4.5389582007094315e-5,-1.4256724128095877e-8,5.50157883005538e-4,4.512048381923619e-5,-1.417984329569152e-8,5.503995686945172e-4,4.482844257285975e-5,-1.4093882581779136e-8,5.507511242321261e-4,4.456714389146746e-5,-1.4013561269086788e-8,5.511914791808575e-4,4.438847474538031e-5,-1.3953862718354635e-8,5.516785262955729e-4,4.43302010252111e-5,-1.3926532510634918e-8,5.521561635635225e-4,4.4404755979930705e-5,-1.3936611787065186e-8,5.525663239678071e-4,4.459220322119048e-5,-1.3979975801327925e-8,5.528642063231052e-4,4.484065587117192e-5,-1.4043007349154969e-8,5.530328973052125e-4,4.507661529127626e-5,-1.4105288308440919e-8,5.530916519570143e-4,4.522480506594574e-5,-1.4145236907282978e-8,5.530923528858961e-4,4.523202408225343e-5,-1.4147030087645297e-8,5.531031506537776e-4,4.5085084291692684e-5,-1.4105860437065999e-8,5.531855430718504e-4,4.4813819040833696e-5,-1.4028958709191986e-8,5.533755526889687e-4,4.447784879142051e-5,-1.3932084645392354e-8,5.536768815553462e-4,4.41448232435347e-5,-1.3833668292310375e-8,5.540662856310166e-4,4.387093911013423e-5,-1.3749517436350942e-8,5.545054107827476e-4,4.369036706870036e-5,-1.3689826206305373e-8,5.549526056740539e-4,4.3613801028485625e-5,-1.3658542876311258e-8,5.553711420623051e-4,4.363257224331595e-5,-1.3654223719707622e-8,5.55733434845886e-4,4.3724503286497815e-5,-1.3671440617076656e-8,5.560225166865299e-4,4.385919757848827e-5,-1.3702164569045507e-8,5.56232263778228e-4,4.400211587684637e-5,-1.3736921152732457e-8,5.563673733728169e-4,4.4117846392702796e-5,-1.376575922796316e-8,5.564433941300915e-4,4.4173372568585065e-5,-1.3779194966470485e-8,5.564864419333089e-4,4.414206095567587e-5,-1.3769317275568825e-8,5.565317072407061e-4,4.4008603643539826E-05,-1.373115531210439e-8,5.566196665612034e-4,4.377426004116058e-5,-1.3664180386757936e-8,5.567893255742785e-4,4.3460653879901505e-5,-1.3573495648336821e-8,5.5706903259323e-4,4.3109638309396154e-5,-1.3470018373719109e-8,5.574671621600434e-4,4.277713905643178e-5,-1.3369019224232388e-8,5.579663031544923e-4,4.25209069743737e-5,-1.3286905991693288e-8,5.585242506155931e-4,4.2385091814629774e-5,-1.323695369887385e-8,5.590827837639093e-4,4.238670958930531e-5,-1.322532616995296e-8,5.595820943030839e-4,4.2508928121728134e-5,-1.324879527303495e-8,5.599765436803205e-4,4.270375260425213e-5,-1.3295025360336303e-8,5.602470647653046e-4,4.290357624198227e-5,-1.3345467218010926e-8,5.604066433327727e-4,4.3038521618008536e-5,-1.3380135565607916e-8,5.604971361354452e-4,4.305496671614097e-5,-1.3382982052173816e-8,5.605778644400599e-4,4.293002467591174e-5,-1.3346289025681776e-8,5.607089623263255e-4,4.267729978794635e-5,-1.3272636519098559e-8,5.609347399582315e-4,4.234165410834814e-5,-1.3173718674744843e-8,5.61272824224999e-4,4.1984822487049506e-5,-1.3066489427049024e-8,5.617125088503604e-4,4.1667542738988164e-5,-1.2968201743518012e-8,5.622215885905281e-4,4.1434866394617e-5,-1.289219032748799e-8,5.627575830200749e-4,4.130882130901546e-5,-1.2845587660872705e-8,5.632786025023382e-4,4.1288594336048484e-5,-1.2829102735199409e-8,5.637508743402848e-4,4.135555763250854e-5,-1.2838217765699319e-8,5.641523616550949e-4,4.147987966628914e-5,-1.2864954028178306e-8,5.644734987008431e-4,4.1626480056051095e-5,-1.2899567931198906e-8,5.647164882240774e-4,4.1759528984558676e-5,-1.2931887162585448e-8,5.648942535231952e-4,4.184578296212132e-5,-1.2952297818560158e-8,5.650294889116143e-4,4.1857547900959665e-5,-1.2952577895423737e-8,5.651535715361088e-4,4.177605896823371e-5,-1.2926828568155383e-8,5.653044894483615e-4,4.159567182824132e-5,-1.287267633441649e-8,5.655225692094629e-4,4.132839759346974e-5,-1.279266224815386e-8,5.658430328778544e-4,4.100697766475647e-5,-1.2695307297663935e-8,5.662857653330005e-4,4.068344030322492e-5,-1.2594934042639526e-8,5.668451659124272e-4,4.042019197207262e-5,-1.2509327194232984e-8,5.674853336557398e-4,4.027347907363591e-5,-1.2455107328985577e-8,5.681455713211361e-4,4.027408208489247e-5,-1.244214622307206e-8,5.68756746685192e-4,4.0414004798879e-5,-1.2469513131187434e-8,5.692626340933667e-4,4.0646580039138516e-5,-1.2525133623159566e-8,5.696369955166504e-4,4.090066807453131e-5,-1.2589478046435055e-8,5.698896665275624e-4,4.110245921092196e-5,-1.2641551835441664e-8,5.700608716068607e-4,4.1195953729986446e-5,-1.2664715990718236e-8,5.702077505850598e-4,4.1155798139361454e-5,-1.2650540717421748e-8,5.703884759901265e-4,4.099042424392756e-5,-1.2600051493450478e-8,5.706483903579017e-4,4.073662588412746e-5,-1.2522583891047876e-8,5.710109691405875e-4,4.0448332338844876e-5,-1.243290518949643e-8,5.714748841309391e-4,4.0182934684654554E-05,-1.2347452802728689e-8,5.720170435890389e-4,3.9988544477136714e-5,-1.2280615128135358e-8,5.726001321744273e-4,3.9895057969472874e-5,-1.2241921421025485e-8,5.731821206679281e-4,3.991064069654339e-5,-1.2234717623019245e-8,5.737250198595423e-4,4.002343402058786e-5,-1.2256397133360156e-8,5.742009861844149e-4,4.0206784374766535e-5,-1.2299779958393722e-8,5.745952088943357e-4,4.042579305071043e-5,-1.2355009254206567e-8,5.749061274942017e-4,4.064339540438695e-5,-1.2411383146639144e-8,5.751440773201222e-4,4.0825069665894794e-5,-1.2458778726029885e-8,5.753293799587323e-4,4.094221059405223e-5,-1.2488629625521792e-8,5.754904006567578e-4,4.097477176506438e-5,-1.2494646793562146e-8,5.756615125629631e-4,4.0913864151746437e-5,-1.2473547362790684e-8,5.758803459554417e-4,4.076472695839921e-5,-1.24259847650868e-8,5.761832436211499e-4,4.0549772255380785e-5,-1.2357617600292305e-8,5.765979379808243e-4,4.0310124351701156e-5,-1.2279811549458918e-8,5.771336876089873e-4,4.010269549721812e-5,-1.2209012413795871e-8,5.777716895829274e-4,3.9989598090760646e-5,-1.2163757626176808e-8,5.784616465902294e-4,4.001937776225071e-5,-1.2159125570823381e-8,5.791308482835355e-4,4.020580099469462e-5,-1.2200322952745242e-8,5.797065295022585e-4,4.0515899636114696e-5,-1.2278907274980914e-8,5.80142457888133e-4,4.087731150446172e-5,-1.2374661952472232e-8,5.804354401798264e-4,4.120363917341638e-5,-1.2462792256088949e-8,5.806232139856671e-4,4.142456024104346e-5,-1.2522577976320966e-8,5.807671988462954e-4,4.1505812543823224e-5,-1.2543184545504214e-8,5.809309310098887e-4,4.145299058481706e-5,-1.2524943479233836e-8,5.811633911987712e-4,4.130273058000135e-5,-1.2477155055317291e-8,5.814906054594975e-4,4.110843349549538e-5,-1.241437134424403e-8,5.819145513730104e-4,4.092617541810449e-5,-1.2352610977888855e-8,5.824169208822125e-4,4.0803658015597504e-5,-1.2306198503680667e-8,5.829655041898003e-4,4.077300848955851e-5,-1.2285457641107754e-8,5.835216304790936e-4,4.08473506951388e-5,-1.2295353076190144e-8,5.840475044047213e-4,4.1020878040647856e-5,-1.2335168157344423e-8,5.845123946407954e-4,4.1271912795883656e-5,-1.2399194688289209e-8,5.848968676341912e-4,4.1568009920163966e-5,-1.247819580484653e-8,5.851947152164219e-4,4.1871931312817365e-5,-1.2561243079423654e-8,5.854127287371877e-4,4.214737362730478e-5,-1.2637501168654626e-8,5.855689082537816e-4,4.236363657066199e-5,-1.2697641820982583e-8,5.856898580934266e-4,4.2498978178316354e-5,-1.2734800220127118e-8,5.85807889067023e-4,4.254292268264029e-5,-1.2745207957826337e-8,5.859579513795578e-4,4.249795347224145e-5,-1.272871639020561e-8,5.861741086786202e-4,4.2380895742717424e-5,-1.2689360718495551e-8,5.8648484953241e-4,4.2223796026970555e-5,-1.2635890084310931e-8,5.869065735812319e-4,4.2073073991807874e-5,-1.2581801894459312e-8,5.874356319421588e-4,4.19846475120227e-5,-1.2544061137121026e-8,5.880413756125081e-4,4.201259995003142e-5,-1.2539678227518325e-8,5.886653049404993e-4,4.219108683589354e-5,-1.2580052638216501e-8,5.8923238679551e-4,4.2514839582835756e-5,-1.266480189970253e-8,5.896756386652956e-4,4.2930283800824865e-5,-1.2778839288959433e-8,5.89964101552167e-4,4.334851356362142e-5,-1.2896139522771572e-8,5.901171113360668e-4,4.367814905014522e-5,-1.298951948589008e-8,5.901947880698806e-4,4.38602737483596e-5,-1.3040992057450742e-8,5.902714285460607e-4,4.3885736496831144e-5,-1.3046861211874255e-8,5.904086373518427e-4,4.3789236335983746e-5,-1.3016096632518927e-8,5.90640488345573e-4,4.362965960038413e-5,-1.2964884842237333e-8,5.90971946441086e-4,4.34695603945582e-5,-1.2911008855333938e-8,5.913852195337234e-4,4.336092270372908e-5,-1.2869904121306538e-8,5.918485774305888e-4,4.333812126088688e-5,-1.285252461742886e-8,5.923245446952727e-4,4.3416150897318016e-5,-1.2864501648532461e-8,5.927764593066211e-4,4.359190961413261e-5,-1.2906114467297666e-8,5.931734732856898e-4,4.384714236114294e-5,-1.2972841846778543e-8,5.934942150203255e-4,4.4152466088083324e-5,-1.3056421398296158e-8,5.937291030815587e-4,4.447215885443439e-5,-1.3146311817982143e-8,5.938811933955622e-4,4.47693426906656e-5,-1.3231356330999967e-8,5.93965485886057e-4,4.5011077674093984e-5,-1.3301399351245954e-8,5.94006799600864e-4,4.5172770496475155e-5,-1.334862131885749e-8,5.940365840398179e-4,4.5241413682133494e-5,-1.336846818500244e-8,5.940891110207756e-4,4.521750624615486e-5,-1.3360212923084611e-8,5.941973595900601e-4,4.511571456359875e-5,-1.3327250246980502e-8,5.943887128092454e-4,4.4964352725929755e-5,-1.3277177720368145e-8,5.946803298205737e-4,4.480359021479988e-5,-1.3221572693952442E-08,5.950740552025116e-4,4.4681698944798734e-5,-1.3175121289205661e-8,5.955515209880322e-4,4.4648007751150914e-5,-1.3153551831570361e-8,5.960715426732222e-4,4.474149532569575e-5,-1.3169977028198143e-8,5.965733804112413e-4,4.4975795704802126e-5,-1.3229934760324216e-8,5.969897334847129e-4,4.5325368620618036e-5,-1.3326761651752678e-8,5.972695820723137e-4,4.572244176421522e-5,-1.3440440521292401e-8,5.974020923934746e-4,4.607385900358259e-5,-1.3542760448690568e-8,5.974260041454101e-4,4.6295468638069834e-5,-1.3607887991505155e-8,5.974149745012774e-4,4.63461491160932e-5,-1.3622690856111841e-8,5.974464645346873e-4,4.62408255489987e-5,-1.3590608456208522e-8,5.975733330563519e-4,4.603711609863486e-5,-1.3527729382284185e-8,5.978120949073726e-4,4.5808229996933905e-5,-1.3455010772294891e-8,5.981476506938362e-4,4.561887790575258e-5,-1.3391473757723922e-8,5.985457456463102e-4,4.551241536514983e-5,-1.3350535217826406e-8,5.989652880636257e-4,4.550820785410715e-5,-1.3339057205444769e-8,5.993671400674556e-4,4.560473672048171e-5,-1.3357888193002322e-8,5.997192571010954e-4,4.578464443118222e-5,-1.340296607210915e-8,5.999993638835912e-4,4.601975491101805e-5,-1.3466562670281527e-8,6.001963194062474e-4,4.627562551405624e-5,-1.353859250547407e-8,6.003106951839153e-4,4.651585668922163e-5,-1.3607999789540018e-8,6.003545828554706e-4,4.670640694476506e-5,-1.3664190858733449e-8,6.003504102879558e-4,4.681993271445912e-5,-1.3698426655564152e-8,6.003285040062579e-4,4.6839792267256964e-5,-1.3705039077842174e-8,6.003233654665366e-4,4.6763054815347505e-5,-1.3682318721009288e-8,6.00368980029104e-4,4.6601915443853456e-5,-1.3632979669015082e-8,6.004936892972919e-4,4.638313791509782e-5,-1.3564152706925421e-8,6.007152397239569e-4,4.6145339984406526e-5,-1.348684271745055e-8,6.010365913857648e-4,4.5934168128419516e-5,-1.3414767746104295e-8,6.014429942225124e-4,4.5795480210201754e-5,-1.3362464203894209e-8,6.019011057532637e-4,4.576653383496385e-5,-1.334252963495435e-8,6.023615895275835e-4,4.586559553492988e-5,-1.3362105344807452e-8,6.027669935205449e-4,4.608188309838632e-5,-1.3419300705541302e-8,6.030658883371729e-4,4.6370003546858796e-5,-1.350105745458068e-8,6.032312519987232e-4,4.66548633865428e-5,-1.3584497719127712e-8,6.032758091670896e-4,4.685133527899667e-5,-1.3643100300052348e-8,6.032535495762095e-4,4.6894725810143705e-5,-1.365628640799527e-8,6.03241729155245e-4,4.6767362660908595e-5,-1.3617683021674188e-8,6.033108166392385e-4,4.65049510596044e-5,-1.3537085025814027e-8,6.034993182490741e-4,4.617895985207165e-5,-1.3435213551070888e-8,6.038060843341433e-4,4.5867317225684895e-5,-1.3335114749071355e-8,6.041994185155103e-4,4.563018257654167e-5,-1.3255104395874068e-8,6.046332663829588e-4,4.549926714185694e-5,-1.3205572436516151e-8,6.05061438746373e-4,4.5478931464839044e-5,-1.3189054107180226e-8,6.054462336936745e-4,4.555306960662015e-5,-1.3201909329785792e-8,6.05762009514742e-4,4.5692876070382345e-5,-1.3236331295070042e-8,6.059957599659084e-4,4.586321651672058e-5,-1.3282117826334546e-8,6.061465022300673e-4,4.6027351570760987e-5,-1.332813231699191e-8,6.062243702543427e-4,4.615066462844048e-5,-1.3363565264245378e-8,6.062495021200464e-4,4.620409516581872e-5,-1.3379104609315037e-8,6.062503718534889e-4,4.616766157689615e-5,-1.3368067825864579e-8,6.062610395188557e-4,4.6033924576426214e-5,-1.3327457601791911e-8,6.063169469718518e-4,4.581063544655485e-5,-1.3258772884036288e-8,6.064494044595206e-4,4.55215188896636e-5,-1.3168331958415403e-8,6.066795318747286e-4,4.52042881604833e-5,-1.3066866709055663e-8,6.070128998625647e-4,4.490545427349359e-5,-1.2968213330564991e-8,6.074363111856063e-4,4.467226793872749e-5,-1.2887087372606102e-8,6.079179098524724e-4,4.4543009907630994e-5,-1.2836174421477544e-8,6.084112436310817e-4,4.453736700212919e-5,-1.282297992625794e-8,6.08863370461571e-4,4.464886329443632e-5,-1.2847073663286673e-8,6.092264758703546e-4,4.4841679024146196e-5,-1.289860746681526e-8,6.094712937410751e-4,4.505445305432866e-5,-1.2959127922180999e-8,6.095987972448405e-4,4.521292039621171e-5,-1.3005410854173592e-8,6.096448764943399e-4,4.5250510079934645e-5,-1.3016030794821033e-8,6.096730138384927e-4,4.513114561506076e-5,-1.2978711001202054e-8,6.097545631549566e-4,4.486402580498518e-5,-1.2895124516848801e-8,6.099439852908066e-4,4.450134061490781e-5,-1.2780348513948726e-8,6.102610819546051e-4,4.4118743907326676e-5,-1.265702267633818e-8,6.106884949894511e-4,4.378880296374916e-5,-1.2547376438516559e-8,6.111831302385094e-4,4.356052924504412e-5,-1.2467023709897674e-8,6.116930853079845e-4,4.3451843285146805e-5,-1.2422507196552202e-8,6.121718091847651e-4,4.3453283807383274e-5,-1.2412110270198072e-8,6.125859229567852e-4,4.3537061943772174e-5,-1.242828767855344e-8,6.129174051327997e-4,4.3666315988779066e-5,-1.2460290569013057e-8,6.131625421240779e-4,4.380214478201701e-5,-1.249629588729844e-8,6.133297797994605e-4,4.390824915390768e-5,-1.2524935334363993e-8,6.134376059320164e-4,4.395405443660182e-5,-1.2536392208869133e-8,6.135126429920539e-4,4.391729178049016e-5,-1.2523285610369912e-8,6.135875232541355e-4,4.37866565556534e-5,-1.248151062142838e-8,6.136978474050366e-4,4.3564553195397556e-5,-1.2411078877572878e-8,6.138776204707606e-4,4.3269171658970975e-5,-1.2316794930864575e-8,6.141531157431434e-4,4.293451537346142e-5,-1.2208394276352459e-8,6.145360882992824e-4,4.260690395661579e-5,-1.2099680577646451e-8,6.150183068876578e-4,4.233718420343913e-5,-1.2006354865178858e-8,6.155698862543469e-4,4.216944569007125e-5,-1.194266561911202e-8,6.161432780116315e-4,4.212893829735594e-5,-1.191760894514987e-8,6.166829962369822e-4,4.221304211145604e-5,-1.1931838226690434e-8,6.171390028809723e-4,4.2388733189199025e-5,-1.1976435073662864e-8,6.174801786565707e-4,4.2598204728411776e-5,-1.2034228597516467e-8,6.177039713164523e-4,4.2771969148489644e-5,-1.2083631887323418e-8,6.178390324477566e-4,4.284658717591776e-5,-1.2104190944765916e-8,6.179391490155112e-4,4.2782467541547576e-5,-1.2082381407395732e-8,6.180690499519215e-4,4.257622589977647e-5,-1.2015807665370394e-8,6.182856981106309e-4,4.2262641290182364e-5,-1.1914142478848567e-8,6.186214061728539e-4,4.1904306638940616e-5,-1.1796159869780265e-8,6.190753692770967e-4,4.1572254817565175e-5,-1.168386155567887e-8,6.196167242703293e-4,4.1325277041778395e-5,-1.1596058210408694e-8,6.201967488488639e-4,4.119594759437842e-5,-1.1543865254199268e-8,6.20764019662867e-4,4.118716574602068e-5,-1.1529328261415304e-8,6.21276549030351e-4,4.127757978552318e-5,-1.154678533548196e-8,6.217080946567695e-4,4.143120927489927e-5,-1.1585638643255654e-8,6.220491812385284e-4,4.1606888823869886e-5,-1.1633240123016763e-8,6.223049974865838e-4,4.176527688606243e-5,-1.1677161479087305e-8,6.224922388533137e-4,4.1873203335198556e-5,-1.1706688765447071e-8,6.226360955927154e-4,4.1906205539858945e-5,-1.1713717885084007e-8,6.227676718629662e-4,4.185030251602371e-5,-1.1693341505436549E-08,6.229214415278793e-4,4.1703735041523074e-5,-1.1644381723185078e-8,6.231319853664534e-4,4.147878640125714e-5,-1.1569970337746821e-8,6.234292802965761e-4,4.120299476324085e-5,-1.1478018587251494e-8,6.238323413543623e-4,4.0918246606836314e-5,-1.1381111507640178e-8,6.243421835840833e-4,4.067585345858345e-5,-1.1295177991775304e-8,6.249366570621865e-4,4.052646987191822e-5,-1.1236482520549367e-8,6.255707246045346e-4,4.0506051125566727e-5,-1.1217220872998886e-8,6.261847863392266e-4,4.062225481812146e-5,-1.124105993740093e-8,6.267202336075681e-4,4.08475845493812e-5,-1.1300642714626034e-8,6.271371716095217e-4,4.112393555640522e-5,-1.1378640363826194e-8,6.274272002337375e-4,4.137818217173511e-5,-1.1452374173663731e-8,6.276160661029025e-4,4.1543172110683946e-5,-1.1500321761911784e-8,6.277555903893943e-4,4.157642470580568e-5,-1.1508102924530854e-8,6.27908422691926e-4,4.147064598947023e-5,-1.1472061584588963e-8,6.281309101857208e-4,4.125382444025051e-5,-1.1399670417759892e-8,6.284589806615875e-4,4.0979990293322234e-5,-1.1307001676311571e-8,6.289004951050204e-4,4.071397673517665e-5,-1.1214196847662963e-8,6.294355537344494e-4,4.051475934856745e-5,-1.1140281814471427e-8,6.300239373611482e-4,4.0422039237037176e-5,-1.1098767800734435e-8,6.306167817204206e-4,4.044943019418976e-5,-1.1095165829009265e-8,6.311685570877783e-4,4.058515042629986e-5,-1.1126836428171848e-8,6.316459742628735e-4,4.079850842401508e-5,-1.1184776656645354e-8,6.320322305868174e-4,4.104897677346346e-5,-1.1256406714476454e-8,6.323269912046183e-4,4.129481071708473e-5,-1.1328374881368757e-8,6.325436800244089e-4,4.149944694038418e-5,-1.138873428162963e-8,6.327057717418874e-4,4.16353572641571e-5,-1.142829124798009e-8,6.3284320211077e-4,4.168599958414399e-5,-1.144127484924841e-8,6.329892507073682e-4,4.1646813714983565e-5,-1.1425641935138297e-8,6.331776221375067e-4,4.1525972124440285e-5,-1.1383308731724334e-8,6.334390698103364e-4,4.134505386970275e-5,-1.1320431548573354e-8,6.337968406765966e-4,4.1139068109295805e-5,-1.1247577530122925e-8,6.342606793062239e-4,4.0954382499360176e-5,-1.1179279984573037e-8,6.34820349377044e-4,4.084256691331992e-5,-1.1132243894526839e-8,6.354414692002509e-4,4.084884439949683e-5,-1.1121682761778917e-8,6.360679001502076e-4,4.0996568100376256e-5,-1.1156195968997953e-8,6.366339468110234e-4,4.1273455162251384e-5,-1.1233067444498262e-8,6.370847593082296e-4,4.162814226045832e-5,-1.1336844237008164e-8,6.37396720814852e-4,4.1982708229566924e-5,-1.1443112874876232e-8,6.375870858518857e-4,4.225789061658065e-5,-1.1526456467575253e-8,6.377074182492132e-4,4.239935949578947e-5,-1.1568844891267493e-8,6.378247532323368e-4,4.239301187350808e-5,-1.1564617122042744e-8,6.380001550354765e-4,4.226467189936685e-5,-1.1520634437041544e-8,6.382730696351323e-4,4.20678159364482e-5,-1.145275407366425e-8,6.386547983664781e-4,4.186642207611976e-5,-1.1380759726833166e-8,6.391301491825187e-4,4.1718969727590826e-5,-1.1323481608403951e-8,6.396645134501095e-4,4.16669354931265E-05,-1.1295058824572489e-8,6.402135211432802e-4,4.1728883630486846e-5,-1.130272523179324e-8,6.407329313863037e-4,4.189994975384543e-5,-1.1346210158588048e-8,6.411869273337647e-4,4.215579668992807e-5,-1.141864418294653e-8,6.415535317098374e-4,4.245951292741821e-5,-1.1508603446175233e-8,6.418266451670236e-4,4.276953906141313e-5,-1.160268944345754e-8,6.420150711981394e-4,4.3046889911181794e-5,-1.168800792468656e-8,6.42139481568027e-4,4.326056338850396e-5,-1.1754073581974093e-8,6.422284650134046e-4,4.3390762964130205e-5,-1.1793939423120785e-8,6.423145863944254e-4,4.343025232088572e-5,-1.1804643333497793e-8,6.424308611712833e-4,4.3384560725109035e-5,-1.1787259369334247e-8,6.426075271147033e-4,4.327164998942055e-5,-1.1746830998873365e-8,6.428686772623222e-4,4.312121499188235e-5,-1.1692290186969063e-8,6.43228211111064e-4,4.297319789412587e-5,-1.163620160738782e-8,6.436849034127897e-4,4.2874338512484316e-5,-1.1593853762600689e-8,6.442175178239869e-4,4.287106863696716e-5,-1.1581024865378009e-8,6.447826241944376e-4,4.299769946587701e-5,-1.1610003778983072e-8,6.453192106631316e-4,4.326148989808878e-5,-1.1684410461728622e-8,6.457633643151136e-4,4.363072674477005e-5,-1.179495428359945e-8,6.460709780358177e-4,4.403539258500074e-5,-1.1919425251124777e-8,6.46238269440531e-4,4.438654427814625e-5,-1.202896701159812e-8,6.463067360377512e-4,4.460863357575101e-5,-1.2098638955452586e-8,6.463473522053487e-4,4.466782983677177e-5,-1.2116629130642991e-8,6.464328198700985e-4,4.458091988511223e-5,-1.2087172530117929e-8,6.466134080396352e-4,4.440296244483021e-5,-1.2026767218001455e-8,6.469062893985017e-4,4.420432212394621e-5,-1.1957162905655501e-8,6.472980673486538e-4,4.4049415375376975e-5,-1.1898899064049858e-8,6.477545569824074e-4,4.398348465637827e-5,-1.1867178141227173e-8,6.482321283936542e-4,4.402769158632383e-5,-1.1870077472484313e-8,6.486874451684293e-4,4.4180110616365914e-5,-1.190843181001741e-8,6.490845942283705e-4,4.442004791255551e-5,-1.1976767655848106e-8,6.493996674170178e-4,4.471399475420608e-5,-1.2064930829832403e-8,6.496230132730473e-4,4.502224997790057e-5,-1.2160170877601224e-8,6.497593165315699e-4,4.530541463222377e-5,-1.2249376594925378e-8,6.498257985589669e-4,4.5530023897967826e-5,-1.2321106524374785e-8,6.498490150835266e-4,4.5672787320462324e-5,-1.2367125184429808e-8,6.49860849248668e-4,4.5723111388483726e-5,-1.2383285624306336e-8,6.498943459428724e-4,4.56838734642481e-5,-1.2369777794004631e-8,6.499798483583396e-4,4.5570805788698724e-5,-1.2330940194194202e-8,6.50141540921297e-4,4.5410946737608354e-5,-1.2274858062634918e-8,6.50394252361549e-4,4.524034632505981e-5,-1.2212820673742356e-8,6.507402898474811e-4,4.510081644081227e-5,-1.2158498221920027e-8,6.511662941424877e-4,4.503501619399875e-5,-1.2126476181320007e-8,6.516409652377725e-4,4.507883196177047e-5,-1.2129687005367259e-8,6.521158333795178e-4,4.525065636203942e-5,-1.2175577965498676e-8,6.525322031476455e-4,4.553941364164363e-5,-1.2261726884082065e-8,6.528365381010586e-4,4.5896913451435045e-5,-1.2372957541494924e-8,6.53001864278318e-4,4.6243075736359524e-5,-1.2482966177543175e-8,6.530450153429226e-4,4.6489294263523875e-5,-1.2562182212005331e-8,6.530262302326049e-4,4.657300931178719e-5,-1.2589338662501737e-8,6.530266241761063e-4,4.6484341852986244e-5,-1.2560253186849565e-8,6.531153745404709e-4,4.626789168937222e-5,-1.248839206681805e-8,6.533259500794602e-4,4.600025166059354e-5,-1.2397689341809364e-8,6.536518626923442e-4,4.5759473698595974e-5,-1.2312978138197302e-8,6.540578644141293e-4,4.56028117197643e-5,-1.2253084886290816e-8,6.544960449519266e-4,4.555825704891566e-5,-1.222809841334969e-8,6.549192256583115e-4,4.562646405711048e-5,-1.2239671643138295e-8,6.552892641813089e-4,4.578752220519903e-5,-1.2282737836356728e-8,6.555809511761707e-4,4.6008638879196065e-5,-1.23475952409882e-8,6.557831063329746e-4,4.625097547136351e-5,-1.2421941128098137e-8,6.558981448308248e-4,4.647540239116749e-5,-1.2492798538365653e-8,6.559406151232579e-4,4.664739366488725e-5,-1.2548313680324879e-8,6.55934795368779e-4,4.674108669115587e-5,-1.2579299722569738e-8,6.559114262674878e-4,4.674234926529412e-5,-1.258037528172128e-8,6.559037475636952e-4,4.6650576798607184e-5,-1.2550589153337167e-8,6.559431799480559e-4,4.647890047352641e-5,-1.2493483386171588e-8,6.560551490320222e-4,4.625272895401807e-5,-1.241665830734056e-8,6.562554736211841e-4,4.6006843480568736e-5,-1.2330965549949725e-8,6.565475621712678e-4,4.5781298533340715e-5,-1.224938677601268e-8,6.569205673771478e-4,4.561626701972796e-5,-1.2185538559539806e-8,6.573487109405446e-4,4.554580590585966e-5,-1.2151659149246088e-8,6.577924153502072e-4,4.5590415220543125e-5,-1.215594635662814e-8,6.58202593113294e-4,4.574881097857109e-5,-1.2199412084801173e-8,6.585297262397721e-4,4.59909687918636e-5,-1.2273096298199133e-8,6.587382425042407e-4,4.62568085760598e-5,-1.2357324481940705e-8,6.588231495329708e-4,4.646624084061321e-5,-1.2425073606254522e-8,6.588204978599106e-4,4.65431768960108e-5,-1.2450244405357208e-8,6.588012287440477e-4,4.644637290291428e-5,-1.2418191579088436e-8,6.588458419334591e-4,4.61899779128904e-5,-1.2332619928155143e-8,6.590119357198074e-4,4.5838877755827045e-5,-1.2214031205022718e-8,6.593137391720427e-4,4.548068499544168e-5,-1.2090617955505468e-8,6.597236153319567e-4,4.519227164557173e-5,-1.1987544773090963e-8,6.601895628610029e-4,4.5018724180246425e-5,-1.1920237507966108e-8,6.606554423138694e-4,4.49697296954195e-5,-1.189308702067798e-8,6.610749674083071e-4,4.502738150794323e-5,-1.1901620274760557e-8,6.614178803084616e-4,4.515738862713096e-5,-1.1935726383931564e-8,6.616706357616994e-4,4.531887849385159e-5,-1.1982572911828448e-8,6.61834447382716e-4,4.547133072107415e-5,-1.2028824379413137e-8,6.6192264137107e-4,4.5579126378920714e-5,-1.2062283892577649e-8,6.619580115031964e-4,4.561475770029697e-5,-1.2073180904243843e-8,6.619700433900955e-4,4.556135838574398e-5,-1.2055197467963607e-8,6.61991699576438e-4,4.5414661343623503e-5,-1.200620365179172e-8,6.620555712945934e-4,4.51840896179602e-5,-1.1928622796913211e-8,6.621894741458482e-4,4.489240920507422e-5,-1.182931385336294e-8,6.624119923538018e-4,4.457342997377879e-5,-1.1718880084197724e-8,6.627287685916333e-4,4.4267655432898346e-5,-1.1610397059841187e-8,6.631303288208212e-4,4.401622188040044e-5,-1.1517614629584648e-8,6.635920520441031e-4,4.3853814799379214e-5,-1.1452739383809711e-8,6.640766309640293e-4,4.3801500136949246e-5,-1.1423990223408127e-8,6.645391547065707e-4,4.3860465762502585e-5,-1.1433213609765761e-8,6.649348907757294e-4,4.400781803244625e-5,-1.1474022268078109e-8,6.652295738743438e-4,4.4196208170768975e-5,-1.1531237312247409e-8,6.654109062286146e-4,4.435975285734818e-5,-1.1582666541464982e-8,6.654978651706966e-4,4.442827675775156e-5,-1.1603994416442983e-8,6.655421492594667e-4,4.434891282437948e-5,-1.1576365369570233e-8,6.656163939754637e-4,4.410816482066763e-5,-1.1494114352982963e-8,6.657897957674164e-4,4.3742356818358154e-5,-1.136844192019311e-8,6.661014873919342e-4,4.332714263267976e-5,-1.1223980436229123e-8,6.66546435586102e-4,4.294919512763321e-5,-1.1089453851181167e-8,6.670813088959861e-4,4.267547632709114e-5,-1.0987569771282318e-8,6.676444956798761e-4,4.2535713727573955e-5,-1.0929181332560628e-8,6.681774843805674e-4,4.252258156620681e-5,-1.0913107238000703e-8,6.686384044883153e-4,4.260325002735994e-5,-1.0929587800350869e-8,6.690062161390295e-4,4.2733346818073974e-5,-1.0964592948012124e-8,6.692787368457985e-4,4.286787118068754e-5,-1.1003310653399214e-8,6.694682707915127e-4,4.296777011126571e-5,-1.1032406940396475e-8,6.695972389198812e-4,4.300322240539698e-5,-1.1041321064106932e-8,6.696946149272839e-4,4.295523829967347e-5,-1.1023008875669534e-8,6.697929196037282e-4,4.2816698354687566e-5,-1.0974419442589062e-8,6.699251733474295e-4,4.2593196764431914e-5,-1.0896807753560433e-8,6.701212865700194e-4,4.230341044442153e-5,-1.0795842637994127e-8,6.704037174690174e-4,4.1978221761531796e-5,-1.0681328919295532e-8,6.707828559139265e-4,4.1657672615155404e-5,-1.0566288547495148e-8,6.712532690016723e-4,4.138524242901553e-5,-1.0465216530512158e-8,6.717922865944109e-4,4.119981360746378e-5,-1.0391550497627238e-8,6.723621835534646e-4,4.112674104581725e-5,-1.0354712996658229e-8,6.729163674503193e-4,4.117028254115718e-5,-1.0357404924622589e-8,6.734087601805087e-4,4.1309743555585105e-5,-1.0393953428156289e-8,6.738045432664134e-4,4.150094656252346e-5,-1.0450378613876328e-8,6.740899326696811e-4,4.168357203370962e-5,-1.0506544084907395e-8,6.742784623792691e-4,4.1793849405908306e-5,-1.0540362360195925e-8,6.744112537778521e-4,4.178074134045985e-5,-1.053345924363471e-8,6.745493044657425e-4,4.1621948675312874e-5,-1.0476951591107518e-8,6.747577135709221e-4,4.1334207987166106e-5,-1.0375304924468307e-8,6.750854372839487e-4,4.097200972504231e-5,-1.0246168788815136e-8,6.755482329271165e-4,4.0612262569480024e-5,-1.0115334350837037e-8,6.761231653952755e-4,4.032957409188221e-5,-1.0008413784011982e-8,6.767578521833027e-4,4.017301604488647e-5,-9.94290139609733e-9,6.773894310269758e-4,4.015465619698559e-5,-9.924065754328441e-9,6.779636072244319e-4,4.025271194279116e-5,-9.945684323589636e-9,6.784462992592076e-4,4.042426218751692e-5,-9.994032077050076e-9,6.788262531519046e-4,4.0619750895181834e-5,-1.0052621713449427e-8,6.791114670866537e-4,4.0793953317949755e-5,-1.0105937498144301e-8,6.793233103813246e-4,4.091197852871128e-5,-1.0141630257049476e-8,6.794909850969935e-4,4.0951453051865014e-5,-1.01514585939184e-8,6.7964728168145e-4,4.090274064307937e-5,-1.0131510062344522e-8,6.798254076015645e-4,4.076859742149239e-5,-1.0082138915684628e-8,6.800561699820016e-4,4.0563850495158245e-5,-1.0007849266961698e-8,6.8036477449427e-4,4.031492566409186e-5,-9.917132870207206e-9,6.807668440871827e-4,4.0058407100975396e-5,-9.822042726828585e-9,6.812639721347429e-4,3.98374389784475e-5,-9.737104678895134e-9,6.818400995093161e-4,3.9695020030860256e-5,-9.677186556046806e-9,6.824608377364019e-4,3.966437272967973e-5,-9.65429089058683e-9,6.830778514977682e-4,3.975846050622824e-5,-9.673896804332269e-9,6.8363893699842e-4,3.996251016407234e-5,-9.732153955509115e-9,6.841017372567231e-4,4.023361206932423e-5,-9.815394137449953e-9,6.844466228191916e-4,4.05092582535884e-5,-9.902727164968086e-9,6.846838738110617e-4,4.072297495515305e-5,-9.971213593928136e-9,6.848523051199315e-4,4.082220466885166e-5,-1.000201594026922e-8,6.850095982123903e-4,4.07828469698932e-5,-9.98560223372568e-9,6.852171873960667e-4,4.0616222783899834e-5,-9.924483469796086e-9,6.855238737488718e-4,4.036653532224773e-5,-9.832728989987601e-9,6.859526224257744e-4,4.00993290741107e-5,-9.732322816114245e-9,6.86494446675017e-4,3.988386503340198e-5,-9.647264291981038e-9,6.871115650576727e-4,3.977452661168896e-5,-9.597109977300679e-9,6.877489646437295e-4,3.979728759741124e-5,-9.592045225736865e-9,6.883501673843535e-4,3.994563772478752e-5,-9.631095222420986e-9,6.888714062386018e-4,4.018638516815171e-5,-9.70376889018204e-9,6.89289773006254e-4,4.047168422173579e-5,-9.79400284884246e-9,6.896042371432542e-4,4.075196513064055e-5,-9.884614283434994e-9,6.898314601928995e-4,4.0985699460782386e-5,-9.960814485912439e-9,6.899994707481199e-4,4.114457896454388e-5,-1.0012195088317796e-8,6.901416346331935e-4,4.1214864630885974e-5,-1.0033353714839723e-8,6.902920197616812e-4,4.119656099349532e-5,-1.0023683572674945e-8,6.904821165138293e-4,4.1101881144250444e-5,-9.986848350330236e-9,6.907382638650003e-4,4.09537582206849e-5,-9.930264533573738e-9,6.910790024415842e-4,4.0784383529647454e-5,-9.864646068425661e-9,6.915118287645734e-4,4.06330723894299e-5,-9.803388502339166e-9,6.92029478921974e-4,4.054225759251511e-5,-9.761330963984282e-9,6.926069404711696e-4,4.055042383207215e-5,-9.752392841996608e-9,6.93201577440324e-4,4.068187369966381e-5,-9.785963135087253e-9,6.937591702126083e-4,4.0935603885594335e-5,-9.86281521804032e-9,6.942270330740719e-4,4.1278405821690475e-5,-9.972398042232453e-9,6.945712632534799e-4,4.164815702606528e-5,-1.0093706764041374e-8,6.947908016139201e-4,4.196965425274466e-5,-1.0200641875276863e-8,6.949204861200494e-4,4.217816671559534e-5,-1.027018519806173e-8,6.950204845917e-4,4.2240436893643125e-5,-1.0289782773011855e-8,6.951568783835051e-4,4.2163991349505506e-5,-1.0260761389728324e-8,6.953820071952732e-4,4.1992296890793167e-5,-1.0196951522017627e-8,6.957214881833488e-4,4.1789873918597023e-5,-1.0119904592446122e-8,6.961704254910497e-4,4.162399139921554e-5,-1.0052855248199617e-8,6.966977464138914e-4,4.154851515582117e-5,-1.0015196278929336e-8,6.972559483814732e-4,4.159322790104321e-5,-1.0018554243928807e-8,6.977931798100247e-4,4.1759927789965654e-5,-1.006500579411969e-8,6.982647541256812e-4,4.202510292476047e-5,-1.0147554437825793e-8,6.986416504509654e-4,4.2347742945279895e-5,-1.0252547579380231e-8,6.989144432942709e-4,4.267979568978907e-5,-1.0363254734980224e-8,6.990924889111561e-4,4.297633660441667e-5,-1.046354978955787e-8,6.991995765864698e-4,4.3203125469473766e-5,-1.0540778184890215e-8,6.992679525856361e-4,4.334055988722916e-5,-1.0587341630078698e-8,6.993324737511327e-4,4.338433788379723e-5,-1.0601042222300012e-8,6.994259422448656e-4,4.33439373540044e-5,-1.0584573537885036e-8,6.995758178822197e-4,4.324016014019141e-5,-1.0544655239898046e-8,6.998018846283525e-4,4.310255497934784e-5,-1.049116419505745e-8,7.001142366953494e-4,4.296687167505949e-5,-1.0436353487376878e-8,7.00511078834245e-4,4.28720812612912e-5,-1.0393964239501379e-8,7.009763426032131e-4,4.285598693783195e-5,-1.0377799290857615e-8,7.014781075470884e-4,4.294835757893481e-5,-1.0399281482030315e-8,7.01969994354906e-4,4.316142500987284e-5,-1.0463892261942207e-8,7.023982919714376e-4,4.3479848296496525E-05,-1.0567290124078954e-8,7.027162843902773e-4,4.385542505735799e-5,-1.0693127635927223e-8,7.029027821209852e-4,4.42135354664673e-5,-1.0815191406563102e-8,7.029758681401383e-4,4.44744496722845e-5,-1.0904987723913586e-8,7.029914590549362e-4,4.458263269534113e-5,-1.0942205658178163e-8,7.030240973959722e-4,4.4528749813272105e-5,-1.0922540209312683e-8,7.031394395161471e-4,4.435182467687107e-5,-1.0858532246731884e-8,7.033730001998939e-4,4.412187581728143e-5,-1.0773708033050758e-8,7.037236525719877e-4,4.391449186565976e-5,-1.0694038600834027e-8,7.041603691418619e-4,4.378961991431415e-5,-1.0640801646843702e-8,7.046353875274154e-4,4.378031259963003e-5,-1.0626632482199593e-8,7.050976569019387e-4,4.3890906265389334e-5,-1.0654550090175343e-8,7.055033512381783e-4,4.4101463726791514e-5,-1.0719012226212606e-8,7.058225832089542e-4,4.4375368649487437e-5,-1.0808140470310517e-8,7.060425584939559e-4,4.4667972118194066e-5,-1.0906544945457309e-8,7.061676354241381e-4,4.4934992978476056e-5,-1.0998328320161188e-8,7.062167941862384e-4,4.513963638656883e-5,-1.1069817830506132e-8,7.062192461146077e-4,4.525758094198104e-5,-1.1111586225981603e-8,7.062091365135665e-4,4.527941172781372e-5,-1.1119497270185845e-8,7.062203187254132e-4,4.521057587191405e-5,-1.1094762027694266e-8,7.062819845440831e-4,4.5069391812404094e-5,-1.1043233702560278e-8,7.06415505665796e-4,4.488393907460559e-5,-1.0974313413837001e-8,7.066323612634319e-4,4.4688540962570335e-5,-1.089978106738531e-8,7.069327966070445e-4,4.452012245181196e-5,-1.0832652650027417e-8,7.073048809528734e-4,4.4414291049901125e-5,-1.0785940512482935e-8,7.077239303819673e-4,4.4400593182769026e-5,-1.0771010723654536e-8,7.081530282662858e-4,4.449628480384157e-5,-1.0795218004047385e-8,7.08546309372772e-4,4.4698728013663695e-5,-1.0858860998889045e-8,7.088570074624559e-4,4.497837061391854e-5,-1.0952277710884579e-8,7.090511764918637e-4,4.527680031930541e-5,-1.1054882078469456e-8,7.091242875412201e-4,4.551603875633128e-5,-1.1138494306429178e-8,7.091120498076681e-4,4.562208888687946e-5,-1.117598713005094e-8,7.090846177539748e-4,4.5555482629709526e-5,-1.1152408119707443e-8,7.091216217038918e-4,4.533143658656323e-5,-1.1072207380177586e-8,7.092802036001695e-4,4.501504148607371e-5,-1.0957523637321026e-8,7.095747795025035e-4,4.469379194735881e-5,-1.0838617797559788e-8,7.099779924341384e-4,4.4444886939645104e-5,-1.0742641317809363e-8,7.104372322708001e-4,4.431417690490606e-5,-1.0686428868332595e-8,7.108944427121056e-4,4.43116119214771e-5,-1.067478403156329e-8,7.113007184917924e-4,4.441806234799192e-5,-1.0702470480375884e-8,7.116236793675328e-4,4.459632083759559e-5,-1.0757592826290675e-8,7.118492538786992e-4,4.480161570626685e-5,-1.0824953711808661e-8,7.11980233791131e-4,4.4989876558258635e-5,-1.0888886188899312e-8,7.120332870788396e-4,4.512373743613871e-5,-1.093553525218388e-8,7.120351830951165e-4,4.517671189813642e-5,-1.0954618391336977e-8,7.12018506314901e-4,4.513573773315998e-5,-1.094058962873492e-8,7.12017114163592e-4,4.500208629716573e-5,-1.0893112309757543e-8,7.120616914124563e-4,4.47905968840482e-5,-1.0816818974571956e-8,7.121758530794824e-4,4.452730583824109e-5,-1.0720449941183935e-8,7.12373225808455e-4,4.424582850797638e-5,-1.0615582948149321e-8,7.126557056969058e-4,4.3983020894276823E-05,-1.0515185840291802e-8,7.130128748690027e-4,4.377430370445033e-5,-1.0432097453514521e-8,7.134225026408814e-4,4.364884043657226e-5,-1.0377410518766734e-8,7.138521296875519e-4,4.3624612316220915e-5,-1.0358662531311387e-8,7.142621087199356e-4,4.370335181858926e-5,-1.0377769717223068e-8,7.146110340123279e-4,4.386580901383108e-5,-1.0428929632440784e-8,7.148644843579355e-4,4.406916289330847e-5,-1.0497305281474699e-8,7.150068229220568e-4,4.424991700273873e-5,-1.0559887164612516e-8,7.150530524366479e-4,4.4336178298709344e-5,-1.0590042672540263e-8,7.15053734810595e-4,4.42704276374271e-5,-1.056605287956476e-8,7.150846291680763e-4,4.403576931514396e-5,-1.0480847359923442e-8,7.152198511851885e-4,4.3670120179829765e-5,-1.0347183403858284e-8,7.155008744882165e-4,4.325529287265698e-5,-1.019372183871818e-8,7.159202063701489e-4,4.288442453165478e-5,-1.0053486378649688e-8,7.164288382090401e-4,4.262714020159595e-5,-9.95164253828637e-9,7.169595712173114e-4,4.2511112636761016e-5,-9.899008498589871e-9,7.174506599694499e-4,4.2524020942925516e-5,-9.892540841677029e-9,7.178598144621892e-4,4.2627404619268514e-5,-9.91983987587705e-9,7.181678446769699e-4,4.27721963699476e-5,-9.964266310840572e-9,7.183759126586623e-4,4.291045343841636e-5,-1.0008908875743132e-8,7.18500405594647e-4,4.300234497131943e-5,-1.0039122755238085e-8,7.185677828556197e-4,4.30196320106107e-5,-1.0044007543963475e-8,7.186101042079086e-4,4.294717412168661e-5,-1.001723346601736e-8,7.186610533817944e-4,4.278335317154585e-5,-9.957406051808767e-9,7.18752168284341e-4,4.253964376045135e-5,-9.867997924772748e-9,7.189091853091514e-4,4.2239192867652126e-5,-9.756827287293615e-9,7.191486680453425e-4,4.191412441845834e-5,-9.635062646698978e-9,7.194753833185204e-4,4.1601472907260915e-5,-9.515794554155215e-9,7.198809710473828e-4,4.1338056243998875e-5,-9.412302783608438e-9,7.203442861506658e-4,4.115483206636226e-5,-9.33615368049298e-9,7.208335901116579e-4,4.107136650050428e-5,-9.295250483512817e-9,7.21310582686931e-4,4.109113767836152e-5,-9.292009746461441e-9,7.217361374829578e-4,4.1198376722348027e-5,-9.321908690989147e-9,7.220776248483091e-4,4.135721706930838e-5,-9.372781644989014e-9,7.223174798075731e-4,4.151444248885548e-5,-9.42550576306746e-9,7.224616572947125e-4,4.160760778234224e-5,-9.456878589667109e-9,7.225448756233372e-4,4.157965702183735e-5,-9.445137808270311e-9,7.226279081272899e-4,4.139838628719147e-5,-9.377400707335786e-9,7.22782831518834e-4,4.107397411941798e-5,-9.256348015631858e-9,7.230679109607896e-4,4.066348908937088e-5,-9.10200491377539e-9,7.235030324353299e-4,4.025454393631868e-5,-8.94585670514005e-9,7.240604349135902e-4,3.993307278447048e-5,-8.819235976789946e-9,7.246770474161983e-4,3.9752475639384204e-5,-8.74220271896425e-9,7.25280167562206e-4,3.972032945361145e-5,-8.71863631377646e-9,7.258112499168408e-4,3.980545137139982e-5,-8.738490452126625e-9,7.262379795707331e-4,3.995588791311808e-5,-8.783922245220665e-9,7.265545698200255e-4,4.011659749582939e-5,-8.83541706972929e-9,7.267755339873465e-4,4.024105833074878e-5,-8.875936197311278e-9,7.269279845271264e-4,4.029652987094112e-5,-8.892976574019021e-9,7.270451450548466e-4,4.026516750216042e-5,-8.879235354411228e-9,7.271616327638609e-4,4.014326976173892e-5,-8.832575722188413e-9,7.273099551577129e-4,3.993996905439593e-5,-8.755682817923396e-9,7.275175140387404e-4,3.9675705000669275e-5,-8.65552457776656e-9,7.278037036096325e-4,3.938023732409923e-5,-8.542589315450922e-9,7.281770882665271e-4,3.9089662899162196e-5,-8.429786504232964e-9,7.286331360591269e-4,3.884197223268564e-5,-8.330888585721539e-9,7.291533677555678e-4,3.867120217350354e-5,-8.258515599405508e-9,7.297067738756757e-4,3.860090558086704e-5,-8.221844583454592e-9,7.302539666578742e-4,3.8638182704821905e-5,-8.224400957513714e-9,7.307538962269374e-4,3.876983049784128e-5,-8.262452625865695e-9,7.311722092434422e-4,3.896204742743471e-5,-8.324571705863522e-9,7.314897527645678e-4,3.9164524285314036e-5,-8.3927927962959e-9,7.317094414493923e-4,3.931904431090589e-5,-8.445566122962981e-9,7.318594845103638e-4,3.937201425400375e-5,-8.462392890762826e-9,7.319908066651358e-4,3.928917259530832e-5,-8.42948659848983e-9,7.321669790530052e-4,3.906885058053107e-5,-8.345010771919948e-9,7.324469928605998e-4,3.8748281868431985e-5,-8.22172192559327e-9,7.328651675913713e-4,3.839739804730499e-5,-8.084889760603431e-9,7.334166535442571e-4,3.809868218835139e-5,-7.964969302770367e-9,7.340570593855317e-4,3.791967584824037e-5,-7.88746795733556e-9,7.347180158889726e-4,3.789093829132095e-5,-7.864694610367329e-9,7.35330978895752e-4,3.799999059049531e-5,-7.893257941684946e-9,7.358473549973659e-4,3.820188625552753e-5,-7.95762224232136e-9,7.36247320859895e-4,3.8438037090302746e-5,-8.036768609057542e-9,7.365375874964547e-4,3.865343008418449e-5,-8.110432460280896e-9,7.367432165561168e-4,3.880698844533339e-5,-8.163005946748622e-9,7.368986354207467e-4,3.8875061863166875e-5,-8.185035831936871e-9,7.370405983510341e-4,3.885061218849014e-5,-8.173156102939069e-9,7.372035548293182e-4,3.8740714185469477e-5,-8.129326522098361e-9,7.374166923744471e-4,3.8563901864775714e-5,-8.05990590565618e-9,7.377017025310008e-4,3.834777065479802e-5,-7.974743340507008e-9,7.38070622142274e-4,3.8126512150255426e-5,-7.886238130470689e-9,7.385236155784789e-4,3.7937678633434624e-5,-7.80816935910351e-9,7.390471872462534e-4,3.7817479218706066e-5,-7.754041850862354e-9,7.39613896733862e-4,3.779443638936219e-5,-7.734832514708064e-9,7.401848806728716e-4,3.788221163124379e-5,-7.75635096994411e-9,7.407160397257579e-4,3.807351780711525e-5,-7.816863716772319e-9,7.411675017627108e-4,3.83377342940748e-5,-7.905958120875292e-9,7.415142919555773e-4,3.8624442718095306e-5,-8.005552813609206e-9,7.417549191637427e-4,3.887335159084064e-5,-8.093346705012602e-9,7.419146387750976e-4,3.902868594401002e-5,-8.14809060536792e-9,7.420415466924796e-4,3.9054260051663074e-5,-8.155305505607456e-9,7.421957712450767e-4,3.894484020912841e-5,-8.111780096870276e-9,7.424340938914088e-4,3.873006125504485e-5,-8.02737573183699e-9,7.42793899355561e-4,3.846880194086285e-5,-7.923264854219435e-9,7.432812620141698e-4,3.823437454532318e-5,-7.82664187542525e-9,7.438677441412036e-4,3.809405520022208e-5,-7.763143694430137e-9,7.444981839003461e-4,3.808955287654943e-5,-7.749409650064826e-9,7.451073361538792e-4,3.822586805072566e-5,-7.788599612458683e-9,7.456389114710405e-4,3.847282903416642e-5,-7.870587084328902e-9,7.460595325375159e-4,3.8777620572790256e-5,-7.97634017132848e-9,7.463633344203971e-4,3.90818258416466e-5,-8.084164382373755e-9,7.465679154850866e-4,3.9335967587656355e-5,-8.175197120055171e-9,7.467056704916095e-4,3.950769387356267e-5,-8.236653653676395e-9,7.468147802209882e-4,3.958364471163843e-5,-8.262748556136644e-9,7.469323302937862e-4,3.956728801685668e-5,-8.25406326448367e-9,7.470900224543724e-4,3.947522924674709e-5,-8.21625230612436E-09,7.473117786206921e-4,3.9333574246693434e-5,-8.15868872939971e-9,7.476122444451707e-4,3.917483364161524e-5,-8.093285230637837e-9,7.479954258414936e-4,3.9035053263447094e-5,-8.033430521419e-9,7.484532171378763e-4,3.8950407831258895e-5,-7.992775209673987e-9,7.489642810589979e-4,3.895244597740534e-5,-7.983527194781351e-9,7.494944525688141e-4,3.906165830601274e-5,-8.014060469529422e-9,7.500002746529996e-4,3.9280174203610924e-5,-8.086078232861302e-9,7.504369055959056e-4,3.9586013083436254e-5,-8.192238951203957e-9,7.507699029120727e-4,3.993257848288867e-5,-8.31570446363603e-9,7.509875768828624e-4,4.025651618290501e-5,-8.432888245201967e-9,7.511084739632404e-4,4.049377684511111e-5,-8.519412651981377e-9,7.511792950330379e-4,4.059903216808652e-5,-8.557453460506901e-9,7.51262580818493e-4,4.056073182061699e-5,-8.541545996409175e-9,7.514184424281146e-4,4.040549547796316e-5,-8.480474453332119e-9,7.516871944073718e-4,4.019036204144835e-5,-8.394680466844668e-9,7.520786833722089e-4,3.998634873333417e-5,-8.31041577663291e-9,7.525708694622507e-4,3.985920059382761e-5,-8.252707967838128e-9,7.531170338310043e-4,3.985300180192867e-5,-8.239147244363815e-9,7.536588526186752e-4,3.998070036708499e-5,-8.276008258796359e-9,7.541413990265233e-4,4.022342678605548e-5,-8.357544078241255e-9,7.54525863865062e-4,4.05380201242533e-5,-8.468421354961952e-9,7.547967008719969e-4,4.0869815523018587e-5,-8.588335122366214e-9,7.549619635945633e-4,4.116635887970118e-5,-8.697206288555848e-9,7.550480101612701e-4,4.1388047065979665e-5,-8.779387588935774e-9,7.550913554910073e-4,4.151357045899603e-5,-8.825967420826681e-9,7.551305842522161e-4,4.154031612162445e-5,-8.835132581061215e-9,7.552001895864037e-4,4.148139165922518e-5,-8.811164119887681e-9,7.55326828426084e-4,4.1361260126847735e-5,-8.762820923675844e-9,7.555274925687125e-4,4.12114438663705e-5,-8.70170647458801e-9,7.558087203055979e-4,4.1066871518413693e-5,-8.640891785799208e-9,7.561661037027524e-4,4.09626519740274e-5,-8.593743073534889e-9,7.565837873294337e-4,4.0930595848213674e-5,-8.572674913245856e-9,7.570343023719693e-4,4.0994708019895345e-5,-8.58746909968765e-9,7.574798432523166e-4,4.116526167701248e-5,-8.642942450707564e-9,7.578766597453443e-4,4.143219506580418e-5,-8.736227826676889e-9,7.581839700006578e-4,4.1760430647830195e-5,-8.85472089607003e-9,7.583769007372872e-4,4.209143613341075e-5,-8.97646260497755e-9,7.584593350854895e-4,4.235492678888832e-5,-9.074535079715516e-9,7.584693326984003e-4,4.249010700473473e-5,-9.125223368184249e-9,7.58470988460264e-4,4.246860282595259e-5,-9.116849569321388e-9,7.585337351705025e-4,4.230716762507732e-5,-9.054700673282172e-9,7.587083994551931e-4,4.206260627237825e-5,-8.959261900385463e-9,7.590114511903744e-4,4.181169099700161e-5,-8.858889905876627e-9,7.594231618304254e-4,4.162653730197789e-5,-8.780808674797843e-9,7.598974502542237e-4,4.155567159126383e-5,-8.744091746991325e-9,7.603770701441117e-4,4.161547883315085e-5,-8.756261200644959e-9,7.608083072352005e-4,4.1791395294714015e-5,-8.813314074637931e-9,7.611518311466191e-4,4.204568142158321e-5,-8.902175671211233e-9,7.613885521055572e-4,4.232834360337178e-5,-9.004492689727314e-9,7.615206177534766e-4,4.258845489577387e-5,-9.100837967244961e-9,7.61568322961355e-4,4.2783817580922045e-5,-9.174529986143186e-9,7.615641863347267e-4,4.288746563387388e-5,-9.214382010099968e-9,7.615458421224065e-4,4.289030424473849e-5,-9.215981555878051e-9,7.615493776879412e-4,4.280020160465099e-5,-9.181526671744856e-9,7.616042486398303e-4,4.26385797343642e-5,-9.118594656166542e-9,7.61730210455046e-4,4.2435795379432153e-5,-9.03837554219817e-9,7.61936050598561e-4,4.222646210520275e-5,-8.953874020503188e-9,7.622194897874063e-4,4.204535712200338e-5,-8.87837427683221e-9,7.625676250645121e-4,4.1923882039288665e-5,-8.824153587401546e-9,7.629576171601758e-4,4.188660389994002e-5,-8.801211913123232e-9,0.00076335781686778445,4.194730410322629e-5,-8.815719768604965e-9,7.637301806589586e-4,4.210424149540176e-5,-8.868024377405146e-9,7.640353866362429e-4,4.233530176320579e-5,-8.950502771608857e-9,7.642418368971225e-4,4.259542541961727e-5,-9.046295943306457e-9,7.643379706413167e-4,4.282042794217269e-5,-9.130652554192153e-9,7.643436783033333e-4,4.29411494887276e-5,-9.176459932444947e-9,7.643128225427903e-4,4.290719105443412e-5,-9.163573390875584e-9,7.643198908851147e-4,4.27107298651634e-5,-9.088104238947882e-9,7.644329712891078e-4,4.23954390951903e-5,-8.965872528852865e-9,7.646866633436667e-4,4.204199444422708e-5,-8.826934866527333e-9,7.650704200976676e-4,4.17372669333947e-5,-8.704057045239502e-9,7.655369936842672e-4,4.154471093131832e-5,-8.621706108552556e-9,7.660227565342318e-4,4.1489461027239444e-5,-8.590446292021975e-9,7.664679096395077e-4,4.155968867214678e-5,-8.60719762281304e-9,7.668295552510263e-4,4.1717667344140696e-5,-8.65897698447111e-9,7.670867797953163e-4,4.191334217832278e-5,-8.727615499482921e-9,7.672399375245228e-4,4.209611415617943e-5,-8.794011363368658e-9,7.673067113076542e-4,4.2223374435902354e-5,-8.841422117427617e-9,7.673167461421355e-4,4.226589688328241e-5,-8.857772846673981e-9,7.673057770691697e-4,4.221051342646373e-5,-8.837001052988211e-9,7.673098402283448e-4,4.206030802892788e-5,-8.779391079594279e-9,7.673601781277127e-4,4.18326361185597e-5,-8.690943756311483e-9,7.674793660680467e-4,4.1555511526051535e-5,-8.58199870451685e-9,7.676789770593695e-4,4.126301892957958e-5,-8.465429763661297e-9,7.679588364412986e-4,4.0990480338567314e-5,-8.354768907767848e-9,7.683075907368027e-4,4.077001331558171e-5,-8.262536838002104e-9,7.687041577968274e-4,4.062672035544098e-5,-8.198843955832656e-9,7.691197778494181e-4,4.057536670843389e-5,-8.170131786714939e-9,7.69520695114969e-4,4.061730481647757e-5,-8.17788778750396e-9,7.698719236009533e-4,4.073758088267318e-5,-8.217289031700045e-9,7.701429410375053e-4,4.090284202188645e-5,-8.276083307954193e-9,7.703158959245221e-4,4.106194157234824e-5,-8.334583011415699e-9]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_12.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_12.json
deleted file mode 100644
index 1edb28b..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_12.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":12000,"numberOfSamples":1000,"samples":[7.703954280162467e-4,4.1152337826266915e-5,-8.368108119871265e-9,7.704163319665058e-4,4.111507788730868e-5,-8.352989399151336e-9,7.704421464154993e-4,4.091720944904923e-5,-8.275542352848811e-9,7.705485092428724e-4,4.05724562623383e-5,-8.140252864992262e-9,7.707939985966856e-4,4.014524130054576e-5,-7.971353086916377e-9,7.71193504222048e-4,3.972957759547678e-5,-7.80469566907836e-9,7.717115053607008e-4,3.9412072212316335e-5,-7.673655282248528e-9,7.722792203821364e-4,3.924081276169691e-5,-7.597334312683116e-9,7.728228927422465e-4,3.921592014800571e-5,-7.576902082499595e-9,7.732865636479628e-4,3.930044006202883e-5,-7.599469965429773e-9,7.736417360467977e-4,3.9439508716162856e-5,-7.645015059481085e-9,7.738862021781628e-4,3.9577299627356655e-5,-7.692550022805146e-9,7.740375781067476e-4,3.9667776867413035e-5,-7.724156675043192e-9,7.741257583521852e-4,3.9679734947780095e-5,-7.727075835179889e-9,7.741863193020013e-4,3.959810915098842e-5,-7.69451274251175e-9,7.742552430288779e-4,3.9423328672554246e-5,-7.625696494804441e-9,7.743646142276804e-4,3.9169548057952974e-5,-7.525395913350832e-9,7.745390796275454e-4,3.886191912277735e-5,-7.4029175785362335e-9,7.747931611691499e-4,3.853296073940333e-5,-7.2706518736087654e-9,7.751296404933389e-4,3.821816871539602e-5,-7.14230656603222e-9,7.75539277044951e-4,3.795118644851318e-5,-7.03102083378519e-9,7.760019965895818e-4,3.7759097444815016e-5,-6.947589780698099e-9,7.764894114568546e-4,3.7658393030000226e-5,-6.898960011119357e-9,7.769683935525284e-4,3.765194567776308e-5,-6.887041206138857e-9,7.77405468600329e-4,3.7727187339015794e-5,-6.907852463658269e-9,7.777719367210197e-4,3.7855696317654865e-5,-6.951096001721251e-9,7.780497715515111e-4,3.799465132874708e-5,-7.000433114460731e-9,7.782381033839588e-4,3.809125972066116e-5,-7.035036448543083e-9,7.783590131789634e-4,3.809174285674149e-5,-7.033143881376136e-9,7.784595953194529e-4,3.795570392998253e-5,-6.97793131163529e-9,7.786057068107846e-4,3.767368510457848e-5,-6.864708360881282e-9,7.78863996118783e-4,3.728037531656348e-5,-6.706310810691064e-9,7.792756265371022e-4,3.685219468959701e-5,-6.532225465482031e-9,7.798348397283327e-4,3.648330405006227e-5,-6.379231745544197e-9,7.804875774404013e-4,3.624915992465997e-5,-6.277220111165846e-9,7.811532791147602e-4,3.6178446406365796e-5,-6.238248751260801e-9,7.817563618614648e-4,3.624887846641678e-5,-6.254752293779451e-9,7.822492066349364e-4,3.6404572752001926e-5,-6.305999039127454e-9,7.826184621073835e-4,3.658034238992342e-5,-6.367226110433409e-9,7.828786448897808e-4,3.672020080806501e-5,-6.416659701095429e-9,7.830611528872669e-4,3.678622737434062e-5,-6.439002339589363e-9,7.83204269111392e-4,3.6760045223355876e-5,-6.4262288080890655e-9,7.83346116265409e-4,3.6640538094929564e-5,-6.376990645821899e-9,7.835202865150684e-4,3.644047816686522e-5,-6.2955425776532835e-9,7.837530585274323e-4,3.618322636043522e-5,-6.190565289506217e-9,7.840613538345039e-4,3.5899528490766174e-5,-6.073894295370791e-9,7.844511692520874e-4,3.56240404001225e-5,-5.959079652820332e-9,7.849166362486965e-4,3.5391266889247926e-5,-5.859734881539029e-9,7.854401461991078e-4,3.5230870470624936e-5,-5.787703349498604e-9,7.85994077008628e-4,3.516280326863614e-5,-5.751203618221222e-9,7.865443681490566e-4,3.519312942196211e-5,-5.753224515569559e-9,7.870557121649313e-4,3.531147041257569e-5,-5.790462278713693e-9,7.874977374834473e-4,3.549084781661851e-5,-5.8530751899271e-9,7.878512977067683e-4,3.5690381696580056e-5,-5.925483082828172e-9,7.88113902130303e-4,3.586089281430252e-5,-5.9883395159535995e-9,7.883033069918536e-4,3.595324388575569e-5,-6.021732124830117e-9,7.884579960410935e-4,3.5929083510116866e-5,-6.009544248256601e-9,7.886327975757129e-4,3.577280030598468e-5,-5.9444715378693474e-9,7.888879780100181e-4,3.550164046195876e-5,-5.832367391647236e-9,7.8927192870103e-4,3.51687389345516e-5,-5.693704861085736e-9,7.898018205719634e-4,3.4853326117873307e-5,-5.559814012217819e-9,7.904515896948133e-4,3.4636846056963114e-5,-5.463410169207496e-9,7.911567365586743e-4,3.457328365667514e-5,-5.426733674861982e-9,7.91836723351535e-4,3.4669207955395765e-5,-5.453450884163303e-9,7.924237202788972e-4,3.488486649734166e-5,-5.5288267094573905e-9,7.928824548961669e-4,3.515389152880303e-5,-5.627269436403621e-9,7.932136820118008e-4,3.540839736028799e-5,-5.722097489506235e-9,7.934449059141124e-4,3.5597063748403574e-5,-5.792673659357338e-9,7.936168882573704e-4,3.569210775996662e-5,-5.827295173952732e-9,7.937723217445624e-4,3.568791359332356e-5,-5.822884193637893e-9,7.93948800831336e-4,3.559595323883983e-5,-5.783216738249511e-9,7.941754088277288e-4,3.543933477989003e-5,-5.716920600537979e-9,7.944713320113322e-4,3.524834071649752e-5,-5.635744464363097e-9,7.948452117223364e-4,3.505690102972568e-5,-5.5531067119024055e-9,7.952946621025866e-4,3.489936168856889e-5,-5.482741290558481e-9,7.958060134527227e-4,3.4806877971801684e-5,-5.437234302862502e-9,7.963548356244236e-4,3.4803064153757236e-5,-5.4263155715433935e-9,7.969080873912969e-4,3.4899187129560714e-5,-5.454979598662578e-9,7.974285582348853e-4,3.50899868901018e-5,-5.521799771482021e-9,7.978815595783528e-4,3.53517139310461e-5,-5.618028402827992e-9,7.982428279621153e-4,3.5643920541599894e-5,-5.728107579266846e-9,7.985056927078104e-4,3.591576113045357e-5,-5.8319638327390805e-9,7.986852279968585e-4,3.6116131940588234e-5,-5.908914090462572e-9,7.988176580367524e-4,3.620557989303193e-5,-5.942429308719043e-9,7.989544079791842e-4,3.616720864975489e-5,-5.924668401918435e-9,7.991513656849079e-4,3.601375362426653e-5,-5.859607617947738e-9,7.994550428476274e-4,3.5788266373648105e-5,-5.763648882378041e-9,7.99888593020665e-4,3.5556588356057684e-5,-5.662870662485801e-9,8.004419741134302e-4,3.539153188530321e-5,-5.586797190304597e-9,8.010710698253013e-4,3.5351857597047766e-5,-5.559879219657929e-9,8.017086298947224e-4,3.546304659868737e-5,-5.5935163200738305e-9,8.022846671415112e-4,3.5708577068191366e-5,-5.6822096378184195e-9,8.027481145977655e-4,3.603666410112383e-5,-5.805964874906324e-9,8.03080122412991e-4,3.637928126071499e-5,-5.9377647708489825e-9,8.032943410005627e-4,3.66738652272459e-5,-6.0522761139605395e-9,8.034269249007324e-4,3.687843167960255e-5,-6.132033879229968e-9,8.035230519879982e-4,3.697653334579644e-5,-6.1696217748146e-9,8.036257380118303e-4,3.6974206946549126e-5,-6.166656508896828e-9,8.037692352128727e-4,3.689330257374978e-5,-6.131278442552063e-9,8.039764427338145e-4,3.6764723596644845e-5,-6.075520263494496e-9,8.042586457584074e-4,3.662315128777011e-5,-6.013183162784273e-9,8.046160819092535e-4,3.6503272989771094e-5,-5.9582713714511854e-9,8.050385231957502e-4,3.643678976682334e-5,-5.9237473528870625e-9,8.055057955743184e-4,3.644934285412461e-5,-5.920288595123292e-9,8.05988792090945e-4,3.655676717208342e-5,-5.95478706400642e-9,8.064519656770659e-4,3.676075426661275e-5,-6.028574833606665e-9,8.068582848986766e-4,3.7045013088594046e-5,-6.1357749440002495e-9,8.071769237677392e-4,3.737399900933667e-5,-6.26261951082692e-9,8.073924491758243e-4,3.769659412573422e-5,-6.388754892200863e-9,8.075124666197616e-4,3.7955997865778476e-5,-6.491115253060035e-9,8.075698393218493e-4,3.8104352666225344e-5,-6.549812033282912e-9,8.07616918266904e-4,3.811755258854625e-5,-6.5542030392740885e-9,8.077125028108634e-4,3.8004458985452114e-5,-6.506795533466793e-9,8.079056000982033e-4,3.780654452780539e-5,-6.4233624926436094e-9,8.082214227720043e-4,3.758774308343327e-5,-6.3291414262697445e-9,8.086539871520523e-4,3.741775103981728e-5,-6.252328710187585e-9,8.091672759069606e-4,3.7353752588214316e-5,-6.216752306565877e-9,8.097045052884347e-4,3.742558962134468e-5,-6.235686559437506e-9,8.10203012993122e-4,3.7628423384850995e-5,-6.308502277607127e-9,8.106106251449948e-4,3.792510731679957e-5,-6.421212634856097e-9,8.108985322821864e-4,3.8257644162653106e-5,-6.550833196339432e-9,8.11066628774171e-4,3.856383400569566e-5,-6.6720638631456955e-9,8.111401568994287e-4,3.8793232686939005e-5,-6.763879623403471e-9,8.111600098107639e-4,3.89173073971411e-5,-6.813868422693099e-9,8.111711107269196e-4,3.893182181341246e-5,-6.8194280235812216e-9,8.112128636990658e-4,3.8852913529948424e-5,-6.786357912765378e-9,8.1131356935384e-4,3.8710088334482416e-5,-6.726121364291298e-9,8.114885730374386e-4,3.853908980505929e-5,-6.652976845483148e-9,8.117408037071133e-4,3.837625006855202e-5,-6.5816575047402725e-9,8.120622864326276e-4,3.825456404102906e-5,-6.5257403552766695e-9,8.124357145823514e-4,3.82008938099246e-5,-6.496493824519633e-9,8.128358550233297e-4,3.823344877076438e-5,-6.50185004606853e-9,8.132312194083829e-4,3.8358874558908814e-5,-6.54518991660995e-9,8.135869354214777e-4,3.856887726212377e-5,-6.623869747140799e-9,8.138698868858205e-4,3.8837323813125146e-5,-6.727869263055802e-9,8.140566018155787e-4,3.91199837876055e-5,-6.83950023112515e-9,8.141427039935174e-4,3.935979230186433e-5,-6.9354371500791985e-9,8.14150262656473e-4,3.949946847388898e-5,-6.9918722744796985e-9,8.141277285832854e-4,3.949960053306327e-5,-6.991994835378283e-9,8.141388942367572e-4,3.935526219250151e-5,-6.93289197521611e-9,8.142430879224422e-4,3.910207785679162e-5,-6.8281493368907015e-9,8.144749296276758e-4,3.880686864520632e-5,-6.704223833237992e-9,8.1483306083408e-4,3.854646680042599e-5,-6.592073096421126e-9,8.152821053230805e-4,3.838435896231063e-5,-6.5178631025860026e-9,8.157651947313659e-4,3.835428291873892e-5,-6.49629781434836e-9,8.162207450781731e-4,3.845478693315215e-5,-6.528135674230928e-9,8.16597684699937e-4,3.865376270796675e-5,-6.60159629155916e-9,8.168657158061926e-4,3.889947743847334e-5,-6.69644446442954e-9,8.170194049574676e-4,3.913422953807289e-5,-6.7893400986806185e-9,8.17076394641524e-4,3.930728020730456e-5,-6.85914255437804e-9,8.170710316645813e-4,3.938449175604022e-5,-6.891061862959034e-9,8.170454569870298e-4,3.935306732398158e-5,-6.878882809994513e-9,8.170405722878981e-4,3.9221105681444305e-5,-6.825033584806315e-9,8.1708896023377e-4,3.901310215359767e-5,-6.7388979016364186e-9,8.172108407223391e-4,3.87633764776707e-5,-6.634171213681119e-9,8.174130175522054e-4,3.850938229687362e-5,-6.526094414707984e-9,8.176899834395489e-4,3.8286205079792516e-5,-6.4291520891420515e-9,8.180260959470649e-4,3.812267075009407e-5,-6.3554492104173685e-9,8.183979894619872e-4,3.803873780290355e-5,-6.313637763487015e-9,8.187769116206049e-4,3.804351923521837e-5,-6.308093725118056e-9,8.191312129866966e-4,3.813337134793312e-5,-6.338063937256885e-9,8.194296942684052e-4,3.8289922698924704e-5,-6.396704673018225e-9,8.196467238419641e-4,3.847879781237149e-5,-6.470354270719354e-9,8.197695294206804e-4,3.8650968100779566e-5,-6.538921130269099e-9,8.19806513649201e-4,3.874943540462814e-5,-6.5785960033068025e-9,8.197929489727498e-4,3.8723134804595094e-5,-6.5676898771434025e-9,8.197883002079536e-4,3.854613941350416e-5,-6.4947236728071645e-9,8.198609759695765e-4,3.823403064971981e-5,-6.365297279203114e-9,8.200636944477346e-4,3.784594464219167e-5,-6.203000857389413e-9,0.000820411436661712,3.746667085519243e-5,-6.042172936215794e-9,8.208749674671344e-4,3.7176223092774686e-5,-5.915617415305801e-9,8.213932248000017e-4,3.7022992160726405e-5,-5.843759010230899e-9,8.218961027605576e-4,3.701275044446644e-5,-5.830076453078521e-9,8.223254904904929e-4,3.711435819021485e-5,-5.863118056849916e-9,8.226473843906112e-4,3.727482958449793e-5,-5.922239824745653e-9,8.228545590175748e-4,3.7435687186837764e-5,-5.983966399587255e-9,8.229627474394682e-4,3.7545885310616436e-5,-6.027176921838554e-9,8.230036090129152e-4,3.756990148797665e-5,-6.036554527428151e-9,8.230167806825249e-4,3.749138311092206e-5,-6.004372061981051e-9,8.230423185742567e-4,3.731317666393389e-5,-5.930818699795622e-9,8.231143493501816e-4,3.705449505134662e-5,-5.823063768625377e-9,8.23256553209646e-4,3.674606808012696e-5,-5.693352353058202e-9,8.234798189428454e-4,3.642429612693932e-5,-5.556571384393087e-9,8.237820413355269e-4,3.6125418828181186e-5,-5.427765212931279e-9,8.241496751844597e-4,3.588054059534543e-5,-5.320016584338888e-9,8.245603883153199e-4,3.571199342395666e-5,-5.242923452023574e-9,8.249861688108776e-4,3.563099782478505e-5,-5.201638270344065e-9,8.253965549120751e-4,3.563626588694151e-5,-5.1962726434097535e-9,8.257620082869455e-4,3.571323197160154e-5,-5.221486300041849e-9,8.260577695440884e-4,3.583385451251235e-5,-5.266230045559657e-9,8.262687299902825e-4,3.595753207818218e-5,-5.313924512584801e-9,8.263954241197148e-4,3.6034603798458864e-5,-5.343784865943491e-9,8.264598903887887e-4,3.601442540484084e-5,-5.334201311502159e-9,8.265081515702821e-4,3.585914554288692e-5,-5.268642284511385e-9,8.26604385596247e-4,3.556101693181241e-5,-5.143074426032549e-9,8.268132192939278e-4,3.515537353926115e-5,-4.971501142912185e-9,8.271738744510702e-4,3.471782861774951e-5,-4.7848532086355065e-9,8.276795586094963e-4,3.4340322196190036e-5,-4.621118053741745e-9,8.282766891716653e-4,3.4095760039524445e-5,-4.5108069909192165e-9,8.288861464980373e-4,3.401140563924369e-5,-4.465996728964361e-9,8.29433355059079e-4,3.406500941237964e-5,-4.4785874372255114e-9,8.298704729894737e-4,3.420103631857123e-5,-4.526688711410476e-9,8.301833096396713e-4,3.4353709967328716e-5,-4.583790454622501e-9,8.303862100769367e-4,3.446546478614344e-5,-4.626173157513306e-9,8.305118250621173e-4,3.449687603771798e-5,-4.6370194576684565e-9,8.306008664699762e-4,3.442941009341466e-5,-4.607762309491803e-9,8.306940322478887e-4,3.426386875947961e-5,-4.537752547464339e-9,8.308263261536525e-4,3.401682527001027e-5,-4.4330652748613145e-9,8.310232819304966e-4,3.371620106257414e-5,-4.304822699303797e-9,8.312987280593526e-4,3.339641097448233e-5,-4.167187973746248e-9,8.31653979219806e-4,3.309335744578138e-5,-4.0351952674026125e-9,8.32078417238307e-4,3.283958122742209e-5,-3.9226242940869606e-9,8.325514069439921e-4,3.26599656110982e-5,-3.8401496329485945e-9,8.330453353948687e-4,3.256846904668967e-5,-3.793977723288974e-9,8.335293651888821e-4,3.2566169333962955e-5,-3.785049055168084e-9,8.33973516225973e-4,3.264061001145597e-5,-3.808740687729704e-9,8.343528580041156e-4,3.2766396288388346e-5,-3.855005633134729e-9,8.346517248312861e-4,3.290709657118518e-5,-3.9089874063833434e-9,8.348679389439184e-4,3.301872928211123e-5,-3.95230090306051e-9,8.350167359300278e-4,3.305558632640454e-5,-3.965393684369818e-9,8.351331058149185e-4,3.297932755397413e-5,-3.9314416005053e-9,8.352699660831031e-4,3.277126367429032e-5,-3.8417220291605366e-9,8.354889117471341e-4,3.244507340953231e-5,-3.7012047953805833e-9,8.358419691208809e-4,3.205326833172769e-5,-3.531440109697599e-9,8.36348763283404e-4,3.167867290599403e-5,-3.3670502139274996e-9,8.369813197061595e-4,3.140782451156133e-5,-3.244586908337016e-9,8.376693061030729e-4,3.129669563122999e-5,-3.1881493598681102e-9,8.383263658012633e-4,3.134863920078477e-5,-3.200051972071662e-9,8.388826052155265e-4,3.151766556410064e-5,-3.2619908468242225e-9,8.393050072888866e-4,3.173205489277276e-5,-3.344664087646371e-9,8.395988757541516e-4,3.192172100776251e-5,-3.419003963066664e-9,8.397963286098811e-4,3.203621272799185e-5,-3.46362815353071e-9,8.399416326313247e-4,3.205061679819683e-5,-3.4674080518768483e-9,8.400794992423449e-4,3.1963263817541386e-5,-3.4287495907215916e-9,8.402479103687121e-4,3.179002909330446e-5,-3.3534888117140308e-9,8.404745687451004e-4,3.155830071326884e-5,-3.2525737289196144e-9,8.407754646399417e-4,3.130173895136262e-5,-3.1399368209433314e-9,8.41154541388092e-4,3.1055764720891035e-5,-3.0305415711644196e-9,8.416041280544131e-4,3.085345156272672e-5,-2.9385364426828023e-9,8.421061656017975e-4,3.072164283076384e-5,-2.8755213785209154e-9,8.426344113814458e-4,3.067736638925079e-5,-2.8490015368691745e-9,8.431577953645121e-4,3.072498523450466e-5,-2.8612024549307127e-9,8.436447971117692e-4,3.085470440573325e-5,-2.9084547718786858e-9,8.440683720702881e-4,3.1042869672780824e-5,-2.981273689818602e-9,8.444108321936859e-4,3.125426055813509e-5,-3.065198477158535e-9,8.446680629527056e-4,3.144642492558669e-5,-3.142451937358192e-9,8.448524507159502e-4,3.15759057443261e-5,-3.194437005461156e-9,8.449938340091091e-4,3.160610588444374e-5,-3.2050494314965393e-9,8.451374660071655e-4,3.151638576719877e-5,-3.1646699302547115e-9,8.453375715697237e-4,3.1311130994121866e-5,-3.0742611477808833e-9,8.456453986738488e-4,3.1025780835067146e-5,-2.94819557957702e-9,8.46092653379528e-4,3.0725045293271956e-5,-2.81368862948315e-9,8.466753220872281e-4,3.0488818598972834e-5,-2.704879810332908e-9,8.473471109643087e-4,3.038640446510119e-5,-2.6518278127619258e-9,8.480305696476147e-4,3.0449024854662588e-5,-2.668679548466348e-9,8.486441257401572e-4,3.065628903781551e-5,-2.7477040330430985e-9,8.491313375173792e-4,3.094576582096809e-5,-2.8631317709746885e-9,8.494766164139384e-4,3.123946697058364e-5,-2.9822273668107125e-9,8.497020423260754e-4,3.1471127846907625e-5,-3.0767866876898872e-9,8.498521170161459e-4,3.16017891014394e-5,-3.129775126187276e-9,8.499770409409726e-4,3.1621830699592834e-5,-3.1363362066964675e-9,8.501209480543094e-4,3.1544720456021056e-5,-3.1013685836141294e-9,8.503161532077362e-4,3.1398399640952655e-5,-3.036097487468567e-9,8.505816546173871e-4,3.1217759899263695e-5,-2.9550165687006546e-9,8.509236995527479e-4,3.103916188717301e-5,-2.8735662703891047e-9,8.513369862483362e-4,3.0896507607776705e-5,-2.8063743424389867e-9,8.518060495699486e-4,3.081805794501351e-5,-2.7657886014572145e-9,8.523069735798167e-4,3.082345930368575e-5,-2.7605358876292335e-9,8.528098318936862e-4,3.0920864735206294e-5,-2.79447672381635e-9,8.532822991542584e-4,3.110457416848017e-5,-2.8656065993726486e-9,8.536945524033567e-4,3.1354085988535145e-5,-2.965633018689591e-9,8.540249574865114e-4,3.163548969538209e-5,-3.080489694586202e-9,8.542654720972812e-4,3.190574453586719e-5,-3.192028596537508e-9,8.544254041595665e-4,3.211974836915866e-5,-3.28090202256463e-9,8.545322236510779e-4,3.2239278828225266e-5,-3.3303148632010992e-9,8.546285733291039e-4,3.224218246448245e-5,-3.330007151957699e-9,8.547652672831671e-4,3.2129878781118014e-5,-3.279649312494011e-9,8.549907364400541e-4,3.193111420486313e-5,-3.1907193571916717e-9,8.553382926807156e-4,3.1699773222277685e-5,-3.0858345714949625e-9,8.558140144434115e-4,3.150496484434305e-5,-2.9946769942906606e-9,8.563897321781071e-4,3.1413455736156216e-5,-2.9464704670555277e-9,8.570061787799461e-4,3.1468304822318046e-5,-2.960646903904852e-9,8.575886586831152e-4,3.167199701229673e-5,-3.039317862345337e-9,8.580709942206223e-4,3.198346246211776e-5,-3.1656988018487623e-9,8.584171135061124e-4,3.233248147476386e-5,-3.310099393214403e-9,8.586297960336273e-4,3.264478971416768e-5,-3.440645754903185e-9,8.587438963877701e-4,3.286515489171303e-5,-3.5332321749884526e-9,8.58810255130539e-4,3.2968897888927814e-5,-3.5765784450704622e-9,8.588794391843271e-4,3.2960802961293873e-5,-3.5719305847910328e-9,8.589911009932855e-4,3.2866533850223576e-5,-3.529577019202463e-9,8.591697919005255e-4,3.272249454060714e-5,-3.4646650245504987e-9,8.594251730433313e-4,3.256765883619841e-5,-3.393767811079765e-9,8.597541389353542e-4,3.2438210292960187e-5,-3.3325521813766835e-9,8.601432315592983e-4,3.236427582707883e-5,-3.2942803106507433e-9,8.605707893509768e-4,3.236765846754327e-5,-3.2887387933129255e-9,8.610090272757816e-4,3.245976837958149e-5,-3.3212886990489386e-9,8.614266330715411e-4,3.2639496241471747e-5,-3.3919234343927197e-9,8.617925265638105e-4,3.289145361493536e-5,-3.4944824234170423e-9,8.620810773671341e-4,3.318566240946574e-5,-3.616455097562243e-9,8.62278291344594e-4,3.3480062508905175e-5,-3.7399625948591e-9,8.623874686730959e-4,3.372681857367478e-5,-3.844371487446432e-9,8.624320722870976e-4,3.38822001208865e-5,-3.910489310686052e-9,8.624536695365803e-4,3.391801974913249e-5,-3.925509323340507e-9,8.625041693741896e-4,3.3831145103447495e-5,-3.887217720697746e-9,8.626336863724894e-4,3.364749744285424e-5,-3.805912914971897e-9,8.628771728569449e-4,3.34184061309152e-5,-3.703085242205503e-9,8.632436901356097e-4,3.3209472451514874e-5,-3.606852247536402e-9,8.637117164869609e-4,3.30843353744748e-5,-3.5450791305814132e-9,8.64232526978409e-4,3.30874054017447e-5,-3.537852982664476e-9,8.647417259564168e-4,3.32305264787094e-5,-3.591449619924816e-9,8.651764977358669e-4,3.348834402295054e-5,-3.695963620118213e-9,8.654934113410493e-4,3.380514974584113e-5,-3.827962144226022e-9,8.65680227216288e-4,3.411174050293928e-5,-3.957644664897803e-9,8.657570330287688e-4,3.4346041766830635e-5,-4.057808965225653e-9,8.657669387277931e-4,3.446932313815453e-5,-4.11101586076775e-9,8.657613435022625e-4,3.4472588411529344e-5,-4.112539581686109e-9,8.657862135868558e-4,3.4373094380466114e-5,-4.069050533975013e-9,8.658735763707832e-4,3.4205060581144676e-5,-3.99475967321788e-9,8.660388852455758e-4,3.400943296480929e-5,-3.907091687927469e-9,8.66282466493992e-4,3.3825844969993364e-5,-3.823219696797409e-9,8.665927137849105e-4,3.3687619719216236e-5,-3.7578388388344435e-9,8.669494024009601e-4,3.361913423273398e-5,-3.7219299984715987e-9,8.673264891657124e-4,3.363439881774626e-5,-3.7220625465320145e-9,8.676945418145927e-4,3.373592694579208e-5,-3.7598487309122184e-9,8.680234235964354e-4,3.391351714465576e-5,-3.831368929963179e-9,8.682859972296471e-4,3.4143297256214016e-5,-3.926691202132316e-9,8.684632880644983e-4,3.4388163647136244e-5,-4.029972466578756e-9,8.685506814790997e-4,3.460127638371885e-5,-4.120889818604067e-9,8.685633840062911e-4,3.4734023180121915e-5,-4.178058611548191e-9,8.685380720783138e-4,3.4748252417980764e-5,-4.184372534042753e-9,8.685276349437916e-4,3.462966914812959e-5,-4.132901756292709e-9,8.685883291320915e-4,3.439669502663824e-5,-4.030854924441111e-9,8.687628382465881e-4,3.409933619952682e-5,-3.8992420211352555e-9,8.690658895057307e-4,3.3806647123293056e-5,-3.767634596223998e-9,8.694785799556857e-4,3.358696397155016e-5,-3.66578227162126e-9,8.69953568550893e-4,3.348840676249508e-5,-3.6152232829612797e-9,8.704286241585501e-4,3.352635120659295e-5,-3.623705146793659e-9,8.708434233092473e-4,3.36810197345908e-5,-3.6838087593563796e-9,8.711544860856722e-4,3.390464015558857e-5,-3.775680273187482e-9,8.713445725476498e-4,3.4135193673201416e-5,-3.872743220397276e-9,8.714246913321904e-4,3.4312587501143965e-5,-3.948669842514471e-9,8.714288385999942e-4,3.4392832306213484e-5,-3.983673438771948e-9,8.714035709437477e-4,3.4356588349835174e-5,-3.968454991877816e-9,8.713959401397892e-4,3.4210390500048455e-5,-3.904979500162979e-9,8.714434314935408e-4,3.398142071965159e-5,-3.80439632081465e-9,8.715682144280527e-4,3.370866502664886e-5,-3.6833035835006632e-9,8.717760142029626e-4,3.343373250814609e-5,-3.5597712152619653e-9,8.720583485322628e-4,3.3193644320049306e-5,-3.450143545804329e-9,8.723963305223968e-4,3.301640385510928e-5,-3.367013852901416e-9,8.727645877754009e-4,3.2918942751948914e-5,-3.318240190622122e-9,8.731346053164378e-4,3.290646426016532e-5,-3.3065975355143806e-9,8.734775263631105e-4,3.297227361968222e-5,-3.329661479803068e-9,8.737669246598247e-4,3.3097659941762863e-5,-3.3797021541565744e-9,8.739822501713752e-4,3.325204966262417e-5,-3.443668277316694e-9,8.741134429392175e-4,3.339441456133996e-5,-3.5037068763647772e-9,8.741663973729802e-4,3.347758868121113e-5,-3.538992779628764e-9,8.741674829281171e-4,3.3457101736264556e-5,-3.529614543781381e-9,8.741636709228396e-4,3.33044797175946e-5,-3.4624919926690294e-9,8.742144615830622e-4,3.302135267114131e-5,-3.337668517116169e-9,8.743747932608298e-4,3.264687423555464e-5,-3.1716545924770886e-9,8.746743840366114e-4,3.2251051243278426e-5,-2.9946081022665746e-9,8.751039489192597e-4,3.1913364921373566e-5,-2.841130150424048e-9,8.75616678903275e-4,3.169573821909346e-5,-2.738595983860198e-9,8.761445007935473e-4,3.162302292091491e-5,-2.698649906049282e-9,8.766203447195945e-4,3.167892308982781e-5,-2.715236885002451e-9,8.769963987697803e-4,3.18159383463042e-5,-2.7686104110067445e-9,8.772531062745815e-4,3.197221978649029e-5,-2.8323654947714774e-9,8.773990475854998e-4,3.2088299096119665e-5,-2.880564943726866e-9,8.774645762292172e-4,3.211954673233677e-5,-2.893205151464858e-9,8.774924155916585e-4,3.204298846969703e-5,-2.8593905607603026e-9,8.775277330636137e-4,3.185874387139908e-5,-2.778242446816188e-9,8.776094585559394e-4,3.158700840416259e-5,-2.657838435817586e-9,8.777641128132043e-4,3.126183960920271e-5,-2.5126548703569532e-9,8.78002877757191e-4,3.092341017264447e-5,-2.360210638245288e-9,8.78321864386743e-4,3.061051760107952e-5,-2.217716237311034e-9,8.787048132667152e-4,3.0354696413936292e-5,-2.0993733631963004e-9,8.791271129207127e-4,3.0176554948077197e-5,-2.0146576508170057e-9,8.795600526842855e-4,3.0084265265720063e-5,-1.9675904842138486e-9,8.799746005764623e-4,3.0073592700195904e-5,-1.9567272155798592e-9,8.803445685727407e-4,3.0128701933306585e-5,-1.9754931411414064e-9,8.806494724082241e-4,3.0223295863434567e-5,-2.012635250546257e-9,8.808775707256542e-4,3.0322170015652122e-5,-2.052817626545346e-9,8.810294629751855e-4,3.0383874541022066e-5,-2.077700737209661e-9,8.811219817814094e-4,3.0365784932921254e-5,-2.068140259899549e-9,8.811907881742122e-4,3.0232911390513986e-5,-2.0081342888122047e-9,8.812885190182023e-4,2.997035224275941e-5,-1.8904615726488688e-9,8.814748050867232e-4,2.9595882363843328e-5,-1.7223897108962145e-9,8.817972325406356e-4,2.9164896341324755e-5,-1.5279575596742727e-9,8.822694105023639e-4,2.8759323793384683e-5,-1.343146342028477e-9,8.828590048460752e-4,2.846005103322195e-5,-1.203784176843767e-9,8.834961316970444e-4,2.8315408404152892e-5,-1.1317019817736651e-9,8.840994293836644e-4,2.83238474756633e-5,-1.1270381711241277e-9,8.846048503517724e-4,2.8439563876848128e-5,-1.1705107836514342e-9,8.849825261434277e-4,2.859423427913567e-5,-1.2327153363012424e-9,8.852377405673897e-4,2.872082247503333e-5,-1.2843809606697235e-9,8.854014350719654e-4,2.876976020388615e-5,-1.303411303612948e-9,8.855175691600622e-4,2.8715569658327886e-5,-1.277894686911527e-9,8.856319414654461e-4,2.8556383656666185e-5,-1.2061264571813115e-9,8.857841196699158e-4,2.8309570284204513e-5,-1.0949624616496077e-9,8.86002414496257e-4,2.800577749822175e-5,-9.574157297751806e-10,8.863013254260068e-4,2.7682541703841347e-5,-8.099261480403505e-10,8.866810883604368e-4,2.737801278175877e-5,-6.695408320630273e-10,8.871291034948231e-4,2.712535762590261e-5,-5.513048593649785e-10,8.876228817584209e-4,2.6948399119048687e-5,-4.661876242949888e-10,8.881339924077757e-4,2.6858865286951922e-5,-4.197713685400893e-10,8.886323956855838e-4,2.6855412138336997e-5,-4.1179225649502044e-10,8.890905424093482e-4,2.6924258581403914e-5,-4.3643441475982406e-10,8.89486876270744e-4,2.704096977561104e-5,-4.831197421077393e-10,8.898087302066524e-4,2.7172978043164845e-5,-5.375765842824722e-10,8.900547902185537e-4,2.7282747178927522e-5,-5.831513974124379e-10,8.902372653753913e-4,2.733186854749421e-5,-6.02542926548089e-10,8.903834851144673e-4,2.7286782595027556e-5,-5.803341451115104e-10,8.905356820182493e-4,2.712678713758405e-5,-5.066546828876249e-10,8.907466490935431e-4,2.6853822167289743e-5,-3.817222697006188e-10,8.910687379135351e-4,2.650095008026581e-5,-2.1981389275727818e-10,8.915358613141435e-4,2.613316302797963e-5,-4.974968918210426e-11,8.921441557986117e-4,2.583341569558239e-5,9.130127597938247e-11,8.928435576312597e-4,2.5673648601187617e-5,1.7077634639135572e-10,8.935508750856743e-4,2.5683679634147847e-5,1.7468326592194504e-10,8.941811428365587e-4,2.5837610180360195e-5,1.1381510218411522e-10,8.946793739990621e-4,2.6067113585673513e-5,1.8006901262402275e-11,8.950349091826171e-4,2.6291644820413183e-5,-7.717084794839584e-11,8.952750213494531e-4,2.6446389435700407e-5,-1.427663814093566e-10,8.954475970296075e-4,2.64960814946439e-5,-1.625988001066087e-10,8.956041887442954e-4,2.643519673510351e-5,-1.334689640026147e-10,8.957887712051753e-4,2.6280905283114967e-5,-6.224871917615731e-11,8.960323226691599e-4,2.6064317323041538e-5,3.777765165941726e-11,8.963513575114935e-4,2.5822815459411318e-5,1.5017549800954496e-10,8.96748509792149e-4,2.5594124919428984e-5,2.5799083696445723e-10,8.972140957359525e-4,2.5411712108030967e-5,3.459131555119787e-10,8.97728398380985e-4,2.5301088813513795e-5,4.0208667445015245e-10,8.982646818886401e-4,2.5276973108559064e-5,4.19511702332487e-10,8.987928885022273e-4,2.5341491278246515e-5,3.969097854818967e-10,8.992838386101128e-4,2.548373838032777e-5,3.389148700251626e-10,8.997135067687896e-4,2.5680959581705512e-5,2.5551799630259e-10,9.000668011166033e-4,2.590128913974731e-5,1.6084571383571664e-10,9.003404075887244e-4,2.610773225553987e-5,7.143433854803536e-11,9.005444531271067e-4,2.626306035931546e-5,4.124552392039377e-12,9.00702826310028e-4,2.6335350498633444e-5,-2.636373164642357e-11,9.008518990331428e-4,2.6304027478397698e-5,-1.0173572691243057e-11,9.010369750715351e-4,2.616622985452215e-5,5.4685092455799334e-11,9.013053376731691e-4,2.5942528849006335e-5,1.5954350428825642e-10,9.016950534266347e-4,2.5679451672258137e-5,2.8372503804596007e-10,9.022205066966907e-4,2.544470577148632e-5,3.9657633063202955e-10,9.028595081446744e-4,2.5311299328910574e-5,4.6464848630157026e-10,9.035509621163673e-4,2.5331826054565013e-5,4.634519661365919e-10,9.042106403831823e-4,2.5513725417149697e-5,3.8884970955208253e-10,9.047617243836385e-4,2.5811755065389144e-5,2.60664002639359e-10,9.051639505218222e-4,2.614554976562279e-5,1.1486292999309726e-10,9.054243849394402e-4,2.6432431256007105e-5,-1.1230224109221291e-11,9.055864786501333e-4,2.6615750824420068e-5,-9.174245642919217e-11,9.057083348203511e-4,2.6675961252054152e-5,-1.1728835587695205e-10,9.05843511575355e-4,2.6625694545636095e-5,-9.286576972832296e-11,9.06030514980889e-4,2.649764658641052e-5,-3.258481232105302e-11,9.06290090659766e-4,2.6332711316700743e-5,4.5492394804177083e-11,9.066269079166894e-4,2.617147979221003e-5,1.230902666428942e-10,9.07032727485054e-4,2.6049140781842117e-5,1.8405636274430814e-10,9.074895537591257e-4,2.5992565692749985e-5,2.1580884693763228e-10,9.079725233622418e-4,2.601842289978903e-5,2.1034058494702972e-10,9.08452843161885e-4,2.6131794189518346e-5,1.649501949413581e-10,9.089011187176733e-4,2.632531969086917e-5,8.266582317282753e-11,9.092912509323934e-4,2.657930002330282e-5,-2.7811191372744197e-11,9.096046947811349e-4,2.686337600497953e-5,-1.5287896453951608e-10,9.098343835696975e-4,2.7140160235303376e-5,-2.756580777618742e-10,9.099874027396871e-4,2.737067976970732e-5,-3.7839683569915226e-10,9.100856080701482e-4,2.7521019033657425e-5,-4.4541806075215186e-10,9.101636727790192e-4,2.756915427471307e-5,-4.662024595936307e-10,9.102644580498961e-4,2.751076592587584e-5,-4.3810314345020306E-10,9.104319511252228e-4,2.736291054800073e-5,-3.681879685719245e-10,9.107022221916946e-4,2.7164432891512126e-5,-2.736553609265788e-10,9.110933354507029e-4,2.6971680885033756e-5,-1.800824904443576e-10,9.11596330532063e-4,2.6848117080263942e-5,-1.167738231171905e-10,9.121710507471927e-4,2.6847793958635906e-5,-1.0913815308381964e-10,9.12751534970597e-4,2.6996070209376236e-5,-1.6964949395235283e-10,9.132634636288651e-4,2.72756008370633e-5,-2.9115810444199527e-10,9.136492992958313e-4,2.762733566158342e-5,-4.471383736182009e-10,9.138892892803114e-4,2.797002314543524e-5,-6.005507786510418e-10,9.140064810409892e-4,2.8229735821653137e-5,-7.173953360843062e-10,9.140537060586121e-4,2.8363778381520954e-5,-7.777099880424133e-10,9.14091744347561e-4,2.8368259804342512e-5,-7.790964097262822e-10,9.141707165736832e-4,2.8270290432506036e-5,-7.332676996715194e-10,9.143209375298112e-4,2.811333903517838e-5,-6.595294780294835e-10,9.145523676781168e-4,2.7943782175206335e-5,-5.787922436801097e-10,9.148586524660526e-4,2.780218073489562e-5,-5.09645207598181e-10,9.15222213264884e-4,2.771907523928594e-5,-4.663750532641056e-10,9.156186000215372e-4,2.771356286516508e-5,-4.581833019385022e-10,9.160198239972885e-4,2.7793018214471577e-5,-4.889247071998724e-10,9.163971548837643e-4,2.795307226790254e-5,-5.570122799444724e-10,9.167240149473723e-4,2.8177711329907586e-5,-6.554310086134877e-10,9.169794235753807e-4,2.8439962674449603e-5,-7.720472188029496e-10,9.171519825482253e-4,2.870402885777489e-5,-8.905750008556582e-10,9.172436935254598e-4,2.8929649817970348e-5,-9.925419838939779e-10,9.172722940063046e-4,2.9078832692983632e-5,-1.0603291660817625e-9,9.172706400546866e-4,2.912409780548574e-5,-1.080924584550345e-9,9.17282157849279e-4,2.9056323329246427e-5,-1.0495469582952546e-9,9.17352548715972e-4,2.8889652042343435e-5,-9.719977617501207e-10,9.175193386587934e-4,2.8661331040972106e-5,-8.647637143988589e-10,9.178017998224793e-4,2.842566755332037e-5,-7.524533284368034e-10,9.181939299909826e-4,2.824278153652306e-5,-6.627971222401617e-10,9.186627846165465e-4,2.8164133229208014e-5,-6.200278774014088e-10,9.19153691738718e-4,2.8217986087638425e-5,-6.380459293784765e-10,9.196025451004935e-4,2.8398984740483134E-05,-7.153326477966576e-10,9.199531003263491e-4,2.8666337663424036e-5,-8.338087002295918e-10,9.201741950295597e-4,2.8953522843619235e-5,-9.631226655409933e-10,9.202698561839225e-4,2.918802920852016e-5,-1.0697405631849333e-9,9.202770539297086e-4,2.9313951870328424e-5,-1.1274657767908662e-9,9.20251788073042e-4,2.9307694253609973e-5,-1.1248038587933661e-9,9.202503631241845e-4,2.918064509705824e-5,-1.0663142394564279e-9,9.203142811661418e-4,2.897003743896867e-5,-9.68530131895985e-10,9.204634699590332e-4,2.8724513202568727e-5,-8.534492296718607e-10,9.206973132387841e-4,2.849110787091789e-5,-7.426352211365498e-10,9.209999773637789e-4,2.8307067355278376e-5,-6.534492842105844e-10,9.213465790289916e-4,2.8196472237938423e-5,-5.974035621587512e-10,9.21708293335506e-4,2.8169942280115928e-5,-5.798940312517992e-10,9.220560080914304e-4,2.8225631349565033e-5,-6.005462214024394e-10,9.223629986190541e-4,2.8350410654034294e-5,-6.536955210792199e-10,9.226073866112044e-4,2.8520935298446312e-5,-7.28851240962084e-10,9.227750120124014e-4,2.8705005688838147e-5,-8.113094184352923e-10,9.228628541636617e-4,2.886416079327547e-5,-8.833278120249603e-10,9.228823589672353e-4,2.895853283479903e-5,-9.263428574000358e-10,9.228611534120579e-4,2.8954410829763517e-5,-9.244525203760215e-10,9.22841094274703e-4,2.8833597004887607e-5,-8.687589669821464e-10,9.228711087655056e-4,2.860178543460586e-5,-7.612984631604381e-10,9.229952903879357e-4,2.8291928119182712e-5,-6.167002132570091e-10,9.232395355675018e-4,2.7959342967609063e-5,-4.600776629160696e-10,9.236018170315074e-4,2.766851040299726e-5,-3.211006337196332e-10,9.240504121843283e-4,2.7475443382623978e-5,-2.2596816610665073e-10,9.24531262399518e-4,2.741170749626898e-5,-1.8999789985040983e-10,9.249820629694834e-4,2.747542499218661e-5,-2.1326498107148244e-10,9.25348579660942e-4,2.7631811895541113e-5,-2.805432543382063e-10,9.255984900902482e-4,2.7822723222327646e-5,-3.6544697746303546e-10,9.257290496695094e-4,2.798233184373522e-5,-4.3755816439126784e-10,9.25766534088789e-4,2.80545120609564e-5,-4.705154590635174e-10,9.257576987930197e-4,2.800685278340508e-5,-4.4865598588417815e-10,9.257561138535627e-4,2.7837106293070436e-5,-3.701910247767966e-10,9.258080615404461e-4,2.757056376533481e-5,-2.4616627976356377e-10,9.259425348434525e-4,2.7250326470559132e-5,-9.609656809923689e-11,9.261676807511085e-4,2.6924824434891593e-5,5.773311606893498e-11,9.264731188036599e-4,2.663697142690499e-5,1.9528968966108854e-10,9.268356351407438e-4,2.6417432659609167e-5,3.019901995562894e-10,9.272255509647921e-4,2.6282152592361178e-5,3.6997091936557287e-10,9.276120574189009e-4,2.6232846291373425e-5,3.9797540595297546e-10,9.279670116931762e-4,2.6258881085469936e-5,3.9055441141759986e-10,9.282675227858236e-4,2.633942937784366e-5,3.570959163618194e-10,9.284980234511821e-4,2.644547284239765e-5,3.109050504872678e-10,9.286524796636579e-4,2.654193492234242e-5,2.6822927772623276e-10,9.287369625751979e-4,2.6590780100069592e-5,2.468431766251289e-10,9.287720369209947e-4,2.6556135305642376e-5,2.636822102111064e-10,9.287934339306461e-4,2.6412028824363202e-5,3.312264037819188e-10,9.288486997992517e-4,2.6151880961107663e-5,4.530300718778846e-10,9.289878720362526e-4,2.5796515725207018e-5,6.199146734068698e-10,9.292487589067231e-4,2.5395465656098757e-5,8.092647167352129e-10,9.29641666352082e-4,2.5017209649756432e-5,9.894516360464816e-10,9.301413876496481e-4,2.472917795980915e-5,1.1290141747255939e-9,9.306922559167429e-4,2.4575229989538544e-5,1.2070780979559616e-9,9.312251819721861e-4,2.4561109000296633e-5,1.2202059312944135e-9,9.316789667520669e-4,2.465414560968802e-5,1.1827604254879246e-9,9.320169043861123e-4,2.479571175444768e-5,1.1213819953507269e-9,9.322336847376593e-4,2.4919677271373376e-5,1.0666004249723868e-9,9.323526991819391e-4,2.496981318218703e-5,1.044792681412822e-9,9.324168167771345e-4,2.4911728305382368e-5,1.072537792680831e-9,9.324763341556606e-4,2.473779692662344e-5,1.1541348440936524e-9,9.32577287240139e-4,2.446550131433796e-5,1.2821529509168165e-9,9.327524775390439e-4,2.4130741138395573e-5,1.440358563370683e-9,9.330166395630526e-4,2.3778318046824064e-5,1.608044416470438e-9,9.333661039477023e-4,2.345210977652227e-5,1.7646106799430005e-9,9.337821762564567e-4,2.3187164366326925e-5,1.8933448565731633e-9,9.342366534787011e-4,2.3004991867956138e-5,1.983756984261391e-9,9.346977645863617e-4,2.2912152275451638e-5,2.0323646948176415e-9,9.351352665974508e-4,2.2901360219547865e-5,2.0422501912195693e-9,9.355241516458479e-4,2.2953966611580642e-5,2.021915505548688e-9,9.358471024062418e-4,2.3042848220487e-5,1.983917263664366e-9,9.360962029673838e-4,2.313526295966051e-5,1.9435240421953627e-9,9.362744148421519e-4,2.319579877368126e-5,1.9173555450183216e-9,9.363970340869479e-4,2.3190008396632788e-5,1.921714213936969e-9,9.364926985739199e-4,2.3089580081948874e-5,1.970175219873316e-9,9.366025595028989e-4,2.287954350737153e-5,2.070174683549589e-9,9.367754583789063e-4,2.256662486320555e-5,2.219009962619075e-9,9.370572543760401e-4,2.2185503816041416e-5,2.40080151825208e-9,9.374749898088448e-4,2.179746684581724e-5,2.5870254829646286e-9,9.380215496738124e-4,2.1476617739059208e-5,2.7428988022427817e-9,9.386504920238448e-4,2.1285143976963856e-5,2.8389345262250392e-9,9.392879545260637e-4,2.124847926412409e-5,2.8626284858923288e-9,9.398581363504856e-4,2.1344635824425707e-5,2.8236063659948714e-9,9.403092110193681e-4,2.1513973951784947e-5,2.749245885993131e-9,9.406269138130842e-4,2.1682634723939766e-5,2.67386501863676e-9,9.408323763286779e-4,2.178648157968665e-5,2.6275885831474924e-9,9.409696504997068e-4,2.1786146578814432e-5,2.6292808737827737e-9,9.410906514838015e-4,2.1671298131321062e-5,2.6844268786052037e-9,9.41242649635597e-4,2.145702236312698e-5,2.786633456564728e-9,9.414601509848395e-4,2.1176178630965497e-5,2.9210047073092557e-9,9.417610200086401e-4,2.0870608445111807e-5,3.0681179766648086e-9,9.421460370053103e-4,2.0582809873944577e-5,3.207899651127782e-9,9.426010936837508e-4,2.0348968697412414e-5,3.3229824926066307e-9,9.431012540259686e-4,2.0193985304551373e-5,3.401195641488044e-9,9.436158120570794e-4,2.012884842892798e-5,3.436951038320817e-9,9.441134784478598e-4,2.015031500623975e-5,3.4314859276191417e-9,9.44566950904901e-4,2.0242534645964484e-5,3.3921135298370826e-9,9.449563631171996e-4,2.0379982085524475e-5,3.330805785534591e-9,9.45271517348029e-4,2.0530961708450033e-5,3.2625023737391606e-9,9.455131621575188e-4,2.0661233197895548e-5,3.203395247216593e-9,9.456936234191719e-4,2.0737740900431553e-5,3.1692023079153e-9,9.458369007988554e-4,2.073272466669384e-5,3.1732674706314038e-9,9.459779040524844e-4,2.0628653770206123e-5,3.224233945190357e-9,9.461597634391267e-4,2.0424167988906754e-5,3.3231751090821356e-9,9.46427574458297e-4,2.014003684687474e-5,3.4606600272122213e-9,9.468173676227388e-4,1.98221812789624e-5,3.615192303367057e-9,9.473413942934375e-4,1.9537012097558103e-5,3.755318583394564e-9,9.479753457182548e-4,1.9355058402098106e-5,3.847349600926752e-9,9.486571399076209e-4,1.9325058394134616e-5,3.867688552958027e-9,9.493040520760504e-4,1.9450539767815956e-5,3.814066075128484e-9,9.498430651538646e-4,1.9684623094334385e-5,3.7081770948540923e-9,9.502378728614017e-4,1.994861501821484e-5,3.5870008241428506e-9,9.504975307118342e-4,2.01632840220824e-5,3.4880374073031084e-9,9.506654032765242e-4,2.0274709481559317e-5,3.437068799563959e-9,9.507989420812344e-4,2.0264365859063468e-5,3.4433449550727618e-9,9.509516863480496e-4,2.0145143002205663e-5,3.5013586813003237e-9,9.511626032896819e-4,1.9950604861647016e-5,3.595755007819909e-9,9.514523625841899e-4,1.972359867900281e-5,3.7065483148110366e-9,9.518240846294337e-4,1.9507126203245064e-5,3.813351896094841e-9,9.522662841079077e-4,1.933798514493866e-5,3.898421280054506e-9,9.527567177104721e-4,1.9242649321887765e-5,3.94873970416592e-9,9.532666534200279e-4,1.9234898009828817e-5,3.9573083496472175e-9,9.537653046836214e-4,1.931500888982162e-5,3.923656171525834e-9,9.542241491314553e-4,1.9470419469034043e-5,3.853573929853045e-9,9.546208269205008e-4,1.967778168597357e-5,3.758113485784791e-9,9.549422337944906e-4,1.990624356532854e-5,3.6519733720235854e-9,9.551864658672643e-4,2.012153016907811e-5,3.5515235649189295e-9,9.553635348866212e-4,2.029033148993112e-5,3.4727284456947125e-9,9.554949463176509e-4,2.0384734278047446e-5,3.429079651875691e-9,9.55612166139684e-4,2.03866030610309e-5,3.4295402733541126e-9,9.557537872596488e-4,2.029183687422643e-5,3.4764900665650733e-9,9.559608378031081e-4,2.0114246891201803e-5,3.563775485379721e-9,9.562694312086343e-4,1.988802000189864e-5,3.6753836672060575e-9,9.567005353306505e-4,1.9666425812314765e-5,3.785918859393363e-9,9.572485741343938e-4,1.951354653734905e-5,3.864486310112931e-9,9.57873847869679e-4,1.9487015195238054e-5,3.8829949935352816e-9,9.58506375185627e-4,1.961495423927636e-5,3.827353654574862e-9,9.590658554599388e-4,1.9878214338844435e-5,3.706183686441474e-9,9.59491778185771e-4,2.021167822462048e-5,3.5503480856677113e-9,9.597671996149698e-4,2.0528378965229346e-5,3.4014299519401243e-9,9.599217284447296e-4,2.0753552855409916e-5,3.295380207449077e-9,9.600140258223889e-4,2.084893939258985e-5,3.2508500223577976e-9,9.601071466008167e-4,2.081721898662703e-5,3.2670417811981256e-9,9.602500853369318e-4,2.0691028420511654e-5,3.3288768573415605e-9,9.604701387776805e-4,2.051709319339869e-5,3.4144264007709955e-9,9.60773545484276e-4,2.034297332174702e-5,3.501100421052396e-9,9.611500679665309e-4,2.0208786324005668e-5,3.569552864573399e-9,9.615783591656324e-4,2.014318881895291e-5,3.6056735200335207e-9,9.620307130834803e-4,2.0161937110386437e-5,3.6014269400379457e-9,9.62477113531018e-4,2.0267731706648574e-5,3.5550823882264824e-9,9.628889049217328e-4,2.0450864920827385e-5,3.4710012484743916e-9,9.632422415170349e-4,2.069066577730867e-5,3.3589647822421636e-9,9.635212754316284e-4,2.0957906935666852e-5,3.2329849290971195e-9,9.637208099389389e-4,2.1218360815741975e-5,3.1095519476630494e-9,9.638478893925641e-4,2.143740445538196e-5,3.0054061149790872e-9,9.639218361763492e-4,2.158517204251695e-5,2.9350831633136274e-9,9.639725275225862e-4,2.164161332623286e-5,2.9085171189180765e-9,9.64036920303166e-4,2.1600821946777073e-5,2.928960887667208e-9,9.641539462469475e-4,2.1473982466179215e-5,2.991503500896854e-9,9.643579665181983e-4,2.129029021121154e-5,3.0824929931979146e-9,9.646710825382556e-4,2.1095019009386883e-5,3.180304929063653e-9,9.650951414487477e-4,2.0943493593642626e-5,3.2581268817857795e-9,9.656055505064805e-4,2.08898021785074e-5,3.2893920797482204e-9,9.661506527532753e-4,2.0970707862049013e-5,3.2556740154475738e-9,9.666609700686485e-4,2.1188936127107843e-5,3.154989219151684e-9,9.670695157136533e-4,2.1504456001118907e-5,3.0062342252277902e-9,9.673367523603838e-4,2.1842686062608042e-5,2.8453160317467475e-9,9.674669505838162e-4,2.2120216315934066e-5,2.7126670331229932e-9,9.675052672091475e-4,2.227588153984791e-5,2.6381300324599617e-9,9.67517310975436e-4,2.2290098639572074e-5,2.631571812351488e-9,9.675641549386202e-4,2.2184188610723864e-5,2.683192639935835e-9,9.676856175598294e-4,2.20050732406217e-5,2.770831293998539e-9,9.678958345343047e-4,2.1806797104405777e-5,2.8687326779884426e-9,9.681874796128061e-4,2.1636899335670483e-5,2.953998363007588e-9,9.685391645791842e-4,2.152957275673156e-5,3.00987037631748e-9,9.689223645110006e-4,2.150393434528262e-5,3.0266647100820593e-9,9.693065461435913e-4,2.1564905127593073e-5,3.0015027830697376e-9,9.696627464705727e-4,2.170489096403e-5,2.9376390040777005e-9,9.699663713453124e-4,2.190558400417185e-5,2.843664610904784e-9,9.701997585934131e-4,2.213998368625858e-5,2.732536103734538e-9,9.703546573483743e-4,2.2375052452482884e-5,2.6202568912921775e-9,9.704343769114892e-4,2.2575473791547756e-5,2.524023751178972e-9,9.70454924970594e-4,2.2708679506424222e-5,2.4597828841057676e-9,9.704442684490575e-4,2.2750680548228815e-5,2.4394191096140195e-9,9.70439123002729e-4,2.269163919856002e-5,2.4680675742140396e-9,9.704792630519241e-4,2.2539791907013454e-5,2.542185695856593e-9,9.706000419416595e-4,2.2322356320565065e-5,2.6490241837254375e-9,9.708244225247657e-4,2.208254490993235e-5,2.7679330778128663e-9,9.711561348596273e-4,2.1872563135784633e-5,2.8736116004682885e-9,9.715756674472968e-4,2.1743144202396543e-5,2.9411105609226534e-9,9.720408542324096e-4,2.1730926538918943e-5,2.952015717458691e-9,9.724936339510598e-4,2.1846219921065344e-5,2.9005828036571425e-9,9.728734724452532e-4,2.206526684943893e-5,2.797753482524233e-9,9.73135268736305e-4,2.2331915022099625e-5,2.670534930423955e-9,9.732656869873846e-4,2.2571721047228047e-5,2.5551777813643346e-9,9.732896097496811e-4,2.2715649390846857e-5,2.4855509251822116e-9,9.732616414073596e-4,2.272350320648063e-5,2.481624710067114e-9,9.732459633450723e-4,2.2595527734851322e-5,2.5437609524692543e-9,9.732948670608518e-4,2.2367393624596813e-5,2.6551037957679194e-9,9.73435775314028e-4,2.2093662920085047e-5,2.7895237218060307e-9,9.736697513088091e-4,2.18295826774539e-5,2.9203430820786453e-9,9.739779823635234e-4,2.1618463822268142e-5,3.0263986928152343e-9,9.743307630656896e-4,2.14864286442583e-5,3.094632000552376e-9,9.746951934172733e-4,2.1442559653592196e-5,3.120143478228777e-9,9.75040337470858e-4,2.1481561948537084e-5,3.105047155900916e-9,9.753402753088035e-4,2.1586872020260996e-5,3.0570669881734935e-9,9.755760407850127e-4,2.1733399542332765e-5,2.9882432258541283e-9,9.757372606998641e-4,2.1890007987213578e-5,2.913710103700545e-9,9.758238522467932e-4,2.2022308074060718e-5,2.8502981225779335e-9,9.758475695193567e-4,2.2096463822383953e-5,2.814649675643213e-9,9.75832592759985e-4,2.208441265972937e-5,2.8206647589847394e-9,9.758139779570534e-4,2.1970120824932505e-5,2.8764536267483205e-9,9.758329513980938e-4,2.1755459239150598e-5,2.9814657729990575e-9,9.759289405456378e-4,2.146343405290607e-5,3.1248755506446147e-9,9.761297562449015e-4,2.1136469459250627e-5,3.2863308207215907e-9,9.764427844228285e-4,2.0828722875066234e-5,3.4395760619971846e-9,9.768504235625822e-4,2.05936578116549e-5,3.558401665094199e-9,9.773119310828517e-4,2.047011212383905e-5,3.623414500991834e-9,9.777718670258082e-4,2.0470907088346007e-5,3.627703453703138e-9,9.781733258317801e-4,2.057752945621449e-5,3.5796494003707138e-9,9.784727031122457e-4,2.0742968740602736e-5,3.501766797457081e-9,9.786520083386822e-4,2.090280873294008e-5,3.4254174178099575e-9,9.787247391817811e-4,2.099234249163606e-5,3.3824366972435045e-9,9.787325073239532e-4,2.0964978181006943e-5,3.3960258792809006e-9,9.787325574450096e-4,2.080554329966027e-5,3.474116418782361e-9,9.78780386798012e-4,2.053316629811452e-5,3.607853339306525e-9,9.78914283306498e-4,2.0192836373745813e-5,3.7756288344559166e-9,9.79147450149718e-4,1.9840040928541138e-5,3.9505044744465266e-9,9.794691393037586e-4,1.9525344833017023e-5,4.107694790089413e-9,9.798520178516646e-4,1.928413468832371e-5,4.229601723499455e-9,9.802613780058582e-4,1.9132999458968806e-5,4.30768523320254e-9,9.806628425931363e-4,1.9071152761889917e-5,4.341903576740723e-9,9.810273134182267e-4,1.9084239326578834e-5,4.338962357581536e-9,9.81333537072951e-4,1.9148443642578993e-5,4.310353550740631e-9,9.81569296115634e-4,1.9233976343823555e-5,4.2706388260183405e-9,9.817321483998952e-4,1.9307966381521585e-5,4.235993167701627e-9,9.81830219636952e-4,1.933733918927407e-5,4.222757802688705e-9,9.818829501630556e-4,1.9292467400002797e-5,4.245632427234919e-9,9.819209964844942e-4,1.9152168044642423e-5,4.315222825428222e-9,9.8198392831691e-4,1.890983975966044e-5,4.435029642934434e-9,9.821143377150008e-4,1.857919889488635e-5,4.59861659028588e-9,9.823480141006478e-4,1.819663416702158e-5,4.788408783691395e-9,9.827021678395676e-4,1.781681352429813e-5,4.977767747591471e-9,9.8316630954625e-4,1.750019208422675e-5,5.1370239028109335e-9,9.837010460599907e-4,1.729533464359589e-5,5.242087342349132e-9,9.842471758127079e-4,1.722284340206006e-5,5.282365711457081e-9,9.847423799112572e-4,1.7267922501442923e-5,5.2645551112541595e-9,9.851390392167326e-4,1.7384650541422545e-5,5.210737350473865e-9,9.85416712413494e-4,1.7509721680699187e-5,5.151788515618179e-9,9.855858656559924e-4,1.7580163367743918e-5,5.118732221992248e-9,9.856830005405348e-4,1.754937325800318e-5,5.134813103943706e-9,9.857596419803308e-4,1.7397498039928058e-5,5.210281577132254e-9,9.858686370143312e-4,1.7134242430752782e-5,5.340872784086539e-9,9.860514093620037e-4,1.6794137806137563e-5,5.509998145968244e-9,9.863293550422345e-4,1.6426136917274978e-5,5.693759305662125e-9,9.867012674118518e-4,1.6080882897378395e-5,5.867166202605813e-9,9.871466831850105e-4,1.5799461394281728e-5,6.009706321470195e-9,9.876331363464859e-4,1.560644168178504e-5,6.108876220456722e-9,9.881244546795737e-4,1.5508013115131364e-5,6.16123561320287e-9,9.885877203164924e-4,1.5494168132305846e-5,6.1714423956312695e-9,9.889977731607897e-4,1.554301218967708e-5,6.150173958810571e-9,9.89339357154404e-4,1.5625438489487203e-5,6.11180328305642e-9,9.896077069428486e-4,1.5709163928471263e-5,6.072354236231378e-9,9.898084641090051e-4,1.5761986455145772e-5,6.047846128949401e-9,9.89957481892549e-4,1.575472773264608e-5,6.052821432389052e-9,9.900805416390554e-4,1.5664564164811243e-5,6.098708901861965e-9,9.902123484409752e-4,1.5479331179479615e-5,6.191709401312268e-9,9.903935258545628e-4,1.5202748222706768e-5,6.33020714370356e-9,9.906641160678208e-4,1.4859172652645127e-5,6.502381741232603e-9,9.910530106883304e-4,1.4494749524882107e-5,6.685572808518867e-9,9.915653761885476e-4,1.4170939529055735e-5,6.8494023081549725e-9,9.92173804543939e-4,1.3948485846748767e-5,6.963646567409606e-9,9.92820439606734e-4,1.3865800846189006e-5,7.008937764536123e-9,9.934330686488335e-4,1.3922023616282452e-5,6.98524850756154e-9,9.939493480964887e-4,1.4075052891534514e-5,6.91302227434678e-9,9.943372374337234e-4,1.4256527274009431e-5,6.825888020437902e-9,9.946022722861765e-4,1.4395571285888233e-5,6.75895614654633e-9,9.947808856143072e-4,1.4439740434982362e-5,6.738430832136037e-9,9.949257957257986e-4,1.4366093115323758e-5,6.776065172871318e-9,9.950905167510095e-4,1.418186073054903e-5,6.868729017701459e-9,9.953173989064848e-4,1.391790875148587e-5,7.001518418367263e-9,9.95630713119781e-4,1.3618756991412558e-5,7.152573416875709e-9,9.960345799292754e-4,1.3332040182830323e-5,7.29822948174995e-9,9.965148922381106e-4,1.3099245727471433e-5,7.4176277467670906e-9,9.970441941477112e-4,1.294893783688122e-5,7.496180701557594e-9,9.975882397394037e-4,1.2893264734091967e-5,7.527452492986098e-9,9.98112746713271e-4,1.2927881166143136e-5,7.513323955728468e-9,9.985890416039868e-4,1.3034634044303174e-5,7.462717843178684e-9,9.98997826875862e-4,1.3185900947308538e-5,7.389423516943071e-9,9.993309205324102e-4,1.3349405125668461e-5,7.3096360810763596e-9,9.99591375901445e-4,1.3492586365441474e-5,7.2397137309556e-9,9.99792668555754e-4,1.3586170648049899e-5,7.19436794380859e-9,9.999574846180697e-4,1.3607159236305784e-5,7.185183536470915e-9,0.0010001162353076604,1.3541721843540724e-5,7.219205045654568e-9,0.0010003049165363592,1.3388426048463978e-5,7.297338394204071e-9,0.0010005613623854227,1.3161776667357265e-5,7.4125560623676355e-9,0.0010009186855654698,1.2894930291567578e-5,7.548472365832492e-9,0.001001395431805748,1.2638913929780974e-5,7.679645009834532e-9,0.0010019842716833783,1.2454704246940159e-5,7.775465670467849e-9,0.0010026447567112351,1.2396089240531763e-5,7.80872345265965e-9,0.0010033080233894881,1.2487217081785896e-5,7.766920829338294e-9,0.0010038972478855197,1.2706548445498057e-5,7.660458605367358e-9,0.0010043565504526115,1.2989946449421098e-5,7.521224770364038e-9,0.001004672231437384,1.3254551939388285e-5,7.390681026669133e-9,0.0010048741581043606,1.3430195374539308e-5,7.304097230213788e-9,0.001005019125368549,1.3480998017901777e-5,7.27969563649755e-9,0.001005168386359312,1.340941335065461e-5,7.316596454133312e-9,0.0010053704906546521,1.3246930061867809e-5,7.3994046186029145e-9,0.0010056532197300141,1.3040000118914438e-5,7.505138119129774e-9,0.0010060229091539998,1.2837303701281687e-5,7.609490773330097e-9,0.0010064679702872599,1.2680694358525935e-5,7.691325334965295e-9,0.00100696410900686,1.2599802055308625e-5,7.73543576837147e-9,0.0010074799303969257,1.2609453088105831e-5,7.733972018905462e-9,0.0010079824262810555,1.270927137545503e-5,7.68678360040066e-9,0.001008441983199197,1.2885166585695294e-5,7.600766502657164e-9,0.0010088364680810365,1.3112382500046945e-5,7.488348827427479e-9,0.0010091540147537904,1.3359627618872047e-5,7.365366043977686e-9,0.0010093942793346546,1.3593707411098743e-5,7.248659658443538e-9,0.0010095681767792678,1.3783993741249416e-5,7.15377885761242e-9,0.0010096964280629517,1.3906222158150544e-5,7.093063507146875e-9,0.0010098073351207102,1.3945501108580383e-5,7.074156161434548e-9,0.001009933998475673,1.3898670498425644e-5,7.098839141011301e-9,0.0010101108925560731,1.3776156395851466e-5,7.162087545997906e-9,0.0010103693537762879,1.3603229200616472e-5,7.2513716092129284e-9,0.001010731370310706,1.3419833637562037e-5,7.3466457393835305e-9,0.0010112016762827962,1.3277108498864683e-5,7.422018074019115e-9,0.0010117598625822178,1.3228209751310446e-5,7.450356500270065e-9,0.0010123568768607588,1.3312347000828476e-5,7.411421404428368e-9,0.0010129222480500654,1.3535582819181508e-5,7.301724939909382e-9,0.001013385331984101,1.3858804132080293e-5,7.140781390672817e-9,0.001013703707706818,1.4205000113155494e-5,6.967497490960027e-9,0.0010138822454817784,1.448749274687313e-5,6.825833236491937e-9,0.0010139696115598694,1.464433393257325e-5,6.747309515966404e-9,0.001014034960781267,1.4658559233696529e-5,6.740744459985028e-9,0.0010141406929217946,1.4555765436898252e-5,6.793498539548968e-9,0.0010143254890754552,1.4386576477060897e-5,6.880297884166936e-9,0.0010146008251386124,1.420706593101242e-5,6.973012537470857e-9,0.0010149561275081414,1.4065065181815716e-5,7.047465907773897e-9,0.00101536675460542,1.3993570240248546e-5,7.0867457546242325e-9,0.0010158013574818438,1.4009210516690739e-5,7.0820601273590445e-9,0.0010162275161801665,1.4113340727320419e-5,7.032323770553171e-9,0.0010166159146742558,1.429419134817385e-5,6.943198192930504e-9,0.0010169435907143895,1.4529570251940101e-5,6.825790427443894e-9,0.001017196458485237,1.4790107827825064e-5,6.695003258799705e-9,0.0010173710222833715,1.5043063994411697e-5,6.5675509780237646e-9,0.0010174750556951806,1.5256600380969255e-5,6.459732390817189e-9,0.001017526963278131,1.5404159828331004e-5,6.385177403566588e-9,0.0010175537373666459,1.5468376233596634e-5,6.352868110860509e-9,0.001017587717364337,1.544402654131814e-5,6.365661713647204e-9,0.0010176624605994554,1.5339717534360233e-5,6.419435210938414e-9,0.0010178080063839555,1.5178075945731396e-5,6.502944076621323e-9,0.0010180457452669584,1.4994254410299033e-5,6.598491835633543e-9,0.001018383064035031,1.4832381264038678e-5,6.6836353960864175e-9,0.0010188083316972948,1.47391332796154e-5,6.734397667122887e-9,0.0010192878609278002,1.475363974145172e-5,6.730438678602947e-9,0.0010197678046505864,1.4894272655654495e-5,6.661915015952189e-9,0.00102018443463024,1.5145950174105276e-5,6.5361350999692345e-9,0.0010204836747962334,1.5455522234757765e-5,6.380048705078234e-9,0.0010206437243931602,1.5743334912936524e-5,6.2343512371156256e-9,0.0010206877187796243,1.5931055263172206e-5,6.139179160224897e-9,0.0010206758978202743,1.5972669549953236e-5,6.118206896081988e-9,0.0010206802785743953,1.587040614601252e-5,6.170538509004209e-9,0.0010207572457502255,1.5667653115910527e-5,6.274358304487625e-9,0.0010209325449119094,1.5426977239675342e-5,6.398084889086976e-9,0.0010212017498908892,1.520786821074164e-5,6.511580983868921e-9,0.0010215398590799887,1.5053291656116975e-5,6.5929010127443566e-9,0.001021912431934167,1.498569502034724e-5,6.630329259183798e-9,0.0010222841435015692,1.5008880327172054e-5,6.621529648464819e-9,0.0010226239917599095,1.5112068113238198e-5,6.571614831742929e-9,0.0010229080944826484,1.527401144689631e-5,6.491159177179544e-9,0.0010231212780165244,1.5466570242856973e-5,6.394419794620523e-9,0.001023258140679252,1.565799311163615e-5,6.29764201481796e-9,0.001023323723746117,1.581631986787821e-5,6.217269214912676e-9,0.0010233335657502231,1.5913194832607108e-5,6.1679458224003706e-9,0.001023312652942418,1.592801691867029e-5,6.160375068918902e-9,0.0010232928007281963,1.5851837316847298e-5,6.199331981376249e-9,0.0010233083950897286,1.5690131829775294e-5,6.282255337576482e-9,0.0010233908943278179,1.5463603240336597e-5,6.398818557630599e-9,0.0010235628682748299,1.5206365333078503e-5,6.531796793225194e-9,0.001023832615986048,1.4961295414609502e-5,6.659351030318273e-9,0.0010241904386357422,1.4772889164037382e-5,6.75860252344733e-9,0.001024607567166903,1.4678269177210256e-5,6.810218842264442e-9,0.001025038835875019,1.4697338813962965e-5,6.803536849223181e-9,0.0010254302198467145,1.4824014543455562e-5,6.7412161836967475e-9,0.001025731571596928,1.5021882123837198e-5,6.641636326261475e-9,0.0010259126052034333,1.522848767407803e-5,6.536783150416774e-9,0.0010259765363499528,1.5370953906319304e-5,6.464197088487894e-9,0.0010259633245588596,1.5390062552732196e-5,6.454503675266422e-9,0.0010259374918061134,1.5262568774086813e-5,6.519889575291671e-9,0.0010259645518792863,1.5009405517106155e-5,6.649894303135918e-9,0.0010260881771412683,1.4685110812366908e-5,6.816835676346961e-9,0.0010263193576777233,1.4355638624471758e-5,6.98711790063453e-9,0.0010266398889383535,1.4077159844329356e-5,7.1319926882616635e-9,0.001027014226018415,1.388425288732607e-5,7.2335633845970444e-9,0.0010274020414492461,1.3788133610311604e-5,7.285745723386852e-9,0.0010277670997235588,1.378095198171993e-5,7.292187151879546e-9,0.0010280818168414282,1.384189253769118e-5,7.263261955630348e-9,0.0010283288268859772,1.3942614549109414e-5,7.213352520340318e-9,0.0010285011445110084,1.405139140764495e-5,7.158731665697266e-9,0.0010286019408435882,1.413632711989153e-5,7.115870597147311e-9,0.0010286442540053864,1.4168322568558104e-5,7.09986088584424e-9,0.0010286504037499457,1.4124365397943462e-5,7.12268504128625e-9,0.0010286504791455998,1.3991292700524017e-5,7.191271681234185e-9,0.0010286791648484964,1.3769478993510954e-5,7.3056080066068604e-9,0.0010287705469715204,1.3475266008978337e-5,7.457494460578409e-9,0.001028951327632887,1.3140689311306862e-5,7.630660550566689e-9,0.0010292338285229816,1.280935564220711e-5,7.802822009644976e-9,0.0010296108825569928,1.2528353458002378e-5,7.949760843038067e-9,0.0010300546940236487,1.233759347627838e-5,8.050755726164393e-9,0.0010305208273311641,1.2259178009605778e-5,8.094075186049836e-9,0.0010309570900584187,1.2289732755782155e-5,8.08103476461809e-9,0.0010313157392175553,1.239822992254162e-5,8.027273387668908e-9,0.0010315663465513536,1.2530919495367793e-5,7.960336714121893e-9,0.0010317058209335492,1.2623500762804774e-5,7.913435014428099e-9,0.001031761762409121,1.2618455216019864e-5,7.916445804350526e-9,0.0010317863213620134,1.2482715648861428e-5,7.986708154305847e-9,0.0010318409415092163,1.2218875567850196e-5,8.123174915224233e-9,0.0010319770490094284,1.1864341225077265e-5,8.306813126168584e-9,0.00103222073763433,1.1478137897328902e-5,8.507363432120657e-9,0.001032567744181653,1.1121486498340977e-5,8.693293502779717e-9,0.001032989301697024,1.084087419509298e-5,8.840491614529463e-9,0.0010334441429188832,1.065944919603051e-5,8.936740074754993e-9,0.0010338905402688494,1.0577173083741774e-5,8.981736505163395e-9,0.0010342945423151325,1.0576383955421915e-5,8.98433665789792e-9,0.00103463375858786,1.0628837350001691e-5,8.958991422832772e-9,0.0010348979793146607,1.0701777354861157e-5,8.922621233770985e-9,0.0010350882727302663,1.0762337371071754e-5,8.89230185881902e-9,0.0010352157191526022,1.0780632780980312e-5,8.883608858628518e-9,0.0010353002554859072,1.0732303407048932e-5,8.90925860516677e-9,0.0010353694431257166,1.0601227344865006e-5,8.977690201699487e-9,0.0010354564618759658,1.0382697470573208e-5,9.09143350297743e-9,0.0010355964502504992,1.008658752883728e-5,9.245490273873833e-9,0.00103582062126145,9.739174784541215e-6,9.426394426544935e-9,0.001036148531357024,9.381685552026843e-6,9.612933762557046e-9,0.001036580411402926,9.063860868442835e-6,9.779418101910907e-9,0.0010370928511063498,8.832500434599207e-6,9.901545674027221e-9,0.0010376410685493903,8.717740287966906e-6,9.963490318062588e-9,0.001038168776362179,8.722090107823838e-6,9.963639543713632e-9,0.001038623174432724,8.817117820241822e-6,9.916433090139891e-9,0.0010389699638132367,8.949806345046257e-6,9.849185263172341e-9,0.0010392031310252545,9.056681538401306e-6,9.794814136056429e-9,0.0010393464417650642,9.081041880969784e-6,9.7828832107339e-9,0.0010394465445357972,8.98803121924295e-6,9.831716602058708e-9,0.0010395599652596504,8.773379181090786e-6,9.943793307826468e-9,0.0010397377850124105,8.463527638538071e-6,1.010562028455275e-8,0.0010400124740567555,8.107264085356009e-6,1.0292016552047566e-8,0.0010403907983126954,7.761647465210934e-6,1.047336668482392e-8,0.0010408546068110553,7.476975351250501e-6,1.0623406725890964e-8,0.0010413683448417354,7.285608742141655e-6,1.0725068130866081e-8,0.0010418898199738098,7.197436696745734e-6,1.077292879202111e-8,0.0010423802623030689,7.201792582882333e-6,1.0772323696065717e-8,0.0010428110604212102,7.273401012350935e-6,1.0736320365516424e-8,0.0010431666141344895,7.3794054706384364e-6,1.0682066369385867e-8,0.0010434442537033133,7.485424438284342e-6,1.062758834085327e-8,0.001043652630466233,7.559908129853109e-6,1.0589456096467488e-8,0.0010438096899647942,7.577040457584126e-6,1.0581220954317427e-8,0.0010439407598399314,7.518874452397437e-6,1.0612288493742078e-8,0.0010440766580099585,7.3774053804267025e-6,1.0686856280073861e-8,0.0010442511917944904,7.1569232978676465e-6,1.0802719477653824e-8,0.0010444971593526165,6.876269078840813e-6,1.0950114569202205e-8,0.001044840195797599,6.569674575005575e-6,1.1111270660756568e-8,0.0010452907905748228,6.284047442282688e-6,1.1261780001466925e-8,0.0010458366657182785,6.070632446913745e-6,1.1374885918198315e-8,0.0010464397212440041,5.970991705073476e-6,1.1428761032437083e-8,0.0010470419129418023,6.0012650636924906e-6,1.1414752486565529e-8,0.0010475808873286244,6.142246342171787e-6,1.134266195270011e-8,0.0010480101442759484,6.342031857499272e-6,1.1239472124113928e-8,0.0010483145665516262,6.531775462877667e-6,1.1141164514740623e-8,0.0010485141839921832,6.647674109549178e-6,1.1081204358546142e-8,0.0010486555927916323,6.649554437643226e-6,1.1080769771562399e-8,0.0010487962274780228,6.52970014858732e-6,1.1144090607712959e-8,0.001048988161110087,6.311113549640392e-6,1.1259318747852037e-8,0.001049266135585487,6.038217412853158e-6,1.140334069973273e-8,0.0010496417708631659,5.764112342343603e-6,1.1548386965958874e-8,0.001050103884713581,5.538005408647266e-6,1.1668579695155248e-8,0.0010506236688532541,5.395419538643018e-6,1.1745084312143063e-8,0.001051162793625547,5.352737678222033e-6,1.176905039772956e-8,0.0010516822059403249,5.4065291012566944e-6,1.1742069546748452e-8,0.0010521495626468031,5.5369304279269275e-6,1.1674479004989727e-8,0.0010525439851890206,5.7134564555245825e-6,1.1582329111142928e-8,0.0010528578438257308,5.9014015084172195e-6,1.1483979856274418e-8,0.0010530961263485919,6.067417747217445e-6,1.139710095373138e-8,0.0010532743691075914,6.1835874192326255e-6,1.133647354846759e-8,0.0010534160834845703,6.230045791333779e-6,1.1312589735762775e-8,0.001053550198721015,6.1966823130205854e-6,1.1330774854534354e-8,0.0010537085154161126,6.0844906794547615e-6,1.1390513063025623e-8,0.0010539227224054864,5.906847205676181e-6,1.1484802633572627e-8,0.00105422025687308,5.690435278638442e-6,1.1599668036115498e-8,0.0010546184278993171,5.4746708261865515e-6,1.1714426246353476e-8,0.001055117156275193,5.307635025766357e-6,1.1803769941651274e-8,0.001055692545616445,5.236529243510756e-6,1.184274644058134e-8,0.001056295705931545,5.292689648675187e-6,1.1814655608677331e-8,0.0010568617072468647,5.4757403210461624e-6,1.1719477956429268e-8,0.0010573293783666506,5.74604326804144e-6,1.157796966652239e-8,0.0010576645165347547,6.033560344798371e-6,1.1427058221344922e-8,0.0010578737870635731,6.261973517443829e-6,1.1307094518131505e-8,0.0010580009637449824,6.3760497725166996e-6,1.1247346419441141e-8,0.001058108517330219,6.358165356812837e-6,1.1257242872632262e-8,0.0010582556001528874,6.228289144348805e-6,1.1326384333356857e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_13.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_13.json
deleted file mode 100644
index 33f96e3..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_13.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":13000,"numberOfSamples":1000,"samples":[0.0010584823083198346,6.031818825503171e-6,1.14309469118811e-8,0.0010588036033781425,5.823520864538709e-6,1.1542103150393909e-8,0.0010592110744742987,5.6537248748726675e-6,1.1633248752700286e-8,0.0010596790894540058,5.559275280564943e-6,1.1684765345343194e-8,0.0010601724727019367,5.559236240846307e-6,1.1686339583847125e-8,0.0010606540091394276,5.654379293057021e-6,1.163732802349451e-8,0.0010610908819856466,5.829497270171977e-6,1.1545624012790231e-8,0.0010614594503400023,6.057715047147503e-6,1.1425423187205381e-8,0.001061747989835144,6.305862037083749e-6,1.1294367431781857e-8,0.0010619573719630783,6.539955951254238e-6,1.1170587469196216e-8,0.0010620999645025674,6.73003410085884e-6,1.107008326599654e-8,0.0010621972572704668,6.85379996171742e-6,1.1004756707165859e-8,0.0010622768540195135,6.898913123430779e-6,1.098119849532928e-8,0.0010623693266318172,6.864185869807982e-6,1.1000078885400938e-8,0.0010625050436689565,6.760079817880366e-6,1.1055907410923635e-8,0.001062710756522555,6.608668374463369e-6,1.1137052470541557e-8,0.0010630055440594903,6.442842455479279e-6,1.122613014857253e-8,0.0010633958133875673,6.303928192637586e-6,1.1301216346173524e-8,0.0010638698300656857,6.236227673998108e-6,1.1338700200742188e-8,0.0010643938207032379,6.277096687541316e-6,1.1318549017049607e-8,0.0010649135018336272,6.443029009602109e-6,1.1231761017071778e-8,0.0010653652534506645,6.716334917457601e-6,1.1087554932954997e-8,0.0010656971998236583,7.041447402084115e-6,1.0915428186536279e-8,0.0010658919742331224,7.338860744797124e-6,1.0757744815379704e-8,0.0010659770288683225,7.534292063466726e-6,1.0654138240953239e-8,0.001066013886508743,7.587831708115414e-6,1.0625935223163422e-8,0.0010660723258305996,7.506181686783977e-6,1.0669662265910576e-8,0.0010662052115061964,7.3335686443663195e-6,1.0761922260944352e-8,0.0010664358470525873,7.130863915281745e-6,1.0870481691937031e-8,0.0010667588393153595,6.955633515934309e-6,1.0964801902708683e-8,0.0010671485918925085,6.8498410434954626e-6,1.1022511941646397e-8,0.0010675694409390784,6.835426550329633e-6,1.1031759374762615e-8,0.0010679841615469535,6.915158645441867e-6,1.0990824083116765e-8,0.0010683599657830244,7.076052103195604e-6,1.0906394119921115e-8,0.0010686723933572796,7.293685466136946e-6,1.0791343615514796e-8,0.00106890765095213,7.536822311352906e-6,1.0662299642942404e-8,0.0010690635977016276,7.77211139688823e-6,1.0537115853861746e-8,0.001069149428980129,7.968577301214409e-6,1.0432429890255657e-8,0.0010691841550370862,8.101601929648258e-6,1.036149374624633e-8,0.0010691940071483454,8.156061538266819e-6,1.0332478423133815e-8,0.001069209055658057,8.128266563717782e-6,1.03474435063982e-8,0.0010692594713290538,8.026593480405271e-6,1.0402013164716527e-8,0.0010693717459872535,7.870945267100574e-6,1.0485664177770738e-8,0.0010695649713014753,7.691125951702836e-6,1.05825672334285e-8,0.0010698471837835711,7.524020444771572e-6,1.0673046459330192e-8,0.0010702118794917663,7.409199319244088e-6,1.073588364535248e-8,0.0010706353190277158,7.382260325524803e-6,1.0751866255570777e-8,0.0010710762838212979,7.465490347225327e-6,1.0708824642405977e-8,0.0010714809682874885,7.65702106935285E-06,1.0607528738465052e-8,0.0010717954666795326,7.92266264450533e-6,1.0466162353522634e-8,0.0010719849482146093,8.197549025520211e-6,1.031948512559187e-8,0.0010720518335533688,8.403355641842077e-6,1.0209555077841326e-8,0.0010720405373210041,8.477632103826806e-6,1.0169920153450947e-8,0.001072021738228369,8.400092320472587e-6,1.021150931330851e-8,0.0010720635198379748,8.199374023477202e-6,1.0319075409549964e-8,0.0010722065788787624,7.937147885028722e-6,1.0459750886515433e-8,0.00107245583521534,7.681893768449438e-6,1.0597036740148054e-8,0.0010727875503866039,7.487659268153709e-6,1.0702071381753594e-8,0.0010731630002383215,7.384581405590331e-6,1.075864496894142e-8,0.0010735409195010803,7.379180450137632e-6,1.0763066178824929e-8,0.001073885642552888,7.459556157906894e-6,1.0721462765445143e-8,0.0010741711464074789,7.60167164073378e-6,1.064650717664984e-8,0.0010743824677307964,7.774854624539591e-6,1.05545292946971e-8,0.0010745158753886549,7.946253107214568e-6,1.0463140800736486e-8,0.0010745783975093434,8.084663970024577e-6,1.0389154063601514e-8,0.0010745867148931046,8.164015707520659e-6,1.0346669113505363e-8,0.0010745652935797434,8.166515928713906e-6,1.0345347414447921e-8,0.0010745436064007652,8.085247843115634e-6,1.0389003625916266e-8,0.001074552414002862,7.925732239563838e-6,1.04747713355022e-8,0.0010746194263179607,7.705947602888145e-6,1.0593098065321354e-8,0.0010747649179418883,7.45457851834404e-6,1.0728675241616273e-8,0.0010749978735612412,7.207509835919612e-6,1.0862287758949862e-8,0.0010753131883688583,7.0027414856204215e-6,1.0973502950806292e-8,0.0010756904320888402,6.874033979996817e-6,1.1044059873554255e-8,0.0010760947834755237,6.8436529769841505e-6,1.1061787085804026e-8,0.001076481049891446,6.914886396186059e-6,1.1024693263841812e-8,0.0010768018290682909,7.066051634150347e-6,1.0944283327208556e-8,0.0010770200321076698,7.249261634913781e-6,1.0846289489249666e-8,0.001077123420982185,7.39804993243476e-6,1.076656197635394e-8,0.0010771348797026668,7.44585714263904e-6,1.0741042838621376e-8,0.0010771101367558554,7.350779981649652e-6,1.0792371226593277e-8,0.0010771194563272597,7.114340819791003e-6,1.091978472227473e-8,0.0010772207158111727,6.781925749825741e-6,1.1098942285178267e-8,0.001077438751988009,6.423598569950669e-6,1.1292263291924475e-8,0.0010777614606054466,6.107174429654953e-6,1.1463350840217734e-8,0.001078150988925822,5.878278442603043e-6,1.1587643347827043e-8,0.0010785602961386523,5.753858224937523e-6,1.1655892460490189e-8,0.0010789465240847547,5.72623912615062e-6,1.167203738632892e-8,0.0010792781883616845,5.7715171050260465e-6,1.1648769383961856e-8,0.0010795372547668179,5.857715055435001e-6,1.1603202812664468e-8,0.001079718408317149,5.950842140755552e-6,1.1553633958985417e-8,0.0010798274054571314,6.018931123532262e-6,1.1517348515355086e-8,0.0010798793764046966,6.034916081994106e-6,1.150903056702829e-8,0.0010798970957694128,5.979082561969348e-6,1.1539400992860876e-8,0.0010799088782759599,5.841386795654391e-6,1.1613943229511664e-8,0.001079945671266815,5.6234999239785664e-6,1.1731800417280663e-8,0.0010800370563297977,5.339960624404898e-6,1.1885168170973472e-8,0.0010802063626677298,5.017558699714286e-6,1.2059638070394361e-8,0.001080465709873069,4.692281975823613e-6,1.2235836282107038e-8,0.0010808121845919524,4.403722523375394e-6,1.239241282362964e-8,0.0010812263927673289,4.1875776377249006e-6,1.2510056790341688e-8,0.0010816742755761358,4.067606126441703e-6,1.2575830541311822e-8,0.0010821124162932766,4.048764490048608e-6,1.2586910279254428e-8,0.001082496394029135,4.1132067224480435e-6,1.2552812557360103e-8,0.0010827911400719823,4.220728194789922e-6,1.2495218049522599e-8,0.0010829814407256138,4.315035608807498e-6,1.2444602628550136e-8,0.0010830795939978,4.336331558319785e-6,1.2433397469308228e-8,0.0010831263014689158,4.238515418925506e-6,1.2486625405764085e-8,0.0010831815716910997,4.005888907583e-6,1.2612831618416838e-8,0.0010833062871192334,3.6615290203470267e-6,1.2799568273597161e-8,0.0010835411795810717,3.261162454656364e-6,1.3016729071965934e-8,0.0010838933778462134,2.8737930394674124e-6,1.3227010267237029e-8,0.001084337034999438,2.5585169726812227e-6,1.3398407369065678e-8,0.0010848260137734957,2.3486087687672093e-6,1.351281176227918e-8,0.0010853104715353803,2.2479370425633493e-6,1.3567994079646327e-8,0.0010857496852788604,2.2371567972056594e-6,1.3574322546551323e-8,0.0010861181451779231,2.2837281191620208e-6,1.3549388239562281e-8,0.0010864060912470594,2.3509882779473265e-6,1.351309848109019e-8,0.001086617167375567,2.4043382300803017e-6,1.348429676688557e-8,0.0010867653789912383,2.414780175748046e-6,1.3478800918996513e-8,0.0010868723951977914,2.36090336349784e-6,1.3508287044674754e-8,0.0010869652859729975,2.230320299619587e-6,1.357949036950374e-8,0.0010870742527047388,2.0210940838380106e-6,1.3693435401754393e-8,0.0010872297036982135,1.7431263470573831e-6,1.3844706627164613e-8,0.0010874581583647045,1.4188304041524766e-6,1.4021110351396713e-8,0.0010877770309646244,1.0819285734700634e-6,1.420434005833336e-8,0.0010881892473587201,7.732394508393998e-7,1.4372250040797893e-8,0.0010886795450963712,5.330813350595426e-7,1.4502949312721697e-8,0.001089214649730255,3.9140243490344096e-7,1.458013766244398e-8,0.0010897487258969283,3.584072521389756e-7,1.459820749252219e-8,0.0010902335819651038,4.191729634013468e-7,1.4565214418600275e-8,0.0010906310187498445,5.348153076480196e-7,1.4502295396028616e-8,0.0010909236281021046,6.506177348026824e-7,1.443926695100913e-8,0.001091120685014961,7.092800663955221e-7,1.4407391615029013e-8,0.001091257136747916,6.658869235087142e-7,1.4431183604022623e-8,0.0010913854479859381,5.005821622148568e-7,1.4521478794650966e-8,0.0010915618860652314,2.251478759511052e-7,1.467185398741576e-8,0.0010918307189155313,-1.1924299742407577e-7,1.4859864732950039e-8,0.0010922113493534546,-4.734372432057817e-7,1.5053255310459487e-8,0.0010926932935980337,-7.775556028587294e-7,1.5219334684945516e-8,0.0010932410472572044,-9.877102401363634e-7,1.533407805988485e-8,0.0010938063797259453,-1.0859165470122615e-6,1.5387566050399254e-8,0.001094342455259391,-1.080589230442882e-6,1.5384321095468852e-8,0.00109481445675083,-9.995980021090122e-7,1.5339569592932147e-8,0.0010952043212414967,-8.803420527904827e-7,1.5273828324478645e-8,0.0010955103354372215,-7.608506842509845e-7,1.520800473466209e-8,0.0010957438947718288,-6.738297010954895e-7,1.516008890171015e-8,0.0010959255739260278,-6.435882030741187e-7,1.514342886133524e-8,0.0010960816844447629,-6.848008439732961e-7,1.516603611113632e-8,0.001096241543978873,-8.02004725041787e-7,1.5230321629549556e-8,0.0010964350536024304,-9.891361497491146e-7,1.5332873831182345e-8,0.0010966898752015986,-1.2290044827439803e-6,1.5464206803068726e-8,0.0010970275583669783,-1.4932930260580311e-6,1.5608784981685757e-8,0.0010974584822657629,-1.7443109645131954e-6,1.574598051452959e-8,0.0010979764965260918,-1.9399561880694465e-6,1.5852762521604583e-8,0.0010985554895813923,-2.0426623918831098e-6,1.590856103716042e-8,0.0010991510076969397,-2.031063016383569e-6,1.590164521848076e-8,0.0010997091337757634,-1.9102678540224635e-6,1.5834788151340182e-8,0.0011001814643931509,-1.7151290714917107e-6,1.5727115299126148e-8,0.0011005408546707206,-1.5028952094650604e-6,1.5610105905041306e-8,0.001100790948640354,-1.3368393448549428e-6,1.5518581808694086e-8,0.001100965184316589,-1.2672952194125447e-6,1.5480237846173764e-8,0.0011011161176956588,-1.3175209969869768e-6,1.5507843040213407e-8,0.0011012998469212088,-1.4787697248972343e-6,1.5596542078759433e-8,0.001101561065014156,-1.7146998910046917e-6,1.5726308035865734e-8,0.0011019226990827457,-1.9724071175410574e-6,1.586801490545639e-8,0.001102382007116548,-2.196363356079692e-6,1.5991084228148263e-8,0.0011029132667145561,-2.3416096021800094e-6,1.6070722292919825e-8,0.0011034757514399483,-2.38310916619068e-6,1.6093077245681256e-8,0.0011040244786115357,-2.31927776315323e-6,1.6057225467888683e-8,0.0011045205794044041,-2.1694385072843676e-6,1.597381802522786e-8,0.0011049385690624493,-1.966838354498544e-6,1.5861252045493124e-8,0.0011052692443645087,-1.750001842086337e-6,1.5740883086523665e-8,0.0011055186380034719,-1.5550353774155559e-6,1.5632734001830676e-8,0.0011057045369247066,-1.4103695910270938e-6,1.5552549745965977e-8,0.0011058522277989002,-1.3341378137981495e-6,1.551032955262108e-8,0.0011059906217503908,-1.3335025490994153e-6,1.5509962936515426e-8,0.001106149150194748,-1.404950501845874e-6,1.5549420079728942e-8,0.0011063551807779252,-1.5348143523852197e-6,1.5621073311654e-8,0.0011066313631327655,-1.6998081049754247e-6,1.5712016164878937e-8,0.0011069922927926747,-1.8679853774396568e-6,1.580459705808824e-8,0.0011074402507398938,-2.0011637405826746e-6,1.5877740607269027e-8,0.0011079607077455421,-2.060248709035317e-6,1.5909858156164228e-8,0.001108519738968454,-2.0144254988523965e-6,1.588390462537339e-8,0.0011090667951459137,-1.8531436940924132e-6,1.5794016241904865e-8,0.0011095457522609323,-1.5962893152773853E-06,1.5651187561937485e-8,0.0011099131036531966,-1.295286315591519e-6,1.548393416264128e-8,0.0011101558729649911,-1.0201697065466408e-6,1.5331133204623056e-8,0.0011102988958696094,-8.358929741676526e-7,1.5228836499800212e-8,0.001110396160826366,-7.792957175517323e-7,1.519745019538023e-8,0.00111051078357651,-8.4832733122868e-7,1.5235767590110828e-8,0.0011106942753399312,-1.0069042485667557e-6,1.5323711725274e-8,0.00111097368196469,-1.1999692577389667e-6,1.5430718007157876e-8,0.0011113487938456635,-1.370515245006706e-6,1.5525164027079777e-8,0.0011117968919402519,-1.472886234678616e-6,1.5581716379428368e-8,0.00111228126468647,-1.4803580618799743e-6,1.5585522069862342e-8,0.0011127605283525728,-1.38735025143936e-6,1.553345118973782e-8,0.0011131969606502966,-1.207467615593322e-6,1.5433042494833323e-8,0.0011135628384484684,-9.68609089136904e-7,1.5299812786382335e-8,0.0011138441430138264,-7.063766770539463e-7,1.515359787677788e-8,0.0011140413969519087,-4.5716749529745555e-7,1.5014692696968984e-8,0.0011141679771116317,-2.5224292949749117e-7,1.4900524553462284e-8,0.0011142467106409985,-1.1360505719006956e-7,1.4823340179212186e-8,0.0011143057375622243,-5.1947099677121166e-8,1.478906414284595e-8,0.0011143745275428235,-6.641623982905153e-8,1.479718055412551e-8,0.0011144805411490116,-1.4554045014367347e-7,1.4841267716474989e-8,0.0011146465039405943,-2.6868186327244643e-7,1.4909818722617364e-8,0.0011148879464543517,-4.077487512787168e-7,1.4987193531681402e-8,0.0011152106069133069,-5.293572049765862e-7,1.5054810350341645e-8,0.001115607505557431,-5.981354506604627e-7,1.5092967998964315e-8,0.0011160562278251995,-5.82238372920153e-7,1.508390498897239e-8,0.0011165181858738054,-4.617774614729789e-7,1.5016501585294573e-8,0.0011169427756374372,-2.3916486858598275e-7,1.489207589936706e-8,0.001117279123695704,5.281074662320559e-8,1.4728931150574154e-8,0.0011174945353303808,3.5238253651923323e-7,1.4561593636104278e-8,0.0011175918891919794,5.85237341776037e-7,1.4431602483043102e-8,0.001117613973298778,6.922600246158575e-7,1.4371955080154304e-8,0.0011176285284481737,6.540692000960255e-7,1.4393394122909386e-8,0.0011177012518909313,4.973859584028976e-7,1.4480914676359373e-8,0.0011178724639969737,2.807665191832271e-7,1.4601797634793543e-8,0.0011181484319527568,7.064887876481905e-8,1.4718987525011862e-8,0.0011185068668504749,-7.890745011779789e-8,1.4802357637019236e-8,0.0011189091709123736,-1.3646153918415363e-7,1.4834384089423755e-8,0.0011193126105248509,-9.43931094899234e-8,1.48108065335213e-8,0.0011196792366973227,3.5164048593491474e-8,1.473837430297344e-8,0.0011199811858316087,2.26369559642981e-7,1.4631494218090753e-8,0.0011202031869314724,4.4589422366034254e-7,1.4508776239873582e-8,0.00112034310520379,6.586854121746841e-7,1.4389816343386903e-8,0.0011204109385747102,8.330417415667043e-7,1.4292352649188305e-8,0.0011204265234972595,9.446967691452359e-7,1.4229970169917528e-8,0.0011204162785695454,9.796302768584618e-7,1.4210520366177409e-8,0.0011204093914756884,9.354136766252925e-7,1.423536740670385e-8,0.0011204339509095645,8.210357617533893e-7,1.4299488573279187e-8,0.0011205135047749502,6.554492436680685e-7,1.4392288214421408e-8,0.0011206642577800594,4.652528434009131e-7,1.4498888367884619e-8,0.001120892869175372,2.817729973787914e-7,1.4601751044198787e-8,0.0011211947550755549,1.3757495990860276e-7,1.4682621069015419e-8,0.0011215528883894927,6.21872975976025e-8,1.4724918735586556e-8,0.001121937523487324,7.657802320904832e-8,1.471684663627745e-8,0.0011223081121608392,1.862337483495964e-7,1.4655293964103262e-8,0.0011226193191337492,3.7406125879550593e-7,1.4549846746055096e-8,0.001122832579558784,5.965725646991329e-7,1.4424943518651694e-8,0.001122931860338344,7.888398809784377e-7,1.4317073347269448e-8,0.0011229368584202211,8.823540066354003e-7,1.42646972284513e-8,0.0011229030163360236,8.31978931560535e-7,1.4293081372632381e-8,0.0011229027871189272,6.377983868581165e-7,1.4402074372500076e-8,0.0011229961745440554,3.466313844851877e-7,1.4565346045514696e-8,0.0011232080312209413,3.131213495657076e-8,1.4742059226319447e-8,0.0011235241667242122,-2.384517151272013e-7,1.4893183747109764e-8,0.0011239038866639104,-4.1705069829968125e-7,1.4993199888376666e-8,0.0011242978045176068,-4.891837396590307e-7,1.5033552385496457e-8,0.0011246618087164136,-4.650533911979487e-7,1.501996092483476e-8,0.0011249644073865193,-3.712956185955165e-7,1.4967350495564534e-8,0.0011251887847238463,-2.4226609099827207e-7,1.489497804254355e-8,0.0011253319323496448,-1.1342860023329529e-7,1.4822732804632492e-8,0.001125402634959825,-1.6748392335343594e-8,1.476855463336166e-8,0.0011254190551908455,2.2583818610430424e-8,1.4746592428163293e-8,0.001125406006350285,-1.147849811646348e-8,1.4765866874794957e-8,0.0011253918703925659,-1.2428284425453638e-7,1.4829389975213278e-8,0.001125405153669,-3.098575433825358e-7,1.4933811618400424e-8,0.001125470825285484,-5.515007109536961e-7,1.5069747750744837e-8,0.0011256068473051415,-8.237402109522106e-7,1.522287862447306e-8,0.0011258213742378021,-1.0955210324600928e-6,1.5375735433027346e-8,0.001126110953640497,-1.33434576076099e-6,1.551002392607651e-8,0.0011264599688784321,-1.5110754595557068e-6,1.5609325258051984e-8,0.0011268415324472347,-1.6050367155868619e-6,1.5661979950811296e-8,0.0011272200850014037,-1.6091063327225863e-6,1.5663968705012574e-8,0.0011275562307977297,-1.5342861631028003e-6,1.5621508044081852e-8,0.0011278144681279808,-1.4124327608801717e-6,1.5552595027563792e-8,0.001127973697196369,-1.2945868803236955e-6,1.548604925928786e-8,0.0011280382587597413,-1.2418556395565706e-6,1.5456333428887506e-8,0.0011280441049613882,-1.3076713541081708e-6,1.5493515389976944e-8,0.0011280530903307478,-1.5159246352740396e-6,1.5610950547436537e-8,0.001128132778175655,-1.8463668689740967e-6,1.579711977668449e-8,0.0011283296134604944,-2.238778351585612e-6,1.601804452302929e-8,0.0011286507402838491,-2.6162893563312223e-6,1.6230430827785135e-8,0.001129064849116733,-2.914505922934018e-6,1.639803217786027e-8,0.0011295188883964043,-3.1003495271215335e-6,1.650223555792818e-8,0.0011299585096496848,-3.1743954370268017e-6,1.6543390761059785e-8,0.0011303422387863712,-3.1616614223987634e-6,1.6535639899295777e-8,0.0011306468543703053,-3.099226465392222e-6,1.649993957729718e-8,0.0011308665355909385,-3.026115926253836e-6,1.6458343678529448e-8,0.0011310092877528594,-2.97696670198988e-6,1.643041637428008e-8,0.0011310930107738839,-2.9787150579821667e-6,1.643135725219101e-8,0.0011311420979546502,-3.048971357365785e-6,1.6471083224590702e-8,0.0011311844863316548,-3.1951543584245246e-6,1.655374177555831e-8,0.0011312487969415517,-3.4140426711787296e-6,1.667746050617603e-8,0.001131361247585663,-3.6918347099299193e-6,1.683438659836271e-8,0.0011315422288500833,-4.005155407124281e-6,1.701126248263884e-8,0.0011318028686057846,-4.323516118603748e-6,1.719082210152812e-8,0.001132142305142021,-4.613386976593811e-6,1.7354095519871995e-8,0.001132546459390808,-4.843583003603475e-6,1.7483454475893005e-8,0.0011329889427781129,-4.991272754047409e-6,1.7566013688537354e-8,0.0011334344413259357,-5.047541910774497e-6,1.7596784618951905e-8,0.001133844458183822,-5.021292733474158e-6,1.7580889129752105e-8,0.0011341848700335095,-4.94040959890774e-6,1.753421475919338e-8,0.0011344344119443499,-4.8491916969188745e-6,1.748193700907113e-8,0.0011345925814498685,-4.801059066100088e-6,1.745434825021528e-8,0.001134684387300292,-4.846227082445247e-6,1.7479841111046328e-8,0.0011347584805635495,-5.0160858158737145e-6,1.7576061597522453e-8,0.0011348759327808268,-5.309263400214288e-6,1.7742064468409605e-8,0.0011350908173706725,-5.6869034120381485e-6,1.7955706489080888e-8,0.0011354299176144932,-6.082800701089851e-6,1.8179418623203863e-8,0.0011358822190113598,-6.426124898603051e-6,1.8373054177066374e-8,0.0011364043809356825,-6.665757949870108e-6,1.8507648393622844e-8,0.0011369384853650538,-6.7840861137196476e-6,1.8573247563186413e-8,0.0011374316455507916,-6.795823634017219e-6,1.8578280026159067e-8,0.001137848673807987,-6.736604005607285e-6,1.85430965640259e-8,0.001138175543947817,-6.649378408098194e-6,1.8492219634553844e-8,0.0011384164599360274,-6.574091986083006e-6,1.8448433493018965e-8,0.0011385884812031334,-6.5420367269707E-06,1.8429543600599157e-8,0.0011387163515221173,-6.573764105960214e-6,1.844718403120001e-8,0.0011388284833158092,-6.678850501571657e-6,1.8506697577031452e-8,0.0011389539421612653,-6.856289459219892e-6,1.8607380918886297e-8,0.0011391198567281403,-7.094990988364993e-6,1.8742791852569966e-8,0.0011393486909906535,-7.374470404067843e-6,1.8901162544082247e-8,0.001139655105173082,-7.666288253826918e-6,1.9066235687773136e-8,0.0011400426757558419,-7.936983461486883e-6,1.921894205864218e-8,0.0011405013577337874,-8.152936837249098e-6,1.9340168556050783e-8,0.0011410069453844265,-8.286904307477137e-6,1.941447163411268e-8,0.001141523687978373,-8.325052062458535e-6,1.943407977800105e-8,0.0011420104921204704,-8.272482966705914e-6,1.940204081740356e-8,0.0011424298885641681,-8.155032071176124e-6,1.9333238629293002e-8,0.0011427577026877223,-8.01590505046847e-6,1.9252449665323856e-8,0.0011429907616206283,-7.907174957399983e-6,1.9189445751876634e-8,0.0011431501649271265,-7.877608061907913e-6,1.917200273740673e-8,0.0011432784491987938,-7.9594886944176e-6,1.9218374972079383e-8,0.0011434302434748492,-8.157983701078854e-6,1.9331275036921774e-8,0.0011436578055424847,-8.446881947193677e-6,1.949552477305666e-8,0.00114399515501405,-8.773659928063834e-6,1.9681008281834052e-8,0.001144446522983574,-9.073972603149053e-6,1.9850948567032337e-8,0.0011449845240813815,-9.291172843971188e-6,1.997301868872744e-8,0.0011455595354737658,-9.393027652032006e-6,2.0028869806567677e-8,0.0011461161009334714,-9.378716130867975e-6,2.001814630971795e-8,0.0011466089029168024,-9.274461172054308e-6,1.9956008806800238e-8,0.0011470122988015584,-9.121833292035425e-6,1.9866427698242803e-8,0.00114732188508422,-8.96496066277439e-6,1.977481168122164e-8,0.001147550426654242,-8.84115873090527e-6,1.970259092640148e-8,0.0011477216937115396,-8.776250220560751e-6,1.966451506584681e-8,0.0011478647584178116,-8.783503033521037e-6,1.966805944170667e-8,0.0011480097210303582,-8.864451422748417e-6,1.971393023358895e-8,0.0011481847339456337,-9.010282799110149e-6,1.9796897029095008e-8,0.0011484137013095736,-9.203162855983934e-6,1.9906583070119853e-8,0.0011487139621447924,-9.417536219790016e-6,2.0028232082651543e-8,0.0011490935669522466,-9.622008265590576e-6,2.0143797216780358e-8,0.0011495483701545808,-9.782674812070154e-6,2.0233850339937727e-8,0.0011500598968202766,-9.868530899457088e-6,2.0280675342107168e-8,0.001150595576793416,-9.858788234789456e-6,2.027245503525575e-8,0.0011511130407411538,-9.750551556433113e-6,2.0207673116114426e-8,0.0011515690958261268,-9.563815939238883e-6,2.0097983923800655e-8,0.0011519316806153635,-9.340392670730376e-6,1.9967584121287674e-8,0.001152190749497022,-9.135185026245966e-6,1.9848156573524196e-8,0.0011523634382926925,-9.001659265593388e-6,1.9770455193964563e-8,0.0011524907957058544,-8.976351650421527e-6,1.975535707782608e-8,0.0011526268209164589,-9.067935946616826e-6,1.9807599727437817e-8,0.0011528235054923113,-9.25449432683755e-6,1.9914294904382524e-8,0.0011531166414686328,-9.489552149459594e-6,2.0048491573720485e-8,0.0011535164504243166,-9.71476019621844e-6,2.0176519619224113e-8,0.0011540055000518578,-9.875454353321969e-6,2.0266935867828633e-8,0.0011545443526542588,-9.934597905884134e-6,2.029851857027083e-8,0.0011550830429836547,-9.881012223473731e-6,2.026498429883669e-8,0.0011555744937682764,-9.729706251418504e-6,2.0175168201088018e-8,0.0011559854772124829,-9.51504938883692e-6,2.0049071556327196e-8,0.0011563021464909625,-9.280042396553756e-6,1.991163982225793e-8,0.0011565296752859802,-9.065727818539686e-6,1.9786613888511836e-8,0.001156687736425848,-8.903688987058367e-6,1.9692182364519e-8,0.0011568044046975123,-8.8125619957311e-6,1.9638981965480233e-8,0.0011569105458751,-8.797789715304598e-6,1.9629991386652268e-8,0.0011570356151798416,-8.853178776230065e-6,1.9661469660227554e-8,0.0011572048275839113,-8.963029002850191e-6,1.9724213131765286e-8,0.0011574371573823965,-9.104180604326605e-6,1.9804750235027096e-8,0.0011577435098976399,-9.247950130788989e-6,1.9886461799431398e-8,0.0011581246406424353,-9.362476184699034e-6,1.9950934601369646e-8,0.001158568958664678,-9.41631267388031e-6,1.9980033554842147e-8,0.001159051135572797,-9.383982662467644e-6,1.9959107105592105e-8,0.0011595332400694842,-9.253407196201551e-6,1.988127948054991e-8,0.0011599704116754437,-9.033473617199929e-6,1.9751830591591057e-8,0.001160321905079089,-8.757962164306107e-6,1.9590469326886845e-8,0.0011605651381540996,-8.481352968156326e-6,1.9428884611557018e-8,0.0011607066977102414,-8.264780100526713e-6,1.9302555692561575e-8,0.0011607835786356816,-8.156211653841857e-6,1.9239208531028127e-8,0.001160852303938451,-8.173672131833849e-6,1.9249082973678126e-8,0.0011609704050213417,-8.299502401002055e-6,1.9321670102197103e-8,0.0011611786600939425,-8.487524842860316e-6,1.942996472795716e-8,0.00116149085756971,-8.678548440956826e-6,1.9539526753642373e-8,0.0011618930476837161,-8.817263786054158e-6,1.961829467481908e-8,0.0011623502480845786,-8.865197369246996e-6,1.9644073624203352e-8,0.0011628170462849206,-8.807345064885849e-6,1.9608343243756524e-8,0.001163248772606246,-8.652436380407108e-6,1.9516370694754277e-8,0.0011636107636861521,-8.42810745764086e-6,1.9384372461534673e-8,0.0011638841503945102,-8.17290291549061e-6,1.9234838808357553e-8,0.0011640675332915647,-7.927309243105636e-6,1.9091306227406572e-8,0.001164174910574985,-7.725934562782125e-6,1.897381570422459e-8,0.0011642310911780206,-7.592301438636944e-6,1.8895911963434465e-8,0.001164266183153776,-7.536686249750781e-6,1.8863426101585725e-8,0.0011643105098843333,-7.556534996681924e-6,1.8874751833990127e-8,0.0011643907219274397,-7.638508383357229e-6,1.892205030520054e-8,0.0011645272144765674,-7.761166811425134e-6,1.8992807601442906e-8,0.0011647324707863098,-7.897651936164617e-6,1.9071379900299287e-8,0.0011650098094900412,-8.018265814666975e-6,1.914048233352255e-8,0.0011653521888236509,-8.093307790327415e-6,1.9182839583695098e-8,0.001165741133615056,-8.096798948189496e-6,1.9183362843101123e-8,0.0011661465394286383,-8.01169930545659e-6,1.913219846759754e-8,0.0011665289267256526,-7.836536321099879e-6,1.9028592765835697e-8,0.0011668460658409007,-7.591725078170206e-6,1.8884569456476698e-8,0.0011670647742319771,-7.321672629410377e-6,1.872613603007408e-8,0.0011671752536712213,-7.087778965397692e-6,1.8589162929747138e-8,0.0011672007945532352,-6.950506281680236e-6,1.8508875117680157e-8,0.0011671946165852476,-6.946270276537636e-6,1.8506350208028936e-8,0.0011672219724961402,-7.071417197234697e-6,1.8579216055933185e-8,0.0011673358746302342,-7.283275108892446e-6,1.8702356985605753e-8,0.0011675594159570796,-7.517413113909867e-6,1.8838061377010595e-8,0.0011678822015231747,-7.710561368063675e-6,1.8949420655493054e-8,0.0011682689261397071,-7.818135372925264e-6,1.9010538692202126e-8,0.0011686730493583339,-7.821696462300443e-6,1.90108499425854e-8,0.0011690494583318888,-7.727720962976632e-6,1.8954353489254236e-8,0.0011693632444199163,-7.56134032774171e-6,1.885590552632025e-8,0.00116959424227111,-7.358324729191973e-6,1.8736493783482777e-8,0.0011697381322427927,-7.157289319737172e-6,1.861866602390422e-8,0.001169805015940991,-6.993028321525914e-6,1.852264983791331e-8,0.0011698161546601542,-6.891491872816817e-6,1.8463458014440653e-8,0.0011697995747586565,-6.866806023143072e-6,1.8449195474681566e-8,0.001169785345145261,-6.9204124414224666e-6,1.8480593608555368e-8,0.0011698012390084927,-7.0420511084665356e-6,1.8551596753815423e-8,0.0011698692959780039,-7.212115770190638e-6,1.865072612237821e-8,0.001170003535115469,-7.40476340602822e-6,1.876287162320732e-8,0.0011702087001298016,-7.591191261412983e-6,1.887118665962335e-8,0.001170479701385697,-7.742851069545861e-6,1.895896527939579e-8,0.0011708015200401624,-7.834746251544546e-6,1.9011588216858993e-8,0.0011711496211634048,-7.849130822009977e-6,1.9018713426567524e-8,0.0011714913924403504,-7.779910197998646e-6,1.8976869060788222e-8,0.0011717897544849946,-7.637523831636095e-6,1.889230519205385e-8,0.001172010309956273,-7.452738502943907e-6,1.8783182601489195e-8,0.0011721323598993924,-7.275994332800178e-6,1.867913794942048e-8,0.0011721611281580594,-7.168155593634209e-6,1.861581265298405e-8,0.0011721343191450696,-7.1813051484193844e-6,1.862357539268324e-8,0.0011721149049607846,-7.335813716215587e-6,1.87141217167984e-8,0.001172168800567516,-7.607145133330706e-6,1.8872833135365767e-8,0.0011723380208572738,-7.933227173421569e-6,1.9063184028057393e-8,0.0011726252496139771,-8.239481077610759e-6,1.924143891636807e-8,0.0011729975280554965,-8.466260519538257e-6,1.9372719916227837e-8,0.0011734031858778484,-8.584501548552111e-6,1.944016181411194e-8,0.001173790302185874,-8.596454295920204e-6,1.944531693494591e-8,0.0011741190787508823,-8.527161410478187e-6,1.9403109104349883e-8,0.0011743669348481497,-8.413502697600549e-6,1.933534155711618e-8,0.0011745284115409797,-8.294793736602777e-6,1.9265131227668844e-8,0.0011746124079364151,-8.206190261184355e-6,1.9213032276832187e-8,0.0011746385065752375,-8.174556373859033e-6,1.9194649111671876e-8,0.0011746330915234392,-8.216052103381338e-6,1.9219279634408336e-8,0.0011746253880197785,-8.335082109550146e-6,1.9289350289034145e-8,0.0011746435809791025,-8.524542340119898e-6,1.9400586230916127e-8,0.0011747112692470335,-8.767280557710057e-6,1.954286430798587e-8,0.0011748445359639791,-9.03865596643075e-6,1.9701692857538592e-8,0.0011750499632298852,-9.309966660718363e-6,1.9860201817912727e-8,0.001175323799399941,-9.552298843262974e-6,2.0001396821218872e-8,0.00117565222379474,-9.740381416028808e-6,2.0110439466007515e-8,0.0011760125740055314,-9.856258828588306e-6,2.0176834214821782e-8,0.001176375524771259,-9.89270749701017e-6,2.0196458357561633e-8,0.0011767084198622795,-9.856295447680713e-6,2.0173355725141192e-8,0.0011769802534832457,-9.769680052766479e-6,2.0121046365166935e-8,0.001177168799588408,-9.671871258832764e-6,2.0062613323586582e-8,0.0011772694476469777,-9.6141384720008e-6,2.002822704058926e-8,0.0011773031276615976,-9.649130357389883e-6,2.004871269724044e-8,0.001177317927990144,-9.813195811093411e-6,2.0145182911243707e-8,0.0011773784774201084,-1.0107742086366462e-5,2.031816622647421e-8,0.0011775429199502576,-1.0491244705205072e-5,2.054301185498362e-8,0.001177837880102486,-1.0891186429975976e-5,2.077695811502661e-8,0.0011782469508336748,-1.1232228758863288e-5,2.0975685618500445e-8,0.0011787199252995327,-1.1464270048217633e-5,2.1109807093236463e-8,0.001179195117857407,-1.1575096317836384e-5,2.1172327792887724e-8,0.0011796204060343677,-1.1585333083324484e-5,2.117567378298927e-8,0.001179964253721622,-1.153426084540048e-5,2.1143276835969646e-8,0.001180216947487361,-1.1465789942356163e-5,2.1101215758474892e-8,0.0011803864077251783,-1.1418915216628996e-5,2.107252293342305e-8,0.0011804924552570766,-1.1422849945557147e-5,2.1074313204903283e-8,0.0011805616351961057,-1.149534972563153e-5,2.111684828473406e-8,0.0011806231296561194,-1.164260838042896e-5,2.1203547272920038e-8,0.001180705405349917,-1.185983590457733e-5,2.133138289587363e-8,0.0011808332022572984,-1.2132380829244001e-5,2.1491566451183692e-8,0.0011810247593277404,-1.2437538534793616e-5,2.1670609888946692e-8,0.00118128939658047,-1.2747235945817167e-5,2.1851893747692842e-8,0.0011816258296817952,-1.3031688632184382e-5,2.2017816721285344e-8,0.0011820217409164156,-1.3263766786722557e-5,2.215238102483769e-8,0.0011824549343442512,-1.3423476824073942e-5,2.224386173036045e-8,0.0011828960923008392,-1.3501908143475178e-5,2.228715845248425e-8,0.0011833129578829248,-1.3504032616951642e-5,2.2285447254115404e-8,0.0011836756314048944,-1.3449812928952117e-5,2.2250794275112108e-8,0.001183962592413837,-1.3373153848677134e-5,2.2203458812617827e-8,0.0011841669322909438,-1.3318065327970467e-5,2.2169537514422055e-8,0.0011843016926503368,-1.3331175884827947e-5,2.2176482373441217e-8,0.0011844020642103072,-1.3450260247773386e-5,2.2246332098472546e-8,0.001184521202676278,-1.3690428025695983e-5,2.2387640451217336e-8,0.0011847171293863903,-1.4032994909381187e-5,2.2589027933433944e-8,0.001185032463777717,-1.4424743371322873e-5,2.281883562996951e-8,0.0011854755677246913,-1.4792794984495582e-5,2.3033918419938312e-8,0.0011860147396502052,-1.507088024578483e-5,2.319513060443558e-8,0.0011865905179456926,-1.5223319477673633e-5,2.328150001628114e-8,0.0011871389466646689,-1.5253718038456167e-5,2.3295410581307743e-8,0.0011876123061146714,-1.519648813755946e-5,2.3257586969311357e-8,0.0011879885113928858,-1.5099845661934605e-5,2.3196940123018956e-8,0.0011882695341677578,-1.501035144178206e-5,2.31412842396481e-8,0.0011884742356245803,-1.4963788315746421e-5,2.3111852364620775e-8,0.001188630530564791,-1.4982034546106686e-5,2.3121452402727265e-8,0.0011887692807419578,-1.507353292827563e-5,2.3174817880824452e-8,0.0011889202463939105,-1.5235106883747588e-5,2.3269772227890994e-8,0.0011891093972103773,-1.5453904219857056e-5,2.3398442893928934e-8,0.001189356787492648,-1.5709243646093957e-5,2.3548380493865156e-8,0.001189674562434833,-1.597465760311393e-5,2.3703767108688843e-8,0.0011900650705906138,-1.622059546320253e-5,2.3847010207390837e-8,0.0011905194959919482,-1.641817450904896e-5,2.396096721453941e-8,0.0011910177895063875,-1.6543919681829082e-5,2.403177226492937e-8,0.0011915306556030559,-1.6584788766736868e-5,2.4051839818261955e-8,0.001192023898945927,-1.6542298384545826e-5,2.4022324070467803e-8,0.001192464757553144,-1.643440146715635e-5,2.3954211093486313e-8,0.001192829119799411,-1.629404609753833e-5,2.3867395750016865e-8,0.001193108027212104,-1.6164104458207515e-5,2.3787569044241983e-8,0.0011933118430555575,-1.608921071912973e-5,2.3741272731391792e-8,0.0011934707320330146,-1.6105658509481013e-5,2.374985781205688e-8,0.0011936303976635173,-1.623111932778949e-5,2.3823425330801796e-8,0.0011938425904213918,-1.6456797947603263e-5,2.3956291913805633e-8,0.0011941512693824246,-1.6745405678767475e-5,2.4125926378533872e-8,0.0011945777513011316,-1.703806116613979e-5,2.4297131106293858e-8,0.0011951108176325653,-1.7270552184130284e-5,2.4431706269672658e-8,0.0011957078826386161,-1.7394145331375484e-5,2.4500786304503858e-8,0.001196308651953773,-1.7391670563142902e-5,2.4494397478295562e-8,0.0011968553574094527,-1.7280885870127336e-5,2.442346637634852e-8,0.0011973097438809756,-1.7104486121415902e-5,2.4313830319614202e-8,0.0011976600271846305,-1.6913544964189015e-5,2.4196263777647027e-8,0.0011979178287977973,-1.6752823815132273e-5,2.4097605696463648e-8,0.0011981097707620147,-1.6652578579863055e-5,2.4035827004151324e-8,0.0011982686801686477,-1.6626751066110573e-5,2.401899572758425e-8,0.0011984270612510747,-1.6674980003615707e-5,2.4046572026728495e-8,0.0011986131998672476,-1.6785856209140574e-5,2.411144126081378e-8,0.00119884907936858,-1.6939967517406705e-5,2.4201781684558578e-8,0.0011991490988296598,-1.7112385016964997e-5,2.430255743190104e-8,0.0011995189044720176,-1.727490968716899e-5,2.4396846663078468e-8,0.0011999541434850292,-1.73987053704685e-5,2.446740213138539e-8,0.0012004395264967585,-1.7457927525291007e-5,2.4498820966803372E-08,0.0012009491082435547,-1.743451264755266e-5,2.4480422287605266e-8,0.001201448900782843,-1.7323465817622007e-5,2.4409425154034857e-8,0.0012019025457898729,-1.713703206787251e-5,2.429344400128628e-8,0.0012022796375072394,-1.6905527800039264e-5,2.415095110327444e-8,0.001202564674709609,-1.66730256383639e-5,2.4008615527302114e-8,0.0012027634568679232,-1.6487847620334767e-5,2.3895505198766226e-8,0.001202904030611828,-1.6390163394670685e-5,2.3835574955575874e-8,0.0012030311028923925,-1.6400516224166192e-5,2.384078723594285e-8,0.0012031951747230444,-1.6513004713512284e-5,2.390712060734509e-8,0.001203439368777117,-1.6695385826531313e-5,2.4014786720648956e-8,0.0012037875416534632,-1.6896357132806125e-5,2.413273573212916e-8,0.0012042369997383238,-1.7058417430140396e-5,2.422642990299439e-8,0.001204758270153749,-1.7133153462624448e-5,2.42669920335499e-8,0.0012053027296240449,-1.7094557087145528e-5,2.4239131779032624e-8,0.001205816243419089,-1.694576087819249e-5,2.414512189749825e-8,0.001206254208107606,-1.671652593603102e-5,2.4003224447649546e-8,0.0012065924774887938,-1.6452686017868706e-5,2.3841274764580573e-8,0.0012068306855210508,-1.6202252980745935e-5,2.3688257288772364e-8,0.0012069882451567506,-1.6003642610002783e-5,2.3567193058502826e-8,0.0012070962548821874,-1.5879317737007825e-5,2.3491350212189728e-8,0.0012071891126864752,-1.5834987172204415e-5,2.3463848234982794e-8,0.0012072982435586271,-1.5862395994595704e-5,2.3479429419473134E-08,0.0012074484919681056,-1.5943390285158226e-5,2.3526960795175952e-8,0.0012076565349967772,-1.6053727644420263e-5,2.3591735054261115e-8,0.0012079303224518817,-1.6166109640853678e-5,2.3657270713232458e-8,0.0012082687433021958,-1.625265566416613e-5,2.370677465035961e-8,0.0012086611896754904,-1.6287448494366172e-5,2.372466631141001e-8,0.0012090872917999832,-1.6249836702848495e-5,2.3698580523446967e-8,0.0012095176855486077,-1.6128815528154758e-5,2.3622028928013453e-8,0.0012099170613362122,-1.592798579392285e-5,2.349739986274672e-8,0.0012102505659388227,-1.566936060894537e-5,2.3338237567455915e-8,0.0012104933479661164,-1.5393153749585413e-5,2.316906420901978e-8,0.0012106406191476266,-1.5150881099106516e-5,2.302113572545944e-8,0.001210713427762985,-1.4991745019339821e-5,2.2924136337323242e-8,0.0012107557250189674,-1.4946543294335746e-5,2.2896419733099684e-8,0.0012108221716802248,-1.5016161651831003e-5,2.293810304377412e-8,0.0012109612315525406,-1.5170264902251345e-5,2.3030401775421017e-8,0.0012112005956738774,-1.535671009607627e-5,2.3141465559964834e-8,0.0012115402123723076,-1.551722648703216e-5,2.3235958218962858e-8,0.0012119541203185218,-1.5603217342101987e-5,2.32846361790215e-8,0.0012123989690091418,-1.558704649773601e-5,2.32711262155396e-8,0.0012128258188160085,-1.546672637976945e-5,2.3194667025593706e-8,0.0012131919055231588,-1.526397476343263e-5,2.306882035076686e-8,0.001213469672752588,-1.5016981076206275e-5,2.2916988632259907e-8,0.0012136512717100716,-1.4770193242323362e-5,2.2766165374691033e-8,0.0012137479589100495,-1.4563974629347552e-5,2.2640665341646183e-8,0.0012137852603573004,-1.4426773355970368e-5,2.255743926778347e-8,0.0012137959093788662,-1.4371343522844578e-5,2.2523883713028728e-8,0.0012138128365966673,-1.439499826481813e-5,2.2538091856692798e-8,0.0012138638400819995,-1.4482668698853964e-5,2.2590762305896745e-8,0.0012139685086682349,-1.4611158244269921e-5,2.2667775734842887e-8,0.0012141370773553156,-1.4753294457875256e-5,2.2752669276880412e-8,0.0012143704447298367,-1.4881339284913565e-5,2.2828655628043122e-8,0.0012146606157735983,-1.4969696583580246e-5,2.2880242761076628e-8,0.0012149911979015464,-1.499739616837105e-5,2.2894754107216863e-8,0.001215338074413792,-1.495094088433912e-5,2.286409075695815e-8,0.0012156709220629822,-1.4827860365214653e-5,2.278691472150337e-8,0.0012159566967008494,-1.4640607873998432e-5,2.2671006872583375e-8,0.0012161661678526474,-1.4419214392042551e-5,2.253482998176492e-8,0.0012162834218881762,-1.4209794962010202e-5,2.2406545421342624e-8,0.001216315642396274,-1.4065845309811994e-5,2.2318651755283653e-8,0.0012162975273846636,-1.4032046896515793e-5,2.229810801795348e-8,0.001216284646636957,-1.412603160851158e-5,2.2355282871068613e-8,0.0012163354726003424,-1.4328040488737538e-5,2.2477767363016963e-8,0.0012164899159747096,-1.4585949126754397e-5,2.263355123417095e-8,0.001216755574130199,-1.4833892797710722e-5,2.278243853374842e-8,0.0012171078245810246,-1.5014490026863692e-5,2.2889603737556964e-8,0.001217501208749591,-1.5094377647005056e-5,2.2935034657986378e-8,0.0012178847630020077,-1.5068934395509631e-5,2.2916347417685273e-8,0.0012182150285436164,-1.4958137548021152e-5,2.2846155074825506e-8,0.0012184640069405344,-1.4797783644600629e-5,2.2746590779909395e-8,0.0012186220505673322,-1.4629683731770791e-5,2.2643235920746163e-8,0.001218696822913379,-1.449297270290909e-5,2.2559801522444672e-8,0.0012187095811834294,-1.4417539138099393e-5,2.2514186857630122e-8,0.0012186898663968694,-1.4420061297596525e-5,2.2516180023635898e-8,0.0012186696633395672,-1.4502833252156467e-5,2.2566860603567102e-8,0.0012186780735641304,-1.4655108434294776e-5,2.2659490899290508e-8,0.0012187372918174148,-1.4856253456001961e-5,2.2781443114298367e-8,0.001218860273629298,-1.5079824490775369e-5,2.2916635639418696e-8,0.0012190500435946263,-1.5297700051893458e-5,2.3047988343221898e-8,0.001219300200263371,-1.548365519236493e-5,2.3159560794279936e-8,0.0012195960618367548,-1.5616237415079354e-5,2.3238309613797606e-8,0.0012199161265676276,-1.568118550987916e-5,2.3275603178996437e-8,0.0012202338545077081,-1.567373100870673e-5,2.326866879195279e-8,0.0012205201561264112,-1.560100091808706e-5,2.3222067337371707e-8,0.001220747382989795,-1.5484226141098953e-5,2.3148995007320677e-8,0.0012208955835540899,-1.535941411892994e-5,2.3071605072069785e-8,0.0012209607427107806,-1.5274050539459638e-5,2.3018902382756045e-8,0.001220962475274646,-1.5277280997782236e-5,2.3020705792687032e-8,0.0012209458731045407,-1.5403436960660497e-5,2.309762894932575e-8,0.0012209717976255354,-1.565448470536381e-5,2.3250476497938733e-8,0.0012210955463632595,-1.5992317511104423e-5,2.345566341649283e-8,0.0012213435678971353,-1.634934524496698e-5,2.367175263118225e-8,0.0012217022640911984,-1.6653999885394203e-5,2.3855040758167472e-8,0.0012221254162641652,-1.685673242853055e-5,2.397543609100118e-8,0.0012225539172616843,-1.694295513018085e-5,2.4024369111537456e-8,0.0012229355612905532,-1.6930207344080828e-5,2.4013018459709848e-8,0.0012232368258948774,-1.6856088422204816e-5,2.3964815471614588e-8,0.001223445818883135,-1.6764870074623695e-5,2.3907108196114857e-8,0.0012235694616662836,-1.66972195773145e-5,2.3864781052871904e-8,0.0012236282176459417,-1.668400111843338e-5,2.3856473140188308e-8,0.0012236504409797394,-1.6743379709783217e-5,2.3892909894168513e-8,0.0012236671763620997,-1.6880175503808295e-5,2.3976645895061022e-8,0.001223707624433692,-1.708683221483701e-5,2.4102766441136323e-8,0.0012237954317209335,-1.734565340062886e-5,2.426029685357651e-8,0.0012239459921608604,-1.7631973134540477e-5,2.4434117926847972e-8,0.0012241649213519893,-1.791791608308859e-5,2.4607207076905056e-8,0.0012244478183697678,-1.817632574317451e-5,2.476299133590999e-8,0.0012247812244358886,-1.838435464330882e-5,2.4887533086232756e-8,0.0012251444556581857,-1.8526399189167512e-5,2.4971356499031972e-8,0.001225512030680893,-1.8596356874691012e-5,2.5010875116620252e-8,0.0012258566090267735,-1.8599249204608337e-5,2.500940666446154e-8,0.0012261525206215848,-1.8552184327634754e-5,2.4977727871947743e-8,0.0012263801754533244,-1.8484389126531722e-5,2.4934001023126065e-8,0.001226531589440995,-1.8435353897332787e-5,2.4902521731442044e-8,0.0012266163824655456,-1.844942436845583e-5,2.4910327037782435e-8,0.0012266658987470957,-1.8565429063659797e-5,2.498085133256966e-8,0.0012267312754294553,-1.880207278591228e-5,2.5125090674904964e-8,0.0012268713258371598,-1.914430998630717e-5,2.533341535608457e-8,0.001227131022819862,-1.954022969406463e-5,2.557377342250434e-8,0.0012275202373195173,-1.991570456003484e-5,2.5800673545950185e-8,0.0012280066605481112,-2.0202550073462475e-5,2.5972399157529153e-8,0.0012285289260753722,-2.036442274620531e-5,2.6066887113834473e-8,0.0012290215337736447,-2.0405843598096857e-5,2.608730247250189e-8,0.0012294364792536673,-2.0362831684957532e-5,2.605626237353159e-8,0.0012297525480403702,-2.0285001528169813e-5,2.600470001447718e-8,0.001229973287643303,-2.0219675206655426e-5,2.596192790923771e-8,0.00123011945294299,-2.0202577079814657e-5,2.5949829286862887e-8,0.0012302208090147814,-2.0254570927893388e-5,2.598089556577197e-8,0.001230309575850642,-2.0382079862008366e-5,2.6058620701201978e-8,0.0012304158345859968,-2.0579100696291248e-5,2.6178889594627654e-8,0.0012305643517482184,-2.0829746668818747e-5,2.6331638580619262e-8,0.0012307723235892732,-2.1111062515209374e-5,2.6502607204116547e-8,0.0012310478548748765,-2.1396114777007075e-5,2.6675202086625746e-8,0.0012313891899758615,-2.1657391046044656e-5,2.6832534064826254e-8,0.0012317848985939483,-2.187044513583133e-5,2.6959629716658373e-8,0.001232215249623264,-2.2017430944470345e-5,2.7045614719736176e-8,0.0012326547447966258,-2.209001773221379e-5,2.7085542859440893e-8,0.0012330755592392312,-2.2091326924775106e-5,2.70816135899996e-8,0.0012334516279752959,-2.203663011034868e-5,2.7043580150642033e-8,0.001233763101802164,-2.1952544155669515e-5,2.6988170698065287e-8,0.001234000846053606,-2.1874499915341305e-5,2.6937404354593894e-8,0.0012341705639102628,-2.184212653370876e-5,2.691563704449534e-8,0.0012342956223987628,-2.1891979650956894e-5,2.6945050302677308e-8,0.001234416688585595,-2.2047557895417835e-5,2.7039585964648845e-8,0.0012345855888722889,-2.23083766412273e-5,2.719839449139654e-8,0.0012348517249173988,-2.2642708147870215e-5,2.7401545144008608e-8,0.0012352433616983397,-2.2990593392258627e-5,2.7611962377998624e-8,0.0012357521897338616,-2.328103233247334e-5,2.778596961972363e-8,0.0012363319390749912,-2.3458241076732956e-5,2.7889391237730747e-8,0.001236914832205126,-2.3503051358274284e-5,2.7910738893106944e-8,0.0012374372602634584,-2.34370143285074e-5,2.7863779646029196e-8,0.0012378600978094599,-2.3308844078715344e-5,2.7779123129400366e-8,0.001238175025995959,-2.3173834169043024e-5,2.7691345091404345e-8,0.0012383987375117022,-2.3077516654817154e-5,2.7628715793488518e-8,0.0012385621901050622,-2.304804267920002e-5,2.7608434146434345e-8,0.001238700730871274,-2.3095701387628564e-5,2.7636418998067664e-8,0.0012388473917175444,-2.321606101218933e-5,2.7709418024290113e-8,0.0012390291726658905,-2.339397590953754e-5,2.781763697063455e-8,0.001239265187271221,-2.3607198404592336e-5,2.7947049692492793e-8,0.0012395656932513142,-2.3829477290720274e-5,2.808131142382676e-8,0.001239931567574002,-2.4033454791804963e-5,2.8203502070202986e-8,0.001240354197034772,-2.419368952870141e-5,2.8297948187087624e-8,0.0012408160639877112,-2.4289979933212816e-5,2.835226322126063e-8,0.0012412924936616241,-2.431076507997636e-5,2.835947104322042e-8,0.001241754847581157,-2.4255949556786933e-5,2.8319783468064274e-8,0.0012421750027906508,-2.413837942889537e-5,2.8241514856497743e-8,0.0012425305735050856,-2.398330917104594e-5,2.8140695039591662e-8,0.001242810041407821,-2.3825431793646963e-5,2.803911624686781e-8,0.0012430167548026835,-2.3703494765039817e-5,2.796086702784852e-8,0.0012431707595330977,-2.3653019187846447e-5,2.792773776976358e-8,0.0012433075282853305,-2.3697965910599013e-5,2.7954078812129726e-8,0.0012434727173970845,-2.3842679769997022e-5,2.8041949740427052e-8,0.001243712463212426,-2.4066405760676784e-5,2.8177927469785303e-8,0.0012440601035040232,-2.432362427984792e-5,2.8333484399655164e-8,0.0012445228361571915,-2.4553159928907133e-5,2.84706844897476e-8,0.001245074558848186,-2.469598742631698e-5,2.8553156726817562e-8,0.0012456608862963842,-2.4715959349908565e-5,2.8558858281151512e-8,0.001246216708050109,-2.4613291013679496e-5,2.8488399775580813e-8,0.001246688489499405,-2.4423038202625592e-5,2.8364074640010765e-8,0.0012470500759516796,-2.4199802086790886e-5,2.8220269933140577e-8,0.0012473056186578205,-2.3997923243581362e-5,2.8091007067191165e-8,0.0012474816718979766,-2.3856832628854112e-5,2.8000725693752732e-8,0.0012476152297567857,-2.3795467178827526e-5,2.796083255759579e-8,0.0012477434727424471,-2.3813936544781482e-5,2.797087896365848e-8,0.0012478974825907967,-2.3898538079999737e-5,2.802185450423327e-8,0.0012480994715242364,-2.4027063105389873e-5,2.8099607177080368e-8,0.0012483620860405254,-2.4173063448967265e-5,2.8187527217003586e-8,0.0012486885425988454,-2.4309038643380227e-5,2.8268487756534477e-8,0.0012490729604937483,-2.4409048929309893e-5,2.832640747738927e-8,0.0012495008229754566,-2.4451320673572244e-5,2.8347832218140762e-8,0.0012499499393055541,-2.442119484453209e-5,2.8323772418069707e-8,0.0012503925365264328,-2.4314275664468087e-5,2.8251695604431464e-8,0.0012507990005257714,-2.4139030867608762e-5,2.8137171704645568e-8,0.001251143262636996,-2.391768914256767e-5,2.7994415164953935e-8,0.0012514090363835088,-2.368426701735876e-5,2.7844976389814205e-8,0.0012515953110546903,-2.3479107716070564e-5,2.771421375274228e-8,0.0012517191350728285,-2.3340474530020665e-5,2.7625933544735366e-8,0.0012518141482856812,-2.3295030625602135e-5,2.7596407518891168e-8,0.00125192444142756,-2.334975383124914e-5,2.7629401271552236e-8,0.0012520946514939732,-2.348776438369355e-5,2.7713746828686006e-8,0.0012523583631477433,-2.3669877510084097e-5,2.7824516476769492e-8,0.0012527277286170939,-2.38425421336231e-5,2.7928118057615044e-8,0.0012531876409788102,-2.3951178423680048e-5,2.7990642199443437e-8,0.0012536974445180235,-2.395580939174183e-5,2.7987543221912417e-8,0.0012542012794675764,-2.3843814405731823e-5,2.7911488512020674e-8,0.0012546444912580575,-2.3634230998913443e-5,2.7774939914552914e-8,0.0012549898708866338,-2.337098949679818e-5,2.760582318235473e-8,0.0012552269467497428,-2.31078977299701e-5,2.7438033142794907e-8,0.0012553712247767674,-2.2892283909759187e-5,2.730112602560997e-8,0.001255455539610628,-2.2753872111695107e-5,2.7213370434487382e-8,0.0012555187275849952,-2.2701515499694785e-5,2.7179817449245153e-8,0.0012555962675502516,-2.2726235663317327e-5,2.719436714414756e-8,0.0012557148843836085,-2.280713457832666e-5,2.724360162183075e-8,0.001255890687072248,-2.2917285638186973e-5,2.7310518757386415e-8,0.001256129398595488,-2.3028282424195017e-5,2.7377340966423323e-8,0.0012564273842037858,-2.3113398094334926e-5,2.742741470506988e-8,0.001256772748129926,-2.3149894992070267e-5,2.7446594516070987e-8,0.0012571463545275083,-2.3121157899020574e-5,2.7424565261140528e-8,0.0012575231640768645,-2.3019131476612913e-5,2.7356401669610725e-8,0.001257874612111306,-2.284700440575688e-5,2.7244296214391676e-8,0.0012581727000068063,-2.2621361371800596e-5,2.7098925268443296e-8,0.0012583959412701018,-2.2372382207858894e-5,2.6939533510837228e-8,0.0012585362273141267,-2.2140433227805133e-5,2.6791698499354605e-8,0.0012586042852673735,-2.196814660205169e-5,2.6682241581275458e-8,0.0012586306549829782,-2.1889126806689826e-5,2.6632055608261722e-8,0.0012586601311620252,-2.1916855981065547e-5,2.664914718129419e-8,0.0012587403517282045,-2.2038399148444123e-5,2.672480002912566e-8,0.0012589081308858302,-2.2216070066749486e-5,2.6834805998698666e-8,0.001259178401966701,-2.2397001174915816e-5,2.6945651229235044e-8,0.0012595395662738137,-2.2527436600423014e-5,2.7023591961309044e-8,0.0012599565073977735,-2.2567114697326255e-5,2.704368259177285e-8,0.0012603800277351954,-2.249955563699239e-5,2.6996141762203254e-8,0.0012607598300570521,-2.2335587057110256e-5,2.6888416016816608e-8,0.0012610573544834757,-2.2109330675960614e-5,2.674249136516303e-8,0.0012612547690560867,-2.186800615213288e-5,2.6588343449294578e-8,0.0012613575758832708,-2.1658922356915117e-5,2.6455686208838244e-8,0.001261390591051946,-2.151793017938794e-5,2.6366737636690552e-8,0.00126138947197204,-2.146269522919313e-5,2.6332111564846554e-8,0.001261391218294045,-2.1491868003257122e-5,2.635046486548411e-8,0.0012614266428808319,-2.15888902989852e-5,2.641103229929555e-8,0.0012615162216082754,-2.1727952954471072e-5,2.6497431575663864e-8,0.0012616690635331466,-2.187983048108349e-5,2.6591299115901463e-8,0.0012618838439774989,-2.2016383972793845e-5,2.6675035116793972e-8,0.0012621505235054361,-2.2113585277586392e-5,2.6733624171416905e-8,0.0012624521180612978,-2.2153524616584108e-5,2.6755867859438524e-8,0.00126276632102878,-2.2126043067001626e-5,2.6735440962205498e-8,0.0012630672801498218,-2.2030481309721585e-5,2.6672051476437688e-8,0.0012633282001385453,-2.1877576094169603e-5,2.6572675677080794e-8,0.0012635254927225803,-2.1690821374928485e-5,2.6452399559931268e-8,0.0012636447200479173,-2.150581193844573e-5,2.6333924961939377e-8,0.0012636873694712005,-2.1365630790647973e-5,2.62445471842398e-8,0.001263675689203714,-2.1311092535360135e-5,2.6209908895091034e-8,0.001263651583389443,-2.1367352542053175e-5,2.624553285893486e-8,0.0012636669236140193,-2.1532112858698217e-5,2.6349454998586358e-8,0.0012637672086514252,-2.1772261625864342e-5,2.6500247615930587e-8,0.0012639754671761418,-2.2032532614826404e-5,2.666264158225693e-8,0.001264284192241647,-2.2253087100624153e-5,2.679874434506354e-8,0.0012646586664950854,-2.238799657886381e-5,2.687976398338216e-8,0.001265048952007261,-2.2417146448438736e-5,2.68935001124463e-8,0.0012654046375396352,-2.2348637976309602e-5,2.6845743928639548e-8,0.001265687166465729,-2.2213199967963506e-5,2.6756558234120423e-8,0.0012658770847539854,-2.205411237295862e-5,2.6653709859809845e-8,0.0012659757694239995,-2.1916095275190147e-5,2.6565519875628988e-8,0.0012660024992930466,-2.1835733466883678e-5,2.6514812194613012e-8,0.0012659883363219941,-2.183504682483079e-5,2.6514975770749016e-8,0.001265968564043513,-2.1918984668542527e-5,2.656857289282304e-8,0.0012659755016867593,-2.2076758125450218e-5,2.666835322071545e-8,0.0012660331867845541,-2.2286013655878877e-5,2.6799978389807436e-8,0.0012661546447266811,-2.2518299270481508e-5,2.6945459630868268e-8,0.0012663416011667139,-2.2744366594706175e-5,2.708642168120064e-8,0.0012665859156780787,-2.2938374403736194e-5,2.720666230998871e-8,0.0012668718340026004,-2.308069895407578e-5,2.729387607334129e-8,0.0012671783608418628,-2.315961813842999e-5,2.7340731279403066e-8,0.0012674815022603028,-2.3172399530941718e-5,2.734561490457562e-8,0.0012677565540440863,-2.3126206424985553e-5,2.7313258391016998e-8,0.0012679809078356128,-2.3038880813856224e-5,2.7255232108115096e-8,0.0012681379667225815,-2.293909764723427e-5,2.718996925380211e-8,0.001268222410981478,-2.2864607647463806e-5,2.714153350665855e-8,0.0012682458991817589,-2.285674137919671e-5,2.7136033101520892e-8,0.0012682404442877298,-2.294997743206441e-5,2.7194986348181077e-8,0.0012682552261359058,-2.3158135615329883e-5,2.732665258099185e-8,0.0012683438357439264,-2.3463184370203866e-5,2.751908579692521e-8,0.0012685445912806244,-2.381508922712379e-5,2.774017528295886e-8,0.0012688635218484556,-2.4146813037913072e-5,2.794723304902699e-8,0.0012692705636366676,-2.439852622614259e-5,2.8102383947438925e-8,0.0012697114811386142,-2.453808374801821e-5,2.818558432617654e-8,0.0012701278926337827,-2.456798692026666e-5,2.8199025785485304E-08,0.0012704747097447653,-2.451874191640579e-5,2.8162796580241977e-8,0.0012707290511519327,-2.4435369716645258e-5,2.8106093111468987e-8,0.00127089082105009,-2.4363968771578763e-5,2.8058468845464867e-8,0.0012709780445711418,-2.4341966719446985e-5,2.804354865594735e-8,0.0012710200656264432,-2.439279816146933e-5,2.8075722588673664e-8,0.001271050641705294,-2.4524258495752033e-5,2.8159296031538897e-8,0.0012711018882705825,-2.4729497552478398e-5,2.8289339641440367e-8,0.0012711994916664129,-2.4989923105568873e-5,2.8453680377103202e-8,0.0012713595362361608,-2.5279401250563086e-5,2.863560229913506e-8,0.0012715871496310693,-2.5568988582094783e-5,2.8816787886148046e-8,0.0012718768697763392,-2.5831442116825033e-5,2.898007870930307e-8,0.0012722144010838205,-2.6044933071783422e-5,2.911175618979125e-8,0.0012725792455093397,-2.619559555621507e-5,2.9203144635270495e-8,0.001272947626786604,-2.627888618297095e-5,2.9251514544716158e-8,0.0012732953571026233,-2.630006763486035e-5,2.9260441855358742e-8,0.0012736006475878774,-2.6274127894061375e-5,2.9239767557704245e-8,0.0012738470763975945,-2.6225193166156763e-5,2.9205161411702542e-8,0.0012740270157430664,-2.6185124088254545e-5,2.9177104177386633e-8,0.0012741455908807501,-2.6190414429344983e-5,2.9178785414269988e-8,0.001274224316427514,-2.62760887589678e-5,2.9232165679184445e-8,0.0012743020615554482,-2.646586880061536e-5,2.935178899471236e-8,0.001274429803943883,-2.6760187731966526e-5,2.9537333686976303e-8,0.0012746566213436674,-2.712756647179489e-5,2.976831346906732e-8,0.0012750096385508432,-2.7507546288788524e-5,3.0006033761210905e-8,0.0012754781610912526,-2.7829406560484464e-5,3.020548189174035e-8,0.001276013858158292,-2.8039650417442057e-5,3.033279425528792e-8,0.0012765492750488386,-2.812244159011328e-5,3.0378310890776146e-8,0.001277023642649741,-2.810137217333263e-5,3.035772861075833e-8,0.0012774012466509133,-2.802473521408781e-5,3.0302589247883327e-8,0.0012776758745853178,-2.7945890596938154e-5,3.024749497268067e-8,0.0012778647758220772,-2.79085430819153e-5,3.022048134829472e-8,0.001277998800793535,-2.793980262467159e-5,3.0238533240266736e-8,0.0012781132813501053,-2.804931557698271e-5,3.0307171318946226e-8,0.0012782413834105137,-2.8231718287190717e-5,3.042226138414893e-8,0.0012784098972853835,-2.8470294804898002e-5,3.0572571320992245e-8,0.0012786367518833218,-2.8740849073584766e-5,3.074235593251752e-8,0.0012789297433653374,-2.9015619036969142e-5,3.091384476109464e-8,0.0012792863683563302,-2.9267159831319898e-5,3.10696300382083e-8,0.0012796947422641365,-2.9471974501639326e-5,3.119488465856777e-8,0.0012801355484260517,-2.9613619515355336e-5,3.127929159311357e-8,0.0012805848824221722,-2.9684936207415627e-5,3.131847898599492e-8,0.001281017638662968,-2.968910490383866e-5,3.131473845451968e-8,0.0012814109964758992,-2.963950002011583e-5,3.1276957457645865e-8,0.0012817477332364437,-2.9558493616968298e-5,3.1219814796159154e-8,0.0012820192456920046,-2.9475284638605605e-5,3.116227933862801e-8,0.001282228197848576,-2.9422701983244574e-5,3.1125420021043346e-8,0.001282390606699797,-2.943268070189973e-5,3.112941115271035e-8,0.0012825366317504978,-2.9529907636028162e-5,3.118948519163852e-8,0.0012827084194776662,-2.9723676059624966e-5,3.131088059813362e-8,0.0012829528288665348,-2.9999700516418604e-5,3.1483844908667825e-8,0.0012833079130263225,-3.0316201547194518e-5,3.168132285335997e-8,0.0012837859765342673,-3.061020073146328e-5,3.1863018658290956e-8,0.0012843618450062628,-3.081684226297564e-5,3.198765635324121e-8,0.0012849765874220782,-3.089521995994752e-5,3.20294184946202e-8,0.0012855586318208988,-3.084588285428632e-5,3.1989175468429604e-8,0.0012860510837547415,-3.0708540178211655e-5,3.189304549666774e-8,0.001286429391721135,-3.054259065273131e-5,3.1779790208841204e-8,0.0012867022080911398,-3.0404062537684042e-5,3.1685762437681995e-8,0.001286900377279203,-3.0330777585708804e-5,3.163518182633183e-8,0.001287063300987379,-3.0338387143386424e-5,3.163759774986754e-8,0.001287228565364857,-3.042354922701865e-5,3.1690131287687944e-8,0.0012874261434639106,-3.056970632894269e-5,3.1781451277475414e-8,0.0012876761011276928,-3.075264889043229e-5,3.189554315979008e-8,0.001287988197340863,-3.094489886686548e-5,3.201458498978887e-8,0.0012883622633117567,-3.111913753711612e-5,3.2121090216733314e-8,0.0012887890246263095,-3.125116421789353e-5,3.219969606469643e-8,0.0012892514436496775,-3.1322610080414284e-5,3.223881626240157e-8,0.0012897267572810904,-3.132337450102907e-5,3.223217751474067e-8,0.0012901893827250341,-3.125348366035541e-5,3.2180042784654345e-8,0.0012906146194111945,-3.1123848609875844e-5,3.208974051574626e-8,0.0012909826969805158,-3.0955505293186115e-5,3.197517438868874e-8,0.0012912825565626971,-3.0777215881050795e-5,3.185520292845642e-8,0.0012915147687625943,-3.0621540642874033e-5,3.175097395022615e-8,0.001291693035842951,-3.0519716537336427E-05,3.168249183610786e-8,0.0012918438362249742,-3.0495841413462402e-5,3.1664819795655e-8,0.0012920037928547566,-3.056087693364674e-5,3.1704304670211076e-8,0.0012922141715474165,-3.0707282053063105e-5,3.17953364867465e-8,0.001292512034520009,-3.090599709338316e-5,3.1918661500173786e-8,0.0012929187002381516,-3.110850773894603e-5,3.2042880122178096e-8,0.0012934285950733568,-3.1256693423193994e-5,3.213078673276235e-8,0.0012940044453168913,-3.1300498297250774e-5,3.215061328521406e-8,0.001294584877820033,-3.12176444133966e-5,3.20885883560331e-8,0.001295104589766634,-3.102462475607171e-5,3.195596529494129e-8,0.0012955179603695564,-3.077085167751126e-5,3.178521309227125e-8,0.0012958131840410975,-3.0518540566581096e-5,3.1616916955709714e-8,0.0012960105999187787,-3.032026641965267e-5,3.148511085415194e-8,0.0012961495978159076,-3.0205433323736027e-5,3.140845109678617e-8,0.0012962734470908504,-3.0178565979806494e-5,3.1389212768773746e-8,0.0012964186126221632,-3.022527856628844e-5,3.141738252834504e-8,0.0012966099467786687,-3.032037295760454e-5,3.1476126820308665e-8,0.0012968600751613467,-3.043465498738407e-5,3.154631955101938e-8,0.0012971707339509185,-3.0539529403013107e-5,3.160949484610287e-8,0.0012975345391934867,-3.0609886172662965e-5,3.164960498486348e-8,0.0012979366525891216,-3.062613758462698e-5,3.1654217987039235e-8,0.0012983564533401342,-3.057599296156603e-5,3.1615600298714555e-8,0.0012987695840761062,-3.0456167864014533e-5,3.1531828857941956e-8,0.0012991507884455799,-3.027379091331488e-5,3.140775068646107e-8,0.0012994777236449333,-3.004683999448522e-5,3.125530194558217e-8,0.0012997353921117309,-2.9802813505353085e-5,3.1092622133109445e-8,0.0012999202861004046,-2.9575139003558806e-5,3.09416264273142e-8,0.0013000430270444395,-2.93974130243819e-5,3.0824133092212875e-8,0.001300128331498118,-2.9296350396882437e-5,3.075718715872455e-8,0.0013002116679433546,-2.928500804947685e-5,3.074866956412388e-8,0.0013003328193243616,-2.935801434543197e-5,3.0794343521651624e-8,0.001300527308605543,-2.9490231267340253e-5,3.0877225135393917e-8,0.0013008171756119307,-2.9639869058835446e-5,3.0969838317194383e-8,0.0013012031591031939,-2.9756515314625574e-5,3.10395465251122e-8,0.0013016609455879465,-2.9793446563434323e-5,3.105650235031395e-8,0.0013021442562541905,-2.972172931898944e-5,3.100263591424007e-8,0.0013025961177511457,-2.9541337275106654e-5,3.087867894617946e-8,0.0013029660006317406,-2.9283509335878423e-5,3.0705543544897195e-8,0.0013032261586196996,-2.9001308736517474e-5,3.051808034793436e-8,0.0013033793833759004,-2.875164122635431e-5,3.035331118242153e-8,0.0013034547749617115,-2.8577237008618275e-5,3.023868954419752e-8,0.0013034950005774671,-2.8496554952853205e-5,3.018561791167246e-8,0.0013035422626375217,-2.8503927091162528e-5,3.018972942257647e-8,0.0013036286487182313,-2.8576659673191224e-5,3.023572044825167e-8,0.0013037723920898197,-2.8683998777921855e-5,3.0303320007544866e-8,0.0013039784710675347,-2.8794434907111588e-5,3.037204952208462e-8,0.0013042411712836108,-2.8880283437659195e-5,3.042410362765577e-8,0.0013045469059940415,-2.8920083977942182e-5,3.044577741719525e-8,0.0013048765892900785,-2.8899827777303695e-5,3.042817208710491e-8,0.0013052076096280716,-2.8813836177220682e-5,3.0367751697282956e-8,0.0013055158699504063,-2.8665686201342626e-5,3.026699500311816e-8,0.0013057784723598796,-2.8469027833693583e-5,3.0134989400730604e-8,0.0013059774012722158,-2.824758312302742e-5,2.998744624708401e-8,0.0013061039917527009,-2.803329661145913e-5,2.984543622349855e-8,0.0013061631500154798,-2.786174715368294e-5,2.973227959525612e-8,0.0013061755169066931,-2.7764752904717206e-5,2.966860348764004e-8,0.0013061756394885842,-2.7761595595907e-5,2.9666567318660748e-8,0.0013062052931786697,-2.785175086959786e-5,2.972518749832201e-8,0.001306303142538855,-2.801230059159129e-5,2.9828826603746476e-8,0.0013064938194895942,-2.820182285028999e-5,2.9949955265754234e-8,0.001306780086361943,-2.8370168467178228e-5,3.005571106771042e-8,0.0013071407644421912,-2.8471378373462444e-5,3.0116392578181026e-8,0.0013075352201250116,-2.8475996159682643e-5,3.011342304590286e-8,0.001307913334487316,-2.8379292346448963e-5,3.0044539506056616e-8,0.0013082284553436203,-2.820295608258615e-5,2.992467194139616e-8,0.001308449795111905,-2.798934380814309e-5,2.9781980996995586e-8,0.0013085703641908598,-2.7789555942438875e-5,2.9649940584985727e-8,0.0013086075992558702,-2.7649081856834136e-5,2.9557946510256037e-8,0.0013085965713823258,-2.7596068441511594e-5,2.9523765739778143e-8,0.001308578775603071,-2.763613069992761e-5,2.9550353019012925e-8,0.0013085910545795772,-2.7754483402330733e-5,2.9627464816654964e-8,0.0013086582864577261,-2.7923038311927625e-5,2.973644409629548e-8,0.00130879097813508,-2.810881146934206e-5,2.985573633256056e-8,0.0013089866559391336,-2.8280794299983097e-5,2.9965288371083946e-8,0.0013092330853364449,-2.841421177594859e-5,3.004918959647898e-8,0.0013095117218239086,-2.849249915857971e-5,3.00968495932514e-8,0.0013098006051115334,-2.8507901829533638e-5,3.010335322333937e-8,0.0013100766331532816,-2.8461574612671678e-5,3.006956699423517e-8,0.00131031764281404,-2.8363692896845595e-5,3.0002285569679514e-8,0.0013105049028917662,-2.823351948220192e-5,2.991431821194102e-8,0.0013106264457913824,-2.809877946612421e-5,2.9824048280105456e-8,0.001310681133427025,-2.7993271777071674e-5,2.9753766780009736e-8,0.0013106824426351005,-2.795161269268233e-5,2.972610709291234e-8,0.0013106598420135267,-2.8000824017845768e-5,2.975846481850516e-8,0.001310655166280242,-2.8150479328616627e-5,2.9856575254154354e-8,0.0013107127876955784,-2.8385509043680695e-5,3.000993471753322e-8,0.0013108657814568222,-2.866643869990418e-5,3.0192141079751784e-8,0.0013111236756196114,-2.8939129152693387e-5,3.036744088323199e-8,0.0013114677764056418,-2.915104009753794e-5,3.0501486920959236e-8,0.001311856492484787,-2.9267251923133067e-5,3.0571854184595145e-8,0.001312238049311916,-2.9279859822208612e-5,3.057411525864111e-8,0.0013125651169096678,-2.9208198159179714e-5,3.0521802359526976e-8,0.0013128064021552001,-2.909142250826646e-5,3.044129361786551e-8,0.0013129525886068233,-2.897698933927629e-5,3.0364030849243177e-8,0.001313016206816826,-2.890865807546817e-5,3.031854722956662e-8,0.001313026461668143,-2.8916887043806896e-5,3.0324238748257375e-8,0.0013130209243820167,-2.901349026915853e-5,3.0388075426164644e-8,0.0013130364508609068,-2.91912467162573e-5,3.050460897562148e-8,0.0013131016267059507,-2.9427863667728573e-5,3.0658773423636455e-8,0.00131323234339437,-2.9692576163541312e-5,3.0830280966021656e-8,0.0013134309224520154,-2.9953194080713292e-5,3.099817761610996e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_14.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_14.json
deleted file mode 100644
index d4e8a6f..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_14.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":14000,"numberOfSamples":1000,"samples":[0.0013136880538731968,-3.0181825300251084e-5,3.1144455018197914e-8,0.0013139862307697747,-3.0358458604268804e-5,3.125626468859012e-8,0.0013143034381558063,-3.0472498704118995e-5,3.1326857923882795e-8,0.001314616342296335,-3.0522889122674205e-5,3.135568412117831e-8,0.0013149028238326915,-3.051757614543907e-5,3.134810730752583e-8,0.0013151441476950397,-3.0472812693602606e-5,3.1315005489895234e-8,0.001315327245423572,-3.041233669157899e-5,3.127221966442859e-8,0.0013154474985632677,-3.0365940022199845e-5,3.1239522569258994e-8,0.0013155119761371786,-3.0366482616605727e-5,3.123852579233063e-8,0.0013155421786821661,-3.044428590458291e-5,3.1288903751562086e-8,0.0013155741637083083,-3.061859253490029e-5,3.140279579367739e-8,0.0013156532826805987,-3.08878545724263e-5,3.15785553459714e-8,0.0013158221093964287,-3.122350814634265e-5,3.179684474210843e-8,0.0013161043666861684,-3.1573152017452694e-5,3.202287220092828e-8,0.001316492562279381,-3.187552478285449e-5,3.221630534507893e-8,0.0013169475071545026,-3.2081986318948946e-5,3.234541530079332e-8,0.0013174114482328236,-3.217362581767834e-5,3.2398333198900105e-8,0.0013178279759007432,-3.216549962188907e-5,3.238578137269618e-8,0.0013181587209702065,-3.209786877058771e-5,3.233512178519737e-8,0.0013183908584672483,-3.202101456924127e-5,3.2280078366949867e-8,0.0013185355723118594,-3.198087692229784e-5,3.22510415181099e-8,0.0013186210256550192,-3.200948903377424e-5,3.226871171627078e-8,0.001318683516304464,-3.212087078817048e-5,3.2341550899422565e-8,0.0013187592325329092,-3.2311333689063695e-5,3.246626921888799e-8,0.0013188777975085585,-3.256278527721231e-5,3.263027897225073e-8,0.0013190580943835157,-3.28478210560236e-5,3.281520552707126e-8,0.001319306537685271,-3.3135522599053245e-5,3.30007052286256e-8,0.0013196176305973269,-3.339691167788335e-5,3.3167938459672674e-8,0.0013199762931723731,-3.360923943949643e-5,3.330224076991175e-8,0.001320361240591444,-3.3758679883073964e-5,3.339478932604852e-8,0.0013207486407314094,-3.3841371491741154e-5,3.3443266039948134e-8,0.0013211154170834028,-3.3863122696377714e-5,3.345170814905867e-8,0.0013214419486963593,-3.3838325595684376e-5,3.342984862739796e-8,0.0013217143059939618,-3.3788485178276064e-5,3.3392152957732015e-8,0.0013219262892678202,-3.374042925569602e-5,3.3356565064026065e-8,0.0013220814837101608,-3.37239298755937e-5,3.334280561542386e-8,0.0013221952658236343,-3.3768093745891034e-5,3.336987271475884e-8,0.0013222959339579021,-3.389572813238187e-5,3.345230413051685e-8,0.0013224231012386285,-3.411559264521433e-5,3.359518483099222e-8,0.001322620987373266,-3.44143314836092e-5,3.378904291433436e-8,0.0013229254974994617,-3.47525377055976e-5,3.4007455453146385e-8,0.0013233481259613213,-3.507078420316715e-5,3.421110391244622e-8,0.0013238651644779758,-3.5307915680853196e-5,3.435980179531848e-8,0.0013244214578083684,-3.5424988893193025e-5,3.4428250117923195e-8,0.0013249498096669955,-3.5421322382391885e-5,3.441665080515855e-8,0.0013253957656545127,-3.533284530570563e-5,3.4349593606930406e-8,0.0013257341054285624,-3.521518782185486e-5,3.4264687362774436e-8,0.0013259708733802966,-3.5122901891955616e-5,3.4198504380576074e-8,0.0013261345823387194,-3.509485421874728e-5,3.4176685340857736e-8,0.0013262639590043055,-3.514877227589115e-5,3.421034115508173e-8,0.0013263974759466818,-3.5282692478288204e-5,3.42972534612874e-8,0.0013265664975942637,-3.547980948220061e-5,3.4425417060696266e-8,0.00132679174008558,-3.5714173837029465e-5,3.457707337361339e-8,0.0013270820868991236,-3.595606011854193e-5,3.473236215303623e-8,0.0013274350277215283,-3.617667618018595e-5,3.487237396855363e-8,0.0013278383205704806,-3.6352045676457e-5,3.4981566469251094e-8,0.0013282725585155749,-3.6465885830951754e-5,3.504952018493835e-8,0.0013287143399232126,-3.651136884131447e-5,3.507202780552796e-8,0.001329139723468503,-3.649166207236073e-5,3.5051459488144146e-8,0.0013295275370495275,-3.6419245769639135e-5,3.499636143139478e-8,0.0013298621741601225,-3.631427873602864e-5,3.492040029054349e-8,0.0013301357987788196,-3.620233676919433e-5,3.484081953074903e-8,0.0013303500182077856,-3.6111625895291846e-5,3.4776475543805855e-8,0.0013305170072328,-3.606960581815073e-5,3.4745462642883064e-8,0.0013306599051258836,-3.609882203418703e-5,3.4762278550856455e-8,0.0013308118536023116,-3.621166286686944e-5,3.483441417239421e-8,0.0013310123518564367,-3.64043217054422e-5,3.495855682409469e-8,0.0013312994223816388,-3.6651762152887505e-5,3.511751481890027e-8,0.0013316973518746693,-3.6907391838432765e-5,3.528018149292224e-8,0.0013322032136629622,-3.711186898684884e-5,3.540737536800615e-8,0.0013327798493111566,-3.721219549322923e-5,3.546437127639159e-8,0.0013333634934342639,-3.718420813249119e-5,3.543571757580381e-8,0.001333886255019829,-3.70450465515009e-5,3.53335093009964e-8,0.0013343019613464686,-3.6846215847581066e-5,3.5192757078025216e-8,0.001334600413137058,-3.6651362298198277e-5,3.505642654975122e-8,0.0013348042208097524,-3.6512872822752915e-5,3.495958564720737e-8,0.0013349544109773996,-3.6458841744971036e-5,3.49205708479965e-8,0.0013350949386154267,-3.649215529746224e-5,3.49404840851344e-8,0.0013352621732775469,-3.659679818886342e-5,3.500770195061645e-8,0.001335480179315456,-3.6746003522191745e-5,3.510363508802379e-8,0.0013357600358690303,-3.6909212409168185e-5,3.520756323936493e-8,0.0013361011544938224,-3.705705068984642e-5,3.52999605336332e-8,0.00133649332519081,-3.7164741980348925e-5,3.536463540591373e-8,0.0013369190829818159,-3.7214510810799346e-5,3.539015342857483e-8,0.0013373563443612583,-3.719721204638616e-5,3.537079341232845e-8,0.0013377813051418917,-3.711323131523201e-5,3.530711046883947e-8,0.0013381715937814552,-3.697254005026054e-5,3.520601101140213e-8,0.0013385094912165925,-3.6793660324817705e-5,3.5080116340020854e-8,0.0013387847813319696,-3.660147627572446e-5,3.494630461274569e-8,0.0013389968351418553,-3.642410292771776e-5,3.482354178926302e-8,0.0013391557003256266,-3.628905404552198e-5,3.473019081800264e-8,0.0013392819820180002,-3.621893946658274e-5,3.468102678374732e-8,0.0013394052631200586,-3.622700347066692e-5,3.468425016446891e-8,0.0013395607383982387,-3.631286700900988e-5,3.473878515860904e-8,0.0013397835600754613,-3.645915330073845e-5,3.483228424044899e-8,0.0013401005623555385,-3.663056453013473e-5,3.494077405219707e-8,0.0013405202232471124,-3.6777887727110934e-5,3.5031461893425745e-8,0.0013410241084409612,-3.684910446392256e-5,3.5070089714356354e-8,0.0013415655317836142,-3.68068037108336e-5,3.503236888286036e-8,0.0013420805713068025,-3.664539114072159e-5,3.491530557749418e-8,0.0013425100358751974,-3.6397470548011556e-5,3.47413920987351e-8,0.00134282186684753,-3.6122771266874264e-5,3.455114282299104e-8,0.0013430210440999052,-3.5884585735838275e-5,3.438718523558038e-8,0.0013431424937006674,-3.5727401868071906e-5,3.427912167202074e-8,0.00134323392387406,-3.5666709476200635e-5,3.423668442759081e-8,0.0013433393957544833,-3.569188452387105e-5,3.425186840423222e-8,0.0013434898472930886,-3.577592172660759e-5,3.430576805004325e-8,0.0013437006458960645,-3.588557734935549e-5,3.4375631883152696e-8,0.0013439733632099559,-3.598872432152733e-5,3.443987682266083e-8,0.0013442990272794215,-3.6058572131738544e-5,3.448082578605249e-8,0.0013446613049089872,-3.6075754726357985e-5,3.44859220020242e-8,0.001345039248616876,-3.6029368037547205e-5,3.444825503332818e-8,0.0013454098213895693,-3.591751673460431e-5,3.436684759254604e-8,0.0013457504724702282,-3.57474829484819e-5,3.424678910825797e-8,0.0013460419605556845,-3.5535332633184876e-5,3.409904369034362e-8,0.0013462713941414768,-3.530453678562293e-5,3.3939575913952353e-8,0.0013464350440412546,-3.5083247688415916e-5,3.3787496601098456e-8,0.001346540218956281,-3.490026072080504e-5,3.366224387151234e-8,0.0013466055506973335,-3.478008498355249e-5,3.358013732940204e-8,0.001346659241019408,-3.4737853074248655e-5,3.355088149022233e-8,0.0013467351263881956,-3.477505002897689e-5,3.3574748237485566e-8,0.0013468668157807983,-3.487707274585662e-5,3.36411293630354e-8,0.0013470805087412794,-3.501350818296307e-5,3.3728992049500143e-8,0.0013473874871725111,-3.5141989537112516e-5,3.3809694862078156e-8,0.0013477779846166242,-3.5216299066590065e-5,3.385250575241212e-8,0.0013482190793279586,-3.5198369687471605e-5,3.3832555330064887e-8,0.001348659613978359,-3.507162618165665e-5,3.3739577083562544e-8,0.001349043468490627,-3.485031268644354e-5,3.358395470384573e-8,0.001349327999366581,-3.4578485620740276e-5,3.3395893343763146e-8,0.0013494994616960665,-3.431622032059404e-5,3.321604676365601e-8,0.001349576900362316,-3.411840812110945e-5,3.3081186820720924e-8,0.0013496024923671088,-3.4016892922365775e-5,3.3012189592066463e-8,0.0013496246279193777,-3.401415154718749e-5,3.300992090644571e-8,0.0013496829179363164,-3.408870967312186e-5,3.305913434321514e-8,0.0013498005419856707,-3.420638364611618e-5,3.313629142245499e-8,0.001349983766265312,-3.433103577998142e-5,3.3216931742549514e-8,0.001350225503188383,-3.443167213616684e-5,3.328041116125517e-8,0.001350509870791549,-3.44857855079198e-5,3.3311987997451824e-8,0.001350816111848709,-3.44802776149318e-5,3.330325655153641e-8,0.0013511215354534733,-3.44113203272646e-5,3.325193674476666e-8,0.0013514038266242718,-3.428394324938091e-5,3.3161588903372553e-8,0.0013516432294084326,-3.41115562702498e-5,3.3041366067246576e-8,0.0013518249947347244,-3.391515061958602e-5,3.29055587983786e-8,0.0013519421489563276,-3.372159161237384e-5,3.277246672853169e-8,0.0013519981162253448,-3.35604192219653e-5,3.2662172488743894e-8,0.0013520082488663807,-3.345899609113347e-5,3.259313778399188e-8,0.0013519991491952143,-3.343655294053388e-5,3.257806735071459e-8,0.0013520049886915973,-3.349849264305731e-5,3.262004101630264e-8,0.0013520609158930905,-3.36328575909331e-5,3.2710241377374956e-8,0.0013521948074782938,-3.3810651240403614e-5,3.2828394204526694e-8,0.0013524194680195325,-3.399070247049815e-5,3.2946301667474426e-8,0.0013527275548078518,-3.412846985252045e-5,3.3033954284171145e-8,0.0013530910516223313,-3.41870260521444e-5,3.306696170857802e-8,0.0013534662186818406,-3.414758958099839e-5,3.303351712767489e-8,0.0013538036921596796,-3.401650121264336e-5,3.293885919569297e-8,0.0013540617630267778,-3.3825695437600704e-5,3.280532715743045e-8,0.0013542189655621978,-3.3625013396523797e-5,3.2666968653528377e-8,0.0013542809896239987,-3.3467679762926974e-5,3.255963827369867e-8,0.0013542783419837156,-3.3394020433318414e-5,3.251003853738814e-8,0.0013542554119995557,-3.342020697923614e-5,3.252828382153754e-8,0.0013542560140103023,-3.3536391035527796e-5,3.2606892142050424e-8,0.0013543116989025482,-3.371353007933651e-5,3.2725642792952345e-8,0.0013544365308802784,-3.391431273365121e-5,3.285910327271554e-8,0.0013546280975285543,-3.410316353858851e-5,3.2983383466057345e-8,0.0013548720539619643,-3.4252552907384106e-5,3.308026489902493e-8,0.001355147353668992,-3.43454908576762e-5,3.313870075252464e-8,0.0013554305468037433,-3.437553330264171e-5,3.315467676927687e-8,0.0013556988011802253,-3.434572357619407e-5,3.313045281129339e-8,0.0013559320038673691,-3.426735815892247e-5,3.30737806614842e-8,0.0013561145343338845,-3.415887769336406e-5,3.299724375590522e-8,0.0013562372346350193,-3.40446430953795e-5,3.291748056072256e-8,0.001356299729968249,-3.395293821719811e-5,3.285379960496967e-8,0.0013563126464800305,-3.39124616274109e-5,3.2825694374099335e-8,0.0013562986345168043,-3.394695718115785e-5,3.284908231937111e-8,0.0013562906901488832,-3.406854808973949e-5,3.2931730931658255e-8,0.0013563265580224901,-3.4271700357362895e-5,3.3069227097465745e-8,0.0013564394803830895,-3.453081024388408e-5,3.3243512234392763e-8,0.001356647830444362,-3.480395690125668e-5,3.342564568063368e-8,0.0013569477158602284,-3.504296952579012e-5,3.358281757335669e-8,0.0013573120584085639,-3.52068525793514e-5,3.368754392194241e-8,0.001357697050412798,-3.5273779767518736e-5,3.3725762172275216e-8,0.0013580538346326509,-3.524742322405932e-5,3.3700952947215904e-8,0.0013583414729187431,-3.515577457801083e-5,3.3633068996217375e-8,0.0013585373183607017,-3.504326814963739e-5,3.3552899090837633e-8,0.0013586421139425234,-3.4958781479045985e-5,3.3493719387707e-8,0.001358678685937704,-3.494290707046618e-5,3.3482624669021657e-8,0.001358684778336174,-3.501803608967189e-5,3.353396129882613e-8,0.001358702322909947,-3.518405715028354e-5,3.36466993389363e-8,0.0013587666406036992,-3.542061521536396e-5,3.380626499920978e-8,0.0013588989123856205,-3.5694495803273485e-5,3.398974496696862e-8,0.001359103663247866,-3.5969025766868755e-5,3.417229612867719e-8,0.0013593708567535968,-3.621226756590788e-5,3.4332592451649465e-8,0.0013596806793210175,-3.640207539916034e-5,3.4456072169122394e-8,0.0013600088338772479,-3.6527817297702786e-5,3.4535941490019846e-8,0.0013603309085686056,-3.6589745925869715e-5,3.4572666368770736e-8,0.0013606253906847028,-3.659727205627579e-5,3.4572817000381455e-8,0.0013608755966453268,-3.656705235731982e-5,3.45478428901892e-8,0.0013610710755603856,-3.652125748003627e-5,3.4512957394544435e-8,0.0013612090115036409,-3.648585481662091e-5,3.448596151433922e-8,0.0013612958461505,-3.648833256815448e-5,3.448560847301663e-8,0.0013613487825353768,-3.655412453139295e-5,3.452905427534737e-8,0.0013613960977975756,-3.6701245140876124e-5,3.4628141465119906e-8,0.0013614745650237811,-3.693358561190437e-5,3.4784884782548805e-8,0.0013616224205170902,-3.7235042204870165e-5,3.4987633233731027e-8,0.001361868091522445,-3.756832421090297e-5,3.521045772248526e-8,0.001362218255945228,-3.788197415238886e-5,3.541808383563176e-8,0.0013626514699812326,-3.812539193249165e-5,3.557619486093644e-8,0.001363122322234058,-3.8266165560665596e-5,3.566324383611881e-8,0.0013635754647547845,-3.830134386399334e-5,3.5678079037798024e-8,0.0013639630780626708,-3.825738313571894e-5,3.563975015298319e-8,0.001364258080357862,-3.817994201829989e-5,3.5580274568062977e-8,0.0013644589434662312,-3.811922202797349e-5,3.5534332460088205e-8,0.0013645865742663128,-3.81166924124298e-5,3.5530027944857735e-8,0.0013646762446455044,-3.819653354824757e-5,3.558310331044814e-8,0.001364767819829093,-3.8362605590993256e-5,3.569514079478911e-8,0.0013648967631197295,-3.8600238344742254e-5,3.585514627803409e-8,0.0013650874946786213,-3.888148752071901e-5,3.60434300221522e-8,0.0013653499642588421,-3.917227000116867e-5,3.62365942886353e-8,0.00136567964200512,-3.943967176457917e-5,3.6412451385441956e-8,0.0013660603709506384,-3.965784039600382e-5,3.65538578644758e-8,0.0013664688889499187,-3.981147629204727e-5,3.665089579529965e-8,0.0013668796761675812,-3.989679821734419e-5,3.6701401260529234e-8,0.0013672690955396569,-3.992052333462929e-5,3.6710241547116054e-8,0.0013676183253096337,-3.9897716306200194e-5,3.668789735721834e-8,0.0013679151464472477,-3.984932666566189e-5,3.664884493646582e-8,0.0013681550099158162,-3.979985343784534e-5,3.660997364210455e-8,0.0013683418187992174,-3.977508572660584e-5,3.658897704031485e-8,0.0013684886345164064,-3.9799531863791056e-5,3.6602481816290366e-8,0.0013686181140462686,-3.989297417404592e-5,3.6663608773571173e-8,0.0013687618136698219,-4.006569078124706e-5,3.677873040014451e-8,0.0013689567976789784,-4.031268759372785e-5,3.6943686509812775e-8,0.0013692379960220952,-4.0608958982055686e-5,3.714077674900414e-8,0.0013696263976024602,-4.0909688045915914e-5,3.733908018595111e-8,0.001370116858706226,-4.115943735403728e-5,3.7500783826076915e-8,0.0013706730192843547,-4.131030892561659e-5,3.759353716751259e-8,0.0013712357655380756,-4.1341651354543865e-5,3.760387092264407e-8,0.001371743681640421,-4.1269733274189294e-5,3.754378869036469e-8,0.0013721549303818486,-4.114093707006044e-5,3.744600118910848e-8,0.0013724590038156602,-4.1013018078885606e-5,3.7350822712677154e-8,0.0013726746583584263,-4.0935524588789915e-5,3.7292433498253575e-8,0.0013728388253621247,-4.093780361015353e-5,3.7290504667023286e-8,0.0013729936653109317,-4.102619609853645e-5,3.7348411588796894e-8,0.001373176359782013,-4.118762655376452e-5,3.745605098886693e-8,0.0013734130133102524,-4.139607981819826e-5,3.759467361926248e-8,0.0013737161837680623,-4.161950138762874e-5,3.7741869452387925e-8,0.0013740850229568907,-4.182594710895547e-5,3.787581954548767e-8,0.0013745072421834012,-4.198858396882682e-5,3.797857502949695e-8,0.0013749623837124778,-4.208926335925624e-5,3.803827857381001e-8,0.0013754258276343432,-4.2120407717748035e-5,3.8050265155743136e-8,0.001375872892622539,-4.2085198307853355e-5,3.801710263943968e-8,0.001376282469925798,-4.199628974034897e-5,3.7947728565110885e-8,0.0013766397572874227,-4.187345120748918e-5,3.7855899666402347e-8,0.0013769379150291574,-4.1740698791756187e-5,3.775826686919178e-8,0.0013771788132807986,-4.162339046388268e-5,3.76723488673647e-8,0.0013773731537905993,-4.154540420571933e-5,3.7614493141915814e-8,0.0013775401104706387,-4.1526264618012495e-5,3.759779228022895e-8,0.0013777064032593797,-4.157796597586423e-5,3.762987031680914e-8,0.001377904267471179,-4.170125910920436e-5,3.771044184184231e-8,0.0013781672206391812,-4.188175848661827e-5,3.78288749397831e-8,0.00137852256618738,-4.2087548328483725e-5,3.7962807628071696e-8,0.0013789809169083302,-4.2271422389212076e-5,3.807982991820045e-8,0.0013795260580142504,-4.238109909941585e-5,3.8144447194615674e-8,0.0013801120459359865,-4.237742637005507e-5,3.813041208095439e-8,0.0013806741263976,-4.225334424947585e-5,3.8033625865393774e-8,0.0013811520519300435,-4.2041187655938626e-5,3.787713159675286e-8,0.0013815136370865081,-4.180098864064637e-5,3.7703002181980215e-8,0.0013817644462791729,-4.159593522969593e-5,3.755522195444356e-8,0.0013819398040921613,-4.146995772891535e-5,3.7463973571636786e-8,0.0013820873195676013,-4.143814444971667e-5,3.74389528223684e-8,0.0013822508297504756,-4.1489856674521627e-5,3.747173694159376e-8,0.0013824612018183504,-4.159808318168086e-5,3.7542636676095634e-8,0.001382733677333939,-4.172918004101423e-5,3.76277743218216e-8,0.0013830692173663335,-4.185025959459586e-5,3.7704340994960595e-8,0.0013834575067367659,-4.193387127219509e-5,3.7753754368892116e-8,0.00138388030970731,-4.196070426809343e-5,3.776329962305264e-8,0.0013843148322871465,-4.1921028124019695e-5,3.7726878625517075e-8,0.0013847370777409624,-4.181512286564115e-5,3.7645150528966244e-8,0.0013851250900450299,-4.165273271465304e-5,3.752512539985943e-8,0.0013854619058602147,-4.145156074913463e-5,3.737919056711855e-8,0.0013857379458243554,-4.123483834305219e-5,3.722351350041851e-8,0.0013859525067954938,-4.1028195536964666e-5,3.707590164867331e-8,0.001386114186987945,-4.08562465832129e-5,3.6953376917189425e-8,0.0013862402914967716,-4.0739217947163935e-5,3.6869727504020365e-8,0.0013863552819137583,-4.068981038566365e-5,3.683325080139284e-8,0.0013864882812566375,-4.071045407698197e-5,3.684488191793497e-8,0.0013866695093654466,-4.0791084850707254e-5,3.689683217641563e-8,0.0013869252570760705,-4.0907845082072896e-5,3.6971967000828836e-8,0.0013872711358115565,-4.102392437415202e-5,3.7044638632372434e-8,0.0013877044103900269,-4.10944872644231e-5,3.708418444800822e-8,0.0013881982022425643,-4.107730918647336e-5,3.70621554354846e-8,0.0013887024507251455,-4.094823201885367e-5,3.696274535980045e-8,0.0013891560996636264,-4.071545369969397e-5,3.6792453536201996e-8,0.0013895088976246747,-4.042264374578624e-5,3.658214577314118e-8,0.0013897421255975183,-4.013475017712353e-5,3.637717862062872e-8,0.0013898751358086116,-3.99123909946508e-5,3.621955119697095e-8,0.0013899539157585976,-3.97898760399196e-5,3.613256495667892e-8,0.0013900305358917047,-3.976825529054825e-5,3.611605869920365e-8,0.0013901459897183817,-3.982280938552323e-5,3.615187595826213e-8,0.001390322583927315,-3.9916483926864295e-5,3.621354110721034e-8,0.0013905644815372748,-4.00116379826972e-5,3.627465691377648e-8,0.001390862196549241,-4.007719389834769e-5,3.6313891042696686e-8,0.0013911977272878053,-4.009168854677753e-5,3.631692015857626e-8,0.001391548803289706,-4.004388985804637e-5,3.627660019245447e-8,0.0013918921108757572,-3.9932383942914886e-5,3.619246897144912e-8,0.001392205925877442,-3.976474847087717e-5,3.607009012040189e-8,0.001392472481833256,-3.9556371616133894e-5,3.592027726302581e-8,0.0013926801795685095,-3.932876436594814e-5,3.5758025153182566e-8,0.0013928255206943443,-3.910712261197275e-5,3.5600891948591315e-8,0.0013929143574365078,-3.891704325009154e-5,3.546670424830646e-8,0.0013929619662561058,-3.878067864465175e-5,3.5370785800753655e-8,0.0013929916634681091,-3.8712865216251155e-5,3.5323145245009847e-8,0.0013930319212074739,-3.871783709874851e-5,3.532613964822986e-8,0.0013931121650108214,-3.878718027241075e-5,3.537313617747967e-8,0.0013932576761824852,-3.889956926863257e-5,3.544855030305457e-8,0.0013934841205019005,-3.902264562679513e-5,3.5529430896809445e-8,0.0013937923389470475,-3.911747336501126e-5,3.558876680690813e-8,0.0013941645951322254,-3.9146037401005566e-5,3.560072677257016e-8,0.0013945643433518572,-3.908149684330105e-5,3.554760976148454e-8,0.0013949419740809537,-3.8919080012482775e-5,3.54271205202408e-8,0.0013952477277678645,-3.868301987054237e-5,3.525691407233159e-8,0.001395448996586115,-3.842366805801884e-5,3.507242835859129e-8,0.0013955441184541493,-3.8202198743737096e-5,3.491619511363628e-8,0.001395563841894682,-3.806835542580855e-5,3.482237329132881e-8,0.0013955584098649994,-3.804297850225461e-5,3.4804676331452736e-8,0.0013955778157443777,-3.8114400232592614e-5,3.4854056156277526e-8,0.0013956561830292,-3.8248114880291454e-5,3.4945709067619815e-8,0.0013958061096767589,-3.840169374270801e-5,3.504970300817749e-8,0.001396021525706078,-3.853707477095065e-5,3.513962678304474e-8,0.0013962843041433993,-3.8627076516026636e-5,3.5197026880596114e-8,0.0013965707576988314,-3.865699570879773e-5,3.521229439063478e-8,0.0013968563725718281,-3.8623536025609064e-5,3.5183688298750485e-8,0.0013971187911648243,-3.8532907044979155e-5,3.511587978476073e-8,0.001397339741657006,-3.8398963032655006e-5,3.501866053362015e-8,0.0013975065707011172,-3.824149273866268e-5,3.490584928664414e-8,0.0013976137214529206,-3.808437691328442e-5,3.47941124837482e-8,0.0013976641337538325,-3.795316224892923e-5,3.470130668547223e-8,0.0013976701313359334,-3.787171824233571e-5,3.4644083108582145e-8,0.0013976530803277948,-3.785809777299285e-5,3.4634877223998395e-8,0.0013976411745630901,-3.792027581554576e-5,3.467883721971932e-8,0.0013976651171231898,-3.8052873706371765e-5,3.477154552196402e-8,0.001397752138213877,-3.8236151892252456e-5,3.489846164729002e-8,0.0013979195447783234,-3.8438219455829296e-5,3.5036710195449224e-8,0.0013981694399458889,-3.862056128580171e-5,3.515918741519236e-8,0.001398486147697437,-3.874608834560939e-5,3.524031957876636e-8,0.0013988374531938928,-3.878827062153085e-5,3.526239348503685e-8,0.001399180229735303,-3.873936055813441e-5,3.52210743179183e-8,0.0013994701906148062,-3.861521125226919e-5,3.5128449985403174e-8,0.0013996740998213511,-3.845410205611195e-5,3.501191367250836e-8,0.0013997808979702491,-3.830798334251088e-5,3.490787420794603e-8,0.0013998068841861602,-3.822734029112152e-5,3.485117466616385e-8,0.0013997912690781416,-3.824484084870901e-5,3.486381492238321e-8,0.001399782875381604,-3.836511152067367e-5,3.494805808686753e-8,0.0013998239209614296,-3.856545057793629e-5,3.508720829151086e-8,0.0013999383452429608,-3.880618248898522e-5,3.5253069111989446e-8,0.001400128687982977,-3.9044513556967366e-5,3.5415721677933286e-8,0.0014003803140351105,-3.924559928935504e-5,3.555119946742358e-8,0.0014006688652410718,-3.938796884383357e-5,3.564509648433299e-8,0.0014009672459019793,-3.946401158692379e-5,3.569268613464028e-8,0.0014012504631784645,-3.9477773714654874e-5,3.5697219627372335e-8,0.0014014983378744935,-3.9442025791079544e-5,3.566783351875651e-8,0.0014016968485090753,-3.937562123845998e-5,3.561776933093947e-8,0.0014018389311078144,-3.930135009856592e-5,3.556297869454529e-8,0.0014019252611881805,-3.924395351028988e-5,3.552079791655267e-8,0.0014019650674987158,-3.922771502573723e-5,3.550823547292913e-8,0.0014019765254487317,-3.927316184126799e-5,3.5539561321083074e-8,0.0014019859072127623,-3.939286678870541e-5,3.562326047613582e-8,0.0014020245683540645,-3.9587049026522654e-5,3.57589225433063e-8,0.0014021232793080098,-3.984050350448809e-5,3.5935183683834784e-8,0.0014023045619820167,-4.0122876368864325e-5,3.613011664758931e-8,0.001402575188517273,-4.0393711578013267e-5,3.631499515737404e-8,0.0014029218430838034,-4.0611873294491905e-5,3.6461068646827724e-8,0.0014033123169753285,-4.074679499372091e-5,3.654749216388009e-8,0.0014037026283073234,-4.078780138232347e-5,3.6567752091281347e-8,0.0014040481592061073,-4.074819558912667e-5,3.653228462529379e-8,0.0014043154629272954,-4.0662606574106574e-5,3.646629348386904e-8,0.0014044912857379814,-4.057825582912705e-5,3.640333363998543e-8,0.001404586199481951,-4.054249152292174e-5,3.6376420565956944E-08,0.0014046315916832204,-4.059001163717845e-5,3.640913312668297e-8,0.0014046706036646942,-4.073363552405963e-5,3.650939734711049e-8,0.0014047457709805932,-4.096173679938644e-5,3.6668033280187714e-8,0.0014048875975041877,-4.1243138982900314e-5,3.686248986601918e-8,0.0014051079231287907,-4.153727189609017e-5,3.706412048229687e-8,0.0014053996891925462,-4.180543919169627e-5,3.724605723962737e-8,0.0014057418851642401,-4.201928520354164e-5,3.7388982979293707e-8,0.0014061067325829505,-4.216459310863377e-5,3.748357386154352e-8,0.0014064662792454632,-4.2240904034702006e-5,3.75300453375767e-8,0.001406796935332708,-4.225873123662221e-5,3.753610982343233e-8,0.0014070818711074016,-4.223609237701761e-5,3.7514565091294765e-8,0.0014073119283782146,-4.219538055815336e-5,3.748118402098386e-8,0.0014074858454996213,-4.216086923191445e-5,3.7453036902211475e-8,0.0014076103837110468,-4.215657537536124e-5,3.744699428145286e-8,0.001407700482867457,-4.2203893189522455e-5,3.7477990165415446e-8,0.0014077790394113716,-4.231848459825597e-5,3.755673767593618e-8,0.0014078754676845311,-4.250633958081457e-5,3.768691664581742e-8,0.0014080219967517041,-4.275967059593405e-5,3.7862358742113034e-8,0.0014082470158322466,-4.305438268393406e-5,3.8065444478173206e-8,0.0014085662107764442,-4.3351709842482535e-5,3.826846229183665e-8,0.0014089744868300872,-4.360598119993927e-5,3.843922404533621e-8,0.0014094431536157055,-4.377765422595991e-5,3.8550288702544655e-8,0.0014099256069116926,-4.384699363489847e-5,3.8588547143931624e-8,0.001410370621965012,-4.3822017616625005e-5,3.8560684416864574e-8,0.0014107379906385569,-4.373660777036701e-5,3.8491618344667396e-8,0.001411009964557524,-4.363969764258664e-5,3.841657689536917e-8,0.0014111946000197385,-4.3580512043394426e-5,3.8370420063415034e-8,0.0014113211867777273,-4.359545857298468e-5,3.837829828573306e-8,0.0014114306461733982,-4.3700232323209964e-5,3.8450239351540594e-8,0.001411564408632792,-4.388818610139138e-5,3.858035161105931e-8,0.0014117547305501578,-4.4134232812283986e-5,3.874997182226532e-8,0.0014120184750084578,-4.440248212920195e-5,3.8933324817321076e-8,0.0014123552829552618,-4.4655279826922307e-5,3.910396017989396e-8,0.0014127498958597165,-4.4861304314633954e-5,3.924032595412258e-8,0.0014131773611926266,-4.500092974261656e-5,3.932930729967511e-8,0.0014136092759243295,-4.5068124233728125e-5,3.9367328715653395e-8,0.001414019350464863,-4.50693223258045e-5,3.9359414083827914e-8,0.001414387280570928,-4.5020436860496765e-5,3.931705416718012e-8,0.0014147007530842784,-4.4943253683445574e-5,3.925572649703533e-8,0.0014149560140847756,-4.486209219785531e-5,3.919262101512192e-8,0.0014151576551419522,-4.4801074437002196e-5,3.914474595500056e-8,0.001415318136201093,-4.478183557739158e-5,3.912726793698288e-8,0.0014154572003696824,-4.482122856836196e-5,3.9151802563573214e-8,0.0014156009001108517,-4.492859041749618e-5,3.9224425325897754e-8,0.0014157795097893533,-4.5102449376290346e-5,3.93433918158505e-8,0.0014160233109937125,-4.532727500167816e-5,3.94970098303655e-8,0.0014163555567608258,-4.557201265798743e-5,3.96628298780135e-8,0.0014167833913719533,-4.579313198730899e-5,3.980996986060289e-8,0.0014172901012929602,-4.594441145983626e-5,3.990606550755613e-8,0.0014178341748209257,-4.599235373069634e-5,3.9928088314464635e-8,0.0014183591944381855,-4.593096157451421e-5,3.987268351609923e-8,0.0014188124373602864,-4.5787093578951006e-5,3.975984439233655e-8,0.001419163393834719,-4.561185313227637e-5,3.9626636645945325e-8,0.0014194126920989531,-4.5462152420401115e-5,3.951386849890556e-8,0.0014195882504336435,-4.5382171232237414e-5,3.945270542300551e-8,0.0014197329253106763,-4.539256577330823e-5,3.9456983564371725e-8,0.0014198906236090039,-4.548923231726588e-5,3.952257759491028e-8,0.001420095771986858,-4.5648857684138e-5,3.963175850856077e-8,0.0014203677362581296,-4.5837385340540104e-5,3.975959325884974e-8,0.0014207096597213865,-4.601850510949015e-5,3.988016811818957e-8,0.0014211104809135435,-4.616063637726872e-5,3.9971495331700885e-8,0.0014215489510336552,-4.624177480943514e-5,4.001871904464167e-8,0.0014219986351035052,-4.6251956591088596e-5,4.0015574979438314e-8,0.0014224329376801295,-4.619339291718908e-5,3.996426457805398e-8,0.001422829353219783,-4.607871301987465e-5,3.9874120697775513e-8,0.0014231724530763103,-4.592798447099774e-5,3.9759530620922137e-8,0.0014234554326269762,-4.57652124151591e-5,3.9637548056577846e-8,0.0014236803642659415,-4.561496504861187e-5,3.952556952558051e-8,0.0014238575838519927,-4.5499512314608026e-5,3.943929979142778e-8,0.0014240046262760098,-4.543644346492547e-5,3.9390987574810174e-8,0.0014241448474782898,-4.543650107068099e-5,3.938780661528568e-8,0.0014243055769598875,-4.55014025622324e-5,3.943030334635427e-8,0.0014245153230789524,-4.562160361393435e-5,3.951093333991738e-8,0.0014247992679477627,-4.5774516750711624e-5,3.9613026810845106e-8,0.0014251725776000539,-4.592471607435623e-5,3.97111673534239e-8,0.0014256324150758487,-4.6028499832087334e-5,3.9774539919194244e-8,0.0014261519278773278,-4.604466942670059e-5,3.97745103455597e-8,0.0014266816106519023,-4.595018557846401e-5,3.9695557904295956e-8,0.0014271621257017225,-4.575388705227969e-5,3.9544859389287236e-8,0.0014275457311608392,-4.549845458283125e-5,3.935358890200528e-8,0.001427815306107102,-4.524605002091276e-5,3.916657774531871e-8,0.0014279894860666584,-4.505443172790813e-5,3.9025101307670685e-8,0.001428111845943068,-4.4957151971777735e-5,3.895259664595886e-8,0.0014282324457039898,-4.4956997998443266e-5,3.8950037799349965e-8,0.0014283921152246375,-4.5031813061035744e-5,3.9000405529012745e-8,0.001428614503799861,-4.514594302658012e-5,3.907728510090153e-8,0.0014289052039444517,-4.526123102336767e-5,3.915303573565249e-8,0.0014292549887714064,-4.5344780633131716e-5,3.9204408290150735e-8,0.0014296445351593818,-4.537328317671618e-5,3.921546485399938e-8,0.0014300491927835234,-4.533479827914965e-5,3.917854634066426e-8,0.0014304433224275918,-4.522881772940035e-5,3.909403114722347e-8,0.001430804033341362,-4.5065037434135e-5,3.896929881664266e-8,0.001431114134170649,-4.486114602985143e-5,3.8817147411994384e-8,0.001431364173594574,-4.463995090524377e-5,3.8653843304944497e-8,0.001431553477665542,-4.4426110315797016e-5,3.8496905092415785e-8,0.0014316900992935974,-4.4242818950062476e-5,3.8362786478080485e-8,0.0014317897941557708,-4.410886020323244e-5,3.8264727869013804e-8,0.0014318743099349634,-4.403620954390451e-5,3.8210949087253464e-8,0.0014319691565770345,-4.402814004867514e-5,3.8203232744223565e-8,0.0014321008288139233,-4.407781633250867e-5,3.823596615193787e-8,0.0014322933132242908,-4.4167493057523215e-5,3.829575167824442e-8,0.0014325635783059797,-4.426874231918825e-5,3.8361828243839776e-8,0.0014329159984174987,-4.4344806916418694e-5,3.8407962919808685e-8,0.0014333367610415697,-4.435666435111393e-5,3.840682171688473e-8,0.0014337910720800594,-4.4273697098380086e-5,3.833742616530986e-8,0.0014342273731959762,-4.408716016137151e-5,3.819450047412489e-8,0.0014345914434781843,-4.382020957560829e-5,3.79954130449742e-8,0.0014348470970175808,-4.352582193219588e-5,3.7778581483576264e-8,0.0014349925697684392,-4.326902649537983e-5,3.759070188014273e-8,0.0014350613489107376,-4.3101343714786775e-5,3.746837044387351e-8,0.0014351064354383872,-4.304237393549526e-5,3.74248666578265e-8,0.0014351786308693037,-4.3077895175319485e-5,3.744893988723652e-8,0.001435311120145527,-4.3171511316731736e-5,3.751349253798805e-8,0.001435514983638263,-4.3280124103506245e-5,3.7587031889058094e-8,0.0014357827442222175,-4.33657644870084e-5,3.764234602726513e-8,0.0014360950176135047,-4.340168328161423e-5,3.766080981694061e-8,0.0014364268982985113,-4.3373918763642415e-5,3.7633249662091946e-8,0.0014367527843651797,-4.328039694830718e-5,3.755898187846603e-8,0.0014370497401466067,-4.312909776010434e-5,3.7444270646673757e-8,0.0014372999251545048,-4.29358844997081e-5,3.730070931627148e-8,0.0014374923724849156,-4.2722063680720855e-5,3.71435536648068e-8,0.0014376241618117747,-4.251167408721932e-5,3.6989920136254e-8,0.0014377009262072043,-4.2328490779715396e-5,3.6856738666764285e-8,0.0014377364788064743,-4.2192837572660376e-5,3.675846863045126e-8,0.0014377513692969844,-4.2118585485798534e-5,3.6704856042820815e-8,0.001437770451447845,-4.2110786884528316e-5,3.669912913273134e-8,0.0014378196981251372,-4.21642244916051e-5,3.6736925449717485e-8,0.0014379224790505686,-4.226308798281828e-5,3.680616377621557e-8,0.0014380955334853483,-4.238200534606743e-5,3.6888012155040675e-8,0.0014383449114242503,-4.2488670304332985e-5,3.6959034935254815e-8,0.0014386623333420816,-4.254848883471872e-5,3.69946922542799e-8,0.001439023053413255,-4.253172746547254e-5,3.6974437223496824e-8,0.00143938722951177,-4.242284653717159e-5,3.688818009449981e-8,0.001439707137154768,-4.222971419566938e-5,3.674257304428873e-8,0.0014399409659193428,-4.198781671588203e-5,3.656376280190634e-8,0.001440069459918548,-4.1753765044836575e-5,3.6392606119182155e-8,0.001440106597622063,-4.158679104094984e-5,3.6271381464065536e-8,0.0014400959148385573,-4.1525832600832144e-5,3.622739349459521e-8,0.0014400927711180566,-4.15752438414865e-5,3.626283531393904e-8,0.0014401429180055368,-4.170699406909172e-5,3.635659541946491e-8,0.0014402691460889587,-4.1875615871244114e-5,3.6475292110604114e-8,0.0014404700687453444,-4.20353985030447e-5,3.658586574851633e-8,0.0014407270427852904,-4.215187194132588e-5,3.666388371140973e-8,0.001441013130719309,-4.220595818615349e-5,3.6696359973947585e-8,0.0014413003263376396,-4.219308157288958e-5,3.6680826446642095e-8,0.001441564033217401,-4.212012924590863e-5,3.662287749152233e-8,0.0014417853809006085,-4.2002181831792545e-5,3.653368462176073e-8,0.0014419523959797523,-4.185969337729201e-5,3.642799751790315e-8,0.0014420606999227586,-4.171600435622608e-5,3.632248964966348e-8,0.0014421139198980406,-4.159487387718513e-5,3.623411674528073e-8,0.0014421237028206181,-4.151777055500738e-5,3.6178218018737015e-8,0.0014421089934266833,-4.150085444996026e-5,3.6166287820635e-8,0.0014420941576250958,-4.155198804294638e-5,3.620370937664565e-8,0.0014421057972856064,-4.166845338362705e-5,3.628802792965738e-8,0.0014421685219863218,-4.183607922736202e-5,3.6408352528175015e-8,0.0014423002757643633,-4.203032172674412e-5,3.65463031098458e-8,0.0014425080608542666,-4.22195472333642e-5,3.667862994977846e-8,0.001442784991572208,-4.237031728117714e-5,3.6781252110025435e-8,0.0014431095090614871,-4.245409762385614e-5,3.6834180674033206e-8,0.0014434474962299161,-4.245454297942441e-5,3.682664986919906e-8,0.0014437579597159325,-4.237398291446551e-5,3.676149381934002e-8,0.0014440024218877274,-4.2236870836770005e-5,3.665727124065034e-8,0.0014441566692500326,-4.208735480065546e-5,3.654623465415403e-8,0.0014442210777839057,-4.197894413823149e-5,3.646678154580181e-8,0.0014442238639085503,-4.1957657259825583e-5,3.6451395741224957e-8,0.001444213177633174,-4.204514955028633e-5,3.6514704020701185e-8,0.0014442400148779796,-4.2230738483301597e-5,3.664799820937176e-8,0.001444340327612597,-4.2477002171248194e-5,3.6823531208232587E-08,0.0014445252831045401,-4.273521305190709e-5,3.700583739358809e-8,0.001444782633063003,-4.296167146369278e-5,3.716358146341754e-8,0.0014450854085491184,-4.312785702347721e-5,3.727679374827056e-8,0.001445401951167018,-4.322288651739154e-5,3.733842340885731e-8,0.001445703365975638,-4.3250813436262515e-5,3.735212787958807e-8,0.0014459674945798882,-4.32260760357198e-5,3.73288004390637e-8,0.001446180300220262,-4.316923443732345e-5,3.728344873718978e-8,0.0014463359582635035,-4.310370309668452e-5,3.723292189167686e-8,0.0014464365687389773,-4.305328850624032e-5,3.719426687269874e-8,0.0014464918465855834,-4.304002473972689e-5,3.718325365119318e-8,0.0014465186728166825,-4.308181819575483e-5,3.721266618215463e-8,0.0014465400355141305,-4.3189687170519945e-5,3.7290221487352145e-8,0.0014465827531187007,-4.336489798552785e-5,3.741640893771544e-8,0.0014466736056468219,-4.3596841039752464e-5,3.758294229173246e-8,0.0014468340922974643,-4.386279199894946e-5,3.77726972029659e-8,0.0014470748301542683,-4.413057535440872e-5,3.7961848327240886e-8,0.0014473912922101449,-4.4364408720834884e-5,3.812432810558878e-8,0.0014477626657607462,-4.453297875666711e-5,3.8237820661230854e-8,0.001448154854433801,-4.461771816489685e-5,3.828974037644961e-8,0.0014485274030723117,-4.461890202134063e-5,3.8281447589952853e-8,0.0014488429638407447,-4.455758179245559e-5,3.822931479912126e-8,0.001449077126957026,-4.447225398864734e-5,3.816195570741389e-8,0.001449226023125882,-4.441032020245069e-5,3.8113794316332475e-8,0.0014493090755652274,-4.441579020404974e-5,3.8116125833806295e-8,0.001449364947092221,-4.451633994090186e-5,3.818794133287042e-8,0.0014494407057380814,-4.471426477041007e-5,3.832972073058778e-8,0.0014495774144823556,-4.498555350055323e-5,3.8523117853081915e-8,0.0014497978450341655,-4.5288121537755064e-5,3.873716648698755e-8,0.001450101396289851,-4.557563857325436e-5,3.89383696430426e-8,0.0014504674700356046,-4.581077178440381e-5,3.9100206897818924e-8,0.001450864329811925,-4.59729347684755e-5,3.920855010190983e-8,0.001451258767715561,-4.605934108050844e-5,3.92621859121156e-8,0.001451623153623208,-4.608136827590191e-5,3.926997648012008e-8,0.0014519388956488832,-4.605924560935e-5,3.9246910208725725e-8,0.0014521971379447417,-4.6017229535460886e-5,3.9210629613232204e-8,0.0014523980389310705,-4.5980057149587095e-5,3.917896492879653e-8,0.0014525496603379358,-4.597051953376308e-5,3.9168276920308264e-8,0.0014526669574361673,-4.600759430739576e-5,3.9192135619664394e-8,0.0014527708281076104,-4.610453020282936e-5,3.9259884840940946e-8,0.0014528867245701964,-4.626654176388048e-5,3.9374895639106777e-8,0.0014530421048613528,-4.648831416903428e-5,3.9532731387203335e-8,0.0014532621468013511,-4.6752190201937326e-5,3.971990995005398e-8,0.0014535637916342824,-4.7028515568426274e-5,3.9914326393312656e-8,0.0014539493947660874,-4.727971460801391e-5,4.008841173852169e-8,0.0014544025921314587,-4.7468597955633217e-5,4.021531201044032e-8,0.0014548892922685616,-4.7569142347220584e-5,4.027675511472258e-8,0.0014553650558184153,-4.7575810436338764e-5,4.026972977663235e-8,0.0014557870851216873,-4.750717265528638e-5,4.020889782847651e-8,0.0014561265502366723,-4.7401772022354576e-5,4.012327246018735e-8,0.0014563767220609832,-4.730757137609055e-5,4.004821937536077e-8,0.00145655435776092,-4.726880621379515e-5,4.001569186801683e-8,0.001456694463586125,-4.73144514864003e-5,4.004587627083997e-8,0.0014568404770532691,-4.7451327393656046e-5,4.0142460997834714e-8,0.0014570327641523222,-4.7663290283813975e-5,4.029246947753112e-8,0.001457298519145466,-4.7916441311999795e-5,4.047043105356473e-8,0.0014576457793189451,-4.816871716330359e-5,4.064555627563837e-8,0.0014580630692166065,-4.8380870254886153e-5,4.07896946312839e-8,0.0014585242916217804,-4.85254475628263e-5,4.0883660976549706e-8,0.0014589966823086494,-4.859135992178545e-5,4.092028278391199e-8,0.0014594488895383127,-4.8583561201735886e-5,4.0903922552317477e-8,0.0014598568660654338,-4.851917902858856e-5,4.084752107398645e-8,0.001460206718017994,-4.8422238333548e-5,4.0768741953613706e-8,0.0014604949812930131,-4.831876578154884e-5,4.068648768877478e-8,0.0014607274013576004,-4.823314160900414e-5,4.0618350180221016e-8,0.0014609172150457537,-4.8185712318530414e-5,4.057893429465176e-8,0.001461083502746424,-4.8191179258434106E-05,4.0578670798416085e-8,0.001461249671904525,-4.82571706133708e-5,4.0622715345642995e-8,0.001461441693727446,-4.838261929000545e-5,4.07097296081658e-8,0.0014616854233344243,-4.8556014057686534e-5,4.083066061163576e-8,0.0014620023267894015,-4.8754249269082786e-5,4.0968058990523775e-8,0.0014624034953483796,-4.894358809285292e-5,4.109698020827211e-8,0.0014628831941533296,-4.908464338861261e-5,4.118875936509696e-8,0.0014634150433660768,-4.914226299762998e-5,4.121824393937142e-8,0.0014639548020531532,-4.9098224861191336e-5,4.117296927439143e-8,0.001464451637979818,-4.8961091183785824e-5,4.106020733296679e-8,0.0014648646915946838,-4.8766820370606e-5,4.090722801199529e-8,0.0014651772883869003,-4.8568009313809076e-5,4.075319349404685e-8,0.0014654017214941388,-4.8416426777365386e-5,4.063612262558724e-8,0.0014655731149098806,-4.834715390556542e-5,4.05811408271586e-8,0.0014657366598345033,-4.8370472978448067e-5,4.0594648027202523e-8,0.0014659342958094506,-4.847253437725393e-5,4.066516335293664e-8,0.0014661950114605521,-4.862215666828612e-5,4.076876008564538e-8,0.0014665301910791108,-4.8780249807602064e-5,4.0876316291687736e-8,0.0014669336173157724,-4.8909088442915184e-5,4.096041061837196e-8,0.0014673849869394323,-4.89797010783182e-5,4.10005813588427e-8,0.0014678556191269404,-4.8976435201010984e-5,4.0986359543432826e-8,0.0014683149714162325,-4.889830880085964e-5,4.091793502517985e-8,0.0014687365529222206,-4.875735290426732e-5,4.080472681276175e-8,0.0014691021142846357,-4.857481423921316e-5,4.0662543710692137e-8,0.0014694036337962362,-4.8376450354823765e-5,4.0510213167388694e-8,0.0014696432745798936,-4.8188046898087444e-5,4.0366429937764576e-8,0.0014698319277800106,-4.803190530328035e-5,4.0247286006004545e-8,0.0014699871102827962,-4.7924526915939426e-5,4.0164595796703556e-8,0.0014701307848855516,-4.787522027490336e-5,4.012482396092963e-8,0.0014702872622128149,-4.788517195205734e-5,4.012834089633514e-8,0.0014704809975428358,-4.794666693736669e-5,4.0168855709075365e-8,0.0014707338344027386,-4.804244009905834e-5,4.0233062784634995e-8,0.0014710611213139102,-4.814566107532364e-5,4.030084085232558e-8,0.0014714665413726273,-4.822181569590968e-5,4.034683134470572e-8,0.001471936732554558,-4.823419676772928e-5,4.0344537351810816e-8,0.0014724385787785134,-4.815393883152968e-5,4.02735824939934e-8,0.0014729232921461939,-4.7972708991935915e-5,4.012881131104992e-8,0.001473339733380658,-4.771194684085152e-5,3.99268721108642e-8,0.0014736534482333627,-4.7420811459529796e-5,3.97045678271898e-8,0.0014738614631978186,-4.716016424666695e-5,3.9506949528936975e-8,0.0014739933492919856,-4.697982067329245e-5,3.937043540172194e-8,0.0014740979744279096,-4.690167112469379e-5,3.931032980142313e-8,0.0014742246024554207,-4.691644256644111e-5,3.9318604552850936e-8,0.0014744082651071803,-4.69922299640802e-5,3.9370563974310175e-8,0.0014746637140043946,-4.708756851895923e-5,3.943489870131204e-8,0.0014749866046875014,-4.7162958123676244e-5,3.948243157993727e-8,0.001475358543065385,-4.71883294842356e-5,3.949159654624633e-8,0.001475753210166725,-4.714652817698946e-5,3.945074236392933e-8,0.001476142078096254,-4.7033888847950614e-5,3.9358189832320374e-8,0.0014764992123982724,-4.685887934392134e-5,3.9220928510260014e-8,0.0014768049713061416,-4.663938791887539e-5,3.905248086942313e-8,0.001477048391317066,-4.639911917690382e-5,3.8870289051615004e-8,0.0014772281442441146,-4.61636413222774e-5,3.86929540003015e-8,0.0014773521218631534,-4.595660324837137e-5,3.8537604231317574e-8,0.0014774358574483667,-4.579659133441228e-5,3.841765492707048e-8,0.0014775001956065402,-4.569496823083304e-5,3.8341186816552856e-8,0.0014775686820781154,-4.565470129067433e-5,3.830999686167372e-8,0.0014776649243166784,-4.566994456347111e-5,3.8319233095593914e-8,0.0014778099359220231,-4.5726192560117234e-5,3.83575570353092e-8,0.0014780193244124584,-4.580097117160524e-5,3.840782891730723e-8,0.0014783000450939625,-4.5865328797617776e-5,3.8448445201550915e-8,0.0014786467079729625,-4.588696439857752e-5,3.845582251437362e-8,0.0014790384080720245,-4.583611242343526e-5,3.840873944588172e-8,0.0014794383527260398,-4.56945594107753e-5,3.82947864626867e-8,0.001479799398450005,-4.5465999161076066e-5,3.811769435150879e-8,0.0014800774121277783,-4.518250806512075e-5,3.790185132520664e-8,0.0014802492942168032,-4.489995809258601e-5,3.768879845012064e-8,0.0014803258879004637,-4.467961171000656e-5,3.7523621216932424e-8,0.0014803496588216847,-4.456364916372832e-5,3.7436882425543227E-08,0.0014803767789849922,-4.455914717389837e-5,3.743285124826617e-8,0.00148045471663273,-4.463944669785187e-5,3.749072374826842e-8,0.0014806079903739232,-4.4759080332929866e-5,3.757599995374444e-8,0.0014808363575325631,-4.4871298219932226e-5,3.7653765328709984e-8,0.0014811213748755097,-4.49400791113898e-5,3.7697698950566665e-8,0.0014814353063795221,-4.494494148911797e-5,3.769349125262831e-8,0.0014817486607833878,-4.488064489949951e-5,3.7638296039217246e-8,0.0014820352591590176,-4.475444899156155e-5,3.75383511170801e-8,0.001482275222988769,-4.458271568201399e-5,3.740624045556785e-8,0.0014824566343186552,-4.438752806725547e-5,3.7258364186440963e-8,0.0014825762933425046,-4.41933973514123e-5,3.711263205430016e-8,0.0014826396781233982,-4.402407385189993e-5,3.698628868785702e-8,0.0014826601038704105,-4.3899537486014864e-5,3.689381745950238e-8,0.0014826570290835308,-4.3833355408042506e-5,3.684500249109746e-8,0.0014826535665252642,-4.383076384824262e-5,3.684342893133268e-8,0.0014826734964349505,-4.388776027353641e-5,3.688571137475423e-8,0.0014827381250709867,-4.3991250197185465e-5,3.696157870415823e-8,0.0014828632277558774,-4.4120225732295084e-5,3.7054853705114773e-8,0.0014830562790585913,-4.424796254416029e-5,3.7145299091021524e-8,0.001483314114902658,-4.4345226853738956e-5,3.721123064884487e-8,0.0014836212427355765,-4.438471351759688e-5,3.723292906691934e-8,0.0014839495880320053,-4.434704884177869e-5,3.719700534277648e-8,0.0014842612053440878,-4.4227969750309367e-5,3.7101437221589655e-8,0.001484515578411819,-4.4044706083483356e-5,3.6959930289161086e-8,0.0014846818321571568,-4.383767436946015e-5,3.6802887599284104e-8,0.001484752665298912,-4.366282494601175e-5,3.6671649941767425e-8,0.0014847523079773632,-4.357345179251354e-5,3.6605110282143873e-8,0.0014847306685902028,-4.3598461730291396e-5,3.662379044416523e-8,0.0014847439416985908,-4.372996532663204e-5,3.672084767057359e-8,0.001484832455576805,-4.392834159757466e-5,3.6866053246575335e-8,0.0014850084524969315,-4.414052139172515e-5,3.701958292803764e-8,0.0014852579225742377,-4.4319394962506785e-5,3.7146574635816525e-8,0.00148555111690797,-4.443521318072178e-5,3.7225576915926685e-8,0.0014858540251273446,-4.447773434048518e-5,3.724992857383376e-8,0.0014861364543161625,-4.445270363925244e-5,3.722482225495067e-8,0.0014863760913723298,-4.437656318307988e-5,3.716309655277369e-8,0.0014865597532513933,-4.427164451826376e-5,3.708154822513582e-8,0.0014866832683675857,-4.4162460074345484e-5,3.699824191460888e-8,0.0014867508559287582,-4.407282323694022e-5,3.693054466535894e-8,0.0014867742340000237,-4.402339782503651e-5,3.68934712540527e-8,0.0014867713714220555,-4.402943420367354e-5,3.689807422058526e-8,0.0014867646564762282,-4.409867285281513e-5,3.6949844467746125e-8,0.0014867782740302412,-4.422973621937711e-5,3.7047415402730984e-8,0.0014868348754921309,-4.441152508594255e-5,3.718204520461165e-8,0.0014869519465962582,-4.462400182095811e-5,3.733824048865543e-8,0.0014871384186216602,-4.484053098879151e-5,3.749566462993671e-8,0.0014873921480441546,-4.5031733174503954e-5,3.7632239067973675e-8,0.0014876988747097991,-4.517047600970056e-5,3.772804673560034e-8,0.0014880330851069787,-4.5237407062414714e-5,3.776948065811721e-8,0.0014883611336936045,-4.522638867386191e-5,3.7753106366925946e-8,0.0014886470419661934,-4.5148829423299135e-5,3.768853679617695e-8,0.0014888610099375744,-4.503511107630251e-5,3.75991142701746e-8,0.0014889893734640611,-4.493078727593386e-5,3.7518833390943256e-8,0.0014890426802024238,-4.4885939658503095e-5,3.74844077895564e-8,0.0014890568559620368,-4.493900359979849e-5,3.752344755667185e-8,0.0014890836459080803,-4.5101175184416406e-5,3.7643181361237684e-8,0.001489172305795643,-4.535029512050693e-5,3.7826206234394064e-8,0.0014893513815948645,-4.5639131365739326e-5,3.803685162170241e-8,0.0014896203853677792,-4.591379586939746e-5,3.8234980089391865e-8,0.0014899543663838013,-4.613185728141613e-5,3.8389462478218916e-8,0.0014903162297077394,-4.6271946349084726e-5,3.848520377485263e-8,0.0014906691385107214,-4.6333741604474694e-5,3.852289537208366e-8,0.0014909844428688587,-4.6332267253878814e-5,3.851449641139075e-8,0.0014912446994979787,-4.629096295265064e-5,3.8477884251820716e-8,0.001491443475023993,-4.623604922293549e-5,3.843262815520471e-8,0.0014915838036451312,-4.61927449105687e-5,3.8397284898482245e-8,0.0014916764513131834,-4.618284796155863e-5,3.838776175182558e-8,0.0014917383357409837,-4.622298504810592e-5,3.8416126988273096e-8,0.0014917909428913134,-4.632303584535767e-5,3.848944739748476e-8,0.0014918583550758398,-4.648458412369112e-5,3.860856466449232e-8,0.0014919645095770773,-4.669969166698596e-5,3.8767106301308565e-8,0.001492129594339425,-4.695065290037247e-5,3.895130296913219e-8,0.0014923659795207224,-4.721144655663761e-5,3.914118664687933e-8,0.0014926745732702724,-4.745133715731877e-5,3.931347861780057e-8,0.0014930428020581202,-4.764050267803905e-5,3.944599080200351e-8,0.0014934453287540244,-4.77567381989998e-5,3.952272977792478e-8,0.0014938479976421455,-4.7791615726440825e-5,3.9538419803086526e-8,0.0014942145959709434,-4.775437268653611e-5,3.950114664854367e-8,0.0014945152548361581,-4.7672147717775885e-5,3.943216537025932e-8,0.0014947347496844735,-4.758571958330954e-5,3.936237614997539e-8,0.0014948784839529095,-4.754071729882442e-5,3.9325587712150906e-8,0.001494973688060228,-4.7575580700830986e-5,3.934960606065222e-8,0.001495063893699758,-4.7709339668887554e-5,3.9447410821275483e-8,0.0014951967819727924,-4.793386974666786e-5,3.961177012530231e-8,0.0014954089548056488,-4.82150113356529e-5,3.9816407071216556e-8,0.001495713972368483,-4.8503439552528306e-5,4.0024278257678855e-8,0.0014960992299929698,-4.875088216767253e-5,4.0199671339311314e-8,0.0014965325627533485,-4.892426755697233e-5,4.031863181757441e-8,0.0014969742965597005,-4.9012244353112056e-5,4.037361715514292e-8,0.0014973887060458133,-4.90234527916337e-5,4.037196030438772e-8,0.0014977509975768778,-4.897987925534544e-5,4.033069659995429e-8,0.0014980493699429142,-4.8909370842569586e-5,4.0270872530960104e-8,0.0014982838272042372,-4.8839785143966184e-5,4.0213214367086265e-8,0.0014984636893112296,-4.879533379597899e-5,4.017552829673121e-8,0.0014986050564438516,-4.879459745805125e-5,4.0171351190536136e-8,0.0014987286878216618,-4.884940264365551e-5,4.020917276631506e-8,0.0014988581486848397,-4.8963892845157507e-5,4.029171690125393e-8,0.0014990177337836207,-4.9133541633318104e-5,4.0415144161886566e-8,0.0014992296650089489,-4.934439725353427e-5,4.056846910653133e-8,0.0014995103608385159,-4.957328780427341e-5,4.073379081419653e-8,0.0014998661313054954,-4.978992849651283e-5,4.0888033317214166E-08,0.001500289438846751,-4.996169395570395e-5,4.100670227701081e-8,0.0015007575640223773,-5.00609271009138e-5,4.1069476582698656e-8,0.0015012354183340914,-5.0073132062903215e-5,4.106633523245191e-8,0.001501682931435136,-5.000313393611321e-5,4.10020124318666e-8,0.0015020653958463235,-4.9876318236111225e-5,4.089664152349184e-8,0.001502363510762478,-4.973362668651773e-5,4.078166708635209e-8,0.0015025796036362987,-4.9621359434477365e-5,4.06919240015438e-8,0.001502737788613337,-4.957881774687852e-5,4.0656280257301776e-8,0.0015028778851812186,-4.9627518948032364e-5,4.0689710099869005e-8,0.001503044775055048,-4.9765138003926926e-5,4.078912007859041e-8,0.001503276131990282,-4.9966042084288354e-5,4.093418214974257e-8,0.0015035921340975534,-5.0188522911167886e-5,4.109307745813918e-8,0.0015039904959644906,-5.038664086853307e-5,4.12314822617478e-8,0.0015044484479765602,-5.052272450607022e-5,4.1321828260849926e-8,0.0015049305867960681,-5.057627006151882e-5,4.1349724488542334e-8,0.0015053992671028003,-5.0546698588028124e-5,4.1315734395285215e-8,0.001505823682333701,-5.0450202162379264e-5,4.123276774522326e-8,0.0015061851264551991,-5.03131376162049e-5,4.1120991139124105e-8,0.00150647810650972,-5.0164985415371416e-5,4.100254562995308e-8,0.0015067085911635734,-5.003289045076868e-5,4.0897557578942296e-8,0.0015068910568689683,-4.9938339881018866e-5,4.0821788084939146e-8,0.0015070455081733843,-4.989557017837055e-5,4.078553560863914e-8,0.0015071949768719031,-4.991095762554463e-5,4.079319265895584e-8,0.0015073634330199596,-4.998270255847455e-5,4.0842964940455486e-8,0.001507573648758257,-5.0100484272582855e-5,4.092657881678172e-8,0.001507844474226869,-5.024531275080717e-5,4.1029213145852094E-08,0.0015081872475477102,-5.039029477878423e-5,4.113020982278904e-8,0.001508601639381369,-5.0503348351200574e-5,4.1205288990591655e-8,0.0015090721800536042,-5.0552825964399286e-5,4.123090271547341e-8,0.0015095677542445187,-5.051598845732162e-5,4.119061726808571e-8,0.0015100464398749296,-5.0388137396494456e-5,4.1081869583940654e-8,0.0015104661524490966,-5.0188150732697904e-5,4.091992886992478e-8,0.0015107980562968522,-4.995626598255443e-5,4.073597315450068e-8,0.0015110369884425087,-4.974323096834382e-5,4.056865503257804e-8,0.0015112037636235288,-4.9594689096187027e-5,4.0452143784550536e-8,0.0015113382538688342,-4.9537390122333774e-5,4.040571885063075e-8,0.001511486651518908,-4.9572491390367476e-5,4.0428949376900265e-8,0.0015116882343063284,-4.9677288522526345e-5,4.0503412055625985e-8,0.001511965832908493,-4.981328246977489e-5,4.0599203239587485e-8,0.0015123218678560742,-4.993712667865752e-5,4.0683458185044255e-8,0.0015127398774388951,-5.001120491259384e-5,4.072833176366586e-8,0.0015131902459503254,-5.0011430442294444e-5,4.0716651632460574e-8,0.0015136381639806527,-4.9930908725903795e-5,4.064433406034829e-8,0.0015140516272895985,-4.977923819466192e-5,4.051953249837382e-8,0.0015144075622012096,-4.9578319631606846e-5,4.035928102066704e-8,0.0015146949683276282,-4.9356355695184494e-5,4.0184938821169755e-8,0.0015149150502128804,-4.9141887980333486e-5,4.0017799643976816e-8,0.0015150791746275875,-4.895917584109024e-5,3.9875772118617474e-8,0.0015152057997848073,-4.8825388632539786e-5,3.977139653273003e-8,0.0015153173317295856,-4.874940504486354e-5,3.971098695425316e-8,0.0015154374095433952,-4.8731643689852686e-5,3.9694467703771245e-8,0.0015155886318726306,-4.876432642304724e-5,3.971551230211538e-8,0.0015157903988936615,-4.8831866635134174e-5,3.976183295261236e-8,0.0015160564336704537,-4.891150797550089e-5,3.9815759747989534e-8,0.001516391691608481,-4.8974788479225625e-5,3.985552106330658e-8,0.0015167888924818176,-4.899079602098747e-5,3.985786664037715e-8,0.0015172258993118245,-4.893217400965164e-5,3.9802659015735863e-8,0.0015176663030841539,-4.878381729040918e-5,3.967934665594565e-8,0.0015180658418397924,-4.855185669703154e-5,3.9493549812086156e-8,0.0015183852145058741,-4.8267882631723335e-5,3.927002879151628e-8,0.001518605245428821,-4.7983227159816684E-05,3.904816418536927e-8,0.0015187364109845078,-4.7752853667001454e-5,3.8869607112691156e-8,0.0015188162107197098,-4.76157007253304e-5,3.876330623471329e-8,0.0015188951081814535,-4.7581646967552716e-5,3.87356971621642e-8,0.0015190187423242043,-4.763095682004308e-5,3.877055536279872e-8,0.0015192148843438057,-4.7724206359166875e-5,3.883693164021174e-8,0.0015194889111096335,-4.7816122036906335e-5,3.890001525702813e-8,0.0015198265573875282,-4.78675190041975e-5,3.893034461914193e-8,0.0015202006147450764,-4.785267690604367e-5,3.8909281403952436e-8,0.0015205786058022936,-4.776206764521024e-5,3.883074987792664e-8,0.001520929655959892,-4.7601511265561416e-5,3.8700210594517606e-8,0.0015212297485279174,-4.73889457227636e-5,3.853192522081979e-8,0.001521464985636384,-4.714978616986874e-5,3.834534142739313e-8,0.001521632714070136,-4.691181862109943e-5,3.8161308626593714e-8,0.0015217407259916819,-4.6700544473304215e-5,3.7998737945680615e-8,0.001521805050737679,-4.653561112622005e-5,3.7872078917049705e-8,0.0015218469609350476,-4.6428620942574455e-5,3.77897496515343e-8,0.0015218898209953303,-4.638232433864213e-5,3.7753505077697286e-8,0.0015219562588472324,-4.63908829784902e-5,3.775855431522331e-8,0.0015220657852472567,-4.644073196168358e-5,3.779415592915643e-8,0.0015222326849345393,-4.6511768353575117e-5,3.78445580321092e-8,0.0015224639302797234,-4.6578917633677744e-5,3.789033821231449e-8,0.0015227569400496383,-4.6614434070743716e-5,3.791035015751786e-8,0.0015230973823843132,-4.659163295010869e-5,3.788469386599491e-8,0.0015234580899453059,-4.6490764418833046e-5,3.779915028577375e-8,0.0015238011301948635,-4.630679101973296e-5,3.765088713532935e-8,0.0015240852672769784,-4.6056717425461094e-5,3.7453737167092474e-8,0.001524279176362041,-4.578158370729293e-5,3.723946842777562e-8,0.0015243761207970313,-4.5537893273890615e-5,3.7051147789336374e-8,0.0015244012465784203,-4.537833811089991e-5,3.692846975976653e-8,0.0015244043069810233,-4.5330485030194646e-5,3.689159982476225e-8,0.001524440051851727,-4.5386093677926136e-5,3.693319329946158e-8,0.0015245475921702796,-4.550706901455292e-5,3.70231970685862e-8,0.001524739631177373,-4.564256280847005e-5,3.712221109997426e-8,0.0015250039821238194,-4.574645320979391e-5,3.719506196713576e-8,0.001525312469978232,-4.57880724817201e-5,3.7219009823727845e-8,0.0015256311465300198,-4.575529177708597e-5,3.71858758629502e-8,0.0015259283156329572,-4.5652460184988825e-5,3.710009588757813e-8,0.001526179490549331,-4.549604863952453e-5,3.697504333756095e-8,0.0015263698298762106,-4.5309863016883735e-5,3.682918922629797e-8,0.0015264948690534665,-4.5120549024834013e-5,3.668269874859717e-8,0.0015265600057452486,-4.495356643058214e-5,3.65545436819091e-8,0.0015265789603062382,-4.4829825029204026e-5,3.646015826369734e-8,0.0015265714591917814,-4.476317621887072e-5,3.640967597256171e-8,0.001526560393019653,-4.47588814097071e-5,3.6406785222506725e-8,0.0015265687425595057,-4.481319012855167e-5,3.6448328955322366e-8,0.001526616673386339,-4.491402171639455e-5,3.6524727155707175e-8,0.001526719088838322,-4.5042478706087005e-5,3.662110821247449e-8,0.001526883671120863,-4.517492388060347e-5,3.671899335520608e-8,0.001527109357997393,-4.528556689050531e-5,3.679846629243785e-8,0.0015273852648541443,-4.5349660451110904e-5,3.684080865883039e-8,0.0015276902649918051,-4.5347572784252786e-5,3.683168213824624e-8,0.0015279940023550515,-4.5269982630066084e-5,3.676496818810432e-8,0.001528260741500139,-4.5123660491407865e-5,3.664687940483986e-8,0.0015284573649040436,-4.493568923535388e-5,3.649883068748661e-8,0.0015285651819203082,-4.475224028990135e-5,3.6356268024786054e-8,0.001528591522529057,-4.462799322930828e-5,3.6260564495138095e-8,0.0015285733068809862,-4.4606708170989893e-5,3.6244339332635135e-8,0.0015285663015500417,-4.4701580903939586e-5,3.631667920617675e-8,0.001528623057978843,-4.4888075568297965e-5,3.645788182105769e-8,0.0015287721301055885,-4.511488889181742e-5,3.662804240559266e-8,0.0015290104785997134,-4.532567197125326e-5,3.678385405657058e-8,0.0015293104382067145,-4.547810886081325e-5,3.689331286542308e-8,0.0015296334898081117,-4.555238252513215e-5,3.6942127930790746e-8,0.0015299425822774475,-4.5549875508693376e-5,3.6932458321921016e-8,0.0015302094618059117,-4.5487012585997464e-5,3.687784149123152e-8,0.0015304173593234294,-4.538838777224406e-5,3.6797650641900755e-8,0.0015305608012845585,-4.5281191160702335e-5,3.6712741731269536e-8,0.0015306441945146152,-4.5191250244956506e-5,3.664253537729438e-8,0.0015306800306723414,-4.514019365633332e-5,3.660306514411148e-8,0.0015306868440561443,-4.5143317412885504e-5,3.660554118454364e-8,0.0015306868688130097,-4.5208046874071456e-5,3.665525950628058e-8,0.001530703372269813,-4.533304361844633e-5,3.675088279926432e-8,0.0015307577071024677,-4.550816475509205e-5,3.6884311766138235e-8,0.0015308663545292767,-4.5715530714938635e-5,3.7041438425744794e-8,0.001531038403461839,-4.5931705831679506e-5,3.7203859056823594e-8,0.0015312738096312358,-4.613076201647923e-5,3.7351380006003594e-8,0.001531562647587085,-4.628797631784266e-5,3.7465058196804165e-8,0.001531885540287841,-4.638388948223532e-5,3.753045447184219e-8,0.0015322154350115606,-4.6408424099129384e-5,3.75407624833672e-8,0.0015325210181051422,-4.636473481435046e-5,3.749952617090675e-8,0.0015327722562987192,-4.62720299113284e-5,3.742243109933671e-8,0.0015329482178092664,-4.616568661040811e-5,3.7337038635539955e-8,0.0015330459667584296,-4.60922941785365e-5,3.7278814888025735e-8,0.001533087023241133,-4.609795126881395e-5,3.728225619249699e-8,0.001533115983708838,-4.621153374983078e-5,3.736837190134323e-8,0.0015331876400693626,-4.643018459294151e-5,3.753391652633899e-8,0.0015333461088477486,-4.6716886718747485e-5,3.7749779963297116e-8,0.001533607077938741,-4.701413330082583e-5,3.797158062251958e-8,0.0015339536898771556,-4.7266463413301e-5,3.8156979046495933e-8,0.0015343469210881689,-4.7438804933053115e-5,3.827972461061156e-8,0.0015347420400233514,-4.7522609577066365e-5,3.833423468532848e-8,0.0015351018922789568,-4.75311913550837e-5,3.833175719045527e-8,0.0015354032268769953,-4.7490536847499134e-5,3.8293014468682244e-8,0.0015356372503282487,-4.7430749661384474e-5,3.8241437080403724e-8,0.0015358072060457936,-4.738020854009638e-5,3.819867181103716e-8,0.0015359252275494756,-4.736231090740194e-5,3.818223813016995e-8,0.0015360095332831896,-4.739380510817324e-5,3.820445815928393e-8,0.0015360820478136717,-4.748383499571379e-5,3.82718722773441e-8,0.001536166141831675,-4.763330834665019e-5,3.838478548063725e-8,0.001536284194639195,-4.783458629340891e-5,3.8536969464764897e-8,0.0015364548174580863,-4.8071792138992605e-5,3.871582755825761e-8,0.001536689888308331,-4.832221693893701e-5,3.890347256035087e-8,0.001536991949021952,-4.8559125680806725e-5,3.907898810591917e-8,0.0015373526882001662,-4.875585201501901e-5,3.9221757056841037E-08,0.0015377531409755225,-4.889068042494506e-5,3.931538272353313e-8,0.0015381659828674545,-4.895167436888976e-5,3.9351451406966635e-8,0.0015385598715198048,-4.894040830492917e-5,3.9332267184161023e-8,0.0015389053503828088,-4.887366805568127e-5,3.927184980018389e-8,0.0015391815674583567,-4.878238533919379e-5,3.919473310592367e-8,0.0015393827610044833,-4.870713902780217e-5,3.913220935194622e-8,0.001539522826925547,-4.868983638924286e-5,3.911586463438951e-8,0.001539635551012186,-4.8762258491063296e-5,3.916897922140672e-8,0.0015397681169518995,-4.893424373568861e-5,3.929783969200081e-8,0.0015399675307219867,-4.9186670824232385e-5,3.9486747633733346e-8,0.0015402639575685848,-4.94746582698892e-5,3.970072063670472e-8,0.001540658896768355,-4.974203898215638e-5,3.989665648604e-8,0.0015411250260262703,-4.9940960584229624e-5,4.0038309783718896e-8,0.0015416177088270302,-5.0046684404287795e-5,4.010752915400204e-8,0.0015420911707916128,-5.006124568783706e-5,4.010688682435594e-8,0.0015425111740769344,-5.000709715400226e-5,4.00545534176231e-8,0.0015428603593231258,-4.9916572907574924e-5,3.9975967592465016e-8,0.001543137348004615,-4.9822560505639655e-5,3.9896549730067413e-8,0.0015433527728847896,-4.9752685894152456e-5,3.983728353617607e-8,0.0015435248853113634,-4.972672630231794e-5,3.981289716560943e-8,0.0015436759860362377,-4.975595477250484e-5,3.9831537088095255e-8,0.0015438297952060482,-4.984325147671539e-5,3.989494979643839e-8,0.0015440093369692496,-4.998334813656624e-5,3.999866380557658e-8,0.0015442348151259754,-5.016309804535865e-5,4.013214246585282e-8,0.0015445211154071746,-5.0362121259628284e-5,4.027925529887606e-8,0.0015448749611662643,-5.055446980018576e-5,4.0419618992163206e-8,0.0015452923005028491,-5.071189862384606e-5,4.053125674762409e-8,0.0015457569800726891,-5.0808855828295383E-05,4.059460327889975e-8,0.0015462418900000286,-5.082850879931722e-5,4.059724221672877e-8,0.0015467132993301472,-5.076823346637892e-5,4.0538094268894254e-8,0.0015471380038922773,-5.064252614673594e-5,4.042945683138028e-8,0.0015474916360774626,-5.048174585710053e-5,4.0295709244955134e-8,0.0015477657624747324,-5.0326348408581844e-5,4.016852598729084e-8,0.0015479715584376128,-5.02176988612463e-5,4.00795759607021e-8,0.001548138675163666,-5.018759931395581e-5,4.0052468864238434e-8,0.001548309019173918,-5.0249167170106635e-5,4.0095999848332944e-8,0.001548526363415651,-5.039173011559901e-5,4.020064552392213e-8,0.001548824072026234,-5.0581979693915296e-5,4.033985817256759e-8,0.0015492146318262102,-5.0772290610955474e-5,4.047669746431854e-8,0.0015496851936439822,-5.091443598787875e-5,4.057438892398452e-8,0.001550201601146154,-5.0973893683465014e-5,4.0607169310144533e-8,0.001550719547427848,-5.093895551994056e-5,4.0567056747315524e-8,0.0015511979549022272,-5.082132789363123e-5,4.0464060310906736e-8,0.001551609085796503,-5.064930767517722e-5,4.032070429909841e-8,0.001551942485882253,-5.045777032215602e-5,4.0164179972009266e-8,0.001552203365741154,-5.027932903282667e-5,4.0019527762343134e-8,0.0015524080338778475,-5.0138911795649996e-5,3.990557662144009e-8,0.0015525789206599471,-5.005169954767954e-5,3.983352487266917e-8,0.0015527405622942454,-5.0023207216840704e-5,3.980713258549693e-8,0.001552916795278977,-5.005024771803662e-5,3.982350168918181e-8,0.0015531287739189376,-5.012197934084325e-5,3.987384769919168e-8,0.0015533932025365111,-5.022080731770897e-5,3.99441559610026e-8,0.0015537202826231122,-5.03234457482546e-5,4.0016025565273536e-8,0.0015541112665716941,-5.0402810390084915e-5,4.0068239562396716e-8,0.0015545561079804125,-5.0431489448755314e-5,4.007959506236113e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_15.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_15.json
deleted file mode 100644
index dc1eb06..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_15.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":15000,"numberOfSamples":1000,"samples":[0.001555032396790159,-5.038717964716439e-5,4.003321453737454e-8,0.001555507240340409,-5.025945257220019e-5,3.992178064606655e-8,0.0015559433318249748,-5.005568561411016e-5,3.975199831316558e-8,0.0015563086828940746,-4.9802949292686764e-5,3.9545822083813816e-8,0.001556587031841404,-4.9543375923704664e-5,3.9336583092513e-8,0.0015567845028372617,-4.93232976794034e-5,3.9160317297773175e-8,0.0015569291408115862,-4.9179757456819175e-5,3.904518941710335e-8,0.0015570631279621951,-4.912957061070448e-5,3.90031151041951e-8,0.0015572306984882043,-4.916483994647903e-5,3.902661169621281e-8,0.0015574660511056152,-4.9255840502179806e-5,3.9091477245714126e-8,0.0015577847760354089,-4.9359606772293576e-5,3.9163823082464017e-8,0.001558180685115808,-4.943135773630568e-5,3.920908834205859e-8,0.0015586283968716341,-4.943566203060656e-5,3.920059314584998e-8,0.0015590906701226305,-4.9354497209498185e-5,3.9125494924869697e-8,0.001559528261058972,-4.919020584318819e-5,3.8986728207848124e-8,0.0015599093591160292,-4.896289913685733e-5,3.880070214408021e-8,0.0015602159244718476,-4.870367300374791e-5,3.8591890031225615e-8,0.001560445583043622,-4.844627081761637e-5,3.838637217885279e-8,0.0015606095190522666,-4.821988699048854e-5,3.8206389463064e-8,0.001560728059333107,-4.80447105719932e-5,3.8067072967328046e-8,0.0015608258215469178,-4.7930366808124216e-5,3.797538689472998e-8,0.0015609276655558022,-4.787644642721989e-5,3.793059714039383e-8,0.0015610558505919753,-4.7874043041353836e-5,3.792543115973339e-8,0.0015612281647851558,-4.7907464781617856e-5,3.794734148986789e-8,0.0015614564996265033,-4.795579391508165e-5,3.797969902153523e-8,0.0015617453775785114,-4.7994480662788104e-5,3.8003106795686565e-8,0.001562090231917282,-4.799751763502489e-5,3.7997236526191586e-8,0.0015624757732016965,-4.7940913074933274e-5,3.7943666553683704e-8,0.0015628755385377238,-4.780797264952134e-5,3.783002608138753e-8,0.0015632543909054244,-4.759591895225801e-5,3.765503864336205e-8,0.0015635755508337965,-4.7321569326116703e-5,3.743272490582087e-8,0.0015638118247210714,-4.702212301492192e-5,3.719276938020053e-8,0.0015639572183669657,-4.674759666086147e-5,3.697442350326965e-8,0.0015640325431972783,-4.654548661616456e-5,3.681443353406246e-8,0.0015640803149591668,-4.644389332460276e-5,3.673389012822279e-8,0.0015641503210691414,-4.644165242496307e-5,3.673070606589074e-8,0.0015642829369577056,-4.651013021168292e-5,3.678135043023996e-8,0.0015644977495392904,-4.660446073429612e-5,3.685000664095114e-8,0.001564790749643378,-4.6677917336542896e-5,3.6900071652951433e-8,0.001565138707406003,-4.66938238368795e-5,3.690350083708066e-8,0.0015655073435626183,-4.663241657433939e-5,3.6845954665167155e-8,0.0015658602190323327,-4.649255514773499e-5,3.672776169544263e-8,0.0015661663607259592,-4.628936931980565e-5,3.656170224679889e-8,0.0015664055799049252,-4.6049225283354464e-5,3.636883604376693e-8,0.001566571002171141,-4.580336936715299e-5,3.6173502381504967e-8,0.0015666687673390187,-4.558160277952096e-5,3.599852488215996e-8,0.0015667154033415197,-4.5407215387777025e-5,3.586148463513818e-8,0.0015667338355941623,-4.529393320932333e-5,3.577253994149994e-8,0.0015667490993197454,-4.524500274399756e-5,3.573380667359368e-8,0.0015667846174289822,-4.5254024907903564e-5,3.57399848967389e-8,0.001566859497029681,-4.5306834496840176e-5,3.5779734964378544e-8,0.0015669868024443458,-4.5383715412729446e-5,3.583733887760147e-8,0.001567172455798627,-4.546158479647085e-5,3.5894430294282084e-8,0.0015674144103284765,-4.551618411695069e-5,3.593183701499408e-8,0.001567701899164982,-4.5524599621765035e-5,3.593172347162997e-8,0.0015680149455750063,-4.5468646452923546e-5,3.588034316011282e-8,0.001568325023881159,-4.533952995396979e-5,3.577163595791014e-8,0.001568598375261144,-4.514331996072684e-5,3.561129614715066e-8,0.0015688033307539359,-4.490516831986402e-5,3.5419775786897466e-8,0.0015689213635770478,-4.4668520678280764e-5,3.5231422956829793e-8,0.0015689580930293371,-4.448560774152507e-5,3.508694038347068e-8,0.001568947072838441,-4.439966029933874e-5,3.501951652065551e-8,0.0015689406813127415,-4.442653532989222e-5,3.5040594280255434e-8,0.0015689905208410501,-4.454694343553021e-5,3.5134005465375e-8,0.0015691279470960945,-4.471462114836585e-5,3.526264408522862e-8,0.001569355167197491,-4.4874982251366504e-5,3.5383351783517066e-8,0.0015696491590304815,-4.498328840192346e-5,3.5461324901144965e-8,0.0015699730086184231,-4.5014843868502684e-5,3.547806086334234e-8,0.0015702878466824224,-4.496644962533722e-5,3.5432227789964445e-8,0.0015705615045717492,-4.48522455988792e-5,3.5336015448358164e-8,0.0015707731361774711,-4.469737825179658e-5,3.520983386424041e-8,0.0015709146371371892,-4.453167337270511e-5,3.507720338549927e-8,0.0015709899450492496,-4.4384204168804375e-5,3.4960569188722246e-8,0.0015710129446352492,-4.427899769327988e-5,3.487815813513884e-8,0.0015710044338982897,-4.4232035758685976e-5,3.484187409746818e-8,0.0015709885901114629,-4.424966839076787e-5,3.48562113954969e-8,0.0015709893763831153,-4.4328433769242266e-5,3.491813422291662e-8,0.0015710273252120134,-4.4456174728882454e-5,3.501786728147512e-8,0.001571117095259444,-4.4614146603934006e-5,3.514044529398255e-8,0.0015712659471281585,-4.4779625550250765e-5,3.526772890807883e-8,0.0015714729990209998,-4.492865339998087e-5,3.5380643711257126e-8,0.0015717290886569444,-4.503882672267935e-5,3.5461540303863484e-8,0.0015720171486412,-4.509218250304847e-5,3.549662088853352e-8,0.0015723131710548195,-4.507838065681111e-5,3.547847663955526e-8,0.0015725883317389549,-4.499835421555663e-5,3.540880348366659e-8,0.001572813307826608,-4.486786800809496e-5,3.5300892636416496e-8,0.0015729655070056204,-4.47191603474519e-5,3.518058646081875e-8,0.0015730384980441499,-4.459776227937817e-5,3.5083578249073555e-8,0.0015730502214990328,-4.4551776967474605e-5,3.504702004926623e-8,0.0015730436787471955,-4.461436338745037e-5,3.5095992048822466e-8,0.0015730749295945277,-4.478695231412046e-5,3.5230609633398364e-8,0.00157319126570817,-4.5034672737442647e-5,3.542266299781257e-8,0.0015734115792861226,-4.529940702276995e-5,3.562602881073632e-8,0.0015737208148722149,-4.552319788898638e-5,3.5795178558746185e-8,0.0015740799139331147,-4.5667994072365434e-5,3.590075376760617e-8,0.0015744426094396393,-4.572297761098429e-5,3.593523410445762e-8,0.0015747694654922382,-4.570060260613509e-5,3.5909545233455296e-8,0.0015750350883362262,-4.56275210357777e-5,3.584556214181634e-8,0.0015752294134122743,-4.5535604842148e-5,3.576877953266378e-8,0.0015753556604648073,-4.545534529408837e-5,3.5703062165524755e-8,0.0015754271119554817,-4.541175214597163e-5,3.566756900441209e-8,0.0015754637850900197,-4.5422021566715475e-5,3.567516845886349e-8,0.0015754892419881964,-4.549435685857388e-5,3.5731726192643936e-8,0.0015755275323007985,-4.562767745693644e-5,3.5835969133508226e-8,0.0015756002822981585,-4.581213815904196e-5,3.597985887669808e-8,0.0015757240290649212,-4.603051129355547e-5,3.6149580268519345e-8,0.0015759080778055216,-4.626046736804536e-5,3.632726928230143e-8,0.0015761532032229398,-4.6477532670966515e-5,3.6493374497356665e-8,0.0015764513190264005,-4.66583682351069e-5,3.662937540080888e-8,0.0015767861221216862,-4.6784116146357104e-5,3.67205887315865e-8,0.0015771347357232419,-4.6843579857850895e-5,3.6758772560147956e-8,0.0015774703483009739,-4.683599304438294e-5,3.67442426941251e-8,0.0015777659552356682,-4.677317302149219e-5,3.66873186351272e-8,0.0015779995237324785,-4.668049190430199e-5,3.660873387655922e-8,0.0015781605555831091,-4.659528839149842e-5,3.6538079166891776e-8,0.0015782567852510353,-4.656091594072024e-5,3.650901070819981e-8,0.0015783179633283798,-4.6615418475760236e-5,3.655049543919046e-8,0.0015783922903835324,-4.677665068892878e-5,3.667544840847755e-8,0.0015785325756434202,-4.703036852583066e-5,3.687171431896692e-8,0.0015787756427616659,-4.733035159097787e-5,3.7102367094230025e-8,0.0015791259181678027,-4.761430923312568e-5,3.731827295238525e-8,0.0015795538411506713,-4.7828037828527396e-5,3.747709330858676e-8,0.0015800096969891477,-4.7943878769038486E-05,3.7557792145692596e-8,0.0015804431624417705,-4.796481847401571e-5,3.756375094216574e-8,0.0015808178057632656,-4.791635491291735e-5,3.7516101368887467e-8,0.0015811164141571583,-4.783405291768669e-5,3.744360223405161e-8,0.0015813392677104443,-4.775314048922322e-5,3.737423693485045e-8,0.0015814993203580124,-4.7702326404354844e-5,3.733035174588052e-8,0.0015816171643790661,-4.7701193814970105e-5,3.7326791516613286e-8,0.0015817169630395575,-4.775965776778595e-5,3.737071389079256e-8,0.001581823347515752,-4.787832470052812e-5,3.7462041637598934e-8,0.0015819588828547596,-4.8049258257063996e-5,3.7594106726625155e-8,0.0015821417963573898,-4.8257082895207296e-5,3.775446258471748e-8,0.0015823838479101893,-4.848060164321304e-5,3.792608585212836e-8,0.001582688504544025,-4.869520808633535e-5,3.8089269531459865e-8,0.0015830498625370153,-4.887615170356731e-5,3.822428825087552e-8,0.0015834527637300596,-4.9002351733972964e-5,3.8314560752223585e-8,0.0015838743628422021,-4.906026034512833e-5,3.834982706901485e-8,0.001584287221216587,-4.904715037019271e-5,3.832875105474419e-8,0.001584663741938823,-4.897310145628491e-5,3.826032241557493e-8,0.001584981463061841,-4.8861079857009655e-5,3.8163607031293117e-8,0.0015852285820703014,-4.874466991235223e-5,3.8065608345197424e-8,0.0015854088600154176,-4.8662962215500585e-5,3.7997004979177486e-8,0.0015855444217866606,-4.86522846509656e-5,3.798563784368472e-8,0.001585674261819128,-4.8735533803462465e-5,3.804836085608511e-8,0.001585846375312292,-4.891189807186035e-5,3.818334234181005e-8,0.00158610348310477,-4.9151982596995845e-5,3.836657757562266e-8,0.001586466654834368,-4.9403489989380824e-5,3.8556531405909456e-8,0.0015869251102463237,-4.960807810621859e-5,3.870740581132169e-8,0.0015874391429179613,-4.9722343633764594e-5,3.8785587350351096e-8,0.0015879553631793688,-4.973190214442801e-5,3.878064452942808e-8,0.001588425577199708,-4.9652024693980827e-5,3.870567071163837e-8,0.00158881977381429,-4.951725979120483e-5,3.8588846273972866e-8,0.0015891295065786543,-4.936775952074638e-5,3.84623889278333e-8,0.001589364066660281,-4.9238715531157035e-5,3.8354092314337146e-8,0.001589543909685928,-4.9154994199223596e-5,3.8283168581558065e-8,0.0015896945618050432,-4.9129902713118106e-5,3.825948659678869e-8,0.0015898422153512498,-4.916611627099987e-5,3.8284520145138256e-8,0.001590010859028341,-4.925727610695112e-5,3.8352726691160195e-8,0.0015902202966968217,-4.938958761833569e-5,3.845280876708773e-8,0.0015904844846205953,-4.954336749390981e-5,3.8568874325898195e-8,0.0015908099083882816,-4.969485381752708e-5,3.868182932013065e-8,0.0015911941068452644,-4.98187279964764e-5,3.8771413773902485e-8,0.0015916248545581027,-4.989160905264646e-5,3.881908380631811e-8,0.0015920807276100831,-4.9896318601345885e-5,3.881152013111638e-8,0.0015925336582621405,-4.982618528736371e-5,3.874409592893164e-8,0.0015929536328127007,-4.9688213379708714e-5,3.862330576383604e-8,0.0015933149629505758,-4.950379940089145e-5,3.846710078351864e-8,0.001593602808933612,-4.930610263244153e-5,3.830248200720968e-8,0.0015938182399501703,-4.913404445176729e-5,3.8160453318297506e-8,0.0015939802243672306,-4.902380951458289e-5,3.806916042959481e-8,0.0015941233988982489,-4.899946750049259e-5,3.8046581250505863e-8,0.0015942911880484664,-4.906498251129774e-5,3.80945375169188e-8,0.0015945249563040758,-4.920032285756388e-5,3.8196040630227036e-8,0.0015948515164234465,-4.9364207196608636e-5,3.8317796980507725e-8,0.001595273159867582,-4.950449066879408e-5,3.841854809931519e-8,0.0015957650230228916,-4.9573895929635576e-5,3.846143646287539e-8,0.0015962822947114133,-4.954513058246872e-5,3.842577890144347e-8,0.0015967748230214939,-4.941856956430488e-5,3.8312929742037596e-8,0.001597202494943064,-4.921934317902047e-5,3.814375061431865e-8,0.0015975448239908775,-4.898645979137916e-5,3.794978155712491e-8,0.0015978022649466863,-4.876005227964857e-5,3.7762998553756675e-8,0.0015979913135114392,-4.85719625681952e-5,3.76083609760703e-8,0.0015981373497028673,-4.84414879329937e-5,3.750059586381275e-8,0.0015982682896983585,-4.837523496803743e-5,3.744429677813117e-8,0.0015984102235238262,-4.8369073369492696e-5,3.743563223650375e-8,0.0015985848577516198,-4.8410619737028296e-5,3.746436079232389e-8,0.0015988080578801715,-4.848147621960483e-5,3.751556089859576e-8,0.0015990887787054714,-4.8559129023742496e-5,3.7571077107145096e-8,0.0015994279675657184,-4.861890144868653e-5,3.761106919377434e-8,0.0015998175105410416,-4.8636534469734454e-5,3.761614354464905e-8,0.0016002397772522405,-4.859177185400766e-5,3.757032802152641e-8,0.0016006686543139628,-4.84728413566226e-5,3.74647259539885e-8,0.0016010729910405593,-4.828097347843213e-5,3.7301095421887124e-8,0.0016014227983081818,-4.8033231546302496e-5,3.709395135898375e-8,0.0016016972164009232,-4.776158920159305e-5,3.686957478771082e-8,0.001601891799677878,-4.750708267512769e-5,3.6661070725469196e-8,0.0016020220967839574,-4.730984733590426e-5,3.65002268054441e-8,0.0016021214376728508,-4.7197895387483466e-5,3.640855159267248e-8,0.0016022329539292035,-4.7178441191331395e-5,3.6390568883612766e-8,0.001602398098868516,-4.723486700987873e-5,3.64317778525816e-8,0.0016026451775172069,-4.7330459524417435e-5,3.6502037536061675e-8,0.0016029812826023223,-4.741790311922242e-5,3.6563402100527594e-8,0.0016033900211863004,-4.7451924030049034e-5,3.658023478305435e-8,0.0016038359142873748,-4.7401493578198037e-5,3.65287527576269e-8,0.0016042743565764664,-4.725778830099e-5,3.6403069368047857e-8,0.0016046639296792753,-4.703526837810497e-5,3.621574128865795e-8,0.0016049768310006606,-4.676579911472799e-5,3.599284252644777e-8,0.0016052041001474093,-4.6488499312397777e-5,3.576575444073776e-8,0.0016053547788864799,-4.623936983449527e-5,3.556292473478258e-8,0.0016054506685802667,-4.604404725371659e-5,3.540424269592429e-8,0.00160551955904301,-4.591491456251917e-5,3.529894528530359e-8,0.0016055893304846428,-4.585176544402924e-5,3.5246319584402404e-8,0.0016056839738281931,-4.584435487657563e-5,3.523780378361235e-8,0.0016058214226180075,-4.58754099005351e-5,3.525934967930275e-8,0.0016060125662822487,-4.5923316964371105e-5,3.5293484731850514e-8,0.0016062607469574757,-4.5964330399595076e-5,3.5321033008763995e-8,0.0016065612721366269,-4.597465556251913e-5,3.5322825752794e-8,0.001606900939181552,-4.5932990607520925e-5,3.528185027009399e-8,0.0016072580949436541,-4.582396800827508e-5,3.518611857277115e-8,0.0016076041773001588,-4.564246758849356e-5,3.503214741997083e-8,0.001607907835484071,-4.539791130326102e-5,3.482829369055841e-8,0.001608142149154005,-4.511646354493401e-5,3.4596304332457856e-8,0.0016082937279128775,-4.483839603063741e-5,3.4368956580540236e-8,0.001608370164011681,-4.460905850485839e-5,3.418262319337986e-8,0.0016084013367679887,-4.4465215778220584e-5,3.4066244784300986e-8,0.0016084321421592992,-4.442209614898366e-5,3.4031040378216796e-8,0.0016085087032214472,-4.4467328910789975e-5,3.406590890538271e-8,0.001608663854204168,-4.4564751128790306e-5,3.414084287148784e-8,0.0016089078261996121,-4.466603533873435e-5,3.4216585652257157e-8,0.0016092268749752002,-4.472491235101269e-5,3.425621097733665e-8,0.0016095888815234746,-4.470896660568734e-5,3.4234524970492415e-8,0.00160995294459917,-4.46061700180591e-5,3.414304169545714e-8,0.0016102797685153603,-4.442554150736995e-5,3.39901449867369e-8,0.001610540291413511,-4.41928249660299e-5,3.379729090404697e-8,0.001610720877149768,-4.3942959524330366e-5,3.3592785051752095e-8,0.0016108243718107255,-4.3711535533740247e-5,3.340493987008991e-8,0.0016108673896750982,-4.352740556905542e-5,3.325631883018611e-8,0.0016108751528596623,-4.340803798367828e-5,3.31602500419108e-8,0.0016108756639389974,-4.3358117340029234e-5,3.31199083561361e-8,0.00161089471982018,-4.33708154841172e-5,3.312942713946964e-8,0.0016109525410755215,-4.34306101333567e-5,3.317612870807587e-8,0.0016110620470242626,-4.351655218140907e-5,3.3243045504261954e-8,0.001611228317562383,-4.360524372648092e-5,3.331122931252226e-8,0.0016114486396584151,-4.367330914275547e-5,3.336174083792286e-8,0.0016117127150576606,-4.3699607289291936e-5,3.33775293772246e-8,0.0016120029665654158,-4.366764384768521e-5,3.3345510827283086e-8,0.0016122953248352881,-4.35685848202546e-5,3.3259070099345036e-8,0.0016125613483437497,-4.340490324202378e-5,3.312093756709973e-8,0.0016127727551766623,-4.319382193216696e-5,3.294576076085041e-8,0.0016129088996316033,-4.296843215561775e-5,3.276074107332174e-8,0.0016129659137071207,-4.277350269527232e-5,3.260204841704383e-8,0.0016129634518711477,-4.2654123502679954e-5,3.250560511019986e-8,0.0016129434192342419,-4.263951160928507e-5,3.249413087936494e-8,0.0016129578689934336,-4.272950726670111e-5,3.25664702196115e-8,0.001613050232896208,-4.2892278302879625e-5,3.2696007974918103e-8,0.0016132395138366183,-4.307566567224347e-5,3.2840080832235315e-8,0.0016135153781361821,-4.3225967007183096e-5,3.295532521363271e-8,0.0016138447598283675,-4.330446141592195e-5,3.3011068605873004e-8,0.0016141845061787268,-4.329558915141256e-5,3.299579503566333e-8,0.0016144937858859182,-4.320654916003372e-5,3.29165093334752e-8,0.0016147426836319956,-4.3061418898431364e-5,3.2793617549553344e-8,0.0016149162538619413,-4.28932148940195e-5,3.2654235700933185e-8,0.0016150148382885333,-4.273622151749938e-5,3.252591778532962e-8,0.0016150517857130536,-4.261972946654225e-5,3.243173477682972e-8,0.001615049514803641,-4.256367933918242e-5,3.238701919898679e-8,0.0016150347633862986,-4.2576490174574447e-5,3.239787068664833e-8,0.0016150339039934956,-4.265505690214593e-5,3.24613058418649e-8,0.0016150690590622733,-4.278649690659109e-5,3.2566675877575025e-8,0.0016151554483356746,-4.2951022505443604e-5,3.269788817933618e-8,0.0016153001048231429,-4.312527285417708e-5,3.283598386574173e-8,0.0016155017602802555,-4.328548587995333e-5,3.2961656880308e-8,0.0016157514557302796,-4.3410193344149555e-5,3.305749480030836e-8,0.0016160335151886938,-4.348253336100209e-5,3.310998203842222e-8,0.0016163267962227231,-4.3492450229067064e-5,3.311139396130571e-8,0.001616606420595729,-4.343902077762299e-5,3.306167660919614e-8,0.001616846570836147,-4.3332918110579625e-5,3.297027424956425e-8,0.0016170251774682734,-4.319829401359851e-5,3.285736904569684e-8,0.0016171308087405997,-4.307222907662207e-5,3.2753160720529384e-8,0.0016171704476762414,-4.299915965162309e-5,3.2693234113441636e-8,0.0016171742841552047,-4.301865193973153e-5,3.2708769773927315e-8,0.0016171918923307148,-4.314894035091985e-5,3.281350053431754e-8,0.0016172768691222427,-4.337450691395369e-5,3.299396166424684e-8,0.0016174652144145727,-4.364756211844907e-5,3.321089173978478e-8,0.0016177597932134746,-4.390561146011057e-5,3.341354613711286e-8,0.0016181304852361284,-4.4095543629212986e-5,3.3559243265705895e-8,0.0016185284692897027,-4.4190547319258514e-5,3.362705585213057e-8,0.0016189045522376445,-4.4193243891010715e-5,3.362020601659291e-8,0.0016192223969067512,-4.412817824935237e-5,3.355967969498163e-8,0.0016194638193470891,-4.403063195720452e-5,3.34748138358053e-8,0.0016196280163832983,-4.393679585500097e-5,3.339511192107193e-8,0.0016197277267549035,-4.3877154423368346e-5,3.334489133236136e-8,0.0016197845593948158,-4.387287847418416e-5,3.334056960624522e-8,0.0016198245204375643,-4.3934319125600074e-5,3.3389732573910446e-8,0.0016198739737394417,-4.4060948688515964e-5,3.3491313790702704e-8,0.001619956137050907,-4.424248547766236e-5,3.3636593203828094e-8,0.0016200882954145463,-4.4460987523551896e-5,3.381084517949932e-8,0.0016202798937417601,-4.469366279624242e-5,3.399550450501883e-8,0.0016205316675254457,-4.4916122131234496e-5,3.417072218106146e-8,0.0016208358841783572,-4.51056635939364e-5,3.431804144775011e-8,0.0016211775123474187,-4.524417861154815e-5,3.442285758382958e-8,0.0016215360341788234,-4.532053562216261e-5,3.447647579529873e-8,0.0016218877589150979,-4.5332465127465866e-5,3.4477688314315185e-8,0.0016222086413283134,-4.528794941479019e-5,3.4433800071019065e-8,0.0016224777898770169,-4.520602795248432e-5,3.436102856785716e-8,0.0016226820080681198,-4.511649275684907e-5,3.428394416218811e-8,0.0016228212897336288,-4.505716598228851e-5,3.423303906504118e-8,0.0016229139005976808,-4.50670885186496e-5,3.423920259833186e-8,0.0016229978830992289,-4.51749217202737e-5,3.432456868826437e-8,0.0016231246866747196,-4.538503437297744e-5,3.449162408965321e-8,0.0016233428870291516,-4.566853319778398e-5,3.4716252957965794e-8,0.0016236772248806965,-4.596812991238768e-5,3.495178509204106e-8,0.0016241152647686152,-4.621869465816446e-5,3.514559949367053e-8,0.0016246116056889723,-4.637312377459764e-5,3.526003661180751e-8,0.0016251072872445914,-4.6418152194176277e-5,3.5285198490338464e-8,0.0016255516901675028,-4.637296697358738e-5,3.523771443245092e-8,0.0016259155653828902,-4.627592173555477e-5,3.5149685697300395e-8,0.0016261928281600965,-4.616943668607092e-5,3.5056106184870745e-8,0.0016263953747431522,-4.608946050777786e-5,3.4986134383754507e-8,0.00162654592076792,-4.606055522365073e-5,3.4959174040392114e-8,0.0016266717530924076,-4.6094961601108544e-5,3.498436583192719e-8,0.0016268002162611959,-4.619362578856872e-5,3.506170277704274e-8,0.0016269555762756986,-4.6347898809298577e-5,3.5183591772346576e-8,0.0016271567027249208,-4.654151467710764e-5,3.533649211716943e-8,0.0016274153179251607,-4.675286847043376e-5,3.550269075582101e-8,0.0016277348011426761,-4.695766887346226e-5,3.566236234788382e-8,0.0016281097039318963,-4.7132008983412574e-5,3.5796030279421156e-8,0.0016285262644494334,-4.7255678611228e-5,3.5887315314142226e-8,0.001628964073625187,-4.731526564371127e-5,3.5925567937765023E-08,0.0016293987695045343,-4.7306594472402196e-5,3.5907931482636357e-8,0.0016298055166128098,-4.723617482978707e-5,3.5840485560798704e-8,0.0016301629750232944,-4.7121376003895105e-5,3.573820180050115e-8,0.0016304574112304933,-4.698912835410786e-5,3.562359354313474e-8,0.001630686636381212,-4.687296006046646e-5,3.552402309108488e-8,0.001630863266571223,-4.6807921698255846e-5,3.546744809793738e-8,0.001631016074302961,-4.6822961021669483e-5,3.5476346222796364e-8,0.0016311873490471736,-4.6931285427303824e-5,3.556023149782128e-8,0.0016314241196807519,-4.712134705140385e-5,3.570874980570606e-8,0.0016317631244090534,-4.7353656267366736e-5,3.5889370924150126e-8,0.0016322143049490748,-4.756904084464057e-5,3.605411987293246e-8,0.0016327523237028758,-4.770869469055887e-5,3.615570802256036e-8,0.001633323721960312,-4.7737093003807625e-5,3.616600609540491e-8,0.0016338673630050457,-4.7654512699828896e-5,3.608614967055138e-8,0.0016343363161102794,-4.7492623882838964e-5,3.59428498486487e-8,0.0016347097760828822,-4.729839554612501e-5,3.577507367476015e-8,0.0016349924051370127,-4.7117130386448616e-5,3.5619987353530545e-8,0.0016352061343948639,-4.6981902350859326e-5,3.550426387925348e-8,0.0016353807083681227,-4.691028273741784e-5,3.544154910868567e-8,0.0016355464804455415,-4.690570628738172e-5,3.543383998937961e-8,0.001635730112170018,-4.696057989449839e-5,3.5474262687520425e-8,0.0016359523601496132,-4.705941012943231e-5,3.5549738432914185e-8,0.0016362269041772656,-4.718145036852111e-5,3.56431208201011e-8,0.0016365595879771274,-4.730304536267612e-5,3.5735016865504467e-8,0.0016369478987237219,-4.7400035126582016e-5,3.58056778292684e-8,0.0016373808483354118,-4.7450543227840547e-5,3.583728050603426e-8,0.0016378397017732427,-4.7438197284311285e-5,3.581663456998011e-8,0.0016383000265438497,-4.7355354305080354e-5,3.573790790644766e-8,0.001638735210162438,-4.720557229499285e-5,3.5604668453241686e-8,0.0016391211394910926,-4.700451726643738e-5,3.5430520082254106e-8,0.001639441306452008,-4.6778640180967995e-5,3.5237790208829276e-8,0.0016396912690668532,-4.6561377647454084e-5,3.5054142350092676e-8,0.0016398813658379573,-4.63872399230719e-5,3.490753406266736e-8,0.0016400368292994823,-4.628458200577974e-5,3.4820292858860436e-8,0.0016401946504560447,-4.6268117996810935e-5,3.480322538106792e-8,0.0016403967479677747,-4.6332728578918845e-5,3.485095674241419e-8,0.001640679685853359,-4.645083249127904e-5,3.494018708827335e-8,0.0016410627568417529,-4.657595311703952e-5,3.5032828146860476e-8,0.0016415385136823188,-4.665404102506928e-5,3.5085209016852697e-8,0.0016420712361589218,-4.6640593747802424e-5,3.506183028304087e-8,0.0016426066758982037,-4.651680204060536e-5,3.49483030632206e-8,0.0016430902029990438,-4.6296213477060036e-5,3.4756616314912035e-8,0.0016434846325752775,-4.601807762842053e-5,3.451956176891535e-8,0.0016437792010674768,-4.573164001443794e-5,3.4277753576294015e-8,0.0016439873944463735,-4.5480182565328244e-5,3.406648234300473e-8,0.0016441377649539473,-4.5291435015766347e-5,3.390791520498886e-8,0.0016442637177816871,-4.517553440841134e-5,3.38096166616314e-8,0.0016443960339398653,-4.512789702654878e-5,3.376713660815342e-8,0.0016445588953631549,-4.5133752929414504e-5,3.3767884966551584e-8,0.0016447684565497988,-4.517231429766106e-5,3.3794572068923304e-8,0.001645032669366525,-4.521994135279829e-5,3.382772789479797e-8,0.0016453514524502528,-4.5252519765481794e-5,3.3847558228796395e-8,0.0016457168505185967,-4.524759349498278e-5,3.38356608525806e-8,0.001646113327512554,-4.51867851078022e-5,3.3777059144320585e-8,0.0016465187233436285,-4.5058731090684236e-5,3.366270182651552e-8,0.0016469065595708819,-4.4862213010709696e-5,3.349209230451183e-8,0.0016472501485759548,-4.460855757214049e-5,3.327522050357837e-8,0.0016475282892311342,-4.43219688174928e-5,3.303267631530774e-8,0.001647731361928809,-4.40365769207798e-5,3.279298525555044e-8,0.0016478658173717641,-4.378990661504161e-5,3.2587010223876336e-8,0.001647955012278325,-4.361395560197095e-5,3.244050743190803e-8,0.0016480353368982224,-4.352634140384957e-5,3.236693816783387e-8,0.0016481481573200063,-4.352430208745986e-5,3.236282743263174e-8,0.0016483294908475749,-4.358362185466893e-5,3.240727442369534e-8,0.001648600066709863,-4.366323577305269e-5,3.2466074614676396e-8,0.0016489585077819739,-4.371486073861877e-5,3.249977289857885e-8,0.0016493799815096145,-4.369565905864213e-5,3.247396466644824e-8,0.0016498216574363398,-4.35805854427313e-5,3.236916312326058e-8,0.0016502342591044501,-4.337016148742985e-5,3.2186868815840264e-8,0.0016505762173780565,-4.309020706568123e-5,3.194909432152713e-8,0.0016508250968513124,-4.278317246005813e-5,3.1691092721698956e-8,0.0016509819009967624,-4.24946924788503e-5,3.1450271221881416e-8,0.0016510674183862332,-4.226105950962592e-5,3.125597438215787e-8,0.0016511135338679924,-4.210202576888828e-5,3.112374663814163e-8,0.0016511538874274358,-4.201993406387043e-5,3.105483497910188e-8,0.0016512170388640625,-4.200324771532353e-5,3.1039256218679945e-8,0.0016513230147448136,-4.2031673250908966e-5,3.106005739207479e-8,0.0016514824899899535,-4.2080862105879425e-5,3.109711887696447e-8,0.0016516973653265966,-4.212590433392133e-5,3.1129923067476226e-8,0.001651961729402234,-4.214373526750093e-5,3.113947244255304e-8,0.001652262709403183,-4.2115034434587586e-5,3.11098777670916e-8,0.001652581282236162,-4.20262355409554e-5,3.103010807540562e-8,0.001652893563089459,-4.1871968498026697e-5,3.089609413234407e-8,0.0016531733119630543,-4.165773999853627e-5,3.071294747399099e-8,0.001653396304072018,-4.1401950749318465e-5,3.0496512296258735e-8,0.0016535465337220673,-4.113559677284715e-5,3.027291157231968e-8,0.00165362283822673,-4.08978653952933e-5,3.007468972951524e-8,0.001653643051829214,-4.072709688518788e-5,2.993320892854408e-8,0.0016536425379715574,-4.064915069866908e-5,2.986905479463843e-8,0.0016536658656256423,-4.0667642322225216e-5,2.988415848613424e-8,0.0016537538623654171,-4.076077998128367e-5,2.995949305378407e-8,0.0016539310239152949,-4.088682206365838e-5,3.0059909699632935e-8,0.0016541982039326847,-4.099610396545309e-5,3.0144299811144e-8,0.0016545328263749025,-4.1044953793367646e-5,3.0177129842224954e-8,0.0016548957129889686,-4.100692229408898e-5,3.013755445295461e-8,0.0016552417765755723,-4.0878540058739154e-5,3.0023865014476645e-8,0.0016555313813681053,-4.0678744800547455e-5,2.985267628556814e-8,0.0016557394578348126,-4.0442706059349526e-5,2.965356616713717e-8,0.0016558602205119905,-4.0212091256584694e-5,2.9460936650144332e-8,0.0016559066064064827,-4.002467175107929e-5,2.9305507808049016e-8,0.0016559051411805651,-3.990618815504244e-5,2.9207810627581598e-8,0.0016558883208421219,-3.986641734804314e-5,2.9175190181454984e-8,0.0016558871094012825,-3.989970995789232e-5,2.920244204328383e-8,0.0016559255239323612,-3.9988717521732396e-5,2.9274958922300416e-8,0.0016560179934640134,-4.010939295998521e-5,2.9372803922459204e-8,0.0016561690600313398,-4.023567907279301e-5,2.947446435780696e-8,0.0016563744709726966,-4.0343077329543915e-5,2.9559704687070583e-8,0.0016566227473716701,-4.04110569171678e-5,2.9611550177314757e-8,0.0016568967011817656,-4.0424765170366424e-5,2.9617783814663727e-8,0.0016571748725286567,-4.03766005139679e-5,2.9572361572399208e-8,0.001657433277921752,-4.026798280415287e-5,2.9476932544257488e-8,0.0016576481341211992,-4.011122108290574e-5,2.9342315929308953e-8,0.0016578002161897344,-3.993068140079735e-5,2.918927620055278e-8,0.0016578808882250792,-3.97616016784514e-5,2.904730413787855e-8,0.0016578983842147038,-3.964455859766971e-5,2.894986463588264e-8,0.0016578810457861806,-3.961480375790006e-5,2.8925550308629004e-8,0.0016578735047228827,-3.968893422226867e-5,2.8987194852995764e-8,0.0016579242628156493,-3.985510074322592e-5,2.9124022121367424e-8,0.0016580686098759247,-4.007348282468502e-5,2.9302307407495906e-8,0.001658315212483153,-4.028875236110224e-5,2.9475907260284677e-8,0.0016586433615687947,-4.044883713349159e-5,2.9601907087753384e-8,0.0016590113970561915,-4.0520869931719907e-5,2.9653810852602028e-8,0.0016593709065407672,-4.049825768358674e-5,2.9627222749183985e-8,0.0016596801558158162,-4.039855087642855e-5,2.953777937619335e-8,0.0016599128451770951,-4.025546688761349e-5,2.9414208659192474e-8,0.001660061372670357,-4.010894002692455e-5,2.928985879812469e-8,0.0016601355508499426,-3.999598249842553e-5,2.9195098085642385e-8,0.0016601582578794414,-3.994386969418339e-5,2.9151836997324146e-8,0.0016601594601349523,-3.9966285990856224e-5,2.9170608546724392E-08,0.0016601699239930832,-4.006254573710791e-5,2.9250175101477995e-8,0.0016602158041532625,-4.021951416375853e-5,2.9379253301896273e-8,0.0016603149537395255,-4.041536412718664e-5,2.9539614735345927e-8,0.00166047527124585,-4.062408817363606e-5,2.970971399095024e-8,0.0016606948895783432,-4.081978853524619e-5,2.986812443718438e-8,0.0016609636296508186,-4.098007900947471e-5,2.9996308350286483e-8,0.0016612650174455234,-4.108841983012459e-5,3.0080601450579956e-8,0.0016615783991599132,-4.113565076063209e-5,3.01135932639863e-8,0.00166188105966781,-4.11211016170598e-5,3.009513534055636e-8,0.001662150531071203,-4.105352714493535e-5,3.0033097660775586e-8,0.0016623675379770072,-4.095183539624763e-5,2.994381510048298e-8,0.0016625201033940193,-4.0844962473662907e-5,2.98517361833591e-8,0.0016626087554811723,-4.0769446539057265e-5,2.9787188477707118e-8,0.0016626514160071732,-4.0762994359918156e-5,2.9780965991072815e-8,0.0016626848298044925,-4.0853432310140516e-5,2.9855291758414986e-8,0.0016627585180696237,-4.104557297078488e-5,3.001319945286181e-8,0.0016629196343020275,-4.1312810810254054e-5,3.023184378109478e-8,0.0016631936622173485,-4.1601319751516236e-5,3.046615302114082e-8,0.0016635717482644979,-4.1848343784879263e-5,3.0664058183648755e-8,0.0016640132555107746,-4.200576477773202e-5,3.0786057280139574e-8,0.0016644620386205267,-4.205590491481198e-5,3.0818301607812385e-8,0.001664866364125141,-4.201279974388258e-5,3.0773509768777413e-8,0.001665192705554029,-4.1912072651471524e-5,3.068227045198648e-8,0.0016654301308830564,-4.1797159168452974e-5,3.0581274453788686e-8,0.0016655875286445104,-4.170783384293948e-5,3.050359333944092e-8,0.001665687465604892,-4.167319984191924e-5,3.0472896827926416e-8,0.0016657594905155892,-4.170874776273719e-5,3.050124412626773e-8,0.0016658342301060726,-4.181625386895793e-5,3.058929521132896e-8,0.0016659386770511526,-4.1985505643195065e-5,3.0727965256502515e-8,0.0016660927790692734,-4.2197234556937535e-5,3.0900934221248055e-8,0.001666307394327278,-4.242676039351328e-5,3.108761361993264e-8,0.0016665836116936171,-4.2647885737481854e-5,3.1266263776837525e-8,0.0016669133750296294,-4.2836615240290816e-5,3.141699700450582e-8,0.0016672812040082632,-4.29742538784887e-5,3.1524353127941986e-8,0.001667666583854231,-4.3049585079543835e-5,3.157918783389978e-8,0.0016680466219054927,-4.306016694156729e-5,3.1579840829446867e-8,0.0016683988209936053,-4.3012919060955386e-5,3.153264421759085e-8,0.0016687039684606657,-4.2924075892586436e-5,3.145177637443578e-8,0.001668949248977301,-4.281847186208641e-5,3.135844372913255e-8,0.001669131786259909,-4.272775819299064e-5,3.127914542178871e-8,0.0016692623804481766,-4.268653070428464e-5,3.1242302733313314e-8,0.0016693680627836978,-4.272526972232355e-5,3.1272440060728026e-8,0.0016694908319522278,-4.286013130087455e-5,3.138195636848311e-8,0.0016696795079151228,-4.3082236687797025e-5,3.156257050561017e-8,0.0016699738397906113,-4.335263606913009e-5,3.178138863954782e-8,0.0016703860640257925,-4.3610062290433165e-5,3.1987399692878435e-8,0.0016708909850968417,-4.3792311883293744e-5,3.212916881254575e-8,0.0016714333005318656,-4.3861116917503015e-5,3.217546090751692e-8,0.0016719492822700806,-4.3815726814167675e-5,3.2126524444803504e-8,0.0016723897475633752,-4.368843070089595e-5,3.201025739742718e-8,0.0016727324810957033,-4.352796787840965e-5,3.1868119479992646e-8,0.0016729818078562674,-4.338203342372647e-5,3.174024705968066e-8,0.001673160510358554,-4.3286058936851166e-5,3.165596355869807e-8,0.0016733001997954202,-4.325918304672302e-5,3.1630534790235667e-8,0.0016734335563792723,-4.3305040518058526e-5,3.166611119385737e-8,0.0016735892269826305,-4.3414715646800075e-5,3.1754482304429493e-8,0.0016737888324904195,-4.357023755789901e-5,3.188016234879414e-8,0.0016740453537005702,-4.3748057320064645e-5,3.202330368510447e-8,0.0016743624861162748,-4.392241829557162e-5,3.216241408654458e-8,0.0016747348092937828,-4.406860454410632e-5,3.227695616684352e-8,0.0016751487805059524,-4.416603666815915e-5,3.234987839857888e-8,0.001675584637718124,-4.420100590072595e-5,3.236992864406305e-8,0.0016760191120139118,-4.4168658691226686e-5,3.23333885762874e-8,0.0016764286255676625,-4.407397693962139e-5,3.224493873197347e-8,0.0016767926831136699,-4.393169599546051e-5,3.211753662941352e-8,0.001677097237930815,-4.3765093105344423e-5,3.197123217472216e-8,0.00167733777658621,-4.360358105039846e-5,3.183091478114156e-8,0.001677521869398556,-4.347902774846859e-5,3.172303510741116e-8,0.0016776707408900074,-4.342049118287758e-5,3.167116295241453e-8,0.0016778187422698135,-4.3447130391136005e-5,3.1690241873688606e-8,0.0016780089503785252,-4.3560098509420256e-5,3.178016652122048e-8,0.0016782833720448765,-4.373614563117936e-5,3.192080369790514e-8,0.0016786683666438333,-4.3927655024510755e-5,3.207221484054373e-8,0.001679160369115784,-4.407367191046424e-5,3.2183808817329206e-8,0.0016797209875307913,-4.412114009758808e-5,3.221188471697183e-8,0.0016802880403294148,-4.404672142738793e-5,3.213771971384632e-8,0.001680798773740542,-4.386597338792192e-5,3.197519004817064e-8,0.0016812121713359505,-4.362439078443936e-5,3.176318558267004e-8,0.0016815186777889915,-4.337739128303645e-5,3.1548644038694827e-8,0.0016817358173011794,-4.317163234212843e-5,3.137068706839119e-8,0.0016818964774662018,-4.303518866881324e-5,3.125235326029229e-8,0.0016820373053456571,-4.2976515779093504e-5,3.1199916976096325e-8,0.0016821908517579908,-4.298835334932385e-5,3.120645643391533e-8,0.001682381643870257,-4.305295001771544e-5,3.125647495228362e-8,0.0016826248641123465,-4.314669659029766e-5,3.1329875743603594e-8,0.0016829262935964223,-4.3243765750394774e-5,3.1404959032322505e-8,0.0016832827993444842,-4.3319058823132525e-5,3.1460773886099394e-8,0.0016836831808576592,-4.335081474193989e-5,3.147921387142313e-8,0.0016841094761317773,-4.332309858073908e-5,3.144709006843145e-8,0.0016845389965708768,-4.322812581928537e-5,3.1358136502702837e-8,0.0016849472827916928,-4.30680097516396e-5,3.121454317459761e-8,0.001685311817324549,-4.28553785051464e-5,3.102747616737498e-8,0.0016856160259362443,-4.2612465496661675e-5,3.081620600067579e-8,0.0016858529647612876,-4.2368472572295754e-5,3.060568908899294e-8,0.0016860279929869306,-4.2155252212118004e-5,3.042272064814904e-8,0.0016861597397253318,-4.2001707138160697e-5,3.029110352696416e-8,0.001686278802546357,-4.192753075558542e-5,3.0226450956112963e-8,0.0016864236511896307,-4.1937096150845514e-5,3.023131644925384e-8,0.0016866333005143353,-4.20148809990313e-5,3.029172471873377e-8,0.0016869370383114897,-4.212468985170035e-5,3.0376837396555156e-8,0.0016873432300061099,-4.221528826700933e-5,3.0443795692792346e-8,0.0016878316433975797,-4.223370069387507e-5,3.044875659726567e-8,0.0016883549945588567,-4.214339067565662e-5,3.0361907947096335e-8,0.0016888524992501178,-4.193939125212146e-5,3.017996755366323e-8,0.0016892708942925403,-4.165129888299081e-5,2.992858118803242e-8,0.0016895823148465297,-4.1331399559831654e-5,2.9652240492607542e-8,0.0016897900659125485,-4.103474076847829e-5,2.9397395175287495e-8,0.0016899216625505006,-4.080203475990938e-5,2.919799465346154e-8,0.0016900157054978312,-4.0652031392961096e-5,2.906915313908238e-8,0.0016901099208097574,-4.058288462987776e-5,2.900853004866035e-8,0.0016902339270298944,-4.057817378667731e-5,2.900165126974593e-8,0.0016904065626526063,-4.061354355146046e-5,2.9027644312851774e-8,0.0016906360051758417,-4.0661950119559325e-5,2.9063648467584324e-8,0.0016909209995482196,-4.069723028481099e-5,2.9087710885649258e-8,0.0016912522654108416,-4.069653884596306e-5,2.9080721860103752e-8,0.0016916138646757722,-4.064230977992161e-5,2.9028017183053914e-8,0.0016919847467131485,-4.052416230559773e-5,2.8921020015667242e-8,0.0016923408945919195,-4.034078146507427e-5,2.8758904768726176e-8,0.0016926584456100585,-4.0101338254094135e-5,2.854984370404633e-8,0.0016929177886920088,-3.98256830559316e-5,2.8311126828899853e-8,0.001693108077881154,-3.954252987433632e-5,2.8067479641023334e-8,0.0016932310746483276,-3.928519728252996e-5,2.7847258747180767e-8,0.0016933029691601435,-3.908519792267514e-5,2.767686433700739e-8,0.0016933530634665743,-3.896487647791898e-5,2.7574483226122663e-8,0.0016934189419301243,-3.893091195901987e-5,2.7544749748504323e-8,0.0016935386906464923,-3.897054727601237e-5,2.7575867805514548e-8,0.001693741560057379,-3.905203356829756e-5,2.7640332995878002e-8,0.0016940391412425884,-3.9130122676386634e-5,2.7699808677760945e-8,0.0016944196388182435,-3.9156405028759944e-5,2.7713881316001143e-8,0.0016948479443695268,-3.909270277009998e-5,2.7651188701418565e-8,0.0016952732925359264,-3.892369137957591e-5,2.749979593321849e-8,0.0016956435737868081,-3.8663481150373246e-5,2.7272496371780773e-8,0.001695921508217519,-3.835205250275875e-5,2.7003629854952092e-8,0.0016960956761315402,-3.804202367397545e-5,2.67378143191e-8,0.0016961815319577094,-3.778160361537539e-5,2.6515529524935576e-8,0.001696213032473906,-3.7601416121365983e-5,2.6362069074866936e-8,0.0016962301457196613,-3.750973613700963e-5,2.628370233701135e-8,0.0016962680770975457,-3.749551816840239e-5,2.627045669394839e-8,0.0016963512376621233,-3.753538910232288e-5,2.63021853253086e-8,0.0016964917453452192,-3.7600818583413475e-5,2.635465438290942e-8,0.001696690651419292,-3.766350660714986e-5,2.6404007688425848e-8,0.001696940137771745,-3.769874102950349e-5,2.642947829630893e-8,0.0016972256658882062,-3.7687335396604675e-5,2.6414948818137022e-8,0.0016975277902204365,-3.761694740849289e-5,2.635007890531258e-8,0.001697823895555182,-3.7483365373189244e-5,2.6231474474216885e-8,0.0016980904064073249,-3.729186542931282e-5,2.6063916854335785e-8,0.0016983059629982868,-3.705818431813839e-5,2.5861193564983613e-8,0.00169845567523588,-3.6808209557159376e-5,2.5645733638452276e-8,0.0016985358748413822,-3.6575286342219624e-5,2.544614117888997e-8,0.0016985578725676185,-3.6394393189292205e-5,2.5292069524213555e-8,0.0016985486004877865,-3.629367901585675e-5,2.5206946956193076e-8,0.001698546470920179,-3.628561471787852e-5,2.5200532434859682e-8,0.0016985925376170278,-3.6361141746669543e-5,2.5264171502710526e-8,0.0016987192823167937,-3.648970911878939e-5,2.537113473313952e-8,0.0016989407603901555,-3.66260131869023e-5,2.548261022146134e-8,0.0016992475797464068,-3.672165020583402e-5,2.5557724392811732e-8,0.0016996084606618878,-3.673811638230782e-5,2.5564517650592807e-8,0.001699977956475142,-3.6657310285023185e-5,2.5488638588697726e-8,0.0017003082070326627,-3.648654916289649e-5,2.5337305501061796e-8,0.001700561508238771,-3.625653060246809e-5,2.5137301531646965e-8,0.0017007199892369825,-3.601259358681587e-5,2.492738326789755e-8,0.0017007892677775634,-3.580192599678626e-5,2.474739066190967e-8,0.0017007949978842718,-3.566104751616369e-5,2.462773297309177e-8,0.0017007740285271689,-3.560774970729352e-5,2.4582760104628268e-8,0.001700763881614479,-3.5639540723169225e-5,2.4609678123756305e-8,0.0017007942876682992,-3.5737747088271245e-5,2.4692199666377635e-8,0.0017008827935677405,-3.5874468764077714e-5,2.48064931342209e-8,0.0017010342865269056,-3.601946403066804e-5,2.4926953335125145e-8,0.0017012429683338664,-3.614526778038245e-5,2.503041713192252e-8,0.0017014952046849267,-3.623023427960677e-5,2.5098644185563178e-8,0.001701772238022168,-3.626002631665762e-5,2.5119562344499273e-8,0.0017020524196195597,-3.6228338899696296e-5,2.5087946189913077e-8,0.0017023131682198593,-3.613749747676565e-5,2.500601481098576e-8,0.0017025331952084945,-3.599911636755302e-5,2.488403054979358e-8,0.001702695545569224,-3.583443484893609e-5,2.4740519688495516e-8,0.001702791658995604,-3.567341761960704e-5,2.4601345097724025e-8,0.001702825905263925,-3.5551336305842663e-5,2.449660803475595e-8,0.0017028188818827854,-3.550180632355494e-5,2.4454604213756933e-8,0.001702806735149731,-3.5546798682885895e-5,2.4493348244526906e-8,0.0017028341827005904,-3.5686793861779424e-5,2.4612368548798255e-8,0.0017029417119942861,-3.589622192692521e-5,2.4789084250634145e-8,0.001703151464359933,-3.612826882154989e-5,2.4983140816697334e-8,0.0017034584180842351,-3.632857896050061e-5,2.514822835935455e-8,0.0017038313132765339,-3.645226816286234e-5,2.5246595649292e-8,0.0017042226379164888,-3.647699395454146e-5,2.5260079820686068e-8,0.0017045828447247262,-3.640761249596701e-5,2.5193854756660187e-8,0.0017048733046878682,-3.627237682470769e-5,2.5072903100127402e-8,0.0017050744960167964,-3.611354589471979e-5,2.4933747465570844e-8,0.0017051883610562926,-3.597597816658294e-5,2.4814589910546375e-8,0.0017052354342512147,-3.5896752180398834e-5,2.4746512664333185e-8,0.0017052482576193312,-3.589793749996182e-5,2.4747526264296278e-8,0.001705263072666433,-3.598363726072869e-5,2.482032549880074e-8,0.0017053119227668128,-3.614137236019604e-5,2.4953695706256513e-8,0.0017054169711461474,-3.6346798808851755e-5,2.5126630491637535e-8,0.001705587948875609,-3.656997064057401e-5,2.5313627491764613e-8,0.0017058225445119196,-3.678132058142517e-5,2.548965965479151e-8,0.0017061087821257628,-3.69561651974611e-5,2.563388881603951e-8,0.0017064282269366776,-3.70773600928232e-5,2.5731871018470053e-8,0.0017067591018042412,-3.713639521195745e-5,2.5776518819360373e-8,0.0017070789070781516,-3.71335783856623e-5,2.576833424327725e-8,0.001707366647808429,-3.7077896034809675e-5,2.5715344204894712e-8,0.0017076050669122245,-3.6986775316050295e-5,2.563286430776859e-8,0.0017077833482693745,-3.6885519284883346e-5,2.5542879446377526e-8,0.0017079005422884115,-3.6805662765103294e-5,2.547244983570222e-8,0.0017079692563718653,-3.678101653653675e-5,2.545019000338502e-8,0.0017080179220300188,-3.684031594380135e-5,2.549999137370553e-8,0.0017080887479602191,-3.699691368462634e-5,2.5632392147724558e-8,0.001708228641281455,-3.723898589582162e-5,2.583648649016691e-8,0.0017084735851781347,-3.752657719115359e-5,2.607763848747086e-8,0.0017088326289339622,-3.7800822890985845e-5,2.6305464895935834e-8,0.0017092809717665692,-3.800389880699946e-5,2.6470864658603684e-8,0.001709767617820864,-3.810010719756817e-5,2.6543979991628234e-8,0.0017102337850382358,-3.8086965178193554e-5,2.6523588534275293e-8,0.0017106319934249428,-3.799214504651016e-5,2.6434316445958196e-8,0.0017109375331463164,-3.786074079930412e-5,2.6315481437475767e-8,0.0017111503518974585,-3.774050858751181e-5,2.6208213356204093e-8,0.0017112901426587356,-3.767043065840216e-5,2.6145574168089167e-8,0.001711388473927356,-3.767435097338324e-5,2.6147233879245078e-8,0.0017114807478860903,-3.7759148181293965e-5,2.6218181852708225e-8,0.0017115993915441882,-3.791616629237784e-5,2.6350243451075947e-8,0.0017117688340202747,-3.812478479964005e-5,2.6525321161408846e-8,0.0017120025462314225,-3.8357269218783055e-5,2.671957407701288e-8,0.0017123022368902155,-3.858401705662783e-5,2.690781030939024e-8,0.0017126589667248331,-3.8778319536625255e-5,2.706742096037333e-8,0.0017130556713426438,-3.892000575518932e-5,2.718139609955358e-8,0.0017134704463890348,-3.8997637220543705e-5,2.72401837338603e-8,0.0017138799079658143,-3.900926090925543e-5,2.7242381927571813e-8,0.0017142621560916798,-3.896209930041389e-5,2.719452965369347e-8,0.0017145992769997747,-3.887164408049795e-5,2.7110327165076998e-8,0.0017148795732618073,-3.876038090260755e-5,2.7009443934541433e-8,0.0017150997739135154,-3.8656079592503165e-5,2.691587804537622e-8,0.0017152674011576832,-3.858919935674702e-5,2.6855564023675893e-8,0.001715402930080424,-3.858850645778573e-5,2.68525620088811e-8,0.0017155403030105689,-3.867411814540851e-5,2.6923223505940072e-8,0.001715723354598753,-3.884849496986257e-5,2.706875788258036e-8,0.0017159957908326042,-3.9088518326831626e-5,2.7268754434345864e-8,0.0017163851403779347,-3.9344697300168935e-5,2.748066663980295e-8,0.001716886993958065,-3.955318428218216e-5,2.7650053898035193e-8,0.0017174602847125158,-3.965909042471542e-5,2.773040269966326e-8,0.001718040134972025,-3.963938085916244e-5,2.770265841257851e-8,0.0017185625897166842,-3.9511228867599055e-5,2.758236823583223e-8,0.0017189868062355465,-3.932167724591736e-5,2.7410713552494807e-8,0.001719303790073166,-3.912724285345024e-5,2.7236765021706585e-8,0.0017195315916373054,-3.897569321704473e-5,2.710159348901865e-8,0.0017197039490144403,-3.889639604552238e-5,2.7029929542711243e-8,0.001719859026622647,-3.889874932274322e-5,2.7028998797406246e-8,0.0017200313178398767,-3.897534491821806e-5,2.7091549749431207e-8,0.0017202469671751624,-3.910684938799904e-5,2.7200319928931065e-8,0.001720521602018453,-3.926695176135516e-5,2.7332412797781222e-8,0.001720859794259045,-3.942689817955544e-5,2.7463158757262513e-8,0.001721255728863236,-3.955955466122989e-5,2.756947544016638e-8,0.0017216948873827532,-3.9642868900642176e-5,2.7632707506931933e-8,0.001722156569161592,-3.966254350579579e-5,2.764085344336467e-8,0.0017226170439005363,-3.9613697538888915e-5,2.7590003469533287e-8,0.001723052976870324,-3.9501301872358064e-5,2.7484764624405265e-8,0.0017234446600947672,-3.933941901930363e-5,2.733763268972299e-8,0.001723778754377761,-3.914951517199835e-5,2.7167486552635708e-8,0.0017240504576373702,-3.8958063040786535e-5,2.6997386666773607e-8,0.0017242650711087881,-3.8793531002493264e-5,2.6851810256787167e-8,0.0017244389431611393,-3.868270733259092e-5,2.675337383241879e-8,0.0017245995113033862,-3.864602832841346e-5,2.671885005626151e-8,0.0017247834536315045,-3.8691681327300336e-5,2.6754311849929e-8,0.0017250313802367769,-3.880929377612953e-5,2.6850034141866425e-8,0.001725377842565471,-3.896581169015178e-5,2.697723630726428e-8,0.0017258375470063556,-3.910800396460535e-5,2.7090318371162557e-8,0.0017263930836693708,-3.917572346874251e-5,2.7138107085967308e-8,0.0017269933872087041,-3.912436180795919e-5,2.7082925689746156e-8,0.0017275689865215494,-3.8945638522437385e-5,2.691835379492017e-8,0.0017280585048235183,-3.86727214245852e-5,2.6673635556659343e-8,0.001728431073422244,-3.836534884152783e-5,2.6400818438587404e-8,0.0017286923868734853,-3.808504387510162e-5,2.61532106623058e-8,0.0017288748816655678,-3.787530232705404e-5,2.5968120288942417e-8,0.0017290217154868146,-3.7754199534558863E-05,2.5860493154658515e-8,0.0017291734675064128,-3.771726995413944e-5,2.582562501534354e-8,0.0017293607820238672,-3.7744848247661723E-05,2.584579636728525e-8,0.001729602000315515,-3.780948874960963e-5,2.5896883802857644e-8,0.001729903599395464,-3.788165973355425e-5,2.595331727889163e-8,0.0017302617181777903,-3.7933690493989186e-5,2.5991389794231897e-8,0.0017306640141175572,-3.794259510943676e-5,2.5991547940454676e-8,0.001731091755867424,-3.789224556048095e-5,2.594015958103042e-8,0.001731522255539111,-3.7775051882364856e-5,2.5830937167328825e-8,0.0017319317604426708,-3.7593037290670407e-5,2.5665905426726304e-8,0.0017322987686243735,-3.735795299004614e-5,2.545555029736884e-8,0.0017326074067128012,-3.709011144855787e-5,2.5217806685687195e-8,0.0017328503457029842,-3.6815919057722917e-5,2.4975834819967113e-8,0.001733030801250284,-3.6564297546596944e-5,2.4754770932095832e-8,0.001733163245050693,-3.636230112525841e-5,2.4577788776660804e-8,0.0017332725692263016,-3.6230386059595666e-5,2.446195888578073e-8,0.001733391561335409,-3.6177777041230204e-5,2.4414354594100277e-8,0.0017335564073636222,-3.619837183913728e-5,2.4428778625296542e-8,0.001733799814146551,-3.626816379255833e-5,2.4483858210644657e-8,0.0017341419144584454,-3.634606741287226e-5,2.454398795466479e-8,0.0017345806750870597,-3.638048933612316e-5,2.4565021790145197e-8,0.0017350858869240476,-3.632295309658755e-5,2.4505843202086038e-8,0.0017356024788424108,-3.614624025006184e-5,2.4343764994910206e-8,0.0017360663216553012,-3.585874629062718e-5,2.408675934782713e-8,0.0017364275421104804,-3.550486845228883e-5,2.377374351553505e-8,0.001736668888599713,-3.514850340937432e-5,2.34602712311622e-8,0.001736808661045457,-3.4848567953173e-5,2.3197265336036242e-8,0.001736888544939611,-3.464037865199596e-5,2.301485336433552e-8,0.0017369558513605297,-3.4530440416808935e-5,2.29179595201377e-8,0.001737049707092597,-3.4502354376221574e-5,2.289165624475731e-8,0.0017371947516276504,-3.4526982344086895e-5,2.2910199010581445e-8,0.0017374008073448293,-3.4571512886728264e-5,2.2944984052831473e-8,0.001737665467048844,-3.460545560147143e-5,2.2969695297045837e-8,0.001737977290689824,-3.460390307791772e-5,2.296299541437974e-8,0.0017383186141002541,-3.454918032334136e-5,2.290982677063709e-8,0.0017386679295325906,-3.4431804356590167e-5,2.2802188582601254e-8,0.0017390021734525031,-3.42511906097866e-5,2.2639776047910924e-8,0.0017392992945751758,-3.40160914722638e-5,2.243042545250072e-8,0.0017395413117880889,-3.374434814309473e-5,2.2189933916874547e-8,0.0017397176600680104,-3.346135952529788e-5,2.1940688488459516e-8,0.0017398281621878566,-3.319689225605055e-5,2.170877243418754e-8,0.0017398847366847004,-3.2980307378858836e-5,2.1519663391740078e-8,0.00173991100205662,-3.283480466826047e-5,2.1393128136041958e-8,0.0017399392899709579,-3.27718231350248e-5,2.1338379242105724e-8,0.00174000521831946,-3.278698042141254e-5,2.1350723083240454e-8,0.001740140572588363,-3.285870325852261e-5,2.1410652793135758e-8,0.0017403655886877377,-3.295034303669861e-5,2.1485963701877946e-8,0.0017406820927880144,-3.301629939579607e-5,2.153721791335664e-8,0.0017410695269251995,-3.301209684177935e-5,2.152643905078453e-8,0.001741486310794703,-3.290702867540473e-5,2.1427864745405244e-8,0.0017418784545159788,-3.269589869418132e-5,2.1237862433750336e-8,0.0017421948525763043,-3.2404476839655194e-5,2.097945465702013e-8,0.001742404370709457,-3.208389090653782e-5,2.069734831489266e-8,0.001742506671572139,-3.179415040864402e-5,2.0443603476147352e-8,0.0017425307722198473,-3.158389373995162e-5,2.0260073766504838e-8,0.0017425223974869423,-3.147622681133658e-5,2.0166207874633754e-8,0.0017425275508909542,-3.146622368211866e-5,2.0157058325399752e-8,0.0017425801811898768,-3.152827253738807e-5,2.020986020759265e-8,0.0017426972860252556,-3.162719052466486e-5,2.02938080720638e-8,0.001742880085460341,-3.172780363660379e-5,2.0378372619537326e-8,0.001743118076178938,-3.180084546028723e-5,2.0438317988914532e-8,0.0017433934077427334,-3.1825558838409014e-5,2.045583270732787e-8,0.0017436844082488409,-3.179033969714021e-5,2.0421013873564265e-8,0.001743968178512343,-3.169263001235832e-5,2.0331783624667846e-8,0.0017442227209409098,-3.153871728518193e-5,2.0193782525411485e-8,0.0017444291701622036,-3.134350069999404e-5,2.002022746940685e-8,0.0017445744879534223,-3.112978763186553e-5,1.9831294365844262e-8,0.0017446545474839863,-3.092639446856581e-5,1.9652370870985962e-8,0.0017446769299296102,-3.0764373350770444e-5,1.9510621046903156e-8,0.0017446621867443558,-3.067120727891532e-5,1.9429795770389297e-8,0.001744642159515886,-3.066382603124781e-5,1.9424111620866493e-8,0.0017446545782597647,-3.074243219545489e-5,1.9492972810802038e-8,0.0017447345609175441,-3.088764647827402e-5,1.961870511808151e-8,0.0017449051754598907,-3.106281392238331e-5,1.9768826171514667e-8,0.0017451700230479688,-3.122163105108318e-5,1.9902887093021913e-8,0.001745510408947374,-3.1319374667683715e-5,1.9982307573413395e-8,0.001745888357283682,-3.1324766347923475e-5,1.998060209584599e-8,0.0017462551360621196,-3.122919694479231e-5,1.989118907219179e-8,0.0017465634988662125,-3.105046157655002e-5,1.9730384470556232e-8,0.001746780545164631,-3.0829192817083005e-5,1.9534083265630877e-8,0.0017468971763283654,-3.06181089004315e-5,1.9348284579479396e-8,0.0017469304559974707,-3.0466979567041213e-5,1.921600927524104e-8,0.001746917542182514,-3.0408580265584186e-5,1.916519343229281e-8,0.001746903536584843,-3.0450937289348743e-5,1.9202135362128732e-8,0.0017469283478326418,-3.057824727716383e-5,1.931250208156185e-8,0.0017470175401144699,-3.075870969388561e-5,1.9468283092315117e-8,0.0017471793662891689,-3.095489208974001e-5,1.9636835355944387e-8,0.00174740696584924,-3.1132521919019314e-5,1.978845734405289e-8,0.0017476831047323403,-3.126577909856488e-5,1.9900875698021727e-8,0.0017479851225330183,-3.1339285687671686e-5,1.9960887050540934e-8,0.0017482888771933986,-3.134799753916344e-5,1.9964247391127438e-8,0.001748571500534339,-3.1296247023240655e-5,1.9914888607216414e-8,0.0017488134063673208,-3.1196725784627565e-5,1.9824099003596076e-8,0.0017490001909731922,-3.106955308858083e-5,1.970973106837139e-8,0.0017491248720657058,-3.0941022082626086e-5,1.9595042768266226e-8,0.0017491904664698418,-3.084128927975832e-5,1.9506546090950694e-8,0.0017492122725144203,-3.080019758367981e-5,1.9470218613974216e-8,0.0017492184473760612,-3.084086291599031e-5,1.950583763271849e-8,0.0017492470171063378,-3.097194995726486e-5,1.9620297100766168e-8,0.0017493381646387358,-3.1181363894115793e-5,1.980227981843363e-8,0.0017495228601829887,-3.143510381205071e-5,2.0021485851797534e-8,0.0017498116793050868,-3.168386290175472e-5,2.023458425088819e-8,0.0017501889553554505,-3.18764773563137e-5,2.039704390946832e-8,0.001750615655745262,-3.197543249573554e-5,2.0476649055390935e-8,0.0017510402683068693,-3.1968199999134966e-5,2.0463276536587624e-8,0.0017514133531797574,-3.187031880307763e-5,2.037138563020928e-8,0.0017517005273633118,-3.1719998107685436e-5,2.0235063634656074e-8,0.001751890219662361,-3.156694813316782e-5,2.009806183335921e-8,0.0017519948081852045,-3.1459214757831945e-5,2.0002203745109712e-8,0.0017520456413406555,-3.14316280501743e-5,1.99773642676767e-8,0.001752083843670919,-3.149863525213701e-5,2.0035412948970665e-8,0.0017521497040240116,-3.1652918673865666e-5,2.0169255510395947e-8,0.0017522736069611874,-3.186951297035694e-5,2.0356620338662876e-8,0.0017524707370152176,-3.211356229077129e-5,2.056690037038114e-8,0.0017527403103441905,-3.234896981308914e-5,2.076865466262888e-8,0.0017530684808992239,-3.254545176213017e-5,2.0935651692450514e-8,0.0017534331318351181,-3.2682714956734884e-5,2.1050408448247448e-8,0.0017538088119477358,-3.275180452227584e-5,2.110531752462392e-8,0.0017541707526388716,-3.275447431229004e-5,2.1102114748483773e-8,0.0017544976901405082,-3.270162706579011e-5,2.105056824283674e-8,0.0017547738024637697,-3.2611589026689284e-5,2.096699993899653e-8,0.0017549902985381242,-3.250844445279376e-5,2.0872790992964694e-8,0.001755147084288628,-3.242014951493518e-5,2.0792620166438958e-8,0.001755254570490484,-3.2375793594230804e-5,2.0751927960372814e-8,0.001755335063281145,-3.2401220502996406e-5,2.0772996896363735e-8,0.0017554223357314845,-3.251259859283147e-5,2.0869356621329078e-8,0.0017555573977173214,-3.2708863724273736e-5,2.1039332104000612e-8,0.0017557790984082053,-3.29660727723672e-5,2.126132814313656e-8,0.0017561108323753565,-3.3238262436040336e-5,2.1494763264115556e-8,0.0017565485849542516,-3.346811995275699e-5,2.1689479904005575e-8,0.0017570576145160576,-3.360552772869162e-5,2.1801953478252693e-8,0.001757581785070488,-3.362585143779291e-5,2.1811245999041253e-8,0.0017580620722044517,-3.353851148587489e-5,2.1726427797049774e-8,0.001758455202278241,-3.3382035778471196e-5,2.158208310470156e-8,0.0017587444079113072,-3.320959575010596e-5,2.1425399176948597e-8,0.0017589399770165945,-3.307263661221911e-5,2.130160656072588e-8,0.0017590722808459125,-3.3008502295315075e-5,2.1243072677899854e-8,0.001759181556547813,-3.3034286998855964e-5,2.1264051244620618e-8,0.0017593078653479616,-3.314644102862432e-5,2.1360602034657684e-8,0.0017594831921096522,-3.332452486865661e-5,2.1514143545573805e-8,0.0017597265437465275,-3.353738875474003e-5,2.1697021326259336e-8,0.001760042245970357,-3.3750244753001815e-5,2.1878713640531822e-8,0.001760421146334321,-3.393124357669487e-5,2.2031497920959415e-8,0.0017608439638752132,-3.405644801825657e-5,2.2134681640893213e-8,0.0017612857471203435,-3.411264048046515e-5,2.2176972713998292e-8,0.0017617204091223166,-3.409797973084421e-5,2.2157031793999206e-8,0.0017621245438929386,-3.402096746414191e-5,2.208259287114386e-8,0.0017624801775086999,-3.3898450706873454e-5,2.1968740632231774e-8,0.0017627765982876126,-3.3753300304850276e-5,2.183585863215288e-8,0.001763011621842634,-3.3612016549370004e-5,2.1707446371806972e-8,0.0017631925713161728,-3.350214912888116e-5,2.1607729651469524e-8,0.0017633370417948848,-3.344913871513708e-5,2.1558783250075647e-8,0.0017634730174059953,-3.347197967528787e-5,2.1576714714329268e-8,0.0017636371116576798,-3.357742597786236e-5,2.1666704084487572e-8,0.0017638691979690627,-3.3753723774377576e-5,2.181772916999189e-8,0.0017642023031790117,-3.396680513750332e-5,2.1999445627985694e-8,0.0017646491667109299,-3.4163476660183754e-5,2.2165086343053056e-8,0.0017651911849654452,-3.428501454789286e-5,2.226334653764835e-8,0.001765778160698935,-3.428858702670496e-5,2.2257091907866984e-8,0.0017663432093342334,-3.416606996623403e-5,2.213983656780172e-8,0.0017668269543614896,-3.3948415208319496e-5,2.193955489711035e-8,0.001767197842766506,-3.369259112538415e-5,2.17070724834961e-8,0.0017674586193811824,-3.34596154530708e-5,2.1496498412280247e-8,0.001767639060592299,-3.329574652596208e-5,2.1348468166328244e-8,0.0017677821871205088,-3.3223440312985864e-5,2.1282180173486558e-8,0.0017679311822968995,-3.324154570836546e-5,2.129578103953367e-8,0.001768120512436396,-3.333086353608994e-5,2.1371561635770116e-8,0.0017683715270797181,-3.346142626072527e-5,2.148260408851196e-8,0.0017686914318105862,-3.3599409128902524e-5,2.1598953117881766e-8,0.0017690744739801523,-3.371291615094851e-5,2.1692652330809286e-8,0.0017695045695388376,-3.3776430454713476e-5,2.1741529840179073e-8,0.0017699588242402324,-3.3773791444695706e-5,2.1731694812881347e-8,0.0017704114732510778,-3.369964876976124e-5,2.1658752122008647e-8,0.0017708378094016797,-3.355943690940463e-5,2.152778106353521e-8,0.0017712176390383754,-3.336799684118138e-5,2.1352151053456795e-8,0.0017715378651225137,-3.314720089247531e-5,2.1151437607701027e-8,0.0017717941126926234,-3.2923077927578334e-5,2.0948840418387312e-8,0.0017719915599731899,-3.272273093629134e-5,2.0768364307715262e-8,0.0017721450953806894,-3.257108279253322e-5,2.063183815712094e-8,0.001772278789586462,-3.248736044869667e-5,2.0555760321616602e-8,0.0017724243969323124,-3.2481099228891417e-5,2.0547838756955484e-8,0.0017726180377305497,-3.2547672204280884e-5,2.06032360891902e-8,0.001772893902096436,-3.26643881516983e-5,2.070137445010743e-8,0.0017732745145420026,-3.278970120097843e-5,2.0805422495871913e-8,0.0017737592672930375,-3.286910117515717e-5,2.0867510935645095e-8,0.0017743165104114895,-3.285007607212869e-5,2.0841794381781585e-8,0.0017748868641271837,-3.27030730663727e-5,2.0702786663879134e-8,0.0017754014530360297,-3.2437768348831866e-5,2.0459662686927267e-8,0.0017758080743716612,-3.2102608481630945e-5,2.015584789108212e-8,0.0017760903595036206,-3.17656634260758e-5,1.985200104905266e-8,0.0017762693117928238,-3.1488255206219554e-5,1.9602496536206447e-8,0.0017763894591366236,-3.13062590108772e-5,1.9438747273234566e-8,0.001776500414190258,-3.12255836885439e-5,1.9365283650061506e-8,0.0017766430268873303,-3.1228419406428315e-5,1.9365541425495753e-8,0.0017768429247380117,-3.128342719222774e-5,1.9411160162745227e-8,0.0017771097947912773,-3.1355028823638904e-5,1.9470365609482324e-8,0.0017774396800211817,-3.141000926638304e-5,1.9513809181670135e-8,0.0017778182926467716,-3.142162035464175e-5,1.951808140830944e-8,0.0017782244717445747,-3.137198226709649e-5,1.946769186203101e-8,0.0017786336024299082,-3.12533185341731e-5,1.9356066032986675e-8,0.0017790209705546684,-3.1068226775794e-5,1.9185763398043137e-8,0.0017793650121143564,-3.08290205222032e-5,1.8967926769402895e-8,0.001779650296646995,-3.055604937514018e-5,1.8720829744334336e-8,0.0017798698743530228,-3.0274995636721267e-5,1.846747256260845e-8,0.001780026632235612,-3.001344158238894e-5,1.8232467517967285e-8,0.0017801335374979842,-2.9797089846618077e-5,1.8038579085288705e-8,0.0017802127450977066,-2.964590951538579e-5,1.7903218620709243e-8,0.0017802935187865058,-2.9570467972433672e-5,1.783518762572123e-8,0.0017804088777299578,-2.9568714404354944e-5,1.7831942719272197e-8,0.0017805907080136712,-2.9623577448738986e-5,1.7877681205500904e-8,0.0017808630276179797,-2.97023326731302e-5,1.7943009994474517e-8,0.0017812337934054229,-2.97595557883807e-5,1.7987695659313328e-8,0.0017816872967592035,-2.9745687070046982e-5,1.7968220015004007e-8,0.0017821813976015835,-2.962172070135213e-5,1.7850629717166458e-8,0.0017826548299887984,-2.9376324177287026e-5,1.762553130680372e-8,0.0017830461959892749,-2.903634032102028e-5,1.731731488754778e-8,0.0017833176117902473,-2.866124927995671e-5,1.6979208783705445e-8,0.001783469533852475,-2.832122375637814e-5,1.6673724822837606e-8,0.0017835376035968266,-2.80706105762117e-5,1.6448993998207882e-8,0.0017835749164607615,-2.793168172891396e-5,1.6324306949224888e-8,0.0017836317390693452,-2.7894493168831586e-5,1.6290136262871556e-8,0.0017837425116183111,-2.7927737072698468e-5,1.6318029727125984e-8,0.0017839222251040216,-2.7991952248573566e-5,1.6372552649405453e-8,0.0017841690180765415,-2.804960543379875e-5,1.6420305148628225e-8,0.0017844690921453375,-2.8070762770376914e-5,1.6434881896134044e-8,0.001784801494145308,-2.803540319002629e-5,1.6398785045025665e-8,0.0017851419554334824,-2.7933929717305372e-5,1.6303760303012625e-8,0.0017854659718042635,-2.7766907604290468e-5,1.6150522430904983e-8,0.0017857515136427459,-2.7544366750350456e-5,1.5948164497142894e-8,0.0017859816002243757,-2.7284609584283965e-5,1.571315251966609e-8,0.0017861467536977667,-2.7012260273114013e-5,1.5467614316026404e-8,0.0017862470230057806,-2.6755286369400636e-5,1.5236648496569402e-8,0.0017862930134701384,-2.654104265296623e-5,1.504470406978934e-8,0.001786305424195102,-2.6391773125555355e-5,1.491146539228525e-8,0.0017863128449208082,-2.6320220335777346e-5,1.4847885035371189e-8,0.0017863478278571186,-2.632612309632168e-5,1.4853112441925018e-8,0.0017864415524204687,-2.639440009895842e-5,1.491303463720827e-8,0.0017866176433893105,-2.649564870787032e-5,1.500094022968379e-8,0.0017868858723667914,-2.6589505322540724e-5,1.5080702406757717e-8,0.0017872368982414784,-2.66314436018206e-5,1.5112903973863852e-8,0.0017876399981771522,-2.6583121415397484e-5,1.5063969741293373e-8,0.0017880463839678022,-2.6424855833963814e-5,1.4917086903880453e-8,0.0017884001103203367,-2.61662566626825e-5,1.4681479769128718e-8,0.0017886554421320897,-2.5848825556468653e-5,1.439459563665528e-8,0.0017887942451537537,-2.5535601758596886e-5,1.4112816495281188e-8,0.0017888338091817063,-2.5289736988679483e-5,1.3892330893168733e-8,0.0017888195185604239,-2.515213106178181e-5,1.3769205429052592e-8,0.0017888063464290775,-2.5129846263159923e-5,1.3749151498984439e-8,0.0017888398156686227,-2.5199537269306553e-5,1.3810764966794239e-8,0.0017889451574657782,-2.5320670226036306e-5,1.391749936516575e-8,0.0017891262814678304,-2.544988601042015e-5,1.4030567902762325e-8,0.0017893708634015488,-2.5550922719877188e-5,1.4117760285831568e-8,0.0017896570726811836,-2.5599109255723216e-5,1.4157333008626661e-8,0.0017899592671993573,-2.5582042811262578e-5,1.4138489270469296e-8,0.0017902519438446774,-2.5498478260559e-5,1.4060321791036643e-8,0.0017905123629933307,-2.535677868794753e-5,1.3930440496755607e-8,0.0017907225488373376,-2.51734072821892e-5,1.3763682625522863e-8,0.0017908711693659085,-2.4971322438834654e-5,1.3580725771725944e-8,0.0017909554371954345,-2.4777821665357153e-5,1.3406151734326352e-8,0.0017909827283962571,-2.462135499749847e-5,1.3265522508586063e-8,0.001790971202300491,-2.4527148765017287e-5,1.3181360162542386e-8,0.0017909485628708425,-2.4512064252896147e-5,1.316846906372442e-8,0.0017909483769799933,-2.457975629539259e-5,1.3229610662378395e-8,0.0017910040460442844,-2.4717652977466054e-5,1.3352913035006776e-8,0.001791141441592685,-2.4897216452611835e-5,1.3512291120867038e-8,0.0017913719494893788,-2.5078198784446382e-5,1.367144672572904e-8,0.0017916878464235458,-2.5216509648907783e-5,1.3791025050547342e-8,0.0017920615866127356,-2.5274345945545365e-5,1.3837668829362787e-8,0.0017924499408709218,-2.5230505604992228e-5,1.3793113821811035e-8,0.001792803043549295,-2.508822447015411e-5,1.3660997294053245e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_16.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_16.json
deleted file mode 100644
index 5dc8729..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_16.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":16000,"numberOfSamples":1000,"samples":[0.0017930770944964171,-2.487756201187732e-5,1.3468791504217692e-8,0.0017932476264231187,-2.464987080068864e-5,1.3262714904077391e-8,0.0017933184724985877,-2.446409956071231e-5,1.3095425337680572e-8,0.0017933216314600794,-2.436869143477916e-5,1.3009865564682467e-8,0.0017933067138776958,-2.438639601001157e-5,1.3025800857085489e-8,0.0017933242278720884,-2.450889654783832e-5,1.3135191695059903e-8,0.0017934104016406212,-2.470298517826634e-5,1.330788790362845e-8,0.0017935796118112995,-2.4923857068963115e-5,1.35036193070344e-8,0.0017938254296263332,-2.512860398380717e-5,1.3684062401894767e-8,0.001794127049257825,-2.5285096932882215e-5,1.3820701756483629e-8,0.0017944568919538132,-2.537530987356056e-5,1.389769075082024e-8,0.0017947867111250417,-2.5394724503292413e-5,1.3911234845185292e-8,0.0017950914943699093,-2.5349982163249467e-5,1.3867468677974076e-8,0.0017953516485814604,-2.5256290869559507e-5,1.3780165902829643e-8,0.0017955543110713956,-2.513520274015715e-5,1.3668792904120013e-8,0.0017956944918898108,-2.501264398241291e-5,1.3556752559378335e-8,0.0017957763330320648,-2.4916631576514276e-5,1.3469287614057573e-8,0.0017958142078399008,-2.487403171878831e-5,1.343048298157746e-8,0.0017958328475770424,-2.4906014603702265e-5,1.3459107884232579e-8,0.001795865353512456,-2.5022541802827092e-5,1.3563657130380593e-8,0.001795948122041468,-2.521726303763574e-5,1.3737855679584164e-8,0.0017961127345561176,-2.546517299188524e-5,1.395871521848886e-8,0.0017963766324439366,-2.572537619201675e-5,1.4189187885469435e-8,0.0017967359302593923,-2.5949711291697144e-5,1.4386024761031048e-8,0.0017971637506210216,-2.6095329969824996e-5,1.451109103127541e-8,0.0017976155937020869,-2.6137143168968956e-5,1.4542469045381444e-8,0.0017980404371389018,-2.607573723966647e-5,1.4481422712615806e-8,0.001798394095120732,-2.5938065908348892e-5,1.4352832525648934e-8,0.0017986508156540284,-2.5770774714917362e-5,1.4199014670934582e-8,0.0017988099091846071,-2.5628118914854457e-5,1.4068743101640252e-8,0.0017988956039585806,-2.555773604555096e-5,1.4004458068040699e-8,0.0017989500158965364,-2.558822796060149e-5,1.4031230788508505e-8,0.0017990211621026053,-2.5722340085414784e-5,1.415084222610123e-8,0.0017991498357205768,-2.593791853046823e-5,1.4342850551324464e-8,0.0017993597382745207,-2.6195968610161597e-5,1.4571956673982097e-8,0.0017996538157950808,-2.645239065855816e-5,1.4798559267271849e-8,0.0018000169294873425,-2.666894130169837e-5,1.498852497549383e-8,0.0018004224996779246,-2.6820193009237008e-5,1.5119328433877708e-8,0.0018008399579285909,-2.6895709367472842e-5,1.5181911626012463e-8,0.0018012407279650508,-2.6898643187987404e-5,1.5179375808053418e-8,0.0018016019580566775,-2.6842624017871885e-5,1.512418529733506e-8,0.0018019083507358257,-2.6748422125539742e-5,1.503519386765796e-8,0.0018021529000758112,-2.664111066735776e-5,1.4935106313335826e-8,0.0018023373010458653,-2.654770620791294e-5,1.4848328300519829e-8,0.0018024724205052492,-2.6494772143160663e-5,1.4798742963175621e-8,0.0018025786668415908,-2.6505317999914305e-5,1.4806850211476605e-8,0.0018026854955645365,-2.659451656531552e-5,1.4885891179718516e-8,0.0018028287921071594,-2.6764406036804033e-5,1.5037147763755564e-8,0.0018030448604636129,-2.6999007434058543e-5,1.5245693907824705e-8,0.0018033608554715635,-2.726276700041339e-5,1.5479157196478573e-8,0.0018037839756043577,-2.750560873314212e-5,1.5692371417557645e-8,0.0018042943907072807,-2.767567790489397e-5,1.583886014992919e-8,0.0018048471164087917,-2.7736268154231167e-5,1.5886025345858665e-8,0.0018053841995643509,-2.7679480289528892e-5,1.582737530167465e-8,0.0018058526507647669,-2.752969711011927e-5,1.5685558185452904e-8,0.001806220217685462,-2.73353380759272e-5,1.550478294473961e-8,0.0018064829196074033,-2.715336860705409e-5,1.533667607943918e-8,0.001806663117932587,-2.7033305913710596e-5,1.5225741546222746e-8,0.001806800801895628,-2.7005730814722615e-5,1.5199028506319084e-8,0.0018069420013151019,-2.7077300335566203e-5,1.5261811538653193e-8,0.0018071276684187964,-2.7232000211422743e-5,1.5398964117004876e-8,0.0018073853085648632,-2.7437165696606414e-5,1.5580585890886757e-8,0.0018077246572371043,-2.7652248535832284e-5,1.576998693661435e-8,0.0018081377800550024,-2.7838089562507862e-5,1.5932006675260243e-8,0.0018086029626342595,-2.7964541054522235e-5,1.603977518121356e-8,0.0018090908374324907,-2.8014926126988497e-5,1.607861859878816e-8,0.00180957084697334,-2.7986978508900445e-5,1.6046829753568754e-8,0.0018100165314672806,-2.7890983536707856e-5,1.5953965389800106e-8,0.0018104089137041853,-2.774636589803873e-5,1.5817776136232783e-8,0.0018107380434183873,-2.7577939639375955e-5,1.5660833269492737e-8,0.0018110032945058872,-2.7412588632335316e-5,1.5507519669488106e-8,0.0018112130984671998,-2.727650820984009e-5,1.5381492498527788e-8,0.0018113845185778008,-2.719266881496396e-5,1.5303331370154355e-8,0.0018115426463610783,-2.7177984586301253e-5,1.5287947407869493e-8,0.0018117192686648675,-2.7239724617485946e-5,1.5341380468993828e-8,0.001811949680932402,-2.7371212382235838e-5,1.545703888127489e-8,0.0018122663836599232,-2.754807176709037e-5,1.561247872864076e-8,0.0018126893601793177,-2.772785807579092e-5,1.57692019263019e-8,0.001813215168157243,-2.7856683016959833e-5,1.5878661656300398e-8,0.001813810503341971,-2.788443523714781e-5,1.589593222254393e-8,0.0018144169960900853,-2.7784424994027194e-5,1.5797369795099836e-8,0.0018149690546354657,-2.7567238609616395e-5,1.5593102180247856e-8,0.0018154173615913274,-2.7279217321055754e-5,1.532562475157829e-8,0.001815745477353155,-2.698524284095293e-5,1.5054105867581623e-8,0.001815971625884253,-2.674564379645672e-5,1.4833294082824518e-8,0.0018161376350310534,-2.6598869981665784e-5,1.4697715161200344e-8,0.0018162930699050063,-2.6555272801256695e-5,1.46561098570472e-8,0.0018164816791041126,-2.6600309925083196e-5,1.4694563048089877e-8,0.001816733162707175,-2.6702680190249542e-5,1.4784125685246063e-8,0.0018170600913158257,-2.682355433898887e-5,1.4889335877885533e-8,0.0018174585911996668,-2.6924764974141972e-5,1.4975656178105195e-8,0.0018179114635388195,-2.697514492077015e-5,1.5015123550887387e-8,0.0018183927840198378,-2.69547379106428e-5,1.499003182489609e-8,0.0018188731580403156,-2.6856711418009936e-5,1.4894556739454665e-8,0.001819324793629755,-2.6687029559253713e-5,1.473440683021408e-8,0.0018197256785068433,-2.6462277654925132e-5,1.4524849413287513e-8,0.001820062373922574,-2.6206258898886165e-5,1.428764312060864e-8,0.001820331254382838,-2.5946127881015275e-5,1.4047536963377575e-8,0.001820538445168254,-2.5708755861324498e-5,1.3828946837314153e-8,0.0018206989383891886,-2.5517624437804906e-5,1.365308557110985e-8,0.0018208352337955717,-2.5390152599451144e-5,1.3535489407026761e-8,0.0018209755912363625,-2.533520724364273e-5,1.34837573147026e-8,0.001821151632775928,-2.5350517985874814e-5,1.3495281869197622e-8,0.0018213945362785741,-2.5420047270152325e-5,1.3555011738893574e-8,0.0018217289276931587,-2.551235675360919e-5,1.363413439824075e-8,0.001822164406689718,-2.5582239942904856e-5,1.3691653129699898e-8,0.001822686655285152,-2.557849948022469e-5,1.3681411343723724e-8,0.0018232531039378613,-2.5459295222371094e-5,1.3565889406493894e-8,0.0018237998026180275,-2.5211254782313133e-5,1.3333435451442727e-8,0.0018242618025331551,-2.48617013791813e-5,1.300934477782622e-8,0.0018245988973076108,-2.4473013353101097e-5,1.2650735273151976e-8,0.0018248114805428112,-2.4119027032174727e-5,1.2325005783849212e-8,0.0018249369229238492,-2.3856916289854328e-5,1.2084104532181132e-8,0.0018250308362240503,-2.371030618670482e-5,1.1949100841989596e-8,0.001825146047330891,-2.366910915234589e-5,1.1910159201163204e-8,0.0018253190675345766,-2.3700474694523012e-5,1.1936747643950821e-8,0.0018255659145471929,-2.3762271034004848e-5,1.1990121606287427e-8,0.0018258842445968248,-2.3813805840709907e-5,1.2033166516185259e-8,0.001826258169929863,-2.382242826521537e-5,1.2036355717542334e-8,0.0018266634773100754,-2.3766769983762126e-5,1.1980573637170289e-8,0.001827072388230482,-2.363782080690576e-5,1.1857967699394822e-8,0.0018274577516185762,-2.343858881848419e-5,1.1671564450583e-8,0.0018277966526101797,-2.318264021823313e-5,1.1433927158541618e-8,0.0018280733241575382,-2.2891668446499556e-5,1.1164967072672481e-8,0.0018282811577905753,-2.259224023359341e-5,1.0889004337993399e-8,0.001828423551827078,-2.231201801919025e-5,1.0631321018346868e-8,0.0018285135003267157,-2.207596922814408e-5,1.0414665395833809e-8,0.0018285721071275558,-2.1903000912757984e-5,1.0256127104231965e-8,0.0018286262706814032,-2.1803209435120533e-5,1.0164594038831645e-8,0.001828705702435555,-2.177583438325039e-5,1.0138909579633824e-8,0.001828839337656277,-2.1807956588344662e-5,1.0166784524005633e-8,0.0018290509329571627,-2.1874064192536067e-5,1.0224554437432966e-8,0.0018293535538177238,-2.1937215282132975e-5,1.027838557907086e-8,0.0018297433561300666,-2.1953289747187514e-5,1.0288214837085777e-8,0.0018301945153309169,-2.1879869760203124e-5,1.0215787794044302e-8,0.001830658946308421,-2.168992779500395e-5,1.0036992338479185e-8,0.0018310753618979378,-2.138679258668782e-5,9.755367998113473e-9,0.0018313889838965569,-2.1011704357252705e-5,9.40893730399691e-9,0.0018315746329431721,-2.063467135717398e-5,9.061841978804914e-9,0.0018316490783180249,-2.0328796754628263e-5,8.780851241439044e-9,0.0018316632653398112,-2.0141677331726018e-5,8.60917634137112e-9,0.001831679395233614,-2.0080681978185537e-5,8.55305072202464e-9,0.0018317476612021335,-2.0117816834583795e-5,8.586332987307337e-9,0.0018318940208144653,-2.0206428881992914e-5,8.665969743081962e-9,0.0018321201082134187,-2.0298263194615822e-5,8.747708166164193e-9,0.001832409908402203,-2.0354458317239478e-5,8.796142458866711e-9,0.00183273774398109,-2.035003732644327e-5,8.788718700893353e-9,0.001833074770107819,-2.027416826766039e-5,8.715846695855356e-9,0.001833393452426999,-2.0128529716534936e-5,8.579316424344743e-9,0.0018336705866361742,-1.992511730302927e-5,8.390268759309309e-9,0.0018338894912187423,-1.968387735533606e-5,8.167058601271752e-9,0.0018340416791292305,-1.943010095958344e-5,7.932910852662894e-9,0.0018341280134618974,-1.9191384559990707e-5,7.713154507289564e-9,0.0018341590816821458,-1.8994066898046752e-5,7.53193522572574e-9,0.0018341544149850127,-1.885940649167221e-5,7.40865932392435e-9,0.0018341403815578727,-1.8800038802715472e-5,7.3546966523347715e-9,0.0018341468535115438,-1.8817250628981883e-5,7.370872897137305e-9,0.0018342029234141627,-1.889956862277312e-5,7.446231414582977e-9,0.0018343321227258867,-1.9023083174690816e-5,7.558447698209529e-9,0.0018345476553118807,-1.9153707945490168e-5,7.676042116963366e-9,0.0018348481083950683,-1.9251549921866032e-5,7.762491329140837e-9,0.0018352144196331546,-1.9277769509678416e-5,7.782530133022137e-9,0.0018356096596253435,-1.920398976117508e-5,7.710681424220857e-9,0.0018359837763515755,-1.9022957466042443e-5,7.540865396769042e-9,0.0018362849741516284,-1.8756908829736255e-5,7.293910761478627e-9,0.0018364766833233455,-1.8457870012827724e-5,7.017737181329629e-9,0.0018365538571077135,-1.8194914639068882e-5,6.775647214996834e-9,0.001836548563460727,-1.803024372589666e-5,6.624410847690285e-9,0.0018365187675594202,-1.7995409567851337e-5,6.592525088216024e-9,0.0018365252877235454,-1.8081331449302935e-5,6.671177914624835e-9,0.0018366101542084223,-1.8246672589318575e-5,6.822077045534804e-9,0.0018367869375824912,-1.8436994200718304e-5,6.995122222991016e-9,0.001837043888830328,-1.8602938875977135e-5,7.145101322978344e-9,0.0018373537387537482,-1.8710583772040503e-5,7.241122599512904e-9,0.0018376837337121634,-1.8743874840279134e-5,7.2687428712580284e-9,0.0018380027530075403,-1.8702372696090056e-5,7.227808403795434e-9,0.0018382852635966235,-1.8597450955179613e-5,7.128926096284541e-9,0.001838513176276471,-1.8448670412689796e-5,6.990149973877557e-9,0.0018386767249291653,-1.8280754164638692e-5,6.8342449477846595e-9,0.0018387750038904136,-1.812090639012062e-5,6.686252226411574e-9,0.0018388162973281307,-1.799601728606697e-5,6.570911706461216e-9,0.0018388179260978472,-1.7929389648419776e-5,6.509607695224068e-9,0.0018388050594228275,-1.7937016075237906e-5,6.516893378261047e-9,0.0018388079846011016,-1.8023966004633595e-5,6.597145459559734e-9,0.001838857713922728,-1.818180313357647e-5,6.742223335637884e-9,0.0018389803552352245,-1.838806035919854e-5,6.9310780933096055e-9,0.0018391912530982262,-1.860858891245793e-5,7.132034188312767e-9,0.0018394902971468079,-1.88029481324306e-5,7.3078518212857724e-9,0.0018398597310770378,-1.8932177661136858e-5,7.422918615431776e-9,0.0018402654168871984,-1.896772954162206e-5,7.451423914551764e-9,0.0018406621235211068,-1.8899934385024923e-5,7.385028293072869e-9,0.0018410028729857332,-1.8743806537061265e-5,7.238049462551088e-9,0.0018412512510457238,-1.8539475868505472e-5,7.047719368366382e-9,0.0018413937282192889,-1.834483799071887e-5,6.86733900839635e-9,0.0018414470718991932,-1.8220140618210308e-5,6.752093172557913e-9,0.0018414557581306575,-1.8208514775956216e-5,6.741217444212319e-9,0.0018414780209857879,-1.8320709364073575e-5,6.844095149750602e-9,0.001841565803992494,-1.8532077021471085e-5,7.037638298125493e-9,0.0018417482230087799,-1.8793447944416692e-5,7.276395121919292e-9,0.001842025845932932,-1.9049480082961622e-5,7.509453930519011e-9,0.001842376034057044,-1.925507263145096e-5,7.69549565376883e-9,0.0018427639401787223,-1.9383990375315344e-5,7.810647629678605e-9,0.0018431531413094465,-1.942958955901095e-5,7.849070713791684e-9,0.0018435127392187048,-1.940088549418417e-5,7.8192866216250315E-09,0.001843820730492911,-1.9317320377072763e-5,7.739348166296656e-9,0.0018440648885501498,-1.9204160908646343e-5,7.632620118984367e-9,0.001844242531542363,-1.9089035068363377e-5,7.524612793811735e-9,0.0018443600647661403,-1.8999259868333292e-5,7.440521812341918e-9,0.001844432549312981,-1.8959307662865297e-5,7.402863667254894e-9,0.0018444829953387927,-1.8987874349045107e-5,7.428729689176291e-9,0.0018445407209490732,-1.9094430440071465e-5,7.52658268876082e-9,0.0018446380463958871,-1.9275761849198014e-5,7.693093256534828e-9,0.001844804951317121,-1.9513700180089063e-5,7.911127592194227e-9,0.0018450622049142106,-1.9775670897407012e-5,8.15036239379623e-9,0.0018454146537959305,-2.0019361155694627e-5,8.37168352380671e-9,0.0018458471645658634,-2.020149491512519e-5,8.53532123115057e-9,0.001846325472916595,-2.0288852030465627e-5,8.610991677718667e-9,0.001846802738334875,-2.0268255874207588e-5,8.587035433849896e-9,0.0018472305526570348,-2.0152106866842266e-5,8.475412368243551e-9,0.0018475714841345342,-1.99772538420524e-5,8.31053358635742e-9,0.0018478096100095864,-1.9796940495792812e-5,8.141712154172403e-9,0.0018479558587613187,-1.9667497884298463e-5,8.020816057287474e-9,0.0018480460497650023,-1.9633092096664974e-5,7.988216118779569e-9,0.0018481313475885142,-1.97130435184807e-5,8.061204673026506e-9,0.0018482635125553158,-1.989628715353263e-5,8.229056332405201e-9,0.0018484798977238869,-2.014547254945726e-5,8.45695909902495e-9,0.0018487937859131421,-2.0409270039150275e-5,8.697434490355547e-9,0.0018491933464550954,-2.0637777460108637e-5,8.904531720257321e-9,0.001849648388562267,-2.0794981895125802e-5,9.04525543618406e-9,0.0018501208603383453,-2.0864590650255843e-5,9.104868950596546e-9,0.0018505745805460858,-2.0849287684095834e-5,9.086145203825255e-9,0.0018509815951685388,-2.0766006244656177e-5,9.004964655845875e-9,0.0018513249009249032,-2.0640121265863943e-5,8.88493947825769e-9,0.0018515986248674762,-2.0500399014916906e-5,8.75275158592604e-9,0.0018518069924697927,-2.037529947986055e-5,8.634737803338043e-9,0.0018519630574627775,-2.029034519449881e-5,8.55444480376467e-9,0.0018520875544509319,-2.0265862670398454e-5,8.530515515536571e-9,0.0018522076118006106,-2.0314479503742223e-5,8.574357895458459e-9,0.001852354640478269,-2.043817792207266e-5,8.68743961998716e-9,0.0018525605725263623,-2.0625343158510295e-5,8.85862825193293e-9,0.0018528519045839407,-2.0849110173348045e-5,9.06276525797922e-9,0.0018532420360760945,-2.1069073571299936e-5,9.262339779435322e-9,0.001853724130935122,-2.123818424609054e-5,9.413907129041965e-9,0.0018542681745039775,-2.13146965067963e-5,9.479118156772436e-9,0.001854825500677946,-2.1275855803305648e-5,9.437327265942164e-9,0.0018553411001434338,-2.1127603421251835e-5,9.294511094167757e-9,0.001855769808091963,-2.0905197786356253e-5,9.083769325899609e-9,0.001856089934500493,-2.066366542445483e-5,8.856377940750694e-9,0.001856309055157489,-2.0461827016597087e-5,8.66688007773098e-9,0.0018564605291198604,-2.0346009610590452e-5,8.557941716365146e-9,0.0018565929794966702,-2.0338609963516525e-5,8.549815123998282e-9,0.0018567566935258077,-2.0434095465034442e-5,8.636794189047838e-9,0.0018569909246059376,-2.0602544164462002e-5,8.790679141975657e-9,0.001857315247217037,-2.079894845221756e-5,8.96952007306406e-9,0.0018577267622189627,-2.097526582003082e-5,9.12880609280628e-9,0.001858203223977554,-2.109175679528336e-5,9.231914666619509e-9,0.0018587104540100233,-2.1124682017155018e-5,9.257156442445109e-9,0.0018592113115679834,-2.106890188932159e-5,9.200104828967708e-9,0.0018596735056705283,-2.0935816127821806e-5,9.07163153057935e-9,0.0018600745996205108,-2.0748452915729757e-5,8.89332379757743e-9,0.0018604039664238258,-2.0535775690622106e-5,8.692194187757801e-9,0.0018606624467996109,-2.032768021272182e-5,8.496037214902576e-9,0.0018608607937328295,-2.0151290741381685e-5,8.329989644194028e-9,0.0018610177895546044,-2.0028404875289557e-5,8.214148845006132e-9,0.0018611584243115355,-1.9973516875703052e-5,8.161728802068476e-9,0.0018613119834204608,-1.999186368250376e-5,8.17725592983337e-9,0.0018615094730483387,-2.0077264157555704e-5,8.254611200906061e-9,0.0018617795921467622,-2.021010824142319e-5,8.375250055651793e-9,0.0018621426777235635,-2.0356759570897997e-5,8.507743574528015e-9,0.0018626030974959807,-2.0472527218197918e-5,8.610594760757943e-9,0.001863142529370494,-2.0510266452106173e-5,8.640213095127023e-9,0.001863718542838287,-2.0434462278556232e-5,8.563932655985352e-9,0.0018642726717816077,-2.0236362154722935e-5,8.374014217097276e-9,0.0018647478436570396,-1.9942109211313427e-5,8.095175761587323e-9,0.001865108368948935,-1.960728289796133e-5,7.779474788722417e-9,0.0018653524017467537,-1.9298711898535704e-5,7.4892916930745e-9,0.0018655107551995035,-1.9072315354648044e-5,7.27659510756275e-9,0.0018656340820196373,-1.895724351204022e-5,7.168151304633016e-9,0.0018657758320747826,-1.895135064135561e-5,7.161416176012306e-9,0.0018659780113648356,-1.9026593337249196e-5,7.229749985625541e-9,0.0018662631207856332,-1.9139791481250695e-5,7.332602529333776e-9,0.0018666323647777408,-1.9244376015289706e-5,7.426524029334083e-9,0.0018670686302071045,-1.93003096381889e-5,7.474374412439072e-9,0.0018675424105708905,-1.9280847880737214e-5,7.451532270409492e-9,0.0018680189994260549,-1.9175704489265866e-5,7.348747503653877e-9,0.0018684654564785955,-1.8990736169104185e-5,7.171778438188237e-9,0.0018688561260398076,-1.8744836865035615e-5,6.938463114669843e-9,0.0018691760026911882,-1.8465188498455326e-5,6.674284503730649e-9,0.001869421833270251,-1.818207784859466e-5,6.407542925266269e-9,0.0018696013388690184,-1.7924257543533537e-5,6.165035437391302e-9,0.0018697312745747144,-1.77154221714517e-5,5.968767927016784e-9,0.0018698350512996898,-1.7571817919185243e-5,5.8337191006715384e-9,0.0018699402886244905,-1.750060390009367e-5,5.76630978226681e-9,0.0018700762544792589,-1.7498573862310598e-5,5.763229760950721e-9,0.0018702708423503566,-1.7551071627329354e-5,5.8104800416812336e-9,0.0018705465025051088,-1.763137263486119e-5,5.882878383752786e-9,0.0018709146903029294,-1.770161615547732e-5,5.945007935726127e-9,0.0018713693790612124,-1.771717503436893e-5,5.955326079857078e-9,0.001871882005628167,-1.7636224585071255e-5,5.875056690709975e-9,0.0018724021730790383,-1.7434179833481032e-5,5.681589270232072e-9,0.0018728684333721528,-1.7118167658035483e-5,5.3819353393236815e-9,0.0018732287172204356,-1.6732355540166632e-5,5.017686966724454e-9,0.0018734616898216,-1.6346704189132433e-5,4.654472798669768e-9,0.0018735862278335242,-1.6031827206181716e-5,4.358367558462995e-9,0.0018736526901350647,-1.583326478782647e-5,4.1717537065880975e-9,0.0018737219046122688,-1.5758804508346698e-5,4.10148922345258e-9,0.0018738443004110933,-1.578241850439683e-5,4.12273758898688e-9,0.0018740479774201498,-1.5858384906640113e-5,4.192354118637595e-9,0.0018743368377812267,-1.5936813363410486e-5,4.2635170100055776e-9,0.0018746952507608576,-1.5975245333576563e-5,4.296582563572818e-9,0.001875095253598817,-1.594505681652756e-5,4.265000879239349e-9,0.0018755037392833745,-1.5833619336192383e-5,4.157239354603041e-9,0.0018758885761289046,-1.5643635440476038e-5,3.976084601740173e-9,0.001876223379869671,-1.539063040568846e-5,3.736258860742264e-9,0.0018764908158095375,-1.5099215718405392e-5,3.460921341786339e-9,0.0018766843555797306,-1.4798700313825205e-5,3.1775739251165955e-9,0.001876808514204054,-1.4518593640800304e-5,2.913862771528727e-9,0.001876877684600156,-1.428449594527703e-5,2.6937304046643276e-9,0.0018769138794313335,-1.4114849713635936e-5,2.534362112040424e-9,0.001876943877891384,-1.4018784813808756e-5,2.444153315210054e-9,0.0018769961556297737,-1.3994930354196748e-5,2.4215928014478305e-9,0.0018770976892354386,-1.4030988542626093e-5,2.454884423634573e-9,0.0018772705481379275,-1.4104015382463982e-5,2.5222631987773908e-9,0.001877528051302119,-1.4181603792678899e-5,2.5931789806121115e-9,0.0018778703569376982,-1.4224713941675174e-5,2.6310160704288327e-9,0.0018782801543122864,-1.4193451439422243e-5,2.598529820729149e-9,0.0018787205590664604,-1.405678212300852e-5,2.4669139600598395e-9,0.0018791386692319275,-1.3805285464980217e-5,2.2276810492311913e-9,0.0018794780123360833,-1.3462303276611882e-5,1.9030504386180313e-9,0.0018796988460152687,-1.3085081939944344e-5,1.5469771882351445e-9,0.001879797376121251,-1.2749246711917046e-5,1.2305366805810725e-9,0.001879810814909188,-1.2520431987685998e-5,1.0152379061173355e-9,0.0018798025069450173,-1.2428480565797385e-5,9.28792039154265e-10,0.0018798356637794984,-1.2459405930458762e-5,9.576569245815327e-10,0.0018799514652937973,-1.2567147881760806e-5,1.058227207885944e-9,0.0018801611228964044,-1.2694459694026742e-5,1.1765668337490139e-9,0.0018804504286041776,-1.2790844470236134e-5,1.2652815802583089e-9,0.0018807898296935043,-1.2822211239622132e-5,1.2925348480468322e-9,0.001881144296639176,-1.2773137375766395e-5,1.244082520275377e-9,0.001881480541304962,-1.2644829708590756e-5,1.1212779543347608e-9,0.0018817714830373492,-1.2451442593087324e-5,9.37573033027889e-10,0.0018819987877392661,-1.2216113471832141e-5,7.147943106851535e-10,0.0018821541835679256,-1.1967040551517974e-5,4.79481554800589e-10,0.001882239823342938,-1.1733614321682521e-5,2.592733145950963e-10,0.0018822677333682823,-1.1542659347071796e-5,7.937878641490489e-11,0.001882258290813125,-1.1414929386642006e-5,-4.073055482831923e-11,0.00188223769665013,-1.1362192719985606e-5,-9.008293919875422e-11,0.001882234648515446,-1.1385337979164145e-5,-6.800108198389007e-11,0.0018822765976668182,-1.147373068275585e-5,1.529829570741141e-11,0.0018823859220090569,-1.1605863972995146e-5,1.3934936610352848e-10,0.0018825762769299201,-1.1751333204930212e-5,2.7535196640362164e-10,0.001882849356696919,-1.1874174668779581e-5,3.8937810798312383e-10,0.0018831923326353601,-1.1937760844475924e-5,4.470257514000792e-10,0.0018835766745060477,-1.1911660763090492e-5,4.198775427362523e-10,0.0018839599006157666,-1.1780441166968134e-5,2.937343558620432e-10,0.0018842923200876947,-1.1552816367157377e-5,7.714292268036392e-11,0.0018845300065070212,-1.1267101431234662e-5,-1.935563353070176e-10,0.001884651848842402,-1.0986979616266467e-5,-4.582805070815646e-10,0.0018846729512961321,-1.0783668473551395e-5,-6.500369715974631e-10,0.001884644026311698,-1.0709107993313308e-5,-7.201687612284614e-10,0.0018846329849430254,-1.0774324376780514e-5,-6.586566194780138e-10,0.0018846977991100334,-1.0946622650667459e-5,-4.966346506891892e-10,0.0018848664449174443,-1.1166459365350037e-5,-2.9038739613313543e-10,0.0018851332005309256,-1.1371807843700045e-5,-9.836030862044166e-11,0.00188546833284025,-1.1516483567944784e-5,3.6072174092010136e-11,0.0018858320534413794,-1.1577196587717038e-5,9.118298144119174e-11,0.0018861858170151932,-1.1551897946543376e-5,6.526251494340663e-11,0.0018864988368209698,-1.1454250824736898e-5,-2.8641386320276168e-11,0.0018867506997908348,-1.130771157982184e-5,-1.683171289939276e-10,0.0018869317981828468,-1.114067253953726e-5,-3.269535468848281e-10,0.00188704288267068,-1.0982683580718171e-5,-4.766790893169354e-10,0.00188709425157458,-1.0861262431198378e-5,-5.915582605683498e-10,0.0018871045582005074,-1.0798915164720963e-5,-6.504092600231872e-10,0.0018870989904794264,-1.0810255077489202e-5,-6.395398827368157e-10,0.0018871065171513206,-1.089946266139451e-5,-5.551558313967678e-10,0.0018871561148395357,-1.1058676341069262e-5,-4.048719775294948e-10,0.0018872723151573511,-1.1267948529405112e-5,-2.077232698081918e-10,0.0018874707273317042,-1.1497174238386989e-5,7.702962172308863e-12,0.0018877543345839755,-1.1710094620244999e-5,2.0709679356946207e-10,0.0018881113731507087,-1.1870079468074387e-5,3.5592247332806187e-10,0.0018885154354453212,-1.1947025394181564e-5,4.2594198011051527e-10,0.0018889282709940963,-1.1924554434572256e-5,4.0198452420754266e-10,0.0018893057509901104,-1.180642796887354e-5,2.8793937793174093e-10,0.0018896072155190882,-1.1620319815144137e-5,1.102325230061882e-10,0.0018898073174633363,-1.141620503858083e-5,-8.378045830706647e-11,0.0018899072882816023,-1.1256680872880053e-5,-2.350144500265779e-10,0.00188994004525897,-1.1199004466727915e-5,-2.8962303888349816e-10,0.0018899634124805416,-1.1274091765243815e-5,-2.187662588737686e-10,0.0018900409279768637,-1.1472911999612212e-5,-3.133758064503063e-11,0.0018902183761997377,-1.1749297526970216e-5,2.2880621691449785e-10,0.0018905085190595347,-1.2038537620544541e-5,5.004579398597872e-10,0.0018908911977333046,-1.2281010673800587e-5,7.273646082903298e-10,0.0018913257026649535,-1.2438746635557551e-5,8.738262880584713e-10,0.001891766418942364,-1.2500025159169855e-5,9.289921702418269e-10,0.0018921745217345054,-1.2474898759061678e-5,9.025856295473614e-10,0.0018925235949496604,-1.2387224374957897e-5,8.173373978207359e-10,0.0018928006012498605,-1.2267242724669224e-5,7.019521780489794e-10,0.001893004532648849,-1.2146219309942353e-5,5.860420989860535e-10,0.0018931444568213974,-1.2052958305120446e-5,4.968374482519974e-10,0.0018932376922635935,-1.201136506885249e-5,4.5688395279176046e-10,0.0018933080932005942,-1.203830971069964e-5,4.820179060546816e-10,0.0018933840198379344,-1.2141431704543413e-5,5.792878687063079e-10,0.0018934954432214392,-1.2317048491958935e-5,7.449904944807481e-10,0.0018936698433884116,-1.2548874791752978e-5,9.63493451044306e-10,0.0018939271289290503,-1.2808571057900438e-5,1.207801973263226e-9,0.0018942745270844783,-1.3059009801183272e-5,1.4426931836520661e-9,0.0018947029628015445,-1.3260512884313262e-5,1.6306445395104082e-9,0.0018951865409454112,-1.3379240786205856e-5,1.739776196090901e-9,0.0018956861193035659,-1.339582085200682e-5,1.7520006276159735e-9,0.001896156784362993,-1.3311821218936873e-5,1.6691149414387627e-9,0.0018965578833635218,-1.315201628144059e-5,1.5148888736049156e-9,0.0018968634955145083,-1.2961201862073039e-5,1.3319718714925833e-9,0.0018970707895216053,-1.27953186054354e-5,1.1734090967998433e-9,0.0018972035254706415,-1.270792499395131e-5,1.0897877058615488e-9,0.0018973082905004745,-1.2734836504746565e-5,1.1147159041982071e-9,0.0018974426469162598,-1.2881765897702211e-5,1.2532161191392723e-9,0.0018976577334179135,-1.3120638566367633e-5,1.4783604413576136e-9,0.0018979817061840188,-1.3397830754750496e-5,1.7391592222003208e-9,0.001898411458923872,-1.3651830597880485e-5,1.9773042111285594e-9,0.0018989162166529016,-1.3832467412215963e-5,2.1453543532283e-9,0.0018994501504002229,-1.3913394698958246e-5,2.218528300226893e-9,0.0018999670934915821,-1.3894285229865015e-5,2.1967560935101533e-9,0.0019004313205916007,-1.3794987368719163e-5,2.0991062793393773e-9,0.0019008222473536457,-1.3646563923406225e-5,1.9552477096692173e-9,0.0019011342862434643,-1.3483210869567092e-5,1.7977502645593472e-9,0.0019013742670453792,-1.3336710126712298e-5,1.656805182705815e-9,0.0019015583445810035,-1.3233251710861967e-5,1.557210441490532e-9,0.0019017093215130678,-1.3191683234416556e-5,1.516718948288368e-9,0.0019018544551819409,-1.322222486221346e-5,1.5448335845441187e-9,0.0019020232614363063,-1.332508798252e-5,1.641518474045382e-9,0.0019022446122891282,-1.3489036976123344e-5,1.7958687511443292e-9,0.0019025425844261994,-1.369058867045455e-5,1.985394636394811e-9,0.0019029310998461496,-1.3895103526272778e-5,2.177098013812628e-9,0.0019034084130146504,-1.4061158291373949e-5,2.3316432829741173e-9,0.0019039536403952983,-1.4148798826174367e-5,2.411188360481643e-9,0.00190452798036301,-1.4130390523376207e-5,2.3896713112052716e-9,0.0019050821403015848,-1.4000599135125858e-5,2.262277159589695e-9,0.0019055688083909521,-1.3781106731241096e-5,2.0499028297317794e-9,0.0019059562148011579,-1.3517137805515713e-5,1.795813482384683e-9,0.0019062378216281627,-1.3266226807941069e-5,1.55488479026225e-9,0.0019064346707243743,-1.3082876840158903e-5,1.3789321851604236e-9,0.0019065897975290977,-1.300402884385789e-5,1.3028645792247607e-9,0.0019067566525288243,-1.3039478647258866e-5,1.335631681489911e-9,0.0019069848668208623,-1.3169664466781716e-5,1.458241594737562e-9,0.0019073072088376596,-1.3351363244590194e-5,1.6292950121476715e-9,0.0019077314104704636,-1.35297729754093e-5,1.7965331398129217e-9,0.0019082393455308658,-1.3653389545506359e-5,1.910981408664566e-9,0.0019087936495511212,-1.368692249063571e-5,1.9391998920108105e-9,0.0019093490888763,-1.36182247050182e-5,1.8698433679372743e-9,0.0019098643504093444,-1.3457815665676977e-5,1.7131785903247102e-9,0.0019103104535418381,-1.3232664882104302e-5,1.49513174647234e-9,0.001910674199703993,-1.2977653683504635e-5,1.2491153226176072e-9,0.001910957383345947,-1.2727836569487273e-5,1.0086216538112337e-9,0.0019111736376836673,-1.2513095263658599e-5,8.021151208985223e-10,0.0019113446910483782,-1.2355262008813369e-5,6.502990133921028e-10,0.0019114970699477254,-1.2266914435896981e-5,5.649887739956633e-10,0.001911659458251913,-1.2250863989869682e-5,5.48651037755953e-10,0.0019118603142655674,-1.2299688915426472e-5,5.939871771107086e-10,0.0019121250704395051,-1.2395224103850199e-5,6.83479516283135e-10,0.001912472298250459,-1.2508553962420433e-5,7.894175597020551e-10,0.0019129086995072113,-1.2601732458062466e-5,8.755614362231623e-10,0.0019134238587510172,-1.2632856875682743e-5,9.019823758839568e-10,0.0019139872139001782,-1.2565475255362356e-5,8.340185275907759e-10,0.0019145507149744756,-1.2380996991705414e-5,6.541016494998854e-10,0.0019150594943169597,-1.208942059331609e-5,3.720012705806915e-10,0.0019154687355826697,-1.1731803189978585e-5,2.7186751351475117e-11,0.0019157599073696201,-1.1370438510631843e-5,-3.2059589419623007e-10,0.0019159480871280882,-1.1069433649940181e-5,-6.099776897920081e-10,0.0019160765242110884,-1.0874351161307604e-5,-7.975067244527357e-10,0.001916201638240862,-1.0799731954230843e-5,-8.695695269755934e-10,0.0019163757206690922,-1.0828066294132719e-5,-8.432736692445251e-10,0.001916633663319116,-1.0918083407511515e-5,-7.583931686950212e-10,0.0019169865545414935,-1.1017681518618213e-5,-6.649208970516302e-10,0.0019174220148160516,-1.1077138327480256e-5,-6.104228457140029e-10,0.001917909652400136,-1.1059628873658679e-5,-6.300141180862712e-10,0.0019184095373273615,-1.0947442807596206e-5,-7.404583107456317e-10,0.0019188815145464583,-1.074336196537258e-5,-9.388858115135974e-10,0.0019192932808213034,-1.0467594123611643e-5,-1.20575358697917e-9,0.0019196256213150462,-1.0151606595075532e-5,-1.5107725145640873e-9,0.0019198741582867806,-9.830831037267878e-6,-1.8199155582087304e-9,0.001920048034328906,-9.53810189496491e-6,-2.101716952530784e-9,0.00192016664884815,-9.298985720095432e-6,-2.3317451423285186e-9,0.0019202557299710247,-9.129284586844093e-6,-2.4949779817672822e-9,0.0019203436982262987,-9.03425635494825e-6,-2.5865276762768656e-9,0.0019204586561453517,-9.008766308266697e-6,-2.6114761398253937e-9,0.0019206257964393613,-9.037767379553837e-6,-2.584400459288261e-9,0.0019208647556760669,-9.096934635335611e-6,-2.528749375572851e-9,0.0019211863918376449,-9.153791617985142e-6,-2.475744453410305e-9,0.0019215887893763244,-9.170318069016814e-6,-2.4618619106144695e-9,0.0019220532680969222,-9.108486698013456e-6,-2.5235177511399977e-9,0.0019225426370994027,-8.93968667282501e-6,-2.6880381102716844e-9,0.0019230051437690364,-8.656881355420935e-6,-2.9620064184294193e-9,0.0019233868768198299,-8.284641843373393e-6,-3.321635583237772e-9,0.0019236508865696793,-7.87924983238811e-6,-3.7126811593957043e-9,0.0019237944180940756,-7.513626152701059e-6,-4.064969808739745e-9,0.0019238530642237287,-7.251346875133989e-6,-4.317442787274023e-9,0.0019238875264319904,-7.123184534446885e-6,-4.440727658128514e-9,0.0019239602849499028,-7.118772335068044e-6,-4.445080751689829e-9,0.0019241150340064711,-7.195410187776e-6,-4.3718032484889515e-9,0.0019243672115235493,-7.296057858543114e-6,-4.275859784550209e-9,0.0019247056490780219,-7.366796576870663e-6,-4.209081160263236e-9,0.001925100638222425,-7.368390575798459e-6,-4.2090899838722325e-9,0.0019255136991263675,-7.28124033598263e-6,-4.29459094897082e-9,0.0019259062934330908,-7.105313322498182e-6,-4.465474633111174e-9,0.001926246455241092,-6.8569503429279765e-6,-4.705904064104801e-9,0.001926513155176582,-6.563908504672785e-6,-4.989086595641599e-9,0.0019266984060524598,-6.259565315487143e-6,-5.28285207654197e-9,0.0019268072181901595,-5.977125716265304e-6,-5.555231795710813e-9,0.0019268557194206991,-5.744607949504135e-6,-5.779286983994542e-9,0.001926867956789526,-5.581192829623622e-6,-5.93661711990306e-9,0.0019268720688889452,-5.495252817643273e-6,-6.019245563941074e-9,0.0019268965365545243,-5.483964670467983e-6,-6.029980211505466e-9,0.0019269669147046517,-5.534047865259946e-6,-5.981698489668393e-9,0.0019271030607710645,-5.623188311924287e-6,-5.895977467639949e-9,0.0019273166863302753,-5.7219540024492885e-6,-5.8012471529754476e-9,0.001927608964943563,-5.7963044626612365e-6,-5.730359732741071e-9,0.001927968073137577,-5.811296023443038e-6,-5.716996716285913e-9,0.001928367327868175,-5.736968151573158e-6,-5.789976737812062e-9,0.0019287657529438592,-5.556881102280313e-6,-5.965023129181158e-9,0.0019291137044280984,-5.2780252562612125e-6,-6.235225744033611e-9,0.0019293656129909568,-4.9378508432014095e-6,-6.564293224012181e-9,0.0019294981647026979,-4.601333003765205e-6,-6.88943201632588e-9,0.001929525485728095,-4.342876353937429e-6,-7.138863176862139e-9,0.0019294994801223031,-4.217696588858802e-6,-7.25946537969358e-9,0.0019294908116161604,-4.238299439230228e-6,-7.239417461315074e-9,0.001929560314582812,-4.371015270438031e-6,-7.111424613284696e-9,0.0019297377118852202,-4.55344246107046e-6,-6.935795233464066e-9,0.001930017314096714,-4.719917590952116e-6,-6.775858205910853e-9,0.001930367658027968,-4.821014209853837e-6,-6.679201920416775e-9,0.0019307459008136353,-4.8316120263198285e-6,-6.669947990797228e-9,0.0019311099639047478,-4.749855588336907e-6,-6.749791325681373e-9,0.001931426078730715,-4.591648798416053e-6,-6.903320619292728e-9,0.0019316723240502833,-4.384152509840636e-6,-7.104284083463843e-9,0.00193183957714851,-4.159855661523347e-6,-7.321298468100921e-9,0.0019319309590358179,-3.951522849872863e-6,-7.522721099309414e-9,0.001931960272729608,-3.7879464393165173e-6,-7.680755766459321e-9,0.0019319496225054618,-3.690498897752296e-6,-7.774788967531755e-9,0.0019319263202685097,-3.6706055523742944e-6,-7.793831867149322e-9,0.001931919267959071,-3.7283927164905087e-6,-7.737819257871908e-9,0.0019319552108667095,-3.852716726614077e-6,-7.617573393096083e-9,0.0019320552988749142,-4.02248969024826e-6,-7.453520879166667e-9,0.0019322322171346693,-4.209066647074804e-6,-7.27339092546293e-9,0.0019324880384187753,-4.379522397329557e-6,-7.109051304871561e-9,0.0019328128907126745,-4.5006846976982455e-6,-6.9926006585541975e-9,0.001933184500922892,-4.543960637217014e-6,-6.951680008281516e-9,0.0019335690805746674,-4.491239132575197e-6,-7.0037418708715674e-9,0.0019339247854987158,-4.3417098714221724e-6,-7.149447726110859e-9,0.0019342092422925217,-4.118009382523817e-6,-7.366743932940767e-9,0.0019343916827004838,-3.868204312684253e-6,-7.608992772716862e-9,0.001934467361572726,-3.658733712507117e-6,-7.811866984567964e-9,0.001934467204138646,-3.5553083996379697e-6,-7.911879053399946e-9,0.0019344532495840499,-3.5966460829545584e-6,-7.871776332288663e-9,0.0019344968195731504,-3.7753114217998696e-6,-7.698978894623498e-9,0.0019346495112623097,-4.03947689724567e-6,-7.443761240396356e-9,0.0019349242390860283,-4.315579736048795e-6,-7.177294842177374e-9,0.0019352959799658958,-4.537209508290387e-6,-6.9637480873944295e-9,0.0019357174371195988,-4.664295527601881e-6,-6.8417869033334726e-9,0.0019361376429321514,-4.687227031264865e-6,-6.820621053087697e-9,0.0019365149604292852,-4.620518272556331e-6,-6.886137513437268e-9,0.001936822735002006,-4.4930784615761195e-6,-7.01030959332819e-9,0.0019370497573068866,-4.3395817761451026e-6,-7.159541983283873e-9,0.0019371982714750445,-4.194332245529059e-6,-7.300606086896117e-9,0.0019372813098119841,-4.0872389658178436e-6,-7.404541171072901e-9,0.0019373200047168263,-4.041081596253815e-6,-7.449311969194115e-9,0.0019373408698219712,-4.06951090543502e-6,-7.421751862826817e-9,0.0019373728401152071,-4.175601163817662e-6,-7.318959872347354e-9,0.0019374438984557292,-4.351140097040351e-6,-7.14897163907601e-9,0.0019375773878386295,-4.577090029110529e-6,-6.930294004143148e-9,0.0019377884492321462,-4.8255307456941e-6,-6.690013847281935e-9,0.0019380811458521296,-5.063086450380342e-6,-6.460482833914179e-9,0.0019384468078961414,-5.2556340897116115e-6,-6.274765644942493e-9,0.001938864070694948,-5.373859826780817e-6,-6.161257575262624e-9,0.0019393008815218134,-5.39900090253849e-6,-6.138107237175963e-9,0.0019397185968336869,-5.328108998262378e-6,-6.208094891699568e-9,0.0019400783924782288,-5.178029968915432e-6,-6.3547673684562564e-9,0.001940350064460665,-4.986568248040517e-6,-6.541330751226949e-9,0.0019405222410656135,-4.808507589956162e-6,-6.714561951692604e-9,0.0019406110279473565,-4.704360703335738e-6,-6.815780527851394e-9,0.0019406619186682263,-4.722099909779016e-6,-6.798592282970913e-9,0.0019407397828170951,-4.877341093394415e-6,-6.6480630164182626e-9,0.0019409070239167167,-5.142645237546104e-6,-6.3909979796592525e-9,0.0019411991246476956,-5.455021750594156e-6,-6.08859132515089e-9,0.0019416113591816284,-5.739907638638507e-6,-5.813170806092759e-9,0.0019421039399188788,-5.938379623146413e-6,-5.621848443746926e-9,0.001942620441220814,-6.023358180511173e-6,-5.540825654139379e-9,0.0019431076064300335,-6.000155352616885e-6,-5.564854280690739e-9,0.0019435278468381142,-5.896618797745685e-6,-5.66679479290207e-9,0.0019438629592743444,-5.750852545969404e-6,-5.809548326748877e-9,0.0019441120808416875,-5.601534475667561e-6,-5.955480832384088e-9,0.001944287443752201,-5.482065741624393e-6,-6.072125549617999e-9,0.0019444101506376872,-5.417660736467644e-6,-6.135020234542866e-9,0.001944506708268009,-5.424015514502002e-6,-6.12900103028505e-9,0.0019446061453395735,-5.5065945921930115e-6,-6.048882321230036e-9,0.0019447372317435117,-5.660164219490716e-6,-5.899883466024544e-9,0.0019449253683826993,-5.8687316263243564E-06,-5.6976552684035205e-9,0.001945189030333371,-6.106463427556881e-6,-5.467362321854533e-9,0.001945536161431122,-6.340235377640483e-6,-5.241200084831334e-9,0.0019459613750219223,-6.534129514976202e-6,-5.0540407206024526E-09,0.0019464450016517627,-6.655627092463941e-6,-4.9374385215283745e-9,0.0019469548828858596,-6.682567740270542e-6,-4.912878296775678e-9,0.001947451269570495,-6.60932933283276e-6,-4.985758640608991e-9,0.0019478943525422965,-6.450513493834239e-6,-5.14178782748562e-9,0.0019482532181079584,-6.2407756398245034e-6,-5.347142200685174e-9,0.0019485145355209999,-6.029956846976695e-6,-5.553227818359947e-9,0.001948688832848761,-5.8732962326046545e-6,-5.706255960069141e-9,0.0019488117889920867,-5.817657136586249e-6,-5.76069054929591e-9,0.001948938125527602,-5.886667676818439e-6,-5.69370500652984e-9,0.0019491274075020232,-6.0699856033129015e-6,-5.515569915679763e-9,0.0019494249289553265,-6.3227915401508744E-06,-5.270071903094241e-9,0.001949845257742566,-6.578590377092514e-6,-5.022021831291358e-9,0.0019503668701211755,-6.771379833246088e-6,-4.8356927104913765e-9,0.001950941025999169,-6.857006618888046e-6,-4.754047856449597e-9,0.0019515098360051739,-6.823912357418047e-6,-4.788264987953578e-9,0.0019520240658229982,-6.690500284410137e-6,-4.920280238133386e-9,0.0019524536244067533,-6.49382548244997e-6,-5.113816259747165e-9,0.0019527895094792508,-6.276752315075202e-6,-5.326941081183438e-9,0.0019530401509459683,-6.078332438438705e-6,-5.521497393189113e-9,0.001953225817980965,-5.928567237035448e-6,-5.668236483345585e-9,0.0019533734478342783,-5.84651286102268e-6,-5.74866469745462e-9,0.0019535127069048035,-5.840135760566559e-6,-5.755159455452236e-9,0.0019536730713173847,-5.906707798229399e-6,-5.690546687804252e-9,0.0019538812761171337,-6.033223898987462e-6,-5.567654612994196e-9,0.0019541585144023286,-6.197000707763707e-6,-5.408699430107965e-9,0.0019545171385095907,-6.367107479822374e-6,-5.243879262195881e-9,0.0019549572076320533,-6.5074833444539475e-6,-5.108346058501838e-9,0.0019554639201165612,-6.582363249082454e-6,-5.03694129358835e-9,0.001956007498430186,-6.563809875728904e-6,-5.0568720809815e-9,0.001956546986261798,-6.4398326830353245e-6,-5.179789317621606e-9,0.001957038319601614,-6.220390777973844e-6,-5.3959025305882386e-9,0.001957445211377807,-5.938406346561329e-6,-5.6729623501463044E-09,0.0019577497434098727,-5.6441961139281294e-6,-5.961701088875459e-9,0.00195795905198493,-5.3940117834603315e-6,-6.207071934832427e-9,0.001958105475933685,-5.235595818058769e-6,-6.362420055449834e-9,0.0019582395183540724,-5.194843437985116e-6,-6.402542072145623e-9,0.001958417079498149,-5.267559275761301e-6,-6.331712684108876e-9,0.0019586841391798864,-5.419208397437096e-6,-6.183867152169376e-9,0.0019590632992368684,-5.5936274617679324e-6,-6.0140407497047866e-9,0.0019595468572287758,-5.728796846682779e-6,-5.882943397267424e-9,0.001960099404208329,-5.774659859002328e-6,-5.8395474337831e-9,0.0019606692273000065,-5.706491547132605e-6,-5.908007246472056e-9,0.001961203875844111,-5.5290734820936245e-6,-6.083550911233866e-9,0.001961663710892444,-5.271294504247528e-6,-6.33775249294814e-9,0.0019620291042840325,-4.974990706173587e-6,-6.62948408349352e-9,0.0019623006544432146,-4.683271223898374e-6,-6.916401377222745e-9,0.001962494734377491,-4.432015613971804e-6,-7.163317469825513e-9,0.00196263744876942,-4.24555166449937e-6,-7.3464495352867865e-9,0.001962759151531451,-4.135625053205161e-6,-7.454405906541533e-9,0.0019628903475563684,-4.102163162853727e-6,-7.487397138171459e-9,0.001963058825873597,-4.134581772027361e-6,-7.45591629508366e-9,0.0019632873735704035,-4.2130275752858015e-6,-7.37949782948698e-9,0.001963591384460584,-4.309670509689841e-6,-7.285447272084761e-9,0.001963976034392938,-4.390698571258319e-6,-7.2069014925367394E-09,0.00196443330876546,-4.419933657794488e-6,-7.1793089036528066e-9,0.0019649399761413515,-4.364865771727716e-6,-7.23453490273262e-9,0.001965458415821613,-4.2050069352158806e-6,-7.392670556572303e-9,0.0019659423021510165,-3.940624693125234e-6,-7.653438357820787e-9,0.001966347619651084,-3.5979703831828426e-6,-7.991020087185636e-9,0.001966646410720784,-3.2268073690315724e-6,-8.35646294373238e-9,0.001966837804951861,-2.88866026076316e-6,-8.6892469084276e-9,0.0019669507350560987,-2.638942552458159e-6,-8.93489923720782e-9,0.001967036219204756,-2.509897091168396e-6,-9.061792188439865e-9,0.0019671521102095036,-2.5011703515333097e-6,-9.070385947269845e-9,0.001967346338386762,-2.5810055380569523e-6,-8.992002968155938e-9,0.0019676443316525953,-2.696486676324743e-6,-8.878723391163976e-9,0.0019680437540308916,-2.788602202893239e-6,-8.788584213578214e-9,0.00196851699192739,-2.8074134547524235e-6,-8.77069512204032e-9,0.0019690198105688102,-2.723406029950918e-6,-8.854087293070188e-9,0.001969503286514971,-2.5325606025790628e-6,-9.042705655591e-9,0.0019699255438227234,-2.2545503651888572e-6,-9.317149614451272e-9,0.0019702602048416143,-1.9254253998824907e-6,-9.64186138287465e-9,0.0019704998243126686,-1.587626778063647e-6,-9.974977396460062e-9,0.001970654436207738,-1.2805361083925496e-6,-1.0277671836369529E-08,0.001970746848452303,-1.0338220010957484e-6,-1.0520734387427998e-8,0.001970806813276138,-8.642671882979529e-7,-1.0687691080751363e-8,0.0019708657346138646,-7.754852094272468e-7,-1.0775054263680461e-8,0.001970952685885467,-7.59358064857489e-7,-1.0790873734095068e-8,0.001971091690133412,-7.980785287859418e-7,-1.075270881326718e-8,0.0019712997330186763,-8.661819417994633e-7,-1.0685635082892515e-8,0.001971584912381313,-9.325958251431366e-7,-1.0620251655417039e-8,0.001971944386893563,-9.632389319096306e-7,-1.0590148555848218e-8,0.0019723623172643737,-9.250101036695197e-7,-1.0627989281767547e-8,0.001972808830631805,-7.919702181976068e-7,-1.0759406320346234e-8,0.0019732419679683944,-5.536462457545765e-7,-1.0994779047683153e-8,0.001973614823661226,-2.2335933302557065e-7,-1.1320973812675675e-8,0.0019738884737286657,1.5799990717252462e-7,-1.1697589927724113e-8,0.0019740473224203847,5.280347963458416e-7,-1.2062959771330483e-8,0.00197410928803649,8.20358883314744e-7,-1.2351497457826083e-8,0.001974123317235958,9.877098265902934e-7,-1.251656570489879e-8,0.001974153255924493,1.0192999814429548e-6,-1.2547588496020676e-8,0.0019742556717545824,9.434428611000109e-7,-1.2472576911245205e-8,0.0019744623865517686,8.154180584666158e-7,-1.2346103517772794e-8,0.001974774135226251,6.982018680757243e-7,-1.2230299564424663e-8,0.001975164866836536,6.44800593857355e-7,-1.2177471453811616e-8,0.001975592187135106,6.871905621175031e-7,-1.221921769330186e-8,0.001976009248334955,8.327104581488337e-7,-1.2362852376014084e-8,0.0019763749925609457,1.0663971388143509e-6,-1.259366276420492e-8,0.001976661273607453,1.3571121056137057e-6,-1.2880913658228117e-8,0.0019768563928079714,1.6655158949823804e-6,-1.3185711559255818e-8,0.001976965150873674,1.9522178827619e-6,-1.3469078659361015e-8,0.0019770060231024044,2.1846215565256827e-6,-1.3698753468466588e-8,0.001977006519814771,2.3414551764659016e-6,-1.3853691582153882E-08,0.0019769979445145433,2.4146980122888094e-6,-1.3925966248255384e-8,0.0019770105929741008,2.409217344158514e-6,-1.3920387497226856e-8,0.0019770700502998715,2.340825972519958e-6,-1.3852563760087515e-8,0.0019771946962903715,2.233613597212906e-6,-1.3746268263541514e-8,0.001977394083641216,2.117137695108602e-6,-1.3630691930216664e-8,0.00197766776849491,2.02355937158754e-6,-1.353764934893884e-8,0.0019780043391657534,1.9844130263776497e-6,-1.3498405475263642e-8,0.001978380746958981,2.0264143260061553e-6,-1.353951384539365e-8,0.001978762774876461,2.1656876800633962e-6,-1.3677055583687163e-8,0.00197910834678161,2.4005955486988004e-6,-1.3909478074330424e-8,0.0019793755690996236,2.7052325640155345e-6,-1.4211108687579435e-8,0.0019795358980323765,3.0280329593492748e-6,-1.4530782563116931e-8,0.0019795888602322726,3.3008762468395384e-6,-1.4800926854883546e-8,0.001979569909580966,3.4602522751505376e-6,-1.4958607317158036e-8,0.0019795428292347273,3.4729664075210322e-6,-1.4971007396679774e-8,0.0019795766858330343,3.3517185374406653e-6,-1.485078131230214e-8,0.001979719097725177,3.150012236996182e-6,-1.4650917551003886e-8,0.0019799807430923235,2.939717703579574e-6,-1.4442508997057445e-8,0.001980337179051505,2.785210747885825e-6,-1.4289220607364234e-8,0.001980742604001265,2.726455749296866e-6,-1.423061560237119e-8,0.0019811460867675897,2.7744247605888214e-6,-1.4277633511904348e-8,0.001981503955526798,2.915383589334282e-6,-1.4416788031389436e-8,0.0019817866606374806,3.119072655949307e-6,-1.4618203584318185e-8,0.0019819810541467733,3.3472878569643014e-6,-1.4844069697144964e-8,0.0019820896686203603,3.5612914305410776e-6,-1.5055977587760283e-8,0.00198212818028609,3.7276910519524167e-6,-1.522077511487346e-8,0.0019821217200457113,3.822702343827983e-6,-1.531483119915164e-8,0.001982100526968717,3.8346574475360094e-6,-1.5326546430867445e-8,0.001982095446197697,3.7647342774013897e-6,-1.525707214555077e-8,0.0019821337647565624,3.626027788928867e-6,-1.511936833404366e-8,0.00198223586051072,3.441229396883561e-6,-1.4935887639064302e-8,0.00198241295750562,3.2394074768603723e-6,-1.4735395171384388e-8,0.001982665941468611,3.0524134698759988e-6,-1.4549442314482317e-8,0.0019829850278711707,2.9111670054398966e-6,-1.4408723058841443e-8,0.0019833501452222605,2.841809897117393e-6,-1.4339272286988301e-8,0.0019837320752173157,2.8615334931783054e-6,-1.4358293854803897e-8,0.001984094861776407,2.9738376767734945e-6,-1.4469388182609625e-8,0.001984400625925791,3.163606036205151e-6,-1.465759406565055e-8,0.001984617903763515,3.39387177161666e-6,-1.4886148324894974e-8,0.001984733239124418,3.6078493427449448e-6,-1.5098540495896356e-8,0.001984762586708769,3.740319866084089e-6,-1.522990885918146e-8,0.001984755051949164,3.739151728899739e-6,-1.5228487094580237e-8,0.0019847812506757346,3.589373742862749e-6,-1.507949371776934e-8,0.0019849070018280613,3.324884794977739e-6,-1.481665653780441e-8,0.0019851657075547475,3.017077739740492e-6,-1.4510837813089766e-8,0.001985546337819205,2.7455641756043497e-6,-1.4240999293311826e-8,0.0019860027126962026,2.5689052542741243e-6,-1.4065234505030063e-8,0.001986474911058454,2.5102785475177926e-6,-1.4006586884914449e-8,0.001986909190146146,2.5597820777408202e-6,-1.4055310223533645e-8,0.001987269141598994,2.685729541695863e-6,-1.4180024373601416e-8,0.001987538415975901,2.8470244196991636e-6,-1.4339955147058143e-8,0.0019877184535379826,3.0026745725009918e-6,-1.4494369758932575e-8,0.001987824315689395,3.1178169485181043e-6,-1.4608579499453113e-8,0.0019878803285720108,3.1671431670578377e-6,-1.4657380747630862e-8,0.001987916017903525,3.1367378731829e-6,-1.4626916752757822e-8,0.00198796225735607,3.0248075252962984e-6,-1.4515412078652403e-8,0.001988047562103157,2.8413753222055076e-6,-1.4332850735856531e-8,0.0019881946131477435,2.60687216740141e-6,-1.4099542829987458e-8,0.001988417298411971,2.349527873938127e-6,-1.3843513258288562e-8,0.0019887187102340417,2.1016769841030624e-6,-1.3596844711551368e-8,0.001989090425727029,1.895388778983732e-6,-1.3391377619170956e-8,0.001989513160461744,1.7578895979745178e-6,-1.3254203612054567e-8,0.001989958770446367,1.7071788559904026e-6,-1.3203316404532476e-8,0.001990393534070427,1.7481911434179824e-6,-1.3243755974189393e-8,0.0019907827350952195,1.8697874359525122e-6,-1.336454230925692e-8,0.00199109681028482,2.0431157285996407e-6,-1.3536978415285554e-8,0.001991319151058384,2.222726763531207e-6,-1.371574429721612e-8,0.0019914544946981836,2.3526243150694117e-6,-1.3844968523515149e-8,0.0019915347809361574,2.379086977407752e-6,-1.3871077631016254e-8,0.001991617224389839,2.269346242030513e-6,-1.376144811926663e-8,0.0019917698902892863,2.0294384279911193e-6,-1.3522157951942242e-8,0.0019920466456429435,1.7095202837346074e-6,-1.3203206351826863e-8,0.001992463423863107,1.3885001624897012e-6,-1.288317749571206e-8,0.0019929908638321907,1.143480512993817e-6,-1.2638853847306288e-8,0.0019935682104733686,1.0214708448982725e-6,-1.2517091776224162e-8,0.0019941285130815195,1.0283869976145581e-6,-1.2523846927649901e-8,0.0019946200002937324,1.1365035316745898e-6,-1.2631538348227922e-8,0.001995015574720192,1.300685938679259e-6,-1.2795181679410482e-8,0.0019953118522825736,1.4734595686959486e-6,-1.2967407715671091e-8,0.0019955231121392253,1.6145721408287418e-6,-1.3108023269665573e-8,0.001995674485554681,1.6953207844439172e-6,-1.3188361405392658e-8,0.001995796372307964,1.6996250991069645e-6,-1.3192379686625797e-8,0.0019959203169879858,1.6236696505985474e-6,-1.3116312565503816e-8,0.0019960757921594096,1.475055708754886e-6,-1.2967807444551166e-8,0.0019962873383381975,1.271613814117125e-6,-1.2764702800757431e-8,0.001996571813660661,1.039617664310189e-6,-1.253321173415832e-8,0.001996935876688311,8.10987734279826e-7,-1.2305124592895642e-8,0.0019973742307001037,6.19237649378676e-7,-1.2113796509748371e-8,0.0019978693382533895,4.943937406260044e-7,-1.198913399233764e-8,0.0019983931254425164,4.575767847518032e-7,-1.1952232495962723e-8,0.0019989108215040154,5.162092500765573e-7,-1.2010593106379118e-8,0.0019993866344011147,6.609218430927506e-7,-1.215498240158599e-8,0.001999790531775251,8.650472468204294e-7,-1.2358850045151053e-8,0.0020001051872744658,1.0872195388065961e-6,-1.258086799786539e-8,0.0020003320300538583,1.2774384887276872e-6,-1.2770987731393865e-8,0.0020004948833237455,1.386820963278251e-6,-1.2880238021882123e-8,0.0020006389899060112,1.380409164658492e-6,-1.2873596607745973e-8,0.0020008230599442827,1.250445294729628e-6,-1.2743295658742569e-8,0.0020011035292148414,1.0248522465183068e-6,-1.2517287786395435e-8,0.0020015145004623476,7.642707366236366e-7,-1.2256256246504428e-8,0.002002052224806011,5.444286659134359e-7,-1.203598958625036e-8,0.0020026739455431216,4.2948544136936147e-7,-1.1920745495741174e-8,0.002003313579512777,4.496948714502562e-7,-1.1940890619262743e-8,0.0020039058326337656,5.94885512572639e-7,-1.208630936784008e-8,0.0020044058510690797,8.245709877731227e-7,-1.2316460457905977e-8,0.002004796841439746,1.0859096843776425e-6,-1.2578353220820108e-8,0.0020050868112686674,1.3296101468781744e-6,-1.2822521486441082e-8,0.0020053001577274294,1.5190539612688328e-6,-1.3012215262669332e-8,0.002005469139021302,1.6331027930982382e-6,-1.3126245137314179e-8,0.0020056275325741548,1.6652065850658668e-6,-1.3158091335992063e-8,0.0020058066106900104,1.6211993428942383e-6,-1.3113673482230696e-8,0.0020060325903481888,1.5170686408574125e-6,-1.3009079439298547e-8,0.002006324650222416,1.3769637497429265e-6,-1.2868534813545612e-8,0.0020066929754689877,1.2310800018681066e-6,-1.2722269046986007e-8,0.002007136798951896,1.1127780991151567e-6,-1.2603647647411476e-8,0.0020076429784578894,1.054378781853201e-6,-1.254500526328362e-8,0.002008186099861188,1.081598763449451e-6,-1.2572118807769247e-8,0.0020087311297168646,1.2074288608481698e-6,-1.2698088673752461e-8,0.002009239103287181,1.4270773152031296e-6,-1.2918234760844035e-8,0.0020096752789058284,1.716007875070945e-6,-1.3208055118895744e-8,0.0020100179652990918,2.0326550064858777e-6,-1.352587734554098e-8,0.0020102654993804938,2.3260539621831587e-6,-1.3820486693134687e-8,0.0020104390771972405,2.547030253336762e-6,-1.4042386690680413e-8,0.002010580106295075,2.6604804750482006e-6,-1.4156191902665433e-8,0.0020107419502173964,2.6557832329077294e-6,-1.4151139319925016e-8,0.0020109771879805558,2.5523069324261464e-6,-1.4046647718123685e-8,0.0020113229426591533,2.397375789826293e-6,-1.3890280276741745e-8,0.0020117884211216064,2.2554114694326285e-6,-1.3746841070905745e-8,0.0020123497341117697,2.1898980519676447e-6,-1.3680257875013628e-8,0.002012955651515441,2.2438213886840194e-6,-1.3733900181722728e-8,0.0020135433728180985,2.4266447610087438e-6,-1.39174182558369e-8,0.0020140579317852875,2.71366437476233e-6,-1.4206014604787913e-8,0.0020144668228012324,3.057204948402956e-6,-1.4551671002974376e-8,0.0020147647475891694,3.403199418756304e-6,-1.4899863316082618e-8,0.0020149692079483423,3.7055522989431925e-6,-1.520408419186706e-8,0.00201511150064555,3.9340846123691215e-6,-1.5433892567141782e-8,0.0020152277251075717,4.076173637410506e-6,-1.5576577887703656e-8,0.002015352239871468,4.134536644454852e-6,-1.563490853663456e-8,0.0020155138461719147,4.123692670047893e-6,-1.5623536213635403e-8,0.002015733840614426,4.0666243269108735e-6,-1.55656072328393e-8,0.0020160248674950276,3.992054942875605e-6,-1.549001455038565e-8,0.002016389829459018,3.93198510839712e-6,-1.542893704410032e-8,0.0020168206820040395,3.918765993757011e-6,-1.541493242521958e-8,0.0020172975756185623,3.980985777701276e-6,-1.5476833726911856E-08,0.0020177894153615887,4.137875398081949e-6,-1.5634127210906082e-8,0.002018257233673766,4.392939175307108e-6,-1.589050240627824e-8,0.0020186613266694954,4.728908346737077e-6,-1.6228694079735292e-8,0.0020189715206215524,5.107091194937329e-6,-1.660975065177038e-8,0.0020191776486713324,5.473615092617835e-6,-1.6979292753435012e-8,0.002019295779758033,5.772429950864491e-6,-1.7280651483171656e-8,0.002019366518176988,5.961349214838775e-6,-1.7471108259171236e-8,0.0020194449006417144,6.025194125173232e-6,-1.7535205282025255e-8,0.0020195851788385455,5.980999551576999e-6,-1.7490022440756466e-8,0.0020198257279237858,5.873603143711555e-6,-1.7380744515888384e-8,0.0020201787279912464,5.763467291729197e-6,-1.7268403150332105e-8,0.002020627231636164,5.710627551405569e-6,-1.7213706810198902e-8,0.002021130054639501,5.7592346508056935e-6,-1.7261429057047976e-8,0.002021632985760314,5.926817997082376e-6,-1.7429501306651574e-8,0.0020220830928120654,6.20118699778434e-6,-1.7705783145695567e-8,0.0020224418380563767,6.54565640069781e-6,-1.8053264624984565e-8,0.002022693062944097,6.910491614078083e-6,-1.842162169656846e-8,0.0020228439203432147,7.246330768272015e-6,-1.876083414523109e-8,0.00202291967499455,7.515105216752511e-6,-1.9032294027402762e-8,0.002022955371584404,7.695808702277565e-6,-1.9214681031198905e-8,0.0020229876289183193,7.785067752112486e-6,-1.9304540519772036e-8,0.002023048591573068,7.794246700981407e-6,-1.931333154928886e-8,0.0020231624980154585,7.745203409912733e-6,-1.926311028183914e-8,0.0020233442466032186,7.666212202219833e-6,-1.918240528759956e-8,0.0020235989734061375,7.588624354679677e-6,-1.9102866270263047e-8,0.002023921859131006,7.544034825291021e-6,-1.9056442936228402e-8,0.0020242978850773183,7.561308638331777e-6,-1.907241483206435e-8,0.0020247018586647472,7.662755338235264e-6,-1.9173526603769192e-8,0.0020250996748987574,7.859045107714878e-6,-1.9370801266084847e-8,0.0020254522736660083,8.143408211325172e-6,-1.9657586738974178e-8,0.0020257235021321623,8.487284167289417e-6,-2.0005064388235096e-8,0.0020258914008579325,8.841089839559924e-6,-2.0362983469746076e-8,0.0020259593522022504,9.143502782538063e-6,-2.0669092452411597e-8,0.002025960886878649,9.339097586877438e-6,-2.0867079499950275e-8,0.0020259529258870486,9.398254944606137e-6,-2.0926796085751366e-8,0.0020259980842913805,9.329515946722925e-6,-2.085676872498728e-8,0.0020261436498098338,9.177436067364245e-6,-2.0702003689784143e-8,0.002026406976788043,9.007145260904893e-6,-2.0528373390696197e-8,0.0020267726311981303,8.883574211806648e-6,-2.0401649057662443e-8,0.002027200045442295,8.85396367750792e-6,-2.0369837232274553e-8,0.00202763668051562,8.938366466169523e-6,-2.0453528387901555e-8,0.002028031669042613,9.128606584898225e-6,-2.0644735364591285e-8,0.0020283466335991557,9.39376249959402e-6,-2.0912327645621907e-8,0.00202856210099846,9.689503075361093e-6,-2.121142268331872e-8,0.002028679138809268,9.968698912730516e-6,-2.1494151041399055e-8,0.0020287166795685033,1.0191047732068404e-5,-2.1719481725996414e-8,0.0020287057358542504,1.0329897581158466e-5,-2.186021727137697e-8,0.0020286822638829623,1.0375287950705e-5,-2.1906123600102078e-8,0.0020286804677956084,1.0333353870444897e-5,-2.186332802988044e-8,0.0020287278066525257,1.022312602899354e-5,-2.175105158087606e-8,0.0020288421647846723,1.0072112218170743e-5,-2.1597111262225863e-8,0.0020290308875681577,9.911875842701016e-6,-2.143344844153332e-8,0.0020292909665944156,9.774243576700235e-6,-2.129232494824514e-8,0.0020296097239808366,9.688113323346603e-6,-2.1203133387480477e-8,0.0020299656877050217,9.67644684934271e-6,-2.11893658424898e-8,0.0020303297882378582,9.752905982662366e-6,-2.1265165055571597e-8,0.0020306676073327287,9.917766980710009e-6,-2.1431087980682735e-8,0.002030943934628873,1.0153584998504719e-5,-2.1669593622508353e-8,0.0020311306708723493,1.0422590466425067e-5,-2.1942323425636325e-8,0.002031217579951732,1.0669289798588603e-5,-2.219275019954811e-8,0.002031222335730858,1.0831796516238949e-5,-2.235778014634001e-8,0.002031193048301995,1.0861890930176747e-5,-2.2388241959551486e-8,0.00203119703859634,1.0746492481003186e-5,-2.2270735146629827e-8,0.002031297195154339,1.0517768776177442e-5,-2.2037844471414716e-8,0.0020315273094421984,1.0243291108028e-5,-2.1758092239078608e-8,0.0020318802493412753,1.0000530434740792e-5,-2.1510081000851584e-8,0.002032314137298937,9.850022664826762e-6,-2.1355340836590286e-8,0.002032770207259545,9.81982278786599e-6,-2.132258299426645e-8,0.0020331917199350323,9.904280503784482e-6,-2.14063888568104e-8,0.002033536949342053,1.0072489993620747e-5,-2.157566092331201e-8,0.0020337847861032054,1.0280151984724976e-5,-2.178555756437125e-8,0.002033934644404204,1.0480633734434917e-5,-2.1988684509594312e-8,0.002034002956023895,1.0633476288885205e-5,-2.2143773497299168e-8,0.0020340179562521273,1.0710065550269308e-5,-2.222152752762457e-8,0.002034013813275749,1.0696609639052564e-5,-2.2207730651406188e-8,0.002034024860105363,1.0594604521297306e-5,-2.2103765848150748e-8,0.002034080587443095,1.0419122419825089e-5,-2.19248717814829e-8,0.0020342019278727854,1.0195455518673118e-5,-2.169670062200928e-8,0.0020343991620295483,9.954802844166271e-6,-2.145091239995425e-8,0.0020346714321390342,9.729785129053017e-6,-2.122063084652677e-8,0.0020350074824118905,9.550386709694598e-6,-2.103636451097717e-8,0.002035387185509016,9.440493583899565e-6,-2.0922533216016104e-8,0.0020357836037984364,9.414912608424384e-6,-2.089444107511516e-8,0.0020361655489376162,9.476655420791237e-6,-2.0955452598258494e-8,0.002036501001353076,9.614310232276557e-6,-2.1094206564680248e-8,0.002036762210872142,9.79994037620005e-6,-2.1282363869390327e-8,0.0020369330481708123,9.989184837192771e-6,-2.1474658477092256e-8,0.002037017771296381,1.012628359366276e-5,-2.1614061269663444e-8,0.002037047915437464,1.015658110540848e-5,-2.164463677168314e-8,0.0020370813026867737,1.0046056108125668e-5,-2.153154985964805e-8,0.0020371875508600258,9.800650799576031e-6,-2.1280773292665346e-8,0.002037421936656467,9.472336381754918e-6,-2.094520101904596e-8,0.0020378005857027153,9.143072453333508e-6,-2.0608270685343048e-8,0.0020382928899801513,8.892876275813154e-6,-2.035149508235166e-8,0.0020388358398022157,8.770499811406708e-6,-2.0224669132370346e-8,0.002039359770557812,8.781941663669052e-6,-2.0234157130035133e-8,0.0020398103504522254,8.897729739466089e-6,-2.0350211586612295e-8,0.0020401588643933475,9.069382952218172e-6,-2.0523629149456965e-8,0.0020404019625274035,9.245293559122839e-6,-2.0701866584475123e-8,0.002040555827693921,9.381504609670853e-6,-2.0840025781472896e-8,0.0020406489259659406,9.447228151930216e-6,-2.0906536788607898e-8,0.0020407154331214734,9.426696770852405e-6,-2.088512838607746e-8,0.00204078985578392,9.318873354513713e-6,-2.077459998128169e-8,0.00204090271395194,9.135845367544504e-6,-2.0587206452044835e-8,0.0020410771407216085,8.900239108317796e-6,-2.034599700431967e-8,0.002041326419699712,8.641807325844239e-6,-2.0081292128129632e-8,0.0020416526435947345,8.393337339943669e-6,-1.982648942593215e-8,0.002042046703171445,8.186237577472187e-6,-1.9613586261310882e-8,0.0020424895896427346,8.046339142518472e-6,-1.9468954219893878e-8,0.0020429547843234747,7.990305000968632e-6,-1.940972395069631e-8,0.0020434115251253306,8.022843551834938e-6,-1.9440936885743926e-8,0.002043828782565443,8.134892448156656e-6,-1.9553616311880043e-8,0.0020441798602190554,8.302917025788585e-6,-1.972393223071845e-8,0.0020444477519546617,8.4896969525292e-6,-1.9913901817449882e-8,0.0020446311903293338,8.647706547103258e-6,-2.0074815114312748e-8,0.0020447501973034107,8.726723226422148e-6,-2.0155077328217368e-8,0.002044848244940901,8.686627904246379e-6,-2.011341515541943e-8,0.0020449867383772256,8.513737749746249e-6,-1.9935671842505055e-8,0.002045228541166259,8.234144633017872e-6,-1.964846070320371e-8,0.0020456134638839763,7.913572361465218e-6,-1.931898185881672e-8,0.0020461377861319533,7.63729312921591e-6,-1.9034476270744172e-8,0.0020467521585061633,7.477202828544634e-6,-1.8868592712503943e-8,0.002047381272856939,7.464688941483806e-6,-1.8853644549237028e-8,0.0020479532062943314,7.58431837206364e-6,-1.8974080315531745e-8,0.0020484215587382487,7.78774400789283e-6,-1.918060677428675e-8,0.0020487722662357426,8.015405362121847e-6,-1.941233147259879e-8,0.002049018198077936,8.214197838192044e-6,-1.9614843383185996e-8,0.0020491889216315115,8.346735295295853e-6,-1.9749735808637718e-8,0.0020493210512069144,8.393632060507522e-6,-1.979700451228811e-8,0.0020494512449664246,8.351957607960816e-6,-1.9753525015406534e-8,0.0020496117250101715,8.23232744734854e-6,-1.963010652990153e-8,0.002049827426776408,8.055769435622714e-6,-1.944827439536342e-8,0.002050114053526486,7.850558869214728e-6,-1.9236989441846953e-8,0.0020504767490431433,7.648847136675355e-6,-1.9029157282885984e-8,0.0020509094756088818,7.482854532348159e-6,-1.8857725613841873e-8,0.002051395453334524,7.380623768682452e-6,-1.8751377321085998e-8,0.0020519090052662243,7.361760387571575e-6,-1.8730230620980626e-8,0.0020524188593675297,7.433818308990292e-6,-1.8802173480598776e-8,0.0020528926844391848,7.589950602549962e-6,-1.8960428834936324e-8,0.0020533024421489844,7.808390524123514e-6,-1.9182928498524213e-8,0.0020536299340462158,8.054192913403938e-6,-1.9433978306497595e-8,0.0020538718361486044,8.283434195619361e-6,-1.9668482974938482e-8,0.0020540434289632683,8.45004521906672e-6,-1.9838956797592828e-8,0.0020541797514216247,8.515402796906978e-6,-1.99054534057615e-8,0.0020543322054149753,8.459930706160225e-6,-1.984759651675978e-8,0.0020545585952090927,8.293944827313858e-6,-1.9675807879402267e-8,0.0020549063810787,8.062431097372e-6,-1.9436246264897823e-8,0.0020553934153247633,7.837497117823304e-6,-1.920304947832446e-8,0.002055995700465939,7.696451661454231e-6,-1.9055809090821722e-8,0.002056651811353018,7.693154521324639e-6,-1.9050112336143213e-8,0.0020572846695030584,7.837818600247798e-6,-1.919671296351236e-8,0.002057829365555983,8.096658859821898e-6,-1.946106441052887e-8,0.002058252145844519,8.409493816274429e-6,-1.978134730901258e-8,0.0020585536030746266,8.712990432294358e-6,-2.0092375696100318e-8,0.002058759808669095,8.957877739096902e-6,-2.0343349339844396e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_17.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_17.json
deleted file mode 100644
index 64ee0a0..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_17.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":17000,"numberOfSamples":1000,"samples":[0.0020589095356776037,9.116105504093818e-6,-2.0505272164235435e-8,0.002059043510293161,9.180255067418492e-6,-2.0570390059257767e-8,0.0020591976431414568,9.159302745262173e-6,-2.054785882824188e-8,0.002059399625909375,9.073759899582225e-6,-2.045874721325323e-8,0.0020596674746746844,8.95148439515232e-6,-2.033170765436402e-8,0.00206000888513569,8.824207938457376e-6,-2.019937465729761e-8,0.002060420904195782,8.724308617167852e-6,-2.0095032184184587e-8,0.0020608899779143205,8.68132520947309e-6,-2.0049049012491025e-8,0.0020613928365786132,8.717972919315283e-6,-2.008482719556681e-8,0.0020618988348358,8.845955809078727e-6,-2.021453482958727e-8,0.002062374125258358,9.062441716260134e-6,-2.0435474508193457e-8,0.0020627874895708226,9.348364762479418e-6,-2.072826871336509e-8,0.0020631169945883126,9.669654112154566e-6,-2.1058015950605946e-8,0.0020633560604633263,9.98198746864013e-6,-2.137908652587735e-8,0.002063517288428266,1.023877017749716e-5,-2.164330411583651e-8,0.002063632645942536,1.0401139220424818e-5,-2.1810299545772995e-8,0.0020637491502467223,1.0448183572471843e-5,-2.185815206205818e-8,0.0020639198525462597,1.0385066085844465e-5,-2.1791885352537092e-8,0.002064190922547863,1.0246206042140799e-5,-2.1646843352671344e-8,0.002064587291919049,1.0090636415679369e-5,-2.1483949591921145e-8,0.0020651014652658243,9.988078798241432e-6,-2.13753442005915e-8,0.002065691367589172,9.998026570269695e-6,-2.1382754626188622e-8,0.002066291012197917,1.0149230388591655e-5,-2.153622147579785e-8,0.002066831501387849,1.0429452683376921e-5,-2.182338975756979e-8,0.002067263169333099,1.0791237145000513e-5,-2.2195367611649683e-8,0.002067568557615017,1.1170401662074308e-5,-2.2585814103541868e-8,0.0020677618994642912,1.1507219742502304e-5,-2.2932879418767003e-8,0.0020678786593962845,1.1760992660056131e-5,-2.319433420100162e-8,0.00206796228678175,1.1914801500387303e-5,-2.3352529680849556e-8,0.0020680536670884195,1.1972789302221374e-5,-2.3411612372762594e-8,0.002068185083895209,1.1954165594086708e-5,-2.339133460421787e-8,0.0020683778972125345,1.1887104070253944e-5,-2.3320744180844544e-8,0.002068642307553408,1.180390121082168e-5,-2.3233173740066774e-8,0.002068977856263579,1.1737393814191125e-5,-2.3162537647244684e-8,0.002069373999389383,1.1717978706675388e-5,-2.3140267827765654e-8,0.0020698107873335274,1.1770514429890422e-5,-2.3192140613020073e-8,0.0020702602014525747,1.1910715973072524e-5,-2.3334573248691355e-8,0.002070688939508567,1.2141252692424613e-5,-2.3570578997251697e-8,0.0020710632916822844,1.2448527390387745e-5,-2.3886375187523575e-8,0.002071356066541742,1.2801803268012288e-5,-2.4250382510760558e-8,0.0020715543319876706,1.3156451701310057e-5,-2.4616491549786515e-8,0.00207166551766087,1.3462116971780244e-5,-2.493246716960177e-8,0.002071719050649512,1.3674624989544023e-5,-2.5152297788431047e-8,0.0020717617377544535,1.3768431742533288e-5,-2.524915847137308e-8,0.0020718472574079074,1.374550081599251e-5,-2.5224700784713937e-8,0.0020720223622184525,1.363727582508806e-5,-2.5111195478472052e-8,0.0020723137031515636,1.3498471162329928e-5,-2.496519243244624e-8,0.002072719191338335,1.339381780152275e-5,-2.485385332221292e-8,0.002073206795757431,1.338096643139214e-5,-2.483723759380846e-8,0.0020737219362692,1.3494245133198445e-5,-2.4951381108780162e-8,0.00207420211020392,1.373455339359368e-5,-2.5197661804572466e-8,0.0020745944143773383,1.4069430089365293e-5,-2.554271199173207e-8,0.002074869746023746,1.4443723774723879e-5,-2.5929405831806994e-8,0.0020750285128816304,1.479667972622433e-5,-2.6294607590510123e-8,0.0020750966176363173,1.5078544268788864e-5,-2.6586483364644268e-8,0.0020751148669499956,1.5260889492796408e-5,-2.677529701011583e-8,0.0020751270004247535,1.5338783722705668e-5,-2.6855711891848633e-8,0.0020751704833224575,1.5326746513909972e-5,-2.684261106263222e-8,0.0020752715762822763,1.5251984116094389e-5,-2.6764080409271047e-8,0.002075444009124103,1.5147762629496005e-5,-2.6654533703698157e-8,0.002075689729548116,1.504827746606285e-5,-2.6549398220846943e-8,0.002076000366210549,1.4985082629739757e-5,-2.6481430881895264e-8,0.002076358657231711,1.498441301720375e-5,-2.6477967033587838e-8,0.0020767397992757677,1.5064587977735741e-5,-2.6558240543651232e-8,0.002077113259954405,1.5233004156103975e-5,-2.6730240753699176e-8,0.0020774459186594374,1.548284453443912e-5,-2.6987226620384064e-8,0.002077707337417931,1.5790500049088474e-5,-2.7304945193864276e-8,0.002077877261826839,1.6115682164498162e-5,-2.764165309505029e-8,0.0020779538822941765,1.6406603632449e-5,-2.7943458192743133e-8,0.0020779594398716464,1.6611353072832964e-5,-2.8156170195329946e-8,0.0020779390055978278,1.6693382219093287e-5,-2.824146792653341e-8,0.0020779502913158923,1.6645409426593984e-5,-2.8191416586278918e-8,0.002078046844161103,1.6494938438233428e-5,-2.803425405045996e-8,0.0020782610782756087,1.6297779276038386e-5,-2.782772424649056e-8,0.0020785941150732565,1.612175588363035e-5,-2.7642241561896423e-8,0.0020790159587568842,1.6027141518751153e-5,-2.754063775278662e-8,0.0020794748756735038,1.6050743503202965e-5,-2.756160492638588e-8,0.0020799118940896845,1.619791239208086e-5,-2.7711253577368164e-8,0.0020802757626315633,1.6443513592555717e-5,-2.7963924844698012e-8,0.0020805345246273253,1.674043522617959e-5,-2.8270877063799093e-8,0.002080681226938013,1.7032634096537527e-5,-2.857380300224129e-8,0.002080732951995497,1.7268943244941685e-5,-2.881925151534997e-8,0.002080724194408864,1.7413982316484317e-5,-2.8970092565580946e-8,0.0020806971435383278,1.745367834708195e-5,-2.901136620869484e-8,0.0020806920260737966,1.7394912621893336e-5,-2.8949975367327408e-8,0.002080739988704213,1.72607815502705e-5,-2.8809768850635676e-8,0.002080859515267317,1.70838985357426e-5,-2.8624560861473263e-8,0.0020810559636607064,1.6899885539921436e-5,-2.8431349761988563e-8,0.0020813230557203376,1.6742274751481572e-5,-2.8265022453786016e-8,0.0020816451171855417,1.6639033795220282e-5,-2.8154767386943654e-8,0.0020819993189068113,1.6610203007369465e-5,-2.812164312243963e-8,0.0020823577851628115,1.6665911699555345e-5,-2.817650914736122e-8,0.0020826899633292987,1.680426930790959e-5,-2.8317770861029884e-8,0.002082966018551884,1.7009150846059025e-5,-2.852896394235378e-8,0.002083162073066397,1.7248756752608075e-5,-2.8777135556946513e-8,0.0020832674579102563,1.7476932878513038e-5,-2.9014151463292816e-8,0.0020832924694833594,1.7639846001218737e-5,-2.9183675584427234e-8,0.0020832727739094805,1.7689422424584678e-5,-2.9235274256026354e-8,0.0020832653064138955,1.7601030960855478e-5,-2.9142946193151746e-8,0.0020833330245630757,1.7387646058308056e-5,-2.8919920603682593e-8,0.002083522753935488,1.7100955802243916e-5,-2.8619808329920083e-8,0.0020838468179513333,1.6815710705222776e-5,-2.8320330725747508e-8,0.002084278439419095,1.6604039049236554e-5,-2.8096659219011013e-8,0.0020847625566020353,1.6512511531122853e-5,-2.799759622144117e-8,0.002085235023267062,1.6551414097566436e-5,-2.8034351982823543e-8,0.0020856408987005555,1.6697366798988196e-5,-2.8183104552679034e-8,0.0020859461245631033,1.690450794263447e-5,-2.8396456266918066e-8,0.0020861415082864985,1.7118421130651345e-5,-2.8617819915088376e-8,0.0020862405867537945,1.7288696492304295e-5,-2.8794501922373435e-8,0.0020862736330299575,1.737809826474195e-5,-2.8887350772104285e-8,0.002086279804006059,1.7367702998098975e-5,-2.8876251011356654e-8,0.0020862990421835854,1.7258011428210435e-5,-2.8761400589556528e-8,0.002086365115922038,1.7066487746353264e-5,-2.8560802190087286e-8,0.0020865008408489875,1.682256943694604e-5,-2.8305053907286174e-8,0.002086715919263949,1.656156014476701e-5,-2.8030941270095572e-8,0.0020870071990390262,1.6318714925791584e-5,-2.7775237638634485e-8,0.0020873606761909773,1.612444436636325e-5,-2.7569706696292268e-8,0.0020877543487093165,1.6001012803300085e-5,-2.7437694306513178e-8,0.0020881612220372825,1.596050578626689e-5,-2.7392040420271822e-8,0.002088552230288847,1.6003549082607828e-5,-2.7433729548710437e-8,0.0020888992435952967,1.611837191802468e-5,-2.7550832366391624e-8,0.0020891786471092483,1.6280160651193357e-5,-2.7717702617435652e-8,0.0020893761169842166,1.6451350603092855e-5,-2.7895164399045403e-8,0.002089492678959948,1.6584503687808136e-5,-2.803347849401429e-8,0.0020895506186168747,1.6629975070205594e-5,-2.8080421596796448e-8,0.0020895956639829702,1.654957839540818e-5,-2.799570583593579e-8,0.002089690395538273,1.6333804471878623e-5,-2.7769090685971695e-8,0.002089896033722322,1.6014373257708863e-5,-2.7433529126734662e-8,0.0020902475806469254,1.5661140369289124e-5,-2.7061908434893643e-8,0.002090735796633609,1.5359270098771867e-5,-2.67432120407e-8,0.00209130859780546,1.5176778132377433e-5,-2.6548672939580005e-8,0.002091891842946931,1.5140754055244766e-5,-2.6506954770801897e-8,0.0020924165245282877,1.5233761825979138e-5,-2.660030176659009e-8,0.002092838108888907,1.5407435049015967e-5,-2.6778581186473033e-8,0.0020931426145603437,1.5602073463539797e-5,-2.697961713028947e-8,0.002093342524197185,1.576303163752042e-5,-2.7146256028244872e-8,0.0020934681224012187,1.5850536534203465e-5,-2.7236664035016808e-8,0.002093558330924372,1.584356238962605e-5,-2.7228488040135843e-8,0.002093652929189025,1.5739702587511593e-5,-2.711885649216876e-8,0.002093786585558144,1.5552692842214613e-5,-2.6921891528832596e-8,0.002093984610700063,1.530847635566744e-5,-2.6664625730728237e-8,0.002094260408522702,1.5040327883243397e-5,-2.6381866829385993e-8,0.0020946146605398033,1.4783590396206654e-5,-2.6110629573656682e-8,0.0020950361908124754,1.4570612940870071e-5,-2.5884801421741135e-8,0.002095504287982403,1.4426464136665532e-5,-2.573066979561237e-8,0.0020959920098880948,1.436589162782448e-5,-2.566378974830331e-8,0.0020964698904481064,1.4391654082877689e-5,-2.568727581986414e-8,0.002096909672107035,1.4494027260271335e-5,-2.5791262682142066e-8,0.002097287955238897,1.4651254484391914e-5,-2.595327902709219e-8,0.0020975898588619776,1.483086589384205e-5,-2.6139490483611765e-8,0.0020978129239909112,1.4992194433574303e-5,-2.6307227096703933e-8,0.002097971126731232,1.5091109530391926e-5,-2.6409931481351222e-8,0.002098097703998993,1.5088284225384236e-5,-2.6405927211233465e-8,0.002098243998954342,1.4961356647547054e-5,-2.6271336291410024e-8,0.002098470643735973,1.4718558663920096e-5,-2.601451060716538e-8,0.002098829142769062,1.4406847413029446e-5,-2.568461021728266e-8,0.002099338584112944,1.4104891981013634e-5,-2.5364227738068856e-8,0.002099970577078888,1.389718581053549e-5,-2.51422113367583e-8,0.0021006554024350413,1.3839945599057747e-5,-2.5077873022135188e-8,0.0021013089162565824,1.3939075366767634e-5,-2.5177804466452004e-8,0.0021018642410454017,1.4152966541286029e-5,-2.5398697748388907e-8,0.002102290544234685,1.4414719463911722e-5,-2.5670555129297722e-8,0.002102593458372229,1.4657717276490355e-5,-2.5923475251490083e-8,0.002102803823419274,1.4832523419603329e-5,-2.610539494337901e-8,0.002102963997051854,1.4912874042482475e-5,-2.6188440763515092e-8,0.00210311701985688,1.489429901720448e-5,-2.6167581509441245e-8,0.00210329981316489,1.4789514144286761e-5,-2.605589711490424e-8,0.0021035395604685125,1.4623216960515582e-5,-2.5879181897882027e-8,0.002103852012857229,1.4427256816148642e-5,-2.5670874573032203e-8,0.0021042409306866908,1.4236166858646234e-5,-2.546731313778813e-8,0.002104698454320543,1.4082882456060734e-5,-2.53031751996881e-8,0.0021052064752133293,1.3994654154339699e-5,-2.5207158431920774e-8,0.0021057391315831625,1.3989407920046565e-5,-2.519818244598461e-8,0.002106266387320575,1.4073050130678136e-5,-2.5282607415599342e-8,0.002106758334830071,1.423820083636465e-5,-2.5452924691916057e-8,0.0021071897012097697,1.4464569256647e-5,-2.568810271807864e-8,0.0021075440763852053,1.4720984983073159e-5,-2.5955605114652786e-8,0.002107817455023985,1.4968991587208612e-5,-2.6215033812032676e-8,0.0021080207898770947,1.5167881763610569e-5,-2.6423345985019315e-8,0.0021081811782254606,1.52812712911579e-5,-2.6541802838830476e-8,0.002108340721814446,1.5285367127017497e-5,-2.6544815228638046e-8,0.002108551393130802,1.5178224387244792e-5,-2.6429882679400344e-8,0.0021088642657054028,1.4987405902763008e-5,-2.6225817522741596e-8,0.0021093131823441873,1.477109413125047e-5,-2.5993980396136906e-8,0.0021098973634679687,1.4606796678395606e-5,-2.5816350529623914e-8,0.0021105729078048107,1.4566334520348138e-5,-2.5769076832392603e-8,0.0021112628777701157,1.4686483996552583e-5,-2.589140375989459e-8,0.002111884963727069,1.49524858304974e-5,-2.616814292368397e-8,0.0021123820416213326,1.530564027223351e-5,-2.653758083888853e-8,0.002112738443062604,1.566943862865359e-5,-2.6919021383359056e-8,0.0021129763380782042,1.597734406587063e-5,-2.7242128079128386e-8,0.002113139906608551,1.6188913189144726e-5,-2.7463982116337144e-8,0.0021132785147635735,1.6292255587917617e-5,-2.7571731956963736e-8,0.002113435244892276,1.6298231436790853e-5,-2.7576542617677282e-8,0.002113641467647694,1.623231108640538e-5,-2.750507948119659e-8,0.0021139155020888497,1.612742596429646e-5,-2.739200662875825e-8,0.002114263195353226,1.601868102419684e-5,-2.7274398004963558e-8,0.002114679097938746,1.5939462619916927e-5,-2.7187584649230205e-8,0.002115147857818045,1.591820498712063e-5,-2.7161697731839154e-8,0.0021156460082405507,1.5975354031712748e-5,-2.7218453269601503e-8,0.0021161445333496127,1.6120489838517026e-5,-2.736813658476198e-8,0.002116612541248858,1.6350066999505276e-5,-2.7607239032229045e-8,0.002117021983644663,1.6646569377117553e-5,-2.791754490148783e-8,0.002117352837098394,1.697979911393296e-5,-2.826741083990463e-8,0.0021175978015787107,1.731065634053247e-5,-2.8615637817191073e-8,0.00211776543378165,1.759725263509948e-5,-2.8917829165943654e-8,0.002117880769420787,1.7802584133189674e-5,-2.9134478291953385e-8,0.002117982886203447,1.7902584529889876e-5,-2.9239569317390042e-8,0.002118119198387002,1.7893289828263934e-5,-2.922832774864068e-8,0.002118336487991736,1.7795584944785858e-5,-2.9122440610658274e-8,0.0021186692843823997,1.7655389538035962e-5,-2.8970402749374115e-8,0.0021191276345471233,1.7536852324466382e-5,-2.8840362727093884e-8,0.0021196884143433207,1.7507199823531867e-5,-2.880401634238384e-8,0.002120295925762307,1.7615411346021366e-5,-2.8913861014445143e-8,0.0021208758106100725,1.787247903713528e-5,-2.9182079529307654e-8,0.002121359406182991,1.8244267405424016e-5,-2.9572807067690778e-8,0.0021217074721560777,1.8663209769622012e-5,-3.0014474124992184e-8,0.0021219209004431955,1.905356541542978e-5,-3.042663828206199e-8,0.0021220343298265485,1.9356536768551152e-5,-3.0746705244532125e-8,0.002122099166839674,1.954377814105041e-5,-3.094431491310143e-8,0.002122166330543905,1.9617217855782224e-5,-3.102119259421685e-8,0.0021222752180405586,1.9600531064406503e-5,-3.100215517299388e-8,0.002122449658514504,1.952878967527067e-5,-3.092419165467688e-8,0.0021226984612435964,1.9440127761138346e-5,-3.082765962692926e-8,0.002123017846957808,1.9370314072744265e-5,-3.075052790344494e-8,0.0021233940681903195,1.934948928989278e-5,-3.0724888774326296e-8,0.0021238056794888474,1.9399952935627528e-5,-3.077458440678296e-8,0.002124225682580438,1.9534193054597844e-5,-3.091310551719368e-8,0.002124624113565031,1.9752886458047202e-5,-3.1141464105636413e-8,0.002124971655833702,2.0043233580223036e-5,-3.144639940286134e-8,0.00212524450155675,2.037859705176521e-5,-3.179992728445566e-8,0.002125429949440885,2.0720660307119964e-5,-3.216153381034379e-8,0.0021255313735390655,2.1024952911718785e-5,-3.2483951488909524e-8,0.0021255706390746042,2.1249553405534983e-5,-3.272236244662322e-8,0.0021255862274255134,2.136531580176944e-5,-3.284530096658392e-8,0.002125626472329969,2.136477599867833e-5,-3.2844230643420137e-8,0.0021257389764561077,2.1266765123494018e-5,-3.273861136499655e-8,0.0021259586471253046,2.1114766388613177e-5,-3.2574325849611996e-8,0.0021262973922635143,2.0968604798671925e-5,-3.241497651320302e-8,0.0021267384416393392,2.0890666115759917e-5,-3.2327268627746654e-8,0.0021272376715695132,2.0929425811587144e-5,-3.236339970670092e-8,0.002127733046172089,2.110460424404699e-5,-3.2545061768599696e-8,0.00212816092546539,2.1399236109442378e-5,-3.2854762929754035e-8,0.0021284746737500223,2.176302809822261e-5,-3.3239236614057686e-8,0.002128658496133636,2.212740460159936e-5,-3.362543623506609e-8,0.0021287304336883744,2.2426834845535454e-5,-3.3943333219980947e-8,0.0021287335646911943,2.2617434207905126e-5,-3.414584047635682e-8,0.0021287204228760234,2.2685679731977404e-5,-3.421817395035784e-8,0.0021287380406940413,2.264602236182866e-5,-3.417535947240264e-8,0.002128818715188701,2.2531501692113913e-5,-3.4052283410800604e-8,0.002128977344015476,2.2382911676892006e-5,-3.3892197642410027e-8,0.002129213263803856,2.2240213464310166e-5,-3.373760006185234e-8,0.0021295139322477768,2.2137245808817076e-5,-3.362460002842891e-8,0.0021298586205894944,2.2099046795842652e-5,-3.358004972356987e-8,0.0021302214146577676,2.2140545104573738e-5,-3.362013028869592e-8,0.0021305737006618716,2.2265607580957118e-5,-3.374931398457121e-8,0.0021308867762918587,2.2466010723704024e-5,-3.39592257518173e-8,0.002131135293920836,2.2720594046935103e-5,-3.4227667717305434e-8,0.0021313019334212695,2.2995565753170124e-5,-3.451884933521096e-8,0.0021313829342262734,2.3247460182788705e-5,-3.4786456209133385e-8,0.0021313929103826883,2.3430080081429465e-5,-3.4981018338903236e-8,0.0021313662623369065,2.35053775592328e-5,-3.506154647311194e-8,0.002131352534668617,2.3455775394926864e-5,-3.500875472352498e-8,0.0021314050619435174,2.3293157757724045e-5,-3.483475480248656e-8,0.0021315656878382726,2.305959461858975e-5,-3.458394904972025e-8,0.002131851148769884,2.2817817875395575e-5,-3.432300884872676e-8,0.002132246675708553,2.2634145895239077e-5,-3.412278123476084e-8,0.0021327093056224787,2.255991732479814e-5,-3.4038512859965103e-8,0.0021331794386085386,2.261762912569421e-5,-3.4094941293936804e-8,0.002133596614516856,2.2795606804280943e-5,-3.4280365800889207e-8,0.0021339148569076657,2.3052078776754165e-5,-3.455073970041519e-8,0.0021341135296762083,2.3327034579694484e-5,-3.484217778475803e-8,0.0021342009716787884,2.355832491670355e-5,-3.508814955727273e-8,0.0021342101969445745,2.3697300658380293e-5,-3.523629751598651e-8,0.0021341884075972216,2.3719450332254015e-5,-3.525994944230765e-8,0.002134184081791398,2.3627331849970435e-5,-3.5161372712859956e-8,0.002134235900463689,2.3446066878692636e-5,-3.4967036409302774e-8,0.0021343663946126897,2.321429430328426e-5,-3.471798296710547e-8,0.0021345807976598918,2.2974350116389325e-5,-3.4459344612988514e-8,0.0021348696549837566,2.2764450779378168e-5,-3.4231980765256686e-8,0.0021352131046345666,2.2613905870942357e-5,-3.4067347153649095e-8,0.0021355851791665065,2.25409643711599e-5,-3.398518306415485e-8,0.002135957353588875,2.255223300982052e-5,-3.3992879723749303e-8,0.0021363013822437923,2.264265540717151e-5,-3.408542886166249e-8,0.0021365919676518924,2.279553658100697e-5,-3.4245382178955386e-8,0.0021368099415358917,2.298274820199354e-5,-3.444296877039347e-8,0.0021369464146205742,2.3165964903851673e-5,-3.463731317033913e-8,0.0021370076236995232,2.3300428516159704e-5,-3.4780406073762714e-8,0.0021370188901841084,2.334275576213467e-5,-3.482548254690987e-8,0.002137024662802771,2.3262920180390915e-5,-3.473993474880969e-8,0.0021370813223880038,2.3057492795026685e-5,-3.451958523389752e-8,0.002137241889275746,2.2757801904735166e-5,-3.41974981982623e-8,0.0021375370262618257,2.2426116340509338e-5,-3.3839966919214845e-8,0.002137961316631726,2.213800200907653e-5,-3.3527737842564464e-8,0.0021384728126343628,2.1957459800264673e-5,-3.332951347872889e-8,0.002139006670366777,2.191643370582827e-5,-3.3280036206354196e-8,0.0021394959229136664,2.2007302232413204e-5,-3.3371904617377737e-8,0.0021398901271324055,2.2189143712365275e-5,-3.3562023526722955e-8,0.002140166006414651,2.2402515162981413e-5,-3.378718549615929e-8,0.002140329077781706,2.2586184572995143e-5,-3.398186921720036e-8,0.0021404083035632985,2.2691063196128188e-5,-3.409319354061641e-8,0.002140446731689183,2.2688976940126358e-5,-3.409045739764433e-8,0.002140490895281052,2.2575699890952926e-5,-3.396857223236857e-8,0.0021405812375513067,2.2368761539972847e-5,-3.374586429282327e-8,0.002140745261299301,2.21013187905107e-5,-3.345758704823717e-8,0.002140994332456639,2.181402372302832e-5,-3.314720913566537e-8,0.002141324077070165,2.15469856889004e-5,-3.285775427864785e-8,0.002141717448243737,2.1333424920190157e-5,-3.262494699138589e-8,0.0021421491254591573,2.1195757227350775e-5,-3.247299004550511e-8,0.0021425900057506363,2.1143998775028036e-5,-3.2412859574264454e-8,0.002143011062769476,2.117578153748411e-5,-3.2442332125159627e-8,0.0021433864887417924,2.1277166088685482e-5,-3.254683206575627e-8,0.0021436964440635616,2.142377656843826e-5,-3.270056832632809e-8,0.0021439298869587705,2.1582271289495213e-5,-3.2867992137633203e-8,0.0021440878674806683,2.1712763255525305e-5,-3.3006289361086e-8,0.002144187054590783,2.1773439803346106e-5,-3.3070310510598916e-8,0.002144262009093983,2.172867744059509e-5,-3.302135431596869e-8,0.002144363336494184,2.156066898233932e-5,-3.2839788635029706e-8,0.0021445484486645283,2.128161554298987e-5,-3.253826914107641e-8,0.0021448640499980975,2.093968006406232e-5,-3.216820242252745e-8,0.0021453256085358927,2.0610778355504582e-5,-3.181096877059883e-8,0.002145905198301666,2.0374493068902587e-5,-3.155211428654284e-8,0.00214653761622983,2.028404497865664e-5,-3.144915450204835e-8,0.002147143609271417,2.0346789600608755e-5,-3.151058660106004e-8,0.0021476575414585346,2.0525272704293914e-5,-3.1696854344447995e-8,0.002148045581613403,2.0755200980876327e-5,-3.193942834876001e-8,0.0021483090662633483,2.0968393190590092e-5,-3.2165288983192186e-8,0.002148476685362016,2.111059951237463e-5,-3.231601401750927e-8,0.002148592188673189,2.115054857145032e-5,-3.235756967674147e-8,0.0021487026050471423,2.108140192452833e-5,-3.2282037014221544e-8,0.002148849218208448,2.091738286919093e-5,-3.2104180012498956e-8,0.0021490617141141114,2.0687943158359667e-5,-3.185531826563116e-8,0.0021493552248900965,2.043093865495207e-5,-3.1576037272193084e-8,0.0021497299103959574,2.018578295980443e-5,-3.1308781112487576e-8,0.0021501726730506327,1.99873898678633e-5,-3.109124846202539e-8,0.0021506604730088547,1.986152543363258e-5,-3.0951322070678607e-8,0.0021511645783630928,1.9821951349432184e-5,-3.0903980935864254e-8,0.0021516549924586936,1.986945352369192e-5,-3.0950285248140185e-8,0.0021521044365688485,1.9992440843010033e-5,-3.107804747030246e-8,0.0021524916686676407,2.016856874486101e-5,-3.126355090492214e-8,0.0021528042317079527,2.0367018571783807e-5,-3.147390414350625e-8,0.002153040804545645,2.0551375958833374e-5,-3.167000555671362e-8,0.002153213305985311,2.0683403675124328e-5,-3.181050955508008e-8,0.002153348503797179,2.0728467991859314e-5,-3.185767901736995e-8,0.002153487865791758,2.06633838486928e-5,-3.178596101433709e-8,0.002153683336498533,2.0486260716953912e-5,-3.159278162166714e-8,0.0021539866168050876,2.022543685029994e-5,-3.130833435668043e-8,0.0021544317139913717,1.9941401323367558e-5,-3.099772567279643e-8,0.0021550161923323133,1.9714632358069782e-5,-3.074786370682314e-8,0.002155692720036186,1.961840203113644e-5,-3.0638105864892124e-8,0.0021563809762338523,1.9688010875520684e-5,-3.070702518398803e-8,0.0021569972223773057,1.990511081944595e-5,-3.0935392402114285e-8,0.002157485124027573,2.0207307545267066e-5,-3.125638734645144e-8,0.002157830955696959,2.0515501898373752e-5,-3.1584963952577884e-8,0.0021580591073866546,2.0761657983135865e-5,-3.1847730058857165e-8,0.0021582161445200332,2.0904745124936695e-5,-3.200013957830926e-8,0.0021583539825240404,2.0933500471754782e-5,-3.20295538061186e-8,0.0021585179343003775,2.0861021855106574e-5,-3.194956386357729e-8,0.0021587404344839763,2.071653038410741e-5,-3.179127525102121e-8,0.0021590389475030915,2.0537441620192218e-5,-3.159486520542445e-8,0.0021594163239126024,2.0362778417702688e-5,-3.140248197378161e-8,0.002159862527034524,2.02278948399552e-5,-3.12524698579826e-8,0.002160357285130327,2.0160345669093216e-5,-3.117480508185589e-8,0.002160873478204498,2.017687657565958e-5,-3.1187780101922056e-8,0.002161381090914999,2.028164028054539e-5,-3.1296077539601465e-8,0.0021618514304895253,2.0465857833124282e-5,-3.1490443368311834e-8,0.0021622611359319007,2.0709012451658273e-5,-3.174899334089471e-8,0.002162595566211041,2.0981352258249935e-5,-3.203986438715612e-8,0.0021628513653473066,2.1247405686018214e-5,-3.232489338007879e-8,0.0021630380775924086,2.1470340095996585e-5,-3.256419591015205e-8,0.0021631786722644116,2.1617083222566323e-5,-3.272164177108625e-8,0.00216330868415945,2.1664275769114177e-5,-3.277135694153426e-8,0.0021634731281762807,2.1605065487863532e-5,-3.2705257492733154e-8,0.0021637197852005,2.1455812436603205e-5,-3.254053477237097e-8,0.0021640877997709013,2.1259948537739125e-5,-3.232400898296171e-8,0.002164592603377122,2.108438739205041e-5,-3.212829934769005e-8,0.0021652124263154904,2.1004045458292953e-5,-3.2034996857797784e-8,0.002165885927123784,2.107545579977581e-5,-3.21059404679378e-8,0.002166528501769656,2.1310646054636276e-5,-3.235474767326647e-8,0.0021670632549307834,2.1668132745757332e-5,-3.273691349900394e-8,0.0021674499574846086,2.2069275229952522e-5,-3.3167461209084994e-8,0.002167695398646148,2.2430414143251984e-5,-3.355576152777364e-8,0.0021678424617177497,2.2691454458900874e-5,-3.383651203996052e-8,0.002167948850623929,2.2828166985303557e-5,-3.398307877885336e-8,0.0021680682294110717,2.2848871903014454e-5,-3.400396925492826e-8,0.002168239621410091,2.2783477264658934e-5,-3.393109259567893e-8,0.0021684843405062296,2.2671975588932204e-5,-3.380744770218485e-8,0.0021688073255370847,2.2555681481195456e-5,-3.367771500329707e-8,0.0021692001470083005,2.247154601714925e-5,-3.358207900819488e-8,0.0021696442585630864,2.2448607182279223e-5,-3.355228837104354e-8,0.0021701141864079454,2.250565226458912e-5,-3.360901884393857e-8,0.0021705808201399487,2.2649663627314837e-5,-3.376013066261044e-8,0.002171014994842116,2.2875029470842755e-5,-3.399981066861581e-8,0.0021713914000250586,2.3163823595123173e-5,-3.430889349840126e-8,0.002171692521788873,2.348758011808522e-5,-3.4656770876542255e-8,0.0021719120261017694,2.381072758144914e-5,-3.500503838425244e-8,0.002172056961163761,2.4095477309522668e-5,-3.531268029929626e-8,0.002172148267756013,2.430773141450824e-5,-3.5542386815216575e-8,0.0021722192183669113,2.4423369339532766e-5,-3.5667380799741086e-8,0.0021723115797911727,2.443412716691192e-5,-3.567793407850738e-8,0.002172469370856416,2.435222243916228e-5,-3.558662383347489e-8,0.002172730141133899,2.4212483806263987e-5,-3.5430893243344456e-8,0.0021731143123856107,2.406994280862633e-5,-3.527059410845282e-8,0.0021736147553494305,2.399049051461565e-5,-3.517783640369402e-8,0.0021741911382967354,2.4033616638707532e-5,-3.5218066388396594e-8,0.0021747750128882433,2.4230582571380168e-5,-3.542607458320517e-8,0.0021752887669595176,2.4567528571206925e-5,-3.5787372573666643e-8,0.002175673052155437,2.49852415759974e-5,-3.623781078312394e-8,0.002175908854725856,2.5399662837313294e-5,-3.668591393596756e-8,0.0021760215228088064,2.5733306593570758e-5,-3.704716213606398e-8,0.002176065901163682,2.5940343519971294e-5,-3.727134201842648e-8,0.0021761034783204496,2.6014370722419524e-5,-3.735101978943853e-8,0.0021761840080405325,2.598057227504093e-5,-3.731306905929495e-8,0.0021763370696546024,2.5881272618678495e-5,-3.7203079961238056e-8,0.002176571964578955,2.5762734966788867e-5,-3.7071131130532555e-8,0.002176881812643163,2.5666444320064544e-5,-3.6962369095902545e-8,0.002177248530362033,2.562462645803108e-5,-3.6912097310867254e-8,0.0021776471185262275,2.56583990067598e-5,-3.694366624460091e-8,0.0021780490847102727,2.577707907708006e-5,-3.706762059466764e-8,0.002178425470464016,2.5977906113517757e-5,-3.7281338682605485e-8,0.002178749995054507,2.6246122306122735e-5,-3.7569099018844795e-8,0.00217900258816672,2.6555835903572176e-5,-3.7903003824289374e-8,0.0021791731432856958,2.687235363923373e-5,-3.8245472427078433e-8,0.002179264774642755,2.715651610226576e-5,-3.8553882093067663e-8,0.0021792954993946666,2.737100012726711e-5,-3.878734993897014e-8,0.0021792972905228126,2.7487801409019163e-5,-3.891485525836279e-8,0.0021793118845096627,2.7495392292255558e-5,-3.8923106738733907e-8,0.0021793835257311045,2.740366279969572e-5,-3.8822101383632065e-8,0.0021795497062576503,2.7244969924330507e-5,-3.864650695887784e-8,0.0021798315902990814,2.70702521421955e-5,-3.845164962605757e-8,0.0021802262299320907,2.693987847972113e-5,-3.8303651911103566e-8,0.0021807030536763806,2.6909868400577606e-5,-3.826434729027413e-8,0.002181207209043901,2.7015773686396604e-5,-3.837346895969279e-8,0.002181671386070132,2.7258810728352984e-5,-3.8633200520179275e-8,0.0021820347882051537,2.7600628586197033e-5,-3.9002200115334744e-8,0.002182263235355336,2.7971926183414146e-5,-3.940491263576584e-8,0.0021823611556105044,2.829417321789066e-5,-3.9755366604696456e-8,0.0021823687183090976,2.8505597620353956e-5,-3.9985695960752894e-8,0.002182345504518596,2.8579166128070304e-5,-4.006587420492795e-8,0.00218234968005574,2.852535965389795e-5,-4.000679786407413e-8,0.0021824224556048176,2.838187447749541e-5,-3.984911376569704e-8,0.0021825822079256305,2.8198197432587352e-5,-3.964648840870845e-8,0.002182826606343748,2.802230424969246e-5,-3.9451180587015695e-8,0.0021831385394179867,2.7892584515013404e-5,-3.930524420287103e-8,0.002183492363313434,2.7834558372804433e-5,-3.9236882225582924e-8,0.00218385884397354,2.7860496490932013e-5,-3.9259933128383583e-8,0.0021842086588251997,2.7970168372585447e-5,-3.937460019364952e-8,0.0021845150758582356,2.815172900254157e-5,-3.956836422313752e-8,0.0021847565668936496,2.838260505830918e-5,-3.9816914283289737e-8,0.002184919839335821,2.8630898322059892e-5,-4.0085638458821643e-8,0.002185003215576358,2.885819450463714e-5,-4.033263381846127e-8,0.00218501956630861,2.9024619642616696e-5,-4.0514173513386934e-8,0.002184997331671042,2.9096343678574037e-5,-4.0592881414629923e-8,0.0021849779434766005,2.9054458176741742e-5,-4.054747138967016e-8,0.0021850086809995705,2.890265974050007e-5,-4.0381253019101765e-8,0.0021851317555203866,2.867039550492026e-5,-4.012573894978999e-8,0.002185372477190764,2.8408972654841787e-5,-3.983659301605007e-8,0.002185730455124099,2.8180528313815657e-5,-3.958174677758403e-8,0.0021861771693066417,2.804251014407566e-5,-3.942450075684918e-8,0.002186661265337064,2.803206489062113e-5,-3.940634962351665e-8,0.0021871205644257144,2.8154906091556042e-5,-3.953453886956924e-8,0.0021874978725242504,2.8382145494403323e-5,-3.977826745766282e-8,0.002187756423815575,2.865671184733779e-5,-4.0075466582978284e-8,0.0021878902551987,2.8908425992492547e-5,-4.0349239996036213E-08,0.0021879255831569328,2.907366219308399e-5,-4.052949755270081e-8,0.002187912085216684,2.9112986253584563e-5,-4.057244739063578e-8,0.0021879072199879612,2.9020292931549317e-5,-4.0470759660277784E-08,0.0021879598630596396,2.8820635503511565e-5,-4.025130399634947e-8,0.0021880992812219192,2.855917509608077e-5,-3.996313733776403e-8,0.002188332056726784,2.8287020621832985e-5,-3.9662060963515264e-8,0.0021886456060208528,2.804939262502735e-5,-3.9397673106991304e-8,0.0021890148819920466,2.7878715380127772e-5,-3.9205757381181164e-8,0.002189409156221178,2.7792378102702624e-5,-3.9105747978824426e-8,0.0021897972687176166,2.7793455583849522e-5,-3.9101439536603146e-8,0.0021901511374968234,2.7872602070577086e-5,-3.9183008468822456e-8,0.0021904481235000325,2.80099950384596e-5,-3.932910624744156e-8,0.002190673074057688,2.8177065500827853e-5,-3.950871255388833e-8,0.0021908206554662854,2.8338483116444323e-5,-3.9683248872783535e-8,0.002190898034144987,2.8455330491275332e-5,-3.980999342254779e-8,0.002190927155960091,2.8490498477234655e-5,-3.9847964078533655e-8,0.0021909449561215767,2.841676049523602e-5,-3.9766800450551744e-8,0.002190999293289918,2.8226395593368268e-5,-3.955740530076425e-8,0.0021911391604951622,2.7938931175521973e-5,-3.924055987672371e-8,0.0021914004248092763,2.7602074739011113e-5,-3.886808440988153e-8,0.00219179202133541,2.7282286475806473e-5,-3.851264350198292e-8,0.002192289357213238,2.704625873866707e-5,-3.82475557684289e-8,0.0021928392696263337,2.6940105864173445e-5,-3.812399760810237e-8,0.0021933752027235077,2.697500409955819e-5,-3.815512007691709e-8,0.002193836370061701,2.712470614302269e-5,-3.8313049345572726e-8,0.0021941837606845793,2.7334592335765326e-5,-3.8538514178115646e-8,0.0021944084668189573,2.753776194502866e-5,-3.875830475133487e-8,0.002194531286417225,2.7672583796492192e-5,-3.890450991618433e-8,0.002194595052600508,2.769704623340426e-5,-3.893040017878978e-8,0.0021946525033668582,2.759686253141467e-5,-3.881953924029014e-8,0.002194753120305771,2.7386090076476726e-5,-3.858667842959779e-8,0.0021949323250686314,2.7100914061041817e-5,-3.82710888669168e-8,0.0021952055424206626,2.678902702000713e-5,-3.792497063521771e-8,0.0021955679291575467,2.6498107213706706e-5,-3.760078207771899e-8,0.0021959986568907772,2.626660204683497e-5,-3.73410335002723e-8,0.0021964674766541165,2.6118501228737073e-5,-3.7172439057852775e-8,0.0021969413113013753,2.60620374695922e-5,-3.7104408935529385e-8,0.0021973894608135576,2.6091132908844254e-5,-3.7130604436828466e-8,0.00219778705276762,2.6188108161646412e-5,-3.7231911539965425e-8,0.0021981171577645352,2.6326541689641457e-5,-3.7379570709525906e-8,0.0021983722862443157,2.647389410124768e-5,-3.753800898406534e-8,0.0021985558494707763,2.6594192238440678e-5,-3.766770585522208e-8,0.0021986837479933113,2.6651537795907375e-5,-3.772898009889921e-8,0.0021987855132714115,2.6615420265459276e-5,-3.76878288712398e-8,0.0021989034252902504,2.646839864760911e-5,-3.752446513210713e-8,0.002199087291365176,2.621516384114665e-5,-3.7243437839789706e-8,0.002199383129417582,2.588937576288623e-5,-3.688130790905145e-8,0.0021998169911259277,2.555241378810931e-5,-3.650538638656394e-8,0.0022003802001003703,2.5279351320183844e-5,-3.619836871761591e-8,0.0022010254563611044,2.513422877506996e-5,-3.603114654032077e-8,0.002201679461595271,2.5145548720641303e-5,-3.603578324988553e-8,0.0022022676262901954,2.5295397762231912e-5,-3.619337702747384e-8,0.0022027384098715387,2.552770043771887e-5,-3.6442911016991864e-8,0.0022030761947726936,2.5769490088737933e-5,-3.6704451465803936e-8,0.0022032999837505608,2.5953710056367697e-5,-3.690413133727294e-8,0.002203452495899009,2.6035101872089713e-5,-3.699166081129466e-8,0.00220358608653898,2.5996726968420892e-5,-3.6947657521712005e-8,0.0022037500668679825,2.584868135819004e-5,-3.678246540474378e-8,0.0022039815599960576,2.562183741456571e-5,-3.6529498934363496e-8,0.0022043004146107474,2.5359154396673204e-5,-3.6235824598435174e-8,0.0022047079845341367,2.510642092784503e-5,-3.595198121736966e-8,0.002205189271399241,2.490392157422305e-5,-3.5722695471243174e-8,0.0022057175485827437,2.4780291065975067e-5,-3.557995202152093e-8,0.002206260229099632,2.4749273402388118E-05,-3.553929040719807e-8,0.0022067847011294868,2.4809362891213233e-5,-3.559935513770356e-8,0.002207263133432532,2.494571788740346e-5,-3.574402276444476e-8,0.0022076757646234684,2.5133391696059046e-5,-3.594599847110066e-8,0.0022080127950028375,2.534094893318031e-5,-3.61707958606488e-8,0.0022082753512539274,2.5533983406702185e-5,-3.6380543421501094e-8,0.0022084759594946783,2.5678586499651885e-5,-3.653770547250637e-8,0.0022086387115195184,2.5745202620986414e-5,-3.6609273231779453e-8,0.002208798772150077,2.5713550443386234e-5,-3.6572240060008746e-8,0.002208999993716592,2.557900040024047e-5,-3.6420802882875486e-8,0.0022092887458073814,2.5359488384672675e-5,-3.6174216899908184e-8,0.0022097025167608603,2.5099812062111692e-5,-3.588172643050776e-8,0.0022102543881308777,2.4867936743048755e-5,-3.56185625830845e-8,0.0022109195242995543,2.4738476511340537e-5,-3.5467648422950415e-8,0.002211634051687777,2.4765337819048855e-5,-3.5489237515539794e-8,0.002212313150289902,2.495636083716276e-5,-3.5692713187243686e-8,0.0022128823429647753,2.526671790565515e-5,-3.602912278257172e-8,0.0022133046472050132,2.5616981016093155e-5,-3.641102991172894e-8,0.0022135888531115686,2.5924578071327065e-5,-3.6747220225829005e-8,0.0022137783155401383,2.6130440340332528e-5,-3.69721280559337e-8,0.0022139309577410685,2.6210438172246873e-5,-3.705850643683236e-8,0.0022141014474845195,2.6172901848814536e-5,-3.7014821330468624e-8,0.0022143303324376486,2.604895373490618e-5,-3.687478915277662e-8,0.002214639802017609,2.5881451700368056e-5,-3.668537821684993e-8,0.0022150338963010646,2.5715502764954452e-5,-3.649643735626844e-8,0.0022155011447347337,2.5591302194405776e-5,-3.6352737563078843e-8,0.0022160184567097205,2.553907975187675e-5,-3.628822151576024e-8,0.0022165557263009628,2.5575938852458807e-5,-3.63223191891732e-8,0.0022170807551756427,2.5704576800506107e-5,-3.6458407892383054e-8,0.002217564030701961,2.591385422119361e-5,-3.668441906146322e-8,0.0022179828448299827,2.6181049859668053e-5,-3.697537858622144e-8,0.0022183242804138395,2.6475407977684876e-5,-3.729737331333177e-8,0.002218586851652362,2.6762362021212276e-5,-3.7612202106384365e-8,0.002218780907528584,2.7007899392426868e-5,-3.7882116402540654e-8,0.00221892800983572,2.718282261799535e-5,-3.807443917791746e-8,0.0022190594291572868,2.7266897794539164e-5,-3.816614008581418e-8,0.002219213643884262,2.7253074171586324e-5,-3.814862701576736e-8,0.0022194321448706397,2.7151812912431053e-5,-3.8032782192625904e-8,0.0022197524438374,2.699457943246866e-5,-3.785310248538782e-8,0.0022201977516507457,2.6834004944931882e-5,-3.7668058896544666e-8,0.0022207647596439554,2.6736960739406968e-5,-3.755241769514929e-8,0.002221414588087056,2.6767401671111417e-5,-3.757801963905858e-8,0.0022220754445295104,2.696116773143545e-5,-3.778551747050506e-8,0.002222662982074354,2.7304481080951647e-5,-3.81602371398771e-8,0.002223112492580615,2.7732335963690483e-5,-3.8630272100101265e-8,0.0022234048892087036,2.815262001038408e-5,-3.9093316095525206e-8,0.002223570353579146,2.8482812379548647e-5,-3.9457507211628694e-8,0.0022236698422765312,2.8677471002609632e-5,-3.9671972494411865e-8,0.002223768955546225,2.8734606819302868e-5,-3.973390147896533e-8,0.002223918561912486,2.8685068606721128e-5,-3.9676852435000445e-8,0.002224146947177898,2.857614254949019e-5,-3.955275079853739e-8,0.002224460584546953,2.8457539680318737e-5,-3.9416539001133896e-8,0.0022248488878112726,2.8372409677147155e-5,-3.931628151961653e-8,0.0022252897394614136,2.8352697862785916e-5,-3.9287926512737694e-8,0.002225754439448891,2.8417200189247082e-5,-3.9352956850409215e-8,0.0022262119752000306,2.8571064147124517e-5,-3.9517646409515605e-8,0.0022266329015272588,2.8806246946617162e-5,-3.977346217838114e-8,0.002226992971723243,2.9102919767945163e-5,-4.009861614536306e-8,0.002227276408541931,2.9431986686848863e-5,-4.046090776146395e-8,0.002227478443459657,2.975881765135786e-5,-4.082189498635584e-8,0.0022276066367046955,3.00479536480172e-5,-4.114208286135804e-8,0.0022276806541805206,3.0268246647568305e-5,-4.1386550741833944e-8,0.0022277304168021564,3.0397850263698415e-5,-4.153044218187168e-8,0.0022277927064168696,3.0428497299104088e-5,-4.1563769098494404e-8,0.0022279064138012593,3.036858246513481e-5,-4.149502940286735e-8,0.002228106506621653,3.0244655302837534e-5,-4.13531517818982e-8,0.0022284166785792644,3.0100550888706932e-5,-4.1186794221321944e-8,0.0022288411897262855,2.9992625796661267e-5,-4.10591614928939e-8,0.0022293578310589434,2.997937361758266e-5,-4.1036340003927136e-8,0.002229915827113162,3.0105006870106393e-5,-4.116870189588894e-8,0.0022304437011137785,3.0380336855881893e-5,-4.146920822621145e-8,0.0022308696821551816,3.0770008843180174e-5,-4.189889481023213e-8,0.0022311489278408515,3.119747911794132e-5,-4.237238494059883e-8,0.002231282975267909,3.157105128869589e-5,-4.278709882978031e-8,0.0022313182697664352,3.181892335039289e-5,-4.3062523712161575e-8,0.0022313244787628863,3.1913280890993805e-5,-4.316712531818715e-8,0.0022313668866389517,3.187208721013959e-5,-4.312031825412391e-8,0.0022314877691962513,3.174329917730292e-5,-4.297493790279011e-8,0.0022317016189136243,3.1584440533183345e-5,-4.2794660080913634e-8,0.0022320000376087473,3.1447193001066374e-5,-4.263700565313382e-8,0.0022323599775302527,3.1369544649942365e-5,-4.2544629399779314e-8,0.0022327512669868426,3.13736485445689e-5,-4.254281430583861e-8,0.0022331420789577098,3.146660704082846e-5,-4.264014632464142e-8,0.002233502662649728,3.164221547907365e-5,-4.283028278424188e-8,0.0022338081602597494,3.188287847991798e-5,-4.309400116155361e-8,0.0022340411058888376,3.216172283638613e-5,-4.340155202858812e-8,0.002234193788318541,3.244531827001491e-5,-4.371572186288535e-8,0.002234270215537642,3.269748772071455e-5,-4.399608728756532e-8,0.0022342870174345488,3.288434625146084e-5,-4.4204595810092806e-8,0.0022342725300309807,3.298010211189754e-5,-4.431198509478476e-8,0.00223426358719864,3.297265366270278e-5,-4.430402838113176e-8,0.002234300042169446,3.28677210223566e-5,-4.4186255163092324e-8,0.0022344176501358816,3.269023712664952e-5,-4.398572890389884e-8,0.0022346404530500393,3.248215526411121e-5,-4.374887676761402e-8,0.0022349739993351363,3.229642695778004e-5,-4.3534981383312984e-8,0.002235400846601725,3.218729338221004e-5,-4.3405375317758714e-8,0.0022358801294424515,3.2197598996961654e-5,-4.3409074494626946e-8,0.0022363531613351687,3.234518444318427e-5,-4.356719715545998e-8,0.0022367562584270713,3.26124404623423e-5,-4.386088239969612e-8,0.002237039364916164,3.2944799036726895e-5,-4.4229360674700297e-8,0.002237184585255663,3.3263008754100455e-5,-4.458371191536925e-8,0.0022372152097443723,3.348808466964168e-5,-4.4835003790813605e-8,0.002237188268790842,3.356890037152168e-5,-4.492538522979582e-8,0.002237172973766367,3.3498373396684425e-5,-4.4846285550617134e-8,0.002237226446062347,3.331063740330506e-5,-4.463527151098567e-8,0.0022373785866876966,3.306356285861056e-5,-4.435657408777556e-8,0.0022376301801785795,3.281796598936418e-5,-4.407798109343235e-8,0.002237960293002327,3.262266212632057e-5,-4.385422435645071e-8,0.0022383364907900727,3.250798890852662e-5,-4.371970523753345e-8,0.002238723456645966,3.2485676809755455e-5,-4.3688197681211816e-8,0.0022390886143439774,3.255173487689696e-5,-4.3755889161178954e-8,0.002239405282078471,3.2689939993701276e-5,-4.390514695537152e-8,0.002239654500276259,3.2874917872497975e-5,-4.410791058122196e-8,0.002239826466603891,3.3074841894149056e-5,-4.43287154816248e-8,0.0022399219825763365,3.325431872964785e-5,-4.452793608909369e-8,0.00223995372724577,3.337818442270938e-5,-4.466602508507044e-8,0.002239946609945796,3.341665474095889e-5,-4.4709250539583116e-8,0.0022399361149010558,3.335152643078121e-5,-4.463662869840457e-8,0.0022399637177205746,3.318214901741799e-5,-4.4446666383878356e-8,0.0022400692719222156,3.292908438196356e-5,-4.4161604326662625e-8,0.0022402815961347503,3.263324461259011e-5,-4.382667142532589e-8,0.0022406097829435986,3.234928937051243e-5,-4.35029200728048e-8,0.0022410381982317313,3.2133989991873885e-5,-4.325433505758617e-8,0.002241527366860039,3.2032192958380706e-5,-4.31320710589e-8,0.002242021338402319,3.206407169227447e-5,-4.315991919307524e-8,0.002242460373611949,3.22173758634287e-5,-4.3325235858678146e-8,0.0022427962572554097,3.244758975145919e-5,-4.3578759913273076e-8,0.002243006285647738,3.268735329396462e-5,-4.384500203668317e-8,0.002243101254106713,3.2863977904254935e-5,-4.4041959824776854e-8,0.002243123492551911,3.292048609982193e-5,-4.410494856355586e-8,0.0022431341784470964,3.283271918257909e-5,-4.400603585822717e-8,0.002243194132145136,3.261533508896748e-5,-4.376093452019552e-8,0.0022433459529788004,3.2314277942817154e-5,-4.342065606321087e-8,0.0022436045440565053,3.198999227156275e-5,-4.305276261895022e-8,0.002243958133515982,3.169947891807182e-5,-4.2721289735892826e-8,0.002244376640907042,3.148388477407264e-5,-4.2472798095789184e-8,0.0022448221512804886,3.136378685678507e-5,-4.233096289601714e-8,0.0022452575632132565,3.134045113321896e-5,-4.2297823602288997e-8,0.002245652005153063,3.139999666608745e-5,-4.2358322241039085e-8,0.002245983472810847,3.151802159817808e-5,-4.248543069195238e-8,0.0022462398578507008,3.166353197668659e-5,-4.2644554056704593e-8,0.002246419446397792,3.180211929402931e-5,-4.2797108244559135e-8,0.0022465314514837314,3.1898991863196846e-5,-4.290391686790522e-8,0.0022465964763423293,3.192267915682146e-5,-4.292934587877446e-8,0.0022466461542808808,3.185001140863545e-5,-4.2846882077462555e-8,0.0022467207138888905,3.1672240851810194e-5,-4.264604611928958e-8,0.0022468631990779767,3.140089843834509e-5,-4.2339079016408486e-8,0.0022471100388813652,3.1070610463486265e-5,-4.196427300171984e-8,0.002247479746499827,3.073566784992554e-5,-4.158230565870342e-8,0.0022479638331529823,3.045874199951375e-5,-4.1263714808448154e-8,0.002248524763253154,3.02937857422682e-5,-4.1069733388505545e-8,0.002249103611883865,3.0268960024283786e-5,-4.1032988729356464e-8,0.0022496357222364597,3.0376558929030593e-5,-4.114590430823665e-8,0.002250068824548509,3.0574158665270486e-5,-4.1361647414439126e-8,0.0022503772247836114,3.07964029825346e-5,-4.160710741763205e-8,0.002250567802057482,3.097301904580212e-5,-4.1803061544443096e-8,0.002250676749711126,3.1047324392743566e-5,-4.188509138902905e-8,0.0022507586723131802,3.099010340839463e-5,-4.1819420951854353e-8,0.002250871480347393,3.080538471041008e-5,-4.1609680129912226e-8,0.0022510615188335178,3.052699532297764e-5,-4.1293253390966694e-8,0.002251353179262093,3.0207520227351978e-5,-4.092900157619033e-8,0.0022517456031207373,2.990365199999711e-5,-4.058081653528731e-8,0.002252216441744965,2.966277801546249e-5,-4.0302454700107246e-8,0.0022527301904458124,2.9514465763670236e-5,-4.012779775956819e-8,0.0022532475943158755,2.9467955847632948e-5,-4.0067851081194045e-8,0.0022537333307623537,2.9514413442723212e-5,-4.0113146302274113E-08,0.0022541607881451917,2.9631644844628163e-5,-4.023900335211374e-8,0.002254514189838657,2.9789237110179563e-5,-4.041133614434692e-8,0.0022547890266936274,2.9952985275678716e-5,-4.059167064094272e-8,0.0022549917913854377,3.0088440765969818e-5,-4.074114160771088e-8,0.0022551396035145384,3.016407696389352e-5,-4.08240201186456e-8,0.0022552597216511264,3.015481429148342e-5,-4.081164539487939e-8,0.0022553882919875423,3.0046508802163843e-5,-4.0687495180085486e-8,0.002255567099077569,2.9841357504034444e-5,-4.045337540522603e-8,0.0022558369388607233,2.9562838755949134e-5,-4.0135156504026914e-8,0.0022562271875581842,2.9257130726269753e-5,-3.978455631529007e-8,0.0022567436326642507,2.898714903281843e-5,-3.947255364662877e-8,0.0022573598823487835,2.8817209579511943e-5,-3.927213390100102e-8,0.002258018966071855,2.8791605493017066e-5,-3.923404737454537e-8,0.002258648117312685,2.891633036493332e-5,-3.936599702943412e-8,0.0022591820275492096,2.9154153382066135e-5,-3.962682189325287e-8,0.0022595839247476135,2.9436595028559185e-5,-3.993977198480979e-8,0.00225985505008105,2.9686790215993037e-5,-4.021816649643196e-8,0.002260030241699472,2.9842461088519565e-5,-4.039130403089442e-8,0.002260164133587199,2.9870701143892955e-5,-4.042125712911031e-8,0.0022603147060398874,2.9772008334002676e-5,-4.0307640364203134e-8,0.002260529356679789,2.957539212424842e-5,-4.008236218492744e-8,0.0022608360709949985,2.9328088618681445e-5,-3.9798262676794195e-8,0.002261240279369694,2.9083351681059975e-5,-3.951545849385412e-8,0.0022617268003365322,2.888909043567816e-5,-3.9288472509905356e-8,0.0022622655482008036,2.8779388123142624e-5,-3.915647214350556e-8,0.002262819189102602,2.8770098261314698e-5,-3.913805732001187e-8,0.002263350798057785,2.88586129564398e-5,-3.92308125522209e-8,0.0022638299762149723,2.9026875547142857e-5,-3.9414639258724473e-8,0.00226423666135669,2.9246199189130553e-5,-3.9657234352431613e-8,0.0022645626786873415,2.9482478245198007e-5,-3.992005306099529e-8,0.0022648116674165116,2.9700822468235492e-5,-4.016358408751382e-8,0.0022649981596772123,2.9869345096513426e-5,-4.0351602493104255e-8,0.00226514630501003,2.9962411033835785e-5,-4.04547762743576e-8,0.002265288298830657,2.9963862391270176e-5,-4.045428268554886e-8,0.0022654620702153745,2.9870664852001304e-5,-4.034600056798178e-8,0.002265707212446325,2.969691295175194e-5,-4.0145217890832345e-8,0.002266057956294179,2.947691133511338e-5,-3.9890345763315734e-8,0.0022665329039003286,2.926444328548644e-5,-3.964227072360827e-8,0.0022671236887107245,2.9124484378898093e-5,-3.9475022511818456E-08,0.002267788240646869,2.9115420126813518e-5,-3.945552451759843e-8,0.0022684561262601086,2.9265821438624493e-5,-3.9617054061131354e-8,0.0022690490903026677,2.955733641213853e-5,-3.993960157280089e-8,0.002269509515122626,2.992626254599793e-5,-4.035147042985752e-8,0.00226982162214845,3.0286068029203308e-5,-4.0754733553186254e-8,0.0022700138757717004,3.055897303667495e-5,-4.1061025649979134e-8,0.0022701436737226793,3.069989577380529e-5,-4.1218699906638504e-8,0.00227027517647685,3.070387520696665e-5,-4.122131101616223e-8,0.002270461042897145,3.059919619723711e-5,-4.1100011651257346e-8,0.002270732689133939,3.0433729733369717e-5,-4.090835113136894e-8,0.002271098337780852,3.026097227227714e-5,-4.070670005595391e-8,0.002271546105525531,3.012906258930677e-5,-4.0549886052690306e-8,0.002272049606456396,3.007354356655947e-5,-4.0478868217575704e-8,0.0022725744638758933,3.011354728086309e-5,-4.051615436512521e-8,0.0022730847790649704,3.0250954443169037e-5,-4.066458322488583e-8,0.002273548838725809,3.047206367789406e-5,-4.0909059104787467e-8,0.0022739434936463994,3.075113090835044e-5,-4.1220551846418976e-8,0.0022742568636345524,3.105504186902545e-5,-4.156147942044127e-8,0.0022744892839467825,3.134835492335001e-5,-4.189151521878511e-8,0.0022746527416301044,3.159798737144839e-5,-4.217292294439811e-8,0.0022747692873981264,3.177714018497166e-5,-4.237495585906838e-8,0.0022748688113758886,3.186850606857967e-5,-4.247743480535395e-8,0.002274986290774487,3.186699225575003e-5,-4.2473855910760004e-8,0.0022751583117732004,3.178213127539921e-5,-4.237427673206388e-8,0.0022754182619907173,3.1640017291713195e-5,-4.2207768491395545e-8,0.0022757894556965316,3.1483670873694755e-5,-4.202308555544977e-8,0.0022762763149492913,3.1369490725813464e-5,-4.188476186116999e-8,0.002276855832823401,3.135697026894548e-5,-4.186133900931318e-8,0.0022774744421386866,3.1490633861351893e-5,-4.200454099581501e-8,0.0022780569340058936,3.177865036092299e-5,-4.232457983909165e-8,0.0022785298502353986,3.217986098398422e-5,-4.277512950721424e-8,0.002278850878859694,3.261186828087253e-5,-4.326249088421801e-8,0.002279027127460274,3.29810254809563e-5,-4.3679853601427606e-8,0.0022791101135152944,3.3218485070021266e-5,-4.3948435338700015e-8,0.0022791716138773816,3.33017751806445e-5,-4.404203618293163e-8,0.0022792763622203156,3.325354630218967e-5,-4.3985619723857855e-8,0.0022794650184009696,3.312474867222378e-5,-4.3836336864797965e-8,0.0022797502493714416,3.297479872131966e-5,-4.3661248003750406e-8,0.00228012142820996,3.285672340462785e-5,-4.35206528604119e-8,0.0022805525144040995,3.2809069538178984e-5,-4.3458910771532503e-8,0.002281009749824412,3.28530678199272e-5,-4.350102367560977e-8,0.002281457946481573,3.299290573495884e-5,-4.3652647942342574e-8,0.0022818653863613037,3.3217663060474e-5,-4.390203862093646e-8,0.0022822076095379298,3.350430854908523e-5,-4.4223341324998374e-8,0.0022824701581385626,3.38215008984268e-5,-4.458094556850484e-8,0.0022826501909389498,3.413398695711384e-5,-4.493459121134231e-8,0.0022827568168762593,3.44073498830337e-5,-4.524485208989148e-8,0.0022828100447377627,3.4612658901913384e-5,-4.547843105508966e-8,0.0022828384740465075,3.4730475087631895e-5,-4.561266796396316e-8,0.002282876011570533,3.475388096679199e-5,-4.5638964500433376e-8,0.002282957848421652,3.469040464851831e-5,-4.5565062411767125e-8,0.0022831158204580496,3.456271833872463e-5,-4.541606069616092e-8,0.0022833731202049406,3.440786048574832e-5,-4.5233819572801423e-8,0.0022837383081319583,3.427425554837967e-5,-4.507378989735375e-8,0.0022841992424606486,3.42151255976047e-5,-4.4997528462908375e-8,0.0022847190630679586,3.427694413898361e-5,-4.505929978605274e-8,0.0022852381039333777,3.448341082476899e-5,-4.528736898920922e-8,0.002285686017006873,3.4819631970934466e-5,-4.566551541864208e-8,0.0022860045965692596,3.522625967483624e-5,-4.6126130449042295e-8,0.0022861729555042707,3.5613274931110104e-5,-4.65660689031637e-8,0.002286219685653516,3.5892392446296056e-5,-4.688394305335418e-8,0.002286211691889868,3.601177133491025e-5,-4.7019944247694604e-8,0.002286225505956513,3.5972626779050686e-5,-4.697479161031815e-8,0.0022863188543598124,3.58205873724714e-5,-4.6799832485411654e-8,0.00228651668635773,3.562198060753e-5,-4.6570120297171264e-8,0.002286812966928041,3.5440632292562546e-5,-4.635820450409294e-8,0.002287180868527256,3.532389707738892e-5,-4.6218365864022434e-8,0.002287583967878681,3.5298098790532246e-5,-4.618136168410986e-8,0.0022879848284268977,3.536980504236021e-5,-4.6255633734096165e-8,0.0022883504197809537,3.552946613083765e-5,-4.643115703668337e-8,0.002288655274879669,3.575541538610793e-5,-4.668378554344655e-8,0.0022888834463104927,3.60176745468646e-5,-4.697952823998258e-8,0.002289029789277668,3.6281738912671874e-5,-4.727893103740416e-8,0.002289100595889158,3.65126058036671e-5,-4.754178038619249e-8,0.0022891133320047745,3.667916372430841e-5,-4.773217946936401e-8,0.0022890950961498148,3.675871799412574e-5,-4.782371311654076e-8,0.0022890795607725576,3.674100774676719e-5,-4.7804003549630296e-8,0.002289102527511509,3.663093644990813e-5,-4.767785241181172e-8,0.002289196541348638,3.644938070154096e-5,-4.746830614559982e-8,0.0022893851939173337,3.6231636872978196e-5,-4.7215134114218746e-8,0.002289677840039512,3.602331407239086e-5,-4.6970406519053876e-8,0.0022900654708520327,3.58736629553553e-5,-4.679101983320465e-8,0.002290518708418688,3.582634915501503e-5,-4.6728061346799346e-8,0.0022909894789891827,3.590809695929047e-5,-4.681348212371508e-8,0.002291418352774001,3.611712058525191e-5,-4.704638370723802e-8,0.002291748752111823,3.641569025232455e-5,-4.7384109668672996e-8,0.0022919460643483626,3.6733133288591057e-5,-4.774556420547209e-8,0.0022920143328060607,3.6983858880081674e-5,-4.803206329891999e-8,0.002291999814615806,3.7096977477987554e-5,-4.8161604641847836e-8,0.002291975474626928,3.704374634491269e-5,-4.8100515063701843e-8,0.0022920128248449328,3.6846970662485426e-5,-4.787422973248501e-8,0.0022921567275596033,3.656759825553701e-5,-4.7551933742153225e-8,0.0022924155206640656,3.627866505605262e-5,-4.721685937218435e-8,0.0022927669894349093,3.6041857596996885e-5,-4.6939648387720506e-8,0.002293172035520522,3.589533984270876e-5,-4.676448884083824e-8,0.002293587774220062,3.585234950794764e-5,-4.670737294106673e-8,0.00229397625599273,3.5905780732209896e-5,-4.676107434656356e-8,0.0022943087935883965,3.603438248915831e-5,-4.690198432790658e-8,0.0022945674627496593,3.6208248273547327e-5,-4.709625363021303e-8,0.0022947453752612396,3.639309951270794e-5,-4.730469355160464e-8,0.002294846618012875,3.655385217382977e-5,-4.748694572871607e-8,0.0022948859966711527,3.6658142221179055e-5,-4.760561192507473e-8,0.0022948882229804706,3.66802485027254e-5,-4.7630789899419904e-8,0.002294885915277481,3.660536515102313e-5,-4.754496057001509e-8,0.0022949158390162044,3.64335141641052e-5,-4.7347464493291285e-8,0.002295013303258485,3.6181877526743895e-5,-4.705723761896796e-8,0.0022952053707549756,3.5884255428738196e-5,-4.6712359540665154e-8,0.0022955042500871392,3.558678939109289e-5,-4.6365392836542746e-8,0.002295902637857623,3.534001900618766e-5,-4.607449202272132e-8,0.002296372603345501,3.518847407688666e-5,-4.5891531629784525e-8,0.002296868936882388,3.515979486113663e-5,-4.584945571699113e-8,0.002297337100875107,3.525571375908133e-5,-4.595154991513938e-8,0.0022977251112613487,3.54474663309797e-5,-4.6165727461002804e-8,0.002297997511006086,3.567828648084553e-5,-4.642708208073091e-8,0.0022981479038201797,3.587486868504097e-5,-4.665101902295781e-8,0.0022982048890346418,3.59670990491837e-5,-4.6756152857442506e-8,0.0022982264993906746,3.591076706084595e-5,-4.66907281238414e-8,0.00229828244392896,3.570370688981107e-5,-4.645139989864305e-8,0.0022984305793150974,3.538654013029307e-5,-4.6084187811529834e-8,0.002298698613153666,3.502687277549902e-5,-4.5666380520174655e-8,0.0022990791902976694,3.4695334694455384e-5,-4.5279093849930466e-8,0.0022995381727997865,3.4445276278051516e-5,-4.49839970221804e-8,0.002300029218953335,3.430321854904224e-5,-4.4812265883725474e-8,0.0023005071520190556,3.426970567379333e-5,-4.4765358220823394e-8,0.0023009363058259054,3.432593949783263e-5,-4.4822399265362546e-8,0.0023012938617268945,3.444159290053393e-5,-4.494899788620879e-8,0.002301570006953491,3.458126436569647e-5,-4.51046246777301e-8,0.002301766800108603,3.470904311234521e-5,-4.524791553057968e-8,0.002301896888738061,3.479179416047871e-5,-4.534053254240823e-8,0.002301982375857608,3.480208071788327e-5,-4.535057802732492e-8,0.0023020534602801847,3.472142304601621e-5,-4.525634915545079e-8,0.0023021460538406057,3.454404162586172e-5,-4.505063369302154e-8,0.002302297520970304,3.4280415377693827e-5,-4.474483116108385e-8,0.00230254017354546,3.395911142067943e-5,-4.4371164167657605e-8,0.0023028932564570586,3.3624877587848964e-5,-4.398066536436923e-8,0.0023033555964254958,3.333152309155398e-5,-4.3635188638132984e-8,0.0023039020503271127,3.312995217770553e-5,-4.339376844190064e-8,0.002304486385520222,3.305425894193706e-5,-4.329658172175806e-8,0.002305051035348368,3.3110519998397165e-5,-4.335181227808648e-8,0.0023055413708626526,3.3272560571329226e-5,-4.353040435431237e-8,0.0023059202737308734,3.348666573581906e-5,-4.3771124818958763e-8,0.0023061786570983014,3.368428524135492e-5,-4.3994995923487775e-8,0.0023063388048928817,3.379947725797813e-5,-4.412542796611055e-8,0.0023064492323863275,3.378653186463361e-5,-4.410875759920423e-8,0.0023065718780325255,3.363277880294064e-5,-4.392931753536871e-8,0.0023067648430645355,3.336223440573916e-5,-4.361391666217241e-8,0.0023070660644278905,3.302816568314063e-5,-4.322345795297547e-8,0.002307483727852774,3.269679339994018e-5,-4.2834243518091083e-8,0.0023079967124393116,3.242829025455311e-5,-4.2516054578377455e-8,0.002308563857239961,3.2262195589673835e-5,-4.2315205384790976e-8,0.0023091372052619127,3.221149782256434e-5,-4.224750159055635e-8,0.002309673844341424,3.2265073740245427e-5,-4.2300823774791806e-8,0.0023101432068525158,3.239501720334835e-5,-4.244342832539441e-8,0.0023105295861446016,3.256496006872504e-5,-4.2633513685632894e-8,0.0023108314009869526,3.2736917316135974e-5,-4.282717939490637e-8,0.002311059046577513,3.287596311964373e-5,-4.298390962236588e-8,0.0023112325956021447,3.2953249680788354e-5,-4.30701110947523e-8,0.00231137979665109,3.294831861010061e-5,-4.306178209267358e-8,0.0023115340997543143,3.285151044406728e-5,-4.2947275355292e-8,0.0023117319317365243,3.2666777386046935e-5,-4.2730561942988145e-8,0.0023120082445560355,3.241439708027806e-5,-4.243445694518821e-8,0.0023123897136956896,3.213200948149292e-5,-4.210197938273945e-8,0.002312886188388601,3.1871514418046985e-5,-4.179294978549619e-8,0.0023134830361791667,3.168968477884489e-5,-4.157326718028376e-8,0.0023141388246951094,3.163282940214068e-5,-4.149718047268907e-8,0.002314792329840861,3.172005820484998e-5,-4.158778555622238e-8,0.002315378896673669,3.193290371843414e-5,-4.182474929661659e-8,0.0023158505127047306,3.2217740072628357e-5,-4.214680612835947e-8,0.0023161909435828218,3.2501262856054346e-5,-4.2469442360932653e-8,0.002316419671183998,3.271254277366566e-5,-4.27103290681903e-8,0.0023165841921237427,3.2802780436011716e-5,-4.2812247472897776e-8,0.0023167450214273137,3.2756541656388914e-5,-4.275628838705075e-8,0.0023169591271539453,3.259272819167442e-5,-4.256326379538918e-8,0.0023172663812004936,3.2356898186037265e-5,-4.228512778642178e-8,0.0023176817453812227,3.2108186977599e-5,-4.199006993769168e-8,0.002318194185054491,3.1904582986137214e-5,-4.174553762547756e-8,0.00231877176791076,3.1790160014621046e-5,-4.1603324561922454e-8,0.002319371007020906,3.1787119353049104e-5,-4.159008391244041e-8,0.0023199475183516252,3.189400454355314e-5,-4.17049622110272e-8,0.0023204650305293554,3.20894591354611e-5,-4.1923747329153166e-8,0.002320900868517307,3.2339315150879754e-5,-4.220702939293869e-8,0.0023212476092142357,3.260440417190498e-5,-4.2509329097549e-8,0.0023215118356965506,3.284715719192341e-5,-4.278686762213579e-8,0.0023217113982006393,3.3036182323788574e-5,-4.300295310375987e-8,0.002321872364162279,3.314903836216729e-5,-4.313120169100703e-8,0.0023220262092654128,3.3173971066507745e-5,-4.315751282036905e-8,0.002322207158400309,3.311135649858902e-5,-4.3081732272613976e-8,0.0023224491028571363,3.297521373884765e-5,-4.291948491394481e-8,0.002322781228382118,3.279447518776715e-5,-4.270382165655561e-8,0.0023232216822924234,3.261266466520483e-5,-4.248505510679363e-8,0.002323769722566849,3.2483621858754785e-5,-4.2325943183644296e-8,0.002324398904211897,3.2460944922610885e-5,-4.228942774440365e-8,0.002325056179267136,3.258120401470381e-5,-4.241896142727533e-8,0.002325671964702718,3.2846122159074696e-5,-4.271751943685757e-8,0.00232618144268266,3.321386581244003e-5,-4.3137207029593565e-8,0.0023265488268709705,3.36082031220369e-5,-4.3589753742231386e-8,0.0023267814240886583,3.394420957442691e-5,-4.397636855767629e-8,0.0023269254239565483,3.415782391829717e-5,-4.422212158225807e-8,0.002327046906947544,3.422452814123435e-5,-4.429770088385412e-8,0.002327209206277997,3.4160981089080925e-5,-4.422143906155781e-8,0.002327456336525311,3.401357864203633e-5,-4.4046282714445835E-08,0.002327805923589105,3.384194337626255e-5,-4.384093488623098e-8,0.002328250166554385,3.37036441574621e-5,-4.3672328614357636e-8,0.002328761740259225,3.364315089403521e-5,-4.3592791245387643e-8,0.002329301915681379,3.36856352720997e-5,-4.3632602011700155e-8,0.002329829055291661,3.383516729126079e-5,-4.379753708045467e-8,0.0023303062390849644,3.407663050535043e-5,-4.407078165874924e-8,0.0023307070359199853,3.438049828740393e-5,-4.441833484198168e-8,0.0023310187619350036,3.470925636680583e-5,-4.4796515547741785e-8,0.0023312431048083324,3.502410718649536e-5,-4.515990686671555e-8,0.002331394528886721,3.5290797443504604e-5,-4.5468276438613356e-8,0.002331497260081565,3.5483844383961805e-5,-4.569154976787356e-8,0.002331581733856791,3.558904226640621e-5,-4.581270005257149e-8,0.0023316810811048884,3.560465423137779e-5,-4.582909582100883e-8,0.002331827771099224,3.5541816076164474e-5,-4.575300867708182e-8,0.0023320501595354027,3.542447396167401e-5,-4.561169901534009e-8,0.0023323683909373285,3.528871876135906e-5,-4.5446880835164095e-8,0.0023327891822946096,3.51805346933835e-5,-4.531231018055253e-8,0.002333299958278486,3.515015003696038e-5,-4.52672578511267e-8,0.0023338645432176663,3.5241270465413334e-5,-4.5363790266725256e-8,0.002334424562220092,3.5475412457926315e-5,-4.562814505895616e-8,0.0023349112408662287,3.583613212030472e-5,-4.6041947983230845e-8,0.002335268146958933,3.626338247097496e-5,-4.6535418255023436e-8,0.0023354760591965088,3.666773954728629e-5,-4.700402689339779e-8,0.0023355644528050535,3.696270836812873e-5,-4.7346394509497067e-8,0.002335600051392683,3.7098371862978543e-5,-4.75036656435806e-8,0.002335658860810056,3.707695140177438e-5,-4.747763880896117e-8,0.0023357987401432536,3.694435600604198e-5,-4.732093922172631e-8,0.002336045463982361,3.6767616798790464e-5,-4.711093689128459e-8,0.002336393449628172,3.661235323283033e-5,-4.6923808409687194e-8,0.00233681482692482,3.6528212315890726e-5,-4.68177625437056e-8,0.002337270388702322,3.6542959451067806e-5,-4.682607312286444e-8,0.0023377189367930666,3.66625719363429e-5,-4.6956871248297825e-8,0.002338124071548144,3.687450363014641e-5,-4.7196561629315964e-8,0.002338458716826444,3.71523445299233e-5,-4.75149713046986e-8,0.0023387078440758034,3.7461115310449495e-5,-4.787144263559505e-8,0.002338869585723431,3.7762817841687184e-5,-4.822140859107426e-8,0.0023389547817296704,3.802184043837775e-5,-4.852287616148231e-8,0.0023389850485431105,3.820974950563554e-5,-4.87421532200505e-8,0.002338989627065774,3.830895059743735e-5,-4.885815585004515e-8,0.0023390014899789605,3.8314840733578865e-5,-4.8864887051675046e-8,0.002339053227796983,3.823643256374001e-5,-4.8772155817743224e-8,0.0023391730470084114,3.809565596331883e-5,-4.860485990028719e-8,0.002339381007965399,3.7925524692509784e-5,-4.840106376674009e-8,0.0023396854228536312,3.776719520424567e-5,-4.82088209371393e-8,0.0023400793116841023,3.76654727255943e-5,-4.808107898018889e-8,0.002340537481346002,3.766178500501879e-5,-4.8067398459253976e-8,0.0023410160318337752,3.778395059438169e-5,-4.820166978989883e-8,0.0023414571514578423,3.8033753723512084e-5,-4.8487112668261064e-8,0.002341802014567862,3.837655741982126e-5,-4.888372230559299e-8,0.0023420114228051465,3.874102641968516e-5,-4.930783648964436e-8,0.0023420863661792065,3.9036695298684036e-5,-4.965293287954776e-8,0.0023420745217566197,3.918717458210972e-5,-4.982885057806455e-8,0.0023420538209714603,3.91622722916344e-5,-4.9799546790811774e-8,0.0023421004046062298,3.8988852688015025e-5,-4.959573407663678e-8,0.0023422602630217295,3.8734768578304047e-5,-4.9296049457022376e-8,0.0023425391360975905,3.847893082192605e-5,-4.899224673303789e-8,0.0023429102765989336,3.828568044273994e-5,-4.8759531463412606e-8,0.0023433299940436355,3.819251167163617e-5,-4.8642341136861975e-8,0.0023437518655280796,3.8209551159922836e-5,-4.865357708177263e-8,0.0023441359775748295,3.8325147109487965e-5,-4.87807783260245e-8,0.002344453495623456,3.8512988018584136e-5,-4.8994075741131246e-8,0.002344688236531956,3.873852777500904e-5,-4.9253489797137967e-8,0.0023448367420634006,3.896429832747165e-5,-4.951513690495988e-8,0.002344907563344286,3.915445172418351e-5,-4.973668851539436e-8,0.002344919846223446,3.927885131661452e-5,-4.9882338277690744e-8,0.0023449010717055798,3.9316757036171124e-5,-4.992722780668246e-8,0.0023448838074805536,3.925979958184939e-5,-4.986094461349622e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_18.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_18.json
deleted file mode 100644
index a7e1312..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_18.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":18000,"numberOfSamples":1000,"samples":[0.002344901558802442,3.911368303105064e-5,-4.968948981883951e-8,0.002344984132234963,3.8898163040661456e-5,-4.9435280092255396e-8,0.002345153076453194,3.8645137911801235e-5,-4.913505665071581e-8,0.0023454177649364274,3.8394882701718704e-5,-4.883571430956027e-8,0.0023457726182683734,3.8190636084535106e-5,-4.858818570335279e-8,0.0023461958479369647,3.8071833815956895e-5,-4.8439580759263196E-08,0.0023466502566154754,3.806617270836784e-5,-4.8423700396250246e-8,0.0023470871667342188,3.818099295284342e-5,-4.855052067391149e-8,0.0023474547964515697,3.8395736841710905e-5,-4.8796864492445077e-8,0.002347711548848421,3.865908630266998e-5,-4.9102715263344044e-8,0.0023478420825502667,3.889571950044163e-5,-4.937914952780937e-8,0.00234786961391877,3.902607152063935e-5,-4.9531851099022974e-8,0.0023478548636246925,3.899526350333567e-5,-4.949545923878963e-8,0.002347876570857601,3.8797420616696476e-5,-4.926230021920203e-8,0.0023480009856264934,3.8479554435582394e-5,-4.888691218568922e-8,0.002348257394842648,3.81212678497871e-5,-4.8462214576854004e-8,0.0023486326479069406,3.7803093228172886e-5,-4.8082513592352674e-8,0.0023490835964367573,3.75814623825538e-5,-4.781433129307214e-8,0.002349556312825578,3.747939916176964e-5,-4.768549705089819e-8,0.002350001794120482,3.7490379203984336e-5,-4.768944037993623e-8,0.002350384381521822,3.758800212452211e-5,-4.779618621991062e-8,0.0023506841057128985,3.773572437125139e-5,-4.796348785816809e-8,0.0023508956980960788,3.7894232799687954e-5,-4.814536983155262e-8,0.00235102648099269,3.802641740658273e-5,-4.829803528414698e-8,0.002351094173287532,3.810084978765315e-5,-4.838411531070628e-8,0.0023511246964647748,3.8094608924835005e-5,-4.837614007717066e-8,0.0023511496348331447,3.799585924542727e-5,-4.825963731338258e-8,0.0023512029179003826,3.780605403700456e-5,-4.803571540037979e-8,0.002351316493203054,3.754110540847055e-5,-4.772242618165293e-8,0.002351515254331023,3.723065606146325e-5,-4.7353971759481864e-8,0.0023518120205759476,3.6914840723378074e-5,-4.697706960436158e-8,0.0023522036900594134,3.663842066327486e-5,-4.664428486396447e-8,0.0023526697415857454,3.6442835626573675e-5,-4.6404850464569946E-08,0.0023531739492806607,3.635743472275251e-5,-4.629433098034591e-8,0.0023536695969230293,3.639153741844735e-5,-4.632502065598751e-8,0.002354107963028887,3.65290387843179e-5,-4.64791633358682e-8,0.0023544493334192655,3.672744771866113e-5,-4.670739713326941e-8,0.0023546748244885193,3.692340046714689e-5,-4.693502893752279e-8,0.0023547957604870243,3.704596407123413e-5,-4.707779081016492e-8,0.002354855915443392,3.703656572046711e-5,-4.70656375977696e-8,0.0023549223160394474,3.68699978500431e-5,-4.6867843166706427e-8,0.002355064610704272,3.656683381659626e-5,-4.65078344897485e-8,0.002355330456332751,3.6188645949168455e-5,-4.605762360942627e-8,0.0023557290800031,3.581614088997792e-5,-4.561209830788785e-8,0.0023562313149006323,3.552104851024793e-5,-4.525598622392911e-8,0.002356784170343763,3.534573263514571e-5,-4.503985226093692e-8,0.00235733028458666,3.529761527789713e-5,-4.49733843052568e-8,0.002357823000083982,3.535587514723036e-5,-4.503300722505471e-8,0.0023582334607192713,3.548324139112816e-5,-4.517550230472812e-8,0.0023585511399880337,3.5636946080439145e-5,-4.535076312918837e-8,0.002358780962041987,3.577633956909642e-5,-4.551078335076926e-8,0.0023589395842511522,3.5867314155800855e-5,-4.561499749370089e-8,0.002359052080351249,3.588475773629073e-5,-4.563332272362631e-8,0.002359149147828655,3.58142084645814e-5,-4.554820350082022e-8,0.0023592643626533377,3.565335730415486e-5,-4.5356402142557453E-08,0.002359430841246486,3.541339537933329e-5,-4.507057121932486e-8,0.0023596768567981123,3.511952535451973e-5,-4.471987460114685e-8,0.0023600205188522927,3.480948168500788e-5,-4.4348345490610194e-8,0.0023604644698905536,3.452896471445555e-5,-4.400967986329848e-8,0.002360992350010294,3.432364769813786e-5,-4.375798612579386e-8,0.002361569042366369,3.422878850205881e-5,-4.363559641492016e-8,0.0023621460051594665,3.4259012492440044e-5,-4.3660883375380844e-8,0.0023626713616961515,3.440164922381125e-5,-4.3820080092443e-8,0.002363102567048767,3.4616447316981465e-5,-4.4066547053651594e-8,0.002363418276529288,3.484277697645849e-5,-4.432896661511161e-8,0.002363625904080295,3.501331834422755e-5,-4.452741922922826e-8,0.002363762140673494,3.50713100177352e-5,-4.459391491625094e-8,0.0023638851680286292,3.498694287747205e-5,-4.449207573009896e-8,0.0023640594734086117,3.4767688893707976e-5,-4.422967279774819e-8,0.002364337052724743,3.44579776897352e-5,-4.385849503168624e-8,0.0023647414089119547,3.412668761857231e-5,-4.345970698104098e-8,0.002365260922020612,3.3846152104623893e-5,-4.3119075143364176e-8,0.0023658544426327192,3.367093165302294e-5,-4.290180278936738e-8,0.0023664660490979486,3.362478090509265e-5,-4.2836928949552116e-8,0.002367041894211088,3.3699477499923e-5,-4.29156715149733e-8,0.0023675425813141815,3.3863070665591675e-5,-4.3100929149056666e-8,0.002367948361133545,3.407186155979982e-5,-4.334131276515742e-8,0.0023682583104001854,3.4281125480317074e-5,-4.358383945165417e-8,0.002368486347050624,3.4452289918945094e-5,-4.378254145392837e-8,0.002368656569458454,3.455667745010834e-5,-4.3903037676489125e-8,0.002368799213631667,3.457704329979657e-5,-4.39244496666408e-8,0.0023689474323752143,3.450818698611703e-5,-4.384015205758009e-8,0.0023691344170632556,3.4357416482385305e-5,-4.3658308045106786e-8,0.002369390127550806,3.4144946605107745e-5,-4.340234799568976e-8,0.002369737050180081,3.390358038895181e-5,-4.311066755298774e-8,0.0023701849761484078,3.367640314542406e-5,-4.283404275674573e-8,0.002370725808074802,3.351105695568608e-5,-4.262900855450118e-8,0.0023713306372070224,3.344998149691437e-5,-4.254638292238252e-8,0.0023719519724518553,3.351806525291478e-5,-4.261657041710548e-8,0.0023725329401571575,3.371175366291013e-5,-4.283642668257849e-8,0.0023730222295828053,3.3995002702351264e-5,-4.316414308379054e-8,0.002373389973065274,3.430578520129685e-5,-4.3526671192005085e-8,0.0023736381505010734,3.4572328983584834e-5,-4.38388242013889e-8,0.0023738010098588143,3.473355012811767e-5,-4.402752760022938e-8,0.00237393531167498,3.4756315512409036e-5,-4.40524591922618e-8,0.0023741041518875864,3.4643979531241987e-5,-4.391644020525929e-8,0.0023743597715574142,3.443428581685144e-5,-4.366325823519776e-8,0.002374730275263065,3.418808569592938e-5,-4.336456918047751e-8,0.0023752135991477064,3.397259983293269e-5,-4.3100208376556956e-8,0.002375779941817866,3.384415723124978e-5,-4.293768908589405e-8,0.0023763813960745914,3.383531261076801e-5,-4.2916694132470866e-8,0.0023769653178674142,3.394966546843266e-5,-4.304258701004152e-8,0.0023774870203995034,3.416488144273135e-5,-4.3289677344681276e-8,0.002377918235263097,3.444154087954113e-5,-4.3611544323386645e-8,0.0023782499725694506,3.473394751413563e-5,-4.3953871457543554e-8,0.002378490676997382,3.499948400810439e-5,-4.4265690042450136e-8,0.002378661785361829,3.520478219905836e-5,-4.45068771402646e-8,0.0023787927125148967,3.5328684667322306e-5,-4.465179236135274e-8,0.0023789164661922424,3.5362982250262976e-5,-4.4690190041228925e-8,0.002379066168330197,3.531210837114164e-5,-4.462683919511151e-8,0.0023792721073279486,3.519257964256899e-5,-4.448085699607398e-8,0.0023795586569317585,3.50323249823028e-5,-4.4284979324380445e-8,0.0023799404698155602,3.486935159153574e-5,-4.408411931944888e-8,0.00238041786411957,3.4748539855140206e-5,-4.39317205628605e-8,0.0023809723866902452,3.471506365948844e-5,-4.38820214882267e-8,0.0023815649852208134,3.48036933953732e-5,-4.397726798401748e-8,0.0023821401857936045,3.502563195655052e-5,-4.423182507960411e-8,0.0023826385643343764,3.535804096673262e-5,-4.461940477123716e-8,0.002383015549616911,3.574351081297848e-5,-4.507218244911266e-8,0.0023832590121007622,3.610394768843331e-5,-4.549722500288198e-8,0.0023833960729126107,3.6365403192313095e-5,-4.5806082879119395e-8,0.0023834844707587666,3.6482794911242564e-5,-4.594430660481812e-8,0.0023835926131679144,3.6453070353420245e-5,-4.5907232417809996e-8,0.0023837780068744117,3.6312527567923084e-5,-4.573698815443366e-8,0.002384072504190872,3.612228458903607e-5,-4.550549834835012e-8,0.002384477540262076,3.594951747525463e-5,-4.529245938741677e-8,0.0023849679834993427,3.5850894327466484e-5,-4.516576690664186e-8,0.0023855013057676516,3.586164050491832e-5,-4.5168379713013465e-8,0.0023860287687607305,3.599113018920311e-5,-4.5312724744731254e-8,0.002386506003294634,3.6224400739596276e-5,-4.558208417162952e-8,0.0023869010817420566,3.65281921996621e-5,-4.5937482125035984e-8,0.0023871989250919125,3.685955147899608e-5,-4.632784241705567e-8,0.002387401820865755,3.7174763898084735e-5,-4.6700739768763154e-8,0.002387526785819297,3.7436733765039484e-5,-4.701140163670798e-8,0.0023876010849905364,3.761979915266924e-5,-4.7228628272774645e-8,0.00238765727041805,3.771186667545958e-5,-4.733742080218521e-8,0.002387728725155376,3.7714449644070145e-5,-4.7339022820513065e-8,0.0023878460686218663,3.764152424039279e-5,-4.724953688088123e-8,0.002388034216505095,3.751792399775393e-5,-4.709805432518741e-8,0.0023883096269505005,3.7377464417580596e-5,-4.692455759226862e-8,0.002388677274146209,3.726041803036959e-5,-4.677709598428318e-8,0.0023891272588487315,3.720938268477899e-5,-4.6706986835451093e-8,0.0023896319399229,3.7262272101778856e-5,-4.6760418636059854e-8,0.0023901458647094826,3.7441849520893325e-5,-4.696572132812101e-8,0.002390611746871633,3.774354152197786e-5,-4.731844757029362e-8,0.0023909747687158945,3.81269601588696e-5,-4.777091840959034e-8,0.002391202906290385,3.8519192870702565e-5,-4.823603735908806e-8,0.0023913040660786186,3.883476948556154e-5,-4.8611270833999345e-8,0.002391328128732739,3.9006667440986484e-5,-4.881589018117696e-8,0.00239134943562406,3.90124026913742e-5,-4.882222941094568e-8,0.002391438487576229,3.8880411452464615e-5,-4.866331475848319e-8,0.0023916383708005662,3.867507853522781e-5,-4.841510309828039e-8,0.00239195590432241,3.847153998643774e-5,-4.816669872463936e-8,0.0023923668018147257,3.833341819751815e-5,-4.799408876442468e-8,0.002392828007801345,3.830015839190798e-5,-4.794511807386538e-8,0.0023932907590552147,3.8383856123547755e-5,-4.8035481865629606e-8,0.00239371096036409,3.857245714578611e-5,-4.82521178047072e-8,0.0023940559931876475,3.883616405890264e-5,-4.856042818085454e-8,0.0023943082930363074,3.9134985874419545e-5,-4.891304887908877e-8,0.0023944662220829185,3.9426309839536574e-5,-4.925889576057055e-8,0.0023945426540706474,3.967167832740828e-5,-4.955145041930234e-8,0.0023945617795173573,3.984206233309221e-5,-4.975530429415886e-8,0.002394554803373748,3.992121054124771e-5,-4.985033218746083e-8,0.00239455526447015,3.990695202747839e-5,-4.983330111917577e-8,0.002394594661569528,3.9810623353083994e-5,-4.971716322616409e-8,0.0023946988252229935,3.965513390937551e-5,-4.952874150407233e-8,0.0023948850777624304,3.9472259325648355e-5,-4.9305586614794425e-8,0.00239515997526318,3.9299439114975593e-5,-4.909233045733194e-8,0.0023955174021503037,3.9175945382072434e-5,-4.893628682300761e-8,0.002395937007932476,3.9137890421156826e-5,-4.8881533371822775e-8,0.002396383695909191,3.921131979781866e-5,-4.896047917113908e-8,0.0023968099593563576,3.9403258047878505e-5,-4.918277327372618e-8,0.002397163497613983,3.969252739918278e-5,-4.952387416863947e-8,0.0023974015854493413,4.002518309701328e-5,-4.99193026544001e-8,0.002397509675261247,4.0321678158350774e-5,-5.027326909845036e-8,0.0023975151824612907,4.049998955523513e-5,-5.048669925554299e-8,0.0023974844671535013,4.050819106081807e-5,-5.049657166197553e-8,0.002397499090668801,4.034853438152713e-5,-5.0304833087084466e-8,0.0023976229322382613,4.007667775600651e-5,-4.997738881179162e-8,0.002397879519985696,3.977656534145411e-5,-4.96140773901125E-08,0.0023982502957491016,3.9527801939768744e-5,-4.93098968993077e-8,0.002398689129527083,3.938302665345923e-5,-4.912820157919039e-8,0.002399141121851689,3.936112368628708e-5,-4.9092584839070415e-8,0.002399557122870482,3.945190021821551e-5,-4.919217196871091e-8,0.002399901681190261,3.9625470595205126e-5,-4.939240127952472e-8,0.0024001557140803276,3.9841782493496445e-5,-4.9646053324931454e-8,0.00240031603823306,4.0058414074826275e-5,-4.990243651972935e-8,0.0024003933848322214,4.02365269468108e-5,-5.0114610330648764e-8,0.0024004095942288745,4.034539638022784e-5,-5.0245052214989265e-8,0.0024003941453741816,4.0365693589607254e-5,-5.0269831914895396e-8,0.0024003801497172756,4.0291449589680024e-5,-5.018110199371788e-8,0.0024004000531943383,4.013054961443052e-5,-4.9987707246810776e-8,0.0024004814327914467,3.990360304898532e-5,-4.9713797552627094e-8,0.0024006433784475078,3.96412645683471e-5,-4.9395635374628664e-8,0.002400893829350257,3.938038444905259e-5,-4.907710595026679e-8,0.0024012280072063545,3.9159384872200925e-5,-4.88043653842751e-8,0.002401627983789423,3.901309599496099e-5,-4.861979177381442e-8,0.0024020634684160267,3.896712290496793e-5,-4.8555194568685595e-8,0.0024024942344411503,3.903172416614497e-5,-4.862420076639316e-8,0.0024028751869229125,3.919562945854613e-5,-4.881439962151439e-8,0.0024031652429550516,3.942160059336088e-5,-4.908159561584208e-8,0.0024033401183291706,3.964740296327271e-5,-4.9350792145343485e-8,0.002403406122558092,3.9796826052265784e-5,-4.952959530944614e-8,0.0024034075771528214,3.9802695108078196e-5,-4.953626629721684e-8,0.002403418663533099,3.963531471377749e-5,-4.933424264248788e-8,0.002403517483513351,3.9320414167136537e-5,-4.895377104664041e-8,0.00240375400559779,3.893213949475224e-5,-4.848339885001966e-8,0.0024041310350306584,3.856275056172833e-5,-4.803360539427687e-8,0.002404608522803643,3.8287467657906244e-5,-4.7694797328705657e-8,0.002405124618903588,3.814364277978108e-5,-4.7512463896821273e-8,0.002405618526611032,3.812961405164927e-5,-4.748570334517685e-8,0.0024060450436589023,3.821594093326314e-5,-4.7580367143404314e-8,0.002406379515424713,3.8359386346411104e-5,-4.774544974096198e-8,0.0024066165603803674,3.851416440298249e-5,-4.7926337409967924e-8,0.002406766193043988,3.863916072047892e-5,-4.8073452764022304e-8,0.0024068496190933135,3.870200493814187e-5,-4.814731567974312e-8,0.0024068954751543747,3.8681384728337856e-5,-4.812157280049673e-8,0.0024069363302526986,3.8568469741027326e-5,-4.7984907944708237e-8,0.002407005092363638,3.8367620010703626e-5,-4.774197343294295e-8,0.0024071311642991904,3.8096143001373596e-5,-4.741307791637707e-8,0.00240733648448139,3.7782662926820594e-5,-4.703219316231057e-8,0.0024076319591230843,3.746376601902139e-5,-4.664296180742872e-8,0.0024080150100535243,3.717901842199488e-5,-4.629284851707181e-8,0.0024084688627471237,3.6964873105139e-5,-4.6025986316963574e-8,0.002408963950387803,3.684822663195842e-5,-4.587550926484438e-8,0.002409461535231225,3.6840528070730786e-5,-4.585634918576009e-8,0.0024099194289861434,3.6933325176103526e-5,-4.595954827428758e-8,0.002410299639091284,3.709615129870326e-5,-4.6149286023116704e-8,0.0024105775736920194,3.727809719448076e-5,-4.636443290545415e-8,0.0024107515290991625,3.7414947503234764e-5,-4.652707276927955e-8,0.0024108494422053167,3.744332346904537e-5,-4.6559778833502254e-8,0.0024109280582808607,3.732068196771385e-5,-4.641012552830863e-8,0.0024110599588631028,3.704486401008396e-5,-4.6074593882075726e-8,0.0024113092457543352,3.666207745630117e-5,-4.560832165779338e-8,0.0024117058579894443,3.625440453889971e-5,-4.511002792620606e-8,0.00241223320394758,3.590984658345839e-5,-4.468591059086578e-8,0.0024128367433007784,3.569068786073452e-5,-4.4411566261216975e-8,0.002413447167854588,3.561679042361314e-5,-4.431182379727306e-8,0.002414003943390364,3.566857531655897e-5,-4.4364131508880796e-8,0.002414468917828636,3.5802128924618506e-5,-4.45164528407243e-8,0.0024148287689588913,3.596582802687616e-5,-4.4707042649597976e-8,0.0024150906323866994,3.6112294226174406e-5,-4.487876186163635e-8,0.0024152756199526553,3.620466985756144e-5,-4.4986732147043753e-8,0.002415412983422486,3.621886433437632e-5,-4.5001246595991545e-8,0.002415535705571361,3.614384708305006e-5,-4.490832914512481e-8,0.0024156771163272757,3.59813440871689e-5,-4.470949129805716e-8,0.0024158678193869285,3.5745351613970705e-5,-4.442116416614326e-8,0.002416132416351302,3.546120330008051e-5,-4.4073537242749924e-8,0.0024164859220694446,3.516352548830468e-5,-4.370808294460031e-8,0.00241693034169506,3.4892359785693274e-5,-4.337295078484064e-8,0.0024174524408001833,3.468719086143528e-5,-4.3115900098566585e-8,0.002418023930833043,3.457944258321774e-5,-4.2975364635792224e-8,0.002418604957254082,3.4584872568489474e-5,-4.297126534219297e-8,0.002419150952416655,3.469789771516463e-5,-4.30979643194712e-8,0.0024196218300455495,3.48898251884466e-5,-4.3321783064122653e-8,0.0024199916518604678,3.51121471359681e-5,-4.3584618304832864e-8,0.002420256595170644,3.5304987746849386e-5,-4.381393076419317e-8,0.002420439070447764,3.54098460734516e-5,-4.393818240200917e-8,0.002420585972638163,3.5384692412318615e-5,-4.39053621156832e-8,0.0024207596255476035,3.521796937688811e-5,-4.3700303187940916e-8,0.00242102169533141,3.493649672842064e-5,-4.335458114598203e-8,0.0024214136673983418,3.460203389622349e-5,-4.294254391313394e-8,0.0024219412696859064,3.4294397281599166e-5,-4.2560928350924536e-8,0.002422570997871016,3.40859042454751e-5,-4.2297873198728576e-8,0.002423241774708797,3.401825188013031e-5,-4.220478688725671e-8,0.002423886226246646,3.4092534703597756e-5,-4.2284029344064495e-8,0.002424450990286084,3.4275193790697986e-5,-4.2495842308161056e-8,0.002424907897269756,3.4513860089160096e-5,-4.277731373829174e-8,0.002425254646420478,3.475404717614502e-5,-4.306250514379759e-8,0.0024255087764721997,3.495073098604035e-5,-4.329653600382793e-8,0.0024256997145779124,3.5073628211510956e-5,-4.344214009667556e-8,0.0024258619447215263,3.510795400575972e-5,-4.3480765687463235e-8,0.002426030203565686,3.505305808974759e-5,-4.341105272837135e-8,0.0024262362674914877,3.4920608081784176e-5,-4.3246676601309794e-8,0.0024265064422872465,3.473295174654087e-5,-4.3014350394663596e-8,0.0024268589868617334,3.4521461493677566e-5,-4.275180769052857e-8,0.002427301138503399,3.432410975088323e-5,-4.250490759677728e-8,0.0024278260913050916,3.418129571204661e-5,-4.2322676945393295e-8,0.002428411097108386,3.4129280643721544e-5,-4.2249456747169526e-8,0.002429018449007624,3.4191654643649516e-5,-4.231457750259257e-8,0.002429600921945329,3.4370848029145066e-5,-4.2521942446609057e-8,0.002430111852543173,3.464306742421111e-5,-4.284362752322127e-8,0.0024305177078212167,3.4960014332554184e-5,-4.322166147588011e-8,0.0024308089963019476,3.525864256604065e-5,-4.3579634420191055e-8,0.0024310052103568625,3.54768490791095e-5,-4.3841674275576033e-8,0.0024311514832499894,3.5570331945046896e-5,-4.3953026184890535e-8,0.0024313076209347257,3.552531869349453e-5,-4.389576556823521e-8,0.0024315325810961527,3.5363327353876604e-5,-4.369491031447773e-8,0.0024318686265469066,3.513647254223246e-5,-4.341303915546696e-8,0.0024323294873825944,3.491423748049786e-5,-4.3134445579347336e-8,0.002432896167264619,3.476495141289254e-5,-4.294268271529085e-8,0.0024335222309093078,3.4737272570903575e-5,-4.2897907650809233e-8,0.0024341473034816276,3.484777220801906e-5,-4.3021473228785095e-8,0.0024347141143896403,3.5078911481254485e-5,-4.3293103813853885e-8,0.0024351828565165653,3.5387420696509406e-5,-4.3660807647483854e-8,0.0024355382696882246,3.571869639847352e-5,-4.4058284519528546e-8,0.0024357886769330174,3.602113490945862e-5,-4.442243365076725e-8,0.0024359595899447976,3.6255981177570735e-5,-4.470551282002724e-8,0.002436085616257832,3.64014787157889e-5,-4.4880378715262854e-8,0.002436203431207954,3.645261201880796e-5,-4.49403083766768e-8,0.002436346881699283,3.641860110716656e-5,-4.489600455109322e-8,0.0024365439720128446,3.631989439005647e-5,-4.477193408814986e-8,0.002436814886263786,3.618547757967348e-5,-4.460305079373914e-8,0.0024371701965660787,3.605043991849035e-5,-4.443187709405474e-8,0.0024376087810835056,3.5953118153448417e-5,-4.430512313890507e-8,0.002438115638816738,3.593080766479197e-5,-4.42685612060324e-8,0.0024386606910261066,3.601319060175138e-5,-4.43590417894124e-8,0.0024392005329820178,3.621366124796751e-5,-4.459380937231256e-8,0.0024396852406738875,3.652073535771226e-5,-4.495979153559817e-8,0.002440070792536112,3.689393707336404e-5,-4.540830813754903e-8,0.0024403341938348043,3.7269028978704966e-5,-4.586125501539923e-8,0.0024404847869948067,3.757420212930339e-5,-4.6230801286461525e-8,0.0024405649339235085,3.775253295873212e-5,-4.6446847061845124e-8,0.0024406379971211724,3.778108573313487e-5,-4.6480442904616754e-8,0.0024407684360130493,3.7678040163525975e-5,-4.635265130274541e-8,0.002441002576816896,3.749564568269083e-5,-4.6126207922268527e-8,0.0024413569455008703,3.730344562480743e-5,-4.58853778897302e-8,0.0024418164775716804,3.716885726843634e-5,-4.571251766869334e-8,0.002442341086211704,3.7141004685513786e-5,-4.566838003723965e-8,0.002442877339190302,3.72411338432493e-5,-4.5780171769525656e-8,0.002443371731515466,3.746064251142103e-5,-4.603872319654958e-8,0.002443782406429579,3.7766052234272806e-5,-4.640413953378797e-8,0.002444086872764397,3.810893879139721e-5,-4.681768347059421e-8,0.002444284388309687,3.843785498667255e-5,-4.721633349478445e-8,0.002444393232414692,3.8709012326829734e-5,-4.7546011694557105e-8,0.002444444549161754,3.889334328329184e-5,-4.7770454539860257e-8,0.002444475074792687,3.8979187827749855e-5,-4.787468720267451e-8,0.0024445206944451194,3.8971331473534686e-5,-4.7863936944109584e-8,0.0024446118314487707,3.8887888173957045e-5,-4.775982946018779e-8,0.0024447706911564257,3.8756507830295623e-5,-4.7595742185117445e-8,0.002445009754862674,3.861079858955392e-5,-4.741246632391835e-8,0.002445330792627307,3.848709249206566e-5,-4.7254353116952106e-8,0.0024457239072774276,3.84210898084392e-5,-4.7165331531864033e-8,0.002446166646694304,3.844355610942536e-5,-4.71836986496915e-8,0.002446624062616858,3.857428817952799e-5,-4.733464480752854e-8,0.0024470514934107203,3.88144481598043e-5,-4.762062321108293e-8,0.002447402125327943,3.913928762815128e-5,-4.801212199106996e-8,0.0024476400881559847,3.9495739935443694e-5,-4.8444475535150416e-8,0.0024477561339314394,3.981049166716775e-5,-4.8827712071902615e-8,0.002447778077693695,4.001077266348328e-5,-4.9072160123498955e-8,0.0024477670483197492,4.005148747549024e-5,-4.9121840338880554e-8,0.0024477974812433497,3.993465087268592e-5,-4.897832831402965e-8,0.002447929926440992,3.9709268450711776e-5,-4.870064967828901e-8,0.0024481909223161946,3.9451954414470326e-5,-4.838174394154787e-8,0.0024485684783898502,3.923993501418732e-5,-4.811575988446022e-8,0.0024490213965491316,3.9129377699806304e-5,-4.797180052202577e-8,0.0024494948154261892,3.91451644029732e-5,-4.798138431887394e-8,0.002449935069477873,3.928119976470324e-5,-4.8138482471436045e-8,0.002450300397506881,3.9507323269912974e-5,-4.840749035993413e-8,0.0024505668157711494,3.9779044908857327e-5,-4.8734735279841313E-08,0.0024507297637555462,4.004759573096723e-5,-4.906061161920809e-8,0.002450802394303154,4.02688488745371e-5,-4.9330599704006644e-8,0.0024508113644507706,4.0410128173367605e-5,-4.95038655686505e-8,0.002450791125069385,4.0454212555310635e-5,-4.955844487476108e-8,0.0024507778465312773,4.040035570468197e-5,-4.949267054201453e-8,0.0024508040198822152,4.026270069107783e-5,-4.932327950223557e-8,0.0024508944505534447,4.006688255862525e-5,-4.908122347286046e-8,0.0024510638634689867,3.984580917053899e-5,-4.880648823794057e-8,0.00245131584498336,3.963541528939374e-5,-4.854295462312273e-8,0.002451642653661857,3.9470681141633724e-5,-4.833364518839405e-8,0.002452025536044154,3.938176083843848e-5,-4.8216083300638214e-8,0.002452435488543121,3.938977033584164e-5,-4.8217107227132724e-8,0.002452835048062748,3.950174696583605e-5,-4.8346481745672895e-8,0.0024531824507044967,3.970500384005907e-5,-4.858962496972789e-8,0.0024534396241559695,3.9962702831889606e-5,-4.890182990265696e-8,0.0024535843268946146,4.021443150526203e-5,-4.920880941676828e-8,0.002453623652929858,4.0386636134526066e-5,-4.9419622792017125e-8,0.002453601452891794,4.041499005959166e-5,-4.945444695873122e-8,0.0024535904575645672,4.0272043808040254e-5,-4.9278768855135644e-8,0.002453667088416081,3.9984366591700615e-5,-4.892445528448971e-8,0.0024538804961186404,3.9625472135700606e-5,-4.8481018851177726e-8,0.002454234041076148,3.9286627001372286e-5,-4.8059919577965076e-8,0.002454688758937021,3.90430339964667e-5,-4.7753378723272426e-8,0.002455182859858328,3.893307901809375e-5,-4.760913419343073e-8,0.0024556538362148746,3.895585698194267e-5,-4.762729962876685e-8,0.0024560537286482022,3.908100050787737e-5,-4.777201985779246e-8,0.00245635559786168,3.92623565237223e-5,-4.7987768345426784e-8,0.002456553543520675,3.945013089553443e-5,-4.821391608652092e-8,0.002456659304914327,3.9599666210168044e-5,-4.839543997652059e-8,0.002456697551274787,3.9677063676223765e-5,-4.849000855734107e-8,0.002456700822614684,3.966238759049165e-5,-4.847222180997126e-8,0.0024567044573505052,3.9550907364328136e-5,-4.833540821334541e-8,0.0024567417680072287,3.935256550822404e-5,-4.8091109193474636e-8,0.0024568398052084747,3.9089819952275556e-5,-4.776643242859904e-8,0.002457016102034005,3.879409971555748e-5,-4.739964644423014e-8,0.0024572767266246858,3.850135084065896e-5,-4.7034702557923994e-8,0.002457615714144817,3.8247292949526414e-5,-4.671548886753261e-8,0.002458015719767934,3.806281830374309e-5,-4.648030512056859e-8,0.0024584497093368225,3.7969709899505705e-5,-4.6356668032574766e-8,0.0024588835950892117,3.797672416493626e-5,-4.6356402548602995e-8,0.002459280019112911,3.8076035091713856e-5,-4.647098884390965e-8,0.0024596039507214372,3.8240450757803655e-5,-4.666776031810568e-8,0.0024598307142160007,3.842294852242427e-5,-4.68890281670926e-8,0.002459955918353923,3.8561282527527495e-5,-4.7057687283657186e-8,0.0024600044256263562,3.85906258738798e-5,-4.7093002809037085e-8,0.0024600323640595525,3.846469351560399e-5,-4.693699010582562e-8,0.002460115198327215,3.817888591278212e-5,-4.658318142014719e-8,0.0024603211513315733,3.778139333481038e-5,-4.609033001301854e-8,0.0024606816896058582,3.7360118141523624e-5,-4.5566248750844804e-8,0.0024611773581020993,3.700873869629158e-5,-4.5126111329188663e-8,0.0024617480565587665,3.679136890764092e-5,-4.484915535672109e-8,0.0024623194040428297,3.6725241793431914e-5,-4.4757458521259293e-8,0.002462828313114861,3.6785610286324895e-5,-4.4821776764596e-8,0.0024632368323780508,3.692313753770688e-5,-4.49825480110503e-8,0.002463533911415987,3.7081973038857536e-5,-4.517174974987359e-8,0.002463730207416001,3.72123954530806e-5,-4.5328262829285335e-8,0.0024638508339381053,3.727738907944816e-5,-4.540602228952397e-8,0.0024639287406243806,3.725496815222289e-5,-4.537712390347134e-8,0.002463999440178538,3.7138246844026674e-5,-4.523220853693909e-8,0.002464096769834068,3.693441043162565e-5,-4.4979410248424785e-8,0.002464249278477507,3.6662920271676045e-5,-4.464221452771284e-8,0.0024644771058909905,3.6352892349154964e-5,-4.4256185173269244e-8,0.0024647894963774355,3.60394813223482e-5,-4.3864446992286476e-8,0.00246518333004217,3.575928664507124e-5,-4.3512032388348086e-8,0.00246564308966862,3.5545192829730305e-5,-4.323961698689231e-8,0.002466142462746481,3.54212599682058e-5,-4.30773347216381e-8,0.0024666475561435836,3.539825611996659e-5,-4.303928925890125e-8,0.002467121549800276,3.5470424064565755e-5,-4.311941218583528e-8,0.002467530510301026,3.5614038369783264e-5,-4.328936880925462e-8,0.0024678501018424014,3.578830836147025e-5,-4.3499317664747304e-8,0.00246807277205011,3.5939557401127685e-5,-4.368284640476247e-8,0.0024682141340358534,3.6009986170699735e-5,-4.3767824546787344e-8,0.002468315806348312,3.595167953042106e-5,-4.369398422338407e-8,0.002468440719277613,3.574403825458124e-5,-4.343483114258189e-8,0.0024686576285004418,3.5408406295791984e-5,-4.301598790135291e-8,0.002469016756628685,3.5009868675168896e-5,-4.251749277816247e-8,0.002469527016305481,3.4639085816369505e-5,-4.2051331770138575e-8,0.0024701491272457075,3.437918303108398e-5,-4.172053655964463e-8,0.0024708107727132163,3.4275108324639473e-5,-4.1581346163947136e-8,0.0024714349391305145,3.432221330845508e-5,-4.162900742123513e-8,0.0024719649634269477,3.447673339527891e-5,-4.181047415170179e-8,0.0024723756773897968,3.4677347990773343e-5,-4.2050733510056084e-8,0.0024726711706196352,3.486498141779451e-5,-4.227704642717137e-8,0.002472875776800631,3.499457801076819e-5,-4.243345755026598e-8,0.002473024311147267,3.5039164456257024e-5,-4.248596282344877e-8,0.002473154485424879,3.49892258455584e-5,-4.24219893311207e-8,0.0024733018836487117,3.485023256564978e-5,-4.224757508831041e-8,0.0024734966693373177,3.4639859686924084e-5,-4.198405931463602e-8,0.002473761122223743,3.4385249288497285e-5,-4.166470061647262e-8,0.0024741075410927692,3.412005527399114e-5,-4.1330957835760266e-8,0.0024745365035125336,3.388081280598191e-5,-4.1027956557272016e-8,0.0024750358991933777,3.3702298329276224e-5,-4.0798783384882296e-8,0.002475581446443766,3.361205682415149e-5,-4.0677810154140694e-8,0.0024761393094790735,3.362488283309667e-5,-4.068393655070341e-8,0.00247667099923248,3.3738415010136826e-5,-4.081509111115514e-8,0.0024771401592741794,3.393112591255991e-5,-4.104553604679316e-8,0.0024775202300596727,3.4163782098038836e-5,-4.132736396042357e-8,0.0024778015552186553,3.4384841805604154e-5,-4.15968981141725e-8,0.002477996355230064,3.453957481857277e-5,-4.178587242689799e-8,0.002478139925461257,3.4582095835946386e-5,-4.183646089222978e-8,0.0024782863608294597,3.448855008036613e-5,-4.171792894077942e-8,0.002478497599215119,3.426810101996982e-5,-4.1440616533293496e-8,0.002478826423475806,3.3966768621773196e-5,-4.106097101147728e-8,0.002479297655651806,3.365920201414745e-5,-4.067146491268234e-8,0.0024798956470742607,3.3427359889743966e-5,-4.0374142208359564e-8,0.002480566263107198,3.333281657692773e-5,-4.0246164098665086e-8,0.0024812348815230548,3.339569240715765e-5,-4.031349099874403e-8,0.002481832069138389,3.359098154088289e-5,-4.054608293176884e-8,0.0024823140828337882,3.3862509899205475e-5,-4.087496962472572e-8,0.0024826701499891905,3.4144843169478624e-5,-4.121926049669797e-8,0.0024829174589391183,3.438196398751778e-5,-4.150927531351717e-8,0.002483090231395934,3.453716218275256e-5,-4.169890994247633e-8,0.0024832289273681676,3.459479555529096e-5,-4.1768010969739914e-8,0.0024833725099405357,3.455739202683464e-5,-4.171898971311369e-8,0.002483553953461178,3.444130953944551e-5,-4.1571586234288615e-8,0.002483797896582137,3.42726872143246e-5,-4.135789466565913e-8,0.002484119250717028,3.408404982664835e-5,-4.111811949072816e-8,0.0024845220544084173,3.3911157045767064e-5,-4.08966177191401e-8,0.0024849984608592214,3.378942234513219e-5,-4.073744810316272e-8,0.002485528319030998,3.37493393541924e-5,-4.0678740705520224e-8,0.0024860802611576817,3.381090099062003e-5,-4.07458217081001e-8,0.002486615292822404,3.3977887022200906e-5,-4.094410565553709e-8,0.0024870933615432594,3.4233776242617746e-5,-4.1253884823212716e-8,0.0024874822433588704,3.454145160287273e-5,-4.162972775740252e-8,0.0024877666980437367,3.4848325612800404e-5,-4.200659476353093e-8,0.002487954948091704,3.5096872718110185e-5,-4.2312767159825944e-8,0.0024880797904155523,3.523845842873798e-5,-4.248704298833028e-8,0.002488193043039279,3.5246843277377304e-5,-4.249570636640487e-8,0.0024883539592743067,3.512738494103619e-5,-4.234426909230887e-8,0.0024886140602875923,3.49187025600563e-5,-4.207987071532803e-8,0.002489002194927896,3.468515900952789e-5,-4.178219564842183e-8,0.0024895143834379584,3.450085337149065e-5,-4.1543686661381805e-8,0.002490112692358687,3.4428839747837344e-5,-4.144362746866002e-8,0.002490735095733774,3.4502254176917696e-5,-4.152441444489307e-8,0.002491313820334456,3.47148501990305e-5,-4.177943206499539e-8,0.0024917952057646542,3.5025110867509906e-5,-4.21578484386859e-8,0.002492153108185882,3.537166319265242e-5,-4.2583614770799746e-8,0.0024923915653697563,3.569250545655623e-5,-4.297938359576452e-8,0.0024925381077774505,3.594019773552308e-5,-4.328553882965522e-8,0.0024926327298874706,3.608907519420701e-5,-4.346936640882342e-8,0.0024927174854313663,3.6135139860801745e-5,-4.352511605516019e-8,0.0024928293045150462,3.6091731116077385e-5,-4.3468759712982866e-8,0.0024929962078651933,3.598404077227055e-5,-4.3331234070503576e-8,0.002493235828937878,3.584424198247867e-5,-4.315237723752643e-8,0.002493554988497319,3.5707654226319e-5,-4.297612739315671e-8,0.002493949475402431,3.560950550536974e-5,-4.284648196073154e-8,0.002494403814902926,3.558150409860973e-5,-4.2803251027824265e-8,0.0024948914829334063,3.5647523756435825e-5,-4.287670742727347e-8,0.0024953765911673344,3.581825773142045e-5,-4.308089582356996e-8,0.0024958182908375675,3.608573040867354e-5,-4.340666705533066e-8,0.0024961786512342457,3.641986140806195e-5,-4.381718846972339e-8,0.0024964332001036105,3.677013333856981e-5,-4.424981283072611e-8,0.002496580985875428,3.707466125980302e-5,-4.4627260595163124e-8,0.00249664942189288,3.7275972463325826e-5,-4.487730097257107e-8,0.002496690103679088,3.733875515066651e-5,-4.4954995613220536e-8,0.0024967655193018647,3.726250067358835e-5,-4.485864320894178e-8,0.002496931013734003,3.7083456871196986e-5,-4.46324458229267e-8,0.0024972186148263043,3.686490845186074e-5,-4.435466169172905e-8,0.002497628180291189,3.6679510733870065e-5,-4.411582351619956e-8,0.002498128079111284,3.658972340409257e-5,-4.3994441199673844e-8,0.0024986644042137227,3.663208106121771e-5,-4.4037246854020054e-8,0.0024991755753180833,3.680926861936187e-5,-4.4248953740883185e-8,0.002499608064555356,3.709163133072151e-5,-4.459370765840227e-8,0.0024999288144117358,3.742710477725366e-5,-4.500715060851872e-8,0.0025001310412585205,3.775603780312682e-5,-4.5414811573711545e-8,0.0025002324917523817,3.8025992028683344e-5,-4.57506862741052e-8,0.002500267909808244,3.82021913744237e-5,-4.5970516699009e-8,0.0025002791334092648,3.827161818741498e-5,-4.6057156152074936e-8,0.002500306150636883,3.824142696912959e-5,-4.601877616789812e-8,0.002500381023813219,3.813396254515294e-5,-4.588273798227383e-8,0.002500524917925695,3.7980819109320463e-5,-4.5688184530668866e-8,0.002500747387946368,3.781755623906785e-5,-4.547941847511398e-8,0.0025010467943652028,3.7679593748579237e-5,-4.530076608806616e-8,0.002501411000812327,3.759894473403009e-5,-4.5192519652786e-8,0.002501818061535664,3.76010451065458e-5,-4.518700349120371e-8,0.002502237249305373,3.7700983349453346e-5,-4.530383549196263e-8,0.002502631391630373,3.789891117462528e-5,-4.5544060670952407e-8,0.0025029618245448393,3.817544639615828e-5,-4.588418136956523e-8,0.0025031968555852867,3.8489391629367015e-5,-4.6273070203581374e-8,0.002503322900130418,3.878132383082006e-5,-4.6636329847159344e-8,0.0025033544659702643,3.898595666221756e-5,-4.689179674409995e-8,0.0025033366866835474,3.9052160624291637e-5,-4.6974744631872444e-8,0.002503335424761968,3.8963286204251026e-5,-4.686346369928086e-8,0.002503416415545243,3.874697513072474e-5,-4.659163332249408e-8,0.002503622458507168,3.846773122092755e-5,-4.623914977805023e-8,0.0025039595976610314,3.820530008492874e-5,-4.590530882256746e-8,0.002504397631776516,3.802946606966512e-5,-4.5677537488936655e-8,0.002504882299547712,3.798169372682445e-5,-4.560852435839345e-8,0.002505352221421315,3.806826004220745e-5,-4.570743517294879e-8,0.00250575432324309,3.8263797822131395e-5,-4.59439244261933e-8,0.0025060542893460607,3.852145546614233e-5,-4.6260390338084265e-8,0.002506241100184328,3.878568465963214e-5,-4.658768272125083e-8,0.0025063261680084966,3.900454144029845e-5,-4.686046599932783e-8,0.0025063382859264074,3.913932359754488e-5,-4.702948014495108e-8,0.0025063160483484925,3.917014569025023e-5,-4.706882713849625e-8,0.002506299694580531,3.9097007570934184e-5,-4.697758835500036e-8,0.0025063241642786917,3.893705066219002e-5,-4.677655197485161e-8,0.002506414458106024,3.8719469291395064e-5,-4.650187612960767e-8,0.002506583529031959,3.847966713294664e-5,-4.6197729527279165e-8,0.0025068322231723375,3.825390939784268e-5,-4.5909552105830005e-8,0.00250715042643049,3.8075081039815325e-5,-4.5678747389959236e-8,0.002507518671035578,3.79694315028609e-5,-4.553864588391083e-8,0.002507909881434134,3.7953757863868274e-5,-4.551099211154035e-8,0.0025082914429322,3.8032479762118567e-5,-4.560219705504129e-8,0.0025086283062298424,3.819441369790588e-5,-4.5799089344806656e-8,0.002508888222288745,3.8409920504514224e-5,-4.6065065644875405e-8,0.002509049867274366,3.863051042059274e-5,-4.633938175836797e-8,0.002509113004638694,3.879425510226927e-5,-4.654391267553016e-8,0.0025091068429147767,3.883993594289078e-5,-4.6601084959132783e-8,0.0025090898042000585,3.872875934821506e-5,-4.6461387254399373e-8,0.002509134996273683,3.846495952331999e-5,-4.6129379088556667e-8,0.002509303823785431,3.810176136963081e-5,-4.567118163005868e-8,0.0025096206611317003,3.77249340788089e-5,-4.519386918014874e-8,0.0025100635025889603,3.742094334698776e-5,-4.480570179737146e-8,0.0025105750725739227,3.7247279761174246e-5,-4.4579149479260436e-8,0.0025110856597778002,3.721891833235642e-5,-4.4533963341258614e-8,0.0025115347336513087,3.7312355209207396e-5,-4.464198908935113e-8,0.0025118837717088426,3.7479672497395944e-5,-4.4844363555259744e-8,0.0025121197805155586,3.766434463552293e-5,-4.507092241835546e-8,0.0025122524606316582,3.781403239390384e-5,-4.5256039989766344e-8,0.002512308218517646,3.788897265948401e-5,-4.534921710684068e-8,0.002512323198993744,3.7866377431753216e-5,-4.532087455967344e-8,0.0025123364352792246,3.774164049515155e-5,-4.5164209733579505e-8,0.002512383722153255,3.752690440451212e-5,-4.4893662222274306e-8,0.0025124927690744884,3.724752495244522e-5,-4.454058376296237e-8,0.0025126800686300593,3.6937187041074546e-5,-4.4147073781900625e-8,0.002512949640805612,3.663249847498581e-5,-4.3759102263850506e-8,0.0025132935154346414,3.636784559588725e-5,-4.3419995601533096e-8,0.0025136935134270817,3.6171127440481755e-5,-4.3165098457630535e-8,0.002514123766723244,3.606055777639336e-5,-4.301781026749884e-8,0.002514553618955688,3.604231707921164e-5,-4.298663815376317e-8,0.0025149508839445193,3.610876316223164e-5,-4.306282715704458e-8,0.0025152857940081257,3.6237122105096005e-5,-4.321846926867821e-8,0.0025155362609611655,3.6389174493579715e-5,-4.3405830751730746e-8,0.002515694790395706,3.651350376824656e-5,-4.356001367114698e-8,0.002515776049335391,3.6552764092910476e-5,-4.360815615449484e-8,0.0025158217306482694,3.64579617376964e-5,-4.348766977365181e-8,0.002515896936537497,3.620833883698536e-5,-4.317158041654697e-8,0.002516073071847446,3.5828669318152446e-5,-4.269046581534293e-8,0.002516399987719169,3.539060604592482e-5,-4.213413246847748e-8,0.0025168814606322987,3.499021840014745e-5,-4.162331415721513e-8,0.0025174707936113064,3.4710531005774946e-5,-4.126263149227772e-8,0.002518090589616577,3.459078644678115e-5,-4.1102057661954364e-8,0.002518663524727177,3.4618912918017596e-5,-4.112741399925282e-8,0.0025191361740298083,3.474582741761788e-5,-4.1278096176040484e-8,0.0025194875406559848,3.490802432070915e-5,-4.147510457868247e-8,0.002519725292742549,3.504638962014763e-5,-4.16444050552658e-8,0.0025198766141857846,3.5116951628882e-5,-4.173036446018124e-8,0.002519978706172601,3.509468993429849e-5,-4.1700694202266914e-8,0.002520071130482626,3.497310385097045e-5,-4.154621540106111e-8,0.002520190252699242,3.4761794687652565e-5,-4.1278135639874127e-8,0.0025203652372844786,3.448316626617987e-5,-4.092409555262571e-8,0.002520615191656812,3.416849468288395e-5,-4.05232510677893e-8,0.002520947440465501,3.385345763496335e-5,-4.0120551152513905e-8,0.002521357059662189,3.3573332103171066e-5,-3.976057689732734e-8,0.0025218278023055253,3.335822588172072e-5,-3.9481488035551096e-8,0.0025223344083919984,3.3228896480038676e-5,-3.930979257938309e-8,0.0025228460215779803,3.319367073788616e-5,-3.925652251261835e-8,0.0025233303087924958,3.324669892834196e-5,-3.9315015622613785e-8,0.0025237579626117535,3.336760095667987e-5,-3.946031753109398e-8,0.0025241074151963775,3.352256518500154e-5,-3.9650309128366536e-8,0.0025243697315655363,3.366716014331096e-5,-3.982900185191263e-8,0.002524553460207322,3.375163915239177e-5,-3.9933128485974816e-8,0.002524688300114605,3.37298851909107e-5,-3.9903559505638475e-8,0.002524824998114826,3.357240651657453e-5,-3.970202211903166e-8,0.0025250277665400896,3.328120777325597e-5,-3.933021967054159e-8,0.002525356611076024,3.289990453199541e-5,-3.8842803606554595e-8,0.0025258428381231134,3.250914558990305e-5,-3.834160036262284e-8,0.0025264698957574395,3.220189906693548e-5,-3.794432342774024e-8,0.0025271741566565867,3.2047197639093385e-5,-3.773873488953271e-8,0.002527868930050737,3.206296769477658e-5,-3.7748283537389005e-8,0.002528477957775852,3.2214078628227146e-5,-3.792951338789108e-8,0.0025289589671146006,3.243333093220877e-5,-3.8198347470684486e-8,0.002529308244893737,3.2649160481611736e-5,-3.8464834618929027e-8,0.002529551044230285,3.280554245702909e-5,-3.8658136766423037e-8,0.0025297276422903844,3.286996887218826e-5,-3.873662679239773e-8,0.0025298816375502052,3.283279972249427e-5,-3.8687266747971134e-8,0.002530052440279624,3.2702708511500886e-5,-3.852013964263886e-8,0.0025302712732322313,3.250144171865661e-5,-3.8262077101730963E-08,0.002530559210242333,3.22591991158146e-5,-3.7950935413685944e-8,0.002530926148178654,3.2010602838034795e-5,-3.7630466201304596e-8,0.002531370351391248,3.1790798148834993e-5,-3.7345270529438355e-8,0.0025318786907376338,3.1631370951251876e-5,-3.713553615551818e-8,0.0025324279262051433,3.155608559611767e-5,-3.703162366365894e-8,0.0025329874164920214,3.1576901848478516e-5,-3.704907123537745e-8,0.0025335233363896095,3.1691081346079224e-5,-3.71849683887019e-8,0.002534004013295205,3.1880164541897305e-5,-3.741660475396124e-8,0.0025344056658638974,3.211134266810114e-5,-3.770302889521404e-8,0.0025347176716889862,3.234141683476799e-5,-3.798981805268735e-8,0.0025349464931195965,3.25231453918205e-5,-3.821692596727692e-8,0.002535117468766687,3.261356425395861e-5,-3.832919965284332e-8,0.002535273522037362,3.25837585549067e-5,-3.828894828785741e-8,0.0025354694854592633,3.242890013057747e-5,-3.808899818124254e-8,0.0025357608919522735,3.217582413424165e-5,-3.776263794934066e-8,0.002536187666940124,3.1883621764644e-5,-3.738458087106923e-8,0.0025367568259437178,3.1632385404099197e-5,-3.7056717765237276e-8,0.0025374327525164407,3.1499190159307474e-5,-3.687752844703763e-8,0.0025381439662942977,3.152925181564535e-5,-3.690529396896161e-8,0.00253880714969785,3.1717495544648184e-5,-3.7134493175846014e-8,0.002539357012067217,3.201212311537006e-5,-3.7500132915228656e-8,0.002539765928854451,3.233760649167408e-5,-3.79067823651572e-8,0.0025400453147970577,3.2622583246552875e-5,-3.82638918563021e-8,0.0025402331112333227,3.281872156862578e-5,-3.850972952935261e-8,0.002540377487382661,3.290621872055572e-5,-3.8618458257282727e-8,0.002540524155092487,3.288979390474908e-5,-3.8595246105451726e-8,0.0025407093934606078,3.279105867884921e-5,-3.846681028316092e-8,0.002540957537634892,3.2641231271875194e-5,-3.827233474111451e-8,0.002541280815381751,3.247562338960235e-5,-3.805651702208651e-8,0.0025416799467947535,3.232966235413645e-5,-3.786445609457888e-8,0.002542144857740274,3.223562798311164e-5,-3.7737407372711096e-8,0.002542655579590631,3.221938662051105e-5,-3.7708565661377785e-8,0.0025431838362320446,3.229680174430522e-5,-3.779849423590047e-8,0.0025436960054889923,3.247013233511464e-5,-3.8010564296692125e-8,0.00254415790798978,3.272542643389036e-5,-3.8327620226833e-8,0.002544541182956549,3.303226997284184e-5,-3.871155421654684e-8,0.0025448301444755037,3.334704611861932e-5,-3.9107270584671315e-8,0.0025450273211040327,3.3620069672829226e-5,-3.9451574837501164e-8,0.002545155729501141,3.380568399136757e-5,-3.968592063249876e-8,0.002545256556630443,3.387319471601984e-5,-3.977037692107729e-8,0.0025453820443540687,3.3816009067509984e-5,-3.969547432241733e-8,0.002545584452323269,3.365650342624907e-5,-3.948871602576002e-8,0.0025459029162299583,3.344455147949948e-5,-3.9213016496428415e-8,0.0025463510522096334,3.324840420752361e-5,-3.895529090102889e-8,0.002546909232956193,3.3138246514345544e-5,-3.8805530645937213e-8,0.002547525817875957,3.31656565561402e-5,-3.883045961997576e-8,0.002548129745697608,3.334578366524815e-5,-3.9050513834874766e-8,0.002548651901131051,3.3650693689135876e-5,-3.9431034299941284e-8,0.00254904685669721,3.4018656743914485e-5,-3.989388291545174e-8,0.002549305056062235,3.4375770534290136e-5,-4.034493649891447e-8,0.002549450755241978,3.465939649203068e-5,-4.070401123079711e-8,0.0025495291586907494,3.4833241697630345e-5,-4.092420182378461e-8,0.002549590687379239,3.4890489219274215e-5,-4.099602575860678e-8,0.0025496789205144556,3.4848031855415884e-5,-4.0940251920067316e-8,0.0025498244612649898,3.473730209237217e-5,-4.079637327911076e-8,0.0025500436032672657,3.459585033605535e-5,-4.061196445682029e-8,0.002550339547154352,3.4461308211710806e-5,-4.0434988555481746e-8,0.0025507043433619027,3.4367523260307965e-5,-4.030880973480197e-8,0.0025511206731693597,3.4341897944161364e-5,-4.0268729945377805e-8,0.002551563424104876,3.4402972367080165e-5,-4.03388608138628e-8,0.002552001606617659,3.4557690980306746e-5,-4.0528610973922175e-8,0.002552401461273141,3.479848664498499e-5,-4.082892216673804e-8,0.0025527314827823774,3.510120673609544e-5,-4.120952912256527e-8,0.002552969364218686,3.542565410114826e-5,-4.161951137566323e-8,0.0025531095580215266,3.572058968524942e-5,-4.19935413975739e-8,0.002553168729760865,3.59339104478195e-5,-4.226480110017664e-8,0.0025531858573809097,3.602631744383978e-5,-4.238244913932361e-8,0.0025532150611217693,3.598419299693054e-5,-4.232817322961466e-8,0.002553312233386756,3.582648549097322e-5,-4.212517282076237e-8,0.0025535195183206613,3.560220174300033e-5,-4.1835212060668614e-8,0.002553852830502855,3.537869695525301e-5,-4.15439349344679e-8,0.0025542964378125308,3.5224255096316406e-5,-4.133880357556166e-8,0.002554806195557747,3.519005643611671e-5,-4.1286055750094206e-8,0.002555320571266334,3.5296537354939525e-5,-4.141303722830442e-8,0.0025557766128750385,3.552799805828805e-5,-4.170091750744843e-8,0.002556126465171574,3.583732608559857e-5,-4.209034923582469e-8,0.002556349360987087,3.615973932622834e-5,-4.249882289419115e-8,0.0025564551410904254,3.6431100822784126e-5,-4.284408179364047e-8,0.0025564785276809823,3.6604393384032696e-5,-4.306534222497807e-8,0.002556467160589559,3.6658984478097046e-5,-4.3135357610844236e-8,0.002556468510402671,3.660096821231846e-5,-4.306106582894111e-8,0.0025565200544311623,3.645675748916501e-5,-4.28755593884766e-8,0.0025566445046864778,3.626394236750845e-5,-4.262649174123844e-8,0.0025568493925952245,3.606285126280341e-5,-4.236530656389189e-8,0.002557129168848333,3.589047078361781e-5,-4.213942711868888e-8,0.0025574680949682657,3.5776750212926264e-5,-4.1987475893609535e-8,0.0025578429268030643,3.574244515459497e-5,-4.193647233080398e-8,0.002558225197975276,3.579750560221392e-5,-4.1999734310573656e-8,0.0025585835602312756,3.593934241195524e-5,-4.217460204810126e-8,0.002558887016647417,3.61509584570488e-5,-4.2439939751589254e-8,0.0025591098618594843,3.639984373749989e-5,-4.2754572922321514e-8,0.002559238497448476,3.663948624180955e-5,-4.305908526809104e-8,0.002559278835866122,3.6815737799850185e-5,-4.3283910146574906e-8,0.002559261046831353,3.68791601038681e-5,-4.336518833602966e-8,0.0025592372774527606,3.680125222475687e-5,-4.3265665007869605e-8,0.0025592697003744484,3.658826729490232e-5,-4.299250430234186e-8,0.0025594113266689754,3.6284623802832374e-5,-4.260177686092147e-8,0.0025596874257284618,3.596177093402923e-5,-4.218437109225698e-8,0.0025600863540812774,3.569620677368294e-5,-4.183807532178788e-8,0.002560563687246403,3.554623400075656e-5,-4.1637989758230514e-8,0.002561056690233244,3.553661609585996e-5,-4.161684553067492e-8,0.0025615023865055877,3.565507989845713e-5,-4.176023644906828e-8,0.002561853048804872,3.585927599621287e-5,-4.20151041647804e-8,0.0025620856129585094,3.6090108860365954e-5,-4.230643641429664e-8,0.0025622040446008454,3.628699041834416e-5,-4.255663518033421e-8,0.0025622353918832905,3.6401300490328786e-5,-4.270283147309331e-8,0.0025622213473997326,3.6405401558346106e-5,-4.2708678956345274e-8,0.0025622078408738705,3.6295813489391095e-5,-4.256872173084837e-8,0.0025622353848293975,3.609068615788058e-5,-4.230540259760305e-8,0.00256233232102081,3.582322550250386e-5,-4.1960772840867707e-8,0.002562511863801732,3.553353735483984e-5,-4.158605612885912e-8,0.0025627725248878294,3.526111693837438e-5,-4.123196242121757e-8,0.00256310070883618,3.503928727808233e-5,-4.0941482037820396e-8,0.0025634741471409566,3.4891828381175004e-5,-4.074551346356165e-8,0.002563865248603042,3.483125361276283e-5,-4.066063228427299e-8,0.002564244075042713,3.4857926898380974e-5,-4.068793102758481e-8,0.002564581202623444,3.495942454822687e-5,-4.0812119542659516e-8,0.00256485109943431,3.5110048036088305e-5,-4.100075191629571e-8,0.0025650367242128005,3.527118210779312e-5,-4.120451556732618e-8,0.002565135498337338,3.539413055019303e-5,-4.136076151439963e-8,0.0025651654120114266,3.5427525351978796e-5,-4.1403038721833427e-8,0.0025651680412939974,3.533045146974794e-5,-4.127809559426407e-8,0.0025652038004362098,3.508913423679075e-5,-4.096749224333056e-8,0.0025653363340437958,3.472992631684516e-5,-4.050439181559414e-8,0.0025656093621240807,3.431861032240273e-5,-3.997271395936973e-8,0.0025660270415399614,3.394124366569468e-5,-3.9482630402027894e-8,0.0025665499166005316,3.367374522340637e-5,-3.913169321930131e-8,0.0025671094737676993,3.3555941288687166e-5,-3.8971649823626466e-8,0.0025676326398133926,3.358238507761676e-5,-3.899658257921173e-8,0.00256806353887396,3.3710715096302974e-5,-3.915332696323073e-8,0.0025683748955028416,3.387946611070678e-5,-3.936392740831083e-8,0.0025685688159335627,3.402630843529469e-5,-3.954873741392243e-8,0.0025686706264498697,3.410151913115822e-5,-3.96436201055269e-8,0.002568719735740128,3.4075375284090386e-5,-3.9609586863852165e-8,0.0025687602388208127,3.3940249039981586e-5,-3.9435794394587893e-8,0.002568832735617296,3.370870760914346e-5,-3.913743671001868e-8,0.0025689681542897694,3.340879250968684e-5,-3.874991257803349e-8,0.0025691840551694215,3.307763210742136e-5,-3.832068947589197e-8,0.002569483538443005,3.275462578485857e-5,-3.790047634512565e-8,0.00256985645494049,3.2475309573827486e-5,-3.753521316052912e-8,0.0025702822795653883,3.226668899010827e-5,-3.725997236190257e-8,0.002570733820216625,3.214437650152126e-5,-3.70952464417701e-8,0.002571181033117111,3.211133565934368e-5,-3.70453424363933e-8,0.0025715946013054125,3.215772517602418e-5,-3.7098167201791944e-8,0.002571949318347555,3.226144137496881e-5,-3.722583343084536e-8,0.002572227570996682,3.2389277195387017e-5,-3.738598474604562e-8,0.0025724233208959243,3.249913626791757e-5,-3.752447594345222e-8,0.002572546572517723,3.2544481248383096e-5,-3.7581027423136185e-8,0.002572627105263867,3.248253008845186e-5,-3.7499865346558056e-8,0.0025727146254667485,3.2286766565557764e-5,-3.7246045798024494e-8,0.0025728713746888203,3.196144702345607e-5,-3.6824362906102526e-8,0.0025731546573224077,3.1551122395760685e-5,-3.6291732875808416e-8,0.0025735930611439093,3.113531128318894e-5,-3.5750349486020505e-8,0.0025741686669498156,3.080383281342957e-5,-3.5315932671875985e-8,0.002574818793527538,3.0622158898999846e-5,-3.5073179334983326e-8,0.002575459250901792,3.0606384083367444e-5,-3.5043561582390667e-8,0.0025760157713347175,3.072183306088944e-5,-3.518340880366333e-8,0.0025764462366678763,3.0902486165110045e-5,-3.5408643786040035e-8,0.0025767458975593516,3.107681621716422e-5,-3.562773879707096e-8,0.0025769394739584782,3.118739906047621e-5,-3.5766760816977004e-8,0.0025770682803444704,3.12001551469743e-5,-3.5781267605868635e-8,0.0025771782767451306,3.110525759781823e-5,-3.565767914468704e-8,0.0025773113662062915,3.091339865537416e-5,-3.540879179965687e-8,0.0025774999609862632,3.065026064735654e-5,-3.5066958787603745e-8,0.0025777640357551542,3.035060945700293e-5,-3.4676643389330934e-8,0.002578110043284982,3.0052507451921462e-5,-3.428694627394564e-8,0.002578531397055513,2.979192628154181e-5,-3.3944523195161236e-8,0.0025790103290381297,2.9598057935518227e-5,-3.368738209113566e-8,0.0025795209096909134,2.948965519446499e-5,-3.354007538112134e-8,0.002580032896739608,2.94727630782897e-5,-3.351077440578792e-8,0.0025805159234916397,2.954000878094914e-5,-3.3590389005577315e-8,0.002580943592558336,2.9671294779383406e-5,-3.375345201478358e-8,0.0025812972568394475,2.983567962877638e-5,-3.3960441519085414e-8,0.002581569412426488,2.9994385199715056e-5,-3.416148972868799e-8,0.002581766674986788,3.0105076417356167e-5,-3.430175679860849e-8,0.0025819120683374308,3.0127919994288804e-5,-3.4329229444587715e-8,0.002582045519993052,3.0034048227300084e-5,-3.420579656011638e-8,0.0025822203949664234,2.9816100977510195e-5,-3.392112802616561e-8,0.002582493526172687,2.9498181435378302e-5,-3.3505790908997055e-8,0.0025829078467866826,2.913934269067586e-5,-3.3035889417979293e-8,0.002583471922975573,2.8823154006253027e-5,-3.261957918279001e-8,0.0025841475821974037,2.8630944686295138e-5,-3.236241863773583e-8,0.0025848575009842015,2.860875020177161e-5,-3.23245690882075e-8,0.0025855132051104206,2.8747336224273945e-5,-3.249487409873808e-8,0.0025860483870083825,2.898840096044825e-5,-3.279872884323055e-8,0.0025864386289602428,2.925160284354101e-5,-3.31328354281292e-8,0.0025867003344974215,2.9464434140691195e-5,-3.340364643567008e-8,0.0025868758817611977,2.9580498213838604e-5,-3.355089908895895e-8,0.0025870163518221215,2.958356532888121e-5,-3.3552916689574256e-8,0.00258716874146591,2.948254760991543e-5,-3.342033057128494e-8,0.0025873690254704456,2.930331685653275e-5,-3.31857940505852e-8,0.0025876396104315717,2.908092911135896e-5,-3.289416461028243e-8,0.0025879892061104566,2.88534249664018e-5,-3.259456856612757e-8,0.0025884138089266786,2.8656989162023898e-5,-3.2334059412977954e-8,0.002588898359017111,2.8521979692271508e-5,-3.215231454490244e-8,0.002589419062272378,2.8469586189780088e-5,-3.2077164254932806e-8,0.002589946473323683,2.8509159090307877e-5,-3.212107523599057e-8,0.002590449393316276,2.8636563050092073e-5,-3.227904091415366e-8,0.002590899361197364,2.8834057391279875e-5,-3.2528461699677137e-8,0.00259127520629838,2.9071975778584452e-5,-3.2831291645010475e-8,0.0025915670649930126,2.9312176621478835e-5,-3.313838678718475e-8,0.0025917793326626975,2.951309804139549e-5,-3.33958896106978e-8,0.0025919320721802777,2.96361235160836e-5,-3.355336698452127e-8,0.002592060388232209,2.9652876016196784e-5,-3.357329612354791e-8,0.0025922110409532205,2.9552949250428954e-5,-3.344128213388367e-8,0.0025924352611730508,2.9350891816452204e-5,-3.3175402893513874e-8,0.0025927770732672843,2.908978789339379e-5,-3.2831114881942346e-8,0.0025932582302109035,2.8837351096213648e-5,-3.2496316807290324e-8,0.0025938644424488276,2.8670845449783314e-5,-3.2271752176790486e-8,0.00259454130569729,2.8651787572331885e-5,-3.223802204062918e-8,0.0025952073153012044,2.880006435961552e-5,-3.242178048536644e-8,0.0025957820237779284,2.9082752023308125e-5,-3.2781025144444316e-8,0.002596215451355888,2.942669394122801e-5,-3.3221292787055197e-8,0.0025965024447693404,2.9748129367640864e-5,-3.3634051131772567e-8,0.0025966765282158253,2.998185229157122e-5,-3.3934507817174133e-8,0.002596791242167228,3.009622528063916e-5,-3.408109516064842e-8,0.0025969011572768027,3.0092558261656323e-5,-3.4074756512656124e-8,0.002597049688176753,2.9995632087270322e-5,-3.3946851949197073e-8,0.0025972643186138377,2.9842572236855614e-5,-3.3744958806311066e-8,0.002597556681278304,2.9673938276303314e-5,-3.3521470462183287e-8,0.002597924726275709,2.9527819877394803e-5,-3.332595043754231e-8,0.0025983552864050196,2.9436122490796813e-5,-3.320019805897644e-8,0.002598826556628034,2.9421965307062316e-5,-3.3174709416024415e-8,0.0025993106853013,2.949756098639174e-5,-3.32658027069346e-8,0.002599776848353735,2.9662467082486734e-5,-3.347330412600232e-8,0.0026001951252648077,2.99025861685836e-5,-3.377926073172787e-8,0.0026005411717937273,3.019067108816419e-5,-3.414860105393843e-8,0.002600801115884702,3.048904747005782e-5,-3.453261736501532e-8,0.0026009756449572323,3.075479964565841e-5,-3.487558988314453e-8,0.0026010821201373643,3.094704699047445e-5,-3.512412559281178e-8,0.0026011537374556978,3.103526998712179e-5,-3.523794137373505e-8,0.0026012352359606815,3.100711111394474e-5,-3.52001023446636e-8,0.0026013752640351045,3.08739211784446e-5,-3.5024463414013454e-8,0.0026016160874248713,3.0672358090410115e-5,-3.475804093991398e-8,0.0026019820559800674,3.0460335902351476e-5,-3.447598865451195e-8,0.0026024694362678106,3.0306029731080202e-5,-3.4267389520307465e-8,0.0026030416290290835,3.0270338541856285e-5,-3.421233572704718e-8,0.0026036342474958208,3.0386657894908002e-5,-3.435533680675956e-8,0.0026041720030882468,3.064594194570206e-5,-3.4685549028801975e-8,0.0026045930310347977,3.09961293659131e-5,-3.513578419828963e-8,0.0026048698621258057,3.1359222083486464e-5,-3.560466452625087e-8,0.002605016277847952,3.165875436058266e-5,-3.5992435719287957e-8,0.0026050775582436726,3.1843809880593544e-5,-3.623231983185307e-8,0.0026051114117463955,3.1899280024474e-5,-3.630395313793583e-8,0.0026051700508598736,3.184180085895025e-5,-3.622821835659225e-8,0.0026052897100294578,3.1707923332180516e-5,-3.605202198717156e-8,0.0026054879335475844,3.154166996092474e-5,-3.5832271992857454e-8,0.0026057657097087847,3.138536625159791e-5,-3.5624031184444675e-8,0.0026061113393798714,3.1274330301516524e-5,-3.5473569113068227e-8,0.0026065041725679677,3.123426843754492e-5,-3.5414846395313414e-8,0.0026069176827509784,3.127995084377525e-5,-3.54676479866181e-8,0.0026073221793504135,3.141424395457776e-5,-3.563622226078849e-8,0.002607687760832499,3.162725534231478e-5,-3.590812143263662e-8,0.002607988052610515,3.189600175406857e-5,-3.6253749808592313e-8,0.0026082048747776295,3.218555030603266e-5,-3.662781876104157e-8,0.0026083332526672066,3.2452725750126513e-5,-3.697411627683993e-8,0.0026083853531278017,3.265297934002162e-5,-3.72343878712858e-8,0.0026083914259650088,3.2749867670578894e-5,-3.736065308576354e-8,0.002608396133617845,3.272507890931113e-5,-3.732831038939484e-8,0.0026084499787289036,3.258582024132688e-5,-3.714589715717855e-8,0.0026085974212649975,3.236651424287259e-5,-3.6857515677651e-8,0.0026088647679620098,3.2123260707560836e-5,-3.65358635683691e-8,0.002609251366434725,3.1921661831404596e-5,-3.6266559361749115e-8,0.0026097270315835943,3.182058662536569e-5,-3.612701970627575e-8,0.002610237284691165,3.185588171012813e-5,-3.6165054551592994e-8,0.002610716126815699,3.202876234196642e-5,-3.6383392719986345e-8,0.0026111037028992033,3.23033372673764e-5,-3.6736088564341154e-8,0.0026113636304113436,3.261570097552551e-5,-3.714014721843922e-8,0.002611493434829786,3.2892780986458314e-5,-3.750008482171149e-8,0.002611523495367077,3.307418573417459e-5,-3.7736560791061144E-08,0.002611505142783382,3.312826382278772e-5,-3.780750968567028e-8,0.002611493763715752,3.3056708359165294e-5,-3.771431792722278e-8,0.0026115341933477952,3.2888214172239555e-5,-3.749370515848177e-8,0.0026116528511147953,3.266635873779777e-5,-3.7202054725746606e-8,0.0026118568135878677,3.2437504850753895e-5,-3.6899719726700316e-8,0.0026121372770168093,3.22421675305727e-5,-3.663975855845446e-8,0.0026124744813415092,3.2110441667230555e-5,-3.646188211570326e-8,0.002612842227916604,3.206036322123708e-5,-3.639018811094762e-8,0.00261321139785924,3.2097696128144984e-5,-3.64327692480781e-8,0.00261355274464152,3.2216066114155835e-5,-3.658181139714531e-8,0.0026138396427348816,3.2397063044748426e-5,-3.681367790345908e-8,0.0026140514872013475,3.261067171343822e-5,-3.708942654441659e-8,0.0026141780311365196,3.2817050683532635e-5,-3.7357080590710184e-8,0.002614224114800926,3.297101014117252e-5,-3.7557436147006555e-8,0.002614213119889088,3.303013696291152e-5,-3.7634673802280204e-8,0.002614186549965068,3.296599359632987e-5,-3.755103806085695e-8,0.0026141973753741167,3.277534783937561e-5,-3.7301599143301795e-8,0.002614297046902401,3.248635183237581e-5,-3.69224435741917e-8,0.0026145197475576695,3.215508644569542e-5,-3.648630993783964e-8,0.002614870090159904,3.185171140863245e-5,-3.608467312200419e-8,0.0026153197674543857,3.164059402548646e-5,-3.5801927989370486e-8,0.0026158147703580206,3.156177686629293e-5,-3.569118447274441e-8,0.0026162903077401106,3.1620210993565046e-5,-3.5760006489734524e-8,0.0026166880991987354,3.1785560398102544e-5,-3.5969814749259693e-8,0.002616970841721617,3.200160523740788e-5,-3.624783231824479e-8,0.002617130261397801,3.220181753315225e-5,-3.65072435138508e-8,0.0026171871606737534,3.232655585316976e-5,-3.6669675925902054e-8,0.00261718397046602,3.233719347395405e-5,-3.6683842036219965e-8,0.0026171724016019787,3.222347506708292e-5,-3.6535405177033614e-8,0.0026172002283405987,3.200264024737339e-5,-3.624607593524087e-8,0.0026173011810684,3.171173130676567e-5,-3.586373455846947e-8,0.0026174902392406083,3.139662825485608e-5,-3.544818102047367e-8,0.0026177642440258567,3.110164755113335e-5,-3.5057518398642445e-8,0.0026181060091383474,3.086218416322592e-5,-3.4738433135395185e-8,0.0026184896650506663,3.070099873181416e-5,-3.452121062024481e-8,0.0026188855768160607,3.062736487635263e-5,-3.441851050195791e-8,0.0026192641644238587,3.063776642104189e-5,-3.44262138034998e-8,0.0026195987827379364,3.071705603650061e-5,-3.452490184616867e-8,0.0026198682621240295,3.083960982102611e-5,-3.4681327174304134e-8,0.0026200597799300902,3.0970713580179304e-5,-3.485016751422272e-8,0.0026201724252346513,3.106906901777973e-5,-3.497724556731821e-8,0.002620221032692184,3.1091763777759243e-5,-3.500601824118333e-8,0.0026202386178564006,3.10028288611161e-5,-3.4888839501679675e-8,0.0026202745150329704,3.0784947027866455e-5,-3.4602410900141006e-8,0.0026203852922867623,3.0450819216758257e-5,-3.416279062923851e-8,0.002620618265425924,3.0047622079189514e-5,-3.363132109745287e-8,0.002620992870319827,2.9648323815135033e-5,-3.31033303947174e-8,0.0026214894619416536,2.932979763141325e-5,-3.267956343422445e-8,0.0026220531242507274,2.9146566799369495e-5,-3.2431878766493014e-8,0.002622611657445149,2.9112958080091928e-5,-3.237984681690709e-8,0.0026230987533740094,2.9201352737337322e-5,-3.248826516711856e-8,0.0026234720422993033,2.935474709537481e-5,-3.268331002587069e-8,0.002623720696604966,2.950580934218716e-5,-3.28772184813543e-8,0.002623863141320352,2.9594733190630928e-5,-3.2991532941629956e-8,0.002623938403472255,2.9581523567624585e-5,-3.2973239176112444e-8,0.0026239948751797743,2.945153944445875e-5,-3.280223748832211e-8,0.002624079352158989,2.9214975075539966e-5,-3.249095709508292e-8,0.0026242282334253994,2.8901697565596798e-5,-3.207786296841002e-8,0.0026244620668671175,2.855315053807396e-5,-3.161700102240202e-8,0.0026247839524003213,2.821331655109691e-5,-3.116615430893701e-8,0.0026251814438661785,2.7920728883389294e-5,-3.077624804492969e-8,0.002625630821426735,2.770290261143587e-5,-3.048387523980967e-8,0.0026261023194173497,2.7573621615054672e-5,-3.030759911853844e-8,0.0026265650867071107,2.753272069170523e-5,-3.024760371638935e-8,0.0026269911754542366,2.7567495629662442e-5,-3.0287542037181364e-8,0.0026273585031503107,2.7654808956776647e-5,-3.0397305793839284e-8,0.0026276531846827346,2.776337289842733e-5,-3.0535989704684127e-8,0.0026278717322375995,2.785627661607388e-5,-3.0655133830369624e-8,0.0026280234298139303,2.7894361322732897e-5,-3.0703083939648824e-8,0.0026281325803872136,2.7841478039741167e-5,-3.063189326845691e-8,0.0026282392000712505,2.7672557297109677e-5,-3.040802070948686e-8,0.0026283955437060506,2.7384085700415085e-5,-3.002625965469175e-8,0.00262865565196701,2.700371371201096e-5,-2.9522515841626875e-8,0.002629057605315128,2.6592301817640855e-5,-2.897657699704715e-8,0.0026296042239974493,2.623136467768682e-5,-2.8495630917078668e-8,0.0026302538309996223,2.599585843503772e-5,-2.8178505464655922e-8,0.002630930614107705,2.5924188462011436e-5,-2.807623809106079e-8,0.0026315519205043305,2.6002942441934412e-5,-2.8171931342658712e-8,0.002632057542513618,2.6175113742488016e-5,-2.8391396121084223e-8,0.0026324258329257447,2.6364726212698507e-5,-2.8635308308118833e-8,0.002632672462723894,2.6502714775448774e-5,-2.881304110057633e-8,0.0026328380412312087,2.6543357889184606e-5,-2.8864178132588297e-8,0.0026329731241864014,2.6469411774491017e-5,-2.8765333495100423e-8,0.0026331258609140727,2.6289281768524357e-5,-2.852665947748336e-8,0.0026333338989213834,2.6030282261764095e-5,-2.8183285436663457e-8,0.002633620171689503,2.573080090149753e-5,-2.7785262712895203e-8,0.002633991642655656,2.5432731091922993e-5,-2.7387706234444074e-8,0.0026344403222787766,2.517473880061446e-5,-2.7041855038120544e-8,0.002634946113457011,2.498684705051351e-5,-2.6787753182580472e-8,0.0026354809501950237,2.4886802821856877e-5,-2.6649271729928865e-8,0.0026360135612485953,2.487845151655501e-5,-2.66318567861711e-8,0.0026365141657436557,2.4952076373098923e-5,-2.672296922722169e-8,0.002636958487571637,2.508635806998142e-5,-2.6894714182866534e-8,0.002637330770592852,2.5251345857424093e-5,-2.7107782135658014e-8,0.0026376258574601534,2.541191401004594e-5,-2.731596108184508e-8,0.002637850566159729,2.5531539580490765e-5,-2.747102088376633e-8,0.002638024527826738,2.557660264320669e-5,-2.7528304916922454e-8,0.0026381802741849004,2.552172015255805e-5,-2.7453780860784707e-8,0.0026383615500640014,2.535654692073106e-5,-2.7233147342018143e-8,0.0026386179885873363,2.5093413410281484e-5,-2.6882116638732477e-8,0.002638994289794082,2.4773009859853065e-5,-2.6454097522886618e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_19.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_19.json
deleted file mode 100644
index 55ee759..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_19.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":19000,"numberOfSamples":1000,"samples":[0.00263951402096563,2.446275040491078e-5,-2.6038117688221015e-8,0.0026401631724560673,2.4241976200195275e-5,-2.5739261712150362e-8,0.002640884349598046,2.417407411008679e-5,-2.5641764129475454e-8,0.0026415912918163185,2.4277459627606698e-5,-2.577057311285661e-8,0.0026422007751247287,2.4514250198517228e-5,-2.6076268743377622e-8,0.002642664329828072,2.4806135401016956e-5,-2.6455914313675208e-8,0.002642981408758501,2.5067420523334124e-5,-2.6796599674782414e-8,0.0026431902581784475,2.523476738670862e-5,-2.701462116287926e-8,0.0026433473077564114,2.5280434293348607e-5,-2.707291191164421e-8,0.0026435080278592402,2.5209814035850336e-5,-2.6977864625794997e-8,0.0026437153058168224,2.5051197769627946e-5,-2.6766036632474325e-8,0.002643995008250455,2.4844553414124373e-5,-2.6489610125027892e-8,0.002644356096346505,2.4632482174508258e-5,-2.6204648569688263e-8,0.002644792866933108,2.4453878979516923e-5,-2.5962750928942762e-8,0.002645287958825506,2.433962413644026e-5,-2.580522022561437e-8,0.0026458157625529125,2.4309628109960647e-5,-2.5758941317575327e-8,0.00264634623063722,2.4371028134717308e-5,-2.5833817493889664e-8,0.0026468490048528843,2.4517626043978552e-5,-2.6021955503015233e-8,0.002647297629221693,2.473075415894809e-5,-2.629884122598041e-8,0.002647673419069512,2.498168300232041e-5,-2.6626587976528904e-8,0.0026479684516871804,2.5235364563765828e-5,-2.6958906132239313e-8,0.0026481873145099825,2.54550480044092e-5,-2.724714977923732e-8,0.0026483474854581976,2.5607329200806667e-5,-2.744689859121178e-8,0.002648478321749667,2.5667306663201197e-5,-2.7524725198145248e-8,0.002648618565417001,2.562364143904652e-5,-2.746495256788262e-8,0.002648811933829168,2.548331398325493e-5,-2.7276137128600436e-8,0.002649099993304903,2.5275225022656478e-5,-2.6996080239347117e-8,0.0026495118344468096,2.5050470037239995e-5,-2.6692385337925312e-8,0.0026500516782408433,2.4875937156110125e-5,-2.6454031394300517e-8,0.0026506887377273874,2.481830242231187e-5,-2.637005584696817e-8,0.0026513571570154788,2.4919878684211346e-5,-2.649732055333089e-8,0.0026519727576500727,2.5176293414199947e-5,-2.6830682803784936e-8,0.00265246347865712,2.553137242424813e-5,-2.7296067819030845e-8,0.0026527977885291948,2.5897092428559638e-5,-2.777691417282513e-8,0.0026529937872264786,2.6188736914085377e-5,-2.8160834927125474e-8,0.0026531053400488365,2.6354405340763377e-5,-2.8378742435525895e-8,0.002653197143730883,2.6384803835271885e-5,-2.8417798104530085e-8,0.0026533237489522734,2.630496073324375e-5,-2.8310488620170042e-8,0.002653519415667135,2.61584941720321e-5,-2.8113966146280626e-8,0.0026537972075638358,2.5993391727317396e-5,-2.7891437296909137e-8,0.0026541528220946162,2.5852711656499893e-5,-2.7699980495729533e-8,0.002654569583467504,2.576980469437125e-5,-2.758418502662082e-8,0.002655022888269817,2.5766321279371505e-5,-2.7573341150534074e-8,0.0026554838903719694,2.5851487346184455e-5,-2.7680269328933923e-8,0.0026559228543872925,2.6021962722230312e-5,-2.7900982114737346e-8,0.0026563125592436493,2.6262270927647677e-5,-2.8215210320601784e-8,0.0026566318822620954,2.6546159408893735e-5,-2.8588246183577963e-8,0.0026568693325829773,2.683937297731775e-5,-2.8974675169938895e-8,0.00265702588046726,2.7104047119859548e-5,-2.9324209301872344e-8,0.0026571162804157502,2.730439944298196e-5,-2.9589182861804454e-8,0.002657168287578267,2.741298625135473e-5,-2.973278593466467e-8,0.002657219506910407,2.7416528074622072e-5,-2.9736788701860016e-8,0.002657312004454739,2.7320200846281446e-5,-2.9607346163960382e-8,0.0026574851280428084,2.714945498836805e-5,-2.9377627673142143e-8,0.0026577671410715864,2.6948550466389847e-5,-2.9106116594645743e-8,0.0026581666337407396,2.677480114515534e-5,-2.8869130261933987e-8,0.002658665644369953,2.668759153112913e-5,-2.874622335182529e-8,0.0026592177642860556,2.673249924766369e-5,-2.8798893801029236e-8,0.0026597551845333914,2.6923863313585407e-5,-2.9047096880029876e-8,0.0026602066278280773,2.7233239467283458e-5,-2.945360447347533e-8,0.0026605218701161496,2.759279450344971e-5,-2.992839322576825e-8,0.002660691339317348,2.791687831695263e-5,-3.0357403494703774e-8,0.0026607489650131524,2.813307297178182e-5,-3.064397603742436e-8,0.002660756316410744,2.820629128228656e-5,-3.0740975280116455e-8,0.00266077813131762,2.814444053347429e-5,-3.0658329382785926e-8,0.0026608626181401033,2.7987094517445165e-5,-3.044802835863527e-8,0.002661033282093157,2.7787369099427664e-5,-3.018018911351549e-8,0.002661290670229049,2.759646253123286e-5,-2.992268275086257e-8,0.002661618847227499,2.745466279524221e-5,-2.9729256636510297e-8,0.002661992324996788,2.7388048564438633e-5,-2.9635075082451442e-8,0.0026623814914065623,2.740846380825369e-5,-2.9656508743774662e-8,0.0026627564064791672,2.751469021981976e-5,-2.9792508338229933e-8,0.002663089657287003,2.769378081550649e-5,-3.002626101217006e-8,0.0026633589993581537,2.7922422231694105e-5,-3.032697532756177e-8,0.0026635502049094915,2.816877186333765e-5,-3.065235507227498e-8,0.002663660058606214,2.8395509491539593e-5,-3.095269273591784e-8,0.0026636988226479592,2.8564683516255168e-5,-3.1177317725720975e-8,0.0026636910185861354,2.8644267020628355e-5,-3.128328931824663e-8,0.002663673368164203,2.8615444636392442e-5,-3.124507257083623e-8,0.0026636892999802016,2.847882357726595e-5,-3.106284172552677e-8,0.0026637804953454328,2.8257367087954442e-5,-3.076651119240239e-8,0.0026639771539304236,2.7994347029093748e-5,-3.041320967031577e-8,0.002664289390944928,2.7745919962196963e-5,-3.0077603120369135e-8,0.0026647021583839263,2.7569343911087362e-5,-2.983632036881539e-8,0.002665175574611234,2.7508966541401323e-5,-2.9749234062979572e-8,0.002665651753105894,2.758308150002246e-5,-2.9841711448467954e-8,0.0026660679387967637,2.777557445101302e-5,-3.009314804079612e-8,0.002666373652606828,2.8036422130212083e-5,-3.043735504000154e-8,0.0026665467921051737,2.8293485634668975e-5,-3.0778184924067085e-8,0.002666601852555459,2.8473726055012245e-5,-3.1017907545195027e-8,0.0026665852853927806,2.8526301970881325e-5,-3.1088172804032435e-8,0.002666559122253182,2.843738526897907e-5,-3.0969895282801916e-8,0.0026665805053176046,2.823043592843639e-5,-3.069370740064932e-8,0.0026666863526158286,2.795380188020402e-5,-3.032352927191644e-8,0.002666888030781808,2.7663438827002143e-5,-2.993366290807507e-8,0.0026671748130789254,2.7408493516036183e-5,-2.958966680282094e-8,0.0026675216046985984,2.722333376093842e-5,-2.933771824724552e-8,0.0026678967932506742,2.7125467417972392e-5,-2.920171724683057e-8,0.002668268174343812,2.7116928055334394e-5,-2.918496557666993e-8,0.0026686067536675503,2.718687142750966e-5,-2.9273488870256556e-8,0.002668889153521843,2.7314125916714938e-5,-2.9439367095546293e-8,0.0026690995240611494,2.7469415229723713e-5,-2.9643692403226327e-8,0.002669231588881734,2.761768401200625e-5,-2.983969287822529e-8,0.0026692909045567758,2.772137604439484e-5,-2.9977123836592665e-8,0.002669296689582548,2.7745483589062654e-5,-3.0009007656812204e-8,0.0026692818814056923,2.76645400450632e-5,-2.9900964988722216e-8,0.002669289786419154,2.7470487600255673e-5,-2.9641735210395685e-8,0.0026693663135547675,2.7178855682651955e-5,-2.9251483856010147e-8,0.002669548600717101,2.6829814064937723e-5,-2.8783321052296953e-8,0.002669853232704221,2.6481571864986507e-5,-2.8314646721668814e-8,0.0026702686612265127,2.6196540227162797e-5,-2.792883344868289e-8,0.0026707555410017745,2.6024208042934442e-5,-2.769243626155642e-8,0.0026712556999075863,2.5986573478360687e-5,-2.7635653186376986e-8,0.002671707089748267,2.6071129511972674e-5,-2.7742712797765785e-8,0.0026720600901569886,2.6233603318288687e-5,-2.795522462078366e-8,0.002672290443135009,2.640954156364561e-5,-2.818742186699068e-8,0.0026724052428170825,2.653145786869803e-5,-2.8349002218997386e-8,0.002672440220313686,2.6546752821712073e-5,-2.8369163632258638e-8,0.0026724489957256573,2.6431102842522592e-5,-2.8214673922745004e-8,0.002672487698917711,2.6193125149463324e-5,-2.789629736013679e-8,0.0026726001820109838,2.586916578069951e-5,-2.746199942230688e-8,0.002672808644915501,2.551090053887501e-5,-2.6980507296689357e-8,0.0026731118372536797,2.5170934360175597e-5,-2.6522128760281473e-8,0.0026734896589889912,2.4891330726868854e-5,-2.6143393330707435e-8,0.0026739109227287,2.4697549447807037e-5,-2.5878832880513e-8,0.0026743410670043246,2.4597486622909633e-5,-2.5739543146492245e-8,0.002674747998989801,2.458373190904632e-5,-2.5716071958711425e-8,0.0026751057440529678,2.463704675194214e-5,-2.57830039780471e-8,0.0026753964831346907,2.47297865751725e-5,-2.5903529531835557e-8,0.00267561183646005,2.4828867315808e-5,-2.6033429491443315e-8,0.0026757540793394046,2.489859900654912e-5,-2.6124877326598502e-8,0.00267583747024861,2.4904174485618595e-5,-2.6131104709850983e-8,0.0026758891320712635,2.4816671777239062e-5,-2.6013096260213478e-8,0.0026759481268225807,2.4619877273035702e-5,-2.5748745104085175e-8,0.002676060878740094,2.4317891637757816e-5,-2.534308690420903e-8,0.002676271641860672,2.3940547910458253e-5,-2.4835628594163594e-8,0.0026766089922976954,2.3542240639262514e-5,-2.429887410844018e-8,0.002677072911743146,2.3190810939116947e-5,-2.3823549830955104e-8,0.002677629384711697,2.2947801471423495e-5,-2.349226195279842e-8,0.0026782174373540597,2.284747447523584e-5,-2.3351420427147178e-8,0.002678767190753552,2.2884450527373708e-5,-2.3394574904936935e-8,0.002679221246387928,2.3015772470718473e-5,-2.3564955982734086e-8,0.0026795504594499405,2.31755695605357e-5,-2.3774871289120044e-8,0.002679759170591716,2.3295137206169125e-5,-2.393243272963582e-8,0.0026798803135628544,2.3320917185443094e-5,-2.3965602905995443e-8,0.0026799640145154023,2.322577558520088e-5,-2.3837397612610006e-8,0.0026800639314745046,2.3012215146842673e-5,-2.3550384713622862E-08,0.0026802248899573116,2.2708392050599457e-5,-2.3141585163499967e-8,0.0026804742934984,2.235906805897442e-5,-2.2670554977751216e-8,0.0026808185968568944,2.2014267511493717e-5,-2.220428842578894e-8,0.0026812448336239396,2.171854636264718e-5,-2.180280461715125e-8,0.0026817259374465234,2.150323880680172e-5,-2.1508611094251824e-8,0.00268222781652349,2.1382809836528223e-5,-2.1341628366433782e-8,0.0026827161726339327,2.1355034347562173e-5,-2.1299284836488415e-8,0.0026831617535715744,2.140378470911418e-5,-2.1360196730420277e-8,0.0026835436457758872,2.1502965966267144e-5,-2.1489465414133864e-8,0.0026838509543692596,2.16204854567272e-5,-2.1644050147128995e-8,0.002684083542702058,2.1721810919128004e-5,-2.1777567204648777e-8,0.0026842524063363047,2.1773296218550722e-5,-2.184473901283113e-8,0.0026843798793523676,2.174584592951199e-5,-2.1806283785570994e-8,0.002684499254751002,2.1619604754520625e-5,-2.1635208600026604e-8,0.002684652615539522,2.1389936125771377e-5,-2.132488556836351e-8,0.0026848851553524585,2.1073684595338914e-5,-2.0897551736655894e-8,0.002685234761333537,2.071276203290809e-5,-2.040922349572789e-8,0.0026857179492677428,2.0370460882582813e-5,-1.9944823185549678e-8,0.002686317392056504,2.0116807827503108e-5,-1.9598553255649772e-8,0.002686979523907763,2.0004912349695077e-5,-1.9442129284992614e-8,0.0026876280837219843,2.0048512671163523e-5,-1.949455243073783e-8,0.0026881899249303247,2.0214024293583018e-5,-1.9711294931862544e-8,0.002688620249435145,2.043285656095454e-5,-2.000069039920413e-8,0.002688914623014258,2.0626936406510176e-5,-2.0258093448061607e-8,0.002689104448499188,2.073370425998305e-5,-2.0399378529749706e-8,0.0026892419298627126,2.0720641518941455e-5,-2.038044359813892e-8,0.00268938312888527,2.0587598019377475e-5,-2.0200427284762034e-8,0.002689574768650333,2.0360579482662567e-5,-1.989355990805515e-8,0.0026898465947728313,2.0081670543145843e-5,-1.9515867700560127e-8,0.0026902088053080623,1.9798500950558975e-5,-1.913120086648592e-8,0.002690653320029833,1.9555086732382298e-5,-1.8798959747669437e-8,0.0026911577108349486,1.9384918317815483e-5,-1.856468027518342e-8,0.0026916907283687213,1.9306783846534458e-5,-1.8454204375709315e-8,0.0026922183440946422,1.932346249716126e-5,-1.8471725008849565e-8,0.0026927093194704355,1.9422959535281348e-5,-1.8601349303398246e-8,0.002693139577075912,1.9581620030571056e-5,-1.8811304655394267e-8,0.0026934949979082095,1.9768275469618075e-5,-1.905959980051295e-8,0.0026937727037630865,1.9948579211282313e-5,-1.9299928293298172e-8,0.002693981227014739,2.008903816565814e-5,-1.9487102008012012e-8,0.0026941399761876384,2.0160743594175506e-5,-1.958202828436642e-8,0.002694278150304583,2.014308771745926e-5,-1.9556669135148625e-8,0.002694432839134833,2.0027814972522264e-5,-1.939951202924289e-8,0.0026946454407021474,1.9823465164879817e-5,-1.912164795226923e-8,0.002694955118743798,1.9559228013221924e-5,-1.876210188452582e-8,0.0026953885604227568,1.9285588555638527e-5,-1.8388822887488567e-8,0.002695947389646158,1.906784792733087e-5,-1.8090003030037158e-8,0.002696598361371597,1.8969529356223275e-5,-1.7951673808881418e-8,0.0026972747172651123,1.9028183067974308e-5,-1.8024976958726027e-8,0.002697894448259002,1.923482567582152e-5,-1.82982964892157e-8,0.0026983903263144058,1.953167385178543e-5,-1.8694084270395405e-8,0.0026987355972708806,1.9833273175935162e-5,-1.9097304148343785e-8,0.002698950451980689,2.005962260427181e-5,-1.9400090848296767e-8,0.0026990880859063043,2.016241265792062e-5,-1.9537100067242948e-8,0.0026992117922432905,2.013345355569334e-5,-1.949684506615443e-8,0.002699375647089422,1.999759245364751e-5,-1.9312213181089278e-8,0.002699614261285006,1.9798830819145078e-5,-1.9041939056218857e-8,0.0026999406340535597,1.9586801508834097e-5,-1.8752604336031518e-8,0.0027003488738597202,1.9406767550178475e-5,-1.850529554434705e-8,0.002700818970481651,1.9293437948365567e-5,-1.8347238284879605e-8,0.0027013220497049467,1.9267719508964687e-5,-1.8307237617048195e-8,0.002701825549465035,1.9335593552310834e-5,-1.839393020569358e-8,0.0027022980757690288,1.9488723621636194e-5,-1.8596431789749385e-8,0.002702713662607276,1.970654001153539e-5,-1.8887103092774177e-8,0.002703055157533248,1.9959543955443707e-5,-1.9226073522447195e-8,0.002703316448267429,2.0213520540267606e-5,-1.9567030088327615e-8,0.0027035033133196956,2.0434152409261692e-5,-1.986350378693203e-8,0.0027036329373279133,2.059147843487134e-5,-2.0074871352699753e-8,0.002703732317100221,2.0663912104588616e-5,-2.017172044859481e-8,0.002703835708462897,2.064176391337209e-5,-2.0140576017720335e-8,0.002703981045779454,2.0530222225002636e-5,-1.9987983238696774e-8,0.002704204955540068,2.0351562676141675e-5,-1.9743638549377247e-8,0.0027045358067139627,2.014570325430151e-5,-1.9461313750205066e-8,0.002704984805772576,1.996714707688034e-5,-1.92148397591981e-8,0.0027055368649279493,1.987574577050617e-5,-1.9085611169575944e-8,0.002706145685078051,1.9919963553539275e-5,-1.913981275734757e-8,0.0027067395839023285,2.0115935619329194e-5,-1.9399872245807953e-8,0.002707241964949466,2.0432627984345386e-5,-1.9824189275903496e-8,0.002707600561978769,2.079591363745013e-5,-2.031258854203578e-8,0.0027078094546453073,2.1114943868623784e-5,-2.0742078873478338e-8,0.0027079095029694275,2.1317626509160715e-5,-2.101494646065448e-8,0.002707967740739984,2.1374638784031844e-5,-2.1091231796414332e-8,0.0027080501916891273,2.1301291919555723e-5,-2.0991196408044287e-8,0.002708202805321296,2.1142645928582355e-5,-2.0775234408464792e-8,0.0027084452776870867,2.0954316120813476E-05,-2.0518098346501502e-8,0.002708774162575712,2.078764131629634e-5,-2.028905117718749e-8,0.002709169810830763,2.0681479161499233e-5,-2.014086685744763e-8,0.0027096034430987557,2.065925821172407e-5,-2.0105765910602988e-8,0.0027100428652535534,2.0729021182110605e-5,-2.0195268624788187e-8,0.0027104568599029244,2.088478077558925e-5,-2.0401806622108805e-8,0.0027108187654351296,2.1108546115977512e-5,-2.0701327617105837e-8,0.002711109496587725,2.1372986326076458e-5,-2.10568899223502e-8,0.002711319970232938,2.1644827851250796e-5,-2.142334211249965e-8,0.002711452708090201,2.1889050652350722e-5,-2.1753098561200446e-8,0.002711522206080725,2.207368852602839e-5,-2.2002679141313222e-8,0.002711553726110139,2.2174663760722812e-5,-2.2139227350930035e-8,0.0027115804817427185,2.2179989492678676E-05,-2.214615199321869e-8,0.0027116394229722046,2.2092790600064617e-5,-2.2027220749220564e-8,0.002711765902353902,2.1932661136871404e-5,-2.1808497541801675e-8,0.0027119875265561675,2.17349102139576e-5,-2.153749682666738e-8,0.0027123175594141167,2.154714321577371e-5,-2.1278725972971384e-8,0.002712748677090166,2.1422310197924048e-5,-2.1104340382649643e-8,0.0027132489457220156,2.1407462817094904e-5,-2.107881988743877e-8,0.002713763222707799,2.1528939153101463e-5,-2.12386510801654e-8,0.002714223539826301,2.17779711508261e-5,-2.1572526893751845e-8,0.0027145692235508168,2.210462782438041e-5,-2.201294395593925e-8,0.0027147705289971287,2.242831272043591e-5,-2.245045363896241e-8,0.002714842961370987,2.26651374401677e-5,-2.2770961975807826e-8,0.0027148417371246187,2.2759728481484883e-5,-2.2899019449501894e-8,0.0027148384646546696,2.270361220246182e-5,-2.2822761360270927e-8,0.002714894133814566,2.253147752919397e-5,-2.2588785865962968e-8,0.002715042481976411,2.230178058034443e-5,-2.227589996373742e-8,0.0027152877602880654,2.2075146022270574e-5,-2.196600255000497e-8,0.0027156119658795414,2.189977200438472e-5,-2.1724460810982776e-8,0.0027159847379479274,2.180547085498409e-5,-2.1592064109398672e-8,0.0027163717326484887,2.18037059038195e-5,-2.158495102003217e-8,0.0027167402462662167,2.189035707386248e-5,-2.169814943921391e-8,0.0027170626329077376,2.204902136902486e-5,-2.1909862774099005e-8,0.002717318577686348,2.225407880034124e-5,-2.2185536220454567e-8,0.002717496917322223,2.247368848952755e-5,-2.2481941172479003e-8,0.0027175971570509785,2.2673148098990517e-5,-2.2751819980273843e-8,0.002717630437619656,2.2818986025088118e-5,-2.2949521472554347e-8,0.002717619374232879,2.2883830547347417e-5,-2.3037639752791775e-8,0.0027175960863589687,2.2851508344780233e-5,-2.29939131948583e-8,0.002717598071460584,2.27213176952526e-5,-2.281699857396905e-8,0.0027176621709201596,2.2510260056520727e-5,-2.2529529271382513e-8,0.0027178174751903974,2.22521853070832e-5,-2.2177067543554316e-8,0.0027180784671276526,2.1993333213934358e-5,-2.1822217623532972e-8,0.0027184398641318065,2.178448760758116e-5,-2.153411268172913e-8,0.0027188745594770346,2.1670561409178468e-5,-2.137429317301222e-8,0.0027193360025531545,2.1679009178246315e-5,-2.1380826619141587e-8,0.002719766138446254,2.1809462677510583e-5,-2.1553961002315126e-8,0.00272010902935972,2.2028302823201387e-5,-2.184847600516649e-8,0.0027203278821346134,2.2272524858974438e-5,-2.2178797892063562e-8,0.0027204196799707763,2.24654419229855e-5,-2.2440404566424472e-8,0.002720419476537429,2.2541182151501676e-5,-2.2543308403420168e-8,0.002720389514355453,2.246792006086709e-5,-2.2443785172222848e-8,0.0027203968580779593,2.2257868624423312e-5,-2.2157995797522724e-8,0.0027204907531003454,2.1959156500183422e-5,-2.17509487518943e-8,0.0027206903780250197,2.1635680043467534e-5,-2.1309184877300774e-8,0.0027209858546815508,2.1346417556349277e-5,-2.0912787442917073e-8,0.002721347808163526,2.1132433058736414e-5,-2.06177932502233e-8,0.002721738732659261,2.101302770424033e-5,-2.045091160605777e-8,0.002722121842089695,2.0988064107378192e-5,-2.0412526919188236e-8,0.0027224663072612032,2.104272221321373e-5,-2.0482980964473065e-8,0.0027227497312666536,2.1152219247249398e-5,-2.0628864697851955e-8,0.0027229592187699085,2.1285646420264224e-5,-2.0808205423364215e-8,0.002723092024279769,2.140915534170127e-5,-2.0974851448080727e-8,0.002723156140984944,2.14891410191427e-5,-2.108288393508341e-8,0.002723170606461795,2.149605797679514e-5,-2.1091870780846034e-8,0.0027231647986974373,2.140913982897247e-5,-2.0973305086363463e-8,0.002723175747615389,2.122154123906254e-5,-2.0717585989345948e-8,0.0027232427667478894,2.094452464224403e-5,-2.0339705819586754e-8,0.0027233996145755853,2.0608713479640643e-5,-1.9880992713257535e-8,0.002723665721382843,2.026060892275378e-5,-1.9404470170278227e-8,0.0027240391567136266,1.9953854594028393e-5,-1.898310231028625e-8,0.002724494146855511,1.9736789731948312e-5,-1.8682948875842208e-8,0.002724984781134481,1.9639562245665583e-5,-1.8545605329381536e-8,0.002725454640230336,1.9664591180140306e-5,-1.8575060281540082e-8,0.0027258502841296267,1.978346436416098e-5,-1.8733227690675876e-8,0.0027261353236396123,1.9941877016394326e-5,-1.894645849238284e-8,0.002726301248658682,2.007230249813052e-5,-1.912271463933041e-8,0.0027263713289722514,2.011187104949174e-5,-1.9175991154117115e-8,0.002726395138448426,2.002057957804487e-5,-1.905127428909273e-8,0.002726434196991114,1.9793401183908815e-5,-1.8741182852925098e-8,0.0027265433420372793,1.946100805656228e-5,-1.828705235095383e-8,0.0027267551469351914,1.9078518607560066e-5,-1.7763682989189432e-8,0.002727073366580046,1.870747687105405e-5,-1.7254861286109985e-8,0.0027274765293817524,1.8398952985918913e-5,-1.683037011094019e-8,0.002727927993060576,1.818353027833995e-5,-1.6532295654523488e-8,0.0027283871266923043,1.8069347217504134e-5,-1.637222675764901e-8,0.0027288178204516824,1.804577514014172e-5,-1.633611041703065e-8,0.0027291931918580247,1.8089300870504294e-5,-1.6392157254153952e-8,0.0027294972768002954,1.816913014448269e-5,-1.649844892067187e-8,0.0027297251046408027,1.8251552466542002e-5,-1.660892918346911e-8,0.0027298822811575333,1.830324285422369e-5,-1.6677976929709144e-8,0.0027299846109979653,1.8294199006395545e-5,-1.6664471571957215e-8,0.0027300576392803658,1.8201084382144078e-5,-1.6536379482566312e-8,0.002730135367558795,1.801142871411346e-5,-1.6276481194654895e-8,0.0027302569950561194,1.772835840690819e-5,-1.5888815400112085e-8,0.002730460675000141,1.7374367034465673e-5,-1.540383280991605e-8,0.002730774317388617,1.6991538671805468e-5,-1.487874681986958e-8,0.002731205492992096,1.663554986253649e-5,-1.4389430286252634e-8,0.0027317346225685167,1.6362736100393333e-5,-1.401285392592605e-8,0.0027323159732417688,1.6213321694122396e-5,-1.3804237823242727e-8,0.0027328882043883593,1.6197272773221976e-5,-1.377768292956184e-8,0.002733391477933123,1.628923403372551e-5,-1.3899104903846669e-8,0.0027337846859482747,1.6435087027299024e-5,-1.4095004537599963e-8,0.002734056500043612,1.656745755001094e-5,-1.4273511480543449e-8,0.0027342271115420556,1.6624323330041047e-5,-1.4349761230979106e-8,0.002734341218625606,1.6564849873113524e-5,-1.4267579057934553e-8,0.0027344551943848145,1.6378505391622318e-5,-1.4012046808109738e-8,0.002734622289801755,1.608581588143182e-5,-1.3610682506044439e-8,0.0027348797656559553,1.5731229116967588e-5,-1.312384293400565e-8,0.0027352411979116873,1.5370487927067927e-5,-1.262758861964929e-8,0.0027356956705479342,1.5056407177672457e-5,-1.2194285616455754e-8,0.002736213318040265,1.4827270079832405e-5,-1.1876677483532097e-8,0.0027367546090290257,1.4700733657187753e-5,-1.169940036745348e-8,0.002737279962922846,1.4673731384326293e-5,-1.16586767454608e-8,0.0027377570640155654,1.4726736350655366e-5,-1.1728029197099415e-8,0.0027381648557289963,1.482989457646782e-5,-1.1866648191392354e-8,0.0027384946423735903,1.4948942426058718e-5,-1.2027544616739114e-8,0.002738749434445084,1.504985821963847e-5,-1.216399804528127e-8,0.0027389426406392242,1.5102225647928979e-5,-1.2234218749741384e-8,0.0027390967313658887,1.508190848938774e-5,-1.2205022203274869e-8,0.0027392418828776502,1.497377683520103e-5,-1.2055543818857391e-8,0.0027394140032673863,1.4774979914795335e-5,-1.1781703210623261e-8,0.0027396510558396095,1.449859754939216e-5,-1.1401214646296961e-8,0.0027399865631337478,1.4176337452192784e-5,-1.0957324233453986e-8,0.0027404401157403325,1.3857589419184968e-5,-1.0517579850249122e-8,0.002741006988407936,1.3601649709835046e-5,-1.016324470539438e-8,0.002741651946643131,1.3461932237357087e-5,-9.967701894510386e-9,0.0027423134297618586,1.3466164991872435e-5,-9.969292325791265e-9,0.0027429204127412043,1.3602045380436758e-5,-1.0151559338201335e-8,0.0027434161980657615,1.381781057785335e-5,-1.0443902181835858e-8,0.0027437775903663983,1.403930043979941e-5,-1.0744867582233018e-8,0.00274402026056172,1.4195086586668818e-5,-1.0956551973741348e-8,0.002744189707180539,1.4237647948831023e-5,-1.101361813162918e-8,0.0027443444308235623,1.4153214739371446e-5,-1.0896808965594635e-8,0.0027445391212823013,1.3960083614703103e-5,-1.063071839494125e-8,0.0027448126229584063,1.369940353501182e-5,-1.0271311517205686e-8,0.0027451820491002014,1.342296064314159e-5,-9.889353385649206e-9,0.0027456424369939375,1.3181296837245952e-5,-9.554228595057486e-9,0.0027461706266553357,1.301415215625418e-5,-9.320814951324564e-9,0.0027467319065318033,1.2944348784452829e-5,-9.220945708603037e-9,0.0027472878430236675,1.297566686114043e-5,-9.26028974478475e-9,0.0027478036209455806,1.3094521161716708e-5,-9.420488426281658e-9,0.0027482535395967965,1.3274409109423844e-5,-9.665206228210173e-9,0.002748624017387072,1.3481665911821765e-5,-9.94808846615289e-9,0.002748914201993835,1.3681151040180056e-5,-1.0220678594459335e-8,0.002749134840466332,1.3840922486020028e-5,-1.0438925666362003e-8,0.0027493062755827883,1.3935617636275572e-5,-1.0567851392877573e-8,0.0027494561978375956,1.3948871850020234e-5,-1.0584841736813426e-8,0.002749617298368145,1.3875330877006017e-5,-1.0482372438320108e-8,0.002749824478571436,1.3722661790345272e-5,-1.0270772986168708e-8,0.002750110830763187,1.3513482353169196e-5,-9.98093410823438e-9,0.00275050148863685,1.3286167853943228e-5,-9.665504146217214e-9,0.0027510052007713166,1.3092282740735443e-5,-9.395433012835077e-9,0.0027516054627253683,1.2987797311630384e-5,-9.247916863310523e-9,0.0027522560077975567,1.3016795714357577e-5,-9.283940992366734e-9,0.002752887270832192,1.3191513005764179e-5,-9.520705716744854e-9,0.0027534268750110877,1.3479307947422266e-5,-9.913575792228905e-9,0.002753827252818105,1.380820104122874e-5,-1.0363635022831688e-8,0.002754085066367869,1.4092408000508905e-5,-1.0752843979321471e-8,0.002754240423604777,1.4264671631161601e-5,-1.0988570669126968e-8,0.0027543577158397454,1.4297504261183262e-5,-1.1032801675695634e-8,0.0027545010082918016,1.4205075789953122e-5,-1.0904699986993847e-8,0.0027547161998007054,1.4030591799180186e-5,-1.0663283329901377e-8,0.0027550240194078655,1.3829185117178249e-5,-1.0384043206256625e-8,0.002755421453020712,1.3653474454465471e-5,-1.0139258403077382e-8,0.0027558875196220835,1.3544259564344984e-5,-9.985280220478687e-9,0.0027563903321073395,1.3525955479519786e-5,-9.956181654857124e-9,0.0027568938904163395,1.3605460183974092e-5,-1.0062009063794016e-8,0.002757364073561223,1.3773418082126131e-5,-1.029030898978133e-8,0.0027577735523741467,1.4007312606634619e-5,-1.0610254942756665e-8,0.002758105281049702,1.4275878871466236e-5,-1.0978721485269755e-8,0.0027583543129910426,1.4544196144378514e-5,-1.1347397176404875e-8,0.002758527884760369,1.4778781498711986e-5,-1.1669921998794136e-8,0.0027586439565762334,1.495202207329257e-5,-1.1908062139585563e-8,0.0027587286752269713,1.5045486741457556e-5,-1.2036263263573345e-8,0.002758813283168323,1.5052079543374385e-5,-1.2044567346228864e-8,0.0027589307562035483,1.497726783006875e-5,-1.1940277717807085e-8,0.0027591121400170103,1.4839587044545021e-5,-1.1748696271030066e-8,0.002759382258301141,1.4670374331164395e-5,-1.1512860934478634e-8,0.0027597543590631487,1.4512060743916354e-5,-1.1291303651724086e-8,0.002760223851724849,1.4413504572653444e-5,-1.1151667518328181e-8,0.002760762772812467,1.4420577561528979e-5,-1.1157671499436408e-8,0.002761318710750578,1.4561512390203414e-5,-1.1348746558323507e-8,0.00276182335825203,1.483046758444795e-5,-1.171717072812087e-8,0.002762213232767044,1.5178600777388183e-5,-1.2195628938203373e-8,0.0027624561618459875,1.5523579998102924e-5,-1.2670370954457433e-8,0.002762568055471419,1.577896645887847e-5,-1.3021911778698365e-8,0.002762607053442844,1.588892345218556e-5,-1.3173036202525945e-8,0.0027626477535367317,1.5847494556313896e-5,-1.3115353264673006e-8,0.002762752148698717,1.5693341116187472e-5,-1.290193227055894e-8,0.002762952717258098,1.5488291251018845e-5,-1.2617722370350503e-8,0.0027632510418019677,1.5294686690858635e-5,-1.2348462136331391e-8,0.0027636259344087917,1.5160707656321381e-5,-1.2160612203495138e-8,0.002764043924793039,1.511465428428553e-5,-1.2093523880228672e-8,0.002764468105360931,1.5165219435121325e-5,-1.2159711904489318e-8,0.0027648642771565795,1.5304554776486206e-5,-1.2348881160795975e-8,0.00276520491193756,1.551214917612753e-5,-1.2633083740317827e-8,0.0027654717421526196,1.5758859205074683e-5,-1.2972187445271782e-8,0.0027656573615933593,1.601108180866163e-5,-1.331966747011974e-8,0.0027657658412326984,1.623508143758839e-5,-1.3628693916074076e-8,0.0027658122315612965,1.6401336192405455e-5,-1.385824500072823e-8,0.0027658208032614435,1.64885423505343e-5,-1.397868551819702e-8,0.0027658220656359834,1.6486733828388484e-5,-1.397605157394892e-8,0.002765848891824904,1.639909794692674e-5,-1.3854513826157042e-8,0.0027659321674139512,1.6242317878778517e-5,-1.3636849548780435e-8,0.002766096303503263,1.6045369593808686e-5,-1.3362857387789591e-8,0.0027663548615603564,1.5846730676314847e-5,-1.308562701077851e-8,0.0027667064826740096,1.5689835021215877e-5,-1.2865361853446855e-8,0.002767131628491153,1.5616253392744474e-5,-1.2759959238257351e-8,0.002767591541465577,1.565613932350352e-5,-1.2811680422273687e-8,0.0027680318643640033,1.581672526418174e-5,-1.3031031172521404e-8,0.0027683935757452003,1.607229328191158e-5,-1.3382687188492964e-8,0.0027686315906423767,1.6362317419807093e-5,-1.3782849249591848e-8,0.0027687352106116232,1.660487394222258e-5,-1.4117902190796029e-8,0.002768738239820442,1.6725105080637398e-5,-1.4283993588661351e-8,0.0027687087079556953,1.6685822510540136e-5,-1.422947633870195e-8,0.0027687213527381837,1.650176304721841e-5,-1.3974559220475729e-8,0.0027688289978741332,1.622925799770131e-5,-1.3596908755438644e-8,0.002769048363398059,1.594031700512789e-5,-1.3195832869032236e-8,0.00276936337344147,1.569769408859385e-5,-1.2857958409166736e-8,0.002769738192543268,1.5541237964123733e-5,-1.2638499739393606e-8,0.002770130857577132,1.5485700596560033e-5,-1.2558236264973412e-8,0.0027705028435936804,1.5525121557837643e-5,-1.2609441752677153e-8,0.002770824104016123,1.5639139817898094e-5,-1.2764417778794309e-8,0.0027710750382562957,1.579871667179225e-5,-1.298325399628226e-8,0.002771246995946245,1.5970684935818387e-5,-1.322007185623983e-8,0.0027713422068845884,1.6121524757386047e-5,-1.3428307331702114e-8,0.0027713733059165882,1.622087961293736e-5,-1.3565689517813172e-8,0.0027713622519797507,1.6245092710609566e-5,-1.3599228831309594e-8,0.002771338258376431,1.6180665568763176e-5,-1.3510033682923686e-8,0.0027713344138243505,1.6027070557930125e-5,-1.3297175460530656e-8,0.0027713830768532144,1.579813080854103e-5,-1.2979564370243544e-8,0.0027715105782646693,1.5521323628688927e-5,-1.2595002061998987e-8,0.002771732045267941,1.5234636665673235e-5,-1.2195915802458485e-8,0.002772047301432447,1.4981007805899022e-5,-1.1841777298032802e-8,0.002772438752589332,1.4800880562158318e-5,-1.1588867502371844e-8,0.0027728720133379584,1.4723695349422957e-5,-1.1478455258934069e-8,0.0027733000270757664,1.475936384689405e-5,-1.1524829287417343e-8,0.0027736714038943994,1.4891518683271445e-5,-1.1705728640433002e-8,0.002773942949580787,1.5075513691583893e-5,-1.1959405556781578e-8,0.002774094298536084,1.5244784160866828e-5,-1.2193420369479077e-8,0.00277413935771806,1.5327642621168224e-5,-1.2308056164262575e-8,0.002774127095241945,1.5271382737278492e-5,-1.222991079233378e-8,0.002774127125267959,1.5063483024427677e-5,-1.1941373736095969e-8,0.002774204509579759,1.4737530909312808e-5,-1.1488800019336111e-8,0.0027743965548067697,1.43593324733346e-5,-1.0963210259393599e-8,0.0027747034985702353,1.4001351538615448e-5,-1.0464911437262635e-8,0.0027750951364715324,1.3719672259939094e-5,-1.007167416389651e-8,0.002775526051367617,1.3542754928601997e-5,-9.823200461899074e-9,0.0027759503581378433,1.3472044653032601e-5,-9.721903248961207e-9,0.0027763311030684443,1.3489110782461308e-5,-9.742655844025204e-9,0.0027766441055164853,1.356402503429683e-5,-9.84425800476849e-9,0.002776878237542247,1.3662175145885656e-5,-9.978801364369811e-9,0.00277703421910064,1.3749001999510627e-5,-1.0098250340897997e-8,0.002777123145672282,1.3793304300500613e-5,-1.0159108468992627e-8,0.002777165069365021,1.3769948799978488e-5,-1.012627712891473e-8,0.002777187380425079,1.366257139239754e-5,-9.976865115490197e-9,0.002777222427192686,1.3466379006569386e-5,-9.704079704233e-9,0.002777303795784524,1.3190508945819256e-5,-9.32046418862628e-9,0.0027774610887294536,1.285887005615791e-5,-8.859037531642524e-9,0.00277771379236086,1.250829794191475e-5,-8.370757335750319e-9,0.0027780656045215007,1.2183280121571277e-5,-7.917278908180143e-9,0.00277850108054271,1.1927476784055753e-5,-7.559280656595044e-9,0.002778986285044394,1.1773582658743977e-5,-7.3424319327927995e-9,0.0027794741941447932,1.1734065609188585e-5,-7.284473669250357e-9,0.0027799142794985264,1.1795451333347614e-5,-7.367127372081157e-9,0.00278026452821218,1.1918270864807826e-5,-7.535846169209884e-9,0.0027805032458643373,1.204384768123753e-5,-7.709138116829781e-9,0.0027806373209791524,1.2107676158375936e-5,-7.797171506191644e-9,0.002780703452468078,1.2057033090757864e-5,-7.726358310931846e-9,0.002780759925646668,1.186787561236933e-5,-7.46295792291357e-9,0.002780869728653987,1.155427127221588e-5,-7.026249491461181e-9,0.002781080498337681,1.1164946271353642e-5,-6.483757041896363e-9,0.002781409786732128,1.0767143875816982e-5,-5.928845847483083e-9,0.0027818421004138097,1.04248448157659e-5,-5.450501229246064e-9,0.0027823377629871307,1.0181105245430409e-5,-5.10879819574084e-9,0.002782847735319512,1.0050699713777196e-5,-4.924616944992279e-9,0.002783327243787241,1.0022856728953502e-5,-4.883325460734916e-9,0.0027837440651562097,1.0069594711575953e-5,-4.94624874966697e-9,0.0027840812269027786,1.015483206039899e-5,-5.063271670053514e-9,0.0027843360787357524,1.024152532104462e-5,-5.1827770304128115e-9,0.002784517883012557,1.0296305457586499e-5,-5.258162067166841e-9,0.0027846452783812006,1.0292292461840592e-5,-5.251838399917288e-9,0.002784744078074569,1.0211053940810853e-5,-5.138017383006263e-9,0.0027848451722726508,1.004447040455388e-5,-4.905319130341186e-9,0.002784981869337182,9.796760182050914e-6,-4.559563393831464e-9,0.0027851859388087303,9.486172936094592e-6,-4.1260871182282976e-9,0.0027854820195520776,9.145128566965864e-6,-3.649923337373014e-9,0.0027858809685050146,8.817212839408479e-6,-3.1916519447886542e-9,0.002786374004344479,8.549858663854469e-6,-2.8172810988601715e-9,0.002786930516713693,8.38311526590999e-6,-2.5826759770245543e-9,0.0027875021251903167,8.337323332657525e-6,-2.5164033042951878e-9,0.002788033442730153,8.404341144331321e-6,-2.6074358965324996e-9,0.0027884768663511967,8.546587963184419e-6,-2.8036922561923524e-9,0.002788806444515096,8.705359435428541e-6,-3.023511191011914e-9,0.002789025898946628,8.816155454370437e-6,-3.1769693624562517e-9,0.00278916808580964,8.826174280013064e-6,-3.1902919454504053e-9,0.0027892861494492062,8.708654066453408e-6,-3.0259083522581603e-9,0.002789439024007953,8.46996585135858e-6,-2.6924102085292982e-9,0.0027896754169786063,8.14743898998842e-6,-2.2415918566646356e-9,0.002790020989298804,7.798481749683577e-6,-1.7533598997337004e-9,0.0027904727105389194,7.484380983397801e-6,-1.3132102122914294e-9,0.0027910019465777094,7.254182931369871e-6,-9.89761674395551e-10,0.0027915644996498075,7.133899378245067e-6,-8.196308089392246e-10,0.002792113334641582,7.123723332179867e-6,-8.034153427098901e-10,0.0027926094573086616,7.202432983697204e-6,-9.117101623954198e-10,0.002793028233302452,7.335726174669705e-6,-1.0966748720526548e-9,0.0027933609484635524,7.4849003149403414e-6,-1.3041707157630382e-9,0.002793613109513304,7.61360949860106e-6,-1.4832721372423023e-9,0.002793801331699417,7.692125726622039e-6,-1.5923023708007069e-9,0.0027939501157332436,7.699650544928369e-6,-1.602113739190793e-9,0.0027940890449749374,7.62559574208575e-6,-1.4978805430814948e-9,0.0027942502546082484,7.47061613566804e-6,-1.2805101597583769e-9,0.002794465545354246,7.247708832349798e-6,-9.681400023267961e-10,0.0027947623730721393,6.982972729165114e-6,-5.97180208495864e-10,0.002795158293619206,6.714815163187818e-6,-2.2122179168722028e-10,0.0027956544044971682,6.489842552957791e-6,9.465788350054435e-11,0.0027962298905296608,6.353985618709735e-6,2.862426270105938e-10,0.0027968413003591638,6.339329590931643e-6,3.085594249353236e-10,0.002797430023565606,6.450574770211097e-6,1.5483829055035215e-10,0.0027979381407812233,6.657939065789282e-6,-1.33481326751483e-10,0.0027983274370340884,6.9023050870562255e-6,-4.73865860969561e-10,0.0027985929487883057,7.112534229482264e-6,-7.668664513252449e-10,0.0027987644712778367,7.227889781129287e-6,-9.274873085756629e-10,0.002798895846497114,7.215922522318092e-6,-9.102130577481535e-10,0.0027990476214502418,7.07954168609196e-6,-7.189055791823305e-10,0.002799270159329704,6.8528184660678055e-6,-4.0097058487487015e-10,0.0027995921098042825,6.589150394962895e-6,-3.089155205840986e-11,0.0028000160559371254,6.346543838175632e-6,3.10246237176008e-10,0.0028005208861621384,6.174077528739478e-6,5.536306075559972e-10,0.002801069138807742,6.102332622183427e-6,6.561508599671992e-10,0.002801616887775129,6.139228531226112e-6,6.063570042587458e-10,0.0028021235424224794,6.271340195284573e-6,4.227738196672006e-10,0.0028025593261495505,6.469448209654452e-6,1.462323628969768e-10,0.002802909202716053,6.696171451931554e-6,-1.7081556781815749e-10,0.0028031732715659992,6.913472533175175e-6,-4.748902722777455e-10,0.002803364595060627,7.088522312131387e-6,-7.198047146353163e-10,0.002803505761944061,7.197381055746142e-6,-8.718919784335805e-10,0.002803625279954858,7.226791581760613e-6,-9.125259098952547e-10,0.0028037543398572442,7.1748236665111314e-6,-8.389867042693141e-10,0.0028039239008144736,7.051055423278122e-6,-6.646711695244907e-10,0.0028041616337651505,6.8765748079719594e-6,-4.190817695600791e-10,0.0028044880974484863,6.6835013555270844e-6,-1.471822583423747e-10,0.0028049117634366405,6.5130028002482435e-6,9.333211200818222e-11,0.002805423407949294,6.410183518830969e-6,2.391581525590211e-10,0.0028059919682429956,6.414458134729057e-6,2.348761811647254e-10,0.0028065656354558507,6.545964496883274e-6,5.204916047160679e-11,0.0028070820322286597,6.792467980851788e-6,-2.923256812302114e-10,0.0028074875111325586,7.1049452709561795e-6,-7.295484999982558e-10,0.002807758398439204,7.408801568743201e-6,-1.1549479735996095e-9,0.002807912309953183,7.629016879277494e-6,-1.4632184010996237e-9,0.0028080018600268285,7.717209899264664e-6,-1.5864308892715257e-9,0.00280809416469148,7.666574793887121e-6,-1.5149558263742769e-9,0.0028082476851966315,7.509156810078956e-6,-1.293585924107478e-9,0.0028084967768828226,7.30058864751775e-6,-1.0001414868267381e-9,0.002808847262739549,7.101610708252468e-6,-7.196587372359342e-10,0.0028092805508106752,6.9632211202788204e-6,-5.236849754708002e-10,0.0028097620700029556,6.9179843415002716e-6,-4.5813084509820613e-10,0.0028102506436204987,6.977109497128568e-6,-5.3909443895529e-10,0.002810706875116468,7.1318269763759485e-6,-7.546337294862254e-10,0.002811099653827845,7.357649721019065e-6,-1.0705937383009498e-9,0.0028114103186717213,7.620360090645017e-6,-1.4389400470211245e-9,0.0028116342841793644,7.882562522965005e-6,-1.8069960493090511e-9,0.002811780336556491,8.109700436176797e-6,-2.1259981185286337e-9,0.0028118681577567702,8.274759500587497e-6,-2.3578054290919355e-9,0.002811924804212133,8.361260065829955e-6,-2.479149299892737e-9,0.002811980892546883,8.36454527445245e-6,-2.4834224476780367e-9,0.0028120670235339054,8.291786877210306e-6,-2.380638941437992e-9,0.002812210545938763,8.161235186498023e-6,-2.196355734372293e-9,0.0028124324269317093,8.000947582996757e-6,-1.9699141477060387e-9,0.0028127438794841287,7.846806856187975e-6,-1.7517213264542863e-9,0.002813142552806622,7.739137129470781e-6,-1.5985536553676695e-9,0.002813608808015108,7.716755992795095e-6,-1.5652027889490953e-9,0.002814103934259319,7.807540942446503e-6,-1.6911479779159391e-9,0.0028145735374341036,8.016337002635303e-6,-1.9834359406417603e-9,0.0028149593679730016,8.31455967856922e-6,-2.4019489267911616e-9,0.0028152192752681693,8.639495206008205e-6,-2.858393347499628e-9,0.002815347491924279,8.910155826623826e-6,-3.238690313459153e-9,0.0028153820992645705,9.056877288906372e-6,-3.444739279219633e-9,0.0028153917225959865,9.049565373279847e-6,-3.434183721829044e-9,0.0028154478006963196,8.907688181128402e-6,-3.234368005566589e-9,0.0028155987912163055,8.687766600877536e-6,-2.924641731063571e-9,0.002815858796138938,8.458997654451106e-6,-2.6021037702235526e-9,0.0028162112125574854,8.281283974367032e-6,-2.3508457347741356e-9,0.002816620244870729,8.193045999255578e-6,-2.2249439851131193e-9,0.002817043196425516,8.208464494140208e-6,-2.2446042949535775e-9,0.0028174399451113383,8.320583317078408e-6,-2.4004250119473305e-9,0.0028177788955663485,8.506869283546043e-6,-2.661052702041974e-9,0.0028180401266746525,8.735196722855205e-6,-2.9814634943747566e-9,0.002818216618208338,8.969546300902432e-6,-3.3109360361838935e-9,0.0028183139820533165,9.175233421802618e-6,-3.600466281728827e-9,0.0028183488727125663,9.323413400084446e-6,-3.809217986798757e-9,0.0028183463049050498,9.39458305470024e-6,-3.90954465122841e-9,0.0028183361606477814,9.380837778898787e-6,-3.890194719106599e-9,0.002818349263122649,9.286671155840795e-6,-3.757406772881838e-9,0.002818413492033781,9.128333531433483e-6,-3.53396419516556e-9,0.0028185502773691137,8.932029054209705e-6,-3.2566550844126667e-9,0.0028187715560268277,8.731181934898563e-6,-2.972477812164968e-9,0.0028190771735186674,8.562773878565448e-6,-2.7335615331514525e-9,0.002819452811212173,8.462515809163019e-6,-2.5904087552382515e-9,0.0028198689659859892,8.458399189389392e-6,-2.5827732791303527e-9,0.0028202823760493027,8.562461789260582e-6,-2.7279409911836136e-9,0.0028206420530898016,8.76203294867925e-6,-3.0082465413739715e-9,0.0028209016970371353,9.01428419331315e-6,-3.3633026041725225e-9,0.0028210372630595158,9.250300643214355e-6,-3.695772409602383e-9,0.0028210625026776777,9.393515552182452e-6,-3.897503770163006e-9,0.0028210309762700552,9.388841811821506e-6,-3.890735771174717e-9,0.0028210180397079793,9.227581680220804e-6,-3.6632088806019304e-9,0.002821090430482207,8.951597895319539e-6,-3.273910330543877e-9,0.002821281364602508,8.633748034245999e-6,-2.8253997402826636e-9,0.0028215841712364,8.34816387734706e-6,-2.4219756103304343e-9,0.0028219629940235817,8.147536600047868e-6,-2.1378075495426764e-9,0.0028223698510740254,8.054819543764938e-6,-2.0053439921519466e-9,0.002822758897752516,8.06627654451556e-6,-2.0195926662397562e-9,0.0028230947143213737,8.159510301354147e-6,-2.149322407764077e-9,0.0028233554406812823,8.301852148391436e-6,-2.348744115947894e-9,0.00282353282593384,8.45708600749022e-6,-2.5668892800147934e-9,0.002823630975521782,8.590367413029983e-6,-2.754534233626674e-9,0.002823664602469181,8.671985233133684e-6,-2.869577271902303e-9,0.0028236568220320374,8.680413957217215e-6,-2.881448031847007e-9,0.002823636368151626,8.604700974308771e-6,-2.77454826352887e-9,0.00282363417253053,8.446003171394267e-6,-2.55042869198829e-9,0.0028236793809163405,8.217892940976991e-6,-2.2281801649158934e-9,0.0028237951897224314,7.945063459574405e-6,-1.8425677017566835e-9,0.0028239951055245996,7.660380146708828e-6,-1.4398777251617586e-9,0.0028242801645024245,7.40050743300998e-6,-1.0718072754261351e-9,0.0028246375107151937,7.200455492493439e-6,-7.878393942073073e-10,0.002825040666646605,7.087470503711195e-6,-6.266431600801484e-10,0.002825451877475943,7.074723084324243e-6,-6.071044899922806e-10,0.00282582713879414,7.155466286875476e-6,-7.199525343266866e-10,0.0028261246005233435,7.299190176080726e-6,-9.222045847808211e-10,0.00282631625064073,7.452589468357933e-6,-1.138486076576167e-9,0.002826400528199012,7.5487591099507736e-6,-1.2740885116638722e-9,0.002826410104662908,7.52604944408374e-6,-1.2417419852670848e-9,0.0028264072933222306,7.3519489307029926e-6,-9.95445629992879e-10,0.002826464019776748,7.0400481913062265e-6,-5.543990372405558e-10,0.0028266339859106117,6.6478080126638315e-6,2.5428477574195166e-13,0.002826932486316038,6.254009951919073e-6,5.573195548555597e-10,0.002827334926475173,5.928910433440534e-6,1.017639188279871e-9,0.0028277917797869642,5.7135131054699254E-06,1.3232757200131534e-9,0.002828248468891538,5.614983691413445e-6,1.4639603114758254e-9,0.0028286601533812237,5.614073569452187e-6,1.4666632447107474e-9,0.0028289983913868215,5.676607424183315e-6,1.379463686399024e-9,0.002829251626940915,5.763552361016194e-6,1.257411163440545e-9,0.0028294226533315623,5.8378051497912814e-6,1.1529709034080448e-9,0.002829525391442807,5.868127420486881e-6,1.1104318965864509e-9,0.002829581983388046,5.831461400637911e-6,1.162556397104102e-9,0.0028296201636700017,5.714584370675174e-6,1.3281613329217984e-9,0.0028296704970861516,5.515438234757098e-6,1.610201352537694e-9,0.0028297631021037386,5.243980536622576e-6,1.9945855887171813e-9,0.0028299236827314406,4.922012339098648e-6,2.4504737826893106e-9,0.0028301691569658544,4.581263003820374e-6,2.933023335426697e-9,0.0028305037217332307,4.259296600010102e-6,3.3891673170969797e-9,0.002830916459461489,3.993408191619676e-6,3.766190530193445e-9,0.0028313814792820546,3.8133369601973606e-6,4.021977064794002e-9,0.0028318611572783646,3.7341893056990802e-6,4.135010647324168e-9,0.0028323123871055148,3.7511839643312496e-6,4.1118687449955575e-9,0.002832695135207755,3.837639289960757e-6,3.990171251095755e-9,0.0028329821184355144,3.947374265896908e-6,3.835263147375323e-9,0.0028331678013638183,4.02244680576321e-6,3.7292680413861366e-9,0.002833273994081028,4.0063226672806816e-6,3.752376733977591e-9,0.0028333486086335536,3.8605677828823e-6,3.959124752584863e-9,0.0028334548656437477,3.5800588386143807e-6,4.356815088093346e-9,0.0028336519146150165,3.199196575199989e-6,4.896744085319297e-9,0.002833973775156948,2.7832242943678695e-6,5.486528461109836e-9,0.002834417043797699,2.4062456980927005e-6,6.021220646396547e-9,0.002834944056387233,2.1262318186002894e-6,6.418661302859258e-9,0.0028354988875670265,1.969203084860813e-6,6.641874660667108e-9,0.0028360266300474844,1.927913656213458e-6,6.70098348403756e-9,0.0028364871221820765,1.971420933258333e-6,6.639725869469694e-9,0.0028368601012207684,2.0580493155069e-6,6.517137481949485e-9,0.002837143798391918,2.146084523307919e-6,6.392404569592256e-9,0.0028373505649315713,2.200262702481213e-6,6.315634711039505e-9,0.0028375022225614853,2.194747581939334e-6,6.323580516384682e-9,0.002837626278744532,2.1141632193792574e-6,6.438118184879123e-9,0.002837752983195648,1.9539503821470446e-6,6.665710573780227e-9,0.002837912672316925,1.720635357079953e-6,6.997035491702147e-9,0.0028381327625960472,1.4319563558805509e-6,7.406851308263388e-9,0.0028384339774149996,1.1162175023410766e-6,7.85496469067567e-9,0.0028388259645027686,8.098741102245192e-7,8.289678744088075e-9,0.0028393032769971362,5.525056854996284e-7,8.654901931555912e-9,0.002839843390194472,3.791424868007549e-7,8.900980702450035e-9,0.0028404085467517684,3.1124743347196077e-7,8.997452128487504e-9,0.002840952357445899,3.4901622113740223e-7,8.943973785765355e-9,0.002841430295633725,4.68119085106208e-7,8.775000509935415e-9,0.0028418113735728568,6.229385663401742e-7,8.555251582211405e-9,0.0028420874546643236,7.562180083845292e-7,8.366042862071104e-9,0.002842277186103206,8.12928826496597e-7,8.28557717186452e-9,0.0028424229792514757,7.548341939316745e-7,8.368220742089385e-9,0.0028425812098529235,5.718152359385369e-7,8.628388634888865e-9,0.002842807562695609,2.864119988032696e-7,9.034090564959052e-9,0.0028431411958904427,-5.075784686922267e-8,9.513435790152513e-9,0.002843592795816794,-3.745954342178899e-7,9.973922781259542e-9,0.00284414136383234,-6.243541079214667e-7,1.0329162879331443e-8,0.0028447415293055118,-7.608178796241404e-7,1.0523290713005752e-8,0.0028453383289325533,-7.7516339165713e-7,1.0543619193061516e-8,0.0028458829874018483,-6.870431643594794e-7,1.0418002465363624e-8,0.002846343745861855,-5.347045473568402e-7,1.0200845400060194e-8,0.002846709393672464,-3.626758819940621e-7,9.955588339874181e-9,0.0028469868913886353,-2.1168976993434465e-7,9.740321417669294e-9,0.0028471961486281772,-1.1277953739782726e-7,9.5993194186896e-9,0.002847364587199702,-8.507667609072321e-8,9.559858106078426e-9,0.0028475227795878447,-1.357926730672906e-7,9.63217247842041e-9,0.0028477012760148397,-2.6098770439544055e-7,9.810568108142715e-9,0.0028479280799226956,-4.4634904759132186e-7,1.0074568307647262e-8,0.002848226026012085,-6.678989044547163e-7,1.038996413878128e-8,0.002848609485491815,-8.932110104100397e-7,1.0710570698878495e-8,0.0028490803883028048,-1.08421348997412e-6,1.0982211998329638e-8,0.0028496244808374053,-1.2027066912850638e-6,1.1150545368581883e-8,0.0028502098087099434,-1.2189535497820264e-6,1.117325646547346e-8,0.0028507899812964224,-1.1218694346857707e-6,1.1034558640475975e-8,0.0028513137786630493,-9.269848437980516e-7,1.0756559639854864e-8,0.0028517396184371633,-6.772541783626091e-7,1.040045521595228e-8,0.002852049745857075,-4.3383629160081065e-7,1.0053410747715433e-8,0.002852257667938162,-2.588555502582333e-7,9.80397507841194e-9,0.0028524050176591494,-1.966808876808624e-7,9.715373390453078e-9,0.002852549088431962,-2.610733914805113e-7,9.807193562515353e-9,0.002852746181827145,-4.3236107396414083e-7,1.0051389365553414e-8,0.002853036583500799,-6.643300296990387e-7,1.0382115635541902e-8,0.0028534351813685878,-8.975086395893872e-7,1.0714629219647167e-8,0.002853929365115319,-1.0745790729053187e-6,1.096719853065988e-8,0.0028544839144717562,-1.1539281212368752e-6,1.1080391616891132e-8,0.002855051068247713,-1.1181731669905117e-6,1.1029268499031812e-8,0.002855582768565016,-9.75875355579879e-7,1.0825912624788529e-8,0.0028560415652221956,-7.566392276976092e-7,1.051252610395587e-8,0.0028564073406055135,-5.018534207721013e-7,1.0148247915315251e-8,0.002856678785926064,-2.5444286344771827e-7,9.794490668368394e-9,0.002856870524742683,-5.058886026101649e-8,9.503046426891806e-9,0.002857007914873242,8.512852095070961e-8,9.30908662963937e-9,0.0028571215454132087,1.412895044493818e-7,9.22891211852966e-9,0.002857242681589101,1.1896856287060092e-7,9.260923881079643e-9,0.0028573999738171854,3.009713316077348e-8,9.38800232202608e-9,0.0028576170512156747,-1.0428600410014353e-7,9.580041432918065e-9,0.002857910332403342,-2.5568229132032263e-7,9.796312889070212e-9,0.002858286478980994,-3.900984786692505e-7,9.988259642955946e-9,0.002858739364701392,-4.712582429285285e-7,1.0104059717794627e-8,0.00285924729195101,-4.661759280679692e-7,1.0096572400747676e-8,0.002859772355326098,-3.5361998523694726e-7,9.935435750221926e-9,0.0028602647405304277,-1.3415193562808552e-7,9.621442048735044e-9,0.0028606740590430527,1.6248167838119398e-7,9.197139078236257e-9,0.0028609662384943444,4.78853899398024e-7,8.74468806781909e-9,0.002861139063409164,7.44255750862787e-7,8.365236229068475e-9,0.0028612269346888057,8.984655386532225e-7,8.144871394043985e-9,0.002861290126468282,9.137233591571715e-7,8.123196247026203e-9,0.0028613933351704225,8.035260371148903e-7,8.280824203979028e-9,0.002861584483698411,6.150660520729815e-7,8.55027050948895e-9,0.0028618827041504077,4.113854839993796e-7,8.841474477305177e-9,0.0028622775767180642,2.524378755512151e-7,9.068802254899132e-9,0.0028627363987564036,1.8135003911035153e-7,9.17060221962431e-9,0.0028632149243848224,2.1781405590917407e-7,9.118624569170666e-9,0.002863668101326738,3.577669060595684e-7,8.918529212376947e-9,0.0028640588395250108,5.775725882547501e-7,8.603998240368662e-9,0.002864363874395403,8.409557603452859e-7,8.226895323903023e-9,0.002864576317683268,1.1070964706719793e-6,7.845700967819764e-9,0.0028647049562361203,1.3383042800297684e-6,7.514484405755572e-9,0.0028647709664122996,1.505912805444349e-6,7.274393180785887e-9,0.0028648031644739605,1.5936658590036488e-6,7.148753085068565e-9,0.0028648329825001757,1.5985844872876452e-6,7.141820831205116e-9,0.0028648901078107145,1.5298597346848266e-6,7.240401923975936e-9,0.0028649992237887115,1.40662889791498e-6,7.417073022953166e-9,0.002865177723667968,1.255395999935133e-6,7.63388684017037e-9,0.002865433962330402,1.1074017364182093e-6,7.84611558047985e-9,0.0028657656359532793,9.9575507730559e-7,8.006322067477023e-9,0.002866158158739561,9.517297115380463e-7,8.069644697438206e-9,0.0028665835690910722,9.99411061201828e-7,8.001485323787432e-9,0.0028670015032235038,1.1483302317519537e-6,7.788115041184415e-9,0.002867364559705957,1.3852827350377053e-6,7.448455109494122e-9,0.0028676299233594852,1.6691386030128764e-6,7.041536345565719e-9,0.0028677759678411305,1.9347439744128324e-6,6.660862146080923e-9,0.0028678167309223023,2.1103546939003207e-6,6.409323306547407e-9,0.0028678034788689843,2.144698261273195e-6,6.3603400593137696e-9,0.0028678078376921227,2.029720577821034e-6,6.525302617003996e-9,0.0028678938191672595,1.8044434865642015e-6,6.8481776203151215e-9,0.002868094666236441,1.5376263800915127e-6,7.230454856236507e-9,0.002868405913933894,1.3009574329347206e-6,7.569539411050057e-9,0.0028687938676968555,1.1474463535309566e-6,7.789602788927635e-9,0.002869210861589051,1.1019524188615657e-6,7.855057338570128e-9,0.002869609334325944,1.1622461307956396e-6,7.769013139741857e-9,0.002869951231852881,1.3057241037395412e-6,7.563711223382599e-9,0.002870212677215331,1.4976923875705954e-6,7.288744102079043e-9,0.002870385194690064,1.699062535904297e-6,7.000097817318875e-9,0.002870474725317542,1.8727935944983242e-6,6.75093165594071e-9,0.002870499135165648,1.988954290042755e-6,6.584275013804583e-9,0.00287048464138741,2.0282382639665136e-6,6.527917653518532e-9,0.0028704616140799583,1.9837809533528225e-6,6.5917562221991524E-09,0.0028704602549171655,1.8612665906276216e-6,6.767640226165102e-9,0.002870506668811975,1.6774673462495774e-6,7.031500508441279e-9,0.0028706197689758587,1.457604560662817e-6,7.34716419913411e-9,0.0028708091655566463,1.2320673332684813e-6,7.671058717135242e-9,0.0028710739127016565,1.0328358362055718e-6,7.957305852913069e-9,0.0028714019528153388,8.896734068155328e-7,8.163146833604354e-9,0.0028717702214416355,8.259448522978371e-7,8.254940922690583e-9,0.0028721457505871515,8.537612288983449e-7,8.215181934479207e-9,0.0028724887943640687,9.684630238408015e-7,8.050494120702066e-9,0.0028727594429303256,1.1436800035455436e-6,7.798780069504199e-9,0.0028729285817180555,1.3300651297795598e-6,7.531028042365649e-9,0.0028729915695690435,1.462263368762386e-6,7.341218977444032e-9,0.002872978448805743,1.4772429274966988e-6,7.3198920236120235e-9,0.002872951252863827,1.339998687991839e-6,7.517195289934864e-9,0.0028729836176172785,1.0630678713911078e-6,7.914951705548082e-9,0.0028731308183241877,7.051695488262558e-7,8.42876029911416e-9,0.0028734078884947605,3.473260311513201e-7,8.942348496380804e-9,0.0028737882087745852,6.114666054513867e-8,9.353047158655345e-9,0.002874219668384876,-1.1272126322969022e-7,9.602619303010073e-9,0.0028746456433421104,-1.6888577001482716e-7,9.683354937474298e-9,0.002875020314855133,-1.291094150016922e-7,9.626438926383505e-9,0.00287531548780091,-3.018828501717634e-8,9.484597230108128e-9,0.0028755210579180877,8.668647485398011e-8,9.31689120875924e-9,0.0028756422882183752,1.8328829012502568e-7,9.178200849892443e-9,0.002875696134402279,2.288312141503027e-7,9.112800066087184e-9,0.002875707547399061,2.025805089596482e-7,9.150562494597015e-9,0.002875705846174958,9.52630333672185e-8,9.304873938120105e-9,0.0028757210926035038,-9.052120703341189e-8,9.57200496741452e-9,0.0028757804866157105,-3.4091383411167794e-7,9.932003851136088e-9,0.002875904942563708,-6.325855214179894e-7,1.035130470799866e-8,0.0028761062305016523,-9.357358663929467e-7,1.0787070613173603e-8,0.002876385114451254,-1.2180331505464313e-6,1.1192851470911072e-8,0.002876730724811969,-1.4490859095561661e-6,1.1524975361779462e-8,0.002877121258656621,-1.6050876840491572e-6,1.174919121731711e-8,0.002877526072604426,-1.6732673197605107e-6,1.1847070930135468e-8,0.0028779092664162932,-1.6557908710847165e-6,1.1821668584018685e-8,0.0028782350578963945,-1.5726563757144414e-6,1.1701746720225946e-8,0.002878475324870978,-1.4624372605699738e-6,1.1542873713258664e-8,0.0028786189483200725,-1.3787231489666856e-6,1.1422265207849368e-8,0.002878680701003052,-1.3798468481290254e-6,1.1423915368175761e-8,0.002878704787159146,-1.5113471987390404e-6,1.1613291349036044e-8,0.002878756903957089,-1.785757177929549e-6,1.2008265758302951e-8,0.002878902862502164,-2.1705939820080316e-6,1.2561939708202041e-8,0.0028791817969540797,-2.5954920375929927e-6,1.3173007501556022e-8,0.002879589402551466,-2.9784185508799e-6,1.3723483959784089e-8,0.0028800817252932734,-3.2567032182663314e-6,1.4123284543802338e-8,0.0028805956227206074,-3.4055518723271702e-6,1.4336808076009957e-8,0.00288107208392016,-3.4376003397330977e-6,1.4382284035630344e-8,0.0028814710783001875,-3.3898579305011365e-6,1.43129954824349e-8,0.0028817755563885373,-3.3082580675083343e-6,1.4195060433588716e-8,0.002881988308033612,-3.2361154678533363e-6,1.4090836012607044e-8,0.0028821262129773463,-3.207791533507497e-6,1.4049812193983022e-8,0.0028822147082530657,-3.246215519180097e-6,1.4105033781258338e-8,0.0028822834027905776,-3.36241780936278e-6,1.4272395487930903e-8,0.002882362616150177,-3.5558741422002764e-6,1.4551103140709693e-8,0.0028824803465096684,-3.815258525621979e-6,1.4924750790070064e-8,0.002882659335415783,-4.119686711663455e-6,1.5363142882474208e-8,0.0028829141547347752,-4.440809412356523e-6,1.5825359058537653e-8,0.0028832486380844327,-4.746136382797398e-6,1.626457640078978e-8,0.0028836543274357697,-5.003595714935634e-6,1.6634632356475022e-8,0.0028841105948802857,-5.186858658952929e-6,1.6897660746955784e-8,0.0028845868380229104,-5.280659678729527e-6,1.703172244416492e-8,0.0028850468268388713,-5.285119178421869e-6,1.703703042675255e-8,0.0028854548808014517,-5.2180136555174015e-6,1.693924927655556e-8,0.00288578318588404,-5.1141539701945615e-6,1.678862920440044e-8,0.0028860192930803964,-5.021207939658294e-6,1.6653980349342108e-8,0.0028861723562649236,-4.991365507388845e-6,1.6610608238690897e-8,0.0028862757956466495,-5.06888921218822e-6,1.6722303008240677e-8,0.0028863833910300974,-5.2754810860775145e-6,1.7020219754766915e-8,0.002886556622110814,-5.598336802918629e-6,1.7485702072118628e-8,0.0028868448006271175,-5.988001271290007e-6,1.804727106737048e-8,0.0028872654738177545,-6.371171534302883e-6,1.8599132347397268e-8,0.002887795844354059,-6.675623117016277e-6,1.903710691825924e-8,0.0028883812762736244,-6.855447025490349e-6,1.9295003604406827e-8,0.0028889563468819752,-6.903610854021034e-6,1.9362747686658358e-8,0.0028894665800328696,-6.847559620219423e-6,1.9280059028761153e-8,0.0028898810668172878,-6.734011844686922e-6,1.911450684067196e-8,0.0028901940052642504,-6.612662324206851e-6,1.893795127279494e-8,0.0028904191547270935,-6.524988204859821e-6,1.881034874825922e-8,0.002890582222841485,-6.4992181867616665e-6,1.8772471855239283e-8,0.0028907142743236822,-6.549601240706169e-6,1.8844849350322546e-8,0.0028908470537224477,-6.677663335062472e-6,1.9029580088897277e-8,0.0028910098168515577,-6.87394958687946e-6,1.9312855656179486e-8,0.0028912269035187145,-7.1197167658875545e-6,1.966742957177217e-8,0.0028915154465618195,-7.388703555439692e-6,2.0055217248474415e-8,0.002891882983346302,-7.649501334948221e-6,2.0430764834169687e-8,0.002892325261621495,-7.869140909601243e-6,2.0746451553512368e-8,0.002892825069667161,-8.018140622490618e-6,2.095977025193972e-8,0.0028933531569161294,-8.0765493987099e-6,2.1042023401707183e-8,0.0028938720607829473,-8.039749741569616e-6,2.0986676926427616e-8,0.002894342905333149,-7.92219781746215e-6,2.081475472290096e-8,0.0028947341280570267,-7.757261613370963e-6,2.0574609101836252e-8,0.0028950300744023127,-7.592178937176516e-6,2.033462657209387e-8,0.0028952370056188714,-7.47855706718128e-6,2.0169463592427875e-8,0.0028953844081573035,-7.460137255342665e-6,2.0142316838205095e-8,0.00289552034348127,-7.560525475110968e-6,2.0287169809216575e-8,0.0028957008077851775,-7.774273461944861e-6,2.0595931401456922e-8,0.0028959747760086865,-8.06484752748952e-6,2.1015565228355683e-8,0.0028963687909720668,-8.37202856618837e-6,2.1458840848969644e-8,0.002896876822197008,-8.628384556733143e-6,2.1828161536226112e-8,0.002897460687328443,-8.779917072525279e-6,2.2045408873836965e-8,0.0028980621551318326,-8.802502597728348e-6,2.207573173944743e-8,0.002898621746734977,-8.706920074860234e-6,2.1934852495291796e-8,0.0028990957821008693,-8.531279911183452e-6,2.1678125082780306e-8,0.002899465167343782,-8.326114196731398e-6,2.137891611386844e-8,0.0028997348041497496,-8.13959047569529e-6,2.110712912790612e-8,0.002899926963249216,-8.007836040779991e-6,2.091513975889782e-8,0.002900073067994656,-7.951291908204955e-6,2.0832502054918495e-8,0.002900206831484279,-7.975306429587075e-6,2.0866828269500727e-8,0.002900359629928538,-8.072622529241776e-6,2.1007425546019428e-8,0.0029005576921144888,-8.226159990315293e-6,2.1229360644075667e-8,0.0029008202589749987,-8.411462892954981e-6,2.1497037476612273e-8,0.0029011579526491515,-8.59892006014462e-6,2.176744153154923e-8,0.0029015709907129882,-8.756361710375036e-6,2.1993920303424827e-8,0.002902047505571332,-8.85279154909494e-6,2.2131593765595492e-8,0.0029025628872768883,-8.863671727157463e-6,2.2145000075912374e-8,0.0029030815052825793,-8.777345014016352e-6,2.2017385091665053e-8,0.0029035620496829224,-8.600986341434939e-6,2.175931513310784e-8,0.002903966637114285,-8.363362576374002e-6,2.141266869690318e-8,0.0029042717781266334,-8.111634884846253e-6,2.1045980547935134e-8,0.002904477372654277,-7.901280532790563e-6,2.073978444425112e-8,0.002904609628244343,-7.781372369153714e-6,2.0565217145761693e-8,0.002904715791276944,-7.780057503835996e-6,2.056294239996993e-8,0.0029048518634546975,-7.895457374774159e-6,2.0729997122619613e-8,0.0029050672122561154,-8.095212921731798e-6,2.1019213111936452e-8,0.0029053908949938285,-8.324795261790677e-6,2.1351336711916632e-8,0.002905823673533291,-8.52201545814966e-6,2.1636089845854755e-8,0.0029063379482547036,-8.63355664871243e-6,2.1796127132877224e-8,0.00290688567731947,-8.628754999473182e-6,2.178700899956975e-8,0.002907411886688896,-8.506448804640417e-6,2.1607149038605026e-8,0.002907869313118284,-8.29292031099503e-6,2.1294847433827952e-8,0.002908229337953015,-8.032291094367549e-6,2.0914343210019756e-8,0.002908486197412823,-7.773494661513888e-6,2.0536855496935417e-8,0.0029086544808403334,-7.5585686559262325e-6,2.0223523711567358e-8,0.0029087623904295403,-7.415402414785589e-6,2.001484051067057e-8,0.002908843981353781,-7.35553482324306e-6,1.9927459583560743e-8,0.002908932726752054,-7.375649943051864e-6,1.9956406208574644e-8,0.0029090572536835126,-7.460809532075294e-6,2.0079817615799907e-8,0.002909238952715364,-7.5879228762615555e-6,2.0264014865399943e-8,0.0029094906884145105,-7.728775534689363e-6,2.0467914700593435e-8,0.0029098158523242937,-7.852662044244406e-6,2.064685157630933e-8,0.002910207338650096,-7.929175550194102e-6,2.0756624253538985e-8,0.0029106466203267355,-7.931911576665453e-6,2.0758877958416994e-8,0.002911103814377557,-7.843588459108618e-6,2.062855490190973e-8,0.0029115402023730556,-7.66224497593975e-6,2.0362916420013977e-8,0.002911914696322001,-7.406730952055019e-6,1.998953139422466e-8,0.0029121945161994208,-7.118129171687856e-6,1.9568325801371748e-8,0.0029123675377467186,-6.853478439441242e-6,1.918239985768633e-8,0.002912450734123804,-6.670885447814342e-6,1.8916298524169225e-8,0.002912488859188778,-6.610394269086291e-6,1.88281387438807e-8,0.0029125417695362995,-6.679120462312963e-6,1.8928018749465943e-8,0.0029126652147423104,-6.848070988212437e-6,1.9173497757355166e-8,0.0029128935517388484,-7.061935206702308e-6,1.9483944368025575e-8,0.002913231037578079,-7.256695642236208e-6,1.9766193972595816e-8,0.0029136533209005457,-7.377571585707302e-6,1.9940619511564884e-8,0.0029141165252539614,-7.391701575272796e-6,1.9959524190801965e-8,0.0029145697689046887,-7.293322714917477e-6,1.981463990082668e-8,0.0029149673788549375,-7.1018310443380406e-6,1.953430007430907e-8,0.002915278149714961,-6.8545563898393026e-6,1.9172935518929185e-8,0.002915490151865234,-6.596725101954491e-6,1.8796465187354656e-8,0.0029156107375936115,-6.371248850546456e-6,1.846741356078346e-8,0.002915662539790091,-6.210673245514143e-6,1.8233164243708407e-8,0.0029156771594396804,-6.1327104522359935e-6,1.8119444504375368e-8,0.002915688499493966,-6.139498762978267e-6,1.812926086634637e-8,0.0029157272510905927,-6.219687203803143e-6,1.824596696099231e-8,0.0029158172217261446,-6.3520114728173305e-6,1.843850247261238e-8,0.002915973412501954,-6.5091582694995025e-6,1.8667034188020637e-8,0.0029162012640837876,-6.6612268782975755e-6,1.888798608393158e-8,0.0029164964235661433,-6.778735787311186e-6,1.9058396783844645e-8,0.002916844658644618,-6.835584702079287e-6,1.91402221340199e-8,0.0029172220097263466,-6.812552966048134e-6,1.910544630322981e-8,0.002917595884444303,-6.7017614420562816e-6,1.8942618913472558e-8,0.002917928412307093,-6.511815863831633e-6,1.8664385893287575e-8,0.00291818347875855,-6.2719153866716e-6,1.8313480562819844e-8,0.002918337682433519,-6.031490122748525e-6,1.7962147335797165e-8,0.002918392453911434,-5.8514246809711895e-6,1.7699255420367632e-8,0.0029183808220965175,-5.785913109725185e-6,1.760375851831056e-8,0.002918361694896576,-5.860827931022856e-6,1.7713146738291097e-8,0.0029184005478205227,-6.060277614749884e-6,1.8003943123245615e-8,0.0029185450818061424,-6.330635628385983e-6,1.8397723097046376e-8,0.002918808813042895,-6.6005652769916755e-6,1.8790403319492904e-8,0.002919169951357401,-6.805733183674234e-6,1.908827114831872e-8,0.0029195829508730235,-6.906435273516535e-6,1.92336174657321e-8,0.002919994648581057,-6.893430674434389e-6,1.9213166424777753e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_2.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_2.json
deleted file mode 100644
index 480e1a0..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_2.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":2000,"numberOfSamples":1000,"samples":[-0.0019226433452019043,-4.2400202047522655e-5,-4.847209139509104e-8,-0.0019224915279308452,-4.232138293995991e-5,-4.839917575682174e-8,-0.0019223575599970867,-4.2339533342532786e-5,-4.841941987929699e-8,-0.0019221925201880694,-4.2455757141232014e-5,-4.853500256368106e-8,-0.0019219535221161883,-4.264378690983704e-5,-4.87214377132331e-8,-0.0019216173050324704,-4.285653639574512e-5,-4.893368444013015e-8,-0.0019211878632388768,-4.304035090341533e-5,-4.911986351109583e-8,-0.0019206944269591652,-4.3151566455827686e-5,-4.923733483565604e-8,-0.001920180782153211,-4.316840557061996e-5,-4.9264336921476375e-8,-0.0019196912154135558,-4.3093903838697776e-5,-4.920299044056076e-8,-0.001919259170950511,-4.2950548434361e-5,-4.9074301884897993e-8,-0.0019189019210674083,-4.277089886837732e-5,-4.8909249976046343e-8,-0.0019186208521778832,-4.258868047478004e-5,-4.8740241599705884e-8,-0.001918404926768647,-4.243272605567538e-5,-4.859521792579728e-8,-0.0019182349450095773,-4.2323928794774185e-5,-4.849461482060666e-8,-0.0019180872700253946,-4.2274266862589164E-05,-4.8450338629402915e-8,-0.001917936666180632,-4.228680533004299e-5,-4.846574052979398e-8,-0.00191775854316843,-4.2355896173164964e-5,-4.8535824807684226e-8,-0.0019175311877270766,-4.246735024004276e-5,-4.864742159638906e-8,-0.0019172384671460499,-4.25989290061144e-5,-4.877961167038227e-8,-0.0019168730864799963,-4.2721876682799584e-5,-4.890508625070886e-8,-0.0019164398837302117,-4.280432151427329e-5,-4.8993279677066866e-8,-0.0019159579014177714,-4.281706315274191e-5,-4.901583883335078e-8,-0.0019154594243000278,-4.27412144250086e-5,-4.8953968414289994e-8,-0.001914984557283099,-4.2575562469439085e-5,-4.880561552483321e-8,-0.0019145716125768752,-4.234039279521026e-5,-4.858934382627422e-8,-0.0019142459086730812,-4.207501807745824e-5,-4.834220694952108e-8,-0.0019140111182697102,-4.1828569489815494e-5,-4.811113500434928e-8,-0.0019138468399848853,-4.1646650455964184e-5,-4.794024685992306e-8,-0.0019137136475314569,-4.155842585264431e-5,-4.785840090516636e-8,-0.0019135639168575628,-4.156847538008292e-5,-4.787112479174571e-8,-0.001913354878178476,-4.165575436672902e-5,-4.795925785880041e-8,-0.001913060039736298,-4.1779660100407035e-5,-4.808445425303678e-8,-0.0019126758326174886,-4.189128905126362e-5,-4.8199834042895305e-8,-0.0019122216639617473,-4.194655693717889e-5,-4.8262624541360104e-8,-0.0019117335388331718,-4.191721880810053e-5,-4.8244930247959284e-8,-0.0019112535774869718,-4.17965282482666e-5,-4.8139407883790543e-8,-0.0019108191058004997,-4.159831661316574e-5,-4.795859671838348e-8,-0.001910454761111615,-4.13507805095086e-5,-4.7729094163578805e-8,-0.0019101693588310655,-4.108797784158734e-5,-4.74834365018481e-8,-0.0019099571113809235,-4.084210928294797e-5,-4.725264424568893e-8,-0.0019098014051956349,-4.06383521782112e-5,-4.706116300989979e-8,-0.001909679232807439,-4.049244367589526e-5,-4.6924445600308274e-8,-0.0019095650792493577,-4.041027304587661e-5,-4.684851156054176e-8,-0.0019094338706790138,-4.038850509596943e-5,-4.6830551880131895e-8,-0.0019092631960406178,-4.041545998091156e-5,-4.685979719885473e-8,-0.0019090353342274217,-4.0471961726856714e-5,-4.691831881589462e-8,-0.0019087395911655302,-4.053242839868951e-5,-4.698199191766588e-8,-0.0019083750969175394,-4.0566889485238066e-5,-4.7022295836454817e-8,-0.0019079535950202848,-4.05448090409642e-5,-4.7009857068801336e-8,-0.0019075008929219535,-4.0441352326518995e-5,-4.692041592595363e-8,-0.0019070548602137859,-4.024557340002766e-5,-4.674274417153859e-8,-0.0019066581194424014,-3.996789525520936e-5,-4.648596905336088e-8,-0.0019063458229643833,-3.964246667720178e-5,-4.618202616974119e-8,-0.001906132593687367,-3.932066250072738e-5,-4.5879631296205274e-8,-0.001906005112413036,-3.9056140911694693e-5,-4.563013841888741e-8,-0.0019059250849624966,-3.888725831245831e-5,-4.547077730150599e-8,-0.0019058418160187416,-3.882488208844757e-5,-4.541289156609024e-8,-0.0019057084893034362,-3.885058262649113e-5,-4.5439933455113804e-8,-0.0019054953071705263,-3.892448678948119e-5,-4.551462448108332e-8,-0.0019051956015066044,-3.899818092129441e-5,-4.559102248754266e-8,-0.001904824751066378,-3.902764552633575e-5,-4.562680789434229e-8,-0.0019044139453100216,-3.898286178877979e-5,-4.5592592314242095e-8,-0.0019040014133682513,-3.8852641286461894e-5,-4.547679044559279e-8,-0.0019036234930003598,-3.864464423892581e-5,-4.5285911009026024e-8,-0.0019033074182967,-3.838144973804248e-5,-4.504099501526467e-8,-0.0019030670807785748,-3.809414814477403e-5,-4.477156044224583e-8,-0.0019029021776647626,-3.7815292683842436e-5,-4.4508817510060506e-8,-0.001902800227035411,-3.757290803529455e-5,-4.427982585191298e-8,-0.0019027403062597105,-3.738655521525043e-5,-4.410361508352597e-8,-0.0019026972766109718,-3.726562021454014e-5,-4.3989482282936625e-8,-0.0019026455605967178,-3.720939282853564e-5,-4.393706825168861e-8,-0.001902562049494492,-3.720819681311018e-5,-4.393747898583925e-8,-0.0019024282429587474,-3.7244887169539354e-5,-4.397474157144386e-8,-0.0019022320167928473,-3.7296417780327447e-5,-4.402726172840666e-8,-0.0019019694121183246,-3.733563521997301e-5,-4.406942025345132e-8,-0.0019016466101295054,-3.7333817380047615e-5,-4.4073850286943826e-8,-0.001901281721675244,-3.72647279533573e-5,-4.401521158739995e-8,-0.0019009051492186858,-3.7110772537172744e-5,-4.387608872624823e-8,-0.0019005564761927897,-3.687070357499274e-5,-4.365449081610721e-8,-0.0019002760006965934,-3.656614621766662e-5,-4.3370288285066725e-8,-0.0019000913323042824,-3.624205466668279e-5,-4.306583828633659e-8,-0.0019000039601944792,-3.5956706816941076e-5,-4.279656932567122e-8,-0.0018999840816792122,-3.576226105855051e-5,-4.261250079410351e-8,-0.0018999792883793371,-3.568461104514584e-5,-4.253901137884262e-8,-0.001899933981398471,-3.5713853399087564e-5,-4.2567602344540055e-8,-0.0018998090711157681,-3.581022732657273e-5,-4.266128735242672e-8,-0.0018995924498515157,-3.5920529128532807E-05,-4.27699363285063e-8,-0.0018992979805863262,-3.599552540735251e-5,-4.284667515898346e-8,-0.001898956996465333,-3.60016505232314e-5,-4.2859033641491364e-8,-0.0018986077115788766,-3.5925404995038095e-5,-4.2793327231141533e-8,-0.0018982861274868695,-3.5772115322624845e-5,-4.2653762704726326e-8,-0.0018980197803509253,-3.556151123416992e-5,-4.245848237196928e-8,-0.0018978243192027849,-3.532201505409536e-5,-4.2234258129154944e-8,-0.0018977025183165013,-3.5084842908056075e-5,-4.201085903922587e-8,-0.001897645338891351,-3.487865622253372e-5,-4.181584089370757e-8,-0.001897634548299051,-3.472539749417785e-5,-4.1670438822720854e-8,-0.0018976462592206278,-3.4637684651986404E-05,-4.158699002545304e-8,-0.0018976547528813345,-3.461783260192269e-5,-4.156798431104482e-8,-0.0018976360025567379,-3.465835456450116e-5,-4.160658512785339e-8,-0.0018975704668702292,-3.474353699435762e-5,-4.168818028849286e-8,-0.0018974450856599756,-3.485154582856132e-5,-4.179238643199875e-8,-0.0018972547032642363,-3.4956750270050015e-5,-4.189517808310863e-8,-0.0018970031462578617,-3.5032293373468896e-5,-4.1971187462921197e-8,-0.001896704041121835,-3.5053177068163955e-5,-4.199649895495414e-8,-0.0018963811064912409,-3.500033872352196e-5,-4.195247884233675e-8,-0.0018960669388229457,-3.486606242620335e-5,-4.183101890714069e-8,-0.0018957986732221059,-3.466005594878666e-5,-4.1640536726904226e-8,-0.0018956091571617987,-3.441367338006517e-5,-4.141024300465335e-8,-0.0018955143084655717,-3.417789714991304e-5,-4.11883959487616e-8,-0.0018955015199407235,-3.401103934461799e-5,-4.103064766105313e-8,-0.0018955276091062383,-3.395751831846302e-5,-4.097979506922786e-8,-0.0018955320612609062,-3.4027724788744977e-5,-4.104650552871127e-8,-0.001895460925824634,-3.419213691026499e-5,-4.120354608540807e-8,-0.0018952876637236959,-3.439431347479264e-5,-4.139792350116541e-8,-0.0018950194973305701,-3.4574094187676726e-5,-4.157273141268476e-8,-0.00189468901820827,-3.468727701743215e-5,-4.168573954249668e-8,-0.0018943393648524587,-3.471417304124221e-5,-4.171758103848185e-8,-0.001894011175966523,-3.4658126432902484e-5,-4.1670568510380554e-8,-0.0018937347654549707,-3.4538913747532676e-5,-4.156270803527193e-8,-0.0018935271586108895,-3.438520384909261e-5,-4.1420753571334326e-8,-0.0018933922404869188,-3.4228171385826936e-5,-4.127420869753851e-8,-0.0018933224519850319,-3.409667569558539e-5,-4.115067186901395e-8,-0.001893301244193991,-3.40137190510597e-5,-4.10723266568858e-8,-0.0018933060255165923,-3.399399788202456e-5,-4.105348708812609e-8,-0.0018933114133081418,-3.404253904550354e-5,-4.109924608197351e-8,-0.0018932925837213562,-3.415443233452324e-5,-4.120524021833533e-8,-0.0018932284621856921,-3.431570348176952e-5,-4.135853030487643e-8,-0.001893104383091029,-3.4505267334039883e-5,-4.1539480078514925e-8,-0.00189291393259836,-3.469764551964496e-5,-4.172428673891212e-8,-0.0018926599383916741,-3.486610463956082e-5,-4.188783776156979e-8,-0.0018923546511316431,-3.498605241766292e-5,-4.2006785198344876e-8,-0.001892019101621626,-3.5038631408074926e-5,-4.206286015466167e-8,-0.0018916814855736094,-3.5014534367428806e-5,-4.204652314564249e-8,-0.001891374040852943,-3.491799599962725e-5,-4.196092987201902e-8,-0.0018911275262606326,-3.477018738663742e-5,-4.182542386637248e-8,-0.0018909628356181614,-3.460994197225293e-5,-4.167647877700423e-8,-0.0018908809794151223,-3.448870510773402e-5,-4.1563025636714426e-8,-0.001890855680381783,-3.4457266426274074e-5,-4.1533801407386716e-8,-0.0018908353879217353,-3.454621539121781e-5,-4.1618610494880996e-8,-0.0018907590601062614,-3.474930510512576e-5,-4.1812322746267864e-8,-0.0018905806559135173,-3.502183484605819e-5,-4.2073175486873276e-8,-0.0018902883688857062,-3.529801938551741e-5,-4.233914044230188e-8,-0.0018899068551920142,-3.551742428610809e-5,-4.255290749642152e-8,-0.001889483249018912,-3.564481602849056e-5,-4.268065997382881e-8,-0.0018890679245541686,-3.567523527632135e-5,-4.2716955210695495e-8,-0.00188870032072965,-3.562727788606181e-5,-4.267856906938492e-8,-0.0018884030745074487,-3.5532202829357725e-5,-4.2594437460528625e-8,-0.0018881823723488097,-3.54243921208098e-5,-4.2496795451858114e-8,-0.0018880312102406572,-3.533504994855418e-5,-4.2415230301185514e-8,-0.0018879332139387782,-3.5288747014991394e-5,-4.237330143238159e-8,-0.0018878660597741292,-3.5301680267534746e-5,-4.23867434249854e-8,-0.001887804493950075,-3.5380813257388804e-5,-4.246254511061698e-8,-0.0018877231921547025,-3.552361030820859e-5,-4.259866804167272e-8,-0.0018875996014664324,-3.5718391160070784e-5,-4.278440830777563e-8,-0.0018874167566322304,-3.594551788242534e-5,-4.300154835611885e-8,-0.0018871657927251448,-3.617965687985636e-5,-4.322647911791066e-8,-0.0018868476636197298,-3.639308212496223e-5,-4.3433238917490384e-8,-0.0018864736576865142,-3.655967876258171e-5,-4.359717299143751e-8,-0.0018860644895497603,-3.66591992046944e-5,-4.369885112248462e-8,-0.0018856478855353213,-3.668124668546799e-5,-4.37278181581545e-8,-0.0018852547440176993,-3.6628421846668554e-5,-4.3685686879638724e-8,-0.0018849140165977931,-3.651813115392309e-5,-4.358808695279573e-8,-0.0018846464338938206,-3.638236555382138e-5,-4.346473580791103e-8,-0.0018844576056432885,-3.6264235942699986e-5,-4.3356365793623564e-8,-0.0018843321784880178,-3.6209913884206997e-5,-4.3307130103906174e-8,-0.0018842322632395324,-3.625576306513159e-5,-4.335226126403655e-8,-0.0018841040436168481,-3.641349949400654e-5,-4.350374571050373e-8,-0.0018838940566287233,-3.6660400894427665e-5,-4.374080127460915e-8,-0.001883570085252579,-3.694276386559895e-5,-4.401301964778491e-8,-0.001883135475562002,-3.7194520085842316e-5,-4.425796870583932e-8,-0.001882627578444282,-3.73621475032825e-5,-4.442477583414205e-8,-0.0018821014403124572,-3.742201299485457e-5,-4.4490542846202025e-8,-0.001881609313986513,-3.7382507458315104e-5,-4.4462439215216833e-8,-0.0018811865907120172,-3.7274116019286886e-5,-4.436849914685254e-8,-0.001880847632416261,-3.713591350573811e-5,-4.424508395808057e-8,-0.00188058871037337,-3.7004918805228556e-5,-4.4126962304448526e-8,-0.0018803936614843618,-3.691021781204701e-5,-4.4041748300567786e-8,-0.0018802392951189633,-3.6870851790922326e-5,-4.400778710220607e-8,-0.0018800994849178696,-3.68957089255605e-5,-4.40339130327419e-8,-0.0018799481169941405,-3.698411204251374e-5,-4.411991825255021e-8,-0.0018797614670353787,-3.7126553405316096e-5,-4.425722892864331e-8,-0.0018795204776576248,-3.730559347706619e-5,-4.442976975442706e-8,-0.0018792131464299988,-3.749729428555327e-5,-4.46153152223929e-8,-0.0018788368365865878,-3.7673694011914794e-5,-4.4787772369335294e-8,-0.0018783998781203336,-3.780658890837698e-5,-4.492065092723705e-8,-0.0018779216417479986,-3.787236867220032e-5,-4.4991520603290696e-8,-0.0018774304478634798,-3.785712894848209e-5,-4.4986782858554793e-8,-0.001876959132956837,-3.776087580238688e-5,-4.490568783170876e-8,-0.001876538772816988,-3.759950843431476e-5,-4.476237298058196e-8,-0.0018761917084975216,-3.740363503756282e-5,-4.458499652618009e-8,-0.0018759253154816227,-3.721393836510612e-5,-4.441161416080866e-8,-0.0018757279816746558,-3.7073377257336396e-5,-4.4282962063134714e-8,-0.0018755687920489152,-3.701708377818567e-5,-4.4232881827984826e-8,-0.0018754023218197238,-3.706175871807319e-5,-4.427809041286009e-8,-0.0018751791516401983,-3.71976903316632e-5,-4.4410338519050925e-8,-0.0018748606150037481,-3.738752598197328e-5,-4.4594994984169714e-8,-0.0018744330348925565,-3.7574982787928245E-05,-4.47791613026569e-8,-0.0018739145177022712,-3.770239276914684e-5,-4.490826020461936e-8,-0.0018733495373167643,-3.773009490362128e-5,-4.4944415378813574e-8,-0.0018727931908080317,-3.764831441568e-5,-4.487773977743384e-8,-0.0018722931442570632,-3.7476441825173546e-5,-4.472576455407728e-8,-0.0018718776143170825,-3.72522449686114e-5,-4.452343076403651e-8,-0.0018715526178116695,-3.701813258333055e-5,-4.431030817274317e-8,-0.0018713062231411261,-3.681055615655657e-5,-4.4120686585272034e-8,-0.001871115468151383,-3.665468354723957e-5,-4.397851191896047e-8,-0.001870952694577932,-3.6563328602725056e-5,-4.389625440586987e-8,-0.0018707900517583916,-3.653811265418476e-5,-4.3875885637797216e-8,-0.0018706023334060244,-3.6571255822349916e-5,-4.391050608580251e-8,-0.0018703688700737859,-3.664722159578986e-5,-4.398588937722728e-8,-0.0018700751930006965,-3.6744157938658e-5,-4.408184554328447e-8,-0.0018697148769254426,-3.683557666976917e-5,-4.4173775089313205e-8,-0.0018692914772034106,-3.6892936200826666e-5,-4.423502611041501e-8,-0.0018688199023591616,-3.688965083963331e-5,-4.424057092448585e-8,-0.0018683261082645549,-3.680648604854699e-5,-4.4172010900809014e-8,-0.0018678439684996118,-3.663736658049673e-5,-4.4023038613393244e-8,-0.0018674088734324848,-3.639364723333976e-5,-4.3803546879327065e-8,-0.0018670490319146785,-3.610454803253589e-5,-4.354021989210011e-8,-0.001866776960604691,-3.581233195531623e-5,-4.327223113044107e-8,-0.0018665842545617494,-3.556274227869284e-5,-4.304246095848443e-8,-0.0018664419014308188,-3.539322985208859e-5,-4.2886518844144926e-8,-0.001866306540510951,-3.532250177755452e-5,-4.282282625286369e-8,-0.0018661311596336301,-3.5344543323723834e-5,-4.284673828172474e-8,-0.0018658774885188531,-3.542898898557433e-5,-4.293057236042494e-8,-0.0018655268253949977,-3.55281941668765e-5,-4.303001094315354e-8,-0.0018650860333417425,-3.55896847358241e-5,-4.309572055327366e-8,-0.0018645862558132557,-3.557072469934887e-5,-4.3087114771064386e-8,-0.001864074064290464,-3.54502290003869e-5,-4.298370377047688e-8,-0.0018635978679334747,-3.523359331224885e-5,-4.278980205390345e-8,-0.0018631947076426666,-3.494883476042089e-5,-4.2531058883068645e-8,-0.0018628822307316867,-3.4636347734627516E-05,-4.224496475448857e-8,-0.0018626577466252,-3.433705755884229e-5,-4.196979779298566e-8,-0.0018625028468491243,-3.408334448344101e-5,-4.173608792809358e-8,-0.0018623903292806535,-3.389462368841906e-5,-4.1562378749819724e-8,-0.001862290600784725,-3.377697613200107e-5,-4.145477037782527e-8,-0.0018621762300559555,-3.3725088096835355e-5,-4.14086669723388e-8,-0.0018620246347852986,-3.372488473601601e-5,-4.141123207304418e-8,-0.0018618195632346566,-3.375593156589706e-5,-4.1443656121148575e-8,-0.0018615521548540242,-3.3793432453618705e-5,-4.148302730689643e-8,-0.001861222100187459,-3.3810221048498295E-05,-4.15041470998425e-8,-0.0018608389284970092,-3.377941053241642e-5,-4.148192086511341e-8,-0.0018604228570434176,-3.367833230390359e-5,-4.139496124109246e-8,-0.0018600040268228783,-3.3493942425028966e-5,-4.123062094176194e-8,-0.001859618642548962,-3.322877352067173e-5,-4.0990619843655576e-8,-0.0018593011806838898,-3.290498445207031e-5,-4.0694967467908326e-8,-0.001859073836432133,-3.256319848003421e-5,-4.038105550600808e-8,-0.0018589370096645738,-3.225400787141628e-5,-4.0095898376829484e-8,-0.0018588658572420299,-3.202355089014602e-5,-3.988278237900221e-8,-0.001858815953690681,-3.1898535195761845e-5,-3.9767279252543205e-8,-0.0018587365322608792,-3.187731481624273e-5,-3.974875641256137e-8,-0.001858585847420525,-3.193072891426777e-5,-3.9800881931187754e-8,-0.0018583427276889898,-3.201157846011818e-5,-3.988018363222736e-8,-0.001858011024484624,-3.206838339685549e-5,-3.993871620605644e-8,-0.0018576168661056972,-3.2058722129593e-5,-3.993651170976707e-8,-0.001857200628294303,-3.1958785793748546e-5,-3.98506487342928e-8,-0.0018568063178679155,-3.1767390735336565e-5,-3.9679225404044e-8,-0.0018564711830394505,-3.150417991339459e-5,-3.943989843936122e-8,-0.0018562180244630548,-3.120309508365586e-5,-3.916393604405171e-8,-0.001856051832860989,-3.0903287984785486e-5,-3.888777991719524e-8,-0.0018559610387409902,-3.0640165715613776e-5,-3.864464037772421e-8,-0.0018559222165318323,-3.043888182499085e-5,-3.845831450517588e-8,-0.0018559062367179708,-3.031135180046263e-5,-3.8340287099323454e-8,-0.0018558839785556914,-3.025648674119293e-5,-3.828987583339211e-8,-0.0018558305005729916,-3.0262498510445098e-5,-3.829637141557298e-8,-0.0018557274688207667,-3.030998413607464e-5,-3.8341946180221575e-8,-0.0018555642923261315,-3.0374874455143256e-5,-3.8404431294548646e-8,-0.0018553386335638984,-3.043096245585696e-5,-3.8459652833342595e-8,-0.0018550567897867762,-3.0452262426219995e-5,-3.8483550463237314e-8,-0.0018547340635318174,-3.041572528206477e-5,-3.8454603062521525e-8,-0.0018543947164707576,-3.03048875961989e-5,-3.835716288178646e-8,-0.0018540704590361671,-3.0114692323656852e-5,-3.81859702743685e-8,-0.0018537960249984855,-2.985666954648834e-5,-3.79511015108531e-8,-0.0018536008786521339,-2.9562027461414482e-5,-3.768102528692731e-8,-0.0018534981424192035,-2.927893614320846e-5,-3.742024332911934e-8,-0.0018534751696137296,-2.9061233360087007e-5,-3.72188887172703e-8,-0.0018534923481789171,-2.8950357584252507e-5,-3.711593484750272e-8,-0.0018534940550578869,-2.8958436077817732e-5,-3.7123378482837e-8,-0.0018534282008300274,-2.9062277323979435e-5,-3.722046668883958e-8,-0.0018532645332598092,-2.921211788923309e-5,-3.736159207290112e-8,-0.0018530028720135114,-2.934986972526837e-5,-3.7493050320642694e-8,-0.0018526694542170326,-2.942727873570747e-5,-3.756982425163037e-8,-0.0018523058642196187,-2.9417150023504876e-5,-3.7566073539067835e-8,-0.0018519564866905035,-2.9316192868627697e-5,-3.7477965536880444e-8,-0.0018516584089416203,-2.9141557732680905e-5,-3.7320700414486564e-8,-0.001851435208412855,-2.8923992161479002e-5,-3.712235494419344e-8,-0.001851294541339165,-2.869997092993335e-5,-3.691666372244825e-8,-0.0018512288972952473,-2.850431556199019e-5,-3.673612972502268e-8,-0.0018512187605911334,-2.8364293030248146e-5,-3.6606422818222735e-8,-0.0018512372743969517,-2.8295880091963878e-5,-3.6542771387623024e-8,-0.001851255373367241,-2.830245486957463e-5,-3.654865101402205e-8,-0.0018512464347500161,-2.837567990696616e-5,-3.661658029509977e-8,-0.0018511897654824728,-2.849797616767571e-5,-3.6730452314410044e-8,-0.0018510726455833026,-2.864577894127868e-5,-3.6868605111867225e-8,-0.0018508911239511774,-2.879283048085962e-5,-3.700688885749968e-8,-0.0018506500169525825,-2.891316386992196e-5,-3.712138235946777e-8,-0.0018503624659893852,-2.8983841434482034e-5,-3.719083313132091e-8,-0.001850049192722774,-2.8987717253845237e-5,-3.719912582085492e-8,-0.00184973724683297,-2.8916604783197052e-5,-3.7138199915807674e-8,-0.0018494574590516221,-2.877500685094965e-5,-3.7011601488886906e-8,-0.001849239457271444,-2.8583618727700412e-5,-3.6837917133073514e-8,-0.001849103637120204,-2.8380420558935783e-5,-3.665199142573758e-8,-0.0018490512556514666,-2.8216113176951286e-5,-3.650082802289004e-8,-0.0018490568923369543,-2.814133170477168e-5,-3.643173901900574e-8,-0.001849070044366471,-2.8187498919253204e-5,-3.6474479853762786e-8,-0.0018490301023305032,-2.835027238269989e-5,-3.662573037762882e-8,-0.0018488899067574623,-2.8587217166636767e-5,-3.6846766146306595e-8,-0.0018486348257891318,-2.883361606393152e-5,-3.707797543919425e-8,-0.0018482863056600417,-2.902755950667316e-5,-3.726201459105288e-8,-0.0018478899852914469,-2.9130064005063796e-5,-3.736241363816512e-8,-0.0018474976562760789,-2.91321131307372e-5,-3.737016828147584e-8,-0.0018471524750899352,-2.905016180405401e-5,-3.729976063286029e-8,-0.0018468812786227445,-2.8916268553225196e-5,-3.718025357565311e-8,-0.0018466931172711491,-2.876806315238052e-5,-3.7046173746412294e-8,-0.0018465815057894385,-2.8640983775258864e-5,-3.6930365429741035e-8,-0.00184652829693714,-2.8563136245366806e-5,-3.685914654239289e-8,-0.0018465080445311866,-2.8552306292304803e-5,-3.6849396405970724e-8,-0.0018464923711327586,-2.8614698711177184e-5,-3.69072585309602e-8,-0.0018464540475209713,-2.874515858709884e-5,-3.702828145510411e-8,-0.001846370522506678,-2.8928669467886978e-5,-3.7198811661589566e-8,-0.001846226627091265,-2.9142919199792575e-5,-3.739840984195331e-8,-0.0018460161773210895,-2.936159596526058e-5,-3.7602928735736206e-8,-0.0018457424092981416,-2.9557907441157696e-5,-3.7787745528739335e-8,-0.0018454174436069045,-2.9707932709951874e-5,-3.793078679950588e-8,-0.001845060979936064,-2.9793682517744152e-5,-3.8015266553066575e-8,-0.0018446983139210466,-2.9805837685586976e-5,-3.803216933965162e-8,-0.001844357663506958,-2.974619611849742e-5,-3.7982560537325245e-8,-0.0018440664544479193,-2.9629797711193566e-5,-3.7879707314877856e-8,-0.001843845950446449,-2.948601531108566e-5,-3.775030341662861e-8,-0.0018437041818345754,-2.9356851092842417e-5,-3.763307774716062e-8,-0.0018436286704259478,-2.929018395984869e-5,-3.7572610524337075e-8,-0.0018435826591715672,-2.9326650546160026e-5,-3.7607099199983846e-8,-0.001843510243611047,-2.9482479522100277e-5,-3.7752270839027916e-8,-0.0018433534878047207,-2.9736569576451163e-5,-3.798922207122916e-8,-0.001843076228620517,-3.003258999787417e-5,-3.826624809927366e-8,-0.0018426810050820315,-3.0299279226205748e-5,-3.851758748645876e-8,-0.0018422077376924746,-3.0478508169391107e-5,-3.8689353289091895e-8,-0.0018417156239789582,-3.054470317700498e-5,-3.875746335719129e-8,-0.0018412606553196052,-3.050710730095082e-5,-3.872977574482587e-8,-0.001840880483325183,-3.0398882257686496e-5,-3.8636192256924036e-8,-0.001840590004125507,-3.026250677128237e-5,-3.851540126764517e-8,-0.0018403844397698059,-3.013820957242196e-5,-3.840435285169504e-8,-0.001840245361005513,-3.0057347763451893e-5,-3.8332152701456324e-8,-0.0018401466765782936,-3.0039751280580974e-5,-3.831749547487945e-8,-0.0018400595016326148,-3.0093363332831677e-5,-3.836817784862127e-8,-0.0018399559497764423,-3.0215015910877106e-5,-3.848169905675189e-8,-0.001839812170196447,-3.039186553279613e-5,-3.864654273812751e-8,-0.0018396108283989022,-3.060338054950594e-5,-3.884402378562721e-8,-0.0018393430417674114,-3.082394307346604e-5,-3.905071575977295e-8,-0.001839009544828154,-3.1026114366856945e-5,-3.924146216346563e-8,-0.0018386207708631277,-3.1184328723264915e-5,-3.939273712194119e-8,-0.0018381957305413437,-3.127857148136643e-5,-3.948596451419425e-8,-0.0018377597459139795,-3.1297656724416976e-5,-3.95104860508152e-8,-0.001837341137178437,-3.1241751125251476e-5,-3.946590292406994e-8,-0.0018369670512292443,-3.112376810976386e-5,-3.9363472022820164e-8,-0.0018366586561733092,-3.096932899220622e-5,-3.922626209101001e-8,-0.0018364258708403016,-3.0814812173559905e-5,-3.9087559514838445e-8,-0.0018362621920370473,-3.070252357614279e-5,-3.8986539372919337e-8,-0.0018361412688580824,-3.067203929167175e-5,-3.896025500527251e-8,-0.0018360180816703487,-3.0748042684471684e-5,-3.903223795898209e-8,-0.0018358378502917804,-3.092774827382751e-5,-3.920064225747588e-8,-0.0018355532968053283,-3.1174550168373766e-5,-3.9432189756387474e-8,-0.0018351446756584952,-3.142525945238052e-5,-3.966879216514516e-8,-0.001834631257077125,-3.161182618802566e-5,-3.9847630332795574e-8,-0.001834065391188641,-3.168747068911088e-5,-3.992527940095902e-8,-0.0018335116541834382,-3.164236364109196e-5,-3.989214970654177e-8,-0.0018330236496004874,-3.1501495858562004e-5,-3.977056585296882e-8,-0.0018326302885483708,-3.130976247069251e-5,-3.960119517536447e-8,-0.0018323344622033428,-3.111494455177007e-5,-3.94275962437217e-8,-0.0018321196002908996,-3.095597209536023e-5,-3.928554181120305e-8,-0.0018319582888422555,-3.085789845493625e-5,-3.919836392406287e-8,-0.0018318194757880513,-3.083157342368737e-5,-3.9176511626126014e-8,-0.0018316733480543946,-3.0875483927058214e-5,-3.9219089175635253e-8,-0.0018314943794796696,-3.097812687524317e-5,-3.931593991989682e-8,-0.0018312633560748676,-3.1120334429811935e-5,-3.9449760179892773e-8,-0.001830968913688379,-3.1277592120351454e-5,-3.9598246635518696e-8,-0.0018306087634235733,-3.14226374107931e-5,-3.9736499110668715e-8,-0.0018301904168349817,-3.152864766531905e-5,-3.9839932121797345e-8,-0.0018297309265778968,-3.1573033171681355e-5,-3.988771007373838e-8,-0.0018292551760944991,-3.154139489645285e-5,-3.986633134180522e-8,-0.0018287925523648566,-3.1430926466745534e-5,-3.977274223006469e-8,-0.0018283721888019805,-3.125244172846256e-5,-3.961626454205167e-8,-0.0018280173510476312,-3.1030241019074e-5,-3.941861928815817e-8,-0.0018277399014371466,-3.079933897322065e-5,-3.921157228495376e-8,-0.0018275359237807758,-3.060002936908609e-5,-3.9032106768399976e-8,-0.0018273836315456557,-3.0470075984707517e-5,-3.891530628053033e-8,-0.0018272448509398856,-3.0435259419920423e-5,-3.8885571590877783e-8,-0.0018270713806662069,-3.0500042234658058e-5,-3.8947817158765014e-8,-0.0018268166773114957,-3.064158208297821e-5,-3.908171343754616e-8,-0.0018264509824322654,-3.081128525962225e-5,-3.924294928095106e-8,-0.0018259745066705093,-3.0946791653507584e-5,-3.937422858396294e-8,-0.001825421200068397,-3.0992294321174295e-5,-3.942401662190722e-8,-0.001824848707194268,-3.091859675203208e-5,-3.936503312287334e-8,-0.0018243181665254498,-3.0732388589482095e-5,-3.920280801715213e-8,-0.0018238741939498265,-3.047033281073113e-5,-3.897033103345112e-8,-0.0018235344222076416,-3.0182968256406758e-5,-3.871343791162342e-8,-0.0018232907112232296,-2.9917962061241705e-5,-3.8475612220985564e-8,-0.0018231175915879915,-2.9709470223528575e-5,-3.8288287874661005e-8,-0.0018229820547856707,-2.9574767415543407e-5,-3.8167680241916334e-8,-0.0018228511227224586,-2.951575072500136e-5,-3.811601209651671e-8,-0.0018226963993247997,-2.9522399260808083e-5,-3.812455102291935e-8,-0.001822496346012939,-2.9576313361484465e-5,-3.817679071516764e-8,-0.00182223736569908,-2.9653667368211555e-5,-3.82511596794088e-8,-0.001821914484007764,-2.9727713244422272e-5,-3.8323339418991535e-8,-0.0018215319226575477,-2.9771325860086927e-5,-3.836859871537784e-8,-0.0018211033649289739,-2.9760077349048065e-5,-3.8364575828414726e-8,-0.0018206513209798074,-2.967600860452736e-5,-3.82946771372016e-8,-0.001820204868578569,-2.95117106918752e-5,-3.815177651088395e-8,-0.001819795308698592,-2.9273717903851084e-5,-3.7941337848129227e-8,-0.0018194499553985499,-2.8983792765006212e-5,-3.768268339819807e-8,-0.001819185216669178,-2.867678407238349e-5,-3.74071910297524e-8,-0.0018190008974349288,-2.83945853396037e-5,-3.715294339073842e-8,-0.001818877777254797,-2.8177048843502435e-5,-3.69565401325332e-8,-0.001818779842287521,-2.8051892787703585e-5,-3.684386725138177e-8,-0.0018186613648890997,-2.8026242318695985e-5,-3.682221547238342e-8,-0.0018184777104345217,-2.8082404782524753e-5,-3.687617397457534e-8,-0.0018181975534309522,-2.8179856821560048e-5,-3.6969212144048666e-8,-0.001817813196202531,-2.8264185854983048e-5,-3.705172966271644e-8,-0.001817345167041442,-2.8281685470529075e-5,-3.707441588866618e-8,-0.0018168381018592475,-2.8195553966210703e-5,-3.7003162870434875e-8,-0.0018163479603249767,-2.799754849487948e-5,-3.6829836985857307e-8,-0.0018159250008670967,-2.770979157575244e-5,-3.657403648862273e-8,-0.0018155995956956029,-2.7375894624095573e-5,-3.6275093682421794e-8,-0.0018153764219808644,-2.704596699485922e-5,-3.5978494998850386e-8,-0.0018152377869368145,-2.6762455524996808e-5,-3.572301447864534e-8,-0.001815152477201721,-2.6551760020655958e-5,-3.553302574177351e-8,-0.0018150853173970892,-2.6422470662984083e-5,-3.541677798998169e-8,-0.0018150042988686545,-2.6368080187245047e-5,-3.5368740905128105e-8,-0.001814884542944513,-2.637140326946383e-5,-3.5373559468304656e-8,-0.0018147098501943748,-2.640883213452553e-5,-3.540992975432918e-8,-0.001814472968339351,-2.6453705314678775e-5,-3.5453704890593495e-8,-0.0018141754822484056,-2.6478914642215583e-5,-3.548029701796509e-8,-0.0018138277280354835,-2.645933668573588e-5,-3.54668779570484e-8,-0.0018134485433922909,-2.63746995002284e-5,-3.539493771542412e-8,-0.0018130641999637516,-2.6213143484268603e-5,-3.525347116797519e-8,-0.0018127056529817164,-2.5975139443379584e-5,-3.504252776569707e-8,-0.0018124034131899443,-2.5676611824827752e-5,-3.477610412804476e-8,-0.0018121801872194175,-2.534931109205454e-5,-3.448259855575883e-8,-0.0018120429840718477,-2.503646524431114e-5,-3.420100849172037e-8,-0.0018119778375527472,-2.4783230392470123e-5,-3.3972382770939356e-8,-0.001811950347330866,-2.462408751833058e-5,-3.3828419190625865e-8,-0.0018119132838824324,-2.4571574822020067e-5,-3.3781151941416513e-8,-0.0018118193692635378,-2.461097139426063e-5,-3.381793208892705e-8,-0.0018116348830005524,-2.470333459138878e-5,-3.390395510139745e-8,-0.0018113494195414132,-2.479592830408992e-5,-3.399155855798691e-8,-0.0018109788397635016,-2.483652227449304e-5,-3.403315775348767e-8,-0.0018105608775236578,-2.4787225178468724e-5,-3.399388280325552e-8,-0.001810144903993606,-2.4634019749026035e-5,-3.386038668968676e-8,-0.0018097788424705386,-2.438943653685379e-5,-3.364343809426621e-8,-0.0018094970976968308,-2.408776623021186e-5,-3.3373712923926915e-8,-0.0018093131065530167,-2.3774611485516244e-5,-3.3092397700764274e-8,-0.0018092184234519324,-2.3494490111001275e-5,-3.283995827133673e-8,-0.0018091877331322158,-2.3280593294754563e-5,-3.2646790853564697e-8,-0.0018091871161683125,-2.314939866682767e-5,-3.252822506211939e-8,-0.0018091823293289193,-2.31004611501778e-5,-3.248421726376951e-8,-0.0018091448540584615,-2.311978262620908e-5,-3.250233499343941e-8,-0.0018090550794540737,-2.3184591180723153e-5,-3.2562086291900066e-8,-0.0018089031861997175,-2.3267897328885993e-5,-3.2639095018153503e-8,-0.0018086887334329814,-2.3342085624690892e-5,-3.2708403157821664e-8,-0.0018084198247745962,-2.338158487023955e-5,-3.2746898333729124e-8,-0.0018081122968712463,-2.3365150542970265e-5,-3.273533916353727e-8,-0.001807788822855228,-2.3278370617031e-5,-3.2660558495518114e-8,-0.0018074773359588981,-2.3116713555088714e-5,-3.251818044986732e-8,-0.0018072078836895496,-2.2888860456224638e-5,-3.231565942478291e-8,-0.0018070071067168634,-2.2619145607374683e-5,-3.2074584949186564e-8,-0.0018068904090166695,-2.2346867579039005e-5,-3.18301977417072e-8,-0.001806853807850492,-2.2119984734449717e-5,-3.162581546841964e-8,-0.0018068696241016469,-2.198255341150245e-5,-3.150153125112428e-8,-0.0018068904530553504,-2.195926967130759e-5,-3.1480191546692454e-8,-0.0018068624614854115,-2.2044177423088666e-5,-3.155704270849953e-8,-0.0018067433270976935,-2.2200245280886165e-5,-3.1699156433731375e-8,-0.0018065165630427827,-2.2371032429944445e-5,-3.1855811466588946e-8,-0.0018061958896326482,-2.2498959032548624e-5,-3.197492592167717e-8,-0.0018058190557784669,-2.2542034459431462e-5,-3.201819263383411e-8,-0.0018054353226003737,-2.2483393859611878e-5,-3.196979945333175e-8,-0.001805091981515879,-2.2332389766442987e-5,-3.183757466667896e-8,-0.0018048237525921153,-2.211905907663405e-5,-3.1648156894879373e-8,-0.0018046468284378982,-2.1884874969180767e-5,-3.1438765962970895e-8,-0.0018045577965828564,-2.167257080863706e-5,-3.124804952076372e-8,-0.0018045367469031802,-2.1517256483314775e-5,-3.1108003719807276e-8,-0.0018045532547471112,-2.1440415901790588e-5,-3.103843208390343e-8,-0.0018045734964459543,-2.1447606975861767e-5,-3.1044738831155513e-8,-0.0018045667264467702,-2.1529672691860464e-5,-3.111893588046535e-8,-0.0018045098804961046,-2.1666384245823865e-5,-3.1242914374253404e-8,-0.0018043898839023068,-2.183112130503548e-5,-3.1392708760228225e-8,-0.001804203954475141,-2.1995397908962797e-5,-3.1542638797071024e-8,-0.0018039586205425583,-2.2132522471774145e-5,-3.166864148494045e-8,-0.0018036682150897336,-2.222029327998615e-5,-3.1750683255942955e-8,-0.0018033532774611,-2.2243105107731316e-5,-3.1774601732825967e-8,-0.0018030388535303287,-2.2193945397383773e-5,-3.173385130063672e-8,-0.0018027522942073136,-2.2076575061598045e-5,-3.1631467135425805e-8,-0.0018025198123736337,-2.1907738260673892e-5,-3.148213395270582e-8,-0.0018023610503111382,-2.171835234695091e-5,-3.131339673265721e-8,-0.0018022817446064101,-2.155153029171974e-5,-3.1164020013668663e-8,-0.0018022664981731129,-2.145492195250491e-5,-3.107715875834362e-8,-0.0018022761116299893,-2.1466616576633423e-5,-3.1087611729159285e-8,-0.001802254637597213,-2.1598488185100718e-5,-3.1206666940015674e-8,-0.0018021472428660756,-2.182595909351053e-5,-3.1412695010306495e-8,-0.0018019218634438376,-2.2092822584774562e-5,-3.1655360838329714e-8,-0.0018015825756897933,-2.2331161258804622e-5,-3.187351846210822e-8,-0.0018011669858702807,-2.2485932648024347e-5,-3.2017362632812046e-8,-0.0018007305205330378,-2.2531424552391003e-5,-3.20632837968358e-8,-0.0018003274466781097,-2.247396849454174e-5,-3.201639378115172e-8,-0.001799997044701253,-2.2344006761817026e-5,-3.190352915618942e-8,-0.0017997576968600084,-2.2183994777753875e-5,-3.1762527108728355e-8,-0.0017996074214415598,-2.2037129804367622e-5,-3.163218737463046e-8,-0.0017995281388526994,-2.1939134700851098e-5,-3.1544874466880096e-8,-0.001799491474118722,-2.191336925847295e-5,-3.1522014871558e-8,-0.0017994648236848451,-2.196879034163294e-5,-3.157211653547259e-8,-0.0017994169612412726,-2.210030852102367e-5,-3.1690969385098476e-8,-0.0017993225970557186,-2.2291116208268445e-5,-3.1863685374065217e-8,-0.0017991654559053219,-2.2516364846537557e-5,-3.2068017711543623e-8,-0.0017989396964144166,-2.2747470340719118e-5,-3.2278281986817246e-8,-0.001798649733945888,-2.2956364822787877e-5,-3.246922246142647e-8,-0.0017983088087218547,-2.3119105042172602e-5,-3.2619262744900355e-8,-0.0017979368481374199,-2.3218557224021916e-5,-3.271288686018867e-8,-0.001797558043108042,-2.3246284945411038e-5,-3.274229168261259e-8,-0.0017971982454755217,-2.3203905608775542e-5,-3.2708591798824984e-8,-0.0017968820442133351,-2.3104089519329166e-5,-3.2622768771998037e-8,-0.0017966291126735867,-2.297111342990777e-5,-3.250628913382254e-8,-0.0017964493540700971,-2.2840186859440642e-5,-3.239064633254201e-8,-0.001796337092370337,-2.2753871040159905e-5,-3.231424590201427e-8,-0.001796266176874397,-2.2753701692947285e-5,-3.2314867821004395e-8,-0.0017961898758915664,-2.2866622884127602e-5,-3.241733430757836e-8,-0.0017960501969663332,-2.3089920943539757e-5,-3.261975895170297e-8,-0.0017957976108034395,-2.3383568322421448e-5,-3.288650179068292e-8,-0.0017954135250510931,-2.3679171476829465e-5,-3.315617804332179e-8,-0.0017949215447578652,-2.390518557869303e-5,-3.336437672142568e-8,-0.0017943787200954949,-2.401500851776904e-5,-3.3468942402757484e-8,-0.0017938521133034476,-2.400161061140643e-5,-3.346310636110839e-8,-0.0017933953283730748,-2.3893135268437862e-5,-3.3371567284018426e-8,-0.0017930360672664986,-2.3736813868647664e-5,-3.323619106299432e-8,-0.0017927757839283627,-2.3582117106361543e-5,-3.310107169625848e-8,-0.0017925963117210405,-2.3469363688785598e-5,-3.300241303329868e-8,-0.0017924682328384592,-2.342451096539411e-5,-3.296382113706184e-8,-0.0017923581550719071,-2.345828625550179e-5,-3.299539036168371e-8,-0.001792234150133278,-2.356759742598324e-5,-3.309481410911366e-8,-0.0017920696405059335,-2.3737980155055785e-5,-3.324947345493431e-8,-0.0017918461088012336,-2.3946656287756952e-5,-3.343914759620848e-8,-0.0017915547494891267,-2.416604836192296e-5,-3.363918826601897e-8,-0.0017911970460121622,-2.4367571375549456e-5,-3.382396166819764e-8,-0.0017907841940512808,-2.4525457139788785e-5,-3.3970302096064133e-8,-0.0017903353488858134,-2.4620205356925683e-5,-3.4060599419872674e-8,-0.001789874928831574,-2.464121873006898e-5,-3.408513361013069e-8,-0.0017894293545302076,-2.458842006514815e-5,-3.404350871950484e-8,-0.001789023505241213,-2.4472837169482275e-5,-3.394520600674971e-8,-0.0017886770648342907,-2.431614883409421e-5,-3.3809267595780996e-8,-0.0017884008200234735,-2.4149141187628658e-5,-3.366304609271047e-8,-0.001788192903348495,-2.4008712245158947e-5,-3.353964297579916e-8,-0.0017880354372265181,-2.393253545893989e-5,-3.347316905691076e-8,-0.0017878931539800256,-2.3950554353910987e-5,-3.34910405981934e-8,-0.0017877167144701928,-2.4073806065351983e-5,-3.360377068735919e-8,-0.001787453569690734,-2.428392045087678e-5,-3.379534491041236e-8,-0.0017870663495322726,-2.4530220442592966e-5,-3.402051298850108e-8,-0.0017865519910194932,-2.4741563720019448e-5,-3.4215448424805376e-8,-0.0017859491906381667,-2.4852189071213217e-5,-3.4321023197333045e-8,-0.001785325958533287,-2.482869995671932e-5,-3.4307016493753474e-8,-0.0017847528767015353,-2.4681669420333632e-5,-3.418245486606978e-8,-0.0017842781208460322,-2.4456188730650273e-5,-3.3987154219619505e-8,-0.0017839168488831807,-2.4210443635923462e-5,-3.3772695142451446e-8,-0.0017836554356915608,-2.3996010205156732e-5,-3.358499104157047e-8,-0.0017834629055072672,-2.384722325415727e-5,-3.345487005540549e-8,-0.0017833022278605421,-2.377911957973221e-5,-3.33961693481918e-8,-0.0017831382257718895,-2.3790191594592873e-5,-3.340803787799357e-8,-0.0017829420119458068,-2.386664304225821e-5,-3.347858835271957e-8,-0.0017826931337199766,-2.3986439556649512e-5,-3.35884337520014e-8,-0.001782380554182279,-2.4122805007119548e-5,-3.37138034186474e-8,-0.0017820030107513522,-2.424741808773985e-5,-3.382943346932811e-8,-0.0017815688268330704,-2.4333593880854584e-5,-3.391144581214018e-8,-0.0017810949919451016,-2.435957061890063e-5,-3.3940296734933424e-8,-0.0017806052023764001,-2.4311695591746605e-5,-3.3903609380761455e-8,-0.001780126733231539,-2.4186960953258744e-5,-3.3798419210927013e-8,-0.001779686389109376,-2.3994309151659606e-5,-3.363234575116789e-8,-0.0017793060255654567,-2.3754312161234117e-5,-3.3423362014270186e-8,-0.0017789982504817423,-2.3497003448101446e-5,-3.319796437690346e-8,-0.0017787629677499328,-2.325789658218794e-5,-3.2987743056121986e-8,-0.0017785853328477087,-2.307245026259536e-5,-3.2824528494159e-8,-0.001778435693719291,-2.29692203202828e-5,-3.2734270343295896e-8,-0.0017782724447692514,-2.2962114363640616e-5,-3.2729999425653523e-8,-0.0017780489744251891,-2.304310446279494e-5,-3.2805121499466924e-8,-0.0017777252482119056,-2.3178271529330762e-5,-3.292970232577239e-8,-0.0017772823647096638,-2.331129259651724e-5,-3.305351428606098e-8,-0.0017767346083272459,-2.3377529158287416e-5,-3.311868318348257e-8,-0.001776130764697321,-2.3326480780226323e-5,-3.3079844371637935e-8,-0.0017755397912121303,-2.3142506066602418e-5,-3.292267378791187e-8,-0.001775025923089456,-2.285130228165791e-5,-3.2669641431352325e-8,-0.001774626618706956,-2.2507845107702927e-5,-3.2369284423643596e-8,-0.0017743445685003865,-2.217390512592298e-5,-3.207630409849978e-8,-0.0017741544806826274,-2.1898231682136928e-5,-3.1834061464338805e-8,-0.0017740169436090173,-2.1707118952548065e-5,-3.166620956255327e-8,-0.001773891219541728,-2.1604779152879516e-5,-3.157692307526984e-8,-0.0017737432310165142,-2.157882930216389e-5,-3.155562491937049e-8,-0.0017735489504333692,-2.1606679331330368e-5,-3.1582552828697624e-8,-0.0017732949817235678,-2.1660754250425577e-5,-3.163336707176071e-8,-0.0017729779982578978,-2.1712249139899234e-5,-3.1682516270717386e-8,-0.0017726039251191308,-2.1733947237802756e-5,-3.170578892729579e-8,-0.0017721870422029683,-2.170274238348413e-5,-3.168258293259854e-8,-0.001771748742021881,-2.160228540957275e-5,-3.1598253034946674e-8,-0.001771315436498432,-2.142574791419228e-5,-3.144654198656495e-8,-0.0017709151725227585,-2.1178148251122183e-5,-3.123163082063926e-8,-0.0017705729667818262,-2.0877318554922502e-5,-3.096901728522543e-8,-0.00177030549185305,-2.055260685325797e-5,-3.0684433448224743e-8,-0.0017701162882080364,-2.0240789383713746e-5,-3.041032430169265e-8,-0.0017699929466398218,-1.99794218315807e-5,-3.018005089313501e-8,-0.0017699074633654773,-1.9798779288104986e-5,-3.002078373264498e-8,-0.0017698202590316055,-1.971411094245867e-5,-2.994657558110185e-8,-0.0017696875886955075,-1.9720002942223983e-5,-2.9953206911113435e-8,-0.0017694714315701055,-1.9788544043428927e-5,-3.0016365819494506e-8,-0.001769150179508032,-1.9872824099373976e-5,-3.009460999645151e-8,-0.0017687273917546744,-1.9916635597634004e-5,-3.013794933369788e-8,-0.0017682349328222557,-1.986951675134688e-5,-3.0101278511672435e-8,-0.00176772710105645,-1.970328034493384e-5,-2.995916376833186e-8,-0.0017672653670454336,-1.942323674398719e-5,-2.9715881402750377e-8,-0.0017668987135009146,-1.906762066737871e-5,-2.9404951820690843e-8,-0.0017666484557888058,-1.8694185914153163e-5,-2.9077305426574343e-8,-0.0017665045683398996,-1.836037649987278e-5,-2.8783779540595175e-8,-0.0017664336822339468,-1.810670803004512e-5,-2.85604298531802e-8,-0.0017663927590512497,-1.7949525459591675e-5,-2.8422063980110166e-8,-0.0017663414629926905,-1.7882936783559632e-5,-2.8363836548011972e-8,-0.001766249541876796,-1.7885707909765793e-5,-2.8367242121714928e-8,-0.001766099266242993,-1.7928819727490756e-5,-2.8406756909275128e-8,-0.0017658847993394775,-1.798137782732972e-5,-2.8455090069843767e-8,-0.001765610393070421,-1.8014480188581894e-5,-2.8486659197502897e-8,-0.0017652885448722823,-1.800366604960887e-5,-2.8479796999216368e-8,-0.0017649384258213695,-1.7930802219111313e-5,-2.8418420896184835e-8,-0.0017645842871166185,-1.778602853787445e-5,-2.829372109660203e-8,-0.0017642532352409623,-1.7569903288050705e-5,-2.81060198076404e-8,-0.001763971759473834,-1.7295278259522374e-5,-2.786641950500421e-8,-0.0017637607807011494,-1.698782162266873e-5,-2.7597305393828584e-8,-0.0017636298282722234,-1.668378910785923e-5,-2.7330463361969477e-8,-0.0017635720325075125,-1.6424062245120354e-5,-2.7101919283812356e-8,-0.0017635623160880396,-1.624485381333525e-5,-2.6943804573923697e-8,-0.0017635607308321933,-1.6167370096356146e-5,-2.6875224575923194e-8,-0.0017635211289864948,-1.6190012162179073e-5,-2.68952735608918e-8,-0.0017634030561349838,-1.6286391210993562e-5,-2.6981120973846906e-8,-0.0017631832067511017,-1.6410496829813158e-5,-2.7092420717209323e-8,-0.001762862804611093,-1.650784066444652e-5,-2.7181070789573557e-8,-0.001762468592752757,-1.6529538541808296e-5,-2.720366625840219e-8,-0.001762046894151369,-1.6445530812446836e-5,-2.713326263374019e-8,-0.0017616519554521687,-1.6253198861825676e-5,-2.696709599279156e-8,-0.0017613315225252794,-1.5978453405918325e-5,-2.672764292807032e-8,-0.0017611140058775958,-1.5668350101802668e-5,-2.645617877953825e-8,-0.0017610016624053787,-1.5377341425857762e-5,-2.6200694380823762e-8,-0.001760972152477191,-1.5152050261090025e-5,-2.6002466768736517e-8,-0.0017609872896826445,-1.5020078162915458e-5,-2.5886132235295784e-8,-0.0017610048499390252,-1.4986153105280482e-5,-2.585618781524479e-8,-0.0017609887967856529,-1.5035267740803247e-5,-2.5899659894477047e-8,-0.0017609151979063953,-1.5139768158020223e-5,-2.5992305073980463e-8,-0.001760773716567572,-1.5266958060346903e-5,-2.610532992986437e-8,-0.0017605661687073292,-1.5385079455718696e-5,-2.6210718388494383e-8,-0.0017603038826338377,-1.5467116653328303e-5,-2.6284636330568005e-8,-0.0017600050563999715,-1.5492918931559058e-5,-2.630931543163531e-8,-0.00175969254649456,-1.5450515709074643e-5,-2.6274181953792665e-8,-0.0017593918639489119,-1.5337330423786408e-5,-2.617687582404043e-8,-0.0017591287810466108,-1.516152233340109e-5,-2.6024399594225813e-8,-0.0017589258943309788,-1.4943092225619993e-5,-2.5834108333616962e-8,-0.0017587977883399433,-1.4713698844311321e-5,-2.563361964748376e-8,-0.001758745306123578,-1.4513557060983797e-5,-2.5458186180871662e-8,-0.0017587508567577885,-1.4384033445413648e-5,-2.534426611652559e-8,-0.0017587779139626098,-1.4356303112866524e-5,-2.5319563744401592e-8,-0.0017587774818432792,-1.4439371548397277e-5,-2.5392423095802513e-8,-0.0017587014180465244,-1.461308765223457e-5,-2.5545545630735418e-8,-0.0017585182143315644,-1.4831017637906244e-5,-2.573837988454579e-8,-0.001758224300036135,-1.5033522952700285e-5,-2.5918544356983626e-8,-0.0017578456814572269,-1.5165890121277228e-5,-2.6037769834404815e-8,-0.0017574296827317477,-1.5194062164951215e-5,-2.6065783871821737e-8,-0.0017570309130902051,-1.5112670663097581e-5,-2.5997452534758276e-8,-0.001756696813994369,-1.4944139321311835e-5,-2.5852086776316284e-8,-0.0017564568402563836,-1.473071652369088e-5,-2.566653582995585e-8,-0.0017563173354597894,-1.4522642160396031e-5,-2.548486082353178e-8,-0.0017562624354948073,-1.4365851015030895e-5,-2.5347546705261553e-8,-0.0017562599735600776,-1.4292151664489295e-5,-2.5282821848690496e-8,-0.001756270345717931,-1.4313890299943314e-5,-2.5301868529854778e-8,-0.0017562557588578422,-1.4423796145213121e-5,-2.5398581829437754e-8,-0.0017561874812613571,-1.4599191257972496e-5,-2.5553204717269587e-8,-0.0017560497205785389,-1.4808590783445874e-5,-2.573812424229174e-8,-0.0017558401001670073,-1.501849889141526e-5,-2.5923886858305346e-8,-0.0017555677036126833,-1.5198851791683837e-5,-2.6084035700955837e-8,-0.0017552499882569114,-1.5326523211685818e-5,-2.6198219746351277e-8,-0.0017549096171388453,-1.5387143092883683e-5,-2.625378099409158e-8,-0.0017545716844747704,-1.5375917958639373e-5,-2.624643446693762e-8,-0.0017542612485054693,-1.5298085448759974e-5,-2.618062930004095e-8,-0.0017540007404882867,-1.5169273450952789e-5,-2.6069861979063126e-8,-0.0017538066861335557,-1.5015531634949477e-5,-2.593675647987724e-8,-0.0017536853789179659,-1.4872118319182157e-5,-2.5812093138283254e-8,-0.0017536279768385933,-1.4779491480665109e-5,-2.5731383005018647e-8,-0.001753606952723239,-1.477510058162383e-5,-2.5727704626657337e-8,-0.0017535772625469973,-1.4881293853944655e-5,-2.5821044107833472e-8,-0.0017534854838303832,-1.5093084239007569e-5,-2.600743669074431e-8,-0.001753286710863749,-1.5372854528035302e-5,-2.6254185280220255e-8,-0.0017529628465813953,-1.5658309245887e-5,-2.650676375421154e-8,-0.0017525321779777868,-1.5882916451512282e-5,-2.6706754294287406e-8,-0.0017520438774256833,-1.599931632431093e-5,-2.6812413521358316e-8,-0.0017515603547515798,-1.599389242849295e-5,-2.6811474485739375e-8,-0.0017511370747768787,-1.58870721613282e-5,-2.6721446136561115e-8,-0.0017508085426400448,-1.5722498178991464e-5,-2.6580205900138525e-8,-0.001750583522276346,-1.5552126055896935e-5,-2.6433054088095324e-8,-0.0017504477988545496,-1.5423007708300132e-5,-2.6321212129111954e-8,-0.001750371174214469,-1.5368439711583733e-5,-2.62740633198849e-8,-0.001750315851837096,-1.5403810993203438e-5,-2.630543047416448e-8,-0.0017502443819633047,-1.552642617773328e-5,-2.641330452405617e-8,-0.0017501260881107377,-1.5718366270618406e-5,-2.6582255837826362e-8,-0.001749941315168841,-1.595138996435713e-5,-2.6787687878177625e-8,-0.0017496832210316077,-1.6192740022060927e-5,-2.7000937830024997e-8,-0.0017493572693855985,-1.6410744434680557e-5,-2.719422519070173e-8,-0.001748978948913387,-1.6579358203906588e-5,-2.7344668887639668e-8,-0.0017485704968312657,-1.6681163415333903e-5,-2.74369274282324e-8,-0.0017481574240992264,-1.670883282721197e-5,-2.7464466784574147e-8,-0.0017477653066889829,-1.666547427544194e-5,-2.742983935525184e-8,-0.0017474168841164288,-1.6564305460559376e-5,-2.7344394725503e-8,-0.001747129279233854,-1.6427879931202274e-5,-2.722763656186771e-8,-0.0017469110243550452,-1.6286771476204226e-5,-2.7106146180372478e-8,-0.0017467586534195868,-1.6177063093025705e-5,-2.7011472007132247e-8,-0.0017466533463252492,-1.6135412490742596e-5,-2.6975864478472212e-8,-0.0017465594178202246,-1.6190686058868135e-5,-2.7024931986323628e-8,-0.0017464276261986936,-1.6352739951425828e-5,-2.7167717614836124e-8,-0.0017462061719448097,-1.6602042086509395e-5,-2.7387475511613235e-8,-0.0017458589390846183,-1.688727509586495e-5,-2.7639480984314817e-8,-0.001745383793112345,-1.7137548063945405e-5,-2.7861723308800773e-8,-0.001744819115139456,-1.7287659579105718e-5,-2.7997065592867195e-8,-0.0017442316274042247,-1.7303833560797986e-5,-2.8015768007836517e-8,-0.0017436912573285538,-1.7194973975304273e-5,-2.7925287860788828e-8,-0.001743247452036388,-1.7004614184730193e-5,-2.7763247275154654e-8,-0.0017429180130239536,-1.6791404372740664e-5,-2.758049651565357e-8,-0.0017426913839497045,-1.6609904370917028e-5,-2.7424492345162885e-8,-0.001742536475141356,-1.649859690995107e-5,-2.7328913073261393e-8,-0.0017424137905466815,-1.6475754777084468e-5,-2.731001280582881e-8,-0.0017422844622990985,-1.6540670952381766e-5,-2.7367575703814308e-8,-0.001742116355369948,-1.6677544114767887e-5,-2.7488179361086792e-8,-0.0017418876343611228,-1.686031928037145e-5,-2.764933739189588e-8,-0.0017415883616594284,-1.70577248174131e-5,-2.782387438953023e-8,-0.0017412205022093819,-1.7238115114124338e-5,-2.7984175560639326e-8,-0.0017407965855088022,-1.737379930727008e-5,-2.8106002984605667e-8,-0.0017403372333003285,-1.744456666693547e-5,-2.81716008451723e-8,-0.0017398678463401798,-1.7440083829039737e-5,-2.817179627356715e-8,-0.0017394149398974874,-1.7360942313155324e-5,-2.8106908907450188e-8,-0.0017390025998627163,-1.7218462503755394e-5,-2.7986581351569095e-8,-0.0017386492629266872,-1.7033516940844868e-5,-2.78287765345854e-8,-0.0017383648667583472,-1.6834511621145167e-5,-2.7658071698212013e-8,-0.0017381483860776027,-1.6654526309760896e-5,-2.750323777098479e-8,-0.0017379857880764208,-1.6527352718845074e-5,-2.7393844848311547e-8,-0.0017378488996451671,-1.6481799532138352e-5,-2.735530264547702e-8,-0.0017376966372265247,-1.653390656976417e-5,-2.7402002468754002e-8,-0.0017374807521994074,-1.6678137811977933e-5,-2.752950967892001e-8,-0.0017371577619254865,-1.6881003467352378e-5,-2.7708880462880502e-8,-0.0017367058418978965,-1.7082956805723142e-5,-2.7888277038928824e-8,-0.0017361397871615877,-1.7213636041267133e-5,-2.8006313607759834e-8,-0.0017355130919502622,-1.7217983517437767e-5,-2.8014887489228886e-8,-0.0017349010873700975,-1.7080148864802256e-5,-2.789998107144859e-8,-0.0017343723348015217,-1.6829898005292252e-5,-2.7687166142917287e-8,-0.0017339647832955254,-1.6527764114669422e-5,-2.742869117101087e-8,-0.0017336786370508808,-1.6239846977128967e-5,-2.718170516827529e-8,-0.0017334849605685624,-1.6017009429821272e-5,-2.6990333500378085e-8,-0.0017333407869161536,-1.588567181395312e-5,-2.6877727087182345e-8,-0.0017332024740586718,-1.5848606242811324e-5,-2.6846667644146168e-8,-0.0017330340615586818,-1.5890746362680283e-5,-2.68844715727071e-8,-0.0017328110493750382,-1.598598400945783e-5,-2.696877596915934e-8,-0.00173252127473545,-1.6103053832416733e-5,-2.7072598915931684e-8,-0.0017321643150833425,-1.6210210138051937e-5,-2.716841036510506e-8,-0.0017317501140170313,-1.6278998147010685e-5,-2.723144593688566e-8,-0.0017312970188940173,-1.6287366080985484e-5,-2.7242447571344237e-8,-0.0017308292084595779,-1.6222185622260528e-5,-2.7189872388028625e-8,-0.001730373452436675,-1.6081006942388617e-5,-2.7071418830950497e-8,-0.0017299553582569695,-1.5872667604661172e-5,-2.6894553273205772e-8,-0.0017295955423252537,-1.5616500957420817e-5,-2.6675832877706237e-8,-0.0017293061873740823,-1.5340170469505593e-5,-2.6439061947713e-8,-0.0017290883470865532,-1.507625010199129e-5,-2.6212382075122478e-8,-0.0017289303472872032,-1.485771739629063e-5,-2.6024423253133448e-8,-0.0017288076171489378,-1.4712600788592941e-5,-2.5899692716363257e-8,-0.0017286843786890062,-1.4657982104751628e-5,-2.5853345982890227e-8,-0.0017285179920752429,-1.469378801204321e-5,-2.5885710544355952e-8,-0.0017282669016267444,-1.4797809692912494e-5,-2.597784298491023e-8,-0.0017279022709099565,-1.4924826606494031e-5,-2.6090678957383975e-8,-0.0017274210330882648,-1.5013539408658058e-5,-2.6171041964052904e-8,-0.0017268544886931924,-1.500339980186787e-5,-2.6166307322124555e-8,-0.0017262646488298942,-1.4857541654773406e-5,-2.6044338623451537e-8,-0.0017257250829835684,-1.4580494467278208e-5,-2.5808814537283378e-8,-0.0017252937794389228,-1.4218526667931194e-5,-2.5499476937908507e-8,-0.0017249930231404602,-1.3840794807331261e-5,-2.517585149150039e-8,-0.0017248067699141875,-1.351270711306445e-5,-2.4894335555473773e-8,-0.0017246934534974646,-1.3276295708485894e-5,-2.4691333401292228e-8,-0.0017246038274408126,-1.314433765536367e-5,-2.4578159853052325e-8,-0.0017244948196652298,-1.3105269854769773e-5,-2.454517288778279e-8,-0.0017243364526524838,-1.3132362073222714e-5,-2.456957312402072e-8,-0.0017241132667976712,-1.3192342565411862e-5,-2.4622786661510245e-8,-0.0017238228661482834,-1.325163183139236e-5,-2.4675851118792835e-8,-0.0017234735662261548,-1.3280343921097598e-5,-2.470291409721152e-8,-0.0017230820075737141,-1.3254924222723466e-5,-2.4683557620105018e-8,-0.0017226707950760843,-1.3160121817767504e-5,-2.4604525475472103e-8,-0.001722265910630456,-1.2990581890931382e-5,-2.4461095384133306e-8,-0.001721893605087852,-1.275194862461917e-5,-2.4258014835579526e-8,-0.0017215766694778005,-1.2461004044485085e-5,-2.400961012256891e-8,-0.0017213304202050618,-1.2144266502687791e-5,-2.373858904526001e-8,-0.0017211591144521662,-1.1834740035222872e-5,-2.3473278345894057e-8,-0.0017210536379387664,-1.15669121811399e-5,-2.3243368159746304e-8,-0.0017209912434660293,-1.137053703664978e-5,-2.3074600444917153e-8,-0.00172093786428734,-1.126418106526938e-5,-2.2983213066028008e-8,-0.0017208531150557185,-1.1249725559581083e-5,-2.2971150222902847e-8,-0.0017206977257007766,-1.1309037278010377e-5,-2.3023095245395752e-8,-0.0017204427559582552,-1.1404176889886242e-5,-2.3106548502949438e-8,-0.0017200791234227555,-1.1482681882738014e-5,-2.3176327687590162e-8,-0.0017196246541953794,-1.148889330573019e-5,-2.3184350335903796e-8,-0.001719124641958263,-1.1380227657635337e-5,-2.3093722950941158e-8,-0.0017186423638384035,-1.114361781624759e-5,-2.289295661201278e-8,-0.0017182400231541156,-1.0804036814357762e-5,-2.2603315828948557e-8,-0.0017179572397719124,-1.0418304686722344e-5,-2.2273489276189473e-8,-0.0017177979779009823,-1.0055136813138216e-5,-2.1962468500676522e-8,-0.0017177326568771723,-9.771363476111051e-6,-2.171915971274942e-8,-0.0017177126940655086,-9.59618259083335e-6,-2.1568855933039855e-8,-0.0017176882158911563,-9.528664202440341e-6,-2.151102115154199e-8,-0.0017176207842986657,-9.54532916023194e-6,-2.152570092195504e-8,-0.001717488539588401,-9.61114215968148e-6,-2.1582903167043163e-8,-0.0017172856020235222,-9.688935408136953e-6,-2.1650695633700068e-8,-0.0017170188075453885,-9.745503388018222e-6,-2.1700489974222203e-8,-0.001716704030343493,-9.75481187740589e-6,-2.1709853665659155e-8,-0.001716363051667733,-9.699527683861308e-6,-2.1663854398151375e-8,-0.0017160209740540878,-9.571902058244573e-6,-2.155581284513286e-8,-0.0017157037275235207,-9.374493289871258e-6,-2.1387892099804606e-8,-0.0017154351582843574,-9.12063251889091e-6,-2.1171465309349033e-8,-0.0017152334371241793,-8.834059379219236e-6,-2.0926792740536966e-8,-0.0017151070380174468,-8.54691461997685e-6,-2.0681324010697784e-8,-0.0017150511747853247,-8.295434661355793e-6,-2.0466057621787945e-8,-0.0017150460711992154,-8.113332137404114e-6,-2.030992124260642e-8,-0.0017150584488687581,-8.023886119027629e-6,-2.0233017236108107e-8,-0.0017150469068009022,-8.032794681682757e-6,-2.0240470470753276E-08,-0.0017149705846409252,-8.124212126971078e-6,-2.031895666669989e-8,-0.0017147992299687779,-8.261786867259084e-6,-2.043750161115691e-8,-0.0017145220766764634,-8.39524066367176e-6,-2.0553060054856926e-8,-0.001714152932724592,-8.471588872493842e-6,-2.062012893709478e-8,-0.0017137294505731322,-8.448766698921679e-6,-2.0602470471424994e-8,-0.0017133056268037235,-8.30827935977141e-6,-2.0484010951138584e-8,-0.0017129382965746429,-8.062726137621993e-6,-2.0275329834940626e-8,-0.0017126708829768335,-7.754388283059394e-6,-2.0012476947012425e-8,-0.0017125200757254853,-7.443621313326269e-6,-1.9747060849152198e-8,-0.0017124712795059404,-7.190431363037621e-6,-1.9530504080148718e-8,-0.001712485108463056,-7.0366396458408515e-6,-1.9398773754969298e-8,-0.0017125116285125956,-6.995979960543143e-6,-1.9363850589301513e-8,-0.0017125055152946264,-7.054904126090996e-6,-1.941433171688431e-8,-0.0017124362267456486,-7.181290036679982e-6,-1.9522819783303132e-8,-0.0017122912356786113,-7.33559115667751e-6,-1.9655458212988638e-8,-0.0017120739679193392,-7.480041670713854e-6,-1.9779851901213196e-8,-0.0017117993662422982,-7.584250733816216e-6,-1.9869913460128613e-8,-0.0017114893374762983,-7.627641340691138e-6,-1.9907989660052855e-8,-0.0017111690927208221,-7.6000125055850025e-6,-1.9885345225042433e-8,-0.0017108644073861132,-7.501412760528949e-6,-1.9802025000362843e-8,-0.0017105992780522003,-7.341978719606794e-6,-1.966667578346078e-8,-0.0017103933189507282,-7.1417111820099305e-6,-1.949632951528594e-8,-0.0017102585004460788,-6.929573781906971e-6,-1.9315642219774395e-8,-0.0017101954017993111,-6.7409497837180035e-6,-1.9154764556717096e-8,-0.0017101899463117245,-6.612514274616833e-6,-1.904501927146042e-8,-0.0017102124219094009,-6.574302226505446e-6,-1.9012164611844463e-8,-0.0017102208546907933,-6.640381461484933e-6,-1.906841604034119e-8,-0.0017101696872487946,-6.801430426475136e-6,-1.920604126355059e-8,-0.0017100221870999638,-7.023203351349197e-6,-1.939596217498844e-8,-0.0017097624173563275,-7.2532026779098715e-6,-1.959339512897098e-8,-0.0017094018542985613,-7.4343348959541015e-6,-1.9749511339903364e-8,-0.0017089776595243197,-7.520980981562084e-6,-1.982519953065219e-8,-0.0017085430785728673,-7.491875094526717e-6,-1.98021064005799e-8,-0.0017081533169143335,-7.355782261528479e-6,-1.968751486928549e-8,-0.0017078512816734047,-7.148736530329722e-6,-1.9512013140907094e-8,-0.0017076570788535014,-6.924050653939927e-6,-1.9321004792382517e-8,-0.0017075639301940206,-6.73805286028801e-6,-1.9162573935492407e-8,-0.0017075414744693901,-6.635623404704152e-6,-1.9075152574921577e-8,-0.0017075452538536885,-6.6397481673598866e-6,-1.907856769945405e-8,-0.0017075291279762277,-6.74799680854229e-6,-1.917095975773456e-8,-0.001707456464753147,-6.936270654025548e-6,-1.9331909124735297e-8,-0.001707306873839935,-7.167486224038338e-6,-1.9529815014463757e-8,-0.0017070774940020905,-7.40150152130711e-6,-1.9730384470556232e-8,-0.001706780055599116,-7.603160648750164e-6,-1.9903542367193303e-8,-0.0017064359548183703,-7.747073464223104e-6,-2.0027552034501053e-8,-0.0017060712869391593,-7.819370843360752e-6,-2.009053088308096e-8,-0.0017057128647851082,-7.81750689300007e-6,-2.0090272816758505e-8,-0.0017053853475831233,-7.749258787440385e-6,-2.0033369653230264e-8,-0.0017051090246987348,-7.63165252439743e-6,-1.9934273203516424e-8,-0.0017048976130836205,-7.48990374053086e-6,-1.9814391821666054e-8,-0.0017047556071532683,-7.355870167993619e-6,-1.9700800557958514e-8,-0.0017046752314598494,-7.265069438578037e-6,-1.962374814999241e-8,-0.001704633907873945,-7.251176602605976e-6,-1.9612010035070857e-8,-0.0017045942123405239,-7.337574074837141e-6,-1.968569133958673e-8,-0.0017045088636094908,-7.527447475358424e-6,-1.984773628854404e-8,-0.0017043321125059295,-7.796609969145614e-6,-2.0077728553648004e-8,-0.0017040352892301902,-8.094628881719389e-6,-2.033278529821439e-8,-0.0017036199174814714,-8.357321757473915e-6,-2.0558199710134475e-8,-0.0017031207453830734,-8.527279641554265e-6,-2.07049674527795e-8,-0.0017025957211632837,-8.573251713438601e-6,-2.0746330786424403e-8,-0.0017021073995130097,-8.499347348814524e-6,-2.0685612575558143e-8,-0.0017017044497118188,-8.341162243397592e-6,-2.0552915628861326e-8,-0.0017014101770728533,-8.152663137236833e-6,-2.0393996128262026e-8,-0.001701220123087332,-7.99029114266652e-6,-2.0256802195303342e-8,-0.0017011069963663247,-7.899440803721392e-6,-2.0180015465234488e-8,-0.0017010298088642021,-7.905934485141747e-6,-2.0185786978182623e-8,-0.0017009442845075707,-8.013087611659719e-6,-2.0277176829621546e-8,-0.001700812271449088,-8.203778005991368e-6,-2.043983579510598e-8,-0.001700608518360257,-8.446292559298515e-6,-2.0646923134808663e-8,-0.0017003238336688721,-8.702227743979316e-6,-2.086581340902206e-8,-0.0016999645473487364,-8.934420936028888e-6,-2.106486263485468e-8,-0.00169954913513485,-9.113190354238928e-6,-2.1218747636263865e-8,-0.0016991033874861217,-9.22001102864717e-6,-2.1311618593498575e-8,-0.0016986554807616981,-9.248647435155238e-6,-2.13380740034121e-8,-0.0016982318855080062,-9.204399731118582e-6,-2.1302519561850147e-8,-0.0016978543995590132,-9.10238542444722e-6,-2.121770451114759e-8,-0.0016975380294125626,-8.965565187764711e-6,-2.1103046899748445e-8,-0.0016972892355614753,-8.822716746064468e-6,-2.0982928734896224e-8,-0.001697104147393287,-8.706075816679848e-6,-2.0884721675880377e-8,-0.0016969666972081788,-8.647926619789557e-6,-2.0835920379221263e-8,-0.00169684740011825,-8.675181170249637e-6,-2.0859546028640884e-8,-0.0016967045804855362,-8.801519162920972e-6,-2.0967436610679105e-8,-0.0016964905065300056,-9.01844333619171e-6,-2.1152579343920042e-8,-0.0016961639731149969,-9.289415793960601e-6,-2.138406153842879e-8,-0.001695707106127775,-9.553311743058151e-6,-2.160998864081665e-8,-0.0016951385176591758,-9.741104001052941e-6,-2.1771702413548394e-8,-0.0016945128063564176,-9.801298769835388e-6,-2.1825425829586347e-8,-0.001693902985101117,-9.720976758235634e-6,-2.176009941619977e-8,-0.0016933741666031645,-9.529958261736527e-6,-2.1600847624303437e-8,-0.0016929627649807358,-9.286767509844959e-6,-2.1397063223247418e-8,-0.0016926700984223038,-9.056285660978077e-6,-2.1203544267075215e-8,-0.0016924690855679811,-8.890755742029625e-6,-2.1064502321326876e-8,-0.0016923170302585921,-8.819805710338477e-6,-2.1005150945671767e-8,-0.0016921682214408472,-8.8489478525651e-6,-2.1030391509463162e-8,-0.0016919833229793798,-8.963433333096914e-6,-2.1127991678712995e-8,-0.0016917350451069605,-9.1345146397534e-6,-2.1273812337831973e-8,-0.0016914106590955637,-9.326304850307346e-6,-2.1437577987506275e-8,-0.0016910119930584138,-9.50234733555081e-6,-2.158843896357954e-8,-0.0016905533915853798,-9.631291450467526e-6,-2.1699798048136526e-8,-0.0016900581754099764,-9.69110899668149e-6,-2.1752905508392625e-8,-0.0016895542586885487,-9.671493446052107e-6,-2.1738910779710982e-8,-0.0016890696305639124,-9.574362283327237e-6,-2.1659302094648493e-8,-0.0016886283866275086,-9.412685663855614e-6,-2.1524925607916213e-8,-0.001688247743667381,-9.208192002297713e-6,-2.1354054577412935e-8,-0.0016879360364431592,-8.98854909081757e-6,-2.1170017704178606e-8,-0.0016876914563649197,-8.784322466768402e-6,-2.0998642806816554e-8,-0.0016875013089274406,-8.625690463057586e-6,-2.086549585606093e-8,-0.0016873417279686287,-8.53858560005698e-6,-2.0792626469016813e-8,-0.001687178325547085,-8.539692110101775e-6,-2.079432297753112e-8,-0.0016869691166023061,-8.630151987089456e-6,-2.0871746461888742e-8,-0.0016866715029369072,-8.789267347131455e-6,-2.100754636158876e-8,-0.001686254318023176,-8.97163165767185e-6,-2.1163398058176738e-8,-0.0016857129301765929,-9.112940780203801e-6,-2.1284938230037018e-8,-0.0016850801573558933,-9.148161471228022e-6,-2.1317184884815498e-8,-0.001684422796496244,-9.037763226930734e-6,-2.122672379094548e-8,-0.0016838198027999708,-8.787797426035769e-6,-2.1018591580797273e-8,-0.0016833318949512636,-8.44940531154977e-6,-2.0735764854021037e-8,-0.0016829803888256231,-8.096954946202853e-6,-2.0440726785689123e-8,-0.0016827459755191082,-7.799047296914452e-6,-2.0191141842253217e-8,-0.001682583454796451,-7.598483392665845e-6,-2.0023083749209106e-8,-0.0016824406087873034,-7.507046345778621e-6,-1.9946647297024858e-8,-0.00168227233893414,-7.511005682637191e-6,-1.995050767444206e-8,-0.0016820477635596358,-7.580629314178077e-6,-2.0009840918065495e-8,-0.0016817519149339769,-7.679226904576688e-6,-2.0093885939198342e-8,-0.0016813844563981313,-7.770076038468931e-6,-2.017176810577966e-8,-0.00168095711875254,-7.821310599237092e-6,-2.02166337334569e-8,-0.0016804905773571324,-7.809332280904686e-6,-2.020854689581189e-8,-0.001680010953275545,-7.72105576611143e-6,-2.013639837823021e-8,-0.001679546036692029,-7.555014866778501e-6,-1.999884849506686e-8,-0.0016791214090587767,-7.3212178391739496e-6,-1.9804212819061585e-8,-0.0016787568208649483,-7.0396326381076e-6,-1.956919439356282e-8,-0.0016784633058374865,-6.737431280764423e-6,-1.9316573595337173e-8,-0.0016782413530992905,-6.445394475960026e-6,-1.907219462969039e-8,-0.001678080222805157,-6.193862700986028e-6,-1.8861571689255484e-8,-0.0016779584103784654,-6.008506027515523e-6,-1.8706342929766363e-8,-0.001677845249146384,-5.906093833141004e-6,-1.8620715185890165e-8,-0.0016777038192801804,-5.890290612856807e-6,-1.8607914310898255e-8,-0.0016774958004093384,-5.947719194763358e-6,-1.8656841222782147e-8,-0.0016771890493794792,-6.04551842846217e-6,-1.873997969081269e-8,-0.001676767832841618,-6.132885965309012e-6,-1.8814675758844495e-8,-0.0016762435242489034,-6.149771262434435e-6,-1.8830466334363702e-8,-0.0016756602448421592,-6.044400624246342e-6,-1.8743841862040513e-8,-0.001675087945535953,-5.795520152856072e-6,-1.8536922752685177e-8,-0.001674600133436057,-5.427392994706577e-6,-1.8229981102522346e-8,-0.0016742451149479186,-5.004926323171685e-6,-1.7877295972549893e-8,-0.0016740276746855878,-4.608399079730942e-6,-1.7546004506771972e-8,-0.0016739119980301556,-4.302510944871832e-6,-1.729026756861099e-8,-0.0016738412334485694,-4.117301795986611e-6,-1.7135338860309113e-8,-0.0016737597260480786,-4.047201977927108e-6,-1.7076725758927597e-8,-0.0016736272940627243,-4.062129813392705e-6,-1.708939796436854e-8,-0.0016734236526182423,-4.121225593287399e-6,-1.7139232302019368e-8,-0.0016731464204356393,-4.183527382690121e-6,-1.719194905092986e-8,-0.001672806667024793,-4.214324596648135e-6,-1.721846074771176e-8,-0.0016724243936852225,-4.1882372375009135e-6,-1.7197481453770475e-8,-0.0016720247121886067,-4.090499672781078e-6,-1.71166177315317e-8,-0.001671634560924054,-3.9173958791691575e-6,-1.697273167292582e-8,-0.0016712796064216253,-3.676148262014399e-6,-1.677183719774153e-8,-0.0016709811132979546,-3.3841381804794744e-6,-1.6528438089025636e-8,-0.001670752839878428,-3.067097445950772e-6,-1.626401154436992e-8,-0.0016705983902454557,-2.755995668689129e-6,-1.6004410253319553e-8,-0.0016705096420609104,-2.4827410471397807e-6,-1.5776279333381472e-8,-0.0016704667555038147,-2.2751486697532836e-6,-1.5602864533974782e-8,-0.001670440054529566,-2.151829226592785e-6,-1.5499751063543376e-8,-0.001670393800312215,-2.117817669325008e-6,-1.5471212409242127e-8,-0.001670291584102462,-2.1617204405963794e-6,-1.5507814775575798e-8,-0.0016701029794063543,-2.2550054075283997e-6,-1.5585801952800447e-8,-0.0016698110099757678,-2.354258371242796e-6,-1.5668961170856538e-8,-0.0016694193436379667,-2.4075797922360825e-6,-1.5713962061550806e-8,-0.0016689568880535386,-2.3659216383981152e-6,-1.5679837674904023e-8,-0.001668476255894404,-2.198389705642687e-6,-1.5540770761251108e-8,-0.0016680427111036224,-1.9070635849955495e-6,-1.5298448763090533e-8,-0.0016677138985701416,-1.5331708742942751e-6,-1.49871845626283e-8,-0.001667517861434114,-1.147223731015582e-6,-1.4665690841976024e-8,-0.0016674416245268775,-8.243545513833562e-7,-1.4396566986045408e-8,-0.0016674379465091208,-6.170824570407865e-7,-1.4223645290633774e-8,-0.0016674458929825874,-5.401446955353702e-7,-1.415932767755485e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_20.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_20.json
deleted file mode 100644
index 1de0a54..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_20.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":20000,"numberOfSamples":1000,"samples":[0.002920358133904192,-6.784113942412794e-6,1.9052440314477163e-8,0.0029206413912713745,-6.613636446664559e-6,1.880279195741177e-8,0.0029208307139081857,-6.4248857259363685e-6,1.8526799455172666e-8,0.002920930147853429,-6.259580496894272e-6,1.8285299846459358e-8,0.002920958301557765,-6.151401288497133e-6,1.8127384394993633e-8,0.002920943527534336,-6.121517965926748e-6,1.8083876197142136e-8,0.002920918375602291,-6.176714362040785e-6,1.816459054828576e-8,0.0029209142523147777,-6.309966452545619e-6,1.8359183512205728e-8,0.0029209570493570875,-6.502919273456435e-6,1.864078390277559e-8,0.0029210641805222245,-6.729529878146821e-6,1.8971329337261025e-8,0.0029212431239192664,-6.960111764971586e-6,1.9307474224319167e-8,0.0029214911994797127,-7.165144308668532e-6,1.960613535377138e-8,0.002921796120285953,-7.318617634903727e-6,1.982935162046132e-8,0.002922137007124233,-7.4010933087209115e-6,1.994874542519259e-8,0.0029224858842140738,-7.402792330024526e-6,1.9950053694911065e-8,0.0029228100891597296,-7.3269133160290385e-6,1.9838013786501703e-8,0.0029230765056806078,-7.192875581754198e-6,1.9641124744988003e-8,0.002923258593947595,-7.038021661925838e-6,1.941411030247615e-8,0.0029233461420444737,-6.914897975233613e-6,1.9233867338703342e-8,0.0029233550561071457,-6.88082642372724e-6,1.9184132872670825e-8,0.002923331035256764,-6.979157664713172e-6,1.9328047777690732e-8,0.002923340142385916,-7.2183869507838524e-6,1.9677702094935728e-8,0.002923445583922481,-7.561828631160178e-6,2.0179192009197127e-8,0.002923681317946548,-7.937980661899995e-6,2.072789220706034e-8,0.0029240384097172193,-8.268180631197756e-6,2.1208898937220332e-8,0.0029244717828463846,-8.495446917109097e-6,2.1539128515592525e-8,0.0029249206337382287,-8.5993447870362e-6,2.168897594018406e-8,0.0029253292642615033,-8.593866031641322e-6,2.1679150221309016e-8,0.002925659785723746,-8.515407336314436e-6,2.1563040883823154e-8,0.0029258958667452545,-8.409144036535884e-6,2.140676187245665e-8,0.0029260405842169023,-8.318330424117874e-6,2.1273515340970926e-8,0.0029261116369550147,-8.277597083016847e-6,2.1213831819462888e-8,0.0029261360482877165,-8.309529221173803e-6,2.1260608728115165e-8,0.0029261452014683505,-8.42340926017503e-6,2.142729184107828e-8,0.002926170313882796,-8.615486024606374e-6,2.1708269585437497e-8,0.00292623844165663,-8.870566448345604e-6,2.2081201504360447e-8,0.00292636924853009,-9.164729529600066e-6,2.2511001728707966e-8,0.0029265727710682966,-9.46889441648262e-6,2.295507952203869e-8,0.0029268483980316373,-9.752900430721535e-6,2.336931848773817e-8,0.0029271851539575938,-9.989600330613871e-6,2.371405611551756e-8,0.0029275631112714875,-1.0158516530347245e-5,2.3959412562508196e-8,0.002927955664309901,-1.0248883948905652e-5,2.408973052847181e-8,0.002928332543885939,-1.0262052169211477e-5,2.4107097524156514e-8,0.002928663659626732,-1.0213176614852856e-5,2.4033835922844377e-8,0.002928924086482032,-1.0131859571605514e-5,2.391343414198871e-8,0.002929100469893201,-1.006068720901442e-5,2.380835533385682e-8,0.00292919825272032,-1.0049779074946679e-5,2.3791978424671676e-8,0.0029292472514429032,-1.0145544621233506e-5,2.3932078427797663e-8,0.0029293008561212352,-1.0374107175155202e-5,2.4266580620660107e-8,0.0029294238469290295,-1.0725024417737487e-5,2.4779841229322424e-8,0.002929669111734987,-1.114611883277768e-5,2.539521780426727e-8,0.0029300535325597157,-1.1558053316444333e-5,2.599647534430263e-8,0.0029305485124082784,-1.1884615009568598e-5,2.647210161222967e-8,0.0029310923955805034,-1.2081611605397568e-5,2.675757842754958e-8,0.002931616304399638,-1.2148069338781219e-5,2.6851763811636517e-8,0.002932067285150511,-1.2117575796211164e-5,2.6804177118692685e-8,0.002932418917621506,-1.2040100109443465e-5,2.6688285414068273e-8,0.002932670230039864,-1.1965464765100921e-5,2.657720810322275e-8,0.0029328387680504554,-1.1933289258766363e-5,2.6528961772784398e-8,0.00293295270881014,-1.196897681852962e-5,2.658062017342903e-8,0.002933044376699607,-1.2083490982675024e-5,2.67480469420976e-8,0.0029331455921541476,-1.2274805413081184e-5,2.7028061070784242e-8,0.002933284292138651,-1.2529877406152909e-5,2.7401345594697467e-8,0.00293348183921598,-1.2826952297089921e-5,2.7835835906596038e-8,0.0029337508490475143,-1.3138354603080276e-5,2.829083170402535e-8,0.002934093645838865,-1.3433894030281315e-5,2.872201713802254e-8,0.0029345016544849406,-1.3684880135773215e-5,2.908736254701938e-8,0.0029349561406361926,-1.386840837531521e-5,2.935340201831078e-8,0.002935430486740117,-1.3971275110489517e-5,2.95009506018706e-8,0.002935893835760189,-1.3992889279387817e-5,2.9529348563241594e-8,0.002936315747796631,-1.3946693107954746e-5,2.9458526641335536e-8,0.0029366714399644074,-1.3859725730502529e-5,2.9328347332084718e-8,0.0029369471463227275,-1.3770076163005065e-5,2.919483182596872e-8,0.0029371450608840764,-1.3721886782902614e-5,2.912277265954847e-8,0.002937286864066753,-1.3757394229001907e-5,2.917400350300773e-8,0.0029374138979444495,-1.3905986529102212e-5,2.9391340967481903e-8,0.002937581299334286,-1.4172039349156543e-5,2.9780814874648412e-8,0.002937844163109093,-1.45262281968288e-5,3.029905020497397e-8,0.0029382377175291947,-1.4907319198974039e-5,3.085599616240686e-8,0.0029387598782889463,-1.5239082205155629e-5,3.13397558100923e-8,0.0029393676298225253,-1.5457827043506526e-5,3.165695446938089e-8,0.002939992216838139,-1.5536378976067384e-5,3.1767915909756623e-8,0.0029405653190518453,-1.5490797301223943e-5,3.169654522724492e-8,0.002941041254771594,-1.536815347138079e-5,3.151235350452084e-8,0.00294140542344543,-1.5225670745632641e-5,3.129971116966001e-8,0.0029416699353257774,-1.511314588614597e-5,3.113191036723647e-8,0.002941863403875871,-1.5063955018859357e-5,3.105791466104839e-8,0.002942020994539501,-1.5093505935668198e-5,3.110013611490886e-8,0.002942177366646585,-1.520170158147927e-5,3.125814014183412e-8,0.0029423625508156873,-1.537654151057894e-5,3.1514004634474597e-8,0.002942599690849947,-1.559743059921687e-5,3.183721614696178e-8,0.00294290359336924,-1.5838011990550073e-5,3.2188849522134435e-8,0.00294327957060671,-1.606891948600009e-5,3.252562907878252e-8,0.002943722566359027,-1.626091105834113e-5,3.2804552667574874e-8,0.0029442169460562008,-1.6388674978272435e-5,3.2988495583917805e-8,0.002944737613991192,-1.643514977217652e-5,3.3052553288382284e-8,0.002945253028492552,-1.6395599116742716e-5,3.299000825108424e-8,0.0029457301748656087,-1.6280316984019043e-5,3.2816276383530096e-8,0.0029461409054937337,-1.6114844458962526e-5,3.2569189442586106e-8,0.002946468467779173,-1.59369584836108e-5,3.230452078197805e-8,0.0029467127007430827,-1.5790452065963385e-5,3.20867790313752e-8,0.002946892484190752,-1.571653783339316e-5,3.19765091292342e-8,0.0029470444074099875,-1.574421226294738e-5,3.201610119609517e-8,0.00294721700040216,-1.5881334913556607e-5,3.2216717921521556e-8,0.002947460426363542,-1.6108825234197094e-5,3.2549869520431156e-8,0.002947812788728661,-1.6380947123874963e-5,3.294795449427606e-8,0.002948286406491707,-1.663423983095662e-5,3.3317466246604255e-8,0.0029488597757889802,-1.6805051579412595e-5,3.356478318315856e-8,0.0029494809972528905,-1.6850594771345913e-5,3.362711592054566e-8,0.0029500837834087173,-1.6764027436157334e-5,3.3494691584581735e-8,0.002950609547099543,-1.65754022846451e-5,3.321214488618771e-8,0.0029510248489415226,-1.6338277873894157e-5,3.285874310463184e-8,0.002951326908519711,-1.6110067758768604e-5,3.251932528889389e-8,0.002951537740617979,-1.5935923031543694e-5,3.226045946019777e-8,0.002951692897861342,-1.5841154803625142e-5,3.2119268917177497e-8,0.0029518308167177263,-1.5831373922113136e-5,3.210371527010424e-8,0.002951985680243071,-1.5896753371837802e-5,3.219898309769699e-8,0.0029521838394617654,-1.6017149276703177e-5,3.237510141211502e-8,0.0029524425171660266,-1.6166416508957604e-5,3.259333287301716e-8,0.002952769476479237,-1.631566760743691e-5,3.281097659429368e-8,0.0029531628666808734,-1.6435949662826805e-5,3.298530817637135e-8,0.002953611072809355,-1.6501010877409013e-5,3.307765926789581e-8,0.0029540929521073237,-1.6490693620487103e-5,3.305842467294873e-8,0.002954579264429746,-1.639499922671663e-5,3.291305556929234e-8,0.00295503617946976,-1.6218085914775832e-5,3.264794315872196e-8,0.0029554312636725514,-1.598068794654785e-5,3.2293958485677294e-8,0.002955741283648492,-1.5719093070127868e-5,3.1904895652031e-8,0.002955959806034109,-1.547937573783238e-5,3.154889715991773e-8,0.0029561017019983917,-1.5307268455907255e-5,3.129343797151466e-8,0.002956202124345455,-1.5236171399037398e-5,3.118759456372629e-8,0.002956309344895545,-1.5277053681785616e-5,3.124717312307237e-8,0.002956473061121083,-1.5413664099591182e-5,3.144774573045378e-8,0.002956731321048645,-1.56048785559379e-5,3.1728248939181924e-8,0.00295709965139376,-1.5793981380019647e-5,3.20047831722283e-8,0.002957565526219128,-1.592284518104132e-5,3.2191570296512827e-8,0.002958090281759539,-1.5947524626471783e-5,3.2223937815342005e-8,0.0029586188407144266,-1.5850738642942996e-5,3.2076690446522256e-8,0.002959094945026436,-1.5646720190761735e-5,3.177121976954928e-8,0.002959476848073268,-1.5376083073574004e-5,3.136786811924238e-8,0.0029597476091094625,-1.5092533249955837e-5,3.094622473963542e-8,0.0029599165389014807,-1.4847001851064014e-5,3.058161120537158e-8,0.0029600126576895124,-1.4675368085643121e-5,3.032691574396036e-8,0.0029600742944759875,-1.4593152680899354e-5,3.020479859533819e-8,0.0029601393336397405,-1.4596748310243467e-5,3.020960605628144e-8,0.002960238698290419,-1.4668406120361078e-5,3.031483113270092e-8,0.002960393348094185,-1.4782054688900286e-5,3.048176038556993e-8,0.0029606137208240614,-1.4908213038661743e-5,3.0666732803764704e-8,0.002960900307724539,-1.5017561814104221e-5,3.082638893027108e-8,0.002961244434757364,-1.50835587775595e-5,3.092151102287129e-8,0.0029616289196745093,-1.508481954343969e-5,3.092053838966425e-8,0.0029620288994349014,-1.5007922270276185e-5,3.080373072655211e-8,0.002962413625758523,-1.485083932757977e-5,3.056826258788275e-8,0.0029627502369207145,-1.4626387490437281e-5,3.023332794121676e-8,0.002963010182597418,-1.4364071234967201e-5,2.9842834228472034E-08,0.002963177767764606,-1.4107920694885702e-5,2.9462135061082662e-8,0.002963258245024794,-1.390835698351417e-5,2.9165907356940043e-8,0.002963281197327158,-1.3808595017261191e-5,2.9017964910745684e-8,0.0029632955592347656,-1.3829869002871433e-5,2.9049396981577167e-8,0.0029633562901483323,-1.396211303207011e-5,2.9244867118890364e-8,0.002963507429295757,-1.4165122782118485e-5,2.9544476640865564e-8,0.0029637685076608447,-1.4380196230406393e-5,2.986111941278739e-8,0.0029641293995320965,-1.4547336536681909e-5,3.010599812437667e-8,0.0029645544477331213,-1.462147944059388e-5,3.021262159737794e-8,0.002964993199433165,-1.4582947790407866e-5,3.015220993420224e-8,0.002965393786237881,-1.4440252912374524e-5,2.993775541428279e-8,0.002965715263846332,-1.4225700000439636e-5,2.9617431791449873e-8,0.002965936105661564,-1.3985740295725363e-5,2.926023813664994e-8,0.0029660572013795127,-1.3768956215185547e-5,2.893816297894991e-8,0.0029660991821764673,-1.361495218959358e-5,2.8709729777681658e-8,0.0029660954822132313,-1.3546940317984253e-5,2.8609061319606824e-8,0.0029660836753954115,-1.3569374678669404e-5,2.86424548981107e-8,0.002966097715672726,-1.3670152439685494e-5,2.8791723939980673e-8,0.002966162758787371,-1.382559151959131e-5,2.9021622975413763e-8,0.002966292909415142,-1.4006141463460001e-5,2.9288313696922994e-8,0.0029664912327432187,-1.4181368889154244e-5,2.9546719679842586e-8,0.00296675098439865,-1.432364071392131e-5,2.975594063607446e-8,0.0029670571768570203,-1.441068763053631e-5,2.988302426452729e-8,0.0029673880824924595,-1.4427641005829092e-5,2.990599124607975e-8,0.0029677168251591012,-1.4369146872198044e-5,2.9817001755657374e-8,0.002968013691011178,-1.4241810907193253e-5,2.962601250879183e-8,0.0029682500709710805,-1.4066513065220714e-5,2.93642059457502e-8,0.002968404731954602,-1.387910107568484e-5,2.9084963591962518e-8,0.002968471978193223,-1.3727039399383037e-5,2.88588007731629e-8,0.002968469059433979,-1.3659767445614165e-5,2.875897632722551e-8,0.0029684378958154877,-1.3713145157645224e-5,2.8838395498620046e-8,0.00296843646941631,-1.3893353069001035e-5,2.9105800690051132e-8,0.0029685202671800416,-1.4169383669450605e-5,2.9514779524273305e-8,0.0029687215722676882,-1.4480741544933563e-5,2.997532983204709e-8,0.0029690374925616814,-1.4758063993347154e-5,3.038452227517716e-8,0.002969432550313911,-1.494625005415047e-5,3.0660807023103234e-8,0.0029698527534371528,-1.501941615613648e-5,3.076614564288683e-8,0.002970242975131316,-1.4983590593674082e-5,3.070991787329774e-8,0.002970560707010411,-1.486978332026129e-5,3.053852833456252e-8,0.002970783380041674,-1.4722598896256202e-5,3.031840881526067e-8,0.0029709096528671933,-1.4588664344004444e-5,3.01187930361603e-8,0.0029709563531596737,-1.4507263299708571e-5,2.999782950169233e-8,0.0029709528196634203,-1.450412607323851e-5,2.9993430059943106e-8,0.0029709340930672533,-1.4588613765477793e-5,3.011917526326649e-8,0.0029709342235076834,-1.4754157039491757e-5,3.036503994043903e-8,0.0029709808089967682,-1.4981337496558506e-5,3.070201327711546e-8,0.0029710914938153535,-1.524256500555707e-5,3.1089054340748793e-8,0.0029712726180356206,-1.5507206205397086e-5,3.1480689014010646e-8,0.0029715197167699482,-1.5746211713835314e-5,3.1833846061620287e-8,0.002971819217195222,-1.5935676545529305e-5,3.211310994113541e-8,0.0029721506391493777,-1.6059298169857467e-5,3.2294356226821274e-8,0.002972488915422919,-1.6110085669579795e-5,3.236730284468479e-8,0.0029728068475521232,-1.609171171330991e-5,3.233754856855953e-8,0.0029730780491342918,-1.6019684593364873e-5,3.2228331099957483e-8,0.002973280996517472,-1.5922014544477006e-5,3.2081488017266414e-8,0.002973404663571169,-1.5838170077771026e-5,3.195582334149546e-8,0.0029734552005521004,-1.581431674792034e-5,3.1919928221359786e-8,0.002973461188362297,-1.589302000644207e-5,3.2036819078499595e-8,0.0029734728689441363,-1.609792381140514e-5,3.234121094806937e-8,0.0029735507610109523,-1.6418860094304986e-5,3.281753040259766e-8,0.002973744280704623,-1.6807320664665265e-5,3.3393348896120576e-8,0.0029740698756861514,-1.7189700640362698e-5,3.395915574472174e-8,0.002974502213153519,-1.7494403406110863e-5,3.4408643234550394e-8,0.002974984560957685,-1.767802825408724e-5,3.4677597890506306e-8,0.0029754513730213712,-1.773672456282881e-5,3.476073805538473e-8,0.002975849730807777,-1.7700253301847003e-5,3.470280180238341e-8,0.0029761508530331345,-1.7616516953682456e-5,3.4575409590022556e-8,0.0029763511916333146,-1.7535807952942615e-5,3.445351817065031e-8,0.0029764671850589274,-1.7499734982786542e-5,3.439891544803893e-8,0.002976527814731713,-1.753553605886131e-5,3.445182277720747e-8,0.0029765674333753333,-1.7654482487030005e-5,3.462863214504655e-8,0.0029766197783471023,-1.785285028144174e-5,3.4923452338110174e-8,0.002976713303471049,-1.8114495901758313e-5,3.531200044507124e-8,0.00297686786306883,-1.841450460826479e-5,3.575704849602197e-8,0.002977092820345906,-1.8723439945705067e-5,3.6214741069552453E-08,0.0029773865940886136,-1.9011730919729806e-5,3.6641106825301627e-8,0.00297773758195352,-1.9253744086145604e-5,3.6998098021908325e-8,0.002978126225410339,-1.9431077092030192e-5,3.725847234837322e-8,0.002978527778364898,-1.953481608938666e-5,3.740914085341509e-8,0.0029789154040244796,-1.9566826718393777e-5,3.7453087807647996e-8,0.002979263474936315,-1.9540223734977267e-5,3.741007038668588e-8,0.002979551126528603,-1.9479037319080024e-5,3.731610210216535e-8,0.002979766242014358,-1.9416859969519788e-5,3.722137847792964e-8,0.0029799099497124348,-1.9393715173435276e-5,3.7185523694292244e-8,0.002980000915971834,-1.94498533312271e-5,3.7268276541520824e-8,0.0029800772524500073,-1.9615566721707554e-5,3.7514326950814606e-8,0.002980192469529219,-1.9898167604817833e-5,3.7934040287157073e-8,0.0029804022602219083,-2.0271164712515565e-5,3.8487521814506124e-8,0.0029807434701728474,-2.067424132501533e-5,3.9084720785291444e-8,0.0029812147089178787,-2.1030261025836366e-5,3.961077233026522e-8,0.0029817719928732045,-2.127449949752043e-5,3.99694784583061e-8,0.0029823449666828935,-2.1379992430783766e-5,4.0121037663042906e-8,0.0029828645165091085,-2.136410513008704e-5,4.009182899623436e-8,0.0029832854451143304,-2.127531976246566e-5,3.995464665032265e-8,0.002983594498668351,-2.1171712511966522e-5,3.97964527218785e-8,0.0029838054954291746,-2.1103248487216302e-5,3.9691834147374094e-8,0.002983948836829765,-2.110276132606735e-5,3.968953147631429e-8,0.002984061290257191,-2.1184288397485705e-5,3.981006008442894e-8,0.002984178513731084,-2.1345484561751207E-05,4.004945855912969e-8,0.00298433040769511,-2.157146104983014e-5,4.0385128619668554e-8,0.002984538433971821,-2.183875045296736e-5,4.078179890719198e-8,0.002984814157245484,-2.2119128743535838e-5,4.1197228817699106e-8,0.0029851587068223267,-2.2383338100873876e-5,4.158774803164346e-8,0.0029855631058775885,-2.260472386163859e-5,4.191366897386889e-8,0.002986009558291577,-2.2762699849510053e-5,4.214444460091879e-8,0.002986473810408079,-2.2845709776562213e-5,4.226307152736928e-8,0.0029869284555065143,-2.285321248440732e-5,4.226903134195116e-8,0.0029873468009023675,-2.279640960153469e-5,4.217934987696174e-8,0.0029877069362470323,-2.2697618488155953e-5,4.202762496290873e-8,0.002987995706883981,-2.2588196005956238e-5,4.186087368514205e-8,0.0029882122724941918,-2.250493424394035e-5,4.173407992678916e-8,0.002988370845250907,-2.2484777608857293e-5,4.170223881865493e-8,0.0029885017936435655,-2.255756728162393e-5,4.180950622118746e-8,0.002988649508545319,-2.2737002269993502e-5,4.20757789848222e-8,0.002988864944534272,-2.3011660125789477e-5,4.248345478531366e-8,0.0029891917531914853,-2.3340375925996207e-5,4.2970713042447454e-8,0.0029896486141179545,-2.3657833305475466e-5,4.3439950290240724e-8,0.002990215930999584,-2.3893473135528555e-5,4.378597223794274e-8,0.0029908371871804683,-2.399812996226874e-5,4.393568517521914e-8,0.0029914382467285117,-2.396417191820179e-5,4.3878147729951906e-8,0.0029919551613743003,-2.38265851199188e-5,4.3666186218943454e-8,0.0029923547556799392,-2.364535922564181e-5,4.33899815622375e-8,0.0029926388924618567,-2.34815530183942e-5,4.314111317342226e-8,0.0029928352743501543,-2.3379858232251807e-5,4.298635560434982e-8,0.002992983643000855,-2.3362211966869825e-5,4.2958145653724355e-8,0.002993124239325345,-2.3429729514789833e-5,4.305762336091702e-8,0.0029932908205783236,-2.3568260581625195e-5,4.3263117748307686e-8,0.0029935075467194595,-2.3754218892099406e-5,4.353897939933425e-8,0.002993788115402275,-2.3959322132927218e-5,4.3842700238288005e-8,0.002994135865131543,-2.415427368613513e-5,4.413039745178603e-8,0.002994544317604473,-2.431187474329782e-5,4.436143642962751e-8,0.0029949981369148688,-2.4409940834154676e-5,4.4502773677267694e-8,0.002995474733920963,-2.4434159363146072e-5,4.453322269139798e-8,0.002995946867852737,-2.438065412063379e-5,4.444727962470359e-8,0.0029963863997792425,-2.4257633800533217e-5,4.425756592263305e-8,0.0029967688850502656,-2.4085455016201706e-5,4.399488097416399e-8,0.002997078338300538,-2.3894673268282683e-5,4.370522458009922e-8,0.002997311349129843,-2.3721945852451404e-5,4.344359182276227e-8,0.002997479656226587,-2.360404297666528e-5,4.32649398235654e-8,0.0029976103593761477,-2.357065305448074e-5,4.3213385803306306e-8,0.002997743110787153,-2.3636926496027646e-5,4.3311086910764544e-8,0.002997923748088096,-2.379704664473801e-5,4.354874311053949e-8,0.0029981942175954005,-2.4020889171051923e-5,4.388077348084879e-8,0.0029985799058661606,-2.4256592745038067e-5,4.422930981774514e-8,0.0029990778745615423,-2.444143335305884e-5,4.450051619084297e-8,0.002999651934402648,-2.4520419116148653e-5,4.461236561595702e-8,0.003000240119555401,-2.4466536425871935e-5,4.452486712152954e-8,0.0030007744382348467,-2.4292342453891288e-5,4.4257372821343864e-8,0.0030012043836071256,-2.4045254021272564e-5,4.388146492212079e-8,0.003001512146798215,-2.3788596603881732E-05,4.3492440534199405e-8,0.003001713011004348,-2.3579216292932016e-5,4.3175608587979206e-8,0.0030018440201570076,-2.345253767991309e-5,4.298382851303703e-8,0.0030019492490419297,-2.3418849803166555e-5,4.293202980731309e-8,0.0030020683571267115,-2.3467794115789163e-5,4.300412504387121e-8,0.003002230577040951,-2.3575924418412295e-5,4.3164515275253525e-8,0.0030024530481396073,-2.371369072928725e-5,4.336864156691746e-8,0.0030027414546316424,-2.3850507219765965e-5,4.357057053753451e-8,0.0030030914014577796,-2.395813305179184e-5,4.3728004665977624e-8,0.003003489836964812,-2.4013129247926298e-5,4.3805913400348664e-8,0.003003916505986112,-2.3999045197511412e-5,4.3779791639210484e-8,0.0030043458018004154,-2.3908648392456543e-5,4.3639009503235175e-8,0.003004749546491452,-2.3746015567883387e-5,4.338995688522113e-8,0.0030051010544452283,-2.3527756377723387e-5,4.305786620408989e-8,0.003005380278727441,-2.3282359290256304e-5,4.268578367873625e-8,0.0030055791218540325,-2.3046814799346892e-5,4.232942511550203e-8,0.003005705403471987,-2.2860300990568903e-5,4.2047613637055405e-8,0.0030057838269298923,-2.2755768795899834e-5,4.188959157506121e-8,0.0030058528292368726,-2.275134395340437e-5,4.188212374752424e-8,0.003005957307061821,-2.2843946110056914e-5,4.2020014794074984E-08,0.003006138413427418,-2.300724171618979e-5,4.226319699714995e-8,0.0030064225790959894,-2.319527741556905e-5,4.254234844837243e-8,0.003006812562702178,-2.335201743558618e-5,4.277330694714285e-8,0.0030072836012702583,-2.3425444976355578e-5,4.2878234687331705e-8,0.003007787264335132,-2.3382901257872224e-5,4.280856410095554e-8,0.003008263689228249,-2.3222450315454287e-5,4.2561953877304193e-8,0.0030086592071474436,-2.2974830200955383e-5,4.218511547518296e-8,0.0030089426676550976,-2.26937486182808e-5,4.17591305405803e-8,0.00300911333844383,-2.2438134195979213e-5,4.137267939823414e-8,0.003009197487585295,-2.225432969879038e-5,4.1095226879594374e-8,0.003009236757661162,-2.216547948200621e-5,4.0961121500672567e-8,0.003009274709149118,-2.217043771176245e-5,4.09681037873079e-8,0.0030093468102407217,-2.224960297551781e-5,4.108625065125137e-8,0.003009475717436156,-2.2373205783984607e-5,4.1270546851323725e-8,0.003009670815179887,-2.250862585044295e-5,4.147189797251425e-8,0.0030099299700386954,-2.2625428795493783e-5,4.164463699013084e-8,0.00301024187402901,-2.269838136100306e-5,4.1750971465696804e-8,0.003010588197802463,-2.2709282253166442e-5,4.17636812926794e-8,0.0030109454772800953,-2.2648401738654642e-5,4.1668279995880246e-8,0.0030112871514783373,-2.2515993789587058e-5,4.1465320020488957e-8,0.003011586410402015,-2.2323777967550487e-5,4.1172650945728414e-8,0.003011820354517727,-2.2095615453953176e-5,4.082642765490463e-8,0.0030119753682766987,-2.1866121724890676e-5,4.0478962804724885e-8,0.0030120526329220835,-2.167596603147096e-5,4.019155827324615e-8,0.003012071619005174,-2.1563470526289128e-5,4.002177521312465e-8,0.0030120689879420764,-2.1553983387326334e-5,4.0007412510859045e-8,0.0030120914835277484,-2.1650539471334874e-5,4.015251477306536e-8,0.003012183981443884,-2.1829957093484467e-5,4.0421644155871945e-8,0.003012376436940448,-2.2046872823385574e-5,4.074612539538994e-8,0.003012674385510726,-2.2245060636632923e-5,4.104120937557746e-8,0.003013056385483303,-2.237249037808146e-5,4.122877520759659e-8,0.003013479206572159,-2.2395363336080645e-5,4.125840285038834e-8,0.00301388907552939,-2.2307009988112173e-5,4.112064949092303e-8,0.003014235716569667,-2.21292539477236e-5,4.0848957479960844e-8,0.0030144852458368573,-2.1905904722336058e-5,4.0509715506145036e-8,0.003014628140393211,-2.1690273931464643e-5,4.0183354013727575e-8,0.0030146798861370155,-2.1530670765035162e-5,3.9942465173289727e-8,0.003014674513909391,-2.1458647516230403e-5,3.9834154839566405e-8,0.0030146539150070514,-2.1483480978725524e-5,3.9871866653527925e-8,0.003014657045850174,-2.159355446238517e-5,4.003762590554032e-8,0.0030147123189946208,-2.1762610361229233e-5,4.029158028075859e-8,0.0030148344079461886,-2.1957660138997936e-5,4.0583952504102195e-8,0.003015024723893025,-2.214588593896058e-5,4.0865392615269084e-8,0.0030152739036193445,-2.22993320272481e-5,4.109395623141755e-8,0.0030155648211872598,-2.2397503358356043e-5,4.123893927793968e-8,0.0030158753159103555,-2.242862410171888e-5,4.1282740545661414e-8,0.0030161804959735242,-2.239035571976067e-5,4.122196425411615e-8,0.0030164549748184135,-2.2290484655788065e-5,4.106850249505057e-8,0.0030166756785176938,-2.2147566876471484e-5,4.085053467582822e-8,0.0030168257902463656,-2.1990840651876128e-5,4.0612367627877493e-8,0.0030168998356597245,-2.185809576971141e-5,4.041113557692705e-8,0.003016908801918456,-2.1790004412026398e-5,4.030814374624823e-8,0.0030168827390098687,-2.1820318277313286e-5,4.035402021045058e-8,0.0030168675107474373,-2.19637983748077e-5,4.057054444845606e-8,0.003016913871536386,-2.220687703617631e-5,4.09366942603126e-8,0.003017061280745224,-2.2507121073764624e-5,4.138801109760418e-8,0.0030173232653145413,-2.28042122748035e-5,4.1833304318833444e-8,0.0030176816547766365,-2.3038752114974032e-5,4.218308051823787e-8,0.003018092461901088,-2.317060860472061e-5,4.2377204037070425e-8,0.0030185000617629827,-2.3189358211647577e-5,4.240056434796237e-8,0.0030188531890023565,-2.3114278349446322e-5,4.2282916648184983e-8,0.0030191172695145925,-2.298608274263823e-5,4.2086230161827244e-8,0.003019280521670172,-2.2854616393563075e-5,4.188596434454325e-8,0.00301935377876645,-2.27664496809722e-5,4.1752283274555145e-8,0.0030193653932179577,-2.2755137035095014e-5,4.173540981919782e-8,0.0030193531828910203,-2.2835689436507088e-5,4.185743087774839e-8,0.003019355569264338,-2.3003756094996915e-5,4.211123646364793e-8,0.003019403958407845,-2.323899690414335e-5,4.246574371735947e-8,0.003019517875462904,-2.3511172447957385e-5,4.2875145551518413e-8,0.003019703373553423,-2.3786991097561844e-5,4.328922423781491e-8,0.003019954219332213,-2.4036029761377636e-5,4.3662218358333147e-8,0.003020254766068992,-2.423482031971884e-5,4.395891153209101e-8,0.003020583367897793,-2.4369010761043288e-5,4.415784033020523e-8,0.0030209155492026242,-2.4434102956819604e-5,4.425239523927991e-8,0.0030212267021837735,-2.443546844269732e-5,4.4250868318591255e-8,0.0030214945520319145,-2.438812313993975e-5,4.417614262844354e-8,0.0030217018620748537,-2.4316298536123176e-5,4.406504030121207e-8,0.0030218398456035413,-2.4252307744576375e-5,4.396654725060574e-8,0.003021912331535931,-2.4233602777596313e-5,4.39372627104561e-8,0.0030219396761021347,-2.429662036167427e-5,4.4032012805518794e-8,0.0030219599100410016,-2.4466782499552282e-5,4.4288740896769435e-8,0.00302202361177359,-2.4746531459929342e-5,4.47105455738881e-8,0.003022180395983599,-2.5107010582484676e-5,4.525329764117915e-8,0.003022460057180725,-2.5490814286278737e-5,4.5829951905006934e-8,0.003022857627761485,-2.5828964736561783e-5,4.633626256410645e-8,0.003023332267934383,-2.6065721301283244e-5,4.668826880948124e-8,0.003023821927221237,-2.6178133626157623e-5,4.685181828073514e-8,0.0030242654527104103,-2.618060722133502e-5,4.6849397702988095e-8,0.00302462064736006,-2.6115003315723564e-5,4.674500325784846e-8,0.003024872054652819,-2.6034210741007566e-5,4.661907867346306e-8,0.003025029247398639,-2.5987096868666402e-5,4.654559337911846e-8,0.003025119674183166,-2.600869221520683e-5,4.657718713531259e-8,0.0030251798618585422,-2.6115962524536738e-5,4.6738915646380234e-8,0.003025247304514287,-2.6307892425086884e-5,4.702858653637406e-8,0.0030253540345252404,-2.6568373656992416e-5,4.742130825887169e-8,0.003025522180290973,-2.6870812112854194e-5,4.7876552038498893e-8,0.0030257616742353777,-2.718362842899639e-5,4.834647617031556e-8,0.0030260701248843638,-2.7475754898200334e-5,4.878418797216237e-8,0.003026434531440565,-2.7721296131052857e-5,4.915072369570908e-8,0.003026834267375794,-2.790282528074767e-5,4.941997646359749e-8,0.003027244652317317,-2.801310467185596e-5,4.958126578195143e-8,0.00302764045789911,-2.8055375984440208e-5,4.963976761859313e-8,0.0030279989828120874,-2.8042678247256376e-5,4.961548465878466e-8,0.003028302732030385,-2.7996614735003015e-5,4.9541371336797554e-8,0.0030285419382640503,-2.7945668380696642e-5,4.946074008271887e-8,0.0030287171664962805,-2.7922799028450726e-5,4.9423540183523226e-8,0.003028841979820805,-2.796162115926255e-5,4.948048077466765e-8,0.0030289448272879803,-2.8090202994150213e-5,4.967360897101288e-8,0.00302906808799766,-2.832216698757468e-5,5.002291747065914e-8,0.003029261393516597,-2.8646859820436187e-5,5.051165188848918e-8,0.0030295674732655794,-2.9023648863821986e-5,5.107788139765754e-8,0.0030300035036457318,-2.9387468552092513e-5,5.1622994265168756e-8,0.003030547654439084,-2.966892547984612e-5,5.204210187529804e-8,0.0030311419708281494,-2.9821700123341288e-5,5.226546402242462e-8,0.003031713429022907,-2.9841451121119933e-5,5.228710697781398e-8,0.0030322015269454838,-2.9764614366811912e-5,5.216297581619774e-8,0.003032576700297681,-2.964992539693665e-5,5.1982771928407634e-8,0.0030328427049061664,-2.95558177823456e-5,5.18354400080819e-8,0.0030330273738204275,-2.952483864326578e-5,5.178537523848844e-8,0.0030331699517057442,-2.9577898541893805e-5,5.1863748181959154e-8,0.0030333104138618784,-2.9715604944099784e-5,5.207074030425486e-8,0.003033482465717576,-2.9922976396352082e-5,5.238294189196952e-8,0.0030337098242709487,-3.017493755703473e-5,5.276185486031358e-8,0.0030340047066781646,-3.0441434203506502e-5,5.316170038656006e-8,0.0030343677318868385,-3.069201162682167e-5,5.353632168723621e-8,0.0030347889661070187,-3.089987345211356e-5,5.384526338775909e-8,0.0030352499978571756,-3.104524236184448e-5,5.405880170678398e-8,0.0030357268634388502,-3.111778908424594e-5,5.416158516454266e-8,0.0030361935715449567,-3.1117887001919675e-5,5.415451590233293e-8,0.003036625814699871,-3.105651407747209e-5,5.4054586154864e-8,0.003037004388893214,-3.095390233892545e-5,5.3892806738359834e-8,0.003037318044491069,-3.083722670992275e-5,5.3710656905416486e-8,0.0030375656938618433,-3.073753439132445e-5,5.355535566628204e-8,0.0030377579336559293,-3.068595891553895e-5,5.347403607373892e-8,0.0030379177300265737,-3.0709070813912385e-5,5.350663829087113e-8,0.00303807966723912,-3.0823076928323533e-5,5.367713979638666e-8,0.0030382864205653216,-3.102708512509555e-5,5.3983480616954495e-8,0.003038580787609243,-3.1297162733261364e-5,5.438876948576837e-8,0.0030389926926067358,-3.158502205672186e-5,5.481947606929273e-8,0.003039524072818,-3.1826340398447944e-5,5.517809779127173e-8,0.0030401396754807146,-3.196074975273588e-5,5.5373393880473416e-8,0.0030407732402690456,-3.1956872342941396e-5,5.5358273365942866e-8,0.0030413506216760183,-3.1827784431995975e-5,5.515324561172027e-8,0.0030418182463314066,-3.1625541651179424e-5,5.4838080988230775e-8,0.003042160215499455,-3.141800758364335e-5,5.4516451859117366e-8,0.003042396527409552,-3.126315753054347e-5,5.4276642795710085e-8,0.003042568426483442,-3.119410063882663e-5,5.416865946881467e-8,0.0030427219468042673,-3.121729790939866e-5,5.4201628447496637e-8,0.0030428965072263536,-3.131876817788899e-5,5.435349924198628e-8,0.0030431195875498325,-3.1472417249374476e-5,5.4583966139684054e-8,0.003043405671120528,-3.164719823662061e-5,5.48454888443154e-8,0.003043757278206,-3.181220441401584e-5,5.509103044165085e-8,0.0030441666670632966,-3.194016210578213e-5,5.527928024881129e-8,0.0030446177728978936,-3.2010055857858906e-5,5.537854846801234e-8,0.0030450884814295937,-3.200922767702134e-5,5.5369895852801475e-8,0.003045553386619406,-3.193493319092446e-5,5.524947681257876e-8,0.003045987115545042,-3.179510076572901e-5,5.502968803317016e-8,0.0030463680745412454,-3.1607871380829794e-5,5.473845618856727e-8,0.0030466821164058687,-3.139963516825679e-5,5.441621391559135e-8,0.0030469255028017037,-3.120163298944072e-5,5.4110664553357935e-8,0.003047106649642553,-3.1045429760949075e-5,5.3869815322197836e-8,0.003047246264489913,-3.0957724333207185e-5,5.373401644060654e-8,0.0030473756148905722,-3.0955076276420677e-5,5.372793333790556e-8,0.0030475327337165107,-3.10391075449408e-5,5.385333611732599e-8,0.0030477562593878016,-3.119291882112134e-5,5.408383161903094e-8,0.0030480767420623433,-3.138019112187306e-5,5.436371344206401e-8,0.003048506271394186,-3.154923496407961e-5,5.461427067933738e-8,0.003049029398017934,-3.164403612417949e-5,5.4750595244403097E-08,0.003049600741217892,-3.162181473782961e-5,5.470817249590223e-8,0.0030501546590933596,-3.147129459702184e-5,5.447053534930495e-8,0.0030506267199089275,-3.122124129326912e-5,5.408216609011085e-8,0.003050977543809847,-3.0931489493301834e-5,5.363475132421305e-8,0.0030512056349143645,-3.066970206362606e-5,5.323164358366911e-8,0.0030513427951945633,-3.048709541508865e-5,5.2950735410073135e-8,0.0030514375272195533,-3.0405493613713788e-5,5.2824725934812176e-8,0.0030515374213706445,-3.0418359774685625e-5,5.284287745599565e-8,0.003051677995809869,-3.050014466075965e-5,5.296553808075435e-8,0.0030518790092155215,-3.061696562449272e-5,5.314062781446654e-8,0.003052145625853913,-3.073469977610028e-5,5.3316031028704927e-8,0.0030524714707749288,-3.082377392153637e-5,5.344682144560079e-8,0.0030528417493476028,-3.086160174564249e-5,5.34988474804598e-8,0.0030532358836312897,-3.0833881042707114e-5,5.345060667689741e-8,0.003053629879526026,-3.0735485986035706e-5,5.3294565854492434e-8,0.0030539988364117142,-3.0571146292916206e-5,5.30382059792326e-8,0.0030543199507090837,-3.0355674406952507e-5,5.270438907050841e-8,0.0030545760956502454,-3.0113150877368533e-5,5.233010961195881e-8,0.00305475954547292,-2.9874438142143042e-5,5.1962653663563995e-8,0.003054874940487383,-2.967277780668974e-5,5.165280031939516e-8,0.0030549404324154324,-2.9537825570307475e-5,5.144563962738253e-8,0.0030549861390338404,-2.9489134143288323e-5,5.137059250576423e-8,0.0030550495976808005,-2.953061394193003e-5,5.143300630399881e-8,0.003055168710759939,-2.9647526534915528e-5,5.160970828560753e-8,0.0030553733364540553,-2.9807121158297693e-5,5.1850176986509324e-8,0.0030556770688369554,-2.9963521348213533e-5,5.208418350889287e-8,0.0030560711382057876,-3.0066914121891328e-5,5.223590149011024e-8,0.003056522783852153,-3.007606385331831e-5,5.224295582005858e-8,0.0030569803906741184,-2.9971466768568165e-5,5.207634125974998e-8,0.0030573862107332603,-2.9764480348069197e-5,5.1754164969916074e-8,0.0030576939719519337,-2.9497043921062268e-5,5.134105271121149e-8,0.0030578844960596806,-2.9229485363525857e-5,5.092940536552576e-8,0.0030579714726823846,-2.9020378842860718e-5,5.060856308901679e-8,0.00305799430929109,-2.890783769790072e-5,5.0436246780448754e-8,0.0030580024833647516,-2.8900743931462217e-5,5.042530128741445e-8,0.0030580398139917744,-2.8981793723107103e-5,5.0548579370877406e-8,0.0030581349144192635,-2.9117796452997896e-5,5.075489270553819e-8,0.0030582989710085853,-2.927092112731661e-5,5.0986296117823764e-8,0.00305852838098303,-2.9406906130383003e-5,5.1190589621726315e-8,0.00305880913029923,-2.9499417804318987e-5,5.132784410791377e-8,0.0030591209014314944,-2.9531615236497716e-5,5.1372652866946216e-8,0.003059440241717404,-2.949633831159525e-5,5.131434068941656e-8,0.00305974298908132,-2.9395907947313022e-5,5.1156659354477445e-8,0.0030600065090859636,-2.9241933794825013e-5,5.091753916282965e-8,0.00306021229511157,-2.9054948323373344e-5,5.062856693783168e-8,0.003060349177847135,-2.8863199511689882e-5,5.033312632870034e-8,0.003060416814008068,-2.8699745555567035e-5,5.008188395273282e-8,0.0030604284223485962,-2.8597283966096064e-5,4.992478512143156e-8,0.0030604111977471983,-2.858098323762389e-5,4.990002248696701e-8,0.0030604029204521956,-2.8660871126497475e-5,5.002240613766968e-8,0.0030604443802250266,-2.8826475438747818e-5,5.027527520898142e-8,0.0030605691021830185,-2.9046441406551585e-5,5.061009175503469e-8,0.00306079346737266,-2.927436144349517e-5,5.0955543464884993e-8,0.0030611106463299936,-2.945974872572592e-5,5.123445153963956e-8,0.003061490627398194,-2.9561147187201426e-5,5.1383839021491824e-8,0.0030618866932196325,-2.9557585511589545e-5,5.137235223398255e-8,0.0030622468460100747,-2.9455021239405097e-5,5.1209933881528055e-8,0.0030625273270125427,-2.9285654512983767e-5,5.0946554534423536e-8,0.0030627045011972953,-2.909970499319971e-5,5.065943900038011e-8,0.003062781223049597,-2.8951506243513924e-5,5.043168206571564e-8,0.0030627851170516554,-2.8884214842026012e-5,5.032886811317642e-8,0.003062759221135395,-2.8918582214671775e-5,5.038203695084455e-8,0.0030627487734678108,-2.9049687038960627e-5,5.0582911500186546e-8,0.0030627893702877065,-2.9251814457828465e-5,5.0891584468485985e-8,0.0030629003148716434,-2.9488179827505706e-5,5.1251525998749074e-8,0.0030630839037973016,-2.972103318011528e-5,5.160504457192073e-8,0.0030633288315558426,-2.9918997653759335e-5,5.190441062046527e-8,0.003063615124797014,-3.0060785653816723e-5,5.211739828811116e-8,0.003063918729338474,-3.013609360645597e-5,5.222854366679751e-8,0.003064214995878956,-3.014497667576545e-5,5.223815136496016e-8,0.0030644811540353513,-3.0096760320048008e-5,5.2160662139867385e-8,0.003064698316991432,-3.0009023509637796e-5,5.202315302953461e-8,0.0030648536429064674,-2.990656924730143e-5,5.186378488235481e-8,0.0030649429933266646,-2.9819741475536308e-5,5.1729180727117875e-8,0.0030649738454125133,-2.9781167475517766e-5,5.166933721709507e-8,0.0030649674206902153,-2.98201748061254e-5,5.172897531156119e-8,0.0030649581828044383,-2.9955006804012056e-5,5.19355879701887e-8,0.0030649887015580467,-3.0184701153387606e-5,5.2287079973691934e-8,0.0030650993228122743,-3.048438554024296e-5,5.274472973817438e-8,0.0030653151426291397,-3.080799959377198e-5,5.3237545317571995e-8,0.0030656356436287177,-3.109971429626911e-5,5.36798936350581e-8,0.003066032397083313,-3.131062399609393e-5,5.3997123564829124e-8,0.0030664566457068772,-3.141392264624986e-5,5.414878191396371e-8,0.003066853673243906,-3.141241782904111e-5,5.414000445922996e-8,0.003067178107954643,-3.1336255718859404e-5,5.401782535141934e-8,0.003067405017322031,-3.123297452844401e-5,5.385569119674471e-8,0.0030675342967685115,-3.115406523908855e-5,5.3732673458228506e-8,0.0030675883450696387,-3.1142126616185284e-5,5.3713731593782084e-8,0.003067604598905477,-3.122165258980363e-5,5.3835712946092174e-8,0.0030676253853558076,-3.139518885501176e-5,5.41016984091395e-8,0.0030676878955794595,-3.164514859820826e-5,5.448403678006608e-8,0.0030678167760080873,-3.1940102956282886e-5,5.4934156079083943e-8,0.00306802082106185,-3.22432379520567e-5,5.539556794925043e-8,0.0030682938008947383,-3.252038055262967e-5,5.581610023286302e-8,0.003068618188348601,-3.2745712319185725e-5,5.6156527333722295e-8,0.0030689700372110436,-3.290455445210272e-5,5.63947158589191e-8,0.0030693235621584002,-3.299368835276426e-5,5.652604281911584e-8,0.0030696546829265168,-3.302018003318915e-5,5.656158441311524e-8,0.003069943501781531,-3.299964329710182e-5,5.652548727111865e-8,0.0030701761356594238,-3.295448884467991e-5,5.6452316329964884e-8,0.0030703464351241215,-3.2912168983386934e-5,5.6384348797087725e-8,0.0030704579205523843,-3.290292724600728e-5,5.6368046064395786e-8,0.0030705257705411666,-3.2956240209135014e-5,5.6448491101539555e-8,0.003070577902929506,-3.3095212754677564e-5,5.666072725949836e-8,0.003070653303256023,-3.332901887976236e-5,5.7018206275630994e-8,0.0030707954675129484,-3.3645317050531466e-5,5.750131258839977e-8,0.003071040281409215,-3.4006866132882734e-5,5.805237688321617e-8,0.003071401442066699,-3.435724590922433e-5,5.858460257890024e-8,0.003071860664240823,-3.463707718078335e-5,5.900700173455468e-8,0.003072369948294953,-3.4805077484133635e-5,5.9256687131385314e-8,0.0030728668933984586,-3.4853323968064e-5,5.932224867940723e-8,0.00307329574470014,-3.4808729472292477e-5,5.9245906426521214e-8,0.0030736238628414326,-3.472127382584356e-5,5.910521892617646e-8,0.0030738476136962186,-3.4646440956723325e-5,5.898583976281836e-8,0.0030739883560582247,-3.462984017376718e-5,5.895772090868357e-8,0.0030740829181741033,-3.46981445897087e-5,5.906122528438606e-8,0.0030741729261370603,-3.485661305223858e-5,5.930354340403719e-8,0.0030742957031104122,-3.509154811261891e-5,5.966276668283171e-8,0.0030744779277463736,-3.537572740023708e-5,6.00964697542749e-8,0.0030747323559975367,-3.5675189893930766e-5,6.055223916889516e-8,0.003075057487670119,-3.5956061174078274e-5,6.097812908001633e-8,0.0030754397046584866,-3.619027550379833e-5,6.133134047523962e-8,0.0030758570531433604,-3.6359408441814945e-5,6.158398173260262e-8,0.0030762836935755364,-3.645637499575067e-5,6.17255797130405e-8,0.0030766941332692503,-3.6485215974385064e-5,6.176270393282051e-8,0.00307706662715048,-3.645952970605651e-5,6.17165520944473e-8,0.0030773855806581914,-3.64002479832436e-5,6.161954383422073e-8,0.0030776432027652626,-3.63332416409525e-5,6.151163570192726e-8,0.003077840759611733,-3.628682113866609e-5,6.143643256726638e-8,0.003077989627912044,-3.628885788142236e-5,6.143667890109774e-8,0.0030781120193623807,-3.6363006241524466e-5,6.154837667649236e-8,0.0030782405956229293,-3.652349964920907e-5,6.179278977302228e-8,0.0030784153961581056,-3.6768720995789186e-5,6.216668724687254e-8,0.003078676287039924,-3.707542807113103e-5,6.263368664319519e-8,0.0030790504999446576,-3.739763323181358e-5,6.312273725650803e-8,0.0030795385416962856,-3.767491089624212e-5,6.354097060212617e-8,0.0030801063485889927,-3.7851372011602716E-05,6.380282181650783e-8,0.003080691860843348,-3.789839797156401e-5,6.3864909335135015E-08,0.0030812263089583505,-3.782804205247127e-5,6.374660437345014e-8,0.0030816595018051856,-3.768799022595951e-5,6.352218567186832e-8,0.003081975175275685,-3.754141745986299e-5,6.328960513196501e-8,0.0030821904003572086,-3.7444257862379394e-5,6.313520651894206e-8,0.003082343638281676,-3.743069219176931e-5,6.311124043335557e-8,0.0030824800552818033,-3.7509564541134194e-5,6.323047245576145e-8,0.0030826400072475326,-3.7668452785068254e-5,6.347276711043042e-8,0.003082852413765722,-3.788093848520992e-5,6.379661295313797e-8,0.003083132266538477,-3.811403698482697e-5,6.415076333549884e-8,0.0030834808667202927,-3.833449478651092e-5,6.448396137955909e-8,0.0030838877341181153,-3.8513714836371074e-5,6.475242681002939e-8,0.0030843336004778847,-3.8631288755844996e-5,6.49251538042667e-8,0.003084794042322366,-3.867707285475078e-5,6.49869875714132e-8,0.0030852433321181686,-3.865183435490819e-5,6.49395475346079e-8,0.0030856581339217173,-3.856655888053119e-5,6.48001336398034e-8,0.0030860206460516367,-3.844058492853828e-5,6.459884806542256e-8,0.0030863208771382037,-3.8298947069799535e-5,6.437449277747022e-8,0.0030865580404335806,-3.816935596666206e-5,6.416988298112212e-8,0.0030867412223701774,-3.807898089265322e-5,6.402682842646071e-8,0.0030868893766480983,-3.8050984731237867e-5,6.398072676630348e-8,0.0030870304944824955,-3.810068561233592e-5,6.405462439468387e-8,0.003087199430753806,-3.823122572618231e-5,6.425261522376926e-8,0.0030874333446925814,-3.842914766591009e-5,6.455320872359164e-8,0.0030877636895722525,-3.866159342862816e-5,6.490525234810125e-8,0.0030882049718960573,-3.887836166676586e-5,6.523127311346362e-8,0.003088743561312213,-3.9022341755227606e-5,6.544356507347711e-8,0.003089333590640843,-3.904860755320145e-5,6.547348840413299e-8,0.0030899071036917716,-3.894510170953161e-5,6.530322358465656e-8,0.0030903979050176593,-3.8742004346281896e-5,6.498015271661827e-8,0.003090767228006569,-3.8501181533249536e-5,6.460049051721142e-8,0.0030910160608724553,-3.8290854101103754e-5,6.426997931057188e-8,0.0030911786470456865,-3.816087723268984e-5,6.406549047523721e-8,0.003091304636594572,-3.81308943961482e-5,6.401668515462453e-8,0.0030914415331645385,-3.819243835001492e-5,6.410948319588161e-8,0.003091624053373996,-3.831851468248846e-5,6.430123035197483e-8,0.0030918706623143453,-3.8474104361764894e-5,6.453722136219927e-8,0.0030921846709144477,-3.8624255014770126e-5,6.476330985906157e-8,0.0030925572633731823,-3.8739191826344275e-5,6.493373044917373e-8,0.0030929709124494467,-3.879722444333691e-5,6.501542077873879e-8,0.003093402731555433,-3.8786312162609277e-5,6.499027635350036e-8,0.0030938277663450082,-3.870467412242986e-5,6.485599547202599e-8,0.0030942222139669767,-3.856054410640383e-5,6.462566902485165e-8,0.003094566519648795,-3.8371053174280506e-5,6.432606100579885e-8,0.0030948481721392368,-3.816012347433993e-5,6.399436069664364e-8,0.003095063804553022,-3.795541247827492e-5,6.36734419165358e-8,0.003095220250846101,-3.778464042825393e-5,6.34061366452044e-8,0.003095334440344874,-3.76716671513097e-5,6.322910755980504e-8,0.00309543208101415,-3.76325912073004e-5,6.316677889485286e-8,0.0030955450293822886,-3.767217508425234e-5,6.32258396731875e-8,0.003095707183071852,-3.778095740397159e-5,6.339090801722296e-8,0.00309594862334514,-3.793365750566644e-5,6.36222778804018e-8,0.003096287931628474,-3.80901905074783e-5,6.385770713701393e-8,0.0030967236941520254,-3.8201303672671125e-5,6.402124536059043e-8,0.003097228280907147,-3.822036947682624e-5,6.404140759803494e-8,0.0030977490184312755,-3.8120022723220564e-5,6.387670810024808e-8,0.0030982210755350135,-3.7907147081520453e-5,6.353864073301886e-8,0.0030985900761617553,-3.762610731223205e-5,6.309655120907573e-8,0.0030988336384995293,-3.734434007536094e-5,6.265523738702239e-8,0.003098968816215725,-3.7126254709522466e-5,6.231441792645098e-8,0.003099041425769494,-3.7010331236075636e-5,6.213318613669418e-8,0.0030991055833493103,-3.7000963291756114e-5,6.211747094970239e-8,0.0030992057850765756,-3.707503307238412e-5,6.223050579274813e-8,0.0030993681475792695,-3.719515769679686e-5,6.241367766141261e-8,0.0030996000182369945,-3.7321886461173106e-5,6.260562024590069e-8,0.0030998940056717068,-3.742152940130405e-5,6.275433238229519e-8,0.003100233021590866,-3.7469791909199243e-5,6.282264287237035e-8,0.0031005946146256498,-3.74527865541713e-5,6.278957087078115e-8,0.0031009543309571943,-3.7366892039579344e-5,6.264995951136436e-8,0.003101288498980592,-3.721816385706405e-5,6.241351573364313e-8,0.0031015767979117176,-3.702139137135275e-5,6.210337620395833e-8,0.0031018047687390517,-3.679862687950359e-5,6.175387343947005e-8,0.0031019661991720264,-3.657686241831285e-5,6.140695022313485e-8,0.0031020649564957345,-3.638462538015085e-5,6.110684934249384e-8,0.0031021156285978737,-3.624768225270253e-5,6.089338495755532e-8,0.003102142484188417,-3.6184428286903e-5,6.079473351831937e-8,0.0031021765631752685,-3.620172937410701e-5,6.082097958568538e-8,0.0031022510076930674,-3.629208197157182e-5,6.095979473559371e-8,0.0031023950750430954,-3.643289906673445e-5,6.117550104443778e-8,0.0031026275545373554,-3.658852828809345e-5,6.141241349154455e-8,0.0031029505897565103,-3.6715498961018746e-5,6.160314515690131e-8,0.0031033454561945222,-3.677128760644678e-5,6.168223979401771e-8,0.0031037725875075316,-3.672594194239396e-5,6.160407633853862e-8,0.0031041783170027994,-3.6573890333345214e-5,6.13609507617016e-8,0.0031045091130757767,-3.634081561194844e-5,6.099349544356457e-8,0.0031047297909969312,-3.607980110758601e-5,6.058452494813771e-8,0.0031048374201034855,-3.585494963702326e-5,6.023352619407363e-8,0.003104862516995215,-3.5718644691785436e-5,6.002135737673514e-8,0.003104856093193385,-3.569405931092349e-5,5.998319444364333e-8,0.0031048700872880267,-3.577137790618058e-5,6.010288490586609e-8,0.003104941604094109,-3.5916960865466545e-5,6.032745899023271e-8,0.00310508658575867,-3.608784938858073e-5,6.058987181278256e-8,0.003105301813939656,-3.6244129061960325e-5,6.082825896614451e-8,0.0031055709169320175,-3.6355939860998774e-5,6.099670423139435e-8,0.003105870647986892,-3.6405690275413666e-5,6.106846533436347e-8,0.0031061756914431407,-3.638750956805874e-5,6.103492926911871e-8,0.0031064618740461935,-3.630572623697611e-5,6.090315332297189e-8,0.0031067083897661323,-3.617327510332381e-5,6.069340518034317e-8,0.0031068996748370463,-3.6010179052804656e-5,6.043687697777326e-8,0.0031070273067826453,-3.5841809895788134e-5,6.017304374810048e-8,0.003107091924907097,-3.569640763286369e-5,5.994580924865879e-8,0.003107104690948129,-3.5601421586642455e-5,5.979775912534584e-8,0.0031070874280543044,-3.557871974140187e-5,5.976263364692894e-8,0.0031070705639987084,-3.563939705212548e-5,5.985721638430891e-8,0.00310708845076731,-3.577953751271076e-5,6.007479140748683e-8,0.0031071724854550274,-3.597857902840596e-5,6.0382741421625e-8,0.003107343449944664,-3.620155104969642e-5,6.072622362437715e-8,0.0031076051132779385,-3.640540195274204e-5,6.10381901744192e-8,0.0031079410880545904,-3.6548419234103456e-5,6.125412657583635e-8,0.0031083163328670636,-3.6600797795219e-5,6.132843658673388e-8,0.003108683776045806,-3.655377779638129e-5,6.12484672972554e-8,0.0031089953478281146,-3.642449473760269e-5,6.104178540723422e-8,0.0031092151923365167,-3.6254006005909544e-5,6.077284786520125e-8,0.003109331132111241,-3.6097367552710236e-5,6.052739707346827e-8,0.00310935954808475,-3.6007610042852635e-5,6.038750927329051e-8,0.0031093404361101393,-3.601917120844064e-5,6.04059490162074e-8,0.0031093239113226005,-3.6137917913298556e-5,6.059089030936383e-8,0.003109354124427072,-3.6341991680345246e-5,6.090751315544337e-8,0.0031094576079410963,-3.6591899919457295e-5,6.12939239128099e-8,0.003109639723574992,-3.684400498898479e-5,6.168222747975021e-8,0.003109888172433052,-3.706155993675539e-5,6.201562972733295e-8,0.003110179865335902,-3.7220522609188814e-5,6.225730522644977e-8,0.0031104876813696455,-3.731061864999249e-5,6.239184703464731e-8,0.00311078539719096,-3.733367074941028e-5,6.242252235980394e-8,0.0031110506840359895,-3.730106234421321e-5,6.236728729470829e-8,0.003111266829818254,-3.723134017143124e-5,6.225510727514509e-8,0.0031114239398752712,-3.7148181411718e-5,6.212287206499815e-8,0.0031115201531575613,-3.7078419428024274e-5,6.201236188919679e-8,0.003111562975299694,-3.7049500972479054e-5,6.196625586571644e-8,0.003111570240611829,-3.7085775629295866e-5,6.20222732746493e-8,0.0031115696907623807,-3.720350361712773e-5,6.220533256957703e-8,0.003111595961660061,-3.740535774526301e-5,6.251900193071125e-8,0.0031116842348012787,-3.7676298720104116e-5,6.293919212979045e-8,0.0031118612256879658,-3.798340020650173e-5,6.341407163920447e-8,0.003112136139777003,-3.828150901245256e-5,6.387306782824209e-8,0.003112495379209596,-3.852427301854293e-5,6.424415997620797e-8,0.003112903926884855,-3.867726198381603e-5,6.447432367142958e-8,0.0031133136874417224,-3.872848224078679e-5,6.454579824951314e-8,0.0031136761793375063,-3.8692456923064396E-05,6.448222652228261e-8,0.0031139554371912236,-3.860656882561176e-5,6.434267804320025e-8,0.0031141372703484766,-3.8521032659985596e-5,6.420576709598722e-8,0.0031142324513703736,-3.848555621137015e-5,6.414873497201981e-8,0.003114273122112332,-3.85363882869955e-5,6.422732768153216e-8,0.0031143034616922818,-3.868736365238427e-5,6.446208120483557e-8,0.0031143674207793413,-3.892758353008189e-5,6.483503018920008e-8,0.003114497459059395,-3.9226240381586666e-5,6.529750515880651e-8,0.0031147078121036174,-3.954245370409532e-5,6.578559894383833e-8,0.00311499378960663,-3.983627974908429e-5,6.623730004445356e-8,0.0031153360888836355,-4.007726426013293e-5,6.660567612073376e-8,0.0031157075151952004,-4.024868825724295e-5,6.686529743458914e-8,0.00311607947574405,-4.034776414925683e-5,6.701237492469503e-8,0.0031164267230209515,-4.038331710088937e-5,6.706105409678788e-8,0.0031167301083817336,-4.037260325837689e-5,6.703845169512361e-8,0.003116977890976981,-4.033831580823609e-5,6.698004129434217e-8,0.0031171663505323325,-4.030610095786534e-5,6.692583316158584e-8,0.0031173002857739405,-4.030233658179883e-5,6.691691302618574e-8,0.0031173935830516013,-4.035158745219613e-5,6.699141672014888e-8,0.003117469472534857,-4.047311163717984e-5,6.71790093138832e-8,0.0031175594775110223,-4.067616621474953e-5,6.749354678239481e-8,0.0031176996760878236,-4.095478103045957e-5,6.792501578391407e-8,0.003117923245200117,-4.1284097202451735e-5,6.843400804444655e-8,0.003118249965451604,-4.162156390749211e-5,6.895378532468487e-8,0.0031186762577232225,-4.1915651713568604e-5,6.940399276282996e-8,0.0031191714040973333,-4.212116830683181e-5,6.971456663709166e-8,0.0031196840741649716,-4.2215346438736336e-5,6.985077033810668e-8,0.003120157847027817,-4.220674667049533e-5,6.98269624957057e-8,0.0031205489414833265,-4.2132362620646234e-5,6.97018734876997e-8,0.0031208383916512266,-4.20448327662397e-5,6.955836204462521e-8,0.003121034785095203,-4.199616018547974e-5,6.947774286240719e-8,0.003121168632125931,-4.202421267565137e-5,6.951862361251391e-8,0.0031212820770698153,-4.214528318978495e-5,6.970544612819716e-8,0.0031214177248149594,-4.235306877230772e-5,7.002722768273191e-8,0.0031216092731973467,-4.2622792035729374e-5,7.044435725304227e-8,0.0031218754919343627,-4.2918580516760454e-5,7.090035608149642e-8,0.0031222181803268524,-4.320209457310386e-5,7.133539946884241e-8,0.003122623947005099,-4.344044848734895e-5,7.169857291254788e-8,0.00312306884485219,-4.361179467816571e-5,7.195639886437939e-8,0.003123524289638139,-4.370774340490241e-5,7.209642624241596e-8,0.0031239626656890764,-4.373282262997294e-5,7.21262580887302e-8,0.0031243615440335547,-4.3701909396077086e-5,7.206948965492392e-8,0.0031247061538028763,-4.3636780471882876e-5,7.196033443639855e-8,0.0031249903765416783,-4.356272900897019e-5,7.183837800351165e-8,0.0031252168682957006,-4.3505688790359626e-5,7.174410685588453e-8,0.0031253968441908885,-4.348975073626395e-5,7.17150048965672e-8,0.0031255497310814042,-4.35346390742139e-5,7.178155313739291e-8,0.00312570246406995,-4.3652662272077505e-5,7.196242839516862e-8,0.0031258876523310264,-4.384487979547073e-5,7.225856364534224e-8,0.003126139361453899,-4.409699636109416e-5,7.26468964950289e-8,0.003126485461480311,-4.437689592985936e-5,7.307674195249288e-8,0.003126937079372063,-4.4637120813428204e-5,7.347383911846252e-8,0.003127478854765807,-4.482535361453673e-5,7.375675854161458e-8,0.0031280666690904416,-4.490213927602775e-5,7.386449999496449e-8,0.0031286382404406153,-4.4858518891369295e-5,7.37839353542856e-8,0.0031291344460409416,-4.472272685316552e-5,7.356017852034121e-8,0.0031295207052957296,-4.455029894921475e-5,7.328095575302624e-8,0.0031297969026368396,-4.440289276125083e-5,7.304320913549977e-8,0.0031299925059136854,-4.4327735522592144e-5,7.292069128837017e-8,0.0031301525953489643,-4.4346566926362245e-5,7.294663172919162e-8,0.003130323040755186,-4.44552245163689e-5,7.311334170083266e-8,0.0031305398839340287,-4.463002091424208e-5,7.338260528006618e-8,0.00313082404631057,-4.483652215332876e-5,7.369977824422968e-8,0.0031311803606072124,-4.503787355813529e-5,7.400698484506922e-8,0.0031315994383132096,-4.5201450522542784e-5,7.425347439859536e-8,0.0031320612381614877,-4.530356848674249e-5,7.440279963037097e-8,0.0031325396046175753,-4.533218545978504e-5,7.443682235158883e-8,0.003133007088926917,-4.528754210138793e-5,7.435654510846008e-8,0.003133439334571156,-4.51809403698077e-5,7.41801159799911e-8,0.003133818472273233,-4.503213230381495e-5,7.393873233871031e-8,0.003134135205289634,-4.486591093923118e-5,7.367133504974223e-8,0.0031343895555660316,-4.470855447784281e-5,7.34190699593144e-8,0.003134590575431148,-4.4584622562577654e-5,7.322027017012072e-8,0.0031347554245567386,-4.451420562905288e-5,7.310611312884732e-8,0.0031349080100163845,-4.451044644791041e-5,7.309669605942408e-8,0.0031350771198854635,-4.457710742852157e-5,7.319723119373661e-8,0.0031352936217133444,-4.47060605212665e-5,7.339422020383135e-8,0.0031355858958112227,-4.487510826442938e-5,7.365224958348347e-8,0.003135972822388433,-4.5047645339306655e-5,7.391369496033267e-8,0.0031364549294214225,-4.517674188187485e-5,7.410524949995039e-8,0.003137006880828943,-4.521608014150156e-5,7.415499865583744e-8,0.0031375773084138556,-4.513707215275879e-5,7.401903658596108e-8,0.003138101428611319,-4.494515854131807e-5,7.370680978793502e-8,0.0031385245037932065,-4.468383466731007e-5,7.328731665396651e-8,0.0031388241332245405,-4.441996388809048e-5,7.286597138629206e-8,0.003139017499846824,-4.421722026618582e-5,7.254276438257211e-8,0.003139150157383647,-4.411342074013215e-5,7.237653893372397e-8,0.0031392756212672386,-4.411288523762928e-5,7.237306272266767e-8,0.003139437968769991,-4.4192948719133804e-5,7.249557334607343e-8,0.0031396632755686426,-4.431658177299298e-5,7.268500837724008e-8,0.0031399588406845693,-4.444412071309936e-5,7.287870894461722e-8,0.0031403166737552367,-4.454122642373622e-5,7.302295817715162e-8,0.0031407183126958165,-4.4583109623867075e-5,7.307944575839242e-8,0.0031411394477191415,-4.4556196731207386e-5,7.302762227868937e-8,0.0031415539994911366,-4.445830099035177e-5,7.28647417048713e-8,0.003141937728993228,-4.429775179132686e-5,7.260437295376374e-8,0.0031422713373744243,-4.4091609934731785e-5,7.227358181570472e-8,0.0031425429027575314,-4.386309308749254e-5,7.190893225978437e-8,0.0031427494576673834,-4.363836426557965e-5,7.155149576181157e-8,0.0031428974772572276,-4.3442976873453624e-5,7.124128957024562e-8,0.003143002214192302,-4.329843267004607e-5,7.101185038058907e-8,0.003143086052266109,-4.321920239699395e-5,7.088551186228275e-8,0.0031431760678829164,-4.3210361139567735e-5,7.086966698763124e-8,0.0031433008971223707,-4.3265945431617366e-5,7.09542336198036e-8,0.003143486895319873,-4.336813785078726e-5,7.111052058211447e-8,0.0031437533847702066,-4.348759147027911e-5,7.12919612296051e-8,0.0031441069213620117,-4.358585463469756e-5,7.143813366953108e-8,0.003144535476545944,-4.362139298757207e-5,7.148429942205696e-8,0.003145005091611609,-4.3560203673701036e-5,7.137795505629189e-8,0.003145463126681861,-4.3389675112285365e-5,7.11003324650128e-8,0.003145851574927433,-4.3129979926205826e-5,7.068402441148508e-8,0.0031461283507413433,-4.2833959953962696e-5,7.021264040871186e-8,0.003146286100171612,-4.257032356693477e-5,6.979432110562806e-8,0.0031463558591178996,-4.239669820392884e-5,6.951932082306872e-8,0.003146392327049763,-4.233819904869464e-5,6.942631862677053e-8,0.0031464507043553205,-4.2383168839997224e-5,6.94958958380317e-8,0.0031465688651928546,-4.249459392815535e-5,6.966883115670779e-8,0.0031467612849682977,-4.262689345829094e-5,6.987285185595196e-8,0.0031470222789782287,-4.273918499304871e-5,7.004366315740973e-8,0.0031473330289561153,-4.2802158807808166e-5,7.013567759431403e-8,0.003147668417268007,-4.279983806022786e-5,7.01245308551207e-8,0.0031480021049310764,-4.272860133319068e-5,7.000526722286279e-8,0.0031483099313495784,-4.259528124034335e-5,6.978916831189976e-8,0.0031485723125253334,-4.241509647530167e-5,6.950045735299453e-8,0.0031487761173877083,-4.2209454417396814e-5,6.917289890407978e-8,0.0031489161538580373,-4.2003459881328945e-5,6.884596295593158e-8,0.003148996162170557,-4.1822953882087386e-5,6.856021556609623e-8,0.003149028978654053,-4.169106752864223e-5,6.835188836388549e-8,0.003149035482429731,-4.162464544196019e-5,6.824720046102467e-8,0.003149042199251593,-4.163112014627014e-5,6.825739085675065e-8,0.00314907771956232,-4.170639233813112e-5,6.837538674971382e-8,0.0031491682653819867,-4.18342132313785e-5,6.857492364962827e-8,0.0031493329122884942,-4.198742613049102e-5,6.881267918772647e-8,0.003149579039836493,-4.213120402571019e-5,6.903358555963276e-8,0.0031498986271138838,-4.2228420130555436e-5,6.91794432100356e-8,0.0031502664228729867,-4.2247298350746497e-5,6.920097199180307e-8,0.003150641701734798,-4.217078712182122e-5,6.907238815589541e-8,0.0031509754961388586,-4.200545381164349e-5,6.880509810771359e-8,0.0031512238608324395,-4.1785638196682574e-5,6.845392811745735e-8,0.0031513640821730364,-4.1567794289340616e-5,6.810802378555436e-8,0.003151406157010707,-4.141327484247085e-5,6.786370323995615e-8,0.0031513912510576945,-4.136560918026271e-5,6.778876311671728e-8,0.003151375804577231,-4.1434395174820625e-5,6.789730029476199e-8,0.0031514098642566202,-4.159482257943738e-5,6.81492342574456e-8,0.0031515215625475173,-4.18012216288661e-5,6.847194098192803e-8,0.0031517136174996478,-4.200494130433833e-5,6.878861599395965e-8,0.0031519692707481077,-4.216756787951769e-5,6.903911030241721e-8,0.003152261517243071,-4.2266490087485424e-5,6.918851693440988e-8,0.0031525610670786637,-4.229461685062819e-5,6.922644943555905e-8,0.0031528414655990046,-4.22573706176436e-5,6.9162068457332e-8,0.003153081775375267,-4.216923255662013e-5,6.901853417953314e-8,0.0031532678798198805,-4.205077312180638e-5,6.882835975902144e-8,0.0031533932546355388,-4.192616457967239e-5,6.862959482793142e-8,0.0031534595708972847,-4.1820803001536924e-5,6.84621653927876e-8,0.0031534770784778826,-4.175861379115542e-5,6.836364650161207e-8,0.0031534643622982412,-4.17588032667655e-5,6.836409543908077e-8,0.0031534468701465957,-4.183228856251606e-5,6.848035579602831e-8,0.003153453782052926,-4.197854007215975e-5,6.871105220452271e-8,0.003153513263736754,-4.218384148552481e-5,6.903390427614672e-8,0.0031536467429532566,-4.242196322172231e-5,6.940693592124387e-8,0.003153863430347162,-4.265783483101526e-5,6.977446531891138e-8,0.003154156585993926,-4.285397543340932e-5,7.007742427316526e-8,0.00315450279718283,-4.2978622186424466e-5,7.026625449926472e-8,0.0031548650041122103,-4.301400854080456e-5,7.031388230440871e-8,0.00315519943918034,-4.296289169347691e-5,7.022577473855363e-8,0.003155465859320983,-4.285109888117147e-5,7.00436294628589e-8,0.0031556391659936065,-4.272394847220358e-5,6.983943122484468e-8,0.0031557188612724523,-4.263555517927237e-5,6.969842457165365e-8,0.0031557317728420436,-4.263280101975123e-5,6.969387032889604e-8,0.0031557249027450757,-4.2739520543408744e-5,6.98623192302485e-8,0.0031557498994496218,-4.294833096833603e-5,7.019104128047928e-8,0.00315584589866597,-4.322452786249621e-5,7.062447804376743e-8,0.0031560287243041687,-4.3519737897634517e-5,7.108598411323216e-8,0.003156290210848438,-4.378791545601902e-5,7.150311106554863e-8,0.0031566054069980037,-4.3996660675542415e-5,7.182534984786604e-8,0.0031569423808284628,-4.4131253208340974e-5,7.203026754938302e-8,0.003157270337523358,-4.4192994871844845e-5,7.212064457656072e-8,0.003157564470837877,-4.419496903596624e-5,7.211761487890475e-8,0.003157808015852627,-4.415761251223253e-5,7.205364259861087e-8,0.0031579926823708912,-4.4105138784809375e-5,7.196695049477917e-8,0.0031581184957774153,-4.406285452731199e-5,7.189738913692536e-8,0.003158193599416625,-4.4054911516432865e-5,7.188294750699247e-8,0.003158234031798483,-4.4101897275740684e-5,7.195593087373301e-8,0.003158263018098467,-4.421788006294162e-5,7.213822712040806e-8,0.003158309054218505,-4.440704337455989e-5,7.243594276621938e-8,0.0031584021289597524,-4.466069514352587e-5,7.283470938809992e-8,0.0031585679463628875,-4.495603322513259e-5,7.329786169090022e-8,0.003158821045759386,-4.5258255933040026e-5,7.37699600181512e-8,0.003159158924190263,-4.5526890236963015e-5,7.418696615489833e-8,0.0031595597943583466,-4.572549126524957e-5,7.44916678688917e-8,0.003159985788919604,-4.5832004494916494e-5,7.465002833083531e-8,0.003160391467505701,-4.5846244908167024e-5,7.466284408960723e-8,0.003160735390904223,-4.5791651761595475e-5,7.456824370500927e-8,0.003160991329864051,-4.5710340506587154e-5,7.443354724124745e-8,0.0031611557652805296,-4.56525958579643e-5,7.433840211999739e-8,0.0031612493653574466,-4.566356507695597e-5,7.43536688058528e-8,0.0031613116320375638,-4.577082683019708e-5,7.452191859422641e-8,0.00316138983687732,-4.5976704493927694e-5,7.484561016922063e-8,0.0031615255351170207,-4.625816721714404e-5,7.52873081576349e-8,0.00316174330606514,-4.6574539940815696e-5,7.578215147025375e-8,0.0031620456464795553,-4.687999059605023e-5,7.625769376845123e-8,0.003162415165519021,-4.713588347181678e-5,7.665335200741533e-8,0.003162822036835446,-4.731880660958561e-5,7.693289460631574e-8,0.0031632329785881486,-4.7422738256966696e-5,7.708762391075058e-8,0.0031636185498555743,-4.7456548574135615e-5,7.713222429686289e-8,0.003163957394531511,-4.743930170684533e-5,7.709723112409955e-8,0.003164237749092535,-4.7395460395258866e-5,7.702145770310557e-8,0.0031644572629982944,-4.735103026805132e-5,7.694598016390119e-8,0.0031646221440750945,-4.733077694987257e-5,7.690981863864776e-8,0.003164746262745098,-4.735610332844896e-5,7.694660644621445e-8,0.003164850315648308,-4.744295341822404e-5,7.708123668442743e-8,0.003164960615211108,-4.7599282087552986e-5,7.732580598792541e-8,0.00316510674443353,-4.7822150507262595e-5,7.767502077308712e-8,0.0031653173075884386,-4.809522158373371e-5,7.810233831505504e-8,0.003165613500816317,-4.8388234367153477e-5,7.855932068502407e-8,0.003166001527547761,-4.8660505245747866e-5,7.898136490858256e-8,0.0031664667240323473,-4.886967395690606e-5,7.930165483686465e-8,0.0031669732473650035,-4.898427913808119e-5,7.947106008168446e-8,0.0031674717018881997,-4.899555012818512e-5,7.94766938590658e-8,0.0031679131839261526,-4.892263568963575e-5,7.934999749978144e-8,0.0031682643359964833,-4.8808002238974886e-5,7.91591853553536e-8,0.0031685171259444567,-4.8704610129976645e-5,7.898863798646383e-8,0.003168689888016564,-4.866027347872532e-5,7.891391738685978e-8,0.0031688203554882553,-4.870497925930795e-5,7.898168134647224e-8,0.0031689541483683986,-4.884458925824059e-5,7.919995944645049e-8,0.003169132666912061,-4.90615415154104e-5,7.953967154409288e-8,0.0031693835370994743,-4.932123743816433e-5,7.994513150365482e-8,0.0031697155633991425,-4.958174182690445e-5,8.034963065946353e-8,0.0031701188096189092,-4.9803993111668386e-5,8.069160780662406e-8,0.0031705690690595756,-4.995993501816825e-5,8.092735112553882e-8,0.0031710349046023332,-5.003685841512912e-5,8.103761860361142e-8,0.003171484997353245,-5.003758483585365e-5,8.10276899103105e-8,0.0031718939250299756,-4.997743721292307e-5,8.092241368604767e-8,0.0031722454763997874,-4.98796363572316e-5,8.075886678430627e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_21.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_21.json
deleted file mode 100644
index 600fe28..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_21.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":21000,"numberOfSamples":1000,"samples":[0.0031725336341924394,-4.9770637985046546e-5,8.057900832626396e-8,0.0031727619720193665,-4.967631255249218e-5,8.042370582661394e-8,0.0031729423213677447,-4.961918610821703e-5,8.032842301827844e-8,0.003173093301004051,-4.9616439750269165e-5,8.032005503717977e-8,0.0031732388512125246,-4.9678142521825614e-5,8.04140915834666e-8,0.003173406461172115,-4.980531114277095e-5,8.061152056197695e-8,0.003173624434517486,-4.998780080363393e-5,8.089554409980637e-8,0.0031739174410596086,-5.02027153676187e-5,8.122921958837977e-8,0.0031743000569504428,-5.0414905317985565e-5,8.155645946622467e-8,0.0031747693572844707,-5.058170552271261e-5,8.1809696462639e-8,0.003175299754099858,-5.066328166614758e-5,8.192630588543693e-8,0.003175844728509721,-5.06368615606572e-5,8.187106223913913e-8,0.003176348378152092,-5.0508762136083794e-5,8.16550486069026e-8,0.0031767639923363524,-5.0316402748498936e-5,8.133866443459827e-8,0.0031770709661550177,-5.011689791600365e-5,8.101329428919594e-8,0.0031772811274633317,-4.9967147620633346e-5,8.076944687326912e-8,0.003177432030673561,-4.9905479367471625e-5,8.066745206192551e-8,0.003177572270523811,-4.994259580574966e-5,8.072317955227706e-8,0.003177746439699948,-5.0063033684474547e-5,8.091070950808379e-8,0.0031779848344744835,-5.0233470557248106e-5,8.117598151931799e-8,0.0031782992076989803,-5.0413262606724425e-5,8.145387798184555e-8,0.003178683508504494,-5.056397454491497e-5,8.168346678500409e-8,0.0031791178624765563,-5.0656360805938936e-5,8.181895509495128e-8,0.003179574229733301,-5.067436252240991e-5,8.183576329438713e-8,0.003180022490647086,-5.0616168724939576e-5,8.173192449420742e-8,0.0031804358927458322,-5.049270511433461e-5,8.152548156884965e-8,0.0031807950553075313,-5.0324297904340744e-5,8.124910490024964e-8,0.0031810901697997096,-5.013646650496189e-5,8.094342997127281e-8,0.003181321456190578,-4.995570801310683e-5,8.065043893174666e-8,0.0031814982527144423,-4.9805917795511555e-5,8.040785329190629e-8,0.0031816373210504898,-4.970574993088201e-5,8.024497887522197e-8,0.0031817608717426495,-4.9666782981278536e-5,8.017978161620004e-8,0.0031818944706078238,-4.969213348437762e-5,8.021665586604609e-8,0.003182064656150664,-4.977526990474911e-5,8.034455083019423e-8,0.0031822958582123618,-4.9899054210053294e-5,8.053555151866265e-8,0.0031826060765792474,-5.00355420814562e-5,8.074475516704612e-8,0.0031830011463665404,-5.014786026254351e-5,8.091345990457809e-8,0.0031834686693217383,-5.0195995982255704e-5,8.097846711663703e-8,0.0031839746468371897,-5.01475748419181e-5,8.088913626890179e-8,0.0031844673261262986,-4.999173257679851e-5,8.062922765445895e-8,0.003184891172592454,-4.974957666882377e-5,8.023331134917238e-8,0.0031852075073160895,-4.9472597723993216e-5,7.978406694492346e-8,0.0031854111053174357,-4.922574084934537e-5,7.938518959159813e-8,0.0031855320833315435,-4.9062718900561163e-5,7.912193983519057e-8,0.003185621952271365,-4.9007423813544054e-5,7.903149987919705e-8,0.003185733140730741,-4.905026352546958e-5,7.909733195325303e-8,0.003185903073154297,-4.915750209942922e-5,7.926446313102022e-8,0.0031861477150601954,-4.9285511618747645e-5,7.946261622724468e-8,0.0031864630412842053,-4.9393086955828754e-5,7.962606325736776e-8,0.0031868305582437354,-4.944910682330027e-5,7.970578335261417e-8,0.0031872237417380285,-4.9435815064372105e-5,7.967442526435043e-8,0.003187613799646374,-4.934910556784959e-5,7.952642648280632e-8,0.0031879743406409483,-4.919701658863508e-5,7.927535204629794e-8,0.0031882849181979036,-4.899707191619981e-5,7.894954072044581e-8,0.0031885333705692622,-4.8772886247731465e-5,7.85867133852273e-8,0.0031887169235430774,-4.8550472591157195e-5,7.82281831475899e-8,0.0031888421191353347,-4.8354611885566905e-5,7.791317453714298e-8,0.0031889236591736768,-4.820561826479776e-5,7.767373204135999e-8,0.003188982392912168,-4.811685191685343e-5,7.753076281390647e-8,0.0031890428229633568,-4.80931088914721e-5,7.749144001256398e-8,0.003189130371339149,-4.8129751866914776e-5,7.754779717892457e-8,0.0031892684093893045,-4.821248076042052e-5,7.767640704932689e-8,0.003189474936144377,-4.8317827589117846e-5,7.78393091488724e-8,0.003189758740824415,-4.841472688601514e-5,7.798671830001753e-8,0.0031901151496382964,-4.846801130205281e-5,7.806277470675716e-8,0.0031905224205677797,-4.844497532884705e-5,7.801604196463123e-8,0.003190941284990858,-4.8325353983456495e-5,7.781525298490396e-8,0.0031913210506145494,-4.811258839800113e-5,7.746697340533311e-8,0.0031916141519961177,-4.784055752540146e-5,7.702604990677442e-8,0.003191795418319783,-4.7568255887754585e-5,7.658695371946121e-8,0.0031918755740832448,-4.73600221174305e-5,7.625217949764229e-8,0.003191898603829455,-4.725988960279658e-5,7.609132297246147e-8,0.0031919229650166662,-4.7275184045738147e-5,7.611500607230232e-8,0.003191998333085281,-4.737827479416436e-5,7.62779363395227e-8,0.0031921508881996145,-4.752216804202383e-5,7.65041794434679e-8,0.003192381393929433,-4.765854984268982e-5,7.671628736820805e-8,0.0031926718219546014,-4.7750056416319196e-5,7.685497758163076e-8,0.003192994371773742,-4.7775167613736925e-5,7.688676322707986e-8,0.0031933191121518447,-4.7727892633397725e-5,7.680310882032987e-8,0.0031936191057208192,-4.761498877639121e-5,7.661565929511285e-8,0.0031938734231599622,-4.74525826505499e-5,7.635065824624502e-8,0.0031940688710230926,-4.7262880918771545e-5,7.60436847923047e-8,0.0031942008964133926,-4.707097737875328e-5,7.573466367930087e-8,0.0031942737606263116,-4.6901719035824056e-5,7.546299629687368e-8,0.003194299972841271,-4.6776661718682426e-5,7.526278957837741e-8,0.003194298887206334,-4.6711226468842323e-5,7.51583342891208e-8,0.003194294386829285,-4.671240074914931e-5,7.516039741374076e-8,0.0031943118407074603,-4.6777394668392805e-5,7.526403312546946e-8,0.0031943746893159835,-4.6893437644436546e-5,7.544826377873212e-8,0.0031945009495270385,-4.7038759907479775e-5,7.567773903852656e-8,0.0031946998830175675,-4.7184820903478814e-5,7.590646855791671e-8,0.0031949691011137634,-4.729986237129749e-5,7.608369607755573e-8,0.0031952925157211496,-4.735397448743149e-5,7.616211706606225e-8,0.003195640046002511,-4.7325873413935426e-5,7.610866131565764e-8,0.0031959707011487326,-4.721084275969199e-5,7.591694218179518e-8,0.0031962407678702612,-4.7027544120006907e-5,7.561778712416466e-8,0.0031964172220154555,-4.68193172139658e-5,7.528100427078354e-8,0.003196492459990767,-4.664522204584982e-5,7.500092425591764e-8,0.003196492024360513,-4.6560407478603466e-5,7.486507180241458e-8,0.0031964677331033607,-4.6593856889802264e-5,7.491877034751068e-8,0.003196477403032644,-4.673659702635629e-5,7.514654134177191e-8,0.0031965625176653793,-4.694773588519694e-5,7.548204705047288e-8,0.0031967362693748544,-4.717322873987367e-5,7.583837429474331e-8,0.003196985533609338,-4.73651776342118e-5,7.613905990916508e-8,0.0031972812138878572,-4.74929888958597e-5,7.633588427653374e-8,0.003197589462630078,-4.7545490933105095e-5,7.64119965822908e-8,0.0031978796496195555,-4.752757942989125e-5,7.637620017022061e-8,0.00319812848863574,-4.745512493931714e-5,7.625453549820702e-8,0.00319832144886984,-4.73503257355979e-5,7.608275219379998e-8,0.003198452856742482,-4.723812082730018e-5,7.590064580016247e-8,0.0031985255501511783,-4.7143356527051194e-5,7.57476813144896e-8,0.0031985502819583764,-4.708825806567633e-5,7.565908112945316e-8,0.003198544736531598,-4.708995351933302e-5,7.566191375034777e-8,0.0031985318797554075,-4.7158036203798245e-5,7.577116598009077e-8,0.0031985373474858482,-4.729251335254058e-5,7.598640463765804e-8,0.003198585869566576,-4.7482775567525455e-5,7.629010685976644e-8,0.003198697155597323,-4.77081476564717e-5,7.664860219081877e-8,0.0031988819238857836,-4.794029858008897e-5,7.701607636820799e-8,0.003199138852327985,-4.8147471043280815e-5,7.734153154992998e-8,0.003199453210956632,-4.830010600773658e-5,7.757794512375888e-8,0.003199797758983186,-4.8377126251611665e-5,7.769236057072432e-8,0.0032001363178023106,-4.8371976704389703e-5,7.767540881795748e-8,0.0032004303140051693,-4.829716076321788e-5,7.754825940028813e-8,0.0032006480922657813,-4.818534649742223e-5,7.736402060215561e-8,0.0032007754503471137,-4.8084736666072045e-5,7.720004750070717e-8,0.0032008237523528764,-4.804734673697885e-5,7.713910918442968e-8,0.0032008304786310298,-4.811209016681051e-5,7.724247975155619e-8,0.0032008488052868407,-4.828932206014769e-5,7.75255161602495e-8,0.0032009288771208118,-4.8555592301733185e-5,7.794960329169746e-8,0.0032010998408043487,-4.886272668875077e-5,7.843695977208304e-8,0.003201361960637265,-4.915635461273817e-5,7.89004476629134e-8,0.0032016912406135044,-4.939361188750261e-5,7.927192014721211e-8,0.0032020513707647475,-4.955240233850549e-5,7.951689650027676e-8,0.003202405716929175,-4.963141986809062e-5,7.963431614369855e-8,0.003202725094131901,-4.964474472975755e-5,7.96475824883057e-8,0.0032029909049170156,-4.961523348656123e-5,7.959378125967193e-8,0.0032031952157390927,-4.9569099471490336e-5,7.951497736532009e-8,0.003203339535741044,-4.9532218017991734e-5,7.945241230521701e-8,0.003203433394698867,-4.9527674213515084e-5,7.944273135170713e-8,0.003203493051170196,-4.9573859322178696e-5,7.951503476725994e-8,0.0032035401504446515,-4.968261143955701e-5,7.968790885396807e-8,0.003203599881864006,-4.9857248372708116e-5,7.996622623173358e-8,0.0032036981474841027,-5.009083623491609e-5,8.033833401588e-8,0.003203857560932273,-5.036549668524096e-5,8.077497791863144e-8,0.003204092697562571,-5.0653692877754714e-5,8.123148677107812e-8,0.003204405679190628,-5.092213317310819e-5,8.165420910353239e-8,0.0032047836194003913,-5.1138171334250516e-5,8.199093925766638e-8,0.0032051993388942314,-5.1277508026645685e-5,8.220333981594443e-8,0.0032056159214573134,-5.1331152612609345e-5,8.227803147217174e-8,0.003205994476325643,-5.130950962968257e-5,8.223291039616594e-8,0.0032063034747539243,-5.124205747668012e-5,8.211628608958799e-8,0.0032065274675029567,-5.117202959915313e-5,8.199800522314307e-8,0.0032066727907678195,-5.114661833837934e-5,8.195353656090792e-8,0.003206768020942503,-5.120449980278048e-5,8.204400434520673e-8,0.003206857735831905,-5.1363916576045276e-5,8.229736031489842e-8,0.0032069901253816147,-5.161569359479557e-5,8.269759795845019e-8,0.0032072020803685336,-5.192501441612641e-5,8.318797642795423e-8,0.0032075077397297554,-5.2242393867866604e-5,8.368882847285539e-8,0.0032078955532431,-5.251946367429561e-5,8.412289258504691e-8,0.0032083345384939406,-5.272262269658563e-5,8.443706503733802e-8,0.0032087857334492185,-5.2839458337762004e-5,8.461246000974382e-8,0.0032092132683576424,-5.287735806351859e-5,8.466190722367029e-8,0.003209591378752329,-5.285732676741347e-5,8.461980304623928e-8,0.0032099067777057117,-5.28068081968459e-5,8.45304822826286e-8,0.0032101578456377655,-5.275393921740916e-5,8.443903221733049e-8,0.0032103524731652163,-5.272386017376191e-5,8.438550073902889e-8,0.003210505786562472,-5.273660287213019e-5,8.440164096217491e-8,0.0032106382225371155,-5.280577247081059e-5,8.450886182259405e-8,0.0032107738321281018,-5.293736316606222e-5,8.471631689347386e-8,0.0032109383060951215,-5.312841217033488e-5,8.501870672494748e-8,0.0032111560978738906,-5.3365752533195204e-5,8.53942849508674e-8,0.0032114462795934918,-5.362571089155793e-5,8.580446840164302e-8,0.003211817437324192,-5.3875979778961625e-5,8.619700739786424e-8,0.003212262941595191,-5.408075100149098e-5,8.651439387397291e-8,0.0032127589082548043,-5.42090965214644e-5,8.670741201761251e-8,0.003213267160170133,-5.4244595572723914e-5,8.675057308886833e-8,0.0032137438024166646,-5.419248668805494e-5,8.665344939450431e-8,0.003214151231767454,-5.4080711291759844e-5,8.646208359285265e-8,0.0032144693035585834,-5.395352361443707e-5,8.624839037585663e-8,0.003214701461565474,-5.385958237500533e-5,8.609072790016972e-8,0.003214873783886847,-5.383864063516811e-5,8.605238679805011e-8,0.0032150276171485034,-5.391105610832501e-5,8.616487457733809e-8,0.003215208326315366,-5.4072889410851724e-5,8.642041535988369e-8,0.0032154533705997484,-5.429755486548332e-5,8.677506471248515e-8,0.0032157828754069747,-5.4543390211428154e-5,8.716123185097693e-8,0.0032161952720170784,-5.47649828140714e-5,8.750601063943785e-8,0.0032166691643119804,-5.492483570390711e-5,8.7749822276115e-8,0.003217170484883344,-5.500177601999277e-5,8.785966932376333e-8,0.0032176621369899984,-5.499386164298536e-5,8.783350388091249e-8,0.0032181127441866936,-5.491583634520034e-5,8.76958803060696e-8,0.003218502126948113,-5.479314994168618e-5,8.748819344576886e-8,0.0032188229483265337,-5.465521433334049e-5,8.72578166749344e-8,0.0032190794757014783,-5.452988429357098e-5,8.704931644272088e-8,0.0032192849457666393,-5.443991014971355e-5,8.689888287838887e-8,0.003219458734952503,-5.440110974291796e-5,8.683149639470852e-8,0.003219623918717538,-5.442154904813298e-5,8.685964506488469e-8,0.0032198052118412182,-5.45010330062948e-5,8.698248405259667e-8,0.0032200268668433098,-5.463053766414709e-5,8.718490554543236e-8,0.0032203099278025797,-5.479171920972871e-5,8.743680309860852e-8,0.0032206683696555803,-5.4957218224956276e-5,8.769370344416006e-8,0.003221104252445989,-5.509302127948437e-5,8.790074530833945e-8,0.0032216031987040658,-5.516423932315975e-5,8.800209652952139e-8,0.003222132914621037,-5.514457142603367e-5,8.795617458979574e-8,0.003222647901010924,-5.502711200558859e-5,8.775290593353369e-8,0.0032231013851103294,-5.483131338436564e-5,8.74247239172623e-8,0.003223460966712298,-5.4600702849415643e-5,8.704264763661174e-8,0.003223720696988658,-5.43901749473945e-5,8.66955543476372e-8,0.0032239032022557705,-5.4248004296358326e-5,8.646099319840247e-8,0.003224051050262102,-5.4200944786757004e-5,8.638114273675721e-8,0.003224212268778945,-5.424827912428962e-5,8.645345453958669e-8,0.0032244265358801734,-5.4365234327404105e-5,8.663660081008881e-8,0.003224716276502034,-5.451231450454134e-5,8.686597920410975e-8,0.003225083737911467,-5.4646403659949004e-5,8.707189019189658e-8,0.0032255131188312245,-5.473059972318432e-5,8.719538813836393e-8,0.0032259761006378034,-5.4741087113638165e-5,8.719911679190398e-8,0.0032264390598020325,-5.467034723233956e-5,8.707212789604444e-8,0.003226870334335864,-5.452668660564738e-5,8.682879510984012e-8,0.0032272460710804887,-5.4330699940323715e-5,8.65029138253738e-8,0.0032275536298945894,-5.4109915442819836e-5,8.613902532997006e-8,0.003227792304669776,-5.389313593906661e-5,8.5783374691673e-8,0.0032279718677233277,-5.370570458175747e-5,8.547642058179856e-8,0.003228109845550558,-5.356634066004432e-5,8.524786544988952e-8,0.003228228456413095,-5.348557339633553e-5,8.511420042723426e-8,0.0032283518197443535,-5.346531342893715e-5,8.507801310989298e-8,0.0032285035568127823,-5.349896832429377e-5,8.512814037196994e-8,0.003228704536722173,-5.357174984312455e-5,8.524016481482288e-8,0.0032289703539402797,-5.366119984972382e-5,8.537735462686527e-8,0.00322930813206437,-5.373842092470895e-5,8.549282323459017e-8,0.003229712689921856,-5.377103839587337e-5,8.553448506801853e-8,0.0032301631836865975,-5.3729107718665944e-5,8.545465152637074e-8,0.0032306227277087924,-5.359428799950994e-5,8.522472059019744e-8,0.0032310441986026,-5.337012969281068e-5,8.48515280839209e-8,0.0032313836582013745,-5.30879790841398e-5,8.438660592029636e-8,0.0032316176061930268,-5.280197806460897e-5,8.391790250084734e-8,0.0032317548261706127,-5.2571609399665335e-5,8.354146004605948e-8,0.0032318343808087915,-5.243934120871027e-5,8.332524114371036e-8,0.00323190997001867,-5.24157284474321e-5,8.328513968311465e-8,0.003232029903870015,-5.247922773889295e-5,8.33849749888785e-8,0.0032322230037252673,-5.2587959715898925e-5,8.355594128527012e-8,0.0032324945300250224,-5.269508974157829e-5,8.372185756843382e-8,0.0032328299476484103,-5.2761097382812485e-5,8.381914925073835e-8,0.0032332022647684135,-5.2760565068347416e-5,8.380767128683809e-8,0.0032335796804347913,-5.268412304439345e-5,8.367349551296979e-8,0.003233931955256522,-5.2537170491451925e-5,8.342645104170425e-8,0.00323423510297691,-5.2336755010051395e-5,8.309480474079313e-8,0.003234474406802793,-5.210743061617814e-5,8.271847665355266e-8,0.0032346457437325534,-5.187668488346703e-5,8.234172294838152e-8,0.003234755280902423,-5.167055575138879e-5,8.200621219761825e-8,0.003234817807050895,-5.150997501251897e-5,8.174527616602243e-8,0.00323485410132211,-5.140821394599531e-5,8.157988013641992e-8,0.0032348878601373273,-5.1369622605597356e-5,8.15166024002056e-8,0.003234942697918216,-5.138953284328997e-5,8.154743911983669e-8,0.00323503947037617,-5.1454958354580704e-5,8.16508993774942e-8,0.0032351938886941546,-5.154582187779148e-5,8.179401797604287e-8,0.0032354142832091816,-5.16366609641141e-5,8.193524012891515e-8,0.003235699333554656,-5.1699018157927345e-5,8.202847891428973e-8,0.0032360358332845078,-5.170513116825102e-5,8.202923924758582e-8,0.003236397395298634,-5.163367599192616e-5,8.190391001440081e-8,0.0032367460274376706,-5.147751296830587e-5,8.164208997353886e-8,0.003237038911014802,-5.125146075858404e-5,8.126881868503913e-8,0.0032372413519731985,-5.099546813545693e-5,8.084938120768122e-8,0.0032373424767896393,-5.076735769152771e-5,8.04773994266105e-8,0.003237364737593232,-5.0623575968753e-5,8.024369261604461e-8,0.0032373583817348877,-5.0595930934664296e-5,8.01987556722749e-8,0.0032373814263608053,-5.067835383782129e-5,8.033154293976049e-8,0.0032374767927001143,-5.0831888417986464e-5,8.05778502518239e-8,0.0032376595358681605,-5.100299476696643e-5,8.08503013355666e-8,0.0032379179830066707,-5.1142929781694154e-5,8.106998345596535e-8,0.0032382234578475634,-5.121949714913483e-5,8.118548183125027e-8,0.0032385413765336594,-5.1220034229706235e-5,8.117745244402647e-8,0.0032388396301233986,-5.1148784000511076e-5,8.105395968506553e-8,0.00323909343633175,-5.1022080757357263e-5,8.084232217504016e-8,0.003239287476598087,-5.086344596635564e-5,8.058099601387515e-8,0.003239416418574005,-5.06993062299847e-5,8.031267394281034e-8,0.0032394844711164405,-5.055531403368913e-5,8.007849327535253e-8,0.0032395041778899027,-5.0453203864372276e-5,7.991313554603084e-8,0.003239494528968082,-5.0408228290502986e-5,7.98408045445796e-8,0.0032394784475627734,-5.0427301336513986e-5,7.987225828658261e-8,0.003239479791896909,-5.050810067219918e-5,8.000332058699083e-8,0.0032395202194974377,-5.063931236648878e-5,8.021522493846629e-8,0.003239616293252338,-5.080193546123921e-5,8.047671952390412e-8,0.003239777049036872,-5.097147176821398e-5,8.074769163503124e-8,0.003240002171167665,-5.112088531384368e-5,8.098412232278307e-8,0.0032402808961741075,-5.122423243494423e-5,8.114415044682696e-8,0.0032405918090109447,-5.126100829262938e-5,8.119521335082708e-8,0.003240904131438615,-5.122133435508816e-5,8.112236888320618e-8,0.003241181684719136,-5.111146117220087e-5,8.093692711688671e-8,0.003241390622446391,-5.095766931217798e-5,8.068237971757372e-8,0.0032415106650658305,-5.080520775946731e-5,8.04323546602781e-8,0.003241546514068598,-5.070868740467566e-5,8.027494782684523e-8,0.0032415324844812794,-5.071373081832885e-5,8.028313812372978e-8,0.003241523709398545,-5.083705921425271e-5,8.048281634683229e-8,0.0032415751240446157,-5.1057319994444045e-5,8.083823631077988e-8,0.003241719537245258,-5.132391935969942e-5,8.126660197144499e-8,0.0032419576140943988,-5.157842278878715e-5,8.167296421774885e-8,0.0032422632301883753,-5.177516910115313e-5,8.198373070848606e-8,0.0032425973491017465,-5.189151237656024e-5,8.216316480911329e-8,0.003242921385633165,-5.192728220314501e-5,8.221219939811576e-8,0.003243205429064354,-5.1898436692860174e-5,8.215775773060924e-8,0.0032434313058024543,-5.182970678799692e-5,8.204054311489319e-8,0.0032435923938506023,-5.1748673330064326e-5,8.190536290404036e-8,0.0032436920809447035,-5.1681708633171465e-5,8.179466859600291e-8,0.0032437419250657485,-5.165123951677518e-5,8.17443236041018e-8,0.0032437597611700603,-5.167373948957442e-5,8.178051974505204e-8,0.0032437676397874047,-5.1758154968282606e-5,8.191729901686929e-8,0.003243789408658554,-5.190473825027876e-5,8.215464440259327e-8,0.0032438478099100776,-5.2104555505873134e-5,8.247762756783664e-8,0.0032439612563935362,-5.234009583257239e-5,8.28573715553115e-8,0.0032441407595725984,-5.258721229750601e-5,8.325425050664329e-8,0.0032443875424479525,-5.281834024054875e-5,8.36232428780749e-8,0.0032446918276209393,-5.300675228469284e-5,8.392100559929466e-8,0.0032450332255609038,-5.3131371114476176e-5,8.411381289746435e-8,0.00324538295404514,-5.318148371486626e-5,8.418520437848297e-8,0.003245707983573782,-5.316071079859441e-5,8.414223757206918e-8,0.0032459772192329835,-5.3089364431137183e-5,8.401896535485175e-8,0.0032461694781570896,-5.300370532228837e-5,8.387484551908885e-8,0.003246281847351533,-5.2950284714670026e-5,8.37853066862844e-8,0.0032463352544695014,-5.297443793121066e-5,8.382308719834454e-8,0.0032463728424833803,-5.310479309421307e-5,8.403337508404443e-8,0.003246448216996769,-5.333992759564566e-5,8.441256609303461e-8,0.0032466062921121183,-5.364552457477591e-5,8.49040114435253e-8,0.0032468659901151594,-5.396605828032138e-5,8.541718992475005e-8,0.003247214553528512,-5.424562065011762e-5,8.586156956307863e-8,0.003247615679936334,-5.444642162568678e-5,8.617657458590432e-8,0.003248024912597425,-5.455655514944839e-5,8.634399975468773e-8,0.003248403432332568,-5.458687626580262e-5,8.638262859372707e-8,0.0032487255353343303,-5.4562352771310106e-5,8.633386467620277e-8,0.00324898008935198,-5.451326661190067e-5,8.624724859115626e-8,0.0032491685238771285,-5.4468896133598934e-5,8.617020704301661e-8,0.0032493017385686698,-5.44538837415368e-5,8.614231992982142e-8,0.0032493972235823195,-5.448639212370825e-5,8.619253072529561e-8,0.0032494766715691,-5.4577106999117414e-5,8.633766110669544e-8,0.003249563821635595,-5.4728537878472483e-5,8.658130339795376e-8,0.0032496821379050258,-5.4934496846960336e-5,8.691293350608795e-8,0.0032498520196944476,-5.5180047124981716e-5,8.730779131766455e-8,0.0032500875683692987,-5.544249647615775e-5,8.772852392629017e-8,0.0032503934051933206,-5.569395062737085e-5,8.812944569042736e-8,0.0032507623946056432,-5.5905572624570456e-5,8.846361811302392e-8,0.0032511752416808635,-5.60531534073218e-5,8.869203900002466e-8,0.0032516027189509527,-5.6122949655416366e-5,8.879316740083876e-8,0.003252010653866079,-5.6116271961945236e-5,8.87702629117698e-8,0.0032523669850277413,-5.605136928982403e-5,8.865417136694602e-8,0.0032526495630223616,-5.596163996267052e-5,8.850004846746351e-8,0.003252852996146235,-5.588978132512746e-5,8.837752315420322e-8,0.0032529925562878982,-5.58782471815996e-5,8.83550511189378e-8,0.003253103082055259,-5.595758026448335e-5,8.848108953757554e-8,0.0032532314776745693,-5.613576384150119e-5,8.876716640678854e-8,0.0032534234568621025,-5.6393001850667115e-5,8.917985280515563e-8,0.0032537084871765787,-5.668575826548498e-5,8.964767779069584e-8,0.0032540894242032077,-5.696017640428366e-5,9.008307761306017e-8,0.00325454214619616,-5.716962075359378e-5,9.041084937999461e-8,0.0032550252674333844,-5.728830620990315e-5,9.059011621990187e-8,0.003255494511827089,-5.731556283163272e-5,9.06209904156305e-8,0.003255914883576044,-5.7271048375594106e-5,9.0536487245569e-8,0.003256266746644497,-5.71854418674298e-5,9.03871423788393e-8,0.003256546050101389,-5.709145577327869e-5,9.022629331978918e-8,0.003256761198809244,-5.701770488175832e-5,9.010018411835402e-8,0.0032569290319573213,-5.6985589687069876e-5,9.004308407198988e-8,0.0032570712782715805,-5.700820517414628e-5,9.007569729439265e-8,0.003257211829634789,-5.709019855395602e-5,9.02050273070369e-8,0.003257374555642879,-5.722785472994945e-5,9.042451477474267e-8,0.0032575811280771455,-5.740918789972536e-5,9.07141464433097e-8,0.0032578484112563417,-5.761434937787547e-5,9.104111671626653e-8,0.003258185352705804,-5.781702102123823e-5,9.136217618930464e-8,0.0032585898547709312,-5.7987501554828986e-5,9.162880083070914e-8,0.003259046711760422,-5.8097856157750106e-5,9.179571951463989e-8,0.0032595281106661137,-5.812865707175766e-5,9.183195308320635e-8,0.003259997899742414,-5.807559874358659e-5,9.173151942039728e-8,0.003260419534272522,-5.7953377600878414e-5,9.151954278320197e-8,0.003260765818064894,-5.7794560130481856e-5,9.125009531413922e-8,0.0032610273094332534,-5.7642803315349266e-5,9.099481763997835e-8,0.0032612163205118245,-5.754195090058938e-5,9.082492438170712e-8,0.0032613648222029144,-5.752416949150301e-5,9.07918667306029e-8,0.0032615165714595593,-5.7600716096652344e-5,9.09125486368035e-8,0.003261715522120589,-5.7758163232549566e-5,9.116362370356967e-8,0.003261993680028687,-5.796146329096944e-5,9.148694570509478e-8,0.0032623620293660872,-5.8163394938097374e-5,9.180524978805767e-8,0.003262807665272582,-5.8317766793719975e-5,9.20437012761951e-8,0.0032632983134054426,-5.839199548958222e-5,9.215020451540345e-8,0.0032637924706452283,-5.8374669624859956e-5,9.210741718701442e-8,0.0032642511156409566,-5.827592207902026e-5,9.193302480930112e-8,0.0032646467560847373,-5.8121634092867766e-5,9.167002565308534e-8,0.003264967464613854,-5.794476140729533e-5,9.137245205768258e-8,0.0032652161360441057,-5.777729029325265e-5,9.109227604970783e-8,0.0032654068966987506,-5.764485386744147e-5,9.087078295628466e-8,0.003265560763456718,-5.756421591411039e-5,9.073466938213295e-8,0.0032657018358711034,-5.754278131830879e-5,9.069539608026732e-8,0.0032658544101094944,-5.757911789189286e-5,9.075008999633211e-8,0.0032660408074434333,-5.766372839766714e-5,9.088277448331733e-8,0.003266279396647697,-5.777976701135738e-5,9.106550153542938e-8,0.003266582301739539,-5.790395532285883e-5,9.12598753635655e-8,0.0032669526451217174,-5.80083795326496e-5,9.142009964322477e-8,0.003267381767555401,-5.8063972041273024e-5,9.149881185930952e-8,0.0032678476163183977,-5.804619770493952e-5,9.145646309337639e-8,0.003268316164476314,-5.79424713012002e-5,9.12733988533491e-8,0.0032687475221006164,-5.7759070899220414e-5,9.096097972973574e-8,0.003269106529960257,-5.7523825509117984e-5,9.056570793575683e-8,0.0032693746058921917,-5.7281393394498796e-5,9.01612217244734e-8,0.0032695575700859222,-5.7081169177186004e-5,8.982829299441299e-8,0.003269685200835826,-5.696205583363011e-5,8.962983858648573e-8,0.003269802214385346,-5.69404396125155e-5,8.959138558936853e-8,0.0032699545344188102,-5.700604476264368e-5,8.969464615227079e-8,0.0032701763009091883,-5.7126338282034846e-5,8.988518777066455e-8,0.003270481677542585,-5.725676162404585e-5,9.008956185060092e-8,0.0032708629470038705,-5.735286992395743e-5,9.023531943545998e-8,0.00327129431081459,-5.73809369580062e-5,9.026823726629858e-8,0.003271739599354458,-5.7324683909892404e-5,9.0162995318363e-8,0.0032721614993477402,-5.7187059246788255e-5,8.992569167509696e-8,0.0032725298445275717,-5.698731841848309e-5,8.958873870059514e-8,0.0032728270521627735,-5.675482647236528e-5,8.920055536744774e-8,0.003273049851570274,-5.652171851946322e-5,8.881356947561132e-8,0.0032732076970815966,-5.6316492523811355e-5,8.847388481842329e-8,0.003273319145670565,-5.615979289425225e-5,8.821459453534936e-8,0.0032734076545255755,-5.6062581528121386e-5,8.80529729256984e-8,0.003273497839452653,-5.602614665502433e-5,8.799058220459504e-8,0.003273612612866018,-5.604313201827532e-5,8.801494830994981e-8,0.0032737710867281598,-5.609888691693807e-5,8.81017115844299e-8,0.0032739868282610452,-5.617282175496241e-5,8.821681580619211e-8,0.0032742660365082388,-5.6239927611709573e-5,8.831905491514963e-8,0.003274605453936708,-5.627300819139812e-5,8.836386764965425e-8,0.0032749903608651097,-5.624637481283029e-5,8.830953041101465e-8,0.0032753938061936853,-5.614154823740327e-5,8.812653176627841e-8,0.0032757789936782864,-5.595449360495289e-5,8.78092919463083e-8,0.003276106647287594,-5.5701960526054305e-5,8.738628367074491e-8,0.0032763471421135533,-5.5422576587764e-5,8.692152997987455e-8,0.003276493258995722,-5.516877259292599e-5,8.650115186701256e-8,0.0032765664014518425,-5.499014654352684e-5,8.6206007430559e-8,0.003276610999942624,-5.491529491512299e-5,8.608196484440229e-8,0.00327667876464851,-5.494164014254628e-5,8.612345199946136e-8,0.0032768108494707626,-5.5038149965003114e-5,8.627829358674474e-8,0.0032770262708863127,-5.5157998227194705e-5,8.646888984364038e-8,0.0032773198064892668,-5.525387498988542e-5,8.661760852501955e-8,0.003277667339223204,-5.528988528837087e-5,8.666631731922832e-8,0.0032780346135977243,-5.5247658906088445e-5,8.658614562003795e-8,0.0032783860663120725,-5.512713483912658e-5,8.637835326428021e-8,0.0032786918994025917,-5.494363190933129e-5,8.606912261480339e-8,0.0032789327276445193,-5.472280951801439e-5,8.570104945011115e-8,0.003279101674465376,-5.449476059083265e-5,8.532342409842275e-8,0.0032792040453030104,-5.4288301754132294e-5,8.498301212375031e-8,0.0032792550494914192,-5.4126402494692005e-5,8.471678473867611e-8,0.00327927635003745,-5.402331015253779e-5,8.454741469132955e-8,0.003279292261048445,-5.398344931011103e-5,8.448159405887646e-8,0.0032793262697919023,-5.4001841681931624e-5,8.451073771217038e-8,0.0032793983038223334,-5.406554644950239e-5,8.461328637466328e-8,0.003279522775013503,-5.4155543035676e-5,8.475773055077884e-8,0.0032797071337421773,-5.4248736184423704e-5,8.490590178054932e-8,0.0032799506498463736,-5.432014534373688e-5,8.501666483516674e-8,0.003280243299674806,-5.434560660615751e-5,8.505051210231342e-8,0.003280565004985942,-5.430549748269372e-5,8.497579494488648e-8,0.003280886168989561,-5.4189871664097075e-5,8.47771184438119e-8,0.003281171139090372,-5.4004474659509736e-5,8.446499011144445e-8,0.003281386101154559,-5.377533480404946e-5,8.408301336304262e-8,0.0032815110470657827,-5.354778435894943e-5,8.370597725390225e-8,0.003281551525320081,-5.3376005048922325e-5,8.342256462979238e-8,0.0032815423544261006,-5.3303997698127796e-5,8.330417977081286e-8,0.0032815375199139597,-5.334662167257096e-5,8.337402779899631e-8,0.003281589425999078,-5.3482477388724635e-5,8.359571772677401e-8,0.003281729077837722,-5.366347603158219e-5,8.388931201996357e-8,0.0032819577992785165,-5.383448660629819e-5,8.416390530143764e-8,0.003282252028816867,-5.3951461208844274e-5,8.434755805679241e-8,0.003282575064733863,-5.399087527054447e-5,8.440270284958065e-8,0.0032828888308288045,-5.395041499415586e-5,8.432692167156779e-8,0.0032831620823933123,-5.384442525035143e-5,8.414501783308623e-8,0.003283374577592845,-5.369758720472906e-5,8.389827797025655e-8,0.0032835182149421297,-5.3538900495709054e-5,8.363445972132653e-8,0.003283596317507677,-5.3396677990892325e-5,8.339967143688218e-8,0.0032836217594359217,-5.3294597136367996e-5,8.323212142857587e-8,0.0032836142689651616,-5.3248868881598726e-5,8.31577096068053e-8,0.0032835972456282487,-5.326663219322064e-5,8.318754756177193e-8,0.003283594445314077,-5.33455619881586e-5,8.331735797629278e-8,0.003283626858166137,-5.34746355750414e-5,8.35286872417797e-8,0.0032837101355881193,-5.363590835227975e-5,8.379175121758466e-8,0.0032838527983820075,-5.3806929427041975e-5,8.406937560267436e-8,0.003284055181100754,-5.396343946274494e-5,8.432148778286718e-8,0.0032843089773761463,-5.40822511951771e-5,8.450998775388706e-8,0.003284597358913076,-5.414438100313206e-5,8.460404446842303e-8,0.003284895834787221,-5.413857912979374e-5,8.458595257932233e-8,0.003285174445296768,-5.406532947278778e-5,8.445757818292492e-8,0.0032854023338345904,-5.3940697089698616e-5,8.424636958756322e-8,0.0032855554831677934,-5.379806390910282e-5,8.400782714837921e-8,0.003285626815766494,-5.3684562539693467e-5,8.38193737194727e-8,0.0032856347701112503,-5.3649414340871245e-5,8.376117760633833e-8,0.0032856235616832005,-5.3725485877918647e-5,8.38860837426238e-8,0.003285650142636974,-5.391249164401037e-5,8.419236027689752e-8,0.0032857616382241683,-5.4173556173630084e-5,8.461836300416228e-8,0.003285976011289329,-5.444965808100916e-5,8.50665090145353e-8,0.003286277545198635,-5.468347961861177e-5,8.544264341871019e-8,0.0032866275363075573,-5.483838580460321e-5,8.568728752895917e-8,0.0032869809330381304,-5.490461627338049e-5,8.578565026164803e-8,0.0032872996339806037,-5.489474335285152e-5,8.575977711296552e-8,0.003287559053510933,-5.48347345844862e-5,8.565341922089876e-8,0.0032877491677817746,-5.475543920672599e-5,8.551775502054806e-8,0.0032878725457978937,-5.4686451467669074e-5,8.540127833973602e-8,0.0032879413934742783,-5.465235422268597e-5,8.534381381044643e-8,0.003287974597188788,-5.4670536130827427e-5,8.53731992403231e-8,0.003287994886136215,-5.474993658443841e-5,8.550343585455102e-8,0.003288026004617243,-5.489052942074253e-5,8.573393033814724e-8,0.0032880898877680324,-5.508355309891816e-5,8.604985500404462e-8,0.003288203921857211,-5.5312587539400495e-5,8.642385409484243e-8,0.0032883785505384453,-5.5555608027442216E-05,8.681938148259401e-8,0.0032886156357365445,-5.578790705412445e-5,8.719554080619211e-8,0.0032889078436774757,-5.5985521987479445e-5,8.751283667062376e-8,0.003289239125545009,-5.612881998939157e-5,8.77392146012537e-8,0.003289586318797038,-5.620594849831879e-5,8.78558281449679e-8,0.0032899218910641607,-5.621585137160659e-5,8.786195042061433e-8,0.0032902179191576634,-5.617054021271309e-5,8.77784760736655e-8,0.0032904515278464005,-5.609599525829377e-5,8.764903319639631e-8,0.003290611690989794,-5.603034994237022e-5,8.753663675600585e-8,0.0032907060886177963,-5.601757230920074e-5,8.751312401969255e-8,0.0032907648315062244,-5.60957001758165e-5,8.763993271030684e-8,0.00329083651219213,-5.628175714456582e-5,8.794367269940098e-8,0.003290973902945432,-5.656023599277606e-5,8.839762192953688e-8,0.003291213321631433,-5.6884077700507716e-5,8.892363541663668e-8,0.003291558763057707,-5.7191191598862794e-5,8.941943124269481e-8,0.0032919809643103797,-5.742839856654776e-5,8.979798297636507e-8,0.0032924313677109907,-5.756902600419823e-5,9.001640079964623e-8,0.0032928611324823196,-5.7616237434723784e-5,9.008120657162066e-8,0.003293234884122227,-5.759476981903807e-5,9.003437623650073e-8,0.003293535602904595,-5.753893290328132e-5,8.993321103832823e-8,0.003293762927268325,-5.7482792094576774e-5,8.983397854989548e-8,0.003293928650397064,-5.745439610101603e-5,8.978246898705095e-8,0.003294052074754002,-5.7473344437337244e-5,8.981023130920463e-8,0.003294156313027807,-5.755021904012821e-5,8.993390698836747e-8,0.0032942654733313977,-5.768674160814335e-5,9.01556607176256e-8,0.0032944022662521263,-5.787621616364838e-5,9.046394738638393e-8,0.003294585697181951,-5.810428412374258e-5,9.083470767938509e-8,0.003294828730883638,-5.835025192829971e-5,9.123350329312376e-8,0.0032951361110117538,-5.858935210068161e-5,9.161924961334033e-8,0.003295502862145243,-5.879608733804884e-5,9.194981099819587e-8,0.0032959140922813155,-5.894836427269165e-5,9.218894166181916e-8,0.003296346501630117,-5.903178845858687e-5,9.2313465377073e-8,0.0032967716942378903,-5.904330752969372e-5,9.231927451156279e-8,0.003297161013652729,-5.8993325195830865e-5,9.222465017716898e-8,0.0032974912528637187,-5.8905595820280855e-5,9.206977518622295e-8,0.0032977504065195102,-5.881449638135142e-5,9.191186754025751e-8,0.003297942473857903,-5.875940209359208e-5,9.181563871498607e-8,0.0032980898714052753,-5.877616173854993e-5,9.183921908280787e-8,0.0032982314957932714,-5.88866346272826e-5,9.201718962789459e-8,0.0032984146833885644,-5.908904162486795e-5,9.23451566292984e-8,0.0032986812779857745,-5.935379884542151e-5,9.277334751463147e-8,0.003299051997951586,-5.962945134656554e-5,9.321663709787946e-8,0.003299516827886728,-5.985901363351853e-5,9.358146928311346e-8,0.0033000378122319263,-5.999998453310655e-5,9.379868554416737e-8,0.003300563468977945,-6.003775679601342e-5,9.384541959529023e-8,0.003301046759699778,-5.9986342425414024e-5,9.374604054768167e-8,0.0033014576765286454,-5.987863396959832e-5,9.355579500500295e-8,0.003301786809054379,-5.975339670750789e-5,9.33390980278829e-8,0.0033020419823445663,-5.964508164161518e-5,9.315264867329e-8,0.0033022421362587082,-5.9578548895871055e-5,9.303685979764736e-8,0.003302411561432909,-5.9567748630520254e-5,9.301394192772079e-8,0.0033025757102160976,-5.961647141519134e-5,9.308938092423752e-8,0.003302758454813665,-5.971971311326604e-5,9.32543085753427e-8,0.003302980149123383,-5.986499809573707e-5,9.348767984635991e-8,0.0033032558966772426,-6.003362496588928e-5,9.375826851834662e-8,0.003303593705146403,-6.0202192353766145e-5,9.402715772445558e-8,0.0033039926166897105,-6.034495084095433e-5,9.425167222522078e-8,0.003304441386900897,-6.043737478577002e-5,9.439138689843304e-8,0.003304918618617791,-6.046082993353868e-5,9.441594479608006e-8,0.0033053952081656575,-6.040751190609572e-5,9.431324511412548e-8,0.0033058394190006372,-6.028418972979809e-5,9.409552551950787e-8,0.0033062239072710452,-6.011307792870043e-5,9.380056022170947e-8,0.0033065329819612454,-5.99287475949815e-5,9.348622559924204e-8,0.003306767914704313,-5.977122717532698e-5,9.321879190076651e-8,0.003306948486177933,-5.9676703637333575e-5,9.305741226162379e-8,0.0033071098761496675,-5.966803032891732e-5,9.303855751819586e-8,0.003307295078633383,-5.974750722150152e-5,9.316446634613662e-8,0.003307544114132092,-5.9894223093106617E-05,9.339925812123948e-8,0.0033078824817017226,-6.006764076265878e-5,9.367527554290179e-8,0.003308312428674662,-6.021771715946743e-5,9.390997219756039e-8,0.003308810868846452,-6.02993136284251e-5,9.402960860305769e-8,0.003309335890088662,-6.028585030600706e-5,9.39915224159716e-8,0.003309839846317023,-6.017646168426142e-5,9.379561381316522e-8,0.003310283495942255,-5.999380790271972e-5,9.348042402784567e-8,0.0033106453888089448,-5.977450811021991e-5,9.310709708273535e-8,0.0033109239015205183,-5.955734946844783e-5,9.273979011758474e-8,0.003311133299984977,-5.937407692846487e-5,9.243051520461885e-8,0.0033112972340637236,-5.924481776115903e-5,9.221178385233012e-8,0.0033114426199441147,-5.917750316763905e-5,9.209590179549796e-8,0.0033115952609545363,-5.9169497804775444e-5,9.207784107991695e-8,0.003311777204723194,-5.920987375766593e-5,9.213904652853273e-8,0.0033120052080999,-5.92814938356559e-5,9.225082851606375e-8,0.003312289594904694,-5.936274846059623e-5,9.237717028262174e-8,0.003312633024578902,-5.942929679557276e-5,9.247760893901174e-8,0.003313029137070735,-5.945642637260442e-5,9.251122688928723e-8,0.0033134615879803833,-5.942257807852542e-5,9.244260873645003e-8,0.0033139044987459776,-5.931413137224047e-5,9.22498336783901e-8,0.0033143255654085853,-5.913063940039792e-5,9.193309185903323e-8,0.003314692523404364,-5.888852657791199e-5,9.152061902109267e-8,0.003314982071759978,-5.862063074863608e-5,9.106765658072329e-8,0.0033151883441194956,-5.836990960235362e-5,9.064573525743296e-8,0.003315327061036844,-5.817820907612507e-5,9.032387007253822e-8,0.003315432756404787,-5.807381239007963e-5,9.014792415786519e-8,0.003315549502730872,-5.80625870862475e-5,9.012617527068651e-8,0.0033157184572218204,-5.8126053541180765e-5,9.022654455023874e-8,0.003315966551858763,-5.8226689676969886e-5,9.038585941639497e-8,0.0033162996332138915,-5.831825523870404e-5,9.052728727571216e-8,0.0033167015288640424,-5.835787971070538e-5,9.058041563143791e-8,0.0033171388754599613,-5.8316694902620264e-5,9.049864230177064e-8,0.003317570199537387,-5.818631498100734e-5,9.026951683504713e-8,0.0033179566224040904,-5.7979533462259516e-5,8.99154851350754e-8,0.0033182710352989515,-5.772533753434543e-5,8.94853309482593e-8,0.003318503156852944,-5.746022504077495e-5,8.903967082003617e-8,0.003318659520612165,-5.721893166409305e-5,8.863565691424088e-8,0.0033187593907932924,-5.7027409664830245e-5,8.831554830627552e-8,0.0033188288152567313,-5.6899447070337116e-5,8.810136402150192e-8,0.0033188949683195744,-5.683663868685322e-5,8.799503967854189e-8,0.0033189820031886176,-5.683044444173091e-5,8.79819251290983e-8,0.0033191086079180677,-5.686498657172212e-5,8.80353851458633e-8,0.0033192868090701146,-5.6919687627007744e-5,8.812108202417043e-8,0.0033195213608058194,-5.6971468212093134e-5,8.820056393045532e-8,0.003319809205334997,-5.6996756676009524e-5,8.823463939940167e-8,0.0033201388682853913,-5.6973850769248384e-5,8.818741927408212e-8,0.0033204901645404743,-5.688617916715095e-5,8.803185327819643e-8,0.0033208351653437364,-5.672667481568836e-5,8.775700668157399e-8,0.0033211417606726764,-5.650258196722333e-5,8.737589343481958e-8,0.0033213807589085697,-5.623860290952227e-5,8.693042466255639e-8,0.003321535704580842,-5.5975194089382036e-5,8.64882803546673e-8,0.003321611779853912,-5.575964063734652e-5,8.612788421461543e-8,0.0033216383488875716,-5.563121550563371e-5,8.591372038897917e-8,0.00332166160133251,-5.560648771923718e-5,8.587208299016034e-8,0.003321729332346463,-5.567246407025703e-5,8.597999999454416e-8,0.0033218749696411454,-5.5791288194139026e-5,8.617344710132884e-8,0.003322108078793622,-5.591357362818337e-5,8.636987047930183e-8,0.003322414074917141,-5.599359775464645e-5,8.649361999558831e-8,0.0033227610657908736,-5.600062818328033e-5,8.649468343439781e-8,0.0033231098129842453,-5.592409172339057e-5,8.635693899550423e-8,0.003323423401229845,-5.577304858807897e-5,8.60968278743868e-8,0.0033236746106560327,-5.5571625019046895e-5,8.57553706414179e-8,0.0033238501378285963,-5.535223551652658e-5,8.538670353148495e-8,0.003323951512978097,-5.5148243821503265e-5,8.504591708672522e-8,0.0033239930515267515,-5.4987516475655016e-5,8.477855814651931e-8,0.003323997693098464,-5.4888022929405465e-5,8.461360179444422e-8,0.0033239919654675055,-5.485601986581888e-5,8.456067453943338e-8,0.0033240012834951657,-5.4886614374086276e-5,8.461111130656435e-8,0.00332404640453801,-5.496599005265156e-5,8.474164448132102e-8,0.003324141328817078,-5.507438956499113e-5,8.491926542726227e-8,0.003324292421254159,-5.5189074106772154e-5,8.510604823670503e-8,0.0033244982624229583,-5.528690636714247e-5,8.526342573891019e-8,0.0033247498139609742,-5.534665974060568e-5,8.5356116539381e-8,0.003325030738318475,-5.535139742517621e-5,8.535622814349039e-8,0.003325318078773487,-5.529132808874682e-5,8.524810407518335e-8,0.0033255840434287193,-5.516732559483926e-5,8.503412127897562e-8,0.003325800025884042,-5.4994500283684165e-5,8.474038755337137e-8,0.003325943636647162,-5.4803921202816106e-5,8.441925947919739e-8,0.003326007954119694,-5.463949661780294e-5,8.414386557641033e-8,0.0033260093929748016,-5.454751850488496e-5,8.39906316797749e-8,0.0033259881913321188,-5.4560143825206843e-5,8.401195873056964e-8,0.0033259972865628765,-5.4680122236649234e-5,8.421112518435034e-8,0.003326082679984568,-5.4876669269890736e-5,8.453576539427439e-8,0.0033262656698723574,-5.509660108184346e-5,8.489670021080734e-8,0.0033265367421952,-5.528454025680654e-5,8.520177547374201e-8,0.0033268625692368203,-5.540089651290604e-5,8.53858406600953e-8,0.0033271997836301316,-5.5430263445104554e-5,8.542454745717457e-8,0.00332750801243725,-5.538020410605459e-5,8.533193941439912e-8,0.0033277582273325535,-5.527451512296222e-5,8.514878834424156e-8,0.0033279360985943923,-5.514504454421498e-5,8.492865234127454e-8,0.0033280417206101223,-5.502443713341801e-5,8.47257264967664e-8,0.0033280872119350394,-5.494062573953781e-5,8.458583816329359e-8,0.0033280931856418602,-5.4913121909954754e-5,8.454056432249686e-8,0.003328084687829209,-5.49510529651956e-5,8.460424445406648e-8,0.003328087119786794,-5.505287514330795e-5,8.477367296994299e-8,0.003328122619004344,-5.520754438276987e-5,8.503008040542494e-8,0.0033282072794208633,-5.539681605654844e-5,8.534289014342119e-8,0.0033283494784650124,-5.559823205385741e-5,8.567459021016955e-8,0.0033285493241682613,-5.5788247308437714e-5,8.5985886311372e-8,0.0033287989546007955,-5.594511202878772e-5,8.624053969095568e-8,0.0033290834152926,-5.605145404558202e-5,8.640978601385084e-8,0.0033293820025522038,-5.609665354800625e-5,8.647641681844645e-8,0.00332967012765513,-5.607914249037254e-5,8.64386360154981e-8,0.003329922108265471,-5.600868372770514e-5,8.63137014691309e-8,0.003330115618151409,-5.590807269377462e-5,8.614043768918587e-8,0.0033302381328333365,-5.58126677029861e-5,8.597808953775239e-8,0.0033302943335076583,-5.5765475825965935e-5,8.589791861426393e-8,0.0033303112431023363,-5.580611329656748e-5,8.596488539474054e-8,0.003330335893358347,-5.595512706192685e-5,8.621187561535514e-8,0.0033304217950196257,-5.620076748901601e-5,8.661809726569148e-8,0.0033306077541668403,-5.649824615334275e-5,8.710815973363818e-8,0.003330900673735715,-5.678551821777345e-5,8.757850948338549e-8,0.0033312733708816735,-5.7007580014031255e-5,8.793794593475561e-8,0.003331677827847687,-5.713506396332166e-5,8.81385544183494e-8,0.0033320641462310304,-5.7168762976044525e-5,8.818303689777447e-8,0.003332394888741356,-5.713232454494835e-5,8.81121521924967e-8,0.003332650948899174,-5.706056072566515e-5,8.79848172366316e-8,0.0033328307387244707,-5.69892054818512e-5,8.786079588531413e-8,0.003332946103134148,-5.6948270940260595e-5,8.7789662082767e-8,0.003333017524013881,-5.695869565914077e-5,8.780546633003202e-8,0.003333069785980845,-5.7031151550971855e-5,8.79250644837299e-8,0.003333128293176569,-5.7166122827538784e-5,8.814848616597651e-8,0.003333215942814037,-5.735486447701515e-5,8.846062555209589e-8,0.003333350526081416,-5.758107712399529e-5,8.883400189972032e-8,0.003333542711568079,-5.782323256543382e-5,8.923255045240708e-8,0.0033337948024626724,-5.805748921759443e-5,8.961641831353482e-8,0.0033341004955474854,-5.826092281925177e-5,8.994735848331943e-8,0.0033344456574180216,-5.8414663420069585e-5,9.019404254409442e-8,0.0033348099763535065,-5.850667539814434e-5,9.033680470762473e-8,0.0033351693972139954,-5.8534013007029704e-5,9.037145788055351e-8,0.0033354992652454255,-5.850435337312846e-5,9.031176994724097e-8,0.003335778150817505,-5.8436628216984924e-5,9.019026948162117e-8,0.0033359924676545083,-5.836033415719681e-5,9.005674088553579e-8,0.003336141696475799,-5.831247259530645e-5,8.99728131408324e-8,0.003336242937122228,-5.833081796090152e-5,9.000064726389226e-8,0.003336332072852576,-5.844314497737879e-5,9.018519988192054e-8,0.003336457993721301,-5.8654611621949015e-5,9.053364701309959e-8,0.003336668034416213,-5.8939341334053395e-5,9.100181248328803e-8,0.0033369886308538366,-5.9243988034202145e-5,9.15003563787348e-8,0.0033374117211466396,-5.950577741976175e-5,9.192485569877443e-8,0.0033378966406314506,-5.9676814334938345e-5,9.219623025373824e-8,0.003338387060585492,-5.974061238822445e-5,9.228818050131115e-8,0.003338832161640395,-5.9712769824558396e-5,9.222809662066525e-8,0.003339200660884803,-5.9629238348668325e-5,9.207713490030904e-8,0.0033394839946629365,-5.9531508527586526e-5,9.19051435138701e-8,0.00333969194933606,-5.9455615021928336e-5,9.177216062406416e-8,0.0033398456958361393,-5.9426735296063406e-5,9.171952556625893e-8,0.0033399714625476887,-5.94580076063395e-5,9.176821138029921e-8,0.0033400959454044452,-5.9551503177061825e-5,9.19207583444299e-8,0.003340243216604815,-5.969991931487511e-5,9.21642828744451e-8,0.003340432528612182,-5.988845372977386e-5,9.247363390315894e-8,0.00334067661964073,-6.009682747560091e-5,9.281470236403697e-8,0.003340980391006287,-6.0301603901974886e-5,9.314821825194654e-8,0.0033413400860247433,-6.047899922745841e-5,9.34344253905957e-8,0.0033417433406987395,-6.0608161718892285e-5,9.363861218700703e-8,0.0033421704338331562,-6.0674530868574566e-5,9.373681434940468e-8,0.003342596793867571,-6.067274472862805e-5,9.372073186756808e-8,0.003342996619504433,-6.060857747387037e-5,9.360092417739725e-8,0.0033433472973181913,-6.049938316515723e-5,9.340736779360886e-8,0.003343634076313921,-6.037265637678459e-5,9.318674843140178e-8,0.003343854352958671,-6.026253039672385e-5,9.29962869527095e-8,0.0033440207974379525,-6.02040503597778e-5,9.289398103642671e-8,0.00334416209570793,-6.0225227664861864e-5,9.292540486542561e-8,0.0033443195738953684,-6.033783862182839e-5,9.310869759814082e-8,0.0033445382535737425,-6.052967926745262e-5,9.342213643036966e-8,0.0033448528768625176,-6.076271261213488e-5,9.380146725962548e-8,0.0033452733341006566,-6.098129519580642e-5,9.415379750598335e-8,0.0033457773304763423,-6.11302103754188e-5,9.43875995339562e-8,0.003346316441695281,-6.117498982465232e-5,9.444642575943193e-8,0.0033468338086486238,-6.111354333006799e-5,9.432810795018451e-8,0.0033472838692474196,-6.097324927755117e-5,9.4079645301939e-8,0.0033476441985163447,-6.0797240704200516e-5,9.377398884436344e-8,0.0033479163084475117,-6.062888070521747e-5,9.348385258171712e-8,0.003348119017326552,-6.050124738963157e-5,9.326410433273226e-8,0.0033482798563691583,-6.043317112036643e-5,9.314535120928058e-8,0.0033484280459571253,-6.0429873261064216e-5,9.313533471622201e-8,0.0033485900303240564,-6.0485597297215256e-5,9.322360188274091e-8,0.0033487870427821647,-6.058650061285441e-5,9.338645264051759e-8,0.003349033779148276,-6.071317745669125e-5,9.359112405668456e-8,0.003349337512154647,-6.084287930407258e-5,9.379941019517652e-8,0.0033496973868342426,-6.0951778738148076e-5,9.39713912066027e-8,0.0033501040189214903,-6.1017654657638296e-5,9.406994902831682e-8,0.003350539852327468,-6.102313701204754e-5,9.406628005534092e-8,0.0033509808424563464,-6.0959184102096446e-5,9.394579478956938e-8,0.0033513997985662727,-6.0828035243102085e-5,9.371305998195274e-8,0.003351771242630648,-6.064464806465786e-5,9.339407682046672e-8,0.0033520770502697586,-6.043567280060645e-5,9.303431185934628e-8,0.0033523115992083793,-6.023549059632611e-5,9.269175686275925e-8,0.0033524849538567095,-6.0079656147178764e-5,9.242570667708549e-8,0.003352622868607595,-5.999683644913714e-5,9.228321247007672e-8,0.0033527629108964156,-6.0000858451751614e-5,9.228598308330152e-8,0.0033529466888537886,-6.0084899028015664e-5,9.242109352946563e-8,0.003353209163212818,-6.0220101719581925e-5,9.263915942649568e-8,0.003353567452423346,-6.036056292024498e-5,9.286301996208644e-8,0.003354013074553909,-6.045506176241125e-5,9.300742375322236e-8,0.003354511938151932,-6.0462793179074204e-5,9.300515855826013e-8,0.003355013937094379,-6.036701837740332e-5,9.282957547814603e-8,0.0033554690078815767,-6.018006277425595e-5,9.250263119120252e-8,0.0033558424476254254,-5.9937221757790955e-5,9.208440293612802e-8,0.0033561228412348943,-5.9683282240027307e-5,9.165030735952862e-8,0.003356320744440452,-5.9458664926667036e-5,9.126781835699132e-8,0.003356461215846782,-5.929059997108527e-5,9.09818074709203e-8,0.0033565749791113304,-5.919060979973586e-5,9.081060603989335e-8,0.0033566915189816907,-5.915640839670276e-5,9.07494897969949e-8,0.0033568350305881473,-5.91755770416691e-5,9.077702401431161e-8,0.003357022613830941,-5.9229226963443656e-5,9.086121990946202e-8,0.003357263701159578,-5.929496452229679e-5,9.096440629587108e-8,0.003357559911226247,-5.934921839576949e-5,9.104702421945221e-8,0.0033579049385909485,-5.9369383956175455e-5,9.1071192375381e-8,0.0033582845835001054,-5.9336313704812116e-5,9.100494733703145e-8,0.00335867744667257,-5.923739982099832e-5,9.082751861971475e-8,0.003359057001605932,-5.906997363720898e-5,9.053508695821385e-8,0.003359395616398978,-5.884413276926084e-5,9.014546329210125e-8,0.003359670484111321,-5.858354614172143e-5,8.96992412648217e-8,0.003359870306372325,-5.83227294745991e-5,8.925494292974744e-8,0.003360000476205311,-5.8100244081356475e-5,8.887733886137964e-8,0.0033600842939887445,-5.794905158876692e-5,8.862112733910623e-8,0.0033601588394004405,-5.7886876867381644e-5,8.851484939281549e-8,0.0033602660797591934,-5.790993390908707e-5,8.85506789176601e-8,0.003360441674025316,-5.799244505104898e-5,8.868407215376571e-8,0.003360704848971143,-5.809247460735285e-5,8.884397868653839e-8,0.003361052408555661,-5.8162610399993446e-5,8.895098477449679e-8,0.0033614587985430038,-5.816263041067814e-5,8.893850581578914e-8,0.003361882595100984,-5.807055435201572e-5,8.877103313526498e-8,0.0033622778382321966,-5.788851232418176e-5,8.845357733079992e-8,0.003362606646946412,-5.764123357960088e-5,8.802875740347297e-8,0.003362848722009863,-5.736772166360094e-5,8.756257923304475e-8,0.003363004624307182,-5.710951428610873e-5,8.712465566458204e-8,0.0033630925651310676,-5.690004657624532e-5,8.677046271557997e-8,0.0033631411170110623,-5.6758424875231495e-5,8.653114040510852e-8,0.003363181256001812,-5.668835779717318e-5,8.641199419472419e-8,0.0033632402740149748,-5.6680785627308535e-5,8.639713164955336e-8,0.0033633383786634027,-5.67180183840242e-5,8.64564805526587e-8,0.0033634874868962595,-5.6777755378881375e-5,8.65524655651299e-8,0.0033636912810481303,-5.683628445550697e-5,8.66452477529796e-8,0.003363945718484768,-5.687086249094485e-5,8.669663650025481e-8,0.0033642395389277832,-5.686171426360383e-5,8.667346696354637e-8,0.0033645548029027344,-5.6794222114151424e-5,8.655138743646585e-8,0.0033648679728196743,-5.6661634264931834e-5,8.631952160889124e-8,0.003365152316192434,-5.646808727765676e-5,8.598556119531746e-8,0.0033653823440695273,-5.6231009443925796e-5,8.557966538825618e-8,0.003365540348867742,-5.598115619209057e-5,8.515425825459867e-8,0.0033656236291926926,-5.5758262063050816e-5,8.477643543829795e-8,0.003365649237974656,-5.5601580627967396e-5,8.451187493962213e-8,0.003365652653538818,-5.5537505781072915e-5,8.440402629396734e-8,0.0033656789459104476,-5.5569291146105796e-5,8.445703766415184e-8,0.003365769023611574,-5.5674099565599833e-5,8.463116901817921e-8,0.003365946605285959,-5.580935658495085e-5,8.485389455646114e-8,0.003366211262409989,-5.592573091926771e-5,8.504204720695987e-8,0.0033665395943343838,-5.598132333980049e-5,8.512577176624952e-8,0.003366892961472996,-5.59521898282755e-5,8.506604596898847e-8,0.003367228357217615,-5.583677491599288e-5,8.486175343471328e-8,0.0033675090217883843,-5.565418314517531e-5,8.454632832083293e-8,0.0033677122812087027,-5.543770395775392e-5,8.417651191158752e-8,0.0033678331653782018,-5.522579913828783e-5,8.381704806824443e-8,0.0033678834944036373,-5.50530389308712e-5,8.352552276592036e-8,0.0033678872697589877,-5.494321345418341e-5,8.334103225252462e-8,0.003367874119813055,-5.490600237086945e-5,8.327889130742978e-8,0.0033678728417263332,-5.493731937946403e-5,8.333146207894089e-8,0.003367906582298691,-5.50223028120182e-5,8.347329601819736e-8,0.003367990240931756,-5.5139459330814e-5,8.36680693328067e-8,0.003368129820921837,-5.5264706650024884e-5,8.387526013174893e-8,0.0033683230141878383,-5.53746278372721e-5,8.405550425907457e-8,0.0033685602874602904,-5.544884667401181e-5,8.417455801548991e-8,0.0033688260245799536,-5.5471875403664845e-5,8.420648096017351e-8,0.0033690996964164,-5.54349217648513e-5,8.41368044105891e-8,0.0033693574390171246,-5.533796983745346e-5,8.396611154911362e-8,0.003369574738556079,-5.51920190230235e-5,8.371373979967595e-8,0.0033697309471166486,-5.502062543221554e-5,8.342014676700197e-8,0.0033698157191195807,-5.4858963662490004e-5,8.314502135403152e-8,0.00336983588693757,-5.4748211466438515e-5,8.295758836096101e-8,0.003369819180796456,-5.472435396786891e-5,8.291770942984493e-8,0.0033698103447281362,-5.4804144817696605e-5,8.305241791698605e-8,0.0033698580327925177,-5.497509215486744e-5,8.333937840761425e-8,0.00336999704671909,-5.519660736781785e-5,8.370918090270701e-8,0.003370235023755808,-5.541355414664154e-5,8.406846696487325e-8,0.0033705505910493,-5.557548077177791e-5,8.43325066766928e-8,0.0033709027002781183,-5.565191209448797e-5,8.445094442884492e-8,0.0033712449573918956,-5.563811944371171e-5,8.441726573141519e-8,0.0033715383281370122,-5.5551947479558465e-5,8.426301455023264e-8,0.0033717588003342688,-5.5425603682988634e-5,8.404350744757277e-8,0.0033718997534319347,-5.529628730757146e-5,8.382176259040501e-8,0.0033719703516509663,-5.519808521396885e-5,8.365483265879684e-8,0.0033719915125817105,-5.515616301581334e-5,8.358424368986457e-8,0.003371990670460589,-5.5183508520810655e-5,8.363084262341449e-8,0.003371996312094328,-5.5280222125438397e-5,8.37938999603007e-8,0.0033720332014755966,-5.543506986883743e-5,8.405389123547616e-8,0.0033721189855487107,-5.56286157858378e-5,8.437778720791833e-8,0.003372262458821144,-5.5837078683713314e-5,8.472545698884107e-8,0.0033724633940253805,-5.603614789623234e-5,8.505597653427594e-8,0.003372713546608454,-5.620417709122976e-5,8.533294234846123e-8,0.0033729982668022603,-5.632452546423462e-5,8.552844070193068e-8,0.00337329829570848,-5.6387235045065904e-5,8.562597120345452e-8,0.003373591662554191,-5.639037939243083e-5,8.56228158420924e-8,0.0033738558827816345,-5.634128823507716e-5,8.553209949381927e-8,0.0033740709065428706,-5.625757728164715e-5,8.538435984518772e-8,0.0033742233614416587,-5.6167318041165296e-5,8.522753464272809e-8,0.0033743120850930324,-5.6106839883563096e-5,8.512295286558207e-8,0.0033743535182657845,-5.6114284681771475e-5,8.51343302306435e-8,0.003374383584560917,-5.621816091412462e-5,8.530860378052354e-8,0.003374451653711905,-5.642363033026548e-5,8.565316246357324e-8,0.003374604874548048,-5.670392651341919e-5,8.612176775673318e-8,0.003374868363272367,-5.700515151316815e-5,8.662290807184912e-8,0.0033752327666612806,-5.726543902108981e-5,8.705223569982031e-8,0.003375657734454065,-5.743861941957818e-5,8.733251492462779e-8,0.00337608883276525,-5.7508964679654286e-5,8.743842547911098e-8,0.0033764770314720334,-5.749109053497066e-5,8.739613430904317e-8,0.003376791288154108,-5.741928432963936e-5,8.726484516431357e-8,0.003377021873463669,-5.733428391425587e-5,8.711405749206888e-8,0.003377177244553692,-5.727289468373037e-5,8.700584615729924e-8,0.0033772782065038614,-5.7261975296652276e-5,8.698482352101486e-8,0.003377351897211726,-5.731608876134401e-5,8.707450164078988e-8,0.0033774266600864046,-5.743750053577925e-5,8.727765185706965e-8,0.0033775279397840904,-5.761758344607225e-5,8.757892428997106e-8,0.0033776751676794963,-5.783921764291742e-5,8.794897670651642e-8,0.0033778797227997696,-5.807988352583364e-5,8.834963725304223e-8,0.0033781440270615184,-5.831509017006301e-5,8.873957895692964e-8,0.0033784617768650477,-5.8521803894550365e-5,8.908001953560924e-8,0.003378819238634322,-5.868149381761238e-5,8.933984781642511e-8,0.003379197323670683,-5.8782439093002966e-5,8.949957584080041e-8,0.003379574066231394,-5.882122050843463e-5,8.955393397490966e-8,0.003379927308581292,-5.880351542948081e-5,8.951323372093641e-8,0.0033802375736910525,-5.8744255904977356e-5,8.940353066295135e-8,0.003380491220639322,-5.86670851430349e-5,8.92654614473728e-8,0.003380684061250688,-5.8602724717853605e-5,8.915117457299559e-8,0.003380825238790617,-5.8585283278155506e-5,8.911787039413452e-8,0.0033809400725077258,-5.8645366370736766e-5,8.921617853680288e-8,0.0033810692089788217,-5.8799874204040243e-5,8.947323513780382e-8,0.003381260821250198,-5.904106722336901e-5,8.987469296042821e-8,0.0033815547925915685,-5.933123263112307e-5,9.0356110182332e-8,0.003381964109575867,-5.961028832185029e-5,9.081592148861166e-8,0.0033824647851254143,-5.981713959083937e-5,9.1151422106769e-8,0.003383003169851391,-5.9914358833980524e-5,9.130033548932249e-8,0.0033835175357943767,-5.9901254032734106e-5,9.126278647579509e-8,0.0033839605590798446,-5.980890433849116e-5,9.10926902260356e-8,0.00338431099616989,-5.968366488858203e-5,9.086948355865654e-8,0.0033845727837585357,-5.9570442762593056e-5,9.066948346775116e-8,0.0033847670858004075,-5.950243521857609e-5,9.05484296124944e-8,0.0033849232362922243,-5.9497727807565615e-5,9.053594275132374e-8,0.0033850716583332255,-5.956024397003957e-5,9.063751388399143e-8,0.0033852393421935963,-5.9682490187505253e-5,9.083949487511646e-8,0.0033854472176725985,-5.984859127500225e-5,9.111441080009529e-8,0.0033857086133339863,-6.003720459463659e-5,9.142588647628522e-8,0.0033860284271986017,-6.022439650227471e-5,9.173340583043047e-8,0.003386402955846923,-6.038656005091193e-5,9.199713865518988e-8,0.003386820462731965,-6.0503374088305864e-5,9.218289744117541e-8,0.003387262658810295,-6.05606230682693e-5,9.226693315388558e-8,0.0033877071395750856,-6.0552452997181255e-5,9.223981379163578e-8,0.0033881305330445235,-6.048266726105932e-5,9.210864890465263e-8,0.0033885120041810286,-6.036487174837796e-5,9.189727295160823e-8,0.003388836782278121,-6.022136221100909e-5,9.164417689053099e-8,0.003389099364723984,-6.008071140194549e-5,9.139814912203612e-8,0.003389306087909998,-5.9974056769629564e-5,9.121173103792565e-8,0.0033894766507592314,-5.992991778520634e-5,9.113234376727132e-8,0.0033896436217253243,-5.9967392439029444e-5,9.119094033650632e-8,0.003389848331184142,-6.00884494472235e-5,9.138938243016609e-8,0.003390131696696725,-6.027176738671097e-5,9.169052134537972e-8,0.003390520408645742,-6.0472489173007385e-5,9.20181223124543e-8,0.003391013048776062,-6.0632291852483944e-5,9.227391611926006e-8,0.003391574685345615,-6.069936708195099e-5,9.237117323434914e-8,0.0033921465752053356,-6.0649508463182645e-5,9.227013011226155e-8,0.003392668019375996,-6.049561955058757e-5,9.199390213601754e-8,0.003393098109249708,-6.027985582758634e-5,9.161498325294656e-8,0.003393425788317697,-6.005472021645174e-5,9.12229510324662e-8,0.00339366621882231,-5.986502345047448e-5,9.089367784604274e-8,0.003393849764889761,-5.973824800765525e-5,9.067301795341194e-8,0.0033940108887349028,-5.9683418753718195e-5,9.057517474706375e-8,0.0033941806177451347,-5.969475502631139e-5,9.058927390461232e-8,0.0033943828082887316,-5.9756555264083074e-5,9.068792616803152e-8,0.0033946329021984417,-5.984744069403636e-5,9.083450585144963e-8,0.003394937808251754,-5.994358255246006e-5,9.098854172687638e-8,0.003395296161910116,-6.002127117598997e-5,9.110993548500498e-8,0.003395698804414143,-6.0059267214638514e-5,9.116285658288206e-8,0.0033961296425301405,-6.004122350292775e-5,9.111984405853812e-8,0.0033965672449549665,-5.995817702591761e-5,9.096608893871411e-8,0.0033969875056327195,-5.9810681332088226e-5,9.070310529653611e-8,0.0033973673472186662,-5.960989551896998e-5,9.035055940505286e-8,0.0033976890073721226,-5.937702862808381e-5,8.994519524467432e-8,0.00339794414966279,-5.914078600227383e-5,8.953626954603158e-8,0.00339813686265762,-5.893285864413488e-5,8.91776383701858e-8,0.0033982846760873316,-5.8782022201718587e-5,8.891757350029357e-8,0.0033984170426695744,-5.8707756459061303e-5,8.878796990728907e-8,0.0033985710041651773,-5.8714419523522015e-5,8.879474808736464e-8,0.003398783964213327,-5.8787308590801815e-5,8.891163690828701e-8,0.003399084097724401,-5.889244323337396e-5,8.908026373626042e-8,0.003399480270250761,-5.898203293481756e-5,8.921967011645284e-8,0.0033999551699554283,-5.900646431000797e-5,8.924656326463904e-8,0.003400466358786225,-5.893049216975236e-5,8.91024588459512e-8,0.003400957801068039,-5.8747104648884236e-5,8.877683281588798e-8,0.003401378527359106,-5.848118000125292e-5,8.831304298309702e-8,0.0034016995373273343,-5.817987411373497e-5,8.779181892187154e-8,0.0034019205448226966,-5.789489120259509e-5,8.730103063936285e-8,0.0034020649231812825,-5.7666180030203005e-5,8.690798801868969e-8,0.003402168049287801,-5.751375176227864e-5,8.664571506488682e-8,0.003402265858276145,-5.743804869788241e-5,8.651389470980682e-8,0.00340238747932283,-5.742519852330234e-5,8.64881096032888e-8,0.0034025522455255973,-5.7453234933997976e-5,8.653057385184077e-8,0.0034027695489980392,-5.7497130460310654e-5,8.659865614011625e-8,0.003403039886903058,-5.753221388492227e-5,8.665054230622828e-8,0.0034033560870460524,-5.753644074444263e-5,8.664895352331391e-8,0.0034037044047870047,-5.7492186034072585e-5,8.656414307834132e-8,0.003404065680014834,-5.738807359108861e-5,8.637705347880114e-8,0.0034044170305128105,-5.722099116240365e-5,8.60828262613509e-8,0.003404734597935735,-5.6997926909140374e-5,8.569395943787588e-8,0.003404997558905359,-5.6736793275923886e-5,8.524163215191012e-8,0.0034051929890715296,-5.646520876211743e-5,8.477344074418974e-8,0.003405320408160798,-5.621648018227168e-5,8.434631513995815e-8,0.003405394300451476,-5.6022900264124296e-5,8.40149123124777e-8,0.0034054430646795236,-5.590772696450894e-5,8.381791884209707e-8,0.0034055038606741876,-5.587815564824331e-5,8.376626228374444e-8,0.0034056142384550816,-5.59216390476811e-5,8.383721738396868e-8,0.003405802567121793,-5.600706841995555e-5,8.397686437719106e-8,0.003406079762115114,-5.609104831024885e-5,8.411111539414267e-8,0.0034064347003346877,-5.6128202268790945e-5,8.416335082003054e-8,0.0034068351738956544,-5.6083285215666045e-5,8.407483916197228e-8,0.003407235151776666,-5.594181500695267e-5,8.382243623901492e-8,0.0034075871596243503,-5.5715353849958e-5,8.342714398589868e-8,0.0034078560389337632,-5.543856994368361e-5,8.294878555047174e-8,0.0034080288015259303,-5.5158405656903775e-5,8.246741739171249e-8,0.003408116556022004,-5.491960304745137e-5,8.20587213493105e-8,0.0034081483496585887,-5.475262430635319e-5,8.17736335484883e-8,0.0034081606287834965,-5.466819510979342e-5,8.162935251217643e-8,0.003408187213574958,-5.465879991060622e-5,8.161218884734959e-8,0.0034082529479952245,-5.470438823302094e-5,8.168747464274309e-8,0.0034083714747449156,-5.477893708194855e-5,8.181075694408507e-8,0.0034085458513296286,-5.4855751000708015e-5,8.193669718795236e-8,0.003408770414545297,-5.4910925975911326e-5,8.202480039048432e-8,0.003409032781106392,-5.4925363401297566e-5,8.204274072682829e-8,0.0034093155318804143,-5.488606600123461e-5,8.196858076576507e-8,0.0034095977133735593,-5.478735913882586e-5,8.179294852554372e-8,0.0034098566636729913,-5.463228818846857e-5,8.1521508229844755E-08,0.003410070752139286,-5.443391476149148e-5,8.117715796819658e-8,0.0034102233957102024,-5.4215684339399623e-5,8.0800505879973e-8,0.003410308068531649,-5.400958289018258e-5,8.044648266424068e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_22.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_22.json
deleted file mode 100644
index d5f6513..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_22.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":22000,"numberOfSamples":1000,"samples":[0.003410332914201753,-5.3850894022675106e-5,8.017517098961131e-8,0.003410322528879365,-5.376958194615e-5,8.003701237438996e-8,0.0034103145652221627,-5.3780481135696216e-5,8.005617875605212e-8,0.0034103506775372276,-5.3876274061593275e-5,8.021888857849169e-8,0.003410464307410866,-5.402707135418975e-5,8.047308167596654e-8,0.003410669971601388,-5.4187778507499705e-5,8.074133887896081e-8,0.003410958362427396,-5.431078402439631e-5,8.094271511350002e-8,0.0034112988966924413,-5.435925986441926e-5,8.101538020005893e-8,0.0034116483046836123,-5.431671386401488e-5,8.093263501288651e-8,0.0034119621492173344,-5.41904204198061e-5,8.070834304160092e-8,0.0034122059256284677,-5.400841636122217e-5,8.039138838903804e-8,0.0034123629141804617,-5.38113276447821e-5,8.005145827068325e-8,0.003412436926427523,-5.3641509849942013e-5,7.976047048128742e-8,0.0034124495366027988,-5.3532666321671336e-5,7.957504010808949e-8,0.0034124330661485227,-5.350283981451321e-5,7.952484351765614e-8,0.0034124218722404974,-5.3552370565715433e-5,7.960947036368768e-8,0.0034124447457084236,-5.3666539079328896e-5,7.980316491937519e-8,0.0034125202858526367,-5.382106091332426e-5,8.00642647210325e-8,0.0034126555868305777,-5.398815305369993e-5,8.034545908014444e-8,0.0034128473776592204,-5.414152490629849e-5,8.06021342297411e-8,0.0034130843642180496,-5.425966542015235e-5,8.079783644736344e-8,0.0034133497512128354,-5.4327618445658844e-5,8.090725685897239e-8,0.003413623435855102,-5.4337869912637006e-5,8.091781018622006e-8,0.003413883907454681,-5.429097539492461e-5,8.083081580105819e-8,0.0034141102665403125,-5.419622361028624e-5,8.066268207707981e-8,0.0034142849136512055,-5.407215162017978e-5,8.044570051432896e-8,0.00341439730488426,-5.394617096384391e-5,8.022718223765307e-8,0.003414448551881033,-5.385201336379878e-5,8.006482802604857e-8,0.0034144554442633347,-5.382365677022172e-5,8.001619006311863e-8,0.003414451133210198,-5.388562472720168e-5,8.012215438343905e-8,0.0034144795115925615,-5.4042269894100845e-5,8.038890648236031e-8,0.003414582717752921,-5.427144088560471e-5,8.077748959286917e-8,0.0034147858366957128,-5.452785635760065e-5,8.120990068433355e-8,0.003415086335408109,-5.475685197042185e-5,8.159276299340531e-8,0.0034154541675420077,-5.491264135361651e-5,8.184854560101504e-8,0.003415842328369328,-5.497241133679643e-5,8.19395012048398e-8,0.0034162020648540446,-5.494079694397467e-5,8.187500799224558e-8,0.0034164960597480513,-5.484509224563486e-5,8.170297816008171e-8,0.003416705855690934,-5.472520370648011e-5,8.14923147861858e-8,0.0034168331491478627,-5.462263220717812e-5,8.131389578844407e-8,0.003416896425673255,-5.457135459703978e-5,8.122506662590603e-8,0.003416924864737033,-5.459196701501527e-5,8.125992201462119e-8,0.0034169512624180483,-5.468942093895768e-5,8.142580537893595e-8,0.0034170054267853647,-5.485407812356393e-5,8.17054100824689e-8,0.0034171092005408077,-5.506533196508355e-5,8.206310391954363e-8,0.0034172737893538854,-5.529662285957986e-5,8.24534661992994e-8,0.0034174994368857004,-5.552057481406241e-5,8.282992315001632e-8,0.0034177769459542693,-5.5713266654435735e-5,8.315188937008223e-8,0.0034180902481047706,-5.58571185539423e-5,8.338960767448971e-8,0.0034184192209990544,-5.594239734507513e-5,8.352672714006698e-8,0.0034187422744122974,-5.5967759795049916e-5,8.356130894842189e-8,0.0034190386613258106,-5.5940313585960716e-5,8.350600300356605e-8,0.0034192907451060053,-5.5875438829459745e-5,8.338772029482915e-8,0.0034194865853197334,-5.5796286755981725e-5,8.324661178228372e-8,0.0034196231618546383,-5.573239332743332e-5,8.313343416160889e-8,0.0034197100026956712,-5.571629566234729e-5,8.310353167794132e-8,0.0034197718373557965,-5.5777017730924494e-5,8.320565011677361e-8,0.0034198476546487924,-5.593045265235306e-5,8.346570742357244e-8,0.0034199832418701356,-5.6169307155583144e-5,8.387000547866622e-8,0.0034202166393619616,-5.64584557493018e-5,8.435767926960611e-8,0.0034205614639800535,-5.67418663020452e-5,8.483274082655738e-8,0.003420997727034218,-5.696140593963007e-5,8.51962311929662e-8,0.0034214773558268368,-5.707879301142648e-5,8.538365211417604e-8,0.0034219421419332224,-5.708851047552745e-5,8.538688805157197e-8,0.0034223438059788605,-5.701585691614104e-5,8.525060072019697e-8,0.0034226564954146083,-5.690413699843295e-5,8.504993386503595e-8,0.003422878920363075,-5.679944106094893e-5,8.486413227000239e-8,0.0034230291674335464,-5.6739176541925223e-5,8.475681081074442e-8,0.003423136660697731,-5.6746178962097036e-5,8.476606168603778e-8,0.0034232343831674863,-5.682746769406769e-5,8.490269488349289e-8,0.0034233527024106186,-5.697594757338996e-5,8.515352124084064e-8,0.003423515048462373,-5.717372366496969e-5,8.548725451920484e-8,0.003423735360724929,-5.739623453008071e-5,8.586162778920173e-8,0.0034240171921175824,-5.761661689063496e-5,8.623076555625632e-8,0.003424354282394761,-5.7809781532945634e-5,8.655200921001188e-8,0.003424732337212298,-5.795580012171021e-5,8.679159414405439e-8,0.0034251316600929604,-5.804228112995662e-5,8.692867283680107e-8,0.0034255301389273553,-5.8065571370678764e-5,8.695739993818016e-8,0.0034259061435299876,-5.8030942708281336e-5,8.68873016976559e-8,0.003426241192945239,-5.7952061490074354e-5,8.674237096252997e-8,0.003426522442310002,-5.784987818084441e-5,8.655906513984539e-8,0.0034267450710929025,-5.775090698206635e-5,8.638314938058331e-8,0.0034269146613510586,-5.768461436478088e-5,8.626498016672915e-8,0.0034270492888037753,-5.7679206341423455e-5,8.625215296635437e-8,0.0034271801115048016,-5.775513150463932e-5,8.637847340111039e-8,0.003427348318837799,-5.791673040416302e-5,8.66500111928406e-8,0.003427596290732135,-5.814466196255829e-5,8.703260278195282e-8,0.0034279529627239238,-5.8394327194921334e-5,8.744949479355945e-8,0.003428418470586544,-5.860576263431353e-5,8.77983298726461e-8,0.00342895785967562,-5.872474275422114e-5,8.79870966366347e-8,0.0034295111225311516,-5.872520138069127e-5,8.797231646130829e-8,0.0034300159367414112,-5.8619276575255356e-5,8.777608739665868e-8,0.003430429936364875,-5.8449346719175054e-5,8.747221956219683e-8,0.0034307409539403753,-5.8269005362368705e-5,8.715330218992734e-8,0.0034309636874953423,-5.812488879415304e-5,8.689927969838687e-8,0.0034311290547955646,-5.804651663753494e-5,8.676002574361577e-8,0.0034312730856115364,-5.804431513186724e-5,8.675224016919222e-8,0.003431428842749821,-5.811258599710215e-5,8.686495556850346e-8,0.003431621833748501,-5.823424073945281e-5,8.706799112634763e-8,0.0034318679871170456,-5.838549788451625e-5,8.732014432177786e-8,0.0034321731793053077,-5.854001187955921e-5,8.757621999925782e-8,0.0034325337535511193,-5.8672442465983527E-05,8.779300375802679e-8,0.0034329377969641297,-5.876149483775846e-5,8.79343338304245e-8,0.0034333670820067457,-5.8792422402358875e-5,8.7975316488367e-8,0.0034337996533433854,-5.875886549720411e-5,8.790547650809066e-8,0.0034342129023982814,-5.8663743295375374e-5,8.773032040338553e-8,0.0034345867528595554,-5.8519040728693963E-05,8.747098149349937e-8,0.00343490662495616,-5.834457618854895e-5,8.716204139286165e-8,0.003435165997133961,-5.816584043444344e-5,8.684766473704805e-8,0.003435368377604481,-5.8010940498476064e-5,8.657614158669101e-8,0.003435528469312809,-5.79066894188021e-5,8.639300030976978e-8,0.0034356721817477088,-5.787374966119817e-5,8.633265875065238e-8,0.0034358346431882215,-5.7920805816179714e-5,8.640865043476558e-8,0.00343605489737805,-5.8038637339463834e-5,8.660388209222903e-8,0.0034363663675272185,-5.8196543664505935e-5,8.686495377469283e-8,0.003436784132872785,-5.834498191690136e-5,8.710692888866458e-8,0.003437293776835478,-5.8427735873480615e-5,8.72341254787051e-8,0.0034378497110881335,-5.8402092841660325e-5,8.717442687949159e-8,0.0034383882973978448,-5.8257765502926945e-5,8.691145603639477e-8,0.003438851408713721,-5.802240303565348e-5,8.649384664598423e-8,0.0034392073380863355,-5.774932951993929e-5,8.601401185593557e-8,0.0034394577744100104,-5.749559608304214e-5,8.557022184800596e-8,0.003439630233895451,-5.7303386349150334e-5,8.523451882013677e-8,0.0034397639148655676,-5.71921018810065e-5,8.503923334835471e-8,0.003439897152082377,-5.716002300749245e-5,8.498019404726612e-8,0.0034400599773055985,-5.719061355114749e-5,8.502796230293353e-8,0.0034402713672934656,-5.725932344600479e-5,8.513976877355545e-8,0.0034405393098027363,-5.7338962376120295e-5,8.52687687250456e-8,0.0034408620305790096,-5.7403458295962594e-5,8.5370360365332e-8,0.0034412295639111826,-5.74305399376233e-5,8.540661686558558e-8,0.0034416255077720182,-5.7403819017073256e-5,8.534975049941572e-8,0.0034420290593737894,-5.7314494475115625e-5,8.518502074925517e-8,0.0034424175204084556,-5.7162649725107814e-5,8.491300299198063e-8,0.0034427693744096327,-5.695780291358059e-5,8.45505703435799e-8,0.003443067694390436,-5.671827027498391e-5,8.412977141244271e-8,0.0034433033585062117,-5.6469137408961e-5,8.369422260683416e-8,0.003443477522363603,-5.6238888006486065e-5,8.329312068593308e-8,0.0034436028265143223,-5.6054927768332085e-5,8.297335687745774e-8,0.0034437028776761053,-5.593849466785818e-5,8.277067663956046e-8,0.0034438096971042514,-5.589961405993521e-5,8.270110737924363e-8,0.0034439589152577502,-5.593284157050621e-5,8.275395289466784e-8,0.0034441825909026142,-5.601493075148707e-5,8.288821797121621e-8,0.0034445001635288017,-5.610621465702858e-5,8.303535737202917e-8,0.0034449095226591654,-5.615762951966539e-5,8.311147869532069e-8,0.0034453821233687756,-5.612393855092263e-5,8.303989847633601e-8,0.003445866927768903,-5.598013860657117e-5,8.277898571579688e-8,0.003446305117155568,-5.573359851034611e-5,8.234268399454156e-8,0.003446650688170405,-5.54237541297035e-5,8.179975395214818e-8,0.003446886420895123,-5.5107576665760024e-5,8.124862318937609e-8,0.0034470267259821934,-5.483846667724602e-5,8.078097385183255e-8,0.00344710766051307,-5.464993566767857e-5,8.04536936374894e-8,0.003447171789706657,-5.455038535028025e-5,8.028012646114274e-8,0.0034472558389312216,-5.452741901483898e-5,8.02378602589795e-8,0.003447384454009153,-5.455622510521429e-5,8.028347230580017e-8,0.003447569166450617,-5.460748845901849e-5,8.036626359875367e-8,0.003447810144196527,-5.465292154467429e-5,8.043768722291936e-8,0.0034480987268725206,-5.466849659176279e-5,8.045671557812648e-8,0.003448419783191651,-5.46362499989435e-5,8.039277888315682e-8,0.003448753772593059,-5.45454637568273e-5,8.022774113086465e-8,0.0034490787902391605,-5.439364106836301e-5,7.995762374625734e-8,0.003449372967644381,-5.41872734508112e-5,7.959400330433788e-8,0.0034496174799257423,-5.394199608711304e-5,7.916430464845655e-8,0.003449800033082265,-5.368150494101013e-5,7.870985989025718e-8,0.0034499182123150364,-5.343472982432336e-5,7.828086678372597e-8,0.003449981722370573,-5.323117506956941e-5,7.792815673433031e-8,0.0034500124919465153,-5.30949612652312e-5,7.769278778854012e-8,0.0034500419488425822,-5.303878495366926e-5,7.759565134357626e-8,0.003450105483013042,-5.305939695552917e-5,7.762989261880157e-8,0.0034502349108771345,-5.3136052000312036E-05,7.775860628781301e-8,0.00345045036327994,-5.3232896856317525e-5,7.791934553656435e-8,0.0034507534559009615,-5.330563477313901e-5,7.803586216602371e-8,0.0034511239123253042,-5.331189940292976e-5,7.80359816725961e-8,0.0034515217741313154,-5.3223411868618484e-5,7.787229296285301e-8,0.0034518963778732035,-5.303630985682997e-5,7.753954870439826e-8,0.003452200772443476,-5.277494601652743e-5,7.708083438603485e-8,0.0034524067233620208,-5.24857622131667e-5,7.657676351766069e-8,0.003452513539318852,-5.222238745671445e-5,7.611970105647155e-8,0.003452546358006263,-5.202834487641089e-5,7.578401494859984e-8,0.003452545316805372,-5.1925238857953614e-5,7.56059228122419e-8,0.0034525517079226162,-5.1910531969244896e-5,7.55799748568084e-8,0.0034525973425899702,-5.1963341595560646e-5,7.566935879164173e-8,0.003452699860306806,-5.2053492925631584e-5,7.582168477769657e-8,0.003452863075258511,-5.2149607426261665e-5,7.598291155508565e-8,0.0034530799060755258,-5.222439818684115e-5,7.61063070119408e-8,0.003453335818338361,-5.2257343532068194e-5,7.615685892232103e-8,0.003453611766785339,-5.223571891965294e-5,7.61129377116946e-8,0.0034538864899658996,-5.215494408708145e-5,7.596690383151867e-8,0.003454138506384482,-5.201882998128307e-5,7.572562427973521e-8,0.003454348337076918,-5.183978826068164e-5,7.541091271463072e-8,0.0034545013314538756,-5.1638552963418784e-5,7.505903324803353e-8,0.003454591043269122,-5.144265642680074e-5,7.47179322561575e-8,0.0034546224963198295,-5.128290588661151e-5,7.444094709790633e-8,0.003454614029832736,-5.118756231866206e-5,7.427657654620211e-8,0.0034545960964780477,-5.117499667449252e-5,7.425575471974446e-8,0.0034546059759224725,-5.124696696840789e-5,7.438038383349255e-8,0.003454678971542103,-5.13853618139435e-5,7.46180167622108e-8,0.003454838496800186,-5.155451806553497e-5,7.490622976898416e-8,0.003455088410098183,-5.170923490366474e-5,7.516676020545438e-8,0.0034554104312331923,-5.18063784397559e-5,7.53256558047392e-8,0.0034557677626890567,-5.181660232781692e-5,7.533338722547459e-8,0.003456114043853787,-5.173270086815992e-5,7.517894604581043e-8,0.0034564052677747885,-5.157212308820495e-5,7.48937718027089e-8,0.003456611436614271,-5.1372648185342906e-5,7.454392055414663e-8,0.0034567244663298784,-5.118206849108857e-5,7.421205085109125e-8,0.0034567595924578005,-5.104487112438851e-5,7.397444303572169e-8,0.0034567496932292933,-5.0990411029647274e-5,7.388079046187029e-8,0.0034567348219838017,-5.1026634462844346E-05,7.394368941315555e-8,0.0034567511208470503,-5.1140910162072285e-5,7.41404001886787e-8,0.003456822969488365,-5.130640701071599e-5,7.442407063670418e-8,0.0034569600809666373,-5.149059048477161e-5,7.473844540174441e-8,0.003457158836079232,-5.166263101478568e-5,7.503054191154755e-8,0.0034574058624226842,-5.179814342816616e-5,7.525864485773623e-8,0.0034576819982162126,-5.188131487414444e-5,7.53958236160267e-8,0.003457965624434055,-5.190529764163641e-5,7.543055726802653e-8,0.003458235153642075,-5.187182989119657e-5,7.536613158997809e-8,0.003458470988800748,-5.179074706531707e-5,7.52198852644471e-8,0.0034586575036994354,-5.1679536585510255e-5,7.502247538759579e-8,0.0034587855033521653,-5.156254212189298e-5,7.481641900418598e-8,0.0034588552057932243,-5.1469030724573484e-5,7.465256143383775e-8,0.0034588791061978532,-5.142920657003421e-5,7.458297859873786e-8,0.003458883218149259,-5.1467660711166246e-5,7.464955268013278e-8,0.0034589045776179444,-5.159510836468649e-5,7.48697763858947e-8,0.0034589835250980615,-5.180135000044591e-5,7.522485150187091e-8,0.0034591517840109193,-5.205370320062124e-5,7.56573232920082e-8,0.0034594206555359705,-5.2303828254811026e-5,7.608317761780516e-8,0.0034597750906966754,-5.250174966429808e-5,7.641623908985145e-8,0.0034601771049745287,-5.2611539439694236e-5,7.659526793472266e-8,0.003460577222136936,-5.262200185778321e-5,7.660223703442587e-8,0.003460928903507887,-5.254861496345348e-5,7.646534203758294e-8,0.003461200559315436,-5.2427345790902366e-5,7.624789704143432e-8,0.0034613819623500147,-5.230371513415596e-5,7.602909490634815e-8,0.00346148446467581,-5.2220931733726785e-5,7.58833715008536e-8,0.003461536103359664,-5.2210117968981436e-5,7.586364467457609e-8,0.003461573517811942,-5.2284544913011865e-5,7.599167543503633e-8,0.0034616329485504336,-5.243864613206289e-5,7.625673698865155e-8,0.003461742549106104,-5.265142211148723e-5,7.662177846795173e-8,0.003461917703165235,-5.2892782274308036e-5,7.703449448843473e-8,0.0034621599737674246,-5.313072477304534e-5,7.74396760194996e-8,0.0034624591084389793,-5.33374098966768e-5,7.778955053911857e-8,0.003462796779292467,-5.349304510582412e-5,7.805033191515012e-8,0.003463150686187144,-5.3587487694671127e-5,7.820488911072816e-8,0.0034634980867577683,-5.362014291759816e-5,7.825256020973388e-8,0.0034638184347490337,-5.35989854743125e-5,7.820751398896041e-8,0.0034640953366142095,-5.353936163065365e-5,7.809672470592285e-8,0.0034643182806015373,-5.3462782486652334e-5,7.795785220255605e-8,0.0034644845501561154,-5.339545627403919e-5,7.783656035226323e-8,0.0034646014413177184,-5.336592005983549e-5,7.778221516267927e-8,0.0034646882637985664,-5.3400881599815127e-5,7.78405393635882e-8,0.003464776653159077,-5.351867683920702e-5,7.804231285445772e-8,0.003464906957150965,-5.372111733504216e-5,7.838949782169935e-8,0.0034651189235659127,-5.398689725856593e-5,7.884418711991946e-8,0.0034654377510551313,-5.427171287388532e-5,7.932912268318844e-8,0.003465861181889111,-5.45189747063227e-5,7.974637922620187e-8,0.0034663557995089868,-5.4679006723517416e-5,8.001057810235294e-8,0.003466866832075317,-5.4727667638690595e-5,8.008101605182355e-8,0.003467337213583027,-5.467430917764118e-5,7.997525515932372e-8,0.0034677259185634294,-5.45558137956383e-5,7.975848386026634e-8,0.0034680175758430914,-5.4421850197762574e-5,7.951758779610465e-8,0.003468221945391668,-5.431943863471243e-5,7.93341221303494e-8,0.003468366749984431,-5.4282189894998705e-5,7.926564782173139e-8,0.003468488253575451,-5.432554626942201e-5,7.933775100923389e-8,0.003468622577673265,-5.4446940976185534e-5,7.954473091422483e-8,0.00346879910386759,-5.4629139136083834e-5,7.985575566520995e-8,0.003469036315266957,-5.484531500646757e-5,8.022385234336574e-8,0.0034693400970225562,-5.506482644748267e-5,8.05959068464886e-8,0.003469704347103154,-5.525874833196587e-5,8.09221138287859e-8,0.003470113426848338,-5.54043045866477e-5,8.116348069551332e-8,0.003470545719066106,-5.548767615842907e-5,8.129655797854296e-8,0.0034709775149081618,-5.550506450046016e-5,8.131522490515083e-8,0.0034713865350294564,-5.546223505877917e-5,8.122990831469518e-8,0.00347175466700389,-5.537307165347207e-5,8.10651077332558e-8,0.003472069935483391,-5.5257707024367603e-5,8.085614780070984e-8,0.0034723279767847086,-5.514048489525153e-5,8.064555763367976e-8,0.0034725332728849033,-5.504767565387728e-5,8.047894670947377e-8,0.0034727002510506733,-5.5004592720721175e-5,8.039983781883514e-8,0.003472853897452726,-5.5031486682279284e-5,8.044249502323219e-8,0.0034730286883273595,-5.513778809238864e-5,8.062209526950794e-8,0.003473263973229728,-5.531544130156531e-5,8.092351809161323e-8,0.0034735943076693245,-5.553413717659481e-5,8.129347436960563e-8,0.003474035665897499,-5.574326882078972e-5,8.16441259001113e-8,0.0034745731955609315,-5.5884742086398796e-5,8.18752580591423e-8,0.0034751596486798657,-5.5914583892773785e-5,8.19115493205368e-8,0.003475729749079442,-5.5822556153648676e-5,8.173640984494093e-8,0.0034762246796353497,-5.563705319293436e-5,8.140033666182622e-8,0.003476612701492186,-5.541203574155975e-5,8.099801039245487e-8,0.003476895422108325,-5.52051656998577e-5,8.063001150121857e-8,0.0034771002354880218,-5.50597528893753e-5,8.037124816213464e-8,0.003477266808137206,-5.499678333889154e-5,8.025718895626209e-8,0.003477434878777277,-5.501575513956466e-5,8.028567476587208e-8,0.0034776364077081026,-5.510010155564282e-5,8.042677847876208e-8,0.0034778919129647623,-5.522370891534653e-5,8.063443431098723e-8,0.003478209655577147,-5.53567664624354e-5,8.085668027157581e-8,0.003478586484780268,-5.547053781197861e-5,8.104383769654996e-8,0.003479009745324267,-5.5541137233202974e-5,8.115488223399064e-8,0.0034794599661624203,-5.55522999409954e-5,8.116209039532e-8,0.00347991406310937,-5.5497055559913984e-5,8.105385714697197e-8,0.00348034877409459,-5.5378226962704636e-5,8.083554656447708e-8,0.003480743967899695,-5.5207701396177e-5,8.052824678244802e-8,0.003481085399356866,-5.500462615502403e-5,8.016563989201027e-8,0.003481366669257658,-5.4792906661938594e-5,7.978960191727658e-8,0.0034815903954937507,-5.459831114198394e-5,7.944505128213398e-8,0.003481768645435652,-5.444530524158718e-5,7.917429462220676e-8,0.003481922641158277,-5.435363020679066e-5,7.901097650404148e-8,0.003482081557943241,-5.43344611388244e-5,7.897344901624152e-8,0.0034822796949849086,-5.438607219406785e-5,7.90574880741661e-8,0.0034825508886991334,-5.4489814677525574e-5,7.922969966297901e-8,0.003482919510198329,-5.460863179618924e-5,7.942530879637457e-8,0.00348338922468968,-5.4691530175031036e-5,7.955606784582527e-8,0.0034839341482262006,-5.468684887826709e-5,7.953314250976801e-8,0.003484500044929782,-5.456236411226566e-5,7.930171563250027e-8,0.003485020395764967,-5.432242661163013e-5,7.887051211495277e-8,0.003485441830665722,-5.4009666442778456e-5,7.831463037203127e-8,0.003485744308334187,-5.3687830051453043e-5,7.774555423085291e-8,0.003485944356059249,-5.341619454208322e-5,7.726643890430705e-8,0.0034860824605426953,-5.323068031905013e-5,7.69391413336341e-8,0.003486205192699337,-5.313887848336849e-5,7.677573716104043e-8,0.003486351616487765,-5.312585818689202e-5,7.674902644824243e-8,0.003486546989851855,-5.3163832246076e-5,7.680975614919294e-8,0.003486802071512451,-5.322081037736187e-5,7.690188262653895e-8,0.003487115234474545,-5.326655085161755e-5,7.697289095930539e-8,0.003487475361305784,-5.3276107450321254e-5,7.697977967690026e-8,0.00348786468748232,-5.323188756023941e-5,7.689243976502786e-8,0.003488261541112851,-5.3124867656400085e-5,7.669564695902987e-8,0.0034886431118577687,-5.2955187271283527e-5,7.639006967152842e-8,0.0034889883345022694,-5.273207584356439e-5,7.599217164183895e-8,0.00348928082718179,-5.247287143335613e-5,7.553253065060545e-8,0.0034895115406157772,-5.220092938007728e-5,7.505217138911657e-8,0.0034896806403166163,-5.194253721386278e-5,7.45970984578306e-8,0.003489798281891112,-5.17231700616895e-5,7.421163449310192e-8,0.003489884081885023,-5.156346255637453e-5,7.393127924950925e-8,0.0034899651917605482,-5.1475349070217194e-5,7.37759579390884e-8,0.0034900730046242873,-5.145880727187514e-5,7.374448490150087e-8,0.0034902384487222934,-5.149957504391051e-5,7.38108940008001e-8,0.003490485713360978,-5.1568581097192085e-5,7.392383226896056e-8,0.0034908247516596694,-5.162452953725788e-5,7.401135645851316e-8,0.0034912442178913756,-5.162129070334261e-5,7.399384833356589e-8,0.0034917082870866084,-5.152067046187914e-5,7.380600775763368e-8,0.003492161919526589,-5.1307906470345714e-5,7.342344472404727e-8,0.0034925468003312904,-5.100251708159784e-5,7.28812436475048e-8,0.0034928230231711763,-5.065567102917774e-5,7.22692085054129e-8,0.00349298480607223,-5.0332008284307815e-5,7.170010948102879e-8,0.003493060486880091,-5.008509810197167e-5,7.126687367301145e-8,0.0034930978108644877,-4.994040408769448e-5,7.10129659368693e-8,0.003493144812116986,-4.989292212429899e-5,7.092852991350264e-8,0.003493236329890927,-4.991616821749949e-5,7.09664233386691e-8,0.003493389382240401,-4.997451260323819e-5,7.106400377600212e-8,0.0034936049670886314,-5.003303046878982e-5,7.116036558566628e-8,0.0034938724850190725,-5.006315699024087e-5,7.120605641471014e-8,0.003494174181710002,-5.004500801825621e-5,7.116689888635155e-8,0.003494488647240114,-4.9967898958017656e-5,7.10247226686362e-8,0.003494793491455296,-4.983017838931351e-5,7.077701977191036e-8,0.0034950676495118685,-4.963883343406836e-5,7.043629688622425e-8,0.0034952936893218015,-4.940884123717768e-5,7.00290073852739e-8,0.0034954602703394025,-4.91619116469257e-5,6.959337044053813e-8,0.003495564525333123,-4.8924164351532744e-5,6.917524860206665e-8,0.0034956137545527114,-4.872255946766232e-5,6.882178267966077e-8,0.003495625715726868,-4.858035828766625e-5,6.857332667336269e-8,0.003495626962793271,-4.8512296531638016e-5,6.845495049254806e-8,0.003495649053141319,-4.852049680516395e-5,6.846936904534974e-8,0.00349572299679345,-4.859225484338337e-5,6.859329915473242e-8,0.0034958728136478237,-4.870052145709375e-5,6.877863372874697e-8,0.003496109274904872,-4.8807474643686194e-5,6.895900381066696e-8,0.0034964250870034323,-4.887130098211752e-5,6.906179269833887e-8,0.0034967931639454048,-4.885581409325789e-5,6.902485348345956e-8,0.0034971698712657363,-4.874139651093061e-5,6.881530246607359e-8,0.0034975044920154213,-4.853405294472491e-5,6.84449092255104e-8,0.0034977539089692195,-4.82679369446728e-5,6.797415829244196e-8,0.0034978977356623906,-4.799750824878962e-5,6.749837862946622e-8,0.003497946438249529,-4.778016802970108e-5,6.71174247409688e-8,0.003497937170337883,-4.765667743097292e-5,6.690162413586374e-8,0.0034979190953097782,-4.763908471093491e-5,6.687094352623798e-8,0.003497936251514583,-4.771117288133363e-5,6.699607854306233e-8,0.0034980160892215074,-4.783863709240464e-5,6.72164958349271e-8,0.0034981665960245093,-4.798196106874302e-5,6.746304065721289e-8,0.0034983797653029723,-4.810632101892896e-5,6.7675162011292e-8,0.003498637465113023,-4.818668505636025e-5,6.780961989824135e-8,0.003498916867361659,-4.820909523255125e-5,6.784251930616007e-8,0.0034991943722301896,-4.816994545602405e-5,6.77679407084832e-8,0.003499448182358842,-4.8074658565751284e-5,6.759564195017042e-8,0.003499660159392372,-4.793641707463699e-5,6.734892080114882e-8,0.003499817561197899,-4.777495464323169e-5,6.70625616249293e-8,0.0034999149556601225,-4.761498368904733e-5,6.678005875369204e-8,0.0034999561644388504,-4.7483672003196496e-5,6.654908362581237e-8,0.003499955598723389,-4.7406752130685654e-5,6.64145242188782e-8,0.003499937981419274,-4.7403373506660164e-5,6.64093764187308e-8,0.0034999354725625304,-4.748062569635709e-5,6.654518620862992e-8,0.0034999818663642855,-4.762947778629249e-5,6.680512211808298e-8,0.003500104737353191,-4.782411608126126e-5,6.714310459443665e-8,0.0035003176166506283,-4.802589279357225e-5,6.749101949715656e-8,0.0035006147541124916,-4.819155958831892e-5,6.777333062458293e-8,0.0035009704717046735,-4.8283900302600454e-5,6.79257035406021e-8,0.0035013438418472647,-4.828195062171539e-5,6.791269545624289e-8,0.0035016879794580935,-4.818789700989003e-5,6.77394776851162e-8,0.00350196195728518,-4.8028314713332036e-5,6.7453611515929e-8,0.0035021422800556846,-4.784851634702435e-5,6.713486096804716e-8,0.0035022301857497284,-4.770064526201016e-5,6.687425034339409e-8,0.0035022515726871335,-4.762872570098612e-5,6.674801281177754e-8,0.003502248809025409,-4.76559744371242e-5,6.6795665439382e-8,0.0035022673478896467,-4.777938593190681e-5,6.701087743219682e-8,0.003502342631637575,-4.7973344665574994e-5,6.734808187955503e-8,0.0035024922414820824,-4.819969702053791e-5,6.774024524213613e-8,0.003502715017307082,-4.841926028605082e-5,6.811897897486228e-8,0.0035029954034810603,-4.8600480484494276e-5,6.842952899629088e-8,0.003503309784163736,-4.872362633221379e-5,6.863790981889476e-8,0.0035036322351094896,-4.878127146575032e-5,6.873159448741184e-8,0.0035039386022962613,-4.877672372667128e-5,6.871671928860393e-8,0.003504208970165578,-4.87218399559206e-5,6.861430714964363e-8,0.003504429141433504,-4.863501729753385e-5,6.845682584882933e-8,0.00350459182981821,-4.853945290340068e-5,6.828516088744188e-8,0.0035046979735865453,-4.846124060565817e-5,6.814520400131455e-8,0.00350475808642424,-4.842667362547513e-5,6.808297903800876e-8,0.00350479302443529,-4.845822639406622e-5,6.813746753851686e-8,0.003504833027239744,-4.8569169986268695e-5,6.833115419174137e-8,0.003504913702238319,-4.8757838383985466e-5,6.866012446657687e-8,0.0035050683853181447,-4.900391199350466e-5,6.908782646579392e-8,0.0035053182256271995,-4.926964452673352e-5,6.954751938057267e-8,0.003505663509814919,-4.950767016413277e-5,6.995616209346973e-8,0.003506080502214955,-4.967398233611283e-5,7.023720489982495e-8,0.0035065262851390663,-4.974153435641874e-5,7.034430756266863e-8,0.003506950416802348,-4.970896615211756e-5,7.027638385694825e-8,0.003507309058355678,-4.960110682063593e-5,7.0078148342398e-8,0.003507576569966767,-4.9461571981689524e-5,6.982680430100155e-8,0.003507751260505524,-4.9340525835212706e-5,6.961036660223815e-8,0.0035078543380118467,-4.928155435713404e-5,6.950463542881697e-8,0.003507923017411245,-4.931120710474176e-5,6.955507505634865e-8,0.003508000088817847,-4.943373386134086e-5,6.976794205386932e-8,0.0035081230318595195,-4.9631997266688886e-5,7.011223942234489e-8,0.003508315707408989,-4.987372010955851e-5,7.053089174394624e-8,0.003508584634184765,-5.012067906449034e-5,7.095689951327328e-8,0.003508920154172877,-5.033779131119303e-5,7.13291488630146e-8,0.0035093011174319503,-5.0499608977751295e-5,7.16036029544808e-8,0.0035097008909079027,-5.059322819724562e-5,7.175822123658268e-8,0.003510092795370233,-5.0618099620991336e-5,7.179252228933486e-8,0.0035104540074803628,-5.058396686418179e-5,7.172395576915468e-8,0.0035107678630634256,-5.050815563358695e-5,7.15831936559844e-8,0.0035110250474179707,-5.041300190160958e-5,7.140965978633763e-8,0.003511224303772449,-5.0323602655051194e-5,7.124755864747469e-8,0.003511373081760116,-5.026556563032649e-5,7.114182180173342e-8,0.0035114881227789486,-5.026219499321855e-5,7.113303314780363e-8,0.003511595434404246,-5.0330578468163386e-5,7.125049337013055e-8,0.003511728512620591,-5.047647794780582e-5,7.15033405278639e-8,0.0035119233836461974,-5.0689046876978714e-5,7.187153222950117e-8,0.003512209769178392,-5.093800093324406e-5,7.230120436607415e-8,0.003512599955153083,-5.1176799888461815e-5,7.271049692322936e-8,0.003513080034794742,-5.135392592457402e-5,7.300940477436388e-8,0.003513609502076132,-5.14298349934786e-5,7.312941724983363e-8,0.0035141320281950124,-5.139216413429823e-5,7.305001548325024e-8,0.0035145936629104664,-5.1261041454466944e-5,7.28077595651944e-8,0.003514959887450534,-5.108168091747994e-5,7.248300624823855e-8,0.0035152241266274524,-5.090867675710344e-5,7.217204520177112e-8,0.0035154059396990682,-5.078968882418096e-5,7.195828527441259e-8,0.0035155420813633245,-5.075426745699315e-5,7.189270617613542e-8,0.0035156751083582306,-5.0809654038145116e-5,7.198679130075311e-8,0.003515843117254807,-5.094257374417173e-5,7.221607476825528e-8,0.0035160725094786714,-5.112494538587068e-5,7.253048594280297e-8,0.0035163744088703465,-5.132142690619098e-5,7.286773029032713e-8,0.0035167446049327736,-5.1497064920155425e-5,7.316666417595633e-8,0.003517166385541075,-5.1623642515698906e-5,7.337826896105822e-8,0.0035176151934762446,-5.168374224689177e-5,7.347259275945112e-8,0.0035180638474490854,-5.167220679053694e-5,7.344117159692746e-8,0.003518487230567752,-5.159533656149261e-5,7.329555446259182e-8,0.0035188657466365884,-5.146856119474064e-5,7.306321274190783e-8,0.0035191873567905307,-5.13134535075297e-5,7.278232032475649e-8,0.0035194484899109596,-5.1154771029381724e-5,7.249655785721567e-8,0.0035196543025420254,-5.101775638284942e-5,7.225031546170417e-8,0.0035198186084428556,-5.0925530397301455e-5,7.208400788541844e-8,0.0035199635105888586,-5.089622436322815e-5,7.202894163244655e-8,0.003520118343208592,-5.093945103045378e-5,7.210112224469392e-8,0.0035203169511922577,-5.105206016209678e-5,7.229397007328736e-8,0.003520592065648051,-5.1214188069510806e-5,7.2571689142489e-8,0.00352096625240208,-5.138810927673326e-5,7.286756429012272e-8,0.0035214411001403445,-5.1523353653888815e-5,7.309310451119305e-8,0.0035219896591436894,-5.15702050538723e-5,7.316168179423694e-8,0.0035225589618442157,-5.149859927706176e-5,7.302152157725176e-8,0.003523085668432638,-5.1313067895405906e-5,7.268175566529078e-8,0.003523518917940908,-5.105359802726036e-5,7.221375246224139e-8,0.003523838095962248,-5.0780520742168284e-5,7.17243210762634e-8,0.0035240564761216146,-5.0552185506667285e-5,7.13161973079306e-8,0.003524211505779421,-5.040730619616483e-5,7.105688273569124e-8,0.003524349502340482,-5.035813602950126e-5,7.096680808680643e-8,0.0035245122820342207,-5.039321453053906e-5,7.102455458373297e-8,0.003524729076631242,-5.0485092313253465e-5,7.1180850127246e-8,0.003525013583176288,-5.059899047337806e-5,7.137404304621766e-8,0.003525364590777378,-5.070022815478351e-5,7.154318300099117e-8,0.0035257686958330417,-5.075977742115368e-5,7.163764186847562e-8,0.003526204144558562,-5.075793251795897e-5,7.16233638631601e-8,0.003526645154897335,-5.06861406598159e-5,7.148591957241648e-8,0.003527066167471657,-5.0547118838004726e-5,7.123062042100954e-8,0.0035274455836368955,-5.03535175473795e-5,7.088014482938875e-8,0.003527768623758874,-5.012545639882056e-5,7.047021401502236e-8,0.0035280290362206864,-4.988738877980477e-5,7.004408058198917e-8,0.0035282296839363246,-4.966483945398808e-5,6.964675729891865e-8,0.003528382291270085,-4.9481325891113706e-5,6.931952735975422e-8,0.003528506567199636,-4.935546278755109e-5,6.909476075587484e-8,0.003528628724271695,-4.929815291741338e-5,6.899092748257108e-8,0.0035287791842859104,-4.9309749713025403e-5,6.900767973450815e-8,0.0035289888641371506,-4.9377284113068966e-5,6.912119895490268e-8,0.003529283256307753,-4.947268367777429e-5,6.92813827041382e-8,0.0035296742313782816,-4.955407009659888e-5,6.941439827038625e-8,0.003530151349516904,-4.957278427309963e-5,6.943511266213218e-8,0.0035306772094212354,-4.948747198735312e-5,6.92717079077621e-8,0.003531192964839601,-4.928195652942658e-5,6.889685346018671e-8,0.0035316365215482056,-4.89774365236009e-5,6.834895029601523e-8,0.003531966575744259,-4.862874958980648e-5,6.772540073203424e-8,0.0035321786442322665,-4.830377164926679e-5,6.714615431489767e-8,0.003532303511122255,-4.805750770984733e-5,6.670788672264682e-8,0.0035323910644271955,-4.7915439884981005e-5,6.645464473265158e-8,0.003532490905278016,-4.787198094158151e-5,6.637538089556046e-8,0.0035326391070453276,-4.7899603242805185e-5,6.6420465804465665E-08,0.003532853457600977,-4.79609329089279e-5,6.652335567882734e-8,0.003533134764875135,-4.801870810507902e-5,6.661826425948239e-8,0.0035334709225311187,-4.80420607780708e-5,6.6651124930788e-8,0.0035338414892082007,-4.800969554135657e-5,6.658497123133597e-8,0.003534221883309781,-4.791109649069916e-5,6.640185991590025e-8,0.0035345870911481937,-4.774650430734176e-5,6.610271983901248e-8,0.003534914922415681,-4.7525956167852065e-5,6.570564041722356e-8,0.003535188784668761,-4.726751897573049e-5,6.524278234784632e-8,0.003535399869757837,-4.699475689773158e-5,6.475593288560843e-8,0.003535548488616758,-4.673352273796198e-5,6.429082959559262e-8,0.0035356443027719678,-4.6508419457597334e-5,6.389085743601263e-8,0.003535705452163371,-4.633936348530399e-5,6.359090277517784e-8,0.0035357567090917945,-4.623851257366044e-5,6.341187165168234e-8,0.003535826730715225,-4.6207747236638295e-5,6.335626221346214e-8,0.0035359444328626815,-4.62369186224868e-5,6.340521229944e-8,0.0035361343987252193,-4.6303140463713727e-5,6.351750974087675e-8,0.0035364112077063,-4.637182901460024e-5,6.363172583245652e-8,0.0035367731674912405,-4.640084478194753e-5,6.367372155706706e-8,0.003537197303637594,-4.634911429135081e-5,6.357183762261232e-8,0.0035376391122535576,-4.618966433176537e-5,6.327964211385549e-8,0.003538041119459337,-4.592349949638268e-5,6.280007246840904e-8,0.0035383510638224264,-4.558644822183458e-5,6.219724757422401e-8,0.0035385429814836127,-4.524104977366377e-5,6.158200500178063e-8,0.0035386287865788782,-4.495389988038994e-5,6.107183348045023e-8,0.003538652157842681,-4.477026159769317e-5,6.074602879654554e-8,0.0035386688439036844,-4.47004078804151e-5,6.062170724859673e-8,0.003538726003163398,-4.4722809906257866e-5,6.065974926915645e-8,0.0035388505435425223,-4.4797903515981296e-5,6.078947944701308e-8,0.003539047874416657,-4.488281287540454e-5,6.093489620785433e-8,0.0035393068814284787,-4.4941391084842396e-5,6.103238884542969e-8,0.003539606554146499,-4.494882794965666e-5,6.103867464873075e-8,0.003539921676724328,-4.4892499760318906e-5,6.093205597538492e-8,0.003540226919719803,-4.477102781459113e-5,6.07105950251088e-8,0.0035404997394379314,-4.4592754938286915e-5,6.03893845810904e-8,0.0035407226338242614,-4.437398906963968e-5,5.999749164758063e-8,0.003540885022134315,-4.413694086471505e-5,5.957436958624628e-8,0.0035409847601478635,-4.3907158055120185e-5,5.91653320895687e-8,0.003541029039603609,-4.371029443432704e-5,5.881578782502931e-8,0.003541034222876167,-4.3568356911767184e-5,5.856451374224705e-8,0.0035410242820919035,-4.34959360356527e-5,5.843690932693798e-8,0.0035410278165807162,-4.349704460319828e-5,5.8439391136652944e-8,0.003541073866467474,-4.35631774348635e-5,5.8556051173999174e-8,0.003541186954993939,-4.367314619920436e-5,5.874856491748497e-8,0.0035413819586960823,-4.379504612211161e-5,5.895993621631804e-8,0.003541659481115643,-4.389056974908652e-5,5.9122364071120686e-8,0.0035420026717852874,-4.392188556736655e-5,5.9169501196338025e-8,0.0035423770266627625,-4.386091460591744e-5,5.9052739202674654e-8,0.003542735137307152,-4.369954534362978e-5,5.8758966934382756e-8,0.003543027709928473,-4.345726115647605e-5,5.8323693696870554e-8,0.003543219432923343,-4.318096116450492e-5,5.783045574779396e-8,0.0035433037039722254,-4.293306375151269e-5,5.7389662664115485e-8,0.003543307510625984,-4.2770211481893025e-5,5.710096925546551e-8,0.003543281657416864,-4.2722564889928e-5,5.7016803661170176e-8,0.0035432808969128654,-4.2784998811324036e-5,5.7127048886294805e-8,0.003543345083182791,-4.29237431526913e-5,5.7371094348610354e-8,0.0035434901225729534,-4.309218173774192e-5,5.766603094543882e-8,0.0035437096200434323,-4.324625449648452e-5,5.793397699501254e-8,0.003543982437111229,-4.335377416740421e-5,5.811844457672117e-8,0.003544280963361055,-4.339731616568985e-5,5.81892230593214e-8,0.003544577345674607,-4.337307492070495e-5,5.814014309175838e-8,0.0035448472547188253,-4.328818788598209e-5,5.798423922921832e-8,0.003545071945356522,-4.315800457900615e-5,5.774893393946444e-8,0.0035452395202854154,-4.300371531604833e-5,5.7471914844255585e-8,0.0035453459408502194,-4.285012265748278e-5,5.719723861116069e-8,0.0035453958923160433,-4.2723120313231096e-5,5.697084279090594e-8,0.0035454032149012556,-4.264651128545993e-5,5.683482254338785e-8,0.0035453903011499546,-4.2638151061864956e-5,5.682050114724788e-8,0.003545385835098054,-4.270593783651835e-5,5.6941284815840156e-8,0.0035454206037119564,-4.2844639289619016e-5,5.718710304786205e-8,0.003545521737679013,-4.3034763683612925e-5,5.7522579910149e-8,0.0035457064554863466,-4.3244478586494526e-5,5.7890672855239426e-8,0.0035459768841103315,-4.343484771283477e-5,5.822218243869248e-8,0.0035463175130871715,-4.35676865911608e-5,5.8449803092231185e-8,0.003546696374372438,-4.361459001005239e-5,5.852408386886376e-8,0.003547070408275864,-4.3565227278255075e-5,5.842791123349795e-8,0.0035473947092906958,-4.343266116837182e-5,5.8185596798430805e-8,0.003547634245769986,-4.3253317404532224e-5,5.786248016398101e-8,0.003547775128552845,-4.307980993012999e-5,5.755198880500784e-8,0.0035478310759871168,-4.296686019185961e-5,5.7350653828112885e-8,0.003547840931561206,-4.295416001320256e-5,5.732790326738767e-8,0.003547856465191098,-4.305323561587963e-5,5.7503072995357236e-8,0.0035479251065484753,-4.3244764513410865e-5,5.7840967381065036e-8,0.0035480755467052556,-4.3487437490787506e-5,5.82678059755974e-8,0.003548312159234838,-4.3733132149183526e-5,5.869821561074207e-8,0.003548618609759482,-4.394085957403888e-5,5.9059893258797215e-8,0.0035489665155445534,-4.4084657379925696e-5,5.930742385274079e-8,0.0035493243155301293,-4.4155064485646884e-5,5.94246850590516e-8,0.0035496635912923074,-4.415657349882108e-5,5.942017343141657e-8,0.003549962454933137,-4.4103723515838815e-5,5.932002348157367e-8,0.0035502068853032385,-4.401745537774121e-5,5.91615814739689e-8,0.0035503910919313167,-4.392223541541534e-5,5.898836758135166e-8,0.0035505176599334156,-4.3843716170544275e-5,5.884594653272736e-8,0.0035505977261718136,-4.3806355923926305e-5,5.877765373835154e-8,0.0035506509029348764,-4.38304481117814e-5,5.881923373523053e-8,0.0035507042417583052,-4.392838644885185e-5,5.8992150582505356e-8,0.003550789375607358,-4.4100629561268414e-5,5.9296460179193444e-8,0.0035509372747178996,-4.4332623510118206e-5,5.970549942120029e-8,0.0035511709877155606,-4.459455929913146e-5,6.016568287046157e-8,0.0035514981633926815,-4.4845618151110135e-5,6.060425933750863e-8,0.0035519062473257645,-4.504285818124529e-5,6.094521953949166e-8,0.003552363010141798,-4.515265199572119e-5,6.112959670344877e-8,0.0035528232538145662,-4.516091931665212e-5,6.113348597576136e-8,0.0035532400588138987,-4.5078419810363994e-5,6.097717700290937e-8,0.0035535771481694945,-4.4939099071296303e-5,6.07218955472018e-8,0.0035538186514130496,-4.479186991256323e-5,6.045492489427308e-8,0.0035539735035672354,-4.4688098423139305e-5,6.02672442098929e-8,0.0035540731748337205,-4.466810631879039e-5,6.022963420680442e-8,0.0035541630731403067,-4.475043551216551e-5,6.037388305148787e-8,0.003554289865126375,-4.4927280773815736e-5,6.068503341769779e-8,0.0035544886846951913,-4.516779476639947e-5,6.110755581298996e-8,0.0035547745839082123,-4.542805241964009e-5,6.156319330980759e-8,0.0035551408759050616,-4.5663759910920776e-5,6.197350799964669e-8,0.003555563963135248,-4.5841008864221135e-5,6.227883337795943e-8,0.0035560116876657694,-4.5941979139417047e-5,6.24482093400329e-8,0.0035564516280192447,-4.596527201117455e-5,6.24798008660841e-8,0.003556857010155012,-4.592266312849646e-5,6.239502440655055e-8,0.003557209714814007,-4.5834565631833704e-5,6.223046308066282e-8,0.003557501080364987,-4.572581403912075e-5,6.203040815733011e-8,0.0035577315537230697,-4.562240269450946e-5,6.184110140786349e-8,0.003557910036471095,-4.554903608560832e-5,6.170637764909142e-8,0.0035580533024840793,-4.552692161730423e-5,6.166368747736406e-8,0.0035581853049642667,-4.557119728743023e-5,6.173946177102266e-8,0.0035583356940717664,-4.568768485662425e-5,6.194333838364082e-8,0.0035585365708927026,-4.586927857225371e-5,6.226185510588425e-8,0.0035588166627198116,-4.609326999183041e-5,6.265390851272246e-8,0.003559193137323904,-4.632193829336071e-5,6.30520372167614e-8,0.003559663281878733,-4.650876999059089e-5,6.337362542760012e-8,0.003560200245713937,-4.661063021140253e-5,6.354254648899662e-8,0.0035607569317794813,-4.6602396654738655e-5,6.351506594055439e-8,0.003561278648384015,-4.6487494514614917e-5,6.32983887923139e-8,0.0035617199935504846,-4.6298558243764545e-5,6.29516014692535e-8,0.003562058627582537,-4.608741314362649e-5,6.256758166751812e-8,0.0035623004672044175,-4.5909078533960046e-5,6.224430829280521e-8,0.003562475581175662,-4.5806486601264316e-5,6.205760310203278e-8,0.0035626279001984354,-4.580067735294027e-5,6.204384806523509e-8,0.003562802954124633,-4.5888015756848204e-5,6.219537779330008e-8,0.003563037055132452,-4.6043654273636875e-5,6.246701201447148e-8,0.003563350070700666,-4.622932203076322e-5,6.27901620525839e-8,0.0035637427913076075,-4.6403085941301916e-5,6.309025042503193e-8,0.003564198880158738,-4.6528682381631946e-5,6.330320173165173e-8,0.0035646903766327347,-4.658232632749611e-5,6.338736538669235e-8,0.0035651848849890845,-4.6555732749513495e-5,6.332870370697999e-8,0.0035656523705938485,-4.645535269046844e-5,6.313929883122431e-8,0.0035660700713561725,-4.6298937321714985e-5,6.285117367268997e-8,0.003566425004528302,-4.611096934697695e-5,6.250815533966789e-8,0.0035667143995241142,-4.591827694533483e-5,6.215809174271331e-8,0.0035669448573334944,-4.574655007561588e-5,6.184666832943819e-8,0.0035671310343054594,-4.561778706202556e-5,6.161284724828767e-8,0.0035672942787601126,-4.554824175451044e-5,6.148516952915002e-8,0.0035674611803288114,-4.5546361387194964e-5,6.147805454901015e-8,0.003567661543033928,-4.5610385548273515e-5,6.158757512312564e-8,0.003567924912442449,-4.5725767445714075e-5,6.178702994408387e-8,0.0035682748142848095,-4.5863544983274e-5,6.202428486357496e-8,0.0035687207877180566,-4.598192357438832e-5,6.222480065079293e-8,0.0035692503506583244,-4.603366023380281e-5,6.230484445613422e-8,0.0035698255742100237,-4.597995195287227e-5,6.219611092854864e-8,0.0035703895352063105,-4.580682740172019e-5,6.187471998839677e-8,0.003570883632004423,-4.553525834522834e-5,6.137904502638934e-8,0.003571268864222055,-4.521699225352601e-5,6.080211684283172e-8,0.0035715396695708015,-4.4916408899932836e-5,6.025908338968015e-8,0.003571723198393817,-4.468799023289393e-5,5.984686372144387e-8,0.003571866379697392,-4.456067955242553e-5,5.961625196141818e-8,0.0035720191409290983,-4.453406964456066e-5,5.956536150564443e-8,0.0035722211083410766,-4.458410992868764e-5,5.965019352482582e-8,0.003572494625911943,-4.4673173061435514e-5,5.980293252365561e-8,0.0035728434568544545,-4.476028636567257e-5,5.995034390494367e-8,0.0035732552997467812,-4.480936493091201e-5,6.002839604720158e-8,0.003573706429317807,-4.479480285769821e-5,5.99920413721776e-8,0.0035741673042217212,-4.4704415364411226e-5,5.982025244393188e-8,0.0035746082437256763,-4.45398457623661e-5,5.951659167339322e-8,0.003575004335958261,-4.43147481520429e-5,5.9105889956792483e-8,0.003575338940318722,-4.405137481478573e-5,5.862814161090186e-8,0.0035756054724064797,-4.3776367002100296e-5,5.81310100746709e-8,0.0035758075061845546,-4.3516565870462726e-5,5.766237414128631e-8,0.0035759576042431298,-4.32955011747464e-5,5.726406668644314e-8,0.003576075473322457,-4.313078064462699e-5,5.696719548910158e-8,0.0035761858511276887,-4.3032185858342236e-5,5.678871564724287e-8,0.0035763162079560256,-4.300017921430965e-5,5.672876610846801e-8,0.0035764940524594456,-4.3024605140873026e-5,5.6768438605918676e-8,0.0035767432881861085,-4.30836704446525e-5,5.686814868430869e-8,0.0035770790275487753,-4.314407216803266e-5,5.6968106744896594e-8,0.0035775010573515023,-4.3164050813275044e-5,5.699394484154996e-8,0.003577987803146952,-4.310136895375068e-5,5.6870952361826546e-8,0.0035784948165471183,-4.292678335936257e-5,5.65479221696561e-8,0.003578962840272767,-4.2639405852658924e-5,5.602429479005061e-8,0.003579336851006414,-4.227498438897039e-5,5.536473452635238e-8,0.003579588685688661,-4.18979968512765e-5,5.468488805835137e-8,0.0035797296080622783,-4.1578011198993515e-5,5.4109049105691114e-8,0.0035798042114301037,-4.1363105981440804e-5,5.372259413331688e-8,0.0035798702564199783,-4.126542984896543e-5,5.354626012529212e-8,0.0035799774382410184,-4.126391236459329e-5,5.354128307652321e-8,0.003580154993927935,-4.1317791469285e-5,5.363395239974795e-8,0.003580409608935486,-4.1381581597515776e-5,5.374262013811699e-8,0.003580729783643385,-4.1415934670145685e-5,5.3797139133405634e-8,0.003581092408746188,-4.139336320909661e-5,5.3748926352074026e-8,0.003581469034566333,-4.130007224972205e-5,5.357400193982709e-8,0.0035818310034735766,-4.1135487314135264e-5,5.3271956810880735e-8,0.0035821534692491988,-4.0910476824976e-5,5.286268340386592e-8,0.003582418418358619,-4.06446935945381e-5,5.238161243589318e-8,0.0035826166797022483,-4.0363280171443215e-5,5.187384845082181e-8,0.00358274884529989,-4.009317462540421e-5,5.1387588037206476e-8,0.003582824995614943,-3.985933882274082e-5,5.096737917280055e-8,0.0035828632611508504,-3.9681384105172434e-5,5.064806914993073e-8,0.0035828875139954875,-3.957098298811167e-5,5.045014818249678e-8,0.003582924529544475,-3.953016479695639e-5,5.0376688098463605e-8,0.00358300081862799,-3.955047708564117e-5,5.0411877426842314e-8,0.0035831392261010796,-3.961300640930363e-5,5.052117648958689e-8,0.003583355214352302,-3.968931328155379e-5,5.065319072165797e-8,0.0035836526718863154,-3.974377438611344e-5,5.074407946967609e-8,0.003584019676710392,-3.973841845099247e-5,5.072633320424865e-8,0.0035844258489106545,-3.9641235948389545e-5,5.0543575221023724e-8,0.003584824176308066,-3.943762986883524e-5,5.0170788891649215e-8,0.0035851605988330357,-3.914173842671066e-5,4.963424297277142e-8,0.0035853918960880448,-3.880043670747472e-5,4.9018405921792256e-8,0.003585505322328108,-3.848249328671764e-5,4.844644654517097e-8,0.003585527515563994,-3.8253569503164206e-5,4.803549689485371e-8,0.0035855144146158527,-3.8149888897543195e-5,4.784960245800021e-8,0.0035855273906091824,-3.8166487904675314e-5,4.787887836846632e-8,0.0035856104495281117,-3.8265157169492204e-5,4.805402080142565e-8,0.0035857798816200707,-3.8393560363288984e-5,4.828082047147677e-8,0.0035860268763078557,-3.8503227747035004e-5,4.847250586230702e-8,0.003586326680961035,-3.855986372475001e-5,4.8568113786697065e-8,0.003586648121636525,-3.8546152355993225e-5,4.853728942981486e-8,0.0035869605978639182,-3.846010828728895e-5,4.837710529272839e-8,0.003587238303345829,-3.8311783073421156e-5,4.810602981932446e-8,0.0035874625495865785,-3.811982896336047e-5,4.775775329407981e-8,0.00358762304655042,-3.790829412712801e-5,4.7375493462969575e-8,0.003587718543212155,-3.7703539314087314e-5,4.700651815697953e-8,0.0035877568854504843,-3.753109690746856e-5,4.669652828927809e-8,0.0035877543189045003,-3.741240911193318e-5,4.648378792509094e-8,0.0035877337821993926,-3.736170012036886e-5,4.639348279578213e-8,0.003587722146397466,-3.738348798138e-5,4.643324183247487e-8,0.003587746637258956,-3.747117499085622e-5,4.659063494568057e-8,0.0035878308010265218,-3.760702188597041e-5,4.683321176191194e-8,0.0035879904688035855,-3.776372946249842e-5,4.7111485215557924e-8,0.0035882302134709367,-3.790765307608103e-5,4.736488113389693e-8,0.0035885407027646038,-3.800358818517712e-5,4.753047496748133e-8,0.0035888975265631912,-3.802122612155703e-5,4.755460390198331e-8,0.003589262683625903,-3.7943134492679234e-5,4.740703403510289e-8,0.003589590313060849,-3.777295305645327e-5,4.709535929441549e-8,0.0035898376636516174,-3.754070148435225e-5,4.6674180657203245e-8,0.003589979939820703,-3.730052104784748e-5,4.6240824276023414e-8,0.003590023371945228,-3.711708048632642e-5,4.5910925049693536e-8,0.0035900077501635065,-3.7042871910765236e-5,4.577784781514526e-8,0.0035899933020088546,-3.709707415007798e-5,4.587502096050476e-8,0.003590037208575344,-3.725873614994456e-5,4.6163979998570615e-8,0.0035901730111987757,-3.747812082032692e-5,4.655494611376622e-8,0.0035904033060219416,-3.769784537258867e-5,4.6944876133643913e-8,0.003590705852666982,-3.787137405914086e-5,4.725061888805473e-8,0.0035910458330059257,-3.7972004750569304e-5,4.7424881917477886e-8,0.0035913870901548824,-3.799305368319623e-5,4.7456342834723396e-8,0.003591699210907479,-3.794340612840332e-5,4.736148608065085e-8,0.0035919606768198722,-3.7842095199116786e-5,4.7174801397497153e-8,0.0035921596171359957,-3.7713708795726786e-5,4.6940568127754947e-8,0.003592293558379161,-3.758490512066759e-5,4.6706667488679346e-8,0.0035923688823323,-3.7481625279828046e-5,4.651961895285797e-8,0.0035924001126666325,-3.742650014676788e-5,4.641991343171655e-8,0.003592408782381076,-3.743612894819133e-5,4.643708427178588e-8,0.0035924214411165024,-3.751830128528744e-5,4.6584688608919025e-8,0.0035924664696293106,-3.7669705308534085e-5,4.685621045027915e-8,0.003592569774155505,-3.7874901547291835e-5,4.7223301285490726e-8,0.003592749902450613,-3.810728859606727e-5,4.763765035237718e-8,0.0035930135281971444,-3.833251364146036e-5,4.8037268016193544e-8,0.003593352477999401,-3.85142094254474e-5,4.835692293551611e-8,0.003593743318325711,-3.862124028617287e-5,4.8541211620976406e-8,0.0035941500803349773,-3.8635219635304036e-5,4.855799005285224e-8,0.0035945303054739485,-3.8556856029829644e-5,4.8409563859566875e-8,0.0035948441441678958,-3.84093266238022e-5,4.8138450958546775e-8,0.0035950652932258955,-3.823653707192244e-5,4.7823971958565097E-08,0.003595191000352243,-3.809453371200407e-5,4.7566669363102354e-8,0.003595246796889517,-3.803631027123147e-5,4.7461060314247433E-08,0.0035952816700368603,-3.809404780623166e-5,4.756396298769029e-8,0.0035953529476908017,-3.826654280703843e-5,4.7872228760978966e-8,0.0035955064360887307,-3.851914359448242e-5,4.832290540180464e-8,0.0035957614102684605,-3.8797097685212365e-5,4.8817364790469434e-8,0.0035961074408753227,-3.904519065318432e-5,4.925659081088645e-8,0.0035965125426542463,-3.922380619036841e-5,4.9569925989950274e-8,0.0035969362675940465,-3.9315732962972006e-5,4.972712682605005e-8,0.003597341109482439,-3.932441886961113e-5,4.9735041797245097e-8,0.0035976991308152764,-3.9267828750470704e-5,4.962644042986901e-8,0.0035979941492756103,-3.917176770050048e-5,4.944797265987095e-8,0.0035982212646163817,-3.906461231436291e-5,4.925073309806581e-8,0.0035983853864858173,-3.8973731332623625e-5,4.9083882869826816e-8,0.003598499705108412,-3.8923037020490345e-5,4.899027237780294e-8,0.003598584313547959,-3.893093107139329e-5,4.900272753215885e-8,0.003598664665047769,-3.900814200916675e-5,4.914012707459969e-8,0.003598769295912446,-3.91554181102269e-5,4.940325446403414e-8,0.003598926296552057,-3.936159589408526e-5,4.9771395938974046e-8,0.0035991584178781378,-3.9603052569638225e-5,5.020149262688757e-8,0.0035994774570306106,-3.9845742495034574e-5,5.063196470603437e-8,0.003599879456446016,-4.0050595060088164e-5,5.099254875986903e-8,0.0036003427551529487,-4.018188155414745e-5,5.121939647495595e-8,0.0036008305267239238,-4.021666105614067e-5,5.127201267350899e-8,0.003601298082359539,-4.015241628723848e-5,5.114683795044416e-8,0.0036017034785005065,-4.001010080325409e-5,5.0882498429844205e-8,0.0036020186446318633,-3.983102151691306e-5,5.055393791953197e-8,0.00360223784043595,-3.966773922720605e-5,5.025583994965174e-8,0.0036023807275160397,-3.957088011118183e-5,5.0078834765566855e-8,0.0036024884440489483,-3.957514576006304e-5,5.008445593779248e-8,0.003602612836630004,-3.9688759093846825e-5,5.028643421396089e-8,0.003602801507346342,-3.9890448396384285e-5,5.064559582445518e-8,0.0036030837132397233,-4.013591224250133e-5,5.1081729897139555e-8,0.0036034625787910108,-4.037175117016467e-5,5.149873123423126e-8,0.0036039164745840613,-4.0551277524241955e-5,5.181297742668326e-8,0.0036044080529050305,-4.0646004294966926e-5,5.197384946590186e-8,0.00360489619893693,-4.064945869958866e-5,5.197041780922286e-8,0.0036053460251226866,-4.0574082061552914e-5,5.182570742191499e-8,0.0036057344318386826,-4.044453999591332e-5,5.158455566701788e-8,0.0036060514579108944,-4.029075668722807e-5,5.130104481965624e-8,0.003606299011004411,-4.01424970484346e-5,5.1028778692332877e-8,0.0036064885833287518,-4.0025849226308426e-5,5.081459498933569e-8,0.003606638973317254,-3.9961099891688534e-5,5.069476213733481e-8,0.003606774332411993,-3.9961203232245695e-5,5.069221405358963e-8,0.0036069222452277806,-4.003023028212907e-5,5.081374865009258e-8,0.0036071112182922568,-4.016168303508934e-5,5.1047028727656355e-8,0.003607366963232316,-4.033714988858951e-5,5.135826999643147e-8,0.0036077072303672525,-4.0526398781894345e-5,5.169257162187404e-8,0.0036081358410376746,-4.069044856608033e-5,5.19795998409735e-8,0.00360863791472181,-4.0788768684664725e-5,5.214662964419998e-8,0.0036091792602710175,-4.079000858969095e-5,5.2137837160242114e-8,0.003609712280943959,-4.068309768113012e-5,5.1934170132578293e-8,0.0036101880918484254,-4.04838562463079e-5,5.1565076095717744e-8,0.0036105710604826644,-4.0233135214053623e-5,5.11049366675387e-8,0.0036108500263461432,-3.998610781681087e-5,5.065355467128838e-8,0.003611041677968052,-3.9796540409886596e-5,5.0307660035659015e-8,0.0036111851665100313,-3.970186618515915e-5,5.0134017422303575e-8,0.0036113304864999287,-3.971382372907988e-5,5.0152753919674675e-8,0.0036115247250119607,-3.98167918000583e-5,5.033467938084641e-8,0.0036118001491949494,-3.997345877334354e-5,5.061180843179813e-8,0.003612167114637999,-4.013564216404726e-5,5.089703004119631e-8,0.0036126132814578962,-4.025692196720492e-5,5.110687626163271e-8,0.0036131087640671185,-4.0303479742982214e-5,5.118093281193777e-8,0.0036136150876857724,-4.026034802700086e-5,5.109292725088119e-8,0.003614094856008835,-4.0132016043704154e-5,5.085165351686192e-8,0.0036145193074628326,-3.993836208888382e-5,5.0493512681573206e-8,0.003614872292763547,-3.9708210576448246e-5,5.0070825982924494e-8,0.003615150815762236,-3.947285164647236e-5,4.9640137095099506e-8,0.0036153632808230353,-3.926096931140428e-5,4.9253097195019005e-8,0.0036155267616432177,-3.909538048400595e-5,4.89506275147321e-8,0.0036156642392711075,-3.8991230807476714e-5,4.8759693003331155e-8,0.0036158021749105296,-3.895495080175904e-5,4.86914245950835e-8,0.0036159682275933073,-3.8983383111791493e-5,4.873955389149923e-8,0.003616188577386115,-3.9062911493915725e-5,4.887889729439448e-8,0.0036164842465590077,-3.9168981167351876e-5,4.906461395007111e-8,0.003616866127419069,-3.926707099410478e-5,4.9234122993500053E-08,0.003617329348913702,-3.931673398289274e-5,4.9314522167269587e-8,0.003617849150796829,-3.928001916208648e-5,4.923780665633049e-8,0.003618381798653043,-3.913360777112033e-5,4.896267227430695e-8,0.0036188735440883186,-3.888055553865431e-5,4.849554188132768e-8,0.003619276853702225,-3.855491658006466e-5,4.789873129478229e-8,0.0036195676184713646,-3.821416389457841e-5,4.7276580612196774e-8,0.0036197545025373444,-3.792090095161403e-5,4.6742254073388355e-8,0.0036198753513412853,-3.772222272857822e-5,4.6380371688515686e-8,0.0036199830801991757,-3.763623905030227e-5,4.6222755173165736e-8,0.00362012849213772,-3.7650144684676776e-5,4.624521707582522e-8,0.003620346940104583,-3.77278873639625e-5,4.6381754134727366e-8,0.0036206519317770578,-3.7822429509832206e-5,4.654694600928876e-8,0.0036210353347296935,-3.788800232657244e-5,4.6658156643896576e-8,0.0036214722356083732,-3.7889552847069945e-5,4.665250017723497e-8,0.0036219282737146377,-3.7808250334028e-5,4.6496606350338104e-8,0.003622367558528604,-3.764294604213074e-5,4.618907856043481e-8,0.003622759613618764,-3.740807222574171e-5,4.5756568470016735e-8,0.003623084197594277,-3.7129000539556704e-5,4.524531717165578e-8,0.0036233334897944123,-3.6836271033352585e-5,4.471070197478162e-8,0.003623511822352105,-3.656004150987419e-5,4.42072171491852e-8,0.003623633625770037,-3.632568696345636e-5,4.378055463898182e-8,0.0036237204746564565,-3.615095303416537e-5,4.3462496938331666e-8,0.0036237980238943072,-3.604451542869379e-5,4.326833725239851e-8,0.0036238932087061873,-3.600542881626248e-5,4.3195891834918523e-8,0.0036240316260941043,-3.6022998605292114e-5,4.322528366433578e-8,0.003624234754252283,-3.6076927455552074E-05,4.331926852948421e-8,0.0036245165668879796,-3.613800749232242e-5,4.34246123367742e-8,0.003624879311897084,-3.617023187311202e-5,4.3476066000601294e-8,0.0036253090835464646,-3.6135726391495956e-5,4.3405390637871034e-8,0.0036257732585274127,-3.6003592967351125e-5,4.315733397260209e-8,0.0036262232058954036,-3.576186980901324e-5,4.271111422394686e-8,0.003626605331546473,-3.542823247726426e-5,4.209956869519151e-8,0.003626879436036661,-3.50518579454549e-5,4.1412337399755736e-8,0.0036270365079126123,-3.470071004044956e-5,4.0772704917605835e-8,0.0036271047904969573,-3.443736111457935e-5,4.029373159298715e-8,0.0036271389316380864,-3.429581521273013e-5,4.003629528591115e-8,0.0036271983746661196,-3.427189565117347e-5,3.999186380888534e-8,0.0036273272627723543,-3.433001504928174e-5,4.009507060595036e-8,0.0036275443605000503,-3.441929039714666e-5,4.02532013146905e-8,0.003627843559349204,-3.448978456372097e-5,4.037574941419381e-8,0.0036282007307444626,-3.450355291645972e-5,4.039436204166938e-8,0.0036285824334346232,-3.443962968437811e-5,4.027168052144104e-8,0.003628953774846586,-3.4294406238919776e-5,4.000181674287031e-8,0.003629284453436167,-3.4079224683629005e-5,3.960585055025596e-8,0.00362955288864694,-3.381643465683662e-5,3.912462715686188e-8,0.0036297485036715003,-3.353465476085004e-5,3.8610171191587416e-8,0.0036298722480067286,-3.3263883330298314e-5,3.811684927278125e-8,0.003629935574821214,-3.303104643643447e-5,3.769332757952957e-8,0.003629958188257625,-3.285642390889165e-5,3.737611903004188e-8,0.003629964993502037,-3.275128511796277e-5,3.7185320702803963e-8,0.0036299828010852926,-3.271683137367501e-5,3.712271268820873e-8,0.003630037189355566,-3.274419552984249e-5,3.7171770693712e-8,0.003630149597490292,-3.281517977483511e-5,3.729903127915843e-8,0.0036303345419651353,-3.290362286671258e-5,3.7456641443449155e-8,0.0036305967997701106,-3.297753462876925e-5,3.758635247116539e-8,0.003630928513207681,-3.300252642506156e-5,3.762587782766384e-8,0.0036313068265694214,-3.294744940956532e-5,3.7519188323039196e-8,0.00363169380297549,-3.2792780456482834e-5,3.7231652891866554e-8,0.0036320412779389313,-3.254062980327011e-5,3.676798183842747e-8,0.0036323028298620714,-3.222229600651305e-5,3.618566999286661e-8,0.00363245144150968,-3.1896535693968474e-5,3.559165692670533e-8,0.003632494924818845,-3.163343128727202e-5,3.5112974053962996e-8,0.003632477752238004,-3.148784739433187e-5,3.4848610971418145e-8,0.0036324645616411712,-3.147677766139223e-5,3.4828549478256566e-8,0.003632513929295136,-3.1574620316264846e-5,3.5005434477029905e-8,0.0036326579319382944,-3.1727711619258e-5,3.528122902984301e-8,0.0036328967617592234,-3.187682011716218e-5,3.554823526809591e-8,0.0036332061434049393,-3.197502524181992e-5,3.572156454636925e-8,0.0036335495974229026,-3.1995847248725226e-5,3.575374279393732e-8,0.003633889293870905,-3.19333227910892e-5,3.563461873953822e-8,0.003634193172744235,-3.17978842240923e-5,3.538369154094479e-8,0.003634438615965457,-3.161109030916799e-5,3.504045625380042e-8,0.003634613855985011,-3.1400671454106465e-5,3.465541572534082e-8,0.003634718071699902,-3.11961575856113e-5,3.428219175465637e-8,0.003634760562279025,-3.102500639946222e-5,3.3970535921702535e-8,0.0036347591134491177,-3.0909251987672765e-5,3.376025962304962e-8,0.003634737607805422,-3.086278268132625e-5,3.367629517795057e-8,0.0036347229490649663,-3.088948453492992e-5,3.372533325761154e-8,0.003634741563228235,-3.0982560065987805e-5,3.389460784514429e-8,0.003634815901229414,-3.112512713113596e-5,3.4153020033679004e-8,0.0036349612766972193,-3.129198170965659e-5,3.4454394956192596e-8,0.003635183245992869,-3.145240784677646e-5,3.4742669582784826e-8,0.0036354757079425717,-3.1573956992053166e-5,3.495886526255861e-8,0.0036358199160614058,-3.1627212256825974e-5,3.504983415027823e-8,0.0036361849045063073,-3.159171660721317e-5,3.4979039620345153e-8,0.003636530479561921,-3.1462895172653124e-5,3.473901011215707e-8,0.0036368142578559253,-3.1258495477149596e-5,3.436280051338025e-8,0.003637003387374721,-3.102115681331883e-5,3.3928392231956515e-8,0.003637088755021439,-3.081237158304347e-5,3.35475459720963e-8,0.003637094946225761,-3.069500019812094e-5,3.333402234292594e-8,0.0036370770559699434,-3.0708848592774254e-5,3.335935424561485e-8,0.0036371013292986853,-3.085231309250355e-5,3.361973574732224e-8,0.0036372186076369544,-3.108268917674487e-5,3.4036836713625407e-8,0.0036374461301725914,-3.133543760619602e-5,3.449300493597974e-8,0.0036377666800752285,-3.154966294649507e-5,3.4877648547478624e-8,0.003638141297749838,-3.1685759118405125e-5,3.511925103365506e-8,0.0036385252843173046,-3.173024090401332e-5,3.5193980505349496e-8,0.0036388799750885084,-3.1691380373824776e-5,3.5117541386689996e-8,0.003639178463924923,-3.1591479016366276e-5,3.493096321710203e-8,0.003639406831918024,-3.145964120367891e-5,3.4687408289269027e-8,0.0036395631103395176,-3.132641488984484e-5,3.444246310972407e-8,0.003639655535314708,-3.122008096808154e-5,3.4247456211883176e-8,0.0036397006665107633,-3.1163893875378406e-5,3.414448139816457e-8,0.003639721329488939,-3.1173806420359784e-5,3.416226804857164e-8,0.0036397441644748767,-3.125655767899938e-5,3.431270209771732e-8,0.003639796568166988,-3.140832386339877e-5,3.458839076722247e-8,0.0036399030331303018,-3.161441580614675e-5,3.49621599593727e-8,0.0036400812861970703,-3.1850493516183555e-5,3.538933414193512e-8,0.0036403388783366928,-3.2085469069802425e-5,3.581309683606768e-8,0.003640670899708472,-3.228595888933305e-5,3.617266898678714e-8,0.003641059410890908,-3.242184074945234e-5,3.6413480741849684e-8,0.003641474976614793,-3.2472192397990765e-5,3.6497992784001544e-8,0.0036418804736073327,-3.243081777099901e-5,3.6415684316993066e-8,0.0036422373048892133,-3.231046066567557e-5,3.619054998193656e-8,0.003642513965287651,-3.2144261682321465e-5,3.588351146600024e-8,0.0036426959856221573,-3.198235682061668e-5,3.5586005065773693e-8,0.0036427944977556605,-3.1881697208743154e-5,3.5401356745524745e-8,0.0036428486849075714,-3.188933045907144e-5,3.5414444145402196e-8,0.0036429173685921887,-3.202403752604784e-5,3.565852233264122e-8,0.0036430596414088368,-3.226577445343364e-5,3.609629779052436e-8,0.0036433124954249867,-3.2561078847616284e-5,3.66299793816928e-8,0.0036436776177795477,-3.284337212027593e-5,3.713830880496045e-8,0.0036441242313400286,-3.3057030277970586e-5,3.7520345040000954e-8,0.0036446041810241324,-3.317277180321848e-5,3.772337507096917e-8,0.0036450692490085615,-3.3189738563198884e-5,3.7746545722749065e-8,0.003645482899676809,-3.3128175256394194e-5,3.7627357042686266e-8,0.0036458246434632187,-3.301933774306142e-5,3.7423151774873677e-8,0.003646089234413236,-3.289707990184836e-5,3.71957515176344e-8,0.003646283665094115,-3.279244336538491e-5,3.7001641525103554e-8,0.0036464239349174375,-3.273067656021924e-5,3.6886607019548715e-8,0.0036465323149864697,-3.272957018214073e-5,3.6882747854165715e-8,0.0036466349961541663,-3.279825429446103e-5,3.700630533575309e-8,0.0036467596710251142,-3.2936106766617314e-5,3.725568811188398e-8,0.0036469325807821826,-3.313193807407561e-5,3.7610026698915855e-8,0.0036471748124150484,-3.3364069240662704e-5,3.802938859382088e-8,0.003647498169133209,-3.360210126412473e-5,3.845809149088258e-8,0.0036479015316435363,-3.38109253939106e-5,3.883209072712449e-8,0.003648368986541947,-3.395689666898082e-5,3.909027582893097e-8,0.003648870921029724,-3.401521748118757e-5,3.9187927000580045e-8,0.0036493686380024244,-3.397675991479839e-5,3.91090927084104e-8,0.0036498219897588453,-3.385230235314705e-5,3.887418894134722e-8,0.0036501985693956885,-3.367263505175776e-5,3.854000701640252e-8,0.0036504824684245895,-3.348382883038354e-5,3.819088250354824e-8,0.003650680396759058,-3.333785800459016e-5,3.792145205144569e-8,0.003650822939161007,-3.3279840876376515e-5,3.781338373671198e-8,0.003650959134371577,-3.3334613467666114e-5,3.791106516073476e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_23.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_23.json
deleted file mode 100644
index c83a531..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_23.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":23000,"numberOfSamples":1000,"samples":[0.003651144035305788,-3.3496975736922465e-5,3.820410327566936e-8,0.0036514219143992843,-3.3730554777606135e-5,3.862552436820353e-8,0.0036518112676496577,-3.397791609056264e-5,3.907035721036122e-8,0.00365229870095008,-3.417907449598782e-5,3.9429383363913e-8,0.00365284489977173,-3.4290356787269744e-5,3.962343833009104e-8,0.0036533992613388363,-3.429527055965991e-5,3.962310443890886e-8,0.003653915601993734,-3.4204210437811016e-5,3.9448034728001705e-8,0.0036543625588809866,-3.404606217387052e-5,3.915149562803171e-8,0.003654726821743164,-3.385745548023324e-5,3.880065521411588e-8,0.003655011114586897,-3.367402646076845e-5,3.846060844958942e-8,0.003655229952491537,-3.352516388562213e-5,3.818482941081412e-8,0.0036554053665251193,-3.343165583497147e-5,3.8010946814686524e-8,0.0036555634966590643,-3.3404964167691095e-5,3.7959478606448984e-8,0.0036557319972541605,-3.3447035834001456e-5,3.803352192134055e-8,0.0036559377077366316,-3.355009646938942e-5,3.821840523078073e-8,0.003656203941986329,-3.3696494348695236e-5,3.848145228658821e-8,0.0036565469978612378,-3.3859223781751256e-5,3.877301569526761e-8,0.0036569720596978405,-3.4004124438745524e-5,3.9030579556823116e-8,0.003657469498455847,-3.40947073072433e-5,3.918763315500793e-8,0.003658013393850613,-3.409978236972752e-5,3.918760770228968e-8,0.0036585642841328063,-3.400250012732713e-5,3.9000338042948336e-8,0.003659077039174998,-3.380774452480385e-5,3.8635466490843415e-8,0.0036595124517896076,-3.354428513728769e-5,3.8146233975437406e-8,0.0036598488695074555,-3.325957393919969e-5,3.761980345160911e-8,0.0036600895177045143,-3.30080589998171e-5,3.7155744789631976e-8,0.0036602626699706706,-3.2836659874036776e-5,3.6839414480127626e-8,0.0036604145345912036,-3.277203283919482e-5,3.671875744486885e-8,0.003660597076071134,-3.281332359526204e-5,3.679128814107534e-8,0.0036608541980586175,-3.293230507705976e-5,3.700462952878297e-8,0.003661210012998719,-3.308093000187256e-5,3.7270537712529526e-8,0.003661662575751951,-3.320440094368456e-5,3.74888633727299e-8,0.003662185161327315,-3.325597408349231e-5,3.7574542846225874e-8,0.003662734729255613,-3.320874898829924e-5,3.747900861351535e-8,0.0036632644530644296,-3.3060666580031256e-5,3.719917570818271e-8,0.003663735688217234,-3.283177311008349e-5,3.677230797634811e-8,0.003664125550367317,-3.255600900274537e-5,3.6260899113540797e-8,0.0036644288159946347,-3.227144312843095e-5,3.573475239964142e-8,0.003664655379067319,-3.20122786606644e-5,3.525635740926294e-8,0.0036648256060508692,-3.180406776074698e-5,3.487218993328028e-8,0.0036649655917790954,-3.166186058055134e-5,3.460940215582945e-8,0.003665103342555086,-3.15901849968733e-5,3.4475849367541365e-8,0.003665265988254904,-3.158372346364206e-5,3.4461364201339914e-8,0.003665477540567749,-3.162801003528849e-5,3.4539055157405407e-8,0.0036657565338192736,-3.17000936026722e-5,3.466655892539428e-8,0.0036661130590637785,-3.176968248208968e-5,3.478820502904388e-8,0.003666545202793297,-3.180174937323968e-5,3.483986629008923e-8,0.003667035788941662,-3.1761745550580205e-5,3.475855435760227e-8,0.0036675514497473767,-3.162389916152661e-5,3.449759311569503e-8,0.003668046654744528,-3.138114071038292e-5,3.404470126419763e-8,0.0036684741721542814,-3.105261032794423e-5,3.343560777759723e-8,0.003668799974560434,-3.068345735179965e-5,3.2753539214570226e-8,0.0036690165364966303,-3.0334013759936222e-5,3.2109244036842246e-8,0.0036691474276989216,-3.0061206934846583e-5,3.160683200695938e-8,0.0036692401145173264,-2.9900241087574385e-5,3.131020806459518e-8,0.0036693503292834495,-2.9854613982101406e-5,3.122493185911916e-8,0.003669525187357138,-2.989751080207272e-5,3.1301037813817e-8,0.0036697912282753556,-2.9982013376298203e-5,3.1452001909760237e-8,0.003670149929656101,-3.0055069990531985e-5,3.15804774867729e-8,0.00367058012275416,-3.007069224005011e-5,3.160245845426072e-8,0.003671045233915078,-2.9999480736268876e-5,3.14646043020311e-8,0.00367150289146305,-2.9833136999524488e-5,3.1152343179196404e-8,0.0036719145236925356,-2.9583830819543413e-5,3.068856987855197e-8,0.0036722528819754623,-2.9279274289988172e-5,3.012451965536157e-8,0.0036725060723375516,-2.8955216659429878e-5,2.9525956515840337e-8,0.003672677754130943,-2.864755268356975e-5,2.895869275364607e-8,0.003672784291843022,-2.838594682136872e-5,2.8476927435519246e-8,0.0036728502871910297,-2.8189969093245898e-5,2.8116221838894727e-8,0.0036729039195573616,-2.8067750927584617e-5,2.7891105878276732e-8,0.0036729730472076353,-2.8016458620949784e-5,2.7795998669456532e-8,0.0036730823256591566,-2.8023639314141942e-5,2.7807699502206006e-8,0.0036732510393670506,-2.806876922500443e-5,2.7888233842029837e-8,0.0036734911388206174,-2.8124848250507907e-5,2.7987802985082756e-8,0.003673805048096844,-2.8160365318995213e-5,2.8048454388623762e-8,0.0036741831643614118,-2.8142417714421486e-5,2.800989211450284e-8,0.0036746017845311393,-2.8042014596425726e-5,2.781926303572099e-8,0.003675023305396148,-2.7842042600133794e-5,2.7445742165138232e-8,0.003675401277467576,-2.7546573380207877e-5,2.6897486202051013e-8,0.0036756920590245525,-2.718737099853137e-5,2.623340000871415e-8,0.0036758711240840844,-2.682142732552505e-5,2.555844943167183e-8,0.0036759465937811365,-2.6515692647237495e-5,2.499551903112205e-8,0.0036759605227197774,-2.6323182982489206e-5,2.464151777744949e-8,0.0036759744983032644,-2.6262593443452535e-5,2.4530039671133795e-8,0.0036760466285700347,-2.6312844659637143e-5,2.462156779143457e-8,0.0036762123044454384,-2.6424126112870143e-5,2.4824015221802194e-8,0.003676476786014314,-2.6537239075107872e-5,2.5028430559382807e-8,0.0036768192350094923,-2.6601221243758545e-5,2.5141395201407517e-8,0.0036772028513650874,-2.658386925131194e-5,2.5104237965815816e-8,0.0036775858883604795,-2.6474864491415744e-5,2.4898599976612817e-8,0.0036779306440379686,-2.6283647779182486e-5,2.4542371246482394e-8,0.003678209538973982,-2.603439997978615e-5,2.408037372138913e-8,0.003678408358108114,-2.5759783494692988e-5,2.357282896906436e-8,0.003678526948850447,-2.5494493653466036e-5,2.308351403533256e-8,0.0036785777355817883,-2.5269467883076505e-5,2.2669143006386352e-8,0.003678582593628918,-2.5107461818455048e-5,2.2371273529194018e-8,0.003678568782474355,-2.5020417507422695e-5,2.2211520779320994e-8,0.0036785647042003374,-2.500871973525351e-5,2.21902445854814e-8,0.0036785961805071692,-2.5062054156622615e-5,2.228816628316454e-8,0.003678683593958781,-2.5161266743696174e-5,2.24697994986493e-8,0.003678839813725382,-2.528068865976697e-5,2.268772363615898e-8,0.0036790686589521994,-2.5390721102639514e-5,2.28873548323344e-8,0.0036793636633603534,-2.5460766843175067e-5,2.301239734670839e-8,0.0036797070625050198,-2.5462938404665122e-5,2.3011746096490555e-8,0.0036800695540226,-2.5377224112577794e-5,2.2849032250097418e-8,0.0036804123072578534,-2.5198284596178738e-5,2.251506689142407e-8,0.003680693157902537,-2.4942526484895308E-05,2.2040681988927512e-8,0.003680878158399637,-2.4651854910035483e-5,2.150341156448466e-8,0.0036809565821238504,-2.4388619881055524e-5,2.101802531841774e-8,0.003680952179938686,-2.4218042502926116e-5,2.0704157135192892e-8,0.003680920788736872,-2.418258152607271e-5,2.063924897056901e-8,0.0036809307429876595,-2.428216159309294e-5,2.082238656290625e-8,0.0036810354111426534,-2.4473729304710523e-5,2.1173726237950885e-8,0.003681253971997315,-2.4690578711906134e-5,2.1570233191745147e-8,0.0036815697161010955,-2.4868511669727512e-5,2.1893875946001677e-8,0.00368194233743989,-2.4964629040890916e-5,2.2066135288962184e-8,0.003682324212490332,-2.496342898745231e-5,2.2059068741709067e-8,0.0036826731166814996,-2.4873277705717296e-5,2.1888636709994033e-8,0.0036829591588462465,-2.4718729832185195e-5,2.1600441398920033e-8,0.003683167023967205,-2.4532594782350245e-5,2.1255080252265367e-8,0.0036832954099022645,-2.4349370543578626e-5,2.0916081024659693e-8,0.0036833550335923348,-2.4200218198591833e-5,2.0640692551785886e-8,0.0036833658565634006,-2.410924176009306e-5,2.047307011231562e-8,0.00368335380237866,-2.4090944865297163e-5,2.0439619325797367e-8,0.0036833471475006176,-2.4148859135246296e-5,2.054650508300012e-8,0.003683372810946003,-2.4275435196936255e-5,2.07794955328708e-8,0.003683452919780664,-2.445325289733475e-5,2.110623168930102e-8,0.003683602046501696,-2.465734339942249e-5,2.1480525304410102e-8,0.003683825298735307,-2.4858264023953814e-5,2.184802813428788e-8,0.0036841172991974114,-2.5025683730293013e-5,2.2152849985111426e-8,0.0036844620856947494,-2.5132324086251992e-5,2.234486049199623e-8,0.003684833943600737,-2.5158192450841574e-5,2.2387540094785343e-8,0.0036851994497372497,-2.5095227283073492e-5,2.226654684123872e-8,0.003685521611166236,-2.495214102688181e-5,2.199854944989616e-8,0.0036857671361551635,-2.4758044853092278e-5,2.1637716007903936e-8,0.0036859169029455434,-2.4561976529873086E-05,2.127462522493109e-8,0.0036859772914223593,-2.44246555966739e-5,2.102094321803886e-8,0.0036859863765741317,-2.4400569866343113e-5,2.0976459090247287e-8,0.0036860072100742725,-2.451503865503077e-5,2.1187033549314085e-8,0.0036861059724534228,-2.4748908547852973e-5,2.1616674172997784e-8,0.003686324629094954,-2.504318975211854e-5,2.2156284356747038e-8,0.003686664486266351,-2.5323155005089623e-5,2.2668137696737203e-8,0.0036870898114569946,-2.5527244493044108e-5,2.303909962374833e-8,0.003687546149128421,-2.5624766795011134e-5,2.3213143420424893e-8,0.00368798044731879,-2.5617338941137874e-5,2.3193859568407812e-8,0.0036883539373483384,-2.5529670793774248e-5,2.3027315403045705e-8,0.0036886463867155743,-2.5397760191839542e-5,2.2780188658898496e-8,0.003688854693802478,-2.5259351496340612e-5,2.2522155643143783e-8,0.0036889891708466456,-2.5147850491353615e-5,2.231471497123031e-8,0.0036890695533378795,-2.5088946206269493e-5,2.2205016955307542e-8,0.0036891214131626097,-2.5098827308126288e-5,2.222261384963983e-8,0.0036891729137179556,-2.518329063537529e-5,2.2377841591020216e-8,0.0036892516769625227,-2.5337494371236543e-5,2.2661397865423784e-8,0.0036893816097385863,-2.554645169281843e-5,2.3045303929869593e-8,0.0036895797925711486,-2.578657672893664e-5,2.3485809567516533e-8,0.0036898538468566012,-2.6028463573269312e-5,2.392855402626147e-8,0.003690200266554174,-2.624073990187162e-5,2.431568410168666e-8,0.0036906040827712275,-2.6394652975592825e-5,2.4594312535909952e-8,0.0036910401320671615,-2.646892578198544e-5,2.4725481010514338e-8,0.0036914760290490357,-2.6454258869800837e-5,2.469246723504824e-8,0.0036918767628710283,-2.6356872170899155e-5,2.450728188668473e-8,0.003692210885339878,-2.6200462392483775e-5,2.4214168577148188e-8,0.0036924581686777775,-2.602543095805307e-5,2.388800430693621e-8,0.003692617733382483,-2.5883626505455566e-5,2.362443103435925e-8,0.0036927139953002153,-2.58271594885082e-5,2.3519158494680385e-8,0.0036927961075991973,-2.5891978747853797e-5,2.3637775773338626e-8,0.0036929267649546634,-2.6081277797364088e-5,2.398538810384016e-8,0.0036931609455419815,-2.6358161739026842e-5,2.4493348826303326e-8,0.0036935234174346435,-2.665549718890737e-5,2.5037572254635175e-8,0.003693998101314756,-2.6900775812927172e-5,2.5484402286752192e-8,0.0036945360219985063,-2.7042710855034788e-5,2.5739608547857825e-8,0.0036950760446270714,-2.7065371302568437e-5,2.57743737612283e-8,0.003695565661023816,-2.6985691375977797e-5,2.5620578062499176e-8,0.00369597274607554,-2.684069713273219e-5,2.5347080120574853e-8,0.003696287324292012,-2.667345195030066e-5,2.5033662232297028e-8,0.0036965173262114045,-2.6523010525635966e-5,2.4752456189175374e-8,0.0036966825886261623,-2.6419227346433036e-5,2.455840471365584e-8,0.003696809522700842,-2.6380986372349695e-5,2.4486064306819182e-8,0.0036969270936339123,-2.6416117172469423e-5,2.454950799475654e-8,0.0036970637745599656,-2.6521893503182198e-5,2.4743286277766767e-8,0.0036972449046433265,-2.6685737210574117e-5,2.504376987032764e-8,0.0036974900334030988,-2.6886274245188e-5,2.541115595707101e-8,0.003697810176347896,-2.7095219934198905e-5,2.5793006605434385e-8,0.0036982053804941253,-2.728057365079077e-5,2.613018555159297e-8,0.003698663356525077,-2.7411217452902692e-5,2.6365357275177697e-8,0.0036991599725369096,-2.7462484334453646e-5,2.6453253365305067e-8,0.0036996621606698965,-2.7421763096580724e-5,2.6370997112730044e-8,0.00370013328491362,-2.729281033021235e-5,2.6126029195423446e-8,0.0037005403211717563,-2.7097411250876837e-5,2.5759105766375958e-8,0.0037008616198824073,-2.6873458549975153e-5,2.534063229254157e-8,0.0037010937154705065,-2.6669054268328128e-5,2.4959623377691335e-8,0.0037012553893138378,-2.6532771677849146e-5,2.470560529795536e-8,0.003701386925754609,-2.6501162935385394e-5,2.464554459140342e-8,0.0037015427319560873,-2.65862451416973e-5,2.4800881221936585e-8,0.0037017770840136652,-2.6767600671031702e-5,2.5133175185444305e-8,0.003702126226889177,-2.6994365678892358e-5,2.5547991564237983e-8,0.003702594034496086,-2.7199503702774686e-5,2.5921361512321817e-8,0.003703149146929241,-2.7322124217394617e-5,2.6140992193989e-8,0.0037037362260185593,-2.732763109091641e-5,2.6143421934714618e-8,0.003704295665546802,-2.721607872496196e-5,2.5929372282700263e-8,0.0037047816795343263,-2.7016566312550213e-5,2.5553267597604028e-8,0.003705171555362991,-2.6773370862474705e-5,2.509745527697299e-8,0.003705465407158616,-2.6531809403462105e-5,2.4645955131628586e-8,0.0037056802842188206,-2.6328749558537203e-5,2.4266888380384873e-8,0.003705842962671197,-2.6188473724591307e-5,2.4004889346311846e-8,0.0037059839388316924,-2.6122241314280676e-5,2.3880388417301026e-8,0.0037061332623507665,-2.6129556128220352e-5,2.3892034999399584e-8,0.003706317770909461,-2.6199800840217618e-5,2.4019772205175913e-8,0.0037065589557418377,-2.6313745875571078e-5,2.4227665838511646e-8,0.003706870840343872,-2.644512355745995e-5,2.4466855843329514e-8,0.003707257688373799,-2.6562856852741105e-5,2.4679720562225874e-8,0.003707711915905993,-2.6634592082949376e-5,2.4806441695489335e-8,0.003708213120455237,-2.663186058357122e-5,2.479455939697902e-8,0.0037087294412449907,-2.6536451255494063e-5,2.4610743259413702e-8,0.003709222214515911,-2.6346543661015368e-5,2.4252099963225886e-8,0.0037096538724641567,-2.6080329046030495e-5,2.3752812169666824e-8,0.003709997524539029,-2.577492734907529e-5,2.3182040780489726e-8,0.0037102454227998637,-2.5479672505274922e-5,2.263137359655951e-8,0.0037104132986381126,-2.524481178501241e-5,2.219379012489409e-8,0.0037105385684950997,-2.5108446768208215e-5,2.1939440481081604e-8,0.003710672201591465,-2.5085405601484373e-5,2.1895121723236657e-8,0.0037108659074224157,-2.5161493732589e-5,2.2033822651041703e-8,0.0037111577917986476,-2.5295461489293446e-5,2.2278586025456243e-8,0.0037115606470070174,-2.542917933201141e-5,2.2521498478199035e-8,0.0037120571654388006,-2.5503837048517596e-5,2.2653719725711947e-8,0.003712604656330799,-2.5477070966070233e-5,2.259714366597435e-8,0.0037131481138471807,-2.5334611035146297e-5,2.232587717598007e-8,0.0037136365417578987,-2.509202414715311e-5,2.1869364929837613e-8,0.0037140360486028587,-2.4786787143587042e-5,2.1297584304020552e-8,0.0037143354755474435,-2.4465255139622436e-5,2.069678054959071e-8,0.003714544467024974,-2.4170306202152613e-5,2.0146497047207724e-8,0.003714687020580643,-2.393338515246342e-5,1.9704838425664365e-8,0.0037147941125955726,-2.3771532108372094e-5,1.9403042636394202e-8,0.0037148976705766875,-2.3687944947412868e-5,1.924662719845783e-8,0.0037150265340877417,-2.367419895466894e-5,1.9219583030809972e-8,0.003715204015883382,-2.37127525260934e-5,1.928905809182854e-8,0.0037154462776015544,-2.377915294824585e-5,1.9409457545578542e-8,0.0037157608120527794,-2.384409788521174e-5,1.9526274662557453e-8,0.0037161447586631148,-2.387597552240848e-5,1.9580823667812967e-8,0.003716583383528966,-2.384460787773986e-5,1.9517213785745727e-8,0.0037170496879362957,-2.372665990986959e-5,1.929240272445178e-8,0.003717506623292282,-2.3512366057301022e-5,1.8888665065491976e-8,0.003717913280569818,-2.3211764390501293e-5,1.832510925529357e-8,0.0037182350231976446,-2.2857213753819283e-5,1.766226069432184e-8,0.0037184549931704456,-2.2499015996168416e-5,1.69938183046161e-8,0.0037185822522199053,-2.2193400184984013e-5,1.642422937600723e-8,0.0037186520125712316,-2.1986125984029035e-5,1.6038180871423233e-8,0.0037187166025020217,-2.1897980951190913e-5,1.5873715102312037e-8,0.0037188302313518797,-2.1918094714878887e-5,1.5909975868926e-8,0.0037190333250862505,-2.200738683831528e-5,1.6073822676410523e-8,0.003719341736464505,-2.211021106517147e-5,1.6261616807192078e-8,0.003719743573072058,-2.216979978548509e-5,1.636795341593824e-8,0.0037202036700935363,-2.214280148765948e-5,1.631260873446929e-8,0.0037206737661205037,-2.2009147434640982e-5,1.6058763393847896e-8,0.0037211051970497504,-2.1775071201819367e-5,1.5618506174731158e-8,0.003721460458739193,-2.1469112666244478e-5,1.5045318183279198e-8,0.0037217205729197273,-2.113297412457324e-5,1.4417004888548999e-8,0.0037218868002361744,-2.081050254733132e-5,1.3815164650950308e-8,0.0037219772900882707,-2.0538209327698315e-5,1.3307554545741322e-8,0.003722020789722907,-2.033950176989565e-5,1.2937408851043707e-8,0.00372204987109083,-2.022296133826621e-5,1.2720322617019088e-8,0.0037220953992123298,-2.018363795951063e-5,1.2646747001885697e-8,0.0037221828649194387,-2.0205878245740093e-5,1.26873047206367e-8,0.0037223303313133104,-2.02664502220618e-5,1.2798609312135926e-8,0.003722547317866394,-2.0337344535813425e-5,1.292845264550573e-8,0.0037228339677174557,-2.0388317730423293e-5,1.3020518278734751e-8,0.003723180190839855,-2.0389705420379754e-5,1.3019629712220013e-8,0.0037235650128087322,-2.0316187736311858e-5,1.2878799919059847e-8,0.003723957027956693,-2.0152005616268402e-5,1.256897561523051e-8,0.003724317479797812,-1.9897320189773163e-5,1.2090860847159705e-8,0.0037246074892309214,-1.9573777293026863e-5,1.1485194896322013e-8,0.0037247994563825186,-1.922551672634567e-5,1.0834500081040653e-8,0.003724889413287953,-1.8911635022200557e-5,1.024891375539621e-8,0.003724903860006442,-1.8689419208005423e-5,9.834890386340725e-9,0.0037248950039658825,-1.8593936835862856e-5,9.657227552497414e-9,0.0037249241617011717,-1.8624070004157957e-5,9.713213497022367e-9,0.0037250406734058938,-1.874272347827841e-5,9.933231932671707e-9,0.003725266442256563,-1.889068343187049e-5,1.0206743013046786e-8,0.003725591957814072,-1.900639132302381e-5,1.0419161121580107e-8,0.0037259828367480837,-1.9042941445738243e-5,1.0483445088589561e-8,0.0037263919105630754,-1.8977532859680972e-5,1.0357575288150131e-8,0.0037267718541946424,-1.8812970780198845e-5,1.004722544629047e-8,0.0037270852122032435,-1.857321752592454e-5,9.597390829866145e-9,0.0037273105106150057,-1.829556589372417e-5,9.077766944676528e-9,0.0037274442822466383,-1.8021665816886436e-5,8.566019197106112e-9,0.003727499446205275,-1.7789180452793088e-5,8.132238797880786e-9,0.0037275009651962054,-1.762549477405663e-5,7.827238632585327e-9,0.003727480107433613,-1.7544324987777415e-5,7.676278027300595e-9,0.003727468693735596,-1.7545252223564655e-5,7.678260381961283e-9,0.0037274943796830745,-1.7615546114334517e-5,7.809198521585769e-9,0.0037275775048591624,-1.773333185341448e-5,8.028155894012631e-9,0.003727729461688348,-1.7871140037744037e-5,8.283855986333845e-9,0.0037279521045785026,-1.7999224672154963e-5,8.520831022886832e-9,0.0037282376812551145,-1.80885880022614e-5,8.685033780576021e-9,0.0037285690243083164,-1.8114038809190196e-5,8.729555432946514e-9,0.003728920113641478,-1.8057767593507887e-5,8.621345067804234e-9,0.0037292576952676747,-1.7913835381609194e-5,8.349624258909386e-9,0.0037295452618239825,-1.769325645659619e-5,7.935342096310923e-9,0.003729750685610381,-1.742782377238727e-5,7.438195143004906e-9,0.0037298573864923707,-1.7169070621178025e-5,6.954523489002591e-9,0.0037298756982351187,-1.6978346810287705e-5,6.598664526266755e-9,0.003729847357057938,-1.690734999300974e-5,6.466620041821976e-9,0.0037298361456615196,-1.6976011363689884e-5,6.594939654273422e-9,0.0037299052651525726,-1.716065001020904e-5,6.938856540972064e-9,0.003730092529452638,-1.7401587629302746e-5,7.386701385086378e-9,0.0037303974273488636,-1.7626624987369516e-5,7.803782958842304e-9,0.0037307856005640463,-1.7776600142330956e-5,8.080023637204767e-9,0.0037312048557727917,-1.782075236454326e-5,8.158500185359126e-9,0.0037316025984929033,-1.7758874434021704e-5,8.039315141398938e-9,0.003731938096263313,-1.7614499874872118e-5,7.76676690099454e-9,0.0037321881752387263,-1.7424800949631686e-5,7.410439462798648e-9,0.003732347832913049,-1.7230987288991442e-5,7.047285654047261e-9,0.003732427807332729,-1.7070752855394434e-5,6.747564430999931e-9,0.0037324505819447216,-1.6972951318685194e-5,6.564937105062063e-9,0.0037324456392299724,-1.695435236964585e-5,6.530439072511247e-9,0.003732444524964121,-1.701842445824136e-5,6.650238763256346e-9,0.0037324762624747466,-1.7155994000405556e-5,6.906918712508451e-9,0.003732563584080442,-1.734745000939961e-5,7.263649467205659e-9,0.003732720347862681,-1.7566052220995436e-5,7.670403442963853e-9,0.003732950305259306,-1.7781762662003478e-5,8.071102483695934e-9,0.003733247046701793,-1.796503766997897e-5,8.410658713739836e-9,0.003733594793483443,-1.8090329320746774e-5,8.641476568061361e-9,0.003733969829689655,-1.8139333953936072e-5,8.729522514097567e-9,0.0037343425695851745,-1.8104141430392796e-5,8.660245887318678e-9,0.003734680606263795,-1.7990430125363365e-5,8.444572497323546e-9,0.003734953553838489,-1.782034694147802e-5,8.124239420623847e-9,0.003735140403146867,-1.7633507226156773e-5,7.77352976095781e-9,0.003735238848109435,-1.748329459267977e-5,7.4921953391734e-9,0.003735273477531778,-1.742550583944127e-5,7.384151459049214e-9,0.0037352966592492363,-1.749922907883764e-5,7.52182191537506e-9,0.0037353759026406193,-1.7706708770883272e-5,7.908742842178216e-9,0.003735568740471046,-1.8005201420696946e-5,8.464598259716825e-9,0.003735897522340255,-1.8320262806021934e-5,9.050180658370451e-9,0.0037363400742964556,-1.8575326378219387e-5,9.522633384422312e-9,0.0037368415776035976,-1.8720037863678725e-5,9.788290822532997e-9,0.0037373380712256233,-1.874245668787921e-5,9.825363797506921e-9,0.0037377771555825133,-1.8663787364666786e-5,9.673974471483982e-9,0.0037381282616453346,-1.852433494079792e-5,9.409797508911304e-9,0.0037383834002827367,-1.8369540890756483e-5,9.117901324121186e-9,0.003738552757404369,-1.824019873721411e-5,8.874473223547163e-9,0.003738658809558917,-1.8167100505264942e-5,8.736870253285727e-9,0.003738730844138739,-1.8168783218842287e-5,8.739462794445459e-9,0.0037388003329487827,-1.8251037280980622e-5,8.892751862877826e-9,0.00373889698628947,-1.8407514500518183e-5,9.18453775255549e-9,0.0037390453516148825,-1.8621272393550024e-5,9.582855243041857e-9,0.0037392620029640536,-1.886722395403692e-5,1.0040612490717398e-8,0.0037395535311001136,-1.9115464924135617e-5,1.0501851379362463e-8,0.0037399156645016815,-1.9335279841595094e-5,1.0909231443508442e-8,0.003740333727271666,-1.949936503986908e-5,1.1211879486748627e-8,0.0037407843754003085,-1.9587781487259298e-5,1.1372730485053469e-8,0.00374123843967038,-1.9591286559904284e-5,1.1374739407503882e-8,0.003741664694071747,-1.951376722599113e-5,1.1225445494692067e-8,0.003742034426709988,-1.9373566096839915e-5,1.0959456056172562e-8,0.0037423268826330203,-1.9203348136011737e-5,1.0638143074060602e-8,0.0037425355319994974,-1.9047512251718933e-5,1.0344682395521544e-8,0.003742674153842459,-1.8955552707843683e-5,1.0171510875620036e-8,0.003742780075672932,-1.897020365172007e-5,1.0198117014107015e-8,0.003742910352084255,-1.91115247419747e-5,1.0461391980825988e-8,0.003743127236642866,-1.936274082819314e-5,1.0929372494595087e-8,0.0037434748877366456,-1.966787992300605e-5,1.1497025901544866e-8,0.0037439582292228346,-1.994830716850865e-5,1.2017239417133448e-8,0.0037445380916303205,-2.0132874757777342e-5,1.235715857869903e-8,0.003745147304945264,-2.018475709919423e-5,1.24483095139559e-8,0.003745717536123864,-2.0110039024257403e-5,1.2302602979977455e-8,0.0037462009957385913,-1.994718213155144e-5,1.1992528512288664e-8,0.003746578533952196,-1.9748112336383324e-5,1.1615631205305184e-8,0.0037468562058775336,-1.9561943110626034e-5,1.1263957057301948e-8,0.0037470568320752493,-1.942580720910747e-5,1.1006894832462288e-8,0.003747211591296955,-1.936188801722068e-5,1.0885690830408487e-8,0.0037473537091404366,-1.937798694893093e-5,1.0914592901045096e-8,0.00374751426169476,-1.9469411529319156e-5,1.1084443738119213e-8,0.003747719306811906,-1.9621107982094123e-5,1.1366715498674678e-8,0.003747987653823677,-1.98098865025236e-5,1.171772196127629e-8,0.0037483289877986337,-2.00069900657524e-5,1.2083476553019989e-8,0.0037487424409848157,-2.018133651430223e-5,1.2405790481457967e-8,0.003749216049729212,-2.0303576953806943e-5,1.262985740223278e-8,0.0037497276616432853,-2.0350656359240593e-5,1.2712744009555985e-8,0.0037502476097356495,-2.0310161881186038e-5,1.263147987969798e-8,0.0037507430698388022,-2.01836052339569e-5,1.238917732256602e-8,0.003751183640813286,-1.9987806416820744e-5,1.201762072309364e-8,0.003751547358372743,-1.975377558398845e-5,1.1575159589463945e-8,0.0037518262278624856,-1.9522888966651756e-5,1.1139487350292194e-8,0.003752030366449994,-1.9340357022812065e-5,1.0795307888503861e-8,0.003752189575101569,-1.9246075080711368e-5,1.0617115929008991e-8,0.00375235065514588,-1.926362082860626e-5,1.0648597353873207e-8,0.00375256874733072,-1.9389760757096198e-5,1.0883103913087454e-8,0.0037528923589819,-1.95889336244771e-5,1.1253515334163685e-8,0.003753345377221318,-1.9798233653190108e-5,1.1641722277737352e-8,0.003753914085684261,-1.9945444226348306e-5,1.1912441558529761e-8,0.0037545482183929373,-1.997468342657704e-5,1.1961217063101045e-8,0.003755178268860511,-1.9866841003214947e-5,1.1752664664935419e-8,0.003755740498054235,-1.9643572837075e-5,1.132790926630942e-8,0.003756196287862252,-1.9354386897528227e-5,1.078027677361611e-8,0.0037565380292510645,-1.9056473937833167e-5,1.02173374524946e-8,0.003756783287516352,-1.879808625982981e-5,9.729641408606765e-9,0.003756964059188642,-1.8610299848009276e-5,9.375278483928095e-9,0.0037571168822495586,-1.850601029274588e-5,9.178087064121487e-9,0.0037572761536310796,-1.8482743679660896e-5,9.133032553034088e-9,0.003757470458105261,-1.8526444575679007e-5,9.213386299761704e-9,0.003757720726876309,-1.8614862202039136e-5,9.377117285257808e-9,0.0037580391353763576,-1.8720347719301517e-5,9.572164083264661e-9,0.0037584281701537876,-1.88124868526117e-5,9.741392613497707e-9,0.003758879845331222,-1.886115999095588e-5,9.828343171502811e-9,0.003759375547369298,-1.884045521805883e-5,9.784556157303305e-9,0.0037598873171901443,-1.8733336140393533e-5,9.578297218737537e-9,0.0037603812993048536,-1.8536245409891986e-5,9.20316322759362e-9,0.003760823522734917,-1.826223272290799e-5,8.683933253519903e-9,0.0037611872682305502,-1.794102306496649e-5,8.07668074991078e-9,0.003761460322951104,-1.761495849043393e-5,7.461118830695648e-9,0.003761649939215854,-1.7330967802997768e-5,6.925453527388214e-9,0.003761783669047966,-1.7130080930370736e-5,6.546618226195867e-9,0.0037619052215471355,-1.7036850169632218e-5,6.370380696093653e-9,0.0037620655927134623,-1.7051287457088965e-5,6.396265383341771e-9,0.0037623107889809214,-1.7145824206739997e-5,6.571987750426438e-9,0.0037626686506996173,-1.7269316797664524e-5,6.8011328521040325e-9,0.0037631385620556235,-1.7358826009662052e-5,6.965369983083214e-9,0.003763688525936491,-1.735727517214488e-5,6.957620478797519e-9,0.0037642627046168722,-1.7231514285195872e-5,6.7159383377332736e-9,0.003764798192409383,-1.6983144070799588e-5,6.243784790204022e-9,0.003765244475384821,-1.6646684177942917e-5,5.606514320308481e-9,0.003765577041731878,-1.6276113749033035e-5,4.905976489211403e-9,0.0037658001496303955,-1.5926872483978327e-5,4.246574565661419e-9,0.003765940043113608,-1.5641428521669665e-5,3.7080826046676444e-9,0.0037660339883212393,-1.5442580188857785e-5,3.3330932819261697e-9,0.0037661202972565054,-1.533378212849883e-5,3.1277370664346276e-9,0.0037662317987403426,-1.530331931720143e-5,3.0696368494463564e-9,0.00376639269783391,-1.5329353706236113e-5,3.117459743615627e-9,0.0037666175999535394,-1.5384239766858776e-5,3.2190461479142756e-9,0.003766911424015544,-1.5437798596845338e-5,3.3175546155956647e-9,0.0037672694199051165,-1.5460010735471215e-5,3.3565118674225895e-9,0.003767677144880793,-1.5423844881946676e-5,3.285127707090549e-9,0.0037681108405431198,-1.5308808573030386e-5,3.0649759961602738e-9,0.00376853909328297,-1.5105335091860154e-5,2.678249819012819e-9,0.0037689267978603287,-1.4819271966290807e-5,2.1362017496681052e-9,0.0037692419464796334,-1.4474679157593949e-5,1.4843891964449467e-9,0.003769464408607395,-1.4112525842013234e-5,8.001758661740843e-10,0.0037695940570376656,-1.3783562552421724e-5,1.7924187200268179e-10,0.003769654513644912,-1.3535943066435279e-5,-2.877953882684514e-10,0.003769689655352273,-1.3401132828683478e-5,-5.419454827697908e-10,0.0037697528877103145,-1.3383352936094304e-5,-5.756719343471206e-10,0.0037698924838657317,-1.3456848768446041e-5,-4.379133873754168e-10,0.0037701379529232566,-1.3572133855236433e-5,-2.2219011005250034e-10,0.0037704917152187136,-1.36690613658659e-5,-4.190341608565942e-11,0.003770928286669406,-1.3692704936665648e-5,-4.184426881656405e-13,0.003771400984222682,-1.360764722503169e-5,-1.6419689144365008e-10,0.0037718542846100875,-1.3406801484918508e-5,-5.462400593197952e-10,0.0037722383742051645,-1.3112239502991186e-5,-1.1045888736203505e-9,0.0037725215280944423,-1.2767820548965187e-5,-1.756277314541145e-9,0.003772696517123917,-1.2426225277517897e-5,-2.4018373226817705e-9,0.003772779492258509,-1.2135018031827889e-5,-2.9516198186066968e-9,0.0037728027992608884,-1.1926333275018554e-5,-3.345233937647147e-9,0.003772805248437262,-1.1812618336310583e-5,-3.559509949169215e-9,0.0037728234022769208,-1.1787985186950563e-5,-3.605855082757096e-9,0.003772885871274732,-1.1832888997680663e-5,-3.5213519611769673e-9,0.0037730107830056705,-1.1919671821302818e-5,-3.3582733409701644e-9,0.0037732054834411486,-1.201738319949041e-5,-3.1750111515168823e-9,0.0037734672788120238,-1.2095393134790393e-5,-3.029308059715573e-9,0.0037737843623683997,-1.2126141515841897e-5,-2.9731078275435696e-9,0.0037741366633792803,-1.2087713479066177e-5,-3.0477005332985616e-9,0.0037744969434948855,-1.1966854684521575e-5,-3.2780044851181107e-9,0.0037748329505799573,-1.1762652811277419e-5,-3.665584516120736e-9,0.0037751117090649177,-1.1490296257088035e-5,-4.1815534879312055e-9,0.003775306671071242,-1.1183066734645489e-5,-4.762857357367671e-9,0.0037754069823609203,-1.0889694911885241e-5,-5.3173572358538974e-9,0.0037754256798606545,-1.0664706834353456e-5,-5.742147928915882e-9,0.003775401726689244,-1.0552455653838138e-5,-5.953742048116789e-9,0.003775391866454253,-1.0570337492320954e-5,-5.9196954740658214E-09,0.0037754533346908404,-1.069965404964022e-5,-5.6757115830877735e-9,0.0037756245234761812,-1.0889973474384802e-5,-5.3172574611983255e-9,0.0037759125769722722,-1.1075505491388981e-5,-4.9685789284492975e-9,0.0037762927653174714,-1.119569145297422e-5,-4.743856103245313e-9,0.0037767180710236953,-1.1211551456236634e-5,-4.716422581730153e-9,0.0037771336262513635,-1.1113289439129748e-5,-4.904484620551893e-9,0.0037774906920141566,-1.0919093669290008e-5,-5.273435637376515e-9,0.0037777568305629415,-1.0667562119560446e-5,-5.750186818487831e-9,0.0037779208867569462,-1.0406866195721732e-5,-6.243650787702565e-9,0.003777992767016646,-1.018352746019933e-5,-6.665958168127169e-9,0.0037779989182269913,-1.0033140590648544e-5,-6.949989656900959e-9,0.0037779751011073896,-9.97469904417571e-6,-7.060078675057539e-9,0.0037779584786724603,-1.0009194292538516e-5,-6.994608417451776e-9,0.0037779809048557934,-1.0121958368840203e-5,-6.781516708789922e-9,0.0037780645720082466,-1.0287344353781977e-5,-6.469394097223917e-9,0.003778220234630747,-1.047413085648688e-5,-6.1172540917545026e-9,0.003778447456985994,-1.0650388607779883e-5,-5.785368244403539e-9,0.003778735979536752,-1.078723859059365e-5,-5.528224279977244e-9,0.0037790674522738318,-1.086163687447547e-5,-5.3893085312301e-9,0.0037794172242492487,-1.0858682366088469e-5,-5.396741791551607e-9,0.003779756331525049,-1.0773944571270184e-5,-5.55883105247937e-9,0.0037800542820276006,-1.0616049404699768e-5,-5.859127603922072e-9,0.0037802835715694304,-1.0409041615552987e-5,-6.251958361016585e-9,0.0037804265587483227,-1.019284428731572e-5,-6.661632999833887e-9,0.0037804839392265306,-1.0019107510829138e-5,-6.990419724209726e-9,0.003780481632655872,-9.940027335123063e-6,-7.139785874260027e-9,0.003780470551458204,-9.990760852975178e-6,-7.043636122099973e-9,0.0037805145003715693,-1.0171924492472818e-5,-6.701260118724001e-9,0.0037806679024364473,-1.0443026877787217e-5,-6.189548974586507e-9,0.003780953749669685,-1.0734040814978671e-5,-5.640990002948598e-9,0.003781354446672115,-1.0970848138577473e-5,-5.195569712053512e-9,0.0037818202123343133,-1.1100878236964057e-5,-4.952398320323635e-9,0.0037822885451625726,-1.1106690075405191e-5,-4.9441331682067115e-9,0.0037827037918562686,-1.1004732221553931e-5,-5.139393429677356e-9,0.003783029580921028,-1.083450210581651e-5,-5.463297256101165e-9,0.0037832528926456414,-1.0645014240624529e-5,-5.8230619263333884E-09,0.003783382008619057,-1.0483107839539345e-5,-6.130107278142606e-9,0.0037834411521074293,-1.0385293670330903e-5,-6.315462602182711e-9,0.003783463866855065,-1.0373167422302901e-5,-6.338434431871988e-9,0.003783486346677699,-1.0451924135314523e-5,-6.1894075059543604e-9,0.0037835415059761126,-1.0611498941792025e-5,-5.887657773983901e-9,0.0037836543994592214,-1.0829747870240204e-5,-5.475280541301254e-9,0.0037838393893894684,-1.1076912436351042e-5,-5.00868499477498e-9,0.0037840991940355684,-1.1320547095963303e-5,-4.549244861849569e-9,0.0037844256115939245,-1.1530111692398709e-5,-4.154636535393267e-9,0.003784801380528869,-1.168067724546158e-5,-3.871892905681978e-9,0.0037852026131201958,-1.1755664641185652e-5,-3.732277813199833e-9,0.0037856015155439153,-1.1748839795853997e-5,-3.747515652641209e-9,0.003785969367532291,-1.166580442859177e-5,-3.906921033511718e-9,0.00378628001510182,-1.1525110745466617e-5,-4.175235589964458e-9,0.003786514449205436,-1.1358637205725354e-5,-4.491921267897067e-9,0.0037866667919770496,-1.1209875032777431e-5,-4.774493370527981e-9,0.0037867507548969247,-1.1128029735137191e-5,-4.929817589830909e-9,0.0037868036489551913,-1.1156279232741838e-5,-4.8764159931144795e-9,0.0037868831215570773,-1.1315159538627571e-5,-4.575860551166065e-9,0.0037870524179700496,-1.1587432273622035e-5,-4.061235434398263e-9,0.0037873563096598654,-1.1915434657407038e-5,-3.441960618087722e-9,0.0037877994416602927,-1.2218268853877623e-5,-2.871179678081107e-9,0.00378834159065941,-1.2422814649923206e-5,-2.4871089224278254e-9,0.0037889140278449785,-1.249102829822317e-5,-2.361451809750297e-9,0.0037894464319104034,-1.2428832387716597e-5,-2.4826372919214795e-9,0.003789888854569995,-1.2276000741283246e-5,-2.775033513542293e-9,0.003790220598166225,-1.2087372015433666e-5,-3.13458685349092e-9,0.003790447689810322,-1.1915907774812648e-5,-3.4609407828149515e-9,0.0037905948035725874,-1.1802236082212254e-5,-3.6772233896817644e-9,0.003790696401172688,-1.1770385986698964e-5,-3.73808626895047e-9,0.003790789335206898,-1.1827575732369238e-5,-3.6300747743801807e-9,0.003790907337032187,-1.1966138926110403e-5,-3.3679632150517645e-9,0.0037910770946163676,-1.2166553303929558e-5,-2.9889909055131355e-9,0.0037913156361942314,-1.2401135693384962e-5,-2.545809144827838e-9,0.0037916289168516333,-1.263815898674036e-5,-2.0986190900712304e-9,0.0037920116463947694,-1.2846175399722612e-5,-1.7069510131467538e-9,0.0037924484233062025,-1.299819527970367e-5,-1.4217770124520617e-9,0.0037929160329965078,-1.3075228465631499e-5,-1.2788768709480869e-9,0.0037933865555892653,-1.3068858631174979e-5,-1.294030013439374e-9,0.0037938309814365434,-1.2982776331081918e-5,-1.4601266957738199e-9,0.0037942231481280977,-1.283322743822306e-5,-1.7462770627408988e-9,0.003794543866539171,-1.2648304256008901e-5,-2.0991058430070644e-9,0.003794785242433129,-1.2465858940810928e-5,-2.4467144889246194e-9,0.0037949550625008244,-1.232927438422763e-5,-2.7067816859225326e-9,0.003795080187817642,-1.2279927284374798e-5,-2.8009626097236014e-9,0.0037952065161867134,-1.2345871523227187e-5,-2.6763892980301933e-9,0.0037953921373555235,-1.2528542983790664e-5,-2.3307936469979733e-9,0.0037956913857025054,-1.2793157015980988e-5,-1.8305356927816436e-9,0.003796132776286854,-1.3071563213552118e-5,-1.3050406169510527e-9,0.0037967017325761278,-1.328280143626571e-5,-9.077926254452141e-10,0.0037973411548898497,-1.3364516232244082e-5,-7.568234874396928e-10,0.0037979727650269374,-1.3297561018064426e-5,-8.881042448926196e-10,0.003798527090663047,-1.3109356495992466e-5,-1.2492122368724608e-9,0.003798964917021712,-1.28570520619648e-5,-1.7313517826797332e-9,0.0037992820034057637,-1.2603783737617608e-5,-2.2145093402545987e-9,0.003799500926082306,-1.240063635168012e-5,-2.6017407417391375e-9,0.0037996585584883936,-1.2278587025970907e-5,-2.8344302677579545e-9,0.0037997952173949366,-1.2248205620853774e-5,-2.892780987975255e-9,0.0037999474748775944,-1.2303191954665917e-5,-2.789037696090718e-9,0.003800144171209063,-1.2424890429828608e-5,-2.5588855394347242e-9,0.0038004044225855666,-1.2586549203308632e-5,-2.2533402981175947e-9,0.003800736709459013,-1.2757180681021012e-5,-1.9313801867040904e-9,0.0038011386726849684,-1.2905234943333781e-5,-1.6529274004774604e-9,0.0038015976307220777,-1.300228941643676e-5,-1.4718298071475957e-9,0.0038020920655212837,-1.3026745702081325e-5,-1.4288825387251392e-9,0.0038025942999659027,-1.2967137471847075e-5,-1.5456250913598982e-9,0.0038030742779153713,-1.2824453504739554e-5,-1.8199956009474816e-9,0.0038035040835843223,-1.2613005619355985e-5,-2.224696148359336e-9,0.003803862725819495,-1.2359515273662385e-5,-2.7088896073266286e-9,0.0038041406058219682,-1.210021971862752e-5,-3.203654961905564e-9,0.003804343039903815,-1.187601536262798e-5,-3.6312222314006306e-9,0.0038044921992625045,-1.172572264151848e-5,-3.9178384073525195e-9,0.00380462650870891,-1.1677577510893996e-5,-4.010014190249887e-9,0.0038047960105914956,-1.1739750231113836e-5,-3.892553967922982e-9,0.0038050522524015824,-1.1892359741202971e-5,-3.603641811340095e-9,0.0038054328722651374,-1.2085474055587181e-5,-3.238495369877979e-9,0.003805944893983198,-1.224821847258572e-5,-2.931950879082715e-9,0.003806555314129275,-1.2310374852742212e-5,-2.8173999266934114e-9,0.003807197680863527,-1.2229146407934576e-5,-2.9759540232212596e-9,0.0038077950074467274,-1.2006673466743497e-5,-3.4031768325958983e-9,0.003808287639007238,-1.1687444632760447e-5,-4.014049779331443e-9,0.003808650970431554,-1.1338022030420527e-5,-4.681632012604156e-9,0.003808896131037573,-1.1022265614456972e-5,-5.284306129734353e-9,0.0038090582406506883,-1.0784417102233183e-5,-5.738002868905132e-9,0.0038091815513970188,-1.0643809594594406e-5,-6.006202185145872e-9,0.003809307974440942,-1.0597903969188504e-5,-6.094047127429888e-9,0.0038094707196667066,-1.062865600428072e-5,-6.036147477861492e-9,0.0038096919065528753,-1.070881560223071e-5,-5.8845641294033734e-9,0.003809982306819115,-1.0806887438420577e-5,-5.699365884995947e-9,0.003810341878982876,-1.0890883083801036e-5,-5.541482188826337e-9,0.003810760558410313,-1.0931470433055232e-5,-5.466698369518253e-9,0.003811219360612792,-1.0905036479831683e-5,-5.5198308461602985e-9,0.003811692191355198,-1.0796853778255012e-5,-5.728734249431048e-9,0.0038121488378866334,-1.0604042188757008e-5,-6.098714331775193e-9,0.0038125593293713445,-1.0337543772812268e-5,-6.608803289335694e-9,0.003812899313522184,-1.0022178567600895e-5,-7.211652084835195e-9,0.003813155569947561,-9.694053505107579e-6,-7.838435889364233e-9,0.003813330410478557,-9.395101236701062e-6,-8.409236512806301e-9,0.0038134436413059824,-9.165292526420089e-6,-8.847896464769259e-9,0.0038135310890633975,-9.033789295919845e-6,-9.098924795496566e-9,0.0038136392405932478,-9.010703935907942e-6,-9.143237881021444e-9,0.0038138161247166904,-9.081404582108e-6,-9.008993457535895e-9,0.003814099382214336,-9.205645720023213e-6,-8.773169562587337e-9,0.0038145038512597245,-9.323767143029389e-6,-8.549656250554983e-9,0.003815012795942145,-9.370894020933878e-6,-8.462137200027408e-9,0.0038155779477628124,-9.29673571143693E-06,-8.606350895718982e-9,0.0038161315938342274,-9.08397255339519e-6,-9.015063906599803e-9,0.0038166080185463146,-8.755923206484596e-6,-9.64348405426532e-9,0.003816965037754244,-8.368207760136484e-6,-1.0385219024877421e-8,0.003817195248806939,-7.988222530295059e-6,-1.1111520776134655e-8,0.0038173229340541176,-7.673167559394442e-6,-1.1713278449963451e-8,0.0038173910001939285,-7.456361956860252e-6,-1.212711923818663e-8,0.0038174460930694254,-7.344703089557365e-6,-1.234016488954878e-8,0.0038175278039535875,-7.323953104584782e-6,-1.2379836417372083e-8,0.00381766349450458,-7.3667834734719346E-06,-1.2298441630227018e-8,0.003817867345920316,-7.44006181186134e-6,-1.2159268639340678e-8,0.003818141527292887,-7.510114938000029e-6,-1.2026573341010378e-8,0.003818477933177015,-7.546220680736763e-6,-1.1958946292781465e-8,0.003818859819405176,-7.523169308927341e-6,-1.2004439996582582e-8,0.0038192634063506886,-7.4236603910782554e-6,-1.2196000644852678e-8,0.0038196599709800997,-7.2408663983656445e-6,-1.254657877456703e-8,0.003820019070571289,-6.980898470168708e-6,-1.3044426574530458e-8,0.0038203132898458427,-6.664287919255013e-6,-1.3650268900585339e-8,0.0038205242460868597,-6.325154432293589e-6,-1.4298887743684189e-8,0.0038206486164603457,-6.006817141678243e-6,-1.4907506500728048e-8,0.0038207020750147184,-5.75354803338733e-6,-1.5391558345619086e-8,0.0038207189146382747,-5.599839594091006e-6,-1.568521212544733e-8,0.0038207461938191602,-5.560151445206347e-6,-1.5760970711142652e-8,0.00382083315281559,-5.622636517693993e-6,-1.5641635859755003e-8,0.003821018492077559,-5.749455228146534e-6,-1.5399662200224305e-8,0.0038213190875863523,-5.884391306755396e-6,-1.5142562499287096e-8,0.0038217235693960125,-5.966361142703782e-6,-1.4987076158289204e-8,0.0038221931563597426,-5.9456270845393625e-6,-1.502819170366169e-8,0.0038226704818977797,-5.798272337779563e-6,-1.531149257821805e-8,0.0038230947974088572,-5.5340664292121286e-6,-1.581812655956149e-8,0.0038234191450172406,-5.194116998158923e-6,-1.6469310260958883e-8,0.003823623312951976,-4.838285790666961e-6,-1.7150435861376128e-8,0.0038237175482825378,-4.526986941152714e-6,-1.7745939341755873e-8,0.0038237362016777052,-4.3046651521168036e-6,-1.8170927741837015e-8,0.003823725137708133,-4.1908453164058315e-6,-1.8388262055022257e-8,0.003823728754133948,-4.180212251173304e-6,-1.8408322336149633e-8,0.0038237809830387044,-4.2490079943162265e-6,-1.8276693046141356e-8,0.0038239015028385787,-4.363551982793333e-6,-1.8057833412152605e-8,0.003824095946593768,-4.487740674388706e-6,-1.7820751134813358e-8,0.003824358126063857,-4.588281903972761e-6,-1.7629039709488436e-8,0.0038246727136478013,-4.637862217435199e-6,-1.753487003336477e-8,0.003825017627068585,-4.61711276381841e-6,-1.7575256806811815e-8,0.003825366118825118,-4.516259894351772e-6,-1.7768895996776932e-8,0.0038256891088083935,-4.336919177129825e-6,-1.8112701958105336e-8,0.0038259584950023394,-4.093846046758095e-6,-1.8578421203903003e-8,0.00382615197722384,-3.815735474025295e-6,-1.9111084395452904e-8,0.0038262592364493595,-3.543489200549398e-6,-1.963234108463913e-8,0.0038262880282502877,-3.3242349858685718e-6,-2.005195595532296e-8,0.0038262672917729517,-3.200584377536259e-6,-2.0288421016364784e-8,0.0038262439982333636,-3.197318624244381e-6,-2.029444817156697e-8,0.003826272400189211,-3.3105522427901474e-6,-2.0077656752741834e-8,0.0038263982363601133,-3.505059768382942e-6,-1.9705603558615896e-8,0.003826643866615569,-3.7224637285441357e-6,-1.929005491723827e-8,0.003827000550067141,-3.897808129259171e-6,-1.8955276671465806e-8,0.0038274307773840765,-3.9781801362031975e-6,-1.8802446818552187e-8,0.0038278791501668245,-3.936838386802747e-6,-1.8882656721060616e-8,0.003828287511464482,-3.7789936758587133e-6,-1.91858484343628e-8,0.003828609599833306,-3.538639788532877e-6,-1.9646859993872794e-8,0.0038288214789188135,-3.2682591437941436e-6,-2.01651251887211e-8,0.0038289254924217973,-3.0247269062595245e-6,-2.0631684713590868e-8,0.0038289472814131997,-2.855414110560565e-6,-2.0955834728401942e-8,0.0038289273259179074,-2.788188187669053e-6,-2.108429624581785e-8,0.0038289100096469695,-2.827593307999e-6,-2.100851341943847e-8,0.0038289336504991763,-2.957270847791984e-6,-2.0759969177050435e-8,0.0038290239989857604,-3.1466075062872564e-6,-2.0397397678011425e-8,0.0038291919363631554,-3.358735621529485e-6,-1.9991428033826533e-8,0.0038294345412146105,-3.5575484015966483e-6,-1.9611153660184545e-8,0.0038297379974115684,-3.7126062375014595e-6,-1.931477643950267e-8,0.0038300809546290265,-3.8019422327944494e-6,-1.9144289526878937e-8,0.003830437556664625,-3.813471476213471e-6,-1.9122815383613343e-8,0.0038307800423785735,-3.7458453013279217e-6,-1.925296167705247e-8,0.0038310813355700818,-3.6092600087004904e-6,-1.951522260747604e-8,0.003831318289772106,-3.4261620143933223e-6,-1.9866570427390518e-8,0.0038314761727888578,-3.2310651372663914e-6,-2.024078705408704e-8,0.003831554328173983,-3.067891478985199e-6,-2.0553606536838275e-8,0.00383157155253598,-2.9829338185445362e-6,-2.071629056719002e-8,0.0038315679388297268,-3.0127134004410304e-6,-2.0658964500687748e-8,0.0038315991481782685,-3.1692879484097765e-6,-2.0358751628086406e-8,0.0038317214021556132,-3.429727904878386e-6,-1.9859827008455862e-8,0.0038319713636641617,-3.7377031114383478e-6,-1.9270251199510938e-8,0.003832350581616624,-4.0199454376947184e-6,-1.8730381252591345e-8,0.003832823444733821,-4.211063811726861e-6,-1.8365375552540856e-8,0.0038333298168283644,-4.2746105018214276e-6,-1.82449115700899e-8,0.0038338051698647065,-4.211439514210527e-6,-1.8367216874901712e-8,0.003834198761806769,-4.0546278942909735e-6,-1.8668806860764246e-8,0.003834484151940069,-3.856273197654131e-6,-1.9049773936193798e-8,0.0038346613147808603,-3.6724518049993973e-6,-1.940260611015573e-8,0.0038347524550533677,-3.550605899014387e-6,-1.9636361789940677e-8,0.0038347942577808274,-3.52127028068912e-6,-1.969253972068335e-8,0.0038348288874075678,-3.5944825007219915e-6,-1.9551978029488838e-8,0.0038348954913967792,-3.7604912766397788e-6,-1.9233502467926943e-8,0.0038350235792819626,-3.9939514459539405e-6,-1.8785861778853742e-8,0.0038352291926199416,-4.260277158951203e-6,-1.8275496622939114e-8,0.003835514073341714,-4.522523088560736e-6,-1.7773291753942183e-8,0.0038358673369616493,-4.7473979554075516E-06,-1.7343025332758908e-8,0.0038362687210526454,-4.9095732722181525e-6,-1.7033139263666595e-8,0.00383669236799276,-4.99408908331157e-6,-1.6872194841765404e-8,0.003837110381916312,-4.997253315309627e-6,-1.6867206012024054e-8,0.0038374959397268127,-4.926686817006647e-6,-1.7003556999435392e-8,0.003837826168240292,-4.800973729438346e-6,-1.724561889505605e-8,0.0038380852198412027,-4.64897087800454e-6,-1.7538006826362915e-8,0.0038382680055769084,-4.508244405378731e-6,-1.780856000998818e-8,0.0038383845372422826,-4.4213473667315845e-6,-1.7975542156029803e-8,0.0038384635487548452,-4.428331072852901e-6,-1.7962111992879813e-8,0.003838552412999034,-4.554891468079644e-6,-1.7719129920892407e-8,0.003838709449637709,-4.79857611780019e-6,-1.7251579776228027e-8,0.003838986727658379,-5.120008018211622e-6,-1.6635275122453434e-8,0.0038394080255532118,-5.448208410521412e-6,-1.6006525398447498e-8,0.0038399539523913803,-5.703228860578149e-6,-1.5518689679738132e-8,0.003840565607656355,-5.826728491288216e-6,-1.5283563189269852e-8,0.0038411666084649057,-5.803303992373885e-6,-1.5330502316579828e-8,0.003841690669226006,-5.6615015185918996e-6,-1.5604511736937722e-8,0.0038421002535852433,-5.457713918832178e-6,-1.5997183329700725e-8,0.0038423907809453407,-5.254822630049416e-6,-1.6387728287251544e-8,0.003842584084612968,-5.1054363205735894e-6,-1.6675159725889587e-8,0.0038427176193724898,-5.043044755021766e-6,-1.6795248365588627e-8,0.003842834018332966,-5.07989312250766e-6,-1.6724578044920652e-8,0.003842972942410085,-5.209054269116863e-6,-1.6476567824802356e-8,0.0038431654789848045,-5.4086399567047076e-6,-1.60933997922233e-8,0.00384343077449617,-5.647036470412883e-6,-1.563595510392797e-8,0.00384377466746861,-5.888566057774086e-6,-1.5172890552403953e-8,0.003844190175581018,-6.098988812967744e-6,-1.477000694122479e-8,0.0038446595948861905,-6.250255466342545e-6,-1.4481091439427506e-8,0.003845157818995818,-6.324023724179862e-6,-1.4341201409106802e-8,0.0038456562996112983,-6.313615647304992e-6,-1.4362989566193652e-8,0.003846127011783707,-6.224437602563978e-6,-1.4535971378501742e-8,0.003846546039512686,-6.073206328661482e-6,-1.4828020425045514e-8,0.0038468967151338742,-5.886318244836747e-6,-1.518844046641186e-8,0.0038471724104394123,-5.6974965543184785e-6,-1.5552409101517088e-8,0.0038473791476006172,-5.544524492413738e-6,-1.5847232591313744e-8,0.0038475379016441485,-5.464345014145458e-6,-1.6001824499551356e-8,0.0038476855030219305,-5.485613097100651e-6,-1.596112434254084e-8,0.003847871879727775,-5.6186931393504005e-6,-1.5705383768277254e-8,0.0038481508803807564,-5.845389848453475e-6,-1.526986177286528e-8,0.003848563503714657,-6.114171536753636e-6,-1.4753886498476955e-8,0.0038491178160156275,-6.348715588209728e-6,-1.4304328128888127e-8,0.0038497770085141143,-6.472740813382431e-6,-1.4067840281603289e-8,0.0038504673064347367,-6.441502007513236e-6,-1.4130328256331074e-8,0.0038511053849232322,-6.261082594443713e-6,-1.4479857491646347e-8,0.003851629844832358,-5.983091492067725e-6,-1.5016874116127136e-8,0.003852018859395578,-5.680152288202065e-6,-1.5601434430578248e-8,0.0038522882875718684,-5.418923444947771e-6,-1.6105201466218447e-8,0.0038524776393092323,-5.243503092060938e-6,-1.644339124890214e-8,0.0038526343526436983,-5.171293042120779e-6,-1.658266798991624e-8,0.0038528022610099396,-5.196803821713961e-6,-1.6533754071038998e-8,0.003853015203081441,-5.2983925912731155e-6,-1.6338444310091512e-8,0.003853294442269686,-5.444945618229092e-6,-1.6056762373860484e-8,0.0038536482567425854,-5.601504835855946e-6,-1.5756133822008962e-8,0.0038540726814287585,-5.7339517789242305e-6,-1.550233250246981e-8,0.0038545530770026947,-5.813032433141409e-6,-1.535167747524828e-8,0.003855066511348219,-5.817774971569551e-6,-1.5344433001374196e-8,0.0038555849763886965,-5.738119863076067e-6,-1.5499788248752717e-8,0.0038560793166990247,-5.576384824864866e-6,-1.5813120373490353e-8,0.0038565234608473496,-5.347216994734051e-6,-1.6256150387493468e-8,0.0038568984147355433,-5.075979025649893e-6,-1.678004601450871e-8,0.00385719557764678,-4.795731754718215e-6,-1.7321162029551486e-8,0.0038574190570229696,-4.543041028615571e-6,-1.780903983008837e-8,0.003857586762326891,-4.352859428110214e-6,-1.817625138390654e-8,0.003857730049101876,-4.252572787910336e-6,-1.8369938134093778e-8,0.0038578912513364937,-4.255213948707043e-6,-1.8364992404288677e-8,0.003858117874957074,-4.3525404651654585e-6,-1.8177456727680517e-8,0.003858452354547486,-4.510210597999658e-6,-1.7873784612501723e-8,0.003858917791777117,-4.669051428707108e-6,-1.756829129472984e-8,0.003859503672194377,-4.756979406824098e-6,-1.7400082133742694e-8,0.003860160107605068,-4.712384004790362e-6,-1.7487936966225806e-8,0.0038608091664962376,-4.510570068775836e-6,-1.7879323414882926e-8,0.003861372398538454,-4.177424357879907e-6,-1.8524047943606895e-8,0.003861800506333025,-3.7795425476321384e-6,-1.9293349565570984e-8,0.0038620880164654562,-3.396288792625095e-6,-2.0033913711143205e-8,0.003862267166860147,-3.0911799396654256e-6,-2.062317555474824e-8,0.0038623893494130436,-2.8966628210158406e-6,-2.099867596807234e-8,0.003862506563495998,-2.8140990119499413e-6,-2.115798768293966e-8,0.0038626598321244918,-2.822389550608056e-6,-2.114198102596278e-8,0.003862874873005275,-2.8882527356427605e-6,-2.1014973901108832e-8,0.003863162336153394,-2.9744902195046028e-6,-2.0848814677809523e-8,0.0038635199304515298,-3.045533830271848e-6,-2.0712205478631623e-8,0.0038639348992436243,-3.0710234770790767e-6,-2.066378398501029e-8,0.0038643864355204357,-3.028367117469868e-6,-2.0747147455070232e-8,0.00386484822728367,-2.904831494192115e-6,-2.0986801911394604e-8,0.0038652914752601592,-2.699236644680084e-6,-2.1384920240420773e-8,0.003865688624510196,-2.4228755743300013e-6,-2.191962018272638e-8,0.00386601767419727,-2.0990064949875313e-6,-2.2545976090700474e-8,0.003866266452299767,-1.760409030734062e-6,-2.3200715561079226e-8,0.0038664359843247702,-1.4449098341719433e-6,-2.3810796904036255e-8,0.0038665420780329414,-1.1892409375748905e-6,-2.4305217895457498e-8,0.003866614450261009,-1.0220808697119544e-6,-2.4628464023641513e-8,0.0038666931331427633,-9.574329517630934e-7,-2.4753373068809092e-8,0.00386682224894407,-9.894664267422647e-7,-2.469119648990868e-8,0.0038670414158975728,-1.0900193002419434e-6,-2.449647640784153e-8,0.0038673755149895308,-1.2103925169421118e-6,-2.4263553007702945e-8,0.0038678247276590877,-1.2892296045959293e-6,-2.4111252377403624e-8,0.003868358444959499,-1.267252656795297e-6,-2.4154311249935473e-8,0.0038689178723244452,-1.106609395965305e-6,-2.446591385034712e-8,0.0038694306364283385,-8.077989637281885e-7,-2.504494355576824e-8,0.0038698345342124824,-4.141703486132289e-7,-2.5807311711834674e-8,0.003870099809101716,1.7314109784301966e-9,-2.661245619101961e-8,0.0038702378083155316,3.6458720020279093e-7,-2.7314567339474627e-8,0.0038702920854368386,6.214663267685033e-7,-2.7811317375819918e-8,0.0038703190910244194,7.53858335647063e-7,-2.8067074676155508e-8,0.00387036974897286,7.748010931081934e-7,-2.8107228302703305e-8,0.0038704788581488724,7.175311052953002e-7,-2.7996153658333026e-8,0.0038706626331334653,6.232083040671878e-7,-2.781347285744613e-8,0.0038709211656908133,5.318687125353667e-7,-2.7636609917695287e-8,0.003871242513436442,4.772284502188831e-7,-2.753078648423058e-8,0.003871606525933271,4.841804967947889e-7,-2.754418615260003e-8,0.0038719879135084533,5.675785755217659e-7,-2.7705577960566147e-8,0.003872358880346966,7.314004543716178e-7,-2.8022675148351287e-8,0.0038726919022138077,9.680249185641712e-7,-2.8480732932027746e-8,0.003872963138652044,1.2579586782204766e-6,-2.9042030043767234e-8,0.00387315657601737,1.5708285211382788e-6,-2.9647789466682646e-8,0.0038732683373289547,1.86855923238929e-6,-3.0224309921934445e-8,0.0038733099271485473,2.1112153111972303e-6,-3.069424612561177e-8,0.003873308852725411,2.2650543922665764e-6,-3.0992188082449424e-8,0.0038733053736022243,2.3111642765606837e-6,-3.108140596859698e-8,0.003873345192169577,2.2521788410355123e-6,-3.0966904370240415e-8,0.0038734693367986866,2.1146262125177263e-6,-3.0700024716839653e-8,0.003873703593536369,1.9454980220390796e-6,-3.037183659191588e-8,0.0038740502205765353,1.8030645268901052e-6,-3.009534652539585e-8,0.003874484463380578,1.7433559304306285e-6,-2.997927136727451e-8,0.003874957745425761,1.805067475563303e-6,-3.009872427079351e-8,0.0038754081819814224,1.9969121911983876e-6,-3.0470633717663e-8,0.0038757768904046563,2.2921729176794824e-6,-3.104314330933098e-8,0.0038760255596562514,2.6342273406501153e-6,-3.1706344087442033e-8,0.003876148467003275,2.953007064522305e-6,-3.232426651598912e-8,0.003876173208269964,3.1867247516892045e-6,-3.2777089184574225e-8,0.0038761496228379723,3.299682974732298e-6,-3.2995681880150156e-8,0.0038761325461103228,3.2890272755367357e-6,-3.297463097922817e-8,0.003876166403606068,3.179714693762658e-6,-3.276239593634084e-8,0.003876276896591104,3.0126859225590633e-6,-3.243833774524097e-8,0.0038764701624275557,2.8325579269208208e-6,-3.208888404389721e-8,0.0038767365992111737,2.6787515873070964e-6,-3.1790385133102694e-8,0.003877056148306675,2.580816495240054e-6,-3.160009687833867e-8,0.003877403029010765,2.556826343211539e-6,-3.1553084495681475e-8,0.0038777493008821016,2.613289973686861e-6,-3.166203618942354e-8,0.0038780675614554605,2.745446505360736e-6,-3.191780672517262e-8,0.003878333476381656,2.937524412643369e-6,-3.2289889347489e-8,0.0038785287779384415,3.1632353044676755e-6,-3.2727348319001116e-8,0.0038786449743421613,3.38733667833281e-6,-3.3161835770498974e-8,0.0038786873128192818,3.569409484611795e-6,-3.351491898098499e-8,0.003878677591593657,3.6707118908738144e-6,-3.371139093728882e-8,0.003878653651155005,3.663736005572876e-6,-3.369782934114989e-8,0.003878663611183559,3.5420997935283253e-6,-3.346179770353897e-8,0.003878754731082063,3.3267106762652564e-6,-3.304380167421774e-8,0.003878959662882301,3.0642480397399228e-6,-3.2534349810315585e-8,0.0038792851193151815,2.8166766000497898e-6,-3.2053637071171815e-8,0.003879707781335941,2.644580007151263e-6,-3.171924924585675e-8,0.003880179414535661,2.590044261113597e-6,-3.161296170025512e-8,0.003880639462395093,2.664856929841553e-6,-3.175779169109812e-8,0.003881030963909623,2.847441295081661e-6,-3.211196330829822e-8,0.003881315132026455,3.088989773401876e-6,-3.258074793403881e-8,0.003881480673019954,3.3267950065992406e-6,-3.304234350010906e-8,0.0038815453906210946,3.500934082932849e-6,-3.33803219040278e-8,0.0038815497710628015,3.5694288741531944e-6,-3.3513127109619604e-8,0.003881544796778198,3.5173837589184617e-6,-3.341184114435914e-8,0.003881578212321525,3.3577257039687044e-6,-3.310159999772678e-8,0.0038816837406748395,3.1243817248589497e-6,-3.264830861127478e-8,0.0038818760151617553,2.8614164265762064e-6,-3.213752525507882e-8,0.0038821512694009203,2.612341272483004e-6,-3.165370238768937e-8,0.0038824917692874394,2.4124461107722537e-6,-3.1265314802538124e-8,0.003882871480346175,2.2849072067360234e-6,-3.1017329356398934e-8,0.0038832611824149987,2.2398928027330586e-6,-3.0929494207351274e-8,0.0038836323245214632,2.275318774487282e-6,-3.099781618751069e-8,0.0038839597921307414,2.378108423025778e-6,-3.119699030134757e-8,0.0038842242152507703,2.5254286212354412e-6,-3.148275781095068e-8,0.0038844144663355965,2.686059250390416e-6,-3.179451894543604e-8,0.0038845306688387576,2.822639547206788e-6,-3.2059675183163195e-8,0.003884587357003466,2.8959475224504465e-6,-3.220196455639171e-8,0.0038846153737523,2.8722310269464106e-6,-3.21557550736718e-8,0.003884660056959134,2.7333387608771316e-6,-3.18857668919105e-8,0.0038847732762158013,2.4869046599035173e-6,-3.1406851357082614e-8,0.0038849991252745794,2.1712642698410145e-6,-3.0793495921892944e-8,0.0038853574442500984,1.8496451423368823e-6,-3.016850650976043e-8,0.0038858330515733975,1.5925789224385644e-6,-2.9668865383990577e-8,0.003886377556622482,1.4547566015723252e-6,-2.940082528056271e-8,0.0038869241473787107,1.4569552475180457e-6,-2.9404819127186324e-8,0.0038874085176017156,1.5809669809562609e-6,-2.9645564220367717e-8,0.003887786800305342,1.7780034980890623e-6,-3.002832302171855e-8,0.0038880447159318995,1.9850173646662214e-6,-3.0430573951043864e-8,0.0038881971924163384,2.1420596256770285e-6,-3.073574438290413e-8,0.003888280961175994,2.205781072292864e-6,-3.085948449380518e-8,0.0038883435694981065,2.1568374784550173e-6,-3.076410840731744e-8,0.0038884319296096136,2.0009593416802778e-6,-3.0460718017368735e-8,0.00388858281744708,1.7646673454508626e-6,-3.000089846925649e-8,0.003888816937092785,1.487387634284406e-6,-2.9461380448588014e-8,0.003889137213009564,1.2122368285186793e-6,-2.8926083312790018e-8,0.0038895308769200843,9.77741933194379e-7,-2.8469964105098837e-8,0.0038899740437511265,8.120453633245923e-7,-2.81477220260484e-8,0.003890437171818333,7.300902557734322e-7,-2.7988343358411724e-8,0.0038908900772970704,7.333723847624609e-7,-2.7994672649499975e-8,0.0038913058202770783,8.11313345377628e-7,-2.8146131740211625e-8,0.003891663485624368,9.432958331578632e-7,-2.8402680159512044e-8,0.0038919502946732623,1.1008399990349611e-6,-2.8708996787877187e-8,0.0038921635340459903,1.2499486900889057e-6,-2.8998973546822423e-8,0.0038923125934744473,1.3541502616078596e-6,-2.9201603267134142e-8,0.0038924208408559866,1.379197734291158e-6,-2.9250157793629576e-8,0.0038925260361622285,1.3003034856014153e-6,-2.909634192665132e-8,0.0038926769630940033,1.1115916402400212e-6,-2.8728743103664676e-8,0.0038929238963934186,8.34996763450161e-7,-2.819013439953649e-8,0.003893302729372596,5.229491681716229e-7,-2.7582633768285374e-8,0.0038938176635446077,2.486270920040773e-7,-2.704868519022275e-8,0.0038944323474479204,8.290889866841129e-8,-2.6726217478885122e-8,0.0038950779585628413,6.71542862886964e-8,-2.6695708784190685e-8,0.0038956768103849595,1.9679611586948285e-7,-2.694825472718397e-8,0.003896169311776245,4.2495370109331924e-7,-2.73925766726845e-8,0.003896530677936019,6.822594553111313e-7,-2.7893606935094835e-8,0.0038967721729981984,9.007324311420936e-7,-2.8318972956552194e-8,0.003896930972109137,1.0312737312306008e-6,-2.8573056292209646e-8,0.0038970560356940956,1.0512333616440805e-6,-2.8611714898809007e-8,0.0038971954492596143,9.637576168076825e-7,-2.84410251401411e-8,0.0038973875128366286,7.922909732076531e-7,-2.8106623400673385e-8,0.003897655773663217,5.73039745366953e-7,-2.7679078820458593e-8,0.0038980074203048315,3.470975623162463e-7,-2.723855936562174e-8,0.003898434383602654,1.532557749678879e-7,-2.686076811069166e-8,0.003898916483642837,2.2273778031217942e-8,-2.6605698033749048e-8,0.003899425869944706,-2.6879705272445377e-8,-2.651026260606674e-8,0.003899931946443452,1.135752503116599e-8,-2.658517606455315e-8,0.003900405988380751,1.2952483923987927e-7,-2.6815784333920333e-8,0.0039008248607193337,3.0902597073996624e-7,-2.7165815642283763e-8,0.0039011736945926885,5.228355224148576e-7,-2.7582659172522265e-8,0.003901447733469793,7.385703341824681e-7,-2.800327930437387e-8,0.0039016535931530446,9.218576909926763e-7,-2.8360689234556944e-8,0.003901810063641041,1.0402342282423203e-6,-2.8591513682344532e-8,0.0039019482346590566,1.068114437545263e-6,-2.8645727584383664e-8,0.0039021099156309434,9.933162871447647e-7,-2.8499486010026745e-8,0.0039023425147539973,8.245733393134014e-7,-2.816985246159411e-8,0.0039026886667243655,5.973876226969504e-7,-2.7726207946250197e-8,0.0039031709184319144,3.732053312467776e-7,-2.728856993304565e-8,0.003903776436955178,2.2643689124575264e-7,-2.7002203145251322e-8,0.0039044517336320776,2.1908852626009318e-7,-2.6988107235954432e-8,0.0039051160269753435,3.7343990320735743e-7,-2.728970832405026e-8,0.0039056904602020087,6.597257455398579e-7,-2.7848816986833218e-8,0.0039061274952976715,1.008182754458275e-6,-2.8529159419230002e-8,0.003906424029832539,1.337864454440272e-6,-2.917267690733211e-8,0.0039066143239121455,1.584673185538172e-6,-2.9654276855512307e-8,0.003906751629333246,1.7160417124478927e-6,-2.991045051383723e-8,0.003906889981347287,1.7312807173328777e-6,-2.993987957694521e-8,0.003907072257425082,1.6535639424178371e-6,-2.978777180552823e-8,0.003907324953080964,1.5196860399174986e-6,-2.9525923596991393e-8,0.003907657617907691,1.3710174126904936e-6,-2.9235136326534077e-8,0.003908064791635279,1.246627938272527e-6,-2.8991808582392042e-8,0.003908529121213566,1.178355331974727e-6,-2.8858246582644022e-8,0.0039090251008069895,1.1874723538953122e-6,-2.8876064406570793e-8,0.0039095231741027164,1.2828026766380307e-6,-2.9062457134925734e-8,0.003909993971965604,1.4602429723720258e-6,-2.940930205385144e-8,0.003910412376088683,1.7037257014122688e-6,-2.9885126077279e-8,0.003910760972899444,1.9875614267849495e-6,-3.043974711070414e-8,0.003911032543742426,2.279815827653438e-6,-3.1010855542352346e-8,0.003911231493909528,2.5463069029857515e-6,-3.153173238001942e-8,0.003911374222650876,2.7549910335127733e-6,-3.193972170951845e-8,0.003911488384327841,2.880624085469085e-6,-3.218531726661661e-8,0.003911610864352182,2.909667982481857e-6,-3.224183476086153e-8,0.003911783886839922,2.84536194505679e-6,-3.211546429333361e-8,0.003912048236733935,2.7121190655270843e-6,-3.1853969077637996e-8,0.003912432956737331,2.5569177610852085e-6,-3.1549408250500364e-8,0.003912942711842446,2.4439948046497946e-6,-3.13276712957956e-8,0.003913547494005578,2.439525781374463e-6,-3.1318405148871284e-8,0.003914182801008766,2.587612510786791e-6,-3.160796365905382e-8,0.00391476670682019,2.8876813198392386e-6,-3.219515496038958e-8,0.003915229878465214,3.288612511808708e-6,-3.297977441605243e-8,0.00391554262842195,3.707168304776008e-6,-3.3798756641249064e-8,0.003915722816780819,4.061134667377567e-6,-3.449114586943816e-8,0.0039158221519932715,4.297554871760769e-6,-3.495337435976911e-8,0.003915902612886247,4.403020028690837e-6,-3.5159304982510026e-8,0.003916016771863963,4.3972762305046315e-6,-3.51476057496457e-8,0.003916198069716032,4.319425094326008e-6,-3.499472431255641e-8,0.003916459596845121,4.214738888555488e-6,-3.4789167335719515e-8,0.003916797401300606,4.125457418511884e-6,-3.46135897824814e-8,0.003917195121291198,4.085545626385126e-6,-3.453456558879286e-8,0.003917628376812855,4.118078743411213e-6,-3.459741276197698e-8,0.00391806864547818,4.234057023541767e-6,-3.4823781820516536e-8,0.0039184868549933145,4.432100524385358e-6,-3.521100643460954e-8,0.003918856894454718,4.698942282664103e-6,-3.5733089149345645e-8,0.003919159062997544,5.010909292212568e-6,-3.634366398414867e-8,0.003919383180819294,5.336673361384431e-6,-3.698142096457321e-8,0.003919530829987342,5.641296545403175e-6,-3.757799607711368e-8,0.0039196162213828035,5.891218249778886e-6,-3.8067651883344666e-8,0.0039196653747344806,6.059652716046391e-6,-3.8397777275256786E-08,0.003919713456096689,6.131770978781817e-6,-3.853905013964011e-8,0.003919800276775679,6.108967573413839e-6,-3.849390802272054e-8,0.003919964045053333,6.011521522845613e-6,-3.830191792649171e-8,0.003920233494230299,5.878730153642338e-6,-3.804014811232711e-8,0.003920618992780859,5.764983763374026e-6,-3.781547454419313e-8,0.00392110459247313,5.730010496430183e-6,-3.7745352062984805e-8,0.0039216448866342514,5.822802882578071e-6,-3.792614771435408e-8,0.00392217165582521,6.062441369382195e-6,-3.839540769990899e-8,0.003922612784897084,6.424343781374744e-6,-3.910483982583697e-8,0.003922918279510956,6.842549813656679e-6,-3.9924854655693004e-8,0.0039230801956615,7.231684285990491e-6,-4.068779460101494e-8,0.003923134148926395,7.5187772284920845e-6,-4.125047503163074e-8,0.003923141833425455,7.667435752105012e-6,-4.1541586012182924e-8,0.003923166269325025,7.683166138878378e-6,-4.1571999586433136e-8,0.003923253198934327,7.602234341381125e-6,-4.1412808153840096e-8,0.00392342418128479,7.474463541507354e-6,-4.1161593315289665e-8,0.003923678875818511,7.348774715809465e-6,-4.091417238620076e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_24.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_24.json
deleted file mode 100644
index 2a81d6b..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_24.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":24000,"numberOfSamples":1000,"samples":[0.003924001349468574,7.264665173102422e-6,-4.0747989552475184e-8,0.003924366586169156,7.248790607297544e-6,-4.0715438046854016e-8,0.0039247455983737215,7.31449699975775e-6,-4.084288354023843e-8,0.003925109134008881,7.462510402409807e-6,-4.1131928535769936e-8,0.003925430619334403,7.681943579661476e-6,-4.156132990390201e-8,0.003925688916221978,7.9515663056217e-6,-4.208949033990723e-8,0.003925871139610513,8.241724001493012e-6,-4.26582543580377e-8,0.003925975343160025,8.517452558510482e-6,-4.319903585164052e-8,0.003926012408625573,8.743124708146312e-6,-4.364190844664137e-8,0.0039260062351111815,8.888393011087458e-6,-4.392721436513869e-8,0.0039259914819518545,8.934553769547599e-6,-4.401802379763859e-8,0.003926008601681654,8.87995541059872e-6,-4.391078722925618e-8,0.003926096603853184,8.742886424791559e-6,-4.364111335220435e-8,0.003926284700461693,8.560700555841224e-6,-4.328218871863738e-8,0.003926584419799495,8.38460458304358e-6,-4.293463839580567e-8,0.003926983982520055,8.27018419490559e-6,-4.270791978660203e-8,0.003927446933578442,8.26450952654458e-6,-4.269489056436631e-8,0.003927917035426422,8.392007583137403e-6,-4.294388907717355e-8,0.003928330548152765,8.643213090672838e-6,-4.343648270886796e-8,0.003928634404239271,8.97202431142347e-6,-4.4082022548759444e-8,0.003928804571353034,9.306016764539644e-6,-4.473798796749362e-8,0.003928855847415065,9.568840746130847e-6,-4.525415343428905e-8,0.0039288366735898165,9.705875342600683e-6,-4.552310678124801e-8,0.003928810708523999,9.70075387287824e-6,-4.5512697637589113e-8,0.003928834802404048,9.575566014901797e-6,-4.526632710582171e-8,0.003928943827175889,9.377534807333275e-6,-4.487669985208786e-8,0.003929146690245219,9.161289638700064e-6,-4.445102369531869e-8,0.003929431010766044,8.97479258527682e-6,-4.408344678591044e-8,0.003929771249439363,8.851942834798086e-6,-4.3840594450064106e-8,0.003930136299987928,8.810775413828423e-6,-4.375803213461219e-8,0.0039304949376361325,8.854733935909684e-6,-4.3842713182813283e-8,0.003930819251349883,8.97490756364095e-6,-4.4077307493303816e-8,0.003931086911330102,9.152169769274805e-6,-4.442436000944777e-8,0.0039312831240633185,9.359120650070548e-6,-4.4830096409770687e-8,0.003931402736278697,9.562353565431697e-6,-4.522888479978551e-8,0.0039314523679986994,9.725809891954073e-6,-4.554983213541918e-8,0.003931451821677968,9.81581544058732e-6,-4.572667330703574e-8,0.0039314335373014,9.807739373223678e-6,-4.5710846370490446e-8,0.003931438847422937,9.693139686684408e-6,-4.5485541526462294e-8,0.003931510540598468,9.485126741041124e-6,-4.507628154878644e-8,0.0039316827752822045,9.21922505098598e-6,-4.455269004539336e-8,0.003931971055312627,8.947933809120098e-6,-4.401789076476449e-8,0.0039323657307728825,8.729358784614993e-6,-4.358622919525109e-8,0.003932831731699162,8.612643855888081e-6,-4.335462841531593e-8,0.003933315344617792,8.62429738570606e-6,-4.337560654570439e-8,0.003933756715300976,8.759463349484685e-6,-4.363994931455601e-8,0.003934105106059232,8.981053856326873e-6,-4.407485811762412e-8,0.003934332913929343,9.227877438043526e-6,-4.4559891225405716e-8,0.0039344440871193175,9.430525068002884e-6,-4.4958286576969273e-8,0.003934473402796723,9.530858688927084e-6,-4.5155432327327116e-8,0.003934475863914978,9.498545685117723e-6,-4.509149078422063e-8,0.003934509718222492,9.33827824991407e-6,-4.47756142603218e-8,0.003934619792227327,9.085158588882537e-6,-4.427682786107174e-8,0.003934827415641757,8.791280140237335e-6,-4.369760258181166e-8,0.00393512933343696,8.510038014808986e-6,-4.31429928445453e-8,0.0039355035636141015,8.284081649552148e-6,-4.269695029529051e-8,0.003935918018543304,8.139406686077033e-6,-4.241070000822375e-8,0.003936338353846052,8.084775818140693e-6,-4.2301584302013366e-8,0.003936733445406277,8.114176353890525e-6,-4.235787766689351e-8,0.0039370785461212525,8.210197709692123e-6,-4.254541828860122e-8,0.003937356971767464,8.347130480599071e-6,-4.281369430236631e-8,0.003937561263758311,8.493567783692922e-6,-4.310094762045791e-8,0.003937694438031615,8.615002843389891e-6,-4.333926631812809e-8,0.003937771330134241,8.67725650150846e-6,-4.346131796842194e-8,0.003937819322870859,8.651508326884634e-6,-4.3410256470381495e-8,0.003937877058427044,8.521099894445721e-6,-4.3153137231452934e-8,0.003937989463885939,8.288931327634417e-6,-4.269550841092151e-8,0.003938198228981029,7.982475866423666e-6,-4.209131265757179e-8,0.003938529202136906,7.652421272823026e-6,-4.144024574779018e-8,0.003938981172624146,7.362348631112524e-6,-4.086748201679056e-8,0.003939521858698951,7.171057158621901e-6,-4.048891544782165e-8,0.003940094615197016,7.113880374154503e-6,-4.0374365707466556e-8,0.0039406342007793785,7.190918645244552e-6,-4.052432522098116e-8,0.003941085456845227,7.366953288287352e-6,-4.086966435709471e-8,0.003941417979926735,7.582297213206803e-6,-4.1292902967637985e-8,0.003941632550878733,7.769811582108233e-6,-4.1661704613367465e-8,0.0039417586573959,7.872367731094012e-6,-4.186332403044912e-8,0.00394184498935138,7.856147459827803e-6,-4.183089280710224e-8,0.003941946090056001,7.716963831159671e-6,-4.155595404739903e-8,0.003942108844751583,7.478721284531861e-6,-4.1085488184775086e-8,0.003942362280649743,7.1851264448118275e-6,-4.0505610055412035e-8,0.003942713056297738,6.887545188092401e-6,-3.9917635489093076e-8,0.003943147094181412,6.63285056822077e-6,-3.9414089140640513e-8,0.00394363576055283,6.45458746493619e-6,-3.906122521138246e-8,0.003944143851940386,6.3689698481875325e-6,-3.889108334065558e-8,0.003944636869159611,6.375238897636767e-6,-3.89021835862169e-8,0.003945086178514301,6.458758785510235e-6,-3.906566285644976e-8,0.003945471885644119,6.595087712929455e-6,-3.9333345409787816e-8,0.003945784062145488,6.75381682031183e-6,-3.96453240801719e-8,0.0039460231949269235,6.9018086924852714e-6,-3.993631138475404e-8,0.003946200484182494,7.0061699834473986e-6,-4.0141443325436696e-8,0.003946338123548155,7.037663514739489e-6,-4.020297398706976e-8,0.003946469030517169,6.975321308310946e-6,-4.007939202239149e-8,0.0039466347171631935,6.8125615268396335e-6,-3.9757548945000605e-8,0.003946879526314831,6.563781000662389e-6,-3.926572917290399e-8,0.003947240113576192,6.26832771088985e-6,-3.8681519815076635e-8,0.00394773162032693,5.987155767768718e-6,-3.8125213666258697e-8,0.00394833606959585,5.788678511154436e-6,-3.7731893344309e-8,0.0039490010315956,5.726070108611301e-6,-3.760663760887806e-8,0.003949653254363835,5.815841448021564e-6,-3.778221021701663e-8,0.003950222933085804,6.029784395114221e-6,-3.8203094717768544e-8,0.003950666763769117,6.305251283013329e-6,-3.874572335149639e-8,0.003950978997636163,6.567633107643007e-6,-3.926282625402561e-8,0.003951187946508848,6.753390037519353e-6,-3.9628897768472654e-8,0.003951342970045106,6.82499234587586e-6,-3.9769697357740485e-8,0.00395149899125544,6.775528812781524e-6,-3.9671369919487616e-8,0.003951703461040263,6.625121099539185e-6,-3.9373432374454456e-8,0.003951987858015527,6.412572497682793e-6,-3.8952382552237284e-8,0.003952363959429004,6.185216687773946e-6,-3.8501729618800614e-8,0.003952824318389738,5.9890392604355895e-6,-3.811248119847719e-8,0.003953346084383744,5.8605580191022866e-6,-3.7857015174201214e-8,0.003953896995412957,5.821583390244034e-6,-3.777860582122305e-8,0.003954442092751837,5.877359468380301e-6,-3.7887672658214384e-8,0.003954949781935346,6.017769412892624e-6,-3.816417373000497e-8,0.003955396289717578,6.220694202785564e-6,-3.856432318594815e-8,0.003955768174884203,6.456367672750993e-6,-3.902927598979735e-8,0.003956063179994125,6.691705169501888e-6,-3.949369249275251e-8,0.003956290051901221,6.894111093467348e-6,-3.989319559509603e-8,0.003956467854520423,7.034854759428582e-6,-4.017095218887658e-8,0.0039566249669400816,7.092436622888951e-6,-4.0284290088954386e-8,0.003956797478346305,7.056481487425291e-6,-4.021245059161304e-8,0.003957025994777186,6.932388600346256e-6,-3.996590300588929e-8,0.003957349414623954,6.7458410699163445e-6,-3.959537173887109e-8,0.003957794778545756,6.544498614818847e-6,-3.9195220973930975e-8,0.003958364489074411,6.392651543668574e-6,-3.889283923884582e-8,0.003959026190955713,6.355295837039837e-6,-3.881705762450065e-8,0.003959713978117959,6.473712946892012e-6,-3.904975388942963e-8,0.003960346658841707,6.743821961530491e-6,-3.958294960032686e-8,0.003960857575990237,7.112323350996538e-6,-4.031115186969541e-8,0.0039612197932018854,7.496174919039376e-6,-4.10699402100219e-8,0.003961452306299503,7.814588012843276e-6,-4.169936348567501e-8,0.003961606574536528,8.01530911676443e-6,-4.209596468724888e-8,0.003961744529834369,8.08439052342442e-6,-4.223205431160473e-8,0.003961919898203691,8.041055608842375e-6,-4.2145503385516964e-8,0.003962167934107929,7.92540646416268e-6,-4.1915471608097986e-8,0.003962502766954194,7.785608877629877e-6,-4.1637175222764884e-8,0.003962919504652272,7.667738377555936e-6,-4.140189174962666e-8,0.00396339860412415,7.6088866362392024e-6,-4.128330394764023e-8,0.003963911081389532,7.633028280277278e-6,-4.132919427751386e-8,0.003964423927548092,7.749152914604407e-6,-4.1557593105492124e-8,0.003964905318504584,7.951432583245587e-6,-4.1957026443146924e-8,0.003965329172806784,8.221199670866641e-6,-4.249046155503989e-8,0.0039656786145144665,8.530378408627668e-6,-4.310220299700377e-8,0.003965947990889918,8.845841392371245e-6,-4.37266017606286e-8,0.003966143368775138,9.134007815143316e-6,-4.429715430491004e-8,0.003966281763390242,9.365126081644348e-6,-4.475489492347632e-8,0.003966389432433808,9.517028569907252e-6,-4.50557398961551e-8,0.0039664994413490615,9.578380169243303e-6,-4.517691762130738e-8,0.003966648478154706,9.551562333274848e-6,-4.512279719134597e-8,0.003966872442131501,9.455213790585541e-6,-4.493010285476397e-8,0.003967200009096507,9.325645135291122e-6,-4.4670856835179115e-8,0.003967643942139405,9.215087087823338e-6,-4.4448923046119814e-8,0.0039681916280942,9.183905742556441e-6,-4.438445858297688e-8,0.003968799131557344,9.284666046934797e-6,-4.4582129386551373e-8,0.003969395714603861,9.540259293398974e-6,-4.508756258136944e-8,0.0039699037202130414,9.926237027984614e-6,-4.585222439096121e-8,0.003970268552470416,1.0371684773005795e-5,-4.673521137896835e-8,0.003970482142169558,1.078412203468818e-5,-4.755282003004367e-8,0.0039705843561092195,1.10860283048514e-5,-4.815115477383973e-8,0.003970642360386332,1.1241376583518066e-5,-4.845874452293147e-8,0.003970722821708415,1.125981504453911e-5,-4.8494689966727235e-8,0.0039708723071808566,1.11829441885822e-5,-4.834134805360363e-8,0.003971110919069601,1.1065211622363857e-5,-4.810650188240576e-8,0.003971435431608885,1.0958632735931508e-5,-4.7893216781566505e-8,0.003971826265812919,1.0903990546723049e-5,-4.778250186894762e-8,0.003972254586729742,1.0927283245886881e-5,-4.782624238951511e-8,0.003972688105211575,1.1039249843146977e-5,-4.8046116883982526e-8,0.0039730955939297884,1.1236386675066273e-5,-4.843545087392066e-8,0.00397345054557075,1.1502799362280447e-5,-4.8962807876693554e-8,0.003973734208169738,1.1812792318729848e-5,-4.9577158828296015e-8,0.003973937950405579,1.2134265111817801e-5,-5.021471558067026e-8,0.003974064679006379,1.2432918992578263e-5,-5.080734411592102e-8,0.003974128944467808,1.2676973960732623e-5,-5.129190491821449e-8,0.003974155556457899,1.2841827542246017e-5,-5.1619414061577866e-8,0.0039741767870729505,1.2914097734147498e-5,-5.1763003268766806e-8,0.003974228381508199,1.2894585117898373e-5,-5.1723840310494984e-8,0.0039743446740342315,1.2799778794775203e-5,-5.1534278839920305e-8,0.003974553031218095,1.2661651645222267e-5,-5.1257656952560386e-8,0.00397486770830553,1.252526192551265e-5,-5.0983665712715536e-8,0.003975283624309093,1.244306855380536e-5,-5.081702986908633e-8,0.003975771762776541,1.2464764616558008e-5,-5.085712444532777e-8,0.003976279358595454,1.2622668128129355e-5,-5.1168686224427466e-8,0.003976738806949802,1.2915806066879637e-5,-5.174997205879499e-8,0.00397708712480231,1.3300494013523065e-5,-5.251398213335525e-8,0.003977290708495544,1.3697307875515348e-5,-5.3302462984544026e-8,0.003977362035950759,1.4017395454687275e-5,-5.393846232144907e-8,0.003977355858695399,1.4196719691249908e-5,-5.429455632185751e-8,0.003977345605575303,1.4218583669657343e-5,-5.433755885903962e-8,0.003977394646971235,1.4112859234273654e-5,-5.412679978292305e-8,0.003977538120767945,1.3937040535825622e-5,-5.377637606636613e-8,0.003977780313015663,1.3753373811437281e-5,-5.3409789340420174E-08,0.0039781024005110955,1.361276026355333e-5,-5.312812805725196e-8,0.003978473023124186,1.3547849219766439e-5,-5.299644136530384e-8,0.003978857094370713,1.3572654477401475e-5,-5.304293291262342e-8,0.00397922161367756,1.3685187261991948e-5,-5.326404503945597e-8,0.0039795391090315735,1.387078103509612e-5,-5.363091484811033e-8,0.003979789799970764,1.4105237357237993e-5,-5.4095556401576257e-8,0.0039799632178153825,1.4357845076354077e-5,-5.45968922420498e-8,0.003980059500806607,1.4594673222991368e-5,-5.506737604277994e-8,0.003980090142970023,1.4782539911570218e-5,-5.5440930753357645e-8,0.003980077642195864,1.4893710156689642e-5,-5.566226817310781e-8,0.003980053468419345,1.4910803096605801e-5,-5.56965853216742e-8,0.0039800541106269635,1.4830983623911673e-5,-5.553787293347947e-8,0.0039801154418540406,1.466838142817004e-5,-5.5213797919344863e-8,0.003980266139921954,1.4453775388946017e-5,-5.478524269653043e-8,0.003980521287767714,1.4231023369268172e-5,-5.4339391697161045e-8,0.003980877353979621,1.4050315119139707e-5,-5.397640762167942e-8,0.003981309717837675,1.395868469966156e-5,-5.3790488944141864e-8,0.003981774090037387,1.3988628469092594e-5,-5.3846999457069773e-8,0.003982213281677193,1.4146764402475845e-5,-5.415961657859051e-8,0.003982570011449755,1.4406143821260008e-5,-5.467482526558627e-8,0.003982804131697453,1.47071498764841e-5,-5.527369286809923e-8,0.003982908778352366,1.4970992193698437e-5,-5.579891732093303e-8,0.003982916824397885,1.5124448073961797e-5,-5.6104337480320424e-8,0.003982891263406429,1.5126160410236833e-5,-5.610742482232311e-8,0.00398290215454356,1.4980743595872157e-5,-5.581730514030468e-8,0.0039830019202654705,1.4733222541316497e-5,-5.532354528930037e-8,0.003983211326857249,1.4448727937037265e-5,-5.4755680309660146e-8,0.003983520104257227,1.4189885389384998e-5,-5.423828496751849e-8,0.003983897259054235,1.4001826693159665e-5,-5.386125283385029e-8,0.003984303459136277,1.3907216352427944e-5,-5.366993275012876e-8,0.003984700579759181,1.3908279420985249e-5,-5.3669095525382856e-8,0.003985057207973846,1.399170223752423e-5,-5.3832563887307894e-8,0.00398535107067196,1.4133635001783242e-5,-5.411306762933109e-8,0.003985569881970607,1.4303771905497005e-5,-5.445033306625039e-8,0.0039857117052029475,1.4468652878353123e-5,-5.4777689929636526e-8,0.003985785248092382,1.4594817843348775e-5,-5.502840613731594e-8,0.003985809897015252,1.4652472383143383e-5,-5.514301337657362e-8,0.003985814826438397,1.4619974837042523e-5,-5.5078226609295487e-8,0.0039858363205629195,1.4488750116827408e-5,-5.481669944437828e-8,0.003985912714645442,1.426742833517886e-5,-5.4375274115178266e-8,0.003986077146685968,1.3983468945714063e-5,-5.380829619913038e-8,0.003986349418788184,1.3680607655818763e-5,-5.320267121504874e-8,0.003986729243878734,1.3411429492368585e-5,-5.266321054783875e-8,0.003987193368925278,1.3226052188088213e-5,-5.229014065094215e-8,0.0039876982347206835,1.3159498917999302e-5,-5.2153854337675876E-08,0.00398818833657533,1.3221106579292605e-5,-5.227358445765773e-8,0.003988608901007278,1.338916970518754e-5,-5.260647556617648e-8,0.003988920183252699,1.3613194193081244e-5,-5.3051916801022585e-8,0.003989109646982799,1.3824650626505712e-5,-5.347299765131535e-8,0.003989197746223967,1.3954767944424933e-5,-5.373215558025435e-8,0.003989233827788415,1.3954763566654355e-5,-5.373171638754063e-8,0.003989281800794039,1.3811236850979288e-5,-5.3444699852450874e-8,0.003989400134260441,1.3549823535973889e-5,-5.292209959911019e-8,0.003989624365284392,1.3225093106393183e-5,-5.227268643727621e-8,0.003989959279866753,1.290162083662521e-5,-5.1625249279043706e-8,0.0039903824814073756,1.2635093520500604e-5,-5.109093995112096e-8,0.00399085532254792,1.2460509228031144e-5,-5.0739748289693165e-8,0.003991335096141489,1.2389290014694273e-5,-5.0594703090057124e-8,0.003991784193685639,1.2412788238110021e-5,-5.063879306432595e-8,0.0039921750376531425,1.2508400657934924e-5,-5.082710027342623e-8,0.0039924916979013365,1.264552801312763e-5,-5.109866380876292e-8,0.003992729733420645,1.2790244411010073e-5,-5.138580639540977e-8,0.003992895505481774,1.2908774182592685e-5,-5.162109554086806e-8,0.003993005539841018,1.2970483448082949e-5,-5.1743325651077926e-8,0.003993085805853583,1.2951169554634605e-5,-5.170407528089941e-8,0.0039931702182065525,1.2837098930575677e-5,-5.1475750096119304e-8,0.003993297356816803,1.2629535465925717e-5,-5.106062222453551e-8,0.003993504537036869,1.2348458326471559e-5,-5.04982889205154e-8,0.00399381928261621,1.2033164964636035e-5,-4.9866956012253766e-8,0.003994250001187529,1.1737322154317254e-5,-4.9273662215669775e-8,0.0039947794474397376,1.1517572315967707e-5,-4.883161802180583e-8,0.003995364932969854,1.1417909076784898e-5,-4.8629022529340004e-8,0.0039959471867255245,1.145512467560501e-5,-4.8699907040692296e-8,0.003996465923696541,1.1611411554188564e-5,-4.9009176717670445e-8,0.003996876828671035,1.1837637422183225e-5,-4.9458966925161574e-8,0.003997163971009506,1.2066380201857806e-5,-4.991458667779847e-8,0.003997343759283495,1.2230228260355551e-5,-5.024110820721207e-8,0.003997459714537061,1.227962356731739e-5,-5.033913205513782e-8,0.0039975700174394516,1.2195246540345806e-5,-5.016966528746188e-8,0.0039977315793668896,1.199171433994848e-5,-4.9761614483588085e-8,0.003997985303974457,1.1711837911922054e-5,-4.920037428897476e-8,0.003998346858193554,1.1413566865496914e-5,-4.8601769213070115e-8,0.0039988053495900785,1.1154143067304714e-5,-4.808037527313077e-8,0.0039993293627035445,1.0976671983429418e-5,-4.7722620398013583e-8,0.003999877225762814,1.0902767894712806e-5,-4.7571985490559816e-8,0.004000407493370264,1.0931979187466173e-5,-4.762776490445662e-8,0.00400088668699902,1.1046120607170104e-5,-4.785368769200271e-8,0.0040012933178902805,1.1215681826101956e-5,-4.8190753288722657e-8,0.004001618824597613,1.140602944436198e-5,-4.856968419517292e-8,0.004001866716617343,1.1582292382143262e-5,-4.8920729394387654e-8,0.004002051089467816,1.1712900988527266e-5,-4.9180732644461024e-8,0.004002195134543225,1.1772393926335084e-5,-4.9298705411811596e-8,0.0040023296147842545,1.1744241358596293e-5,-4.9241438831947997e-8,0.004002490702025333,1.1624164492064202e-5,-4.9000150214148706e-8,0.004002716177242634,1.1423787492992013e-5,-4.859784391910101e-8,0.0040030390227214704,1.1173356864132723e-5,-4.8094833920023865e-8,0.004003478361347815,1.0920997712239193e-5,-4.7587334303852796e-8,0.004004029802038545,1.0725563863908767e-5,-4.719320099784125e-8,0.004004659792221574,1.0641953511935584e-5,-4.7022548424382676e-8,0.004005309358395405,1.0702231547952575e-5,-4.713991105371558e-8,0.004005909305357476,1.0900742430031743e-5,-4.7534332339053704e-8,0.004006402231050277,1.1192022790909333e-5,-4.8115061170983004e-8,0.004006761493609258,1.1504328555145381e-5,-4.8738556290387605e-8,0.004006998416788491,1.1762810600434922e-5,-4.925487801263246e-8,0.0040071557972175655,1.1911802199676452e-5,-4.955234189469917e-8,0.004007292492485376,1.1928068755813912e-5,-4.9584090451901684e-8,0.004007466154921649,1.182270536529946e-5,-4.9371962164986925e-8,0.004007719484345561,1.1633960677447274e-5,-4.8992235679285965e-8,0.004008072516982853,1.1415035698476774e-5,-4.855132546462214e-8,0.004008521247009628,1.1220739757355388e-5,-4.81591306861145e-8,0.004009041556486812,1.1095986552782165e-5,-4.790595409748483e-8,0.004009596684482728,1.1068126254001404e-5,-4.784699794194256e-8,0.004010146061004549,1.1144061978931795e-5,-4.799641499742937e-8,0.0040106533603855915,1.1311869844993711e-5,-4.833044905420133e-8,0.004011092236707525,1.1545566812726804e-5,-4.8796997573800546e-8,0.004011449171177877,1.1811239466230054e-5,-4.9327987188523245e-8,0.004011723764818403,1.2072971677857698e-5,-4.985134835693644e-8,0.00401192736389657,1.2297623888833959e-5,-5.0300619813788786e-8,0.004012080963416897,1.2458294160137046e-5,-5.06218316152855e-8,0.004012212952149902,1.2536886563441079e-5,-5.077857415701251e-8,0.004012356748830488,1.2526361690877996e-5,-5.075648134300845e-8,0.004012547921684051,1.2433048238960548e-5,-5.0567928963629637e-8,0.0040128199805693305,1.2278886932150372e-5,-5.025666471468604e-8,0.004013197985529161,1.2102470950470938e-5,-4.990002190519058e-8,0.00401369000353784,1.1956510006150005e-5,-4.960388878819715e-8,0.004014278532066863,1.1898883530667995e-5,-4.948472066423443e-8,0.0040149167491389135,1.197622246061075e-5,-4.963648586630433e-8,0.004015535619726837,1.2203997061740317e-5,-5.0090569001978953e-8,0.004016064005360639,1.2553240036393509e-5,-5.0789018255737813e-8,0.0040164548830214815,1.2954750430225737e-5,-5.1592962190804215e-8,0.004016703733644348,1.3322431746732769e-5,-5.232951731508461e-8,0.004016848431434354,1.3584310465564186e-5,-5.2854110685949694e-8,0.004016951977140229,1.3704978067918915e-5,-5.309550581731473e-8,0.00401707918422125,1.3690726517722423e-5,-5.3066050186417026e-8,0.004017278464444657,1.3580022117076173e-5,-5.284257367174307e-8,0.004017573349390648,1.3427603643939568e-5,-5.253461517336548e-8,0.004017962524787026,1.3289293461804937e-5,-5.2254123260796106e-8,0.004018424992325505,1.3210932934703492e-5,-5.2093339215260626e-8,0.0040189273729024705,1.3221997414880813e-5,-5.211190437947683e-8,0.0040194315062708425,1.3333214209773679e-5,-5.2331872879317006e-8,0.004019901334926071,1.3537385768781908e-5,-5.273915282943784e-8,0.00402030839443015,1.3812681913253474e-5,-5.3290015781132485e-8,0.004020635440219238,1.4127527132908653e-5,-5.392095666905157e-8,0.004020878035146411,1.4446146519830484e-5,-5.455996088115213e-8,0.004021044226821732,1.473392798977689e-5,-5.513737746601209e-8,0.00402115275112109,1.496191131793451e-5,-5.559493860655362e-8,0.004021230393628464,1.5110074592057919e-5,-5.589227823087387e-8,0.004021308993990323,1.5169566143298608e-5,-5.601133518705951e-8,0.004021422225284333,1.5144214158221058e-5,-5.595940175161358e-8,0.0040216019835709,1.505150937068162e-5,-5.57712373201424e-8,0.004021873939755527,1.4922916833095616e-5,-5.550989215428107e-8,0.0040222517467002885,1.4802621499919506e-5,-5.5264327043482085e-8,0.004022730175355548,1.4742845077977562e-5,-5.513999395696767e-8,0.00402327924617558,1.4793651408929851e-5,-5.5238179247849234e-8,0.004023843665981839,1.498685836194858e-5,-5.562340967782772e-8,0.004024352851506316,1.5318263529964064e-5,-5.62874975195311e-8,0.004024743118745088,1.573836892528872e-5,-5.7130821512435726e-8,0.004024984194842726,1.6162535861771282e-5,-5.7982877436069443E-08,0.004025094377176705,1.6501026274800637e-5,-5.866291758713605e-8,0.004025133037057492,1.6693810177365013e-5,-5.9050065212816505e-8,0.0040251747474465615,1.6730082192383597e-5,-5.912247029379822e-8,0.004025281332087344,1.6644195416193686e-5,-5.894897656672424e-8,0.004025485746450353,1.6495866969054968e-5,-5.864930998217878e-8,0.004025790429201538,1.634835179138792e-5,-5.8350370181822665e-8,0.0040261746462862255,1.6253223052331517e-5,-5.815584387978385e-8,0.0040266044641294775,1.624327250382378e-5,-5.813200951807451e-8,0.004027041638836209,1.633135361213576e-5,-5.8305293951082345e-8,0.00402745025711566,1.6512469372403883e-5,-5.866622925242898e-8,0.00402780134494779,1.6767326438795646e-5,-5.917637987828972e-8,0.004028075926393701,1.7066612366788847e-5,-5.977686171643531e-8,0.004028266748303052,1.7375686093179322e-5,-6.039784671300595e-8,0.004028378700267617,1.7659404592882538e-5,-6.096841423803015e-8,0.004028427921096438,1.7886793273255926e-5,-6.142604364033798e-8,0.00402843964084909,1.8035151508268353e-5,-6.172486403108444e-8,0.004028445012514573,1.809312331270539e-5,-6.184175008856881e-8,0.0040284773268235005,1.8062494703952662e-5,-6.177988665082503e-8,0.004028567910222432,1.7958723498241694e-5,-6.156990468255793e-8,0.004028741861400401,1.781021131030546e-5,-6.12686094634135e-8,0.0040290136622913525,1.765619786846825e-5,-6.095496322789188e-8,0.0040293826809504,1.754280016104753e-5,-6.07222216328837e-8,0.004029829124215082,1.751619084809753e-5,-6.066410876225836e-8,0.004030312256108125,1.7612020509539247e-5,-6.085324393616324e-8,0.004030774031389632,1.7841815454699297e-5,-6.131341293797681e-8,0.00403115142107213,1.8180564860966387e-5,-6.199433879515745e-8,0.0040313974300052735,1.8563852856182064e-5,-6.27659191383855e-8,0.004031503203472192,1.8902856758312773e-5,-6.344869780801121e-8,0.004031507215610012,1.9116091643266002e-5,-6.387812802255732e-8,0.004031481930153734,1.916242569246173e-5,-6.397118926916185e-8,0.004031503768949901,1.9055383830683572e-5,-6.375504333127174e-8,0.004031624504421274,1.885153534554923e-5,-6.334344369125224e-8,0.00403185885677837,1.8623798019755862e-5,-6.288296518438462e-8,0.004032189274944319,1.8436620157024645e-5,-6.250321630029159e-8,0.004032579178971542,1.83324637336343e-5,-6.228981683190497e-8,0.004032986090714059,1.8329161981569122e-5,-6.227911243671427e-8,0.0040333708125981456,1.8423493871162983e-5,-6.246522183995398e-8,0.004033702484811329,1.8596808258675e-5,-6.281112340841897e-8,0.0040339608469825575,1.882045266602357e-5,-6.325939983367222e-8,0.004034137070431829,1.906045203237547e-5,-6.374161530130195e-8,0.004034233855241526,1.928170635220029e-5,-6.41868612531973e-8,0.004034264876079334,1.9452018078757834e-5,-6.453000617107153e-8,0.004034253391531761,1.9546047063260236e-5,-6.47197441623075e-8,0.004034229755724816,1.9548977882390267e-5,-6.472596597020264e-8,0.004034227730682795,1.9459320969577683e-5,-6.454533452522716e-8,0.004034279865723162,1.9290186380915923e-5,-6.420383235003002e-8,0.004034412486171448,1.9068594732676885e-5,-6.375547510633614e-8,0.00403464093034948,1.8832637893526655e-5,-6.327679436677401e-8,0.004034965687074627,1.8626536313167505e-5,-6.285707244922939e-8,0.004035370034247165,1.8493819644007736e-5,-6.258465123000945e-8,0.004035819874790727,1.846886648562048e-5,-6.252971679787746e-8,0.004036266904185114,1.856732169763407e-5,-6.272465029492704e-8,0.0040366565598250765,1.8777113738250836e-5,-6.31455681508602e-8,0.0040369414612311345,1.9053783781087113e-5,-6.370271942688705e-8,0.004037098344333292,1.932539834606959e-5,-6.42504851948613e-8,0.004037141902942749,1.951083270094533e-5,-6.462457097034529e-8,0.004037125865169994,1.954813798447868e-5,-6.46995458547251e-8,0.004037125861820998,1.9419995141300983e-5,-6.444028053955575e-8,0.00403721048480607,1.9160768124473176e-5,-6.391602935018678e-8,0.004037416430514758,1.88403649270376e-5,-6.326771012194285e-8,0.0040377405727112705,1.853563684839144e-5,-6.265022145619625e-8,0.004038149143064464,1.8305856043064805e-5,-6.218312567891382e-8,0.004038594479970898,1.8181596820678142e-5,-6.192833669694351e-8,0.004039029805036155,1.8165835433560526e-5,-6.189230839848963e-8,0.004039418015136255,1.8241197474729e-5,-6.204049708155263e-8,0.0040397350446880215,1.837815198734788e-5,-6.231370568667206e-8,0.004039969999138671,1.8541650006683282e-5,-6.264136381327966e-8,0.004040124041563737,1.8695860404660215e-5,-6.295108921511804e-8,0.004040209074777056,1.8807706049100226e-5,-6.317591860236914e-8,0.004040246363654397,1.88500021655281e-5,-6.32607471793734e-8,0.004040264737547788,1.8804636954320954e-5,-6.316879237455187e-8,0.004040297831687618,1.866571824947087e-5,-6.288791561688243e-8,0.004040379958326903,1.844201983765977e-5,-6.243550964565625e-8,0.004040540705219954,1.8157672301950075e-5,-6.185990253089828e-8,0.004040799030115895,1.7850119174229367e-5,-6.123634554926798e-8,0.0040411581509778,1.7564868093298403e-5,-6.065660011340943e-8,0.004041602732207329,1.734741098407994e-5,-6.021277355052825e-8,0.0040420995762303815,1.7233639004230466e-5,-5.997796689164541e-8,0.004042602323436688,1.724067110935005e-5,-5.998756494201581e-8,0.00404305992163886,1.736012884995211e-5,-6.022533875758978e-8,0.004043427966196684,1.7555910433464828e-5,-6.061865961283453e-8,0.0040436810936756275,1.7768500926616962e-5,-6.104709566844615e-8,0.004043823230883101,1.7927149455153616e-5,-6.1367140862782e-8,0.004043891164479845,1.7968977540453174e-5,-6.145110341710769e-8,0.004043947176700689,1.7860007267002482e-5,-6.122984744605595e-8,0.0040440603521150744,1.760913353792817e-5,-6.072111082777755e-8,0.004044282997667049,1.726658843338252e-5,-6.002633777071843e-8,0.004044633306112802,1.6905912165610116e-5,-5.929416783466505e-8,0.0040450925842591984,1.6598297213721576e-5,-5.866858772554347e-8,0.004045616463144047,1.6391968202125593e-5,-5.824729428445154e-8,0.004046152091763345,1.630410509649094e-5,-5.80653572847142e-8,0.004046652760383014,1.6324348036651065e-5,-5.8102214711525505e-8,0.004047085929565268,1.6424100266681775e-5,-5.830035937199191e-8,0.004047435228495953,1.6566189179488793e-5,-5.8584786032397173e-8,0.004047698959744002,1.671216642566975e-5,-5.8877737365682856e-8,0.004047887444712365,1.6826943646276348e-5,-5.9108127517374904e-8,0.00404802049508203,1.6881670483517197e-5,-5.9217433706880595e-8,0.004048125273323472,1.6855947238255258e-5,-5.9164217502915826e-8,0.004048234127401434,1.674008799311883e-5,-5.8928701076803824e-8,0.004048381670060571,1.6537530470193916e-5,-5.851761039418674e-8,0.004048600436416601,1.6266746291805815e-5,-5.796802584768781e-8,0.004048914984056892,1.5961326425245878e-5,-5.734760338043135e-8,0.004049335282066074,1.566668088020222e-5,-5.674801447212363e-8,0.0040498513719114376,1.5432414454828066e-5,-5.626965875165331e-8,0.004050431921230339,1.5301075079280176e-5,-5.5998974280483204e-8,0.004051028668995067,1.5296083993458358e-5,-5.598395649797168e-8,0.004051586738790464,1.5412983005455173e-5,-5.62162478465142e-8,0.004052058328986434,1.5617600591062285e-5,-5.6627167195976384e-8,0.004052415758160085,1.5852514347711364e-5,-5.7100596870077054e-8,0.004052659913064241,1.6050494133565283e-5,-5.7500160816537554e-8,0.0040528214440387015,1.6151570852562244e-5,-5.7703907353645075e-8,0.004052953861013157,1.611931020329749e-5,-5.763746552942237e-8,0.004053119682835466,1.595162622613579e-5,-5.729612717276807e-8,0.004053373025435257,1.5682212292362576e-5,-5.6747852350428666e-8,0.004053744027610918,1.537106055446932e-5,-5.611410681536437e-8,0.004054230846152612,1.5086637935810276e-5,-5.553375453822118e-8,0.004054802304411898,1.488624806595296e-5,-5.5123232299645195e-8,0.0040554095026198176,1.4802029857689209e-5,-5.494808734565473e-8,0.004056000829014219,1.4836834906018199e-5,-5.501449222707493e-8,0.0040565344012080526,1.496913360261363e-5,-5.527907211829798e-8,0.004056984713435475,1.5162646600086324e-5,-5.5668377746635783e-8,0.004057343673139978,1.537616244421555e-5,-5.609881419197702e-8,0.004057618154709957,1.5570907870645105e-5,-5.6491651348612124e-8,0.004057826336088842,1.571498161585009e-5,-5.678207302107251e-8,0.004057994236563965,1.5785663812756403e-5,-5.692387796847087e-8,0.004058152876449292,1.5770755436499932e-5,-5.6892175274642595e-8,0.004058335730497766,1.56698047725992e-5,-5.6685842838322767e-8,0.004058575736492297,1.5495479753201927e-5,-5.6330312045967666e-8,0.004058901067412491,1.5274593050186677e-5,-5.587969998232432e-8,0.0040593292989023755,1.504744016568601e-5,-5.541556302293769e-8,0.004059860688647646,1.4863522530534258e-5,-5.5038323485976716e-8,0.004060472924789321,1.4772178278052189e-5,-5.484831991380623e-8,0.004061121016256655,1.4808824187926628e-5,-5.491786333355384e-8,0.004061745398388068,1.4980995070619321e-5,-5.526278213620586e-8,0.0040622878335508355,1.5260905424743596e-5,-5.58271445794069e-8,0.00406270977840194,1.5589957864201896e-5,-5.6492254117461846e-8,0.004063005280007226,1.5895053516072876e-5,-5.71096919262533e-8,0.004063202722944347,1.611033761314179e-5,-5.7545486920249105e-8,0.004063355322523949,1.6195737978189514e-5,-5.7717829505718655e-8,0.004063524982892078,1.614629397440836e-5,-5.761611433490631e-8,0.0040637654881181635,1.5990874718776372e-5,-5.729846921069878e-8,0.0040641096822484745,1.5782374878243806e-5,-5.687200018963553e-8,0.004064563196214051,1.558309622417832e-5,-5.646323142518138e-8,0.004065105372946402,1.5449401160722053e-5,-5.6186965778914343e-8,0.004065696400389077,1.5419375479983378e-5,-5.612111731815594e-8,0.004066288252635861,1.5506240841777267e-5,-5.6293121212787874e-8,0.004066836155862962,1.5698542971993716e-5,-5.668010909236039e-8,0.004067307459695976,1.5966009975132922e-5,-5.7220705532581126e-8,0.00406768613309999,1.6268363193234948e-5,-5.783296271933897e-8,0.004067972917711898,1.6564106468153707e-5,-5.8432340733695405e-8,0.004068182486831887,1.681727652571284e-5,-5.894554234053274e-8,0.00406833933892352,1.7001503611134662e-5,-5.931880776278692e-8,0.004068473756113949,1.7101841750667816e-5,-5.952159722920657e-8,0.004068618388467829,1.7115337876791556e-5,-5.9547687041123166e-8,0.004068805319711415,1.7051183194416186e-5,-5.941546370891142e-8,0.004069063045413328,1.693080237181354e-5,-5.9168176976249445e-8,0.004069412642286213,1.6787584460103433e-5,-5.887352588619779e-8,0.004069862675046376,1.6665125654505054e-5,-5.862021049541122e-8,0.0040704033862420915,1.6612132979317868e-5,-5.8507611354420696e-8,0.004071002433343476,1.6672362317351996e-5,-5.8625252169843815e-8,0.004071606146962371,1.6870078458229394e-5,-5.90230533337598e-8,0.004072150180031084,1.7195707718266797e-5,-5.968194828764344e-8,0.004072579327330133,1.7600304654934825e-5,-6.050250155157372e-8,0.004072869038903364,1.800622384140864e-5,-6.132663264350784e-8,0.004073036765467772,1.8332569931295446e-5,-6.1989505493645e-8,0.004073135737926338,1.852349328887892e-5,-6.237718185712606e-8,0.004073234663677566,1.85650892687075e-5,-6.246099877342193e-8,0.004073394556097025,1.848476914851136e-5,-6.229627231999442e-8,0.004073652726352091,1.833737723399551e-5,-6.199414171839608e-8,0.004074017372470005,1.818678426452505e-5,-6.168431508746106e-8,0.0040744707750797445,1.808984214398682e-5,-6.148259812586677e-8,0.004074977337424825,1.8085790232343694e-5,-6.14693541796517e-8,0.004075493263269258,1.8191439776279438e-5,-6.167952512829171e-8,0.004075975798354961,1.840124607827241e-5,-6.210249277646861e-8,0.004076390776901895,1.8691144047334405e-5,-6.268964660170682e-8,0.004076717622217568,1.902494399145827e-5,-6.336732629192284e-8,0.004076951353972912,1.9361837440099986e-5,-6.405219775676581e-8,0.004077101746210127,1.96635091438295e-5,-6.46659095300111e-8,0.0040771903314508785,1.989970237527024e-5,-6.514655672234517e-8,0.004077246262806788,2.005165635670929e-5,-6.545569860243698e-8,0.004077302032084395,2.0113486301099913e-5,-6.558109876386352e-8,0.0040773896466789,2.0092092019349717e-5,-6.553647593087778e-8,0.004077537342209875,2.0006253451383885e-5,-6.535969647604283e-8,0.004077766555167821,1.988527789663943e-5,-6.511016738314298e-8,0.004078088689458051,1.976710784085783e-5,-6.486516989220184e-8,0.004078501328342447,1.96951136887764e-5,-6.471343334262049e-8,0.004078984379126887,1.971216651307541e-5,-6.474300004433253e-8,0.004079498090171917,1.985082590723176e-5,-6.502100525056876e-8,0.004079986278779378,2.0120252289371937e-5,-6.55667052274478e-8,0.004080388235941525,2.0494122797303468e-5,-6.632662153528476e-8,0.004080659282108669,2.0908086133771597e-5,-6.716933519624624e-8,0.0040807921628955995,2.1274886377819846e-5,-6.791652262392293e-8,0.004080825530396653,2.151542116556529e-5,-6.840653341073122e-8,0.00408083076942298,2.1590301346052778e-5,-6.855881484240877e-8,0.00408088328291802,2.1513241158620907e-5,-6.84010788689678e-8,0.004081035155949392,2.134019848115492e-5,-6.804703209129059e-8,0.004081302546732209,2.1144355238359504e-5,-6.764545015636383e-8,0.004081668918553097,2.0992072249557375e-5,-6.733141248227607e-8,0.00408209685499066,2.092848134334002e-5,-6.719713964870882e-8,0.004082540990125184,2.09731231952271e-5,-6.72830951751148e-8,0.004082958197133572,2.112218615191573e-5,-6.758231956110174e-8,0.00408331422869279,2.1353847294547875e-5,-6.805099975797541e-8,0.0040835874057665485,2.1634567155020024e-5,-6.862106700376206e-8,0.004083770116681637,2.1925434668298697e-5,-6.921309213990532e-8,0.004083868551366543,2.218816882099307e-5,-6.974866033503243e-8,0.0040839008942840345,2.239039499761978e-5,-7.016132947403248e-8,0.004083894232067077,2.250978778831476e-5,-7.0405207142333e-8,0.004083880571241067,2.25366960163881e-5,-7.046030306590217e-8,0.00408389252947929,2.2475031488631666e-5,-7.033426314434203e-8,0.004083959249418965,2.2341562177163083e-5,-7.00608865512821e-8,0.004084102836943754,2.2163971654346905e-5,-6.969625158825354e-8,0.004084335399848269,2.1977972812721735e-5,-6.931302372966625e-8,0.004084656614019778,2.1823582213426522e-5,-6.899305140282665e-8,0.004085051725131036,2.1740298666453316e-5,-6.881758196303943e-8,0.00408549043013785,2.1760499615591525e-5,-6.88536205880247e-8,0.004085928134416261,2.1900671848150498e-5,-6.913569532030017e-8,0.0040863118371121795,2.215161693360532e-5,-6.964550832191338e-8,0.004086592559838579,2.2471365259167905e-5,-7.029728262333709e-8,0.004086743511323791,2.278742626781085e-5,-7.094245749548945e-8,0.004086777069432108,2.3014650869490377e-5,-7.140649996468963e-8,0.004086748324489586,2.3086554162397423e-5,-7.155319319147187e-8,0.004086737210606845,2.298478523801362e-5,-7.134486880118048e-8,0.0040868162246094596,2.274751838270059e-5,-7.085933294161156e-8,0.004087022774633262,2.245098166859568e-5,-7.025197183973786e-8,0.004087351063401967,2.21773293531232e-5,-6.969023534135919e-8,0.004087762942117613,2.1988078250473938e-5,-6.929965848306815e-8,0.004088206426731321,2.1912888693068682e-5,-6.914113536613453e-8,0.0040886315320029145,2.1951514131721826e-5,-6.921484527465759e-8,0.004088999563181579,2.2082048330308014e-5,-6.947683655171173e-8,0.004089286694209541,2.227007195705091e-5,-6.985740065000953e-8,0.0040894840997412005,2.2476260228544262e-5,-7.027641992708612e-8,0.004089596524746182,2.2662126678655353e-5,-7.065510425729817e-8,0.004089640201779963,2.2794420332461283e-5,-7.092513321189004e-8,0.0040896402838893646,2.284862699133553e-5,-7.103599943485881e-8,0.004089627705490863,2.2811697616913437e-5,-7.096068474456991e-8,0.004089635411507748,2.2683801109797253e-5,-7.069921973276663e-8,0.004089694115390104,2.2478677051700234e-5,-7.027932793650815e-8,0.004089828036207196,2.2222286505042233e-5,-6.975365444924291e-8,0.004090051161470819,2.1949786269337134e-5,-6.919369964114232e-8,0.004090364511991667,2.170103932630054e-5,-6.86808528694382e-8,0.004090754790796106,2.151498959955255e-5,-6.829506592183514e-8,0.004091194666195651,2.142330844766789e-5,-6.810185855541579e-8,0.004091644993372157,2.1443624281504225e-5,-6.813824314344391e-8,0.0040920596967446154,2.1572833523424404e-5,-6.83986719144852e-8,0.004092394222561333,2.1782031162445324e-5,-6.88243378416857e-8,0.00409261763274889,2.2016102025325163e-5,-6.93022303226837e-8,0.0040927261558925485,2.2201941671687712e-5,-6.968213454108016e-8,0.004092752390399775,2.226781056753669e-5,-6.98165868041908e-8,0.004092761828782771,2.217010941896625e-5,-6.961594162020133e-8,0.004092832347522563,2.191489742469643e-5,-6.90924145000651e-8,0.004093023916310563,2.1559197363135236e-5,-6.836256507621499e-8,0.004093355382863215,2.1188443825140062e-5,-6.760103065423595e-8,0.004093801442773309,2.0883140487863215e-5,-6.697239893387999e-8,0.004094308353665391,2.0693642127327703e-5,-6.657980636574702e-8,0.004094815962852751,2.0632674505226746e-5,-6.644971858931919e-8,0.0040952745320277885,2.068224872375703e-5,-6.654596569206641e-8,0.0040956524926629954,2.0806194730034872e-5,-6.67951505187713e-8,0.004095937126088291,2.0961685991746184e-5,-6.711000602505771e-8,0.004096131713874594,2.1107263596701378e-5,-6.740571701477901e-8,0.004096251810518326,2.1207630473032185e-5,-6.760979080112129e-8,0.004096321810660583,2.123646163530461e-5,-6.766796655208107e-8,0.004096371868974252,2.117828020698269e-5,-6.754820351325027e-8,0.004096434786498749,2.102987222746858e-5,-6.724363080817744e-8,0.0040965424713340064,2.0801158863912584e-5,-6.677428971329367e-8,0.004096721827951759,2.0514974467630822e-5,-6.618661611930796e-8,0.004096990403276643,2.0205057223031076e-5,-6.554934138305202e-8,0.004097352573177603,1.9911884762201487e-5,-6.494509874821933e-8,0.0040977972420050135,1.9676507214749987e-5,-6.445798705026133e-8,0.00409829795293573,1.953307645034436e-5,-6.415839226662203e-8,0.00409881595753222,1.950131413892924e-5,-6.408749767114518e-8,0.0040993062317397294,1.958041987144307e-5,-6.424454113672405e-8,0.004099725949858662,1.9745840788228674e-5,-6.457984351456717e-8,0.004100044534043069,1.9950335607570126e-5,-6.499672432697775e-8,0.004100253632198516,2.013084019847643e-5,-6.536554032319219e-8,0.004100374104936217,2.0221969791798727e-5,-6.555157283498206e-8,0.004100455954183344,2.017477740412432e-5,-6.545379905395303e-8,0.0041005675891791,1.9975516702515512e-5,-6.504358355699308e-8,0.004100774805833544,1.965545542492212e-5,-6.438482789008002e-8,0.004101116885460426,1.928372582152993e-5,-6.361922074229146e-8,0.004101591870619371,1.894360567216253e-5,-6.291755062884213e-8,0.004102159238000308,1.8703470116557066e-5,-6.242018269746027e-8,0.00410275747591571,1.859703517591237e-5,-6.219659152435074e-8,0.0041033257619690735,1.8620141853715126e-5,-6.223872071816769e-8,0.004103819526959297,1.874065523208672e-5,-6.248114525442182e-8,0.004104216341986781,1.8912959818053868e-5,-6.283064370406833e-8,0.004104514378076207,1.909031638156852e-5,-6.319144791179558e-8,0.004104727475774354,1.9232607115184218e-5,-6.348113509152911e-8,0.004104879851426564,1.931006277488053e-5,-6.363836365897142e-8,0.004105001750774871,1.9304641429037065e-5,-6.362581755356893e-8,0.004105126061105588,1.9210481227772614e-5,-6.343120965738759e-8,0.004105285298052878,1.903412670485694e-5,-6.306774716776545e-8,0.004105508333763851,1.879451414608241e-5,-6.257405625726658e-8,0.004105816518487927,1.8522105372562953e-5,-6.201237977882163e-8,0.004106219408261088,1.8256224455901378e-5,-6.146316659960243e-8,0.004106711031782206,1.8039834534071813e-5,-6.101448588822051e-8,0.00410726820104739,1.7911758794004197e-5,-6.074620274769431e-8,0.00410785241819564,1.7897526858302653e-5,-6.071123337928272e-8,0.004108416180285091,1.8001212401072268e-5,-6.091866896065255e-8,0.0041089130241994485,1.820113748087769e-5,-6.132469615222139e-8,0.004109309104207408,1.8451646262672002e-5,-6.183595690444913e-8,0.0041095931983087045,1.869153552715818e-5,-6.232669811154938e-8,0.004109782084836411,1.8857869433917337e-5,-6.266717936609684e-8,0.004109919049387194,1.890226775739589e-5,-6.275732940350907e-8,0.004110064678761718,1.8805497319272342e-5,-6.255697025959145e-8,0.004110281124285083,1.858555641793577e-5,-6.210261238000375e-8,0.004110613703963449,1.829511610327427e-5,-6.150227952510236e-8,0.004111076186029953,1.8007169267841526e-5,-6.090602884987728e-8,0.004111646199815092,1.779292050803584e-5,-6.046048759796877e-8,0.0041122733354077975,1.770055011084275e-5,-6.026514317284309e-8,0.0041128962379817155,1.774357289428051e-5,-6.034829633072815e-8,0.004113460777981091,1.790224628658376e-5,-6.06698069713779e-8,0.004113932211375858,1.8134726118468195e-5,-6.114390913053563e-8,0.004114298813701848,1.8391239948785017e-5,-6.166830949707429e-8,0.004114568894174971,1.862570592744579e-5,-6.214811466500701e-8,0.004114764817887481,1.8802594772439982e-5,-6.251002429640857e-8,0.004114916941016438,1.8899611324047082e-5,-6.270792853777051e-8,0.004115058788903396,1.8907892822336005e-5,-6.272336282371548e-8,0.004115223529956793,1.883126597625609e-5,-6.256398245923092e-8,0.00411544112890223,1.8685396522870248e-5,-6.226179188618023e-8,0.004115735426728429,1.8496880076378558e-5,-6.187126850283822e-8,0.004116120670135077,1.830166124887891e-5,-6.146615285795259e-8,0.0041165976094830435,1.8141735245261587e-5,-6.113275473128614e-8,0.0041171501459813615,1.8059102673713814e-5,-6.095761535265301e-8,0.0041177444298378775,1.808677278934742e-5,-6.100903876410642e-8,0.0041183326482072515,1.8238377845822922e-5,-6.131565461947553e-8,0.004118862644895194,1.8500025366803055e-5,-6.184947666116739e-8,0.004119291845670744,1.882888305936909e-5,-6.252277761117837e-8,0.004119600995524518,1.916129270179671e-5,-6.320463576506777e-8,0.004119802051454148,1.9429176950619105e-5,-6.375467477591138e-8,0.004119936452241972,1.9579389208801835e-5,-6.406297574667329e-8,0.004120063979010977,1.958911524116044e-5,-6.408192449547398e-8,0.004120246088908799,1.9472222424355246e-5,-6.383944294513096e-8,0.00412052913259154,1.927501773422856e-5,-6.343041897475507e-8,0.004120932292519319,1.906320686341203e-5,-6.299000026420115e-8,0.0041214433902594435,1.890409343719484e-5,-6.265701578056743e-8,0.004122023468462977,1.884920647966687e-5,-6.253815085908088e-8,0.004122618451191795,1.8922390072082127e-5,-6.268323571647604e-8,0.004123173897075194,1.911656377839061e-5,-6.307832429936484e-8,0.0041236480036418895,1.939920158835302e-5,-6.365677983994343e-8,0.004124019202185466,1.9723461236942205e-5,-6.432213367561228e-8,0.004124287288244285,2.0040448516884058e-5,-6.49734234542431e-8,0.004124469567213898,2.0308896945277934e-5,-6.552527867409888e-8,0.004124594685466592,2.050066336393985e-5,-6.591937018917111e-8,0.004124696486907284,2.0602417835979338e-5,-6.61279466825767e-8,0.004124809121272801,2.0614914334906605e-5,-6.615231627858997e-8,0.00412496354787499,2.055127128513555e-5,-6.601926590271963e-8,0.004125184918062037,2.0435134717556e-5,-6.57772755655983e-8,0.004125490124622406,2.029885113054249e-5,-6.549281651963915e-8,0.004125884999648892,2.0181120072676474e-5,-6.524562199853932e-8,0.004126361187835996,2.012312227810521e-5,-6.512079755335909e-8,0.004126893637683346,2.016202160381174e-5,-6.519543374690128e-8,0.0041274407643772945,2.0321520249793008e-5,-6.551902559572129e-8,0.0041279499280898095,2.0601210358685798e-5,-6.609131944530118e-8,0.00412836969991199,2.0969274287628928e-5,-6.684706034379096e-8,0.004128666706476001,2.1364544730577544e-5,-6.766013860494177e-8,0.0041288402130868545,2.1711284432474734e-5,-6.837410979895914e-8,0.0041289260941142205,2.1943052421982018e-5,-6.88515335136089e-8,0.0041289863790102055,2.2025323150899638e-5,-6.902071138081227e-8,0.004129088666642758,2.1966206179071726e-5,-6.889782614187511e-8,0.0041292849632450085,2.1811418243791324e-5,-6.857662713945957e-8,0.0041295982485091585,2.1627811881081866e-5,-6.819461136355642e-8,0.004130019713586947,2.1483464269815928e-5,-6.789215710034456e-8,0.004130514847826705,2.1431037977969292e-5,-6.777831067919666e-8,0.004131034556120914,2.1497848193685356e-5,-6.79102050168444e-8,0.0041315275855180284,2.1683260008845836e-5,-6.828741599827955e-8,0.0041319514162801475,2.196236627165169e-5,-6.885922779761631e-8,0.0041322797208666745,2.2294052841138688e-5,-6.95410620986726e-8,0.004132505435793167,2.2631076927335552e-5,-7.023526137874012e-8,0.004132639559466678,2.2929656701609897e-5,-7.085103297987233e-8,0.0041327068073958445,2.3156619956378226e-5,-7.131941152567361e-8,0.004132739789933165,2.329325563893979e-5,-7.160135080100659e-8,0.0041327732697304005,2.3336073204430915e-5,-7.168931655885992e-8,0.004132839498526474,2.3295362222597494e-5,-7.160425905283545e-8,0.00413296489491445,2.319267720853539e-5,-7.139037898864675e-8,0.004133167727447015,2.3058081690060263e-5,-7.110948143247038e-8,0.004133456251584568,2.2927368246838634e-5,-7.083536734083875e-8,0.004133826864680379,2.2838893766911416e-5,-7.064744138921729e-8,0.004134262246139552,2.2829234263837425e-5,-7.062178621276581e-8,0.004134730285875639,2.2926717969593375e-5,-7.081769093706275e-8,0.004135185707911027,2.31425991815179e-5,-7.125916402041035e-8,0.0041355769071945506,2.346164589422353e-5,-7.191520269449173e-8,0.004135859441965122,2.383687117408675e-5,-7.268874415754124e-8,0.00413601369908566,2.4195039750171892e-5,-7.342810252300716e-8,0.004136058529573073,2.4456681249135846e-5,-7.396855759155849e-8,0.004136050487278654,2.456513384479195e-5,-7.419258398190955e-8,0.004136065019007573,2.4509860369459744e-5,-7.407805053129414e-8,0.004136168231272512,2.4330162569653813e-5,-7.370577611668552e-8,0.004136394459822497,2.409789030051738e-5,-7.322376999160329e-8,0.0041367395368764786,2.389056192725738e-5,-7.279186780905995e-8,0.0041371686481556655,2.3768649735412706e-5,-7.253505860848046e-8,0.004137631091783037,2.3763952092816136e-5,-7.251957894397494e-8,0.0041380747660009765,2.3878490225956004e-5,-7.275049880309497e-8,0.004138456791204421,2.4090059448810835e-5,-7.318286374029693e-8,0.004138749601503419,2.4360668956780575e-5,-7.37387885346733e-8,0.004138943194899096,2.4645468588374668e-5,-7.4325712073413e-8,0.004139044422775969,2.49009409295305e-5,-7.485336553975188e-8,0.0041390740178470385,2.509158954761269e-5,-7.52478055388981e-8,0.004139062078858488,2.519450532721772e-5,-7.546109277291754e-8,0.004139042857680081,2.5201537323836e-5,-7.547591881161818e-8,0.004139049681730755,2.5119185084212284e-5,-7.530538123596477e-8,0.004139110696144454,2.4966623708413148e-5,-7.498882514872912e-8,0.004139245793706889,2.4772544989273615e-5,-7.458527889421062e-8,0.004139464664095014,2.4571523457755883e-5,-7.416602259172535e-8,0.0041397656452513715,2.4400247311316832e-5,-7.380696250121588e-8,0.004140135103394312,2.4293510720908743e-5,-7.358048043260725e-8,0.004140547313718007,2.427954414351527e-5,-7.354575599206736e-8,0.004140965413628404,2.4374141223041407e-5,-7.373639326420042e-8,0.004141344873455721,2.457362346913388e-5,-7.414551482757032e-8,0.004141641326420783,2.48483642172095e-5,-7.471205791422762e-8,0.0041418235765014145,2.5141002654557318e-5,-7.53169965475809e-8,0.004141889215372904,2.537511100337642e-5,-7.58014858398564e-8,0.004141874921065243,2.5477517766043897e-5,-7.601342829768719e-8,0.004141851043315424,2.5408217951499304e-5,-7.58696248028512e-8,0.004141897199717203,2.5181416417097176e-5,-7.539927233814727e-8,0.004142070032062376,2.4862233791190885e-5,-7.473692425033855e-8,0.004142382136416294,2.4539521848464896e-5,-7.406615519129582e-8,0.004142802962387187,2.4291862821753357e-5,-7.354938496791458e-8,0.004143276515293847,2.4165133492908547e-5,-7.328171206236878e-8,0.004143742610608551,2.416776805253065e-5,-7.328119646301892e-8,0.004144152149564842,2.427840550811608e-5,-7.350451056510971e-8,0.004144474270556827,2.4457891470911152e-5,-7.387144252687797e-8,0.004144697408744952,2.4660435604785124e-5,-7.428767698568889e-8,0.004144827026181618,2.484202674459949e-5,-7.466207837487929e-8,0.004144881994566124,2.4966196964502726e-5,-7.491871231531306e-8,0.0041448905048311665,2.500781452275799e-5,-7.500493400442998e-8,0.004144885711446158,2.4955282841337656e-5,-7.489617429690564e-8,0.004144901261135358,2.481120187725696e-5,-7.459741678649363e-8,0.004144966982912023,2.4591489692204364e-5,-7.41413441693972e-8,0.004145105121592094,2.4322991873659133e-5,-7.358329870301691e-8,0.004145327544473218,2.403980237268326e-5,-7.299364256044502e-8,0.004145634190738719,2.377879003345024e-5,-7.24485997969921e-8,0.0041460127758167105,2.3574818073592004e-5,-7.202053283003591e-8,0.00414643966336036,2.3455929817344242e-5,-7.17680808924154e-8,0.004146881876040019,2.343860803994068e-5,-7.172625974921142e-8,0.0041473004753961136,2.3523144481116746e-5,-7.189658153429537e-8,0.004147656007247302,2.3689506623327728e-5,-7.223811648289735e-8,0.004147916808771172,2.3895221603221915e-5,-7.266284458651311e-8,0.0041480699650081705,2.4078275121643128e-5,-7.304167053080141e-8,0.004148132195104441,2.4168654642653938e-5,-7.322864004199276e-8,0.004148154320381181,2.4109831376965727e-5,-7.310586674653458e-8,0.004148211444887462,2.388423375298592e-5,-7.263656875158706e-8,0.004148377033934869,2.3528252738308904e-5,-7.189610084153054e-8,0.004148691963497075,2.3123109596003326e-5,-7.105280147716092e-8,0.0041491473031022115,2.27629923552026e-5,-7.030185625864194e-8,0.004149691355374006,2.251899382813585e-5,-6.979067613092937e-8,0.004150253959921051,2.2418989460666156e-5,-6.957735617198645e-8,0.0041507716459602394,2.2449203170718728e-5,-6.963393426794152e-8,0.0041512023452277315,2.2568972898863263e-5,-6.987681903782312e-8,0.004151528686471275,2.2727414027209948e-5,-7.020106669410957e-8,0.004151754402958528,2.287579296648152e-5,-7.050582576156142e-8,0.004151898371708361,2.2974592076086222e-5,-7.070894000466604e-8,0.004151988885126911,2.2996670531363484e-5,-7.075363347500511e-8,0.004152058955955876,2.2928322974470473e-5,-7.061092750138042e-8,0.004152142382845093,2.2769356506527704e-5,-7.02799821925708e-8,0.0041522701226427315,2.253246200945357e-5,-6.978684571499767e-8,0.004152466791086021,2.2241707192617996e-5,-6.91812637823709e-8,0.004152747431065876,2.192983419561754e-5,-6.853098876725601e-8,0.004153115009949348,2.163416853510276e-5,-6.791329347391853e-8,0.004153559267504416,2.1391372281000134e-5,-6.740420502635174e-8,0.004154057371060857,2.1231670864169294e-5,-6.706668724391143e-8,0.004154576533781043,2.1173336928637963e-5,-6.693925978559595e-8,0.004155078480972005,2.121824985076246e-5,-6.702665399660066e-8,0.00415552544495053,2.1349266802329204e-5,-6.729405133405011e-8,0.004155887326128362,2.153005321203464e-5,-6.76663910045802e-8,0.004156149549489265,2.1708297200182368e-5,-6.803485371706521e-8,0.004156320429207047,2.18236504091612e-5,-6.827342868724723e-8,0.004156435436193511,2.1821325191162423e-5,-6.826745995209362e-8,0.004156554325266331,2.1670061717922965e-5,-6.795132318021076e-8,0.004156747395736589,2.137880483492358e-5,-6.734326680703699e-8,0.004157071827894007,2.100211751024774e-5,-6.655662407843876e-8,0.004157547507220719,2.0626045399976664e-5,-6.577030263586701e-8,0.004158146618620178,2.033725265562143e-5,-6.516458127082557e-8,0.0041588047435924405,2.0191197783449442e-5,-6.485500848833399e-8,0.00415944679960301,2.0196654226797564e-5,-6.486025586921148e-8,0.004160012347865569,2.0321627878139327e-5,-6.51143438105989e-8,0.004160468885463152,2.0512010737360385e-5,-6.550526134746365e-8,0.004160812154099564,2.071068901280456e-5,-6.591452917912113e-8,0.004161059067630895,2.087014425419266e-5,-6.624331294613351e-8,0.004161239040043181,2.095792204410952e-5,-6.642382604808944e-8,0.004161386829742425,2.095738077188751e-5,-6.642102047979822e-8,0.0041615375835493676,2.0866361049708102e-5,-6.622998144256762e-8,0.004161723445766619,2.069540030448162e-5,-6.587231810027344e-8,0.004161970833005958,2.0465957657424777e-5,-6.53924752623177e-8,0.004162297807662163,2.0208374532718804e-5,-6.485342857751e-8,0.004162711465524075,1.9958972538912966e-5,-6.433060157681065e-8,0.004163205788963567,1.9755721872438256e-5,-6.390289279020207e-8,0.004163760874885751,1.9632401292486634e-5,-6.364064398012052e-8,0.0041643445126078645,1.9611945515193513e-5,-6.359191191485507e-8,0.004164916661599382,1.9700370056451175e-5,-6.376982675484982e-8,0.004165436593260296,1.9883038081479463e-5,-6.414465536185601e-8,0.004165871533002719,2.0124840290481865e-5,-6.464389273479223e-8,0.004166204973161034,2.03750141868381e-5,-6.516203187808346e-8,0.0041664427071129,2.0576291719662896e-5,-6.557950750839939e-8,0.004166614831251215,2.067725739446178e-5,-6.578854573835485e-8,0.004166772201513261,2.064596860090837e-5,-6.572180046924913e-8,0.004166976394844767,2.0481684872547044e-5,-6.537706967734264e-8,0.004167283762105637,2.0220289969068403e-5,-6.482876722062341e-8,0.0041677270966903575,1.9928853053708316e-5,-6.42166276496646e-8,0.004168301889621721,1.9687639520167372e-5,-6.370817178698891e-8,0.004168964945397345,1.9564346141463034e-5,-6.344493463573707e-8,0.0041696482095524585,1.9591663234778752e-5,-6.349560115607152e-8,0.004170281928490304,1.975909669494271e-5,-6.383883261318782e-8,0.004170815776114936,2.002177562328637e-5,-6.438149484450375e-8,0.004171229165072177,2.0319307693815556e-5,-6.499787658365365e-8,0.004171529641595815,2.0594371506068787e-5,-6.556842529790701e-8,0.004171744205095692,2.08044574697309e-5,-6.600426377969002e-8,0.004171909319060356,2.0925909999591906e-5,-6.625570255367975e-8,0.004172063035543002,2.095283945319605e-5,-6.631007474738575e-8,0.004172240006446445,2.0893942567726186e-5,-6.618518936112582e-8,0.004172468631381149,2.0769185793469826e-5,-6.592244924085984e-8,0.00417276921141435,2.0606998287037323e-5,-6.558098507505531e-8,0.004173152263607924,2.044171213681954e-5,-6.523229587640529e-8,0.004173616699217774,2.0310521591751063e-5,-6.49539193513707e-8,0.004174148228173609,2.0249146804649307e-5,-6.482044670278411e-8,0.0041747190205534725,2.0285797724636808e-5,-6.489100076513135e-8,0.004175290038969232,2.043401685070224e-5,-6.519431780277011e-8,0.004175817138082009,2.0686286120805764e-5,-6.571531492271147e-8,0.004176260742955059,2.1011275247548487e-5,-6.638915896100802e-8,0.004176596947866172,2.135738903704526e-5,-6.710846106930013e-8,0.004176826283818876,2.1663316572518304e-5,-6.774516430718877e-8,0.004176976440504031,2.187329985370935e-5,-6.818241888125293e-8,0.004177097171342621,2.1952541600749897e-5,-6.834687461472092e-8,0.004177248393652027,2.1897850265493772e-5,-6.823110493770005e-8,0.004177484698447774,2.1740143881249863e-5,-6.789904756326871e-8,0.004177840456289382,2.153777152476557e-5,-6.74722389787032e-8,0.004178319648003268,2.1361956093379974e-5,-6.709951969906079e-8,0.004178893720907776,2.1277850737766288e-5,-6.69174602353876e-8,0.004179508920172153,2.1326593435868438e-5,-6.701273548062968e-8,0.00418010143870764,2.1514398644594126e-5,-6.739909921106913e-8,0.004180615325979776,2.181278040040501e-5,-6.801760816720763e-8,0.004181016588925626,2.2169477458321236e-5,-6.875930338309788e-8,0.004181298828271539,2.2524986894682156e-5,-6.949975199756988e-8,0.004181480040607371,2.282791399696808e-5,-7.013122390191389e-8,0.0041815939531634075,2.304443453220907e-5,-7.058260201965475e-8,0.004181680312312281,2.3160968578745368e-5,-7.082508197011263e-8,0.0041817771738139765,2.31820016723154e-5,-7.086767934850143e-8,0.004181916138040746,2.3125777208913207e-5,-7.074824050457918e-8,0.004182119981389813,2.301988109644779e-5,-7.052420786013162e-8,0.004182401587912403,2.2897560902910874e-5,-7.026493333350233e-8,0.004182763226082177,2.279464572132352e-5,-7.004528039888718e-8,0.004183195714757309,2.27463722411251e-5,-6.993905040066949e-8,0.0041836776903782045,2.2783245722880823e-5,-7.001037080800247e-8,0.004184175936522711,2.2925337371297516e-5,-7.030174363642383e-8,0.004184648351533992,2.3175376573468616e-5,-7.081948145094982e-8,0.00418505106926234,2.351265779926658e-5,-7.152078397866612e-8,0.00418534981740814,2.3891456557676195e-5,-7.231026107348822e-8,0.004185532699444083,2.4247798955379997e-5,-7.305402455302344e-8,0.0041856186975773695,2.4515523630203316e-5,-7.361333203789702e-8,0.004185656116733408,2.4647127383329684e-5,-7.388829334143641e-8,0.004185709463990267,2.4630561585255983e-5,-7.385309068068146e-8,0.004185839553237669,2.4494045601495442e-5,-7.356612233607162e-8,0.004186085175026919,2.4297013898756418e-5,-7.315119149276783e-8,0.004186453058714402,2.4111865678345753e-5,-7.275951997366621e-8,0.00418691819641979,2.4003918546233812e-5,-7.252797509274851e-8,0.004187432570247736,2.4015686123816057e-5,-7.254618294928173e-8,0.004187938527366445,2.4158751006996613e-5,-7.283932258420115e-8,0.00418838289655064,2.4413937365967342e-5,-7.336815666881627e-8,0.004188728513422404,2.4738606360928003e-5,-7.404399556996649e-8,0.00418896077263449,2.5078536869024493e-5,-7.475342352649681e-8,0.004189088187108331,2.5380979408035573e-5,-7.538568393181177e-8,0.004189137637378765,2.560542386655624e-5,-7.585541248978948e-8,0.004189146482758514,2.5729746333905715e-5,-7.611571356090715e-8,0.004189154226481784,2.5751295531856018e-5,-7.616056328669566e-8,0.004189195811872894,2.5684118435083626e-5,-7.601902615037475e-8,0.004189297432699497,2.55542284301067e-5,-7.574531169066045e-8,0.004189474640743976,2.539461358412779e-5,-7.54082984053367e-8,0.004189731923761839,2.5240920754474522e-5,-7.508253449426259e-8,0.004190062893369365,2.5127892543049684e-5,-7.484086743090381e-8,0.004190450577587119,2.508605327542561e-5,-7.474758404267058e-8,0.004190867863493793,2.5137902888573805e-5,-7.48504270355493e-8,0.004191278851066964,2.5293029167128904e-5,-7.517021445445091e-8,0.004191642553303303,2.55423836176811e-5,-7.568861108228818e-8,0.004191920429727899,2.585359199989586e-5,-7.633807975528864e-8,0.004192087961726734,2.6171043691637975e-5,-7.700197953776512e-8,0.0041921473996541884,2.6425138639552714e-5,-7.753404214212685e-8,0.004192134962329874,2.655208648022618e-5,-7.780007245043969e-8,0.004192114992464122,2.6518357750800253e-5,-7.772933711625707e-8,0.004192159595389882,2.6337159580545134e-5,-7.734907825665287e-8,0.0041923223662205,2.6066037508450072e-5,-7.677941655751047e-8,0.004192619875803577,2.578592305862587e-5,-7.618950486964727e-8,0.0041930293080447165,2.557321200031067e-5,-7.57392457018824e-8,0.004193500258489232,2.5478197525003033e-5,-7.553431849801728e-8,0.004193972401104941,2.5516253407646417e-5,-7.560771560475328e-8,0.004194391412284077,2.5670481527066318e-5,-7.592504671513956e-8,0.004194719476384159,2.5901118869691845e-5,-7.640387556528128e-8,0.004194939943894964,2.6157253045760205e-5,-7.693795310378307e-8,0.004195057196908215,2.6387965736528168e-5,-7.742045708403442e-8,0.004195093049339342,2.655137914482246e-5,-7.776307074307687e-8,0.0041950809049979216,2.662075619193178e-5,-7.790902792572845e-8,0.0041950589164355375,2.6587196549228087e-5,-7.783901651533447e-8,0.004195063418449753,2.6459035460426867e-5,-7.75700484300396e-8,0.004195123687424457,2.6258649342688074e-5,-7.714875237095379e-8,0.004195258624765763,2.6017731648806405e-5,-7.664139315682479e-8,0.0041954753979068695,2.5772178721423704e-5,-7.612311259338277e-8,0.004195769575099257,2.5557431308106203e-5,-7.566822001278618e-8,0.004196126138573454,2.540453466231477e-5,-7.534204817948078e-8,0.004196520954855405,2.53367037714102e-5,-7.51938225051339e-8,0.004196922622790946,2.5365966871741377e-5,-7.524954946219042e-8,0.004197295156724912,2.5489504985313087e-5,-7.550410520029874e-8,0.004197602564194241,2.5685951525308174e-5,-7.591317047680027e-8,0.004197816369561635,2.5913292788382522e-5,-7.638861304882352e-8,0.004197925960352721,2.6111518336327034e-5,-7.68040568734833e-8,0.004197949030411529,2.6213720596972247e-5,-7.701841069760118e-8,0.004197935777056729,2.6166841984154432e-5,-7.691972134593537e-8,0.004197959246279704,2.5955973534895593e-5,-7.647632694596954e-8,0.004198090449018128,2.561816100677808e-5,-7.576574198158926e-8,0.0041983690577137925,2.523320397695459e-5,-7.495518310321368e-8,0.00419878704502883,2.4893403872054307e-5,-7.423809664192561e-8,0.004199294657828197,2.466944744060831e-5,-7.37627848726335e-8,0.004199822567905109,2.4590529631573546e-5,-7.35909004360926e-8,0.004200305861270729,2.4644214422214637e-5,-7.369713717322046e-8,0.0042006995521685,2.478930388189759e-5,-7.399597656866322e-8,0.0042009837510207735,2.497203494463084e-5,-7.437531825774549e-8,0.004201161612568837,2.5139530804678885e-5,-7.472443695283559e-8,0.0042012538478359,2.524867550071118e-5,-7.495254886807737e-8,0.004201292331705662,2.527094607106964e-5,-7.49991216701699e-8,0.00420131393742547,2.5194311755950153e-5,-7.483814941996342e-8,0.004201354951284227,2.502295376661067e-5,-7.447781373617757e-8,0.0042014462866753815,2.4775206437341213e-5,-7.395626000164893e-8,0.004201609778427287,2.448005996210069e-5,-7.333420007618452e-8,0.004201855844869758,2.4172631007671907e-5,-7.268529378705414e-8,0.004202182698645817,2.3889171851144942e-5,-7.208562808425933e-8,0.004202577017310062,2.3662279170995062e-5,-7.160372968477706e-8,0.004203015758641201,2.351672818202007e-5,-7.129194406720078e-8,0.004203468829726377,2.3466037764782944e-5,-7.11792747736706e-8,0.004203902457944527,2.3509754658052647e-5,-7.126556074908164e-8,0.004204283346550584,2.3631449505063676e-5,-7.151698648158335e-8,0.004204584061959764,2.3797752657327603e-5,-7.186374646115213e-8,0.0042047900364866496,2.3959694992948275e-5,-7.22027000677904e-8,0.0042049075001769935,2.4058568751254713e-5,-7.240978381987185e-8,0.004204969667533672,2.4038460412971196e-5,-7.23666645880367e-8,0.004205036113172845,2.386531479855544e-5,-7.200115046387884e-8,0.004205179685910332,2.3546624248548318e-5,-7.132872503889457e-8,0.0042054607744250174,2.313929579412769e-5,-7.046897812798647e-8,0.00420589989798239,2.27347232082449e-5,-6.961404483515537e-8,0.004206466015888612,2.242427014344388e-5,-6.895601774624227e-8,0.004207089445384607,2.2264274521212205e-5,-6.861351443079364e-8,0.004207690765000283,2.2260358548173973e-5,-6.859880736537034e-8,0.004208207794816714,2.2375384589948536e-5,-6.883449347627073e-8,0.004208608832725967,2.2550256047354552e-5,-6.919700655526116e-8,0.004208892174623421,2.2724239908018644e-5,-6.955907850228315e-8,0.0042090782601795,2.284808125073127e-5,-6.981713891001085e-8,0.004209200296160906,2.2889691428958756e-5,-6.990328564693268e-8,0.004209296350094005,2.283492007234416e-5,-6.97870980120373e-8,0.004209403565906254,2.268592751806816e-5,-6.947247890090181e-8,0.004209554005893156,2.2458595057271006e-5,-6.899240475833879e-8,0.004209771538720962,2.2179411033598958e-5,-6.840241608206303e-8,0.00421006954601963,2.1881833085248087e-5,-6.777287276654248e-8,0.0042104495193963105,2.1602047665670182e-5,-6.717991814560981e-8,0.0042109008189892645,2.137421177667367e-5,-6.669544160393412e-8,0.004211401868604031,2.1225620883696596e-5,-6.637699983388579e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_25.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_25.json
deleted file mode 100644
index 56ed583..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_25.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":25000,"numberOfSamples":1000,"samples":[0.0042119228229227776,2.117242668988509e-5,-6.625892772821196e-8,0.00421242951621424,2.1216421815835606e-5,-6.634559593072919e-8,0.004212888396602669,2.1343324948057996e-5,-6.660764965178544e-8,0.004213272077688695,2.1522955697259163e-5,-6.698208934125665e-8,0.004213565153061029,2.171164617537871e-5,-6.737707330135306e-8,0.004213769823711238,2.1857483451438128e-5,-6.768286051317844e-8,0.004213910198871436,2.190927122349849e-5,-6.779084064030356e-8,0.004214032922657624,2.1829493537962127e-5,-6.762116816618272e-8,0.004214200852587069,2.160938196621095e-5,-6.71548148810529e-8,0.004214477322022827,2.1280462370500936e-5,-6.645802296286292e-8,0.004214903100503305,2.091373094832423e-5,-6.568048925307495e-8,0.004215475880773675,2.0600151223130995e-5,-6.501412598684065e-8,0.004216145898744334,2.0417442948628495e-5,-6.462301093688222e-8,0.004216833579580056,2.0400376819345232e-5,-6.458079850055622e-8,0.004217459970123071,2.053157579362677e-5,-6.485132807375522e-8,0.004217972502130171,2.0755398012646987e-5,-6.531780445307867e-8,0.004218354775674382,2.100283844312381e-5,-6.583514699901046e-8,0.004218621473875984,2.1213061032032433e-5,-6.627523661803764e-8,0.004218806437975746,2.1344829856945014e-5,-6.655094448616457e-8,0.0042189509605779895,2.1378863630848206e-5,-6.662115374902181e-8,0.004219095409105211,2.1315105530184897e-5,-6.648517553484988e-8,0.004219274283414654,2.1168357298914947e-5,-6.617374421911176e-8,0.0042195135261831026,2.0964046864058137e-5,-6.574021509881736e-8,0.0042198289277669875,2.0734467344645254e-5,-6.52526270229363e-8,0.004220225061155502,2.0515161357874974e-5,-6.478598265567233e-8,0.004220694716869642,2.0341013243499278e-5,-6.441392136515793e-8,0.004221219187507694,2.024179213121955e-5,-6.419932023758131e-8,0.004221769966808666,2.0237378693578086e-5,-6.418431147260425e-8,0.0042223122778394,2.033346797221274e-5,-6.438129961003437e-8,0.004222810379006872,2.051879431947242e-5,-6.47670814186124e-8,0.0042232340746766765,2.0764877854194254e-5,-6.528213506219293e-8,0.004223565395287756,2.1029006330211313e-5,-6.583665389689409e-8,0.004223804128873946,2.1260585340412296e-5,-6.632374566900979e-8,0.004223970876957566,2.1410361180324564e-5,-6.663887945834917e-8,0.004224106369310762,2.14415465441151e-5,-6.670356203916723e-8,0.0042242657983087495,2.134115638552841e-5,-6.648957977625455e-8,0.004224507399419219,2.112855412696634e-5,-6.603731852191216e-8,0.004224876159364572,2.085686994094544e-5,-6.545888489491197e-8,0.004225386732174476,2.0603067839644234e-5,-6.491709513429656e-8,0.004226013160943935,2.0446027498544085e-5,-6.457905743766462e-8,0.004226693128151923,2.043932475634994e-5,-6.45585312505897e-8,0.004227347974683707,2.059163946791718e-5,-6.487440472016235e-8,0.004227909703767054,2.086563813515611e-5,-6.544822544194953e-8,0.004228341362829596,2.1195202646072075e-5,-6.614053530613902e-8,0.004228642402086946,2.1510125092377255e-5,-6.680302045077538e-8,0.004228840647210552,2.1755805619472572e-5,-6.732012834688552e-8,0.004228978598476052,2.190213346099413e-5,-6.762786101905045e-8,0.0042291010496863166,2.194302357527711e-5,-6.771287814009528e-8,0.0042292470592518745,2.1891133200885374e-5,-6.760145956889963e-8,0.004229446049571827,2.1771621167792976e-5,-6.73464393792848e-8,0.004229716468222322,2.1616855272094037e-5,-6.701607817399818e-8,0.004230065522044785,2.146232151279719e-5,-6.668539495546459e-8,0.004230489183412082,2.134317016838142e-5,-6.642880367863476e-8,0.004230972374903851,2.12906866823376e-5,-6.631261090471438e-8,0.004231489771832401,2.132821216102119e-5,-6.638640134078987e-8,0.00423200798906628,2.1466603019303647e-5,-6.667347585959588e-8,0.004232489876042049,2.1700112891328544e-5,-6.716214332465655e-8,0.004232901078212662,2.2004253231900497e-5,-6.780110661848243e-8,0.0042332180115707534,2.233735468493118e-5,-6.850259405413669e-8,0.004233435294041164,2.264690582136456e-5,-6.915558955274176e-8,0.004233570081750011,2.288024682846949e-5,-6.964836523197342e-8,0.004233661175459219,2.299740945877807e-5,-6.989570010663392e-8,0.00423376212210765,2.298272324126421e-5,-6.986362270031153e-8,0.004233929261141872,2.2851697779811398e-5,-6.958422181245012e-8,0.004234207211841524,2.2650495622957343e-5,-6.915475814576002e-8,0.004234615425259081,2.2446809897144912e-5,-6.871849564593151e-8,0.004235140014210337,2.231313047848069e-5,-6.842929415254376e-8,0.004235734703969059,2.230620625541042e-5,-6.840801170460767e-8,0.004236332511029088,2.2449320169543877e-5,-6.870475534746973e-8,0.004236865352914913,2.2724777630289437e-5,-6.928273029224622e-8,0.004237284245080581,2.3080599212484498e-5,-7.003223837757029e-8,0.004237571736415137,2.3448608166368112E-05,-7.080893495957507e-8,0.004237742342841121,2.3765484141766943e-5,-7.147847424023432e-8,0.004237833085799702,2.3988137660734125e-5,-7.194917126202141e-8,0.004237890189882673,2.4099447950975766e-5,-7.218425790080511e-8,0.004237957595590428,2.4105773514283147e-5,-7.219670738284095e-8,0.004238069919582637,2.4030269658422523e-5,-7.203516533111505e-8,0.004238249618365501,2.39056679238968e-5,-7.176871236223504e-8,0.004238506777009503,2.376842054507791e-5,-7.14744782604305e-8,0.004238839960336995,2.3654485763485328e-5,-7.122870298290076e-8,0.004239237195182148,2.359612316887198e-5,-7.109993006965748e-8,0.00423967689584437,2.3618836515735366e-5,-7.114251881836275e-8,0.00424012919339875,2.3737839999153642e-5,-7.138914208350213e-8,0.004240558555859129,2.3954028829091893e-5,-7.184219988672258e-8,0.004240928632216016,2.425035359666654e-5,-7.246603747851151e-8,0.004241209686151803,2.4590515496345863e-5,-7.31840475098621e-8,0.004241387602314709,2.4922420371615704e-5,-7.388587732093796e-8,0.00424147157146284,2.5187961743731242e-5,-7.44481247159738e-8,0.004241496426214619,2.5338027012562994e-5,-7.476619148263978e-8,0.004241516665120159,2.53481927416961e-5,-7.478765248745461e-8,0.004241592614544567,2.5228750538790737e-5,-7.453362965654456e-8,0.004241773093309497,2.5024267468472517e-5,-7.409800415341168e-8,0.004242080828456248,2.480219962828495e-5,-7.362345063271682e-8,0.004242505642303187,2.463448176734963e-5,-7.326256531566072e-8,0.004243007230734643,2.4578174120876555e-5,-7.313688342900408e-8,0.004243526169055569,2.4660842178798045e-5,-7.330574786416262e-8,0.004243999680967984,2.4874463362710607e-5,-7.375310120416703e-8,0.0042443776570801894,2.5179193207145155e-5,-7.439515440950807e-8,0.004244634361830328,2.551555261019759e-5,-7.510602778954726e-8,0.0042447725833558445,2.5820973313206575e-5,-7.575282082432305e-8,0.004244819645713096,2.6045265557054406e-5,-7.622855268466984e-8,0.004244817657500771,2.6160427534331055e-5,-7.647316726976563e-8,0.004244812063322777,2.6162998914343238e-5,-7.647870316326475e-8,0.004244842201737484,2.6070232563465724e-5,-7.628128320228887e-8,0.004244935733735506,2.5913058455968382e-5,-7.594622609168704e-8,0.004245106822619801,2.572872050475992e-5,-7.555241538069889e-8,0.004245356804103788,2.5554802441117856e-5,-7.517960510152853e-8,0.004245675934005867,2.5425040582432493e-5,-7.48995353162313e-8,0.004246045266184226,2.53664067068817e-5,-7.47697603900719e-8,0.004246438382144604,2.5396616745149382e-5,-7.482836234073875e-8,0.004246823330043397,2.552139706651534e-5,-7.508808847131201e-8,0.004247165619004974,2.5731389115804212e-5,-7.55296442638736e-8,0.004247433275937945,2.5999499171301278e-5,-7.609589214748047e-8,0.0042476044631466715,2.6280705900143398e-5,-7.669131102787287e-8,0.004247676613223559,2.6517177808645175e-5,-7.719284879324458e-8,0.004247673609435171,2.6650746595202952e-5,-7.747651982304646e-8,0.004247645708001549,2.66412350943042e-5,-7.74564776254694e-8,0.004247658309913079,2.6483856580341366e-5,-7.712204781528955e-8,0.004247771456591539,2.6216061034290582e-5,-7.655226898516179e-8,0.004248018640476505,2.590800755606473e-5,-7.589568494417051e-8,0.004248395212570714,2.563994069145496e-5,-7.532244221725396e-8,0.004248861259489376,2.5477021622606432e-5,-7.497104067998361e-8,0.00424935590167607,2.5452038700586148e-5,-7.491170753332291e-8,0.004249815624233812,2.5560514080836893e-5,-7.513587325912593e-8,0.0042501900081495896,2.5766672608186727e-5,-7.556853344785969e-8,0.004250451383611506,2.6015861961209102e-5,-7.609427999654669e-8,0.0042505977356969114,2.6248914551540066e-5,-7.658758795271883e-8,0.0042506498090625795,2.6415031884901112e-5,-7.694017883491166e-8,0.004250644097952955,2.648096828203765e-5,-7.708071584908982e-8,0.0042506237812728765,2.6435303290169302e-5,-7.698415129034421e-8,0.004250629816343292,2.6287691938557887e-5,-7.667036324682085e-8,0.0042506940711203485,2.6064200669597658e-5,-7.619435383064163e-8,0.00425083548128867,2.5800616341765846e-5,-7.563201480582007e-8,0.004251059186062351,2.5535598231431913e-5,-7.506549954746807e-8,0.004251357853991461,2.5304981396812947e-5,-7.457106386619228e-8,0.004251714123475805,2.5137752884505912e-5,-7.421052674232194e-8,0.004252103288002902,2.5053445751813735e-5,-7.402578044122805e-8,0.0042524958808914486,2.5060282096586535e-5,-7.403485203242214e-8,0.004252860347046862,2.5153483119387155e-5,-7.422821487858902e-8,0.004253166420302202,2.5313592833064807e-5,-7.4565027741937e-8,0.004253390056795452,2.5505445065978426e-5,-7.497072826604751e-8,0.004253520373611728,2.567954717105097e-5,-7.533987563241299e-8,0.004253567583483577,2.5778553226866115e-5,-7.555000192971296e-8,0.004253568477479618,2.57508981459835e-5,-7.549083696491824e-8,0.004253583802551681,2.5570092233629636e-5,-7.51055603806773e-8,0.004253683035294351,2.5251865633977112e-5,-7.44273175308893e-8,0.0042539191944363595,2.4857202588394434e-5,-7.35855734003273e-8,0.004254305764216735,2.447438286380503e-5,-7.276784994537231e-8,0.004254809815918776,2.4186839495990022e-5,-7.215147164839955e-8,0.004255365549942023,2.40441206534225e-5,-7.184200794898621e-8,0.004255899200387112,2.4050089820884473e-5,-7.184826829956902e-8,0.0042563516080044266,2.416972185021108e-5,-7.209662433728606e-8,0.004256690396141003,2.434605252160264e-5,-7.246675786316027e-8,0.0042569115892744334,2.4517943449023026e-5,-7.282912443145628e-8,0.0042570344588616455,2.463347637775471e-5,-7.30732558512375e-8,0.0042570934805204125,2.465775417313392e-5,-7.312438614433928e-8,0.004257129932313604,2.4575925834567138e-5,-7.295011734563332e-8,0.0042571843494951115,2.4392667825468296e-5,-7.255962537821784e-8,0.00425729039774817,2.4129023933815476e-5,-7.199717208281165e-8,0.004257470606229811,2.3817370327804808e-5,-7.133146006679518e-8,0.004257734255741909,2.349544247400287e-5,-7.064283667735547e-8,0.004258077393204028,2.3200390137071024e-5,-7.001050679824002e-8,0.004258484618862725,2.2963666553012255e-5,-6.950158216921607e-8,0.004258932027056634,2.2807293789006354e-5,-6.916316297269846e-8,0.0042593906153518026,2.2741586385370254e-5,-6.901757022449099e-8,0.0042598297434363165,2.276399055898611e-5,-6.905989169541386e-8,0.004260220606168873,2.2858651267932304e-5,-6.925694232532747e-8,0.004260539991874552,2.2996585299082128e-5,-6.954740578872719e-8,0.004260774793749827,2.3136869567961894e-5,-6.984415171021355e-8,0.004260927452055153,2.3230106921002925e-5,-7.004155848425731e-8,0.004261021309681241,2.3226075701983406e-5,-7.003196358517582e-8,0.004261102938290243,2.308688722779646e-5,-6.9733984200722e-8,0.004261236712509181,2.2804045770392858e-5,-6.912910597515336e-8,0.004261487734137989,2.2412204909363093e-5,-6.829103484152083e-8,0.004261895857940792,2.1987951130290533e-5,-6.738297115674651e-8,0.004262453748847359,2.1626559517556065e-5,-6.660796308383029e-8,0.004263104835077354,2.14049565306401e-5,-6.613002381831203e-8,0.004263765230072934,2.1352073118542486e-5,-6.601108302348439e-8,0.004264356348996169,2.14434400684497e-5,-6.619951822339648e-8,0.00426482929740014,2.1618744627758198e-5,-6.656745990661841e-8,0.004265171943391067,2.1807560186110623e-5,-6.696539410340849e-8,0.004265402331610535,2.194966411597293e-5,-6.726522140368924e-8,0.004265556764276095,2.2005321336605362e-5,-6.738204521109695e-8,0.004265678484351986,2.1957407300082035e-5,-6.727876331639272e-8,0.004265809259589074,2.1808924150594526e-5,-6.696101507231523e-8,0.004265983904005325,2.1578682448027443e-5,-6.646826954849454e-8,0.004266226920993157,2.1296504146896058e-5,-6.586379168206377e-8,0.004266550629286272,2.0998265292050864e-5,-6.522408289024045e-8,0.004266954602654954,2.072086530767614e-5,-6.46280184319503e-8,0.0042674264408546,2.0497353315112702e-5,-6.414629674705478e-8,0.004267943861511287,2.0352576012947905e-5,-6.383209365453901e-8,0.004268477960877023,2.0299833661802612e-5,-6.371398436365584e-8,0.004268997253092252,2.0338959047789847e-5,-6.379193925228933e-8,0.004269472004022922,2.0455923406950072e-5,-6.403649435074647e-8,0.004269878504480831,2.0623872099556896e-5,-6.439082513227808e-8,0.004270203091943123,2.0805512560485156e-5,-6.477560803074754e-8,0.004270445852852126,2.0956944805511876e-5,-6.509700275244613e-8,0.004270623800199121,2.10334314266037e-5,-6.525895403540025e-8,0.004270772558072353,2.0997890319405713e-5,-6.518152289098647e-8,0.00427094441011345,2.083220432249813e-5,-6.482534637528951e-8,0.004271199798210908,2.05492416329248e-5,-6.421755267416815e-8,0.00427159041645784,2.0199863007888447e-5,-6.346677840095314e-8,0.004272137010630017,1.986641311092636e-5,-6.274914812415897e-8,0.004272812866192905,1.9637907019181664e-5,-6.225512618287865e-8,0.004273546661830289,1.957484111226967e-5,-6.211428300886088e-8,0.004274248084309201,1.9683554754882735e-5,-6.234052528862284e-8,0.004274842584556,1.9916585609271047e-5,-6.283284863669002e-8,0.004275294989396107,2.0196932839426866e-5,-6.34271221447608e-8,0.004275612111248886,2.044876157713103e-5,-6.396157774097112e-8,0.004275829854443942,2.0618302854561106e-5,-6.432132893338302e-8,0.004275996344867708,2.068048102350494e-5,-6.445246254988373e-8,0.004276158761153353,2.0635703336763096e-5,-6.435525871581819e-8,0.00427635575964747,2.050278681984088e-5,-6.406929194779216e-8,0.004276614264766545,2.03118344130943e-5,-6.365844604760266e-8,0.004276948681532183,2.0098462742130343e-5,-6.319870838452115e-8,0.00427736112987467,1.9899240304877655e-5,-6.276838480380487e-8,0.004277842211255956,1.974773290141609e-5,-6.243949971073313e-8,0.004278372391904025,1.967077619426468e-5,-6.226968673760751e-8,0.004278924276628769,1.9684968915617704e-5,-6.229464867897638e-8,0.00427946603046503,1.9793798937027695e-5,-6.252207128612635e-8,0.004279965907331355,1.9986115124125946e-5,-6.292842834492383e-8,0.004280397398965965,2.0236567080278434e-5,-6.345990398536185e-8,0.004280744247696593,2.0508303055502708e-5,-6.403801521126411e-8,0.004281004505802116,2.075787626038736e-5,-6.45698971255669e-8,0.004281192901995228,2.0941958152062637e-5,-6.496252518206134e-8,0.004281340930710332,2.1025255578912166e-5,-6.513969573609285e-8,0.004281494037741554,2.0988991621400003e-5,-6.506040387677097e-8,0.004281705020143845,2.083884172795236e-5,-6.473613988226346e-8,0.004282022932066112,2.0609966237029076e-5,-6.424190093837948e-8,0.004282478182800925,2.0365345667199266e-5,-6.371269223823294e-8,0.004283067616495902,2.018344302717714e-5,-6.331700549222439e-8,0.004283747241477742,2.0134651144824004e-5,-6.320619458649664e-8,0.0042844407554519515,2.0253973496551404e-5,-6.345578723847007e-8,0.004285064598384449,2.0524555265033713e-5,-6.403009214368057e-8,0.004285558228008341,2.0883667246896797e-5,-6.479498002189184e-8,0.004285903068305841,2.1248575485531713e-5,-6.557331881327865e-8,0.004286121591209917,2.1546759971092086e-5,-6.620971443688664e-8,0.004286261550244254,2.173512138139228e-5,-6.661161891835543e-8,0.004286377010822107,2.1803562222643158e-5,-6.675698118613891e-8,0.004286514639174886,2.1767962224157696e-5,-6.667927461907289e-8,0.004286707249844844,2.1659831340824737e-5,-6.644549978914754e-8,0.004286972651294204,2.1517288514130502e-5,-6.613702981233638e-8,0.004287315036407035,2.137879459328305e-5,-6.583625969488997e-8,0.004287726996196279,2.1279125575024203e-5,-6.561792724729806e-8,0.00428819142343141,2.1246497524740444e-5,-6.554282703858169e-8,0.004288683412819257,2.1300005175710134e-5,-6.56522121072733e-8,0.004289172646002349,2.144705325197606e-5,-6.596225331674356e-8,0.004289626831671317,2.1681083267848825e-5,-6.64591918001667e-8,0.004290016489747565,2.1980505883871905e-5,-6.709706780234995e-8,0.0042903207017423875,2.2309974166205005e-5,-6.780039689973465e-8,0.004290532704681695,2.2624802256956494e-5,-6.847351420232322e-8,0.004290663720481053,2.2878545281189634e-5,-6.901668815447957e-8,0.004290743428588021,2.3032647343331645e-5,-6.934675430215987e-8,0.004290816160740989,2.3066060527652307e-5,-6.941783186631997e-8,0.004290932973482719,2.298241860165485e-5,-6.923692897416443e-8,0.004291140720082246,2.281268438762679e-5,-6.886989001401675e-8,0.004291469988513568,2.261171092999127e-5,-6.843422945885471e-8,0.0042919245712092595,2.244789438370406e-5,-6.807700264279899e-8,0.004292475971297328,2.238658804783379e-5,-6.793912075922681e-8,0.004293066649609138,2.2470558774809148e-5,-6.811318501504072e-8,0.004293623937526895,2.2703998892035536e-5,-6.860890598586648e-8,0.0042940818493636184,2.304812006375384e-5,-6.934344898792616e-8,0.004294402362672422,2.3432831436448893e-5,-7.016645002765099e-8,0.004294586104386337,2.378055743966283e-5,-7.091121590795328e-8,0.004294667795317409,2.4030920659155234e-5,-7.144780929009046e-8,0.004294700566059802,2.4155324165777983e-5,-7.171440891510901e-8,0.004294738209100082,2.4157840931771394e-5,-7.171925710040148e-8,0.0042948226573763385,2.4066452881318333e-5,-7.152192906009953e-8,0.004294978812281802,2.3921337639631674e-5,-7.120830502904449e-8,0.004295214901080934,2.3765000948817973e-5,-7.08694876550506e-8,0.004295525436407369,2.363587044291823e-5,-7.058807624485363e-8,0.004295894601684546,2.3564786623837452E-05,-7.04305813207749e-8,0.004296299122201778,2.357308522950433e-5,-7.044321503200956e-8,0.004296710657229467,2.367115187319423e-5,-7.064870539544668e-8,0.004297098295590391,2.38568917503796e-5,-7.104295898373251e-8,0.004297431906932636,2.4114275885103977e-5,-7.159190498213205e-8,0.004297686870625992,2.4412901902798002e-5,-7.223050607165677e-8,0.004297849991681794,2.4710049162891303e-5,-7.286710575334312e-8,0.004297925302316519,2.4956591162591826e-5,-7.339606327152146e-8,0.004297937372396556,2.5107015043400802e-5,-7.371925088269417e-8,0.004297929510021779,2.5131737805527713e-5,-7.377254984435431e-8,0.004297955548234345,2.5027789983162344e-5,-7.354890403274291e-8,0.004298066575615005,2.4823310836198834e-5,-7.310812995376074e-8,0.004298296552607654,2.4573070322224938e-5,-7.256747872959403e-8,0.004298651648983001,2.434559188780995e-5,-7.207413756368472e-8,0.004299106911661393,2.4205518413300738e-5,-7.176741926718479e-8,0.004299611453430702,2.4196312655059432e-5,-7.174150839999789e-8,0.0043001009376553104,2.4328171010078167e-5,-7.201924724959771e-8,0.004300514215980978,2.45747458074727e-5,-7.254478183774332e-8,0.00430080955408668,2.4880164403869278e-5,-7.319841098782959e-8,0.00430097535914321,2.5174795560467062e-5,-7.383040760602065e-8,0.004301031639911904,2.5394822709818133e-5,-7.430318462394381e-8,0.004301021854896047,2.549876742515806e-5,-7.452698087324046e-8,0.004300998826632299,2.5475424898201563e-5,-7.447707677090092e-8,0.0043010105133326326,2.5341837209243172e-5,-7.418955573869462e-8,0.00430109035070397,2.513426620792213e-5,-7.374198268112992e-8,0.004301253742716078,2.48970164755011e-5,-7.32294267491531e-8,0.004301499427306543,2.467299592201586e-5,-7.274417707510015e-8,0.0043018132999952385,2.4497627550464064e-5,-7.236262240548909e-8,0.004302172657874503,2.4395814589290057e-5,-7.213867310051331e-8,0.004302549817683467,2.4380785913499932e-5,-7.210122313442096e-8,0.0043029149958991805,2.44536492446394e-5,-7.225313252007961e-8,0.004303238964457443,2.460296377691644e-5,-7.2570238773880585E-08,0.00430349625434463,2.4804348391217722e-5,-7.300042578258291e-8,0.0043036695281246816,2.50209511462533e-5,-7.34645445614565e-8,0.0043037550770795956,2.5206324498041653e-5,-7.386254745634518e-8,0.004303768148276709,2.5311391686062272e-5,-7.408849797523384e-8,0.004303745290754547,2.5296058710614142e-5,-7.405564302472968e-8,0.0043037402219377715,2.5143263129179642e-5,-7.372674513257676e-8,0.004303811401843918,2.486984655474745e-5,-7.31375476237472e-8,0.004304003924871586,2.452738717704159e-5,-7.239861410051003e-8,0.004304332998053507,2.4189634346796077e-5,-7.166837537127397e-8,0.004304777053220583,2.3930305794275484e-5,-7.110548942813876e-8,0.0043052839373079,2.380055815885997e-5,-7.082046368346776e-8,0.004305786979287081,2.381512406074437e-5,-7.084577599968396e-8,0.004306223908680077,2.3950918898359302e-5,-7.113265222969439e-8,0.0043065521824008435,2.4156359154944985e-5,-7.157081214482665e-8,0.00430675720105395,2.4366745878058644e-5,-7.202132826384251e-8,0.00430685272341944,2.452074994873828e-5,-7.235202054839195e-8,0.0043068746876313785,2.457397362237289e-5,-7.246674040986775e-8,0.004306870807432403,2.450692094765032e-5,-7.232274420159353e-8,0.0043068889333198876,2.4326274108967804e-5,-7.193368553734489e-8,0.004306967157178836,2.4060115372153373e-5,-7.135951482856131e-8,0.004307127792060001,2.3749312473508598e-5,-7.068800846487233e-8,0.004307375847549257,2.3437998378882705e-5,-7.001424126954424e-8,0.0043077011487614265,2.316559033074148e-5,-6.942331161839482e-8,0.004308082476774727,2.296156998550824e-5,-6.897901648309085e-8,0.004308492160407662,2.2843008936849732e-5,-6.871848008341235e-8,0.00430890014225028,2.2814028032551207e-5,-6.865098180169714e-8,0.004309277281921247,2.2866200020617407e-5,-6.875880227967708e-8,0.004309598220494261,2.2979234337591817e-5,-6.899862356038913e-8,0.004309844408536244,2.3121853538730567e-5,-6.930329429478826e-8,0.0043100078615668095,2.3253479651415424e-5,-6.95853524949172e-8,0.004310095640386761,2.3328083445441076e-5,-6.974529757037752e-8,0.0043101338257101485,2.3301787131791224e-5,-6.968807200575135e-8,0.004310168187241177,2.3144787924465443e-5,-6.934892854607553e-8,0.004310257826444425,2.285531683637069e-5,-6.872365125157918e-8,0.004310459684221365,2.2469228310805165e-5,-6.788925321183882e-8,0.0043108073193948325,2.2056750050369026e-5,-6.699692997284909e-8,0.004311294032439131,2.170255209789584e-5,-6.622910378436072e-8,0.004311871307369093,2.1476062378587954e-5,-6.573553756794064e-8,0.004312465198993063,2.1407057452158824e-5,-6.558081946270183e-8,0.004313001977162613,2.147859710794636e-5,-6.572910476913147e-8,0.00431343005920553,2.1637960989153616e-5,-6.606750631843108e-8,0.004313730316577628,2.181691089414023e-5,-6.644950764688654e-8,0.004313914738250244,2.1951418489715036e-5,-6.673726332891451e-8,0.004314017860593639,2.1995240270097538e-5,-6.6830778021755e-8,0.00431408563427076,2.1926188546349096e-5,-6.668152880876458e-8,0.004314164844430976,2.1746350005664837e-5,-6.62931915957548e-8,0.00431429466372932,2.1478088191753095e-5,-6.571331506627689e-8,0.004314501024681896,2.1157447735519515e-5,-6.501929657323107e-8,0.004314794068269408,2.0826407239506826e-5,-6.430170217264929e-8,0.004315168523400873,2.0525388218328684e-5,-6.364798919827755e-8,0.00431560642180513,2.0287173353931803e-5,-6.31292183912412e-8,0.0043160812455876356,2.0132909454777427e-5,-6.279132138753954e-8,0.004316562520177888,2.007033177327738e-5,-6.265126152698634e-8,0.00431702006617794,2.00938082788825e-5,-6.269717769742918e-8,0.004317427588706235,2.018551638500187e-5,-6.28909388180351e-8,0.004317765712734754,2.0317234227004703e-5,-6.317193328846631e-8,0.004318024775138963,2.0452628316515763e-5,-6.34618604024906e-8,0.00431820770093002,2.0550394730606987e-5,-6.367139110618334e-8,0.004318332893899484,2.0569188001987255e-5,-6.371081436092053e-8,0.004318436011644906,2.04754635624101e-5,-6.350712260775898e-8,0.0043185681789404615,2.0254385622796044e-5,-6.302778494565895e-8,0.004318787523787666,1.9921423273137004e-5,-6.230594134708772e-8,0.004319142414166795,1.9528518015015e-5,-6.145372829533996e-8,0.004319650180655444,1.9156534321257355e-5,-6.064588141621515e-8,0.004320282432594846,1.8890460254098007e-5,-6.006610839445816e-8,0.00432096924731175,1.8786257539194468e-5,-5.983551079099197e-8,0.004321623889974825,1.8848028753740572e-5,-5.99633110710282e-8,0.004322174856199251,1.9029232241916958e-5,-6.03494594472305e-8,0.004322587553187694,1.9254995930678356e-5,-6.083272565155132e-8,0.004322867520357473,1.9450265918529555e-5,-6.125132934634046e-8,0.004323049667978551,1.956007946768571e-5,-6.148655784160723e-8,0.004323182862961931,1.9557648041747735e-5,-6.148015369528662e-8,0.004323316556168647,1.9443050480583164e-5,-6.123159791433297e-8,0.004323491840940722,1.9237131005163212e-5,-6.0785188942898e-8,0.004323736659978244,1.8974013586600857e-5,-6.021415798447603e-8,0.00432406401637427,1.8693883726101143e-5,-5.960523413418266e-8,0.004324472264424686,1.8436553474490432e-5,-5.904470094336049e-8,0.004324946983099295,1.8236033860153257e-5,-5.860648003866715e-8,0.004325464084859797,1.811635649105119e-5,-5.8342897748555724e-8,0.004325993794135984,1.8088868183602328e-5,-5.8278740560323874e-8,0.004326505053826906,1.8151193617222837e-5,-5.84090469392405e-8,0.004326969827564337,1.8287871460248693e-5,-5.870057233852731e-8,0.004327366867667058,1.8472348280178974e-5,-5.909613070587311e-8,0.004327684784604043,1.8669955227489085e-5,-5.952094345795759e-8,0.004327924409123366,1.8841706401499647e-5,-5.989069354469142e-8,0.004328100446453682,1.8948978694444737e-5,-6.012153384588638e-8,0.004328242207755195,1.8959396499784854e-5,-6.014285604854431e-8,0.00432839251061342,1.8854306712077532e-5,-5.991366270790545e-8,0.004328602976287375,1.8637363771232864e-5,-5.9441399495521534e-8,0.004328923808193235,1.834172061702968e-5,-5.879768517306489e-8,0.0043293877420519525,1.803074398317214e-5,-5.8119858923673065e-8,0.004329992303019424,1.7786082973530267e-5,-5.7585025996974733e-8,0.0043306904239555155,1.768141014178147e-5,-5.735306902442807e-8,0.004331400140317573,1.7751344357086818e-5,-5.749928204325917e-8,0.00433203358321681,1.797402614272783e-5,-5.79766211094402e-8,0.004332530332663138,1.828016466901793e-5,-5.8635303908857e-8,0.004332875915402321,1.858298602165903e-5,-5.928765562337491e-8,0.00433309804217549,1.8810034258350935e-5,-5.977689798049865e-8,0.004333248483983109,1.8921204984793378e-5,-6.001607106531904e-8,0.00433338344031064,1.891050947589809e-5,-5.999178553599807e-8,0.004333550076056095,1.879802272931174e-5,-5.974688447449809e-8,0.00433378028617974,1.8619161178224815e-5,-5.935746777534596e-8,0.004334089547866698,1.841532739235039e-5,-5.891288378805079e-8,0.004334478361386218,1.8227051919153682e-5,-5.8500987248132956e-8,0.004334934676237755,1.8089192813388756e-5,-5.819765687811798e-8,0.004335436753461419,1.8027479513569926e-5,-5.805910095808496e-8,0.0043359564346629785,1.805604332199269e-5,-5.8116315662884676e-8,0.004336462854060841,1.8175905259323786e-5,-5.837173979925861e-8,0.0043369265589401195,1.8374650843245116e-5,-5.8798606028170783e-8,0.0043373237749320314,1.8627644789034814e-5,-5.9343665372251605e-8,0.004337640287689868,1.8900903887741546e-5,-5.993342885257249e-8,0.004337874393414731,1.915541028175581e-5,-6.0483416036833585E-08,0.004338038508031595,1.935252810257927e-5,-6.090974291052553e-8,0.004338159117798005,1.9460134108828392e-5,-6.114232980148806e-8,0.004338274774933433,1.9459013263327866e-5,-6.113884811203717e-8,0.004338431681466829,1.9348999136279857e-5,-6.089826911602292e-8,0.004338676165081497,1.9153806772625883e-5,-6.047161761109011e-8,0.004339043688685932,1.8922294391678095e-5,-5.996487910391701e-8,0.004339545635601907,1.872276095381814e-5,-5.952661815361361e-8,0.004340158161930944,1.8627380820978457e-5,-5.9314042383671195e-8,0.004340820587457169,1.8688023122385006e-5,-5.944030774359304e-8,0.0043414499059315215,1.8912570225124942e-5,-5.992294543545765e-8,0.004341969354982378,1.9256317958197064e-5,-6.066513104038634e-8,0.00434233727438235,1.963727956575248e-5,-6.148895689362684e-8,0.004342559700425284,1.9968375421524345e-5,-6.22053917653275e-8,0.004342681194553419,2.0187890581981525e-5,-6.268039485374884e-8,0.004342762928135588,2.0273446998614515e-5,-6.286515201466919e-8,0.004342861762115175,2.0238340874590014e-5,-6.278807051788223e-8,0.0043430181177510525,2.0118621313219873e-5,-6.25268278416331e-8,0.004343252686041884,1.9959504096147545e-5,-6.217910056180777e-8,0.004343568466291725,1.9805367104343365e-5,-6.184105171446118e-8,0.004343954731686096,1.9693836953182042e-5,-6.159455561595036e-8,0.004344390973704534,1.9652723436851773e-5,-6.150043408182522e-8,0.004344850331140559,1.969838524407601e-5,-6.159471002910778e-8,0.004345302792489047,1.9834740731576415e-5,-6.188629404236862e-8,0.004345718569954192,2.0052786388798823e-5,-6.235588467085406e-8,0.004346071890108299,2.0330942481172956e-5,-6.295676357140448e-8,0.004346345120939216,2.0636843362656404e-5,-6.361874562488397e-8,0.004346532649407227,2.0931092520010435e-5,-6.425633112670948e-8,0.004346643556812209,2.1172987348254808e-5,-6.478105282775598e-8,0.004346702139067369,2.1327622981692872e-5,-6.511679997367014e-8,0.004346745608778673,2.137326837845882e-5,-6.521581332631904e-8,0.004346818808370958,2.130755124320618e-5,-6.507223672428581e-8,0.004346966320702236,2.1150975510158874e-5,-6.472999399619078e-8,0.004347222824520035,2.0946473775532036e-5,-6.428207114555517e-8,0.004347603087958219,2.0753784072168932e-5,-6.385844812624413e-8,0.004348093942432825,2.0637814013072452e-5,-6.36007815326696e-8,0.004348651739160019,2.0651659508830847e-5,-6.36252925003523e-8,0.0043492091234758985,2.0818025289423062e-5,-6.398208836552688e-8,0.004349692649033529,2.1116545144798856e-5,-6.462735152225057e-8,0.004350046851532632,2.148558579412229e-5,-6.542717677117046e-8,0.004350254077818288,2.1841590704683874e-5,-6.619972247540033e-8,0.004350339218690546,2.2108334127427978e-5,-6.677897296497183e-8,0.0043503570289232605,2.2241363549602545e-5,-6.706795464383658e-8,0.004350370300956235,2.2236598604831392e-5,-6.705740408002692e-8,0.004350430646805905,2.2122994339245096e-5,-6.680980212150948e-8,0.004350568672542956,2.1947338186704e-5,-6.642641374111236e-8,0.004350793241612556,2.1759652050497017e-5,-6.601571687264844e-8,0.0043510958731244245,2.1603418432720286e-5,-6.567227801223937e-8,0.004351456464205779,2.1510811396030194e-5,-6.546638399293138e-8,0.004351848247956533,2.1501213936502228e-5,-6.544069492800358e-8,0.004352241536665431,2.1581184167779784e-5,-6.560999904068952e-8,0.00435260671995346,2.174478040527643e-5,-6.596178678053824e-8,0.004352917203110646,2.1974004373243897e-5,-6.645716600620018e-8,0.004353152776554337,2.2239771173006768e-5,-6.70329889115276e-8,0.0043533034557195595,2.250423557099356e-5,-6.760694213289382e-8,0.004353373159793762,2.2725320394767957e-5,-6.808739588456914e-8,0.004353381934028024,2.2863721397970617e-5,-6.838860655220757e-8,0.004353365144473504,2.2891593869259356e-5,-6.844958399294913e-8,0.004353368520464555,2.2800891768739177e-5,-6.825225963723115e-8,0.004353439178980252,2.2608536352457108e-5,-6.783284315230564e-8,0.004353614398994551,2.235592337679717e-5,-6.728093363331758e-8,0.004353911091254241,2.210179351953395e-5,-6.672420060605343e-8,0.004354319093981324,2.1909457854221882e-5,-6.63007028625976e-8,0.00435480070535855,2.183105798865961e-5,-6.612459579585697e-8,0.004355297564439238,2.1892701313526038e-5,-6.62535720399581e-8,0.004355744274261172,2.208486894760374e-5,-6.666768156040473e-8,0.004356085988373349,2.2362140804206785e-5,-6.72684784304803e-8,0.004356294790867451,2.265429960519879e-5,-6.790310472655907e-8,0.004356378446729466,2.2886711643210605e-5,-6.840875002736263e-8,0.004356377083974059,2.300287959510685e-5,-6.866191818023424e-8,0.004356348835649946,2.2979906602058662e-5,-6.861222380829316e-8,0.004356351070803769,2.283100298627068e-5,-6.828791603511024e-8,0.0043564253033482265,2.2596103437619816e-5,-6.777550831067574e-8,0.004356590438485916,2.232692894571213e-5,-6.71873398673657e-8,0.004356843977258533,2.207328036231141e-5,-6.663181407464889e-8,0.00435716773989199,2.1874255200302816e-5,-6.619429149558181e-8,0.0043575345277402245,2.17545974438534e-5,-6.592907552880914e-8,0.00435791364940389,2.1724473774609717e-5,-6.585880479157714e-8,0.004358274835255978,2.1780736857639492e-5,-6.597708420358102e-8,0.00435859102021611,2.190842428008057e-5,-6.625166759485598e-8,0.004358840788105637,2.2082124326210005e-5,-6.66273960160543e-8,0.004359011140673432,2.2267590761594875e-5,-6.702970759557112e-8,0.004359100770459174,2.2424521416654e-5,-6.737069654700543e-8,0.0043591232349589806,2.2511572931629804e-5,-6.756005138998922e-8,0.004359108521787183,2.2494178942973776e-5,-6.752211476792377e-8,0.004359100878157092,2.235434252364082e-5,-6.721725820444066e-8,0.004359151203790916,2.209952344550378e-5,-6.666129656422452e-8,0.004359304391648528,2.1766202486049173e-5,-6.59333189575158e-8,0.004359585156155929,2.141440124607869e-5,-6.516384241477555e-8,0.004359988028082468,2.1112991988769316e-5,-6.450292098818624e-8,0.004360476321122433,2.0920264451710092e-5,-6.407788779132097e-8,0.004360991139310915,2.0866833130000284e-5,-6.395608344448584e-8,0.0043614672632936585,2.094691373648151e-5,-6.412567446990825e-8,0.00436185047259702,2.1120373710730043e-5,-6.449986452881506e-8,0.004362111124733698,2.1324180464702604e-5,-6.4941620161576e-8,0.004362250570187353,2.1489435250093217e-5,-6.53007002748905e-8,0.004362299121386524,2.155913544719217e-5,-6.54524253343876e-8,0.004362306490900004,2.1501808725852057e-5,-6.532755100187959e-8,0.004362327761153033,2.131732881203479e-5,-6.492513324816661e-8,0.0043624093738372635,2.103373524474476e-5,-6.430576510522246e-8,0.0043625793884881775,2.0697054625575986e-5,-6.356950528095524e-8,0.004362844207020741,2.0358383999011046e-5,-6.282776240788013e-8,0.004363191208127825,2.006260880711081e-5,-6.217865603614356e-8,0.004363594835992581,1.984133466131531e-5,-6.169150041406605e-8,0.004364023394089613,1.971031936272081e-5,-6.140108548051583e-8,0.004364444713893855,1.9670147056786693e-5,-6.130906149278202e-8,0.004364830116595006,1.9708457183723877e-5,-6.13887614197793e-8,0.004365157008842049,1.9802456355045293e-5,-6.159066614971228e-8,0.0043654108447642925,1.9921222630134676e-5,-6.184741174273681e-8,0.004365587133171469,2.002805687530203e-5,-6.207888714985402e-8,0.004365693773882021,2.0083687956816993e-5,-6.219920719112305e-8,0.004365753261816067,2.0051413982690625e-5,-6.21279557727769e-8,0.004365803266929434,1.990492580654581e-5,-6.18073352015643e-8,0.004365893211815998,1.963812772857377e-5,-6.122369196067238e-8,0.00436607468587738,1.9273718051626967e-5,-6.042630561545666e-8,0.004366386030933518,1.8864892817626648e-5,-5.953112197574838e-8,0.004366836077417156,1.8485075349996475e-5,-5.869834534688314e-8,0.004367395636384049,1.8206114824510273e-5,-5.808489610024617e-8,0.0043680034475078715,1.807342018736887e-5,-5.779018629925774e-8,0.004368585429190273,1.8090183319349116e-5,-5.7821670584522674e-8,0.004369078205338029,1.8218018646954217e-5,-5.8096130493753056e-8,0.004369446485515545,1.8391914972714372e-5,-5.8472137246485704e-8,0.00436968898915749,1.854111673960781e-5,-5.879546235081837e-8,0.004369833869388169,1.8607666783746486e-5,-5.893945230499611e-8,0.004369927829734204,1.8558083076927652e-5,-5.883053071818364e-8,0.0043700232722843815,1.8387261432697222e-5,-5.845686139765173e-8,0.004370166642890487,1.8115771799109823e-5,-5.78626810222891e-8,0.004370389908592708,1.778250420799372e-5,-5.7132479090411445e-8,0.004370706190176643,1.7434832951346612e-5,-5.63696521066772e-8,0.004371109765100231,1.7118586178875612e-5,-5.5674571774707e-8,0.00437157972214823,1.6869939219546253e-5,-5.5126719806860253e-8,0.004372085769119738,1.671054970042191e-5,-5.477386649502183e-8,0.004372594495239376,1.6646123535862942e-5,-5.462880762363998e-8,0.004373074761423813,1.6667710334556395e-5,-5.467217352867607e-8,0.004373501568673639,1.675457816700928e-5,-5.485876153998176e-8,0.004373858478157565,1.687756120804058e-5,-5.5124896858937915e-8,0.004374139111879542,1.7002287531392034e-5,-5.5395470307775045e-8,0.0043743482958161295,1.7092346989803696e-5,-5.559079621301812e-8,0.004374503133939031,1.7112951246571128e-5,-5.5634563689226273e-8,0.004374633720251839,1.7035925052044434e-5,-5.546478116239983e-8,0.00437478225005965,1.6846665517467146e-5,-5.504911354774486e-8,0.0043749983953135655,1.6552475631203626e-5,-5.440324873724291e-8,0.004375328872488854,1.618927976830758e-5,-5.360566541222857e-8,0.0043758013925030695,1.5821068508656155e-5,-5.2796405543630164e-8,0.004376408267399701,1.552634116046679e-5,-5.214735730105396e-8,0.004377099954417064,1.5371900421595234E-05,-5.180488666204743e-8,0.004377797060914417,1.5385036173928835e-5,-5.182897065432117e-8,0.004378418187720637,1.5540645773084347e-5,-5.2165003016123936e-8,0.004378909008357041,1.5771884933839974e-5,-5.266706122898232e-8,0.0043792572209281865,1.599719360222389e-5,-5.315697219265368e-8,0.004379488986244382,1.6147744983164754e-5,-5.34842622002332e-8,0.004379653735493992,1.6183696763184442e-5,-5.356159676976171e-8,0.004379807029548539,1.6097454183882332e-5,-5.337188796430934e-8,0.004379997377027852,1.5908215829117925e-5,-5.2956489809098333e-8,0.004380258535441446,1.5652790384862128e-5,-5.239536296392365e-8,0.004380606499311609,1.5376010872551103e-5,-5.178635373794103e-8,0.00438103981704955,1.5122274389860483e-5,-5.122678455064238e-8,0.0043815422062817,1.4928716380928159e-5,-5.079841505994918e-8,0.0043820867949589636,1.4820349015323273e-5,-5.055656434916802e-8,0.004382641303252554,1.4807475268811135e-5,-5.052422039228374e-8,0.004383173380248949,1.4885420145896664e-5,-5.0691348370280644e-8,0.004383655356796422,1.5036302184118528e-5,-5.1018815625741976e-8,0.004384067847834171,1.5232293344004387e-5,-5.144564428159387e-8,0.0043844019828522774,1.543961315370945e-5,-5.1897827868784535e-8,0.004384660446837142,1.5622634657119858e-5,-5.229728990740927e-8,0.0043848576711448175,1.5747902572815793e-5,-5.257058563354719e-8,0.0043850193932531934,1.5788236658408824e-5,-5.2657827564574646e-8,0.0043851814481957125,1.572732220635757e-5,-5.252279948825495e-8,0.004385386970873339,1.5565072314536914e-5,-5.216487783723147e-8,0.004385680534183977,1.532309143986357e-5,-5.163119876709418e-8,0.004386097920633204,1.5047759637200314e-5,-5.102352030618483e-8,0.004386652021040343,1.4806503360449029e-5,-5.0490006751438264e-8,0.004387319473877426,1.4672634763753373e-5,-5.019184730718326e-8,0.004388037475553013,1.4699180145777687e-5,-5.024571194944651e-8,0.004388719358254085,1.4892581471994294e-5,-5.066597535539156e-8,0.004389286252243407,1.5203884862031068e-5,-5.1345376667470573e-8,0.00438969797548042,1.5546829342512437e-5,-5.209476228885879e-8,0.004389964650890107,1.583302129175502e-5,-5.272030351592314e-8,0.004390134913807563,1.6002864742013964e-5,-5.309129370757188e-8,0.004390272271287374,1.6037840528340582e-5,-5.3166940446750974e-8,0.004390434097429688,1.595511112825302e-5,-5.298445643173724e-8,0.004390660057645578,1.579392903294117e-5,-5.262936255347156e-8,0.004390969109008046,1.5602006407262715e-5,-5.220585215637865e-8,0.0043913615412258964,1.542537772061049e-5,-5.1814795817357e-8,0.004391823037389939,1.5302039558842245e-5,-5.153985439117854e-8,0.004392329121287766,1.5258332624760626e-5,-5.143939304550827e-8,0.004392849551497714,1.5307073316800725e-5,-5.1542117695367437e-8,0.004393352682154456,1.54470359086033e-5,-5.18457185429351e-8,0.00439380971458905,1.566375392426153e-5,-5.23185628529972e-8,0.004394198597306122,1.5931683059558592e-5,-5.2904527284831545e-8,0.004394507186734965,1.621768345692803e-5,-5.353077333402549e-8,0.004394735227108045,1.6485492657756142e-5,-5.411762647781867e-8,0.004394894902223298,1.6700626893534787e-5,-5.45892803278868e-8,0.004395009971871057,1.6835218512750443e-5,-5.48843068576531e-8,0.004395113603586854,1.687246367982367e-5,-5.496537371682426e-8,0.004395244949411491,1.6810475067017456e-5,-5.482779901120044e-8,0.0043954442427448425,1.6665347947444088e-5,-5.450649984627839e-8,0.004395745883391455,1.6472740140844224e-5,-5.407968384406357e-8,0.0043961693024316155,1.6286178870649144e-5,-5.366522773031633e-8,0.0043967088244268844,1.616943709032258e-5,-5.340384348847231e-8,0.00439732633496883,1.6180870696195093e-5,-5.342443633742838e-8,0.004397953375547895,1.635135413255929e-5,-5.379535836427356e-8,0.0043985084347460835,1.6664842817597192e-5,-5.448152340898046e-8,0.004398926535594353,1.7055762545965226e-5,-5.533868602056141e-8,0.004399186184162931,1.7430878674003617e-5,-5.616169045398201e-8,0.004399316502889809,1.7706012639717648e-5,-5.676535310620799e-8,0.004399380619391071,1.7836085828877507e-5,-5.7050496127308454e-8,0.0043994479138703985,1.782330059445976e-5,-5.70217692683362e-8,0.004399571685962228,1.7705329205192075e-5,-5.676158687960766e-8,0.004399779842592975,1.7535919356775476e-5,-5.6387604272475e-8,0.004400076250313624,1.736849329520766e-5,-5.601691660456328e-8,0.0044004470021380936,1.7246443601718784e-5,-5.574493496590799e-8,0.0044008672958289925,1.7199144884804796e-5,-5.5636639903815625e-8,0.004401307044890794,1.724130099925887e-5,-5.572497188992369e-8,0.00440173510197177,1.737368836590099e-5,-5.6012208288017816e-8,0.004402122691783258,1.7584415933249197e-5,-5.6472543144591716e-8,0.004402446537357039,1.785064042267672e-5,-5.705582151470724e-8,0.004402691816659508,1.8141037663291022e-5,-5.7693066337959046e-8,0.004402854735432183,1.841939830699297e-5,-5.8304506128850546e-8,0.0044029441466111215,1.86494319283523e-5,-5.88101859483882e-8,0.004402981550175842,1.8800342453498846e-5,-5.914217622460607e-8,0.004402999067764595,1.8852377164001726e-5,-5.925669183407802e-8,0.004403035359985339,1.8801411674438728e-5,-5.914416507577008e-8,0.0044031298139103415,1.866162281600663e-5,-5.883524829467042e-8,0.004403315601073636,1.8465518632622366e-5,-5.8401102927705954e-8,0.004403612303337892,1.8260820798133723e-5,-5.794674902359043e-8,0.00440401903455858,1.810360352195355e-5,-5.7596036212635465e-8,0.004404509752154576,1.8047165882872968e-5,-5.746702598309528e-8,0.004405033516436402,1.812725114889848e-5,-5.763917890945277e-8,0.004405522902615492,1.834684093381671e-5,-5.8119578846809494e-8,0.0044059119457882465,1.866727755270758e-5,-5.8823215461512124e-8,0.004406159440016461,1.9013925428711905e-5,-5.958550245976834e-8,0.004406266628248096,1.9299284542711648e-5,-6.021339687547807e-8,0.004406277737108989,1.945484969608813e-5,-6.055575571644973e-8,0.004406261496645234,1.9454837423611572e-5,-6.055559500071444e-8,0.004406284449775708,1.9319660877416878e-5,-6.025761062267969e-8,0.00440639062788073,1.910099176720538e-5,-5.977521664665257e-8,0.004406594829344743,1.886022453602534e-5,-5.924323335780905e-8,0.004406887078573716,1.8651292088100253e-5,-5.878025539400848e-8,0.004407241761031286,1.8511880264080445e-5,-5.846944211875105e-8,0.0044076263524043535,1.8461551898719056e-5,-5.835435137480919e-8,0.0044080076754981524,1.8503530268696664e-5,-5.8442683603324096e-8,0.00440835579500999,1.862755742929406e-5,-5.871235534719573e-8,0.004408646532290339,1.881262321625275e-5,-5.911736690258402e-8,0.004408863496128932,1.9029458207028737e-5,-5.959328119831901e-8,0.004409000066919958,1.924325840921723e-5,-6.006330961355848e-8,0.004409061253908856,1.9417302526743488e-5,-6.044637646552229e-8,0.004409064800155661,1.9517894893698925e-5,-6.066804549783033e-8,0.00440904055014602,1.9520391771617026e-5,-6.067376479634501e-8,0.004409027212339246,1.9415263477098266e-5,-6.044217579738232e-8,0.004409066265143777,1.9212538136596372e-5,-5.99949182565613e-8,0.004409193715141178,1.8942795303234154e-5,-5.939893403493536e-8,0.0044094314113227616,1.865344497733075e-5,-5.875845298339941e-8,0.004409780143242562,1.8400286623901103e-5,-5.8196555817766816e-8,0.004410216569539457,1.8235638567657733e-5,-5.782905216370578e-8,0.004410695422717016,1.8195238170461436e-5,-5.773546974239403e-8,0.004411157650944433,1.8286844900537162e-5,-5.7933659296607315e-8,0.004411543971861461,1.8484117436023682e-5,-5.836601541020027e-8,0.004411811395675748,1.8729348317482946e-5,-5.890535923731313e-8,0.004411947793992804,1.89470109132833e-5,-5.938486561457419e-8,0.0044119780011767805,1.906592214848751e-5,-5.964712702981143e-8,0.004411956808968038,1.9042277832868503e-5,-5.9595124411453214e-8,0.004411950401682743,1.8873156757466962e-5,-5.92220569871064e-8,0.004412014554899769,1.8594182067809693e-5,-5.8606156280090905e-8,0.004412179536671111,1.8263848967560027e-5,-5.7876134214088945e-8,0.0044124466739733125,1.7943581917926447e-5,-5.716729690606632e-8,0.004412794575472388,1.7682304086576782e-5,-5.6587619247160394e-8,0.004413189368832398,1.7509204078874898e-5,-5.6201810628385806e-8,0.004413594086340192,1.743345530047553e-5,-5.603059765879325e-8,0.004413975065031127,1.7447630029714103e-5,-5.605809066694707e-8,0.004414305472350097,1.7532025516451413e-5,-5.6241179923360305e-8,0.004414567041261399,1.7658503065552773e-5,-5.651793566777759e-8,0.004414751115520992,1.779363418722658e-5,-5.681456751260478e-8,0.004414859663338807,1.7901658854669397e-5,-5.7052019121006296e-8,0.0044149062993784445,1.794805755027884e-5,-5.7153915757579485e-8,0.004414916691840586,1.7904389601374315e-5,-5.7057269944060924e-8,0.004414927200000021,1.77543682378513e-5,-5.672588204884182e-8,0.0044149804922138025,1.750003314877578e-5,-5.616395099473292e-8,0.00441511759337999,1.7165714561544804e-5,-5.542484487782527e-8,0.004415367428776234,1.679696126662312e-5,-5.460881274387819e-8,0.0044157368984729635,1.64525946058128e-5,-5.3845568238601775e-8,0.0044162055472075626,1.6190716787134946e-5,-5.3263516737987664e-8,0.004416727899593218,1.6052589799655223e-5,-5.295419024084609e-8,0.0044172437234548155,1.6049869174066154e-5,-5.294395078197559e-8,0.004417693384688244,1.615974344870538e-5,-5.3183040430361466e-8,0.004418033663467096,1.6329784446188893e-5,-5.355607037861073e-8,0.004418249405605174,1.6491255741248804e-5,-5.391129234465096e-8,0.004418357633513688,1.657727659886784e-5,-5.41007360539825e-8,0.004418402673640693,1.6540796109409133e-5,-5.4020027084270734e-8,0.004418443391223361,1.636694373579072e-5,-5.3635805163711675e-8,0.004418536429934856,1.6075637077552477e-5,-5.2991599870440183e-8,0.004418721153570862,1.5713686813819345e-5,-5.219048380509432e-8,0.004419011327149181,1.5339827180016276e-5,-5.136208116526004e-8,0.004419395436149071,1.5008693642004086e-5,-5.062720950800594e-8,0.004419843763828487,1.475917925423041e-5,-5.0072119853676645e-8,0.004420318190940414,1.4609543041482485e-5,-4.973758066953034e-8,0.004420781006999231,1.455837640529271e-5,-4.9620879180614367e-8,0.004421200875707693,1.4588855571197866e-5,-4.9685116993361385e-8,0.004421555921818236,1.4673832615992423e-5,-4.9870423302738325e-8,0.004421834861138942,1.4780363310829798e-5,-5.0103979045361175e-8,0.004422037237442245,1.4873349197413976e-5,-5.030810679146616e-8,0.0044221735003303324,1.4918708687383351e-5,-5.0407314602882546e-8,0.004422265076734925,1.488684665139391e-5,-5.0335987892971714e-8,0.004422343894139628,1.4757129675741033e-5,-5.004829930915722e-8,0.004422450182798508,1.4523472760162985e-5,-4.953057889944237e-8,0.004422627129488367,1.4199935359410018e-5,-4.8813710361903955e-8,0.004422911606825086,1.382367526534905e-5,-4.7979688149729203e-8,0.004423322237828266,1.3451651182103001e-5,-4.715436315562399e-8,0.00442384901396835,1.3148639319550321e-5,-4.6480995689175956e-8,0.004424450465700748,1.2968277830758903e-5,-4.6078384882655163e-8,0.004425062411682258,1.2934115116972632e-5,-4.599895383332543e-8,0.004425616532075163,1.3029713949506274e-5,-4.620678002907812e-8,0.00442606125460747,1.3203026493029452e-5,-4.658713648167632e-8,0.004426376247492937,1.3382921571667098e-5,-4.698291956016331e-8,0.0044265757656095205,1.3500398155340669e-5,-4.7241493967355725e-8,0.0044267015746751685,1.3506656906523134e-5,-4.7254652877251136e-8,0.004426809564985756,1.3383317501207797e-5,-4.698127400556689e-8,0.004426954798878417,1.3143641854113754e-5,-4.645015416988944e-8,0.004427178862902963,1.282611238434304e-5,-4.574598280569655e-8,0.004427502065621027,1.248309395401886e-5,-4.498442593684408e-8,0.004427921557662274,1.2167909243147152e-5,-4.4283605507852286e-8,0.0044284149290582065,1.1923590626574095e-5,-4.373914849628887e-8,0.004428947492553156,1.1775726251332769e-5,-4.340818287378602e-8,0.0044294807498054785,1.1730276245194692e-5,-4.330431159108967e-8,0.00442997978210213,1.1775616157272551e-5,-4.3402016286169154e-8,0.004430418284203898,1.1887104697408922e-5,-4.3646763807176316e-8,0.004430781078167451,1.2032394059880673e-5,-4.396683813881441e-8,0.004431064723837474,1.2176260557030221e-5,-4.428411771350637e-8,0.0044312770935376515,1.228454666456542e-5,-4.452283720664672e-8,0.004431436570445023,1.2327479539015128e-5,-4.4616919616307796e-8,0.004431571073044788,1.2282959424570596e-5,-4.451723465126646e-8,0.004431716519505703,1.2140402085948442e-5,-4.420012359781004e-8,0.004431913708413011,1.190525144918933e-5,-4.367745401611296e-8,0.004432202271488714,1.1603137979985335e-5,-4.3005902031456583e-8,0.00443261096494701,1.128105558813796e-5,-4.228959825337529e-8,0.004433145658560025,1.1001798769206879e-5,-4.166779716993523e-8,0.004433779801368679,1.082900401217352e-5,-4.12817006687968e-8,0.004434454646972603,1.0805123199301839e-5,-4.122560821070611e-8,0.004435094025680583,1.093179184586048e-5,-4.1503363883340675e-8,0.004435629850168535,1.1164738583475233e-5,-4.20170322203088e-8,0.004436026030782993,1.1428372850655338e-5,-4.259921088755147e-8,0.004436288544140871,1.1642827137621819e-5,-4.30729574358741e-8,0.00443645852333741,1.1749408550127374e-5,-4.33081550485094e-8,0.004436594888881352,1.1724150687214207e-5,-4.3251474414460785e-8,0.004436755874140951,1.1577909422798677e-5,-4.292656969019233e-8,0.00443698556045168,1.134743368171151e-5,-4.241440383930332e-8,0.004437307141160754,1.1082923092713402e-5,-4.1825890935872864e-8,0.004437722000943753,1.0835997728485317e-5,-4.1275427325207346e-8,0.004438212894918262,1.0650076781292515e-5,-4.0859608303239765e-8,0.004438749638289341,1.055393982394728e-5,-4.0642808497137944e-8,0.004439295959152751,1.0558721353467244e-5,-4.065026502851615e-8,0.004439816265453436,1.065819146280534e-5,-4.0868482817672476e-8,0.004440281272009354,1.0831676496297347e-5,-4.1251640135869176e-8,0.004440671831938921,1.1048643543678123e-5,-4.173183848769729e-8,0.004440980777783971,1.1273898329578631e-5,-4.2230779881881195e-8,0.00444121303269828,1.1472474912977608e-5,-4.267071508775094e-8,0.004441384565236301,1.1613723431763203e-5,-4.298351149337096e-8,0.004441520716355006,1.1674659260946504e-5,-4.311801611635916e-8,0.004441654103827259,1.1642927188475744e-5,-4.304658575328331e-8,0.004441821893723169,1.151970903380154e-5,-4.277157863485106e-8,0.004442061733825511,1.1322569755221519e-5,-4.2331789891194374e-8,0.004442405367359218,1.1087324544257746e-5,-4.1806717475930976e-8,0.004442869542993695,1.0866655575333044e-5,-4.1313536007648224e-8,0.004443445735403163,1.0722317764963522e-5,-4.0989728756109695e-8,0.004444093284368835,1.0708865030730829e-5,-4.0956817567218523e-8,0.0044447430760904995,1.085167507562386e-5,-4.127142029165161e-8,0.004445316435740319,1.1129602124610225e-5,-4.1886642259513546e-8,0.004445754128237322,1.1475626607160576e-5,-4.2653546623268654e-8,0.004446040101964218,1.180003031512926e-5,-4.3372752883896014e-8,0.004446205530673317,1.2024629257590159e-5,-4.387057130415036e-8,0.004446312162708855,1.2108771182796773e-5,-4.405669777283164e-8,0.004446427135514646,1.2055740045207085e-5,-4.3938284164400834e-8,0.004446602819718554,1.1902415131929761e-5,-4.3596893302424874e-8,0.004446867462772274,1.1702280581489064e-5,-4.3150880569211476e-8,0.00444722502652385,1.1510013581017392e-5,-4.272141346034424e-8,0.004447660112373166,1.1371009258943887e-5,-4.240940734950581e-8,0.004448144592351008,1.1315808141326373e-5,-4.228315760058449e-8,0.00444864413440166,1.1358103698667109e-5,-4.237371725707588e-8,0.004449124029971733,1.1495141539025288e-5,-4.2675501313854964e-8,0.004449554153193063,1.1709878328814522e-5,-4.315087896932633e-8,0.004449912835517964,1.1974488478859295e-5,-4.373794004970734e-8,0.004450189440411732,1.2254789064169708e-5,-4.4360459045246395e-8,0.004450385488268202,1.2515133469631053e-5,-4.493894052335691e-8,0.004450514285615522,1.2723218588808307e-5,-4.540139076746559e-8,0.004450599251519201,1.285424788009527e-5,-4.569253626675187e-8,0.0044506713012207,1.2894201090678989e-5,-4.578100104332719e-8,0.004450765540459394,1.2842246866083047e-5,-4.5664633203186566e-8,0.004450917284953617,1.2712332911019386e-5,-4.537412450667041e-8,0.004451157155322636,1.2533780867555994e-5,-4.497450577626395e-8,0.004451504873237557,1.2350163721766086e-5,-4.45628020467471e-8,0.004451961919675364,1.2214876307893983e-5,-4.425820466465791e-8,0.004452504731610211,1.218142064773772e-5,-4.418032467973815e-8,0.004453082319776596,1.2287689702351628e-5,-4.441399178406356e-8,0.0044536237576869794,1.2537566429059222e-5,-4.496809227303929e-8,0.004454058600129623,1.2889221277017663e-5,-4.5749448011482285e-8,0.004454344557171657,1.3261764007055407e-5,-4.657774011379726e-8,0.004454487209756872,1.356321056345686e-5,-4.724799032523849e-8,0.004454537817108847,1.3726577222573843e-5,-4.761103975360433e-8,0.004454569953530231,1.3733042945322505e-5,-4.762500825386583e-8,0.0044546503114754445,1.3611019367534598e-5,-4.7353008192290663e-8,0.004454819540444871,1.3417353161617989e-5,-4.692121901981639e-8,0.004455088006355839,1.3214963151419203e-5,-4.6469264458608674e-8,0.0044554417320164475,1.3056798315819873e-5,-4.6114776888332594e-8,0.00445585181070049,1.2978205618864193e-5,-4.5936593073707565e-8,0.004456283063848414,1.2995515360089378e-5,-4.597157388372203e-8,0.004456700455403941,1.3107894323916252e-5,-4.621850553884396e-8,0.0044570734879752745,1.3300386432833933e-5,-4.664459015113946e-8,0.004457379329847273,1.354733210799182e-5,-4.719288460843296e-8,0.004457605083715164,1.381611653844664e-5,-4.779065425340231e-8,0.004457749208594007,1.4071308351959136e-5,-4.835873390854053e-8,0.004457821935847933,1.4279162754995978e-5,-4.882171487818592e-8,0.004457844413589892,1.4412244841220207e-5,-4.9118304592704225e-8,0.004457846392811299,1.4453606997495086e-5,-4.9210578647334747e-8,0.004457862579541846,1.4399892313824196e-5,-4.909080557286075e-8,0.004457928006711199,1.4262935015950712e-5,-4.878499921089497e-8,0.0044580728160356475,1.406956442522464e-5,-4.835259699152093e-8,0.004458316817654614,1.385936585539174e-5,-4.7881662798881046e-8,0.004458664213340158,1.3680097018682372e-5,-4.7478820736234354e-8,0.004459099197509258,1.3580228791160693e-5,-4.725262339870064e-8,0.004459584026033035,1.3598195514992196e-5,-4.728940689142557e-8,0.004460062199621417,1.3749252092781208e-5,-4.762371409222547e-8,0.0044604695823886415,1.4013664681784223e-5,-4.8211740969940616e-8,0.004460753777901616,1.4333327715772738e-5,-4.8923755358978294e-8,0.004460895857321044,1.4624178301927179e-5,-4.957195585635171e-8,0.00446092230560696,1.4804495669279922e-5,-4.997383459421404e-8,0.004460896977374359,1.4826692738442146e-5,-5.002318300311229e-8,0.004460895349738283,1.4694329378561483e-5,-4.972790533985917e-8,0.004460976016780967,1.4455254987504552e-5,-4.919452719357374e-8,0.0044611646111219405,1.4178234027314433e-5,-4.857603680579923e-8,0.004461454185855782,1.3928460573193122e-5,-4.801746458935442e-8,0.0044618157539403095,1.3752419469232318e-5,-4.7622364855750946e-8,0.0044622107137216325,1.3673354803297678e-5,-4.7442825841443116e-8,0.00446260043945746,1.369354382664959e-5,-4.7484455725649896e-8,0.004462952022908023,1.3799219006272274e-5,-4.7717131725367e-8,0.004463241121058138,1.3965553328710682e-5,-4.8085882901992276e-8,0.004463453324834858,1.4160873361938923e-5,-4.852016867099879e-8,0.0044635849469705675,1.435036495631774e-5,-4.894218569650978e-8,0.004463643417515637,1.4499782775240661e-5,-4.9275285274911396e-8,0.004463647051016639,1.4579493829923948e-5,-4.945312739285398e-8,0.004463623708041326,1.456882906403381e-5,-4.9429429021382195e-8,0.004463607842406662,1.4460176219189537e-5,-4.918704040982184e-8,0.0044636357910401445,1.4261818394534823e-5,-4.874420470914212e-8,0.0044637397511841466,1.3998495202235436e-5,-4.815581116683994e-8,0.004463941391235043,1.3708962880863763e-5,-4.7508063679370155e-8,0.004464246337336341,1.3440376771153735e-5,-4.6906117413019404e-8,0.0044646407956383674,1.3240001878015215e-5,-4.645569825673976e-8,0.004465091381001237,1.3145269848031426e-5,-4.624087973870854e-8,0.004465549066273715,1.3173598219246631e-5,-4.6301165592733985e-8,0.004465957939694511,1.3314136875100861e-5,-4.661280004540448e-8,0.004466268576327031,1.352468763662037e-5,-4.708169932958065e-8,0.00446645372428031,1.3737541360524216e-5,-4.7556478385599956e-8,0.004466520878302181,1.3876287526487771e-5,-4.786615773013864e-8,0.004466514326078782,1.3880445157377903e-5,-4.7875375783545784e-8,0.004466502142877897,1.3727918531229615e-5,-4.753461483998569e-8,0.004466552086217613,1.344312403337607e-5,-4.689826847344771e-8,0.0044667082651349286,1.3085819784721498e-5,-4.609959388131855e-8,0.004466980019477852,1.2727550786706039e-5,-4.529813388914731e-8,0.004467345755137234,1.2428783962732317e-5,-4.4628795806165725e-8,0.004467765779943532,1.2225982089979055e-5,-4.4173112494455235e-8,0.004468196005854024,1.2129693991677846e-5,-4.395498255353792e-8,0.004468597642816224,1.2129490543834448e-5,-4.395156917433471e-8,0.00446894206410521,1.2201011417455164e-5,-4.410885737385981e-8,0.00446921225500677,1.2312244640502023e-5,-4.43555394468987e-8,0.004469402654481283,1.2428213420078234e-5,-4.46134499502362e-8,0.0044695185950805304,1.2514503621319245e-5,-4.48055188286882e-8,0.004469575723049835,1.2540430548831996e-5,-4.486296672886854e-8,0.004469599148903078,1.2482479511679878e-5,-4.473308223481721e-8,0.004469621667375493,1.2328204497541601e-5,-4.4387945702341005e-8,0.004469680258111596,1.2080054076724377e-5,-4.38329250854799e-8,0.004469810440791369,1.1757832861630705e-5,-4.3112118745779403e-8,0.004470038938882233,1.139812552580378e-5,-4.2307071423256166e-8,0.004470376233823944,1.1049363336854192e-5,-4.1525836645826615e-8,0.004470811437085582,1.0762470256707936e-5,-4.088220096014905e-8,0.004471311827050345,1.057885493987764e-5,-4.046892914926202e-8,0.004471828174441778,1.0518954079644614e-5,-4.0332120643179816e-8,0.00447230517930829,1.057478045414597e-5,-4.045439322306815e-8,0.004472694773246646,1.0709058764895794e-5,-4.075274930775221e-8,0.004472969079340785,1.0862056909000877e-5,-4.1093716830421817e-8,0.004473129460972397,1.096542999972803e-5,-4.1324306385980915e-8,0.004473208349376754,1.0960344314636686e-5,-4.131265117419883e-8,0.004473261801176122,1.0814980769902441e-5,-4.098727821687716e-8,0.004473353611162491,1.0535090952922028e-5,-4.036078520359405e-8,0.004473535890618031,1.0162456216834655e-5,-3.952640941680167e-8,0.004473833792415958,9.760956408521302e-6,-3.862688960352953e-8,0.004474240602953426,9.396173414810474e-6,-3.7808898628385294e-8,0.004474724001444978,9.11738920258227e-6,-3.718281945206038e-8,0.004475238859403357,8.948272943174389e-6,-3.6801887768029544e-8,0.0044757402350894555,8.887048525787006e-6,-3.6662466891908055e-8,0.004476192324498001,8.912754115928486e-6,-3.6717928510436886e-8,0.004476572466872101,8.99328366656885e-6,-3.689655835364853e-8,0.004476871540255352,9.092325994737656e-6,-3.711706737226179e-8,0.0044770926280973825,9.174281950373387e-6,-3.7299643889725875e-8,0.004477249315061717,9.207572991317009e-6,-3.737343689531388e-8,0.0044773641629216165,9.167232096321902e-6,-3.7282422144220036e-8,0.004477467204936426,9.037578898248145e-6,-3.699141801660316e-8,0.004477593756950581,8.815347168589488e-6,-3.649307148880597e-8,0.00447778058690321,8.512872182307729e-6,-3.5814955514758316e-8,0.004478059745215661,8.159958224253264e-6,-3.502372164908136e-8,0.004478450365817333,7.802247766408065e-6,-3.4221459193305144e-8,0.004478950468601355,7.494062159631074e-6,-3.3529720730520204e-8,0.004479532465119492,7.285542176108168e-6,-3.3060801908352687e-8,0.004480146136971822,7.2072554470058906e-6,-3.288331103792207e-8,0.004480730224220354,7.258279349781589e-6,-3.2995444030558204e-8,0.004481229449583244,7.4035582392112385e-6,-3.331896233314279e-8,0.004481610689525678,7.582522644393277e-6,-3.371838931973838e-8,0.004481872292063173,7.725939025928392e-6,-3.403868938062639e-8,0.00448204374844317,7.774910697168804e-6,-3.414782399457034e-8,0.004482176671298304,7.696059172490782e-6,-3.397078855811176e-8,0.004482330435030019,7.4890430319435334e-6,-3.350650916046562e-8,0.004482556672721601,7.1850969128227755e-6,-3.282465246101726e-8,0.0044828866992572885,6.837522641746615e-6,-3.2044432737991846e-8,0.0044833250857910616,6.507056498926579e-6,-3.130192899832561e-8,0.004483850858172803,6.24650987263678e-6,-3.071570165203201e-8,0.004484425307959444,6.08924159396039e-6,-3.036088489326645e-8,0.004485003194359061,6.044356934728174e-6,-3.025827024763154e-8,0.004485543401858622,6.098712850233066e-6,-3.0378643182073185e-8,0.004486016219005494,6.2234233182378906e-6,-3.0657287324259747e-8,0.0044864064166258944,6.3817652026060565e-6,-3.1011736157922704e-8,0.004486712974298434,6.536100940869929e-6,-3.135738930785751e-8,0.004486946987567679,6.652794334948827e-6,-3.16186317416998e-8,0.0044871290855611435,6.705289352964788e-6,-3.173578594963119e-8,0.004487287039748156,6.676139966458214e-6,-3.1669660514816774e-8,0.004487453549021817,6.558809591876483e-6,-3.1405558068106883e-8,0.004487663626245549,6.359694715241642e-6,-3.095779699979666e-8,0.004487950667436226,6.100153211559874e-6,-3.0374268126452117e-8,0.004488340386805238,5.817319379742182e-6,-2.973828357636435e-8,0.004488842722498734,5.561454687988725e-6,-2.9162651978515495e-8,0.004489443758855133,5.387386078451001e-6,-2.87704753805209e-8,0.00449010207955269,5.339481305214199e-6,-2.866142686948672e-8,0.004490754688042762,5.434077367358827e-6,-2.887228736862537e-8,0.004491334130057058,5.647948607453723e-6,-2.9351019643881805e-8,0.004491791249757919,5.921297869142392e-6,-2.99634549511861e-8,0.004492112629279643,6.17644552752166e-6,-3.0535254824106297e-8,0.00449232388491216,6.343735825162951e-6,-3.0910079891972617e-8,0.004492478423788278,6.3824291151391336e-6,-3.0996454297399085e-8,0.0044926387333911215,6.288994539844147e-6,-3.078631234061721e-8,0.004492858636300761,6.092913739653983e-6,-3.0345562453837724e-8,0.004493171588724417,5.844789364045817e-6,-2.9787493231587065e-8,0.00449358619792652,5.60206433789655e-6,-2.9240893731404095e-8,0.004494087869175982,5.4161245069199806e-6,-2.882123891207294e-8,0.004494644740160421,5.322864554289205e-6,-2.8609503663609465e-8,0.004495216006784931,5.337654872160231e-6,-2.864069875751362e-8,0.004495760772876803,5.45491845871229e-6,-2.8902689986086383e-8,0.00449624562807949,5.6517357057193595e-6,-2.9344127629553888e-8,0.004496649625176552,5.894052353282223e-6,-2.988837234120634e-8,0.004496966197981279,6.14368973988668e-6,-3.044936038422412e-8,0.004497202413708704,6.364618307242032e-6,-3.094585642668188e-8,0.004497376491928267,6.527582409948589e-6,-3.131194447327545e-8,0.004497514640436966,6.6129278100694005e-6,-3.150337999113445e-8,0.004497647925917268,6.612117621637158e-6,-3.150093270015358e-8,0.004497809336845073,6.528610724443239e-6,-3.131231070153016e-8,0.004498030707089667,6.3785361876222695e-6,-3.09736925859592e-8,0.004498338829174895,6.191080665260008e-6,-3.055066942661581e-8,0.004498750077775436,6.0076683654676744e-6,-3.013646953689903e-8,0.004499263612814337,5.8780642609847445e-6,-2.9843203850422515e-8,0.004499854940636369,5.851244450515609e-6,-2.9781269629881294E-08,0.004500473936466841,5.960397636023314e-6,-3.002551100540538e-8,0.004501052719345036,6.205775394502228e-6,-3.057655086561226e-8,0.00450152565398311,6.544818406940442e-6,-3.133855594471292e-8,0.004501855052718436,6.89991925988118e-6,-3.213677936923044e-8,0.004502048299394567,7.184984577129539e-6,-3.277745584916125e-8,0.00450215485481849,7.337928245096862e-6,-3.312096524996092e-8,0.004502244939964075,7.34104622514252e-6,-3.31275673941889e-8,0.0045023832883471036,7.220589179745083e-6,-3.285626158580508e-8,0.0045026110823796145,7.030850470500054e-6,-3.2428926008768215e-8,0.0045029404092560505,6.834169236371335e-6,-3.198546698313869e-8,0.004503358106314494,6.685082210089396e-6,-3.1648403907449894e-8,0.004503833931529304,6.621199922123047e-6,-3.150250475699595e-8,0.004504329393182454,6.659916022098113e-6,-3.158735035096041e-8,0.004504805490228415,6.79906815339101e-6,-3.18986098972113e-8,0.0045052288712172945,7.020052500014815e-6,-3.239479081077634e-8,0.004505576291020284,7.292536290791366e-6,-3.300768877577651e-8,0.004505837190189702,7.580099251624076e-6,-3.3655110613896705e-8,0.0045060143045280365,7.846042790020471e-6,-3.42541110553583e-8,0.004506122446663604,8.058625318459529e-6,-3.473295260761845e-8,0.0045061858442556986,8.195104654863028e-6,-3.504028264202122e-8,0.004506234642510104,8.244233774000591e-6,-3.515070923594395e-8,0.004506301185498216,8.20730170658394e-6,-3.506705303538336e-8,0.004506416396345633,8.098093426558627e-6,-3.482021907021817e-8,0.004506606235169193,7.94206498498607e-6,-3.446740371929097e-8,0.004506887964378976,7.774744655900673e-6,-3.4088620681013444e-8,0.004507265898608951,7.63883680811971e-6,-3.378026681707891e-8,0.004507726866888514,7.578827637892328e-6,-3.364294154809401e-8,0.0045082369085281135,7.631796357853752e-6,-3.376059550196789e-8,0.0045087423408103665,7.81442404265071e-6,-3.4171064362557586e-8,0.004509179270358261,8.109527450340536e-6,-3.48355963905556e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_26.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_26.json
deleted file mode 100644
index 78aa7c4..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_26.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":26000,"numberOfSamples":1000,"samples":[0.004509493310776733,8.460255546355793e-6,-3.5625800851343465e-8,0.004509663584584268,8.78152154032578e-6,-3.634960149730122e-8,0.004509716789810693,8.989819707723907e-6,-3.681866430913203e-8,0.004509719059465651,9.037418772725032e-6,-3.692552117143939e-8,0.004509748243703133,8.930185223519827e-6,-3.668355434778159e-8,0.004509863647122957,8.719470842231082e-6,-3.620846132642241e-8,0.004510089653785742,8.476972036399517e-6,-3.5661533171045015e-8,0.004510416800722429,8.269299770251092e-6,-3.51925282944491e-8,0.004510813094911667,8.1427235238956e-6,-3.4905561743649874e-8,0.004511237012805131,8.118815983827459e-6,-3.4849442039030304e-8,0.004511647598100416,8.19695215375018e-6,-3.5023237901990346e-8,0.004512010754110658,8.359585736620415e-6,-3.538793530902102e-8,0.004512302608721269,8.577895407180773e-6,-3.5878908014654e-8,0.004512511101780664,8.817020399356672e-6,-3.6417590410461715e-8,0.004512636407156604,9.040913865577355e-6,-3.692247406897225e-8,0.004512690307657771,9.216869444768706e-6,-3.7319489010541575e-8,0.004512694498577715,9.319590010896785e-6,-3.755134208751638e-8,0.004512677812454461,9.33448051439994e-6,-3.758499305360356e-8,0.004512672525088187,9.259714461186162e-6,-3.74162487552752e-8,0.004512710155956202,9.106773676260358e-6,-3.7070886445067697e-8,0.004512817232229619,8.899452134994748e-6,-3.660239062283695e-8,0.004513011361703757,8.671416905011533e-6,-3.6086549932726506e-8,0.0045132978459024205,8.462410007400726e-6,-3.561303803422552e-8,0.00451366700674806,8.313087368408677e-6,-3.5273853268424084e-8,0.004514092641922462,8.258223307030978e-6,-3.5147920393724736e-8,0.004514532771288454,8.318077690988317e-6,-3.5281410931936163e-8,0.004514934630932754,8.4888481118899e-6,-3.566597134940736e-8,0.004515245854344678,8.735374126556136e-6,-3.622214330179837e-8,0.0045154316998782295,8.991891199064452e-6,-3.6801147360575755e-8,0.004515492902915043,9.176856590224277e-6,-3.7218586920753816e-8,0.004515473030595792,9.22132948769478e-6,-3.731873347690093e-8,0.004515445973338222,9.09843419372188e-6,-3.704104339955742e-8,0.00451548682469044,8.835578371895206e-6,-3.644751863773576e-8,0.00451564268107663,8.500985857177386e-6,-3.5692080359945736e-8,0.0045159197183348996,8.174205711565663e-6,-3.495399269113799e-8,0.004516289609363855,7.91891452501725e-6,-3.437668106843999e-8,0.004516706111846334,7.769533914623208e-6,-3.403776290168179e-8,0.004517121078763411,7.73134067417984e-6,-3.3949388348932536e-8,0.0045174946878258695,7.787734155315276e-6,-3.4074540770568025e-8,0.004517799867137044,7.908923469211388e-6,-3.434642142253354e-8,0.004518023021591153,8.059160327422076e-6,-3.468456742654183e-8,0.004518163140214663,8.202005982025426e-6,-3.50066650311153e-8,0.004518230411948181,8.30424890030949e-6,-3.523747823122548e-8,0.004518244570725208,8.33915192550796e-6,-3.531634932075353e-8,0.004518232782286238,8.28935594403696e-6,-3.5203891163581475e-8,0.004518226774465987,8.149365170645358e-6,-3.488762043767852e-8,0.004518259006711036,7.927116613346235e-6,-3.438542274392408e-8,0.004518358060544222,7.643963370228097e-6,-3.3745425584923236e-8,0.004518543856405558,7.332621283429884e-6,-3.3041356370972954e-8,0.004518823498710852,7.0329632269025115e-6,-3.236314547040654e-8,0.004519188579967757,6.785903929501321e-6,-3.180325247605029e-8,0.004519614661144808,6.626048418181081e-6,-3.14401232958339e-8,0.0045200634304379044,6.5740276672578925e-6,-3.132079397132222e-8,0.004520487966458727,6.62956304606739e-6,-3.144502131997278e-8,0.00452084147546764,6.766843341505083e-6,-3.175463526314589e-8,0.004521089187148414,6.934764185105069e-6,-3.2134004538126606e-8,0.004521221269959029,7.065025688552307e-6,-3.2428442843453624e-8,0.004521261859102045,7.089574850293132e-6,-3.248384715700535e-8,0.0045212674299407694,6.964089990219654e-6,-3.2199939344201606e-8,0.004521310513078177,6.687544084459722e-6,-3.1574464342686096e-8,0.004521453447203763,6.305670157088708e-6,-3.071085821791362e-8,0.0045217253573987225,5.893958647960642e-6,-2.9779688167653515e-8,0.004522114733755025,5.529133856038296e-6,-2.8954214723599135e-8,0.004522579377927455,5.264744210794258e-6,-2.8355366465152043e-8,0.004523065009217748,5.120982847527676e-6,-2.802885167464862e-8,0.004523521972907846,5.088150002782038e-6,-2.7952986672350293e-8,0.004523914736487703,5.136932989628306e-6,-2.8061821235107004e-8,0.004524224518460753,5.229079919518181e-6,-2.8269112293518485e-8,0.004524447866784532,5.325356167857952e-6,-2.8486202260608446e-8,0.004524593830297251,5.390497834119252e-6,-2.8633216627973057e-8,0.004524681160259874,5.396171432205578e-6,-2.864585654482284e-8,0.004524735849207278,5.323027317101781e-6,-2.8480176026552257e-8,0.0045247886943237964,5.16249823096028e-6,-2.8116730602371682e-8,0.004524872353940403,4.918444281738836e-6,-2.7564280225240977e-8,0.0045250174349796965,4.608134848323794e-6,-2.68619228883987e-8,0.004525247591606092,4.261615509273891e-6,-2.6077583364155316e-8,0.004525574321292053,3.918549452938378e-6,-2.530086898948843e-8,0.00452599277311532,3.622150479587777e-6,-2.462943302074595e-8,0.0045264801545203655,3.4107258886289212e-6,-2.4149954956603862e-8,0.004526998018263306,3.308450392319929e-6,-2.3917312554474847e-8,0.004527498775693957,3.317760005942039e-6,-2.3937301228621522e-8,0.00452793558120547,3.415707219466181e-6,-2.415823276235786e-8,0.00452827373820132,3.555942963102195e-6,-2.4475281614218993e-8,0.004528501076735233,3.677053577969154e-6,-2.4749321189987848e-8,0.004528634255226658,3.7166708540264696e-6,-2.4838951555615288e-8,0.00452871788049019,3.6288209284880697e-6,-2.4639908971730102e-8,0.004528814461392247,3.399578871249497e-6,-2.4120586107355082e-8,0.004528986348915549,3.0544546974012395e-6,-2.3338735228699577e-8,0.004529275447593868,2.652362755159554e-6,-2.2427751850493508e-8,0.0045296894826229355,2.266809562799965e-6,-2.1554061940523532e-8,0.004530201357681512,1.962172998408435e-6,-2.0863453384503786e-8,0.004530761107800889,1.7757792179593227e-6,-2.044053421769499e-8,0.004531313427122603,1.7122786235617054e-6,-2.0295983770420518e-8,0.0045318125655776954,1.749367675975404e-6,-2.037944352447753e-8,0.004532230187937357,1.8490802478591477e-6,-2.0605011670815894e-8,0.00453255650096998,1.968861091375431e-6,-2.08762767548505e-8,0.004532797413529103,2.069429992863889e-6,-2.1104137100273155e-8,0.004532970455627508,2.1191957801873115e-6,-2.121685754164669e-8,0.004533101006844266,2.0963386322046738e-6,-2.1164869031366592e-8,0.004533219236241922,1.9898190337828303e-6,-2.09231193072752e-8,0.004533357423629913,1.8001513809640854e-6,-2.0492836790277707e-8,0.004533546992225019,1.540165048997408e-6,-1.9903207651827864e-8,0.004533814625910253,1.2352637227640804e-6,-1.9211889086172134e-8,0.0045341773121543635,9.220902568912064e-7,-1.8501932634248034e-8,0.004534637007950439,6.443360771918933e-7,-1.7872295458798828e-8,0.004535176664792075,4.4499167138597644e-7,-1.7420339103780497e-8,0.004535760035304328,3.557925328380303e-7,-1.7217978115692215e-8,0.004536337215533742,3.866412902473646e-7,-1.728772350881937e-8,0.004536855876733859,5.191842687487436e-7,-1.7588072274695526e-8,0.004537275385870752,7.081369882607212e-7,-1.8016430469229954e-8,0.004537579125593926,8.912435030713721e-7,-1.8431639886474907e-8,0.004537780530744449,1.005317578228007e-6,-1.8690357071296403e-8,0.004537920538034231,1.0034699039837472e-6,-1.868616129977461e-8,0.0045380570398233745,8.682810605385142e-7,-1.837946472292758e-8,0.004538249294644987,6.169983072998986e-7,-1.780931248930263e-8,0.004538541670781989,2.970358272201004e-7,-1.708319176747392e-8,0.004538951579800054,-2.7231731686069303e-8,-1.634711520277816e-8,0.004539465565272268,-2.9245638234442717e-7,-1.5744867236873657e-8,0.004540044817016876,-4.530987714794202e-7,-1.537993968878856e-8,0.004540637691521912,-4.913904592554641e-7,-1.5292863661002783e-8,0.0045411941681401885,-4.179588426089708e-7,-1.545968048557915e-8,0.0045416771529875445,-2.646725790176748e-7,-1.580808820140591e-8,0.004542067915028178,-7.389589463817978e-8,-1.624181308946475e-8,0.004542365941693601,1.1161571806108388e-7,-1.6663601282918254e-8,0.004542585366851695,2.557719936323004e-7,-1.6991327574329404e-8,0.004542750301596352,3.328556897280507e-7,-1.7166487509062615e-8,0.004542890539772055,3.288339048433999e-7,-1.7157205799619142e-8,0.004543038110357333,2.4148307307612337e-7,-1.6958505979006495e-8,0.00454322442352209,8.020747945813414e-8,-1.659185787564851e-8,0.004543477357567356,-1.341554185295706e-7,-1.6104693284517906e-8,0.0045438176089469635,-3.6995599015852086e-7,-1.5568968349127696e-8,0.004544254057927853,-5.868612278189073e-7,-1.507632289085078e-8,0.004544778812882803,-7.409000787411416e-7,-1.4726631776247386e-8,0.0045453638821404034,-7.933529756111925e-7,-1.4607830316871693e-8,0.004545962512626217,-7.226259496806341e-7,-1.4768947865738407e-8,0.004546517831531095,-5.353354038386974e-7,-1.5194914668309396e-8,0.004546978401910495,-2.705801777601392e-7,-1.5796839796783648e-8,0.004547315606031961,7.426064280520287e-9,-1.6428760347708144e-8,0.00454753489003374,2.2771495362971647e-7,-1.6929398929145512e-8,0.004547674975302893,3.348200634734904e-7,-1.7172762210130373e-8,0.004547795269270398,3.0546407671952013e-7,-1.7106022758788838e-8,0.004547957342816333,1.5361082419481356e-7,-1.6760923023671023e-8,0.004548207818776337,-7.620926519655014e-8,-1.623857269178295e-8,0.004548567688113334,-3.2310178950335675e-7,-1.5677235728358874e-8,0.004549029689400049,-5.261904517049809e-7,-1.5215224434557068e-8,0.004549562879332015,-6.387181991297879e-7,-1.4958938590346338e-8,0.004550122119909111,-6.369676213818445e-7,-1.4962560924246113e-8,0.004550659547407562,-5.227487180281773e-7,-1.522226203843342e-8,0.00455113503524916,-3.198295674394947e-7,-1.568415057741117e-8,0.004551523306381531,-6.614611648123595e-8,-1.6261898726347644e-8,0.004551816641272785,1.9551328796095916e-7,-1.685796274830549e-8,0.004552023601182218,4.2580724108011224e-7,-1.7382583753550408e-8,0.004552165189758773,5.945892816202448e-7,-1.7766991018379748e-8,0.004552270093790798,6.837932410099917e-7,-1.7970026091410244e-8,0.004552370226282839,6.880617875256065e-7,-1.797954851084639e-8,0.004552497089156715,6.141061808103928e-7,-1.781091130786019e-8,0.004552678823971549,4.796156243032983e-7,-1.7504429067141582e-8,0.004552937441607541,3.1202357072442164e-7,-1.7122570952647516e-8,0.004553285657210565,1.4683488458868566e-7,-1.6746191281231358e-8,0.004553723072438308,2.461230159602889e-8,-1.6467701649164962e-8,0.004554232297584862,-1.4673606685835707e-8,-1.6378198838017022e-8,0.004554776931368462,5.916408340345163e-8,-1.654648595704409e-8,0.004555304544316013,2.5471410996338887e-7,-1.699210890005788e-8,0.004555757580182239,5.487508779098537e-7,-1.766206390844868e-8,0.00455609163018589,8.847980560550384e-7,-1.8427567403072217e-8,0.004556294266149341,1.1862585904106192e-6,-1.9114066338961307e-8,0.00455639356224145,1.3819276275300728e-6,-1.955944643880223e-8,0.004556449423840962,1.4320994076717743e-6,-1.967347844662727e-8,0.00455653146260646,1.3415196289400694e-6,-1.9467164239301853e-8,0.004556695250636879,1.1538974614742377e-6,-1.9040064669564954e-8,0.00455696762660136,9.337292242152009e-7,-1.8538868697838413e-8,0.004557344253094815,7.457228920368247e-7,-1.8110674855141883e-8,0.004557796262614695,6.393184058846508e-7,-1.7867944352973605e-8,0.004558280964655819,6.408021303045762e-7,-1.7870661006435703e-8,0.004558752717751708,7.521507776956689e-7,-1.812364701480733e-8,0.004559171865542613,9.545520907436515e-7,-1.8584396920373626e-8,0.004559510918417762,1.214685417394258e-6,-1.9177186559210626e-8,0.0045597577345257365,1.492268065989241e-6,-1.9810175736451022e-8,0.004559915758252532,1.747525782261627e-6,-2.0392490975707653e-8,0.004560001790681829,1.947399946982737e-6,-2.084852456530275e-8,0.004560042130719432,2.069755428846989e-6,-2.112766147211479e-8,0.004560068031127442,2.105379942421046e-6,-2.1208875035905857e-8,0.004560111313149676,2.0580137470542224e-6,-2.110073390215724e-8,0.004560200668904181,1.943025512553438e-6,-2.083829693588606e-8,0.004560358702285993,1.785412603296129e-6,-2.0478523102675264e-8,0.004560599413535639,1.6174458646150957e-6,-2.009495393525646e-8,0.004560925771429382,1.4758038902445344e-6,-1.977126696599221e-8,0.004561327227637577,1.3976103681723366e-6,-1.9592281027131787e-8,0.004561777687863393,1.414475222692563e-6,-1.963031184849548e-8,0.004562235579990404,1.5439760444566057e-6,-1.9925614673578647e-8,0.004562648675447503,1.7796412722016043e-6,-2.046341689014831e-8,0.004562966076598825,2.0834817290894464e-6,-2.1156859279096877e-8,0.004563156563769151,2.3880171788488707e-6,-2.1851733662215338e-8,0.004563226026995868,2.6134961406077906e-6,-2.236596297709388e-8,0.004563222002259049,2.697182257226839e-6,-2.255654425324677e-8,0.004563218140920344,2.6200473503104345e-6,-2.2380369070183947e-8,0.004563285177328307,2.4142697533356353e-6,-2.1911080480621846e-8,0.00456346510562536,2.1474700508499156e-6,-2.1302898831592876e-8,0.0045637614855055355,1.8952029862123072e-6,-2.0727876983910757e-8,0.004564146109374209,1.717390042126911e-6,-2.0322347502066937e-8,0.004564573586655692,1.6467160412382832e-6,-2.0160696512706902e-8,0.004564995621143562,1.6879982482464885e-6,-2.025403919365333e-8,0.004565371098880404,1.823849272809698e-6,-2.0563061761098215e-8,0.004565671575998424,2.0224636955771143e-6,-2.1015577494141815e-8,0.004565883304822525,2.2451570701558744e-6,-2.1523520714831093e-8,0.004566007062175339,2.4528861969496664e-6,-2.1997743592595424e-8,0.004566056469157245,2.6116666971517507e-6,-2.23604574329312e-8,0.004566055109573586,2.6967378051573467e-6,-2.2554903643749895e-8,0.004566032787591015,2.6952576374760298e-6,-2.2551638035756678e-8,0.004566021340058094,2.6074130943391173e-6,-2.2351082445335482e-8,0.004566050456020915,2.445916611802514e-6,-2.198229461679592e-8,0.004566143978834918,2.234071638222029e-6,-2.1498460356284963e-8,0.004566316991076654,2.002834908710053e-6,-2.0970174692905903e-8,0.004566573698773829,1.7872369419549948e-6,-2.047735188978444e-8,0.004566906025496633,1.6222415688750605e-6,-2.009987915744285e-8,0.004567292941820179,1.5378947751270364e-6,-1.9906572258774763e-8,0.0045677009482845456,1.5534732761251689e-6,-1.9941722705096247e-8,0.004568086845586504,1.6706423254153708e-6,-2.0209304708076832e-8,0.004568404479915657,1.8669001932336232e-6,-2.065787129431821e-8,0.004568616641222311,2.0927296815380814e-6,-2.1174057753546027e-8,0.004568710628782926,2.277737563029436e-6,-2.159677431671749e-8,0.004568710906383361,2.3496980887248315e-6,-2.1760931647364762e-8,0.004568678450507578,2.2627328227331568e-6,-2.1561913449607736e-8,0.004568690934995052,2.0202730399911163e-6,-2.100789416692359e-8,0.004568811461316786,1.6765736725135978e-6,-2.0223021008261412e-8,0.004569064102334118,1.3138502582226867e-6,-1.939501198865483e-8,0.00456942983638702,1.0095623883627573e-6,-1.870048308376553e-8,0.0045698609228537225,8.126805895776015e-7,-1.8250956905805127e-8,0.004570301299600792,7.370286449055343e-7,-1.8077863586350383e-8,0.004570702395164331,7.675146472653699e-7,-1.8146849034032396e-8,0.004571031105591736,8.712119800734532e-7,-1.838299920858834e-8,0.004571271553897738,1.0077872223193491e-6,-1.8694474593890068e-8,0.004571423431715869,1.1371794672960694e-6,-1.898988427190855e-8,0.00457149912894306,1.224623094486609e-6,-1.9189713805360918e-8,0.004571520661368493,1.2439529482437433e-6,-1.9233970167685107e-8,0.004571516461258664,1.1798659800376192e-6,-1.90875063062554e-8,0.004571517887299565,1.0292685411183112e-6,-1.874320617434184e-8,0.00457155544903053,8.015811947188519e-7,-1.822266996676711e-8,0.004571654890494846,5.177527012148897e-7,-1.757386049492885e-8,0.0045718335249696285,2.0776980474633583e-7,-1.686531683855287e-8,0.004572097388308316,-9.323396016944465e-8,-1.6177255542095043e-8,0.004572439665645757,-3.4987692521596087e-7,-1.5590463436344316e-8,0.004572840644505964,-5.31972816140779e-7,-1.5173961796713732e-8,0.004573269348815289,-6.200415053200593e-7,-1.4972436045635267e-8,0.004573687024026574,-6.10406095595246e-7,-1.4994491965318193e-8,0.004574052809641157,-5.192579563073559e-7,-1.520320779417572e-8,0.00457433198222599,-3.843987328357727e-7,-1.5512049283710714e-8,0.004574506433080039,-2.6231970700412053e-7,-1.57915871799184e-8,0.004574585098804139,-2.1787955603130257e-7,-1.5893271807468845e-8,0.0045746091849351205,-3.056827632750247e-7,-1.569220003592137e-8,0.004574645498676162,-5.476968892825376e-7,-1.513834525051923e-8,0.004574765267068838,-9.184797312588896e-7,-1.4290196294897466e-8,0.00457501606601899,-1.3499749934384158e-6,-1.3303575679860455e-8,0.004575402559457306,-1.7569182650377685e-6,-1.2373436343486388e-8,0.00457588755670308,-2.0690376161348062e-6,-1.1660288023729968e-8,0.0045764106752221,-2.2521266223356963e-6,-1.1242149216779647e-8,0.004576911396180024,-2.3103385627944873e-6,-1.1109414454615705e-8,0.004577344958268909,-2.275047092560445e-6,-1.119036156480763e-8,0.004577688009744958,-2.190125367673378e-6,-1.1384764724171442e-8,0.00457793703023403,-2.1001362793857524e-6,-1.1590799048558753e-8,0.004578103680851678,-2.0432033769984585e-6,-1.1721260373927869e-8,0.004578209903486739,-2.0476287663152695e-6,-1.1711299731405369e-8,0.00457828387494594,-2.1305649056463137e-6,-1.1521549135013692e-8,0.004578356691217041,-2.2974938653969773e-6,-1.113942510021554e-8,0.004578459254883159,-2.5420904405371936e-6,-1.0579494532798996e-8,0.004578618975408969,-2.8466169571197294e-6,-9.882523233547e-9,0.004578856169100808,-3.183321162571054e-6,-9.112167432714705e-9,0.004579180478803452,-3.5174083811508843e-6,-8.34808453913955e-9,0.004579588120477424,-3.8118316727193404e-6,-7.674971745318212e-9,0.004580060934558044,-4.03352156185739e-6,-7.168392305513895e-9,0.0045805679854873955,-4.1600968235078126e-6,-6.87951141941344e-9,0.0045810699651512255,-4.185692981165825e-6,-6.821782230335321e-9,0.00458152603375295,-4.124467505914989e-6,-6.962856854404446e-9,0.004581902189684743,-4.010657797913334e-6,-7.224349646031663e-9,0.004582179915574498,-3.894438306832133e-6,-7.491268811747432e-9,0.004582363424246814,-3.833098119282915e-6,-7.632267271587255e-9,0.004582483126184382,-3.8777855317296025e-6,-7.53011848341852e-9,0.004582592398102796,-4.057840675385612e-6,-7.117693448106915e-9,0.004582755475052093,-4.367487092300224e-6,-6.408428922268497e-9,0.004583027684494128,-4.761913130848646e-6,-5.505193981758026e-9,0.004583434904318093,-5.1682652158940795e-6,-4.575001218916299e-9,0.004583962740856525,-5.509717091332434e-6,-3.793847647778333e-9,0.004584562235224711,-5.731726984261732e-6,-3.286608037184449e-9,0.0045851690079899594,-5.8173444046123675e-6,-3.092013230972495e-9,0.004585724984926677,-5.785936446522613e-6,-3.1655856948169594e-9,0.004586192672434863,-5.680003803249362e-6,-3.4098510201368928e-9,0.004586558909587067,-5.549240041603622e-6,-3.710862720240599e-9,0.004586831090544941,-5.438473165345392e-6,-3.965824489806852e-9,0.004587030516411275,-5.381337431846182e-6,-4.097587491428378e-9,0.004587186126494469,-5.398361853965937e-6,-4.059053627389166e-9,0.0045873298103882906,-5.49731379182367e-6,-3.8324359563939324e-9,0.004587493095288864,-5.6741958005571095e-6,-3.427014054705955e-9,0.0045877044693880785,-5.914235263036652e-6,-2.876857912876998e-9,0.004587986651218072,-6.192958116809043e-6,-2.238299632400325e-9,0.004588353448843592,-6.477950803344133e-6,-1.5858038797377467e-9,0.004588806428404769,-6.73216177730537e-6,-1.0043412823020856e-9,0.00458933233628059,-6.919340188748711e-6,-5.769299288868636e-10,0.004589902743292579,-7.011376771941958e-6,-3.6786881572565e-10,0.004590477310455618,-6.996130497857601e-6,-4.0485922692968167e-10,0.004591011167147137,-6.883260760486553e-6,-6.656513658249578e-10,0.0045914652682251846,-6.705371049354524e-6,-1.075393733113511e-9,0.004591817010039603,-6.512924106794449e-6,-1.5182606557942965e-9,0.004592067796621043,-6.363468442006583e-6,-1.8621675068497396e-9,0.004592244944227824,-6.307637731525589e-6,-1.9909320328163395e-9,0.004592396800370081,-6.375463343972728e-6,-1.835720290287429e-9,0.004592581636072272,-6.566741952320174e-6,-1.397147556305703e-9,0.004592852503308843,-6.848670800862258e-6,-7.506592754098574e-10,0.0045932418347822595,-7.16265852740837e-6,-3.085310633349787e-11,0.004593750787773998,-7.439775464126724e-6,6.039907256439864e-10,0.004594348004365676,-7.620693551409611e-6,1.0176568839792315e-9,0.004594979307958952,-7.67285027729872e-6,1.1353900564086016e-9,0.004595584733360852,-7.597882344516838e-6,9.60993606260401e-10,0.004596115629330661,-7.427042036220201e-6,5.663444100107817e-10,0.004596545284004681,-7.208277314545172e-6,6.172570217697634e-11,0.004596870828408168,-6.9916428475073475e-6,-4.377209163440163e-10,0.004597108555701069,-6.818392915343977e-6,-8.371051908542961e-10,0.004597286586221487,-6.715617670183615e-6,-1.0741512526115635e-9,0.004597438018468549,-6.6953943241077795e-6,-1.1211643140079087e-9,0.004597595917342151,-6.7563461785649045e-6,-9.814428534041288e-10,0.0045977900559172604,-6.8858632210796456e-6,-6.841521467843064e-10,0.004598044659033155,-7.062128212677125e-6,-2.796287018101613e-10,0.004598376318128057,-7.255916920005681e-6,1.6480339335871812e-10,0.004598791545151504,-7.4327601793754e-6,5.698408862789437e-10,0.004599284036273952,-7.55641510487658e-6,8.521963256757693e-10,0.004599832545317101,-7.59449169585154e-6,9.37519703522967e-10,0.004600401089893143,-7.526267837569374e-6,7.783330705853753e-10,0.0046009435048163455,-7.351117380604259e-6,3.7337668699399923e-10,0.004601413323426574,-7.094082392306315e-6,-2.1959916877791475e-10,0.004601777276461345,-6.804398311453375e-6,-8.872456883447427e-10,0.004602027574734469,-6.544807205465784e-6,-1.4852269544859042e-9,0.004602187108824936,-6.373998484428838e-6,-1.878640796994688e-9,0.004602304305622246,-6.328662725555859e-6,-1.983290254130587e-9,0.004602439234285484,-6.4122851305789306e-6,-1.7913894121004542e-9,0.004602646341656962,-6.59454075292182e-6,-1.372856112257814e-9,0.004602959791749618,-6.820555679744346e-6,-8.539567811146143e-10,0.004603385401025903,-7.026168406663905e-6,-3.8223413598513426e-10,0.004603900535041509,-7.154432726648315e-6,-8.862971018962839e-11,0.004604461221360877,-7.16909923779504e-6,-5.6530923583887666e-11,0.004605014161836207,-7.061911347469658e-6,-3.0496913721986693e-10,0.004605510173710997,-6.852198505821913e-6,-7.894778705239851e-10,0.004605915231864156,-6.579480498016876e-6,-1.4190378636351609e-9,0.004606216233404941,-6.291994615044852e-6,-2.0824711583876744e-9,0.00460642071017142,-6.035108556079831e-6,-2.675171494544614e-9,0.00460655193149057,-5.842863718623184e-6,-3.1186589302558516e-9,0.004606641995139615,-5.733972110264688e-6,-3.369853455113043e-9,0.004606725264452894,-5.711711571864843e-6,-3.4213163304000836e-9,0.0046068334424430035,-5.7661813773756325e-6,-3.2960088168680032e-9,0.004606992447073734,-5.877366283212291e-6,-3.0401786490361465e-9,0.004607220525040382,-6.01804827384349e-6,-2.7166204947669695e-9,0.004607526828035787,-6.156368380259616e-6,-2.3987754818787228e-9,0.004607909878637184,-6.2584771004198995e-6,-2.1646433927517645e-9,0.004608355861891447,-6.292108699703443e-6,-2.0885544550141327e-9,0.004608837460403657,-6.231941022115572e-6,-2.2288041686048496e-9,0.004609314869247811,-6.066944432541149e-6,-2.610692390028512e-9,0.004609741181179981,-5.808287594175388e-6,-3.208296374163034e-9,0.004610073532643847,-5.494016982094601e-6,-3.9337217762102935e-9,0.004610288280096579,-5.185259144008995e-6,-4.645941435360547e-9,0.004610393895995997,-4.950873931477467e-6,-5.186269288801948e-9,0.004610433184336685,-4.844246198175972e-6,-5.431895389162019e-9,0.004610470758879338,-4.8829096485003395e-6,-5.342766223918112e-9,0.0046105707030473,-5.0419564476459976e-6,-4.976589310976798e-9,0.004610775446429694,-5.26417400954597e-6,-4.465310329754646e-9,0.004611094963682681,-5.480348310975678e-6,-3.968302033161426e-9,0.00461150823724263,-5.62972692844612e-6,-3.625329611994953e-9,0.004611973094222571,-5.673786679284628e-6,-3.524987578971608e-9,0.0046124390559712505,-5.60146915226002e-6,-3.692726761576285e-9,0.004612859222188488,-5.427288532920816e-6,-4.095184948750271e-9,0.004613199097686521,-5.184761096077944e-6,-4.655216115005645e-9,0.00461344157660515,-4.917463952163088e-6,-5.272388730713527e-9,0.004613587996069912,-4.669665926120923e-6,-5.844552407820035e-9,0.004613655691602776,-4.478251084401866e-6,-6.28652082530562e-9,0.004613673077859672,-4.367267921755222e-6,-6.542744128551488e-9,0.00461367367651798,-4.345651474038695e-6,-6.592631310893555e-9,0.0046136904516331,-4.407814373872608e-6,-6.449178045460803e-9,0.004613751389181142,-4.536239263420983e-6,-6.152919507168062e-9,0.004613876649815567,-4.704994955452618e-6,-5.763751856803909e-9,0.004614077028175075,-4.883303608630905e-6,-5.352690069082215e-9,0.004614353162834188,-5.038827337005442e-6,-4.994329710158694e-9,0.004614695036423012,-5.140875843306533e-6,-4.759499974144619e-9,0.004615081647533657,-5.164078436357073e-6,-4.706796509128987e-9,0.004615481345908867,-5.093156815280933e-6,-4.871507157630509e-9,0.004615854140456318,-4.928932317867542e-6,-5.251665030544923e-9,0.004616157793161933,-4.694284295014727e-6,-5.794263848231378e-9,0.004616358878782183,-4.436656622864292e-6,-6.389541647842568e-9,0.004616447225878722,-4.222062557520083e-6,-6.884973524270293e-9,0.004616447316459371,-4.117217975337249e-6,-7.126660174101772e-9,0.0046164171712829195,-4.163817419832329e-6,-7.018720722844495e-9,0.004616430002982171,-4.358091358751388e-6,-6.5703061256921416e-9,0.004616545920780777,-4.64955458388336e-6,-5.898225015384205e-9,0.004616789519416018,-4.961068379082266e-6,-5.180477898492885e-9,0.004617144952363664,-5.21797868115541e-6,-4.5890532040936815e-9,0.004617567428571435,-5.370589400078979e-6,-4.238257150629672e-9,0.004618001377383055,-5.4024523567296e-6,-4.165786813726474e-9,0.00461839617858386,-5.326689531338634e-6,-4.341319230810882e-9,0.004618715659086564,-5.176427103811998e-6,-4.688546619249612e-9,0.004618941704013463,-4.994299138923035e-6,-5.1092602716603065e-9,0.0046190738457956015,-4.823500218588578e-6,-5.503860695653606e-9,0.004619126539673815,-4.701021915286869e-6,-5.786919842108562e-9,0.00461912513350184,-4.6530002781485684e-6,-5.897985711351209e-9,0.004619101113456684,-4.692128922859444e-6,-5.8076723886911916e-9,0.004619087174435325,-4.817110070681227e-6,-5.5190059356818914e-9,0.004619112672785507,-5.013950645613634e-6,-5.064416509080086e-9,0.004619199956383798,-5.258745206492392e-6,-4.499227652478228e-9,0.004619361925076508,-5.521396310506229e-6,-3.892989039720409e-9,0.004619600861690062,-5.769630238686212e-6,-3.3201995651143257e-9,0.0046199082837785595,-5.972903127371703e-6,-2.851352592334347e-9,0.004620265553426885,-6.106140175320044e-6,-2.5443702178223045e-9,0.004620645157437597,-6.15344235394916e-6,-2.4360418005486742e-9,0.004621012910332626,-6.111969284666793e-6,-2.5329705998129033e-9,0.004621331889116244,-5.995896088586415e-6,-2.8023280874564467e-9,0.004621569196957076,-5.839257062531263e-6,-3.16525563366286e-9,0.004621705946598681,-5.6949592448301445e-6,-3.499245426945735e-9,0.0046217486369424686,-5.626269776579186e-6,-3.6579976183436843e-9,0.004621736346891752,-5.688589628394338e-6,-3.5136773121236357e-9,0.004621735560203208,-5.9056093086997374e-6,-3.011976455429588e-9,0.004621818663207311,-6.252544277839716e-6,-2.2106262735571202e-9,0.004622034186749106,-6.660327133482274e-6,-1.269447535738715e-9,0.004622386277920894,-7.0421296244785226e-6,-3.8895869566759596e-10,0.004622835921998608,-7.326987257096725e-6,2.672247922603419e-10,0.004623320597655784,-7.481387241366695e-6,6.22078154458821e-10,0.004623778166074979,-7.511256501722334e-6,6.895832720469361e-10,0.0046241631750252934,-7.4503005879202574e-6,5.476957123973267e-10,0.0046244526906444455,-7.344777280885875e-6,3.031921981158643e-10,0.004624644751104253,-7.241142852555951e-6,6.324918068849496e-11,0.0046247535293354415,-7.178329664083658e-6,-8.227089394819571e-11,0.004624803929537004,-7.1838293799132266e-6,-6.982495105222414e-11,0.004624826696230001,-7.272134715425384e-6,1.3414464882997706e-10,0.004624854095060916,-7.444583539571314e-6,5.327371256362688e-10,0.004624916026302616,-7.690267618702546e-6,1.1006291093985203e-9,0.004625036574007785,-7.98793405485864e-6,1.7885067099525766e-9,0.004625231133799637,-8.30888821439031e-6,2.5298802519654072e-9,0.004625504428824734,-8.620815020618825e-6,3.2500039740028935e-9,0.004625849747329165,-8.892151827359156e-6,3.875986187591585e-9,0.0046262495157665465,-9.09652545200698e-6,4.346970267559263e-9,0.004626677147753625,-9.216883627944467e-6,4.623605244888573e-9,0.004627100098948487,-9.249002221467704e-6,4.6961442314090165e-9,0.004627484100502901,-9.204044867914665e-6,4.590434874603475e-9,0.004627798689161824,-9.109776567161958e-6,4.3708109803278244e-9,0.004628024187515499,-9.0095003276215e-6,4.1376398888795614e-9,0.004628159602392367,-8.956974239448121e-6,4.015455545081188e-9,0.004628229255540625,-9.005485803645908e-6,4.127521100134283e-9,0.004628283803510658,-9.1910726190435e-6,4.556926589182645e-9,0.004628390435834369,-9.514454774165462e-6,5.304877259037512e-9,0.004628610918423801,-9.931843970056032e-6,6.269651296939101e-9,0.004628975503068454,-1.03648245865506e-5,7.2696549997176675e-9,0.004629467998225569,-1.0728850454589621e-5,8.10939549229837e-9,0.004630032512152586,-1.0965482676576773e-5,8.65397700401509e-9,0.004630597398772655,-1.1060056137677217e-5,8.86984853736169e-9,0.004631101082919748,-1.1038122203419039e-5,8.816457412620772e-9,0.004631507147841215,-1.0948389067229884e-5,8.606690701628071e-9,0.004631806481354592,-1.0844288661248472e-5,8.364204739480547e-9,0.004632011465302068,-1.0771358781577292e-5,8.194291991699351e-9,0.004632147892557216,-1.0761401585255883e-5,8.170455351365712e-9,0.004632247893263616,-1.0831308542105932e-5,8.331728476942694e-9,0.00463234477781505,-1.0984114505098195e-5,8.685073680741978e-9,0.004632469369290628,-1.1210771926742844e-5,9.209415190899736e-9,0.004632647141513031,-1.1492171204089592e-5,9.860291714348777e-9,0.004632895765556187,-1.1801489544677315e-5,1.0575356211698413e-8,0.004633222987185644,-1.2107161747595294e-5,1.1281365019742708e-8,0.004633625109689717,-1.2376748980879223e-5,1.1903214390625413e-8,0.004634086659004174,-1.2581610090192167e-5,1.2374746891829162e-8,0.004634581752502566,-1.2701806877036646e-5,1.2650024924146413e-8,0.004635077356706937,-1.273044813037253e-5,1.2713298103112125e-8,0.004635538281190807,-1.2676599340062202e-5,1.2585709492729057e-8,0.004635933426539173,-1.2565907068775515e-5,1.2326775887080312e-8,0.0046362425090470906,-1.2438342120984666e-5,1.202920592778017e-8,0.004636462294497865,-1.234271921279755e-5,1.1806193185873564e-8,0.004636611028747824,-1.232775517799123e-5,1.1770617073140064e-8,0.004636729067608224,-1.2429993538057063e-5,1.2006973681361427e-8,0.004636873204322435,-1.2660614669240317e-5,1.2540806146547426e-8,0.004637103047741207,-1.2995764214321633e-5,1.3316407776853431e-8,0.004637461294852211,-1.3376967540621544e-5,1.4197950262497705e-8,0.00463795534065098,-1.3726217412767458e-5,1.5004554273269622e-8,0.004638550845381015,-1.3972478316380603e-5,1.5571711376454045e-8,0.004639183148953752,-1.4077211752893863e-5,1.5810383357853653e-8,0.0046397812865391925,-1.4045280259926954e-5,1.5732214181573113e-8,0.0046402914283477465,-1.3917086868911308e-5,1.5431235497281092e-8,0.004640688992994678,-1.3749519789539588e-5,1.50396004361683e-8,0.004640977811977925,-1.3597154104758875e-5,1.4683939035007512e-8,0.0046411816590931215,-1.3500634643284917e-5,1.4458435271925997e-8,0.004641334337283517,-1.3482814716284878e-5,1.4415936504639937e-8,0.004641471841569615,-1.3549864644392499e-5,1.45705737914381e-8,0.004641627345314647,-1.36943373473814e-5,1.4904873429144573e-8,0.004641828265389255,-1.3898382253809021e-5,1.5377192152694978e-8,0.004642094369945667,-1.4136568493739574e-5,1.592827642183505e-8,0.004642436229981527,-1.4378530825307724e-5,1.648746362443435e-8,0.004642853793025203,-1.4591962398589605e-5,1.6979710468902657e-8,0.00464333536372152,-1.4746476784586312e-5,1.7334602810121096e-8,0.004643857739129038,-1.481845010519349e-5,1.749756817785199e-8,0.00464438837763796,-1.479624509342569e-5,1.7441917675913e-8,0.0046448901141322415,-1.4684572553892183e-5,1.7178880316379137e-8,0.00464532817306209,-1.4506395760338885e-5,1.676197448758261e-8,0.0046456782783954416,-1.4300948688484878e-5,1.628240091514535e-8,0.004645933875498211,-1.4117326680498562e-5,1.5854168093428857e-8,0.004646110289799332,-1.4004423473821114e-5,1.5590715394014384e-8,0.004646244116896511,-1.399911276381716e-5,1.5577449679665026e-8,0.004646387005593405,-1.41153100211975e-5,1.5846355805771457e-8,0.004646594141764705,-1.4337032558028205e-5,1.6359950354097322e-8,0.004646909305258094,-1.4618613247030586e-5,1.701188561366317e-8,0.0046473503812339495,-1.4894178333601433e-5,1.7649042879564176e-8,0.004647900916773948,-1.5095625610264924e-5,1.811329983033688e-8,0.004648512809389593,-1.5173842404411922e-5,1.829077431406508e-8,0.004649120903019922,-1.5114403601433032e-5,1.8148248545685655e-8,0.004649663817187577,-1.4940331193331636e-5,1.7739550224659373e-8,0.004650101646361556,-1.4701189768492982e-5,1.7180166575556488e-8,0.004650423559198932,-1.4455016176381626e-5,1.6605176919502795e-8,0.004650644665764515,-1.4251827770794912e-5,1.613086614501808e-8,0.004650796624019296,-1.4124141025250696e-5,1.583268895658235e-8,0.004650917415804542,-1.4084914955533756e-5,1.5740543813909623e-8,0.004651043598431591,-1.4130241265291127e-5,1.5845089278510927e-8,0.0046512057278376125,-1.4243729279101672e-5,1.6107974164142077e-8,0.0046514261340793615,-1.4400690454054686e-5,1.6471579916206996e-8,0.00465171789456136,-1.4571531090473221e-5,1.6866922638427443e-8,0.004652084137226091,-1.4724599130893931e-5,1.7220302263998086e-8,0.00465251732741125,-1.4829134893015994e-5,1.746020024223448e-8,0.004652998819609395,-1.4859005735948932e-5,1.7525983107701823e-8,0.004653499526234626,-1.4797478165342453e-5,1.7378984205893643e-8,0.004653982822792938,-1.4642447874902636e-5,1.701461884775316e-8,0.004654410522758944,-1.4410540357957179e-5,1.6471859896107837e-8,0.004654751676673082,-1.4137726039344877e-5,1.5834608479389963e-8,0.0046549921899199246,-1.3874312315314267e-5,1.5219993013443092e-8,0.004655141733859297,-1.3673984905797297e-5,1.4752835810267254e-8,0.004655234441725839,-1.3579420898515158e-5,1.4532174851046341e-8,0.00465532189043984,-1.3609191262358246e-5,1.460084197006534e-8,0.00465545992364021,-1.3750758727023153e-5,1.4929278998332993e-8,0.004655693328327301,-1.3962304090208998e-5,1.5419907146882814e-8,0.004656043110456753,-1.4183068768481111e-5,1.5931259431933548e-8,0.0046565001678516875,-1.434927671056179e-5,1.631501554350779e-8,0.004657027305155954,-1.4411158052329369e-5,1.6455548921583325e-8,0.004657569281103155,-1.434612452943196e-5,1.630052615942731e-8,0.004658068049326739,-1.41639120076071e-5,1.5872851697627348e-8,0.0046584782426453645,-1.3901969676808915e-5,1.525993191601153e-8,0.0046587776708922075,-1.3613082255371558e-5,1.458484088844579e-8,0.004658969832612916,-1.3350233172794423e-5,1.397103491590227e-8,0.004659079003760188,-1.3154157206487545e-5,1.3513330900768914e-8,0.004659141208384155,-1.3046837117797856e-5,1.3262761688597618e-8,0.004659194957403009,-1.3031068730407019e-5,1.3225604937819598e-8,0.004659274330167408,-1.3094026415269862e-5,1.3371747416260096e-8,0.0046594050651191455,-1.3212282800757067e-5,1.3646426315830232e-8,0.004659602999671059,-1.3356523513515203e-5,1.3981232874721674e-8,0.004659873789227049,-1.3495310852038219E-05,1.430287645128278e-8,0.004660213024776066,-1.359808005239616e-5,1.4540151248134795e-8,0.00466060633304002,-1.3637992835869933e-5,1.4630579714044076e-8,0.00466102965981684,-1.3595349253137439e-5,1.4528372069494455e-8,0.004661450563042212,-1.3461902340691184e-5,1.421449651710166e-8,0.004661831730217652,-1.3245578696188559e-5,1.3707678548966238e-8,0.004662137755511344,-1.2973872164911173e-5,1.307227092715899e-8,0.004662344999202101,-1.2693012432152884e-5,1.2416231574338447e-8,0.0046624519407560735,-1.2460082818593683E-05,1.1872648439435237e-8,0.004662485004202495,-1.2327880026386206e-5,1.1564379854227212e-8,0.004662494901102442,-1.2327021407297365e-5,1.1562375295099926e-8,0.004662542595555069,-1.24533420275431e-5,1.185644126351985e-8,0.0046626799506357805,-1.2667322066857839e-5,1.2354101779958266e-8,0.004662933402383711,-1.2906251170550697e-5,1.2909087247827492e-8,0.004663297073919368,-1.3103506845817271e-5,1.3366273288023952e-8,0.004663736575308624,-1.3207064274389993e-5,1.360471420722314e-8,0.00466420034455511,-1.3191474217760806e-5,1.3565421464328888e-8,0.004664633821846689,-1.3061257113502004e-5,1.3259181775894936e-8,0.0046649923454657955,-1.284657142486857e-5,1.2756441236261749e-8,0.0046652500093320995,-1.2593575575264028e-5,1.2164869400910327e-8,0.004665403125135055,-1.2352518526780268e-5,1.160163133759852e-8,0.004665468293837048,-1.2166612359423423e-5,1.1167452954822372e-8,0.004665476372929213,-1.2064179756235221e-5,1.092829431744967e-8,0.004665464527011558,-1.205536188602705e-5,1.090765701107904e-8,0.00466546866248559,-1.2133139463074206e-5,1.1088976843000324e-8,0.004665517840456056,-1.2277264814901737e-5,1.1424838647350068e-8,0.00466563119751025,-1.245936221956031e-5,1.1848924275875613e-8,0.004665817006354218,-1.2647802841822536e-5,1.2287410809984839e-8,0.004666073053110041,-1.281166414378168e-5,1.2668190698852117e-8,0.004666387542373383,-1.292381306206243e-5,1.2928022906658796e-8,0.004666740117300406,-1.2963606556451226e-5,1.3018805625924864e-8,0.004667103089208761,-1.2919782368290056e-5,1.2914336858847914e-8,0.004667443516313451,-1.2793855787151033e-5,1.261828935995056e-8,0.004667727216102982,-1.2603634007130076e-5,1.2172443742013038e-8,0.004667925717887047,-1.2385223968453717e-5,1.1661335221281164e-8,0.004668025982969037,-1.2190587373047782e-5,1.1206425769168459e-8,0.004668040124918859,-1.2077562615726495e-5,1.0942668267392677e-8,0.004668009332740903,-1.2092131257680859e-5,1.0977046211594681e-8,0.004667995963365245,-1.2248776168792324e-5,1.1342816317376177e-8,0.004668063394253834,-1.2519839245074089e-5,1.1974895693262607e-8,0.004668252213447853,-1.2842352538933383e-5,1.272604191553377e-8,0.004668565476656956,-1.3140346753934688e-5,1.3419026252516424e-8,0.004668970137839872,-1.3350798188378615e-5,1.390712963685913e-8,0.00466941145688206,-1.3440881943664238e-5,1.4114239617360718e-8,0.004669831352637258,-1.3411820715628956e-5,1.4043647933471819e-8,0.004670183125758375,-1.3292231840828618e-5,1.3762398499525709e-8,0.004670439551567326,-1.3126587614643615e-5,1.3374333363953765e-8,0.0046705947835942166,-1.2963357965618242e-5,1.2992486691062576e-8,0.004670661871582767,-1.2845325839862214e-5,1.2716578643366719e-8,0.004670667699865216,-1.2802931475699457e-5,1.2617538625965364e-8,0.004670646681376949,-1.2850763728081769e-5,1.2729307862896565e-8,0.00467063427678483,-1.2987111806417097e-5,1.304775137827414e-8,0.004670661343090428,-1.3196164916613432e-5,1.353577457443399e-8,0.004670750064167247,-1.3452020070287972e-5,1.4132715042564545e-8,0.004670911777831962,-1.3723508501828329e-5,1.4765677409608379e-8,0.004671146597861861,-1.397894625705489e-5,1.5360669460035923e-8,0.004671444375319671,-1.4190158848444865e-5,1.5851986140975655e-8,0.004671786392194452,-1.4335593144657587e-5,1.6189419371909977e-8,0.004672147385320302,-1.440277455442945e-5,1.634395024210514e-8,0.004672497882915822,-1.439047323877524e-5,1.63128171558708e-8,0.004672807221955093,-1.4310754474099981e-5,1.6124358297051074e-8,0.004673047967062916,-1.4190585450886653e-5,1.5841798023873977e-8,0.004673202402940901,-1.4071681804180103e-5,1.556283414706472e-8,0.004673270739720579,-1.4006175424222032e-5,1.5409373309145138e-8,0.004673278417874302,-1.4045585886180635e-5,1.5501616287218707e-8,0.0046732771097705355,-1.4223112429589761e-5,1.5916656213600744e-8,0.0046733335426375954,-1.4535231411889031e-5,1.6645637433110732e-8,0.0046735060396706435,-1.4934337773744007e-5,1.7576826633511244e-8,0.004673819189801707,-1.5341741234222534e-5,1.852618723245616e-8,0.004674252268579398,-1.5677278964770178e-5,1.9306615085994873e-8,0.004674748944885229,-1.5888924620635015e-5,1.9797027686382072e-8,0.004675240882951573,-1.5966460031890974e-5,1.997414641383107e-8,0.004675670613593522,-1.593625842060622e-5,1.9900119679567408e-8,0.0046760041793818975,-1.5845643844857367e-5,1.9685820881802324e-8,0.00467623309851158,-1.5746690960885734e-5,1.945294625392006e-8,0.004676369818220206,-1.568457041001168e-5,1.930686205008403e-8,0.004676440772138309,-1.5691203227189234e-5,1.932191376955323e-8,0.004676479528732202,-1.5782987495501686e-5,1.9536206216259085e-8,0.004676520954653062,-1.5961033347667108e-5,1.995215400474037e-8,0.004676596422060922,-1.6212951573783454e-5,2.0540610281932875e-8,0.004676730027189161,-1.6515837372076925e-5,2.1247813816331533e-8,0.004676935979999788,-1.6840152095742693e-5,2.2004505046599017e-8,0.004677217318990602,-1.7154102391278926e-5,2.2736247570911134e-8,0.00467756602649892,-1.7428077777037665e-5,2.3373860561672378e-8,0.004677964479425937,-1.763863379374355e-5,2.3862716425329537e-8,0.0046783879238457065,-1.7771596392012232e-5,2.4169923607945506e-8,0.004678807583239352,-1.782417897198473e-5,2.4289203675387195e-8,0.004679194192743565,-1.780618647288843e-5,2.4243687912563586e-8,0.004679521978008149,-1.7740311713799754e-5,2.4086639550366526e-8,0.0046797732769125674,-1.7661270247751158e-5,2.3899445231071237e-8,0.004679943926326737,-1.7612934963310745e-5,2.378485408762777e-8,0.00468004874105327,-1.76419904879494e-5,2.38520116422879e-8,0.0046801248137174605,-1.7786845602176726e-5,2.4190427202702886e-8,0.004680228593309382,-1.806263404032576e-5,2.4834927068767032e-8,0.004680422650323219,-1.844760764224442e-5,2.5734020536887993e-8,0.0046807527992763975,-1.8880759513499523e-5,2.674458018490809e-8,0.0046812254701966765,-1.9278549072575866e-5,2.7671099756894892e-8,0.004681800427430815,-1.9566523632612258e-5,2.8339657629219468e-8,0.004682406079741662,-1.9708395147643984e-5,2.8665861411746463e-8,0.004682968366748158,-1.9715465849410977e-5,2.867679352392317e-8,0.004683435608529261,-1.9634266355882566e-5,2.8481924313167707e-8,0.0046837883337889595,-1.952439154406978e-5,2.822106187628867e-8,0.004684035487230924,-1.9439673756009193e-5,2.8020203083391307e-8,0.004684204485088165,-1.941806770279495e-5,2.7967929163297136e-8,0.00468433116167156,-1.9479029937500837e-5,2.8109428435669545e-8,0.004684452186456466,-1.9625176187452407e-5,2.845049597540157e-8,0.004684600168465979,-1.984553498761316e-5,2.896517248241957e-8,0.0046848006032723915,-2.0118998764571928e-5,2.9603786467988204e-8,0.0046850698397548065,-2.041773635670475e-5,3.0300926191513015e-8,0.004685413783371999,-2.0710763850050337e-5,3.098384943257845e-8,0.00468582740770953,-2.096777642395736e-5,3.1581541361914726e-8,0.004686295292293071,-2.1163165376747107e-5,3.203417446835051e-8,0.004686793459251504,-2.127986172954694e-5,3.230208207219933e-8,0.004687292561605285,-2.1312386356273433e-5,3.2372809600881676e-8,0.0046877621105637915,-2.126854613740853e-5,3.2264991110637834e-8,0.004688175258111988,-2.1169442043346494e-5,3.202831932504239e-8,0.004688513640797768,-2.104761290672734e-5,3.173919627450822e-8,0.004688771804655766,-2.0943260277204035e-5,3.149188772523059e-8,0.004688960704666771,-2.089847309766487e-5,3.138494951118754e-8,0.004689109427812848,-2.0949239557927876e-5,3.150244410680444e-8,0.0046892635417487075,-2.111546408427255e-5,3.189053130139887e-8,0.004689477922148566,-2.139077308886334e-5,3.253367882818093e-8,0.004689802698454854,-2.1736387602686895e-5,3.3340499356742825e-8,0.004690264446209853,-2.2085256460148676e-5,3.415361339714332e-8,0.004690850572478942,-2.2360461861946586e-5,3.4792836260214054e-8,0.004691507905376526,-2.2503277074614084e-5,3.512087981369812e-8,0.0046921603699025816,-2.2496547289027997e-5,3.5098078105129547e-8,0.004692737515622717,-2.2369205648309436e-5,3.4792895698371355e-8,0.0046931977430484575,-2.218033828194287e-5,3.434443116540985e-8,0.004693535450245421,-2.19946049648199e-5,3.390460552743203e-8,0.004693773572452373,-2.1862829343110403e-5,3.359254933534034e-8,0.0046939501630360635,-2.181362607661693e-5,3.3475032195887265e-8,0.004694106408800557,-2.1853986931876104e-5,3.356800326714713e-8,0.004694278929507639,-2.1974145041739544e-5,3.384814078091561e-8,0.004694495986966662,-2.2153135943492177e-5,3.4265942399950725e-8,0.00469477605708682,-2.236343686777121e-5,3.475658838964401e-8,0.004695127385027143,-2.25745849279392e-5,3.5248415385464474e-8,0.004695547882976639,-2.2756322352379375e-5,3.567032900021728e-8,0.004696025355911659,-2.2881787560675736e-5,3.595935203368904e-8,0.004696538399017729,-2.2930998865573962e-5,3.6068830865346576e-8,0.0046970585118214685,-2.2894428695522926e-5,3.597678695177047e-8,0.0046975538398428066,-2.277591695522771e-5,3.569266368776685e-8,0.004697994417085737,-2.2593897361128732e-5,3.52601055038316e-8,0.004698358163045725,-2.238005741037552e-5,3.475374675121492e-8,0.0046986364344812365,-2.2175013783692378e-5,3.4269031535764016e-8,0.0046988377483364,-2.2021316841364653e-5,3.3905777612987485e-8,0.004698988505350433,-2.1954843872662592E-05,3.3747957039559153e-8,0.00469913001615439,-2.199603289469974e-5,3.384312019587815e-8,0.004699311555481439,-2.2142626039551497e-5,3.418542095617081e-8,0.004699579681160445,-2.2366028659942287e-5,3.470720003209844e-8,0.004699965159038889,-2.261379023439517e-5,3.528496641002932e-8,0.0047004707613474824,-2.2820209470544427e-5,3.576439822294622e-8,0.004701065275270101,-2.29245915141501e-5,3.600321104272019e-8,0.0047016890656927665,-2.2891951736126434e-5,3.591970431021748e-8,0.004702272011748362,-2.2726666777386748e-5,3.5524736397453896e-8,0.004702756920507253,-2.2470877734699576e-5,3.491788013206634e-8,0.004703116987165939,-2.2187808782063738e-5,3.4248104068405246e-8,0.004703359534640568,-2.193925935774467e-5,3.3660754039070295e-8,0.004703517130520162,-2.176842696306175e-5,3.325714330433221e-8,0.004703633418269326,-2.1693450292192006e-5,3.3079469125848756e-8,0.004703750784664788,-2.1710014565138826e-5,3.311710181821752e-8,0.004703902999268972,-2.1798210735348334e-5,3.332284229703271e-8,0.00470411241473192,-2.1929606093883388e-5,3.362958798550564e-8,0.004704389870876045,-2.207267688476105e-5,3.396308166894864e-8,0.0047047356012256255,-2.2196523423997598e-5,3.425061394883235e-8,0.004705140226676658,-2.2273583221930157e-5,3.4427402906015455e-8,0.004705585684179088,-2.2282131344618075e-5,3.444250019797068e-8,0.004706046484988976,-2.2209080754436687e-5,3.426539393023329e-8,0.004706492021561705,-2.205305499960459e-5,3.389321201807501e-8,0.004706890608130669,-2.182697129221664e-5,3.3356730967267744e-8,0.00470721539646339,-2.1558758464267093e-5,3.2721977504560417e-8,0.004707451321018943,-2.12887104727388e-5,3.208392178194558e-8,0.004707601124258925,-2.1062650368795808e-5,3.1550339335174934e-8,0.004707687923092548,-2.092164673284272e-5,3.1217597646232705e-8,0.004707752373939844,-2.0890881213821516e-5,3.1144495257733445e-8,0.004707844271649323,-2.097124597532204e-5,3.1332583670419434e-8,0.004708010475613604,-2.113670162270532e-5,3.172008981581706e-8,0.004708282385389394,-2.1338748014371744e-5,3.219257613945702e-8,0.0047086664359290925,-2.15173693706775e-5,3.2608780636782456e-8,0.0047091404880734164,-2.161606952423453e-5,3.283599569519555e-8,0.004709657840613588,-2.159728736032355e-5,3.278626927707014e-8,0.0047101587972046815,-2.14536381865304e-5,3.244275536750323e-8,0.004710587092019814,-2.1210639927389882e-5,3.1866026733256766e-8,0.004710905784652387,-2.0918934500008726e-5,3.11756702803512e-8,0.004711106530119068,-2.0638435018091832e-5,3.051288304831013e-8,0.004711208865517889,-2.0420804081158147e-5,2.999917704131898e-8,0.004711250995690448,-2.029710843358638e-5,2.9707348003223693e-8,0.004711277151420492,-2.0274053881011356e-5,2.9652724627549498e-8,0.00471132674977426,-2.033766978305856e-5,2.9801983439850805e-8,0.00471142806619857,-2.046071242907155e-5,3.009067825446045e-8,0.004711596296366146,-2.061020016312087e-5,3.044100612335261e-8,0.004711834389857875,-2.0753171954947886e-5,3.077533281366249e-8,0.004712134965726818,-2.086041685204148e-5,3.1024925417154556e-8,0.004712482251510385,-2.090882235568343e-5,3.1135456149055995e-8,0.004712853737906606,-2.0883211847782863e-5,3.107133595210802e-8,0.004713221881139335,-2.0778334625325025e-5,3.082042383122008e-8,0.004713556597760101,-2.0601134262572815e-5,3.0399376917884984e-8,0.004713829354068818,-2.037263915355485e-5,2.9858068237885336e-8,0.004714019207495355,-2.0127999853239356e-5,2.9279591365504785e-8,0.004714120040236812,-1.9912737159773322e-5,2.8771311538676714e-8,0.00471414655809,-1.9773869991005393e-5,2.8443873226592142e-8,0.004714135386249772,-1.9746861801332327e-5,2.83804276963628e-8,0.004714138370032906,-1.984258160661189e-5,2.8606000254505665e-8,0.004714208596707071,-2.004036454826956e-5,2.9071316232283385e-8,0.004714383927031075,-2.029154199139544e-5,2.966130936884501e-8,0.00471467478824134,-2.0532945180363846e-5,3.022705867006223e-8,0.004715061013315357,-2.070513244011117e-5,3.0628741349271914e-8,0.00471549819391272,-2.0768559539906018e-5,3.0773644450018024e-8,0.004715930398805945,-2.0712828599232458e-5,3.06378229761092e-8,0.00471630479798327,-2.0557372487725065e-5,3.02675794944921e-8,0.00471658419168978,-2.0344538606421003e-5,2.9763064924636998e-8,0.004716754587575241,-2.012762846230072e-5,2.9250034311585e-8,0.004716826391143379,-1.9957347775696705e-5,2.8847903519089865e-8,0.004716829482927148,-1.9870328926400146e-5,2.8642734974974278e-8,0.004716804183631088,-1.9882591570309303e-5,2.8671899620700577e-8,0.004716791192796836,-1.9989005281011388e-5,2.8922902741116466e-8,0.004716823437325514,-2.016770532199581e-5,2.934387756265717e-8,0.004716921469150951,-2.0387043502867066e-5,2.986002387931219e-8,0.0047170924226144694,-2.0612596164450385e-5,3.0390138793191444e-8,0.004717331446500595,-2.081266616228881e-5,3.085955828244744e-8,0.00471762425529221,-2.0961852660023846e-5,3.120852397033979e-8,0.004717949786709429,-2.104309008518074e-5,3.139695112234478e-8,0.004718282560551554,-2.104890203008696e-5,3.1407378398035346e-8,0.00471859492533725,-2.0982516486430054e-5,3.1247623321056654e-8,0.004718859796079545,-2.0859052414961204e-5,3.0953605446153896e-8,0.004719054624823485,-2.0706285041295662e-5,3.059112867970817e-8,0.004719167008269947,-2.0563643657749342e-5,3.025342322589191e-8,0.0047192012609654915,-2.0477478018717793e-5,3.00498426889888e-8,0.00471918345441392,-2.0491050133859172e-5,3.0082155472353386e-8,0.004719160711673773,-2.0630138351970563e-5,3.041060704503147e-8,0.004719191097019601,-2.0889406258420564e-5,3.1021931692673706e-8,0.004719325043469325,-2.1227769789697886e-5,3.181866698159706e-8,0.0047195859260143365,-2.1578468896618452e-5,3.264310559084911e-8,0.004719960156972756,-2.187111814865657e-5,3.3329373513019146e-8,0.004720402230039262,-2.2055137896671795e-5,3.375863627291979e-8,0.004720851199728154,-2.211368644516015e-5,3.3891818178741824e-8,0.004721249742534635,-2.2064084478755165e-5,3.3770422384395773e-8,0.004721558271420089,-2.194802371751545e-5,3.349326327499581e-8,0.004721761248337392,-2.181765833721016e-5,3.318355542341268e-8,0.004721866556401599,-2.1722520963282726e-5,3.295805030285286e-8,0.004721900238871268,-2.169987115382176e-5,3.29043510790176e-8,0.004721898892204645,-2.176929055241197e-5,3.306826983285239e-8,0.004721901529417458,-2.193141803818353e-5,3.345092527192641e-8,0.004721942348745987,-2.2170269412426117e-5,3.401426136456454e-8,0.004722045516212493,-2.2458138717909424e-5,3.4692640398515564e-8,0.004722222546618573,-2.2761699487966296e-5,3.540726851507083e-8,0.0047224722135377,-2.3047940802877143e-5,3.6080226653327896e-8,0.004722782394577666,-2.3288951948910685e-5,3.6645758612571877e-8,0.004723132980101565,-2.3465103100195668e-5,3.7057739558551584e-8,0.004723499026608934,-2.3566743782828097e-5,3.729363200615465e-8,0.004723853726366984,-2.3594919509001365e-5,3.7356145869933e-8,0.004724171226410891,-2.356158846622636e-5,3.727375668144662e-8,0.00472442964344223,-2.3489522051841577e-5,3.710048713221879e-8,0.004724614776565834,-2.3411574874169688e-5,3.691415587823861e-8,0.004724724794459883,-2.3368277341243487e-5,3.6810591870453345e-8,0.0047247752100325596,-2.340213360934399e-5,3.6890033197833116e-8,0.004724801818033701,-2.354741153860014e-5,3.723294414462482e-8,0.00472485768521177,-2.3816423663497148e-5,3.786770260091306e-8,0.004725000635390749,-2.418751526032683e-5,3.8742466858000376e-8,0.004725272431033011,-2.4603620051597823e-5,3.972202334985268e-8,0.0047256788219663705,-2.4987702204493527e-5,4.062439541897351e-8,0.004726183285667441,-2.5270759185625143e-5,4.128696584233639e-8,0.004726720126803429,-2.541754230471784e-5,4.162712542300643e-8,0.004727219448344189,-2.5435941739691993e-5,4.166429361538732e-8,0.004727629770664268,-2.536784151980682e-5,4.149811650246318e-8,0.00472792886355938,-2.5270329894455154e-5,4.126387077300937e-8,0.00472812265068321,-2.5197835046972124e-5,4.109015364379114e-8,0.0047282373150355555,-2.5190669974525258e-5,4.1071880240448236e-8,0.004728309665470908,-2.5270343003186838e-5,4.125937504726307e-8,0.004728378624615121,-2.543968430350618e-5,4.165883422548709e-8,0.004728478767596398,-2.5685707126707573e-5,4.223916565564198e-8,0.004728635885651726,-2.5983880913205705e-5,4.294209090323031e-8,0.004728864409439411,-2.6303109090072288e-5,4.369389967187808e-8,0.00472916659618418,-2.6610845597161917e-5,4.44175634064523e-8,0.004729533321857145,-2.687781278328495e-5,4.5043926732075706e-8,0.00472994622235607,-2.708187235910797e-5,4.55208730022123e-8,0.004730380793270376,-2.721067737099242e-5,4.5819553184842186e-8,0.004730809906752847,-2.7262961196945158e-5,4.593735403726144e-8,0.004731207297948036,-2.724866569169805e-5,4.589813042879811e-8,0.004731550882303068,-2.7188193463415645e-5,4.5750407942570875e-8,0.004731825972564864,-2.7110878798737e-5,4.5563763450471336e-8,0.004732028530653421,-2.7052515132200603e-5,4.54229491228676e-8,0.004732168446389242,-2.7051350258781955e-5,4.541834024160813e-8,0.004732272116670077,-2.714157631827611e-5,4.563044734216501e-8,0.004732382358303023,-2.734381236381859e-5,4.610740117539504e-8,0.004732552676207028,-2.765400554259749e-5,4.6838853150868065e-8,0.004732833512182073,-2.803550331529912e-5,4.773748847006038e-8,0.004733252285295634,-2.842190019560124e-5,4.864598097253564e-8,0.004733796293531172,-2.8735835655547945e-5,4.9381511830951945e-8,0.004734411109839088,-2.891853713979851e-5,4.980557132802008e-8,0.004735019503554785,-2.895397730306729e-5,4.9880998252676156e-8,0.004735551138537044,-2.887270533546891e-5,4.9680920882470014e-8,0.00473596575267552,-2.873482839748109e-5,4.9348284107208375e-8,0.004736259519104328,-2.8605104853960317e-5,4.903667122874668e-8,0.004736457060975534,-2.8533821667809858e-5,4.886493863585071e-8,0.0047365979415711565,-2.85485921602435e-5,4.88979128990018e-8,0.004736724583238949,-2.8654807118183317e-5,4.914769787656253e-8,0.0047368742116397,-2.8840382877356432e-5,4.958511728727826e-8,0.004737074552126241,-2.9081541619000465e-5,5.015347478913712e-8,0.004737342012367782,-2.934812648323624e-5,5.078111482310837e-8,0.004737681309886265,-2.960821833601568e-5,5.139231870366264e-8,0.004738086098954303,-2.9832193363411564e-5,5.191692419486976e-8,0.004738540469209245,-2.9996259595434974e-5,5.229874245767923e-8,0.0047390212881655396,-3.0085394338945098e-5,5.2502529913061444e-8,0.004739501377336211,-3.0095423581682325e-5,5.251886124976056e-8,0.004739953305782397,-3.0033870472254683e-5,5.236603682676017e-8,0.004740353348319325,-2.9919407976351642e-5,5.208868447062693e-8,0.004740685200385828,-2.9779991128983356e-5,5.175327771239827e-8,0.004740943182403257,-2.9649741613378564e-5,5.1440738209547884e-8,0.004741134674185391,-2.9564621576085497e-5,5.1236171222247815e-8,0.004741281429687509,-2.955689735080932e-5,5.121571324845782e-8,0.004741419089674041,-2.9648317114137292e-5,5.1430346955513816e-8,0.004741593583568248,-2.984236535396184e-5,5.18876132323745e-8,0.0047418528064249385,-3.0117417530783683e-5,5.2535574522677666e-8,0.004742232999460031,-3.0424697664623252e-5,5.325821214909581e-8,0.004742742611363063,-3.069609207813721e-5,5.3894094209571386e-8,0.004743351393757184,-3.086414788615748e-5,5.4283751424790724e-8,0.004743994368040548,-3.088836563852584e-5,5.433186801908802e-8,0.004744593460110826,-3.0773559410401626e-5,5.4050676811265004e-8,0.004745086788273111,-3.0567784478253706e-5,5.3554919237006306e-8,0.004745448989905369,-3.034083898991905e-5,5.301067418598428e-8,0.0047456930853903715,-3.015732469647893e-5,5.257126350003612e-8,0.004745857698513026,-3.00585998089884e-5,5.233439298931279e-8,0.004745990240669041,-3.0058200221043662e-5,5.233146185427817e-8,0.004746133999600095,-3.01466801907586e-5,5.2539325380684306e-8,0.004746321325199566,-3.0299826522431672e-5,5.289999214373297e-8,0.004746571565708012,-3.048628868783824e-5,5.333878061980279e-8,0.004746891547053987,-3.067323831866283e-5,5.377769034777425e-8,0.004747276976592629,-3.083031101807034e-5,5.414468688672485e-8,0.0047477141402886116,-3.09325591886319E-05,5.4380693556431183e-8,0.004748181886555148,-3.096289364885244e-5,5.444541244979396e-8,0.004748654088097438,-3.09141513535335e-5,5.432224087989675e-8,0.004749102826477359,-3.079058892868887e-5,5.4021765189798875e-8,0.0047495023578297945,-3.060826542501298e-5,5.358256772490767e-8,0.004749833466407175,-3.0393770407297746e-5,5.306810148158317e-8,0.0047500874842839194,-3.018108231591561e-5,5.2559163277776153e-8,0.004750269208928283,-3.000667785776047e-5,5.214226026089898e-8,0.004750398005292498,-2.990333609399654e-5,5.1894905169507964e-8,0.004750506508683392,-2.9893424852776115e-5,5.186969825178604e-8,0.004750636541043871,-2.9982645840082855e-5,5.2079533030619567e-8,0.0047508320083346,-3.0155421919572188e-5,5.248676449937229e-8,0.004751128908639331,-3.037369192805859e-5,5.300052553271625e-8,0.0047515437134295745,-3.058146946640733e-5,5.348771766126394e-8,0.004752063484848125,-3.071700733657849e-5,5.380196084787112e-8,0.0047526432287152715,-3.073156493559227e-5,5.382809002665862e-8,0.004753215530274019,-3.060859876345908e-5,5.352758456900073e-8,0.004753711939495655,-3.0373149193153703e-5,5.2960713748294996e-8,0.004754087100048578,-3.0083973403278307e-5,5.226769683183297e-8,0.00475433293603724,-2.98112136590755e-5,5.1615475629158006e-8,0.004754476264544549,-2.9611822552670604e-5,5.113920082596975e-8,0.004754563953700199,-2.9514823359041654e-5,5.0907249040929476e-8,0.0047546455613278705,-2.9520016886330627e-5,5.0918372072733805e-8,0.004754761071596459,-2.9605722627759065e-5,5.112036823852704e-8,0.004754935662167024,-2.9739033755819657e-5,5.143462572713782e-8,0.0047551796096890735,-2.988434036747737e-5,5.1776389895648226e-8,0.004755490589258526,-3.0008869624587908e-5,5.206783588245407e-8,0.004755856442393838,-3.008584029224015e-5,5.224546763974042e-8,0.004756257668350731,-3.0096339668500227e-5,5.2264540791731686e-8,0.004756669706745484,-3.0030731792701057e-5,5.210242554479061e-8,0.004757065414585785,-2.9889908539192638e-5,5.176159886049536e-8,0.004757418195542284,-2.968619040159789e-5,5.1271759843174285e-8,0.00475770601363651,-2.9443203318333868e-5,5.0689459342253564e-8,0.004757915965546911,-2.9193873541743718e-5,5.009323271378707e-8,0.004758048438176281,-2.8975983699953833e-5,4.957295059706262e-8,0.0047581194741599594,-2.882542250153593e-5,4.921372935448555e-8,0.004758160019778779,-2.876818870394926e-5,4.9076934374705044e-8,0.004758211358591651,-2.8813062505827567e-5,4.9182827912228046e-8,0.004758317093348088,-2.894711954955259e-5,4.950002836532726e-8,0.004758513086696229,-2.913579719092093e-5,4.994582695633771e-8,0.004758817511140333,-2.932837760191171e-5,5.03993731608605e-8,0.004759223605850981,-2.9468701036464705e-5,5.072723219425754e-8,0.004759697867909933,-2.9509504216527897e-5,5.0817464553032814e-8,0.004760185864983653,-2.942696235017769e-5,5.061410130962157e-8,0.0047606259543624555,-2.9230317643366145e-5,5.0139889000795495e-8,0.004760967607467908,-2.896139174117637e-5,4.9494965504536796e-8,0.004761187350905263,-2.8682116608214554e-5,4.882704196243258e-8,0.004761294966547717,-2.8454389880011927e-5,4.828336259201367e-8,0.004761327275387122,-2.8321230768383856e-5,4.796585845162461e-8,0.004761333553681048,-2.829714704173953e-5,4.790836114893017e-8,0.0047613601652829966,-2.8369688621673795e-5,4.808053312846534e-8,0.004761440321646852,-2.8508399895063426e-5,4.8409387338905586e-8,0.004761590551451071,-2.8675522491192136e-5,4.880485640357133e-8,0.004761812082991868,-2.883449707617644e-5,4.917998782520274e-8,0.004762094385548418,-2.8955069947828657e-5,4.946298307321452e-8,0.004762418882065095,-2.9015693696433737e-5,4.960280392062293e-8,0.0047627620311700624,-2.9004461174501594e-5,4.95713500331758e-8,0.004763097828331392,-2.8919547543918302e-5,4.936452599578333e-8,0.004763400221147088,-2.8769621484632385e-5,4.90032528762637e-8,0.004763646058855578,-2.8574085268911304e-5,4.8534040160042696e-8,0.004763818946533213,-2.8362398774863e-5,4.802731915464349e-8,0.004763913739565946,-2.8171404920085826e-5,4.757097276326134e-8,0.004763940543520972,-2.8039773963918373e-5,4.725700354486537e-8,0.004763926283878361,-2.7999613583819032e-5,4.7161505527736824e-8,0.004763911790083301,-2.806694015820014e-5,4.732201788368541e-8,0.004763943561668426,-2.8234348316907707e-5,4.772020956502153e-8,0.004764061768513518,-2.846950262937871e-5,4.827848357257109e-8,0.004764288248044224,-2.8721294087771193e-5,4.8874818169044365e-8,0.004764618840848933,-2.893247019251986e-5,4.93729414401414e-8,0.004765022978940383,-2.905493603698263e-5,4.965875709174304e-8,0.004765450868508584,-2.9062967578863874e-5,4.967170122917772e-8,0.004765846191254104,-2.8960399760946087e-5,4.942169071629253e-8,0.00476616076776282,-2.8779715550303997e-5,4.8986766544630736e-8,0.004766367084636814,-2.8573141543301774e-5,4.849172329484978e-8,0.004766464911858467,-2.839814847115955e-5,4.807347695622499e-8,0.00476647980983421,-2.8301831799976193e-5,4.784386143983262e-8,0.004766454199070231,-2.830937480805551e-5,4.7862255367856655e-8,0.004766434603844106,-2.8420157629011527e-5,4.8126495550133353e-8,0.004766459867818386,-2.861169104607286e-5,4.8582435764613466e-8,0.004766553900979995,-2.8848469249434867e-5,4.9145161379864336e-8,0.004766723895020026,-2.9091731049801776e-5,4.9722271610959204e-8,0.004766962652236033,-2.9307102792118214e-5,5.023203099217928e-8,0.004767252783211253,-2.946903329270971e-5,5.061383669831442e-8,0.004767570966247876,-2.956252059197733e-5,5.083224211036534e-8,0.00476789143265435,-2.9583263200849124e-5,5.0877272768619633e-8,0.004768188657904238,-2.9537233992896767e-5,5.076341708753041e-8,0.004768439713838026,-2.9440208044921784e-5,5.0528530531352904e-8,0.004768626910754468,-2.9317193423369705e-5,5.0232483468787865e-8,0.004768741178477299,-2.9201099070795987e-5,4.9953931538163455e-8,0.004768786027644776,-2.9129513499080413e-5,4.978252629146496e-8,0.004768780936853772,-2.9138496012208616e-5,4.980400285879896e-8,0.0047687618966803106,-2.9253256552848995e-5,5.007792821246455e-8,0.004768776430770757,-2.94777909524039e-5,5.0613091054872876e-8,0.004768871988096792,-2.9788111750287958e-5,5.13515752527904e-8,0.004769080444607102,-3.013432954967566e-5,5.2173957718739495e-8,0.004769405284770623,-3.0453486715106665e-5,5.293006343952431e-8,0.004769818220406904,-3.0688999004594416e-5,5.3485350267577706e-8,0.00477026743433048,-3.080834002271513e-5,5.376298803352503e-8,0.004770693577738604,-3.081168201237658e-5,5.3764285152528835e-8,0.004771046589895863,-3.072935915638893e-5,5.3562407814568835e-8,0.004771297631526678,-3.0610999818195513e-5,5.3276237909610404e-8,0.004771443711692161,-3.051122681918304e-5,5.303613422492912e-8,0.004771505396973143,-3.047631542556714e-5,5.295212013490912e-8,0.004771519499267242,-3.0534710642808274e-5,5.3091406911566415e-8,0.004771529205577235,-3.0692816320908944e-5,5.346855026149306e-8,0.00477157418650815,-3.0936189653487376e-5,5.404847750248202e-8,0.004771682921045021,-3.123511651048176e-5,5.4759893534474465e-8,0.004771868687189363,-3.1552574400663744e-5,5.551430977654335e-8,0.004772129449714966,-3.1852223337845775e-5,5.622508871487745e-8,0.004772450721118148,-3.210457768014518e-5,5.682212037646142e-8,0.0047728099065585915,-3.2290564110685556e-5,5.726024480323222e-8,0.004773180754965365,-3.240266257319448e-5,5.752190311025016e-8,0.004773537085899212,-3.244442374528547e-5,5.761592957241243e-8,0.004773855633711976,-3.242925814099788e-5,5.757463774878549e-8,0.004774118342142201,-3.237905496994603e-5,5.7450525834272396e-8,0.004774314614586185,-3.23226647010406e-5,5.731264700502641e-8,0.004774443914942631,-3.2293765111534964e-5,5.724146147285952e-8,0.004774518652136438,-3.232717786829844e-5,5.731994509929363e-8,0.0047745663374796085,-3.245259117379958e-5,5.761852250142311e-8,0.004774628801644312,-3.268548015279706e-5,5.817341730913397e-8,0.004774755642402249,-3.301726301171104e-5,5.896332753649877e-8,0.004774990554962329,-3.340982109567715e-5,5.989660608993938e-8,0.004775353818295921,-3.3800784181514464e-5,6.082409330155231e-8,0.004775829687604098,-3.412186477507274e-5,6.158296115132251e-8,0.004776367868533359,-3.4323594773016025e-5,6.205572173406188e-8,0.004776900497853547,-3.439347655809735e-5,6.22134491263007e-8,0.004777365818310518,-3.435798439395554e-5,6.21203712505869e-8,0.004777726423271264,-3.426947678704886e-5,6.190234646575702e-8,0.004777975587727213,-3.418704078505039e-5,6.170085067616404e-8,0.004778133031878161,-3.416016772550692e-5,6.163388088984261e-8,0.004778235183303571,-3.42193194337018e-5,6.177353927618648e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_27.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_27.json
deleted file mode 100644
index 2b68f8a..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_27.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":27000,"numberOfSamples":426,"samples":[0.004778324486778677,-3.437325503603603e-5,6.213990841775234e-8,0.0047784403655323285,-3.4611193149972956e-5,6.270647293317436e-8,0.004778612794687001,-3.490776213298559e-5,6.34120907874662e-8,0.004778858592736182,-3.52292773450405e-5,6.41760174740733e-8,0.004779180332297561,-3.554033000747647e-5,6.491361305699471e-8,0.0047795676373042825,-3.580972313910667e-5,6.555048782196374e-8,0.004780000304382801,-3.601491695515349e-5,6.603309632804475e-8,0.00478045244087296,-3.61445559073166e-5,6.63347373647879e-8,0.004780896788498023,-3.619907152539314e-5,6.64569282050896e-8,0.004781308537182374,-3.6189716300693844e-5,6.642701476463283e-8,0.004781668287402928,-3.613665338138569e-5,6.62935418736394e-8,0.004781964263597514,-3.606664631235279e-5,6.612070094818705e-8,0.004782194088007322,-3.6010502207012165e-5,6.598220199376154e-8,0.004782366358377176,-3.600003307813221e-5,6.595397202033107e-8,0.004782501973157172,-3.6063967015481664e-5,6.610431957871602e-8,0.004782634428155468,-3.622211612037997e-5,6.647996630880908e-8,0.004782807312744113,-3.647777437681964e-5,6.708796154697767e-8,0.004783066725500625,-3.681018070253991e-5,6.787788985789277e-8,0.004783447527929692,-3.717158351927006e-5,6.873512189479286e-8,0.004783956543699519,-3.749495769285591e-5,6.949941757309266e-8,0.004784561694818515,-3.7714824470447004e-5,7.001467512930746e-8,0.00478519734376055,-3.779386901530488e-5,7.019245393058328e-8,0.004785787298279908,-3.773988586048272e-5,7.005238005891471e-8,0.004786273540716633,-3.760159745695435e-5,6.971198893123057e-8,0.004786634261718939,-3.7446681679021194e-5,6.93338948131939e-8,0.004786883955125812,-3.7336538281738074e-5,6.90651418882107e-8,0.004787060855944783,-3.731025026111713e-5,6.89987545085644e-8,0.004787211498019626,-3.738052485901743e-5,6.916423518663561e-8,0.004787378723491085,-3.753768633517913e-5,6.953747098677388e-8,0.004787594743852002,-3.775688736390837e-5,7.005827277528313e-8,0.004787878341866488,-3.8005421267547694e-5,7.064797754466723e-8,0.004788234677867704,-3.824887091042978e-5,7.122411974828502e-8,0.004788656578890198,-3.845602832364749e-5,7.171211724931977e-8,0.004789126866304347,-3.8602762874008655e-5,7.205447458736902e-8,0.004789621527438917,-3.867476505188969e-5,7.221733392634786e-8,0.004790113453092092,-3.866900598852055e-5,7.219394452663505e-8,0.004790576389242894,-3.859380569021363e-5,7.200475975629059e-8,0.004790988658217021,-3.846749668906106e-5,7.169414035802423e-8,0.004791336185455692,-3.831592746623132e-5,7.132428928460062e-8,0.004791614602286293,-3.8169236193829984e-5,7.096748066882624e-8,0.004791830442019499,-3.8058199395276177E-05,7.069730505809583e-8,0.00479200147328233,-3.8010251494226334e-5,7.057912997799612e-8,0.00479215608282581,-3.8045112493544786e-5,7.065962097547686e-8,0.004792331243570715,-3.816988109148568e-5,7.095502401154791e-8,0.00479256801539422,-3.837391090721481e-5,7.143902873254914e-8,0.004792903356231363,-3.8625101009650084e-5,7.203412021826269e-8,0.00479335809982377,-3.887092912081732e-5,7.261428947824125e-8,0.004793923998139211,-3.904832069801235e-5,7.302876037880577e-8,0.004794557121329183,-3.910366330394545e-5,7.314982344552248e-8,0.004795186187943556,-3.901641098772414e-5,7.292918982979318e-8,0.004795737032643518,-3.881216157437762e-5,7.242916797983955e-8,0.004796161501972789,-3.855411099464743e-5,7.180203477009054e-8,0.004796453566145229,-3.831658356890081e-5,7.122636889591443e-8,0.004796644767523727,-3.815714860499036e-5,7.084000022037542e-8,0.004796785949434881,-3.8101951194646106e-5,7.070485098911682e-8,0.004796928139441377,-3.8146598603855446e-5,7.080934608157665e-8,0.004797110480654036,-3.8265789851055167e-5,7.109188904690533e-8,0.004797355877127002,-3.8424311612934556e-5,7.146748579270787e-8,0.004797671612426517,-3.8585616852327366e-5,7.184835086333892e-8,0.004798052093481322,-3.8717282547673696e-5,7.215687639979793e-8,0.004798481982683185,-3.879416904832568e-5,7.233306811500727e-8,0.0047989392109531745,-3.880032466659669e-5,7.233903786826962e-8,0.004799398014519919,-3.873014716490181e-5,7.216177815700216e-8,0.004799832156249859,-3.858883316916818e-5,7.181423253686315e-8,0.004800218353251468,-3.839193072968296e-5,7.133417138730679e-8,0.004800539728226463,-3.816370201797726e-5,7.07801739212383e-8,0.004800788798428815,-3.7934150450836535e-5,7.022440790334248e-8,0.004800969422381577,-3.773493298607536e-5,6.97427737273164e-8,0.004801097307136082,-3.7594608437565975e-5,6.940350057998089e-8,0.004801198860837516,-3.753375575082618e-5,6.925545753494772e-8,0.004801308307002621,-3.7560557353341817e-5,6.931760143740602e-8,0.004801463061629263,-3.766739513003747e-5,6.957089748412672e-8,0.0048016973159992595,-3.7829085241195104e-5,6.995424232825527e-8,0.004802033897188718,-3.800393663211438e-5,7.036721161540528e-8,0.004802475381486049,-3.8139426649914707e-5,7.068384881196978e-8,0.004802997237534293,-3.8183940325160886e-5,7.078086051437349e-8,0.0048035477616877155,-3.810365748834886e-5,7.057799420498539e-8,0.004804059432364746,-3.789890582121566e-5,7.007704800926735e-8,0.004804471058177286,-3.76100617891968e-5,6.93758159734603e-8,0.004804751226949466,-3.730566920695092e-5,6.863938578566553e-8,0.0048049094711126545,-3.705654492532993e-5,6.803781398940207e-8,0.004804988697932718,-3.691017647857788e-5,6.768458911635844e-8,0.004805045208603211,-3.687881976068849e-5,6.760819207952647e-8,0.004805128912216125,-3.6943695478478026e-5,6.776250536534154e-8,0.004805272128763522,-3.706800766501402e-5,6.805842303113509e-8,0.0048054875443432725,-3.72102043926267e-5,6.839587172762585e-8,0.004805771578807736,-3.733305531184578e-5,6.868556225257375e-8,0.004806109373196501,-3.740819210339049e-5,6.885971585954908e-8,0.004806479267214914,-3.741763766075652e-5,6.887556737614801e-8,0.00480685624919262,-3.7353970688048305e-5,6.871568343569287e-8,0.00480721474503835,-3.722005965565962e-5,6.838732853486281e-8,0.004807531254878627,-3.70285788369557e-5,6.792132402469517e-8,0.004807787168840347,-3.680107359176237e-5,6.736978068548045e-8,0.0048079717908961535,-3.656606685754552e-5,6.680147748275388e-8,0.004808085124176199,-3.635572067784862e-5,6.629375291303479e-8,0.0048081395655390005,-3.6201003683608846e-5,6.59208353445968e-8,0.004808159619935799,-3.61259119702826e-5,6.573995300854134e-8,0.004808179052187587,-3.614182096799145e-5,6.577781399967254e-8,0.0048082354644977225,-3.624339663861216e-5,6.602088125342372e-8,0.004808363016906486,-3.640739698014146e-5,6.641263422122376e-8,0.004808584568140996,-3.659514206004428e-5,6.685967165663355e-8,0.004808904762436531,-3.6758854267688404e-5,6.724710168628325e-8,0.00480930579650223,-3.685155258136531e-5,6.746239580653564e-8,0.0048097478566896616,-3.683927126708737e-5,6.742470100953433e-8,0.004810176029910032,-3.6712847565078014e-5,6.711298772615927e-8,0.0048105340254307105,-3.649482817530326e-5,6.658239512536003e-8,0.004810781727205723,-3.62365842449442e-5,6.595705126594526e-8,0.004810909644980501,-3.6003671889103674e-5,6.539470778083783e-8,0.004810942478516832,-3.5853999525254e-5,6.503419712779448e-8,0.004810929054258762,-3.581891665158464e-5,6.495006857326439e-8,0.0048109239580987374,-3.589619723046781e-5,6.513597488805307e-8,0.0048109704482596355,-3.605632765339819e-5,6.552011162684835e-8,0.004811091479469972,-3.625616637154878e-5,6.599830095926331e-8,0.0048112894999106535,-3.645235261818129e-5,6.646628961790225e-8,0.004811551496979631,-3.661003899809157e-5,6.684062633294758e-8,0.004811855326073649,-3.6706519877171644e-5,6.706718834733222e-8,0.004812175008010524,-3.673147922115121e-5,6.71216166824625e-8,0.00481248442724685,-3.668578285980148e-5,6.70063528600365e-8,0.004812759857408077,-3.6580011791983614e-5,6.67471364140862e-8,0.004812982021847438,-3.643312892218514e-5,6.638984182107787e-8,0.004813138260380984,-3.627105788419161e-5,6.599705939990736e-8,0.004813224984539436,-3.612453739463318e-5,6.56428706687843e-8,0.004813250027706149,-3.6025539008764395e-5,6.540413556464342e-8,0.004813233901618618,-3.600194055235022e-5,6.53476083256435e-8,0.004813208641342787,-3.6070981482546236e-5,6.55141956879046e-8,0.004813213185891162,-3.623309956685937e-5,6.590422431888505e-8,0.0048132853329533815,-3.6468577247922494e-5,6.646953796652841e-8,0.00481345196089862,-3.6739232782648675e-5,6.711775543238068e-8,0.004813720524850067,-3.699585543676539e-5,6.773031548224511e-8,0.004814074915372328,-3.718990777229592e-5,6.819070851646075e-8,0.004814477519636433,-3.7286327454266165e-5,6.841524919716474e-8,0.004814877412507499,-3.727371265226798e-5,6.837744468682739e-8,0.004815222824200392,-3.71687674239285e-5,6.811846623591315e-8,0.004815474776181273,-3.70132472069625e-5,6.773954080785747e-8,0.0048156180606356,-3.686348225678969e-5,6.737652512252384e-8,0.004815665783668138,-3.677486127562191e-5,6.716247159200004e-8,0.004815655222405848,-3.678604759224073e-5,6.718971555136587e-8,0.004815636005506843,-3.690868613654817e-5,6.74853269118757e-8,0.004815655154643246,-3.712641741469069e-5,6.800902880734398e-8,0.0048157448657402905,-3.740272786418989e-5,6.86723392503097e-8,0.004815916982414414,-3.769330697538445e-5,6.936842915828944e-8,0.004816164398472773,-3.79575991566434e-5,6.999989097850887e-8,0.004816466732888395,-3.8166161444911164e-5,7.049630552378684e-8,0.004816796998892661,-3.830332545250297e-5,7.082047667647441e-8,0.004817127128752034,-3.8366574426466915e-5,7.096680517792435e-8,0.004817431716377734,-3.8364425072400815e-5,7.095614538559232e-8,0.00481769031494261,-3.831406952629976e-5,7.0830151666776e-8,0.004817889007363463,-3.823930287395324e-5,7.064632660863894e-8,0.004818021924002364,-3.81685964240486e-5,7.047337979987863e-8,0.004818092995005395,-3.8132677946559405e-5,7.038533637487357e-8,0.004818117609598462,-3.8160829347254704e-5,7.045252292139183e-8,0.0048181231757472446,-3.8275439457385075e-5,7.072838433001155e-8,0.004818147032808319,-3.848524220234855e-5,7.123323584537503e-8,0.004818230263552585,-3.877913888410908e-5,7.193954194116859e-8,0.004818407376247594,-3.9123929426344404e-5,7.276667979907158e-8,0.004818694517905241,-3.946919365675648e-5,7.359290131063591e-8,0.004819081226702352,-3.975987623674142e-5,7.428575222689352e-8,0.004819530473516512,-3.99528372131395e-5,7.474192447320143e-8,0.004819988207444505,-4.003071053802827e-5,7.492052207630327e-8,0.0048203989246250615,-4.000728896884301e-5,7.485582965376748e-8,0.004820721175466344,-3.99227597487728e-5,7.464556945092878e-8,0.004820937782280773,-3.9831445677784674e-5,7.442110541926777e-8,0.004821058434419171,-3.978679151255124e-5,7.431111753324506e-8,0.004821115078288102,-3.982808284365596e-5,7.44096350669423e-8,0.0048211522270188,-3.9972043873461636e-5,7.475600152324611e-8,0.004821215190839854,-4.021085655268812e-5,7.533039650683856e-8,0.004821339447086454,-4.051642323333889e-5,7.606436621672032e-8,0.004821543793180569,-4.084903826994292e-5,7.686186217830935e-8,0.004821828560137223,-4.11675330397259e-5,7.762370019061549e-8,0.00482217843219588,-4.143791773110746e-5,7.826830249781045e-8,0.004822568060222116,-4.163862375087511e-5,7.874420409142698e-8,0.004822968276370532,-4.176204785493435e-5,7.903364411314588e-8,0.0048233512962861805,-4.1813332547424874e-5,7.914952587908982e-8,0.004823694268337095,-4.180773689787612e-5,7.912902718095061e-8,0.004823981341733217,-4.176770959006623e-5,7.902653839294732e-8,0.004824204843306262,-4.172022434438517e-5,7.890725119874452e-8,0.004824366170721857,-4.169434217802275e-5,7.884127164436675e-8,0.0048244767088938545,-4.1718500655906905e-5,7.889702962949885e-8,0.004824558542278362,-4.1816828861910714e-5,7.9132317175072e-8,0.004824644046356498,-4.2004005130913916e-5,7.958186192139638e-8,0.004824772810595939,-4.227902970506275e-5,8.02424031086156e-8,0.004824984330163837,-4.261986981161869e-5,8.105999852427741e-8,0.0048253063789773926,-4.2982701249766916e-5,8.192845535537351e-8,0.004825742302472369,-4.330968240475467e-5,8.2708249557431e-8,0.004826263889668254,-4.354578668059347e-5,8.326714000557609e-8,0.004826816164327769,-4.365883275531775e-5,8.352838122738419e-8,0.004827334389224904,-4.3652515189787744e-5,8.350199407923697e-8,0.0048277656748831246,-4.356505406150206e-5,8.328128245698638e-8,0.00482808475136242,-4.3454640222978786e-5,8.300742298950006e-8,0.0048282979694060126,-4.337986978855226e-5,8.282198985286413e-8,0.004828436715004647,-4.3383781338829196e-5,8.28283556019412e-8,0.004828545452468338,-4.3485739353153795e-5,8.307227830943268e-8,0.004828669442671055,-4.368097256269977e-5,8.354112596095182e-8,0.004828845131978453,-4.394543747541324e-5,8.417594361299053e-8,0.004829094332003,-4.42434357404026e-5,8.489003053203357e-8,0.004829422222056958,-4.453594609792681e-5,8.558908046994333e-8,0.004829818689134246,-4.4788154520325726e-5,8.618928271603903e-8,0.004830262162433468,-4.497503014521456e-5,8.663067376891177e-8,0.004830724791376845,-4.508429236527066e-5,8.688419593273334e-8,0.004831177763389958,-4.5116784857431304e-5,8.695250414418422e-8,0.0048315958105310045,-4.50848066644472e-5,8.686584714086303e-8,0.004831960372320328,-4.50092207251216e-5,8.667501419792826e-8,0.004832261385448886,-4.4916181410082026e-5,8.644339426785272e-8,0.004832498085672877,-4.4834021165063305e-5,8.623945104183476e-8,0.004832679280731162,-4.479034989518507e-5,8.612971656792317e-8,0.004832823322580668,-4.480906858922817e-5,8.61715560370843e-8,0.004832957631610085,-4.490685000713927e-5,8.640463908636807e-8,0.0048331170643941285,-4.508874878499018e-5,8.684036295819687e-8,0.004833339822081472,-4.5343323574385394e-5,8.745021561454051e-8,0.004833659599911437,-4.5639123415037367e-5,8.815754137046817e-8,0.004834094074838598,-4.592604139982e-5,8.884105976880853e-8,0.004834633097564738,-4.6145321609871045e-5,8.935914049205118e-8,0.004835233759482804,-4.624855257649796e-5,8.959560230484134e-8,0.004835829415303181,-4.621862951064732e-5,8.951018080070509e-8,0.004836352230776127,-4.6080232054244594e-5,8.916366565204528e-8,0.0048367583349983355,-4.589150422661235e-5,8.869757625100208e-8,0.004837041591904654,-4.572106996194247e-5,8.827831621545146e-8,0.004837230223456968,-4.562385027524527e-5,8.803847379686291e-8,0.004837371762779652,-4.562714338453696e-5,8.804318221037112e-8,0.004837516153686477,-4.572936473719342e-5,8.828738354028514e-8,0.004837703559825233,-4.590705729913291e-5,8.871321255880796e-8,0.00483795842100459,-4.6124666861455577e-5,8.923395641208231e-8,0.0048382884248457615,-4.634354743735913e-5,8.975592732878355e-8,0.004838686449812278,-4.652885932931713e-5,9.019505444720963e-8,0.004839134059291325,-4.6654302346770156e-5,9.048817401084265e-8,0.00483960577414928,-4.670490119196287e-5,9.059963781515475e-8,0.004840073592346507,-4.6677962776577816e-5,9.052354945919353e-8,0.004840511260350432,-4.6582397345525144e-5,9.028205993460479e-8,0.004840897899231785,-4.643670396318439e-5,8.992042145949509e-8,0.004841220660300779,-4.626596989787898e-5,8.949965282921296e-8,0.004841476202205037,-4.6098371678003375e-5,8.908802385796573e-8,0.004841671077489782,-4.596168029442229e-5,8.875259106524241e-8,0.004841821307091204,-4.587997080031785e-5,8.855125453694367e-8,0.004841951292609372,-4.587045888723051e-5,8.852512147964674e-8,0.004842091964053706,-4.5940344193465115e-5,8.869088863412212e-8,0.004842277739297711,-4.6083631809650075e-5,8.903322182845005e-8,0.004842541493972926,-4.627838807084122e-5,8.949828371537751e-8,0.004842906839177331,-4.648600438823033e-5,8.999219477976895e-8,0.004843378264295116,-4.665522221668618e-5,9.039097681872455e-8,0.004843932381435793,-4.6733606371812626e-5,9.056834871587784e-8,0.004844516593310677,-4.6686017948423326e-5,9.044026966797496e-8,0.004845061297440305,-4.651301745333522e-5,9.000924058638993e-8,0.004845504427784852,-4.6256995746914114e-5,8.93789350952813e-8,0.004845816313409309,-4.598827316210438e-5,8.872033893206934e-8,0.004846009719910427,-4.5777184591241536e-5,8.820391758061302e-8,0.004846129972474116,-4.566860671556084e-5,8.793778061329034e-8,0.0048462338316596935,-4.567181248329228e-5,8.794324136066889e-8,0.004846370227429732,-4.576600567215227e-5,8.816863162886767e-8,0.0048465699861102345,-4.591338738919411e-5,8.852141023091782e-8,0.004846844129874208,-4.6071908146491065e-5,8.889930925992923e-8,0.004847187112262369,-4.6204138643279386e-5,8.921179902089594e-8,0.004847581703514996,-4.6282067896565305e-5,8.939150694429025e-8,0.004848003735402131,-4.6289076937789076e-5,8.939877769506586e-8,0.004848426256645651,-4.6220321509909585e-5,8.922246700657916e-8,0.004848823209408606,-4.608209856359733e-5,8.887836627853265e-8,0.004849172664527739,-4.58903562975773e-5,8.840557932192903e-8,0.0048494595475039315,-4.5668426291373705e-5,8.786099087737668e-8,0.0048496777143903665,-4.544400174802944e-5,8.731188333905859e-8,0.004849831083297237,-4.524549703219852e-5,8.682706510070045e-8,0.0048499335706496585,-4.5098191704872816e-5,8.646751496052212e-8,0.004850007839811998,-4.502058698290767e-5,8.627758023189437e-8,0.004850082971399407,-4.502123491055191e-5,8.627733894012528e-8,0.00485019108473835,-4.509627653317102e-5,8.645669590689583e-8,0.004850362866722029,-4.522799803925022e-5,8.677198648497969e-8,0.004850621906510939,-4.5384910987798636e-5,8.71463393443206e-8,0.004850977946640694,-4.552441540774088e-5,8.747633199424684e-8,0.00485142013660625,-4.5599608404899196e-5,8.764862963748815e-8,0.0048519131380055204,-4.557121093968653e-5,8.756886324253519e-8,0.004852400538216197,-4.5422915883702246e-5,8.719862480298039e-8,0.004852819081156075,-4.517383633579113e-5,8.658536065820687e-8,0.004853121273694221,-4.4878623615075926e-5,8.586240756352643e-8,0.004853295526580276,-4.461012521329985e-5,8.52067471895604e-8,0.004853370910340709,-4.443133874108983e-5,8.477085726904584e-8,0.004853402989489355,-4.437253239360528e-5,8.462723494908248e-8,0.004853450340338429,-4.4425573958519136e-5,8.475489986913897e-8,0.004853555566747505,-4.4554520782041413e-5,8.506551757055743e-8,0.004853737798332979,-4.471246662007726e-5,8.54446544743408e-8,0.00485399486389547,-4.485554721718429e-5,8.57858896141624e-8,0.004854309864890948,-4.495075979662197e-5,8.600964247263456e-8,0.00485465803028982,-4.497849770452831e-5,8.6069040778254e-8,0.00485501203358417,-4.493206747983682e-5,8.594850455856457e-8,0.00485534568228858,-4.481608527441229e-5,8.565974574854902e-8,0.004855636618776108,-4.464461889212684e-5,8.523726941055656e-8,0.004855868536584048,-4.4439150233652795e-5,8.473347207406128e-8,0.0048560330722339125,-4.422617519806977e-5,8.421282174134603e-8,0.004856131296365982,-4.4034205116743515e-5,8.374453608584602e-8,0.004856174444895931,-4.389004599187381e-5,8.339349699528367e-8,0.004856183359155293,-4.381463425405478e-5,8.321012126246628e-8,0.004856186304500604,-4.381908244061987e-5,8.322079181766202e-8,0.0048562152009108475,-4.3901681750652377e-5,8.342065742125228e-8,0.004856300584346492,-4.4046572784289005e-5,8.37705159905011e-8,0.004856465867596215,-4.422466583704176e-5,8.419918887759595e-8,0.004856721671702306,-4.439714167069116e-5,8.46121777512187e-8,0.004857061176355107,-4.452169624559631e-5,8.490696041970339e-8,0.004857457829840346,-4.456149265628484e-5,8.499476400738042e-8,0.00485786732258919,-4.4495941699599566e-5,8.482662558070934e-8,0.0048582357611451545,-4.433064375541632e-5,8.44172762033907e-8,0.004858514335168011,-4.4101716857274364e-5,8.385533918607352e-8,0.004858676764439197,-4.386931833014717e-5,8.32873433067394e-8,0.004858731337204977,-4.369916734671689e-5,8.287271910808891e-8,0.004858719353578516,-4.363884359422422e-5,8.272626402178683e-8,0.004858699079100403,-4.370113971203409e-5,8.287790899006382e-8,0.004858723862983524,-4.3863152455982114e-5,8.32708541147057e-8,0.004858826040038608,-4.4079389942548624e-5,8.379377681762571e-8,0.00485901243298159,-4.429951477497208e-5,8.432416681478761e-8,0.004859269289883763,-4.448198863401187e-5,8.476146671893096e-8,0.004859570954995191,-4.460045524794661e-5,8.504236029963514e-8,0.004859887795941977,-4.464428204949593e-5,8.514179476144743e-8,0.004860191622124641,-4.461614115330714e-5,8.506688634502332e-8,0.004860458789785439,-4.452889224023546e-5,8.48492775788132e-8,0.004860671945597038,-4.440278682495274e-5,8.453839235720549e-8,0.004860821241729715,-4.426305156165498e-5,8.419563819915824e-8,0.004860905419245433,-4.4137473414217795e-5,8.388856225560573e-8,0.004860932724572903,-4.405349915154474e-5,8.368376120026044e-8,0.004860921196088654,-4.403452027360999e-5,8.363778704610134e-8,0.004860897562807879,-4.4095524083173727e-5,8.378654746993848e-8,0.004860894101884112,-4.4238943389541296e-5,8.413526183041853e-8,0.0048609433408634845,-4.4451997534014956e-5,8.465211854456047e-8,0.004861071294856948,-4.470688491827875e-5,8.526891053304732e-8,0.004861290736213975,-4.4964675805282034e-5,8.589067031036176e-8,0.004861596402411748,-4.518269904195639e-5,8.641375721967553e-8,0.00486196380325942,-4.5324110154403064e-5,8.674916232953769e-8,0.0048623525742310615,-4.536760086172835e-5,8.684603658726279e-8,0.004862714420798966,-4.531482706925229e-5,8.670954354944289e-8,0.004863004623796651,-4.519303097661249e-5,8.640693812132527e-8,0.004863194723425296,-4.505076964306804e-5,8.605688184505726e-8,0.0048632825102846704,-4.494612337857568e-5,8.58005774809639e-8,0.004863294732214557,-4.492967036023607e-5,8.576036145889535e-8,0.004863279646140609,-4.50281209417457e-5,8.600009804265731e-8,0.004863291238192513,-4.5235972657266385e-5,8.650521261792416e-8,0.004863371875000471,-4.5519265521149334e-5,8.719217023603693e-8,0.004863541092600532,-4.5828989880735264e-5,8.794132978880563e-8,0.0048637941431590335,-4.611699389480268e-5,8.863570335939151e-8,0.004864108348633099,-4.6347665140982225e-5,8.918925654220265e-8,0.00486445241548828,-4.650270904600831e-5,8.95582979767788e-8,0.0048647945683711405,-4.658026758675538e-5,8.973908538631549e-8,0.004865107760312099,-4.659122884457311e-5,8.975868058567857e-8,0.004865372216069882,-4.655509521210519e-5,8.966485595145175e-8,0.004865576369720018,-4.649651590121914e-5,8.95177115085765e-8,0.004865717179949249,-4.644257685804242e-5,8.938315205316097e-8,0.004865800395588709,-4.642041241650156e-5,8.932709842864613e-8,0.004865840829426269,-4.6454505120622764e-5,8.940887781848442e-8,0.004865862139653059,-4.656317873149144e-5,8.967262906616372e-8,0.00486589520436499,-4.675433988431925e-5,9.013692766243163e-8,0.00486597415698355,-4.7021367342236717e-5,9.07848659725663e-8,0.004866129742279287,-4.7340909048838094e-5,9.15588685419079e-8,0.004866380968437412,-4.7674714425056845e-5,9.236536298478788e-8,0.004866727661902241,-4.797676853483728e-5,9.309231162293983e-8,0.004867147324684734,-4.8204752728047944e-5,9.363717379329655e-8,0.004867598631309231,-4.833237436364809e-5,9.393686151571851e-8,0.00486803127888161,-4.835807099496604e-5,9.398874966956663e-8,0.004868399226752945,-4.8306738611208255e-5,9.385460419655338e-8,0.0048686730911499205,-4.8223736532853264e-5,9.364566598366033e-8,0.004868847969216985,-4.816304071077976e-5,9.349354754634237e-8,0.0048689445715649204,-4.817300077705271e-5,9.351546946352385e-8,0.004869003383995121,-4.8283613222312364e-5,9.378341924616291e-8,0.004869073380924081,-4.849890638879081e-5,9.43059380023238e-8,0.0048691985524858695,-4.8796843985408144e-5,9.50282614209952e-8,0.004869406558763143,-4.9136789945777165e-5,9.585077822881535e-8,0.0048697031730176215,-4.947169627205198e-5,9.665881714263925e-8,0.004870073718317038,-4.9760441298475204e-5,9.735263346838005e-8,0.004870489786100687,-4.9976304469416066e-5,9.786787764373727e-8,0.004870917867218918,-5.010990840288102e-5,9.818254906626896e-8,0.004871326805083185,-5.016747905294032e-5,9.831256717497081e-8,0.004871692531052498,-5.016661596207553e-5,9.830134495028733e-8,0.004872000142688164,-5.0131652452055496e-5,9.820844897666668e-8,0.004872244237261572,-5.008976155652556e-5,9.810014547881626e-8,0.004872428488982316,-5.0068019068499616e-5,9.804229692860984e-8,0.004872565118915182,-5.0091037618228904e-5,9.809461966944169e-8,0.0048726744092658725,-5.017854275436142e-5,9.830475483883204e-8,0.004872783856378547,-5.034234927557437e-5,9.870086948139556e-8,0.00487292606572329,-5.058265619676878e-5,9.928265588588883e-8,0.0048731343054660824,-5.0884445663438285e-5,1.0001269113882292e-7,0.004873435129492483,-5.1215919899950034e-5,1.0081284930929764e-7,0.0048738390660209,-5.153170034332811e-5,1.015723136253397e-7,0.004874332805219763,-5.178266204412348e-5,1.0217165527867006e-7,0.004874877889632444,-5.1930947916088274e-5,1.0251939608479708e-7,0.004875419222669628,-5.196437324983978e-5,1.0258697726965176e-7,0.004875901546822159,-5.190279042143044e-5,1.0242405238386324e-7,0.004876286929160504,-5.179247995187442e-5,1.0214451691172397e-7,0.004876565554442809,-5.1691121210262656e-5,1.0188954108256096e-7,0.004876756238178176,-5.165032541885692e-5,1.0178476106510073e-7,0.004876898311797196,-5.170234825273362e-5,1.0190790776405611e-7,0.004877039291090606,-5.185415619525043e-5,1.0227463542533915e-7,0.004877222603926023,-5.20886997024062e-5,1.0284205932149231e-7,0.004877478233490123,-5.237148471881915e-5,1.0352515418660084e-7,0.004877817707882309,-5.2659998699574115e-5,1.0421992098956346e-7,0.004878233764547773,-5.291357147653802e-5,1.0482740644614637e-7,0.004878704103850562,-5.310151400306657e-5,1.0527339067231532e-7,0.0048791978095219886,-5.3207947753445196e-5,1.0551996632875121e-7,0.004879682486508378,-5.323275948828798e-5,1.055676880907866e-7,0.0048801303140343175,-5.318929968967715e-5,1.0544982140066945e-7,0.004880521970866183,-5.3100190207577814e-5,1.0522202640813102e-7,0.004880848294653186,-5.299267897057388e-5,1.0495098947741473e-7,0.0048811102117961675,-5.289457264711433e-5,1.0470451475918726e-7,0.004881317747189281,-5.2831136722353006e-5,1.045440020638691e-7,0.004881488756100408,-5.282274765893747e-5,1.0451875219165502e-7,0.004881647595748994,-5.2882791831743e-5,1.0466084584560046e-7,0.004881823499265498,-5.301535663747745e-5,1.0497951455693293e-7,0.004882047968987757,-5.321257874700818e-5,1.0545473459947656e-7,0.004882350207115018,-5.34522364381064e-5,1.0603152097503244e-7,0.004882749931583773,-5.3697319596594616e-5,1.0661911602920183e-7,0.004883248411975124,-5.390029444311228e-5,1.0710159048430002e-7,0.004883821223283848,-5.40142565780382e-5,1.0736509452548331e-7,0.004884418535029374,-5.400964585550486e-5,1.07338516263783e-7,0.004884977331862179,-5.388945231346987e-5,1.0703038492932809e-7,0.004885442982784979,-5.369291520334631e-5,1.0653767571805211e-7,0.0048857896031786405,-5.348285896525935e-5,1.060146273029446e-7,0.004886027899428079,-5.33225701704739e-5,1.0561598542362421e-7,0.004886197488183362,-5.3254761974328e-5,1.0544546399226637e-7,0.004886350220054461,-5.329186339414478e-5,1.0553216327134056e-7,0.00488653376420074,-5.341832436145469e-5,1.058366269418165e-7,0.004886780973520583,-5.3599972431194304e-5,1.0627419538425782e-7,0.004887105836022719,-5.379505921217329e-5,1.0674231474866518e-7,0.00488750437159898,-5.3963749688183614e-5,1.071437647657893e-7,0.004887958428542934,-5.4074868096297026e-5,1.074029666188478e-7,0.004888440866556042,-5.410987220354813e-5,1.0747544257958971e-7,0.004888921197063378,-5.406429862465683e-5,1.0735113586693954e-7,0.004889370931079509,-5.3946902121682926e-5,1.0705217492870693e-7,0.004889767913025726,-5.377692855867965e-5,1.0662613496775146e-7,0.004890099148351,-5.3580229669963764e-5,1.0613649899040003e-7,0.0048903619623596834,-5.3384985707783635e-5,1.0565218481282615e-7,0.004890563646224889,-5.321774155887791e-5,1.0523787065252472e-7,0.004890720050330306,-5.310023848256073e-5,1.0494629332969267e-7,0.00489085365033552,-5.304708763981897e-5,1.0481260896297154e-7,0.004890991351657461,-5.306401912048959e-5,1.0485014474108545e-7]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_3.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_3.json
deleted file mode 100644
index 568a595..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_3.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":3000,"numberOfSamples":1000,"samples":[-0.0016674126654346861,-5.729007527752374e-7,-1.4186514962201376e-8,-0.0016673064653587321,-6.734015165127343e-7,-1.4270276706700349e-8,-0.0016671184978181936,-7.942288639572809e-7,-1.4371055120518062e-8,-0.0016668581653082658,-8.937549802808163e-7,-1.4454094104781238e-8,-0.0016665462863460693,-9.416288807763305e-7,-1.4494058993362982e-8,-0.0016662092022260732,-9.201664606449159e-7,-1.4476216298494372e-8,-0.0016658745541862263,-8.237755484396502e-7,-1.4395945891238539e-8,-0.0016655683268689287,-6.578186550518726e-7,-1.4257765362438796e-8,-0.0016653124526036561,-4.3741842925891825e-7,-1.4074304544820363e-8,-0.0016651224530400707,-1.8607276082775895e-7,-1.3865132894139859e-8,-0.0016650049642489826,6.643303169026634e-8,-1.3655018765663274e-8,-0.0016649554928538104,2.8739437967418395e-7,-1.347113935991257e-8,-0.0016649572160637774,4.4604795424859426e-7,-1.3339056817593825e-8,-0.0016649817855313575,5.194876808583452e-7,-1.3277813795917761e-8,-0.0016649928181043465,4.985157505581373e-7,-1.329507262967021e-8,-0.00166495207648607,3.9179414860133283e-7,-1.3383654246342673e-8,-0.0016648274069321705,2.26664827416035e-7,-1.352084347660865e-8,-0.001664600739494372,4.5708357821865315e-8,-1.367124421905444e-8,-0.001664274219706894,-1.0088239670451744e-7,-1.3793127784445051e-8,-0.0016638726869829803,-1.6616023108150796e-7,-1.3847473701249546e-8,-0.0016634410124484337,-1.1869904209770958e-7,-1.3808176255662588e-8,-0.0016630354517974334,4.659577780072841e-8,-1.3671009811639623e-8,-0.001662709627560605,3.030262655914423e-7,-1.3458136463059741e-8,-0.0016624982880314673,5.958730436677693e-7,-1.3214963229037875e-8,-0.001662404794976831,8.568537842964569e-7,-1.2998163907749735e-8,-0.0016623988702162175,1.0254972177202318e-6,-1.2857973826241794e-8,-0.0016624271346917532,1.0685455003698803e-6,-1.2822084766277138e-8,-0.0016624319248438782,9.883600460942418e-7,-1.2888614390257493e-8,-0.001662369242835807,8.174787260993229e-7,-1.3030565315055226e-8,-0.0016622183938909184,6.041843871353809e-7,-1.3207794337616674e-8,-0.0016619818565370786,3.9717316279278375e-7,-1.3379782718210806e-8,-0.0016616789185444716,2.3502260822879676e-7,-1.3514435597222689e-8,-0.0016613377123989804,1.417265131744283e-7,-1.3591822041815075e-8,-0.0016609886089808544,1.2662367606576446e-7,-1.360423147824086e-8,-0.0016606598282278315,1.863922842656112e-7,-1.3554490273298172e-8,-0.0016603748199426104,3.0744517886406376e-7,-1.3453938412913645e-8,-0.0016601505255394024,4.680421085231016e-7,-1.3320649411749458e-8,-0.0016599957713533597,6.402384067973255e-7,-1.3177803860265977e-8,-0.0016599094977454972,7.922656339357963e-7,-1.3051723165875262e-8,-0.0016598791098382528,8.920717595398815e-7,-1.296895475612751e-8,-0.0016598798337515695,9.124839151887528e-7,-1.2952012505708826e-8,-0.001659876379622952,8.376861160842476e-7,-1.3014014454721298e-8,-0.0016598280484381447,6.695105801256583e-7,-1.3153456420237919e-8,-0.0016596973256014155,4.309782162426044e-7,-1.3351256087288848e-8,-0.001659460185844518,1.644717783767708e-7,-1.3572258355341262e-8,-0.0016591147270322442,-7.656124715275952e-8,-1.3772130406953462e-8,-0.0016586845140589572,-2.408327142852044e-7,-1.3908356700286018e-8,-0.0016582146152118225,-2.934361433791715e-7,-1.3952042824758485e-8,-0.0016577609941446497,-2.2641155822799227e-7,-1.3896646268225657e-8,-0.0016573762399432718,-6.21980795145008e-8,-1.3760786009222337e-8,-0.0016570956693766155,1.5125835864904947e-7,-1.3584155440668849e-8,-0.0016569277304044742,3.526938844470182e-7,-1.3417439166449944e-8,-0.0016568517179810498,4.838995413033776e-7,-1.3308801583491872e-8,-0.0016568239567060939,5.055051370474298e-7,-1.329085416886814e-8,-0.0016567907846579653,4.069873023778711e-7,-1.3372361772156796e-8,-0.0016567038867919353,2.0748592272561992e-7,-1.3537525963856996e-8,-0.001656532487673912,-5.231661404744325e-8,-1.375267653077842e-8,-0.0016562685745488837,-3.2332365832738283e-7,-1.3977143471321514e-8,-0.0016559247754694372,-5.607837026808751e-7,-1.4173848477561865e-8,-0.0016555275418913935,-7.327632792039998e-7,-1.4316343411791168e-8,-0.0016551092006448183,-8.233258722118555e-7,-1.4391445802169112e-8,-0.0016547013993568505,-8.316848376668471e-7,-1.439852456672699e-8,-0.0016543308264849162,-7.693391900307951e-7,-1.4347111821174578e-8,-0.0016540168884855639,-6.568154472154755e-7,-1.4254194224863743e-8,-0.00165377050241833,-5.208100635030763e-7,-1.4141844859881727e-8,-0.001653593196269087,-3.917048152325665e-7,-1.4035172614624135e-8,-0.001653476129350162,-3.0088888763530243e-7,-1.3960118899539777e-8,-0.0016533992421155022,-2.7714172882948965e-7,-1.3940479436687606e-8,-0.0016533313967630901,-3.4151069511884616e-7,-1.3993675666328718e-8,-0.001653232946576946,-5.008677652271779e-7,-1.4125420729844042e-8,-0.001653062183142646,-7.418000865678651e-7,-1.4324648124704472e-8,-0.0016527858361718897,-1.0281008249946432e-6,-1.456142157572885e-8,-0.0016523911376223348,-1.305464686483764e-6,-1.4790826634502255e-8,-0.0016518942603108112,-1.5146795210217696e-6,-1.4963914427081036e-8,-0.001651339688429203,-1.609920243457309e-6,-1.5042853245080335e-8,-0.0016507887609035258,-1.5746267527137686e-6,-1.501402985970417e-8,-0.0016503014049699613,-1.4275884845194972e-6,-1.4893009020259092e-8,-0.0016499186673924447,-1.2167625516751627e-6,-1.4719368976416159e-8,-0.0016496525262988243,-1.0042695210536724e-6,-1.4544312694847968e-8,-0.0016494852722868205,-8.488903215522008e-7,-1.4416272286595473e-8,-0.0016493768933366411,-7.916520763817829e-7,-1.4369068693422452e-8,-0.0016492770441696662,-8.477319335831267e-7,-1.441525088113211e-8,-0.0016491379089976894,-1.005586142802875e-6,-1.454535921366001e-8,-0.0016489247906258263,-1.2324077723442385e-6,-1.4732398295614608e-8,-0.0016486222435663186,-1.483745124523919e-6,-1.4939753931208416e-8,-0.0016482349077829455,-1.714387062746813e-6,-1.5130169934377415e-8,-0.0016477837047942081,-1.8876251196414704e-6,-1.5273388453025773e-8,-0.0016472992687706423,-1.9809318567924716e-6,-1.53508288088995e-8,-0.0016468148667739665,-1.987610693939075e-6,-1.5356941194346824e-8,-0.0016463605427636564,-1.915263460295526e-6,-1.529794271457019e-8,-0.0016459592556230336,-1.7824940981911972e-6,-1.5189110139549575e-8,-0.0016456248820582223,-1.6151699815473968e-6,-1.5051713360546717e-8,-0.0016453614347904178,-1.4430148462818047e-6,-1.4910218742385646e-8,-0.0016451628120618224,-1.2966201405178637e-6,-1.4789829372760213e-8,-0.0016450127057533186,-1.2044728826030512e-6,-1.4714032583746818e-8,-0.0016448847709624051,-1.1893868953393184e-6,-1.4701653351213367e-8,-0.0016447437874436506,-1.2638103881750775e-6,-1.4762980827432679e-8,-0.0016445491773054968,-1.4241708565546202e-6,-1.48951005064794e-8,-0.0016442623193067107,-1.645902905672155e-6,-1.5077791633897704e-8,-0.0016438578535539828,-1.8825890625995552e-6,-1.5272828105373147e-8,-0.0016433361724119703,-2.073293524915233e-6,-1.5430051194420875e-8,-0.0016427306855190664,-2.1595591992381907e-6,-1.5501400836018825e-8,-0.0016421028587470339,-2.107131410238427e-6,-1.545878784662949e-8,-0.0016415236596336047,-1.921503495197351e-6,-1.5306805835881395e-8,-0.0016410491716874508,-1.6475995048951014e-6,-1.508237666232406e-8,-0.0016407026930217476,-1.3532595827599134e-6,-1.4841150585489634e-8,-0.0016404710798181709,-1.1058220927750292e-6,-1.4638324030823384e-8,-0.0016403140434198668,-9.529880693486804e-7,-1.4513000663883932e-8,-0.0016401794241349037,-9.138189075949228e-7,-1.4480834585139251e-8,-0.001640017698453548,-9.79444485492997e-7,-1.4534599598191043e-8,-0.0016397921504842823,-1.1199629554508742e-6,-1.46498259445195e-8,-0.001639483962540219,-1.2938873374757163e-6,-1.4792536911725107e-8,-0.0016390929025693608,-1.4576102121358978e-6,-1.492701055511908e-8,-0.0016386346780947172,-1.5734220969873702e-6,-1.5022352898574618e-8,-0.0016381360741017184,-1.615194314249089e-6,-1.50571474431728e-8,-0.0016376290513289884,-1.5712506992188948e-6,-1.502179647791281e-8,-0.0016371449438908516,-1.4444928408342774e-6,-1.4918620999811586e-8,-0.0016367096648583616,-1.25031555175269e-6,-1.4760165902237422e-8,-0.0016363404739891797,-1.0131188796195411e-6,-1.4566365366279228e-8,-0.0016360443826047542,-7.623240043753878e-7,-1.4361298196704363e-8,-0.0016358178081207191,-5.285826195157557e-7,-1.4170084868955413e-8,-0.0016356469788772767,-3.4036970890659786e-7,-1.4016082203265821e-8,-0.001635508814606122,-2.207663722595964e-7,-1.3918227118982464e-8,-0.0016353723164385856,-1.840892669518823e-7,-1.3888261221685396e-8,-0.0016352009622329746,-2.3204470491520787e-7,-1.3927578205263703e-8,-0.0016349571713373055,-3.4963943026521634e-7,-1.4023883873503605e-8,-0.0016346099310555375,-5.023932688054426e-7,-1.4148931817790818e-8,-0.0016341454885156152,-6.3792299560969e-7,-1.4259849140121573e-8,-0.0016335782650784292,-6.955174267981529e-7,-1.4307009536395608e-8,-0.0016329555381133835,-6.248455078933967e-7,-1.4249353069369657e-8,-0.001632348566823429,-4.0811994916454653e-7,-1.4072462495238987e-8,-0.0016318292392897165,-7.307325909948915e-8,-1.3799065103672127e-8,-0.0016314426223732346,3.1411804635436726e-7,-1.348317422928833e-8,-0.0016311911484804568,6.740899862647185e-7,-1.3189486706427881e-8,-0.0016310385568320672,9.431757478148973e-7,-1.2969887537649966e-8,-0.0016309281956906096,1.0909595365989285e-6,-1.284917620325891e-8,-0.0016308035869936743,1.1218851358131656e-6,-1.2823744428951683e-8,-0.001630622539391083,1.0659851233981184e-6,-1.286910999649688e-8,-0.0016303628898681499,9.662126791094569e-7,-1.2950244535657924e-8,-0.0016300220532569065,8.673019924964457e-7,-1.303067628890683e-8,-0.0016296132995635643,8.078877149326865e-7,-1.3078931636879651e-8,-0.001629160810966706,8.157006448712503e-7,-1.3072446478192921e-8,-0.0016286945140845575,9.051596921306019e-7,-1.2999506114425888e-8,-0.001628245126395128,1.0769022975441644e-6,-1.285960415768863e-8,-0.0016278397306271277,1.3189544201936767e-6,-1.266248230864526e-8,-0.001627498165347806,1.6092434451098838e-6,-1.2426094284497363e-8,-0.0016272305284777825,1.919140067868813e-6,-1.2173739988352222e-8,-0.0016270360259148394,2.2175661941671596e-6,-1.1930728972988056e-8,-0.0016269031154630333,2.475096567993343e-6,-1.1721030329836182e-8,-0.0016268106690123906,2.6677037698851066e-6,-1.1564201830643506e-8,-0.0016267299509751117,2.7800877693262435e-6,-1.1472661493037969e-8,-0.0016266273869119789,2.808609891480967e-6,-1.1449301618478332e-8,-0.0016264683188791577,2.7638226285538478e-6,-1.148545475645509e-8,-0.001626222281076474,2.6722456015579204e-6,-1.1559486532781036e-8,-0.0016258702666007566,2.576093825543154e-6,-1.1637054006801947e-8,-0.001625413368763386,2.528652681956703e-6,-1.1674892793466553e-8,-0.0016248800163113045,2.5829769218688514e-6,-1.163000825805575e-8,-0.0016243264182511817,2.7739410660516134e-6,-1.147422855629942e-8,-0.001623824448257784,3.0994362029174313e-6,-1.1209399713251122e-8,-0.0016234371005962335,3.5125193005639037e-6,-1.0873674286989874e-8,-0.0016231924460283597,3.934280626806754e-6,-1.0531046713794774e-8,-0.0016230722116879442,4.2839261521980505e-6,-1.0247004462157263e-8,-0.0016230223920017024,4.509022315061528e-6,-1.0064052989792204e-8,-0.001622977701628644,4.599308318664541e-6,-9.990503166746648e-9,-0.0016228844735368534,4.580979504172208e-6,-1.0005062897292258e-8,-0.0016227124043607017,4.500425340947215e-6,-1.007001881606373e-8,-0.0016224552660553113,4.4079367639713336E-06,-1.0144494972609784e-8,-0.001622125516269599,4.346659224530802e-6,-1.0193467505461069e-8,-0.001621747326018003,4.347159211571133e-6,-1.0192193851439426e-8,-0.001621350394160166,4.425844840376646e-6,-1.0127472727933714e-8,-0.0016209651093993971,4.585398795260131e-6,-9.99724721593909e-9,-0.001620618755614523,4.816205832030953e-6,-9.809405621898151e-9,-0.0016203324293711152,5.0984795936064065e-6,-9.580037457445881e-9,-0.0016201185778446112,5.4050620808012625e-6,-9.331168050521922e-9,-0.0016199792751218015,5.7049341968223675e-6,-9.087925536625024e-9,-0.0016199055449921847,5.967355112173079e-6,-8.875191668941198e-9,-0.0016198780222882233,6.166231880713312e-6,-8.714053321567563e-9,-0.0016198689897785872,6.284171358720325e-6,-8.618507598772804e-9,-0.0016198456428020592,6.315766071306402e-6,-8.59280112903386e-9,-0.001619774385405621,6.26973000154361e-6,-8.629727496350617e-9,-0.0016196259296935819,6.169525357590731e-6,-8.710169915500509e-9,-0.0016193810015156772,6.052090182629365e-6,-8.804188184311565e-9,-0.0016190363271137104,5.963922429773775e-6,-8.87422587160706e-9,-0.0016186098081281857,5.953407381087274e-6,-8.88131796854117e-9,-0.0016181424573248472,6.058817784323751e-6,-8.794748910421731e-9,-0.0016176935536342239,6.293589642068541e-6,-8.60386918296675e-9,-0.001617326219104022,6.634329004002173e-6,-8.327694536227654e-9,-0.0016170853930605306,7.020289243504353e-6,-8.015286175478002e-9,-0.0016169778930223832,7.370415677596483e-6,-7.732028934152944e-9,-0.0016169675000937544,7.6131522800298654E-06,-7.535643904942126e-9,-0.0016169901136538418,7.713155380487486e-6,-7.454642010804234e-9,-0.0016169800837689205,7.679978347262525e-6,-7.481256003272846e-9,-0.0016168922572558102,7.556948303108508e-6,-7.580374851378752e-9,-0.0016167104555515727,7.400752728903742e-6,-7.706059646917471e-9,-0.0016164437683271215,7.26360821746386e-6,-7.816027752541982e-9,-0.0016161173530747812,7.183346466944154e-6,-7.879724076888564e-9,-0.0016157633104902577,7.180632707092512e-6,-7.880570755501255e-9,-0.0016154140207041772,7.260286490250837e-6,-7.814851788477083e-9,-0.001615098001463881,7.414069548772224e-6,-7.689396067402687e-9,-0.001614837378113596,7.623584166153096e-6,-7.519187049980965e-9,-0.0016146461104334338,7.863038966555796e-6,-7.325110558075486e-9,-0.0016145285922477045,8.102151822196889e-6,-7.13161729702838e-9,-0.0016144786655525626,8.30954750461279e-6,-6.963995681741373e-9,-0.0016144794389958994,8.456851025280304e-6,-6.8450772368244266e-9,-0.0016145044863076245,8.523247037034214e-6,-6.791555454796449e-9,-0.0016145208238440725,8.499790759989043e-6,-6.810504300559879e-9,-0.0016144936330299336,8.392510891781708e-6,-6.896885929710203e-9,-0.001614392228170857,8.223343280763281e-6,-7.032834909617165e-9,-0.0016141963521061268,8.028183732838383e-6,-7.189288356946133e-9,-0.0016139016436967962,7.851860839942969e-6,-7.330101133146092e-9,-0.0016135231106711163,7.740313336524296e-6,-7.4183830864822594e-9,-0.0016130954016894184,7.730606125699386e-6,-7.424519615650904e-9,-0.0016126685428214326,7.840105042654435e-6,-7.334806831697677e-9,-0.0016122981087462733,8.057474208610399e-6,-7.1585873366644e-9,-0.0016120303080747725,8.339676729142519e-6,-6.930579850289531e-9,-0.001611885615787256,8.619402313112867e-6,-6.704899178695777e-9,-0.0016118481928508355,8.824139607217275e-6,-6.539785116730204e-9,-0.001611868604140801,8.90107812285037e-6,-6.477642765675682e-9,-0.001611881154272387,8.835912981377337e-6,-6.529915716142489e-9,-0.0016118277460059921,8.655388821984905e-6,-6.674986610903632e-9,-0.001611675919713035,8.41338736769802e-6,-6.869352972909047e-9,-0.0016114237381993468,8.169993921702883e-6,-7.06452679210035e-9,-0.001611093177231819,7.974354515474472e-6,-7.220908293079042e-9,-0.0016107187721478148,7.856385780125358e-6,-7.3144902295771e-9,-0.0016103373933631776,7.826230747315016e-6,-7.33726541883732e-9,-0.0016099815773490676,7.877830737849756e-6,-7.294288237410739e-9,-0.0016096761674665666,7.993507370107692e-6,-7.199928950656389e-9,-0.0016094369744081014,8.147984768505116e-6,-7.074608444117655e-9,-0.0016092702451640983,8.311598200694667e-6,-6.942216930039938e-9,-0.00160917228355665,8.453152537768642e-6,-6.827830668858108e-9,-0.001609129179254943,8.543077992903146e-6,-6.755189047281374e-9,-0.0016091171262881026,8.557333011262786e-6,-6.743558851885236e-9,-0.0016091041391435737,8.481979668330493e-6,-6.804049103358642e-9,-0.0016090539129368906,8.317618601666572e-6,-6.9360391917084e-9,-0.0016089320065604345,8.082194724983374e-6,-7.1249350615802805e-9,-0.0016087135318696238,7.810443188597418e-6,-7.342654995567478e-9,-0.0016083904469439763,7.548814847622212e-6,-7.551773316743061e-9,-0.0016079759933311404,7.346151109873746e-6,-7.71307892483668e-9,-0.0016075042761180575,7.242056143792723e-6,-7.794939036152872e-9,-0.00160702430711951,7.255973870729432e-6,-7.782022387653911e-9,-0.0016065893832426634,7.380066935880531e-6,-7.680904798184895e-9,-0.0016062439692449664,7.578337494266571e-6,-7.520654677956422e-9,-0.0016060111996290365,7.793284040925081e-6,-7.347429731587253e-9,-0.001605884722251656,7.959699219668078e-6,-7.2134347447406345e-9,-0.0016058284903456366,8.02276170190471e-6,-7.162490523129645e-9,-0.001605786300256652,7.954794950983538e-6,-7.216659725347376e-9,-0.0016056989183379042,7.763856680531235e-6,-7.3693711382787e-9,-0.0016055223349501092,7.489910937153623e-6,-7.5884774454684e-9,-0.0016052394922760655,7.190282869697641e-6,-7.827929734487749e-9,-0.0016048613732839356,6.9214213509586415e-6,-8.042440056461898e-9,-0.0016044191014809085,6.724717813606781e-6,-8.19887721405118e-9,-0.0016039523942876091,6.620315668122966e-6,-8.281210552001504e-9,-0.0016034994404368291,6.608103489245576e-6,-8.289661775609236e-9,-0.00160309058100955,6.672612775449543e-6,-8.236730302719379e-9,-0.0016027456251598608,6.788717605477168e-6,-8.142605180973005e-9,-0.0016024734564696638,6.92643298585074e-6,-8.031328805630021e-9,-0.001602272562723833,7.054461000471735e-6,-7.927975303945096e-9,-0.0016021316395473646,7.1429733909865235e-6,-7.85643420942448e-9,-0.001602030096147785,7.166416618010949e-6,-7.837159326460504e-9,-0.0016019389325304322,7.106967943498292e-6,-7.884384590805072e-9,-0.001601822909317285,6.958748005321464e-6,-8.002733282683978e-9,-0.001601645025670833,6.732028706082511e-6,-8.183846196126166e-9,-0.0016013737843991493,6.455595568760507e-6,-8.404514185145453e-9,-0.0016009923060795966,6.174736476004758e-6,-8.628343547216521e-9,-0.0016005063926833,5.943025935706647e-6,-8.81240660038963e-9,-0.001599947436018963,5.80863970378304e-6,-8.918249717289788e-9,-0.0015993671346443959,5.799343297164342e-6,-8.923895711975885e-9,-0.001598824450917896,5.912206177088279e-6,-8.831981049727163e-9,-0.0015983691261643967,6.112691262219383e-6,-8.670353040535608e-9,-0.001598027750726865,6.34370842368762e-6,-8.484735141405814e-9,-0.001597796970333321,6.541210365541908e-6,-8.32624668865039e-9,-0.0015976453400901444,6.6511270032490696e-6,-8.237927113772566e-9,-0.0015975225826418882,6.642865882163979e-6,-8.244027233433758e-9,-0.0015973733172837778,6.5160674645092064e-6,-8.344671256899067e-9,-0.0015971514460371861,6.299134854850162e-6,-8.517063826659138e-9,-0.0015968312197721644,6.040236787256278e-6,-8.722695998097968e-9,-0.0015964119337554,5.793741677183589e-6,-8.918192024461737e-9,-0.0015959153524303371,5.606512708157547e-6,-9.066246268690955e-9,-0.0015953776009036073,5.508240931702783e-6,-9.143302312759663e-9,-0.0015948390145066778,5.5079279870896205e-6,-9.142302190616902e-9,-0.0015943353730508711,5.595937570596819e-6,-9.0710022424212708E-09,-0.0015938924112206762,5.749295724445448e-6,-8.947734194601513e-9,-0.0015935237022038362,5.937745603497693e-6,-8.796600268425784e-9,-0.0015932308952599915,6.128923308494835e-6,-8.643381449495809e-9,-0.0015930050349990598,6.292138592490837e-6,-8.512542405787741e-9,-0.0015928280496299403,6.401112560124816e-6,-8.425039499555748e-9,-0.001592674118163697,6.436402325511549e-6,-8.396358552439093e-9,-0.001592511242825915,6.388162226916735e-6,-8.434284847973138e-9,-0.0015923038548076277,6.259479463662382e-6,-8.536238644079333e-9,-0.0015920175360308354,6.069704190545227e-6,-8.686647143544019e-9,-0.0015916265581974022,5.855945053772369e-6,-8.855809836079169e-9,-0.0015911234432686942,5.66982094337028e-6,-9.002557749844637e-9,-0.0015905271902137126,5.566980643098267e-6,-9.082660120678599e-9,-0.0015898846649755427,5.5901058549402035e-6,-9.062364074658102e-9,-0.0015892607401442954,5.751420421663427e-6,-8.932240034166934e-9,-0.0015887185141690312,6.0241142294602755e-6,-8.713870498328418e-9,-0.0015882979764191441,6.3490168297115175e-6,-8.454426383873467e-9,-0.0015880035039804617,6.654182728757788e-6,-8.211064945180594e-9,-0.0015878052699886624,6.877775058584288e-6,-8.032786882775957e-9,-0.0015876517590710897,6.984489838970192e-6,-7.947450754328946e-9,-0.0015874863779336544,6.971221701182685e-6,-7.957325293941682e-9,-0.0015872619917445506,6.863185748489404e-6,-8.042215733171648e-9,-0.0015869502414554443,6.704200258300083e-6,-8.167230467721707e-9,-0.0015865450265327885,6.544861833301743e-6,-8.292209810873044e-9,-0.001586060881771174,6.431419708027262e-6,-8.380562643969391e-9,-0.0015855275390838218,6.397223103243651e-6,-8.4060105625722e-9,-0.001584982293378186,6.457920516330214e-6,-8.356321717507075e-9,-0.0015844620349776742,6.61081898948137e-6,-8.233749425801078e-9,-0.0015839966677754043,6.837813403661317e-6,-8.052680242552925e-9,-0.0015836049744388627,7.110512974486875e-6,-7.83558877254055e-9,-0.00158329313272495,7.39599782801762e-6,-7.60852007937778e-9,-0.0015830553572955281,7.661943418484884e-6,-7.397063210929995e-9,-0.0015828757453601038,7.88048537908479e-6,-7.223288825216026e-9,-0.0015827305073950087,8.030921094971425e-6,-7.103576255489422e-9,-0.0015825902239223386,8.10175707948008e-6,-7.046953362750228e-9,-0.0015824222470464458,8.09261347207407e-6,-7.0535751904136625e-9,-0.0015821938020142208,8.016239439311893e-6,-7.1131587433406575e-9,-0.001581876678930113,7.90023529461386e-6,-7.203688583790658e-9,-0.0015814541506088944,7.786937005316729e-6,-7.291589958387156e-9,-0.001580929437716428,7.72886735500687e-6,-7.33539011103742e-9,-0.001580332627237802,7.777305469592599e-6,-7.294769075619663e-9,-0.0015797203731629178,7.964409090283794e-6,-7.144630568893987e-9,-0.0015791630814620142,8.285391603077017e-6,-6.889058321940481e-9,-0.001578720878001717,8.692298812053108e-6,-6.566101724486824e-9,-0.001578419502984907,9.10747486170557e-6,-6.2370916464480965e-9,-0.0015782405062512823,9.452091527792786e-6,-5.9641611304561455e-9,-0.0015781312909732138,9.674079549613374e-6,-5.7882606428250385e-9,-0.001578027360075597,9.761402781761969e-6,-5.718703551331627e-9,-0.0015778737449317608,9.738155742011253e-6,-5.736256424581671e-9,-0.0015776373992268053,9.650582774239132e-6,-5.804222309092312e-9,-0.0015773098917586672,9.551555633876995e-6,-5.88077278945436e-9,-0.0015769037319662415,9.488450878456881e-6,-5.928572703455147e-9,-0.001576445875891479,9.49569390768316e-6,-5.920653078048749e-9,-0.001575970674530697,9.591327497139855e-6,-5.84304192231517e-9,-0.0015755133171369835,9.77658865659438e-6,-5.694997471322311e-9,-0.0015751042615903047,1.003778163139329e-5,-5.487458624638412e-9,-0.001574765041689377,1.0349895109118027e-5,-5.240176643150512e-9,-0.0015745057554236149,1.0681318357532525e-5,-4.978030419643896e-9,-0.001574324361526077,1.0998934195309128e-5,-4.727059345412328e-9,-0.0015742076584801335,1.1272847997949395e-5,-4.510760254880358e-9,-0.0015741334933916324,1.148015300643822e-5,-4.347106597166391e-9,-0.0015740736145208995,1.1607546540740536e-5,-4.2464524410951475e-9,-0.0015739967905234456,1.165297766004052e-5,-4.210215818202505e-9,-0.0015738721019847755,1.1626573124438477e-5,-4.230176567081147e-9,-0.0015736725816667494,1.1550994953670337e-5,-4.288272760115865e-9,-0.0015733796828682138,1.1460984868635478e-5,-4.357060355334619e-9,-0.0015729888863822469,1.1400977627530216e-5,-4.401668546947189e-9,-0.001572515654131937,1.1418948321355508e-5,-4.38465144129614e-9,-0.0015719991378984194,1.155499016771094e-5,-4.27489553861985e-9,-0.0015714991590845522,1.1825387317786e-5,-4.059992614526739e-9,-0.0015710820407434478,1.2207971645261938e-5,-3.757587705347629e-9,-0.00157079647604091,1.2639630181296142e-5,-3.4172617851035963e-9,-0.0015706506457699233,1.3034205729014649e-5,-3.106531606911105e-9,-0.0015706061696304065,1.3315507185698884e-5,-2.885049906609442e-9,-0.0015705947849098492,1.3446774868260129e-5,-2.7815199812259615e-9,-0.0015705471798354855,1.3439686701807493e-5,-2.7865797392088607e-9,-0.0015704165589056223,1.3341690442592115e-5,-2.8627232184856177e-9,-0.0015701872847721412,1.3213818456770147e-5,-2.9617956699222407e-9,-0.0015698706765883304,1.3111683729022345e-5,-3.0400379076245207e-9,-0.0015694951802119525,1.3074916344619818e-5,-3.0664473087197053e-9,-0.0015690965559719964,1.3124045477720016e-5,-3.02518922812497E-09,-0.0015687104237655423,1.3261776187223445e-5,-2.914483963298332e-9,-0.0015683672849147719,1.3476135614623932e-5,-2.744017121960997e-9,-0.001568089331561201,1.3744221248213585e-5,-2.531925583923272e-9,-0.001567888481635352,1.4036199389495978e-5,-2.301652902586154e-9,-0.0015677654444036897,1.431949385617295e-5,-2.0787019259425203e-9,-0.001567709854690696,1.4563082634763757e-5,-1.8873090716874538e-9,-0.0015677016010537767,1.474164561397543e-5,-1.7472081474154697e-9,-0.0015677133377832947,1.4839081201440235e-5,-1.6708576042155112e-9,-0.0015677139033290711,1.4850945784761677e-5,-1.6615071481920558e-9,-0.001567672273456403,1.4785614343760266e-5,-1.712298071717079e-9,-0.001567561728035762,1.4664077909571058e-5,-1.8064872373507266e-9,-0.001567363964362006,1.4518342278869283e-5,-1.9188087740274477e-9,-0.0015670730416101715,1.4388371092908044e-5,-2.017975036911366e-9,-0.001566699009351379,1.4317124795163991e-5,-2.0706086887569183e-9,-0.001566270342050259,1.434288706438812e-5,-2.0471994116831762e-9,-0.0015658331609196012,1.4488670512990482e-5,-1.9302484376469083e-9,-0.0015654445000836176,1.4750408147840926e-5,-1.72331580198987e-9,-0.0015651576376926135,1.5088818242514955e-5,-1.4572399696723894e-9,-0.0015650016611725502,1.543273520838367e-5,-1.1875289074112136e-9,-0.0015649646525930018,1.5699315031914638e-5,-9.786981777112633e-10,-0.0015649932080395524,1.5825615668091956e-5,-8.797288461446118e-10,-0.0015650127561441629,1.5794360168681763e-5,-9.039460652179229e-10,-0.0015649578766231919,1.5637909598140213e-5,-1.0258340424130335e-9,-0.0015647946888691952,1.5419919015121727e-5,-1.1953572908828253e-9,-0.001564525408102832,1.5208671664966406e-5,-1.3589165068917122e-9,-0.0015641786040441487,1.5056893076463547e-5,-1.4752664574075088e-9,-0.00156379486909857,1.4993534545273575e-5,-1.521981552315444e-9,-0.0015634150399108117,1.5024788854757072e-5,-1.4945831313107964e-9,-0.0015630731490801214,1.5139317110787819e-5,-1.4023153307767539e-9,-0.0015627932503844573,1.5314097884522007e-5,-1.2634546568637839e-9,-0.0015625884467632353,1.5519419283943223e-5,-1.1013546330723007e-9,-0.001562460875346721,1.5722949233932406e-5,-9.412785609553453e-10,-0.0015624021479970563,1.5893311969822037e-5,-8.076525173200512e-10,-0.0015623942663999986,1.600355815982286e-5,-7.213957276926135e-10,-0.0015624113087739449,1.603464562664121e-5,-6.972120092446669e-10,-0.0015624222244725121,1.5978599480086515e-5,-7.411073308205331e-10,-0.0015623947894483653,1.5840685366149302e-5,-8.486840929629714e-10,-0.0015623003825704094,1.563995164582476e-5,-1.0047498832725248e-9,-0.00156211896716867,1.5407677934949402e-5,-1.1846143530044873e-9,-0.0015618434715127026,1.5183522199556461e-5,-1.3572122413585078e-9,-0.001561482731818114,1.5009579708722523e-5,-1.4898312300154014e-9,-0.0015610623229379093,1.492287455651844e-5,-1.553978673492256e-9,-0.0015606225925568506,1.4946887881331915e-5,-1.5318866836714567e-9,-0.001560212971251659,1.5083203136375069e-5,-1.422837639342225e-9,-0.0015598818401117295,1.530556706953706e-5,-1.2475983890907835e-9,-0.0015596626235708532,1.5560011265301256e-5,-1.0482226412439358e-9,-0.001559559627593272,1.577486934926789e-5,-8.802955933378288e-10,-0.0015595405570984476,1.5881538273988095e-5,-7.9692043926817e-10,-0.0015595430360532403,1.5839771966023374e-5,-8.291538101517867e-10,-0.0015594959955338393,1.5654660779172335e-5,-9.72801001056983e-10,-0.0015593463001946208,1.5374391353418983e-5,-1.190114515735307e-9,-0.0015590762116928854,1.5069709060576866e-5,-1.4258030022227316e-9,-0.001558703847788798,1.4807611900845037e-5,-1.6276153266680996e-9,-0.0015582703547364113,1.4632787290015397e-5,-1.7608768873779355e-9,-0.00155782354477752,1.4561962806159921e-5,-1.812864234105201e-9,-0.0015574055106049006,1.4587994709651823e-5,-1.7895075593158592e-9,-0.0015570463687551211,1.4687835068240819e-5,-1.7090593224017948e-9,-0.0015567627265973315,1.4830172836249719e-5,-1.5960694700656643e-9,-0.0015565585721585488,1.4981143223910987e-5,-1.4769346528028385e-9,-0.0015564268779924705,1.5108248878273527e-5,-1.3768878228299211e-9,-0.001556351184307716,1.5183283689987646e-5,-1.3177718726983572e-9,-0.0015563071846080817,1.518499355836712e-5,-1.3159931882651027e-9,-0.001556264759061091,1.5101840586844419e-5,-1.3803631127402186e-9,-0.0015561910289953722,1.493467497760959e-5,-1.5099983155967233e-9,-0.001556054769142461,1.4698525876528096e-5,-1.692928407678446e-9,-0.0015558319325716652,1.4422419435365395e-5,-1.9062865699394374e-9,-0.00155551134062967,1.4146276673803998e-5,-2.118820791349384e-9,-0.0015550990200105716,1.3914554215767493e-5,-2.2959501362179986e-9,-0.0015546195256492723,1.376733680242155e-5,-2.406755127218841e-9,-0.001554113115567492,1.3730683214261952e-5,-2.4314473667369036e-9,-0.001553628664032215,1.3808584379673326e-5,-2.367474165297039e-9,-0.0015532132442453931,1.3978822784027847e-5,-2.232532482775318e-9,-0.0015529002123789554,1.4194626461009348e-5,-2.063117347756414e-9,-0.0015526985302697924,1.439325938164884e-5,-1.907804521574992e-9,-0.0015525869004329388,1.4511149461068737e-5,-1.8155962076796212e-9,-0.0015525163561113226,1.4502518791870292e-5,-1.821618126894051e-9,-0.0015524229966605255,1.4355340596169604e-5,-1.934861536785402e-9,-0.0015522480046320417,1.4097085782131253e-5,-2.1337720574238567e-9,-0.0015519570630758844,1.3785964147240603e-5,-2.373056019133126e-9,-0.0015515502090884452,1.3490805690072358e-5,-2.5993134735632945e-9,-0.0015510581583219735,1.3269136012428824e-5,-2.7680732374480753e-9,-0.0015505287216183647,1.3153018247135854e-5,-2.8547493909096727e-9,-0.0015500111337097319,1.3146302784594268e-5,-2.8566824400189927e-9,-0.0015495446374244918,1.3230505435768768e-5,-2.788469542937826e-9,-0.001549153320614908,1.3373991814169866e-5,-2.6747740927702085e-9,-0.0015488458317407083,1.3540368315253085e-5,-2.543818936185515e-9,-0.0015486175736199625,1.3694424215569561e-5,-2.422826603784886e-9,-0.0015484534953238353,1.3805782453544893e-5,-2.335244042665086e-9,-0.0015483305799586244,1.3851194736815257e-5,-2.2989915178837034e-9,-0.0015482199989999771,1.3816427644258473e-5,-2.3249912029369815e-9,-0.001548089463216438,1.369826171317471e-5,-2.41558809311908e-9,-0.0015479064843226234,1.3506495043573231e-5,-2.5629790637511724e-9,-0.0015476430650823826,1.3265142070830212e-5,-2.748308110889761e-9,-0.0015472817047777522,1.3011433188873347e-5,-2.9425170054115522e-9,-0.0015468215378123499,1.2791153939947237e-5,-3.1100615838046316e-9,-0.0015462823008519895,1.264978126784404e-5,-3.2158634430605283e-9,-0.0015457034820694632,1.2620793299373853e-5,-3.23437207800151e-9,-0.0015451371557708795,1.271461979911524e-5,-3.1580199349164043e-9,-0.0015446354809309358,1.2912598720449401e-5,-3.001718234269623e-9,-0.0015442364302565255,1.3169086681883902e-5,-2.801040276875315e-9,-0.0015439524938185769,1.342193894043896e-5,-2.604019123633512e-9,-0.0015437662068975597,1.3608488064402962e-5,-2.4588197532468753e-9,-0.0015436340713854192,1.3682357584886e-5,-2.4008622169249547e-9,-0.001543497962354699,1.3626252232787606e-5,-2.4430807619033354e-9,-0.00154330101649021,1.3456844397511336e-5,-2.572263294225788e-9,-0.0015430034083978895,1.3219882326718478e-5,-2.7529027871083723e-9,-0.0015425929181858147,1.2976711436722279e-5,-2.937645646025132e-9,-0.0015420866882192013,1.278670592403656e-5,-3.080856310691857e-9,-0.00154152398796979,1.2691851204048305e-5,-3.1504613502583297e-9,-0.001540953480044075,1.2708519035282108e-5,-3.1341863973903237e-9,-0.0015404202334010281,1.2827867903263539e-5,-3.039126457904035e-9,-0.0015399566733843208,1.302256759212801e-5,-2.886485245993735e-9,-0.0015395788942260255,1.325586308652444e-5,-2.7045866919813093e-9,-0.0015392872954454852,1.3489692472678766e-5,-2.5226746116671805e-9,-0.0015390695180788213,1.3690362719305401e-5,-2.3666060094382767e-9,-0.0015389039426561332,1.3831829101966165e-5,-2.2563601055744896e-9,-0.0015387628159656927,1.3897428531583792e-5,-2.20469239650718e-9,-0.0015386148936828994,1.388103058929039e-5,-2.2162086122068876e-9,-0.0015384280799308537,1.3788188762037226e-5,-2.28644706084773e-9,-0.0015381727896268602,1.3637252599749298e-5,-2.4010335015984904e-9,-0.00153782662638598,1.3459685165893791e-5,-2.5355047694054314e-9,-0.0015373803606947806,1.3298103454663454e-5,-2.6569224773298658e-9,-0.0015368439449366434,1.3200271754010526e-5,-2.7285944715443808e-9,-0.0015362497069414172,1.3208268582747388e-5,-2.7184455758695063e-9,-0.0015356491281297727,1.3344727868614513e-5,-2.609535624585385e-9,-0.0015351012857119798,1.3601376685119754e-5,-2.4087144532296773e-9,-0.001534655333305587,1.3936432395579682e-5,-2.1484399499017215e-9,-0.0015343338675460306,1.4284442308400234e-5,-1.8790986065537597e-9,-0.001534124900712501,1.4575769360907748e-5,-1.6540268609434805e-9,-0.001533986063403117,1.4757650849527079e-5,-1.5134089313619608e-9,-0.0015338585577077514,1.4808523097929115e-5,-1.4733758294952858e-9,-0.001533684646016743,1.4741520547899112e-5,-1.5234227094639102e-9,-0.001533422629589494,1.4597945041350879e-5,-1.6315309243635806e-9,-0.0015330556633583313,1.4434363097761433e-5,-1.7541719141681908e-9,-0.0015325932941699795,1.43077142414427e-5,-1.8477863331828831e-9,-0.0015320665277323265,1.426230754346835e-5,-1.878725396982042e-9,-0.0015315185461519663,1.4321473573738102e-5,-1.8295328556822685e-9,-0.001530993934766879,1.4485180350014558e-5,-1.7006180859558923e-9,-0.001530529287402824,1.4733246178698408e-5,-1.5076755247691595e-9,-0.0015301472235543963,1.5032273750256648e-5,-1.2763383865137975e-9,-0.001529854434526647,1.5343751423442615e-5,-1.0360201232972493e-9,-0.0015296430494533845,1.5631173065596047e-5,-8.145421075795626e-10,-0.0015294939224596445,1.5865044960165455e-5,-6.343581941131169e-10,-0.0015293804665335667,1.6025681201232713e-5,-5.104211518947967e-10,-0.0015292721800424954,1.6104406698012555e-5,-4.492264661427397e-10,-0.0015291376898846022,1.610398838942385e-5,-4.484456737093128e-10,-0.0015289476443276155,1.6038826092304203e-5,-4.967851368558057e-10,-0.0015286780300962212,1.5934920116292352e-5,-5.7407767303816e-10,-0.0015283144581671828,1.5828995706173513e-5,-6.520649957069123e-10,-0.001527857433495814,1.5765420962771622e-5,-6.968641554284709e-10,-0.0015273273599870595,1.578919190086431e-5,-6.74377333345776e-10,-0.001526766307082904,1.5934197950098757e-5,-5.592021348606761e-10,-0.0015262325434225242,1.6208917896855537e-5,-3.454009983392546e-10,-0.0015257856016340661,1.6585900155219326e-5,-5.434009904032178e-11,-0.001525465322369261,1.7003376453317625e-5,2.6667254099619e-10,-0.0015252747715500247,1.738282006332563e-5,5.577945753003107e-10,-0.0015251774516648478,1.765614484759572e-5,7.673293029466002e-10,-0.0015251111941016761,1.778888314628154e-5,8.693422948032573e-10,-0.0015250108675460873,1.7788373699605145e-5,8.698678813149482e-10,-0.0015248284104435656,1.769597096092772e-5,8.008933904221264e-10,-0.001524543138352943,1.7570342537972436e-5,7.074837082249667e-10,-0.001524161958697962,1.747014596631279e-5,6.344307222398109e-10,-0.00152371290844506,1.7441141511317046e-5,6.163780060845438e-10,-0.001523235851785127,1.7509215448337496e-5,6.72585413499027e-10,-0.0015227730669315363,1.7678694633934106e-5,8.058200670495614e-10,-0.0015223612736943114,1.7934688640477055e-5,1.0043203383510617e-9,-0.0015220259505717274,1.82482101335355e-5,1.2458005545171251e-9,-0.0015217783771147274,1.858278154644696e-5,1.502482588468059e-9,-0.0015216153779278,1.8901176203271382e-5,1.7461563926156706e-9,-0.001521521286606779,1.9171184850908933e-5,1.9524855806838318e-9,-0.0015214713531420381,1.936973086375099e-5,2.1040967574472464e-9,-0.0015214357043695024,1.9485117407839795e-5,2.1923000740043392e-9,-0.001521383137404215,1.9517692447771478e-5,2.217627952739704e-9,-0.0015212844821984616,1.9479511468266107e-5,2.1895835175049778e-9,-0.0015211156742934025,1.939342867657197e-5,2.1258913140746853e-9,-0.0015208608563400331,1.9291673965034527e-5,2.0512979780619082e-9,-0.001520515854495682,1.9213505125941906e-5,1.995657851135691e-9,-0.0015200919884612346,1.9200901897949216e-5,1.9905876211772794e-9,-0.0015196190517206686,1.9290978781291798e-5,2.0637415938522103e-9,-0.001519144803733725,1.9504713196396947e-5,2.2304122471037216e-9,-0.001518727462232059,1.9834280591372538e-5,2.484141135478913e-9,-0.0015184192950395239,2.0235367514319987e-5,2.7910634415758664e-9,-0.0015182452262433325,2.0633099952696904e-5,3.0944338572009063e-9,-0.0015181877354138221,2.094520859440517e-5,3.3320858875781925e-9,-0.0015181899043198905,2.1113683302729238e-5,3.4603240998125803e-9,-0.0015181776587180065,2.1127106051478163e-5,3.4708520228233463e-9,-0.0015180885131474918,2.1021030404410242e-5,3.391091106264991e-9,-0.0015178909438639508,2.0859213783789e-5,3.2698730446144373e-9,-0.0015175877233646422,2.0709171992738493e-5,3.1587082248994756e-9,-0.0015172073558787026,2.0623842481949752e-5,3.0977101310951086e-9,-0.0015167914191089214,2.063317965218757e-5,3.1092048210673748e-9,-0.0015163832619076432,2.0743705953134367e-5,3.1975368071754336e-9,-0.0015160200669873704,2.0942485608743105e-5,3.3523023756736195e-9,-0.0015157281682930876,2.1202788343014117e-5,3.5528268410564887e-9,-0.0015155208240000008,2.1490072546112796e-5,3.7727761422749006e-9,-0.0015153978329193042,2.1767775800983042e-5,3.984512020996164e-9,-0.0015153466823297202,2.2002561279956053e-5,4.162975427671088e-9,-0.0015153449752000046,2.2168662578104594e-5,4.2888951154383054e-9,-0.0015153638372301824,2.225102728825126e-5,4.351136659371982e-9,-0.001515371889179471,2.2246993016359994e-5,4.3479874066622305e-9,-0.0015153392563930425,2.216641597337143e-5,4.287271959233951e-9,-0.001515241213541778,2.2030490914074532e-5,4.1854284582402095e-9,-0.0015150613338686283,2.1869574703626888e-5,4.065761994294679e-9,-0.0015147941551076818,2.1720147110229897e-5,3.956004055400928e-9,-0.0015144474064621842,2.1620798118500058e-5,3.885163322724043e-9,-0.0015140436280418352,2.160676344805545e-5,3.879380610579873e-9,-0.0015136202312386242,2.1702388771875214e-5,3.956357484574458e-9,-0.001513226034844196,2.191177437422689e-5,4.1185205826258535e-9,-0.0015129120080209172,2.221001677650227e-5,4.346649078495528e-9,-0.001512715541928629,2.254041791686142e-5,4.597890678761155e-9,-0.001512642323751254,2.282451516198137e-5,4.8132638236435735e-9,-0.001512656112032841,2.2987226657755368e-5,4.936448725917021e-9,-0.0015126871339836351,2.2987814401065566e-5,4.937036368579893e-9,-0.0015126589666124984,2.283832816494508e-5,4.824488181507253e-9,-0.0015125191642603442,2.2596939508072832e-5,4.643164810446097e-9,-0.001512255771697461,2.234135481963672e-5,4.452159952580022e-9,-0.0015118937115124553,2.2139907404171068e-5,4.303255975411923e-9,-0.00151147883232571,2.203443093930126e-5,4.227845582902372e-9,-0.001511060993239207,2.2037202305538674e-5,4.234671953457867e-9,-0.0015106824975225093,2.213657085421608e-5,4.314282868663287e-9,-0.0015103725536317254,2.2305348342064856e-5,4.4455958177446396e-9,-0.001510145935250769,2.2508543748264166e-5,4.601885979825811e-9,-0.0015100037941396729,2.27093975733727e-5,4.75536669510632e-9,-0.0015099353530227085,2.2873996336669858e-5,4.880600371514767e-9,-0.0015099200916151164,2.2974973370313923e-5,4.957188134048892e-9,-0.0015099304637137257,2.2994496007904244e-5,4.971952359005194e-9,-0.0015099352286913673,2.2926461766264454e-5,4.920579998432417e-9,-0.0015099033645110472,2.277759522000927e-5,4.808472749402745e-9,-0.0015098082535331882,2.256704567886276e-5,4.650450638927179e-9,-0.0015096316019525189,2.2324318804894625e-5,4.469136915658275e-9,-0.0015093665766133704,2.208567924099814e-5,4.2921241199986e-9,-0.0015090197629728298,2.1889299652124044e-5,4.148176635499323e-9,-0.0015086116448405531,2.1769507934527783e-5,4.062815296740895e-9,-0.0015081753500045245,2.1750466832938717e-5,4.05360291565382e-9,-0.0015077531763032308,2.183960388547096e-5,4.125383508132904e-9,-0.0015073900399322092,2.202167990402843e-5,4.2660809956394935e-9,-0.0015071232263286609,2.225573764208077e-5,4.44462415416496e-9,-0.0015069693776782423,2.2478572667533146e-5,4.6136193435732875e-9,-0.0015069127900212765,2.261830809440704e-5,4.719430802140069e-9,-0.0015069025568193628,2.2617773461514468e-5,4.719545121206075e-9,-0.0015068654430890603,2.2459193836491986e-5,4.601005606662283e-9,-0.001506732732291867,2.2175454413684737e-5,4.388897633440769e-9,-0.0015064676102254564,2.1838262916960467e-5,4.1374773793336535e-9,-0.0015060770908259737,2.152899176668202e-5,3.9081543995164606e-9,-0.0015056034531821725,2.130964096087466e-5,3.747499605308365e-9,-0.0015051039831142801,2.120817745888039e-5,3.67616765940978e-9,-0.0015046318558587788,2.121994692951462e-5,3.6900798243215312e-9,-0.0015042251268647423,2.1317953608248667e-5,3.768369282876351e-9,-0.0015039036630436163,2.1464388035088392e-5,3.88222893943776e-9,-0.0015036707819547192,2.1619516091843104e-5,4.001665844105285e-9,-0.0015035165886605325,2.1747302655433718e-5,4.099689013291884e-9,-0.00150342132600212,2.1818716266063703e-5,4.154695925069204e-9,-0.001503358325448771,2.1813879500024203e-5,4.1519986156729824e-9,-0.0015032968462424501,2.1723736492507323e-5,4.08503905892022e-9,-0.0015032052341075262,2.155133538091197e-5,3.956368101994074e-9,-0.0015030546872407823,2.1312355770057032e-5,3.778071180337243e-9,-0.0015028235326783174,2.103420332333634e-5,3.5710789610787957e-9,-0.0015025013887804367,2.075307806093682e-5,3.362886440108658e-9,-0.0015020922453497882,2.0508886287330707e-5,3.183598559287639e-9,-0.0015016154742786625,2.0338452391119222e-5,3.0607104114683997e-9,-0.0015011040515861569,2.0268076034948164e-5,3.0134867470089806e-9,-0.001500599804274013,2.030688168146457e-5,3.04807733049152e-9,-0.0015001460726057133,2.044239395900025e-5,3.154424023362247e-9,-0.00149977856352969,2.0639604039527855e-5,3.305819021705255e-9,-0.0014995156172464786,2.0844817059723325e-5,3.461959279396227e-9,-0.0014993500137638414,2.0995399978085027e-5,3.576249789876038e-9,-0.0014992456432738306,2.1035335583678028e-5,3.60729449457631e-9,-0.0014991428844553212,2.0933644184201608e-5,3.532476786791916e-9,-0.0014989745730104767,2.0698804268457708e-5,3.3586078624101303e-9,-0.0014986888360896111,2.0380406021878866e-5,3.1231135922833585e-9,-0.0014982686733544998,2.0053717417477414e-5,2.88245886837212e-9,-0.001497737525690711,1.979300837962255e-5,2.692135997911263e-9,-0.001497148017881539,1.9647196210900128e-5,2.588415637713842e-9,-0.0014965613991866607,1.9629093705834248e-5,2.5803785904338805e-9,-0.0014960289411646245,1.971968706434261e-5,2.653283174951249e-9,-0.0014955820412908304,1.9880736800477454e-5,2.778157555940626e-9,-0.0014952309905867504,2.006787897714019e-5,2.9216817011335566e-9,-0.0014949687552116315,2.0239968863611068e-5,3.053154202397362e-9,-0.001494776174475137,2.0364131096063462e-5,3.1481831138080597e-9,-0.0014946265704327824,2.0417849223123522e-5,3.1901577490234746e-9,-0.0014944892845262566,2.038968095963877e-5,3.170735822070018e-9,-0.001494332545660484,2.0279629489477603e-5,3.090127645122555e-9,-0.0014941263545837618,2.009946410020862e-5,2.957370145196969e-9,-0.0014938459444002585,1.9872625600314708e-5,2.7902699955053625e-9,-0.0014934759328347927,1.9632856641228426e-5,2.614335134584265e-9,-0.0014930145655336932,1.9420569813598002e-5,2.4599538294097267e-9,-0.001492476702076429,1.9276431553751654e-5,2.3574741074222654e-9,-0.001491893815555032,1.923270705234934e-5,2.3306640563010123e-9,-0.0014913096645020614,1.930428755097455e-5,2.3900526656468323e-9,-0.0014907716135890666,1.9482318555866433e-5,2.5283426168944e-9,-0.0014903193643921373,1.973316438958572e-5,2.7198781518158167e-9,-0.0014899741448074898,2.0003956799043533e-5,2.9249937542774248e-9,-0.0014897315523588778,2.023395845028581e-5,3.098573729705269e-9,-0.0014895604078392077,2.036929696434408e-5,3.200967785115278e-9,-0.0014894086578894246,2.0377579597678796e-5,3.2087039570247428e-9,-0.0014892158047863976,2.0258385868426954e-5,3.122098731804692e-9,-0.001488929416536435,2.00457625312811e-5,2.9669485121319134e-9,-0.0014885210657221955,1.9800292408669174e-5,2.7885218058526498e-9,-0.0014879957071757151,1.9591794282292342e-5,2.6386436925550972e-9,-0.0014873899746012964,1.9478359809753334e-5,2.5601312681883347e-9,-0.0014867596618360918,1.949011570768919e-5,2.5748323704033555e-9,-0.0014861620498762876,1.96239922223134e-5,2.6799132147527057e-9,-0.0014856407320978139,1.9849868774778618e-5,2.8525944425785092e-9,-0.0014852179082245765,2.0123138972227992e-5,3.0595746869390322e-9,-0.001484894404555705,2.0397436089605455e-5,3.266468246613373e-9,-0.0014846544662120268,2.063358248057847e-5,3.444366312054756e-9,-0.0014844719149976677,2.080401172999627e-5,3.573026893968126e-9,-0.0014843155256631664,2.089389600951698e-5,3.6416569247405195e-9,-0.0014841529717873015,2.0900677734307805e-5,3.6485643076621275e-9,-0.0014839536957402732,2.083324538196875e-5,3.6005774495059056e-9,-0.0014836914694317035,2.0711220588510544e-5,3.5125354304605184e-9,-0.0014833473561297718,2.0564086382282243e-5,3.406608295349423e-9,-0.0014829133688975399,2.0429297886048457e-5,3.3108019367196984e-9,-0.0014823963710327067,2.0348185310062236e-5,3.2557973035666802E-09,-0.0014818207428450856,2.0358734524199104e-5,3.269510016130022e-9,-0.0014812274772494347,2.048563738802864e-5,3.369725367338494e-9,-0.0014806675693328044,2.0730221397913308e-5,3.556767697544755e-9,-0.0014801896123771137,2.106481501301274e-5,3.809538836492915e-9,-0.0014798249253679303,2.143590416769047e-5,4.088059593597637e-9,-0.0014795761455542354,2.177709692752412e-5,4.3431788306475135e-9,-0.0014794146511569793,2.202796158292254e-5,4.530508461441201e-9,-0.0014792883061481331,2.21516328538685e-5,4.623353141774396e-9,-0.0014791364524373138,2.2144870224967428e-5,4.620002061129199e-9,-0.001478906684187595,2.203791530288745e-5,4.543444647931511e-9,-0.0014785683235115793,2.1885258092804413e-5,4.434360357647662e-9,-0.0014781193401062422,2.1750689691606835e-5,4.339933827235743e-9,-0.0014775854795386373,2.169092982823376e-5,4.3017291032046366e-9,-0.001477012299802205,2.1742145708306606e-5,4.345842348530162e-9,-0.0014764526498468376,2.191281179061359e-5,4.477843345187745e-9,-0.0014759534363243591,2.2184454181331846e-5,4.683549499194312e-9,-0.0014755455960484022,2.2519217855883682e-5,4.93475027814799e-9,-0.0014752396898019221,2.2870962823821085e-5,5.1974073013490225e-9,-0.0014750271342094889,2.3195958122338928e-5,5.439457561441334e-9,-0.0014748851544931095,2.3460421517391652e-5,5.636259530417908e-9,-0.0014747829673421675,2.3644120169039524e-5,5.773169265596725e-9,-0.001474687320693333,2.374080291527646e-5,5.845840169919798e-9,-0.0014745666070528286,2.3756880234768512e-5,5.859274017653767e-9,-0.0014743937130802754,2.370958754850038e-5,5.826487086509059e-9,-0.0014741482569230124,2.3625217663658505e-5,5.767179828898929e-9,-0.001473818894785108,2.353730629244631e-5,5.7063097259063755e-9,-0.0014734060778071696,2.3484074946004946e-5,5.672082995091509e-9,-0.001472924981874492,2.3504008874457454e-5,5.692603170476783e-9,-0.0014724072644037177,2.3628534088270373e-5,5.790480507708103e-9,-0.0014718991918354172,2.387197597384268e-5,5.975569281186334e-9,-0.0014714535304005726,2.422153315886059e-5,6.2378093646216116e-9,-0.0014711147480171334,2.463284924493281e-5,6.5441791770475725e-9,-0.0014709018005976526,2.5037149761910478e-5,6.844044438239558e-9,-0.0014707971735682401,2.5361087416693702e-5,7.08371765685339e-9,-0.0014707499231823534,2.5551998946229314e-5,7.224937628064112e-9,-0.0014706928556039132,2.559617122586235e-5,7.2582251778159335e-9,-0.0014705654035565266,2.5521412187611647e-5,7.204692681405604e-9,-0.0014703314954858874,2.5384704814681434e-5,7.106814374546921e-9,-0.001469986538679709,2.5252782134341083e-5,7.013936096625625e-9,-0.0014695540981764408,2.5183955143550453e-5,6.968766442288963e-9,-0.0014690762900327096,2.5215950258180403e-5,6.998456432120111e-9,-0.0014686020708823385,2.5360870206104967e-5,7.1110940673169154e-9,-0.001468176386598783,2.5606318665205407e-5,7.296811789583651e-9,-0.001467831922902369,2.592100301791191e-5,7.532134484148677e-9,-0.0014675843884544473,2.6263002803544234e-5,7.786145194716698e-9,-0.0014674316308986469,2.6588795756606222e-5,8.027060457500164e-9,-0.0014673561469447757,2.6861167542429433e-5,8.22790296065784e-9,-0.001467329858105644,2.7054651629686617e-5,8.370365121482301e-9,-0.0014673197245071011,2.7158013293985568e-5,8.446566196624374e-9,-0.0014672929285562525,2.717410966689769e-5,8.458950180331899e-9,-0.0014672208834997042,2.7118011201820044e-5,8.4189307986924e-9,-0.0014670820001531884,2.7014370775278294e-5,8.34495143072538e-9,-0.0014668636033767842,2.6894642929169563e-5,8.260369284515231e-9,-0.0014665634811135814,2.6794222102966245e-5,8.19123024785904e-9,-0.0014661914098972825,2.674909228562432e-5,8.163696466874626e-9,-0.001465770520724381,2.679114846664634e-5,8.200590836488431e-9,-0.001465337400999473,2.6941364730020337e-5,8.316505230393117e-9,-0.0014649388274165344,2.720105595585084e-5,8.511638713086152e-9,-0.0014646228477321868,2.7543744071366404e-5,8.766111014759959e-9,-0.0014644237187200332,2.791300341092992e-5,9.03854416039646e-9,-0.001464344966501293,2.8232690622237343e-5,9.273507511061049e-9,-0.00146435037296069,2.8431059296295023e-5,9.418980704214775e-9,-0.0014643722903750673,2.8469546292426055e-5,9.447272055057291e-9,-0.0014643365365555757,2.835968319109381e-5,9.367378735882624e-9,-0.0014641906956874835,2.8157374663821298e-5,9.220801767421116e-9,-0.0014639203699168175,2.793907130398366e-5,9.063972153156974e-9,-0.001463547743641747,2.777469392086682e-5,8.94819704622287e-9,-0.0014631181589848093,2.770971394278009e-5,8.906400483072525e-9,-0.0014626840013922983,2.7759615661242276e-5,8.949152904876544e-9,-0.0014622919778576426,2.7913376841285792e-5,9.067487925009645e-9,-0.0014619755187329977,2.8141209895819113e-5,9.238874894232356e-9,-0.0014617515941158011,2.840319839203045e-5,9.43374255358404e-9,-0.0014616206414562979,2.8657228590944903e-5,9.621316724398479e-9,-0.0014615686117483452,2.88656511750599e-5,9.77438646312151e-9,-0.0014615705063021332,2.9000359578134314e-5,9.872855466969257e-9,-0.0014615948598680729,2.9046009835060456e-5,9.905967029354836e-9,-0.001461608579480747,2.900124632155569e-5,9.873148682283592e-9,-0.0014615815016667387,2.8877991973552452e-5,9.783504838835818e-9,-0.001461490094774729,2.86991569091944e-5,9.65415693656674e-9,-0.0014613200429391873,2.8495379357004293e-5,9.507823393054517e-9,-0.0014610677949529376,2.8301325099769305e-5,9.370010304543687e-9,-0.0014607412749224225,2.8151769243240655e-5,9.266016170060544e-9,-0.001460359934266054,2.807741831222614e-5,9.217802419101563e-9,-0.001459954104262802,2.810012125881796e-5,9.240548810429125e-9,-0.0014595629027557774,2.8227079611997363e-5,9.338632920695437e-9,-0.001459229207373408,2.8444570378339046e-5,9.501348366973721e-9,-0.0014589903312328463,2.8713478214577256e-5,9.699906185659169e-9,-0.0014588646330113623,2.8970928160528702e-5,9.888704607981145e-9,-0.0014588380390138703,2.9143000527045176e-5,1.0014441084658272e-8,-0.0014588592510678298,2.916941323267889e-5,1.0033827086917958e-8,-0.0014588523821274818,2.9030953044343186e-5,9.933409035109415e-9,-0.0014587456644553276,2.8762477106263568e-5,9.739062259576716e-9,-0.001458501091057045,2.844024437257861e-5,9.506799999855063e-9,-0.001458127143420008,2.8150315430128008e-5,9.299622484807696e-9,-0.001457669435461303,2.7957472722960843e-5,9.164649386359438e-9,-0.0014571891196582215,2.788982620398424e-5,9.12181556433836e-9,-0.001456742655817562,2.7940470402478702e-5,9.1652351867303225E-09,-0.0014563700347164715,2.807848674258035e-5,9.271524962474886e-9,-0.0014560912588836175,2.826144010513699e-5,9.409190716108027e-9,-0.0014559078903742333,2.8445360201978687e-5,9.546033498517481e-9,-0.0014558067229891146,2.859145029300421e-5,9.65399985693406e-9,-0.0014557639343839687,2.867025540336573e-5,9.712068997365372e-9,-0.0014557492065120391,2.8664138594720785e-5,9.707890097359682e-9,-0.0014557298001960863,2.8568493551007577e-5,9.638560286519974e-9,-0.0014556745936851589,2.839177608483774e-5,9.510625422205857e-9,-0.0014555579370875656,2.815423714782051e-5,9.339183329667601e-9,-0.0014553629537277198,2.788526924195518e-5,9.14595894628804e-9,-0.0014550838573302906,2.7619586166606147e-5,8.95646433151999e-9,-0.0014547270310782067,2.7392671032165182e-5,8.796565507284847e-9,-0.0014543107698863327,2.7235881381529104e-5,8.688803061502544e-9,-0.0014538636547068316,2.7171559156514596e-5,8.648806078255112e-9,-0.0014534215710303232,2.7208440099601352e-5,8.68207399305285e-9,-0.001453023162629078,2.7337595874378007e-5,8.781285876904159e-9,-0.0014527031545351094,2.7529636906441165e-5,8.924571639210088e-9,-0.0014524833008458392,2.7735059993107925e-5,9.075970709988018e-9,-0.0014523621957538728,2.7890571544417234e-5,9.190018425776328e-9,-0.0014523077282724134,2.793379091660291e-5,9.22219677030714e-9,-0.0014522585937687897,2.7825223830983982e-5,9.144582317840528e-9,-0.0014521403795198652,2.7569149189017554e-5,8.960821255109384e-9,-0.001451893505617349,2.7219493141957345e-5,8.71038541518176e-9,-0.0014514989868257015,2.6862149989671336e-5,8.455773632611902e-9,-0.0014509858377754307,2.6581283086955036e-5,8.257991564297597e-9,-0.0014504161415827162,2.642918854125528e-5,8.154588223766253e-9,-0.0014498591074915373,2.6414918608475404e-5,8.151437565096828e-9,-0.0014493694267968629,2.6511849721997745e-5,8.228438049517682e-9,-0.001448977429522189,2.667403387196817e-5,8.351639483937653e-9,-0.0014486894408670674,2.6851542282472955e-5,8.484552463610772e-9,-0.0014484932417684118,2.700055872143433e-5,8.595494996252945e-9,-0.0014483645278005612,2.7088384874182358e-5,8.661115546099852e-9,-0.0014482724252906584,2.709519725146361e-5,8.667505390416874e-9,-0.0014481837922433506,2.7014246607076915e-5,8.610209915657879e-9,-0.0014480667630384213,2.6851367625677863e-5,8.493819386236972e-9,-0.0014478939985973695,2.6623968239600285e-5,8.331252341426477e-9,-0.0014476458307236476,2.635924813759418e-5,8.142498231074953e-9,-0.00144731311061095,2.6091231865376743e-5,7.952456649511876e-9,-0.0014468992107673786,2.5856444834127285e-5,7.787722099695875e-9,-0.0014464205463444633,2.5688537660867144e-5,7.672567457310853e-9,-0.0014459051593164764,2.5612502082256553e-5,7.624669465502379e-9,-0.0014453891705153014,2.5639343311066898e-5,7.651283894303304e-9,-0.0014449112632642608,2.5762226244715e-5,7.746636370364774e-9,-0.0014445057152640856,2.595501245227754e-5,7.891145026699935e-9,-0.0014441946694093064,2.6173960497131583e-5,8.052917461887092e-9,-0.0014439806475695987,2.636349963132186e-5,8.192048807278225e-9,-0.0014438411873451745,2.646690890427581e-5,8.268250609640819e-9,-0.0014437286296687954,2.6441511003512633e-5,8.251567637578792e-9,-0.001443578444853297,2.6275165731848128e-5,8.1339948899965e-9,-0.0014433273202660133,2.5997083928831833e-5,7.937096006765073e-9,-0.001442936409115405,2.567444219779277e-5,7.709508223593939e-9,-0.0014424086701659907,2.5391506100637698e-5,7.511889392046065e-9,-0.0014417892862947695,2.5219227646515815e-5,7.3950023164529674e-9,-0.001441147821285167,2.5191187270965408e-5,7.382424698161206e-9,-0.0014405525671188652,2.5297654232244746e-5,7.46642211059057e-9,-0.0014400506984845914,2.549697136888099e-5,7.616367322101587e-9,-0.0014396609875323325,2.573422047511667e-5,7.792362299919142e-9,-0.0014393770763216152,2.595731091946943e-5,7.956884889193762e-9,-0.0014391755390315833,2.6126299063856226e-5,8.081435414644157e-9,-0.0014390240648945822,2.621661961154909e-5,8.14872862017226e-9,-0.0014388876944924675,2.6218749094750767e-5,8.152319004850451e-9,-0.0014387330155882449,2.6136521805769236e-5,8.095315097039274e-9,-0.0014385310964584244,2.5985249879172986e-5,7.98902323659588e-9,-0.0014382599562942464,2.578984727441783e-5,7.851630723953415e-9,-0.001437907000473791,2.558258430097201e-5,7.706602007982529e-9,-0.0014374713475980292,2.539984818095332e-5,7.580298299298504e-9,-0.0014369654370357835,2.5277430919184726E-05,7.498481675769508e-9,-0.0014364149450387434,2.524445155724815e-5,7.481837634246073e-9,-0.0014358560907401488,2.531680732424275e-5,7.541239382042651e-9,-0.0014353299421923447,2.549174348391302e-5,7.67395063074306e-9,-0.0014348742608147498,2.5745447771436074e-5,7.862124322155557e-9,-0.0014345144552345818,2.6035180886781052e-5,8.074600559849243e-9,-0.0014342558619612528,2.6306381027453562e-5,8.272200047331242e-9,-0.001434079589311781,2.6503932782313694e-5,8.415841468953633e-9,-0.0014339437223416472,2.658569469617018e-5,8.476099349229682e-9,-0.0014337909162949274,2.653533090809111e-5,8.442148816768944e-9,-0.0014335620776601706,2.6370518693983798e-5,8.32738512813637e-9,-0.0014332136074441035,2.614232716045764e-5,8.16878953155742e-9,-0.0014327328436069065,2.592319956427502e-5,8.01823403658462e-9,-0.0014321447131647473,2.5785451237951414e-5,7.927095900408931e-9,-0.0014315049081303302,2.5778022969174607e-5,7.92972291182139e-9,-0.001430881462440153,2.591187567232032e-5,8.0331743458699e-9,-0.0014303331772278684,2.616035797685171e-5,8.217711692267238e-9,-0.0014298944934438224,2.6472481447071226e-5,8.446469961108673e-9,-0.0014295714210435305,2.6790920056085873e-5,8.67839265732808e-9,-0.0014293466416022695,2.706669905365202e-5,8.878682424407924e-9,-0.0014291886521796292,2.726698482237647e-5,9.024249768378522e-9,-0.0014290605250002484,2.7376714200605378e-5,9.104750656058354e-9,-0.0014289262535661926,2.7396668664601868e-5,9.121125674470142e-9,-0.0014287546376585928,2.734037378186705e-5,9.083361209742851e-9,-0.0014285215854872378,2.7231132652078738e-5,9.008387004102195e-9,-0.0014282118094740023,2.7099446056366132e-5,8.91824477219024e-9,-0.0014278205169719102,2.6980369162120895e-5,8.838165817857077e-9,-0.0014273551041353886,2.6910052790540644e-5,8.794014126806641e-9,-0.001426836217410468,2.692081607168585e-5,8.808668492982802e-9,-0.0014262969989791532,2.703467650249471e-5,8.897360695655925e-9,-0.0014257791653392638,2.7256366225002294e-5,9.062761040100194e-9,-0.0014253252294257476,2.7568169951920956e-5,9.291482753990074e-9,-0.0014249678412150235,2.7929586139618507e-5,9.554082763102208e-9,-0.001424719247272349,2.8283922152095817e-5,9.8099633515569e-9,-0.0014245649540888968,2.857138997614607e-5,1.0016784431585915e-8,-0.001424464819701088,2.874523105273305e-5,1.0141889729331605e-8,-0.0014243621807249333,2.8785614912595313e-5,1.0172034668321106e-8,-0.001424198594399113,2.8706550061364885e-5,1.0118076747905602e-8,-0.0014239298298215845,2.855338333973738e-5,1.0012952173362216e-8,-0.0014235384273948743,2.8391359153604704e-5,9.903332600293055e-9,-0.001423039068963574,2.8288237213866135e-5,9.837163726172813e-9,-0.0014224748046457894,2.8295862255426144e-5,9.850620457112531e-9,-0.0014219048911750486,2.8436423102220665e-5,9.95855573897215e-9,-0.0014213881167722824,2.8698019217145672e-5,1.0151643259449534e-8,-0.001420967450066756,2.9040746996965335e-5,1.0400951762124473e-8,-0.0014206611416994707,2.941022918094345e-5,1.066766982712532e-8,-0.001420462210050991,2.9752840746124096e-5,1.0913884054961945e-8,-0.0014203445464611544,3.0027360180390388e-5,1.111072374244291e-8,-0.0014202718523974758,3.0210625033603962e-5,1.1242230035220288e-8,-0.0014202059478694213,3.0297793467362173e-5,1.130543514634517e-8,-0.0014201126851082163,3.0299379741317255e-5,1.1308212546961511e-8,-0.001419965354967399,3.023722740125861e-5,1.126641797154726e-8,-0.0014197463754245395,3.0140745523510838e-5,1.1201222166966375e-8,-0.0014194482287997765,3.004374201377961e-5,1.1136832656018542e-8,-0.0014190743137684472,2.9981438465230445e-5,1.1098298258684281e-8,-0.001418639809555389,2.9986901963587264e-5,1.1108885328964141e-8,-0.001418171968272546,3.008617815680982e-5,1.1186579824169502e-8,-0.0014177085861886171,3.0291942135319834e-5,1.133964646008498e-8,-0.001417293059956346,3.05967206924271e-5,1.1562003200599675e-8,-0.0014169650708668305,3.0968510049347896e-5,1.1830355814926381e-8,-0.0014167481369272308,3.135278601208798e-5,1.210581797947972e-8,-0.0014166384270926171,3.168371673086619e-5,1.2341922339142801e-8,-0.001416601011852032,3.1903068064781095e-5,1.2497950944243014e-8,-0.001416577597530908,3.197990561297152e-5,1.2552765821321245e-8,-0.001416504023895075,3.192205189348772e-5,1.2512782170450044e-8,-0.0014163303334027324,3.177388113563488e-5,1.241023118085146e-8,-0.0014160352058320256,3.160197306166359e-5,1.2292773285630224e-8,-0.00141563020412267,3.147525183817631e-5,1.2209223647116733e-8,-0.001415154182806351,3.144686499940079e-5,1.219665427065755e-8,-0.0014146612944608804,3.1542588220823e-5,1.2272337128455885e-8,-0.0014142068212377667,3.17574992652059e-5,1.2431711044918489e-8,-0.0014138345495532411,3.206030619328251e-5,1.2651790954942593e-8,-0.0014135683760217552,3.240316711893786e-5,1.2898338055852669e-8,-0.0014134095167311366,3.273394154711765e-5,1.3134557510283644e-8,-0.0014133391618895421,3.300757270905415e-5,1.3329020931988017e-8,-0.0014133249690354472,3.31939594183018e-5,1.34610409333419e-8,-0.0014133289896605121,3.328119077205221e-5,1.3522794560786908e-8,-0.001413314822460721,3.3274656159752014e-5,1.3518607273504532e-8,-0.0014132527079583823,3.3193518643689525e-5,1.3462443644765452e-8,-0.0014131223461608018,3.3066195373724894e-5,1.3374722960227905e-8,-0.001412913992766144,3.292604615376844e-5,1.3279258055873786e-8,-0.0014126286522506636,3.2807704536436217e-5,1.3200599557144906e-8,-0.0014122779793304208,3.274378481004234e-5,1.3161617579820244e-8,-0.0014118840527596287,3.276134215889836e-5,1.318093997452497e-8,-0.0014114785988180107,3.287744387268909e-5,1.3269863918137662e-8,-0.0014111005438624472,3.309364278437632e-5,1.3428626290622916e-8,-0.0014107903444190032,3.339035361538781e-5,1.3642698341029341e-8,-0.0014105801213301545,3.372401496582465e-5,1.388102605623399e-8,-0.0014104809172316352,3.403140528598448e-5,1.4099169038639324e-8,-0.0014104721889999377,3.4244418459823575e-5,1.4249623837810556e-8,-0.0014105012730983308,3.431313016865975e-5,1.4297897851110098e-8,-0.0014104976530675871,3.4227232153276674e-5,1.4237483279052317e-8,-0.0014103978203613941,3.4023102917727105e-5,1.409478258989675e-8,-0.0014101683041605874,3.37710788967813e-5,1.3920030577394821e-8,-0.0014098152448564095,3.3549879175073367e-5,1.3769043937615413e-8,-0.0014093780596700428,3.342166325020871e-5,1.3685419104499984e-8,-0.0014089135400348065,3.341756238018929e-5,1.3690309226175862e-8,-0.0014084788334548454,3.3535493238112093e-5,1.37811189010826e-8,-0.0014081186845767038,3.374669781848928e-5,1.3936497322555077e-8,-0.0014078585339577186,3.400633332696204e-5,1.4124144409347155e-8,-0.0014077028508541673,3.42645878758073e-5,1.4308805334751806e-8,-0.0014076373664685578,3.4476340111075574e-5,1.4459025629545484e-8,-0.0014076339312917433,3.4608360343685586e-5,1.4552028310657353e-8,-0.0014076568208633863,3.464345854701809e-5,1.457641017245677e-8,-0.001407669277186434,3.458141606859998e-5,1.4532638817739162e-8,-0.0014076391876356137,3.443714237304597e-5,1.4431695615751243e-8,-0.0014075431589499628,3.42369134134312e-5,1.4292440206539112e-8,-0.0014073687088618709,3.401369363319955e-5,1.4138337135936162e-8,-0.0014071148025871514,3.380247774740365e-5,1.3994150056515684e-8,-0.0014067912957618034,3.363619137526845e-5,1.3882976655598566e-8,-0.001406417785833611,3.3542132876375727e-5,1.3823657520053249e-8,-0.0014060220696082155,3.3538605100390865e-5,1.3828389059174037e-8,-0.0014056380007306819,3.363132267047934e-5,1.3900311168766636e-8,-0.0014053019647113963,3.3809476163547754e-5,1.403098639393186e-8,-0.0014050467952829435,3.404235090138576e-5,1.4198316878603361e-8,-0.0014048925106380783,3.427900969237467e-5,1.4366522015636952e-8,-0.0014048352740607154,3.4454830578689884e-5,1.4490717899879615e-8,-0.0014048394576729162,3.450785686877302e-5,1.452817586539771e-8,-0.0014048405652307403,3.4402642110255266e-5,1.4454790297227312e-8,-0.001404764049178016,3.415061768516878e-5,1.4279243287251102e-8,-0.0014045544794032856,3.381223147440442e-5,1.4044512501709342e-8,-0.001404199019517501,3.34753415760048e-5,1.3812662721467575e-8,-0.0014037308928993113,3.322120032523223e-5,1.3640780805957817e-8,-0.0014032126628860826,3.309751484531842e-5,1.3561886833224022e-8,-0.0014027118105852483,3.311012467826726e-5,1.3579138976547671e-8,-0.0014022815504324637,3.3230920394382554e-5,1.3671690150678322e-8,-0.0014019518800177807,3.341272421638346e-5,1.3805518700988216e-8,-0.0014017290980962978,3.360354473780993e-5,1.3943711301648619e-8,-0.0014016000243125806,3.375694744860536e-5,1.4053807349603574e-8,-0.001401537920759662,3.383830386691697e-5,1.4112051071441454e-8,-0.001401508516602354,3.38278961316903e-5,1.4105333153706423e-8,-0.0014014756088146735,3.372177220527613e-5,1.4031568509718768e-8,-0.0014014060660440912,3.353076489929489e-5,1.3898885331730495e-8,-0.0014012739860668733,3.327793091957308e-5,1.3723815329935129e-8,-0.0014010636973225197,3.2994742987017955e-5,1.3528667448275764e-8,-0.0014007713279077503,3.271646976821572e-5,1.3338315101143095e-8,-0.0014004048383781237,3.247734073521475e-5,1.3176767910392181e-8,-0.001399982720160362,3.230609707347399e-5,1.3063963984102755e-8,-0.0013995317115542282,3.222223618554686e-5,1.3013065431940527e-8,-0.0013990837824146862,3.223298100013896e-5,1.3028362806501945e-8,-0.0013986724408224693,3.2330914871978444e-5,1.310378977963939e-8,-0.0013983280897938944,3.249234472603756e-5,1.3222059543851011e-8,-0.0013980719157413676,3.26771022098923e-5,1.3354806377875613e-8,-0.001397908301055983,3.2831582187595467E-05,1.3464847011626819e-8,-0.001397817347062273,3.289747667782527e-5,1.3512189019105797e-8,-0.001397751512132713,3.28277047548693e-5,1.3464871106866769e-8,-0.0013976423203658295,3.260691801970788e-5,1.3312974762696126e-8,-0.0013974208313565252,3.2266892279175194e-5,1.3079220779759064e-8,-0.0013970462170215551,3.188350281420138e-5,1.2816866134850941e-8,-0.001396526429072313,3.15504266134185e-5,1.2591347003175733e-8,-0.0013959162362914407,3.134208482490942e-5,1.2454319312828303e-8,-0.0013952934212709952,3.12876940613365e-5,1.2425488800691024e-8,-0.0013947290248052181,3.1368994960239776e-5,1.2491155941132685e-8,-0.0013942677926455445,3.153656609401135e-5,1.2615901943459306e-8,-0.001393923604268954,3.173094679442987e-5,1.2757639356311874e-8,-0.0013936850245932673,3.189863660685751e-5,1.287894027262053e-8,-0.0013935243292366379,3.20005016684368e-5,1.295286703830315e-8,-0.0013934059148908537,3.2014351751696166e-5,1.2964583482053157e-8,-0.0013932926868055352,3.193431439306784e-5,1.29106853876459e-8,-0.0013931506171936453,3.176890244780789e-5,1.279767711238989e-8,-0.0013929521622677431,3.153852371658084e-5,1.2640170940633758e-8,-0.0013926789463034916,3.1272453315631026e-5,1.2458806214965603e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_4.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_4.json
deleted file mode 100644
index 7170bac..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_4.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":4000,"numberOfSamples":1000,"samples":[-0.0013923237156324762,3.10051313115372e-5,1.227772476593132e-8,-0.0013918913030339685,3.0771749723490945e-5,1.2121506307793586e-8,-0.0013913982265213998,3.060338976954708e-5,1.2011722091998317e-8,-0.0013908707040811456,3.052231698115309e-5,1.1963565646016446e-8,-0.001390341194667023,3.053811122326968e-5,1.198311590315129e-8,-0.0013898437960375297,3.064516965374932e-5,1.206567850949141e-8,-0.0013894089283486013,3.0821985171837794e-5,1.219550046257788e-8,-0.0013890577325521491,3.103246124664618e-5,1.234697235237071e-8,-0.001388796542557306,3.12295787680487e-5,1.2487412403812631e-8,-0.0013886120720738905,3.136210718279558e-5,1.2581786671309725e-8,-0.0013884688947041909,3.1385084006792996e-5,1.2599819994917749e-8,-0.0013883119458332274,3.127360474065753e-5,1.2525244839418013e-8,-0.0013880771300425396,3.103666131759266e-5,1.2365079707027838e-8,-0.0013877108551321243,3.072388276790292e-5,1.2154123117817592e-8,-0.0013871929430152989,3.0416606360292832e-5,1.1948741207200948e-8,-0.001386550391714903,3.0201205713724095e-5,1.1808429582903155e-8,-0.0013858506737383077,3.01357997768827e-5,1.1772803776767341e-8,-0.0013851759104291312,3.0229273883448915e-5,1.1847175892297428e-8,-0.001384592881220668,3.0443874540562336e-5,1.2004550146250928e-8,-0.0013841349373795028,3.0716035009628255e-5,1.2200281016361826e-8,-0.0013838008265632472,3.098058540822912e-5,1.2389009867920565e-8,-0.0013835645353088798,3.118712181259742e-5,1.2536034707260684e-8,-0.0013833877106148682,3.130621279611001e-5,1.2621499602221395e-8,-0.0013832296076505604,3.132862793970199e-5,1.2639667607070031e-8,-0.0013830533398082588,3.12615629520694e-5,1.2596119024238894e-8,-0.0013828292717648978,3.1124447793189026e-5,1.2504739208443173e-8,-0.001382536894290198,3.094526718665489e-5,1.238515875044467e-8,-0.001382166093661862,3.0757242436986546e-5,1.2260502826500002e-8,-0.0013817180828804721,3.059536687843876e-5,1.2155030689028627e-8,-0.0013812057662645032,3.0492356610198686e-5,1.2091316281131741e-8,-0.001380652965115511,3.0473944416237442e-5,1.2086924984252354e-8,-0.0013800918794172976,3.055405387965315e-5,1.2151015510603047e-8,-0.0013795585330693598,3.073089776278415e-5,1.2281664264941277e-8,-0.0013790865545975047,3.098519781713838e-5,1.2464780864846123e-8,-0.0013787002512115332,3.128152698517288e-5,1.2675280274755086e-8,-0.0013784083744284533,3.1573186320784075e-5,1.2880703491497357e-8,-0.0013782000273174174,3.181021399913377e-5,1.3046891803617532e-8,-0.0013780438976636682,3.19495350745652e-5,1.3144947940134446E-08,-0.0013778917807731484,3.1965865743675875e-5,1.3158522917130986e-8,-0.0013776871187557247,3.186125601721507e-5,1.3090054814128084e-8,-0.0013773784345414448,3.167005542915762e-5,1.2963872114938864e-8,-0.0013769355296510653,3.145540027821075e-5,1.2823586040322064e-8,-0.0013763632310821636,3.129451925350386e-5,1.2721957602677264e-8,-0.0013757051938257864,3.12548297658547e-5,1.2704580862237566e-8,-0.0013750325167593762,3.136980980661643e-5,1.2793513871866098e-8,-0.0013744200205683455,3.162705495398507e-5,1.297932656913296e-8,-0.001373921486003332,3.197529339541822e-5,1.3226141868971426e-8,-0.0013735559011152846,3.2345581764334165e-5,1.348632479099502e-8,-0.001373308834962327,3.267443076739067e-5,1.371638565723486e-8,-0.0013731440063741707,3.2918760928589506e-5,1.3887174851188765e-8,-0.0013730169969555664,3.306017025212218e-5,1.3986670884338575e-8,-0.001372885707505598,3.310177282032628e-5,1.4017645484980559e-8,-0.0013727161916267327,3.3062157152929236e-5,1.3993385650784678e-8,-0.0013724849650755444,3.2969528124314865e-5,1.3933613214447525e-8,-0.0013721795043743403,3.2857132549704686e-5,1.3861350571725312e-8,-0.001371798199420233,3.275975393211377e-5,1.3800541749182052e-8,-0.001371350267391638,3.2710546394120883e-5,1.3773879566233536e-8,-0.0013708554660210265,3.273748651144435e-5,1.3800332746004124e-8,-0.0013703429392595617,3.285908614832062e-5,1.3892159705457934e-8,-0.0013698482842253537,3.3079732505826116e-5,1.4051723281032588e-8,-0.0013694081789119867,3.33859216188847e-5,1.4269017354682299e-8,-0.0013690527752354515,3.3745292715916165e-5,1.4521206280880815e-8,-0.0013687973523058758,3.411026251376824e-5,1.4775341685527618e-8,-0.001368635864809167,3.442685430142285e-5,1.4994571911094206e-8,-0.001368539190809793,3.464725058126877e-5,1.5146764379461272e-8,-0.0013684596653155585,3.474271507765218e-5,1.5213225547749854e-8,-0.001368341412275528,3.471292842213015e-5,1.519483961915156e-8,-0.0013681340963783179,3.458864103148684e-5,1.5113572919781048e-8,-0.001367806641243441,3.442624486265195e-5,1.50084742827696e-8,-0.0013673571913396174,3.429481060775766e-5,1.492663952720893e-8,-0.0013668159712882611,3.425816744323766e-5,1.4910976651613327e-8,-0.0013662389537410337,3.4356679623137404e-5,1.4987969233571176e-8,-0.0013656929127156684,3.45948313307106e-5,1.5159539607809455e-8,-0.0013652362239514341,3.493996318255312e-5,1.540252269790559e-8,-0.0013649025854399397,3.533339206451559e-5,1.5676457844807535e-8,-0.001364694017006319,3.5709311516460834e-5,1.5936510012581336e-8,-0.0013645848390629765,3.6013317990182196e-5,1.6146000719145376e-8,-0.001364533006244744,3.6213785847992433e-5,1.6284003030435945e-8,-0.0013644928514191061,3.630413358810897e-5,1.6346724249025713e-8,-0.0013644247321696538,3.629841553527456e-5,1.6344369702902035e-8,-0.0013643001276189908,3.622421100892573e-5,1.6296216699097295e-8,-0.0013641030557909385,3.611585301733881e-5,1.6225972675099123e-8,-0.001363829489218644,3.6009284510185593e-5,1.6158272516967093e-8,-0.0013634861732545276,3.59384398039273e-5,1.6116209694143087e-8,-0.0013630895393642458,3.593237657339973e-5,1.6119355456194334e-8,-0.0013626646638417342,3.601230966247092e-5,1.618170797397962e-8,-0.001362243629102119,3.61880268938273e-5,1.6309266089582144e-8,-0.0013618622841067652,3.64538655276576e-5,1.6497393820657673e-8,-0.0013615544772974737,3.6785502430891855e-5,1.6728827194428735e-8,-0.0013613437161679772,3.713991173468955e-5,1.697386187057922e-8,-0.001361234021080087,3.746108911824493e-5,1.719439828116546e-8,-0.0013612037638524796,3.7692536866159856e-5,1.7352457140518053e-8,-0.001361206847971344,3.779396838960132e-5,1.742144636974678e-8,-0.0013611832374142226,3.7756031020244054e-5,1.7396011201743785e-8,-0.001361076191644119,3.7606086154550635e-5,1.7295762883204998e-8,-0.0013608496577971183,3.7401677631123275e-5,1.716059227166306e-8,-0.0013604990488915285,3.721408821670011e-5,1.7039232838343093e-8,-0.0013600520125571307,3.710835900255645e-5,1.697551683056106e-8,-0.0013595600099726545,3.712640498271043e-5,1.699695432191236e-8,-0.0013590841935409244,3.727760024130748e-5,1.71086275657347e-8,-0.001358679890204125,3.7538440708709115e-5,1.7293378278633092e-8,-0.00135838372132039,3.7860514706880266e-5,1.7517577456580113e-8,-0.0013582064390924846,3.818407848658802e-5,1.7740504047095585e-8,-0.0013581329272131877,3.845318903981301e-5,1.7924558906917483e-8,-0.0013581286541984837,3.862806850028087e-5,1.804345582610699e-8,-0.0013581498661130592,3.869159882723496e-5,1.8086397228283904e-8,-0.0013581539476281528,3.8649261142348775e-5,1.8057850041261867e-8,-0.0013581071226586598,3.8524189345567815e-5,1.7974088393725628e-8,-0.0013579883897526658,3.835008509330396e-5,1.7858356144320932e-8,-0.00135779018044884,3.8164384929534315e-5,1.7736239335068338e-8,-0.001357517027048097,3.800295694389865e-5,1.7632074255281237e-8,-0.0013571835099064594,3.789645286761099e-5,1.7566453802397066e-8,-0.0013568122323385436,3.786770844912354e-5,1.7554432313878906e-8,-0.0013564319146861178,3.792940545542113e-5,1.760394100218013e-8,-0.0013560751230173448,3.808144637277682e-5,1.771409396726125e-8,-0.001355774723096159,3.830809315615486e-5,1.7873437098055103e-8,-0.0013555581129589143,3.85759738967685e-5,1.805883775217439e-8,-0.0013554390847187276,3.883530834118127e-5,1.8236503204011578e-8,-0.001355409076240439,3.9027250633763036e-5,1.836699003058032e-8,-0.0013554321238842734,3.909874292882928e-5,1.8415131641263553e-8,-0.0013554490528045462,3.90218298649933e-5,1.836291168093209e-8,-0.0013553934777036426,3.88088274293409e-5,1.8219570358978306e-8,-0.0013552148739573212,3.8513364752411945e-5,1.8022193158569097e-8,-0.0013548976458011926,3.821394753241361e-5,1.7824422483376295e-8,-0.0013544662886432806,3.7987376502045904e-5,1.767824374087245e-8,-0.001353975167144596,3.788495877740173e-5,1.7617747380746665e-8,-0.0013534897169433626,3.792082265498023e-5,1.765132964873523e-8,-0.0013530679623867672,3.807359000944715e-5,1.776318309780284e-8,-0.0013527479846985185,3.82970266342332e-5,1.7920945154219862e-8,-0.0013525427737545379,3.8534126622979775e-5,1.8085549434599747e-8,-0.0013524413684721215,3.8730475725509086e-5,1.8220348872787433e-8,-0.0013524143580498815,3.8844550459139665e-5,1.829793515757917e-8,-0.0013524218120327396,3.885388259987187e-5,1.830403299861606e-8,-0.0013524218425320289,3.8756778190668846e-5,1.8238389323156565e-8,-0.0013523781464381873,3.857000249417001e-5,1.8113029207340084e-8,-0.0013522652859119853,3.832360437107422e-5,1.7948697828581297e-8,-0.0013520711816035556,3.805446144349454e-5,1.7770522740602527e-8,-0.0013517970474576544,3.7800026057570636e-5,1.760383303417335e-8,-0.0013514555502732262,3.759328234789039e-5,1.7470765883749638e-8,-0.0013510681406707162,3.745922197053802e-5,1.7387859156658665e-8,-0.0013506622145259056,3.741251692416933e-5,1.7364450412879974e-8,-0.0013502682953014952,3.7455843878886433e-5,1.7401577299135237e-8,-0.0013499170098815133,3.757843888576176e-5,1.749114206947162e-8,-0.0013496352319221148,3.775487577483726e-5,1.7615323797154796e-8,-0.001349440649488639,3.794495617766193e-5,1.7746750386563e-8,-0.0013493347424008647,3.809671819615431e-5,1.7850659872577422e-8,-0.001349295890582923,3.8155046902679206e-5,1.7890635669466993e-8,-0.0013492766959825838,3.807708327935155e-5,1.783874654599152e-8,-0.0013492110735612106,3.785133903622449e-5,1.768815260529381e-8,-0.001349033855976422,3.751108479626499e-5,1.7461969909133265e-8,-0.0013487069795288752,3.71303580506857e-5,1.7210535401503925e-8,-0.0013482379377772538,3.67993136705882e-5,1.6994726215196717e-8,-0.001347678208637462,3.659042766946213e-5,1.6863046213677397e-8,-0.0013471024913643088,3.6534216931232214e-5,1.6835204236635903e-8,-0.0013465817610538201,3.661531138061667e-5,1.6899639174625656e-8,-0.0013461637307948591,3.67855921967629e-5,1.702274689456107e-8,-0.0013458659040266978,3.698362593147122e-5,1.716236688366139e-8,-0.0013456786096961092,3.715150481672573e-5,1.7279353443021854e-8,-0.0013455729607305563,3.7245547989349e-5,1.7344764650321256e-8,-0.0013455098437546319,3.724113849988471e-5,1.7342896275356996e-8,-0.0013454479816408654,3.713333537401668e-5,1.7271384802952297e-8,-0.0013453504339775678,3.693472237791048e-5,1.7139497446621565e-8,-0.0013451893773290563,3.66714125531848e-5,1.69653115025737e-8,-0.001344949053305138,3.6377906041960216e-5,1.677225728879621e-8,-0.0013446268270830342,3.6091487557028635e-5,1.658542561013439e-8,-0.0013442324429496473,3.584683872566402e-5,1.642801203779135e-8,-0.0013437858000863968,3.567151610583387e-5,1.6318286339007397e-8,-0.0013433138090793446,3.5582718952246464e-5,1.6267381969080993e-8,-0.0013428468552322854,3.5585336135370534e-5,1.6277959343087233e-8,-0.0013424151246411572,3.567102736278635e-5,1.6343650045473796e-8,-0.0013420448217986622,3.581815905326798e-5,1.6449191850671144e-8,-0.0013417540843769415,3.5992621037087415e-5,1.6571231526067074e-8,-0.0013415482762467888,3.6150103914661236e-5,1.6680073457991738e-8,-0.0013414149103668283,3.624123041516313e-5,1.6743183400191018e-8,-0.0013413198868642417,3.622112481074397e-5,1.6731446982117347e-8,-0.00134120845189209,3.606369069563323e-5,1.662842184473864e-8,-0.0013410151654745213,3.577732086480887e-5,1.644054815603201e-8,-0.0013406846000409867,3.5413460407537786e-5,1.6202722853245097e-8,-0.0013401964609990825,3.505743910760731e-5,1.597215167212452e-8,-0.001339580425708274,3.479926151774641e-5,1.5808809507200667e-8,-0.0013389081886428587,3.4697739505285814e-5,1.5751417893888703e-8,-0.0013382653066040724,3.475913717423584e-5,1.5803205836748927e-8,-0.0013377198411129057,3.494136132320177e-5,1.593492656261746e-8,-0.0013373043650111932,3.517656334298736e-5,1.610030358752367e-8,-0.001337015439682562,3.5396327466275055e-5,1.6253166407767607e-8,-0.0013368239990238355,3.5548502293726705e-5,1.6358821610884963e-8,-0.0013366882809558854,3.560374914900627e-5,1.639832805964985e-8,-0.001336564467218173,3.55549452941308e-5,1.636783817572624e-8,-0.001336413776905145,3.541320348266067e-5,1.627564290331889e-8,-0.0013362066349266496,3.520293709170862e-5,1.6138666700184393e-8,-0.0013359249232274644,3.4956909941254224e-5,1.5979096337218204e-8,-0.001335562924155841,3.4711420854670354e-5,1.582122151313896e-8,-0.0013351271377057652,3.4501629448674695e-5,1.568840971408109e-8,-0.0013346349529169633,3.435711455278746e-5,1.5600199028356044e-8,-0.0013341121333342526,3.429797828590833e-5,1.5569686455152157e-8,-0.0013335892705868344,3.433199575848479e-5,1.5601580165570786e-8,-0.0013330975858291425,3.4453164621146024e-5,1.5691228226897585e-8,-0.0013326644706178011,3.464175000353744e-5,1.5824749599259128e-8,-0.0013323090899715643,3.4865868704546576e-5,1.5980301002253026e-8,-0.001332038338966892,3.508467362609938e-5,1.6130447896255385e-8,-0.0013318434113794785,3.525330077002587e-5,1.6245627748951825e-8,-0.0013316975322695253,3.5330051294305984e-5,1.629891139049964e-8,-0.001331556286785722,3.528619312938393e-5,1.6272293810409786e-8,-0.0013313628892067757,3.5117465072944155e-5,1.6163989779264318e-8,-0.0013310606240185723,3.485372509921916e-5,1.5994525193249938e-8,-0.001330612092239529,3.4560074860567006e-5,1.5807325007709106e-8,-0.0013300188819388664,3.432251695865668e-5,1.5659203035008636e-8,-0.0013293294672254824,3.4218415257834896e-5,1.5600856484188996e-8,-0.0013286258106659328,3.4284781738908746e-5,1.565595284409048e-8,-0.0013279927272366466,3.45034557497139e-5,1.5811466092247673e-8,-0.001327487245815521,3.481218305757908e-5,1.6025241776050835e-8,-0.0013271243297834456,3.5132573390047304e-5,1.6244759544611692e-8,-0.0013268819281744182,3.539726971412401e-5,1.6425301589944376e-8,-0.0013267165573191055,3.556482846968116e-5,1.6539830337867083e-8,-0.0013265791200544272,3.5621827657685704e-5,1.65802341767557e-8,-0.0013264257556151145,3.5577571686315266e-5,1.6553560503722946e-8,-0.0013262233226004878,3.5456646993180176e-5,1.6476832678516347e-8,-0.0013259512363842734,3.529220284957108e-5,1.637245418374682e-8,-0.001325601512184336,3.512067149730725e-5,1.626470172512635e-8,-0.0013251780734556981,3.497753493359976e-5,1.6177001160356565e-8,-0.0013246955832461917,3.4893601735033355e-5,1.6129548566876927e-8,-0.0013241776457557696,3.48914999010468e-5,1.6137021291032074e-8,-0.001323654076904617,3.4982458503977466e-5,1.6206426975212878e-8,-0.001323157041794967,3.5163901163299414e-5,1.633548781930137e-8,-0.0013227162371304468,3.5418581049974166e-5,1.651211397605036e-8,-0.001322353687199993,3.571581068946272e-5,1.6715367990939248e-8,-0.0013220789387146789,3.601504810064792e-5,1.6918061706656873e-8,-0.0013218855424575772,3.627176280866538e-5,1.7090842854582353e-8,-0.0013217496703317407,3.644508967537851e-5,1.720733490398808e-8,-0.0013216315923340778,3.65064979819164e-5,1.7249749168249524e-8,-0.0013214807524120568,3.644842841848515e-5,1.7214291107647377e-8,-0.0013212451222116156,3.6291038759722376e-5,1.711523751546295e-8,-0.0013208846495029996,3.60839095678969e-5,1.6985751198887913e-8,-0.0013203863550454039,3.5898854230369885e-5,1.6873006904681262e-8,-0.0013197752519399667,3.581166273538234e-5,1.682623169287687e-8,-0.0013191132255276836,3.587626651540886e-5,1.6879911863534467e-8,-0.0013184815790603076,3.610241659999537e-5,1.7039381967031404e-8,-0.0013179528033887597,3.645020189165614e-5,1.7277474450637978e-8,-0.0013175658344386403,3.684610326885073e-5,1.7545256584706124e-8,-0.0013173174371027003,3.721139594219093e-5,1.7790800848516823e-8,-0.0013171711591591722,3.7487162393554715e-5,1.797564920289059e-8,-0.0013170751083556422,3.764583818573417e-5,1.8082333520008842e-8,-0.0013169783809209286,3.768958704883004e-5,1.8113134460390254e-8,-0.001316841058972772,3.764169488899078e-5,1.8084193168326844e-8,-0.001316637900558923,3.7536910324560003e-5,1.8018963620713753e-8,-0.0013163581227781179,3.74137736701684e-5,1.7943079177386814e-8,-0.0013160036253867771,3.730942928907114e-5,1.7880963442603383e-8,-0.0013155869869080489,3.725613444561233e-5,1.7853614375631473e-8,-0.0013151295414577234,3.7278505354125304e-5,1.787686235519351e-8,-0.0013146592408699255,3.7390914042800114e-5,1.7959684433815758e-8,-0.0013142077768859126,3.759497729467439e-5,1.8102557862085905e-8,-0.0013138065061219567,3.787768395385184e-5,1.829626511989185e-8,-0.0013134811566555547,3.821118959139425e-5,1.852186865762894e-8,-0.0013132460042088404,3.855535190871637e-5,1.8752556581883928e-8,-0.0013130988888896927,3.886358760935178e-5,1.895768052314085e-8,-0.0013130187880983333,3.9091668685304416e-5,1.9108648012779857e-8,-0.0013129673945528086,3.920788927157972e-5,1.9185567048502283e-8,-0.001312895240496861,3.920217618512819e-5,1.918302681873874e-8,-0.001312751730863596,3.9091588709663886e-5,1.911338071545348e-8,-0.0013124973851131767,3.892009752658912e-5,1.9006243630838438e-8,-0.0013121156803837925,3.875132474201483e-5,1.8903462645629538e-8,-0.0013116210944716046,3.865427657691962e-5,1.884969011796569e-8,-0.0013110596023093825,3.868436788208665e-5,1.8880112079492577e-8,-0.0013104989534392041,3.8865074759319735e-5,1.9008779400316116e-8,-0.0013100096397849926,3.917783531577995e-5,1.9222392671536106e-8,-0.001309642829716195,3.9566441267412706e-5,1.9483464693369486e-8,-0.0013094148936341004,3.995569860122959e-5,1.974262974906959e-8,-0.0013093055437344233,4.027611457180882e-5,1.9954738594955732e-8,-0.001309269039156997,4.048329051082387e-5,2.0091415425642147e-8,-0.0013092512762208149,4.0565121305456764e-5,2.0145608286767512e-8,-0.001309204630257768,4.053753924890765e-5,2.012862157893427e-8,-0.0013090962818779034,4.043433842048082e-5,2.0063277178960123e-8,-0.0013089102465701447,4.029664197237238e-5,1.997689758602726e-8,-0.0013086455823332675,4.0164989376255385e-5,1.9896096938048397e-8,-0.0013083132488531785,4.0074480065967925e-5,1.984365052124649e-8,-0.0013079330725531747,4.005204604799757e-5,1.9836785608003348e-8,-0.0013075312073712847,4.011466197911539e-5,1.9886069633644747e-8,-0.001307137746835643,4.026767679567208e-5,1.9994358344677895e-8,-0.0013067837953618638,4.0503094151805196e-5,2.01557240211866e-8,-0.001306497350497541,4.079836018355392e-5,2.0354765247593485e-8,-0.0013062978171497592,4.111688713507512e-5,2.0567103458832157e-8,-0.0013061898867567608,4.141184316071489e-5,2.076202115095573e-8,-0.0013061586859034154,4.163420723263055e-5,2.0907824211338083e-8,-0.001306168888940125,4.174442656977121e-5,2.097944515467198e-8,-0.0013061699709006594,4.1724685296821706e-5,2.0966324787464215e-8,-0.0013061076049721034,4.1587191985985025e-5,2.0877595932876798e-8,-0.0013059383156452651,4.137443165518275e-5,2.0741958445759947e-8,-0.0013056425938951044,4.115010375057371e-5,2.060146632532868e-8,-0.0013052319085176942,4.098302152604378e-5,2.0500810520890916e-8,-0.001304747148248314,4.092874780265062e-5,2.0475326047336553e-8,-0.0013042487662768554,4.101434730128175e-5,2.0541288681716853e-8,-0.0013038012226081626,4.1230688242288156e-5,2.0691321547541416e-8,-0.0013034559571685768,4.153480564579156e-5,2.0896370294196396e-8,-0.0013032379646765557,4.186207205593781e-5,2.111390047210881e-8,-0.0013031404096450596,4.214456168589532e-5,2.1299885763046148e-8,-0.0013031290193728036,4.232935992827865e-5,2.1420571741681682e-8,-0.0013031540596875038,4.23905340975399e-5,2.1460031357444974e-8,-0.0013031647722243158,4.233156537247573e-5,2.1421513055924925e-8,-0.0013031210288061141,4.217942322107834e-5,2.132339132411696e-8,-0.0013029993698451085,4.19743987627646e-5,2.1192421768565933e-8,-0.0013027936105723457,4.175999540557228e-5,2.1057114924379603e-8,-0.0013025120277159838,4.157542941681899e-5,2.094288448231488e-8,-0.0013021733414850117,4.145125605159004e-5,2.0869268627645957e-8,-0.001301802931785606,4.1407329810052036e-5,2.08486684580033e-8,-0.0013014297605223135,4.1451908374797514e-5,2.0885812894513818e-8,-0.001301083724057496,4.158098532303902e-5,2.097737756976615e-8,-0.0013007927456693646,4.177756479690925e-5,2.1111607157953057e-8,-0.0013005788777021498,4.201134797256275e-5,2.126826146359011e-8,-0.0013004531008736547,4.224008178027535e-5,2.1419659516259312e-8,-0.0013004095063849311,4.241435176037529e-5,2.1533904163364884e-8,-0.001300421059288809,4.248719684661846e-5,2.1581120022324038e-8,-0.0013004404355749176,4.2427837091928494e-5,2.154224223145945e-8,-0.0013004089398097013,4.223528221728633e-5,2.1417667998620045e-8,-0.001300273032166463,4.194483810430357e-5,2.1231287584532605e-8,-0.0013000028044365167,4.162178844603964e-5,2.1026176296912758e-8,-0.0012996038559836165,4.13426408192214e-5,2.0852193780685487e-8,-0.0012991166051237216,4.117141562699113e-5,2.075042537733095e-8,-0.0012986036072820868,4.11409724530234e-5,2.0741091404972655e-8,-0.00129813093698426,4.1245817779201306e-5,2.0819172199719124e-8,-0.0012977508063343123,4.144686388868798e-5,2.095795336418839e-8,-0.001297490230837804,4.168441992169005e-5,2.1117875653405696e-8,-0.0012973474395914163,4.1894427134593377e-5,2.1257279803455193e-8,-0.001297295439153459,4.2023506126082147e-5,2.1342116234441085e-8,-0.001297290782074011,4.2039616230905444e-5,2.135260920238544e-8,-0.0012972848326498105,4.193654440887813e-5,2.1285844007437435e-8,-0.0012972345579685953,4.173200901824314e-5,2.1154255926592056e-8,-0.0012971103085002236,4.146082617494708e-5,2.0981029477300475e-8,-0.0012968992859630204,4.116578087591e-5,2.0794135694006106e-8,-0.0012966049398672192,4.0888917956883526e-5,2.062073980233298e-8,-0.0012962436295018886,4.066503581169255e-5,2.048307865442981e-8,-0.0012958401889284622,4.051793533458231e-5,2.039611146731544e-8,-0.0012954236654983476,4.045897416475759e-5,2.036662737785466e-8,-0.001295023782419015,4.0486965044612695e-5,2.039320583348045e-8,-0.0012946679941183582,4.058855472756083e-5,2.04665171281949e-8,-0.001294378612670228,4.0738730472340536e-5,2.056977240662803e-8,-0.0012941693814056939,4.0901748941956324e-5,2.0679500965812705e-8,-0.0012940411451917645,4.1033526442706687e-5,2.0767257575044023e-8,-0.0012939771911233996,4.108715604463087e-5,2.0803239961642293e-8,-0.0012939403977219072,4.102298074380838e-5,2.0762689854466084e-8,-0.0012938758566673656,4.082263405184535e-5,2.0634736809638925e-8,-0.0012937224662835883,4.050242606522025e-5,2.04308134609819e-8,-0.0012934330065076513,4.0117530900919203e-5,2.0187204767311665e-8,-0.00129299496709262,3.974958987689844e-5,1.995693470396842e-8,-0.0012924399284722028,3.947942732467301e-5,1.97920270271869e-8,-0.0012918341252307118,3.935776650460108e-5,1.9724509449887175e-8,-0.0012912547182092019,3.938930857514804e-5,1.97562193674393e-8,-0.001290764690673244,3.9536318616132314E-05,1.9861433777957795e-8,-0.0012903973760540492,3.973598386964465e-5,1.999850762256767e-8,-0.001290153512484858,3.992107605315687e-5,2.0123564778314824e-8,-0.0012900074223779303,4.003630507822636e-5,2.0201177921784495e-8,-0.0012899173653183767,4.0047651738485965e-5,2.0210256251888748e-8,-0.001289836338458807,3.9945200597234635e-5,2.0145554957262593e-8,-0.0012897212998023743,3.9741174964429464E-05,2.0016045030261284e-8,-0.0012895399514628268,3.946480109359224e-5,1.984132894245313e-8,-0.001289274703109967,3.915530609271689e-5,1.9647018285539673e-8,-0.0012889236983102278,3.885435148165427e-5,1.9459904493796818e-8,-0.0012884992067051736,3.8599204907948656e-5,1.9303690980758627e-8,-0.0012880241094008248,3.841760919532316e-5,1.919581678542283e-8,-0.0012875274288492854,3.832480054634275e-5,1.9145604099175267e-8,-0.0012870398381923532,3.8322598965528926e-5,1.9153682307136752e-8,-0.001286589752637628,3.840001624621069e-5,1.921238243257403e-8,-0.001286200095515784,3.853470660398659e-5,1.9306731004946026e-8,-0.0012858854886256378,3.86948874374072e-5,1.9415831342562718e-8,-0.001285649499877651,3.8841815281819475e-5,1.9514646939711093e-8,-0.0012854817125208561,3.893347048250045e-5,1.9576511347082232e-8,-0.0012853550995704204,3.893063802338816e-5,1.957702413451274e-8,-0.0012852255062502298,3.880636244566652e-5,1.9499927026725242e-8,-0.0012850362965845573,3.855807120421911e-5,1.9344575221523857e-8,-0.0012847311762881526,3.821819412132976e-5,1.9132471126811794e-8,-0.0012842747415224602,3.785512960173213e-5,1.8907745295762985e-8,-0.0012836727720354248,3.755682902569352e-5,1.8726620068053298e-8,-0.0012829784848701268,3.739895052372073e-5,1.863702330001396e-8,-0.0012822761530718633,3.7413406126274804e-5,1.86584821716486e-8,-0.0012816490975353263,3.7576622715437714e-5,1.8774747376732938e-8,-0.0012811506382189232,3.782352818577273e-5,1.8943030423325083e-8,-0.001280792436308164,3.8075703038799706e-5,1.9112370169816575e-8,-0.0012805506354879592,3.8266803390174146e-5,1.924016463208864e-8,-0.001280380738437669,3.835616719714332e-5,1.9300925603521577e-8,-0.0012802324630361284,3.833113206068958e-5,1.9287565495948508e-8,-0.0012800605197691444,3.820264194508425e-5,1.920823586964087e-8,-0.0012798308757682997,3.799830026151315e-5,1.9081529959526996e-8,-0.001279523586304221,3.775524645033635e-5,1.8931707405877297e-8,-0.0012791333774328948,3.751366233471992e-5,1.8784512978711527e-8,-0.0012786686262423056,3.731102412992637e-5,1.866362274807214e-8,-0.001278148993439162,3.717726455085912e-5,1.858772206348688e-8,-0.001277601942460214,3.7131143654458575e-5,1.8568311190285354e-8,-0.001277058498171101,3.717813474632904e-5,1.860839408251708e-8,-0.0012765487555219646,3.7310038774287194e-5,1.8702216632045073e-8,-0.0012760977084929888,3.750624505138479e-5,1.8836075192321827e-8,-0.0012757217769639956,3.773626898786361e-5,1.8990020553034313e-8,-0.0012754261510291623,3.796321117292025e-5,1.9140234836138346e-8,-0.0012752029370164196,3.814797161205375e-5,1.92619071682081e-8,-0.0012750300928311285,3.825433491231409e-5,1.9332571089335484e-8,-0.0012748715426223701,3.825537269909844e-5,1.933609650898041e-8,-0.0012746797344262949,3.814138317428424e-5,1.926746861138821e-8,-0.0012744025805871105,3.7928235466975745e-5,1.9137729803848053e-8,-0.0012739963106319753,3.76626292022581e-5,1.897701998328715e-8,-0.0012734431088101711,3.741827327675125e-5,1.8832033009774208e-8,-0.0012727667106644165,3.7277449564075795e-5,1.875439150470419e-8,-0.0012720341118107905,3.730026444876515e-5,1.8781318347441222e-8,-0.0012713356167803904,3.749648014380484e-5,1.8917966913490027e-8,-0.0012707503868975216,3.7818967997163176e-5,1.913345694695096e-8,-0.0012703173742792029,3.818460780063819e-5,1.937431495323869e-8,-0.0012700276843224567,3.850870965846999e-5,1.958648929745315e-8,-0.0012698377681131297,3.873234768920965e-5,1.9732821725893906e-8,-0.0012696906468235986,3.883226562099348e-5,1.9799315570624595e-8,-0.0012695333572401244,3.881646913695297e-5,1.9792123553590806e-8,-0.0012693264687479164,3.8713735516634753e-5,1.9730552119127156e-8,-0.0012690470332673868,3.856312435152506e-5,1.9640099461015192e-8,-0.0012686878191508922,3.840594630060172e-5,1.9547213377593628E-08,-0.0012682550883168057,3.8280251328920796e-5,1.9475836828836382e-8,-0.0012677659821863632,3.8216972883763434e-5,1.9445125675948716e-8,-0.0012672456478990807,3.823702573972687e-5,1.9467782522189376e-8,-0.0012667239315270157,3.834915450270301e-5,1.954879813655444e-8,-0.0012662315252516165,3.8548712365379255e-5,1.9684700622829385e-8,-0.0012657956741872701,3.881779556352557e-5,1.9863631777743846E-08,-0.0012654358895180374,3.9127111421915734e-5,2.0066562567351532e-8,-0.0012651603219259492,3.943960149495701e-5,2.0269701099621573e-8,-0.0012649633922718845,3.97155188282893e-5,2.044787773900412e-8,-0.0012648251191054683,3.991847051986315e-5,2.0578512385264233e-8,-0.0012647124020133814,4.002181530954318e-5,2.0645672703362345e-8,-0.0012645824423290432,4.0014854271467307e-5,2.0643806946391964e-8,-0.001264388687972703,3.99081829052254e-5,2.0580779083148893e-8,-0.001264089784429187,3.973682895821391e-5,2.0479457047750557e-8,-0.0012636612589438738,3.955863316563664e-5,2.0376410433125773e-8,-0.001263107692385635,3.944474943991824e-5,2.031587286383709e-8,-0.0012624700916807313,3.9460627398303827e-5,2.0337965483915675e-8,-0.0012618210646095807,3.9641206055020366e-5,2.0463436185732815e-8,-0.0012612438544760331,3.997186027742948e-5,2.0682014530823786e-8,-0.0012608019231333165,4.03889145758586e-5,2.095293879084057e-8,-0.001260515403514942,4.080331509500292e-5,2.1219900523197546e-8,-0.0012603580066779792,4.1134769690694334e-5,2.143251915066937e-8,-0.0012602736669382706,4.133709908764442e-5,2.156229199212994e-8,-0.0012602001674625438,4.140455790552599e-5,2.1606510199617428e-8,-0.0012600871138250655,4.13627425982667e-5,2.1582334626039323e-8,-0.0012599037723692542,4.125395520943257e-5,2.1517286350261602e-8,-0.001259639059405887,4.112448324373034e-5,2.1440993984703374e-8,-0.0012592978126801822,4.1016374406620794e-5,2.1379934028673295e-8,-0.0012588963729254486,4.096310517242658e-5,2.1354792900167895e-8,-0.0012584587728795547,4.0987516848376617e-5,2.13793433801656e-8,-0.0012580135545439072,4.110070043061135e-5,2.145990419081642e-8,-0.001257590729174874,4.130124851631068e-5,2.1594960240885516e-8,-0.0012572184068382751,4.1574933436424366e-5,2.1774990856265992e-8,-0.0012569188758809874,4.1895365866185666e-5,2.198290829395347e-8,-0.0012567044061644376,4.2226400284913416e-5,2.2195638913385633e-8,-0.0012565736154616957,4.252676325544257e-5,2.2387154231576545e-8,-0.0012565095347204847,4.275674007069808e-5,2.2532803702984725e-8,-0.001256480413149145,4.2886024148070224e-5,2.261430451888185e-8,-0.0012564438185601924,4.290116127527485e-5,2.262433259898739e-8,-0.0012563537977570908,4.2810748157597085e-5,2.256953566001536e-8,-0.0012561701266762151,4.264685474788228e-5,2.2471059965738813e-8,-0.001255868216795208,4.246161786198218e-5,2.2362052663867524e-8,-0.00125544775922725,4.2318356345838705e-5,2.2281882031267264e-8,-0.0012549374800614776,4.22774052795677e-5,2.226731056823057e-8,-0.0012543928884045982,4.237873413357958e-5,2.2341924508824796e-8,-0.0012538846382849707,4.262624486160383e-5,2.2506767656905367e-8,-0.0012534783871114205,4.2981135163356555e-5,2.2736596297391955e-8,-0.0012532126561929605,4.3370682260662835e-5,2.2985558206766268e-8,-0.0012530852538086268,4.3711798272939364e-5,2.3201876301994538e-8,-0.0012530559769681426,4.393918260812166e-5,2.3345305957001018e-8,-0.0012530638749481211,4.4024288239515566e-5,2.3398863033464984e-8,-0.0012530490271740113,4.3977672971138264e-5,2.3370162208987406e-8,-0.0012529684380834512,4.383778762251783e-5,2.3284209882351702e-8,-0.0012528018888721966,4.365500575092296e-5,2.317318439808869e-8,-0.001252549834499636,4.34782797526141e-5,2.3067930135885604e-8,-0.0012522276998212633,4.334721846604825e-5,2.2992993745712078e-8,-0.0012518599576908918,4.3288848879161106e-5,2.2964722563118695e-8,-0.0012514754687159037,4.331706400168195e-5,2.299109201556656e-8,-0.0012511041057524219,4.343305080609753e-5,2.3072114029472213e-8,-0.0012507740089569535,4.362583037811218e-5,2.3200256491004583e-8,-0.001250508740600051,4.387284960062057e-5,2.336086149484763e-8,-0.0012503238892904954,4.414121645053139e-5,2.353297738143989e-8,-0.0012502232383400124,4.439057639247119e-5,2.3691245534858623e-8,-0.0012501953913701654,4.4578519987771495e-5,2.380937649691334e-8,-0.0012502124466062187,4.466862199857083e-5,2.386522426953918e-8,-0.0012502324655709908,4.463985453790723e-5,2.38466230351851e-8,-0.0012502066668911443,4.449465916127025e-5,2.3756267679178933e-8,-0.0012500904907569506,4.4262301368479445e-5,2.3613540810084584e-8,-0.0012498556988007213,4.3995081325114545e-5,2.3451824758728542e-8,-0.0012494996714732477,4.375734202677175e-5,2.3311357072906797e-8,-0.0012490486343557058,4.360978994232384e-5,2.3229326501100328e-8,-0.0012485532799728183,4.359328030608507e-5,2.3229896399582473e-8,-0.001248077323762565,4.3716595091107244e-5,2.331696995481848e-8,-0.0012476814413027032,4.395208150458591e-5,2.3471965518926978e-8,-0.0012474066926813987,4.424143994728845e-5,2.3657815110514976e-8,-0.001247262641945451,4.4511219507711075e-5,2.3828756487483382e-8,-0.0012472248755787513,4.469382181566311e-5,2.3943301525145774e-8,-0.0012472435198697964,4.474664503382738e-5,2.3975912178036033e-8,-0.001247259506344416,4.466205719091103e-5,2.3922954185837815e-8,-0.0012472217473297215,4.446513739596869e-5,2.3801066644975018e-8,-0.0012470987187946957,4.420202198632878e-5,2.3639715221988536e-8,-0.0012468817729012385,4.392519162060175e-5,2.3471897838937096e-8,-0.0012465817445801888,4.368137901444268e-5,2.3326586331146017e-8,-0.0012462224178688196,4.3504603084736476e-5,2.3224476425034505e-8,-0.0012458339394664786,4.3413868956406416e-5,2.317671064191687e-8,-0.0012454477067935401,4.341371210977519e-5,2.318536732956266e-8,-0.001245092875503066,4.349582099726864e-5,2.3244572533892913e-8,-0.001244793861427751,4.364070138997217e-5,2.334159650208275e-8,-0.0012445680145702208,4.381919330597018e-5,2.3457855646996076e-8,-0.0012444228840729505,4.399437802864513e-5,2.35701808197754e-8,-0.0012443530695937283,4.4124913953168016e-5,2.3652983748257247e-8,-0.0012443375127046577,4.4170905959475854e-5,2.36819578137255e-8,-0.001244339050323051,4.410267397222573e-5,2.3639490947179656e-8,-0.0012443085409083597,4.391102098493597e-5,2.352090842966235e-8,-0.0012441949428326805,4.361529559426061e-5,2.3339274923289387e-8,-0.0012439599109511782,4.3264248999509696e-5,2.3125688607710063e-8,-0.0012435919172900148,4.292632418466513e-5,2.2923014333021052e-8,-0.0012431132807987672,4.2670863701421686e-5,2.2774032688701237e-8,-0.0012425758812366372,4.2547004754978845e-5,2.2708303443627026e-8,-0.001242046681417017,4.256875652229016e-5,2.273310098467663e-8,-0.0012415887940260054,4.2711639999148036e-5,2.2831736522023835e-8,-0.0012412448848635037,4.292095325018456e-5,2.2969151481539737e-8,-0.0012410276081992223,4.312771971755229e-5,2.310214052847942e-8,-0.0012409187405165644,4.3266945611404475e-5,2.3190749585606232e-8,-0.001240876179833917,4.329319757536537e-5,2.3207763152117412e-8,-0.0012408462077011405,4.3189822733976015e-5,2.314410023143346e-8,-0.001240777320283415,4.297005585476495e-5,2.3009154427995445e-8,-0.0012406317702474867,4.267059575677806e-5,2.2826536022629307e-8,-0.0012403919863629748,4.234042689642282e-5,2.26269926746929e-8,-0.0012400610415698615,4.2028799199970334e-5,2.2440951581700866e-8,-0.0012396584394359302,4.1775753442481906e-5,2.229275950494211e-8,-0.001239213642370792,4.160681735016447e-5,2.2197568374873713e-8,-0.001238759622997134,4.153164993599383e-5,2.21606545642313e-8,-0.0012383277669794706,4.154532626799311e-5,2.217831390256571e-8,-0.0012379443945620973,4.163077699858882e-5,2.223941511624005e-8,-0.0012376284470835346,4.17613701854737e-5,2.2327028899360917e-8,-0.0012373896362990083,4.190335157601163e-5,2.2420000164546246e-8,-0.001237226498897373,4.201852746249583e-5,2.2494706995441768e-8,-0.0012371242703294284,4.2068080603654364e-5,2.2527507113518604e-8,-0.0012370533291036505,4.201858038815096e-5,2.249845761104157e-8,-0.001236970018387961,4.18506164139745e-5,2.239652980094868e-8,-0.0012368223070618539,4.1568658962976625e-5,2.2225481522563593e-8,-0.0012365619116138991,4.120801712255095e-5,2.2007914498811416e-8,-0.0012361611416612153,4.083280694899721e-5,2.1783828379414836e-8,-0.001235627714205694,4.052073423663693e-5,2.1601104914924004e-8,-0.0012350082702082678,4.0337708897671565e-5,2.149979267276202e-8,-0.0012343757042772982,4.031356310619789e-5,2.1497194944095898e-8,-0.0012338050721628741,4.043155020851939e-5,2.1581628688838263e-8,-0.001233349834870539,4.063630930677973e-5,2.1717708568439122e-8,-0.0012330286624901638,4.0854394434720134e-5,2.1859385815913868e-8,-0.001232825543872876,4.1016780529853954e-5,2.1964061307544442e-8,-0.0012326994687433222,4.1075328421856106e-5,2.20027389188401e-8,-0.001232597984556413,4.1010377237678075e-5,2.196447509602127e-8,-0.0012324701701386766,4.083038763729262e-5,2.1855784862297425e-8,-0.0012322765508626758,4.0566046838917725e-5,2.1696628675659008e-8,-0.0012319949600370919,4.026131873137667e-5,2.151464212796346e-8,-0.0012316222127142264,3.996359807215556e-5,2.1339009160521587e-8,-0.0012311720726316338,3.971485937041825e-5,2.1195127901571155e-8,-0.001230670573013148,3.954524762662862e-5,2.1100877649413684e-8,-0.0012301501032358588,3.946977464651513e-5,2.1064790494578928e-8,-0.0012296436170803153,3.9487963552311815e-5,2.108595595697376e-8,-0.0012291799191749856,3.958568949318732e-5,2.1155185653788322e-8,-0.0012287803742935324,3.973818698101526e-5,2.1256853700710867e-8,-0.001228456809047748,3.991337515449703e-5,2.1370956879184295e-8,-0.0012282101383242943,4.007518264093764e-5,2.1475236423481508e-8,-0.0012280293349605576,4.0187061533075706e-5,2.1547450730279715e-8,-0.0012278906587169442,4.0216265386799466e-5,2.1568075140606426e-8,-0.001227757733952711,4.0139660658889306e-5,2.152381649965794e-8,-0.001227584040852701,3.995131561109933e-5,2.141206714008766e-8,-0.0012273199557392438,3.9670437193476325e-5,2.1245481814044025e-8,-0.0012269256617048919,3.934568255249432e-5,2.1054357934419238e-8,-0.001226387988600605,3.9049849819512705e-5,2.088324803621528e-8,-0.0012257337792927004,3.886073981427376e-5,2.077925099285005e-8,-0.001225029176986983,3.8832259555441034e-5,2.0774438780732722e-8,-0.0012243597146831978,3.897014608672804e-5,2.087118383561181e-8,-0.001223799174185458,3.922790438935534e-5,2.1039910874573118e-8,-0.0012233842237546633,3.952612757691313e-5,2.123118242844517e-8,-0.001223107335217403,3.9782946538246464e-5,2.139456934167179e-8,-0.0012229273220081428,3.993907780657064e-5,2.1494114292522025e-8,-0.001222787747765819,3.996887325239496e-5,2.1515041468992588e-8,-0.0012226337779387417,3.987869845089384e-5,2.1462498186417195e-8,-0.0012224231672501788,3.9698352797038394e-5,2.135591073507243e-8,-0.001222131287192134,3.94706075535104e-5,2.1222223071618265e-8,-0.0012217517999359017,3.924165377627985e-5,2.1089871554669243e-8,-0.0012212945943425393,3.905340977839935e-5,2.0984126176207197e-8,-0.0012207820344604945,3.8937868022761935e-5,2.0923847255017387e-8,-0.0012202442110411317,3.891356765329418e-5,2.0919587003276005e-8,-0.0012197138193019857,3.898419985757117e-5,2.0972925719657997e-8,-0.0012192212575737466,3.913919956043711e-5,2.1076902982625034e-8,-0.0012187904880345962,3.9356035455342134e-5,2.1217396945348294e-8,-0.001218436045934365,3.960367962125383e-5,2.1375213106972125e-8,-0.00121816125440768,3.9846620466140236e-5,2.1528562534707792e-8,-0.0012179574526165029,4.004903399140244e-5,2.165570613461297e-8,-0.0012178040605647724,4.0179078031285165e-5,2.1737684879836926e-8,-0.001217669467291421,4.021348370120589e-5,2.1761144819940345e-8,-0.0012175131332450237,4.014272182328031e-5,2.1721351070588032e-8,-0.001217289990042325,3.997662689165655e-5,2.162532349147562e-8,-0.0012169585457825218,3.9749007528304005e-5,2.1494297600574853e-8,-0.0012164931847068905,3.9517836703297245e-5,2.136358703249228e-8,-0.0012158983378917096,3.9356329110915773e-5,2.1277115324960004e-8,-0.0012152176438466392,3.9332104759699913E-05,2.127493647531436e-8,-0.001214528479586985,3.947928991470707e-5,2.1376600643727462e-8,-0.0012139177363669367,3.9778311663362115e-5,2.1569180758206194e-8,-0.0012134484162272517,4.015900048914238e-5,2.180933946924029e-8,-0.0012131363021741985,4.052837642935356e-5,2.2040280902569133e-8,-0.0012129497831343294,4.080665261167639e-5,2.2213672818770073e-8,-0.0012128291159121656,4.095125233841926e-5,2.230428148992462e-8,-0.001212710628911282,4.096082546243361e-5,2.2312340353820234e-8,-0.0012125440419645064,4.0864936103992574e-5,2.2257017392004202e-8,-0.0012122998065612566,4.070927702557695e-5,2.2167052698862267e-8,-0.001211969092054254,4.054291261138361e-5,2.207270204179144e-8,-0.0012115601294701622,4.04096307802744e-5,2.2000393390250897e-8,-0.0012110935055385707,4.034290695442932e-5,2.1969806882960636e-8,-0.001210597514896922,4.0363263803066746e-5,2.1992540281281542e-8,-0.001210103734529621,4.047720018381726e-5,2.2071717239761007e-8,-0.0012096427900898502,4.0677387217859966e-5,2.22022573473533e-8,-0.0012092403935229314,4.094407090176532e-5,2.237175494917936e-8,-0.0012089138646246408,4.124773087837309e-5,2.2562054742508997e-8,-0.001208669509931094,4.155294488543246e-5,2.2751575294808985e-8,-0.0012085012343950414,4.1823087158483395e-5,2.2918206290301382e-8,-0.0012083905541689021,4.20253509279023e-5,2.304245225579731e-8,-0.0012083080279941285,4.213570362400274e-5,2.3110503419034456e-8,-0.0012082161114372763,4.2143459888724324e-5,2.3116949841108062e-8,-0.0012080735324706796,4.2055159230597596e-5,2.3066900585552403e-8,-0.001207841533426535,4.189723091537656e-5,2.297724001603263e-8,-0.0012074923383279116,4.171613868549196e-5,2.2876363669851336e-8,-0.001207019283053891,4.157362669411139e-5,2.2801120538061767e-8,-0.0012064459189305014,4.1534493783767346e-5,2.2789521758592166e-8,-0.0012058286024298984,4.164656524482071e-5,2.2869009240234377e-8,-0.0012052460554162017,4.19184087749905e-5,2.3043477200400544e-8,-0.0012047743940046401,4.2307229374438395e-5,2.3286316882609802e-8,-0.0012044572585227797,4.272895499439604e-5,2.3546579750409415e-8,-0.001204288381331058,4.308962693418823e-5,2.376779519103741e-8,-0.0012042176630236775,4.332107815521141e-5,2.390938507508682e-8,-0.0012041753802073372,4.340093341660907e-5,2.3958706867713977e-8,-0.00120409843142815,4.335014281596996e-5,2.3929491995290315e-8,-0.0012039461046134032,4.3216266495513626e-5,2.3851510393422998e-8,-0.0012037033879847602,4.305483536435831e-5,2.3758982441867673e-8,-0.001203376539335363,4.291599030590616e-5,2.368228317218689e-8,-0.00120298613557427,4.283755592078561e-5,2.364376268900528e-8,-0.00120256066507784,4.2842730196850536e-5,2.365655954004364e-8,-0.0012021315896690958,4.29401323049733e-5,2.3724918753893763e-8,-0.0012017295357681474,4.3124764351869256e-5,2.384500705422323e-8,-0.0012013810188355309,4.3379445958178134e-5,2.400589014719376e-8,-0.0012011053959982453,4.367684303151363e-5,2.4190760318183176e-8,-0.0012009120711434845,4.3982426851927915e-5,2.4378686124360526e-8,-0.001200798320179096,4.4258666524398955e-5,2.4547135559008024e-8,-0.0012007483813156155,4.447035815567847e-5,2.4675237441635286e-8,-0.0012007344048218429,4.45904789956841e-5,2.4747373111654414e-8,-0.0012007195396916456,4.4605667043112055E-05,2.475647427648304e-8,-0.0012006630679124704,4.4520319606676825e-5,2.4706349244549025e-8,-0.0012005271433299393,4.435834252862902e-5,2.4612444809990292e-8,-0.0012002844344340745,4.416178423355356e-5,2.450065938028214e-8,-0.0011999257549066937,4.39856842762662e-5,2.4403951995426074e-8,-0.0011994662184232547,4.3888471317910234e-5,2.435650342589999e-8,-0.001198947460842372,4.3917923813857226e-5,2.43855173915342e-8,-0.001198432684587654,4.409482178445086e-5,2.4501884310528832e-8,-0.0011979921332492878,4.43998509534339e-5,2.469284335350204e-8,-0.00119768078598594,4.4772044938470945e-5,2.492136091235081e-8,-0.0011975168459692923,4.512476493318901e-5,2.5135693210741254e-8,-0.00119747326559844,4.53756385533257e-5,2.528710231716238e-8,-0.0011974888649364393,4.547604253094459e-5,2.5347319618533324e-8,-0.0011974930862349044,4.542451975687877e-5,2.5316491092253453e-8,-0.0011974302262546881,4.525952548655604e-5,2.5218719541367353e-8,-0.0011972721728209824,4.5039793706352555e-5,2.509006550443868e-8,-0.0011970183063790395,4.48245155389913e-5,2.4966396418741908e-8,-0.001196687932279745,4.4660550904328974e-5,2.487559033145641e-8,-0.0011963111623788396,4.457738285834904e-5,2.4834604037411308e-8,-0.0011959215436754737,4.45871920184613e-5,2.4849769736576936e-8,-0.0011955511692190652,4.468712727908596e-5,2.4918432734679642e-8,-0.0011952275920148667,4.486193679281758e-5,2.5030717037665653e-8,-0.001194971551310585,4.508639373150898e-5,2.5171047327290172e-8,-0.001194794863314542,4.5327777567539424e-5,2.5319623085596163e-8,-0.001194698341899172,4.554901617532855e-5,2.5454274898017947e-8,-0.0011946701458042791,4.5713081220382614e-5,2.555310251854561e-8,-0.0011946854231435274,4.5788787339589856e-5,2.5597980508971714e-8,-0.0011947082714650892,4.575734391539159e-5,2.5578493326096783e-8,-0.0011946966519119835,4.561819225984636e-5,2.5495358009355167e-8,-0.0011946100335258174,4.539218001394653e-5,2.536213072497259e-8,-0.0011944184455051122,4.512031317912244e-5,2.5204163446924352e-8,-0.0011941107653257608,4.485734384224478e-5,2.5054453515492776e-8,-0.0011936999083235803,4.466088478508766e-5,2.4946937452023213e-8,-0.0011932230592092813,4.457796164782929e-5,2.4908499047797812e-8,-0.001192735881163747,4.463180004644925e-5,2.4951402925395812e-8,-0.0011923007264965835,4.481237616870531e-5,2.506816181625162e-8,-0.001191970530689217,4.507461064861558e-5,2.523093820360962e-8,-0.0011917724140860335,4.5347229185161454e-5,2.5397066980609755e-8,-0.0011916972032087528,4.5552150560644986e-5,2.552053976524705e-8,-0.0011917008223672682,4.5628853227269786e-5,2.55662585680403e-8,-0.001191718836140086,4.55536438037028e-5,2.5521241678494558e-8,-0.0011916882079971906,4.534483429463704e-5,2.5397506076360736e-8,-0.0011915661764232738,4.50523352358896e-5,2.52256885925892e-8,-0.0011913387387294007,4.47385355732246e-5,2.504346293478613e-8,-0.0011910180546011024,4.446011631860293e-5,2.4884567965759092e-8,-0.0011906333941084394,4.425692301702829e-5,2.4772196056940904e-8,-0.0011902211184680275,4.414860982271032e-5,2.4717178867113547e-8,-0.0011898169790774708,4.4136455261757274e-5,2.4719329452121577e-8,-0.0011894514485054754,4.4207250005153805e-5,2.4769977404092045e-8,-0.0011891472970888017,4.43372203473938e-5,2.4854416724191735e-8,-0.0011889182539292847,4.449528806773453e-5,2.4953861754942293e-8,-0.0011887678749798924,4.464592966057503e-5,2.504712463555681e-8,-0.0011886883030289687,4.4752380198887884e-5,2.5112510632544797e-8,-0.0011886592771498138,4.478098874931083e-5,2.5130424449580425e-8,-0.0011886483992062577,4.4707117457076194e-5,2.5086889829383304e-8,-0.0011886140329250244,4.4522010180780784e-5,2.4977592415005244e-8,-0.0011885119078034235,4.4238713784012066e-5,2.4811273251672534e-8,-0.0011883051844906306,4.3894051675223444e-5,2.461069041472246e-8,-0.0011879756183442926,4.354386275480496e-5,2.4409531085824178e-8,-0.0011875317045031677,4.3250911754683235e-5,2.4244998266980886e-8,-0.001187009814984017,4.306830808202916e-5,2.4147865942933328e-8,-0.0011864667588603476,4.302388062774488e-5,2.4133330210664937e-8,-0.0011859656180111609,4.3111034611001064e-5,2.4195943412766552e-8,-0.0011855592107146609,4.328925296709795e-5,2.4310387221332328e-8,-0.0011852761111206852,4.349413359054941e-5,2.443782423047731e-8,-0.0011851131455521931,4.3654131747047644e-5,2.4535986395746288e-8,-0.0011850365116463047,4.370946428713365e-5,2.4570271546609728e-8,-0.0011849914632903148,4.362784368851426e-5,2.4522773768495008e-8,-0.001184917896100419,4.341215487751708e-5,2.43964861556252e-8,-0.0011847668283073867,4.3097519747167916e-5,2.4213256739576758e-8,-0.001184512183165127,4.273915270154866e-5,2.400637699709233e-8,-0.001184154359433377,4.239606712181469e-5,2.381082880477647e-8,-0.001183715829325232,4.211673537541401e-5,2.3654834718410355e-8,-0.001183232091457753,4.193072848064575e-5,2.355508585492585e-8,-0.001182742076052658,4.184692919527811e-5,2.351593181722576e-8,-0.001182280783554334,4.185637277082278e-5,2.3531280291149167e-8,-0.0011818749650736491,4.193705913158789e-5,2.3587563717348847e-8,-0.0011815412371566454,4.20587459208501e-5,2.3666591547139997e-8,-0.001181285518418681,4.218688550045602e-5,2.374784651401943e-8,-0.0011811028444095974,4.2285853886151184e-5,2.381037385561812e-8,-0.001180977123076948,4.232217251513254e-5,2.3834703066651765e-8,-0.0011808810539391222,4.2268560697046846e-5,2.3805269882627502e-8,-0.0011807771612472478,4.2109361969074505e-5,2.3713602572318883e-8,-0.0011806214602274067,4.1846957049957275e-5,2.356200196449372e-8,-0.0011803711677501327,4.150714518977967e-5,2.3366529209186637e-8,-0.0011799963986054275,4.113978509884284e-5,2.3157162420999488e-8,-0.0011794927933482826,4.08108363408142e-5,2.2972909369344754e-8,-0.0011788890049142986,4.058504354233647e-5,2.2851491515976213e-8,-0.0011782430294203484,4.050438512482597e-5,2.2816671906510717e-8,-0.0011776263052778516,4.0571991173592686e-5,2.2868981508891815e-8,-0.0011771016155169122,4.074982996867079e-5,2.2984703383283737e-8,-0.0011767044632477951,4.097122380197114e-5,2.3123630234264177e-8,-0.0011764349839248737,4.1161829736862925e-5,2.3241707139593455e-8,-0.0011762614801303043,4.1260299791107996e-5,2.330328303434297e-8,-0.0011761320404088328,4.1232336783918625e-5,2.328924297558214e-8,-0.0011759893133244327,4.1075838938516295e-5,2.3199711124094704e-8,-0.0011757842580515552,4.081779203779472e-5,2.3051819147004552e-8,-0.001175486057786376,4.050513963720658e-5,2.2873984543674025e-8,-0.0011750866908770193,4.0192525827399625e-5,2.2698514425147638e-8,-0.0011745998913217442,3.9930000443378806e-5,2.2554401861589946e-8,-0.0011740555181366963,3.975350915748105e-5,2.2461942074838184e-8,-0.0011734914447389271,3.967996159531561e-5,2.2430123462058758e-8,-0.001172945410878914,3.970705295686038e-5,2.245677720924922e-8,-0.0011724486794790487,3.981662159239835e-5,2.2530685939862905e-8,-0.0011720222605774908,3.997974255206267e-5,2.263458529327139e-8,-0.0011716754580197422,4.0161947727554296e-5,2.274816904236688e-8,-0.0011714059108263474,4.032766224367516e-5,2.285064391621753e-8,-0.0011712002787532773,4.044378850159482e-5,2.2922839703133115e-8,-0.001171035100466492,4.048293650443117e-5,2.2949153547451752e-8,-0.0011708778846540614,4.042697766162125e-5,2.2919658210313572e-8,-0.0011706891457959967,4.0271429475899425e-5,2.2832600750891778e-8,-0.001170426728995793,4.0030416719605716e-5,2.269711830719015e-8,-0.0011700538042031948,3.9740414742010276e-5,2.253517245414926e-8,-0.0011695506069301434,3.945916078722506e-5,2.2380689483545792e-8,-0.0011689268944945577,3.9255517922141815e-5,2.227353935744273e-8,-0.001168228173677312,3.918909798715985e-5,2.224769728531718e-8,-0.0011675279781217165,3.9285907063139966e-5,2.2317220439852915e-8,-0.0011669049542857158,3.952322670802093e-5,2.24676871654407e-8,-0.0011664145207980038,3.9834885125080155e-5,2.265953681114611e-8,-0.001166070295452867,4.013563731944959e-5,2.2842517129925196e-8,-0.0011658440641923867,4.035108613749354e-5,2.2973299450432576e-8,-0.0011656808972777184,4.043846993678506e-5,2.302764914878378e-8,-0.0011655191438936243,4.039246802510346e-5,2.300366653105076e-8,-0.0011653067613803536,4.023909875147127e-5,2.291788321046429e-8,-0.001165010689103841,4.002390781978695e-5,2.2797942341975254e-8,-0.0011646197556137458,3.979940906101893e-5,2.2674938420648966e-8,-0.0011641429633779334,3.961443280877213e-5,2.2577103601577477e-8,-0.0011636049134929856,3.950632417993853e-5,2.252541402741315e-8,-0.0011630396411959254,3.9496218494349576e-5,2.253115281543781e-8,-0.001162483900516477,3.95874667786907e-5,2.2595320378682432e-8,-0.0011619709327954436,3.976699600781008e-5,2.2709638135691125e-8,-0.0011615255979191684,4.000893838449559e-5,2.2858712233979922e-8,-0.0011611613858706039,4.0279582776409567e-5,2.3022849008527116e-8,-0.001160879376169587,4.054263299169933e-5,2.3181024514051384e-8,-0.0011606687592218374,4.076394687408465e-5,2.3313608208272293e-8,-0.0011605083240079387,4.09154288041749e-5,2.3404666156265128e-8,-0.00116036847554564,4.097823517679709e-5,2.34438834621506e-8,-0.0011602136824594566,4.0945659648512586e-5,2.3428227761797474e-8,-0.0011600057215318002,4.0826012397539306e-5,2.3363471925632195e-8,-0.0011597086232655231,4.0645264473458956e-5,2.326545539839303e-8,-0.0011592962457193116,4.0447999006798314e-5,2.3160337368834338e-8,-0.00115876229853727,4.0293821820255384e-5,2.3082332980724006e-8,-0.0011581301558147067,4.0245920350732926e-5,2.3067127381392428e-8,-0.0011574563121098651,4.035081622828792e-5,2.3140425634618856e-8,-0.0011568199270357543,4.061526212816023e-5,2.3304961265381497e-8,-0.0011562968471505665,4.099409631845051e-5,2.353376588241085e-8,-0.0011559290458727804,4.140161770840252e-5,2.3776854904296303e-8,-0.0011557078806939019,4.1744238983237644e-5,2.3980097768470524e-8,-0.0011555814912751524,4.195588110422897e-5,2.4105697188319998E-08,-0.001155479481195814,4.201658493401853e-5,2.4142985129680127e-8,-0.00115533863075793,4.194919447273282e-5,2.4106395513946268e-8,-0.0011551182129401877,4.1802901903976074e-5,2.4025610864818883e-8,-0.0011548035981328402,4.163510488935334e-5,2.3934641492285587e-8,-0.0011544024679921467,4.149790402491649e-5,2.3863731188845464e-8,-0.0011539381598193543,4.143037373269924e-5,2.3834886083816383e-8,-0.0011534428504190312,4.145529592249755e-5,2.3860242372633465e-8,-0.0011529515734318722,4.157867605802834e-5,2.3942156152824156e-8,-0.001152497126030711,4.17910018793201e-5,2.407424330087287e-8,-0.00115210581430915,4.2069853360416185e-5,2.4243037050196697e-8,-0.001151794185245135,4.238365328686831e-5,2.4430139497299415e-8,-0.0011515669930675036,4.269628302794372e-5,2.461478437537122e-8,-0.0011514166348674099,4.2972125399724006e-5,2.4776661433350763e-8,-0.0011513241096236361,4.318091082678523e-5,2.4898702175336794e-8,-0.0011512612721551612,4.330181717597658e-5,2.496949457208967e-8,-0.001151194039557355,4.332656629776271e-5,2.4985098203453446e-8,-0.0011510862887999457,4.326145348232724e-5,2.4950132422663092e-8,-0.0011509043845628019,4.312830423117919e-5,2.4878096818187747e-8,-0.0011506225888506414,4.296414251839801e-5,2.4790856099194497e-8,-0.0011502295873348479,4.281860836006933e-5,2.4716871495239724e-8,-0.0011497354598191344,4.27473669523015e-5,2.4687324428481763e-8,-0.0011491767132249047,4.27998987093043e-5,2.4729297172923822e-8,-0.0011486149745644995,4.300208635109734e-5,2.4856210146960896e-8,-0.0011481242788471762,4.333890754543513e-5,2.505836780419132e-8,-0.0011477663805973333,4.37484335258334e-5,2.529978271595454e-8,-0.0011475638693054652,4.413754488074797e-5,2.552713565537854e-8,-0.0011474880690233208,4.441675095791563e-5,2.5689536506059154e-8,-0.0011474716437174161,4.4535329714636256e-5,2.5758576446798924e-8,-0.0011474381423005444,4.4496153607781065e-5,2.573686319342581e-8,-0.0011473298248947472,4.434525522139947e-5,2.5651963688180006e-8,-0.0011471206519927625,4.4148021131686344e-5,2.5542431090685233e-8,-0.0011468143867924144,4.396712744434881e-5,2.5444745012451112e-8,-0.001146435178096694,4.384958556407789e-5,2.538566338712817e-8,-0.0011460173053052653,4.382244135856911e-5,2.537984964690841e-8,-0.0011455972066733823,4.389369052636168e-5,2.543072424927479e-8,-0.001145208205189756,4.4055310810386594e-5,2.553258147049571e-8,-0.0011448771116926027,4.4286732802865605e-5,2.5672846892049696e-8,-0.001144621838537778,4.455834866317327e-5,2.5834176207532318e-8,-0.0011444496596464482,4.483524010238264e-5,2.5996533958276677e-8,-0.0011443561757723407,4.508136367107901e-5,2.6139484084071172e-8,-0.001144325302176957,4.526422796836885e-5,2.624479996609313e-8,-0.0011443306796744088,4.5359678801102835e-5,2.629920696942144e-8,-0.001144338684074093,4.535607232962796e-5,2.6296805202445227e-8,-0.0011443128443530714,4.525711697688811e-5,2.6240674007741413e-8,-0.0011442192204715602,4.5082805045375516e-5,2.6143256225398415e-8,-0.0011440321422607781,4.4868033997148654e-5,2.6025290536327584e-8,-0.0011437397009143968,4.465876200865301e-5,2.5913293776335838e-8,-0.0011433483936894827,4.450556201387472e-5,2.5835666573269417e-8,-0.0011428859132346458,4.4454301330230345e-5,2.5817407374967364e-8,-0.0011424002463549068,4.4534205124580296e-5,2.587362598157788e-8,-0.0011419527122034946,4.474530750720313e-5,2.600289980431649e-8,-0.0011416033368196802,4.505002810376823e-5,2.618294554588382e-8,-0.001141390428908636,4.5375931822066494e-5,2.6372385764556846e-8,-0.0011413123883100827,4.5634818511907473e-5,2.6521473534591453e-8,-0.001141323589395823,4.5754058078499044e-5,2.6589641295518906e-8,-0.0011413505127724332,4.570482861131677e-5,2.65614039044391e-8,-0.0011413207093381398,4.5510745451041515e-5,2.6451239643199213e-8,-0.001141188094617734,4.523323032317512e-5,2.6295158823665544e-8,-0.0011409425267060696,4.494512245552072e-5,2.613539055975473e-8,-0.0011406039242835295,4.470782444666231e-5,2.6007055239340012e-8,-0.001140209199720666,4.455976514490526e-5,2.5931497221064563e-8,-0.0011397998215520568,4.451513360626569e-5,2.591575701768682e-8,-0.001139413450043509,4.456814837601221e-5,2.595536246540539e-8,-0.0011390795966643849,4.469876670368622e-5,2.60379203690528e-8,-0.0011388178217883774,4.487777100093782e-5,2.614620234117578e-8,-0.001138637029323737,4.507087406977781e-5,2.6260499784491232e-8,-0.0011385351171898522,4.524231213375679e-5,2.636058011508952e-8,-0.001138498908997064,4.5358536475447353e-5,2.6427687830903223e-8,-0.001138504742717813,4.539239795883406e-5,2.6446876610957435e-8,-0.0011385203577618363,4.5327686077719404e-5,2.6409596426616204e-8,-0.001138508626476679,4.5163215308385346e-5,2.6316020938140107e-8,-0.001138433164520453,4.491524922861346e-5,2.617635271007851e-8,-0.0011382651611644248,4.461705208805853e-5,2.60103768433134e-8,-0.0011379901212315725,4.431475914112068e-5,2.5844832363761734e-8,-0.0011376128472153897,4.405962607495448e-5,2.5708742448517676e-8,-0.0011371591432191399,4.38977377850055e-5,2.5627459120037902e-8,-0.0011366732292220137,4.385892899825392e-5,2.561652405049774e-8,-0.0011362103950232623,4.394710877414942e-5,2.5676581411835278e-8,-0.0011358251542952108,4.413475261191414e-5,2.5790765942044402e-8,-0.0011355565320898134,4.436471443508226e-5,2.5926126309661128e-8,-0.0011354142388612493,4.456177182242592e-5,2.6040272006294392e-8,-0.0011353715564004837,4.4653360616528623e-5,2.6092925147649926e-8,-0.0011353705510015804,4.459362909579968e-5,2.605922322764486e-8,-0.0011353404038372476,4.4380227560943225e-5,2.5938971302698022e-8,-0.0011352217466509087,4.405454262243014e-5,2.5756616732937143e-8,-0.0011349852948189293,4.368490247039827e-5,2.5551578991552723e-8,-0.0011346366674042077,4.334216194977203e-5,2.5364227495662016e-8,-0.001134208126523297,4.307971922662928e-5,2.5224447033233243e-8,-0.0011337443916172296,4.292448780803408e-5,2.5146609857361533e-8,-0.0011332897864486306,4.287791196077834e-5,2.5130427988720302e-8,-0.0011328801743606684,4.292232941936807e-5,2.5164886702881576e-8,-0.0011325395437544183,4.302832693352377e-5,2.5232645329543546e-8,-0.0011322795036267984,4.316082969546979e-5,2.5313558114926845e-8,-0.0011320999644248192,4.328354167402069e-5,2.538712994851353e-8,-0.0011319900022255828,4.336233306022805e-5,2.5434328063291953e-8,-0.0011319286947636842,4.336840808418778e-5,2.5439298179225213e-8,-0.0011318863330729578,4.328188187579225e-5,2.5391365668682646e-8,-0.001131826798984989,4.309582777844892e-5,2.5287327028303578e-8,-0.0011317119237820342,4.282000536402383e-5,2.513352362103692e-8,-0.0011315081184450266,4.248267021715128e-5,2.4946745756693704e-8,-0.0011311944679122136,4.212855215251888e-5,2.47528810798855e-8,-0.001130770145740669,4.181171313272162e-5,2.458263730132284e-8,-0.0011302581872849279,4.158375073838242e-5,2.446470685820663e-8,-0.0011297031604086858,4.1480108144529596e-5,2.4418045723061402e-8,-0.001129162188693781,4.15087736209508e-5,2.4445738038119535e-8,-0.001128691235841923,4.164541695493883e-5,2.453267453652789e-8,-0.0011283303644603515,4.1837167858544846e-5,2.464812593336712e-8,-0.0011280922029762194,4.201470996660632e-5,2.4752841228200912e-8,-0.0011279572033331556,4.2109977185660934e-5,2.480903447905591e-8,-0.0011278777807429035,4.2074869072542864e-5,2.4790706388729773e-8,-0.0011277911058960631,4.189530837193729e-5,2.4691226160505966e-8,-0.0011276372138476932,4.15954194176583e-5,2.4525357679971217e-8,-0.0011273763094417542,4.1229584247699144e-5,2.4324526909304625e-8,-0.0011269987883137111,4.0865150594873515e-5,2.4126913313744505e-8,-0.0011265246487921932,4.056282496645149e-5,2.396636013648397e-8,-0.0011259939870450367,4.0362229990203176e-5,2.3864352719984643e-8,-0.0011254538280006646,4.027651035222083e-5,2.3827236887481313e-8,-0.0011249466443459084,4.029509964658356e-5,2.3848081936514294e-8,-0.0011245033782163948,4.0390924133027086e-5,2.3910968573532058e-8,-0.0011241409403492657,4.052829514471608e-5,2.3995517170635476e-8,-0.00112386263638038,4.066934213518109e-5,2.4080458369857855e-8,-0.001123659844043524,4.077852227744454e-5,2.4146059818045725e-8,-0.0011235138537491161,4.082575535334954e-5,2.417579891950277e-8,-0.0011233975399612892,4.078906093563617e-5,2.4157813543967808e-8,-0.0011232772130354719,4.065741806846923e-5,2.4086515680471002e-8,-0.0011231154772805123,4.043402590037051e-5,2.3964410167377178e-8,-0.0011228760409062776,4.0139252991621545e-5,2.380366568263808e-8,-0.0011225309508780508,3.9811507466245704e-5,2.362643573893063e-8,-0.0011220694021852218,3.9503593998477884e-5,2.3462607402847364e-8,-0.0011215052868612503,3.927276808058977e-5,2.334405693151438e-8,-0.0011208791815421717,3.916532907922445e-5,2.32959719470691e-8,-0.0011202512996662164,3.9200465609938846e-5,2.332793726446843e-8,-0.001119685750452599,3.936055511280073e-5,2.3428801926640012e-8,-0.0011192313624241938,3.959351310628623e-5,2.3568365483427852e-8,-0.0011189067970222813,3.982728786145331e-5,2.370580293829856e-8,-0.0011186957125675833,3.9990849821071303e-5,2.380156013682102e-8,-0.0011185529359586416,4.003380335406222e-5,2.382827657042045e-8,-0.0011184183604654927,3.9938559297950844e-5,2.3777363910180102e-8,-0.0011182335261142832,3.972257873820071e-5,2.365991178424167e-8,-0.0011179561348970367,3.943138742499119e-5,2.3502406776038373e-8,-0.0011175690250342211,3.9125231705559594e-5,2.333898219278873e-8,-0.0011170818909624026,3.8863484851492184e-5,2.3202592856615218e-8,-0.0011165261146400343,3.869113689297805e-5,2.3117576365828163e-8,-0.0011159450191786187,3.863070018781825e-5,2.309541688994295e-8,-0.001115382950846316,3.8680782729081375e-5,2.3134291481037248e-8,-0.0011148763323054643,3.88202433349568e-5,2.3221657136516122e-8,-0.0011144484116093652,3.9015366788503146e-5,2.333836405534532e-8,-0.0011141077300649053,3.922741200952648e-5,2.3462821981382622e-8,-0.0011138492060015412,3.941880989590515e-5,2.357433208540127e-8,-0.0011136564631223104,3.955748183796071e-5,2.3655382121537695e-8,-0.001113504398766395,3.961966181875024e-5,2.3693174947865333e-8,-0.0011133616119702572,3.9591985478981636e-5,2.3680806672121074e-8,-0.0011131929173312004,3.9473502927766754e-5,2.3618399758240768e-8,-0.001112962646214551,3.927781992830418e-5,2.3514237054040706e-8,-0.0011126396430199091,3.903476453581059e-5,2.338553477815076e-8,-0.0011122044622860591,3.878987372235069e-5,2.325794563447264e-8,-0.0011116579050496058,3.859916050478475e-5,2.3162471082326266e-8,-0.0011110277638066819,3.8517161490373446e-5,2.3128770665243614e-8,-0.0011103686318442126,3.857932217863279e-5,2.317550345585091e-8,-0.0011097504345893342,3.878498007287958e-5,2.3301147042226735e-8,-0.0011092368658773112,3.909083067031221e-5,2.348067606937274e-8,-0.001108862561025627,3.9421677057301995e-5,2.3671766690779e-8,-0.0011086207894536008,3.969541345367182e-5,2.3828789988108746e-8,-0.001108467784835197,3.9850203582443234e-5,2.3917930158623212e-8,-0.0011083400223898265,3.986149013467848e-5,2.3926558339224554e-8,-0.0011081749835332257,3.9744019406875444e-5,2.3864144977322292e-8,-0.0011079272311021648,3.954206227866765e-5,2.3756473773474773e-8,-0.0011075764036130426,3.9314276041815806e-5,2.3636846724881514e-8,-0.0011071276513506274,3.911872082508301e-5,2.353751460723729e-8,-0.001106606712234522,3.9001210256697606e-5,2.3483218868648787e-8,-0.0011060519911277476,3.8988244203939216e-5,2.3487531140898155e-8,-0.001105505670300844,3.908468395961993e-5,2.3551953376769463e-8,-0.001105005565791467,3.927568764132802e-5,2.3667339954019526e-8,-0.0011045790708096976,3.9531788880221474e-5,2.3816896490402398e-8,-0.0011042398847317478,3.9815546406795756e-5,2.397985579796228e-8,-0.0011039874767033147,4.008822786866677e-5,2.413504494817365e-8,-0.0011038086569949937,4.031539899273079e-5,2.4263827315283715e-8,-0.0011036803427045844,4.047087645509333e-5,2.4352204679952328e-8,-0.0011035726966564098,4.053916604625667e-5,2.4392162684179795e-8,-0.0011034522434320714,4.051692930416066e-5,2.438250815301555e-8,-0.0011032850399023103,4.041397991610771e-5,2.4329393420554233e-8,-0.0011030403485004744,4.0253960514007384e-5,2.424655679752155e-8,-0.001102695483905325,4.0074227905403326e-5,2.415503580398189e-8,-0.001102242193580227,3.992352368685253e-5,2.4081660659305638e-8,-0.0011016936673696796,3.985525563697915e-5,2.4055253488353385e-8,-0.0011010891641663526,3.991473667135059e-5,2.409971221190807e-8,-0.0011004912378463276,4.012168328025906e-5,2.422468321626409e-8,-0.0010999711538006204,4.045477360482803e-5,2.4417430252093232e-8,-0.0010995842055226655,4.084938248726866e-5,2.4641830821643385e-8,-0.0010993460929871167,4.121581701041971e-5,2.484844677700392e-8,-0.0010992250658169746,4.1472215284716905e-5,2.4992557013455944e-8,-0.0010991556460179283,4.1574464276116506e-5,2.505058969589844e-8,-0.0010990652089385281,4.1527398961356164e-5,2.5026265284520233e-8,-0.001098898156768374,4.1375312448001e-5,2.4945200752454744e-8,-0.0010986280334354423,4.118167475058328e-5,2.484337320183111e-8,-0.0010982574815838655,4.100937470290851e-5,2.4755843824772127e-8,-0.0010978110406426043,4.090738485072404e-5,2.4709226856153248e-8,-0.0010973257121964122,4.0904499228446404e-5,2.471836767874099e-8,-0.0010968421791160742,4.10083665738254e-5,2.4786177550209052e-8,-0.0010963977347210852,4.120779805968306e-5,2.4905329142025246e-8,-0.0010960210677344888,4.147702335351955e-5,2.506090255556026e-8,-0.0010957289251758702,4.178110279291195e-5,2.5233456325869303e-8,-0.001095524697387541,4.2081778366454555e-5,2.540215364575196e-8,-0.0010953988246681838,4.2343079153780506e-5,2.5547670181248777e-8,-0.0010953307583887954,4.253610901231246e-5,2.5654681311269465e-8,-0.0010952920447938042,4.264254236325311e-5,2.571372890267199e-8,-0.0010952499739452775,4.2656633559821643e-5,2.5722338660353446e-8,-0.0010951713587064734,4.2585944785351156e-5,2.5685421940828945e-8,-0.0010950263137780906,4.245110365085979e-5,2.5615053368196092e-8,-0.001094792159453469,4.2284683294743016e-5,2.5529653777638224e-8,-0.0010944577225138132,4.212890345796607e-5,2.5452477208888395e-8,-0.0010940280855575993,4.2031223829935575e-5,2.5409021613321293e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_5.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_5.json
deleted file mode 100644
index 7f82b45..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_5.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":5000,"numberOfSamples":1000,"samples":[-0.001093528836966317,4.203642676149489e-5,2.5422725793163846e-8,-0.0010930072646208094,4.217440867148639e-5,2.5508574660559997e-8,-0.0010925265640548522,4.2445448281040656e-5,2.566549440168746e-8,-0.0010921498584701538,4.280927315836898e-5,2.5870776828536737e-8,-0.0010919163003251823,4.318794211770871e-5,2.6081780444674054e-8,-0.001091820523294629,4.348883154959585e-5,2.624831762871915e-8,-0.00109181029138295,4.364045659227296e-5,2.6331989440280285e-8,-0.0010918072934319603,4.362110831307491e-5,2.6321766949888615e-8,-0.0010917391971531742,4.346321105608486e-5,2.6236404835428295e-8,-0.0010915640090047574,4.323393624900339e-5,2.611370862534541e-8,-0.0010912766199280236,4.3007345034387695e-5,2.599493426705449e-8,-0.0010909009016498547,4.284299979150903e-5,2.5912727223068096e-8,-0.001090476431342811,4.277625215835485e-5,2.5885719367964947e-8,-0.0010900465218413144,4.2817753215300766e-5,2.5918503099339365e-8,-0.0010896499951765957,4.2957752709860237e-5,2.6004412180594708e-8,-0.0010893164869373976,4.3171842376795946e-5,2.612906955898042e-8,-0.0010890641035068592,4.34265580743787e-5,2.6273675178051805e-8,-0.0010888984776027527,4.3684563677071033e-5,2.6417842719480934e-8,-0.0010888129019089097,4.3909513777838174e-5,2.65421057988998e-8,-0.0010887895341848287,4.407054827337014e-5,2.663018859077577e-8,-0.0010888016920848876,4.4146217427231046e-5,2.667102788931276e-8,-0.001088817192482838,4.4127450376416946e-5,2.6660363442769395e-8,-0.0010888024752733671,4.401909753500576e-5,2.6601590837686793e-8,-0.0010887270459753056,4.383981898364833e-5,2.65056658451493e-8,-0.0010885677996571497,4.362036647066958e-5,2.639002532249307e-8,-0.0010883129235325867,4.3400346577718806e-5,2.627658759927833e-8,-0.0010879651578661836,4.322346930498476e-5,2.6188934255361087e-8,-0.001087544097987234,4.313109216854214e-5,2.6148709458164907e-8,-0.001087086674855694,4.315374123594729e-5,2.617116796712862e-8,-0.001086644066498112,4.330094126455337e-5,2.6260046435218025e-8,-0.0010862728381159504,4.3551620609182124e-5,2.640284239026193e-8,-0.00108601928226965,4.38502022017017e-5,2.656903579292576e-8,-0.0010859001135970722,4.411523709589743e-5,2.6714781887700585e-8,-0.0010858889754997796,4.426383145393484e-5,2.6795876138844725e-8,-0.0010859203351680025,4.424423453619814e-5,2.6785128110422738e-8,-0.001085913618912209,4.4058578601592776e-5,2.668460538734044e-8,-0.001085805393800295,4.376072785978275e-5,2.6524487039470494e-8,-0.0010855708545136362,4.343117507166159e-5,2.6349304657863846e-8,-0.0010852250584937636,4.314592290426317e-5,2.620071963961655e-8,-0.0010848090868554553,4.295570916633156e-5,2.6105975798650347e-8,-0.001084372654611788,4.2880291469861494e-5,2.6074830737518084e-8,-0.0010839610398885847,4.291308032542563e-5,2.6102403255115617e-8,-0.0010836081790852113,4.302959653013973e-5,2.6174200961517643e-8,-0.0010833344520610171,4.3195574161869046e-5,2.6270850944433867e-8,-0.001083146945167361,4.3373198164366636e-5,2.637160337223827e-8,-0.0010830405767407777,4.352569954505452e-5,2.645674242392391e-8,-0.0010829995124754573,4.3621083270509026e-5,2.6509425138913995e-8,-0.001082998991414148,4.363548696163819e-5,2.6517334874121295e-8,-0.0010830078695757855,4.3556232067080865e-5,2.6474252100274967e-8,-0.0010829921546684827,4.338421730365343e-5,2.638134536379059e-8,-0.0010829195457739626,4.313495597945831e-5,2.6247737743075178e-8,-0.0010827645199852117,4.2837568459182473e-5,2.6089894868217516e-8,-0.0010825131481838203,4.2531405839397756e-5,2.5929625306960433e-8,-0.0010821667257754604,4.2260415291339646e-5,2.5790800121408916e-8,-0.001081743391863589,4.2065789758412284e-5,2.5695202717475755e-8,-0.0010812771260442285,4.197779093233889e-5,2.5658116797976546e-8,-0.00108081368235774,4.2007788209395396e-5,2.5684279138019833e-8,-0.0010804030553122393,4.214188129809646e-5,2.5764875776401685e-8,-0.0010800884167244415,4.2338329128859495e-5,2.5876603076949472e-8,-0.001079892778156456,4.2531881372048156e-5,2.598424858567189e-8,-0.001079807154698478,4.264767562282009e-5,2.6048107274120274e-8,-0.0010797867060579334,4.262394191909685e-5,2.6035904077434437e-8,-0.001079760973783162,4.243610779021697e-5,2.593546226975552e-8,-0.0010796577282035234,4.210950720238184e-5,2.5761387251077892e-8,-0.00107942993302375,4.171117273294466e-5,2.555057096694696e-8,-0.001079071274203828,4.132383281774707e-5,2.5348037433669575e-8,-0.001078613065447523,4.101676275871758e-5,2.5191031444188244e-8,-0.0010781076445001167,4.082789625905243e-5,2.509930154443339e-8,-0.0010776094725232313,4.076147500814069e-5,2.507401361434535e-8,-0.0010771620659250866,4.079616385676292e-5,2.5102488709573008e-8,-0.001076792527426751,4.089624684549766e-5,2.5164595184415124e-8,-0.001076511483357941,4.102115014348993e-5,2.523807558214155e-8,-0.001076315486299618,4.1131846253385905e-5,2.530198861820359e-8,-0.00107618985214185,4.1194730844247526e-5,2.533864785318205e-8,-0.0010761111699562399,4.118418519494565e-5,2.5334821170315685e-8,-0.0010760496321073894,4.1084740905426734e-5,2.5282775112651636e-8,-0.0010759717151872302,4.089317638698599e-5,2.5181368331821842e-8,-0.0010758437806077928,4.062025720268964e-5,2.5037000465379675e-8,-0.001075636874965737,4.029124488214523e-5,2.4863872287821255e-8,-0.001075332344175619,3.994403311673042e-5,2.4682887122784044e-8,-0.0010749270772761371,3.962409533524119e-5,2.4518755050929554e-8,-0.0010744366625150808,3.937631781230898e-5,2.439541151761965e-8,-0.0010738948032005251,3.92350369958662e-5,2.433057466908826e-8,-0.0010733481764564313,3.9214698025557454e-5,2.433083409288902e-8,-0.0010728472503692334,3.930384295442124e-5,2.4388737863373705e-8,-0.0010724347731497891,3.94645175457536e-5,2.44828950313044e-8,-0.0010721343835682733,3.9638151634969455e-5,2.458148402653822e-8,-0.001071942205574794,3.9757775235519326e-5,2.4648932372444277e-8,-0.001071824440490328,3.976485588304506e-5,2.4654800605721794e-8,-0.0010717234455627444,3.962693202706781e-5,2.4582909766611626e-8,-0.0010715727554048086,3.935008138551149e-5,2.4437676459267312e-8,-0.0010713175244551965,3.8979848282591754e-5,2.4244352737564492e-8,-0.0010709326265880106,3.858785169979547e-5,2.4041693976913273e-8,-0.0010704300073954966,3.8248525783302696e-5,2.386941805332488e-8,-0.0010698520086136918,3.801636200014798e-5,2.375603419291011e-8,-0.0010692550526086402,3.791333074165718e-5,2.371227592816189e-8,-0.0010686922574283954,3.792939556885814e-5,2.3731673323543086e-8,-0.0010682017404291997,3.80320722103819e-5,2.379598347049132e-8,-0.0010678024504110503,3.8178531959137147e-5,2.3881867002065674e-8,-0.001067495548138812,3.832556322890049e-5,2.3966240581430207e-8,-0.001067268273277274,3.843582509864842e-5,2.4029501058277472e-8,-0.0010670980487706369,3.848102746680633e-5,2.4057051807740725e-8,-0.0010669558863532884,3.844342728250387e-5,2.403996707058116e-8,-0.001066809160826231,3.8316803241082525e-5,2.3975457859135465e-8,-0.0010666243579828204,3.810746586828673e-5,2.386741669396789e-8,-0.0010663705574710293,3.7835149903862285e-5,2.3726898442079206e-8,-0.0010660241691441985,3.753288897009294e-5,2.3571997852970833e-8,-0.0010655747063436035,3.724442359481839e-5,2.3426335194630528e-8,-0.0010650302250668731,3.701779702157739e-5,2.331547794071486e-8,-0.0010644199291991467,3.68949742785659e-5,2.3261297539301097e-8,-0.001063791223981958,3.6899545236002384e-5,2.327544760228617e-8,-0.0010632000453968727,3.7026820203446666e-5,2.335429289972638e-8,-0.0010626963599818942,3.7241111127013385e-5,2.3477789197827204e-8,-0.0010623095681190381,3.748268981872828e-5,2.3613519575245354e-8,-0.0010620391726174265,3.768289862153553e-5,2.3724946388273585e-8,-0.0010618540779868658,3.7782581455481364e-5,2.3781234371721873e-8,-0.0010617006609737272,3.7748061352030124e-5,2.3765573920194672e-8,-0.0010615170480434892,3.758012724746697e-5,2.367965267011593e-8,-0.0010612495768359004,3.731371428715724e-5,2.3543130785882002e-8,-0.0010608669746345562,3.700835235428079e-5,2.3388256328231037e-8,-0.001060368182069979,3.6731912216637085e-5,2.325105313533104e-8,-0.0010597813426304625,3.654245594481344e-5,2.316169727120985e-8,-0.0010591544075762823,3.647402066316346e-5,2.313718174627855e-8,-0.0010585410167500333,3.653074230958909e-5,2.317853751683003e-8,-0.001057986920975386,3.669012758790272e-5,2.327290785733631e-8,-0.0010575211579176061,3.691257472653399e-5,2.339881300069309e-8,-0.001057153350837812,3.715260399430297e-5,2.3532138314401993e-8,-0.0010568758374386459,3.736812754225494e-5,2.365093104713143e-8,-0.0010566681914793606,3.752620921432137e-5,2.3738273286109503e-8,-0.0010565020401735535,3.760563844652094e-5,2.378349597906288e-8,-0.0010563451015339039,3.759754719033252e-5,2.3782437194464704e-8,-0.0010561643423562313,3.750528822528541e-5,2.3737377447389552e-8,-0.001055928777775758,3.734426906295574e-5,2.365696343832137e-8,-0.0010556126783150875,3.714173971895337e-5,2.3556054900511646e-8,-0.0010551998123746519,3.693577609363618e-5,2.3455071168099988e-8,-0.0010546886977346502,3.677200754758798e-5,2.3378106802298378e-8,-0.001054097575413405,3.66964742503015e-5,2.33490503669857e-8,-0.001053466266416154,3.674410830929957e-5,2.338552532428398e-8,-0.0010528513171096396,3.6925144473778674e-5,2.3491902560416617e-8,-0.0010523125721679219,3.721530665965493e-5,2.365441113669717e-8,-0.0010518941136466624,3.7556866487537555e-5,2.384196911473466e-8,-0.001051607652331739,3.787365765176419e-5,2.4014260649323585e-8,-0.0010514271013640408,3.809514403546298e-5,2.4134458275138142e-8,-0.001051297410707953,3.8178799703989044e-5,2.4180962088243847e-8,-0.001051153003686843,3.812136015142763e-5,2.415318391268279e-8,-0.00105093733776516,3.795628189484318e-5,2.4069945427589834e-8,-0.001050616809646753,3.7741095264425834e-5,2.396246019827039e-8,-0.0010501863481547247,3.754067586859115e-5,2.3865199592522806e-8,-0.0010496673073456411,3.7411575394765774e-5,2.380750812194908e-8,-0.0010490998191358019,3.739064048823195e-5,2.380774834712807e-8,-0.0010485322021737509,3.748944550858809e-5,2.38707245777141e-8,-0.0010480100257824426,3.769477583367159e-5,2.398835336975793e-8,-0.0010475672083879396,3.797425178348991e-5,2.4142928600404912e-8,-0.0010472208647171518,3.8285082197056416e-5,2.4311824887822292e-8,-0.0010469704046910332,3.858335909600687e-5,2.4472287017073512e-8,-0.0010468001087383734,3.883168894481607e-5,2.4605240478689e-8,-0.0010466836675630368,3.900401645641016e-5,2.469763622155349e-8,-0.0010465891449321784,3.9087623690885925e-5,2.4743396088065535e-8,-0.00104648333056439,3.908308679776768e-5,2.4743374271449885e-8,-0.0010463351903678341,3.900321589613522e-5,2.4704818833201865e-8,-0.0010461187174899236,3.887169112109677e-5,2.4640634398441143e-8,-0.0010458157657489216,3.872153411276594e-5,2.456847676636226e-8,-0.0010454194198092652,3.8592904649491364e-5,2.4509434847279802e-8,-0.0010449379598351336,3.85290470767447e-5,2.4485769249212857e-8,-0.0010443983417922637,3.8568960460999586e-5,2.4517067123617403e-8,-0.0010438466104127784,3.8736263817727636e-5,2.4614598497805885e-8,-0.0010433416549984493,3.902636136480175e-5,2.477493404220497e-8,-0.0010429399987465788,3.9398027050649106e-5,2.4975871277955936e-8,-0.0010426746362297934,3.9777843434769186e-5,2.5178904654138547e-8,-0.0010425380922074639,4.0081503788804406e-5,2.5340291710930592e-8,-0.0010424814444555638,4.0244644241275436e-5,2.5427023133151833e-8,-0.0010424322947735387,4.024690202392131e-5,2.5429321392407133e-8,-0.0010423219582340482,4.01162830340403e-5,2.5362869290134385e-8,-0.0010421073140257824,3.9914219183457514e-5,2.526080398688154e-8,-0.0010417790504298643,3.9712303792083824e-5,2.5161204349048078e-8,-0.001041357514815806,3.957206053756882e-5,2.509620077309175e-8,-0.0010408820867983744,3.953305791576254e-5,2.5085701841939114e-8,-0.0010403994183290342,3.960922925354849e-5,2.5135719972456448e-8,-0.001039953473752625,3.979097235888994e-5,2.5239903766051643e-8,-0.0010395783534878653,4.005056096735985e-5,2.538278306056733e-8,-0.0010392939602767437,4.034918264408066e-5,2.5543680164653243e-8,-0.001039104389012981,4.0644480901831106e-5,2.5700644896490313e-8,-0.0010389988421567525,4.089757785496551e-5,2.5833941072896978e-8,-0.0010389545970551956,4.107865514075927e-5,2.5928726316951552e-8,-0.0010389412824983889,4.11705030871186e-5,2.5976731161695342e-8,-0.001038925600905446,4.116986580467381e-5,2.5976894786312716e-8,-0.0010388757116827172,4.108687415422475e-5,2.5935077860987764e-8,-0.0010387648487817887,4.094320887370908e-5,2.586310945168862e-8,-0.0010385741873378635,4.0769583233729096e-5,2.5777407288912374e-8,-0.0010382952268426782,4.0602784133407614e-5,2.569728649515853e-8,-0.0010379320091739295,4.04820837611387e-5,2.564292327050562e-8,-0.0010375031926033312,4.0444330838904017e-5,2.56327270085341e-8,-0.0010370431136598767,4.0516825192555824e-5,2.5679750881275533e-8,-0.0010365998252919112,4.07078727032145e-5,2.5787103029239512e-8,-0.0010362274507746704,4.0997023108730364e-5,2.59432896351184e-8,-0.0010359711779905647,4.133023718538513e-5,2.6120005918730713e-8,-0.0010358476721283505,4.1627586877103866e-5,2.6276137158887212e-8,-0.0010358308191826967,4.180745449119192e-5,2.6370052259346927e-8,-0.0010358552027499252,4.18193769451226e-5,2.6376375102413223e-8,-0.0010358403135057738,4.166678727036104e-5,2.6297719124715485e-8,-0.0010357228189093813,4.140456572009227e-5,2.6163449539399887e-8,-0.0010354780401623975,4.111391003936417e-5,2.6016503918615263e-8,-0.0010351214402610947,4.0871490524131414e-5,2.5897043112633257e-8,-0.0010346952781462417,4.0728626709958974e-5,2.5831362930703574e-8,-0.0010342513894169626,4.070496768499591e-5,2.582864079884688e-8,-0.0010338376130666347,4.0792468598692156e-5,2.588333975697396e-8,-0.001033489928572441,4.09637112677769e-5,2.5979990127741127e-8,-0.0010332292836012598,4.118057987218832e-5,2.6098059615421084e-8,-0.0010330613284611158,4.140165888760393e-5,2.6215931638488723e-8,-0.0010329777530100068,4.158819846524718e-5,2.631390656871405e-8,-0.0010329586810779521,4.170886241656704e-5,2.6376437158564403e-8,-0.001032975936317296,4.1743274993385874e-5,2.6393736765147437e-8,-0.0010329969885598913,4.168421213030391e-5,2.636277559384442e-8,-0.0010329892783965391,4.153821954893292e-5,2.62875676595281e-8,-0.0010329244588995863,4.132454750884092e-5,2.6178635261370543e-8,-0.001032782060381272,4.10726094101633e-5,2.6051674387741775e-8,-0.0010325522769319654,4.0818357819433007e-5,2.5925576579428118e-8,-0.0010322377709549141,4.0599882712942876e-5,2.5819988038191913e-8,-0.0010318544785740738,4.045240035953763e-5,2.575258468299546e-8,-0.001031431325710975,4.0402610592020545e-5,2.5736166079833738e-8,-0.0010310082903914864,4.04622844238969e-5,2.577556155474702e-8,-0.0010306315696239265,4.062155526853457e-5,2.586455506912295e-8,-0.0010303445107737654,4.084394736602622e-5,2.5983723580936618e-8,-0.00103017415051348,4.106712011714914e-5,2.6101034286724267e-8,-0.00103011645990442,4.121429379152592e-5,2.617762452180817e-8,-0.0010301283373702107,4.1218183604357294e-5,2.617978519094077e-8,-0.0010301360479824519,4.1049891214193474e-5,2.6093535091742128e-8,-0.0010300617418679534,4.073592787552085e-5,2.5933314593629573e-8,-0.0010298552834028627,4.0349707833675383e-5,2.5737635695545288e-8,-0.0010295123624857808,3.9981058901976845e-5,2.555325702866578e-8,-0.0010290699371210256,3.970266737753418e-5,2.541762182017323e-8,-0.0010285862799355606,3.95510226577242e-5,2.5348871652570656e-8,-0.001028119665030133,3.952567217658717e-5,2.5345604153804084e-8,-0.0010277146398166707,3.9599592103778894e-5,2.5392608827923747e-8,-0.0010273969445857086,3.9732019239784237e-5,2.54679029136312e-8,-0.0010271741439923543,3.987889635605635e-5,2.554837330653049e-8,-0.0010270387420002831,3.999979218338487e-5,2.5613362144150908e-8,-0.0010269717730998133,4.006209216467498e-5,2.564665439659544e-8,-0.0010269462335600545,4.004361181148552e-5,2.563758062373979e-8,-0.001026930475247916,3.993429582593155e-5,2.5581696150718296e-8,-0.0010268917955752411,3.9737131056284514e-5,2.54811632465487e-8,-0.0010268003254188763,3.946803547779058e-5,2.5344696049297998e-8,-0.001026633045285693,3.9154302349015926e-5,2.51867793373167e-8,-0.001026377413673644,3.883136780108241e-5,2.502596843310329e-8,-0.0010260339595217747,3.8538067531633994e-5,2.4882331374804033e-8,-0.00102561729797183,3.8310807330376756e-5,2.477430480252826e-8,-0.0010251551932449294,3.8177261675103885e-5,2.471538175976041e-8,-0.001024685487708184,3.8150384280356484e-5,2.4711128828705612e-8,-0.0010242508292970316,3.822352571453758e-5,2.475696413222644e-8,-0.0010238910923221203,3.836763523516221e-5,2.4837113045173785e-8,-0.0010236336767047106,3.853222377882937e-5,2.492543131105467e-8,-0.0010234830537858264,3.865239008611646e-5,2.49891058187856e-8,-0.0010234129983969168,3.8663590948988006e-5,2.4996031285257513e-8,-0.0010233670245726736,3.852273512816904e-5,2.492524814844594e-8,-0.001023271959887443,3.822833359285693e-5,2.4776942964655382e-8,-0.0010230632432314934,3.782769524653137e-5,2.4575998844550145e-8,-0.0010227107525744934,3.740279961889332e-5,2.436473371991324e-8,-0.0010222302402959167,3.703969137491942e-5,2.418716232193019e-8,-0.0010216740030515826,3.6798124988745376e-5,2.4073362152007457e-8,-0.001021108290579188,3.669683896443461e-5,2.4031974626159863e-8,-0.0010205912572348655,3.6717350983459955e-5,2.4052398420585333e-8,-0.0010201604372997207,3.681830406381751e-5,2.411249122180296e-8,-0.0010198303307530497,3.6950727918991715e-5,2.418666800590093e-8,-0.0010195960756659162,3.706898533184759e-5,2.4251597017513103e-8,-0.001019439056359185,3.713670445797552e-5,2.4289132019925126e-8,-0.001019332059571601,3.7129221763336125e-5,2.428734485125245e-8,-0.0010192433493335681,3.70343141516297e-5,2.4240686043212892e-8,-0.0010191400194511332,3.685229866278754e-5,2.4149908608415946e-8,-0.0010189911883879065,3.659580376531763e-5,2.402192783224623e-8,-0.0010187714343872375,3.628895436908966e-5,2.3869435845986977e-8,-0.0010184645132939021,3.596533710163379e-5,2.3709873676371996e-8,-0.001018066855839815,3.566412672527142e-5,2.3563393719128077e-8,-0.0010175898667280023,3.542425031334137e-5,2.3449761052332165e-8,-0.0010170599390659412,3.5277162817117435e-5,2.3384558945173422e-8,-0.001016515394012989,3.523949770501541e-5,2.3375440811865953e-8,-0.0010160002224420199,3.530738001007149e-5,2.3419397704779323e-8,-0.0010155553831384591,3.545419198619564e-5,2.3501928264935122e-8,-0.001015209142874551,3.563302488615149e-5,2.3598624983890202e-8,-0.0010149684067089226,3.5784346527384886e-5,2.3679292211144022e-8,-0.0010148133891465872,3.584860072421633e-5,2.3714344288769612e-8,-0.0010146982630651578,3.5782055660811007E-05,2.3682629377636572e-8,-0.0010145599654888093,3.557207326886522e-5,2.3578848270284908e-8,-0.0010143351722388912,3.5245823371830506e-5,2.3417678410022003e-8,-0.0010139811800521554,3.486632047924191e-5,2.3231576085062046e-8,-0.001013492050599654,3.4513974439642034e-5,2.3061330561170134e-8,-0.0010129013184621315,3.4259974954934804e-5,2.2942555475658693e-8,-0.0010122691652813616,3.4143842428325755e-5,2.289440024171102e-8,-0.001011660964001645,3.416527319904436e-5,2.291564249859294e-8,-0.0010111280235503381,3.429134318278579e-5,2.2988645742694414e-8,-0.0010106976785511353,3.447205752042876e-5,2.3087503664077148e-8,-0.0010103730798261847,3.465571175252602e-5,2.3185940039964153e-8,-0.0010101387428839818,3.479919616418346e-5,2.3262469964226124e-8,-0.0010099675794849883,3.487271276682596e-5,2.3302608900919384e-8,-0.0010098269209837737,3.4860699206272e-5,2.3299134968487392e-8,-0.0010096829020666328,3.476102080226269e-5,2.3251535621906485e-8,-0.0010095036482449427,3.4583741581220033e-5,2.316533851284319e-8,-0.00100926202814437,3.434990375649573e-5,2.3051517011118484e-8,-0.0010089385902406682,3.409004467856952e-5,2.2925769286763956e-8,-0.0010085248696185096,3.384168830235557e-5,2.2807227493595864e-8,-0.0010080265806791115,3.3644931550302674e-5,2.2716140262856692e-8,-0.0010074654828322916,3.353571640167953e-5,2.26703687608163e-8,-0.0010068782778092742,3.353743271134205e-5,2.268110345686206e-8,-0.0010063112194841138,3.36528689313314e-5,2.274888894220196e-8,-0.0010058104572475534,3.3859569732431347e-5,2.286150383963712e-8,-0.0010054101212326877,3.411145176628525e-5,2.2995062591133473e-8,-0.0010051217418514823,3.434769733360527e-5,2.3118734876600543e-8,-0.0010049287823506632,3.450726125747007e-5,2.3202145373587556e-8,-0.0010047886815621875,3.454511779650876e-5,2.3223469127649264e-8,-0.001004642523791172,3.444551550645358e-5,2.317587375654054e-8,-0.0010044301777682276,3.4228082912857005e-5,2.307029016040388e-8,-0.0010041070053985303,3.394428660482434e-5,2.293333606477324e-8,-0.0010036572007801948,3.366424530591849e-5,2.280046957873214e-8,-0.0010030989670374397,3.3457142010512746e-5,2.2706067870780697e-8,-0.001002478977520436,3.3371580578821594e-5,2.2673661179006083e-8,-0.0010018578283530568,3.342312200493025e-5,2.2709939398912565e-8,-0.0010012922882052613,3.359334378293894e-5,2.2804621910948108e-8,-0.0010008212275209021,3.3839363188058443e-5,2.2935524319804295e-8,-0.0010004594328713067,3.410840614322706e-5,2.3076001992787873e-8,-0.0010001992187818722,3.4351274842747164e-5,2.320166356575127e-8,-0.0010000167281470184,3.453101661995363e-5,2.3294552412610813e-8,-9.998793317252265e-4,3.462633409658824e-5,2.3344654270450874e-8,-9.997518470452732e-4,3.4631318428131296e-5,2.3349607127017085e-8,-9.996009199043014e-4,3.455348552109253e-5,2.3313647478180466e-8,-9.9939795849614e-4,3.44114906802232e-5,2.3246470434010358e-8,-9.99121407187035e-4,3.4233040893128126e-5,2.3162210737379513e-8,-9.987590833800812e-4,3.405276743515656e-5,2.3078368950141786e-8,-9.983108679056524e-4,3.390926822320403e-5,2.3014265042933495e-8,-9.97791306534957e-4,3.384032770146051e-5,2.2988554306834156e-8,-9.972307991430098e-4,3.3875718713881964e-5,2.3015580148524872e-8,-9.966733564831009e-4,3.4028221102158114e-5,2.310094837163757e-8,-9.961691020362934e-4,3.428546408696686e-5,2.3237638825588425e-8,-9.957615865134595e-4,3.46069401339788e-5,2.3404762682669036e-8,-9.954733186501152e-4,3.493021100327155e-5,2.357086532821176e-8,-9.952956330342465e-4,3.5186762200118035e-5,2.370192787102682e-8,-9.95188477807128e-4,3.532262383638006e-5,2.377162507367407e-8,-9.950913872963697e-4,3.5315508210565336e-5,2.376975873492727e-8,-9.94941500795456e-4,3.518154860532421e-5,2.3705430116577784e-8,-9.946916452042978e-4,3.496972133573339e-5,2.3603993034892922e-8,-9.943224955306555e-4,3.4747072949003844e-5,2.3499389344168517e-8,-9.938459958236127e-4,3.458033160070616e-5,2.3424766870853507e-8,-9.933002965673123e-4,3.451936283405707e-5,2.3404222600228282e-8,-9.92738532106868e-4,3.4586492210376424e-5,2.34477123751599e-8,-9.922149570488884e-4,3.47737697346077e-5,2.35500702634693e-8,-9.917723365169562e-4,3.504802300243e-5,2.369389615669735e-8,-9.91433801696836e-4,3.536137626092322e-5,2.385500900287136e-8,-9.912006576782077e-4,3.566352992413874e-5,2.4008564476421496e-8,-9.910555099664157e-4,3.591217265700787e-5,2.4134077453991628e-8,-9.909685467225334e-4,3.607935109184319e-5,2.4218367354514807e-8,-9.90904493799253e-4,3.615353059249766e-5,2.4256393376223053e-8,-9.90828480212809e-4,3.613845925610944e-5,2.4250587005171246e-8,-9.90710154736621e-4,3.605041340979941e-5,2.420946428455628e-8,-9.905262925749175e-4,3.5915102415850375e-5,2.4146106990416895e-8,-9.902625674466235e-4,3.576480559520487e-5,2.407673810359449e-8,-9.899151595612757e-4,3.563558997580312e-5,2.4019285840091026e-8,-9.894925239248037e-4,3.556393259086711e-5,2.399161892926978e-8,-9.890169789091286e-4,3.558183032668142e-5,2.400906596769323e-8,-9.885248529442735e-4,3.570977187754583e-5,2.4080982598891237e-8,-9.880631022206629e-4,3.594816942793109e-5,2.4206693186517794e-8,-9.876803749587692e-4,3.6270078383065484e-5,2.4372152484305683e-8,-9.874125517596248e-4,3.662032117452578e-5,2.4549731590826265e-8,-9.872671120179847e-4,3.6926008414473374e-5,2.470348797116585e-8,-9.872146960178598e-4,3.7118461255131244e-5,2.4799926090503432e-8,-9.871951531337715e-4,3.715829143129886e-5,2.482028574407889e-8,-9.871375620403313e-4,3.705077677427379e-5,2.476806781996489e-8,-9.869847448893906e-4,3.684329236067619e-5,2.466765451933042e-8,-9.867105450566658e-4,3.660725536650436e-5,2.4555140657066402e-8,-9.86323904247596e-4,3.641469724773145e-5,2.4466432455541804e-8,-9.858615016007492e-4,3.631928880259697e-5,2.442766534764061e-8,-9.85374633250025e-4,3.634645237112784e-5,2.4450388419430107e-8,-9.849156337300748e-4,3.649235218034662e-5,2.453139904021426e-8,-9.845270231932197e-4,3.672923823051199e-5,2.465582036281864e-8,-9.842346708626541e-4,3.7014300862134964e-5,2.4801822245291615e-8,-9.840451716688692e-4,3.729969081586018e-5,2.4945700886248175e-8,-9.839470708571595e-4,3.754181375466232e-5,2.5066377411016933e-8,-9.839150653915634e-4,3.770836043790428e-5,2.514864253568232e-8,-9.83915845150665e-4,3.778218739727299e-5,2.5184832131647895e-8,-9.839141440703577e-4,3.776204586365129e-5,2.5175023720621267e-8,-9.838778946578378e-4,3.7660825559131726e-5,2.5126110722890017e-8,-9.837819111355383e-4,3.750231363693385e-5,2.5050212268447694e-8,-9.83610120160167e-4,3.731747931219535e-5,2.4962853060990782e-8,-9.833567922937184e-4,3.714089212336408e-5,2.4881163070795294e-8,-9.830272886633775e-4,3.700727412351498e-5,2.4822096717103307e-8,-9.826385911278707e-4,3.69477424015823e-5,2.4800505830703303e-8,-9.82219396284537e-4,3.698509836147771e-5,2.4826830050034716e-8,-9.818087670899545e-4,3.712771767756578e-5,2.4904243886600084e-8,-9.814515702841564e-4,3.7362648046258683e-5,2.5025539421476875e-8,-9.811889802018954e-4,3.7650571338024e-5,2.5170939795615703e-8,-9.810442154511204e-4,3.792755371116602e-5,2.5309102919604293e-8,-9.810080333830023e-4,3.811864493199592e-5,2.5403711739960307e-8,-9.81033207624282e-4,3.8163102204115404e-5,2.5425633123846726e-8,-9.810462359989666e-4,3.804100654306584e-5,2.5365828059548833e-8,-9.809743731534347e-4,3.778505688611488e-5,2.524112956896296e-8,-9.807739041156364e-4,3.746843502401319e-5,2.508825210734586e-8,-9.804438663459916e-4,3.717577379911337e-5,2.4949313572355698e-8,-9.800204118408863e-4,3.697428727925494e-5,2.485733884169189e-8,-9.795593431768212e-4,3.6897909348930136e-5,2.4828320900585492e-8,-9.791176972697106e-4,3.694613487266822e-5,2.4860822858248447e-8,-9.78740821256568e-4,3.709208601691692e-5,2.4940346749398108e-8,-9.784561041063255e-4,3.7293678129001164e-5,2.5045249521682385e-8,-9.782718489133458e-4,3.7504071244625615e-5,2.5152145120602866e-8,-9.781792758595254e-4,3.7679941882763186e-5,2.5239992535436655e-8,-9.781562333794412e-4,3.778745647138105e-5,2.5292850462091087e-8,-9.781718882523143e-4,3.780606999115621e-5,2.530147602469855e-8,-9.781918620216884e-4,3.773013883351006e-5,2.5263886480747403e-8,-9.781832167389938e-4,3.7568458080856365e-5,2.518501010675023e-8,-9.78118742072559e-4,3.7342042791065954e-5,2.507558218052921e-8,-9.779801236071979e-4,3.708061130398327e-5,2.4950452157285786e-8,-9.777597868775496e-4,3.681839353569755e-5,2.4826535622686178e-8,-9.774615375963498e-4,3.6589861622145944e-5,2.47206704952449e-8,-9.771002958644923e-4,3.642562803302159e-5,2.464752335844287e-8,-9.767011177636903e-4,3.6348412775412787e-5,2.461757103592887e-8,-9.762974059618317e-4,3.636884684333104e-5,2.463512177599872e-8,-9.759277035517238e-4,3.648101405343806e-5,2.4696356361916733e-8,-9.75629951246629e-4,3.665840901177218e-5,2.4787660934629145e-8,-9.754322748465593e-4,3.685252659570957e-5,2.4885193908702775e-8,-9.75340987613693e-4,3.699788916582287e-5,2.495739454375517e-8,-9.753299684090048e-4,3.702722840929396e-5,2.4972198717358794e-8,-9.753395265608093e-4,3.689599167738356e-5,2.490869287630752e-8,-9.752920720559031e-4,3.6606102877796636e-5,2.4768523544825133e-8,-9.751219280535475e-4,3.62127126348543e-5,2.457919604533296e-8,-9.748035378869218e-4,3.580501071706199e-5,2.4384716721739845e-8,-9.743604317943561e-4,3.5470563709328834E-05,2.4228018734390125e-8,-9.738510761405169e-4,3.526450154078282e-5,2.4135686744524703e-8,-9.733435765106256e-4,3.519840608946445e-5,2.411249078547065e-8,-9.728943634004211e-4,3.5247780682422384e-5,2.4145284649450995e-8,-9.725377477092212e-4,3.536768335651393e-5,2.4211049479849402e-8,-9.722848444423038e-4,3.550754893515966e-5,2.428448154165182e-8,-9.72127563371285e-4,3.562150854076412e-5,2.4343174928178926e-8,-9.720441769973178e-4,3.567417242302132e-5,2.437035998268252e-8,-9.720046367152485e-4,3.56432887461309e-5,2.4355963585866076e-8,-9.719752390974952e-4,3.552063301357858e-5,2.4296779131561367e-8,-9.719228596586245e-4,3.531171554305102e-5,2.4196141313711178e-8,-9.718188423673552e-4,3.503437202507118e-5,2.406317927089353e-8,-9.716423998941957e-4,3.471621408885309e-5,2.3911605715671775e-8,-9.713832408989576e-4,3.439096166140005e-5,2.3757978780585042e-8,-9.710430366130846e-4,3.409389102193965e-5,2.361948593481193e-8,-9.70635446133547e-4,3.3856923351839665e-5,2.3511491505683215e-8,-9.701846919981149e-4,3.370390574741038e-5,2.3445165212560717e-8,-9.697228228770885e-4,3.364647614797688e-5,2.342546325722505e-8,-9.692857745624962e-4,3.368081166293388e-5,2.3449670440655165e-8,-9.689081926968012e-4,3.378557365972413e-5,2.3506650641077334e-8,-9.686168099705691e-4,3.392170644199995e-5,2.357703705485365e-8,-9.684224658620934e-4,3.4035563171401795e-5,2.3634937383161203e-8,-9.68312113340623e-4,3.406746818840269e-5,2.3652061632635778e-8,-9.682443258694862e-4,3.396706662113197e-5,2.3604922859051918e-8,-9.681538286062369e-4,3.371329935534211e-5,2.348419799835916e-8,-9.679692761326831e-4,3.333058404686902e-5,2.330235800983941e-8,-9.676407409410866e-4,3.2888734991917684e-5,2.3093584924486144e-8,-9.671629996624705e-4,3.2480309923178234e-5,2.2902797651000153e-8,-9.665791080763037e-4,3.2184835146996645e-5,2.276825671546724e-8,-9.659613244934983e-4,3.204046428493923e-5,2.270778086296016e-8,-9.653822640887052e-4,3.203767611505963e-5,2.2715798323767404e-8,-9.648929276683705e-4,3.213287335072607e-5,2.2770213229558723e-8,-9.645149837962753e-4,3.226903530996189e-5,2.2842729866168465e-8,-9.642442355567376e-4,3.239247708087407e-5,2.2907171397624284e-8,-9.640587530216115e-4,3.24620993246358e-5,2.2943963859402317e-8,-9.639270001539048e-4,3.245248074250296e-5,2.2941464499432092e-8,-9.638140578411377e-4,3.235353569481727e-5,2.2895550510650823e-8,-9.6368595444148e-4,3.2168912493880215e-5,2.28086319018673e-8,-9.635128997527551e-4,3.191410788621952e-5,2.2688634455621677e-8,-9.632720633656184e-4,3.161432337084309e-5,2.2547969983926774e-8,-9.629500908473864e-4,3.1301728190777524e-5,2.2402276055104036e-8,-9.625451789726969e-4,3.101176374193039e-5,2.226867575507521e-8,-9.620681774777247e-4,3.077836455776551e-5,2.216345368450055e-8,-9.615420329416084e-4,3.0628500411465295e-5,2.209935540113096e-8,-9.609991467969121e-4,3.057690888665009e-5,2.2082994490797295e-8,-9.604766797714861e-4,3.062205911343596e-5,2.2112942498469528e-8,-9.600102747775835e-4,3.074434601472043e-5,2.2179018433807102e-8,-9.596270214263777e-4,3.090724439259373e-5,2.2263089974248304e-8,-9.593386562986945e-4,3.1061771792007744e-5,2.2341454918293274e-8,-9.591361349101454e-4,3.1154428547892235e-5,2.2388764734143828e-8,-9.589871735461636e-4,3.113854434292479e-5,2.2383389507898628e-8,-9.588390052667267e-4,3.0987899671081076e-5,2.23137088373979e-8,-9.586285812047179e-4,3.0709291166627064e-5,2.2183841699676357e-8,-9.583004549904042e-4,3.034807980718291e-5,2.20160808943815e-8,-9.578277490469907e-4,2.9980170319710332e-5,2.1846942684937246e-8,-9.572262091683876e-4,2.968886340238766e-5,2.1716059377740093e-8,-9.565515092747311e-4,2.953507814969651e-5,2.1651963566920276e-8,-9.558790138711099e-4,2.9536365304518656e-5,2.166217296734255e-8,-9.552767930981623e-4,2.9665583334704913e-5,2.173278583758932e-8,-9.547860467171304e-4,2.9867061406297094e-5,2.1836474927304304e-8,-9.544158266696612e-4,3.0078540975903094e-5,2.1943173400982044e-8,-9.541492278461368e-4,3.024805141205629e-5,2.20281932369835e-8,-9.539540335951516e-4,3.034185193150517e-5,2.2075920768301698e-8,-9.537924048895253e-4,3.0345247140230987e-5,2.208000983233228e-8,-9.536275311546465e-4,3.025982229495277e-5,2.204185499562896e-8,-9.534275077413425e-4,3.0099841725022342e-5,2.1968736705240954e-8,-9.531675967845711e-4,2.9889041402266785e-5,2.187225621318765e-8,-9.528318988517542e-4,2.9657867759765324e-5,2.1767059789256722e-8,-9.524149404686213e-4,2.9440645440285744e-5,2.1669541941369942e-8,-9.519231274636026e-4,2.9272003957849185e-5,2.1596154336982085e-8,-9.513754532627277e-4,2.9182105324352853e-5,2.156109047838405e-8,-9.508024505321581e-4,2.9190878090889825e-5,2.1573483188737836e-8,-9.502424663511357e-4,2.9302351813132366e-5,2.1634700321363326e-8,-9.49735030418587e-4,2.9500882232911995e-5,2.1736638845838566e-8,-9.493122042363756e-4,2.975120128025421e-5,2.1861931766478845e-8,-9.489899450602254e-4,3.0003488125871785e-5,2.19865714491652e-8,-9.487620601966599e-4,3.020311750055373e-5,2.2084695992892515e-8,-9.485988957950232e-4,3.030316317880326e-5,2.2134553407674564e-8,-9.484518091654521e-4,3.0276810472256283e-5,2.2124270364054122e-8,-9.482632222856166e-4,3.0126538386465414e-5,2.205597301242971e-8,-9.479807554179524e-4,2.9887047408005317e-5,2.194689841841948e-8,-9.475724436270446e-4,2.961960692398054e-5,2.1826477535904775e-8,-9.470384606933393e-4,2.9397309036501518e-5,2.1729216202936675e-8,-9.464140919087501e-4,2.9284117233135745e-5,2.168479093152599e-8,-9.457607135250013e-4,2.931474722874649e-5,2.1708699518209903e-8,-9.451468703045619e-4,2.948415363474355e-5,2.179756824154432e-8,-9.446272642077682e-4,2.975166154093429e-5,2.19313942223417e-8,-9.442287741878977e-4,3.005706659105484e-5,2.2081348790756766e-8,-9.439480612138644e-4,3.0340177706433605e-5,2.2219059244211306e-8,-9.437587330039747e-4,3.05555047742844e-5,2.232346391891961e-8,-9.436224123828684e-4,3.0678595514250895e-5,2.2383640253534496e-8,-9.434987028230832e-4,3.0705355294702186e-5,2.2398300631400305e-8,-9.433518093842979e-4,3.0647746413302585e-5,2.2373619930447855e-8,-9.431539596951896e-4,3.052879162175852e-5,2.2320812424416252e-8,-9.42886827941632e-4,3.0378337056025078e-5,2.2254139731918605e-8,-9.425421763466582e-4,3.0229750427711546e-5,2.2189391361884014e-8,-9.421224563862095e-4,3.011700715597695e-5,2.2142531937943215e-8,-9.416414774327706e-4,3.0071346469157127e-5,2.212810620989906e-8,-9.411245660268458e-4,3.0116816661240038e-5,2.215710354642401e-8,-9.406070615964384e-4,3.026467552618603e-5,2.2234316233793085e-8,-9.40129838692488e-4,3.050774422637882e-5,2.2355753528190237e-8,-9.397312194328286e-4,3.0817081031483444e-5,2.2507225708871276e-8,-9.394363651629871e-4,3.1143952690525606e-5,2.266544635054926e-8,-9.39247469629382e-4,3.14289902634384e-5,2.2802467253505157e-8,-9.391392811567771e-4,3.161734154321736e-5,2.28928419535772e-8,-9.390631834203985e-4,3.1675072753920046e-5,2.292128485717643e-8,-9.389595011470184e-4,3.160054917881444e-5,2.2887892684632222e-8,-9.38774017044829e-4,3.142629938669554e-5,2.2808821851867562E-08,-9.384731170441491e-4,3.121073248180759e-5,2.2712144428496986e-8,-9.380529653295315e-4,3.102263562512172e-5,2.2630329259409035e-8,-9.37540421932073e-4,3.0923179639618185e-5,2.2591680785415607e-8,-9.369857583175107e-4,3.095034383443137e-5,2.261312414301245e-8,-9.364492385837592e-4,3.1109898640259824e-5,2.269626110812058e-8,-9.359853619300495e-4,3.137546064701527e-5,2.2827755619925506e-8,-9.356295240548179e-4,3.16974681512932e-5,2.2983821119346855e-8,-9.353911527823038e-4,3.2017802198202046e-5,2.313717510433112e-8,-9.35254811672147e-4,3.228479107023496e-5,2.326399499414142e-8,-9.351875597689146e-4,3.2463820357644084e-5,2.3348709349042408e-8,-9.351488611202442e-4,3.2541398176328435e-5,2.338570291153537e-8,-9.350994833205346e-4,3.25234996917194e-5,2.3378386345866902e-8,-9.350074661012362e-4,3.2430678404906835e-5,2.333682380228043e-8,-9.348510276335349e-4,3.229243028857118e-5,2.3275080016553152e-8,-9.346193314669444e-4,3.214231620297721e-5,2.3208959235950077e-8,-9.34312262797197e-4,3.2014221186669155e-5,2.3154273367792384e-8,-9.339400414025882e-4,3.193933185076618e-5,2.3125418905859264e-8,-9.33522913696338e-4,3.194305448645945e-5,2.3133910756853474e-8,-9.330904862493931e-4,3.204115275895757e-5,2.3186578394138074e-8,-9.326796244283101e-4,3.223492294630654e-5,2.3283386135426127e-8,-9.323295184334296e-4,3.250635238251842e-5,2.3415326287966734e-8,-9.320730236673442e-4,3.281574833663746e-5,2.356349553000111e-8,-9.319252711366798e-4,3.310543782936856e-5,2.3700943505328696e-8,-9.318736216132645e-4,3.331219177128394e-5,2.3798471243414568e-8,-9.318752640651988e-4,3.338676318697942e-5,2.3833655432768257e-8,-9.31866963948998e-4,3.331301147491189e-5,2.3799668733206908e-8,-9.317849968972861e-4,3.311655040946259e-5,2.3709231637614105e-8,-9.315865645433877e-4,3.2857438239323513e-5,2.3591073380549135e-8,-9.312628626536916e-4,3.2610345594110236e-5,2.3480457903216238e-8,-9.308393005661033e-4,3.24417200448329e-5,2.3408301483171562e-8,-9.303651936824847e-4,3.239281090859414e-5,2.339318150193606e-8,-9.298986864069065e-4,3.24725338782039e-5,2.343818307136948e-8,-9.29492219127464e-4,3.265959531263871e-5,2.3532245846076462e-8,-9.291818021359038e-4,3.2911055999915944e-5,2.3654527540462002e-8,-9.289814804693926e-4,3.317408157338681e-5,2.3780107907133812e-8,-9.28883102878134e-4,3.339795710135585e-5,2.3885603751994195e-8,-9.288606081706539e-4,3.3543937048918637e-5,2.3953598676844333e-8,-9.288772589118661e-4,3.3591181371482934e-5,2.3975172255395918e-8,-9.288937419745458e-4,3.353814016920971e-5,2.395033272948154e-8,-9.288751893623011e-4,3.340004673214571e-5,2.3886721538417358e-8,-9.287959268978146e-4,3.320403594462646e-5,2.3797303763589087e-8,-9.286417064222096e-4,3.298355112980294e-5,2.369778683496962e-8,-9.284099392258089e-4,3.277328729013441e-5,2.3604298515993387e-8,-9.281087947963245e-4,3.260518664063019e-5,2.3531530406527254e-8,-9.277558922978596e-4,3.25053020042501e-5,2.3491259018736307e-8,-9.27376881127838e-4,3.2490978444289704E-05,2.349102519309791e-8,-9.270036743482587e-4,3.2567791005183e-5,2.3532761106056747e-8,-9.266715169341242e-4,3.2726055504754945e-5,2.361130945511728e-8,-9.264137151151058e-4,3.293770276831043e-5,2.3713172494102367e-8,-9.262532777753961e-4,3.315574465668824e-5,2.3816439311101114e-8,-9.261924253535585e-4,3.331972423030237e-5,2.389335984974595e-8,-9.262040127993932e-4,3.336992217268715e-5,2.3916815814377182e-8,-9.262317722939682e-4,3.326872605091641e-5,2.3870037451283865e-8,-9.26204733848964e-4,3.3020183443077696e-5,2.3755545743126395e-8,-9.260627882338456e-4,3.267485106444268e-5,2.3597373291928313e-8,-9.257806549268176e-4,3.2313603001887904e-5,2.343349628055146e-8,-9.253766285983505e-4,3.201794497161325e-5,2.3301884783205278e-8,-9.249026226141552e-4,3.1842977355389055e-5,2.3227766419155888e-8,-9.244236141866019e-4,3.1804942562237756e-5,2.321783898637054e-8,-9.239978305283136e-4,3.188429203691447e-5,2.3261932645223352e-8,-9.236643245273065e-4,3.203781785436325e-5,2.3339012154274225e-8,-9.234386977616611e-4,3.221281488408803e-5,2.3424069805742805e-8,-9.233147289125141e-4,3.235906739356297e-5,2.3493825767808208e-8,-9.232692914346888e-4,3.243722377144107e-5,2.3530540271546322e-8,-9.232686902572398e-4,3.242362191865267e-5,2.3524031114582375e-8,-9.232753070314963e-4,3.231198064538372e-5,2.347219924760264e-8,-9.232537561991422e-4,3.211234823824068e-5,2.3380345332508162e-8,-9.231758558037119e-4,3.1847866001873865e-5,2.3259584838009844e-8,-9.230239270817444e-4,3.155012781518374e-5,2.3124710835478002e-8,-9.227922362546493e-4,3.1253999746506684e-5,2.299185234886264e-8,-9.224867387452752e-4,3.0992724464646724e-5,2.2876250708263638e-8,-9.221236055597706e-4,3.079385597163362e-5,2.27903811393233e-8,-9.217270560533948e-4,3.067609570471294e-5,2.2742468990955336e-8,-9.213267796337176e-4,3.064680318714811e-5,2.2735346156833847e-8,-9.20954912564315e-4,3.0699934328855683e-5,2.2765581416612138e-8,-9.206421478418023e-4,3.08143607477365e-5,2.2822873109824424e-8,-9.204122660196305e-4,3.095320827010874e-5,2.2889943688910157e-8,-9.202747886912586e-4,3.106597764009101e-5,2.2943650815208422e-8,-9.20216936947342e-4,3.1095988189358365e-5,2.2958395502173376e-8,-9.201985234595585e-4,3.099497926622176e-5,2.2912665548665453e-8,-9.201557642877907e-4,3.074296687634402e-5,2.2797948208220792e-8,-9.200186966514138e-4,3.0364621739963786e-5,2.2626137511840795e-8,-9.197385636888824e-4,2.9929213138156976e-5,2.242949417390068e-8,-9.193108394574188e-4,2.9527970187913423e-5,2.225019669376877e-8,-9.187785340875029e-4,2.9238845703639758e-5,2.2123997801802605e-8,-9.182134225021054e-4,2.9098989670442113e-5,2.2067447146301895e-8,-9.176879830111815e-4,2.9098589555165532e-5,2.2075132170368005e-8,-9.17253784391652e-4,2.9193712335522423e-5,2.212586268610836e-8,-9.169332050515159e-4,2.932621852597383e-5,2.2192168520093514e-8,-9.167219505579218e-4,2.944065181810668e-5,2.224829932694638e-8,-9.165966656263807e-4,2.949439756587482e-5,2.2274934020959177e-8,-9.165233093736817e-4,2.9461840863147958e-5,2.226094758259148e-8,-9.164642868928159e-4,2.9334685108527463e-5,2.220331133229603e-8,-9.163839913645998e-4,2.9120232422900573e-5,2.2106066579955823e-8,-9.162530317647461e-4,2.883851348103519e-5,2.1978863978225656e-8,-9.160513185398048e-4,2.8518597058158136e-5,2.1835244906513958e-8,-9.15769988624412e-4,2.8194298243653313e-5,2.1690730238489156e-8,-9.154120664548803e-4,2.7899535170271005e-5,2.1560765750180442e-8,-9.149917488095805e-4,2.7663738874698725e-5,2.1458654195702416e-8,-9.145323801553542e-4,2.7507851429598272e-5,2.1393709233720136e-8,-9.140634112563936e-4,2.744128142921948e-5,2.136983448703116e-8,-9.136166435043148e-4,2.745994641856036e-5,2.1384644526880326e-8,-9.13221944692427e-4,2.754549808736449e-5,2.1429208794373388e-8,-9.129024910120398e-4,2.7665888640565562e-5,2.148847949703196e-8,-9.126694819496386e-4,2.7777706431344518e-5,2.154253176218981e-8,-9.125166098566058e-4,2.7831321553144563e-5,2.156899691685832e-8,-9.124157000485842e-4,2.7780165658292776e-5,2.1547232079309533e-8,-9.123165267733067e-4,2.759442992476146e-5,2.1464373542698462e-8,-9.121548623777333e-4,2.7276427140508372e-5,2.1322119221499095e-8,-9.118711019526034e-4,2.6870144591949852e-5,2.114094313683426e-8,-9.114350063079968e-4,2.6455006129514234e-5,2.0957209029743784e-8,-9.108634742462995e-4,2.6120092101343845e-5,2.081139801841706e-8,-9.102178200814272e-4,2.5929424367736944e-5,2.0732255869559906e-8,-9.095797117160946e-4,2.5898353086471822e-5,2.0726067368364644e-8,-9.090202329768966e-4,2.5993933266429337e-5,2.077699539719869e-8,-9.085793014011967e-4,2.615479802733407e-5,2.0856387709915296e-8,-9.082619863653898e-4,2.6315579246745158e-5,2.09341239475786e-8,-9.080467696016204e-4,2.6424152758084614e-5,2.098656643738969e-8,-9.078974977973308e-4,2.6448875948786817e-5,2.0999792057647626e-8,-9.077736775849799e-4,2.6378608518081082e-5,2.0969414117202983e-8,-9.076374388060467e-4,2.621931034153885e-5,2.089880711320176e-8,-9.074576563940846e-4,2.598981028468818e-5,2.0797007293920687e-8,-9.072123555606045e-4,2.5717763310892864e-5,2.067680801973962e-8,-9.068901702931364e-4,2.543581375595846e-5,2.055305287961445e-8,-9.064910919600087e-4,2.51777245706118e-5,2.044096225969404e-8,-9.060264239903059e-4,2.497429600456872e-5,2.0354350101638346e-8,-9.055176396903595e-4,2.4849147035049042e-5,2.0303725663131417e-8,-9.049938331462582e-4,2.48148520431951e-5,2.0294513960783498e-8,-9.044877759473634e-4,2.487013629166907e-5,2.0325761996341625e-8,-9.040309431041147e-4,2.4998716181532725e-5,2.0389648367651206e-8,-9.036480496186143e-4,2.5170219741609872e-5,2.0472012539751645e-8,-9.033517513971097e-4,2.534346091236584e-5,2.0553994872596846e-8,-9.031382345469437e-4,2.5472113323665762e-5,2.0614734900078757e-8,-9.029845516590252e-4,2.5512741628428336e-5,2.0635033273204925e-8,-9.028490149929373e-4,2.5434954827073677e-5,2.0601836238167363e-8,-9.026764902106563e-4,2.5232408447057923e-5,2.0513003051675774e-8,-9.02410173775587e-4,2.4931333305205534e-5,2.03809375747986e-8,-9.020092509206674e-4,2.459113424824214e-5,2.0232703367730958e-8,-9.014671775780341e-4,2.4291763948560345e-5,2.0104263036672917e-8,-9.008206650653747e-4,2.4108119510329703e-5,2.0028949316011377e-8,-9.001407652157997e-4,2.40815816794724e-5,2.002473027343289e-8,-8.995076036470077e-4,2.4204454860463047e-5,2.0087372224985797e-8,-8.989819618378563e-4,2.4426402095344975e-5,2.0193550978397385e-8,-8.985886426926948e-4,2.4677367529835956e-5,2.0311351442965695e-8,-8.983168875609791e-4,2.489249041554455e-5,2.0411570672683616e-8,-8.981321994515865e-4,2.5027742305275945e-5,2.0474734817052442e-8,-8.979905680705888e-4,2.506411353886881e-5,2.0492861273368607e-8,-8.978493659111419e-4,2.50042478933684e-5,2.0467761838839778e-8,-8.976735626310779e-4,2.486629512223054e-5,2.040810250953443e-8,-8.974383807300419e-4,2.46779904367794e-5,2.0326637181998767e-8,-8.971300793370073e-4,2.447195277178342e-5,2.0238087853917463e-8,-8.967460299014721e-4,2.4281946492655756e-5,2.0157529321890946e-8,-8.962944874862408e-4,2.41394984040332e-5,2.009894778188007e-8,-8.957939342688571e-4,2.4070383811391924e-5,2.0073707412014148e-8,-8.952715333108823e-4,2.4090842783267837e-5,2.0088849549234874e-8,-8.94760107898572e-4,2.420397021695154e-5,2.014545178891125e-8,-8.942933680114259e-4,2.4397265038716906e-5,2.0237535845060154e-8,-8.938997498069575e-4,2.4642474151023778e-5,2.0352064205131918e-8,-8.935958998883974e-4,2.4898610660257977E-05,2.047041270308535e-8,-8.933813137979958e-4,2.5118392150347438e-5,2.057138082449648e-8,-8.932357382837027e-4,2.525738915614616e-5,2.0635360425476936e-8,-8.931205738507962e-4,2.5284299096435977e-5,2.0648906749984923e-8,-8.929848689198422e-4,2.5190265415252555e-5,2.0608774843090036e-8,-8.927757350545704e-4,2.4994824362930195e-5,2.052437537467493e-8,-8.924519189134882e-4,2.4745797708676503e-5,2.0417514294488545e-8,-8.919975931406865e-4,2.4510848006438183e-5,2.031846414448125e-8,-8.914314961573257e-4,2.436039906856739e-5,2.0258291785338553e-8,-8.908058509117407e-4,2.4345690900774747e-5,2.0259156353576073e-8,-8.901923458736179e-4,2.4480408023514104e-5,2.032632704668696e-8,-8.896591855754514e-4,2.473538117757218e-5,2.0446077286436584e-8,-8.892494467896753e-4,2.505003874490458e-5,2.0590986107984132e-8,-8.889707658958967e-4,2.5354671159387962e-5,2.0729934824061592e-8,-8.887992171195747e-4,2.5592069573353648e-5,2.0837712880844427e-8,-8.886922966930062e-4,2.572983863637043e-5,2.0900398514110002e-8,-8.886031916452067e-4,2.576187327548421e-5,2.0915874009217856e-8,-8.884910916697882e-4,2.5702806387382103e-5,2.0891201501616617e-8,-8.883263469942507e-4,2.5580247122862124e-5,2.0839048300129043e-8,-8.880918126579759e-4,2.5427917810549098e-5,2.0774582188619598e-8,-8.877822930623571e-4,2.528066113611859e-5,2.071327182632323e-8,-8.874034503409459e-4,2.51709375729389e-5,2.0669390176493168e-8,-8.869707261418254e-4,2.5125989723721748e-5,2.0654810035291582e-8,-8.865081500699982e-4,2.5164954314173364e-5,2.067774642510077e-8,-8.86046435520712e-4,2.5295625909005256e-5,2.074132329135633e-8,-8.856195799846079e-4,2.5511276908268373e-5,2.0842176511925037e-8,-8.852594627043434e-4,2.578871501824554e-5,2.0969645761179816e-8,-8.849887434082308e-4,2.6089236359805585e-5,2.1106290594163275e-8,-8.848135668142814e-4,2.6363915683878577e-5,2.12303363316089e-8,-8.847186517320325e-4,2.6563437790964064e-5,2.132009779085571e-8,-8.846674515235134e-4,2.6650601378864086e-5,2.1359523275735847e-8,-8.846087189309281e-4,2.66117823350549e-5,2.1343206192558952e-8,-8.844884826177575e-4,2.6463259603390726e-5,2.1279054822091283e-8,-8.84264302201615e-4,2.6249677950410016e-5,2.1187425909026206e-8,-8.839176546726403e-4,2.6034332006823362e-5,2.109662263366006e-8,-8.83460649868888e-4,2.588342561020468e-5,2.1035784916221402e-8,-8.82934630955511e-4,2.584833167410523e-5,2.102703848956324e-8,-8.824002202963414e-4,2.595091364572211e-5,2.1079174189276926e-8,-8.81920975885244e-4,2.61768927835987e-5,2.1185003004173495e-8,-8.815456299885851e-4,2.648030419312936e-5,2.132360042425762e-8,-8.812952960849518e-4,2.6797977084991984e-5,2.146685384949102e-8,-8.811602994497689e-4,2.7068443874576867e-5,2.1587808754275467e-8,-8.811068251980501e-4,2.7247856141716944e-5,2.1667584069800153e-8,-8.81089260979772e-4,2.7317788146902162e-5,2.169866440830599e-8,-8.810626671495409e-4,2.7284359038585255e-5,2.168436095027221e-8,-8.809914703339173e-4,2.7171697969967655e-5,2.1635803660338795e-8,-8.80853375306616e-4,2.7013728986054004e-5,2.1568241334736312e-8,-8.806396376131523e-4,2.6847076911299085e-5,2.14978976330453e-8,-8.803534902028214e-4,2.670608170906783e-5,2.1439805851815076e-8,-8.800081064751453e-4,2.661959400830792e-5,2.140644761622855e-8,-8.796247407013677e-4,2.6608697363742646e-5,2.1406789555317838e-8,-8.792309875330124e-4,2.668453948521081e-5,2.1445354689839482e-8,-8.788585456571649e-4,2.684586308158884e-5,2.152116684744657e-8,-8.78539601693883e-4,2.7076554888474195e-5,2.162673250547703e-8,-8.783011687268403e-4,2.7344451028370228e-5,2.1747606543339466e-8,-8.781575952511767e-4,2.760340690883203e-5,2.1863392752506867e-8,-8.781030584565838e-4,2.780060405021578e-5,2.1951002414711444e-8,-8.781075985026394e-4,2.7889387640801088e-5,2.1990279643567898e-8,-8.781205807905475e-4,2.7844561840664714e-5,2.197066505165757e-8,-8.780829418086908e-4,2.767387999018061e-5,2.1896173090185512e-8,-8.779448870805086e-4,2.74194206923248e-5,2.178590013371832e-8,-8.776820355245091e-4,2.7146767973214645e-5,2.166911671129024e-8,-8.773032995196551e-4,2.692589193920319e-5,2.157667830482182e-8,-8.768478522267831e-4,2.6811226903755186e-5,2.153215088316852e-8,-8.763733034865937e-4,2.6827771709541934e-5,2.1545755773169187e-8,-8.759398672705631e-4,2.6966612293309254e-5,2.1612637371882027e-8,-8.75595423955086e-4,2.718972268856917e-5,2.171528609991872e-8,-8.753651397527334e-4,2.744156484383133e-5,2.182888124213572e-8,-8.75247681912975e-4,2.766380317219204e-5,2.1927841507686533e-8,-8.752182834583848e-4,2.7809084316441637e-5,2.1991802394858896e-8,-8.752370705991506e-4,2.78503969031841e-5,2.2009553750829985e-8,-8.752596751637627e-4,2.7784140827711733e-5,2.1980196488628183e-8,-8.752468743315799e-4,2.7627256123099378e-5,2.1911727125109708e-8,-8.751709906385506e-4,2.741056684869909e-5,2.181802519722558e-8,-8.750184292407893e-4,2.717106230583093e-5,2.1715442258405405e-8,-8.747891179445456e-4,2.6945211256019782e-5,2.161989799005169e-8,-8.744942264117304e-4,2.6764246324536103e-5,2.1544865267399724e-8,-8.741534012510591e-4,2.6651298588158375e-5,2.1500162537119337e-8,-8.73792188217311e-4,2.6619664630001775e-5,2.1491228293641114e-8,-8.734396730616577e-4,2.6671435073366737e-5,2.1518551762450664e-8,-8.731258580016011e-4,2.679606382670435e-5,2.1577100432093963e-8,-8.7287798682881e-4,2.696908317973565e-5,2.165584590639723e-8,-8.727151324958717e-4,2.7152056798777518e-5,2.1737843898724333e-8,-8.726411876491597e-4,2.7295776371153268e-5,2.180169400597056e-8,-8.72638123277193e-4,2.7348884643569248e-5,2.1825288578833227e-8,-8.726635290724197e-4,2.7272385770363037e-5,2.1792059497611342e-8,-8.726572026318421e-4,2.7056308642078688e-5,2.16981558387545e-8,-8.725583379939474e-4,2.673014546177635e-5,2.1556946339519295e-8,-8.723277672615219e-4,2.6358529275551267e-5,2.1397083391496553e-8,-8.719640776249092e-4,2.6020955368897574e-5,2.1253534423843147e-8,-8.715045501738401e-4,2.5784651947306544e-5,2.1155571953329428e-8,-8.71011034255676e-4,2.5683903518439307e-5,2.1117663450457478e-8,-8.705491307552995e-4,2.5713812934991007e-5,2.113685431521052e-8,-8.701702166525884e-4,2.5837496324388218e-5,2.119617587482424e-8,-8.699014006819977e-4,2.6000426627921144e-5,2.1271201276789622e-8,-8.697436570127698e-4,2.6145631661998167e-5,2.1336868320268546e-8,-8.696759171271625e-4,2.6225891752515828E-05,2.137282593288771e-8,-8.696624900426764e-4,2.621144415050257e-5,2.136666972028361e-8,-8.696616766384265e-4,2.609309797451578e-5,2.1315093592520665e-8,-8.696339802855976e-4,2.58812240139253e-5,2.1223246173929514e-8,-8.695486258957221e-4,2.560145694153938e-5,2.1102720086846007e-8,-8.693875014404906e-4,2.5288439658636282e-5,2.096877998090809e-8,-8.691463110554454e-4,2.4979158898865863e-5,2.083749001199522e-8,-8.688333814216199e-4,2.4707133641329762e-5,2.0723252879501703e-8,-8.684669509396333e-4,2.449818770419122e-5,2.0637035505226535e-8,-8.680718625220174e-4,2.4367943926356345e-5,2.0585317375536392e-8,-8.676763190924599e-4,2.432063005736646e-5,2.0569587886541e-8,-8.673088635246923e-4,2.4348592526606557e-5,2.0586157121313442e-8,-8.669953180759233e-4,2.4432155464044134e-5,2.0626149014017224e-8,-8.667551694766482e-4,2.4539935083866278e-5,2.0675728630559995e-8,-8.665969051568935e-4,2.4630410220170644e-5,2.0716875446414914e-8,-8.665124727648299e-4,2.4656354944466406e-5,2.0729342915038327e-8,-8.664725697134575e-4,2.4573949994687252e-5,2.0694555012387574e-8,-8.664264664054185e-4,2.43569138231536e-5,2.0601608133330403e-8,-8.663110139622543e-4,2.401199304406164e-5,2.0453867175701917e-8,-8.660704693962533e-4,2.3586965902470763e-5,2.0272378725582345e-8,-8.656806366986982e-4,2.316147155005631e-5,2.0091868871878088e-8,-8.651633988921566e-4,2.281978312873848e-5,1.9948869925345905e-8,-8.645805810525198e-4,2.2618527290404762e-5,1.9867633866200034e-8,-8.640097643843145e-4,2.256770525095591e-5,1.9851904328723277e-8,-8.635166675543678e-4,2.2633614094821955e-5,1.9886336038762515e-8,-8.63137948012429e-4,2.2757311910044172e-5,1.9944743482180508e-8,-8.628781813717942e-4,2.2875933655872637e-5,1.9999555353413913e-8,-8.62716501594731e-4,2.2938215554097242e-5,2.0028639520069148e-8,-8.626167844185233e-4,2.291219190087368e-5,2.0018587878018706e-8,-8.625373867297079e-4,2.2786717609544522e-5,1.9965210231098124e-8,-8.624388179572647e-4,2.256927580919071e-5,1.987237287145151e-8,-8.62289189850553e-4,2.2281913356921493e-5,1.975006320331657e-8,-8.620677332013985e-4,2.195621272300181e-5,1.9612130462789248e-8,-8.617664966194991e-4,2.16277997444501e-5,1.9473928068892485e-8,-8.613902656342819e-4,2.1330954467429593e-5,1.935006757875441e-8,-8.609548908336364e-4,2.109389378252815e-5,1.9252475069560743e-8,-8.60484364617139e-4,2.0935189055747062e-5,1.9188905233103563e-8,-8.600071436128826e-4,2.086164348674763e-5,1.91620410767755e-8,-8.595522857630777e-4,2.086763182325774e-5,1.916920143547591e-8,-8.591457649603986e-4,2.0935595960451394e-5,1.9202563113239573e-8,-8.588070106868445e-4,2.103741778004402e-5,1.9249802291736785e-8,-8.585455278490724e-4,2.1136657572340328e-5,1.9295144248855717e-8,-8.583574459539792e-4,2.119206027325631e-5,1.9320951414396224e-8,-8.582223041875423e-4,2.1163256231024873e-5,1.9310193204886934e-8,-8.581015046639913e-4,2.1019633830437e-5,1.9250187621650533e-8,-8.579412331421961e-4,2.0752106826417253e-5,1.913751847356446e-8,-8.576831677947019e-4,2.0384459053393114e-5,1.898276909784322e-8,-8.572838524692297e-4,1.997686961930766e-5,1.8811952221028124e-8,-8.567366035007616e-4,1.9613260947646273e-5,1.8661045623987466e-8,-8.560824766647061e-4,1.9371935268362093e-5,1.8563376708157653e-8,-8.553990379155328e-4,1.9293084341216936e-5,1.8535706064271064e-8,-8.547703530167884e-4,1.936321412352537e-5,1.8571651992880513e-8,-8.542559556665059e-4,1.952555465174852e-5,1.864632532315067e-8,-8.538756727449201e-4,1.970687106733324e-5,1.8727989569739696e-8,-8.536133022643489e-4,1.9843141688829028e-5,1.8789169711081318e-8,-8.534305325201742e-4,1.989357508587466e-5,1.8812667709058706e-8,-8.532814843157356e-4,1.984307509264013e-5,1.879252452479186e-8,-8.531232008002682e-4,1.969807749884717e-5,1.8732068113313398e-8,-8.529215833508998e-4,1.9480194465247334e-5,1.864101205609392e-8,-8.526540395091069e-4,1.9220106769211913e-5,1.8532719999846374e-8,-8.523103008730304e-4,1.8952387630912345e-5,1.8421969114052342e-8,-8.518922166171214e-4,1.8711017815063302e-5,1.83230973754797e-8,-8.514126718644334e-4,1.8525339647629737e-5,1.8248378472723516e-8,-8.508935758492765e-4,1.8416482805648164e-5,1.820658103690855e-8,-8.503628746581636e-4,1.839451037204468e-5,1.8201787199229734e-8,-8.498506739728784e-4,1.8456726342008194e-5,1.823266217066025e-8,-8.493848597949864e-4,1.858755364818312e-5,1.8292382925859e-8,-8.489867877928165e-4,1.8760075533750793e-5,1.8369304773500778e-8,-8.486675197616957e-4,1.8939094885436825e-5,1.8448317961918758e-8,-8.484249414374999e-4,1.908551666785093e-5,1.8512794690847823e-8,-8.482420318448436e-4,1.9161892414962764e-5,1.854700959220887e-8,-8.480866947760388e-4,1.9139120485201888e-5,1.853898427741999e-8,-8.47914089849887e-4,1.9004229019293404e-5,1.8483705191242097e-8,-8.476729841454053e-4,1.8768219337488148e-5,1.8386304668266145e-8,-8.473174336537129e-4,1.847105600233066e-5,1.8264025543393118e-8,-8.46823043761053e-4,1.8178888378359918e-5,1.814493877116609e-8,-8.462024594710862e-4,1.7968779622830955e-5,1.8061442704564362e-8,-8.455100213327113e-4,1.790201857047041e-5,1.8039011781499097e-8,-8.44827387250912e-4,1.7997506299222376e-5,1.8085063263440332e-8,-8.442336473553949e-4,1.82219741246474e-5,1.8184995677384506e-8,-8.437761660142642e-4,1.8504766407932626e-5,1.8308588065556925e-8,-8.434584576481965e-4,1.8767662195956877e-5,1.842267679658266e-8,-8.4324815382798e-4,1.895151458304113e-5,1.8502419193258396e-8,-8.430953104809079e-4,1.9028223922689918e-5,1.853631028756183e-8,-8.429494942284543e-4,1.8998849917980934e-5,1.852528741826402e-8,-8.427701821877676e-4,1.8884905878580218e-5,1.8478909462789928E-08,-8.425307640973115e-4,1.8718917804788393e-5,1.8411232187863652e-8,-8.4221863676526e-4,1.853706175763964e-5,1.8337626368837928e-8,-8.418337179676496e-4,1.837420046907955e-5,1.827269721178165e-8,-8.413866423383756e-4,1.8260484347668602e-5,1.822893007494307e-8,-8.408968704231464e-4,1.8218648925198794e-5,1.821564458019552e-8,-8.403904546985228e-4,1.8261602613572497e-5,1.8238040596675744e-8,-8.398971047784783e-4,1.8390365569227584e-5,1.8296347683661744e-8,-8.394462933471349e-4,1.859286581010708e-5,1.8385307406524103e-8,-8.390625554693548e-4,1.8844349042141637e-5,1.849434016111365e-8,-8.387606740926772e-4,1.9109956838288736e-5,1.86086555425353e-8,-8.38541735765671e-4,1.934955354341349e-5,1.871133966197072e-8,-8.383910411803681e-4,1.9524369896896514e-5,1.8786212347626552e-8,-8.382786396254357e-4,1.9604517498810704e-5,1.882101552190826e-8,-8.381628606157513e-4,1.957613104080785e-5,1.8810378176449664e-8,-8.379968680478822e-4,1.9446885164135782e-5,1.8758024552986323e-8,-8.377380159940519e-4,1.924845999124919e-5,1.8677651607636933e-8,-8.373591718549969e-4,1.9034058927322546e-5,1.8591733411884385e-8,-8.368597531357094e-4,1.886904423475679e-5,1.8527502435010273e-8,-8.362722099438048e-4,1.881422597460021e-5,1.8509963766801086e-8,-8.356585036787218e-4,1.890516421021724e-5,1.8553367099453363e-8,-8.350935969910999e-4,1.913599743885326e-5,1.865465529485676e-8,-8.346403242080155e-4,1.945802313397077e-5,1.8793064946602195e-8,-8.34327545916489e-4,1.979670869488179e-5,1.893732043323308e-8,-8.341432058884843e-4,2.0079064624085877e-5,1.905704488089487e-8,-8.340443957116498e-4,2.0256813697895776e-5,1.9132370964305275e-8,-8.339762461212966e-4,2.0315496394862994e-5,1.915767659009268e-8,-8.338890176634837e-4,2.0269954024688864e-5,1.9139616310843984e-8,-8.337477088005211e-4,2.015310994528189e-5,1.9092327487425826e-8,-8.335344195487556e-4,2.0004740360878148e-5,1.9032641784256222e-8,-8.332464619472108e-4,1.9863456916696745e-5,1.897669433393755e-8,-8.328930721117551e-4,1.9762094713418337e-5,1.8938027533986976e-8,-8.32492297882966e-4,1.9725314418621403e-5,1.8926665101186917e-8,-8.32068415293489e-4,1.97681582273195e-5,1.8948588036477114e-8,-8.316495311428089e-4,1.9894810847537727e-5,1.900526818571205e-8,-8.312647852018803e-4,2.0097427747145573e-5,1.909320121864192e-8,-8.309406311115315e-4,2.0355522535096095e-5,1.9203660731413604e-8,-8.306961138447342e-4,2.0636898921431595e-5,1.9323105247655924e-8,-8.305378232200559e-4,2.0901137965268803e-5,1.9434664802670044e-8,-8.304559556956476e-4,2.1106081507306507e-5,1.9520878928693548e-8,-8.304232734093543e-4,2.121667553013109e-5,1.9567400873830927e-8,-8.303983658234531e-4,2.121422167099143e-5,1.9566836162855173e-8,-8.303333870477527e-4,2.1103220227911646e-5,1.952153119702011e-8,-8.301848490250651e-4,2.0913258553630374e-5,1.9444248405592745e-8,-8.299248979192241e-4,2.069466744819484e-5,1.935621254368111e-8,-8.295501421522738e-4,2.0508232040964325e-5,1.928269583340997e-8,-8.290853574454966e-4,2.0410715377186484e-5,1.9246942812164235e-8,-8.285801055587781e-4,2.0439332177392955e-5,1.9263794111536346e-8,-8.2809766077195e-4,2.059951905236773e-5,1.9334808940806114e-8,-8.276980402284858e-4,2.086083916102179e-5,1.944680759157122e-8,-8.274201421640853e-4,2.1164367562493242e-5,1.957510063623294e-8,-8.272700826664273e-4,2.1440488239337026e-5,1.9690891838981256e-8,-8.272211164209307e-4,2.163042771909038e-5,1.9770119508971764e-8,-8.272248984694739e-4,2.1702369405362463e-5,1.980002378644996e-8,-8.27228099796603e-4,2.1656229173428763e-5,1.9781034701150995e-8,-8.271868289199328e-4,2.151765544352276e-5,1.9724204114230814e-8,-8.270743741962598e-4,2.1326531390819485e-5,1.9646358599563786e-8,-8.26882219952542e-4,2.1125677324855516e-5,1.9565355735798533e-8,-8.266169368517766e-4,2.095292185174144e-5,1.94967870339568e-8,-8.262957480189584e-4,2.0836914464318622e-5,1.9452286083130493e-8,-8.25942474644233e-4,2.0795532754586838e-5,1.9438941053262905e-8,-8.255843718992038e-4,2.083550384946244e-5,1.9459206265133282e-8,-8.252495647333255e-4,2.095228065573517e-5,1.9510899184512012e-8,-8.249644062349847e-4,2.112985311313308e-5,1.958715392852858e-8,-8.247500865889223e-4,2.1340896571258705e-5,1.96765117319045e-8,-8.24618243855376e-4,2.1548299489712724e-5,1.9763583444848516e-8,-8.245661579256653e-4,2.1709369314150928e-5,1.983081139445514e-8,-8.245731982415894e-4,2.1783542272099323e-5,1.9861656355918796e-8,-8.246010337711906e-4,2.174293624505869e-5,1.9844932417100713e-8,-8.24599762693081e-4,2.1582829143363222e-5,1.9779092489063103e-8,-8.245199320168276e-4,2.1327443144663598e-5,1.9674559193285197e-8,-8.243271463267552e-4,2.1027056964939968e-5,1.9552443886955017e-8,-8.240137478913354e-4,2.0745880537874062E-05,1.9439417625111437e-8,-8.236027048837928e-4,2.054443207807126e-5,1.9360323569771445e-8,-8.231420981185931e-4,2.046260583006955e-5,1.9331166390175837e-8,-8.226923062309316e-4,2.050897293837082e-5,1.9354816716611825e-8,-8.223101620532402e-4,2.065914064149752e-5,1.9420558033546697e-8,-8.220346412416486e-4,2.0863033376546166e-5,1.9507310836051278e-8,-8.218778118280972e-4,2.1058697312165184e-5,1.958944171580837e-8,-8.218233231961076e-4,2.1188662210092975e-5,1.964349015093813e-8,-8.218326197553458e-4,2.1214125651217814e-5,1.9653903415513317e-8,-8.21856605729153e-4,2.112285109501725e-5,1.9616154125454246e-8,-8.218486723198633e-4,2.092896166987658e-5,1.9536534435121197e-8,-8.21774900682099e-4,2.0665900016862456e-5,1.9429164058162805e-8,-8.216189955439171e-4,2.0376078120981753e-5,1.9311669317101807e-8,-8.213819939742871e-4,2.010103213726683e-5,1.9201115798957357e-8,-8.210785719648872e-4,1.987447711399243e-5,1.911118281263017e-8,-8.20732153301422e-4,1.9718757169934105e-5,1.905076891931154e-8,-8.203703758138432e-4,1.964388881521585e-5,1.9023668998090353e-8,-8.200215277640998e-4,1.9647991667492965e-5,1.9028805308153496e-8,-8.197118007420141e-4,1.971813517172542e-5,1.906061049159396e-8,-8.194627667111748e-4,1.983118207998987e-5,1.910940136475893e-8,-8.192884188063901e-4,1.99548908795387e-5,1.9161861647232118e-8,-8.191914615513263e-4,2.005020377589606e-5,1.920200887423933e-8,-8.191593400069361e-4,2.0076033762683125e-5,1.92131658914827e-8,-8.191616964490206e-4,1.999753215727303e-5,1.9181325413606254e-8,-8.191520734989105e-4,1.9797250015148836e-5,1.909967483876304e-8,-8.190765586708921e-4,1.948575838000759e-5,1.8972896885336155e-8,-8.188893026085382e-4,1.9105659284594878e-5,1.881876618035338e-8,-8.185698549347501e-4,1.8723588649551148e-5,1.8664805935860888e-8,-8.181336800547649e-4,1.8410527065246534e-5,1.8540121068539456e-8,-8.176292682317155e-4,1.8218322499468568e-5,1.8465698823274743e-8,-8.171225750854558e-4,1.816336880244077e-5,1.844774602721915e-8,-8.166763753560664e-4,1.8224017124166648e-5,1.8476781130729858e-8,-8.163333375780404e-4,1.8350561857245017e-5,1.853193523194076e-8,-8.16107745214289e-4,1.8481632209535812e-5,1.8587831243527868e-8,-8.159860616604793e-4,1.8560533642340127e-5,1.8621333711184525e-8,-8.159338548044192e-4,1.8547406867931718e-5,1.8616474714546974e-8,-8.159059685028022e-4,1.8425544094309115e-5,1.856691337547998e-8,-8.158571772717478e-4,1.8201877478809365e-5,1.8475986230218312e-8,-8.157511568267292e-4,1.790263037304738e-5,1.8354797984609146e-8,-8.155662647845826e-4,1.756578402681822e-5,1.8219061692464088e-8,-8.152974777324008e-4,1.7232463817564305e-5,1.80855624276064e-8,-8.149548380423059e-4,1.6939285910434784e-5,1.79690735294896e-8,-8.14559552341495e-4,1.6713010048744217e-5,1.7880250136234366e-8,-8.141391520903434e-4,1.6567887899189816e-5,1.7824625038532265e-8,-8.13722894907782e-4,1.65052911686815e-5,1.7802510165505718e-8,-8.133380240113629e-4,1.6514764792978118e-5,1.7809448528021547e-8,-8.130068823177181e-4,1.6575692411162992e-5,1.7836899066496914e-8,-8.127444898746023e-4,1.6659173301351172e-5,1.787301036505299e-8,-8.12556110967037e-4,1.6730231029844328e-5,1.79035428156178e-8,-8.1243455505061e-4,1.6751012160459823e-5,1.7913194389418595e-8,-8.123576337801389e-4,1.6686038010803166e-5,1.7887740556088877e-8,-8.122873281432063e-4,1.6510317217035855e-5,1.7817300812807638e-8,-8.12173296759821e-4,1.6219656866485414e-5,1.7700472205744483e-8,-8.119633169768517e-4,1.5839706948872637e-5,1.754794502201198e-8,-8.116204935794114e-4,1.5427302108426434e-5,1.7382995748216617e-8,-8.111412381260521e-4,1.5058049525129414e-5,1.723638629723847e-8,-8.105632272728717e-4,1.4801145884299286e-5,1.713607209252042e-8,-8.099554919138893e-4,1.4692744717581516e-5,1.7096374287795603e-8,-8.093939263332287e-4,1.4722847634811913e-5,1.7112747706322244e-8,-8.089353936498745e-4,1.484233801753127e-5,1.7164799969601408e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_6.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_6.json
deleted file mode 100644
index de22382..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_6.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":6000,"numberOfSamples":1000,"samples":[-8.086030009769924e-4,1.4983810405869992e-5,1.7224897231104907e-8,-8.083859978917138e-4,1.5083891420443416e-5,1.7267300877946733e-8,-8.082495498012613e-4,1.5098334698112563e-5,1.727428602498279e-8,-8.08147627922185e-4,1.5007880436382382e-5,1.72384405012867e-8,-8.080344588306433e-4,1.4817024022017442e-5,1.716203842239244e-8,-8.078727223656254e-4,1.4548770451198794e-5,1.705477562558989e-8,-8.076383715174149e-4,1.4237727414253643e-5,1.6930867623711068e-8,-8.07322519250199e-4,1.3922902257012772e-5,1.6806096847405343e-8,-8.069308512481781e-4,1.3641062334595963e-5,1.6695163186853533e-8,-8.064810674365431e-4,1.3421371907981373e-5,1.6609600165603765e-8,-8.059989962711845e-4,1.3281793410593358e-5,1.65564122262766e-8,-8.055140919096513e-4,1.3227437282497666e-5,1.6537470119423336e-8,-8.050550211507427e-4,1.3250758311506548e-5,1.654960752689265e-8,-8.046459011976815e-4,1.3333167640947059e-5,1.658525704041747e-8,-8.04303377210941e-4,1.3447472960351647e-5,1.6633415280209964e-8,-8.040343930544604e-4,1.3560785131852206e-5,1.6680814883554258e-8,-8.038344371049681e-4,1.3637887698738715e-5,1.6713305884428016e-8,-8.036861808400415e-4,1.3645376246194308e-5,1.6717552173535383e-8,-8.035588881624019e-4,1.355715046434086e-5,1.668324932697258e-8,-8.034098545481887e-4,1.3361633179672876e-5,1.660599824235996e-8,-8.031899161995416e-4,1.3069806636622722e-5,1.6490473396248044e-8,-8.028548171317579e-4,1.2720836118968e-5,1.635260915989386e-8,-8.023817298130074e-4,1.2379672673151174e-5,1.6218567533971117e-8,-8.017848916609258e-4,1.21214866090865e-5,1.6118432225501397e-8,-8.011195394685814e-4,1.2004672862047483e-5,1.6075358566152277e-8,-8.004664161243661e-4,1.2045064498369676e-5,1.6095295025865495e-8,-7.999018683719954e-4,1.2207888551202842e-5,1.6163899894807838e-8,-7.994702224832471e-4,1.242340488168506e-5,1.625294935668257e-8,-7.991732540075557e-4,1.2615665237930678e-5,1.6331930886767175e-8,-7.989782632286061e-4,1.2727385321542004e-5,1.6378010390939176e-8,-7.988353176257354e-4,1.2731278778766297e-5,1.6380533700705246e-8,-7.98693545654588e-4,1.262891363153558e-5,1.6340492793338305e-8,-7.985117563218257e-4,1.2443008649451221e-5,1.6267331548458157e-8,-7.982633092416262e-4,1.2208291416633506e-5,1.617517573988445e-8,-7.97937024226046e-4,1.1963551111059878e-5,1.6079587401967125e-8,-7.975359220318068e-4,1.1745517867734186e-5,1.5995123017000115e-8,-7.970748169146011e-4,1.1584298423249006e-5,1.5933578635139873e-8,-7.96577147084504e-4,1.1500116000004205e-5,1.59027823489698e-8,-7.960712612774264e-4,1.1501312858278244e-5,1.5905873133149612e-8,-7.955863788122124e-4,1.1583659586297626e-5,1.5941057128577827e-8,-7.951485028139105e-4,1.1731083070377464e-5,1.6001886167851592e-8,-7.947767272267163e-4,1.191780985300591e-5,1.607808021319529e-8,-7.944803671342594e-4,1.2111620389700717e-5,1.615680382240154e-8,-7.942570988685387e-4,1.2277833661532118e-5,1.622426162217438e-8,-7.940921495251726e-4,1.2383811890041994e-5,1.6267523534675877e-8,-7.939586304605242e-4,1.2403888228974189e-5,1.627651653757225e-8,-7.938193280601158e-4,1.2324675476991541e-5,1.6246136706354253e-8,-7.936307142675456e-4,1.2150538325271284e-5,1.6178380649204796e-8,-7.933502814410618e-4,1.1908091876990174e-5,1.608405253597014e-8,-7.929477558193591e-4,1.164701184564693e-5,1.5982993948326116e-8,-7.924185834346178e-4,1.1433225812865484e-5,1.5901308272972388e-8,-7.91794201526995e-4,1.1331683271163489e-5,1.5864503448445484e-8,-7.911404620961953e-4,1.1381697803054312e-5,1.5887775959579784e-8,-7.905387505296019e-4,1.1576581858174432e-5,1.5968081661271605e-8,-7.900557579253249e-4,1.1862063556780149e-5,1.6083659449037498e-8,-7.897185238722374e-4,1.2157584885353175e-5,1.6202533533502623e-8,-7.895090488599649e-4,1.238821600505574e-5,1.629512295943271e-8,-7.893784662655317e-4,1.2508703453700893e-5,1.6343711956180873e-8,-7.892687928634058e-4,1.2510154891614356e-5,1.6345059350363414e-8,-7.891303130012338e-4,1.2412762325594466e-5,1.630746636423513e-8,-7.889301607306106e-4,1.22532563576661e-5,1.6245726990312346e-8,-7.886537075923972e-4,1.207350096757021e-5,1.6176528951831164e-8,-7.883021088407754e-4,1.1912612868365128e-5,1.611529698390703e-8,-7.878886554381245e-4,1.1802366938175958e-5,1.6074404646753326e-8,-7.874351827903575e-4,1.1764678405500699e-5,1.606225725212218e-8,-7.869686785579548e-4,1.1810193745663737e-5,1.6082821884922013e-8,-7.865178808041266e-4,1.1937644143326378e-5,1.613543027797478e-8,-7.861097334099989e-4,1.2134002375285157e-5,1.621485643068633e-8,-7.857657050956631e-4,1.2375715139896458e-5,1.631178566628287e-8,-7.854982761710509e-4,1.2631342722271491e-5,1.6413830995212057e-8,-7.853082129742637e-4,1.2865627763957707e-5,1.650712800670973e-8,-7.851832404152557e-4,1.3044611801087987e-5,1.6578365268496393e-8,-7.850984979333072e-4,1.3141234772513003e-5,1.661701655440917e-8,-7.850189859904393e-4,1.314074642924285e-5,1.6617484545055545e-8,-7.849040783473408e-4,1.3045167089176555e-5,1.658083277620777e-8,-7.847140887854131e-4,1.2875989940709468e-5,1.6515781106734278e-8,-7.84418739673568e-4,1.2674020385660439e-5,1.643854403323704e-8,-7.840067264380274e-4,1.2494690124657561e-5,1.637089555624342e-8,-7.834940629310338e-4,1.2397202649814611e-5,1.633586078646625e-8,-7.829269123445694e-4,1.242762480633356e-5,1.6351121218225165e-8,-7.823738580167101e-4,1.2600199243328678e-5,1.6421819173272966e-8,-7.819059640317111e-4,1.2886068491034284e-5,1.6536310251172648e-8,-7.815711190078477e-4,1.3218908359013295e-5,1.6668481029581357e-8,-7.813760467322517e-4,1.3518369457025356e-5,1.678692018769316e-8,-7.812866097556989e-4,1.3719738169680302e-5,1.6866455278038853e-8,-7.81245043675736e-4,1.3793772038801468e-5,1.689586528796916e-8,-7.811924892995569e-4,1.3748855436262393e-5,1.6878708749903426e-8,-7.810853126995724e-4,1.3619700644445478e-5,1.6828864667497608e-8,-7.809012145161698e-4,1.3452099763330615e-5,1.6764485192192976e-8,-7.806376216935296e-4,1.3290653946538645e-5,1.6703112676782687e-8,-7.803066615377375e-4,1.31716120529323e-5,1.6658847878700447e-8,-7.799298430182615e-4,1.311988593603372e-5,1.6641219568441624e-8,-7.795337437080761e-4,1.3148379669826384e-5,1.665500141543589e-8,-7.791466519745774e-4,1.3258192670318894e-5,1.6700371540229692e-8,-7.787956166079658e-4,1.3439123013885566e-5,1.6773161126941902e-8,-7.785034521569552e-4,1.3670540636302536e-5,1.6865211246133127e-8,-7.782855194761558e-4,1.3923070098588027e-5,1.6965022456657025e-8,-7.781465158733033e-4,1.4161671472159447e-5,1.705894395665733e-8,-7.780780274644127e-4,1.4350439747166847e-5,1.713304166764391e-8,-7.780578724819625e-4,1.4458808126371696e-5,1.717552433911576e-8,-7.780520945693767e-4,1.4468165316748068e-5,1.7179332308174036e-8,-7.780199264883032e-4,1.4377381074197417e-5,1.7144283672725583e-8,-7.779212697790456e-4,1.42055818063788e-5,1.707811591367681e-8,-7.777254715128031e-4,1.399092160934568e-5,1.6995928407681764e-8,-7.774196852037493e-4,1.37848241088391e-5,1.691784077706239e-8,-7.770148281025337e-4,1.3641905255902624e-5,1.68649932739021e-8,-7.7654695118254e-4,1.3606723344494496e-5,1.6854386908037733e-8,-7.760719733956719e-4,1.3699981752654324e-5,1.6893614104122298e-8,-7.756528920660803e-4,1.3908611710779359e-5,1.6977171984468366e-8,-7.753414973715193e-4,1.4185135339496087e-5,1.708636928482128e-8,-7.751607783545031e-4,1.4459758828692502e-5,1.7194078255654558e-8,-7.750965022472446e-4,1.4662655192892729e-5,1.7273331572288793e-8,-7.751031768498831e-4,1.4747011345581016e-5,1.730618293517172e-8,-7.751215862559233e-4,1.4701900854900151e-5,1.7288656969080978e-8,-7.750986283316115e-4,1.45502732264208e-5,1.7229950783472687e-8,-7.750005720993924e-4,1.4336090541435382e-5,1.714739884303355e-8,-7.748166257563864e-4,1.4108830030091316e-5,1.7060381671628664e-8,-7.74555246270904e-4,1.3911680743308552e-5,1.6985680755460048e-8,-7.742375216046733e-4,1.3775437312394145e-5,1.6935101840957774e-8,-7.738908672395347e-4,1.3716934985120997e-5,1.691492118059338e-8,-7.735443296708602e-4,1.373987657547806e-5,1.6926288994825302e-8,-7.732253688257358e-4,1.3836379992091725e-5,1.6965903557041073e-8,-7.729574201870145e-4,1.398850143961783e-5,1.702664562074045e-8,-7.727575479089458e-4,1.41697546103367e-5,1.7098179346093112e-8,-7.726338127068317e-4,1.4347167415583573e-5,1.7167741915981117e-8,-7.72582526013079e-4,1.4484672906976143e-5,1.7221441721592798e-8,-7.725862452751478e-4,1.4548420666369706e-5,1.724630156120042e-8,-7.726138958417847e-4,1.4513823225779425e-5,1.723297684502607e-8,-7.726244080267737e-4,1.4372974279860863e-5,1.717861929269323e-8,-7.725743889406402e-4,1.4139927504773041e-5,1.708890500581759e-8,-7.724286327675101e-4,1.3851021527237483e-5,1.6978122122320604e-8,-7.721705055599232e-4,1.3558663671444288e-5,1.6866694872960056e-8,-7.718085762849863e-4,1.3319387181004731e-5,1.6776479385700888e-8,-7.713767987397502e-4,1.3179295367351444e-5,1.6725086614472134e-8,-7.709275714331829e-4,1.3161122848693512e-5,1.6720920077215314e-8,-7.705191844169844e-4,1.3256827859980563e-5,1.6760442718757147e-8,-7.702008063045723e-4,1.3428227793557443e-5,1.6828582942267516e-8,-7.699990644679152e-4,1.361618554202354e-5,1.6902388068197547e-8,-7.699104039245936e-4,1.3756467861176603e-5,1.6957151603506948e-8,-7.699023224946573e-4,1.3797806695198463e-5,1.697331252819716e-8,-7.69923693570122e-4,1.3715970518988264e-5,1.6941802014512077e-8,-7.699204730517889e-4,1.3518607018056203e-5,1.686585566047806e-8,-7.698506029324883e-4,1.3239647040700348e-5,1.675881321149357e-8,-7.696928309426752e-4,1.292679553392078e-5,1.663924458294889e-8,-7.694477547487295e-4,1.2627916951666916e-5,1.6525649634657365e-8,-7.691330174202381e-4,1.2380977939982187e-5,1.6432564147368763e-8,-7.687761526504343e-4,1.2209237379755138e-5,1.6368739832210366e-8,-7.684079653894965e-4,1.2120781661778011e-5,1.633703602331063e-8,-7.680577369530784e-4,1.2110432408898472e-5,1.6335228492463344e-8,-7.677501944254693e-4,1.21623329271923e-5,1.6357054465017322e-8,-7.675035516029946e-4,1.2252353588631538e-5,1.6393155437041988e-8,-7.673278510063229e-4,1.2350244031443248e-5,1.6431898304259127e-8,-7.672231013092557e-4,1.2422047112441263e-5,1.6460286860244704e-8,-7.671772688900853e-4,1.243363156115782e-5,1.6465302548663993e-8,-7.671649640707796e-4,1.2356108383738767e-5,1.6435971563363704e-8,-7.671484101972802e-4,1.2173134658280302e-5,1.6366160768870968e-8,-7.670825263514741e-4,1.188858814480631e-5,1.6257519307403445e-8,-7.669249561884815e-4,1.153125860759139e-5,1.6121270567197454e-8,-7.666492306156377e-4,1.115245465159126e-5,1.5977261511360678e-8,-7.662560978121537e-4,1.0814456656206232e-5,1.5849466079461248e-8,-7.657770512027595e-4,1.05724402594284e-5,1.5758977593618244e-8,-7.65267023298901e-4,1.0456872508954073e-5,1.571723833544501e-8,-7.647885985095952e-4,1.0463873633946137e-5,1.5722417018223885e-8,-7.643941100002343e-4,1.0557097979145212e-5,1.5760262592280024e-8,-7.641121194876584e-4,1.0679365871370066e-5,1.580868049828012e-8,-7.639418824019487e-4,1.0769014504534602e-5,1.5844044262621295e-8,-7.63856040874777e-4,1.0775642632836637e-5,1.5847200884499e-8,-7.638095816807227e-4,1.067134664327151e-5,1.5807708446849496e-8,-7.637520719001363e-4,1.0455341968064698e-5,1.5725533933861105e-8,-7.636398633410946e-4,1.015159717703648e-5,1.5610082730947348e-8,-7.634452271731003e-4,9.80080001717917e-6,1.547706895850993e-8,-7.63160419406769e-4,9.449412193445568e-6,1.5344290126782374e-8,-7.627963935193374e-4,9.13916163473737e-6,1.522760366709052e-8,-7.623775983584871e-4,8.899634906261868e-6,1.5138131787055436e-8,-7.619351862275943e-4,8.745021320744058e-6,1.5081084100568852e-8,-7.615007251523846e-4,8.674467790722235e-6,1.50559612980206E-08,-7.611015754607918e-4,8.674636046522299e-6,1.5057573206547553e-8,-7.607580727699104e-4,8.723012138457471e-6,1.507730793528806e-8,-7.604819845856674e-4,8.79104729455283e-6,1.5104310215033872e-8,-7.602755220059144e-4,8.84693302571431e-6,1.512651308174354e-8,-7.60130395955743e-4,8.858401879917029e-6,1.5131688225382546e-8,-7.600268787531797e-4,8.796280560370882e-6,1.5108794499177295e-8,-7.599335469922736e-4,8.639531259323042e-6,1.5049899963453894e-8,-0.000759809210702789,8.381910431287344e-6,1.495271925500096e-8,-7.596089689111743e-4,8.038852722231386e-6,1.4823230368913413e-8,-7.592954714676379e-4,7.651012523481406e-6,1.4677004696445236e-8,-7.588534536653339e-4,7.279557888325591e-6,1.4537373653592984e-8,-7.583012167940397e-4,6.990438849818558e-6,1.4429384557414762e-8,-7.576907836367265e-4,6.831496399448591e-6,1.4371061617021388e-8,-7.570930731261787e-4,6.813281142864784e-6,1.4366159181078007e-8,-7.56573893838745e-4,6.904553518906711e-6,1.440256548875904e-8,-7.561728030269616e-4,7.044803405478948e-6,1.445716559337654e-8,-7.55894167206311e-4,7.166043359666975e-6,1.450415417168199e-8,-7.55711412564325e-4,7.212993883249746e-6,1.4522671727194704e-8,-7.555791656848098e-4,7.1549930276133835e-6,1.4501273602714309e-8,-7.554470640511585e-4,6.988776194001312e-6,1.443893097512812e-8,-7.552712370159999e-4,6.734529749762169e-6,1.4343479112262025e-8,-7.550218631592772e-4,6.428246653777687e-6,1.422866437274883e-8,-7.546866678361489e-4,6.112788824185316e-6,1.4110719482184918e-8,-7.542707923333388e-4,5.8292867079302145e-6,1.400510243390426e-8,-7.537936783321645e-4,5.610111184424559e-6,1.392387568318107e-8,-7.532839358400108e-4,5.474383321977379e-6,1.3874075234006555e-8,-7.527734587962739e-4,5.42640635004478e-6,1.3857186797906472e-8,-7.522919859404003e-4,5.45669894844625e-6,1.386957766596827e-8,-7.518629339501932e-4,5.544851652733658e-6,1.3903575419281547e-8,-7.515008253699221e-4,5.66324214311497e-6,1.3948838400251825e-8,-7.51210094786353e-4,5.780767390543559e-6,1.3993723032625362e-8,-7.509847483529711e-4,5.866229168685598e-6,1.4026532943938554e-8,-7.508084438557491e-4,5.891537175053618e-6,1.4036723339664531e-8,-7.506548991499108e-4,5.835186884660035e-6,1.4016225902040902e-8,-7.504890649576297e-4,5.6865153995048614e-6,1.3961069522205696e-8,-7.502702069824309e-4,5.450810519333698e-6,1.3873309470797243e-8,-7.499584705215199e-4,5.154093641144201e-6,1.376281194863296e-8,-7.495258303846799e-4,4.844492327076601e-6,1.3647730610076522e-8,-7.489697010459084e-4,4.585680212391129e-6,1.3551982235163058e-8,-7.483229773845283e-4,4.439424944083938e-6,1.3498642646116442e-8,-7.47651384167147e-4,4.441135789993236e-6,1.3500781498633393e-8,-7.47033630108719e-4,4.5810783550153105e-6,1.3554518828823992e-8,-7.465319640685318e-4,4.8048662841334895e-6,1.3639340521473976e-8,-7.461696806020518e-4,5.035072310667735e-6,1.3726250888424918e-8,-7.45927649234082e-4,5.200984456189078e-6,1.3788876550238137e-8,-7.457581262680648e-4,5.260058265685222e-6,1.3811432021938078e-8,-7.456046602651826e-4,5.203880705388684e-6,1.3790914319102578e-8,-7.454181631269655e-4,5.052110434397819e-6,1.373481274651468e-8,-7.451656280700271e-4,4.841472760620587e-6,1.3656958068869079e-8,-7.448325507537849e-4,4.61494382342504e-6,1.357343640410499e-8,-7.444214445461733e-4,4.413322175715639e-6,1.3499417669267064e-8,-7.439484346229335e-4,4.2694368736615086e-6,1.3447009746671435e-8,-7.434389857049532e-4,4.204518303627032e-6,1.3423957631836567e-8,-7.429232000552066e-4,4.22642353337615e-6,1.3433047936838739e-8,-7.424310713391792e-4,4.3296407656193255e-6,1.3472159698785832e-8,-7.419881612882491e-4,4.496920195240808e-6,1.3534885426142835e-8,-7.416121363128246e-4,4.702242436589464e-6,1.3611614172495427e-8,-7.413105280088105e-4,4.9146848337064315e-6,1.369092983616905e-8,-7.410798564648585e-4,5.102579289552534e-6,1.3761123342581654e-8,-7.409059284613239e-4,5.2374620959614515e-6,1.3811649751762265e-8,-7.40765021747722e-4,5.2976581500819286e-6,1.3834473325427858e-8,-7.406258251361314e-4,5.271569720175211e-6,1.3825313013330133e-8,-7.404522940607082e-4,5.16079816624066e-6,1.3784817350730312e-8,-7.402080188256512e-4,4.982998369865964e-6,1.3719616164717567e-8,-7.398629579022926e-4,4.773502162654375e-6,1.3642888630399176e-8,-7.394027814983437e-4,4.583451075155526e-6,1.3573616754794363e-8,-7.388391120671625e-4,4.471358391383276e-6,1.3533406453527241e-8,-7.382156353710173e-4,4.486293417993243e-6,1.3540246689754017e-8,-7.376025584177996e-4,4.646263952038066e-6,1.360057244394542e-8,-7.370753966750942e-4,4.923220958661702e-6,1.3703844593894654e-8,-7.366853493943496e-4,5.247831278658755e-6,1.3824412277992002e-8,-7.364384127765779e-4,5.535851078356583e-6,1.3931243008841947e-8,-7.362964904189415e-4,5.721421847439438e-6,1.400013251189647e-8,-7.361977969831083e-4,5.777834083495166e-6,1.4021317172913075e-8,-7.360817614101209e-4,5.717840477241389e-6,1.3999596259483795e-8,-7.359055977095308e-4,5.580085272187351e-6,1.3949330970951832e-8,-7.356494891230436e-4,5.412741838724204e-6,1.3888375540751401e-8,-7.353140711726487e-4,5.2611317114854454e-6,1.3833462198014537e-8,-7.349148352444343e-4,5.160747629068616e-6,1.3797605620566516e-8,-7.34476381499244e-4,5.134402307300587e-6,1.378907362699951e-8,-7.340275945238301e-4,5.1916865952263e-6,1.3811240956866352e-8,-7.335976379390709e-4,5.3295409738639065e-6,1.386285790594125e-8,-7.332124264851362e-4,5.533583318487555e-6,1.393857552488052e-8,-7.328914883847182e-4,5.780224195792896e-6,1.4029729175094004e-8,-7.326453464977734e-4,6.039657534633526e-6,1.412541622107681e-8,-7.324737353478441e-4,6.279722160979335e-6,1.4213885118568412e-8,-7.323650721376349e-4,6.470322863277057e-6,1.4284138014656952e-8,-7.322974036581984e-4,6.587844288483066e-6,1.4327549734585913e-8,-7.322407659586676e-4,6.619032470350085e-6,1.4339305787613665e-8,-7.321607813179032e-4,6.563928060747684e-6,1.4319492082724502e-8,-7.320233046863541e-4,6.4374966021072834e-6,1.4273690279829042e-8,-7.317999978283977e-4,6.269641412024475e-6,1.4212954276300681e-8,-7.314747508146167e-4,6.103003158628865e-6,1.415295567438129e-8,-7.310503956340962e-4,5.987372946262786e-6,1.4111888222525968e-8,-7.30553886574779e-4,5.969501086118192e-6,1.4106716472582734e-8,-7.300364338939657e-4,6.078516230287104e-6,1.4147877299553037e-8,-7.295642924788504e-4,6.3107236580662384e-6,1.4233817360402606e-8,-7.29198788762624e-4,6.622175486804494e-6,1.4348383535941494e-8,-7.289720333664855e-4,6.9380135239147e-6,1.4464270004578152e-8,-7.288720132220635e-4,7.178968146684719e-6,1.4552629285696456e-8,-7.288478475491566e-4,7.292033122646066e-6,1.4594189017363577e-8,-7.288324425920637e-4,7.267653302542506e-6,1.4585519239748402e-8,-7.287681356467766e-4,7.1358561174840265e-6,1.4537665753835853e-8,-7.286220514824529e-4,6.9483598487620115e-6,1.4469630977301123e-8,-7.28388085845522e-4,6.7592678922152605e-6,1.4401275496516345e-8,-7.280804913481166e-4,6.612273121504457e-6,1.4348581630811597e-8,-7.277252407959589e-4,6.5354231757555416e-6,1.4321716844225746e-8,-7.273527660572583e-4,6.540950211029966e-6,1.4324997142073501e-8,-7.269930114233965e-4,6.6273182842564705e-6,1.4357691570767854e-8,-7.26672240266485e-4,6.781718300136292e-6,1.4414990002890305e-8,-7.264107154812758e-4,6.982473886382033e-6,1.4488915944389668e-8,-7.262207318281119e-4,7.201524453767113e-6,1.4569238469116222e-8,-7.261048945983162e-4,7.407366857871365e-6,1.464452799757507e-8,-7.260549073749619e-4,7.568797659062485e-6,1.4703494431167381e-8,-7.26051465526772e-4,7.659436861891897e-6,1.4736614332348274e-8,-7.260658689683676e-4,7.662469338693832e-6,1.4737849783051846e-8,-7.260636091525101e-4,7.574690894230019e-6,1.4706123818166879e-8,-7.260097162467727e-4,7.408843381596091e-6,1.4646170303919831e-8,-7.258751869359084e-4,7.193327753172565e-6,1.4568414770672015e-8,-7.256434329193616e-4,6.968816351578809e-6,1.4487705994885722e-8,-7.253155606930208e-4,6.781829885047062e-6,1.4420936000282275e-8,-7.249132562182546e-4,6.6756763505280914e-6,1.4383719471977372e-8,-7.244778292372096e-4,6.679612946037396e-6,1.438647617104953e-8,-7.240638597492315e-4,6.798235959896041e-6,1.443065370266917e-8,-7.237266826504071e-4,7.004766318589259e-6,1.4506391489857573e-8,-7.235054613225411e-4,7.243025516191428e-6,1.4593301323513466e-8,-7.2340765660686e-4,7.441405783647142e-6,1.4665511557876749e-8,-7.234034010785615e-4,7.53631382926181e-6,1.4700082991218885e-8,-7.234351925205399e-4,7.495034347391305e-6,1.468523799630331e-8,-7.234393429224217e-4,7.325932982914151e-6,1.462407472647779e-8,-7.233679091640017e-4,7.071240070168453e-6,1.4531993918580552e-8,-7.2320061796834e-4,6.7884821942071435e-6,1.4429962503804012e-8,-7.229442000740695e-4,6.531515408382787e-6,1.4337580335722595e-8,-7.226237824510028e-4,6.338676971745417e-6,1.4268730878278133e-8,-7.222726609371696e-4,6.229186086844068e-6,1.4230270463511608e-8,-7.219243370456767e-4,6.204979076589403e-6,1.4222735101428858e-8,-7.216077209136364e-4,6.254637305234233e-6,1.424182454315981e-8,-7.213447052154808e-4,6.357313551246988e-6,1.427987548429127e-8,-7.211489353260135e-4,6.485977719230195e-6,1.432706196354135e-8,-7.210249390732579e-4,6.610178726644471e-6,1.4372391800318248e-8,-7.209673047686168e-4,6.69888928465445e-6,1.440471413451235e-8,-7.209601280974389e-4,6.7240278150433335e-6,1.4413965009805703e-8,-7.20977427897608e-4,6.664882671759e-6,1.4392744472576701e-8,-7.209854343714221e-4,6.51295128433434e-6,1.4338056762127022e-8,-7.209473640933031e-4,6.27595967171071e-6,1.4252764848687728e-8,-7.20830498270342e-4,5.979351536502665e-6,1.4146129546232638e-8,-7.206142541252474e-4,5.663667819126294e-6,1.4032848951131945e-8,-7.202969652261338e-4,5.377288241995543e-6,1.3930404038766788e-8,-7.198989165010806e-4,5.1656853148451214e-6,1.3855144520274798e-8,-7.194600346572165e-4,5.059761967389392e-6,1.381807600558674e-8,-7.190320840484526e-4,5.066413372274996e-6,1.3821501796020195e-8,-7.186667008859963e-4,5.164217116728777e-6,1.3857550892980985e-8,-7.184018625214499e-4,5.306290101127747e-6,1.3909277458429183e-8,-7.182503872805278e-4,5.430848543585556e-6,1.3954476928807232e-8,-7.181945402363831e-4,5.477745639924967e-6,1.3971593615188382e-8,-7.181899363308149e-4,5.406401461740874e-6,1.3946114620028615e-8,-7.181787956068019e-4,5.208432912413644e-6,1.3875092760960466e-8,-7.181080232052682e-4,4.909307597908525e-6,1.3767756999698908e-8,-7.179446434546303e-4,4.558250395919083e-6,1.3641890350548404e-8,-7.176825410055812e-4,4.2115104900122955e-6,1.3517783575060329e-8,-7.173394303115774e-4,3.9166207270580965e-6,1.3412530864261023e-8,-7.169476918402883e-4,3.7030604472824477e-6,1.3336657086835069e-8,-7.165441754546074e-4,3.5802790936875876e-6,1.3293434686648582e-8,-7.161624370313028e-4,3.540740334466443e-6,1.3280030267105057e-8,-7.158283342384227e-4,3.5648889198243974e-6,1.3289336702046267e-8,-7.155582446948228e-4,3.6259309695520506e-6,1.3311712356351884e-8,-7.153587035969551e-4,3.6936410852722728e-6,1.3336343509346127e-8,-7.152264834437153e-4,3.7373251672731826e-6,1.3352284086218272e-8,-7.151486443905965e-4,3.7285507918335262e-6,1.3349406474614047e-8,-7.151027106872547e-4,3.6443643170977546e-6,1.3319531867733131e-8,-7.150577088567976e-4,3.471371309569102e-6,1.3257885044742072e-8,-7.149771233861474e-4,3.2102934517910352e-6,1.3164734543938834e-8,-7.148246566289133e-4,2.879607352494538e-6,1.304671174381637e-8,-7.145727155168279e-4,2.5159715205526265e-6,1.2916970172838227e-8,-7.14211741474117e-4,2.1691340011926946e-6,1.2793345447593278e-8,-7.13756704294834e-4,1.8907340958244058e-6,1.2694309938959155e-8,-7.13246867286023e-4,1.7195895090076379e-6,1.263368292154631e-8,-7.127372110269032e-4,1.6687917986243744e-6,1.2616035558109819e-8,-7.122837106314069e-4,1.7200599947476228e-6,1.2634736954970411e-8,-7.11927625851379e-4,1.8279231828251246e-6,1.2673513419775649e-8,-7.116842639270483e-4,1.9322272870562014e-6,1.2710931582090524e-8,-7.115395372739504e-4,1.9745795969288553e-6,1.2726232447310445e-8,-7.114547557725002e-4,1.9136654302389338e-6,1.270474472926178e-8,-7.113777961538001e-4,1.735292690655213e-6,1.2641441637291946e-8,-7.112572859060644e-4,1.4546876493828617e-6,1.2541763992937194e-8,-7.110556761496227e-4,1.1107338000528394e-6,1.2419577806846834e-8,-7.107574398631749e-4,7.542984399074633e-7,1.2293006190122626e-8,-7.103703854584871e-4,4.3467766591549663e-7,1.2179579666103922e-8,-7.099206413352514e-4,1.8848792044254664e-7,1.209227121863942e-8,-7.094440058956009e-4,3.38112439872334e-8,1.2037433652280913e-8,-7.089770272256449e-4,-3.005946575574514e-8,1.2014751159396523e-8,-7.085502677011695e-4,-1.8942666134325098e-8,1.2018584823579895e-8,-7.081845728037587e-4,4.1504324056836106e-8,1.2039859175127503e-8,-7.078898530136206e-4,1.2085396250360532e-7,1.2067846450829226e-8,-7.07665357590904e-4,1.8796389173417595e-7,1.2091574008084617e-8,-7.075005062641622e-4,2.1404627281451953e-7,1.2100880394544461e-8,-7.073757642706145e-4,1.7527949313218791e-7,1.2087321949694448e-8,-7.072636271028598e-4,5.563556618695607e-8,1.2045175593473184e-8,-7.07130371455471e-4,-1.496666377152965e-7,1.1972682276401499e-8,-7.069396260706627e-4,-4.3038263800395507e-7,1.1873415802529695e-8,-7.06658736467273e-4,-7.585342773530107e-7,1.1757266370952408e-8,-7.062679103912365e-4,-1.0893111587869973e-6,1.164011958067034e-8,-7.057699493448573e-4,-1.3683565279279107e-6,1.1541242460665835e-8,-7.051958014848092e-4,-1.546143275736306e-6,1.1478149826314971e-8,-7.046006461074884e-4,-1.5955509000684547e-6,1.1460378253613378e-8,-7.040489785775769e-4,-1.5244730508863847e-6,1.1485082661954835e-8,-7.035938487042454e-4,-1.3758182686775965e-6,1.1537113738876136e-8,-7.032597812034259e-4,-1.2137575651664247e-6,1.1593901613711014e-8,-7.030369079407669e-4,-1.1027795845962554e-6,1.1632801609042198e-8,-7.028872532957906e-4,-1.0889580682558247e-6,1.1637630789638363e-8,-7.027584678100196e-4,-1.1897271998792792e-6,1.1602238033439061e-8,-7.025988796732991e-4,-1.3932883666335377e-6,1.1530725736851102e-8,-7.02369467900341e-4,-1.6652872066721532e-6,1.1435125811886794e-8,-7.020507465969052e-4,-1.959328698109832e-6,1.1331711320640786e-8,-7.016442939978633e-4,-2.2282184952551496e-6,1.1237034626369414e-8,-7.011697035243303e-4,-2.4335618600813347e-6,1.1164544945400339e-8,-7.006583801112918e-4,-2.5521150452073807e-6,1.1122365961218336e-8,-7.001460060304543e-4,-2.5781375982917395e-6,1.1112496075816941e-8,-6.996655112290227e-4,-2.5220161431554106e-6,1.1131319063948755e-8,-6.992418776281199e-4,-2.4062965783673872e-6,1.1171004748331547e-8,-6.988893060139256e-4,-2.260591788360715e-6,1.1221277939326513e-8,-6.986105278643894e-4,-2.1166353920163535e-6,1.1271116834225942e-8,-6.983975667488254e-4,-2.0042272969958953e-6,1.1310137596645092e-8,-6.982331775114807e-4,-1.948167868728002e-6,1.1329646935505253e-8,-6.980924984224593e-4,-1.9658036073505293e-6,1.1323502940205919e-8,-6.979449169280985e-4,-2.064692866216944e-6,1.128895545665963e-8,-6.977566158534427e-4,-2.240091878769088e-6,1.1227562045779688e-8,-6.974946560896657e-4,-2.4725062008836e-6,1.1146078731656455e-8,-6.971334322778307e-4,-2.7265579611108132e-6,1.1056870056968845e-8,-6.966634001809645e-4,-2.9535495920723803e-6,1.0976992639682918e-8,-6.960998225694706e-4,-3.1003923112501523e-6,1.0925024976391107e-8,-6.954864809875409e-4,-3.125514095301827e-6,1.0915470365326537e-8,-6.94888405730523e-4,-3.0171655312078273e-6,1.0952385872816837e-8,-6.943721615170897e-4,-2.8040956720319907e-6,1.1025740558355747e-8,-6.939812476892919e-4,-2.5493950355256136e-6,1.111363121856989e-8,-6.937199582600355e-4,-2.328052856844355e-6,1.119007794880418e-8,-6.935545525919977e-4,-2.199995786806156e-6,1.123431816683279e-8,-6.93429179173718e-4,-2.1924546956316556e-6,1.1236874298485071e-8,-6.932862200777068e-4,-2.2974342328778687e-6,1.1200440938200634e-8,-6.930818299262455e-4,-2.4806963116481874e-6,1.1136809772812793e-8,-6.927932877982263e-4,-2.69515791678022e-6,1.1062250907052743e-8,-6.924193527516066e-4,-2.8932872464684024e-6,1.0993214408490107e-8,-6.919763333906085e-4,-3.036081365862266e-6,1.0943205101581768e-8,-6.91492215226939e-4,-3.098326934476717e-6,1.0920952638432522e-8,-6.910002904512773e-4,-3.070683044984637e-6,1.0929697707612377e-8,-6.905331356871504e-4,-2.959140124946023e-6,1.0967394783237994e-8,-6.90117596465121e-4,-2.7823877442401985e-6,1.1027633804261848e-8,-6.897712626577218e-4,-2.567793687719598e-6,1.1101026790081565e-8,-6.895006358475275e-4,-2.3467550008997916e-6,1.1176795508382824e-8,-6.89300944615274e-4,-2.150115599113473e-6,1.1244329229978124e-8,-6.891573100006782e-4,-2.00424231133623e-6,1.1294520632905088e-8,-6.890467540316551e-4,-1.9280356409594636e-6,1.1320793607430406e-8,-6.889406381638624e-4,-1.930734024848246e-6,1.1319874885504703e-8,-6.888074504279619e-4,-2.0102414136189414e-6,1.1292397488351405e-8,-6.886161724085662e-4,-2.1518695593095066e-6,1.1243363432643985e-8,-6.883407101463712e-4,-2.327739840236361e-6,1.1182368829498123e-8,-6.879658514959947e-4,-2.497813089077346e-6,1.1123245267791766e-8,-6.874944007746656e-4,-2.6143891697839814e-6,1.108247815801189e-8,-6.869533275424424e-4,-2.6320148015926607e-6,1.1075749525894508e-8,-6.863944546199724e-4,-2.522826202578732e-6,1.1112635168862051e-8,-6.858844538666012e-4,-2.2926275030821306e-6,1.1191109583836215e-8,-6.854832279089802e-4,-1.9877298379677976e-6,1.1295269233710088e-8,-6.852191743942243e-4,-1.6834486218362717e-6,1.1399318636952878e-8,-6.850762207670568e-4,-1.4561494259965552e-6,1.1477115718733162e-8,-6.850017506227822e-4,-1.353885669014518e-6,1.1512169978020316e-8,-6.849299395502611e-4,-1.382232489232581e-6,1.1502489363880025e-8,-6.848057305429362e-4,-1.5099055715152289e-6,1.1458706325152704e-8,-6.845983153559325e-4,-1.6859188037799119e-6,1.1398245647313847e-8,-6.843027428170722e-4,-1.8571846721204412e-6,1.1339299333489303e-8,-6.839342878524915e-4,-1.9804742909492373e-6,1.1296704524613013e-8,-6.83520537940993e-4,-2.0280142608472192e-6,1.1280001238857747e-8,-6.830941226507634e-4,-1.9884992920636643e-6,1.1293074773063915e-8,-6.826870433621648e-4,-1.8656132505174621e-6,1.13346680053564e-8,-6.823264387413217e-4,-1.6753696630438363e-6,1.1399305110651174e-8,-6.82031487121087e-4,-1.4427423697938251e-6,1.1478456664893744e-8,-6.818114056550049e-4,-1.1978017957364357e-6,1.1561864398442774e-8,-6.816645845240956e-4,-9.716026242010502e-7,1.1638940368353777e-8,-6.81578901101889e-4,-7.920793248862827e-7,1.1700156773758746e-8,-6.815332503350359e-4,-6.803319074311323e-7,1.173830361103633e-8,-6.815001275355418e-4,-6.477490111422285e-7,1.1749467706559448e-8,-6.814489184104265e-4,-6.941843501332436e-7,1.1733661035226025e-8,-6.813496403718091e-4,-8.071935459534741e-7,1.1695093476635976e-8,-6.81177053403738e-4,-9.623862476189849e-7,1.164206416834527e-8,-6.809151476327394e-4,-1.1251098518570805e-6,1.158639073471916e-8,-6.80561933977751e-4,-1.254012468855875e-6,1.154218474453644e-8,-6.801338767888566e-4,-1.307464024167702e-6,1.1523643336190613e-8,-6.79668066854345e-4,-1.2535982747354408e-6,1.1541612761355467e-8,-6.792188902309273e-4,-1.0830088825351644e-6,1.1599275967291585e-8,-6.78845970446115e-4,-8.196398734036575e-7,1.1688487599342648e-8,-6.785938804680131e-4,-5.21865523976247e-7,1.1789443842818592e-8,-6.784716853381285e-4,-2.670917135713526e-7,1.1875898145539714e-8,-6.784454801674145e-4,-1.229862560247459e-7,1.1924869708763637e-8,-6.78451422731065e-4,-1.2039502744957288e-7,1.1925808501975738e-8,-6.784224136183189e-4,-2.4413852327126643e-7,1.188376744728601e-8,-6.783122474568518e-4,-4.450160638167141e-7,1.1815400961230667e-8,-6.781056774875232e-4,-6.622121589485789e-7,1.1741382274874111e-8,-6.778146379208505e-4,-8.426921141446391e-7,1.1679787181502826e-8,-6.774678679897052e-4,-9.513665380458594e-7,1.1642596348323024e-8,-6.771004646386013e-4,-9.730261227384026e-7,1.163500954750871e-8,-6.767463032638174e-4,-9.096388229470013e-7,1.165635793010542e-8,-6.764335621130428e-4,-7.761178639860844e-7,1.170155308564171e-8,-6.761823408651586e-4,-5.962181208590508e-7,1.1762500661860506e-8,-6.76003339470729e-4,-3.9886548663780184e-7,1.1829366116277767e-8,-6.758971746004418e-4,-2.1465214616865e-7,1.189177429067364e-8,-6.75854349008327e-4,-7.229850977163453e-8,1.1940006997847552e-8,-6.758560464209218e-4,4.947983413017979e-9,1.1966210837941946e-8,-6.75876029123182e-4,2.7488136745964224e-9,1.196554475242547e-8,-6.758837935815457e-4,-8.161918553295126e-8,1.1937085753012027e-8,-6.758487615666738e-4,-2.3790708629766936e-7,1.1884286585775744e-8,-6.757450114730958e-4,-4.432901815565406e-7,1.1814847546413683e-8,-6.75555981832124e-4,-6.647221873892998e-7,1.1739927591423942e-8,-6.752785440219556e-4,-8.632714013106472e-7,1.1672680443195546e-8,-6.749257989924772e-4,-1.0003070529774613e-6,1.1626159710092367e-8,-6.745277736728225e-4,-1.04533785405786e-6,1.1610666373841045e-8,-6.74128768082691e-4,-9.849061499935828e-7,1.1630749295767326e-8,-6.737798662443241e-4,-8.306924641557072e-7,1.1682486866486084e-8,-6.735259935027122e-4,-6.231378273326227e-7,1.1752281613645974e-8,-6.733897881249691e-4,-4.257941722485988e-7,1.1818755484053001e-8,-6.733589931298577e-4,-3.0779861157673254e-7,1.185861347121806e-8,-6.733862647382449e-4,-3.189045445843042e-7,1.1855019353474524e-8,-6.734052719418553e-4,-4.6933352922082787e-7,1.1804407956455615e-8,-6.73356095178138e-4,-7.26669545411652e-7,1.1717608951207223e-8,-6.732058920007578e-4,-1.03135768079192e-6,1.1614681309859787e-8,-6.729549688437168e-4,-1.3203085634674708e-6,1.1516948301661333e-8,-6.726292231984343e-4,-1.5456410863813466e-6,1.1440629950089799e-8,-6.722669138054278e-4,-1.6825813512472906e-6,1.1394139323916218e-8,-6.719069745690607e-4,-1.728292691642922e-6,1.1378462534167964e-8,-6.715817867987357e-4,-1.6963310651301452e-6,1.1389032635968985e-8,-6.713140269531039e-4,-1.6104898771342205e-6,1.1417818254359392e-8,-6.711159576172181e-4,-1.4997911391117643e-6,1.1455027849828653e-8,-6.7098967808978e-4,-1.3947627025395655e-6,1.1490377166722129e-8,-6.709276170943395e-4,-1.3244157649111584e-6,1.1514110299334853e-8,-6.709132260466664e-4,-1.3133527174552276e-6,1.1517964713543777e-8,-6.709221924822578e-4,-1.3787160274900425e-6,1.1496180968261428e-8,-6.709246793383498e-4,-1.5271024239717297e-6,1.144652479963841e-8,-6.708890101922466e-4,-1.7521057789037506e-6,1.1371108056069637e-8,-6.707867329827515e-4,-2.03349427394575e-6,1.1276673671676083e-8,-6.705983390374779e-4,-2.3389296906621046e-6,1.1174033427878806e-8,-6.703183942720542e-4,-2.6286525837106187e-6,1.1076507144233978e-8,-6.699586275639561e-4,-2.862764821608109e-6,1.0997482902064068e-8,-6.695477636789244e-4,-3.009877260332382e-6,1.0947514998244096e-8,-6.691275106414471e-4,-3.0553669347500317e-6,1.093155672567259e-8,-6.687448110835039e-4,-3.0073333148598256e-6,1.0946969098039167e-8,-6.684411914721439e-4,-2.8982694801256994e-6,1.09829603567278e-8,-6.682410506419115e-4,-2.7805932569171573e-6,1.1022061743662119e-8,-6.681420923177971e-4,-2.7151112480580224e-6,1.1043947687668447e-8,-6.681122430425281e-4,-2.7538322953627776e-6,1.103115103055556e-8,-6.680967532338296e-4,-2.922229780866871e-6,1.0975005824736362e-8,-6.680351768836946e-4,-3.208938989025025e-6,1.0879155445024393e-8,-6.678818198079746e-4,-3.569206800689314e-6,1.07584697087957e-8,-6.676199799142348e-4,-3.941264216912157e-6,1.0633592515886972e-8,-6.672637124200508e-4,-4.26723863883779e-6,1.0523919613312888e-8,-6.668484745365341e-4,-4.508722102625259e-6,1.0442353880863865e-8,-6.664173881818245e-4,-4.652194081672177e-6,1.0393476953270497e-8,-6.660096559372878e-4,-4.705856726945458e-6,1.0374609216835914e-8,-6.6565400917304e-4,-4.692450116383464e-6,1.0378215067070535e-8,-6.65366691378365e-4,-4.641992506869934e-6,1.0394325668100645e-8,-6.651520724436302e-4,-4.586289293999795e-6,1.0412367136578511e-8,-6.650041770194664e-4,-4.555288303349263e-6,1.0422370733593156e-8,-6.649082145975189e-4,-4.574557922642622e-6,1.0415807035090087e-8,-6.648419516531094e-4,-4.663098319825658e-6,1.0386306849815094e-8,-6.647772977923628e-4,-4.830967209773467e-6,1.0330446811403125e-8,-6.64682793482468e-4,-5.0767082913095886e-6,1.0248610310513204e-8,-6.645276535009935e-4,-5.385272368662441e-6,1.014569716509483e-8,-6.642874935506787e-4,-5.727739295789978e-6,1.0031241672519338e-8,-6.639508926581502e-4,-6.064303841982294e-6,9.918438764338643e-9,-6.635248175263377e-4,-6.351327713612035e-6,9.821803180388749e-9,-6.630363208422775e-4,-6.551644593751551e-6,9.753736842483382e-9,-6.625286011154107e-4,-6.6453412099685115e-6,9.720943269391243e-9,-6.620515220562129e-4,-6.637210765563028e-6,9.721958663164957e-9,-6.616490030515382e-4,-6.557815458928014e-6,9.746799934408593e-9,-6.613470434299081e-4,-6.457206611119339e-6,9.779019488102298e-9,-6.611460182660693e-4,-6.3927400851426745e-6,9.799687434697574e-9,-6.610196289517972e-4,-6.414181155194645e-6,9.79227361540468e-9,-6.609211623926225e-4,-6.550090663171576e-6,9.747151909141079e-9,-6.607958578615187e-4,-6.799453044112043e-6,9.664428684028409e-9,-6.605961968829965e-4,-7.131600161094896e-6,9.554052462247139e-9,-6.602952658559864e-4,-7.495192731900008e-6,9.432897717263338e-9,-6.59893337291204e-4,-7.833471097170003e-6,9.319721647992294e-9,-6.594154199307799e-4,-8.10003951822256e-6,9.229912967892944e-9,-6.589015974741606e-4,-8.26940720505979e-6,9.171982193286219e-9,-6.583948475325114e-4,-8.339570999084169e-6,9.146702941363071e-9,-6.579310057521284e-4,-8.32782653290947e-6,9.1484953460235e-9,-6.575332522116057e-4,-8.26326332931551e-6,9.167892353553748e-9,-6.572109057110091e-4,-8.179301464685762e-6,9.193979644439203e-9,-6.569608894446945e-4,-8.108097437895046e-6,9.21621770862212e-9,-6.56770170806039e-4,-8.077049399664383e-6,9.225578151807406e-9,-6.566181353193237e-4,-8.106736580969876e-6,9.2152178288862e-9,-6.56478602741209e-4,-8.209430423295186e-6,9.18097422655523e-9,-6.563217982510564e-4,-8.387533414582957e-6,9.121895607077113e-9,-6.561169927829369e-4,-8.631800308226666e-6,9.04085550962115e-9,-6.558365936151278e-4,-8.91992576094595e-6,8.945052981019506e-9,-6.55462020900297e-4,-9.216878126763627e-6,8.845932484547084e-9,-6.549905970801155e-4,-9.47883318251498e-6,8.757896962005024e-9,-6.544410174747893e-4,-9.66200422791736e-6,8.695387849400742e-9,-6.538536905887626e-4,-9.73541782277881e-6,8.668667779698704e-9,-6.532830284212719e-4,-9.693338183562016e-6,8.679746644976681e-9,-6.527824423394355e-4,-9.561069012846983e-6,8.72050444633388e-9,-6.523874598641779e-4,-9.389804754378765e-6,8.77438033627454e-9,-6.521043283306284e-4,-9.24162630277522e-6,8.821227300503736e-9,-6.519088365606864e-4,-9.170835057503315e-6,8.843328210896267e-9,-6.517549256998489e-4,-9.20896440435165e-6,8.83024338053133e-9,-6.515887679402991e-4,-9.35797527614904e-6,8.781065819974303e-9,-6.513631828401716e-4,-9.592194273994584e-6,8.703882366870197e-9,-6.510485784423071e-4,-9.866901365965093e-6,8.613066195460134e-9,-6.506383852720353e-4,-1.0130449155765347e-5,8.525370284901691e-9,-6.501484713535216e-4,-1.0336665778532513e-5,8.455876704000505e-9,-6.496113485493177e-4,-1.0454609877589606e-5,8.414782975243667e-9,-6.490671674646127e-4,-1.0473577830441985e-5,8.405737418544261e-9,-6.485542315122563e-4,-1.0402716045749107e-5,8.42594207718587e-9,-6.48101570190052e-4,-1.0266290315339773e-5,8.467673384414735e-9,-6.477249772667448e-4,-1.0096801161149698e-5,8.520499798179897e-9,-6.474264817325805e-4,-9.928189624151298e-6,8.573469231980985e-9,-6.471962142913522e-4,-9.790591753984345e-6,8.616798727509629e-9,-6.470153398393853e-4,-9.707072173579713e-6,8.642931881769316e-9,-6.4685902944632e-4,-9.691946903899617e-6,8.647090904414083e-9,-6.466990567131604e-4,-9.749935634588221e-6,8.627569008879582e-9,-6.465061945891082e-4,-9.875497327061216e-6,8.585973740369635e-9,-6.462529770962636e-4,-1.005213254042066e-5,8.527489357020453e-9,-6.459175297868126e-4,-1.0252057697941712e-5,8.46101921967877e-9,-6.454888874271263e-4,-1.0437434177263124e-5,8.398808897746156e-9,-6.449732096697071e-4,-1.0564966265109888e-5,8.354946495019238e-9,-6.4439852831923e-4,-1.0595381812212404e-5,8.34225639995346e-9,-6.438138844513587e-4,-1.0507072144502154e-5,8.367854756241516e-9,-6.432790367365826e-4,-1.0308974899831868e-5,8.428993979308454e-9,-6.428454586197086e-4,-1.0044472629606271e-5,8.511840347096126e-9,-6.425364546618369e-4,-9.780404242463435e-6,8.595019151624936e-9,-6.423374992473061e-4,-9.584105091257316e-6,8.656940621566346e-9,-6.422025862017104e-4,-9.499924509528801e-6,8.683268961814048e-9,-6.420723318815535e-4,-9.536788226021915e-6,8.6709032555823e-9,-6.418937058551346e-4,-9.670339340684684e-6,8.62736165406817e-9,-6.416333150807353e-4,-9.854985606826542e-6,8.567021549391805e-9,-6.412819489618678e-4,-1.0038675384978085e-5,8.506456394204669e-9,-6.40852233208935e-4,-1.0175358821881159e-5,8.460459308358457e-9,-6.403723843214741e-4,-1.0233119886925515e-5,8.439407583253215e-9,-6.398785177155639e-4,-1.0197922583846564e-5,8.44800812947473e-9,-6.394070755339369e-4,-1.0073651943128085e-5,8.485229457435074e-9,-6.389883923031362e-4,-9.879211991447938e-6,8.545190825663756e-9,-6.386421940044092e-4,-9.643564938301254e-6,8.61872891621823e-9,-6.383754932638375e-4,-9.399866438278023e-6,8.695270282083074e-9,-6.381828126059341e-4,-9.179868626602678e-6,8.764629424150486e-9,-6.380482197594612e-4,-9.009455497870036e-6,8.818449463555083e-9,-6.379484020972791e-4,-8.905757191846968e-6,8.851137444227476e-9,-6.378559844764216e-4,-8.875794396678722e-6,8.860308373744816e-9,-6.37742611576723e-4,-8.916182840260416e-6,8.846890961194638e-9,-6.375817826161573e-4,-9.013389503892508e-6,8.815063136955268e-9,-6.373517365413405e-4,-9.144324590548281e-6,8.772088767448038e-9,-6.37038822435467e-4,-9.277480646007872e-6,8.727983133697308e-9,-6.366416476230471e-4,-9.375433709051482e-6,8.69473010267958e-9,-6.361755073060954e-4,-9.400076070259292e-6,8.68460137525384e-9,-6.356751215483993e-4,-9.321725715954837e-6,8.70721463674457e-9,-6.351921226563311e-4,-9.131431137281154e-6,8.765577089452952e-9,-6.34783668220924e-4,-8.851983055038034e-6,8.852573074499977e-9,-6.34492590110691e-4,-8.53933103808297e-6,8.950528563696693e-9,-6.343273922649219e-4,-8.26772377613986e-6,9.035920785086607e-9,-6.342551582389573e-4,-8.102013804904856e-6,9.088118007656425e-9,-6.342142013915741e-4,-8.071933386762328e-6,9.097504097485443e-9,-6.341394360266019e-4,-8.163387841999844e-6,9.06827899549311e-9,-6.339853162802021e-4,-8.329403778276332e-6,9.01508325066568e-9,-6.337359214736137e-4,-8.510810762680521e-6,8.956528860220945e-9,-6.334023030696212e-4,-8.65473815155575e-6,8.909374863487501e-9,-6.330132471509208e-4,-8.725202991217194e-6,8.885158614041552e-9,-6.326051717095914e-4,-8.706169178413972e-6,8.889176992237429e-9,-6.32214019748295e-4,-8.599843727994052e-6,8.920959050065301e-9,-6.318697327111989e-4,-8.422780448879686e-6,8.975440229886825e-9,-6.315928418750007e-4,-8.20125617049522e-6,9.044392176943476e-9,-6.313926873838825e-4,-7.966459175451952e-6,9.117945199759327e-9,-6.31267082506243e-4,-7.749777386235528e-6,9.186104282521891e-9,-6.312033160743475e-4,-7.5785372180136775e-6,9.240130028371382e-9,-6.311803126735913e-4,-7.472534294452365e-6,9.273661681811642e-9,-6.311716770969148e-4,-7.441681249593242e-6,9.283469414099118e-9,-6.311491861629334e-4,-7.484987837433047e-6,9.269772409499044e-9,-6.310862639818491e-4,-7.590780571477355e-6,9.236162458649285e-9,-6.309612058273856e-4,-7.737892241529536e-6,9.189230845951367e-9,-6.307601275839634e-4,-7.897660405035442e-6,9.137956611667645e-9,-6.304796987183105e-4,-8.036756534142556e-6,9.09284140190737e-9,-6.301296693209371e-4,-8.121168651637492e-6,9.064674114885852e-9,-6.297347052073675e-4,-8.122014010732786e-6,9.062695008476826e-9,-6.293340333682221e-4,-8.02357893613418e-6,9.092032490280441e-9,-6.289764922907992e-4,-7.832498886235678e-6,9.150771158405365e-9,-6.287088356458074e-4,-7.584313389584958e-6,9.227855564074418e-9,-6.285582300395714e-4,-7.340955663643736e-6,9.303857526237659e-9,-6.285162181702288e-4,-7.173981894358338e-6,9.35622506385365e-9,-6.28535844534191e-4,-7.137050918742098e-6,9.367918818323381e-9,-6.285482266619833e-4,-7.242236086511384e-6,9.334891322630107e-9,-6.284908233474023e-4,-7.4556587282647425e-6,9.267547066221383e-9,-6.28330425274692e-4,-7.714648020679488e-6,9.185435045716488e-9,-6.28069302206002e-4,-7.95377724697567e-6,9.109102634548203e-9,-6.277362671666278e-4,-8.124785819023314e-6,9.053825972438715e-9,-6.273721375619873e-4,-8.204270724462586e-6,9.02715680817319e-9,-6.27017398081553e-4,-8.191793049541557e-6,9.029461806338658e-9,-6.267047725449272e-4,-8.103665827061228e-6,9.055810702686439e-9,-6.26456043916988e-4,-7.966249400547607e-6,9.098033223137005e-9,-6.26281416479543e-4,-7.810389877515416e-6,9.146451274581206e-9,-6.261800463441795e-4,-7.667092566462788e-6,9.191260130576387e-9,-6.261411718711373e-4,-7.564004290537873e-6,9.223675064183579e-9,-6.261457836463466e-4,-7.522438367703082e-6,9.23690378724907e-9,-6.261689058554466e-4,-7.554911651594159e-6,9.226935824039986e-9,-6.26182575765119e-4,-7.663394769762143e-6,9.193084339014298e-9,-6.261594321595429e-4,-7.83867655737204e-6,9.138166390547462e-9,-6.26076519398364e-4,-8.061135092227624e-6,9.068247870454783e-9,-6.259188201018052e-4,-8.302926480673475e-6,8.991964522431026e-9,-6.256821123187454e-4,-8.531474630101965e-6,8.919455933728389e-9,-6.253747887567023e-4,-8.714062415411706e-6,8.860964423618094e-9,-6.250183114255093e-4,-8.823240323023451e-6,8.825167866103795e-9,-6.246458882436894e-4,-8.842823215536685e-6,8.817300503612222e-9,-6.242985755887415e-4,-8.774026346559433e-6,8.837199099376945e-9,-6.240177934968095e-4,-8.640273119230142e-6,8.87774343727035e-9,-6.238340168367981e-4,-8.487734929015043e-6,8.924628410892147e-9,-6.237537835039231e-4,-8.37786762163323e-6,8.958649435262117e-9,-6.237508622334895e-4,-8.370050553809897e-6,8.961109428361436e-9,-6.237694285501078e-4,-8.498608243715725e-6,8.921029687418638e-9,-6.237425116459058e-4,-8.75592709653261e-6,8.840509552635665e-9,-6.236182223750581e-4,-9.0935440897417e-6,8.734482255018053e-9,-6.233789176946422e-4,-9.44210315649724e-6,8.62453087546554e-9,-6.230431618178639e-4,-9.738006393072087e-6,8.530559779025655e-9,-6.226528415322329e-4,-9.942072412796151e-6,8.464944949980187e-9,-6.222558156538971e-4,-1.0044216892862036e-5,8.431044644216811e-9,-6.218928123420268e-4,-1.0057759649626142e-5,8.424931676993069e-9,-6.215911924046659e-4,-1.0010051523072495e-5,8.438260126232764e-9,-6.213639804945358e-4,-9.934048776771606e-6,8.460847692598394e-9,-6.212115296909202e-4,-9.862436775050359e-6,8.482499035264433e-9,-6.211238864357817e-4,-9.823973462843352e-6,8.494171700339035e-9,-6.210830596535341e-4,-9.841115150435778e-6,8.488757155704299e-9,-6.210651942122257e-4,-9.928215073960674e-6,8.461672312188594e-9,-6.210429443543682e-4,-1.0090001829574346e-5,8.411340895070526e-9,-6.209883936927952e-4,-1.032045635967511e-5,8.339532086435201e-9,-6.208766895726924e-4,-1.0602611237518307e-5,8.251410557946112e-9,-6.206901011511374e-4,-1.0909904384581257e-5,8.155117882712867e-9,-6.204217801816662e-4,-1.1209428967393452e-5,8.060785794006027e-9,-6.200783346355796e-4,-1.1467000570356854e-5,7.978999665257574e-9,-6.196803527606607e-4,-1.1653487857353938e-5,7.918867885019981e-9,-6.192602675084233e-4,-1.1751341629004252e-5,7.886009589301413e-9,-6.18857430993645e-4,-1.1760013081941588e-5,7.880853644284182e-9,-6.185107199373036e-4,-1.1698990162283051e-5,7.897639687734814e-9,-6.182494033759342e-4,-1.1607106693188978e-5,7.924550386176266e-9,-6.180837782626559e-4,-1.1536704553317361e-5,7.945441153139379e-9,-6.17998354061986e-4,-1.1541930108901036e-5,7.943422534415343e-9,-6.179514865732182e-4,-1.1662608663681637e-5,7.905878369024749e-9,-6.178847530264709e-4,-1.1908666705688085e-5,7.829382187794986e-9,-6.177413716940561e-4,-1.225291771545529e-5,7.722050838337925e-9,-6.174866683392963e-4,-1.2638281908291842e-5,7.601388082277714e-9,-6.171202061499132e-4,-1.2997807711744528e-5,7.488094639614473e-9,-6.166733164451345e-4,-1.3277552122048224e-5,7.398956214429256e-9,-6.161948260617495e-4,-1.3451111439177265e-5,7.342324255674225e-9,-6.157338992816079e-4,-1.3521276834735159e-5,7.317585667968248e-9,-6.153277910312762e-4,-1.351221220619276e-5,7.3175400954822244e-9,-6.149969832299286e-4,-1.345864223227892e-5,7.331678474457581e-9,-6.147459001310118e-4,-1.3396792379450818e-5,7.3489284361196675e-9,-6.14566195981989e-4,-1.335865891362545e-5,7.3594093806847335e-9,-6.144404163975216e-4,-1.3369061432935648e-5,7.3553652588823905e-9,-6.143451013492217e-4,-1.3444276092296466e-5,7.331624223806665e-9,-6.142533201726146e-4,-1.3591271145411236e-5,7.285864502738724e-9,-6.141370824533147e-4,-1.3807054893883965e-5,7.2188286363125555e-9,-6.139701752177742e-4,-1.4078197634895255e-5,7.134475176715785e-9,-6.137317622253945e-4,-1.4381127354302388e-5,7.03989660873347e-9,-6.13410548401449e-4,-1.4684067691371548e-5,6.944744457685035e-9,-6.130086364730966e-4,-1.4951295234998012e-5,6.8599511266353936e-9,-6.125436581487522e-4,-1.5149749237378634e-5,6.795727421966501e-9,-6.120476639627279e-4,-1.5256983677622905e-5,6.759136642679807e-9,-6.115619176413706e-4,-1.5268340231572266e-5,6.751886205597447e-9,-6.111281095430912e-4,-1.520077746265615e-5,6.769114447606619e-9,-6.107779587857513e-4,-1.5091461683002552e-5,6.799746818271109e-9,-6.10524015294988e-4,-1.4990666324170982e-5,6.828571027830531e-9,-6.103544553284269e-4,-1.4950126437351983e-5,6.839718154874809e-9,-6.10233932630094e-4,-1.5009403395997819e-5,6.820816675408024e-9,-6.101112797303565e-4,-1.5183860384006196e-5,6.7667449207401965e-9,-6.099330136988942e-4,-1.5458296216177136e-5,6.6817180549403645e-9,-6.096591780398321e-4,-1.5789545255279567e-5,6.578625916310926e-9,-6.092759401267423e-4,-1.611861496564348e-5,6.475384794437283e-9,-6.087995316766636e-4,-1.638857118742033e-5,6.389456320634693e-9,-6.082696917744599e-4,-1.656102986792536e-5,6.332762451172584e-9,-6.07735931357823e-4,-1.6624724248411486e-5,6.309028251969762e-9,-6.07243028636269e-4,-1.659408062376702e-5,6.314176973263146e-9,-6.068212130456064e-4,-1.6500688633924005e-5,6.3388763395423195e-9,-6.064828882107512e-4,-1.6382732655089433e-5,6.3716957047222936e-9,-6.062244250029457e-4,-1.6276375396916556e-5,6.401688363734559e-9,-6.060303124501623e-4,-1.6210566121514825e-5,6.41997117246288e-9,-6.058775295989655e-4,-1.6204774019256874e-5,6.420448907864246e-9,-6.057391575612956e-4,-1.6268443228459086e-5,6.400024095330046e-9,-6.055871563899351e-4,-1.640110876257458e-5,6.358597590462493e-9,-6.053947651586242e-4,-1.6592563064539658e-5,6.299040120511544e-9,-6.051391799853258e-4,-1.6823062293831563e-5,6.2271479239230684e-9,-6.04804958969757e-4,-1.7064185629920318e-5,6.15140407656365e-9,-6.043880305658054e-4,-1.7281339145854306e-5,6.082244629251485e-9,-6.038993664978827e-4,-1.743882255386278e-5,6.03054138334135e-9,-6.033664982363028e-4,-1.7507647128342022e-5,6.005236775662678e-9,-6.028306776843586e-4,-1.747471621344875e-5,6.0105545030052955e-9,-6.02338498179153e-4,-1.7350074414647643e-5,6.043785475000533e-9,-6.019293636463869e-4,-1.7168208077473955e-5,6.094852354472843e-9,-6.016229799273229e-4,-1.6981102965108023e-5,6.148328418570691e-9,-6.014120043088848e-4,-1.6844415703121967e-5,6.1875079574704055e-9,-6.012631542790681e-4,-1.6801491798937394e-5,6.199152357907398e-9,-6.011264926259588e-4,-1.687094638850435e-5,6.177250027198649e-9,-6.009494858060641e-4,-1.7041783355707502e-5,6.124605564008008e-9,-6.006912495843881e-4,-1.7277030403387907e-5,6.051910031149934e-9,-6.003329547922971e-4,-1.7524265175610315e-5,5.974701125327572e-9,-5.998817609412311e-4,-1.7729749635034893e-5,5.909152133979997e-9,-5.993674834698096e-4,-1.7852060415235455e-5,5.8679359897686786e-9,-5.98833377167506e-4,-1.7871308208750187e-5,5.857377281089162e-9,-5.983242961249349e-4,-1.77916038049349e-5,5.876628602108236e-9,-5.978761089750183e-4,-1.763692721889734e-5,5.9188348328191164e-9,-5.97509246371083e-4,-1.744281060909608e-5,5.973566370425565e-9,-5.972272340443155e-4,-1.724717783696112e-5,6.029530158965291e-9,-5.970191412732754e-4,-1.708303930127975e-5,6.076760853223087e-9,-5.968639601907031e-4,-1.6974182393121108e-5,6.107949062772968e-9,-5.967351618909186e-4,-1.6933562355692315e-5,6.1189757620988596e-9,-5.966044914543551e-4,-1.6963408114122988e-5,6.108924653343465e-9,-5.964448552706594e-4,-1.7056054741231575e-5,6.079858424794432e-9,-5.962326779452772e-4,-1.719488339402509e-5,6.036551327657856e-9,-5.959503269411983e-4,-1.7355296242159556e-5,5.9862122504836265e-9,-5.955890709894159e-4,-1.7506243438176608e-5,5.9380510048463094e-9,-5.951525234145372e-4,-1.7613258416163484e-5,5.902393637339857e-9,-5.946596553230791e-4,-1.764400034962936e-5,5.889033529766786e-9,-5.941454005656148e-4,-1.757658081028564e-5,5.9047300999132285e-9,-5.936562505153676e-4,-1.740909145309199e-5,5.9503386560754e-9,-5.932393300043767e-4,-1.7166185049999746e-5,6.018820818675055e-9,-5.929270253618056e-4,-1.6897363809678338e-5,6.095715953083003e-9,-5.927235829331455e-4,-1.6664334583585255e-5,6.162832492505709e-9,-5.926012168281408e-4,-1.6521086061127168e-5,6.204080876826821e-9,-5.925088318791681e-4,-1.6495650783895652e-5,6.2108462578212325e-9,-5.923893296595289e-4,-1.6581983910685432e-5,6.18445634623603e-9,-5.921973240230338e-4,-1.6744373968298434e-5,6.135018198325406e-9,-5.919105305805832e-4,-1.6930486544110382e-5,6.077709827522491e-9,-5.915325837551485e-4,-1.708674963487434e-5,6.028320742756395e-9,-5.910887401414671e-4,-1.7171114333858196e-5,5.999481940305171e-9,-5.906173977802621e-4,-1.7160751663905477e-5,5.998318193545036e-9,-5.901602907269286e-4,-1.7054266849847147e-5,6.025679671747184e-9,-5.897536026274595e-4,-1.6869186278252847e-5,6.076768658723353e-9,-5.894215706944987e-4,-1.6636088071657184e-5,6.142787676934763e-9,-5.891734417193177e-4,-1.639112845867565e-5,6.21311247089221e-9,-5.890037891503861e-4,-1.616881901687457e-5,6.277444531418832e-9,-5.888953870874903e-4,-1.599649526801642e-5,6.32750261058349e-9,-5.888234156540204e-4,-1.5891120266408232e-5,6.358035497480615e-9,-5.887598278097893e-4,-1.585830828911002e-5,6.36716114540014e-9,-5.886770911880141e-4,-1.5892951435849457e-5,6.356201350362242e-9,-5.88551067772663e-4,-1.598065881617845e-5,6.329251478975357e-9,-5.883632730491481e-4,-1.609944079656462e-5,6.292675486505938e-9,-5.881029486085081e-4,-1.622153632414498e-5,6.254574948934901e-9,-5.877692932525501e-4,-1.6315735016464423e-5,6.224131558643309e-9,-5.873738337045345e-4,-1.6350916709415508e-5,6.2105932820424296e-9,-5.869421485315761e-4,-1.630165097021894e-5,6.221632150191717e-9,-5.865131121598357e-4,-1.6156063475258574e-5,6.261002414793579e-9,-5.861331744440621e-4,-1.592434760802166e-5,6.325989749491587e-9,-5.858441940187316e-4,-1.5643598634390996e-5,6.405942312898085e-9,-5.856671951075539e-4,-1.5373106219251778e-5,6.483607719282582e-9,-5.855897763285556e-4,-1.517729276675414e-5,6.540086767802591e-9,-5.855664407766135e-4,-1.5101743305100796e-5,6.561819413722951e-9,-5.855345304499817e-4,-1.5154956209859986e-5,6.545946710766161e-9,-5.854378007236991e-4,-1.5306366023333386e-5,6.500984799091855e-9,-5.852448952227367e-4,-1.550045098503084e-5,6.442830961710452e-9,-5.849551516575722e-4,-1.567734639813534e-5,6.388848412759949e-9,-5.845930082893017e-4,-1.5789777542943528e-5,6.352965558410412e-9,-5.841969678310368e-4,-1.5811729052473348e-5,6.343113417189745e-9,-5.838084552194186e-4,-1.5739511632880423e-5,6.360814546463471e-9,-5.834633032295308e-4,-1.5588003820527e-5,6.402145833924053e-9,-5.831864760835484e-4,-1.538472081382847e-5,6.4593502606737386e-9,-5.829896181558738e-4,-1.5163375096637597e-5,6.5226561160815544e-9,-5.828708999533577e-4,-1.4957769589611858e-5,6.582074977801076e-9,-5.828167555766546e-4,-1.479662672105976e-5,6.628984531476504e-9,-5.828049993600993e-4,-1.46998740108272e-5,6.657304486326205e-9,-5.828086784632086e-4,-1.4676619073704028e-5,6.664156600488167e-9,-5.828000486403008e-4,-1.472477456925716e-5,6.649997471487258e-9,-5.827541399829672e-4,-1.4832100153552331e-5,6.618295601842242e-9,-5.826515746817173e-4,-1.4978198357449995e-5,6.574915976578972e-9,-5.824806499688132e-4,-1.5136975222470618e-5,6.5273858129103555e-9,-0.00058223891266244855,-1.5279382997478107e-5,6.484113573877451e-9,-5.819343932522649e-4,-1.537659130322262e-5,6.453510098108357e-9,-5.815864337643335e-4,-1.540395190071223e-5,6.442875322162274e-9,-5.812255138914551e-4,-1.5346207013270155e-5,6.456887019322757e-9,-5.808906783087563e-4,-1.5203879326331496e-5,6.495696015125998e-9,-5.806227398257667e-4,-1.4999252917115385e-5,6.553106536171523e-9,-5.804523980144355e-4,-1.4778150938693695E-05,6.6159779015583296e-9,-5.803857787226134e-4,-1.460244790593015e-5,6.666344613112382e-9,-5.803949019080188e-4,-1.453107430828226e-5,6.68691651811743e-9,-5.804222577193308e-4,-1.4595598468279076e-5,6.6681996557004115e-9,-5.804015691477434e-4,-1.4784365571006996e-5,6.613182223466211e-9,-5.802844416075218e-4,-1.504659664064087e-5,6.536251455252701e-9,-5.800572407115345e-4,-1.5314205201811868e-5,6.456956105272316e-9,-5.79740462121484e-4,-1.5527257460748158e-5,6.392682319350163e-9,-5.793754455308698e-4,-1.564997575685766e-5,6.354031421288331e-9,-5.79008526869674e-4,-1.5673984575231004E-05,6.3438332685434564e-9,-5.786793595545836e-4,-1.561305703577987e-5,6.358555023821292e-9,-5.78414926698478e-4,-1.5494822966848187e-5,6.390561211013941e-9,-5.782279782895778e-4,-1.535291284406682e-5,6.430282529202295e-9,-5.781179986625985e-4,-1.5220866757312826e-5,6.467953037038186e-9,-5.780733038593612e-4,-1.5127728821522725e-5,6.494942808591026e-9,-5.780737214613339e-4,-1.5094878202343984e-5,6.5047765753731806e-9,-5.780937304323509e-4,-1.5133945325895573e-5,6.493829724860568e-9,-5.781059012122124e-4,-1.5245845768728994e-5,6.461654192249107e-9,-5.780844231366714e-4,-1.5420967008494582E-05,6.410916404303534e-9,-5.780084375089962e-4,-1.5640566187065733e-5,6.346952753693187e-9,-5.778647777628711e-4,-1.5879285361295647e-5,6.277008199105833e-9,-5.776498175490725e-4,-1.6108436934896513e-5,6.209288793870668e-9,-5.773703656839252e-4,-1.6299721111280603e-5,6.151931069035016e-9,-5.770436111533959e-4,-1.6429208290678547e-5,6.111913238799296e-9,-5.766960225533119e-4,-1.6481506020845262e-5,6.093889659946264e-9,-5.763608734161528e-4,-1.6454038016908552e-5,6.098936037071565e-9,-5.760736744361726e-4,-1.6361021724264736e-5,6.123317511020036e-9,-5.758647102549619e-4,-1.6235696451862072e-5,6.157725998483951e-9,-5.757488547335339e-4,-1.612803540234014e-5,6.1878352067051535e-9,-5.757153315080947e-4,-1.609480237938911e-5,6.197125012537102e-9,-5.757234435926061e-4,-1.6181340271018654e-5,6.17217305833007e-9,-5.757111211388329e-4,-1.6400971995423106e-5,6.108703432860775e-9,-5.756170143529824e-4,-1.6724228696811727e-5,6.014819069588441e-9,-5.754058752564376e-4,-1.7087730422599016e-5,5.908527015219574e-9,-5.750819117894468e-4,-1.7419566737748216e-5,5.810457691770534e-9,-5.746829127406637e-4,-1.7665934924859706e-5,5.736209930949652e-9,-5.742617293776332e-4,-1.7804887133825812e-5,5.692403621165638e-9,-5.738676244788915e-4,-1.7844643668928444e-5,5.677123312045796e-9,-5.735352118200017e-4,-1.781324586487339e-5,5.682774688163753e-9,-5.732813705044003e-4,-1.774712544477777e-5,5.699224028512855e-9,-5.731070706253558e-4,-1.7682465513048927e-5,5.716183635261324e-9,-5.730010810481334e-4,-1.7650014543434743e-5,5.7246996299768535e-9,-5.729437243720952e-4,-1.7672436560521165e-5,5.717992329661441e-9,-5.729101327422091e-4,-1.77629912703616e-5,5.691943387538161e-9,-5.728732254490138e-4,-1.7924881686606425e-5,5.645364913125561e-9,-5.728066872098459e-4,-1.8151183111504288e-5,5.580046983978404e-9,-5.726880446715707e-4,-1.8425518479711568e-5,5.500544376149344e-9,-5.725017360320156e-4,-1.8723776519021976e-5,5.4136497171616706e-9,-5.722417478110209e-4,-1.901709758465021e-5,5.327525281669176e-9,-5.719132058612187e-4,-1.9275973453983113e-5,5.250556794951275e-9,-5.715324599224961e-4,-1.9474966424702655e-5,5.190061549896955e-9,-5.711254487065863e-4,-1.9597425970417595e-5,5.150993130292952e-9,-5.707243215314012e-4,-1.963951786184574e-5,5.134796911166756e-9,-5.703624645452386e-4,-1.961289496480425e-5,5.138582384870229e-9,-5.700681701023597e-4,-1.9545349551733103e-5,5.154808129149603e-9,-5.698573617980196e-4,-1.947850234148492e-5,5.171796776237571e-9,-5.697265168248463e-4,-1.946126166119291e-5,5.175504776714801e-9,-5.696483046445741e-4,-1.9538307489946467e-5,5.152814866181088e-9,-5.695737447050487e-4,-1.9735023712205888e-5,5.095954657144991e-9,-5.694440581573207e-4,-2.0044122435153433e-5,5.006492424902162e-9,-5.692107976121244e-4,-2.0422259733411498e-5,4.896447185420986e-9,-5.688556702159739e-4,-2.080239735784011e-5,4.784807248298537e-9,-5.683984430252771e-4,-2.1118146298752406e-5,4.69055903235853e-9,-5.678877874524411e-4,-2.1327200844530532e-5,4.6259837892894646e-9,-5.673813072802742e-4,-2.1421699487486857e-5,4.593705379214873e-9,-5.669266461901139e-4,-2.1423333992840117e-5,4.588040913127525e-9,-5.665515251973581e-4,-2.1370168449335505e-5,4.598631280140418e-9,-5.66262954244887e-4,-2.1303510202976556e-5,4.614029495947506e-9,-5.660516519242294e-4,-2.1259150169743164e-5,4.624106881604416e-9,-5.658977760906469e-4,-2.1263246516499423e-5,4.621241923637268e-9,-5.657758344743934e-4,-2.1331262909287216e-5,4.600715978969188e-9,-5.656582879656547e-4,-2.146824690958318e-5,4.560744399958647e-9,-5.655182799852074e-4,-2.166944979816653e-5,4.502372881234427e-9,-5.653320939464026e-4,-2.19210611198664e-5,4.429288721729575e-9,-5.650817267772786e-4,-2.2201302733604196e-5,4.347494108741701e-9,-5.647576281566446e-4,-2.248238891148829e-5,4.2647329227178e-9,-5.64361175875774e-4,-2.273385814627313e-5,4.1895539317782425e-9,-5.639060211063388e-4,-2.2927360460003696e-5,4.129994037758887e-9,-5.634173669126164e-4,-2.3042324624474837e-5,4.092025805841426e-9,-5.629285951340259e-4,-2.3071330028784256e-5,4.078067292741761e-9,-5.624753358397186e-4,-2.3023652525244365e-5,4.085953126634584e-9,-5.620879235594856e-4,-2.2925599059856908e-5,4.1087412604200885e-9,-5.617838311213657e-4,-2.2816948292584702e-5,4.13556726191145e-9,-5.615618506350042e-4,-2.274366245931516e-5,4.1535543827756625e-9,-5.613996862607292e-4,-2.2747751693369897e-5,4.150602400752755e-9,-5.61256426475516e-4,-2.2855979724977274e-5,4.1186293748158945e-9,-5.61080812039059e-4,-2.307016575944345e-5,4.056477812301431e-9,-5.608247544560862e-4,-2.3362823347901296e-5,3.971353014138016e-9,-5.6045888275338e-4,-2.3681771753724775e-5,3.877666551810311e-9,-5.599840255643514e-4,-2.3964648029816697e-5,3.7929726560466655e-9,-5.594323224548366e-4,-2.4158896301923775e-5,3.732284697554104e-9,-5.588562140180068e-4,-2.4238382403495358e-5,3.7033386543166194e-9,-5.583104935056323e-4,-2.4208922097151482e-5,3.7049913841555217e-9,-5.578362118896362e-4,-2.4101634993633252e-5,3.729013562684922e-9,-5.574526700823866e-4,-2.395959922159319e-5,3.763717738012945e-9,-5.571580150477938e-4,-2.3824918225424018e-5,3.7974724057465164e-9,-5.56934945270612e-4,-2.3730431642789787e-5,3.820986693463586e-9,-5.567575402096818e-4,-2.369650431855389e-5,3.828264474037562e-9,-5.565968561839238e-4,-2.3731175634325677e-5,3.81667238499676e-9,-5.564247258473144e-4,-2.383170766272784e-5,3.786608603817477e-9,-5.562162343773809e-4,-2.3986308687498875e-5,3.741076017959136e-9,-5.559516320965893e-4,-2.41756410521933e-5,3.6852669334650524e-9,-5.556182989939095e-4,-2.4374329729557413e-5,3.626126257835752e-9,-5.552129829469255e-4,-2.455308708972398e-5,3.5717509128408136e-9,-5.547439478003086e-4,-2.4682169708976556e-5,3.5304410056635687e-9,-5.542320441001034e-4,-2.4736519034990855e-5,3.509299202176376e-9,-5.537093394875636e-4,-2.470209240070845e-5,3.5124945121858324e-9,-5.532141884717492e-4,-2.4581739735308707e-5,3.539625413001244e-9,-5.527827987017785e-4,-2.4398065123244182e-5,3.584874043486559e-9,-5.524392207026548e-4,-2.419093064879187e-5,3.6375935558350362E-09,-5.521871673866484e-4,-2.400904254983496e-5,3.6845003460724823e-9,-5.52006996859421e-4,-2.3897600320895216e-5,3.7129769442225496e-9,-5.518594417411545e-4,-2.3885806156130697e-5,3.714505319352247e-9,-5.516952472542898e-4,-2.3978206075858976e-5,3.6871706513466653e-9,-5.514680023266997e-4,-2.415252676916681e-5,3.636467576060659e-9,-5.511466570996784e-4,-2.436472997812125e-5,3.5741160763841065e-9,-5.507243054631822e-4,-2.456016575596165e-5,3.5151030037156743e-9,-5.502204943898792e-4,-2.4688078368491355e-5,3.4736716022299434e-9,-5.49675845316952e-4,-2.4715297420699776e-5,3.4594450841273604e-9,-5.491403496431156e-4,-2.4634524609268043e-5,3.475010754579904e-9,-5.486594079579832e-4,-2.4464309834586896e-5,3.5158016687115214e-9,-5.482626949453814e-4,-2.424130364105868e-5,3.572121989232335e-9,-5.479593003710058e-4,-2.400859263852101e-5,3.6322781071167195e-9,-5.477393924139225e-4,-2.380483572567349e-5,3.685543859039702e-9,-5.475800136344878e-4,-2.365734300350956e-5,3.7241138416981567e-9,-5.47451900115605e-4,-2.3579686113701558e-5,3.743864278401933e-9,-5.473251545092862e-4,-2.3572576485177517e-5,3.744220422532077e-9,-5.471730460260657e-4,-2.3626248739021626e-5,3.727569108803425e-9,-5.469742478632765e-4,-2.3723043848052887e-5,3.6985616396725427e-9,-5.467142469598954e-4,-2.3839630731377964e-5,3.6634824609621807e-9,-5.463866264206015e-4,-2.3948973655604125e-5,3.6296880385067596e-9,-5.4599456793534e-4,-2.4022629138410048e-5,3.604980769764583e-9,-5.455523444943196e-4,-2.4034135649642785e-5,3.5967054365603564e-9,-5.450858818683846e-4,-2.396401744104895e-5,3.6104037986387385e-9,-5.446308564687652e-4,-2.380610222496027e-5,3.648086038965713e-9,-5.442267710418497e-4,-2.3573376044700058e-5,3.7065940327411654e-9,-5.43906780201333e-4,-2.3300037015731352e-5,3.776970362392915e-9,-5.436858585814063e-4,-2.303631065445945e-5,3.8457757017923984e-9,-5.43552613478327e-4,-2.28353475000358e-5,3.898554409891338e-9,-5.434699258623914e-4,-2.2736277504907688e-5,3.924381501274142e-9,-5.433855832143338e-4,-2.275078970747129e-5,3.919540539705527e-9,-5.43248646299094e-4,-2.285936214945721e-5,3.888688548443496e-9,-5.430245801652687e-4,-2.3018194797770242e-5,3.8431759853901846e-9,-5.427037893107168e-4,-2.3172944399802506e-5,3.7974973736510936e-9,-5.423020260258028e-4,-2.3273629234107787e-5,3.765329016282113e-9,-5.418542195221602e-4,-2.328631805513169e-5,3.756319626683319e-9,-5.414045400541133e-4,-2.3199382210688513e-5,3.774257587440266e-9,-5.409955890221134e-4,-2.302384304625818e-5,3.8167930066406206e-9,-5.406592269132189e-4,-2.2788582348018324e-5,3.876564618794517e-9,-5.404109156371855e-4,-2.253214165155441e-5,3.943315026925249e-9,-5.402484736817223e-4,-2.2293496058127136e-5,4.00637464546443e-9,-5.401548723226671e-4,-2.210423231623976e-5,4.056855142789439e-9]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_7.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_7.json
deleted file mode 100644
index 00cb5c9..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_7.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":7000,"numberOfSamples":1000,"samples":[-5.401035826582183e-4,-2.1983771746004456e-5,4.089071108861903e-9,-5.400645679375473e-4,-2.1937995914044596e-5,4.1010390739496695e-9,-5.400093979365809e-4,-2.1960549237341188e-5,4.094200825458988e-9,-5.399147607226752e-4,-2.203560775605646e-5,4.072680770337793e-9,-5.397644338651072e-4,-2.2140989396072942e-5,4.0424039620270295e-9,-5.395502643031555e-4,-2.2250959079911428e-5,4.010291455194114e-9,-5.392727708698771e-4,-2.233868896010399e-5,3.983582390762636e-9,-5.389417235021638e-4,-2.2378792834005243e-5,3.969178139964558e-9,-5.385766058145648e-4,-2.235055698671764e-5,3.972815745495291e-9,-5.382062428829531e-4,-2.2242365349685453e-5,3.9978965146973945e-9,-5.378662132655593e-4,-2.205712418011711e-5,4.043993326717811e-9,-5.375924932704364e-4,-2.181705877637256e-5,4.105479870305896e-9,-5.374109340395555e-4,-2.1564488189815053e-5,4.171221914461289e-9,-5.373252109046606e-4,-2.13546121672999e-5,4.226432351021938e-9,-5.373095626709229e-4,-2.123923851906108e-5,4.256999417283581e-9,-5.373130817418842e-4,-2.1246850964482913e-5,4.25485673473855e-9,-5.372765380678705e-4,-2.136960735856047e-5,4.221561718856039e-9,-5.371540300970259e-4,-2.156549994879516e-5,4.167859343731849e-9,-5.36928145915775e-4,-2.177449463181616e-5,4.109507993256763e-9,-5.36612298142394e-4,-2.193926959851254e-5,4.061836554881471e-9,-5.362421974391817e-4,-2.202084762893932e-5,4.035594559950374e-9,-5.358628658080441e-4,-2.200502185841941e-5,4.035163172736923e-9,-5.355167351147426e-4,-2.1900830823744038e-5,4.058798324504693e-9,-5.35235449411885e-4,-2.173439788390032e-5,4.100071676730384e-9,-5.350357193602122e-4,-2.15410881740401e-5,4.14980207032798e-9,-5.349185757880749e-4,-2.135782693181579e-5,4.198050291539687e-9,-5.348712290073628e-4,-2.121657442592248e-5,4.2359280087428855e-9,-5.348708000481933e-4,-2.1139615342117445e-5,4.257004944159546e-9,-5.348890826615417e-4,-2.113709309176623e-5,4.258128208977309e-9,-5.348974104172614e-4,-2.1206799246401138e-5,4.239584522007182e-9,-5.348708384321045e-4,-2.1335822917691524e-5,4.204678615706449e-9,-5.347911231697716e-4,-2.1503424398811796e-5,4.158913513206647e-9,-5.346483663470459e-4,-2.1684383203511062e-5,4.109023325019758e-9,-5.344415971986584e-4,-2.185222293312799e-5,4.062070768370815e-9,-5.341787121227865e-4,-2.198213649495927e-5,4.024683100836483e-9,-5.338760303296781e-4,-2.2053786749643512e-5,4.002365575691231e-9,-5.335574557412858e-4,-2.2054309116071213e-5,3.998758028608726e-9,-5.332528017860458e-4,-2.198181627770456e-5,4.014702338546216e-9,-5.32994271803446e-4,-2.1849184863030615e-5,4.047158626760407e-9,-5.328099775273082e-4,-2.1686695872980368E-05,4.088373074123842e-9,-5.327143982259301e-4,-2.1540670747909262e-5,4.1261167888255816e-9,-5.326982547305342e-4,-2.146472539588816e-5,4.145954976805639e-9,-5.327237676269208e-4,-2.150269819024173e-5,4.135827219007261e-9,-5.32732172820136e-4,-2.166880035547954e-5,4.091442962833996e-9,-5.32664363807273e-4,-2.193675634261866e-5,4.019307535221708e-9,-5.324850262715923e-4,-2.2247356034033065e-5,3.93482109123221e-9,-5.321959712692641e-4,-2.253169043764306e-5,3.856170494966331e-9,-5.318318024819819e-4,-2.2736299986202895e-5,3.797697407775919e-9,-5.314434001136979e-4,-2.283727543038531e-5,3.7661716224598815e-9,-5.310801862783224e-4,-2.2840328090950416e-5,3.760701663621395e-9,-5.307784695622606e-4,-2.277209911293882e-5,3.774865010501329e-9,-5.305570300482153e-4,-2.2669296597542187e-5,3.799377675031908e-9,-5.304177923198672e-4,-2.2569563199808032e-5,3.824373068544768e-9,-5.303490345079164e-4,-2.2505211219014473e-5,3.841055895162692e-9,-5.303294436667859e-4,-2.2499458669989806e-5,3.842819986704146e-9,-5.303323047521583e-4,-2.2564506861846283e-5,3.825934653411622e-9,-5.303295770130921e-4,-2.2701095439328812e-5,3.78981094362531e-9,-5.302956400451363e-4,-2.2899349303107257e-5,3.736840685640963e-9,-5.30210473665667e-4,-2.314073527658426e-5,3.6718507329490764e-9,-5.300620142371433e-4,-2.340093393614476e-5,3.601265981895817e-9,-5.298474349228372e-4,-2.3653284469214588e-5,3.532132956929273e-9,-5.29573308984056e-4,-2.3872320401723e-5,3.4711768964710575e-9,-5.292548431176042e-4,-2.403707365259649e-5,3.4239812057610383e-9,-5.289143407918906e-4,-2.4134058857944783e-5,3.3942741989696835e-9,-5.285789266630395e-4,-2.4159906281443744e-5,3.3832709646259577e-9,-5.282773952237134e-4,-2.4123609199085298e-5,3.389033411558258e-9,-5.280357364388392e-4,-2.404808982327215e-5,3.4059246595776906e-9,-5.278708810726782e-4,-2.3969949940549298e-5,3.4245089739342943e-9,-5.277831391864141e-4,-2.3935357712190903e-5,3.4325187746853774e-9,-5.277497546540487e-4,-2.3990053843999665e-5,3.417490568679712e-9,-5.277243373408124e-4,-2.416362760309801e-5,3.371043381811958e-9,-5.276472969010053e-4,-2.4453303594010498e-5,3.2933522318209953e-9,-5.274672038760931e-4,-2.4817592116745615e-5,3.1949762152372857e-9,-5.271634422555336e-4,-2.5188059386224728e-5,3.0937979755767632e-9,-5.267559068389037e-4,-2.549567899523349e-5,3.008057415556971e-9,-5.262952781608044e-4,-2.569664316277229e-5,2.9495561606916857e-9,-5.258412694183832e-4,-2.5783493066863733e-5,2.9207489680924703e-9,-5.254425066389419e-4,-2.5779503885456728e-5,2.9161612247094987e-9,-5.251263833011977e-4,-2.5724489785007588e-5,2.925940256027055e-9,-5.248986095698239e-4,-2.566102959629115e-5,2.9392604634341714e-9,-5.247480432907525e-4,-2.5625368004893986e-5,2.946595015690205e-9,-5.246528338231885e-4,-2.5643091786020372e-5,2.940887498147975e-9,-5.245858121778989e-4,-2.572797628618578e-5,2.918009092055048e-9,-5.245186697908287e-4,-2.5882406676612352e-5,2.8768303754599108e-9,-5.244252403009383e-4,-2.6098529986454154e-5,2.8190430572214277e-9,-5.242842104460674e-4,-2.6359918036558112e-5,2.748752781998075e-9,-5.240813809095547e-4,-2.664376012583758e-5,2.6718566779627634e-9,-5.23811405473642e-4,-2.6923697743507696e-5,2.5952305181850944e-9,-5.234786998958045e-4,-2.7173303690041893e-5,2.5257824612885647e-9,-5.230971720563157e-4,-2.7369871435687406e-5,2.4694878843742183e-9,-5.226886747385083e-4,-2.749801736194075e-5,2.4305157487672832e-9,-5.222802740203602e-4,-2.7552679878417226e-5,2.410501767346455e-9,-5.219004721067165e-4,-2.7541114744677728e-5,2.4080150610133087e-9,-5.215746064004773e-4,-2.748348611429587e-5,2.4182963593044943e-9,-5.213196916609409e-4,-2.741169261001642e-5,2.433387542607336e-9,-5.211390633776294e-4,-2.7365830864708946e-5,2.442883976030173e-9,-5.210177939670833e-4,-2.7387386588784694e-5,2.4356382416405185e-9,-5.2092103264559e-4,-2.7508753633437043e-5,2.4025749182162106e-9,-5.207983793056417e-4,-2.7740648686792387e-5,2.3401865242185253e-9,-5.205966266482828e-4,-2.806223642295004e-5,2.253350576167634e-9,-5.202789824851698e-4,-2.8421269302758358e-5,2.1554312055901617e-9,-5.198423209709797e-4,-2.8748981292602243e-5,2.064380772209385e-9,-5.193213569961983e-4,-2.8985277857182498e-5,1.996093068377223e-9,-5.187754286828383e-4,-2.9100856801229018e-5,1.95860814721846e-9,-5.182654734879904e-4,-2.910408008464851e-5,1.950328402209735e-9,-5.17834468885133e-4,-2.903146570281326e-5,1.9624204795998646e-9,-5.174994717055985e-4,-2.8930642345991606e-5,1.9830589980046977e-9,-5.172543344144145e-4,-2.8845521813800735e-5,2.0010793286060667e-9,-5.170775031307184e-4,-2.8808046397317225e-5,2.0080420772500573e-9,-5.169400421587481e-4,-2.883586587420426e-5,1.998918998843043e-9,-5.168116638617822e-4,-2.8933416322078027e-5,1.9719933681402133e-9,-5.166645952694133e-4,-2.9094191480639365e-5,1.928446821526537e-9,-5.16476024252827e-4,-2.930309443473024e-5,1.8718459878098334e-9,-5.162298604848831e-4,-2.9538674218475745e-5,1.8075644448687839e-9,-5.15918183163581e-4,-2.9775463189840496e-5,1.7421226458261029e-9,-5.155423951219354e-4,-2.9986754143992856e-5,1.682415416929058e-9,-5.151137407302886e-4,-3.0148054298078004e-5,1.6348102041026057e-9,-5.14652612618079e-4,-3.024103796625174e-5,1.6041685250154395e-9,-5.141862173715009e-4,-3.025736743569097e-5,1.5929194416540232e-9,-5.137445594032925e-4,-3.0201544061071227e-5,1.6003442662174793e-9,-5.133551073665073e-4,-3.0091913298744713e-5,1.6222546448333353e-9,-5.130369284461957e-4,-2.9959105712960137e-5,1.651244127376648e-9,-5.127954099507898e-4,-2.9841663506552026e-5,1.6776263789056898e-9,-5.126187743607301e-4,-2.977911818282605e-5,1.6910763709352394e-9,-5.124775920139699e-4,-2.980317215645477e-5,1.6828919402962205e-9,-5.123285291058596e-4,-2.992827896807966e-5,1.6485704768880652e-9,-5.121232184702717e-4,-3.0144080674584436e-5,1.5900146804836555e-9,-5.118216874803194e-4,-3.041333535976552e-5,1.5163090868023582e-9,-5.114069216089788e-4,-3.06788578426189e-5,1.4420450362417905e-9,-5.108941341159282e-4,-3.087997193374652e-5,1.383045829244638e-9,-5.103283884814538e-4,-3.097314754523197e-5,1.350950290890561e-9,-5.097696659935665e-4,-3.0946985077149386e-5,1.3492802047218747e-9,-5.092722871601308e-4,-3.0823751756630565e-5,1.3729826486285837e-9,-5.088689790088103e-4,-3.064783528784369e-5,1.4112787115572115e-9,-5.085657929059659e-4,-3.046880866802487e-5,1.4518356546063253e-9,-5.08346811352875e-4,-3.032757248561428e-5,1.4841879987672864e-9,-5.081833205273989e-4,-3.024951848205968e-5,1.5014927928567059e-9,-5.080425577921641e-4,-3.024389232124672e-5,1.5008319918093534e-9,-5.078937898414977e-4,-3.0306504584070308e-5,1.4827093655212703e-9,-5.077117106050379e-4,-3.042331137863873e-5,1.4502784815439696e-9,-5.074781087294359e-4,-3.0573627604291196e-5,1.4085697181512755e-9,-5.071827632231985e-4,-3.0732762305829554e-5,1.363783212066794e-9,-5.068241386956512e-4,-3.087440447664662e-5,1.322616276444108e-9,-5.064099743494193e-4,-3.097328317084115e-5,1.2915471371343079e-9,-5.059573813360568e-4,-3.100850766576199e-5,1.2759963019804067e-9,-5.054917280931815e-4,-3.09675266499804e-5,1.2793674539120017e-9,-5.050436028710859e-4,-3.085000943630236e-5,1.3021016279347987e-9,-5.046435847782699e-4,-3.067039629349787e-5,1.3410151010863194e-9,-5.043154041700915e-4,-3.0457621016956392e-5,1.3892739397176436e-9,-5.040690924503929e-4,-3.025093383015183e-5,1.4372920683562972e-9,-5.038963498673596e-4,-3.0091976510982597e-5,1.4745708467378526e-9,-5.037701041335682e-4,-3.001474285367648e-5,1.4921523724764496e-9,-5.036491510419384e-4,-3.0036038672483e-5,1.4850891219563646e-9,-5.034873278369172e-4,-3.0149240525066758e-5,1.4542250103523055e-9,-5.032453132593057e-4,-3.032361586041559e-5,1.4066373962624775e-9,-5.029021178492986e-4,-3.0510322165871625e-5,1.3543382658568904e-9,-5.024627404979756e-4,-3.06545113386691e-5,1.3112907864465489e-9,-5.01958677253733e-4,-3.0710749963624354e-5,1.2894420761309303e-9,-5.014397693770699e-4,-3.065674386674007e-5,1.2951067361437504e-9,-5.009594637119274e-4,-3.0499774007028698e-5,1.327181960804589e-9,-5.005591265624038e-4,-3.027289359707675e-5,1.3779593095465411e-9,-5.002577464773517e-4,-3.002286754188913e-5,1.4360302437884732e-9,-5.000502980916162e-4,-2.9795642680252517e-5,1.4898545010720947e-9,-4.999135018056022e-4,-2.96252177016554e-5,1.530564984614016e-9,-4.998148703059288e-4,-2.9528734833433275e-5,1.5533180663703762e-9,-4.997210391324866e-4,-2.9507108813167577e-5,1.557313949211449e-9,-4.996033580441727e-4,-2.95486805281199e-5,1.5450349761472517e-9,-4.994407134467235e-4,-2.963354086042027e-5,1.5212284427432084e-9,-4.99220513807549e-4,-2.9737275227078863e-5,1.4919412361183264e-9,-4.989388300780407e-4,-2.9833867578447486e-5,1.4637165471569636e-9,-4.986003615032496e-4,-2.989808300652266e-5,1.442933990607473e-9,-4.982184149831263e-4,-2.9907927865987277e-5,1.4351810441446417e-9,-4.978145252172193e-4,-2.9847712851288548e-5,1.4445248582206659e-9,-4.974169169914042e-4,-2.971176155615385e-5,1.4726359068551763e-9,-4.970569165391165e-4,-2.9508056286774713e-5,1.517893845763169e-9,-4.967628303390822e-4,-2.926026998042455e-5,1.574829976621728e-9,-4.96551978398408e-4,-2.900608455871382e-5,1.634431128285346e-9,-4.96423302209712e-4,-2.879027553840682e-5,1.6857146709917446e-9,-4.963541060645736e-4,-2.865323310167557e-5,1.7184681499924557e-9,-4.963036761354488e-4,-2.861842652841363e-5,1.7263462753477494e-9,-4.962236841992082e-4,-2.8683800491744274e-5,1.7091218148852898e-9,-4.960720233794146e-4,-2.8820919804120417e-5,1.673117417745899e-9,-4.958250916601518e-4,-2.898244031513813e-5,1.6295915726764063e-9,-4.954843911405692e-4,-2.911516518981793e-5,1.591663143962164e-9,-4.950757567029083e-4,-2.9174289607850693e-5,1.5708062654753593e-9,-4.946419883627445e-4,-2.9134683182893188e-5,1.5739443674704452e-9,-4.942313197632331e-4,-2.899634780038582e-5,1.601897900139963e-9,-4.938850760519116e-4,-2.8782878175581034e-5,1.6495407345080696e-9,-4.936280480341194e-4,-2.8533738897703263e-5,1.707525662802973e-9,-4.934641902772148e-4,-2.8293088750190768e-5,1.7649546067683797e-9,-4.933783032088761e-4,-2.80988640410467e-5,1.8121051613246878e-9,-4.933422254005704e-4,-2.7975289802310766e-5,1.842421094099516e-9,-4.933227875226166e-4,-2.793022331205908e-5,1.853363241919422e-9,-4.932888738289174e-4,-2.7956735636432285e-5,1.8461872237371115e-9,-4.932160962554518e-4,-2.8037116641906087e-5,1.8250326211687373e-9,-4.930889594766327e-4,-2.8147435486230603e-5,1.7957702854856959e-9,-4.929012427190119e-4,-2.8261502965497104e-5,1.7649326447086253e-9,-4.926554961798312e-4,-2.835390391705434e-5,1.7388763334173934e-9,-4.923623095573031e-4,-2.8402349479687208e-5,1.7231683216680764e-9,-4.920395867133475e-4,-2.8389889647024718e-5,1.722073563894763e-9,-4.917115540492151e-4,-2.8307497965287012e-5,1.7379836944677346e-9,-4.914067695061618e-4,-2.815714883271202e-5,1.7707008124423624e-9,-4.911541935152892e-4,-2.7954758530073625e-5,1.8166878141640076e-9,-4.9097673506944e-4,-2.773135265619518e-5,1.868683014872907e-9,-4.908829819257416e-4,-2.753002578310636e-5,1.9163130986412e-9,-4.908600342594571e-4,-2.7396792960745575e-5,1.9482274136412787e-9,-4.908721173909682e-4,-2.736633164669827e-5,1.9555585722015448e-9,-4.908685218729858e-4,-2.7447945016454782e-5,1.935427847646306e-9,-4.907995565142859e-4,-2.7619289411182313e-5,1.8926347984558103e-9,-4.906336832509187e-4,-2.7832348344015255e-5,1.8383867655335314e-9,-4.903676923646972e-4,-2.802925951189207e-5,1.7865984348223615e-9,-4.900260027571856e-4,-2.81603898676814e-5,1.7495716625922467e-9,-4.89651135545775e-4,-2.8197278587712897e-5,1.7348223698973235e-9,-4.892906052692192e-4,-2.8137212384925217e-5,1.7438257478064728e-9,-4.889850187707911e-4,-2.800028120231637e-5,1.7725003438639047e-9,-4.887600631930353e-4,-2.782169608840279e-5,1.8128296668897378e-9,-4.886231415493295e-4,-2.764229676123075e-5,1.8550063239660704e-9,-4.885642484701803e-4,-2.7499550273375093e-5,1.8896080581632753e-9,-4.88560103003217e-4,-2.7420633789239168e-5,1.9094190965771907e-9,-4.885802098906471e-4,-2.741859369588705e-5,1.9105887095828677e-9,-4.885932963466409e-4,-2.749186494528233e-5,1.892958847920264e-9,-4.885727070221833e-4,-2.7626586385723848e-5,1.8596151082628022e-9,-4.884999125827284e-4,-2.780056601507957e-5,1.815912403162441e-9,-4.883659918181414e-4,-2.7987688626019622e-5,1.7683031663824352e-9,-4.881714965792303e-4,-2.8161857991136438e-5,1.7232621331153711e-9,-4.879253817230721e-4,-2.8300053385778088e-5,1.6864793191295907e-9,-4.876435954604153e-4,-2.838460913858599e-5,1.6623231380987314e-9,-4.87347570898538e-4,-2.8405127125376862e-5,1.6534487206287574e-9,-4.870624676766653e-4,-2.8360400428380635e-5,1.660397458157364e-9,-4.8681464921107224e-4,-2.8260451760282097e-5,1.6810999234867354e-9,-4.8662762504571956e-4,-2.8128194590838857e-5,1.710378936760407e-9,-4.865159493111669e-4,-2.7999259061439134e-5,1.7398402884595435e-9,-4.864778001628795e-4,-2.7917688216241995e-5,1.758782346831438e-9,-4.864891773662556e-4,-2.7925623648319725e-5,1.7566564873211407e-9,-4.8650469881442816e-4,-2.8048055389582203e-5,1.7268436941845679e-9,-4.8646900022718986e-4,-2.8278862045047066e-5,1.6701987909042514e-9,-4.863366661408441e-4,-2.8577505119019685e-5,1.596014686119699e-9,-4.8609095859314307e-4,-2.888149066944309e-5,1.5191180487893385e-9,-4.8575031131327785e-4,-2.9129303897496962e-5,1.4543917377772392e-9,-4.853594628443761e-4,-2.928127077721007e-5,1.4117786999065398e-9,-4.8497195747729835e-4,-2.932864068445588e-5,1.394071849831376e-9,-4.846337505125269e-4,-2.92901557766113e-5,1.397598481510503e-9,-4.8437354423659196e-4,-2.9201624636557654e-5,1.4144787727407432e-9,-4.842002284292061e-4,-2.9104393029698005e-5,1.4351477859261177e-9,-4.841052181270292e-4,-2.903609161431683e-5,1.4504558263885193e-9,-4.84067228217977e-4,-2.9024670479161186e-5,1.4531643834621424e-9,-4.840577748119623e-4,-2.90853939257728e-5,1.438879930124667e-9,-4.8404655015113853e-4,-2.9220176531956694e-5,1.4064663055144139e-9,-4.840061936266715e-4,-2.9418854952069273e-5,1.3579222509944927e-9,-4.839159970403585e-4,-2.9661986241126522e-5,1.2977592972372048e-9,-4.8376421255598803e-4,-2.99245694584744e-5,1.2320364517035848e-9,-4.8354887698368103e-4,-3.0180063885511402e-5,1.1672683012708056e-9,-4.832772700501507e-4,-3.0404142004948953e-5,1.1094257627540442e-9,-4.829643557323166e-4,-3.0577722626730395e-5,1.06319106972272e-9,-4.826306810340864e-4,-3.068915192762852e-5,1.0314937573263063e-9,-4.823000236618913e-4,-3.073572511170575e-5,1.0152261736262526e-9,-4.819967854440488e-4,-3.07247596187981e-5,1.0130129991719876e-9,-4.8174290438235536e-4,-3.067424662353938e-5,1.0209817846856487e-9,-4.8155387647187757e-4,-3.061273027346073e-5,1.032629336411569e-9,-4.814336608023644e-4,-3.057734555154527e-5,1.0391143981355627e-9,-4.813692597631775e-4,-3.060832201910778e-5,1.0304832601707698e-9,-4.813275459614071e-4,-3.073869463472397e-5,9.981998565152625e-10,-4.812585659790297e-4,-3.09804507134622e-5,9.386721541243323e-10,-4.811087866201458e-4,-3.1312961751180574e-5,8.56262021686922e-10,-4.8084200197442165e-4,-3.168291882514008e-5,7.634346976835111e-10,-4.804573453938174e-4,-3.202098523525012e-5,6.767668830172286e-10,-4.799919742448245e-4,-3.226863232885468e-5,6.104833504614054e-10,-4.7950561722214457e-4,-3.239963129412474e-5,5.713324640502453e-10,-4.7905711130771735e-4,-3.2424683834516966e-5,5.57489239643948e-10,-4.7868648919253005e-4,-3.2380572165611614e-5,5.61014998658449e-10,-4.78408756745913e-4,-3.231372536823076e-5,5.715060758294507e-10,-0.00047821695541208484,-3.226672810540936e-5,5.790543339561175e-10,-4.780892929635116e-4,-3.2270696159169436e-5,5.759797425532569e-10,-4.7799654019284706e-4,-3.2342694027153804e-5,5.575709307492149e-10,-4.7790798337904856e-4,-3.2486240286347094e-5,5.222191413059654e-10,-4.7779572256916394e-4,-3.269322339193252e-5,4.712137846897875e-10,-4.776377532430203e-4,-3.294643314889626e-5,4.0828191455557877e-10,-4.7742011900052996e-4,-3.322255415686779e-5,3.3887550315425643e-10,-4.7713813362436103e-4,-3.3495522236272236e-5,2.692723543611399e-10,-4.767966058786844e-4,-3.374005506219493e-5,2.0561845121165476e-10,-4.764089810761079e-4,-3.3935100660724256e-5,1.5304719488686107e-10,-4.759953978571277e-4,-3.4066794130658526e-5,1.150012473363178e-10,-4.75579914293648e-4,-3.4130529894258694e-5,9.281539758685568e-11,-4.7518726401693057e-4,-3.4132012358599385e-5,8.552166664277137e-11,-4.7483937947707337e-4,-3.4087283256587925e-5,8.9808001360197e-11,-4.745518134530909e-4,-3.402168289331611e-5,1.0012352749726892e-10,-4.743301302744044e-4,-3.396758918434555e-5,1.0901384685598315e-10,-4.7416643965561046e-4,-3.3960444197777966e-5,1.0790405985855532e-10,-4.740368979791793e-4,-3.4032281179469596e-5,8.86169595898152e-11,-4.739021227586955e-4,-3.420250408423377e-5,4.5725881072999446e-11,-4.7371326042227083e-4,-3.446757033559661e-5,-2.0710561717845824e-11,-4.734254927457585e-4,-3.479429725681101e-5,-1.0330249928567228e-10,-4.7301639236006836e-4,-3.5123672220509924e-5,-1.881476569178234e-10,-4.725000431178112e-4,-3.5388839961071916e-5,-2.591876480176443e-10,-4.7192604541348076e-4,-3.554105374407855e-5,-3.044707002743182e-10,-4.7136099969806975e-4,-3.556883779945993e-5,-3.206993534357789e-10,-4.7086294225468346e-4,-3.549888047725581e-5,-3.1342792392102554e-10,-4.7046352272326177e-4,-3.538050951555742e-5,-2.935213287305637e-10,-4.7016473226171217e-4,-3.5265590743997314e-5,-2.726806915020762e-10,-4.699464136836216e-4,-3.5194260656001715e-5,-2.6030955535709985e-10,-4.697770469616606e-4,-3.518932915329649e-5,-2.622205939252974e-10,-4.696228012465099e-4,-3.5256920462369833e-5,-2.8060094716625834e-10,-4.6945333703288087e-4,-3.538992906669341e-5,-3.145484253008059e-10,-4.69244867902677e-4,-3.5571919634512485e-5,-3.607624652693146e-10,-4.6898164086817774e-4,-3.5780529452895425e-5,-4.1425452821863957e-10,-4.686566863176195e-4,-3.5990449974228233e-5,-4.690962154934373e-10,-4.6827208786035787e-4,-3.617631589754077e-5,-5.192139267408718e-10,-4.678386863652773e-4,-3.631568320727738e-5,-5.591870571551936e-10,-4.6737497335989225e-4,-3.6392083291211825e-5,-5.849904896303589e-10,-4.6690488301707415e-4,-3.639782201853782e-5,-5.94602599597509e-10,-4.6645445102384944e-4,-3.633592139146378e-5,-5.883906819014525e-10,-4.660476945176547e-4,-3.6220661871468307e-5,-5.692228942796334e-10,-4.657022695838701e-4,-3.6076407131886816e-5,-5.422815071321678e-10,-4.6542554666657507e-4,-3.5934607127357874e-5,-5.145430862929582e-10,-4.6521176990474016e-4,-3.582914597600692e-5,-4.93889587145379e-10,-4.650408921003716e-4,-3.579037660247443e-5,-4.878228226654467e-10,-4.6487973809540686e-4,-3.583822677071e-5,-5.017887049330647e-10,-4.646864289969452e-4,-3.5975183793548686e-5,-5.37296846788472e-10,-4.64418929535433e-4,-3.618107017587765e-5,-5.903807450996709e-10,-4.640473748557744e-4,-3.641280549063968e-5,-6.513004445318026e-10,-4.6356706963375163e-4,-3.6612571972860786e-5,-7.064066461510136e-10,-4.6300573393137634e-4,-3.672503075757567e-5,-7.42296675743031e-10,-4.624182914159778e-4,-3.671797163766815e-5,-7.508047679955584e-10,-4.6186855565977626e-4,-3.659550128472903e-5,-7.321670756526646e-10,-4.614064225580401e-4,-3.6395389241618036e-5,-6.944563282812404e-10,-4.610528332327597e-4,-3.6172385710832e-5,-6.498299076742612e-10,-4.607987283925611e-4,-3.597801715887471e-5,-6.100320374056605e-10,-4.6061468507508637e-4,-3.5846959612404006e-5,-5.833503649471653e-10,-4.6046349004600013e-4,-3.579313229929127e-5,-5.736387227312834e-10,-4.6030994274539054e-4,-3.5812705095171745e-5,-5.807834219497946e-10,-4.601262422144594e-4,-3.588972134772124e-5,-6.017486078129592e-10,-4.5989390505752053e-4,-3.600142119002202e-5,-6.316505581854882e-10,-4.596038614192552e-4,-3.61222398339944e-5,-6.646706362294414e-10,-4.592559568531993e-4,-3.6226694452753686e-5,-6.948193567656552e-10,-4.5885834703375316e-4,-3.629175808199892e-5,-7.166060109300918e-10,-4.584267277797475e-4,-3.629920933167143e-5,-7.25651034334448e-10,-4.5798303120869814e-4,-3.623817319516776e-5,-7.192617233124736e-10,-4.575530806030977e-4,-3.610762730040304e-5,-6.969458465337379e-10,-4.571628892970559e-4,-3.591815255208761e-5,-6.607620683323364e-10,-4.56833823604343e-4,-3.569198142091502e-5,-6.153534493322551e-10,-4.5657747279228704e-4,-3.54605678450924e-5,-5.675121322431022e-10,-4.5639155317605325e-4,-3.525945503013983e-5,-5.251872676244543e-10,-4.562582877399368e-4,-3.5121101489857186e-5,-4.960025021303906e-10,-4.561462404911574e-4,-3.5067166813251846e-5,-4.855281510313871e-10,-4.560157354184803e-4,-3.510209657136758e-5,-4.956760285975314e-10,-4.558271844438492e-4,-3.520973052125918e-5,-5.23642942124648e-10,-4.555509722539143e-4,-3.5354377231198915e-5,-5.618485388203806e-10,-4.551767900011865e-4,-3.5487271728465515e-5,-5.99216862288837e-10,-4.547194931700101e-4,-3.555821241925147e-5,-6.238372524193589e-10,-4.5421824807652514e-4,-3.553016757808225e-5,-6.264728450339745e-10,-4.537270827198009e-4,-3.539206308847836e-5,-6.037125880351339e-10,-4.532987076358123e-4,-3.5163679660655164e-5,-5.592847955933052e-10,-4.5296792741134556e-4,-3.488912728160238e-5,-5.027086388929701e-10,-4.527422313081323e-4,-3.462138798450755e-5,-4.458766460131134e-10,-4.5260323410913533e-4,-3.4405453702598874e-5,-3.9926413768010085e-10,-4.5251644486876176e-4,-3.426740951649623e-5,-3.6938487658784766e-10,-4.5244332300902997e-4,-3.421213627964388e-5,-3.5808595438001316e-10,-4.523505626185003e-4,-3.4227480505678286e-5,-3.632636675315268e-10,-4.5221482312207624e-4,-3.4290899461766846e-5,-3.8020116677613763e-10,-4.5202375557595886e-4,-3.437554371425792e-5,-4.029081427514244e-10,-4.5177505774483904e-4,-3.445460262322402e-5,-4.251869797649234e-10,-4.514749547370295e-4,-3.4504079311446706e-5,-4.4139362238526164e-10,-4.5113679020358777e-4,-3.450468018923218e-5,-4.469651496899405e-10,-4.507797731939009e-4,-3.444350711070474e-5,-4.388225099902334e-10,-4.504274678763231e-4,-3.431595710739258e-5,-4.1574789980056126e-10,-4.501053968208255e-4,-3.412772239306382e-5,-3.7876689398194317e-10,-4.49837245052929e-4,-3.3896171321560205e-5,-3.3143923698792594e-10,-4.4963967883302245e-4,-3.364990241377015e-5,-2.7982500286964254e-10,-4.495167350280108e-4,-3.342519780636138e-5,-2.3182893325347959e-10,-4.494557916595384e-4,-3.32588698365336e-5,-1.9575098987866422e-10,-4.494275238613324e-4,-3.317868246084438e-5,-1.7822526619476317e-10,-4.493912544321645e-4,-3.319433112785999e-5,-1.8215182067943742e-10,-4.4930491559363935e-4,-3.329257874488547e-5,-2.0541584757431906e-10,-4.491366544886963e-4,-3.343893518934762e-5,-2.409915239755049e-10,-4.4887423428689434e-4,-3.358582747083409e-5,-2.785249749837473e-10,-4.4852918924545023e-4,-3.3684857564196356e-5,-3.069592004180854e-10,-4.481345025764483e-4,-3.3699547562141865E-05,-3.174400965017838e-10,-4.477364173205387e-4,-3.36150453685436e-5,-3.056899582009406e-10,-4.473824653024104e-4,-3.3442075559446554e-5,-2.731645840371916e-10,-4.471089794236686e-4,-3.3213746559910004e-5,-2.2659609678642381e-10,-4.4693193476726584e-4,-3.2975892326254515e-5,-1.7600234698550785e-10,-4.4684415933761597e-4,-3.2774072581832724e-5,-1.318180279743324e-10,-4.468195596048631e-4,-3.264180812728822e-5,-1.0215906621877542e-10,-4.468221350963377e-4,-3.259390394722096e-5,-9.111564082088563e-11,-4.468159270102211e-4,-3.262613831507543e-5,-9.843768488394674e-11,-4.4677253154619184e-4,-3.271981887431175e-5,-1.2037327381122013e-10,-4.466747593938944e-4,-3.2848326037323585e-5,-1.5107991793165482e-10,-4.465169535590928e-4,-3.298315215165685e-5,-1.8405170853296948e-10,-4.4630337571044507e-4,-3.309824656748056e-5,-2.1323351666357844e-10,-4.4604597579605345e-4,-3.317263929462189e-5,-2.337308573244723e-10,-4.45762317539977e-4,-3.3191928530204014e-5,-2.421841171496663e-10,-4.454738218877487e-4,-3.314935956184844e-5,-2.369644191333686e-10,-4.4520398080873634e-4,-3.304699535971351e-5,-2.1835135532547503e-10,-4.449759188950929e-4,-3.289697404544757e-5,-1.887628854791514e-10,-4.448087241116615e-4,-3.2722220146874976e-5,-1.529489231537002e-10,-4.4471242614531716e-4,-3.2555363695373645e-5,-1.1787226547448037e-10,-4.446825403539786e-4,-3.2434324371631275e-5,-9.188130706746193e-11,-4.4469655992664646e-4,-3.2393735943472714e-5,-8.291075104452407e-11,-4.4471563063769776e-4,-3.245364245052461e-5,-9.596818943647909e-11,-4.446933654754844e-4,-3.2609831845342675e-5,-1.3086158754423952e-10,-4.445900359888028e-4,-3.2831347836709934e-5,-1.814400172328324e-10,-4.4438642125605143e-4,-3.306811219248421e-5,-2.370680722983898e-10,-4.4409080264432883e-4,-3.326622792760892e-5,-2.858581212801058e-10,-4.437360837083105e-4,-3.33843518504114e-5,-3.1823887552277983e-10,-4.433690949210459e-4,-3.340463330407339e-5,-3.294487374573945e-10,-4.430370755530498e-4,-3.3335321031998855e-5,-3.203184353265311e-10,-4.427759960089928e-4,-3.320596713714179e-5,-2.9650278742528307e-10,-4.4260339341241914e-4,-3.305809413124731e-5,-2.666935334285821e-10,-4.425164934095727e-4,-3.293443729480453e-5,-2.403889490512539e-10,-4.424951037855245e-4,-3.286939195932481e-5,-2.2573681301802528e-10,-4.4250792553513906e-4,-3.2882577323854434e-5,-2.2789539745179735e-10,-4.425203905633074e-4,-3.297653466831185e-5,-2.4823497974085815e-10,-4.425019734590562e-4,-3.313848660280707e-5,-2.8448803781729026e-10,-4.424313311491289e-4,-3.334499881923905e-5,-3.3168004394333305e-10,-4.422985572981347e-4,-3.3567784931305844e-5,-3.834657566606249e-10,-4.4210484891880924e-4,-3.377905354369237e-5,-4.3346022827032136e-10,-4.4186050614891556e-4,-3.3955460677570604e-5,-4.762630706971752e-10,-0.00044158229376506733,-3.408047587119074e-5,-5.080560853142402e-10,-4.4129088951131405e-4,-3.4145537682724034e-5,-5.268328707022444e-10,-4.4100864451780675e-4,-3.415060214756904e-5,-5.324321778308508e-10,-4.4075744431709034e-4,-3.4104538515809105e-5,-5.265509515466792e-10,-4.405562048159596e-4,-3.402543308853396e-5,-5.128193797311413e-10,-4.4041749799388676e-4,-3.394031824044413e-5,-4.968520411437988e-10,-4.4034317371603764e-4,-3.388321666420194e-5,-4.859836819661576e-10,-4.4031985380117906e-4,-3.389003663385937e-5,-4.882781596747447e-10,-4.4031667309458187e-4,-3.398947734201114e-5,-5.105417250572887e-10,-4.40288726603928e-4,-3.419139460117802e-5,-5.556392875995702e-10,-4.4018852720764694e-4,-3.447763007612022e-5,-6.202734840122589e-10,-4.3998312776834925e-4,-3.4802253044518366e-5,-6.948530997978604e-10,-4.396688525708522e-4,-3.510470657110431e-5,-7.662719727894685e-10,-4.3927463938373874e-4,-3.533108692677226e-5,-8.225278615720626e-10,-4.388514849831018e-4,-3.545261924397217e-5,-8.567545923869293e-10,-4.384542114569926e-4,-3.5472467064472854e-5,-8.687704570663886e-10,-4.381250309194333e-4,-3.542007387575285e-5,-8.640367362840351e-10,-4.3788477725332484e-4,-3.533865244353876e-5,-8.512299465652137e-10,-4.377321566231613e-4,-3.52722511840646e-5,-8.396926899517458e-10,-4.3764830456916964e-4,-3.525614476523123e-5,-8.374333127536711e-10,-4.376036478383992e-4,-3.531151963905395e-5,-8.498330044244647e-10,-4.3756499698159503e-4,-3.544392307484552e-5,-8.790159276265403e-10,-4.3750174764789934e-4,-3.56445680225368e-5,-9.238259471745557e-10,-4.3739057794072914e-4,-3.5893675770702265e-5,-9.803621067461992e-10,-4.372182577922428e-4,-3.6165025749781834e-5,-1.042950971201023e-9,-4.369824734841252e-4,-3.6430802734025703e-5,-1.1053246753441703e-9,-4.36690901264442e-4,-3.6665949804834746e-5,-1.1617407465670032e-9,-4.3635900542241446e-4,-3.685147801086402e-5,-1.2078249534317108e-9,-4.360071976804138e-4,-3.697647114841903e-5,-1.2410262063482944e-9,-4.356579555231565e-4,-3.7038915732516285e-5,-1.260728985867218e-9,-4.353331667358742e-4,-3.704575670653252e-5,-1.2681800873321904e-9,-4.350516275750907e-4,-3.701249208677096e-5,-1.2663789075441324e-9,-4.348264748497907e-4,-3.696235632581322e-5,-1.2599873663792249e-9,-4.3466228069439307e-4,-3.692480626009468e-5,-1.2551736513394884e-9,-4.3455177288540366e-4,-3.6932510170417106e-5,-1.25912798564809e-9,-4.3447301468774706e-4,-3.701572674939781e-5,-1.278902275184977e-9,-4.3438916026796164e-4,-3.71935894381788e-5,-1.3194060826546412e-9,-4.3425376802956616e-4,-3.74638561498117e-5,-1.3809346111075104e-9,-4.340236163024067e-4,-3.779593543622154e-5,-1.4574024307369292e-9,-4.3367640876553675e-4,-3.8134118564692025e-5,-1.5369256916288049e-9,-4.332244241737091e-4,-3.8414502041651824e-5,-1.6055222702572017e-9,-4.3271386018431076e-4,-3.858948430017033e-5,-1.652481129483999e-9,-4.3220787923143326e-4,-3.864607462666557e-5,-1.6743270763616353e-9,-4.317629656468537e-4,-3.860761863456337e-5,-1.6752156913577408e-9,-4.3141176547786695e-4,-3.8520414864384305e-5,-1.6642240440609935e-9,-4.3115868222643985e-4,-3.8435327419660585e-5,-1.651702421749401e-9,-4.3098557996193025e-4,-3.8393580822086956e-5,-1.6464759363415677e-9,-4.3086147835504085e-4,-3.841992287116871e-5,-1.65440671246263e-9,-4.307516674336233e-4,-3.8521823132790755e-5,-1.6780078303099869e-9,-4.306243804306794e-4,-3.8692067403099935e-5,-1.716664885505569e-9,-4.3045497513185133e-4,-3.891267180424769e-5,-1.7671843133691706e-9,-4.302282105989142e-4,-3.9159095494623204e-5,-1.824566327370246e-9,-4.299390751286171e-4,-3.940438880534627e-5,-1.8829431790449586e-9,-4.295924025130069e-4,-3.9623034498814555e-5,-1.936562263178734e-9,-4.292014630930585e-4,-3.9794261037469396e-5,-1.9806593157273097e-9,-4.287856876623859e-4,-3.9904630596068394e-5,-2.0120950226613972e-9,-4.28367754503315e-4,-3.994964610903417e-5,-2.0296763544745215e-9,-4.279704452993792e-4,-3.9934237516808346e-5,-2.0341813886434956e-9,-4.276136265667553e-4,-3.987227137249826e-5,-2.0282039753249915e-9,-4.273114688402678e-4,-3.978527077197651e-5,-2.0159259234067885e-9,-4.2706992488113834e-4,-3.9700366198973295e-5,-2.002829069662559e-9,-4.268845197863682e-4,-3.964737840173896e-5,-1.9952647642030475e-9,-4.267386265969893e-4,-3.965471131576109e-5,-1.999700373052887e-9,-4.266029510717304e-4,-3.9743544324180614e-5,-2.0214358793739664e-9,-4.26437834568534e-4,-3.992039295746758e-5,-2.0627867533072652e-9,-4.2620038657907274e-4,-4.016980373449743e-5,-2.1212012265236316e-9,-4.2585728334790284e-4,-4.0451299582123726e-5,-2.1883606719571155e-9,-4.25400265363133e-4,-4.070596598753596e-5,-2.25155109322746e-9,-4.248561337280175e-4,-4.0874859811857436e-5,-2.2977411834001216e-9,-4.242820619720334e-4,-4.092274432793028e-5,-2.3187965446079723e-9,-4.237451316903482e-4,-4.085341822572131e-5,-2.3147791360394584e-9,-4.2329694415442286e-4,-4.070654441064251e-5,-2.2932869092235596e-9,-4.229578411734412e-4,-4.0538947222353454e-5,-2.2656447239000503e-9,-4.2271688421275413e-4,-4.040304127911455e-5,-2.2426165588610284e-9,-4.225427433080427e-4,-4.0333144803596924e-5,-2.231704275563879e-9,-4.223968689264773e-4,-4.0342043136537935e-5,-2.2363639652971267e-9,-4.222434398179648e-4,-4.042433106460874e-5,-2.256430112670042e-9,-4.220548334090586e-4,-4.056222883882198e-5,-2.2890006714688703e-9,-4.218136677594013e-4,-4.073117018433807e-5,-2.3293788637137593e-9,-4.21512946299068e-4,-4.0904258616967875e-5,-2.3719643641673716e-9,-4.2115531676598317e-4,-4.105575217512033e-5,-2.4111025484600863e-9,-4.207517952197999e-4,-4.1163907229954436e-5,-2.441863734119646e-9,-4.203200113401336e-4,-4.121333480514526e-5,-2.460678044086568e-9,-4.198819221794372e-4,-4.119688223171917e-5,-2.4657691210332674e-9,-4.194609188969578e-4,-4.111682572964086e-5,-2.4573520283086842e-9,-4.1907848888926417e-4,-4.0985005162454883e-5,-2.4375869987131062e-9,-4.1875086145044143e-4,-4.082171835588424e-5,-2.4103369791762464e-9,-4.1848604840921634e-4,-4.065342570658751e-5,-2.3807851127628465e-9,-4.182816061708275e-4,-4.050935427302264e-5,-2.3549026071762925e-9,-4.1812347686722286e-4,-4.041715861848515e-5,-2.3387103150409148e-9,-4.1798629068454416e-4,-4.039789505126642e-5,-2.337275945283984e-9,-4.178356307985684e-4,-4.046059638808345e-5,-2.353438615303446e-9,-4.1763304542852736e-4,-4.0597133531294696e-5,-2.3864309135234715e-9,-4.17344485054109e-4,-4.07791348421971e-5,-2.4308988000567276e-9,-4.1695157842682465e-4,-4.095991780817399e-5,-2.477108670627579e-9,-4.16462448119742e-4,-4.108433698392642e-5,-2.5130503328766345e-9,-4.15915771968092e-4,-4.1106404871525956e-5,-2.528346010590168e-9,-4.153721159190534e-4,-4.100833523430551e-5,-2.5184530965389194e-9,-4.1489323356661917e-4,-4.0810007275967356e-5,-2.4867440031700544e-9,-4.1451934265011636e-4,-4.056149998336314e-5,-2.443004015897615e-9,-4.14257057163492e-4,-4.032253315069391e-5,-2.399280027476654e-9,-4.140829643037679e-4,-4.014115402159914e-5,-2.365624213252662e-9,-4.139573594589503e-4,-4.004203540654317e-5,-2.347719850083814e-9,-4.1383883902764264e-4,-4.0026135838993726e-5,-2.346648557292666e-9,-4.1369395521428763e-4,-4.007714518494776e-5,-2.359918634965156e-9,-4.1350116283010187e-4,-4.0169438678037385e-5,-2.3828275358386247e-9,-4.132509204849382e-4,-4.02745458009851e-5,-2.409672202656709e-9,-4.12944098431814e-4,-4.036544899383293e-5,-2.434693727626981e-9,-4.1259003312596384e-4,-4.0419283786942026e-5,-2.4528076757501718e-9,-4.1220463180241106e-4,-4.041920894315126e-5,-2.460165886913844e-9,-4.118084241146482e-4,-4.035589750016881e-5,-2.4545551866637317e-9,-4.114243079808707e-4,-4.0228769440772255e-5,-2.4356339267987566e-9,-4.1107472547243434e-4,-4.004674770704506e-5,-2.4050065497151834e-9,-4.107782411517076e-4,-3.982801465533893e-5,-2.3661110631512318e-9,-4.1054594259781567e-4,-3.959827057314572e-5,-2.3238887851075064e-9,-4.10378395758591e-4,-3.938732383127705e-5,-2.2842171118400988e-9,-4.1026395191599125e-4,-3.922422342717951e-5,-2.2530908614786637e-9,-4.101791123460307e-4,-3.9131562701737556e-5,-2.23557803383868e-9,-4.100913745510124e-4,-3.911997116984464e-5,-2.2346619299068557e-9,-4.099645570075549e-4,-3.9183950507037974e-5,-2.250178149363926e-9,-4.097661972198411e-4,-3.930021397784681e-5,-2.278150153434694e-9,-4.0947612025577423e-4,-3.9429780090729804e-5,-2.310922006873919e-9,-4.090943862753506e-4,-3.952493336780649e-5,-2.338459230035468e-9,-4.086456517799025e-4,-3.954111611657848e-5,-2.3508883014153373e-9,-4.081763984351799e-4,-3.945141594102922e-5,-2.34172318966217e-9,-4.0774310491620253e-4,-3.9258165010706924e-5,-2.3105104000586573e-9,-4.0739410414728915e-4,-3.899487440782558e-5,-2.2634068239480487e-9,-4.071530517716821e-4,-3.8715380711305496e-5,-2.2110648360130516e-9,-4.07012517735472e-4,-3.8474663908117465e-5,-2.1647814676881445e-9,-4.0694031503661626e-4,-3.83111097332982e-5,-2.132885090794267e-9,-4.0689355328915437e-4,-3.823811500140989e-5,-2.118905391336737e-9,-4.0683245131795863e-4,-3.824611552137267e-5,-2.121744169365106e-9,-4.0672875066320724e-4,-3.83106584547127e-5,-2.137053712749919e-9,-4.065681541205749e-4,-3.8401284561318635e-5,-2.1588842425524963e-9,-4.063489170280104e-4,-3.848820200325258e-5,-2.181051087605659e-9,-4.0607899542711783e-4,-3.854620981262006e-5,-2.198080022710527e-9,-4.0577321760118843e-4,-3.855665233157998e-5,-2.2057933114142437e-9,-4.054509336224549e-4,-3.850839314776131e-5,-2.2016348705458945e-9,-4.051339790749997e-4,-3.839848304650612e-5,-2.1848218714545927e-9,-4.0484452728607707e-4,-3.8232763492249975e-5,-2.1563917184551757e-9,-4.046024009615301e-4,-3.8026166396044666e-5,-2.1191704389762e-9,-4.0442170184689123e-4,-3.780206287518215e-5,-2.0776109012345515e-9,-4.043071522932379e-4,-3.7589916539575194e-5,-2.037394588277785e-9,-4.0425112417486777e-4,-3.7420805564781884e-5,-2.0046841607319565e-9,-4.0423270413599097e-4,-3.732108474951415e-5,-1.9850017433876396e-9,-4.042199941499895e-4,-3.7305461211264305e-5,-1.9818909364028005e-9,-4.041759729458141e-4,-3.7371576180890595e-5,-1.995722476799383e-9,-4.040669367934563e-4,-3.749819781395151e-5,-2.023080949156707e-9,-4.038714430168704e-4,-3.764824543910441e-5,-2.0570719150784504e-9,-4.0358723837979936e-4,-3.777652245214125e-5,-2.088652532821821e-9,-4.0323392522940814e-4,-3.784066890271968e-5,-2.108786263221883e-9,-4.028499668827034e-4,-3.7812733764463005e-5,-2.110917795052249e-9,-4.024839213955273e-4,-3.768809159565209e-5,-2.0930452841422504e-9,-4.0218154105103323e-4,-3.748838143603014e-5,-2.0586134771402745e-9,-4.0197245691300375e-4,-3.7256296497542606e-5,-2.0156987881971886e-9,-4.0186148165965595e-4,-3.7042976733979594e-5,-1.974586200188155e-9,-4.018283808339541e-4,-3.6892494178303976e-5,-1.944623987475064e-9,-4.0183608868270894e-4,-3.6829760565161567e-5,-1.9316327261505804e-9,-4.0184323029191903e-4,-3.685629057238657e-5,-1.9367984159228025e-9,-4.0181540972463755e-4,-3.6953941902521246e-5,-1.9571606390107712e-9,-4.0173160962337696e-4,-3.7093205760581396e-5,-1.9871078224997477e-9,-4.015852743493223e-4,-3.724183204408453e-5,-2.0200937211791826e-9,-4.013819118193629e-4,-3.737112093517171e-5,-2.0500268935527753e-9,-4.0113546642722405e-4,-3.745934046666174e-5,-2.072145790532876e-9,-4.008649162475529e-4,-3.749303145455463e-5,-2.0834320591036338e-9,-4.005915876567197e-4,-3.746722429672266e-5,-2.0827005722215756e-9,-4.00337051736825e-4,-3.7385338843855984e-5,-2.0705219071079996e-9,-4.0012112723467486e-4,-3.725911600757237e-5,-2.0491068141487655e-9,-3.9995945006566694e-4,-3.710838880148392e-5,-2.02219878218256e-9,-3.9986036290861937e-4,-3.696000071532959e-5,-1.9948926212214277e-9,-3.9982147601925637e-4,-3.684496081292581e-5,-1.9731958999948373e-9,-3.998270224104261e-4,-3.6793151712941985e-5,-1.9631309255681626e-9,-3.9984782850540707e-4,-3.6825820017548094e-5,-1.9693326621769157e-9,-3.9984567314217234e-4,-3.6947721487253395e-5,-1.9934475370821446e-9,-3.997823060669654e-4,-3.714229558595796e-5,-2.0329994613703186e-9,-3.996308094008664e-4,-3.7373115060623765e-5,-2.0814266273117242e-9,-3.99384988712439e-4,-3.759249203934011e-5,-2.1295566994293455e-9,-3.9906271036433164e-4,-3.775472405457742e-5,-2.1681019565900638e-9,-3.987016202917927e-4,-3.7829193936713294e-5,-2.190272534708571e-9,-3.9834887836798216e-4,-3.780875269054671e-5,-2.193608295241445e-9,-3.980485538263064e-4,-3.7711034648837475e-5,-2.1805271009791155e-9,-3.978305141809676e-4,-3.75729460791574e-5,-2.157555028882998e-9,-3.9770366530245046e-4,-3.744037328616604e-5,-2.1335311050243456e-9,-3.9765504299890545e-4,-3.735613027207092e-5,-2.1172878104897155e-9,-3.976546923721489e-4,-3.7349520461290274e-5,-2.1154458093897077e-9,-3.976645841027215e-4,-3.7430385886824955e-5,-2.1309453027747796e-9,-3.9764857481630915e-4,-3.7588969553787584e-5,-2.16269710822895e-9,-3.975803240688057e-4,-3.78008285196242e-5,-2.206328545718188e-9,-3.9744725472712117e-4,-3.8034406317778884e-5,-2.2556260006985536e-9,-3.972504331599879e-4,-3.825848207709496e-5,-2.304116143937135e-9,-3.970016678082849e-4,-3.8447576129588216e-5,-2.346328968114079e-9,-3.967195597523896e-4,-3.85847761019194e-5,-2.378535140950185e-9,-3.9642580202908984e-4,-3.8662499543895226e-5,-2.3989805580658325e-9,-3.9614227617272086e-4,-3.8682093918056946e-5,-2.407778956750608e-9,-3.9588887819566896e-4,-3.865305185717903e-5,-2.406662527805749e-9,-3.9568165300506234e-4,-3.8592229765188354e-5,-2.3987512411946675e-9,-3.9553072846361295e-4,-3.852295871827556e-5,-2.3883867003944353e-9,-3.9543774790634314e-4,-3.847345808670505e-5,-2.3809297326839213e-9,-3.9539305003282924e-4,-3.847364136251777e-5,-2.382287114028292e-9,-3.9537371824626544e-4,-3.854948972135635e-5,-2.397910865159832e-9,-3.9534454501332527e-4,-3.8715107497318946e-5,-2.4312142198376576e-9,-3.952641095528031e-4,-3.896460770802551e-5,-2.4818178598376683e-9,-3.9509636929992376e-4,-3.9268210077471814e-5,-2.5445577437541576e-9,-3.9482433024793544e-4,-3.957704143478872e-5,-2.6102337078048142e-9,-3.944590437311957e-4,-3.983728465279895e-5,-2.66827632892777e-9,-3.9403811672779804e-4,-4.000826568398732e-5,-2.7102607573795425e-9,-3.936136334447647e-4,-4.007582516475161e-5,-2.732568246881595e-9,-3.932354489171214e-4,-4.005509986930359e-5,-2.7370829288428234e-9,-3.9293735005261444e-4,-3.9983124149450465e-5,-2.730028550413103e-9,-3.927304162113228e-4,-3.990616554842289e-5,-2.7198283129693987e-9,-3.926037104670152e-4,-3.986712394333029e-5,-2.7148744382944538e-9,-3.925300340245018e-4,-3.989630581245046e-5,-2.721726552456415e-9,-3.924740322961887e-4,-4.000673567964125e-5,-2.7439566656949624e-9,-3.9240044960224226e-4,-4.0193797020507027e-5,-2.781711773518208e-9,-3.9228100027058804e-4,-4.043835453992976e-5,-2.8319939335662753e-9,-3.920988397429943e-4,-4.071220949346134e-5,-2.8895632795737313e-9,-3.918501286346216e-4,-4.098447018044798e-5,-2.9482215655903276e-9,-3.915428759247042e-4,-4.1227354423628e-5,-3.002126932202798e-9,-3.911938860598323e-4,-4.142035578932055e-5,-3.0468184632871506e-9,-3.908248865257149e-4,-4.1552391217979064e-5,-3.079773043002786e-9,-3.904587877773441e-4,-4.162213920665322e-5,-3.100490246668063e-9,-3.901166540589265e-4,-4.163716629526032e-5,-3.1102498369570066e-9,-3.898154596295406e-4,-4.1612528206521545e-5,-3.1117545046976984e-9,-3.895663343014008e-4,-4.15692477287104e-5,-3.108816873159751e-9,-3.893729274795302e-4,-4.1532643167673676e-5,-3.106122424164249e-9,-3.8922964958095066e-4,-4.1530120920376783e-5,-3.108959796232942e-9,-3.8911993547672825e-4,-4.158773400879558e-5,-3.1226873440949273e-9,-3.890154780111431e-4,-4.172477613316137e-5,-3.1516937951170783e-9,-3.8887832398421657e-4,-4.1946490302301866e-5,-3.1978260954989524e-9,-3.8866798799491536e-4,-4.2236923527193535e-5,-3.2587392014650204e-9,-3.883541075724722e-4,-4.255643026767475e-5,-3.3271796700881e-9,-3.879309179981178e-4,-4.2848970224092304e-5,-3.3923178303223024e-9,-3.874252936797595e-4,-4.3060086306725585e-5,-3.4432808142227515e-9,-3.8689085406422015e-4,-4.315822428367038e-5,-3.473343383367832e-9,-3.863889877673784e-4,-4.3147231358598694e-5,-3.4823712443678767e-9,-3.859670303418556e-4,-4.306282988945449e-5,-3.476235200012914e-9,-3.856450179732965e-4,-4.29567332020061e-5,-3.4640108169692097e-9,-3.8541502948697586e-4,-4.287851646215824e-5,-3.4548315486565543e-9,-3.852493149355605e-4,-4.2863147399264384e-5,-3.4556957290431317e-9,-3.851111325842977e-4,-4.2926194690833945e-5,-3.4704676625369628e-9,-3.849641750666217e-4,-4.306488479653104e-5,-3.4997555963823663e-9,-3.8477904449105344e-4,-4.326230537360815e-5,-3.541315667419064e-9,-3.845368505256895e-4,-4.349269606106779e-5,-3.5907716079917845e-9,-3.842305470775176e-4,-4.372677264988809e-5,-3.6425556238611925e-9,-3.838644713396162e-4,-4.393662457551494e-5,-3.690971057311515e-9,-3.834524001017426e-4,-4.4099766813166904e-5,-3.731195660582228e-9,-3.8301455462920074e-4,-4.4201952462350065e-5,-3.760022682061001e-9,-3.8257407697839317e-4,-4.42385677285092e-5,-3.776219192075404e-9,-3.821534971407641e-4,-4.42146190699868e-5,-3.78049345493217e-9,-3.8177167811354886e-4,-4.414353188785048e-5,-3.775176115440497e-9,-3.814415037458072e-4,-4.404520966037506e-5,-3.763795599090132e-9,-3.811682438952999e-4,-4.3943745048884684e-5,-3.750686091708826e-9,-3.8094841874788385e-4,-4.3864881721126706e-5,-3.740645067077998e-9,-3.807690606418496e-4,-4.383310219135978e-5,-3.738542478624394e-9,-3.8060747113549404e-4,-4.3868015094879415e-5,-3.7487069852998005e-9,-3.8043212896826716e-4,-4.397964230952124e-5,-3.77392849591353e-9,-3.8020614214202126e-4,-4.416283549922484e-5,-3.814126337469046e-9,-3.7989477348660916e-4,-4.43925934432593e-5,-3.8651369785543476e-9,-3.7947723172862823e-4,-4.462397219530305e-5,-3.918497560033356e-9,-3.789593875598948e-4,-4.4800964639163135e-5,-3.96317158934382e-9,-3.783796554624242e-4,-4.487522211492297e-5,-3.989310173516736e-9,-3.7780028171270733e-4,-4.482731494297352e-5,-3.992457390009027e-9,-3.772848187336151e-4,-4.4677289049787794e-5,-3.975587279866091e-9,-3.768738589342568e-4,-4.4476302813578715e-5,-3.947557776892742e-9,-3.765731596693725e-4,-4.4284647088400656e-5,-3.919157973229763e-9,-3.763583684669076e-4,-4.415011216339383e-5,-3.8993178944763496e-9,-3.7618935482083637e-4,-4.409689236608701e-5,-3.893153730927883e-9,-3.760245905568384e-4,-4.412564418670974e-5,-3.901816527226052e-9,-3.758305281239963e-4,-4.4219737409461237e-5,-3.923290331122069e-9,-3.755856622553639e-4,-4.435289044370741e-5,-3.953443754350989e-9,-3.752809867131644e-4,-4.449563849145108e-5,-3.987032034029203e-9,-3.749186681115099e-4,-4.462002058569582e-5,-4.018598786101294e-9,-3.745100126286204e-4,-4.4702883418774216e-5,-4.043293546650498e-9,-3.740730272909859e-4,-4.472824114947566e-5,-4.057558558959361e-9,-3.736296275242296e-4,-4.4688796131403827e-5,-4.059581153155581e-9,-3.732025909944763e-4,-4.4586579231906474e-5,-4.049448013925343e-9,-3.7281240901532864e-4,-4.4432606619089756e-5,-4.029008414573869e-9,-3.724743361521061e-4,-4.4245446122239154e-5,-4.001513612609417e-9,-3.7219604683176886e-4,-4.404881315412431e-5,-3.971147889469539e-9,-3.719761559946201e-4,-4.386851506422404e-5,-3.942550572712875e-9,-3.718036869016746e-4,-4.3729011292962504e-5,-3.920339561133363e-9,-3.716585476438696e-4,-4.364979112255484e-5,-3.908574248164302e-9,-3.715130942800803e-4,-4.364173138022532e-5,-3.910078188684471e-9,-3.713350457921283e-4,-4.370352841575415e-5,-3.925586069346227e-9,-3.7109238380513845e-4,-4.3818651024463044e-5,-3.9528488394828995e-9,-3.707607845405598e-4,-4.395425389302266e-5,-3.986112633364346e-9,-3.7033298488081413e-4,-4.406449097933762e-5,-4.01659369367896e-9,-3.698271408886742e-4,-4.4100617660546984e-5,-4.034478858226037e-9,-3.6928850300559833e-4,-4.402761136944001e-5,-4.032309510928544e-9,-3.6877886950402043e-4,-4.3841161627626426e-5,-4.008397336623387e-9,-3.68354844176475e-4,-4.3574127073054776e-5,-3.9681227490621515e-9,-3.680456442399449e-4,-4.328536888044946e-5,-3.921896540270247e-9,-3.678438514995482e-4,-4.303605390842075e-5,-3.88088052714649e-9,-3.6771344272492777e-4,-4.286765668321312e-5,-3.853066475373028e-9,-3.6760744211130974e-4,-4.279271827029995e-5,-3.841571155142976e-9,-3.6748400287878505e-4,-4.279868404809011e-5,-3.845110101089603e-9,-3.6731503805980255e-4,-4.2858040425471004e-5,-3.859505188909107e-9,-3.670878782353395e-4,-4.293828963274571e-5,-3.879232548481663e-9,-3.668030259099282e-4,-4.300887457302174e-5,-3.8986149146387406e-9,-3.664707239972699e-4,-4.304497730933188e-5,-3.912649349560868e-9,-3.6610775839668016e-4,-4.302929792015812e-5,-3.917575783781463e-9,-3.657347454762509e-4,-4.295287241734541e-5,-3.911245377621743e-9,-3.653736412651876e-4,-4.2815417391808795e-5,-3.893281236926014e-9,-3.650452228879931e-4,-4.2625259277326516e-5,-3.865029786249455e-9,-3.6476641984123815e-4,-4.239866016669585e-5,-3.8293301914713776e-9,-3.645476115673927e-4,-4.215819173345968e-5,-3.790137077788593e-9,-3.643903517009124e-4,-4.192994909126311e-5,-3.752032661708107e-9,-3.642861036996599e-4,-4.173977362622034e-5,-3.71966635491313e-9,-3.642164327955368e-4,-4.160892942215545e-5,-3.697132215015159e-9,-3.641549093482707e-4,-4.1549858066543754e-5,-3.6872863278909777e-9,-3.6407072313266787e-4,-4.1562773802817286e-5,-3.6910546876715064e-9,-3.639337297548633e-4,-4.1633785245227165e-5,-3.706842402789998e-9,-3.637205402382895e-4,-4.17351263688552e-5,-3.730239026226662e-9,-3.634210733541716e-4,-4.182826882524199e-5,-3.7543125950062615e-9,-3.6304426985984744e-4,-4.187077889867399e-5,-3.770791848359487e-9,-3.626205679360432e-4,-4.1827023967553126e-5,-3.772195287003563e-9,-3.621980590998262e-4,-4.168082324199709e-5,-3.754465893092228e-9,-3.6183040236259707e-4,-4.144515737090433e-5,-3.719051514202747e-9,-3.615588707716338e-4,-4.1162290906568653e-5,-3.6731031521314867e-9,-3.61396538504054e-4,-4.089083947416614e-5,-3.627175685529882e-9,-3.6132387086853867e-4,-4.0684523717909506e-5,-3.5913642442355727e-9,-3.612984871112935e-4,-4.057381858184938e-5,-3.57191628278744e-9,-3.6127263538453984e-4,-4.0559572504084276e-5,-3.5699106570700582e-9,-3.6120844626298833e-4,-4.061897653845609e-5,-3.5820719173724824e-9,-3.610852118619653e-4,-4.0717434213808e-5,-3.6026558942381903e-9,-3.608991626924136e-4,-4.0819528038116416e-5,-3.625305177385425e-9,-3.6065929725962267e-4,-4.0895889554540754e-5,-3.644354040211268e-9,-3.6038248887045136e-4,-4.092611299111932e-5,-3.6555594903413846e-9,-3.6008948797461456e-4,-4.089924983103489e-5,-3.6564197922185135e-9,-3.598020583044798e-4,-4.0813324951301555e-5,-3.6462285238279096e-9,-3.5954081132138837e-4,-4.06746448702424e-5,-3.625955167087689e-9,-3.593232203764928e-4,-4.049706401005377e-5,-3.5980159849031315e-9,-3.591614767911618e-4,-4.030096233320472e-5,-3.5659792059672047e-9,-3.5906017581369425e-4,-4.011143008152642e-5,-3.5342021902016163e-9,-3.590142746293756e-4,-3.9955202075565014e-5,-3.5073577657903728e-9,-3.5900813493897933e-4,-3.9856294031816824e-5,-3.4898049410216977e-9,-3.590165228657977e-4,-3.9830885148132995e-5,-3.484809323888809e-9,-3.5900811619758537e-4,-3.988259608517585e-5,-3.4937187933879266e-9,-3.589513508368191e-4,-3.9999692692636196e-5,-3.515316951993148e-9,-3.588215300116031e-4,-4.015553409221791e-5,-3.5456245459726613e-9,-3.586074994236263e-4,-4.031277515563591e-5,-3.578347724118303e-9,-3.5831611404968134e-4,-4.0430887172238557e-5,-3.6060328154525907e-9,-3.5797300106842354e-4,-4.0475752013014714e-5,-3.621798180660383e-9,-3.5761860209188446e-4,-4.0429328523306393E-05,-3.6212892232579545e-9,-3.572993273213688e-4,-4.029669010026284e-5,-3.604282007806e-9,-3.5705516107877836e-4,-4.01074134564653e-5,-3.575261109336151e-9,-3.56907171864305e-4,-3.990910227757714e-5,-3.542466178765705e-9,-3.5685000952815797e-4,-3.975360446642084e-5,-3.51546370509442e-9,-3.568535768631939e-4,-3.968060851260814e-5,-3.502095452651505e-9,-3.568738387353768e-4,-3.9705767185260144e-5,-3.506123139270059e-9,-3.568676969066613e-4,-3.981847075560239e-5,-3.526548679024781e-9,-3.568050583051709e-4,-3.9988930782059254e-5,-3.558632436406407e-9,-3.56673931076042e-4,-4.017965642244248e-5,-3.595815124716367e-9,-3.564788653472729e-4,-4.035578451744323e-5,-3.631596410599711e-9,-3.562358193015023e-4,-4.049130472750036e-5,-3.6608170038248088e-9,-3.5596655047241536e-4,-4.057119598922274e-5,-3.6802591959901357e-9,-3.556941971200325e-4,-4.059099060777297e-5,-3.688733399766354e-9,-3.554403466676326e-4,-4.055530827745248e-5,-3.6868596918516015e-9,-3.552231502274103e-4,-4.047630480756108e-5,-3.6767210257453985e-9,-3.550558309426621e-4,-4.0372330118324426e-5,-3.6615103358701634e-9,-3.549450842029947e-4,-4.0266541812810685e-5,-3.6452166207126978e-9,-3.5488926874896996e-4,-4.018488717008979e-5,-3.6323023478007748e-9,-3.5487679855453013e-4,-4.0152863925988295e-5,-3.6272565039705226e-9,-3.5488564634128154e-4,-4.019082120417089e-5,-3.6339063053833576e-9,-3.548851821818268e-4,-4.030831790087331e-5,-3.6544836887830023e-9,-3.548412788564619e-4,-4.049915486044093e-5,-3.6886696467672877e-9,-3.547243771613122e-4,-4.073952000048624e-5,-3.733057102710848e-9,-3.5451840841679887e-4,-4.0991294984085655e-5,-3.781467494098887e-9,-3.5422725173712733e-4,-4.121070540757682e-5,-3.826258266543762e-9,-3.538757710829669e-4,-4.136004087638724e-5,-3.8603033376723175e-9,-3.53504443877645e-4,-4.1418554823238366e-5,-3.879000807542093e-9,-3.5315908496719346e-4,-4.1388813578662445e-5,-3.881636157749867e-9,-3.528788443462086e-4,-4.1296476166252965e-5,-3.871679975513234e-9,-3.5268596813342254e-4,-4.118364620333568e-5,-3.855939529728651e-9,-3.525801622010045e-4,-4.109766926615156e-5,-3.84277572321506e-9,-3.5253922633776333e-4,-4.107846753507557e-5,-3.839853266345332e-9,-3.5252589900936437e-4,-4.1148172477191464e-5,-3.852089139473279e-9,-3.5249873593641004e-4,-4.130635182893659e-5,-3.880468677924388e-9,-3.524232758040045e-4,-4.153215835850133e-5,-3.922098707575269e-9,-3.5227977421103506e-4,-4.179200475176239e-5,-3.971370515911904e-9,-3.5206553777650213e-4,-4.2049383308559924e-5,-4.02168889154195e-9,-3.517923456022032e-4,-4.22732706596802e-5,-4.067108127961648e-9,-3.5148116482799436e-4,-4.2443054420599876e-5,-4.103423630040207e-9,-3.5115656427665365e-4,-4.254990072284108e-5,-4.128602719456839e-9,-3.508422977149487e-4,-4.259571927212223e-5,-4.1426852963775e-9,-3.505584283820493e-4,-4.2591075740938084e-5,-4.1473814440995675e-9,-3.503196597354921e-4,-4.2553010117369735e-5,-4.145588069811775e-9,-3.5013425081355416e-4,-4.250315194947812e-5,-4.140977734111264e-9,-3.5000296732766683e-4,-4.246594915992028e-5,-4.1376949637137355e-9,-3.4991789475969336e-4,-4.2466442610266224e-5,-4.140069290235601e-9,-3.4986146693382345e-4,-4.252696515740907e-5,-4.152177172551735e-9,-3.498066307483597e-4,-4.266243723623054e-5,-4.177099698568324e-9,-3.497195305195477e-4,-4.287472041112924e-5,-4.215884841538455e-9,-3.495659175480646e-4,-4.31478811621325e-5,-4.266536865943841e-9,-3.4932096349046604e-4,-4.3447520413318964e-5,-4.323660910585198e-9,-3.4897946134101256e-4,-4.372699512012349e-5,-4.379354851830018e-9,-3.4856132871286715e-4,-4.394038767390347e-5,-4.425380590164783e-9,-3.481082489458901e-4,-4.4057719624662955e-5,-4.455829749739181e-9,-3.4767160295073125e-4,-4.407548988414973e-5,-4.469069235668393e-9,-3.4729671592580966e-4,-4.401761276765464e-5,-4.468122927844235e-9,-3.470101043459885e-4,-4.392694681445468e-5,-4.459514042827404e-9,-3.4681399513372885e-4,-4.3851866775344917e-5,-4.4512484058967996e-9,-3.466884675872167e-4,-4.383320048423082e-5,-4.450711814114548e-9,-3.465989335162038e-4,-4.3895141685846634e-5,-4.463003731704032e-9,-3.4650592936654275e-4,-4.404155435899953e-5,-4.4899789588464385e-9,-3.4637451628011674e-4,-4.425746261242522e-5,-4.53010146035591e-9,-3.46181278482088e-4,-4.451449326164072e-5,-4.579071229769213e-9,-3.459177599712526e-4,-4.477844122387709e-5,-4.631023039653653e-9,-3.4559013570456575e-4,-4.501691233562397e-5,-4.679952084717743e-9,-3.452158716119919e-4,-4.520525913805162e-5,-4.720973867124305e-9,-3.4481879495999203e-4,-4.532981541959789e-5,-4.7511223937350465e-9,-3.4442408015957925e-4,-4.538843813449534e-5,-4.769589480143558e-9,-3.440542089166945e-4,-4.5389084894805184e-5,-4.7774936884748956e-9,-3.437263070319252e-4,-4.534740102436488e-5,-4.77738576894948e-9,-3.4345067735983324e-4,-4.5284143124787143e-5,-4.772713716467364e-9,-3.4323003778487113e-4,-4.5222842054429787e-5,-4.76739691027074e-9,-3.4305901194424496e-4,-4.518761784714889e-5,-4.765524511352927e-9,-3.429236989818069e-4,-4.52007347246193e-5,-4.771068404277782e-9,-3.428015696217947e-4,-4.5279382227483e-5,-4.787430575127021e-9,-3.426625060919474e-4,-4.543136538951815e-5,-4.8166784633623644E-09,-3.424723163020663e-4,-4.565015092623224e-5,-4.858517932523486e-9,-3.4219991287895055e-4,-4.591113849483137e-5,-4.9093917591879784e-9,-3.418278103507178e-4,-4.6172490727433865e-5,-4.962406765475092e-9,-3.413624942079579e-4,-4.6383736833411844e-5,-5.008742784565768e-9,-3.408383536332906e-4,-4.650185695871724e-5,-5.040476506469633e-9,-3.4030994982600497e-4,-4.650853684917004e-5,-5.053640312983224e-9,-3.398339484712107e-4,-4.641889431496161e-5,-5.0498114969366615e-9,-3.394494690556336e-4,-4.627597601679743e-5,-5.03533340901495e-9,-3.3916682212753793e-4,-4.6134299214963423e-5,-5.018789578479401e-9,-3.389684970747851e-4,-4.60416761329767e-5,-5.0082068715226695e-9,-3.388189563580666e-4,-4.602714616208865e-5,-5.009119290870518e-9,-3.386770001401216e-4,-4.609734320211425e-5,-5.023773996416256e-9,-3.385060967047203e-4,-4.623938128036451e-5,-5.051224680335727e-9,-3.382808819877009e-4,-4.642712042057251e-5,-5.0879722483668916e-9,-3.3798991630609986e-4,-4.662831095629719e-5,-5.128915587919849e-9,-3.3763548039858775e-4,-4.6811176467318076e-5,-5.16845422831316e-9,-3.3723121913479214e-4,-4.694969103565298e-5,-5.201576989894772e-9,-3.367983998553216e-4,-4.7027084779648636e-5,-5.224733145745607e-9,-3.3636159656376993e-4,-4.703738149569362e-5,-5.236319126134027e-9,-3.359445418555763e-4,-4.698513068870385e-5,-5.236724866703748e-9,-3.3556670577894265e-4,-4.688372871358966e-5,-5.228009274195705e-9,-3.3524095168534554e-4,-4.675286146676685e-5,-5.213367901026198e-9,-3.3497229454820115e-4,-4.661567260074138e-5,-5.196589566113095e-9,-3.3475746495397114e-4,-4.6496053972731513e-5,-5.181629379466889e-9,-3.3458496403935856e-4,-4.6416067332450106e-5,-5.172290074158099e-9,-3.3443550989848553e-4,-4.639329367171046e-5,-5.171902756508261e-9,-3.3428303229029717e-4,-4.64378573046309e-5,-5.182859497219969e-9,-3.3409679136510515e-4,-4.654895942300463e-5,-5.205901867299847e-9,-3.3384565314112754e-4,-4.671137333713532e-5,-5.2392644177281354e-9,-3.3350538321036714e-4,-4.689360879171389e-5,-5.278078891925973e-9,-3.330683964243518e-4,-4.705068211910057e-5,-5.314688239576653e-9,-3.3255256023083976e-4,-4.713428191609814e-5,-5.340419822664278e-9,-3.3200274383931173e-4,-4.71097541805525e-5,-5.3486420687704235e-9,-3.314797357602177e-4,-4.6972927801329136e-5,-5.337761831657595e-9,-3.3103860655846234e-4,-4.67558263411006e-5,-5.312260680512601e-9,-3.307076685003807e-4,-4.651535747158061e-5,-5.28090259224886e-9,-3.30480214378984e-4,-4.6310845214460665e-5,-5.2532057684234896e-9,-3.303220348953695e-4,-4.618357322333606e-5,-5.236272390095169e-9,-3.301874844254908e-4,-4.61477186883596e-5,-5.233313814606197e-9,-3.3003452239918076e-4,-4.619282888887948e-5,-5.243799607308075e-9,-3.2983367667361197e-4,-4.6292393090905275e-5,-5.264447531098321e-9,-3.2957087722242947e-4,-4.6413211027825386e-5,-5.2904004316313725e-9,-3.2924630863698787e-4,-4.652281087401979e-5,-5.316302669134748e-9,-3.288714144932077e-4,-4.659436358753661e-5,-5.337217434375077e-9,-3.284653025069503e-4,-4.6609576179093505e-5,-5.349376028202255e-9,-3.2805103471112654e-4,-4.656006986482792e-5,-5.35069069746132e-9,-3.2765205016821133e-4,-4.6447489372098676E-05,-5.340948027169847e-9,-3.2728894386480116e-4,-4.628254233746377e-5,-5.321669265696422e-9,-3.2697676918230653e-4,-4.608314579988514e-5,-5.295709141439522e-9,-3.2672307735294367e-4,-4.5871826451843845e-5,-5.266715731905392e-9,-3.265269163253492e-4,-4.567268490866273e-5,-5.238595811180517e-9,-3.263787833299249e-4,-4.5508326939279494e-5,-5.2150856928611045e-9,-3.262613612892449e-4,-4.5396953226487785e-5,-5.199410066665686e-9,-3.26150973687626e-4,-4.5349627530952965e-5,-5.193932690177878e-9,-3.2601983786595027e-4,-4.5367769831319596e-5,-5.1997081785981995e-9,-3.2583937029624085e-4,-4.544098475670977e-5,-5.215918457321146e-9,-3.2558503734766617e-4,-4.554569690961154e-5,-5.2393381578890325e-9,-3.252430307869566e-4,-4.5645933134909383e-5,-5.264196058241929e-9,-3.248178384294444e-4,-4.56983335628188e-5,-5.282923877448141e-9,-3.2433764411315686e-4,-4.566298738150629e-5,-5.288101154267343e-9,-3.238524934028116e-4,-4.55187894312056e-5,-5.275271384380036e-9,-3.2342122598822694e-4,-4.527677794176033e-5,-5.245365700942163e-9,-3.230898582700321e-4,-4.498163827286755e-5,-5.205044425823437e-9,-3.228725935037573e-4,-4.469651453348592e-5,-5.164266989512154e-9,-3.2274750094473347e-4,-4.4478159074842894e-5,-5.13235180184745e-9,-3.226689152698676e-4,-4.435700005748701e-5,-5.114830829337623e-9,-3.225871774071815e-4,-4.433186738587753e-5,-5.112508862693316e-9,-3.2246425807672813e-4,-4.437776497525427e-5,-5.1224162241922625e-9,-3.2228031504722966e-4,-4.445858657848031e-5,-5.139485592758135e-9,-3.2203286741891803e-4,-4.4538062588412724E-05,-5.1580709737048375e-9,-3.217324318411406e-4,-4.4586481028774453E-05,-5.173027330322962e-9,-3.213975733128406e-4,-4.458364652752997e-5,-5.180397855754135e-9,-3.210507152123642e-4,-4.451955192695055e-5,-5.177821168001773e-9,-3.20714821071863e-4,-4.43939735421001e-5,-5.164703758157465e-9,-3.2041064399458284e-4,-4.421548906702248e-5,-5.1421458139077516e-9,-3.2015437220027257e-4,-4.400000934734236e-5,-5.112638550353013e-9,-3.199556359923085e-4,-4.3768795235697604e-5,-5.079609309330488e-9,-3.1981598750983545e-4,-4.354585021416585e-5,-5.046904699548832e-9,-3.197281840014739e-4,-4.3354726543107915e-5,-5.018289250760496e-9,-3.196765829420705e-4,-4.321510531744181e-5,-4.997015044656991e-9,-3.1963870183165634e-4,-4.313959806056474e-5,-4.985452141399794e-9,-3.195878597550035e-4,-4.313112514042971e-5,-4.984725308729074e-9,-3.1949679113388595e-4,-4.318123126172128e-5,-4.994338339842217e-9,-3.1934206103072054e-4,-4.326970683766678e-5,-5.0118522340722995e-9,-3.191090769027233e-4,-4.336592775766331e-5,-5.032784985900198e-9,-3.1879727330728615e-4,-4.3432619842126424e-5,-5.0510003085641095e-9,-3.184242585414621e-4,-4.3432905625344e-5,-5.059844813029959e-9,-3.180265341602522e-4,-4.3340679734383175e-5,-5.054050804727019e-9,-3.1765375634226675e-4,-4.315212077889462e-5,-5.031931810784182e-9,-3.173550483018549e-4,-4.289299386726835e-5,-4.996837554368338e-9,-3.1716080997909414e-4,-4.261505262909454e-5,-4.9567039021442e-9,-3.170692069796597e-4,-4.237923706416617e-5,-4.921374850462595e-9,-3.170465026363197e-4,-4.223264659485568e-5,-4.898891858407981e-9,-3.170418960140496e-4,-4.21921256965402e-5,-4.892790866082162e-9,-3.1700761388347835e-4,-4.224278875220216e-5,-4.901672313350512e-9,-3.169131831034806e-4,-4.234911923149743e-5,-4.920678900423363e-9,-3.16749371627084e-4,-4.246978287171236e-5,-4.943593716023741e-9,-3.165243898644444e-4,-4.2568904032282556e-5,-4.964541739482594e-9,-3.1625720934575716e-4,-4.262161789567898e-5,-4.9789925323940574e-9,-3.159714090148497e-4,-4.2615163483100204e-5,-4.984192983307216e-9,-3.1569080936814757e-4,-4.254769010175503e-5,-4.979239205595006e-9,-3.154366980394452e-4,-4.242640923152246e-5,-4.964927408765917e-9,-3.1522594108550356e-4,-4.226576420878259e-5,-4.9434488536958256e-9,-3.150694594909588e-4,-4.2085617046374826e-5,-4.9179780034059015e-9,-3.1497088780468846e-4,-4.190919872197873e-5,-4.892216555795521e-9,-3.1492551795328115e-4,-4.1760510317359374e-5,-4.869937621819285e-9,-3.1491993926755705e-4,-4.166103135750512e-5,-4.85453930904946e-9,-3.1493292291119807e-4,-4.162602317937051e-5,-4.8486082924002386e-9,-3.149378852148921e-4,-4.166109759027768e-5,-4.853496717228234e-9,-3.149068763252208e-4,-4.1759869297922245e-5,-4.8689420569251265e-9,-3.1481563886056355e-4,-4.1903492821241635e-5,-4.892817724760096e-9,-3.146489018901334e-4,-4.206263788736928e-5,-4.921152563389806e-9,-3.1440486675449474e-4,-4.220199291018188e-5,-4.948556753677259e-9,-3.1409782736031844e-4,-4.2286972882281444e-5,-4.969141215356648e-9,-3.1375783301927705e-4,-4.229193221838251e-5,-4.9779020409811375e-9,-3.1342629281164673e-4,-4.2208473219180394e-5,-4.972322659694826e-9,-3.131469410284784e-4,-4.205134100763301e-5,-4.953675901336095e-9,-3.129532228356514e-4,-4.185850783786602e-5,-4.927339367737182e-9,-3.128559402293983e-4,-4.168268583803075e-5,-4.901590331357037e-9,-3.128372712174129e-4,-4.157504774094596e-5,-4.884996661975068e-9,-3.1285591758021213e-4,-4.1567376446027606e-5,-4.883435028626847e-9,-3.1286216261514294e-4,-4.166161325502891e-5,-4.898203035129861e-9,-3.128152510161355e-4,-4.1832011412133305e-5,-4.926093299613993e-9,-3.1269456478840265e-4,-4.2037319835952676e-5,-4.96108661782143e-9,-3.1250114325379443e-4,-4.2235381879465134e-5,-4.996540702951394e-9,-3.1225205877241923e-4,-4.239361488219513e-5,-5.026892948270938e-9,-3.119724750885652e-4,-4.249330688871886e-5,-5.048533140222312e-9,-3.116889276893549e-4,-4.252921835778996e-5,-5.059987008882629e-9,-3.1142503078342897e-4,-4.25069961860904e-5,-5.0616921955618265e-9,-3.111992283429283e-4,-4.244023805497469e-5,-5.055583300773006e-9,-3.1102368764590496e-4,-4.234797844643438e-5,-5.044617784933671e-9,-3.1090358734081304e-4,-4.22526006575234e-5,-5.032321067688745e-9,-3.108364399804756e-4,-4.217778740604939e-5,-5.022387283844178e-9,-3.108115257297438e-4,-4.214600986581236e-5,-5.018313830814128e-9,-3.1080993296466673e-4,-4.2175257475328325e-5,-5.023008475613783e-9,-3.1080593916080375e-4,-4.227521362395652e-5,-5.038322479284464e-9,-3.1077034837130563e-4,-4.244369565068855e-5,-5.06453984568056e-9,-3.1067585579162317e-4,-4.266468404943358e-5,-5.099969884051941e-9,-3.105035849258535e-4,-4.290936505875487e-5,-5.140877929168914e-9,-3.1024899896644803e-4,-4.314094465863473e-5,-5.181956628701638e-9,-3.0992505626402714e-4,-4.332264950955875e-5,-5.217361941575282e-9,-3.095610883380589e-4,-4.342700451466909e-5,-5.2421145403966415e-9,-3.091971222357173e-4,-4.3443817524911114e-5,-5.253502474396329e-9,-3.088746927985775e-4,-4.338445254519018e-5,-5.252067765269822e-9,-3.086262289687441e-4,-4.328075377912741e-5,-5.241813665026146e-9,-3.084657459880443e-4,-4.317815751980895e-5,-5.229427402694319e-9,-3.083838136062314e-4,-4.312402180818095e-5,-5.222569664693657e-9,-3.083492587428513e-4,-4.315408297432371e-5,-5.227650075739371e-9,-3.083181203766566e-4,-4.328165458806027e-5,-5.247856867561176e-9,-3.082471429138195e-4,-4.349411061585933e-5,-5.2822613795529054e-9,-3.081064848257633e-4,-4.375827146070421e-5,-5.3263709887758225e-9,-3.0788661043989416e-4,-4.403198008161343e-5,-5.373792020884821e-9,-3.0759759139367557e-4,-4.4276497491867025e-5,-5.418190385136207e-9,-3.072628362842785e-4,-4.4465056129220834e-5,-5.454790327401472e-9,-3.0691106900856074e-4,-4.458588788817899e-5,-5.481074258715986e-9,-3.0656967318466223e-4,-4.4640878311394534e-5,-5.496772186340735e-9,-3.0626062010192915e-4,-4.464213768265969e-5,-5.5034243148592386e-9,-3.0599865177202766e-4,-4.460833959835805e-5,-5.503787246380918e-9,-3.057908013060658e-4,-4.4561687503291136e-5,-5.501265100167681e-9,-3.0563641143263365e-4,-4.4525580714277986e-5,-5.4994619326435316e-9,-3.0552715792361276e-4,-4.4522582031122806e-5,-5.501861033144501e-9,-3.0544706109613843e-4,-4.457210286773981e-5,-5.511548919490009e-9,-0.00030537297561927964,-4.4687381552856436e-5,-5.5308628299553145e-9]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_8.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_8.json
deleted file mode 100644
index 777c056..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_8.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":8000,"numberOfSamples":1000,"samples":[-3.0527640252829807e-4,-4.487182696660493e-5,-5.56088448082571e-9,-3.051274863200565e-4,-4.511556230951057e-5,-5.6008437940501195e-9,-3.049014822200931e-4,-4.5393887171247894e-5,-5.647698563779582e-9,-3.045865825423837e-4,-4.566978863347711e-5,-5.696284894052496e-9,-3.041902526794886e-4,-4.590165294193654e-5,-5.7403050551512475e-9,-3.0374053440293064e-4,-4.605480630272924e-5,-5.774008768966934e-9,-3.032803042778928e-4,-4.6112832816305496e-5,-5.793973590280497e-9,-3.028557483245855e-4,-4.608383761616052e-5,-5.800251345674449e-9,-3.025032355259023e-4,-4.599882516164128e-5,-5.796427523208801e-9,-3.022393949447573e-4,-4.5902896545994185e-5,-5.788631331365615e-9,-3.020574267495867e-4,-4.5842714571687194e-5,-5.7838921806700334e-9,-3.019300694661608e-4,-4.585434504667538e-5,-5.7883384069394884e-9,-3.0181769376023336e-4,-4.595468543172006e-5,-5.805682519418446e-9,-3.0167899235319e-4,-4.613834629665025e-5,-5.83635658405951e-9,-3.014813398322303e-4,-4.638044052124705e-5,-5.877534282545917e-9,-3.0120806044062887e-4,-4.664417952898078e-5,-5.924029708374941e-9,-3.008608032921932e-4,-4.689076983299546e-5,-5.969769115749644e-9,-3.004568895018775e-4,-4.70885065576558e-5,-6.009334760264992e-9,-3.000232042040917e-4,-4.7218579979817117e-5,-6.039104695872155e-9,-2.995891071912802e-4,-4.72766796425179e-5,-6.057736521969508e-9,-2.9918053358217385e-4,-4.7271135672653113e-5,-6.066024169441235e-9,-2.9881634126882297e-4,-4.721922325858296e-5,-6.066350982343671e-9,-2.9850682571005375e-4,-4.714317647578276e-5,-6.0620073426491385e-9,-2.982536857147729e-4,-4.706682514849363e-5,-6.056588919504954e-9,-2.9805063249734796e-4,-4.7013055973122464e-5,-6.053577596287479e-9,-2.978841024009395e-4,-4.700177778028711e-5,-6.0560846647952315e-9,-2.97733963612634e-4,-4.7047861809806975e-5,-6.066639640409404e-9,-2.975745746966664e-4,-4.715862391952254e-5,-6.086875521052076e-9,-2.9737697702912646e-4,-4.733079302488828e-5,-6.117026762619431e-9,-2.9711318240313096e-4,-4.754766231303244e-5,-6.1553289826818086e-9,-2.967630328757633e-4,-4.777820603997843e-5,-6.1976547684464505e-9,-2.963225516133362e-4,-4.7980702799556336e-5,-6.237878353608434e-9,-2.9581034269964766e-4,-4.8112531767448336e-5,-6.26929277722192e-9,-2.952671701271256e-4,-4.8144449769795835e-5,-6.286810452998715e-9,-2.9474584957997816e-4,-4.807330163392616e-5,-6.28897999422168e-9,-2.942942146728656e-4,-4.7925741507049555e-5,-6.278697823265868e-9,-2.939390776646052e-4,-4.774982986598883e-5,-6.2621933111198565e-9,-2.9367888471910724e-4,-4.759858957460034e-5,-6.246887112949443e-9,-2.9348722961036977e-4,-4.751366495959348e-5,-6.239195834786848e-9,-2.933236015115482e-4,-4.7515401306169104e-5,-6.243051945843658e-9,-2.9314581436119905e-4,-4.760093779409941e-5,-6.2593279168203955e-9,-2.9292007500896937e-4,-4.774844549298213e-5,-6.286013467788338e-9,-2.926269983387905e-4,-4.792463505513392e-5,-6.318926256564662e-9,-2.9226350769051096e-4,-4.80930810595307e-5,-6.352759512595941e-9,-2.918412941194005e-4,-4.822168516898902e-5,-6.382264012712696e-9,-2.9138274761924426e-4,-4.8288192173938596e-5,-6.4033284884177525e-9,-2.9091546827443674e-4,-4.828307144331461e-5,-6.4137142155758484e-9,-2.904666459630382e-4,-4.820960531850297e-5,-6.413290100567614e-9,-2.9005845372039675e-4,-4.808169188193544e-5,-6.403779607548024e-9,-2.897051121066428e-4,-4.7920298339887756e-5,-6.388175539851937e-9,-2.894117280467004e-4,-4.77495594070045e-5,-6.3700487926475646e-9,-2.891745460224369e-4,-4.7593309240161246e-5,-6.352958916462981e-9,-2.889819981834109e-4,-4.7472392700331755e-5,-6.340071065896678e-9,-2.8881605249833365e-4,-4.740260960082055e-5,-6.333942633116508e-9,-2.886536932128631e-4,-4.739292957383811e-5,-6.336355114475078e-9,-2.884687014832789e-4,-4.7443667570689896e-5,-6.348050662755428e-9,-2.8823427250380447e-4,-4.754452904089668e-5,-6.368308311532382e-9,-2.879272735231633e-4,-4.767303651414079e-5,-6.394467888137689e-9,-2.875345818250315e-4,-4.7794856179294424e-5,-6.4217381728864196e-9,-2.8706055734247936e-4,-4.786832012302628e-5,-6.443756519509059e-9,-2.865324198422822e-4,-4.785486234755549e-5,-6.4542037210419195e-9,-2.859983895327293e-4,-4.773390713864742e-5,-6.449179015088165e-9,-2.8551497623516194e-4,-4.7515537099475336e-5,-6.429222290163076e-9,-2.8512656698742036e-4,-4.724172825041583e-5,-6.399602792241161e-9,-2.8484791237568235e-4,-4.697228518879425e-5,-6.368414825098121e-9,-2.846599731981497e-4,-4.676227057336778e-5,-6.343524830079535e-9,-2.845204990113826e-4,-4.664360730421715e-5,-6.330077698450703e-9,-2.8438137789211793e-4,-4.661903031892221e-5,-6.32954910609419e-9,-2.842033332610527e-4,-4.666740117899054e-5,-6.340163616828402e-9,-2.8396352830062366e-4,-4.6754274987887116e-5,-6.357961127061933e-9,-2.836566692220362e-4,-4.684229725179311e-5,-6.377959739889069e-9,-2.8329216427076527e-4,-4.689886773239183e-5,-6.395189096969708e-9,-2.828896488527907e-4,-4.6900720390375284e-5,-6.405540596281919e-9,-2.824742018907562e-4,-4.6836037546351875e-5,-6.4064023526000905e-9,-2.8207178859335354e-4,-4.670471097933904e-5,-6.397002591025266e-9,-2.817052464373959e-4,-4.6517083949337426e-5,-6.378389721142845e-9,-2.8139115347079264e-4,-4.629149712487325e-5,-6.3530658178796655e-9,-2.811378256204399e-4,-4.605106192105769e-5,-6.324396845660935e-9,-2.8094456582733565e-4,-4.582011369839805e-5,-6.295969795469077e-9,-2.8080213121061873e-4,-4.562084808863251e-5,-6.271061910825657e-9,-2.806941282722342e-4,-4.547056083835451e-5,-6.252305778500468e-9,-2.805989529923734e-4,-4.537959014034061e-5,-6.241511789741509e-9,-2.80492067241958e-4,-4.5349843601162954e-5,-6.239532828776588e-9,-2.803485913613245e-4,-4.5373805665704785e-5,-6.246068068716576e-9,-2.8014639891832464e-4,-4.543399639996473e-5,-6.259380228216586e-9,-2.7987013346108646e-4,-4.550321157816095e-5,-6.276047783203556e-9,-2.795162996405821e-4,-4.5546626057891795e-5,-6.291045688354151e-9,-2.790984739623287e-4,-4.5527321372703615e-5,-6.298505516465384e-9,-2.7865004000894166e-4,-4.541620148794469e-5,-6.2933199008508685e-9,-2.7822043288384707e-4,-4.520484869900707e-5,-6.273276588202333e-9,-2.7786184532760936e-4,-4.4915535087074116e-5,-6.240723143326448e-9,-2.776091852793529e-4,-4.459975553570474e-5,-6.202458787212566e-9,-2.774638632702066e-4,-4.432123225548417e-5,-6.167368360824802e-9,-2.7739275622409024e-4,-4.41307893297388e-5,-6.142942429461774e-9,-2.7734363791847937e-4,-4.404793703195258e-5,-6.132712569902154e-9,-2.772666481119829e-4,-4.405873879426259e-5,-6.135803693451539e-9,-2.7712954630060494e-4,-4.41272344392883e-5,-6.148198003690473e-9,-2.769220926915838e-4,-4.421078330515423e-5,-6.164515668643785e-9,-2.7665243775120893e-4,-4.4271847046803456e-5,-6.179465722684056e-9,-2.7634044414996943e-4,-4.42840858576599e-5,-6.188763867311319e-9,-2.760112787880964e-4,-4.4233969441495255e-5,-6.1896325079837635e-9,-2.7569053678467995e-4,-4.4119908832911274e-5,-6.1810143630256235e-9,-2.7540081443001705e-4,-4.395037973603709e-5,-6.1635500652351195e-9,-2.7515925763830574e-4,-4.374163186724933e-5,-6.13931893200916e-9,-2.7497583229343773e-4,-4.351509382685275e-5,-6.1113765985356755e-9,-2.7485228599034487e-4,-4.3294504323835476e-5,-6.083191373407955e-9,-2.747818899337699e-4,-4.3102814240736015e-5,-6.0580978536060394e-9,-2.7475014030275356e-4,-4.2959058861573174e-5,-6.038863549547172e-9,-2.747364727847155e-4,-4.287561578709453e-5,-6.027414092691353e-9,-2.7471679197166814e-4,-4.2856211898555225e-5,-6.024680664675889e-9,-2.74666552518033e-4,-4.2894856634732136e-5,-6.0304870842090665e-9,-2.745641634544586e-4,-4.297583426922976e-5,-6.043429961128174e-9,-2.7439449831047824e-4,-4.307484329777695e-5,-6.060781782144661e-9,-2.7415239183585174e-4,-4.316139154284506e-5,-6.078538519547611e-9,-2.738458939963984e-4,-4.320289628151456e-5,-6.0918223659286445e-9,-2.7349833665268886e-4,-4.317111271140737e-5,-6.095829254040278e-9,-2.731473286401864e-4,-4.305077016877184e-5,-6.087300751131777e-9,-2.728384066406977e-4,-4.284850797286421e-5,-6.0661306830069746e-9,-2.726122464122091e-4,-4.2597682445614436e-5,-6.036317211131248e-9,-2.724883882208636e-4,-4.2353186226421395e-5,-6.005346149629137e-9,-2.724538993112942e-4,-4.21739660621937e-5,-5.981721324392774e-9,-2.7246601864680027e-4,-4.209994110375406e-5,-5.971667694606237e-9,-2.724694960632973e-4,-4.2136627145050584e-5,-5.976871636177898e-9,-2.724184831524113e-4,-4.225643997788255e-5,-5.9944559253544774e-9,-2.7229051896981396e-4,-4.241362759713718e-5,-6.018773549341146e-9,-2.720878961454436e-4,-4.2562043557314734e-5,-6.043635716054438e-9,-2.718303929497391e-4,-4.266714123706157e-5,-6.063913242192316e-9,-2.715458512132313e-4,-4.271024379125761e-5,-6.076285881259704e-9,-2.712626659453091e-4,-4.268748746246162e-5,-6.07938776767281e-9,-2.710052329722968e-4,-4.260653559518088e-5,-6.073631332430156e-9,-2.707916949070718e-4,-4.248307887576607e-5,-6.060863861100873e-9,-2.7063291676093104e-4,-4.233782096456377e-5,-6.043919283576518e-9,-2.70531999054325e-4,-4.2193858972839276e-5,-6.026112658845783e-9,-2.7048412159524855e-4,-4.207417276834723e-5,-6.010749252660998e-9,-2.704768085276078e-4,-4.199898085891688e-5,-6.0007083249929064e-9,-2.7049091718653486e-4,-4.198292846456885e-5,-5.998122765150181e-9,-2.705026716692996e-4,-4.203245930769175e-5,-6.0041500657964715e-9,-2.704867786001442e-4,-4.2143960157053555e-5,-6.018813110137525e-9,-2.7042033326989443e-4,-4.2303217237346e-5,-6.0408918160634616e-9,-2.702869966792254e-4,-4.248659500899885e-5,-6.067897441023674e-9,-2.7008072908028737e-4,-4.26641123975258e-5,-6.096212887106141e-9,-2.698083301299173e-4,-4.2804202514864496e-5,-6.121495193355481e-9,-2.6949017078992116e-4,-4.287971029548579e-5,-6.139410707238995e-9,-2.6915846953213103e-4,-4.287457712691834e-5,-6.146692366322419e-9,-2.688523188530164e-4,-4.2790136468926805e-5,-6.142330933965789e-9,-2.6860905054935876e-4,-4.2648942394378234e-5,-6.128480097984698e-9,-2.684529386021688e-4,-4.249325511328419e-5,-6.110525799006696e-9,-2.683846561272461e-4,-4.237577162193681e-5,-6.0958916495610374e-9,-2.6837713845480256e-4,-4.2343242447415576e-5,-6.091676533973367e-9,-2.6838259865424467e-4,-4.241897119821026e-5,-6.1020278393601044e-9,-2.6834954243159544e-4,-4.259356052706968e-5,-6.126618946744287e-9,-2.682414538672124e-4,-4.282968580925502e-5,-6.161071746178656e-9,-2.680473788683876e-4,-4.307777590451198e-5,-6.198928228542621e-9,-2.6778068952418554e-4,-4.329323584064263e-5,-6.233932842908828e-9,-2.6746984498891765e-4,-4.3447294758245534e-5,-6.261585257801009e-9,-2.6714767994234935e-4,-4.3529579126087075e-5,-6.279696539448954e-9,-2.6684354540698494e-4,-4.3545106782298875e-5,-6.288235271926127e-9,-2.6657927046700944e-4,-4.3509317188260445e-5,-6.288838671033637e-9,-2.6636794026195363e-4,-4.3443465401146905e-5,-6.284232359286678e-9,-2.662140688653375e-4,-4.33711394559145e-5,-6.277670357631493e-9,-2.661141777281877e-4,-4.331570058397092e-5,-6.272450417208355e-9,-2.660574130223562e-4,-4.329813146063895e-5,-6.271533343649169e-9,-2.6602631028516745e-4,-4.3334832510506525e-5,-6.277259574999488e-9,-2.6599810856047266e-4,-4.3435186752350394e-5,-6.291119283070944e-9,-2.6594709819864e-4,-4.35991710667151e-5,-6.313534449691571e-9,-2.6584826187483416e-4,-4.3815728146144786e-5,-6.3436577175095264e-9,-2.6568197080015167e-4,-4.406282185693006e-5,-6.379260979809167e-9,-2.654388737832523e-4,-4.4309976961368614e-5,-6.416844899921613e-9,-2.651235904796523e-4,-4.452352360454744e-5,-6.45208973946681e-9,-2.6475574490715504e-4,-4.467379291793127e-5,-6.480660100582804e-9,-2.643674413816663e-4,-4.474263772198858e-5,-6.499235785255884e-9,-2.639972203386808e-4,-4.472932230357101e-5,-6.506524425656316e-9,-2.636814333534693e-4,-4.4652981742684745e-5,-6.50394943475184e-9,-2.6344474410546685e-4,-4.455031096217054e-5,-6.4957052750673075e-9,-2.6329215242018296e-4,-4.446797824163044e-5,-6.487971527226249e-9,-2.6320539661309406e-4,-4.445066132419316e-5,-6.487318143828218e-9,-2.63146231141766e-4,-4.452761326611089e-5,-6.498693327228091e-9,-2.630670795117471e-4,-4.4702593314460794e-5,-6.523735117410233e-9,-2.629259962418986e-4,-4.495205403355389e-5,-6.560195481816707e-9,-2.626998326199566e-4,-4.523322969000845e-5,-6.6028055138425835e-9,-2.6238984542081514e-4,-4.5498615964264204e-5,-6.645151128486782e-9,-2.620181139265042e-4,-4.57101034480172e-5,-6.681643636040315e-9,-2.6161796896905014e-4,-4.584720776675456e-5,-6.7088001834994565e-9,-2.6122365300701173e-4,-4.590801043953323e-5,-6.725594759670876e-9,-2.608629732320002e-4,-4.590508421570969e-5,-6.733110680725014e-9,-2.605538971319134e-4,-4.585973386898697e-5,-6.733869753505527e-9,-2.6030410219870376e-4,-4.5796853823059685e-5,-6.731122265893311e-9,-2.601120119629486e-4,-4.574121346938611e-5,-6.728248726724007e-9,-2.5996821459528486e-4,-4.571499884470834e-5,-6.728333811525041e-9,-2.5985675252670267e-4,-4.573601546615178e-5,-6.733900781581118e-9,-2.597563470776258e-4,-4.581593891770877e-5,-6.7467347208660815e-9,-2.596420276961034e-4,-4.5958327928148174e-5,-6.76770494879153e-9,-2.594877524327709e-4,-4.6156630892450285e-5,-6.796534200413236e-9,-2.5927042693107434e-4,-4.6392942692009576e-5,-6.8315565589601714e-9,-2.589751849875842e-4,-4.663871238482509e-5,-6.86962752289666e-9,-2.586008062635789e-4,-4.685864046342157e-5,-6.906416881867135e-9,-2.5816311466290005e-4,-4.7018104873896896e-5,-6.937219567577798e-9,-2.5769402554871504e-4,-4.70926588010539e-5,-6.9581636155644655e-9,-2.5723517884218273e-4,-4.707644773329669e-5,-6.967428938305518e-9,-2.568273908815006e-4,-4.6986025040791123e-5,-6.966001210496018e-9,-2.564992393431867e-4,-4.685748280218821e-5,-6.957630999254399e-9,-2.5625871902160277e-4,-4.6737400412949545e-5,-6.947966529409689e-9,-2.5609074998136574e-4,-4.667043573132832e-5,-6.943105351110571e-9,-2.5596122517727485e-4,-4.6687347367702306e-5,-6.947967062704738e-9,-2.5582634783583117e-4,-4.6796866950713174e-5,-6.964938644351132e-9,-2.5564461158371896e-4,-4.698373076282578e-5,-6.993209196686726e-9,-2.553879109156633e-4,-4.7213518226825917E-05,-7.029044733220987e-9,-2.5504832832596024e-4,-4.744277599023395e-5,-7.066933407213379e-9,-2.5463858429774843e-4,-4.7630969964505535e-5,-7.1011838454172516e-9,-2.541865650862485e-4,-4.775023325017012e-5,-7.127396703046114e-9,-2.537265402404863e-4,-4.7790107831489385e-5,-7.143345909601783e-9,-2.532904918374822e-4,-4.775683549761495e-5,-7.1491178104008635e-9,-2.529021042786563e-4,-4.766889086299671e-5,-7.146663004807935e-9,-2.525741732148423e-4,-4.7551249353078e-5,-7.139062192878236e-9,-2.5230871169483677e-4,-4.743029000875771e-5,-7.129782907503167e-9,-2.5209851175530824e-4,-4.733012368995658e-5,-7.12209759254885e-9,-2.519291245187472e-4,-4.7270279788107355e-5,-7.1187265860613594e-9,-2.517806968882801e-4,-4.726422556842384e-5,-7.12166746585097e-9,-2.5162963986732293e-4,-4.731809415808857e-5,-7.132097650423624e-9,-2.514505510713131e-4,-4.742927313984141e-5,-7.1502341423829864e-9,-2.512190030433243e-4,-4.758501628393123e-5,-7.175103678264232e-9,-2.5091568236328035e-4,-4.7761815907209246e-5,-7.204305121348925e-9,-2.5053181294401e-4,-4.7926849500478765e-5,-7.233991717484305e-9,-2.500746237911642e-4,-4.804301276238442e-5,-7.259360514494356e-9,-2.495701519604955e-4,-4.8078046570921506e-5,-7.275783141609628e-9,-2.490601882212913e-4,-4.8015746621047336e-5,-7.280321967292176e-9,-2.4859206990471175e-4,-4.786450499113676e-5,-7.272987851368456e-9,-2.4820404096295365e-4,-4.7657974491023386e-5,-7.2570490683069305e-9,-2.479123719305355e-4,-4.744593983612639e-5,-7.238137844085153e-9,-2.477062542180496e-4,-4.7278801363755583e-5,-7.2225323219480234e-9,-2.475523859045091e-4,-4.719243023421515e-5,-7.2153509223338515e-9,-2.4740634073176207e-4,-4.7199163254914456e-5,-7.21928276128765e-9,-2.472256149075255e-4,-4.728689651818537e-5,-7.234113502680999e-9,-2.469800996566623e-4,-4.742481447800407e-5,-7.2570090226968695e-9,-2.4665781472638505e-4,-4.757279635380423e-5,-7.283374548153914e-9,-2.462655369996502e-4,-4.769151536169288e-5,-7.308038135183422e-9,-2.458251322065457e-4,-4.775085456159175e-5,-7.326465854721028e-9,-2.4536711100036463e-4,-4.77350886691006e-5,-7.3357152755733405e-9,-2.4492329122390537e-4,-4.764420066221715e-5,-7.334911212083219e-9,-2.4452039783219196e-4,-4.749169496663902e-5,-7.3251748443696005e-9,-2.441758732145271e-4,-4.7300134577938174e-5,-7.309112821670338e-9,-2.4389627170717684e-4,-4.7095968591426874e-5,-7.2900891206745445e-9,-2.4367780651202367e-4,-4.6904922721911e-5,-7.2715143086660904e-9,-2.4350820404063506e-4,-4.674862028056588e-5,-7.2563236900772534e-9,-2.4336901910568495e-4,-4.6642494199979074e-5,-7.246701350541432e-9,-2.4323787902715116e-4,-4.6594604978692496e-5,-7.243991435989502e-9,-2.4309057272598025e-4,-4.6604855006113405e-5,-7.248666445835073e-9,-2.4290326713360635e-4,-4.666429753503088e-5,-7.260234391154556e-9,-2.4265533867043101e-4,-4.67546250155109e-5,-7.2770527231963495e-9,-2.4233328045250883e-4,-4.684845105661854e-5,-7.29615811529741e-9,-2.4193563237893614e-4,-4.6911622727816726e-5,-7.313363425619466e-9,-2.4147769061437337e-4,-4.690904210391057e-5,-7.323911274472526e-9,-2.409931846698145e-4,-4.68145030450435e-5,-7.3237831866979765e-9,-2.405293638181594e-4,-4.6622304985804496e-5,-7.311327256640174e-9,-2.4013397134164407e-4,-4.6354911420302454e-5,-7.288398575368516e-9,-2.3983792521253927e-4,-4.606009583001144e-5,-7.260171753226957e-9,-2.396424964711392e-4,-4.579591722183568e-5,-7.233460507133913e-9,-2.3951876787466002e-4,-4.561007369104896e-5,-7.21434469153871e-9,-2.394196251219914e-4,-4.552433842374012e-5,-7.206304347525716e-9,-2.3929702425245816e-4,-4.553082614515197e-5,-7.209572961363757e-9,-2.3911604156302504e-4,-4.559902693265397e-5,-7.221607636814043e-9,-2.3886148969033618e-4,-4.56878141259867e-5,-7.238141334743658e-9,-2.385376124584638e-4,-4.57569458542221e-5,-7.25434375948497e-9,-2.381635151221613e-4,-4.5775227331894453e-5,-7.265844606590987e-9,-2.3776689984276165e-4,-4.57248113055291e-5,-7.26951760352044e-9,-2.3737775512568452e-4,-4.560224089873021e-5,-7.26396202658587e-9,-2.3702288262502966e-4,-4.541701560695537e-5,-7.249620171308552e-9,-2.3672182048234104e-4,-4.518837706556744e-5,-7.228512886555455e-9,-2.3648451210419064e-4,-4.494110071809932e-5,-7.203679129923876e-9,-2.3631073766417756e-4,-4.470112417759971e-5,-7.1784915077864556e-9,-2.3619104748406788e-4,-4.449166637344944e-5,-7.156032804897266e-9,-2.361087730659606e-4,-4.433028327220373e-5,-7.138674148007875e-9,-2.3604256281260482e-4,-4.422705852302139e-5,-7.1278965459513375e-9,-2.3596896071219697e-4,-4.41837594790764e-5,-7.124282211477298e-9,-2.358648734407393e-4,-4.419359846967748e-5,-7.127541904743606e-9,-2.3571005457793368e-4,-4.424139308519803e-5,-7.136477505700135e-9,-2.3548986076137152e-4,-4.4304182265018096e-5,-7.148875985336727e-9,-2.3519855436410849e-4,-4.435271161882365e-5,-7.16145714276836e-9,-2.348430390860336e-4,-4.4354724701945077e-5,-7.170110582162483e-9,-2.3444587375598763e-4,-4.428117792866847e-5,-7.170657306550671e-9,-2.3404509111068765e-4,-4.411557127942225e-5,-7.1601656476032516e-9,-2.3368771973065835e-4,-4.386412570504797e-5,-7.138447255205115e-9,-2.334157329157928e-4,-4.356117057573164e-5,-7.108920211252188e-9,-2.3324859251575434e-4,-4.326304457334257e-5,-7.077986722810363e-9,-2.3317225159038513e-4,-4.3029164658112595e-5,-7.0528241170588876e-9,-2.3314325821755143e-4,-4.289880884221161e-5,-7.038651316312173e-9,-2.3310674475310233e-4,-4.287707539508815e-5,-7.037006731343113e-9,-2.330173793949718e-4,-4.2937138101060195e-5,-7.045793591462278e-9,-2.3285221519255721e-4,-4.303448249497462e-5,-7.060613085178226e-9,-2.3261221161084732e-4,-4.312326355963217e-5,-7.076380098752534e-9,-2.3231616237874106e-4,-4.3167782922615494e-5,-7.0885642907420745e-9,-2.3199226213489643e-4,-4.3147504709399666e-5,-7.093925360427784e-9,-2.3167066135599025e-4,-4.305722178644823e-5,-7.090854405127532e-9,-2.3137815592412457e-4,-4.290464072813479e-5,-7.079431225173229e-9,-2.3113482317374794e-4,-4.2706990561187926e-5,-7.061239222047379e-9,-2.3095210624270325e-4,-4.248733394858226e-5,-7.0389514644621475e-9,-2.3083209319112942e-4,-4.22708356697799e-5,-7.0157556508521975e-9,-2.3076787058155768e-4,-4.208124244565444e-5,-6.994754152444318e-9,-2.3074481404720975e-4,-4.193779429781794e-5,-6.978475418029599e-9,-2.3074269629111773e-4,-4.185278131262165e-5,-6.9685812919441475e-9,-2.3073838954341724e-4,-4.183002690679065e-5,-6.9657828504140465e-9,-2.307087773182823e-4,-4.1864416184094224e-5,-6.969890191920407e-9,-2.3063358371772487e-4,-4.19423194920427e-5,-6.979881232260712e-9,-2.304980447362638e-4,-4.204276810737836e-5,-6.993919691136392e-9,-2.3029541532778425e-4,-4.2139396145542684e-5,-7.00935383163725e-9,-2.3002929420596648e-4,-4.220331442258605e-5,-7.022821179996584e-9,-2.297155277725766e-4,-4.220735882242904e-5,-7.0306406913778314e-9,-2.2938274641947577e-4,-4.2132214476566026e-5,-7.029632424365228e-9,-2.2906972807424893e-4,-4.197407643695822e-5,-7.018296801761733e-9,-2.2881761972917472e-4,-4.175160042946605e-5,-6.997961873684011e-9,-2.286567093282979e-4,-4.15075256296687e-5,-6.9732029722847966e-9,-2.2859182172845228e-4,-4.129977684881916e-5,-6.9508561159118375e-9,-2.2859518852719337e-4,-4.118158264999498e-5,-6.937623078004585e-9,-2.2861445669427582e-4,-4.1179317366699686e-5,-6.937368890191579e-9,-2.2859373178187907e-4,-4.128165726085842e-5,-6.949709434593278e-9,-2.2849535207625107e-4,-4.144683429672747e-5,-6.970641653126126e-9,-2.283102601143957e-4,-4.162180946726997e-5,-6.994513297007544e-9,-2.280546314648973e-4,-4.1760936140705576e-5,-7.015996457807604e-9,-2.2775905137933017e-4,-4.1836162324814815e-5,-7.0312662464705675e-9,-2.2745750303615093e-4,-4.183854159207291e-5,-7.038384862713035e-9,-2.2717978153226345e-4,-4.1774688473891304e-5,-7.037214328561364e-9,-2.269476550317656e-4,-4.166168283592476e-5,-7.029107904443636e-9,-2.2677360769187676e-4,-4.152239765949198e-5,-7.016489998134974e-9,-2.2666086428735168e-4,-4.13817553708349e-5,-7.002360297324509e-9,-2.2660400530891817e-4,-4.126365474609324e-5,-6.989766583218536e-9,-2.2659004542151717e-4,-4.1188304668478054e-5,-6.981333927974789e-9,-2.266000219235072e-4,-4.116989011754661e-5,-6.978931288333946e-9,-2.266111881676761e-4,-4.12146495166316e-5,-6.9835033237536505e-9,-2.2659985001449061e-4,-4.131967774449151e-5,-6.9950455254666655e-9,-2.2654460748588225e-4,-4.147283960401956e-5,-7.012666563520272e-9,-2.264295628693442e-4,-4.165394006870694e-5,-7.034672741319516e-9,-2.2624709886908756e-4,-4.183709352380845e-5,-7.058654437906543e-9,-2.259998866238783e-4,-4.1994173550205136e-5,-7.081632424729571e-9,-2.2570180047419192e-4,-4.20991362790095e-5,-7.100361989265034e-9,-2.2537742095192945e-4,-4.213298776272619e-5,-7.111886301353217e-9,-2.2505959382885995e-4,-4.208912506154797e-5,-7.114348718520941e-9,-2.2478421898691062e-4,-4.197821401236689e-5,-7.107904138739319e-9,-2.2458174592226204e-4,-4.1830607186345735e-5,-7.0953504217620375e-9,-2.244663606137209e-4,-4.169327376221295e-5,-7.081979987657558e-9,-2.2442665203386655e-4,-4.1618683723854355e-5,-7.074284006802257e-9,-2.2442408061700852e-4,-4.1646821969372816e-5,-7.077692877238242e-9,-2.2440397415766895e-4,-4.178786877968106e-5,-7.0943342038050634e-9,-2.2431615173148974e-4,-4.201628734466668e-5,-7.122132208245681e-9,-2.2413418489370047e-4,-4.2281316841771065e-5,-7.155838491573877e-9,-2.238625036955378e-4,-4.252762716447894e-5,-7.189267752364687e-9,-2.2352958981585374e-4,-4.271389191467571e-5,-7.217364886846549e-9,-2.231742512295794e-4,-4.2821232086966055e-5,-7.2372470959088515e-9,-2.2283320562756947e-4,-4.285179730744506e-5,-7.2482661351785805e-9,-2.2253387205703278e-4,-4.282232746248896e-5,-7.2515555960049095e-9,-2.2229206566917885e-4,-4.275713751688142e-5,-7.2494356512215224e-9,-2.2211260756237194e-4,-4.2682685880708425e-5,-7.244838453971768e-9,-2.2199099538278396e-4,-4.262399641811782e-5,-7.240796077498677e-9,-2.2191514949620428e-4,-4.260230497054901e-5,-7.240011891369483e-9,-2.2186707232957353e-4,-4.26332616889838e-5,-7.244543832697758e-9,-2.2182464125580366e-4,-4.2725338241283515e-5,-7.255615619695993e-9,-2.217638453501513e-4,-4.287842690194515e-5,-7.273534478793906e-9,-2.2166170729793913e-4,-4.308298693357485e-5,-7.2976765517466445e-9,-2.2149980429336165e-4,-4.332033803452491e-5,-7.326522432477613e-9,-2.2126785688274673e-4,-4.3564584276414805e-5,-7.357751075488498e-9,-2.20966584781167e-4,-4.3786290015324124e-5,-7.388436436288333e-9,-2.2060898292754956e-4,-4.395759483340187e-5,-7.415404439706891e-9,-2.202193504707468e-4,-4.405796910551689e-5,-7.435775583366592e-9,-2.1982983813928416e-4,-4.407947682940211e-5,-7.4476444040565705e-9,-2.1947474914701923e-4,-4.403040203489803e-5,-7.450766846569757e-9,-2.1918316392070605e-4,-4.393615767618415e-5,-7.447040423172644e-9,-2.1897091886597989e-4,-4.3836355658260945e-5,-7.440501159279104e-9,-2.188338255077648e-4,-4.3777167322247025e-5,-7.4366017543605706e-9,-2.187450180632313e-4,-4.379926707359548e-5,-7.440747299185002e-9,-2.1865951766138927e-4,-4.3924079338995526e-5,-7.456451577868975e-9,-2.1852701523895825e-4,-4.414394644131482e-5,-7.48388495394003e-9,-2.1830915181893224e-4,-4.442241000664643e-5,-7.51964660486929e-9,-2.1799327092026865e-4,-4.47064341649404e-5,-7.558021886353412e-9,-2.1759542948186208e-4,-4.4945093539923776e-5,-7.593080121112747e-9,-2.1715190572061313e-4,-4.510525927973701e-5,-7.62051102463403e-9,-2.1670511352975532e-4,-4.5177775919498044e-5,-7.63846614779529e-9,-2.1629130702600425e-4,-4.5174263035486545e-5,-7.647414111500688e-9,-2.1593400226015044e-4,-4.511913434864514e-5,-7.649461867526958e-9,-2.1564283671687278e-4,-4.504151932089862e-5,-7.647573809127245e-9,-2.1541555700511315e-4,-4.496945565191675e-5,-7.644907915657562e-9,-2.152409460728591e-4,-4.4926547873120016E-05,-7.644326527091175e-9,-2.1510150205944102e-4,-4.493027145003056e-5,-7.648080390942638e-9,-2.1497560662559327e-4,-4.499101379307958e-5,-7.65764086825275e-9,-2.1483945926710325e-4,-4.511125926355644e-5,-7.673632641449619e-9,-2.1466926637521481e-4,-4.528477274004901e-5,-7.695803268049495e-9,-2.144441173207301e-4,-4.549613641988964e-5,-7.722992976764426e-9,-2.1414962209211983e-4,-4.572138551931352e-5,-7.753133503949428e-9,-2.137817825713578e-4,-4.5930557875204e-5,-7.783365806364265e-9,-2.1334992695909555e-4,-4.609259275443571e-5,-7.810385927253544e-9,-2.1287718132165904e-4,-4.6182138061975344e-5,-7.831058043246478e-9,-2.123972901802133e-4,-4.618667111745394e-5,-7.843194529569795e-9,-2.1194776550871445e-4,-4.611156504767954e-5,-7.846275859882824e-9,-2.1156084382754122e-4,-4.598097245517623e-5,-7.841849026160612e-9,-2.1125475027746477e-4,-4.5833615902049135e-5,-7.833415837621815e-9,-2.1102786191385352e-4,-4.57141563789811e-5,-7.825754714870187e-9,-2.1085766176323766e-4,-4.5662121102797614e-5,-7.823773717687805e-9,-2.1070526783781765e-4,-4.570112440445812e-5,-7.831148800367581e-9,-2.1052503260910168e-4,-4.5831388471697066e-5,-7.84914193292144e-9,-2.1027715631769618e-4,-4.602835716858338e-5,-7.876058836978009e-9,-2.0993957436240816e-4,-4.6248926026246374e-5,-7.90766713758257e-9,-2.095146194759454e-4,-4.644402823389973e-5,-7.938509723459188e-9,-2.0902749841148404e-4,-4.6573103373786205e-5,-7.963593692431587e-9,-2.085173003005473e-4,-4.6614726939852604e-5,-7.979751223426029e-9,-2.080247685004384e-4,-4.656971988276465e-5,-7.986202202748241e-9,-2.0758195037667867e-4,-4.645702153575651e-5,-7.984303236040702e-9,-2.0720680107128868e-4,-4.630568678322192e-5,-7.976805592462343e-9,-2.069027746736158e-4,-4.6146864470554793E-05,-7.967006829227965e-9,-2.0666149949068237e-4,-4.6008053738656595e-5,-7.958051544835984e-9,-2.0646643337144435e-4,-4.591001322147901e-5,-7.952478950941206e-9,-2.0629619473845173e-4,-4.586558575032321e-5,-7.952010523962518e-9,-2.0612715730170046e-4,-4.587946155808738e-5,-7.957511462395227e-9,-2.0593551752786214e-4,-4.594814009737746e-5,-7.969025447952002e-9,-2.0569936999224403e-4,-4.6059814191126656e-5,-7.985789917193825e-9,-2.054013396767555e-4,-4.619444426954505e-5,-8.006201300389058e-9,-2.0503200586908336e-4,-4.632476440606799e-5,-8.027795774410303e-9,-2.0459370977526643e-4,-4.6419232557928356e-5,-8.04739911864323e-9,-2.0410341514187733e-4,-4.644771828424737e-5,-8.061606874456355e-9,-2.0359249297940358e-4,-4.6389591386022976e-5,-8.06761967917358e-9,-2.0310152417526018e-4,-4.6241943470151586e-5,-8.064208675557398e-9,-2.026701314330422e-4,-4.602412220191169e-5,-8.05238930586289e-9,-2.0232482212882342e-4,-4.5775201703916056e-5,-8.035415203185357e-9,-2.0206981769589567e-4,-4.5543952383211005e-5,-8.017995799141722e-9,-2.0188503857131567e-4,-4.5374719563007136e-5,-8.005002937932091e-9,-2.0173208974531864e-4,-4.5294685661682146e-5,-8.000132839061242e-9,-2.0156558865288865e-4,-4.530694102432007e-5,-8.004940251523124e-9,-2.0134563404935994e-4,-4.5390862347908655e-5,-8.018476540387911e-9,-2.010477628284383e-4,-4.5508700213428396e-5,-8.037583629336856e-9,-2.0066816008643582e-4,-4.56159424839469e-5,-8.05775420557668e-9,-2.002233040454102e-4,-4.5672547498502866e-5,-8.074324603901956e-9,-1.9974456130923202e-4,-4.5652156194690424e-5,-8.083656540042794e-9,-1.992695170896543e-4,-4.554701856445397e-5,-8.083957366931921e-9,-1.9883270591920156e-4,-4.5367698049175715e-5,-8.075522287619769e-9,-1.9845841745310465e-4,-4.513832170771045e-5,-8.060398815725766e-9,-1.981572124953109e-4,-4.488951139782889e-5,-8.041672208553757e-9,-1.9792619199168255e-4,-4.46514605035761e-5,-8.022654713173082e-9,-1.97751818665741e-4,-4.444885607769098e-5,-8.006221420156825e-9,-1.9761372928278598e-4,-4.429815409582809e-5,-7.994418534127477e-9,-1.9748834183331958e-4,-4.4206787770554826e-5,-7.988349103172298e-9,-1.9735172150645567e-4,-4.417347840913245e-5,-7.988243219864344e-9,-1.9718177685405577e-4,-4.4188897515318655e-5,-7.993577576316224e-9,-1.969602185929472e-4,-4.423633228093872e-5,-8.003137811219496e-9,-1.96674791367231e-4,-4.429249144944042e-5,-8.01500158984719e-9,-1.9632209229852586e-4,-4.43290434847933e-5,-8.026530943997656e-9,-1.9591072087203853e-4,-4.4315855466975366e-5,-8.03455558004738e-9,-1.9546352222861362e-4,-4.422685189198833e-5,-8.035926730100295e-9,-1.9501665604001342e-4,-4.404835137258371e-5,-8.028456381532183e-9,-1.9461311284592976e-4,-4.3787482447394696e-5,-8.011956426634773e-9,-1.9429036612252486e-4,-4.3475903590539156e-5,-7.988819905738023e-9,-1.9406609579109184e-4,-4.31641133352837e-5,-7.963631507898714e-9,-1.939293801808378e-4,-4.290607476846081e-5,-7.941776010191559e-9,-1.9384326424020214e-4,-4.274050836180446e-5,-7.927647618378034e-9,-1.9375801371840964e-4,-4.267820492195053e-5,-7.923311832665135e-9,-1.9362806935360174e-4,-4.270088509049269e-5,-7.928124868965717e-9,-1.934249241067107e-4,-4.277008015595093e-5,-7.93923136862352e-9,-1.931422172148227e-4,-4.284026359050476e-5,-7.952533831849908e-9,-1.9279378906395382e-4,-4.287086605432226e-5,-7.963753390058145e-9,-1.9240746774724533e-4,-4.283438753175265e-5,-7.96935681810304e-9,-1.9201729184363728e-4,-4.272004332166115e-5,-7.967224995384466e-9,-1.9165604145344355e-4,-4.253352928312996e-5,-7.956980058119363e-9,-1.9134921912310286e-4,-4.229384282667856e-5,-7.939923003820991e-9,-1.9111121492372828e-4,-4.202818834980984e-5,-7.91860535841166e-9,-1.9094402083634387e-4,-4.176615800307559e-5,-7.896162848299419e-9,-1.9083831639714896e-4,-4.1534410208336746e-5,-7.87561120850624e-9,-1.9077625422079947e-4,-4.1352743879738196e-5,-7.859295143438076e-9,-1.9073505303328413e-4,-4.123196142628293e-5,-7.848605195695082e-9,-1.9069054410135802e-4,-4.1173414159399545e-5,-7.843964753064974e-9,-1.906201224278099e-4,-4.116971136664543e-5,-7.844982280018888e-9,-1.905050256123524e-4,-4.1205978856558556e-5,-7.850625899117948e-9,-1.9033218543530693e-4,-4.126132493487268e-5,-7.859318656901609e-9,-1.9009597946679268e-4,-4.131052250053904e-5,-7.868951080561997e-9,-1.8980014139863044e-4,-4.1326260782891054e-5,-7.876912836277283e-9,-1.8945967012305145e-4,-4.128269700216912e-5,-7.880323549005257e-9,-1.8910169760086778e-4,-4.116102678475968e-5,-7.876614821307504e-9,-0.00018876338867391296,-4.0956863108143176e-5,-7.864445949430287e-9,-1.884847853602136e-4,-4.0687258733253435e-5,-7.844654109638144e-9,-1.8829616966925856e-4,-4.039278804799636e-5,-7.820672655457958e-9,-1.88203845813791e-4,-4.012954778719805e-5,-7.797856014628003e-9,-1.8818277508791647e-4,-3.995054240701812e-5,-7.781684520999545e-9,-1.881832875362198e-4,-3.988448188439229e-5,-7.77566376533795e-9,-1.8815018874959586e-4,-3.992443525486756e-5,-7.780096416824334e-9,-1.880434791354815e-4,-4.003285000490112e-5,-7.792321866458137e-9,-1.8784973035415947e-4,-4.015822215563545e-5,-7.808013539986401e-9,-1.8758115050261835e-4,-4.025292234742e-5,-7.822655543413694e-9,-1.872668184883031e-4,-4.02846843903453e-5,-7.832609350063291e-9,-1.869421745375567e-4,-4.024036343886389e-5,-7.835668960723405e-9,-1.866405011096358e-4,-4.012421563344865e-5,-7.831233109466725e-9,-1.8638746606769327e-4,-3.9953517066443375e-5,-7.820209997762073e-9,-1.8619833336478678e-4,-3.9753447846682424E-05,-7.804705559277455e-9,-1.8607713456172942e-4,-3.955211791223761e-5,-7.787528077260694e-9,-1.8601733956143633e-4,-3.937609305312275e-5,-7.771594675631029e-9,-1.8600372362801028e-4,-3.924671808006975e-5,-7.759377516311174e-9,-1.860151033940145e-4,-3.9177490549839045e-5,-7.752521038826082e-9,-1.86027579535179e-4,-3.917265795237302e-5,-7.751697825195558e-9,-1.8601784500762417e-4,-3.922712275877602e-5,-7.756683939980297e-9,-1.859660991240961e-4,-3.932748873083235e-5,-7.76655338904938e-9,-1.858583415306685e-4,-3.945386020008228e-5,-7.779863803220138e-9,-1.856880765199331e-4,-3.9582104032858643e-5,-7.794764745634513e-9,-1.8545751111847034e-4,-3.968648336286518e-5,-7.80905273811186e-9,-1.8517832726768282e-4,-3.974272194646584e-5,-7.820277095975539e-9,-1.8487191715710737e-4,-3.973182286832981e-5,-7.826043324454552e-9,-1.84568326062585e-4,-3.964498003485806e-5,-7.824607063924266e-9,-1.8430252736954805e-4,-3.948909619720772e-5,-7.81567723225054e-9,-1.841068015813026e-4,-3.9290916557531185e-5,-7.801120265142914e-9,-1.8399941650295114e-4,-3.9096168023688346e-5,-7.785080204503404e-9,-1.8397315757144196e-4,-3.8959732030985414e-5,-7.773061430941858e-9,-1.8399121969710352e-4,-3.892667494260442e-5,-7.769999153806498e-9,-1.8399720413110593e-4,-3.9012062532908605e-5,-7.778165646339316e-9,-1.8393709799280938e-4,-3.919247414624714e-5,-7.796192327999907e-9,-1.837809253347292e-4,-3.94159913142451e-5,-7.81983562463752e-9,-1.835314504140859e-4,-3.9624174692404916e-5,-7.843866044999501e-9,-1.832175926465497e-4,-3.9772376929694886e-5,-7.863852973816922e-9,-0.00018288007799367867,-3.983939802399363e-5,-7.877101234873762e-9,-1.825581525567214e-4,-3.9826609012344015e-5,-7.88278698428171e-9,-1.8228153953364634e-4,-3.975151493070294e-5,-7.881673076367993e-9,-1.8206747389102235e-4,-3.96403257759107e-5,-7.87567869457065e-9,-1.8192093438847728e-4,-3.952183195728649e-5,-7.867403264403688e-9,-1.818363144226791e-4,-3.94230088792691e-5,-7.859627774104685e-9,-1.8179960057993597e-4,-3.9365938879669173e-5,-7.854836651382487e-9,-1.817908037429815e-4,-3.9365650403408574e-5,-7.85483970570868e-9,-1.817866154295425e-4,-3.9428705477013426e-5,-7.860566324909944e-9,-1.81763290141203e-4,-3.955254076382139e-5,-7.872043997922005e-9,-1.8169966125836646e-4,-3.9725745338659054e-5,-7.888521312020506e-9,-1.8157997375724025e-4,-3.992943179925509e-5,-7.908654800013727e-9,-1.8139615201193202e-4,-4.01395859443014e-5,-7.930677800847704e-9,-1.8114926843234067e-4,-4.0330149429537525e-5,-7.952524911278175e-9,-1.808500494869329e-4,-4.047662276442048e-5,-7.971962158343955e-9,-1.8051827933978514e-4,-4.055992560857808e-5,-7.986810256067089e-9,-1.8018101316444614e-4,-4.0570277674346596e-5,-7.995336625795394e-9,-1.7986930754112723e-4,-4.0510916503467394e-5,-7.996822725172099e-9,-1.796128754203871e-4,-4.0400967753350356e-5,-7.992167447243349e-9,-1.7943243126465743e-4,-4.027577035424067e-5,-7.984224841668468e-9,-1.793308527151646e-4,-4.0182267013651894e-5,-7.97751603843064e-9,-1.7928650189256697e-4,-4.016762654034507e-5,-7.977085620844553e-9,-1.7925412028238575e-4,-4.026237728195528e-5,-7.986681974367066e-9,-1.791774416147169e-4,-4.046502137035069e-5,-8.007050548514257e-9,-1.79010578141659e-4,-4.07384889308924e-5,-8.03541534862946e-9,-1.7873692411944845e-4,-4.102346717380981e-5,-8.066621496285543e-9,-1.783741420058078e-4,-4.1261830836882335e-5,-8.095249938080533e-9,-1.7796361074475225e-4,-4.1416463164230464e-5,-8.117421582789139e-9,-1.7755290410782594e-4,-4.1478368578888085e-5,-8.131520449449486e-9,-1.7718135033389617e-4,-4.146198733197798e-5,-8.13797055610707e-9,-1.768730990346715e-4,-4.139529321745453e-5,-8.138602365296292e-9,-1.766365818208645e-4,-4.131042648440153e-5,-8.135996394797593e-9,-1.7646729539195152e-4,-4.123728457209718e-5,-8.132931548149722e-9,-1.7635140912427015e-4,-4.119998363428822e-5,-8.131940782911007e-9,-1.7626901592075078e-4,-4.1215139264067615e-5,-8.13497319552361e-9,-1.7619688175239353e-4,-4.129104627639256e-5,-8.143187102834443e-9,-1.7611095329391106e-4,-4.142731358893801e-5,-8.156888519239014e-9,-1.7598889716912629e-4,-4.1614887437690714e-5,-8.17558928584182e-9,-1.7581281192462515e-4,-4.183670829192403e-5,-8.198133122013413e-9,-1.7557194116890116e-4,-4.206939570725801e-5,-8.222846596370708e-9,-1.7526489185315834e-4,-4.2286145337228534e-5,-8.247693685378518e-9,-1.749007892130791e-4,-4.246067239676419e-5,-8.27045287578726e-9,-1.7449889291473196e-4,-4.257177890837406e-5,-8.288966601271894e-9,-1.7408636134491067e-4,-4.260785569445014e-5,-8.301502622549816e-9,-1.7369417612683185e-4,-4.257044116629862e-5,-8.307207425135431e-9,-1.733515749373912e-4,-4.247603925671317e-5,-8.306560538240727e-9,-1.7307951561946385e-4,-4.235546258407321e-5,-8.301660768772593e-9,-1.7288404300892215e-4,-4.224980670333177e-5,-8.296116391034056e-9,-1.7275126742316764e-4,-4.220232082429011e-5,-8.29435675977847e-9,-1.7264662508130276e-4,-4.2246603872407674e-5,-8.300377709365537e-9,-1.7252121501086634e-4,-4.239390927424923e-5,-8.316260399484159e-9,-1.723259194563172e-4,-4.262512746453453e-5,-8.341125038747223e-9,-1.7202921853819408e-4,-4.289359303196469e-5,-8.371205255110296e-9,-1.7163005621497463e-4,-4.314027956941037e-5,-8.401196120311941e-9,-1.7115808212438073e-4,-4.3314891182245837e-5,-8.426208336859534e-9,-1.706611339045414e-4,-4.3391899781138715e-5,-8.4432830383759e-9,-1.701876762651756e-4,-4.3374419715413495e-5,-8.4518562411058e-9,-1.6977323193821857e-4,-4.328714577136297e-5,-8.4533209117178e-9,-1.6943492968409378e-4,-4.316484300779904e-5,-8.450215049832509e-9,-1.691728141266524e-4,-4.304229490465962e-5,-8.445454567334958e-9,-1.689743734967421e-4,-4.294814563749508e-5,-8.441762371783732e-9,-1.6881942342299218e-4,-4.2902261156559144e-5,-8.441296223429344e-9,-1.6868404487941965e-4,-4.291519214458628e-5,-8.445444774098598e-9,-1.6854347563705814e-4,-4.2988495594045744e-5,-8.454766529152133e-9,-1.6837439851704656e-4,-4.3115257163194266e-5,-8.469036389597806e-9,-1.681571293442517e-4,-4.3280710287122344e-5,-8.487346444855007e-9,-1.6787800682957013e-4,-4.3463272785180736e-5,-8.508217625345404e-9,-1.675319055511752e-4,-4.363653952219832e-5,-8.529718093993882e-9,-1.6712433065999726e-4,-4.3772654109465174e-5,-8.549625270960761e-9,-1.6667221550076703e-4,-4.3847053130506195e-5,-8.565688893545171e-9,-1.6620251090174813e-4,-4.384394863589244e-5,-8.576022891083493e-9,-1.6574805161057994e-4,-4.3761243185843136e-5,-8.57958137502147e-9,-1.653410166729793e-4,-4.361321227414499e-5,-8.57659196538238e-9,-1.6500526069332353e-4,-4.3429595920686075e-5,-8.568780938240553e-9,-1.6474941938175833e-4,-4.325061380526027e-5,-8.559242374508827e-9,-1.6456278474184848e-4,-4.311845658282386e-5,-8.551872091484495e-9,-1.6441558827007797e-4,-4.306679435913246e-5,-8.55041163875152e-9,-1.6426459590353389e-4,-4.31107428021797e-5,-8.55731514316368e-9,-1.6406370565747632e-4,-4.324040567689213e-5,-8.572814975918328e-9,-1.6377738091422734e-4,-4.3421136814201817e-5,-8.594619277300757e-9,-1.6339259528422065e-4,-4.360218549923664e-5,-8.618509053213847e-9,-1.6292403742707357e-4,-4.3731933663244515e-5,-8.639692356752142e-9,-1.6240945516230828e-4,-4.3773994492029846e-5,-8.654343911008955e-9,-1.618968607756375e-4,-4.371721460881521e-5,-8.660647603934844e-9,-1.614295836691662e-4,-4.357579691594396e-5,-8.658990171403235e-9,-1.6103554540079272e-4,-4.338116258064244e-5,-8.65143750147207e-9,-1.6072371734170566e-4,-4.317072694826411e-5,-8.640899300411265e-9,-1.60486597377181e-4,-4.2978486922922624e-5,-8.630346264051817e-9,-1.6030553083480994e-4,-4.28295955015562e-5,-8.622255741822829e-9,-1.6015613527411944e-4,-4.2738546072660895e-5,-8.618310231123223e-9,-1.6001252941236853e-4,-4.270953342717434e-5,-8.619310983523769e-9,-1.5985023392522713e-4,-4.27376696865566e-5,-8.62524258194941e-9,-1.5964820616548375e-4,-4.281026269130828e-5,-8.635407427994393e-9,-1.5939063606626693e-4,-4.290797545834162e-5,-8.648555381100611e-9,-1.5906893911632526e-4,-4.300622619989431e-5,-8.662980381924239e-9,-1.586839320425307e-4,-4.307745905419132e-5,-8.6766176574788e-9,-1.5824763893893554e-4,-4.309485149551601e-5,-8.687224944489166e-9,-1.577836553301402e-4,-4.303761508032331e-5,-8.692728743322592e-9,-1.5732473003351639e-4,-4.2897150815443866e-5,-8.691735505534104e-9,-1.5690673041701025e-4,-4.2682099455994495e-5,-8.684069583127032e-9,-1.5655967783061677e-4,-4.241963218334136e-5,-8.671100768675983e-9,-1.5629842252569848e-4,-4.215106331379977e-5,-8.65564776892293e-9,-1.5611654367897435e-4,-4.1922027222526855e-5,-8.641393519477788e-9,-1.5598634365727104e-4,-4.1769990723229766e-5,-8.631943434242865e-9,-1.558655337576891e-4,-4.171332468953909e-5,-8.62980875112357e-9,-1.55708599326998e-4,-4.1745676230751626e-5,-8.635639653747643e-9,-1.5547926756793228e-4,-4.183738871643539e-5,-8.64796410233513e-9,-1.5516040876164026e-4,-4.194344529267842e-5,-8.663544317198107e-9,-1.5475857077794318e-4,-4.2015642345345564e-5,-8.678275332417251e-9,-1.5430178219828054e-4,-4.2015487508945786e-5,-8.688346657903147e-9,-1.538312653883322e-4,-4.1923888974596855e-5,-8.691272266061803e-9,-1.5338985144061818e-4,-4.174464729428951e-5,-8.686443715723425e-9,-1.5301108912570144e-4,-4.150107912857046e-5,-8.675074640975934e-9,-1.5271247020407983e-4,-4.1227745509928506e-5,-8.659650972450587e-9,-1.5249412865362623e-4,-4.096082102643691e-5,-8.643154944543995e-9,-1.5234202142190386e-4,-4.0730361657362306e-5,-8.628341074666747e-9,-1.522332666590427e-4,-4.0556036818412694e-5,-8.617240877586801e-9,-1.5214146355814283e-4,-4.044607832465574e-5,-8.610948820189256e-9,-1.5204082770238207e-4,-4.0398276306418136e-5,-8.609649713449356e-9,-1.5190894966737008e-4,-4.040182404940597e-5,-8.612791693953891e-9,-1.5172855998777816e-4,-4.04392073340307e-5,-8.619289651721801e-9,-1.5148890221367985e-4,-4.048788673301634e-5,-8.627671304566296e-9,-1.511871960678653e-4,-4.052207249406931e-5,-8.636154913727928e-9,-1.5083025434630082e-4,-4.051521495503619e-5,-8.642725787473477e-9,-1.5043574158394175e-4,-4.044383852156764e-5,-8.645327734018624e-9,-1.500319353466808e-4,-4.029297377626192e-5,-8.642261093560134e-9,-1.496544166579292e-4,-4.006242686937451e-5,-8.632759521112276e-9,-1.4933857066749907e-4,-3.9771500609913104e-5,-8.61753525645397e-9,-1.4910878327908136e-4,-3.9458613965874134e-5,-8.598961074703302e-9,-1.4896817540041468e-4,-3.9173255620837376e-5,-8.580634729706417e-9,-1.4889434793359147e-4,-3.896143953895252e-5,-8.566369717397555e-9,-1.488446779231985e-4,-3.885027635490195e-5,-8.558992598500318e-9,-1.4876971971684565e-4,-3.883878985692342e-5,-8.559461170923111e-9,-1.4862882605840358e-4,-3.889897430693147e-5,-8.566637964807312e-9,-1.484015496846831e-4,-3.8985699273179814e-5,-8.577719545041904e-9,-1.4809146958670756e-4,-3.9050500471712874e-5,-8.589075917670951e-9,-1.4772283139077166e-4,-3.90541832810773e-5,-8.597200861671296e-9,-1.4733252302452735e-4,-3.8975093804996464e-5,-8.599531021666814e-9,-1.46960319709348e-4,-3.8811988524448995e-5,-8.594969943036304e-9,-1.4663989849332713e-4,-3.8581911562734315e-5,-8.58402541962936e-9,-1.4639243737691714e-4,-3.831439622032589e-5,-8.568556760394407e-9,-1.4622381432699978e-4,-3.8043832331238845e-5,-8.551221326080342e-9,-1.4612546696149864e-4,-3.780203085357788e-5,-8.534793996272362e-9,-1.4607800835754142e-4,-3.761267871861787e-5,-8.521560570514165e-9,-1.46056126596556e-4,-3.748848840769632e-5,-8.512936995642796e-9,-1.4603336462438332e-4,-3.743087337648366e-5,-8.509368863912567e-9,-1.4598588657925202e-4,-3.743138625583485e-5,-8.510465027645555e-9,-1.4589496353338089e-4,-3.747399290628529e-5,-8.515247763091069e-9,-1.4574843347403674e-4,-3.753744263121957e-5,-8.522385868843517e-9,-1.4554162934537264e-4,-3.759745129656199e-5,-8.530332304446479e-9,-1.4527818133022795e-4,-3.7628889350479104e-5,-8.537375532161534e-9,-1.4497079464529807e-4,-3.76084521534279e-5,-8.541699439939246e-9,-1.446416124057033e-4,-3.751836753687077e-5,-8.541581339326527e-9,-1.4432111704455668e-4,-3.7351398285757994e-5,-8.535812444372269e-9,-1.4404404714688575e-4,-3.711638518574359e-5,-8.524282605408122e-9,-1.438412079624837e-4,-3.684187866182322e-5,-8.508477097627533e-9,-1.4372811461076546e-4,-3.657397293866363e-5,-8.491503673689153e-9,-1.436949746655447e-4,-3.636532952138359e-5,-8.477371791217123e-9,-1.437049148338037e-4,-3.625715011489158e-5,-8.469647157873269e-9,-1.4370460041685984e-4,-3.626225419817731e-5,-8.470096677118393e-9,-1.436435657655829e-4,-3.6359182629031623e-5,-8.478059693349249e-9,-1.4349217679652826e-4,-3.650097828056397e-5,-8.49083875172551e-9,-1.4324944734727836e-4,-3.663301747612782e-5,-8.50476357027434e-9,-1.4293924274250757e-4,-3.6710244446883646e-5,-8.516318183217591e-9,-1.42599606440927e-4,-3.670734481993864e-5,-8.522934387042323e-9,-1.4227107692698355e-4,-3.66208983276144e-5,-8.523380609554418e-9,-1.4198762087161575e-4,-3.646586091026803e-5,-8.517827359725516e-9,-1.4177127123896665e-4,-3.626931158012475e-5,-8.507668428407443e-9,-1.4163010445375599e-4,-3.606360234221836e-5,-8.495144285064709e-9,-1.4155881398565556e-4,-3.588006957388633e-5,-8.482821921176052e-9,-1.4154122929864088e-4,-3.574396664003745e-5,-8.473039059830415e-9,-1.4155410250967632e-4,-3.5671120527783085e-5,-8.467454781925923e-9,-1.4157137341078065e-4,-3.5666522461359366e-5,-8.46681890030178e-9,-1.4156819516112225e-4,-3.572468450852716e-5,-8.4709875707388e-9,-1.4152418460917606e-4,-3.58313730753767e-5,-8.47912807725831e-9,-1.4142558873947818e-4,-3.59661705458511e-5,-8.489992557926502e-9,-1.412664184643966e-4,-3.6105261696455e-5,-8.502137383045136e-9,-1.4104888166358994e-4,-3.6224110895191465e-5,-8.514032189748423e-9,-1.4078340386514088e-4,-3.630008132933925e-5,-8.524097794432883e-9,-1.4048831120426743e-4,-3.6315244359799485e-5,-8.530777751256682e-9,-1.4018893987105985e-4,-3.6259700669489686e-5,-8.532761075544734e-9,-1.399154045802046e-4,-3.613554770648095e-5,-8.529406358796928e-9,-1.396978493880879e-4,-3.5960758369385744e-5,-8.5212719609298e-9,-1.395584274220083e-4,-3.5770777754258144e-5,-8.510484614118273e-9,-1.395010799090941e-4,-3.5614419533547606e-5,-8.500584815712752e-9,-1.3950347955379841e-4,-3.554134224026499e-5,-8.495600252331792e-9,-1.395181326667312e-4,-3.5583057711782186e-5,-8.49852886633527e-9,-1.3948692048425989e-4,-3.573661667274257e-5,-8.509976577861838e-9,-1.3936409233349114e-4,-3.596248146847602e-5,-8.52783178092342e-9,-1.3913464178440764e-4,-3.6200002121230084e-5,-8.548219699136488e-9,-1.3881747770678196e-4,-3.6391341144876804e-5,-8.567072309384218e-9,-1.384540237025143e-4,-3.650005380239695e-5,-8.581375137160207e-9,-1.380914704582618e-4,-3.6517145395985524e-5,-8.589669620504838e-9,-1.3776939627770373e-4,-3.645667302158028e-5,-8.591982763540148e-9,-1.375129529417687e-4,-3.634680402050186e-5,-8.589508759325445e-9,-1.373315794560991e-4,-3.622095854655851e-5,-8.584220023840957e-9,-1.3722091216789167e-4,-3.61110737959683e-5,-8.578448656336925e-9,-1.3716598999432205e-4,-3.6043161150447865e-5,-8.574449379800085e-9,-1.37144819913883e-4,-3.6034601772228566e-5,-8.573995788120039e-9,-1.3713202193536196e-4,-3.60927847497726e-5,-8.578098184526851e-9,-1.3710237308793484e-4,-3.621495858814332e-5,-8.586914569799196e-9,-1.3703402980724396e-4,-3.6389181641333254e-5,-8.5998516774355e-9,-1.36911205202354e-4,-3.65962542961265e-5,-8.615789199981454e-9,-1.3672602214730465e-4,-3.68124573584491e-5,-8.633327431858329e-9,-1.36479349089764e-4,-3.701271677512592e-5,-8.650970819822634e-9,-1.3618068653054776e-4,-3.717379627140313e-5,-8.667222550115315e-9,-1.358472662707308e-4,-3.7277344343605105e-5,-8.680647089426607e-9,-1.3550242612119607e-4,-3.731274903926245e-5,-8.68999424871703e-9,-1.3517320152061808e-4,-3.727978006702851e-5,-8.694459140313209e-9,-1.3488680793789882e-4,-3.719092897384664e-5,-8.694073713436727e-9,-1.3466544021457864e-4,-3.707279073129639e-5,-8.69010051987593e-9,-1.3451925275556113e-4,-3.696481485133304e-5,-8.685177236944263e-9,-1.344388658671642e-4,-3.69131046298267e-5,-8.682934876706395e-9,-1.3439108416693466e-4,-3.695778715724225e-5,-8.68695839392729e-9,-1.3432331140892352e-4,-3.7116200157038535e-5,-8.699334814541392e-9,-1.3417981211901297e-4,-3.737010340084863e-5,-8.71951455375979e-9,-1.339246580951755e-4,-3.7667420214442775e-5,-8.744316749020727e-9,-1.3355816900488716e-4,-3.7941435370631326e-5,-8.769244026211392e-9,-1.3311593340372153e-4,-3.813725721253883e-5,-8.79029609068621e-9,-1.3265197371800877e-4,-3.8229929052285945e-5,-8.80518898519348e-9,-1.3221793913426716e-4,-3.822643977336777e-5,-8.813555366407018e-9,-1.318492290963614e-4,-3.8155740932226004e-5,-8.816480101901048e-9,-1.3156091565529496e-4,-3.8055615871408505e-5,-8.815891247203971e-9,-1.3135036452187486e-4,-3.796239043644523e-5,-8.814051427765528e-9,-1.31202438800492e-4,-3.7905049072083586e-5,-8.813160873514698e-9,-1.3109463784149872e-4,-3.79028210263575e-5,-8.81503385420893e-9,-1.3100122611687848e-4,-3.796469387651649e-5,-8.820852830416448e-9,-1.3089648863076503e-4,-3.80897908046812e-5,-8.83104051118581e-9,-1.3075748536931842e-4,-3.826825886682798e-5,-8.84527997381368e-9,-1.3056648321026467e-4,-3.848267424904795e-5,-8.862659526172724e-9,-1.3031305885508222e-4,-3.871009371470224e-5,-8.881878607082005e-9,-1.2999564462678402e-4,-3.8924886973358905e-5,-8.90144922639146e-9,-1.296221126551315e-4,-3.9102224081252054e-5,-8.919852317394064e-9,-1.292091137554164e-4,-3.9221787764163894e-5,-8.935653170963314e-9,-1.287801342980387e-4,-3.9271231345139034e-5,-8.947626178113364e-9,-1.2836237102655372e-4,-3.924893370147562e-5,-8.954946573809908e-9,-1.2798264289840097e-4,-3.916561004732102e-5,-8.957459750970044e-9,-1.2766262594780724e-4,-3.9044431207776e-5,-8.955969094344736e-9,-1.2741366297480022e-4,-3.891923161696911e-5,-8.952404162384802e-9,-1.2723168997357461e-4,-3.883000967390067e-5,-8.949679509496966e-9,-1.27093748029005e-4,-3.881487829910734e-5,-8.951097831921052e-9,-1.2695870357679422e-4,-3.8898685950468335e-5,-8.959323326278861e-9,-1.267751555869125e-4,-3.908106724078372e-5,-8.975233990146882e-9,-1.2649729890266872e-4,-3.933002315131596e-5,-8.997238422616873e-9,-1.2610380646318407e-4,-3.958793924368254e-5,-9.021623338742478e-9,-1.2560933231630603e-4,-3.979117636916569e-5,-9.043949542052622e-9,-1.250601064281325e-4,-3.989428803618717e-5,-9.060747657363913e-9,-1.2451535807132656e-4,-3.988519479442612e-5,-9.070550347589108e-9,-1.2402584828578883e-4,-3.978414776435241e-5,-9.073886011159246e-9,-1.236205981940215e-4,-3.963065544738354e-5,-9.07260038223968e-9,-1.2330492479386814e-4,-3.946804731107443e-5,-9.06907791995821e-9,-1.2306592379153069e-4,-3.9332584341514184e-5,-9.065663183276685e-9,-1.228800828847495e-4,-3.9248605036294036e-5,-9.064298093394783e-9,-1.2271974809462355e-4,-3.9227959023930204e-5,-9.066308761174449e-9,-1.2255751932836511e-4,-3.9271422800291845e-5,-9.07230522767062e-9,-1.2236902385258616e-4,-3.937056825807537e-5,-9.082190481665708e-9,-1.2213485314795255e-4,-3.950953825587356e-5,-9.0952670217167e-9,-1.2184219766310128e-4,-3.966680598205627e-5,-9.110401741288104e-9,-1.2148636162885278e-4,-3.981726696521993e-5,-9.12619905571748e-9,-1.2107197250418744e-4,-3.9935062083796264e-5,-9.141156188037495e-9,-1.2061333772280514e-4,-3.9997258003077964e-5,-9.153805898123638e-9,-1.2013331124746263e-4,-3.998800386203117e-5,-9.162873756252375e-9,-1.1966030668005657e-4,-3.990236796499482e-5,-9.167476141008514e-9,-1.1922355711720542e-4,-3.9748848224879454e-5,-9.16735668291749e-9,-1.1884727409519039e-4,-3.9549573910041856e-5,-9.163106709226148e-9,-1.1854484500946807e-4,-3.9337626281964046e-5,-9.156273357353645e-9,-1.1831435745928925e-4,-3.9151554868869843e-5,-9.149247534449742e-9,-1.1813661119487769e-4,-3.9027669333984225e-5,-9.144851147026704e-9,-1.1797667960421902e-4,-3.899110483450793e-5,-9.145628060950681e-9,-1.1778991790734548e-4,-3.904737063700308e-5,-9.15299150810211e-9,-1.175325624741728e-4,-3.9177091689939015e-5,-9.166537396277783e-9,-1.1717523308225653e-4,-3.933731131848976e-5,-9.183898816605155e-9,-1.1671489921126038e-4,-3.947171279421601e-5,-9.20137620436505e-9,-1.1617906373001206e-4,-3.952820645458404e-5,-9.215188158288917e-9,-1.1561807446250038e-4,-3.947694802803824e-5,-9.222771080593783e-9,-1.1508795403832579e-4,-3.931977427169145e-5,-9.223487247363517e-9,-1.1463218392673738e-4,-3.9086539305895255e-5,-9.21849929028679e-9,-1.142709592978943e-4,-3.8821745934336895e-5,-9.210076040428456e-9,-1.1400074179654687e-4,-3.856946273893001e-5,-9.20078618611514e-9,-1.1380094799943816e-4,-3.836294492571193e-5,-9.192886631995141e-9,-1.1364261812623197e-4,-3.822069459714716e-5,-9.1879765359956e-9,-1.1349551541127026e-4,-3.814719957123449e-5,-9.186871306246775e-9,-1.1333258761490281e-4,-3.8135736535814055e-5,-9.189633338269424e-9,-1.1313230069867286e-4,-3.817141008984336e-5,-9.195706259883106e-9,-1.1287982382393343e-4,-3.823369291997683e-5,-9.204097657482591e-9,-1.1256786310513337e-4,-3.829851605574717e-5,-9.213553802888529e-9,-1.1219751803139118e-4,-3.8340376762559447e-5,-9.22269414066259e-9,-1.1177904223869293e-4,-3.833503671167999e-5,-9.230116686601745e-9,-1.1133191698447232e-4,-3.826315103578705e-5,-9.234523255112086e-9,-1.1088335748373442e-4,-3.811461096830071e-5,-9.234910233392347e-9,-1.1046449079987319e-4,-3.789262697562118e-5,-9.230826308386785e-9,-1.1010413601670693e-4,-3.7615910350771354e-5,-9.222627139411862e-9,-1.0982130517158393e-4,-3.731722308065027e-5,-9.21160402770721e-9,-1.0961868889767661e-4,-3.703748088216355e-5,-9.199872312326249e-9,-1.0947969429209346e-4,-3.681630820680492e-5,-9.189976537874282e-9,-1.0937067838856088e-4,-3.668157414423921e-5,-9.184272074658242e-9,-1.0924829447019257e-4,-3.664109554625678e-5,-9.18424056176897e-9,-1.0907020550257687e-4,-3.667913877536005e-5,-9.189954915184103e-9,-1.0880642515705916e-4,-3.6759033088402764e-5,-9.199907267392656e-9,-1.0844824947981108e-4,-3.683171835853091e-5,-9.211326762762983e-9,-1.0801195079731945e-4,-3.684853152381634e-5,-9.220949393187014e-9,-1.0753533107081977e-4,-3.6774884340293415e-5,-9.225997564122934e-9,-1.0706735543311275e-4,-3.6600269285523224e-5,-9.22499909034669e-9,-1.0665405844386353e-4,-3.634060345263345e-5,-9.218128116932532e-9,-1.0632599695639417e-4,-3.6031911809698865e-5,-9.206981038369621e-9,-1.0609189824736788e-4,-3.5718319405997615e-5,-9.19395506438557e-9,-1.0593992002165717e-4,-3.543962353913638e-5,-9.181522987160879e-9,-1.0584432970216088e-4,-3.5222894444418944e-5,-9.171654265312317e-9,-1.0577377509585269e-4,-3.5079615353876484e-5,-9.165501882736301e-9,-1.0569811427307857e-4,-3.500714701067259e-5,-9.163352800650679e-9,-1.0559264518508524e-4,-3.499226206662488e-5,-9.164771801813917e-9,-1.0544004786505433e-4,-3.5014920510423576e-5,-9.16883982493074e-9,-1.0523095671395252e-4,-3.5051391464275926e-5,-9.174389778026609e-9,-1.0496405295401565e-4,-3.507665669286638e-5,-9.180172150801203e-9,-1.0464618835727268e-4,-3.506655725701059e-5,-9.184939032839345e-9,-1.0429252092118758e-4,-3.500030193581135e-5,-9.187495988674884e-9,-1.039261276946598e-4,-3.48637823947789e-5,-9.186800523449334e-9,-1.0357615793353864e-4,-3.46536541858101e-5,-9.182170455832e-9,-1.0327350441689744e-4,-3.4381246691956354e-5,-9.173580720955574e-9,-1.0304364939716516e-4,-3.4074253186413085e-5,-9.161923230549191e-9,-1.0289802766204464e-4,-3.3773697803369534e-5,-9.149039646343281e-9,-1.0282725778280255e-4,-3.3524929232600696e-5,-9.137394421723031e-9,-1.0280029662432293e-4,-3.336441855594974e-5,-9.129418606410994e-9,-1.0277162008556858e-4,-3.3307298589755e-5,-9.126750143428798e-9,-1.0269452672034878e-4,-3.334132380659976e-5,-9.129679824022376e-9,-1.0253530901109662e-4,-3.3430128766657056e-5,-9.137028969170211e-9,-1.0228281327026914e-4,-3.352418168582912e-5,-9.146483951023313e-9,-1.0195058478501845e-4,-3.357486167811767e-5,-9.155243273725392e-9,-1.0157200536431759e-4,-3.354696552794696e-5,-9.160762004820197e-9,-1.0119077576295845e-4,-3.3426523116505044e-5,-9.161389983981338e-9,-1.0084972538708518e-4,-3.322258471680729e-5,-9.1567428994038e-9,-1.0058085340582454e-4,-3.296319855077416e-5,-9.1477233287177e-9,-1.0039895151362752e-4,-3.268715204906611e-5,-9.13620386476633e-9,-1.0030009479870362e-4,-3.243403248359135e-5,-9.124482475916777e-9,-1.0026481761500761e-4,-3.2235448634192776e-5,-9.114685797381227e-9,-1.002643617789796e-4,-3.210959204158094e-5,-9.108299298278605e-9,-1.0026767382911762e-4,-3.205986487873324e-5,-9.105941746310106e-9,-1.0024717983614368e-4,-3.207681406252085e-5,-9.107401083971613e-9,-1.0018239318013028e-4,-3.214184576455504e-5,-9.111860642617299e-9,-1.0006142614792553e-4,-3.223125875718116e-5,-9.118191582072067e-9,-9.988108258667136e-5,-3.2319691729833556e-5,-9.1251948611398e-9,-9.964632646321523e-5,-3.238278403756544e-5,-9.131729422340635e-9,-9.936964829441685e-5,-3.239938756272473e-5,-9.136742201877834e-9,-9.907040628933112e-5,-3.235385780725714e-5,-9.139278262243717e-9,-9.877374852922494e-5,-3.22388541842853e-5,-9.138569270716463e-9,-9.850827687016545e-5,-3.2058685656720396e-5,-9.13425646517205e-9,-9.830143939364078e-5,-3.1832365719454527e-5,-9.126703455871307e-9,-9.817223068137955e-5,-3.159432274657247e-5,-9.117234559865558e-9,-9.812252419680496e-5,-3.138997708142053e-5,-9.108071823699427e-9,-9.813089016549055e-5,-3.126452109365012e-5,-9.10182146027846e-9,-9.815412222958905e-5,-3.124710157480261e-5,-9.100604093125194e-9,-9.813914491830552e-5,-3.1337456387429606e-5,-9.105211374499513e-9,-9.804153498796248e-5,-3.150322611607172e-5,-9.11475449547984e-9,-9.784154686536156e-5,-3.1690737195221436e-5,-9.127000792101932e-9,-9.754967528636868e-5,-3.1843765894223964e-5,-9.139172281973027e-9,-9.720055366819144e-5,-3.192085559051927e-5,-9.148776150107598e-9,-9.684015327249356e-5,-3.1904655488520306e-5,-9.154172659673398e-9,-9.651257696551535e-5,-3.180236177111936e-5,-9.154822358487452e-9,-9.62504127431069e-5,-3.163996841124646e-5,-9.151274976782774e-9,-9.60698168291565e-5,-3.145374077091899e-5,-9.144961054288212e-9,-9.596984265486474e-5,-3.128151423757891e-5,-9.137828523893096e-9,-9.593497386265119e-5,-3.115537334164327e-5,-9.131885483864583e-9,-9.593976606922285e-5,-3.109656681303233e-5,-9.128751308860314e-9,-9.595447136657913e-5,-3.111310201829616e-5,-9.129337933414458e-9,-9.595049936624177e-5,-3.119999178987712e-5,-9.133745810921736e-9,-9.590477548725535e-5,-3.134160856925637e-5,-9.141380171958168e-9,-9.580246226255177e-5,-3.151529116825042e-5,-9.151211708597388e-9,-9.563797539391283e-5,-3.16952830703858e-5,-9.162060481302314e-9,-9.541467373049275e-5,-3.185625961327806e-5,-9.172796825714589e-9,-9.514380915860319e-5,-3.197615493895167e-5,-9.182419310694514e-9,-9.48431552537596e-5,-3.2038443093745316e-5,-9.190051974883061e-9,-9.453543133902659e-5,-3.2034182987011704e-5,-9.194952520053085e-9,-9.424633486772374e-5,-3.1964113362905855e-5,-9.19662086089252e-9,-9.400158823504068e-5,-3.18408340759899e-5,-9.195038235111904e-9,-9.382220633420554e-5,-3.169033305608827e-5,-9.19095818861579e-9,-9.371778135278529e-5,-3.155104568024974e-5,-9.186065400464665e-9,-9.367914980804929e-5,-3.1468046822899884e-5,-9.182785199579648e-9,-9.367412170350315e-5,-3.1480918711509026e-5,-9.183626205872267e-9,-9.365156347345576e-5,-3.160755715402989e-5,-9.19020294586336e-9,-9.355668865963729e-5,-3.183175941432533e-5,-9.202419571888166e-9,-9.335267713728581e-5,-3.210430056471749e-5,-9.218371347956345e-9,-9.303667906521569e-5,-3.236020861117679e-5,-9.235103819495216e-9,-9.264032211325917e-5,-3.2543385860012626e-5,-9.249755228307922e-9,-9.221548591093086e-5,-3.262483810785695e-5,-9.26041652356236e-9,-9.181507378196565e-5,-3.260698117914955e-5,-9.266413523353581e-9,-9.147845491400025e-5,-3.251632942914815e-5,-9.268166415699002e-9,-9.122520847559706e-5,-3.239154168921172e-5,-9.266889513425695e-9,-9.105564635912965e-5,-3.227244723700269e-5,-9.2642646836748e-9,-9.095498913811478e-5,-3.219240887699171e-5,-9.262101784399266e-9,-9.08987318910297e-5,-3.217406213098664e-5,-9.261994204243429e-9,-9.085793054099272e-5,-3.222762121230062e-5,-9.265019829464496e-9,-9.080392835417925e-5,-3.2351052738033134e-5,-9.271567916967034e-9,-9.071228168806134e-5,-3.253168391369461e-5,-9.28134185774094e-9,-9.056569168800201e-5,-3.2748874236925676e-5,-9.293522462109239e-9,-9.035578936575062e-5,-3.297739074658915e-5,-9.307015941925984e-9,-9.008365802729651e-5,-3.319108369388331e-5,-9.32068773621464e-9,-8.975916266917992e-5,-3.336636099032471e-5,-9.33350717957054e-9,-8.939940883763627e-5,-3.348509546284864e-5,-9.344592008056796e-9,-8.902663953210632e-5,-3.353691102753202e-5,-9.353211946825554e-9,-8.866569313938621e-5,-3.352090126483869e-5,-9.35883336145802e-9,-8.834103551839693e-5,-3.3446806313605515e-5,-9.361261938630803e-9,-8.807317448099914e-5,-3.333560303798455e-5,-9.360872293875294e-9,-8.787408489854848e-5,-3.321895898344246e-5,-9.35881896249169e-9,-8.774178162211213e-5,-3.313618048205553e-5,-9.357051719661311e-9,-8.765551941425548e-5,-3.312704407820512e-5,-9.357971217288903e-9,-8.75747733839315e-5,-3.3219976944643985e-5,-9.363691049098633e-9,-8.74461410016907e-5,-3.341812218722618e-5,-9.375114762347986e-9,-8.7220065678816e-5,-3.3690479945789706e-5,-9.391311854138805e-9,-8.687212463896635e-5,-3.397702246395055e-5,-9.409699673510456e-9,-8.641654285989432e-5,-3.420979174434094e-5,-9.427069578077248e-9,-8.590181922728967e-5,-3.433967242416912e-5,-9.440848661633535e-9,-8.539061620032401e-5,-3.435314501297649e-5,-9.44984340985916e-9,-8.493672097339013e-5,-3.4271269582614564e-5,-9.454233252297501e-9,-8.45709727893319e-5,-3.413584988272384e-5,-9.45513539359531e-9,-8.429907159057472e-5,-3.399315338192215e-5,-9.454135610822126e-9,-8.410710066635141e-5,-3.388222278476255e-5,-9.452932691116559e-9,-8.39694300761685e-5,-3.382927951155617e-5,-9.453065287658341e-9,-8.385576288840835e-5,-3.384661045247159e-5,-9.455682021020762e-9,-8.373632656338405e-5,-3.39337961074905e-5,-9.461372860972362e-9,-8.358545827544782e-5,-3.407987563331084e-5,-9.470111676055729e-9,-8.338408132706894e-5,-3.426590539557689e-5,-9.481331913003121e-9,-8.312136430352067e-5,-3.446778153328366e-5,-9.494105686910258e-9,-8.279564587432089e-5,-3.465932720987703e-5,-9.507355644814983e-9,-8.241450667287213e-5,-3.481564090403858e-5,-9.520030613693909e-9,-8.19937854235765e-5,-3.491646452503521e-5,-9.531207314372736e-9,-8.155553782746594e-5,-3.494912799250977e-5,-9.540129776878508e-9,-8.112514759519504e-5,-3.491073158250606e-5,-9.546243568285508e-9,-8.072780222779476e-5,-3.480934834136822e-5,-9.549283156140592e-9,-8.038456389393579e-5,-3.466401475530754e-5,-9.549426224657887e-9,-8.010831362600719e-5,-3.450333338545574e-5,-9.54746360191402e-9,-7.989980971585162e-5,-3.4362440274271346e-5,-9.544875278633311e-9,-7.974437782718713e-5,-3.427773727254322e-5,-9.543676237437192e-9,-7.961061805952735e-5,-3.427884237468908e-5,-9.545950110564333e-9,-7.945341861300056e-5,-3.437837958684637e-5,-9.553132576768602e-9,-7.922353858236074e-5,-3.456254513569184e-5,-9.56529984876067e-9,-7.888371631202135e-5,-3.478810345141471e-5,-9.580865713138687e-9,-7.842594949679023e-5,-3.499174125974583e-5,-9.597013547859506e-9,-7.787972052612896e-5,-3.5111823238104886e-5,-9.61077091176288e-9,-7.730339317992335e-5,-3.5112654366270275e-5,-9.620133730535203e-9,-7.676190727235558e-5,-3.4997103078953485e-5,-9.624598331243174e-9,-7.630368913524509e-5,-3.480106932702219e-5,-9.62496228087358e-9,-7.594864786183333e-5,-3.457584341541249e-5,-9.622755990773589e-9,-7.568955618661085e-5,-3.4369955647098174e-5,-9.619710536672963e-9,-7.550120699012476e-5,-3.4218070735318946e-5,-9.617407235355379e-9,-7.53506844299028e-5,-3.4137703834965904e-5,-9.617061902570326e-9,-7.520512620818642e-5,-3.4130887726558557e-5,-9.619389347609227e-9,-7.503635353608889e-5,-3.4187713250424024e-5,-9.624544759331411e-9,-7.482323554456231e-5,-3.4289930549698735e-5,-9.63216195796353e-9,-7.455284746952063e-5,-3.441408243113663e-5,-9.641484197830746e-9,-7.422104933606681e-5,-3.4534311144901265e-5,-9.651545196785234e-9,-7.383266982034839e-5,-3.4625139821498456e-5,-9.661340808730684e-9,-7.340115252227199e-5,-3.466447763315732e-5,-9.669951148188559e-9,-7.29472860281118e-5,-3.4636811794840895e-5,-9.676610258024069e-9,-7.249670181575391e-5,-3.453612755069931e-5,-9.680751536488109e-9,-7.207617225320659e-5,-3.436789907206864e-5,-9.682071150846721e-9,-7.170907254595313e-5,-3.414954611457939e-5,-9.680633872207702e-9,-7.141062395474628e-5,-3.39088790257861e-5,-9.676997430229804e-9,-7.118375946617258e-5,-3.3680346460547944e-5,-9.672282908069223e-9,-7.101650731517465e-5,-3.349931488623629e-5,-9.668098481187566e-9,-7.088172523947388e-5,-3.33948756399492e-5,-9.666247026220778e-9,-7.074007291564022e-5,-3.3381977619494795e-5,-9.668224096412342e-9,-7.054706001923604e-5,-3.345448175111133e-5,-9.674640120668145e-9,-7.026421186175586e-5,-3.358188659485631e-5,-9.68481262676929e-9,-6.987236648803186e-5,-3.371310919852034e-5,-9.69679586348801e-9,-6.938216497629712e-5,-3.3789366876241454e-5,-9.707962916374584e-9,-6.883511643281062e-5,-3.376368965928737e-5,-9.715940864866819e-9,-6.829161852117123e-5,-3.3618736578177726e-5,-9.719434092883315e-9,-6.781005922500603e-5,-3.337302815858778e-5,-9.718519685799377e-9,-6.742756648217968e-5,-3.307197650765509e-5,-9.714369050431293e-9,-6.715167109481134e-5,-3.276964162612763e-5,-9.70868572509175e-9,-6.696431540140377e-5,-3.251149483555875e-5,-9.703181489926008e-9,-6.683272014943683e-5,-3.23249804831107e-5,-9.699229967536756e-9,-6.672046595425307e-5,-3.221830593712131e-5,-9.69768646622021e-9,-6.659514882482948e-5,-3.218413792480631e-5,-9.69883261424372e-9,-6.643222102070501e-5,-3.2204715407059465e-5,-9.702422223220024e-9,-6.621623206383647e-5,-3.225639014403438e-5,-9.707811412099236e-9,-6.594084229704343e-5,-3.231307689206832e-5,-9.714134303646899e-9,-6.560847130759857e-5,-3.234892257240772e-5,-9.720473000120565e-9,-6.522984548096849e-5,-3.2340745725612146e-5,-9.725978398839142e-9,-6.482324202400488e-5,-3.227068092840828e-5,-9.72993539962299e-9,-6.441292964570893e-5,-3.212909927557402e-5,-9.731798587080863e-9,-6.402628163536215e-5,-3.1917364877182857e-5,-9.731239839313383e-9,-6.368937200887575e-5,-3.164953586182567e-5,-9.728232443086724e-9,-6.342148728367543e-5,-3.135192586641782e-5,-9.723155862069091e-9,-6.3229704409613e-5,-3.105968506127635e-5,-9.716864968224381e-9,-6.310518395759158e-5,-3.081035792541784e-5,-9.710646408580894e-9,-6.302274843342547e-5,-3.0635492967811876e-5,-9.706009068758345e-9,-6.294459210654977e-5,-3.055226083848084e-5,-9.704313675315504e-9,-6.282790628516361e-5,-3.0557342633427204e-5,-9.706329094269245e-9,-6.263513206345579e-5,-3.062513212686725e-5,-9.711875217337033e-9]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_9.json b/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_9.json
deleted file mode 100644
index 745c250..0000000
--- a/libs/supermap/Assets/IAU2006_XYS/IAU2006_XYS_9.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":9000,"numberOfSamples":1000,"samples":[-6.23446137633139e-5,-3.071164556992463e-5,-9.719731332151204e-9,-6.19586809157847e-5,-3.076438157665265e-5,-9.727914890125598e-9,-6.150587794551883e-5,-3.073654937098242e-5,-9.734280833128142e-9,-6.1034943329782044e-5,-3.060168191808949e-5,-9.737216476929997e-9,-6.0601038606681665e-5,-3.036287029042388e-5,-9.736134809126074e-9,-6.024888746053323e-5,-3.0051869736974383e-5,-9.731565682588457e-9,-5.999994090928063e-5,-2.971789522758825e-5,-9.724862066857019e-9,-5.9848834314815545e-5,-2.9411354882677176e-5,-9.71770907732456e-9,-5.976923198886018e-5,-2.916989718887004e-5,-9.711648469978378e-9,-5.972462316432335e-5,-2.9011586735457638e-5,-9.707751149758674e-9,-5.967870819510338e-5,-2.8935387308633597e-5,-9.70647628370283e-9,-5.9602228253192676e-5,-2.89259970676844e-5,-9.707695687073557e-9,-5.947591112549622e-5,-2.8959747148304846e-5,-9.710838540242717e-9,-5.929077173354268e-5,-2.9009608654381066e-5,-9.715094525623705e-9,-5.904719567985657e-5,-2.9048773862964067e-5,-9.71960852884578e-9,-5.8753773367436014e-5,-2.9053136374370507e-5,-9.72361187781754e-9,-5.842624685184096e-5,-2.9003338061866847e-5,-9.726475623750488e-9,-5.8086360356536405e-5,-2.8886966009567993e-5,-9.727714468149827e-9,-5.776002754298137e-5,-2.870105742876016e-5,-9.726995392498005e-9,-5.74741651198525e-5,-2.845449366073143e-5,-9.72419549652686e-9,-5.725183467800746e-5,-2.8169256139263426e-5,-9.71951151762819e-9,-5.7106100541113594e-5,-2.7879041181757347e-5,-9.713564114276547e-9,-5.7034227249689176e-5,-2.7623923778951554e-5,-9.707405962417725e-9,-5.7014849044397024e-5,-2.744114170465607e-5,-9.702361282140308e-9,-5.701050918052841e-5,-2.735425399096375e-5,-9.699698830847758e-9,-5.697609718243167e-5,-2.7364576162975244e-5,-9.700232368303819e-9,-5.6871038817050416e-5,-2.7448633497066595e-5,-9.704002376450864e-9,-5.667116781282969e-5,-2.7563221973356075e-5,-9.710182005555758e-9,-5.637617678776307e-5,-2.765667320675218e-5,-9.717264987992663e-9,-5.601027591624169e-5,-2.7682736375781414e-5,-9.723480590272698e-9,-5.561600483675091e-5,-2.7612936285683867e-5,-9.727297528384073e-9,-5.524303937361784e-5,-2.7443956618506687e-5,-9.727850312943274e-9,-5.493513840003189e-5,-2.7197955922928915e-5,-9.725154651913568e-9,-5.471906725691787e-5,-2.6915691607899557e-5,-9.72005407261872e-9,-5.4598911019501836e-5,-2.6644703453075705e-5,-9.713934027115233e-9,-5.455730383150816e-5,-2.64266189741069e-5,-9.708311206523093e-9,-5.4562420129529145e-5,-2.6287768574123053e-5,-9.704433569738843e-9,-5.457752704343605e-5,-2.623553492658023e-5,-9.703008653848694e-9,-5.456957532646678e-5,-2.6260220049275858e-5,-9.704121931504624e-9,-5.451464446828428e-5,-2.6340246599419492e-5,-9.707335422027123e-9,-5.439995050230707e-5,-2.6448131932234545e-5,-9.711898924726039e-9,-5.422339633670513e-5,-2.6555532499365036e-5,-9.716981565914689e-9,-5.399194066121386e-5,-2.663678226094542e-5,-9.721842938139277e-9,-5.37197431734721e-5,-2.667116151947731e-5,-9.725902670942154e-9,-5.342650643560834e-5,-2.6644534881516494e-5,-9.728727486336505e-9,-5.313587618209729e-5,-2.655097739679037e-5,-9.729995225631237e-9,-5.287334596399925e-5,-2.639462790136861e-5,-9.72950469114869e-9,-5.266297173036476e-5,-2.619143036945524e-5,-9.727266597271218e-9,-5.252243553464907e-5,-2.596971389861331e-5,-9.723645863256587e-9,-5.245681707745194e-5,-2.5767877042401753e-5,-9.719459836489783e-9,-5.245295661436816e-5,-2.562748717562385e-5,-9.715914975816248e-9,-5.247784135201871e-5,-2.558182145120203e-5,-9.714321344765071e-9,-5.248433005910525e-5,-2.5643167778965002e-5,-9.71565414605581e-9,-5.242443255043768e-5,-2.5794981125069657e-5,-9.720157774265109e-9,-5.2265507859568556e-5,-2.599424952537427e-5,-9.727205074415084e-9,-5.200192042456586e-5,-2.6184413784918434e-5,-9.735490249337039e-9,-5.165673914621095e-5,-2.6313264574752945e-5,-9.743443035999223e-9,-5.127351919687404e-5,-2.6348054742647138e-5,-9.749667801257827e-9,-5.0902725125982576e-5,-2.6282713166082426e-5,-9.75326720347049e-9,-5.0588284184408174e-5,-2.6136491038281e-5,-9.754009356253531e-9,-5.0357993370069754e-5,-2.5946393683606597e-5,-9.752342082004198e-9,-5.0219232993974796e-5,-2.5756667981670227e-5,-9.749262933352734e-9,-5.015982106504244e-5,-2.5608303159542794e-5,-9.746061951023208e-9,-5.0152906269271166e-5,-2.5530759317958693e-5,-9.743991748123502e-9,-5.016424167598713e-5,-2.5537314473559887e-5,-9.743957229389409e-9,-5.015987799753719e-5,-2.5624510658344092e-5,-9.746324283706057e-9,-5.011244865581866e-5,-2.5775123374663638e-5,-9.750904754883811e-9,-5.000492623338741e-5,-2.596321755352963e-5,-9.757101352467545e-9,-4.9831698223674514e-5,-2.6159651038122543e-5,-9.764134932390347e-9,-4.959756293540752e-5,-2.6336794409959954e-5,-9.77125471218565e-9,-4.9315586018946434e-5,-2.6471880876366733e-5,-9.777857341227311e-9,-4.900467765247903e-5,-2.6549048296052148e-5,-9.78350042703132e-9,-4.868733505302663e-5,-2.6560573645593127e-5,-9.787854781108205e-9,-4.8387507995782974e-5,-2.6507830841147043e-5,-9.790671063781774e-9,-4.812820015775109e-5,-2.640221991296037e-5,-9.791823659827242e-9,-4.792822925558667e-5,-2.626586053182433e-5,-9.791440657019166e-9,-4.7797688235235664e-5,-2.6131146731513124e-5,-9.790058210807481e-9,-4.7732434736905576e-5,-2.603750245204811e-5,-9.788680030956192e-9,-4.770949127982192e-5,-2.602362103765612e-5,-9.788622629016349e-9,-4.768699088683465e-5,-2.6115132800391774e-5,-9.791115783371455e-9,-4.7612514838547504e-5,-2.6311416798164514e-5,-9.796791594098938e-9,-4.744004786748611e-5,-2.6579162837951064e-5,-9.805340798551625e-9,-4.714894275327642e-5,-2.68596183979786e-5,-9.81558384504337e-9,-4.675409408145582e-5,-2.7088789244523173e-5,-9.82593563524379e-9,-4.63007016373858e-5,-2.7220538865820394e-5,-9.834966162719081e-9,-4.584698755933853e-5,-2.7240537539346205e-5,-9.841756608580806e-9,-4.544489497457328e-5,-2.716612358051693e-5,-9.845989371386469e-9,-4.512720869220526e-5,-2.7035870592725035e-5,-9.847894204339548e-9,-4.490350340869352e-5,-2.6895966227287968e-5,-9.848150476851382e-9,-4.4762813526265216e-5,-2.6788619054627426e-5,-9.847749002642056e-9,-4.467974944751262e-5,-2.6744535726717833e-5,-9.847788854326644e-9,-4.4621551529998665e-5,-2.67793858092927e-5,-9.849227199555758e-9,-4.4554711427458415e-5,-2.6893402551401513e-5,-9.852654250504786e-9,-4.445048423814215e-5,-2.7073346152810357e-5,-9.858177344922723e-9,-4.428881976659844e-5,-2.7296183901073322e-5,-9.865455416384905e-9,-4.406041691263042e-5,-2.753370714423536e-5,-9.873857188997167e-9,-4.376691930956634e-5,-2.7757247847319554e-5,-9.882664459772306e-9,-4.3419538053046194e-5,-2.7941805347373132e-5,-9.891234414250543e-9,-4.303660454191013e-5,-2.8069095603610774e-5,-9.899069051818642e-9,-4.264069174434751e-5,-2.8129368229640377e-5,-9.90579879900749e-9,-4.2255769073996823e-5,-2.8122238695490774e-5,-9.911139409555858e-9,-4.1904486407320275e-5,-2.8056896725693683e-5,-9.914892497705433e-9,-4.160543814119917e-5,-2.7951878164291356e-5,-9.9170275201943e-9,-4.137010911506443e-5,-2.783431847991674e-5,-9.917825281106567e-9,-4.119921521788755e-5,-2.7738086497587085e-5,-9.917998408072091e-9,-4.107878264055179e-5,-2.769954625238172e-5,-9.91867215364473e-9,-4.097763615938715e-5,-2.7749689768273665e-5,-9.921139370467895e-9,-4.0849404904229084e-5,-2.7902797854934692e-5,-9.926407792259145e-9,-4.0642441010064514e-5,-2.8145057541786642e-5,-9.934713814169385e-9,-4.031787237599612e-5,-2.8430538779043658e-5,-9.945298702787681e-9,-3.9868810330146976e-5,-2.8691908882654146e-5,-9.9566665170196e-9,-3.932833565054289e-5,-2.8864961803409028e-5,-9.967212572062042e-9,-3.875854394725441e-5,-2.891437192128338e-5,-9.975808367109482e-9,-3.822616913640833e-5,-2.8845330760606945e-5,-9.98201180056612e-9,-3.777943806979286e-5,-2.869613572190929e-5,-9.98594693625295e-9,-3.743725664498184e-5,-2.8519754654329504e-5,-9.98810862349428e-9,-3.719134397363045e-5,-2.8366020937962917e-5,-9.989234069973608e-9,-3.701525587842487e-5,-2.8270836040562245e-5,-9.99020103086058e-9,-3.6874340673262915e-5,-2.8252557552493446E-05,-9.991881928374356e-9,-3.6733633947777075e-5,-2.831302992680173e-5,-9.994958846882884e-9,-3.656313374093195e-5,-2.844073037686516e-5,-9.999766501751608e-9,-3.634100881655143e-5,-2.8614561011922926e-5,-1.000623541918002e-8,-3.605533964519792e-5,-2.8807801587885512e-5,-1.0013957531492734e-8,-3.570465334841229e-5,-2.8992079074828512e-5,-1.0022338457116705e-8,-3.529734816247884e-5,-2.914116709250595e-5,-1.0030762046344616e-8,-3.485006993645185e-5,-2.92343805861204e-5,-1.0038702615702036e-8,-3.4385142229079815e-5,-2.9259238226273796e-5,-1.0045757091094494e-8,-3.3927359255493513e-5,-2.9213049460563632e-5,-1.0051621058011619e-8,-3.350058407226353e-5,-2.9103332940466208e-5,-1.0056066702504657e-8,-3.3124457063630464e-5,-2.8947189972084985e-5,-1.0058976990550987e-8,-3.2811366323358286e-5,-2.8769735723801098e-5,-1.0060445345746964e-8,-3.256375787328263e-5,-2.8601623226662544e-5,-1.0060897143616392e-8,-3.2371816097269846e-5,-2.8475488693954947e-5,-1.0061145174295647e-8,-3.221189052935458e-5,-2.842075314931494e-5,-1.0062287880142022e-8,-3.204694100578321e-5,-2.8456309260332803e-5,-1.0065415316236122e-8,-3.183109485034811e-5,-2.8581804503757855e-5,-1.007118993199182e-8,-3.152026648812525e-5,-2.877048997646703e-5,-1.0079484318373714e-8,-3.108835216793204e-5,-2.8969238348406404e-5,-1.0089312218910324e-8,-3.0542974461299724e-5,-2.911131486583659e-5,-1.0099182540644034e-8,-2.992994780628945e-5,-2.9140766616140142e-5,-1.0107715115987456e-8,-2.9319253695152042e-5,-2.9036541761832005e-5,-1.0114124886146775e-8,-2.877809393386789e-5,-2.8820960229194144e-5,-1.0118307228329601e-8,-2.8346852894650365e-5,-2.8547443251060635e-5,-1.0120625267983092e-8,-2.803055359693186e-5,-2.8277133796314353e-5,-1.0121677071264258e-8,-2.7805852942645365e-5,-2.8058810315545394e-5,-1.0122171969069935e-8,-2.7634885870697304e-5,-2.7919586021142028e-5,-1.0122851241518537e-8,-2.7477784344898564e-5,-2.7865136011979794e-5,-1.0124374041290903e-8,-2.73005681768325e-5,-2.788470342701019e-5,-1.0127178785398857e-8,-2.707876938176712e-5,-2.7957027015369363e-5,-1.0131386580299943e-8,-2.6798428484780897e-5,-2.8055381987984983e-5,-1.0136799525049531e-8,-2.6455880523470634e-5,-2.8151496961065997e-5,-1.0142993650083491e-8,-2.6056989964450905e-5,-2.8218751221123247e-5,-1.0149458252670142e-8,-2.5615936366383297e-5,-2.82350089513246e-5,-1.0155717100330529e-8,-2.5153423477268736e-5,-2.8185218808561722e-5,-1.0161389371918144e-8,-2.469410784372093e-5,-2.80636100261117e-5,-1.0166188348621973e-8,-2.426321414819864e-5,-2.787501653366006e-5,-1.0169893731105325e-8,-2.3882668480529245e-5,-2.763487038497263e-5,-1.01723489245492e-8,-2.3567286234310905e-5,-2.7367666919278267e-5,-1.017351616196784e-8,-2.332156842397692e-5,-2.7103905438103306e-5,-1.017357593949472e-8,-2.3137641969046203e-5,-2.6875705732266855e-5,-1.0173013410180529e-8,-2.299476051584912e-5,-2.6711500845227496E-05,-1.017261329344951e-8,-2.2860705750699917e-5,-2.663018704620786e-5,-1.0173308322342749e-8,-2.2695665047880168e-5,-2.663518611623227e-5,-1.017589092482202e-8,-2.2459337873909423e-5,-2.6709603552242226e-5,-1.0180685150351775e-8,-2.212140867809451e-5,-2.6814846177850375e-5,-1.0187337375833014e-8,-2.1673671732367735e-5,-2.6895869468464378e-5,-1.0194873028803975e-8,-2.1139047774474032e-5,-2.68952440266726e-5,-1.0202044877588625e-8,-2.0570501852735378e-5,-2.6773653165214853e-5,-1.0207808391111026e-8,-2.0035779945461135e-5,-2.6527596262472074e-5,-1.0211650200164242e-8,-1.95929968856085e-5,-2.6192859779762135e-5,-1.0213616507492086e-8,-1.9270119523824262e-5,-2.5830075681245798e-5,-1.021413380368983e-8,-1.905933904298975e-5,-2.5500927912146165e-5,-1.021381348729072e-8,-1.892657043021345e-5,-2.5248592103061754e-5,-1.0213321886218076e-8,-1.8827443033921196e-5,-2.5090146839981592e-5,-1.0213277816654462e-8,-1.8720869387209668e-5,-2.5019585350191788e-5,-1.0214142627298827e-8,-1.8576464284264876e-5,-2.5015668692887527e-5,-1.0216127260583814e-8,-1.8376611843414558e-5,-2.504980617624261e-5,-1.0219166169699748e-8,-1.8115567499788158e-5,-2.5091878000311348e-5,-1.022297593256864e-8,-1.77975879404375e-5,-2.511396168920078e-5,-1.0227169183059294e-8,-1.743505293856026e-5,-2.5092754555130803e-5,-1.0231368833090536e-8,-1.7046707371919865e-5,-2.5011456803880348e-5,-1.0235274298180084e-8,-1.6655740859370975e-5,-2.4861532084328557e-5,-1.023866489114029e-8,-1.6287282974612118e-5,-2.464432330060455e-5,-1.0241365206381334e-8,-1.596501252310151e-5,-2.4372025169081737e-5,-1.024321801882643e-8,-1.570702113141324e-5,-2.406725812436014e-5,-1.0244103967347291e-8,-1.552160951313559e-5,-2.376063009939192e-5,-1.0244017040254267e-8,-1.5404061827608693e-5,-2.3486101581026236e-5,-1.0243161489551215e-8,-1.5335535519959935e-5,-2.327460877469775e-5,-1.0242006517918706e-8,-1.5284891552236783e-5,-2.314712391361825e-5,-1.0241237021644048e-8,-1.5213603604440276e-5,-2.3108728191468194e-5,-1.0241580512137116e-8,-1.5083201808082548e-5,-2.3145172717351075e-5,-1.0243555303704379e-8,-1.4864218209902013e-5,-2.32231622645874e-5,-1.0247243960115732e-8,-1.4545036900022462e-5,-2.3295366098052616e-5,-1.0252208937023976e-8,-1.4138251105215157e-5,-2.3310524416851092e-5,-1.0257614027791928e-8,-1.368146422366092e-5,-2.322748601135849e-5,-1.0262512342819018e-8,-1.322989051622768e-5,-2.3029486169829173e-5,-1.0266164007946504e-8,-1.2840855736179594e-5,-2.2732545405069593e-5,-1.0268236392507776e-8,-1.2555169579427251e-5,-2.238231187733215e-5,-1.0268825150242116e-8,-1.2383914527037539e-5,-2.2038912589209548e-5,-1.0268347802691693e-8,-1.2307249887307113e-5,-2.1756613087809175e-5,-1.0267393640885903e-8,-1.2284812012886326e-5,-2.156813016555327e-5,-1.0266572608916944e-8,-1.2270971936084373e-5,-2.1479552451146128e-5,-1.0266376938115249e-8,-1.2227457536302338e-5,-2.1474911265539056e-5,-1.0267077590847187e-8,-1.2129749205895953e-5,-2.1525263563921737e-5,-1.0268689111523196e-8,-1.1967892292312714e-5,-2.1597450054922837e-5,-1.0271017429226725e-8,-1.174422548889918e-5,-2.166023896731968e-5,-1.0273764819876203e-8,-1.1470257655664928e-5,-2.1687790859828148e-5,-1.0276640831595281e-8,-1.1163872918540682e-5,-2.16613873970703e-5,-1.0279429528370393e-8,-1.0847087574647729e-5,-2.1570437594962387e-5,-1.0281991235380007e-8,-1.0544002989509588e-5,-2.141339145539365e-5,-1.0284216045362617e-8,-1.0278390240021108e-5,-2.1198652865103365e-5,-1.0285974464584003e-8,-1.0070447996162899e-5,-2.0945037086426453e-5,-1.028711043152021e-8,-9.932690801530476e-6,-2.068088652200719e-5,-1.028749799157689e-8,-9.86563644678306e-6,-2.0440844298465255e-5,-1.0287141168707594e-8,-9.854764583517574e-6,-2.0259766952748523e-5,-1.028626273479879e-8,-9.870619619233569e-6,-2.01644508838674e-5,-1.0285319481300823e-8,-9.8733786193769e-6,-2.0165339281957866e-5,-1.0284908068411034e-8,-9.821625784056985e-6,-2.0251252759600633e-5,-1.0285579389915266e-8,-9.683168074476673e-6,-2.0389683901633625e-5,-1.0287635145367275e-8,-9.444561568473699e-6,-2.053338593781372e-5,-1.0290997813059452e-8,-9.116224347150207e-6,-2.063177957102368e-5,-1.0295216467786993e-8,-8.731339354531077e-6,-2.0644132770129046e-5,-1.0299605534523448e-8,-8.338457137712565e-6,-2.055092931652111e-5,-1.030345694288755e-8,-7.98933323349338e-6,-2.0360097137701205e-5,-1.0306242488373733e-8,-7.72506620945875e-6,-2.0105711184980106e-5,-1.0307743277604975e-8,-7.564775484823967e-6,-1.983876173135379e-5,-1.0308080804889762e-8,-7.500921681843046e-6,-1.9612526930376168e-5,-1.0307656350511951e-8,-7.503139782780013e-6,-1.946768074753192e-5,-1.0307019062928134e-8,-7.528820005869814e-6,-1.9422601531502887e-5,-1.0306699910081859e-8,-7.535794278292598e-6,-1.947177763761887e-5,-1.0307063665786794e-8,-7.492269894596984e-6,-1.959128917115925e-5,-1.0308233957531626e-8,-7.381486721375345e-6,-1.974765598713154e-5,-1.0310113143840973e-8,-7.201498312177095e-6,-1.990624677978869e-5,-1.031247670749912e-8,-6.962107167616799e-6,-2.0037161470478344e-5,-1.031508699283958e-8,-6.680993863389137e-6,-2.011834907841151e-5,-1.0317770097194946e-8,-6.380273436048308e-6,-2.0136768138740442e-5,-1.032042648831648e-8,-6.0838277247680745e-6,-2.0088636779103125e-5,-1.0322983928965702e-8,-5.815108860030673e-6,-1.9979521669310532e-5,-1.0325335032912242e-8,-5.594817165694961e-6,-1.9824453315227466e-5,-1.0327309582072665e-8,-5.437930590768389e-6,-1.9647685779100526e-5,-1.0328712972235372e-8,-5.349939383493514e-6,-1.948122710398913e-5,-1.0329423078834094e-8,-5.3228826376455855e-6,-1.936095973346019e-5,-1.0329498903693821e-8,-5.332864110333339e-6,-1.9319532507723174e-5,-1.0329235310495402e-8,-5.341522628441661e-6,-1.9376734531154476e-5,-1.0329117209882681e-8,-5.303353476159965e-6,-1.953039383977173e-5,-1.0329676054612896e-8,-5.17823507516099e-6,-1.9752454282041895e-5,-1.0331308373795825e-8,-4.945019491343102e-6,-1.9993909540435985e-5,-1.0334140752283602e-8,-4.610138350751177e-6,-2.019829297048899e-5,-1.0337995748268947e-8,-4.206914461260477e-6,-2.0318725218684748e-5,-1.0342450652703292e-8,-3.7858145479968068e-6,-2.033162353691172e-5,-1.0346947057188743e-8,-3.3999204340748854e-6,-2.0242322080569558e-5,-1.0350921705190584e-8,-3.090978422107698e-6,-2.0081863583639396e-5,-1.035394277316305e-8,-2.879939472361453e-6,-1.9897267305424163e-5,-1.0355827001534681e-8,-2.7637461044958318e-6,-1.9738805558921248e-5,-1.035669501194934e-8,-2.7182918430026305e-6,-1.9647845328083208e-5,-1.0356930437472887e-8,-2.706078182001334e-6,-1.964815539595743e-5,-1.0357046501868146e-8,-2.6861280184476436e-6,-1.9742416449230415e-5,-1.035751449251452e-8,-2.623356484294166e-6,-1.9914165200530054e-5,-1.0358627867133187e-8,-2.495051690997066e-6,-2.0133848461016657e-5,-1.0360457505484327e-8,-2.2933525948354025e-6,-2.0366613404506264e-5,-1.0362901596694904e-8,-2.024101506874866e-6,-2.057945330065126e-5,-1.036578541391425e-8,-1.703438490176005e-6,-2.0746243231691587e-5,-1.0368950180661795e-8,-1.353670649395772e-6,-2.085034603832491e-5,-1.0372285844231933e-8,-9.995092065925437e-7,-2.0885306200609506e-5,-1.0375703780683756e-8,-6.650892091385618e-7,-2.085449651147433e-5,-1.0379079635308058e-8,-3.715968940342627e-7,-2.0770428531116953e-5,-1.0382217349452199e-8,-1.3503446063713592e-7,-2.065397945826239e-5,-1.0384871607393536e-8,3.635039213145238e-8,-2.053328258334241e-5,-1.0386834569506982e-8,1.451554926153161e-7,-2.0441523455916053e-5,-1.038805057918194e-8,2.0789280435282035e-7,-2.041250688557186e-5,-1.0388697272151172e-8,2.56355366977416e-7,-2.047315309918241e-5,-1.0389176849844525e-8,3.3464806040304173e-7,-2.0633626967615144e-5,-1.039000389350313e-8,4.896682666698106e-7,-2.0878520990299207e-5,-1.0391635630909641e-8,7.558554175414243e-7,-2.1164864508976094e-5,-1.0394332164603972e-8,1.1400137473200676e-6,-2.143168146622313e-5,-1.039811235383832e-8,1.6149011662753742e-6,-2.161972150492724e-5,-1.040278944838272e-8,2.1267889603254867e-6,-2.169252145724684e-5,-1.0408016370122865e-8,2.613791080986166e-6,-2.1648099623553002e-5,-1.0413314414030032e-8,3.0255611796536674e-6,-2.1516600834236966e-5,-1.0418136661790554e-8,3.335896657502066e-6,-2.1347475609993867e-5,-1.0422008383847894e-8,3.5455028334495375e-6,-2.1193595706788387e-5,-1.0424695027343131e-8,3.6771057866818085e-6,-2.1098205117584193e-5,-1.0426297045670991e-8,3.766730983759074e-6,-2.1087212163472165e-5,-1.0427207186394536e-8,3.8543118584060025e-6,-2.116678673670468e-5,-1.0427955059979016e-8,3.97556153049034e-6,-2.1325112935168602e-5,-1.0429021553114722e-8,4.156112148298531e-6,-2.1536968915716497e-5,-1.043071137120023e-8,4.4083884967787636e-6,-2.1769858276116903e-5,-1.0433124870667529e-8,4.731238299426264e-6,-2.199039967092715e-5,-1.0436213182297564e-8,5.111871251593329e-6,-2.216982148981789e-5,-1.0439862617282118e-8,5.5293180610449155e-6,-2.228781360239789e-5,-1.0443951826756803e-8,5.958483105439134e-6,-2.2334471279948907e-5,-1.0448355486385057e-8,6.3739591557127685e-6,-2.2310548005592115e-5,-1.0452908274701619e-8,6.753167656295747e-6,-2.2226596306971968e-5,-1.0457371227043073e-8,7.0788641774440105e-6,-2.2101555638768476e-5,-1.0461442256004719e-8,7.341270437022586e-6,-2.19610250197676e-5,-1.0464828194753588e-8,7.540107011405848e-6,-2.18351220744106e-5,-1.0467357564690674e-8,7.686656069240698e-6,-2.1755428418429816e-5,-1.0469080980364281e-8,7.805377469636384e-6,-2.175014455624397e-5,-1.047029980195859e-8,7.933563002743403e-6,-2.1836872868918745e-5,-1.0471493607166954e-8,8.116719413656968e-6,-2.2013889674084526e-5,-1.0473170238320335e-8,8.397782946960609e-6,-2.2253242470900754e-5,-1.0475713376965965e-8,8.801167458084262e-6,-2.2501424654771112e-5,-1.0479313312473675e-8,9.31809147430383e-6,-2.2692544610459407e-5,-1.0483994091602052e-8,9.903277804372193e-6,-2.2771894060168208e-5,-1.0489651043077342e-8,1.0488693236733184e-5,-2.2718401944810526e-5,-1.0496011071352977e-8,1.1008517592282977e-5,-2.2552507598399298e-5,-1.0502567400688094e-8,1.14214527653244e-5,-2.2325484053898436e-5,-1.0508639692043991e-8,1.1719729539192924e-5,-2.2098427892878435e-5,-1.051360321451119e-8,1.192434757606461e-5,-2.192293983959106e-5,-1.0517149141774825e-8,1.2073148493867486e-5,-2.1830348879371115e-5,-1.0519399549919799e-8,1.2208507379845121e-5,-2.1829582167914723e-5,-1.0520823108331641e-8,1.2368142087573956e-5,-2.1910517424363665e-5,-1.0522026852220468e-8,1.2579647860001937e-5,-2.204963465047748e-5,-1.0523548294514526e-8,1.2858046046948135e-5,-2.2216044306126058e-5,-1.052573427092128e-8,1.3205504635807662e-5,-2.2377097194277054e-5,-1.0528728383253077e-8,1.3612660353343853e-5,-2.2503232700248113e-5,-1.0532528837699294e-8,1.4061128311368573e-5,-2.257179941745656e-5,-1.053705767622001e-8,1.4526835423976653e-5,-2.2569659248670465e-5,-1.0542194374134102e-8,1.4983796312142356e-5,-2.2494425657141477e-5,-1.0547763574333112e-8,1.5407831934948618e-5,-2.2354282969079747e-5,-1.0553504640982075e-8,1.5779770461427512e-5,-2.2166624359187616e-5,-1.0559067684047334e-8,1.608797482690634e-5,-2.195590135189993e-5,-1.0564065337397685e-8,1.6330245854374478e-5,-2.1750905552668204e-5,-1.0568177866410433e-8,1.6515130621988764e-5,-2.1581513602797013e-5,-1.0571271898841906e-8,1.6662595891771928e-5,-2.1474755707688038e-5,-1.0573475716392125e-8,1.680367989659793e-5,-2.144982680559584e-5,-1.0575164031555221e-8,1.6977991855744892e-5,-2.15119081550659e-5,-1.0576851619497795e-8,1.7227451460833117e-5,-2.164590037929872e-5,-1.0579043607594197e-8,1.758528349482335e-5,-2.1813063305720084e-5,-1.0582122319913347e-8,1.8061786594786307e-5,-2.1955189701945334e-5,-1.058632473338257e-8,1.8632948981106676e-5,-2.200995658499017e-5,-1.0591773118012249e-8,1.9241195983456193e-5,-2.193466323120593e-5,-1.0598445172373046e-8,1.981317133003406e-5,-2.1726452282952587e-5,-1.0606040069575834e-8,2.0287448616256157e-5,-2.1425281858291863e-5,-1.061388459734303e-8,2.0636332778655594e-5,-2.109672690297479e-5,-1.0621077002227759e-8,2.087033260256244e-5,-2.0805852875933422e-5,-1.0626847060734854e-8,2.1026869693195923e-5,-2.0597119217422514e-5,-1.0630882019558624e-8,2.115329294074093e-5,-2.0487273010198692e-5,-1.0633405474768798e-8,2.129300028400665e-5,-2.0468775249628576e-5,-1.0635008899056331e-8,2.1477766769687902e-5,-2.0517857674518222e-5,-1.0636384654839218e-8,2.172530639983127e-5,-2.0602735888928814e-5,-1.0638109815842078e-8,2.203989369531137e-5,-2.0690072956350867e-5,-1.0640550610319622e-8,2.2414327228279076e-5,-2.0749586688981025e-5,-1.0643876480653403e-8,2.2832428864176618e-5,-2.075731437602081e-5,-1.0648123545462657e-8,2.327186373709147e-5,-2.06979052512023e-5,-1.065324691100052e-8,2.370725263408254e-5,-2.056607264478361e-5,-1.065912813728469e-8,2.4113571523498897e-5,-2.0367140342581537e-5,-1.0665546197757955e-8,2.4469666599175597e-5,-2.011644324456059e-5,-1.067215081453571e-8,2.4761457155718238e-5,-1.9837455761494462e-5,-1.0678483547801098e-8,2.4984396740016067e-5,-1.9558825643028435e-5,-1.0684064625935296e-8,2.5144939672969598e-5,-1.9310587473940774e-5,-1.0688525639022025e-8,2.5260818881569855e-5,-1.9119802585786575e-5,-1.06917361236997e-8,2.535994562171527e-5,-1.9005914717674657e-5,-1.069386581323808e-8,2.5477696466233576e-5,-1.897609088271257e-5,-1.0695349149176802e-8,2.5652094341733997e-5,-1.902096367210599e-5,-1.0696767956414568e-8,2.5916298087693046e-5,-1.9111975005796678e-5,-1.0698709732170148e-8,2.628859728374691e-5,-1.9202643001807574e-5,-1.0701666562329869e-8,2.6762094197675117e-5,-1.9236556751696734e-5,-1.0705996336353121e-8,2.729911355674748e-5,-1.9163344524585584e-5,-1.0711891767678148e-8,2.783684602254258e-5,-1.895885387153898e-5,-1.0719277613221644e-8,2.8306670586864564e-5,-1.8639334239086277e-5,-1.072766183557865e-8,2.8659855505782475e-5,-1.8258763113995928e-5,-1.073612159190717e-8,2.8885279659063856e-5,-1.7888184927921706e-5,-1.0743575505291491e-8,2.9009231738796605e-5,-1.7588764782654586e-5,-1.0749225136080199e-8,2.908000233439939e-5,-1.7393518711195572e-5,-1.0752864147570606e-8,2.914855079008243e-5,-1.7304111401313012e-5,-1.0754868997586099e-8,2.9254770735155143e-5,-1.7298721919266967e-5,-1.0755947029287413e-8,2.9421960148790195e-5,-1.73433769434448e-5,-1.0756840443938963e-8,2.9657262395368594e-5,-1.7401543433202763e-5,-1.075813349050785e-8,2.9954830790562838e-5,-1.7440335048629465e-5,-1.0760197584755174e-8,3.0299471035757358e-5,-1.7433879737981824e-5,-1.0763229561035464e-8,3.066988743140981e-5,-1.7365039408173015e-5,-1.0767308977273792e-8,3.104156445903691e-5,-1.7226340848682806e-5,-1.0772421289059723e-8,3.138958150404849e-5,-1.7020431608455362e-5,-1.0778433463519163e-8,3.169160978062888e-5,-1.67599800034654e-5,-1.0785050830896731e-8,3.193113385062856e-5,-1.6466649719056538e-5,-1.0791801522036606e-8,3.2100549457274216e-5,-1.6168735086317945e-5,-1.0798090040294278e-8,3.2203473041458363e-5,-1.5897357896149383e-5,-1.080332573716205e-8,3.225558795119785e-5,-1.568153341658853e-5,-1.0807089151843031e-8,3.2283527758016355e-5,-1.5542734995758057e-5,-1.0809272801144117e-8,3.232156973954858e-5,-1.548986537631878e-5,-1.0810136690642487e-8,3.24062788787755e-5,-1.551564386066977e-5,-1.0810253821627844E-08,3.256954672694955e-5,-1.5595319915829232e-5,-1.0810370807169095e-8,3.2830743045217534e-5,-1.5688646392023816e-5,-1.0811243374832355e-8,3.318930936264058e-5,-1.5746136030541182e-5,-1.0813499406816032e-8,3.362016828548337e-5,-1.572010074949781e-5,-1.0817540474292183e-8,3.4075238666891787e-5,-1.5579179787124913e-5,-1.0823450353064908e-8,3.449382518613816e-5,-1.532196370613026e-5,-1.0830892582439516e-8,3.482107455406541e-5,-1.498254328611866e-5,-1.0839063244369992e-8,3.502767239053273e-5,-1.4622079522363778e-5,-1.0846829814097262e-8,3.5120439857015004e-5,-1.4307820231652071e-5,-1.085309302508078e-8,3.51375862864246e-5,-1.4089687106817873e-5,-1.085719959088525e-8,3.513199200269295e-5,-1.3986345854532377e-5,-1.085914650566585e-8,3.51525500412995e-5,-1.3985560988209588e-5,-1.085947705163363e-8,3.523209339490654e-5,-1.4054646803086456e-5,-1.0858988747294016e-8,3.5384088933798624e-5,-1.4153334684894148e-5,-1.0858452300955869e-8,3.560538153213612e-5,-1.4243709791482467e-5,-1.0858457682387729e-8,3.5881218350812025e-5,-1.4295764431560704e-5,-1.0859389106431877e-8,3.619005612992247e-5,-1.4289538747822578e-5,-1.0861464399875234e-8,3.650727263331189e-5,-1.4215445163763979e-5,-1.0864770150441248e-8,3.680795793798622e-5,-1.4073968871802461e-5,-1.0869255064842456e-8,3.7069338849790505e-5,-1.3875233842953704e-5,-1.0874690311021376e-8,3.7273324238066565e-5,-1.3638322204225281e-5,-1.0880636211450608e-8,3.740935211446729e-5,-1.338984019635138e-5,-1.0886460859978193e-8,3.747723555199965e-5,-1.3161108246832657e-5,-1.0891439508632244e-8,3.748918890039127e-5,-1.2983612439641286e-5,-1.0894923864558378e-8,3.746992648426565e-5,-1.2882969889767162e-5,-1.0896531846094513e-8,3.745388166964016e-5,-1.2872486930655807e-5,-1.089628939077259e-8,3.7479301400060466e-5,-1.2948111531254483e-5,-1.089466332568615e-8,3.758006931596514e-5,-1.3086710784613064e-5,-1.0892467653005773e-8,3.7777099336497654e-5,-1.3248905734680901e-5,-1.0890674230236611e-8,3.807156828641263e-5,-1.3386503835473725e-5,-1.0890190192257392e-8,3.844207700891592e-5,-1.3453370708504295e-5,-1.0891659080748418e-8,3.8847217212184006e-5,-1.341755372714709e-5,-1.0895313751720727e-8,3.9234030267991595e-5,-1.3271607631699584e-5,-1.090089279363746e-8,3.955132226947631e-5,-1.3037539781839813e-5,-1.0907643242370493e-8,3.976462669241938e-5,-1.2763223288738137e-5,-1.0914452499003047e-8,3.9867493531828635e-5,-1.250952451713426e-5,-1.0920130006578416e-8,3.988372523989806e-5,-1.2331758085782543e-5,-1.0923768775661982e-8,3.9858740281902724e-5,-1.226291312067013e-5,-1.0925025267279314e-8,3.98438771345933e-5,-1.2305852412647015e-5,-1.0924174807119913e-8,3.988096864166715e-5,-1.2436775734862486e-5,-1.092193559817097e-8,3.9993234799773925e-5,-1.2616327199137168e-5,-1.0919186656117713e-8,4.0184029323987886e-5,-1.2802124998079611e-5,-1.0916728214422174e-8,4.0441034122307655e-5,-1.295806215039957e-5,-1.0915158387722742e-8,4.07423430323965e-5,-1.3059008181614689e-5,-1.0914851840032176e-8,4.106194258997215e-5,-1.309190696252388e-5,-1.0915982377055156e-8,4.137369026554492e-5,-1.305496471159586e-5,-1.0918538217819229e-8,4.165397699143815e-5,-1.295627528662622e-5,-1.0922312589289403e-8,4.188372567499801e-5,-1.281253335343146e-5,-1.0926886273075621e-8,4.205038798547874e-5,-1.2647779157268254e-5,-1.0931637253225023e-8,4.2150263329725885e-5,-1.2491600175957169e-5,-1.0935808929506866e-8,4.219089514943613e-5,-1.2376014975777942e-5,-1.0938645719799141e-8,4.219264556971658e-5,-1.2330443038611213e-5,-1.0939574041035733e-8,4.2187994684927e-5,-1.2374868917154073e-5,-1.0938381011529256e-8,4.221708942536862e-5,-1.251262722220375e-5,-1.0935330563847715e-8,4.2319148750577894e-5,-1.272563608677644e-5,-1.0931164753811414e-8,4.252146931834362e-5,-1.2975210570017808e-5,-1.0926967333923104e-8,4.282981205890698e-5,-1.3209939979367455e-5,-1.0923913734952636e-8,4.3224317253663856e-5,-1.3379021269503886e-5,-1.092296888156952e-8,4.3663191015489984e-5,-1.3446687017306154e-5,-1.0924616375420668e-8,4.40932553261884e-5,-1.3402692615521834e-5,-1.0928699864093918e-8,4.446391154055205e-5,-1.3265486287865059e-5,-1.0934436131087437e-8,4.4740262897078254e-5,-1.3077370375528966e-5,-1.0940609312170373e-8,4.491180449520049e-5,-1.2893262674070154e-5,-1.0945898968800855e-8,4.49944176700801e-5,-1.2766207079580588e-5,-1.0949239480507803e-8,4.502512200115446e-5,-1.273370298418019e-5,-1.0950092267772875e-8,4.505116850684658e-5,-1.2808910095088956e-5,-1.0948539845884595e-8,4.511705275984765e-5,-1.2979305349759284e-5,-1.0945188231944347e-8,4.5253768849291526e-5,-1.3212635289537497e-5,-1.0940942427650663e-8,4.547343858202198e-5,-1.3467274984818715e-5,-1.093675586758881e-8,4.576991139681106e-5,-1.370288962080165e-5,-1.0933437996680767e-8,4.6123562686564354e-5,-1.3888173614010929e-5,-1.0931552459312198e-8,4.6507586318521756e-5,-1.4004532581867268e-5,-1.0931388495325245e-8,4.689364295154041e-5,-1.404638935558007e-5,-1.0932970781736282e-8,4.725592017948633e-5,-1.401955872819049e-5,-1.0936077710211673e-8,4.7573669880768315e-5,-1.3939013934426217e-5,-1.0940262282537435e-8,4.783282623871706e-5,-1.3826794886489019e-5,-1.0944887017204275e-8,4.8027394648472436e-5,-1.3710116999369636e-5,-1.0949190756732851e-8,4.816102679731794e-5,-1.361918978051325e-5,-1.095239527820225e-8,4.824866180786038e-5,-1.3583965343721564e-5,-1.0953844774146032e-8,4.8317389669767263E-05,-1.3629077500997938e-5,-1.0953156144793383e-8,4.8404937665998705e-5,-1.3766894228811147e-5,-1.0950352515756894e-8,4.85539270343216e-5,-1.3990186698127629e-5,-1.094594628661613e-8,4.880120852726276e-5,-1.4267952993854126e-5,-1.0940929580088114e-8,4.9164604434804093e-5,-1.4548760923785778e-5,-1.0936627198037842e-8,4.963284107903462e-5,-1.4773613411439147e-5,-1.0934389782899522e-8,5.016508945338154e-5,-1.4894876338232566e-5,-1.0935178671721424e-8,5.070227547728938e-5,-1.4892932210451892e-5,-1.0939190020118924e-8,5.118560276541905e-5,-1.4782534477633037e-5,-1.0945713139716886e-8,5.157392379064546e-5,-1.4606625431828425e-5,-1.095332893238933e-8,5.185338963389235e-5,-1.4421810233716862e-5,-1.0960371481365232e-8,5.203770610741841e-5,-1.4282157086463557e-5,-1.0965440644733544e-8,5.216122418436789e-5,-1.422646572966351e-5,-1.0967760623641757e-8,5.226841451573015e-5,-1.4271353392898255e-5,-1.0967288706004566e-8,5.2402901302713924e-5,-1.4410350265664105e-5,-1.0964601820102489e-8,5.2598368352539667e-5,-1.4617978010402564e-5,-1.0960658830434025e-8,5.2872840342696726e-5,-1.4857176091440661e-5,-1.0956540629101209e-8,5.322704970841118e-5,-1.5088075305254894e-5,-1.0953236332976238e-8,5.364663492512684e-5,-1.5275993367745722e-5,-1.0951500603035131e-8,5.410696514106418e-5,-1.539698624027727e-5,-1.095178087382418e-8,5.457893133346143e-5,-1.5440298921740233e-5,-1.0954194761142424e-8,5.50342383558213e-5,-1.540806131983914e-5,-1.0958542424790509e-8,5.544932692850507e-5,-1.5313173657149106e-5,-1.096434545062792e-8,5.580777697902618e-5,-1.5176465955951547e-5,-1.0970910845978872e-8,5.610161114139606e-5,-1.502389729946295e-5,-1.0977420875607443e-8,5.633207828382777e-5,-1.4883981469539802e-5,-1.0983045974823884e-8,5.651030827952544e-5,-1.4785143953867945e-5,-1.0987069782932988e-8,5.6657843445042456E-05,-1.475241870537396e-5,-1.098900869828785e-8,5.68064043339674e-5,-1.480281230944594e-5,-1.0988713689162896e-8,5.6995445257911e-5,-1.493919710310919e-5,-1.0986451645489575e-8,5.726569833881333e-5,-1.5144085304198487e-5,-1.0982961665724738e-8,5.7647873217573626e-5,-1.537676462498628e-5,-1.097945336000276e-8,5.8148783022304093e-5,-1.5578618482013747e-5,-1.0977468969124607e-8,5.8741629395056166e-5,-1.5689303712884644e-5,-1.0978518978595156e-8,5.936880170599819e-5,-1.5669452550320848e-5,-1.0983516728908241e-8,5.995982222233368e-5,-1.5518212400740367e-5,-1.0992265385709335e-8,6.045655109961612e-5,-1.5274524989521094e-5,-1.100336461316192e-8,6.083213388443301e-5,-1.500128721893175e-5,-1.1014687824535179e-8,6.109517706905173e-5,-1.476232162248893e-5,-1.1024177858417426e-8,6.128078642644321e-5,-1.4603933293794295e-5,-1.1030515003487311e-8,6.14360565632286e-5,-1.4546623392676997e-5,-1.1033379525122147e-8,6.160676979381152e-5,-1.4585862441534919e-5,-1.1033325129027129e-8,6.182836446050053e-5,-1.4698115916188576e-5,-1.103144492460905e-8,6.212137962144658e-5,-1.4848716247797194e-5,-1.1029016395917635e-8,6.249043218855688e-5,-1.499957486442772e-5,-1.1027231651313366e-8,6.292575713367833e-5,-1.5115848315998846e-5,-1.1027035010884309e-8,6.340659244996193e-5,-1.5171078050374148e-5,-1.1029042575856415e-8,6.39057084276371e-5,-1.5150397168465046e-5,-1.1033511588368882e-8,6.439430170432664e-5,-1.5051632264841132e-5,-1.1040338007405747e-8,6.484651366485014e-5,-1.4884453987230887e-5,-1.1049078955669309e-8,6.524295871579131e-5,-1.4668006957840344e-5,-1.1059009733669053e-8,6.557293822920603e-5,-1.4427696477046931e-5,-1.106922243082436e-8,6.583546021894932e-5,-1.4191801641639522e-5,-1.1078757988711264e-8,6.603942429151922e-5,-1.3988227254888844e-5,-1.1086754263160646e-8,6.620324712438544e-5,-1.3841351539194972e-5,-1.1092584244638724e-8,6.635399675116738e-5,-1.376871069724712e-5,-1.1095960923446284e-8,6.652567539394843e-5,-1.377713360613599e-5,-1.1097002545640146e-8,6.675562941069513e-5,-1.3858317394900903e-5,-1.109626926494747e-8,6.707780774668518e-5,-1.3985038180359028e-5,-1.1094780789983727e-8,6.751241829499467e-5,-1.4110813964274978e-5,-1.1093985695546706e-8,6.805398404589733e-5,-1.4176969697956724e-5,-1.1095592658974113e-8,6.866384590550756e-5,-1.4129570457204582e-5,-1.1101140430408416e-8,6.927548828970987e-5,-1.3942193950697216e-5,-1.1111323602410547e-8,6.981586375490909e-5,-1.3632135932979031e-5,-1.1125409233657399e-8,7.023376113526364e-5,-1.3257268294156674e-5,-1.1141255562749935e-8,7.051856313032443e-5,-1.2893039413830864e-5,-1.1156102060587921e-8,7.06990864524921e-5,-1.2603544775620664e-5,-1.1167680283957444e-8,7.082667807448929e-5,-1.2422764469719474e-5,-1.1174960488599823e-8,7.095499623308146e-5,-1.2351727669469376e-5,-1.1178226969257668e-8,7.112590319904138e-5,-1.2366745927631601e-5,-1.1178667858819269e-8,7.136360199813396e-5,-1.2431038164156497e-5,-1.117783577309838e-8,7.167471562637514e-5,-1.2504825814492575e-5,-1.1177222677717251e-8,7.20513073116622e-5,-1.2552337068439892e-5,-1.1178022183958767e-8,7.247483939519828e-5,-1.2546082636510993e-5,-1.1181041603564716e-8,7.292025057925622e-5,-1.2469246626440453e-5,-1.1186692155499417e-8,7.335996924164086e-5,-1.2316707228409032e-5,-1.1195001134773114e-8,7.376777185043507e-5,-1.2094851223874839e-5,-1.1205627668886617e-8,7.41223204444516e-5,-1.1820215935622424e-5,-1.1217891224875756e-8,7.441008632046292e-5,-1.1516986111407657e-5,-1.1230839822596301e-8,7.462727595584035e-5,-1.121357421653002e-5,-1.1243374292470443e-8,7.478054238337684e-5,-1.0938760084437633e-5,-1.1254418929902535e-8,7.48865297826223e-5,-1.0717820966566956e-5,-1.1263107130437595e-8,7.497036903850236e-5,-1.0568904309436396e-5,-1.1268942299422062e-8,7.506321783824891e-5,-1.0499811842188604e-5,-1.1271900341615984e-8,7.519881869817697e-5,-1.0505257389349248e-5,-1.1272463646632064e-8,7.540869080999105e-5,-1.056479190521469e-5,-1.1271600290428743e-8,7.571546174872404e-5,-1.0642370424357846e-5,-1.1270700670162078e-8,7.61246291272292e-5,-1.0689513165947758e-5,-1.1271446895380041e-8,7.661678435223831e-5,-1.0654320433158899e-5,-1.1275546237460665e-8,7.71448147730922e-5,-1.0497201563490087e-5,-1.1284249952033519e-8,7.764205458950148e-5,-1.0209521680141907e-5,-1.1297711821998253e-8,7.804347387462571e-5,-9.824875614952504e-6,-1.1314530735816466e-8,7.831185681715099e-5,-9.411967862924406e-6,-1.133196933848187e-8,7.84533388443129e-5,-9.048847109690942e-6,-1.134696307423481e-8,7.851205357156255e-5,-8.792740654590127e-6,-1.1357361358067248e-8,7.854866512846068e-5,-8.662856311024963e-6,-1.1362623719687482e-8,7.861729582289454e-5,-8.642245361453145e-6,-1.1363680031735883e-8,7.875197622822127e-5,-8.691794929389404e-6,-1.1362277223349593e-8,7.896418283479847e-5,-8.765841602924702e-6,-1.1360297098831838e-8,7.924709191886245e-5,-8.823284793479496e-6,-1.1359315593534433e-8,7.95818503140842e-5,-8.833269852576455e-6,-1.1360426738010168e-8,7.994322616848324e-5,-8.777041367256928e-6,-1.1364233495034238e-8,8.030394161526125e-5,-8.647855079034407e-6,-1.1370898907447606e-8,8.063800618353983e-5,-8.450099063104403e-6,-1.13801913797548e-8,8.092351739561471e-5,-8.197986994855086e-6,-1.139151507594174e-8,8.114517708580553e-5,-7.913748681025796e-6,-1.1403947928868321e-8,8.129649091610874e-5,-7.625053643838189e-6,-1.1416325803923466e-8,8.13812925714093e-5,-7.361498470228608e-6,-1.1427396960663914e-8,8.141408671042445e-5,-7.150374877007221e-6,-1.143603391639288e-8,8.141887617018724e-5,-7.012246466696308e-6,-1.1441458496670813e-8,8.142639354204631e-5,-6.9569547070524565e-6,-1.1443423882852663e-8,8.146989071188947e-5,-6.980733178277085e-6,-1.1442305223764873e-8,8.157988588747373e-5,-7.0650386142183395e-6,-1.1439079612900346e-8,8.177834068751832e-5,-7.177494714956207e-6,-1.1435206339439226e-8,8.207274310460953e-5,-7.275416748518267e-6,-1.1432431508335396e-8,8.24510452990543e-5,-7.312655501458012e-6,-1.1432513684254343e-8,8.287939415777408e-5,-7.250137973215447e-6,-1.14368513607406e-8,8.330545375814392e-5,-7.068926237825051e-6,-1.1446018896562171e-8,8.366980628525399e-5,-6.781801504635946e-6,-1.1459328098698728e-8,8.392475651610919e-5,-6.436424280153653e-6,-1.147469615909485e-8,8.405365240588183e-5,-6.103856380286995e-6,-1.1489120917511639e-8,8.407948845031888e-5,-5.853970011362507e-6,-1.1499731792143241e-8,8.405583920133282e-5,-5.729599983451548e-6,-1.1504887252346792e-8,8.404479026302159e-5,-5.733734864168806e-6,-1.1504668019600196e-8,8.409487550610288e-5,-5.8348805222652595e-6,-1.1500567610929476e-8,8.422953279231353e-5,-5.983832090974439e-6,-1.1494726575699467e-8,8.44475135877195e-5,-6.130958240035688e-6,-1.1489203384318796e-8,8.473016954110671e-5,-6.237308506807428e-6,-1.1485549198160168e-8,8.504997460131159e-5,-6.278822698858891e-6,-1.1484684339034437e-8,8.537722202659041e-5,-6.24604350020151e-6,-1.1486947837148801e-8,8.56843216611937e-5,-6.141962433049987e-6,-1.149219497561945e-8,8.594839135529726e-5,-5.979584647913548e-6,-1.1499878642207251e-8,8.615303700245352e-5,-5.7797022876110846e-6,-1.1509108282661373e-8,8.628989016331793e-5,-5.568700527437504e-6,-1.1518717192858226e-8,8.636003840534361e-5,-5.3759285752394796e-6,-1.1527377565087991e-8,8.637502793286532e-5,-5.230188533993722e-6,-1.1533784620290696e-8,8.635675385529202e-5,-5.155286769746592e-6,-1.1536897415011626e-8,8.63355224875678e-5,-5.165182714998419e-6,-1.1536184302568082e-8,8.634591892159362e-5,-5.259775561616308e-6,-1.1531803962477889e-8,8.642073115040163e-5,-5.4226586174864975e-6,-1.152465872996433e-8,8.65839351077441e-5,-5.622046886179956e-6,-1.1516287597576716e-8,8.684430755827092e-5,-5.8153923203604484e-6,-1.1508609070013934e-8,8.719130249188195e-5,-5.95728092691672e-6,-1.1503558232602766e-8,8.759455242721197e-5,-6.009491974966764e-6,-1.150267039330855e-8,8.800800850055604e-5,-5.95147211987009e-6,-1.1506668360848453e-8,8.837913286366379e-5,-5.7886627769627485e-6,-1.1515138637633855e-8,8.866225574551908e-5,-5.555373933240397e-6,-1.1526431984484355e-8,8.883301404506053e-5,-5.309063543337344e-6,-1.1537937388838975e-8,8.889840023466499e-5,-5.115164449411993e-6,-1.1546777723907165e-8,8.889656623832367e-5,-5.026383401286591e-6,-1.1550737585091733e-8,8.888441107440784e-5,-5.065123260574208e-6,-1.154900893343037e-8,8.891787950494431e-5,-5.21765631045529e-6,-1.1542374452129857e-8,8.903443511633252e-5,-5.442337151279303e-6,-1.1532775965427147e-8,8.924516874443352e-5,-5.686194762207577e-6,-1.1522563607641413e-8,8.953744138069596e-5,-5.90108623252899e-6,-1.1513813593362013e-8,8.988360538093972e-5,-6.053558073616242e-6,-1.1507938669655695e-8,9.025045498071756e-5,-6.127657333921901e-6,-1.1505594789433005e-8,9.06062942791196e-5,-6.123105910016481e-6,-1.1506768232466762e-8,9.092503624012695e-5,-6.051676523403866e-6,-1.1510921388865986e-8,9.118813404710323e-5,-5.933591903961702e-6,-1.1517128603869335e-8,9.138545565664259e-5,-5.794575433039127e-6,-1.1524189430321015e-8,9.151591271894805e-5,-5.66334449111308e-6,-1.1530742462923101e-8,9.158811085003475e-5,-5.568946066028995e-6,-1.1535410442970295e-8,9.162072310193748e-5,-5.537335450390624e-6,-1.1536995250412474e-8,9.164182458652515e-5,-5.58694690455087e-6,-1.1534711584048976e-8,9.168620213239225e-5,-5.723696108466005e-6,-1.152841879943091e-8,9.178992959661302e-5,-5.936777568263604e-6,-1.1518779345972147e-8,9.198249027190544e-5,-6.197337314678204e-6,-1.1507263760530225e-8,9.227820821065515e-5,-6.461935833751877e-6,-1.1495944136778205e-8,9.266993147833276e-5,-6.6812950165578724e-6,-1.1487076652143873e-8,9.31278874804674e-5,-6.8125918600802576e-6,-1.1482550916430714e-8,9.360510332344588e-5,-6.831677883244499e-6,-1.1483350519634967e-8,9.404841563306238e-5,-6.741163582188049e-6,-1.1489195433374426e-8,9.441208477567966e-5,-6.57151688468949e-6,-1.1498505989231926e-8,9.467017588287623e-5,-6.374429642810231e-6,-1.1508741618074349e-8,9.482411049793587e-5,-6.20983930092064e-6,-1.1517053215341923e-8,9.490280063124226e-5,-6.12986333255191e-6,-1.1521069363394867e-8,9.49546446025167e-5,-6.164351503798526e-6,-1.1519561592846616e-8,9.503343971679581e-5,-6.312991752990002e-6,-1.1512751366586703e-8,9.518296893644879e-5,-6.546957614728857e-6,-1.1502154648514587e-8,9.54258618892581e-5,-6.819249442704191e-6,-1.1490053068776307e-8,9.576033063758811e-5,-7.079181183195936e-6,-1.147882172959562e-8,9.616458460450145e-5,-7.285251177458946e-6,-1.1470361003639736e-8,9.660557779129375e-5,-7.412533789784719e-6,-1.1465779950685564e-8,9.70480253349657e-5,-7.454061673847203e-6,-1.1465342600263835e-8,9.746107955264904e-5,-7.418094434670623e-6,-1.1468592015480105e-8,9.782204348641294e-5,-7.323724614127018e-6,-1.1474549309030842e-8,9.811778004559563e-5,-7.196576837891347e-6,-1.1481914889362466e-8,9.834488254743438e-5,-7.065336659585935e-6,-1.1489242896633806e-8,9.85094970832235e-5,-6.958985648334306e-6,-1.1495095179541215e-8,9.862717385640469e-5,-6.90413645241066e-6,-1.1498196338733799e-8,9.8722513616579e-5,-6.921815594705209e-6,-1.1497607920369037e-8,9.882784972662761e-5,-7.023345607949021e-6,-1.1492923262731212e-8,9.897986411696639e-5,-7.205665995436498e-6,-1.148446098537155e-8,9.921318771121227e-5,-7.447586546246423e-6,-1.1473395307025696e-8,9.955120060763667e-5,-7.709619295232465e-6,-1.146172404791077e-8,9.999642762624879e-5,-7.940035443749168e-6,-1.1451968869426325e-8,1.0052494732063333e-4,-8.087647613726074e-6,-1.1446579632065744e-8,1.0108913471724907e-4,-8.117933472199266e-6,-1.1447169892722494e-8,1.016297505105532e-4,-8.025879558080473e-6,-1.1453875399227287e-8,1.0209339869072522e-4,-7.839290063002508e-6,-1.1465163461608666e-8,1.0244827762320929e-4,-7.610760831100816e-6,-1.1478236898852096e-8,1.0269227243374284e-4,-7.4019405703705335e-6,-1.1489879553959839e-8,1.0285149371859283e-4,-7.266368505272329e-6,-1.1497391887392736e-8,1.0297118136782965e-4,-7.236336161787715e-6,-1.1499280042755185e-8,1.0310270675950262e-4,-7.316726316035047e-6,-1.1495523318503002e-8,1.0329056362595021e-4,-7.486349598341804e-6,-1.148742159707798e-8,1.0356255453322497e-4,-7.705430672579288e-6,-1.1477144225777614e-8,1.0392519544575366e-4,-7.926623660176716e-6,-1.1467147125266295e-8,1.0436481553339658e-4,-8.106347722194308e-6,-1.1459615835618466e-8,1.048532139215313e-4,-8.213492770649762e-6,-1.1456056721422704e-8,1.0535556460250918e-4,-8.23373787288498e-6,-1.1457100913129077e-8,1.0583805546501133e-4,-8.169439622731186e-6,-1.1462518463608636e-8,1.0627352735391126e-4,-8.036400609196678e-6,-1.1471385560392026e-8,1.066445607363988e-4,-7.859266130393587e-6,-1.1482325768957206e-8,1.0694441306334356e-4,-7.666977342055716e-6,-1.1493758257334187e-8,1.0717666268625118e-4,-7.489017281889044e-6,-1.1504111986789331e-8,1.0735435490295485e-4,-7.35244966639261e-6,-1.1511999323604564e-8,1.0749903983642938e-4,-7.2792806829164845e-6,-1.1516363131548234e-8,1.0763957831135115e-4,-7.283580274524651e-6,-1.151661702847303e-8,1.0781007680501017e-4,-7.368012685883945e-6,-1.1512793302970118e-8,1.0804590054700001e-4,-7.520061810504988e-6,-1.1505692043057436e-8,1.0837680611466255e-4,-7.709425069854278e-6,-1.1496977420176755e-8,1.0881740161785823e-4,-7.889347522041987e-6,-1.1489103221812277e-8,1.0935759791410143e-4,-8.004876957400208e-6,-1.1484917776821892e-8,1.099584343313986e-4,-8.008601428695032e-6,-1.1486882532745956e-8,1.1055881062444225e-4,-7.879155597116695e-6,-1.1496092004950944e-8,1.1109371258594231e-4,-7.633039843956237e-6,-1.1511581608136923E-08,1.1151663459051103e-4,-7.321605202687162e-6,-1.1530431309502565e-8,1.1181492903404441e-4,-7.013454241810893e-6,-1.1548741122352925e-8,1.1201106022014476e-4,-6.771340174468865e-6,-1.1562985724005811e-8,1.1215140197415839e-4,-6.634405209780007e-6,-1.1571068149846324e-8,1.1228984212495073e-4,-6.611278102413541e-6,-1.1572697123814852e-8,1.1247315925664164e-4,-6.6831267112462406e-6,-1.1569144942454731e-8,1.127316993096942e-4,-6.812598750203812e-6,-1.156266778319374e-8,1.1307579932787652e-4,-6.954602663343077e-6,-1.1555859496188551e-8,1.1349688400417341e-4,-7.066217820959545e-6,-1.1551101049908461e-8,1.139717903089487e-4,-7.114299397794903e-6,-1.1550167056351804e-8,1.1446891416054345e-4,-7.080077937874377e-6,-1.1554002562827165e-8,1.149548174283551e-4,-6.960537575809596e-6,-1.1562667346861427e-8,1.1540007923220339e-4,-6.766933444370123e-6,-1.1575426285469924e-8,1.1578354861211906e-4,-6.521295786051894e-6,-1.1590947546989276e-8,1.1609463410885247e-4,-6.2519478086589645e-6,-1.160756007562344e-8,1.1633376296363593e-4,-5.989012039941205e-6,-1.1623518348194946e-8,1.1651156393922294e-4,-5.760573051355079e-6,-1.1637234212047214e-8,1.1664740182339614e-4,-5.589622358594828e-6,-1.1647459659802337e-8,1.1676759334021895e-4,-5.4915067272458905e-6,-1.1653428976732367e-8,1.1690326783015823e-4,-5.471531648050538e-6,-1.1654974611229112e-8,1.1708746557034123e-4,-5.5225030012895636e-6,-1.1652632718742514e-8,1.1735068033667883e-4,-5.622479874781477e-6,-1.1647735276380047e-8,1.1771412944112854e-4,-5.734062550996382e-6,-1.1642435438662262e-8,1.1818113725851937e-4,-5.8076621481172495e-6,-1.163954187668793e-8,1.1872926880585935e-4,-5.791344442245663e-6,-1.1642004245374285e-8,1.1930855430309953e-4,-5.647553044674574e-6,-1.1651984086518556e-8,1.1985155215788543e-4,-5.371443175151925e-6,-1.1669760410394222e-8,1.2029547121095116e-4,-4.99995084485974e-6,-1.1693115291372944e-8,1.2060678781026997e-4,-4.6024408688642385e-6,-1.1717833613867049e-8,1.2079400904598451e-4,-4.255199093046226e-6,-1.173926368756903e-8,1.2090126966665237e-4,-4.0137842781003e-6,-1.1754062382778059e-8,1.2098843584166365e-4,-3.897678566972292e-6,-1.176115704922468e-8,1.2111008984554611e-4,-3.891400665164609e-6,-1.1761637208694449e-8,1.213022496940009e-4,-3.95630760713687e-6,-1.1757971241563372e-8,1.2157839399120963e-4,-4.044896229076136e-6,-1.1753097167220337e-8,1.2193195516922581e-4,-4.112420305157807e-6,-1.1749718015863004e-8,1.2234182152848596e-4,-4.124267718560327e-6,-1.174987984666976e-8,1.227785275255919e-4,-4.059624660286843e-6,-1.1754780294877045e-8,1.2321007408265877e-4,-3.9124489345179326e-6,-1.1764728817057517e-8,1.2360698042256985e-4,-3.6904598768444323e-6,-1.1779212189448352e-8,1.2394631226203136e-4,-3.4126109266878824e-6,-1.1797041115608418e-8,1.242144823774108e-4,-3.1055077065965403e-6,-1.1816559520484416e-8,1.2440867826661164e-4,-2.799226073876711e-6,-1.1835897138338729e-8,1.2453685337986063e-4,-2.523031477587932e-6,-1.1853238148010125e-8,1.2461646512564885e-4,-2.301547896694e-6,-1.186706784611472e-8,1.2467235994619418e-4,-2.1516861724259745e-6,-1.1876371614580685e-8,1.2473410454800834e-4,-2.0803083645591164e-6,-1.1880779589050701e-8,1.2483283115915695e-4,-2.0825349597226646e-6,-1.1880660082478308e-8,1.2499748069359724e-4,-2.14069314709482e-6,-1.1877165836353078e-8,1.2525010295091812e-4,-2.2241823656063393e-6,-1.1872226457607199e-8,1.2559995192754653e-4,-2.2912602137460035e-6,-1.1868437590207958e-8,1.2603705811992328e-4,-2.2945068883105327e-6,-1.1868742828901586e-8,1.2652772420829495e-4,-2.191539426597471e-6,-1.1875794007561012e-8,1.2701630641300356e-4,-1.9604423994929207e-6,-1.1890987874401511e-8,1.2743771444703272e-4,-1.6147035257241735e-6,-1.1913481241468902e-8,1.2774003479321577e-4,-1.2075860053489198e-6,-1.1939854087612531e-8,1.2790733523272295e-4,-8.17705683285339e-7,-1.1965019553764724e-8,1.279679628288094e-4,-5.194673008425952e-7,-1.1984174542305361e-8,1.279816584662349e-4,-3.5470155045429583e-7,-1.1994671485721905e-8,1.280138942373341e-4,-3.2155917529888203e-7,-1.1996712018024326e-8,1.2811314916667707e-4,-3.832848611376374e-7,-1.1992721904466058e-8,1.2830082617175774e-4,-4.869902782138533e-7,-1.198611016092719e-8,1.2857305116365837e-4,-5.810461096132203e-7,-1.1980164163535222E-08,1.289084172136336e-4,-6.257202090277428e-7,-1.197740043466469e-8,1.2927653296285668e-4,-5.972525154990381e-7,-1.1979329944634138e-8,1.2964491995966202e-4,-4.877474608997493e-7,-1.1986472365228349e-8,1.2998387075651414e-4,-3.031311612369654e-7,-1.1998477370081351e-8,1.3026979244258862e-4,-6.038288953220458e-8,-1.2014282732417834e-8,1.3048752957989842e-4,2.1562191863560383e-7,-1.2032296857404085e-8,1.3063183983413705e-4,4.956069602951913e-7,-1.2050612633462722e-8,1.3070798712429174e-4,7.49696777087375e-7,-1.2067254493324593e-8,1.3073127127371782e-4,9.513984761652111e-7,-1.2080450782354818e-8,1.3072533232997706e-4,1.0813761032640532e-6,-1.2088898078971734e-8,1.3071932425519906e-4,1.1305045965556356e-6,-1.2091976791290884e-8,1.3074424349902703e-4,1.1018477731859764e-6,-1.2089887050399828e-8,1.3082870101893535e-4,1.0113362985932872e-6,-1.2083690937629776e-8,1.3099441618179766e-4,8.869501908669666e-7,-1.2075251931326807e-8,1.3125168068481923e-4,7.662116754938402e-7,-1.2067066918911372e-8,1.3159510738595574e-4,6.915586905267705e-7,-1.2061965515433264e-8,1.3200056820097142e-4,7.028841658829567e-7,-1.2062624571151364e-8,1.3242528918228636e-4,8.270198550287169e-7,-1.2070869118686841e-8,1.3281385380364976e-4,1.0657937989025924e-6,-1.2086852795495238e-8,1.3311208615874337e-4,1.3873940278361398e-6,-1.2108442324416934e-8,1.3328674475046086e-4,1.728378788589479e-6,-1.2131335420364398e-8,1.333423026531807e-4,2.011359960326922e-6,-1.2150284217646462e-8,1.333230859574093e-4,2.173641367897251e-6,-1.2161076558038903e-8,1.3329628509418603e-4,2.1916886718834704e-6,-1.2162183678561086e-8,1.3332488742110422e-4,2.0869799011873835e-6,-1.2155091872515184e-8,1.3344631607287334e-4,1.9118834458728775e-6,-1.214330168860428e-8,1.3366614959370036e-4,1.7270017762180142e-6,-1.213081977253317e-8,1.339647660819936e-4,1.5827822630531564e-6,-1.2120978054806648e-8,1.3430900171919165e-4,1.5107505188582636e-6,-1.2115885232530696e-8,1.346625507586368e-4,1.5227555156633589e-6,-1.2116379839448163e-8,1.3499278908367805e-4,1.6143357752029857e-6,-1.2122232655650623e-8,1.352743630890875e-4,1.7691319425712106e-6,-1.2132411706736463e-8,1.3549082147805045e-4,1.9628976716705375e-6,-1.214532559179744e-8,1.3563536205606977e-4,2.1669414090184472e-6,-1.2159041601093816e-8,1.3571114539193986e-4,2.3513531864422336e-6,-1.2171504657912729e-8,1.3573115122892719e-4,2.488365757099318e-6,-1.218077928907646e-8,1.3571726302195615e-4,2.555989521491244e-6,-1.2185316078541546e-8,1.3569814446294577e-4,2.5416602671032738e-6,-1.2184217684665625e-8,1.3570568585111713e-4,2.4452206623935392e-6,-1.2177449976565543e-8,1.3577024230789847e-4,2.280427964073108e-6,-1.216594442676682e-8,1.3591527737192273e-4,2.0743135607314645e-6,-1.2151550454018783e-8,1.361522991152803e-4,1.8640121265254014e-6,-1.213681987513195e-8,1.3647708727637718e-4,1.6911483786144465e-6,-1.2124630980449703e-8,1.3686810998498884e-4,1.5943000966245994e-6,-1.211767957644585e-8,1.3728794824521178e-4,1.6002951590033876e-6,-1.2117875538135754e-8,1.376885995265603e-4,1.715563961241601e-6,-1.2125719871977474e-8,1.380212492054774e-4,1.9198116421548985e-6,-1.2139827416802713e-8,1.3824979653251647e-4,2.16545754172393e-6,-1.2156862702966804e-8,1.3836476748777283e-4,2.3863798766054845e-6,-1.2172165361997345e-8,1.3839118089512586e-4,2.516681597723158e-6,-1.2181109204786456e-8,1.383836958661086e-4,2.5139173425388923e-6,-1.2180756018019766e-8,1.3840809682379775e-4,2.3754960365028225e-6,-1.2170971847677191e-8,1.3851731397930713e-4,2.1385549249810985e-6,-1.2154358737266609e-8,1.387345180742526e-4,1.8635150257748393e-6,-1.2135089041809021e-8,0.00013905061657867654,1.6115027181214983e-6,-1.21173713319074e-8,1.3943376606727773e-4,1.4271981388203693e-6,-1.2104305360794658e-8,1.3984300364040437e-4,1.3321511005655048e-6,-1.2097427842395805e-8,1.4023941764179271e-4,1.3266107575433846e-6,-1.2096814698533307e-8,1.4059252722173118e-4,1.3952876797859035e-6,-1.2101447432625885e-8,1.4088264636512158e-4,1.5134604515907064e-6,-1.2109616882522158e-8,1.4110100645417162e-4,1.651840139911393e-6,-1.211925900245617e-8,1.4124909369002032e-4,1.780117071596497e-6,-1.212821380203447e-8,1.41337902381737e-4,1.8698047521882043e-6,-1.2134441476175163e-8,1.413871243968482e-4,1.897057213198281e-6,-1.2136236886680415e-8,1.4142383018431504e-4,1.845841427761066e-6,-1.2132461012287831e-8,1.4147997719204125e-4,1.7113175489430788e-6,-1.2122777537746821e-8,1.4158823504138685e-4,1.502646517645388e-6,-1.2107840476713205e-8,1.4177619737628733e-4,1.2439767012537168e-6,-1.2089354094720186e-8,1.420599003828967e-4,9.723315462248096e-7,-1.206992596215161e-8,1.4243837480090518e-4,7.317359454874271e-7,-1.205266945550483e-8,1.428912639706557e-4,5.641719353741576e-7,-1.2040586686537376e-8,1.4338097885540922e-4,4.993306811954009e-7,-1.2035847099509482e-8,1.4385960277296563e-4,5.458783176763343e-7,-1.2039139663143369e-8,1.4427940471458366e-4,6.868122641353136e-7,-1.2049291370737595e-8,1.4460478846783334e-4,8.807411239238364e-7,-1.2063317321420302e-8,1.4482281559751307e-4,1.069839105541091e-6,-1.2076991054963683e-8,0.00014494904837242869,1.1937309248725323e-6,-1.2085887289049307e-8,1.4502568900064648e-4,1.2064426101944527e-6,-1.208665562177113e-8,1.4511070047506638e-4,1.0911379333922037e-6,-1.2078100163221958e-8,1.4526028585175462e-4,8.663198283372468e-7,-1.2061600256805915e-8,1.4551122674497707e-4,5.797058648325919e-7,-1.204063541031233e-8,1.45870714182893e-4,2.919007977922922e-7,-1.2019605889673682e-8,1.4631756661427476e-4,5.7383281304037876e-8,-1.2002481688680475e-8,1.4681257082234934e-4,-8.908235910099019e-8,-1.199182771411262e-8,1.4731178048653533e-4,-1.3681974382092278e-7,-1.1988462719314775e-8,1.4777718123388823e-4,-9.589928020150776e-8,-1.1991666707489123e-8,1.4818241807458256e-4,9.827970495226143e-9,-1.1999669866292774e-8,1.4851424057603252e-4,1.4975826284681487e-7,-1.2010174857616424e-8,1.4877150780700368e-4,2.9190903564939884e-7,-1.2020776035974408e-8,1.4896338718739874e-4,4.064988238931833e-7,-1.2029249027716422e-8,1.491076446423247e-4,4.6841038637613003e-7,-1.2033745868534184e-8,1.4922916257107874e-4,4.5938546572257956e-7,-1.2032953779941988e-8,1.493582247095228e-4,3.705242197180493e-7,-1.2026262139108474e-8,1.4952777954767635e-4,2.051005400277564e-7,-1.2013946805018194e-8,1.4976894050346446e-4,-1.904479417246828e-8,-1.19973299130609e-8,1.5010454947427974e-4,-2.6906541765304796e-7,-1.1978814248321542e-8,1.5054183504320976e-4,-5.005400438808663e-7,-1.1961656886072548e-8,1.510667193509588e-4,-6.659267765992611e-7,-1.1949384554955782e-8,1.5164312623254563e-4,-7.269820831206918e-7,-1.1944897119523432e-8,1.5221953156980696e-4,-6.673181911368249e-7,-1.1949511382214759e-8,1.5274192731700445e-4,-4.998737686083151e-7,-1.1962335916114308e-8,1.5316902981055573e-4,-2.655106490847173e-7,-1.198030645635063e-8,1.5348421088217352e-4,-2.266891378647792e-8,-1.1998944827432675e-8,1.537000877768807e-4,1.6834438575237464e-7,-1.2013585861232607e-8,1.538547110431581e-4,2.613132906223005e-7,-1.2020649305678164e-8,1.5400096519828458e-4,2.3581112219275996e-7,-1.2018566303697278e-8,1.5419235863208593e-4,1.0173672189554832e-7,-1.2008120314198619e-8,1.5446908544374386e-4,-1.043344103221339e-7,-1.1992147545698048e-8,1.548482390991489e-4,-3.2985719788034745e-7,-1.1974709621771796e-8,1.5532098094650596e-4,-5.207662508907146e-7,-1.1959996690102956e-8,1.5585716932915963e-4,-6.350241871756243e-7,-1.1951293605787887e-8,1.5641522266013897e-4,-6.511187991959759e-7,-1.1950307300835039e-8,1.569532769257661e-4,-5.697016549164902e-7,-1.1957005001839564e-8,1.5743798528095797e-4,-4.09469379855435e-7,-1.1969906863521253e-8,1.5784917981561064e-4,-2.0015710169451744e-7,-1.1986632887038163e-8,1.5818066995231428e-4,2.4528128874972442e-8,-1.2004482272335572e-8,1.584385964221662e-4,2.3238212408654543e-7,-1.2020894960770384e-8,1.5863886107822444e-4,3.9624199560292434e-7,-1.2033748244121223e-8,1.588046247824748e-4,4.961257588820515e-7,-1.2041519855910776e-8,1.5896414577085214e-4,5.208075434900433e-7,-1.2043387212766305e-8,1.5914861628490783e-4,4.6946391491526275e-7,-1.2039325589190074e-8,1.5938926955830503e-4,3.53541008361074e-7,-1.2030232908600866e-8,1.5971294009466412e-4,1.982741610365036e-7,-1.2018050074089633e-8,1.601357000258253e-4,4.2346553631336995e-8,-1.2005764507559371e-8,1.6065547610377416e-4,-6.653262914643824e-8,-1.199711354071502e-8,1.6124655500583345e-4,-8.178371801242496e-8,-1.1995829366236498e-8,1.618604147678731e-4,2.7237558855628032e-8,-1.200446695222325e-8,1.624361983654284e-4,2.6113543526894443e-7,-1.2023214939678597e-8,1.6291924082183584e-4,5.850389636777833e-7,-1.2049358081100115e-8,1.6328002909722807e-4,9.37029053897171e-7,-1.2077889657121621e-8,1.6352419934365228e-4,1.2479123374621913e-6,-1.2103126439366304e-8,1.6368904604779273e-4,1.4631281062483648e-6,-1.2120552485357369e-8,1.6382956183236765e-4,1.557395384432055e-6,-1.2128060940280816e-8,1.6400122926582002e-4,1.5381144862877748e-6,-1.2126239058948575e-8,1.6424588726093894e-4,1.439208355081074e-6,-1.2117853915445577e-8,1.6458370748174056e-4,1.3096328102448778e-6,-1.2106913755361764e-8,1.6501154402339606e-4,1.200644338827852e-6,-1.2097641160415495e-8,1.6550648589063686e-4,1.1547586852730628e-6,-1.2093577694547275e-8,1.6603290776267415e-4,1.198176070928625e-6,-1.209694831318382e-8,1.665511035023388e-4,1.3375614745420673e-6,-1.2108362039271342e-8,1.6702550418416318e-4,1.5612138983333382e-6,-1.2126873437650308e-8,1.674307780932752e-4,1.8436692523999273e-6,-1.2150349328123835e-8,1.677549195800197e-4,2.152050182706575e-6,-1.2176009110305286e-8,1.6799940801179606e-4,2.4524165413076667e-6,-1.2200981766056503e-8,1.6817724583540448e-4,2.7148658232038214e-6,-1.2222754118217347e-8,1.683099873280913e-4,2.9168866968960664e-6,-1.2239454785978735e-8,1.6842467146592558e-4,3.0452180407235236e-6,-1.224999322944638e-8,1.6855102695086848e-4,3.0968539557096263e-6,-1.2254119042353992e-8,1.6871880126855085e-4,3.079744230574199e-6,-1.2252464324778996e-8,1.6895472067160068e-4,3.0133940896606534e-6,-1.2246598903420829e-8,1.6927840464195295e-4,2.9289893043908684e-6,-1.2239070910506032e-8,1.6969685867088022e-4,2.8677904600524987e-6,-1.2233319274918822e-8,1.7019831718506845e-4,2.875824828445984e-6,-1.2233272151029017e-8,1.7074810284391787e-4,2.993272269193482e-6,-1.224246480019927e-8,1.7129098425295404e-4,3.2394101336393448e-6,-1.2262719249205929e-8,1.7176398102373194e-4,3.5987654038797006e-6,-1.2292867630372567e-8,1.7211809981800891e-4,4.018086806079489e-6,-1.2328398800877828e-8,1.723391427347796e-4,4.420818917734477e-6,-1.2362681188303285e-8,1.7245473153053103e-4,4.734662467285292e-6,-1.2389396409868513e-8,1.7252252726735316e-4,4.917578549027333e-6,-1.2404843785782865e-8,1.726071540897258e-4,4.968749604148368e-6,-1.2408893192054333e-8,1.727589046978858e-4,4.9221724964740185e-6,-1.2404411962237101e-8,1.7300260344177033e-4,4.83048076677902e-6,-1.2395876284086118e-8,1.7333699122422784e-4,4.748210739532242e-6,-1.2387966354953343e-8,1.7374060169450008e-4,4.719717242328655e-6,-1.2384556320964524e-8,1.7417998643729247e-4,4.77276442662093e-6,-1.2388155529251713e-8,1.7461775716833916e-4,4.916710446013261e-6,-1.2399710045232228e-8,1.7501937203030822e-4,5.1438468128633355e-6,-1.24186647572412e-8,1.7535828951289732e-4,5.432860035887848e-6,-1.2443225854658522e-8,1.756192629618798e-4,5.753664444472852e-6,-1.247077258016822e-8,1.7579965373443565e-4,6.07283129609336e-6,-1.249834752183416e-8,1.7590884946030766e-4,6.358829228718526e-6,-1.2523139875377372e-8,1.759661130968674e-4,6.586381943570775e-6,-1.2542883039875933e-8,1.759974500115724e-4,6.739459298134962e-6,-1.2556116611078232e-8,1.760321637278397e-4,6.812845618154416e-6,-1.2562313354106072e-8,1.7609950601134763e-4,6.812603660833107e-6,-1.2561914546371991e-8,1.7622548831381987e-4,6.755770295736606e-6,-1.2556315384687489e-8,1.7642970412317874e-4,6.669448359319251e-6,-1.2547819558221092e-8,1.7672181959903853e-4,6.589129298634931e-6,-1.2539538164845853e-8,1.7709754531837021e-4,6.555409184978373e-6,-1.253513882005936e-8,1.7753484841258758e-4,6.6077367992058346e-6,-1.2538298544744623e-8,1.7799261074736457e-4,6.774298835042637e-6,-1.2551762208519981e-8,1.7841520147040621e-4,7.059131678797954e-6,-1.2576102085454612e-8,1.7874610453487877e-4,7.431432411420299e-6,-1.2608660039097732e-8,1.7894917443968755e-4,7.825953175386766e-6,-1.264353962001558e-8,1.7902774380033063e-4,8.161207083206408e-6,-1.2673296174765145e-8,1.790278108183074e-4,8.37057801926549e-6,-1.2691829535203863e-8,1.7902000252517539e-4,8.429111940731165e-6,-1.2696822098010562e-8,1.7907052731275117e-4,8.359865779353108e-6,-1.2690259514578959e-8,1.792184376056174e-4,8.218710920752939e-6,-1.2677033409507345e-8,1.7946899122588982e-4,8.070217272528202e-6,-1.2662824877992331e-8,1.798005516314884e-4,7.968098174834111e-6,-1.2652431102927129e-8,1.8017678902342154e-4,7.945639373964074e-6,-1.2648941656457344e-8,1.8055783018827178e-4,8.014489469180937e-6,-1.2653594995131369e-8,1.809079743025977e-4,8.167991049630246e-6,-1.2666002492302427e-8,1.8120015594670137e-4,8.386055770599257e-6,-1.2684515636010646e-8,1.81418169137406e-4,8.640136272423779e-6,-1.2706635648062213e-8,1.8155745362714864e-4,8.897929471115659e-6,-1.2729437938407207e-8,1.816247890930127e-4,9.127778918254038e-6,-1.2749994232411722e-8,1.8163698371062952e-4,9.302709168045539e-6,-1.2765766433492419e-8,1.8161856182727902e-4,9.403888438419948e-6,-1.2774938041748913e-8,1.815985642893323e-4,9.423138551089404e-6,-1.2776645313126941e-8,1.8160681506560852e-4,9.36415692920561e-6,-1.2771087603012172e-8,1.8167007529985502e-4,9.242389932513445e-6,-1.2759527269267482e-8,1.8180839374719023e-4,9.083630182385395e-6,-1.2744194260900506e-8,1.8203189191582484e-4,8.921407254932055e-6,-1.272809684680252e-8,1.8233811686921964e-4,8.793234923543979e-6,-1.271472568547752e-8,1.8271007573164471e-4,8.735513832696627e-6,-1.2707603433132443e-8,1.831156226205783e-4,8.776587215035303e-6,-1.2709611967731912e-8,1.835098044135818e-4,8.927979072561361e-6,-1.2722097762312471e-8,1.8384221630675696e-4,9.175500192615347e-6,-1.27439367278731e-8,1.840705475552472e-4,9.474371020128938e-6,-1.2771002906062082e-8,1.841780628060236e-4,9.754616948466088e-6,-1.279667951127827e-8,1.8418683651227492e-4,9.940934290960093e-6,-1.281380356682737e-8,1.8415563603335129e-4,9.98187460304554e-6,-1.281747050358581e-8,1.8415861263877017e-4,9.872544364405676e-6,-1.2807136409084753e-8,1.842552921475183e-4,9.65575714304891e-6,-1.278665574601449e-8,1.8446960989311107e-4,9.401323160175794e-6,-1.2762350921109002e-8,1.847878917819339e-4,9.177921705907351e-6,-1.274048999348862e-8,1.851716145817177e-4,9.033077144764868e-6,-1.2725517880425859e-8,1.8557404333119885e-4,8.98674862545095e-6,-1.2719465951244568e-8,1.8595285565285299e-4,9.03489153155634e-6,-1.2722206457539776e-8,1.8627673471227903e-4,9.156961441484826e-6,-1.2732052732514901e-8,1.8652737698281774e-4,9.323291635298407e-6,-1.2746379558568107e-8,1.8669908398996258e-4,9.500851281252383e-6,-1.276214259667023e-8,1.867974540649122e-4,9.657494220093313e-6,-1.2776296198795173e-8,1.868377674238962e-4,9.765290802188679e-6,-1.2786140679959678e-8,1.8684306967336814e-4,9.803397871508996e-6,-1.2789619363565743e-8,1.868417147083351e-4,9.760610094037025e-6,-1.2785567727151342e-8,1.8686412458466885e-4,9.637324414561794e-6,-1.2773894189412115e-8,1.8693880886411663e-4,9.44635537749392e-6,-1.2755655110877828e-8,1.8708806034181723e-4,9.212124471751703e-6,-1.2732996276901077e-8,1.873239407935784e-4,8.968006164774606e-6,-1.2708946706398693e-8,1.8764524855502274e-4,8.751851247504868e-6,-1.2687053344743047e-8,1.8803613506589658e-4,8.600047003777075e-6,-1.267086308882513e-8,1.884668350213392e-4,8.540750156571121e-6,-1.266327943929974e-8,1.8889688401037388e-4,8.586957156317759e-6,-1.2665841049346619e-8,1.892813662336039e-4,8.7303677532984365E-06,-1.2678028004774141e-8,1.8958055151708885e-4,8.937957777496288e-6,-1.269682650981506e-8,1.8977205698003573e-4,9.154221964303619e-6,-1.2716894887330907e-8,1.8986226816951858e-4,9.312023948278568e-6,-1.2731645634466873e-8,1.8989097282145473e-4,9.3523306591095e-6,-1.2735235873700964e-8,1.899229344963519e-4,9.246977657328054e-6,-1.2724818924541804e-8,1.9002600500419477e-4,9.012639158824845e-6,-1.2701873808086355e-8,1.90245267253111e-4,8.705899735453676e-6,-1.267169944090641e-8,1.9058743747324758e-4,8.400731767561984e-6,-1.2641284800066107e-8,1.9102317062649488e-4,8.161375525659737e-6,-1.261678823134974e-8,1.915028135995743e-4,8.024638131175617e-6,-1.2601877107848063e-8]}
\ No newline at end of file
diff --git a/libs/supermap/Assets/Images/bing_maps_credit.png b/libs/supermap/Assets/Images/bing_maps_credit.png
deleted file mode 100644
index 15109db..0000000
--- a/libs/supermap/Assets/Images/bing_maps_credit.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Images/cesium_credit.png b/libs/supermap/Assets/Images/cesium_credit.png
deleted file mode 100644
index 4d1722b..0000000
--- a/libs/supermap/Assets/Images/cesium_credit.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Images/google_earth_credit.png b/libs/supermap/Assets/Images/google_earth_credit.png
deleted file mode 100644
index a7622d8..0000000
--- a/libs/supermap/Assets/Images/google_earth_credit.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Images/ion-credit.png b/libs/supermap/Assets/Images/ion-credit.png
deleted file mode 100644
index 71b7bdf..0000000
--- a/libs/supermap/Assets/Images/ion-credit.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Images/logo.png b/libs/supermap/Assets/Images/logo.png
deleted file mode 100644
index 855561a..0000000
--- a/libs/supermap/Assets/Images/logo.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Terrain/0/0/0.terrain b/libs/supermap/Assets/Terrain/0/0/0.terrain
deleted file mode 100644
index 5eb7a43..0000000
--- a/libs/supermap/Assets/Terrain/0/0/0.terrain
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Terrain/0/1/0.terrain b/libs/supermap/Assets/Terrain/0/1/0.terrain
deleted file mode 100644
index 3a86105..0000000
--- a/libs/supermap/Assets/Terrain/0/1/0.terrain
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/GlobalBkLayer.jpg b/libs/supermap/Assets/Textures/GlobalBkLayer.jpg
deleted file mode 100644
index 1e394aa..0000000
--- a/libs/supermap/Assets/Textures/GlobalBkLayer.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/LensFlare/DirtMask.jpg b/libs/supermap/Assets/Textures/LensFlare/DirtMask.jpg
deleted file mode 100644
index 5329902..0000000
--- a/libs/supermap/Assets/Textures/LensFlare/DirtMask.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/LensFlare/StarBurst.jpg b/libs/supermap/Assets/Textures/LensFlare/StarBurst.jpg
deleted file mode 100644
index b54ac09..0000000
--- a/libs/supermap/Assets/Textures/LensFlare/StarBurst.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/0/0/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/0/0/0.jpg
deleted file mode 100644
index 0cad646..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/0/0/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/0/1/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/0/1/0.jpg
deleted file mode 100644
index 7e63bd6..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/0/1/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/1/0/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/1/0/0.jpg
deleted file mode 100644
index e65f1c7..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/1/0/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/1/0/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/1/0/1.jpg
deleted file mode 100644
index 605f63f..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/1/0/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/1/1/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/1/1/0.jpg
deleted file mode 100644
index 319458e..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/1/1/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/1/1/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/1/1/1.jpg
deleted file mode 100644
index a6a3859..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/1/1/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/1/2/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/1/2/0.jpg
deleted file mode 100644
index 6913a2b..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/1/2/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/1/2/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/1/2/1.jpg
deleted file mode 100644
index df89ed2..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/1/2/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/1/3/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/1/3/0.jpg
deleted file mode 100644
index 8f27415..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/1/3/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/1/3/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/1/3/1.jpg
deleted file mode 100644
index ce2b06e..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/1/3/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/0/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/0/0.jpg
deleted file mode 100644
index e3c0312..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/0/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/0/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/0/1.jpg
deleted file mode 100644
index f3ec321..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/0/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/0/2.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/0/2.jpg
deleted file mode 100644
index b59816c..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/0/2.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/0/3.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/0/3.jpg
deleted file mode 100644
index 795f212..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/0/3.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/1/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/1/0.jpg
deleted file mode 100644
index 822b065..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/1/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/1/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/1/1.jpg
deleted file mode 100644
index 4dd18ea..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/1/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/1/2.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/1/2.jpg
deleted file mode 100644
index 4540c7c..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/1/2.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/1/3.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/1/3.jpg
deleted file mode 100644
index 32c6e5a..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/1/3.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/2/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/2/0.jpg
deleted file mode 100644
index 7c39094..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/2/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/2/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/2/1.jpg
deleted file mode 100644
index 3e7abe7..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/2/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/2/2.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/2/2.jpg
deleted file mode 100644
index 0e0f1e9..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/2/2.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/2/3.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/2/3.jpg
deleted file mode 100644
index 732c32f..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/2/3.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/3/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/3/0.jpg
deleted file mode 100644
index 576ec70..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/3/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/3/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/3/1.jpg
deleted file mode 100644
index 6347041..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/3/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/3/2.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/3/2.jpg
deleted file mode 100644
index 300aa58..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/3/2.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/3/3.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/3/3.jpg
deleted file mode 100644
index cd70fca..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/3/3.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/4/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/4/0.jpg
deleted file mode 100644
index eabb83c..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/4/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/4/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/4/1.jpg
deleted file mode 100644
index 54e6b00..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/4/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/4/2.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/4/2.jpg
deleted file mode 100644
index 311241c..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/4/2.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/4/3.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/4/3.jpg
deleted file mode 100644
index 5ba398c..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/4/3.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/5/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/5/0.jpg
deleted file mode 100644
index e03c0c0..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/5/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/5/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/5/1.jpg
deleted file mode 100644
index 01a1caf..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/5/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/5/2.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/5/2.jpg
deleted file mode 100644
index 372e3ef..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/5/2.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/5/3.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/5/3.jpg
deleted file mode 100644
index fbcfa62..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/5/3.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/6/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/6/0.jpg
deleted file mode 100644
index 334ab25..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/6/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/6/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/6/1.jpg
deleted file mode 100644
index ebbc3a0..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/6/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/6/2.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/6/2.jpg
deleted file mode 100644
index c3a8e97..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/6/2.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/6/3.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/6/3.jpg
deleted file mode 100644
index 8f730f3..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/6/3.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/7/0.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/7/0.jpg
deleted file mode 100644
index 75235d6..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/7/0.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/7/1.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/7/1.jpg
deleted file mode 100644
index 036d682..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/7/1.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/7/2.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/7/2.jpg
deleted file mode 100644
index dfd2144..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/7/2.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/2/7/3.jpg b/libs/supermap/Assets/Textures/NaturalEarthII/2/7/3.jpg
deleted file mode 100644
index 82c2a34..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/2/7/3.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/NaturalEarthII/tilemapresource.xml b/libs/supermap/Assets/Textures/NaturalEarthII/tilemapresource.xml
deleted file mode 100644
index d7734cc..0000000
--- a/libs/supermap/Assets/Textures/NaturalEarthII/tilemapresource.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-    <TileMap version="1.0.0" tilemapservice="http://tms.osgeo.org/1.0.0">
-      <Title>NE2_HR_LC_SR_W_DR_recolored.tif</Title>
-      <Abstract></Abstract>
-      <SRS>EPSG:4326</SRS>
-      <BoundingBox miny="-90.00000000000000" minx="-180.00000000000000" maxy="90.00000000000000" maxx="180.00000000000000"/>
-      <Origin y="-90.00000000000000" x="-180.00000000000000"/>
-      <TileFormat width="256" height="256" mime-type="image/jpg" extension="jpg"/>
-      <TileSets profile="geodetic">
-        <TileSet href="0" units-per-pixel="0.70312500000000" order="0"/>
-        <TileSet href="1" units-per-pixel="0.35156250000000" order="1"/>
-        <TileSet href="2" units-per-pixel="0.17578125000000" order="2"/>
-      </TileSets>
-    </TileMap>
diff --git a/libs/supermap/Assets/Textures/NoiseAndGrain.png b/libs/supermap/Assets/Textures/NoiseAndGrain.png
deleted file mode 100644
index e1a2d1c..0000000
--- a/libs/supermap/Assets/Textures/NoiseAndGrain.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg b/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg
deleted file mode 100644
index 2f29875..0000000
--- a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_my.jpg b/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_my.jpg
deleted file mode 100644
index 8036228..0000000
--- a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_my.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg b/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg
deleted file mode 100644
index 476ca2c..0000000
--- a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_px.jpg b/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_px.jpg
deleted file mode 100644
index 82bd54a..0000000
--- a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_px.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_py.jpg b/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_py.jpg
deleted file mode 100644
index 251e07c..0000000
--- a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_py.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg b/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg
deleted file mode 100644
index d6d86c2..0000000
--- a/libs/supermap/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/arrow.png b/libs/supermap/Assets/Textures/arrow.png
deleted file mode 100644
index f1aa3ad..0000000
--- a/libs/supermap/Assets/Textures/arrow.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/excavationregion_side.jpg b/libs/supermap/Assets/Textures/excavationregion_side.jpg
deleted file mode 100644
index 6dc36be..0000000
--- a/libs/supermap/Assets/Textures/excavationregion_side.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/excavationregion_top.jpg b/libs/supermap/Assets/Textures/excavationregion_top.jpg
deleted file mode 100644
index f7eb272..0000000
--- a/libs/supermap/Assets/Textures/excavationregion_top.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/airfield.png b/libs/supermap/Assets/Textures/maki/airfield.png
deleted file mode 100644
index b774684..0000000
--- a/libs/supermap/Assets/Textures/maki/airfield.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/airport.png b/libs/supermap/Assets/Textures/maki/airport.png
deleted file mode 100644
index 44a8413..0000000
--- a/libs/supermap/Assets/Textures/maki/airport.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/alcohol-shop.png b/libs/supermap/Assets/Textures/maki/alcohol-shop.png
deleted file mode 100644
index b75a5d9..0000000
--- a/libs/supermap/Assets/Textures/maki/alcohol-shop.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/america-football.png b/libs/supermap/Assets/Textures/maki/america-football.png
deleted file mode 100644
index 5a2c6ba..0000000
--- a/libs/supermap/Assets/Textures/maki/america-football.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/art-gallery.png b/libs/supermap/Assets/Textures/maki/art-gallery.png
deleted file mode 100644
index a663512..0000000
--- a/libs/supermap/Assets/Textures/maki/art-gallery.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/bakery.png b/libs/supermap/Assets/Textures/maki/bakery.png
deleted file mode 100644
index 9735d5e..0000000
--- a/libs/supermap/Assets/Textures/maki/bakery.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/bank.png b/libs/supermap/Assets/Textures/maki/bank.png
deleted file mode 100644
index a67cee0..0000000
--- a/libs/supermap/Assets/Textures/maki/bank.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/bar.png b/libs/supermap/Assets/Textures/maki/bar.png
deleted file mode 100644
index 8c2812f..0000000
--- a/libs/supermap/Assets/Textures/maki/bar.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/baseball.png b/libs/supermap/Assets/Textures/maki/baseball.png
deleted file mode 100644
index 23f344b..0000000
--- a/libs/supermap/Assets/Textures/maki/baseball.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/basketball.png b/libs/supermap/Assets/Textures/maki/basketball.png
deleted file mode 100644
index 7ed3bfc..0000000
--- a/libs/supermap/Assets/Textures/maki/basketball.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/beer.png b/libs/supermap/Assets/Textures/maki/beer.png
deleted file mode 100644
index a15cf99..0000000
--- a/libs/supermap/Assets/Textures/maki/beer.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/bicycle.png b/libs/supermap/Assets/Textures/maki/bicycle.png
deleted file mode 100644
index fb871be..0000000
--- a/libs/supermap/Assets/Textures/maki/bicycle.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/building.png b/libs/supermap/Assets/Textures/maki/building.png
deleted file mode 100644
index 885f112..0000000
--- a/libs/supermap/Assets/Textures/maki/building.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/bus.png b/libs/supermap/Assets/Textures/maki/bus.png
deleted file mode 100644
index 7830502..0000000
--- a/libs/supermap/Assets/Textures/maki/bus.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/cafe.png b/libs/supermap/Assets/Textures/maki/cafe.png
deleted file mode 100644
index 2050cba..0000000
--- a/libs/supermap/Assets/Textures/maki/cafe.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/camera.png b/libs/supermap/Assets/Textures/maki/camera.png
deleted file mode 100644
index ec54e12..0000000
--- a/libs/supermap/Assets/Textures/maki/camera.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/campsite.png b/libs/supermap/Assets/Textures/maki/campsite.png
deleted file mode 100644
index 36e0a92..0000000
--- a/libs/supermap/Assets/Textures/maki/campsite.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/car.png b/libs/supermap/Assets/Textures/maki/car.png
deleted file mode 100644
index 2075afa..0000000
--- a/libs/supermap/Assets/Textures/maki/car.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/cemetery.png b/libs/supermap/Assets/Textures/maki/cemetery.png
deleted file mode 100644
index df244fd..0000000
--- a/libs/supermap/Assets/Textures/maki/cemetery.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/cesium.png b/libs/supermap/Assets/Textures/maki/cesium.png
deleted file mode 100644
index ce2755d..0000000
--- a/libs/supermap/Assets/Textures/maki/cesium.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/chemist.png b/libs/supermap/Assets/Textures/maki/chemist.png
deleted file mode 100644
index eb1ea35..0000000
--- a/libs/supermap/Assets/Textures/maki/chemist.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/cinema.png b/libs/supermap/Assets/Textures/maki/cinema.png
deleted file mode 100644
index 56b6925..0000000
--- a/libs/supermap/Assets/Textures/maki/cinema.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/circle-stroked.png b/libs/supermap/Assets/Textures/maki/circle-stroked.png
deleted file mode 100644
index 88689e4..0000000
--- a/libs/supermap/Assets/Textures/maki/circle-stroked.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/circle.png b/libs/supermap/Assets/Textures/maki/circle.png
deleted file mode 100644
index fbbd582..0000000
--- a/libs/supermap/Assets/Textures/maki/circle.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/city.png b/libs/supermap/Assets/Textures/maki/city.png
deleted file mode 100644
index 37d8fad..0000000
--- a/libs/supermap/Assets/Textures/maki/city.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/clothing-store.png b/libs/supermap/Assets/Textures/maki/clothing-store.png
deleted file mode 100644
index ff5f8a2..0000000
--- a/libs/supermap/Assets/Textures/maki/clothing-store.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/college.png b/libs/supermap/Assets/Textures/maki/college.png
deleted file mode 100644
index 1026387..0000000
--- a/libs/supermap/Assets/Textures/maki/college.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/commercial.png b/libs/supermap/Assets/Textures/maki/commercial.png
deleted file mode 100644
index fdf3b63..0000000
--- a/libs/supermap/Assets/Textures/maki/commercial.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/cricket.png b/libs/supermap/Assets/Textures/maki/cricket.png
deleted file mode 100644
index 6642a3a..0000000
--- a/libs/supermap/Assets/Textures/maki/cricket.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/cross.png b/libs/supermap/Assets/Textures/maki/cross.png
deleted file mode 100644
index 8945b3b..0000000
--- a/libs/supermap/Assets/Textures/maki/cross.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/dam.png b/libs/supermap/Assets/Textures/maki/dam.png
deleted file mode 100644
index aed88a8..0000000
--- a/libs/supermap/Assets/Textures/maki/dam.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/danger.png b/libs/supermap/Assets/Textures/maki/danger.png
deleted file mode 100644
index 9479572..0000000
--- a/libs/supermap/Assets/Textures/maki/danger.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/disability.png b/libs/supermap/Assets/Textures/maki/disability.png
deleted file mode 100644
index 1cc3550..0000000
--- a/libs/supermap/Assets/Textures/maki/disability.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/dog-park.png b/libs/supermap/Assets/Textures/maki/dog-park.png
deleted file mode 100644
index 3483e35..0000000
--- a/libs/supermap/Assets/Textures/maki/dog-park.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/embassy.png b/libs/supermap/Assets/Textures/maki/embassy.png
deleted file mode 100644
index 46b7e1e..0000000
--- a/libs/supermap/Assets/Textures/maki/embassy.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/emergency-telephone.png b/libs/supermap/Assets/Textures/maki/emergency-telephone.png
deleted file mode 100644
index fac6239..0000000
--- a/libs/supermap/Assets/Textures/maki/emergency-telephone.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/entrance.png b/libs/supermap/Assets/Textures/maki/entrance.png
deleted file mode 100644
index b0ba8c5..0000000
--- a/libs/supermap/Assets/Textures/maki/entrance.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/farm.png b/libs/supermap/Assets/Textures/maki/farm.png
deleted file mode 100644
index 7b03e82..0000000
--- a/libs/supermap/Assets/Textures/maki/farm.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/fast-food.png b/libs/supermap/Assets/Textures/maki/fast-food.png
deleted file mode 100644
index 9488c26..0000000
--- a/libs/supermap/Assets/Textures/maki/fast-food.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/ferry.png b/libs/supermap/Assets/Textures/maki/ferry.png
deleted file mode 100644
index 58c2f27..0000000
--- a/libs/supermap/Assets/Textures/maki/ferry.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/fire-station.png b/libs/supermap/Assets/Textures/maki/fire-station.png
deleted file mode 100644
index 427512f..0000000
--- a/libs/supermap/Assets/Textures/maki/fire-station.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/fuel.png b/libs/supermap/Assets/Textures/maki/fuel.png
deleted file mode 100644
index dc6059b..0000000
--- a/libs/supermap/Assets/Textures/maki/fuel.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/garden.png b/libs/supermap/Assets/Textures/maki/garden.png
deleted file mode 100644
index 265edb8..0000000
--- a/libs/supermap/Assets/Textures/maki/garden.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/gift.png b/libs/supermap/Assets/Textures/maki/gift.png
deleted file mode 100644
index 866263e..0000000
--- a/libs/supermap/Assets/Textures/maki/gift.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/golf.png b/libs/supermap/Assets/Textures/maki/golf.png
deleted file mode 100644
index 2169d91..0000000
--- a/libs/supermap/Assets/Textures/maki/golf.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/grepin.png b/libs/supermap/Assets/Textures/maki/grepin.png
deleted file mode 100644
index 27ee284..0000000
--- a/libs/supermap/Assets/Textures/maki/grepin.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/grocery.png b/libs/supermap/Assets/Textures/maki/grocery.png
deleted file mode 100644
index 05b09d4..0000000
--- a/libs/supermap/Assets/Textures/maki/grocery.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/hairdresser.png b/libs/supermap/Assets/Textures/maki/hairdresser.png
deleted file mode 100644
index 68fbe1e..0000000
--- a/libs/supermap/Assets/Textures/maki/hairdresser.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/harbor.png b/libs/supermap/Assets/Textures/maki/harbor.png
deleted file mode 100644
index 2814f3c..0000000
--- a/libs/supermap/Assets/Textures/maki/harbor.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/heart.png b/libs/supermap/Assets/Textures/maki/heart.png
deleted file mode 100644
index 82e9808..0000000
--- a/libs/supermap/Assets/Textures/maki/heart.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/heliport.png b/libs/supermap/Assets/Textures/maki/heliport.png
deleted file mode 100644
index 953828d..0000000
--- a/libs/supermap/Assets/Textures/maki/heliport.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/hospital.png b/libs/supermap/Assets/Textures/maki/hospital.png
deleted file mode 100644
index faf294e..0000000
--- a/libs/supermap/Assets/Textures/maki/hospital.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/ice-cream.png b/libs/supermap/Assets/Textures/maki/ice-cream.png
deleted file mode 100644
index 323c964..0000000
--- a/libs/supermap/Assets/Textures/maki/ice-cream.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/industrial.png b/libs/supermap/Assets/Textures/maki/industrial.png
deleted file mode 100644
index 9b3b525..0000000
--- a/libs/supermap/Assets/Textures/maki/industrial.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/land-use.png b/libs/supermap/Assets/Textures/maki/land-use.png
deleted file mode 100644
index f86b21b..0000000
--- a/libs/supermap/Assets/Textures/maki/land-use.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/laundry.png b/libs/supermap/Assets/Textures/maki/laundry.png
deleted file mode 100644
index 53fd20d..0000000
--- a/libs/supermap/Assets/Textures/maki/laundry.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/library.png b/libs/supermap/Assets/Textures/maki/library.png
deleted file mode 100644
index 8564e84..0000000
--- a/libs/supermap/Assets/Textures/maki/library.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/lighthouse.png b/libs/supermap/Assets/Textures/maki/lighthouse.png
deleted file mode 100644
index a78e21a..0000000
--- a/libs/supermap/Assets/Textures/maki/lighthouse.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/lodging.png b/libs/supermap/Assets/Textures/maki/lodging.png
deleted file mode 100644
index 4e41ea6..0000000
--- a/libs/supermap/Assets/Textures/maki/lodging.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/logging.png b/libs/supermap/Assets/Textures/maki/logging.png
deleted file mode 100644
index 4aeef0b..0000000
--- a/libs/supermap/Assets/Textures/maki/logging.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/london-underground.png b/libs/supermap/Assets/Textures/maki/london-underground.png
deleted file mode 100644
index 94972f7..0000000
--- a/libs/supermap/Assets/Textures/maki/london-underground.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/marker-stroked.png b/libs/supermap/Assets/Textures/maki/marker-stroked.png
deleted file mode 100644
index f00d112..0000000
--- a/libs/supermap/Assets/Textures/maki/marker-stroked.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/marker.png b/libs/supermap/Assets/Textures/maki/marker.png
deleted file mode 100644
index 825eeca..0000000
--- a/libs/supermap/Assets/Textures/maki/marker.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/minefield.png b/libs/supermap/Assets/Textures/maki/minefield.png
deleted file mode 100644
index 60e174a..0000000
--- a/libs/supermap/Assets/Textures/maki/minefield.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/mobilephone.png b/libs/supermap/Assets/Textures/maki/mobilephone.png
deleted file mode 100644
index a40ef9c..0000000
--- a/libs/supermap/Assets/Textures/maki/mobilephone.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/monument.png b/libs/supermap/Assets/Textures/maki/monument.png
deleted file mode 100644
index 5b8b7de..0000000
--- a/libs/supermap/Assets/Textures/maki/monument.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/museum.png b/libs/supermap/Assets/Textures/maki/museum.png
deleted file mode 100644
index 23c1790..0000000
--- a/libs/supermap/Assets/Textures/maki/museum.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/music.png b/libs/supermap/Assets/Textures/maki/music.png
deleted file mode 100644
index dbef56f..0000000
--- a/libs/supermap/Assets/Textures/maki/music.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/oil-well.png b/libs/supermap/Assets/Textures/maki/oil-well.png
deleted file mode 100644
index a421f5a..0000000
--- a/libs/supermap/Assets/Textures/maki/oil-well.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/park.png b/libs/supermap/Assets/Textures/maki/park.png
deleted file mode 100644
index 741110e..0000000
--- a/libs/supermap/Assets/Textures/maki/park.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/park2.png b/libs/supermap/Assets/Textures/maki/park2.png
deleted file mode 100644
index 5f60dcc..0000000
--- a/libs/supermap/Assets/Textures/maki/park2.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/parking-garage.png b/libs/supermap/Assets/Textures/maki/parking-garage.png
deleted file mode 100644
index b91a811..0000000
--- a/libs/supermap/Assets/Textures/maki/parking-garage.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/parking.png b/libs/supermap/Assets/Textures/maki/parking.png
deleted file mode 100644
index 6a843d9..0000000
--- a/libs/supermap/Assets/Textures/maki/parking.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/pharmacy.png b/libs/supermap/Assets/Textures/maki/pharmacy.png
deleted file mode 100644
index d82e471..0000000
--- a/libs/supermap/Assets/Textures/maki/pharmacy.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/pitch.png b/libs/supermap/Assets/Textures/maki/pitch.png
deleted file mode 100644
index a8205e8..0000000
--- a/libs/supermap/Assets/Textures/maki/pitch.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/place-of-worship.png b/libs/supermap/Assets/Textures/maki/place-of-worship.png
deleted file mode 100644
index 29f7c31..0000000
--- a/libs/supermap/Assets/Textures/maki/place-of-worship.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/playground.png b/libs/supermap/Assets/Textures/maki/playground.png
deleted file mode 100644
index 5270d3c..0000000
--- a/libs/supermap/Assets/Textures/maki/playground.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/police.png b/libs/supermap/Assets/Textures/maki/police.png
deleted file mode 100644
index 9787a05..0000000
--- a/libs/supermap/Assets/Textures/maki/police.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/polling-place.png b/libs/supermap/Assets/Textures/maki/polling-place.png
deleted file mode 100644
index b2d02a9..0000000
--- a/libs/supermap/Assets/Textures/maki/polling-place.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/post.png b/libs/supermap/Assets/Textures/maki/post.png
deleted file mode 100644
index ee7aaca..0000000
--- a/libs/supermap/Assets/Textures/maki/post.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/prison.png b/libs/supermap/Assets/Textures/maki/prison.png
deleted file mode 100644
index 355cba4..0000000
--- a/libs/supermap/Assets/Textures/maki/prison.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/rail-above.png b/libs/supermap/Assets/Textures/maki/rail-above.png
deleted file mode 100644
index e48d7ea..0000000
--- a/libs/supermap/Assets/Textures/maki/rail-above.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/rail-light.png b/libs/supermap/Assets/Textures/maki/rail-light.png
deleted file mode 100644
index 895565e..0000000
--- a/libs/supermap/Assets/Textures/maki/rail-light.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/rail-metro.png b/libs/supermap/Assets/Textures/maki/rail-metro.png
deleted file mode 100644
index 86078c9..0000000
--- a/libs/supermap/Assets/Textures/maki/rail-metro.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/rail-underground.png b/libs/supermap/Assets/Textures/maki/rail-underground.png
deleted file mode 100644
index 42cfeb7..0000000
--- a/libs/supermap/Assets/Textures/maki/rail-underground.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/rail.png b/libs/supermap/Assets/Textures/maki/rail.png
deleted file mode 100644
index 8af055d..0000000
--- a/libs/supermap/Assets/Textures/maki/rail.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/religious-christian.png b/libs/supermap/Assets/Textures/maki/religious-christian.png
deleted file mode 100644
index 201bc81..0000000
--- a/libs/supermap/Assets/Textures/maki/religious-christian.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/religious-jewish.png b/libs/supermap/Assets/Textures/maki/religious-jewish.png
deleted file mode 100644
index e3c75f6..0000000
--- a/libs/supermap/Assets/Textures/maki/religious-jewish.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/religious-muslim.png b/libs/supermap/Assets/Textures/maki/religious-muslim.png
deleted file mode 100644
index 25cbf08..0000000
--- a/libs/supermap/Assets/Textures/maki/religious-muslim.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/restaurant.png b/libs/supermap/Assets/Textures/maki/restaurant.png
deleted file mode 100644
index 816282a..0000000
--- a/libs/supermap/Assets/Textures/maki/restaurant.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/roadblock.png b/libs/supermap/Assets/Textures/maki/roadblock.png
deleted file mode 100644
index 539f0ed..0000000
--- a/libs/supermap/Assets/Textures/maki/roadblock.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/rocket.png b/libs/supermap/Assets/Textures/maki/rocket.png
deleted file mode 100644
index e6ed718..0000000
--- a/libs/supermap/Assets/Textures/maki/rocket.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/school.png b/libs/supermap/Assets/Textures/maki/school.png
deleted file mode 100644
index fb20bf4..0000000
--- a/libs/supermap/Assets/Textures/maki/school.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/scooter.png b/libs/supermap/Assets/Textures/maki/scooter.png
deleted file mode 100644
index 41f7416..0000000
--- a/libs/supermap/Assets/Textures/maki/scooter.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/shop.png b/libs/supermap/Assets/Textures/maki/shop.png
deleted file mode 100644
index 11a6b75..0000000
--- a/libs/supermap/Assets/Textures/maki/shop.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/skiing.png b/libs/supermap/Assets/Textures/maki/skiing.png
deleted file mode 100644
index 4fc11e2..0000000
--- a/libs/supermap/Assets/Textures/maki/skiing.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/slaughterhouse.png b/libs/supermap/Assets/Textures/maki/slaughterhouse.png
deleted file mode 100644
index 9b094ca..0000000
--- a/libs/supermap/Assets/Textures/maki/slaughterhouse.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/soccer.png b/libs/supermap/Assets/Textures/maki/soccer.png
deleted file mode 100644
index 2385daf..0000000
--- a/libs/supermap/Assets/Textures/maki/soccer.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/square-stroked.png b/libs/supermap/Assets/Textures/maki/square-stroked.png
deleted file mode 100644
index fce75b0..0000000
--- a/libs/supermap/Assets/Textures/maki/square-stroked.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/square.png b/libs/supermap/Assets/Textures/maki/square.png
deleted file mode 100644
index babc9c5..0000000
--- a/libs/supermap/Assets/Textures/maki/square.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/star-stroked.png b/libs/supermap/Assets/Textures/maki/star-stroked.png
deleted file mode 100644
index 242e42e..0000000
--- a/libs/supermap/Assets/Textures/maki/star-stroked.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/star.png b/libs/supermap/Assets/Textures/maki/star.png
deleted file mode 100644
index 447dd38..0000000
--- a/libs/supermap/Assets/Textures/maki/star.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/suitcase.png b/libs/supermap/Assets/Textures/maki/suitcase.png
deleted file mode 100644
index a94f562..0000000
--- a/libs/supermap/Assets/Textures/maki/suitcase.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/swimming.png b/libs/supermap/Assets/Textures/maki/swimming.png
deleted file mode 100644
index b9fbdcc..0000000
--- a/libs/supermap/Assets/Textures/maki/swimming.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/telephone.png b/libs/supermap/Assets/Textures/maki/telephone.png
deleted file mode 100644
index 6d57dc6..0000000
--- a/libs/supermap/Assets/Textures/maki/telephone.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/tennis.png b/libs/supermap/Assets/Textures/maki/tennis.png
deleted file mode 100644
index 6cb6320..0000000
--- a/libs/supermap/Assets/Textures/maki/tennis.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/theatre.png b/libs/supermap/Assets/Textures/maki/theatre.png
deleted file mode 100644
index 772c96e..0000000
--- a/libs/supermap/Assets/Textures/maki/theatre.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/toilets.png b/libs/supermap/Assets/Textures/maki/toilets.png
deleted file mode 100644
index e87cf19..0000000
--- a/libs/supermap/Assets/Textures/maki/toilets.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/town-hall.png b/libs/supermap/Assets/Textures/maki/town-hall.png
deleted file mode 100644
index 1af5c7c..0000000
--- a/libs/supermap/Assets/Textures/maki/town-hall.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/town.png b/libs/supermap/Assets/Textures/maki/town.png
deleted file mode 100644
index 4166169..0000000
--- a/libs/supermap/Assets/Textures/maki/town.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/triangle-stroked.png b/libs/supermap/Assets/Textures/maki/triangle-stroked.png
deleted file mode 100644
index 131c7d9..0000000
--- a/libs/supermap/Assets/Textures/maki/triangle-stroked.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/triangle.png b/libs/supermap/Assets/Textures/maki/triangle.png
deleted file mode 100644
index d9c47f4..0000000
--- a/libs/supermap/Assets/Textures/maki/triangle.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/village.png b/libs/supermap/Assets/Textures/maki/village.png
deleted file mode 100644
index 2650af5..0000000
--- a/libs/supermap/Assets/Textures/maki/village.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/warehouse.png b/libs/supermap/Assets/Textures/maki/warehouse.png
deleted file mode 100644
index 910f1e4..0000000
--- a/libs/supermap/Assets/Textures/maki/warehouse.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/waste-basket.png b/libs/supermap/Assets/Textures/maki/waste-basket.png
deleted file mode 100644
index a71f9e4..0000000
--- a/libs/supermap/Assets/Textures/maki/waste-basket.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/water.png b/libs/supermap/Assets/Textures/maki/water.png
deleted file mode 100644
index 159a557..0000000
--- a/libs/supermap/Assets/Textures/maki/water.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/wetland.png b/libs/supermap/Assets/Textures/maki/wetland.png
deleted file mode 100644
index 1e8dec8..0000000
--- a/libs/supermap/Assets/Textures/maki/wetland.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/maki/zoo.png b/libs/supermap/Assets/Textures/maki/zoo.png
deleted file mode 100644
index 4802299..0000000
--- a/libs/supermap/Assets/Textures/maki/zoo.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/middle-edit.png b/libs/supermap/Assets/Textures/middle-edit.png
deleted file mode 100644
index e9b0d5e..0000000
--- a/libs/supermap/Assets/Textures/middle-edit.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/moonSmall.jpg b/libs/supermap/Assets/Textures/moonSmall.jpg
deleted file mode 100644
index 47f5252..0000000
--- a/libs/supermap/Assets/Textures/moonSmall.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/noise.png b/libs/supermap/Assets/Textures/noise.png
deleted file mode 100644
index eeaab6f..0000000
--- a/libs/supermap/Assets/Textures/noise.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/pin.svg b/libs/supermap/Assets/Textures/pin.svg
deleted file mode 100644
index 7892c36..0000000
--- a/libs/supermap/Assets/Textures/pin.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M6.72.422h10.56c1.273 0 2.297 1.336 2.297 2.993v7.558c0 1.657-1.024 2.993-2.295 2.993l-2.896.042-2.56 9.57-2.212-9.57-2.895-.043c-1.273.018-2.297-1.336-2.297-2.993V3.416C4.423 1.76 5.447.423 6.718.423z" fill="#444" stroke="#000" stroke-width=".846"/></svg>
\ No newline at end of file
diff --git a/libs/supermap/Assets/Textures/smoke.png b/libs/supermap/Assets/Textures/smoke.png
deleted file mode 100644
index 7e8b6bd..0000000
--- a/libs/supermap/Assets/Textures/smoke.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/vertex-edit.png b/libs/supermap/Assets/Textures/vertex-edit.png
deleted file mode 100644
index 6925d4b..0000000
--- a/libs/supermap/Assets/Textures/vertex-edit.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/waterNormals.jpg b/libs/supermap/Assets/Textures/waterNormals.jpg
deleted file mode 100644
index eb1baa2..0000000
--- a/libs/supermap/Assets/Textures/waterNormals.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/Textures/waterNormalsSmall.jpg b/libs/supermap/Assets/Textures/waterNormalsSmall.jpg
deleted file mode 100644
index 57b19d8..0000000
--- a/libs/supermap/Assets/Textures/waterNormalsSmall.jpg
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Assets/approximateTerrainHeights.json b/libs/supermap/Assets/approximateTerrainHeights.json
deleted file mode 100644
index e4e7ca3..0000000
--- a/libs/supermap/Assets/approximateTerrainHeights.json
+++ /dev/null
@@ -1 +0,0 @@
-{"6-0-0":[10.662392616271973,26.89437484741211],"6-0-1":[6.744882106781006,20.60187530517578],"6-0-2":[4.049985408782959,14.190625190734863],"6-0-3":[2.999666213989258,8.887890815734863],"6-0-4":[0.8949999809265137,6.790625095367432],"6-0-5":[0.8389999866485596,4.217128753662109],"6-0-6":[1.0129166841506958,996.6328735351562],"6-0-7":[1.6561719179153442,1473.79052734375],"6-0-8":[4.23466682434082,1405.418701171875],"6-0-9":[3.7839417457580566,9.417577743530273],"6-0-10":[0.33741796016693115,10.400215148925781],"6-0-11":[0.3738437592983246,9.41488265991211],"6-0-12":[-1.2068616151809692,10.713489532470703],"6-0-13":[-24.74429702758789,1797.1217041015625],"6-0-14":[-25.526838302612305,3.236640691757202],"6-0-15":[-12.715624809265137,0.054375000298023224],"6-0-16":[-21.006210327148438,-5.625],"6-0-17":[-25.642499923706055,-10.7993745803833],"6-0-18":[-25.801523208618164,-11.56656265258789],"6-0-19":[-23.983495712280273,-9.294875144958496],"6-0-20":[-21.024805068969727,-8.0122652053833],"6-0-21":[-17.253652572631836,28.35755729675293],"6-0-22":[-10.430000305175781,-0.18010741472244263],"6-0-23":[-6.085000038146973,1.268125057220459],"6-0-24":[0.20000000298023224,8.959297180175781],"6-0-25":[4.507139682769775,13.869999885559082],"6-0-26":[6.4291582107543945,18.9325008392334],"6-0-27":[9.264628410339355,23.026874542236328],"6-0-28":[10.92245864868164,27.123613357543945],"6-0-29":[12.682499885559082,32.420040130615234],"6-0-30":[15.674773216247559,36.435333251953125],"6-0-31":[17.173749923706055,41.696876525878906],"6-0-32":[18.65656280517578,43.90009689331055],"6-0-33":[19.852249145507812,48.68000030517578],"6-0-34":[21.118749618530273,56.49267578125],"6-0-35":[26.262500762939453,78.99913787841797],"6-0-36":[33,95.11029052734375],"6-0-37":[17.361024856567383,1242.8570556640625],"6-0-38":[17.562183380126953,1197.82421875],"6-0-39":[46.88206481933594,149.87619018554688],"6-0-40":[49.39250183105469,105.0863265991211],"6-0-41":[41.616249084472656,101.96843719482422],"6-0-42":[20.683752059936523,550.1085205078125],"6-0-43":[17.205312728881836,92.56500244140625],"6-0-44":[16.92913055419922,77.9800033569336],"6-0-45":[18.563125610351562,46.624141693115234],"6-0-46":[12.380000114440918,43.064064025878906],"6-0-47":[3.408663749694824,29.34000015258789],"6-0-48":[-19.809316635131836,6.480000019073486],"6-0-49":[-39.18437576293945,-4.525784015655518],"6-0-50":[-57.561134338378906,-19.100000381469727],"6-0-51":[-76.35336303710938,-29.469491958618164],"6-0-52":[-88.3481674194336,-37.907501220703125],"6-0-53":[-97.6156234741211,-44.45500183105469],"6-0-54":[-101.64617156982422,-48.19124984741211],"6-0-55":[-119.69437408447266,-51.12393569946289],"6-0-56":[-126.96334075927734,-57.56533432006836],"6-0-57":[-126.29269409179688,-60.821327209472656],"6-0-58":[-126.25599670410156,-59.930580139160156],"6-0-59":[-119.09048461914062,-54.849998474121094],"6-0-60":[-110.8706283569336,-48.640201568603516],"6-0-61":[-96.6114273071289,258.7962646484375],"6-0-62":[-90.73312377929688,2997.3701171875],"6-0-63":[-31.66657257080078,3098.166259765625],"6-1-0":[10.710624694824219,26.9424991607666],"6-1-1":[7.143750190734863,20.791250228881836],"5-0-0":[6.744882106781006,26.9424991607666],"6-1-2":[3.8924999237060547,15.039999961853027],"6-1-3":[3.3754611015319824,8.355371475219727],"5-0-1":[2.999666213989258,15.039999961853027],"6-1-4":[-0.6043750047683716,6.82687520980835],"6-1-5":[-0.5409374833106995,4.820000171661377],"5-0-2":[-0.6043750047683716,6.82687520980835],"6-1-6":[-0.37812501192092896,343.8921203613281],"6-1-7":[0.4310937523841858,308.29644775390625],"5-0-3":[-0.37812501192092896,1473.79052734375],"6-1-8":[1.8817499876022339,906.9592895507812],"6-1-9":[4.01687479019165,286.6402587890625],"5-0-4":[1.8817499876022339,1405.418701171875],"6-1-10":[3.661250114440918,13.999062538146973],"6-1-11":[1.5071094036102295,14.171875],"5-0-5":[0.33741796016693115,14.171875],"6-1-12":[2.4733006954193115,10.454843521118164],"6-1-13":[-22.05035972595215,1734.2342529296875],"5-0-6":[-24.74429702758789,1797.1217041015625],"6-1-14":[-20.709688186645508,6.517499923706055],"6-1-15":[-11.227499961853027,1.309999942779541],"5-0-7":[-25.526838302612305,6.517499923706055],"6-1-16":[-20.504375457763672,-4.756666660308838],"6-1-17":[-25.697500228881836,-10.005000114440918],"5-0-8":[-25.697500228881836,-4.756666660308838],"6-1-18":[-26.180585861206055,-12.152578353881836],"6-1-19":[-25.860937118530273,-9.226449966430664],"5-0-9":[-26.180585861206055,-9.226449966430664],"6-1-20":[-22.912500381469727,-7.871250152587891],"6-1-21":[-16.028125762939453,0.2562499940395355],"5-0-10":[-22.912500381469727,28.35755729675293],"6-1-22":[-9.585546493530273,9.267816543579102],"6-1-23":[-2.893749952316284,6.539999961853027],"5-0-11":[-10.430000305175781,9.267816543579102],"6-1-24":[0.8600000143051147,11.165937423706055],"6-1-25":[4.318515777587891,18.65625],"5-0-12":[0.20000000298023224,18.65625],"6-1-26":[6.617916584014893,18.186717987060547],"6-1-27":[8.708791732788086,22.840625762939453],"5-0-13":[6.4291582107543945,23.026874542236328],"6-1-28":[9.961166381835938,23.631250381469727],"6-1-29":[9.979999542236328,31.22347640991211],"5-0-14":[9.961166381835938,32.420040130615234],"6-1-30":[13.018346786499023,34.393829345703125],"6-1-31":[16.280000686645508,38.73692321777344],"5-0-15":[13.018346786499023,41.696876525878906],"6-1-32":[16.811914443969727,39.96182632446289],"6-1-33":[17.687732696533203,44.10054397583008],"5-0-16":[16.811914443969727,48.68000030517578],"6-1-34":[18.549999237060547,49.527931213378906],"6-1-35":[22.646608352661133,65.9437484741211],"5-0-17":[18.549999237060547,78.99913787841797],"6-1-36":[28.21576690673828,188.58447265625],"6-1-37":[34.365665435791016,262.2835998535156],"5-0-18":[17.361024856567383,1242.8570556640625],"6-1-38":[45.219852447509766,1074.20068359375],"6-1-39":[25.485000610351562,561.4708251953125],"5-0-19":[17.562183380126953,1197.82421875],"6-1-40":[23.50523567199707,105.16500091552734],"6-1-41":[23.639999389648438,99.69751739501953],"5-0-20":[23.50523567199707,105.16500091552734],"6-1-42":[19.329999923706055,82.53816223144531],"6-1-43":[18.61750030517578,61.848297119140625],"5-0-21":[17.205312728881836,550.1085205078125],"6-1-44":[20.077499389648438,55.807342529296875],"6-1-45":[18.77750015258789,46.451934814453125],"5-0-22":[16.92913055419922,77.9800033569336],"6-1-46":[8.688750267028809,36.1150016784668],"6-1-47":[-36.779884338378906,306.2413330078125],"5-0-23":[-36.779884338378906,306.2413330078125],"6-1-48":[-22.6590633392334,5.184999942779541],"6-1-49":[-42.81999969482422,-11.132499694824219],"5-0-24":[-42.81999969482422,6.480000019073486],"6-1-50":[-57.8447265625,-19.100000381469727],"6-1-51":[-75.6875,-29.657812118530273],"5-0-25":[-76.35336303710938,-19.100000381469727],"6-1-52":[-86.82427978515625,-37.51066589355469],"6-1-53":[-96.12187194824219,-43.0724983215332],"5-0-26":[-97.6156234741211,-37.51066589355469],"6-1-54":[-101.16291046142578,-47.18199920654297],"6-1-55":[-120.91999816894531,-50.741249084472656],"5-0-27":[-120.91999816894531,-47.18199920654297],"6-1-56":[-127.83187866210938,-59.08183288574219],"6-1-57":[-130.4034423828125,-62.14841842651367],"5-0-28":[-130.4034423828125,-57.56533432006836],"6-1-58":[-130.17813110351562,-59.599998474121094],"6-1-59":[-119.24624633789062,-55.12033462524414],"5-0-29":[-130.17813110351562,-54.849998474121094],"6-1-60":[-110.9800033569336,-49.40937423706055],"6-1-61":[-97.86125183105469,-11.154218673706055],"5-0-30":[-110.9800033569336,258.7962646484375],"6-1-62":[-91.51000213623047,3443.806396484375],"6-1-63":[-29.539499282836914,3102.3349609375],"5-0-31":[-91.51000213623047,3443.806396484375],"6-2-0":[10.72249984741211,26.978750228881836],"6-2-1":[7.835697174072266,20.818124771118164],"6-2-2":[3.5824999809265137,15.7240629196167],"6-2-3":[2.5450000762939453,7.197812557220459],"6-2-4":[-0.6043750047683716,5.78000020980835],"6-2-5":[-0.5006250143051147,5.614433765411377],"6-2-6":[-0.5006250143051147,2.5158984661102295],"6-2-7":[0.492249995470047,3.569999933242798],"6-2-8":[1.4524999856948853,1107.570068359375],"6-2-9":[4.335000038146973,935.4871826171875],"6-2-10":[6.380000114440918,447.81634521484375],"6-2-11":[2.78653883934021,22.323867797851562],"6-2-12":[4.367499828338623,15.329999923706055],"6-2-13":[-21.962499618530273,1546.33056640625],"6-2-14":[-15.59000015258789,10.1021089553833],"6-2-15":[-8.9399995803833,3.5063672065734863],"6-2-16":[-19.279375076293945,-3.755000114440918],"6-2-17":[-25.094999313354492,-8.481249809265137],"6-2-18":[-26.212108612060547,-11.532500267028809],"6-2-19":[-26.610645294189453,-11.45008373260498],"6-2-20":[-24.214374542236328,-7.640625],"6-2-21":[-15.306171417236328,-2.943349599838257],"6-2-22":[-9.574999809265137,22.83011245727539],"6-2-23":[0.062298279255628586,13.158320426940918],"6-2-24":[3.6593527793884277,16.573633193969727],"6-2-25":[5.953750133514404,18.746641159057617],"6-2-26":[7.563711166381836,18.264375686645508],"6-2-27":[8.723750114440918,22.689844131469727],"6-2-28":[9.83185863494873,22.15999984741211],"6-2-29":[9.862890243530273,26.059999465942383],"6-2-30":[12.205530166625977,32.272186279296875],"6-2-31":[13.892125129699707,34.720001220703125],"6-2-32":[14.450139045715332,36.72468566894531],"6-2-33":[14.449928283691406,38.34441375732422],"6-2-34":[17.75,45.32490158081055],"6-2-35":[20.66746711730957,56.50179672241211],"6-2-36":[14.562848091125488,1897.3251953125],"6-2-37":[21.739688873291016,602.1018676757812],"6-2-38":[6.5295610427856445,258.2967224121094],"6-2-39":[23.90250015258789,87.92964935302734],"6-2-40":[24.731639862060547,68.49024200439453],"6-2-41":[28.760000228881836,71.419921875],"6-2-42":[24.125,69.10718536376953],"6-2-43":[21.797500610351562,60.22218704223633],"6-2-44":[16.266874313354492,53.68000030517578],"6-2-45":[9.604999542236328,38.474998474121094],"6-2-46":[4.351250171661377,25.7549991607666],"6-2-47":[-8.33187484741211,16.05062484741211],"6-2-48":[-23.65412139892578,-1.7899999618530273],"6-2-49":[-43.09312438964844,-12.4712495803833],"6-2-50":[-57.43781280517578,-20.260000228881836],"6-2-51":[-75.0199966430664,-28.990625381469727],"6-2-52":[-85.42469024658203,-36.157501220703125],"6-2-53":[-94.36000061035156,-42.323123931884766],"6-2-54":[-100.34156036376953,-45.743751525878906],"6-2-55":[-118.1500015258789,-50.3025016784668],"6-2-56":[-127.83187866210938,-57.377498626708984],"6-2-57":[-132.45355224609375,-63.72624969482422],"6-2-58":[-131.20750427246094,-59.33671951293945],"6-2-59":[-117.93499755859375,-55.100833892822266],"6-2-60":[-110.82062530517578,-49.584999084472656],"6-2-61":[-98.67361450195312,-43.95000076293945],"6-2-62":[-90.625,3904.294677734375],"6-2-63":[-29.5396671295166,3104.91357421875],"6-3-0":[10.725000381469727,27.02312469482422],"6-3-1":[7.914999961853027,20.811874389648438],"5-1-0":[7.835697174072266,27.02312469482422],"6-3-2":[3.442500114440918,16.579999923706055],"6-3-3":[2.118833303451538,6.474374771118164],"5-1-1":[2.118833303451538,16.579999923706055],"4-0-0":[2.118833303451538,27.02312469482422],"6-3-4":[-0.020625000819563866,6.752500057220459],"6-3-5":[-0.5521875023841858,6.62890625],"5-1-2":[-0.6043750047683716,6.752500057220459],"6-3-6":[-1.0343749523162842,3.0254688262939453],"6-3-7":[0.5851041674613953,2.78125],"5-1-3":[-1.0343749523162842,3.569999933242798],"4-0-1":[-1.0343749523162842,1473.79052734375],"6-3-8":[1.2638332843780518,912.8394775390625],"6-3-9":[4.335000038146973,618.7957153320312],"5-1-4":[1.2638332843780518,1107.570068359375],"6-3-10":[6.380000114440918,21.81999969482422],"6-3-11":[-9.61993408203125,311.3698425292969],"5-1-5":[-9.61993408203125,447.81634521484375],"4-0-2":[-9.61993408203125,1405.418701171875],"6-3-12":[5.535624980926514,24.459999084472656],"6-3-13":[-16.074665069580078,1745.844970703125],"5-1-6":[-21.962499618530273,1745.844970703125],"6-3-14":[-2.9375,13.590624809265137],"6-3-15":[-7.301249980926514,5.276796817779541],"5-1-7":[-15.59000015258789,13.590624809265137],"4-0-3":[-25.526838302612305,1797.1217041015625],"6-3-16":[-15.656874656677246,-3.1670000553131104],"6-3-17":[-22.95687484741211,-8.299062728881836],"5-1-8":[-25.094999313354492,-3.1670000553131104],"6-3-18":[-26.204374313354492,-10.939416885375977],"6-3-19":[-27.226797103881836,-12.177499771118164],"5-1-9":[-27.226797103881836,-10.939416885375977],"4-0-4":[-27.226797103881836,-3.1670000553131104],"6-3-20":[-24.80500030517578,-7.640625],"6-3-21":[-14.334297180175781,0.46000000834465027],"5-1-10":[-24.80500030517578,0.46000000834465027],"6-3-22":[-3.3324999809265137,23.052753448486328],"6-3-23":[2.585249900817871,22.362812042236328],"5-1-11":[-9.574999809265137,23.052753448486328],"4-0-5":[-24.80500030517578,28.35755729675293],"6-3-24":[6.284999847412109,19.354999542236328],"6-3-25":[8.08457088470459,21.313344955444336],"5-1-12":[3.6593527793884277,21.313344955444336],"6-3-26":[1.665480613708496,34.676639556884766],"6-3-27":[8.888359069824219,23.50749969482422],"5-1-13":[1.665480613708496,34.676639556884766],"4-0-6":[0.20000000298023224,34.676639556884766],"6-3-28":[10.27673053741455,25.69953155517578],"6-3-29":[10.854316711425781,24.850000381469727],"5-1-14":[9.83185863494873,26.059999465942383],"6-3-30":[11.935444831848145,28.26628875732422],"6-3-31":[13.637499809265137,30.638906478881836],"5-1-15":[11.935444831848145,34.720001220703125],"4-0-7":[9.83185863494873,41.696876525878906],"6-3-32":[14.742258071899414,33.864646911621094],"6-3-33":[11.587777137756348,35.782501220703125],"5-1-16":[11.587777137756348,38.34441375732422],"6-3-34":[16.569652557373047,41.3337516784668],"6-3-35":[18.052499771118164,51.0681266784668],"5-1-17":[16.569652557373047,56.50179672241211],"4-0-8":[11.587777137756348,78.99913787841797],"6-3-36":[19.63053321838379,771.3870849609375],"6-3-37":[21.730600357055664,997.058837890625],"5-1-18":[14.562848091125488,1897.3251953125],"6-3-38":[22.855899810791016,125.78282928466797],"6-3-39":[22.68316650390625,58.95882797241211],"5-1-19":[6.5295610427856445,258.2967224121094],"4-0-9":[6.5295610427856445,1897.3251953125],"6-3-40":[21.127500534057617,59.20500183105469],"6-3-41":[21.127500534057617,57.285118103027344],"5-1-20":[21.127500534057617,71.419921875],"6-3-42":[19.0049991607666,55.56656265258789],"6-3-43":[19.0049991607666,45.13603591918945],"5-1-21":[19.0049991607666,69.10718536376953],"4-0-10":[17.205312728881836,550.1085205078125],"6-3-44":[12.682499885559082,42.368751525878906],"6-3-45":[7.261363983154297,30.686582565307617],"5-1-22":[7.261363983154297,53.68000030517578],"6-3-46":[1.0724999904632568,18.095624923706055],"6-3-47":[-14.020000457763672,6.667441368103027],"5-1-23":[-14.020000457763672,25.7549991607666],"4-0-11":[-36.779884338378906,306.2413330078125],"6-3-48":[-25.511249542236328,-4.539999961853027],"6-3-49":[-40.7599983215332,-13.018750190734863],"5-1-24":[-43.09312438964844,-1.7899999618530273],"6-3-50":[-55.840721130371094,-20.054582595825195],"6-3-51":[-71.87000274658203,-27.950000762939453],"5-1-25":[-75.0199966430664,-20.054582595825195],"4-0-12":[-76.35336303710938,6.480000019073486],"6-3-52":[-83.22348022460938,-35.080833435058594],"6-3-53":[-91.12094116210938,-41.0724983215332],"5-1-26":[-94.36000061035156,-35.080833435058594],"6-3-54":[-99.0167007446289,-44.501834869384766],"6-3-55":[-114.53187561035156,-49.532501220703125],"5-1-27":[-118.1500015258789,-44.501834869384766],"4-0-13":[-120.91999816894531,-35.080833435058594],"6-3-56":[-126.72624969482422,-56.7413330078125],"6-3-57":[-132.78492736816406,-63.72624969482422],"5-1-28":[-132.78492736816406,-56.7413330078125],"6-3-58":[-132.20132446289062,-59.467498779296875],"6-3-59":[-117.44249725341797,-55.060333251953125],"5-1-29":[-132.20132446289062,-55.060333251953125],"4-0-14":[-132.78492736816406,-54.849998474121094],"6-3-60":[-110.8968734741211,-50.056251525878906],"6-3-61":[-98.88008117675781,-43.58091735839844],"5-1-30":[-110.8968734741211,-43.58091735839844],"6-3-62":[-87.66812133789062,3970.4091796875],"6-3-63":[-29.539833068847656,3106.06298828125],"5-1-31":[-90.625,3970.4091796875],"4-0-15":[-110.9800033569336,3970.4091796875],"6-4-0":[10.727499961853027,27.069395065307617],"6-4-1":[8.585000038146973,20.871875762939453],"6-4-2":[3.210624933242798,17.102188110351562],"6-4-3":[2.1036667823791504,7.081250190734863],"6-4-4":[1.1974999904632568,8.009452819824219],"6-4-5":[-0.21687500178813934,6.215000152587891],"6-4-6":[-1.0792968273162842,2.403749942779541],"6-4-7":[0.3981249928474426,611.0447998046875],"6-4-8":[1.0700000524520874,1101.3404541015625],"6-4-9":[4.699999809265137,428.476318359375],"6-4-10":[9.227499961853027,653.3540649414062],"6-4-11":[10.760000228881836,27.567129135131836],"6-4-12":[-14.981194496154785,1825.964599609375],"6-4-13":[-15.59131145477295,2084.312744140625],"6-4-14":[3.4749999046325684,18.158788681030273],"6-4-15":[-5.559999942779541,6.142148494720459],"6-4-16":[-15.536250114440918,-2.5199999809265137],"6-4-17":[-23.209999084472656,-7.816874980926514],"6-4-18":[-26.70197296142578,-10.935832977294922],"6-4-19":[-27.99039077758789,-11.6274995803833],"6-4-20":[-24.260000228881836,-7.941249847412109],"6-4-21":[-14.619140625,0.9671875238418579],"6-4-22":[-0.19875000417232513,17.5401554107666],"6-4-23":[2.537734270095825,28.14875030517578],"6-4-24":[7.625,19.580507278442383],"6-4-25":[8.145000457763672,21.938350677490234],"6-4-26":[9.01953411102295,22.230369567871094],"6-4-27":[10.38117504119873,25.704999923706055],"6-4-28":[11.659500122070312,27.187793731689453],"6-4-29":[12.013416290283203,27.8350772857666],"6-4-30":[12.522455215454102,28.261249542236328],"6-4-31":[13.606291770935059,29.571718215942383],"6-4-32":[14.294477462768555,32.883750915527344],"6-4-33":[15.454000473022461,34.8537483215332],"6-4-34":[16.243749618530273,35.598751068115234],"6-4-35":[15.794037818908691,39.89781188964844],"6-4-36":[15.1875,43.71812438964844],"6-4-37":[15.332924842834473,45.709999084472656],"6-4-38":[15.372841835021973,48.55828094482422],"6-4-39":[15.29671859741211,45.875],"6-4-40":[15.099374771118164,44.400001525878906],"6-4-41":[14.973041534423828,42.283748626708984],"6-4-42":[13.731249809265137,42.2599983215332],"6-4-43":[12.0625,37.31624984741211],"6-4-44":[10.391875267028809,32.279998779296875],"6-4-45":[5.849208354949951,25.327890396118164],"6-4-46":[-0.36531248688697815,17.649999618530273],"6-4-47":[-16.6043758392334,1.0724999904632568],"6-4-48":[-26.314863204956055,-7.425666809082031],"6-4-49":[-40.7599983215332,-13.577500343322754],"6-4-50":[-53.72312545776367,-20.059999465942383],"6-4-51":[-70.16000366210938,-26.951875686645508],"6-4-52":[-80.78187561035156,-33.290000915527344],"6-4-53":[-89,-39.396873474121094],"6-4-54":[-97.34562683105469,-43.10625076293945],"6-4-55":[-113.4800033569336,-49.01625061035156],"6-4-56":[-126.74002075195312,-56.10499954223633],"6-4-57":[-131.58999633789062,-62.78125],"6-4-58":[-131.9031219482422,-58.903751373291016],"6-4-59":[-117.29125213623047,-55.060001373291016],"6-4-60":[-111.06124877929688,-49.975624084472656],"6-4-61":[-98.74500274658203,-43.61541748046875],"6-4-62":[-87.84062194824219,3807.758544921875],"6-4-63":[-29.539833068847656,3106.126953125],"6-5-0":[10.783124923706055,27.115625381469727],"6-5-1":[8.585000038146973,21.094999313354492],"5-2-0":[8.585000038146973,27.115625381469727],"6-5-2":[3.172499895095825,17.65999984741211],"6-5-3":[0.9281666874885559,7.257500171661377],"5-2-1":[0.9281666874885559,17.65999984741211],"6-5-4":[-0.47874999046325684,7.990879058837891],"6-5-5":[-2.169374942779541,1.633632779121399],"5-2-2":[-2.169374942779541,8.009452819824219],"6-5-6":[-0.7378125190734863,0.5643749833106995],"6-5-7":[-0.4325000047683716,977.804443359375],"5-2-3":[-1.0792968273162842,977.804443359375],"6-5-8":[1.0700000524520874,1285.6285400390625],"6-5-9":[5.929843902587891,689.9798583984375],"5-2-4":[1.0700000524520874,1285.6285400390625],"6-5-10":[9.227499961853027,574.40771484375],"6-5-11":[12.46500015258789,29.757186889648438],"5-2-5":[9.227499961853027,653.3540649414062],"6-5-12":[-36.24821090698242,2863.95849609375],"6-5-13":[-3.1123046875,25.076250076293945],"5-2-6":[-36.24821090698242,2863.95849609375],"6-5-14":[3.541249990463257,19.58953094482422],"6-5-15":[-6.320000171661377,5.935800552368164],"5-2-7":[-6.320000171661377,19.58953094482422],"6-5-16":[-17.390625,-2.5199999809265137],"6-5-17":[-24.53499984741211,-7.99875020980835],"5-2-8":[-24.53499984741211,-2.5199999809265137],"6-5-18":[-27.219999313354492,-11.555000305175781],"6-5-19":[-27.565000534057617,-11.8125],"5-2-9":[-27.99039077758789,-10.935832977294922],"6-5-20":[-24.979999542236328,-7.941249847412109],"6-5-21":[-15.876562118530273,-0.19875000417232513],"5-2-10":[-24.979999542236328,0.9671875238418579],"6-5-22":[-3.569999933242798,8.22445297241211],"6-5-23":[3.2079999446868896,68.1701431274414],"5-2-11":[-3.569999933242798,68.1701431274414],"6-5-24":[7.474999904632568,18.669511795043945],"6-5-25":[7.192163944244385,18.094999313354492],"5-2-12":[7.192163944244385,21.938350677490234],"6-5-26":[7.38706111907959,20.469921112060547],"6-5-27":[8.5649995803833,27.758750915527344],"5-2-13":[7.38706111907959,27.758750915527344],"6-5-28":[11.808157920837402,30.772384643554688],"6-5-29":[12.822500228881836,30.650989532470703],"5-2-14":[11.659500122070312,30.772384643554688],"6-5-30":[13.6196870803833,32.29343795776367],"6-5-31":[13.869250297546387,32.649845123291016],"5-2-15":[12.522455215454102,32.649845123291016],"6-5-32":[14.355667114257812,32.290000915527344],"6-5-33":[15.096875190734863,34.30531311035156],"5-2-16":[14.294477462768555,34.8537483215332],"6-5-34":[14.433011054992676,33.95476531982422],"6-5-35":[14.390000343322754,37.53130340576172],"5-2-17":[14.390000343322754,39.89781188964844],"6-5-36":[12.641250610351562,37.43314743041992],"6-5-37":[11.667878150939941,31.094200134277344],"5-2-18":[11.667878150939941,45.709999084472656],"6-5-38":[11.75207805633545,38.61710739135742],"6-5-39":[12.159394264221191,31.698749542236328],"5-2-19":[11.75207805633545,48.55828094482422],"6-5-40":[10.418749809265137,30.121660232543945],"6-5-41":[10.418749809265137,29.261659622192383],"5-2-20":[10.418749809265137,44.400001525878906],"6-5-42":[10.267499923706055,28.581092834472656],"6-5-43":[8.595894813537598,25.152206420898438],"5-2-21":[8.595894813537598,42.2599983215332],"6-5-44":[6.707499980926514,23.38849639892578],"6-5-45":[4.270113945007324,19.08464813232422],"5-2-22":[4.270113945007324,32.279998779296875],"6-5-46":[-1.3551172018051147,10.739375114440918],"6-5-47":[-17.260000228881836,-0.35624998807907104],"5-2-23":[-17.260000228881836,17.649999618530273],"6-5-48":[-26.3909969329834,-8.289999961853027],"6-5-49":[-40.477813720703125,-13.412500381469727],"5-2-24":[-40.7599983215332,-7.425666809082031],"6-5-50":[-51.9833984375,-19.839082717895508],"6-5-51":[-66.21624755859375,-25.934999465942383],"5-2-25":[-70.16000366210938,-19.839082717895508],"6-5-52":[-77.23214721679688,-31.843666076660156],"6-5-53":[-85.89562225341797,-37.712501525878906],"5-2-26":[-89,-31.843666076660156],"6-5-54":[-96.2763900756836,-42.09375],"6-5-55":[-112.02812194824219,-48.58000183105469],"5-2-27":[-113.4800033569336,-42.09375],"6-5-56":[-123.42982482910156,-55.02583312988281],"6-5-57":[-130.9237518310547,-62.404998779296875],"5-2-28":[-131.58999633789062,-55.02583312988281],"6-5-58":[-131.3125,-59.02000045776367],"6-5-59":[-121.4140625,-54.72233200073242],"5-2-29":[-131.9031219482422,-54.72233200073242],"6-5-60":[-111.22000122070312,146.65567016601562],"6-5-61":[-98.39125061035156,-43.74583435058594],"5-2-30":[-111.22000122070312,146.65567016601562],"6-5-62":[-87.93000030517578,3579.748779296875],"6-5-63":[-29.540000915527344,3100.273193359375],"5-2-31":[-87.93000030517578,3807.758544921875],"6-6-0":[10.892499923706055,27.171875],"6-6-1":[8.998749732971191,21.33187484741211],"6-6-2":[3.203749895095825,17.97687530517578],"6-6-3":[0.5060937404632568,6.610000133514404],"6-6-4":[-2.9449803829193115,6.610000133514404],"6-6-5":[-3.6736719608306885,0.41749998927116394],"6-6-6":[-2.0174999237060547,37.02391815185547],"6-6-7":[-1.0175000429153442,1376.88427734375],"6-6-8":[3.711385488510132,982.6102905273438],"6-6-9":[7.431666851043701,985.8113403320312],"6-6-10":[11.947500228881836,1234.977294921875],"6-6-11":[13.11198616027832,705.1353759765625],"6-6-12":[-89.40628051757812,2536.317138671875],"6-6-13":[3.4082393646240234,22.828222274780273],"6-6-14":[2.6549999713897705,19.518827438354492],"6-6-15":[-7.981249809265137,5.630624771118164],"6-6-16":[-18.665624618530273,-3.6115000247955322],"6-6-17":[-26.51593780517578,-9.157500267028809],"6-6-18":[-29.612010955810547,-12.335583686828613],"6-6-19":[-29.53402328491211,-12.549500465393066],"6-6-20":[-27.31624984741211,-8.278905868530273],"6-6-21":[-18.44513702392578,-1.9548333883285522],"6-6-22":[-6.478125095367432,7.13156270980835],"6-6-23":[3.018749952316284,190.00540161132812],"6-6-24":[6.517499923706055,138.46029663085938],"6-6-25":[5.691249847412109,15.955312728881836],"6-6-26":[5.407812595367432,16.509374618530273],"6-6-27":[6.054375171661377,22.739999771118164],"6-6-28":[9.029999732971191,28.203632354736328],"6-6-29":[-17.455322265625,51.54735565185547],"6-6-30":[13.152978897094727,50.1531982421875],"6-6-31":[15.347332954406738,33.26054763793945],"6-6-32":[14.323166847229004,31.905000686645508],"6-6-33":[13.671250343322754,32.65812683105469],"6-6-34":[12.206250190734863,30.780000686645508],"6-6-35":[8.786381721496582,41.933101654052734],"6-6-36":[9.463125228881836,29.87468719482422],"6-6-37":[9.157500267028809,25.282499313354492],"6-6-38":[9.38070297241211,32.544952392578125],"6-6-39":[9.541874885559082,25.030624389648438],"6-6-40":[7.995625019073486,24.1299991607666],"6-6-41":[6.632500171661377,21.249061584472656],"6-6-42":[6.038750171661377,21.200000762939453],"6-6-43":[5.827499866485596,20.06218719482422],"6-6-44":[4.24484395980835,16.540000915527344],"6-6-45":[2.140000104904175,12.633125305175781],"6-6-46":[-4.040605545043945,7.65500020980835],"6-6-47":[-16.618125915527344,-0.23140625655651093],"6-6-48":[-26.462852478027344,-8.010000228881836],"6-6-49":[-39.58000183105469,-13.390233993530273],"6-6-50":[-50.26874923706055,-19.087499618530273],"6-6-51":[-63.68000030517578,-24.712499618530273],"6-6-52":[-73.98031616210938,-30.155000686645508],"6-6-53":[-84.18499755859375,-35.5625],"6-6-54":[-95.46593475341797,-40.93000030517578],"6-6-55":[-110.05000305175781,-48.04499816894531],"6-6-56":[-123.49640655517578,-54.779998779296875],"6-6-57":[-129.7449951171875,-61.6931266784668],"6-6-58":[-129.7449951171875,-62.063751220703125],"6-6-59":[-121.73558807373047,-53.84749984741211],"6-6-60":[-109.44000244140625,382.34393310546875],"6-6-61":[-98.12875366210938,-36.441165924072266],"6-6-62":[-87.48999786376953,3110.84814453125],"6-6-63":[-29.540000915527344,3090.167724609375],"6-7-0":[11.053125381469727,27.224374771118164],"6-7-1":[8.998749732971191,21.612499237060547],"5-3-0":[8.998749732971191,27.224374771118164],"6-7-2":[3.119999885559082,18.015625],"6-7-3":[-1.8799999952316284,4.745761871337891],"5-3-1":[-1.8799999952316284,18.015625],"4-1-0":[-1.8799999952316284,27.224374771118164],"6-7-4":[-2.227851629257202,3.158750057220459],"6-7-5":[-10.471875190734863,-0.692187488079071],"5-3-2":[-10.471875190734863,6.610000133514404],"6-7-6":[-6.590000152587891,40.507728576660156],"6-7-7":[4.262625217437744,1489.2713623046875],"5-3-3":[-6.590000152587891,1489.2713623046875],"4-1-1":[-10.471875190734863,1489.2713623046875],"3-0-0":[-10.471875190734863,1489.2713623046875],"6-7-8":[5.883906364440918,1063.9132080078125],"6-7-9":[20.709917068481445,1104.56689453125],"5-3-4":[3.711385488510132,1104.56689453125],"6-7-10":[14.913749694824219,1599.95361328125],"6-7-11":[-8.968847274780273,1740.5635986328125],"5-3-5":[-8.968847274780273,1740.5635986328125],"4-1-2":[-8.968847274780273,1740.5635986328125],"6-7-12":[-61.84696960449219,2512.649169921875],"6-7-13":[5.5706257820129395,22.756444931030273],"5-3-6":[-89.40628051757812,2536.317138671875],"6-7-14":[0.6449999809265137,18.200000762939453],"6-7-15":[-12.260000228881836,3.0401368141174316],"5-3-7":[-12.260000228881836,19.518827438354492],"4-1-3":[-89.40628051757812,2863.95849609375],"3-0-1":[-89.40628051757812,2863.95849609375],"6-7-16":[-22.241249084472656,-4.090000152587891],"6-7-17":[-29.139999389648438,-10.0756254196167],"5-3-8":[-29.139999389648438,-3.6115000247955322],"6-7-18":[-31.979999542236328,-13.470000267028809],"6-7-19":[-31.857500076293945,-13.832500457763672],"5-3-9":[-31.979999542236328,-12.335583686828613],"4-1-4":[-31.979999542236328,-2.5199999809265137],"6-7-20":[-30.100000381469727,-10.001250267028809],"6-7-21":[-23.559999465942383,-3.547499895095825],"5-3-10":[-30.100000381469727,-1.9548333883285522],"6-7-22":[-13.90999984741211,4.683222770690918],"6-7-23":[0.9925000071525574,14.597343444824219],"5-3-11":[-13.90999984741211,190.00540161132812],"4-1-5":[-30.100000381469727,190.00540161132812],"3-0-2":[-31.979999542236328,190.00540161132812],"6-7-24":[3.4261648654937744,1613.08447265625],"6-7-25":[5.025000095367432,15.517350196838379],"5-3-12":[3.4261648654937744,1613.08447265625],"6-7-26":[3.251499891281128,10.995976448059082],"6-7-27":[3.444999933242798,17.454374313354492],"5-3-13":[3.251499891281128,22.739999771118164],"4-1-6":[3.251499891281128,1613.08447265625],"6-7-28":[7.093530654907227,27.004491806030273],"6-7-29":[10.9350004196167,32.981563568115234],"5-3-14":[-17.455322265625,51.54735565185547],"6-7-30":[11.966679573059082,44.94723129272461],"6-7-31":[15.142438888549805,36.63479995727539],"5-3-15":[11.966679573059082,50.1531982421875],"4-1-7":[-17.455322265625,51.54735565185547],"3-0-3":[-17.455322265625,1613.08447265625],"6-7-32":[14.440875053405762,33.4582405090332],"6-7-33":[12.085000038146973,29.120664596557617],"5-3-16":[12.085000038146973,33.4582405090332],"6-7-34":[9.4303617477417,27.019062042236328],"6-7-35":[7.862258434295654,36.932315826416016],"5-3-17":[7.862258434295654,41.933101654052734],"4-1-8":[7.862258434295654,41.933101654052734],"6-7-36":[7.222499847412109,22.350000381469727],"6-7-37":[6.790533542633057,18.926250457763672],"5-3-18":[6.790533542633057,29.87468719482422],"6-7-38":[1.569578766822815,124.29959106445312],"6-7-39":[2.329150438308716,568.3699340820312],"5-3-19":[1.569578766822815,568.3699340820312],"4-1-9":[1.569578766822815,568.3699340820312],"3-0-4":[1.569578766822815,1897.3251953125],"6-7-40":[4.25,19.084375381469727],"6-7-41":[3.0164222717285156,14.766797065734863],"5-3-20":[3.0164222717285156,24.1299991607666],"6-7-42":[2.3410000801086426,12.323749542236328],"6-7-43":[2.2915000915527344,11.625273704528809],"5-3-21":[2.2915000915527344,21.200000762939453],"4-1-10":[2.2915000915527344,44.400001525878906],"6-7-44":[1.2625000476837158,10.720000267028809],"6-7-45":[0.7663333415985107,8.1459379196167],"5-3-22":[0.7663333415985107,16.540000915527344],"6-7-46":[-6.770625114440918,4.106874942779541],"6-7-47":[-16.151874542236328,-2.7074999809265137],"5-3-23":[-16.618125915527344,7.65500020980835],"4-1-11":[-17.260000228881836,32.279998779296875],"3-0-5":[-36.779884338378906,550.1085205078125],"6-7-48":[-26.576112747192383,-6.488333225250244],"6-7-49":[-40.14809799194336,-13.727499961853027],"5-3-24":[-40.14809799194336,-6.488333225250244],"6-7-50":[-47.5598258972168,-19.184999465942383],"6-7-51":[-60.0256233215332,-23.459999084472656],"5-3-25":[-63.68000030517578,-19.087499618530273],"4-1-12":[-70.16000366210938,-6.488333225250244],"6-7-52":[-69.1161117553711,-28.303499221801758],"6-7-53":[-81.44844055175781,-33.852500915527344],"5-3-26":[-84.18499755859375,-28.303499221801758],"6-7-54":[-93.96027374267578,-39.48649978637695],"6-7-55":[-109.84249877929688,-47.07500076293945],"5-3-27":[-110.05000305175781,-39.48649978637695],"4-1-13":[-113.4800033569336,-28.303499221801758],"3-0-6":[-120.91999816894531,6.480000019073486],"6-7-56":[-122.71861267089844,-54.61083221435547],"6-7-57":[-128.4365692138672,-60.842498779296875],"5-3-28":[-129.7449951171875,-54.61083221435547],"6-7-58":[-128.98800659179688,-62.740623474121094],"6-7-59":[-122.70687866210938,340.281494140625],"5-3-29":[-129.7449951171875,340.281494140625],"4-1-14":[-131.9031219482422,340.281494140625],"6-7-60":[-107.61062622070312,329.5502014160156],"6-7-61":[-97.2934799194336,5.382500171661377],"5-3-30":[-109.44000244140625,382.34393310546875],"6-7-62":[-86.3637466430664,3872.32177734375],"6-7-63":[-29.5401668548584,3078.76220703125],"5-3-31":[-87.48999786376953,3872.32177734375],"4-1-15":[-111.22000122070312,3872.32177734375],"3-0-7":[-132.78492736816406,3970.4091796875],"6-8-0":[11.2524995803833,27.272499084472656],"6-8-1":[8.741250038146973,21.803749084472656],"6-8-2":[2.697499990463257,17.899999618530273],"6-8-3":[-2.9568750858306885,4.355625152587891],"6-8-4":[-4.016738414764404,0.2549999952316284],"6-8-5":[-11.49072265625,-1.159999966621399],"6-8-6":[-10.523750305175781,46.218265533447266],"6-8-7":[12.55757999420166,2230.08203125],"6-8-8":[36.02083206176758,2322.748046875],"6-8-9":[40.433250427246094,1231.303955078125],"6-8-10":[15.758459091186523,1286.103759765625],"6-8-11":[-30.374862670898438,2365.51171875],"6-8-12":[7.932148456573486,340.6808776855469],"6-8-13":[5.517499923706055,23.365703582763672],"6-8-14":[-1.668125033378601,15.380000114440918],"6-8-15":[-16.517499923706055,0.6449999809265137],"6-8-16":[-24.681114196777344,-6.495500087738037],"6-8-17":[-32.28593826293945,-11.479999542236328],"6-8-18":[-35.38164138793945,-14.688249588012695],"6-8-19":[-34.557010650634766,-15.157500267028809],"6-8-20":[-31.707500457763672,-12.282500267028809],"6-8-21":[-26.04572296142578,-7.166416645050049],"6-8-22":[-18.779062271118164,0.9925000071525574],"6-8-23":[-3.5112500190734863,7.308281421661377],"6-8-24":[-3.445197820663452,4224.75732421875],"6-8-25":[1.0067187547683716,4199.189453125],"6-8-26":[0.32515624165534973,10.199999809265137],"6-8-27":[0.5287500023841858,13.279999732971191],"6-8-28":[4.260000228881836,20.803749084472656],"6-8-29":[8.369375228881836,29.81999969482422],"6-8-30":[12.880000114440918,33.99531173706055],"6-8-31":[-1.7135710716247559,39.29106521606445],"6-8-32":[14.172597885131836,33.53726577758789],"6-8-33":[6.641286849975586,33.64236831665039],"6-8-34":[6.426085948944092,29.427732467651367],"6-8-35":[5.614999771118164,18.209178924560547],"6-8-36":[5.177499771118164,15.561875343322754],"6-8-37":[5.3986639976501465,18.428096771240234],"6-8-38":[3.8399999141693115,14.397500038146973],"6-8-39":[3.25,45.91533279418945],"6-8-40":[1.537500023841858,11.5],"6-8-41":[0.06595833599567413,7.997499942779541],"6-8-42":[-0.014666666276752949,5.420000076293945],"6-8-43":[0.21820832788944244,5.21875],"6-8-44":[-2.277578115463257,4.539999961853027],"6-8-45":[-2.6106250286102295,2.5893750190734863],"6-8-46":[-8.970000267028809,1.159999966621399],"6-8-47":[-17.024375915527344,-3.983281135559082],"6-8-48":[-25.832500457763672,-6.488333225250244],"6-8-49":[-38.77000045776367,-13.075390815734863],"6-8-50":[-45.682498931884766,-18.947500228881836],"6-8-51":[-56.599998474121094,-22.560546875],"6-8-52":[-66.30249786376953,-26.799999237060547],"6-8-53":[-78.97000122070312,-32.27937316894531],"6-8-54":[-91.82875061035156,-38.185001373291016],"6-8-55":[-109.22000122070312,-46.252498626708984],"6-8-56":[-120.91417694091797,-53.724998474121094],"6-8-57":[-127.5999984741211,-60.42375183105469],"6-8-58":[-128.13999938964844,-62.514373779296875],"6-8-59":[-122.70687866210938,772.241455078125],"6-8-60":[-106.37999725341797,254.92803955078125],"6-8-61":[-97.01875305175781,77.32746124267578],"6-8-62":[-84.40812683105469,3797.08642578125],"6-8-63":[-29.5401668548584,3066.32568359375],"6-9-0":[11.457500457763672,27.3409366607666],"6-9-1":[8.741250038146973,22.091875076293945],"5-4-0":[8.741250038146973,27.3409366607666],"6-9-2":[2.3125,17.4403133392334],"6-9-3":[-4.860000133514404,3.8345508575439453],"5-4-1":[-4.860000133514404,17.899999618530273],"6-9-4":[-6.113242149353027,-0.500781238079071],"6-9-5":[-15.194999694824219,-2.83119797706604],"5-4-2":[-15.194999694824219,0.2549999952316284],"6-9-6":[-15.194999694824219,52.496681213378906],"6-9-7":[4.1992950439453125,2249.44970703125],"5-4-3":[-15.194999694824219,2249.44970703125],"6-9-8":[56.6418342590332,1957.91357421875],"6-9-9":[69.73687744140625,3549.51953125],"5-4-4":[36.02083206176758,3549.51953125],"6-9-10":[-8.724931716918945,3498.21533203125],"6-9-11":[-44.89970397949219,2301.60986328125],"5-4-5":[-44.89970397949219,3498.21533203125],"6-9-12":[6.613800048828125,28.1115779876709],"6-9-13":[5.071705341339111,22.277910232543945],"5-4-6":[5.071705341339111,340.6808776855469],"6-9-14":[-6.215312480926514,10.483750343322754],"6-9-15":[-22.350000381469727,-1.668125033378601],"5-4-7":[-22.350000381469727,15.380000114440918],"6-9-16":[-30.470624923706055,-8.539999961853027],"6-9-17":[-38.54499816894531,-13.074999809265137],"5-4-8":[-38.54499816894531,-6.495500087738037],"6-9-18":[-40.52312469482422,-16.27375030517578],"6-9-19":[-40.951560974121094,-16.03499984741211],"5-4-9":[-40.951560974121094,-14.688249588012695],"6-9-20":[-37.310001373291016,-13.341875076293945],"6-9-21":[-28.3565616607666,-9.7212495803833],"5-4-10":[-37.310001373291016,-7.166416645050049],"6-9-22":[-23.56999969482422,-3.5112500190734863],"6-9-23":[-16.8203125,1.375583291053772],"5-4-11":[-23.56999969482422,7.308281421661377],"6-9-24":[-11.510000228881836,8.239999771118164],"6-9-25":[-7.90749979019165,8.262412071228027],"5-4-12":[-11.510000228881836,4224.75732421875],"6-9-26":[-7.036445140838623,2.7547266483306885],"6-9-27":[-5.187187671661377,7.724999904632568],"5-4-13":[-7.036445140838623,13.279999732971191],"6-9-28":[1.3993333578109741,14.770977020263672],"6-9-29":[5.738749980926514,25.084999084472656],"5-4-14":[1.3993333578109741,29.81999969482422],"6-9-30":[10.368332862854004,28.440351486206055],"6-9-31":[12.398750305175781,30.850000381469727],"5-4-15":[-1.7135710716247559,39.29106521606445],"6-9-32":[13.545700073242188,31.330703735351562],"6-9-33":[10.49038028717041,28.4503116607666],"5-4-16":[6.641286849975586,33.64236831665039],"6-9-34":[7.622499942779541,22.625938415527344],"6-9-35":[4.585000038146973,15.886347770690918],"5-4-17":[4.585000038146973,29.427732467651367],"6-9-36":[2.958083391189575,11.100625038146973],"6-9-37":[-14.05573844909668,364.9197082519531],"5-4-18":[-14.05573844909668,364.9197082519531],"6-9-38":[1.8324999809265137,11.441797256469727],"6-9-39":[-0.7841235995292664,7.858437538146973],"5-4-19":[-0.7841235995292664,45.91533279418945],"6-9-40":[-2.8086719512939453,87.138671875],"6-9-41":[-2.895312547683716,2.059511661529541],"5-4-20":[-2.895312547683716,87.138671875],"6-9-42":[-3.314687490463257,0.39476561546325684],"6-9-43":[-4.28000020980835,0.6543750166893005],"5-4-21":[-4.28000020980835,5.420000076293945],"6-9-44":[-7.130312442779541,0.2199999988079071],"6-9-45":[-8.895000457763672,-1.2880417108535767],"5-4-22":[-8.895000457763672,4.539999961853027],"6-9-46":[-12.568750381469727,-1.341249942779541],"6-9-47":[-20.690000534057617,-5.15625],"5-4-23":[-20.690000534057617,1.159999966621399],"6-9-48":[-26.087186813354492,-8.732500076293945],"6-9-49":[-37.592185974121094,-13.138750076293945],"5-4-24":[-38.77000045776367,-6.488333225250244],"6-9-50":[-45.897499084472656,-17.80841636657715],"6-9-51":[-53.375,-22.5362491607666],"5-4-25":[-56.599998474121094,-17.80841636657715],"6-9-52":[-62.80812454223633,-25.90166664123535],"6-9-53":[-76.08875274658203,-30.770000457763672],"5-4-26":[-78.97000122070312,-25.90166664123535],"6-9-54":[-90.62894439697266,-37.361331939697266],"6-9-55":[-107.40687561035156,-45.630001068115234],"5-4-27":[-109.22000122070312,-37.361331939697266],"6-9-56":[-119.95437622070312,-53.04199981689453],"6-9-57":[-125.6215591430664,-58.6775016784668],"5-4-28":[-127.5999984741211,-53.04199981689453],"6-9-58":[-126.30062866210938,-58.13999938964844],"6-9-59":[-119.93265533447266,1007.2230834960938],"5-4-29":[-128.13999938964844,1007.2230834960938],"6-9-60":[-106.58070373535156,462.56500244140625],"6-9-61":[-95.9932632446289,462.56500244140625],"5-4-30":[-106.58070373535156,462.56500244140625],"6-9-62":[-84.93437194824219,2783.563232421875],"6-9-63":[-29.5401668548584,3039.727783203125],"5-4-31":[-84.93437194824219,3797.08642578125],"6-10-0":[11.667499542236328,27.381250381469727],"6-10-1":[8.800000190734863,22.46076202392578],"6-10-2":[2.1112499237060547,17.543750762939453],"6-10-3":[-5.066249847412109,2.911875009536743],"6-10-4":[-6.13232421875,-2.322499990463257],"6-10-5":[-16.623750686645508,-2.831583261489868],"6-10-6":[-16.978086471557617,31.95650291442871],"6-10-7":[-2.478412628173828,2250.863525390625],"6-10-8":[75.19137573242188,1714.2178955078125],"6-10-9":[30.4282169342041,6207.27099609375],"6-10-10":[-317.1861877441406,2318.110595703125],"6-10-11":[5.097465991973877,380.1875305175781],"6-10-12":[6.091172218322754,24.807422637939453],"6-10-13":[0.8162500262260437,18.20281219482422],"6-10-14":[-11.189238548278809,6.40500020980835],"6-10-15":[-27.778749465942383,-4.114999771118164],"6-10-16":[-35.959022521972656,-11.547666549682617],"6-10-17":[-43.893028259277344,-15.647500038146973],"6-10-18":[-45.00177764892578,-19.380332946777344],"6-10-19":[-44.414180755615234,-18.815500259399414],"6-10-20":[-43.073123931884766,-14.677499771118164],"6-10-21":[-34.28632736206055,-11.934833526611328],"6-10-22":[-28.407188415527344,-8.918749809265137],"6-10-23":[-23.580801010131836,-5.934166431427002],"6-10-24":[-20.022499084472656,-3.9537501335144043],"6-10-25":[-15.207304954528809,-3.1872000694274902],"6-10-26":[-11.962812423706055,-2.8350000381469727],"6-10-27":[-7.587500095367432,2.3499999046325684],"6-10-28":[-2.344374895095825,10.547499656677246],"6-10-29":[2.750624895095825,19.950000762939453],"6-10-30":[6.931250095367432,24.19937515258789],"6-10-31":[9.905625343322754,28.098125457763672],"6-10-32":[11.261249542236328,27.8700008392334],"6-10-33":[8.09375,27.3075008392334],"6-10-34":[4.973124980926514,20.69499969482422],"6-10-35":[0.28120237588882446,29.218786239624023],"6-10-36":[0.021005859598517418,34.327457427978516],"6-10-37":[-7.0457844734191895,982.4304809570312],"6-10-38":[-46.9925651550293,1738.201904296875],"6-10-39":[-8.604140281677246,368.8756103515625],"6-10-40":[-9.095549583435059,399.2919921875],"6-10-41":[-6.123906135559082,-0.9018645882606506],"6-10-42":[-5.0234375,-1.0723333358764648],"6-10-43":[-7.011757850646973,-1.377500057220459],"6-10-44":[-10.096796989440918,-2.2940833568573],"6-10-45":[-14.94156265258789,-3.9200000762939453],"6-10-46":[-16.655000686645508,-4.409583568572998],"6-10-47":[-23.635000228881836,-6.946249961853027],"6-10-48":[-27.675975799560547,-10.440333366394043],"6-10-49":[-35.4900016784668,-13.581250190734863],"6-10-50":[-42.838436126708984,-16.97624969482422],"6-10-51":[-51.630001068115234,-20.99625015258789],"6-10-52":[-60.0724983215332,-24.385000228881836],"6-10-53":[-74.72000122070312,-29.940000534057617],"6-10-54":[-88.640625,-36.563751220703125],"6-10-55":[-106.08000183105469,-44.40250015258789],"6-10-56":[-116.66030883789062,-51.744998931884766],"6-10-57":[-123.79499816894531,-57.34812545776367],"6-10-58":[-124.49594116210938,-55.657501220703125],"6-10-59":[-112.81625366210938,883.8759765625],"6-10-60":[-105.10375213623047,570.3699951171875],"6-10-61":[-5.83859395980835,549.4630126953125],"6-10-62":[-84.9361343383789,2425.3310546875],"6-10-63":[-29.5401668548584,3008.66650390625],"6-11-0":[11.741874694824219,27.44562530517578],"6-11-1":[8.800000190734863,23.155000686645508],"5-5-0":[8.800000190734863,27.44562530517578],"6-11-2":[1.899999976158142,18.149999618530273],"6-11-3":[-6.340000152587891,2.653749942779541],"5-5-1":[-6.340000152587891,18.149999618530273],"4-2-0":[-6.340000152587891,27.44562530517578],"6-11-4":[-8.0600004196167,-2.322499990463257],"6-11-5":[-16.518125534057617,-3.474375009536743],"5-5-2":[-16.623750686645508,-2.322499990463257],"6-11-6":[-17.3660945892334,5.585000038146973],"6-11-7":[-2.4521875381469727,2337.165283203125],"5-5-3":[-17.3660945892334,2337.165283203125],"4-2-1":[-17.3660945892334,2337.165283203125],"6-11-8":[96.6646728515625,1624.5230712890625],"6-11-9":[111.02944946289062,4180.154296875],"5-5-4":[30.4282169342041,6207.27099609375],"6-11-10":[-100.64525604248047,4014.1943359375],"6-11-11":[5.562460899353027,27.081594467163086],"5-5-5":[-317.1861877441406,4014.1943359375],"4-2-2":[-317.1861877441406,6207.27099609375],"6-11-12":[4.912499904632568,20.017305374145508],"6-11-13":[-4.050000190734863,12.888671875],"5-5-6":[-4.050000190734863,24.807422637939453],"6-11-14":[-18.19937515258789,1.0381250381469727],"6-11-15":[-33.29999923706055,-7.027500152587891],"5-5-7":[-33.29999923706055,6.40500020980835],"4-2-3":[-33.29999923706055,340.6808776855469],"6-11-16":[-42.193748474121094,-14.255000114440918],"6-11-17":[-50.15812683105469,-18.6200008392334],"5-5-8":[-50.15812683105469,-11.547666549682617],"6-11-18":[-52.630001068115234,-21.882030487060547],"6-11-19":[-51.008750915527344,-21.950000762939453],"5-5-9":[-52.630001068115234,-18.815500259399414],"4-2-4":[-52.630001068115234,-6.495500087738037],"6-11-20":[-49.52000045776367,-17.940624237060547],"6-11-21":[-42.63312530517578,-14.489999771118164],"5-5-10":[-49.52000045776367,-11.934833526611328],"6-11-22":[-34.900001525878906,-12.521249771118164],"6-11-23":[-31.497499465942383,-10.600000381469727],"5-5-11":[-34.900001525878906,-5.934166431427002],"4-2-5":[-49.52000045776367,7.308281421661377],"6-11-24":[-29.540000915527344,-8.20687484741211],"6-11-25":[-23.857500076293945,-6.388750076293945],"5-5-12":[-29.540000915527344,-3.1872000694274902],"6-11-26":[-19.860000610351562,-4.466249942779541],"6-11-27":[-13.369375228881836,-1.475000023841858],"5-5-13":[-19.860000610351562,2.3499999046325684],"4-2-6":[-29.540000915527344,4224.75732421875],"6-11-28":[-8.380000114440918,3.388124942779541],"6-11-29":[-0.3774999976158142,13.096875190734863],"5-5-14":[-8.380000114440918,19.950000762939453],"6-11-30":[3.7926056385040283,18.239473342895508],"6-11-31":[7.047500133514404,23.171875],"5-5-15":[3.7926056385040283,28.098125457763672],"4-2-7":[-8.380000114440918,39.29106521606445],"6-11-32":[8.414999961853027,23.227500915527344],"6-11-33":[6.614197254180908,21.793750762939453],"5-5-16":[6.614197254180908,27.8700008392334],"6-11-34":[1.940000057220459,15.524374961853027],"6-11-35":[-0.8299219012260437,8.733124732971191],"5-5-17":[-0.8299219012260437,29.218786239624023],"4-2-8":[-0.8299219012260437,33.64236831665039],"6-11-36":[-5.267663478851318,4.249687671661377],"6-11-37":[-19.161865234375,108.85962677001953],"5-5-18":[-19.161865234375,982.4304809570312],"6-11-38":[-10.063612937927246,418.1101989746094],"6-11-39":[-13.3696870803833,-1.418125033378601],"5-5-19":[-46.9925651550293,1738.201904296875],"4-2-9":[-46.9925651550293,1738.201904296875],"6-11-40":[-14.011959075927734,394.11322021484375],"6-11-41":[-9.36312484741211,-2.7464842796325684],"5-5-20":[-14.011959075927734,399.2919921875],"6-11-42":[-11.214374542236328,-2.0994532108306885],"6-11-43":[-11.678750038146973,-2.609999895095825],"5-5-21":[-11.678750038146973,-1.0723333358764648],"4-2-10":[-14.011959075927734,399.2919921875],"6-11-44":[-14.500624656677246,-3.6024999618530273],"6-11-45":[-18.65999984741211,-5.608749866485596],"5-5-22":[-18.65999984741211,-2.2940833568573],"6-11-46":[-22.4481258392334,-7.763750076293945],"6-11-47":[-26.040000915527344,-8.933124542236328],"5-5-23":[-26.040000915527344,-4.409583568572998],"4-2-11":[-26.040000915527344,4.539999961853027],"6-11-48":[-29.521249771118164,-11.907500267028809],"6-11-49":[-34.849998474121094,-13.596375465393066],"5-5-24":[-35.4900016784668,-10.440333366394043],"6-11-50":[-40.96437454223633,-16.509166717529297],"6-11-51":[-48.5212516784668,-20.15999984741211],"5-5-25":[-51.630001068115234,-16.509166717529297],"4-2-12":[-56.599998474121094,-6.488333225250244],"6-11-52":[-58.202362060546875,-23.76449966430664],"6-11-53":[-72.984375,-29.485000610351562],"5-5-26":[-74.72000122070312,-23.76449966430664],"6-11-54":[-86.2070541381836,-36.12033462524414],"6-11-55":[-103.1762466430664,-43.08000183105469],"5-5-27":[-106.08000183105469,-36.12033462524414],"4-2-13":[-109.22000122070312,-23.76449966430664],"6-11-56":[-113.78437805175781,-50.30149841308594],"6-11-57":[-120.62158203125,-55.962501525878906],"5-5-28":[-123.79499816894531,-50.30149841308594],"6-11-58":[-122.10093688964844,-30.170000076293945],"6-11-59":[-109.72523498535156,896.3336791992188],"5-5-29":[-124.49594116210938,896.3336791992188],"4-2-14":[-128.13999938964844,1007.2230834960938],"6-11-60":[-50.88039016723633,667.989990234375],"6-11-61":[119.3125,564.7938842773438],"5-5-30":[-105.10375213623047,667.989990234375],"6-11-62":[-24.929061889648438,3379.224609375],"6-11-63":[-29.540000915527344,2977.44091796875],"5-5-31":[-84.9361343383789,3379.224609375],"4-2-15":[-106.58070373535156,3797.08642578125],"6-12-0":[11.819000244140625,27.533750534057617],"6-12-1":[9.272500038146973,23.841699600219727],"6-12-2":[1.8106249570846558,18.506874084472656],"6-12-3":[-7.356874942779541,2.559999942779541],"6-12-4":[-10.197500228881836,-3.3635001182556152],"6-12-5":[-14.191875457763672,-3.64327073097229],"6-12-6":[-17.241249084472656,-1.4606093168258667],"6-12-7":[-2.3975000381469727,2626.572998046875],"6-12-8":[127.44281005859375,1971.138671875],"6-12-9":[267.4465026855469,4964.35400390625],"6-12-10":[-3.832796573638916,5003.12841796875],"6-12-11":[5.5312113761901855,17.7628116607666],"6-12-12":[1.2231249809265137,17.438905715942383],"6-12-13":[-9.271875381469727,8.073749542236328],"6-12-14":[-24.322851181030273,-2.5460000038146973],"6-12-15":[-38.36312484741211,-10.055000305175781],"6-12-16":[-46.588966369628906,-16.836334228515625],"6-12-17":[-57.07093811035156,-21.6924991607666],"6-12-18":[-58.75830078125,-25.00116729736328],"6-12-19":[-58.501190185546875,-24.80299949645996],"6-12-20":[-55.290626525878906,-22.36750030517578],"6-12-21":[-47.71769714355469,-17.538999557495117],"6-12-22":[-42.00968933105469,-15.949999809265137],"6-12-23":[-37.94425964355469,-14.942000389099121],"6-12-24":[-36.951873779296875,-12.1875],"6-12-25":[-32.3796501159668,-10.059000015258789],"6-12-26":[-27.788124084472656,-7.262499809265137],"6-12-27":[-19.340410232543945,-4.412166595458984],"6-12-28":[-13.918749809265137,-0.3774999976158142],"6-12-29":[-6.261875152587891,6.599999904632568],"6-12-30":[-0.20374999940395355,13.42562484741211],"6-12-31":[3.374375104904175,18.85124969482422],"6-12-32":[5.200624942779541,19.073749542236328],"6-12-33":[3.8550000190734863,16.436250686645508],"6-12-34":[1.0069496631622314,12.390000343322754],"6-12-35":[-5.90500020980835,3.0587499141693115],"6-12-36":[-9.382499694824219,-0.47999998927116394],"6-12-37":[-17.498376846313477,26.38780975341797],"6-12-38":[-14.845000267028809,15.84441089630127],"6-12-39":[-17.049999237060547,13.137022018432617],"6-12-40":[-17.300918579101562,-5.040020942687988],"6-12-41":[-154.98265075683594,367.09857177734375],"6-12-42":[-15.193652153015137,-4.663000106811523],"6-12-43":[-16.841405868530273,-5.49066686630249],"6-12-44":[-17.712987899780273,-5.685999870300293],"6-12-45":[-20.8799991607666,-7.489999771118164],"6-12-46":[-23.222383499145508,-9.376583099365234],"6-12-47":[-28.19937515258789,-11.329999923706055],"6-12-48":[-31.141874313354492,-13.012833595275879],"6-12-49":[-35.21500015258789,-15.162500381469727],"6-12-50":[-39.712501525878906,-16.790082931518555],"6-12-51":[-47.400001525878906,-19.153749465942383],"6-12-52":[-57.334373474121094,-23.293333053588867],"6-12-53":[-72.23999786376953,-28.77750015258789],"6-12-54":[-84.63749694824219,-35.595001220703125],"6-12-55":[-100.5999984741211,-41.8125],"6-12-56":[-110.80000305175781,-48.60749816894531],"6-12-57":[-116.72000122070312,-54.27937316894531],"6-12-58":[-118.76499938964844,732.2037353515625],"6-12-59":[-106.6206283569336,1118.7081298828125],"6-12-60":[70.79666900634766,697.8187255859375],"6-12-61":[154.07675170898438,547.4324951171875],"6-12-62":[132.6687469482422,3177.510986328125],"6-12-63":[-29.540000915527344,2958.3984375],"6-13-0":[11.89020824432373,27.6825008392334],"6-13-1":[9.272500038146973,24.717187881469727],"5-6-0":[9.272500038146973,27.6825008392334],"6-13-2":[1.7725000381469727,18.68000030517578],"6-13-3":[-8.119999885559082,2.2853124141693115],"5-6-1":[-8.119999885559082,18.68000030517578],"6-13-4":[-12.784062385559082,-3.7049999237060547],"6-13-5":[-16.110000610351562,-5.114140510559082],"5-6-2":[-16.110000610351562,-3.3635001182556152],"6-13-6":[-16.457382202148438,-1.5119999647140503],"6-13-7":[-4.497082233428955,2443.640625],"5-6-3":[-17.241249084472656,2626.572998046875],"6-13-8":[159.96824645996094,1955.5152587890625],"6-13-9":[264.6709289550781,3305.1884765625],"5-6-4":[127.44281005859375,4964.35400390625],"6-13-10":[-0.6224533319473267,5501.17333984375],"6-13-11":[3.4062371253967285,16.189647674560547],"5-6-5":[-3.832796573638916,5501.17333984375],"6-13-12":[-4.324687480926514,12.529999732971191],"6-13-13":[-18.104999542236328,1.2231249809265137],"5-6-6":[-18.104999542236328,17.438905715942383],"6-13-14":[-32.000938415527344,-5.039999961853027],"6-13-15":[-45.79999923706055,-13.681249618530273],"5-6-7":[-45.79999923706055,-2.5460000038146973],"6-13-16":[-52.602813720703125,-19.600000381469727],"6-13-17":[-65.06500244140625,-24.299999237060547],"5-6-8":[-65.06500244140625,-16.836334228515625],"6-13-18":[-66.1937484741211,-29.094375610351562],"6-13-19":[-65.61499786376953,-28.0575008392334],"5-6-9":[-66.1937484741211,-24.80299949645996],"6-13-20":[-61.2599983215332,-25.115625381469727],"6-13-21":[-55.51124954223633,-21.577499389648438],"5-6-10":[-61.2599983215332,-17.538999557495117],"6-13-22":[-51.79999923706055,-19.251874923706055],"6-13-23":[-47.06656265258789,-19.0887508392334],"5-6-11":[-51.79999923706055,-14.942000389099121],"6-13-24":[-46.23500061035156,-17.09749984741211],"6-13-25":[-43.40281295776367,-14.52750015258789],"5-6-12":[-46.23500061035156,-10.059000015258789],"6-13-26":[-38.70500183105469,-10.516249656677246],"6-13-27":[-27.95718765258789,-7.347499847412109],"5-6-13":[-38.70500183105469,-4.412166595458984],"6-13-28":[-23.219999313354492,-4.176249980926514],"6-13-29":[-16.963125228881836,-0.20374999940395355],"5-6-14":[-23.219999313354492,6.599999904632568],"6-13-30":[-9.104999542236328,5.142226696014404],"6-13-31":[-0.6143749952316284,10.048749923706055],"5-6-15":[-9.104999542236328,18.85124969482422],"6-13-32":[1.6259167194366455,10.9662504196167],"6-13-33":[1.6467499732971191,9.141249656677246],"5-6-16":[1.6259167194366455,19.073749542236328],"6-13-34":[-12.002031326293945,573.9912109375],"6-13-35":[-8.399999618530273,3.193598985671997],"5-6-17":[-12.002031326293945,573.9912109375],"6-13-36":[-12.407500267028809,-2.9606001377105713],"6-13-37":[-12.609062194824219,18.933923721313477],"5-6-18":[-17.498376846313477,26.38780975341797],"6-13-38":[-17.041166305541992,15.135894775390625],"6-13-39":[-23.072845458984375,21.328601837158203],"5-6-19":[-23.072845458984375,21.328601837158203],"6-13-40":[-20.889257431030273,-7.977499961853027],"6-13-41":[-20.887500762939453,-4.361435413360596],"5-6-20":[-154.98265075683594,367.09857177734375],"6-13-42":[-17.404375076293945,-4.927500247955322],"6-13-43":[-19.709999084472656,-8.031874656677246],"5-6-21":[-19.709999084472656,-4.663000106811523],"6-13-44":[-19.709999084472656,-8.363594055175781],"6-13-45":[-23.084999084472656,-9.224374771118164],"5-6-22":[-23.084999084472656,-5.685999870300293],"6-13-46":[-26.219999313354492,-10.623749732971191],"6-13-47":[-29.920000076293945,-11.929374694824219],"5-6-23":[-29.920000076293945,-9.376583099365234],"6-13-48":[-33.194374084472656,-14.27750015258789],"6-13-49":[-36.6875,-15.881250381469727],"5-6-24":[-36.6875,-13.012833595275879],"6-13-50":[-37.715763092041016,-16.790082931518555],"6-13-51":[-46.576873779296875,-18.042499542236328],"5-6-25":[-47.400001525878906,-16.790082931518555],"6-13-52":[-56.12125015258789,-21.694665908813477],"6-13-53":[-71.09062194824219,-28.363750457763672],"5-6-26":[-72.23999786376953,-21.694665908813477],"6-13-54":[-82.1624984741211,-35.16116714477539],"6-13-55":[-96.83625030517578,-41.49625015258789],"5-6-27":[-100.5999984741211,-35.16116714477539],"6-13-56":[-107.16232299804688,-47.12099838256836],"6-13-57":[-113.390625,-52.397499084472656],"5-6-28":[-116.72000122070312,-47.12099838256836],"6-13-58":[-113.7944107055664,799.7843627929688],"6-13-59":[542.7723388671875,1415.2315673828125],"5-6-29":[-118.76499938964844,1415.2315673828125],"6-13-60":[220.94874572753906,696.798095703125],"6-13-61":[196.25140380859375,578.8093872070312],"5-6-30":[70.79666900634766,697.8187255859375],"6-13-62":[157.8232879638672,2807.418701171875],"6-13-63":[-29.540000915527344,2933.2626953125],"5-6-31":[-29.540000915527344,3177.510986328125],"6-14-0":[11.983499526977539,27.800586700439453],"6-14-1":[9.31624984741211,25.275625228881836],"6-14-2":[1.78125,18.689062118530273],"6-14-3":[-8.413749694824219,2.838124990463257],"6-14-4":[-14.7079496383667,-4.242499828338623],"6-14-5":[-17.700117111206055,-6.659999847412109],"6-14-6":[-16.944686889648438,-3.213749885559082],"6-14-7":[-6.9461565017700195,1629.0704345703125],"6-14-8":[241.64471435546875,2195.838623046875],"6-14-9":[291.0743103027344,2352.24951171875],"6-14-10":[-17.804166793823242,5990.11962890625],"6-14-11":[-1.2200000286102295,1250.78271484375],"6-14-12":[-8.901054382324219,5.46999979019165],"6-14-13":[-24.341875076293945,-2.9000000953674316],"6-14-14":[-37.351036071777344,-9.516500473022461],"6-14-15":[-50.798126220703125,-17.008750915527344],"6-14-16":[-57.15242004394531,-23.13716697692871],"6-14-17":[-69.05999755859375,-26.797500610351562],"6-14-18":[-71.12750244140625,-32.266082763671875],"6-14-19":[-70.56632995605469,-30.6336669921875],"6-14-20":[-66.4800033569336,-28.02375030517578],"6-14-21":[-61.050899505615234,-25.990333557128906],"6-14-22":[-58.979373931884766,-23.49250030517578],"6-14-23":[-55.46990203857422,-22.957082748413086],"6-14-24":[-54.2287483215332,-21.90250015258789],"6-14-25":[-50.54070281982422,-19.65041732788086],"6-14-26":[-46.2053108215332,-14.460000038146973],"6-14-27":[-36.46812438964844,-11.821416854858398],"6-14-28":[-32.836875915527344,-8.883749961853027],"6-14-29":[-24.975000381469727,-4.8685832023620605],"6-14-30":[-17.654062271118164,-0.5412499904632568],"6-14-31":[-8.281425476074219,3.130000114440918],"6-14-32":[-4.328125,4.378749847412109],"6-14-33":[-3.033515691757202,4.030624866485596],"6-14-34":[-30.111135482788086,444.866943359375],"6-14-35":[-45.63091278076172,1253.8404541015625],"6-14-36":[-15.813750267028809,-4.200000286102295],"6-14-37":[-18.569297790527344,11.80428409576416],"6-14-38":[-20.379159927368164,12.551578521728516],"6-14-39":[-34.52309036254883,29.275890350341797],"6-14-40":[-23.6026554107666,-9.965995788574219],"6-14-41":[-23.645761489868164,-8.25],"6-14-42":[-22.250625610351562,-7.63742208480835],"6-14-43":[-21.352500915527344,-8.791250228881836],"6-14-44":[-21.352500915527344,-9.4486665725708],"6-14-45":[-23.94124984741211,-9.801250457763672],"6-14-46":[-26.927227020263672,-11.594083786010742],"6-14-47":[-30.821250915527344,-13.3462495803833],"6-14-48":[-34.24107360839844,-14.966666221618652],"6-14-49":[-36.45500183105469,-16.649999618530273],"6-14-50":[-38.96351623535156,-17.151832580566406],"6-14-51":[-43.16999816894531,-17.845233917236328],"6-14-52":[-55.19937515258789,-20.47249984741211],"6-14-53":[-70.31999969482422,-27.456249237060547],"6-14-54":[-81.46906280517578,-34.20000076293945],"6-14-55":[-94.23999786376953,-40.37437438964844],"6-14-56":[-103.98218536376953,-46.192501068115234],"6-14-57":[-110.47000122070312,-50.326873779296875],"6-14-58":[-111.10343933105469,1501.6400146484375],"6-14-59":[649.8099975585938,1730.6363525390625],"6-14-60":[290.61187744140625,752.20751953125],"6-14-61":[298.2987365722656,587.9898071289062],"6-14-62":[230.04750061035156,3232.0341796875],"6-14-63":[-29.539833068847656,2914.458740234375],"6-15-0":[12.072333335876465,27.943750381469727],"6-15-1":[9.31624984741211,25.799999237060547],"5-7-0":[9.31624984741211,27.943750381469727],"6-15-2":[2.005000114440918,18.618436813354492],"6-15-3":[-9.359999656677246,3.568125009536743],"5-7-1":[-9.359999656677246,18.689062118530273],"4-3-0":[-9.359999656677246,27.943750381469727],"6-15-4":[-15.657578468322754,-4.242499828338623],"6-15-5":[-19.891250610351562,-7.761250019073486],"5-7-2":[-19.891250610351562,-4.242499828338623],"6-15-6":[-18.709999084472656,-3.0283334255218506],"6-15-7":[-10.727499961853027,1677.3275146484375],"5-7-3":[-18.709999084472656,1677.3275146484375],"4-3-1":[-19.891250610351562,2626.572998046875],"3-1-0":[-19.891250610351562,2626.572998046875],"6-15-8":[6.28249979019165,2201.63671875],"6-15-9":[372.0604553222656,2244.88623046875],"5-7-4":[6.28249979019165,2352.24951171875],"6-15-10":[-3.497455358505249,3286.5234375],"6-15-11":[-24.00284194946289,4338.48828125],"5-7-5":[-24.00284194946289,5990.11962890625],"4-3-2":[-24.00284194946289,5990.11962890625],"6-15-12":[-15.999375343322754,0.25999999046325684],"6-15-13":[-30.5,-5.773749828338623],"5-7-6":[-30.5,5.46999979019165],"6-15-14":[-41.90562438964844,-12.5600004196167],"6-15-15":[-54.880001068115234,-19.831249237060547],"5-7-7":[-54.880001068115234,-9.516500473022461],"4-3-3":[-54.880001068115234,17.438905715942383],"3-1-1":[-317.1861877441406,6207.27099609375],"2-0-0":[-317.1861877441406,6207.27099609375],"6-15-16":[-61.52937316894531,-25.72249984741211],"6-15-17":[-71.95999908447266,-29.356250762939453],"5-7-8":[-71.95999908447266,-23.13716697692871],"6-15-18":[-74.96125030517578,-34.50175094604492],"6-15-19":[-75.34500122070312,-33.70500183105469],"5-7-9":[-75.34500122070312,-30.6336669921875],"4-3-4":[-75.34500122070312,-16.836334228515625],"6-15-20":[-73.31999969482422,-31.193124771118164],"6-15-21":[-69.10624694824219,-29.897499084472656],"5-7-10":[-73.31999969482422,-25.990333557128906],"6-15-22":[-67.30999755859375,-28.483125686645508],"6-15-23":[-66.04937744140625,-27.6825008392334],"5-7-11":[-67.30999755859375,-22.957082748413086],"4-3-5":[-73.31999969482422,-14.942000389099121],"3-1-2":[-75.34500122070312,7.308281421661377],"6-15-24":[-64.9000015258789,-26.113750457763672],"6-15-25":[-62.041873931884766,-23.708749771118164],"5-7-12":[-64.9000015258789,-19.65041732788086],"6-15-26":[-58.25,-19.12874984741211],"6-15-27":[-49.505001068115234,-17.077499389648438],"5-7-13":[-58.25,-11.821416854858398],"4-3-6":[-64.9000015258789,-4.412166595458984],"6-15-28":[-44.779998779296875,-13.5131254196167],"6-15-29":[-35.92124938964844,-9.363750457763672],"5-7-14":[-44.779998779296875,-4.8685832023620605],"6-15-30":[-28.31999969482422,-5.141250133514404],"6-15-31":[-19.134374618530273,-2.7125000953674316],"5-7-15":[-28.31999969482422,3.130000114440918],"4-3-7":[-44.779998779296875,18.85124969482422],"3-1-3":[-64.9000015258789,4224.75732421875],"2-0-1":[-75.34500122070312,4224.75732421875],"6-15-32":[-13.720000267028809,-1.7131249904632568],"6-15-33":[-10.62125015258789,-1.4902032613754272],"5-7-16":[-13.720000267028809,4.378749847412109],"6-15-34":[-10.770000457763672,-2.124570369720459],"6-15-35":[-13.920000076293945,-2.9356253147125244],"5-7-17":[-45.63091278076172,1253.8404541015625],"4-3-8":[-45.63091278076172,1253.8404541015625],"6-15-36":[-18.770000457763672,-4.46750020980835],"6-15-37":[-22.110000610351562,-7.906875133514404],"5-7-18":[-22.110000610351562,11.80428409576416],"6-15-38":[-22.479999542236328,7.9797844886779785],"6-15-39":[-23.826719284057617,16.81255340576172],"5-7-19":[-34.52309036254883,29.275890350341797],"4-3-9":[-34.52309036254883,29.275890350341797],"3-1-4":[-46.9925651550293,1738.201904296875],"6-15-40":[-25.597108840942383,210.53302001953125],"6-15-41":[-26.6200008392334,-11.385000228881836],"5-7-20":[-26.6200008392334,210.53302001953125],"6-15-42":[-26.149999618530273,-10.104687690734863],"6-15-43":[-23.46062469482422,-10.2212495803833],"5-7-21":[-26.149999618530273,-7.63742208480835],"4-3-10":[-154.98265075683594,367.09857177734375],"6-15-44":[-23.360000610351562,-10.289765357971191],"6-15-45":[-24.799999237060547,-10.387499809265137],"5-7-22":[-24.799999237060547,-9.4486665725708],"6-15-46":[-27.566953659057617,-12.051250457763672],"6-15-47":[-31.678749084472656,-13.689374923706055],"5-7-23":[-31.678749084472656,-11.594083786010742],"4-3-11":[-31.678749084472656,-5.685999870300293],"3-1-5":[-154.98265075683594,399.2919921875],"2-0-2":[-154.98265075683594,1897.3251953125],"6-15-48":[-33.820411682128906,-15.283166885375977],"6-15-49":[-36.23812484741211,-16.572500228881836],"5-7-24":[-36.45500183105469,-14.966666221618652],"6-15-50":[-40.841522216796875,-17.93341636657715],"6-15-51":[-40.80437469482422,-17.171499252319336],"5-7-25":[-43.16999816894531,-17.151832580566406],"4-3-12":[-47.400001525878906,-13.012833595275879],"6-15-52":[-53.45785140991211,-20.293167114257812],"6-15-53":[-68.2143783569336,-26.614999771118164],"5-7-26":[-70.31999969482422,-20.293167114257812],"6-15-54":[-79.47427368164062,-33.55141830444336],"6-15-55":[-91.98999786376953,-40.098045349121094],"5-7-27":[-94.23999786376953,-33.55141830444336],"4-3-13":[-100.5999984741211,-20.293167114257812],"3-1-6":[-109.22000122070312,-6.488333225250244],"6-15-56":[-99.14472961425781,-44.202999114990234],"6-15-57":[-105.5296859741211,-47.942501068115234],"5-7-28":[-110.47000122070312,-44.202999114990234],"6-15-58":[-105.5296859741211,1582.8037109375],"6-15-59":[752.20751953125,3280.756103515625],"5-7-29":[-111.10343933105469,3280.756103515625],"4-3-14":[-118.76499938964844,3280.756103515625],"6-15-60":[370.12579345703125,1055.949951171875],"6-15-61":[342.75750732421875,583.6599731445312],"5-7-30":[290.61187744140625,1055.949951171875],"6-15-62":[359.1356201171875,3299.768798828125],"6-15-63":[-29.5396671295166,2899.394775390625],"5-7-31":[-29.539833068847656,3299.768798828125],"4-3-15":[-29.540000915527344,3299.768798828125],"3-1-7":[-128.13999938964844,3797.08642578125],"2-0-3":[-132.78492736816406,3970.4091796875],"6-16-0":[12.184833526611328,28.052499771118164],"6-16-1":[9.425000190734863,26.433124542236328],"6-16-2":[2.3550000190734863,18.803749084472656],"6-16-3":[-9.460000038146973,3.6186327934265137],"6-16-4":[-15.498749732971191,-4.65500020980835],"6-16-5":[-19.891250610351562,-6.144374847412109],"6-16-6":[-18.709999084472656,-2.9288907051086426],"6-16-7":[-13.50113296508789,358.62237548828125],"6-16-8":[4.931458473205566,2700.73486328125],"6-16-9":[524.0399780273438,2379.954833984375],"6-16-10":[138.16371154785156,2349.519287109375],"6-16-11":[-19.038177490234375,3089.824462890625],"6-16-12":[-32.365787506103516,1191.7806396484375],"6-16-13":[-32.772499084472656,1099.2327880859375],"6-16-14":[-42.72089767456055,-15.25],"6-16-15":[-55.779998779296875,-21.827499389648438],"6-16-16":[-62.12187576293945,-27.457500457763672],"6-16-17":[-73.81937408447266,-31.059999465942383],"6-16-18":[-77.85652160644531,-35.86916732788086],"6-16-19":[-79.1880874633789,-36.66383361816406],"6-16-20":[-78.79125213623047,-34.532501220703125],"6-16-21":[-75.07132720947266,-33.65683364868164],"6-16-22":[-74.1821517944336,-33.08399963378906],"6-16-23":[-73.59064483642578,-32.442832946777344],"6-16-24":[-71.55551147460938,-31.170000076293945],"6-16-25":[-70.96455383300781,-29.129833221435547],"6-16-26":[-66.9800033569336,-25.122499465942383],"6-16-27":[-59.79132843017578,-22.612167358398438],"6-16-28":[-53.62562561035156,-18.47249984741211],"6-16-29":[-44.98892593383789,-14.428750038146973],"6-16-30":[-35.19218826293945,-9.880000114440918],"6-16-31":[-25.614238739013672,-7.010499954223633],"6-16-32":[-19.938749313354492,-5.380000114440918],"6-16-33":[-16.19253921508789,-5.075000286102295],"6-16-34":[-15.915801048278809,-4.900199890136719],"6-16-35":[-16.4117374420166,-5.385000228881836],"6-16-36":[-19.224180221557617,-6.960000038146973],"6-16-37":[-22.110000610351562,-9.385000228881836],"6-16-38":[-22.8221492767334,-10.64050006866455],"6-16-39":[-23.634775161743164,-10.88070297241211],"6-16-40":[-25.598867416381836,395.497802734375],"6-16-41":[-27.177167892456055,-12.585866928100586],"6-16-42":[-27.184999465942383,-11.899999618530273],"6-16-43":[-25.240703582763672,-11.482500076293945],"6-16-44":[-23.887500762939453,-10.73617172241211],"6-16-45":[-25.502187728881836,-11.642499923706055],"6-16-46":[-27.5489444732666,-12.42508316040039],"6-16-47":[-30.3799991607666,-13.833125114440918],"6-16-48":[-32.714412689208984,-14.635000228881836],"6-16-49":[-36.223751068115234,-15.295000076293945],"6-16-50":[-40.560001373291016,-17.572500228881836],"6-16-51":[-40.619998931884766,-17.171499252319336],"6-16-52":[-52.59749984741211,-20.030000686645508],"6-16-53":[-67.0999984741211,-26.248125076293945],"6-16-54":[-78.94437408447266,-32.278751373291016],"6-16-55":[-88.4000015258789,-38.743125915527344],"6-16-56":[-94.86624908447266,-42.36000061035156],"6-16-57":[-102.30000305175781,-45.37125015258789],"6-16-58":[-102.30000305175781,2780.2744140625],"6-16-59":[1055.949951171875,3057.05615234375],"6-16-60":[561.6331176757812,1251.60498046875],"6-16-61":[360.22686767578125,729.5387573242188],"6-16-62":[569.3925170898438,3324.721923828125],"6-16-63":[-29.539499282836914,2887.581298828125],"6-17-0":[12.286833763122559,28.19937515258789],"6-17-1":[9.425000190734863,27.083749771118164],"5-8-0":[9.425000190734863,28.19937515258789],"6-17-2":[2.442500114440918,19.469999313354492],"6-17-3":[-9.25374984741211,3.3941991329193115],"5-8-1":[-9.460000038146973,19.469999313354492],"6-17-4":[-12.454140663146973,-4.276083469390869],"6-17-5":[-17.593671798706055,-3.5425000190734863],"5-8-2":[-19.891250610351562,-3.5425000190734863],"6-17-6":[-16.966875076293945,-3.5717084407806396],"6-17-7":[-17.021875381469727,450.80499267578125],"5-8-3":[-18.709999084472656,450.80499267578125],"6-17-8":[-0.9910249710083008,2409.031982421875],"6-17-9":[729.4192504882812,2941.768310546875],"5-8-4":[-0.9910249710083008,2941.768310546875],"6-17-10":[639.5049438476562,2300.18603515625],"6-17-11":[-7.7277445793151855,3041.405029296875],"5-8-5":[-19.038177490234375,3089.824462890625],"6-17-12":[-40.40359878540039,2709.88427734375],"6-17-13":[-36.11019515991211,1110.765625],"5-8-6":[-40.40359878540039,2709.88427734375],"6-17-14":[-44.377498626708984,-16.386249542236328],"6-17-15":[-55.36249923706055,-22.039844512939453],"5-8-7":[-55.779998779296875,-15.25],"6-17-16":[-62.0283203125,-26.246166229248047],"6-17-17":[-74.4262466430664,-30.627500534057617],"5-8-8":[-74.4262466430664,-26.246166229248047],"6-17-18":[-79.52375030517578,-36.847415924072266],"6-17-19":[-81.7768783569336,-38.948123931884766],"5-8-9":[-81.7768783569336,-35.86916732788086],"6-17-20":[-81.38999938964844,-38.147499084472656],"6-17-21":[-82.88999938964844,-37.30649948120117],"5-8-10":[-82.88999938964844,-33.65683364868164],"6-17-22":[-83.09468841552734,-37.32500076293945],"6-17-23":[-82.34656524658203,-36.183982849121094],"5-8-11":[-83.09468841552734,-32.442832946777344],"6-17-24":[-81.18687438964844,-36.06999969482422],"6-17-25":[-80.3109359741211,-33.993751525878906],"5-8-12":[-81.18687438964844,-29.129833221435547],"6-17-26":[-77.61499786376953,-31.193124771118164],"6-17-27":[-70.93624877929688,-27.457500457763672],"5-8-13":[-77.61499786376953,-22.612167358398438],"6-17-28":[-64.30999755859375,-23.689374923706055],"6-17-29":[-53.990936279296875,-18.0674991607666],"5-8-14":[-64.30999755859375,-14.428750038146973],"6-17-30":[-43.72999954223633,-13.829375267028809],"6-17-31":[-34.30937576293945,-10.34749984741211],"5-8-15":[-43.72999954223633,-7.010499954223633],"6-17-32":[-28.030000686645508,-8.321874618530273],"6-17-33":[-22.5262508392334,-7.815000057220459],"5-8-16":[-28.030000686645508,-5.075000286102295],"6-17-34":[-20.705312728881836,-7.815000057220459],"6-17-35":[-20.21875,-8.004530906677246],"5-8-17":[-20.705312728881836,-4.900199890136719],"6-17-36":[-18.901601791381836,-8.25],"6-17-37":[-21.682811737060547,-9.447500228881836],"5-8-18":[-22.110000610351562,-6.960000038146973],"6-17-38":[-22.7861328125,-10.07883358001709],"6-17-39":[-23.6356258392334,-11.0649995803833],"5-8-19":[-23.6356258392334,-10.07883358001709],"6-17-40":[-25.597509384155273,315.390625],"6-17-41":[-27.149063110351562,-11.326250076293945],"5-8-20":[-27.177167892456055,395.497802734375],"6-17-42":[-27.19906234741211,-12.55875015258789],"6-17-43":[-25.290000915527344,-11.229999542236328],"5-8-21":[-27.19906234741211,-11.229999542236328],"6-17-44":[-23.381874084472656,-10.839219093322754],"6-17-45":[-25.683124542236328,-11.639843940734863],"5-8-22":[-25.683124542236328,-10.73617172241211],"6-17-46":[-27.3160343170166,-12.299333572387695],"6-17-47":[-29.014999389648438,-13.430000305175781],"5-8-23":[-30.3799991607666,-12.299333572387695],"6-17-48":[-30.308046340942383,-14.001749992370605],"6-17-49":[-34.8224983215332,-14.4375],"5-8-24":[-36.223751068115234,-14.001749992370605],"6-17-50":[-36.27666091918945,-15.715167045593262],"6-17-51":[-39.90812683105469,-16.545000076293945],"5-8-25":[-40.619998931884766,-15.715167045593262],"6-17-52":[-49.941856384277344,-19.223833084106445],"6-17-53":[-64.3812484741211,-24.436250686645508],"5-8-26":[-67.0999984741211,-19.223833084106445],"6-17-54":[-75.82951354980469,-31.354415893554688],"6-17-55":[-84.14437866210938,-37.16875076293945],"5-8-27":[-88.4000015258789,-31.354415893554688],"6-17-56":[-89.72777557373047,-39.94816589355469],"6-17-57":[-97.12150573730469,-43.443748474121094],"5-8-28":[-102.30000305175781,-39.94816589355469],"6-17-58":[-96.34843444824219,2730.015869140625],"6-17-59":[1251.60498046875,2341.317626953125],"5-8-29":[-102.30000305175781,3057.05615234375],"6-17-60":[646.7380981445312,1350.324951171875],"6-17-61":[434.89813232421875,803.4874877929688],"5-8-30":[360.22686767578125,1350.324951171875],"6-17-62":[729.5387573242188,3573.160400390625],"6-17-63":[-29.53933334350586,2879.048828125],"5-8-31":[-29.539499282836914,3573.160400390625],"6-18-0":[12.40250015258789,28.309999465942383],"6-18-1":[10.072500228881836,27.598651885986328],"6-18-2":[2.4049999713897705,20.073749542236328],"6-18-3":[-8.329999923706055,2.7487499713897705],"6-18-4":[-10.390625,-2.3653125762939453],"6-18-5":[-18.82437515258789,-3.4314844608306885],"6-18-6":[-22.520801544189453,142.07717895507812],"6-18-7":[-18.167499542236328,429.9646301269531],"6-18-8":[-0.1547500044107437,2151.78857421875],"6-18-9":[348.4206237792969,2614.22802734375],"6-18-10":[9.5156888961792,2710.741455078125],"6-18-11":[294.7574462890625,2698.89794921875],"6-18-12":[-24.65729331970215,2746.582763671875],"6-18-13":[-259.60552978515625,2747.569091796875],"6-18-14":[-46.274295806884766,1843.488037109375],"6-18-15":[-53.347225189208984,-22.188749313354492],"6-18-16":[-60.6584358215332,-26.445833206176758],"6-18-17":[-73.73175811767578,-29.66437530517578],"6-18-18":[-79.71800994873047,-35.92625045776367],"6-18-19":[-82.55191040039062,-39.872501373291016],"6-18-20":[-83.13372802734375,-40.29249954223633],"6-18-21":[-87.24937438964844,-40.68000030517578],"6-18-22":[-88.4378890991211,-41.388832092285156],"6-18-23":[-87.73374938964844,-40.45600128173828],"6-18-24":[-87.07062530517578,-40.241249084472656],"6-18-25":[-86.35034942626953,-38.80991744995117],"6-18-26":[-83.24500274658203,-35.8962516784668],"6-18-27":[-78.0176010131836,-32.161834716796875],"6-18-28":[-71.87999725341797,-27.655000686645508],"6-18-29":[-60.178611755371094,-22.100000381469727],"6-18-30":[-49.78937530517578,-17.75],"6-18-31":[-40.426971435546875,-14.239333152770996],"6-18-32":[-34.166873931884766,-11.43375015258789],"6-18-33":[-27.717714309692383,-10.125749588012695],"6-18-34":[-24.21125030517578,-9.984999656677246],"6-18-35":[-22.7041015625,-9.164999961853027],"6-18-36":[-19.040624618530273,-9.092416763305664],"6-18-37":[-20.020000457763672,-8.96875],"6-18-38":[-21.822500228881836,-9.077500343322754],"6-18-39":[-23.259531021118164,-10.05875015258789],"6-18-40":[-22.954530715942383,30.179208755493164],"6-18-41":[-25.635000228881836,-10.664375305175781],"6-18-42":[-26.068750381469727,-11.58912467956543],"6-18-43":[-24.62468719482422,-10.904999732971191],"6-18-44":[-23.282499313354492,-10.904999732971191],"6-18-45":[-24.943593978881836,-11.37093734741211],"6-18-46":[-26.572187423706055,-12.179390907287598],"6-18-47":[-27.950000762939453,-12.577500343322754],"6-18-48":[-28.655000686645508,-12.732500076293945],"6-18-49":[-31.28499984741211,-12.647500038146973],"6-18-50":[-33.09000015258789,-13.52750015258789],"6-18-51":[-38.29999923706055,-14.779375076293945],"6-18-52":[-46.74281311035156,-18.610000610351562],"6-18-53":[-62.70500183105469,-23.223125457763672],"6-18-54":[-73.10655975341797,-30.403749465942383],"6-18-55":[-79.88999938964844,-35.13687515258789],"6-18-56":[-85.71781158447266,-38.01750183105469],"6-18-57":[-91.80874633789062,-40.53874969482422],"6-18-58":[-89.37999725341797,2750.49462890625],"6-18-59":[1350.324951171875,2817.830810546875],"6-18-60":[749.407470703125,1490.04248046875],"6-18-61":[552.1337280273438,901.4537353515625],"6-18-62":[803.4874877929688,3682.626220703125],"6-18-63":[-29.539167404174805,2878.06884765625],"6-19-0":[12.494500160217285,28.438749313354492],"6-19-1":[10.072500228881836,28.627500534057617],"5-9-0":[10.072500228881836,28.627500534057617],"6-19-2":[2.3350000381469727,20.530000686645508],"6-19-3":[-8.132499694824219,2.4174413681030273],"5-9-1":[-8.329999923706055,20.530000686645508],"4-4-0":[-9.460000038146973,28.627500534057617],"6-19-4":[-13.579375267028809,-2.0561459064483643],"6-19-5":[-21.209999084472656,283.4925537109375],"5-9-2":[-21.209999084472656,283.4925537109375],"6-19-6":[-26.622499465942383,317.54400634765625],"6-19-7":[-24.438749313354492,581.3340454101562],"5-9-3":[-26.622499465942383,581.3340454101562],"4-4-1":[-26.622499465942383,581.3340454101562],"6-19-8":[-7.423489093780518,973.13623046875],"6-19-9":[6.638999938964844,2480.849609375],"5-9-4":[-7.423489093780518,2614.22802734375],"6-19-10":[-1.426869511604309,2228.726806640625],"6-19-11":[399.032958984375,2929.85595703125],"5-9-5":[-1.426869511604309,2929.85595703125],"4-4-2":[-19.038177490234375,3089.824462890625],"6-19-12":[587.4136352539062,2399.430908203125],"6-19-13":[-30.306669235229492,3974.9345703125],"5-9-6":[-259.60552978515625,3974.9345703125],"6-19-14":[-46.52277374267578,2829.289794921875],"6-19-15":[-55.1462516784668,2131.337158203125],"5-9-7":[-55.1462516784668,2829.289794921875],"4-4-3":[-259.60552978515625,3974.9345703125],"6-19-16":[-60.38052749633789,1592.4659423828125],"6-19-17":[-71.30937194824219,1595.58740234375],"5-9-8":[-73.73175811767578,1595.58740234375],"6-19-18":[-78.9501953125,251.62457275390625],"6-19-19":[-83.11843872070312,-38.05780029296875],"5-9-9":[-83.11843872070312,251.62457275390625],"4-4-4":[-83.11843872070312,1595.58740234375],"6-19-20":[-84.8949966430664,-41.29804611206055],"6-19-21":[-89.62999725341797,-42.03874969482422],"5-9-10":[-89.62999725341797,-40.29249954223633],"6-19-22":[-92.73500061035156,-43.78125],"6-19-23":[-93.18000030517578,-43.92979049682617],"5-9-11":[-93.18000030517578,-40.45600128173828],"4-4-5":[-93.18000030517578,-32.442832946777344],"6-19-24":[-93.0581283569336,-43.6193733215332],"6-19-25":[-92.28937530517578,-42.14374923706055],"5-9-12":[-93.0581283569336,-38.80991744995117],"6-19-26":[-89.2300033569336,-39.76750183105469],"6-19-27":[-85.22187805175781,-36.36000061035156],"5-9-13":[-89.2300033569336,-32.161834716796875],"4-4-6":[-93.0581283569336,-22.612167358398438],"6-19-28":[-78.95999908447266,-31.27375030517578],"6-19-29":[-67.4175033569336,-25.302499771118164],"5-9-14":[-78.95999908447266,-22.100000381469727],"6-19-30":[-57.060001373291016,-21.14812469482422],"6-19-31":[-48.06312561035156,-17.540000915527344],"5-9-15":[-57.060001373291016,-14.239333152770996],"4-4-7":[-78.95999908447266,-7.010499954223633],"6-19-32":[-41.400001525878906,-14.600625038146973],"6-19-33":[-33.29249954223633,-12.4375],"5-9-16":[-41.400001525878906,-10.125749588012695],"6-19-34":[-28.549999237060547,-11.75406265258789],"6-19-35":[-23.4781436920166,-9.555000305175781],"5-9-17":[-28.549999237060547,-9.164999961853027],"4-4-8":[-41.400001525878906,-4.900199890136719],"6-19-36":[-19.392499923706055,-8.585000038146973],"6-19-37":[-18.069276809692383,-7.737333297729492],"5-9-18":[-20.020000457763672,-7.737333297729492],"6-19-38":[-19.401796340942383,-7.690833568572998],"6-19-39":[-21.395000457763672,-8.1875],"5-9-19":[-23.259531021118164,-7.690833568572998],"4-4-9":[-23.6356258392334,-6.960000038146973],"6-19-40":[-21.182188034057617,0.37580230832099915],"6-19-41":[-23.258750915527344,-9.492500305175781],"5-9-20":[-25.635000228881836,30.179208755493164],"6-19-42":[-23.804237365722656,-10.860833168029785],"6-19-43":[-23.18000030517578,-10.716833114624023],"5-9-21":[-26.068750381469727,-10.716833114624023],"4-4-10":[-27.19906234741211,395.497802734375],"6-19-44":[-23.623125076293945,-10.755425453186035],"6-19-45":[-24.649999618530273,-11.339062690734863],"5-9-22":[-24.943593978881836,-10.755425453186035],"6-19-46":[-24.91878890991211,-11.976943016052246],"6-19-47":[-25.660682678222656,-11.818833351135254],"5-9-23":[-27.950000762939453,-11.818833351135254],"4-4-11":[-30.3799991607666,-10.73617172241211],"6-19-48":[-25.6160945892334,-11.542499542236328],"6-19-49":[-26.592187881469727,-11.361000061035156],"5-9-24":[-31.28499984741211,-11.361000061035156],"6-19-50":[-29.040624618530273,-11.878166198730469],"6-19-51":[-37.028751373291016,-13.237500190734863],"5-9-25":[-38.29999923706055,-11.878166198730469],"4-4-12":[-40.619998931884766,-11.361000061035156],"6-19-52":[-44.4541015625,-17.7586669921875],"6-19-53":[-60.60499954223633,-22.709688186645508],"5-9-26":[-62.70500183105469,-17.7586669921875],"6-19-54":[-69.02035522460938,-29.595666885375977],"6-19-55":[-75.61624908447266,-33.502498626708984],"5-9-27":[-79.88999938964844,-29.595666885375977],"4-4-13":[-88.4000015258789,-17.7586669921875],"6-19-56":[-80.79861450195312,-36.681331634521484],"6-19-57":[-87.73921966552734,-39.43349838256836],"5-9-28":[-91.80874633789062,-36.681331634521484],"6-19-58":[-80.05249786376953,2986.56689453125],"6-19-59":[1490.04248046875,3530.82080078125],"5-9-29":[-89.37999725341797,3530.82080078125],"4-4-14":[-102.30000305175781,3530.82080078125],"6-19-60":[865.9000244140625,1514.0999755859375],"6-19-61":[606.2260131835938,956.5349731445312],"5-9-30":[552.1337280273438,1514.0999755859375],"6-19-62":[901.4537353515625,3114.634765625],"6-19-63":[-29.538833618164062,2878.56005859375],"5-9-31":[-29.539167404174805,3682.626220703125],"4-4-15":[-29.539499282836914,3682.626220703125],"6-20-0":[12.604836463928223,28.541210174560547],"6-20-1":[10.4350004196167,29.47769546508789],"6-20-2":[2.270625114440918,20.813749313354492],"6-20-3":[-7.478750228881836,2.3768749237060547],"6-20-4":[-13.579375267028809,105.35331726074219],"6-20-5":[-22.762460708618164,360.5022277832031],"6-20-6":[-29.849199295043945,693.5319213867188],"6-20-7":[-27.47101593017578,842.6594848632812],"6-20-8":[101.52547454833984,662.4371948242188],"6-20-9":[38.73617935180664,1501.825439453125],"6-20-10":[-7.859354496002197,1335.357666015625],"6-20-11":[265.1253967285156,2410.695068359375],"6-20-12":[394.15997314453125,2580.469970703125],"6-20-13":[176.298828125,3118.00634765625],"6-20-14":[-26.411972045898438,3265.409423828125],"6-20-15":[-24.642744064331055,4373.5126953125],"6-20-16":[-14.166443824768066,3180.6181640625],"6-20-17":[-27.549434661865234,4292.7314453125],"6-20-18":[-76.11499786376953,2093.70849609375],"6-20-19":[-82.76000213623047,1757.20751953125],"6-20-20":[-84.7699966430664,-39.45000076293945],"6-20-21":[-90.01531219482422,-41.798126220703125],"6-20-22":[-93.62097930908203,-44.7087516784668],"6-20-23":[-95.171875,-46.27916717529297],"6-20-24":[-95.40328216552734,-46.252498626708984],"6-20-25":[-94.6449203491211,-44.6168327331543],"6-20-26":[-91.53687286376953,-43.00749969482422],"6-20-27":[-87.86714935302734,-39.483333587646484],"6-20-28":[-81.87187194824219,-34.42499923706055],"6-20-29":[-70.4437484741211,-28.53441619873047],"6-20-30":[-61.321876525878906,-24.487499237060547],"6-20-31":[-52.19271469116211,-20.850500106811523],"6-20-32":[-45.209999084472656,-17.017499923706055],"6-20-33":[-35.81785202026367,-14.292916297912598],"6-20-34":[-29.9971866607666,-12.237500190734863],"6-20-35":[-24.973125457763672,-9.386333465576172],"6-20-36":[-19.200000762939453,-7.521874904632568],"6-20-37":[-16.875625610351562,-6.210000038146973],"6-20-38":[-16.1200008392334,-6.043125152587891],"6-20-39":[-17.880624771118164,-6.161874771118164],"6-20-40":[-18.616249084472656,-6.824999809265137],"6-20-41":[-21.600000381469727,-7.833125114440918],"6-20-42":[-22.21875,-9.863750457763672],"6-20-43":[-23.823749542236328,-10.664999961853027],"6-20-44":[-24.724960327148438,-11.26550006866455],"6-20-45":[-25.78499984741211,-11.427031517028809],"6-20-46":[-25.794042587280273,-11.971597671508789],"6-20-47":[-24.124374389648438,-11.21500015258789],"6-20-48":[-23.479999542236328,-10.65625],"6-20-49":[-23.649999618530273,-10.31291675567627],"6-20-50":[-26.0362491607666,-10.70966625213623],"6-20-51":[-35.459999084472656,-11.922499656677246],"6-20-52":[-44.223751068115234,-15.930000305175781],"6-20-53":[-59.189998626708984,-21.915624618530273],"6-20-54":[-66.25875091552734,-28.403749465942383],"6-20-55":[-73.36000061035156,-32.299373626708984],"6-20-56":[-79.02677917480469,-35.559295654296875],"6-20-57":[-84.11312866210938,-37.5666389465332],"6-20-58":[-79.01000213623047,1956.6099853515625],"6-20-59":[1514.0999755859375,2297.86181640625],"6-20-60":[953.6950073242188,1535.1175537109375],"6-20-61":[812.01220703125,1062.99755859375],"6-20-62":[956.5349731445312,2865.18994140625],"6-20-63":[-29.582075119018555,2878.56005859375],"6-21-0":[12.696999549865723,28.946874618530273],"6-21-1":[10.4350004196167,30.365625381469727],"5-10-0":[10.4350004196167,30.365625381469727],"6-21-2":[2.270625114440918,21.719999313354492],"6-21-3":[-4.041874885559082,2.713749885559082],"5-10-1":[-7.478750228881836,21.719999313354492],"6-21-4":[-14.8725004196167,306.8108215332031],"6-21-5":[-25.811250686645508,454.86083984375],"5-10-2":[-25.811250686645508,454.86083984375],"6-21-6":[-33.3459358215332,413.7384338378906],"6-21-7":[-35.209373474121094,781.3670654296875],"5-10-3":[-35.209373474121094,842.6594848632812],"6-21-8":[126.37966918945312,696.5736694335938],"6-21-9":[137.72830200195312,880.3894653320312],"5-10-4":[38.73617935180664,1501.825439453125],"6-21-10":[-10.459357261657715,833.9287719726562],"6-21-11":[299.0572814941406,1099.38623046875],"5-10-5":[-10.459357261657715,2410.695068359375],"6-21-12":[314.7867736816406,3253.796142578125],"6-21-13":[300.7981872558594,3939.09716796875],"5-10-6":[176.298828125,3939.09716796875],"6-21-14":[196.3773651123047,2946.150146484375],"6-21-15":[15.242274284362793,2851.9541015625],"5-10-7":[-26.411972045898438,4373.5126953125],"6-21-16":[351.2245788574219,2953.968505859375],"6-21-17":[661.980712890625,3100.1279296875],"5-10-8":[-27.549434661865234,4292.7314453125],"6-21-18":[-17.480318069458008,4387.576171875],"6-21-19":[-41.69571304321289,4241.99462890625],"5-10-9":[-82.76000213623047,4387.576171875],"6-21-20":[-83.59625244140625,610.5792236328125],"6-21-21":[-89.125,1248.20263671875],"5-10-10":[-90.01531219482422,1248.20263671875],"6-21-22":[-93.1220932006836,-43.26750183105469],"6-21-23":[-95.03500366210938,-45.428749084472656],"5-10-11":[-95.171875,-43.26750183105469],"6-21-24":[-95.31269836425781,-46.307498931884766],"6-21-25":[-94.73799133300781,-45.23091506958008],"5-10-12":[-95.40328216552734,-44.6168327331543],"6-21-26":[-91.97937774658203,-43.77375030517578],"6-21-27":[-87.80150604248047,-40.96649932861328],"5-10-13":[-91.97937774658203,-39.483333587646484],"6-21-28":[-82.66625213623047,-36.11750030517578],"6-21-29":[-71.19747924804688,-30.736249923706055],"5-10-14":[-82.66625213623047,-28.53441619873047],"6-21-30":[-63.30500030517578,-26.8331241607666],"6-21-31":[-54.80875015258789,-22.8075008392334],"5-10-15":[-63.30500030517578,-20.850500106811523],"6-21-32":[-47.81999969482422,-18.670000076293945],"6-21-33":[-38.404998779296875,-15.133749961853027],"5-10-16":[-47.81999969482422,-14.292916297912598],"6-21-34":[-32.20500183105469,-12.898750305175781],"6-21-35":[-25.628965377807617,-9.336000442504883],"5-10-17":[-32.20500183105469,-9.336000442504883],"6-21-36":[-19.2918758392334,-6.073750019073486],"6-21-37":[-14.531874656677246,-4.671249866485596],"5-10-18":[-19.2918758392334,-4.671249866485596],"6-21-38":[-12.056249618530273,-4.2101664543151855],"6-21-39":[-13.170000076293945,-4.21750020980835],"5-10-19":[-17.880624771118164,-4.2101664543151855],"6-21-40":[-15.044023513793945,-5.086666584014893],"6-21-41":[-19.571874618530273,-6.523749828338623],"5-10-20":[-21.600000381469727,-5.086666584014893],"6-21-42":[-21.167499542236328,-9.26866626739502],"6-21-43":[-22.88249969482422,-10.447500228881836],"5-10-21":[-23.823749542236328,-9.26866626739502],"6-21-44":[-24.496522903442383,-11.317333221435547],"6-21-45":[-26.045019149780273,-12.018593788146973],"5-10-22":[-26.045019149780273,-11.26550006866455],"6-21-46":[-26.020000457763672,-11.9662504196167],"6-21-47":[-23.997949600219727,-10.763833045959473],"5-10-23":[-26.020000457763672,-10.763833045959473],"6-21-48":[-22.235000610351562,-10.037500381469727],"6-21-49":[-21.595781326293945,-9.786083221435547],"5-10-24":[-23.649999618530273,-9.786083221435547],"6-21-50":[-23.190214157104492,-10.14816665649414],"6-21-51":[-31.423124313354492,-11.332500457763672],"5-10-25":[-35.459999084472656,-10.14816665649414],"6-21-52":[-42.015625,-14.725166320800781],"6-21-53":[-56.27406311035156,-21.164688110351562],"5-10-26":[-59.189998626708984,-14.725166320800781],"6-21-54":[-63.5847282409668,-26.87583351135254],"6-21-55":[-71.421875,-31.114999771118164],"5-10-27":[-73.36000061035156,-26.87583351135254],"6-21-56":[-74.30622863769531,-34.391998291015625],"6-21-57":[-79.1669692993164,-34.74100112915039],"5-10-28":[-84.11312866210938,-34.391998291015625],"6-21-58":[-75.46156311035156,1699.9425048828125],"6-21-59":[1495.5018310546875,2538.049072265625],"5-10-29":[-79.01000213623047,2538.049072265625],"6-21-60":[1062.99755859375,1626.405029296875],"6-21-61":[869.7111206054688,1241.72119140625],"5-10-30":[812.01220703125,1626.405029296875],"6-21-62":[1025.918701171875,2638.660400390625],"6-21-63":[-29.62196922302246,2874.626220703125],"5-10-31":[-29.62196922302246,2878.56005859375],"6-22-0":[12.803752899169922,29.116426467895508],"6-22-1":[11.4310302734375,30.763124465942383],"6-22-2":[2.3399999141693115,22.884687423706055],"6-22-3":[-2.299999952316284,5.525136947631836],"6-22-4":[-15.353828430175781,459.74853515625],"6-22-5":[-28.85171890258789,707.5408325195312],"6-22-6":[-33.68498229980469,562.2254028320312],"6-22-7":[-36.82847595214844,561.104736328125],"6-22-8":[106.7437515258789,731.185546875],"6-22-9":[124.4999771118164,633.2732543945312],"6-22-10":[-20.181283950805664,980.6282348632812],"6-22-11":[221.72430419921875,953.8346557617188],"6-22-12":[291.6790466308594,1945.4451904296875],"6-22-13":[407.70904541015625,3751.066650390625],"6-22-14":[373.1355285644531,3467.22900390625],"6-22-15":[143.6695556640625,2981.675048828125],"6-22-16":[498.9130859375,2953.807373046875],"6-22-17":[1005.3326416015625,3455.022705078125],"6-22-18":[-109.12721252441406,3616.127685546875],"6-22-19":[-115.49979400634766,3677.0673828125],"6-22-20":[-106.81531524658203,3055.5322265625],"6-22-21":[-87.06019592285156,2579.491455078125],"6-22-22":[-90.85749816894531,227.3563995361328],"6-22-23":[-93.30999755859375,-36.74134063720703],"6-22-24":[-93.46812438964844,-43.317501068115234],"6-22-25":[-92.55968475341797,-42.61507797241211],"6-22-26":[-90.45500183105469,-41.08250045776367],"6-22-27":[-87.10093688964844,-38.630001068115234],"6-22-28":[-81.93000030517578,-34.926876068115234],"6-22-29":[-71.1015625,-31.113750457763672],"6-22-30":[-63.36750030517578,-27.035625457763672],"6-22-31":[-54.81345748901367,-23.61750030517578],"6-22-32":[-47.990623474121094,-19.6612491607666],"6-22-33":[-38.66062545776367,-15.789999961853027],"6-22-34":[-32.328125,-12.286250114440918],"6-22-35":[-25.129688262939453,-8],"6-22-36":[-18.520000457763672,-4.62375020980835],"6-22-37":[-11.881250381469727,-3.049999952316284],"6-22-38":[-9.239999771118164,-2.78125],"6-22-39":[-10.029999732971191,-2.9731249809265137],"6-22-40":[-12.548437118530273,-3.887500047683716],"6-22-41":[-18.450000762939453,-5.526875019073486],"6-22-42":[-20.413124084472656,-8.140000343322754],"6-22-43":[-22.65999984741211,-9.886249542236328],"6-22-44":[-24.439218521118164,-11.125],"6-22-45":[-25.500938415527344,-11.476875305175781],"6-22-46":[-25.475000381469727,-11.3306245803833],"6-22-47":[-23.4921875,-10.260000228881836],"6-22-48":[-21.3700008392334,-9.664083480834961],"6-22-49":[-20.267499923706055,-9.528124809265137],"6-22-50":[-22.587343215942383,-10.10129165649414],"6-22-51":[-29.69937515258789,-11.3247652053833],"6-22-52":[-41.537498474121094,-14.53066635131836],"6-22-53":[-53.66999816894531,-21.14484405517578],"6-22-54":[-61.260623931884766,-25.864999771118164],"6-22-55":[-68.77999877929688,-29.952499389648438],"6-22-56":[-72.32312774658203,-32.845001220703125],"6-22-57":[-76.49749755859375,-32.90656280517578],"6-22-58":[-76.52710723876953,3383.5595703125],"6-22-59":[1286.4825439453125,3626.483642578125],"6-22-60":[1241.72119140625,1694.935791015625],"6-22-61":[987.5284423828125,1432.9775390625],"6-22-62":[1168.6724853515625,2576.079345703125],"6-22-63":[-29.538000106811523,2863.2841796875],"6-23-0":[12.923791885375977,29.130624771118164],"6-23-1":[11.5337495803833,30.885000228881836],"5-11-0":[11.4310302734375,30.885000228881836],"6-23-2":[2.570625066757202,24.520000457763672],"6-23-3":[-2.859999895095825,9.460000038146973],"5-11-1":[-2.859999895095825,24.520000457763672],"4-5-0":[-7.478750228881836,30.885000228881836],"6-23-4":[-17.91374969482422,409.1918640136719],"6-23-5":[-35.369998931884766,754.5274047851562],"5-11-2":[-35.369998931884766,754.5274047851562],"6-23-6":[-35.76695251464844,628.5801391601562],"6-23-7":[-51.78937530517578,437.7607116699219],"5-11-3":[-51.78937530517578,628.5801391601562],"4-5-1":[-51.78937530517578,842.6594848632812],"3-2-0":[-51.78937530517578,842.6594848632812],"6-23-8":[212.0032501220703,620.3357543945312],"6-23-9":[126.79533386230469,594.998291015625],"5-11-4":[106.7437515258789,731.185546875],"6-23-10":[-25.9515323638916,952.8884887695312],"6-23-11":[181.68748474121094,969.0382690429688],"5-11-5":[-25.9515323638916,980.6282348632812],"4-5-2":[-25.9515323638916,2410.695068359375],"6-23-12":[362.5606689453125,1217.704345703125],"6-23-13":[599.3408813476562,3152.728515625],"5-11-6":[291.6790466308594,3751.066650390625],"6-23-14":[584.0292358398438,3396.82373046875],"6-23-15":[496.5095520019531,3385.14306640625],"5-11-7":[143.6695556640625,3467.22900390625],"4-5-3":[-26.411972045898438,4373.5126953125],"3-2-1":[-259.60552978515625,4373.5126953125],"6-23-16":[739.2645874023438,3846.9765625],"6-23-17":[1261.0601806640625,3659.443359375],"5-11-8":[498.9130859375,3846.9765625],"6-23-18":[342.6692199707031,3960.26220703125],"6-23-19":[53.25970458984375,2781.712646484375],"5-11-9":[-115.49979400634766,3960.26220703125],"4-5-4":[-115.49979400634766,4387.576171875],"6-23-20":[-43.41166305541992,2074.243408203125],"6-23-21":[-53.907108306884766,2324.399658203125],"5-11-10":[-106.81531524658203,3055.5322265625],"6-23-22":[-86.06437683105469,1902.2799072265625],"6-23-23":[-86.19046020507812,-37.160587310791016],"5-11-11":[-93.30999755859375,1902.2799072265625],"4-5-5":[-106.81531524658203,3055.5322265625],"3-2-2":[-115.49979400634766,4387.576171875],"6-23-24":[-86.53640747070312,-38.537498474121094],"6-23-25":[-85.6489028930664,238.05921936035156],"5-11-12":[-93.46812438964844,238.05921936035156],"6-23-26":[-84.31949615478516,-36.65250015258789],"6-23-27":[-80.63008117675781,-34.814666748046875],"5-11-13":[-90.45500183105469,-34.814666748046875],"4-5-6":[-95.40328216552734,238.05921936035156],"6-23-28":[-76.58187866210938,-32.08250045776367],"6-23-29":[-68.36320495605469,-29.043582916259766],"5-11-14":[-81.93000030517578,-29.043582916259766],"6-23-30":[-61.79375076293945,-25.292499542236328],"6-23-31":[-52.77812576293945,-21.98033332824707],"5-11-15":[-63.36750030517578,-21.98033332824707],"4-5-7":[-82.66625213623047,-20.850500106811523],"3-2-3":[-95.40328216552734,238.05921936035156],"6-23-32":[-46.79312515258789,-18.424999237060547],"6-23-33":[-38.03580093383789,-15.008832931518555],"5-11-16":[-47.990623474121094,-15.008832931518555],"6-23-34":[-31.4034366607666,-10.654999732971191],"6-23-35":[-23.02361297607422,-6.8429999351501465],"5-11-17":[-32.328125,-6.8429999351501465],"4-5-8":[-47.990623474121094,-6.8429999351501465],"6-23-36":[-15.563750267028809,-3.947499990463257],"6-23-37":[-8.411425590515137,-2.3543334007263184],"5-11-18":[-18.520000457763672,-2.3543334007263184],"6-23-38":[-5.821875095367432,-1.9918333292007446],"6-23-39":[-7.591875076293945,-2.190000057220459],"5-11-19":[-10.029999732971191,-1.9918333292007446],"4-5-9":[-19.2918758392334,-1.9918333292007446],"3-2-4":[-47.990623474121094,-1.9918333292007446],"6-23-40":[-10.370488166809082,-3.432499885559082],"6-23-41":[-16.027812957763672,-5.002500057220459],"5-11-20":[-18.450000762939453,-3.432499885559082],"6-23-42":[-19.180702209472656,-6.882166862487793],"6-23-43":[-22.0518741607666,-9.077500343322754],"5-11-21":[-22.65999984741211,-6.882166862487793],"4-5-10":[-23.823749542236328,-3.432499885559082],"6-23-44":[-22.856250762939453,-10.10866641998291],"6-23-45":[-23.625038146972656,-10.531332969665527],"5-11-22":[-25.500938415527344,-10.10866641998291],"6-23-46":[-23.434999465942383,-10.40999984741211],"6-23-47":[-22.16958999633789,-9.804499626159668],"5-11-23":[-25.475000381469727,-9.804499626159668],"4-5-11":[-26.045019149780273,-9.804499626159668],"3-2-5":[-30.3799991607666,395.497802734375],"6-23-48":[-20.384374618530273,-9.352781295776367],"6-23-49":[-21.165624618530273,-9.356719017028809],"5-11-24":[-21.3700008392334,-9.352781295776367],"6-23-50":[-23.209375381469727,-10.1899995803833],"6-23-51":[-30.1200008392334,-11.534375190734863],"5-11-25":[-30.1200008392334,-10.10129165649414],"4-5-12":[-35.459999084472656,-9.352781295776367],"6-23-52":[-43.444374084472656,-14.72249984741211],"6-23-53":[-51.529685974121094,-21.481250762939453],"5-11-26":[-53.66999816894531,-14.53066635131836],"6-23-54":[-58.942771911621094,-25.37791633605957],"6-23-55":[-65.29312133789062,-28.822500228881836],"5-11-27":[-68.77999877929688,-25.37791633605957],"4-5-13":[-73.36000061035156,-14.53066635131836],"3-2-6":[-88.4000015258789,-9.352781295776367],"6-23-56":[-69.36076354980469,-31.181333541870117],"6-23-57":[-72.55503845214844,-32.310001373291016],"5-11-28":[-76.49749755859375,-31.181333541870117],"6-23-58":[-73.41156005859375,2010.0078125],"6-23-59":[1105.4332275390625,2194.59521484375],"5-11-29":[-76.52710723876953,3626.483642578125],"4-5-14":[-84.11312866210938,3626.483642578125],"6-23-60":[1418.3399658203125,1763.018798828125],"6-23-61":[1252.1170654296875,1638.5799560546875],"5-11-30":[987.5284423828125,1763.018798828125],"6-23-62":[1432.9775390625,2755.158447265625],"6-23-63":[-29.53766632080078,2834.951171875],"5-11-31":[-29.538000106811523,2863.2841796875],"4-5-15":[-29.62196922302246,2878.56005859375],"3-2-7":[-102.30000305175781,3682.626220703125],"6-24-0":[13.08899974822998,29.09375],"6-24-1":[12.771227836608887,30.885000228881836],"6-24-2":[3.362499952316284,25.791250228881836],"6-24-3":[-3.4937500953674316,11.112441062927246],"6-24-4":[-19.2515811920166,404.1700134277344],"6-24-5":[-38.895626068115234,404.1700134277344],"6-24-6":[-40.0153923034668,637.4262084960938],"6-24-7":[-57.543357849121094,369.5162353515625],"6-24-8":[70.59933471679688,618.65185546875],"6-24-9":[123.35530853271484,643.8284301757812],"6-24-10":[-27.375497817993164,442.6983337402344],"6-24-11":[174.5903778076172,841.0401000976562],"6-24-12":[373.5768127441406,849.7937622070312],"6-24-13":[495.56829833984375,1071.087890625],"6-24-14":[572.5742797851562,2114.95166015625],"6-24-15":[720.4059448242188,3889.2705078125],"6-24-16":[1325.3367919921875,4191.25927734375],"6-24-17":[1258.65283203125,4109.87939453125],"6-24-18":[857.521484375,3690.590576171875],"6-24-19":[364.3179626464844,3824.203857421875],"6-24-20":[-26.56171989440918,3235.2861328125],"6-24-21":[-39.563140869140625,2589.57568359375],"6-24-22":[-71.53345489501953,1702.930419921875],"6-24-23":[-79.5688247680664,2045.202392578125],"6-24-24":[-78.29757690429688,-33.2912483215332],"6-24-25":[-77.07499694824219,268.0562744140625],"6-24-26":[-75.27671813964844,-31.52750015258789],"6-24-27":[-72.82062530517578,-29.627500534057617],"6-24-28":[-69.62000274658203,-28.02312469482422],"6-24-29":[-63.33250045776367,-25.657499313354492],"6-24-30":[-58.08000183105469,-23.111875534057617],"6-24-31":[-49.63999938964844,-20.207500457763672],"6-24-32":[-43.7599983215332,-17.2762508392334],"6-24-33":[-35.89374923706055,-13.422499656677246],"6-24-34":[-29.860000610351562,-9.9193754196167],"6-24-35":[-20.227500915527344,-6.4375],"6-24-36":[-13.600000381469727,-3.8648438453674316],"6-24-37":[-7.429999828338623,-2.3292500972747803],"6-24-38":[-4.949999809265137,-1.9404010772705078],"6-24-39":[-7.059999942779541,-2.1337499618530273],"6-24-40":[-9.662500381469727,-3.325166702270508],"6-24-41":[-13.800000190734863,-4.701562404632568],"6-24-42":[-17.75,-6.090000152587891],"6-24-43":[-20.171249389648438,-8.329375267028809],"6-24-44":[-21.39812469482422,-9.34850025177002],"6-24-45":[-21.959999084472656,-9.830078125],"6-24-46":[-21.959999084472656,-10.001562118530273],"6-24-47":[-20.6875,-9.669833183288574],"6-24-48":[-19.520000457763672,-9.430000305175781],"6-24-49":[-21.857872009277344,-9.46500015258789],"6-24-50":[-23.625429153442383,-10.527832984924316],"6-24-51":[-30.1200008392334,-11.802499771118164],"6-24-52":[-42.53937530517578,-14.642499923706055],"6-24-53":[-50.720001220703125,-20.346874237060547],"6-24-54":[-56.67375183105469,-24.59000015258789],"6-24-55":[-62.36000061035156,-27.158750534057617],"6-24-56":[-67.74500274658203,-29.514999389648438],"6-24-57":[-69.32250213623047,-30.92593765258789],"6-24-58":[-67.74624633789062,2438.8388671875],"6-24-59":[821.95751953125,3441.141357421875],"6-24-60":[1593.3074951171875,1871.8079833984375],"6-24-61":[1391.7049560546875,1816.6962890625],"6-24-62":[1638.5799560546875,2575.132080078125],"6-24-63":[-29.53733253479004,2813.186767578125],"6-25-0":[13.28083324432373,29.055625915527344],"6-25-1":[12.991250038146973,30.66437530517578],"5-12-0":[12.771227836608887,30.885000228881836],"6-25-2":[4.331250190734863,27.290000915527344],"6-25-3":[-3.5999999046325684,11.87874984741211],"5-12-1":[-3.5999999046325684,27.290000915527344],"6-25-4":[-18.477188110351562,293.9667053222656],"6-25-5":[-39.7400016784668,334.4587097167969],"5-12-2":[-39.7400016784668,404.1700134277344],"6-25-6":[-44.813045501708984,387.516845703125],"6-25-7":[-63.274375915527344,308.4985046386719],"5-12-3":[-63.274375915527344,637.4262084960938],"6-25-8":[-63.05812454223633,598.6048583984375],"6-25-9":[119.88375091552734,600.1868286132812],"5-12-4":[-63.05812454223633,643.8284301757812],"6-25-10":[-28.141164779663086,610.7572021484375],"6-25-11":[175.34375,613.7483520507812],"5-12-5":[-28.141164779663086,841.0401000976562],"6-25-12":[357.00494384765625,741.3196411132812],"6-25-13":[154.24305725097656,852.5703735351562],"5-12-6":[154.24305725097656,1071.087890625],"6-25-14":[529.7526245117188,2093.276123046875],"6-25-15":[667.1549682617188,3842.671142578125],"5-12-7":[529.7526245117188,3889.2705078125],"6-25-16":[1046.967041015625,4204.44091796875],"6-25-17":[1396.764404296875,3751.4248046875],"5-12-8":[1046.967041015625,4204.44091796875],"6-25-18":[1174.2559814453125,4348.3828125],"6-25-19":[1345.7490234375,3458.3349609375],"5-12-9":[364.3179626464844,4348.3828125],"6-25-20":[852.0631103515625,3295.6884765625],"6-25-21":[84.61900329589844,3091.225830078125],"5-12-10":[-39.563140869140625,3295.6884765625],"6-25-22":[-38.21055603027344,3268.301025390625],"6-25-23":[-66.40340423583984,2081.226318359375],"5-12-11":[-79.5688247680664,3268.301025390625],"6-25-24":[-67.9429702758789,-28.525562286376953],"6-25-25":[-66.5824966430664,-26.447500228881836],"5-12-12":[-78.29757690429688,268.0562744140625],"6-25-26":[-65.04499816894531,-25.225000381469727],"6-25-27":[-63.05500030517578,-24.165000915527344],"5-12-13":[-75.27671813964844,-24.165000915527344],"6-25-28":[-59.255001068115234,-15.522700309753418],"6-25-29":[-54.34410095214844,-22.319665908813477],"5-12-14":[-69.62000274658203,-15.522700309753418],"6-25-30":[-50.436561584472656,-20.5049991607666],"6-25-31":[-44.99455261230469,-18.741666793823242],"5-12-15":[-58.08000183105469,-18.741666793823242],"6-25-32":[-39.9631233215332,-16.2237491607666],"6-25-33":[-33.51333999633789,-12.954750061035156],"5-12-16":[-43.7599983215332,-12.954750061035156],"6-25-34":[-26.724061965942383,-9.783541679382324],"6-25-35":[-19.181875228881836,-6.510166645050049],"5-12-17":[-29.860000610351562,-6.4375],"6-25-36":[-14.510000228881836,-4.010000228881836],"6-25-37":[-8.866874694824219,-2.502500057220459],"5-12-18":[-14.510000228881836,-2.3292500972747803],"6-25-38":[-6.335000038146973,-2.1827917098999023],"6-25-39":[-6.838125228881836,-2.309999942779541],"5-12-19":[-7.059999942779541,-1.9404010772705078],"6-25-40":[-9.40380859375,-3.3299999237060547],"6-25-41":[-32.095970153808594,501.95904541015625],"5-12-20":[-32.095970153808594,501.95904541015625],"6-25-42":[-16.077499389648438,-5.369999885559082],"6-25-43":[-18.471582412719727,-7.508749961853027],"5-12-21":[-20.171249389648438,-5.369999885559082],"6-25-44":[-19.572324752807617,-8.508166313171387],"6-25-45":[-20.507186889648438,-9.3412504196167],"5-12-22":[-21.959999084472656,-8.508166313171387],"6-25-46":[-20.658143997192383,-9.34375],"6-25-47":[-19.821250915527344,-8.989666938781738],"5-12-23":[-21.959999084472656,-8.989666938781738],"6-25-48":[-19.592069625854492,-9.098750114440918],"6-25-49":[-22.089061737060547,-9.676250457763672],"5-12-24":[-22.089061737060547,-9.098750114440918],"6-25-50":[-24.3075008392334,-10.801250457763672],"6-25-51":[-29.520000457763672,-11.995624542236328],"5-12-25":[-30.1200008392334,-10.527832984924316],"6-25-52":[-38.641719818115234,-14.616167068481445],"6-25-53":[-48.87906265258789,-19.40275001525879],"5-12-26":[-50.720001220703125,-14.616167068481445],"6-25-54":[-53.26298904418945,-23.188167572021484],"6-25-55":[-58.76187515258789,-25.889999389648438],"5-12-27":[-62.36000061035156,-23.188167572021484],"6-25-56":[-65.34625244140625,-28.745832443237305],"6-25-57":[-65.62992095947266,-29.51849937438965],"5-12-28":[-69.32250213623047,-28.745832443237305],"6-25-58":[-63.64250183105469,821.95751953125],"6-25-59":[726.873779296875,1676.6800537109375],"5-12-29":[-67.74624633789062,3441.141357421875],"6-25-60":[1630.885009765625,1996.2762451171875],"6-25-61":[1569.8984375,1996.2762451171875],"5-12-30":[1391.7049560546875,1996.2762451171875],"6-25-62":[1816.6962890625,2606.330078125],"6-25-63":[-29.536832809448242,2795.254150390625],"5-12-31":[-29.53733253479004,2813.186767578125],"6-26-0":[13.547586441040039,29.136249542236328],"6-26-1":[13.943750381469727,30.475624084472656],"6-26-2":[5.288750171661377,27.86687469482422],"6-26-3":[-3.319999933242798,281.70538330078125],"6-26-4":[-18.477188110351562,308.76776123046875],"6-26-5":[-40.41062545776367,381.7304992675781],"6-26-6":[-46.85929870605469,317.7424621582031],"6-26-7":[-64.68099975585938,215.88893127441406],"6-26-8":[-2.2603416442871094,571.3153686523438],"6-26-9":[116.7823715209961,565.7662353515625],"6-26-10":[-32.40644454956055,599.9398803710938],"6-26-11":[208.2876434326172,611.8388671875],"6-26-12":[299.9306335449219,731.3884887695312],"6-26-13":[318.8929443359375,749.392578125],"6-26-14":[470.62213134765625,993.23583984375],"6-26-15":[555.4791870117188,1446.1971435546875],"6-26-16":[932.5281982421875,3114.59521484375],"6-26-17":[1209.866455078125,4338.5517578125],"6-26-18":[1296.536376953125,4383.2421875],"6-26-19":[1070.6571044921875,3998.9736328125],"6-26-20":[855.6885375976562,3617.01318359375],"6-26-21":[658.3076782226562,2970.031982421875],"6-26-22":[417.6405334472656,3258.003173828125],"6-26-23":[-28.59000015258789,3307.8759765625],"6-26-24":[-62.720069885253906,2734.407470703125],"6-26-25":[-59.484100341796875,2861.6806640625],"6-26-26":[-52.89500045776367,-18.545625686645508],"6-26-27":[-50.45000076293945,-18.19499969482422],"6-26-28":[-48.33000183105469,-18.135313034057617],"6-26-29":[-46.342811584472656,-18.063749313354492],"6-26-30":[-44.40999984741211,-17.731874465942383],"6-26-31":[-40.439064025878906,-17.020000457763672],"6-26-32":[-37.310001373291016,-15.4975004196167],"6-26-33":[-31.85124969482422,-12.902832984924316],"6-26-34":[-26.46125030517578,-10.00374984741211],"6-26-35":[-21.24152374267578,-7.319499969482422],"6-26-36":[-17.778749465942383,-4.661250114440918],"6-26-37":[-11.753339767456055,-3.187166690826416],"6-26-38":[-7.860000133514404,-2.802000045776367],"6-26-39":[-6.78000020980835,-2.9075000286102295],"6-26-40":[-7.783750057220459,-2.882499933242798],"6-26-41":[-10.704843521118164,8.480862617492676],"6-26-42":[-14.625624656677246,-4.568749904632568],"6-26-43":[-16.8799991607666,-6.599374771118164],"6-26-44":[-18.5674991607666,-7.397583484649658],"6-26-45":[-19.405000686645508,-7.991250038146973],"6-26-46":[-19.504375457763672,-8.349531173706055],"6-26-47":[-18.5753116607666,-8.35562515258789],"6-26-48":[-19.104999542236328,-8.3774995803833],"6-26-49":[-22.075000762939453,-9.268750190734863],"6-26-50":[-24.130937576293945,-10.476249694824219],"6-26-51":[-29.3799991607666,-11.821874618530273],"6-26-52":[-38.32749938964844,-14.039999961853027],"6-26-53":[-46.189998626708984,-17.491249084472656],"6-26-54":[-51.19593811035156,-21.671249389648438],"6-26-55":[-57.4900016784668,-24.386249542236328],"6-26-56":[-63.63874816894531,-27.72249984741211],"6-26-57":[-62.8125,189.44313049316406],"6-26-58":[-60.90999984741211,881.6343994140625],"6-26-59":[740.6487426757812,1748.5400390625],"6-26-60":[1676.6800537109375,2076.646240234375],"6-26-61":[1756.3472900390625,2181.0654296875],"6-26-62":[1948.766357421875,2606.48876953125],"6-26-63":[-29.536500930786133,2777.837646484375],"6-27-0":[13.609615325927734,29.487499237060547],"6-27-1":[13.943750381469727,31.084999084472656],"5-13-0":[13.547586441040039,31.084999084472656],"6-27-2":[6.450624942779541,27.899999618530273],"6-27-3":[-0.41187500953674316,320.4958190917969],"5-13-1":[-3.319999933242798,320.4958190917969],"4-6-0":[-3.5999999046325684,320.4958190917969],"6-27-4":[-16.489805221557617,372.6816101074219],"6-27-5":[-40.20624923706055,294.1231689453125],"5-13-2":[-40.41062545776367,381.7304992675781],"6-27-6":[-53.842342376708984,132.19882202148438],"6-27-7":[-71.24812316894531,117.69999694824219],"5-13-3":[-71.24812316894531,317.7424621582031],"4-6-1":[-71.24812316894531,637.4262084960938],"6-27-8":[-10.8412504196167,325.5276184082031],"6-27-9":[25.92566680908203,428.64678955078125],"5-13-4":[-10.8412504196167,571.3153686523438],"6-27-10":[-36.625450134277344,567.1392822265625],"6-27-11":[275.4012145996094,510.8363037109375],"5-13-5":[-36.625450134277344,611.8388671875],"4-6-2":[-63.05812454223633,841.0401000976562],"6-27-12":[177.93112182617188,779.8211669921875],"6-27-13":[230.46328735351562,797.8910522460938],"5-13-6":[177.93112182617188,797.8910522460938],"6-27-14":[353.2326354980469,843.6193237304688],"6-27-15":[486.4490661621094,1208.1021728515625],"5-13-7":[353.2326354980469,1446.1971435546875],"4-6-3":[154.24305725097656,3889.2705078125],"6-27-16":[469.5370788574219,2194.749755859375],"6-27-17":[827.2254028320312,1798.5089111328125],"5-13-8":[469.5370788574219,4338.5517578125],"6-27-18":[821.2898559570312,2635.821044921875],"6-27-19":[656.6206665039062,2159.52099609375],"5-13-9":[656.6206665039062,4383.2421875],"4-6-4":[364.3179626464844,4383.2421875],"6-27-20":[633.5263671875,1925.9459228515625],"6-27-21":[300.28948974609375,2697.8330078125],"5-13-10":[300.28948974609375,3617.01318359375],"6-27-22":[335.3158874511719,2999.919189453125],"6-27-23":[921.8988037109375,3424.2919921875],"5-13-11":[-28.59000015258789,3424.2919921875],"4-6-5":[-79.5688247680664,3617.01318359375],"6-27-24":[401.211669921875,3479.93603515625],"6-27-25":[-46.79450988769531,4234.2822265625],"5-13-12":[-62.720069885253906,4234.2822265625],"6-27-26":[-39.040000915527344,-13.0024995803833],"6-27-27":[-35.27375030517578,-12.541666984558105],"5-13-13":[-52.89500045776367,-12.541666984558105],"4-6-6":[-78.29757690429688,4234.2822265625],"6-27-28":[-35.19089889526367,-12.850500106811523],"6-27-29":[-35.333221435546875,-13.410666465759277],"5-13-14":[-48.33000183105469,-12.850500106811523],"6-27-30":[-35.16831970214844,-14.098666191101074],"6-27-31":[-34.8849983215332,-14.9375],"5-13-15":[-44.40999984741211,-14.098666191101074],"4-6-7":[-69.62000274658203,-12.850500106811523],"6-27-32":[-33.662498474121094,-14.667499542236328],"6-27-33":[-30.23455047607422,-13.296250343322754],"5-13-16":[-37.310001373291016,-12.902832984924316],"6-27-34":[-28.1200008392334,-11.023124694824219],"6-27-35":[-24.653125762939453,-9.210000038146973],"5-13-17":[-28.1200008392334,-7.319499969482422],"4-6-8":[-43.7599983215332,-6.4375],"6-27-36":[-20.4481258392334,-6.321249961853027],"6-27-37":[-14.709375381469727,-4.117499828338623],"5-13-18":[-20.4481258392334,-3.187166690826416],"6-27-38":[-10.699999809265137,-3.46875],"6-27-39":[-7.819375038146973,-2.9535000324249268],"5-13-19":[-10.699999809265137,-2.802000045776367],"4-6-9":[-20.4481258392334,-1.9404010772705078],"6-27-40":[-6.356269359588623,-2.127500057220459],"6-27-41":[-8.90250015258789,-2.070499897003174],"5-13-20":[-10.704843521118164,8.480862617492676],"6-27-42":[-12.617597579956055,-3.6410000324249268],"6-27-43":[-14.871874809265137,-5.647500038146973],"5-13-21":[-16.8799991607666,-3.6410000324249268],"4-6-10":[-32.095970153808594,501.95904541015625],"6-27-44":[-15.663945198059082,-6.126333236694336],"6-27-45":[-17.150468826293945,-6.68149995803833],"5-13-22":[-19.405000686645508,-6.126333236694336],"6-27-46":[-17.13394546508789,-7.460333347320557],"6-27-47":[-16.638320922851562,-6.9058332443237305],"5-13-23":[-19.504375457763672,-6.9058332443237305],"4-6-11":[-21.959999084472656,-6.126333236694336],"6-27-48":[-18.126386642456055,-7.16616678237915],"6-27-49":[-20.751249313354492,-8.239999771118164],"5-13-24":[-22.075000762939453,-7.16616678237915],"6-27-50":[-23.02669906616211,-9.758999824523926],"6-27-51":[-27.560625076293945,-10.567500114440918],"5-13-25":[-29.3799991607666,-9.758999824523926],"4-6-12":[-30.1200008392334,-7.16616678237915],"6-27-52":[-33.0363883972168,-12.474833488464355],"6-27-53":[-43.04249954223633,-16.0049991607666],"5-13-26":[-46.189998626708984,-12.474833488464355],"6-27-54":[-47.8427734375,-20.493083953857422],"6-27-55":[-55.32437515258789,-23.045000076293945],"5-13-27":[-57.4900016784668,-20.493083953857422],"4-6-13":[-62.36000061035156,-12.474833488464355],"6-27-56":[-59.560916900634766,-26.311832427978516],"6-27-57":[-57.29240417480469,647.0881958007812],"5-13-28":[-63.63874816894531,647.0881958007812],"6-27-58":[-55.246212005615234,899.0579833984375],"6-27-59":[799.614990234375,1803.3399658203125],"5-13-29":[-60.90999984741211,1803.3399658203125],"4-6-14":[-69.32250213623047,3441.141357421875],"6-27-60":[1748.5400390625,2159.554931640625],"6-27-61":[1868.0693359375,2197.1513671875],"5-13-30":[1676.6800537109375,2197.1513671875],"6-27-62":[2095.958740234375,2581.404052734375],"6-27-63":[-29.53616714477539,2769.490478515625],"5-13-31":[-29.536500930786133,2777.837646484375],"4-6-15":[-29.53733253479004,2813.186767578125],"6-28-0":[13.60986614227295,29.97687530517578],"6-28-1":[13.977499961853027,31.750625610351562],"6-28-2":[7.614999771118164,27.892187118530273],"6-28-3":[-0.9725000262260437,311.22064208984375],"6-28-4":[-14.034394264221191,373.544921875],"6-28-5":[-35.4900016784668,302.68310546875],"6-28-6":[-52.220001220703125,269.0389099121094],"6-28-7":[-71.45974731445312,37.529998779296875],"6-28-8":[-13.779999732971191,273.384765625],"6-28-9":[-36.7333869934082,404.2498474121094],"6-28-10":[-38.447269439697266,438.23004150390625],"6-28-11":[60.84860610961914,436.4885559082031],"6-28-12":[151.7113037109375,375.4621276855469],"6-28-13":[182.4457244873047,807.4945678710938],"6-28-14":[219.33074951171875,785.8844604492188],"6-28-15":[355.3438415527344,755.863525390625],"6-28-16":[348.2613220214844,1090.387939453125],"6-28-17":[415.18585205078125,1115.4359130859375],"6-28-18":[336.8008117675781,1003.3074340820312],"6-28-19":[247.09083557128906,1013.6737670898438],"6-28-20":[245.510498046875,909.80126953125],"6-28-21":[22.354347229003906,784.5789794921875],"6-28-22":[2.366769313812256,3697.181396484375],"6-28-23":[-6.028477668762207,3685.350341796875],"6-28-24":[-7.324571132659912,3903.9619140625],"6-28-25":[-32.59000015258789,5379.640625],"6-28-26":[-33.8474235534668,1685.026123046875],"6-28-27":[-25.728750228881836,-8.022109031677246],"6-28-28":[-27.139999389648438,-9.265000343322754],"6-28-29":[-28.1299991607666,-9.53695297241211],"6-28-30":[-29.721250534057617,-10.399999618530273],"6-28-31":[-30.488750457763672,-11.782125473022461],"6-28-32":[-30.2918758392334,-13.087499618530273],"6-28-33":[-29.108125686645508,-13.911874771118164],"6-28-34":[-28.1200008392334,-12.6850004196167],"6-28-35":[-25.457988739013672,-10.253000259399414],"6-28-36":[-21.316875457763672,-7.523281097412109],"6-28-37":[-14.778672218322754,-5.330833435058594],"6-28-38":[-12.0259370803833,-4.054999828338623],"6-28-39":[-8.068944931030273,-2.4124999046325684],"6-28-40":[-6.036250114440918,-1.0676562786102295],"6-28-41":[-7.110000133514404,-1.0676562786102295],"6-28-42":[-10.82437515258789,-2.7950000762939453],"6-28-43":[-12.779999732971191,-4.70437479019165],"6-28-44":[-13.739375114440918,-5.300000190734863],"6-28-45":[-14.989999771118164,-5.285781383514404],"6-28-46":[-15.390625,-5.566640853881836],"6-28-47":[-15.789999961853027,-5.297916889190674],"6-28-48":[-15.920624732971191,-5.651098728179932],"6-28-49":[-19.25,-6.886250019073486],"6-28-50":[-20.655000686645508,-7.713749885559082],"6-28-51":[-24.6200008392334,-9.261750221252441],"6-28-52":[-31.186250686645508,-11.539999961853027],"6-28-53":[-40.849998474121094,-14.843125343322754],"6-28-54":[-45.748748779296875,-18.9737491607666],"6-28-55":[-52.380001068115234,-21.706249237060547],"6-28-56":[-55.07374954223633,-24.38249969482422],"6-28-57":[-50.78187561035156,721.38720703125],"6-28-58":[-51.442501068115234,799.614990234375],"6-28-59":[687.2349853515625,1812.125],"6-28-60":[1803.3399658203125,2299.61865234375],"6-28-61":[1923.5926513671875,2175.976318359375],"6-28-62":[1878.6961669921875,2429.862548828125],"6-28-63":[-29.535667419433594,2761.568603515625],"6-29-0":[13.60986614227295,30.774375915527344],"6-29-1":[13.977499961853027,32.4900016784668],"5-14-0":[13.60986614227295,32.4900016784668],"6-29-2":[8.585624694824219,28.93000030517578],"6-29-3":[-0.2150000035762787,604.7734985351562],"5-14-1":[-0.9725000262260437,604.7734985351562],"6-29-4":[-10.781874656677246,424.8585510253906],"6-29-5":[-29.331562042236328,367.0179138183594],"5-14-2":[-35.4900016784668,424.8585510253906],"6-29-6":[-48.9521484375,423.0372619628906],"6-29-7":[-71.02999877929688,188.05526733398438],"5-14-3":[-71.45974731445312,423.0372619628906],"6-29-8":[-71.02999877929688,258.9603271484375],"6-29-9":[-40.69954299926758,265.4730224609375],"5-14-4":[-71.02999877929688,404.2498474121094],"6-29-10":[-45.66239929199219,362.5343322753906],"6-29-11":[35.430267333984375,333.895751953125],"5-14-5":[-45.66239929199219,438.23004150390625],"6-29-12":[69.29764556884766,353.3586730957031],"6-29-13":[176.6434783935547,297.07110595703125],"5-14-6":[69.29764556884766,807.4945678710938],"6-29-14":[185.4031982421875,507.50738525390625],"6-29-15":[216.94708251953125,624.7622680664062],"5-14-7":[185.4031982421875,785.8844604492188],"6-29-16":[248.19227600097656,602.1018676757812],"6-29-17":[227.8706817626953,668.2752075195312],"5-14-8":[227.8706817626953,1115.4359130859375],"6-29-18":[151.81576538085938,558.261962890625],"6-29-19":[87.66143798828125,500.1534423828125],"5-14-9":[87.66143798828125,1013.6737670898438],"6-29-20":[11.410943031311035,489.4504089355469],"6-29-21":[-74.47344970703125,534.6771850585938],"5-14-10":[-74.47344970703125,909.80126953125],"6-29-22":[-59.503204345703125,197.09071350097656],"6-29-23":[-60.31214904785156,1437.0750732421875],"5-14-11":[-60.31214904785156,3697.181396484375],"6-29-24":[-52.88999938964844,3376.078857421875],"6-29-25":[-16.381250381469727,5601.18115234375],"5-14-12":[-52.88999938964844,5601.18115234375],"6-29-26":[-23.20343780517578,3710.86669921875],"6-29-27":[-17.719999313354492,-5.437333106994629],"5-14-13":[-33.8474235534668,3710.86669921875],"6-29-28":[-18.289531707763672,-5.371250152587891],"6-29-29":[-20.019062042236328,-5.801249980926514],"5-14-14":[-28.1299991607666,-5.371250152587891],"6-29-30":[-22.843477249145508,-7.343416690826416],"6-29-31":[-25.670625686645508,-8.542499542236328],"5-14-15":[-30.488750457763672,-7.343416690826416],"6-29-32":[-27.323301315307617,-11.174666404724121],"6-29-33":[-28.2042179107666,-12.928750038146973],"5-14-16":[-30.2918758392334,-11.174666404724121],"6-29-34":[-27.922500610351562,-12.747875213623047],"6-29-35":[-25.569608688354492,-10.376500129699707],"5-14-17":[-28.1200008392334,-10.253000259399414],"6-29-36":[-21.370624542236328,-7.550000190734863],"6-29-37":[-14.742500305175781,-5.8754167556762695],"5-14-18":[-21.370624542236328,-5.330833435058594],"6-29-38":[-12.09749984741211,-3.7049999237060547],"6-29-39":[-7.922324180603027,-1.6024999618530273],"5-14-19":[-12.09749984741211,-1.6024999618530273],"6-29-40":[-4.727499961853027,-0.26124998927116394],"6-29-41":[-5.156875133514404,-0.14024999737739563],"5-14-20":[-7.110000133514404,-0.14024999737739563],"6-29-42":[-8.486249923706055,-1.412083387374878],"6-29-43":[-11.269922256469727,-3.505000114440918],"5-14-21":[-12.779999732971191,-1.412083387374878],"6-29-44":[-11.148750305175781,-3.8237500190734863],"6-29-45":[-11.688124656677246,-3.55049991607666],"5-14-22":[-14.989999771118164,-3.55049991607666],"6-29-46":[-12.800214767456055,-3.5684165954589844],"6-29-47":[-11.230429649353027,-3.957583427429199],"5-14-23":[-15.789999961853027,-3.5684165954589844],"6-29-48":[-12.863574028015137,-3.810666561126709],"6-29-49":[-15.216815948486328,-6.073750019073486],"5-14-24":[-19.25,-3.810666561126709],"6-29-50":[-18.277284622192383,-7.318281173706055],"6-29-51":[-22.802499771118164,-8.447265625],"5-14-25":[-24.6200008392334,-7.318281173706055],"6-29-52":[-28.278301239013672,-10.900968551635742],"6-29-53":[-37.400936126708984,-12.863750457763672],"5-14-26":[-40.849998474121094,-10.900968551635742],"6-29-54":[-42.092559814453125,-16.84316635131836],"6-29-55":[-48.35625076293945,-19.69124984741211],"5-14-27":[-52.380001068115234,-16.84316635131836],"6-29-56":[-54.190860748291016,-22.105499267578125],"6-29-57":[-47.439979553222656,695.1583251953125],"5-14-28":[-55.07374954223633,721.38720703125],"6-29-58":[-44.614376068115234,1067.52880859375],"6-29-59":[697.670654296875,1825.1793212890625],"5-14-29":[-51.442501068115234,1825.1793212890625],"6-29-60":[1812.125,2484.304931640625],"6-29-61":[1887.5423583984375,2200.242431640625],"5-14-30":[1803.3399658203125,2484.304931640625],"6-29-62":[1867.7537841796875,2364.98681640625],"6-29-63":[-29.535165786743164,2744.45556640625],"5-14-31":[-29.535667419433594,2761.568603515625],"6-30-0":[13.60986614227295,31.461875915527344],"6-30-1":[14.833864212036133,32.7688102722168],"6-30-2":[9.255000114440918,30.004375457763672],"6-30-3":[1.409999966621399,1609.719482421875],"6-30-4":[-8.820625305175781,717.9462280273438],"6-30-5":[-23.563749313354492,477.2509460449219],"6-30-6":[-38.690311431884766,559.2890625],"6-30-7":[-70.30999755859375,433.77142333984375],"6-30-8":[-70.30999755859375,458.520751953125],"6-30-9":[-96.35437774658203,174.7340850830078],"6-30-10":[-99.27828216552734,106.10008239746094],"6-30-11":[-98.52371215820312,228.75082397460938],"6-30-12":[-14.616000175476074,294.2605895996094],"6-30-13":[195.65296936035156,456.5606994628906],"6-30-14":[57.99934005737305,564.9129028320312],"6-30-15":[181.5343780517578,584.4856567382812],"6-30-16":[173.46217346191406,471.2747497558594],"6-30-17":[26.59649658203125,446.0809326171875],"6-30-18":[123.08892822265625,490.80596923828125],"6-30-19":[2.263608455657959,806.4000244140625],"6-30-20":[-9.395611763000488,204.35586547851562],"6-30-21":[-55.43519592285156,125.39044952392578],"6-30-22":[-65.73636627197266,-25.611732482910156],"6-30-23":[-65.68025207519531,-25.423749923706055],"6-30-24":[-54.868282318115234,-14.042501449584961],"6-30-25":[-36.5031852722168,2490.705078125],"6-30-26":[-21.018783569335938,2540.81005859375],"6-30-27":[-19.234777450561523,-2.7719922065734863],"6-30-28":[-11.266562461853027,-1.8462998867034912],"6-30-29":[-14.5600004196167,-2.2899999618530273],"6-30-30":[-17.245624542236328,-4.28000020980835],"6-30-31":[-22.1299991607666,-5.316249847412109],"6-30-32":[-25.313749313354492,-8.633199691772461],"6-30-33":[-27.5049991607666,-11.241232872009277],"6-30-34":[-27.5049991607666,-12.148124694824219],"6-30-35":[-24.975000381469727,-9.832500457763672],"6-30-36":[-20.930625915527344,-7.403124809265137],"6-30-37":[-14.8018159866333,-5.53249979019165],"6-30-38":[-11.86343765258789,-2.8087499141693115],"6-30-39":[-6.855937480926514,-0.38749998807907104],"6-30-40":[-2.990000009536743,1.2531249523162842],"6-30-41":[-2.619999885559082,1.521484375],"6-30-42":[-6.464375019073486,0.1537500023841858],"6-30-43":[-9.479999542236328,-1.412500023841858],"6-30-44":[-9.479999542236328,-2.838124990463257],"6-30-45":[-7.653749942779541,-2.1624999046325684],"6-30-46":[-9.060937881469727,-1.9304687976837158],"6-30-47":[-9.8306245803833,-2.8031249046325684],"6-30-48":[-11.712812423706055,-2.880000114440918],"6-30-49":[-14.4350004196167,-4.070624828338623],"6-30-50":[-16.7137508392334,-6.138750076293945],"6-30-51":[-22.368749618530273,-7.948124885559082],"6-30-52":[-24.401874542236328,-9.85170841217041],"6-30-53":[-33.42499923706055,-11.710000038146973],"6-30-54":[-38.579063415527344,-14.8149995803833],"6-30-55":[-43.95000076293945,-16.858531951904297],"6-30-56":[-52.805625915527344,-19.97296905517578],"6-30-57":[-46.557579040527344,310.03125],"6-30-58":[-43.54999923706055,1562.0059814453125],"6-30-59":[790.5900268554688,1824.2149658203125],"6-30-60":[1816.7730712890625,2275.023681640625],"6-30-61":[1789.458740234375,2180.512451171875],"6-30-62":[1867.2652587890625,2328.80078125],"6-30-63":[-29.534833908081055,2744.45703125],"6-31-0":[13.60986614227295,32.223751068115234],"6-31-1":[15.068750381469727,32.834999084472656],"5-15-0":[13.60986614227295,32.834999084472656],"6-31-2":[10.78125,881.8322143554688],"6-31-3":[4.921750068664551,2250.634033203125],"5-15-1":[1.409999966621399,2250.634033203125],"4-7-0":[-0.9725000262260437,2250.634033203125],"6-31-4":[-5.450312614440918,1374.07666015625],"6-31-5":[-22.846250534057617,583.4486694335938],"5-15-2":[-23.563749313354492,1374.07666015625],"6-31-6":[-45.85847473144531,413.33221435546875],"6-31-7":[-57.78562545776367,429.7001953125],"5-15-3":[-70.30999755859375,559.2890625],"4-7-1":[-71.45974731445312,1374.07666015625],"3-3-0":[-71.45974731445312,2250.634033203125],"6-31-8":[-36.14802551269531,577.6168212890625],"6-31-9":[-96.69312286376953,282.1166687011719],"5-15-4":[-96.69312286376953,577.6168212890625],"6-31-10":[-99.11488342285156,-46.981834411621094],"6-31-11":[-98.4800033569336,190.5708465576172],"5-15-5":[-99.27828216552734,228.75082397460938],"4-7-2":[-99.27828216552734,577.6168212890625],"6-31-12":[-15.932578086853027,323.9969482421875],"6-31-13":[204.84600830078125,447.14007568359375],"5-15-6":[-15.932578086853027,456.5606994628906],"6-31-14":[150.72079467773438,671.1128540039062],"6-31-15":[147.71234130859375,604.8933715820312],"5-15-7":[57.99934005737305,671.1128540039062],"4-7-3":[-15.932578086853027,807.4945678710938],"3-3-1":[-99.27828216552734,3889.2705078125],"2-1-0":[-259.60552978515625,4373.5126953125],"6-31-16":[142.69387817382812,422.7424011230469],"6-31-17":[82.02781677246094,300.3182067871094],"5-15-8":[26.59649658203125,471.2747497558594],"6-31-18":[37.49706268310547,509.5253601074219],"6-31-19":[3.7503535747528076,590.4490966796875],"5-15-9":[2.263608455657959,806.4000244140625],"4-7-4":[2.263608455657959,1115.4359130859375],"6-31-20":[-28.12285614013672,146.08395385742188],"6-31-21":[-51.453731536865234,78.69307708740234],"5-15-10":[-55.43519592285156,204.35586547851562],"6-31-22":[-60.5212516784668,-24.959999084472656],"6-31-23":[-60.544979095458984,-17.000001907348633],"5-15-11":[-65.73636627197266,-17.000001907348633],"4-7-5":[-74.47344970703125,3697.181396484375],"3-3-2":[-79.5688247680664,4383.2421875],"6-31-24":[-51.290000915527344,129.7989501953125],"6-31-25":[-28.084999084472656,2495.759033203125],"5-15-12":[-54.868282318115234,2495.759033203125],"6-31-26":[-31.803260803222656,4217.92333984375],"6-31-27":[-39.21763610839844,1667.2733154296875],"5-15-13":[-39.21763610839844,4217.92333984375],"4-7-6":[-54.868282318115234,5601.18115234375],"6-31-28":[-3.6882030963897705,3.559999942779541],"6-31-29":[-7.939062595367432,1.7878973484039307],"5-15-14":[-14.5600004196167,3.559999942779541],"6-31-30":[-10.632499694824219,-0.9549999833106995],"6-31-31":[-23.371536254882812,1700.4434814453125],"5-15-15":[-23.371536254882812,1700.4434814453125],"4-7-7":[-30.488750457763672,1700.4434814453125],"3-3-3":[-78.29757690429688,5601.18115234375],"2-1-1":[-115.49979400634766,5601.18115234375],"1-0-0":[-317.1861877441406,6207.27099609375],"6-31-32":[-321.58245849609375,1684.4144287109375],"6-31-33":[-25.16470718383789,-8.123507499694824],"5-15-16":[-321.58245849609375,1684.4144287109375],"6-31-34":[-25.229629516601562,-10.225000381469727],"6-31-35":[-23.466737747192383,-8.634666442871094],"5-15-17":[-27.5049991607666,-8.634666442871094],"4-7-8":[-321.58245849609375,1684.4144287109375],"6-31-36":[-19.498125076293945,-5.987500190734863],"6-31-37":[-14.161151885986328,-4.585999965667725],"5-15-18":[-20.930625915527344,-4.585999965667725],"6-31-38":[-10.884374618530273,-1.7699999809265137],"6-31-39":[-4.982851505279541,1.0399999618530273],"5-15-19":[-11.86343765258789,1.0399999618530273],"4-7-9":[-21.370624542236328,1.0399999618530273],"3-3-4":[-321.58245849609375,1684.4144287109375],"6-31-40":[-0.4581249952316284,3.5899999141693115],"6-31-41":[0.1537500023841858,3.569999933242798],"5-15-20":[-2.990000009536743,3.5899999141693115],"6-31-42":[-1.860898494720459,3.3237500190734863],"6-31-43":[-5.762499809265137,-0.19249999523162842],"5-15-21":[-9.479999542236328,3.3237500190734863],"4-7-10":[-12.779999732971191,3.5899999141693115],"6-31-44":[-6.161289215087891,-2.1033332347869873],"6-31-45":[-5.440605640411377,-1.1924999952316284],"5-15-22":[-9.479999542236328,-1.1924999952316284],"6-31-46":[-4.525702953338623,-0.737500011920929],"6-31-47":[-5.474863052368164,-0.9375],"5-15-23":[-9.8306245803833,-0.737500011920929],"4-7-11":[-15.789999961853027,-0.737500011920929],"3-3-5":[-32.095970153808594,501.95904541015625],"2-1-2":[-321.58245849609375,1684.4144287109375],"6-31-48":[-7.291113376617432,-1.034333348274231],"6-31-49":[-11.9556245803833,-1.3849999904632568],"5-15-24":[-14.4350004196167,-1.034333348274231],"6-31-50":[-15.071328163146973,-4.164166450500488],"6-31-51":[-19.143749237060547,-5.734499931335449],"5-15-25":[-22.368749618530273,-4.164166450500488],"4-7-12":[-24.6200008392334,-1.034333348274231],"6-31-52":[-21.7559757232666,-8.28600025177002],"6-31-53":[-29.279375076293945,-9.984999656677246],"5-15-26":[-33.42499923706055,-8.28600025177002],"6-31-54":[-34.03529357910156,-12.932499885559082],"6-31-55":[-39.760623931884766,-14.371999740600586],"5-15-27":[-43.95000076293945,-12.932499885559082],"4-7-13":[-52.380001068115234,-8.28600025177002],"3-3-6":[-62.36000061035156,-1.034333348274231],"6-31-56":[-43.42976379394531,1365.619384765625],"6-31-57":[-44.80941390991211,282.180419921875],"5-15-28":[-52.805625915527344,1365.619384765625],"6-31-58":[-39.756561279296875,1267.0072021484375],"6-31-59":[957.9031372070312,1887.8699951171875],"5-15-29":[-43.54999923706055,1887.8699951171875],"4-7-14":[-55.07374954223633,1887.8699951171875],"6-31-60":[1730.62744140625,2175.255859375],"6-31-61":[1639.4625244140625,1987.1214599609375],"5-15-30":[1639.4625244140625,2275.023681640625],"6-31-62":[1752.654052734375,2714.8681640625],"6-31-63":[-29.534334182739258,2744.45849609375],"5-15-31":[-29.534833908081055,2744.45849609375],"4-7-15":[-29.535667419433594,2761.568603515625],"3-3-7":[-69.32250213623047,3441.141357421875],"2-1-3":[-102.30000305175781,3682.626220703125],"1-0-1":[-321.58245849609375,3970.4091796875],"6-32-0":[13.609612464904785,32.700740814208984],"6-32-1":[15.633749961853027,32.834999084472656],"6-32-2":[12.535197257995605,1148.723388671875],"6-32-3":[3.5450000762939453,1723.077392578125],"6-32-4":[-3.478749990463257,1337.9537353515625],"6-32-5":[-22.639999389648438,684.1025390625],"6-32-6":[-45.529998779296875,367.1369934082031],"6-32-7":[-63.10874938964844,395.5621032714844],"6-32-8":[-72.92769622802734,546.2210693359375],"6-32-9":[-93.9800033569336,248.09083557128906],"6-32-10":[-96.38500213623047,-44.470001220703125],"6-32-11":[-97.8539810180664,87.34253692626953],"6-32-12":[-57.45587158203125,240.4307403564453],"6-32-13":[116.0750961303711,415.09088134765625],"6-32-14":[116.17733764648438,599.33740234375],"6-32-15":[138.68125915527344,568.6915893554688],"6-32-16":[-2.588705539703369,551.42822265625],"6-32-17":[75.1243667602539,291.62066650390625],"6-32-18":[-24.23882293701172,294.3131103515625],"6-32-19":[4.688924312591553,321.4842529296875],"6-32-20":[-31.380125045776367,211.55624389648438],"6-32-21":[-63.339420318603516,90.37579345703125],"6-32-22":[-63.102378845214844,-25.227392196655273],"6-32-23":[-57.22077178955078,-7.6501970291137695],"6-32-24":[-31.366640090942383,200.23219299316406],"6-32-25":[-33.44078826904297,1010.3015747070312],"6-32-26":[-35.501033782958984,3009.310546875],"6-32-27":[-28.358240127563477,2376.927001953125],"6-32-28":[-3.2114062309265137,10.909114837646484],"6-32-29":[-1.760585904121399,10.505273818969727],"6-32-30":[-4.670000076293945,6.7381978034973145],"6-32-31":[-7.343671798706055,73.0645751953125],"6-32-32":[-18.666501998901367,716.3709716796875],"6-32-33":[-20.8799991607666,-4.493750095367432],"6-32-34":[-21.3799991607666,-6.536250114440918],"6-32-35":[-20.17937469482422,-6.027500152587891],"6-32-36":[-17.040000915527344,-4.756406307220459],"6-32-37":[-11.748125076293945,-2.762500047683716],"6-32-38":[-9,-0.2837499976158142],"6-32-39":[-2.865000009536743,3.559375047683716],"6-32-40":[0.5988333225250244,5.449609279632568],"6-32-41":[1.565000057220459,6.306640625],"6-32-42":[-0.19249999523162842,5.543749809265137],"6-32-43":[-3.9200000762939453,1.1283984184265137],"6-32-44":[-5.256875038146973,-0.574999988079071],"6-32-45":[-4.776249885559082,-0.14499999582767487],"6-32-46":[-2.4362499713897705,1.4231250286102295],"6-32-47":[-2.426875114440918,2.7179296016693115],"6-32-48":[-2.635624885559082,1.5575000047683716],"6-32-49":[-7.980000019073486,-0.10875000059604645],"6-32-50":[-11.832500457763672,-1.816249966621399],"6-32-51":[-16.399999618530273,-4.239999771118164],"6-32-52":[-18.965625762939453,-6.574999809265137],"6-32-53":[-25.68000030517578,-8.314374923706055],"6-32-54":[-28.746875762939453,-11.318750381469727],"6-32-55":[-35.040000915527344,-12.680624961853027],"6-32-56":[-41.258750915527344,-14.170624732971191],"6-32-57":[-36.5915641784668,248.00355529785156],"6-32-58":[-36.5915641784668,1290.601318359375],"6-32-59":[1072.4759521484375,2685.376220703125],"6-32-60":[1460.8974609375,2381.83544921875],"6-32-61":[1444.3438720703125,1985.5250244140625],"6-32-62":[1435.2166748046875,2244.922607421875],"6-32-63":[-29.533832550048828,2744.45947265625],"6-33-0":[13.609612464904785,33.178123474121094],"6-33-1":[15.633749961853027,33.381248474121094],"5-16-0":[13.609612464904785,33.381248474121094],"6-33-2":[13.830156326293945,1617.9508056640625],"6-33-3":[3.5450000762939453,1701.020263671875],"5-16-1":[3.5450000762939453,1723.077392578125],"6-33-4":[-1.2981250286102295,1540.6612548828125],"6-33-5":[-21.28125,1009.4609375],"5-16-2":[-22.639999389648438,1540.6612548828125],"6-33-6":[-36.74531173706055,819.8519897460938],"6-33-7":[-62.76374816894531,557.5596923828125],"5-16-3":[-63.10874938964844,819.8519897460938],"6-33-8":[-72.8228530883789,444.3411560058594],"6-33-9":[-88.50312805175781,366.6748352050781],"5-16-4":[-93.9800033569336,546.2210693359375],"6-33-10":[-95.61443328857422,-42.25016784667969],"6-33-11":[-97.08373260498047,-45.9669075012207],"5-16-5":[-97.8539810180664,87.34253692626953],"6-33-12":[-96.1167221069336,205.41311645507812],"6-33-13":[26.23398780822754,323.9056701660156],"5-16-6":[-96.1167221069336,415.09088134765625],"6-33-14":[40.15834045410156,604.6658325195312],"6-33-15":[99.8071517944336,613.0411376953125],"5-16-7":[40.15834045410156,613.0411376953125],"6-33-16":[103.99250793457031,486.53594970703125],"6-33-17":[42.02951431274414,356.668212890625],"5-16-8":[-2.588705539703369,551.42822265625],"6-33-18":[73.98677825927734,611.4224853515625],"6-33-19":[-2.387826919555664,1256.3944091796875],"5-16-9":[-24.23882293701172,1256.3944091796875],"6-33-20":[-18.209444046020508,703.6430053710938],"6-33-21":[-62.85859298706055,133.7196502685547],"5-16-10":[-63.339420318603516,703.6430053710938],"6-33-22":[-63.043617248535156,-24.555400848388672],"6-33-23":[-54.76517868041992,-15.600799560546875],"5-16-11":[-63.102378845214844,-7.6501970291137695],"6-33-24":[-55.003807067871094,38.887596130371094],"6-33-25":[-31.170000076293945,-5.73250150680542],"5-16-12":[-55.003807067871094,1010.3015747070312],"6-33-26":[-16.69755744934082,2458.8642578125],"6-33-27":[-29.3737850189209,2108.961669921875],"5-16-13":[-35.501033782958984,3009.310546875],"6-33-28":[-12.980457305908203,2165.3642578125],"6-33-29":[3.8887500762939453,21.335975646972656],"5-16-14":[-12.980457305908203,2165.3642578125],"6-33-30":[-9.944382667541504,580.0387573242188],"6-33-31":[-3.6567187309265137,9.279999732971191],"5-16-15":[-9.944382667541504,580.0387573242188],"6-33-32":[-8.8310546875,4.828281402587891],"6-33-33":[-12.474117279052734,2.122499942779541],"5-16-16":[-20.8799991607666,716.3709716796875],"6-33-34":[-13.350136756896973,-2.7409660816192627],"6-33-35":[-13.26205062866211,-2.887333393096924],"5-16-17":[-21.3799991607666,-2.7409660816192627],"6-33-36":[-11.464374542236328,-2.6955833435058594],"6-33-37":[-8.94222640991211,-0.7492499947547913],"5-16-18":[-17.040000915527344,-0.7492499947547913],"6-33-38":[-5.133124828338623,2.7381250858306885],"6-33-39":[-0.2837499976158142,8.079999923706055],"5-16-19":[-9,8.079999923706055],"6-33-40":[1.9474999904632568,9.424530982971191],"6-33-41":[2.809999942779541,10.7446870803833],"5-16-20":[0.5988333225250244,10.7446870803833],"6-33-42":[0.8956249952316284,8.505000114440918],"6-33-43":[-0.574999988079071,5.525000095367432],"5-16-21":[-3.9200000762939453,8.505000114440918],"6-33-44":[-2.1230077743530273,3.5487890243530273],"6-33-45":[-1.4517773389816284,3.2899999618530273],"5-16-22":[-5.256875038146973,3.5487890243530273],"6-33-46":[-0.14499999582767487,6.869375228881836],"6-33-47":[1.0724999904632568,7.720312595367432],"5-16-23":[-2.4362499713897705,7.720312595367432],"6-33-48":[-0.10875000059604645,7.039999961853027],"6-33-49":[-2.9049999713897705,4.005937576293945],"5-16-24":[-7.980000019073486,7.039999961853027],"6-33-50":[-7.721738338470459,0.6499999761581421],"6-33-51":[-12.578125,-2.016249895095825],"5-16-25":[-16.399999618530273,0.6499999761581421],"6-33-52":[-14.9888277053833,-3.669250011444092],"6-33-53":[-21.941875457763672,-5.753749847412109],"5-16-26":[-25.68000030517578,-3.669250011444092],"6-33-54":[-24.510351181030273,-9.259249687194824],"6-33-55":[-29.298749923706055,-10.4975004196167],"5-16-27":[-35.040000915527344,-9.259249687194824],"6-33-56":[-30.528242111206055,-11.385416984558105],"6-33-57":[-34.536563873291016,-11.657500267028809],"5-16-28":[-41.258750915527344,248.00355529785156],"6-33-58":[-34.68156433105469,1304.6239013671875],"6-33-59":[163.09291076660156,4721.9384765625],"5-16-29":[-36.5915641784668,4721.9384765625],"6-33-60":[441.1223449707031,2555.39404296875],"6-33-61":[1232.67626953125,1732.4361572265625],"5-16-30":[441.1223449707031,2555.39404296875],"6-33-62":[1251.8375244140625,2245.561279296875],"6-33-63":[-29.53350067138672,2744.4609375],"5-16-31":[-29.533832550048828,2744.4609375],"6-34-0":[13.609612464904785,33.56019592285156],"6-34-1":[16.20199966430664,34.26222610473633],"6-34-2":[15.093725204467773,1823.8212890625],"6-34-3":[5.88100004196167,1627.2674560546875],"6-34-4":[0.7875000238418579,1272.0947265625],"6-34-5":[-16.009687423706055,1913.67138671875],"6-34-6":[-22.8671875,1056.54296875],"6-34-7":[-53.188751220703125,570.7405395507812],"6-34-8":[-67.07808685302734,613.9686889648438],"6-34-9":[-84.48999786376953,433.16314697265625],"6-34-10":[-91.93250274658203,-38.647499084472656],"6-34-11":[-96.05726623535156,-44.35799789428711],"6-34-12":[-95.87000274658203,171.7896270751953],"6-34-13":[-45.991973876953125,145.1162872314453],"6-34-14":[-3.034637451171875,594.9109497070312],"6-34-15":[117.38831329345703,614.3532104492188],"6-34-16":[124.0527114868164,432.13677978515625],"6-34-17":[17.53190040588379,436.83734130859375],"6-34-18":[94.64409637451172,1652.415283203125],"6-34-19":[35.464500427246094,2004.6978759765625],"6-34-20":[-31.332612991333008,358.1960144042969],"6-34-21":[-56.90498352050781,76.44124603271484],"6-34-22":[-52.23574447631836,86.31781005859375],"6-34-23":[-53.40187454223633,678.5545654296875],"6-34-24":[-46.90708923339844,565.4134521484375],"6-34-25":[-34.294002532958984,19.566333770751953],"6-34-26":[-32.89708709716797,735.53662109375],"6-34-27":[-24.669208526611328,729.4535522460938],"6-34-28":[-18.576236724853516,3818.3037109375],"6-34-29":[-17.783672332763672,1199.759033203125],"6-34-30":[0.9851564764976501,213.97396850585938],"6-34-31":[2.0450003147125244,21.125],"6-34-32":[2.122499942779541,20.072383880615234],"6-34-33":[-5.452031135559082,10.112500190734863],"6-34-34":[-5.764999866485596,0.7950000166893005],"6-34-35":[-6.046093940734863,2.958125114440918],"6-34-36":[-5.938437461853027,2.958125114440918],"6-34-37":[-5.129687309265137,6.163125038146973],"6-34-38":[-1.2999999523162842,9.794179916381836],"6-34-39":[1.6437499523162842,14.126386642456055],"6-34-40":[4.235452651977539,15.165312767028809],"6-34-41":[4.476180553436279,14.03109359741211],"6-34-42":[3.4067959785461426,12.0181245803833],"6-34-43":[3.4060769081115723,11.006250381469727],"6-34-44":[1.5522500276565552,10.904999732971191],"6-34-45":[1.4821666479110718,9.298476219177246],"6-34-46":[1.5427500009536743,11.80923843383789],"6-34-47":[3.7225000858306885,12.766875267028809],"6-34-48":[2.174999952316284,11.743749618530273],"6-34-49":[0.4183333218097687,7.879511833190918],"6-34-50":[-3.2459375858306885,5.768750190734863],"6-34-51":[-6.929999828338623,1.4936718940734863],"6-34-52":[-11.324999809265137,-1.4450000524520874],"6-34-53":[-18.2549991607666,-3.747499942779541],"6-34-54":[-20.78499984741211,-6.340390682220459],"6-34-55":[-25.280000686645508,-7.545000076293945],"6-34-56":[-27.003124237060547,-9.252344131469727],"6-34-57":[-33.974998474121094,-10.944999694824219],"6-34-58":[-34.79148483276367,1241.1287841796875],"6-34-59":[-52.354373931884766,1732.8399658203125],"6-34-60":[-52.354373931884766,2250.427490234375],"6-34-61":[873.0006103515625,1480.748291015625],"6-34-62":[1247.41748046875,2251.123779296875],"6-34-63":[-29.533000946044922,2745.46240234375],"6-35-0":[13.609612464904785,34.154998779296875],"6-35-1":[16.51300048828125,35.75312423706055],"5-17-0":[13.609612464904785,35.75312423706055],"6-35-2":[16.38882827758789,1923.5887451171875],"6-35-3":[9.49625015258789,2313.90185546875],"5-17-1":[5.88100004196167,2313.90185546875],"4-8-0":[3.5450000762939453,2313.90185546875],"6-35-4":[3.3087499141693115,2252.724365234375],"6-35-5":[-8.03921890258789,1712.430908203125],"5-17-2":[-16.009687423706055,2252.724365234375],"6-35-6":[-16.624961853027344,1559.4354248046875],"6-35-7":[-53.775001525878906,272.3143615722656],"5-17-3":[-53.775001525878906,1559.4354248046875],"4-8-1":[-63.10874938964844,2252.724365234375],"6-35-8":[-65.48381042480469,185.60025024414062],"6-35-9":[-76.09625244140625,184.5128173828125],"5-17-4":[-84.48999786376953,613.9686889648438],"6-35-10":[-88.71499633789062,293.2671813964844],"6-35-11":[-92.7027359008789,81.86988067626953],"5-17-5":[-96.05726623535156,293.2671813964844],"4-8-2":[-97.8539810180664,613.9686889648438],"6-35-12":[-92.6500015258789,123.69763946533203],"6-35-13":[-45.81018829345703,181.35301208496094],"5-17-6":[-95.87000274658203,181.35301208496094],"6-35-14":[-26.9197998046875,536.1646728515625],"6-35-15":[122.02342987060547,651.6944580078125],"5-17-7":[-26.9197998046875,651.6944580078125],"4-8-3":[-96.1167221069336,651.6944580078125],"6-35-16":[27.963048934936523,701.75048828125],"6-35-17":[-8.597023963928223,951.4263305664062],"5-17-8":[-8.597023963928223,951.4263305664062],"6-35-18":[-44.7895393371582,1713.98291015625],"6-35-19":[-37.12843322753906,1476.71875],"5-17-9":[-44.7895393371582,2004.6978759765625],"4-8-4":[-44.7895393371582,2004.6978759765625],"6-35-20":[-74.32875061035156,139.8324432373047],"6-35-21":[-74.17781066894531,28.938535690307617],"5-17-10":[-74.32875061035156,358.1960144042969],"6-35-22":[-68.2699966430664,63.3629035949707],"6-35-23":[-53.743629455566406,293.7559814453125],"5-17-11":[-68.2699966430664,678.5545654296875],"4-8-5":[-74.32875061035156,703.6430053710938],"6-35-24":[-62.6550178527832,1104.61669921875],"6-35-25":[-46.416873931884766,14.259981155395508],"5-17-12":[-62.6550178527832,1104.61669921875],"6-35-26":[-24.530000686645508,8.2515230178833],"6-35-27":[-12.34000015258789,357.6253356933594],"5-17-13":[-32.89708709716797,735.53662109375],"4-8-6":[-62.6550178527832,3009.310546875],"6-35-28":[-9.045613288879395,1960.7244873046875],"6-35-29":[-37.994014739990234,1563.9573974609375],"5-17-14":[-37.994014739990234,3818.3037109375],"6-35-30":[10.5625,29.1983585357666],"6-35-31":[-33.99045181274414,2816.318603515625],"5-17-15":[-33.99045181274414,2816.318603515625],"4-8-7":[-37.994014739990234,3818.3037109375],"6-35-32":[-39.35813903808594,6286.7705078125],"6-35-33":[-56.72711181640625,4458.61083984375],"5-17-16":[-56.72711181640625,6286.7705078125],"6-35-34":[-63.313175201416016,4118.73876953125],"6-35-35":[-8.376976013183594,458.9070739746094],"5-17-17":[-63.313175201416016,4118.73876953125],"4-8-8":[-63.313175201416016,6286.7705078125],"6-35-36":[-1.4499218463897705,18],"6-35-37":[2.1943750381469727,21.760000228881836],"5-17-18":[-5.938437461853027,21.760000228881836],"6-35-38":[3.783750057220459,22.138437271118164],"6-35-39":[5.816249847412109,20.110000610351562],"5-17-19":[-1.2999999523162842,22.138437271118164],"4-8-9":[-17.040000915527344,22.138437271118164],"6-35-40":[6.542343616485596,19.828750610351562],"6-35-41":[-22.91495132446289,470.0792541503906],"5-17-20":[-22.91495132446289,470.0792541503906],"6-35-42":[5.503125190734863,19.6299991607666],"6-35-43":[-88.4389419555664,1091.3018798828125],"5-17-21":[-88.4389419555664,1091.3018798828125],"4-8-10":[-88.4389419555664,1091.3018798828125],"6-35-44":[-23.759532928466797,1289.288818359375],"6-35-45":[4.727916717529297,16.90999984741211],"5-17-22":[-23.759532928466797,1289.288818359375],"6-35-46":[4.869124889373779,18.793437957763672],"6-35-47":[6.110000133514404,18.776561737060547],"5-17-23":[1.5427500009536743,18.793437957763672],"4-8-11":[-23.759532928466797,1289.288818359375],"6-35-48":[4.514999866485596,19.17562484741211],"6-35-49":[3.2125000953674316,14.354999542236328],"5-17-24":[0.4183333218097687,19.17562484741211],"6-35-50":[1.4537500143051147,11.005937576293945],"6-35-51":[-2.169374942779541,8.585234642028809],"5-17-25":[-6.929999828338623,11.005937576293945],"4-8-12":[-16.399999618530273,19.17562484741211],"6-35-52":[-5.593203067779541,3.440000057220459],"6-35-53":[-11.997812271118164,-1.4149999618530273],"5-17-26":[-18.2549991607666,3.440000057220459],"6-35-54":[-13.814648628234863,-3.0811667442321777],"6-35-55":[-20.583749771118164,-4.159999847412109],"5-17-27":[-25.280000686645508,-3.0811667442321777],"4-8-13":[-35.040000915527344,3.440000057220459],"6-35-56":[-21.592500686645508,-7.005000114440918],"6-35-57":[-30.2081241607666,327.4503173828125],"5-17-28":[-33.974998474121094,327.4503173828125],"6-35-58":[-30.726055145263672,1088.6669921875],"6-35-59":[-49.3962516784668,1067.494873046875],"5-17-29":[-52.354373931884766,1732.8399658203125],"4-8-14":[-52.354373931884766,4721.9384765625],"6-35-60":[-49.3962516784668,1223.5858154296875],"6-35-61":[548.4749755859375,1388.02001953125],"5-17-30":[-52.354373931884766,2250.427490234375],"6-35-62":[1139.79296875,2260.71240234375],"6-35-63":[-29.532541275024414,2745.46337890625],"5-17-31":[-29.533000946044922,2745.46337890625],"4-8-15":[-52.354373931884766,2745.46337890625],"6-36-0":[13.60969352722168,34.608123779296875],"6-36-1":[16.930999755859375,36.791446685791016],"6-36-2":[17.480960845947266,2230.74365234375],"6-36-3":[8.20657730102539,2258.078857421875],"6-36-4":[6.489999771118164,1817.357177734375],"6-36-5":[1.3459999561309814,2118.707763671875],"6-36-6":[-14.899999618530273,1862.6602783203125],"6-36-7":[-49.68000030517578,611.882080078125],"6-36-8":[-62.20249938964844,282.82696533203125],"6-36-9":[-68.8062515258789,575.7647705078125],"6-36-10":[-79.90238189697266,428.0107421875],"6-36-11":[-45.303707122802734,430.044677734375],"6-36-12":[-47.67145919799805,408.9637145996094],"6-36-13":[-44.51835250854492,406.32373046875],"6-36-14":[126.58505249023438,610.8485107421875],"6-36-15":[16.435157775878906,575.2938232421875],"6-36-16":[12.099763870239258,700.0196533203125],"6-36-17":[-45.24113464355469,927.500244140625],"6-36-18":[-64.49224090576172,1201.6031494140625],"6-36-19":[-85.53500366210938,191.40065002441406],"6-36-20":[-89.05337524414062,-36.2439079284668],"6-36-21":[-93.15879821777344,-34.13500213623047],"6-36-22":[-90.88398742675781,29.146835327148438],"6-36-23":[-82.16000366210938,55.7501220703125],"6-36-24":[-67.35836029052734,1947.5755615234375],"6-36-25":[-49.85895538330078,2231.321044921875],"6-36-26":[-37.002498626708984,0.9772487878799438],"6-36-27":[-29.927499771118164,-2.9284005165100098],"6-36-28":[-18.950000762939453,1449.8553466796875],"6-36-29":[-29.877696990966797,4212.66796875],"6-36-30":[-37.469970703125,5414.8701171875],"6-36-31":[-328.0532531738281,5809.47802734375],"6-36-32":[167.6475067138672,5906.1796875],"6-36-33":[112.46368408203125,4149.9248046875],"6-36-34":[77.11599731445312,5607.443359375],"6-36-35":[-116.38557434082031,6754.431640625],"6-36-36":[-49.480438232421875,5914.68212890625],"6-36-37":[-7.034445285797119,824.1224365234375],"6-36-38":[10.055000305175781,32.10759735107422],"6-36-39":[9.188955307006836,30.00374984741211],"6-36-40":[9.06992244720459,28.9012508392334],"6-36-41":[9.770933151245117,29.255937576293945],"6-36-42":[8.852499961853027,27.54964828491211],"6-36-43":[7.851250171661377,26.741016387939453],"6-36-44":[8.150001525878906,25.778945922851562],"6-36-45":[8.098671913146973,22.472675323486328],"6-36-46":[8.440000534057617,23.1350154876709],"6-36-47":[9.170533180236816,22.903671264648438],"6-36-48":[7.171719074249268,22.446107864379883],"6-36-49":[4.693906307220459,22.44002914428711],"6-36-50":[4.053515434265137,19.427936553955078],"6-36-51":[1.9565000534057617,10.135558128356934],"6-36-52":[-2.0643749237060547,8.338749885559082],"6-36-53":[-5.889999866485596,2.42919921875],"6-36-54":[-7.669374942779541,0.9959570169448853],"6-36-55":[-16.420000076293945,-0.39250001311302185],"6-36-56":[-17.956249237060547,4.820000171661377],"6-36-57":[-24.96843719482422,322.59100341796875],"6-36-58":[-25.4918155670166,1069.76904296875],"6-36-59":[-46.78437423706055,1055.469970703125],"6-36-60":[-49.79624938964844,832.4734497070312],"6-36-61":[240.99000549316406,1288.6181640625],"6-36-62":[1054.14501953125,2281.244384765625],"6-36-63":[-29.532167434692383,2745.464599609375],"6-37-0":[13.60969352722168,35.391563415527344],"6-37-1":[17.14900016784668,38.446250915527344],"5-18-0":[13.60969352722168,38.446250915527344],"6-37-2":[18.24250030517578,2437.46875],"6-37-3":[7.27216100692749,2148.915771484375],"5-18-1":[7.27216100692749,2437.46875],"6-37-4":[7.890486240386963,1260.23095703125],"6-37-5":[4.776249885559082,32.76499938964844],"5-18-2":[1.3459999561309814,2118.707763671875],"6-37-6":[-1.9151500463485718,1808.185546875],"6-37-7":[-40.49187469482422,1101.486083984375],"5-18-3":[-49.68000030517578,1862.6602783203125],"6-37-8":[-50.5896110534668,282.6098937988281],"6-37-9":[-60.816017150878906,642.26123046875],"5-18-4":[-68.8062515258789,642.26123046875],"6-37-10":[-29.581199645996094,648.1566772460938],"6-37-11":[-23.750877380371094,410.18841552734375],"5-18-5":[-79.90238189697266,648.1566772460938],"6-37-12":[-40.7246208190918,516.4205932617188],"6-37-13":[163.419189453125,654.1401977539062],"5-18-6":[-47.67145919799805,654.1401977539062],"6-37-14":[225.34600830078125,700.0050048828125],"6-37-15":[-96.59557342529297,889.4213256835938],"5-18-7":[-96.59557342529297,889.4213256835938],"6-37-16":[-33.2802848815918,1597.562255859375],"6-37-17":[-113.28196716308594,1241.6170654296875],"5-18-8":[-113.28196716308594,1597.562255859375],"6-37-18":[-86.47750091552734,7.405726432800293],"6-37-19":[-97.80999755859375,-12.115809440612793],"5-18-9":[-97.80999755859375,1201.6031494140625],"6-37-20":[-102.59062194824219,-42.7385139465332],"6-37-21":[-100.61343383789062,-43.80812454223633],"5-18-10":[-102.59062194824219,-34.13500213623047],"6-37-22":[-95.91999816894531,-41.08000183105469],"6-37-23":[-92.85687255859375,26.26848602294922],"5-18-11":[-95.91999816894531,55.7501220703125],"6-37-24":[-83.19019317626953,1217.9403076171875],"6-37-25":[-62.639373779296875,2330.682861328125],"5-18-12":[-83.19019317626953,2330.682861328125],"6-37-26":[-56.439998626708984,-14.963749885559082],"6-37-27":[-48.39730453491211,871.942626953125],"5-18-13":[-56.439998626708984,871.942626953125],"6-37-28":[-49.018287658691406,5700.21044921875],"6-37-29":[-23.51932716369629,3844.513427734375],"5-18-14":[-49.018287658691406,5700.21044921875],"6-37-30":[169.00404357910156,5315.888671875],"6-37-31":[170.25942993164062,3836.765380859375],"5-18-15":[-328.0532531738281,5809.47802734375],"6-37-32":[117.06708526611328,443.3743896484375],"6-37-33":[81.67510986328125,324.5817565917969],"5-18-16":[81.67510986328125,5906.1796875],"6-37-34":[90.991455078125,2362.211181640625],"6-37-35":[136.3090362548828,5683.587890625],"5-18-17":[-116.38557434082031,6754.431640625],"6-37-36":[213.99058532714844,5564.57568359375],"6-37-37":[-123.52845001220703,5547.74072265625],"5-18-18":[-123.52845001220703,5914.68212890625],"6-37-38":[11.414454460144043,41.11851501464844],"6-37-39":[13.525312423706055,40.435001373291016],"5-18-19":[9.188955307006836,41.11851501464844],"6-37-40":[13.779999732971191,39.291404724121094],"6-37-41":[13.663750648498535,37.497501373291016],"5-18-20":[9.06992244720459,39.291404724121094],"6-37-42":[12.714219093322754,34.41627502441406],"6-37-43":[9.070001602172852,32.130859375],"5-18-21":[7.851250171661377,34.41627502441406],"6-37-44":[8.292949676513672,34.45293045043945],"6-37-45":[-18.705533981323242,1376.535888671875],"5-18-22":[-18.705533981323242,1376.535888671875],"6-37-46":[-29.581918716430664,1061.2470703125],"6-37-47":[-7.305708885192871,1414.2452392578125],"5-18-23":[-29.581918716430664,1414.2452392578125],"6-37-48":[-36.84894561767578,4026.287353515625],"6-37-49":[-269.4302978515625,3587.08349609375],"5-18-24":[-269.4302978515625,4026.287353515625],"6-37-50":[-96.76741790771484,2789.906005859375],"6-37-51":[-222.28146362304688,1172.62939453125],"5-18-25":[-222.28146362304688,2789.906005859375],"6-37-52":[1.7937500476837158,13.508125305175781],"6-37-53":[0.7265625,11.274999618530273],"5-18-26":[-5.889999866485596,13.508125305175781],"6-37-54":[-0.39250001311302185,8.585000038146973],"6-37-55":[-7.65625,4.3515625],"5-18-27":[-16.420000076293945,8.585000038146973],"6-37-56":[-8.520800590515137,510.5131530761719],"6-37-57":[-19.022422790527344,669.2753295898438],"5-18-28":[-24.96843719482422,669.2753295898438],"6-37-58":[-21.40005874633789,1660.7501220703125],"6-37-59":[-46.8337516784668,796.8704223632812],"5-18-29":[-46.8337516784668,1660.7501220703125],"6-37-60":[-52.308204650878906,243.31312561035156],"6-37-61":[219.3477325439453,1153.82763671875],"5-18-30":[-52.308204650878906,1288.6181640625],"6-37-62":[921.3074951171875,2321.172607421875],"6-37-63":[-29.53183364868164,2745.466064453125],"5-18-31":[-29.532167434692383,2745.466064453125],"6-38-0":[13.60969352722168,36.28562545776367],"6-38-1":[17.42934226989746,39.791873931884766],"6-38-2":[18.960832595825195,2116.62158203125],"6-38-3":[6.6004638671875,2052.804443359375],"6-38-4":[10.005264282226562,1115.310791015625],"6-38-5":[12.54307746887207,35.54378890991211],"6-38-6":[0.8310890197753906,1713.2840576171875],"6-38-7":[-34.11000061035156,1625.1866455078125],"6-38-8":[-39.920623779296875,332.8118896484375],"6-38-9":[-52.514686584472656,633.7987060546875],"6-38-10":[-48.560001373291016,658.265625],"6-38-11":[-23.602924346923828,464.630126953125],"6-38-12":[271.5736389160156,704.3402099609375],"6-38-13":[334.3036804199219,1114.6097412109375],"6-38-14":[-30.937789916992188,1053.2388916015625],"6-38-15":[-69.07948303222656,1266.544189453125],"6-38-16":[-76.03465270996094,1888.8756103515625],"6-38-17":[-77.03250122070312,507.56732177734375],"6-38-18":[-86.88480377197266,-36.029998779296875],"6-38-19":[-98.40875244140625,-42.875267028808594],"6-38-20":[-103.23140716552734,-47.88750076293945],"6-38-21":[-104.416015625,-47.930084228515625],"6-38-22":[-104.13359069824219,-46.842498779296875],"6-38-23":[-103.5531234741211,-41.220001220703125],"6-38-24":[-101.45294952392578,1152.730224609375],"6-38-25":[-85.83548736572266,3067.98828125],"6-38-26":[-70.7249984741211,-20.786283493041992],"6-38-27":[-65.39366912841797,833.0942993164062],"6-38-28":[-114.2239990234375,4925.720703125],"6-38-29":[10.547547340393066,5356.83642578125],"6-38-30":[61.91861343383789,3882.22021484375],"6-38-31":[106.50067138671875,839.197998046875],"6-38-32":[68.16675567626953,474.2840576171875],"6-38-33":[63.393367767333984,249.1269073486328],"6-38-34":[103.34008026123047,384.5770568847656],"6-38-35":[184.942626953125,644.826904296875],"6-38-36":[252.99893188476562,6360.3369140625],"6-38-37":[-22.38800621032715,6449.40087890625],"6-38-38":[-1.321825385093689,5847.76806640625],"6-38-39":[12.470003128051758,42.31535720825195],"6-38-40":[-9.885950088500977,2677.32470703125],"6-38-41":[-3.777056932449341,2243.244384765625],"6-38-42":[5.25936222076416,5156.31103515625],"6-38-43":[2.3032543659210205,5062.62109375],"6-38-44":[-10.8034029006958,5023.29150390625],"6-38-45":[10.457124710083008,4724.39306640625],"6-38-46":[-49.6171989440918,3766.1513671875],"6-38-47":[-60.03179931640625,2585.49462890625],"6-38-48":[-22.29766082763672,3553.083251953125],"6-38-49":[7.6759538650512695,3257.61572265625],"6-38-50":[-72.8376235961914,2695.14404296875],"6-38-51":[-106.70047760009766,1949.6085205078125],"6-38-52":[4.990600109100342,21.770780563354492],"6-38-53":[5.46999979019165,21.12874984741211],"6-38-54":[2.622499942779541,15.3540620803833],"6-38-55":[0.10374999791383743,12.22330093383789],"6-38-56":[-3.348437547683716,2784.5751953125],"6-38-57":[-15.494999885559082,1731.587646484375],"6-38-58":[-15.494999885559082,1790.2100830078125],"6-38-59":[-44.22999954223633,1401.510009765625],"6-38-60":[-50.32374954223633,332.1981201171875],"6-38-61":[241.75625610351562,1029.43701171875],"6-38-62":[742.5562744140625,2346.013671875],"6-38-63":[-29.531333923339844,2745.467041015625],"6-39-0":[13.60969352722168,37.57374954223633],"6-39-1":[17.684843063354492,41.28125],"5-19-0":[13.60969352722168,41.28125],"6-39-2":[16.510000228881836,1723.3394775390625],"6-39-3":[6.849416732788086,1651.247802734375],"5-19-1":[6.6004638671875,2116.62158203125],"4-9-0":[6.6004638671875,2437.46875],"6-39-4":[11.112500190734863,1535.6839599609375],"6-39-5":[13.707500457763672,38.137107849121094],"5-19-2":[10.005264282226562,1535.6839599609375],"6-39-6":[2.984687566757202,1492.44775390625],"6-39-7":[-1.8567222356796265,1664.50244140625],"5-19-3":[-34.11000061035156,1713.2840576171875],"4-9-1":[-49.68000030517578,2118.707763671875],"3-4-0":[-63.10874938964844,2437.46875],"6-39-8":[-16.4134578704834,932.9500122070312],"6-39-9":[-42.677188873291016,781.0403442382812],"5-19-4":[-52.514686584472656,932.9500122070312],"6-39-10":[-44.27162170410156,360.5017395019531],"6-39-11":[-41.87602615356445,596.283447265625],"5-19-5":[-48.560001373291016,658.265625],"4-9-2":[-79.90238189697266,932.9500122070312],"6-39-12":[51.44956588745117,869.2879028320312],"6-39-13":[188.00245666503906,1077.81005859375],"5-19-6":[51.44956588745117,1114.6097412109375],"6-39-14":[-31.122724533081055,916.287841796875],"6-39-15":[-25.781152725219727,1579.3577880859375],"5-19-7":[-69.07948303222656,1579.3577880859375],"4-9-3":[-96.59557342529297,1579.3577880859375],"3-4-1":[-97.8539810180664,1579.3577880859375],"6-39-16":[-56.19929504394531,1114.2064208984375],"6-39-17":[-75.75250244140625,23.867616653442383],"5-19-8":[-77.03250122070312,1888.8756103515625],"6-39-18":[-85.75,-37.0220832824707],"6-39-19":[-95.0356216430664,-41.17250061035156],"5-19-9":[-98.40875244140625,-36.029998779296875],"4-9-4":[-113.28196716308594,1888.8756103515625],"6-39-20":[-101.453125,-44.35150146484375],"6-39-21":[-103.87533569335938,-46.852500915527344],"5-19-10":[-104.416015625,-44.35150146484375],"6-39-22":[-105.28433227539062,-49.02616500854492],"6-39-23":[-104.92167663574219,-50.05648422241211],"5-19-11":[-105.28433227539062,-41.220001220703125],"4-9-5":[-105.28433227539062,55.7501220703125],"3-4-2":[-113.28196716308594,2004.6978759765625],"6-39-24":[-129.89500427246094,-42.270626068115234],"6-39-25":[-132.4121856689453,1440.9359130859375],"5-19-12":[-132.4121856689453,3067.98828125],"6-39-26":[-85.87000274658203,-29.525352478027344],"6-39-27":[-89.52357482910156,1217.9534912109375],"5-19-13":[-89.52357482910156,1217.9534912109375],"4-9-6":[-132.4121856689453,3067.98828125],"6-39-28":[-34.003570556640625,3550.660888671875],"6-39-29":[-4.6902313232421875,404.1317138671875],"5-19-14":[-114.2239990234375,5356.83642578125],"6-39-30":[19.108613967895508,759.9472045898438],"6-39-31":[49.74159622192383,984.9420776367188],"5-19-15":[19.108613967895508,3882.22021484375],"4-9-7":[-328.0532531738281,5809.47802734375],"3-4-3":[-328.0532531738281,5809.47802734375],"6-39-32":[-0.5706705451011658,880.619873046875],"6-39-33":[34.67192077636719,244.6671905517578],"5-19-16":[-0.5706705451011658,880.619873046875],"6-39-34":[68.0064697265625,300.3858337402344],"6-39-35":[108.30511474609375,433.22174072265625],"5-19-17":[68.0064697265625,644.826904296875],"4-9-8":[-116.38557434082031,6754.431640625],"6-39-36":[155.88058471679688,5347.82861328125],"6-39-37":[202.17491149902344,6455.943359375],"5-19-18":[-22.38800621032715,6455.943359375],"6-39-38":[2.9250400066375732,6600.27001953125],"6-39-39":[3.7806410789489746,6222.24560546875],"5-19-19":[-1.321825385093689,6600.27001953125],"4-9-9":[-123.52845001220703,6600.27001953125],"3-4-4":[-123.52845001220703,6754.431640625],"6-39-40":[25.810760498046875,6775.95947265625],"6-39-41":[366.30511474609375,6919.8994140625],"5-19-20":[-9.885950088500977,6919.8994140625],"6-39-42":[645.9628295898438,6300.88671875],"6-39-43":[493.6404724121094,6969.12255859375],"5-19-21":[2.3032543659210205,6969.12255859375],"4-9-10":[-9.885950088500977,6969.12255859375],"6-39-44":[407.9263000488281,5888.3291015625],"6-39-45":[231.75115966796875,3998.121337890625],"5-19-22":[-10.8034029006958,5888.3291015625],"6-39-46":[248.580810546875,2022.2747802734375],"6-39-47":[173.834716796875,1957.385986328125],"5-19-23":[-60.03179931640625,3766.1513671875],"4-9-11":[-60.03179931640625,5888.3291015625],"3-4-5":[-88.4389419555664,6969.12255859375],"6-39-48":[-0.13332229852676392,1353.1087646484375],"6-39-49":[-111.829833984375,1097.143310546875],"5-19-24":[-111.829833984375,3553.083251953125],"6-39-50":[-1.4902971982955933,605.899658203125],"6-39-51":[-63.301795959472656,2581.83837890625],"5-19-25":[-106.70047760009766,2695.14404296875],"4-9-12":[-269.4302978515625,4026.287353515625],"6-39-52":[7.242627143859863,30.31999969482422],"6-39-53":[8.168749809265137,28.4190616607666],"5-19-26":[4.990600109100342,30.31999969482422],"6-39-54":[5.996250152587891,24.510000228881836],"6-39-55":[4.949999809265137,1701.65869140625],"5-19-27":[0.10374999791383743,1701.65869140625],"4-9-13":[-16.420000076293945,1701.65869140625],"3-4-6":[-269.4302978515625,4026.287353515625],"6-39-56":[2.041249990463257,2876.768798828125],"6-39-57":[-5.157187461853027,2323.877197265625],"5-19-28":[-15.494999885559082,2876.768798828125],"6-39-58":[-5.157187461853027,2011.2806396484375],"6-39-59":[-38.70000076293945,1401.510009765625],"5-19-29":[-44.22999954223633,2011.2806396484375],"4-9-14":[-46.8337516784668,2876.768798828125],"6-39-60":[-48.68375015258789,398.9533386230469],"6-39-61":[152.3056182861328,947.4288940429688],"5-19-30":[-50.32374954223633,1029.43701171875],"6-39-62":[609.1300048828125,2348.154052734375],"6-39-63":[-29.5310001373291,2745.468017578125],"5-19-31":[-29.531333923339844,2745.468017578125],"4-9-15":[-52.308204650878906,2745.468017578125],"3-4-7":[-52.354373931884766,4721.9384765625],"6-40-0":[13.5805025100708,38.530487060546875],"6-40-1":[18.42766761779785,42.477638244628906],"6-40-2":[14.0337495803833,1837.1756591796875],"6-40-3":[9.204999923706055,1301.302734375],"6-40-4":[16.610000610351562,1474.886962890625],"6-40-5":[15.167438507080078,294.7435302734375],"6-40-6":[5.315000057220459,35.38874816894531],"6-40-7":[0.08749999850988388,1690.5201416015625],"6-40-8":[-12.773085594177246,2057.1875],"6-40-9":[-31.209999084472656,1148.5550537109375],"6-40-10":[-38.99687576293945,1032.1065673828125],"6-40-11":[-38.8635139465332,935.9376831054688],"6-40-12":[283.81768798828125,898.0314331054688],"6-40-13":[24.7689266204834,1031.678466796875],"6-40-14":[-26.01861572265625,1255.3284912109375],"6-40-15":[-50.50922775268555,787.1233520507812],"6-40-16":[-51.939998626708984,269.0627746582031],"6-40-17":[-74.04000091552734,-24.93239974975586],"6-40-18":[-82.0356216430664,-34.939998626708984],"6-40-19":[-88.69999694824219,-36.7756233215332],"6-40-20":[-92.92500305175781,48.3438835144043],"6-40-21":[-98.05000305175781,-42.90250015258789],"6-40-22":[-101.83562469482422,-47.14250183105469],"6-40-23":[-104.67937469482422,-50.454063415527344],"6-40-24":[-138.64962768554688,-50.20933151245117],"6-40-25":[-141.11624145507812,1288.2890625],"6-40-26":[-90.27999877929688,-35.91007995605469],"6-40-27":[-82.70567321777344,92.39002990722656],"6-40-28":[-60.96760940551758,2718.181396484375],"6-40-29":[-37.498043060302734,2385.73876953125],"6-40-30":[52.53725814819336,2826.610595703125],"6-40-31":[41.04399108886719,2785.86328125],"6-40-32":[-10.001166343688965,1058.298828125],"6-40-33":[7.095154285430908,158.15298461914062],"6-40-34":[23.99372100830078,203.49993896484375],"6-40-35":[68.74652099609375,470.4722595214844],"6-40-36":[117.60458374023438,267.630126953125],"6-40-37":[126.79554748535156,5469.93896484375],"6-40-38":[191.9182586669922,5778.205078125],"6-40-39":[986.5236206054688,6050.0498046875],"6-40-40":[396.3408508300781,6388.8671875],"6-40-41":[262.6158752441406,6039.41015625],"6-40-42":[156.73568725585938,4549.068359375],"6-40-43":[232.7043914794922,2816.114501953125],"6-40-44":[196.6194305419922,812.7232666015625],"6-40-45":[94.32240295410156,598.5833129882812],"6-40-46":[-102.42082977294922,1675.5557861328125],"6-40-47":[0.8086986541748047,1125.822021484375],"6-40-48":[-8.442444801330566,672.8513793945312],"6-40-49":[1.6721515655517578,282.55010986328125],"6-40-50":[9.920000076293945,25.988672256469727],"6-40-51":[-12.003965377807617,1141.965576171875],"6-40-52":[12.592300415039062,33.611629486083984],"6-40-53":[14.04062557220459,33.972110748291016],"6-40-54":[10.798922538757324,32.096561431884766],"6-40-55":[7.940000057220459,2110.83935546875],"6-40-56":[7.142383098602295,2245.400634765625],"6-40-57":[1.7666583061218262,2040.5631103515625],"6-40-58":[-14.931249618530273,2090.42236328125],"6-40-59":[-38.70000076293945,870.907470703125],"6-40-60":[-48.68375015258789,230.80499267578125],"6-40-61":[-53.085662841796875,864.8670043945312],"6-40-62":[549.5101928710938,2344.267578125],"6-40-63":[-29.580486297607422,2745.468994140625],"6-41-0":[13.5805025100708,39.47968673706055],"6-41-1":[19.117250442504883,44.258750915527344],"5-20-0":[13.5805025100708,44.258750915527344],"6-41-2":[13.197578430175781,951.7786865234375],"6-41-3":[11.372166633605957,1019.5700073242188],"5-20-1":[9.204999923706055,1837.1756591796875],"6-41-4":[17.37874984741211,1639.309326171875],"6-41-5":[16.473360061645508,47.30781173706055],"5-20-2":[15.167438507080078,1639.309326171875],"6-41-6":[12.24625015258789,47.30781173706055],"6-41-7":[6.3689165115356445,1076.4251708984375],"5-20-3":[0.08749999850988388,1690.5201416015625],"6-41-8":[-2.2068750858306885,1785.6239013671875],"6-41-9":[-5.14968729019165,768.0764770507812],"5-20-4":[-31.209999084472656,2057.1875],"6-41-10":[-18.244482040405273,1491.4786376953125],"6-41-11":[-32.020137786865234,1587.2745361328125],"5-20-5":[-38.99687576293945,1587.2745361328125],"6-41-12":[-13.089576721191406,864.3588256835938],"6-41-13":[25.943368911743164,1005.8218383789062],"5-20-6":[-13.089576721191406,1031.678466796875],"6-41-14":[-40.08513259887695,587.9959106445312],"6-41-15":[-62.22666549682617,347.01470947265625],"5-20-7":[-62.22666549682617,1255.3284912109375],"6-41-16":[-51.61507797241211,265.7265625],"6-41-17":[-68.98562622070312,-25.547592163085938],"5-20-8":[-74.04000091552734,269.0627746582031],"6-41-18":[-71.60997772216797,-29.964250564575195],"6-41-19":[-78.00499725341797,-32.58625030517578],"5-20-9":[-88.69999694824219,-29.964250564575195],"6-41-20":[-85.80500030517578,18.110549926757812],"6-41-21":[-94.06843566894531,-39.59000015258789],"5-20-10":[-98.05000305175781,48.3438835144043],"6-41-22":[-102.74491882324219,-46.496665954589844],"6-41-23":[-105.56316375732422,-50.83124923706055],"5-20-11":[-105.56316375732422,-46.496665954589844],"6-41-24":[-129.53199768066406,-50.47800064086914],"6-41-25":[-129.4774932861328,1103.8948974609375],"5-20-12":[-141.11624145507812,1288.2890625],"6-41-26":[-90.39250183105469,869.5392456054688],"6-41-27":[-83.9459228515625,203.333251953125],"5-20-13":[-90.39250183105469,869.5392456054688],"6-41-28":[-92.40963745117188,2565.5888671875],"6-41-29":[-92.51641845703125,2449.20654296875],"5-20-14":[-92.51641845703125,2718.181396484375],"6-41-30":[126.29708099365234,2659.717529296875],"6-41-31":[-0.8849133849143982,2129.56298828125],"5-20-15":[-0.8849133849143982,2826.610595703125],"6-41-32":[-35.39140701293945,103.22542572021484],"6-41-33":[-58.31167221069336,106.2967758178711],"5-20-16":[-58.31167221069336,1058.298828125],"6-41-34":[-8.146404266357422,187.28440856933594],"6-41-35":[3.6975150108337402,1127.7066650390625],"5-20-17":[-8.146404266357422,1127.7066650390625],"6-41-36":[121.95471954345703,684.6690673828125],"6-41-37":[141.3287353515625,910.621826171875],"5-20-18":[117.60458374023438,5469.93896484375],"6-41-38":[214.1822967529297,4327.45556640625],"6-41-39":[236.7208251953125,4098.6083984375],"5-20-19":[191.9182586669922,6050.0498046875],"6-41-40":[173.1451416015625,2622.243896484375],"6-41-41":[94.42643737792969,1259.45556640625],"5-20-20":[94.42643737792969,6388.8671875],"6-41-42":[68.09735107421875,1956.1507568359375],"6-41-43":[84.73764038085938,1847.610595703125],"5-20-21":[68.09735107421875,4549.068359375],"6-41-44":[37.81985855102539,370.3173828125],"6-41-45":[-42.52362823486328,1242.863525390625],"5-20-22":[-42.52362823486328,1242.863525390625],"6-41-46":[-22.189857482910156,172.47108459472656],"6-41-47":[-31.66913414001465,129.6820831298828],"5-20-23":[-102.42082977294922,1675.5557861328125],"6-41-48":[11.071328163146973,24.275117874145508],"6-41-49":[10.943437576293945,26.75398063659668],"5-20-24":[-8.442444801330566,672.8513793945312],"6-41-50":[10.2475004196167,27.926008224487305],"6-41-51":[-32.008113861083984,987.966796875],"5-20-25":[-32.008113861083984,1141.965576171875],"6-41-52":[13.897500038146973,37.6896858215332],"6-41-53":[15.645000457763672,37.0021858215332],"5-20-26":[12.592300415039062,37.6896858215332],"6-41-54":[14.312333106994629,2255.28466796875],"6-41-55":[8.729999542236328,2099.31884765625],"5-20-27":[7.940000057220459,2255.28466796875],"6-41-56":[6.992499828338623,2890.4892578125],"6-41-57":[-1.9502500295639038,2528.750732421875],"5-20-28":[-1.9502500295639038,2890.4892578125],"6-41-58":[-28.2948055267334,1987.390625],"6-41-59":[-36.0625,-12.831250190734863],"5-20-29":[-38.70000076293945,2090.42236328125],"6-41-60":[-47.592498779296875,-17.933509826660156],"6-41-61":[-51.946876525878906,806.5267333984375],"5-20-30":[-53.085662841796875,864.8670043945312],"6-41-62":[471.2987365722656,2332.425537109375],"6-41-63":[-29.580486297607422,2745.4697265625],"5-20-31":[-29.580486297607422,2745.4697265625],"6-42-0":[13.609644889831543,39.86410140991211],"6-42-1":[20.078750610351562,45.766876220703125],"6-42-2":[13.398750305175781,636.0850219726562],"6-42-3":[13.398750305175781,1412.385009765625],"6-42-4":[19.1512508392334,1850.84130859375],"6-42-5":[16.994749069213867,99.20687866210938],"6-42-6":[19.110000610351562,50.31101608276367],"6-42-7":[14.302119255065918,47.469764709472656],"6-42-8":[7.199999809265137,1284.7635498046875],"6-42-9":[7.199999809265137,31.2738094329834],"6-42-10":[-1.440000057220459,19.119062423706055],"6-42-11":[-15.711684226989746,1027.4757080078125],"6-42-12":[-15.443567276000977,846.1084594726562],"6-42-13":[-12.898258209228516,704.0990600585938],"6-42-14":[-35.1506233215332,560.678955078125],"6-42-15":[-28.73699378967285,626.1734008789062],"6-42-16":[-51.64884948730469,12.816696166992188],"6-42-17":[-59.92499923706055,-22.723125457763672],"6-42-18":[-63.955623626708984,-25.318750381469727],"6-42-19":[-70.70999908447266,-27.671875],"6-42-20":[-79.18000030517578,-32.63750076293945],"6-42-21":[-92.98999786376953,-37.860626220703125],"6-42-22":[-102.25812530517578,-44.04249954223633],"6-42-23":[-104.5062484741211,-48.01124954223633],"6-42-24":[-109.88999938964844,-46.13837432861328],"6-42-25":[-127.71937561035156,350.6883239746094],"6-42-26":[-127.79902648925781,1415.2760009765625],"6-42-27":[-108.64335632324219,1174.7613525390625],"6-42-28":[-95.37468719482422,906.026123046875],"6-42-29":[-54.22836685180664,2236.76123046875],"6-42-30":[-7.383772373199463,2551.051025390625],"6-42-31":[-5.053922176361084,1982.4715576171875],"6-42-32":[-47.65615463256836,394.8396911621094],"6-42-33":[-73.3076171875,139.3924560546875],"6-42-34":[-32.26030731201172,379.2051696777344],"6-42-35":[37.284446716308594,586.1595458984375],"6-42-36":[152.35693359375,742.1585083007812],"6-42-37":[128.0788116455078,1176.043701171875],"6-42-38":[126.79940795898438,1325.783447265625],"6-42-39":[110.10272216796875,644.3350219726562],"6-42-40":[97.77256774902344,249.7909393310547],"6-42-41":[34.67401885986328,233.96473693847656],"6-42-42":[2.157991409301758,142.1062469482422],"6-42-43":[-47.9432373046875,159.45187377929688],"6-42-44":[8.075815200805664,171.0079803466797],"6-42-45":[-24.237281799316406,773.001708984375],"6-42-46":[11.515625,27.533946990966797],"6-42-47":[5.167500019073486,24.62289047241211],"6-42-48":[5.167500019073486,23.26984405517578],"6-42-49":[8.208125114440918,25.71770668029785],"6-42-50":[-14.464447021484375,710.1716918945312],"6-42-51":[7.631406307220459,36.255001068115234],"6-42-52":[18.27750015258789,39.829978942871094],"6-42-53":[15.15250015258789,41.76023483276367],"6-42-54":[17.248659133911133,2109.77197265625],"6-42-55":[9.824999809265137,2069.7900390625],"6-42-56":[4.327499866485596,269.2690124511719],"6-42-57":[-10.070625305175781,1250.1007080078125],"6-42-58":[-23.731250762939453,1211.46142578125],"6-42-59":[-36.13999938964844,-12.105937957763672],"6-42-60":[-49.11000061035156,-17.947500228881836],"6-42-61":[-51.946876525878906,889.6487426757812],"6-42-62":[706.6425170898438,2326.433837890625],"6-42-63":[-29.53008270263672,2745.470458984375],"6-43-0":[13.609644889831543,39.923126220703125],"6-43-1":[20.421249389648438,46.115936279296875],"5-21-0":[13.609644889831543,46.115936279296875],"6-43-2":[15.745156288146973,633.10986328125],"6-43-3":[17.13604164123535,1941.4000244140625],"5-21-1":[13.398750305175781,1941.4000244140625],"4-10-0":[9.204999923706055,1941.4000244140625],"6-43-4":[99.20687866210938,2238.215576171875],"6-43-5":[18.20718765258789,1021.3280029296875],"5-21-2":[16.994749069213867,2238.215576171875],"6-43-6":[19.110000610351562,56.064998626708984],"6-43-7":[20.15250015258789,55.34062576293945],"5-21-3":[14.302119255065918,56.064998626708984],"4-10-1":[0.08749999850988388,2238.215576171875],"6-43-8":[17.0206241607666,49.439998626708984],"6-43-9":[9.896249771118164,42.3806266784668],"5-21-4":[7.199999809265137,1284.7635498046875],"6-43-10":[5.256875038146973,33.279998779296875],"6-43-11":[0.6825000047683716,23.825273513793945],"5-21-5":[-15.711684226989746,1027.4757080078125],"4-10-2":[-38.99687576293945,2057.1875],"6-43-12":[-8.850826263427734,1193.157470703125],"6-43-13":[-13.271954536437988,895.9225463867188],"5-21-6":[-15.443567276000977,1193.157470703125],"6-43-14":[-20.116092681884766,804.7216186523438],"6-43-15":[-48.43497848510742,566.645751953125],"5-21-7":[-48.43497848510742,804.7216186523438],"4-10-3":[-62.22666549682617,1255.3284912109375],"6-43-16":[-45.13117599487305,-4.420000076293945],"6-43-17":[-49.8782958984375,-13.27750015258789],"5-21-8":[-59.92499923706055,12.816696166992188],"6-43-18":[-53.58511734008789,-19.77716636657715],"6-43-19":[-63.298126220703125,-23.077499389648438],"5-21-9":[-70.70999908447266,-19.77716636657715],"4-10-4":[-88.69999694824219,269.0627746582031],"6-43-20":[-73.48640441894531,-28.47533416748047],"6-43-21":[-87.05437469482422,-33.602500915527344],"5-21-10":[-92.98999786376953,-28.47533416748047],"6-43-22":[-94.58169555664062,-38.95375061035156],"6-43-23":[-97.22445678710938,-43.01250076293945],"5-21-11":[-104.5062484741211,-38.95375061035156],"4-10-5":[-105.56316375732422,48.3438835144043],"6-43-24":[-97.14250183105469,-43.830833435058594],"6-43-25":[-102.42406463623047,-45.56016540527344],"5-21-12":[-127.71937561035156,350.6883239746094],"6-43-26":[-113.65100860595703,-45.85945129394531],"6-43-27":[-108.05009460449219,-44.720001220703125],"5-21-13":[-127.79902648925781,1415.2760009765625],"4-10-6":[-141.11624145507812,1415.2760009765625],"6-43-28":[-95.83976745605469,-31.874374389648438],"6-43-29":[-77.20443725585938,502.5425720214844],"5-21-14":[-95.83976745605469,2236.76123046875],"6-43-30":[-149.20790100097656,1207.51513671875],"6-43-31":[87.422119140625,1109.79052734375],"5-21-15":[-149.20790100097656,2551.051025390625],"4-10-7":[-149.20790100097656,2826.610595703125],"6-43-32":[-59.9599723815918,483.7904052734375],"6-43-33":[-57.000335693359375,412.3945617675781],"5-21-16":[-73.3076171875,483.7904052734375],"6-43-34":[2.7372195720672607,657.0245361328125],"6-43-35":[87.5876235961914,621.433837890625],"5-21-17":[-32.26030731201172,657.0245361328125],"4-10-8":[-73.3076171875,1127.7066650390625],"6-43-36":[215.2888946533203,689.0324096679688],"6-43-37":[74.01032257080078,949.2073974609375],"5-21-18":[74.01032257080078,1176.043701171875],"6-43-38":[58.91065979003906,1245.778076171875],"6-43-39":[66.15335083007812,856.3311767578125],"5-21-19":[58.91065979003906,1325.783447265625],"4-10-9":[58.91065979003906,6050.0498046875],"6-43-40":[22.811086654663086,738.9885864257812],"6-43-41":[-2.873819589614868,703.3743896484375],"5-21-20":[-2.873819589614868,738.9885864257812],"6-43-42":[24.10928726196289,362.612060546875],"6-43-43":[-5.891228675842285,395.2868347167969],"5-21-21":[-47.9432373046875,395.2868347167969],"4-10-10":[-47.9432373046875,6388.8671875],"6-43-44":[-44.8405647277832,228.2337646484375],"6-43-45":[-41.28563690185547,445.1734924316406],"5-21-22":[-44.8405647277832,773.001708984375],"6-43-46":[2.6524999141693115,26.496856689453125],"6-43-47":[0.5304999947547913,19.660390853881836],"5-21-23":[0.5304999947547913,27.533946990966797],"4-10-11":[-102.42082977294922,1675.5557861328125],"6-43-48":[0.2409999966621399,14.05306625366211],"6-43-49":[3.692500114440918,25.642812728881836],"5-21-24":[0.2409999966621399,25.71770668029785],"6-43-50":[3.6277928352355957,714.58740234375],"6-43-51":[5.698124885559082,38.790000915527344],"5-21-25":[-14.464447021484375,714.58740234375],"4-10-12":[-32.008113861083984,1141.965576171875],"6-43-52":[18.27750015258789,41.025001525878906],"6-43-53":[15.15250015258789,44.20000076293945],"5-21-26":[15.15250015258789,44.20000076293945],"6-43-54":[19.286561965942383,1728.1546630859375],"6-43-55":[9.824999809265137,37.009376525878906],"5-21-27":[9.824999809265137,2109.77197265625],"4-10-13":[7.940000057220459,2255.28466796875],"6-43-56":[1.809999942779541,22.360000610351562],"6-43-57":[-9.851249694824219,6.906152248382568],"5-21-28":[-10.070625305175781,1250.1007080078125],"6-43-58":[-23.423749923706055,-4.866250038146973],"6-43-59":[-35.84000015258789,-11.975000381469727],"5-21-29":[-36.13999938964844,1211.46142578125],"4-10-14":[-38.70000076293945,2890.4892578125],"6-43-60":[-50.62812423706055,-17.947500228881836],"6-43-61":[-51.00187683105469,1371.3677978515625],"5-21-30":[-51.946876525878906,1371.3677978515625],"6-43-62":[889.6487426757812,2317.255615234375],"6-43-63":[-29.530000686645508,2745.470947265625],"5-21-31":[-29.53008270263672,2745.470947265625],"4-10-15":[-53.085662841796875,2745.470947265625],"6-44-0":[13.609999656677246,39.836875915527344],"6-44-1":[20.309375762939453,45.85499954223633],"6-44-2":[17.472999572753906,772.1279296875],"6-44-3":[19.239416122436523,2089.375],"6-44-4":[1020.9400024414062,2319.039794921875],"6-44-5":[23.1200008392334,1708.3834228515625],"6-44-6":[23.378841400146484,1880.95166015625],"6-44-7":[23.024518966674805,1854.0625],"6-44-8":[21.547500610351562,1029.054931640625],"6-44-9":[17.359525680541992,54.2705078125],"6-44-10":[12.022500038146973,44.612186431884766],"6-44-11":[7.840000152587891,35.635292053222656],"6-44-12":[1.9200711250305176,148.7121124267578],"6-44-13":[-20.294322967529297,486.60101318359375],"6-44-14":[-16.92605972290039,577.0435791015625],"6-44-15":[-12.043671607971191,408.5379943847656],"6-44-16":[-25.92869758605957,8.563750267028809],"6-44-17":[-39.150001525878906,-6.776875019073486],"6-44-18":[-44.889373779296875,-11.09375],"6-44-19":[-56.939998626708984,-15.520625114440918],"6-44-20":[-66.16124725341797,-21.280000686645508],"6-44-21":[-77.88999938964844,-27.125625610351562],"6-44-22":[-85.03874969482422,-32.05500030517578],"6-44-23":[-89.26499938964844,-36.064998626708984],"6-44-24":[-91.0043716430664,-38.75749969482422],"6-44-25":[-96.70999908447266,-40.68299865722656],"6-44-26":[-98.95494079589844,-43.31624984741211],"6-44-27":[-95.9228744506836,-44.4162483215332],"6-44-28":[-95.17320251464844,-38.68000030517578],"6-44-29":[-81.59937286376953,14.369462013244629],"6-44-30":[-61.2351188659668,1030.81005859375],"6-44-31":[94.48527526855469,889.296142578125],"6-44-32":[-68.01325225830078,823.14404296875],"6-44-33":[-38.48038864135742,487.9617919921875],"6-44-34":[67.74529266357422,694.401123046875],"6-44-35":[161.68035888671875,753.328857421875],"6-44-36":[228.41795349121094,612.2869262695312],"6-44-37":[103.13397216796875,914.7008666992188],"6-44-38":[86.09651184082031,880.4185791015625],"6-44-39":[114.58521270751953,752.7461547851562],"6-44-40":[106.53168487548828,799.5657958984375],"6-44-41":[70.48329162597656,899.6111450195312],"6-44-42":[35.319374084472656,584.1432495117188],"6-44-43":[1.9798250198364258,482.2642517089844],"6-44-44":[-15.025041580200195,526.3984375],"6-44-45":[1.506250023841858,25.023475646972656],"6-44-46":[-0.3499999940395355,22.196094512939453],"6-44-47":[-1.184999942779541,4.23562479019165],"6-44-48":[-2.106250047683716,6.211874961853027],"6-44-49":[-0.027499999850988388,20.81692123413086],"6-44-50":[4.522202014923096,23.39280128479004],"6-44-51":[4.37624979019165,37.13249969482422],"6-44-52":[17.752500534057617,41.136287689208984],"6-44-53":[20.432811737060547,1523.8778076171875],"6-44-54":[16.014375686645508,578.5823974609375],"6-44-55":[7.53000020980835,38.024845123291016],"6-44-56":[-1.3700000047683716,22.219999313354492],"6-44-57":[-9.329999923706055,2.313124895095825],"6-44-58":[-22.51937484741211,-3.028749942779541],"6-44-59":[-35.84000015258789,-11.884140968322754],"6-44-60":[-51.0009765625,204.78187561035156],"6-44-61":[-50.716251373291016,1540.943603515625],"6-44-62":[1083.3349609375,2298.905029296875],"6-44-63":[-29.530000686645508,2745.4716796875],"6-45-0":[13.609999656677246,39.30857467651367],"6-45-1":[20.0049991607666,45.8650016784668],"5-22-0":[13.609999656677246,45.8650016784668],"6-45-2":[18.204999923706055,829.2979125976562],"6-45-3":[45.54591751098633,2185.375],"5-22-1":[17.472999572753906,2185.375],"6-45-4":[1552.6175537109375,2333.408203125],"6-45-5":[1247.0374755859375,2344.9609375],"5-22-2":[23.1200008392334,2344.9609375],"6-45-6":[26.830875396728516,2399.396240234375],"6-45-7":[22.920936584472656,1842.916748046875],"5-22-3":[22.920936584472656,2399.396240234375],"6-45-8":[27.10296630859375,2229.5947265625],"6-45-9":[22.31475067138672,1280.2401123046875],"5-22-4":[17.359525680541992,2229.5947265625],"6-45-10":[19.37125015258789,59.79999923706055],"6-45-11":[16.177499771118164,52.282188415527344],"5-22-5":[7.840000152587891,59.79999923706055],"6-45-12":[14.520625114440918,48.2400016784668],"6-45-13":[12.672968864440918,43.654998779296875],"5-22-6":[-20.294322967529297,486.60101318359375],"6-45-14":[-9.594228744506836,300.99029541015625],"6-45-15":[-18.19355010986328,337.4884338378906],"5-22-7":[-18.19355010986328,577.0435791015625],"6-45-16":[-9.427343368530273,30.389999389648438],"6-45-17":[-20.10906219482422,6.012187480926514],"5-22-8":[-39.150001525878906,30.389999389648438],"6-45-18":[-27.16568374633789,-1.9774166345596313],"6-45-19":[-40.57437515258789,-6.644999980926514],"5-22-9":[-56.939998626708984,-1.9774166345596313],"6-45-20":[-50.806697845458984,-12.66533374786377],"6-45-21":[-62.287498474121094,-18.143749237060547],"5-22-10":[-77.88999938964844,-12.66533374786377],"6-45-22":[-68.67250061035156,-23.399499893188477],"6-45-23":[-75.92500305175781,-27.388750076293945],"5-22-11":[-89.26499938964844,-23.399499893188477],"6-45-24":[-80.1480484008789,-31.400917053222656],"6-45-25":[-85.29562377929688,-34.94874954223633],"5-22-12":[-96.70999908447266,-31.400917053222656],"6-45-26":[-89.67945098876953,-37.87641525268555],"6-45-27":[-90.84187316894531,-41.3125],"5-22-13":[-98.95494079589844,-37.87641525268555],"6-45-28":[-90.84187316894531,-40.139373779296875],"6-45-29":[-87.63296508789062,-32.1393928527832],"5-22-14":[-95.17320251464844,14.369462013244629],"6-45-30":[-71.91000366210938,795.5399169921875],"6-45-31":[-78.80567932128906,615.0183715820312],"5-22-15":[-78.80567932128906,1030.81005859375],"6-45-32":[-60.646934509277344,667.4108276367188],"6-45-33":[-29.065187454223633,524.3359985351562],"5-22-16":[-68.01325225830078,823.14404296875],"6-45-34":[114.46839141845703,806.9476318359375],"6-45-35":[140.1668701171875,772.1469116210938],"5-22-17":[67.74529266357422,806.9476318359375],"6-45-36":[148.33489990234375,508.1993103027344],"6-45-37":[188.038330078125,1020.2592163085938],"5-22-18":[103.13397216796875,1020.2592163085938],"6-45-38":[279.5477600097656,1043.987060546875],"6-45-39":[226.83969116210938,630.232177734375],"5-22-19":[86.09651184082031,1043.987060546875],"6-45-40":[218.51470947265625,1344.62109375],"6-45-41":[192.3480987548828,1399.2891845703125],"5-22-20":[70.48329162597656,1399.2891845703125],"6-45-42":[-18.155691146850586,1093.1861572265625],"6-45-43":[-20.185056686401367,529.2383422851562],"5-22-21":[-20.185056686401367,1093.1861572265625],"6-45-44":[-0.7074999809265137,38.76353454589844],"6-45-45":[-4.224999904632568,9.666034698486328],"5-22-22":[-15.025041580200195,526.3984375],"6-45-46":[-4.590937614440918,2.2718749046325684],"6-45-47":[-5.760000228881836,-0.3499999940395355],"5-22-23":[-5.760000228881836,22.196094512939453],"6-45-48":[-6.986562728881836,-0.027499999850988388],"6-45-49":[-2.703437566757202,14.994375228881836],"5-22-24":[-6.986562728881836,20.81692123413086],"6-45-50":[5.014452934265137,17.560077667236328],"6-45-51":[6.249374866485596,35.3693733215332],"5-22-25":[4.37624979019165,37.13249969482422],"6-45-52":[17.752500534057617,40.40070343017578],"6-45-53":[20.229999542236328,47.285545349121094],"5-22-26":[17.752500534057617,1523.8778076171875],"6-45-54":[13.668749809265137,45.073123931884766],"6-45-55":[7.53000020980835,29.367265701293945],"5-22-27":[7.53000020980835,578.5823974609375],"6-45-56":[-1.693515658378601,15.359999656677246],"6-45-57":[-5.699375152587891,-0.8041666746139526],"5-22-28":[-9.329999923706055,22.219999313354492],"6-45-58":[-21.58089828491211,-2.4999165534973145],"6-45-59":[-34.94062423706055,-11.267499923706055],"5-22-29":[-35.84000015258789,-2.4999165534973145],"6-45-60":[-51.01169967651367,354.3037414550781],"6-45-61":[-49.76109313964844,1979.9337158203125],"5-22-30":[-51.01169967651367,1979.9337158203125],"6-45-62":[1259.3974609375,2275.460693359375],"6-45-63":[-29.530000686645508,2745.47216796875],"5-22-31":[-29.530000686645508,2745.47216796875],"6-46-0":[13.609999656677246,38.71843719482422],"6-46-1":[19.714374542236328,46.41749954223633],"6-46-2":[19.834375381469727,660.3397216796875],"6-46-3":[405.24468994140625,2285.507568359375],"6-46-4":[1894.8455810546875,2457.136962890625],"6-46-5":[1860.541259765625,2475.0185546875],"6-46-6":[29.196250915527344,2542.8330078125],"6-46-7":[26.429582595825195,1831.6719970703125],"6-46-8":[29.817916870117188,2027.71630859375],"6-46-9":[29.489084243774414,2175.09716796875],"6-46-10":[26.25374984741211,1494.4234619140625],"6-46-11":[24.841106414794922,68.27825927734375],"6-46-12":[21.596250534057617,63.25],"6-46-13":[21.596250534057617,55.805625915527344],"6-46-14":[17.39750099182129,52.215213775634766],"6-46-15":[15.175352096557617,53.91990280151367],"6-46-16":[5.414999961853027,41.05875015258789],"6-46-17":[-3.6500000953674316,21.151561737060547],"6-46-18":[-11.7787504196167,10.116562843322754],"6-46-19":[-24.700000762939453,1.955625057220459],"6-46-20":[-35.14406204223633,-2.5274999141693115],"6-46-21":[-46.2400016784668,-7.815000057220459],"6-46-22":[-53.59718704223633,-12.922499656677246],"6-46-23":[-62.779998779296875,-17.62874984741211],"6-46-24":[-68.85406494140625,-22.407499313354492],"6-46-25":[-75.74500274658203,-26.936250686645508],"6-46-26":[-82.24250030517578,-30.537500381469727],"6-46-27":[-86.5999984741211,-34.575626373291016],"6-46-28":[-87.20902252197266,-38.79109191894531],"6-46-29":[-85.58390808105469,-35.95500183105469],"6-46-30":[-76.0718765258789,-28.51041603088379],"6-46-31":[-60.97624969482422,35.71901321411133],"6-46-32":[-80.06915283203125,69.735107421875],"6-46-33":[-95.4843978881836,521.385498046875],"6-46-34":[51.02231979370117,882.7360229492188],"6-46-35":[105.36943054199219,737.9002075195312],"6-46-36":[127.52586364746094,1154.064453125],"6-46-37":[227.19105529785156,1475.4334716796875],"6-46-38":[312.6428527832031,1034.41455078125],"6-46-39":[301.73724365234375,1075.1507568359375],"6-46-40":[-51.67102813720703,1855.3851318359375],"6-46-41":[-37.25775909423828,1825.16015625],"6-46-42":[-24.632381439208984,1827.74072265625],"6-46-43":[-6.224238395690918,13.97671890258789],"6-46-44":[-9.689765930175781,10.920000076293945],"6-46-45":[-8.46810531616211,-0.7074999809265137],"6-46-46":[-8.575156211853027,-1.875166654586792],"6-46-47":[-7.315000057220459,-2.1463332176208496],"6-46-48":[-8.375469207763672,-2.221250057220459],"6-46-49":[-4.737011909484863,9.494999885559082],"6-46-50":[1.024999976158142,14.81624984741211],"6-46-51":[8.2421875,36.8493766784668],"6-46-52":[18.322500228881836,40.448673248291016],"6-46-53":[18.154375076293945,42.53187561035156],"6-46-54":[13.508906364440918,40.61906433105469],"6-46-55":[8.007499694824219,27.682050704956055],"6-46-56":[-0.8162500262260437,15.9868745803833],"6-46-57":[-4.010000228881836,0.14000000059604645],"6-46-58":[-20.530624389648438,-1.5187499523162842],"6-46-59":[-34.2400016784668,437.7049865722656],"6-46-60":[-50.265625,631.9554443359375],"6-46-61":[-48.15250015258789,1965.2493896484375],"6-46-62":[1373.28125,2268.08740234375],"6-46-63":[-29.530000686645508,2745.472412109375],"6-47-0":[13.609999656677246,37.98701095581055],"6-47-1":[19.552499771118164,47.52000045776367],"5-23-0":[13.609999656677246,47.52000045776367],"6-47-2":[20.298906326293945,700.9014282226562],"6-47-3":[443.2174987792969,2373.93994140625],"5-23-1":[19.834375381469727,2373.93994140625],"4-11-0":[13.609999656677246,2373.93994140625],"6-47-4":[2285.507568359375,2625.239990234375],"6-47-5":[2286.783447265625,2882.0458984375],"5-23-2":[1860.541259765625,2882.0458984375],"6-47-6":[1707.248779296875,2840.79931640625],"6-47-7":[1101.2791748046875,2476.31005859375],"5-23-3":[26.429582595825195,2840.79931640625],"4-11-1":[22.920936584472656,2882.0458984375],"3-5-0":[0.08749999850988388,2882.0458984375],"6-47-8":[1301.3275146484375,2769.790283203125],"6-47-9":[1356.5789794921875,2769.948974609375],"5-23-4":[29.489084243774414,2769.948974609375],"6-47-10":[33.06999969482422,2452.68505859375],"6-47-11":[31.625,81.25765991210938],"5-23-5":[24.841106414794922,2452.68505859375],"4-11-2":[7.840000152587891,2769.948974609375],"6-47-12":[29.549999237060547,78.25468444824219],"6-47-13":[24.700000762939453,72.81124877929688],"5-23-6":[21.596250534057617,78.25468444824219],"6-47-14":[23.650083541870117,69.46499633789062],"6-47-15":[21.38249969482422,70.09874725341797],"5-23-7":[15.175352096557617,70.09874725341797],"4-11-3":[-20.294322967529297,577.0435791015625],"3-5-1":[-62.22666549682617,2769.948974609375],"2-2-0":[-97.8539810180664,2882.0458984375],"6-47-16":[13.609999656677246,55.70000076293945],"6-47-17":[5.96999979019165,40.63999938964844],"5-23-8":[-3.6500000953674316,55.70000076293945],"6-47-18":[1.955625057220459,29.530000686645508],"6-47-19":[-2.6312499046325684,22.05500030517578],"5-23-9":[-24.700000762939453,29.530000686645508],"4-11-4":[-56.939998626708984,55.70000076293945],"6-47-20":[-11.824101448059082,15.180000305175781],"6-47-21":[-23.14093780517578,4.775000095367432],"5-23-10":[-46.2400016784668,15.180000305175781],"6-47-22":[-31.3101749420166,-2.172333240509033],"6-47-23":[-42.5099983215332,-7.527500152587891],"5-23-11":[-62.779998779296875,-2.172333240509033],"4-11-5":[-89.26499938964844,15.180000305175781],"3-5-2":[-105.56316375732422,269.0627746582031],"6-47-24":[-50.67048645019531,-13.691166877746582],"6-47-25":[-59.07781219482422,-19.142499923706055],"5-23-12":[-75.74500274658203,-13.691166877746582],"6-47-26":[-65.45425415039062,-24.582000732421875],"6-47-27":[-76.89250183105469,-25.665000915527344],"5-23-13":[-86.5999984741211,-24.582000732421875],"4-11-6":[-98.95494079589844,-13.691166877746582],"6-47-28":[-76.89250183105469,-30.33766746520996],"6-47-29":[-77.76300811767578,-32.040164947509766],"5-23-14":[-87.20902252197266,-30.33766746520996],"6-47-30":[-72.56218719482422,-28.65013313293457],"6-47-31":[-64.39320373535156,-23.150001525878906],"5-23-15":[-76.0718765258789,35.71901321411133],"4-11-7":[-95.17320251464844,1030.81005859375],"3-5-3":[-149.20790100097656,2826.610595703125],"2-2-1":[-328.0532531738281,5809.47802734375],"6-47-32":[-64.97384643554688,198.91323852539062],"6-47-33":[-52.116451263427734,442.3109130859375],"5-23-16":[-95.4843978881836,521.385498046875],"6-47-34":[64.012939453125,663.0606689453125],"6-47-35":[165.3874969482422,868.8060913085938],"5-23-17":[51.02231979370117,882.7360229492188],"4-11-8":[-95.4843978881836,882.7360229492188],"6-47-36":[242.55133056640625,1657.869873046875],"6-47-37":[397.40618896484375,1576.1229248046875],"5-23-18":[127.52586364746094,1657.869873046875],"6-47-38":[443.9574279785156,1269.925537109375],"6-47-39":[482.05755615234375,2353.3193359375],"5-23-19":[301.73724365234375,2353.3193359375],"4-11-9":[86.09651184082031,2353.3193359375],"3-5-4":[-95.4843978881836,6050.0498046875],"6-47-40":[-47.102088928222656,2413.317138671875],"6-47-41":[-19.82015609741211,2.384999990463257],"5-23-20":[-51.67102813720703,2413.317138671875],"6-47-42":[-16.510156631469727,2.7682225704193115],"6-47-43":[-14.9975004196167,-2.9049999713897705],"5-23-21":[-24.632381439208984,1827.74072265625],"4-11-10":[-51.67102813720703,2413.317138671875],"6-47-44":[-12.698749542236328,-3.315000057220459],"6-47-45":[-12.420000076293945,-4.001874923706055],"5-23-22":[-12.698749542236328,10.920000076293945],"6-47-46":[-12.92562484741211,-3.008125066757202],"6-47-47":[-9.678750038146973,-2.7652344703674316],"5-23-23":[-12.92562484741211,-1.875166654586792],"4-11-11":[-15.025041580200195,526.3984375],"3-5-5":[-102.42082977294922,6388.8671875],"2-2-2":[-123.52845001220703,6969.12255859375],"6-47-48":[-7.967792987823486,-2.424999952316284],"6-47-49":[-5.084824085235596,12.350000381469727],"5-23-24":[-8.375469207763672,12.350000381469727],"6-47-50":[0.9412500262260437,19.193143844604492],"6-47-51":[9.930000305175781,36.66875076293945],"5-23-25":[0.9412500262260437,36.8493766784668],"4-11-12":[-8.375469207763672,37.13249969482422],"6-47-52":[18.322500228881836,42.387107849121094],"6-47-53":[18.154375076293945,853.57421875],"5-23-26":[18.154375076293945,853.57421875],"6-47-54":[14.520000457763672,46.029998779296875],"6-47-55":[8.007499694824219,29.235370635986328],"5-23-27":[8.007499694824219,46.029998779296875],"4-11-13":[7.53000020980835,1523.8778076171875],"3-5-6":[-32.008113861083984,2255.28466796875],"6-47-56":[0.14000000059604645,16.440000534057617],"6-47-57":[-4.25,0.8174999952316284],"5-23-28":[-4.25,16.440000534057617],"6-47-58":[-18.562049865722656,-1.5187499523162842],"6-47-59":[-29.559999465942383,457.62750244140625],"5-23-29":[-34.2400016784668,457.62750244140625],"4-11-14":[-35.84000015258789,457.62750244140625],"6-47-60":[-47.366798400878906,731.0154418945312],"6-47-61":[-47.529998779296875,1373.28125],"5-23-30":[-50.265625,1965.2493896484375],"6-47-62":[1353.90625,2263.155029296875],"6-47-63":[-29.530000686645508,2745.972900390625],"5-23-31":[-29.530000686645508,2745.972900390625],"4-11-15":[-51.01169967651367,2745.972900390625],"3-5-7":[-53.085662841796875,2890.4892578125],"2-2-3":[-269.4302978515625,4721.9384765625],"6-48-0":[13.609999656677246,37.60124969482422],"6-48-1":[19.520000457763672,48.05531311035156],"6-48-2":[23.0483341217041,949.390625],"6-48-3":[418.1529541015625,2469.75],"6-48-4":[2373.93994140625,2812.588134765625],"6-48-5":[2625.239990234375,3024.05126953125],"6-48-6":[2476.31005859375,3047.675537109375],"6-48-7":[2357.419921875,2826.06640625],"6-48-8":[1710.8876953125,2785.16162109375],"6-48-9":[45.47194290161133,2833.8955078125],"6-48-10":[-226.58326721191406,2803.25439453125],"6-48-11":[39.099998474121094,92.56375122070312],"6-48-12":[36.79750061035156,90.1460189819336],"6-48-13":[33.0543327331543,85.2163314819336],"6-48-14":[32.0525016784668,78.8550033569336],"6-48-15":[27.85650062561035,72.38939666748047],"6-48-16":[21.235000610351562,65.88500213623047],"6-48-17":[15.605194091796875,54.54429626464844],"6-48-18":[11.427499771118164,45.37093734741211],"6-48-19":[8.366494178771973,39.30958938598633],"6-48-20":[2.882499933242798,32.192501068115234],"6-48-21":[-3.799999952316284,23.350351333618164],"6-48-22":[-13.695625305175781,10.295624732971191],"6-48-23":[-26.68000030517578,-1.4993749856948853],"6-48-24":[-36.65625,-9.037500381469727],"6-48-25":[-48.75,-14.662500381469727],"6-48-26":[-52.30500030517578,-19.607500076293945],"6-48-27":[-60.65999984741211,-21.739999771118164],"6-48-28":[-65.08000183105469,-22.59000015258789],"6-48-29":[-65.13249969482422,-24.571250915527344],"6-48-30":[-64.06999969482422,-23.028749465942383],"6-48-31":[-58.55976486206055,-22.339792251586914],"6-48-32":[-70.49673461914062,80.2405776977539],"6-48-33":[-60.52996826171875,366.274169921875],"6-48-34":[46.82706832885742,588.2048950195312],"6-48-35":[175.94485473632812,1298.56787109375],"6-48-36":[374.9563293457031,1756.48486328125],"6-48-37":[264.8665771484375,1788.7630615234375],"6-48-38":[158.30543518066406,2047.80419921875],"6-48-39":[-0.9378759860992432,2789.2412109375],"6-48-40":[-170.48275756835938,2060.9853515625],"6-48-41":[-22.345449447631836,-6.955001354217529],"6-48-42":[-21.241249084472656,-7.278583526611328],"6-48-43":[-16.429922103881836,-5.74566650390625],"6-48-44":[-15.079375267028809,-5.853166580200195],"6-48-45":[-14.738750457763672,-5.738166809082031],"6-48-46":[-15.4335355758667,-5.210000038146973],"6-48-47":[-14.067011833190918,-3.494333267211914],"6-48-48":[-9.336250305175781,-1.350156307220459],"6-48-49":[-3.6424999237060547,16.960311889648438],"6-48-50":[3.9171833992004395,17.521835327148438],"6-48-51":[9.504765510559082,35.68000030517578],"6-48-52":[17.40250015258789,41.276248931884766],"6-48-53":[19.29487419128418,277.8311767578125],"6-48-54":[14.494453430175781,46.029998779296875],"6-48-55":[8.34749984741211,28.55728530883789],"6-48-56":[0.8174999952316284,16.967500686645508],"6-48-57":[-6.666250228881836,1.361875057220459],"6-48-58":[-16.219999313354492,-2.3588333129882812],"6-48-59":[-31.718124389648438,213.7274932861328],"6-48-60":[-45.796875,701.3731079101562],"6-48-61":[-47.529998779296875,1548.8687744140625],"6-48-62":[1362.5799560546875,2265.704345703125],"6-48-63":[-29.530000686645508,2746.472900390625],"6-49-0":[13.609999656677246,37.45687484741211],"6-49-1":[19.530000686645508,48.720001220703125],"5-24-0":[13.609999656677246,48.720001220703125],"6-49-2":[24.056249618530273,1459.952392578125],"6-49-3":[919.349365234375,2462.16259765625],"5-24-1":[23.0483341217041,2469.75],"6-49-4":[2354.9951171875,2812.588134765625],"6-49-5":[2629.111328125,3141.202392578125],"5-24-2":[2354.9951171875,3141.202392578125],"6-49-6":[2784.5244140625,3182.087890625],"6-49-7":[2634.5693359375,3042.617431640625],"5-24-3":[2357.419921875,3182.087890625],"6-49-8":[44.40553283691406,2652.864990234375],"6-49-9":[44.54399871826172,2012.546630859375],"5-24-4":[44.40553283691406,2833.8955078125],"6-49-10":[46.28187561035156,334.7674560546875],"6-49-11":[44.974998474121094,101.27999877929688],"5-24-5":[-226.58326721191406,2803.25439453125],"6-49-12":[43.91374969482422,101.99124908447266],"6-49-13":[40.13750076293945,98.23719024658203],"5-24-6":[33.0543327331543,101.99124908447266],"6-49-14":[36.7599983215332,93.08999633789062],"6-49-15":[33.717498779296875,86.05687713623047],"5-24-7":[27.85650062561035,93.08999633789062],"6-49-16":[28.950000762939453,81.47000122070312],"6-49-17":[23.81999969482422,73.87781524658203],"5-24-8":[15.605194091796875,81.47000122070312],"6-49-18":[21.400625228881836,66.19000244140625],"6-49-19":[17.360000610351562,60.529998779296875],"5-24-9":[8.366494178771973,66.19000244140625],"6-49-20":[13.708749771118164,55.5],"6-49-21":[5.849999904632568,39.032814025878906],"5-24-10":[-3.799999952316284,55.5],"6-49-22":[-1.4993749856948853,22.34000015258789],"6-49-23":[-16.88249969482422,4.582499980926514],"5-24-11":[-26.68000030517578,22.34000015258789],"6-49-24":[-26.7799015045166,-4.397416591644287],"6-49-25":[-37.7009391784668,-9.55875015258789],"5-24-12":[-48.75,-4.397416591644287],"6-49-26":[-42.32777404785156,-13.76924991607666],"6-49-27":[-43.84585952758789,-16.485000610351562],"5-24-13":[-60.65999984741211,-13.76924991607666],"6-49-28":[-45.309471130371094,-15.237750053405762],"6-49-29":[-49.209922790527344,-15.422499656677246],"5-24-14":[-65.13249969482422,-15.237750053405762],"6-49-30":[-47.141563415527344,-16.295000076293945],"6-49-31":[-46.80500030517578,-15.865249633789062],"5-24-15":[-64.06999969482422,-15.865249633789062],"6-49-32":[-46.80500030517578,79.71224212646484],"6-49-33":[-74.22998809814453,1125.0458984375],"5-24-16":[-74.22998809814453,1125.0458984375],"6-49-34":[53.15143585205078,966.204833984375],"6-49-35":[149.221923828125,1272.46875],"5-24-17":[46.82706832885742,1298.56787109375],"6-49-36":[99.05867004394531,2017.3021240234375],"6-49-37":[0.3823036849498749,1423.157470703125],"5-24-18":[0.3823036849498749,2017.3021240234375],"6-49-38":[-51.392513275146484,1567.3233642578125],"6-49-39":[-41.55802536010742,2863.342529296875],"5-24-19":[-51.392513275146484,2863.342529296875],"6-49-40":[-24.01053237915039,694.7389526367188],"6-49-41":[-23.567031860351562,-9.829288482666016],"5-24-20":[-170.48275756835938,2060.9853515625],"6-49-42":[-21.486562728881836,-7.664999961853027],"6-49-43":[-17.459569931030273,-7.181562423706055],"5-24-21":[-21.486562728881836,-5.74566650390625],"6-49-44":[-15.235976219177246,-6.728750228881836],"6-49-45":[-14.62125015258789,-6.411916732788086],"5-24-22":[-15.235976219177246,-5.738166809082031],"6-49-46":[-15.667402267456055,-6.335750102996826],"6-49-47":[-14.705840110778809,-4.797083377838135],"5-24-23":[-15.667402267456055,-3.494333267211914],"6-49-48":[-10.038749694824219,-0.7137500047683716],"6-49-49":[-1.570859432220459,14.991874694824219],"5-24-24":[-10.038749694824219,16.960311889648438],"6-49-50":[3.408733367919922,15.133515357971191],"6-49-51":[6.245742321014404,37.33000183105469],"5-24-25":[3.408733367919922,37.33000183105469],"6-49-52":[17.40250015258789,40.02812576293945],"6-49-53":[19.24640655517578,44.898494720458984],"5-24-26":[17.40250015258789,277.8311767578125],"6-49-54":[14.637499809265137,42.22999954223633],"6-49-55":[8.34749984741211,28.452577590942383],"5-24-27":[8.34749984741211,46.029998779296875],"6-49-56":[1.361875057220459,16.68000030517578],"6-49-57":[-9.0600004196167,1.8796875476837158],"5-24-28":[-9.0600004196167,16.967500686645508],"6-49-58":[-13.790546417236328,-3.5141665935516357],"6-49-59":[-31.946250915527344,-7.78125],"5-24-29":[-31.946250915527344,213.7274932861328],"6-49-60":[-42.49177551269531,467.09124755859375],"6-49-61":[-22.0987491607666,1679.3499755859375],"5-24-30":[-47.529998779296875,1679.3499755859375],"6-49-62":[1548.8687744140625,2265.704345703125],"6-49-63":[-29.530000686645508,2746.473388671875],"5-24-31":[-29.530000686645508,2746.473388671875],"6-50-0":[13.609999656677246,37.627498626708984],"6-50-1":[19.612499237060547,49.95500183105469],"6-50-2":[24.84670639038086,1457.66943359375],"6-50-3":[1097.6181640625,2354.9951171875],"6-50-4":[2249.234130859375,2629.111328125],"6-50-5":[2558.10009765625,3200.73681640625],"6-50-6":[3042.617431640625,3253.380615234375],"6-50-7":[2639.6650390625,3209.326904296875],"6-50-8":[45.07891845703125,3108.36962890625],"6-50-9":[45.7400016784668,106.80988311767578],"6-50-10":[49.277000427246094,105.77458953857422],"6-50-11":[49.505001068115234,111.90374755859375],"6-50-12":[49.85874938964844,112.689453125],"6-50-13":[46.54750061035156,108.31423950195312],"6-50-14":[43.24625015258789,103.26968383789062],"6-50-15":[40.73649978637695,96.79564666748047],"6-50-16":[37.48875045776367,92.99624633789062],"6-50-17":[33.10566711425781,87.82499694824219],"6-50-18":[30.853750228881836,80.39624786376953],"6-50-19":[27.75316619873047,76.43062591552734],"6-50-20":[20.5987491607666,68.84750366210938],"6-50-21":[12.039830207824707,47.84263610839844],"6-50-22":[3.317500114440918,31.004375457763672],"6-50-23":[-8.199999809265137,12.44580078125],"6-50-24":[-17.96500015258789,2.1875],"6-50-25":[-27.34000015258789,-2.986875057220459],"6-50-26":[-32.4609375,-5.755000114440918],"6-50-27":[-35.264373779296875,-10.364999771118164],"6-50-28":[-34.68437576293945,-9.18375015258789],"6-50-29":[-34.532501220703125,-8.1118745803833],"6-50-30":[-34.025001525878906,-8.327500343322754],"6-50-31":[-34.83000183105469,-8.327500343322754],"6-50-32":[-34.83000183105469,-10.925475120544434],"6-50-33":[-44.75894546508789,1106.513916015625],"6-50-34":[4.533596038818359,1190.317626953125],"6-50-35":[-49.143531799316406,1083.791748046875],"6-50-36":[-42.93952560424805,626.8162231445312],"6-50-37":[-28.077165603637695,986.1725463867188],"6-50-38":[-23.7293701171875,124.33824157714844],"6-50-39":[-23.05548858642578,-5.860131740570068],"6-50-40":[-23.211563110351562,-8.264452934265137],"6-50-41":[-22.234394073486328,-6.03249979019165],"6-50-42":[-20.014999389648438,-1.9548437595367432],"6-50-43":[-15.0521879196167,-2.365000009536743],"6-50-44":[-14.727187156677246,-4.643437385559082],"6-50-45":[-13.406874656677246,-4.066249847412109],"6-50-46":[-13.530625343322754,-3.83203125],"6-50-47":[-13.345937728881836,-3.1024999618530273],"6-50-48":[-9.199999809265137,0.5400000214576721],"6-50-49":[-0.7137500047683716,12.975839614868164],"6-50-50":[2.9000000953674316,23.344980239868164],"6-50-51":[-44.484928131103516,2738.6904296875],"6-50-52":[19.4950008392334,41.63624954223633],"6-50-53":[20.407499313354492,43.99886703491211],"6-50-54":[14.133749961853027,41.05531311035156],"6-50-55":[7.932499885559082,28.290624618530273],"6-50-56":[1.7324999570846558,16.489999771118164],"6-50-57":[-9.568750381469727,2.533261775970459],"6-50-58":[-12.439687728881836,-2.319999933242798],"6-50-59":[-30.920000076293945,-7.274374961853027],"6-50-60":[-38.73500061035156,776.1950073242188],"6-50-61":[467.09124755859375,1715.1474609375],"6-50-62":[1679.3499755859375,2262.453857421875],"6-50-63":[-29.530000686645508,2746.473388671875],"6-51-0":[13.609999656677246,37.869998931884766],"6-51-1":[19.717500686645508,51.90999984741211],"5-25-0":[13.609999656677246,51.90999984741211],"6-51-2":[25.09000015258789,1225.540283203125],"6-51-3":[563.183837890625,2251.732421875],"5-25-1":[24.84670639038086,2354.9951171875],"4-12-0":[13.609999656677246,2469.75],"6-51-4":[2064.185546875,2558.10009765625],"6-51-5":[2479.1513671875,3116.179931640625],"5-25-2":[2064.185546875,3200.73681640625],"6-51-6":[2863.3037109375,3190.714599609375],"6-51-7":[842.8400268554688,3318.433837890625],"5-25-3":[842.8400268554688,3318.433837890625],"4-12-1":[842.8400268554688,3318.433837890625],"6-51-8":[51.797264099121094,2952.103271484375],"6-51-9":[51.81187438964844,111.54000091552734],"5-25-4":[45.07891845703125,3108.36962890625],"6-51-10":[52.282501220703125,118.0043716430664],"6-51-11":[54.03125,122.70062255859375],"5-25-5":[49.277000427246094,122.70062255859375],"4-12-2":[-226.58326721191406,3108.36962890625],"6-51-12":[56.06437683105469,122.30000305175781],"6-51-13":[52.063751220703125,118.7074966430664],"5-25-6":[46.54750061035156,122.30000305175781],"6-51-14":[49.477500915527344,113.29000091552734],"6-51-15":[47.29499816894531,108.6937484741211],"5-25-7":[40.73649978637695,113.29000091552734],"4-12-3":[27.85650062561035,122.30000305175781],"6-51-16":[45.131248474121094,107.58000183105469],"6-51-17":[41.29875183105469,102.25875091552734],"5-25-8":[33.10566711425781,107.58000183105469],"6-51-18":[39.595001220703125,98.77999877929688],"6-51-19":[34.86249923706055,94.2699966430664],"5-25-9":[27.75316619873047,98.77999877929688],"4-12-4":[8.366494178771973,107.58000183105469],"6-51-20":[25.609375,77.16000366210938],"6-51-21":[16.228750228881836,56.243751525878906],"5-25-10":[12.039830207824707,77.16000366210938],"6-51-22":[7.851874828338623,41.91999816894531],"6-51-23":[2.049999952316284,22.965625762939453],"5-25-11":[-8.199999809265137,41.91999816894531],"4-12-5":[-26.68000030517578,77.16000366210938],"6-51-24":[-2.986875057220459,19.100000381469727],"6-51-25":[-9.532187461853027,11.366874694824219],"5-25-12":[-27.34000015258789,19.100000381469727],"6-51-26":[-18.236074447631836,4.210000038146973],"6-51-27":[-22.85238265991211,-3.869999885559082],"5-25-13":[-35.264373779296875,4.210000038146973],"4-12-6":[-60.65999984741211,19.100000381469727],"6-51-28":[-21.854999542236328,-3.4549999237060547],"6-51-29":[-16.152891159057617,0.3199999928474426],"5-25-14":[-34.68437576293945,0.3199999928474426],"6-51-30":[-15.015175819396973,0.3199999928474426],"6-51-31":[-23.514999389648438,-1.0674999952316284],"5-25-15":[-34.83000183105469,0.3199999928474426],"4-12-7":[-65.13249969482422,0.3199999928474426],"6-51-32":[-24.981250762939453,-5.271400451660156],"6-51-33":[-25.199708938598633,315.6641540527344],"5-25-16":[-44.75894546508789,1106.513916015625],"6-51-34":[-43.633827209472656,1194.049072265625],"6-51-35":[-34.804290771484375,1027.1605224609375],"5-25-17":[-49.143531799316406,1194.049072265625],"4-12-8":[-74.22998809814453,1298.56787109375],"6-51-36":[-25.881147384643555,-9.505000114440918],"6-51-37":[-26.025039672851562,-8.122166633605957],"5-25-18":[-42.93952560424805,986.1725463867188],"6-51-38":[-21.082500457763672,-6.582333564758301],"6-51-39":[-20.114355087280273,-3.54701566696167],"5-25-19":[-23.7293701171875,124.33824157714844],"4-12-9":[-51.392513275146484,2863.342529296875],"6-51-40":[-17.90999984741211,-6.144999980926514],"6-51-41":[-15.718222618103027,-2.700500011444092],"5-25-20":[-23.211563110351562,-2.700500011444092],"6-51-42":[-11.248749732971191,4.875625133514404],"6-51-43":[-8.508749961853027,4.813125133514404],"5-25-21":[-20.014999389648438,4.875625133514404],"4-12-10":[-170.48275756835938,2060.9853515625],"6-51-44":[-8.798906326293945,-0.42516666650772095],"6-51-45":[-8.927421569824219,-0.4964999854564667],"5-25-22":[-14.727187156677246,-0.42516666650772095],"6-51-46":[-7.496874809265137,-0.30399999022483826],"6-51-47":[-7.208125114440918,0.5199999809265137],"5-25-23":[-13.530625343322754,0.5199999809265137],"4-12-11":[-15.667402267456055,0.5199999809265137],"6-51-48":[-5.833125114440918,5.096875190734863],"6-51-49":[0.5400000214576721,16.360000610351562],"5-25-24":[-9.199999809265137,16.360000610351562],"6-51-50":[6.576250076293945,28.16374969482422],"6-51-51":[0.07833333313465118,2916.187255859375],"5-25-25":[-44.484928131103516,2916.187255859375],"4-12-12":[-44.484928131103516,2916.187255859375],"6-51-52":[19.4950008392334,44.41015625],"6-51-53":[20.676250457763672,45.560001373291016],"5-25-26":[19.4950008392334,45.560001373291016],"6-51-54":[13.204999923706055,41.841251373291016],"6-51-55":[7.932499885559082,27.236600875854492],"5-25-27":[7.932499885559082,41.841251373291016],"4-12-13":[7.932499885559082,277.8311767578125],"6-51-56":[1.434999942779541,15.813750267028809],"6-51-57":[-8.956562042236328,2.5818750858306885],"5-25-28":[-9.568750381469727,16.489999771118164],"6-51-58":[-10.688672065734863,-0.6916666626930237],"6-51-59":[-26.20541000366211,682.8253173828125],"5-25-29":[-30.920000076293945,682.8253173828125],"4-12-14":[-31.946250915527344,682.8253173828125],"6-51-60":[-38.68226623535156,818.9724731445312],"6-51-61":[776.1950073242188,1785.2950439453125],"5-25-30":[-38.73500061035156,1785.2950439453125],"6-51-62":[1715.1474609375,2257.842529296875],"6-51-63":[-29.530000686645508,2746.473388671875],"5-25-31":[-29.530000686645508,2746.473388671875],"4-12-15":[-47.529998779296875,2746.473388671875],"6-52-0":[13.609999656677246,37.994510650634766],"6-52-1":[19.750625610351562,52.82218933105469],"6-52-2":[26.305519104003906,1141.671630859375],"6-52-3":[39.31562042236328,2076.739990234375],"6-52-4":[1811.2425537109375,2521.50341796875],"6-52-5":[2242.705078125,2887.35498046875],"6-52-6":[2056.01318359375,3023.828857421875],"6-52-7":[55.87800216674805,3002.563232421875],"6-52-8":[54.977108001708984,1206.670166015625],"6-52-9":[54.305843353271484,120.00812530517578],"6-52-10":[55.78018569946289,125.86831665039062],"6-52-11":[59.3125,126.27486419677734],"6-52-12":[59.5861930847168,122.55999755859375],"6-52-13":[56.65317916870117,121.97437286376953],"6-52-14":[54.49250030517578,120.68937683105469],"6-52-15":[53.737972259521484,118.58165740966797],"6-52-16":[51.45000076293945,117.91000366210938],"6-52-17":[49.3900032043457,956.0730590820312],"6-52-18":[47.13500213623047,292.0919494628906],"6-52-19":[38.595516204833984,98.4437484741211],"6-52-20":[29.290000915527344,80.31812286376953],"6-52-21":[22.357751846313477,62.31019592285156],"6-52-22":[12.180000305175781,49.640625],"6-52-23":[9.782544136047363,32.207637786865234],"6-52-24":[6.184999942779541,30.738985061645508],"6-52-25":[2.4671666622161865,27.0216007232666],"6-52-26":[-6.87375020980835,18.415937423706055],"6-52-27":[-11.600000381469727,3.783339738845825],"6-52-28":[-11.600000381469727,1.8081250190734863],"6-52-29":[-6.039999961853027,9.760937690734863],"6-52-30":[-1.628749966621399,10.094551086425781],"6-52-31":[-11.800000190734863,9.710331916809082],"6-52-32":[-15.711406707763672,1.1150000095367432],"6-52-33":[-24.60410499572754,236.4765167236328],"6-52-34":[-22.924062728881836,-6.9994330406188965],"6-52-35":[-23.020402908325195,-9.642499923706055],"6-52-36":[-21.920000076293945,-7.298749923706055],"6-52-37":[-18.483125686645508,-6.711249828338623],"6-52-38":[-16.280000686645508,-5.1886773109436035],"6-52-39":[-15.675000190734863,-4.333984375],"6-52-40":[-15.600000381469727,-5.171249866485596],"6-52-41":[-11.28125,0.29624998569488525],"6-52-42":[-4.710000038146973,5.26171875],"6-52-43":[-1.1399999856948853,6.152968883514404],"6-52-44":[-1.580625057220459,8.802109718322754],"6-52-45":[-1.7400000095367432,7.349999904632568],"6-52-46":[-1.7831250429153442,8.02115249633789],"6-52-47":[-1.0643750429153442,9.109999656677246],"6-52-48":[0.3244999945163727,11.616601943969727],"6-52-49":[3.1449999809265137,20.8231258392334],"6-52-50":[10.637499809265137,31.483924865722656],"6-52-51":[8.470874786376953,44.14500045776367],"6-52-52":[20.989999771118164,48.10559844970703],"6-52-53":[20.059999465942383,47.567501068115234],"6-52-54":[12.405625343322754,39.983436584472656],"6-52-55":[6.847499847412109,24.832538604736328],"6-52-56":[1.3025000095367432,15.0600004196167],"6-52-57":[-6.510000228881836,2.356250047683716],"6-52-58":[-10.523750305175781,-0.06583333015441895],"6-52-59":[-21.860000610351562,1124.546875],"6-52-60":[-37.750938415527344,910.7380981445312],"6-52-61":[818.3943481445312,1887.28125],"6-52-62":[1785.2950439453125,2271.1962890625],"6-52-63":[-29.530000686645508,2746.473388671875],"6-53-0":[13.609999656677246,38.03335952758789],"6-53-1":[19.677499771118164,53.57500076293945],"5-26-0":[13.609999656677246,53.57500076293945],"6-53-2":[26.452499389648438,988.2930908203125],"6-53-3":[357.1724853515625,1866.375],"5-26-1":[26.305519104003906,2076.739990234375],"6-53-4":[1590.5487060546875,2511.90380859375],"6-53-5":[1504.8870849609375,2633.929931640625],"5-26-2":[1504.8870849609375,2887.35498046875],"6-53-6":[50.54645919799805,2633.929931640625],"6-53-7":[54.99721908569336,3982.850830078125],"5-26-3":[50.54645919799805,3982.850830078125],"6-53-8":[57.33625030517578,121.20062255859375],"6-53-9":[57.33625030517578,128.07000732421875],"5-26-4":[54.305843353271484,1206.670166015625],"6-53-10":[60.52375030517578,129.49374389648438],"6-53-11":[60.77292251586914,127.44925689697266],"5-26-5":[55.78018569946289,129.49374389648438],"6-53-12":[59.9978141784668,122.27999877929688],"6-53-13":[59.832969665527344,127.22906494140625],"5-26-6":[56.65317916870117,127.22906494140625],"6-53-14":[60.04375076293945,129.79061889648438],"6-53-15":[59.64781188964844,129.68031311035156],"5-26-7":[53.737972259521484,129.79061889648438],"6-53-16":[58.286251068115234,129.27999877929688],"6-53-17":[56.51250076293945,123.06814575195312],"5-26-8":[49.3900032043457,956.0730590820312],"6-53-18":[49.22187423706055,2346.08935546875],"6-53-19":[40.38249969482422,100.62999725341797],"5-26-9":[38.595516204833984,2346.08935546875],"6-53-20":[31.826875686645508,83.94750213623047],"6-53-21":[25.241249084472656,69.71211242675781],"5-26-10":[22.357751846313477,83.94750213623047],"6-53-22":[17.36312484741211,52.24531173706055],"6-53-23":[15.167031288146973,40.619686126708984],"5-26-11":[9.782544136047363,52.24531173706055],"6-53-24":[15.010624885559082,37.07746124267578],"6-53-25":[10.173749923706055,36.89250183105469],"5-26-12":[2.4671666622161865,37.07746124267578],"6-53-26":[3.3637499809265137,31.770000457763672],"6-53-27":[0.3824999928474426,19.02312469482422],"5-26-13":[-11.600000381469727,31.770000457763672],"6-53-28":[0.23828125,13.15999984741211],"6-53-29":[1.8081250190734863,18.252500534057617],"5-26-14":[-11.600000381469727,18.252500534057617],"6-53-30":[5.200937271118164,18.059999465942383],"6-53-31":[0.5878099799156189,16.6456241607666],"5-26-15":[-11.800000190734863,18.059999465942383],"6-53-32":[-9.171250343322754,11.600000381469727],"6-53-33":[-13.9975004196167,-1.777500033378601],"5-26-16":[-24.60410499572754,236.4765167236328],"6-53-34":[-21.17578125,-5.378749847412109],"6-53-35":[-21.112499237060547,-7.872499942779541],"5-26-17":[-23.020402908325195,-5.378749847412109],"6-53-36":[-19.022499084472656,-7.108984470367432],"6-53-37":[-14.630762100219727,-6.556250095367432],"5-26-18":[-21.920000076293945,-6.556250095367432],"6-53-38":[-14.319999694824219,-5.316093921661377],"6-53-39":[-22.834869384765625,584.1786499023438],"5-26-19":[-22.834869384765625,584.1786499023438],"6-53-40":[-12.760000228881836,-3.5950000286102295],"6-53-41":[-8.920488357543945,2.4549999237060547],"5-26-20":[-15.600000381469727,2.4549999237060547],"6-53-42":[0.26249998807907104,10.347909927368164],"6-53-43":[2.822291612625122,13.550000190734863],"5-26-21":[-4.710000038146973,13.550000190734863],"6-53-44":[2.9937500953674316,18.096250534057617],"6-53-45":[3.744374990463257,19.270000457763672],"5-26-22":[-1.7400000095367432,19.270000457763672],"6-53-46":[4.182734489440918,19.270000457763672],"6-53-47":[4.922031402587891,20.110000610351562],"5-26-23":[-1.7831250429153442,20.110000610351562],"6-53-48":[4.932499885559082,21.471874237060547],"6-53-49":[6.897500038146973,25.28499984741211],"5-26-24":[0.3244999945163727,25.28499984741211],"6-53-50":[10.637499809265137,32.3173828125],"6-53-51":[8.470874786376953,44.337501525878906],"5-26-25":[8.470874786376953,44.337501525878906],"6-53-52":[22.072500228881836,48.364532470703125],"6-53-53":[20.059999465942383,48.13560485839844],"5-26-26":[20.059999465942383,48.364532470703125],"6-53-54":[11.81624984741211,40.03468704223633],"6-53-55":[6.847499847412109,22.9800968170166],"5-26-27":[6.847499847412109,40.03468704223633],"6-53-56":[1.2253124713897705,13.567500114440918],"6-53-57":[-4.913144588470459,1.9778125286102295],"5-26-28":[-6.510000228881836,15.0600004196167],"6-53-58":[-10.240351676940918,-0.09395833313465118],"6-53-59":[-16.524765014648438,1294.1385498046875],"5-26-29":[-21.860000610351562,1294.1385498046875],"6-53-60":[-35.53437423706055,1634.1728515625],"6-53-61":[910.7380981445312,1960.7724609375],"5-26-30":[-37.750938415527344,1960.7724609375],"6-53-62":[1887.28125,2301.30126953125],"6-53-63":[-29.530000686645508,2746.473388671875],"5-26-31":[-29.530000686645508,2746.473388671875],"6-54-0":[13.609999656677246,38.022499084472656],"6-54-1":[19.60187530517578,54.547813415527344],"6-54-2":[26.58595848083496,989.9244384765625],"6-54-3":[31.940000534057617,1631.625],"6-54-4":[1236.1282958984375,2416.1953125],"6-54-5":[47.32131576538086,2217.33251953125],"6-54-6":[48.058624267578125,2458.389404296875],"6-54-7":[54.40381622314453,2560.608154296875],"6-54-8":[59.360328674316406,127.94750213623047],"6-54-9":[61.22249984741211,130.3949432373047],"6-54-10":[62.35499954223633,130.1787567138672],"6-54-11":[60.84975051879883,126.54624938964844],"6-54-12":[60.650596618652344,122.77372741699219],"6-54-13":[60.638980865478516,127.14303588867188],"6-54-14":[62.98374938964844,131.0536346435547],"6-54-15":[64.62999725341797,132.16867065429688],"6-54-16":[60.84375,129.7550048828125],"6-54-17":[57.3337516784668,122.82312774658203],"6-54-18":[41.128875732421875,1086.31689453125],"6-54-19":[38.342498779296875,100.88025665283203],"6-54-20":[31.04312515258789,82.9800033569336],"6-54-21":[26.81395721435547,66.48343658447266],"6-54-22":[21.1200008392334,53.94062423706055],"6-54-23":[17.103490829467773,42.852596282958984],"6-54-24":[18.446250915527344,45.38874816894531],"6-54-25":[15.885000228881836,1434.617919921875],"6-54-26":[10.323749542236328,41.688751220703125],"6-54-27":[7.130252838134766,30.02294921875],"6-54-28":[6.5370001792907715,22.90999984741211],"6-54-29":[6.711249828338623,23.816015243530273],"6-54-30":[8.300000190734863,22.608301162719727],"6-54-31":[6.313560962677002,20.594276428222656],"6-54-32":[-2.3203125,18.26937484741211],"6-54-33":[-10.40999984741211,1.4893749952316284],"6-54-34":[-15.528437614440918,-1.9887499809265137],"6-54-35":[-16.594375610351562,-5.32937479019165],"6-54-36":[-16.280624389648438,-6.180624961853027],"6-54-37":[-15.5107421875,-6.101640701293945],"6-54-38":[-15.316875457763672,-6.300000190734863],"6-54-39":[-13.64120101928711,-5.144999980926514],"6-54-40":[-12.505937576293945,-0.7425000071525574],"6-54-41":[-6.029375076293945,5.658437728881836],"6-54-42":[1.3933333158493042,12.491464614868164],"6-54-43":[4.87375020980835,19.1981258392334],"6-54-44":[7.124755382537842,24.92544937133789],"6-54-45":[8.926250457763672,26.978437423706055],"6-54-46":[9.5287504196167,27.229354858398438],"6-54-47":[9.5287504196167,27.994375228881836],"6-54-48":[10.953749656677246,28.850078582763672],"6-54-49":[10.953749656677246,32.38249969482422],"6-54-50":[15.146249771118164,35.55617141723633],"6-54-51":[2.708674907684326,43.38999938964844],"6-54-52":[3.9549999237060547,1349.0821533203125],"6-54-53":[10.789140701293945,1035.33447265625],"6-54-54":[10.995624542236328,38.38999938964844],"6-54-55":[6.047500133514404,21.849687576293945],"6-54-56":[1.3212499618530273,12.6899995803833],"6-54-57":[-4.180624961853027,2.9781250953674316],"6-54-58":[-8.5493745803833,102.37124633789062],"6-54-59":[-11.482725143432617,1507.4434814453125],"6-54-60":[282.953125,1787.3897705078125],"6-54-61":[1151.70751953125,2012.9837646484375],"6-54-62":[1960.7724609375,2336.2294921875],"6-54-63":[-29.530000686645508,2746.472900390625],"6-55-0":[13.609999656677246,37.947364807128906],"6-55-1":[19.577499389648438,55.68000030517578],"5-27-0":[13.609999656677246,55.68000030517578],"6-55-2":[26.303590774536133,766.8861083984375],"6-55-3":[31.305999755859375,1410.941650390625],"5-27-1":[26.303590774536133,1631.625],"4-13-0":[13.609999656677246,2076.739990234375],"6-55-4":[33.455318450927734,2030.6729736328125],"6-55-5":[42.85283279418945,2071.9638671875],"5-27-2":[33.455318450927734,2416.1953125],"6-55-6":[49.24166488647461,2327.635986328125],"6-55-7":[55.03437423706055,1988.6097412109375],"5-27-3":[48.058624267578125,2560.608154296875],"4-13-1":[33.455318450927734,3982.850830078125],"3-6-0":[13.609999656677246,3982.850830078125],"6-55-8":[59.61275100708008,1471.3140869140625],"6-55-9":[64.12318420410156,194.1305694580078],"5-27-4":[59.360328674316406,1471.3140869140625],"6-55-10":[60.837501525878906,129.9043731689453],"6-55-11":[60.837501525878906,126.0999984741211],"5-27-5":[60.837501525878906,130.1787567138672],"4-13-2":[54.305843353271484,1471.3140869140625],"6-55-12":[59.8818244934082,126.0999984741211],"6-55-13":[60.00773620605469,126.12249755859375],"5-27-6":[59.8818244934082,127.14303588867188],"6-55-14":[62.57500076293945,129.0041961669922],"6-55-15":[62.57500076293945,131.87777709960938],"5-27-7":[62.57500076293945,132.16867065429688],"4-13-3":[53.737972259521484,132.16867065429688],"3-6-1":[-226.58326721191406,3108.36962890625],"6-55-16":[59.45249938964844,129.90875244140625],"6-55-17":[53.564998626708984,120.25212860107422],"5-27-8":[53.564998626708984,129.90875244140625],"6-55-18":[41.906150817871094,1131.6129150390625],"6-55-19":[36.601905822753906,100.94249725341797],"5-27-9":[36.601905822753906,1131.6129150390625],"4-13-4":[36.601905822753906,2346.08935546875],"6-55-20":[30.3253116607666,76.16874694824219],"6-55-21":[26.983749389648438,63.932498931884766],"5-27-10":[26.81395721435547,82.9800033569336],"6-55-22":[22.3018741607666,55.84000015258789],"6-55-23":[20.157499313354492,50.583126068115234],"5-27-11":[17.103490829467773,55.84000015258789],"4-13-5":[9.782544136047363,83.94750213623047],"3-6-2":[-26.68000030517578,2346.08935546875],"6-55-24":[19.985313415527344,51.744998931884766],"6-55-25":[2.585261583328247,2003.7935791015625],"5-27-12":[2.585261583328247,2003.7935791015625],"6-55-26":[-31.77845573425293,2815.544677734375],"6-55-27":[12.130000114440918,37.3849983215332],"5-27-13":[-31.77845573425293,2815.544677734375],"4-13-6":[-31.77845573425293,2815.544677734375],"6-55-28":[11.03499984741211,31.135000228881836],"6-55-29":[11.252187728881836,32.88750076293945],"5-27-14":[6.5370001792907715,32.88750076293945],"6-55-30":[10.591375350952148,30.920000076293945],"6-55-31":[9.617968559265137,23.861249923706055],"5-27-15":[6.313560962677002,30.920000076293945],"4-13-7":[-11.800000190734863,32.88750076293945],"3-6-3":[-65.13249969482422,2815.544677734375],"6-55-32":[1.4893749952316284,20.701875686645508],"6-55-33":[-3.015312433242798,8.1875],"5-27-16":[-10.40999984741211,20.701875686645508],"6-55-34":[-9.535625457763672,4],"6-55-35":[-12.067500114440918,-1.2300000190734863],"5-27-17":[-16.594375610351562,4],"4-13-8":[-24.60410499572754,236.4765167236328],"6-55-36":[-12.659570693969727,-2.7774999141693115],"6-55-37":[-14.12125015258789,-3.245166778564453],"5-27-18":[-16.280624389648438,-2.7774999141693115],"6-55-38":[-14.416250228881836,-3.25516676902771],"6-55-39":[-12.987968444824219,-2.5134999752044678],"5-27-19":[-15.316875457763672,-2.5134999752044678],"4-13-9":[-22.834869384765625,584.1786499023438],"3-6-4":[-74.22998809814453,2863.342529296875],"6-55-40":[-10.212656021118164,3.3399999141693115],"6-55-41":[-0.7425000071525574,11.75],"5-27-20":[-12.505937576293945,11.75],"6-55-42":[3.1700000762939453,18.061874389648438],"6-55-43":[7.051249980926514,25.520000457763672],"5-27-21":[1.3933333158493042,25.520000457763672],"4-13-10":[-15.600000381469727,25.520000457763672],"6-55-44":[9.907500267028809,32.403751373291016],"6-55-45":[13.072656631469727,35.34000015258789],"5-27-22":[7.124755382537842,35.34000015258789],"6-55-46":[13.587187767028809,36.94562530517578],"6-55-47":[13.634875297546387,36.977500915527344],"5-27-23":[9.5287504196167,36.977500915527344],"4-13-11":[-1.7831250429153442,36.977500915527344],"3-6-5":[-170.48275756835938,2060.9853515625],"6-55-48":[14.162187576293945,36.959999084472656],"6-55-49":[14.192265510559082,37.23500061035156],"5-27-24":[10.953749656677246,37.23500061035156],"6-55-50":[16.344999313354492,39.755001068115234],"6-55-51":[3.6167500019073486,42.26250076293945],"5-27-25":[2.708674907684326,43.38999938964844],"4-13-12":[0.3244999945163727,44.337501525878906],"6-55-52":[3.9549999237060547,37.880001068115234],"6-55-53":[9.633203506469727,38.961875915527344],"5-27-26":[3.9549999237060547,1349.0821533203125],"6-55-54":[10.302499771118164,35.958126068115234],"6-55-55":[6.047500133514404,20.463829040527344],"5-27-27":[6.047500133514404,38.38999938964844],"4-13-13":[3.9549999237060547,1349.0821533203125],"3-6-6":[-44.484928131103516,2916.187255859375],"6-55-56":[1.7400000095367432,12.013750076293945],"6-55-57":[-4.192812442779541,3.216171979904175],"5-27-28":[-4.192812442779541,12.6899995803833],"6-55-58":[-6.270429611206055,557.1953125],"6-55-59":[102.37124633789062,1604.4749755859375],"5-27-29":[-11.482725143432617,1604.4749755859375],"4-13-14":[-21.860000610351562,1604.4749755859375],"6-55-60":[378.53851318359375,1737.3087158203125],"6-55-61":[1187.1968994140625,2103.64990234375],"5-27-30":[282.953125,2103.64990234375],"6-55-62":[2012.9837646484375,2360.074951171875],"6-55-63":[-29.530000686645508,2746.472900390625],"5-27-31":[-29.530000686645508,2746.472900390625],"4-13-15":[-37.750938415527344,2746.473388671875],"3-6-7":[-47.529998779296875,2746.473388671875],"6-56-0":[13.609999656677246,37.868751525878906],"6-56-1":[19.577499389648438,55.72999954223633],"6-56-2":[25.75374984741211,654.030029296875],"6-56-3":[28.030166625976562,1529.1279296875],"6-56-4":[28.030166625976562,995.5300903320312],"6-56-5":[38.3693733215332,1653.8668212890625],"6-56-6":[49.954891204833984,1001.9917602539062],"6-56-7":[55.40999984741211,671.0933837890625],"6-56-8":[61.97628402709961,1784.69140625],"6-56-9":[62.67250061035156,1475.56005859375],"6-56-10":[60.065696716308594,128.24000549316406],"6-56-11":[60.247501373291016,126.28312683105469],"6-56-12":[59.566036224365234,126.28312683105469],"6-56-13":[59.86528778076172,126.20609283447266],"6-56-14":[61.49784851074219,126.54499816894531],"6-56-15":[60.30500030517578,127.17375183105469],"6-56-16":[56.772499084472656,126.5],"6-56-17":[50.99100112915039,117.01312255859375],"6-56-18":[43.524375915527344,106.95773315429688],"6-56-19":[36.602806091308594,92.66447448730469],"6-56-20":[32.36750030517578,81.818359375],"6-56-21":[27.933008193969727,72.02375030517578],"6-56-22":[25.770000457763672,65.53150177001953],"6-56-23":[23.875802993774414,64.23026275634766],"6-56-24":[23.739999771118164,52.10499954223633],"6-56-25":[24.851699829101562,53.973487854003906],"6-56-26":[18.6924991607666,52.627498626708984],"6-56-27":[15.510000228881836,44.212501525878906],"6-56-28":[15.289999961853027,40.19511795043945],"6-56-29":[15.582500457763672,37.66398620605469],"6-56-30":[12.322500228881836,36.227500915527344],"6-56-31":[11.022950172424316,26.969200134277344],"6-56-32":[4.255000114440918,25.100000381469727],"6-56-33":[2.1589999198913574,15.554081916809082],"6-56-34":[-2.101875066757202,11.922499656677246],"6-56-35":[-5.340000152587891,8.469374656677246],"6-56-36":[-7.15625,4.105000019073486],"6-56-37":[-7.327499866485596,0.8431249856948853],"6-56-38":[-8.473750114440918,0.6712304949760437],"6-56-39":[-8.301250457763672,1.8831249475479126],"6-56-40":[-4.639999866485596,8.39486312866211],"6-56-41":[2.1575000286102295,16.032188415527344],"6-56-42":[6.23199987411499,22.138750076293945],"6-56-43":[9.6225004196167,30.629375457763672],"6-56-44":[15.594991683959961,36.644805908203125],"6-56-45":[16.372499465942383,40.494686126708984],"6-56-46":[18.424999237060547,43.36427688598633],"6-56-47":[18.424999237060547,44.12681579589844],"6-56-48":[18.167499542236328,43.97249984741211],"6-56-49":[18.167499542236328,41.78089904785156],"6-56-50":[20.30109405517578,41.647674560546875],"6-56-51":[20.30109405517578,42.32062530517578],"6-56-52":[17.447500228881836,40.959999084472656],"6-56-53":[15.9087495803833,41.95558547973633],"6-56-54":[9.773124694824219,33.91999816894531],"6-56-55":[6.164708137512207,19.62874984741211],"6-56-56":[1.7234375476837158,12.28125],"6-56-57":[-2.057499885559082,3.9728124141693115],"6-56-58":[-5.815000057220459,819.3262329101562],"6-56-59":[421.0459289550781,1695.379150390625],"6-56-60":[516.5906372070312,1629.0013427734375],"6-56-61":[1285.43505859375,2172.8349609375],"6-56-62":[2103.64990234375,2379.91943359375],"6-56-63":[-29.530000686645508,2746.472412109375],"6-57-0":[13.609999656677246,37.798126220703125],"6-57-1":[19.623125076293945,55.08124923706055],"5-28-0":[13.609999656677246,55.72999954223633],"6-57-2":[25.600078582763672,59.228126525878906],"6-57-3":[28.302499771118164,1436.6854248046875],"5-28-1":[25.600078582763672,1529.1279296875],"6-57-4":[28.302499771118164,681.9363403320312],"6-57-5":[38.016876220703125,949.9181518554688],"5-28-2":[28.030166625976562,1653.8668212890625],"6-57-6":[51.09749984741211,115.48218536376953],"6-57-7":[57.707889556884766,126.65062713623047],"5-28-3":[49.954891204833984,1001.9917602539062],"6-57-8":[62.465782165527344,1937.4210205078125],"6-57-9":[60.8494758605957,2123.610595703125],"5-28-4":[60.8494758605957,2123.610595703125],"6-57-10":[59.70845413208008,124.90343475341797],"6-57-11":[58.97447204589844,123.9800033569336],"5-28-5":[58.97447204589844,128.24000549316406],"6-57-12":[58.91382598876953,123.9800033569336],"6-57-13":[57.13212203979492,122.49781036376953],"5-28-6":[57.13212203979492,126.28312683105469],"6-57-14":[58.080509185791016,124.13980102539062],"6-57-15":[58.53190612792969,122.99197387695312],"5-28-7":[58.080509185791016,127.17375183105469],"6-57-16":[54.18375015258789,119.59375],"6-57-17":[49.499027252197266,110.35655975341797],"5-28-8":[49.499027252197266,126.5],"6-57-18":[43.12101745605469,101.62781524658203],"6-57-19":[40.71500015258789,95.4574966430664],"5-28-9":[36.602806091308594,106.95773315429688],"6-57-20":[36.01187515258789,1880.8416748046875],"6-57-21":[32.181251525878906,2439.686767578125],"5-28-10":[27.933008193969727,2439.686767578125],"6-57-22":[30.535869598388672,1522.96337890625],"6-57-23":[25.18000030517578,68.00399780273438],"5-28-11":[23.875802993774414,1522.96337890625],"6-57-24":[-14.484793663024902,116.50971221923828],"6-57-25":[25.65999984741211,60.5888671875],"5-28-12":[-14.484793663024902,116.50971221923828],"6-57-26":[1.5671111345291138,171.476806640625],"6-57-27":[18.280000686645508,57.95149612426758],"5-28-13":[1.5671111345291138,171.476806640625],"6-57-28":[17.327699661254883,53.30796813964844],"6-57-29":[17.617584228515625,43.03093719482422],"5-28-14":[15.289999961853027,53.30796813964844],"6-57-30":[14.235750198364258,37.18000030517578],"6-57-31":[11.874687194824219,33.400001525878906],"5-28-15":[11.022950172424316,37.18000030517578],"6-57-32":[8.76937484741211,34.400001525878906],"6-57-33":[6.710000038146973,26.586875915527344],"5-28-16":[2.1589999198913574,34.400001525878906],"6-57-34":[4.935999870300293,24.729999542236328],"6-57-35":[2.8125,19.532812118530273],"5-28-17":[-5.340000152587891,24.729999542236328],"6-57-36":[0.8431249856948853,14.1899995803833],"6-57-37":[0.34031251072883606,10.335000038146973],"5-28-18":[-7.327499866485596,14.1899995803833],"6-57-38":[-0.05312500149011612,10.44156265258789],"6-57-39":[-0.16093750298023224,10.329999923706055],"5-28-19":[-8.473750114440918,10.44156265258789],"6-57-40":[1.3700000047683716,15.832500457763672],"6-57-41":[5.033124923706055,21.639999389648438],"5-28-20":[-4.639999866485596,21.639999389648438],"6-57-42":[8.3412504196167,26.938749313354492],"6-57-43":[11.9037504196167,34.45000076293945],"5-28-21":[6.23199987411499,34.45000076293945],"6-57-44":[15.595000267028809,40.41359329223633],"6-57-45":[18.813125610351562,45.88999938964844],"5-28-22":[15.594991683959961,45.88999938964844],"6-57-46":[20.61750030517578,49.36406326293945],"6-57-47":[22.0234375,50.18406295776367],"5-28-23":[18.424999237060547,50.18406295776367],"6-57-48":[21.38687515258789,50.154998779296875],"6-57-49":[20.475000381469727,48.124061584472656],"5-28-24":[18.167499542236328,50.154998779296875],"6-57-50":[20.407917022705078,45.478126525878906],"6-57-51":[20.347999572753906,44.15437316894531],"5-28-25":[20.30109405517578,45.478126525878906],"6-57-52":[19.718124389648438,42.179412841796875],"6-57-53":[15.9087495803833,42.474220275878906],"5-28-26":[15.9087495803833,42.474220275878906],"6-57-54":[9.162500381469727,31.178125381469727],"6-57-55":[6.212500095367432,18.184823989868164],"5-28-27":[6.164708137512207,33.91999816894531],"6-57-56":[2.309375047683716,13.359999656677246],"6-57-57":[0.4271875023841858,11.693750381469727],"5-28-28":[-2.057499885559082,13.359999656677246],"6-57-58":[-1.8993359804153442,1093.2574462890625],"6-57-59":[819.3262329101562,1811.7001953125],"5-28-29":[-5.815000057220459,1811.7001953125],"6-57-60":[814.021484375,1663.603759765625],"6-57-61":[1522.3531494140625,2225.39990234375],"5-28-30":[516.5906372070312,2225.39990234375],"6-57-62":[2172.8349609375,2420.796142578125],"6-57-63":[-29.530000686645508,2746.472412109375],"5-28-31":[-29.530000686645508,2746.472412109375],"6-58-0":[13.609999656677246,37.771873474121094],"6-58-1":[19.712499618530273,53.619998931884766],"6-58-2":[25.567249298095703,61.939884185791016],"6-58-3":[29.90625,345.14312744140625],"6-58-4":[30.001333236694336,79.44011688232422],"6-58-5":[38.662498474121094,105.3550033569336],"6-58-6":[50.37874984741211,116.36312866210938],"6-58-7":[58.462501525878906,124.91999816894531],"6-58-8":[60.439998626708984,1885.3704833984375],"6-58-9":[60.015506744384766,2140.579345703125],"6-58-10":[58.4275016784668,121.68499755859375],"6-58-11":[57.73749923706055,123.86000061035156],"6-58-12":[56.63744354248047,123.86000061035156],"6-58-13":[57.04881286621094,123.13978576660156],"6-58-14":[55.87116622924805,119.27906036376953],"6-58-15":[55.11164855957031,118.33031463623047],"6-58-16":[50.41312789916992,118.04187774658203],"6-58-17":[47.21875,106.07624816894531],"6-58-18":[45.73500061035156,104.9345703125],"6-58-19":[42.8849983215332,99.36492156982422],"6-58-20":[28.43880271911621,1402.1947021484375],"6-58-21":[13.236388206481934,3730.84716796875],"6-58-22":[29.840120315551758,1980.82177734375],"6-58-23":[-10.666366577148438,745.8621826171875],"6-58-24":[-18.63727378845215,535.704833984375],"6-58-25":[-14.596675872802734,356.3331604003906],"6-58-26":[-1.612644076347351,135.28648376464844],"6-58-27":[-20.694656372070312,301.5450134277344],"6-58-28":[0.18783532083034515,458.59356689453125],"6-58-29":[18.93454360961914,63.459102630615234],"6-58-30":[15.771249771118164,41.9074821472168],"6-58-31":[13.350488662719727,38.209999084472656],"6-58-32":[13.4712495803833,38.209999084472656],"6-58-33":[12.71940803527832,33.97820281982422],"6-58-34":[-2.223259687423706,864.6653442382812],"6-58-35":[7.456166744232178,27.56624984741211],"6-58-36":[5.050000190734863,20.0575008392334],"6-58-37":[4.983333110809326,16.726171493530273],"6-58-38":[4.462500095367432,16.6119327545166],"6-58-39":[4.414583206176758,17.646249771118164],"6-58-40":[5.554538726806641,22.030370712280273],"6-58-41":[8.28499984741211,26.0674991607666],"6-58-42":[11.111364364624023,30.334999084472656],"6-58-43":[13.850000381469727,35.76374816894531],"6-58-44":[17.65250015258789,40.208984375],"6-58-45":[20.041250228881836,47.09187316894531],"6-58-46":[23.204999923706055,50.171016693115234],"6-58-47":[24.783750534057617,52.717735290527344],"6-58-48":[24.354999542236328,54.255859375],"6-58-49":[24.354999542236328,51.810333251953125],"6-58-50":[22.38249969482422,49.91999816894531],"6-58-51":[21.5049991607666,46.015254974365234],"6-58-52":[18.452167510986328,42.71562576293945],"6-58-53":[13.300000190734863,41.859375],"6-58-54":[9.112343788146973,28.670000076293945],"6-58-55":[6.739999771118164,17.280176162719727],"6-58-56":[3.081249952316284,13.479999542236328],"6-58-57":[2.2592499256134033,357.8634948730469],"6-58-58":[2.4813332557678223,1674.62744140625],"6-58-59":[1093.2574462890625,1949.5684814453125],"6-58-60":[1289.3153076171875,1790.3399658203125],"6-58-61":[1663.603759765625,2289.9326171875],"6-58-62":[2225.39990234375,2460.8505859375],"6-58-63":[-29.530000686645508,2746.471923828125],"6-59-0":[13.609999656677246,37.7800407409668],"6-59-1":[19.80062484741211,52.170623779296875],"5-29-0":[13.609999656677246,53.619998931884766],"6-59-2":[25.750707626342773,63.74250030517578],"6-59-3":[30.496000289916992,64.23999786376953],"5-29-1":[25.567249298095703,345.14312744140625],"4-14-0":[13.609999656677246,1529.1279296875],"6-59-4":[30.517499923706055,84.67749786376953],"6-59-5":[41.87562561035156,100.48124694824219],"5-29-2":[30.001333236694336,105.3550033569336],"6-59-6":[50.165000915527344,115.79167938232422],"6-59-7":[56.8125,119.94937133789062],"5-29-3":[50.165000915527344,124.91999816894531],"4-14-1":[28.030166625976562,1653.8668212890625],"6-59-8":[57.71296691894531,1189.7474365234375],"6-59-9":[59.833919525146484,125.86222839355469],"5-29-4":[57.71296691894531,2140.579345703125],"6-59-10":[55.41749954223633,120.7300033569336],"6-59-11":[54.59834289550781,121.47625732421875],"5-29-5":[54.59834289550781,123.86000061035156],"4-14-2":[54.59834289550781,2140.579345703125],"6-59-12":[54.7311897277832,121.87984466552734],"6-59-13":[57.85499954223633,122.99117279052734],"5-29-6":[54.7311897277832,123.86000061035156],"6-59-14":[52.82749938964844,118.24687194824219],"6-59-15":[49.92552947998047,112.42250061035156],"5-29-7":[49.92552947998047,119.27906036376953],"4-14-3":[49.92552947998047,127.17375183105469],"6-59-16":[47.92090606689453,112.42250061035156],"6-59-17":[45.532989501953125,102.31562805175781],"5-29-8":[45.532989501953125,118.04187774658203],"6-59-18":[43.50812530517578,103.09027099609375],"6-59-19":[40.185909271240234,98.53277587890625],"5-29-9":[40.185909271240234,104.9345703125],"4-14-4":[36.602806091308594,126.5],"6-59-20":[40.187007904052734,88.86125183105469],"6-59-21":[34.442935943603516,731.9693603515625],"5-29-10":[13.236388206481934,3730.84716796875],"6-59-22":[-35.000633239746094,609.2245483398438],"6-59-23":[182.6399383544922,951.2550048828125],"5-29-11":[-35.000633239746094,1980.82177734375],"4-14-5":[-35.000633239746094,3730.84716796875],"6-59-24":[63.418174743652344,838.6109619140625],"6-59-25":[2.5282747745513916,699.4052124023438],"5-29-12":[-18.63727378845215,838.6109619140625],"6-59-26":[4.849714756011963,480.971923828125],"6-59-27":[22.181438446044922,1567.3345947265625],"5-29-13":[-20.694656372070312,1567.3345947265625],"4-14-6":[-20.694656372070312,1567.3345947265625],"6-59-28":[-24.76106834411621,1463.860107421875],"6-59-29":[1.2246639728546143,935.2755737304688],"5-29-14":[-24.76106834411621,1463.860107421875],"6-59-30":[17.768749237060547,49.37648391723633],"6-59-31":[15.916707992553711,40.50550842285156],"5-29-15":[13.350488662719727,49.37648391723633],"4-14-7":[-24.76106834411621,1463.860107421875],"6-59-32":[17.611249923706055,40.60343933105469],"6-59-33":[15.369999885559082,39.251834869384766],"5-29-16":[12.71940803527832,40.60343933105469],"6-59-34":[13.6878023147583,36.869998931884766],"6-59-35":[10.362500190734863,29.323204040527344],"5-29-17":[-2.223259687423706,864.6653442382812],"4-14-8":[-5.340000152587891,864.6653442382812],"6-59-36":[8.780625343322754,22.537500381469727],"6-59-37":[8.2318754196167,21.100000381469727],"5-29-18":[4.983333110809326,22.537500381469727],"6-59-38":[8.088749885559082,23.256874084472656],"6-59-39":[8.164999961853027,24.607500076293945],"5-29-19":[4.414583206176758,24.607500076293945],"4-14-9":[-8.473750114440918,24.607500076293945],"6-59-40":[9.229999542236328,25.799375534057617],"6-59-41":[11.6875,28.53125],"5-29-20":[5.554538726806641,28.53125],"6-59-42":[13.3412504196167,31.391132354736328],"6-59-43":[15.337187767028809,35.1193733215332],"5-29-21":[11.111364364624023,35.76374816894531],"4-14-10":[-4.639999866485596,35.76374816894531],"6-59-44":[17.3700008392334,39.978790283203125],"6-59-45":[15.000103950500488,2060.1064453125],"5-29-22":[15.000103950500488,2060.1064453125],"6-59-46":[22.80500030517578,50.11441421508789],"6-59-47":[24.47249984741211,52.46500015258789],"5-29-23":[22.80500030517578,52.717735290527344],"4-14-11":[15.000103950500488,2060.1064453125],"6-59-48":[25.920000076293945,55.18312454223633],"6-59-49":[25.170000076293945,55.90187454223633],"5-29-24":[24.354999542236328,55.90187454223633],"6-59-50":[23.473125457763672,53.47999954223633],"6-59-51":[21.5049991607666,49.05125045776367],"5-29-25":[21.5049991607666,53.47999954223633],"4-14-12":[18.167499542236328,55.90187454223633],"6-59-52":[18.452167510986328,44.540000915527344],"6-59-53":[13.300000190734863,39.119998931884766],"5-29-26":[13.300000190734863,44.540000915527344],"6-59-54":[8.952500343322754,26.979999542236328],"6-59-55":[6.739999771118164,17.270898818969727],"5-29-27":[6.739999771118164,28.670000076293945],"4-14-13":[6.164708137512207,44.540000915527344],"6-59-56":[4.683984279632568,14.618124961853027],"6-59-57":[4.849999904632568,608.0900268554688],"5-29-28":[2.2592499256134033,608.0900268554688],"6-59-58":[10.522500038146973,2647.26806640625],"6-59-59":[1580.6025390625,2213.90625],"5-29-29":[2.4813332557678223,2647.26806640625],"4-14-14":[-5.815000057220459,2647.26806640625],"6-59-60":[1486.8238525390625,1899.5899658203125],"6-59-61":[1790.3399658203125,2337.3349609375],"5-29-30":[1289.3153076171875,2337.3349609375],"6-59-62":[2289.9326171875,2494.90380859375],"6-59-63":[-29.530000686645508,2746.471435546875],"5-29-31":[-29.530000686645508,2746.471923828125],"4-14-15":[-29.530000686645508,2746.472412109375],"6-60-0":[13.609999656677246,37.774375915527344],"6-60-1":[19.829999923706055,52.106876373291016],"6-60-2":[26.072500228881836,63.797733306884766],"6-60-3":[31.532499313354492,68.90827941894531],"6-60-4":[32.12216567993164,88.60415649414062],"6-60-5":[43.35749816894531,100.58218383789062],"6-60-6":[50.1610221862793,660.7227783203125],"6-60-7":[54.73701095581055,115.85624694824219],"6-60-8":[55.537498474121094,123.34750366210938],"6-60-9":[56.936248779296875,123.84249877929688],"6-60-10":[54.7706298828125,119.66000366210938],"6-60-11":[36.30938720703125,467.0794372558594],"6-60-12":[54.6694450378418,847.1412353515625],"6-60-13":[31.721574783325195,1061.1876220703125],"6-60-14":[50.82883071899414,118.8998794555664],"6-60-15":[46.845001220703125,106.05999755859375],"6-60-16":[46.52921676635742,848.0225830078125],"6-60-17":[45.68915557861328,934.3092651367188],"6-60-18":[43.526790618896484,948.1864013671875],"6-60-19":[36.29579162597656,97.21154022216797],"6-60-20":[36.5029182434082,3428.77392578125],"6-60-21":[36.12596893310547,3435.156982421875],"6-60-22":[183.3260498046875,753.2549438476562],"6-60-23":[203.99546813964844,625.4411010742188],"6-60-24":[208.988525390625,621.8565063476562],"6-60-25":[126.64251708984375,616.3297729492188],"6-60-26":[54.15531921386719,571.2150268554688],"6-60-27":[72.56627655029297,986.0034790039062],"6-60-28":[266.5927429199219,1965.57080078125],"6-60-29":[-0.27410370111465454,1465.1328125],"6-60-30":[10.107251167297363,448.4481201171875],"6-60-31":[17.883888244628906,41.589256286621094],"6-60-32":[19.009374618530273,40.09421920776367],"6-60-33":[17.403749465942383,38.616249084472656],"6-60-34":[14.289375305175781,36.869998931884766],"6-60-35":[11.081116676330566,29.155000686645508],"6-60-36":[9.956744194030762,23.08562469482422],"6-60-37":[10.09749984741211,23.771738052368164],"6-60-38":[10.536022186279297,25.269296646118164],"6-60-39":[11.829999923706055,25.481971740722656],"6-60-40":[12.344644546508789,27.107851028442383],"6-60-41":[13.012499809265137,29.471874237060547],"6-60-42":[14.243000030517578,30.494375228881836],"6-60-43":[15.077031135559082,32.65999984741211],"6-60-44":[15.8100004196167,38.09562683105469],"6-60-45":[18.294374465942383,45.49398422241211],"6-60-46":[6.475727081298828,931.4411010742188],"6-60-47":[23.420000076293945,51.84000015258789],"6-60-48":[24.91437530517578,56.44728469848633],"6-60-49":[26.782499313354492,56.309452056884766],"6-60-50":[24.857500076293945,54.11898422241211],"6-60-51":[23.88249969482422,51.2819938659668],"6-60-52":[18.844375610351562,47.15437316894531],"6-60-53":[13.076250076293945,37.44562530517578],"6-60-54":[8.97249984741211,27.200000762939453],"6-60-55":[7.298375129699707,18.173261642456055],"6-60-56":[6.692911148071289,18.96320343017578],"6-60-57":[8.72249984741211,1445.4749755859375],"6-60-58":[608.0900268554688,2647.26806640625],"6-60-59":[1819.4000244140625,2378.6201171875],"6-60-60":[1773.2025146484375,2084.26123046875],"6-60-61":[1899.5899658203125,2371.324951171875],"6-60-62":[2337.3349609375,2524.959716796875],"6-60-63":[-29.530000686645508,2746.48291015625],"6-61-0":[13.609999656677246,37.75669860839844],"6-61-1":[19.7862491607666,52.4900016784668],"5-30-0":[13.609999656677246,52.4900016784668],"6-61-2":[26.072500228881836,61.80160140991211],"6-61-3":[29.915000915527344,75.44000244140625],"5-30-1":[26.072500228881836,75.44000244140625],"6-61-4":[34.23500061035156,88.44310760498047],"6-61-5":[43.497501373291016,100.67312622070312],"5-30-2":[32.12216567993164,100.67312622070312],"6-61-6":[49.898067474365234,2067.71142578125],"6-61-7":[51.02974319458008,110.484375],"5-30-3":[49.898067474365234,2067.71142578125],"6-61-8":[51.944618225097656,113.6137924194336],"6-61-9":[52.94961166381836,792.84912109375],"5-30-4":[51.944618225097656,792.84912109375],"6-61-10":[54.1843147277832,472.8525085449219],"6-61-11":[40.340309143066406,998.81494140625],"5-30-5":[36.30938720703125,998.81494140625],"6-61-12":[47.756290435791016,911.3287963867188],"6-61-13":[45.76242446899414,978.662109375],"5-30-6":[31.721574783325195,1061.1876220703125],"6-61-14":[51.83250045776367,275.162841796875],"6-61-15":[44.76000213623047,105.84937286376953],"5-30-7":[44.76000213623047,275.162841796875],"6-61-16":[42.9969367980957,2441.791748046875],"6-61-17":[63.03526306152344,2479.285888671875],"5-30-8":[42.9969367980957,2479.285888671875],"6-61-18":[21.60199737548828,1153.6800537109375],"6-61-19":[35.434268951416016,1045.53466796875],"5-30-9":[21.60199737548828,1153.6800537109375],"6-61-20":[43.20000076293945,3969.244873046875],"6-61-21":[321.36688232421875,3240.149658203125],"5-30-10":[36.12596893310547,3969.244873046875],"6-61-22":[327.4252624511719,538.0221557617188],"6-61-23":[228.84820556640625,581.2377319335938],"5-30-11":[183.3260498046875,753.2549438476562],"6-61-24":[207.90066528320312,518.061279296875],"6-61-25":[135.48361206054688,456.48040771484375],"5-30-12":[126.64251708984375,621.8565063476562],"6-61-26":[189.70416259765625,487.9707946777344],"6-61-27":[282.4544982910156,725.3330688476562],"5-30-13":[54.15531921386719,986.0034790039062],"6-61-28":[245.42984008789062,1263.803955078125],"6-61-29":[98.59326934814453,1793.4537353515625],"5-30-14":[-0.27410370111465454,1965.57080078125],"6-61-30":[9.647578239440918,563.5889892578125],"6-61-31":[17.84971046447754,40.63999938964844],"5-30-15":[9.647578239440918,563.5889892578125],"6-61-32":[18.113750457763672,39.26093673706055],"6-61-33":[16.279376983642578,37.51103591918945],"5-30-16":[16.279376983642578,40.09421920776367],"6-61-34":[14.289375305175781,34.2478141784668],"6-61-35":[11.712499618530273,28.8384952545166],"5-30-17":[11.081116676330566,36.869998931884766],"6-61-36":[11.309082984924316,28.815000534057617],"6-61-37":[-99.66465759277344,814.3954467773438],"5-30-18":[-99.66465759277344,814.3954467773438],"6-61-38":[11.901249885559082,26.062265396118164],"6-61-39":[12.452500343322754,26.8984375],"5-30-19":[10.536022186279297,26.8984375],"6-61-40":[12.649374961853027,30.03156280517578],"6-61-41":[13.853750228881836,32.616249084472656],"5-30-20":[12.344644546508789,32.616249084472656],"6-61-42":[14.873749732971191,32.505001068115234],"6-61-43":[15.142499923706055,33.4553108215332],"5-30-21":[14.243000030517578,33.4553108215332],"6-61-44":[15.8100004196167,36.24449157714844],"6-61-45":[17.749217987060547,44.19906234741211],"5-30-22":[15.8100004196167,45.49398422241211],"6-61-46":[21.260000228881836,47.288673400878906],"6-61-47":[22.24566650390625,50.540000915527344],"5-30-23":[6.475727081298828,931.4411010742188],"6-61-48":[24.6299991607666,53.22511672973633],"6-61-49":[25.06999969482422,55.26124954223633],"5-30-24":[24.6299991607666,56.44728469848633],"6-61-50":[26.010000228881836,56.196834564208984],"6-61-51":[23.88249969482422,54.09187316894531],"5-30-25":[23.88249969482422,56.196834564208984],"6-61-52":[17.857500076293945,50.81437683105469],"6-61-53":[13.076250076293945,35.166873931884766],"5-30-26":[13.076250076293945,50.81437683105469],"6-61-54":[9.428750038146973,26.809999465942383],"6-61-55":[7.572500228881836,20.641563415527344],"5-30-27":[7.298375129699707,27.200000762939453],"6-61-56":[7.485312461853027,20.75374984741211],"6-61-57":[10.041390419006348,2119.0224609375],"5-30-28":[6.692911148071289,2119.0224609375],"6-61-58":[1445.4749755859375,2720.0478515625],"6-61-59":[2045.4925537109375,2519.143798828125],"5-30-29":[608.0900268554688,2720.0478515625],"6-61-60":[1905.59228515625,2242.544921875],"6-61-61":[1958.1231689453125,2404.875],"5-30-30":[1773.2025146484375,2404.875],"6-61-62":[2371.324951171875,2555.092041015625],"6-61-63":[-29.530000686645508,2747.469970703125],"5-30-31":[-29.530000686645508,2747.469970703125],"6-62-0":[13.609999656677246,37.72624969482422],"6-62-1":[19.739999771118164,53.00062561035156],"6-62-2":[26.546249389648438,59.24638748168945],"6-62-3":[28.635313034057617,75.61250305175781],"6-62-4":[36.20249938964844,85.27218627929688],"6-62-5":[42.310001373291016,99.79000091552734],"6-62-6":[49.28499984741211,108.10843658447266],"6-62-7":[49.782814025878906,103.87000274658203],"6-62-8":[50.5724983215332,107.82250213623047],"6-62-9":[49.70124816894531,111.73062133789062],"6-62-10":[49.6668586730957,298.21002197265625],"6-62-11":[49.965110778808594,1388.0882568359375],"6-62-12":[41.71603012084961,1035.9302978515625],"6-62-13":[45.89146041870117,1109.05615234375],"6-62-14":[20.27583885192871,639.8948364257812],"6-62-15":[44.39109420776367,219.0296630859375],"6-62-16":[32.45598220825195,2687.212158203125],"6-62-17":[297.06658935546875,2577.78173828125],"6-62-18":[44.235782623291016,3501.32275390625],"6-62-19":[32.499114990234375,2419.805908203125],"6-62-20":[632.4515380859375,3718.370849609375],"6-62-21":[368.61175537109375,1721.0511474609375],"6-62-22":[218.45553588867188,696.391845703125],"6-62-23":[131.07815551757812,471.4528503417969],"6-62-24":[138.86412048339844,407.05340576171875],"6-62-25":[256.9522705078125,487.5280456542969],"6-62-26":[239.52796936035156,1006.13134765625],"6-62-27":[249.30572509765625,631.600830078125],"6-62-28":[194.0611114501953,789.7427978515625],"6-62-29":[15.139787673950195,766.658935546875],"6-62-30":[-46.140071868896484,332.61700439453125],"6-62-31":[17.317800521850586,38.67356872558594],"6-62-32":[17.526500701904297,38.47999954223633],"6-62-33":[15.746514320373535,36.13093566894531],"6-62-34":[14.550000190734863,33.158809661865234],"6-62-35":[12.037031173706055,28.927480697631836],"6-62-36":[12.109999656677246,28.815000534057617],"6-62-37":[12.836999893188477,26.811250686645508],"6-62-38":[12.655097961425781,28.49429702758789],"6-62-39":[13.057499885559082,31.271249771118164],"6-62-40":[13.655885696411133,34.27179718017578],"6-62-41":[15.4399995803833,36.129920959472656],"6-62-42":[16.174999237060547,36.66046905517578],"6-62-43":[16.174999237060547,37.76499938964844],"6-62-44":[16.201250076293945,37.76499938964844],"6-62-45":[16.201250076293945,40.310001373291016],"6-62-46":[17.780000686645508,44.63750076293945],"6-62-47":[19.75749969482422,49.2599983215332],"6-62-48":[22.320667266845703,50.12062454223633],"6-62-49":[23.733125686645508,54.939998626708984],"6-62-50":[26.517499923706055,56.36492156982422],"6-62-51":[24.74795913696289,55.640625],"6-62-52":[17.742813110351562,50.788124084472656],"6-62-53":[13.063750267028809,33.86042785644531],"6-62-54":[10.423749923706055,25.957813262939453],"6-62-55":[9.912291526794434,22.353925704956055],"6-62-56":[8.785625457763672,20.956621170043945],"6-62-57":[10.28499984741211,2479.22509765625],"6-62-58":[1813.36181640625,2850.400146484375],"6-62-59":[2242.544921875,2618.263671875],"6-62-60":[1991.4005126953125,2314.657470703125],"6-62-61":[1993.1412353515625,2457.945068359375],"6-62-62":[2404.875,2581.133544921875],"6-62-63":[-29.530166625976562,2749.46337890625],"6-63-0":[13.609999656677246,37.729454040527344],"6-63-1":[19.729999542236328,53.58000183105469],"5-31-0":[13.609999656677246,53.58000183105469],"6-63-2":[26.546249389648438,62.23500061035156],"6-63-3":[28.85562515258789,73.72000122070312],"5-31-1":[26.546249389648438,75.61250305175781],"4-15-0":[13.609999656677246,75.61250305175781],"6-63-4":[35.880001068115234,86.27249908447266],"6-63-5":[42.26156234741211,98.33031463623047],"5-31-2":[35.880001068115234,99.79000091552734],"6-63-6":[48.49630355834961,104.23413848876953],"6-63-7":[48.27445983886719,101.09368896484375],"5-31-3":[48.27445983886719,108.10843658447266],"4-15-1":[32.12216567993164,2067.71142578125],"3-7-0":[13.609999656677246,2067.71142578125],"6-63-8":[48.821720123291016,103.65324401855469],"6-63-9":[48.9398193359375,103.54920196533203],"5-31-4":[48.821720123291016,111.73062133789062],"6-63-10":[46.96500015258789,500.1719970703125],"6-63-11":[46.689998626708984,821.8721313476562],"5-31-5":[46.689998626708984,1388.0882568359375],"4-15-2":[36.30938720703125,1388.0882568359375],"6-63-12":[-1.2225662469863892,942.8108520507812],"6-63-13":[5.010127544403076,686.849853515625],"5-31-6":[-1.2225662469863892,1109.05615234375],"6-63-14":[29.66975212097168,466.8013610839844],"6-63-15":[17.327831268310547,332.20953369140625],"5-31-7":[17.327831268310547,639.8948364257812],"4-15-3":[-1.2225662469863892,1109.05615234375],"3-7-1":[-1.2225662469863892,2140.579345703125],"2-3-0":[-226.58326721191406,3982.850830078125],"6-63-16":[16.6298885345459,3299.634765625],"6-63-17":[40.73721694946289,2357.657958984375],"5-31-8":[16.6298885345459,3299.634765625],"6-63-18":[40.99497604370117,2423.3642578125],"6-63-19":[45.96165466308594,1802.729248046875],"5-31-9":[32.499114990234375,3501.32275390625],"4-15-4":[16.6298885345459,3501.32275390625],"6-63-20":[585.2816162109375,2177.751953125],"6-63-21":[198.79539489746094,856.9365844726562],"5-31-10":[198.79539489746094,3718.370849609375],"6-63-22":[154.10662841796875,519.59033203125],"6-63-23":[95.92691040039062,407.471923828125],"5-31-11":[95.92691040039062,696.391845703125],"4-15-5":[36.12596893310547,3969.244873046875],"3-7-2":[-35.000633239746094,3969.244873046875],"6-63-24":[189.2420196533203,556.8372192382812],"6-63-25":[243.53643798828125,577.0238647460938],"5-31-12":[138.86412048339844,577.0238647460938],"6-63-26":[242.097412109375,1303.8314208984375],"6-63-27":[216.6278533935547,572.2550048828125],"5-31-13":[216.6278533935547,1303.8314208984375],"4-15-6":[54.15531921386719,1303.8314208984375],"6-63-28":[63.80579376220703,555.418212890625],"6-63-29":[21.373212814331055,874.91796875],"5-31-14":[15.139787673950195,874.91796875],"6-63-30":[-6.383384704589844,370.7690734863281],"6-63-31":[16.481172561645508,36.19449234008789],"5-31-15":[-46.140071868896484,370.7690734863281],"4-15-7":[-46.140071868896484,1965.57080078125],"3-7-3":[-46.140071868896484,1965.57080078125],"2-3-1":[-65.13249969482422,3969.244873046875],"1-1-0":[-328.0532531738281,5809.47802734375],"6-63-32":[17.15999984741211,36.77699279785156],"6-63-33":[16.298046112060547,37.07179641723633],"5-31-16":[15.746514320373535,38.47999954223633],"6-63-34":[12.342499732971191,34.979373931884766],"6-63-35":[10.706768989562988,28.638399124145508],"5-31-17":[10.706768989562988,34.979373931884766],"4-15-8":[10.706768989562988,40.09421920776367],"6-63-36":[11.051791191101074,26.152284622192383],"6-63-37":[12.727499961853027,29.219999313354492],"5-31-18":[11.051791191101074,29.219999313354492],"6-63-38":[13.430000305175781,32.72624969482422],"6-63-39":[14.755624771118164,35.31999969482422],"5-31-19":[12.655097961425781,35.31999969482422],"4-15-9":[-99.66465759277344,814.3954467773438],"3-7-4":[-99.66465759277344,864.6653442382812],"6-63-40":[15.892499923706055,39.665626525878906],"6-63-41":[17.6668758392334,41.81999969482422],"5-31-20":[13.655885696411133,41.81999969482422],"6-63-42":[18.18000030517578,43.475624084472656],"6-63-43":[17.227500915527344,42.549705505371094],"5-31-21":[16.174999237060547,43.475624084472656],"4-15-10":[12.344644546508789,43.475624084472656],"6-63-44":[15.948905944824219,39.025001525878906],"6-63-45":[15.926750183105469,35.61125183105469],"5-31-22":[15.926750183105469,40.310001373291016],"6-63-46":[17.780000686645508,43.740623474121094],"6-63-47":[19.652578353881836,46.896873474121094],"5-31-23":[17.780000686645508,49.2599983215332],"4-15-11":[6.475727081298828,931.4411010742188],"3-7-5":[-4.639999866485596,2060.1064453125],"2-3-2":[-170.48275756835938,2863.342529296875],"6-63-48":[22.320667266845703,46.824649810791016],"6-63-49":[23.177499771118164,52.868125915527344],"5-31-24":[22.320667266845703,54.939998626708984],"6-63-50":[25.950000762939453,55.433475494384766],"6-63-51":[24.74795913696289,55.5866813659668],"5-31-25":[24.74795913696289,56.36492156982422],"4-15-12":[22.320667266845703,56.44728469848633],"6-63-52":[17.567968368530273,49.35187530517578],"6-63-53":[13.063750267028809,33.42982482910156],"5-31-26":[13.063750267028809,50.788124084472656],"6-63-54":[11.454375267028809,27.130624771118164],"6-63-55":[10.404999732971191,26.459980010986328],"5-31-27":[9.912291526794434,27.130624771118164],"4-15-13":[7.298375129699707,50.81437683105469],"3-7-6":[6.164708137512207,56.44728469848633],"6-63-56":[8.785625457763672,27.92074203491211],"6-63-57":[10.28499984741211,2064.73681640625],"5-31-28":[8.785625457763672,2479.22509765625],"6-63-58":[6.2979655265808105,2924.46240234375],"6-63-59":[-4.160320281982422,2804.299560546875],"5-31-29":[-4.160320281982422,2924.46240234375],"4-15-14":[-4.160320281982422,2924.46240234375],"6-63-60":[-10.222886085510254,2430.84228515625],"6-63-61":[-15.140766143798828,2498.8603515625],"5-31-30":[-15.140766143798828,2498.8603515625],"6-63-62":[-22.787166595458984,2597.04248046875],"6-63-63":[-29.530332565307617,2749.46337890625],"5-31-31":[-29.530332565307617,2749.46337890625],"4-15-15":[-29.530332565307617,2749.46337890625],"3-7-7":[-29.530332565307617,2924.46240234375],"2-3-3":[-47.529998779296875,2924.46240234375],"1-1-1":[-269.4302978515625,6969.12255859375],"0-0-0":[-328.0532531738281,6969.12255859375],"6-64-0":[13.609999656677246,37.775001525878906],"6-64-1":[19.729999542236328,53.58000183105469],"6-64-2":[26.603750228881836,62.88523483276367],"6-64-3":[31.417499542236328,76.26750183105469],"6-64-4":[36.86333465576172,86.27249908447266],"6-64-5":[42.709373474121094,96.98999786376953],"6-64-6":[47.0099983215332,101.28250122070312],"6-64-7":[46.73679733276367,97.63999938964844],"6-64-8":[45.830623626708984,101.58125305175781],"6-64-9":[45.049217224121094,100.51000213623047],"6-64-10":[45.186248779296875,100.5531234741211],"6-64-11":[44.21048355102539,95.57711029052734],"6-64-12":[41.57500076293945,93.34093475341797],"6-64-13":[34.37473678588867,320.13458251953125],"6-64-14":[39.88637161254883,478.3519287109375],"6-64-15":[62.72459411621094,1880.4366455078125],"6-64-16":[53.23228454589844,3439.26513671875],"6-64-17":[36.390445709228516,2431.197265625],"6-64-18":[43.43257522583008,942.6529541015625],"6-64-19":[44.6815185546875,1847.7310791015625],"6-64-20":[490.9859924316406,1993.837158203125],"6-64-21":[201.86016845703125,739.3895263671875],"6-64-22":[138.19180297851562,750.523193359375],"6-64-23":[240.330322265625,1166.1856689453125],"6-64-24":[334.0950622558594,962.4119262695312],"6-64-25":[276.6943664550781,863.3107299804688],"6-64-26":[184.15028381347656,556.459228515625],"6-64-27":[168.6219024658203,439.9532470703125],"6-64-28":[61.715423583984375,880.0928955078125],"6-64-29":[-17.90817642211914,1022.4351196289062],"6-64-30":[14.825469017028809,41.295989990234375],"6-64-31":[15.225125312805176,34.37800598144531],"6-64-32":[16.2137508392334,36.762107849121094],"6-64-33":[11.493749618530273,36.61785125732422],"6-64-34":[9.51937484741211,33.220001220703125],"6-64-35":[9.4330472946167,23.723125457763672],"6-64-36":[10.6225004196167,24.943750381469727],"6-64-37":[12.539687156677246,29.776874542236328],"6-64-38":[14.73900032043457,33.256778717041016],"6-64-39":[16.290000915527344,40.916873931884766],"6-64-40":[19.975000381469727,44.484649658203125],"6-64-41":[19.975000381469727,48.025936126708984],"6-64-42":[20.903282165527344,49.2678337097168],"6-64-43":[20.232500076293945,48.268436431884766],"6-64-44":[16.760000228881836,40.94499969482422],"6-64-45":[16.760000228881836,37.170936584472656],"6-64-46":[18.631458282470703,43.84177780151367],"6-64-47":[20.078125,44.44499969482422],"6-64-48":[21.173280715942383,45.848751068115234],"6-64-49":[22.3331241607666,51.900001525878906],"6-64-50":[24.993906021118164,54.928924560546875],"6-64-51":[23.667499542236328,55.35695266723633],"6-64-52":[17.254844665527344,48.099998474121094],"6-64-53":[13.734774589538574,33.437068939208984],"6-64-54":[13.391037940979004,34.0036735534668],"6-64-55":[11.028205871582031,33.963340759277344],"6-64-56":[10.257916450500488,28.86248016357422],"6-64-57":[11.815800666809082,2706.601318359375],"6-64-58":[6.297941207885742,2970.023193359375],"6-64-59":[-4.160420894622803,2947.11865234375],"6-64-60":[-10.222746849060059,2543.75],"6-64-61":[-15.140000343322754,2526.15869140625],"6-64-62":[-22.787797927856445,2618.027099609375],"6-64-63":[-29.530500411987305,2752.446533203125],"6-65-0":[13.609999656677246,37.805625915527344],"6-65-1":[19.760000228881836,53.087501525878906],"5-32-0":[13.609999656677246,53.58000183105469],"6-65-2":[26.312000274658203,62.45035171508789],"6-65-3":[31.012332916259766,77.0999984741211],"5-32-1":[26.312000274658203,77.0999984741211],"6-65-4":[38.1875,84.79792785644531],"6-65-5":[42.64656066894531,95.65531158447266],"5-32-2":[36.86333465576172,96.98999786376953],"6-65-6":[44.99580383300781,96.87601470947266],"6-65-7":[43.49456024169922,94.69757843017578],"5-32-3":[43.49456024169922,101.28250122070312],"6-65-8":[42.80005645751953,94.17312622070312],"6-65-9":[35.63236999511719,935.71484375],"5-32-4":[35.63236999511719,935.71484375],"6-65-10":[20.82847023010254,1428.2213134765625],"6-65-11":[40.95017623901367,136.29981994628906],"5-32-5":[20.82847023010254,1428.2213134765625],"6-65-12":[36.371280670166016,88.76156616210938],"6-65-13":[-46.65290451049805,286.3205871582031],"5-32-6":[-46.65290451049805,320.13458251953125],"6-65-14":[-132.67787170410156,643.3136596679688],"6-65-15":[137.99505615234375,2274.23681640625],"5-32-7":[-132.67787170410156,2274.23681640625],"6-65-16":[38.054176330566406,2373.307861328125],"6-65-17":[38.960296630859375,1377.7242431640625],"5-32-8":[36.390445709228516,3439.26513671875],"6-65-18":[41.703651428222656,1623.5625],"6-65-19":[89.48381042480469,2161.9892578125],"5-32-9":[41.703651428222656,2161.9892578125],"6-65-20":[100.21405029296875,941.4568481445312],"6-65-21":[185.699951171875,739.3894653320312],"5-32-10":[100.21405029296875,1993.837158203125],"6-65-22":[257.4659423828125,1758.113037109375],"6-65-23":[380.48004150390625,2914.1796875],"5-32-11":[138.19180297851562,2914.1796875],"6-65-24":[426.07708740234375,1308.0146484375],"6-65-25":[280.091064453125,733.0252075195312],"5-32-12":[276.6943664550781,1308.0146484375],"6-65-26":[222.1928253173828,683.01123046875],"6-65-27":[143.28521728515625,527.9813232421875],"5-32-13":[143.28521728515625,683.01123046875],"6-65-28":[62.64746856689453,650.850341796875],"6-65-29":[-15.658533096313477,1095.6048583984375],"5-32-14":[-17.90817642211914,1095.6048583984375],"6-65-30":[-13.74268627166748,66.61552429199219],"6-65-31":[14.48812484741211,33.893123626708984],"5-32-15":[-13.74268627166748,66.61552429199219],"6-65-32":[-19.137874603271484,391.8760070800781],"6-65-33":[8.663408279418945,29.841815948486328],"5-32-16":[-19.137874603271484,391.8760070800781],"6-65-34":[8.351897239685059,21.96468734741211],"6-65-35":[8.944999694824219,22.600000381469727],"5-32-17":[8.351897239685059,33.220001220703125],"6-65-36":[10.6225004196167,25.970937728881836],"6-65-37":[12.585624694824219,30.780000686645508],"5-32-18":[10.6225004196167,30.780000686645508],"6-65-38":[14.938750267028809,37.694374084472656],"6-65-39":[17.157499313354492,49.900001525878906],"5-32-19":[14.73900032043457,49.900001525878906],"6-65-40":[20.877500534057617,54.90625],"6-65-41":[22.640625,55.997501373291016],"5-32-20":[19.975000381469727,55.997501373291016],"6-65-42":[22.519296646118164,51.02652359008789],"6-65-43":[20.232500076293945,46.190467834472656],"5-32-21":[20.232500076293945,51.02652359008789],"6-65-44":[17.996875762939453,42.5099983215332],"6-65-45":[17.847124099731445,41.98062515258789],"5-32-22":[16.760000228881836,42.5099983215332],"6-65-46":[18.631458282470703,42.471248626708984],"6-65-47":[19.735000610351562,46.0625],"5-32-23":[18.631458282470703,46.0625],"6-65-48":[21.173280715942383,46.39437484741211],"6-65-49":[22.3331241607666,50.9743766784668],"5-32-24":[21.173280715942383,51.900001525878906],"6-65-50":[24.641407012939453,53.794647216796875],"6-65-51":[11.851372718811035,778.8563842773438],"5-32-25":[11.851372718811035,778.8563842773438],"6-65-52":[17.24250030517578,47.7087516784668],"6-65-53":[14.74984359741211,34.747501373291016],"5-32-26":[13.734774589538574,48.099998474121094],"6-65-54":[14.81624984741211,35.366329193115234],"6-65-55":[11.992500305175781,34.41259765625],"5-32-27":[11.028205871582031,35.366329193115234],"6-65-56":[10.653124809265137,29.788124084472656],"6-65-57":[13.901719093322754,3054.901611328125],"5-32-28":[10.257916450500488,3054.901611328125],"6-65-58":[2706.601318359375,3100.955078125],"6-65-59":[2543.75,3103.702392578125],"5-32-29":[-4.160420894622803,3103.702392578125],"6-65-60":[2255.434326171875,2692.56494140625],"6-65-61":[2248.982421875,2548.445068359375],"5-32-30":[-15.140000343322754,2692.56494140625],"6-65-62":[2526.15869140625,2639.219482421875],"6-65-63":[-29.53066635131836,2753.438720703125],"5-32-31":[-29.53066635131836,2753.438720703125],"6-66-0":[13.609999656677246,37.8224983215332],"6-66-1":[19.788124084472656,52.1349983215332],"6-66-2":[25.646249771118164,63.09193420410156],"6-66-3":[31.054203033447266,77.41999816894531],"6-66-4":[38.55066680908203,84.65249633789062],"6-66-5":[41.57437515258789,92.57357025146484],"6-66-6":[43.18281173706055,93.0999984741211],"6-66-7":[40.627498626708984,90.0815658569336],"6-66-8":[40.54776382446289,87.07499694824219],"6-66-9":[20.943635940551758,2049.001953125],"6-66-10":[19.292827606201172,2462.5283203125],"6-66-11":[4.236361503601074,1233.3709716796875],"6-66-12":[30.987659454345703,116.99364471435547],"6-66-13":[-180.5344696044922,876.354736328125],"6-66-14":[90.73540496826172,1537.525390625],"6-66-15":[147.78536987304688,4840.896484375],"6-66-16":[39.2318229675293,4069.341552734375],"6-66-17":[43.904998779296875,838.4733276367188],"6-66-18":[39.99685287475586,1553.7706298828125],"6-66-19":[-16.367427825927734,2250.355712890625],"6-66-20":[30.287790298461914,336.7509460449219],"6-66-21":[186.56759643554688,611.020751953125],"6-66-22":[377.14691162109375,1857.81591796875],"6-66-23":[773.4960327148438,2746.393310546875],"6-66-24":[408.8160095214844,1769.8695068359375],"6-66-25":[324.43267822265625,1672.9239501953125],"6-66-26":[317.1329040527344,774.7885131835938],"6-66-27":[281.3623046875,874.423828125],"6-66-28":[46.87838363647461,1294.9075927734375],"6-66-29":[5.320474624633789,816.3525390625],"6-66-30":[-26.98060417175293,431.072509765625],"6-66-31":[-28.021018981933594,2007.4483642578125],"6-66-32":[7.572500228881836,607.8590698242188],"6-66-33":[6.066562652587891,24.354921340942383],"6-66-34":[7.096963882446289,17.297500610351562],"6-66-35":[8.795624732971191,26.3643741607666],"6-66-36":[11.613166809082031,28.972421646118164],"6-66-37":[13.109999656677246,31.908437728881836],"6-66-38":[15.696271896362305,39.674747467041016],"6-66-39":[19.551250457763672,50.82374954223633],"6-66-40":[22.637500762939453,56.49708938598633],"6-66-41":[24.023828506469727,57.1223030090332],"6-66-42":[22.80500030517578,49.958126068115234],"6-66-43":[22.80500030517578,49.10429763793945],"6-66-44":[20.77375030517578,46.163143157958984],"6-66-45":[20.77375030517578,46.34117126464844],"6-66-46":[21.39875030517578,48.194862365722656],"6-66-47":[21.39875030517578,49.672149658203125],"6-66-48":[23.35124969482422,51.873748779296875],"6-66-49":[23.35124969482422,52.2502326965332],"6-66-50":[25.436250686645508,54.240665435791016],"6-66-51":[21.38249969482422,55.200313568115234],"6-66-52":[17.565000534057617,44.13999938964844],"6-66-53":[17.565000534057617,39.217498779296875],"6-66-54":[17.078125,39.217498779296875],"6-66-55":[14.682374954223633,33.834999084472656],"6-66-56":[12.76515007019043,30.473203659057617],"6-66-57":[13.304374694824219,3138.56005859375],"6-66-58":[3003.044677734375,3267.041259765625],"6-66-59":[2692.56494140625,3207.211181640625],"6-66-60":[2381.28759765625,2800.267578125],"6-66-61":[2355.208984375,2565.61376953125],"6-66-62":[2548.445068359375,2666.141357421875],"6-66-63":[-29.530834197998047,2755.430908203125],"6-67-0":[13.609999656677246,37.782501220703125],"6-67-1":[19.71500015258789,51.223751068115234],"5-33-0":[13.609999656677246,52.1349983215332],"6-67-2":[25.625499725341797,63.15980529785156],"6-67-3":[30.337499618530273,786.2189331054688],"5-33-1":[25.625499725341797,786.2189331054688],"4-16-0":[13.609999656677246,786.2189331054688],"6-67-4":[37.26300048828125,946.447509765625],"6-67-5":[39.532501220703125,88.34062194824219],"5-33-2":[37.26300048828125,946.447509765625],"6-67-6":[40.8224983215332,88.49087524414062],"6-67-7":[39.27996063232422,85.49298858642578],"5-33-3":[39.27996063232422,93.0999984741211],"4-16-1":[36.86333465576172,946.447509765625],"6-67-8":[31.584196090698242,197.74993896484375],"6-67-9":[20.721492767333984,2315.182861328125],"5-33-4":[20.721492767333984,2315.182861328125],"6-67-10":[28.834814071655273,2472.3505859375],"6-67-11":[32.50333786010742,847.7908325195312],"5-33-5":[4.236361503601074,2472.3505859375],"4-16-2":[4.236361503601074,2472.3505859375],"6-67-12":[-50.519386291503906,217.6855010986328],"6-67-13":[33.14527893066406,1186.2093505859375],"5-33-6":[-180.5344696044922,1186.2093505859375],"6-67-14":[128.8147430419922,1069.9283447265625],"6-67-15":[40.08847427368164,4029.259033203125],"5-33-7":[40.08847427368164,4840.896484375],"4-16-3":[-180.5344696044922,4840.896484375],"6-67-16":[38.15068054199219,2694.009765625],"6-67-17":[43.45500183105469,2374.3759765625],"5-33-8":[38.15068054199219,4069.341552734375],"6-67-18":[34.10542297363281,1143.740966796875],"6-67-19":[27.14674949645996,1413.2965087890625],"5-33-9":[-16.367427825927734,2250.355712890625],"4-16-4":[-16.367427825927734,4069.341552734375],"6-67-20":[23.529146194458008,728.4649658203125],"6-67-21":[219.62428283691406,762.9684448242188],"5-33-10":[23.529146194458008,762.9684448242188],"6-67-22":[420.92578125,1483.5916748046875],"6-67-23":[607.7343139648438,1924.89453125],"5-33-11":[377.14691162109375,2746.393310546875],"4-16-5":[23.529146194458008,2914.1796875],"6-67-24":[396.41357421875,1977.285888671875],"6-67-25":[374.5256042480469,2023.8218994140625],"5-33-12":[324.43267822265625,2023.8218994140625],"6-67-26":[327.6443176269531,714.8829345703125],"6-67-27":[323.670654296875,784.4395141601562],"5-33-13":[281.3623046875,874.423828125],"4-16-6":[143.28521728515625,2023.8218994140625],"6-67-28":[100.15664672851562,1784.9505615234375],"6-67-29":[31.381372451782227,3028.3876953125],"5-33-14":[5.320474624633789,3028.3876953125],"6-67-30":[-10.875025749206543,4049.42578125],"6-67-31":[-22.216703414916992,1231.4781494140625],"5-33-15":[-28.021018981933594,4049.42578125],"4-16-7":[-28.021018981933594,4049.42578125],"6-67-32":[-63.61603927612305,953.432373046875],"6-67-33":[-6.597724914550781,932.4388427734375],"5-33-16":[-63.61603927612305,953.432373046875],"6-67-34":[7.15500020980835,22.91390609741211],"6-67-35":[9.038125038146973,31.459999084472656],"5-33-17":[7.096963882446289,31.459999084472656],"4-16-8":[-63.61603927612305,953.432373046875],"6-67-36":[13.462499618530273,35.42499923706055],"6-67-37":[14.74291706085205,42.08656311035156],"5-33-18":[11.613166809082031,42.08656311035156],"6-67-38":[16.096250534057617,47],"6-67-39":[20.85124969482422,47.730857849121094],"5-33-19":[15.696271896362305,50.82374954223633],"4-16-9":[10.6225004196167,50.82374954223633],"6-67-40":[22.309999465942383,48.494998931884766],"6-67-41":[23.960800170898438,51.59000015258789],"5-33-20":[22.309999465942383,57.1223030090332],"6-67-42":[24.801250457763672,52.65367126464844],"6-67-43":[23.022499084472656,51.41062545776367],"5-33-21":[22.80500030517578,52.65367126464844],"4-16-10":[19.975000381469727,57.1223030090332],"6-67-44":[22.698593139648438,50.40999984741211],"6-67-45":[22.330957412719727,50.4900016784668],"5-33-22":[20.77375030517578,50.4900016784668],"6-67-46":[22.352500915527344,53.741249084472656],"6-67-47":[24.227344512939453,55.20249938964844],"5-33-23":[21.39875030517578,55.20249938964844],"4-16-11":[16.760000228881836,55.20249938964844],"6-67-48":[24.66960906982422,54.20017623901367],"6-67-49":[23.853208541870117,53.650001525878906],"5-33-24":[23.35124969482422,54.20017623901367],"6-67-50":[25.436250686645508,58.27937316894531],"6-67-51":[21.38249969482422,55.275001525878906],"5-33-25":[21.38249969482422,58.27937316894531],"4-16-12":[11.851372718811035,778.8563842773438],"6-67-52":[18.430625915527344,43.34000015258789],"6-67-53":[18.430625915527344,44.36000061035156],"5-33-26":[17.565000534057617,44.36000061035156],"6-67-54":[17.078125,44.31999969482422],"6-67-55":[14.725000381469727,36.0993766784668],"5-33-27":[14.682374954223633,44.31999969482422],"4-16-13":[11.028205871582031,48.099998474121094],"6-67-56":[12.671875,32.068748474121094],"6-67-57":[11.970600128173828,3175.5009765625],"5-33-28":[11.970600128173828,3175.5009765625],"6-67-58":[3138.56005859375,3414.14990234375],"6-67-59":[2800.267578125,3300.152587890625],"5-33-29":[2692.56494140625,3414.14990234375],"4-16-14":[-4.160420894622803,3414.14990234375],"6-67-60":[2458.67431640625,2920.72998046875],"6-67-61":[2439.798583984375,2579.64501953125],"5-33-30":[2355.208984375,2920.72998046875],"6-67-62":[2565.61376953125,2681.467529296875],"6-67-63":[-29.5310001373291,2759.369384765625],"5-33-31":[-29.5310001373291,2759.369384765625],"4-16-15":[-29.5310001373291,2920.72998046875],"6-68-0":[13.609999656677246,37.68562316894531],"6-68-1":[19.579374313354492,50.900001525878906],"6-68-2":[25.25,62.295623779296875],"6-68-3":[29.49625015258789,1385.6441650390625],"6-68-4":[33.18152618408203,1035.7216796875],"6-68-5":[38.9900016784668,85.08000183105469],"6-68-6":[39.154998779296875,85.08000183105469],"6-68-7":[15.059297561645508,1058.537353515625],"6-68-8":[9.739541053771973,1750.9786376953125],"6-68-9":[19.45448112487793,1810.164794921875],"6-68-10":[36.637939453125,1715.3262939453125],"6-68-11":[31.964374542236328,400.6411437988281],"6-68-12":[-23.10869598388672,248.19332885742188],"6-68-13":[-7.781350135803223,988.4624633789062],"6-68-14":[94.57923126220703,1845.8333740234375],"6-68-15":[33.771217346191406,3777.166259765625],"6-68-16":[31.24575424194336,2893.679443359375],"6-68-17":[26.501718521118164,2503.261962890625],"6-68-18":[-23.3113956451416,2005.147216796875],"6-68-19":[31.767499923706055,209.5533447265625],"6-68-20":[27.577566146850586,965.2254638671875],"6-68-21":[218.906982421875,1068.727294921875],"6-68-22":[308.0438232421875,1178.6671142578125],"6-68-23":[533.6177368164062,1310.680419921875],"6-68-24":[378.5033264160156,1156.0885009765625],"6-68-25":[344.8374328613281,602.1047973632812],"6-68-26":[267.0752868652344,715.3884887695312],"6-68-27":[261.2430725097656,609.8646850585938],"6-68-28":[128.6457977294922,1857.583984375],"6-68-29":[216.8602752685547,2461.3837890625],"6-68-30":[390.81732177734375,1585.6212158203125],"6-68-31":[140.91505432128906,1076.930419921875],"6-68-32":[52.66347122192383,1044.6702880859375],"6-68-33":[-17.84096908569336,885.7998657226562],"6-68-34":[-25.076984405517578,923.8004760742188],"6-68-35":[-3.3454296588897705,613.6489868164062],"6-68-36":[-2.047696590423584,2521.1005859375],"6-68-37":[-19.60114097595215,2407.09912109375],"6-68-38":[-21.60890007019043,2094.4501953125],"6-68-39":[-59.487579345703125,1680.34130859375],"6-68-40":[23.139999389648438,60.76972579956055],"6-68-41":[24.247499465942383,62.60818099975586],"6-68-42":[25.7549991607666,60.895565032958984],"6-68-43":[25.7549991607666,56.461387634277344],"6-68-44":[24.764999389648438,52.151248931884766],"6-68-45":[24.764999389648438,57.30792999267578],"6-68-46":[26.028905868530273,57.31378936767578],"6-68-47":[26.764999389648438,56.44626998901367],"6-68-48":[26.263750076293945,55.855857849121094],"6-68-49":[26.263750076293945,59.35625076293945],"6-68-50":[26.82135772705078,62.980506896972656],"6-68-51":[23.625,56.75068283081055],"6-68-52":[20.02750015258789,46.57875061035156],"6-68-53":[20.02750015258789,47.680274963378906],"6-68-54":[18.372499465942383,47.0959358215332],"6-68-55":[15.040708541870117,38.60334014892578],"6-68-56":[12.835000038146973,47.94937515258789],"6-68-57":[11.404767036437988,3169.804931640625],"6-68-58":[3108.398681640625,3460.3544921875],"6-68-59":[2920.72998046875,3384.39501953125],"6-68-60":[2494.4599609375,3077.237548828125],"6-68-61":[2482.5390625,2588.550048828125],"6-68-62":[2579.64501953125,2693.7275390625],"6-68-63":[-29.531166076660156,2763.352783203125],"6-69-0":[13.609999656677246,37.43017578125],"6-69-1":[19.40250015258789,50.43718719482422],"5-34-0":[13.609999656677246,50.900001525878906],"6-69-2":[25.038665771484375,60.0222282409668],"6-69-3":[29.147499084472656,1634.294921875],"5-34-1":[25.038665771484375,1634.294921875],"6-69-4":[31.423084259033203,1233.1607666015625],"6-69-5":[35.1150016784668,82.69841766357422],"5-34-2":[31.423084259033203,1233.1607666015625],"6-69-6":[35.2653923034668,81.81336212158203],"6-69-7":[6.639206886291504,1592.634765625],"5-34-3":[6.639206886291504,1592.634765625],"6-69-8":[4.878176212310791,1958.9747314453125],"6-69-9":[47.040191650390625,1310.4202880859375],"5-34-4":[4.878176212310791,1958.9747314453125],"6-69-10":[25.333702087402344,797.67333984375],"6-69-11":[26.180150985717773,411.96795654296875],"5-34-5":[25.333702087402344,1715.3262939453125],"6-69-12":[19.393564224243164,280.501708984375],"6-69-13":[17.14306640625,1624.8095703125],"5-34-6":[-23.10869598388672,1624.8095703125],"6-69-14":[154.3846893310547,1918.9649658203125],"6-69-15":[39.779197692871094,2548.5859375],"5-34-7":[33.771217346191406,3777.166259765625],"6-69-16":[16.478599548339844,1992.8487548828125],"6-69-17":[37.95524597167969,2820.35400390625],"5-34-8":[16.478599548339844,2893.679443359375],"6-69-18":[29.132110595703125,3340.966796875],"6-69-19":[28.620553970336914,288.6690368652344],"5-34-9":[-23.3113956451416,3340.966796875],"6-69-20":[9.013053894042969,392.9414978027344],"6-69-21":[69.58488464355469,877.1011962890625],"5-34-10":[9.013053894042969,1068.727294921875],"6-69-22":[310.3897399902344,889.9554443359375],"6-69-23":[406.1775817871094,1202.4154052734375],"5-34-11":[308.0438232421875,1310.680419921875],"6-69-24":[27.247848510742188,3331.161865234375],"6-69-25":[184.00927734375,849.9962158203125],"5-34-12":[27.247848510742188,3331.161865234375],"6-69-26":[148.07437133789062,439.6126403808594],"6-69-27":[260.5954284667969,551.364501953125],"5-34-13":[148.07437133789062,715.3884887695312],"6-69-28":[213.54217529296875,1124.78759765625],"6-69-29":[275.1274719238281,1747.9337158203125],"5-34-14":[128.6457977294922,2461.3837890625],"6-69-30":[354.2816162109375,1070.43603515625],"6-69-31":[276.4906921386719,830.1593627929688],"5-34-15":[140.91505432128906,1585.6212158203125],"6-69-32":[252.96107482910156,879.8086547851562],"6-69-33":[167.87599182128906,929.3990478515625],"5-34-16":[-17.84096908569336,1044.6702880859375],"6-69-34":[256.145751953125,1488.195068359375],"6-69-35":[12.555623054504395,2127.15185546875],"5-34-17":[-25.076984405517578,2127.15185546875],"6-69-36":[166.21409606933594,2639.3017578125],"6-69-37":[859.2269287109375,2023.492919921875],"5-34-18":[-19.60114097595215,2639.3017578125],"6-69-38":[730.146240234375,1749.2393798828125],"6-69-39":[10.848285675048828,2585.58544921875],"5-34-19":[-59.487579345703125,2585.58544921875],"6-69-40":[-162.30459594726562,2386.256591796875],"6-69-41":[-159.8747100830078,2015.6773681640625],"5-34-20":[-162.30459594726562,2386.256591796875],"6-69-42":[18.983673095703125,704.8265380859375],"6-69-43":[26.094999313354492,62.29021072387695],"5-34-21":[18.983673095703125,704.8265380859375],"6-69-44":[25.43132781982422,58.470001220703125],"6-69-45":[25.828125,55.16999816894531],"5-34-22":[24.764999389648438,58.470001220703125],"6-69-46":[26.028905868530273,58.48234558105469],"6-69-47":[27.553203582763672,60.0993766784668],"5-34-23":[26.028905868530273,60.0993766784668],"6-69-48":[27.02898406982422,60.60874938964844],"6-69-49":[27.998125076293945,64.19499969482422],"5-34-24":[26.263750076293945,64.19499969482422],"6-69-50":[29.221250534057617,67.44750213623047],"6-69-51":[23.625,62.145938873291016],"5-34-25":[23.625,67.44750213623047],"6-69-52":[21.629688262939453,53.09000015258789],"6-69-53":[22.44499969482422,49.64250183105469],"5-34-26":[20.02750015258789,53.09000015258789],"6-69-54":[19.27375030517578,47.75593566894531],"6-69-55":[15.242500305175781,39.43359375],"5-34-27":[15.040708541870117,47.75593566894531],"6-69-56":[14.467041969299316,300.1435852050781],"6-69-57":[14.892499923706055,3108.398681640625],"5-34-28":[11.404767036437988,3169.804931640625],"6-69-58":[3052.070068359375,3514.255859375],"6-69-59":[3077.237548828125,3446.21875],"5-34-29":[2920.72998046875,3514.255859375],"6-69-60":[2544.201171875,3147.360107421875],"6-69-61":[2511.132080078125,2608.2900390625],"5-34-30":[2482.5390625,3147.360107421875],"6-69-62":[2588.550048828125,2704.01513671875],"6-69-63":[-29.531333923339844,2767.337158203125],"5-34-31":[-29.531333923339844,2767.337158203125],"6-70-0":[13.609999656677246,37.15312576293945],"6-70-1":[19.2293758392334,49.86000061035156],"6-70-2":[24.520000457763672,56.83156204223633],"6-70-3":[28.603124618530273,1635.7398681640625],"6-70-4":[29.163541793823242,1193.3651123046875],"6-70-5":[30.176408767700195,441.8138122558594],"6-70-6":[29.727157592773438,72.0926284790039],"6-70-7":[12.729230880737305,2122.74169921875],"6-70-8":[199.3977813720703,2096.52197265625],"6-70-9":[20.309301376342773,735.3598022460938],"6-70-10":[18.936601638793945,350.9493103027344],"6-70-11":[-25.106895446777344,119.81227111816406],"6-70-12":[22.143390655517578,358.7109069824219],"6-70-13":[35.60849380493164,462.601318359375],"6-70-14":[142.49136352539062,2057.44287109375],"6-70-15":[100.00666809082031,1043.37353515625],"6-70-16":[27.803903579711914,2489.765625],"6-70-17":[24.67145538330078,2049.005859375],"6-70-18":[22.691173553466797,753.2384033203125],"6-70-19":[22.41114616394043,59.297733306884766],"6-70-20":[23.961936950683594,142.32994079589844],"6-70-21":[-25.036346435546875,490.935546875],"6-70-22":[198.0266876220703,1063.150634765625],"6-70-23":[343.5698547363281,1540.584716796875],"6-70-24":[27.162729263305664,3468.038818359375],"6-70-25":[108.10494995117188,1729.2615966796875],"6-70-26":[121.9186019897461,428.4776306152344],"6-70-27":[274.16326904296875,1624.06396484375],"6-70-28":[322.1063537597656,1063.0797119140625],"6-70-29":[354.64697265625,767.2960205078125],"6-70-30":[305.2978820800781,833.7996215820312],"6-70-31":[254.1812744140625,533.9447021484375],"6-70-32":[223.98583984375,448.9023132324219],"6-70-33":[192.31333923339844,886.2742309570312],"6-70-34":[403.12274169921875,1242.6915283203125],"6-70-35":[605.843505859375,1757.0399169921875],"6-70-36":[1116.783447265625,1831.751953125],"6-70-37":[1104.797119140625,1687.1781005859375],"6-70-38":[1028.6031494140625,2162.833984375],"6-70-39":[1184.9974365234375,2171.423583984375],"6-70-40":[1018.03955078125,2505.715087890625],"6-70-41":[47.8117790222168,2222.394775390625],"6-70-42":[7.61805534362793,1720.5283203125],"6-70-43":[18.253440856933594,2268.66455078125],"6-70-44":[2.1738133430480957,2017.385009765625],"6-70-45":[26.725000381469727,58.30031204223633],"6-70-46":[27.585832595825195,59.456600189208984],"6-70-47":[29.095500946044922,64.50250244140625],"6-70-48":[29.912250518798828,64.56507873535156],"6-70-49":[29.847917556762695,67.1031265258789],"6-70-50":[31.81624984741211,70.72624969482422],"6-70-51":[27.491859436035156,66.4083023071289],"6-70-52":[24.048749923706055,57.381248474121094],"6-70-53":[24.048749923706055,50.75871276855469],"6-70-54":[19.072969436645508,48.8771858215332],"6-70-55":[15.382499694824219,38.04833984375],"6-70-56":[14.005425453186035,268.91046142578125],"6-70-57":[15.569453239440918,3052.070068359375],"6-70-58":[2944.421142578125,3536.77099609375],"6-70-59":[3147.360107421875,3480.289306640625],"6-70-60":[2608.2900390625,3239.324951171875],"6-70-61":[2539.6298828125,2709.22802734375],"6-70-62":[2602.10498046875,2724.908935546875],"6-70-63":[-29.531333923339844,2768.644287109375],"6-71-0":[13.609999656677246,36.759239196777344],"6-71-1":[19.100000381469727,48.9375],"5-35-0":[13.609999656677246,49.86000061035156],"6-71-2":[24.154613494873047,54.0099983215332],"6-71-3":[27.729999542236328,709.8801879882812],"5-35-1":[24.154613494873047,1635.7398681640625],"4-17-0":[13.609999656677246,1635.7398681640625],"6-71-4":[28.011167526245117,684.1887817382812],"6-71-5":[27.24285888671875,62.740936279296875],"5-35-2":[27.24285888671875,1193.3651123046875],"6-71-6":[19.67296028137207,948.289306640625],"6-71-7":[4.843403339385986,1854.1368408203125],"5-35-3":[4.843403339385986,2122.74169921875],"4-17-1":[4.843403339385986,2122.74169921875],"3-8-0":[4.843403339385986,2122.74169921875],"6-71-8":[19.0575008392334,851.7579345703125],"6-71-9":[17.77016258239746,511.553955078125],"5-35-4":[17.77016258239746,2096.52197265625],"6-71-10":[17.317426681518555,158.6826934814453],"6-71-11":[17.94281768798828,214.14988708496094],"5-35-5":[-25.106895446777344,350.9493103027344],"4-17-2":[-25.106895446777344,2096.52197265625],"6-71-12":[11.89322280883789,342.6621398925781],"6-71-13":[80.40325164794922,644.42626953125],"5-35-6":[11.89322280883789,644.42626953125],"6-71-14":[118.41012573242188,2648.44921875],"6-71-15":[68.74269104003906,1842.416259765625],"5-35-7":[68.74269104003906,2648.44921875],"4-17-3":[-23.10869598388672,3777.166259765625],"3-8-1":[-180.5344696044922,4840.896484375],"6-71-16":[65.18314361572266,2700.0234375],"6-71-17":[23.064607620239258,2930.522216796875],"5-35-8":[23.064607620239258,2930.522216796875],"6-71-18":[13.5036039352417,2524.919189453125],"6-71-19":[8.996862411499023,1090.3857421875],"5-35-9":[8.996862411499023,2524.919189453125],"4-17-4":[-23.3113956451416,3340.966796875],"6-71-20":[18.3700008392334,903.8015747070312],"6-71-21":[-31.97802734375,311.9857482910156],"5-35-10":[-31.97802734375,903.8015747070312],"6-71-22":[94.19860076904297,388.13909912109375],"6-71-23":[273.4918518066406,1038.114501953125],"5-35-11":[94.19860076904297,1540.584716796875],"4-17-5":[-31.97802734375,1540.584716796875],"3-8-2":[-31.97802734375,4069.341552734375],"6-71-24":[452.55169677734375,932.8563232421875],"6-71-25":[308.29681396484375,1368.76123046875],"5-35-12":[27.162729263305664,3468.038818359375],"6-71-26":[326.68048095703125,1327.6888427734375],"6-71-27":[373.8379821777344,1212.8369140625],"5-35-13":[121.9186019897461,1624.06396484375],"4-17-6":[27.162729263305664,3468.038818359375],"6-71-28":[371.4044494628906,934.4649658203125],"6-71-29":[382.6241760253906,935.0108032226562],"5-35-14":[322.1063537597656,1063.0797119140625],"6-71-30":[291.3446960449219,761.7289428710938],"6-71-31":[282.2857666015625,549.056396484375],"5-35-15":[254.1812744140625,833.7996215820312],"4-17-7":[128.6457977294922,2461.3837890625],"3-8-3":[-28.021018981933594,4049.42578125],"6-71-32":[271.349365234375,592.49365234375],"6-71-33":[253.50621032714844,758.0873413085938],"5-35-16":[192.31333923339844,886.2742309570312],"6-71-34":[404.1356201171875,1099.2406005859375],"6-71-35":[753.1700439453125,1385.3482666015625],"5-35-17":[403.12274169921875,1757.0399169921875],"4-17-8":[-25.076984405517578,2127.15185546875],"6-71-36":[1050.7860107421875,1507.7322998046875],"6-71-37":[1011.5501708984375,1380.2471923828125],"5-35-18":[1011.5501708984375,1831.751953125],"6-71-38":[960.556884765625,1371.6513671875],"6-71-39":[940.6723022460938,1497.558837890625],"5-35-19":[940.6723022460938,2171.423583984375],"4-17-9":[-59.487579345703125,2639.3017578125],"3-8-4":[-63.61603927612305,2639.3017578125],"6-71-40":[991.8734741210938,1399.3734130859375],"6-71-41":[722.2374267578125,1582.98974609375],"5-35-20":[47.8117790222168,2505.715087890625],"6-71-42":[427.66436767578125,1667.488037109375],"6-71-43":[142.44491577148438,2341.8076171875],"5-35-21":[7.61805534362793,2341.8076171875],"4-17-10":[-162.30459594726562,2505.715087890625],"6-71-44":[-5.93008279800415,1732.6717529296875],"6-71-45":[27.220041275024414,59.8337516784668],"5-35-22":[-5.93008279800415,2017.385009765625],"6-71-46":[29.170625686645508,63.234375],"6-71-47":[30.142499923706055,66.9000015258789],"5-35-23":[27.585832595825195,66.9000015258789],"4-17-11":[-5.93008279800415,2017.385009765625],"3-8-5":[-162.30459594726562,2505.715087890625],"6-71-48":[31.75749969482422,66.9000015258789],"6-71-49":[32.114376068115234,69.55999755859375],"5-35-24":[29.847917556762695,69.55999755859375],"6-71-50":[33.709999084472656,73.56749725341797],"6-71-51":[28.80500030517578,72.29750061035156],"5-35-25":[27.491859436035156,73.56749725341797],"4-17-12":[23.625,73.56749725341797],"6-71-52":[25.576250076293945,60.84000015258789],"6-71-53":[24.428749084472656,53.166873931884766],"5-35-26":[24.048749923706055,60.84000015258789],"6-71-54":[19.18328094482422,48.84000015258789],"6-71-55":[15.382499694824219,38.11375045776367],"5-35-27":[15.382499694824219,48.8771858215332],"4-17-13":[15.040708541870117,60.84000015258789],"3-8-6":[11.028205871582031,778.8563842773438],"6-71-56":[14.98495864868164,187.96249389648438],"6-71-57":[15.793749809265137,2944.421142578125],"5-35-28":[14.005425453186035,3052.070068359375],"6-71-58":[2840.084716796875,3600.92333984375],"6-71-59":[3239.324951171875,3598.469970703125],"5-35-29":[2840.084716796875,3600.92333984375],"4-17-14":[11.404767036437988,3600.92333984375],"6-71-60":[2709.22802734375,3295.320068359375],"6-71-61":[2568.241943359375,2810.95751953125],"5-35-30":[2539.6298828125,3295.320068359375],"6-71-62":[2621.330078125,2751.917236328125],"6-71-63":[-29.5314998626709,2771.319091796875],"5-35-31":[-29.5314998626709,2771.319091796875],"4-17-15":[-29.5314998626709,3295.320068359375],"3-8-7":[-29.5314998626709,3600.92333984375],"6-72-0":[13.609999656677246,36.48062515258789],"6-72-1":[19.014999389648438,48.13999938964844],"6-72-2":[23.604875564575195,52.846248626708984],"6-72-3":[25.147499084472656,753.1624755859375],"6-72-4":[25.05437469482422,528.0713500976562],"6-72-5":[22.703750610351562,56.97062683105469],"6-72-6":[22.557579040527344,1086.57470703125],"6-72-7":[21.136947631835938,1167.11767578125],"6-72-8":[17.66149139404297,435.2364807128906],"6-72-9":[17.523351669311523,286.6453552246094],"6-72-10":[15.174811363220215,241.91282653808594],"6-72-11":[12.202834129333496,275.1282043457031],"6-72-12":[29.06003189086914,318.5590515136719],"6-72-13":[28.384414672851562,382.73541259765625],"6-72-14":[135.43734741210938,1998.1148681640625],"6-72-15":[147.15101623535156,2540.911376953125],"6-72-16":[49.82748794555664,2847.5615234375],"6-72-17":[30.855205535888672,2950.980712890625],"6-72-18":[21.062259674072266,2427.615234375],"6-72-19":[7.762499809265137,2464.2265625],"6-72-20":[7.731078624725342,425.5946044921875],"6-72-21":[-11.657929420471191,284.93341064453125],"6-72-22":[88.27754974365234,639.162109375],"6-72-23":[289.9853515625,1107.429931640625],"6-72-24":[470.56121826171875,1912.85009765625],"6-72-25":[498.02392578125,1340.7694091796875],"6-72-26":[593.5655517578125,1710.6942138671875],"6-72-27":[454.3244934082031,3017.51123046875],"6-72-28":[444.142822265625,1371.3599853515625],"6-72-29":[477.2939758300781,1047.823974609375],"6-72-30":[352.3892822265625,768.8858642578125],"6-72-31":[319.72235107421875,630.5152587890625],"6-72-32":[322.0748291015625,733.6262817382812],"6-72-33":[332.5413818359375,807.6490478515625],"6-72-34":[430.5401916503906,1119.4578857421875],"6-72-35":[723.9613037109375,1534.3062744140625],"6-72-36":[1022.2809448242188,1643.4080810546875],"6-72-37":[961.733642578125,1249.497802734375],"6-72-38":[916.8944091796875,1116.912841796875],"6-72-39":[892.5455322265625,1255.2542724609375],"6-72-40":[958.5137939453125,1498.7823486328125],"6-72-41":[975.8270874023438,1901.599609375],"6-72-42":[928.720458984375,1783.144287109375],"6-72-43":[77.74161529541016,2501.83935546875],"6-72-44":[12.699691772460938,1649.0194091796875],"6-72-45":[28.004484176635742,66.26531219482422],"6-72-46":[29.827167510986328,70.2455825805664],"6-72-47":[32.16749954223633,68.23217010498047],"6-72-48":[32.4527702331543,66.92375183105469],"6-72-49":[32.505001068115234,71.4046859741211],"6-72-50":[34.783668518066406,76.34664154052734],"6-72-51":[30.329999923706055,73.60181427001953],"6-72-52":[26.604999542236328,61.35625076293945],"6-72-53":[24.541250228881836,54.429317474365234],"6-72-54":[19.540000915527344,49.248748779296875],"6-72-55":[15.457708358764648,38.714298248291016],"6-72-56":[15.317436218261719,41.79246139526367],"6-72-57":[21.912500381469727,3236.802490234375],"6-72-58":[2872.27490234375,3666.268798828125],"6-72-59":[3295.320068359375,3666.268798828125],"6-72-60":[2810.95751953125,3378.922607421875],"6-72-61":[2625.947509765625,2968.063720703125],"6-72-62":[2649.64990234375,2779.143310546875],"6-72-63":[-29.531665802001953,2774.304931640625],"6-73-0":[13.609999656677246,36.20000076293945],"6-73-1":[18.977500915527344,47.60749816894531],"5-36-0":[13.609999656677246,48.13999938964844],"6-73-2":[22.992408752441406,49.567012786865234],"6-73-3":[23.45421600341797,674.0393676757812],"5-36-1":[22.992408752441406,753.1624755859375],"6-73-4":[23.041250228881836,204.97108459472656],"6-73-5":[22.009897232055664,51.04728698730469],"5-36-2":[22.009897232055664,528.0713500976562],"6-73-6":[18.61275863647461,696.5953979492188],"6-73-7":[22.394514083862305,1083.5570068359375],"5-36-3":[18.61275863647461,1167.11767578125],"6-73-8":[17.695571899414062,559.1198120117188],"6-73-9":[46.96871566772461,398.5994873046875],"5-36-4":[17.523351669311523,559.1198120117188],"6-73-10":[10.30447006225586,258.0596008300781],"6-73-11":[18.422388076782227,338.69512939453125],"5-36-5":[10.30447006225586,338.69512939453125],"6-73-12":[21.076793670654297,371.6467590332031],"6-73-13":[119.02493286132812,309.6332092285156],"5-36-6":[21.076793670654297,382.73541259765625],"6-73-14":[82.56687927246094,1369.7589111328125],"6-73-15":[13.616247177124023,2520.585693359375],"5-36-7":[13.616247177124023,2540.911376953125],"6-73-16":[28.54277992248535,1559.7530517578125],"6-73-17":[28.773820877075195,1798.34716796875],"5-36-8":[28.54277992248535,2950.980712890625],"6-73-18":[23.188749313354492,2185.733154296875],"6-73-19":[-52.98889923095703,2137.495361328125],"5-36-9":[-52.98889923095703,2464.2265625],"6-73-20":[1.3053125143051147,266.0587158203125],"6-73-21":[-117.55912780761719,282.9302673339844],"5-36-10":[-117.55912780761719,425.5946044921875],"6-73-22":[27.75735092163086,574.3427124023438],"6-73-23":[275.3021545410156,1131.973876953125],"5-36-11":[27.75735092163086,1131.973876953125],"6-73-24":[280.0955505371094,1082.011474609375],"6-73-25":[366.2447814941406,841.2550659179688],"5-36-12":[280.0955505371094,1912.85009765625],"6-73-26":[428.4599609375,2020.8809814453125],"6-73-27":[423.73046875,1156.645263671875],"5-36-13":[423.73046875,3017.51123046875],"6-73-28":[386.9683532714844,960.0308837890625],"6-73-29":[394.8827819824219,977.6113891601562],"5-36-14":[386.9683532714844,1371.3599853515625],"6-73-30":[497.3334655761719,946.031005859375],"6-73-31":[366.8795166015625,1103.1630859375],"5-36-15":[319.72235107421875,1103.1630859375],"6-73-32":[379.78582763671875,1540.3837890625],"6-73-33":[413.2900085449219,1685.2509765625],"5-36-16":[322.0748291015625,1685.2509765625],"6-73-34":[504.5543212890625,1701.659423828125],"6-73-35":[515.1812744140625,1902.7041015625],"5-36-17":[430.5401916503906,1902.7041015625],"6-73-36":[935.2384643554688,1683.009765625],"6-73-37":[473.44775390625,1546.4249267578125],"5-36-18":[473.44775390625,1683.009765625],"6-73-38":[414.3267822265625,1440.15869140625],"6-73-39":[758.7850952148438,1496.98779296875],"5-36-19":[414.3267822265625,1496.98779296875],"6-73-40":[770.5770874023438,2110.33447265625],"6-73-41":[993.8888549804688,1898.2701416015625],"5-36-20":[770.5770874023438,2110.33447265625],"6-73-42":[1210.08984375,3126.8798828125],"6-73-43":[4.710208415985107,2790.10888671875],"5-36-21":[4.710208415985107,3126.8798828125],"6-73-44":[11.680817604064941,321.0530700683594],"6-73-45":[28.820234298706055,68.51875305175781],"5-36-22":[11.680817604064941,1649.0194091796875],"6-73-46":[33.0490837097168,71.8505859375],"6-73-47":[33.10840606689453,68.83296966552734],"5-36-23":[29.827167510986328,71.8505859375],"6-73-48":[32.88833236694336,69.44844055175781],"6-73-49":[33.330623626708984,74.63343811035156],"5-36-24":[32.4527702331543,74.63343811035156],"6-73-50":[35.38687515258789,76.54984283447266],"6-73-51":[30.59000015258789,74.12984466552734],"5-36-25":[30.329999923706055,76.54984283447266],"6-73-52":[27.6825008392334,63.58000183105469],"6-73-53":[24.541250228881836,58.27687454223633],"5-36-26":[24.541250228881836,63.58000183105469],"6-73-54":[20.077499389648438,51.53499984741211],"6-73-55":[15.990708351135254,40.57093811035156],"5-36-27":[15.457708358764648,51.53499984741211],"6-73-56":[15.992500305175781,41.87742233276367],"6-73-57":[19.59375,3236.802490234375],"5-36-28":[15.317436218261719,3236.802490234375],"6-73-58":[2976.864990234375,3671.283447265625],"6-73-59":[3378.922607421875,3685.986083984375],"5-36-29":[2872.27490234375,3685.986083984375],"6-73-60":[2968.063720703125,3441.199951171875],"6-73-61":[2691.686279296875,3024.00634765625],"5-36-30":[2625.947509765625,3441.199951171875],"6-73-62":[2691.686279296875,2818.113037109375],"6-73-63":[-29.53183364868164,2780.485107421875],"5-36-31":[-29.53183364868164,2818.113037109375],"6-74-0":[13.609999656677246,36.06312561035156],"6-74-1":[18.96062469482422,46.85562515258789],"6-74-2":[22.035938262939453,46.99625015258789],"6-74-3":[20.969999313354492,289.50048828125],"6-74-4":[19.8485164642334,46.65999984741211],"6-74-5":[17.556249618530273,45.7421875],"6-74-6":[11.97379207611084,739.6786499023438],"6-74-7":[14.652543067932129,736.8433227539062],"6-74-8":[-6.697631359100342,3219.229248046875],"6-74-9":[-7.697969913482666,401.89276123046875],"6-74-10":[-74.05023193359375,523.3490600585938],"6-74-11":[30.863542556762695,314.2758483886719],"6-74-12":[121.32876586914062,307.6301574707031],"6-74-13":[94.68948364257812,347.0857238769531],"6-74-14":[53.31065368652344,387.1876220703125],"6-74-15":[16.899866104125977,488.7175598144531],"6-74-16":[26.92825698852539,429.53607177734375],"6-74-17":[0.6040371656417847,2570.685302734375],"6-74-18":[-38.19149398803711,3075.91943359375],"6-74-19":[2.744999885559082,3021.9697265625],"6-74-20":[2.744999885559082,110.16929626464844],"6-74-21":[-52.60090255737305,355.6610107421875],"6-74-22":[11.08220100402832,602.6605834960938],"6-74-23":[11.917182922363281,551.01904296875],"6-74-24":[164.06248474121094,713.3358764648438],"6-74-25":[187.4525604248047,639.4682006835938],"6-74-26":[300.40484619140625,1130.47998046875],"6-74-27":[439.1142272949219,1410.1396484375],"6-74-28":[346.35418701171875,1323.8192138671875],"6-74-29":[356.78814697265625,738.6835327148438],"6-74-30":[452.9048156738281,1580.587158203125],"6-74-31":[534.0068969726562,5024.4853515625],"6-74-32":[645.8724975585938,4495.20458984375],"6-74-33":[625.9923706054688,3460.990234375],"6-74-34":[590.290283203125,2489.5693359375],"6-74-35":[742.27294921875,1708.5123291015625],"6-74-36":[432.1929016113281,1881.8800048828125],"6-74-37":[298.5581970214844,1739.3355712890625],"6-74-38":[466.8029479980469,1752.7098388671875],"6-74-39":[255.50762939453125,1623.812255859375],"6-74-40":[350.82623291015625,2352.7158203125],"6-74-41":[677.2380981445312,2369.868408203125],"6-74-42":[12.408987998962402,3510.34326171875],"6-74-43":[4.611972808837891,2075.3447265625],"6-74-44":[25.510467529296875,57.02128982543945],"6-74-45":[28.715312957763672,66.09500122070312],"6-74-46":[31.872249603271484,69.32749938964844],"6-74-47":[32.66852569580078,69.50499725341797],"6-74-48":[33.211666107177734,80.24333953857422],"6-74-49":[35.21875,80.15283203125],"6-74-50":[35.5086669921875,79.80844116210938],"6-74-51":[31.794666290283203,73.1098403930664],"6-74-52":[29.44124984741211,67.9906234741211],"6-74-53":[26.696250915527344,59.40703201293945],"6-74-54":[20.927499771118164,53.20500183105469],"6-74-55":[18.14116668701172,42.582576751708984],"6-74-56":[17.260120391845703,359.1937561035156],"6-74-57":[18.723392486572266,2976.864990234375],"6-74-58":[2510.84375,3667.34130859375],"6-74-59":[3441.199951171875,3732.448974609375],"6-74-60":[3024.00634765625,3510.169921875],"6-74-61":[2783.2509765625,3119.659912109375],"6-74-62":[2780.485107421875,2893.12158203125],"6-74-63":[-29.53183364868164,2805.434326171875],"6-75-0":[13.609999656677246,35.98374938964844],"6-75-1":[18.947500228881836,45.040077209472656],"5-37-0":[13.609999656677246,46.85562515258789],"6-75-2":[21.424999237060547,45.14500045776367],"6-75-3":[20.74346160888672,291.17193603515625],"5-37-1":[20.74346160888672,291.17193603515625],"4-18-0":[13.609999656677246,753.1624755859375],"6-75-4":[17.80500030517578,41.446876525878906],"6-75-5":[17.263051986694336,39.317264556884766],"5-37-2":[17.263051986694336,46.65999984741211],"6-75-6":[15.555000305175781,177.13168334960938],"6-75-7":[15.555000305175781,1181.2149658203125],"5-37-3":[11.97379207611084,1181.2149658203125],"4-18-1":[11.97379207611084,1181.2149658203125],"6-75-8":[16.771800994873047,712.4686889648438],"6-75-9":[-32.13914489746094,4110.38134765625],"5-37-4":[-32.13914489746094,4110.38134765625],"6-75-10":[-19.291643142700195,318.420654296875],"6-75-11":[30.728939056396484,357.7540283203125],"5-37-5":[-74.05023193359375,523.3490600585938],"4-18-2":[-74.05023193359375,4110.38134765625],"6-75-12":[140.0762939453125,313.8388366699219],"6-75-13":[123.476318359375,252.11465454101562],"5-37-6":[94.68948364257812,347.0857238769531],"6-75-14":[-181.3583526611328,293.9797058105469],"6-75-15":[-133.07029724121094,195.68463134765625],"5-37-7":[-181.3583526611328,488.7175598144531],"4-18-3":[-181.3583526611328,2540.911376953125],"6-75-16":[12.442140579223633,673.303466796875],"6-75-17":[25.703094482421875,2438.112060546875],"5-37-8":[0.6040371656417847,2570.685302734375],"6-75-18":[22.5144100189209,3012.54931640625],"6-75-19":[6.700693130493164,2342.5341796875],"5-37-9":[-38.19149398803711,3075.91943359375],"4-18-4":[-52.98889923095703,3075.91943359375],"6-75-20":[8.838525772094727,223.6673126220703],"6-75-21":[-4.498502254486084,1970.9051513671875],"5-37-10":[-52.60090255737305,1970.9051513671875],"6-75-22":[11.168331146240234,2002.3048095703125],"6-75-23":[78.7122802734375,726.1485595703125],"5-37-11":[11.08220100402832,2002.3048095703125],"4-18-5":[-117.55912780761719,2002.3048095703125],"6-75-24":[172.2118377685547,1207.84765625],"6-75-25":[212.55099487304688,942.1060180664062],"5-37-12":[164.06248474121094,1207.84765625],"6-75-26":[305.98980712890625,740.0162963867188],"6-75-27":[352.0279846191406,1457.6075439453125],"5-37-13":[300.40484619140625,1457.6075439453125],"4-18-6":[164.06248474121094,3017.51123046875],"6-75-28":[354.1611022949219,988.6334228515625],"6-75-29":[356.576171875,725.2932739257812],"5-37-14":[346.35418701171875,1323.8192138671875],"6-75-30":[389.8245849609375,3166.210693359375],"6-75-31":[594.3082275390625,2060.895263671875],"5-37-15":[389.8245849609375,5024.4853515625],"4-18-7":[319.72235107421875,5024.4853515625],"6-75-32":[1072.5743408203125,1787.809326171875],"6-75-33":[1016.1658325195312,1756.2413330078125],"5-37-16":[625.9923706054688,4495.20458984375],"6-75-34":[735.5387573242188,2443.30078125],"6-75-35":[493.17681884765625,2943.4921875],"5-37-17":[493.17681884765625,2943.4921875],"4-18-8":[322.0748291015625,4495.20458984375],"6-75-36":[446.635498046875,1864.3543701171875],"6-75-37":[93.22949981689453,1716.38330078125],"5-37-18":[93.22949981689453,1881.8800048828125],"6-75-38":[74.67857360839844,2583.299560546875],"6-75-39":[57.486141204833984,2427.436767578125],"5-37-19":[57.486141204833984,2583.299560546875],"4-18-9":[57.486141204833984,2583.299560546875],"6-75-40":[-242.8247528076172,1442.61279296875],"6-75-41":[-31.186614990234375,1914.123046875],"5-37-20":[-242.8247528076172,2369.868408203125],"6-75-42":[2.0477075576782227,1636.5892333984375],"6-75-43":[21.63249969482422,58.025936126708984],"5-37-21":[2.0477075576782227,3510.34326171875],"4-18-10":[-242.8247528076172,3510.34326171875],"6-75-44":[25.622499465942383,61.16812515258789],"6-75-45":[29.149375915527344,66.21562194824219],"5-37-22":[25.510467529296875,66.21562194824219],"6-75-46":[31.946250915527344,69.33562469482422],"6-75-47":[33.03562545776367,82.95999908447266],"5-37-23":[31.872249603271484,82.95999908447266],"4-18-11":[11.680817604064941,1649.0194091796875],"6-75-48":[35.1875,89.61250305175781],"6-75-49":[39.20500183105469,86.76964569091797],"5-37-24":[33.211666107177734,89.61250305175781],"6-75-50":[36.60874938964844,80.47000122070312],"6-75-51":[34.255001068115234,78.21312713623047],"5-37-25":[31.794666290283203,80.47000122070312],"4-18-12":[30.329999923706055,89.61250305175781],"6-75-52":[30.278125762939453,72.12000274658203],"6-75-53":[26.696250915527344,63.44124984741211],"5-37-26":[26.696250915527344,72.12000274658203],"6-75-54":[20.797813415527344,54.630001068115234],"6-75-55":[18.14116668701172,45.97999954223633],"5-37-27":[18.14116668701172,54.630001068115234],"4-18-13":[15.457708358764648,72.12000274658203],"6-75-56":[18.665000915527344,861.2525024414062],"6-75-57":[359.1937561035156,2787.679931640625],"5-37-28":[17.260120391845703,2976.864990234375],"6-75-58":[2576.621337890625,3670.320068359375],"6-75-59":[3510.169921875,3745.5625],"5-37-29":[2510.84375,3745.5625],"4-18-14":[15.317436218261719,3745.5625],"6-75-60":[3119.659912109375,3590.969970703125],"6-75-61":[2882.509765625,3236.159912109375],"5-37-30":[2783.2509765625,3590.969970703125],"6-75-62":[2805.434326171875,2971.56005859375],"6-75-63":[-29.531999588012695,2839.81494140625],"5-37-31":[-29.531999588012695,2971.56005859375],"4-18-15":[-29.531999588012695,3590.969970703125],"6-76-0":[13.60971736907959,35.95124816894531],"6-76-1":[18.88687515258789,43.70000076293945],"6-76-2":[20.05859375,43.8181266784668],"6-76-3":[17.552499771118164,47.609375],"6-76-4":[15.488750457763672,38.459999084472656],"6-76-5":[14.039999961853027,35.51499938964844],"6-76-6":[13.196874618530273,32.080623626708984],"6-76-7":[13.643115997314453,1139.0487060546875],"6-76-8":[15.767187118530273,538.6320190429688],"6-76-9":[14.869531631469727,306.0772399902344],"6-76-10":[21.9521484375,316.7452087402344],"6-76-11":[80.9841537475586,357.6891174316406],"6-76-12":[126.53659057617188,332.09747314453125],"6-76-13":[34.697898864746094,291.2425231933594],"6-76-14":[4.454084873199463,251.9646759033203],"6-76-15":[11.092575073242188,721.6337280273438],"6-76-16":[16.180130004882812,1541.9820556640625],"6-76-17":[17.64993667602539,2603.843505859375],"6-76-18":[19.98114013671875,3897.676513671875],"6-76-19":[14.59000015258789,3093.9833984375],"6-76-20":[-398.5462646484375,2689.112060546875],"6-76-21":[-349.4720153808594,2516.832275390625],"6-76-22":[7.341726303100586,2262.375732421875],"6-76-23":[-21.598499298095703,1972.670654296875],"6-76-24":[-6.6863322257995605,2173.0615234375],"6-76-25":[324.7959289550781,1591.137451171875],"6-76-26":[356.1921081542969,1104.104248046875],"6-76-27":[401.9883728027344,2729.647705078125],"6-76-28":[392.01385498046875,3267.44482421875],"6-76-29":[375.1089172363281,3342.06298828125],"6-76-30":[309.01422119140625,2770.2470703125],"6-76-31":[236.85044860839844,4305.9091796875],"6-76-32":[545.4292602539062,3396.0322265625],"6-76-33":[671.259033203125,3634.013671875],"6-76-34":[206.1063995361328,2462.710205078125],"6-76-35":[230.1919708251953,2952.412841796875],"6-76-36":[-18.364639282226562,1938.394775390625],"6-76-37":[7.997279167175293,2969.87646484375],"6-76-38":[-27.138322830200195,1841.507080078125],"6-76-39":[-30.922563552856445,319.6822814941406],"6-76-40":[-13.732768058776855,244.1560821533203],"6-76-41":[8.6537504196167,35.4494514465332],"6-76-42":[14.148750305175781,44.709510803222656],"6-76-43":[19.206249237060547,58.80056381225586],"6-76-44":[24.235000610351562,61.32373046875],"6-76-45":[27.408750534057617,65.5999984741211],"6-76-46":[32.33133316040039,76.2220687866211],"6-76-47":[35.63249969482422,92.81124877929688],"6-76-48":[41.49016571044922,92.9386978149414],"6-76-49":[40.236751556396484,88.71605682373047],"6-76-50":[39.23749923706055,85.7797622680664],"6-76-51":[36.063167572021484,83.6151351928711],"6-76-52":[32.255001068115234,75.92687225341797],"6-76-53":[27.560916900634766,65.47795104980469],"6-76-54":[22.219999313354492,58.432186126708984],"6-76-55":[22.219999313354492,48.61271667480469],"6-76-56":[20.395780563354492,1399.9912109375],"6-76-57":[861.2525024414062,2930.452392578125],"6-76-58":[2787.679931640625,3670.251953125],"6-76-59":[3590.969970703125,3781.605712890625],"6-76-60":[2776.724609375,3628.25],"6-76-61":[2954.990966796875,3346.545654296875],"6-76-62":[2839.81494140625,3092.465087890625],"6-76-63":[-29.532167434692383,2876.001953125],"6-77-0":[13.60971736907959,35.86455154418945],"6-77-1":[18.747499465942383,42.424373626708984],"5-38-0":[13.60971736907959,43.70000076293945],"6-77-2":[19.648183822631836,42.424373626708984],"6-77-3":[17.24766731262207,120.98816680908203],"5-38-1":[17.24766731262207,120.98816680908203],"6-77-4":[12.8100004196167,34.795623779296875],"6-77-5":[12.614133834838867,29.577285766601562],"5-38-2":[12.614133834838867,38.459999084472656],"6-77-6":[10.819999694824219,27.510936737060547],"6-77-7":[10.819999694824219,395.39825439453125],"5-38-3":[10.819999694824219,1139.0487060546875],"6-77-8":[13.484999656677246,352.94244384765625],"6-77-9":[13.484999656677246,366.86810302734375],"5-38-4":[13.484999656677246,538.6320190429688],"6-77-10":[35.39888000488281,327.9554443359375],"6-77-11":[93.37698364257812,306.607666015625],"5-38-5":[21.9521484375,357.6891174316406],"6-77-12":[105.39958953857422,311.3212585449219],"6-77-13":[-117.35704803466797,300.0298767089844],"5-38-6":[-117.35704803466797,332.09747314453125],"6-77-14":[44.47571563720703,375.5104064941406],"6-77-15":[2.5751829147338867,323.2161560058594],"5-38-7":[2.5751829147338867,721.6337280273438],"6-77-16":[12.38882827758789,1062.0811767578125],"6-77-17":[17.2211856842041,3382.15576171875],"5-38-8":[12.38882827758789,3382.15576171875],"6-77-18":[227.32139587402344,3297.159912109375],"6-77-19":[120.11888885498047,2377.56884765625],"5-38-9":[14.59000015258789,3897.676513671875],"6-77-20":[501.73089599609375,1781.7384033203125],"6-77-21":[534.0470581054688,1378.427978515625],"5-38-10":[-398.5462646484375,2689.112060546875],"6-77-22":[6.854352951049805,2032.537353515625],"6-77-23":[-26.423173904418945,2355.83740234375],"5-38-11":[-26.423173904418945,2355.83740234375],"6-77-24":[-82.72187805175781,2168.0849609375],"6-77-25":[-31.304258346557617,2735.550048828125],"5-38-12":[-82.72187805175781,2735.550048828125],"6-77-26":[-27.830236434936523,3016.688720703125],"6-77-27":[581.818359375,4526.4345703125],"5-38-13":[-27.830236434936523,4526.4345703125],"6-77-28":[713.3197021484375,4259.17724609375],"6-77-29":[510.694580078125,4177.48828125],"5-38-14":[375.1089172363281,4259.17724609375],"6-77-30":[298.72381591796875,2764.04736328125],"6-77-31":[167.9808349609375,3442.169921875],"5-38-15":[167.9808349609375,4305.9091796875],"6-77-32":[136.09181213378906,5158.3046875],"6-77-33":[-45.67362594604492,5869.54736328125],"5-38-16":[-45.67362594604492,5869.54736328125],"6-77-34":[-49.5765495300293,2618.1767578125],"6-77-35":[-48.054901123046875,1490.099609375],"5-38-17":[-49.5765495300293,2952.412841796875],"6-77-36":[-18.94719696044922,1408.4072265625],"6-77-37":[-43.81877899169922,2305.099609375],"5-38-18":[-43.81877899169922,2969.87646484375],"6-77-38":[-55.153892517089844,506.5555114746094],"6-77-39":[-23.764108657836914,1.3250000476837158],"5-38-19":[-55.153892517089844,1841.507080078125],"6-77-40":[-2.880000114440918,15.310312271118164],"6-77-41":[4.201250076293945,25.40999984741211],"5-38-20":[-13.732768058776855,244.1560821533203],"6-77-42":[9.209089279174805,34.122615814208984],"6-77-43":[15.55453109741211,46.326873779296875],"5-38-21":[9.209089279174805,58.80056381225586],"6-77-44":[24.235000610351562,56.56437683105469],"6-77-45":[27.408750534057617,71.2750015258789],"5-38-22":[24.235000610351562,71.2750015258789],"6-77-46":[32.880001068115234,83.07125091552734],"6-77-47":[39.510623931884766,93.25499725341797],"5-38-23":[32.33133316040039,93.25499725341797],"6-77-48":[38.0471076965332,1277.55810546875],"6-77-49":[42.15250015258789,90.88999938964844],"5-38-24":[38.0471076965332,1277.55810546875],"6-77-50":[42.470001220703125,93.62187194824219],"6-77-51":[38.1875,92.26343536376953],"5-38-25":[36.063167572021484,93.62187194824219],"6-77-52":[33.287498474121094,80.43000030517578],"6-77-53":[29.462499618530273,68.78093719482422],"5-38-26":[27.560916900634766,80.43000030517578],"6-77-54":[25.283124923706055,62.814998626708984],"6-77-55":[22.684999465942383,52.05781173706055],"5-38-27":[22.219999313354492,62.814998626708984],"6-77-56":[18.958742141723633,1399.9912109375],"6-77-57":[751.8553466796875,3035.0048828125],"5-38-28":[18.958742141723633,3035.0048828125],"6-77-58":[2930.452392578125,3670.14306640625],"6-77-59":[3628.25,3814.28125],"5-38-29":[2787.679931640625,3814.28125],"6-77-60":[3346.545654296875,3652.2099609375],"6-77-61":[3073.202392578125,3460.171142578125],"5-38-30":[2776.724609375,3652.2099609375],"6-77-62":[2876.001953125,3182.264892578125],"6-77-63":[-29.532167434692383,2907.961181640625],"5-38-31":[-29.532167434692383,3182.264892578125],"6-78-0":[13.60971736907959,35.7009391784668],"6-78-1":[18.50812530517578,41.36000061035156],"6-78-2":[18.622167587280273,41.36000061035156],"6-78-3":[14.082500457763672,41.70375061035156],"6-78-4":[10.333749771118164,32.25],"6-78-5":[8.692500114440918,25.044374465942383],"6-78-6":[8.195937156677246,22.549999237060547],"6-78-7":[9.203749656677246,327.9093017578125],"6-78-8":[11.602499961853027,314.81024169921875],"6-78-9":[12.908124923706055,268.48931884765625],"6-78-10":[44.724098205566406,286.19635009765625],"6-78-11":[79.76529693603516,279.5233154296875],"6-78-12":[76.55258178710938,258.21551513671875],"6-78-13":[77.59427642822266,248.67337036132812],"6-78-14":[14.284347534179688,340.25531005859375],"6-78-15":[2.684476137161255,680.4059448242188],"6-78-16":[13.149191856384277,3881.84912109375],"6-78-17":[13.739137649536133,3918.4033203125],"6-78-18":[321.0081481933594,3209.193603515625],"6-78-19":[147.38116455078125,1446.3653564453125],"6-78-20":[267.19403076171875,949.7077026367188],"6-78-21":[374.4357604980469,1047.1676025390625],"6-78-22":[737.1289672851562,1974.54443359375],"6-78-23":[99.43926239013672,2149.1884765625],"6-78-24":[-38.585304260253906,2651.92236328125],"6-78-25":[-18.108613967895508,2755.95849609375],"6-78-26":[-202.90380859375,3297.678466796875],"6-78-27":[-172.93887329101562,3970.5927734375],"6-78-28":[208.6212921142578,3839.47705078125],"6-78-29":[250.5797119140625,4373.173828125],"6-78-30":[130.76663208007812,1692.98583984375],"6-78-31":[-26.092708587646484,881.9769897460938],"6-78-32":[-77.8481216430664,278.93377685546875],"6-78-33":[-77.14749908447266,504.4172058105469],"6-78-34":[-74.92843627929688,56.48774337768555],"6-78-35":[-67.50140380859375,634.0450439453125],"6-78-36":[-58.20707702636719,1404.0667724609375],"6-78-37":[-82.51032257080078,980.8863525390625],"6-78-38":[-39.099571228027344,-9.705000877380371],"6-78-39":[-22.600507736206055,25.573383331298828],"6-78-40":[-3.869999885559082,7.789687633514404],"6-78-41":[3.4090065956115723,20.42937469482422],"6-78-42":[8.869999885559082,32.46630859375],"6-78-43":[15.802499771118164,49.22187423706055],"6-78-44":[24.72249984741211,59.666873931884766],"6-78-45":[29.264999389648438,78.44312286376953],"6-78-46":[35.64408493041992,87.66040802001953],"6-78-47":[42.400001525878906,92.6937484741211],"6-78-48":[42.737998962402344,92.6937484741211],"6-78-49":[43.348751068115234,91.96687316894531],"6-78-50":[45.448001861572266,100.70390319824219],"6-78-51":[40.217498779296875,95.43502044677734],"6-78-52":[34.911251068115234,81.60687255859375],"6-78-53":[31.40974998474121,70.89076232910156],"6-78-54":[26.8075008392334,64.38343811035156],"6-78-55":[25.077499389648438,54.846797943115234],"6-78-56":[20.746665954589844,1829.2412109375],"6-78-57":[790.9087524414062,3049.453857421875],"6-78-58":[3035.0048828125,3654.393798828125],"6-78-59":[3633.1298828125,3814.28125],"6-78-60":[3460.171142578125,3676.47314453125],"6-78-61":[3182.264892578125,3515.547607421875],"6-78-62":[2907.961181640625,3278.235107421875],"6-78-63":[-29.532167434692383,2956.717529296875],"6-79-0":[13.60971736907959,35.34312438964844],"6-79-1":[18.174999237060547,40.1403923034668],"5-39-0":[13.60971736907959,41.36000061035156],"6-79-2":[18.311166763305664,40.91050720214844],"6-79-3":[14.082500457763672,38.77687454223633],"5-39-1":[14.082500457763672,41.70375061035156],"4-19-0":[13.60971736907959,120.98816680908203],"6-79-4":[8.852499961853027,27.868749618530273],"6-79-5":[7.691905498504639,19.450899124145508],"5-39-2":[7.691905498504639,32.25],"6-79-6":[6.772230625152588,17.54035186767578],"6-79-7":[7.34250020980835,252.88272094726562],"5-39-3":[6.772230625152588,327.9093017578125],"4-19-1":[6.772230625152588,1139.0487060546875],"3-9-0":[6.772230625152588,1181.2149658203125],"6-79-8":[10.659684181213379,223.99508666992188],"6-79-9":[12.58418083190918,273.7090759277344],"5-39-4":[10.659684181213379,314.81024169921875],"6-79-10":[36.181793212890625,309.08807373046875],"6-79-11":[67.88745880126953,297.06549072265625],"5-39-5":[36.181793212890625,309.08807373046875],"4-19-2":[10.659684181213379,538.6320190429688],"6-79-12":[65.82777404785156,294.4367980957031],"6-79-13":[86.91752624511719,291.6959228515625],"5-39-6":[65.82777404785156,294.4367980957031],"6-79-14":[-19.343399047851562,260.3907470703125],"6-79-15":[-9.596465110778809,476.1158142089844],"5-39-7":[-19.343399047851562,680.4059448242188],"4-19-3":[-117.35704803466797,721.6337280273438],"3-9-1":[-181.3583526611328,4110.38134765625],"2-4-0":[-181.3583526611328,4840.896484375],"6-79-16":[37.86785888671875,5616.150390625],"6-79-17":[25.497167587280273,5133.36669921875],"5-39-8":[13.149191856384277,5616.150390625],"6-79-18":[263.1850891113281,4058.1494140625],"6-79-19":[31.48460578918457,3448.775634765625],"5-39-9":[31.48460578918457,4058.1494140625],"4-19-4":[12.38882827758789,5616.150390625],"6-79-20":[2.3174126148223877,377.36700439453125],"6-79-21":[110.72166442871094,790.417724609375],"5-39-10":[2.3174126148223877,1047.1676025390625],"6-79-22":[400.54559326171875,1407.0499267578125],"6-79-23":[692.9746704101562,1499.61328125],"5-39-11":[99.43926239013672,2149.1884765625],"4-19-5":[-398.5462646484375,2689.112060546875],"3-9-2":[-398.5462646484375,5616.150390625],"6-79-24":[612.191650390625,1721.9696044921875],"6-79-25":[-26.77619171142578,2990.338134765625],"5-39-12":[-38.585304260253906,2990.338134765625],"6-79-26":[-70.2271957397461,3647.383544921875],"6-79-27":[-179.37579345703125,3223.801513671875],"5-39-13":[-202.90380859375,3970.5927734375],"4-19-6":[-202.90380859375,4526.4345703125],"6-79-28":[-41.81968688964844,3002.2197265625],"6-79-29":[152.09945678710938,1451.55078125],"5-39-14":[-41.81968688964844,4373.173828125],"6-79-30":[61.261436462402344,913.0420532226562],"6-79-31":[-86.73999786376953,587.0220336914062],"5-39-15":[-86.73999786376953,1692.98583984375],"4-19-7":[-86.73999786376953,4373.173828125],"3-9-3":[-202.90380859375,5024.4853515625],"2-4-1":[-398.5462646484375,5616.150390625],"6-79-32":[-87.57366943359375,65.60655975341797],"6-79-33":[-86.63546752929688,-37.76877212524414],"5-39-16":[-87.57366943359375,504.4172058105469],"6-79-34":[-81.83000183105469,-34.756248474121094],"6-79-35":[-71.29499816894531,-26.583555221557617],"5-39-17":[-81.83000183105469,634.0450439453125],"4-19-8":[-87.57366943359375,5869.54736328125],"6-79-36":[-59.040000915527344,2336.87939453125],"6-79-37":[-52.960350036621094,605.9714965820312],"5-39-18":[-82.51032257080078,2336.87939453125],"6-79-38":[-43.739715576171875,926.3504028320312],"6-79-39":[-68.101318359375,1064.168212890625],"5-39-19":[-68.101318359375,1064.168212890625],"4-19-9":[-82.51032257080078,2969.87646484375],"3-9-4":[-87.57366943359375,5869.54736328125],"6-79-40":[-18.987329483032227,1347.9295654296875],"6-79-41":[-12.004594802856445,199.0380401611328],"5-39-20":[-18.987329483032227,1347.9295654296875],"6-79-42":[8.425116539001465,42.608123779296875],"6-79-43":[17.671249389648438,65.20249938964844],"5-39-21":[8.425116539001465,65.20249938964844],"4-19-10":[-18.987329483032227,1347.9295654296875],"6-79-44":[24.72249984741211,70.24124908447266],"6-79-45":[31.309375762939453,83.26000213623047],"5-39-22":[24.72249984741211,83.26000213623047],"6-79-46":[39.48125076293945,87.77749633789062],"6-79-47":[43.036781311035156,91.27999877929688],"5-39-23":[35.64408493041992,92.6937484741211],"4-19-11":[24.235000610351562,93.25499725341797],"3-9-5":[-242.8247528076172,3510.34326171875],"2-4-2":[-242.8247528076172,5869.54736328125],"6-79-48":[42.49834442138672,94.02222442626953],"6-79-49":[43.22999954223633,91.86000061035156],"5-39-24":[42.49834442138672,94.02222442626953],"6-79-50":[45.58700180053711,101.83258056640625],"6-79-51":[40.619998931884766,94.49279022216797],"5-39-25":[40.217498779296875,101.83258056640625],"4-19-12":[36.063167572021484,1277.55810546875],"6-79-52":[35.825626373291016,81.73999786376953],"6-79-53":[31.856000900268555,70.91437530517578],"5-39-26":[31.40974998474121,81.73999786376953],"6-79-54":[28.079374313354492,64.3984375],"6-79-55":[25.077499389648438,56.22312545776367],"5-39-27":[25.077499389648438,64.3984375],"4-19-13":[22.219999313354492,81.73999786376953],"3-9-6":[15.457708358764648,1277.55810546875],"6-79-56":[24.516407012939453,2238.392578125],"6-79-57":[1829.2412109375,3044.780029296875],"5-39-28":[20.746665954589844,3049.453857421875],"6-79-58":[3023.5595703125,3633.1298828125],"6-79-59":[3590.927490234375,3703.5322265625],"5-39-29":[3023.5595703125,3814.28125],"4-19-14":[18.958742141723633,3814.28125],"6-79-60":[3515.547607421875,3739.76123046875],"6-79-61":[3278.235107421875,3596.530029296875],"5-39-30":[3182.264892578125,3739.76123046875],"6-79-62":[2956.717529296875,3326.449951171875],"6-79-63":[-29.532333374023438,2985.8701171875],"5-39-31":[-29.532333374023438,3326.449951171875],"4-19-15":[-29.532333374023438,3739.76123046875],"3-9-7":[-29.532333374023438,3814.28125],"2-4-3":[-29.532333374023438,3814.28125],"6-80-0":[13.609829902648926,34.91875076293945],"6-80-1":[17.784374237060547,39.26750183105469],"6-80-2":[16.68343734741211,40.646873474121094],"6-80-3":[11.494999885559082,517.1036987304688],"6-80-4":[7.135000228881836,26.440000534057617],"6-80-5":[4.682499885559082,16.8856258392334],"6-80-6":[4.580546855926514,15.071249961853027],"6-80-7":[4.739999771118164,237.5083770751953],"6-80-8":[7.542547225952148,245.47523498535156],"6-80-9":[34.12028503417969,285.0784606933594],"6-80-10":[9.182148933410645,302.01220703125],"6-80-11":[61.24806594848633,248.9680938720703],"6-80-12":[48.700252532958984,347.2693176269531],"6-80-13":[6.35075569152832,372.8235168457031],"6-80-14":[-41.24351501464844,355.609130859375],"6-80-15":[-76.26393127441406,115.88446044921875],"6-80-16":[-56.451332092285156,4485.87744140625],"6-80-17":[-15.952225685119629,4116.845703125],"6-80-18":[161.31887817382812,4577.2392578125],"6-80-19":[32.18891143798828,3588.06591796875],"6-80-20":[-43.58817672729492,2783.900146484375],"6-80-21":[-86.2223129272461,444.9345397949219],"6-80-22":[151.7890167236328,925.6859130859375],"6-80-23":[340.2076416015625,1343.120849609375],"6-80-24":[285.3125,1028.06640625],"6-80-25":[400.8968811035156,1455.5018310546875],"6-80-26":[79.57488250732422,2444.70166015625],"6-80-27":[-65.01297760009766,2493.234619140625],"6-80-28":[-50.68000030517578,2422.223876953125],"6-80-29":[62.25400924682617,1006.9679565429688],"6-80-30":[-93.24624633789062,501.5491027832031],"6-80-31":[-99.59308624267578,235.86447143554688],"6-80-32":[-97.88500213623047,-42.83000183105469],"6-80-33":[-90.44161987304688,-40.915000915527344],"6-80-34":[-87.48822021484375,-33.5525016784668],"6-80-35":[-79.13500213623047,8.70492935180664],"6-80-36":[-62.542423248291016,621.1754760742188],"6-80-37":[-52.782325744628906,1207.8701171875],"6-80-38":[-3.344435214996338,2631.64111328125],"6-80-39":[-45.57821273803711,2635.656005859375],"6-80-40":[-13.399310111999512,1977.9127197265625],"6-80-41":[3.1323599815368652,244.2657470703125],"6-80-42":[12.300000190734863,42.608123779296875],"6-80-43":[19.055625915527344,65.04000091552734],"6-80-44":[27.434999465942383,70.25454711914062],"6-80-45":[35.59117126464844,85.75812530517578],"6-80-46":[41.63225173950195,87.77749633789062],"6-80-47":[42.87906265258789,92.36000061035156],"6-80-48":[44.130001068115234,94.45404052734375],"6-80-49":[43.940834045410156,91.86000061035156],"6-80-50":[45.057498931884766,99.83000183105469],"6-80-51":[40.48249816894531,92.2074966430664],"6-80-52":[35.29999923706055,81.73999786376953],"6-80-53":[31.46500015258789,70.91437530517578],"6-80-54":[28.4424991607666,63.709999084472656],"6-80-55":[27.255578994750977,572.140625],"6-80-56":[26.346220016479492,2427.47509765625],"6-80-57":[2238.392578125,3127.77880859375],"6-80-58":[3023.705078125,3590.927490234375],"6-80-59":[3513.322509765625,3615.31005859375],"6-80-60":[3595.113037109375,3741.767578125],"6-80-61":[3326.449951171875,3655.249267578125],"6-80-62":[2985.8701171875,3360.642578125],"6-80-63":[-29.532333374023438,3013.014892578125],"6-81-0":[13.609829902648926,34.27392578125],"6-81-1":[17.420000076293945,38.053749084472656],"5-40-0":[13.609829902648926,39.26750183105469],"6-81-2":[16.066431045532227,37.37826156616211],"6-81-3":[11.144039154052734,453.0975036621094],"5-40-1":[11.144039154052734,517.1036987304688],"6-81-4":[5.363749980926514,22.483749389648438],"6-81-5":[2.513000011444092,12.859648704528809],"5-40-2":[2.513000011444092,26.440000534057617],"6-81-6":[2.2417500019073486,9.585468292236328],"6-81-7":[2.5420000553131104,195.7081298828125],"5-40-3":[2.2417500019073486,237.5083770751953],"6-81-8":[7.9679999351501465,467.260986328125],"6-81-9":[65.3292465209961,477.067626953125],"5-40-4":[7.542547225952148,477.067626953125],"6-81-10":[7.848367691040039,275.8890380859375],"6-81-11":[59.539554595947266,298.4552307128906],"5-40-5":[7.848367691040039,302.01220703125],"6-81-12":[19.86543083190918,367.9424743652344],"6-81-13":[0.32000017166137695,377.4931945800781],"5-40-6":[0.32000017166137695,377.4931945800781],"6-81-14":[-51.53701400756836,65.51543426513672],"6-81-15":[-57.243770599365234,5.034618377685547],"5-40-7":[-76.26393127441406,355.609130859375],"6-81-16":[-43.479923248291016,748.2247924804688],"6-81-17":[-65.89244842529297,4455.703125],"5-40-8":[-65.89244842529297,4485.87744140625],"6-81-18":[-72.99921417236328,4802.08447265625],"6-81-19":[473.2911071777344,3898.221923828125],"5-40-9":[-72.99921417236328,4802.08447265625],"6-81-20":[-93.20372772216797,4173.88720703125],"6-81-21":[-121.5427474975586,2032.4765625],"5-40-10":[-121.5427474975586,4173.88720703125],"6-81-22":[-85.20906066894531,483.6067810058594],"6-81-23":[-57.80921936035156,539.0863037109375],"5-40-11":[-85.20906066894531,1343.120849609375],"6-81-24":[77.9879150390625,467.80523681640625],"6-81-25":[176.5585479736328,1015.6068725585938],"5-40-12":[77.9879150390625,1455.5018310546875],"6-81-26":[-51.13999938964844,2138.386962890625],"6-81-27":[-58.48749923706055,2078.27685546875],"5-40-13":[-65.01297760009766,2493.234619140625],"6-81-28":[-83.93499755859375,1996.2510986328125],"6-81-29":[-102.98500061035156,846.66845703125],"5-40-14":[-102.98500061035156,2422.223876953125],"6-81-30":[-103.28972625732422,410.8124084472656],"6-81-31":[-103.33879852294922,-46.62312698364258],"5-40-15":[-103.33879852294922,501.5491027832031],"6-81-32":[-99.6987533569336,-45.29249954223633],"6-81-33":[-91.36498260498047,-41.35499954223633],"5-40-16":[-99.6987533569336,-40.915000915527344],"6-81-34":[-87.04259490966797,-35.59262466430664],"6-81-35":[-80.35843658447266,-28.860624313354492],"5-40-17":[-87.48822021484375,8.70492935180664],"6-81-36":[-95.34363555908203,2866.349609375],"6-81-37":[-44.04396438598633,2817.392333984375],"5-40-18":[-95.34363555908203,2866.349609375],"6-81-38":[-37.93754577636719,1755.55029296875],"6-81-39":[-49.86737823486328,1687.299072265625],"5-40-19":[-49.86737823486328,2635.656005859375],"6-81-40":[-10.789999961853027,74.99059295654297],"6-81-41":[1.0700000524520874,25.077110290527344],"5-40-20":[-13.399310111999512,1977.9127197265625],"6-81-42":[8.346602439880371,34.806739807128906],"6-81-43":[16.88249969482422,54.42937469482422],"5-40-21":[8.346602439880371,65.04000091552734],"6-81-44":[27.434999465942383,70.8599624633789],"6-81-45":[35.92499923706055,83.87085723876953],"5-40-22":[27.434999465942383,85.75812530517578],"6-81-46":[39.83549880981445,85.22285461425781],"6-81-47":[42.10625076293945,89.87437438964844],"5-40-23":[39.83549880981445,92.36000061035156],"6-81-48":[10.509146690368652,895.6724243164062],"6-81-49":[44.14208221435547,90.77193450927734],"5-40-24":[10.509146690368652,895.6724243164062],"6-81-50":[42.93031311035156,94.392578125],"6-81-51":[38.916831970214844,91.86583709716797],"5-40-25":[38.916831970214844,99.83000183105469],"6-81-52":[33.966251373291016,80.52999877929688],"6-81-53":[30.707916259765625,68.93353271484375],"5-40-26":[30.707916259765625,81.73999786376953],"6-81-54":[28.326749801635742,62.74156188964844],"6-81-55":[29.720582962036133,1099.7449951171875],"5-40-27":[27.255578994750977,1099.7449951171875],"6-81-56":[30.45804214477539,2482.794921875],"6-81-57":[2427.47509765625,3161.719482421875],"5-40-28":[26.346220016479492,3161.719482421875],"6-81-58":[3127.77880859375,3513.322509765625],"6-81-59":[3362.15869140625,3613.485107421875],"5-40-29":[3023.705078125,3615.31005859375],"6-81-60":[3596.577392578125,3745.468505859375],"6-81-61":[3360.642578125,3699.742431640625],"5-40-30":[3326.449951171875,3745.468505859375],"6-81-62":[3013.014892578125,3382.262451171875],"6-81-63":[-29.532333374023438,3034.70751953125],"5-40-31":[-29.532333374023438,3382.262451171875],"6-82-0":[13.609829902648926,33.756874084472656],"6-82-1":[17.00749969482422,37.1193733215332],"6-82-2":[15.53499984741211,35.51499938964844],"6-82-3":[8.157500267028809,574.4508666992188],"6-82-4":[4.355625152587891,19.290000915527344],"6-82-5":[1.277734398841858,79.60874938964844],"6-82-6":[0.5618749856948853,585.9290161132812],"6-82-7":[0.5481250286102295,166.6781768798828],"6-82-8":[5.534191608428955,263.88507080078125],"6-82-9":[23.588151931762695,441.3379211425781],"6-82-10":[5.3725056648254395,321.1504211425781],"6-82-11":[52.243934631347656,337.15264892578125],"6-82-12":[32.72145462036133,384.63128662109375],"6-82-13":[-1.7810112237930298,320.6715393066406],"6-82-14":[-63.458221435546875,173.564453125],"6-82-15":[-85.86798095703125,-10.01181411743164],"6-82-16":[-173.8170623779297,522.2612915039062],"6-82-17":[-63.15378189086914,294.15765380859375],"6-82-18":[-61.40509796142578,3417.014404296875],"6-82-19":[-32.50667953491211,5595.75146484375],"6-82-20":[768.454345703125,4411.41015625],"6-82-21":[-91.08441925048828,4366.478515625],"6-82-22":[-64.71749877929688,1761.31591796875],"6-82-23":[-110.56964111328125,170.4696807861328],"6-82-24":[-44.94266128540039,274.326171875],"6-82-25":[68.28646850585938,1114.6148681640625],"6-82-26":[-145.357177734375,1466.682861328125],"6-82-27":[-88.54000091552734,1380.5618896484375],"6-82-28":[-104.67500305175781,723.5172119140625],"6-82-29":[-111.55374908447266,-41.967506408691406],"6-82-30":[-110.82734680175781,-50.610313415527344],"6-82-31":[-104.5127944946289,-49.03066635131836],"6-82-32":[-100.43000030517578,-45.11811828613281],"6-82-33":[-93.3931655883789,-10.816478729248047],"6-82-34":[-83.71089935302734,5.074777603149414],"6-82-35":[-74.95500183105469,-0.2052142173051834],"6-82-36":[-62.65999984741211,-19.801250457763672],"6-82-37":[-49.130001068115234,-15.480859756469727],"6-82-38":[-35.85499954223633,-11.678750038146973],"6-82-39":[-24.05923843383789,-4.212500095367432],"6-82-40":[-11.32437515258789,1.3336719274520874],"6-82-41":[0.8831250071525574,15.414999961853027],"6-82-42":[7.735000133514404,31.553438186645508],"6-82-43":[16.239452362060547,52.880001068115234],"6-82-44":[26.356266021728516,70.89543151855469],"6-82-45":[33.595001220703125,79.73480224609375],"6-82-46":[36.43375015258789,83.4390640258789],"6-82-47":[40.09375,89.69000244140625],"6-82-48":[31.650283813476562,1115.1273193359375],"6-82-49":[43.67124938964844,90.17913818359375],"6-82-50":[42.263126373291016,91.89125061035156],"6-82-51":[37.84000015258789,90.04910278320312],"6-82-52":[33.966251373291016,77.83000183105469],"6-82-53":[30.525083541870117,67.41486358642578],"6-82-54":[28.326749801635742,61.415000915527344],"6-82-55":[29.720582962036133,1774.6195068359375],"6-82-56":[1099.7449951171875,2729.031982421875],"6-82-57":[2482.794921875,3157.074951171875],"6-82-58":[3040.047607421875,3362.15869140625],"6-82-59":[3161.6669921875,3614.28759765625],"6-82-60":[3541.012451171875,3772.22216796875],"6-82-61":[3382.262451171875,3728.179931640625],"6-82-62":[3034.70751953125,3397.84375],"6-82-63":[-29.532499313354492,3048.456298828125],"6-83-0":[13.609829902648926,33.13312530517578],"6-83-1":[16.830181121826172,36.0710334777832],"5-41-0":[13.609829902648926,37.1193733215332],"6-83-2":[15.314127922058105,35.216407775878906],"6-83-3":[8.157500267028809,497.9058837890625],"5-41-1":[8.157500267028809,574.4508666992188],"4-20-0":[8.157500267028809,574.4508666992188],"6-83-4":[2.8399999141693115,16.008750915527344],"6-83-5":[1.2000000476837158,1212.8082275390625],"5-41-2":[1.2000000476837158,1212.8082275390625],"6-83-6":[-2.4800000190734863,1230.810302734375],"6-83-7":[-3.4825000762939453,212.1230010986328],"5-41-3":[-3.4825000762939453,1230.810302734375],"4-20-1":[-3.4825000762939453,1230.810302734375],"6-83-8":[21.023624420166016,244.38922119140625],"6-83-9":[32.3819580078125,331.02862548828125],"5-41-4":[5.534191608428955,441.3379211425781],"6-83-10":[0.6597825288772583,350.4629821777344],"6-83-11":[53.02870178222656,469.8078918457031],"5-41-5":[0.6597825288772583,469.8078918457031],"4-20-2":[0.6597825288772583,477.067626953125],"6-83-12":[50.86530303955078,476.5897216796875],"6-83-13":[40.69453430175781,627.3978271484375],"5-41-6":[-1.7810112237930298,627.3978271484375],"6-83-14":[-46.58251190185547,323.69195556640625],"6-83-15":[-87.64563751220703,232.08062744140625],"5-41-7":[-87.64563751220703,323.69195556640625],"4-20-3":[-87.64563751220703,627.3978271484375],"6-83-16":[-161.10369873046875,321.63134765625],"6-83-17":[-92.98035430908203,1858.16259765625],"5-41-8":[-173.8170623779297,1858.16259765625],"6-83-18":[-78.57514190673828,3878.237548828125],"6-83-19":[299.2399597167969,3814.00244140625],"5-41-9":[-78.57514190673828,5595.75146484375],"4-20-4":[-173.8170623779297,5595.75146484375],"6-83-20":[674.017333984375,4034.302490234375],"6-83-21":[627.23095703125,3448.74169921875],"5-41-10":[-91.08441925048828,4411.41015625],"6-83-22":[-84.07687377929688,2931.27001953125],"6-83-23":[-93.4913330078125,1395.6357421875],"5-41-11":[-110.56964111328125,2931.27001953125],"4-20-5":[-121.5427474975586,4411.41015625],"6-83-24":[-29.799631118774414,300.1856384277344],"6-83-25":[-71.9487533569336,1727.167236328125],"5-41-12":[-71.9487533569336,1727.167236328125],"6-83-26":[-76.14875030517578,1060.4178466796875],"6-83-27":[-94.45999908447266,1466.1551513671875],"5-41-13":[-145.357177734375,1466.682861328125],"4-20-6":[-145.357177734375,2493.234619140625],"6-83-28":[-107.48259735107422,-44.27000045776367],"6-83-29":[-112.8853988647461,-51.27000045776367],"5-41-14":[-112.8853988647461,723.5172119140625],"6-83-30":[-112.21499633789062,-52.38882827758789],"6-83-31":[-111.91312408447266,-50.21500015258789],"5-41-15":[-112.21499633789062,-49.03066635131836],"4-20-7":[-112.8853988647461,2422.223876953125],"6-83-32":[-107.43562316894531,-46.38254165649414],"6-83-33":[-100.54000091552734,862.7944946289062],"5-41-16":[-107.43562316894531,862.7944946289062],"6-83-34":[-86.89078521728516,-10.479891777038574],"6-83-35":[-74.62124633789062,-31.329999923706055],"5-41-17":[-86.89078521728516,5.074777603149414],"4-20-8":[-107.43562316894531,862.7944946289062],"6-83-36":[-65.80000305175781,-24.565000534057617],"6-83-37":[-50.203006744384766,-9.899639129638672],"5-41-18":[-65.80000305175781,-9.899639129638672],"6-83-38":[-36.26789093017578,-11.197110176086426],"6-83-39":[-27.014999389648438,3059.5537109375],"5-41-19":[-36.26789093017578,3059.5537109375],"4-20-9":[-95.34363555908203,3059.5537109375],"6-83-40":[-8.137499809265137,2.2799999713897705],"6-83-41":[0.8831250071525574,16.25],"5-41-20":[-11.32437515258789,16.25],"6-83-42":[7.735000133514404,33.51759719848633],"6-83-43":[16.986875534057617,55.75187683105469],"5-41-21":[7.735000133514404,55.75187683105469],"4-20-10":[-13.399310111999512,1977.9127197265625],"6-83-44":[26.422500610351562,65.97888946533203],"6-83-45":[28.6299991607666,71.7778091430664],"5-41-22":[26.356266021728516,79.73480224609375],"6-83-46":[31.755332946777344,77.91802978515625],"6-83-47":[36.38249969482422,85.70249938964844],"5-41-23":[31.755332946777344,89.69000244140625],"4-20-11":[26.356266021728516,92.36000061035156],"6-83-48":[41.07233428955078,88.95437622070312],"6-83-49":[41.42716598510742,88.25273132324219],"5-41-24":[31.650283813476562,1115.1273193359375],"6-83-50":[40.86249923706055,86.85906219482422],"6-83-51":[37.020999908447266,83.44125366210938],"5-41-25":[37.020999908447266,91.89125061035156],"4-20-12":[10.509146690368652,1115.1273193359375],"6-83-52":[33.5,75.3793716430664],"6-83-53":[30.594999313354492,67.42420196533203],"5-41-26":[30.525083541870117,77.83000183105469],"6-83-54":[28.688749313354492,62.310001373291016],"6-83-55":[29.587499618530273,2242.904296875],"5-41-27":[28.326749801635742,2242.904296875],"4-20-13":[27.255578994750977,2242.904296875],"6-83-56":[568.495849609375,2841.07763671875],"6-83-57":[2729.031982421875,3100.2177734375],"5-41-28":[568.495849609375,3157.074951171875],"6-83-58":[2651.98974609375,3161.6669921875],"6-83-59":[2944.39990234375,3541.012451171875],"5-41-29":[2651.98974609375,3614.28759765625],"4-20-14":[26.346220016479492,3615.31005859375],"6-83-60":[3405.030029296875,3807.2177734375],"6-83-61":[3397.84375,3762.742431640625],"5-41-30":[3382.262451171875,3807.2177734375],"6-83-62":[3048.456298828125,3423.544921875],"6-83-63":[-29.532499313354492,3056.24365234375],"5-41-31":[-29.532499313354492,3423.544921875],"4-20-15":[-29.532499313354492,3807.2177734375],"6-84-0":[13.609885215759277,32.725624084472656],"6-84-1":[15.68375015258789,35.51874923706055],"6-84-2":[14.453583717346191,462.9171447753906],"6-84-3":[6.067500114440918,600.6279907226562],"6-84-4":[1.877500057220459,99.90374755859375],"6-84-5":[-4.122187614440918,1436.7232666015625],"6-84-6":[-6.373164176940918,243.8814239501953],"6-84-7":[-6.062890529632568,220.036376953125],"6-84-8":[14.079083442687988,1250.9747314453125],"6-84-9":[44.807518005371094,1096.2373046875],"6-84-10":[-0.19025689363479614,1512.307861328125],"6-84-11":[81.33892822265625,975.8860473632812],"6-84-12":[69.62987518310547,1624.3941650390625],"6-84-13":[-109.78680419921875,1020.6593017578125],"6-84-14":[69.50052642822266,630.8472290039062],"6-84-15":[-35.723079681396484,381.11517333984375],"6-84-16":[-25.956588745117188,265.266845703125],"6-84-17":[-108.08636474609375,292.4346923828125],"6-84-18":[2.4456088542938232,3050.6884765625],"6-84-19":[657.64453125,3289.79150390625],"6-84-20":[218.20338439941406,3513.072998046875],"6-84-21":[84.19729614257812,4466.1357421875],"6-84-22":[-257.74481201171875,3206.2333984375],"6-84-23":[-71.95855712890625,2955.43017578125],"6-84-24":[-79.7562484741211,1006.286865234375],"6-84-25":[-89.60710906982422,187.09201049804688],"6-84-26":[-101.43460845947266,-35.61301040649414],"6-84-27":[-105.79339599609375,-39.16749954223633],"6-84-28":[-108.1450424194336,-47.234832763671875],"6-84-29":[-116.7359390258789,-51.27000045776367],"6-84-30":[-120.8292007446289,-54.73566818237305],"6-84-31":[-121.13484191894531,-53.64849853515625],"6-84-32":[-120.5250015258789,-50.27000045776367],"6-84-33":[-111.76499938964844,-41.47850036621094],"6-84-34":[-97.71062469482422,-15.91882038116455],"6-84-35":[-82.45490264892578,-11.705252647399902],"6-84-36":[-73.4800033569336,-25.08500099182129],"6-84-37":[-58.252498626708984,-16.991249084472656],"6-84-38":[-39.624141693115234,-4.404106616973877],"6-84-39":[-29.09976577758789,810.6611938476562],"6-84-40":[-9.759374618530273,2.2799999713897705],"6-84-41":[0.8360937237739563,15.40999984741211],"6-84-42":[7.341249942779541,34.60685729980469],"6-84-43":[17.48015594482422,52.900001525878906],"6-84-44":[21.665000915527344,56.55937576293945],"6-84-45":[24.504375457763672,63.5],"6-84-46":[28.483749389648438,71.78062438964844],"6-84-47":[33.69124984741211,82.13999938964844],"6-84-48":[37.057498931884766,84.49187469482422],"6-84-49":[39.192813873291016,84.87249755859375],"6-84-50":[37.64725112915039,82.9418716430664],"6-84-51":[36.03499984741211,81.00125122070312],"6-84-52":[33.477657318115234,74.04000091552734],"6-84-53":[30.968000411987305,66.4335708618164],"6-84-54":[28.910625457763672,62.36343765258789],"6-84-55":[28.43462562561035,1169.1824951171875],"6-84-56":[306.8424987792969,2834.452392578125],"6-84-57":[2494.947509765625,2971.594970703125],"6-84-58":[2350.4892578125,2944.39990234375],"6-84-59":[2693.02197265625,3405.030029296875],"6-84-60":[3368.56005859375,3828.333740234375],"6-84-61":[3423.544921875,3798.93408203125],"6-84-62":[3056.21240234375,3451.492431640625],"6-84-63":[-29.532499313354492,3061.97607421875],"6-85-0":[13.609885215759277,32.26250076293945],"6-85-1":[15.625833511352539,35.53937530517578],"5-42-0":[13.609885215759277,35.53937530517578],"6-85-2":[13.830897331237793,255.8768768310547],"6-85-3":[6.067500114440918,601.0454711914062],"5-42-1":[6.067500114440918,601.0454711914062],"6-85-4":[1.2725000381469727,851.3453369140625],"6-85-5":[-6.914999961853027,1077.9996337890625],"5-42-2":[-6.914999961853027,1436.7232666015625],"6-85-6":[-11.503125190734863,152.23358154296875],"6-85-7":[-9.854687690734863,400.7345886230469],"5-42-3":[-11.503125190734863,400.7345886230469],"6-85-8":[20.675209045410156,1773.7913818359375],"6-85-9":[-5.625511169433594,1487.9412841796875],"5-42-4":[-5.625511169433594,1773.7913818359375],"6-85-10":[-53.10524368286133,1559.3665771484375],"6-85-11":[-77.23284912109375,864.3931274414062],"5-42-5":[-77.23284912109375,1559.3665771484375],"6-85-12":[-233.10203552246094,1394.49267578125],"6-85-13":[29.594621658325195,600.1273193359375],"5-42-6":[-233.10203552246094,1624.3941650390625],"6-85-14":[24.54953384399414,429.20947265625],"6-85-15":[-30.903039932250977,315.68414306640625],"5-42-7":[-35.723079681396484,630.8472290039062],"6-85-16":[-30.460506439208984,243.13427734375],"6-85-17":[32.63323974609375,430.0711364746094],"5-42-8":[-108.08636474609375,430.0711364746094],"6-85-18":[50.89097595214844,3092.391845703125],"6-85-19":[225.19778442382812,3228.771728515625],"5-42-9":[2.4456088542938232,3289.79150390625],"6-85-20":[429.5672302246094,2831.81494140625],"6-85-21":[250.9495391845703,3905.225830078125],"5-42-10":[84.19729614257812,4466.1357421875],"6-85-22":[-102.10209655761719,3453.87939453125],"6-85-23":[-85.99624633789062,2164.40185546875],"5-42-11":[-257.74481201171875,3453.87939453125],"6-85-24":[-99.79914093017578,1992.4886474609375],"6-85-25":[-110.94312286376953,-39.87812805175781],"5-42-12":[-110.94312286376953,1992.4886474609375],"6-85-26":[-117.40499877929688,-43.92679977416992],"6-85-27":[-127.51000213623047,-50.662498474121094],"5-42-13":[-127.51000213623047,-35.61301040649414],"6-85-28":[-131.9931182861328,-54.3224983215332],"6-85-29":[-131.8300018310547,-55.098751068115234],"5-42-14":[-131.9931182861328,-47.234832763671875],"6-85-30":[-135.57000732421875,-59.068748474121094],"6-85-31":[-136.22312927246094,-60.26250076293945],"5-42-15":[-136.22312927246094,-53.64849853515625],"6-85-32":[-135.18687438964844,-55.88249969482422],"6-85-33":[-126.28656005859375,-49.837501525878906],"5-42-16":[-135.18687438964844,-41.47850036621094],"6-85-34":[-114.16500091552734,-41.73875045776367],"6-85-35":[-93.30750274658203,-35.72483444213867],"5-42-17":[-114.16500091552734,-11.705252647399902],"6-85-36":[-76.6988296508789,-25.5170841217041],"6-85-37":[-60.9111328125,12.56291389465332],"5-42-18":[-76.6988296508789,12.56291389465332],"6-85-38":[-42.125,-11.510475158691406],"6-85-39":[-26.501249313354492,-4.38040018081665],"5-42-19":[-42.125,810.6611938476562],"6-85-40":[-10.148750305175781,1.0206249952316284],"6-85-41":[0.6165624856948853,18.405624389648438],"5-42-20":[-10.148750305175781,18.405624389648438],"6-85-42":[7.341249942779541,33.392539978027344],"6-85-43":[14.166250228881836,42.26124954223633],"5-42-21":[7.341249942779541,52.900001525878906],"6-85-44":[20.808622360229492,47.96812438964844],"6-85-45":[23.876249313354492,56.420936584472656],"5-42-22":[20.808622360229492,63.5],"6-85-46":[27.269739151000977,65.09236145019531],"6-85-47":[30.366249084472656,73.17375183105469],"5-42-23":[27.269739151000977,82.13999938964844],"6-85-48":[33.17466735839844,77.74027252197266],"6-85-49":[36.618751525878906,78.56620788574219],"5-42-24":[33.17466735839844,84.87249755859375],"6-85-50":[36.35200119018555,77.828125],"6-85-51":[34.922000885009766,75.63871002197266],"5-42-25":[34.922000885009766,82.9418716430664],"6-85-52":[32.62125015258789,71.76249694824219],"6-85-53":[30.301000595092773,66.44049072265625],"5-42-26":[30.301000595092773,74.04000091552734],"6-85-54":[27.356874465942383,61.95343780517578],"6-85-55":[26.88512420654297,470.01031494140625],"5-42-27":[26.88512420654297,1169.1824951171875],"6-85-56":[29.802749633789062,2724.66064453125],"6-85-57":[1711.9925537109375,2726.291259765625],"5-42-28":[29.802749633789062,2971.594970703125],"6-85-58":[1711.9925537109375,2693.02197265625],"6-85-59":[2435.246337890625,3395.860107421875],"5-42-29":[1711.9925537109375,3405.030029296875],"6-85-60":[3366.599365234375,3894.071533203125],"6-85-61":[3451.492431640625,3860.75],"5-42-30":[3366.599365234375,3894.071533203125],"6-85-62":[3061.900390625,3477.37744140625],"6-85-63":[-29.532499313354492,3064.632568359375],"5-42-31":[-29.532499313354492,3477.37744140625],"6-86-0":[13.591815948486328,31.913436889648438],"6-86-1":[14.498749732971191,35.53937530517578],"6-86-2":[11.813124656677246,372.34259033203125],"6-86-3":[3.3450000286102295,515.3949584960938],"6-86-4":[1.0631250143051147,851.77294921875],"6-86-5":[-8.2890625,891.6768188476562],"6-86-6":[-14.789999961853027,-3.6028332710266113],"6-86-7":[-14.033320426940918,414.414306640625],"6-86-8":[-7.893750190734863,1361.21142578125],"6-86-9":[-6.903450012207031,250.24729919433594],"6-86-10":[-12.453062057495117,219.7003173828125],"6-86-11":[30.074390411376953,213.65406799316406],"6-86-12":[40.86934280395508,217.00564575195312],"6-86-13":[-251.8015594482422,281.4515686035156],"6-86-14":[1.3596724271774292,248.90374755859375],"6-86-15":[3.2725136280059814,244.1541290283203],"6-86-16":[-29.811279296875,713.3446655273438],"6-86-17":[-65.14035034179688,925.0496215820312],"6-86-18":[118.27310943603516,769.0946655273438],"6-86-19":[259.0544128417969,3625.12255859375],"6-86-20":[437.5157470703125,4120.5810546875],"6-86-21":[417.86309814453125,2348.73486328125],"6-86-22":[-70.19376373291016,2575.16650390625],"6-86-23":[-95.28062438964844,426.3899230957031],"6-86-24":[-105.5918197631836,-40.847251892089844],"6-86-25":[-120.88062286376953,-49.19171905517578],"6-86-26":[-133.1916046142578,-54.847251892089844],"6-86-27":[-143.87750244140625,-59.25374984741211],"6-86-28":[-150.33204650878906,-63.76183319091797],"6-86-29":[-151.56480407714844,-65.77649688720703],"6-86-30":[-150.83811950683594,-65.78291320800781],"6-86-31":[-149.0906219482422,-67.58525085449219],"6-86-32":[-147.34375,-64.0062484741211],"6-86-33":[-138.47950744628906,-57.09108352661133],"6-86-34":[-126.91343688964844,-47.83124923706055],"6-86-35":[-106.99017333984375,-36.762664794921875],"6-86-36":[-89.41687774658203,-30.072500228881836],"6-86-37":[-64.87298583984375,-21.063350677490234],"6-86-38":[-48.22999954223633,209.3679656982422],"6-86-39":[-26.278749465942383,376.4708557128906],"6-86-40":[-11.569999694824219,0.8020312786102295],"6-86-41":[0.26499998569488525,18.364999771118164],"6-86-42":[7.71875,27.1746883392334],"6-86-43":[12.565625190734863,39.029998779296875],"6-86-44":[18.375,47.61000061035156],"6-86-45":[23.483125686645508,52.92499923706055],"6-86-46":[25.88249969482422,59.571876525878906],"6-86-47":[28.888124465942383,66.33999633789062],"6-86-48":[31.732500076293945,72.20964813232422],"6-86-49":[35.04890441894531,79.6083984375],"6-86-50":[34.6657829284668,75.07125091552734],"6-86-51":[34.42070388793945,72.79781341552734],"6-86-52":[31.272109985351562,70.55187225341797],"6-86-53":[28.815000534057617,64.54875183105469],"6-86-54":[26.886249542236328,60.599998474121094],"6-86-55":[24.41179656982422,59.599998474121094],"6-86-56":[27.969999313354492,2407.489990234375],"6-86-57":[1004.1722412109375,2407.489990234375],"6-86-58":[953.7227783203125,2435.246337890625],"6-86-59":[2297.211181640625,3458.6923828125],"6-86-60":[3395.860107421875,3925.84765625],"6-86-61":[3477.37744140625,3915.116943359375],"6-86-62":[3064.431640625,3500.576171875],"6-86-63":[-29.532499313354492,3065.396484375],"6-87-0":[13.591815948486328,31.438613891601562],"6-87-1":[14.361332893371582,35.36769485473633],"5-43-0":[13.591815948486328,35.53937530517578],"6-87-2":[10.387499809265137,28.831249237060547],"6-87-3":[2.680000066757202,330.29296875],"5-43-1":[2.680000066757202,515.3949584960938],"4-21-0":[2.680000066757202,601.0454711914062],"6-87-4":[-2.1500000953674316,1076.990966796875],"6-87-5":[-10.359999656677246,397.9580383300781],"5-43-2":[-10.359999656677246,1076.990966796875],"6-87-6":[-15.859375,37.99549865722656],"6-87-7":[-16.493946075439453,1223.9254150390625],"5-43-3":[-16.493946075439453,1223.9254150390625],"4-21-1":[-16.493946075439453,1436.7232666015625],"3-10-0":[-16.493946075439453,1436.7232666015625],"6-87-8":[-9.1049165725708,1275.3896484375],"6-87-9":[-9.416341781616211,200.26785278320312],"5-43-4":[-9.416341781616211,1361.21142578125],"6-87-10":[-16.28082275390625,154.2554168701172],"6-87-11":[12.980074882507324,142.52976989746094],"5-43-5":[-16.28082275390625,219.7003173828125],"4-21-2":[-77.23284912109375,1773.7913818359375],"6-87-12":[33.77791976928711,210.7185821533203],"6-87-13":[8.934012413024902,447.897705078125],"5-43-6":[-251.8015594482422,447.897705078125],"6-87-14":[78.72257232666016,1084.5328369140625],"6-87-15":[-9.591490745544434,566.9865112304688],"5-43-7":[-9.591490745544434,1084.5328369140625],"4-21-3":[-251.8015594482422,1624.3941650390625],"3-10-1":[-251.8015594482422,1773.7913818359375],"6-87-16":[64.29000091552734,821.11669921875],"6-87-17":[59.56960678100586,2139.161376953125],"5-43-8":[-65.14035034179688,2139.161376953125],"6-87-18":[168.80569458007812,4103.599609375],"6-87-19":[306.0535888671875,4599.83251953125],"5-43-9":[118.27310943603516,4599.83251953125],"4-21-4":[-108.08636474609375,4599.83251953125],"6-87-20":[773.4352416992188,4772.1142578125],"6-87-21":[-3.5499963760375977,3524.88916015625],"5-43-10":[-3.5499963760375977,4772.1142578125],"6-87-22":[-79.14826965332031,2437.67236328125],"6-87-23":[-101.83999633789062,529.039794921875],"5-43-11":[-101.83999633789062,2575.16650390625],"4-21-5":[-257.74481201171875,4772.1142578125],"3-10-2":[-257.74481201171875,5595.75146484375],"6-87-24":[-118.43000030517578,-45.372501373291016],"6-87-25":[-141.92999267578125,-54.11312484741211],"5-43-12":[-141.92999267578125,-40.847251892089844],"6-87-26":[-150.6981201171875,-61.38249969482422],"6-87-27":[-163.77999877929688,-68.36000061035156],"5-43-13":[-163.77999877929688,-54.847251892089844],"4-21-6":[-163.77999877929688,1992.4886474609375],"6-87-28":[-170.55125427246094,-73.16500091552734],"6-87-29":[-174.44000244140625,-76.65374755859375],"5-43-14":[-174.44000244140625,-63.76183319091797],"6-87-30":[-173.19000244140625,-74.88175201416016],"6-87-31":[-167.30062866210938,-74.44999694824219],"5-43-15":[-173.19000244140625,-65.78291320800781],"4-21-7":[-174.44000244140625,-47.234832763671875],"3-10-3":[-174.44000244140625,2493.234619140625],"6-87-32":[-162.10000610351562,-70.63249969482422],"6-87-33":[-151.06375122070312,-64.32250213623047],"5-43-16":[-162.10000610351562,-57.09108352661133],"6-87-34":[-139.13999938964844,-55.61750030517578],"6-87-35":[-119.36250305175781,-45.345001220703125],"5-43-17":[-139.13999938964844,-36.762664794921875],"4-21-8":[-162.10000610351562,-11.705252647399902],"6-87-36":[-99.81999969482422,-34.09437561035156],"6-87-37":[-73.90937805175781,-24.115400314331055],"5-43-18":[-99.81999969482422,-21.063350677490234],"6-87-38":[-54.68000030517578,-13.140049934387207],"6-87-39":[-30.901874542236328,-5.980000019073486],"5-43-19":[-54.68000030517578,376.4708557128906],"4-21-9":[-99.81999969482422,810.6611938476562],"3-10-4":[-162.10000610351562,3059.5537109375],"6-87-40":[-16.860000610351562,0.26499998569488525],"6-87-41":[-1.5125000476837158,14.594687461853027],"5-43-20":[-16.860000610351562,18.364999771118164],"6-87-42":[5.698419570922852,23.562227249145508],"6-87-43":[10.555000305175781,36.103126525878906],"5-43-21":[5.698419570922852,39.029998779296875],"4-21-10":[-16.860000610351562,52.900001525878906],"6-87-44":[18.375,45.534454345703125],"6-87-45":[20.452499389648438,51.4665641784668],"5-43-22":[18.375,52.92499923706055],"6-87-46":[25.88249969482422,56.5847282409668],"6-87-47":[28.047500610351562,63.43589782714844],"5-43-23":[25.88249969482422,66.33999633789062],"4-21-11":[18.375,82.13999938964844],"3-10-5":[-16.860000610351562,1977.9127197265625],"6-87-48":[31.010000228881836,78.84500122070312],"6-87-49":[35.15812683105469,81.14828491210938],"5-43-24":[31.010000228881836,81.14828491210938],"6-87-50":[34.5724983215332,74.8359375],"6-87-51":[33.7418327331543,72.47937774658203],"5-43-25":[33.7418327331543,75.07125091552734],"4-21-12":[31.010000228881836,84.87249755859375],"6-87-52":[30.616500854492188,72.74615478515625],"6-87-53":[28.030916213989258,63.260955810546875],"5-43-26":[28.030916213989258,72.74615478515625],"6-87-54":[25.926406860351562,57.15625],"6-87-55":[24.41179656982422,55.453125],"5-43-27":[24.41179656982422,60.599998474121094],"4-21-13":[24.41179656982422,1169.1824951171875],"3-10-6":[10.509146690368652,2242.904296875],"6-87-56":[25.66550064086914,1925.53857421875],"6-87-57":[136.322509765625,1897.67236328125],"5-43-28":[25.66550064086914,2407.489990234375],"6-87-58":[355.79998779296875,2297.211181640625],"6-87-59":[2244.47998046875,3491.060302734375],"5-43-29":[355.79998779296875,3491.060302734375],"4-21-14":[25.66550064086914,3491.060302734375],"6-87-60":[3458.6923828125,3965.199951171875],"6-87-61":[3500.576171875,3965.199951171875],"5-43-30":[3395.860107421875,3965.199951171875],"6-87-62":[3065.04248046875,3512.3701171875],"6-87-63":[-29.532499313354492,3065.316162109375],"5-43-31":[-29.532499313354492,3512.3701171875],"4-21-15":[-29.532499313354492,3965.199951171875],"3-10-7":[-29.532499313354492,3965.199951171875],"6-88-0":[13.58133316040039,31.003124237060547],"6-88-1":[13.273750305175781,34.79875183105469],"6-88-2":[9.601875305175781,27.690000534057617],"6-88-3":[1.2999999523162842,19.271249771118164],"6-88-4":[-5.136581897735596,793.4641723632812],"6-88-5":[-12.571249961853027,3.9598333835601807],"6-88-6":[-14.529062271118164,64.33499908447266],"6-88-7":[-18.335311889648438,249.40220642089844],"6-88-8":[-13.238791465759277,223.29156494140625],"6-88-9":[3.217822313308716,226.5132293701172],"6-88-10":[-20.97278594970703,136.46517944335938],"6-88-11":[2.463749408721924,131.77439880371094],"6-88-12":[34.5001335144043,332.4967041015625],"6-88-13":[145.8518829345703,893.054931640625],"6-88-14":[222.12786865234375,731.78369140625],"6-88-15":[55.49120330810547,447.98779296875],"6-88-16":[49.183555603027344,2106.115966796875],"6-88-17":[156.79754638671875,5451.9560546875],"6-88-18":[244.11167907714844,5411.26806640625],"6-88-19":[361.4432678222656,5666.75341796875],"6-88-20":[181.3050537109375,4714.7666015625],"6-88-21":[-15.134298324584961,3432.06591796875],"6-88-22":[-77.26504516601562,1024.233154296875],"6-88-23":[-103.32820129394531,403.1736145019531],"6-88-24":[-126.48409271240234,569.0103759765625],"6-88-25":[-152.375,-59.602500915527344],"6-88-26":[-167.16624450683594,-70.9713363647461],"6-88-27":[-179.30499267578125,-76.12249755859375],"6-88-28":[-187.0712432861328,-81.8981704711914],"6-88-29":[-189.19090270996094,-85.5999984741211],"6-88-30":[-189.77679443359375,-83.95249938964844],"6-88-31":[-187.16543579101562,-81.05816650390625],"6-88-32":[-180.8800048828125,-76.23500061035156],"6-88-33":[-170.45375061035156,-69.57675170898438],"6-88-34":[-155.67250061035156,-60.53499984741211],"6-88-35":[-133.84500122070312,-49.919498443603516],"6-88-36":[-111.16312408447266,-38.442501068115234],"6-88-37":[-85.99564361572266,-27.34749984741211],"6-88-38":[-66.92937469482422,-16.672500610351562],"6-88-39":[-40.71826171875,-8.666500091552734],"6-88-40":[-24.154375076293945,-1.5125000476837158],"6-88-41":[-5.666523456573486,10.449999809265137],"6-88-42":[1.9137500524520874,19.782499313354492],"6-88-43":[7.537499904632568,31.299999237060547],"6-88-44":[12.647500038146973,39.84749984741211],"6-88-45":[17.05500030517578,49.38999938964844],"6-88-46":[21.657499313354492,55.451873779296875],"6-88-47":[26.112499237060547,62.119998931884766],"6-88-48":[30.670534133911133,79.27613067626953],"6-88-49":[-55.81418991088867,1713.785400390625],"6-88-50":[33.89144515991211,78.23722839355469],"6-88-51":[33.400001525878906,70.94000244140625],"6-88-52":[29.734375,72.0718765258789],"6-88-53":[27.21125030517578,63.178749084472656],"6-88-54":[24.13249969482422,56.060001373291016],"6-88-55":[22.304332733154297,50.77000045776367],"6-88-56":[16.286874771118164,1116.816650390625],"6-88-57":[13.9009370803833,1564.498779296875],"6-88-58":[355.79998779296875,2295.873046875],"6-88-59":[2244.131591796875,3490.989990234375],"6-88-60":[3476.04248046875,3997.781982421875],"6-88-61":[3512.3701171875,4001.339111328125],"6-88-62":[3064.809326171875,3523.625],"6-88-63":[-29.53266716003418,3065.04248046875],"6-89-0":[13.609577178955078,30.404550552368164],"6-89-1":[13.245499610900879,33.534568786621094],"5-44-0":[13.245499610900879,34.79875183105469],"6-89-2":[9.342499732971191,26.420936584472656],"6-89-3":[1.068416714668274,16.781875610351562],"5-44-1":[1.068416714668274,27.690000534057617],"6-89-4":[-9.3540620803833,2.275624990463257],"6-89-5":[-14.345000267028809,7.8828125],"5-44-2":[-14.345000267028809,793.4641723632812],"6-89-6":[-19.824687957763672,60.29865264892578],"6-89-7":[-28.709999084472656,104.262451171875],"5-44-3":[-28.709999084472656,249.40220642089844],"6-89-8":[-30.5887508392334,100.52874755859375],"6-89-9":[14.747859001159668,139.62506103515625],"5-44-4":[-30.5887508392334,226.5132293701172],"6-89-10":[-23.631439208984375,118.5112533569336],"6-89-11":[12.073504447937012,117.66683197021484],"5-44-5":[-23.631439208984375,136.46517944335938],"6-89-12":[-17.41826057434082,204.1189422607422],"6-89-13":[-52.69059371948242,749.6593627929688],"5-44-6":[-52.69059371948242,893.054931640625],"6-89-14":[235.46090698242188,1122.4857177734375],"6-89-15":[163.0922088623047,1082.593994140625],"5-44-7":[55.49120330810547,1122.4857177734375],"6-89-16":[148.1405792236328,4445.77294921875],"6-89-17":[252.71728515625,5979.54150390625],"5-44-8":[49.183555603027344,5979.54150390625],"6-89-18":[784.1422119140625,7425.21533203125],"6-89-20":[59.848262786865234,2777.07177734375],"6-89-19":[190.61822509765625,7670.16748046875],"5-44-9":[190.61822509765625,7670.16748046875],"6-89-21":[3.236844539642334,1028.72265625],"5-44-10":[-15.134298324584961,4714.7666015625],"6-89-22":[-10.17637825012207,913.4779663085938],"6-89-23":[-89.15397644042969,1654.095947265625],"5-44-11":[-103.32820129394531,1654.095947265625],"6-89-24":[-133.03619384765625,1010.3441162109375],"6-89-25":[-155.7637481689453,598.42578125],"5-44-12":[-155.7637481689453,1010.3441162109375],"6-89-26":[-173.22425842285156,-75.99773406982422],"6-89-27":[-184.154052734375,-67.66439819335938],"5-44-13":[-184.154052734375,-67.66439819335938],"6-89-28":[-193.1654510498047,-72.32279205322266],"6-89-29":[-194.62850952148438,-67.67924499511719],"5-44-14":[-194.62850952148438,-67.67924499511719],"6-89-30":[-195.23562622070312,-67.2073745727539],"6-89-31":[-194.80885314941406,-43.56918716430664],"5-44-15":[-195.23562622070312,-43.56918716430664],"6-89-32":[-191.20252990722656,-78.05555725097656],"6-89-33":[-180.9600067138672,-40.52687072753906],"5-44-16":[-191.20252990722656,-40.52687072753906],"6-89-34":[-165.0449981689453,-37.609893798828125],"6-89-35":[-149.6699981689453,-56.07749938964844],"5-44-17":[-165.0449981689453,-37.609893798828125],"6-89-36":[-128.72000122070312,-45.30812454223633],"6-89-37":[-102.86812591552734,-34.290000915527344],"5-44-18":[-128.72000122070312,-27.34749984741211],"6-89-38":[-81.8499984741211,-22.521875381469727],"6-89-39":[-54.744998931884766,-12.774999618530273],"5-44-19":[-81.8499984741211,-8.666500091552734],"6-89-40":[-37.18000030517578,-4.349999904632568],"6-89-41":[-16.369688034057617,3.125312566757202],"5-44-20":[-37.18000030517578,10.449999809265137],"6-89-42":[-2.9700000286102295,13.038398742675781],"6-89-43":[4.233749866485596,24.3331241607666],"5-44-21":[-2.9700000286102295,31.299999237060547],"6-89-44":[9.980838775634766,32.1579475402832],"6-89-45":[13.896249771118164,42.416873931884766],"5-44-22":[9.980838775634766,49.38999938964844],"6-89-46":[21.657499313354492,50.574649810791016],"6-89-47":[23.209999084472656,61.34000015258789],"5-44-23":[21.657499313354492,62.119998931884766],"6-89-48":[28.470733642578125,76.09500122070312],"6-89-49":[32.489540100097656,302.7770080566406],"5-44-24":[-55.81418991088867,1713.785400390625],"6-89-50":[6.342123985290527,315.341552734375],"6-89-51":[32.786834716796875,72.04261779785156],"5-44-25":[6.342123985290527,315.341552734375],"6-89-52":[28.917030334472656,68.60242462158203],"6-89-53":[26.945667266845703,58.87214660644531],"5-44-26":[26.945667266845703,72.0718765258789],"6-89-54":[21.202499389648438,53.897499084472656],"6-89-55":[21.202499389648438,49.05253982543945],"5-44-27":[21.202499389648438,56.060001373291016],"6-89-56":[16.076641082763672,392.2562561035156],"6-89-57":[13.9009370803833,1769.27001953125],"5-44-28":[13.9009370803833,1769.27001953125],"6-89-58":[1383.42626953125,2436.166259765625],"6-89-59":[2295.873046875,3484.925048828125],"5-44-29":[355.79998779296875,3490.989990234375],"6-89-60":[3476.04248046875,4020.699951171875],"6-89-61":[3523.625,4020.699951171875],"5-44-30":[3476.04248046875,4020.699951171875],"6-89-62":[3063.5986328125,3529.72998046875],"6-89-63":[-29.53266716003418,3064.809326171875],"5-44-31":[-29.53266716003418,3529.72998046875],"6-90-0":[13.567000389099121,29.920625686645508],"6-90-1":[12.1875,32.384376525878906],"6-90-2":[9.210624694824219,25.5],"6-90-3":[0.2549999952316284,16.052715301513672],"6-90-4":[-11.922402381896973,1.309999942779541],"6-90-5":[-15.175000190734863,-4.479052543640137],"6-90-6":[-19.824687957763672,102.1339340209961],"6-90-7":[-28.88312530517578,97.20354461669922],"6-90-8":[-30.5887508392334,91.647705078125],"6-90-9":[11.335124969482422,169.40936279296875],"6-90-10":[-26.47713851928711,102.5190200805664],"6-90-11":[16.218286514282227,130.7038116455078],"6-90-12":[-4.562238693237305,132.7057342529297],"6-90-13":[-44.98386001586914,965.2605590820312],"6-90-14":[341.6103210449219,1507.2652587890625],"6-90-15":[71.29281616210938,1151.872802734375],"6-90-16":[241.76966857910156,4807.3486328125],"6-90-17":[805.574462890625,6513.203125],"6-90-18":[1232.72265625,7543.40625],"6-90-20":[101.67042541503906,5343.3193359375],"6-90-21":[81.23748016357422,447.7905578613281],"6-90-22":[129.0603485107422,997.9905395507812],"6-90-19":[396.4926452636719,8087.95751953125],"6-90-23":[-71.00019836425781,1264.9271240234375],"6-90-24":[-72.07383728027344,1499.2198486328125],"6-90-25":[-97.08061218261719,1527.7735595703125],"6-90-26":[-172.10037231445312,969.7511596679688],"6-90-27":[-189.49366760253906,1943.77294921875],"6-90-28":[-199.6003875732422,132.04934692382812],"6-90-29":[-204.1074981689453,-76.78763580322266],"6-90-30":[-205.06118774414062,-73.55055236816406],"6-90-31":[-204.42152404785156,-69.2811508178711],"6-90-32":[-200.90249633789062,-74.10244750976562],"6-90-33":[-190.6924285888672,-82.52249908447266],"6-90-34":[-178.24188232421875,-74.83499908447266],"6-90-35":[-156.7588653564453,-64.37033081054688],"6-90-36":[-137.015625,-52.73625183105469],"6-90-37":[-110.71424102783203,-40.93366622924805],"6-90-38":[-90.73406219482422,-28.8075008392334],"6-90-39":[-64.93965148925781,-19.043500900268555],"6-90-40":[-47.64374923706055,-9.273750305175781],"6-90-41":[-26.358476638793945,-1.846333384513855],"6-90-42":[-11.943437576293945,7.030312538146973],"6-90-43":[1.097499966621399,18.969999313354492],"6-90-44":[6.574999809265137,26.735937118530273],"6-90-45":[11.562032699584961,36.439998626708984],"6-90-46":[16.22953224182129,45.24531173706055],"6-90-47":[21.291250228881836,56.939998626708984],"6-90-48":[26.157499313354492,64.97750091552734],"6-90-49":[29.487499237060547,73.83999633789062],"6-90-50":[27.757192611694336,2779.40234375],"6-90-51":[30.57604217529297,74.04125213623047],"6-90-52":[29.342500686645508,65.79000091552734],"6-90-53":[23.637500762939453,58.33574295043945],"6-90-54":[20.446874618530273,50.43000030517578],"6-90-55":[17.327655792236328,44.94062423706055],"6-90-56":[15.751041412353516,1525.6346435546875],"6-90-57":[392.2562561035156,2210.2412109375],"6-90-58":[1769.27001953125,2619.184326171875],"6-90-59":[2436.166259765625,3487.592529296875],"6-90-60":[3484.4853515625,4037.864013671875],"6-90-61":[3527.594970703125,4030.894287109375],"6-90-62":[3063.362548828125,3530.3095703125],"6-90-63":[-29.53266716003418,3064.81396484375],"6-91-0":[13.586562156677246,29.323749542236328],"6-91-1":[12.1875,31.001249313354492],"5-45-0":[12.1875,32.384376525878906],"6-91-2":[8.560308456420898,24.234375],"6-91-3":[-0.3400000035762787,15.883125305175781],"5-45-1":[-0.3400000035762787,25.5],"4-22-0":[-0.3400000035762787,34.79875183105469],"6-91-4":[-13.014726638793945,0.3643749952316284],"6-91-5":[-17.459999084472656,-5.581953048706055],"5-45-2":[-17.459999084472656,1.309999942779541],"6-91-6":[-19.991405487060547,101.99349975585938],"6-91-7":[-29.042499542236328,103.00816345214844],"5-45-3":[-29.042499542236328,103.00816345214844],"4-22-1":[-29.042499542236328,793.4641723632812],"6-91-8":[-29.042499542236328,81.74091339111328],"6-91-9":[-9.532187461853027,122.71709442138672],"5-45-4":[-30.5887508392334,169.40936279296875],"6-91-10":[-28.838241577148438,110.80467224121094],"6-91-11":[16.809194564819336,118.6754379272461],"5-45-5":[-28.838241577148438,130.7038116455078],"4-22-2":[-30.5887508392334,226.5132293701172],"6-91-12":[41.21223831176758,133.67994689941406],"6-91-13":[17.89723014831543,487.7553405761719],"5-45-6":[-44.98386001586914,965.2605590820312],"6-91-14":[131.95521545410156,1504.9158935546875],"6-91-15":[271.4757995605469,1384.8092041015625],"5-45-7":[71.29281616210938,1507.2652587890625],"4-22-3":[-52.69059371948242,1507.2652587890625],"6-91-16":[329.52978515625,4930.9462890625],"6-91-17":[1039.8211669921875,5827.626953125],"5-45-8":[241.76966857910156,6513.203125],"6-91-18":[1051.98046875,6379.7509765625],"6-91-19":[2249.39453125,8560.572265625],"5-45-9":[396.4926452636719,8560.572265625],"4-22-4":[49.183555603027344,8560.572265625],"6-91-20":[176.06027221679688,6725.078125],"6-91-21":[96.74449157714844,4563.5791015625],"5-45-10":[81.23748016357422,6725.078125],"6-91-22":[31.65577507019043,732.7535400390625],"6-91-23":[133.09837341308594,994.2244873046875],"5-45-11":[-71.00019836425781,1264.9271240234375],"4-22-5":[-103.32820129394531,6725.078125],"6-91-24":[88.59796905517578,1273.2572021484375],"6-91-25":[133.6719970703125,698.37109375],"5-45-12":[-97.08061218261719,1527.7735595703125],"6-91-26":[29.034944534301758,1069.766845703125],"6-91-27":[-98.97490692138672,2543.214111328125],"5-45-13":[-189.49366760253906,2543.214111328125],"4-22-6":[-189.49366760253906,2543.214111328125],"6-91-28":[-197.24874877929688,2590.236083984375],"6-91-29":[-213.048828125,1544.9346923828125],"5-45-14":[-213.048828125,2590.236083984375],"6-91-30":[-213.8937530517578,-102.05374908447266],"6-91-31":[-208.08250427246094,-100.58000183105469],"5-45-15":[-213.8937530517578,-69.2811508178711],"4-22-7":[-213.8937530517578,2590.236083984375],"6-91-32":[-205.63999938964844,-96.41999816894531],"6-91-33":[-194.0124969482422,-89.47624969482422],"5-45-16":[-205.63999938964844,-74.10244750976562],"6-91-34":[-182.41000366210938,-79.86937713623047],"6-91-35":[-161.3507080078125,-69.08999633789062],"5-45-17":[-182.41000366210938,-64.37033081054688],"4-22-8":[-205.63999938964844,-37.609893798828125],"6-91-36":[-142.1999969482422,-57.493125915527344],"6-91-37":[-116.72624969482422,-45.588748931884766],"5-45-18":[-142.1999969482422,-40.93366622924805],"6-91-38":[-98.12999725341797,-34.544376373291016],"6-91-39":[-76.38500213623047,-24.502500534057617],"5-45-19":[-98.12999725341797,-19.043500900268555],"4-22-9":[-142.1999969482422,-8.666500091552734],"6-91-40":[-59.560001373291016,-14.97249984741211],"6-91-41":[-39.682498931884766,-6.642499923706055],"5-45-20":[-59.560001373291016,-1.846333384513855],"6-91-42":[-24.549999237060547,1.097499966621399],"6-91-43":[-6.230625152587891,12.329375267028809],"5-45-21":[-24.549999237060547,18.969999313354492],"4-22-10":[-59.560001373291016,31.299999237060547],"6-91-44":[3.6900084018707275,23.122499465942383],"6-91-45":[-0.4597697854042053,882.58056640625],"5-45-22":[-0.4597697854042053,882.58056640625],"6-91-46":[14.12126636505127,40.83732604980469],"6-91-47":[18.737499237060547,51.82062530517578],"5-45-23":[14.12126636505127,56.939998626708984],"4-22-11":[-0.4597697854042053,882.58056640625],"6-91-48":[26.157499313354492,57.62826156616211],"6-91-49":[26.587499618530273,64.21499633789062],"5-45-24":[26.157499313354492,73.83999633789062],"6-91-50":[28.514999389648438,71.31187438964844],"6-91-51":[27.465333938598633,68.42758178710938],"5-45-25":[27.465333938598633,2779.40234375],"4-22-12":[-55.81418991088867,2779.40234375],"6-91-52":[27.545000076293945,61.2189826965332],"6-91-53":[23.637500762939453,57.258731842041016],"5-45-26":[23.637500762939453,65.79000091552734],"6-91-54":[18.377500534057617,46.64437484741211],"6-91-55":[17.303916931152344,38.657928466796875],"5-45-27":[17.303916931152344,50.43000030517578],"4-22-13":[17.303916931152344,72.0718765258789],"6-91-56":[15.751041412353516,1873.5450439453125],"6-91-57":[1472.92919921875,2662.64501953125],"5-45-28":[15.751041412353516,2662.64501953125],"6-91-58":[2210.2412109375,2841.820068359375],"6-91-59":[2619.184326171875,3506.7099609375],"5-45-29":[1769.27001953125,3506.7099609375],"4-22-14":[13.9009370803833,3506.7099609375],"6-91-60":[3487.592529296875,4042.030029296875],"6-91-61":[3516.409912109375,4030.726318359375],"5-45-30":[3484.4853515625,4042.030029296875],"6-91-62":[3063.050048828125,3527.594970703125],"6-91-63":[-29.53266716003418,3066.410400390625],"5-45-31":[-29.53266716003418,3530.3095703125],"4-22-15":[-29.53266716003418,4042.030029296875],"6-92-0":[13.552666664123535,28.873125076293945],"6-92-1":[11.244999885559082,30.231250762939453],"6-92-2":[7.88937520980835,23.270000457763672],"6-92-3":[-1.4443750381469727,283.88800048828125],"6-92-4":[-12.524999618530273,-0.3400000035762787],"6-92-5":[-17.930936813354492,255.30909729003906],"6-92-6":[-21.305137634277344,243.7481231689453],"6-92-7":[-24.360000610351562,117.75812530517578],"6-92-8":[-24.360000610351562,64.42933654785156],"6-92-9":[-19.865156173706055,203.6481475830078],"6-92-10":[-30.157249450683594,114.51226043701172],"6-92-11":[9.322805404663086,125.14555358886719],"6-92-12":[63.096519470214844,235.4797821044922],"6-92-13":[48.158748626708984,478.2939147949219],"6-92-14":[109.62982177734375,1419.865234375],"6-92-15":[276.3157043457031,4532.619140625],"6-92-16":[432.3592529296875,6633.61328125],"6-92-17":[908.5514526367188,7087.39013671875],"6-92-18":[1029.3973388671875,4976.92919921875],"6-92-19":[1276.560546875,7022.2939453125],"6-92-20":[2453.791748046875,7194.46435546875],"6-92-21":[35.378177642822266,7787.5625],"6-92-22":[-15.193840980529785,295.9892272949219],"6-92-23":[-6.9275007247924805,1069.667724609375],"6-92-24":[29.90353012084961,1095.7015380859375],"6-92-25":[-88.55541229248047,1197.86083984375],"6-92-26":[-182.74554443359375,1006.7289428710938],"6-92-27":[-197.06805419921875,1132.4154052734375],"6-92-28":[-198.1790313720703,434.79119873046875],"6-92-29":[-212.75,2430.441162109375],"6-92-30":[-213.8937530517578,-101.01366424560547],"6-92-31":[-207.86573791503906,-100.16500091552734],"6-92-32":[-205.7881317138672,-94.42375183105469],"6-92-33":[-194.99867248535156,-88.59750366210938],"6-92-34":[-182.47906494140625,-79.41187286376953],"6-92-35":[-161.33999633789062,-70.63749694824219],"6-92-36":[-142.3681182861328,-59.6775016784668],"6-92-37":[-120.52989959716797,-49.07083511352539],"6-92-38":[-104.91656494140625,-39.42250061035156],"6-92-39":[-84.2617416381836,-29.785499572753906],"6-92-40":[-67.55062866210938,-20.850000381469727],"6-92-41":[-47.52839660644531,-12.672750473022461],"6-92-42":[-33.5525016784668,-4.079999923706055],"6-92-43":[-15.914589881896973,6.039999961853027],"6-92-44":[-3.1006250381469727,19.260000228881836],"6-92-45":[3.143749952316284,28.239999771118164],"6-92-46":[9.412500381469727,36.282501220703125],"6-92-47":[15.617500305175781,46.41999816894531],"6-92-48":[19.592500686645508,52.380001068115234],"6-92-49":[23.344375610351562,58.25749969482422],"6-92-50":[24.555625915527344,61.501251220703125],"6-92-51":[20.830078125,56.560001373291016],"6-92-52":[20.979999542236328,56.282501220703125],"6-92-53":[20.931249618530273,53.696876525878906],"6-92-54":[15.672499656677246,43.91999816894531],"6-92-55":[14.254500389099121,36.2400016784668],"6-92-56":[15.39273452758789,2339.168701171875],"6-92-57":[1873.5450439453125,2935.3125],"6-92-58":[2662.64501953125,3173.46630859375],"6-92-59":[2841.820068359375,3593.62255859375],"6-92-60":[3506.7099609375,4042.030029296875],"6-92-61":[3499.1923828125,4001.034912109375],"6-92-62":[3062.85498046875,3516.409912109375],"6-92-63":[-29.532833099365234,3066.457763671875],"6-93-0":[13.5625,28.301698684692383],"6-93-1":[11.244999885559082,29.443553924560547],"5-46-0":[11.244999885559082,30.231250762939453],"6-93-2":[7.364999771118164,22.420625686645508],"6-93-3":[-1.9299999475479126,13.277421951293945],"5-46-1":[-1.9299999475479126,283.88800048828125],"6-93-4":[-12.519062042236328,9.412812232971191],"6-93-5":[-19.037500381469727,346.131103515625],"5-46-2":[-19.037500381469727,346.131103515625],"6-93-6":[-25.923124313354492,405.5068664550781],"6-93-7":[-28.697500228881836,174.15170288085938],"5-46-3":[-28.697500228881836,405.5068664550781],"6-93-8":[-19.05309295654297,149.96734619140625],"6-93-9":[-3.702597141265869,236.05438232421875],"5-46-4":[-24.360000610351562,236.05438232421875],"6-93-10":[-30.256254196166992,155.45314025878906],"6-93-11":[10.194197654724121,162.80654907226562],"5-46-5":[-30.256254196166992,162.80654907226562],"6-93-12":[-1.5191590785980225,446.70294189453125],"6-93-13":[73.3392333984375,2380.395263671875],"5-46-6":[-1.5191590785980225,2380.395263671875],"6-93-14":[23.355884552001953,2711.999755859375],"6-93-15":[124.82964324951172,3961.7666015625],"5-46-7":[23.355884552001953,4532.619140625],"6-93-16":[105.6257553100586,5107.7392578125],"6-93-17":[837.9389038085938,3794.392578125],"5-46-8":[105.6257553100586,7087.39013671875],"6-93-18":[954.9082641601562,6062.90625],"6-93-19":[1693.30126953125,6911.7255859375],"5-46-9":[954.9082641601562,7022.2939453125],"6-93-20":[4293.12451171875,6600.17236328125],"6-93-21":[81.1865005493164,8103.54638671875],"5-46-10":[35.378177642822266,8103.54638671875],"6-93-22":[-46.1298942565918,2512.348876953125],"6-93-23":[-31.314592361450195,1178.4508056640625],"5-46-11":[-46.1298942565918,2512.348876953125],"6-93-24":[-19.455522537231445,1262.4283447265625],"6-93-25":[-161.44671630859375,1608.785888671875],"5-46-12":[-161.44671630859375,1608.785888671875],"6-93-26":[-181.91749572753906,-37.98592758178711],"6-93-27":[-194.56500244140625,-86.28109741210938],"5-46-13":[-197.06805419921875,1132.4154052734375],"6-93-28":[-196.81883239746094,-88.67076873779297],"6-93-29":[-203.20335388183594,351.89337158203125],"5-46-14":[-212.75,2430.441162109375],"6-93-30":[-206.91864013671875,-92.98341369628906],"6-93-31":[-203.7803192138672,-91.4643325805664],"5-46-15":[-213.8937530517578,-91.4643325805664],"6-93-32":[-197.9600067138672,-88.46499633789062],"6-93-33":[-185.93638610839844,-84.21941375732422],"5-46-16":[-205.7881317138672,-84.21941375732422],"6-93-34":[-175.58062744140625,-76.82875061035156],"6-93-35":[-155.41310119628906,-69.1346664428711],"5-46-17":[-182.47906494140625,-69.1346664428711],"6-93-36":[-142.65875244140625,-61.654998779296875],"6-93-37":[-126.4565658569336,-53.23749923706055],"5-46-18":[-142.65875244140625,-49.07083511352539],"6-93-38":[-113.56999969482422,-44.203125],"6-93-39":[-92.3421859741211,-34.337501525878906],"5-46-19":[-113.56999969482422,-29.785499572753906],"6-93-40":[-75.44000244140625,-25.323749542236328],"6-93-41":[-57.42625045776367,-17.514999389648438],"5-46-20":[-75.44000244140625,-12.672750473022461],"6-93-42":[-43.8650016784668,-9.491874694824219],"6-93-43":[-26.5262508392334,-2.265000104904175],"5-46-21":[-43.8650016784668,6.039999961853027],"6-93-44":[-14.65999984741211,3.6815428733825684],"6-93-45":[-1.2324999570846558,17.6953125],"5-46-22":[-14.65999984741211,28.239999771118164],"6-93-46":[5.937505722045898,28.982011795043945],"6-93-47":[11.241250038146973,38.29999923706055],"5-46-23":[5.937505722045898,46.41999816894531],"6-93-48":[19.381250381469727,44.78382873535156],"6-93-49":[19.381250381469727,49.766876220703125],"5-46-24":[19.381250381469727,58.25749969482422],"6-93-50":[20.90999984741211,50.42789077758789],"6-93-51":[20.830078125,47.64011764526367],"5-46-25":[20.830078125,61.501251220703125],"6-93-52":[18.263750076293945,48.45661926269531],"6-93-53":[18.263750076293945,48.78290939331055],"5-46-26":[18.263750076293945,56.282501220703125],"6-93-54":[14.046250343322754,41],"6-93-55":[13.542275428771973,635.1649780273438],"5-46-27":[13.542275428771973,635.1649780273438],"6-93-56":[15.529999732971191,2519.016357421875],"6-93-57":[2339.168701171875,3197.53759765625],"5-46-28":[15.39273452758789,3197.53759765625],"6-93-58":[2935.3125,3364.120361328125],"6-93-59":[3109.51416015625,3621.1201171875],"5-46-29":[2662.64501953125,3621.1201171875],"6-93-60":[3593.62255859375,4025.50390625],"6-93-61":[3480.012451171875,3923.73681640625],"5-46-30":[3480.012451171875,4042.030029296875],"6-93-62":[3063.461181640625,3499.1923828125],"6-93-63":[-29.532833099365234,3067.14306640625],"5-46-31":[-29.532833099365234,3516.409912109375],"6-94-0":[13.476458549499512,27.846874237060547],"6-94-1":[10.9375,28.840312957763672],"6-94-2":[6.214921951293945,22.114999771118164],"6-94-3":[-2.734375,11.475312232971191],"6-94-4":[-13.512598037719727,-1.4375],"6-94-5":[-19.783437728881836,311.620361328125],"6-94-6":[-11.514724731445312,248.41746520996094],"6-94-7":[-28.697500228881836,355.1006164550781],"6-94-8":[-17.894899368286133,176.79124450683594],"6-94-9":[-7.9386749267578125,232.9547882080078],"6-94-10":[-30.82672691345215,204.2724609375],"6-94-11":[21.880521774291992,252.0951690673828],"6-94-12":[-18.20566177368164,544.6852416992188],"6-94-13":[103.65641021728516,2652.02978515625],"6-94-14":[329.8445739746094,4375.84033203125],"6-94-15":[163.3590087890625,3786.9638671875],"6-94-16":[217.97764587402344,5220.27294921875],"6-94-17":[745.639404296875,3644.019775390625],"6-94-18":[804.6489868164062,6686.69580078125],"6-94-19":[4212.1767578125,6437.4970703125],"6-94-20":[4352.91064453125,6733.8291015625],"6-94-21":[458.231201171875,8019.75927734375],"6-94-22":[-62.141639709472656,8777.140625],"6-94-23":[-49.500640869140625,1317.615234375],"6-94-24":[-131.4813690185547,1124.06640625],"6-94-25":[-160.9949951171875,1331.0523681640625],"6-94-26":[-174.0565185546875,-73.06270599365234],"6-94-27":[-177.33999633789062,-76.23312377929688],"6-94-28":[-181.49749755859375,-77.26687622070312],"6-94-29":[-187.39207458496094,-77.29812622070312],"6-94-30":[-187.31500244140625,-78.625],"6-94-31":[-187.51593017578125,-78.17749786376953],"6-94-32":[-182.91000366210938,-76.46925354003906],"6-94-33":[-176.39093017578125,-74.65125274658203],"6-94-34":[-168.4250030517578,-71.13500213623047],"6-94-35":[-151.13687133789062,-67.72250366210938],"6-94-36":[-139.59750366210938,-60.575748443603516],"6-94-37":[-126.4565658569336,-54.127498626708984],"6-94-38":[-114.2153091430664,-45.30875015258789],"6-94-39":[-93.07464599609375,-37.724998474121094],"6-94-40":[-77.94499969482422,-29.614999771118164],"6-94-41":[-61.7766227722168,-22.17366600036621],"6-94-42":[-50.698123931884766,-14.140000343322754],"6-94-43":[-33.48966979980469,-7.533666610717773],"6-94-44":[-21.329374313354492,-1.2324999570846558],"6-94-45":[-8.9818754196167,10.59000015258789],"6-94-46":[0.5662500262260437,21.4090633392334],"6-94-47":[7.518125057220459,31.899999618530273],"6-94-48":[11.75,38.11406326293945],"6-94-49":[15.47249984741211,42.61000061035156],"6-94-50":[16.8331241607666,42.875],"6-94-51":[15.607500076293945,40.974063873291016],"6-94-52":[12.936875343322754,36.11000061035156],"6-94-53":[11.482500076293945,39.696876525878906],"6-94-54":[10.618749618530273,32.64500045776367],"6-94-55":[10.624747276306152,1029.092529296875],"6-94-56":[635.1649780273438,2637.603759765625],"6-94-57":[2519.016357421875,3300.4775390625],"6-94-58":[3197.53759765625,3450.967529296875],"6-94-59":[3321.28955078125,3672.405029296875],"6-94-60":[3621.1201171875,3954.969482421875],"6-94-61":[3420.25634765625,3850.876220703125],"6-94-62":[3064.94580078125,3480.012451171875],"6-94-63":[-29.532833099365234,3067.904052734375],"6-95-0":[13.314408302307129,27.292402267456055],"6-95-1":[10.9375,27.934999465942383],"5-47-0":[10.9375,28.840312957763672],"6-95-2":[6.207980632781982,21.836875915527344],"6-95-3":[-3.2799999713897705,10.210000038146973],"5-47-1":[-3.2799999713897705,22.114999771118164],"4-23-0":[-3.2799999713897705,283.88800048828125],"6-95-4":[-13.562714576721191,46.559749603271484],"6-95-5":[-14.68017578125,348.5869140625],"5-47-2":[-19.783437728881836,348.5869140625],"6-95-6":[-9.3860502243042,401.3263854980469],"6-95-7":[-9.938124656677246,941.0604248046875],"5-47-3":[-28.697500228881836,941.0604248046875],"4-23-1":[-28.697500228881836,941.0604248046875],"3-11-0":[-29.042499542236328,941.0604248046875],"6-95-8":[-21.589235305786133,733.228515625],"6-95-9":[-13.858083724975586,628.729736328125],"5-47-4":[-21.589235305786133,733.228515625],"6-95-10":[-32.567440032958984,242.84942626953125],"6-95-11":[53.10066604614258,262.7790222167969],"5-47-5":[-32.567440032958984,262.7790222167969],"4-23-2":[-32.567440032958984,733.228515625],"6-95-12":[74.14888763427734,2173.732666015625],"6-95-13":[176.51329040527344,3529.693359375],"5-47-6":[-18.20566177368164,3529.693359375],"6-95-14":[474.07928466796875,4279.83447265625],"6-95-15":[301.4472351074219,3328.40234375],"5-47-7":[163.3590087890625,4375.84033203125],"4-23-3":[-18.20566177368164,4532.619140625],"3-11-1":[-52.69059371948242,4532.619140625],"2-5-0":[-251.8015594482422,4532.619140625],"6-95-16":[-260.4971008300781,4987.0830078125],"6-95-17":[619.6075439453125,2654.789306640625],"5-47-8":[-260.4971008300781,5220.27294921875],"6-95-18":[731.8682250976562,6201.26318359375],"6-95-19":[4444.4189453125,6890.39306640625],"5-47-9":[731.8682250976562,6890.39306640625],"4-23-4":[-260.4971008300781,7087.39013671875],"6-95-20":[4425.1494140625,6254.62451171875],"6-95-21":[988.3388061523438,7070.265625],"5-47-10":[458.231201171875,8019.75927734375],"6-95-22":[-69.57247924804688,8478.3935546875],"6-95-23":[-139.7662811279297,533.6275024414062],"5-47-11":[-139.7662811279297,8777.140625],"4-23-5":[-139.7662811279297,8777.140625],"3-11-2":[-260.4971008300781,8777.140625],"6-95-24":[-131.4190673828125,26.159215927124023],"6-95-25":[-146.12249755859375,-61.404998779296875],"5-47-12":[-160.9949951171875,1331.0523681640625],"6-95-26":[-150.9558563232422,-63.404998779296875],"6-95-27":[-152.35562133789062,-64.19000244140625],"5-47-13":[-177.33999633789062,-63.404998779296875],"4-23-6":[-197.06805419921875,1608.785888671875],"6-95-28":[-152.6035614013672,-62.125],"6-95-29":[-153.0497283935547,-59.7702751159668],"5-47-14":[-187.39207458496094,-59.7702751159668],"6-95-30":[-153.21910095214844,-59.814998626708984],"6-95-31":[-153.96902465820312,-60.33000183105469],"5-47-15":[-187.51593017578125,-59.814998626708984],"4-23-7":[-213.8937530517578,2430.441162109375],"3-11-3":[-213.8937530517578,2590.236083984375],"2-5-1":[-260.4971008300781,8777.140625],"1-2-0":[-398.5462646484375,8777.140625],"6-95-32":[-153.8304443359375,-61.96833419799805],"6-95-33":[-150.15560913085938,-62.76750183105469],"5-47-16":[-182.91000366210938,-61.96833419799805],"6-95-34":[-147.06312561035156,-63.181331634521484],"6-95-35":[-139.2858428955078,-62.21666717529297],"5-47-17":[-168.4250030517578,-62.21666717529297],"4-23-8":[-205.7881317138672,-61.96833419799805],"6-95-36":[-135.35812377929688,-58.3033332824707],"6-95-37":[-121.03640747070312,-51.25699996948242],"5-47-18":[-139.59750366210938,-51.25699996948242],"6-95-38":[-111.36687469482422,-44.80890655517578],"6-95-39":[-96.38074493408203,-38.31050109863281],"5-47-19":[-114.2153091430664,-37.724998474121094],"4-23-9":[-142.65875244140625,-29.785499572753906],"3-11-4":[-205.7881317138672,-8.666500091552734],"6-95-40":[-87.27999877929688,-30.973125457763672],"6-95-41":[-73.29937744140625,-25.908750534057617],"5-47-20":[-87.27999877929688,-22.17366600036621],"6-95-42":[-61.2400016784668,-17.399843215942383],"6-95-43":[-45.2131233215332,-11.387499809265137],"5-47-21":[-61.2400016784668,-7.533666610717773],"4-23-10":[-87.27999877929688,6.039999961853027],"6-95-44":[-34.86000061035156,-6.029375076293945],"6-95-45":[-20.892499923706055,0.5662500262260437],"5-47-22":[-34.86000061035156,10.59000015258789],"6-95-46":[-8.300000190734863,12.6572265625],"6-95-47":[2.817500114440918,22.587499618530273],"5-47-23":[-8.300000190734863,31.899999618530273],"4-23-11":[-34.86000061035156,46.41999816894531],"3-11-5":[-87.27999877929688,882.58056640625],"2-5-2":[-205.7881317138672,3059.5537109375],"6-95-48":[11.137499809265137,29.282636642456055],"6-95-49":[11.137499809265137,33.21500015258789],"5-47-24":[11.137499809265137,42.61000061035156],"6-95-50":[13.3774995803833,33.57402420043945],"6-95-51":[13.3774995803833,32.63589859008789],"5-47-25":[13.3774995803833,42.875],"4-23-12":[11.137499809265137,61.501251220703125],"6-95-52":[10.234999656677246,30.481874465942383],"6-95-53":[10.234999656677246,23.794530868530273],"5-47-26":[10.234999656677246,39.696876525878906],"6-95-54":[6.789999961853027,21.98062515258789],"6-95-55":[6.789999961853027,1290.050048828125],"5-47-27":[6.789999961853027,1290.050048828125],"4-23-13":[6.789999961853027,1290.050048828125],"3-11-6":[-55.81418991088867,2779.40234375],"6-95-56":[1007.5287475585938,2688.642578125],"6-95-57":[2637.603759765625,3479.010009765625],"5-47-28":[635.1649780273438,3479.010009765625],"6-95-58":[3300.4775390625,3627.6298828125],"6-95-59":[3450.967529296875,3738.389892578125],"5-47-29":[3197.53759765625,3738.389892578125],"4-23-14":[15.39273452758789,3738.389892578125],"6-95-60":[3672.405029296875,3883.618408203125],"6-95-61":[3372.97998046875,3781.93115234375],"5-47-30":[3372.97998046875,3954.969482421875],"6-95-62":[3066.60498046875,3420.25634765625],"6-95-63":[-29.533000946044922,3069.770751953125],"5-47-31":[-29.533000946044922,3480.012451171875],"4-23-15":[-29.533000946044922,4042.030029296875],"3-11-7":[-29.533000946044922,4042.030029296875],"2-5-3":[-55.81418991088867,4042.030029296875],"1-2-1":[-242.8247528076172,5869.54736328125],"6-96-0":[13.052812576293945,27.113750457763672],"6-96-1":[10.662500381469727,27.25],"6-96-2":[6.325405597686768,21.59000015258789],"6-96-3":[-3.804374933242798,327.89617919921875],"6-96-4":[-13.969433784484863,41.968257904052734],"6-96-5":[-14.510624885559082,491.92535400390625],"6-96-6":[-12.8301362991333,766.6072387695312],"6-96-7":[15.52994441986084,1577.69482421875],"6-96-8":[23.062108993530273,974.8023681640625],"6-96-9":[0.5107666850090027,751.0200805664062],"6-96-10":[-32.160579681396484,917.0142822265625],"6-96-11":[22.51589012145996,457.26171875],"6-96-12":[87.23982238769531,1266.162841796875],"6-96-13":[216.38951110839844,3265.9912109375],"6-96-14":[707.8226928710938,4151.47900390625],"6-96-15":[820.50244140625,4116.2265625],"6-96-16":[-31.385780334472656,3824.300048828125],"6-96-17":[290.20721435546875,2504.004638671875],"6-96-18":[1263.81494140625,5909.95947265625],"6-96-19":[3248.18017578125,6767.16748046875],"6-96-20":[4109.93896484375,6522.83837890625],"6-96-21":[2989.512451171875,7463.685546875],"6-96-22":[-83.68018341064453,7512.83154296875],"6-96-23":[-108.99283599853516,1663.77587890625],"6-96-24":[-122.51468658447266,1062.2327880859375],"6-96-25":[-126.55335998535156,-53.865623474121094],"6-96-26":[-128.8424835205078,-59.442203521728516],"6-96-27":[-129.37313842773438,407.5013427734375],"6-96-28":[-128.17984008789062,114.94805145263672],"6-96-29":[-123.93095397949219,-53.59375],"6-96-30":[-121.578125,-48.891876220703125],"6-96-31":[-126.68687438964844,-47.666717529296875],"6-96-32":[-127.66999816894531,-47.944061279296875],"6-96-33":[-128.61749267578125,-48.791873931884766],"6-96-34":[-129.45375061035156,-51.46125030517578],"6-96-35":[-129.4287567138672,-54.630001068115234],"6-96-36":[-128.75999450683594,-55.19124984741211],"6-96-37":[-118.47750091552734,-52.1614990234375],"6-96-38":[-109.44718933105469,-47.881717681884766],"6-96-39":[-96.49433898925781,-43.647335052490234],"6-96-40":[-90.52749633789062,-37.51499938964844],"6-96-41":[-79.28250122070312,-30.632333755493164],"6-96-42":[-69.20187377929688,-23.040000915527344],"6-96-43":[-55.823829650878906,-17.80266761779785],"6-96-44":[-44.200626373291016,-11.237500190734863],"6-96-45":[-29.801795959472656,-4.630833148956299],"6-96-46":[-17.315937042236328,4.178124904632568],"6-96-47":[-2.322499990463257,15.180000305175781],"6-96-48":[3.002500057220459,21.53125],"6-96-49":[6.76437520980835,26.1299991607666],"6-96-50":[9.327500343322754,27.602500915527344],"6-96-51":[9.20270824432373,26.575000762939453],"6-96-52":[7.166874885559082,26.059999465942383],"6-96-53":[2.3949999809265137,19.4950008392334],"6-96-54":[2.3949999809265137,14.930000305175781],"6-96-55":[3.383333444595337,1584.7650146484375],"6-96-56":[1290.050048828125,2802.1181640625],"6-96-57":[2688.642578125,3518.928466796875],"6-96-58":[3479.010009765625,3704.376953125],"6-96-59":[3627.6298828125,3756.383056640625],"6-96-60":[3652.335693359375,3799.8994140625],"6-96-61":[3341.1474609375,3696.83740234375],"6-96-62":[3068.5888671875,3372.97998046875],"6-96-63":[-29.533166885375977,3073.16357421875],"6-97-0":[12.856024742126465,27.032499313354492],"6-97-1":[10.662500381469727,26.666250228881836],"5-48-0":[10.662500381469727,27.25],"6-97-2":[5.8896331787109375,21.290311813354492],"6-97-3":[-5.429999828338623,785.3258056640625],"5-48-1":[-5.429999828338623,785.3258056640625],"6-97-4":[-15.456250190734863,476.7156677246094],"6-97-5":[-7.8809685707092285,604.3900756835938],"5-48-2":[-15.456250190734863,604.3900756835938],"6-97-6":[-13.911874771118164,806.2216186523438],"6-97-7":[44.766666412353516,1618.970703125],"5-48-3":[-13.911874771118164,1618.970703125],"6-97-8":[91.31050109863281,1177.40380859375],"6-97-9":[10.89466667175293,764.9723510742188],"5-48-4":[0.5107666850090027,1177.40380859375],"6-97-10":[-24.585384368896484,1092.035888671875],"6-97-11":[-3.0953714847564697,823.050048828125],"5-48-5":[-32.160579681396484,1092.035888671875],"6-97-12":[74.372802734375,2561.552978515625],"6-97-13":[260.8565368652344,2677.4873046875],"5-48-6":[74.372802734375,3265.9912109375],"6-97-14":[697.6602172851562,2882.053466796875],"6-97-15":[906.9234008789062,4155.2607421875],"5-48-7":[697.6602172851562,4155.2607421875],"6-97-16":[219.5271453857422,4825.03125],"6-97-17":[271.20452880859375,4733.63427734375],"5-48-8":[-31.385780334472656,4825.03125],"6-97-18":[2241.796142578125,5772.1142578125],"6-97-19":[2644.39892578125,6131.64013671875],"5-48-9":[1263.81494140625,6767.16748046875],"6-97-20":[3253.980224609375,6237.57958984375],"6-97-21":[107.58236694335938,7221.30712890625],"5-48-10":[107.58236694335938,7463.685546875],"6-97-22":[-53.323036193847656,5335.49267578125],"6-97-23":[-92.66422271728516,2777.956298828125],"5-48-11":[-108.99283599853516,7512.83154296875],"6-97-24":[-99.37605285644531,3021.89013671875],"6-97-25":[-120.7573471069336,1489.969482421875],"5-48-12":[-126.55335998535156,3021.89013671875],"6-97-26":[-124.45304870605469,365.6628112792969],"6-97-27":[-120.5621109008789,671.1530151367188],"5-48-13":[-129.37313842773438,671.1530151367188],"6-97-28":[-127.90248107910156,253.15017700195312],"6-97-29":[-120.44039154052734,634.6896362304688],"5-48-14":[-128.17984008789062,634.6896362304688],"6-97-30":[-106.5248031616211,2140.286865234375],"6-97-31":[-94.43054962158203,-30.37150001525879],"5-48-15":[-126.68687438964844,2140.286865234375],"6-97-32":[-93.36885070800781,-30.415000915527344],"6-97-33":[-100.57312774658203,-33.35124969482422],"5-48-16":[-128.61749267578125,-30.415000915527344],"6-97-34":[-105.95040893554688,-38.16266632080078],"6-97-35":[-109.15499877929688,-42.722251892089844],"5-48-17":[-129.45375061035156,-38.16266632080078],"6-97-36":[-110.9351577758789,-44.597450256347656],"6-97-37":[-107.54334259033203,-47.067501068115234],"5-48-18":[-128.75999450683594,-44.597450256347656],"6-97-38":[-103.95531463623047,-48.28562545776367],"6-97-39":[-97.48765563964844,-45.28216552734375],"5-48-19":[-109.44718933105469,-43.647335052490234],"6-97-40":[-91.35124969482422,-40.59562683105469],"6-97-41":[-84.51968383789062,-34.82749938964844],"5-48-20":[-91.35124969482422,-30.632333755493164],"6-97-42":[-74.45999908447266,-27.37762451171875],"6-97-43":[-60.53718566894531,-22.774999618530273],"5-48-21":[-74.45999908447266,-17.80266761779785],"6-97-44":[-55.81999969482422,-16.334999084472656],"6-97-45":[-41.67593765258789,-9.3462495803833],"5-48-22":[-55.81999969482422,-4.630833148956299],"6-97-46":[-29.334999084472656,-2.322499990463257],"6-97-47":[-13.560312271118164,4.78249979019165],"5-48-23":[-29.334999084472656,15.180000305175781],"6-97-48":[-3.7100000381469727,11.685097694396973],"6-97-49":[2.565000057220459,17.700624465942383],"5-48-24":[-3.7100000381469727,26.1299991607666],"6-97-50":[5.93583345413208,18.2979679107666],"6-97-51":[6.017499923706055,18.12857437133789],"5-48-25":[5.93583345413208,27.602500915527344],"6-97-52":[3.7899999618530273,17.860624313354492],"6-97-53":[-1.5049999952316284,12.14632797241211],"5-48-26":[-1.5049999952316284,26.059999465942383],"6-97-54":[-2.198124885559082,7.24880838394165],"6-97-55":[-0.04749999940395355,1584.7650146484375],"5-48-27":[-2.198124885559082,1584.7650146484375],"6-97-56":[1497.4268798828125,2824.500244140625],"6-97-57":[2802.1181640625,3500.22119140625],"5-48-28":[1290.050048828125,3518.928466796875],"6-97-58":[3409.992431640625,3719.53662109375],"6-97-59":[3704.376953125,3755.965087890625],"5-48-29":[3409.992431640625,3756.383056640625],"6-97-60":[3612.8125,3775.2177734375],"6-97-61":[3317.344970703125,3652.335693359375],"5-48-30":[3317.344970703125,3799.8994140625],"6-97-62":[3069.2275390625,3341.1474609375],"6-97-63":[-29.533166885375977,3074.6630859375],"5-48-31":[-29.533166885375977,3372.97998046875],"6-98-0":[12.579874992370605,27.024375915527344],"6-98-1":[10.265000343322754,26.346250534057617],"6-98-2":[4.579750061035156,20.9950008392334],"6-98-3":[-6.413125038146973,915.4048461914062],"6-98-4":[-16.478164672851562,237.03045654296875],"6-98-5":[-7.977250099182129,810.4712524414062],"6-98-6":[-11.462499618530273,688.5680541992188],"6-98-7":[12.53962516784668,1569.9576416015625],"6-98-8":[124.4237289428711,1090.493896484375],"6-98-9":[50.44355392456055,887.6380004882812],"6-98-10":[-26.996055603027344,775.0951538085938],"6-98-11":[69.08615112304688,615.5441284179688],"6-98-12":[151.22683715820312,2887.355224609375],"6-98-13":[660.1279296875,2999.00732421875],"6-98-14":[1179.376953125,3482.5576171875],"6-98-15":[1006.2695922851562,3928.840087890625],"6-98-16":[422.9771423339844,2953.741455078125],"6-98-17":[1074.6883544921875,5415.07421875],"6-98-18":[2272.725830078125,5725.80322265625],"6-98-19":[2617.619140625,5462.56103515625],"6-98-20":[3023.420166015625,5731.4736328125],"6-98-21":[133.36399841308594,6535.041015625],"6-98-22":[23.08816909790039,5106.103515625],"6-98-23":[12.306039810180664,3346.33251953125],"6-98-24":[-17.377464294433594,2464.79248046875],"6-98-25":[-86.6626205444336,2574.024169921875],"6-98-26":[-135.69265747070312,1748.9698486328125],"6-98-27":[-96.38909912109375,1498.3673095703125],"6-98-28":[-92.55000305175781,1085.70263671875],"6-98-29":[-80.52999877929688,550.4512939453125],"6-98-30":[-71.72074127197266,3433.717529296875],"6-98-31":[-71.06343841552734,1843.020751953125],"6-98-32":[-66.70249938964844,242.9921417236328],"6-98-33":[-76.30000305175781,-20.39134979248047],"6-98-34":[-86.18718719482422,-23.447500228881836],"6-98-35":[-91.27667999267578,-29.19124984741211],"6-98-36":[-94.13500213623047,-13.366007804870605],"6-98-37":[-101.06218719482422,-41.41374969482422],"6-98-38":[-100.76000213623047,-44.67499923706055],"6-98-39":[-96.24874877929688,-45.32133483886719],"6-98-40":[-93.33374786376953,-42.41999816894531],"6-98-41":[-84.99500274658203,-35.94124984741211],"6-98-42":[-76.4375,-31.602500915527344],"6-98-43":[-68.4990005493164,-27.91699981689453],"6-98-44":[-62.85562515258789,-21.688749313354492],"6-98-45":[-50.55451202392578,-14.9975004196167],"6-98-46":[-38.502498626708984,-7.653749942779541],"6-98-47":[-23.3543758392334,-2.1989998817443848],"6-98-48":[-12.6225004196167,4.063437461853027],"6-98-49":[-1.821874976158142,10.045000076293945],"6-98-50":[0.7799999713897705,11.735937118530273],"6-98-51":[1.978124976158142,12.162500381469727],"6-98-52":[-0.23999999463558197,11.34000015258789],"6-98-53":[-6.557499885559082,6.35281229019165],"6-98-54":[-6.913671970367432,6.5859375],"6-98-55":[-6.317519664764404,1715.717529296875],"6-98-56":[1527.574951171875,2802.830078125],"6-98-57":[2705.17431640625,3409.992431640625],"6-98-58":[3387.34375,3708.2900390625],"6-98-59":[3611.48193359375,3736.72998046875],"6-98-60":[3543.29931640625,3737.7060546875],"6-98-61":[3284.6611328125,3612.8125],"6-98-62":[3070.76953125,3317.344970703125],"6-98-63":[-29.53333282470703,3075.463134765625],"6-99-0":[12.3149995803833,27.00310516357422],"6-99-1":[10.265000343322754,25.8316593170166],"5-49-0":[10.265000343322754,27.024375915527344],"6-99-2":[4.579500198364258,20.47687530517578],"6-99-3":[-6.171875,969.3905639648438],"5-49-1":[-6.413125038146973,969.3905639648438],"4-24-0":[-6.413125038146973,969.3905639648438],"6-99-4":[-16.1728515625,517.21142578125],"6-99-5":[-8.142187118530273,589.9935913085938],"5-49-2":[-16.478164672851562,810.4712524414062],"6-99-6":[-11.641077995300293,855.63525390625],"6-99-7":[102.24889373779297,1354.629638671875],"5-49-3":[-11.641077995300293,1569.9576416015625],"4-24-1":[-16.478164672851562,1618.970703125],"6-99-8":[120.1405029296875,1086.9710693359375],"6-99-9":[86.63688659667969,868.7294311523438],"5-49-4":[50.44355392456055,1090.493896484375],"6-99-10":[-31.01534080505371,599.8834838867188],"6-99-11":[80.02674102783203,729.8206787109375],"5-49-5":[-31.01534080505371,775.0951538085938],"4-24-2":[-32.160579681396484,1177.40380859375],"6-99-12":[187.08139038085938,2274.4658203125],"6-99-13":[527.5209350585938,3424.71875],"5-49-6":[151.22683715820312,3424.71875],"6-99-14":[1035.3907470703125,3181.134521484375],"6-99-15":[1160.5819091796875,3821.632080078125],"5-49-7":[1006.2695922851562,3928.840087890625],"4-24-3":[74.372802734375,4155.2607421875],"6-99-16":[637.5889892578125,3902.63818359375],"6-99-17":[836.3162231445312,3828.17822265625],"5-49-8":[422.9771423339844,5415.07421875],"6-99-18":[1288.0206298828125,5499.11181640625],"6-99-19":[2175.471923828125,6216.5908203125],"5-49-9":[1288.0206298828125,6216.5908203125],"4-24-4":[-31.385780334472656,6767.16748046875],"6-99-20":[2779.55078125,6063.78369140625],"6-99-21":[1586.783203125,6434.640625],"5-49-10":[133.36399841308594,6535.041015625],"6-99-22":[657.10009765625,5432.08251953125],"6-99-23":[300.67315673828125,3530.7431640625],"5-49-11":[12.306039810180664,5432.08251953125],"4-24-5":[-108.99283599853516,7512.83154296875],"6-99-24":[129.64825439453125,2554.74609375],"6-99-25":[-17.16620635986328,2536.98095703125],"5-49-12":[-86.6626205444336,2574.024169921875],"6-99-26":[-78.0910873413086,2080.039306640625],"6-99-27":[-90.5689926147461,2009.712158203125],"5-49-13":[-135.69265747070312,2080.039306640625],"4-24-6":[-135.69265747070312,3021.89013671875],"6-99-28":[-65.0599594116211,1760.04345703125],"6-99-29":[-72.9413070678711,1543.0560302734375],"5-49-14":[-92.55000305175781,1760.04345703125],"6-99-30":[-57.00798797607422,2251.465087890625],"6-99-31":[-38.88768768310547,2884.852294921875],"5-49-15":[-71.72074127197266,3433.717529296875],"4-24-7":[-128.17984008789062,3433.717529296875],"6-99-32":[-81.90363311767578,3098.124755859375],"6-99-33":[-45.743865966796875,302.4935607910156],"5-49-16":[-81.90363311767578,3098.124755859375],"6-99-34":[-54.347068786621094,-15.47299861907959],"6-99-35":[-71.16999816894531,-18.504066467285156],"5-49-17":[-91.27667999267578,-15.47299861907959],"4-24-8":[-129.45375061035156,3098.124755859375],"6-99-36":[-82.82749938964844,-25.906333923339844],"6-99-37":[-88.24937438964844,-33.314998626708984],"5-49-18":[-101.06218719482422,-13.366007804870605],"6-99-38":[-94.26626586914062,-41.22174835205078],"6-99-39":[-95.17402648925781,-42.76283264160156],"5-49-19":[-100.76000213623047,-41.22174835205078],"4-24-9":[-128.75999450683594,-13.366007804870605],"6-99-40":[-92.19437408447266,-40.17578125],"6-99-41":[-83.67742156982422,-35.94124984741211],"5-49-20":[-93.33374786376953,-35.94124984741211],"6-99-42":[-78.68875122070312,-34.931251525878906],"6-99-43":[-74.98500061035156,-31.9950008392334],"5-49-21":[-78.68875122070312,-27.91699981689453],"4-24-10":[-93.33374786376953,-17.80266761779785],"6-99-44":[-72.55999755859375,-26.459999084472656],"6-99-45":[-59.75749969482422,-19.83625030517578],"5-49-22":[-72.55999755859375,-14.9975004196167],"6-99-46":[-48.959999084472656,-13.120624542236328],"6-99-47":[-34.752498626708984,-6.952499866485596],"5-49-23":[-48.959999084472656,-2.1989998817443848],"4-24-11":[-72.55999755859375,15.180000305175781],"6-99-48":[-22.479999542236328,-1.821874976158142],"6-99-49":[-11.765625,0.7799999713897705],"5-49-24":[-22.479999542236328,10.045000076293945],"6-99-50":[-6.679999828338623,3.513925790786743],"6-99-51":[-3.059999942779541,3.6220312118530273],"5-49-25":[-6.679999828338623,12.162500381469727],"4-24-12":[-22.479999542236328,27.602500915527344],"6-99-52":[-6.103750228881836,2.938124895095825],"6-99-53":[-14.489999771118164,-0.23999999463558197],"5-49-26":[-14.489999771118164,11.34000015258789],"6-99-54":[-16.113750457763672,2.3984766006469727],"6-99-55":[-5.522500038146973,1741.1663818359375],"5-49-27":[-16.113750457763672,1741.1663818359375],"4-24-13":[-16.113750457763672,1741.1663818359375],"6-99-56":[1318.62744140625,2705.17431640625],"6-99-57":[2640.607421875,3387.34375],"5-49-28":[1318.62744140625,3409.992431640625],"6-99-58":[3292.469970703125,3611.48193359375],"6-99-59":[3525.75244140625,3694.9423828125],"5-49-29":[3292.469970703125,3736.72998046875],"4-24-14":[1290.050048828125,3756.383056640625],"6-99-60":[3433.71240234375,3696.04931640625],"6-99-61":[3240.360107421875,3543.29931640625],"5-49-30":[3240.360107421875,3737.7060546875],"6-99-62":[3070.723876953125,3284.6611328125],"6-99-63":[-29.53350067138672,3075.958740234375],"5-49-31":[-29.53350067138672,3317.344970703125],"4-24-15":[-29.53350067138672,3799.8994140625],"6-100-0":[12.141249656677246,26.98812484741211],"6-100-1":[10.276249885559082,25.239999771118164],"6-100-2":[3.434375047683716,20.525312423706055],"6-100-3":[-0.7556250095367432,788.1603393554688],"6-100-4":[-13.0493745803833,864.9545288085938],"6-100-5":[-6.2657084465026855,624.5289916992188],"6-100-6":[-13.39162540435791,737.35888671875],"6-100-7":[45.51605987548828,676.8431396484375],"6-100-8":[147.98194885253906,958.8784790039062],"6-100-9":[114.45652770996094,855.8261108398438],"6-100-10":[-24.798931121826172,555.6571044921875],"6-100-11":[130.9779052734375,852.8773193359375],"6-100-12":[253.4986114501953,917.9906616210938],"6-100-13":[346.4425048828125,3194.58203125],"6-100-14":[732.5319213867188,2295.1875],"6-100-15":[986.958251953125,3379.0302734375],"6-100-16":[844.6471557617188,3558.084228515625],"6-100-17":[745.3832397460938,1902.572509765625],"6-100-18":[1168.5538330078125,5176.8681640625],"6-100-19":[1398.2760009765625,4952.18994140625],"6-100-20":[475.7709655761719,6100.37451171875],"6-100-21":[222.10797119140625,7111.27880859375],"6-100-22":[347.1823425292969,4334.25537109375],"6-100-23":[41.068031311035156,3117.267578125],"6-100-24":[36.191551208496094,3084.015625],"6-100-25":[52.60023880004883,2792.632568359375],"6-100-26":[-35.295494079589844,1323.339111328125],"6-100-27":[-72.11222076416016,1726.8887939453125],"6-100-28":[-49.939998626708984,1062.1951904296875],"6-100-29":[-35.13999938964844,1503.5521240234375],"6-100-30":[-117.37947845458984,2181.095947265625],"6-100-31":[-68.73313903808594,1252.5933837890625],"6-100-32":[-20.46755027770996,3783.23681640625],"6-100-33":[-69.40849304199219,3170.09423828125],"6-100-34":[-37.005001068115234,1.5950000286102295],"6-100-35":[-51.439998626708984,-9.86775016784668],"6-100-36":[-64.34687805175781,-13.795000076293945],"6-100-37":[-82.43000030517578,-27.147499084472656],"6-100-38":[-86.63312530517578,-34.466251373291016],"6-100-39":[-87.83000183105469,-34.635311126708984],"6-100-40":[-85.5199966430664,-36.5099983215332],"6-100-41":[-80.18250274658203,-37.621334075927734],"6-100-42":[-78.67765808105469,-37.255001068115234],"6-100-43":[-81.39718627929688,-35.65566635131836],"6-100-44":[-80.05000305175781,-30.594999313354492],"6-100-45":[-66.3199234008789,-24.76308250427246],"6-100-46":[-55.38468933105469,-18.127500534057617],"6-100-47":[-41.047637939453125,-11.5625],"6-100-48":[-30.55500030517578,-6.292500019073486],"6-100-49":[-19.2523250579834,-3.510666608810425],"6-100-50":[-13.285937309265137,-1.4500000476837158],"6-100-51":[-9.515625,-0.8500000238418579],"6-100-52":[-12.518964767456055,-1.6088333129882812],"6-100-53":[-17.404687881469727,-3.387500047683716],"6-100-54":[-19.90314483642578,-2.007499933242798],"6-100-55":[-15.860429763793945,1791.7099609375],"6-100-56":[1558.6600341796875,2640.607421875],"6-100-57":[2600.885009765625,3292.469970703125],"6-100-58":[3117.9423828125,3525.75244140625],"6-100-59":[3441.922607421875,3605.3056640625],"6-100-60":[3363.738037109375,3601.39990234375],"6-100-61":[3196.6650390625,3433.71240234375],"6-100-62":[3070.694580078125,3240.360107421875],"6-100-63":[-29.533540725708008,3075.885009765625],"6-101-0":[12.06624984741211,26.968124389648438],"6-101-1":[10.276249885559082,24.00374984741211],"5-50-0":[10.276249885559082,26.98812484741211],"6-101-2":[1.8837499618530273,20.604686737060547],"6-101-3":[-0.03999999910593033,776.5399780273438],"5-50-1":[-0.7556250095367432,788.1603393554688],"6-101-4":[-9.339374542236328,841.9341430664062],"6-101-5":[-23.583749771118164,832.709716796875],"5-50-2":[-23.583749771118164,864.9545288085938],"6-101-6":[-24.807655334472656,718.394775390625],"6-101-7":[121.13387298583984,1011.67724609375],"5-50-3":[-24.807655334472656,1011.67724609375],"6-101-8":[224.50125122070312,929.4348754882812],"6-101-9":[162.5760040283203,836.0345458984375],"5-50-4":[114.45652770996094,958.8784790039062],"6-101-10":[-27.017669677734375,706.5784301757812],"6-101-11":[88.71034240722656,984.0960083007812],"5-50-5":[-27.017669677734375,984.0960083007812],"6-101-12":[253.55718994140625,1472.90625],"6-101-13":[369.0807189941406,2280.06005859375],"5-50-6":[253.4986114501953,3194.58203125],"6-101-14":[518.2158203125,1985.1497802734375],"6-101-15":[932.3848266601562,2132.005126953125],"5-50-7":[518.2158203125,3379.0302734375],"6-101-16":[778.8764038085938,2678.1650390625],"6-101-17":[651.8800659179688,2311.11181640625],"5-50-8":[651.8800659179688,3558.084228515625],"6-101-18":[992.3842163085938,3502.19287109375],"6-101-19":[629.1767578125,4106.18212890625],"5-50-9":[629.1767578125,5176.8681640625],"6-101-20":[194.36094665527344,4524.8251953125],"6-101-21":[96.37752532958984,1942.562744140625],"5-50-10":[96.37752532958984,7111.27880859375],"6-101-22":[245.141357421875,2858.203125],"6-101-23":[21.037729263305664,2530.421142578125],"5-50-11":[21.037729263305664,4334.25537109375],"6-101-24":[-94.29571533203125,2937.623291015625],"6-101-25":[-56.6727294921875,2686.46435546875],"5-50-12":[-94.29571533203125,3084.015625],"6-101-26":[-2.5225887298583984,1984.9564208984375],"6-101-27":[-62.527076721191406,1793.0111083984375],"5-50-13":[-72.11222076416016,1984.9564208984375],"6-101-28":[-88.9769287109375,988.3006591796875],"6-101-29":[-13.686327934265137,296.80072021484375],"5-50-14":[-88.9769287109375,1503.5521240234375],"6-101-30":[-7.252152919769287,564.0897216796875],"6-101-31":[-34.23201370239258,1041.6949462890625],"5-50-15":[-117.37947845458984,2181.095947265625],"6-101-32":[-50.62480926513672,1126.8436279296875],"6-101-33":[-55.3551025390625,2229.42626953125],"5-50-16":[-69.40849304199219,3783.23681640625],"6-101-34":[-36.87211227416992,2218.2744140625],"6-101-35":[-23.966562271118164,362.8846130371094],"5-50-17":[-51.439998626708984,2218.2744140625],"6-101-36":[-50.001346588134766,-8.056249618530273],"6-101-37":[-67.21125030517578,-17.959732055664062],"5-50-18":[-82.43000030517578,-8.056249618530273],"6-101-38":[-72.91429901123047,-27.957500457763672],"6-101-39":[-72.67992401123047,-32.21875],"5-50-19":[-87.83000183105469,-27.957500457763672],"6-101-40":[-76.23905944824219,-33.326332092285156],"6-101-41":[-78.0512466430664,-36.983123779296875],"5-50-20":[-85.5199966430664,-33.326332092285156],"6-101-42":[-80.09074401855469,-38.14374923706055],"6-101-43":[-82.01734161376953,-39.33218765258789],"5-50-21":[-82.01734161376953,-35.65566635131836],"6-101-44":[-82.42781066894531,-34.068748474121094],"6-101-45":[-71.26062774658203,-28.184999465942383],"5-50-22":[-82.42781066894531,-24.76308250427246],"6-101-46":[-62.709999084472656,-21.813749313354492],"6-101-47":[-49.63687515258789,-15.77750015258789],"5-50-23":[-62.709999084472656,-11.5625],"6-101-48":[-39.38999938964844,-10.576250076293945],"6-101-49":[-28.154062271118164,-7.193749904632568],"5-50-24":[-39.38999938964844,-3.510666608810425],"6-101-50":[-21.760000228881836,-4.943124771118164],"6-101-51":[-17.135313034057617,-4.867422103881836],"5-50-25":[-21.760000228881836,-0.8500000238418579],"6-101-52":[-18.222187042236328,-5.130000114440918],"6-101-53":[-25.725000381469727,-6.911874771118164],"5-50-26":[-25.725000381469727,-1.6088333129882812],"6-101-54":[-26.465625762939453,-8.949999809265137],"6-101-55":[-27.043750762939453,1793.859375],"5-50-27":[-27.043750762939453,1793.859375],"6-101-56":[1569.3199462890625,2600.885009765625],"6-101-57":[2518.512451171875,3117.9423828125],"5-50-28":[1558.6600341796875,3292.469970703125],"6-101-58":[2973.887451171875,3441.922607421875],"6-101-59":[3288.117431640625,3528.6875],"5-50-29":[2973.887451171875,3605.3056640625],"6-101-60":[3280.251220703125,3498.597412109375],"6-101-61":[3169.635009765625,3363.738037109375],"5-50-30":[3169.635009765625,3601.39990234375],"6-101-62":[3069.833740234375,3196.6650390625],"6-101-63":[-29.533666610717773,3075.281982421875],"5-50-31":[-29.533666610717773,3240.360107421875],"6-102-0":[12.039999961853027,26.9559383392334],"6-102-1":[10.0287504196167,23.169687271118164],"6-102-2":[1.6371874809265137,20.510000228881836],"6-102-3":[-0.7002343535423279,3.5999999046325684],"6-102-4":[-9.339374542236328,927.4326782226562],"6-102-5":[-21.43830108642578,1119.0721435546875],"6-102-6":[-21.059999465942383,734.3880004882812],"6-102-7":[132.34861755371094,887.8001098632812],"6-102-8":[166.7278289794922,947.8831787109375],"6-102-9":[178.95567321777344,743.499267578125],"6-102-10":[-23.45667266845703,607.1334838867188],"6-102-11":[188.20120239257812,1969.849365234375],"6-102-12":[317.03961181640625,2509.710205078125],"6-102-13":[401.972900390625,1987.1124267578125],"6-102-14":[522.5114135742188,2758.42333984375],"6-102-15":[862.6259155273438,2221.83935546875],"6-102-16":[705.9061889648438,1397.1702880859375],"6-102-17":[902.2406616210938,2304.1640625],"6-102-18":[874.9180297851562,1918.5618896484375],"6-102-19":[285.5086364746094,3718.1845703125],"6-102-20":[36.405147552490234,3019.6357421875],"6-102-21":[48.415260314941406,2199.574462890625],"6-102-22":[81.86380004882812,2506.954345703125],"6-102-23":[-4.487086772918701,1720.4412841796875],"6-102-24":[-110.93511199951172,1495.09716796875],"6-102-25":[-45.578857421875,1791.5574951171875],"6-102-26":[-43.689796447753906,2581.29638671875],"6-102-27":[-24.817638397216797,2426.486572265625],"6-102-28":[-33.44102478027344,1298.2012939453125],"6-102-29":[2.6475000381469727,41.21500015258789],"6-102-30":[-11.171079635620117,1014.8482055664062],"6-102-31":[-30.378761291503906,1601.84130859375],"6-102-32":[-4.173274993896484,1034.185302734375],"6-102-33":[5.393982410430908,373.3113708496094],"6-102-34":[-27.483510971069336,3442.894287109375],"6-102-35":[-16.452909469604492,32.4587516784668],"6-102-36":[-35.915000915527344,-0.17273437976837158],"6-102-37":[-55.88999938964844,-9.773324966430664],"6-102-38":[-63.67250061035156,-20.55875015258789],"6-102-39":[-67.06937408447266,-25.590625762939453],"6-102-40":[-74.44468688964844,-31.394729614257812],"6-102-41":[-78.86593627929688,-34.22249984741211],"6-102-42":[-80.61429595947266,-38.59000015258789],"6-102-43":[-81.49304962158203,-37.505001068115234],"6-102-44":[-81.54812622070312,-36.82374954223633],"6-102-45":[-75.31758117675781,-31.360000610351562],"6-102-46":[-66.16531372070312,-25.52750015258789],"6-102-47":[-55.1413459777832,-19.95800018310547],"6-102-48":[-45.83250045776367,-14.587499618530273],"6-102-49":[-34.13527297973633,-11.036333084106445],"6-102-50":[-27.399999618530273,-8.606249809265137],"6-102-51":[-22.975624084472656,-8.325833320617676],"6-102-52":[-24.395898818969727,-8.557833671569824],"6-102-53":[-30.223125457763672,-9.288749694824219],"6-102-54":[-36.53761672973633,-12.517499923706055],"6-102-55":[-33.125545501708984,1569.3199462890625],"6-102-56":[1087.427490234375,2518.512451171875],"6-102-57":[2491.997314453125,2973.887451171875],"6-102-58":[2898.385009765625,3288.117431640625],"6-102-59":[3218.559326171875,3458.761962890625],"6-102-60":[3217.244384765625,3410.3798828125],"6-102-61":[3122.291259765625,3280.251220703125],"6-102-62":[3068.025390625,3169.635009765625],"6-102-63":[-29.533832550048828,3074.6787109375],"6-103-0":[11.817336082458496,26.931875228881836],"6-103-1":[10.0287504196167,22.968124389648438],"5-51-0":[10.0287504196167,26.9559383392334],"6-103-2":[1.761875033378601,20.020000457763672],"6-103-3":[-4.679999828338623,2.365000009536743],"5-51-1":[-4.679999828338623,20.510000228881836],"4-25-0":[-4.679999828338623,788.1603393554688],"6-103-4":[-7.066543102264404,732.2693481445312],"6-103-5":[-18.387500762939453,1038.6973876953125],"5-51-2":[-21.43830108642578,1119.0721435546875],"6-103-6":[-8.215499877929688,689.781005859375],"6-103-7":[42.214290618896484,820.6544799804688],"5-51-3":[-21.059999465942383,887.8001098632812],"4-25-1":[-24.807655334472656,1119.0721435546875],"3-12-0":[-24.807655334472656,1618.970703125],"6-103-8":[142.6613311767578,871.061767578125],"6-103-9":[190.73883056640625,581.3455810546875],"5-51-4":[142.6613311767578,947.8831787109375],"6-103-10":[-22.820222854614258,599.1442260742188],"6-103-11":[157.28475952148438,2526.105712890625],"5-51-5":[-23.45667266845703,2526.105712890625],"4-25-2":[-27.017669677734375,2526.105712890625],"6-103-12":[409.5706481933594,2781.9208984375],"6-103-13":[538.792724609375,2000.3720703125],"5-51-6":[317.03961181640625,2781.9208984375],"6-103-14":[796.8623657226562,2483.452880859375],"6-103-15":[786.009521484375,1631.531005859375],"5-51-7":[522.5114135742188,2758.42333984375],"4-25-3":[253.4986114501953,3379.0302734375],"3-12-1":[-32.160579681396484,4155.2607421875],"6-103-16":[657.0386962890625,1440.5582275390625],"6-103-17":[814.4816284179688,2312.803955078125],"5-51-8":[657.0386962890625,2312.803955078125],"6-103-18":[461.7703857421875,2785.311279296875],"6-103-19":[90.9733657836914,2608.846923828125],"5-51-9":[90.9733657836914,3718.1845703125],"4-25-4":[90.9733657836914,5176.8681640625],"6-103-20":[-14.59168815612793,3075.609130859375],"6-103-21":[-41.03794479370117,2284.8916015625],"5-51-10":[-41.03794479370117,3075.609130859375],"6-103-22":[6.198770046234131,2090.381103515625],"6-103-23":[-33.893341064453125,1930.5634765625],"5-51-11":[-33.893341064453125,2506.954345703125],"4-25-5":[-41.03794479370117,7111.27880859375],"3-12-2":[-108.99283599853516,7512.83154296875],"6-103-24":[-68.72269439697266,1683.0919189453125],"6-103-25":[-50.31270980834961,1775.488525390625],"5-51-12":[-110.93511199951172,1791.5574951171875],"6-103-26":[-15.984999656677246,22.83502197265625],"6-103-27":[-1.3075000047683716,35.119998931884766],"5-51-13":[-43.689796447753906,2581.29638671875],"4-25-6":[-110.93511199951172,3084.015625],"6-103-28":[7.059999942779541,50.114376068115234],"6-103-29":[13.683751106262207,63.150001525878906],"5-51-14":[-33.44102478027344,1298.2012939453125],"6-103-30":[17.553897857666016,93.67708587646484],"6-103-31":[-60.470115661621094,1707.5223388671875],"5-51-15":[-60.470115661621094,1707.5223388671875],"4-25-7":[-117.37947845458984,2181.095947265625],"3-12-3":[-135.69265747070312,3433.717529296875],"6-103-32":[-5.202020645141602,1767.4635009765625],"6-103-33":[16.48212242126465,98.62550354003906],"5-51-16":[-5.202020645141602,1767.4635009765625],"6-103-34":[-32.42257308959961,3363.426513671875],"6-103-35":[-8.094200134277344,36.61726379394531],"5-51-17":[-32.42257308959961,3442.894287109375],"4-25-8":[-69.40849304199219,3783.23681640625],"6-103-36":[-20.478515625,14.711250305175781],"6-103-37":[-39.41999816894531,-2.5824999809265137],"5-51-18":[-55.88999938964844,14.711250305175781],"6-103-38":[-48.06984329223633,-12.98900032043457],"6-103-39":[-62.91999816894531,-19.510000228881836],"5-51-19":[-67.06937408447266,-12.98900032043457],"4-25-9":[-87.83000183105469,14.711250305175781],"3-12-4":[-129.45375061035156,3783.23681640625],"6-103-40":[-67.30343627929688,-22.53179931640625],"6-103-41":[-76.30656433105469,-23.362499237060547],"5-51-20":[-78.86593627929688,-22.53179931640625],"6-103-42":[-79.5485610961914,-31.815000534057617],"6-103-43":[-79.52164459228516,-36.314842224121094],"5-51-21":[-81.49304962158203,-31.815000534057617],"4-25-10":[-85.5199966430664,-22.53179931640625],"6-103-44":[-81.63999938964844,-36.17466354370117],"6-103-45":[-78.42562866210938,-33.2087516784668],"5-51-22":[-81.63999938964844,-31.360000610351562],"6-103-46":[-69.23999786376953,-28.582500457763672],"6-103-47":[-59.936248779296875,-23.25749969482422],"5-51-23":[-69.23999786376953,-19.95800018310547],"4-25-11":[-82.42781066894531,-11.5625],"3-12-5":[-93.33374786376953,15.180000305175781],"6-103-48":[-51.29999923706055,-17.940624237060547],"6-103-49":[-40.415000915527344,-14.138750076293945],"5-51-24":[-51.29999923706055,-11.036333084106445],"6-103-50":[-34.47999954223633,-12.041874885559082],"6-103-51":[-30.947500228881836,-11.710416793823242],"5-51-25":[-34.47999954223633,-8.325833320617676],"4-25-12":[-51.29999923706055,-0.8500000238418579],"6-103-52":[-31.638124465942383,-11.835000038146973],"6-103-53":[-39.290000915527344,-12.703125],"5-51-26":[-39.290000915527344,-8.557833671569824],"6-103-54":[-43.13874816894531,-15.555000305175781],"6-103-55":[-38.78874969482422,1241.7139892578125],"5-51-27":[-43.13874816894531,1569.3199462890625],"4-25-13":[-43.13874816894531,1793.859375],"3-12-6":[-51.29999923706055,1793.859375],"6-103-56":[767.030029296875,2536.9755859375],"6-103-57":[2496.328125,2925.6298828125],"5-51-28":[767.030029296875,2973.887451171875],"6-103-58":[2895.284423828125,3218.559326171875],"6-103-59":[3190.50244140625,3373.23486328125],"5-51-29":[2895.284423828125,3458.761962890625],"4-25-14":[767.030029296875,3605.3056640625],"6-103-60":[3144.58740234375,3368.41259765625],"6-103-61":[3056.95751953125,3217.244384765625],"5-51-30":[3056.95751953125,3410.3798828125],"6-103-62":[3059.0869140625,3122.291259765625],"6-103-63":[-29.534000396728516,3072.11328125],"5-51-31":[-29.534000396728516,3169.635009765625],"4-25-15":[-29.534000396728516,3601.39990234375],"3-12-7":[-29.534000396728516,3799.8994140625],"6-104-0":[11.395625114440918,26.923749923706055],"6-104-1":[9.9087495803833,23.012285232543945],"6-104-2":[2.365000009536743,20.306875228881836],"6-104-3":[-5.998125076293945,3.2401366233825684],"6-104-4":[-5.998125076293945,82.83891296386719],"6-104-5":[-17.306249618530273,495.9525146484375],"6-104-6":[-8.762588500976562,399.0910339355469],"6-104-7":[13.610994338989258,491.0516052246094],"6-104-8":[115.43140411376953,750.880615234375],"6-104-9":[116.10437774658203,561.5291137695312],"6-104-10":[-21.957290649414062,1677.5823974609375],"6-104-11":[150.22683715820312,2530.442138671875],"6-104-12":[479.34100341796875,2992.364013671875],"6-104-13":[504.8572082519531,1634.3475341796875],"6-104-14":[575.6790771484375,1654.7225341796875],"6-104-15":[617.4766235351562,1754.5362548828125],"6-104-16":[880.330810546875,1742.1429443359375],"6-104-17":[128.3405303955078,2838.34228515625],"6-104-18":[-3.8795130252838135,3047.595947265625],"6-104-19":[5.775850772857666,1847.957275390625],"6-104-20":[-14.271394729614258,1280.504638671875],"6-104-21":[-154.5433807373047,1772.7618408203125],"6-104-22":[-30.86983299255371,2103.75244140625],"6-104-23":[-95.55509948730469,1877.287841796875],"6-104-24":[-70.07720184326172,953.50244140625],"6-104-25":[-6.164999961853027,27.987499237060547],"6-104-26":[3.365000009536743,44.498748779296875],"6-104-27":[10.307501792907715,55.82601547241211],"6-104-28":[17.560001373291016,73.23249816894531],"6-104-29":[25.674999237060547,79.67453002929688],"6-104-30":[10.650348663330078,2422.75537109375],"6-104-31":[29.678714752197266,2305.224365234375],"6-104-32":[6.493336200714111,2345.040283203125],"6-104-33":[23.547834396362305,1325.5146484375],"6-104-34":[-20.929399490356445,3699.172119140625],"6-104-35":[4.346236228942871,1042.392822265625],"6-104-36":[-2.5824999809265137,22.633495330810547],"6-104-37":[-24.90999984741211,7.413750171661377],"6-104-38":[-38.05812454223633,-5.305000305175781],"6-104-39":[-58.72812271118164,307.86492919921875],"6-104-40":[-68.82820892333984,370.7476806640625],"6-104-41":[-63.630001068115234,291.0906066894531],"6-104-42":[-75.38749694824219,303.78668212890625],"6-104-43":[-77.45413970947266,189.4241485595703],"6-104-44":[-81.91609191894531,202.31829833984375],"6-104-45":[-78.43132781982422,-34.62158203125],"6-104-46":[-69.88999938964844,-30.524999618530273],"6-104-47":[-61.5109748840332,-25.77899932861328],"6-104-48":[-54.2287483215332,-20.78499984741211],"6-104-49":[-44.250274658203125,-17.39983367919922],"6-104-50":[-39.244998931884766,-15.5600004196167],"6-104-51":[-36.42576217651367,-15.241167068481445],"6-104-52":[-37.16798782348633,-15.455833435058594],"6-104-53":[-45.53874969482422,-15.942500114440918],"6-104-54":[-46.973201751708984,-19.125],"6-104-55":[-44.17023468017578,1300.88671875],"6-104-56":[486.82562255859375,2508.45751953125],"6-104-57":[2399.347412109375,2971.72119140625],"6-104-58":[2925.6298828125,3190.50244140625],"6-104-59":[3187.9931640625,3320.01318359375],"6-104-60":[3081.53759765625,3317.02001953125],"6-104-61":[2940.53369140625,3144.58740234375],"6-104-62":[3024.2265625,3080.425048828125],"6-104-63":[-29.53416633605957,3069.67041015625],"6-105-0":[11.09399127960205,26.8956241607666],"6-105-1":[9.459358215332031,22.948476791381836],"5-52-0":[9.459358215332031,26.923749923706055],"6-105-2":[2.7668750286102295,20.286874771118164],"6-105-3":[-5.308125019073486,3.7906250953674316],"5-52-1":[-5.998125076293945,20.306875228881836],"6-105-4":[-5.645625114440918,-0.6535833477973938],"6-105-5":[-15.123671531677246,237.6919708251953],"5-52-2":[-17.306249618530273,495.9525146484375],"6-105-6":[-2.026824951171875,277.0776062011719],"6-105-7":[17.85645866394043,385.9036865234375],"5-52-3":[-8.762588500976562,491.0516052246094],"6-105-8":[110.65704345703125,448.34423828125],"6-105-9":[56.909149169921875,380.4173889160156],"5-52-4":[56.909149169921875,750.880615234375],"6-105-10":[-16.125072479248047,1615.060302734375],"6-105-11":[217.5137481689453,2962.6435546875],"5-52-5":[-21.957290649414062,2962.6435546875],"6-105-12":[454.5268249511719,2450.235107421875],"6-105-13":[406.433837890625,1532.319091796875],"5-52-6":[406.433837890625,2992.364013671875],"6-105-14":[432.2392883300781,1232.85205078125],"6-105-15":[549.842529296875,1464.1834716796875],"5-52-7":[432.2392883300781,1754.5362548828125],"6-105-16":[730.4099731445312,2060.021484375],"6-105-17":[-64.07971954345703,2407.62890625],"5-52-8":[-64.07971954345703,2838.34228515625],"6-105-18":[-63.80284881591797,805.5870361328125],"6-105-19":[-16.166181564331055,1519.790283203125],"5-52-9":[-63.80284881591797,3047.595947265625],"6-105-20":[-33.5651969909668,1755.8779296875],"6-105-21":[-69.58358764648438,1735.5242919921875],"5-52-10":[-154.5433807373047,1772.7618408203125],"6-105-22":[4.652620792388916,2160.71044921875],"6-105-23":[-47.9760856628418,1800.5181884765625],"5-52-11":[-95.55509948730469,2160.71044921875],"6-105-24":[1.502500057220459,35.13750076293945],"6-105-25":[6.5800018310546875,52.58000183105469],"5-52-12":[-70.07720184326172,953.50244140625],"6-105-26":[13.993752479553223,67.4124984741211],"6-105-27":[22.249378204345703,82.33000183105469],"5-52-13":[3.365000009536743,82.33000183105469],"6-105-28":[30.082500457763672,2125.14453125],"6-105-29":[13.271993637084961,4108.6796875],"5-52-14":[13.271993637084961,4108.6796875],"6-105-30":[17.77521514892578,2687.604248046875],"6-105-31":[15.581348419189453,2267.2998046875],"5-52-15":[10.650348663330078,2687.604248046875],"6-105-32":[-40.36251449584961,1916.4329833984375],"6-105-33":[6.530210971832275,1738.0380859375],"5-52-16":[-40.36251449584961,2345.040283203125],"6-105-34":[14.434529304504395,3755.874267578125],"6-105-35":[-28.5382022857666,2972.86767578125],"5-52-17":[-28.5382022857666,3755.874267578125],"6-105-36":[3.706876039505005,35.21792984008789],"6-105-37":[-12.085468292236328,21.017499923706055],"5-52-18":[-24.90999984741211,35.21792984008789],"6-105-38":[-24.318124771118164,2.7181639671325684],"6-105-39":[-35.24810791015625,1205.9722900390625],"5-52-19":[-58.72812271118164,1205.9722900390625],"6-105-40":[29.133516311645508,1196.0513916015625],"6-105-41":[167.75819396972656,715.2401123046875],"5-52-20":[-68.82820892333984,1196.0513916015625],"6-105-42":[-14.206986427307129,661.9976806640625],"6-105-43":[-99.75154113769531,566.345947265625],"5-52-21":[-99.75154113769531,661.9976806640625],"6-105-44":[-78.52347564697266,969.3388061523438],"6-105-45":[-78.20470428466797,-34.74274826049805],"5-52-22":[-81.91609191894531,969.3388061523438],"6-105-46":[-69.9398422241211,-30.989999771118164],"6-105-47":[-61.906776428222656,-27.202499389648438],"5-52-23":[-69.9398422241211,-25.77899932861328],"6-105-48":[-54.834999084472656,-22.896875381469727],"6-105-49":[-47.72593688964844,-19.912500381469727],"5-52-24":[-54.834999084472656,-17.39983367919922],"6-105-50":[-42.439998626708984,-18.560625076293945],"6-105-51":[-41.439998626708984,-18.274375915527344],"5-52-25":[-42.439998626708984,-15.241167068481445],"6-105-52":[-43.23468780517578,-18.397499084472656],"6-105-53":[-52.01499938964844,-19.128124237060547],"5-52-26":[-52.01499938964844,-15.455833435058594],"6-105-54":[-54.033748626708984,-21.066875457763672],"6-105-55":[-53.095001220703125,680.376220703125],"5-52-27":[-54.033748626708984,1300.88671875],"6-105-56":[536.8099975585938,2408.297607421875],"6-105-57":[2392.948974609375,3030.3125],"5-52-28":[486.82562255859375,3030.3125],"6-105-58":[2971.72119140625,3188.155517578125],"6-105-59":[3108.985107421875,3235.6044921875],"5-52-29":[2925.6298828125,3320.01318359375],"6-105-60":[3012.27001953125,3197.280029296875],"6-105-61":[2926.36083984375,3081.53759765625],"5-52-30":[2926.36083984375,3317.02001953125],"6-105-62":[2976.461181640625,3060.171875],"6-105-63":[-29.534500122070312,3063.51416015625],"5-52-31":[-29.534500122070312,3080.425048828125],"6-106-0":[10.645625114440918,26.881563186645508],"6-106-1":[8.537500381469727,22.52312469482422],"6-106-2":[2.4987499713897705,19.453125],"6-106-3":[-5.699999809265137,3.746875047683716],"6-106-4":[-6.55148458480835,0.12404166907072067],"6-106-5":[-15.62906265258789,39.747501373291016],"6-106-6":[-15.62906265258789,346.254638671875],"6-106-7":[14.943625450134277,411.13677978515625],"6-106-8":[91.1597900390625,443.5286865234375],"6-106-9":[32.40992736816406,383.4845886230469],"6-106-10":[-14.763406753540039,717.4058837890625],"6-106-11":[169.48362731933594,2548.25048828125],"6-106-12":[315.35223388671875,2226.518310546875],"6-106-13":[309.6911926269531,1486.603759765625],"6-106-14":[471.52777099609375,1598.4366455078125],"6-106-15":[383.8426513671875,1743.80908203125],"6-106-16":[236.1094970703125,1936.11279296875],"6-106-17":[-59.34538269042969,1887.2481689453125],"6-106-18":[-120.46707916259766,785.4136352539062],"6-106-19":[-39.034908294677734,1101.7681884765625],"6-106-20":[-105.15167999267578,584.5284423828125],"6-106-21":[-78.24170684814453,1795.6600341796875],"6-106-22":[-35.19308090209961,1934.5506591796875],"6-106-23":[-36.19482421875,3691.207763671875],"6-106-24":[-4.518364429473877,1951.278076171875],"6-106-25":[17.56875228881836,2501.6220703125],"6-106-26":[-6.785483360290527,2962.206787109375],"6-106-27":[26.5418643951416,2343.0869140625],"6-106-28":[24.22179412841797,1769.3575439453125],"6-106-29":[30.27001953125,536.5322875976562],"6-106-30":[32.10991668701172,935.328857421875],"6-106-31":[37.62660217285156,2935.39013671875],"6-106-32":[39.93707275390625,3132.806640625],"6-106-33":[-11.888333320617676,3490.22509765625],"6-106-34":[19.974328994750977,1959.4854736328125],"6-106-35":[5.423966407775879,2405.03369140625],"6-106-36":[10.50875186920166,52.69140625],"6-106-37":[1.5750000476837158,42.4992561340332],"6-106-38":[-1.2899999618530273,35.05461883544922],"6-106-39":[-31.041540145874023,1152.2900390625],"6-106-40":[340.66522216796875,1241.4190673828125],"6-106-41":[303.9790344238281,737.3851318359375],"6-106-42":[254.0583038330078,673.7930908203125],"6-106-43":[-1.481818437576294,507.3038024902344],"6-106-44":[-78.17295837402344,1063.091796875],"6-106-45":[-78.00910186767578,-33.8125],"6-106-46":[-69.48500061035156,-30.79312515258789],"6-106-47":[-61.109375,-27.354999542236328],"6-106-48":[-54.98749923706055,-24.248750686645508],"6-106-49":[-48.710899353027344,-21.27666664123535],"6-106-50":[-45.032501220703125,-20.594999313354492],"6-106-51":[-45.0837516784668,-20.393999099731445],"6-106-52":[-47.531349182128906,-20.766582489013672],"6-106-53":[-57.274375915527344,-21.903749465942383],"6-106-54":[-61.20624923706055,-25.9424991607666],"6-106-55":[-59.824764251708984,845.2374877929688],"6-106-56":[519.8556518554688,2462.733154296875],"6-106-57":[2401.534912109375,3046.358642578125],"6-106-58":[3030.3125,3177.39990234375],"6-106-59":[2994.820068359375,3172.347412109375],"6-106-60":[2931.1162109375,3109.0537109375],"6-106-61":[2879.885986328125,3012.27001953125],"6-106-62":[2930.228759765625,3048.302490234375],"6-106-63":[-29.587488174438477,3060.241455078125],"6-107-0":[10.15999984741211,26.86750030517578],"6-107-1":[8.139708518981934,21.462696075439453],"5-53-0":[8.139708518981934,26.881563186645508],"6-107-2":[2.413437604904175,16.787187576293945],"6-107-3":[-5.347499847412109,4.388124942779541],"5-53-1":[-5.699999809265137,19.453125],"4-26-0":[-5.998125076293945,26.923749923706055],"6-107-4":[-5.788066387176514,0.23917968571186066],"6-107-5":[-13.900312423706055,13.673333168029785],"5-53-2":[-15.62906265258789,39.747501373291016],"6-107-6":[-13.900312423706055,479.00537109375],"6-107-7":[3.5830166339874268,427.0550537109375],"5-53-3":[-15.62906265258789,479.00537109375],"4-26-1":[-17.306249618530273,495.9525146484375],"6-107-8":[3.9033889770507812,342.4036560058594],"6-107-9":[56.97005844116211,417.2188415527344],"5-53-4":[3.9033889770507812,443.5286865234375],"6-107-10":[-10.304116249084473,1200.1827392578125],"6-107-11":[142.1153106689453,2000.947265625],"5-53-5":[-14.763406753540039,2548.25048828125],"4-26-2":[-21.957290649414062,2962.6435546875],"6-107-12":[249.5493621826172,1644.2117919921875],"6-107-13":[260.3295593261719,1523.385498046875],"5-53-6":[249.5493621826172,2226.518310546875],"6-107-14":[165.9662322998047,1600.4388427734375],"6-107-15":[117.12785339355469,1541.68359375],"5-53-7":[117.12785339355469,1743.80908203125],"4-26-3":[117.12785339355469,2992.364013671875],"6-107-16":[42.30064010620117,816.1380615234375],"6-107-17":[-150.5021209716797,1174.4647216796875],"5-53-8":[-150.5021209716797,1936.11279296875],"6-107-18":[-29.12253189086914,918.2625732421875],"6-107-19":[3.799683094024658,96.89410400390625],"5-53-9":[-120.46707916259766,1101.7681884765625],"4-26-4":[-150.5021209716797,3047.595947265625],"6-107-20":[-52.46895217895508,121.180908203125],"6-107-21":[-35.83429718017578,1218.6937255859375],"5-53-10":[-105.15167999267578,1795.6600341796875],"6-107-22":[0.698478639125824,450.0506591796875],"6-107-23":[-53.70463562011719,3956.00146484375],"5-53-11":[-53.70463562011719,3956.00146484375],"4-26-5":[-154.5433807373047,3956.00146484375],"6-107-24":[11.303256034851074,1042.6578369140625],"6-107-25":[-10.644895553588867,2731.6064453125],"5-53-12":[-10.644895553588867,2731.6064453125],"6-107-26":[-0.2650891840457916,2712.3232421875],"6-107-27":[-54.18501663208008,2627.625],"5-53-13":[-54.18501663208008,2962.206787109375],"4-26-6":[-70.07720184326172,2962.206787109375],"6-107-28":[-134.1881561279297,2528.22265625],"6-107-29":[21.903949737548828,2469.264404296875],"5-53-14":[-134.1881561279297,2528.22265625],"6-107-30":[58.3849983215332,136.18215942382812],"6-107-31":[24.07520866394043,2286.436767578125],"5-53-15":[24.07520866394043,2935.39013671875],"4-26-7":[-134.1881561279297,4108.6796875],"6-107-32":[0.8419284224510193,2955.48193359375],"6-107-33":[28.66122055053711,2702.645751953125],"5-53-16":[-11.888333320617676,3490.22509765625],"6-107-34":[15.942488670349121,1676.81494140625],"6-107-35":[5.351846218109131,2244.6015625],"5-53-17":[5.351846218109131,2405.03369140625],"4-26-8":[-40.36251449584961,3755.874267578125],"6-107-36":[21.361249923706055,72.30809783935547],"6-107-37":[-21.625112533569336,280.2849426269531],"5-53-18":[-21.625112533569336,280.2849426269531],"6-107-38":[-20.06814956665039,284.7078857421875],"6-107-39":[-14.215166091918945,553.6465454101562],"5-53-19":[-31.041540145874023,1152.2900390625],"4-26-9":[-58.72812271118164,1205.9722900390625],"6-107-40":[235.60284423828125,710.8161010742188],"6-107-41":[292.36102294921875,692.6553344726562],"5-53-20":[235.60284423828125,1241.4190673828125],"6-107-42":[104.90637969970703,561.3460693359375],"6-107-43":[-30.256011962890625,610.8652954101562],"5-53-21":[-30.256011962890625,673.7930908203125],"4-26-10":[-99.75154113769531,1241.4190673828125],"6-107-44":[-76.0870132446289,322.3399658203125],"6-107-45":[-73.82052612304688,-32.371917724609375],"5-53-22":[-78.17295837402344,1063.091796875],"6-107-46":[-67.40656280517578,-29.790000915527344],"6-107-47":[-60.770626068115234,-27.097333908081055],"5-53-23":[-69.48500061035156,-27.097333908081055],"4-26-11":[-81.91609191894531,1063.091796875],"6-107-48":[-54.942501068115234,-24.936874389648438],"6-107-49":[-49.54951095581055,-22.677499771118164],"5-53-24":[-54.98749923706055,-21.27666664123535],"6-107-50":[-47.08124923706055,-22.058124542236328],"6-107-51":[-49,-22.03937530517578],"5-53-25":[-49,-20.393999099731445],"4-26-12":[-54.98749923706055,-15.241167068481445],"6-107-52":[-52.134376525878906,-22.787500381469727],"6-107-53":[-62.68000030517578,-24.369375228881836],"5-53-26":[-62.68000030517578,-20.766582489013672],"6-107-54":[-67.39125061035156,-28.928749084472656],"6-107-55":[-64.35375213623047,1172.9024658203125],"5-53-27":[-67.39125061035156,1172.9024658203125],"4-26-13":[-67.39125061035156,1300.88671875],"6-107-56":[845.2374877929688,2590.72509765625],"6-107-57":[2462.733154296875,3089.3349609375],"5-53-28":[519.8556518554688,3089.3349609375],"6-107-58":[3046.358642578125,3196.304931640625],"6-107-59":[2917.969970703125,3163.3662109375],"5-53-29":[2917.969970703125,3196.304931640625],"4-26-14":[486.82562255859375,3320.01318359375],"6-107-60":[2826.824951171875,2994.820068359375],"6-107-61":[2826.824951171875,2932.310791015625],"5-53-30":[2826.824951171875,3109.0537109375],"6-107-62":[2871.64501953125,3035.4931640625],"6-107-63":[-29.572309494018555,3058.061767578125],"5-53-31":[-29.587488174438477,3060.241455078125],"4-26-15":[-29.587488174438477,3317.02001953125],"6-108-0":[10.040078163146973,26.859375],"6-108-1":[7.603750228881836,20.1875],"6-108-2":[2.4156250953674316,15.359999656677246],"6-108-3":[-5.018886566162109,4.795527458190918],"6-108-4":[-5,0.19750000536441803],"6-108-5":[-10.520000457763672,23.29597282409668],"6-108-6":[-6.100703239440918,487.1304931640625],"6-108-7":[-1.8410333395004272,1127.3905029296875],"6-108-8":[-14.602749824523926,1401.1768798828125],"6-108-9":[9.018291473388672,816.8931274414062],"6-108-10":[0.9944562911987305,804.4678344726562],"6-108-11":[261.2876892089844,1845.919921875],"6-108-12":[224.24710083007812,1706.8504638671875],"6-108-13":[169.5654296875,1269.13134765625],"6-108-14":[159.24978637695312,878.2234497070312],"6-108-15":[100.27754211425781,339.0616455078125],"6-108-16":[60.869781494140625,1264.5626220703125],"6-108-17":[-268.69342041015625,1987.40771484375],"6-108-18":[-101.35450744628906,1234.97705078125],"6-108-19":[-7.783987045288086,581.1946411132812],"6-108-20":[16.920663833618164,1941.54638671875],"6-108-21":[18.575000762939453,59.79499816894531],"6-108-22":[22.079999923706055,60.961307525634766],"6-108-23":[8.003097534179688,553.5545654296875],"6-108-24":[22.25,69.86156463623047],"6-108-25":[31.0575008392334,86.49874877929688],"6-108-26":[38.77000045776367,279.0564880371094],"6-108-27":[15.220137596130371,1607.3092041015625],"6-108-28":[-24.496809005737305,2547.0654296875],"6-108-29":[21.538570404052734,3011.037841796875],"6-108-30":[36.96856689453125,1410.912109375],"6-108-31":[-6.94961404800415,2053.626708984375],"6-108-32":[33.67299270629883,1465.29150390625],"6-108-33":[35.2654914855957,2752.581787109375],"6-108-34":[-4.8577704429626465,1869.5675048828125],"6-108-35":[7.812381267547607,2985.194580078125],"6-108-36":[18.748552322387695,169.8892059326172],"6-108-37":[-47.88648986816406,844.90576171875],"6-108-38":[-13.371504783630371,967.0010375976562],"6-108-39":[127.51785278320312,455.3905029296875],"6-108-40":[265.2843933105469,557.0946655273438],"6-108-41":[312.18670654296875,555.4915771484375],"6-108-42":[124.91072845458984,497.2385559082031],"6-108-43":[-59.02543640136719,276.4925537109375],"6-108-44":[-71.43875122070312,115.265380859375],"6-108-45":[-69.82687377929688,-30.39875030517578],"6-108-46":[-64.73999786376953,-28.341249465942383],"6-108-47":[-58.67250061035156,-26.1200008392334],"6-108-48":[-54.08000183105469,-24.30062484741211],"6-108-49":[-49.443748474121094,-23.51169204711914],"6-108-50":[-48.529884338378906,-23.469833374023438],"6-108-51":[-51.551876068115234,-23.602500915527344],"6-108-52":[-55.444374084472656,-24.60033416748047],"6-108-53":[-65.38843536376953,-26.412500381469727],"6-108-54":[-71.75707244873047,-31.343082427978516],"6-108-55":[-65.98255920410156,1359.82373046875],"6-108-56":[1164.449951171875,2630.579833984375],"6-108-57":[2590.72509765625,3151.3125],"6-108-58":[3089.3349609375,3203.6328125],"6-108-59":[2882.882568359375,3159.635009765625],"6-108-60":[2697.34619140625,2917.969970703125],"6-108-61":[2697.34619140625,2871.64501953125],"6-108-62":[2844.514892578125,3023.217529296875],"6-108-63":[-29.53499984741211,3057.858154296875],"6-109-0":[10.071249961853027,26.831249237060547],"6-109-1":[7.603750228881836,19.556249618530273],"5-54-0":[7.603750228881836,26.859375],"6-109-2":[1.9450000524520874,15.291250228881836],"6-109-3":[-4.587500095367432,4.338125228881836],"5-54-1":[-5.018886566162109,15.359999656677246],"6-109-4":[-4.587500095367432,1.3206249475479126],"6-109-5":[-11.142187118530273,-0.27250000834465027],"5-54-2":[-11.142187118530273,23.29597282409668],"6-109-6":[-13.2212495803833,1068.5482177734375],"6-109-7":[49.78281784057617,2201.015869140625],"5-54-3":[-13.2212495803833,2201.015869140625],"6-109-8":[105.58416748046875,2117.986328125],"6-109-9":[2.066075086593628,1848.173828125],"5-54-4":[-14.602749824523926,2117.986328125],"6-109-10":[2.819803476333618,676.8499755859375],"6-109-11":[199.21148681640625,2240.322265625],"5-54-5":[0.9944562911987305,2240.322265625],"6-109-12":[203.0760955810547,2048.931640625],"6-109-13":[137.94741821289062,905.3820190429688],"5-54-6":[137.94741821289062,2048.931640625],"6-109-14":[100.62044525146484,1057.6190185546875],"6-109-15":[12.103288650512695,1445.4256591796875],"5-54-7":[12.103288650512695,1445.4256591796875],"6-109-16":[169.2510528564453,1718.966796875],"6-109-17":[-9.269830703735352,2763.76806640625],"5-54-8":[-268.69342041015625,2763.76806640625],"6-109-18":[-16.30503273010254,1727.0347900390625],"6-109-19":[-43.55134963989258,1925.5797119140625],"5-54-9":[-101.35450744628906,1925.5797119140625],"6-109-20":[-39.23483657836914,1453.6046142578125],"6-109-21":[16.048099517822266,722.7515258789062],"5-54-10":[-39.23483657836914,1941.54638671875],"6-109-22":[13.178258895874023,672.7855224609375],"6-109-23":[24.41031265258789,69.73999786376953],"5-54-11":[8.003097534179688,672.7855224609375],"6-109-24":[29.922500610351562,74.98968505859375],"6-109-25":[35.90812683105469,87.32562255859375],"5-54-12":[22.25,87.32562255859375],"6-109-26":[42.78033447265625,100.03480529785156],"6-109-27":[47.352500915527344,114.5171890258789],"5-54-13":[15.220137596130371,1607.3092041015625],"6-109-28":[47.352500915527344,127.21390533447266],"6-109-29":[45.25312423706055,289.496826171875],"5-54-14":[-24.496809005737305,3011.037841796875],"6-109-30":[39.86431121826172,726.387451171875],"6-109-31":[-77.8031005859375,1820.664794921875],"5-54-15":[-77.8031005859375,2053.626708984375],"6-109-32":[-16.97292709350586,2152.94775390625],"6-109-33":[17.044315338134766,2555.70703125],"5-54-16":[-16.97292709350586,2752.581787109375],"6-109-34":[33.44093704223633,1415.7528076171875],"6-109-35":[30.37507438659668,2395.348876953125],"5-54-17":[-4.8577704429626465,2985.194580078125],"6-109-36":[4.41843843460083,198.3114013671875],"6-109-37":[-3.5617198944091797,755.1380004882812],"5-54-18":[-47.88648986816406,844.90576171875],"6-109-38":[123.22166442871094,1012.7681274414062],"6-109-39":[240.33421325683594,556.9723510742188],"5-54-19":[-13.371504783630371,1012.7681274414062],"6-109-40":[305.48968505859375,1049.442626953125],"6-109-41":[288.49078369140625,1051.485595703125],"5-54-20":[265.2843933105469,1051.485595703125],"6-109-42":[117.95211029052734,457.27752685546875],"6-109-43":[-68.15966796875,175.1285400390625],"5-54-21":[-68.15966796875,497.2385559082031],"6-109-44":[-66.20892333984375,-23.797632217407227],"6-109-45":[-63.968048095703125,-28.21150016784668],"5-54-22":[-71.43875122070312,115.265380859375],"6-109-46":[-60.296875,-26.684999465942383],"6-109-47":[-55.646873474121094,-25.020334243774414],"5-54-23":[-64.73999786376953,-25.020334243774414],"6-109-48":[-52.0412483215332,-23.149999618530273],"6-109-49":[-47.98478698730469,-22.51908302307129],"5-54-24":[-54.08000183105469,-22.51908302307129],"6-109-50":[-47.81103515625,-22.3973331451416],"6-109-51":[-52.38999938964844,-23.56999969482422],"5-54-25":[-52.38999938964844,-22.3973331451416],"6-109-52":[-58.587501525878906,-25.84749984741211],"6-109-53":[-69.43499755859375,-28.360624313354492],"5-54-26":[-69.43499755859375,-24.60033416748047],"6-109-54":[-76.92124938964844,-32.970001220703125],"6-109-55":[-75.42378997802734,1185.12255859375],"5-54-27":[-76.92124938964844,1359.82373046875],"6-109-56":[945.1087646484375,2622.601806640625],"6-109-57":[2578.3837890625,3171.08837890625],"5-54-28":[945.1087646484375,3171.08837890625],"6-109-58":[3008.626220703125,3189.22021484375],"6-109-59":[2819.280029296875,3116.034912109375],"5-54-29":[2819.280029296875,3203.6328125],"6-109-60":[2623.100830078125,2882.882568359375],"6-109-61":[2629.617431640625,2844.514892578125],"5-54-30":[2623.100830078125,2917.969970703125],"6-109-62":[2805.6875,3011.96240234375],"6-109-63":[-29.535249710083008,3059.52490234375],"5-54-31":[-29.535249710083008,3059.52490234375],"6-110-0":[10.548749923706055,26.8231258392334],"6-110-1":[6.878749847412109,20.98062515258789],"6-110-2":[1.923281192779541,15.125],"6-110-3":[-4.541250228881836,2.917187452316284],"6-110-4":[-4.019999980926514,4.853125095367432],"6-110-5":[-10.854999542236328,-0.21421875059604645],"6-110-6":[-13.897988319396973,856.1284790039062],"6-110-7":[47.149471282958984,1828.98583984375],"6-110-8":[120.23799896240234,1922.6566162109375],"6-110-9":[31.37041664123535,2002.649169921875],"6-110-10":[5.262241363525391,531.4788818359375],"6-110-11":[163.23605346679688,2290.5703125],"6-110-12":[207.26580810546875,2374.20068359375],"6-110-13":[182.49888610839844,1509.01806640625],"6-110-14":[66.20710754394531,1216.435791015625],"6-110-15":[10.103692054748535,1386.0037841796875],"6-110-16":[4.323400974273682,1509.86669921875],"6-110-17":[10.26012134552002,1774.1800537109375],"6-110-18":[-48.6901969909668,999.3602294921875],"6-110-19":[-18.687772750854492,1373.09375],"6-110-20":[-17.53952407836914,1801.4195556640625],"6-110-21":[-19.020692825317383,1948.188720703125],"6-110-22":[24.00410270690918,290.94085693359375],"6-110-23":[28.825000762939453,74.18390655517578],"6-110-24":[34.849998474121094,77.84107208251953],"6-110-25":[38.27000045776367,88.56187438964844],"6-110-26":[43.53766632080078,99.44109344482422],"6-110-27":[49.52975082397461,113.79000091552734],"6-110-28":[55.44499969482422,127.02749633789062],"6-110-29":[62.11750030517578,137.94125366210938],"6-110-30":[67.63999938964844,149.07882690429688],"6-110-31":[62.22065353393555,363.48809814453125],"6-110-32":[-56.45692443847656,1519.0338134765625],"6-110-33":[-10.581006050109863,3088.669921875],"6-110-34":[26.674110412597656,862.4263305664062],"6-110-35":[40.626426696777344,116.3291015625],"6-110-36":[-0.6164039373397827,359.5176086425781],"6-110-37":[-20.347820281982422,453.10943603515625],"6-110-38":[138.035400390625,558.6033325195312],"6-110-39":[237.65353393554688,915.4181518554688],"6-110-40":[389.7268371582031,1429.676513671875],"6-110-41":[289.7884216308594,1437.6102294921875],"6-110-42":[27.631139755249023,482.507568359375],"6-110-43":[-47.59000015258789,188.1759490966797],"6-110-44":[-60.48500061035156,-16.06519889831543],"6-110-45":[-58.00749969482422,-25.18000030517578],"6-110-46":[-56.41999816894531,-23.906875610351562],"6-110-47":[-52.81999969482422,-22.852500915527344],"6-110-48":[-49.84000015258789,-21.483749389648438],"6-110-49":[-46.071250915527344,-21.125625610351562],"6-110-50":[-46.514686584472656,-21.318750381469727],"6-110-51":[-52.45624923706055,-23.05437469482422],"6-110-52":[-59.61955261230469,-26.040000915527344],"6-110-53":[-71.73500061035156,-29.783750534057617],"6-110-54":[-80.18144226074219,-34.719581604003906],"6-110-55":[-74.88249969482422,1382.719970703125],"6-110-56":[948.4249877929688,2601.736328125],"6-110-57":[2573.546630859375,3136.5625],"6-110-58":[2893.920654296875,3137.88330078125],"6-110-59":[2675.264892578125,3008.626220703125],"6-110-60":[2578.010498046875,2819.280029296875],"6-110-61":[2594.093017578125,2805.6875],"6-110-62":[2759.423828125,2999.7275390625],"6-110-63":[-29.535499572753906,3062.375],"6-111-0":[11.531874656677246,28.015625],"6-111-1":[6.596027851104736,23.672500610351562],"5-55-0":[6.596027851104736,28.015625],"6-111-2":[2.125,13.533437728881836],"6-111-3":[-4.238749980926514,2.5799999237060547],"5-55-1":[-4.541250228881836,15.125],"4-27-0":[-5.018886566162109,28.015625],"6-111-4":[-1.3393750190734863,4.979453086853027],"6-111-5":[-6.895625114440918,-0.375],"5-55-2":[-10.854999542236328,4.979453086853027],"6-111-6":[-9.752422332763672,462.0810241699219],"6-111-7":[19.542749404907227,1221.3096923828125],"5-55-3":[-13.897988319396973,1828.98583984375],"4-27-1":[-13.897988319396973,2201.015869140625],"3-13-0":[-17.306249618530273,2201.015869140625],"6-111-8":[105.45774841308594,1652.57568359375],"6-111-9":[35.476165771484375,2070.505859375],"5-55-4":[31.37041664123535,2070.505859375],"6-111-10":[7.841791152954102,825.8564453125],"6-111-11":[208.6302490234375,1856.8231201171875],"5-55-5":[5.262241363525391,2290.5703125],"4-27-2":[-14.602749824523926,2290.5703125],"6-111-12":[30.93016815185547,2358.544677734375],"6-111-13":[242.51205444335938,2286.519775390625],"5-55-6":[30.93016815185547,2374.20068359375],"6-111-14":[42.212989807128906,2263.838623046875],"6-111-15":[-27.40255355834961,1447.7294921875],"5-55-7":[-27.40255355834961,2263.838623046875],"4-27-3":[-27.40255355834961,2374.20068359375],"3-13-1":[-27.40255355834961,2992.364013671875],"2-6-0":[-32.160579681396484,4155.2607421875],"6-111-16":[-79.6911392211914,1878.5408935546875],"6-111-17":[23.246318817138672,62.04999923706055],"5-55-8":[-79.6911392211914,1878.5408935546875],"6-111-18":[25.698749542236328,66.76499938964844],"6-111-19":[-16.839323043823242,1986.1080322265625],"5-55-9":[-48.6901969909668,1986.1080322265625],"4-27-4":[-268.69342041015625,2763.76806640625],"6-111-20":[-0.36219334602355957,1882.107177734375],"6-111-21":[27.458126068115234,74.08000183105469],"5-55-10":[-19.020692825317383,1948.188720703125],"6-111-22":[33.040000915527344,75.0472183227539],"6-111-23":[33.9140625,80.5],"5-55-11":[24.00410270690918,290.94085693359375],"4-27-5":[-39.23483657836914,1948.188720703125],"3-13-2":[-268.69342041015625,3956.00146484375],"6-111-24":[37.064998626708984,83.12187194824219],"6-111-25":[39.619998931884766,93.94000244140625],"5-55-12":[34.849998474121094,93.94000244140625],"6-111-26":[44.33000183105469,102.27437591552734],"6-111-27":[49.631248474121094,114.33999633789062],"5-55-13":[43.53766632080078,114.33999633789062],"4-27-6":[15.220137596130371,1607.3092041015625],"6-111-28":[55.180667877197266,125.79906463623047],"6-111-29":[59.4762077331543,301.7226257324219],"5-55-14":[55.180667877197266,301.7226257324219],"6-111-30":[66.39015197753906,148.83624267578125],"6-111-31":[69.38235473632812,149.74415588378906],"5-55-15":[62.22065353393555,363.48809814453125],"4-27-7":[-77.8031005859375,3011.037841796875],"3-13-3":[-134.1881561279297,4108.6796875],"2-6-1":[-268.69342041015625,7512.83154296875],"6-111-32":[15.146706581115723,3028.23486328125],"6-111-33":[-92.73839569091797,2016.58154296875],"5-55-16":[-92.73839569091797,3088.669921875],"6-111-34":[38.32501983642578,670.1463012695312],"6-111-35":[39.61852264404297,131.24000549316406],"5-55-17":[26.674110412597656,862.4263305664062],"4-27-8":[-92.73839569091797,3088.669921875],"6-111-36":[-50.66433334350586,610.21435546875],"6-111-37":[37.90886688232422,457.35809326171875],"5-55-18":[-50.66433334350586,610.21435546875],"6-111-38":[212.43186950683594,466.2076110839844],"6-111-39":[278.1312255859375,1152.218994140625],"5-55-19":[138.035400390625,1152.218994140625],"4-27-9":[-50.66433334350586,1152.218994140625],"3-13-4":[-92.73839569091797,3755.874267578125],"6-111-40":[234.53250122070312,1528.5208740234375],"6-111-41":[101.81592559814453,1002.6502075195312],"5-55-20":[101.81592559814453,1528.5208740234375],"6-111-42":[72.04338836669922,400.1426086425781],"6-111-43":[-50.50321578979492,399.922607421875],"5-55-21":[-50.50321578979492,482.507568359375],"4-27-10":[-68.15966796875,1528.5208740234375],"6-111-44":[-51.724708557128906,212.31222534179688],"6-111-45":[-50.86457061767578,-20.772499084472656],"5-55-22":[-60.48500061035156,212.31222534179688],"6-111-46":[-49.685916900634766,-20.97166633605957],"6-111-47":[-47.08236312866211,-20.452999114990234],"5-55-23":[-56.41999816894531,-20.452999114990234],"4-27-11":[-71.43875122070312,212.31222534179688],"3-13-5":[-99.75154113769531,1528.5208740234375],"2-6-2":[-129.45375061035156,3783.23681640625],"6-111-48":[-45.22062683105469,-19.5049991607666],"6-111-49":[-42.62757873535156,-19.5049991607666],"5-55-24":[-49.84000015258789,-19.5049991607666],"6-111-50":[-45.54152297973633,-20.178083419799805],"6-111-51":[-51.94550323486328,-22.677499771118164],"5-55-25":[-52.45624923706055,-20.178083419799805],"4-27-12":[-54.08000183105469,-19.5049991607666],"6-111-52":[-60.114376068115234,-25.881166458129883],"6-111-53":[-74.08000183105469,-30.600000381469727],"5-55-26":[-74.08000183105469,-25.881166458129883],"6-111-54":[-82.20625305175781,-35.97624969482422],"6-111-55":[-78.65499877929688,1711.275634765625],"5-55-27":[-82.20625305175781,1711.275634765625],"4-27-13":[-82.20625305175781,1711.275634765625],"3-13-6":[-82.20625305175781,1711.275634765625],"6-111-56":[1382.719970703125,2605.534912109375],"6-111-57":[2513.78759765625,2976.728759765625],"5-55-28":[948.4249877929688,3136.5625],"6-111-58":[2794.5400390625,2992.840087890625],"6-111-59":[2564.77001953125,2893.920654296875],"5-55-29":[2564.77001953125,3137.88330078125],"4-27-14":[945.1087646484375,3203.6328125],"6-111-60":[2500.6953125,2687.29052734375],"6-111-61":[2526.81005859375,2763.185302734375],"5-55-30":[2500.6953125,2819.280029296875],"6-111-62":[2709.284912109375,2987.49755859375],"6-111-63":[-29.535667419433594,3065.2578125],"5-55-31":[-29.535667419433594,3065.2578125],"4-27-15":[-29.535667419433594,3065.2578125],"3-13-7":[-29.587488174438477,3320.01318359375],"2-6-3":[-82.20625305175781,3799.8994140625],"6-112-0":[12.702500343322754,28.888124465942383],"6-112-1":[6.422044277191162,25.483125686645508],"6-112-2":[2.2389843463897705,12.866562843322754],"6-112-3":[-4.1240234375,4.09353494644165],"6-112-4":[-0.6845312714576721,55.50812530517578],"6-112-5":[-5.980000019073486,225.2657470703125],"6-112-6":[-8.157500267028809,496.1143798828125],"6-112-7":[13.726166725158691,1767.278564453125],"6-112-8":[107.91549682617188,1681.64111328125],"6-112-9":[91.80030059814453,1766.6695556640625],"6-112-10":[12.16731071472168,1755.0657958984375],"6-112-11":[24.970348358154297,1915.0177001953125],"6-112-12":[3.846111536026001,2099.472900390625],"6-112-13":[23.285791397094727,2155.75048828125],"6-112-14":[6.544188499450684,1965.963134765625],"6-112-15":[15.764370918273926,2024.2510986328125],"6-112-16":[12.728078842163086,1410.9742431640625],"6-112-17":[25.602500915527344,66.51499938964844],"6-112-18":[-24.294858932495117,3037.72802734375],"6-112-19":[-29.582820892333984,3225.430908203125],"6-112-20":[16.39544677734375,1148.9560546875],"6-112-21":[35.654998779296875,80.82125091552734],"6-112-22":[36.810001373291016,83.25544738769531],"6-112-23":[36.79109573364258,87.9574966430664],"6-112-24":[39.763999938964844,92.1661148071289],"6-112-25":[41.967498779296875,97.9018783569336],"6-112-26":[46.97383499145508,104.84492492675781],"6-112-27":[51.717498779296875,114.87437438964844],"6-112-28":[56.92499923706055,128.33741760253906],"6-112-29":[57.721275329589844,134.68344116210938],"6-112-30":[65.91675567626953,141.56500244140625],"6-112-31":[67.63156127929688,143.16000366210938],"6-112-32":[6.634612560272217,1532.5244140625],"6-112-33":[44.60397720336914,4900.74951171875],"6-112-34":[45.112667083740234,141.5593719482422],"6-112-35":[56.190635681152344,138.85018920898438],"6-112-36":[28.288576126098633,417.6700439453125],"6-112-37":[-0.9403872489929199,370.76263427734375],"6-112-38":[108.64749145507812,478.7390441894531],"6-112-39":[201.08203125,643.7965087890625],"6-112-40":[73.33515930175781,1103.74267578125],"6-112-41":[-45.73155212402344,301.6623229980469],"6-112-42":[-38.94584274291992,426.7216491699219],"6-112-43":[-35.043800354003906,487.72686767578125],"6-112-44":[-41.283966064453125,417.2722473144531],"6-112-45":[-43.348751068115234,-6.758749961853027],"6-112-46":[-43.02000045776367,-16.663150787353516],"6-112-47":[-41.884376525878906,-17.815000534057617],"6-112-48":[-40.81999969482422,-17.537578582763672],"6-112-49":[-40.220001220703125,-17.584375381469727],"6-112-50":[-44.513126373291016,-18.846250534057617],"6-112-51":[-52.071250915527344,-21.669374465942383],"6-112-52":[-60.30095672607422,-25.802499771118164],"6-112-53":[-75.14718627929688,-30.771406173706055],"6-112-54":[-83.5892562866211,-37.04108428955078],"6-112-55":[-84.72638702392578,1701.9000244140625],"6-112-56":[1598.15869140625,2525.837646484375],"6-112-57":[2453.6376953125,2840.9599609375],"6-112-58":[2629.409912109375,2867.36962890625],"6-112-59":[2498.340087890625,2794.5400390625],"6-112-60":[2390.048095703125,2564.77001953125],"6-112-61":[2390.048095703125,2709.284912109375],"6-112-62":[2666.35498046875,2977.757568359375],"6-112-63":[-29.535999298095703,3068.13818359375],"6-113-0":[13.215499877929688,29.529062271118164],"6-113-1":[6.551249980926514,26.1981258392334],"5-56-0":[6.422044277191162,29.529062271118164],"6-113-2":[2.6543750762939453,15.619999885559082],"6-113-3":[-3.232109308242798,6.853750228881836],"5-56-1":[-4.1240234375,15.619999885559082],"6-113-4":[0.26570311188697815,195.81553649902344],"6-113-5":[-4.338125228881836,347.79925537109375],"5-56-2":[-5.980000019073486,347.79925537109375],"6-113-6":[-5.976327896118164,370.9669189453125],"6-113-7":[44.86349868774414,2177.90283203125],"5-56-3":[-8.157500267028809,2177.90283203125],"6-113-8":[234.8249969482422,2476.5478515625],"6-113-9":[401.3289794921875,2650.261962890625],"5-56-4":[91.80030059814453,2650.261962890625],"6-113-10":[23.808443069458008,2153.14306640625],"6-113-11":[-0.2923329770565033,1760.978515625],"5-56-5":[-0.2923329770565033,2153.14306640625],"6-113-12":[-14.425732612609863,1103.00830078125],"6-113-13":[1.70438814163208,1633.701171875],"5-56-6":[-14.425732612609863,2155.75048828125],"6-113-14":[6.0241618156433105,2108.1982421875],"6-113-15":[5.386302471160889,1700.9891357421875],"5-56-7":[5.386302471160889,2108.1982421875],"6-113-16":[25.392566680908203,1549.6265869140625],"6-113-17":[-8.61678695678711,1641.186279296875],"5-56-8":[-8.61678695678711,1641.186279296875],"6-113-18":[-22.79438591003418,2604.920166015625],"6-113-19":[-48.46418762207031,3800.251953125],"5-56-9":[-48.46418762207031,3800.251953125],"6-113-20":[33.11129379272461,892.00537109375],"6-113-21":[38.380741119384766,417.5035705566406],"5-56-10":[16.39544677734375,1148.9560546875],"6-113-22":[40.6037483215332,91.38249969482422],"6-113-23":[42.439998626708984,95.05835723876953],"5-56-11":[36.79109573364258,95.05835723876953],"6-113-24":[44.584999084472656,97.79877471923828],"6-113-25":[46.59812545776367,101.91030883789062],"5-56-12":[39.763999938964844,101.91030883789062],"6-113-26":[49.349998474121094,105.9604721069336],"6-113-27":[48.14500045776367,115.82937622070312],"5-56-13":[46.97383499145508,115.82937622070312],"6-113-28":[47.63500213623047,237.0478057861328],"6-113-29":[57.20579528808594,131.83250427246094],"5-56-14":[47.63500213623047,237.0478057861328],"6-113-30":[64.56251525878906,137.11065673828125],"6-113-31":[68.1859130859375,144.75999450683594],"5-56-15":[64.56251525878906,144.75999450683594],"6-113-32":[42.041595458984375,2301.20458984375],"6-113-33":[54.12743377685547,5227.3828125],"5-56-16":[6.634612560272217,5227.3828125],"6-113-34":[38.0442008972168,203.528564453125],"6-113-35":[58.859413146972656,141.0850067138672],"5-56-17":[38.0442008972168,203.528564453125],"6-113-36":[54.67124938964844,131.1199951171875],"6-113-37":[-15.458501815795898,223.45799255371094],"5-56-18":[-15.458501815795898,417.6700439453125],"6-113-38":[7.101803302764893,475.9681091308594],"6-113-39":[134.5004425048828,657.0802612304688],"5-56-19":[7.101803302764893,657.0802612304688],"6-113-40":[48.524600982666016,421.93359375],"6-113-41":[-34.595333099365234,242.01539611816406],"5-56-20":[-45.73155212402344,1103.74267578125],"6-113-42":[-55.10395050048828,1079.099609375],"6-113-43":[-15.563440322875977,1164.8416748046875],"5-56-21":[-55.10395050048828,1164.8416748046875],"6-113-44":[-38.16399383544922,716.9841918945312],"6-113-45":[-33.32500076293945,267.938720703125],"5-56-22":[-43.348751068115234,716.9841918945312],"6-113-46":[-34.859588623046875,-12.786665916442871],"6-113-47":[-35.4226188659668,-15.736599922180176],"5-56-23":[-43.02000045776367,-12.786665916442871],"6-113-48":[-35.40578079223633,-16.809999465942383],"6-113-49":[-37.64812469482422,-17.053203582763672],"5-56-24":[-40.81999969482422,-16.809999465942383],"6-113-50":[-42.3444709777832,-18.337249755859375],"6-113-51":[-51.22249984741211,-20.462499618530273],"5-56-25":[-52.071250915527344,-18.337249755859375],"6-113-52":[-59.958927154541016,-25.011999130249023],"6-113-53":[-76.6576919555664,-30.452499389648438],"5-56-26":[-76.6576919555664,-25.011999130249023],"6-113-54":[-85.0843734741211,-37.6904182434082],"6-113-55":[-88.86219024658203,1616.1424560546875],"5-56-27":[-88.86219024658203,1701.9000244140625],"6-113-56":[1284.6400146484375,2522.109375],"6-113-57":[2297.9765625,2629.409912109375],"5-56-28":[1284.6400146484375,2840.9599609375],"6-113-58":[2577.31494140625,2726.708984375],"6-113-59":[2407.179931640625,2693.86376953125],"5-56-29":[2407.179931640625,2867.36962890625],"6-113-60":[2235.70556640625,2498.340087890625],"6-113-61":[2303.195068359375,2666.35498046875],"5-56-30":[2235.70556640625,2709.284912109375],"6-113-62":[2636.28759765625,2970.0224609375],"6-113-63":[-29.53616714477539,3070.030029296875],"5-56-31":[-29.53616714477539,3070.030029296875],"6-114-0":[13.204375267028809,29.61492156982422],"6-114-1":[8.145530700683594,26.138437271118164],"6-114-2":[3.619999885559082,17.180625915527344],"6-114-3":[0.6924999952316284,7.060625076293945],"6-114-4":[0.49790623784065247,25.09612464904785],"6-114-5":[-1.9900000095367432,264.3922119140625],"6-114-6":[-2.4043750762939453,486.1860046386719],"6-114-7":[19.725175857543945,1696.848876953125],"6-114-8":[77.22899627685547,2512.721923828125],"6-114-9":[497.5786437988281,2822.422607421875],"6-114-10":[9.71587085723877,2513.421142578125],"6-114-11":[10.974706649780273,1227.4149169921875],"6-114-12":[11.665538787841797,627.0619506835938],"6-114-13":[3.095820188522339,1624.42724609375],"6-114-14":[7.4605865478515625,1440.1026611328125],"6-114-15":[-16.773208618164062,1737.8624267578125],"6-114-16":[-15.867565155029297,2312.9658203125],"6-114-17":[-84.12662506103516,2061.689453125],"6-114-18":[-17.61836051940918,1666.1339111328125],"6-114-19":[-16.173006057739258,124.81082916259766],"6-114-20":[11.531497955322266,77.37226867675781],"6-114-21":[17.614675521850586,96.42070007324219],"6-114-22":[9.96710205078125,768.1024169921875],"6-114-23":[28.86750030517578,604.83154296875],"6-114-24":[41.43026351928711,100.44522857666016],"6-114-25":[48.834999084472656,105.18937683105469],"6-114-26":[50.731414794921875,109.46375274658203],"6-114-27":[34.45000076293945,109.75658416748047],"6-114-28":[34.45000076293945,122.9992904663086],"6-114-29":[59.18499755859375,129.67910766601562],"6-114-30":[63.451114654541016,136.2510528564453],"6-114-31":[66.37312316894531,144.6999969482422],"6-114-32":[64.30880737304688,1467.7957763671875],"6-114-33":[33.026973724365234,4032.220458984375],"6-114-34":[24.723731994628906,3694.05322265625],"6-114-35":[31.232864379882812,439.4742736816406],"6-114-36":[-3.3828868865966797,882.398193359375],"6-114-37":[7.793904781341553,520.57470703125],"6-114-38":[-0.711439847946167,739.4083251953125],"6-114-39":[40.063602447509766,660.8094482421875],"6-114-40":[66.17192077636719,435.74798583984375],"6-114-41":[40.88275909423828,374.9598083496094],"6-114-42":[42.73994445800781,458.6563415527344],"6-114-43":[12.466410636901855,485.3210144042969],"6-114-44":[-17.43451499938965,336.8585510253906],"6-114-45":[-41.03781509399414,1170.08984375],"6-114-46":[-31.622499465942383,-2.9375],"6-114-47":[-33.619998931884766,-14.071249961853027],"6-114-48":[-34.7756233215332,-15.387499809265137],"6-114-49":[-37.494998931884766,-16.54146957397461],"6-114-50":[-40.360626220703125,-17.474750518798828],"6-114-51":[-49.63999938964844,-19.171249389648438],"6-114-52":[-59.33656311035156,-23.219999313354492],"6-114-53":[-75.375,-29.25374984741211],"6-114-54":[-88.57575988769531,-36.54875183105469],"6-114-55":[-89.5580825805664,1284.6400146484375],"6-114-56":[522.143310546875,2298.06494140625],"6-114-57":[2001.4356689453125,2577.31494140625],"6-114-58":[2428.59375,2638.074951171875],"6-114-59":[2355.27490234375,2612.98876953125],"6-114-60":[2205.202392578125,2407.179931640625],"6-114-61":[2221.106201171875,2636.28759765625],"6-114-62":[2602.74365234375,2964.78759765625],"6-114-63":[-29.536500930786133,3070.967529296875],"6-115-0":[12.074999809265137,29.544179916381836],"6-115-1":[8.62874984741211,24.46044921875],"5-57-0":[8.145530700683594,29.61492156982422],"6-115-2":[2.3975000381469727,17.299999237060547],"6-115-3":[1.8203749656677246,6.236875057220459],"5-57-1":[0.6924999952316284,17.299999237060547],"4-28-0":[-4.1240234375,29.61492156982422],"6-115-4":[0.8026250004768372,5.860000133514404],"6-115-5":[-0.8112499713897705,73.42987823486328],"5-57-2":[-1.9900000095367432,264.3922119140625],"6-115-6":[-0.8112499713897705,115.07627868652344],"6-115-7":[1.7745000123977661,672.752685546875],"5-57-3":[-2.4043750762939453,1696.848876953125],"4-28-1":[-8.157500267028809,2177.90283203125],"6-115-8":[49.514373779296875,2830.642822265625],"6-115-9":[503.9610900878906,2291.462890625],"5-57-4":[49.514373779296875,2830.642822265625],"6-115-10":[9.120444297790527,2265.176513671875],"6-115-11":[12.442978858947754,34.939998626708984],"5-57-5":[9.120444297790527,2513.421142578125],"4-28-2":[-0.2923329770565033,2830.642822265625],"6-115-12":[15.269999504089355,35.918357849121094],"6-115-13":[10.831809043884277,820.939453125],"5-57-6":[3.095820188522339,1624.42724609375],"6-115-14":[14.24219799041748,1183.293701171875],"6-115-15":[9.983827590942383,553.4686889648438],"5-57-7":[-16.773208618164062,1737.8624267578125],"4-28-3":[-16.773208618164062,2155.75048828125],"6-115-16":[9.037500381469727,1740.552001953125],"6-115-17":[8.77761459350586,43.599998474121094],"5-57-8":[-84.12662506103516,2312.9658203125],"6-115-18":[14.80000114440918,45.01927185058594],"6-115-19":[16.454378128051758,54.07225036621094],"5-57-9":[-17.61836051940918,1666.1339111328125],"4-28-4":[-84.12662506103516,3800.251953125],"6-115-20":[24.53992462158203,58.300682067871094],"6-115-21":[25.927499771118164,65.70874786376953],"5-57-10":[11.531497955322266,96.42070007324219],"6-115-22":[27.145002365112305,79.02813720703125],"6-115-23":[25.235393524169922,82.8499984741211],"5-57-11":[9.96710205078125,768.1024169921875],"4-28-5":[9.96710205078125,1148.9560546875],"6-115-24":[19.7591609954834,904.4130859375],"6-115-25":[34.27754211425781,1005.00732421875],"5-57-12":[19.7591609954834,1005.00732421875],"6-115-26":[39.750003814697266,844.8390502929688],"6-115-27":[31.11359977722168,457.0445861816406],"5-57-13":[31.11359977722168,844.8390502929688],"4-28-6":[19.7591609954834,1005.00732421875],"6-115-28":[39.70000076293945,118.4888687133789],"6-115-29":[57.522499084472656,126.9000015258789],"5-57-14":[34.45000076293945,129.67910766601562],"6-115-30":[61.370601654052734,131.1943817138672],"6-115-31":[64.24250030517578,143.2949981689453],"5-57-15":[61.370601654052734,144.6999969482422],"4-28-7":[34.45000076293945,237.0478057861328],"6-115-32":[67.54129791259766,296.1795654296875],"6-115-33":[36.60327911376953,3477.98046875],"5-57-16":[33.026973724365234,4032.220458984375],"6-115-34":[32.51049041748047,4553.65234375],"6-115-35":[36.30091094970703,265.7647705078125],"5-57-17":[24.723731994628906,4553.65234375],"4-28-8":[6.634612560272217,5227.3828125],"6-115-36":[59.7531852722168,573.4743041992188],"6-115-37":[29.750572204589844,1449.4176025390625],"5-57-18":[-3.3828868865966797,1449.4176025390625],"6-115-38":[28.522674560546875,1670.1334228515625],"6-115-39":[244.1732177734375,1064.7767333984375],"5-57-19":[-0.711439847946167,1670.1334228515625],"4-28-9":[-15.458501815795898,1670.1334228515625],"6-115-40":[176.38949584960938,727.3900146484375],"6-115-41":[119.67829132080078,517.6893310546875],"5-57-20":[40.88275909423828,727.3900146484375],"6-115-42":[67.33686828613281,518.955810546875],"6-115-43":[59.37562942504883,560.1074829101562],"5-57-21":[12.466410636901855,560.1074829101562],"4-28-10":[-55.10395050048828,1164.8416748046875],"6-115-44":[34.38574981689453,521.3291015625],"6-115-45":[-56.76288604736328,1522.548828125],"5-57-22":[-56.76288604736328,1522.548828125],"6-115-46":[-46.80474853515625,1610.48046875],"6-115-47":[-195.2725067138672,1424.549072265625],"5-57-23":[-195.2725067138672,1610.48046875],"4-28-11":[-195.2725067138672,1610.48046875],"6-115-48":[-32.34013748168945,-13.510000228881836],"6-115-49":[-36.09000015258789,-15.232500076293945],"5-57-24":[-37.494998931884766,-13.510000228881836],"6-115-50":[-39.147499084472656,-17.167417526245117],"6-115-51":[-46.483123779296875,-18.912656784057617],"5-57-25":[-49.63999938964844,-17.167417526245117],"4-28-12":[-52.071250915527344,-13.510000228881836],"6-115-52":[-56.638614654541016,-22.555166244506836],"6-115-53":[-72.9937515258789,-28.38249969482422],"5-57-26":[-75.375,-22.555166244506836],"6-115-54":[-88.65697479248047,-36.23583221435547],"6-115-55":[-97.83999633789062,759.7892456054688],"5-57-27":[-97.83999633789062,1284.6400146484375],"4-28-13":[-97.83999633789062,1701.9000244140625],"6-115-56":[-97.83999633789062,2001.4356689453125],"6-115-57":[1792.1075439453125,2428.59375],"5-57-28":[-97.83999633789062,2577.31494140625],"6-115-58":[2305.925048828125,2559.9931640625],"6-115-59":[2344.159912109375,2552.68310546875],"5-57-29":[2305.925048828125,2638.074951171875],"4-28-14":[-97.83999633789062,2867.36962890625],"6-115-60":[2100.9375,2355.27490234375],"6-115-61":[2117.14990234375,2602.74365234375],"5-57-30":[2100.9375,2636.28759765625],"6-115-62":[2569.81494140625,2959.581787109375],"6-115-63":[-29.536666870117188,3075.990478515625],"5-57-31":[-29.536666870117188,3075.990478515625],"4-28-15":[-29.536666870117188,3075.990478515625],"6-116-0":[10.665624618530273,29.112499237060547],"6-116-1":[7.220333099365234,22.055625915527344],"6-116-2":[2.25,16.649999618530273],"6-116-3":[1.8078124523162842,6.874101638793945],"6-116-4":[1.2005000114440918,361.9646911621094],"6-116-5":[-0.5600000023841858,89.28201293945312],"6-116-6":[-0.7743750214576721,341.41461181640625],"6-116-7":[1.7745000123977661,925.7824096679688],"6-116-8":[39.126773834228516,2260.361328125],"6-116-9":[440.905517578125,2390.556884765625],"6-116-10":[-3.354823350906372,1856.7806396484375],"6-116-11":[13.800000190734863,37.505001068115234],"6-116-12":[16.010000228881836,37.89433670043945],"6-116-13":[16.010000228881836,37.39656066894531],"6-116-14":[18.59164047241211,40.86542892456055],"6-116-15":[10.256943702697754,1590.3302001953125],"6-116-16":[-1.6091797351837158,1786.56689453125],"6-116-17":[8.342499732971191,43.599998474121094],"6-116-18":[15.480937957763672,44.52750015258789],"6-116-19":[15.73812484741211,47.619998931884766],"6-116-20":[16.8174991607666,51.474998474121094],"6-116-21":[19.434999465942383,63.15999984741211],"6-116-22":[23.953750610351562,70.36250305175781],"6-116-23":[29.0100040435791,74.36593627929688],"6-116-24":[26.610000610351562,82.68672943115234],"6-116-25":[30.184627532958984,93.32398223876953],"6-116-26":[30.987895965576172,99.50405883789062],"6-116-27":[30.961488723754883,99.07742309570312],"6-116-28":[45.57500076293945,117.30792999267578],"6-116-29":[55.187400817871094,122.73999786376953],"6-116-30":[58.42723083496094,127.65812683105469],"6-116-31":[60.623172760009766,135.0800018310547],"6-116-32":[62.0526008605957,783.6565551757812],"6-116-33":[65.8573226928711,1907.6220703125],"6-116-34":[31.245834350585938,4188.77490234375],"6-116-35":[53.936866760253906,4099.50048828125],"6-116-36":[62.28409957885742,139.9199981689453],"6-116-37":[59.30500030517578,129.46966552734375],"6-116-38":[36.96384048461914,1285.7059326171875],"6-116-39":[26.9000244140625,1325.22900390625],"6-116-40":[126.78111267089844,1296.7542724609375],"6-116-41":[189.9697265625,988.4273681640625],"6-116-42":[97.05457305908203,430.663330078125],"6-116-43":[131.13632202148438,1421.12646484375],"6-116-44":[85.41197967529297,2241.0205078125],"6-116-45":[-70.559326171875,1999.20361328125],"6-116-46":[-19.927776336669922,1568.3592529296875],"6-116-47":[-160.76014709472656,1420.8681640625],"6-116-48":[-29.68375015258789,-12.33218765258789],"6-116-49":[-36.44039535522461,-13.090234756469727],"6-116-50":[-40.72152328491211,-17.243749618530273],"6-116-51":[-47.29499816894531,-19.53499984741211],"6-116-52":[-54.92937469482422,-22.38483238220215],"6-116-53":[-72.47000122070312,-27.53499984741211],"6-116-54":[-87.52726745605469,-35.51300048828125],"6-116-55":[-101.32499694824219,-44.717498779296875],"6-116-56":[-102.53226470947266,1792.1075439453125],"6-116-57":[1600.89501953125,2338.90869140625],"6-116-58":[2295.636474609375,2481.0849609375],"6-116-59":[2291.177490234375,2481.952392578125],"6-116-60":[1899.802001953125,2344.159912109375],"6-116-61":[1943.7081298828125,2569.81494140625],"6-116-62":[2529.66748046875,2955.419921875],"6-116-63":[-29.536874771118164,3081.9423828125],"6-117-0":[9.486249923706055,28.138145446777344],"6-117-1":[6.763000011444092,18.879863739013672],"5-58-0":[6.763000011444092,29.112499237060547],"6-117-2":[2.2899999618530273,14.987812042236328],"6-117-3":[1.6208332777023315,7.389218807220459],"5-58-1":[1.6208332777023315,16.649999618530273],"6-117-4":[1.4889583587646484,155.9803009033203],"6-117-5":[0.48500001430511475,58.0925407409668],"5-58-2":[-0.5600000023841858,361.9646911621094],"6-117-6":[0.3932291567325592,341.41461181640625],"6-117-7":[3.5183749198913574,692.031982421875],"5-58-3":[-0.7743750214576721,925.7824096679688],"6-117-8":[22.343067169189453,2175.64599609375],"6-117-9":[114.09969329833984,2203.43798828125],"5-58-4":[22.343067169189453,2390.556884765625],"6-117-10":[5.559625148773193,2094.719970703125],"6-117-11":[-0.4635060727596283,1541.509521484375],"5-58-5":[-3.354823350906372,2094.719970703125],"6-117-12":[17.952125549316406,39.690242767333984],"6-117-13":[17.969375610351562,40.765625],"5-58-6":[16.010000228881836,40.765625],"6-117-14":[18.87874984741211,43.19855499267578],"6-117-15":[-7.86593770980835,1533.206298828125],"5-58-7":[-7.86593770980835,1590.3302001953125],"6-117-16":[-7.872968673706055,45.400840759277344],"6-117-17":[12.998679161071777,36.852500915527344],"5-58-8":[-7.872968673706055,1786.56689453125],"6-117-18":[10.1850004196167,34.606876373291016],"6-117-19":[10.1850004196167,33.00312423706055],"5-58-9":[10.1850004196167,47.619998931884766],"6-117-20":[12.59874439239502,37.831092834472656],"6-117-21":[14.567500114440918,46.099063873291016],"5-58-10":[12.59874439239502,63.15999984741211],"6-117-22":[19.385944366455078,56.8708381652832],"6-117-23":[25.612499237060547,72.86000061035156],"5-58-11":[19.385944366455078,74.36593627929688],"6-117-24":[31.14550018310547,82.55413818359375],"6-117-25":[36.51883316040039,88.4946060180664],"5-58-12":[26.610000610351562,93.32398223876953],"6-117-26":[38.76350021362305,89.45427703857422],"6-117-27":[39.86125183105469,92.43867492675781],"5-58-13":[30.961488723754883,99.50405883789062],"6-117-28":[41.99208450317383,110.82344818115234],"6-117-29":[35.45594024658203,503.7287902832031],"5-58-14":[35.45594024658203,503.7287902832031],"6-117-30":[53.071876525878906,118.79447174072266],"6-117-31":[54.682498931884766,129.0264892578125],"5-58-15":[53.071876525878906,135.0800018310547],"6-117-32":[53.24993896484375,964.3775634765625],"6-117-33":[57.101566314697266,2427.6357421875],"5-58-16":[53.24993896484375,2427.6357421875],"6-117-34":[58.875022888183594,2022.9703369140625],"6-117-35":[-78.96611785888672,3071.923095703125],"5-58-17":[-78.96611785888672,4188.77490234375],"6-117-36":[62.087520599365234,143.55313110351562],"6-117-37":[61.21175765991211,128.8140411376953],"5-58-18":[59.30500030517578,143.55313110351562],"6-117-38":[57.561561584472656,126.22562408447266],"6-117-39":[30.205888748168945,869.7911376953125],"5-58-19":[26.9000244140625,1325.22900390625],"6-117-40":[0.01781328395009041,1008.4034423828125],"6-117-41":[75.28893280029297,1199.974853515625],"5-58-20":[0.01781328395009041,1296.7542724609375],"6-117-42":[145.6856689453125,1550.4273681640625],"6-117-43":[-25.518312454223633,1629.0196533203125],"5-58-21":[-25.518312454223633,1629.0196533203125],"6-117-44":[-80.42904663085938,1622.965576171875],"6-117-45":[-23.021146774291992,1262.5177001953125],"5-58-22":[-80.42904663085938,2241.0205078125],"6-117-46":[-14.619453430175781,1.667382836341858],"6-117-47":[-24.709999084472656,-5.89937686920166],"5-58-23":[-160.76014709472656,1568.3592529296875],"6-117-48":[-29.365938186645508,-11.359833717346191],"6-117-49":[-35.6456413269043,-13.208749771118164],"5-58-24":[-36.44039535522461,-11.359833717346191],"6-117-50":[-40.4484748840332,-17.243749618530273],"6-117-51":[-48.20000076293945,-20.044374465942383],"5-58-25":[-48.20000076293945,-17.243749618530273],"6-117-52":[-53.68312454223633,-23.20916748046875],"6-117-53":[-71.27625274658203,-27.262500762939453],"5-58-26":[-72.47000122070312,-22.38483238220215],"6-117-54":[-86.61160278320312,-34.15299987792969],"6-117-55":[-101.98625183105469,-43.806251525878906],"5-58-27":[-101.98625183105469,-34.15299987792969],"6-117-56":[-106.24812316894531,1600.89501953125],"6-117-57":[1442.23876953125,2342.56787109375],"5-58-28":[-106.24812316894531,2342.56787109375],"6-117-58":[2216.37109375,2456.9404296875],"6-117-59":[2218.72998046875,2466.508056640625],"5-58-29":[2216.37109375,2481.952392578125],"6-117-60":[1411.3575439453125,2291.177490234375],"6-117-61":[1690.0849609375,2529.66748046875],"5-58-30":[1411.3575439453125,2569.81494140625],"6-117-62":[2447.362548828125,2953.2724609375],"6-117-63":[-29.537166595458984,3084.902587890625],"5-58-31":[-29.537166595458984,3084.902587890625],"6-118-0":[8.815625190734863,27.709999084472656],"6-118-1":[6.642499923706055,17.179061889648438],"6-118-2":[1.8231250047683716,14.164999961853027],"6-118-3":[1.290624976158142,7.12375020980835],"6-118-4":[1.8012499809265137,112.11741638183594],"6-118-5":[0.828083336353302,6.130234241485596],"6-118-6":[0.715416669845581,75.9356689453125],"6-118-7":[3.5340499877929688,559.1232299804688],"6-118-8":[15.46150016784668,1102.2059326171875],"6-118-9":[92.72373962402344,1636.0654296875],"6-118-10":[2.354978322982788,1813.4786376953125],"6-118-11":[1.2194784879684448,1062.2607421875],"6-118-12":[17.21588897705078,43.50031280517578],"6-118-13":[19.636249542236328,45.975364685058594],"6-118-14":[0.731469452381134,1460.1236572265625],"6-118-15":[-7.908124923706055,1395.610107421875],"6-118-16":[-7.915156364440918,30.436250686645508],"6-118-17":[6.230000019073486,30.198749542236328],"6-118-18":[4.708749771118164,24.25],"6-118-19":[4.926249980926514,23.700000762939453],"6-118-20":[6.292500019073486,28.333436965942383],"6-118-21":[10.463125228881836,37.150001525878906],"6-118-22":[12.988750457763672,50.319374084472656],"6-118-23":[19.098125457763672,62.27000045776367],"6-118-24":[25.967500686645508,72.18437194824219],"6-118-25":[29.55875015258789,81.25499725341797],"6-118-26":[33.77295684814453,84.40875244140625],"6-118-27":[35.3068733215332,83.9800033569336],"6-118-28":[39.2400016784668,102.11485290527344],"6-118-29":[44.51163864135742,337.6989440917969],"6-118-30":[50.713748931884766,111.4332046508789],"6-118-31":[54.60862350463867,118.89913940429688],"6-118-32":[58.04140090942383,435.7176818847656],"6-118-33":[2.7415387630462646,2388.150390625],"6-118-34":[53.28290557861328,143.45147705078125],"6-118-35":[58.58671188354492,1094.57421875],"6-118-36":[60.498992919921875,866.239990234375],"6-118-37":[60.70478057861328,127.94062805175781],"6-118-38":[55.23906326293945,126.06999969482422],"6-118-39":[48.722591400146484,114.90018463134766],"6-118-40":[16.011627197265625,468.228271484375],"6-118-41":[-7.423759460449219,1263.12548828125],"6-118-42":[3.557708263397217,1616.844482421875],"6-118-43":[-3.456015110015869,1396.92724609375],"6-118-44":[7.578750133514404,40.311954498291016],"6-118-45":[0.6600000262260437,22.4189453125],"6-118-46":[-11.276874542236328,6.933164119720459],"6-118-47":[-22.420000076293945,-3.984999895095825],"6-118-48":[-29.365938186645508,-9.382499694824219],"6-118-49":[-35.14500045776367,-14.484375],"6-118-50":[-40.6496696472168,-17.235750198364258],"6-118-51":[-48.87874984741211,-20.439374923706055],"6-118-52":[-56.67544937133789,-24.1564998626709],"6-118-53":[-69.2484359741211,-27.350000381469727],"6-118-54":[-85.11312866210938,-33.760581970214844],"6-118-55":[-101.79750061035156,-42.7443733215332],"6-118-56":[-106.99699401855469,1522.7574462890625],"6-118-57":[1441.772216796875,2294.889892578125],"6-118-58":[1910.7437744140625,2319.457763671875],"6-118-59":[1821.9599609375,2399.60400390625],"6-118-60":[803.634765625,2218.72998046875],"6-118-61":[1627.453125,2447.362548828125],"6-118-62":[2363.530029296875,2959.2548828125],"6-118-63":[-29.53733253479004,3089.361328125],"6-119-0":[8.678437232971191,27.138750076293945],"6-119-1":[6.409847259521484,16.73812484741211],"5-59-0":[6.409847259521484,27.709999084472656],"6-119-2":[1.7775781154632568,13.154375076293945],"6-119-3":[1.2133333683013916,7.079999923706055],"5-59-1":[1.2133333683013916,14.164999961853027],"4-29-0":[1.2133333683013916,29.112499237060547],"6-119-4":[2.016249895095825,7.079999923706055],"6-119-5":[0.4939010441303253,6.935546875],"5-59-2":[0.4939010441303253,112.11741638183594],"6-119-6":[1.2906770706176758,81.6427001953125],"6-119-7":[3.2453999519348145,433.7110290527344],"5-59-3":[0.715416669845581,559.1232299804688],"4-29-1":[-0.7743750214576721,925.7824096679688],"3-14-0":[-8.157500267028809,2177.90283203125],"6-119-8":[15.621330261230469,1098.364990234375],"6-119-9":[80.42500305175781,1766.679931640625],"5-59-4":[15.46150016784668,1766.679931640625],"6-119-10":[-12.745160102844238,1878.568603515625],"6-119-11":[15.705033302307129,935.5357055664062],"5-59-5":[-12.745160102844238,1878.568603515625],"4-29-2":[-12.745160102844238,2390.556884765625],"6-119-12":[13.953348159790039,2005.11962890625],"6-119-13":[17.080238342285156,2477.117431640625],"5-59-6":[13.953348159790039,2477.117431640625],"6-119-14":[1.0381250381469727,1817.916748046875],"6-119-15":[3.2560620307922363,33.3420295715332],"5-59-7":[-7.908124923706055,1817.916748046875],"4-29-3":[-7.908124923706055,2477.117431640625],"3-14-1":[-16.773208618164062,2830.642822265625],"6-119-16":[4.272500038146973,23.388750076293945],"6-119-17":[1.7020000219345093,17.372480392456055],"5-59-8":[-7.915156364440918,30.436250686645508],"6-119-18":[0.23899999260902405,11.201874732971191],"6-119-19":[1.5377343893051147,11.194999694824219],"5-59-9":[0.23899999260902405,24.25],"4-29-4":[-7.915156364440918,1786.56689453125],"6-119-20":[4.13539457321167,19.584999084472656],"6-119-21":[6.497499942779541,25.027812957763672],"5-59-10":[4.13539457321167,37.150001525878906],"6-119-22":[9.004817008972168,34.9375],"6-119-23":[13.702500343322754,51.541873931884766],"5-59-11":[9.004817008972168,62.27000045776367],"4-29-5":[4.13539457321167,74.36593627929688],"3-14-2":[-84.12662506103516,3800.251953125],"6-119-24":[20.279375076293945,58.62882995605469],"6-119-25":[26.329999923706055,64.61756134033203],"5-59-12":[20.279375076293945,81.25499725341797],"6-119-26":[29.213666915893555,76.12562561035156],"6-119-27":[31.514686584472656,78.91500091552734],"5-59-13":[29.213666915893555,84.40875244140625],"4-29-6":[20.279375076293945,99.50405883789062],"6-119-28":[34.897499084472656,91.6171875],"6-119-29":[42.31672286987305,102.13916015625],"5-59-14":[34.897499084472656,337.6989440917969],"6-119-30":[49.885765075683594,110.55802917480469],"6-119-31":[51.587501525878906,118.66593933105469],"5-59-15":[49.885765075683594,118.89913940429688],"4-29-7":[34.897499084472656,503.7287902832031],"3-14-3":[19.7591609954834,1005.00732421875],"6-119-32":[55.156333923339844,126.20240020751953],"6-119-33":[55.729034423828125,960.8795166015625],"5-59-16":[2.7415387630462646,2388.150390625],"6-119-34":[6.183466911315918,2782.56201171875],"6-119-35":[49.89093780517578,1115.4150390625],"5-59-17":[6.183466911315918,2782.56201171875],"4-29-8":[-78.96611785888672,4188.77490234375],"6-119-36":[63.796875,138.90640258789062],"6-119-37":[60.58150100708008,131.75225830078125],"5-59-18":[60.498992919921875,866.239990234375],"6-119-38":[55.491641998291016,123.46561431884766],"6-119-39":[49.44233322143555,110.91312408447266],"5-59-19":[48.722591400146484,126.06999969482422],"4-29-9":[26.9000244140625,1325.22900390625],"3-14-4":[-78.96611785888672,5227.3828125],"6-119-40":[40.761016845703125,99.58000183105469],"6-119-41":[33.80708312988281,84.70574188232422],"5-59-20":[-7.423759460449219,1263.12548828125],"6-119-42":[26.011524200439453,74.0328140258789],"6-119-43":[18.31999969482422,59.156639099121094],"5-59-21":[-3.456015110015869,1616.844482421875],"4-29-10":[-25.518312454223633,1629.0196533203125],"6-119-44":[11.243749618530273,40.959999084472656],"6-119-45":[3.476249933242798,25.383438110351562],"5-59-22":[0.6600000262260437,40.959999084472656],"6-119-46":[-5.622949123382568,10.6899995803833],"6-119-47":[-18.51187515258789,-2.200000047683716],"5-59-23":[-22.420000076293945,10.6899995803833],"4-29-11":[-160.76014709472656,2241.0205078125],"3-14-5":[-195.2725067138672,2241.0205078125],"6-119-48":[-27.887714385986328,-8.104499816894531],"6-119-49":[-34.86164093017578,-13.332500457763672],"5-59-24":[-35.14500045776367,-8.104499816894531],"6-119-50":[-42.146484375,-16.71500015258789],"6-119-51":[-55.47999954223633,-20.5362491607666],"5-59-25":[-55.47999954223633,-16.71500015258789],"4-29-12":[-55.47999954223633,-8.104499816894531],"6-119-52":[-67.24624633789062,-24.479999542236328],"6-119-53":[-69.9800033569336,-28.77312469482422],"5-59-26":[-69.9800033569336,-24.1564998626709],"6-119-54":[-84.62875366210938,-34.473167419433594],"6-119-55":[-101.05999755859375,-42.64484405517578],"5-59-27":[-101.79750061035156,-33.760581970214844],"4-29-13":[-101.98625183105469,-22.38483238220215],"3-14-6":[-101.98625183105469,1701.9000244140625],"6-119-56":[-106.66616821289062,1594.2003173828125],"6-119-57":[1522.7574462890625,2260.155029296875],"5-59-28":[-106.99699401855469,2294.889892578125],"6-119-58":[1520.8018798828125,2260.155029296875],"6-119-59":[1378.3599853515625,2352.81689453125],"5-59-29":[1378.3599853515625,2399.60400390625],"4-29-14":[-106.99699401855469,2481.952392578125],"6-119-60":[115.06254577636719,3169.819091796875],"6-119-61":[1392.8712158203125,2470.733642578125],"5-59-30":[115.06254577636719,3169.819091796875],"6-119-62":[2356.792724609375,2967.239990234375],"6-119-63":[-29.53766632080078,3091.364990234375],"5-59-31":[-29.53766632080078,3091.364990234375],"4-29-15":[-29.53766632080078,3169.819091796875],"3-14-7":[-106.99699401855469,3169.819091796875],"6-120-0":[8.692500114440918,26.74187469482422],"6-120-1":[5.528749942779541,17.39875030517578],"6-120-2":[1.8200000524520874,12.039999961853027],"6-120-3":[0.5954166650772095,7.079999923706055],"6-120-4":[2.0975000858306885,7.079999923706055],"6-120-5":[0.7456145882606506,5.166874885559082],"6-120-6":[1.055999994277954,56.89479064941406],"6-120-7":[2.8581249713897705,903.9415893554688],"6-120-8":[56.39567947387695,1454.0367431640625],"6-120-9":[12.61048412322998,1757.6082763671875],"6-120-10":[12.59611701965332,947.6790771484375],"6-120-11":[15.292058944702148,2605.120849609375],"6-120-12":[7.080582141876221,3631.58447265625],"6-120-13":[-0.6945898532867432,3468.02197265625],"6-120-14":[1.4083333015441895,40.119998931884766],"6-120-15":[4.122499942779541,24.947500228881836],"6-120-16":[-0.26750001311302185,17.940000534057617],"6-120-17":[-4.960625171661377,7.427499771118164],"6-120-18":[-6.550000190734863,3],"6-120-19":[-3.976679801940918,7.460000038146973],"6-120-20":[-0.5799999833106995,12.976249694824219],"6-120-21":[2.198124885559082,17.270000457763672],"6-120-22":[4.586249828338623,25.5206241607666],"6-120-23":[8.8931245803833,39.88249969482422],"6-120-24":[15.157500267028809,49.4943733215332],"6-120-25":[21.301952362060547,58.41999816894531],"6-120-26":[25.248958587646484,62.263126373291016],"6-120-27":[28.532968521118164,69.77999877929688],"6-120-28":[32.36146545410156,84.62999725341797],"6-120-29":[37.30500030517578,831.8881225585938],"6-120-30":[42.450164794921875,102.94812774658203],"6-120-31":[46.516876220703125,110.30000305175781],"6-120-32":[48.73749923706055,118.15687561035156],"6-120-33":[52.39812469482422,128.81468200683594],"6-120-34":[36.327980041503906,1251.1383056640625],"6-120-35":[16.842161178588867,2387.584228515625],"6-120-36":[45.89206314086914,264.38232421875],"6-120-37":[59.1775016784668,130.21524047851562],"6-120-38":[55.657501220703125,121.68000030517578],"6-120-39":[49.17133331298828,115.93640899658203],"6-120-40":[42.96500015258789,105.8949966430664],"6-120-41":[35.400333404541016,90.5185775756836],"6-120-42":[28.582500457763672,74.61250305175781],"6-120-43":[8.576234817504883,495.657958984375],"6-120-44":[12.800000190734863,48.153751373291016],"6-120-45":[5.961341857910156,25.67837905883789],"6-120-46":[-2.474375009536743,12.369375228881836],"6-120-47":[-16.46125030517578,-0.49437499046325684],"6-120-48":[-25.266151428222656,-6.400000095367432],"6-120-49":[-33.36320495605469,-10.640000343322754],"6-120-50":[-42.49348449707031,-14.520781517028809],"6-120-51":[-55.79249954223633,383.7384948730469],"6-120-52":[-67.97261810302734,-26.30500030517578],"6-120-53":[-72.62593841552734,-30.519500732421875],"6-120-54":[-84.7211685180664,-34.99150085449219],"6-120-55":[-104.09874725341797,-43.287498474121094],"6-120-56":[-112.01777648925781,1627.1080322265625],"6-120-57":[475.75750732421875,2656.258544921875],"6-120-58":[867.5308837890625,2268.894775390625],"6-120-59":[1045.70263671875,2732.982421875],"6-120-60":[-105.77312469482422,3191.80615234375],"6-120-61":[347.55816650390625,2726.561767578125],"6-120-62":[2344.7861328125,2977.1982421875],"6-120-63":[-29.53783416748047,3090.375],"6-121-0":[8.973125457763672,26.74187469482422],"6-121-1":[5.528749942779541,18.197187423706055],"5-60-0":[5.528749942779541,26.74187469482422],"6-121-2":[1.996250033378601,10.993749618530273],"6-121-3":[0.42116665840148926,4.815625190734863],"5-60-1":[0.42116665840148926,12.039999961853027],"6-121-4":[2.251619815826416,7.425000190734863],"6-121-5":[0.7152083516120911,4.926953315734863],"5-60-2":[0.7152083516120911,7.425000190734863],"6-121-6":[1.2916666269302368,271.4375],"6-121-7":[2.8581249713897705,1052.6834716796875],"5-60-3":[1.055999994277954,1052.6834716796875],"6-121-8":[37.860416412353516,1653.565673828125],"6-121-9":[11.567999839782715,1415.3004150390625],"5-60-4":[11.567999839782715,1757.6082763671875],"6-121-10":[10.821890830993652,1872.7850341796875],"6-121-11":[9.111438751220703,3277.22802734375],"5-60-5":[9.111438751220703,3277.22802734375],"6-121-12":[-5.053789138793945,4774.22265625],"6-121-13":[-5.96682596206665,28.130781173706055],"5-60-6":[-5.96682596206665,4774.22265625],"6-121-14":[3.79875111579895,18.416563034057617],"6-121-15":[-1.0800000429153442,16.7503719329834],"5-60-7":[-1.0800000429153442,40.119998931884766],"6-121-16":[-7.921875,7.260624885559082],"6-121-17":[-11.569999694824219,-0.26750001311302185],"5-60-8":[-11.569999694824219,17.940000534057617],"6-121-18":[-11.897187232971191,-2.7018749713897705],"6-121-19":[-13.4946870803833,-0.5799999833106995],"5-60-9":[-13.4946870803833,7.460000038146973],"6-121-20":[-13.399999618530273,2.198124885559082],"6-121-21":[-4.886562347412109,8.55843734741211],"5-60-10":[-13.399999618530273,17.270000457763672],"6-121-22":[1.3107500076293945,15.95003890991211],"6-121-23":[6.085000038146973,30.174375534057617],"5-60-11":[1.3107500076293945,39.88249969482422],"6-121-24":[11.756769180297852,45.260135650634766],"6-121-25":[17.548749923706055,49.690311431884766],"5-60-12":[11.756769180297852,58.41999816894531],"6-121-26":[24.652942657470703,60.13412094116211],"6-121-27":[25.475000381469727,66.55365753173828],"5-60-13":[24.652942657470703,69.77999877929688],"6-121-28":[28.73543357849121,75.08226776123047],"6-121-29":[32.36000061035156,84.9000015258789],"5-60-14":[28.73543357849121,831.8881225585938],"6-121-30":[37.912498474121094,673.9683227539062],"6-121-31":[41.13249969482422,96.34249877929688],"5-60-15":[37.912498474121094,673.9683227539062],"6-121-32":[43.400665283203125,101.49954986572266],"6-121-33":[46.932498931884766,118.88749694824219],"5-60-16":[43.400665283203125,128.81468200683594],"6-121-34":[49.60951232910156,839.36083984375],"6-121-35":[9.568012237548828,1980.0616455078125],"5-60-17":[9.568012237548828,2387.584228515625],"6-121-36":[44.872840881347656,241.21823120117188],"6-121-37":[58.564998626708984,129.19125366210938],"5-60-18":[44.872840881347656,264.38232421875],"6-121-38":[56.185001373291016,122.2020263671875],"6-121-39":[50.70249938964844,116.6963882446289],"5-60-19":[49.17133331298828,122.2020263671875],"6-121-40":[45.59210968017578,106.1117935180664],"6-121-41":[37.73875045776367,94.43732452392578],"5-60-20":[35.400333404541016,106.1117935180664],"6-121-42":[32.385623931884766,82.3499984741211],"6-121-43":[24.792499542236328,66.26488494873047],"5-60-21":[8.576234817504883,495.657958984375],"6-121-44":[14.551875114440918,55.75],"6-121-45":[6.510000228881836,35.27531433105469],"5-60-22":[5.961341857910156,55.75],"6-121-46":[-0.49437499046325684,21.219999313354492],"6-121-47":[-12.250624656677246,3.973750114440918],"5-60-23":[-16.46125030517578,21.219999313354492],"6-121-48":[-19.803085327148438,-3.4900832176208496],"6-121-49":[-29.01531219482422,-8.067500114440918],"5-60-24":[-33.36320495605469,-3.4900832176208496],"6-121-50":[-41.041561126708984,-10.84041690826416],"6-121-51":[-63.15999984741211,-19.986719131469727],"5-60-25":[-63.15999984741211,383.7384948730469],"6-121-52":[-72.97562408447266,-28.170000076293945],"6-121-53":[-77.21624755859375,-33.823123931884766],"5-60-26":[-77.21624755859375,-26.30500030517578],"6-121-54":[-88.45218658447266,-36.591251373291016],"6-121-55":[-106.45874786376953,1402.855224609375],"5-60-27":[-106.45874786376953,1402.855224609375],"6-121-56":[-114.62625122070312,475.75750732421875],"6-121-57":[-117.5804672241211,2620.771240234375],"5-60-28":[-117.5804672241211,2656.258544921875],"6-121-58":[-116.4671859741211,3433.817138671875],"6-121-59":[-115.51000213623047,3317.9130859375],"5-60-29":[-116.4671859741211,3433.817138671875],"6-121-60":[-115.68836212158203,2320.190673828125],"6-121-61":[-91.82906341552734,4077.77685546875],"5-60-30":[-115.68836212158203,4077.77685546875],"6-121-62":[1924.90966796875,2984.135009765625],"6-121-63":[-29.538000106811523,3088.162841796875],"5-60-31":[-29.538000106811523,3090.375],"6-122-0":[9.422499656677246,26.75374984741211],"6-122-1":[5.654697418212891,18.58611297607422],"6-122-2":[2.494999885559082,11.397187232971191],"6-122-3":[0.2621093690395355,4.800624847412109],"6-122-4":[1.9500000476837158,7.462890625],"6-122-5":[0.7733437418937683,4.79861307144165],"6-122-6":[1.1493802070617676,7.611445426940918],"6-122-7":[3.84375,1528.569091796875],"6-122-8":[108.15875244140625,1757.5029296875],"6-122-9":[10.946916580200195,1582.2799072265625],"6-122-10":[6.8008904457092285,1233.6624755859375],"6-122-11":[7.890000343322754,932.537109375],"6-122-12":[-3.3978259563446045,850.9730834960938],"6-122-13":[1.6449999809265137,20.105810165405273],"6-122-14":[0.4893749952316284,16.334999084472656],"6-122-15":[-7.203750133514404,6.87624979019165],"6-122-16":[-12.067129135131836,-0.715583324432373],"6-122-17":[-17.580097198486328,-4.258749961853027],"6-122-18":[-18.54181671142578,-5.378749847412109],"6-122-19":[-18.71062469482422,-6.193749904632568],"6-122-20":[-17.5625,-2.8787500858306885],"6-122-21":[-10.743749618530273,2.450000047683716],"6-122-22":[-3.6293749809265137,10.618437767028809],"6-122-23":[1.4924999475479126,22.489999771118164],"6-122-24":[7.722499847412109,36.8459358215332],"6-122-25":[14.127449989318848,46.46500015258789],"6-122-26":[19.28809928894043,54.71320343017578],"6-122-27":[23.591699600219727,60.98859786987305],"6-122-28":[26.752784729003906,65.90101623535156],"6-122-29":[28.538803100585938,72.28894805908203],"6-122-30":[31.659082412719727,81.31906127929688],"6-122-31":[36.025001525878906,86.87999725341797],"6-122-32":[39.15758514404297,92.43624877929688],"6-122-33":[41.6510009765625,106.0250015258789],"6-122-34":[46.6578254699707,119.41500091552734],"6-122-35":[48.07094955444336,866.3185424804688],"6-122-36":[45.55891036987305,126.92754364013672],"6-122-37":[53.70066452026367,127.15707397460938],"6-122-38":[52.98944854736328,340.7690734863281],"6-122-39":[35.29603958129883,1689.023681640625],"6-122-40":[46.98320388793945,106.60968780517578],"6-122-41":[40.00339889526367,96.94999694824219],"6-122-42":[33.404998779296875,82.61250305175781],"6-122-43":[27.677000045776367,66.12531280517578],"6-122-44":[18.65999984741211,57.536251068115234],"6-122-45":[14.328749656677246,44.26701354980469],"6-122-46":[3.0012500286102295,29.201875686645508],"6-122-47":[-11.145000457763672,13.462499618530273],"6-122-48":[-19.416093826293945,-2.932478904724121],"6-122-49":[-27.373437881469727,-6.287600040435791],"6-122-50":[-46.334800720214844,517.8741455078125],"6-122-51":[-65.38823699951172,-20.438125610351562],"6-122-52":[-77.61161804199219,-31.584999084472656],"6-122-53":[-81.77318572998047,-37.06999969482422],"6-122-54":[-91.48986053466797,-38.57266616821289],"6-122-55":[-105.69000244140625,-45.165000915527344],"6-122-56":[-117.37384796142578,-51.892333984375],"6-122-57":[-60.45609664916992,3075.790283203125],"6-122-58":[-117.88853454589844,3148.595947265625],"6-122-59":[-115.51116943359375,2551.8212890625],"6-122-60":[-111.81999969482422,209.77999877929688],"6-122-61":[-93.21853637695312,3800.6328125],"6-122-62":[1431.844482421875,3358.989990234375],"6-122-63":[-29.538333892822266,3084.4736328125],"6-123-0":[9.851249694824219,26.77375030517578],"6-123-1":[5.733749866485596,18.852500915527344],"5-61-0":[5.654697418212891,26.77375030517578],"6-123-2":[2.9375,12],"6-123-3":[0.1446666717529297,5.400000095367432],"5-61-1":[0.1446666717529297,12],"4-30-0":[0.1446666717529297,26.77375030517578],"6-123-4":[0.9200000166893005,8.011249542236328],"6-123-5":[1.1187916994094849,5.412499904632568],"5-61-2":[0.7733437418937683,8.011249542236328],"6-123-6":[1.159999966621399,7.18625020980835],"6-123-7":[3.593437433242798,1680.3233642578125],"5-61-3":[1.1493802070617676,1680.3233642578125],"4-30-1":[0.7152083516120911,1680.3233642578125],"6-123-8":[102.27891540527344,1646.580810546875],"6-123-9":[12.038999557495117,1328.4658203125],"5-61-4":[10.946916580200195,1757.5029296875],"6-123-10":[4.755800724029541,1210.9276123046875],"6-123-11":[5.382916450500488,20.58367156982422],"5-61-5":[4.755800724029541,1233.6624755859375],"4-30-2":[4.755800724029541,3277.22802734375],"6-123-12":[-6.742199897766113,744.804443359375],"6-123-13":[-5.230391979217529,18.847753524780273],"5-61-6":[-6.742199897766113,850.9730834960938],"6-123-14":[-6.414609432220459,11.449023246765137],"6-123-15":[-19.479999542236328,0.4893749952316284],"5-61-7":[-19.479999542236328,16.334999084472656],"4-30-3":[-19.479999542236328,4774.22265625],"6-123-16":[-20.732500076293945,-3.9000000953674316],"6-123-17":[-25.1200008392334,-6.724999904632568],"5-61-8":[-25.1200008392334,-0.715583324432373],"6-123-18":[-25.1200008392334,-8.7134370803833],"6-123-19":[-20.434999465942383,-8.817500114440918],"5-61-9":[-25.1200008392334,-5.378749847412109],"4-30-4":[-25.1200008392334,17.940000534057617],"6-123-20":[-18.993125915527344,-6.489375114440918],"6-123-21":[-14.620624542236328,-2.184999942779541],"5-61-10":[-18.993125915527344,2.450000047683716],"6-123-22":[-8.930000305175781,1.4924999475479126],"6-123-23":[-0.8424999713897705,14.40250015258789],"5-61-11":[-8.930000305175781,22.489999771118164],"4-30-5":[-18.993125915527344,39.88249969482422],"6-123-24":[5.502047061920166,29.6007022857666],"6-123-25":[10.768524169921875,38.57500076293945],"5-61-12":[5.502047061920166,46.46500015258789],"6-123-26":[16.151100158691406,50.76755905151367],"6-123-27":[19.030500411987305,52.362728118896484],"5-61-13":[16.151100158691406,60.98859786987305],"4-30-6":[5.502047061920166,69.77999877929688],"6-123-28":[20.242504119873047,74.25261688232422],"6-123-29":[19.9263973236084,68.92803955078125],"5-61-14":[19.9263973236084,74.25261688232422],"6-123-30":[27.600000381469727,72.05000305175781],"6-123-31":[30.844999313354492,78.31500244140625],"5-61-15":[27.600000381469727,86.87999725341797],"4-30-7":[19.9263973236084,831.8881225585938],"6-123-32":[9.901000022888184,105.89216613769531],"6-123-33":[38.55853271484375,93.3125],"5-61-16":[9.901000022888184,106.0250015258789],"6-123-34":[42.046234130859375,104.46794891357422],"6-123-35":[26.89684295654297,608.859375],"5-61-17":[26.89684295654297,866.3185424804688],"4-30-8":[9.568012237548828,2387.584228515625],"6-123-36":[44.53181457519531,1017.7314453125],"6-123-37":[-166.25953674316406,1941.7493896484375],"5-61-18":[-166.25953674316406,1941.7493896484375],"6-123-38":[49.915000915527344,717.2467041015625],"6-123-39":[18.089313507080078,1664.4691162109375],"5-61-19":[18.089313507080078,1689.023681640625],"4-30-9":[-166.25953674316406,1941.7493896484375],"6-123-40":[48.474998474121094,309.1024169921875],"6-123-41":[41.306251525878906,105.66000366210938],"5-61-20":[40.00339889526367,309.1024169921875],"6-123-42":[34.678749084472656,357.8639221191406],"6-123-43":[28.791000366210938,77.859375],"5-61-21":[27.677000045776367,357.8639221191406],"4-30-10":[8.576234817504883,495.657958984375],"6-123-44":[23.627500534057617,65.37999725341797],"6-123-45":[14.328749656677246,51.133750915527344],"5-61-22":[14.328749656677246,65.37999725341797],"6-123-46":[6.731250762939453,41.959999084472656],"6-123-47":[-345.6128845214844,2939.59375],"5-61-23":[-345.6128845214844,2939.59375],"4-30-11":[-345.6128845214844,2939.59375],"6-123-48":[-74.0552978515625,2088.413330078125],"6-123-49":[-22.41708755493164,566.575927734375],"5-61-24":[-74.0552978515625,2088.413330078125],"6-123-50":[-82.30044555664062,649.829345703125],"6-123-51":[-70.0999984741211,-20.383085250854492],"5-61-25":[-82.30044555664062,649.829345703125],"4-30-12":[-82.30044555664062,2088.413330078125],"6-123-52":[-83.375,-32.372501373291016],"6-123-53":[-91.84124755859375,-39.818748474121094],"5-61-26":[-91.84124755859375,-31.584999084472656],"6-123-54":[-95.57624816894531,-41.026248931884766],"6-123-55":[-108.16000366210938,-46.75312423706055],"5-61-27":[-108.16000366210938,-38.57266616821289],"4-30-13":[-108.16000366210938,1402.855224609375],"6-123-56":[-118.67826080322266,-52.76750183105469],"6-123-57":[-116.80374908447266,3530.376953125],"5-61-28":[-118.67826080322266,3530.376953125],"6-123-58":[-117.57605743408203,2686.34326171875],"6-123-59":[-114.22285461425781,3368.2919921875],"5-61-29":[-117.88853454589844,3368.2919921875],"4-30-14":[-118.67826080322266,3530.376953125],"6-123-60":[-105.64125061035156,-47.9375],"6-123-61":[-94.71062469482422,4324.9130859375],"5-61-30":[-111.81999969482422,4324.9130859375],"6-123-62":[1173.3499755859375,3260.288330078125],"6-123-63":[-29.53849983215332,3084.2314453125],"5-61-31":[-29.53849983215332,3358.989990234375],"4-30-15":[-115.68836212158203,4324.9130859375],"6-124-0":[10.164999961853027,26.781875610351562],"6-124-1":[6.141250133514404,19.0362491607666],"6-124-2":[3.0350000858306885,12.258437156677246],"6-124-3":[0.1446666717529297,5.743613243103027],"6-124-4":[0.8962500095367432,8.053632736206055],"6-124-5":[1.267005205154419,5.660703182220459],"6-124-6":[1.3919792175292969,7.35623025894165],"6-124-7":[3.5218749046325684,1617.8173828125],"6-124-8":[8.51284122467041,1409.685546875],"6-124-9":[10.131875038146973,2305.87646484375],"6-124-10":[0.4503124952316284,2164.877197265625],"6-124-11":[2.565000057220459,14.625781059265137],"6-124-12":[-3.234999895095825,14.31624984741211],"6-124-13":[-10.588465690612793,10.533437728881836],"6-124-14":[-10.3568754196167,8.758593559265137],"6-124-15":[-21.038124084472656,-0.00011111106869066134],"6-124-16":[-24.631132125854492,-2.7678542137145996],"6-124-17":[-31.192031860351562,-3.8537917137145996],"6-124-18":[-30.747499465942383,-6.470624923706055],"6-124-19":[-26.10431671142578,-2.494999885559082],"6-124-20":[-24.309375762939453,-7.512249946594238],"6-124-21":[-15.2284574508667,-4.762416839599609],"6-124-22":[-13.586250305175781,-0.8424999713897705],"6-124-23":[-4.544804573059082,9.699999809265137],"6-124-24":[2.359999895095825,21.53499984741211],"6-124-25":[7.354609489440918,32.29999923706055],"6-124-26":[12.555000305175781,38.181095123291016],"6-124-27":[15.945625305175781,48.52156066894531],"6-124-28":[21.55500030517578,62.194828033447266],"6-124-29":[18.505596160888672,57.20781326293945],"6-124-30":[24.34410285949707,61.689998626708984],"6-124-31":[27.973125457763672,68.95999908447266],"6-124-32":[29.89604949951172,114.25445556640625],"6-124-33":[33.15556716918945,84.08999633789062],"6-124-34":[36.931251525878906,96.34500122070312],"6-124-35":[42.038124084472656,117.26000213623047],"6-124-36":[44.94070053100586,447.2655334472656],"6-124-37":[62.0625,132.90695190429688],"6-124-38":[41.719268798828125,1137.867919921875],"6-124-39":[34.07183074951172,895.9603881835938],"6-124-40":[47.964073181152344,131.9654541015625],"6-124-41":[46.439998626708984,105.9106674194336],"6-124-42":[39.86750030517578,96.08906555175781],"6-124-43":[32.69200134277344,85.74500274658203],"6-124-44":[26.315000534057617,75.43136596679688],"6-124-45":[20.78499984741211,56.681251525878906],"6-124-46":[8.984882354736328,1441.4979248046875],"6-124-47":[-4.0661187171936035,3719.72314453125],"6-124-48":[-31.97266387939453,2290.193603515625],"6-124-49":[-23.41812515258789,-3.7899999618530273],"6-124-50":[-84.401123046875,535.720458984375],"6-124-51":[-73.93937683105469,-20.627735137939453],"6-124-52":[-86.8559799194336,-35.05266571044922],"6-124-53":[-95.39562225341797,-42.17499923706055],"6-124-54":[-98.03624725341797,-43.580501556396484],"6-124-55":[-110.56062316894531,-48.45000076293945],"6-124-56":[-118.67500305175781,-54.08283233642578],"6-124-57":[-117.83056640625,3544.391845703125],"6-124-58":[-118.4262466430664,1962.188720703125],"6-124-59":[-115.84441375732422,2252.053955078125],"6-124-60":[-105.90750122070312,-48.57500076293945],"6-124-61":[-95.3706283569336,3812.583251953125],"6-124-62":[594.225830078125,3705.937744140625],"6-124-63":[-29.538665771484375,3085.38427734375],"6-125-0":[10.359375,26.809999465942383],"6-125-1":[6.141250133514404,19.403749465942383],"5-62-0":[6.141250133514404,26.809999465942383],"6-125-2":[3.262500047683716,12.4399995803833],"6-125-3":[0.9076562523841858,6.387812614440918],"5-62-1":[0.1446666717529297,12.4399995803833],"6-125-4":[1.277500033378601,6.48166036605835],"6-125-5":[1.132755160331726,5.316171646118164],"5-62-2":[0.8962500095367432,8.053632736206055],"6-125-6":[1.294614553451538,6.460273265838623],"6-125-7":[3.1424999237060547,1111.2384033203125],"5-62-3":[1.294614553451538,1617.8173828125],"6-125-8":[7.111324787139893,1048.769287109375],"6-125-9":[6.897500038146973,1518.98291015625],"5-62-4":[6.897500038146973,2305.87646484375],"6-125-10":[-2.905937433242798,1665.4542236328125],"6-125-11":[4.440892098500626e-16,6.856269359588623],"5-62-5":[-2.905937433242798,2164.877197265625],"6-125-12":[-2.3302342891693115,8.767499923706055],"6-125-13":[-14.45060920715332,953.5545043945312],"5-62-6":[-14.45060920715332,953.5545043945312],"6-125-14":[-5.053242206573486,5.274062633514404],"6-125-15":[-17.970624923706055,-2.392343759536743],"5-62-7":[-21.038124084472656,8.758593559265137],"6-125-16":[-24.391328811645508,-7.682583332061768],"6-125-17":[-28.594688415527344,-10.110312461853027],"5-62-8":[-31.192031860351562,-2.7678542137145996],"6-125-18":[-28.594688415527344,-11.003499984741211],"6-125-19":[-25.619688034057617,-2.4119861125946045],"5-62-9":[-30.747499465942383,-2.4119861125946045],"6-125-20":[-22.740625381469727,-4.660150051116943],"6-125-21":[-15.8021879196167,-6.047222137451172],"5-62-10":[-24.309375762939453,-4.660150051116943],"6-125-22":[-14.017187118530273,-3.424375057220459],"6-125-23":[-6.767499923706055,4.633124828338623],"5-62-11":[-14.017187118530273,9.699999809265137],"6-125-24":[1.2134166955947876,15.793749809265137],"6-125-25":[6.110234260559082,24.938282012939453],"5-62-12":[1.2134166955947876,32.29999923706055],"6-125-26":[10.22274398803711,30.2540225982666],"6-125-27":[13.8725004196167,41.973751068115234],"5-62-13":[10.22274398803711,48.52156066894531],"6-125-28":[18.088924407958984,48.12140655517578],"6-125-29":[17.799293518066406,54.496944427490234],"5-62-14":[17.799293518066406,62.194828033447266],"6-125-30":[22.387983322143555,56.84427261352539],"6-125-31":[16.569965362548828,59.790000915527344],"5-62-15":[16.569965362548828,68.95999908447266],"6-125-32":[25.850000381469727,66.30999755859375],"6-125-33":[27.999065399169922,72.86687469482422],"5-62-16":[25.850000381469727,114.25445556640625],"6-125-34":[33.00258255004883,81.64630889892578],"6-125-35":[38.912498474121094,103.04000091552734],"5-62-17":[33.00258255004883,117.26000213623047],"6-125-36":[47.50676727294922,124.12249755859375],"6-125-37":[57.226531982421875,130.48500061035156],"5-62-18":[44.94070053100586,447.2655334472656],"6-125-38":[61.15570068359375,131.45498657226562],"6-125-39":[52.546165466308594,288.82794189453125],"5-62-19":[34.07183074951172,1137.867919921875],"6-125-40":[48.8828125,107.86812591552734],"6-125-41":[48.010501861572266,104.6889419555664],"5-62-20":[46.439998626708984,131.9654541015625],"6-125-42":[42.872501373291016,97.21937561035156],"6-125-43":[37.60750198364258,89.44999694824219],"5-62-21":[32.69200134277344,97.21937561035156],"6-125-44":[6.978790760040283,816.339111328125],"6-125-45":[-0.9611777663230896,2517.070068359375],"5-62-22":[-0.9611777663230896,2517.070068359375],"6-125-46":[-17.872848510742188,2863.394775390625],"6-125-47":[-35.6466064453125,2605.148193359375],"5-62-23":[-35.6466064453125,3719.72314453125],"6-125-48":[-10.045000076293945,11.020000457763672],"6-125-49":[-27.670000076293945,-4.710050106048584],"5-62-24":[-31.97266387939453,2290.193603515625],"6-125-50":[-48.9765625,-11.918749809265137],"6-125-51":[-75.77999877929688,-21.912500381469727],"5-62-25":[-84.401123046875,535.720458984375],"6-125-52":[-88.20531463623047,-37.165000915527344],"6-125-53":[-96.8949966430664,-44.361873626708984],"5-62-26":[-96.8949966430664,-35.05266571044922],"6-125-54":[-99.70281219482422,-46.2243766784668],"6-125-55":[-113.94999694824219,-50.03437423706055],"5-62-27":[-113.94999694824219,-43.580501556396484],"6-125-56":[-118.22125244140625,-55.584999084472656],"6-125-57":[-119.59075927734375,-57.02846908569336],"5-62-28":[-119.59075927734375,3544.391845703125],"6-125-58":[-119.1226577758789,-57.36281204223633],"6-125-59":[-115.12242126464844,-52.66033172607422],"5-62-29":[-119.1226577758789,2252.053955078125],"6-125-60":[-106.03312683105469,-48.631248474121094],"6-125-61":[-95.5356216430664,2586.720947265625],"5-62-30":[-106.03312683105469,3812.583251953125],"6-125-62":[617.4712524414062,3991.968017578125],"6-125-63":[-29.538833618164062,3087.54150390625],"5-62-31":[-29.538833618164062,3991.968017578125],"6-126-0":[10.487500190734863,26.829999923706055],"6-126-1":[6.398749828338623,19.786386489868164],"6-126-2":[3.5999999046325684,12.733750343322754],"6-126-3":[1.3492499589920044,7.318398475646973],"6-126-4":[1.2323437929153442,5.593124866485596],"6-126-5":[1.1515833139419556,4.507187366485596],"6-126-6":[1.2412500381469727,5.94656229019165],"6-126-7":[2.530625104904175,1644.017578125],"6-126-8":[4.572999954223633,1334.4520263671875],"6-126-9":[2.5342917442321777,1348.0728759765625],"6-126-10":[-4.545000076293945,360.6773376464844],"6-126-11":[-0.2119726538658142,3.7412500381469727],"6-126-12":[-4.152902603149414,11.03085708618164],"6-126-13":[-20.6646785736084,663.4946899414062],"6-126-14":[-17.170000076293945,1.891391634941101],"6-126-15":[-17.020000457763672,-2.1318750381469727],"6-126-16":[-23.497655868530273,-6.985000133514404],"6-126-17":[-25.319374084472656,-10.803750038146973],"6-126-18":[-24.766874313354492,-10.532500267028809],"6-126-19":[-22.163536071777344,-7.927328109741211],"6-126-20":[-19.019725799560547,-6.360937595367432],"6-126-21":[-15.661913871765137,-4.680013656616211],"6-126-22":[-13.703749656677246,-4.144999980926514],"6-126-23":[-8.07095718383789,4.179375171661377],"6-126-24":[0.4300000071525574,12.933730125427246],"6-126-25":[5.526875019073486,20.0049991607666],"6-126-26":[9,27.009296417236328],"6-126-27":[12.0912504196167,34.88999938964844],"6-126-28":[14.827500343322754,40.96500015258789],"6-126-29":[17.43343734741211,44.775001525878906],"6-126-30":[17.982492446899414,49.647499084472656],"6-126-31":[20.759374618530273,52.07406234741211],"6-126-32":[19.195858001708984,55.994998931884766],"6-126-33":[25.26053237915039,65.99500274658203],"6-126-34":[28.985332489013672,76.54812622070312],"6-126-35":[34.87456512451172,95.01000213623047],"6-126-36":[41.34239959716797,297.715087890625],"6-126-37":[52.3394660949707,122.30999755859375],"6-126-38":[55.22907257080078,587.2330932617188],"6-126-39":[52.13249969482422,124.1449966430664],"6-126-40":[49.801876068115234,107.98562622070312],"6-126-41":[47.349998474121094,102.98999786376953],"6-126-42":[43.401248931884766,96.69499969482422],"6-126-43":[39.32500076293945,86.99128723144531],"6-126-44":[-5.895473480224609,921.2303466796875],"6-126-45":[-23.771774291992188,2784.970947265625],"6-126-46":[-12.289172172546387,1743.2305908203125],"6-126-47":[4.880000591278076,29.201309204101562],"6-126-48":[-9.953827857971191,11.399999618530273],"6-126-49":[-34.9240608215332,-4.575266361236572],"6-126-50":[-54.63589859008789,-14.058500289916992],"6-126-51":[-75.70999908447266,-26.389999389648438],"6-126-52":[-89.10504150390625,-37.37633514404297],"6-126-53":[-98.3578109741211,-44.98500061035156],"6-126-54":[-101.05359649658203,-48.44874954223633],"6-126-55":[-115.5687484741211,-50.65250015258789],"6-126-56":[-120.86365509033203,-56.97716522216797],"6-126-57":[-122.59597778320312,-57.42866516113281],"6-126-58":[-120.56812286376953,-57.41999816894531],"6-126-59":[-115.90642547607422,-52.64083480834961],"6-126-60":[-106.88312530517578,-48.235626220703125],"6-126-61":[-95.55773162841797,3164.894287109375],"6-126-62":[1096.8623046875,4009.411865234375],"6-126-63":[-29.538999557495117,3089.76904296875],"6-127-0":[10.58187484741211,26.86294937133789],"6-127-1":[6.398749828338623,20.24591827392578],"5-63-0":[6.398749828338623,26.86294937133789],"6-127-2":[3.828125,13.391562461853027],"6-127-3":[2.4124999046325684,8.620098114013672],"5-63-1":[1.3492499589920044,13.391562461853027],"4-31-0":[0.1446666717529297,26.86294937133789],"6-127-4":[1.1341874599456787,6.789374828338623],"6-127-5":[1.1391197443008423,4.388300895690918],"5-63-2":[1.1341874599456787,6.789374828338623],"6-127-6":[1.2412500381469727,612.6314697265625],"6-127-7":[2.317514181137085,1712.248291015625],"5-63-3":[1.2412500381469727,1712.248291015625],"4-31-1":[0.8962500095367432,1712.248291015625],"3-15-0":[0.1446666717529297,1712.248291015625],"6-127-8":[4.509941101074219,1465.5589599609375],"6-127-9":[3.0112500190734863,918.2298583984375],"5-63-4":[2.5342917442321777,1465.5589599609375],"6-127-10":[-3.075800895690918,11.460000038146973],"6-127-11":[-0.11046875268220901,3.4357030391693115],"5-63-5":[-4.545000076293945,360.6773376464844],"4-31-2":[-4.545000076293945,2305.87646484375],"6-127-12":[-1.98046875,11.603384017944336],"6-127-13":[-24.790000915527344,1210.9061279296875],"5-63-6":[-24.790000915527344,1210.9061279296875],"6-127-14":[-25.567968368530273,1.3818750381469727],"6-127-15":[-13.9350004196167,-1.3850226402282715],"5-63-7":[-25.567968368530273,1.891391634941101],"4-31-3":[-25.567968368530273,1210.9061279296875],"3-15-1":[-25.567968368530273,4774.22265625],"2-7-0":[-25.567968368530273,4774.22265625],"6-127-16":[-20.990449905395508,-6.430362701416016],"6-127-17":[-25.897811889648438,-10.687030792236328],"5-63-8":[-25.897811889648438,-6.430362701416016],"6-127-18":[-26.047500610351562,-10.543749809265137],"6-127-19":[-22.583690643310547,-7.929999828338623],"5-63-9":[-26.047500610351562,-7.927328109741211],"4-31-4":[-31.192031860351562,-2.4119861125946045],"6-127-20":[-18.9976749420166,-7.929999828338623],"6-127-21":[-16.815038681030273,-4.702624797821045],"5-63-10":[-19.019725799560547,-4.680013656616211],"6-127-22":[-10.689687728881836,-3.042776346206665],"6-127-23":[-8.259042739868164,1.2518750429153442],"5-63-11":[-13.703749656677246,4.179375171661377],"4-31-5":[-24.309375762939453,9.699999809265137],"3-15-2":[-31.192031860351562,39.88249969482422],"6-127-24":[0.4300000071525574,9.712167739868164],"6-127-25":[4.50726842880249,17.608749389648438],"5-63-12":[0.4300000071525574,20.0049991607666],"6-127-26":[6.904363632202148,22.77814483642578],"6-127-27":[8.892187118530273,29.203750610351562],"5-63-13":[6.904363632202148,34.88999938964844],"4-31-6":[0.4300000071525574,48.52156066894531],"6-127-28":[12.010000228881836,34.992069244384766],"6-127-29":[14.229776382446289,37.72249984741211],"5-63-14":[12.010000228881836,44.775001525878906],"6-127-30":[15.674653053283691,40.081329345703125],"6-127-31":[19.02943229675293,46.54999923706055],"5-63-15":[15.674653053283691,52.07406234741211],"4-31-7":[12.010000228881836,68.95999908447266],"3-15-3":[0.4300000071525574,831.8881225585938],"2-7-1":[-84.12662506103516,3800.251953125],"1-3-0":[-268.69342041015625,7512.83154296875],"6-127-32":[20.921300888061523,50.52000045776367],"6-127-33":[22.895599365234375,57.970001220703125],"5-63-16":[19.195858001708984,65.99500274658203],"6-127-34":[25.27159881591797,69.74749755859375],"6-127-35":[27.531539916992188,86.046875],"5-63-17":[25.27159881591797,95.01000213623047],"4-31-8":[19.195858001708984,117.26000213623047],"6-127-36":[39.54096603393555,104.6762466430664],"6-127-37":[22.065427780151367,1069.2264404296875],"5-63-18":[22.065427780151367,1069.2264404296875],"6-127-38":[20.152463912963867,1371.142578125],"6-127-39":[49.740779876708984,108.6534194946289],"5-63-19":[20.152463912963867,1371.142578125],"4-31-9":[20.152463912963867,1371.142578125],"3-15-4":[-166.25953674316406,2387.584228515625],"6-127-40":[48.9318733215332,103.14312744140625],"6-127-41":[47.07058334350586,98.55187225341797],"5-63-20":[47.07058334350586,107.98562622070312],"6-127-42":[43.96562576293945,94.47718811035156],"6-127-43":[38.98933792114258,91.70519256591797],"5-63-21":[38.98933792114258,96.69499969482422],"4-31-10":[32.69200134277344,131.9654541015625],"6-127-44":[20.80000114440918,83.15750122070312],"6-127-45":[-12.666748046875,1759.875],"5-63-22":[-23.771774291992188,2784.970947265625],"6-127-46":[11.751603126525879,42.599998474121094],"6-127-47":[3.2400007247924805,30.548555374145508],"5-63-23":[-12.289172172546387,1743.2305908203125],"4-31-11":[-35.6466064453125,3719.72314453125],"3-15-5":[-345.6128845214844,3719.72314453125],"2-7-2":[-345.6128845214844,5227.3828125],"6-127-48":[-9.444129943847656,37.413089752197266],"6-127-49":[-38.810935974121094,351.38970947265625],"5-63-24":[-38.810935974121094,351.38970947265625],"6-127-50":[-56.23386764526367,-17.747499465942383],"6-127-51":[-75.78312683105469,-28.673749923706055],"5-63-25":[-75.78312683105469,-14.058500289916992],"4-31-12":[-84.401123046875,2290.193603515625],"6-127-52":[-88.84896850585938,-37.45000076293945],"6-127-53":[-98.41281127929688,-44.71004867553711],"5-63-26":[-98.41281127929688,-37.37633514404297],"6-127-54":[-101.54408264160156,-48.810916900634766],"6-127-55":[-117.06999969482422,-50.94906234741211],"5-63-27":[-117.06999969482422,-48.44874954223633],"4-31-13":[-117.06999969482422,-35.05266571044922],"3-15-6":[-117.06999969482422,2290.193603515625],"6-127-56":[-123.44367218017578,-57.63003158569336],"6-127-57":[-123.92687225341797,-60.36750030517578],"5-63-28":[-123.92687225341797,-56.97716522216797],"6-127-58":[-123.29304504394531,-58.62687683105469],"6-127-59":[-117.48185729980469,-53.65999984741211],"5-63-29":[-123.29304504394531,-52.64083480834961],"4-31-14":[-123.92687225341797,3544.391845703125],"6-127-60":[-109.52312469482422,-48.22328186035156],"6-127-61":[-95.57916259765625,1201.6624755859375],"5-63-30":[-109.52312469482422,3164.894287109375],"6-127-62":[-43.07516098022461,3227.464599609375],"6-127-63":[-31.670408248901367,3092.97607421875],"5-63-31":[-43.07516098022461,4009.411865234375],"4-31-15":[-109.52312469482422,4009.411865234375],"3-15-7":[-123.92687225341797,4324.9130859375],"2-7-3":[-123.92687225341797,4324.9130859375],"1-3-1":[-345.6128845214844,5227.3828125],"0-1-0":[-398.5462646484375,8777.140625]}
\ No newline at end of file
diff --git a/libs/supermap/Cesium.js b/libs/supermap/Cesium.js
deleted file mode 100644
index dc3df27..0000000
--- a/libs/supermap/Cesium.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Modifications copyright (C) 2016 <SuperMap Software Co., Ltd.>
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2016 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-
-eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('1d $9C=$9C||{};$9C.1A9={};$9C.58j=1b(q){1d gb=0;1f 1b(){1f gb<q.1h?{1qU:!1,1Q:q[gb++]}:{1qU:!0}}};$9C.6KD=1b(q){1f{6k:$9C.58j(q)}};$9C.6KJ=!1;$9C.ay7=!1;$9C.ay6=!1;$9C.6Ks=!1;$9C.12U=$9C.6KJ||"1b"==2h 1L.2X?1L.12U:1b(q,gb,g){q!=2K.1i&&q!=1L.1i&&(q[gb]=g.1Q)};$9C.6KI=1b(q){q=["2c"==2h 7O&&7O,"2c"==2h 1KQ&&1KQ,"2c"==2h 1ii&&1ii,q];1j(1d gb=0;gb<q.1h;++gb){1d g=q[gb];if(g&&g.1k==1k)1f g}1f 6KE};$9C.1ii=$9C.6KI(1a);$9C.6KH="ay5";$9C.1lY=1b(){$9C.1lY=1b(){};$9C.1ii.1gy||($9C.1ii.1gy=$9C.1gy)};$9C.58k=1b(q,gb){1a.$9C$1ap$26B=q;$9C.12U(1a,"16G",{1Pl:!0,31n:!0,1Q:gb})};$9C.58k.1i.5s=1b(){1f 1a.$9C$1ap$26B};$9C.1gy=1b(){1b q(g){if(1a 2m q)1t 1g 1LY("1gy is 2S a 7m");1f 1g $9C.58k($9C.6KH+(g||"")+"10D"+gb++,g)}1d gb=0;1f q}();$9C.2yg=1b(){$9C.1lY();1d q=$9C.1ii.1gy.1U3;q||(q=$9C.1ii.1gy.1U3=$9C.1ii.1gy("1gy.1U3"));"1b"!=2h 2K.1i[q]&&$9C.12U(2K.1i,q,{1Pl:!0,31n:!0,1Q:1b(){1f $9C.6KF($9C.58j(1a))}});$9C.2yg=1b(){}};$9C.6KG=1b(){$9C.1lY();1d q=$9C.1ii.1gy.58i;q||(q=$9C.1ii.1gy.58i=$9C.1ii.1gy("1gy.58i"));$9C.6KG=1b(){}};$9C.6KF=1b(q){$9C.2yg();q={6k:q};q[$9C.1ii.1gy.1U3]=1b(){1f 1a};1f q};$9C.1iE=1b(q,gb,g,r){if(gb){g=$9C.1ii;q=q.7g(".");1j(r=0;r<q.1h-1;r++){1d Hc=q[r];Hc in g||(g[Hc]={});g=g[Hc]}q=q[q.1h-1];r=g[q];gb=gb(r);gb!=r&&1F!=gb&&$9C.12U(g,q,{1Pl:!0,31n:!0,1Q:gb})}};$9C.1iE("6KE",1b(q){1f q||$9C.1ii},"ay4","1oW");$9C.1iE("1k.12q",1b(q){1f q?q:1b(q){q=3a(q);1f 0===q||11I(q)?q:0<q?1:-1}},"1t0","1oW");$9C.1iE("1k.51G",1b(q){if(q)1f q;1d gb=1k.108;1f 1b(g){g=3a(g);1f 0===g?g:(gb(g)-gb(-g))/2}},"1t0","1oW");$9C.1iE("1k.31f",1b(q){if(q)1f q;1d gb=1k.108;1f 1b(g){g=3a(g);1f(gb(g)+gb(-g))/2}},"1t0","1oW");$9C.1iE("1k.3x5",1b(q){1f q?q:1b(q){if(0===q)1f q;q=3a(q);1d g=1k.3r(1k.abs(q),1/3);1f 0>q?-g:g}},"1t0","1oW");$9C.1iE("1k.1iK",1b(q){1f q?q:1b(q){1f 1k.7k(q)/1k.1ZN}},"1t0","1oW");$9C.58h=1b(q,gb){$9C.2yg();q 2m 10J&&(q+="");1d g=0,r={6k:1b(){if(g<q.1h){1d Hc=g++;1f{1Q:gb(Hc,q[Hc]),1qU:!1}}r.6k=1b(){1f{1qU:!0,1Q:1p 0}};1f r.6k()}};r[1gy.1U3]=1b(){1f r};1f r};$9C.1iE("2K.1i.9K",1b(q){1f q?q:1b(){1f $9C.58h(1a,1b(q){1f q})}},"1t0","1oW");$9C.1iE("2K.19f",1b(q){1f q?q:1b(q,g,r){g=1F!=g?g:1b(g){1f g};1d gb=[],m="7w"!=2h 1gy&&1gy.1U3&&q[1gy.1U3];if("1b"==2h m){q=m.4G(q);1j(1d k=0;!(m=q.6k()).1qU;)gb.1q(g.4G(r,m.1Q,k++))}1s 1j(m=q.1h,k=0;k<m;k++)gb.1q(g.4G(r,q[k],k));1f gb}},"1t0","1oW");$9C.1iE("2K.1i.2a",1b(q){1f q?q:1b(){1f $9C.58h(1a,1b(q,g){1f g})}},"6Kr","1oW");$9C.1iE("2K.1i.4K",1b(q){1f q?q:1b(q,g,r){1d gb=1a.1h||0;0>g&&(g=1k.1V(0,gb+g));if(1F==r||r>gb)r=gb;r=3a(r);0>r&&(r=1k.1V(0,gb+r));1j(g=3a(g||0);g<r;g++)1a[g]=q;1f 1a}},"1t0","1oW");$9C.58c=1b(q){1d gb="7w"!=2h 1gy&&1gy.1U3&&q[1gy.1U3];1f gb?gb.4G(q):$9C.6KD(q)};$9C.6KC=!1;$9C.1iE("2xD",1b(q){1b gb(){1a.2sa=1F}1b g(g){1f g 2m Hc?g:1g Hc(1b(k,m){k(g)})}if(q&&!$9C.6KC)1f q;gb.1i.58d=1b(g){if(1F==1a.2sa){1a.2sa=[];1d k=1a;1a.58g(1b(){k.6KB()})}1a.2sa.1q(g)};1d r=$9C.1ii.1if;gb.1i.58g=1b(g){r(g,0)};gb.1i.6KB=1b(){1j(;1a.2sa&&1a.2sa.1h;){1d g=1a.2sa;1a.2sa=[];1j(1d m=0;m<g.1h;++m){1d r=g[m];g[m]=1F;10G{r()}11B(gx){1a.6KA(gx)}}}1a.2sa=1F};gb.1i.6KA=1b(g){1a.58g(1b(){1t g;})};1d Hc=1b(g){1a.3eK=0;1a.4f8=1p 0;1a.2SF=[];1d k=1a.4f9();10G{g(k.5h,k.7N)}11B(T){k.7N(T)}};Hc.1i.4f9=1b(){1b g(g){1f 1b(k){r||(r=!0,g.4G(m,k))}}1d m=1a,r=!1;1f{5h:g(1a.6Kz),7N:g(1a.4fa)}};Hc.1i.6Kz=1b(g){if(g===1a)1a.4fa(1g 1LY("A 2xD 1il 5h to ay3"));1s if(g 2m Hc)1a.6Kw(g);1s{a:6U(2h g){1S"2c":1d k=1F!=g;1W a;1S"1b":k=!0;1W a;4T:k=!1}k?1a.6Ky(g):1a.58f(g)}};Hc.1i.6Ky=1b(g){1d k=1p 0;10G{k=g.4b}11B(T){1a.4fa(T);1f}"1b"==2h k?1a.6Kv(k,g):1a.58f(g)};Hc.1i.4fa=1b(g){1a.58e(2,g)};Hc.1i.58f=1b(g){1a.58e(1,g)};Hc.1i.58e=1b(g,m){if(0!=1a.3eK)1t 6u("1e6 ay2("+g+", "+m+"): 2xD 1A8 ay1 in 4F"+1a.3eK);1a.3eK=g;1a.4f8=m;1a.6Kx()};Hc.1i.6Kx=1b(){if(1F!=1a.2SF){1j(1d g=0;g<1a.2SF.1h;++g)m.58d(1a.2SF[g]);1a.2SF=1F}};1d m=1g gb;Hc.1i.6Kw=1b(g){1d k=1a.4f9();g.3Cq(k.5h,k.7N)};Hc.1i.6Kv=1b(g,m){1d k=1a.4f9();10G{g.4G(m,k.5h,k.7N)}11B(gx){k.7N(gx)}};Hc.1i.4b=1b(g,m){1b k(g,k){1f"1b"==2h g?1b(k){10G{r(g(k))}11B(E){q(E)}}:k}1d r,q,gb=1g Hc(1b(g,k){r=g;q=k});1a.3Cq(k(g,r),k(m,q));1f gb};Hc.1i.11B=1b(g){1f 1a.4b(1p 0,g)};Hc.1i.3Cq=1b(g,r){1b k(){6U(q.3eK){1S 1:g(q.4f8);1W;1S 2:r(q.4f8);1W;4T:1t 6u("1Py 4F: "+q.3eK);}}1d q=1a;1F==1a.2SF?m.58d(k):1a.2SF.1q(k)};Hc.5h=g;Hc.7N=1b(g){1f 1g Hc(1b(k,m){m(g)})};Hc.ay0=1b(k){1f 1g Hc(1b(m,r){1j(1d q=$9C.58c(k),T=q.6k();!T.1qU;T=q.6k())g(T.1Q).3Cq(m,r)})};Hc.all=1b(k){1d m=$9C.58c(k),r=m.6k();1f r.1qU?g([]):1g Hc(1b(k,q){1b T(g){1f 1b(m){ba[g]=m;J--;0==J&&k(ba)}}1d ba=[],J=0;do ba.1q(1p 0),J++,g(r.1Q).3Cq(T(ba.1h-1),q),r=m.6k();14p(!r.1qU)})};1f Hc},"1t0","1oW");$9C.1iE("3a.1AJ",1b(q){1f q?q:1b(q){1f"2b"!==2h q?!1:!11I(q)&&12g!==q&&-12g!==q}},"1t0","1oW");$9C.1iE("3a.2mT",1b(q){1f q?q:1b(q){1f 3a.1AJ(q)?q===1k.2t(q):!1}},"1t0","1oW");$9C.1iE("2K.1i.8z",1b(q){1f q?q:1b(q){q=1p 0===q?1:q;1j(1d g=[],r=0;r<1a.1h;r++){1d gb=1a[r];2K.8n(gb)&&0<q?(gb=2K.1i.8z.4G(gb,q-1),g.1q.6c(g,gb)):g.1q(gb)}1f g}},"axZ","6Kt");$9C.58b=1b(q,gb,g){q 2m 10J&&(q=10J(q));1j(1d r=q.1h,Hc=0;Hc<r;Hc++){1d m=q[Hc];if(gb.4G(g,m,Hc,q))1f{i:Hc,v:m}}1f{i:-1,v:1p 0}};$9C.1iE("2K.1i.5pm",1b(q){1f q?q:1b(q,g){1f $9C.58b(1a,q,g).i}},"1t0","1oW");$9C.4f7=1b(q,gb,g){if(1F==q)1t 1g 1LY("9B \'1a\' 1Q 1j 10J.1i."+g+" 2Q 2S be 1F or 7w");if(gb 2m 19j)1t 1g 1LY("42N 1aK to 10J.1i."+g+" 2Q 2S be a 2FJ 6d");1f q+""};$9C.1iE("10J.1i.12G",1b(q){1f q?q:1b(q){1d g=$9C.4f7(1a,1F,"12G");if(0>q||axY<q)1t 1g 2EC("13H 7Z 1Q");q|=0;1j(1d r="";q;)if(q&1&&(r+=g),q>>>=1)g+=g;1f r}},"1t0","1oW");$9C.58a=1b(q,gb){1f 1L.1i.3p.4G(q,gb)};$9C.1AU="1b"==2h 1L.1AU?1L.1AU:1b(q,gb){1j(1d g=1;g<5m.1h;g++){1d r=5m[g];if(r)1j(1d Hc in r)$9C.58a(r,Hc)&&(q[Hc]=r[Hc])}1f q};$9C.1iE("1L.1AU",1b(q){1f q||$9C.1AU},"1t0","1oW");$9C.6Ku=1b(){1d q={a:!0},gb={};10G{1f gb.14Y=q,gb.a}11B(g){}1f!1};$9C.26P="1b"==2h 1L.26P?1L.26P:$9C.6Ku()?1b(q,gb){q.14Y=gb;if(q.14Y!==gb)1t 1g 1LY(q+" is 2S axX");1f q}:1F;$9C.1iE("1L.26P",1b(q){1f q||$9C.26P},"1t0","6Kt");$9C.1iE("2K.1i.1oZ",1b(q){1f q?q:1b(q,g){1f $9C.58b(1a,q,g).v}},"1t0","1oW");$9C.1iE("3a.4Kq",1b(){1f 3PS},"1t0","1oW");$9C.1iE("10J.1i.36l",1b(q){1f q?q:1b(q,g){1d r=$9C.4f7(1a,q,"36l");q+="";1p 0===g&&(g=r.1h);g=1k.1V(0,1k.2o(g|0,r.1h));1j(1d gb=q.1h;0<gb&&0<g;)if(r[--g]!=q[--gb])1f!1;1f 0>=gb}},"1t0","1oW");$9C.1iE("1L.is",1b(q){1f q?q:1b(q,g){1f q===g?0!==q||1/q===1/g:q!==q&&g!==g}},"1t0","1oW");$9C.1iE("2K.1i.2J9",1b(q){1f q?q:1b(q,g){1d r=1a;r 2m 10J&&(r=10J(r));1d gb=r.1h;g=g||0;1j(0>g&&(g=1k.1V(g+gb,0));g<gb;g++){1d m=r[g];if(m===q||1L.is(m,q))1f!0}1f!1}},"axW","1oW");$9C.1iE("10J.1i.2J9",1b(q){1f q?q:1b(q,g){1f-1!==$9C.4f7(1a,q,"2J9").3f(q,g||0)}},"1t0","1oW");$9C.1iE("1k.4Cn",1b(q){1f q?q:1b(q,g){q=3a(q);g=3a(g);1d r=q&1a6,gb=g&1a6;1f r*gb+((q>>>16&1a6)*gb+r*(g>>>16&1a6)<<16>>>0)|0}},"1t0","1oW");$9C.1iE("1k.4Cm",1b(q){if(q)1f q;if($9C.6Ks||"1b"!==2h 4A)1f 1b(g){1f g};1d gb=1g 4A(1);1f 1b(g){gb[0]=g;1f gb[0]}},"1t0","1oW");$9C.1iE("1k.4Cl",1b(q){1f q?q:1b(q){q=3a(q)>>>0;if(0===q)1f 32;1d g=0;0===(q&4MC)&&(q<<=16,g+=16);0===(q&axV)&&(q<<=8,g+=8);0===(q&axU)&&(q<<=4,g+=4);0===(q&axT)&&(q<<=2,g+=2);0===(q&2Jd)&&g++;1f g}},"1t0","1oW");$9C.1iE("1k.4Ck",1b(q){1f q?q:1b(q){q=3a(q);if(11I(q)||12g===q||-12g===q||0===q)1f q;1d g=1k.2t(1k.abs(q));1f 0>q?-g:g}},"1t0","1oW");$9C.1iE("1L.2a",1b(q){1f q?q:1b(q){1d g=[],r;1j(r in q)$9C.58a(q,r)&&g.1q(q[r]);1f g}},"6Kr","1oW");(1b(q,gb){"2c"===2h 1cr&&"7w"!==2h 2eH?gb(1cr):"1b"===2h 2f&&2f.amd?2f(["1cr"],gb):(q=q||1KQ,gb(q.1di={}))})(1a,1b(q){1b gb(a){if(0===a.1h||"/"!==a[a.1h-1])a+="/";1f a}1b g(a){1f 1p 0!==a&&1F!==a}1b r(a){1a.2i="2w2";1a.19s=a;10G{1t 6u();}11B(b){a=b.1fi}1a.1fi=a}1b Hc(a,b,c){1f"19P "+c+" to be 2h "+b+", 1C1 2h 9x "+a}1b m(a,b){1f 1p 0!==a&&1F!==a?a:b}1b k(a,b,c){1a.x=m(a,0);1a.y=m(b,0);1a.z=m(c,0)}1b FN(a,b,c,d,e){if(!g(a))1t 1g r("16L is 1X.");if(!g(b))1t 1g r("2zt is 1X.");if(!g(c))1t 1g r("4by is 1X.");if(!g(d))1t 1g r("axS is 1X.");1d f=a.x,h=a.y,l=a.z,p=b.x,n=b.y;b=b.z;p*=f*f*p;n*=h*h*n;b*=l*l*b;1d z=p+n+b,w=1k.3Y(1/z),x=k.4g(a,w,6wH);if(z<d)1f 1AJ(w)?k.1y(x,e):1p 0;d=c.x;z=c.y;c=c.z;1d D=6wG;D.x=x.x*d*2;D.y=x.y*z*2;D.z=x.z*c*2;a=(1-w)*k.7t(a)/(.5*k.7t(D));1d t=0;do{a-=t;w=1/(1+a*d);x=1/(1+a*z);D=1/(1+a*c);1d m=w*w;1d G=x*x;1d aa=D*D;t=m*w;1d ka=G*x;1d Ub=aa*D;m=p*m+n*G+b*aa-1;t=p*t*d+n*ka*z+b*Ub*c;t=m/(-2*t)}14p(1k.abs(m)>B.2iH);if(!g(e))1f 1g k(f*w,h*x,l*D);e.x=f*w;e.y=h*x;e.z=l*D;1f e}1b T(a,b,c){1a.3N=m(a,0);1a.4k=m(b,0);1a.1D=m(c,0)}1b gx(a,b,c,d){b=m(b,0);c=m(c,0);d=m(d,0);v.1N.2b.9Y("x",b,0);v.1N.2b.9Y("y",c,0);v.1N.2b.9Y("z",d,0);B.5T(d,2bi.51A,B.1io)&&(B.1Qg=d);a.1jQ=1g k(b,c,d);a.2rT=1g k(b*b,c*c,d*d);a.3AG=1g k(b*b*b*b,c*c*c*c,d*d*d*d);a.2RJ=1g k(0===b?0:1/b,0===c?0:1/c,0===d?0:1/d);a.2F3=1g k(0===b?0:1/(b*b),0===c?0:1/(c*c),0===d?0:1/(d*d));a.3AF=1k.2o(b,c,d);a.3AE=1k.1V(b,c,d);a.3dl=B.51B;0!==a.2rT.z&&(a.51z=a.2rT.x/a.2rT.z)}1b ba(a,b,c){1a.51z=1a.3dl=1a.3AE=1a.3AF=1a.2F3=1a.2RJ=1a.3AG=1a.2rT=1a.1jQ=1p 0;gx(1a,a,b,c)}1b Td(a){1a.5W=m(a,ba.9y);1a.3d1=1a.5W.17i;1a.4b0=1/1a.3d1}1b pp(a,b){1a.4I=m(a,0);1a.4U=m(b,0)}1b J(a,b,c,d,e,f,h,l,g){1a[0]=m(a,0);1a[1]=m(d,0);1a[2]=m(h,0);1a[3]=m(b,0);1a[4]=m(e,0);1a[5]=m(l,0);1a[6]=m(c,0);1a[7]=m(f,0);1a[8]=m(g,0)}1b 6wq(a){1j(1d b=0,c=0;3>c;++c){1d d=a[J.1w1(GN[c],HN[c])];b+=2*d*d}1f 1k.3Y(b)}1b E(a,b,c,d){1a.x=m(a,0);1a.y=m(b,0);1a.z=m(c,0);1a.w=m(d,0)}1b qa(a){1a.2i="1uN";1a.19s=a;10G{1t 6u();}11B(b){a=b.1fi}1a.1fi=a}1b A(a,b,c,d,e,f,h,l,g,n,z,k,x,D,t,oa){1a[0]=m(a,0);1a[1]=m(e,0);1a[2]=m(g,0);1a[3]=m(x,0);1a[4]=m(b,0);1a[5]=m(f,0);1a[6]=m(n,0);1a[7]=m(D,0);1a[8]=m(c,0);1a[9]=m(h,0);1a[10]=m(z,0);1a[11]=m(t,0);1a[12]=m(d,0);1a[13]=m(l,0);1a[14]=m(k,0);1a[15]=m(oa,0)}1b Q(a,b,c,d){1a.4o=m(a,0);1a.4C=m(b,0);1a.5a=m(c,0);1a.4P=m(d,0)}1b P(a,b){1a.2V=k.1y(m(a,k.6h));1a.3L=m(b,0)}1b zb(a){a 2m zb?(1a.1c2=a.1c2,1a.1mD=a.1mD,1a.9w=a.9w,1a.16H=a.16H,1a.1fo=a.1fo):a&&(a=6vS.1f4(a),1a.1c2=a[1],1a.1mD=a[2],1a.9w=a[3],1a.16H=a[4],1a.1fo=a[5])}1b ZF(a){1d b=4My(a);1f 6vO.6S(b)?b:a.1G9()}1b 6vP(a,b,c,d){1f(b||"")+c.18v()+(d||"")}1b qu(a,b){1d c;"7w"!==2h 3n&&(c=3n);1f qu.6vM(a,b,c)}1b Z(a,b,c,d){1f hx(a).4b(b,c,d)}1b hx(a){if(!(a 2m ZA))if(nZ(a)){1d b=ix();a.4b(1b(a){b.5h(a)},1b(a){b.7N(a)},1b(a){b.1MV(a)});a=b.10l}1s a=6Kq(a);1f a}1b ZA(a){1a.4b=a}1b 6Kq(a){1f 1g ZA(1b(b){10G{1f hx(b?b(a):a)}11B(c){1f jx(c)}})}1b jx(a){1f 1g ZA(1b(b,c){10G{1f c?hx(c(a)):jx(a)}11B(d){1f jx(d)}})}1b ix(){1b a(a,b,c){1f l(a,b,c)}1b b(a){1f n(a)}1b c(a){1f n(jx(a))}1b d(a){1f g(a)}1d e=1g ZA(a);e={4b:a,5h:b,7N:c,1MV:d,10l:e,axR:{5h:b,7N:c,1MV:d}};1d f=[];1d h=[];1d l=1b(a,b,c){1d d=ix();1d e="1b"===2h c?1b(a){10G{d.1MV(c(a))}11B(G){d.1MV(G)}}:1b(a){d.1MV(a)};f.1q(1b(c){c.4b(a,b).4b(d.5h,d.7N,e)});h.1q(e);1f d.10l};1d g=1b(a){oZ(h,a);1f a};1d n=1b(a){a=hx(a);l=a.4b;n=hx;g=$A;oZ(f,a);h=f=IN;1f a};1f e}1b nZ(a){1f a&&"1b"===2h a.4b}1b pZ(a,b,c,d,e){JN(2,5m);1f Z(a,1b(a){1b f(a){G(a)}1b l(a){aa(a)}1d g;1d n=a.1h>>>0;1d z=1k.1V(0,1k.2o(b,n));1d k=[];1d x=n-z+1;1d D=[];1d t=ix();if(z){1d m=t.1MV;1d G=1b(a){D.1q(a);--x||(aa=G=$A,t.7N(D))};1d aa=1b(a){k.1q(a);--z||(aa=G=$A,t.5h(k))};1j(g=0;g<n;++g)g in a&&Z(a[g],l,f,m)}1s t.5h(k);1f t.4b(c,d,e)})}1b qZ(a,b,c,d){JN(1,5m);1f KN(a,rZ).4b(b,c,d)}1b KN(a,b){1f Z(a,1b(a){1d c,e;1d f=c=a.1h>>>0;1d h=[];1d l=ix();if(f){1d g=1b(a,c){Z(a,b).4b(1b(a){h[c]=a;--f||l.5h(h)},l.7N)};1j(e=0;e<c;e++)e in a?g(a[e],e):--f}1s l.5h(h);1f l.10l})}1b oZ(a,b){1j(1d c,d=0;c=a[d++];)c(b)}1b JN(a,b){1j(1d c,d=b.1h;d>a;)if(c=b[--d],1F!=c&&"1b"!=2h c)1t 6u("arg "+d+" 2Q be a 1b");}1b $A(){}1b rZ(a){1f a}1b wc(a,b){if(1F===a||"2c"!==2h a)1f a;b=m(b,!1);1d c=1g a.7m,d;1j(d in a)if(a.3p(d)){1d e=a[d];b&&(e=wc(e,b));c[d]=e}1f c}1b fb(a,b,c){c=m(c,!1);1d d={},e=g(a),f=g(b),h;if(e)1j(h in a)if(a.3p(h))if(e=a[h],f&&c&&"2c"===2h e&&b.3p(h)){1d l=b[h];d[h]="2c"===2h l?fb(e,l,c):e}1s d[h]=e;if(f)1j(h in b)b.3p(h)&&!d.3p(h)&&(l=b[h],d[h]=l);1f d}1b qp(a,b){if(!g(a))1t 1g r("1dr is 1X.");1d c="",d=a.1sl("/");-1!==d&&(c=a.11c(0,d+1));if(!b)1f c;a=1g zb(a);g(a.16H)&&(c+="?"+a.16H);g(a.1fo)&&(c+="#"+a.1fo);1f c}1b LN(a){if(!g(a))1t 1g r("1dr is 1X.");a=1g zb(a);a.1T();a=a.9w;1d b=a.1sl("/");-1!==b&&(a=a.13c(b+1));b=a.1sl(".");1f a=-1===b?"":a.13c(b+1)}1b MN(a){v.1N.4n("1dr",a);1f 6vI.6S(a)}1b $F(a){g(On)||(On=3n.4O("a"));On.17S=7O.17J.17S;1d b=On.1H7,c=On.2RI;On.17S=a;On.17S=On.17S;1f c!==On.2RI||b!==On.1H7}1b aB(a){v.1N.4n("1dr",a);1f 6vH.6S(a)}1b NN(a){1d b=Z.12L(),c=3n.4O("1G5");c.3r3=!0;c.1bv=a;1d d=3n.1cE("13r")[0];c.1w2=1b(){c.1w2=1p 0;d.18Z(c);b.5h()};c.1ra=1b(a){b.7N(a)};d.3A(c);1f b.10l}1b Kg(a){if(!g(a))1t 1g r("1Po is 1X.");1d b="",c;1j(c in a)if(a.3p(c)){1d d=a[c],e=1Gh(c)+"=";if(2K.8n(d))1j(1d f=0,h=d.1h;f<h;++f)b+=e+1Gh(d[f])+"&";1s b+=e+1Gh(d)+"&"}1f b=b.4h(0,-1)}1b nj(a){if(!g(a))1t 1g r("axQ is 1X.");1d b={};if(""===a)1f b;a=a.3X(/\\+/g,"%20").7g(/[&;]/);1j(1d c=0,d=a.1h;c<d;++c){1d e=a[c].7g("="),f=2OY(e[0]);e=e[1];e=g(e)?2OY(e):"";1d h=b[f];"4n"===2h h?b[f]=[h,e]:2K.8n(h)?h.1q(e):b[f]=e}1f b}1b Ke(a){a=m(a,m.4Z);1d b=m(a.1mj,!1),c=m(a.1j8,!1);1a.2I=a.2I;1a.1RO=a.1RO;1a.2rN=a.2rN;1a.1xd=a.1xd;1a.2F2=m(a.2F2,0);1a.1j8=c;1a.1mj=b;1a.1I=m(a.1I,Jd.51p);1a.1vD=1p 0;1a.4F=$d.2EY;1a.1ma=1p 0;1a.2F1=!1}1b sZ(a){1d b={};if(!a)1f b;a=a.7g("\\r\\n");1j(1d c=0;c<a.1h;++c){1d d=a[c],e=d.3f(": ");if(0<e){1d f=d.11c(0,e);d=d.11c(e+2);b[f]=d}}1f b}1b wr(a,b,c){1a.2rS=a;1a.1pa=b;1a.4f6=c;"4n"===2h 1a.4f6&&(1a.4f6=sZ(1a.4f6))}1b sa(){1a.24c=[];1a.4bw=[];1a.4bv=[];1a.4bu=!1}1b 6vG(a,b){1f b-a}1b rp(a){v.1N.2c("3v",a);v.2l("3v.2F0",a.2F0);1a.4bt=a.2F0;1a.1gN=[];1a.1bC=0;1a.4bs=1p 0}1b ON(a,b,c){1d d=a[b];a[b]=a[c];a[c]=d}1b tZ(a,b){1f a.2F2-b.2F2}1b qb(){}1b PN(a){g(a.1xd)&&(a.2F2=a.1xd())}1b QN(a){1d b=m(qb.6vF[a],qb.49f);1f sp[a]<b}1b RN(a){if(g(a.4f5))1f a.4f5;a.4f5=a.1vD+"10D"+a.1U7;1f a.4f5}1b uZ(a){if(g(a.4f4))1f a.4f4;a.4f4=a.1vD+"10D"+a.1U7+"10D"+a.1b3;1f a.4f4}1b vZ(a){1j(1d b=[],c=0,d=a.1h;c<d;c++)b.1q(a[c].1b3);1f b}1b wZ(a){if(a.4F===$d.2EY)if(a.4F=$d.3AC,a.1I===Jd.20D){1d b=RN(a);g(qb.2iP[b])||(qb.2iP[b]=Z.12L());a.1ma=qb.2iP[b]}1s a.1ma=Z.12L();1f a.1ma.10l}1b 6Kp(a){1f 1b(b){a.4F!==$d.21n&&(--Dd.2EZ,--sp[a.1vD],aG.5k(),a.4F=$d.1sB,a.1ma.5h(b),a.4H1=Kd(),a.1I!==Jd.51p&&(Dd.51j+=a.4H1-a.18M),a.1I===Jd.2n5&&(b=uZ(a),g(qb.3di[b])&&(qb.3di[b]=1p 0,4Y qb.3di[b])))}}1b 6Ko(a){1f 1b(b){a.4F!==$d.21n&&(++Dd.3df,--Dd.2EZ,--sp[a.1vD],aG.5k(b),a.4F=$d.12D,a.1ma.7N(b))}}1b bG(a,b){1d c=wZ(a);a.4F=$d.3AD;Bm.1q(a);++Dd.2EZ;++Dd.51k;++sp[a.1vD];a.18M=Kd();a.1RO(b).4b(6Kp(a)).10g(6Ko(a));1f c}1b xr(a){1d b=a.4F===$d.3AD;a.4F=$d.21n;++Dd.3dh;a.1ma.7N();b&&(--Dd.2EZ,--sp[a.1vD],++Dd.3dg);g(a.2rN)&&a.2rN()}1b ec(a,b){if(!g(a))1t 1g r("26E is 1X.");g(xZ[a])||(xZ[a]=!0,11l.2ep(m(b,a)))}1b ek(a,b){if(!g(a)||!g(b))1t 1g r("26E and 19s are 1X.");ec(a,b)}1b SN(a,b,c,d){1d e=a.16H;if(!g(e)||0===e.1h)1f{};if(-1===e.3f("=")){1d f={};f[e]=1p 0;e=f}1s e=nj(e);b.1RP=c?cG(e,b.1RP,d):e;a.16H=1p 0}1b 6vw(a,b){b=b.1RP;1d c=1L.9K(b);1!==c.1h||g(b[c[0]])?a.16H=Kg(b):a.16H=c[0]}1b Pn(a,b){1f g(a)?g(a.1y)?a.1y():wc(a):b}1b TN(a){if(a.4F===$d.3AC||a.4F===$d.3AD)1t 1g qa("9B 5gj is 1A8 6zY axP.");a.4F=$d.2EY;a.1ma=1p 0}1b cG(a,b,c){if(!c)1f fb(a,b);a=wc(a,!0);1j(1d d in b)if(b.3p(d)){c=a[d];1d e=b[d];g(c)?(2K.8n(c)||(c=a[d]=[c]),a[d]=c.9V(e)):a[d]=2K.8n(e)?e.4h():e}1f a}1b na(a){a=m(a,m.4Z);"4n"===2h a&&(a={2I:a});v.1N.4n("3v.2I",a.2I);1a.10z=1p 0;1a.2rQ=Pn(a.1PR,{});1a.1RP=Pn(a.1kx,{});1a.1iB=Pn(a.1iB,{});1a.7M=m(a.7M,1g Ke);1a.1aQ=a.1aQ;1a.2rP=a.2rP;1a.2rO=m(a.2rO,0);1a.3AA=0;a=1g zb(a.2I);SN(a,1a,!0,!0);a.1fo=1p 0;1a.10z=a.5s()}1b UN(a){1d b=a.1Wu,c=a.13E,d=a.1UY,e=b.7M;e.2I=b.2I;e.1RO=1b(){1d a=!1;b.2FN||b.3CA||(a=b.4fs);1d h=Z.12L();na.2ax.2QR(e,a,h,c,d);1f h.10l};a=qb.7M(e);if(g(a))1f a.10g(1b(a){1f e.4F!==$d.12D?Z.7N(a):b.4bn(a).4b(1b(f){1f f?(e.4F=$d.2EY,e.1ma=1p 0,UN({1Wu:b,13E:c,1UY:d})):Z.7N(a)})})}1b yZ(a,b,c){1d d={};d[b]=c;a.1qN(d);1d e=a.7M;e.2I=a.2I;e.1RO=1b(){1d b=Z.12L();7O[c]=1b(a){b.5h(a);10G{4Y 7O[c]}11B(l){7O[c]=1p 0}};na.2ax.2sd(a.2I,c,b);1f b.10l};d=qb.7M(e);if(g(d))1f d.10g(1b(d){1f e.4F!==$d.12D?Z.7N(d):a.4bn(d).4b(1b(f){1f f?(e.4F=$d.2EY,e.1ma=1p 0,yZ(a,b,c)):Z.7N(d)})})}1b dG(a,b){b=2OY(b);1f a?4N3(b):b}1b zZ(a,b){a=dG(a,b);b=1g 1aq(a.1h);1j(1d c=1g 4L(b),d=0;d<a.1h;d++)c[d]=a.19a(d);1f b}1b 6vr(a,b){b=m(b,"");1d c=a[1],d=!!a[2];a=a[3];6U(b){1S "":1S "3l":1f dG(d,a);1S "2AC":1f zZ(d,a);1S "1i3":1f b=zZ(d,a),1g 1JN([b],{1I:c});1S "3n":1f(1g 27n).27q(dG(d,a),c);1S "15l":1f 4H.5N(dG(d,a));4T:1t 1g r("4Mj 1f8: "+b);}}1b 6vt(a,b,c){1d d=1g 1ar;d.1w2=1b(){c.5h(d)};d.1ra=1b(a){c.7N(a)};b&&(tp.8h(a)?d.2ma="14W-35I":d.2ma="");d.1bv=a}1b AZ(a,b){6U(b){1S"3l":1f a.5s("2AA");1S"15l":1f 4H.5N(a.5s("2AA"));4T:1f(1g 4L(a)).3J}}1b 6vp(a,b,c,d,e,f,h){a=1v7("2I").5N(a);d="1bU:"===a.2RI?1v7("1bU"):1v7("10R");1d l=1v7("2aa");d.7M({2RI:a.2RI,6Kn:a.6Kn,4bo:a.4bo,9w:a.9w,16H:a.16H,1tq:c,1iB:e}).on("1pa",1b(a){if(200>a.2rS||300<=a.2rS)f.7N(1g wr(a.2rS,a,a.1iB));1s{1d c=[];a.on("2g",1b(a){c.1q(a)});a.on("9o",1b(){1d d=1P6.9V(c);"62f"===a.1iB["15k-19F"]?l.axO(d,1b(a,c){a?f.7N(1g qa("6u axN 1pa.")):f.5h(AZ(c,b))}):f.5h(AZ(d,b))})}}).on("7A",1b(a){f.7N(1g wr)}).9o()}1b BZ(a){if("7w"===2h 3n)1f a;g(bB)||(bB=3n.4O("a"));bB.17S=a;1f bB.17S=bB.17S}1b CZ(){if(g(ru))1f ru;if("7w"!==2h 588)1d a=588;1s if("2c"===2h 2f&&g(2f.amd)&&!2f.amd.6Km&&g(1v7.586))a=qu("..",cb("axM/58K.js"));1s a:{a=3n.1cE("1G5");1j(1d b=0,c=a.1h;b<c;++b){1d d=a[b].15o("1bv");d=DZ.1f4(d);if(1F!==d){a=d[1];1W a}}a=1p 0}if(!g(a))1t 1g r("2mq to 5PW 1di 13T 1ui axL, 10G 57n a 1ii 2dZ 7I 588.");ru=1g na({2I:BZ(a)});ru.1F1();1f ru}1b 6Kl(a){1f BZ(1v7.586("../"+a))}1b EZ(a){1f CZ().16M({2I:a}).2I}1b cb(a){g(VN)||(VN="2c"===2h 2f&&g(2f.amd)&&!2f.amd.6Km&&g(1v7.586)?6Kl:EZ);1f VN(a)}1b C(a,b){1a.x=m(a,0);1a.y=m(b,0)}1b gd(a){a=m(a,{});1a.5W=m(a.3c,ba.9y);1a.7T=m(a.3g,Q.6w);1a.16y=1g Td(1a.5W);1a.2Ru=m(a.27p,2);1a.2Rt=m(a.27o,1);1a.2iL=a.6JW;1a.1Ua=a.6JV;1a.14Q=m(a.16K,256);1a.16J=m(a.17g,256);1a.24k=m(a.51b,0)}1b FZ(a){T.15i(a.5a,a.4P,0,cB[0]);T.15i(a.4o,a.4P,0,cB[1]);T.15i(a.5a,a.4C,0,cB[2]);T.15i(a.4o,a.4C,0,cB[3]);1d b=a=0,c=0,d=0,e=nd.6vi,f;1j(f=0;f<=e;++f){1j(1d h=!1,l=0;4>l;++l)if(6vk.1mi(cB[l],f,dB),0===l)c=dB.x,d=dB.y;1s if(c!==dB.x||d!==dB.y){h=!0;1W}if(h)1W;a=c;b=d}if(0!==f)1f{x:a,y:b,6b:f>e?e:f-1}}1b Cm(a){a=m(a,{});1a.5W=m(a.3c,ba.9y);1a.7T=m(a.3g,Q.6w);1a.16y=1g Td(1a.5W);1a.2Ru=m(a.27p,2);1a.2Rt=m(a.27o,1);a.3p("1ny")&&(1a.24a=a.1ny);1a.14Q=m(a.16K,256);1a.16J=m(a.17g,256);1a.24k=0}1b Be(a,b){1j(1d c=b.1h;c--;)"4n"===2h b[c]&&(b[c]=b[c].18v()),a[b[c]]=!0;1f a}1b GZ(a){1d b={},c=1p 0;1j(c in a)1L.1i.3p.4G(a,c)&&(b[c]=a[c]);1f b}1b Qn(a){if(2K.8n(a)){1j(1d b=0,c=2K(a.1h);b<a.1h;b++)c[b]=a[b];1f c}1f 2K.19f(a)}1b HZ(){1d a=0<5m.1h&&1p 0!==5m[0]?5m[0]:"7w"===2h 7O?1F:7O,b=1b(a){1f HZ(a)};b.9G="1.0.8";b.1JR=[];if(!a||!a.3n||9!==a.3n.1a5)1f b.1op=!1,b;1d c=a.3n,d=!1,e=!1,f=a.3n,h=a.4pH,l=a.3Bt,g=a.axK,n=a.6Kk,z=1p 0===n?a.6Kk||a.axJ:n,k=a.198,x=a.axI,D=a.27n;"1b"===2h a.axH&&(n=f.4O("1qC"),n.15k&&n.15k.1G6&&(f=n.15k.1G6));n=f;1d t=n.1R5,m=n.axG,G=n.1cE,aa=n.3Mb,ka=c.6K8,r={};b.1op=t&&"7w"!==2h t.6Kb&&9!==f.axF;1d q=6v3,u=6v2,v=6v1,y=6v0,B=6uZ,A=$ma,U=ana,R=1F,V=Be({},[].9V(Qn(IZ),Qn(JZ),Qn(KZ),Qn(LZ),Qn(MZ))),W=1F,da=Be({},[].9V(Qn(NZ),Qn(WN),Qn(OZ),Qn(eG))),ea=1F,C=1F,E=!0,dc=!0,F=!1,Ob=!1,vd=!1,uc=!1,sc=!1,cd=!1,mc=!1,Xb=!1,ld=!1,ae=!0,I=!0,H=!1,J={},M=Be({},"29p 13r 1pp 1G5 2r 1qC 1fu 1qA".7g(" ")),P=Be({},["29p","1qA","1kp","5j","4d"]),N=Be({},"alt 11F 1j id 17R 2i 1jV 50W 50V 17s 1Q 2r 1KG".7g(" ")),O=1F,Q=f.4O("2Jl"),be=1b(a){"2c"!==("7w"===2h a?"7w":fG(a))&&(a={});R="6Kj"in a?Be({},a.6Kj):V;W="6Ki"in a?Be({},a.6Ki):da;ea="6Kh"in a?Be({},a.6Kh):{};C="6Kg"in a?Be({},a.6Kg):{};J="6Kf"in a?a.6Kf:!1;E=!1!==a.axE;dc=!1!==a.axD;F=a.axC||!1;Ob=a.axB||!1;vd=a.axA||!1;uc=a.axz||!1;mc=a.axy||!1;Xb=a.axx||!1;ld=a.axw||!1;cd=a.axv||!1;ae=!1!==a.axu;I=!1!==a.axt;H=a.axs||!1;U=a.axr||U;vd&&(dc=!1);Xb&&(mc=!0);J&&(R=Be({},[].9V(Qn(MZ))),W=[],!0===J.1jH&&(Be(R,IZ),Be(W,NZ)),!0===J.1fu&&(Be(R,JZ),Be(W,WN),Be(W,eG)),!0===J.axq&&(Be(R,KZ),Be(W,WN),Be(W,eG)),!0===J.axp&&(Be(R,LZ),Be(W,OZ),Be(W,eG)));a.6Ke&&(R===V&&(R=GZ(R)),Be(R,a.6Ke));a.6Kd&&(W===da&&(W=GZ(W)),Be(W,a.6Kd));a.6Kc&&Be(N,a.6Kc);I&&(R["#3l"]=!0);uc&&Be(R,["1jH","13r","1hg"]);R.1j9&&Be(R,["26R"]);1L&&"3F"in 1L&&1L.3F(a);O=a},T=1b(a){b.1JR.1q({1ij:a});10G{a.1eZ.18Z(a)}11B(yr){a.4f2=""}},Z=1b(a,c){10G{b.1JR.1q({3Q:c.4pQ(a),19f:c})}11B(XN){b.1JR.1q({3Q:1F,19f:c})}c.3lR(a)},ba=1b(a){1d b=1p 0,c=1p 0;cd?a="<3S></3S>"+a:(c=(c=a.141(/^[\\s]+/))&&c[0])&&(a=a.4h(c.1h));if(d)10G{b=(1g D).27q(a,"3l/1jH")}11B(axo){}e&&Be(ea,["17s"]);if(!b||!b.1AZ){b=t.6Kb("");1d h=b.1hg;h.1eZ.18Z(h.1eZ.4c7);h.4f2=a}c&&b.1hg.2ms(f.1wH(c),b.1hg.13P[0]||1F);1f G.4G(b,uc?"1jH":"1hg")[0]};if(b.1op){10G{ba(\'<1fu><p><2r><1kp 1bv="</2r><1kp 1bv=x 1ra=axn(1)//">\').30d("1fu 1kp")&&(d=!0)}11B(Ce){}10G{ba("<x/><17s>&lt;/17s&gt;&lt;1kp&gt;").30d("17s").8S.141(/<\\/17s/)&&(e=!0)}11B(Ce){}}1d X=1b(a){1f m.4G(a.1G6||a,a,g.axm|g.axl|g.axk,1b(){1f g.axj},!1)},Y=1b(a){1f"2c"===("7w"===2h l?"7w":fG(l))?a 2m l:a&&"2c"===("7w"===2h a?"7w":fG(a))&&"2b"===2h a.1a5&&"4n"===2h a.1yI},ca=1b(a,c,d){r[a]&&r[a].12I(1b(a){a.4G(b,c,d,O)})},ha=1b(a){ca("axi",a,1F);1d c=a 2m k||a 2m x?!1:"4n"===2h a.1yI&&"4n"===2h a.8S&&"1b"===2h a.18Z&&a.2w 2m z&&"1b"===2h a.3lR&&"1b"===2h a.8m?!1:!0;if(c)1f T(a),!0;c=a.1yI.18v();ca("axh",a,{12J:c,axg:R});if(!R[c]||ea[c]){if(I&&!M[c]&&"1b"===2h a.6Ka)10G{a.6Ka("axf",a.1dd)}11B(XN){}T(a);1f!0}!Ob||a.4c7||a.15k&&a.15k.4c7||!/</g.6S(a.8S)||(b.1JR.1q({1ij:a.3OF()}),a.1dd=a.1dd?a.1dd.3X(/</g,"&lt;"):a.8S.3X(/</g,"&lt;"));vd&&3===a.1a5&&(c=a.8S,c=c.3X(q," "),c=c.3X(u," "),a.8S!==c&&(b.1JR.1q({1ij:a.3OF()}),a.8S=c));ca("axe",a,1F);1f!1},ff=1b(a,b,c){if(ae&&("id"===b||"2i"===b)&&(c in f||c in Q))1f!1;vd&&(c=c.3X(q," "),c=c.3X(u," "));if(!dc||!v.6S(b))if(!E||!y.6S(b))if(!W[b]||C[b]||!(N[b]||U.6S(c.3X(A,""))||("1bv"===b||"1NM:17S"===b)&&"1G5"!==a&&0===c.3f("2g:")&&P[a]||F&&!B.6S(c.3X(A,"")))&&c)1f!1;1f!0},Kc=1b(a){1d c,d;ca("axd",a,1F);1d e=a.2w;if(e){1d f={6K9:"",580:"",57Z:!0,axc:W};1j(d=e.1h;d--;){1d h=c=e[d],l=h.2i;h=h.1fz;c=c.1Q.1b2();1d g=l.18v();f.6K9=g;f.580=c;f.57Z=!0;ca("axb",a,f);c=f.580;if("2i"===g&&"ax9"===a.1yI&&e.id){1d p=e.id;e=2K.1i.4h.6c(e);Z("id",a);Z(l,a);e.3f(p)>d&&a.8m("id",p.1Q)}1s if("ax8"!==a.1yI||"1I"!==g||"1ol"!==c||!W[g]&&C[g])"id"===l&&a.8m(l,""),Z(l,a);1s 1aJ;if(f.57Z&&(p=a.1yI.18v(),ff(p,g,c)))10G{h?a.3lS(h,l,c):a.8m(l,c),b.1JR.9l()}11B(ax7){}}ca("ax6",a,1F)}},ia=1b XN(a){1d b,c=X(a);1j(ca("ax5",a,1F);b=c.6K7();)ca("ax4",b,1F),ha(b)||(b.15k 2m h&&XN(b.15k),Kc(b));ca("ax3",a,1F)};b.6uW=1b(d,e){1d f=1p 0,g=1p 0;d||(d="\\1wY!--\\1yJ");if("4n"!==2h d&&!Y(d)){if("1b"!==2h d.5s)1t 1g 1LY("5s is 2S a 1b");d=d.5s();if("4n"!==2h d)1t 1g 1LY("6s is 2S a 4n, ax2");}if(!b.1op){if("2c"===fG(a.4f3)||"1b"===2h a.4f3){if("4n"===2h d)1f a.4f3(d);if(Y(d))1f a.4f3(d.4f2)}1f d}sc||be(e);b.1JR=[];if(!H)if(d 2m l)f=ba("\\1wY!--\\1yJ"),e=f.1G6.6K8(d,!0),1===e.1a5&&"ax1"===e.1yI?f=e:f.3A(e);1s{if(!mc&&!uc&&-1===d.3f("<"))1f d;f=ba(d);if(!f)1f mc?1F:""}f&&cd&&T(f.1gv);1j(1d p=X(H?d:f);e=p.6K7();)3===e.1a5&&e===g||ha(e)||(e.15k 2m h&&ia(e.15k),Kc(e),g=e);if(H)1f d;if(mc){if(Xb)1j(d=aa.4G(f.1G6);f.1gv;)d.3A(f.1gv);1s d=f;ld&&(d=ka.4G(c,d,!0));1f d}1f uc?f.4f2:f.1dd};b.ax0=1b(a){be(a);sc=!0};b.awZ=1b(){O=1F;sc=!1};b.awY=1b(a,b,c){O||be({});a=a.18v();b=b.18v();1f ff(a,b,c)};b.awX=1b(a,b){"1b"===2h b&&(r[a]=r[a]||[],r[a].1q(b))};b.awW=1b(a){r[a]&&r[a].9l()};b.awV=1b(a){r[a]&&(r[a]=[])};b.awU=1b(){r={}};1f b}1b Zb(a,b){v.1N.4n("1jH",a);if(g(YN[a]))1d c=YN[a];1s c=6uY++,YN[a]=c;b=m(b,!1);1a.7R=c;1a.50S=a;1a.6uX=b;1a.17e=1p 0}1b zh(a,b,c){1a.13b=k.1y(m(a,k.6h));1a.14S=k.1y(m(b,k.6h));1a.2V=c=g(c)?k.1y(c):k.28F(1a.13b,1a.14S,1g k)}1b fk(a,b){v.1N.2c("3c",a);1a.5W=a;1a.1Es=1g k;1a.3dc=1g k;1a.3Av=0;g(b)&&(1a.2Ld=b)}1b PZ(a,b,c){g(b)&&0>b&&a.1W5>-b&&(a=k.9v(a.10N.x+b,a.10N.y+b,a.10N.z+b,6uR),a=ba.1mg(a,c));1f a}1b QZ(a,b,c,d){v.1N.2c("6K6",b);v.2l("3q",c);g(d)||(d=1g k);b=RZ(a,b);1j(1d e=0,f=0,h=c.1h;f<h;++f){1d l=SZ(a,c[f],b);if(0>l)1f;e=1k.1V(e,l)}1f TZ(b,e,d)}1b UZ(a,b,c,d,e,f){v.1N.2c("6K6",b);v.2l("1co",c);v.1N.2b("14e",d);g(f)||(f=1g k);d=m(d,3);e=m(e,k.6h);b=RZ(a,b);1j(1d h=0,l=0,p=c.1h;l<p;l+=d){hG.x=c[l]+e.x;hG.y=c[l+1]+e.y;hG.z=c[l+2]+e.z;1d n=SZ(a,hG,b);if(0>n)1f;h=1k.1V(h,n)}1f TZ(b,h,f)}1b ZN(a,b,c){a=k.3V(a,b,VZ);b=-k.2A(a,b);1f!(0>c?0<b:b>c&&b*b/k.17j(a)>c)}1b SZ(a,b,c){1d d=a.3db(b,6uQ);a=k.17j(d);b=1k.3Y(a);1d e=k.1eE(d,b,6uP);a=1k.1V(1,a);b=1k.1V(1,b);d=k.2A(e,c);c=k.7t(k.4B(e,c,e));b=1/b;1f 1/(d*b-c*1k.3Y(a-1)*b)}1b TZ(a,b,c){if(!(0>=b||b===1/0||b!==b))1f k.4g(a,b,c)}1b RZ(a,b){if(k.2L(b,k.6h))1f b;a.3db(b,$N);1f k.1T($N,$N)}1b WZ(a,b,c){1d d=a+b;1f B.12q(a)!==B.12q(b)&&1k.abs(d/1k.1V(1k.abs(a),1k.abs(b)))<c?0:d}1b aO(a,b,c,d){b/=3;c/=3;1d e=a*c,f=b*d,h=b*b,l=c*c,g=a*c-h,n=a*d-b*c,z=b*d-l,k=4*g*z-n*n;if(0>k){if(h*f>=e*l){1d x=a;1d D=g;n=-2*b*g+a*n}1s x=d,D=z,n=-d*n+2*c*z;z=-(0>n?-1:1)*1k.abs(x)*1k.3Y(-k);g=-n+z;k=g/2;k=0>k?-1k.3r(-k,1/3):1k.3r(k,1/3);g=g===z?-k:-D/k;D=0>=D?k+g:-n/(k*k+g*g+D);1f h*f>=e*l?[(D-b)/a]:[-d/(D+c)]}h=1k.3Y(k);l=1k.3Y(3)/2;k=1k.abs(1k.12B(a*h,-(-2*b*g+a*n))/3);D=2*1k.3Y(-g);x=1k.3i(k);g=D*x;D*=-x/2-l*1k.2T(k);f=g+D>2*b?g-b:D-b;e=f/a;k=1k.abs(1k.12B(d*h,-(-d*n+2*c*z))/3);D=2*1k.3Y(-z);x=1k.3i(k);g=D*x;D*=-x/2-l*1k.2T(k);d=-d;n=g+D<2*c?g+c:D+c;g=d/n;z=-f*n-a*d;a=(c*z-b*f*d)/(-b*z+c*a*n);1f e<=a?e<=g?a<=g?[e,a,g]:[e,g,a]:[g,e,a]:e<=g?[a,e,g]:a<=g?[a,g,e]:[g,a,e]}1b Dm(a,b,c,d){1d e=a*a,f=b-3*e/8,h=c-b*a/2+e*a/8;b=d-c*a/4+b*e/16-3*e*e/256;c=iG.1KF(1,2*f,f*f-4*b,-h*h);if(0<c.1h)if(a=-a/4,c=c[c.1h-1],1k.abs(c)<B.1sW){if(h=Rn.1KF(1,f,b),2===h.1h){f=h[0];h=h[1];if(0<=f&&0<=h)1f f=1k.3Y(f),h=1k.3Y(h),[a-h,a-f,a+f,a+h];if(0<=f&&0>h)1f f=1k.3Y(f),[a-f,a+f];if(0>f&&0<=h)1f f=1k.3Y(h),[a-f,a+f]}}1s if(0<c){b=1k.3Y(c);d=(f+c+h/b)/2;f=Rn.1KF(1,b,(f+c-h/b)/2);h=Rn.1KF(1,-b,d);if(0!==f.1h)1f f[0]+=a,f[1]+=a,0!==h.1h?(h[0]+=a,h[1]+=a,f[1]<=h[0]?[f[0],f[1],h[0],h[1]]:h[1]<=f[0]?[h[0],h[1],f[0],f[1]]:f[0]>=h[0]&&f[1]<=h[1]?[h[0],f[0],f[1],h[1]]:h[0]>=f[0]&&h[1]<=f[1]?[f[0],h[0],h[1],f[1]]:f[0]>h[0]&&f[0]<h[1]?[h[0],f[0],h[1],f[1]]:[f[0],h[0],f[1],h[1]]):f;if(0!==h.1h)1f h[0]+=a,h[1]+=a,h}1f[]}1b eB(a,b,c,d){1d e=a*a,f=iG.1KF(1,-2*b,c*a+b*b-4*d,e*d-c*b*a+c*c);if(0<f.1h){f=f[0];b-=f;1d h=b*b,l=a/2;b/=2;1d g=h-4*d;h+=4*1k.abs(d);1d n=e-4*f;e+=4*1k.abs(f);0>f||g*e<n*h?(g=1k.3Y(n),e=g/2,c=0===g?0:(a*b-c)/g):(g=1k.3Y(g),e=0===g?0:(a*b-c)/g,c=g/2);0===l&&0===e?a=l=0:B.12q(l)===B.12q(e)?(l+=e,a=f/l):(a=l-e,l=f/a);0===b&&0===c?f=c=0:B.12q(b)===B.12q(c)?(c=b+c,f=d/c):(f=b-c,c=d/f);d=Rn.1KF(1,l,c);f=Rn.1KF(1,a,f);if(0!==d.1h)1f 0!==f.1h?d[1]<=f[0]?[d[0],d[1],f[0],f[1]]:f[1]<=d[0]?[f[0],f[1],d[0],d[1]]:d[0]>=f[0]&&d[1]<=f[1]?[f[0],d[0],d[1],f[1]]:f[0]>=d[0]&&f[1]<=d[1]?[d[0],f[0],f[1],d[1]]:d[0]>f[0]&&d[0]<f[1]?[f[0],d[0],f[1],d[1]]:[d[0],f[0],d[1],f[1]]:d;if(0!==f.1h)1f f}1f[]}1b rb(a,b){b=k.1y(m(b,k.6h));k.2L(b,k.6h)||k.1T(b,b);1a.9X=k.1y(m(a,k.6h));1a.2G=b}1b XZ(a,b,c){g(c)||(c=1g pp);1d d=a.2G,e=b.3L*b.3L;b=k.3V(a.9X,b.2V,YZ);a=k.2A(d,d);d=2*k.2A(d,b);b=k.17j(b)-e;e=6uM;b=d*d-4*a*b;if(0>b)d=1p 0;1s if(0<b){a=1/(2*a);1d f=1k.3Y(b);b=(-d+f)*a;d=(-d-f)*a;b<d?(e.1Sh=b,e.1Si=d):(e.1Sh=d,e.1Si=b);d=e}1s d=-d/(2*a),0===d?d=1p 0:(e.1Sh=e.1Si=d,d=e);if(g(d))1f c.4I=d.1Sh,c.4U=d.1Si,c}1b su(a,b,c){1d d=a+b;1f B.12q(a)!==B.12q(b)&&1k.abs(d/1k.1V(1k.abs(a),1k.abs(b)))<c?0:d}1b Cb(a,b){v.1N.2c("2U",a);if(!B.5T(k.7t(a),1,B.1g9))1t 1g r("2U 2Q be 1A7.");v.1N.2b("3s",b);1a.2U=k.1y(a);1a.3s=b}1b Ah(a,b,c){v.2l("4x",a);v.2l("awT",b);v.2l("2F0",c);1j(1d d=0,e=a.1h-1,f,h;d<=e;)if(f=~~((d+e)/2),h=c(a[f],b),0>h)d=f+1;1s if(0<h)e=f-1;1s 1f f;1f~(e+1)}1b jG(a,b,c,d,e){1a.2EX=a;1a.2EW=b;1a.2RD=c;1a.2RC=d;1a.2RB=e}1b kx(){1d a=5m,b=0,c=1b(a,b,c,d){c||(c=" ");b=a.1h>=b?"":2K(1+b-a.1h>>>0).14G(c);1f d?a+b:b+a},d=1b(a,b,d,e,g,z){1d f=e-a.1h;0<f&&(a=d||!g?c(a,e,z,d):a.4h(0,b.1h)+c("",f,"0",!0)+a.4h(b.1h));1f a},e=1b(a,b,e,g,n,z,k){a>>>=0;e=e&&a&&{2:"awS",8:"0",16:"3r0"}[b]||"";a=e+c(a.5s(b),z||0,"0",!1);1f d(a,e,g,n,k)};1f a[b++].3X(/%%|%(\\d+\\$)?([-+\'#0 ]*)(\\*\\d+\\$|\\*|\\d+)?(\\.(\\*\\d+\\$|\\*|\\d+))?([awR])/g,1b(f,h,l,g,n,z,k){if("%%"==f)1f"%";1d p=!1;1d w="";1d t=n=!1;1d m=" ";1j(1d G=l.1h,aa=0;l&&aa<G;aa++)6U(l.1as(aa)){1S " ":w=" ";1W;1S"+":w="+";1W;1S"-":p=!0;1W;1S"\'":m=l.1as(aa+1);1W;1S"0":n=!0;1W;1S"#":t=!0}g=g?"*"==g?+a[b++]:"*"==g.1as(0)?+a[g.4h(1,-1)]:+g:0;0>g&&(g=-g,p=!0);if(!1AJ(g))1t 6u("58o: (13b-)1G 2Q be 57y");z=z?"*"==z?+a[b++]:"*"==z.1as(0)?+a[z.4h(1,-1)]:+z:-1<"awQ".3f(k)?6:"d"==k?0:1p 0;h=h?a[h.4h(0,-1)]:a[b++];6U(k){1S"s":1f k=10J(h),1F!=z&&(k=k.4h(0,z)),d(k,"",p,g,n,m);1S"c":1f k=10J.1gx(+h),1F!=z&&(k=k.4h(0,z)),d(k,"",p,g,n,1p 0);1S"b":1f e(h,2,t,p,g,z,n);1S"o":1f e(h,8,t,p,g,z,n);1S"x":1f e(h,16,t,p,g,z,n);1S"X":1f e(h,16,t,p,g,z,n).1G9();1S"u":1f e(h,10,t,p,g,z,n);1S"i":1S"d":1f m=+h||0,m=1k.9p(m-m%1),f=0>m?"-":w,h=f+c(10J(1k.abs(m)),z,"0",!1),d(h,f,p,g,n);1S"e":1S"E":1S"f":1S"F":1S"g":1S"G":1f m=+h,f=0>m?"-":w,w=["4rl","1mf","5ua"]["awP".3f(k.18v())],k=["5s","1G9"]["awO".3f(k)%2],h=f+1k.abs(m)[w](z),d(h,f,p,g,n)[k]();4T:1f f}})}1b lx(a,b,c,d,e,f,h,l){1a.1Dt=a;1a.1Pc=b;1a.1IW=c;1a.1Pe=d;1a.1Pd=e;1a.1hd=f;1a.1Ti=h;1a.50I=l}1b fB(a){if(1F===a||11I(a))1t 1g r("1Dt is 1X and 2Q be a 2b.");1f 0===a%4&&0!==a%100||0===a%400}1b he(a,b){1a.1EP=a;1a.2M=b}1b bO(a,b){1f M.1iF(a.1EP,b.1EP)}1b kG(a){mx.1EP=a;1d b=M.3As,c=Ah(b,mx,bO);0>c&&(c=~c);c>=b.1h&&(c=b.1h-1);1d d=b[c].2M;0<c&&M.1dA(b[c].1EP,a)>d&&(c--,d=b[c].2M);M.190(a,d,a)}1b ZZ(a,b){mx.1EP=a;1d c=M.3As,d=Ah(c,mx,bO);0>d&&(d=~d);if(0===d)1f M.190(a,-c[0].2M,b);if(d>=c.1h)1f M.190(a,-c[d-1].2M,b);1d e=M.1dA(c[d].1EP,a);if(0===e)1f M.190(a,-c[d].2M,b);if(!(1>=e))1f M.190(a,-c[--d].2M,b)}1b zr(a,b,c){1d d=b/Ed.1RF|0;a+=d;b-=Ed.1RF*d;0>b&&(a--,b+=Ed.1RF);c.1mA=a;c.1mz=b;1f c}1b cO(a,b,c,d,e,f,h){1d l=(b-14)/12|0;a=a+awN+l;b=(6um*a/4|0)+(367*(b-2-12*l)/12|0)-(3*((a+100)/100|0)/4|0)+c-awM;d-=12;0>d&&(d+=24);d=f+(d*Ed.3At+e*Ed.3Au+h*Ed.2n7);3jk<=d&&--b;1f[b,d]}1b M(a,b,c){1a.1mz=1a.1mA=1p 0;a=m(a,0);b=m(b,0);c=m(c,hd.1IX);1d d=a|0;b+=(a-d)*Ed.1RF;zr(d,b,1a);c===hd.1IX&&kG(1a)}1b gB(a){a=m(a,m.4Z);1a.2rM=1a.50C=1p 0;1a.4eZ=1a.3Cl=1a.3Cm=1a.3Cp=1a.3Cn=1a.3Co=1a.50B=-1;1a.4f0=0;1a.4bh=-1;1a.2RG=1a.50D=1p 0;1a.6K5=m(a.awL,!0);if(g(a.2g))dO(1a,a.2g);1s if(g(a.2I)){1d b=na.14m(a.2I),c=1a;1a.50D=Z(b.1vs(),1b(a){dO(c,a)},1b(){c.2RG="An 7A 1Jq 14p awK 1Z 4f1 2g 19f 1Z 1ui "+b.2I+"."})}1s dO(1a,{24t:"awJ 57Y 57X 57W 57V awI 57U 57T 57S".7g(" "),2yX:[]})}1b 6K4(a,b){1f M.1iF(a.1EP,b)}1b dO(a,b){if(g(b.24t))if(g(b.2yX)){1d c=b.24t.3f("57Y"),d=b.24t.3f("57X"),e=b.24t.3f("57W"),f=b.24t.3f("57V"),h=b.24t.3f("57U"),l=b.24t.3f("57T"),p=b.24t.3f("57S");if(0>c||0>d||0>e||0>f||0>h||0>l||0>p)a.2RG="6u in 1aw 4f1 2g: 9B 24t 5i 2Q 2cK 57Y, 57X, 57W, 57V, 57U, 57T, and 57S awH";1s{1d n=a.2rM=b.2yX,z=a.50C=[];a.50B=c;a.3Co=d;a.3Cn=e;a.3Cp=f;a.3Cm=h;a.3Cl=l;a.4eZ=p;a.4f0=b.24t.1h;a.4bh=1p 0;b=a.6K5;d=0;1j(e=n.1h;d<e;d+=a.4f0)if(f=n[d+p],h=1g M(n[d+c]+Ed.6uz,f,hd.1hx),z.1q(h),b){if(f!==k&&g(k)){1d k=M.3As;l=Ah(k,h,6K4);0>l&&(h=1g he(h,f),k.6z(~l,0,h))}k=f}}}1s a.2RG="6u in 1aw 4f1 2g: 9B 2yX 5i is 1X.";1s a.2RG="6u in 1aw 4f1 2g: 9B 24t 5i is 1X."}1b $Z(a,b,c,d,e){c*=d;e.2EX=b[c+a.3Co];e.2EW=b[c+a.3Cn];e.2RD=b[c+a.3Cm];e.2RC=b[c+a.3Cl];e.2RB=b[c+a.3Cp]}1b hB(a,b,c){1f b+a*(c-b)}1b 1zx(a,b,c,d,e,f,h){1d l=a.4f0;if(f>b.1h-1)1f h.2EX=0,h.2EW=0,h.2RD=0,h.2RC=0,h.2RB=0,h;1d g=b[e];b=b[f];if(g.2L(b)||d.2L(g))1f $Z(a,c,e,l,h),h;if(d.2L(b))1f $Z(a,c,f,l,h),h;g=M.1dA(d,g)/M.1dA(b,g);e*=l;f*=l;l=c[e+a.3Cp];1d n=c[f+a.3Cp],z=n-l;if(.5<z||-.5>z){z=c[e+a.4eZ];1d k=c[f+a.4eZ];z!==k&&(b.2L(d)?l=n:n-=k-z)}h.2EX=hB(g,c[e+a.3Co],c[f+a.3Co]);h.2EW=hB(g,c[e+a.3Cn],c[f+a.3Cn]);h.2RD=hB(g,c[e+a.3Cm],c[f+a.3Cm]);h.2RC=hB(g,c[e+a.3Cl],c[f+a.3Cl]);h.2RB=hB(g,l,n);1f h}1b $b(a,b,c){1a.8e=m(a,0);1a.8q=m(b,0);1a.12C=m(c,0)}1b eO(a,b,c){1a.x=a;1a.y=b;1a.s=c}1b lG(a){a=m(a,m.4Z);1a.6K1=na.14m(a.awG);1a.3d9=m(a.awF,9);1a.6K3=m(a.awE,awD.5);1a.6K2=1g M(1a.6K3,0,hd.1hx);1a.2RE=m(a.awC,1);1a.3d8=m(a.awB,1E3);1a.2RF=m(a.awA,awz);1a.2rM=2K(3*1a.2RF);1a.3Ck=[];a=1a.3d9;1j(1d b=1a.6ue=2K(a+1),c=1a.457=2K(a+1),d=1k.3r(1a.2RE,a),e=0;e<=a;++e){b[e]=d;c[e]=e*1a.2RE;1j(1d f=0;f<=a;++f)f!==e&&(b[e]*=e-f);b[e]=1/b[e]}1a.6uf=2K(a+1);1a.6ud=2K(a+1)}1b fO(a,b,c){1d d=6ug;d.1mA=b;d.1mz=c;1f M.6uj(d,a.6K2)}1b gO(a,b){if(a.3Ck[b])1f a.3Ck[b];1d c=Z.12L();a.3Ck[b]=c;1d d=a.6K1;d=g(d)?d.16M({1PR:{0:b}}):1g na({2I:cb("1ja/awy/awx"+b+".15l")});Z(d.1vs(),1b(d){a.3Ck[b]=!1;1d e=a.2rM;d=d.2yX;1j(1d h=b*a.3d8*3,l=0,g=d.1h;l<g;++l)e[h+l]=d[l];c.5h()});1f c.10l}1b tu(a){a=a.7g(".");1j(1d b=0,c=a.1h;b<c;++b)a[b]=8A(a[b],10);1f a}1b hO(){if(!g(mG)&&(mG=!1,!iB())){1d a=/ 3OS\\/([\\.0-9]+)/.1f4(oj.1LZ);1F!==a&&(mG=!0,50A=tu(a[1]))}1f mG}1b 50z(){if(!g(nG)&&(nG=!1,!hO()&&!iB()&&/ 3OR\\/[\\.0-9]+/.6S(oj.1LZ))){1d a=/ 1PD\\/([\\.0-9]+)/.1f4(oj.1LZ);1F!==a&&(nG=!0,3r1=tu(a[1]))}1f nG}1b 50y(){if(!g(oG)){oG=!1;1d a=/ 5pP\\/([\\.0-9]+)(\\+?)/.1f4(oj.1LZ);1F!==a&&(oG=!0,iO=tu(a[1]),iO.aww=!!a[2])}1f oG}1b 50x(){if(!g(jB))if(jB=!1,"6rn awv awu"===oj.6K0){1d a=/5qK ([0-9]{1,}[\\.0-9]{0,})/.1f4(oj.1LZ);1F!==a&&(jB=!0,jO=tu(a[1]))}1s"awt"===oj.6K0&&(a=/awr\\/.*rv:([0-9]{1,}[\\.0-9]{0,})/.1f4(oj.1LZ),1F!==a&&(jB=!0,jO=tu(a[1])));1f jB}1b iB(){if(!g(pG)){pG=!1;1d a=/ 5qL\\/([\\.0-9]+)/.1f4(oj.1LZ);1F!==a&&(pG=!0,50w=tu(a[1]))}1f pG}1b kO(){if(!g(qG)){qG=!1;1d a=/4pA\\/([\\.0-9]+)/.1f4(oj.1LZ);1F!==a&&(qG=!0,50v=tu(a[1]))}1f qG}1b 50t(){if(!g(lO)){1d a=3n.4O("3M");a.8m("2r","4d-2gE: -49q-awq-24Y;4d-2gE: awp;");a=a.2r.6yS;(lO=g(a)&&""!==a)&&(50s=a)}1f lO}1b 50u(){if(g(Ar))1f Ar.10l;Ar=Z.12L();iB()&&(uu=!1,Ar.5h(uu));1d a=1g 1ar;a.1w2=1b(){uu=0<a.1G&&0<a.1D;Ar.5h(uu)};a.1ra=1b(){uu=!1;Ar.5h(uu)};a.1bv="2g:4d/3X8;1G3,awo+awn";1f Ar.10l}1b ca(a,b,c,d){1a.x=m(a,0);1a.y=m(b,0);1a.z=m(c,0);1a.w=m(d,0)}1b Zf(a,b){v.2l("9X",a);b=m(b,ba.9y);a=b.1fI(a);if(!g(a))1t 1g r("9X 2Q 2S be at 1Z 2V of 1Z 3c.");1d c=Da.18N(a,b);1a.5W=b;1a.1NJ=a;1a.3Ap=k.1vu(A.1ed(c,0,mO));1a.3Aq=k.1vu(A.1ed(c,1,mO));b=k.1vu(A.1ed(c,2,mO));1a.24j=Cb.1zd(a,b)}1b yc(a,b){1a.2V=k.1y(m(a,k.6h));1a.1dK=J.1y(m(b,J.6h))}1b 508(a,b,c,d,e,f,h,l,p,n,z){if(!(g(e)&&g(f)&&g(h)&&g(l)&&g(p)&&g(n)))1t 1g r("all awm (13b/14S X/Y/Z) are 1X.");g(z)||(z=1g yc);1d w=z.1dK;J.1vr(w,0,b,w);J.1vr(w,1,c,w);J.1vr(w,2,d,w);b=506;b.x=(e+f)/2;b.y=(h+l)/2;b.z=(p+n)/2;c=6tp;c.x=(f-e)/2;c.y=(l-h)/2;c.z=(n-p)/2;e=z.2V;b=J.10r(w,b,b);k.add(a,b,e);J.2qj(w,c,w);1f z}1b rG(a){4ZY[0]=a;1f 4ZY[0]}1b nO(a){1f a>>1^-(a&1)}1b Bh(a,b,c,d,e,f){1d h=gk.6i;if(g(a)&&g(b)&&g(c)&&g(d)){1d l=a.13b,p=k.3V(a.14S,l,6sd);k.1xj(p);h=gk.6i;1d n=a.2V;1d z=A.1yQ(d,1g A);1d w=k.11k(l,vu);A.9b(A.1PY(w,sG),z,z);w=vu;w.x=1/p.x;w.y=1/p.y;w.z=1/p.z;A.9b(A.1oY(w,sG),z,z);w=A.1y(d);A.1Bh(w,k.6h,w);d=A.1y(d,1g A);l=A.1PY(l,sG);p=A.1oY(p,6sc);p=A.9b(l,p,sG);A.9b(d,p,d);A.9b(w,p,w)}1a.1nv=h;1a.13w=b;1a.12x=c;1a.2V=n;1a.4b2=z;1a.4b1=d;1a.8W=w;1a.1lp=e;1a.2av=m(f,!1)}1b Uc(a){1a.5W=m(a,ba.9y);1a.3d1=1a.5W.17i;1a.4b0=1/1a.3d1}1b 6JZ(){1f!0}1b la(a,b){1b c(){1t 1g r(b);}b=m(b,"18m 2c 9x 3uQ, i.e., 1M() 9x 7I.");1j(1d d in a)"1b"===2h a[d]&&(a[d]=c);a.3Z=6JZ}1b 4Zx(){if(!g(Vc.2Rx)){1d a=1g 3vx(57R("2gS/awl.js"));a.1Sa=m(a.4fz,a.1Sa);1d b=1g 1G4([99]);10G{a.1Sa({4x:b},[b.3J])}11B(d){1f Vc.2Rx=!1,Vc.2Rx}1d c=Z.12L();a.4aZ=1b(b){b=b.2g.4x;b=g(b)&&99===b[0];c.5h(b);a.44t();Vc.2Rx=b};Vc.2Rx=c.10l}1f Vc.2Rx}1b 4Zw(a,b){--a.3ut;1d c=b.id;if(g(c)){a=a.4Zz;1d d=a[c];if(g(b.7A)){1d e=b.7A;"1uN"===e.2i?(e=1g qa(b.7A.19s),e.1fi=b.7A.1fi):"2w2"===e.2i&&(e=1g r(b.7A.19s),e.1fi=b.7A.1fi);oO.5k(e);d.7N(e)}1s oO.5k(),d.5h(b.4D);4Y a[c]}}1b 57R(a){a=cb(a);if($F(a)){a=\'4Ct("\'+a+\'");\';10G{1d b=1g 1JN([a],{1I:"1aM/4LP"})}11B(c){b=1g(7O.awk||7O.awj||7O.awi||7O.awh),b.2P3(a),b=b.awg("1aM/4LP")}a=(7O.1ui||7O.awf).2FI(b)}1f a}1b 4Zy(a){1d b=3vx;g(pO)||(pO=57R("2gS/awe.js"));b=1g b(pO);b.1Sa=m(b.4fz,b.1Sa);1d c={awd:{awc:{2gS:cb("2gS")},4y6:cb.6vm().2I},awb:Vc.6s6+a.1hz};b.1Sa(c);b.4aZ=1b(b){4Zw(a,b.2g)};1f b}1b 6s8(a,b){1d c={2Bp:1p 0,2Bo:1p 0,28r:1p 0};if(!Nc.6u0())1f c.2Bp=cb(b.4GI),Z.5h(c);c.2Bp=cb(b.2Bp);c.2Bo=cb(b.2Bo);1f na.1kw({2I:c.2Bo}).4b(1b(a){c.28r=a;1f c})}1b Vc(a,b){1a.1hz=a;1a.4JA=m(b,5);1a.3ut=0;1a.4Zz={};1a.6s9=0}1b nx(a,b,c,d,e,f,h,l,g,n,z,k,x,D,t,oa,G,aa){1a.2V=a;1a.1co=b;1a.14e=m(n,6);1a.27O=d;1a.3ch=e;1a.4N=c;1a.13w=f;1a.12x=h;1a.21e=l;1a.1UK=g;1a.1ls=z;1a.19F=k;1a.1MU=x;1a.1KC=D;1a.1KB=t;1a.1KA=oa;1a.1Kz=G;1a.16w=m(aa,!1)}1b we(){r.8i()}1b 4aB(a,b){1d c=2K(b),d=2K(a),e=2K(b),f=2K(a),h;1j(h=0;h<a;++h)f[h]=h,d[h]=a*b-1-h;1j(h=0;h<b;++h)e[h]=(h+1)*a-1,c[h]=(b-h-1)*a;1f{1KC:c,1KB:d,1KA:e,1Kz:f}}1b 4Zq(a,b,c,d){1j(1d e=0,f=0;f<b-1;++f){1j(1d h=0;h<a-1;++h){1d l=e,g=l+a,n=g+1,z=l+1;c[d++]=l;c[d++]=g;c[d++]=z;c[d++]=z;c[d++]=g;c[d++]=n;++e}++e}f=(b-1)/2;l=(a-1)/2;1j(h=e=0;h<l;h++)c[d++]=e,c[d++]=e+1,c[d++]=e+2,e+=2;e=a*(b-1);1j(h=0;h<l;h++)c[d++]=e+1,c[d++]=e,c[d++]=e+2,e+=2;1j(h=e=0;h<f;h++)c[d++]=e+a,c[d++]=e,c[d++]=e+2*a,e+=2*a;e=a-1;1j(h=0;h<f;h++)c[d++]=e,c[d++]=e+a,c[d++]=e+2*a,e+=2*a}1b tG(a,b,c,d,e){1j(1d f=g(e),h=a[0],l=a.1h,p=1;p<l;++p){1d n=a[p];if(!f||e[h+"10D"+n])c[d++]=h,c[d++]=n,c[d++]=b,c[d++]=b,c[d++]=n,c[d++]=b+1,h=n,++b}1f d}1b Ch(a){if(!g(a)||!g(a.3J))1t 1g r("3v.3J is 1X.");if(!g(a.1G))1t 1g r("3v.1G is 1X.");if(!g(a.1D))1t 1g r("3v.1D is 1X.");1a.1hW=a.3J;1a.10V=a.1G;1a.10o=a.1D;1a.2EA=m(a.1Ku,15);1a.3cV=m(a.19F,kB.6i);1a.1zE=a.1eu;g(a.4Un)&&(1a.2zo=a.4Un,1a.1hr=a.6b,1a.3Sj=a.x,1a.3Si=a.y);1d b=jl.2rK,c=a.2a5;g(c)?c!==b&&(c.2au=m(c.2au,b.2au),c.1xk=m(c.1xk,b.1xk),c.2at=m(c.2at,b.2at),c.14e=m(c.14e,b.14e),c.2as=m(c.2as,b.2as),c.2iM=m(c.2iM,b.2iM)):c=b;1a.3d0=c;1a.2Lx=m(a.3cg,!1);1a.4aR=a.1UM;1a.1NI=1p 0;1a.4Zn=1a.3cV===kB.4bi?4A:1a.1hW.7m;1a.1sY=1p 0;1a.4Zm=m(a.3z3,!0);1a.2r9=m(a.3bZ,.1);1a.6JY=!0;g(a.6JX)&&(1a.6JY=a.6JX);1a.3p5=a.1ns}1b 1gL(a,b,c,d,e,f,h,l,g,n){l=(l-e.4o)*(f-1)/(e.5a-e.4o);1d p=(g-e.4C)*(h-1)/(e.4P-e.4C),k=l|0;e=k+1;e>=f&&(e=f-1,k=f-2);1d x=p|0;g=x+1;g>=h&&(g=h-1,x=h-2);l-=k;p-=x;x=h-1-x;g=h-1-g;h=(b.1Ky(a,x*f+k)/n-c)/d;x=(b.1Ky(a,x*f+e)/n-c)/d;k=(b.1Ky(a,g*f+k)/n-c)/d;a=(b.1Ky(a,g*f+e)/n-c)/d;1f p<l?h+l*(x-h)+p*(a-x):h+l*(a-k)+p*(k-h)}1b uG(a,b,c,d,e,f){f*=d;d=0;if(e)1j(e=0;e<b;++e)d=d*c+a[f+e];1s 1j(e=b-1;0<=e;--e)d=d*c+a[f+e];1f d}1b hk(a,b){1a.6C=a;1a.17G=b;1a.3cZ=[]}1b ox(a,b,c,d,e){1a.8c=a;1a.12f=b;1a.6b=c;1a.x=d;1a.y=e;1a.7l=a.1d1(d,e,c);1a.1WC=[];1a.2rH=1a.2rI=1a.2rF=1a.2rG=1p 0}1b 6rY(a,b,c,d,e){1a.6b=a;1a.4o=b;1a.4C=c;1a.5a=d;1a.4P=e}1b qO(a,b){1d c=1k.1V(a.4o,b.4o),d=1k.2o(a.5a,b.5a);1f 1k.1V(a.4C,b.4C)<1k.2o(a.4P,b.4P)&&c<d}1b 6rX(a,b){1f a.6b-b}1b vG(a,b){1f b.4o>=a.4o&&b.5a<=a.5a&&b.4C>=a.4C&&b.4P<=a.4P}1b px(a,b){1f b.3N>=a.4o&&b.3N<=a.5a&&b.4k>=a.4C&&b.4k<=a.4P}1b lB(a,b,c){1j(1d d=0,e=!1;!e;){1d f=b.2rI&&px(b.2rI.7l,c),h=b.2rH&&px(b.2rH.7l,c),l=b.2rG&&px(b.2rG.7l,c),g=b.2rF&&px(b.2rF.7l,c);if(1<f+h+l+g){f&&(d=1k.1V(d,lB(b,b.2rI,c)));h&&(d=1k.1V(d,lB(b,b.2rH,c)));l&&(d=1k.1V(d,lB(b,b.2rG,c)));g&&(d=1k.1V(d,lB(b,b.2rF,c)));1W}1s f?b=b.2rI:h?b=b.2rH:l?b=b.2rG:g?b=b.2rF:e=!0}1j(;b!==a;){e=b.1WC;1j(f=e.1h-1;0<=f&&e[f].6b>d;--f)h=e[f],px(h,c)&&(d=h.6b);b=b.12f}1f d}1b mB(a,b,c){if(b){1d d,e=!1;1j(d=0;d<c.1h;++d)e=e||qO(b.7l,c[d]);if(e){e=b.1WC;1j(d=0;d<e.1h;++d){1d f=e[d];a[f.6b]||(a[f.6b]=c);1j(1d h=f.6b,l=a[f.6b],g=[],n=0;n<l.1h;++n){1d z=l[n];qO(z,f)?(z.4o<f.4o&&g.1q(1g Q(z.4o,z.4C,f.4o,z.4P)),z.5a>f.5a&&g.1q(1g Q(f.5a,z.4C,z.5a,z.4P)),z.4C<f.4C&&g.1q(1g Q(1k.1V(f.4o,z.4o),z.4C,1k.2o(f.5a,z.5a),f.4C)),z.4P>f.4P&&g.1q(1g Q(1k.1V(f.4o,z.4o),f.4P,1k.2o(f.5a,z.5a),z.4P))):g.1q(z)}a[h]=g}mB(a,b.2rI,c);mB(a,b.2rH,c);mB(a,b.2rG,c);mB(a,b.2rF,c)}}}1b wG(a){1d b=a.2i;1d c=a.19s;b=g(b)&&g(c)?b+": "+c:a.5s();a=a.1fi;g(a)&&(b+="\\n"+a);1f b}1b Lc(a,b,c,d,e,f,h){1a.9Z=a;1a.19s=b;1a.x=c;1a.y=d;1a.6b=e;1a.4Zk=m(f,0);1a.2LG=!1;1a.7A=h}1b Le(a){a=m(a,{});1a.5W=m(a.3c,ba.9y);1a.2Ru=m(a.27p,1);1a.2Rt=m(a.27o,1);1a.16y=m(a.18T,1g Uc(1a.5W));if(g(a.57Q)&&g(a.57P))1a.24h=a.57Q,1a.24i=a.57P;1s{1d b=1a.5W.17i*1k.PI;1a.24h=1g C(-b,-b);1a.24i=1g C(b,b)}b=1a.16y.1cZ(1a.24h);1d c=1a.16y.1cZ(1a.24i);1a.7T=1g Q(b.3N,b.4k,c.3N,c.4k);1a.2iL=a.6JW;1a.1Ua=a.6JV;1a.14Q=m(a.16K,256);1a.16J=m(a.17g,256)}1b qx(a){if(!g(a)||!g(a.2I))1t 1g r("3v.2I is 1X.");1a.2Ei=1a.aw9=1a.1RD=1a.6C=1a.1dh=1a.12o=1p 0;1a.4y=!1;1a.3cV=1a.10o=1a.10V=1p 0;1d b=a.1pI;1a.3cU=!1;1a.4eX=1a.3cW=1p 0;1a.6JS={};1d c=1a,d=m(a.3c,ba.9y);1a.7S=Z(a.2I).4b(1b(a){a=na.14m(a);a.1F1();g(b)&&(a=a.16M({1kx:{1pI:b}}));c.12o=a;1f a.16M({1kx:{f:"aw8"}}).1vs()}).4b(1b(a){1d b=a.2Sk;g(b)&&(c.1dh=1g Zb(b));b=a.1jS;b=m(b.aw7,b.1mo);1d e=a.7l,l={3c:d};if(1zf===b)l.3g=Q.8g(e.3dT,e.3dS,e.3dR,e.3dQ),c.6C=1g gd(l);1s if(1Bo===b)l.57Q=1g C(e.3dT,e.3dS),l.57P=1g C(e.3dR,e.3dQ),c.6C=1g Le(l);1s 1f Z.7N(1g qa("13H 54G 1bY"));b=a.1ny;if(!g(b))1f Z.7N(1g qa("1ny is 1X"));c.10V=b.3Aw+1;c.10o=b.3Ax+1;c.3cV="4bi"===b.8V?kB.4bi:kB.6i;c.4eY=b.3Az.1h-1;if(c.3cU=-1!==a.aw6.3f("aw5"))c.3cW=1g hk(c.6C,c.4eY),c.3cW.2ar(0,0,0,c.6C.1ou(0),c.6C.1Bj(0)),c.4eX=1g hk(c.6C,c.4eY);c.1RD=we.2rJ(c.6C.3c,c.10V,c.6C.1ou(0));1<a.aw4&&11l.7k("5hu: 2iB 2g 14d 1v5 6L 1 63C. 55N 1Z 1lf 1bS.");c.2Ei={2as:1,3Af:a.1AX[0],3Ae:a.1y4[0]};1f c.4y=!0}).10g(1b(a){Lc.1ir(1p 0,c,c.14P,"An 7A 1Jq 14p 1Ud "+c.12o.2I+".");1f Z.7N(a)});1a.14P=1g sa}1b rO(a,b,c,d){if(a.3cU){1d e=a.4eX;if(b>a.4eY)1f!1;if(a.3cW.24g(b,c,d))1f!0;if(e.24g(b,c,d))1f!1}}1b 6JU(a,b,c,d){1d e=b-1;--c;1j(1d f=d[a.y*b+a.x],h=[],l={24s:a.x,2s9:a.y,1RZ:0,2aJ:0},g=1g C(a.x+1,a.y+1),n=!1,z=!1;!n||!z;){1d k=g.x,x=z?g.y+1:g.y;if(!n){1j(1d D=a.y;D<x;++D)if(d[D*b+g.x]!==f){n=!0;1W}n?(h.1q(1g C(g.x,a.y)),--g.x,--k,l.1RZ=g.x):g.x===e?(l.1RZ=g.x,n=!0):++g.x}if(!z){x=g.y*b;1j(D=a.x;D<=k;++D)if(d[x+D]!==f){z=!0;1W}z?(h.1q(1g C(a.x,g.y)),--g.y,l.2aJ=g.y):g.y===c?(l.2aJ=g.y,z=!0):++g.y}}1f{6JT:h,11D:l,1Q:f}}1b 6JR(a,b,c,d,e){1d f=[];if(e.2el(1b(a){1f a===e[0]}))1f 1===e[0]&&f.1q({24s:a,2s9:b,1RZ:a+c-1,2aJ:b+d-1}),f;1j(1d h=[1g C(0,0)];0<h.1h;){1d l=h.9l();l=6JU(l,c,d,e);if(1===l.1Q){1d g=l.11D;g.24s+=a;g.1RZ+=a;g.2s9+=b;g.2aJ+=b;f.1q(g)}l=l.6JT;0<l.1h&&(h=h.9V(l))}1f f}1b 3cT(a,b,c,d){if(!a.3cU)1f{};1d e=128*1k.2t(c/128),f=128*1k.2t(d/128),h=1k.2o(1<<b,128),l="aw3/"+b+"/"+f+"/"+e+"/"+h+"/"+h,p=a.6JS;if(g(p[l]))1f p[l];1d n=1g Ke({1j8:!0,1mj:!0,1I:Jd.1Q8}),z=a.12o.16M({2I:l,7M:n}).1vs();if(!g(z))1f{};z=z.4b(1b(l){l=6JR(e,f,h,h,l.2g);a.4eX.2ar(e,f,e+h,f+h);1j(1d g=a.3cW,p=0;p<l.1h;++p){1d n=l[p];g.2ar(b,n.24s,n.2s9,n.1RZ,n.2aJ)}1f rO(a,b,c,d)});p[l]={10l:z,7M:n};z=z.2aR(1b(a){4Y p[l];1f a});1f{10l:z,7M:n}}1b Ic(a,b,c,d){v.2l("4x",a);v.2l("1Q",b);g(c)&&v.1N.2b("4I",c);g(d)&&v.1N.2b("9o",d);if("1b"===2h a.4K)1f a.4K(b,c,d);1d e=a.1h>>>0;c=m(c,0);c=0>c?1k.1V(e+c,0):1k.2o(c,e);d=m(d,e);1j(e=0>d?1k.1V(e+d,0):1k.2o(d,e);c<e;)a[c]=b,c++;1f a}1b $h(a,b,c){v.2l("5T",b);if(g(a)){c=m(c,!1);1d d=a.1h;if(2>d)1f a;1d e;1j(e=1;e<d;++e){1d f=a[e-1];1d h=a[e];if(b(f,h,xG))1W}if(e===d)1f c&&b(a[0],a[a.1h-1],xG)?a.4h(1):a;1j(1d l=a.4h(0,e);e<d;++e)h=a[e],b(f,h,xG)||(l.1q(h),f=h);c&&1<l.1h&&b(l[0],l[l.1h-1],xG)&&l.1hN();1f l}}1b De(a,b,c){v.2l("4x",a);g(b)&&v.1N.2b("1jM",b);g(c)&&v.1N.2b("9o",c);if("1b"===2h a.4h)1f a.4h(b,c);b=2K.1i.4h.4G(a,b,c);c=Nc.6u5;1j(1d d=c.1h,e=0;e<d;++e)if(a 2m c[e]){b=1g c[e](b);1W}1f b}1b Ia(){1a.1gN=[];1a.15W={}}1b sO(a,b,c,d,e){v.2l("7v",a);v.2l("p0",b);v.2l("p1",c);v.2l("p2",d);g(e)||(e=1g k);if(g(b.z)){if(k.5T(a,b,B.1sW))1f k.1y(k.1dl,e);if(k.5T(a,c,B.1sW))1f k.1y(k.1f5,e);if(k.5T(a,d,B.1sW))1f k.1y(k.16a,e);c=k.3V(c,b,4Zi);d=k.3V(d,b,4Zh);1d f=k.3V(a,b,4Zg);a=k.2A(c,c);b=k.2A(c,d);c=k.2A(c,f);1d h=k.2A(d,d);d=k.2A(d,f)}1s{if(C.5T(a,b,B.1sW))1f k.1y(k.1dl,e);if(C.5T(a,c,B.1sW))1f k.1y(k.1f5,e);if(C.5T(a,d,B.1sW))1f k.1y(k.16a,e);c=C.3V(c,b,4Zi);d=C.3V(d,b,4Zh);f=C.3V(a,b,4Zg);a=C.2A(c,c);b=C.2A(c,d);c=C.2A(c,f);h=C.2A(d,d);d=C.2A(d,f)}e.y=h*c-b*d;e.z=a*d-b*c;d=a*h-b*b;0!==e.y&&(e.y/=d);0!==e.z&&(e.z/=d);e.x=1-e.y-e.z;1f e}1b tO(a){a=m(a,m.4Z);1a.2dI=nB.2IV(a.10t);1a.12o=1g na({2I:"1bU://44g.4Zf.2fH/35s/v1/6rT",1kx:{10t:1a.2dI}})}1b Aa(a,b,c,d){1a.x=m(a,0);1a.y=m(b,0);1a.1G=m(c,0);1a.1D=m(d,0)}1b ub(a,b,c,d){1a[0]=m(a,0);1a[1]=m(c,0);1a[2]=m(b,0);1a[3]=m(d,0)}1b Pb(a){a=m(a,m.4Z);v.1N.2c("3v.2w",a.2w);1a.2w=a.2w;1a.4N=a.4N;1a.6Z=m(a.6Z,Ja.11G);1a.7u=a.7u;1a.1DX=m(a.1DX,wu.6i);1a.1BR=a.1BR;1a.8J=a.8J}1b Pa(a){a=m(a,m.4Z);if(!g(a.3k))1t 1g r("3v.3k is 1X.");if(!g(a.2Z))1t 1g r("3v.2Z is 1X.");if(1>a.2Z||4<a.2Z)1t 1g r("3v.2Z 2Q be 1pS 1 and 4.");if(!g(a.2a))1t 1g r("3v.2a is 1X.");1a.3k=a.3k;1a.2Z=a.2Z;1a.1T=m(a.1T,!1);1a.2a=a.2a}1b ce(a){a=m(a,m.4Z);1a.1K=a.1K;1a.2U=a.2U;1a.st=a.st;1a.8T=a.8T;1a.8Q=a.8Q;1a.1A=a.1A}1b za(a){a=m(a,m.4Z);1a.1K=m(a.1K,!1);1a.2U=m(a.2U,!1);1a.st=m(a.st,!1);1a.8T=m(a.8T,!1);1a.8Q=m(a.8Q,!1);1a.1A=m(a.1A,!1)}1b yf(a){a=m(a,m.4Z);1d b=a.13b,c=a.14S;v.1N.2c("2o",b);v.1N.2c("1V",c);if(g(a.8J)&&a.8J===ac.1g5)1t 1g r("2YR.1g5 is 2S a 11J 3v.8J 1j 1a 3y.");1d d=m(a.9S,za.1yD);1a.1PN=k.1y(b);1a.1PO=k.1y(c);1a.14s=d;1a.12j=a.8J;1a.1hz="3iF"}1b ai(a){a=m(a,m.4Z);1d b=a.13b,c=a.14S;v.1N.2c("2o",b);v.1N.2c("1V",c);if(g(a.8J)&&a.8J===ac.1g5)1t 1g r("2YR.1g5 is 2S a 11J 3v.8J 1j 1a 3y.");1a.2Q6=k.1y(b);1a.3Ad=k.1y(c);1a.12j=a.8J;1a.1hz="aw2"}1b 3L8(){}1b pg(){1a.5I=1a.12K=1p 0;r.8i()}1b up(a){a=m(a,m.4Z);1d b=a.5I;a=a.12K;if(!g(b)||!g(a))1t 1g r("5I and 12K are 1X.");if(2>b.1h)1t 1g r("5I.1h 2Q be 9U 6L or 14B to 2.");if(a.1h!==b.1h)1t 1g r("12K.1h 2Q be 14B to 5I.1h.");1a.1f7=a;1a.15p=b;1a.1Kr=0}1b bi(a){a=m(a,m.4Z);1d b=a.5I,c=a.12K,d=a.2EU;a=a.2ET;if(!(g(b)&&g(c)&&g(d)&&g(a)))1t 1g r("12K, 5I, 2EU, and 2ET are 1X.");if(2>b.1h)1t 1g r("5I.1h 2Q be 9U 6L or 14B to 2.");if(c.1h!==b.1h)1t 1g r("12K.1h 2Q be 14B to 5I.1h.");if(d.1h!==a.1h||d.1h!==b.1h-1)1t 1g r("2EU and 2ET 2Q 118 a 1h 14B to 5I.1h - 1.");1a.1f7=c;1a.15p=b;1a.6rG=d;1a.6rF=a;1a.1Kr=0}1b 6JQ(a){1d b=a.5I,c=a.12K;if(3>b.1h){1d d=c[0],e=1/(c[1]-d),f=b[0],h=b[1];1f 1b(a,b){g(b)||(b=1g k);1f k.11x(f,h,(a-d)*e,b)}}1f 1b(d,e){g(e)||(e=1g k);1d f=a.1Kr=a.1Ks(d,a.1Kr),h=(d-c[f])/(c[f+1]-c[f]);d=6rE;d.z=h;d.y=h*h;d.x=d.y*h;d.w=1;if(0===f){h=b[0];1d l=b[1];1d p=a.3Ac;1d D=k.3V(b[2],h,4Z1);k.4g(D,.5,D);f=A.10r(bi.4aS,d,d)}1s f===b.1h-2?(h=b[f],l=b[f+1],D=a.3Ab,p=k.3V(l,b[f-1],4Z1),k.4g(p,.5,p),f=A.10r(bi.4aS,d,d)):(h=b[f-1],l=b[f],p=b[f+1],D=b[f+2],f=A.10r(Em.6rz,d,d));e=k.4g(h,f.x,e);k.4g(l,f.y,rx);k.add(e,rx,e);k.4g(p,f.z,rx);k.add(e,rx,e);k.4g(D,f.w,rx);1f k.add(e,rx,e)}}1b Em(a){a=m(a,m.4Z);1d b=a.5I,c=a.12K,d=a.3Ac;a=a.3Ab;v.2l("5I",b);v.2l("12K",c);v.1N.2b.9Y("5I.1h",b.1h,2);v.1N.2b.2L("12K.1h","5I.1h",c.1h,b.1h);if(2<b.1h&&(g(d)||(d=6rD,k.4g(b[1],2,d),k.3V(d,b[2],d),k.3V(d,b[0],d),k.4g(d,.5,d)),!g(a))){1d e=b.1h-1;a=6rC;k.4g(b[e-1],2,a);k.3V(b[e],a,a);k.add(a,b[e-2],a);k.4g(a,.5,a)}1a.1f7=c;1a.15p=b;1a.6rB=k.1y(d);1a.6rA=k.1y(a);1a.49w=6JQ(1a);1a.1Kr=0}1b Me(a,b,c,d){if(!g(a))1t 1g r("2f9 is 1X.");if(0>b)1t 1g r("8o 1il be 2YM.");if(0>c)1t 1g r("10S 1il be 2YM.");if(b+c>a.10S)1t 1g r("1LT-1wl 3nA 4x 14w.");b=m(b,0);c=m(c,a.10S-b);d=m(d,"35C-8");a=a.1hl(b,b+c);1f Me.1AM(a,d)}1b Sn(a){1b b(a,b){1f f[a]-f[b]}1b c(a,b){1f e[a]-e[b]}if(!g(a)||!g(a.2R5))1t 1g r("3v.2R5 is 1X.");if(!g(a.4N))1t 1g r("3v.4N is 1X.");if(!g(a.13w))1t 1g r("3v.13w is 1X.");if(!g(a.12x))1t 1g r("3v.12x is 1X.");if(!g(a.7u))1t 1g r("3v.7u is 1X.");if(!g(a.2rk))1t 1g r("3v.2rk is 1X.");if(!g(a.2rj))1t 1g r("3v.2rj is 1X.");if(!g(a.2ri))1t 1g r("3v.2ri is 1X.");if(!g(a.2rh))1t 1g r("3v.2rh is 1X.");if(!g(a.2rg))1t 1g r("3v.2rg is 1X.");if(!g(a.2R4))1t 1g r("3v.2R4 is 1X.");if(!g(a.2R3))1t 1g r("3v.2R3 is 1X.");if(!g(a.2R2))1t 1g r("3v.2R2 is 1X.");if(!g(a.2R1))1t 1g r("3v.2R1 is 1X.");1a.2ES=a.2R5;1a.4Z0=a.3Aa;1a.1lz=a.4N;1a.1GD=a.13w;1a.1DY=a.12x;1a.5V=a.7u;1a.1vX=a.1ls;1a.6rv=a.2rk;1a.1Ny=a.1mn;1d d=1a.2ES.1h/3,e=1a.4YZ=1a.2ES.1hl(0,d),f=1a.4YY=1a.2ES.1hl(d,2*d);1a.4YX=1a.2ES.1hl(2*d,3*d);1a.4aQ=yG(a.2rj,b,d);1a.4aP=yG(a.2ri,c,d);1a.4aO=yG(a.2rh,b,d);1a.4aN=yG(a.2rg,c,d);1a.4aM=a.2R4;1a.4aL=a.2R3;1a.4aK=a.2R2;1a.4aJ=a.2R1;1a.2EA=m(a.1Ku,15);1a.2Lx=m(a.3cg,!1);1a.4aR=a.1UM;1a.1sY=1p 0;1a.3p5=a.1ns;1a.16w=m(a.16w,!1);0===1a.1DY&&(1a.16w=!0)}1b yG(a,b,c){zG.1h=a.1h;1j(1d d=!1,e=0,f=a.1h;e<f;++e)zG[e]=a[e],d=d||0<e&&0<b(a[e-1],a[e]);1f d?(zG.15F(b),Ta.9g(c,zG)):a}1b 4YW(a,b,c,d,e,f,h,l){1d g=1k.1V(c,e,h),n=1k.2o(d,f,l);d=1k.1V(d,f,l);1f a>=1k.2o(c,e,h)&&a<=g&&b>=n&&b<=d}1b oB(a,b,c){if(!g(a))1t 1g r("1lf is 1X");if(!g(b))1t 1g r("1hd is 1X");c=m(c,!0);a 2m zb||(a=1g zb(a));b 2m zb||(b=1g zb(b));if("2g"===a.1c2)1f a.5s();if("2g"===b.1c2)1f b.5s();g(b.1mD)&&!g(b.1c2)&&("7w"!==2h 3n&&g(3n.17J)&&g(3n.17J.17S)?b.1c2=(1g zb(3n.17J.17S)).1c2:b.1c2=a.1c2);1d d=a;b.6vR()&&(d=b);1d e="";g(d.1c2)&&(e+=d.1c2+":");g(d.1mD)&&(e+="//"+d.1mD,""!==d.9w&&"/"!==d.9w&&(e=e.3X(/\\/?$/,"/"),d.9w=d.9w.3X(/^\\/?/g,""),""===d.1mD&&(e+="/")));e=d===a?c?e+(a.9w.3X(/\\/?$/,"/")+b.9w.3X(/^\\/?/g,"")):e+(a.9w+b.9w):e+b.9w;c=g(a.16H);d=g(b.16H);c&&d?e+="?"+a.16H+"&"+b.16H:c&&!d?e+="?"+a.16H:!c&&d&&(e+="?"+b.16H);c=g(b.1fo);g(a.1fo)&&!c?e+="#"+a.1fo:c&&(e+="#"+b.1fo);1f e}1b Ba(a,b){1a.1e7={};if(a 2m 2K){b=0;1j(1d c=a.1h;b<c;b++)1a.1e7[a[b].aw1]={1I:a[b].1I||Fm.2Rr,1Q:a[b].1Q}}1s{1a.6j=m(a,"");if(1F==a)1t 1g r("5hk.1Q is aw0.");1a.6X=m(b,Fm.2Rr);1a.1e7.4T={1I:1a.6X,1Q:1a.6j}}}1b Tn(a){a=m(a,m.4Z);v.2l("3v.2I",a.2I);1d b=a.2I,c=a.1f8,d=m(a.1tq,"1Tq"),e=a.2g,f=a.1iB,h=a.1w0;b=m(b,a.2I);1d l=g(a.7M)?a.7M:1g Ke;l.2I=b;l.1RO=1b(){1d a=Z.12L(),n=Tn.1e4(b,c,d,e,f,a,h);g(n)&&g(n.28m)&&(l.2rN=1b(){n.28m()});1f a.10l};1f qb.7M(l)}1b AG(a,b){b=2OY(b);1f a?4N3(b):b}1b 57O(a,b){a=AG(a,b);b=1g 1aq(a.1h);1j(1d c=1g 4L(b),d=0;d<a.1h;d++)c[d]=a.19a(d);1f b}1b 6rp(a,b){b=m(b,"");1d c=a[1],d=!!a[2];a=a[3];6U(b){1S "":1S "3l":1f AG(d,a);1S "2AC":1f 57O(d,a);1S "1i3":1f b=57O(d,a),1g 1JN([b],{1I:c});1S "3n":1f(1g 27n).27q(AG(d,a),c);1S "15l":1f 4H.5N(AG(d,a));4T:1t 1g r("4Mj 1f8: "+b);}}1b xu(a,b,c){1f Tn({2I:a,1iB:b,7M:c})}1b Dh(a){if(!g(a.2i))1t 1g r("3v.2i is 1X.");1d b=Z.12L();1a.1sG=a.2i;1d c=4YQ.1pj(1a.1sG),d=1a;c.2iK=1b(a){d.db=a.15s.4D;d.9G=d.db.9G;g(d.1qW)||(d.1qW={});b.5h(d)};c.6rm=1b(a){d.db=a.15s.4D;d.9G=d.db.9G;b.5h(d)};c.1ra=1b(a){d.db=1F;b.7N("6F avZ 15w, 7A 16A : "+a.15s.avY)};1a.7r=a.7r||1F;1a.6JP=a.6JP||"15U";1a.3cM=!1;1a.1qW={};1f b.10l}1b Oc(a,b){1f 0!==(a&b)}1b pB(){1a.1fD=1a.13r=1p 0;1a.7Z=0;1a.2ER=1p 0}1b 4YO(a,b){1d c=b.2rE,d=b.2fm;b===a.2ER&&(a.2ER=d);b===a.13r?a.13r=d:c.2fm=d;b===a.1fD?a.1fD=c:d.2rE=c;b.2rE=1p 0;b.2fm=1p 0;--a.7Z}1b sx(){1a.1fD=1a.13r=1p 0;1a.7Z=0}1b 4YN(a,b){1d c=b.18d,d=b.6k;b===a.13r?a.13r=d:c.6k=d;b===a.1fD?a.1fD=c:d.18d=c;b.18d=1p 0;b.6k=1p 0;--a.7Z}1b qB(a,b,c){1a.1b3=b;1a.2g=c;1a.9Z=a}1b uO(a){1a.1Wu=a.1Wu;1a.9G=a.9G;1a.3Cj=a.3Cj;1a.3eI=a.3eI;1a.1b9=a.1b9;1a.1lp=a.1lp;1a.1z3=a.1z3;1a.2EQ=a.2EQ;1a.2SC=a.2SC;1a.2s8=a.2s8;1a.2SE=a.2SE;1a.2s8=a.2s8;1a.4eV={}}1b Gm(a){1b b(a){if(a.8V){if(a.17v&&0!==a.17v.1h){1d d=!1,e=!1,h=!1,l=!0,n=!1;if("2Rv-1.0"===a.8V)n=!0,g(p.2SD)||(p.2SD={2au:.2,1xk:-1E3,2at:1,14e:1,2as:256,2iM:!1,3Af:0,3Ae:1a6}),e=!0,p.3cJ=!0;1s if(0!==a.8V.3f("2CZ-13q-1.")){1d w=\'9B 11H 8V "\'+a.8V+\'" is 16w or 2S 11J.\';x=Lc.1ir(x,p,p.14P,w,1p 0,1p 0,1p 0,f);1f}1d m=a.17v,aa=a.1Qy;G=1k.1V(G,aa);g(a.10x)&&-1!==a.10x.3f("6JJ")?d=!0:g(a.10x)&&-1!==a.10x.3f("6JI")&&(d=!0,l=!1);g(a.10x)&&-1!==a.10x.3f("6JH")&&(e=!0);g(a.10x)&&-1!==a.10x.3f("1lv")&&(h=!0);1d r=a.avX,q=a.1IZ;if(g(q)&&!g(r))1j(w=1g hk(p.6C,q.1h),aa=0;aa<q.1h;++aa){1d u=q[aa],v=p.6C.1Bj(aa);g(oa[aa])||(oa[aa]=[]);1j(1d y=0;y<u.1h;++y){1d B=u[y],A=v-B.2aJ-1,C=v-B.2s9-1;oa[aa].1q([B.24s,A,B.1RZ,C]);w.2ar(aa,B.24s,A,B.1RZ,C)}}1s if(g(r)){1d E=1g hk(p.6C,aa);w=1g hk(p.6C,aa);oa[0]=[[0,0,1,0]];w.2ar(0,0,0,1,0)}p.3A5=p.3A5||e;p.4aH=p.4aH||d;p.3A2=p.3A2||h;g(a.2AS)&&(0<t.1h&&(t+=" "),t+=a.2AS);D.1q(1g uO({1Wu:z,9G:a.9G,3Cj:n,3eI:m,1b9:w,1lp:d,1z3:e,2EQ:h,2SC:r,2s8:E,2SE:l}));a=a.6JO;if(g(a)){if(!g(w))1f 11l.7k("A 7r.15l 1ag\'t 118 a 6JO if it 18f\'t 118 an 1IZ 4x."),Z.5h();z=z.16M({2I:a});z.1F1();k=z.16M({2I:"7r.15l"});w=k.1vs();1f Z(w,b,c)}1f Z.5h()}x=Lc.1ir(x,p,p.14P,"9B 7r.15l 1ol 18f 2S 2mt any 11H 1ui 3OI.",1p 0,1p 0,1p 0,f)}1s x=Lc.1ir(x,p,p.14P,"9B 11H 8V is 2S 2xC in 1Z 7r.15l 1ol.",1p 0,1p 0,1p 0,f)}1b c(a){x=Lc.1ir(x,p,p.14P,"An 7A 1Jq 14p 1Ud "+k.2I+".",1p 0,1p 0,1p 0,f)}1b d(a){b(a).4b(1b(){if(!g(x)){1d a=oa.1h;if(0<a)1j(1d b=p.1R9=1g hk(p.6C,G),c=0;c<a;++c)1j(1d d=oa[c],e=0;e<d.1h;++e){1d f=d[e];b.2ar(c,f[0],f[1],f[2],f[3])}0<t.1h&&(a=1g Zb(t),g(p.27W)?p.27W.1q(a):p.27W=[a]);p.4y=!0;p.7S.5h(!0)}})}1b e(a){g(a)&&404===a.2rS?d({avW:"2.1.0",8V:"2Rv-1.0",9G:"1.0.0",1c2:"4DO",17v:["{z}/{x}/{y}.1st?v={9G}"]}):c()}1b f(){Z(k.1vs()).4b(d).10g(e)}if(!g(a)||!g(a.2I))1t 1g r("3v.2I is 1X.");1a.2iJ=m(a.31Q,!0);if("4n"===2h a.2I){1d h=1a.1os=a.2I,l=h.11c(0,h.3f("/1x2"));1a.13Y=h.11c(h.3f("1x2/")+6,h.1h);1d p=1a;(1g Dh({2i:l+1a.13Y})).4b(1b(a){a.1PU(p.13Y)?p.12Y=a:a.1Uc(p.13Y).4b(1b(){p.12Y=a})});1a.17F={1dF:!1,9P:1b(){g(p.12Y)&&p.12Y.9P(p.13Y)},1au:[]}}1s 1a.2iJ=!1;1a.6C=1g gd({27p:2,27o:1,3c:a.3c});1a.1jZ=65;1a.1RD=we.2rJ(1a.6C.3c,1a.1jZ,1a.6C.1ou(0));1a.2SD=1p 0;1a.4aH=1a.3A5=!1;1a.1pw=a.2n6;1a.1Jp=!1;1a.32x={};1a.32w=1g sx;1a.32u=100;1a.1Ub=0;1a.2Em=m(a.2Eo,!1);1a.3cJ=m(a.3A4,!1);1a.2fJ=m(a.6rg,!0);1a.1Gr=m(a.1jc,"");1a.14P=1g sa;l=a.9L;"4n"===2h l&&(l=1g Zb(l));1a.1dh=l;1a.1R9=1p 0;1d n=Z.12L();1a.4y=!1;1a.7S=n;1a.27W=1p 0;1a.15x=1F;1a.1Kw=m(a.3c1,!0);1a.2oA=m(a.26Z,Br.35s);1a.3A3=!0;1a.2QM=1a.2Fo=!1;1a.2iJ&&(1a.3A3=m(a.2KG,!0));1a.2fB=!1;1a.1g2=a.1x1;h=h.3f("1B0");p=1a;1d z,k,x,D=1a.8U=[],t="",oa=[],G=0;1a.2iJ&&-1===h?(p.3A5=!0,p.2oA===Br.35x?(h=a.2I,l=h.3X(h.11c(h.3f("1x2")+5,h.3f("21V")),"?"),p.3eJ=[l+"&6JN={z}&6JM={x}&6JL={y}&1wV=57L&v=1.4eW.0"]):(p.3eJ=[a.2I+"/2g/9w/{z}/{x}/{y}.1st?v=1.4eW.0"],a.2I.7g("/"),h=oB(a.2I,"1nn")),g(Ba.12M)&&(h=g(Ba.12M.1e7[p.1os])?Ba.1oo(p.1os,h):Ba.1cl(h)),Z(xu(h,1a.1g2),1b(b){b=b.3X("<1g7>",\'<1g7 1KG:1m3="10R://10y.1gD.11Y/1g7">\');1d c=(1g N).1dD(b).1AZ;2===N.6B(c,"1PD",1p 0)&&(b=N.121(c,"4rN",1p 0),p.1Ub=N.3Vg(b,"4rM",1p 0),g(p.1Ub)&&0<p.1Ub&&(p.1Jp=!0));b=N.15X(c,"3Q8",1p 0);b=b.18v();p.2Fo="57L"===b;if(p.2oA===Br.35x){1d d=a.2I;d=d.3X(d.11c(d.3f("1x2")+5,d.3f("21V")),"?");d+="&6JN={z}&6JM={x}&6JL={y}&1wV={57N}&v=1.4eW.0"}1s d=a.2I+"/2g/9w/{z}/{x}/{y}.{57N}?v=1.4eW.0";d=d.3X("{57N}",b);g(Ba.12M)&&(d=g(Ba.12M.1e7[p.1os])?Ba.1oo(p.1os,d):Ba.1cl(d));p.3eJ=[d];d=N.121(c,"3pY",1p 0);b=N.6B(d,"3q2",1p 0);d=N.6B(d,"3q3",1p 0);p.2im=b;p.2r2=d;1d e=N.121(c,"2yo",1p 0);b=N.6B(e,"1Mj",1p 0);d=N.6B(e,"1Dh",1p 0);1d f=N.6B(e,"2eU",1p 0);e=N.6B(e,"2eV",1p 0);b&&d&&f&&e&&(p.15x=1g Q(b,f,d,e),p.4YK=Q.8g(b,f,d,e));b=N.121(c,"2Kl",1p 0);e=N.2Nv(b,"1PV",1p 0);b=[];d=0;1j(f=e.1h;d<f;d++){1d h=8A(e[d].8S);b.1q(h)}f=b[0];e=b[b.1h-1];c=N.121(c,"avV",1p 0);if(g(c)){1d l=N.2Nv(c,"avU",1p 0);c=2K(0<f?b.1h+1:b.1h);c[0]=[{24s:0,2s9:0,1RZ:1,2aJ:0}];1j(d=1;d<f;d++)c[d]=[];d=0;1j(f=l.1h;d<f;d++){1d n=l[d],z=N.3Vg(n,"6b",1p 0);h=[];c[z]=h;z=N.2Nv(n,"avT",1p 0);n=0;1j(1d k=z.1h;n<k;n++){1d w=z[n],t=N.6B(w,"avS",1p 0),x=N.6B(w,"avR",1p 0),m=N.6B(w,"avQ",1p 0);w=N.6B(w,"avP",1p 0);h.1q({24s:t,2s9:x,1RZ:m,2aJ:w})}}l=1g hk(p.6C,e);1j(z=0;z<c.1h;++z)if(d=c[z],f=p.6C.1Bj(z),g(oa[z])||(oa[z]=[]),g(d))1j(e=0;e<d.1h;++e)h=d[e],n=f-h.2aJ-1,k=f-h.2s9-1,oa[z].1q([h.24s,n,h.1RZ,k]),l.2ar(z,h.24s,n,h.1RZ,k);p.1R9=l}D.1q(1g uO({1Wu:na.14m(a.2I),9G:"",3Cj:!1,3eI:p.3eJ,1b9:l,1lp:!1,1z3:!0,2EQ:!1,2SC:0,2s8:!1,2SE:!0}));p.1iv=b;p.4y=!0;p.7S.5h(!0)},1b(){p.7S.7N(!1)})):-1<h?Z(xu(a.2I+"/1.0.0/avO.1g3"),1b(b){b=(1g N).1dD(b).1AZ;b=N.121(b,"559",1p 0);1d c=N.121(b,"2oV",1p 0);p.57M=N.15X(c,"558",1p 0);p.3eJ=[a.2I+"?53a={z}&7r="+p.57M+"&538={y}&537={x}&3B9=avN"+p.57M+"&2mx=2ex&8V=2gf&7M=3m6"];1d d=N.121(c,"4zA",1p 0);c=N.15X(d,"550",1p 0);d=N.15X(d,"54Z",1p 0);1d e=c.7g(" "),f=d.7g(" ");c=7L(e[0]);d=7L(f[0]);e=7L(e[1]);f=7L(f[1]);c&&d&&e&&f&&(p.15x=1g Q(c,e,d,f),p.4YK=Q.8g(c,e,d,f));b=N.121(b,"4d7",1p 0);c=N.2Nv(b,"4d6",1p 0);b=N.6B(c[0],"6JK",1p 0);c=N.6B(c[c.1h-1],"6JK",1p 0);d=[1.3Qq-9,3.3mT-9,6.3mS-9,1.3mR-8,2.3Qp-8,5.3mQ-8,1.3Qo-7,2.3Qn-7,4.3Qm-7,8.3Ql-7,1.3Qk-6,3.3Qj-6,6.3Qi-6,1.3Qh-5,2.3Qg-5,5.3Qf-5,1.3Qe-4,2.3Qd-4,4.3Qc-4,8.3Qb-4,.3Qa,.3Q9];b=d.3f(b);c=d.3f(c);1j(d=[];b<=c;b++)d.1q(b);p.2Fo="57L";D.1q(1g uO({1Wu:na.14m(a.2I),9G:"",3Cj:!1,3eI:p.3eJ,1lp:!1,1z3:!0,2EQ:!1,2SC:0,2s8:!1,2SE:!0}));p.1iv=d;p.4y=!0;p.7S.5h(!0)},1b(){p.7S.7N(!1)}):Z(a.2I).4b(1b(a){a=na.14m(a);a.1F1();z=a;k=z.16M({2I:"7r.15l"});p.27W=a.1mn;f()}).10g(1b(a){n.7N(a)})}1b 57K(a){1f g(a)&&0!==a.1h?{2qI:"1aM/2q6.2CZ-13q;10x="+a.14G("-")+",1aM/2MJ-2gh;q=0.9,*/*;q=0.11t"}:{2qI:"1aM/2q6.2CZ-13q,1aM/2MJ-2gh;q=0.9,*/*;q=0.11t"}}1b vO(a,b,c,d,e,f){c=1g 10Y(b,0,a.1jZ*a.1jZ);1f 1g Ch({3J:c,1Ku:(1g 4L(b,c.10S,1))[0],1UM:1g 4L(b,c.10S+1,b.10S-c.10S-1),1G:a.1jZ,1D:a.1jZ,2a5:a.2SD,1mn:a.27W})}1b BG(a,b,c,d,e,f,h){1d l=h.2SE,p=0,n=3*13X.12T,z=4*13X.12T,w=3*10Y.12T,x=10Y.12T,D=3*x,t=1g 1dE(b);f=1g k(t.1DC(p,!0),t.1DC(p+8,!0),t.1DC(p+16,!0));p+=n;1d m=t.2xx(p,!0);p+=4A.12T;1d G=t.2xx(p,!0);p+=4A.12T;1d aa=1g P(1g k(t.1DC(p,!0),t.1DC(p+8,!0),t.1DC(p+16,!0)),t.1DC(p+n,!0));p+=z;z=1g k(t.1DC(p,!0),t.1DC(p+8,!0),t.1DC(p+16,!0));p+=n;1d ka=t.9A(p,!0);p+=12X.12T;n=1g 10Y(b,p,3*ka);p+=ka*w;12v<ka&&(x=12X.12T,D=3*x);w=n.1hl(0,ka);1d r=n.1hl(ka,2*ka),q=n.1hl(2*ka,3*ka);xb.6sX(w,r,q);0!==p%x&&(p+=x-p%x);q=t.9A(p,!0);r=p+=12X.12T;w=Ta.2Rw(ka,b,p,3*q);p+=q*D;D=0;q=w.1h;1j(1d u=0;u<q;++u){1d v=w[u];w[u]=D-v;0===v&&++D}q=t.9A(p,!0);p+=12X.12T;D=Ta.2Rw(ka,b,p,q);p+=q*x;v=t.9A(p,!0);p+=12X.12T;q=Ta.2Rw(ka,b,p,v);p+=v*x;1d y=t.9A(p,!0);p+=12X.12T;v=Ta.2Rw(ka,b,p,y);p+=y*x;1d L=t.9A(p,!0);p+=12X.12T;y=Ta.2Rw(ka,b,p,L);p+=L*x;x=!1;1j(!1===a.3A3&&(0===G||p>=t.10S)&&(x=!0);p<t.10S;){u=t.1wX(p,!0);if(0===u)1W;p+=4L.12T;L=t.9A(p,l);p+=12X.12T;if(u===CG.6rl&&a.2Em)1d A=1g 4L(b,p,2*ka);1s if(u===CG.6rk&&a.3cJ)1d U=1g 4L(b,p,L);1s if(u===CG.6rj&&a.2fJ&&!a.2iJ){u=t.9A(p,!0);if(0<u&&(u=Me(1g 4L(b),p+12X.12T,u),u=4H.5N(u).1IZ,g(u)))1j(1d R=0;R<u.1h;++R)1j(1d V=c+R+1,W=u[R],da=a.6C.1Bj(V),ea=0;ea<W.1h;++ea){1d C=W[ea],E=da-C.2aJ-1,dc=da-C.2s9-1;a.1b9.2ar(V,C.24s,E,C.1RZ,dc);h.1b9.2ar(V,C.24s,E,C.1RZ,dc)}h.2s8.2ar(c,d,e,d,e)}1s if(u===CG.6ri&&!1===a.3A3)u=t.9A(p,!0),0===u?x=!0:w=Ta.2Rw(ka,b,r,u);1s if(125===u){R=L/4;1d F=1g 4L(3*R);V=p;W=1g k;1j(u=0;u<R;u++)da=t.2ml(V,!0),V+=1FS.12T,ea=t.2ml(V,!0),V+=1FS.12T,xb.6sV(da,ea,W),F[3*u]=255*(.5*W.x+.5),F[3*u+1]=255*(.5*W.y+.5),F[3*u+2]=255*(.5*W.z+.5)}p+=L}b=a.6C.1d1(d,e,c);1d Ob;b.1G<B.10k+B.1tO&&(Ob=yc.21r(b,m,G,a.6C.3c));b=a.1Kw?5*a.1DR(c):0;a.2QM=g(F);1f 1g Sn({2V:f,13w:m,12x:G,7u:aa,1ls:Ob,2rk:z,2R5:n,3Aa:A,4N:w,2rj:D,2ri:q,2rh:v,2rg:y,2R4:b,2R3:b,2R2:b,2R1:b,1Ku:a.2iJ?15:a.1b9.4Zj(c,d,e),1UM:U,1mn:a.27W,1ns:F,16w:x})}1b rB(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d}1b 57J(a,b,c,d){a=1k.3r(2,1k.2o(a.1Ub,d));1f{x:1k.2t(b/a),y:1k.2t(c/a),1Mv:b%a,1sA:c%a,6b:d,3c0:a}}1b 4YM(a,b,c,d,e,f,h){if(!g(e))1f Z.7N(1g qa("2iB 11H 2en\'t 1GM"));1d l=e.3eI;if(0!==l.1h){1d p=a.6C.1Bj(d)-c-1,n=[];a.2Em&&e.1lp&&n.1q(e.2SE?"6JJ":"6JI");a.3cJ&&e.1z3&&n.1q("6JH");a.2fJ&&e.2EQ&&n.1q("1lv");1d z;l=l[(b+p+d)%l.1h];a.2iJ&&0===d&&(l=cb("1ja/2iB/"+d+"/"+b+"/"+c+".1st"));1d k=e.1Wu;g(k.2EP)&&!g(k.2EP.54p)?(0!==n.1h&&(z={10x:n.14G("-")}),n=57K(1p 0)):(n=57K(n),g(a.1g2)&&(n=fb(n,a.1g2)));if(0!==d&&(g(a.1pw)||a.1Jp))if(a.1pw===ik.1U9&&!h)f.1I=Jd.20D,f.1U7=a.13Y,f.1b3=rB(b,p,d),f.1j8=!0;1s if(a.1Jp){f.1I=Jd.2n5;f.1U7=a.13Y;1d x=57J(a,b,p,d);f.1b3=rB(x.x,x.y,x.6b);f.2Ki=x;1d D=a.1U6[f.1b3];if(g(D)&&g(D.2g))1f a.20C.1Jo(D),f=wO(D.2g,x),g(f)?{3J:f,3A6:e,6b:d,x:b,y:c,3A7:p}:"4d4";if(!0===a.17F.1dF&&g(a.12Y)&&!0===f.1Gc)1f f=a.12Y.20n(a.13Y,f.1b3),g(f)?f.4b(1b(f){if(g(f)){if(-1===f)1f"4d4";1d h=57J(a,b,p,d);f=wO(f,h);1f g(f)?a.2Fo&&0!==d?{3J:f,3A6:e,6b:d,x:b,y:c,3A7:p}:g(a.2SD)?vO(a,f):BG(a,f,d,b,c,p,e):"1so"}1f"1so"},1b(a){1f"1so"}):"1so"}if(g(a.17F)&&!0===a.17F.1dF&&!0===f.1Gc){if(g(a.12Y))1f f=rB(b,p,d),f=a.12Y.20n(a.13Y,f),g(f)?f.4b(1b(f){1f g(f)?-1===f?"4d4":a.2Fo&&0!==d?{3J:f,3A6:e,6b:d,x:b,y:c,3A7:p}:g(a.2SD)?vO(a,f):BG(a,f,d,b,c,p,e):"1so"},1b(a){1f"1so"}):"1so"}1s 1f 6JG(k,l,e,d,b,c,p,z,n,f,a,h,x)}}1b wO(a,b){1d c=1g 1dE(a),d=0;c.9A(d,!0);d+=4;1d e=c.9A(d,!0);d+=4;b=b.1sA*b.3c0+b.1Mv;1j(1d f=0,h=0,l=0;l<e;l++){if(l<b)f+=c.9A(d,!0);1s if(l===b){h=c.9A(d,!0);1W}d+=4}if(0!==h)1f d=8+4*e+f,(1g 4L(a)).4h(d,d+h).3J}1b 6JG(a,b,c,d,e,f,h,l,p,n,z,k,x){a=g(x)?a.16M({2I:b,1PR:{9G:c.9G,z:d,x:x.x,y:x.y},1kx:l,1iB:p,7M:n}).1kw():a.16M({2I:b,1PR:{9G:c.9G,z:d,x:e,y:h},1kx:l,1iB:p,7M:n}).1kw();if(g(a))1f a.4b(1b(a){1d b=0!==z.1Gr.1h?6JF(a,z.1Gr):a;if(0!==d&&(g(z.1pw)||z.1Jp)){if(z.1pw!==ik.1U9||k)z.1Jp&&(b=z.1U6[n.1b3],g(b)||(b=1g qB(z,n.1b3,a),z.1U6[n.1b3]=b,!0===z.17F.1dF&&g(z.12Y)&&!n.1Gc&&(l=n.1b3,l={1i3:a.4h(0),10t:l,13Y:z.13Y,1sG:z.12Y.1sG,2oT:30},xO.1fa(l,[]))),z.20C.1Jo(b),z.20C.1b2(z.32v),b=wO(a,n.2Ki));1s a:{b=n.1Vg;1d l=1g 1dE(a),p=0,w=l.9A(p,!0);if(b>w-1)1t 1g r("5n 8v 2P 16w");p+=4;1d x=[],D;1j(D=0;D<w;D++){1d m=l.9A(p,!0);x.1q(m);p+=4}1j(D=0;D<w;D++){m=x[D];if(D===b){if(0===m){b=-1;1W a}b=(1g 4L(a)).4h(p,p+m).3J;1W a}p+=m}b=1p 0}if(!g(b))1f;if(-1===b){l=rB(e,h,d);l={1i3:-1,10t:l,13Y:z.13Y,1sG:z.12Y.1sG};xO.1fa(l,[]);1f}}g(z.17F)&&!0===z.17F.1dF&&!z.1Jp&&g(z.12Y)&&g(b)&&(l=rB(e,h,d),l={1i3:b.4h(0),10t:l,13Y:z.13Y,1sG:z.12Y.1sG},xO.1fa(l,[]));1f z.2Fo&&0!==d?{3J:b,3A6:c,6b:d,x:e,y:f,3A7:h}:g(z.2SD)?vO(z,b):BG(z,b,d,e,f,h,c)})}1b yO(a,b,c,d){if(0!==d)1f a=a.2SC,a=0===d%a?d-a:(d/a|0)*a,d=1<<d-a,{6b:a,x:b/d|0,y:c/d|0}}1b 4YJ(a,b,c,d,e,f){if(!g(e.2SC))1f{4D:!1};1d h=1b(){4Y e.4eV[n]},l=e.2s8,p=e.1b9;1j(b=yO(e,b,c,d);g(b);){if(p.24g(b.6b,b.x,b.y)&&!l.24g(b.6b,b.x,b.y)){if(!f){1d n=b.6b+"-"+b.x+"-"+b.y;1d z=e.4eV[n];g(z)||(f=1g Ke({1j8:!0,1mj:!0,1I:Jd.1Q8}),z=4YM(a,b.x,b.y,b.6b,e,f),g(z)&&(e.4eV[n]=z,z.4b(h)))}1f{4D:!0,10l:z}}b=yO(e,b.x,b.y,b.6b)}1f{4D:!1}}1b 6JF(a,b){a=1g 1G4(a);b=b.7g("").5d(1b(a){1f a.19a(0)});1j(1d c=0;c<b.1h;c++)a[c]^=b[c];1f a.3J}1b tx(a,b,c,d,e,f,h,l,g,n){b=a+b;k.4g(d,1k.3i(b),DG);k.4g(c,1k.2T(b),4YI);k.add(DG,4YI,DG);c=1k.3i(a);a=1k.2T(a);ca.1gG(DG,f/1k.3Y(h*c*c+e*a*a)/l,4YH);J.1fE(4YH,4YG);J.10r(4YG,g,n);k.1T(n,n);k.4g(n,l,n);1f n}1b yb(a){a=m(a,m.4Z);if(!g(a.3y))1t 1g r("3v.3y is 1X.");1a.3y=a.3y;1a.4a=A.1y(m(a.4a,A.8K));1a.id=a.id;1a.1FK=a.1FK;1a.2w=m(a.2w,{});1a.2a2=1a.2a1=1p 0}1b bc(){1a.162=k.1y(k.6h);1a.15r=k.1y(k.6h)}1b EG(a,b,c,d,e){a[b++]=c;a[b++]=d;a[b++]=d;a[b++]=e;a[b++]=e;a[b]=c}1b 4YD(a){1d b={},c;1j(c in a)if(a.3p(c)&&g(a[c])&&g(a[c].2a)){1d d=a[c];b[c]=1g Pa({3k:d.3k,2Z:d.2Z,1T:d.1T,2a:[]})}1f b}1b zO(a,b){if(g(b)){b=b.2a;1j(1d c=b.1h,d=0;d<c;d+=3)k.5f(b,d,Hm),A.8P(a,Hm,Hm),k.5n(Hm,b,d)}}1b AO(a,b){if(g(b)){b=b.2a;1j(1d c=b.1h,d=0;d<c;d+=3)k.5f(b,d,Hm),J.10r(a,Hm,Hm),Hm=k.1T(Hm,Hm),k.5n(Hm,b,d)}}1b BO(a,b){1d c=a.1h,d,e,f,h=a[0].4a,l=g(a[0][b].4N),p=a[0][b].6Z;1j(e=1;e<c;++e){if(!A.2L(a[e].4a,h))1t 1g r("2qv 18P 2Q 118 1Z 1ik 4a.");if(g(a[e][b].4N)!==l)1t 1g r("2qv 1bX 1ht 2Q 118 an 4N or 2S 118 1bS.");if(a[e][b].6Z!==p)1t 1g r("2qv 1bX 1ht 2Q 118 1Z 1ik 6Z.");}e=a.1h;h={};1d n=a[0][b].2w;1j(f in n)if(n.3p(f)&&g(n[f])&&g(n[f].2a)){1j(1d z=n[f],w=z.2a.1h,x=!0,D=1;D<e;++D){1d t=a[D][b].2w[f];if(!g(t)||z.3k!==t.3k||z.2Z!==t.2Z||z.1T!==t.1T){x=!1;1W}w+=t.2a.1h}x&&(h[f]=1g Pa({3k:z.3k,2Z:z.2Z,1T:z.1T,2a:I.9g(z.3k,w)}))}1j(d in h)if(h.3p(d))1j(z=h[d].2a,e=f=0;e<c;++e)1j(w=a[e][b].2w[d].2a,x=w.1h,n=0;n<x;++n)z[f++]=w[n];1d m;if(l){1j(e=m=0;e<c;++e)m+=a[e][b].4N.1h;e=Pb.1Wn(1g Pb({2w:h,6Z:Ja.1wF}));m=Ta.9g(e,m);1j(e=l=d=0;e<c;++e){n=a[e][b].4N;z=n.1h;1j(f=0;f<z;++f)m[d++]=l+n[f];l+=Pb.1Wn(a[e][b])}}d=1g k;1j(e=l=0;e<c;++e){f=a[e][b].7u;if(!g(f)){d=1p 0;1W}k.add(f.2V,d,d)}if(g(d))1j(k.1eE(d,c,d),e=0;e<c;++e)f=a[e][b].7u,f=k.7t(k.3V(f.2V,d,6r8))+f.3L,f>l&&(l=f);1f 1g Pb({2w:h,4N:m,6Z:p,7u:g(d)?1g P(d,l):1p 0})}1b Cr(a,b){1k.abs(a.y)<B.1g9&&(a.y=b?-B.1g9:B.1g9)}1b kl(a,b,c,d){k.add(a,k.4g(k.3V(b,a,4Yy),a.y/(a.y-b.y),4Yy),c);k.1y(c,d);Cr(c,!0);Cr(d,!1)}1b 57I(a,b){1d c=a.2w;if(0!==c.1K.2a.1h){1j(1d d in c)if(c.3p(d)&&g(c[d])&&g(c[d].2a)){1d e=c[d];e.2a=I.9g(e.3k,e.2a)}d=Pb.1Wn(a);a.4N=Ta.9g(d,a.4N);b&&(a.7u=P.1ND(c.1K.2a));1f a}}1b ux(a){1d b=a.2w,c={},d;1j(d in b)if(b.3p(d)&&g(b[d])&&g(b[d].2a)){1d e=b[d];c[d]=1g Pa({3k:e.3k,2Z:e.2Z,1T:e.1T,2a:[]})}1f 1g Pb({2w:c,4N:[],6Z:a.6Z})}1b CO(a,b,c){1d d=g(a.3y.7u);b=57I(b,d);c=57I(c,d);g(c)&&!g(b)?a.3y=c:!g(c)&&g(b)?a.3y=b:(a.2a1=b,a.2a2=c,a.3y=1p 0)}1b DO(a,b){1d c=1g a,d=1g a,e=1g a;1f 1b(f,h,l,g,n,z,k,x){f=a.7j(n,f*b,c);h=a.7j(n,h*b,d);l=a.7j(n,l*b,e);a.4g(f,g.x,f);a.4g(h,g.y,h);a.4g(l,g.z,l);g=a.add(f,h,f);a.add(g,l,g);x&&a.1T(g,g);a.5n(g,z,k*b)}}1b FG(a,b,c,d,e,f,h,l,p,n,z,w,x,D,t,m){if(g(f)||g(h)||g(l)||g(p)||g(n)||0!==D){1d G=k.7j(e,3*a,sB),oa=k.7j(e,3*b,EO);e=k.7j(e,3*c,FO);d=sO(d,G,oa,e,6r4);g(f)&&GG(a,b,c,d,f,w.2U.2a,m,!0);g(n)&&(f=k.7j(n,3*a,sB),G=k.7j(n,3*b,EO),n=k.7j(n,3*c,FO),k.4g(f,d.x,f),k.4g(G,d.y,G),k.4g(n,d.z,n),k.2L(f,k.6h)&&k.2L(G,k.6h)&&k.2L(n,k.6h)?(f=sB,f.x=0,f.y=0,f.z=0):(f=k.add(f,G,f),k.add(f,n,f),k.1T(f,f)),k.5n(f,w.1t8.2a,3*m));g(z)&&(w.1i2.2a[m]=z[a]*d.x+z[b]*d.y+z[c]*d.z>B.1g9?1:0);g(h)&&GG(a,b,c,d,h,w.8Q.2a,m,!0);g(l)&&GG(a,b,c,d,l,w.8T.2a,m,!0);g(p)&&4Yx(a,b,c,d,p,w.st.2a,m);if(0<D)1j(h=0;h<D;h++)6U(e=x[h],l=a,p=b,z=c,n=d,f=m,G=t[e],oa=G.2a,e=w[e].2a,G.2Z){1S 4:6r5(l,p,z,n,oa,e,f,!1);1W;1S 3:GG(l,p,z,n,oa,e,f,!1);1W;1S 2:4Yx(l,p,z,n,oa,e,f,!1);1W;4T:e[f]=oa[l]*n.x+oa[p]*n.y+oa[z]*n.z}}}1b Un(a,b,c,d,e,f){1d h=a.1K.2a.1h/3;if(-1!==e){d=d[e];e=c[d];if(-1===e)1f c[d]=h,a.1K.2a.1q(f.x,f.y,f.z),b.1q(h),h;b.1q(e);1f e}a.1K.2a.1q(f.x,f.y,f.z);b.1q(h);1f h}1b 4Yp(a){1d b=a.3y,c=b.2w,d=c.1K.2a,e=g(c.2U)?c.2U.2a:1p 0,f=g(c.8T)?c.8T.2a:1p 0,h=g(c.8Q)?c.8Q.2a:1p 0,l=g(c.st)?c.st.2a:1p 0,p=g(c.1t8)?c.1t8.2a:1p 0,n=g(c.1i2)?c.1i2.2a:1p 0,z=b.4N,w=[];1j(x in c)c.3p(x)&&!6r3[x]&&g(c[x])&&w.1q(x);1d x=w.1h;1d D=ux(b);b=ux(b);1d t,m=[];m.1h=d.1h/3;1d G=[];G.1h=d.1h/3;1j(t=0;t<m.1h;++t)m[t]=-1,G[t]=-1;1d aa=z.1h;1j(t=0;t<aa;t+=3){1d ka=z[t],r=z[t+1],q=z[t+2],u=k.7j(d,3*ka),v=k.7j(d,3*r),y=k.7j(d,3*q);1d L=u;1d A=v;1d U=y;if(0<=L.x||0<=A.x||0<=U.x)L=1p 0;1s{1d R=L;1d V=A,W=U;if(0!==R.y&&0!==V.y&&0!==W.y)Cr(R,0>R.y),Cr(V,0>V.y),Cr(W,0>W.y);1s{1d da=1k.abs(R.y);1d ea=1k.abs(V.y),C=1k.abs(W.y);da=da>ea?da>C?B.12q(R.y):B.12q(W.y):ea>C?B.12q(V.y):B.12q(W.y);da=0>da;Cr(R,da);Cr(V,da);Cr(W,da)}V=0>L.y;W=0>A.y;da=0>U.y;R=(V?1:0)+(W?1:0);R+=da?1:0;ea=GO.4N;1===R?(ea[1]=3,ea[2]=4,ea[5]=6,ea[7]=6,ea[8]=5,V?(kl(L,A,yu,zu),kl(L,U,Au,Bu),ea[0]=0,ea[3]=1,ea[4]=2,ea[6]=1):W?(kl(A,U,yu,zu),kl(A,L,Au,Bu),ea[0]=1,ea[3]=2,ea[4]=0,ea[6]=2):da&&(kl(U,L,yu,zu),kl(U,A,Au,Bu),ea[0]=2,ea[3]=0,ea[4]=1,ea[6]=0)):2===R&&((ea[2]=4,ea[4]=4,ea[5]=3,ea[7]=5,ea[8]=6,V)?W?da||(kl(U,L,yu,zu),kl(U,A,Au,Bu),ea[0]=0,ea[1]=1,ea[3]=0,ea[6]=2):(kl(A,U,yu,zu),kl(A,L,Au,Bu),ea[0]=2,ea[1]=0,ea[3]=2,ea[6]=1):(kl(L,A,yu,zu),kl(L,U,Au,Bu),ea[0]=1,ea[1]=2,ea[3]=1,ea[6]=0));V=GO.3q;V[0]=L;V[1]=A;V[2]=U;V.1h=3;if(1===R||2===R)V[3]=yu,V[4]=Au,V[5]=zu,V[6]=Bu,V.1h=7;L=GO}if(g(L)&&3<L.3q.1h)1j(u=L.3q,v=L.4N,y=v.1h,V=0;V<y;++V)R=v[V],W=u[R],0>W.y?(L=b.2w,A=b.4N,U=m):(L=D.2w,A=D.4N,U=G),R=Un(L,A,U,z,3>R?t+R:-1,W),FG(ka,r,q,W,d,e,h,f,l,p,n,L,w,x,c,R);1s g(L)&&(u=L.3q[0],v=L.3q[1],y=L.3q[2]),0>u.y?(L=b.2w,A=b.4N,U=m):(L=D.2w,A=D.4N,U=G),R=Un(L,A,U,z,t,u),FG(ka,r,q,u,d,e,h,f,l,p,n,L,w,x,c,R),R=Un(L,A,U,z,t+1,v),FG(ka,r,q,v,d,e,h,f,l,p,n,L,w,x,c,R),R=Un(L,A,U,z,t+2,y),FG(ka,r,q,y,d,e,h,f,l,p,n,L,w,x,c,R)}CO(a,b,D)}1b vx(a,b,c,d,e,f,h){g(h)&&(d=k.7j(d,3*a,sB),k.5T(d,c,B.1io)?f.1i2.2a[e]=h[a]:f.1i2.2a[e]=h[b])}1b 4Yo(a){1d b=a.3y,c=b.2w,d=c.1K.2a;c=g(c.1i2)?c.1i2.2a:1p 0;1d e=b.4N,f=ux(b);b=ux(b);1d h,l=e.1h,p=[];p.1h=d.1h/3;1d n=[];n.1h=d.1h/3;1j(h=0;h<p.1h;++h)p[h]=-1,n[h]=-1;1j(h=0;h<l;h+=2){1d z=e[h],w=e[h+1],x=k.7j(d,3*z,sB),D=k.7j(d,3*w,EO);1k.abs(x.y)<B.1g9&&(x.y=0>x.y?-B.1g9:B.1g9);1k.abs(D.y)<B.1g9&&(D.y=0>D.y?-B.1g9:B.1g9);1d t=f.2w,m=f.4N,G=n,aa=b.2w,ka=b.4N,r=p,q=ib.1EQ(x,D,4Yu,FO);if(g(q)){1d u=k.4g(k.1f5,5*B.2oi,6r2);0>x.y&&(k.11k(u,u),t=b.2w,m=b.4N,G=p,aa=f.2w,ka=f.4N,r=n);1d v=k.add(q,u,6r1);1d y=Un(t,m,G,e,h,x);vx(z,w,x,d,y,t,c);y=Un(t,m,G,e,-1,v);vx(z,w,v,d,y,t,c);k.11k(u,u);k.add(q,u,v);y=Un(aa,ka,r,e,-1,v);vx(z,w,v,d,y,aa,c);y=Un(aa,ka,r,e,h+1,D);vx(z,w,D,d,y,aa,c)}1s 0>x.y?(t=b.2w,m=b.4N,G=p):(t=f.2w,m=f.4N,G=n),y=Un(t,m,G,e,h,x),vx(z,w,x,d,y,t,c),y=Un(t,m,G,e,h+1,D),vx(z,w,D,d,y,t,c)}CO(a,b,f)}1b 4Yq(a){1d b=a.2w;a=b.1K.2a;1d c=b.23V.2a;b=b.1Cu.2a;1j(1d d=a.1h,e=0;e<d;e+=3){1d f=k.5f(a,e,4Yw);if(!(0<f.x)){1d h=k.5f(c,e,4Yv);if(0>f.y&&0<h.y||0<f.y&&0>h.y)0<e-3?(c[e]=a[e-3],c[e+1]=a[e-2],c[e+2]=a[e-1]):k.5n(f,c,e);h=k.5f(b,e,HO);if(0>f.y&&0<h.y||0<f.y&&0>h.y)e+3<d?(b[e]=a[e+3],b[e+1]=a[e+4],b[e+2]=a[e+5]):k.5n(f,b,e)}}}1b 4Yf(a,b,c){1d d=b.9S,e=b.2V,f=b.19p,h=b.1aP,l=b.3c,p=b.15K,n=c?a.1h/3*2:a.1h/3,z=b.1oT,w=d.st?1g 4A(2*n):1p 0,x=d.2U?1g 4A(3*n):1p 0,D=d.8Q?1g 4A(3*n):1p 0,t=d.8T?1g 4A(3*n):1p 0,m=z?1g 4A(3*n):1p 0,G=0,aa=4Yk,ka=4Yj,r=4Yi,q=1g Td(l),u=q.12z(l.10Z(e,HG),$10D),v=l.1fI(e,wx);l.17N(v,v);e=a0;1d y=6qV;if(0!==p){1d B=ca.1gG(v,p,IO);e=J.1fE(B,e);B=ca.1gG(v,-p,IO);y=J.1fE(B,y)}1s e=J.1y(J.8K,e),y=J.1y(J.8K,y);p=C.9v(3a.19B,3a.19B,b0);v=C.9v(3a.1r7,3a.1r7,c0);B=a.1h;1j(1d A=c?B:0,U=A/3*2,R=0;R<B;R+=3){1d V=R+1,W=R+2,da=k.7j(a,R,wx);if(d.st){1d ea=J.10r(e,da,JO);ea=q.12z(l.10Z(ea,HG),KO);k.3V(ea,u,ea);qg.x=(ea.x+f)/(2*f);qg.y=(ea.y+h)/(2*h);p.x=1k.2o(qg.x,p.x);p.y=1k.2o(qg.y,p.y);v.x=1k.1V(qg.x,v.x);v.y=1k.1V(qg.y,v.y);c&&(w[G+U]=qg.x,w[G+1+U]=qg.y);w[G++]=qg.x;w[G++]=qg.y}if(d.2U||d.8Q||d.8T||z)if(aa=l.17N(da,aa),z&&(m[R+A]=-aa.x,m[V+A]=-aa.y,m[W+A]=-aa.z),d.2U||d.8Q||d.8T){if(d.8Q||d.8T)ka=k.1T(k.4B(k.16a,aa,ka),ka),J.10r(y,ka,ka);d.2U&&(x[R]=aa.x,x[V]=aa.y,x[W]=aa.z,c&&(x[R+A]=-aa.x,x[V+A]=-aa.y,x[W+A]=-aa.z));d.8Q&&(D[R]=ka.x,D[V]=ka.y,D[W]=ka.z,c&&(D[R+A]=-ka.x,D[V+A]=-ka.y,D[W+A]=-ka.z));d.8T&&(r=k.1T(k.4B(aa,ka,r),r),t[R]=r.x,t[V]=r.y,t[W]=r.z,c&&(t[R+A]=r.x,t[V+A]=r.y,t[W+A]=r.z))}}if(d.st)1j(B=w.1h,f=0;f<B;f+=2)w[f]=(w[f]-p.x)/(v.x-p.x),w[f+1]=(w[f+1]-p.y)/(v.y-p.y);f=1g ce;d.1K&&(a=ll.4aF(a,b,c),f.1K=1g Pa({3k:I.18l,2Z:3,2a:a}));d.st&&(f.st=1g Pa({3k:I.3O,2Z:2,2a:w}));d.2U&&(f.2U=1g Pa({3k:I.3O,2Z:3,2a:x}));d.8Q&&(f.8Q=1g Pa({3k:I.3O,2Z:3,2a:D}));d.8T&&(f.8T=1g Pa({3k:I.3O,2Z:3,2a:t}));z&&(f.1t8=1g Pa({3k:I.3O,2Z:3,2a:m}));c&&g(b.8J)&&(c=1g 4L(n),c=b.8J===ac.1g5?Ic(c,1,0,n/2):Ic(c,b.8J===ac.6i?0:1),f.1i2=1g Pa({3k:I.7U,2Z:1,2a:c}));1f f}1b d0(a){1d b=2K(12*a*(a+1)-6),c=0,d,e;1d f=0;1d h=1;1j(d=0;3>d;d++)b[c++]=h++,b[c++]=f,b[c++]=h;1j(d=2;d<a+1;++d){h=d*(d+1)-1;f=(d-1)*d-1;b[c++]=h++;b[c++]=f;b[c++]=h;1d l=2*d;1j(e=0;e<l-1;++e)b[c++]=h,b[c++]=f++,b[c++]=f,b[c++]=h++,b[c++]=f,b[c++]=h;b[c++]=h++;b[c++]=f;b[c++]=h}l=2*a;++h;++f;1j(d=0;d<l-1;++d)b[c++]=h,b[c++]=f++,b[c++]=f,b[c++]=h++,b[c++]=f,b[c++]=h;b[c++]=h;b[c++]=f++;b[c++]=f;b[c++]=h++;b[c++]=f++;b[c++]=f;++f;1j(d=a-1;1<d;--d){b[c++]=f++;b[c++]=f;b[c++]=h;l=2*d;1j(e=0;e<l-1;++e)b[c++]=h,b[c++]=f++,b[c++]=f,b[c++]=h++,b[c++]=f,b[c++]=h;b[c++]=f++;b[c++]=f++;b[c++]=h++}1j(d=0;3>d;d++)b[c++]=f++,b[c++]=f,b[c++]=h;1f b}1b e0(a,b,c,d,e,f,h){a=ll.2Rl({2V:a,19p:b,1aP:c,5S:d,6f:e},!1,!0).3cH;b=a.1h/3;c=2K(b);1j(d=0;d<b;++d)c[d]=k.7j(a,3*d);f=Q.3o4(c,f,h);f.1G>B.PI&&(f.4P=0<f.4P?B.10k-B.1hn:f.4P,f.4C=0>f.4C?B.1hn-B.10k:f.4C,f.5a=B.PI,f.4o=-B.PI);1f f}1b rg(a){a=m(a,m.4Z);1d b=a.2V,c=m(a.3c,ba.9y),d=a.19p,e=a.1aP,f=m(a.6f,B.15y),h=m(a.9S,za.1yD);v.2l("3v.2V",b);v.1N.2b("3v.19p",d);v.1N.2b("3v.1aP",e);if(d<e)1t 1g r("19p 2Q be 9U 6L or 14B to 1Z 1aP.");if(0>=f)1t 1g r("6f 2Q be 9U 6L 16m.");1d l=m(a.1D,0),g=m(a.9i,l);1a.19J=k.1y(b);1a.1BT=d;1a.1KE=e;1a.5W=ba.1y(c);1a.1dP=m(a.5S,0);1a.1mB=m(a.15K,0);1a.10o=1k.1V(g,l);1a.14J=f;1a.14s=za.1y(h);1a.1d5=1k.2o(g,l);1a.1Hp=m(a.1oT,!1);1a.1hz="avM";1a.12j=a.8J;1a.1NF=1a.7T=1p 0}1b vp(a){a=m(a,m.4Z);1d b=a.3L;v.1N.2b("3L",b);1a.1NL=1g rg({2V:a.2V,19p:b,1aP:b,3c:a.3c,1D:a.1D,9i:a.9i,6f:a.6f,9S:a.9S,15K:a.15K,1oT:a.1oT});1a.1hz="avL"}1b pj(a){a=m(a,m.4Z);1d b=a.2V,c=m(a.3c,ba.9y),d=a.19p,e=a.1aP,f=m(a.6f,B.15y);if(!g(b))1t 1g r("2V is 1X.");if(!g(d))1t 1g r("19p is 1X.");if(!g(e))1t 1g r("1aP is 1X.");if(d<e)1t 1g r("19p 2Q be 9U 6L or 14B to 1Z 1aP.");if(0>=f)1t 1g r("6f 2Q be 9U 6L 16m.");1d h=m(a.1D,0),l=m(a.9i,h);1a.19J=k.1y(b);1a.1BT=d;1a.1KE=e;1a.5W=ba.1y(c);1a.1dP=m(a.5S,0);1a.10o=1k.1V(l,h);1a.14J=f;1a.1d5=1k.2o(l,h);1a.2af=1k.1V(m(a.1ej,16),0);1a.12j=a.8J;1a.1hz="avK"}1b xx(a){a=m(a,m.4Z);1d b=a.3L;v.1N.2b("3L",b);1a.1NL=1g pj({2V:a.2V,19p:b,1aP:b,3c:a.3c,1D:a.1D,9i:a.9i,6f:a.6f,1ej:a.1ej});1a.1hz="avJ"}1b Cu(a){a=m(a,m.4Z);1d b=a.1a2,c=a.18M,d=a.1cU;b=g(b)?M.1y(b):g(c)?M.1y(c):g(d)?M.50E(d,-1,1g M):M.14H();c=g(c)?M.1y(c):M.1y(b);d=g(d)?M.1y(d):M.50E(c,1,1g M);if(M.1bP(c,d))1t 1g r("18M 2Q 5iu 8w 1cU.");1a.18M=c;1a.1cU=d;1a.1le=m(a.1le,qj.3jf);1a.1Tg=m(a.1Tg,!0);1a.1yw=1g sa;1a.2hD=1g sa;1a.3cG=1a.2aq=1a.2qM=1a.1vg=1p 0;1a.4Yb=Kd();1a.1a2=b;1a.16W=m(a.16W,1);1a.1tv=m(a.1tv,!1);1a.1j6=m(a.1j6,zf.29o)}1b LO(a,b,c){0>c&&(c+=1);1<c&&--c;1f 1>6*c?a+6*(b-a)*c:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a}1b y(a,b,c,d){1a.5r=m(a,1);1a.5t=m(b,1);1a.5G=m(c,1);1a.2O=m(d,1)}1b Qb(a,b,c,d){a=m(a,1);b=m(b,1);c=m(c,1);d=m(d,1);1a.1Q=1g 4L([y.10F(a),y.10F(b),y.10F(c),y.10F(d)])}1b bh(){1a.1Ht=1g Ia;1a.1sv=1g 4L(6JE);1a.2Rk=[]}1b 6qA(a,b){1f a-b}1b Vn(a,b,c,d){1a.1JH=a;1a.10V=b;1a.10o=c;1a.1hW=d}1b f0(a,b,c,d,e){a=k.3V(a,b,6qz);c=k.2A(c,a);d=k.2A(d,a);1f C.9v(c,d,e)}1b MO(a,b,c){if(0===a)1f b*c;a*=a;1d d=a*a,e=d*a,f=e*a,h=f*a,l=h*a;1f b*((1-a/4-3*d/64-5*e/256-175*f/1xn-441*h/12v-avI*l/1yL)*c-(3*a/8+3*d/32+45*e/13j+105*f/18C+6JD*h/2Ka+4X7*l/2qb)*1k.2T(2*c)+(15*d/256+45*e/13j+525*f/1xn+avH*h/12v+6o9*l/2Kb)*1k.2T(4*c)-(35*e/4WT+175*f/4Kd+avG*h/6JE+avF*l/1yL)*1k.2T(6*c)+(315*f/2Ka+6JD*h/2qb+avE*l/2Kb)*1k.2T(8*c)-(693*h/avD+4X7*l/2wO)*1k.2T(10*c)+4Jm*l/2Kb*1k.2T(12*c))}1b yx(a,b){if(0===a)1f 1k.7k(1k.10n(.5*(B.10k+b)));1d c=a*1k.2T(b);1f 1k.7k(1k.10n(.5*(B.10k+b)))-a/2*1k.7k((1+c)/(1-c))}1b g0(a,b,c,d){1d e=k.1T(d.13B(b,NO),6qy),f=k.1T(d.13B(c,NO),NO);v.1N.2b.9Y("1Q",1k.abs(1k.abs(k.1B3(e,f))-1k.PI),.6Ju);f=d.17i;e=d.1W5;f*=f;a.4eT=(f-e*e)/f;a.2rB=1k.3Y(a.4eT);a.1yx=T.1y(b,a.1yx);a.1yx.1D=0;a.2iG=T.1y(c,a.2iG);a.2iG.1D=0;e=b.3N;f=c.3N;1d h=c.4k,l=yx(a.2rB,b.4k);h=yx(a.2rB,h);e=1k.12B(B.1vw(f-e),h-l);a.1Ef=e;e=d.17i;h=d.1W5;d=b.4k;f=c.4k;l=a.1Ef;b=c.3N-b.3N;B.5T(1k.abs(l),B.10k,B.1PW)?e===h?b=e*1k.3i(d)*B.1vw(b):(c=1k.2T(d),b=e*1k.3i(d)*B.1vw(b)/1k.3Y(1-a.4eT*c*c)):(b=MO(a.2rB,e,d),b=(MO(a.2rB,e,f)-b)/1k.3i(l));a.172=1k.abs(b)}1b h0(a,b,c,d,e,f){1d h=e*e;if(1k.abs(B.10k-1k.abs(b))>B.1PW){1d l=(MO(e,d,a.4k)+c*1k.3i(b))/d;if(0!==e){c=l*l;d=c*l;h=d*l;1d p=e*e,n=p*p,z=n*p,k=z*p,x=k*p,D=x*p;l=l+l*p/4+7*l*n/64+15*l*z/256+579*l*k/1xn+avC*l*x/12v+avB*l*D/1yL+(3*l*n/16+45*l*z/256-l*(32*c-561)*k/18C-l*(232*c-avA)*x/1xn+l*(avz-avy*c+512*h)*D/2wO)*1k.3i(2*l)+(21*l*z/256+483*l*k/18C-l*(224*c-4Xh)*x/1xn-l*(avx*c-avw)*D/1yL)*1k.3i(4*l)+(151*l*k/18C+avv*l*x/12v+6Fq*l*D/1xn-453*d*D/1Aw)*1k.3i(6*l)+(4eU*l*x/12v+avu*l*D/1yL)*1k.3i(8*l)+57H*l*D/1yL*1k.3i(10*l)+(3*p/8+3*n/16+213*z/1tA-3*c*z/64+255*k/18C-33*c*k/512+avt*x/2qb-33*c*x/512+h*x/13j+avs*D/1yL-471*c*D/1c8+9*h*D/18C)*1k.2T(2*l)+(21*n/256+21*z/256+533*k/1c8-21*c*k/512+197*x/18C-315*c*x/18C+avr*D/1C6-avq*c*D/2Ka+7*h*D/1tA)*1k.2T(4*l)+(151*z/6sm+151*k/18C+avp*x/2Ka-453*c*x/1xn+avo*D/avn-avm*c*D/2Ka)*1k.2T(6*l)+(4eU*k/2Ka+4eU*x/12v+avl*D/avk-4eU*c*D/12v)*1k.2T(8*l)+(57H*x/avj+57H*D/1yL)*1k.2T(10*l)+avh*D/avf*1k.2T(12*l)}c=yx(e,a.4k);e=yx(e,l);e=1k.10n(b)*(e-c);a=B.1vw(a.3N+e)}1s l=a.4k,0===e?e=d*1k.3i(a.4k):(e=1k.2T(a.4k),e=d*1k.3i(a.4k)/1k.3Y(1-h*e*e)),e=c/e,a=0<b?B.1vw(a.3N+e):B.1vw(a.3N-e);1f g(f)?(f.3N=a,f.4k=l,f.1D=0,f):1g T(a,l,0)}1b ch(a,b,c){1a.5W=c=m(c,ba.9y);1a.1yx=1g T;1a.2iG=1g T;1a.4eT=1a.2rB=1a.172=1a.1Ef=1p 0;g(a)&&g(b)&&g0(1a,a,b,c)}1b tB(a,b,c){c=c||2;1d d=b&&b.1h,e=d?b[0]*c:a.1h,f=i0(a,0,e,c,!0),h=[];if(!f||f.6k===f.15E)1f h;1d l;if(d){1d g=c;d=[];1d n;1d z=0;1j(n=b.1h;z<n;z++){1d k=b[z]*g;1d x=z<n-1?b[z+1]*g:a.1h;k=i0(a,k,x,g,!1);k===k.6k&&(k.57G=!0);d.1q(6Jv(k))}d.15F(6JB);1j(z=0;z<d.1h;z++){b=d[z];g=f;if(g=6JA(b,g))b=j0(g,b),Du(b,b.6k);f=Du(f,f.6k)}}if(a.1h>80*c){1d D=l=a[0];1d t=d=a[1];1j(g=c;g<e;g+=c)z=a[g],b=a[g+1],z<D&&(D=z),b<t&&(t=b),z>l&&(l=z),b>d&&(d=b);l=1k.1V(l-D,d-t);l=0!==l?1/l:0}uB(f,h,c,D,t,l);1f h}1b i0(a,b,c,d,e){if(e===0<OO(a,b,c,d))1j(e=b;e<c;e+=d)1d f=k0(e,a[e],a[e+1],f);1s 1j(e=c-d;e>=b;e-=d)f=k0(e,a[e],a[e+1],f);f&&IG(f,f.6k)&&(vB(f),f=f.6k);1f f}1b Du(a,b){if(!a)1f a;b||(b=a);do{1d c=!1;if(a.57G||!IG(a,a.6k)&&0!==Af(a.15E,a,a.6k))a=a.6k;1s{vB(a);a=b=a.15E;if(a===a.6k)1W;c=!0}}14p(c||a!==b);1f b}1b uB(a,b,c,d,e,f,h){if(a){if(!h&&f){1d l=a,g=l;do 1F===g.z&&(g.z=PO(g.x,g.y,d,e,f)),g.24r=g.15E,g=g.1NQ=g.6k;14p(g!==l);g.24r.1NQ=1F;g.24r=1F;l=g;1d n,z,k,x,D=1;do{g=l;1d t=l=1F;1j(z=0;g;){z++;1d m=g;1j(n=k=0;n<D&&(k++,m=m.1NQ,m);n++);1j(x=D;0<k||0<x&&m;)0!==k&&(0===x||!m||g.z<=m.z)?(n=g,g=g.1NQ,k--):(n=m,m=m.1NQ,x--),t?t.1NQ=n:l=n,n.24r=t,t=n;g=m}t.1NQ=1F;D*=2}14p(1<z)}1j(l=a;a.15E!==a.6k;){g=a.15E;m=a.6k;if(f)t=6JC(a,d,e,f);1s a:if(t=a,z=t.15E,k=t,D=t.6k,0<=Af(z,k,D))t=!1;1s{1j(n=t.6k.6k;n!==t.15E;){if(zx(z.x,z.y,k.x,k.y,D.x,D.y,n.x,n.y)&&0<=Af(n.15E,n,n.6k)){t=!1;1W a}n=n.6k}t=!0}if(t)b.1q(g.i/c),b.1q(a.i/c),b.1q(m.i/c),vB(a),l=a=m.6k;1s if(a=m,a===l){if(!h)uB(Du(a),b,c,d,e,f,1);1s if(1===h){a=Du(a);h=b;l=c;g=a;do m=g.15E,t=g.6k.6k,!IG(m,t)&&l0(m,g,g.6k,t)&&wB(m,t)&&wB(t,m)&&(h.1q(m.i/l),h.1q(g.i/l),h.1q(t.i/l),vB(g),vB(g.6k),g=a=t),g=g.6k;14p(g!==a);a=Du(g);uB(a,b,c,d,e,f,2)}1s if(2===h)a:{h=a;do{1j(l=h.6k.6k;l!==h.15E;){if(g=h.i!==l.i){g=h;m=l;if(t=g.6k.i!==m.i&&g.15E.i!==m.i){b:{t=g;do{if(t.i!==g.i&&t.6k.i!==g.i&&t.i!==m.i&&t.6k.i!==m.i&&l0(t,t.6k,g,m)){t=!0;1W b}t=t.6k}14p(t!==g);t=!1}t=!t}if(t){if(t=wB(g,m)&&wB(m,g)){t=g;z=!1;k=(g.x+m.x)/2;D=(g.y+m.y)/2;do t.y>D!==t.6k.y>D&&t.6k.y!==t.y&&k<(t.6k.x-t.x)*(D-t.y)/(t.6k.y-t.y)+t.x&&(z=!z),t=t.6k;14p(t!==g);t=z}t=t&&(Af(g.15E,g,m.15E)||Af(g,m.15E,m))||IG(g,m)&&0<Af(g.15E,g,g.6k)&&0<Af(m.15E,m,m.6k)}g=t}if(g){a=j0(h,l);h=Du(h,h.6k);a=Du(a,a.6k);uB(h,b,c,d,e,f);uB(a,b,c,d,e,f);1W a}l=l.6k}h=h.6k}14p(h!==a)}1W}}}}1b 6JC(a,b,c,d){1d e=a.15E,f=a.6k;if(0<=Af(e,a,f))1f!1;1d h=e.x>a.x?e.x>f.x?e.x:f.x:a.x>f.x?a.x:f.x,l=e.y>a.y?e.y>f.y?e.y:f.y:a.y>f.y?a.y:f.y,g=PO(e.x<a.x?e.x<f.x?e.x:f.x:a.x<f.x?a.x:f.x,e.y<a.y?e.y<f.y?e.y:f.y:a.y<f.y?a.y:f.y,b,c,d);b=PO(h,l,b,c,d);c=a.24r;1j(d=a.1NQ;c&&c.z>=g&&d&&d.z<=b;){if(c!==a.15E&&c!==a.6k&&zx(e.x,e.y,a.x,a.y,f.x,f.y,c.x,c.y)&&0<=Af(c.15E,c,c.6k))1f!1;c=c.24r;if(d!==a.15E&&d!==a.6k&&zx(e.x,e.y,a.x,a.y,f.x,f.y,d.x,d.y)&&0<=Af(d.15E,d,d.6k))1f!1;d=d.1NQ}1j(;c&&c.z>=g;){if(c!==a.15E&&c!==a.6k&&zx(e.x,e.y,a.x,a.y,f.x,f.y,c.x,c.y)&&0<=Af(c.15E,c,c.6k))1f!1;c=c.24r}1j(;d&&d.z<=b;){if(d!==a.15E&&d!==a.6k&&zx(e.x,e.y,a.x,a.y,f.x,f.y,d.x,d.y)&&0<=Af(d.15E,d,d.6k))1f!1;d=d.1NQ}1f!0}1b 6JB(a,b){1f a.x-b.x}1b 6JA(a,b){1d c=b,d=a.x,e=a.y,f=-12g;do{if(e<=c.y&&e>=c.6k.y&&c.6k.y!==c.y){1d h=c.x+(e-c.y)*(c.6k.x-c.x)/(c.6k.y-c.y);if(h<=d&&h>f){f=h;if(h===d){if(e===c.y)1f c;if(e===c.6k.y)1f c.6k}1d l=c.x<c.6k.x?c:c.6k}}c=c.6k}14p(c!==b);if(!l)1f 1F;if(d===f)1f l;b=l;h=l.x;1d g=l.y,n=12g;c=l;do{if(d>=c.x&&c.x>=h&&d!==c.x&&zx(e<g?d:f,e,h,g,e<g?f:d,e,c.x,c.y)){1d z=1k.abs(e-c.y)/(d-c.x);1d k;if((k=wB(c,a))&&!(k=z<n)&&(k=z===n)&&!(k=c.x>l.x)&&(k=c.x===l.x)){k=l;1d x=c;k=0>Af(k.15E,k,x.15E)&&0>Af(x.6k,k,k.6k)}k&&(l=c,n=z)}c=c.6k}14p(c!==b);1f l}1b PO(a,b,c,d,e){a=2Je*(a-c)*e;b=2Je*(b-d)*e;a=(a|a<<8)&6Jz;a=(a|a<<4)&6Jy;a=(a|a<<2)&6Jx;b=(b|b<<8)&6Jz;b=(b|b<<4)&6Jy;b=(b|b<<2)&6Jx;1f(a|a<<1)&6Jw|((b|b<<1)&6Jw)<<1}1b 6Jv(a){1d b=a,c=a;do{if(b.x<c.x||b.x===c.x&&b.y<c.y)c=b;b=b.6k}14p(b!==a);1f c}1b zx(a,b,c,d,e,f,h,l){1f 0<=(e-h)*(b-l)-(a-h)*(f-l)&&0<=(a-h)*(d-l)-(c-h)*(b-l)&&0<=(c-h)*(f-l)-(e-h)*(d-l)}1b Af(a,b,c){1f(b.y-a.y)*(c.x-b.x)-(b.x-a.x)*(c.y-b.y)}1b IG(a,b){1f a.x===b.x&&a.y===b.y}1b l0(a,b,c,d){1d e=JG(Af(a,b,c)),f=JG(Af(a,b,d)),h=JG(Af(c,d,a)),l=JG(Af(c,d,b));1f e!==f&&h!==l||0===e&&KG(a,c,b)||0===f&&KG(a,d,b)||0===h&&KG(c,a,d)||0===l&&KG(c,b,d)?!0:!1}1b KG(a,b,c){1f b.x<=1k.1V(a.x,c.x)&&b.x>=1k.2o(a.x,c.x)&&b.y<=1k.1V(a.y,c.y)&&b.y>=1k.2o(a.y,c.y)}1b JG(a){1f 0<a?1:0>a?-1:0}1b wB(a,b){1f 0>Af(a.15E,a,a.6k)?0<=Af(a,b,a.6k)&&0<=Af(a,a.15E,b):0>Af(a,b,a.15E)||0>Af(a,a.6k,b)}1b j0(a,b){1d c=1g QO(a.i,a.x,a.y),d=1g QO(b.i,b.x,b.y),e=a.6k,f=b.15E;a.6k=b;b.15E=a;c.6k=e;e.15E=c;d.6k=c;c.15E=d;f.6k=d;d.15E=f;1f d}1b k0(a,b,c,d){a=1g QO(a,b,c);d?(a.6k=d.6k,a.15E=d,d.6k.15E=a,d.6k=a):(a.15E=a,a.6k=a);1f a}1b vB(a){a.6k.15E=a.15E;a.15E.6k=a.6k;a.24r&&(a.24r.1NQ=a.1NQ);a.1NQ&&(a.1NQ.24r=a.24r)}1b QO(a,b,c){1a.i=a;1a.x=b;1a.y=c;1a.1NQ=1a.24r=1a.z=1a.6k=1a.15E=1F;1a.57G=!1}1b OO(a,b,c,d){1j(1d e=0,f=c-d;b<c;b+=d)e+=(a[f]-a[b])*(a[b+1]+a[f+1]),f=b;1f e}1b $f(){1a.1gN=[];1a.1bC=1a.1hs=0}1b Dr(a){a=m(a,m.4Z);1d b=a.1ga;v.2l("3v.1ga",b);1d c=m(a.9S,za.1yD);1a.14s=za.1y(c);1a.1z4=b;1a.1mB=m(a.15K,0);1a.5W=ba.1y(m(a.3c,ba.9y));1a.1hz="ave";1a.4q=xc.3zY(b)+za.4q+ba.4q+2}1b Er(a){a=m(a,m.4Z);a=a.1ga;v.2l("3v.1ga",a);1a.1z4=a;1a.1hz="avd";1a.4q=xc.3zY(a)+1}1b m0(a,b,c,d){1d e=k.1T(d.13B(b,RO),6pW),f=k.1T(d.13B(c,RO),RO);v.1N.2b.9Y("1Q",1k.abs(1k.abs(k.1B3(e,f))-1k.PI),.6Ju);1d h=d.17i;d=d.1W5;1d l=(h-d)/h,g=c.3N-b.3N;f=1k.16D((1-l)*1k.10n(b.4k));1d n=1k.16D((1-l)*1k.10n(c.4k));e=1k.3i(f);1d z=1k.2T(f);f=1k.3i(n);1d w=1k.2T(n),x=e*f;n=e*w;1d D=z*w;z*=f;1d t=g;do{w=1k.3i(t);1d m=1k.2T(t);1d G=n-z*w;1d aa=1k.3Y(f*f*m*m+G*G);1d ka=D+x*w;G=1k.12B(aa,ka);if(0===aa){1d r=0;1d q=1}1s r=x*m/aa,q=1-r*r;1d u=t;1d y=ka-2*D/q;11I(y)&&(y=0);t=l;1d A=y,L=t*q*(4+t*(4-3*q))/16;t=g+(1-L)*t*r*(G+L*aa*(A+L*ka*(2*A*A-1)))}14p(1k.abs(t-u)>B.2iH);h=q*(h*h-d*d)/(d*d);l=h*(256+h*(h*(74-47*h)-128))/13j;g=y*y;f=1k.12B(f*m,n-z*w);e=1k.12B(e*m,n*w-z);a.172=d*(1+h*(18C+h*(h*(320-175*h)-768))/1xn)*(G-l*aa*(y+l*(ka*(2*g-1)-l*y*(4*aa*aa-3)*(4*g-3)/6)/4));a.3zX=f;a.4XV=e;a.57F=h;a.1yx=T.1y(b,a.1yx);a.2iG=T.1y(c,a.2iG);a.1yx.1D=0;a.2iG.1D=0;b=a.5W.17i;c=a.5W.1W5;d=(b-c)/b;e=1k.3i(a.3zX);f=1k.2T(a.3zX);n=(1-d)*1k.10n(a.1yx.4k);h=1/1k.3Y(1+n*n);l=1k.12B(n,e);g=h*f;z=g*g;w=1-z;m=1k.3Y(w);G=a.57F/4;ka=G*G;aa=ka*G;y=ka*ka;x=1+G-3*ka/4+5*aa/4-175*y/64;D=1-G+15*ka/8-35*aa/8;u=1-3*G+35*ka/4;q=1-5*G;r=x*l-D*1k.2T(2*l)*G/2-u*1k.2T(4*l)*ka/16-q*1k.2T(6*l)*aa/48-5*1k.2T(8*l)*y/512;a=a.4XU;a.a=b;a.b=c;a.f=d;a.6pM=e;a.6pP=f;a.avc=n;a.6pO=h;a.6pN=h*n;a.15N=l;a.6pL=g;a.avb=z;a.6pK=w;a.6pQ=m;a.6pT=G;a.6pR=ka;a.6pS=aa;a.6pU=y;a.a0=x;a.a1=D;a.a2=u;a.a3=q;a.6pV=r}1b ml(a,b,c){1a.5W=c=m(c,ba.9y);1a.1yx=1g T;1a.2iG=1g T;1a.4XU={};1a.57F=1a.172=1a.4XV=1a.3zX=1p 0;g(a)&&g(b)&&m0(1a,a,b,c)}1b n0(a,b,c){1d d=LG;d.1h=a;if(b===c){1j(c=0;c<a;c++)d[c]=b;1f d}1d e=(c-b)/a;1j(c=0;c<a;c++)d[c]=b+c*e;1f d}1b o0(a,b){1j(1d c=2K(a.1h),d=0;d<a.1h;d++){1d e=a[d];SO=b.10Z(e,SO);c[d]=SO.1D;a[d]=b.1fI(e,e)}1f c}1b Ax(a,b,c,d){a=k.1B3(a[0],a[1]);d=1k.8a(a/d);a=2K(d);1d e;if(b===c){1j(e=0;e<d;e++)a[e]=b;a.1q(c);1f a}1d f=(c-b)/d;1j(e=1;e<d;e++)a[e]=b+e*f;a[0]=b;a.1q(c);1f a}1b p0(a,b,c,d){d=1g Zf(c,d);a=d.1RH(k.add(c,a,MG),MG);b=d.1RH(k.add(c,b,NG),NG);c=C.1B3(a,b);1f 0<=b.x*a.y-b.y*a.x?-c:c}1b wp(a,b,c,d,e,f,h,l){1d g=q0,n=r0;rj=Da.18N(a,e,rj);g=A.1gE(rj,s0,g);g=k.1T(g,g);a=p0(g,b,a,e);Bx=J.2Qf(a,Bx);OG.z=f;rj=A.1oJ(rj,A.1yU(Bx,OG,t0),rj);f=u0;f[0]=h;1j(h=0;h<l;h++)1j(a=0;a<c.1h;a+=3)n=k.7j(c,a,n),n=J.10r(f,n,n),n=A.8P(rj,n,n),d.1q(n.x,n.y,n.z);1f d}1b Cx(a,b,c,d,e,f,h,l,g){1d p=q0,z=r0;rj=Da.18N(a,e,rj);p=A.1gE(rj,s0,p);p=k.1T(p,p);a=p0(p,b,a,e);Bx=J.2Qf(a,Bx);OG.z=f;rj=A.1oJ(rj,A.1yU(Bx,OG,t0),rj);f=u0;f[0]=h;1j(h=0;h<l;h++)1j(a=0;a<c.1h;a+=3)z=k.7j(c,a,z),z=J.10r(f,z,z),z=A.8P(rj,z,z),z=A.8P(g,z,z),d.1q(z.x,z.y,z.z);1f d}1b xB(a,b,c,d,e,f,h){1j(1d l=0;l<a.1h;l+=3){1d g=k.7j(a,l,v0);d=wp(g,b,c,d,e,f[l/3],h,1)}1f d}1b w0(a,b){1d c=a.1h,d=2K(6*c),e=0,f=b.x+b.1G/2;b=b.y+b.1D/2;1d h=a[0];d[e++]=h.x-f;d[e++]=0;d[e++]=h.y-b;1j(1d l=1;l<c;l++){h=a[l];1d g=h.x-f;h=h.y-b;d[e++]=g;d[e++]=0;d[e++]=h;d[e++]=g;d[e++]=0;d[e++]=h}h=a[0];d[e++]=h.x-f;d[e++]=0;d[e++]=h.y-b;1f d}1b PG(a,b){1d c=a.1h,d=2K(3*c),e=0,f=b.x+b.1G/2;b=b.y+b.1D/2;1j(1d h=0;h<c;h++)d[e++]=a[h].x-f,d[e++]=0,d[e++]=a[h].y-b;1f d}1b QG(a,b,c,d,e,f,h,l,g,n){1d p=k.1B3(k.3V(b,a,Eu),k.3V(c,a,RG));d=d===ie.2an?0:1k.8a(p/B.8I(5));p=e?J.1fE(ca.1gG(k.11k(a,Eu),p/(d+1),x0),y0):J.1fE(ca.1gG(a,p/(d+1),x0),y0);b=k.1y(b,z0);if(0<d){c=n?2:1;1j(1d w=0;w<d;w++){b=J.10r(p,b,b);n=k.3V(b,a,Eu);n=k.1T(n,n);e||(n=k.11k(n,n));1d x=f.1fI(b,RG);h=wp(x,n,l,h,f,g,1,c)}}1s n=k.3V(b,a,Eu),n=k.1T(n,n),e||(n=k.11k(n,n)),x=f.1fI(b,RG),h=wp(x,n,l,h,f,g,1,1),c=k.1y(c,z0),n=k.3V(c,a,Eu),n=k.1T(n,n),e||(n=k.11k(n,n)),x=f.1fI(c,RG),h=wp(x,n,l,h,f,g,1,1);1f h}1b SG(a,b,c,d,e){1d f=k.1B3(k.3V(b,a,Dx),k.3V(c,a,A0));d=d===ie.2an?1:1k.8a(f/B.8I(5))+1;1d h=3*d,l=2K(h);l[h-3]=c.x;l[h-2]=c.y;l[h-1]=c.z;a=e?J.1fE(ca.1gG(k.11k(a,Dx),f/d,B0),C0):J.1fE(ca.1gG(a,f/d,B0),C0);c=0;b=k.1y(b,Dx);1j(e=0;e<d;e++)b=J.10r(a,b,b),l[c++]=b.x,l[c++]=b.y,l[c++]=b.z;1f l}1b D0(a,b,c,d){1d e=Dx;d||(b=k.11k(b,b));e=k.add(a,b,e);1f[e.x,e.y,e.z,c.x,c.y,c.z]}1b TO(a,b,c,d){1d e=2K(a.1h),f=2K(a.1h);b=k.4g(b,c,Dx);c=k.11k(b,A0);1j(1d h=0,l=a.1h-1,g=0;g<a.1h;g+=3){1d n=k.7j(a,g,6pB),z=k.add(n,c,E0);e[h++]=z.x;e[h++]=z.y;e[h++]=z.z;n=k.add(n,b,E0);f[l--]=n.z;f[l--]=n.y;f[l--]=n.x}d.1q(e,f);1f d}1b F0(a,b){1j(1d c=0;c<a.1h;c++)a[c]=b.1fI(a[c],a[c]);1f a}1b Im(a,b,c,d,e,f){1d h=a.1q6,l=a.2iw;a=a.2QP;1d g=k.1T(k.4B(c,b,Fr),Fr);f.2U&&Pd.1nL(h,b,d,e);f.8Q&&Pd.1nL(l,g,d,e);f.8T&&Pd.1nL(a,c,d,e)}1b G0(a,b,c){1d d=a.3q,e=a.4XB,f=a.4XA,h=a.6pr,l=a.1q6;a=1g ce;1d p=0,n=0,z,w=0;1j(z=0;z<d.1h;z+=2){1d x=d[z].1h-3;p+=x;w+=2*x;n+=d[z+1].1h-3}p+=3;n+=3;1j(z=0;z<e.1h;z++){1d D=e[z].3cE;g(D)?(x=D.1h,p+=x):(x=e[z].3cD.1h,n+=x);w+=x}1d t=g(f);if(t){1d m=f[0].1h-3;p+=m;n+=m;m/=3;w+=6*m}1d G=p+n,aa=1g 13X(G);z=b.2U?1g 4A(G):1p 0;D=b.8Q?1g 4A(G):1p 0;1d ka=b.8T?1g 4A(G):1p 0;D={1q6:z,2iw:D,2QP:ka};ka=0;1d r=G-1,q=H0,u=I0,v=m/2;w=Ta.9g(G/3,w);1d y=0;if(t){1d A=TG;1d S=UG;1d U=f[0];q=k.7j(l,0,q);u=k.7j(h,0,u);1j(z=0;z<v;z++){A=k.7j(U,3*(v-1-z),A);S=k.7j(U,3*(v+z),S);Pd.1nL(aa,S,ka);Pd.1nL(aa,A,1p 0,r);Im(D,q,u,ka,r,b);1d R=ka/3;1d V=R+1;1d W=(r-2)/3;1d da=W-1;w[y++]=W;w[y++]=R;w[y++]=da;w[y++]=da;w[y++]=R;w[y++]=V;ka+=3;r-=3}}A=S=0;1d ea=d[S++],C=d[S++];aa.1C(ea,ka);aa.1C(C,r-C.1h+1);u=k.7j(h,A,u);x=C.1h-3;1j(z=0;z<x;z+=3)W=c.17N(k.7j(ea,z,Fr),Fr),R=c.17N(k.7j(C,x-z,Ex),Ex),q=k.1T(k.add(W,R,q),q),Im(D,q,u,ka,r,b),R=ka/3,V=R+1,W=(r-2)/3,da=W-1,w[y++]=W,w[y++]=R,w[y++]=da,w[y++]=da,w[y++]=R,w[y++]=V,ka+=3,r-=3;W=c.17N(k.7j(ea,x,Fr),Fr);R=c.17N(k.7j(C,x,Ex),Ex);q=k.1T(k.add(W,R,q),q);A+=3;1j(z=0;z<e.1h;z++){U=e[z];W=U.3cE;R=U.3cD;C=J0;1d E=TG,dc=UG;q=k.7j(l,A,q);if(g(W)){Im(D,q,u,1p 0,r,b);r-=3;x=V;ea=da;1j(U=0;U<W.1h/3;U++)C=k.7j(W,3*U,C),w[y++]=x,w[y++]=ea-U-1,w[y++]=ea-U,Pd.1nL(aa,C,1p 0,r),E=k.7j(aa,3*(ea-U-1),E),dc=k.7j(aa,3*x,dc),u=k.1T(k.3V(E,dc,u),u),Im(D,q,u,1p 0,r,b),r-=3;C=k.7j(aa,3*x,C);E=k.3V(k.7j(aa,3*ea,E),C,E);dc=k.3V(k.7j(aa,3*(ea-U),dc),C,dc);u=k.1T(k.add(E,dc,u),u);Im(D,q,u,ka,1p 0,b);ka+=3}1s{Im(D,q,u,ka,1p 0,b);ka+=3;x=da;ea=V;1j(U=0;U<R.1h/3;U++)C=k.7j(R,3*U,C),w[y++]=x,w[y++]=ea+U,w[y++]=ea+U+1,Pd.1nL(aa,C,ka),E=k.7j(aa,3*x,E),dc=k.7j(aa,3*(ea+U),dc),u=k.1T(k.3V(E,dc,u),u),Im(D,q,u,ka,1p 0,b),ka+=3;C=k.7j(aa,3*x,C);E=k.3V(k.7j(aa,3*(ea+U),E),C,E);dc=k.3V(k.7j(aa,3*ea,dc),C,dc);u=k.1T(k.11k(k.add(dc,E,u),u),u);Im(D,q,u,1p 0,r,b);r-=3}ea=d[S++];C=d[S++];ea.6z(0,3);C.6z(C.1h-3,3);aa.1C(ea,ka);aa.1C(C,r-C.1h+1);x=C.1h-3;A+=3;u=k.7j(h,A,u);1j(U=0;U<C.1h;U+=3)W=c.17N(k.7j(ea,U,Fr),Fr),R=c.17N(k.7j(C,x-U,Ex),Ex),q=k.1T(k.add(W,R,q),q),Im(D,q,u,ka,r,b),V=ka/3,R=V-1,da=(r-2)/3,W=da+1,w[y++]=W,w[y++]=R,w[y++]=da,w[y++]=da,w[y++]=R,w[y++]=V,ka+=3,r-=3;ka-=3;r+=3}q=k.7j(l,l.1h-3,q);Im(D,q,u,ka,r,b);if(t)1j(ka+=3,r-=3,A=TG,S=UG,c=f[1],z=0;z<v;z++)A=k.7j(c,3*(m-z-1),A),S=k.7j(c,3*z,S),Pd.1nL(aa,A,1p 0,r),Pd.1nL(aa,S,ka),Im(D,q,u,ka,r,b),V=ka/3,R=V-1,da=(r-2)/3,W=da+1,w[y++]=W,w[y++]=R,w[y++]=da,w[y++]=da,w[y++]=R,w[y++]=V,ka+=3,r-=3;a.1K=1g Pa({3k:I.18l,2Z:3,2a:aa});if(b.st){da=1g 4A(G/3*2);V=0;if(t){p/=3;n/=3;d=1k.PI/(m+1);c=1/(p-m+1);t=1/(n-m+1);f=m/2;1j(z=f+1;z<m+1;z++)e=B.10k+d*z,da[V++]=t*(1+1k.3i(e)),da[V++]=.5*(1+1k.2T(e));1j(z=1;z<n-m+1;z++)da[V++]=z*t,da[V++]=0;1j(z=m;z>f;z--)e=B.10k-z*d,da[V++]=1-t*(1+1k.3i(e)),da[V++]=.5*(1+1k.2T(e));1j(z=f;0<z;z--)e=B.10k-d*z,da[V++]=1-c*(1+1k.3i(e)),da[V++]=.5*(1+1k.2T(e));1j(z=p-m;0<z;z--)da[V++]=z*c,da[V++]=1;1j(z=1;z<f+1;z++)e=B.10k+d*z,da[V++]=c*(1+1k.3i(e)),da[V++]=.5*(1+1k.2T(e))}1s{p/=3;n/=3;c=1/(p-1);t=1/(n-1);1j(z=0;z<n;z++)da[V++]=z*t,da[V++]=0;1j(z=p;0<z;z--)da[V++]=(z-1)*c,da[V++]=1}a.st=1g Pa({3k:I.3O,2Z:2,2a:da})}b.2U&&(a.2U=1g Pa({3k:I.3O,2Z:3,2a:D.1q6}));b.8Q&&(a.8Q=1g Pa({3k:I.3O,2Z:3,2a:D.2iw}));b.8T&&(a.8T=1g Pa({3k:I.3O,2Z:3,2a:D.2QP}));1f{2w:a,4N:w}}1b UO(a,b,c){c[b++]=a[0];c[b++]=a[1];c[b++]=a[2];1j(1d d=3;d<a.1h;d+=3){1d e=a[d],f=a[d+1],h=a[d+2];c[b++]=e;c[b++]=f;c[b++]=h;c[b++]=e;c[b++]=f;c[b++]=h}c[b++]=a[0];c[b++]=a[1];c[b++]=a[2];1f c}1b K0(a,b,c,d,e,f){b=k.3V(b,a,L0);k.1T(b,b);1d h=c.17N(a,yB);b=k.4B(b,h,L0);k.4g(b,d,b);d=e.4k;h=e.3N;1d l=f.4k,g=f.3N;k.add(a,b,yB);c.10Z(yB,nl);1d n=nl.4k,z=nl.3N;d=1k.2o(d,n);h=1k.2o(h,z);l=1k.1V(l,n);g=1k.1V(g,z);k.3V(a,b,yB);c.10Z(yB,nl);n=nl.4k;z=nl.3N;d=1k.2o(d,n);h=1k.2o(h,z);l=1k.1V(l,n);g=1k.1V(g,z);e.4k=d;e.3N=h;f.4k=l;f.3N=g}1b M0(a,b,c,d,e){a=F0(a,b);a=$h(a,k.5T);1d f=a.1h;if(2>f||0>=c)1f 1g Q;c*=.5;sj.4k=3a.19B;sj.3N=3a.19B;tj.4k=3a.1r7;tj.3N=3a.1r7;if(d===ie.1Hs){1d h=a[0];k.3V(h,a[1],pl);k.1T(pl,pl);k.4g(pl,c,pl);k.add(h,pl,zB);b.10Z(zB,nl);h=nl.4k;1d l=nl.3N;sj.4k=1k.2o(sj.4k,h);sj.3N=1k.2o(sj.3N,l);tj.4k=1k.1V(tj.4k,h);tj.3N=1k.1V(tj.3N,l)}1j(h=0;h<f-1;++h)K0(a[h],a[h+1],b,c,sj,tj);h=a[f-1];k.3V(h,a[f-2],pl);k.1T(pl,pl);k.4g(pl,c,pl);k.add(h,pl,zB);K0(h,zB,b,c,sj,tj);d===ie.1Hs&&(b.10Z(zB,nl),h=nl.4k,l=nl.3N,sj.4k=1k.2o(sj.4k,h),sj.3N=1k.2o(sj.3N,l),tj.4k=1k.1V(tj.4k,h),tj.3N=1k.1V(tj.3N,l));b=g(e)?e:1g Q;b.4P=tj.4k;b.4C=sj.4k;b.5a=tj.3N;b.4o=sj.3N;1f b}1b jk(a){a=m(a,m.4Z);1d b=a.3q,c=a.1G;v.2l("3v.3q",b);v.2l("3v.1G",c);1d d=m(a.1D,0),e=m(a.9i,d);1a.9h=b;1a.5W=ba.1y(m(a.3c,ba.9y));1a.14s=za.1y(m(a.9S,za.1yD));1a.10V=c;1a.10o=1k.1V(d,e);1a.1d5=1k.2o(d,e);1a.1zZ=m(a.1b8,ie.1Hs);1a.14J=m(a.6f,B.15y);1a.1Hp=m(a.1oT,!1);1a.1hz="av9";1a.12j=a.8J;1a.7T=1p 0;1a.4q=1+b.1h*k.4q+ba.4q+za.4q+7}1b N0(a,b){1d c=[],d=a.3q,e=a.4XB,f=a.4XA;a=1g ce;1d h=0,l=0,p,n=0;1j(p=0;p<d.1h;p+=2){1d z=d[p].1h-3;h+=z;n+=z/3*4;l+=d[p+1].1h-3}h+=3;l+=3;1j(p=0;p<e.1h;p++){1d w=e[p].3cE;g(w)?(z=w.1h,h+=z):(z=e[p].3cD.1h,l+=z);n+=z/3*2}w=g(f);if(w){1d x=f[0].1h-3;h+=x;l+=x;x/=3;n+=4*x}p=h+l;h=1g 13X(p);l=0;1d D=p-1,t=x/2;n=Ta.9g(p/3,n+4);1d m=0;n[m++]=l/3;n[m++]=(D-2)/3;if(w){c.1q(l/3);z=O0;1d G=P0;1d aa=f[0];1j(p=0;p<t;p++){z=k.7j(aa,3*(t-1-p),z);G=k.7j(aa,3*(t+p),G);Pd.1nL(h,G,l);Pd.1nL(h,z,1p 0,D);1d ka=l/3;1d r=ka+1;1d q=(D-2)/3;1d u=q-1;n[m++]=q;n[m++]=u;n[m++]=ka;n[m++]=r;l+=3;D-=3}}G=0;q=d[G++];aa=d[G++];h.1C(q,l);h.1C(aa,D-aa.1h+1);z=aa.1h-3;c.1q(l/3,(D-2)/3);1j(p=0;p<z;p+=3)ka=l/3,r=ka+1,q=(D-2)/3,u=q-1,n[m++]=q,n[m++]=u,n[m++]=ka,n[m++]=r,l+=3,D-=3;1j(p=0;p<e.1h;p++){ka=e[p];q=ka.3cE;ka=ka.3cD;1d v=6pp;if(g(q)){D-=3;aa=u;c.1q(r);1j(z=0;z<q.1h/3;z++)v=k.7j(q,3*z,v),n[m++]=aa-z-1,n[m++]=aa-z,Pd.1nL(h,v,1p 0,D),D-=3;c.1q(aa-1k.2t(q.1h/6));b===ie.2an&&c.1q((D-2)/3+1);l+=3}1s{l+=3;aa=r;c.1q(u);1j(z=0;z<ka.1h/3;z++)v=k.7j(ka,3*z,v),n[m++]=aa+z,n[m++]=aa+z+1,Pd.1nL(h,v,l),l+=3;c.1q(aa+1k.2t(ka.1h/6));b===ie.2an&&c.1q(l/3-1);D-=3}q=d[G++];aa=d[G++];q.6z(0,3);aa.6z(aa.1h-3,3);h.1C(q,l);h.1C(aa,D-aa.1h+1);1j(z=0;z<aa.1h;z+=3)r=l/3,ka=r-1,u=(D-2)/3,q=u+1,n[m++]=q,n[m++]=u,n[m++]=ka,n[m++]=r,l+=3,D-=3;l-=3;D+=3;c.1q(l/3,(D-2)/3)}if(w){l+=3;D-=3;z=O0;G=P0;b=f[1];1j(p=0;p<t;p++)z=k.7j(b,3*(x-p-1),z),G=k.7j(b,3*p,G),Pd.1nL(h,z,1p 0,D),Pd.1nL(h,G,l),r=l/3,ka=r-1,u=(D-2)/3,q=u+1,n[m++]=q,n[m++]=u,n[m++]=ka,n[m++]=r,l+=3,D-=3;c.1q(l/3)}1s c.1q(l/3,(D-2)/3);n[m++]=l/3;n[m++]=(D-2)/3;a.1K=1g Pa({3k:I.18l,2Z:3,2a:h});1f{2w:a,4N:n,6po:c}}1b Fx(a){a=m(a,m.4Z);1d b=a.3q,c=a.1G;v.1N.2c("3v.3q",b);v.1N.2b("3v.1G",c);1d d=m(a.1D,0),e=m(a.9i,d);1a.9h=b;1a.5W=ba.1y(m(a.3c,ba.9y));1a.10V=c;1a.10o=1k.1V(d,e);1a.1d5=1k.2o(d,e);1a.1zZ=m(a.1b8,ie.1Hs);1a.14J=m(a.6f,B.15y);1a.12j=a.8J;1a.1hz="av8";1a.4q=1+b.1h*k.4q+ba.4q+6}1b Ld(){1f"av7-av6-av5-av4-av3".3X(/[xy]/g,1b(a){1d b=16*1k.1ps()|0;1f("x"===a?b:b&3|8).5s(16)})}1b Lg(a,b){v.2l("6pg",a);v.2l("av2",b);1d c=a.54p;1d d=g(c);if(d)if("av1"===c||"av0"===c)c={2I:a.3v.2I};1s 1t 1g qa("4iG.auZ 18f 2S 19G auY 8v 4Xr; 14W 5gY 1gK.");1s c={2I:a.2I,2rO:1,2rP:6Jt};na.4G(1a,c);1a.2EP=a;1a.6ph=d?1p 0:(1g zb(a.2I)).1mD;1a.4aC=b;1a.1Ny=1a.3Ci=1a.3cC=1p 0;1a.3zW=d}1b 6Jt(a,b){1d c=m(a.3cC,a),d=c.4aC;if(!g(b)||401!==b.2rS&&!(b.15s 2m 1ar))1f Z.5h(!1);g(c.3Ci)||(c.3Ci=d.1vs().4b(1b(a){1f c.2EP=a}).2aR(1b(a){c.3Ci=1p 0;1f a}));1f c.3Ci.4b(1b(b){a.2EP=b;1f!0})}1b Q0(a){a=m(a,m.4Z);1f 1g Gm({2I:Lg.6pj(1),2Eo:m(a.2Eo,!1),3A4:m(a.3A4,!1)})}1b ag(a){1a.1Di=m(a,[])}1b Gr(a,b){if(a[b])1f a[b];1d c=1L.9K(a);b=b.18v().3X(R0,"");1j(1d d=-1,e,f;++d<c.1h;)if(e=c[d],f=e.18v().3X(R0,""),f===b)1f a[e]}1b xp(a){if("4n"!==2h a)1t 6u("2S a 4n");1a.3l=a.1b2();1a.2hJ=1a.6b=0;1a.1ro=1F;1a.1fi=[];1a.2EM=1F;1a.4F=1}1b S0(a,b,c){2K.8n(b)&&(c.1po(b),b=1F);c=c.2lY(1b(a,b){Gx(b,a);1f a},b?{}:a);b&&(a[b]=c)}1b Gx(a,b){if(2K.8n(a)){1d c=a.1hN();"auX"===c&&(c=a.1hN());if(1===a.1h)2K.8n(a[0])?(b[c]={},Gx(a[0],b[c])):b[c]=a[0];1s if(a.1h)if("57E"===c)b[c]=a;1s if("4eS"===c)c in b||(b[c]=[]),b[c].1q(a);1s{2K.8n(c)||(b[c]={});1d d;6U(c){1S"3eH":1S"auW":1S"auV":b[c]={2i:a[0].18v(),1hk:a[1]};3===a.1h&&Gx(a[2],b[c]);1W;1S"2SB":1S"auU":b[c]={2i:a[0],a:a[1],rf:a[2]};4===a.1h&&Gx(a[3],b[c]);1W;1S"6p2":1S"6p1":1S"3cB":1S"6p0":1S"6oZ":1S"4Xk":1S"6oY":1S"6oX":1S"6oW":1S"auT":1S"auS":1S"auR":1S"auQ":1S"auP":1S"auO":1S"auN":1S"6oU":1S"6oV":1S"auM":1S"auL":1S"1RY":a[0]=["2i",a[0]];S0(b,c,a);1W;4T:1j(d=-1;++d<a.1h;)if(!2K.8n(a[d]))1f Gx(a,b[c]);1f S0(b,c,a)}}1s b[c]=!0}1s b[a]=!0}1b Hr(a){1f.1qa*a}1b 6p6(a){1b b(b){1f b*(a.1NK||1)}"3cB"===a.1I?a.2al="3cz":"4Xk"===a.1I?(a.2al="3XK",a.6v8=!0):a.2al="2c"===2h a.23H?1L.9K(a.23H)[0]:a.23H;if(a.4eS){1j(1d c="",d=0,e=a.4eS.1h;d<e;++d){1d f=a.4eS[d][0].18v();-1!==f.3f("4P")?c+="n":-1!==f.3f("4C")?c+="s":-1!==f.3f("5a")?c+="e":-1!==f.3f("4o")&&(c+="w")}2===c.1h&&(c+="u");3===c.1h&&(a.1Dm=c)}a.3eH&&(a.13u=a.3eH.2i.18v(),"auK"===a.13u&&(a.13u="3Ay"),a.3eH.1hk&&("3cB"===a.1I?a.1RY&&a.1RY.2SB&&(a.1NK=a.3eH.1hk*a.1RY.2SB.a):a.1NK=a.3eH.1hk));c=a.3cB;"3cB"===a.1I&&(c=a);if(c){a.1el=c.1RY?c.1RY.2i.18v():c.2i.18v();"3r1"===a.1el.4h(0,2)&&(a.1el=a.1el.4h(2));if("auJ"===a.1el||"auI"===a.1el)a.1el="6oq";if("auH"===a.1el||"auG"===a.1el)"6oQ"===a.23H&&(a.1cq=!0),a.1el="4Xe";"auF"===a.1el.4h(-6)&&(a.1el=a.1el.4h(0,-6));"auE"===a.1el.4h(-8)&&(a.1el=a.1el.4h(0,-8));~a.1el.3f("auD")&&(a.1el="6oi");c.1RY&&c.1RY.2SB&&(a.1WA=c.1RY.2SB.2i.3X("auC","").3X(/[Cc]auB/,"auA"),"63R"===a.1WA.18v().4h(0,13)&&(a.1WA="3zP"),a.a=c.1RY.2SB.a,a.rf=7L(c.1RY.2SB.rf,10));c.1RY&&c.1RY.57E&&(a.1fg=c.1RY.57E);~a.1el.3f("auz")&&(a.1el="6ol");~a.1el.3f("auy")&&(a.1el="6ou");if(~a.1el.3f("aux")||~a.1el.3f("auw"))a.1el="6ot";"4Xd+"===a.1el&&(a.1el="4Xd");~a.1el.3f("auv")&&(a.1el="auu")}a.b&&!1AJ(a.b)&&(a.b=a.a);[["57A","aut"],["6Jo","aus"],["6Jr","aur"],["6Jq","auq"],["6Jp","aup"],["57B","auo"],["57B","aun"],["6Js","aum"],["k0","6Js"],["57D","aul"],["57D","auk"],["14i","57D",Hr],["57C","auj"],["57C","aui"],["3cw","57C",Hr],["x0","6Jr",b],["y0","6Jq",b],["10A","6Jp",Hr],["14i","57B",Hr],["14i","57A",Hr],["1ug","57A",Hr],["1vZ","6Jo",Hr],["3sk","auh"],["2O","3sk",Hr],["aug","2i"]].12I(1b(b){1d c=b[0],d=b[1];!(c in a)&&d in a&&(a[c]=a[d],3===b.1h&&(a[c]=b[2](a[c])))});a.10A||!a.3cw||"6nP"!==a.2al&&"6nU"!==a.2al||(a.10A=a.3cw);a.1oU||!a.1ug||"6o1"!==a.2al&&"6o0 4as (42Q B)"!==a.2al||(a.14i=.1qa*(0<a.1ug?90:-90),a.1oU=a.1ug)}1b Ei(a){1d b=1a;if(2===5m.1h){1d c=5m[1];"4n"===2h c?"+"===c.1as(0)?Ei[a]=VO(5m[1]):Ei[a]=T0(5m[1]):Ei[a]=c}1s if(1===5m.1h){if(2K.8n(a))1f a.5d(1b(a){2K.8n(a)?Ei.6c(b,a):Ei(a)});if("4n"===2h a){if(a in Ei)1f Ei[a]}1s"1pY"in a?Ei["1pY:"+a.1pY]=a:"3dA"in a?Ei["3dA:"+a.3dA]=a:"57z"in a?Ei["57z:"+a.57z]=a:11l.7k(a)}}1b 6Jn(a){1f 6p3.2Ne(1b(b){1f-1<a.3f(b)})}1b 6Jm(a){if("4n"===2h a){if(a in Ei)1f Ei[a];if(6Jn(a)){a=T0(a);1d b;b=(b=Gr(a,"1mD"))?(b=Gr(b,"auf"))&&-1<6oT.3f(b):1p 0;if(b)1f Ei["1pY:1Bo"];b=(b=Gr(a,"6A"))?Gr(b,"57v"):1p 0;1f b?VO(b):a}if("+"===a[0])1f VO(a)}1s 1f a}1b U0(a){1f a}1b V0(a,b){1d c=VG.1h;if(!a.1c3)1f 11l.7k(b),!0;VG[c]=a;a.1c3.12I(1b(a){WG[a.18v()]=c});1f 1a}1b 6Jk(a,b,c,d){c=a*a;b*=b;1d e=(c-b)/c,f=0;d?(a*=1-e*(.aue+e*(.aud+.auc*e)),c=a*a,e=0):f=1k.3Y(e);1f{es:e,e:f,2Rf:(c-b)/b}}1b 6Jl(a,b,c,d,e){a||((c=Gr(WO,d))||(c=6ow),a=c.a,b=c.b,c=c.rf);c&&!b&&(b=(1-1/c)*a);if(0===c||1E-10>1k.abs(a-b))e=!0,b=a;1f{a:a,b:b,rf:c,1cq:e}}1b 6Jj(a,b,c,d,e,f){1d h={};h.1BX=1p 0===a||"1bs"===a?5:4;if(b){h.1fg=b.5d(7L);if(0!==h.1fg[0]||0!==h.1fg[1]||0!==h.1fg[2])h.1BX=1;3<h.1fg.1h&&(0!==h.1fg[3]||0!==h.1fg[4]||0!==h.1fg[5]||0!==h.1fg[6])&&(h.1BX=2,h.1fg[3]*=4.4am-6,h.1fg[4]*=4.4am-6,h.1fg[5]*=4.4am-6,h.1fg[6]=h.1fg[6]/1E6+1)}h.a=c;h.b=d;h.es=e;h.2Rf=f;1f h}1b Wn(a,b){if(!(1a 2m Wn))1f 1g Wn(a);b=b||1b(a){if(a)1t a;};1d c=6Jm(a);if("2c"!==2h c)b(a);1s{1d d=Wn.1lJ.1n(c.2al);if(d){c.1el&&"1bs"!==c.1el&&(a=Gr($na,c.1el))&&(c.1fg=a.1BS?a.1BS.7g(","):1F,c.1WA=a.1fc,c.1A6=a.1A6?a.1A6:c.1el);c.k0=c.k0||1;c.1Dm=c.1Dm||"2Cz";c.1WA=c.1WA||"4Xe";a=6Jl(c.a,c.b,c.rf,c.1WA,c.1cq);1d e=6Jk(a.a,a.b,a.rf,c.6pe),f=c.1Wz||6Jj(c.1el,c.1fg,a.a,a.b,e.es,e.2Rf);W0(1a,c);W0(1a,d);1a.a=a.a;1a.b=a.b;1a.rf=a.rf;1a.1cq=a.1cq;1a.es=e.es;1a.e=e.e;1a.2Rf=e.2Rf;1a.1Wz=f;1a.11K();b(1F,1a)}1s b(a)}}1b X0(a,b,c){1d d=a.x,e=a.y,f=a.z?a.z:0;if(e<-pb&&e>-1.17I*pb)e=-pb;1s if(e>pb&&e<1.17I*pb)e=pb;1s{if(e<-pb)1f{x:-12g,y:-12g,z:a.z};if(e>pb)1f{x:12g,y:12g,z:a.z}}d>1k.PI&&(d-=2*1k.PI);a=1k.2T(e);e=1k.3i(e);c/=1k.3Y(1-b*a*a);1f{x:(c+f)*e*1k.3i(d),y:(c+f)*e*1k.2T(d),z:(c*(1-b)+f)*a}}1b Y0(a,b,c,d){1d e=a.x;1d f=a.y;1d h=a.z?a.z:0;d=1k.3Y(e*e+f*f);1d l=1k.3Y(e*e+f*f+h*h);if(1E-12>d/c){if(e=0,1E-12>l/c)1f{x:a.x,y:a.y,z:a.z}}1s e=1k.12B(f,e);a=h/l;l=d/l;1d g=1/1k.3Y(1-b*(2-b)*l*l);f=l*(1-b)*g;1d n=a*g;1d z=0;do{z++;1d k=c/1k.3Y(1-b*n*n);1d x=d*f+h*n-k*(1-b*n*n);k=b*k/(k+x);g=1/1k.3Y(1-k*(2-k)*l*l);k=l*(1-k)*g;g*=a;1d D=g*f-k*n;f=k;n=g}14p(1E-24<D*D&&30>z);1f{x:e,y:1k.16D(g/1k.abs(k)),z:x}}1b XG(a){1f 1===a||2===a}1b Z0(a){if("1b"===2h 3a.1AJ){if(3a.1AJ(a))1f;1t 1g 1LY("9R 2Q be 57y 4Ks");}if("2b"!==2h a||a!==a||!1AJ(a))1t 1g 1LY("9R 2Q be 57y 4Ks");}1b YG(a,b,c){2K.8n(c)&&(c=$0(c));1d d=c;Z0(d.x);Z0(d.y);a.1Wz&&b.1Wz&&((1===a.1Wz.1BX||2===a.1Wz.1BX)&&"9y"!==b.1el||(1===b.1Wz.1BX||2===b.1Wz.1BX)&&"9y"!==a.1el)&&(d=1g Wn("9y"),c=YG(a,d,c),a=d);"2Cz"!==a.1Dm&&(c=a1(a,!1,c));"3cz"===a.2al?c={x:.1qa*c.x,y:.1qa*c.y,z:c.z||0}:(a.1NK&&(c={x:c.x*a.1NK,y:c.y*a.1NK,z:c.z||0}),c=a.12Z(c));a.2Rg&&(c.x+=a.2Rg);d=a.1Wz;a=b.1Wz;if(!((d.1BX!==a.1BX?0:d.a!==a.a||5E-11<1k.abs(d.es-a.es)?0:1===d.1BX?d.1fg[0]===a.1fg[0]&&d.1fg[1]===a.1fg[1]&&d.1fg[2]===a.1fg[2]:2===d.1BX?d.1fg[0]===a.1fg[0]&&d.1fg[1]===a.1fg[1]&&d.1fg[2]===a.1fg[2]&&d.1fg[3]===a.1fg[3]&&d.1fg[4]===a.1fg[4]&&d.1fg[5]===a.1fg[5]&&d.1fg[6]===a.1fg[6]:1)||5===d.1BX||5===a.1BX||d.es===a.es&&d.a===a.a&&!XG(d.1BX)&&!XG(a.1BX))){c=X0(c,d.es,d.a);if(XG(d.1BX)){1d e=d.1BX;d=d.1fg;if(1===e)c={x:c.x+d[0],y:c.y+d[1],z:c.z+d[2]};1s if(2===e){e=d[3];1d f=d[4],h=d[5],l=d[6];c={x:l*(c.x-h*c.y+f*c.z)+d[0],y:l*(h*c.x+c.y-e*c.z)+d[1],z:l*(-f*c.x+e*c.y+c.z)+d[2]}}1s c=1p 0}if(XG(a.1BX))if(e=a.1BX,d=a.1fg,1===e)c={x:c.x-d[0],y:c.y-d[1],z:c.z-d[2]};1s if(2===e){e=d[3];f=d[4];h=d[5];1d g=d[6];l=(c.x-d[0])/g;1d n=(c.y-d[1])/g;c=(c.z-d[2])/g;c={x:l+h*n-f*c,y:-h*l+n+e*c,z:f*l-e*n+c}}1s c=1p 0;c=Y0(c,a.es,a.a,a.b)}b.2Rg&&(c={x:c.x-b.2Rg,y:c.y,z:c.z||0});"3cz"===b.2al?c={x:57.1Xq*c.x,y:57.1Xq*c.y,z:c.z||0}:(c=b.1et(c),b.1NK&&(c={x:c.x/b.1NK,y:c.y/b.1NK,z:c.z||0}));1f"2Cz"!==b.1Dm?a1(b,!0,c):c}1b XO(a,b,c){if(2K.8n(c)){1d d=YG(a,b,c)||{x:1hO,y:1hO};1f 2<c.1h?"7w"!==2h a.2i&&"3ct"===a.2i||"7w"!==2h b.2i&&"3ct"===b.2i?"2b"===2h d.z?[d.x,d.y,d.z].9V(c.6z(3)):[d.x,d.y,c[2]].9V(c.6z(3)):[d.x,d.y].9V(c.6z(2)):[d.x,d.y]}1d e=YG(a,b,c);d=1L.9K(c);if(2===d.1h)1f e;d.12I(1b(d){if("7w"!==2h a.2i&&"3ct"===a.2i||"7w"!==2h b.2i&&"3ct"===b.2i){if("x"===d||"y"===d||"z"===d)1f}1s if("x"===d||"y"===d)1f;e[d]=c[d]});1f e}1b b1(a){1f a 2m Wn?a:a.57x?a.57x:Wn(a)}1b uj(a,b,c){a=b1(a);1d d=!1;if("7w"===2h b)b=a,a=c1,d=!0;1s if("7w"!==2h b.x||2K.8n(b))c=b,b=a,a=c1,d=!0;b=b1(b);if(c)1f XO(a,b,c);c={1et:1b(c){1f XO(a,b,c)},12Z:1b(c){1f XO(b,a,c)}};d&&(c.57x=b);1f c}1b d1(a,b){1d c=a[1],d=a[0];1d e=1k.PI/180*c;1d f=1k.PI/180*d;a=1k.2t((d+180)/6)+1;180===d&&(a=60);56<=c&&64>c&&3<=d&&12>d&&(a=32);72<=c&&84>c&&(0<=d&&9>d?a=31:9<=d&&21>d?a=33:21<=d&&33>d?a=35:33<=d&&42>d&&(a=37));1d h=1k.PI/180*(6*(a-1)-180+3);d=16t/1k.3Y(1-.57w*1k.2T(e)*1k.2T(e));1d l=1k.10n(e)*1k.10n(e);1d g=.6Jg*1k.3i(e)*1k.3i(e);f=1k.3i(e)*(f-h);e=.3zO*(16t*(.aub*e-.au9*1k.2T(2*e)+2.au8-6*1k.2T(4*e)-3.au7-9*1k.2T(6*e))+d*1k.10n(e)*(f*f/2+(5-l+9*g+4*g*g)*f*f*f*f/24+(61-58*l+l*l+600*g-2.au6)*f*f*f*f*f*f/720));0>c&&(e+=1E7);e=1k.9p(e);l=1k.9p(.3zO*d*(f+(1-l+g)*f*f*f/6+(5-18*l+l*l+72*g-.au5)*f*f*f*f*f/120)+5E5);g=a;d="Z";84>=c&&72<=c?d="X":72>c&&64<=c?d="W":64>c&&56<=c?d="V":56>c&&48<=c?d="U":48>c&&40<=c?d="T":40>c&&32<=c?d="S":32>c&&24<=c?d="R":24>c&&16<=c?d="Q":16>c&&8<=c?d="P":8>c&&0<=c?d="N":0>c&&-8<=c?d="M":-8>c&&-16<=c?d="L":-16>c&&-24<=c?d="K":-24>c&&-32<=c?d="J":-32>c&&-40<=c?d="H":-40>c&&-48<=c?d="G":-48>c&&-56<=c?d="F":-56>c&&-64<=c?d="E":-64>c&&-72<=c?d="D":-72>c&&-80<=c&&(d="C");b=b||5;c="6Ji"+l;a="6Ji"+e;d=g+d;f=e1(g);l=1k.2t(l/1E5);g=1k.2t(e/1E5)%20;--f;e="6Jd".19a(f);f="6Jc".19a(f);l=e+l-1;g=f+g;h=!1;90<l&&(l=l-90+65-1,h=!0);(73===l||73>e&&73<l||(73<l||73>e)&&h)&&l++;if(79===l||79>e&&79<l||(79<l||79>e)&&h)l++,73===l&&l++;90<l&&(l=l-90+65-1);86<g?(g=g-86+65-1,h=!0):h=!1;(73===g||73>f&&73<g||(73<g||73>f)&&h)&&g++;if(79===g||79>f&&79<g||(79<g||79>f)&&h)g++,73===g&&g++;86<g&&(g=g-86+65-1);e=10J.1gx(l)+10J.1gx(g);1f d+e+c.13c(c.1h-5,b)+a.13c(a.1h-5,b)}1b f1(a){a=YO(g1(a.1G9()));1f a.1mp&&a.1tT?[a.1tT,a.1mp]:[(a.3B+a.2W)/2,(a.5C+a.7b)/2]}1b YO(a){1d b=a.3Ch,c=a.4eP;if(0>c||60<c)1f 1F;1d d=(1-1k.3Y(.6Jh))/(1+1k.3Y(.6Jh));1d e=a.4eR;"N">a.4eQ&&(e-=1E7);e=e/.3zO/au4.au3;1d f=e+(3*d/2-27*d*d*d/32)*1k.2T(2*e)+(21*d*d/16-55*d*d*d*d/32)*1k.2T(4*e)+151*d*d*d/96*1k.2T(6*e);1d h=16t/1k.3Y(1-.57w*1k.2T(f)*1k.2T(f));d=1k.10n(f)*1k.10n(f);e=.6Jg*1k.3i(f)*1k.3i(f);1d l=au2.au1/1k.3r(1-.57w*1k.2T(f)*1k.2T(f),1.5);b=(b-5E5)/(.3zO*h);h=f-h*1k.10n(f)/l*(b*b/2-(5+3*d+10*e-4*e*e-.au0)*b*b*b*b/24+(61+90*d+298*e+45*d*d-1.atZ-3*e*e)*b*b*b*b*b*b/720);h=h/1k.PI*180;b=(b-(1+2*d+e)*b*b*b/6+(5-2*e+28*d-3*e*e+.atY+24*d*d)*b*b*b*b*b/120)/1k.3i(f);b=6*(c-1)-180+3+b/1k.PI*180;a.4eO?(a=YO({4eR:a.4eR+a.4eO,3Ch:a.3Ch+a.4eO,4eQ:a.4eQ,4eP:a.4eP}),a={5C:a.1mp,2W:a.1tT,7b:h,3B:b}):a={1mp:h,1tT:b};1f a}1b e1(a){a%=6;0===a&&(a=6);1f a}1b g1(a){if(a&&0===a.1h)1t"3eG atX 19f atW";1j(1d b=a.1h,c,d="",e,f=0;!/[A-Z]/.6S(e=a.1as(f));){if(2<=f)1t"3eG 6Jf 6Je 19f: "+a;d+=e;f++}d=8A(d,10);if(0===f||f+3>b)1t"3eG 6Jf 6Je 19f: "+a;e=a.1as(f++);if("A">=e||"B"===e||"Y"===e||"Z"<=e||"I"===e||"O"===e)1t"3eG 2CT 2wQ "+e+" 2S 3zS: "+a;c=a.11c(f,f+=2);1d h=e1(d);1d l=c.1as(0);1j(1d g="6Jd".19a(h-1),n=1E5,z=!1;g!==l.19a(0);){g++;73===g&&g++;79===g&&g++;if(90<g){if(z)1t"6Jb 4R9: "+l;g=65;z=!0}n+=1E5}l=n;c=c.1as(1);if("V"<c)1t"3eG 6Iy 16w atV "+c;h="6Jc".19a(h-1);g=0;1j(n=!1;h!==c.19a(0);){h++;73===h&&h++;79===h&&h++;if(86<h){if(n)1t"6Jb 4R9: "+c;h=65;n=!0}g+=1E5}1j(h=g;h<aoa(e);)h+=2E6;b-=f;if(0!==b%2)1t"3eG 14d to 118 an 42H 2b \\atU 2mV 1eB 1Z 2CT 2wQ and 1uk atT atS - atR \\atQ 1j 3Ch 36g, 1hd 5Pl 1j \\atP 36g"+a;b/=2;g=c=0;if(0<b){1d k=1E5/1k.3r(10,b);c=a.11c(f,f+b);c=7L(c)*k;a=a.11c(f+b);g=7L(a)*k}1f{3Ch:c+l,4eR:g+h,4eQ:e,4eP:d,4eO:k}}1b aoa(a){6U(a){1S"C":1d b=atO;1W;1S"D":b=2E6;1W;1S"E":b=atN;1W;1S"F":b=atM;1W;1S"G":b=atL;1W;1S"H":b=atK;1W;1S"J":b=atJ;1W;1S"K":b=atI;1W;1S"L":b=atH;1W;1S"M":b=atG;1W;1S"N":b=0;1W;1S"P":b=8E5;1W;1S"Q":b=atF;1W;1S"R":b=atE;1W;1S"S":b=atD;1W;1S"T":b=atC;1W;1S"U":b=atB;1W;1S"V":b=atA;1W;1S"W":b=7E6;1W;1S"X":b=atz;1W;4T:b=-1}if(0<=b)1f b;1t"13H 2CT 2wQ: "+a;}1b Hx(a,b,c){if(!(1a 2m Hx))1f 1g Hx(a,b,c);2K.8n(a)?(1a.x=a[0],1a.y=a[1],1a.z=a[2]||0):"2c"===2h a?(1a.x=a.x,1a.y=a.y,1a.z=a.z||0):"4n"===2h a&&"7w"===2h b?(a=a.7g(","),1a.x=7L(a[0],10),1a.y=7L(a[1],10),1a.z=7L(a[2],10)||0):(1a.x=a,1a.y=b,1a.z=c||0);11l.2ep("57v.18H 1B4 be 1JR in 9G 3, 14W 57v.4WH")}1b ZG(a,b,c,d){1E-10>a?(d.1Q=ne.2rv,a=0):(a=1k.12B(b,c),1k.abs(a)<=se?d.1Q=ne.2rv:a>se&&a<=pb+se?(d.1Q=ne.2ru,a-=pb):a>pb+se||a<=-(pb+se)?(d.1Q=ne.2rt,a=0<=a?a-3.1A5:a+3.1A5):(d.1Q=ne.2Ra,a+=pb));1f a}1b Ix(a,b){a+=b;-3.1A5>a?a+=ZO:3.1A5<a&&(a-=ZO);1f a}1b 6nE(a,b,c,d){1j(;d;--d){1d e=a(b);b-=e;if(1k.abs(e)<c)1W}1f b}1b $G(a){a=m(a,{});1d b=m(a.2i,"4UL"),c=m(a.aty,117),d=m(a.atx,0),e=m(a.atw,0),f=m(a.atv,0),h=m(a.atu,5E5),l=m(a.att,0),p=m(a.ats,16t),n=m(a.atr,298.4Xj),z=(1-1/n)*p;a=a.1WA;g(a)?1a.16y="+1yh={2i} +2EL={2EL} +2Rj={2Rj} +2Ri={2Ri} +2Rh={2Rh} +2EK={2EK} +2EJ={2EJ} +1WA={1WA}".3X("{2i}",b).3X("{2EL}",c).3X("{2Rj}",d).3X("{2Ri}",e).3X("{2Rh}",f).3X("{2EK}",h).3X("{2EJ}",l).3X("{1WA}",a):1a.16y="+1yh={2i} +2EL={2EL} +2Rj={2Rj} +2Ri={2Ri} +2Rh={2Rh} +2EK={2EK} +2EJ={2EJ} +a={a} +b={b} +rf={rf}".3X("{2i}",b).3X("{2EL}",c).3X("{2Rj}",d).3X("{2Ri}",e).3X("{2Rh}",f).3X("{2EK}",h).3X("{2EJ}",l).3X("{a}",p).3X("{b}",z).3X("{rf}",n)}1b vj(a){a=m(a,m.4Z);1d b=a.1h,c=a.1i1,d=a.1fd,e=m(a.9S,za.1yD),f=m(a.1ue,128);if(!g(b))1t 1g r("3v.1h 2Q be 2l.");if(!g(c))1t 1g r("3v.1i1 2Q be 2l.");if(!g(d))1t 1g r("3v.1fd 2Q be 2l.");if(3>f)1t 1g r("3v.1ue 2Q be 9U 6L or 14B to 3.");if(g(a.8J)&&a.8J===ac.1g5)1t 1g r("2YR.1g5 is 2S a 11J 3v.8J 1j 1a 3y.");1a.1bC=b;1a.2rs=c;1a.2rr=d;1a.14s=za.1y(e);1a.2rq=f;1a.12j=a.8J;1a.1hz="atq"}1b Fu(a){a=m(a,m.4Z);1d b=a.1h,c=a.1i1,d=a.1fd,e=m(a.1ue,128),f=1k.1V(m(a.1ej,16),0);v.1N.2b("3v.3q",b);v.1N.2b("3v.1i1",c);v.1N.2b("3v.1fd",d);v.1N.2b.9Y("3v.1ue",e,3);if(g(a.8J)&&a.8J===ac.1g5)1t 1g r("2YR.1g5 is 2S a 11J 3v.8J 1j 1a 3y.");1a.1bC=b;1a.2rs=c;1a.2rr=d;1a.2rq=e;1a.2af=f;1a.12j=a.8J;1a.1hz="atp"}1b aH(a,b){if(aH.6n8)1f b;v.1N.2c("10t",a);v.1N.2c("2g",b);1d c=a.10S;if(0===c||0!==c%4)1t 1g qa("9B 1h of 10t 2Q be 9U 6L 0 and a 1yK of 4.");1d d=1g 1dE(b),e=d.9A(0,!0);if(ato===e||atn===e)1f b;a=1g 1dE(a);e=0;b=b.10S;1j(1d f=b-b%8,h,l=8;e<f;)1j(h=l=(l+8)%24;e<f&&h<c;)d.1H8(e,d.9A(e,!0)^a.9A(h,!0),!0),d.1H8(e+4,d.9A(e+4,!0)^a.9A(h+4,!0),!0),e+=8,h+=24;if(e<b)1j(h>=c&&(h=(l+8)%24);e<b;)d.4Mx(e,d.1wX(e)^a.1wX(h)),e++,h++}1b h1(a){1a.1aQ=a}1b ob(a,b){1a.1A3=a=m(a,0);1a.1A2=b=m(b,3a.6w)}1b Qd(a,b){a=m(a,0);b=m(b,3a.6w);if(b<=a)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");1a.1Q=1g 4A([a,b])}1b Xn(){1a.1fD=1a.13r=1p 0;1a.1bC=0}1b i1(a,b,c){1a.1jI=a;1a.18d=b;1a.6k=c}1b $O(a,b){g(b.18d)&&g(b.6k)?(b.18d.6k=b.6k,b.6k.18d=b.18d):g(b.18d)?(b.18d.6k=1p 0,a.1fD=b.18d):g(b.6k)?(b.6k.18d=1p 0,a.13r=b.6k):(a.13r=1p 0,a.1fD=1p 0);b.6k=1p 0;b.18d=1p 0}1b j1(a,b,c,d){a|=b<<8;b=a>>11&31;1d e=a>>5&63,f=a&31;c[d+0]=b<<3|b>>2;c[d+1]=e<<2|e>>4;c[d+2]=f<<3|f>>2;c[d+3]=255;1f a}1b k1(a){}1b $e(a){a=m(a,m.4Z);1d b=m(a.10N,6n3),c=m(a.1sR,b),d=m(a.1vW,0),e=m(a.1vV,B.14C),f=m(a.1vU,0),h=m(a.1vT,B.PI),l=1k.9p(m(a.1im,64)),g=1k.9p(m(a.1in,64)),n=m(a.9S,za.1yD);if(3>g)1t 1g r("3v.1in 1il be 1do 6L 29k.");if(3>l)1t 1g r("3v.1im 1il be 1do 6L 29k.");1a.1jQ=k.1y(b);1a.2ac=k.1y(c);1a.2rp=d;1a.2ro=e;1a.2rn=f;1a.2rm=h;1a.2a7=l;1a.2a6=g;1a.14s=za.1y(n);1a.12j=a.8J;1a.1hz="atm"}1b wj(a){a=m(a,m.4Z);1d b=m(a.10N,6mY),c=m(a.1sR,b),d=m(a.1vW,0),e=m(a.1vV,B.14C),f=m(a.1vU,0),h=m(a.1vT,B.PI),l=1k.9p(m(a.1im,10)),p=1k.9p(m(a.1in,8)),n=1k.9p(m(a.1sS,128));if(1>l)1t 1g r("3v.1im 1il be 1do 6L 1");if(0>p)1t 1g r("3v.1in 1il be 1do 6L 0");if(0>n)1t 1g r("3v.1sS 2Q be 9U 6L or 14B to 16m.");if(g(a.8J)&&a.8J===ac.1g5)1t 1g r("2YR.1g5 is 2S a 11J 3v.8J 1j 1a 3y.");1a.1jQ=k.1y(b);1a.2ac=k.1y(c);1a.2rp=d;1a.2ro=e;1a.2rn=f;1a.2rm=h;1a.2a7=l;1a.2a6=p;1a.3bX=n;1a.12j=a.8J;1a.1hz="atl"}1b yp(a){a=m(a,{});1a.6C=a.8c;g(1a.6C)||(1a.6C=1g gd({3c:m(a.3c,ba.9y)}));1a.1RD=we.2rJ(1a.6C.3c,64,1a.6C.1ou(0));1a.14P=1g sa;1a.1Kw=a.3c1;1a.2fB=!1;1a.7S=Z.5h(!0)}1b xj(){1a.2QN=[]}1b oe(){1a.15x=1g E;1a.2Lq=1a.2nS=1a.16b=1a.10u=1p 0}1b Ee(a){a=m(a,m.4Z);1a.3B=a.3B;1a.18R=1p 0;1a.2W=a.2W;1a.1eI=1p 0;1a.5C=a.5C;1a.2h0=1p 0;1a.7b=a.7b;1a.1zC=1p 0;1a.1A3=1a.3I=m(a.3I,1);1a.1A2=1a.3W=m(a.3W,5E8);1a.3co=1g ag;1a.4ac=1g A}1b l1(a){if(!(g(a.2W)&&g(a.3B)&&g(a.5C)&&g(a.7b)&&g(a.3I)&&g(a.3W)))1t 1g r("2W, 3B, 5C, 7b, 3I, or 3W 7V are 2S 1C.");if(a.5C!==a.2h0||a.7b!==a.1zC||a.3B!==a.18R||a.2W!==a.1eI||a.3I!==a.1A3||a.3W!==a.1A2){if(a.3B>a.2W)1t 1g r("2W 2Q be 9U 6L 3B.");if(a.7b>a.5C)1t 1g r("5C 2Q be 9U 6L 7b.");if(0>=a.3I||a.3I>a.3W)1t 1g r("3I 2Q be 9U 6L 16m and 1do 6L 3W.");a.18R=a.3B;a.1eI=a.2W;a.2h0=a.5C;a.1zC=a.7b;a.1A3=a.3I;a.1A2=a.3W;a.4ac=A.42f(a.3B,a.2W,a.7b,a.5C,a.3I,a.3W,a.4ac)}}1b Jb(a){a=m(a,m.4Z);1a.1d3=1g Ee;1a.1G=a.1G;1a.10V=1p 0;1a.13n=a.13n;1a.2ED=1p 0;1a.1A3=1a.3I=m(a.3I,1);1a.1A2=1a.3W=m(a.3W,5E8)}1b Gu(a){if(!(g(a.1G)&&g(a.13n)&&g(a.3I)&&g(a.3W)))1t 1g r("1G, 13n, 3I, or 3W 7V are 2S 1C.");1d b=a.1d3;if(a.1G!==a.10V||a.13n!==a.2ED||a.3I!==a.1A3||a.3W!==a.1A2){if(0>a.13n)1t 1g r("13n 2Q be 2HU.");if(0>a.3I||a.3I>a.3W)1t 1g r("3I 2Q be 9U 6L 16m and 1do 6L 3W.");a.2ED=a.13n;a.10V=a.1G;a.1A3=a.3I;a.1A2=a.3W;1d c=1/a.13n;b.2W=.5*a.1G;b.3B=-b.2W;b.5C=c*b.2W;b.7b=-b.5C;b.3I=a.3I;b.3W=a.3W}}1b Mg(a){a=m(a,m.4Z);1a.3B=a.3B;1a.18R=1p 0;1a.2W=a.2W;1a.1eI=1p 0;1a.5C=a.5C;1a.2h0=1p 0;1a.7b=a.7b;1a.1zC=1p 0;1a.1A3=1a.3I=m(a.3I,1);1a.1A2=1a.3W=m(a.3W,5E8);1a.3co=1g ag;1a.3cq=1g A;1a.3cp=1g A}1b aP(a){if(!(g(a.2W)&&g(a.3B)&&g(a.5C)&&g(a.7b)&&g(a.3I)&&g(a.3W)))1t 1g r("2W, 3B, 5C, 7b, 3I, or 3W 7V are 2S 1C.");1d b=a.5C,c=a.7b,d=a.2W,e=a.3B,f=a.3I,h=a.3W;if(b!==a.2h0||c!==a.1zC||e!==a.18R||d!==a.1eI||f!==a.1A3||h!==a.1A2){if(0>=a.3I||a.3I>a.3W)1t 1g r("3I 2Q be 9U 6L 16m and 1do 6L 3W.");a.18R=e;a.1eI=d;a.2h0=b;a.1zC=c;a.1A3=f;a.1A2=h;a.3cq=A.4Ww(e,d,c,b,f,h,a.3cq);a.3cp=A.4Wv(e,d,c,b,f,a.3cp)}}1b Qc(a){a=m(a,m.4Z);1a.1d3=1g Mg;1a.16X=a.16X;1a.4Wu=1a.3zD=1a.4ab=1p 0;1a.13n=a.13n;1a.2ED=1p 0;1a.1A3=1a.3I=m(a.3I,1);1a.1A2=1a.3W=m(a.3W,5E8);1a.2hm=1a.1qc=m(a.1qc,0);1a.57u=1a.1rs=m(a.1rs,0);1a.1Ck=!1}1b Yn(a){if(!(g(a.16X)&&g(a.13n)&&g(a.3I)&&g(a.3W)))1t 1g r("16X, 13n, 3I, or 3W 7V are 2S 1C.");1d b=a.1d3;if(a.16X!==a.4ab||a.13n!==a.2ED||a.3I!==a.1A3||a.3W!==a.1A2||a.1qc!==a.2hm||a.1rs!==a.57u){if(0>a.16X||a.16X>=1k.PI)1t 1g r("16X 2Q be in 1Z 11D [0, PI).");if(0>a.13n)1t 1g r("13n 2Q be 2HU.");if(0>a.3I||a.3I>a.3W)1t 1g r("3I 2Q be 9U 6L 16m and 1do 6L 3W.");a.2ED=a.13n;a.4ab=a.16X;a.3zD=1>=a.13n?a.16X:2*1k.16D(1k.10n(.5*a.16X)/a.13n);a.1A3=a.3I;a.1A2=a.3W;a.4Wu=2*1k.10n(.5*a.3zD);a.2hm=a.1qc;a.57u=a.1rs;b.5C=a.3I*1k.10n(.5*a.3zD);b.7b=-b.5C;b.2W=a.13n*b.5C;b.3B=-b.2W;b.3I=a.3I;b.3W=a.3W;b.2W+=a.1qc;b.3B+=a.1qc;b.5C+=a.1rs;b.7b+=a.1rs}}1b zp(a){v.1N.2c("3v",a);v.1N.2c("3v.3j",a.3j);v.1N.2c("3v.9X",a.9X);v.1N.2c("3v.11f",a.11f);1d b=a.3j,c=a.11f,d=a.9X,e=m(a.9S,za.1yD);a=m(a.1Qb,!0);if(b 2m Qc){1d f=0;1d h=Qc.4q}1s b 2m Jb&&(f=1,h=Jb.4q);1a.2iD=f;1a.2iC=b.1y();1a.1NJ=k.1y(d);1a.1tY=ca.1y(c);1a.1Qb=a;1a.14s=e;1a.1hz="atk";1a.4q=2+h+k.4q+ca.4q+za.4q}1b Jx(a,b,c,d,e,f,h,l){1j(1d p=a/3*2,n=0;4>n;++n)g(b)&&(b[a]=f.x,b[a+1]=f.y,b[a+2]=f.z),g(c)&&(c[a]=h.x,c[a+1]=h.y,c[a+2]=h.z),g(d)&&(d[a]=l.x,d[a+1]=l.y,d[a+2]=l.z),a+=3;e[p]=0;e[p+1]=0;e[p+2]=1;e[p+3]=0;e[p+4]=1;e[p+5]=1;e[p+6]=0;e[p+7]=1}1b Kx(a){v.1N.2c("3v",a);v.1N.2c("3v.3j",a.3j);v.1N.2c("3v.9X",a.9X);v.1N.2c("3v.11f",a.11f);1d b=a.3j,c=a.11f,d=a.9X;a=m(a.1Qb,!0);if(b 2m Qc){1d e=0;1d f=Qc.4q}1s b 2m Jb&&(e=1,f=Jb.4q);1a.2iD=e;1a.2iC=b.1y();1a.1NJ=k.1y(d);1a.1tY=ca.1y(c);1a.1Qb=a;1a.1hz="atj";1a.4q=2+f+k.4q+ca.4q}1b m1(){}1b Fi(a){a=m(a,m.4Z);if(!g(a.3k))1t 1g r("3v.3k is 1X.");if(!g(a.2Z))1t 1g r("3v.2Z is 1X.");if(1>a.2Z||4<a.2Z)1t 1g r("3v.2Z 2Q be 1pS 1 and 4.");if(!g(a.1Q))1t 1g r("3v.1Q is 1X.");1a.3k=a.3k;1a.2Z=a.2Z;1a.1T=m(a.1T,!1);1a.1Q=a.1Q}1b kk(a){if(!g(a))1t 1g r("1dr is 1X.");a=1g zb(a);a.1T();a=a.9w;1d b=a.1sl("/");-1!==b&&(a=a.13c(b+1));1f a}1b Hu(a,b,c){g(b)||(b=a.1G);g(c)||(c=a.1D);1d d=n1[b];g(d)||(d={},n1[b]=d);1d e=d[c];g(e)||(e=3n.4O("3M"),e.1G=b,e.1D=c,e=e.1ft("2d"),e.3e9="1hI",d[c]=e);e.1DA(a,0,0,b,c);1f e.1LW(0,0,b,c).2g}1b AB(a,b){b=m(b,0);1f Me(a,b,1k.2o(4,a.1h))}1b 58u(){1a.PI=3.6Ja;1a.6J9=0;1a.6J8=1E-12;1a.p=6J7.6J6;1a.a=16t;1a.b=2bi.6p5;1a.2O=.ati;1a.e2=.ath;1a.57t=.atg;1a.c=atf.ate;1a.K0=1.atd-7;1a.K1=.atc;1a.K2=2.atb-5;1a.K3=2.at9-7;1a.K4=2.at8-9;1a.2O=1/298.4Xj;1a.e4=1k.3r(1a.e2,2);1a.e6=1k.3r(1a.e2,3);1a.e8=1k.3r(1a.e2,4);1a.A=1+.5*1a.e2+.375*1a.e4+.1KD*1a.e6+.6J5*1a.e8;1a.B=1/6*1a.e2+.24n*1a.e4+.24n*1a.e6+420/3Ah*1a.e8;1a.C=.6J4*1a.e4+.1BV*1a.e6+.6J3*1a.e8;1a.D=1/112*1a.e6+.4au*1a.e8;1a.E=5/3Ah*1a.e8}1b 58t(){1a.PI=3.6Ja;1a.6J9=0;1a.6J8=1E-12;1a.p=6J7.6J6;1a.a=4ay;1a.b=6wx.at7;1a.2O=.at6;1a.e2=.at5;1a.57t=.at4;1a.c=at3.at2;1a.K0=1.at1-7;1a.K1=.at0;1a.K2=2.asZ-5;1a.K3=2.asY-7;1a.K4=2.asX-9;1a.e4=1k.3r(1a.e2,2);1a.e6=1k.3r(1a.e2,3);1a.e8=1k.3r(1a.e2,4);1a.A=1+.5*1a.e2+.375*1a.e4+.1KD*1a.e6+.6J5*1a.e8;1a.B=1/6*1a.e2+.24n*1a.e4+.24n*1a.e6+420/3Ah*1a.e8;1a.C=.6J4*1a.e4+.1BV*1a.e6+.6J3*1a.e8;1a.D=1/112*1a.e6+.4au*1a.e8;1a.E=5/3Ah*1a.e8}1b bH(a,b,c,d,e,f){a*=f.K0;1d h=1k.2T(a);h=a+1k.3i(a)*(f.K1*h-f.K2*1k.3r(h,3)+f.K3*1k.3r(h,5)-f.K4*1k.3r(h,7));1d l=1k.10n(h);a=f.57t*1k.3r(1k.3i(h),2);1d g=1k.3Y(1+a);b=(1E6<b?b-5E5-1E6*e:b-5E5)/(f.c/g);e=1k.3r(g,2)*l;f=1k.3r(l,2);c.B=h-e*1k.3r(b,2)/2+(5+3*f+a-9*a*f)*e*1k.3r(b,4)/24-(61+90*f+45*1k.3r(f,2))*e*1k.3r(b,6)/720;e=1/1k.3i(h);c.L=e*b-(1+2*f+a)*e*1k.3r(b,3)/6+(5+28*f+24*1k.3r(f,2)+6*a+8*a*f)*e*1k.3r(b,5)/120+d}1b Jm(a,b,c,d,e,f){1a.24b=a;1a.3zA=b;1a.3zz=c;1a.2Ez=d;1a.1jf=e;1a.16u=f;1a.2QZ=!1;1a.19M=1p 0}1b Eh(a){v.2l("6J2",a);1d b=a;"4n"===2h b||b 2m na||(v.1N.4n("6J2.2I",a.2I),b=a.2I);a=na.14m(b);a.1F1();1a.12o=a;1a.3Bn=!0;1a.3RX=1p 0;1a.3Cg=!0;1a.241=32;1a.3zr=B.2iH;1a.217={};1a.10t=1p 0;1a.4eM=1;1a.24a={};1a.6J1={};1d c=1a;1a.7S=6J0(1a).4b(1b(){1f c.4W5("",c.4eM)}).4b(1b(){1f!0}).10g(1b(a){a="An 7A 1Jq 14p 1Ud "+c.12o.16M({2I:"49Y?q2-0-q."+(1).5s(),7M:1p 0}).2I+".";1f Z.7N(1g qa(a))})}1b bP(a,b,c){1d d=a.24a,e=b,f=d[e];if(g(f)&&(!f.49Z()||f.6me()))1f f;1j(;1p 0===f&&1<e.1h;)e=e.11c(0,e.1h-1),f=d[e];1d h,l=a.6J1;d=l[e];if(g(d))1f d.4b(1b(){h=1g Ke({1j8:c.1j8,1mj:c.1mj,1I:c.1I,1xd:c.1xd});1f bP(a,b,h)});if(!g(f)||!f.49Z())1f Z.7N(1g qa("5rD\'t 1e4 1lv 1j 11H "+b));d=a.4W5(e,f.3zA,c);if(g(d))1f l[e]=d,d.4b(1b(){h=1g Ke({1j8:c.1j8,1mj:c.1mj,1I:c.1I,1xd:c.1xd});1f bP(a,b,h)}).2aR(1b(){4Y l[e]})}1b 6J0(a){1d b=a.12o.16M({2I:"asW.v5",1kx:{1jU:"asV"}});if(!g(cP)){1d c=cb("1Qq/1BJ-3v3-asU-asT.js"),d=7O.4eN;cP=NN(c).4b(1b(){dP=7O.4eN(eP);g(d)?7O.4eN=d:4Y 7O.4eN})}1f cP.4b(1b(){1f b.1kw()}).4b(1b(b){1d c=dP.asS.1AM(1g 4L(b)),d=c.asR,e=d.8o,g=e+d.10S;b=a.10t=d.3J.4h(e,g);d=c.asQ;e=d.8o;g=e+d.10S;c=d.3J.4h(e,g);1f o1.1fa({3J:c,1I:"asP",10t:b},[c])}).4b(1b(b){1d c=dP.asO.1AM(1g 4L(b.3J));a.3Bn=m(c.3Bn,a.3Bn);a.3RX=c.3RX;a.3Cg=m(c.3Cg,a.3Cg);g(c.57s)&&g(c.57s.12W)&&(b=c.57s.12W,a.241=m(b.241,a.241),a.3zr=m(b.asN,a.3zr));g(c.6IZ)&&(a.4eM=m(c.6IZ.asM,a.4eM));b=a.217;c=m(c.asL,[]);1j(1d d=c.1h,e=0;e<d;++e){1d p=c[e],n=p.asK;g(n)&&(b[p.asJ]=1g Zb(n.1Q))}}).10g(1b(){11l.7k("21Z to asI "+b.2I+". 55N asH.");a.10t=6mb})}1b Ap(a){a=m(a,m.4Z);v.1N.2c("3v.3J",a.3J);v.1N.2b("3v.241",a.241);v.1N.2b("3v.3cd",a.3cd);1a.1hW=a.3J;1a.1Ny=a.1mn;1a.6lX=a.241;1a.6lW=a.3cd;1d b=m(a.1Ku,15);1a.2EA=b&3|(b&4?8:0)|(b&8?4:0);1a.2Lx=m(a.3cg,!1);1a.1NI=1p 0;1a.4Zn=1a.1hW.7m;1a.1DY=1a.1GD=1a.1sY=1p 0}1b cH(){1a.2R0={};1a.4VS=M.14H()}1b Lx(a){a=m(a,m.4Z);if(!g(a.2I)&&!g(a.1lv))1t 1g r("3v.2I or 3v.1lv is 1X.");if(g(a.1lv))1d b=a.1lv;1s{1d c=na.14m(a.2I);b=1g Eh(c)}1a.20Z=b;1a.6C=1g gd({27p:2,27o:2,3g:1g Q(-B.PI,-B.PI,B.PI,B.PI),3c:a.3c});a=a.9L;"4n"===2h a&&(a=1g Zb(a));1a.1dh=a;1a.1RD=6lZ.16;1a.2R0=1g cH;1a.6lJ={};1a.6lI={};1a.14P=1g sa;1a.4y=!1;1d d=1a,e;1a.7S=b.9c.4b(1b(a){if(!b.3Cg)1f a=1g qa("9B 3zV "+b.2I+" 2en\'t 118 1st"),e=Lc.1ir(e,d,d.14P,a.19s,1p 0,1p 0,1p 0,a),Z.7N(a);Lc.1Vf(e);1f d.4y=a}).10g(1b(a){e=Lc.1ir(e,d,d.14P,a.19s,1p 0,1p 0,1p 0,a);1f Z.7N(a)})}1b p1(a,b,c){1d d=b.6mc();if(b.19M===ql.49W)1j(b=d=0;4>b;++b){1d e=c.2iA(a+b.5s());g(e)&&e.2QY()&&(d|=1<<b)}1f d}1b 6lH(a,b,c,d){c=g(c)&&0<c?c:1;1f a.20Z.1Wu.16M({2I:"49Y?asG-0"+b+"-t."+c.5s(),7M:d})}1b Zn(a){a=m(a,m.4Z);1d b=a.3q;if(!g(b)||2>b.1h)1t 1g r("At 1gR 1uk 3q are 1X.");if(g(a.14g)&&a.14g!==Ib.1gi&&a.14g!==Ib.1sX)1t 1g r("3qZ 3v 1j 14g are 2lr.1gi and 2lr.1sX.");1a.1G=m(a.1G,1);1a.9h=b;1a.6f=m(a.6f,1Ax);1a.1qB=m(a.1qB,!1);1a.14g=m(a.14g,Ib.1gi);1a.5W=ba.9y;1a.3cc=0;1a.1hz="asF";1a.3bz=!1}1b fP(a,b,c,d,e){1d f=Gi(d,a,0,6lE);a=Gi(d,a,c,q1);b=Gi(d,b,0,r1);d=$n(a,f,q1);f=$n(b,f,r1);k.4B(f,d,e);1f k.1T(e,e)}1b gP(a,b,c,d,e,f,h,l,g,n,z){if(0!==e){1d p;f===Ib.1gi?p=1g ml(a,b,h):f===Ib.1sX&&(p=1g ch(a,b,h));f=p.1R1;if(!(f<e)){a=fP(a,b,d,h,6lA);b=1k.8a(f/e);f=e=f/b;--b;1j(1d x=l.1h,D=0;D<b;D++){1d t=p.2rA(f,6lD),m=Gi(h,t,c,6lC),G=Gi(h,t,d,6lB);k.5n(a,l,x);k.5n(m,g,x);k.5n(G,n,x);z.1q(t.4k);z.1q(t.3N);x+=3;f+=e}}}}1b Gi(a,b,c,d){T.1y(b,hP);hP.1D=c;1f T.1g8(hP,a,d)}1b $n(a,b,c){k.3V(a,b,c);k.1T(c,c);1f c}1b iP(a,b,c,d,e){c=$n(c,b,s1);1d f=$n(a,b,6lz);a=$n(d,b,6ly);1d h=k.4B(c,f,6lw);h=k.1T(h,h);b=Cb.1zd(b,h,6lv);d=Cb.2ao(b,d);if(B.5T(d,0,B.1hn))1f k.1y(h,e),e;e=k.add(a,f,e);e=k.1T(e,e);d=k.4B(c,e,6lx);k.1T(d,d);k.4B(d,c,e);k.1T(e,e);0>k.2A(a,d)&&(e=k.11k(e,e));1f e}1b t1(a,b,c,d){b=$n(c,b,6lp);b=k.2A(b,a);1f b>u1||b<v1?(c=$n(d,c,s1),c=ca.1gG(c,b<v1?B.10k:-B.10k,6ln),c=J.1fE(c,6lo),J.10r(c,a,a),!0):!1}1b BB(a,b,c,d,e){1d f=T.1g8(b,a.5W,6lm),h=k.add(f,c,w1),l=!1,g=a.5W;h=g.10Z(h,x1);1k.abs(b.3N-h.3N)>B.10k&&(l=!0,h=k.3V(f,c,w1),h=g.10Z(h,x1));h.1D=0;a=a.12z(h,e);e=k.3V(a,d,e);e.z=0;e=k.1T(e,e);l&&k.11k(e,e);1f e}1b y1(a,b,c,d,e,f){1d h=k.3V(b,a,6ll);k.1T(h,h);c=k.4g(h,c-0,z1);k.add(a,c,e);c=k.4g(h,d-1E3,z1);k.add(b,c,f)}1b dH(a,b){1d c=Cb.2ao(eH,a),d=Cb.2ao(eH,b),e=6lk;B.5T(c,0,B.1BO)?(e=$n(b,a,e),k.4g(e,B.1BO,e),k.add(a,e,a)):B.5T(d,0,B.1BO)&&(e=$n(a,b,e),k.4g(e,B.1BO,e),k.add(b,e,b))}1b Ir(a){1f 1g Pa({3k:I.3O,2Z:4,1T:!1,2a:a})}1b Bp(a,b,c){1a.8e=m(a,0);1a.8q=m(b,0);1a.11D=m(c,0)}1b jP(a,b,c,d,e,f){1d h=0,l,g;if(0<d){1j(l=0;l<e;l++){1d n=!1;1j(g=0;g<f.1h&&!n;g++)l===f[g]&&(n=!0);n||(f.1q(l),h+=jP(a,b,c,d-1,e,f),f.6z(f.1h-1,1))}1f h}h=1;1j(l=0;l<e;l++){n=!1;1j(g=0;g<f.1h&&!n;g++)l===f[g]&&(n=!0);n||(h*=a-c[b[l]])}1f h}1b Jr(){1a.2iu=1.31r;1a.2it=-1.31r;1a.1z7=1a.1oq=0;1a.1n8=1;1a.23U=!1;1a.1EO=[];1a.3zq=100;1a.23T=!0;1a.1hu=1g y(0,1,1,1);1a.1N8=Cc.1ml.2Bd;1a.17h=1p 0;1a.2Ey="";1a.35m=!1;1a.2ps=1g k(0,0);1a.2Nt=1g k(1,1);1a.2QX=1g y(1,1,1,1);1a.3zp=Cc.1qT.11U}1b A1(a,b,c,d){1a.4VA=a;1a.4Vz=b;1a.5S=c;1a.6kS=d}1b kP(a){g(a)&&"1b"===2h a||(a=lP.6l0);1a.6kR=a}1b fH(a){v.2l("2I",a);1a.10z=na.14m(a);1a.10z.1F1()}1b B1(a){a=m(a,m.4Z);v.1N.2c("3v.4r",a.4r);1d b=m(a.2EN,Cp.2iy),c=na.14m(m(a.3zV,Cp.4Xs));c.1F1();1d d=Cp.4Xu(b);g(d)&&a.4r.18Y.1DJ.5CP(Zb.1y(d));a=c.16M({2I:"v1/2Eq"});g(b)&&a.6vv({3zU:b});1a.53O=b;1a.asE=c;1a.6kN=1g fH(a)}1b Ab(a){a=m(a,m.4Z);1a.4I=g(a.4I)?M.1y(a.4I):1g M;1a.4U=g(a.4U)?M.1y(a.4U):1g M;1a.2g=a.2g;1a.16q=m(a.16q,!0);1a.14K=m(a.14K,!0)}1b Ng(a,b,c){1f Tn({2I:a,1f8:"2AC",1iB:b,7M:c})}1b C1(a,b,c){1f Tn({2I:a,1f8:"1i3",1iB:b,7M:c})}1b Mx(a,b){g(gH)||(gH=1g Vc("5T0",3a.19B),gH.3t5({2Bp:"1Qq/3t4.js",2Bo:"1Qq/3t4.1JQ"}).4b(1b(){D1=!0}));if(!D1){if(!g(a))1t 1g r("4eL is 1X.");a=a 2m 1aq||1aq.2q0(a)?Z.5h(a):na.14m(a).1kw();if(g(a))1f a.4b(1b(a){if(g(a)){1d c=[];if(a 2m 1aq)c.1q(a);1s{if(0!==a.8o||a.10S!==a.3J.10S)a=a.4h(0,a.1h);c.1q(a.3J)}1d e=m(b,!1);1f gH.1fa({2g:a,6IY:e},c)}}).4b(1b(a){1f Vn.1y(a)})}}1b E1(a,b,c){if(!g(b))1t 1g r("4eL is 1X.");b=b 2m 1aq||1aq.2q0(b)?Z.5h(b):na.14m(b).1kw();if(g(b))1f b.4b(1b(b){if(g(b)){1d d=[];if(b 2m 1aq)d.1q(b);1s{if(0!==b.8o||b.10S!==b.3J.10S)b=b.4h(0,b.1h);d.1q(b.3J)}1d f=m(c,!1);1f a.1fa({2g:b,6IY:f},d)}}).4b(1b(a){1f Vn.1y(a)})}1b mP(a){v.2l("4eL",a);a=a 2m 1aq||1aq.2q0(a)?Z.5h(a):na.14m(a).1kw();if(g(a))1f a.4b(1b(a){if(g(a)){1d b=1g 1dE(a),d=0,e=b.9A(d,!0);d+=12X.12T;b.9A(d,!0);d+=12X.12T;e=32===e?ua.2NE:ua.2NF;1d f=b.9A(d,!0);d+=12X.12T;1d h=b.9A(d,!0);d+=12X.12T;b.9A(d,!0);d+=12X.12T;b=b.9A(d,!0);d+=12X.12T;a=1g 4L(a,d,b);a=Dp.1pn(a).3J;a=1g 4L(a);1f 1g Vn(e,f,h,a)}})}1b gf(a,b,c){v.2l("2I",a);b=m(b,!0);c=g(c)?c:1g Ke;c.2I=a;c.1RO=1b(){1d c=aB(a)||!b?!1:$F(a);1d e=Z.12L();gf.2QR(a,c,e);1f e.10l};1f qb.7M(c)}1b CB(a){1d b=a.2f9,c=a.8V,d=a.7M,e=m(a.13E,!1);v.1N.2c("2f9",b);v.1N.4n("8V",c);1d f=1g 1JN([b],{1I:c}),h;1f na.2MT().4b(1b(a){if(a)1f Z(na.2MS(f,{13E:e,22c:!1}));h=7O.1ui.2FI(f);1f(1g na({2I:h,7M:d})).1jN({13E:e})}).4b(1b(a){g(h)&&7O.1ui.1WT(h);1f a}).10g(1b(a){g(h)&&7O.1ui.1WT(h);1f Z.7N(a)})}1b Fe(a,b,c){if(!g(a))1t 1g r("2I is 1X.");g(b)?g(b.2qI)||(b=wc(b),b.2qI=F1.2qI):b=F1;a=xu(a,b,c);if(g(a))1f a.4b(1b(a){1f 4H.5N(a)})}1b Km(a,b,c){if(!g(a))1t 1g r("2I is 1X.");b=m(b,m.4Z);do 1d d="4fm"+1k.1ps().5s().11c(2,8);14p(g(7O[d]));1d e=1g zb(a),f=nj(m(e.16H,""));g(b.7V)&&(f=fb(b.7V,f));1d h=m(b.51h,"1Jg");f[h]=d;e.16H=Kg(f);a=e.5s();b=b.1aQ;g(b)&&(a=b.3z4(a));c=g(c)?c:1g Ke;c.2I=a;c.1RO=1b(){1d b=Z.12L();7O[d]=1b(a){b.5h(a);10G{4Y 7O[d]}11B(n){7O[d]=1p 0}};Km.2sd(a,d,b);1f b.10l};1f qb.7M(c)}1b Iu(a){v.2l("4eL",a);a=a 2m 1aq||1aq.2q0(a)?Z.5h(a):na.14m(a).1kw();if(g(a))1f a.4b(1b(a){if(g(a)){1d b=1g 4L(a),d=!0,e;1j(e=0;e<G1.1h;++e)if(G1[e]!==b[e]){d=!1;1W}if(!d)1t 1g qa("13H asD 1ol.");if(g(a.3J)){1d f=1g 1dE(a.3J);e=a.8o}1s f=1g 1dE(a),e=0;e+=12;b=f.9A(e,!0);e+=yj;if(b!==6k5)1t 1g qa("2D1 is 1Z 5Ko asC.");1d h=f.9A(e,!0);e+=yj;1d l=f.9A(e,!0);e+=yj;1d p=f.9A(e,!0);e+=yj;1d n=f.9A(e,!0);e+=yj;1d z=f.9A(e,!0);e+=yj;1d k=f.9A(e,!0);e+=yj;1d x=f.9A(e,!0);e+=yj;1d D=f.9A(e,!0);e+=yj;1d t=f.9A(e,!0);e+=yj;b=f.9A(e,!0);e+=yj;d=f.9A(e,!0);e+=yj;1d m=f.9A(e,!0);e+=yj;e+=m;f=f.9A(e,!0);e+=yj;a=g(a.3J)?1g 4L(a.3J,e,f):1g 4L(a,e,f);n===H.4ZH?n=ua.1fB:n===H.4ZG&&(n=ua.9m);if(!ua.1f6(n))1t 1g qa("asB is 2S a 1eu 8V.");if(ua.2gl(n)){if(0!==h)1t 1g qa("asA 2Q be 16m 16r 1Z 7y is 1iW.");if(1!==l)1t 1g qa("9B 1I 4V 1j 1iW 1fb 2Q be 1.");if(0!==p)1t 1g qa("asz 2Q be 16m 16r 1Z 7y is 1iW.");}1s{if(h!==H.7U)1t 1g qa("1Jh 3ss 1Hz 1ds are 11J.");if(z!==p)1t 1g qa("9B 13T 55g 8V 2Q be 1Z 1ik as 1Z 8V 1j 3Oy 1fb.");}if(0!==D)1t 1g qa("3D 1fb are 1Pt.");if(0!==t)1t 1g qa("2GX 3Wv are 1Pt.");l=a.8o;p=2K(d);1j(e=0;e<d;++e){z=p[e]={};1j(D=0;D<b;++D){t=k>>e;f=x>>e;m=ua.2gl(n)?ua.3zn(n,t,f):ua.3zj(n,h,t,f);1d G=1g 4L(a.3J,l,m);z[H1[D]]=1g Vn(n,t,f,G);l+=m}l+=3-(l+3)%4+4}h=p;if(1===b)1j(e=0;e<d;++e)h[e]=h[e][H1[0]];1===d&&(h=h[0]);1f h}})}1b zj(a,b,c){1f Tn({2I:a,1f8:"3n",1iB:b,1w0:"3l/1g3",7M:c})}1b dh(a){a=m(a,0);1a.1gN=2K(a);1a.1bC=a}1b hH(){r.8i()}1b nP(a,b,c,d,e){if(!(d>=e)){1d f=1k.2t(.5*(d+e));nP(a,b,c,d,f);nP(a,b,c,f+1,e);1d h=f-d+1,l=e-f,g=oP,n=pP,z,k;1j(z=0;z<h;++z)g[z]=a[d+z];1j(k=0;k<l;++k)n[k]=a[f+k+1];1j(k=z=0;d<=e;++d){f=g[z];1d x=n[k];z<h&&(k>=l||0>=b(f,x,c))?(a[d]=f,++z):k<l&&(a[d]=x,++k)}}}1b qP(a,b,c){if(!g(a))1t 1g r("4x is 1X.");if(!g(b))1t 1g r("2F0 is 1X.");1d d=a.1h,e=1k.8a(.5*d);oP.1h=e;pP.1h=e;nP(a,b,c,0,d-1);oP.1h=0;pP.1h=0}1b Db(a,b,c,d){1a.3I=m(a,0);1a.1DO=m(b,0);1a.3W=m(c,1);1a.1DN=m(d,0)}1b Fh(a,b){if(!g(a))1t 1g r("49J is 1X.");if(!g(b))1t 1g r("3w 1K is 1X.");1a.2QQ=k.1y(a.2V);1a.1Ws=a.3L;1a.23W=0;1a.1Es=1a.4Va=1a.4V9=1p 0;1a.2Ld=b}1b af(a,b,c){a=m(a,0);b=m(b,0);c=m(c,0);1a.1Q=1g 4A([a,b,c])}1b rP(a,b,c){v.2l("2I",a);v.2l("asy",b);g(c)&&v.1N.2c("2wW",c);a=na.14m(a);a.1F1();a.1qN({10t:b});1a.10z=a;1a.3pR=m(c,{})}1b sP(a,b){if(!g(a))1t 1g r("3l is 1X.");if(""!==a){b=m(b,m.4Z);1d c=m(b.9O,"4np 1TG-1TF"),d=m(b.15n,!1),e=m(b.4K,!0),f=m(b.2IU,1),h=m(b.1a4,y.28g),l=m(b.1fT,0),p=2*l,n=3n.4O("3M");n.1G=1;n.1D=1;n.2r.9O=c;1d z=n.1ft("2d");g(Ju)||(g(z.6IX)?Ju="6IX":g(z.6IW)?Ju="6IW":g(z.6IV)?Ju="6IV":g(z.6IU)&&(Ju="6IU"));z.9O=c;z.1ty="9p";z.11a=f;z[Ju]=!1;z.1v2=m(b.1v2,"7b");n.2r.12F="1qr";3n.1hg.3A(n);1d k=I1(z,a,d,e);n.6e=k;3n.1hg.18Z(n);n.2r.12F="";1d x=-k.14w.21v,D=k.1D+p,t=D-(D-k.49G+l)+p;n.1G=1k.8a(k.1G)+x+p;n.1D=D;z.9O=c;z.1ty="9p";z.11a=f;z[Ju]=!1;h!==y.28g&&(z.15b=h.1fY(),z.1ZB(0,0,n.1G,n.1D));d&&(c=m(b.69O,y.1a7),z.1ch=c.1fY(),z.3kM(a,x+l,t));e&&(b=m(b.1b5,y.9r),z.15b=b.1fY(),z.2m4(a,x+l,t));1f n}}1b Ku(){1a.1ot={}}1b 6IT(a,b,c){a.2x4();a.3b(c/24,c/24);a.15b=b.1fY();a.1ch=b.6qJ(.6,6jP).1fY();a.11a=.846;a.1Ja();a.1FW(6.72,.422);a.1bT(17.28,.422);a.4eK(18.553,.422,19.577,1.758,19.577,3.415);a.1bT(19.577,10.973);a.4eK(19.577,12.63,18.553,13.966,17.282,13.966);a.1bT(14.386,14.2X4);a.1bT(11.826,23.578);a.1bT(9.614,14.2X4);a.1bT(6.719,13.965);a.4eK(5.446,13.983,4.422,12.629,4.422,10.972);a.1bT(4.422,3.416);a.4eK(4.423,1.76,5.447,.423,6.718,.423);a.26x();a.4K();a.15n();a.4mQ()}1b J1(a,b,c){1d d=c/2.5,e=d,f=d;b.1G>b.1D?f=b.1D/b.1G*d:b.1G<b.1D&&(e=b.1G/b.1D*d);d=1k.9p((c-e)/2);c=1k.9p(7/24*c-f/2);a.3e9="16h-9H";a.1DA(b,d-1,c,e,f);a.1DA(b,d,c-1,e,f);a.1DA(b,d+1,c,e,f);a.1DA(b,d,c+1,e,f);a.3e9="16h-2aM";a.15b=y.1a7.1fY();a.1ZB(d-1,c-1,e+2,f+2);a.3e9="16h-9H";a.1DA(b,d,c,e,f);a.3e9="16h-2aM";a.15b=y.9r.1fY();a.1ZB(d-1,c-2,e+2,f+2)}1b iH(a,b,c,d,e){DB[0]=a;DB[1]=b;DB[2]=c;DB[3]=d;1d f=4H.8s(DB),h=e[f];if(g(h))1f h;1d l=3n.4O("3M");l.1G=d;l.1D=d;1d p=l.1ft("2d");6IT(p,c,d);if(g(a))1f a=na.14m(a).1jN().4b(1b(a){J1(p,a,d);1f e[f]=l}),e[f]=a;g(b)&&(a=sP(b,{9O:"1M4 "+d+"px 1TG-1TF"}),J1(p,a,d));1f e[f]=l}1b Lu(a){a=m(a,m.4Z);1a.14s=m(a.9S,za.1yD);1a.1hz="asx"}1b Mu(){1a.1hz="asw"}1b tP(a){1d b=a.9S,c=a.3y,d=a.1oT,e=c.2w.1K.2a,f=e.1h,h=a.1H9,l=a.5C||h,p=a.7b||h;if(b.st||b.2U||b.8Q||b.8T||d){1d n=a.22a,z=a.6jv,w=a.3c,x=a.15K,D=a.16U,t=6jH;t.x=n.x;t.y=n.y;1d m=b.st?1g 4A(f/3*2):1p 0,G;b.2U&&(G=D&&l&&!h?c.2w.2U.2a:1g 4A(f));1d aa=b.8Q?1g 4A(f):1p 0,r=b.8T?1g 4A(f):1p 0,q=d?1g 4A(f):1p 0,u=0,v=0,y=6jL,A=6jK,L=6jJ,S=!0,U=6jE,R=6jD;if(0!==x){1d V=ca.1gG(z.24j.2U,x,K1);U=J.1fE(V,U);V=ca.1gG(z.24j.2U,-x,K1);R=J.1fE(V,R)}1s U=J.1y(J.8K,U),R=J.1y(J.8K,R);V=x=0;l&&p&&(x=f/2,V=f/3,f/=2);1j(1d W=0;W<f;W+=3){1d da=k.7j(e,W,6jF);if(b.st){1d ea=J.10r(U,da,6jM);ea=w.1fI(ea,ea);1d Sa=z.1RH(ea,6jG);C.3V(Sa,t,Sa);ea=B.2Y(Sa.x/n.1G,0,1);Sa=B.2Y(Sa.y/n.1D,0,1);p&&(m[u+V]=ea,m[u+1+V]=Sa);l&&(m[u]=ea,m[u+1]=Sa);u+=2}if(b.2U||b.8Q||b.8T||d){ea=v+1;Sa=v+2;if(h){if(W+3<f){1d E=k.7j(e,W+3,43i);if(S){S=k.7j(e,W+f,6jI);if(D){1d dc=E,F=S,Ob=w,vd=Ob.10Z(da,6jN).1D,uc=Ob.10Z(dc,L1);uc.1D=vd;Ob.13B(uc,dc);dc=Ob.10Z(F,L1);dc.1D=vd-100;Ob.13B(dc,F)}k.3V(E,da,E);k.3V(S,da,S);y=k.1T(k.4B(S,E,y),y);S=!1}k.5T(E,da,B.1io)&&(S=!0)}if(b.8Q||b.8T)L=w.17N(da,L),b.8Q&&(A=k.1T(k.4B(L,y,A),A))}1s if(y=w.17N(da,y),b.8Q||b.8T)D&&(jH=k.7j(G,v,jH),ao=k.4B(k.16a,jH,ao),ao=k.1T(J.10r(R,ao,ao),ao),b.8T&&(Nx=k.1T(k.4B(jH,ao,Nx),Nx))),A=k.4B(k.16a,y,A),A=k.1T(J.10r(R,A,A),A),b.8T&&(L=k.1T(k.4B(y,A,L),L));b.2U&&(a.1H9?(G[v+x]=y.x,G[ea+x]=y.y,G[Sa+x]=y.z):p&&(G[v+x]=-y.x,G[ea+x]=-y.y,G[Sa+x]=-y.z),l&&!D||h)&&(G[v]=y.x,G[ea]=y.y,G[Sa]=y.z);d&&(h&&(y=w.17N(da,y)),q[v+x]=-y.x,q[ea+x]=-y.y,q[Sa+x]=-y.z);b.8Q&&(a.1H9?(aa[v+x]=A.x,aa[ea+x]=A.y,aa[Sa+x]=A.z):p&&(aa[v+x]=-A.x,aa[ea+x]=-A.y,aa[Sa+x]=-A.z),l&&(D?(aa[v]=ao.x,aa[ea]=ao.y,aa[Sa]=ao.z):(aa[v]=A.x,aa[ea]=A.y,aa[Sa]=A.z)));b.8T&&(p&&(r[v+x]=L.x,r[ea+x]=L.y,r[Sa+x]=L.z),l&&(D?(r[v]=Nx.x,r[ea]=Nx.y,r[Sa]=Nx.z):(r[v]=L.x,r[ea]=L.y,r[Sa]=L.z)));v+=3}}b.st&&(c.2w.st=1g Pa({3k:I.3O,2Z:2,2a:m}));b.2U&&(c.2w.2U=1g Pa({3k:I.3O,2Z:3,2a:G}));b.8Q&&(c.2w.8Q=1g Pa({3k:I.3O,2Z:3,2a:aa}));b.8T&&(c.2w.8T=1g Pa({3k:I.3O,2Z:3,2a:r}));d&&(c.2w.1t8=1g Pa({3k:I.3O,2Z:3,2a:q}))}a.19r&&g(a.8J)&&(b=e.1h/3,d=1g 4L(b),a.8J===ac.1g5?l&&p||h?d=Ic(d,1,0,b/2):l&&(d=Ic(d,1)):d=Ic(d,a.8J===ac.6i?0:1),c.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:d}));1f c}1b M1(a,b,c,d,e){e=m(e,1g Q);if(!g(a)||3>a.1h)1f e.4o=0,e.4P=0,e.4C=0,e.5a=0,e;if(c===Ib.1sX)1f Q.3o4(a,b,e);Ox.3c.2L(b)||(Ox=1g ml(1p 0,1p 0,b));e.4o=3a.19B;e.5a=3a.1r7;e.4C=3a.19B;e.4P=3a.1r7;Kr.4o=3a.19B;Kr.5a=3a.1r7;c=1/B.2a3(d,b.17i);d=a.1h;1j(1d f=b.10Z(a[0],6jB),h=6jC,l,p=1;p<d;p++)l=h,h=f,f=b.10Z(a[p],l),Ox.1Nh(h,f),N1(Ox,c,e,Kr);l=h;h=f;f=b.10Z(a[0],l);Ox.1Nh(h,f);N1(Ox,c,e,Kr);e.5a-e.4o>Kr.4o-Kr.5a&&(e.5a=Kr.5a,e.4o=Kr.4o);1f e}1b N1(a,b,c,d){1d e=a.1R1;b=1k.8a(e*b);e=0<b?e/(b-1):3a.19B;1j(1d f=0,h=0;h<b;h++){1d l=a.2rA(f,6jA);f+=e;1d g=l.3N;l=l.4k;c.4o=1k.2o(c.4o,g);c.5a=1k.1V(c.5a,g);c.4C=1k.2o(c.4C,l);c.4P=1k.1V(c.4P,l);d.4o=0<g?1k.2o(g,d.4o):d.4o;d.5a=0>g?1k.1V(g,d.5a):d.5a}}1b tc(a){v.1N.2c("3v",a);v.1N.2c("3v.1ga",a.1ga);if(g(a.16U)&&a.16U&&g(a.1D))1t 1g r("1e6 14W 1oE 3v.16U and 3v.1D");if(g(a.14g)&&a.14g!==Ib.1gi&&a.14g!==Ib.1sX)1t 1g r("13H 14g. 3qZ 3v are 2lr.1gi and 2lr.1sX.");1d b=a.1ga,c=m(a.9S,za.1yD),d=m(a.3c,ba.9y),e=m(a.6f,B.15y),f=m(a.15K,0),h=m(a.16U,!1),l=h&&g(a.9i),p=m(a.1D,0),n=m(a.9i,p);if(!l){1d z=1k.1V(p,n);n=1k.2o(p,n);p=z}1a.14s=za.1y(c);1a.5W=ba.1y(d);1a.14J=e;1a.1mB=f;1a.10o=p;1a.1d5=n;1a.3zc=m(a.1BL,!0);1a.3zb=m(a.1z2,!0);1a.6ju=m(a.5zJ,!0);1a.1z4=b;1a.2rc=h;1a.2Ep=l;1a.1Hp=m(a.1oT,!1);1a.1hz="asv";1a.12j=a.8J;1a.1sP=m(a.14g,Ib.1gi);1a.1NF=1a.7T=1p 0;1a.4q=xc.3zY(b)+ba.4q+za.4q+12}1b bo(a,b){1a.3q=g(a)?a:[];1a.1nt=g(b)?b:[]}1b Lr(a){v.1N.2c("3v",a);v.1N.2c("3v.1ga",a.1ga);if(a.16U&&g(a.1D))1t 1g r("1e6 14W 1oE 3v.16U and 3v.1D");if(g(a.14g)&&a.14g!==Ib.1gi&&a.14g!==Ib.1sX)1t 1g r("13H 14g. 3qZ 3v are 2lr.1gi and 2lr.1sX.");1d b=a.1ga,c=m(a.3c,ba.9y),d=m(a.6f,B.15y),e=m(a.16U,!1),f=e&&g(a.9i),h=m(a.14g,Ib.1gi),l=m(a.1D,0),p=m(a.9i,l);if(!f){1d n=1k.1V(l,p);p=1k.2o(l,p);l=n}1a.5W=ba.1y(c);1a.14J=d;1a.10o=l;1a.1d5=p;1a.1sP=h;1a.1z4=b;1a.2rc=e;1a.2Ep=f;1a.12j=a.8J;1a.1hz="asu";1a.4q=xc.3zY(b)+ba.4q+8}1b lk(a){a=m(a,m.4Z);1d b=a.3q,c=a.1Bd,d=m(a.1G,1),e=m(a.2P8,-1),f=m(a.3z2,!1);if(!g(b)||2>b.1h)1t 1g r("At 1gR 1uk 3q are 1X.");if("2b"!==2h d)1t 1g r("1G 2Q be a 2b");if(g(c)&&(f&&c.1h<b.1h||!f&&c.1h<b.1h-1))1t 1g r("1Bd 14d an 16w 1h.");1a.9h=b;1a.1BN=c;1a.10V=d;1a.49y=e;1a.2El=f;1a.49x=a.6Y;1a.1x6=a.1ze;1a.14s=za.1y(m(a.9S,za.1yD));1a.4Nf=m(a.23j,!0);g(a.23j)&&(ek("3KB.23j","3KB.23j is 2l9 and 1B4 be 1JR in 1di 1.55. 1c7 3KB.14g 1gK."),a.14g=a.23j?Ib.1gi:Ib.6i);1a.1sP=m(a.14g,Ib.1gi);1a.4Nf=1a.1sP!==Ib.6i;1a.14J=m(a.6f,B.15y);1a.5W=ba.1y(m(a.3c,ba.9y));1a.1hz="ast";a=1+b.1h*k.4q;a+=g(c)?1+c.1h*y.4q:1;1a.4q=a+ba.4q+za.4q+4+2}1b Mr(a){a=m(a,m.4Z);1d b=a.1Ng,c=a.1VL;if(!g(b))1t 1g r("3v.1Ng is 1X.");if(!g(c))1t 1g r("3v.1VL is 1X.");1a.9h=b;1a.2rb=c;1a.5W=ba.1y(m(a.3c,ba.9y));1a.1zZ=m(a.1b8,ie.1Hs);1a.14s=za.1y(m(a.9S,za.1yD));1a.14J=m(a.6f,B.15y);1a.1hz="ass";1a.1kI=m(a.1kI,k.6h);a=1+b.1h*k.4q;a+=1+c.1h*C.4q+k.4q;1a.4q=a+ba.4q+za.4q+2}1b Px(a){a=m(a,m.4Z);1d b=a.1Ng,c=a.1VL;if(!g(b))1t 1g r("3v.1Ng is 1X.");if(!g(c))1t 1g r("3v.1VL is 1X.");1a.9h=b;1a.2rb=c;1a.5W=ba.1y(m(a.3c,ba.9y));1a.1zZ=m(a.1b8,ie.1Hs);1a.14J=m(a.6f,B.15y);1a.1hz="asr";a=1+b.1h*k.4q;a+=1+c.1h*C.4q;1a.4q=a+ba.4q+2}1b 6IS(a){1d b=a.5I,c=a.12K;1f 1b(d,e){g(e)||(e=1g ca);1d f=a.1Kr=a.1Ks(d,a.1Kr);1f ca.3Ar(b[f],b[f+1],(d-c[f])/(c[f+1]-c[f]),e)}}1b Nu(a){a=m(a,m.4Z);1d b=a.5I;a=a.12K;if(!g(b)||!g(a))1t 1g r("5I and 12K are 1X.");if(2>b.1h)1t 1g r("5I.1h 2Q be 9U 6L or 14B to 2.");if(a.1h!==b.1h)1t 1g r("12K.1h 2Q be 14B to 5I.1h.");1a.1f7=a;1a.15p=b;1a.49w=6IS(1a);1a.1Kr=0}1b uP(a,b,c,d,e){O1(a,b,c||0,d||a.1h-1,e||6IR)}1b O1(a,b,c,d,e){1j(;d>c;){if(600<d-c){1d f=d-c+1,h=b-c+1,l=1k.7k(f),g=.5*1k.108(2*l/3);l=.5*1k.3Y(l*g*(f-g)/f)*(0>h-f/2?-1:1);O1(a,b,1k.1V(c,1k.2t(b-h*g/f+l)),1k.2o(d,1k.2t(b+(f-h)*g/f+l)),e)}f=a[b];h=c;g=d;EB(a,c,b);1j(0<e(a[d],f)&&EB(a,c,d);h<g;){EB(a,h,g);h++;1j(g--;0>e(a[h],f);)h++;1j(;0<e(a[g],f);)g--}0===e(a[c],f)?EB(a,c,g):(g++,EB(a,g,d));g<=b&&(c=g+1);b<=g&&(d=g-1)}}1b EB(a,b,c){1d d=a[b];a[b]=a[c];a[c]=d}1b 6IR(a,b){1f a<b?-1:a>b?1:0}1b FB(a,b){if(!(1a 2m FB))1f 1g FB(a,b);1a.2xl=1k.1V(4,a||9);1a.30R=1k.1V(2,1k.8a(.4*1a.2xl));b&&1a.3NJ(b);1a.9P()}1b Qx(a,b){GB(a,0,a.9d.1h,b,a)}1b GB(a,b,c,d,e){e||(e=Rx(1F));e.1cW=12g;e.1cV=12g;e.1ey=-12g;e.1ex=-12g;1j(1d f;b<c;b++)f=a.9d[b],HB(e,a.1hj?d(f):f);1f e}1b HB(a,b){a.1cW=1k.2o(a.1cW,b.1cW);a.1cV=1k.2o(a.1cV,b.1cV);a.1ey=1k.1V(a.1ey,b.1ey);a.1ex=1k.1V(a.1ex,b.1ex);1f a}1b P1(a,b){1f a.1cW-b.1cW}1b Q1(a,b){1f a.1cV-b.1cV}1b vP(a){1f(a.1ey-a.1cW)*(a.1ex-a.1cV)}1b kH(a){1f a.1ey-a.1cW+(a.1ex-a.1cV)}1b wP(a,b){1f a.1cW<=b.1cW&&a.1cV<=b.1cV&&b.1ey<=a.1ey&&b.1ex<=a.1ex}1b lH(a,b){1f b.1cW<=a.1ey&&b.1cV<=a.1ex&&b.1ey>=a.1cW&&b.1ex>=a.1cV}1b Rx(a){1f{9d:a,1D:1,1hj:!0,1cW:12g,1cV:12g,1ey:-12g,1ex:-12g}}1b R1(a,b,c,d,e){1j(1d f=[b,c],h;f.1h;)c=f.9l(),b=f.9l(),c-b<=d||(h=b+1k.8a((c-b)/d/2)*d,uP(a,h,b,c,e),f.1q(b,h,h,c))}1b IB(){1a.49u=FB()}1b Ou(){1a.1ex=1a.1ey=1a.1cV=1a.1cW=0;1a.id=""}1b 6jk(a,b){1f a.id===b.id}1b S1(a,b,c,d,e,f,h){1d l=1k.3i(b);e=d*l;l*=c;1d g=1k.2T(b);d*=g;c*=g;rl=xP.12z(a,rl);rl=k.3V(rl,mH,rl);b=ub.49s(b,6jh);rl=ub.10r(b,rl,rl);rl=k.add(rl,mH,rl);a=xP.1cZ(rl,a);--f;--h;b=a.4k;g=b+f*c;1d n=b-e*h,z=b-e*h+f*c,w=a.3N,x=w+f*l,D=w+h*d;f=w+h*d+f*l;1f{4P:1k.1V(b,g,n,z),4C:1k.2o(b,g,n,z),5a:1k.1V(w,x,D,f),4o:1k.2o(w,x,D,f),3c5:e,3c3:d,3c4:l,3c2:c,4UH:a}}1b T1(a,b){1d c=1g Pb({2w:1g ce,6Z:Ja.11G});c.2w.1K=1g Pa({3k:I.18l,2Z:3,2a:b.3q});a.2U&&(c.2w.2U=1g Pa({3k:I.3O,2Z:3,2a:b.1q6}));a.8Q&&(c.2w.8Q=1g Pa({3k:I.3O,2Z:3,2a:b.2iw}));a.8T&&(c.2w.8T=1g Pa({3k:I.3O,2Z:3,2a:b.2QP}));1f c}1b U1(a,b){1d c=a.14s,d=a.5W,e=b.1D;a=b.1G;1d f=b.3z6,h=b.3z5,l=0,g=e,n=e,z=0;f&&(l=1,--n,z+=1);h&&(--g,--n,z+=1);z+=a*n;1j(1d w=c.1K?1g 13X(3*z):1p 0,x=c.st?1g 4A(2*z):1p 0,D=0,t=0,m=yP,G=6j8,aa=3a.6w,r=3a.6w,q=-3a.6w,u=-3a.6w;l<g;++l)1j(1d v=0;v<a;++v)Gh.1Wr(b,d,c.st,l,v,m,G),w[D++]=m.x,w[D++]=m.y,w[D++]=m.z,c.st&&(x[t++]=G.x,x[t++]=G.y,aa=1k.2o(aa,G.x),r=1k.2o(r,G.y),q=1k.1V(q,G.x),u=1k.1V(u,G.y));f&&(Gh.1Wr(b,d,c.st,0,0,m,G),w[D++]=m.x,w[D++]=m.y,w[D++]=m.z,c.st&&(x[t++]=G.x,x[t++]=G.y,aa=G.x,r=G.y,q=G.x,u=G.y));h&&(Gh.1Wr(b,d,c.st,e-1,0,m,G),w[D++]=m.x,w[D++]=m.y,w[D]=m.z,c.st&&(x[t++]=G.x,x[t]=G.y,aa=1k.2o(aa,G.x),r=1k.2o(r,G.y),q=1k.1V(q,G.x),u=1k.1V(u,G.y)));if(c.st&&(0>aa||0>r||1<q||1<u))1j(e=0;e<x.1h;e+=2)x[e]=(x[e]-aa)/(q-aa),x[e+1]=(x[e+1]-r)/(u-r);b=b.6j4;aa=w.1h;r=c.2U?1g 4A(aa):1p 0;q=c.8Q?1g 4A(aa):1p 0;u=c.8T?1g 4A(aa):1p 0;e=0;g=V1;D=W1;t=X1;if(c.2U||c.8Q||c.8T)1j(m=0;m<aa;m+=3){G=k.7j(w,m,yP);l=e+1;v=e+2;t=d.17N(G,t);if(c.8Q||c.8T)k.4B(k.16a,t,D),J.10r(b,D,D),k.1T(D,D),c.8T&&k.1T(k.4B(t,D,g),g);c.2U&&(r[e]=t.x,r[l]=t.y,r[v]=t.z);c.8Q&&(q[e]=D.x,q[l]=D.y,q[v]=D.z);c.8T&&(u[e]=g.x,u[l]=g.y,u[v]=g.z);e+=3}d=T1(c,{3q:w,1q6:r,2iw:q,2QP:u});w=6*(a-1)*(n-1);f&&(w+=3*(a-1));h&&(w+=3*(a-1));w=Ta.9g(z,w);1j(r=aa=b=0;r<n-1;++r){1j(q=0;q<a-1;++q)u=b,e=u+a,g=e+1,D=u+1,w[aa++]=u,w[aa++]=e,w[aa++]=D,w[aa++]=D,w[aa++]=e,w[aa++]=g,++b;++b}if(f||h){q=z-1;u=z-1;f&&h&&(q=z-2);b=0;if(f)1j(r=0;r<a-1;r++)f=b,z=f+1,w[aa++]=q,w[aa++]=f,w[aa++]=z,++b;if(h)1j(b=(n-1)*a,r=0;r<a-1;r++)f=b,z=f+1,w[aa++]=f,w[aa++]=u,w[aa++]=z,++b}d.4N=w;c.st&&(d.2w.st=1g Pa({3k:I.3O,2Z:2,2a:x}));1f d}1b Sx(a,b,c,d,e){a[b++]=d[c];a[b++]=d[c+1];a[b++]=d[c+2];a[b++]=e[c];a[b++]=e[c+1];a[b]=e[c+2];1f a}1b Tx(a,b,c,d){a[b++]=d[c];a[b++]=d[c+1];a[b++]=d[c];a[b]=d[c+1];1f a}1b zP(a,b,c,d,e){if(0===c)1f Q.1y(a,e);a=Gh.49r(a,b,c,0,Y1,Z1);b=a.1D;c=a.1G;1d f=6j7;Gh.1Wr(a,d,!1,0,0,f[0]);Gh.1Wr(a,d,!1,0,c-1,f[1]);Gh.1Wr(a,d,!1,b-1,0,f[2]);Gh.1Wr(a,d,!1,b-1,c-1,f[3]);1f Q.3o4(f,d,e)}1b Hi(a){a=m(a,m.4Z);1d b=a.3g;v.1N.2c("3g",b);Q.1f6(b);if(b.4P<b.4C)1t 1g r("3v.3g.4P 2Q be 9U 6L or 14B to 3v.3g.4C");1d c=m(a.1D,0),d=m(a.9i,c);1a.7T=Q.1y(b);1a.14J=m(a.6f,B.15y);1a.5W=ba.1y(m(a.3c,ba.9y));1a.2iv=1k.1V(c,d);1a.1dP=m(a.5S,0);1a.1mB=m(a.15K,0);1a.14s=za.1y(m(a.9S,za.1yD));1a.1d5=1k.2o(c,d);1a.1Hp=m(a.1oT,!1);1a.1hz="asq";1a.12j=a.8J;1a.1NF=1a.49t=1p 0}1b $1(a,b){a=a.5W;1d c=b.1D,d=b.1G,e=b.3z6,f=b.3z5,h=c,l=2,g=0,n=4;e&&(--l,--h,g+=1,n-=2);f&&(--l,--h,g+=1,n-=2);h=1g 13X(3*(g+(l*d+2*h-n)));g=l=0;n=6iZ;if(e)Gh.1Wr(b,a,!1,g,0,n),h[l++]=n.x,h[l++]=n.y,h[l++]=n.z;1s 1j(e=0;e<d;e++)Gh.1Wr(b,a,!1,g,e,n),h[l++]=n.x,h[l++]=n.y,h[l++]=n.z;e=d-1;1j(g=1;g<c;g++)Gh.1Wr(b,a,!1,g,e,n),h[l++]=n.x,h[l++]=n.y,h[l++]=n.z;g=c-1;if(!f)1j(e=d-2;0<=e;e--)Gh.1Wr(b,a,!1,g,e,n),h[l++]=n.x,h[l++]=n.y,h[l++]=n.z;e=0;1j(g=c-2;0<g;g--)Gh.1Wr(b,a,!1,g,e,n),h[l++]=n.x,h[l++]=n.y,h[l++]=n.z;b=Ta.9g(h.1h/3,h.1h/3*2);1j(c=a=0;c<h.1h/3-1;c++)b[a++]=c,b[a++]=c+1;b[a++]=h.1h/3-1;b[a++]=0;a=1g Pb({2w:1g ce,6Z:Ja.1ao});a.2w.1K=1g Pa({3k:I.18l,2Z:3,2a:h});a.4N=b;1f a}1b Nr(a){a=m(a,m.4Z);1d b=a.3g,c=m(a.6f,B.15y),d=m(a.3c,ba.9y),e=m(a.5S,0);if(!g(b))1t 1g r("3g is 1X.");Q.1f6(b);if(b.4P<b.4C)1t 1g r("3v.3g.4P 2Q be 9U 6L 3v.3g.4C");1d f=m(a.1D,0),h=m(a.9i,f);1a.7T=Q.1y(b);1a.14J=c;1a.5W=d;1a.2iv=1k.1V(f,h);1a.1dP=e;1a.1d5=1k.2o(f,h);1a.12j=a.8J;1a.1hz="asp"}1b AP(a,b,c){v.1N.2c("16u",a);v.1N.2b("6b",b);v.2l("3q",c);1f a.9c.4b(1b(){1f 6IQ(a,b,c)})}1b 6IQ(a,b,c){1d d=a.8c,e,f=[],h={};1j(e=0;e<c.1h;++e){1d l=d.1mi(c[e],b),g=l.5s();h.3p(g)||(l={x:l.x,y:l.y,6b:b,8c:d,16u:a,3q:[]},h[g]=l,f.1q(l));h[g].3q.1q(c[e])}b=[];1j(e=0;e<f.1h;++e)d=f[e],h=1g Ke({1j8:!1,1mj:!0,1I:Jd.1Q8}),d=d.16u.1Bf(d.x,d.y,d.6b,h,!0).4b(6IP(d,a)).10g($oa(d)),b.1q(d);1f Z.all(b,1b(){1f c})}1b 6IP(a,b){1d c=a.3q,d=a.8c.1d1(a.x,a.y,a.6b);1f 1b(a){if(b.2iJ&&b.2Fo)1f b.2SI(a.3J).4b(1b(e){1j(1d f=0;f<c.1h;++f){1d h=c[f],l=b.4YL(a,e.2g.3J);h.1D=l.3bW(d,h.3N,h.4k)}});1j(1d e=0;e<c.1h;++e){1d h=c[e];h.1D=a.3bW(d,h.3N,h.4k)}}}1b $oa(a){1d b=a.3q;1f 1b(){1j(1d a=0;a<b.1h;++a)b[a].1D=1p 0}}1b BP(a,b){if(!g(a))1t 1g r("16u is 1X.");if(!g(b))1t 1g r("3q is 1X.");1f a.9c.4b(1b(){1d c=[],d=[],e=a.1b9;if(!g(e)&&!a.2iJ)1t 1g r("58p 9N a 1st 9Z 17m 14d 11H 1b9.");1j(1d f=[],h=0;h<b.1h;++h){1d l=b[h],p=g(e)?e.4aW(l):a.1iv[a.1iv.1h-1];d[h]=p;if(0===p){a.8c.1mi(l,1,CP);1d n=a.2Eh(CP.x,CP.y,1);g(n)&&f.1q(n)}n=c[p];g(n)||(c[p]=n=[]);n.1q(l)}1f Z.all(f).4b(1b(){1f Z.all(c.5d(1b(b,c){if(g(b))1f AP(a,c,b)}))}).4b(1b(){1j(1d c=[],f=0;f<b.1h;++f){1d h=b[f];(g(e)?e.4aW(h):a.1iv[a.1iv.1h-1])!==d[f]&&c.1q(h)}if(0<c.1h)1f BP(a,c)}).4b(1b(){1f b})})}1b Or(a,b,c){a=a.17e;if(a===3n)1f c.x=b.1ld,c.y=b.2dH,c;a=a.1ZD();c.x=b.1ld-a.3B;c.y=b.2dH-a.5C;1f c}1b DP(a,b){g(b)&&(a+="+"+b);1f a}1b Pu(a){if(a.5kh)1f mk.3Uc;if(a.5ke)1f mk.34x;if(a.aso)1f mk.4ys}1b Ii(a,b,c,d){1b e(b){d(a,b)}c.7K(b,e,!1);a.2QN.1q(1b(){c.12R(b,e,!1)})}1b EP(a){1f Kd()-a.3Ce>Ne.4Uq}1b FP(a,b,c){1d d=a.x-b.x;a=a.y-b.y;1f 1k.3Y(d*d+a*a)<c}1b a2(a,b){if(EP(a)){1d c=b.12n;a.1KL[c]=!0;if(c===sg.1hc)1d d=Va.25P;1s if(c===sg.2QO)d=Va.49o;1s if(c===sg.1sk)d=Va.49p;1s 1f;c=Or(a,b,a.2s7);C.1y(c,a.3eF);C.1y(c,a.3Cd);1d e=Pu(b);a=a.1NE(d,e);g(a)&&(C.1y(c,b2.1K),a(b2),b.1yA())}}1b GP(a,b,c,d){1d e=Pu(d);b=a.1NE(b,e);c=a.1NE(c,e);if(g(b)||g(c))d=Or(a,d,a.2s7),g(b)&&(C.1y(d,c2.1K),b(c2)),g(c)&&FP(a.3eF,d,a.57q)&&(C.1y(d,d2.1K),c(d2))}1b HP(a,b){if(EP(a)){1d c=b.12n;if(c===sg.1hc||c===sg.2QO||c===sg.1sk)a.1KL[sg.1hc]&&(GP(a,Va.1lX,Va.1yr,b),a.1KL[sg.1hc]=!1),a.1KL[sg.2QO]&&(GP(a,Va.4Uw,Va.6iU,b),a.1KL[sg.2QO]=!1),a.1KL[sg.1sk]&&(GP(a,Va.4Ux,Va.2hv,b),a.1KL[sg.1sk]=!1)}}1b e2(a,b){if(EP(a)){1d c=Pu(b),d=Or(a,b,a.2s7),e=a.3Cd;c=a.1NE(Va.1kj,c);g(c)&&(C.1y(e,IP.18t),C.1y(d,IP.11R),c(IP,b));C.1y(d,e);(a.1KL[sg.1hc]||a.1KL[sg.2QO]||a.1KL[sg.1sk])&&b.1yA()}}1b apa(a,b){if(b.12n===sg.1hc){1d c=Va.3j4;1d d=Pu(b);c=a.1NE(c,d);g(c)&&(Or(a,b,f2.1K),c(f2))}}1b 6IJ(a,b){if(g(b.4eJ)){1d c=b.asn;c=c===b.asl?-b.4eJ:c===b.asj?40*-b.4eJ:120*-b.4eJ}1s c=0<b.51X?-120*b.51X:b.6xI;if(g(c)){1d d=Pu(b);a=a.1NE(Va.1TL,d);g(a)&&(a(c),b.1yA())}}1b 6IL(a,b){a.3Ce=Kd();1d c=b.3AQ,d,e=c.1h,f=a.9h;1j(d=0;d<e;++d){1d h=c[d];1d l=h.26E;f.1C(l,Or(a,h,1g C))}nH(a,b);a=a.1RV;1j(d=0;d<e;++d)h=c[d],l=h.26E,a.1C(l,C.1y(f.1n(l)))}1b g2(a,b){a.3Ce=Kd();1d c=b.3AQ,d,e=c.1h,f=a.9h;1j(d=0;d<e;++d){1d h=c[d];h=h.26E;f.3S(h)}nH(a,b);a=a.1RV;1j(d=0;d<e;++d)h=c[d],h=h.26E,a.3S(h)}1b nH(a,b){1d c=Pu(b),d=a.9h,e=d.1h,f=a.3Cf;if(1!==e&&a.1KL[sg.1hc]){a.1KL[sg.1hc]=!1;g(a.3eE)&&(2Jm(a.3eE),a.3eE=1p 0);1d h=a.1NE(Va.1lX,c);g(h)&&(C.1y(a.2s7,h2.1K),h(h2));if(0===e&&!a.4eH){1d l=a.1NE(Va.1yr,c);g(l)&&FP(a.3eF,a.1RV.2a[0],a.57q)&&(C.1y(a.2s7,i2.1K),l(i2))}a.4eH=!1}0===e&&f&&(a.3Cf=!1,h=a.1NE(Va.4Uu,c),g(h)&&h());if(1===e&&!f){1d p=d.2a[0];C.1y(p,a.2s7);C.1y(p,a.3eF);C.1y(p,a.3Cd);a.1KL[sg.1hc]=!0;h=a.1NE(Va.25P,c);g(h)&&(C.1y(p,j2.1K),h(j2));a.3eE=1if(1b(){a.3Z()||(a.3eE=1p 0,a.4eH=!0,l=a.1NE(Va.2hv,c),g(l)&&FP(a.3eF,a.1RV.2a[0],a.6IO)&&(C.1y(a.2s7,k2.1K),l(k2)))},Ne.6iS);b.1yA()}2!==e||f||(a.3Cf=!0,h=a.1NE(Va.4Uv,c),g(h)&&(C.1y(d.2a[0],JP.4Us),C.1y(d.2a[1],JP.4Ur),h(JP),b.1yA()))}1b 6IK(a,b){a.3Ce=Kd();1d c=b.3AQ,d,e=c.1h,f=a.9h;1j(d=0;d<e;++d){1d h=c[d];1d l=h.26E;l=f.1n(l);g(l)&&Or(a,h,l)}l2(a,b);a=a.1RV;1j(d=0;d<e;++d)h=c[d],l=h.26E,C.1y(f.1n(l),a.1n(l))}1b l2(a,b){1d c=Pu(b),d=a.9h,e=a.1RV,f=d.1h;if(1===f&&a.1KL[sg.1hc])e=d.2a[0],C.1y(e,a.2s7),f=a.3Cd,a=a.1NE(Va.1kj,c),g(a)&&(C.1y(f,KP.18t),C.1y(e,KP.11R),a(KP)),C.1y(e,f),b.1yA();1s if(2===f&&a.3Cf&&(a=a.1NE(Va.4Ut,c),g(a))){f=d.2a[0];1d h=d.2a[1];d=e.2a[0];1d l=e.2a[1],p=h.x-f.x,n=h.y-f.y;e=.25*1k.3Y(p*p+n*n);b=l.x-d.x;c=l.y-d.y;f=.125*(h.y+f.y);d=.125*(l.y+d.y);p=1k.12B(n,p);n=1k.12B(c,b);C.9v(0,.25*1k.3Y(b*b+c*c),JB.3s.18t);C.9v(0,e,JB.3s.11R);C.9v(n,d,JB.1zY.18t);C.9v(p,f,JB.1zY.11R);a(JB)}}1b 6IN(a,b){b.15s.asi(b.4eI);if("1Jo"===b.57r){1d c=a.9h,d=b.4eI;c.1C(d,Or(a,b,1g C));nH(a,b);a.1RV.1C(d,C.1y(c.1n(d)))}1s a2(a,b)}1b LP(a,b){if("1Jo"===b.57r){1d c=b.4eI;a.9h.3S(c);nH(a,b);a.1RV.3S(c)}1s HP(a,b)}1b 6IM(a,b){if("1Jo"===b.57r){1d c=a.9h,d=b.4eI,e=c.1n(d);g(e)&&(Or(a,b,e),l2(a,b),a=a.1RV,C.1y(c.1n(d),a.1n(d)))}1s e2(a,b)}1b Ne(a){1a.49n={};1a.1KL={1hc:!1,2QO:!1,1sk:!1};1a.4eH=1a.3Cf=!1;1a.3Ce=-Ne.4Uq;1a.3eF=1g C;1a.2s7=1g C;1a.3Cd=1g C;1a.9h=1g Ia;1a.1RV=1g Ia;1a.2QN=[];1a.3eE=1p 0;1a.57q=5;1a.6IO=25;a=1a.17e=m(a,3n);1d b=g(a.6iT)?a:3n;Nc.1Tj()?(Ii(1a,"26e",a,6IN),Ii(1a,"3Md",a,LP),Ii(1a,"ash",a,6IM),Ii(1a,"asg",a,LP)):(Ii(1a,"1m1",a,a2),Ii(1a,"1ZA",b,HP),Ii(1a,"2wo",b,e2),Ii(1a,"1n9",a,6IL),Ii(1a,"2lH",b,g2),Ii(1a,"2wn",b,6IK),Ii(1a,"3jh",b,g2));Ii(1a,"4oB",a,apa);Ii(1a,"asf"in a?"4ox":1p 0!==3n.ase?"3LW":"4km",a,6IJ)}1b Pr(a){1b b(a){if(1===7L(a.1cE("1m3:1PD")[0].8S)){1d d=a.1cE("1m3:4rN",1p 0);h.1Ub=d[0].15o("4rM");g(h.1Ub)&&0<h.1Ub&&(h.1Jp=!0)}h.2yV=a.1cE("1m3:6B1")[0].8S;h.1jZ=8A(a.1cE("1m3:3mP")[0].8S);h.1Kv=8A(a.1cE("1m3:3mO")[0].8S);h.6C=1g gd({3c:p});h.6C.31Q=!0;h.1RD=we.2rJ(p,2*1k.2o(h.1jZ,h.1Kv),h.6C.1ou(0));1d e=a.1cE("1m3:2yo")[0];d=B.8I(7L(e.1cE("1m3:1Mj")[0].8S));1d f=B.8I(7L(e.1cE("1m3:2eU")[0].8S)),l=B.8I(7L(e.1cE("1m3:1Dh")[0].8S));e=B.8I(7L(e.1cE("1m3:2eV")[0].8S));h.1RE.1q(1g Q(d,f,l,e));a=a.1cE("1m3:2Kl")[0].1cE("1m3:1PV");d=[];1j(f=0;f<a.1h;++f)d.1q(8A(a[f].8S));h.1iv.1q(d);h.4y=!0;h.7S.5h(!0);n<h.1RG.1h&&(d=h.1RG[n++],a=d.11c(0,d.1h-1),d+="1nn",g(Ba.12M)&&(d=g(Ba.12M.1e7[a])?Ba.1oo(a,d):Ba.1cl(d)),Z(zj(d),b,c))}1b c(a){a=m(a,"An 7A 1Jq 14p 1Ud "+h.10z+".");l=Lc.1ir(l,h,h.14P,a,1p 0,1p 0,1p 0,e)}1b d(){1d a=h.1RG[n++],d=a.11c(0,a.1h-1);a+="1nn";g(Ba.12M)&&(a=g(Ba.12M.1e7[d])?Ba.1oo(d,a):Ba.1cl(a));Z(zj(a),b,c)}1b e(){if(!g(a.1WC)||!g(a.28H))1t 1g r("3v.1WC,3v.28H is 1X.");h.2yV=m(a.1zq,"3RQ");h.1jZ=m(a.asd,32);h.1Kv=m(a.asc,32);h.6C=1g gd({3c:p});h.6C.31Q=!0;h.1RD=we.2rJ(p,1k.2o(h.1jZ,h.1Kv),h.6C.1ou(0));h.1RE=a.1WC;h.1iv=a.28H;h.4y=!0;h.7S.5h(!0)}a=m(a,m.4Z);if(!g(a.28z))1t 1g r("3v.28z is 1X.");1a.1RG=a.28z;1j(1d f=0;f<1a.1RG.1h;f++)0<1a.1RG[f].1h&&"/"!==1a.1RG[f][1a.1RG[f].1h-1]&&(1a.1RG[f]+="/");1a.4cX=m(a.6B0,!0);1a.14P=1g sa;1a.4y=!1;1a.7S=Z.12L();1a.1Kw=a.3c1;1a.2r9=a.3bZ;1a.2fB=!1;1a.49m=a.1aQ;1a.2Ei={2au:1,1xk:0,2at:1,14e:1};f=a.9L;"4n"===2h f&&(f=1g Zb({3l:f}));1a.1dh=f;1a.6C=1p 0;1a.1RE=[];1a.1iv=[];1a.2yV="6i";1a.1qL=1p 0;1a.1pw=a.2n6;1a.2En={};1a.1Jp=!1;1a.32x={};1a.32w=1g sx;1a.32u=100;1a.1Ub=0;1d h=1a,l,p=m(a.3c,ba.9y);1a.2QM=!1;1a.2Em=m(a.2Eo,!1);1d n=0;1a.4cX?d():e()}1b m2(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d}1b n2(a,b,c,d){1j(1d e=a.6C,f=e.1d1(b,c,d),h=0,l=0;l<a.1RE.1h;l++){1d p=a.1RE[l],n=Q.17d(p,f,KB);g(n)&&(oH(e,p,2*b,2*c,d+1)&&(h|=4),oH(e,p,2*b+1,2*c,d+1)&&(h|=8),oH(e,p,2*b,2*c+1,d+1)&&(h|=1),oH(e,p,2*b+1,2*c+1,d+1)&&(h|=2))}1f h}1b oH(a,b,c,d,e){a=a.1d1(c,d,e);1f g(Q.17d(a,b,KB))}1b Wc(a){a=m(a,!0);1a.1Q=Wc.1an(a)}1b 6II(a){a=6.asb+.as9*a;1f.as8*1k.2T(a+.as7*1k.2T(a))}1b o2(a,b){b=M.190(a,32.184,b);a=M.4VC(b)-2QK;1f b=M.190(b,6II(a),b)}1b p2(a,b,c,d,e,f,h){0>c&&(c=-c,e+=B.PI);if(0>c||c>B.PI)1t 1g r("9B 6IG is 9H of 11D. as6 2Q be 9U 6L or 14B to 16m and 1do 6L or 14B to Pi 3YJ.");a*=1-b;1d l=d-e;d=f-d;if(0>b||1<=b)1t 1g r("4eG 9H of 11D.");if(0>b||1<=b)1t 1g r("4eG 9H of 11D.");f=1k.2t(d/B.14C);d-=f*B.14C;1d p=d+b*1k.2T(d)/(1-1k.2T(d+b)+1k.2T(d)),n=3a.6w,z;1j(z=0;z<q2&&1k.abs(n-p)>6iO;++z)n=p,p=n-(n-b*1k.2T(n)-d)/(1-b*1k.3i(n));if(z>=q2)1t 1g r("as5 as4 as3 2S as2");d=n=p+f*B.14C;if(0>b||1<=b)1t 1g r("4eG 9H of 11D.");f=1k.2t(d/B.14C);d-=f*B.14C;p=1k.12B(1k.2T(d)*1k.3Y(1-b*b),1k.3i(d)-b);p=B.23Z(p);0>d&&(p-=B.14C);d=p+=f*B.14C;if(0>b)1t 1g r("4eG 1il be 2YM.");if("6IH"===(0>=b?"3cr":1>b?"as1":1>=b?"as0":"6IH")&&1k.abs(B.1vw(d))>=1k.1cz(-1/b))1t 1g r("9B 8O arZ of 1Z arY arX arW 5Pk of 1Z 14w of 1Z arV.");n=c;c=r2;if(0>n||n>B.PI)1t 1g r("6IG 9H of 11D");f=1k.3i(l);l=1k.2T(l);p=1k.3i(n);n=1k.2T(n);z=1k.3i(e);e=1k.2T(e);g(c)?(c[0]=z*f-e*l*p,c[1]=e*f+z*l*p,c[2]=l*n,c[3]=-z*l-e*f*p,c[4]=-e*l+z*f*p,c[5]=f*n,c[6]=e*n,c[7]=-z*n,c[8]=p):1g J(z*f-e*l*p,-z*l-e*f*p,e*n,e*f+z*l*p,-e*l+z*f*p,-z*n,l*n,f*n,p);e=a*(1+b);a=1k.3i(d);l=1k.2T(d);b=1+b*a;if(b<=B.arU)1t 1g r("26L 1il be arT to 16L");b=e/b;g(h)?(h.x=b*a,h.y=b*l,h.z=0):h=1g k(b*a,b*l,0);1f J.10r(r2,h,h)}1b s2(a,b){o2(a,Ux);a=(Ux.1mA-pH.1mA+(Ux.1mz-pH.1mz)/Ed.1RF)/Ed.3bY;1d c=a*a,d=c*a,e=d*a,f=5.arS*sl,h=83.arR*sl,l=125.arQ*sl,g=218.arP*sl;1d n=297.arO*sl+nk*(1.arN*a-6.arM*c+.arL*d-3.6IF-5*e);1d z=134.arK*sl+nk*(1.arJ*a+31.arI*c+.arH*d-2.arG-4*e),k=357.arF*sl+nk*(1.arE*a-.arD*c+1.36E-4*d-1.arC-5*e),x=310.arB*sl-nk*(arA.436*a+6.arz*c+.ary*d-3.arx-5*e),D=2*n;1d t=4*n;1d m=6*n;1d G=2*z;1d aa=3*z,r=4*z,q=2*(93.arw*sl+nk*(1.arv*a-12.aru*c-.ars*d+4.17E-6*e));1d u=arr.arq+.2kd*a+(6Fm.4*1k.3i(D)-635.6*1k.3i(D-z)-235.6*1k.3i(z)+218.1*1k.3i(D-k)+181*1k.3i(D+z));n=.arp-1.6E-8*a+(.aro*1k.3i(D-z)+.arn*1k.3i(D-G)-.arm*1k.3i(z)+.arl*1k.3i(D+z)-.ark*1k.3i(t-aa)-9.14E-4*1k.3i(t-G)+8.69E-4*1k.3i(D-k-z)-6.27E-4*1k.3i(D)-3.94E-4*1k.3i(t-r)+2.82E-4*1k.3i(D-k-G)-2.79E-4*1k.3i(n-z)-2.36E-4*1k.3i(G)+2.31E-4*1k.3i(t)+2.29E-4*1k.3i(m-r)-2.arj-4*1k.3i(G-q));1d v=-8E-5*a+.ari*c-4.2E-5*d-1.3E-7*e+(486.26*1k.3i(D-q)-40.13*1k.3i(D)+37.51*1k.3i(q)+25.73*1k.3i(G-q)+19.97*1k.3i(D-k-q));t=1.arh*a-38.arf*c-.ard*d+2.arb-4*e+(-ar9*1k.2T(D-z)-ar8*1k.2T(D-G)-6Fl*1k.2T(z)+ar7*1k.2T(t-aa)+ar6*1k.2T(t-G)+ar5*1k.2T(D+z)+ar4*1k.2T(t-r)-ar3*1k.2T(D-k-z)-6Fn*1k.2T(m-r)-6Fo*1k.2T(D)-6Fp*1k.2T(D-aa)-ar2*1k.2T(G)-ar1*1k.2T(m-5*z)+ar0*1k.2T(k)-aqZ*1k.2T(m-aa));G=-aqY.aqX*a+6.aqW*c+.aqV*d-3.aqU-5*e+(-6kZ*1k.2T(D-q)-540*1k.2T(k)-441*1k.2T(D)+423*1k.2T(q)-288*1k.2T(G-q));e=1.aqT*a-6.391*c+.aqS*d-3.6IF-5*e+(-6sn.9*1k.2T(D)+aqR.4*1k.2T(D-z)-662.5*1k.2T(k)+396.3*1k.2T(z)-218*1k.2T(D-k));z=2*x;k=3*x;v+=46.997*1k.3i(x)*a-.614*1k.3i(D-q+x)*a+.614*1k.3i(D-q-x)*a-.aqQ*1k.3i(z)*c-.aqP*1k.3i(x)*c+.6yp*1k.3i(D-q+z)*c-1.6E-4*1k.3i(x)*d+4E-5*1k.3i(k)*d+4E-5*1k.3i(z)*d;m=2.116*1k.2T(x)*a-.111*1k.2T(D-q-x)*a-.2bF*1k.2T(x)*c;G+=-520.77*1k.2T(x)*a+13.66*1k.2T(D-q+x)*a+1.12*1k.2T(D-x)*a-1.aqO*1k.2T(q-x)*a+.66*1k.2T(z)*c+.371*1k.2T(x)*c-.aqN*1k.2T(D-q+z)*c-.aqM*1k.2T(D-q+x)*c+.aqL*1k.2T(x)*d-.aqK*1k.2T(k)*d-9E-4*1k.2T(z)*d;1f p2(1E3*u,n,f+v*nk,h+(t+m)*nk,l+G*nk,g+(e+m)*nk,b)}1b LB(a){a=m(a,m.4Z);1d b=a.3q,c=a.1Bd,d=m(a.3z2,!1);if(!g(b)||2>b.1h)1t 1g r("At 1gR 1uk 3q are 1X.");if(g(c)&&(d&&c.1h<b.1h||!d&&c.1h<b.1h-1))1t 1g r("1Bd 14d an 16w 1h.");1a.9h=b;1a.1BN=c;1a.2El=d;1a.1sP=m(a.14g,Ib.1gi);1a.14J=m(a.6f,B.15y);1a.5W=m(a.3c,ba.9y);1a.1hz="aqJ";a=1+b.1h*k.4q;a+=g(c)?1+c.1h*y.4q:1;1a.4q=a+ba.4q+3}1b Vx(){1a.2iu=1.31r;1a.2it=-1.31r;1a.1z7=1a.1oq=0;1a.1n8=1;1a.23U=!1;1a.1EO=[];1a.23T=!0;1a.1N8=MP.1ml.2Bd;1a.17h=1p 0}1b Qr(a){1d b=m(a.3L,1);a={10N:1g k(b,b,b),1im:a.1im,1in:a.1in,9S:a.9S};1a.2Ek=1g $e(a);1a.1hz="aqI"}1b Ep(a){1d b=m(a.3L,1);a={10N:1g k(b,b,b),1im:a.1im,1in:a.1in,1sS:a.1sS};1a.2Ek=1g wj(a);1a.1hz="aqH"}1b Hh(a,b,c){1a.14c=m(a,0);1a.1EN=m(b,0);1a.7t=m(c,1)}1b t2(a,b){if(!g(a))1t 1g r("4x is 1X.");if(!g(b)||1>b)1t 1g r("aqG 2Q be 9U 6L 0.");1j(1d c=[],d=a.1h,e=0;e<d;){1d f=1k.8a((d-e)/b--);c.1q(a.4h(e,e+f));e+=f}1f c}1b u2(a){1a.2I=m(a.2I,"")}1b Qu(){r.8i()}1b 6IE(a){a=(1g zb(a)).5h(6iw);a.1T();1d b=a.1mD;/:/.6S(b)||(b=b+":"+("1bU"===a.1c2?"443":"80"));1f b}1b Wx(a,b){1d c=6IE(a),d=m(qH[c],0);if(!(d>=Wx.49f))1f qH[c]=d+1,Z(b(a),1b(a){qH[c]--;1f a}).10g(1b(a){qH[c]--;1f Z.7N(a)})}1b Rr(a){1t 1g r("18m 1I 1tD 2S be 6AS 51I.  53M, 14W 5fc or 5h7.");}1b NP(a,b){1f M.1iF(a.4I,b.4I)}1b Md(a){1a.18S=[];1a.3yX=1g sa;if(g(a))1j(1d b=a.1h,c=0;c<b;c++)1a.1r2(a[c])}1b OP(a,b,c){g(c)||(c=1g M);M.2lG(a,ci);a=ci.1Ti+b.1Ti;1d d=ci.1hd+b.1hd,e=ci.1Pd+b.1Pd,f=ci.1Pe+b.1Pe,h=ci.1IW+b.1IW,l=ci.1Pc+b.1Pc;b=ci.1Dt+b.1Dt;1E3<=a&&(d+=1k.2t(a/1E3),a%=1E3);60<=d&&(e+=1k.2t(d/60),d%=60);60<=e&&(f+=1k.2t(e/60),e%=60);24<=f&&(h+=1k.2t(f/24),f%=24);1j(MB[2]=fB(b)?29:28;h>MB[l]||13<=l;)h>MB[l]&&(h-=MB[l],++l),13<=l&&(--l,b+=1k.2t(l/12),l%=12,++l),MB[2]=fB(b)?29:28;ci.1Ti=a;ci.1hd=d;ci.1Pd=e;ci.1Pe=f;ci.1IW=h;ci.1Pc=l;ci.1Dt=b;1f M.6uy(ci,c)}1b v2(a,b){if(!g(a)||0===a.1h)1f!1;b.1Dt=0;b.1Pc=0;b.1IW=0;b.1Pe=0;b.1Pd=0;b.1hd=0;b.1Ti=0;if("P"===a[0]){a=a.141(6iu);if(!g(a))1f!1;g(a[1])&&(b.1Dt=3a(a[1].3X(",",".")));g(a[2])&&(b.1Pc=3a(a[2].3X(",",".")));g(a[3])&&(b.1IW=7*3a(a[3].3X(",",".")));g(a[4])&&(b.1IW+=3a(a[4].3X(",",".")));g(a[5])&&(b.1Pe=3a(a[5].3X(",",".")));g(a[6])&&(b.1Pd=3a(a[6].3X(",",".")));g(a[7])&&(a=3a(a[7].3X(",",".")),b.1hd=1k.2t(a),b.1Ti=a%1*1E3)}1s"Z"!==a[a.1h-1]&&(a+="Z"),M.2lG(M.1r3(a,6iv),b);1f b.1Dt||b.1Pc||b.1IW||b.1Pe||b.1Pd||b.1hd||b.1Ti}1b Ru(a){a=m(a,m.4Z);1a.4Uh=1a.3yV=1a.49c=1a.17e=1a.1aG=1p 0;1a.14c=a.14c;1a.1ij=a.1ij;1a.2Ej=m(a.2Ej,Za.11Z);1a.2xd=m(a.2xd,1);1a.3bU=!1;1a.3yV=1p 0;1a.3yU=!1}1b 6iq(a){1f 1b(){a.3bU=!1;a.3yU=!0}}1b 6ID(a,b){1a.3g=a;1a.3nY=b}1b Xx(a){1b b(a){1d b=a.1cE("6IC")[0].8S;if("1pY:1zf"===b){f.6C=1g gd({3c:l});b=a.1cE("aqF")[0];f.1jZ=8A(b.15o("1G"),10);f.1Kv=8A(b.15o("1D"),10);f.1RD=we.2rJ(l,1k.2o(f.1jZ,f.1Kv),f.6C.1ou(0));a=a.1cE("aqE");1j(b=0;b<a.1h;++b){1d d=a[b],e=B.8I(7L(d.15o("21v"))),h=B.8I(7L(d.15o("2LJ"))),g=B.8I(7L(d.15o("2LI"))),p=B.8I(7L(d.15o("2LH")));d=8A(d.15o("aqD"),10);f.1RE.1q(1g 6ID(1g Q(e,h,g,p),d))}f.4y=!0;f.7S.5h(!0)}1s c("6IC "+b+" is 2S 11J.")}1b c(a){a=m(a,"An 7A 1Jq 14p 1Ud "+f.12o.2I+".");h=Lc.1ir(h,f,f.14P,a,1p 0,1p 0,1p 0,d)}1b d(){Z(f.12o.2zz(),b,c)}a=m(a,m.4Z);if(!g(a.2I))1t 1g r("3v.2I is 1X.");1a.12o=na.14m(a.2I);1a.14P=1g sa;1a.4y=!1;1a.7S=Z.12L();1a.2Ei={2au:.17I,1xk:-1E3,2at:3,14e:4,2as:256,2iM:!0,3Af:0,3Ae:6Dk};1d e=a.9L;"4n"===2h e&&(e=1g Zb(e));1a.1dh=e;1a.6C=1p 0;1a.1RE=[];1d f=1a,h,l=m(a.3c,ba.9y);d()}1b rH(a,b,c,d,e){a=a.1d1(c,d,e);1f g(Q.17d(a,b,w2))}1b tl(a){a=m(a,m.4Z);1d b=a.3q,c=a.1lC,d=a.1lB;if(!g(b))1t 1g r("3v.3q is 1X.");if(g(c)&&c.1h!==b.1h)1t 1g r("3v.3q and 3v.1lC 2Q 118 1Z 1ik 1h.");if(g(d)&&d.1h!==b.1h)1t 1g r("3v.3q and 3v.1lB 2Q 118 1Z 1ik 1h.");1d e=m(a.9S,za.1yD),f=m(a.6f,B.15y);a=m(a.3c,ba.9y);1a.9h=b;1a.2r7=d;1a.2r8=c;1a.14s=za.1y(e);1a.14J=f;1a.5W=ba.1y(a);1a.1hz="aqC";b=b.1h*k.4q+3;g(d)&&(b+=d.1h);g(c)&&(b+=c.1h);1a.4q=b+ba.4q+za.4q+1}1b Sr(a){a=m(a,m.4Z);1d b=a.3q,c=a.1lC,d=a.1lB;if(!g(b))1t 1g r("3v.3q is 1X.");if(g(c)&&c.1h!==b.1h)1t 1g r("3v.3q and 3v.1lC 2Q 118 1Z 1ik 1h.");if(g(d)&&d.1h!==b.1h)1t 1g r("3v.3q and 3v.1lB 2Q 118 1Z 1ik 1h.");1d e=m(a.6f,B.15y);a=m(a.3c,ba.9y);1a.9h=b;1a.2r7=d;1a.2r8=c;1a.14J=e;1a.5W=ba.1y(a);1a.1hz="aqB";b=b.1h*k.4q+3;g(d)&&(b+=d.1h);g(c)&&(b+=c.1h);1a.4q=b+ba.4q+1}1b NB(a){6U(a){1S H.3O:1f"1o";1S H.1Rt:1f"1v";1S H.1my:1f"1w";1S H.1EK:1f"1m";1S H.3bi:1f"1bG";1S H.1BP:1f"14j";1S H.1ff:1f"5w";1S H.1oS:1f"2v";1S H.2DS:1f"7d"}}1b Su(a){a=m(a,m.4Z);1d b=a.1cx;a=a.12K;v.2l("1cx",b);v.2l("12K",a);v.1N.2b.9Y("1cx.1h",b.1h,3);if(0!==b.1h%a.1h)1t 1g r("12K.1h 2Q be a 8H of 1cx.1h.");1a.1f7=a;1a.6ic=b;1a.1sK=b.1h/a.1h;1a.1Kr=0}1b x2(a,b,c){if("1b"!==2h b)1t 1g r("6IB is 1X to be a 1b.");if("1b"!==2h c)1t 1g r("6IB is 1X to be a 1b.");1f 1b(){c.6c(a,5m);b.6c(a,5m)}}1b od(a){1a.6j=1p 0;1a.49b=1a.4U7=!1;1a.8B=1g sa;1a.1cf(a)}1b 6IA(a,b,c,d,e){1f{1Pl:d,1n:1b(){1f 1a[b]},1C:1b(d){1d f=1a[b],l=1a[c];g(l)&&(l(),1a[c]=1p 0);1p 0===d||g(d)&&g(d.3K)||!g(e)||(d=e(d));f!==d&&(1a[b]=d,1a.8B.5k(1a,a,d,f));g(d)&&g(d.13C)&&(1a[c]=d.13C.7K(1b(){1a.8B.5k(1a,a,d,d)},1a))}}}1b 6Iz(a){1f 1g od(a)}1b Y(a,b,c){1f 6IA(a,"10D"+a.5s(),"10D"+a.5s()+"aqA",m(b,!1),m(c,6Iz))}1b ul(a){1a.8B=1g sa;1a.57i=1a.1f9=1a.1RX=1a.17y=1a.aqz=1a.1Rk=1a.6I2=1a.1vR=1a.57h=1a.1gH=1a.57g=1a.1hV=1a.3C9=1a.10o=1a.4eq=1a.10V=1a.aqy=1a.1Q0=1a.aqx=1a.2PJ=1a.485=1a.1dP=1a.1WL=1a.7a=1a.2aH=1a.1c1=1a.6I1=1a.1jT=1a.6I0=1a.1qO=1a.6HZ=1a.1vS=1a.6HY=1a.1qS=1a.488=1a.13V=1a.6I7=1a.1iw=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b F(){r.8i()}1b y2(a){1a.13a=a;1a.2ce=1a.10i=1p 0}1b Fp(a,b){if(!g(a))1t 1g r("55F is 1X.");if(!g(b))1t 1g r("1mu is 1X.");b.1s9.7K(Fp.1i.1gP,1a);1a.1Nu=a;1a.17l=b;1a.1hw=1g Ia;1a.1gP(b,b.2a,[],[])}1b PP(a,b,c){g(a)&&(a.10i=1p 0,c.2On(b))}1b pe(a){a=m(a,m.4Z);1a.2q=a.2q;1a.11C=m(a.11C,!0);1a.1za=a.5O;1a.1z9=a.5A;1a.1hT=a.4w;1a.1z8=m(a.1ph,!1)}1b co(a,b,c,d,e,f,h,l,g,n){1a.6M=a;1a.10q=b;1a.1Wq=c;1a.48X=d;1a.1vf=e;1a.1ov=f;1a.1eC=h;1a.2QD=l;1a.2eQ=g;1a.1PM=n}1b Eb(a){a=m(a,m.4Z);1d b=m(a.18i,Ka.11g),c=m(a.18h,Ka.11g),d=m(a.14A,nb.11U),e=m(a.15u,Rb.11U);a=g(a.2AH)?a.2AH:1;if(!Ka.1f6(b))1t 1g r("13H 10v.18i.");if(!Ka.1f6(c))1t 1g r("13H 10v.18h.");if(!nb.1f6(d))1t 1g r("13H 10v.14A.");if(!Rb.1f6(e))1t 1g r("13H 10v.15u.");v.1N.2b.9Y("2AH",a,1);1a.2Bs=b;1a.2Br=c;1a.2Ee=d;1a.2Ed=e;1a.368=a}1b vl(a){1b b(a,b,c,d){1d e=b.1a9;g(e)||(e=b.11y);e?(x.1gM(x.1GU,!1),x.1gM(x.1By,!1),d&&(e=ua.13E(e,n,z,p,p)),x.1oG(a,0,n,p,p,0,n,z,e)):(x.1gM(x.1GU,c),x.1gM(x.1By,d),x.1oG(a,0,n,n,z,b))}a=m(a,m.4Z);v.2l("3v.1O",a.1O);1d c=a.1O,d=a.5j;if(g(d)){1d e=[d.1sp,d.1DI,d.1yN,d.1yM,d.1DH,d.1DG];if(!(e[0]&&e[1]&&e[2]&&e[3]&&e[4]&&e[5]))1t 1g r("3v.5j 9N 1sp, 1DI, 1yN, 1yM, 1DH, and 1DG aqw.");1d f=e[0].1G;1d h=e[0].1D;1j(1d l=1;6>l;++l)if(3a(e[l].1G)!==f||3a(e[l].1D)!==h)1t 1g r("6Ia 18X in 3v.5j 2Q 118 1Z 1ik 1G and 1D.");}1s f=a.1G,h=a.1D;1d p=f,n=m(a.8b,ua.9m),z=m(a.10E,Ha.7U);if(!g(f)||!g(h))1t 1g r("3v 9N a 5j 1bF to 6F an 1Vv 57p 5d or 1G and 1D 4B8 to 6F a 4c6 57p 5d.");if(f!==h)1t 1g r("1V7 2Q 14B 1D.");if(0>=p)1t 1g r("1V7 and 1D 2Q be 9U 6L 16m.");if(p>sb.2y5)1t 1g r("1V7 and 1D 2Q be 1do 6L or 14B to 1Z 14S 57p 5d 4V ("+sb.2y5+").  1ie 2y5.");if(!ua.1f6(n))1t 1g r("13H 3v.8b.");if(ua.2QC(n))1t 1g r("3v.8b 1il be 1zc or 1eF.");if(!Ha.1f6(z))1t 1g r("13H 3v.10E.");if(z===Ha.3O&&!c.2BF)1t 1g r("1M3 3v.10E is 3O, 1a 1zV 1R5 2Q 19G 1Z 55j 6A.");if(z===Ha.1kq&&!c.20p)1t 1g r("1M3 3v.10E is 1kq, 1a 1zV 1R5 2Q 19G 1Z 3Y8 6A.");1d k=6*ua.3zj(n,z,p,p);f=a.3bT||n===ua.1fB||n===ua.1UO;h=m(a.13E,!0);1d x=c.6M;e=x.4Hf;l=x.2fA();x.1pR(x.1tW);x.1eg(e,l);g(d)?(b(x.4be,d.1sp,f,h),b(x.4bd,d.1DI,f,h),b(x.4bc,d.1yN,f,h),b(x.4bb,d.1yM,f,h),b(x.4ba,d.1DH,f,h),b(x.4b9,d.1DG,f,h)):(x.1oG(x.4be,0,n,p,p,0,n,z,1F),x.1oG(x.4bd,0,n,p,p,0,n,z,1F),x.1oG(x.4bc,0,n,p,p,0,n,z,1F),x.1oG(x.4bb,0,n,p,p,0,n,z,1F),x.1oG(x.4ba,0,n,p,p,0,n,z,1F),x.1oG(x.4b9,0,n,p,p,0,n,z,1F));x.1eg(e,1F);1a.4j=c;1a.2h2=c.2h2;1a.1Wq=e;1a.10q=l;1a.1vf=n;1a.1ov=z;1a.1eC=p;1a.3bR=!1;1a.1Wo=k;1a.2QD=f;1a.2eQ=h;1a.2eY=1p 0;c=g(d);1a.48V=1g co(x,l,e,x.4be,n,z,p,f,h,c);1a.48U=1g co(x,l,e,x.4bd,n,z,p,f,h,c);1a.48T=1g co(x,l,e,x.4bc,n,z,p,f,h,c);1a.48S=1g co(x,l,e,x.4bb,n,z,p,f,h,c);1a.48R=1g co(x,l,e,x.4ba,n,z,p,f,h,c);1a.48Q=1g co(x,l,e,x.4b9,n,z,p,f,h,c);1a.10v=g(a.10v)?a.10v:1g Eb}1b Ca(a){a=m(a,m.4Z);v.2l("3v.1O",a.1O);1d b=a.1O,c=a.1G,d=a.1D,e=a.5j;g(e)&&(g(c)||(c=m(e.aqv,e.1G)),g(d)||(d=m(e.aqu,e.1D)));1d f=m(a.8b,ua.9m),h=m(a.10E,Ha.7U),l=f,p=ua.2gl(l);if(b.1py)if(f===ua.1eF?l=H.4ZF:f===ua.1zc&&(h===Ha.10P?l=H.2fK:h===Ha.1bt&&(l=H.37T)),h===Ha.3O)6U(f){1S ua.9m:l=H.4b8;1W;1S ua.1fB:l=H.4b7;1W;1S ua.RG:l=H.6sg;1W;1S ua.R:l=H.4b3}1s if(h===Ha.1kq)6U(f){1S ua.9m:l=H.4b6;1W;1S ua.1fB:l=H.4b5;1W;1S ua.RG:l=H.6sh;1W;1S ua.R:l=H.4b4}if(!g(c)||!g(d))1t 1g r("3v 9N a 5j 1bF to 6F an 1Vv 7y or 1G and 1D 4B8 to 6F a 4c6 7y.");v.1N.2b.1bP("1G",c,0);if(c>sb.1Ml)1t 1g r("1V7 2Q be 1do 6L or 14B to 1Z 14S 7y 4V ("+sb.1Ml+").  1ie 1Ml.");v.1N.2b.1bP("1D",d,0);if(d>sb.1Ml)1t 1g r("463 2Q be 1do 6L or 14B to 1Z 14S 7y 4V ("+sb.1Ml+").  1ie 1Ml.");if(!ua.1f6(f))1t 1g r("13H 3v.8b.");if(!p&&!Ha.1f6(h))1t 1g r("13H 3v.10E.");if(f===ua.1zc&&h!==Ha.10P&&h!==Ha.1bt)1t 1g r("1M3 3v.8b is 1zc, 3v.10E 2Q be 10P or 1bt.");if(f===ua.1eF&&h!==Ha.1Jw)1t 1g r("1M3 3v.8b is 1eF, 3v.10E 2Q be 1Jw.");if(h===Ha.3O&&!b.2BF)1t 1g r("1M3 3v.10E is 3O, 1a 1zV 1R5 2Q 19G 1Z 55j 6A.  1ie 1O.2BF.");if(h===Ha.1kq&&!b.20p)1t 1g r("1M3 3v.10E is 1kq, 1a 1zV 1R5 2Q 19G 1Z 3Y8 6A. 1ie 1O.20p.");if(ua.2QC(f)){if(g(e))1t 1g r("1M3 3v.8b is 1zc or 1eF, 5j 1il be 20i.");if(!b.8X)1t 1g r("1M3 3v.8b is 1zc or 1eF, 1a 1zV 1R5 2Q 19G 6D0.  1ie 1O.8X.");}if(p){if(!g(e)||!g(e.1a9))1t 1g r("1M3 3v.8b is 1iW, 3v.5j.1a9 2Q be 2l.");if(ua.6kA(l)&&!b.1TY)1t 1g r("1M3 3v.8b is aqt 1iW, 1a 1zV 1R5 2Q 19G 1Z aqs 6A. 1ie 1O.1TY.");if(ua.6kz(l)&&!b.27a)1t 1g r("1M3 3v.8b is aqr 1iW, 1a 1zV 1R5 2Q 19G 1Z aqq 6A. 1ie 1O.27a.");if(ua.6ky(l)&&!b.279)1t 1g r("1M3 3v.8b is aqp 1iW, 1a 1zV 1R5 2Q 19G 1Z aqo 6A. 1ie 1O.279.");if(ua.3zn(l,c,d)!==e.1a9.10S)1t 1g r("9B 1Hz 1h of 1Z 4x 3J is 16w 1j 1Z 1iW 7y 10M 1Z 6Iy 1G and 1D.");}1d n=a.3bT||f===ua.1fB||f===ua.1UO,z=m(a.13E,!0),k=!0,x=b.6M,D=x.17U,t=x.2fA();x.1pR(x.1tW);x.1eg(D,t);1d oa=4;g(e)&&g(e.1a9)&&!p&&(oa=ua.4TJ(f,h,c));x.1gM(x.3Yb,oa);g(e)?g(e.1a9)?(x.1gM(x.1GU,!1),x.1gM(x.1By,!1),e=e.1a9,p?x.4GL(D,0,l,c,d,0,e):(z&&(e=ua.13E(e,f,h,c,d)),x.1oG(D,0,l,c,d,0,f,h,e))):g(e.4Q)?(x.1gM(x.1GU,!1),x.1gM(x.1By,!1),e.4Q!==b.40c&&e.4Q.1QJ(),x.aqn(D,0,l,e.1qc,e.1rs,c,d,0),e.4Q!==b.40c&&e.4Q.37G()):(x.1gM(x.1GU,n),x.1gM(x.1By,z),x.1oG(D,0,l,f,h,e)):(x.1oG(D,0,l,c,d,0,f,h,1F),k=!1);x.1eg(D,1F);l=p?ua.3zn(f,c,d):ua.3zj(f,h,c,d);1a.7R=Ld();1a.4j=b;1a.2h2=b.2h2;1a.1Wq=D;1a.10q=t;1a.1vf=f;1a.1ov=h;1a.10V=c;1a.10o=d;1a.1US=1g C(c,d);1a.3bR=!1;1a.1Wo=l;1a.2QD=n;1a.2eQ=z;1a.1PM=k;1a.2eY=1p 0;1a.4t1=!1;1a.10v=g(a.10v)?a.10v:1g Eb}1b va(a){1a.11C=1a.1dg=1a.6H=1a.1nH=1a.1hP=1a.1I=1p 0;1a.2Ee=m(a.14A,nb.11U);1a.2Ed=m(a.15u,Rb.11U);1a.1sK=1a.1EU=1a.4eF=1p 0;1a.2aI={};1a.48P=[];1a.4TI=[];1a.12s={};1a.48O=[];1a.1u0=1p 0;6Ix(a,1a);1L.2X(1a,{1I:{1Q:1a.1I,31n:!1}});g(va.48t[1a.1I])||(va.48t[1a.1I]=1L.9K(1a.1dg))}1b 6Ix(a,b){a=m(a,m.4Z);b.4eF=m(a.3Cc,!1);b.1sK=m(a.7Z,0);b.1EU=wc(m(a.1iG,m.4Z));b.1EU.6H=wc(m(b.1EU.6H,m.4Z));b.1EU.1nH=wc(m(b.1EU.1nH,m.4Z));b.1I=g(b.1EU.1I)?b.1EU.1I:Ld();b.1hP="";b.1nH={};b.6H={};b.1dg={};b.2Ef=[];1d c=va.1lI.35i(b.1I);if(g(c)){1d d=wc(c.1iG,!0);b.1EU=fb(b.1EU,d,!0);1d e=c.11C}6Iw(b);g(c)||va.1lI.1nK(b.1I,b);6Iu(b);6It(b);6Ip(b);e=m(e,0===b.2Ef.1h?!0:1p 0);e=m(a.11C,e);g(e)&&("1b"===2h e?b.2Ef.1q(1b(){1f e(b)}):b.2Ef.1q(e))}1b QP(a,b,c,d){if(g(a))1j(1d e in a)if(a.3p(e)){1d f=-1!==b.3f(e);(d&&!f||!d&&f)&&c(e,b)}}1b z2(a,b){a="1iG: 5i 2i \'"+a+"\' is 2S 1eu. It 1tD be ";1j(1d c=0;c<b.1h;c++){1d d="\'"+b[c]+"\'";a+=c===b.1h-1?"or "+d+".":d+", "}1t 1g r(a);}1b 6Iv(a,b){1t 1g r("1iG: 6H and 1nH 1il aqm 1Z 1ik 5i \'"+a+"\'");}1b 6Iw(a){1d b=a.1EU;a=b.6H;1d c=b.1nH,d=b.1bw;if(g(d)&&g(b.5j))1t 1g r("1iG: 1il 118 5j and 1bw in 1Z 1ik 1qC.");QP(b,6hQ,z2,!0);QP(d,6hP,z2,!0);b=[];1j(1d e in c)c.3p(e)&&b.1q(e);QP(a,b,6Iv,!1)}1b 6Iu(a){1d b=a.1EU.1bw,c=a.1EU.5j;if(g(c))a.1hP+=c+"\\n";1s{a.1hP+="1Ad 16E(1cK 5y)\\n{\\n";a.1hP+="1Ad 2q = 1bi(5y);\\n";if(g(b)){c=0<1L.9K(a.1EU.1nH).1h;1j(1d d in b)if(b.3p(d))if("8t"===d||"17Y"===d){1d e;if(e=c)a:{e=1p 0;1d f=b[d],h=a.1EU.1nH;1j(e in h)if(h.3p(e)&&-1<f.3f(e)){e=!0;1W a}e=!1}a.1hP+="2q."+d+" = "+(e?b[d]:"9D("+b[d]+")")+"; \\n"}1s a.1hP="2O"===d?a.1hP+("2q.2O = "+b.2O+"; \\n"):a.1hP+("2q."+d+" = "+b[d]+";\\n")}a.1hP+="1f 2q;\\n}\\n"}}1b 6Is(a){1d b;1f 1b(c,d){1d e=c.6H,f=e[a],h=b!==f;b=f;1d l=c.12s[a];if(f 2m 38L)2<=f.2Ie?(h&&g(l)&&(l!==d.1np&&l.1M(),l=1p 0),g(l)&&l!==d.1np?l.1iq(f):(e=1g Eb({14A:c.2Ee,15u:c.2Ed}),l=1g Ca({1O:d,5j:f,10v:e}),c.12s[a]=l)):g(l)||(c.12s[a]=d.1np);1s if(f 2m Ca&&f!==l)c.2aI[a]=1p 0,l=c.12s[a],l!==c.1u0&&l.1M(),c.12s[a]=f,d=a+"3bQ",e.3p(d)&&(e=e[d],e.x=f.10V,e.y=f.10o);1s if(g(l)||(c.2aI[a]=1p 0,g(c.1u0)||(c.1u0=d.1np),l=c.12s[a]=c.1u0,d=a+"3bQ",e.3p(d)&&(e=e[d],e.x=l.10V,e.y=l.10o)),f!==va.1RB&&(e=f 2m na,!g(c.2aI[a])||e&&f.2I!==c.2aI[a].2I||!e&&f!==c.2aI[a]))"4n"===2h f||e?(e=e?f:na.14m(f),e=6hO.6S(e.2I)?Iu(e):6hN.6S(e.2I)?Mx(e):e.1jN(),Z(e,1b(b){c.48P.1q({id:a,4d:b})})):(f 2m 2hs||f 2m 38M)&&c.48P.1q({id:a,4d:f}),c.2aI[a]=f}}1b 6Ir(a){1f 1b(b,c){1d d=b.6H[a];d 2m vl?(c=b.12s[a],c!==b.1u0&&c.1M(),b.2aI[a]=1p 0,b.12s[a]=d):(g(b.12s[a])||(b.2aI[a]=1p 0,b.12s[a]=c.4Ho),d!==va.4TH&&(c=d.1sp+d.1DI+d.1yN+d.1yM+d.1DH+d.1DG,c!==b.2aI[a]&&(d=[na.14m(d.1sp).1jN(),na.14m(d.1DI).1jN(),na.14m(d.1yN).1jN(),na.14m(d.1yM).1jN(),na.14m(d.1DH).1jN(),na.14m(d.1DG).1jN()],Z.all(d).4b(1b(c){b.4TI.1q({id:a,1lw:c})}),b.2aI[a]=c)))}}1b 6It(a){1d b=a.1EU.6H,c;1j(c in b)b.3p(c)&&A2(a,c)}1b A2(a,b){1d c=a.4eF,d=a.1EU.6H,e=d[b],f=6Iq(e);if(!g(f))1t 1g r("1iG: 2n \'"+b+"\' 14d 16w 1I.");if("1SQ"===f){if(d=OB(a,b,e,!1),0===d&&c)1t 1g r("3Cc: 1d8 5j 18f 2S 14W 1SQ \'"+b+"\'.");}1s{if("2v"===f){1d h=b+"3bQ";0<OB(a,h,h,1p 0)&&(d[h]={1I:"6hI",x:1,y:1},A2(a,h))}(1g 19j("2n\\\\s+"+f+"\\\\s+"+b+"\\\\s*;")).6S(a.1hP)||(a.1hP="2n "+f+" "+b+";"+a.1hP);h=b+"10D"+a.1sK++;d=OB(a,b,h);if(1===d&&c)1t 1g r("3Cc: 1d8 5j 18f 2S 14W 2n \'"+b+"\'.");a.6H[b]=e;if("2v"===f)a.1dg[h]=1b(){1f a.12s[b]},a.48O.1q(6Is(b));1s if("1HF"===f)a.1dg[h]=1b(){1f a.12s[b]},a.48O.1q(6Ir(b));1s if(-1!==f.3f("1Fs")){1d l=1g B2[f];a.1dg[h]=1b(){1f B2[f].2ii(a.6H[b],l)}}1s a.1dg[h]=1b(){1f a.6H[b]}}}1b 6Iq(a){1d b=a.1I;if(!g(b)){1d c=2h a;if("2b"===c)b="1o";1s if("11T"===c)b="7d";1s if("4n"===c||a 2m Ca||a 2m na||a 2m 2hs||a 2m 38M)b=/^([15A]){1,4}$/i.6S(a)?"1SQ":a===va.4TH?"1HF":"2v";1s if("2c"===c)if(2K.8n(a)){if(4===a.1h||9===a.1h||16===a.1h)b="1Fs"+1k.3Y(a.1h)}1s{c=0;1j(1d d in a)a.3p(d)&&(c+=1);2<=c&&4>=c?b="1Ji"+c:6===c&&(b="1HF")}}1f b}1b 6Ip(a){1d b=a.4eF,c=a.1EU.1nH,d;1j(d in c)if(c.3p(d)){1d e=1g va({3Cc:b,1iG:c[d],7Z:a.1sK});a.1sK=e.1sK;a.1dg=fb(a.1dg,e.1dg,!0);a.1nH[d]=e;a.2Ef=a.2Ef.9V(e.2Ef);1d f="aql"+a.1sK++;OB(e,"16E",f);a.1hP=e.1hP+a.1hP;if(0===OB(a,d,f+"(5y)")&&b)1t 1g r("3Cc: 1d8 5j 18f 2S 14W 2q \'"+d+"\'.");}}1b OB(a,b,c,d){d=m(d,!0);1d e=0;a.1hP=a.1hP.3X(1g 19j("([\\\\w"+(d?".":"")+"])?"+b+"([\\\\w])?","g"),1b(a,b,d){if(b||d)1f a;e+=1;1f c});1f e}1b xe(a){a=m(a,m.4Z);1d b=m(a.11C,!0),c=m(a.1ph,!1),d=m(a.3a8,xe.1W0.23l);1a.2q=g(a.2q)?a.2q:va.1kk(va.1oL);1a.11C=b;1a.1za=m(a.5O,d.5O);1a.1z9=m(a.5A,d.5A);1a.1hT=pe.2QF(b,c,a.4w);1a.1z8=c;1a.6hM=d;1a.14s=d.9S;1a.38H=m(a.8z,!1);1a.38G=m(a.2Cm,!c)}1b zc(a){a=m(a,m.4Z);1d b=m(a.11C,!0),c=m(a.1ph,!1),d=m(a.8z,!1),e=d?"3G 1m 15g;\\2s 2k()\\n{\\3R = 9D(15g);\\n}\\n":"#1z 8p\\n#6A 8p : 5F\\n#1u\\1J 1w 13L;\\1J 1w 1dy;\\1J 1m 15g;\\2s 2k()\\n{\\1R 11E = -13L;\\1R 4X = 1T(1dy);\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\1P 1A = 9D(15g);\\1jv 5y;\\10m.4X = 4X;\\10m.11E = 11E;\\10I 2q = 1bi(5y);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\3R = 1nR(1T(11E), 2q, 1qd);\\n}\\n",f=d?zc.48L:zc.1sC;1a.2q=1p 0;1a.11C=b;1a.1za=m(a.5O,d?"3Q 1w 1aU;\\2J 1w 19W;\\2J 1m 1A;\\2J 1o 4R;\\1J 1m 15g;\\2s 2k()\\n{\\1P p = 1nS();\\1wi = 1A;\\11u = 1kV * p;\\n}\\n":"3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 2U;\\2J 1m 1A;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\1J 1m 15g;\\2s 2k()\\n{\\1P p = 1nS();\\1t6 = (15D * p).1H;\\1Oe = 11b * 2U;\\1wi = 1A;\\11u = 1kV * p;\\n}\\n");1a.1z9=m(a.5A,e);1a.1hT=pe.2QF(b,c,a.4w);1a.1z8=c;1a.14s=f;1a.38H=d;1a.38G=m(a.2Cm,!c)}1b cc(a){1a.8B=1g sa;1a.1WL=1a.7a=1p 0;1a.1A=a}1b Oa(a){a=m(a,m.4Z);1a.11S=a.6W;1a.1vX=a.1ls;1a.1Wd=m(a.8d,!0);1a.3bP=m(a.4qU,!0);1a.12t=a.4a;1a.1vl=m(a.6Z,Ja.11G);1a.1BB=a.4c;1a.1sK=a.7Z;1a.1hs=m(a.2M,0);1a.1N3=m(a.1gC,0);1a.1Q1=a.2z;1a.1cH=a.4J;1a.1hT=a.4w;1a.13p=a.4Q;1a.1Er=a.6t;1a.3bO=m(a.3nk,!1);1a.1fq=a.7H;1a.1Wp=m(a.15S,!1);1a.3bN=0;1a.3bM=m(a.1hR,!1);1a.3bL=m(a.1fC,!1);1a.16I=a.1cI;1a.3bK=m(a.2id,!1);1a.6s=!0;1a.2mO=0;1a.10K={}}1b RP(a){if("2c"!==2h a||1F===a)1f a;1j(1d b,c=1L.9K(a),d=0;d<c.1h;d++)b=c[d],a.3p(b)&&"3qk"!==b&&(a[b]=RP(a[b]));1f 1L.3F(a)}1b C2(a){1f a===H.28A||a===H.4U6||a===H.4U5||a===H.49a||a===H.497}1b sH(a){1f a===H.6h||a===H.1ip||a===H.47M||a===H.47L||a===H.47H||a===H.47G||a===H.47K||a===H.3bo||a===H.47J||a===H.47I||a===H.3rZ||a===H.496||a===H.495||a===H.494||a===H.4U4}1b D2(a){1f a===H.2f7||a===H.1PP||a===H.1Be||a===H.2p5||a===H.2a0||a===H.2AV||a===H.3yw||a===H.1jW}1b Yx(a){1f a===H.6h||a===H.10w||a===H.1f1||a===H.4SC||a===H.4SB||a===H.48p||a===H.4SA||a===H.4Sz}1b pa(a){a=m(a,{});1d b=m(a.8d,{}),c=m(a.1bB,{}),d=m(a.1g1,{}),e=m(d.3g,{}),f=m(a.1qY,{}),h=m(a.9J,{}),l=m(a.1fA,{}),p=m(a.12e,{}),n=m(p.1A,{}),z=m(a.12h,{}),k=m(z.1eb,{}),x=m(z.1eH,{}),D=m(a.1RA,{}),t=a.5q;1a.1GT=m(a.1GT,Aj.3za);1a.8d={3e:m(b.3e,!1),18X:m(b.18X,H.1sq)};1a.11a=m(a.11a,1);1a.1bB={3e:m(c.3e,!1),8H:m(c.8H,0),13u:m(c.13u,0)};1a.1g1={3e:m(d.3e,!1),3g:Aa.1y(e)};1a.1qY={3I:m(f.3I,0),3W:m(f.3W,1)};1a.9J={3e:m(h.3e,!1),14R:m(h.14R,H.1PP)};1a.1fA={5r:m(l.5r,!0),5t:m(l.5t,!0),5G:m(l.5G,!0),2O:m(l.2O,!0)};1a.13Q=m(a.13Q,!0);1a.1lq=m(a.1lq,-1);1a.12e={3e:m(p.3e,!1),1A:1g y(m(n.5r,0),m(n.5t,0),m(n.5G,0),m(n.2O,0)),1Gq:m(p.1Gq,H.28A),1Gp:m(p.1Gp,H.28A),1Go:m(p.1Go,H.1ip),1Gn:m(p.1Gn,H.1ip),1B7:m(p.1B7,H.6h),1B6:m(p.1B6,H.6h)};1a.12h={3e:m(z.3e,!1),1iu:m(z.1iu,H.1jW),1it:m(z.1it,H.1jW),1bY:m(z.1bY,0),11q:m(z.11q,-1),1eb:{15w:m(k.15w,H.10w),17x:m(k.17x,H.10w),17w:m(k.17w,H.10w)},1eH:{15w:m(x.15w,H.10w),17x:m(x.17x,H.10w),17w:m(x.17w,H.10w)}};1a.1RA={3e:m(D.3e,!1),1Q:m(D.1Q,1),2xs:m(D.2xs,!1)};1a.5q=g(t)?1g Aa(t.x,t.y,t.1G,t.1D):1p 0;if(1a.11a<sb.3Pt||1a.11a>sb.2HD)1t 1g r("4w.11a is 9H of 11D.  1ie 3Pt and 2HD.");if(!Aj.1f6(1a.1GT))1t 1g r("13H 4w.1GT.");a=1a.8d.18X;if(a!==H.1TU&&a!==H.1sq&&a!==H.493)1t 1g r("13H 4w.8d.18X.");if(0>1a.1g1.3g.1G||0>1a.1g1.3g.1D)1t 1g r("4w.1g1.3g.1G and 4w.1g1.3g.1D 2Q be 9U 6L or 14B to 16m.");if(1a.1qY.3I>1a.1qY.3W)1t 1g r("4w.1qY.3I 1ag 2S be 9U 6L 4w.1qY.3W.");if(0>1a.1qY.3I)1t 1g r("4w.1qY.3I 2Q be 9U 6L or 14B to 16m.");if(1<1a.1qY.3W)1t 1g r("4w.1qY.3W 2Q be 1do 6L or 14B to 1bS.");a=1a.9J.14R;if(a!==H.2f7&&a!==H.1PP&&a!==H.1Be&&a!==H.2p5&&a!==H.2a0&&a!==H.2AV&&a!==H.3yw&&a!==H.1jW)1t 1g r("13H 4w.9J.14R.");if(0>1a.12e.1A.5r||1<1a.12e.1A.5r||0>1a.12e.1A.5t||1<1a.12e.1A.5t||0>1a.12e.1A.5G||1<1a.12e.1A.5G||0>1a.12e.1A.2O||1<1a.12e.1A.2O)1t 1g r("4w.12e.1A 1bw 2Q be 9U 6L or 14B to 16m and 1do 6L or 14B to 1bS.");if(!C2(1a.12e.1Gq))1t 1g r("13H 4w.12e.1Gq.");if(!C2(1a.12e.1Gp))1t 1g r("13H 4w.12e.1Gp.");if(!sH(1a.12e.1Go))1t 1g r("13H 4w.12e.1Go.");if(!sH(1a.12e.1Gn))1t 1g r("13H 4w.12e.1Gn.");if(!sH(1a.12e.1B7))1t 1g r("13H 4w.12e.1B7.");if(!sH(1a.12e.1B6))1t 1g r("13H 4w.12e.1B6.");if(!D2(1a.12h.1iu))1t 1g r("13H 4w.12h.1iu.");if(!D2(1a.12h.1it))1t 1g r("13H 4w.12h.1it.");if(!Yx(1a.12h.1eb.15w))1t 1g r("13H 4w.12h.1eb.15w.");if(!Yx(1a.12h.1eb.17x))1t 1g r("13H 4w.12h.1eb.17x.");if(!Yx(1a.12h.1eb.17w))1t 1g r("13H 4w.12h.1eb.17w.");if(!Yx(1a.12h.1eH.15w))1t 1g r("13H 4w.12h.1eH.15w.");if(!Yx(1a.12h.1eH.17x))1t 1g r("13H 4w.12h.1eH.17x.");if(!Yx(1a.12h.1eH.17w))1t 1g r("13H 4w.12h.1eH.17w.");if(g(1a.5q)){if(0>1a.5q.1G)1t 1g r("4w.5q.1G 2Q be 9U 6L or 14B to 16m.");if(0>1a.5q.1D)1t 1g r("4w.5q.1D 2Q be 9U 6L or 14B to 16m.");if(1a.5q.1G>sb.48Z)1t 1g r("4w.5q.1G 2Q be 1do 6L or 14B to 1Z 14S 5q 1G ("+sb.48Z.5s()+").  1ie 48Z.");if(1a.5q.1D>sb.48Y)1t 1g r("4w.5q.1D 2Q be 1do 6L or 14B to 1Z 14S 5q 1D ("+sb.48Y.5s()+").  1ie 48Y.");}1a.id=0;1a.3qk=[]}1b Tu(a,b,c){c?a.5F(b):a.1Pw(b)}1b E2(a,b){a.1GT(b.1GT)}1b F2(a,b){b=b.8d;1d c=b.3e;Tu(a,a.3s4,c);c&&a.1Ee(b.18X)}1b G2(a,b){a.11a(b.11a)}1b H2(a,b){b=b.1bB;1d c=b.3e;Tu(a,a.6sS,c);c&&a.1bB(b.8H,b.13u)}1b I2(a,b,c){b=b.1g1;1d d=g(c.1g1)?c.1g1.3e:b.3e;Tu(a,a.2XC,d);d&&(c=g(c.1g1)?c.1g1.3g:b.3g,a.aqk(c.x,c.y,c.1G,c.1D))}1b J2(a,b){b=b.1qY;a.1qY(b.3I,b.3W)}1b K2(a,b){b=b.9J;1d c=b.3e;Tu(a,a.3Yc,c);c&&a.36w(b.14R)}1b L2(a,b){b=b.1fA;a.1fA(b.5r,b.5t,b.5G,b.2O)}1b M2(a,b){a.13Q(b.13Q)}1b N2(a,b){a.1lq(b.1lq)}1b O2(a,b,c){b=b.12e;c=g(c.1Jm)?c.1Jm:b.3e;Tu(a,a.24Z,c);c&&(c=b.1A,a.1HO(c.5r,c.5t,c.5G,c.2O),a.573(b.1Gq,b.1Gp),a.572(b.1Go,b.1B7,b.1Gn,b.1B6))}1b P2(a,b){b=b.12h;1d c=b.3e;Tu(a,a.3Yd,c);if(c){c=b.1iu;1d d=b.1it,e=b.1bY,f=b.11q;a.36v(c,e,f);a.6Io(a.1sq,d,e,f);a.6Io(a.1TU,c,e,f);c=b.1eb;a.6In(a.1TU,c.15w,c.17x,c.17w);b=b.1eH;a.6In(a.1sq,b.15w,b.17x,b.17w)}}1b Q2(a,b){b=b.1RA;1d c=b.3e;Tu(a,a.6sR,c);c&&a.1RA(b.1Q,b.2xs)}1b R2(a,b,c){b=m(b.5q,c.5q);g(b)||(b=6hJ,b.1G=c.1O.8j,b.1D=c.1O.7p);c.1O.13m.5q=b;a.5q(b.x,b.y,b.1G,b.1D)}1b vb(a){1a.1eC=a.4V;1a.6hH=a.14h;1a.3K=a.3K}1b S2(a,b,c,d){6U(b.1I){1S a.3O:1f 1g T2(a,b,c,d);1S a.1Rt:1f 1g U2(a,b,c,d);1S a.1my:1f 1g V2(a,b,c,d);1S a.1EK:1f 1g W2(a,b,c,d);1S a.1oS:1S a.3yQ:1f 1g SP(a,b,c,d);1S a.1El:1S a.2DS:1f 1g X2(a,b,c,d);1S a.3xR:1S a.3xO:1f 1g Y2(a,b,c,d);1S a.3xQ:1S a.3xN:1f 1g Z2(a,b,c,d);1S a.3xP:1S a.3xM:1f 1g $2(a,b,c,d);1S a.3bi:1f 1g a3(a,b,c,d);1S a.1BP:1f 1g b3(a,b,c,d);1S a.1ff:1f 1g c3(a,b,c,d);4T:1t 1g qa("4bD 2n 1I: "+b.1I+\' 1j 2n "\'+c+\'".\');}}1b T2(a,b,c,d){1a.2i=c;1a.1Q=1p 0;1a.6j=0;1a.6M=a;1a.1c5=d}1b U2(a,b,c,d){1a.2i=c;1a.1Q=1p 0;1a.6j=1g C;1a.6M=a;1a.1c5=d}1b V2(a,b,c,d){1a.2i=c;1a.6j=1a.1Q=1p 0;1a.6M=a;1a.1c5=d}1b W2(a,b,c,d){1a.2i=c;1a.6j=1a.1Q=1p 0;1a.6M=a;1a.1c5=d}1b SP(a,b,c,d){1a.2i=c;1a.1Q=1p 0;1a.6M=a;1a.1c5=d;1a.3bJ=1p 0}1b X2(a,b,c,d){1a.2i=c;1a.1Q=1p 0;1a.6j=0;1a.6M=a;1a.1c5=d}1b Y2(a,b,c,d){1a.2i=c;1a.1Q=1p 0;1a.6j=1g C;1a.6M=a;1a.1c5=d}1b Z2(a,b,c,d){1a.2i=c;1a.1Q=1p 0;1a.6j=1g k;1a.6M=a;1a.1c5=d}1b $2(a,b,c,d){1a.2i=c;1a.1Q=1p 0;1a.6j=1g E;1a.6M=a;1a.1c5=d}1b a3(a,b,c,d){1a.2i=c;1a.1Q=1p 0;1a.6j=1g ub;1a.6M=a;1a.1c5=d}1b b3(a,b,c,d){1a.2i=c;1a.1Q=1p 0;1a.6j=1g J;1a.6M=a;1a.1c5=d}1b c3(a,b,c,d){1a.2i=c;1a.1Q=1p 0;1a.6j=1g A;1a.6M=a;1a.1c5=d}1b d3(a,b,c,d){6U(b.1I){1S a.3O:1f 1g e3(a,b,c,d);1S a.1Rt:1f 1g f3(a,b,c,d);1S a.1my:1f 1g g3(a,b,c,d);1S a.1EK:1f 1g h3(a,b,c,d);1S a.1oS:1S a.3yQ:1f 1g TP(a,b,c,d);1S a.1El:1S a.2DS:1f 1g i3(a,b,c,d);1S a.3xR:1S a.3xO:1f 1g j3(a,b,c,d);1S a.3xQ:1S a.3xN:1f 1g k3(a,b,c,d);1S a.3xP:1S a.3xM:1f 1g l3(a,b,c,d);1S a.3bi:1f 1g m3(a,b,c,d);1S a.1BP:1f 1g n3(a,b,c,d);1S a.1ff:1f 1g o3(a,b,c,d);4T:1t 1g qa("4bD 2n 1I: "+b.1I+\' 1j 2n "\'+c+\'".\');}}1b e3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 4A(b);1a.6M=a;1a.1c5=d[0]}1b f3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 4A(2*b);1a.6M=a;1a.1c5=d[0]}1b g3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 4A(3*b);1a.6M=a;1a.1c5=d[0]}1b h3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 4A(4*b);1a.6M=a;1a.1c5=d[0]}1b TP(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 4A(b);1a.6M=a;1a.4Tf=d;1a.3bJ=1p 0}1b i3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 1fZ(b);1a.6M=a;1a.1c5=d[0]}1b j3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 1fZ(2*b);1a.6M=a;1a.1c5=d[0]}1b k3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 1fZ(3*b);1a.6M=a;1a.1c5=d[0]}1b l3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 1fZ(4*b);1a.6M=a;1a.1c5=d[0]}1b m3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 4A(4*b);1a.6M=a;1a.1c5=d[0]}1b n3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 4A(9*b);1a.6M=a;1a.1c5=d[0]}1b o3(a,b,c,d){b=d.1h;1a.2i=c;1a.1Q=2K(b);1a.6j=1g 4A(16*b);1a.6M=a;1a.1c5=d[0]}1b Ga(a){1d b=a.4I8,c={};if(!sb.6hU||!sb.6hT){1d d,e,f=p3(a.40L),h=p3(b),l=f.1h,g=h.1h;1j(d=0;d<l;d++)1j(e=0;e<g;e++)if(f[d]===h[e]){1d n=f[d];1d z="aqj"+n;b=b.3X(1g 19j(n+"\\\\b","g"),z);c[z]=n}}1a.6M=a.gl;1a.6Ig=a.37S;1a.40d=a.37H;1a.12m=a.7W;1a.6Ij=a.34c;1a.6Ii=a.34b;1a.4Tb=1a.4Ta=1a.1dg=1a.4Tc=1a.4Te=1a.4Td=1a.2ir=1p 0;1a.6If=c;1a.4Hh=1a.2BK=1p 0;1a.1za=a.5O;1a.6Im=a.40L;1a.1z9=a.5A;1a.6Il=b;1a.id=6hx++}1b p3(a){1d b=[];a=a.141(/2n.*?(?![^{]*})(?=[=\\[;])/g);if(g(a))1j(1d c=a.1h,d=0;d<c;d++){1d e=a[d].1b2();e=e.4h(e.1sl(" ")+1);b.1q(e)}1f b}1b tH(a){if(!g(a.2ir)){1d b=a.6M,c=a.6Im,d=a.6Il,e=b.3Ys(b.3s9);b.1hP(e,c);b.3Yr(e);c=b.3Ys(b.2Nc);b.1hP(c,d);b.3Yr(c);d=b.5Ok();b.3Yq(d,e);b.3Yq(d,c);b.6Ik(e);b.6Ik(c);1d f=a.12m;if(g(f))1j(1d h in f)f.3p(h)&&b.5Oi(d,f[h],h);h=a.6Ij;f=a.6Ii;g(h)&&g(f)&&b.aqi(d,h,f);b.5Oh(d);if(!b.36z(d,b.6sC)){a=a.40d;if(!b.6Ih(c,b.4ZO))1t h=b.4eC(c),11l.7A(wl+"4eB 1d8 2gb 7k: "+h),g(a)&&(a=a.4eD(c),""!==a?11l.7A(wl+"4eE 1fo 1d8 5j:\\n"+a):11l.7A(wl+"4eB 1d8 14L 1bf.")),b.48K(d),1g qa("4eB 1d8 1bf to 2gb.  52w 7k: "+h);if(!b.6Ih(e,b.4ZO))1t h=b.4eC(e),11l.7A(wl+"3bB 1d8 2gb 7k: "+h),g(a)&&(a=a.4eD(e),""!==a?11l.7A(wl+"4eE 1rc 1d8 5j:\\n"+a):11l.7A(wl+"3bB 1d8 14L 1bf.")),b.48K(d),1g qa("3bB 1d8 1bf to 2gb.  52w 7k: "+h);h=b.4T9(d);11l.7A(wl+"56e 1bb 1H6 7k: "+h);g(a)&&(11l.7A(wl+"4eE 1rc 1d8 5j:\\n"+a.4eD(e)),11l.7A(wl+"4eE 1fo 1d8 5j:\\n"+a.4eD(c)));b.48K(d);1t 1g qa("2MK 1bf to 1H6.  43E 7k: "+h);}if(f=a.6Ig)h=b.4eC(e),g(h)&&0<h.1h&&11l.7k(wl+"3bB 1d8 2gb 7k: "+h);f&&(h=b.4eC(c),g(h)&&0<h.1h&&11l.7k(wl+"4eB 1d8 2gb 7k: "+h));f&&(h=b.4T9(d),g(h)&&0<h.1h&&11l.7k(wl+"56e 1bb 1H6 7k: "+h));c=b.36z(d,b.4Ev);h={};f=[];e=[];1j(1d l=b.36z(d,b.4Et),p=0;p<l;++p){1d n=b.5Oe(d,p),z=-1!==n.2i.3f("[0]",n.2i.1h-3)?n.2i.4h(0,n.2i.1h-3):n.2i;if(0!==z.3f("aqh"))if(0>n.2i.3f("[")){1d k=b.3Yp(d,z);1F!==k&&(n=S2(b,n,z,k),h[z]=n,f.1q(n),n.3yP&&e.1q(n))}1s if(k=z.3f("["),0<=k){if(n=h[z.4h(0,k)],g(n)&&(k=n.4Tf,1>=k.1h)){n=n.1Q;1d x=b.3Yp(d,z);1F!==x&&(k.1q(x),n.1q(b.aqg(d,x)))}}1s{k=[];1j(1d D=0;D<n.4V;++D)x=b.3Yp(d,z+"["+D+"]"),1F!==x&&k.1q(x);n=d3(b,n,z,k);h[z]=n;f.1q(n);n.3yP&&e.1q(n)}}l=[];p=[];1j(1d t in h)h.3p(t)&&(z=h[t],n=t,k=a.6If[n],g(k)&&(n=z.2i=k),n=PB[n],g(n)?l.1q({2n:z,6hw:n}):p.1q(z));a.2ir=d;a.4Td=c;t={};1j(z=0;z<c;++z)n=b.5Og(d,z),k=b.5Of(d,n.2i),t[n.2i]={2i:n.2i,1I:n.1I,2P:k};a.4Te=t;a.4Tc=h;a.1dg=f;a.4Ta=l;a.4Tb=p;b.28B(d);d=0;t=e.1h;1j(c=0;c<t;++c)d=e[c].3yP(d);b.28B(1F);a.4Hh=d}}1b q3(a,b){1d c=/#2f 57o/,d=a.7g("\\n");if(/#9G 300 es/g.6S(a))1f a;1d e=-1,f;1j(f=0;f<d.1h;++f){1d h=d[f];if(c.6S(h)){e=f;1W}}if(-1===e)1t 1g r("38U 2S 1oZ a #2f 57o!");c=[];1j(f=0;10>f;f++){h="1OU\\\\["+f+"\\\\]";1d l="aqf"+f;if((1g 19j(h,"g")).6S(a)){1d g=l,n=c;-1===n.3f(g)&&n.1q(g);Gp(h,l,d);d.6z(e,0,"11e(17J = "+f+") 9H 1m "+l+";");e+=1}}a:{f=/(^|[^\\w])(2C)($|[^\\w])/g;a=d.1h;1j(h=0;h<a;++h)if(f.6S(d[h])){f=!0;1W a}f=!1}f&&(-1===c.3f("4eA")&&c.1q("4eA"),Gp("2C","4eA",d),d.6z(e,0,"11e(17J = 0) 9H 1m 4eA;"));e=6Ie(c,d);c={};1j(f=0;f<d.1h;f++){h=d[f];1j(1d z in e)e.3p(z)&&(1g 19j("(11e)[^]+(9H)[^]+("+z+")[^]+","g")).6S(h)&&(c[h]=z)}1j(1d k in c)if(c.3p(k)){f=c[k];z=d.3f(k);f=e[f];a=f.1h;1j(h=0;h<a;h++)d.6z(z,0,f[h]);z+=a+1;1j(h=a-1;0<=h;h--)d.6z(z,0,"#1u //"+f[h])}k=!1;1j(f=0;f<d.1h;f++)/#9G/.6S(d[f])&&(d[f]="#9G 300 es",k=!0);k||d.6z(0,0,"#9G 300 es");r3("aqe",d);r3("6CZ",d);Gp("1Y","7y",d);Gp("5Sv","7y",d);Gp("24F","7y",d);Gp("1bp","aqd",d);b?Gp("3G","in",d):(Gp("3Q","in",d),Gp("3G","9H",d));b="";k=d.1h;1j(z=0;z<k;++z)b+=d[z]+"\\n";1f b}1b Gp(a,b,c){a=1g 19j("(^|[^\\\\w])("+a+")($|[^\\\\w])","g");1j(1d d=c.1h,e=0;e<d;++e)c[e]=c[e].3X(a,"$1"+b+"$3")}1b 6Ie(a,b){1j(1d c={},d=a.1h,e=[],f=0;f<b.1h;++f){1d h=b[f],l=/(#1z|#if)/g.6S(h),p=/#1s/g.6S(h),n=/#1u/g.6S(h);if(l)e.1q(h);1s if(p)h=e[e.1h-1].3X("1z","1bI"),/if/g.6S(h)&&(h=h.3X(/(#if\\s+)(\\S*)([^]*)/,"$1!($2)$3")),e.9l(),e.1q(h);1s if(n)e.9l();1s if(!/11e/g.6S(h))1j(l=0;l<d;++l)p=a[l],-1!==h.3f(p)&&(g(c[p])?c[p]=c[p].14O(1b(a){1f 0<=e.3f(a)}):c[p]=e.4h())}1f c}1b r3(a,b){a=1g 19j("#6A\\\\s+aqc"+a+"\\\\s+:\\\\s+[a-zA-Z0-9]+\\\\s*$","g");1j(1d c=b.1h,d=0;d<c;++d)b[d]=b[d].3X(a,"")}1b uH(a){}1b s3(a){1a.2Ec=g(a.2Ec)?a.2Ec:1p 0;1a.2r5=g(a.2r5)?a.2r5:1p 0;1a.23S=g(a.23S)?a.23S:1p 0;1a.48I=[];1a.48J=[];1a.2QB=g(a.2QB)?a.2QB:1p 0;1a.1I=g(a.1I)?a.1I:1p 0}1b Uu(a,b){1a.2Ea=a;1a.10J=b;1a.3bI=b.1h}1b UP(a,b,c,d){1d e=a.1I.3bI;1d f=a.2Ec,h=c.3f("\\n",f+e+1);e=c.11c(f+e+1,h);f=a.1I;f=Uu.4T7(f,Lm.48H)&&g(b[e.3X(/^[\\s\\4ez\\4ey]+|[\\s\\4ez\\4ey]+$/g,"")])?!0:Uu.4T7(f,Lm.4T6)&&!g(b[e.3X(/^[\\s\\4ez\\4ey]+|[\\s\\4ez\\4ey]+$/g,"")])?!0:!1;if(f)1j(g(a.2r5)&&(e=a.2r5+Lm.4T5.3bI+1,d.1q({3yO:e,23S:a.23S})),e=0;e<a.48I.1h;e++)UP(a.48I[e],b,c,d);1s 1j(g(a.2r5)?d.1q({3yO:a.2Ec+a.1I.3bI+6Id(c,a.2Ec,a.1I.10J)+e.1h,23S:a.2r5}):d.1q({3yO:a.2Ec,23S:a.23S+Lm.4T4.3bI}),e=0;e<a.48J.1h;e++)UP(a.48J[e],b,c,d)}1b 6Id(a,b,c){c=c.1h;1j(1d d=b+c;d<a.1h&&" "===a.1as(d);d++);1f d-(b+c)}1b t3(a){a=a.3X(/\\/\\/.*/g,"");1f a.3X(/\\/\\*\\*[\\s\\S]*?\\*\\//gm,1b(a){a=a.141(/\\n/gm).1h;1j(1d b="",d=0;d<a;++d)b+="\\n";1f b})}1b u3(a,b,c){1j(1d d,e=0;e<c.1h;++e)c[e].2i===a&&(d=c[e]);g(d)||(b=t3(b),d={2i:a,3eD:b,3zN:[],2SA:[],3sf:!1},c.1q(d));1f d}1b v3(a,b){if(!a.3sf){a.3sf=!0;1d c=a.3eD.141(/\\aqb[a-zA-Z0-31m]*/g);g(c)&&1F!==c&&(c=c.14O(1b(a,b){1f c.3f(a)===b}),c.12I(1b(c){c!==a.2i&&ja.3yM.3p(c)&&(c=u3(c,ja.3yM[c],b),a.3zN.1q(c),c.2SA.1q(a),v3(c,b))}))}}1b 6Ic(a,b,c){1d d=[];b=u3("2k",b,d);v3(b,d);1j(1d e=[],f=[];0<d.1h;){1d h=d.9l();f.1q(h);0===h.2SA.1h&&e.1q(h)}1j(;0<e.1h;){h=e.1hN();d.1q(h);1j(1d l=0;l<h.3zN.1h;++l){1d g=h.3zN[l],n=g.2SA.3f(h);g.2SA.6z(n,1);0===g.2SA.1h&&e.1q(g)}}e=[];1j(h=0;h<f.1h;++h)0!==f[h].2SA.1h&&e.1q(f[h]);if(0!==e.1h){a="A 5oZ 4pL 9x 1ji in 1Z 5rg aq9-in 26C/1wU/3sg: \\n";1j(c=0;c<e.1h;++c)a=a+e[c].2i+"\\n";1t 1g r(a);}f="";1j(e=d.1h-1;0<=e;--e)w3(c,a)&&(d[e].3eD=uH.4T8(c,a,d[e].3eD)),f=f+d[e].3eD+"\\n";1f f.3X(b.3eD,"")}1b w3(a,b){1f g(a)&&g(b)&&a.6CU?!0:!1}1b x3(a,b,c){1d d,e="",f=a.5p;if(g(f)){1d h=0;1j(d=f.1h;h<d;++h)e+="\\n#6D 0\\n"+f[h]}e=t3(e);1d l;e=e.3X(/#9G\\s+(.*?)\\n/gm,1b(a,b){if(g(l)&&l!==b)1t 1g r("aq8 4Wo 1ji: "+l+" and "+b);l=b;1f"\\n"});1d p=[];e=e.3X(/#6A.*\\n/gm,1b(a){p.1q(a);1f"\\n"});e=e.3X(/1k7\\s(5v|10f|6V)\\s(1o|7P);/,"");h=a.2zs;g(h)&&(e=ja.6ht(e,h));f="";g(l)&&(f="#9G "+l+"\\n");d=p.1h;1j(h=0;h<d;h++)f+=p[h];b&&(f+="#1z aq7\\1Fi 6V 1o;\\n#1s\\1Fi 10f 1o;\\n#1u\\n\\n");1d n=a.2N;if(g(n))1j(h=0,d=n.1h;h<d;++h){1d z=n[h];0!==z.1h&&(f+="#2f "+z+"\\n")}c.1py&&(f+="#2f 57o\\n\\n#2f 1dt\\n\\n");w3(c,a)&&(e=uH.4T8(c,a,e));c.40f&&(f+="#2f 3Dm\\n\\n");if(a.3yN){a=6Ic(a,e,c);p.1h=0;a=a.3X(/#6A.*\\n/gm,1b(a){p.1q(a);1f"\\n"});d=p.1h;1j(h=0;h<d;h++)f=p[h]+f;f+=a}f=f+"\\n#6D 0\\n"+e;c.1py&&(f=q3(f,b));1f f}1b ja(a){a=m(a,m.4Z);1d b=a.2zs;if(g(b)&&"2n"!==b&&"3G"!==b)1t 1g r("3v.2zs 2Q be \'2n\' or \'3G\'.");1a.2N=g(a.2N)?a.2N.4h(0):[];1a.5p=g(a.5p)?a.5p.4h(0):[];1a.2zs=b;1a.3yN=m(a.3yN,!0);1a.2i=g(a.2i)?a.2i:1p 0}1b Ra(a){a=m(a,m.4Z);v.2l("3v.1O",a.1O);if(!g(a.5b)&&!g(a.18Q))1t 1g r("2Av 3v.18Q or 3v.5b is 1X.");if(g(a.5b)&&g(a.18Q))1t 1g r("1e6 6t in 1oE 3v.18Q and 3v.5b.");g(a.5b)&&(v.1N.2c("3v.5b",a.5b),v.1N.2b("3v.5b.10S",a.5b.10S));if(!xa.1f6(a.7Q))1t 1g r("7Q is 16w.");1d b=a.1O.6M,c=a.3ZK,d=a.5b,e=a.18Q,f=a.7Q,h=g(d);h&&(e=d.10S);v.1N.2b.1bP("18Q",e,0);1d l=b.3Yf();b.1z1(c,l);b.3nX(c,h?d:e,f);b.1z1(c,1F);1a.6M=b;1a.1u2=a.1O.1u2;1a.3bH=c;1a.1Wo=e;1a.6hq=f;1a.1hW=l;1a.1hU=!0}1b 6Ib(a,b,c,d){1d e=g(b.7e),f=g(b.1Q),h=b.1Q?b.1Q.1h:b.2Z;if(!e&&!f)1t 1g r("3Q 2Q 118 a 7e or a 1Q.");if(e&&f)1t 1g r("3Q 1il 118 1oE a 7e and a 1Q.  It 2Q 118 1X3 a 7e 5i 57n 2pi-1rc 2g or a 1Q 5i 57n 2g 1j all 1co.");if(1!==h&&2!==h&&3!==h&&4!==h){if(f)1t 1g r("3Q.1Q.1h 2Q be in 1Z 11D [1, 4].");1t 1g r("3Q.2Z 2Q be in 1Z 11D [1, 4].");}if(g(b.3k)&&!I.1f6(b.3k))1t 1g r("3Q 2Q 118 a 1eu 3k or 2S 2mt it.");if(g(b.9t)&&255<b.9t)1t 1g r("3Q 2Q 118 a 9t 1do 6L or 14B to 255 or 2S 2mt it.");if(g(b.19N)&&0<b.19N&&!d.2Kf)1t 1g r("6G0 3Wv is 2S 11J");if(g(b.19N)&&0>b.19N)1t 1g r("3Q 2Q 118 an 19N 9U 6L or 14B to 16m");if(g(b.19N)&&f)1t 1g r("3Q 1il 118 118 an 19N if it is 2S aq6 by a 3J");if(g(b.19N)&&0<b.19N&&0===b.2P)1t 1g r("3Q 16m 1il 118 an 19N 9U 6L 0");b={2P:m(b.2P,c),3e:m(b.3e,!0),7e:b.7e,1Q:f?b.1Q.4h(0):1p 0,2Z:h,3k:m(b.3k,I.3O),1T:m(b.1T,!1),9n:m(b.9n,0),9t:m(b.9t,0),19N:m(b.19N,0)};if(e)b.2QA=1b(a){1d b=1a.2P;a.1z1(a.1Q4,1a.7e.33p());a.4Eh(b,1a.2Z,1a.3k,1a.1T,1a.9t,1a.9n);a.4Ei(b);0<1a.19N&&(d.3yL(b,1a.19N),d.48C[b]=1a.19N,d.48D=!0)},b.36S=1b(a){a.36S(1a.2P);0<1a.19N&&d.3yL(c,0)};1s{6U(b.2Z){1S 1:b.2QA=1b(a){a.aq5(1a.2P,1a.1Q)};1W;1S 2:b.2QA=1b(a){a.aq4(1a.2P,1a.1Q)};1W;1S 3:b.2QA=1b(a){a.aq3(1a.2P,1a.1Q)};1W;1S 4:b.2QA=1b(a){a.aq2(1a.2P,1a.1Q)}}b.36S=1b(a){}}a.1q(b)}1b y3(a,b,c){1j(1d d=0;d<b.1h;++d){1d e=b[d];e.3e&&e.2QA(a)}g(c)&&a.1z1(a.1GV,c.33p())}1b Fb(a){a=m(a,m.4Z);v.2l("3v.1O",a.1O);v.2l("3v.2w",a.2w);1d b=a.1O,c=b.6M,d=a.2w;a=a.10X;1d e,f=[],h=1,l=!1,p=!1,n=d.1h;1j(e=0;e<n;++e)6Ib(f,d[e],e,b);n=f.1h;1j(e=0;e<n;++e)if(d=f[e],g(d.7e)&&0===d.19N){e=d.9t||d.2Z*I.1jh(d.3k);h=d.7e.18Q/e;1W}1j(e=0;e<n;++e)0<f[e].19N&&(l=!0),g(f[e].1Q)&&(p=!0);d={};1j(e=0;e<n;++e){1d z=f[e].2P;if(d[z])1t 1g r("3OL "+z+" is 1rd by 1v5 6L 1bS 3Q.");d[z]=!0}if(b.5Uq){1d k=b.6CV();b.3yK(k);y3(c,f,a);b.3yK(1F)}1a.6hj=h;1a.6hi=l;1a.6hg=p;1a.4j=b;1a.6M=c;1a.3bG=k;1a.16N=f;1a.1UZ=a}1b z3(a){1f a.2a.1h/a.2Z}1b 6I9(a){1f I.1jh(a.3k)*a.2Z}1b 6hl(a){1d b,c=[];1j(l in a)a.3p(l)&&g(a[l])&&g(a[l].2a)&&(c.1q(l),a[l].3k===I.18l&&(a[l].3k=I.3O,a[l].2a=I.9g(I.3O,a[l].2a)));1d d=c.1h;if(0<d){1d e=z3(a[c[0]]);1j(b=1;b<d;++b){1d f=z3(a[c[b]]);if(f!==e)1t 1g qa("6Ia 3Q 3mg 2Q 118 1Z 1ik 2b of 1co.  2L2 "+c[b]+" 14d a 3zd 2b of 1co ("+f.5s()+") 6L 3Q "+c[0]+" ("+e.5s()+").");}}c.15F(1b(b,c){1f I.1jh(a[c].3k)-I.1jh(a[b].3k)});f=0;1d h={};1j(b=0;b<d;++b){1d l=c[b];1d p=a[l];h[l]=f;f+=6I9(p)}if(0<f){b=I.1jh(a[c[0]].3k);1d n=f%b;0!==n&&(f+=b-n);n=1g 1aq(e*f);1d z={};1j(b=0;b<d;++b){l=c[b];1d k=I.1jh(a[l].3k);z[l]={229:I.9g(a[l].3k,n),2P:h[l]/k,6I8:f/k}}1j(b=0;b<e;++b)1j(k=0;k<d;++k){l=c[k];p=a[l];1d x=p.2a;l=z[l];1d D=l.229;p=p.2Z;1j(1d t=0;t<p;++t)D[l.2P+t]=x[b*p+t];l.2P+=l.6I8}1f{3J:n,6hk:h,23E:f}}}1b xl(a,b,c){if(!g(a))1t 1g r("1O is 1X");if(!g(b))1t 1g r("2w is 1X");if(!g(c))1t 1g r("6he is 1X");1a.16N=b;1a.2Qw=c;if(0!==b.1h){1d d=!1;1j(1d e=b.1h,f=0;f<e;++f)if(b[f].3k!==I.7U){d=!0;1W}d=d?Ha.3O:Ha.7U;a=a.2BF;a=d===Ha.3O&&!a;e=2K(b.1h);f=0;1j(1d h=b.1h,l=0;l<h;++l){1d p=b[l].3k;e[l]=f;p!==I.7U&&a?f+=4:++f}f=e.1h;h=e[f-1];b=b[f-1].3k!==I.7U&&a?h+4:h+1;h=1k.2o(c,1k.2t(sb.1Ml/b));f=b*h;c=1k.8a(c/h);h=1/f;l=.5*h;p=1/c;1d n=.5*p;1a.29V=1g C(f,c);1a.47T=1g E(h,l,p,n);1a.1ov=a?Ha.7U:d;1a.48z=a;1a.48A=e;1a.48B=b;1a.10q=1p 0;c*=4*f;1a.1NC=d!==Ha.3O||a?1g 4L(c):1g 4A(c);1a.2qV=!1}}1b A3(a,b){a=a[b].2Z;1f 2===a?C:3===a?k:4===a?E:3a}1b 6hb(a){1d b=a.48B;1f 1===a.29V.y?"2n 1m 1Wm; \\2u 2Qe(1o 4R) \\n{ \\n    1o 2DY = 1Wm.x; \\n    1o 1J4 = 1Wm.y; \\n    1o 2r4 = 1o("+b+"); \\n    1f 1v(1J4 + (4R * 2r4 * 2DY), 0.5); \\n} \\n":"2n 1m 1Wm; \\1B 1v 48y; \\2u 2Qe(1o 4R) \\n{ \\n    1o 2DY = 1Wm.x; \\n    1o 1J4 = 1Wm.y; \\n    1o 47V = 1Wm.z; \\n    1o 3k2 = 1Wm.w; \\n    1o 2r4 = 1o("+b+"); \\n    1o 47X = 13R(4R * 2r4, 48y.x); \\n    1o 47W = 2t(4R * 2r4 / 48y.x); \\n    1f 1v(1J4 + (47X * 2DY), 3k2 + (47W * 47V)); \\n} \\n"}1b 6ha(a,b){1d c=a.16N[b],d=c.2Z,e=c.1Hl;1d f=1===d?"1o":"1Ji"+d;b=f+" "+e+"(1o 4R) \\n{ \\n    1v st = 2Qe(4R); \\n    st.x += 1Wm.x * 1o("+a.48A[b]+"); \\n";b=a.48z&&c.3k!==Ha.7U?b+"1m 2ce; \\4ex.x = 2su(1Y(2Qz, st)); \\4ex.y = 2su(1Y(2Qz, st + 1v(1Wm.x, 0.0))); \\4ex.z = 2su(1Y(2Qz, st + 1v(1Wm.x * 2.0, 0.0))); \\4ex.w = 2su(1Y(2Qz, st + 1v(1Wm.x * 3.0, 0.0))); \\n":b+"    1m 2ce = 1Y(2Qz, st); \\n";b+="    "+f+" 1Q = 2ce"+(1===d?".x":2===d?".xy":3===d?".1H":"")+"; \\n";a.1ov!==Ha.7U||c.3k!==I.7U||c.1T?a.1ov===Ha.3O&&c.3k===I.7U&&c.1T&&(b+="1Q /= 255.0; \\n"):b+="1Q *= 255.0; \\n";1f b+"    1f 1Q; \\n} \\n"}1b VP(a,b){1d c=a.2w;a=c.1K;a=a.2a.1h/a.2Z;c.4R=1g Pa({3k:I.3O,2Z:1,2a:1g 4A(a)});c=c.4R.2a;1j(1d d=0;d<a;++d)c[d]=b}1b WP(a,b,c,d){1d e=d.1h-1;if(0<=e){1d f=d[e];e=f.2M+f.7Z;1d h=f.2P}1s h=e=0;f=c[h].4N.1h;1j(1d l=a.1h,p=0;p<l;++p){1d n=a[p][b];g(n)&&(n=n.4N.1h,e+n>f&&(e=0,f=c[++h].4N.1h),d.1q({2P:h,2M:e,7Z:n}),e+=n)}}1b B3(a){1d b=a.1h,c=1g 4A(1+(P.4q+1)*b),d=0;c[d++]=b;1j(1d e=0;e<b;++e)g(a[e])?(c[d++]=1,P.5n(a[e],c,d)):c[d++]=0,d+=P.4q;1f c}1b C3(a){1j(1d b=2K(a[0]),c=0,d=1;d<a.1h;)1===a[d++]&&(b[c]=P.5f(a,d)),++c,d+=P.4q;1f b}1b eo(a){a=m(a,m.4Z);1a.8B=1g sa;1a.aq1=1a.27l=1a.1WL=1a.7a=1a.55H=1a.1qI=1a.6I7=1a.1iw=1p 0;1a.4d=a.4d;1a.12G=a.12G;1a.1A=a.1A;1a.18b=a.18b}1b 6I6(a){if(a 2m y)1f 1g cc(a);if("4n"===2h a||a 2m na||a 2m 2hs||a 2m 38L||a 2m Ca){1d b=1g eo;b.4d=a;1f b}1t 1g r("2mq to aq0 2q 1I: "+a);}1b Bj(a,b){1f Y(a,b,6I6)}1b Nf(a,b){a=m(a,m.4Z);1a.10T=m(a.2p,!0);1a.10V=m(a.1G,1);1a.1Rp=m(a.1qB,!1);1a.17y=a.4S;1a.17u=a.2q;g(1a.17u)||(1a.17u=va.1kk(va.1oL,{1A:1g y(1,1,1,1)}));1d c=a.3q;g(c)||(c=[]);1a.9h=c;1a.1xD=$h(c,k.5T);1a.1Rp&&2<1a.1xD.1h&&(1a.1xD===1a.9h&&(1a.1xD=c.4h()),1a.1xD.1q(k.1y(1a.1xD[0])));1a.1bC=1a.1xD.1h;1a.7R=a.id;1d d;g(b)&&(d=A.1y(b.4a));1a.12t=d;1a.23R=dd.4SQ(1a.1xD,d);1a.3yx=1p 0;1a.1vc=1g 12X(D3);1a.1uc=b;1a.1g6=!1;1a.16I=1p 0;1a.11S=P.1aN(1a.1xD);1a.2iq=P.5o(1a.11S,1a.12t);1a.1B1=1g P}1b Hp(a,b){++a.1vc[b];1d c=a.1uc;g(c)&&(c.6gL(a,b),a.1g6=!0)}1b Bf(a){a=m(a,m.4Z);1a.4a=A.1y(m(a.4a,A.8K));1a.12t=A.1y(A.8K);1a.15S=m(a.15S,!1);1a.3yA=a.2Op;1a.3yB=a.41Z;1a.27k=[];1a.1jb=1a.3yF=1a.48s=!1;1a.1vc=1g 12X(E3);1a.1dJ=[];1a.3yD={};1a.4SP={1tF:xa.7C,48u:0};1a.8C=1p 0;1a.3bC=[];1a.3bD=[];1a.6y=1a.57m=1a.3yC=1p 0;1a.55Q=1a.3yE=!1;1a.1nG=y.1y(y.9r);1d b=1a;1a.1cH={1nU:1b(){1f b.1nG}}}1b F3(a,b,c){a.1jb=!1;XP(a);G3(a);1j(1d d=a.8C,e=a.12t,f=a.3yD={},h=a.1dJ,l=h.1h,p=0;p<l;++p){1d n=h[p];if(1<n.1xD.1h){n.2H();1d z=n.2q,k=f[z.1I];g(k)||(k=f[z.1I]=1g fo(z,d,e));k.6gK(n)}}d=[[]];n=a.6y;h=a.55Q;e=[0];z=0;f=[[]];k=0;1d x=a.3yD;1j(q in x)if(x.3p(q)){1d D=x[q];D.6gJ(b,n,h);k+=D.3yz}if(0<k){h=a.8C;l=1g 4A(18*k);p=1g 4A(4*k);1d t,m=0,G=0,aa=0;1j(q in x)if(x.3p(q)){D=x[q];D.1G2(l,p,m,G,aa,n,b,c);h===O.1at&&(g(t)||(t=1g 4A(18*k)),D.6gF(t,m));1d r=D.3yz;m+=18*r;G+=4*r;aa+=4*r;z=D.6gB(d,e,f,z)}c=a.4SP.1tF;1d q=xa.7C;a.3yC=Ra.12S({1O:b,5b:l,7Q:c});1d u;g(t)&&(u=Ra.12S({1O:b,5b:t,7Q:c}));a.57m=Ra.12S({1O:b,5b:p,7Q:q});t=3*4A.12T;c=4*4A.12T;q=0;l=d.1h;1j(p=0;p<l;++p)n=d[p],0<n.1h&&(n=1g 10Y(n),n=Ra.17Q({1O:b,5b:n,7Q:xa.7C,17P:Ta.10P}),q+=e[p],z=6*(p*t*B.1uW-q*t),k=t+z,x=t+k,D=t+x,m=t+D,G=t+m,z=[{2P:Cj.1aU,2Z:3,3k:I.3O,9n:z,9t:6*t},{2P:Cj.19W,2Z:3,3k:I.3O,9n:k,9t:6*t},{2P:Cj.25d,2Z:3,3k:I.3O,9n:z,9t:6*t},{2P:Cj.25c,2Z:3,3k:I.3O,9n:k,9t:6*t},{2P:Cj.1Y1,2Z:3,3k:I.3O,9n:x,9t:6*t},{2P:Cj.1Y0,2Z:3,3k:I.3O,9n:D,9t:6*t},{2P:Cj.2u3,2Z:3,3k:I.3O,9n:x,9t:6*t},{2P:Cj.2u2,2Z:3,3k:I.3O,9n:D,9t:6*t},{2P:Cj.1XY,2Z:3,3k:I.3O,9n:m,9t:6*t},{2P:Cj.1XX,2Z:3,3k:I.3O,9n:G,9t:6*t},{2P:Cj.2u1,2Z:3,3k:I.3O,9n:m,9t:6*t},{2P:Cj.2u0,2Z:3,3k:I.3O,9n:G,9t:6*t},{2P:Cj.1Y2,2Z:4,3k:I.3O,7e:a.57m,9n:p*c*B.1uW-q*c}],h===O.6G?(k=a.3yC,x="7e",D=H3,m="1Q"):(h===O.10j||h===O.15j?(k=H3,x="1Q"):(k=u,x="7e"),D=a.3yC,m="7e"),z[0][x]=k,z[1][x]=k,z[2][m]=D,z[3][m]=D,z[4][x]=k,z[5][x]=k,z[6][m]=D,z[7][m]=D,z[8][x]=k,z[9][x]=k,z[10][m]=D,z[11][m]=D,n=1g Fb({1O:b,2w:z,10X:n}),a.3bD.1q({va:n,1BC:f[p]}))}}1b 6gM(a,b){1f b 2m Ca?b.id:b}1b YP(a){if(a.3yF){a.3yF=!1;1j(1d b=[],c=a.1dJ.1h,d=0,e=0;d<c;++d){1d f=a.1dJ[d];g(f)&&(f.12N=e++,b.1q(f))}a.1dJ=b}}1b XP(a){a=a.1dJ;1j(1d b=a.1h,c=0;c<b;++c)if(g(a[c])){1d d=a[c].3yy;g(d)&&(d.2z=d.2z&&d.2z.1M())}}1b G3(a){1j(1d b=a.3bD.1h,c=0;c<b;++c)a.3bD[c].va.1M();a.3bD.1h=0}1b I3(a){a=a.1dJ;1j(1d b=a.1h,c=0;c<b;++c)g(a[c])&&a[c].1sm()}1b ZP(a,b,c){1a.7Z=a;1a.2M=b;1a.4SN=c}1b fo(a,b,c){1a.1cp=[];1a.3yz=0;1a.2q=a;1a.2z=1p 0;1a.3z=b;1a.4a=c}1b J3(a){1f 0>k.2A(k.1dl,a.11S.2V)||a.11S.1tE(Cb.48m)===Lb.1wT}1b yl(a){1a.3Cb=1a.1zP=1a.6HV=1a.1sP=1a.3Ca=1a.1Ez=1a.1RX=1a.17y=1a.24q=1a.1kK=1a.apZ=1a.3zb=1a.apY=1a.3zc=1a.2j3=1a.2j2=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.2j4=1a.1ln=1a.apX=1a.2rc=1a.57f=1a.1mB=1a.2Sz=1a.14J=1a.4ep=1a.3bu=1a.4eo=1a.1d5=1a.2aH=1a.1c1=1a.3C9=1a.10o=1a.apW=1a.48q=1a.24p=1a.17u=1a.1Hw=1a.10T=1p 0;1a.8B=1g sa;1a.4SD=!1;1a.18y(m(a,m.4Z))}1b hf(a){a=m(a,m.4Z);1d b=m(a.11C,!0),c=hf.1sC;1a.2q=1p 0;1a.11C=b;1a.1za=m(a.5O,$P);1a.1z9=m(a.5A,"3G 1m 15g;\\2s 2k()\\n{\\3R = 9D(15g);\\n}\\n");1a.1hT=pe.2QF(b,!1,a.4w);1a.1z8=!1;1a.14s=c}1b Og(a){a=m(a,m.4Z);1d b=m(a.11C,!0),c=Og.1sC;1a.2q=g(a.2q)?a.2q:va.1kk(va.1oL);1a.11C=b;1a.1za=m(a.5O,aQ);1a.1z9=m(a.5A,"#1z 1mP\\1B 1m 1nU;\\n#1u\\1J 1v 9j;\\1J 1o 1Y9;\\n#1z 1Y8\\1B 1o 2k9;\\1J 1o 1Fn;\\1J 1o 2ui;\\n#1u\\2s 2k()\\n{\\1jv 5y;\\10m.s = 9j.s;\\10m.st = 9j;\\10m.1F6 = 1w(9j, 0.0);\\10I 2q = 16E(5y);\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1z 1mP\\3R *= 1nU;\\n#1u\\n#1z 2k8\\1r 2O = 1Y9;\\1U(4gX != 1.0){\\1wm = 0.0;\\n}\\3R.a = 3r(1V(0.0, 2T(3.4gW * (2O + (1.0 - 2.0*4gV)))), 3.5);\\n#1u\\n#1z 1Y8\\1U(1Fn > 1.0 || 1Fn < 0.0)\\n{\\10W;\\n}\\1r 1ay = 1Fn;\\1U(1Fn > (1.0 - 2ui))\\n{\\3R.2y *= 4gU;\\n}\\3R.a *= 1ay;\\n#1u\\1ri();\\n}\\n");1a.1hT=pe.2QF(b,!1,a.4w);1a.1z8=!1;1a.14s=c}1b Oe(){}1b Kb(a){a=m(a,m.4Z);1a.13g=a.13g;1a.161=a.161;1a.17u=1a.2Qn=1p 0;1a.2Pd=a.2Pd;1a.3ym=1a.1Kq=1p 0;1a.4a=A.1y(m(a.4a,A.8K));1a.12t=1g A;1a.2Pe=m(a.2Pe,!0);1a.2p=m(a.2p,!0);1a.6gv=m(a.1zW,!1);1a.4So=m(a.1qK,!1);1a.6gu=m(a.1EM,!0);1a.2PO=m(a.1sV,!0);1a.2hN=m(a.17X,!0);1a.6gt=m(a.1od,!0);1a.8d=m(a.8d,!0);1a.15S=m(a.15S,!1);1a.2Qx=a.2Qx;if(g(1a.2Qx)&&(!g(1a.13g)||2K.8n(1a.13g)&&1!==1a.13g))1t 1g r("5PL-to-2V 2gE 1cF 55k 1bS 3y 1bX.");1a.6x=m(a.6x,ed.39R);1a.34d=1p 0;1a.19i=bg.1cY;1a.1jX=[];1a.1vN=1p 0;1a.2Qw=0;1a.23P=[];1a.2r1=[];1a.2r0=[];1a.29Z=[];1a.2qZ=[];1a.48l=[];1a.1lc=[];1a.4Sl=0;1a.16z=[];1a.4et=1a.4es=1a.3eB=1a.1Kq=1a.11V=1a.4eu=1a.3eC=1a.1vl=1a.12m=1p 0;1a.1zT=[];1a.27k=[];1a.2Q1=[];1a.4Sm=a.4Sm;1a.23Q=a.23Q;1a.3yi=a.3yi;1a.2Qj=a.2Qj;1a.2Qg=a.2Qg;1a.1Ry=a.1Ry;1a.3ys=a.3ys;1a.4ew=1a.3bA=1p 0;1a.4y=!1;1a.7S=Z.12L();1a.4Ss=1a.3yo=1a.1Wl=1a.6y=1p 0;1a.3yp=!1;1a.4Sn=1a.48n=1a.2Qp=1p 0;1a.4Sp=1a.2Qo=!1;1a.4Sq=1p 0;1a.1xe={3e:!1,1Q:1g C(0,0)}}1b K3(a){1d b=a.1h;if(1===b)1f a[0];if(2===b)1f C.5f(a,0,6gs);if(3===b)1f k.5f(a,0,6gr);if(4===b)1f E.5f(a,0,L3)}1b M3(a){1f ja.1gF(a,"2nY")+"\\1J 1m 1nW; \\2s 2k() \\n{ \\n    2nY(); \\n    1nW = 1ki(4R); \\n}"}1b N3(a,b){if(!a.1od)1f b;1d c=-1!==b.1qs(/3Q\\s+1w\\s+2U;/g),d=-1!==b.1qs(/3Q\\s+1v\\s+st;/g);if(!c&&!d)1f b;1d e=-1!==b.1qs(/3Q\\s+1w\\s+8Q;/g),f=-1!==b.1qs(/3Q\\s+1w\\s+8T;/g);1d h=(d&&c?2:1)+(e||f?1:0);a="3Q "+(1<h?"1Ji"+h:"1o")+" 1Wj;";1d l="",g="";d&&(l+="1v st;\\n",g+="    st = 1mL("+(1<h?"1Wj.x":"1Wj")+");\\n");c&&e&&f?(l+="1w 2U;\\1R 8Q;\\1R 8T;\\n",g+="    1gT(1Wj."+(d?"yz":"xy")+", 2U, 8Q, 8T);\\n"):(c&&(l+="1w 2U;\\n",g+="    2U = 1gT(1Wj"+(1<h?"."+(d?"y":"x"):"")+");\\n"),e&&(l+="1w 8Q;\\n",g+="    8Q = 1gT(1Wj."+(d&&c?"z":"y")+");\\n"),f&&(l+="1w 8T;\\n",g+="    8T = 1gT(1Wj."+(d&&c?"z":"y")+");\\n"));b=b.3X(/3Q\\s+1w\\s+2U;/g,"");b=b.3X(/3Q\\s+1v\\s+st;/g,"");b=b.3X(/3Q\\s+1w\\s+8Q;/g,"");b=b.3X(/3Q\\s+1w\\s+8T;/g,"");b=ja.1gF(b,"48e");1f[a,l,b,"1p 2k() \\n{ \\n"+g+"    48e(); \\n}"].14G("\\n")}1b O3(a,b){a=a.19h;1j(1d c in a)if(a.3p(c)&&!g(b[c]))1t 1g r("4jc/1pg 4Vs.  9B 161 9N 1rc 1d8 3Q 15d \'"+c+"\', 1nN 9x 2S 1AY as 3se of 1Z 1pg.  1c7 1Z 161\'s 9S 5i 16r 49L 1Z 3y.");}1b 6I5(a,b){1f 1b(){1f a[b]}}1b 6gd(a,b){1d c,d=a.1lc;if(a.19i===bg.1cY){1d e=2K.8n(a.13g)?a.13g:[a.13g];1d f=a.2Qw=e.1h,h=[],l=[];1j(c=0;c<f;++c){1d p=e[c].3y;d.1q(e[c].id);if(!g(p.1hz))1t 1g r("1hz 2Q be 2l 1j 17X 3y.");l.1q({apV:p.1hz,3y:p})}if(!g(vH))1j(vH=2K(bQ),c=0;c<bQ;c++)vH[c]=1g Vc("14t",3a.19B);l=t2(l,bQ);1j(c=0;c<l.1h;c++){1d n=0;f=l[c];1d z=f.1h;1j(e=0;e<z;++e)d=f[e],p=d.3y,g(p.7m.5n)&&(d.2M=n,n+=m(p.7m.4q,p.4q));if(0<n){n=1g 13X(n);1d k=[n.3J];1j(e=0;e<z;++e)d=f[e],p=d.3y,g(p.7m.5n)&&(p.7m.5n(p,n,d.2M),d.3y=n)}h.1q(vH[c].1fa({apU:l[c]},k))}a.19i=bg.3sN;Z.all(h,1b(b){a.4ew=b;a.19i=bg.4ST}).10g(1b(c){QB(a,b,bg.12D,c)})}1s a.19i===bg.4ST&&(p=[],e=2K.8n(a.13g)?a.13g:[a.13g],c=b.11s,p=6gm.1fa(RB.6h4({3yI:a.4ew,18P:e,3c:c.3c,18T:c,2Qv:b.1O.1Pf,1fw:b.1fw,1zW:a.1zW,1od:a.1od,4a:a.4a,2Qu:a.3ys},p),p),a.4ew=1p 0,a.19i=bg.6h0,Z(p,1b(c){c=RB.6h1(c);a.1jX=c.1ht;a.12m=c.7W;a.4a=A.1y(c.4a,a.4a);a.3bA=c.2Qt;a.3yo=c.2Qs;a.2Qp=c.2Qr;a.48n=c.2Qq;g(a.1jX)&&0<a.1jX.1h?(a.2Qo=!0,a.19i=bg.3yr):QB(a,b,bg.12D,1p 0)}).10g(1b(c){QB(a,b,bg.12D,c)}))}1b P3(a,b){if(g(a.1Wl.2M)&&!a.3yp&&!b.1fw){1d c=a.4Ss;b=b.11s;1j(1d d=b.3c,e=a.6y,f=a.2Qp,h=f.1h,l=0;l<h;++l){1d p=f[l];if(g(p)){1d n=e.3yn(l,a.1Wl.2M);if(k.2L(n,k.6h))e.1nJ(l,c,k.6h);1s{1d z=a.4a;g(z)&&(p=P.5o(p,z,Q3));1d w=p.2V;w=d.1fI(w,6gl);z=d.10Z(w,R3);p=b.12z(z,S3);n=k.add(n,w,cQ);z=d.10Z(n,z);n=b.12z(z,cQ);n=k.3V(n,p,cQ);p=n.x;n.x=n.z;n.z=n.y;n.y=p;e.1nJ(l,c,n)}}}a.3yp=!0}}1b 6g8(a,b,c,d,e){b=c.1MG();g(e)&&e&&(b.12h=Oe.3n5(!0));d?(e=wc(b,!1),e.8d={3e:!0,18X:di.1sq},a.3eC=pa.4t(e),e.8d.18X=di.1TU,a.4eu=pa.4t(e)):(a.3eC=pa.4t(b),a.4eu=a.3eC);e=wc(b,!1);g(a.1Kq)&&(e.9J.3e=!1);g(a.1Kq)&&(b=a.1Kq.1MG(),e=wc(b,!1),e.9J.14R=go.2a0,d?(e.8d={3e:!0,18X:di.1sq},a.4es=pa.4t(e),e.8d.18X=di.1TU,a.4et=pa.4t(e)):(a.4es=pa.4t(e),a.4et=a.3eC))}1b 6g7(a,b,c){1d d=b.1O,e=a.12m,f=a.6y.1zS()(c.5O);f=Kb.6go(a,f);f=Kb.2Qi(a,f);f=Kb.3by(a,f,b.1fw);f=M3(f);f=Kb.48f(a,f,!1);f=N3(a,f);f=Kb.3bx(a,f,b.1fw);c=c.1MH();c="3G 1m 1nW;\\n"+c;1d h=[];a.1xe.3e&&h.1q("2jh");c=1g ja({5p:[c],2N:h});a.11V=Ga.1sw({1O:d,2z:a.11V,5O:f,5A:c,7W:e});O3(a.11V,e);g(a.1Kq)&&(f=a.6y.1zS()(a.1Kq.5O),f=Kb.2Qi(a,f),f=Kb.3by(a,f,b.1fw),f=M3(f),f=Kb.48f(a,f,!0),f=N3(a,f),f=Kb.3bx(a,f,b.1fw),f=ja.1gF(f,"4ev")+"3G 1o 24z;\\2s 2k() {\\n    4ev();\\n    1m 1K = 6I;\\n    24z = (0.5 * (1K.z / 1K.w) + 0.5) * 1K.w;\\n    1K.z = 2o(1K.z, 1K.w);\\n    6I = 1K;\\n}\\n",c=a.1Kq.1MH(),c="#1z 5J\\n#6A 5J : 5F\\n#1u\\n"+(ja.1gF("3G 1m 1nW;\\n"+c,"4ev")+"3G 1o 24z;\\2s 2k() {\\n    4ev();\\n#if 2l(5J) && !2l(10B)\\n    1bp = 2o(24z * 4u.w, 1.0);\\n#1u\\n}\\n"),a.3eB=Ga.1sw({1O:d,2z:a.3eB,5O:f,5A:c,7W:e}),O3(a.3eB,e))}1b T3(a,b,c,d){c=g(c)?c.1dg:1p 0;1d e={};b=b.6H;if(g(b))1j(1d f in b)if(b.3p(f)){if(g(c)&&g(c[f]))1t 1g r("4jc and 2q 118 a 2n 10M 1Z 1ik 2i: "+f);e[f]=6I5(b,f)}f=fb(e,c);f=a.6y.1BM()(f);f.2jj=1b(){1f a.1xe.1Q};g(a.2Qx)&&(f.1wg=1b(){A.9b(d.1O.13m.11A,a.12t,SB);A.8P(SB,a.2Qx,U3);A.1Bh(SB,U3,SB);1f SB});1f f}1b 6g6(a,b,c,d,e,f,h,l){c=T3(a,b,c,l);1d p;g(a.1Kq)&&(p=T3(a,a.1Kq,a.1Kq.2q,l));b=b 2m hf||b 2m Og;d=d?ma.1bl:l.1O.1py||!l.1O.8X||l.3sC||a.1vl!==Ja.1ao&&!b||l.1O.2yp.2Kz?ma.18W:ma.1eW;l=(e?2:1)*(g(a.1Kq)?2:1);f.1h=a.16z.1h*l;l=f.1h;1j(h=b=0;h<l;++h){if(e){1d n=f[h];g(n)||(n=f[h]=1g Oa({7H:a,6Z:a.1vl}));n.4c=a.16z[b];n.4w=a.4eu;n.2z=a.11V;n.4J=c;n.6t=d;++h}n=f[h];g(n)||(n=f[h]=1g Oa({7H:a,6Z:a.1vl}));n.4c=a.16z[b];n.4w=a.3eC;n.2z=a.11V;n.4J=c;n.6t=d;g(a.1Kq)&&(e&&(++h,n=f[h],g(n)||(n=f[h]=1g Oa({7H:a,6Z:a.1vl})),n.4c=a.16z[b],n.4w=a.4et,n.2z=a.3eB,n.4J=p,n.6t=d),++h,n=f[h],g(n)||(n=f[h]=1g Oa({7H:a,6Z:a.1vl})),n.4c=a.16z[b],n.4w=a.4es,n.2z=a.3eB,n.4J=p,n.6t=d);++b}}1b 6g4(a,b,c,d,e,f,h,l){if(b.3z!==O.6G&&!A.2L(e,A.8K))1t 1g r("5gu.4a is 1cF 11J in 3D 3z.");Kb.3y8(a,b,e);if(b.3z===O.6G)1d p=a.2Pe?a.2r1:a.23P;1s b.3z===O.15j?p=a.2r0:b.3z===O.10j&&g(a.29Z)?p=a.29Z:g(a.2qZ)&&(p=a.2qZ);1d n=!0;b.19c.1mc===Ud.1pe&&(n=!1);d=b.13l;b=b.10s;if(n&&(b.3t||b.11P)){b=a.1sV;n=ed.1hR(a.6x);1d z=ed.1fC(a.6x),k=c.1h;a=(l?2:1)*(g(a.1Kq)?2:1);1j(l=0;l<k;++l){1d x=1k.2t(l/a),D=c[l];D.4a=e;D.6W=p[x];D.8d=f;D.15S=h;D.1hR=n;D.1fC=z;D.1cI=b?"1nW":1p 0;d.1q(D)}}}1b V3(a,b,c){if(c===ac.1g5){c=P.1y(a,6g3);1d d=P.1y(a,$pa);d.2V=k.add(d.2V,b,d.2V);a=P.1nu(c,d,a)}1s c===ac.1zj&&(a.2V=k.add(a.2V,b,a.2V));1f a}1b aqa(a,b,c){1f 1b(){1d d=a.3yn(b,c),e=a.2w[c];e=I.9g(e.3k,e.2Z);g(d.7m.5n)?d.7m.5n(d,e,0):e[0]=d;1f e}}1b 6g1(a,b,c,d,e){1f 1b(f){if(!g(f)||!g(f.1h)||1>f.1h||4<f.1h)1t 1g r("1Q 2Q be and 4x 10M 1h 1pS 1 and 4.");f=K3(f);a.1nJ(b,c,f);"2M"===e&&(d.2Qo=!0,d.3yp=!1)}}1b 6g0(a,b,c){b.7u={1n:1b(){1d d=a.2Qp[c];if(g(d)){d=d.1y();1d e=a.4a,f=b.2M;g(f)&&V3(d,k.7j(f.1n(),0,6g2),a.3yo[c]);g(e)&&(d=P.5o(d,e))}1f d}};b.1BR={1n:1b(){1f a.48n[c]}}}1b 6fZ(a,b,c){b.1cI={1n:1b(){1f a.1zT[c]}}}1b QB(a,b,c,d){a.1vN=d;a.19i=c;b.1sn.1q(1b(){a.4y=a.19i===bg.3yq||a.19i===bg.12D;g(d)?a.7S.7N(d):a.7S.5h(a)})}1b Pg(a,b,c,d){v.1N.7d("apT",a);v.1N.7d("apS",b);v.1N.2c("161",c);v.1N.7d("4Sa",d);1a.4Sg={4er:"",57l:"",57k:"",57j:""};1a.4Sh=d;d=1g dQ;d.2Ql=a;d.2Qm=!c.8z;1d e=1g dQ;e.2Ql=a;if(c 2m zc)d.3yk=!c.8z;1s{1d f=c.2q.1hP+"\\n"+c.5A;d.4X=-1!==f.3f("5y.4X")||-1!==f.3f("1bi");d.11E=-1!==f.3f("5y.11E");d.1p2=-1!==f.3f("5y.1p2");d.st=-1!==f.3f("5y.st")}1a.4Sj=d;1a.4Si=e;1a.2Qn=c;1a.4Sk=a;1a.3yl=b}1b W3(a,b,c,d,e,f,h,l,p){d=d.4h();if(""===p.4er){1d n=X3;n.3N=B.PI;n.4k=0;n.1D=0;n=h.12z(n,Y3);n=bc.1pT(n.x,Z3);p.4er="3fT "+n.162.1mf((n.162+"").1h+1);p.57l="3fR "+n.15r.1mf((n.15r+"").1h+1);n=X3;n.3N=-B.PI;n.4k=0;n.1D=0;h=h.12z(n,Y3);n=bc.1pT(h.x,Z3);p.57k="3fU "+n.162.1mf((n.162+"").1h+1);p.57j="3fS "+n.15r.1mf((n.15r+"").1h+1)}c&&(d.1q(p.4er),d.1q(p.57l),d.1q(p.57k),d.1q(p.57j));g(f)&&f 2m zc&&d.1q("19Y");a.2Ql&&(d.1q("1qg"),b||c||d.1q("1hB"),c&&d.1q("1y0"));l||d.1q("1Lc");1f 1g ja({2N:d,5p:[e]})}1b dQ(){1a.4Sc=1a.4Se=1a.4Sd=1a.4Sf=1a.48g=1a.48h=1a.48i=1a.48j=!1}1b $3(a,b,c){1f 1k.abs((b.y-a.y)*c.x-(b.x-a.x)*c.y+b.x*a.y-b.y*a.x)/C.3s(b,a)}1b a4(a,b){1d c=6fY,d=C.5f(b,0,c[0]),e=C.5f(b,2,c[1]);c=C.5f(b,4,c[2]);a.24V=1g Fi({3k:I.3O,2Z:4,1T:!1,1Q:[e.x,e.y,c.x,c.y]});b=1/$3(d,e,c);e=1/$3(d,c,e);a.1Sx=1g Fi({3k:I.3O,2Z:4,1T:!1,1Q:[d.x,d.y,b,e]})}1b Vu(a,b,c){1d d=1k.abs(a),e=1k.2t(d/1E3);d-=1E3*e;1d f=1k.2t(d/10);d-=10*f;1d h=1k.2t(10*d);d=1k.2t(1E3*(d-.1*h));0>a&&(e=255-e);c[b]=1g Fi({3k:I.7U,2Z:4,1T:!1,1Q:[e,f,h,d]})}1b Wu(a,b,c){1d d=1k.abs(a),e=1k.2t(d/1E6);d-=1E6*e;1d f=1k.2t(d/1E4);d-=1E4*f;1d h=1k.2t(d/100);d=1k.2t(d-100*h);0>a&&(e=255-e);c[b]=1g Fi({3k:I.7U,2Z:4,1T:!1,1Q:[e,f,h,d]})}1b Zx(a,b,c){1d d=1k.abs(a),e=1k.2t(d/1E4);d-=1E4*e;1d f=1k.2t(d/100);d-=100*f;1d h=1k.2t(d);d=1k.2t((d-h)/.17I);0>a&&(e=255-e);c[b]=1g Fi({3k:I.7U,2Z:4,1T:!1,1Q:[e,f,h,d]})}1b eQ(a,b,c,d){1d e=b4;e.1D=0;e.3N=a.4o;e.4k=a.4C;1d f=b.12z(e,c4);e.4k=a.4P;1d h=b.12z(e,6fX);e.3N=a.5a;e.4k=a.4C;a=b.12z(e,6fW);d?(b=[0,0,0,0],e=[0,0,0,0],d=bc.1pT(f.x,Tr),b[0]=d.162,e[0]=d.15r,d=bc.1pT(f.y,Tr),b[1]=d.162,e[1]=d.15r,d=bc.1pT(h.y,Tr),b[2]=d.162,e[2]=d.15r,d=bc.1pT(a.x,Tr),b[3]=d.162,e[3]=d.15r,c.4S9=1g Fi({3k:I.3O,2Z:4,1T:!1,1Q:b}),c.4S8=1g Fi({3k:I.3O,2Z:4,1T:!1,1Q:e})):(d=bc.1pT(f.x,Tr),Wu(d.162,"4S5",c),Vu(d.15r,"4S4",c),d=bc.1pT(f.y,Tr),Wu(d.162,"4S3",c),Vu(d.15r,"4S2",c),d=bc.1pT(h.y,Tr),Wu(d.162,"4S1",c),Vu(d.15r,"4S0",c),d=bc.1pT(a.x,Tr),Wu(d.162,"4RZ",c),Vu(d.15r,"4RY",c))}1b d4(a,b,c,d){1d e=b4;e.4k=a;e.3N=b;e.1D=0;b=T.1g8(e,c,6fR);a=B.51E(1k.3Y(b.x*b.x+b.y*b.y),b.z);b=B.51E(b.x,b.y);d.x=a;d.y=b;1f d}1b Ip(a){a=m(a,m.4Z);1a.13g=a.13g;1a.2p=m(a.2p,!0);1a.12p=m(a.12p,te.2hq);1a.15S=m(a.15S,!1);1a.23O=m(a.23O,!1);1a.2Qk=!1;1a.3yh=m(a.3yh,!1);1a.1cH=a.1cH;1a.3bb=1a.2qP=1a.2ie=1a.2if=1a.2ig=1a.23L=1a.3yb=1a.3ya=1a.2in=1a.1xB=1a.2qO=1a.11V=1p 0;1a.2DO=[];1a.4y=!1;1a.7S=Z.12L();1a.7h=1p 0;1a.26h=a.26h;1a.4RR=1a.3yc=1a.3yd=!1;1a.161=a.161;1a.23Q=a.23Q;1a.1Ry=a.1Ry;1a.4RT=!1;1a.1Rz={13g:1p 0,161:1p 0,1zW:m(a.1zW,!1),1qK:m(a.1qK,!1),1EM:m(a.1EM,!0),1sV:m(a.1sV,!0),17X:m(a.17X,!0),1od:m(a.1od,!0),23Q:1p 0,3yi:1p 0,2Qj:1p 0,2Qg:1p 0,1Ry:1p 0,3ys:!0};a.13g&&a.13g.1h&&a.13g[0].id&&(1a.1xu=m(a.13g[0].id.1xu,!1))}1b $x(a,b){b=b?Jc.1Be:Jc.1jW;1f{1fA:{5r:!1,5t:!1,5G:!1,2O:!1},12h:{3e:a,1iu:b,1eb:{15w:Ma.10w,17x:Ma.1q3,17w:Ma.1q3},1it:b,1eH:{15w:Ma.10w,17x:Ma.2io,17w:Ma.2io},1bY:Mc.1vh,11q:Mc.1vh},1lq:Mc.1Jz,9J:{3e:!1},13Q:!1}}1b ay(a,b){b=b?Jc.1Be:Jc.1jW;1f{1fA:{5r:!1,5t:!1,5G:!1,2O:!1},12h:{3e:a,1iu:b,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.2io},1it:b,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:Mc.1vh,11q:Mc.1vh},1lq:Mc.1Jz,9J:{3e:!0,14R:go.340},13Q:!1}}1b fQ(a,b){1d c=b?Jc.1Be:Jc.1JA;1f{12h:{3e:a,1iu:c,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1it:c,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:b?3:0,11q:Mc.1Jz},1lq:Mc.1Jz,9J:{3e:!1},13Q:!1,12e:Dc.1bQ}}1b gQ(a,b,c,d,e,f){a.4a=c;a.6W=e;a.8d=d;a.15S=f;b.13l.1q(a)}1b bf(a){a=m(a,m.4Z);1d b=a.161,c=a.13g;if(!g(b)&&g(c)){c=2K.8n(c)?c:[c];1j(1d d=c.1h,e=0;e<d;e++){1d f=c[e].2w;if(g(f)&&g(f.1A)){b=1g zc({8z:!0});1W}}}1a.161=b;1a.13g=a.13g;1a.2p=m(a.2p,!0);1a.12p=m(a.12p,te.2hq);1a.15S=m(a.15S,!1);1a.23O=m(a.23O,!1);1a.1Rr=[];1a.4RN=[];1a.4y=!1;1a.7S=Z.12L();1a.2r2=1a.2im=1a.7h=1p 0;1a.4RP=nd.2Qh;1a.4RQ=nd.3dd;1a.4RL=[];1a.23P=[];1a.48c=!1;1a.1zP=1p 0;1a.2E5={13g:1p 0,161:1p 0,1zW:m(a.1zW,!1),1qK:m(a.1qK,!1),1EM:m(a.1EM,!0),1sV:m(a.1sV,!0),17X:m(a.17X,!0),1od:m(a.1od,!0),23Q:1p 0,1Ry:1p 0,26h:1a,3yh:!0,1cH:6fr}}1b hQ(a){1f 1b(b,c){if(g(a.22w)&&g(a.48d))1f a.22w+a.48d;c=c.17i;1f a.2im+(c/1k.3i(.5*b)-c)}}1b iQ(a){1f 1b(b,c){1f g(a.22w)?a.22w:a.2r2}}1b wH(a,b){a=a.11s.3c;if(g(b.2w)&&g(b.2w.1aU)){1j(1d c=b.2w.1aU.2a,d=b.2w.19W.2a,e=c.1h,f=b=3a.19B,h=3a.1r7,l=3a.1r7,p=0;p<e;p+=3){1d n=k.5f(c,p,6fq),z=k.5f(d,p,6fp);n=k.add(n,z,6fo);z=a.10Z(n,6fn);n=z.4k;z=z.3N;b=1k.2o(b,n);f=1k.2o(f,z);h=1k.1V(h,n);l=1k.1V(l,z)}a=6fm;a.4P=h;a.4C=b;a.5a=l;a.4o=f;1f a}if(g(b.3g))1f b.3g}1b 6fk(a,b,c){b=nd.29x(b,c);a.4RQ=b.1UL;a.4RP=b.4VN}1b jQ(a,b,c,d,e,f,h){1d l=a.7h;c.3z!==O.6G&&b.2z===l.2in&&l.3yf&&(b=b.10K.3yg);b.7H=a;b.4a=d;b.6W=f;b.8d=e;b.15S=h;c.13l.1q(b)}1b e4(a,b,c,d,e,f){1d h=a.7h;c.3z!==O.6G&&b.2z===h.1xB&&h.3yf&&(b=b.10K.3ye);b.7H=a;b.4a=d;b.6W=f;b.8d=e;c.13l.1q(b)}1b cg(){r.8i()}1b Fd(a,b,c){v.2l("apR",a);v.2l("13y",b);v.2l("44H",c);1a.15G=b;1a.2P4=c;1a.1Nx=1a.7h=1p 0;1a.1u9=a;1a.14n=a.14n;1a.11d=a.11d;1a.17u=1p 0}1b ok(a){a=m(a,m.4Z);1a.13g=a.13g;1a.4RI=!0;1d b=a.161;g(b)||(b=1g Og);1a.161=b;1a.2p=m(a.2p,!0);1a.12p=m(a.12p,te.2hq);1a.15S=m(a.15S,!1);1a.2Qk=m(a.23O,!1);1a.1Rz={13g:1p 0,161:1p 0,1zW:!1,1qK:m(a.1qK,!1),1EM:m(a.1EM,!0),1sV:m(a.1sV,!0),17X:m(a.17X,!0),1od:!1,2Qj:1p 0,2Qg:1p 0,1Ry:1p 0};1a.1zP=1p 0;1a.4y=!1;1a.7S=Z.12L();1a.3y7=1a.3bw=1a.11V=1a.7h=1p 0;1a.1hT=f4(!1);1a.6ff=f4(!0);1a.6fe=pa.4t({8d:{3e:!0,18X:di.1TU},9J:{3e:!0},12e:Dc.1bQ,13Q:!1})}1b f4(a){1f pa.4t({8d:{3e:!0},12e:Dc.1bQ,13Q:!1,12h:{3e:a,1iu:Jc.1Be,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.10w},1it:Jc.1Be,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.10w},1bY:Mc.1vh,11q:Mc.1vh}})}1b g4(a,b,c,d,e,f,h){c.3z===O.1at?b=b.10K.4RJ:c.3z!==O.6G&&(b=b.10K.3y9);b.4a=d;b.6W=f;b.8d=e;b.15S=h;c.13l.1q(b)}1b Xu(a){1a.8B=1g sa;1a.1RX=1a.17y=1a.24q=1a.1kK=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.2j4=1a.1ln=1a.24p=1a.17u=1a.2j3=1a.2j2=1a.2aH=1a.1c1=1a.6HW=1a.1US=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b Jp(){r.8i()}1b Ji(a,b){1a.8B=1g sa;1a.6j=k.1y(a);1a.1lF=m(b,dg.1EB)}1b Yu(a){1a.8B=1g sa;1a.3Cb=1a.1zP=1a.3Ca=1a.1Ez=1a.1RX=1a.17y=1a.24q=1a.1kK=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.2j4=1a.1ln=1a.24p=1a.17u=1a.2j3=1a.2j2=1a.2Sz=1a.14J=1a.6HU=1a.1zZ=1a.4ep=1a.3bu=1a.4eo=1a.1d5=1a.2aH=1a.1c1=1a.3C9=1a.10o=1a.4eq=1a.10V=1a.4en=1a.9h=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b 6I4(a){1f a}1b ho(a,b){1f Y(a,b,6I4)}1b Zu(a){1a.8B=1g sa;1a.1RX=1a.17y=1a.24q=1a.1kK=1a.apQ=1a.2rq=1a.6I3=1a.2af=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.2j4=1a.1ln=1a.24p=1a.17u=1a.2j3=1a.2j2=1a.2aH=1a.1c1=1a.apP=1a.2rr=1a.apO=1a.2rs=1a.apN=1a.1bC=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b $u(a){1a.8B=1g sa;1a.3Cb=1a.1zP=1a.3Ca=1a.1Ez=1a.1RX=1a.17y=1a.24q=1a.1kK=1a.6I3=1a.2af=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.2j4=1a.1ln=1a.24p=1a.17u=1a.2j3=1a.2j2=1a.2Sz=1a.14J=1a.57f=1a.1mB=1a.485=1a.1dP=1a.4ep=1a.3bu=1a.4eo=1a.1d5=1a.2aH=1a.1c1=1a.3C9=1a.10o=1a.apM=1a.1KE=1a.apL=1a.1BT=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b av(a){1a.8B=1g sa;1a.1RX=1a.17y=1a.24q=1a.1kK=1a.apK=1a.3bX=1a.apJ=1a.2a6=1a.apI=1a.2a7=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.2j4=1a.1ln=1a.24p=1a.17u=1a.2j3=1a.2j2=1a.2aH=1a.1c1=1a.apH=1a.2rm=1a.apG=1a.2rn=1a.apF=1a.2ro=1a.apE=1a.2rp=1a.apD=1a.2ac=1a.apC=1a.1jQ=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b Kp(a){1a.8B=1g sa;1a.57i=1a.1f9=1a.1RX=1a.17y=1a.57g=1a.1hV=1a.6I2=1a.1vR=1a.57h=1a.1gH=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.apB=1a.1pN=1a.2aH=1a.1c1=1a.6I1=1a.1jT=1a.6I0=1a.1qO=1a.6HZ=1a.1vS=1a.6HY=1a.1qS=1a.apA=1a.1Qe=1a.apz=1a.1vi=1a.apy=1a.1MN=1a.488=1a.13V=1a.apx=1a.14N=1a.apw=1a.1Bp=1a.apv=1a.39X=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b 6fb(a){1f 1g od(a)}1b h4(a){1f 1g bv(a)}1b Ur(a){1a.apu=1a.1r0=1a.apt=1a.1sQ=1a.aps=1a.1cX=1a.apr=1a.660=1a.apq=1a.663=1a.1WL=1a.7a=1a.apo=1a.667=1a.apn=1a.44R=1a.1RX=1a.17y=1a.2aH=1a.1c1=1a.apm=1a.65V=1a.apl=1a.65Z=1a.65X=1a.6HX=1a.44S=1a.24q=1a.1kK=1a.apk=1a.2Pb=1a.apj=1a.3vF=1a.aph=1a.3vG=1a.488=1a.13V=1a.1Hw=1a.10T=1p 0;1a.8B=1g sa;1a.18y(m(a,m.4Z))}1b by(a){1a.8B=1g sa;1a.apg=1a.23A=1a.6HX=1a.44S=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b Vr(a){1a.8B=1g sa;1a.1RX=1a.17y=1a.24p=1a.17u=1a.apf=1a.27m=1a.4eq=1a.10V=1a.ape=1a.65Q=1a.apd=1a.65R=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b cy(a){1a.8B=1g sa;1a.1RX=1a.17y=1a.24q=1a.1kK=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.2j4=1a.1ln=1a.24p=1a.17u=1a.2j3=1a.2j2=1a.6HW=1a.1US=1a.6HT=1a.24j=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b Wr(a){1a.8B=1g sa;1a.57i=1a.1f9=1a.1RX=1a.17y=1a.57h=1a.1gH=1a.57g=1a.1hV=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.1WL=1a.7a=1a.2aH=1a.1c1=1a.apc=1a.2qd=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b pk(a){1a.8B=1g sa;1a.3Cb=1a.1zP=1a.3Ca=1a.1Ez=1a.1RX=1a.17y=1a.24q=1a.1kK=1a.apb=1a.23a=1a.6HV=1a.1sP=1a.ap9=1a.3ym=1a.24p=1a.17u=1a.2Sz=1a.14J=1a.4eq=1a.10V=1a.4en=1a.9h=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b cv(a){1a.ap8=1a.17y=1a.24q=1a.1kK=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.2j4=1a.1ln=1a.2j3=1a.2j2=1a.6HU=1a.1zZ=1a.2Sz=1a.14J=1a.ap7=1a.ap6=1a.2rb=1a.4en=1a.9h=1a.24p=1a.17u=1a.1Hw=1a.10T=1p 0;1a.8B=1g sa;1a.18y(m(a,m.4Z))}1b Lp(a){1a.8B=1g sa;1a.3Cb=1a.1zP=1a.3Ca=1a.1Ez=1a.ap5=1a.17y=1a.24q=1a.1kK=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.2j4=1a.1ln=1a.24p=1a.17u=1a.2j3=1a.2j2=1a.2Sz=1a.14J=1a.57f=1a.1mB=1a.485=1a.1dP=1a.4ep=1a.3bu=1a.4eo=1a.1d5=1a.2aH=1a.1c1=1a.3C9=1a.10o=1a.ap4=1a.ap3=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b Xr(a){1a.8B=1g sa;1a.1RX=1a.17y=1a.24q=1a.1kK=1a.1RU=1a.16n=1a.1RT=1a.16O=1a.2j4=1a.1ln=1a.24p=1a.17u=1a.2j3=1a.2j2=1a.2Sz=1a.14J=1a.ap2=1a.2r8=1a.ap1=1a.2r7=1a.4en=1a.9h=1a.1Hw=1a.10T=1p 0;1a.18y(m(a,m.4Z))}1b Ih(a,b){1f Y(a,1p 0,1b(a){1f a 2m b?a:1g b(a)})}1b wd(a){a=m(a,m.4Z);1d b=a.id;g(b)||(b=Ld());1a.1R9=1p 0;1a.7R=b;1a.8B=1g sa;1a.6X=a.2i;1a.10T=m(a.2p,!0);1a.2nJ=1p 0;1a.1xC="10i 13F 1u5 1pV 16G 1fc 3c 17R 12W 11f 9w 12w 7v 12i 11M 2CC 1K 5U 3g 39K 1H9".7g(" ");1a.ap0=1a.aoZ=1a.aoY=1a.aoX=1a.aoW=1a.7T=1a.aoV=1a.1tp=1a.aoU=1a.9M=1a.aoT=1a.44V=1a.aoS=1a.1u6=1a.aoR=1a.1xw=1a.aoQ=1a.2CI=1a.6HT=1a.24j=1a.aoP=1a.34k=1a.6EP=1a.1tY=1a.aoO=1a.13O=1a.aoN=1a.1eh=1a.aoM=1a.5W=1a.aoL=1a.aoK=1a.3jt=1a.3t6=1a.aoJ=1a.aoI=1a.aoH=1a.aoG=1a.aoF=1a.aoE=1a.aoD=1a.1ow=1p 0;1a.1R2=[];1a.1xe={3e:!1,1Q:1g C(0,0)};1a.1mu=1p 0;1a.12f=a.12f;1a.18y(a)}1b kQ(a,b,c){1j(1d d=b.1h,e=0;e<d;e++){1d f=b[e],h=f.10T;(!c&&h)!==(c&&h)&&kQ(f,f.1R2,c)}a.8B.5k(a,"17K",c,!c)}1b fd(a){v.2l("3v.13a",a.13a);v.2l("3v.4r",a.4r);v.2l("3v.1WO",a.1WO);v.2l("3v.1WN",a.1WN);v.2l("3v.1WM",a.1WM);1d b=a.13a,c=a.1WN;1a.11d=b;1a.2R=a.4r;1a.1zQ=1a.1EA=1a.2qi=1a.2Bw=1a.1jm=!1;1a.1R8=1g sa;1a.1W1=1a.1Ra=1a.15f=1a.1kJ=1p 0;1a.16n=1;1a.39O=1a.1oP=1a.39P=1p 0;1a.14n=a.1WO;1a.3wb=c;1a.7R=c+"-"+b.id;1a.45i=a.1WM;1a.47Z=wd.4RF(a.4r)}1b Vd(a,b){1a.3bv=1a.1Zz=1p 0;1a.8B=1g sa;1a.6eY(a,b)}1b Yr(a,b,c,d){v.2l("4r",a);v.2l("aoC",b);1a.2R=a;1a.1c1=c;1a.3bu=d;1a.4RE=b;1a.9M=1g k;1a.6eX=1g T;1a.1VA=1g k;1a.8B=1g sa;1a.2qY=0;1a.47Y=1a.2qn=1a.1lm=1p 0;1d e=1a;g(a.10a)&&(1a.2qn=a.27d.7K(1b(){e.1xz()}),1a.47Y=a.3dq.7K(1b(){e.1xz()}));b.5g&&(b=b.3K(Za.11Z,i4),g(b)&&!k.2L(b,k.6h)&&g(a.10a)&&(1a.9M=k.1y(b,1a.9M),1a.1xz(),1a.1VA=a.10a.3c.17N(b,1a.1VA)))}1b xH(a,b,c,d){fd.1i.1ua.4G(1a,a,b,c,d);-1!==1a.45i.3f(b)&&(a=1a.11d[1a.3wb],g(a)&&(g(1a.1lG)&&(1a.1lG.1M(),1a.1lG=1p 0),a=a.6N,g(a)&&(b=1g Vd(1a.2hU.7X(1a),!1a.1EA),1a.1lG=1g Yr(1a.2R,b,a))))}1b 6HS(a){1a.id=a;1a.8J=1a.6e=1a.9S=1p 0}1b Dj(a,b){fd.4G(1a,{13a:a,4r:b,1WO:1g 6HS(a),1WN:"13F",1WM:["1b9","1K","11f","13F"]});1a.1ua(a,"13F",a.13F,1p 0)}1b dy(a,b,c){Fd.4G(1a,a,b,c)}1b Ec(a){a=m(a,m.4Z);1a.1A=a.1A;1a.4e=a.4e;1a.1gh=a.1gh;1a.4w=a.4w;1a.4Q=a.4Q;1a.7H=a.7H;1a.6t=a.6t}1b TB(a){1d b=a.1fe;1d c="4n"===2h b?I.3y1(b):b;1d d=6eU[a.1I];1f{2Z:d,6HR:6eT[a.1I],1Rm:1b(a,b,h){1f I.1Rm(c,a,b,d*h)}}}1b Nd(a,b,c,d,e){1a.17z=b;1a.47S=0;if(g(c))1d f=c.10x;1a.57d=m(f,{});f={};if(g(c))1j(1d h in c)c.3p(h)&&"57e"!==h&&"10x"!==h&&"19q"!==h&&(f[h]=wc(c[h],!0));1a.1tp=f;if(g(c)){1d l=1a.57d["57c"];c=c.57e;g(c)&&(Nd.1W9("aoB","9B 2Fy 1j9 57e 5i 14d 26N 24w to an 6A. 1c7 10x.57c 1gK."),l=1a.57d["57c"]=c);if(g(l)){c=l.aoA;h=l.2DZ;1d p=l.29Y,n=l.3C8;l=l.3eA;1d z=c;if(g(p.8o)){p.1fe=m(p.1fe,I.10P);p.1I=Mp.29P;1d k=TB(p);p=k.1Rm(d.3J,d.8o+p.8o,c)}if(g(n)){g(n.8o)&&(n.1fe=m(n.1fe,I.10P),n.1I=Mp.29P,k=TB(n),n=k.1Rm(d.3J,d.8o+n.8o,c));1d x=1g 10Y(c);1j(k=z=0;k<c;++k)x[k]=z,z+=n[k]}g(l)&&g(l.8o)&&(l.1fe=m(l.1fe,I.10P),l.1I=Mp.29P,k=TB(l),l=k.1Rm(d.3J,d.8o+l.8o,z));z=h.1h;1j(k=0;k<z;++k){1d D=h[k].18P,t=lQ(h[k].1h,D,d);h[k].18P=fb(t,D)}D=Ic(2K(z),0);t=1g 10Y(c);1j(k=0;k<c;++k)z=p[k],t[k]=D[z],++D[z];x={2DZ:h,29Y:p,57a:t,3C8:n,57b:x,3eA:l};c=6eS;c.1h=0;h=x.29Y.1h;1j(p=0;p<h;++p)j4(x,p,c)}1s x=1p 0}1s x=1p 0;1a.29X=x;1a.3y3=lQ(b,f,d);1a.1NC=1a.2E0=1p 0;1a.2qV=!1;1a.2il=1a.1u0=1a.29U=1p 0;1a.1zT=[];1a.1ae=a;1a.4Rx=e;if(0<b){1d oa=1k.2o(b,sb.1Ml);1d G=1k.8a(b/sb.1Ml);b=1/oa;a=.5*b;d=1/G;e=.5*d;oa=1g C(oa,G);G=1g E(b,a,d,e)}1a.29V=oa;1a.47T=G}1b j4(a,b,c){1d d=a.3C8,e=a.3eA,f=a.57b,h=a.29Y.1h;if(g(e)){if(b>=h)1t 1g r("6z0 2P "+b+" 3nA 1Z 1J5 2b of 18P: "+h);if(-1<c.3f(b))1t 1g r("3cr 4pL aoz in 1Z 2Fy 1j9 1iD.");c.1q(b);h=g(d)?d[b]:1;d=g(d)?f[b]:b;1j(f=0;f<h;++f){1d l=e[d+f];l!==b&&j4(a,l,c)}c.9l(b)}}1b lQ(a,b,c){1d d,e;1j(e in b)if(b.3p(e)){1d f=b[e],h=f.8o;if(g(h)){1d l=f.1I;if(!g(f.1fe))1t 1g qa("1fe is 1X.");if(!g(l))1t 1g qa("1I is 1X.");if(!g(c))1t 1g qa("4if "+e+" 9N a 2Fy 1j9 2gf.");1d p=TB(f);f=p.2Z;l=p.6HR;h=p.1Rm(c.3J,c.8o+h,a);g(d)||(d={});d[e]={5b:h,2PN:f,1I:l}}}1f d}1b k4(a){a=a.29V;1f a.x*a.y*4}1b l4(a){if(!g(a.1NC)){1d b=k4(a);b=1g 4L(b);Ic(b,255);a.1NC=b}1f a.1NC}1b m4(a){if(!g(a.2E0)){1d b=1g 4L(2*a.17z);Ic(b,255);a.2E0=b}1f a.2E0}1b Mm(a,b){if(!g(a)||0>a||a>b)1t 1g r("4R is 1X and 1pS 16m and 17z - 1 ("+b-1hO);}1b n4(a,b){1d c=a.5b,d=a.2PN;1f 1===d?c[b]:a.1I.5f(c,b*d)}1b o4(a,b,c){1d d=a.5b,e=a.2PN;1===e?d[b]=c:a.1I.5n(c,d,b*e)}1b UB(a,b,c){1d d=a.3C8;if(!g(a.3eA))1f c(a,b);if(g(d)){a:{d=a.3C8;1d e=a.3eA,f=a.57b,h=6eN;h.1h=1k.1V(h.1h,a.29Y.1h);1d l=++6eL,p=6eM;p.1h=0;1j(p.1q(b);0<p.1h;)if(b=p.9l(),h[b]!==l){h[b]=l;1d n=c(a,b);if(g(n)){a=n;1W a}n=d[b];1j(1d z=f[b],k=0;k<n;++k){1d x=e[z+k];x!==b&&p.1q(x)}}a=1p 0}1f a}a:{d=b;1j(e=!0;e;){e=c(a,d);if(g(e)){a=e;1W a}f=a.3eA[d];e=f!==d;d=f}a=1p 0}1f a}1b 6eK(a,b,c){a=UB(a.29X,b,1b(a,b){if(g(a.2DZ[a.29Y[b]].18P[c]))1f!0});1f g(a)}1b 6eJ(a,b,c){UB(a.29X,b,1b(a,b){a=a.2DZ[a.29Y[b]].18P;1j(1d d in a)a.3p(d)&&-1===c.3f(d)&&c.1q(d)})}1b 6eI(a,b,c){1f UB(a.29X,b,1b(a,b){1d d=a.57a[b];a=a.2DZ[a.29Y[b]].18P[c];if(g(a))1f g(a.5b)?n4(a,d):wc(a[d],!0)})}1b 6eH(a,b,c,d){a=UB(a.29X,b,1b(a,f){1d e=a.57a[f];a=a.2DZ[a.29Y[f]].18P[c];if(g(a)){if(f!==b)1t 1g r(\'aoy 5i "\'+c+\'" is 1dD-1cF.\');g(a.5b)?o4(a,e,d):a[e]=wc(d,!0);1f!0}});1f g(a)}1b p4(a,b){a=ja.1gF(a,"2qX");1f b?a+"2n 1o 3br; \\2s 2Qd(1m 1BQ) \\n{ \\n    2qX(); \\n    1BQ = 9D(1BQ); \\n    2C.a *= 1BQ.a; \\n    1o 2lI = 8a(3br); \\n    2C.2y *= 3T(1BQ.2y, 1w(1.0), 2lI); \\n} \\n":a+"1p 2Qd(1m 1BQ) \\n{ \\n    2qX(); \\n} \\n"}1b q4(a,b,c){if(!g(b))1f p4(a,c);1d d=1g 19j("(2n|3Q|in)\\\\s+(1Ji[34]|2v)\\\\s+"+b+";");d=a.141(d);if(!g(d))1f p4(a,c);1d e=d[0],f=d[2];a=ja.1gF(a,"2qX");a=a.3X(e,"");if("1w"===f||"1m"===f){1d h="1w"===f?"1m("+b+", 1.0)":b;d=1g 19j(b,"g");a=a.3X(d,"1w"===f?"3ez.1H":"3ez");1d l="    1m 5j = "+h+"; \\n    3ez = 575(5j, 1BQ); \\n    2qX(); \\n"}1s if("2v"===f){b="1Y("+b;1j(d=a.3f(b,0);-1<d;){f=0;1j(l=d;l<a.1h;++l){1d p=a.1as(l);if("("===p)++f;1s if(")"===p&&(--f,0===f)){h=l+1;1W}}f="575("+a.4h(d,h)+", 3ez)";a=a.4h(0,d)+f+a.4h(h);d+=f.1h;d=a.3f(b,d)}l="    3ez = 1BQ; \\n    2qX(); \\n"}a="2n 1o 3br; \\1P 3ez = 1m(1.0); \\166 6HQ(1w 1A) \\n{ \\n    1f all(1bP(1A, 1w(1.0 - 3Ea))); \\n} \\1P 575(1m 4em, 1m 574) \\n{ \\n    1m 6HP = 3T(4em, 574, 3br); \\n    1m 8t = 6HQ(574.2y) ? 4em : 6HP; \\n    1f 1m(8t.2y, 4em.a); \\n} \\n"+e+"\\n"+a+"\\2s 2Qd(1m 1BQ) \\n{ \\n"+l;c&&(a+="    1BQ = 9D(1BQ); \\n    2C.a *= 1BQ.a; \\n    1o 2lI = 8a(3br); \\n    2C.2y *= 3T(1BQ.2y, 1w(1.0), 2lI); \\n");1f a+"} \\n"}1b 6eF(a){a=Oa.15v(a);1d b=a.6t===ma.1bl;a.4J=g(a.4J)?a.4J:{};a.4J.3y2=1b(){1f b};1f a}1b 6HN(a,b){1d c=a.1hf.1Jv(b,"6HO");g(c)||(c=b.5A.1y(),c.2N=g(c.2N)?c.2N.4h(0):[],c.2N.1q("2jh"),c.5p.1po("#1z 8p\\n#6A 8p : 5F\\n#1u\\n"),c=a.1hf.1Gx(b,"6HO",{5O:b.5O,5A:c,7W:b.12m}));1f c}1b 6eE(a,b){1d c=Oa.15v(b),d=wc(c.4w,!0);d.8d.3e=!0;d.8d.18X=di.1TU;d.1fA={5r:!1,5t:!1,5G:!1,2O:!1};d.1bB={3e:!0,8H:5,13u:5};d.12h=Mc.33o();d.1lq=Mc.1vh;c.4w=pa.4t(d);c.1hR=!1;c.1fC=!1;c.4J=wc(b.4J);1d e=1g C(5,5);c.4J.2jj=1b(){1f e};c.2z=6HN(a,b.2z);1f c}1b r4(a,b,c){a=a.29V;1f 1g Ca({1O:b,8b:ua.9m,10E:Ha.7U,5j:{1G:a.x,1D:a.y,1a9:c},13E:!1,10v:1g Eb({14A:nb.10U,15u:Rb.10U})})}1b Jh(a,b){1a.1ae=a;1a.1oI=b;1a.7a=1p 0}1b dv(a,b){1a.15l=a;1a.3J=b;1a.4Rt={};1a.17z=0}1b s4(a,b,c,d,e,f){1d h=a.4Rt,l=h[b];g(l)||(l=I.1Rm(c,a.3J.3J,a.3J.8o+f,e*d),h[b]=l);1f l}1b eg(a,b,c){if(c=m(c,!1))if(c=a.3f(b),-1<c)1f c;a.1q(b);1f a.1h-1}1b Ej(a,b){1f g(a.1r9)&&0<=a.1r9.3f(b)}1b ia(){}1b zl(a){6U(a){1S"29P":1f 1;1S"3bh":1f 2;1S"2PY":1f 3;1S"2PX":1S"3y5":1f 4;1S"3y4":1f 9;1S"3b7":1f 16}}1b Np(a,b){1d c=b.11y;1f g(c)&&(a=a.1mx[c],g(a.1NO)&&0<a.1NO)?a.1NO:I.1jh(b.1fe)*zl(b.1I)}1b mQ(a){ia.1Rv(a,1b(a){g(a.11y)&&(a.8o=m(a.8o,0))});ia.11y(a,1b(a){g(a.3J)&&(a.8o=m(a.8o,0))});ia.13q(a,1b(b){ia.1zU(b,1b(b){b.3z=m(b.3z,H.11G);g(b.2q)||(g(a.1nH)||(a.1nH=[]),b.2q=eg(a.1nH,{2i:"4T"}))})});ia.4Rs(a,1b(b){b=a.1nI[b];1d c=b.11y;b.1A7=m(b.1A7,!1);g(c)&&(c=a.1mx[c],c.1NO=Np(a,b),c.15s=H.1Q4)});ia.6eB(a,1b(b){b=a.1nI[b].11y;g(b)&&(a.1mx[b].15s=H.1GV)});ia.2q(a,1b(a){1d b=m(a.10x,m.4Z),c=b.1EL;g(c)?(b=c.1jn,a=g(c.2a)?c.2a:{},c.2a=a,a.18A=g(a.18A)?a.18A:[0,0,0,1],a.17Y=g(a.17Y)?a.17Y:[0,0,0,1],a.2tf=m(a.2tf,1),a.18b=m(a.18b,!1),a.1QG=m(a.1QG,!1),"3C7"!==b&&(a.8t=g(a.8t)?a.8t:[0,0,0,1],"aox"!==b&&(a.16C=g(a.16C)?a.16C:[0,0,0,1],a.1rk=m(a.1rk,0)))):(a.3t2=m(a.3t2,[0,0,0]),a.2gR=m(a.2gR,"18W"),a.1QG=m(a.1QG,!1),"2Vi"===a.2gR&&(a.3Zx=m(a.3Zx,.5)),g(b.1gk)&&ia.3y0(a,1b(a){g(a.2P)&&ev(a)}),ev(a.aow),ev(a.1ns),ev(a.aov),c=a.3Zy,g(c)&&(c.6HM=m(c.6HM,[1,1,1,1]),c.4GD=m(c.4GD,1),c.4GE=m(c.4GE,1),ev(c.aou),ev(c.aot)),c=b.aos,g(c)&&(c.6HL=m(c.6HL,[1,1,1,1]),c.6HK=m(c.6HK,[1,1,1]),c.6HJ=m(c.6HJ,1),ev(c.aor)))});ia.15R(a,1b(a){ia.2Qb(a,1b(a){a.1w3=m(a.1w3,"11U")})});1d b=6HI(a);ia.17t(a,1b(a,d){g(b[d])||g(a.14L)||g(a.5S)||g(a.3b)?(a.14L=m(a.14L,[0,0,0]),a.5S=m(a.5S,[0,0,0,1]),a.3b=m(a.3b,[1,1,1])):a.8W=m(a.8W,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])});ia.10v(a,1b(a){a.18i=m(a.18i,H.1av);a.18h=m(a.18h,H.1av)});g(a.2eA)&&!g(a.4r)&&(a.4r=0);1f a}1b 6HI(a){1d b={};ia.15R(a,1b(a){ia.3xX(a,1b(a){1d c=a.15s;a=c.17t;c=c.9w;if("14L"===c||"5S"===c||"3b"===c)b[a]=!0})});1f b}1b ev(a){g(a)&&(a.4M=m(a.4M,0))}1b yH(a){ia.1d8(a,1b(a){VB(a)});ia.3J(a,1b(a){VB(a)});ia.4d(a,1b(a){VB(a);ia.3bn(a,1b(a){VB(a)})});VB(a);1f a}1b VB(a){a.19q=g(a.19q)?a.19q:{};a.19q.1mw=g(a.19q.1mw)?a.19q.1mw:{}}1b t4(a,b){1d c=a.1Hg;g(c)&&(b=c.3f(b),0<=b&&c.6z(b,1),0===c.1h&&4Y a.1Hg)}1b u4(a,b){1d c=a.1r9;if(g(c)){1d d=c.3f(b);0<=d&&c.6z(d,1);t4(a,b);0===c.1h&&4Y a.1r9}}1b zH(a){if("23I"!==AB(a))1t 1g qa("2D1 is 2S 1eu 2gf 23I");1d b=v4(a,0,5),c=b[1];if(1!==c&&2!==c)1t 1g qa("6HH 23I 9G is 2S 1 or 2");if(1===c){1d d=b[2],e=b[3];if(0!==b[4])1t 1g qa("6HH 23I 4r 8V is 2S 4H");b=20+e;e=Me(a,20,e);e=4H.5N(e);yH(e);a=a.1hl(b,d);d=e.1ds;g(d)&&0<1L.9K(d).1h&&(d=m(d.aoq,d.2qS),g(d)&&(d.19q.1mw.5j=a));u4(e,"2qS");1f e}b=b[2];1j(c=12;c<b;){1d f=v4(a,c,2),h=f[0];f=f[1];c+=8;1d l=a.1hl(c,c+h);c+=h;aop===f?(e=Me(l),e=4H.5N(e),yH(e)):aoo===f&&(d=l)}g(e)&&g(d)&&(a=e.1ds,g(a)&&0<a.1h&&(a[0].19q.1mw.5j=d));1f e}1b v4(a,b,c){1j(1d d=1g 1dE(a.3J),e=2K(c),f=0;f<c;++f)e[f]=d.9A(a.8o+b+4*f,!0);1f e}1b WB(a,b){1d c=a.1r9;g(c)||(c=[],a.1r9=c);eg(c,b,!0)}1b nQ(a){6U(a){1S I.1MX:1f 1b(a,c,d,e,f){1j(1d b=0;b<d;++b)f[b]=a.4pb(c+b*e)};1S I.7U:1f 1b(a,c,d,e,f){1j(1d b=0;b<d;++b)f[b]=a.1wX(c+b*e)};1S I.1Vl:1f 1b(a,c,d,e,f){1j(1d b=0;b<d;++b)f[b]=a.2ml(c+b*e,!0)};1S I.10P:1f 1b(a,c,d,e,f){1j(1d b=0;b<d;++b)f[b]=a.20g(c+b*e,!0)};1S I.1El:1f 1b(a,c,d,e,f){1j(1d b=0;b<d;++b)f[b]=a.1PA(c+b*e,!0)};1S I.1bt:1f 1b(a,c,d,e,f){1j(1d b=0;b<d;++b)f[b]=a.9A(c+b*e,!0)};1S I.3O:1f 1b(a,c,d,e,f){1j(1d b=0;b<d;++b)f[b]=a.2xx(c+b*e,!0)};1S I.18l:1f 1b(a,c,d,e,f){1j(1d b=0;b<d;++b)f[b]=a.1DC(c+b*e,!0)}}}1b oQ(a,b){1d c=a.1mx,d=a.1ds,e=b.11y,f=zl(b.1I);if(!g(b.11y))1f{2o:Ic(2K(f),0),1V:Ic(2K(f),0)};1d h=Ic(2K(f),3a.19B),l=Ic(2K(f),3a.1r7);c=c[e];e=d[c.3J].19q.1mw.5j;d=b.7Z;a=Np(a,b);c=b.8o+c.8o+e.8o;1d p=b.1fe;b=I.1jh(p);e=1g 1dE(e.3J);1d n=2K(f);p=nQ(p);1j(1d z=0;z<d;z++){p(e,c,f,b,n);1j(1d k=0;k<f;k++){1d x=n[k];h[k]=1k.2o(h[k],x);l[k]=1k.1V(l[k],x)}c+=a}1f{2o:h,1V:l}}1b w4(a,b){a=a.5F;1f g(a)?-1<a.3f(b):!1}1b x4(a){1d b={},c={};if(!g(a.1Hk))1f a;ia.1jn(a,1b(a,e){1d d=a.1Ru;if(g(d)){1d h=c[e]={};if(w4(d,H.24Z)){h.2gR="24Z";1d l=d.26C;if(g(l)&&(g(l.573)||g(l.572))){1d p=m(l.573,6eA);a:{l=l.572;1d n=6ez;if(g(l))1j(1d z=0;4>z;z++){if(-1===6ey.3f(l[z])){l=n;1W a}}1s l=n}b[e]={2N6:p,6GZ:l}}}w4(d,H.3s4)||(h.1QG=!0);4Y a.1Ru}});0<1L.9K(b).1h&&(g(a.10x)||(a.10x={}),WB(a,"3bj"));ia.2q(a,1b(a){if(g(a.1jn)){ia.47P(c[a.1jn],1b(b,c){a[c]=b});1d d=b[a.1jn];g(d)&&(g(a.10x)||(a.10x={}),a.10x.3bj=d)}});1f a}1b y4(a,b){1d c=a.1Hg;g(c)||(c=[],a.1Hg=c);eg(c,b,!0);WB(a,b)}1b z4(a){1d b={},c={};if(g(a.1Hk)){1d d={1jY:[],1xI:[],1Hk:[]},e=a.56O;4Y a.56O;ia.1jn(a,1b(f,h){1d l={2i:f.2i,1bb:1p 0,2w:{},6H:{}},g;ia.3bk(f,1b(a,b){g=f.7V[a];l.2w[b]={17V:g.17V}});ia.2DT(f,1b(a,c){g=f.7V[a];l.6H[c]={7Z:g.7Z,17t:g.17t,1I:g.1I,17V:g.17V,1Q:g.1Q};b[a]=c});1d n=a.1jY[f.1bb],z={2i:n.2i,1cm:1p 0,23M:1p 0,6GV:e};z.1cm=eg(d.1xI,a.1xI[n.1cm],!0);z.23M=eg(d.1xI,a.1xI[n.23M],!0);l.1bb=eg(d.1jY,z);c[h]=eg(d.1Hk,l)});0<d.1Hk.1h&&(g(a.10x)||(a.10x={}),a.10x.1gk=d,WB(a,"1gk"),y4(a,"1gk"))}ia.2q(a,1b(a){if(g(a.1jn)){1d d={1jn:c[a.1jn]};ia.47P(a.2a,1b(a,c){g(d.2a)||(d.2a={});d.2a[b[c]]=a});g(a.10x)||(a.10x={});a.10x.1gk=d}4Y a.1jn;4Y a.2a});4Y a.1Hk;4Y a.1jY;4Y a.1xI;1f a}1b A4(a,b){b=m(b,B4);B4.12I(1b(c){if(-1<b.3f(c)){1d d=a[6ex[c]];if(g(d)){1d e=0,f=fv[c](a);d=d.1h;1j(1d h=0;h<d;++h)f[h]||(gv[c](a,h-e),e++)}}});1f a}1b gv(){}1b fv(){}1b C4(a,b){1f g(b.13q)||g(b.3w)||g(b.1vO)||g(b.1cx)||g(b.19q)||g(b.10x)&&0!==b.10x.1h?!1:!g(b.9d)||0===b.9d.14O(1b(b){1f!C4(a,a.1ci[b])}).1h}1b D4(a,b){b={3J:eg(a.1ds,{10S:b.1h,19q:{1mw:{5j:b}}}),8o:0,10S:b.1h};1f eg(a.1mx,b)}1b E4(a,b){1d c=Np(a,b),d=I.1jh(b.1fe),e=zl(b.1I),f=b.7Z,h=2K(e*f);if(!g(b.11y))1f Ic(h,0),h;1d l=a.1mx[b.11y];a=a.1ds[l.3J].19q.1mw.5j;l=b.8o+l.8o+a.8o;a=1g 1dE(a.3J);1d p=2K(e);b=nQ(b.1fe);1j(1d n=0;n<f;++n){b(a,l,e,d,p);1j(1d z=0;z<e;++z)h[n*e+z]=p[z];l+=c}1f h}1b F4(a){1d b;ia.47O(a,"4Rj",1b(c){c=a.1nI[c];b=c.1fe;b===H.1MX?AH(a,c,I.7U):b!==H.7U&&b!==H.10P&&AH(a,c,I.10P)});ia.47O(a,"6Hq",1b(c){c=a.1nI[c];b=c.1fe;b===H.1MX?AH(a,c,I.7U):b===H.1Vl&&AH(a,c,I.10P)});1f a}1b AH(a,b,c){1d d=I.9g(c,E4(a,b));d=1g 4L(d.3J);b.11y=D4(a,d);b.1fe=c;b.8o=0}1b pQ(a,b){b=m(b,m.4Z);1d c=b.aon,d=a.9G;a.1sT=m(a.1sT,{9G:"1.0"});a.1sT.9G=m(a.1sT.9G,"1.0");d=m(d,a.1sT.9G).5s();1L.1i.3p.4G(BH,d)||(g(d)&&(d=d.11c(0,3)),1L.1i.3p.4G(BH,d)||(d="1.0"));1j(1d e=BH[d];g(e)&&d!==c;)e(a,b),d=a.1sT.9G,e=BH[d];1f a}1b G4(a){a=a.1nH;1j(1d b in a)if(1L.1i.3p.4G(a,b)){1d c=a[b],d=c.6HG;g(d)&&(c.1jn=d.1jn,c.2a=d.2a,4Y c.6HG)}}1b H4(a,b){1d c=[],d;1j(d in a)if(1L.1i.3p.4G(a,d)){1d e=a[d];b[d]=c.1h;c.1q(e);g(e.2i)||(e.2i=d)}1f c}1b 6et(a){1d b,c={1nI:{},1QX:{},1ds:{},1mx:{},4Rr:{},1lw:{},1nH:{},1vY:{},1ci:{},1jY:{},1Hf:{},2eA:{},1xI:{},2DX:{},1fb:{},1Hk:{}},d={},e=a.1ci,f;1j(f in e)if(1L.1i.3p.4G(e,f)){1d h=e[f].3ek;g(h)&&(d[h]=f)}1j(1d l in a)1L.1i.3p.4G(a,l)&&g(c[l])&&(e={},a[l]=H4(a[l],e),c[l]=e);1j(h in d)1L.1i.3p.4G(d,h)&&(d[h]=c.1ci[d[h]]);g(a.4r)&&(a.4r=c.2eA[a.4r]);ia.11y(a,1b(a){g(a.3J)&&(a.3J=c.1ds[a.3J])});ia.1Rv(a,1b(a){g(a.11y)&&(a.11y=c.1mx[a.11y])});ia.1d8(a,1b(a){1d b=a.10x;if(g(b)){1d d=b.2qS;g(d)&&(a.11y=c.1mx[d.11y],4Y b.2qS);0===1L.9K(b).1h&&4Y a.10x}});ia.1bb(a,1b(a){g(a.23M)&&(a.23M=c.1xI[a.23M]);g(a.1cm)&&(a.1cm=c.1xI[a.1cm])});ia.1jn(a,1b(a){g(a.1bb)&&(a.1bb=c.1jY[a.1bb]);ia.47N(a,1b(a){g(a.17t)&&(a.17t=c.1ci[a.17t]);1d b=a.1Q;"4n"===2h b&&(a.1Q={2P:c.1fb[b]})})});ia.13q(a,1b(a){ia.1zU(a,1b(a){g(a.4N)&&(a.4N=c.1nI[a.4N]);ia.2ij(a,1b(b,d){a.2w[d]=c.1nI[b]});g(a.2q)&&(a.2q=c.1nH[a.2q])})});ia.17t(a,1b(d){1d e=d.9d;if(g(e)){1d f=e.1h;1j(b=0;b<f;++b)e[b]=c.1ci[e[b]]}if(g(d.1vY)){f=d.1vY;1d h=f.1h;if(0<h)1j(d.13q=c.1vY[f[0]],b=1;b<h;++b){1d l=eg(a.1ci,{13q:c.1vY[f[b]]});g(e)||(e=[],d.9d=e);e.1q(l)}4Y d.1vY}g(d.3w)&&(d.3w=c.4Rr[d.3w]);g(d.1vO)&&(d.1vO=c.2DX[d.1vO]);g(d.28M)&&(e=d.28M,0<e.1h&&g(d.1vO)&&(a.2DX[d.1vO].2qT=c.1ci[e[0]]),4Y d.28M);g(d.3ek)&&4Y d.3ek});ia.1vO(a,1b(a){g(a.1Rw)&&(a.1Rw=c.1nI[a.1Rw]);1d e=a.6HF;if(g(e)){1d f=[],h=e.1h;1j(b=0;b<h;++b)f[b]=d[e[b]];a.2qU=f;4Y a.6HF}});ia.4r(a,1b(a){a=a.1ci;if(g(a)){1d d=a.1h;1j(b=0;b<d;++b)a[b]=c.1ci[a[b]]}});ia.15R(a,1b(a){1d b={};a.1Hf=H4(a.1Hf,b);ia.2Qb(a,1b(a){a.15d=c.1nI[a.15d];a.1jU=c.1nI[a.1jU]});ia.3xX(a,1b(a){a.10v=b[a.10v];a=a.15s;g(a)&&(a.17t=c.1ci[a.id],4Y a.id)})});ia.2q(a,1b(a){g(a.1jn)&&(a.1jn=c.1Hk[a.1jn]);ia.3y0(a,1b(b,d){"4n"===2h b&&(a.2a[d]={2P:c.1fb[b]})});1d b=a.10x;if(g(b)){1d d=b.1EL;g(d)&&ia.3y0(d,1b(a,b){"4n"===2h a&&(d.2a[b]={2P:c.1fb[a]})})}});ia.4d(a,1b(a){1d b=a.10x;if(g(b)){1d d=b.2qS;g(d)&&(a.11y=c.1mx[d.11y],a.1WS=d.1WS,4Y b.2qS);0===1L.9K(b).1h&&4Y a.10x}ia.3bn(a,1b(a){1d d=a.10x;if(g(d)){1d e=d.2qS;g(e)&&(a.11y=c.1mx[e.11y],a.1WS=e.1WS,4Y d.2qS);0===1L.9K(b).1h&&4Y a.10x}})});ia.7y(a,1b(a){g(a.10v)&&(a.10v=c.1Hf[a.10v]);g(a.5j)&&(a.5j=c.1lw[a.5j])})}1b 6es(a){ia.15R(a,1b(a){ia.2Qb(a,1b(a){4Y a.2i})})}1b 6ei(a){1j(1d b in a)if(1L.1i.3p.4G(a,b)){1d c=a[b];2K.8n(c)&&0===c.1h&&4Y a[b]}ia.17t(a,1b(a){g(a.9d)&&0===a.9d.1h&&4Y a.9d})}1b 6en(a){ia.3J(a,1b(a){4Y a.1I})}1b 6em(a){ia.7y(a,1b(a){4Y a.8V;4Y a.2gm;4Y a.15s;4Y a.1I})}1b 6el(a){ia.13q(a,1b(a){ia.1zU(a,1b(a){ia.2ij(a,1b(b,c){"2gP"===c?a.2w.3xT=b:"1FC"===c&&(a.2w.2Q8=b)});4Y a.2w.2gP;4Y a.2w.1FC})});ia.1jn(a,1b(a){ia.47N(a,1b(a){1d b=a.17V;g(b)&&("2gP"===b?a.17V="3xT":"1FC"===b&&(a.17V="2Q8"))})})}1b 6ek(a){1d b={};ia.13q(a,1b(a){ia.1zU(a,1b(a){ia.2ij(a,1b(a,c){if("10D"!==c.1as(0)){1d d=c.1qs(/10D[0-9]+/g);a=c;1d e="aom";0<=d&&(a=c.11c(0,d),e=c.11c(d));d=6ef[a];g(d)?b[c]=d+e:g(6eg[a])||(b[c]="10D"+c)}});1j(1d c in b)if(1L.1i.3p.4G(b,c)){1d d=b[c],h=a.2w[c];g(h)&&(4Y a.2w[c],a.2w[d]=h)}})});ia.1jn(a,1b(a){ia.47N(a,1b(a){1d c=b[a.17V];g(c)&&(a.17V=c)})})}1b 6ej(a){ia.3w(a,1b(a){a=a.1S1;if(g(a)){1d b=a.13n;g(b)&&0===b&&4Y a.13n;b=a.6HE;g(b)&&0===b&&(a.6HE=1)}})}1b qQ(a,b){1f g(b.1NO)&&0!==b.1NO?b.1NO:Np(a,b)}1b 6er(a){ia.3J(a,1b(a){g(a.10S)||(a.10S=a.19q.1mw.5j.1h)});ia.1Rv(a,1b(b){1d c=b.11y;if(g(c)){c=a.1mx[c];1d d=qQ(a,b);b=b.8o+b.7Z*d;c.10S=1k.1V(m(c.10S,0),b)}})}1b 6eq(a){1d b,c=a.1mx,d={};ia.4Rs(a,1b(b){b=a.1nI[b];g(b.11y)&&(d[b.11y]=!0)});1d e={};ia.1Rv(a,1b(a){g(a.11y)&&(e[a.11y]=m(e[a.11y],[]),e[a.11y].1q(a))});1j(1d f in e)if(1L.1i.3p.4G(e,f)){1d h=c[f];1d l=e[f];l.15F(1b(a,b){1f a.8o-b.8o});1d p=0;1d n=0;1d z=l.1h;1j(b=0;b<z;++b){1d k=l[b],x=qQ(a,k),D=k.8o,t=k.7Z*x;4Y k.1NO;1d oa=b<z-1;k=oa?qQ(a,l[b+1]):1p 0;if(x!==k){k=wc(h,!0);d[f]&&(k.1NO=x);k.8o+=p;k.10S=D+t-p;1j(x=eg(c,k);n<=b;++n)k=l[n],k.11y=x,k.8o-=p;p=oa?l[b+1].8o:1p 0;n=b+1}}}A4(a,["1Rv","11y","3J"])}1b 6ep(a){ia.47O(a,"1nz",1b(b){b=a.1nI[b];if(!g(b.2o)||!g(b.1V)){1d c=oQ(a,b);b.2o=c.2o;b.1V=c.1V}})}1b I4(a){1f(!g(a.9d)||0===a.9d.1h)&&(!g(a.1vY)||0===a.1vY.1h)&&!g(a.3w)&&!g(a.1vO)&&!g(a.28M)&&!g(a.3ek)&&(!g(a.14L)||k.7j(a.14L).2L(k.6h))&&(!g(a.3b)||k.7j(a.3b).2L(1g k(1,1,1)))&&(!g(a.5S)||E.7j(a.5S).2L(1g E(0,0,0,1)))&&(!g(a.8W)||A.2ii(a.8W).2L(A.8K))&&!g(a.10x)&&!g(a.19q)}1b J4(a,b){ia.4r(a,1b(a){a=a.1ci;if(g(a))1j(1d c=a.1h;0<=c;--c)if(a[c]===b){a.6z(c,1);1W}});ia.17t(a,1b(c,d){if(g(c.9d)){1d e=c.9d.3f(b);-1<e&&(c.9d.6z(e,1),I4(c)&&J4(a,d))}});4Y a.1ci[b]}1b 6eu(a){ia.17t(a,1b(b,c){I4(b)&&J4(a,c)});1f a}1b 6eo(a){ia.15R(a,1b(b){ia.2Qb(b,1b(b){b=a.1nI[b.15d];if(!g(b.2o)||!g(b.1V)){1d c=oQ(a,b);b.2o=c.2o;b.1V=c.1V}})})}1b Nm(){1a.46B=1a.1Vv=!1;1a.2DV=1g $f;1a.2DU=1g $f;1a.1ds={};1a.1Wg=0;1a.3xU=1g $f;1a.1xI={};1a.2PS=0;1a.3xW=1g $f;1a.2DK=0;1a.3xV=1g $f;1a.47F=0;1a.56C=1a.56D=1a.56G=1a.56H=1a.56I=1a.56J=1a.56L=!0;1a.3BT={};1a.3b8=1g $f;1a.47E=0;1a.3xy=!1;1a.56K=[]}1b $qa(a,b){1f ia.3bk(a,1b(a,d){if(a.17V===b)1f d})}1b K4(a,b,c,d){1f Ej(a,"1gk")?1b(a,b){if(!(a.17V!==c||d&&g(a.17t)))1f b}:1b(a,f){a=b.7V[a];if(!(a.17V!==c||d&&g(a.17t)))1f f}}1b rQ(a,b,c){b=1g 19j(b+"(?!\\\\w)","g");1d d=a.1qs(b);1f a.3X(b,1b(a,b){1f d===b?a:c})}1b L4(a,b,c){b=a.1nH[b.2q];if(Ej(a,"1gk")&&g(b.10x)&&g(b.10x.1gk))1f ia.3bk(a.10x.1gk.1Hk[b.10x.1gk.1jn],1b(a,b){if(a.17V===c)1f b})}1b ey(a){1d b={1Q:a,1y:1b(a,b){1f a},14R:1b(){1f b.1Q}};1f b}1b CH(a){1d b={1Q:C.7j(a),1y:C.1y,14R:1b(){1f b.1Q}};1f b}1b DH(a){1d b={1Q:k.7j(a),1y:k.1y,14R:1b(){1f b.1Q}};1f b}1b fy(a){1d b={1Q:E.7j(a),1y:E.1y,14R:1b(){1f b.1Q}};1f b}1b sQ(a){1d b={1Q:ub.2ii(a),1y:ub.1y,14R:1b(){1f b.1Q}};1f b}1b tQ(a){1d b={1Q:J.2ii(a),1y:J.1y,14R:1b(){1f b.1Q}};1f b}1b EH(a){1d b={1Q:A.2ii(a),1y:A.1y,14R:1b(){1f b.1Q}};1f b}1b M4(a){1d b={1Q:a,1y:E.1y,14R:1b(){1d a=1bR.14H()/1E3,d=b.1Q[4];0<d?(d=a%d,Op.x=d*b.1Q[0]+b.1Q[1],Op.y=d*b.1Q[2]+b.1Q[3]):(Op.x=b.1Q[1],Op.y=b.1Q[3]);d=b.1Q[9];0<d?(a%=d,Op.z=a*b.1Q[5]+b.1Q[6],Op.w=a*b.1Q[7]+b.1Q[8]):(Op.z=b.1Q[6],Op.w=b.1Q[8]);1f Op}};1f b}1b FH(a,b,c){1a.6j=1p 0;1a.6e0=a.2P;1a.12s=b;1a.1u0=c}1b uQ(a,b){b=m(b,{});if(g(a)&&Ej(a,"1EL")){Ej(a,"1gk")||(g(a.10x)||(a.10x={}),a.10x.1gk={1jY:[],1xI:[],1Hk:[]},a.1r9.1q("1gk"),a.1Hg.1q("1gk"));1d c=a.10x.1gk;ara(a);1d d=6HC(a),e=Xa.4Rk(a),f={},h=!1;ia.2q(a,1b(l,p){if(g(l.10x)&&g(l.10x.1EL)){1d n=l.10x.1EL,z=e[p];p="1jn:"+n.1jn+";";1j(1d k=n.2a,x=1L.9K(k).15F(),D=x.1h,t=0;t<D;++t){1d oa=x[t];k.3p(oa)&&(p+=oa+":"+N4(oa,k[oa]),p+=";")}k=m(n.6HD,0);p+=k.5s()+";";g(z)&&(x=z.2Qa,0<k&&(p+=x.1I+";"),p+=z.3bm);k=f[p];if(!g(k)){1d G=n,aa=b.3xo;g(G)||(G={});aa=m(aa,!1);k=c.1Hk;D=c.1xI;x=c.1jY;t=G.1jn.1G9();if(g(a.10x)&&g(a.10x.1EL))1d r=a.10x.1EL.2DW;1d q=G.2a,u=m(G.6HD,0),v=!1;oa=!1;if(g(z)){1d y=z.2Qa;v=y.3xS;oa=z.3bm}1d A="1k7 6V 1o;\\n",B="1k7 6V 1o;\\n",S="3C7"!==t;z={3C3:{17V:Ej(a,"2DI")?"29O":"1Ro",1I:H.1ff},4ee:{17V:"23H",1I:H.1ff}};S&&(z.2Sy={17V:"2PU",1I:H.1BP});v&&(z.3er={7Z:u,17V:"56F",1I:H.1ff});u=!1;1j(1d U in q)if(q.3p(U)&&"18b"!==U&&"1QG"!==U){1d R=N4(U,q[U]);1d V="1gL"+U.18v();u||R!==H.1oS||(u=!0);z[V]={1I:R}}g(z.3ew)&&(z.3ew.17V="4Rh");if(g(d))1j(1d W in d)d.3p(W)&&(V="1gL"+W,z[V]=d[W]);1j(V in z)z.3p(V)&&(U=z[V],W=g(U.7Z)?"["+U.7Z+"]":"",U.1I!==H.1BP&&U.1I!==H.1ff||U.3C5?(B+="2n "+NB(U.1I)+" "+V+W+";\\n",4Y U.3C5):A+="2n "+NB(U.1I)+" "+V+W+";\\n");U="";if(v)if(V=zl(y.1I),W=!1,0===y.1I.3f("6Hs")&&(W=!0,V=1k.3Y(V)),W)1j(W=0;W<V;W++)1j(q=0;q<V;q++)U=0===W&&0===q?U+"  5w 3ey = ":U+"  3ey += ",U+="2FE["+W+"]["+q+"] * 3er[7P(2FF["+W+"]["+q+"])];\\n";1s 1j(W=0;W<V;W++)U=0===W?U+"  5w 3ey = ":U+"  3ey += ",U+="2FE["+W+"] * 3er[7P(2FF["+W+"])];\\n";V={2aG:{17V:"1nz"}};A+="3Q 1w 2aG;\\1J 1w 13L;\\n";U=(v?U+"  1m 3h = 3C3 * 3ey * 1m(2aG,1.0);\\n":U+"  1m 3h = 3C3 * 1m(2aG,1.0);\\n")+"  13L = 3h.1H;\\n  6I = 4ee * 3h;\\n";B+="3G 1w 13L;\\n";S&&(V.1WQ={17V:"1zp"},A+="3Q 1w 1WQ;\\1J 1w 1fL;\\n",U=v?U+"  1fL = 2Sy * 14j(3ey) * 1WQ;\\n":U+"  1fL = 2Sy * 1WQ;\\n",B+="3G 1w 1fL;\\n");if(u){V.3ep={17V:"3xT"};1d da="6Hr";A=A+"3Q 1v 3ep;\\1J 1v "+(da+";\\n");U+="  "+da+" = 3ep;\\n";B+="3G 1v "+da+";\\n"}v&&(y=Xa.47w(y.1I),V.2FF={17V:"6ee"},V.2FE={17V:"6ed"},A=A+("3Q "+y+" 2FF;\\2J ")+(y+" 2FE;\\n"));oa&&(V.3eo={17V:"2Q8"},A+="3Q 1m 3eo;\\1J 1m 1yp;\\n",U+="  1yp = 3eo;\\n",B+="3G 1m 1yp;\\n");aa&&(V.1k8={17V:"2FA"},A+="3Q 1o 1k8;\\n");W=S&&("56Z"===t||"aok"===t)&&g(z.4ej)&&g(z.3ex)&&0<z.3ex;v=aa=!1;y="";1j(1d C in r)if(r.3p(C)){q=r[C];u=q.1I.18v();q=q.6HB;y+="  {\\n";R="1gL"+q+"1aV";if("18A"===u)v=!0,y+="    4eg += "+R+";\\n";1s if(S){aa=!0;1d Sa="3cT"+q+"aoj";1d E="3cT"+q+"2A0";"7v"!==u&&(A+="3G 1w "+Sa+";\\n",B+="3G 1w "+Sa+";\\n",U+="  "+Sa+" = 14j(1gL"+q+"331) * 1w(0.,0.,1.);\\n","1oH"===u&&(y+="    1w l = 1T("+Sa+");\\n"));"1oH"!==u?(A+="3G 1w "+E+";\\n",B+="3G 1w "+E+";\\n",U+="  "+E+" = 1gL"+q+"331[3].1H;\\n",y+="    1w VP = "+E+" - 13L;\\n",y+="    1w l = 1T(VP);\\n",y+="    1o 11D = 1h(VP);\\n",y+="    1o 1iM = 1.0 / (1gL"+q+"3dy.x + ",y+="(1gL"+q+"3dy.y * 11D) + ",y+="(1gL"+q+"3dy.z * 11D * 11D));\\n"):y+="    1o 1iM = 1.0;\\n";"1BE"===u&&(y+="    1o 571 = 2A(l, 1T("+Sa+"));\\n",y+="    if (571 < 3i(1gL"+q+"56Y.x * 0.5))\\n",y+="    {\\n",y+="      1iM = 0.0;\\n",y+="    }\\n",y+="    1s\\n",y+="    {\\n",y+="        1iM *= 1V(0.0, 3r(571, 1gL"+q+"56Y.y));\\n",y+="    }\\n");y+="    4ek += "+R+"* 1V(2A(2U,l), 0.) * 1iM;\\n";W&&("56Z"===t?(y+="    1w h = 1T(l + 25b);\\n",y+="    1o 1L0 = 1V(0., 3r(1V(2A(2U, h), 0.), 3ex)) * 1iM;\\n"):(y+="    1w 4el = 1Ck(-l, 2U);\\n",y+="    1o 1L0 = 1V(0., 3r(1V(2A(4el, 25b), 0.), 3ex)) * 1iM;\\n"),y+="    4ei += "+R+" * 1L0;\\n")}y+="  }\\n"}v||(y+="  4eg += 1w(0.2, 0.2, 0.2);\\n");aa||"3C7"===t||(y+="  1w l = 1T(1t3);\\n  4ek += 1w(1.0, 1.0, 1.0) * 1V(2A(2U,l), 0.2);\\n",W&&(y=("56Z"===t?y+"  1w h = 1T(l + 25b);\\n  1o 1L0 = 1V(0., 3r(1V(2A(2U, h), 0.), 3ex));\\n":y+"  1w 4el = 1Ck(-l, 2U);\\n  1o 1L0 = 1V(0., 3r(1V(2A(4el, 25b), 0.), 3ex));\\n")+"  4ei += 1w(1.0, 1.0, 1.0) * 1L0;\\n"));A=A+"1p 2k(1p) {\\n"+U;A+="}\\n";B+="1p 2k(1p) {\\n";r="  1w 1A = 1w(0.0, 0.0, 0.0);\\n";S&&(B+="  1w 2U = 1T(1fL);\\n",G.1QG&&(B+="  if (6Hp == 16f)\\n  {\\n    2U = -2U;\\n  }\\n"));"3C7"!==t?(g(z.3ew)&&(B=z.3ew.1I===H.1oS?B+("  1m 8t = 1Y(3ew, "+da+");\\n"):B+"  1m 8t = 3ew;\\n",B+="  1w 4ek = 1w(0.0, 0.0, 0.0);\\n",r+="  1A += 8t.2y * 4ek;\\n"),W&&(B=z.4ej.1I===H.1oS?B+("  1w 16C = 1Y(4ej, "+da+").2y;\\n"):B+"  1w 16C = 4ej.2y;\\n",B+="  1w 4ei = 1w(0.0, 0.0, 0.0);\\n",r+="  1A += 16C * 4ei;\\n"),C=g(z.3ev)?"  2C = 1m(1A * 8t.a * 3ev, 8t.a * 3ev);\\n":"  2C = 1m(1A * 8t.a, 8t.a);\\n"):C=g(z.3ev)?"  2C = 1m(1A * 3ev, 3ev);\\n":"  2C = 1m(1A, 1.0);\\n";oa&&(r+="  1A *= 1yp.2y;\\n");g(z.4eh)&&(B=z.4eh.1I===H.1oS?B+("  1w 17Y = 1Y(4eh, "+da+").2y;\\n"):B+"  1w 17Y = 4eh.2y;\\n",r+="  1A += 17Y;\\n");if(g(z.3C6)||"3C7"!==t)B=g(z.3C6)?z.3C6.1I===H.1oS?B+("  1w 18A = 1Y(3C6, "+da+").2y;\\n"):B+"  1w 18A = 3C6.2y;\\n":B+"  1w 18A = 8t.2y;\\n",r+="  1A += 18A * 4eg;\\n";B=B+"  1w 25b = -1T(13L);\\n  1w 4eg = 1w(0.0, 0.0, 0.0);\\n"+y+r;B=B+C+"}\\n";da=eg(D,{1I:H.3s9,19q:{1mw:{5j:A,6A:".3sp"}}});r=eg(D,{1I:H.2Nc,19q:{1mw:{5j:B,6A:".3sp"}}});da=eg(x,{1cm:r,23M:da});k=eg(k,{2w:V,1bb:da,6H:z});f[p]=k;h=!0}da={};r=n.2a;1j(1d dc in r)r.3p(dc)&&"18b"!==dc&&"1QG"!==dc&&(C="1gL"+dc.18v(),da[C]=r[dc]);l.10x.1gk={1jn:k,2a:da};l.2gR="18W";n.18b&&(l.2gR="24Z");n.1QG&&(l.1QG=!0)}});if(!h)1f a;Xa.4Ri(a);1f a}}1b 6HC(a){1d b={};if(g(a.10x)&&g(a.10x.1EL))1d c=a.10x.1EL.2DW;if(g(c)){a=a.1ci;1j(1d d in a)if(a.3p(d)){1d e=a[d];if(g(e.10x)&&g(e.10x.1EL)){1d f=e.10x.1EL.1e8;g(f)&&g(c[f])&&(c[f].17t=d);4Y e.10x.1EL}}d=0;1j(1d h in c)if(c.3p(h))if(a=c[h],f=a.1I,"18A"===f||g(a.17t)){e="1e8"+d.5s();a.6HB=e;6U(f){1S"18A":b[e+"1aV"]={1I:H.1my,1Q:a.18A.1A};1W;1S"1oH":b[e+"1aV"]={1I:H.1my,1Q:a.1oH.1A};g(a.17t)&&(b[e+"331"]={17t:a.17t,17V:"1Ro",1I:H.1ff});1W;1S"7v":f=a.7v;b[e+"1aV"]={1I:H.1my,1Q:f.1A};g(a.17t)&&(b[e+"331"]={17t:a.17t,17V:"1Ro",1I:H.1ff});b[e+"3dy"]={1I:H.1my,1Q:[f.3eu,f.3et,f.3es]};1W;1S"1BE":f=a.1BE,b[e+"1aV"]={1I:H.1my,1Q:f.1A},g(a.17t)&&(b[e+"331"]={17t:a.17t,17V:"1Ro",1I:H.1ff},b[e+"aoi"]={17t:a.17t,17V:"46F",1I:H.1ff,3C5:!0}),b[e+"3dy"]={1I:H.1my,1Q:[f.3eu,f.3et,f.3es]},b[e+"56Y"]={1I:H.1Rt,1Q:[f.56X,f.56W]}}++d}1s 4Y c[h]}1f b}1b N4(a,b){b=g(b.1Q)?b.1Q:g(b.2P)?[b.2P]:b;6U(a){1S"18A":1f 1===b.1h?H.1oS:H.1EK;1S"8t":1f 1===b.1h?H.1oS:H.1EK;1S"17Y":1f 1===b.1h?H.1oS:H.1EK;1S"16C":1f 1===b.1h?H.1oS:H.1EK;1S"1rk":1f H.3O;1S"2tf":1f H.3O;1S"18b":1f H.2DS;1S"1QG":1f H.2DS}}1b ara(a){a=a.10x.1EL;if(g(a)&&g(a.2DW)){a=a.2DW;1j(1d b=a.1h,c=0;c<b;c++){1d d=a[c];"18A"===d.1I?(g(d.18A)||(d.18A={}),d=d.18A,g(d.1A)||(d.1A=[1,1,1])):"1oH"===d.1I?(g(d.1oH)||(d.1oH={}),d=d.1oH,g(d.1A)||(d.1A=[1,1,1])):"7v"===d.1I?(g(d.7v)||(d.7v={}),d=d.7v,g(d.1A)||(d.1A=[1,1,1]),d.3eu=m(d.3eu,1),d.3et=m(d.3et,0),d.3es=m(d.3es,0)):"1BE"===d.1I&&(g(d.1BE)||(d.1BE={}),d=d.1BE,g(d.1A)||(d.1A=[1,1,1]),d.3eu=m(d.3eu,1),d.56X=m(d.56X,3.aoh),d.56W=m(d.56W,0),d.3et=m(d.3et,0),d.3es=m(d.3es,0))}}}1b vQ(a,b){b=m(b,{});if(Ej(a,"1gk")||!g(a.1nH)||0===a.1nH.1h)1f a;g(a.10x)||(a.10x={});g(a.1r9)||(a.1r9=[]);g(a.1Hg)||(a.1Hg=[]);a.10x.1gk={1jY:[],1xI:[],1Hk:[]};a.1r9.1q("1gk");a.1Hg.1q("1gk");1d c=Xa.4Rk(a);ia.2q(a,1b(d,e){1d f={};e=6Hw(a,d,e,f,c,b);g(d.10x)||(d.10x={});d.10x.1gk={2a:f,1jn:e}});Xa.4Ri(a);1f a}1b 6Hv(a){1f g(a.10x)&&g(a.10x.4Rg)}1b O4(a,b,c){1d d=0,e=0,f=0,h=0,l=0,g=0,n=0,z=0,k=0;a.3p("4I")&&(d+=a.4I[0],f+=a.4I[1]);a.3p("11D")&&(d+=a.11D[0],e=a.11D[1],f+=a.11D[2],h=a.11D[3],z=a.11D[0],k=a.11D[2]);a.3p("1sx")&&0!=a.1sx&&(n=1/a.1sx,l=(e-z)/n,g=(h-k)/n);b[c]=l;b[c+1]=d;b[c+2]=g;b[c+3]=f;b[c+4]=n}1b P4(a,b,c,d){c[d]=[0,0,0,0,1,0,1,0,1,1];g(a)&&O4(a,c[d],0);g(b)&&O4(b,c[d],5)}1b 6Ht(a,b){a=a.6Hu;(a.3p("6HA")||a.3p("6Hz"))&&P4(a.6HA,a.6Hz,b,"1SE");(a.3p("6Hy")||a.3p("6Hx"))&&P4(a.6Hy,a.6Hx,b,"1SA")}1b 6Hw(a,b,c,d,e,f){1d h=m(f.3xo,!1),l=a.10x.1gk;f=l.1Hk;1d p=l.1xI;l=l.1jY;1d n=6Hv(b),z=g(b.6Hu),k=b.3Zy;if(g(k)&&!n)1j(t in k)if(k.3p(t)){1d x="1gL"+t;d[x]=k[t]}if(n)1j(t in k=b.10x.4Rg,k)k.3p(t)&&(x="1gL"+t,d[x]=k[t]);z&&6Ht(b,d);1j(1d D in b)b.3p(D)&&(0<=D.3f("2GX")||0<=D.3f("52v"))&&(x="1gL"+D,d[x]=b[D]);1d t=D="1k7 6V 1o;\\n";1d oa;g(a.2DX)&&(oa=a.2DX[0]);1d G=g(oa)?oa.2qU:[],aa=G.1h,r=e[c],q=!1,u=e=!1,v=z=oa=!1;k=!1;if(g(r)){1d y=r.2Qa;q=y.3xS&&0<G.1h;e=r.3bm;u=r.47C;oa=r.47B;z=r.47A;v=r.47z}1d B;u&&ia.13q(a,1b(a){ia.1zU(a,1b(a){a.2q===c&&(a=a.47x,g(a)&&(B=a))})});a={3C3:{17V:Ej(a,"2DI")?"29O":"1Ro",1I:H.1ff},4ee:{17V:"23H",1I:H.1ff}};g(b.10x)&&g(b.10x.6e5)&&(k=!0,z=oa=!1);oa&&(a.2Sy={17V:"2PU",1I:H.1BP});q&&(a.3er={7Z:aa,17V:"56F",1I:H.1ff});u&&(a.3C4={7Z:B.1h,17V:"6GY",1I:H.3O});aa=b.2gR;g(aa)&&"2Vi"===aa&&(a.2Gd={17V:"6GX",1I:H.3O});1j(x in d)if(d.3p(x)){G=x;r=6Hj(x);a:{6U(x){1S "1SE":1d A=XB.4Rc;1W a;1S "1SA":A=XB.4Rb;1W a}A=1p 0}a[G]={1I:r,4e6:A}}G=m(a.2jZ,a.1SD);g(G)&&(G.17V="4Rh");1j(x in a)a.3p(x)&&(G=a[x],r=g(G.7Z)?"["+G.7Z+"]":"",G.1I!==H.1BP&&G.1I!==H.1ff&&"3C4"!==x||G.3C5?(t+="2n "+NB(G.1I)+" "+x+r+";\\n",4Y G.3C5):D+="2n "+NB(G.1I)+" "+x+r+";\\n");x="";if(q)if(G=zl(y.1I),r=!1,0===y.1I.3f("6Hs")&&(r=!0,G=1k.3Y(G)),r)1j(r=0;r<G;r++)1j(A=0;A<G;A++)x=0===r&&0===A?x+"    5w 3eq = ":x+"    3eq += ",x+="2FE["+r+"]["+A+"] * 3er[7P(2FF["+r+"]["+A+"])];\\n";1s 1j(r=0;r<G;r++)x=0===r?x+"    5w 3eq = ":x+"    3eq += ",x+="2FE["+r+"] * 3er[7P(2FF["+r+"])];\\n";G={2aG:{17V:"1nz"}};D+="3Q 1w 2aG;\\n";oa&&(D+="3G 1w 13L;\\1J 1w 25v;\\n");x+="    1w 4ef = 2aG;\\n";oa&&(x+="    1w 4ed = 1WQ;\\n");z&&(x+="    1m 4ec = 56V;\\n");if(u)1j(u=0;u<B.1h;u++){r=B[u];1j(1d S in r)r.3p(S)&&"19q"!==S&&(A="1zx"+S+"10D"+u,G[A]={17V:S+"10D"+u},D+="3Q 1w "+A+";\\n","1nz"===S?x+="    4ef += 3C4["+u+"] * "+A+";\\n":"1zp"===S?x+="    4ed += 3C4["+u+"] * "+A+";\\n":z&&"47D"===S&&(x+="    4ec.1H += 3C4["+u+"] * "+A+";\\n"))}x=q?x+"    1m 1K = 3eq * 1m(4ef, 1.0);\\n":x+"    1m 1K = 1m(4ef, 1.0);\\n";oa&&(x+="    25v = (1Cp * 1K).1H;\\n");x+="    1K = 3C3 * 1K;\\n";oa&&(x+="    13L = 1K.1H;\\n");x+="    6I = 4ee * 1K;\\n";oa&&(G.1WQ={17V:"1zp"},D+="3Q 1w 1WQ;\\1J 1w 1fL;\\n",x=q?x+"    1fL = 2Sy * 14j(3eq) * 4ed;\\n":x+"    1fL = 2Sy * 4ed;\\n",t+="3G 1w 1fL;\\1J 1w 13L;\\1J 1w 25v;\\n");z&&(G.56V={17V:"47D"},D+="3Q 1m 56V;\\1J 1m 3en;\\n",x+="    3en.1H = 2Sy * 4ec.1H;\\n    3en.w = 4ec.w;\\n",t+="3G 1m 3en;\\n");if(v){G.3ep={17V:"3xT"};1d C="6Hr";D=D+"3Q 1v 3ep;\\1J 1v "+(C+";\\n");x+="    "+C+" = 3ep;\\n";t+="3G 1v "+C+";\\n"}q&&(y=Xa.47w(y.1I),G.2FF={17V:"4Rj"},G.2FE={17V:"6Hq"},D=D+("3Q "+y+" 2FF;\\2J ")+(y+" 2FE;\\n"));e&&(G.3eo={17V:"2Q8"},D+="3Q 1m 3eo;\\1J 1m 1yp;\\n",x+="  1yp = 3eo;\\n",t+="3G 1m 1yp;\\n");h&&(G.1k8={17V:"2FA"},D+="3Q 1o 1k8;\\n");D=D+"1p 2k(1p) \\n{\\n"+x+"}\\n";oa&&(t+="XR 1o 1SF = 3.24J;\\1R 4gH(1w 1Fl) \\n{\\n    1f 1Fl / 1SF;\\n}\\n\\1R 3G6(1w f0, 1w 2VL, 1o 1y3) \\n{\\n    1f f0 + (2VL - f0) * 3r(2Y(1.0 - 1y3, 0.0, 1.0), 5.0);\\n}\\n\\1R 4gG(1o 1t9, 1o 1y3) \\n{\\n    1f 1t9 + (1w(1.0) - 1t9) * 3r(1.0 - 1y3, 5.0);\\n}\\n\\1R 2VC(1o 2VK, 1w 1SG) \\n{\\n    1f 1SG + (1w(1.0) - 1SG) * 3r(1.0 - 2VK, 5.0);\\n}\\n\\1r 2VH(1o g, 1o 2VJ) \\n{\\n    1o a = 3r(1c8.0, g);\\n    1f (a + 2.0) / 8.0 * 3r(2VJ, a);\\n}\\n\\1r 2k4(1o 1cb, 1o 12V) \\n{\\n    1o k = (12V + 1.0) * (12V + 1.0) / 8.0;\\n    1f 1cb / (1cb * (1.0 - k) + k);\\n}\\n\\1r 4gF(1o 12V, 1o 1uB, 1o 1cb) \\n{\\n    1f 2k4(1uB, 12V) * 2k4(1cb, 12V);\\n}\\n\\1r 4gE(1o 12V, 1o 1uA) \\n{\\n    1o 2k3 = 12V * 12V;\\n    1o f = (1uA * 2k3 - 1uA) * 1uA + 1.0;\\n    1f 2k3 / (1SF * f * f);\\n}\\n\\2s 2VI(1w 2k2, 1w 25b, 1w 2U, 1w 18V, 1w 1y2, 1o 12V, 9H 1w 1SC, 9H 1w 1SB) \\n{\\n   1w h = 1T(25b + 2k2);\\n   1o 1uB = 2Y(2A(2U, 2k2), 0.17I, 1.0);\\n   1o 1uA = 2Y(2A(2U, h), 0.0, 1.0);\\n   1w li = 18V * 1uB;\\n   1SC = li;\\n   1SB = li * 1y2 * 2VH(1.0 - 12V, 1uA);\\n}\\n\\n");t+="1w 2jR(1w 1Lg) \\n{\\n    1f 3r(1Lg, 1w(2.2));\\n}\\n\\1P 2k0(1m 1Lg) \\n{\\n    1w 2VG = 3r(1Lg.2y, 1w(2.2));\\n    1f 1m(2VG, 1Lg.a);\\n}\\n\\1R 2Vj(1w 2k1) \\n{\\n#1bI 1js \\n    1f 3r(2k1, 1w(1.0/2.2));\\n#1s \\n    1f 2k1;\\n#1u \\n}\\n\\1r 1KY(1o 1up, 1o 1O7, 1o 1Xp) \\n{\\n   1f 3r(2Y(1.0 - 1up / 1O7, 0.0, 1.0), 1Xp);\\n}\\n\\n#1z 2tS \\1B 1v 4e4; \\n#1u \\n#1z 56s \\1B 1w 6GH; \\n#1u \\2s 2k(1p) \\n{\\n";oa&&(t+="    1w ng = 1T(1fL);\\n",g(d.1Os)?z?t=t+"    1w t = 1T(3en.1H);\\n    1w b = 1T(4B(ng, t) * 3en.w);\\n    14j 2tV = 14j(t, b, ng);\\n    1w n = 1Y(1Os, "+(C+").2y;\\n    n = 1T(2tV * (2.0 * n - 1.0));\\n"):(t="#1z 8p\\n#6A 8p : 5F\\n#1u\\n"+t+"#1z 8p\\n    1w 2VF = 1cu(13L);\\n    1w 2VE = 1ct(13L);\\n    1w 1XS = 1cu(1w("+(C+",0.0));\\n    1w 1XT = 1ct(1w(")+(C+",0.0));\\n    1w t = (1XT.t * 2VF - 1XS.t * 2VE) / (1XS.s * 1XT.t - 1XT.s * 1XS.t);\\n    t = 1T(t - ng * 2A(ng, t));\\n"),t+="    1w b = 1T(4B(ng, t));\\n",t+="    14j 2tV = 14j(t, b, ng);\\n",t+="    1w n = 1Y(1Os, "+C+").2y;\\n    n = 1T(2tV * (2.0 * n - 1.0));\\n#1s\\n",t+="    1w n = ng;\\n",t+="#1u\\n"):t+="    1w n = ng;\\n",b.1QG&&(t+="    if (!6Hp)\\n",t+="    {\\n",t+="        n = -n;\\n",t+="    }\\n"));g(d.2jZ)?(t+="   1v 1sy = 1v(0.0);\\n",t+="   1v 56U = 1v(1.0);\\n",g(d.1SE)&&(t+="    1sy = 1SE.xy;\\n",t+="    56U = 1SE.zw;\\n"),t+="    1m 1CG = 2k0(1Y(2jZ, "+C+" * 56U.xy + 1sy.xy));\\n",g(d.1SD)&&(t+="    1CG *= 1SD;\\n")):t=g(d.1SD)?t+"    1m 1CG = 1SD;\\n":t+"    1m 1CG = 1m(1.0);\\n";e&&(t+="    1CG *= 1yp;\\n");t+="    1w 1rL = 1CG.2y;\\n";oa?(n?(g(d.56Q)?(t+="    1m 56T = 2k0(1Y(56Q, "+C+"));\\n    1w 16C = 56T.2y;\\n    1o 3C2 = 56T.a;\\n",g(d.3BY)&&(t+="    16C *= 3BY;\\n"),g(d.3BX)&&(t+="    3C2 *= 3BX;\\n")):(t=g(d.3BY)?t+"    1w 16C = 2Y(3BY, 1w(0.0), 1w(1.0));\\n":t+"    1w 16C = 1w(1.0);\\n",t=g(d.3BX)?t+"    1o 3C2 = 2Y(3BX, 0.0, 1.0);\\n":t+"    1o 3C2 = 1.0;\\n"),g(d.4eb)?(t=g(d.6Ho)?t+("    1m 8t = 2k0(1Y(4eb, "+C+" + 6Ho.xy));\\n"):t+("    1m 8t = 2k0(1Y(4eb, "+C+"));\\n"),g(d.3BZ)&&(t+="    8t *= 3BZ;\\n")):t=g(d.3BZ)?t+"    1m 8t = 2Y(3BZ, 1m(0.0), 1m(1.0));\\n":t+"    1m 8t = 1m(1.0);\\n"):g(d.2tU)?(t+="    1w 2jY = 1Y(2tU, "+C+").2y;\\n    1o 1t9 = 2Y(2jY.b, 0.0, 1.0);\\n    1o 12V = 2Y(2jY.g, 0.1HU, 1.0);\\n",g(d.1XR)&&(t+="    1t9 *= 1XR;\\n"),g(d.1XQ)&&(t+="    12V *= 1XQ;\\n")):(t=g(d.1XR)?t+"    1o 1t9 = 2Y(1XR, 0.0, 1.0);\\n":t+"    1o 1t9 = 1.0;\\n",t=g(d.1XQ)?t+"    1o 12V = 2Y(1XQ, 0.1HU, 1.0);\\n":t+"    1o 12V = 1.0;\\n"),t+="    1w v = -1T(13L);\\n",n?(t+="    1o 12V = 1.0 - 3C2;\\n",t+="    1w 1Fl = 8t.2y * (1.0 - 1V(1V(16C.r, 16C.g), 16C.b));\\n",t+="    1w 1Fk = 16C;\\n"):(t+="    1w f0 = 1w(0.1HU);\\n",t+="    1w 1Fl = 1rL * (1.0 - 1t9) * (1.0 - f0);\\n",t+="    1w 1Fk = 3T(f0, 1rL, 1t9);\\n"),t+="    1o 1cb = abs(2A(n, v)) + 0.17I;\\n",t+="    1w 1SC = 1w(0.0);\\n",t+="    1w 1SB = 1w(0.0);\\n",t+="    1w 1y2 = 2VC(1cb, 1Fk);\\n",t+="    1w 1A = 1w(0.0);\\n",t+="#if 1gn > 0 \\n",t+="    1j (7P i = 0; i < 1gn; i++) { \\n",t+="        1w 1kc = 1w(0.0);\\n",t+="        1w 1kb = 1w(0.0);\\n",t+="        2VI(2Gg[i], v, n, 24N[i], 1y2, 12V, 1kc, 1kb);\\n",t+="        1SC +=1kc;\\n",t+="        1SB += 1kb;\\n",t+="    } \\n",t+="#1u \\n",t+="#if 1dY > 0 \\n",t+="    1j (7P i = 0; i < 1dY; i++) { \\n",t+="        if(1w9[i].z < 0.1) {\\n",t+="        1aJ;}\\n",t+="        1w 1cL = 24M[i] - 13L;\\n",t+="        1o 1up = 1h(1cL);\\n",t+="        1o 1CH = 1KY(1up, 1w9[i].x, 1w9[i].y);\\n",t+="        if(1CH < 0.17I) {\\n",t+="        1aJ;}\\n",t+="        1w 2VB = 1Sr[i] * 1CH;\\n",t+="        1w 1kc = 1w(0.0);\\n",t+="        1w 1kb = 1w(0.0);\\n",t+="        2VI(1T(1cL), v, n, 2VB, 1y2, 12V, 1kc, 1kb);\\n",t+="        1SC +=1kc;\\n",t+="        1SB += 1kb;\\n",t+="    }\\n",t+="#1u \\n",t+="#if 19w > 0 \\n",t+="    1j (7P i = 0; i < 19w; i++) { \\n",t+="        if(1p6[i].w < 0.1) {\\n",t+="        1aJ;}\\n",t+="        1w 1cL = 24L[i] - 13L;\\n",t+="        1o 1up = 1h(1cL);\\n",t+="        1o 1CH = 1KY(1up, 1p6[i].x, 1p6[i].y);\\n",t+="        if(1CH < 0.17I) {\\n",t+="        1aJ;}\\n",t+="        1o 1Ak = 2A(2Gf[i], 1T(1cL));\\n",t+="        if(1Ak > 1p6[i].z) {\\n",t+="            1w 2VA = 1Sq[i] * 1CH * 1Ak;\\n",t+="            1w 1kc = 1w(0.0);\\n",t+="            1w 1kb = 1w(0.0);\\n",t+="            2VI(1T(1cL), v, n, 2VA, 1y2, 12V, 1kc, 1kb);\\n",t+="            1SC +=1kc;\\n",t+="            1SB += 1kb;\\n",t+="        }\\n",t+="    }\\n",t+="#1u \\n",t+="    1A = 1rL; \\n",t+="    1A *= 1V(1SC, 1w(0.0)); \\n",t+="    1A += 1V(1SB, 1w(0.0)); \\n",t+="#if 2l(2tS) && !2l(2Su) && !2l(2St) \\n",t+="    1w r = 1T(25a * 1T(1Ck(v, n)));\\n",t+="    1Xh 3c = 2TB();\\n",t+="    1o 2Vz = 1h(25v);\\n",t+="    1o 1rK = 1.0 - 2o(1.0, 3c.10N.x / 2Vz);\\n",t+="    1o 1wj = 2A(r, 1T(25v));\\n",t+="    r.x = -r.x;\\n",t+="    r = -1T(2UP * r);\\n",t+="    r.x = -r.x;\\n",t+="    1o 1uz = 1.1HU - 12V;\\n",t+="    1uz *= 1uz;\\n",t+="    1w 2Vv = 24F(3G4, r).2y * 1uz;\\n",t+="    1o 2Vx = 0.1cN;\\n",t+="    1o 1wk = 0.1 * ((1.0 - 1uz) * 8.0 + 1.1 - 1rK);\\n",t+="    1o 2Vy = 12V * -1.0;\\n",t+="    1o 2Vq = 2Y(1rK - 1wk * 0.5 + 2Vy, 1.1Al-10 - 1wk, 0.1I6);\\n",t+="    1o 2jW = 2Y(1rK + 1wk * 0.5, 1.1Al-10 - 1wk, 0.1I6);\\n",t+="    1o 2jV = 2Y(1rK + 1wk * 1.5, 1.1Al-10 - 1wk, 0.1I6);\\n",t+="    1o 1Lf = 13f(0.0, 2Vx, 1rK);\\n",t+="    1w 1XP = 3T(1w(0.1, 0.15, 0.25), 1w(0.4, 0.7, 0.9), 1Lf);\\n",t+="    1w 2Vo = 1XP * 0.5;\\n",t+="    1w 2jX = 3T(1w(0.9, 1.0, 1.2), 1XP, 12V * 0.5);\\n",t+="    1w 2Vw = 3T(1w(0.18, 0.26, 0.48), 2jX, 1wj * 1uz * 0.5 + 0.75);\\n",t+="    1w 2Vr = 3T(2Vw, 2Vv, 1Lf);\\n",t+="    1w 2Vu = 1w(0.7, 0.85, 0.9);\\n",t+="    1o 2Vt = (1.0 - 1rK) * (1wj * 0.25 + 0.75) * 1Lf;\\n",t+="    1o 2Vs = (1.0 - 1Lf) * (1.0 - (1wj * 0.25 + 0.25));\\n",t+="    1w 2bP = 2Vu * 2Y(2Vt + 2Vs, 0.0, 1.0);\\n",t+="    1o 2Vp = (1.0 - 1rK * 12V * 0.8);\\n",t+="    1w 1Or = 3T(2Vr, 2jX, 13f(2Vq, 2jW, 1wj) * 2Vp);\\n",t+="    1Or = 3T(1Or, 1XP, 13f(2jW, 2jV, 1wj) * 1uz);\\n",t+="    1Or = 3T(1Or, 2Vo, 13f(2jV, 1.0, 1wj) * 1uz);\\n",t+="#1z 2bO \\n",t+="    1o 2jT = 2Y(2A(1T(25a * 1t3), 1T(25v * -1.0)), 0.17I, 1.0);\\n",t+="    1o S = 1cz(2jT);\\n",t+="    1o 2Vn = 2Y(2A(1T(25a * n), 1T(25v * -1.0)), 0.17I, 1.0);\\n",t+="    1o 2jU = 2Y(2A(n, 1t3), 0.17I, 1.0);\\n",t+="    1o 1iP = 1cz(2jU);\\n",t+="    1o 2Vm = ((0.91 + 10.0 * 108(-3.0 * 1iP) + 0.45 * 3r(2jU, 2.0)) * (1.0 - 108(-0.32 / 2Vn)));\\n",t+="    1o 1aX = (0.91 + 10.0 * 108(-3.0 * S) + 0.45 * 3r(2jT,2.0)) * (1.0 - 108(-0.32));\\n",t+="    1o 1Fj = 4dV * (2Vm / 1aX);\\n",t+="#1u \\n",t+="    1v 1Oq = 1Y(3g4, 1v(1cb, 1.0 - 12V)).rg;\\n",t+="    1w 2jS = (2bP * 1Fl * 4e4.x) + (1Or * 2jR(1Fk * 1Oq.x + 1Oq.y) * 4e4.y);\\n",t+="#1z 2bO \\n",t+="    1A += 2jS * 1Fj;\\n",t+="#1s \\n",t+="    1A += 2jS; \\n",t+="#1u \\n",t+="#1Cw 2l(2Su) || 2l(2St) \\n",t+="    14j 6Hm = 14j(1RW[0][0], 1RW[1][0], 1RW[2][0], \\n",t+="                           1RW[0][1], 1RW[1][1], 1RW[2][1], \\n",t+="                           1RW[0][2], 1RW[1][2], 1RW[2][2]); \\n",t+="    XR 14j 6Hn = 14j(-1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0); \\n",t+="    1w 3C1 = 1T(6Hn * 6Hm * 1T(1Ck(-v, n))); \\n",t+="#1z 2Su \\n",t+="#1z 56r \\n",t+="    1w 2bP = 3eS(3C1, 4dY); \\n",t+="#1s \\n",t+="    1w 2bP = 3eS(3C1, 6hD); \\n",t+="#1u \\n",t+="#1s \\n",t+="    1w 2bP = 1w(0.0); \\n",t+="#1u \\n",t+="#1z 2St \\n",t+="    1v 1Oq = 1Y(3g4, 1v(1cb, 12V)).rg;\\n",t+="#1z 56q \\n",t+="    1w 3C0 = 3eW(4dX, 4dW, 3C1,  12V * 3BQ, 3BQ);\\n",t+="#1s \\n",t+="    1w 3C0 = 3eW(6hF, 6hE, 3C1,  12V * 4Th, 4Th);\\n",t+="#1u \\n",t+="    1o 6Hl = 1V(1V(1Fk.r, 1Fk.g), 1Fk.b);\\n",t+="    1w 6Hk = 1w(2Y(6Hl * 25.0, 0.0, 1.0));\\n",t+="    1w r0 = 1Fk.2y;\\n",t+="    1w l = 1T(1t3);\\n",t+="    1w h = 1T(v + l);\\n",t+="    1o 1y3 = 2Y(2A(v, h), 0.0, 1.0);\\n",t+="    1w F = 3G6(r0, 6Hk, 1y3);\\n",t+="    3C0 *= F * 1Oq.x + 1Oq.y;\\n",t+="#1s \\n",t+="    1w 3C0 = 1w(0.0); \\n",t+="#1u \\n",t+="    1A += 2bP * 1Fl + 1Fk * 3C0;\\n",t+="#1u \\n"):t+="    1w 1A = 1rL;\\n";k||(g(d.2tR)&&(t+="    1A *= 1Y(2tR, "+C+").r;\\n"),g(d.2tQ)?(t+="   1v 56R = 1v(0.0);\\n",t+="   1v 56S = 1v(1.0);\\n",g(d.1SA)&&(t+="    56R = 1SA.xy;\\n",t+="    56S = 1SA.zw;\\n"),t+="    1w 2Ge = 2jR(1Y(2tQ, "+C+"* 56S.xy + 56R.xy).2y);\\n",g(d.1XO)&&(t+="    2Ge *= 1XO;\\n"),t+="    1A += 2Ge;\\n"):g(d.1XO)&&(t+="    1A += 1XO;\\n"));t+="    1A = 2Vj(1A);\\n";g(aa)?"2Vi"===aa?(t+="    if (1CG.a < 2Gd) {\\n",t+="        7o;\\n",t+="    }\\n",t+="    2C = 1m(1A, 1.0);\\n"):t="24Z"===aa?t+"    2C = 1m(1A, 1CG.a);\\n":t+"    2C = 1m(1A, 1.0);\\n":t+="    2C = 1m(1A, 1.0);\\n";t+="}\\n";b=eg(p,{1I:H.3s9,19q:{1mw:{5j:D,6A:".3sp"}}});d=eg(p,{1I:H.2Nc,19q:{1mw:{5j:t,6A:".3sp"}}});b=eg(l,{1cm:d,23M:b});1f eg(f,{2w:G,1bb:b,6H:a})}1b 6Hj(a){6U(a){1S "1SD":1f H.1EK;1S "1XR":1f H.3O;1S "1XQ":1f H.3O;1S "2jZ":1f H.1oS;1S"2tU":1f H.1oS;1S"1Os":1f H.1oS;1S"2tR":1f H.1oS;1S"2tQ":1f H.1oS;1S"1XO":1f H.1my;1S"1SE":1f H.1EK;1S"1SA":1f H.1EK;1S"3BZ":1f H.1EK;1S"3BY":1f H.1my;1S"3BX":1f H.3O;1S"4eb":1f H.1oS;1S"56Q":1f H.1oS}}1b hv(a){1a.2M=a.2M;1a.7Z=a.7Z;1a.1A=a.1A;1a.1ek=a.1ek}1b Al(a,b){v.1N.4n("6d",a);1a.6dL=a;if(g(b))1j(1d c in b)if(b.3p(c)){1d d=1g 19j("\\\\$\\\\{"+c+"\\\\}","g"),e="("+b[c]+")";g(e)&&(a=a.3X(d,e))}b=a.3X(6dJ,6dI);c="";1j(a=b.3f("${");0<=a;){d=b.3f("\'");e=b.3f(\'"\');if(0<=d&&d<a)a=b.3f("\'",d+1),c+=b.13c(0,a+1),b=b.13c(a+1);1s if(0<=e&&e<a)a=b.3f(\'"\',e+1),c+=b.13c(0,a+1),b=b.13c(a+1);1s{c+=b.13c(0,a);d=b.3f("}");if(0>d)1t 1g qa("aog {.");c+="6Hg"+b.13c(a+2,d-(a+2));b=b.13c(d+1)}a=b.3f("${")}a=c+b;GH.4R5("=~",0);GH.4R5("!~",0);10G{1d f=GH(a)}11B(h){1t 1g qa(h);}1a.47c=pd(1a,f)}1b Qg(a){1f 1b(b,c){if("2b"===2h c)1f a(c);if(c 2m C)1f C.9v(a(c.x),a(c.y),rc.1Hj());if(c 2m k)1f k.9v(a(c.x),a(c.y),a(c.z),rc.1EJ());if(c 2m E)1f E.9v(a(c.x),a(c.y),a(c.z),a(c.w),rc.1EI());1t 1g qa(\'1wM "\'+b+\'" 9N a 8r or 2b 1aK. 27f is \'+c+".");}}1b HH(a,b){1f 1b(c,d,e){if(b&&"2b"===2h e){if("2b"===2h d)1f a(d,e);if(d 2m C)1f C.9v(a(d.x,e),a(d.y,e),rc.1Hj());if(d 2m k)1f k.9v(a(d.x,e),a(d.y,e),a(d.z,e),rc.1EJ());if(d 2m E)1f E.9v(a(d.x,e),a(d.y,e),a(d.z,e),a(d.w,e),rc.1EI())}if("2b"===2h d&&"2b"===2h e)1f a(d,e);if(d 2m C&&e 2m C)1f C.9v(a(d.x,e.x),a(d.y,e.y),rc.1Hj());if(d 2m k&&e 2m k)1f k.9v(a(d.x,e.x),a(d.y,e.y),a(d.z,e.z),rc.1EJ());if(d 2m E&&e 2m E)1f E.9v(a(d.x,e.x),a(d.y,e.y),a(d.z,e.z),a(d.w,e.w),rc.1EI());1t 1g qa(\'1wM "\'+c+\'" 9N 8r or 2b 5m of 1TR 1KO. 1EG are \'+d+" and "+e+".");}}1b Q4(a,b){1f 1b(c,d,e,f){if(b&&"2b"===2h f){if("2b"===2h d&&"2b"===2h e)1f a(d,e,f);if(d 2m C&&e 2m C)1f C.9v(a(d.x,e.x,f),a(d.y,e.y,f),rc.1Hj());if(d 2m k&&e 2m k)1f k.9v(a(d.x,e.x,f),a(d.y,e.y,f),a(d.z,e.z,f),rc.1EJ());if(d 2m E&&e 2m E)1f E.9v(a(d.x,e.x,f),a(d.y,e.y,f),a(d.z,e.z,f),a(d.w,e.w,f),rc.1EI())}if("2b"===2h d&&"2b"===2h e&&"2b"===2h f)1f a(d,e,f);if(d 2m C&&e 2m C&&f 2m C)1f C.9v(a(d.x,e.x,f.x),a(d.y,e.y,f.y),rc.1Hj());if(d 2m k&&e 2m k&&f 2m k)1f k.9v(a(d.x,e.x,f.x),a(d.y,e.y,f.y),a(d.z,e.z,f.z),rc.1EJ());if(d 2m E&&e 2m E&&f 2m E)1f E.9v(a(d.x,e.x,f.x),a(d.y,e.y,f.y),a(d.z,e.z,f.z),a(d.w,e.w,f.w),rc.1EI());1t 1g qa(\'1wM "\'+c+\'" 9N 8r or 2b 5m of 1TR 1KO. 1EG are \'+d+", "+e+", and "+f+".");}}1b db(a,b,c,d,e){1a.1b4=a;1a.6j=b;1a.18R=c;1a.1eI=d;1a.3xJ=e;1a.3x=1p 0;1a.1b4===jb.474?1a.3x=1a.6dg:1a.1b4===jb.3xI?"6S"===1a.6j?1a.3x=1a.6d6:"1f4"===1a.6j?1a.3x=1a.6d3:"5s"===1a.6j&&(1a.3x=1a.6d2):1a.1b4===jb.29T?"!"===1a.6j?1a.3x=1a.6dx:"-"===1a.6j?1a.3x=1a.6dw:"+"===1a.6j?1a.3x=1a.6dv:"11I"===1a.6j?1a.3x=1a.6df:"1AJ"===1a.6j?1a.3x=1a.6de:"2qA"===1a.6j?1a.3x=1a.6dd:"2qz"===1a.6j?1a.3x=1a.6dc:"2i8"===1a.6j?1a.3x=1a.6db:"17L"===1a.6j?1a.3x=1a.6da:"3a"===1a.6j?1a.3x=1a.6d9:"10J"===1a.6j?1a.3x=1a.6d8:g(YB[1a.6j])&&(1a.3x=6Hb(1a.6j)):1a.1b4===jb.3bf?"+"===1a.6j?1a.3x=1a.6do:"-"===1a.6j?1a.3x=1a.6dn:"*"===1a.6j?1a.3x=1a.6dm:"/"===1a.6j?1a.3x=1a.6dk:"%"===1a.6j?1a.3x=1a.6dj:"==="===1a.6j?1a.3x=1a.6di:"!=="===1a.6j?1a.3x=1a.6dh:"<"===1a.6j?1a.3x=1a.6du:"<="===1a.6j?1a.3x=1a.6dt:">"===1a.6j?1a.3x=1a.6ds:">="===1a.6j?1a.3x=1a.6dr:"&&"===1a.6j?1a.3x=1a.6dp:"||"===1a.6j?1a.3x=1a.6dq:"=~"===1a.6j?1a.3x=1a.6d5:"!~"===1a.6j?1a.3x=1a.6d4:g(IH[1a.6j])&&(1a.3x=6Ha(1a.6j)):1a.1b4===jb.47a?1a.3x=6H9(1a.6j):1a.1b4===jb.3bd?1a.3x="4pO"===1a.6j?1a.6dz:1a.6dA:1a.1b4===jb.473?1a.3x=1a.6dy:1a.1b4===jb.47b?1a.3x=1a.6dB:1a.1b4===jb.472?1a.3x=1a.6dC:1a.1b4===jb.2DQ?1a.3x=1a.6dG:1a.1b4===jb.3xF?1a.3x=1a.6dF:1a.1b4===jb.3be?1a.3x=1a.6dD:1a.1b4===jb.3xH?1a.3x=1a.6d7:1a.1b4===jb.470?"6d1"===1a.6j&&(1a.3x=6Hc):1a.3x=1a.6dH}1b 6Hf(a){1d b=2h a.1Q;if(1F===a.1Q)1f 1g db(jb.2Q4,1F);if("11T"===b)1f 1g db(jb.2Q3,a.1Q);if("2b"===b)1f 1g db(jb.29S,a.1Q);if("4n"===b)1f 0<=a.1Q.3f("${")?1g db(jb.472,a.1Q):1g db(jb.3be,a.1Q.3X(wQ,"\\\\"))}1b 4M0(a,b){1d c=b.5m,d=c.1h;if("47n"===b.3bg.1I){1d e=b.3bg.5i.2i;b=b.3bg.2c;if("6S"===e||"1f4"===e){if("6Hi"!==b.3bg.2i)1t 1g qa(e+" is 2S a 1b.");if(0===d)1f"6S"===e?1g db(jb.2Q3,!1):1g db(jb.2Q4,1F);d=pd(a,b);b=pd(a,c[0]);1f 1g db(jb.3xI,e,d,b)}if("5s"===e)1f b=pd(a,b),1g db(jb.3xI,e,b);1t 1g qa(\'1Py 1b 4G "\'+e+\'".\');}e=b.3bg.2i;if("1A"===e){if(0===d)1f 1g db(jb.2DQ,e);b=pd(a,c[0]);1f g(c[1])?(a=pd(a,c[1]),1g db(jb.2DQ,e,[b,a])):1g db(jb.2DQ,e,[b])}if("2y"===e||"1OB"===e){if(3>d)1t 1g qa(e+" 9N 29k 5m.");b=[pd(a,c[0]),pd(a,c[1]),pd(a,c[2])];1f 1g db(jb.2DQ,e,b)}if("15A"===e||"3xG"===e){if(4>d)1t 1g qa(e+" 9N 2OA 5m.");b=[pd(a,c[0]),pd(a,c[1]),pd(a,c[2]),pd(a,c[3])];1f 1g db(jb.2DQ,e,b)}if("1v"===e||"1w"===e||"1m"===e){b=2K(d);1j(1d f=0;f<d;++f)b[f]=pd(a,c[f]);1f 1g db(jb.3xF,e,b)}if("11I"===e||"1AJ"===e){if(0===d)1f"11I"===e?1g db(jb.2Q3,!0):1g db(jb.2Q3,!1);b=pd(a,c[0]);1f 1g db(jb.29T,e,b)}if("2qA"===e||"2qz"===e){if(1>d||1<d)1t 1g qa(e+" 9N 2hu 1bS 1aK.");b=pd(a,c[0]);1f 1g db(jb.29T,e,b)}if("2i8"===e){if(0<d)1t 1g qa(e+" 18f 2S aof any 1aK.");1f 1g db(jb.29T,e)}if(g(YB[e])){if(1!==d)1t 1g qa(e+" 9N 2hu 1bS 1aK.");b=pd(a,c[0]);1f 1g db(jb.29T,e,b)}if(g(IH[e])){if(2!==d)1t 1g qa(e+" 9N 2hu 1uk 5m.");d=pd(a,c[0]);b=pd(a,c[1]);1f 1g db(jb.3bf,e,d,b)}if(g(xQ[e])){if(3!==d)1t 1g qa(e+" 9N 2hu 29k 5m.");d=pd(a,c[0]);b=pd(a,c[1]);a=pd(a,c[2]);1f 1g db(jb.47a,e,d,b,a)}if("17L"===e){if(0===d)1f 1g db(jb.2Q3,!1);b=pd(a,c[0]);1f 1g db(jb.29T,e,b)}if("3a"===e){if(0===d)1f 1g db(jb.29S,0);b=pd(a,c[0]);1f 1g db(jb.29T,e,b)}if("10J"===e){if(0===d)1f 1g db(jb.3be,"");b=pd(a,c[0]);1f 1g db(jb.29T,e,b)}if("6Hi"===e)1f 6Hh(a,b);1t 1g qa(\'1Py 1b 4G "\'+e+\'".\');}1b 6Hh(a,b){1d c=b.5m;if(0===c.1h)1f 1g db(jb.3xE,19j());b=pd(a,c[0]);if(1<c.1h){a=pd(a,c[1]);if(b.1b4>=jb.2Q4&&a.1b4>=jb.2Q4){10G{1d d=1g 19j(10J(b.6j).3X(wQ,"\\\\"),a.6j)}11B(e){1t 1g qa(e);}1f 1g db(jb.3xE,d)}1f 1g db(jb.3xH,b,a)}if(b.1b4>=jb.2Q4){10G{d=1g 19j(10J(b.6j).3X(wQ,"\\\\"))}11B(e){1t 1g qa(e);}1f 1g db(jb.3xE,d)}1f 1g db(jb.3xH,b)}1b 6He(a){if("6Hg"===a.2i.13c(0,4))1f a=a.2i.13c(4),"aoe"===a.13c(0,8)?1g db(jb.470,a):1g db(jb.47b,a);if("1hO"===a.2i)1f 1g db(jb.29S,1hO);if("12g"===a.2i)1f 1g db(jb.29S,12g);if("7w"===a.2i)1f 1g db(jb.4R3,1p 0);1t 1g qa(a.2i+" is 2S 2l.");}1b 6Hd(a,b){if("1k"===b.2c.2i){1d c=b.5i.2i;c="PI"===c?1g db(jb.29S,1k.PI):"E"===c?1g db(jb.29S,1k.E):1p 0;1f c}if("3a"===b.2c.2i)1f c="19B"===b.5i.2i?1g db(jb.29S,3a.19B):1p 0,c;c=pd(a,b.2c);if(b.1AY)1f a=pd(a,b.5i),1g db(jb.3bd,"4pO",c,a);a=1g db(jb.3be,b.5i.2i);1f 1g db(jb.3bd,"2A",c,a)}1b pd(a,b){if("47m"===b.1I)1d c=6Hf(b);1s if("6dP"===b.1I)c=4M0(a,b);1s if("6dM"===b.1I)c=6He(b);1s if("6dN"===b.1I){1d d=b.22V;a=pd(a,b.1aK);if(-1<6dK.3f(d))c=1g db(jb.29T,d,a);1s 1t 1g qa(\'1Py 22V "\'+d+\'".\');}1s if("6dT"===b.1I){d=b.22V;1d e=pd(a,b.3B);a=pd(a,b.2W);if(-1<R4.3f(d))c=1g db(jb.3bf,d,e,a);1s 1t 1g qa(\'1Py 22V "\'+d+\'".\');}1s if("6dU"===b.1I)d=b.22V,e=pd(a,b.3B),a=pd(a,b.2W),-1<R4.3f(d)&&(c=1g db(jb.3bf,d,e,a));1s if("6dS"===b.1I)d=pd(a,b.6S),e=pd(a,b.6dR),a=pd(a,b.6dQ),c=1g db(jb.474,"?",e,a,d);1s if("47n"===b.1I)c=6Hd(a,b);1s if("6dO"===b.1I){d=[];1j(e=0;e<b.26L.1h;e++)d[e]=pd(a,b.26L[e]);c=1g db(jb.473,d)}1s{if("4R6"===b.1I)1t 1g qa("aod 2hu 1bS 6d.");1t 1g qa("1e6 5N 6d.");}1f c}1b 6Hc(a){1f g(a)?a.15k.15c.31C:0}1b 6Hb(a){1d b=YB[a];1f 1b(c){c=1a.18R.3x(c);1f b(a,c)}}1b 6Ha(a){1d b=IH[a];1f 1b(c){1d d=1a.18R.3x(c);c=1a.1eI.3x(c);1f b(a,d,c)}}1b 6H9(a){1d b=xQ[a];1f 1b(c){1d d=1a.18R.3x(c),e=1a.1eI.3x(c);c=1a.3xJ.3x(c);1f b(a,d,e,c)}}1b JH(a,b){if(g(a))1f a.1vb(b)}1b S4(a){a=a.18R;1j(1d b=a.1h,c=0;c<b;++c)if(a[c].1b4!==jb.29S)1f;1f y.3xK(a[0].6j,a[1].6j,a[2].6j,4===b?a[3].6j:1,KH)}1b T4(a){a=a.18R;1j(1d b=a.1h,c=0;c<b;++c)if(a[c].1b4!==jb.29S)1f;c=KH;c.5r=a[0].6j/255;c.5t=a[1].6j/255;c.5G=a[2].6j/255;c.2O=4===b?a[3].6j:1;1f c}1b Zr(a){1f 0===a%1?a.1mf(1):a.5s()}1b LH(a){1d b=Zr(a.5r),c=Zr(a.5t),d=Zr(a.5G);a=Zr(a.2O);1f"1m("+b+", "+c+", "+d+", "+a+")"}1b U4(a,b,c,d){1j(1d e=a.1h,f=2K(e),h=0;h<e;++h)f[h]=a[h].2fM(b,c,d);1f f}1b Bl(a){a=m(a,m.4Z);1a.6y=a.1ac;1a.1q1=a.1ek;1a.9h=a.3q;1a.1Hi=a.3BF;1a.1lz=a.4N;1a.1Ko=a.2s3;1a.1Rs=a.3e8;1a.1Kp=a.4dC;1a.11S=a.6W;1a.1Rr=a.55P;1a.19J=m(a.2V,k.6h);1a.46Y=1a.3bb=1a.2qP=1a.2ie=1a.2if=1a.2ig=1a.23L=1a.2DN=1a.1cH=1a.1xB=1a.2qO=1a.11V=1a.16z=1p 0;1a.1pu=[];1a.2DO=[];1a.2Q1=[];1a.1nG=1a.2qx=y.1y(y.9r);1a.46W=1a.2Q2=!0;1a.46Z=0;1a.3bc=!1;1a.1Wb=1a.1lz.1h/3;1a.1qV=1a.1lz.10S+1a.9h.10S+1a.1Hi.10S;1a.2Dw=1a.46X=1a.29R=1a.1gj=!1;1a.12p=m(a.12p,te.2hq);1a.1za=a.1za;1a.1z9=a.1z9;1a.12m=a.12m;1a.1cH=a.1cH;1a.16I=a.16I;1a.12t=a.12t;1a.5V=a.5V;1a.3xC={};a=1a.1q1.1h;1j(1d b=0;b<a;++b)1a.3xC[1a.1q1[b]]=b}1b V4(a){a=a?Jc.1Be:Jc.1jW;1f{1fA:{5r:!1,5t:!1,5G:!1,2O:!1},12h:{3e:!0,1iu:a,1eb:{15w:Ma.10w,17x:Ma.1q3,17w:Ma.1q3},1it:a,1eH:{15w:Ma.10w,17x:Ma.2io,17w:Ma.2io},1bY:Mc.1vh,11q:Mc.1vh},1lq:Mc.1Jz,9J:{3e:!1},13Q:!1}}1b W4(a){a=a?Jc.1Be:Jc.1jW;1f{1fA:{5r:!1,5t:!1,5G:!1,2O:!1},12h:{3e:!0,1iu:a,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.2io},1it:a,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:Mc.1vh,11q:Mc.1vh},1lq:Mc.1Jz,9J:{3e:!0,14R:go.340},13Q:!1}}1b 6cU(a,b){g(a.1cH)||(a.1cH=a.6y.1BM()({1Od:1b(){1d c=b.13m.18T;A.1y(b.13m.11A,iv);A.8P(iv,a.19J,X4);A.1Bh(iv,X4,iv);A.9b(c,iv,iv);1f iv},1nU:1b(){1f a.1nG}}))}1b yQ(a,b,c,d,e,f,h){1j(1d l=a.7m.12T,g=f.1h,n=0;n<g;++n){1d z=h[f[n]],k=e[z],x=1g a.7m(a.3J,l*d[z],k);b.1C(x,c);d[z]=c;c+=k}1f c}1b zQ(a,b,c,d,e,f,h){1j(1d l=a.4Hg,g=f.1h,n=0;n<g;++n){1d z=h[f[n]],k=e[z];b.6hp(a,d[z]*l,c*l,k*l);d[z]=c;c+=k}1f c}1b 6cT(a,b){1f b.1A.22A()-a.1A.22A()}1b Y4(a,b,c,d){1d e=a.12p;a=e!==te.1uf;e=e!==te.1Q8;1d f=b.13l,h=c.1h,l;1j(l=0;l<h;++l){if(a){1d p=c[l];p.6t=ma.1Bk;f.1q(p)}e&&(p=c[l].10K.15c,p.6t=ma.1Hh,f.1q(p))}if(b.1M8&&g(d))1j(h=d.1h,l=0;l<h;++l)f.1q(d[l])}1b jv(a){a=m(a,m.4Z);1d b=a.12b;b 2m 1aq&&(b=1g 4L(b));if(b 2m 4L)b=zH(b),pQ(b),mQ(b),uQ(b),vQ(b);1s 1t 1g qa("1Jh 2gf 23I is 11J as a aoc.");ia.3J(b,1b(a){if(!g(a.19q.1mw.5j))1t 1g qa("1P6 2g 2Q be 4dN in 1Z 2gf 12b.");});1d c=b.1ci,d=b.1vY,e=c[0].13q;if(1!==c.1h||!g(e))1t 1g qa("1Jh 1bS 17t is 11J 1j 56P and it 2Q 118 a 13q.");if(1!==d.1h)1t 1g qa("1Jh 1bS 13q is 11J 16r 1nl 29F 1j 56P.");c=d[0].13y;if(1!==c.1h)1t 1g qa("1Jh 1bS 9k 2pi 13q is 11J 16r 1nl 29F 1j 56P.");if(!g(c[0].2w.1nz))1t 1g qa("9B 13q 2Q 118 a 1K 3Q.");if(!g(c[0].2w.2FA))1t 1g qa("9B 13q 2Q 118 a 2Fy id 3Q.");1a.2PW=b;1a.2p=m(a.2p,!0);1a.4a=A.1y(m(a.4a,A.8K));1a.12t=A.1y(1a.4a);1a.4y=!1;1a.7S=Z.12L();1a.15S=m(a.15S,!1);1a.1Wp=!1;1a.1gj=m(a.1gj,!1);1a.29R=!1;1a.1Ez=a.12p;1a.2s6=a.2s4;1a.6H7=a.6Gp;1a.1WR=a.2iU;1a.2ia=a.2iT;1a.3b2=m(a.23z,!1);1a.23F=m(a.1wf,Pe.Y);1a.6y=a.1ac;1a.27T=1g A;1a.5V=1a.2w7=1p 0;1a.46J=1g P;1a.19i=Pp.2DD;1a.8C=1a.1ba=1p 0;1a.1g6=!1;1a.4ea=1g A;1a.3eh=1a.2DJ=1a.23w=1a.7h=1p 0;1a.2gw={};1a.1cH=1a.1Q1=1a.1BB=1p 0;1a.1Wb=1a.1qV=0;1a.3b4=1a.2ib=1a.3xp=1a.1q2=1p 0}1b 6cQ(a){1d b=a.1ba;ia.3J(a.12b,1b(a,d){b.1ds[d]=a.19q.1mw.5j})}1b 6cP(a){1d b=a.12b.1mx,c=a.1ba.2DV;ia.11y(a.12b,1b(a,b){a.15s===H.1Q4&&c.1vp(b)});1d d=a.1ba.2DU,e={};ia.1Rv(a.12b,1b(a){1d c=a.11y;b[c].15s!==H.1GV||g(e[c])||(e[c]=!0,d.1vp({id:c,1fe:a.1fe}))})}1b Z4(a,b){g(b)&&(a=b(a));1f a}1b 6H6(a){if(a.1ba.4Rm()&&!g(a.1BB)){1d b=a.2gw,c=a.12b,d=c.1nI,e=c.1vY[0].13y[0],f={1nz:0,2FA:1},h={};ia.2ij(e,1b(a,e){1d l=f[e];g(l)&&(a=d[a],h[e]={2P:l,7e:b[a.11y],2Z:zl(a.1I),3k:a.1fe,9n:a.8o,9t:Np(c,a)})});1d l;g(e.4N)&&(l=b[d[e.4N].11y]);a.1BB={2w:h,10X:l}}}1b 6H5(a,b){if(!g(a.1cH)){1d c={};ia.1jn(a.12b,1b(d){ia.2DT(d,1b(d,f){g(d.17V)&&g($4[d.17V])&&(c[f]=$4[d.17V](b.13m,a))})});a.1cH=c}}1b a5(a,b){b=b.1O;Xa.4Rf(a.12b.56O,b);1d c=a.1ba;if(0===c.1Wg){1d d=c.2DV;1j(c=c.2DU;0<d.1h;){1d e=d.1xg(),f=a,h=f.1ba.2pA(f.12b.1mx[e]);f.2gw[e]=h;f.1qV+=h.10S}1j(;0<c.1h;)e=c.1xg(),d=e.id,f=e.1fe,e=a,f={5b:e.1ba.2pA(e.12b.1mx[d]),17P:f},e.2gw[d]=f,e.1qV+=f.5b.10S}f=a.12b;d=Xa.1He(f,"1nz");e=Xa.1He(f,"2FA");c={};c[d]=0;c[e]=1;1d l=Xa.1He(f,"2qH");if(g(l))h="2n 5w "+l+";\\n",f=l+" * 1m("+d+", 1.0)";1s{l=Xa.1He(f,"23H");1d p=Xa.1He(f,"1Ro");g(p)||(p=Xa.1He(f,"29O"));h="2n 5w "+p+";\\1B 5w "+l+";\\n";f=l+" * "+p+" * 1m("+d+", 1.0)"}d="3Q 1w "+d+";\\2J 1o "+e+";\\n"+h+"1p 2k() {\\n    1m 6H8 = "+(f+";\\n    6I = 1wa(6H8);\\n}\\n");a.1r9.1Wk&&(d=Xa.4Re(a.12b,a.12b.1vY[0].13y[0],d),a.3eh=d.6H,d=d.1d8);d=Z4(d,a.2s6);e=Z4("#1z 5J\\n#6A 5J : 5F\\n#1u\\2s 2k() \\n{ \\n    2C = 1m(1.0); \\n    1Sc();\\n}\\n",a.6H7);d=Xa.47r(d,f);e=Xa.47s(e);a.1Q1={5O:d,5A:e,7W:c};6H6(a);6H5(a,b);if(a.1ba.3b3()&&!g(a.7h)){a.4ea=Xa.2J7(a.12b.1ci[0],a.4ea);b=a.6y;c=a.1cH;h=a.1BB;d=a.12b;l=d.1nI;e=d.1vY[0].13y[0];f=l[e.4N];d=Xa.47v(d,e.2w.1nz);d=P.2fX(k.7j(d.2o),k.7j(d.1V));g(f)?(l=f.7Z,p=f.8o/Ta.1jh(f.1fe)):(l=l[e.2w.1nz].7Z,p=0);f=a.1Wb;b:6U(e.3z){1S Ja.11G:1d n=l/3;1W b;1S Ja.2rC:1S Ja.2iI:n=1k.1V(l-2,0);1W b;4T:n=0}a.1Wb=f+n;g(a.1WR)&&(c=a.1WR(c));a.1r9.1Wk&&(e=Xa.4Ra(a.12b,e,a.3eh),c=fb(c,e));n=h.2w.1nz;f=n.3k;n=n.7e;1d z=n.8o,w=n.10S/I.1jh(f);e=I.1Rm(f,n.3J,z,w);n=h.2w.2FA;f=n.3k;n=n.7e;z=n.8o;w=n.10S/I.1jh(f);f=I.1Rm(f,n.3J,z,w);n=h.10X.5b;h=h.10X.17P===Ta.10P?1g 10Y(n.3J,n.8o,n.10S/10Y.12T):1g 12X(n.3J,n.8o,n.10S/12X.12T);e=De(e);f=De(f);h=De(h,p,p+l);l=[];p=[];n=[];z=[];w=f[h[0]];l.1q(w);n.1q(0);1j(1d x,D,t,m=h.1h,G=1;G<m;++G)x=f[h[G]],x!==w&&(D=n[n.1h-1],t=G-D,l.1q(x),p.1q(t),n.1q(G),z.1q(1g hv({2M:D,7Z:t,1ek:[w],1A:y.9r})),w=x);D=n[n.1h-1];t=m-D;p.1q(t);z.1q(1g hv({2M:D,7Z:t,1ek:[w],1A:y.9r}));D=a.1Q1;w=D.5O;x=D.5A;D=D.7W;t=g(a.2ia)?a.2ia():1p 0;a.7h=1g Bl({12p:a.1Ez,3q:e,4N:h,3e8:n,2s3:p,1ek:l,3BF:f,4dC:z,1ac:b,6W:1g P,1za:w,1z9:x,12m:D,1cH:c,16I:t,12t:1g A,5V:d});a.2gw=1p 0;a.1BB=1p 0;a.1Q1=1p 0;a.1cH=1p 0}}1b 6cO(a,b,c,d){1d e=a.27T;if(a.8C!==O.6G&&!a.3b2){1d f=A.1ed(e,3,6cR);E.2L(f,E.1xa)?(d=Da.50g(d,a.7u.2V,AQ),e=A.9b(d,e,AQ),g(a.1q2)&&(A.1Bh(e,E.1xa,e),a.1q2=a.3b4)):(e=Da.3b0(d,e,AQ),a.1q2=a.2ib)}d=a.7h;if(b||c)A.1oJ(e,a.4ea,d.12t),P.5o(d.5V,d.12t,d.11S),g(a.1q2)&&k.add(a.1q2,d.11S.2V,d.11S.2V)}1b ei(a,b){v.1N.2c("2U",a);v.1N.2b("3s",b);1a.172=b;1a.1VA=1g b5(a,1a);1a.1Rq=1p 0;1a.2P=-1}1b b5(a,b){1a.2ic=b;1a.23K=k.1y(a)}1b Cf(a){a=m(a,m.4Z);1a.1Kn=[];1a.3b9=-1;1a.2qN=!1;1a.1wK=m(a.3e,!0);1a.4a=A.1y(m(a.4a,A.8K));1a.2yu=y.1y(m(a.2yu,y.9r));1a.33s=m(a.33s,0);1a.6cN=1g sa;1a.4R0=1g sa;1a.1fq=1p 0;1d b=m(a.3o1,!1);1a.4QY=(1a.3xB=b)?c5:d5;1a.2DM=1a.3xA=1a.3xz=1p 0;a=a.1Di;if(g(a)){b=a.1h;1j(1d c=0;c<b;++c)1a.add(a[c])}}1b c5(a){1f a===Lb.1gB}1b d5(a){1f a===Lb.27N}1b e5(a,b){a.2qN=a.2qN||-1!==a.3b9&&a.3b9!==b;a.3b9=b}1b f5(a,b){1j(1d c=a.1h,d=0;d<c;++d)if(Cb.2L(a[d],b))1f d;1f-1}1b g5(a,b,c){1d d=a.3xz;a=a.1Kn;1j(1d e=0;b<c;++b){1d f=a[b],h=xb.6sY(f.2U,6cL);d[e]=h.x;d[e+1]=h.y;d[e+2]=h.z;d[e+3]=h.w;f=E.3bF(f.3s,6cM);d[e+4]=f.x;d[e+5]=f.y;d[e+6]=f.z;d[e+7]=f.w;e+=8}}1b h5(a,b,c){1d d=a.3xA;a=a.1Kn;1j(1d e=0;b<c;++b){1d f=a[b],h=f.2U;d[e]=h.x;d[e+1]=h.y;d[e+2]=h.z;d[e+3]=f.3s;e+=4}}1b i5(a,b){b.x=1k.2o(a,sb.1Ml);b.y=1k.8a(a/b.x);1f b}1b md(){}1b j5(a,b){1d c="17a."+1L.9K(a.3BT).1h,d=a.1ds,e=1L.9K(d).1h;d[e]=b;a.3BT[c]={3J:e,8o:0,10S:b.10S};1f c}1b k5(a,b,c,d){if(md.3xx){1d e=c.3b8.1PE();if(g(e)&&(a=a.1fa(e,[e.4x.3J]),g(a)))1f c.47E++,c.3b8.1xg(),a.4b(1b(a){c.47E--;1d d=a.1jk;1d f=d.5b,g=b.1ba,n=j5(g,f);g.2DU.1vp({id:n,1fe:I.2DC(f)});d=d.3ts;f={};a=a.aob;1j(1d z in a)if(a.3p(z)){1d k=a[z],x=b.1ba;g=j5(x,k.4x);x.2DV.1vp(g);k=k.2g;k.11y=g;f[z]=k}b.2PZ[e.13q+".9k."+e.9k]={11y:n,3ts:d,2w:f}})}}1b BQ(a,b,c){v.1N.4n("ao9",a);v.1N.4n("ao8",b);v.1N.4n("ao7",c);1f"    1o 2GC = 1Ii(4u, "+a+", "+b+"); \\n    1m 25m = 1m(1.0); \\n    25m.2y = "+c+".2y; \\n    1o 2kx = "+c+".a; \\n    if (2GC > 0.0 && 2GC < 2kx) \\n    { \\n        2C = 25m;\\n    } \\n"}1b MH(a,b){v.1N.2c("ao6",a);v.1N.2c("1O",b);1d c=a.3o1,d=a.1h,e=Cf.46U(b);b=Cf.6cI(a,b,6cE);a=b.x;b=b.y;e?(b=1/b,e=1/a+"",-1===e.3f(".")&&(e+=".0"),b+="",-1===b.3f(".")&&(b+=".0"),a="1m 4e8(2v 3BU, 7P 3BW, 5w 5o)\\n{\\n    7P 3em = 3BW / "+a+";\\n    7P 4e9 = 3BW - (3em * "+a+");\\n    1o u = (1o(4e9) + 0.5) * "+e+";\\n    1o v = (1o(3em) + 0.5) * "+b+";\\n    1m 12w = 1Y(3BU, 1v(u, v));\\n    1f 3eQ(12w, 5o);\\n}\\n"):(b=1/b,e=1/a+"",-1===e.3f(".")&&(e+=".0"),b+="",-1===b.3f(".")&&(b+=".0"),a="1m 4e8(2v 3BU, 7P 3BW, 5w 5o)\\n{\\n    7P 56N = 3BW * 2;\\n    7P 3em = 56N / "+a+";\\n    7P 4e9 = 56N - (3em * "+a+");\\n    1o u = (1o(4e9) + 0.5) * "+e+";\\n    1o v = (1o(3em) + 0.5) * "+b+";\\n    1m 3BV = 1Y(3BU, 1v(u, v)) * 255.0;\\n    1v 565 = 1v(3BV.x * 256.0 + 3BV.y, 3BV.z * 256.0 + 3BV.w);\\n    1m 12w;\\n    12w.1H = 1gT(565, 1a6.0);\\n    12w.w = 2su(1Y(3BU, 1v(u + "+e+", v)));\\n    1f 3eQ(12w, 5o);\\n}\\n");1f c=a+"\\n"+(c?"1o 1Ii(1m 2bK, 2v 1cj, 5w 4e7)\\n{\\n    1m 1K = 1az(2bK);\\n    1w 2FD = 1w(0.0);\\n    1w 3el = 1w(0.0);\\n    1o 2FC;\\n    1o 2sL = 1dv(1K);\\n    7d 56M = 16f;\\n    1j (7P i = 0; i < "+d+"; ++i)\\n    {\\n        1m 1NU = 4e8(1cj, i, 4e7);\\n        2FD = 1NU.1H;\\n        3el = -1NU.w * 2FD;\\n        1o 2Sx = 2A(2FD, (1K.1H - 3el)) / 2sL;\\n        2FC = 15B(i == 0, 2Sx, 2o(2Sx, 2FC));\\n        if (2Sx <= 0.0)\\n        {\\n           56M = 8O;\\n           1W;\\n        }\\n    }\\n    if (56M) {\\n        7o;\\n    }\\n    1f 2FC;\\n}\\n":"1o 1Ii(1m 2bK, 2v 1cj, 5w 4e7)\\n{\\n    7d 12P = 8O;\\n    1m 1K = 1az(2bK);\\n    1w 2FD = 1w(0.0);\\n    1w 3el = 1w(0.0);\\n    1o 2FC = 0.0;\\n    1o 2sL = 1dv(1K);\\n    1j (7P i = 0; i < "+d+"; ++i)\\n    {\\n        1m 1NU = 4e8(1cj, i, 4e7);\\n        2FD = 1NU.1H;\\n        3el = -1NU.w * 2FD;\\n        1o 2Sx = 2A(2FD, (1K.1H - 3el)) / 2sL;\\n        2FC = 1V(2Sx, 2FC);\\n        12P = 12P && (2Sx <= 0.0);\\n    }\\n    if (12P)\\n    {\\n        7o;\\n    }\\n    1f 2FC;\\n}\\n")}1b $r(){}1b l5(a,b){1d c=a.12b,d=c.1mx[b.11y];c=c.1ds[d.3J];d=d.8o+b.8o;b=b.7Z*zl(b.1I);c=6cD.6S(c.1dr)?"":c.1dr;1f a.1jc+"//"+c+"/"+d+"/"+b}1b NH(a){1a.6j=a}1b CQ(a,b,c){1a.6X=c.2i;1a.1GW=M.1y(a.18M);1a.3QB=m(a.1Jr,0);1a.4QQ=a.1cU;1a.4QN=m(a.4QN,!1);1a.2qM=m(a.16W,1);1a.6cA=m(a.1e1,!1);1a.1Rp=m(a.1qB,kv.6i);1a.4I=1g sa;1a.2H=1g sa;1a.4U=1g sa;1a.19i=gy.46N;1a.6cz=c;1a.1oi=1a.46O=1p 0;1d d=1a;1a.6cy=1b(){d.4I.5k(b,d)};1a.4QP=0;1a.6cw=1b(){d.2H.5k(b,d,d.4QP)};1a.6cv=1b(){d.4U.5k(b,d)}}1b io(a){1a.6H4=1g sa;1a.46P=1g sa;1a.13O=a;1a.2qL=[];1a.2f4=1p 0}1b DQ(a,b,c){1d d=a.13O;b=1g CQ(c,d,d.1mv.1QX[b]);a.2qL.1q(b);a.6H4.5k(d,b);1f b}1b 6cu(a,b,c){1f 1b(){a.46P.5k(b,c)}}1b ZB(a,b,c){1a.6X=b.2i;1a.7R=c;1a.1cH=a.2zn[c];1a.14z=1a.2ir=1a.4e5=1p 0}1b EQ(a,b,c){1j(1d d=[],e=a.13y,f=e.1h,h=0;h<f;++h)d[h]=b[e[h].2q];1a.6X=a.2i;1a.3xw=d;1a.7R=c}1b OH(a,b,c,d,e){1a.13O=a;1a.6cs=c;1a.6X=b.2i;1a.7R=d;1a.4QM=!1;1a.10T=!0;1a.3xu=A.1y(e);1a.6cr=A.1y(e)}1b lv(a){a=m(a,m.4Z);1a.4c=a.4c;1a.5A=a.5A;1a.2z=a.2z;1a.4J=a.4J;1a.1v8=a.1v8;1a.3rB=a.3rB;1a.2JI=a.2JI;1a.2xI=m(a.2xI,!1);1a.6t=ma.3R2;1a.7H=a.7H}1b Cl(a){1a.10z=a;1a.3xr=1a.11V=1a.16z=1a.46L=1a.10q=1a.46M=1a.3xt=1p 0;1a.4y=1a.1R4=!1;1a.7S=Z.12L()}1b 6ci(a){1d b=Ra.12S({1O:a,5b:6ck,7Q:xa.7C}),c=Ra.12S({1O:a,5b:m5,7Q:xa.7C}),d=Ra.17Q({1O:a,5b:6cj,7Q:xa.7C,17P:Ta.10P});1f 1g Fb({1O:a,2w:[{2P:0,7e:b,2Z:2,3k:I.3O},{2P:1,7e:c,2Z:3,3k:I.3O}],10X:d})}1b n5(a){1f 1b(){1f a}}1b FQ(a){a.16z=a.16z&&a.16z.1M();a.11V=a.11V&&a.11V.1M();1d b,c=a.46M;if(g(c)){1d d=c.1h;1j(b=0;b<d;++b)c[b].1M()}c=a.46L;if(g(c))1j(d=c.1h,b=0;b<d;++b)c[b].1M();a.16z=1p 0;a.11V=1p 0;a.46M=1p 0;a.3xt=1p 0;a.46L=1p 0}1b o5(a){ia.1d8(a,1b(a){$B(a)});ia.3J(a,1b(a){$B(a)});ia.4d(a,1b(a){$B(a);ia.3bn(a,1b(a){$B(a)})});$B(a);1f a}1b $B(a){g(a.19q)&&(g(a.19q.1mw)&&4Y a.19q.1mw,0===1L.9K(a.19q).1h&&4Y a.19q)}1b aC(a){1a.2PW=a.12b;1a.3o=a.3o;1a.3xq=[];1a.7Z=0}1b fg(a){a=m(a,m.4Z);1d b=a.1jc;1a.1Gr=b;1a.2qJ=1p 0;1a.6ch=m(a.46z,!1);if(g(b)&&g(as[b])&&as[b].3o){1d c=as[b];++c.7Z}1s{1d d=a.12b;g(d)&&(d 2m 1aq&&(d=1g 4L(d)),d 2m 4L?(c=zH(d),c=1g aC({12b:c,3o:!0})):c=1g aC({12b:a.12b,3o:!0}),c.7Z=1,g(b)&&(as[b]=c))}1a.2qJ=c;b=m(a.1Nz,"");1a.12o=na.14m(b);1a.2p=m(a.2p,!0);1a.1rE=m(a.1rE,y.1PZ);1a.44R=1g y;1a.56y=1;1a.3xk=1p 0;1a.1Nw=m(a.1Nw,0);1a.4a=A.1y(m(a.4a,A.8K));1a.12t=A.1y(1a.4a);1a.1VY=1p 0;1a.13V=1a.3b=m(a.3b,1);1a.3vG=1a.1BI=m(a.1BI,0);1a.3vF=1a.1BH=a.1BH;1a.7R=1a.id=a.id;1a.1c1=1a.6N=m(a.6N,bb.6i);1a.3xj=!1;1a.2DE=1p 0;1a.2R=b=a.4r;g(b)&&g(b.27d)&&(1a.46s=b.27d.7K(1b(){1a.3xj=!0},1a));1a.56m=a.31Y;1a.2PO=m(a.1sV,!0);1a.4y=!1;1a.7S=Z.12L();1a.39V=1g io(1a);1a.1VZ=m(a.1VZ,!0);1a.1u0=1p 0;1a.2Pb=m(a.1Kg,!0);1a.2hN=m(a.17X,!0);1a.1kK=1a.6x=m(a.6x,ed.2hT);1a.1A=m(a.1A,y.9r);1a.7a=1g y;1a.56z=1;1a.1qt=m(a.1qt,Qp.2dR);1a.1Nv=m(a.1Nv,.5);1a.4Qo=!1;1a.1cX=1p 0;1a.1cj=a.1cj;1a.26T=0;1a.1W6=1p 0;1a.15S=m(a.15S,!1);1a.1Wp=!1;1a.1gj=m(a.1gj,!1);1a.29R=!1;1a.17y=a.4S;1a.6c1=a.3xo;1a.2PQ=a.567;1a.2s6=a.2s4;1a.3eb=a.2Fh;1a.1WR=a.2iU;1a.2ia=a.2iT;1a.3b2=m(a.23z,!1);1a.34j=a.2zx;1a.23F=m(a.1wf,Pe.Y);1a.4QH=Pe.Z;1a.3b6=a.2DF;1a.8d=m(a.8d,!0);1a.2s5=m(a.2s5,ma.18W);1a.27T=1g A;1a.4Qp=A.1y(A.8K);1a.2w5=1a.2w6=1a.5V=1a.2w7=1p 0;1a.46J=1g P;1a.19i=jo.2DD;1a.8C=1a.1ba=1p 0;1a.1g6=1a.46x=1a.46u=!1;1a.3xv=0;1a.1mv={1QX:1p 0,4e1:1p 0,1ci:1p 0,4QE:1p 0,56B:1p 0,46G:1p 0,4QD:1p 0,2Sw:1p 0};1a.2zn={};1a.2DJ=1a.23w=1p 0;1a.3eh={};1a.3BS={};1a.1r8={1ds:{},29L:{},1jY:{},29M:{},1Rn:{},1fb:{},1Hf:{},2DG:{}};1a.29K=1p 0;1a.2DH=!1;1a.29N=m(a.4QW,!0);1a.2PZ={};1a.1Wb=1a.35L=1a.1qV=1a.46H=1a.46I=0;1a.2j1={};1a.3BR={};1a.3xi={};1a.1Wf=[];1a.1zT=[];1a.3b4=1a.2ib=1a.3xp=1a.1q2=1p 0;1a.6bP=a.ao5;1a.3xm=1a.3xn=1p 0;1a.1sQ=1g C(1,1);C.1y(a.1fH,1a.1sQ);1a.1r0=k.1y(a.18V);1a.3b5=1p 0;1a.1rJ=m(a.1rJ,.5);1a.1K4=a.1mr;1a.22B=a.1mq;1a.46y=!0;1a.1gQ=1p 0;1a.1Hd=1a.2qF=1a.2qG=!1}1b GQ(a){1f!y.2L(a.1A,y.9r)||a.1qt!==Qp.2dR}1b p5(a){a=a.1cX;1f g(a)&&a.3e&&0!==a.1h}1b HQ(a,b,c){if(a.19i!==jo.1e5)1t 1g r("9B 12W is 2S 1aw.  1c7 25N.9c or 11i 1j 25N.3o to be 8O.");if(!g(c))1t 1g r("2i is 1X.");1f a.1mv[b][c]}1b 6c0(a){1d b=a.1ba;ia.3J(a.12b,1b(a,d){b.1ds[d]=a.19q.1mw.5j})}1b 6c3(a,b){1f 1b(c){1d d=a.1ba;c=1g 4L(c);--d.1Wg;a.12b.1ds[b].19q.1mw.5j=c}}1b 6bY(a){1d b=a.12b.1mx,c=a.1ba.2DV;ia.11y(a.12b,1b(a,b){a.15s===H.1Q4&&c.1vp(b)});1d d=a.1ba.2DU,e={};ia.1Rv(a.12b,1b(a){1d c=a.11y;g(c)&&b[c].15s===H.1GV&&!g(e[c])&&(e[c]=!0,d.1vp({id:c,1fe:a.1fe}))})}1b 6bZ(a){1d b=a.12b;if(Ej(b,"1gk")){1d c=a.3BR,d=a.2j1,e=b.10x.1gk.1jY;ia.1jn(b,1b(a,b){d[b]=wc(a);a=a.1bb;g(c[a])||(c[a]=wc(e[a]))})}}1b 6H3(a,b,c){1f 1b(d){1d e=a.1ba;e.1xI[c]={5j:d,1I:b,11y:1p 0};--e.2PS;a.1r8.29M[c]=d}}1b 6bX(a){1d b=a.12b,c=b.1ds,d=b.1mx,e=a.1r8.29M;ia.1d8(b,1b(b,h){if(g(b.11y))b=d[b.11y],b=Me(c[b.3J].19q.1mw.5j,b.8o,b.10S),e[h]=b;1s if(g(b.19q.1mw.5j))e[h]=b.19q.1mw.5j;1s{++a.1ba.2PS;1d f=a.12o.16M({2I:b.1dr});f.34o().4b(6H3(a,b.1I,h)).10g(Xa.2PT(a,"1d8",f.2I))}})}1b 6bW(a){1d b=a.2j1,c;1j(c in b)b.3p(c)&&a.1ba.3xU.1vp({4dU:b[c].1bb,6H2:c})}1b IQ(a,b){1f 1b(c){1d d=a.1ba;--d.2DK;d.3xW.1vp({id:b,4d:c,11y:c.11y,1G:c.1G,1D:c.1D,2gm:c.2gm})}}1b 6bV(a,b,c){1d d=a.12b,e=d.1lw,f;ia.7y(d,1b(d,l){1d h=d.5j;g(d.10x)&&g(d.10x.47u)&&c&&(h=d.10x.47u.5j);1d n=e[h],z=n.19q;d=n.11y;h=n.1WS;f=n.1dr;if(g(z)&&g(z.3bp)){n=z.3bp.3t4;1d k=z.3bp.1TY,x=z.3bp.ao4;z=z.3bp.279;b.1TY&&g(n)?(h=n.1WS,g(n.11y)?d=n.11y:f=n.1dr):b.1TY&&g(k)?(h=k.1WS,g(k.11y)?d=k.11y:f=k.1dr):b.27a&&g(x)?(h=x.1WS,g(x.11y)?d=x.11y:f=x.1dr):b.279&&g(z)&&(h=z.1WS,g(z.11y)?d=z.11y:f=z.1dr)}g(d)?a.1ba.3xV.1vp({id:l,4d:1p 0,11y:d,1WS:h}):(++a.1ba.2DK,d=a.12o.16M({2I:f}),(6cf.6S(f)?Iu(d):6ce.6S(f)?Mx(d):d.1jN()).4b(IQ(a,l)).10g(Xa.2PT(a,"4d",d.2I)))})}1b 6bS(a){1d b={},c={},d=[],e=a.1ba.56K;ia.17t(a.12b,1b(f,h){1d l={8W:1p 0,14L:1p 0,5S:1p 0,3b:1p 0,4e0:!0,2FB:1g A,23G:1g A,2DL:0,1qJ:[],1Rw:1p 0,2Sv:1p 0,2qU:[],56A:[],3ek:f.3ek,1cx:[],9d:[],26O:[],2PV:1p 0};l.2PV=1g OH(a,f,l,h,Xa.2J7(f));b[h]=l;c[f.2i]=l;g(f.1vO)&&(e.1q(h),d.1q(l))});a.1mv.1ci=b;a.1mv.4QE=c;a.1mv.56B=d}1b 6bU(a){1d b=a.2j1,c={},d={},e=a.2zn;ia.2q(a.12b,1b(f,h){e[h]={4J:1p 0,2a:1p 0,3ej:1p 0,3ei:1p 0};1d l=1g ZB(a,f,h);if(g(f.10x)&&g(f.10x.1gk)){1d p=f.10x.1gk.1jn;l.4e5=p;l.2ir=b[p].1bb;ia.3y0(f,1b(a,b){g(l.14z)||(l.14z={});l.14z[b]=wc(a)})}c[f.2i]=l;d[h]=l});a.1mv.4QD=c;a.1mv.2Sw=d}1b 6bT(a){1d b={},c=a.1mv.2Sw;ia.13q(a.12b,1b(d,e){b[d.2i]=1g EQ(d,c,e);(g(a.1r9.1Wk)||a.29N)&&ia.1zU(d,1b(b,c){1d d=JQ(a,b),f=a.3BS[d];g(f)||(f={},a.3BS[d]=f);f[e+".9k."+c]=b})});a.1mv.46G=b}1b q5(a,b,c){1d d=b.1ba,e=b.12b.1mx[a];g(e)||(e=d.3BT[a]);c=Ra.12S({1O:c,5b:d.2pA(e),7Q:xa.7C});c.1hU=!1;b.1r8.1ds[a]=c;b.1qV+=c.18Q}1b r5(a,b,c,d){1d e=c.1ba,f=c.12b.1mx[a];g(f)||(f=e.3BT[a]);b=Ra.17Q({1O:d,5b:e.2pA(f),7Q:xa.7C,17P:b});b.1hU=!1;c.1r8.1ds[a]=b;c.1qV+=b.18Q}1b JQ(a,b){a=a.1mv.2Sw[b.2q];if(g(a))1f a.2ir}1b s5(a,b,c){1d d=c.3BS[b];if(!g(d))1f a;1j(1d e in d)if(d.3p(e)){1d f=d[e];if(JQ(c,f)===b)1W}d=a;c.1r9.1Wk?(d=Xa.4Re(c.12b,f,a),c.3eh[b]=d.6H):(e=c.2PZ[e],g(e)&&(d=Xa.6e3(c.12b,f,a,e.2w)));c.3BS[b]=1p 0;1f d.1d8}1b bC(a,b,c){g(c)&&(a=c(a,b));1f a}1b t5(a,b,c){0<a.1hp.21G.1h&&(c="2n 1w 24N[ 1gn ]; \\1B 1w 2Gg[ 1gn ]; \\n"+c);0<a.1hp.21F.1h&&(c="2n 1w 1w9[ 1dY ]; \\1B 1w 1Sr[ 1dY ]; \\1B 1w 24M[ 1dY ]; \\n"+c);0<a.1hp.1JL.1h&&(c="2n 1o 2t9[ 19w ]; \\1B 1m 1p6[ 19w ]; \\1B 1w 2Gf[ 19w ]; \\1B 1w 24L[ 19w ]; \\1B 1w 1Sq[ 19w ]; \\n"+c);b="#2f 1gn "+a.1hp.21G.1h+"\\n"+b;c="#2f 1gn "+a.1hp.21G.1h+"\\n"+c;b="#2f 1dY "+a.1hp.21F.1h+"\\n"+b;c="#2f 1dY "+a.1hp.21F.1h+"\\n"+c;b="#2f 19w "+a.1hp.1JL.1h+"\\n"+b;c="#2f 19w "+a.1hp.1JL.1h+"\\n"+c;1f{vs:b,fs:c}}1b u5(a,b,c,d){1d e=a.4dU;a=a.6H2;1d f=b.3BR[e],h=b.1r8.29M,l=h[f.23M];h=h[f.1cm];1d p=b.3xi;f=b.56v[e];if(b.1r9.1Wk||b.29N){1d n=p[e];g(n)||(n=s5(l,e,b),p[e]=n);l=n}l=bC(l,e,b.2s6);h=bC(h,e,b.3eb);Nc.2Du()||(l=Xa.47r(l,f),h=Xa.47s(h));g(b.1WR)||(h="2n 1m 1Hn;\\n"+h);(f=0<b.1sQ.x||0<b.1sQ.y)&&(h="#2f 2tS \\n\\n"+h);g(b.1r0)&&(h="#2f 56s \\n\\n"+h);d=t5(d,l,h);l=d.vs;h=d.fs;if("2.0"!==b.3xn||b.3xm)h=ja.1gF(h,"4dZ"),h+="\\2s 2k() { \\n    4dZ(); \\n    2C = 9D(2C); \\n} \\n";if(Cl.1op(c)){d=g(b.1K4)||b.2qG;p=g(b.1gQ)&&b.1gQ.3o||b.2qF;if(d||p||f)h="2n 5w 1RW; \\n"+h;g(b.1K4)?h="#2f 2Su \\n#2f 56r \\1B 1w 4dY[9]; \\n"+h:b.2qG&&(h="#2f 2Su \\n"+h);g(b.1gQ)&&b.1gQ.3o?h="#2f 2St \\n#2f 56q \\1B 2v 4dX; \\1B 1v 4dW; \\1B 1o 3BQ; \\n"+h:b.2qF&&(h="#2f 2St \\n"+h)}g(b.3b5)&&(h="#2f 2bO \\1B 1o 4dV;\\n"+h);v5(e,a,h,l,b,c)}1b v5(a,b,c,d,e,f){b=Xa.2JJ(e.2j1[b],e.2PQ);e.1r8.1jY[a]=Ga.4t({1O:f,5O:d,5A:c,7W:b})}1b 6GT(a,b){1f 1b(c){a.3xW.1vp({id:b.id,4d:c,11y:1p 0});--a.47F}}1b 6GU(a){1d b=a.1ba;if(b.56L){b.56L=!1;1d c=a.1r8.1Hf;ia.10v(a.12b,1b(a,b){c[b]=1g Eb({18i:a.18i,18h:a.18h,14A:a.ao3,15u:a.ao2})})}}1b w5(a,b,c){1d d=b.12b.1fb[a.id],e=b.1r8.1Hf[d.10v];e=m(e,1g Eb({18i:Ka.1av,18h:Ka.1av}));1d f=a.2gm,h=!(g(f)&&ua.2gl(f))&&(e.14A===nb.2r6||e.14A===nb.2QE||e.14A===nb.2Cp||e.14A===nb.1Qv),l=h||e.18i===Ka.1av||e.18i===Ka.2qK||e.18h===Ka.1av||e.18h===Ka.2qK,p=a.4d;if(g(f))1d n=1g Ca({1O:c,5j:{1a9:a.11y},1G:a.1G,1D:a.1D,8b:f,10v:e});1s g(p)&&(f=!B.1Gu(p.1G)||!B.1Gu(p.1D),l&&f&&(l=3n.4O("3M"),l.1G=B.3QR(p.1G),l.1D=B.3QR(p.1D),l.1ft("2d").1DA(p,0,0,p.1G,p.1D,0,0,l.1G,l.1D),p=l),n=1g Ca({1O:c,5j:p,8b:d.2gm,10E:d.1I,10v:e,13E:!1}),h&&n.1zs());g(n)&&(b.1r8.1fb[a.id]=n,b.35L+=n.18Q)}1b 6H0(a,b){1d c=a.2j1,d={},e;b=a.1mv.2Sw[b.2q];if(!g(b))1f d;b=c[b.4e5];if(!g(b))1f d;c=b.2w;b=a.1r8.1jY[b.1bb];1d f=b.19h,h=b.12m;1j(e in f)if(f.3p(e)){1d l=c[e];g(l)&&(b=h[e],d[l.17V]=b)}a=a.2PQ;if(g(a))1j(e in a)a.3p(e)&&(b=h[e],d[e]=b);1f d}1b 6H1(a,b){1d c=a.12b,d=c.2DX;c=c.1ci;1d e=a.1mv.1ci;a=a.1ba.56K;1j(1d f=a.1h,h=0;h<f;++h){1d l=a[h],p=e[l];l=c[l];1d n=b[l.1vO];p.1Rw=n.1Rw;p.2Sv=n.2Sv;n=[];1d z=d[l.1vO];g(z.2qT)&&n.1q(z.2qT);z=c;1j(1d k=n.1h,x={},D=0;D<k;++D)1j(1d t=[n[D]];0<t.1h;){1d m=t.9l(),G=z[m];g(G)&&(x[m]=m);m=G.9d;if(g(m)){G=m.1h;1j(1d aa=0;aa<G;++aa)t.1q(m[aa])}}n=x;l=d[l.1vO].2qU;z=l.1h;1j(k=0;k<z;++k)p.2qU.1q(e[n[l[k]]])}}1b 6GS(a){1d b=a.1ba;if(0===b.1Wg&&b.56J){b.56J=!1;b=a.12b;1d c=b.1nI,d={};ia.1vO(b,1b(b,f){1d e=c[b.1Rw],l;A.2L(b.2Sv,A.8K)||(l=A.1y(b.2Sv));d[f]={1Rw:$r.6cB(a,e),2Sv:l}});6H1(a,d)}}1b $ra(a,b,c,d){1f 1b(e){g(d)&&(e=a.1VZ?d.1Wh(e):d.1Wi(e),b[c]=d.3x(e,b[c]),b.2DL=a.3xv)}}1b asa(a){1d b=a.1ba;if(b.6ec()&&b.56I){b.56I=!1;a.1mv.1QX=[];1d c=a.1mv.1ci,d=a.12b.1nI;ia.15R(a.12b,1b(b,f){1j(1d e=b.1SQ,l=b.1Hf,g=3a.6w,n=-3a.6w,z=e.1h,k=2K(z),x=0;x<z;++x){1d D=e[x],t=D.15s,m=t.9w,G=l[D.10v],aa=$r.4QU(a,d[G.15d]),r=$r.4QU(a,d[G.1jU]);g=1k.2o(g,aa[0]);n=1k.1V(n,aa[aa.1h-1]);D=$r.6cC(a,f,b,D.10v,G,aa,m,r);k[x]=$ra(a,c[t.17t],t.9w,D)}a.1mv.1QX[f]={2i:b.2i,18M:g,1cU:n,6cx:k}})}}1b x5(a,b){1d c=a.1ba;if(c.4Rm()&&c.4Rl()&&c.56H){c.56H=!1;1d d=a.1r8.1ds,e=a.1r8.29L,f=a.12b,h=f.1nI;ia.13q(f,1b(c,p){ia.1zU(c,1b(c,l){1d n=[],z=6H0(a,c),k=a.2PZ[p+".9k."+l];ia.2ij(c,1b(a,b){G=z[b];if(g(G)){if(g(k)){1d c=k.2w;if(c.3p(b)){a=c[b];n.1q({2P:G,7e:d[a.11y],2Z:a.2Z,3k:a.3k,1T:a.1A7,9n:a.8o,9t:a.1NO});1f}}a=h[a];b=g(a.1A7)&&a.1A7;n.1q({2P:G,7e:d[a.11y],2Z:zl(a.1I),3k:a.1fe,1T:b,9n:a.8o,9t:Np(f,a)})}});1d t,m=a.2PQ;if(g(m))1j(t in m)if(m.3p(t)){1d G=z[t];if(g(G)){1d aa=m[t];aa.2P=G;n.1q(aa)}}if(g(c.4N)){c=h[c.4N].11y;g(k)&&(c=k.11y);1d r=d[c]}e[p+".9k."+l]=1g Fb({1O:b,2w:n,10X:r})})})}}1b 6GR(a){1d b=a.1ba;b.56G&&(b.56G=!1,ia.2q(a.12b,1b(b,d){1d c=a.1r8.2DG,f=[H.28A,H.28A],h=[H.1ip,H.3bo,H.1ip,H.3bo];g(b.10x)&&g(b.10x.3bj)&&(f=b.10x.3bj.2N6,h=b.10x.3bj.6GZ);1d l="24Z"===b.2gR;c[d]=pa.4t({8d:{3e:!b.1QG},9J:{3e:!0},13Q:!l,12e:{3e:l,1Gq:f[0],1Gp:f[1],1Go:h[0],1B7:h[1],1Gn:h[2],1B6:h[3]}})}))}1b 6GW(a,b,c,d,e,f,h){1d l={},p={},n,z;ia.2DT(c,1b(c,k){if(g(d)&&g(d[k]))c=Xa.47p(c.1I,d[k],f,h,c.4e6),l[k]=c.14R,p[k]=c;1s if(g(c.17t))c=6cd[c.17V](e.13m,a,a.1mv.1ci[c.17t]),l[k]=c;1s if(g(c.17V))if("56F"===c.17V)n=k;1s if("6GY"===c.17V)z=k;1s if("6GX"===c.17V){1d w=b.2gR;g(w)&&"2Vi"===w&&(w=m(b.3Zx,.5),c=Xa.47p(c.1I,w,f,h,c.4e6),l[k]=c.14R,p[k]=c)}1s l[k]=Xa.3ba()[c.17V](e.13m,a);1s g(c.1Q)&&(c=Xa.47p(c.1I,c.1Q,f,h,c.4e6),l[k]=c.14R,p[k]=c)});1f{5d:l,2a:p,3ej:n,3ei:z}}1b 6GQ(a,b){1d c=a.1ba;if(c.4Rl()&&c.56D){c.56D=!1;1d d=a.2j1,e=a.2zn,f=a.1r8.1fb,h=a.1u0;ia.2q(a.12b,1b(c,g){1d l=a.1mv.2Sw[g];c=6GW(a,c,d[l.4e5],l.14z,b,f,h);g=e[g];g.4J=c.5d;g.2a=c.2a;g.3ej=c.3ej;g.3ei=c.3ei})}}1b 6GA(a){1f 1b(){1f a}}1b 6GP(a){1f 1b(){1f a.56A}}1b 6GO(a){1f 1b(){1f a.1cx}}1b 6Gy(a){1f 1b(){1f a.1rE}}1b 6Gx(a){1f 1b(){1f a.1Nw}}1b 6GN(a){1f 1b(){1f a.1A}}1b 6GJ(a){1f 1b(){1d b=a.1cj;if(!g(b)&&!g(a.1K4)&&!g(a.22B))1f A.8K;b=g(b)?b.4a:A.8K;1f A.9b(a.4Qp,b,6c9)}}1b 6GL(a){1f 1b(){1d b=a.1cj;1f g(b)&&b.3e?b.7y:a.1u0}}1b 6GK(a){1f 1b(){1d b=a.1cj;if(!g(b))1f y.9r.2on(0);1d c=y.1y(b.2yu);c.2O=b.33s;1f c}}1b 6GM(a){1f 1b(){1f Qp.6cH(a.1qt,a.1Nv)}}1b 6GI(a){1f 1b(){1f a.1sQ}}1b 6GG(a){1f 1b(){1f a.1r0}}1b 6GB(a){1f 1b(){1f a.1rJ}}1b 6GF(a){1f 1b(){1f a.1K4}}1b 6GE(a){1f 1b(){1f a.1gQ.7y}}1b 6GD(a){1f 1b(){1f a.1gQ.7y.6e}}1b 6GC(a){1f 1b(){1f a.1gQ.3xs}}1b y5(a,b){1d c=b.1O,d=b.1fw,e=a.3xi,f=a.56v={},h=a.2j1,l=a.3BR,p=a.1r8,n=p.29M;a.2DH&&(n=p.29M=a.29K.29M);1j(1d z in h)if(h.3p(z)){1d w=h[z].1bb,x=l[w],D=n[x.23M];Xa.4Rf(x.6GV,c);if(a.1r9.1Wk||a.29N){1d t=e[w];g(t)||(t=s5(D,w,a),e[w]=t);D=t}D=bC(D,w,a.2s6);f[w]=Xa.6e1(a.12b,D)}if(a.2DH){1d m=a.29K;p.1ds=m.1ds;p.29L=m.29L;p.1jY=m.1jY;p.1Rn=m.1Rn;p.1fb=m.1fb;p.1Hf=m.1Hf;p.2DG=m.2DG;g(a.2PQ)&&x5(a,c);1d G=a.46I,aa=m.1ds,r=0,q;1j(q in aa)aa.3p(q)&&(r+=aa[q].18Q);a.46I=G+r;1d u=a.46H,v=m.1fb,y=0,B;1j(B in v)v.3p(B)&&(y+=v[B].18Q);a.46H=u+y}1s{1d L=a.1ba;if(0===L.1Wg){1d S=b.1O,C=L.2DV,R=L.2DU;if(a.17X){1j(;0<C.1h;){z5.1C(C.1PE(),a,S);if(!b.1Ul.5P(z5,eh.2pr))1W;C.1xg()}1j(;0<R.1h;){1d V=R.1PE();A5.1C(V.id,V.1fe,a,S);if(!b.1Ul.5P(A5,eh.2pr))1W;R.1xg()}}1s{1j(;0<C.1h;)q5(C.1xg(),a,S);1j(;0<R.1h;)V=R.1xg(),r5(V.id,V.1fe,a,S)}}1d W=a.1ba,da=W.3xU;if(0===W.2PS&&0===W.1Wg){1d ea=b.1O;if(a.17X)1j(;0<da.1h;){B5.1C(da.1PE(),a,ea,b);if(!b.1Ul.5P(B5,eh.46R))1W;da.1xg()}1s 1j(;0<da.1h;)u5(da.1xg(),a,ea)}6GU(a);1d Sa=a.1ba;if(0===Sa.1Wg)1j(;0<Sa.3xV.1h;){1d E=Sa.3xV.1xg(),dc=a.12b.1mx[E.11y],F=Xa.2PT(a,"4d","id: "+E.id+", 11y: "+E.11y);if("4d/32t"===E.1WS)Iu(Sa.2pA(dc)).4b(IQ(a,E.id)).10g(F),++a.1ba.2DK;1s if("4d/32s"===E.1WS)Mx(Sa.2pA(dc)).4b(IQ(a,E.id)).10g(F),++a.1ba.2DK;1s{1d Ob=6GT(Sa,E);CB({2f9:Sa.2pA(dc),8V:E.1WS,13E:!1}).4b(Ob).10g(F);++Sa.47F}}1d vd=b.1O,uc=a.1ba.3xW;if(a.17X)1j(;0<uc.1h;){C5.1C(uc.1PE(),a,vd);if(!b.1Ul.5P(C5,eh.1uL))1W;uc.1xg()}1s 1j(;0<uc.1h;)w5(uc.1xg(),a,vd)}6GS(a);asa(a);a.2DH||(x5(a,c),6GR(a));6GQ(a,c);1d sc=a.1ba;if(sc.46A()&&sc.56C){sc.56C=!1;1j(1d cd=[],mc=a.1mv.1ci,Xb=a.12b,ld=Xb.1ci,ae=Xb.2DX,I=Xb.2eA[Xb.4r].1ci,H=I.1h,J=[],M={},N=0;N<H;++N){J.1q({4e3:1p 0,4e2:ld[I[N]],id:I[N]});1j(1d O=[];0<J.1h;){1d Q=J.9l();M[Q.id]=!0;1d T=Q.4e3,be=Q.4e2,Z=mc[Q.id];if(0===Z.26O.1h)if(g(be.8W))Z.8W=A.2ii(be.8W);1s{1d ba=be.5S;Z.14L=k.7j(be.14L);Z.5S=ca.5f(ba);Z.3b=k.7j(be.3b)}g(T)?(T.9d.1q(Z),Z.26O.1q(T)):cd.1q(Z);if(g(be.13q))1j(1d X=a,Y=Z,Mf=c,ha=d,ia=b,ff=X.1Wf,Kc=X.1zT,fa=X.1sV,Ce=X.1mv.46G,ja=X.1r8,pa=ja.29L,la=ja.1jY,qa=ja.2DG,na=X.2zn,sa=X.12b,ta=sa.1nI,ua=be.13q,wa=sa.1vY[ua],va=wa.13y,ra=va.1h,ya=0;ya<ra;++ya){1d xa=va[ya],Aa=ta[xa.4N],Ca=X.1mv.2Sw[xa.2q].2ir,za=X.2PZ[ua+".9k."+ya],Da=xa.2w.1nz;if(g(Da)){1d Ba=Xa.47v(sa,Da);1d Ha=P.2fX(k.7j(Ba.2o),k.7j(Ba.1V))}1d Ia=pa[ua+".9k."+ya];if(g(za)){1d Pa=za.3ts;1d Ka=0}1s g(Aa)?(Pa=Aa.7Z,Ka=Aa.8o/Ta.1jh(Aa.1fe)):(Pa=ta[xa.2w.1nz].7Z,Ka=0);1d La=X,Na=X.1Wb;b:6U(xa.3z){1S Ja.11G:1d Ra=Pa/3;1W b;1S Ja.2rC:1S Ja.2iI:Ra=1k.1V(Pa-2,0);1W b;4T:Ra=0}La.1Wb=Na+Ra;1d Ga=na[xa.2q],Ma=Ga.4J;if(g(Ga.3ej)){1d Ua={};Ua[Ga.3ej]=6GP(Y);Ma=fb(Ma,Ua)}if(g(Ga.3ei)){1d Va={};Va[Ga.3ei]=6GO(Y);Ma=fb(Ma,Va)}Ma=fb(Ma,{3xh:6GN(X),46r:6GM(X),56u:6GL(X),56t:6GK(X),1RW:6GJ(X),4e4:6GI(X),6GH:6GG(X),4dY:6GF(X),4dX:6GE(X),4dW:6GD(X),3BQ:6GC(X),4dV:6GB(X)});Ma=fb(Ma,ia.1hp.20K());g(X.1WR)&&(Ma=X.1WR(Ma,Ca,Y));1d Za={};if(X.1r9.1Wk){1d Wa=X,bb=xa,Ya=JQ(Wa,bb);Za=Xa.4Ra(Wa.12b,bb,Wa.3eh[Ya])}1s X.29N&&g(za)&&(Za=Xa.6dZ(za.2w));Ma=fb(Ma,Za);1d ab=qa[xa.2q],Ea=ab.12e.3e,eb=X.56m;g(eb)||(eb={9k:X,id:X.id,17t:Y.2PV,13q:Ce[wa.2i]});1d kb=ed.1hR(X.1kK),hb=ed.1fC(X.1kK);if(fa&&!g(X.1WR)){1d db=Mf.1Ga(eb);Kc.1q(db);1d mb={1Hn:6GA(db.1A)};Ma=fb(Ma,mb)}fa&&(db=g(X.2ia)&&g(X.1WR)?X.2ia():"1Hn");1d sb=1g Oa({6W:1g P,8d:X.8d,4a:1g A,6Z:xa.3z,4c:Ia,7Z:Pa,2M:Ka,2z:la[Ca],1hR:kb,1fC:hb,4J:Ma,4w:ab,7H:eb,6t:Ea?ma.1bl:X.2s5,1cI:db});if(!ha){1d jb=Oa.15v(sb);jb.6W=1g P;jb.4a=1g A}1d Qa={2p:!0,7u:Ha,14Z:sb,2PR:jb,46t:1p 0,4Qm:1p 0,4Ql:1p 0,4Qk:1p 0,1kv:1p 0,4Qn:1p 0,4dU:Ca};Y.1qJ.1q(Qa);ff.1q(Qa)}1d gb=be.9d;if(g(gb))1j(1d pb=gb.1h,cb=0;cb<pb;cb++){1d nb=gb[cb];M[nb]||J.1q({4e3:Z,4e2:ld[nb],id:gb[cb]})}1d qb=be.1vO;g(qb)&&O.1q(ae[qb].2qT);if(0===J.1h)1j(1d rb=0;rb<O.1h;rb++){1d ob=O[rb];M[ob]||J.1q({4e3:1p 0,4e2:ld[ob],id:ob})}}}a.1mv.4e1=cd;a.1mv.1ci=mc}}1b D5(a,b){1d c=a.2PV,d=c.8W;c.4QM&&g(d)?A.1y(d,b):g(a.8W)?A.1y(a.8W,b):(A.2yB(a.14L,a.5S,a.3b,b),c.6cq(b))}1b 6bL(a,b,c,d){1d e=a.3xv,f=a.1mv.4e1,h=f.1h,l=E5,p=a.27T;if(a.8C!==O.6G&&!a.3b2){1d n=A.1ed(p,3,6c8);E.2L(n,E.1xa)?(n=Da.50g(d,a.7u.2V,KQ),p=A.9b(n,p,KQ),g(a.1q2)&&(A.1Bh(p,E.1xa,p),a.1q2=a.3b4)):(p=Da.3b0(d,p,KQ),a.1q2=a.2ib)}1j(n=0;n<h;++n){1d z=f[n];D5(z,z.2FB);1j(l.1q(z);0<l.1h;){z=l.9l();1d w=z.2FB,x=z.1qJ;if(z.2DL===e||b||c){1d D=A.1oJ(p,w,z.23G),t=x.1h;if(0<t)1j(1d m=0;m<t;++m){1d G=x[m],aa=G.14Z;A.1y(D,aa.4a);P.5o(G.7u,aa.4a,aa.6W);g(a.1q2)&&k.add(a.1q2,aa.6W.2V,aa.6W.2V);aa=G.2PR;g(aa)&&a.8C===O.10j&&(A.1y(D,aa.4a),aa.4a[13]-=2*B.12q(aa.4a[13])*B.PI*d.3c.17i,P.5o(G.7u,aa.4a,aa.6W))}}x=z.9d;if(g(x))1j(D=x.1h,t=0;t<D;++t){m=x[t];m.2DL=1k.1V(m.2DL,z.2DL);if(m.2DL===e||c)D5(m,m.2FB),A.1oJ(w,m.2FB,m.2FB);l.1q(m)}}}++a.3xv}1b 6bK(a){a=a.1mv.56B;1j(1d b=a.1h,c=0;c<b;++c){1d d=a[c];LQ=A.1yQ(d.2FB,LQ);1d e=d.56A,f=d.2qU,h=d.2Sv;d=d.1Rw;1j(1d l=d.1h,p=0;p<l;++p)g(e[p])||(e[p]=1g A),e[p]=A.1oJ(LQ,f[p].2FB,e[p]),e[p]=A.1oJ(e[p],d[p],e[p]),g(h)&&(e[p]=A.1oJ(e[p],h,e[p]))}}1b 6bJ(a){a=a.1mv.4e1;1j(1d b=a.1h,c=E5,d=0;d<b;++d){1d e=a[d];e.4e0=e.2PV.2p;1j(c.1q(e);0<c.1h;){e=c.9l();1j(1d f=e.4e0,h=e.1qJ,l=h.1h,p=0;p<l;++p)h[p].2p=f;e=e.9d;if(g(e))1j(h=e.1h,l=0;l<h;++l)p=e[l],p.4e0=f&&p.2PV.2p,c.1q(p)}}}1b 6bI(a,b){b=a.id;if(a.7R!==b){a.7R=b;a=a.1zT;1j(1d c=a.1h,d=0;d<c;++d)a[d].2c.id=b}}1b 6bH(a){if(a.29R!==a.1gj){1d b=(a.29R=a.1gj)?Ja.1ao:Ja.11G;a=a.1Wf;1j(1d c=a.1h,d=0;d<c;++d)a[d].14Z.6Z=b}}1b 6bG(a){if(a.15S!==a.1Wp){1d b=a.1Wp=a.15S;a=a.1Wf;1j(1d c=a.1h,d=0;d<c;++d)a[d].14Z.15S=b}}1b 6bF(a){if(a.6x!==a.1kK){a.1kK=a.6x;1d b=ed.1hR(a.6x),c=ed.1fC(a.6x);a=a.1Wf;1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];f.14Z.1hR=b;f.14Z.1fC=c}}}1b F5(a){1d b=Oa.15v(a);b.6t=ma.1bl;a=wc(a.4w,!0);a.8d.3e=!1;a.9J.3e=!0;a.13Q=!1;a.12e=Dc.1bQ;a=pa.4t(a);b.4w=a;1f b}1b G5(a,b,c){b=b.1fw;1d d=a.1A.2O;if(0<d&&1>d&&(a=a.1Wf,d=a.1h,!g(a[0].1kv)||c))1j(c=0;c<d;++c){1d e=a[c];e.1kv=F5(e.14Z);b||(e.4Qn=F5(e.2PR))}}1b MQ(a){1f 0<a.1A.2O&&1>a.1A.2O}1b H5(a,b){1f 1k.2t(a)!==1k.2t(b)||1k.8a(a)!==1k.8a(b)}1b I5(a,b,c){if(b.1O.2h3&&0<a.1Nw&&0<a.1rE.2O&&g(a.3xk)){1d d=a.1Wf;d=H5(a.1A.2O,a.56z)||H5(a.1rE.2O,a.56y)||!g(d[0].46t);a.56z=a.1A.2O;a.56y=a.1rE.2O;if(d||c){c=++6c7%255;a:{d=a.1Wf;1j(1d e=d.1h,f=0;f<e;++f)if(d[f].14Z.6t===ma.1bl){d=!0;1W a}d=!1}d=d||MQ(a)||1>a.1rE.2O;e=a.1r8.1Rn;f=b.1fw;1j(1d h=a.1Wf,l=h.1h,p=0;p<l;++p){1d n=h[p],z=n.14Z,k=MQ(a)?n.1kv:z,x=Oa.15v(k),D=wc(k.4w);D.12h={3e:!0,1iu:H.1jW,1it:H.1jW,1bY:c,11q:-1,1eb:{15w:H.10w,17x:H.10w,17w:H.1f1},1eH:{15w:H.10w,17x:H.10w,17w:H.1f1}};0===a.1A.2O&&(D.1fA={5r:!1,5t:!1,5G:!1,2O:!1},D.13Q=!1);D=pa.4t(D);x.4w=D;n.46t=x;k=Oa.15v(z);D=wc(z.4w,!0);D.9J.3e=!0;D.8d.3e=!1;d&&(k.6t=ma.1bl,D.13Q=!1,D.12e=Dc.1bQ);D.12h={3e:!0,1iu:H.2AV,1it:H.2AV,1bY:c,11q:-1,1eb:{15w:H.10w,17x:H.10w,17w:H.10w},1eH:{15w:H.10w,17x:H.10w,17w:H.10w}};D=pa.4t(D);1d t=z.2z;a:{1d m=1p 0;1d G=t,aa=a.1r8.1jY;1j(m in aa)if(aa.3p(m)&&aa[m]===G)1W a;m=1p 0}G=e[m];if(!g(G)){G=b;aa=t.5O.5p[0];t=t.12m;1d r=a.3xk;aa=ja.1gF(aa,"6Gz");G=Ga.4t({1O:G.1O,5O:aa+("2n 1o 56w; \\2s 2k() \\n{ \\n    6Gz(); \\n    1w n = 1T(1Xn * "+r+"); \\n    n.x *= 17B[0][0]; \\n    n.y *= 17B[1][1]; \\n    1m 1Ii = 6I; \\n    1Ii.xy += n.xy * 1Ii.w * 56w / 9e.z; \\n    6I = 1Ii; \\n}"),5A:"2n 1m 56x; \\2s 2k() \\n{ \\n    2C = 56x; \\n}",7W:t});e[m]=G}z=fb(z.4J,{56x:6Gy(a),56w:6Gx(a)});k.4w=D;k.2z=G;k.4J=z;k.1hR=!1;k.1fC=!1;n.4Ql=k;f||(z=n.2PR,x=Oa.15v(x),x.6W=z.6W,x.4a=z.4a,n.4Qm=x,k=Oa.15v(k),x.6W=z.6W,x.4a=z.4a,n.4Qk=k)}}}}1b 6bE(a,b){1d c=a.1cX;g(c)&&c.7H===a&&c.3e&&c.2H(b)}1b 6bM(a,b){1d c=a.3b;if(0!==a.1BI){1d d=b.1O;d=1k.1V(d.8j,d.7p);1d e=g(a.1VY)?a.1VY:a.4a;fh.x=e[12];fh.y=e[13];fh.z=e[14];g(a.1q2)&&k.add(a.1q2,fh,fh);if(a.8C!==O.6G){e=b.11s;1d f=e.3c.10Z(fh,cC);e.12z(f,fh);k.9v(fh.z,fh.x,fh.y,fh)}e=a.7u.3L;NQ.2V=fh;NQ.3L=e;b=b.3w.2wq(NQ,b.1O.8j,b.1O.7p);1k.2o(1/b*2*e,d)<a.1BI&&(c=a.1BI*b/(2*a.2w7))}1f g(a.1BH)?1k.2o(a.1BH,c):c}1b J5(a){g(a.1Gr)&&g(a.2qJ)&&0===--a.2qJ.7Z&&4Y as[a.1Gr];a.2qJ=1p 0}1b OQ(a,b){1a.2DG=1a.1Hf=1a.1fb=1a.1Rn=1a.29M=1a.1jY=1a.29L=1a.1ds=1p 0;1a.3o=!1;1a.1O=a;1a.1jc=b;1a.7Z=0}1b bs(a){1j(1d b in a)a.3p(b)&&a[b].1M()}1b K5(a,b,c){1f 1b(d){if(a.6N===bb.28I){1d e=b.10Z(d,cC);e.1D+=c.1D;b.13B(e,d)}e=a.1VY;A.1y(a.4a,e);e[12]=d.x;e[13]=d.y;e[14]=d.z;a.3xj=!0}}1b 6bN(a){g(a.2DE)&&(a.2DE(),a.2DE=1p 0);1d b=a.2R;if(g(b)&&g(b.10a)&&a.6N!==bb.6i){1d c=b.10a;b=c.3c;1d d=a.4a;fh.x=d[12];fh.y=d[13];fh.z=d[14];1d e=b.10Z(fh);g(a.1VY)||(a.1VY=A.1y(d,1g A));a.2DE=c.7G.3Sg(e,K5(a,b,e));c=c.1sc(e);g(c)&&(a=K5(a,b,e),T.1y(e,cC),cC.1D=c,b.13B(cC,fh),a(fh))}1s{if(a.6N!==bb.6i)1t 1g r("463 1bY is 2S 11J 3OZ a 4r and 10a.");a.1VY=1p 0}}1b 6bO(a,b){1d c=a.4S,d=c.3I*c.3I;c=c.3W*c.3W;if(b.3z===O.10j)b=.5*(b.3w.3j.2W-b.3w.3j.3B),b*=b;1s{a=A.1Um(a.4a,6c6);if(b.3z===O.15j){1d e=b.11s,f=e.3c.10Z(a,6c5);a=e.12z(f,a);k.9v(a.z,a.x,a.y,a)}b=k.3de(a,b.3w.6K)}1f b>=d&&b<=c}1b L5(a,b){a.1jY!==b.1jY&&bs(a.1jY);a.1Rn!==b.1Rn&&bs(a.1Rn)}1b 6bD(a,b){1d c=a.1r8,d=a.29K;L5(c,d);if(p5(a)||GQ(a)||a.1Hd){a.1Hd=!1;c.1jY={};c.1Rn={};d={};1d e=a.2j1;1j(aa in e)if(e.3p(aa)){1d f=e[aa];1d h=f.1bb;if(!d[h]){d[h]=!0;f=a;1d l=b.1O,p=b,n=aa,z=f.3BR[h],k=f.1r8.29M,x=f.3xi,D=f.56v[h],t=f.1cj,m=p5(f),G=k[z.23M];z=k[z.1cm];if(f.1r9.1Wk||f.29N)G=x[h];x=z;GQ(f)&&(x=fg.6bA(x));m&&(z=l,x=ja.1gF(x,"6Gw"),x+=fg.6bB(t,z)+"\\n",x+="2n 2v 56u; \\1B 5w 1RW; \\1B 1m 56t; \\2s 2k() \\n{ \\n    6Gw(); \\n"+BQ("56u","1RW","56t")+"} \\n");G=bC(G,h,f.2s6);t=bC(x,h,f.3eb);Nc.2Du()||(G=Xa.47r(G,D),t=Xa.47s(t));g(f.1WR)||(t="2n 1m 1Hn;\\n"+t);(D=0<f.1sQ.x||0<f.1sQ.y)&&(t="#2f 2tS \\n\\n"+t);g(f.1r0)&&(t="#2f 56s \\n\\n"+t);p=t5(p,G,t);G=p.vs;t=p.fs;if("2.0"!==f.3xn||f.3xm)t=ja.1gF(t,"4dZ"),t+="\\2s 2k() { \\n    4dZ(); \\n    2C = 9D(2C); \\n} \\n";Cl.1op(l)&&(p=g(f.1K4)||f.2qG,x=g(f.1gQ)&&f.1gQ.3o||f.2qF,!m&&(p||x||D)&&(t="2n 5w 1RW; \\n"+t),g(f.1K4)?t="#2f 2Su \\n#2f 56r \\1B 1w 4dY[9]; \\n"+t:f.2qG&&(t="#2f 2Su \\n"+t),g(f.1gQ)&&f.1gQ.3o?t="#2f 2St \\n#2f 56q \\1B 2v 4dX; \\1B 1v 4dW; \\1B 1o 3BQ; \\n"+t:f.2qF&&(t="#2f 2St \\n"+t));g(f.3b5)&&(t="#2f 2bO \\1B 1o 4dV;\\n"+t);v5(h,n,t,G,f,l)}}}1s c.1jY=d.1jY,c.1Rn=d.1Rn;c=c.1jY;1d aa=a.1Wf;d=aa.1h;1j(e=0;e<d;++e)f=aa[e],h=f.4dU,l=c[h],f.14Z.2z=l,g(f.2PR)&&(f.2PR.2z=l);G5(a,b,!0);I5(a,b,!0)}1b Ki(a,b,c,d,e){1a.9F=a;1a.1cC=b;1a.12o=c;1a.56n=1a.1dQ=1a.6y=1a.13O=1p 0;1a.3BO={};1a.2PP=1a.3xg=1p 0;1a.1K0=!1;a=1a.9F;b=1a.1cC;c=1a.12o;1d f=m(e,0);e=f;1d h=1g 4L(d),l=1g 1dE(d);e+=Rp;1d p=l.9A(e,!0);if(1!==p)1t 1g qa("1Jh ao1 3D 25N 9G 1 is 11J.  1PD "+p+" is 2S.");e+=Rp;p=l.9A(e,!0);e+=Rp;1d n=l.9A(e,!0);e+=Rp;1d z=l.9A(e,!0);e+=Rp;1d w=l.9A(e,!0);e+=Rp;l=l.9A(e,!0);e+=Rp;if(6Gv<=w){e-=2*Rp;1d x=n;w=z;z=n=l=0;Ki.1W9("29F-3BP-1Pg","18m 29F 1Pg is 1nl 1Z 3BP 8V [6Gu] [1Bq]. 9B 1g 8V is [566] [6Gt] [56p] [56o] 19f 1bU://31k.11Y/6Gs/3d-17v/3OB/4EG/1zt/6Gr/6Gq.")}1s 6Gv<=l&&(e-=Rp,x=w,w=n,l=z,z=n=0,Ki.1W9("29F-3BP-1Pg","18m 29F 1Pg is 1nl 1Z 3BP 8V [56p] [56o] [6Gu]. 9B 1g 8V is [566] [6Gt] [56p] [56o] 19f 1bU://31k.11Y/6Gs/3d-17v/3OB/4EG/1zt/6Gr/6Gq."));0===n?x={4dJ:m(x,0)}:(x=Me(h,e,n),x=4H.5N(x),e+=n);n=1g 4L(d,e,z);e+=z;z=1g dv(x,n);x=z.1Rx("4dJ");z.17z=x;if(0<w){1d D=Me(h,e,w);D=4H.5N(D);e+=w;if(0<l){1d t=1g 4L(d,e,l);t=1g 4L(t);e+=l}}1d oa;g(a.12p)&&(oa=6Gl(1a));1a.6y=t=1g Nd(1a,x,D,t,oa);oa=f+p-e;if(0===oa)1t 1g qa("23I 1Hz 1h 2Q be 9U 6L 0.");0===e%4?d=1g 4L(d,e,oa):(Ki.1W9("29F-4dM-6FU","9B 4dN 4dM is 2S 1T6 to a 4-1Hz 6FT."),d=1g 4L(h.1hl(e,e+oa)));oa={15k:1a,9k:a};1a.3xg=A.8K;D=z.1Rx("2Sp",I.3O,3);g(D)&&(1a.3xg=A.1PY(k.7j(D)));1a.2PP=A.9b(b.1Hb,1a.3xg,1g A);g(a.12p)?1a.13O=1g jv({12b:d,8d:!1,1Nz:c,2zx:Jd.3wJ,4a:1a.2PP,1wf:a.3BD,2DF:Pe.X,1gj:a.1gj,2s4:M5(1a),6Gp:6Gm(1a),2iU:t.1BM(),2iT:N5(1a),12p:a.1Ez,1ac:t}):1a.13O=1g fg({12b:d,8d:!1,46z:!0,2s5:ma.1uf,1Nz:c,2zx:Jd.3wJ,4a:1a.2PP,1wf:a.3BD,2DF:Pe.X,6x:a.6x,1gj:a.1gj,1Kg:!1,2s4:M5(1a),2Fh:6Gn(1a),2iU:t.1BM(),2iT:N5(1a),3xo:0<x,31Y:oa,1fH:a.1fH,18V:a.18V,1rJ:a.1rJ,1mr:a.1mr,1mq:a.1mq})}1b M5(a){1f 1b(b,c){1d d=a.6y,e=!g(a.9F.12p),f=a.13O.12b;if(g(f)){1d h=Xa.1He(f,"2FA");g(h)||(h=Xa.1He(f,"6Go"),g(h)&&Ki.1W9("29F-3BP-ao0","9B 23I in 1a 29F 2yG 1Z 17V `6Go`. anZ-anY anX 1tD be anW 10M an anV: `2FA`."));a.56n=h;a.3BO[c]=Xa.2Q9(f,c)}c=d.1zS(e,a.56n,a.3BO[c]);1f g(c)?c(b):b}}1b 6Gn(a){1f 1b(b,c){1d d=a.6y,e=!g(a.9F.12p),f=a.13O.12b;g(f)&&(a.3BO[c]=Xa.2Q9(f,c));c=d.2Dv(e,a.3BO[c]);1f g(c)?c(b):b}}1b N5(a){1f 1b(){1f a.6y.1Rg()}}1b 6Gm(a){1f 1b(b){1d c=a.6y.6eG();1f g(c)?c(b):b}}1b 6Gl(a){1f 1b(b,c){a.13O.2i6(b,c)}}1b lo(a,b,c,d,e,f){1a.9F=a;1a.1cC=b;1a.12o=c;1a.2qE=[];1a.7S=Z.12L();6Gk(1a,d,e,f)}1b 6Gk(a,b,c,d){c=m(c,0);1d e=1g 4L(b),f=1g 1dE(b);c+=dC;1d h=f.9A(c,!0);if(1!==h)1t 1g qa("1Jh 6Gj 2wE 9G 1 is 11J. 1PD "+h+" is 2S.");c+=dC;c+=dC;h=f.9A(c,!0);c+=dC;1j(1d l=[],p=0;p<h;++p){1d n=AB(e,c),z=f.9A(c+2*dC,!0),k=d[n];if(g(k))n=k(a.9F,a.1cC,a.12o,b,c),a.2qE.1q(n),l.1q(n.9c);1s 1t 1g qa("1jJ 11H 15k 1I, "+n+", anU 6Gj 11H");c+=z}Z.all(l).4b(1b(){a.7S.5h(a)}).10g(1b(b){a.7S.7N(b)})}1b gh(a){1a.3BN=a.28G;1a.4dT=a.56l;1a.3BM=a.56k;1a.4dS=a.56j;1a.3BL=a.56i;1a.4dR=a.56h;1a.4dQ=a.56g;1a.4dP=a.56f;1a.12t=a.4a;1a.6y=a.1ac;1a.11S=a.6W;1a.19J=a.2V;g(1a.19J)||(g(1a.11S)?1a.19J=k.1y(1a.11S.2V):1a.19J=k.1y(k.6h));1a.1KM=1a.2Fz=1a.1q1=1a.1Hi=1a.9h=1a.1Ko=1a.1Rs=1a.1lz=1a.1Kp=1a.1Rr=1p 0;1a.4y=!1;1a.7S=Z.12L();1a.7h=1a.1NB=1p 0;1a.2Dw=1a.1gj=!1;1a.12p=te.2hq}1b 6Gi(a){1d b=1g 13X(A.4q+k.4q),c=0;k.5n(a.19J,b,c);c+=k.4q;A.5n(a.12t,b,c);1f b}1b 6bs(a){if(!g(a.7h)){if(!g(a.1NB)){1d b=a.3BN,c=a.4dT,d=a.3BM,e=a.4dS,f=a.3BL,h=a.4dR,l=a.4dQ,p=a.4dP,n=a.2Fz,z=a.1KM;if(!g(n)){1d k=0;g(a.3BN)&&(b=a.3BN=De(b),c=a.4dT=De(c),k+=c.1h);g(a.3BM)&&(d=a.3BM=De(d),e=a.4dS=De(e),k+=e.1h);g(a.3BL)&&(f=a.3BL=De(f),h=a.4dR=De(h),k+=h.1h);g(a.4dQ)&&(l=a.anT=De(l),p=a.4dP=De(p),k+=p.1h);n=a.2Fz=1g 12X(k);z=a.6y;1j(1d x=0;x<k;++x){1d D=z.1eV(x,6bt);n[x]=D.22A()}z=a.1KM=6Gi(a)}k=[];g(b)&&k.1q(b.3J,c.3J);g(d)&&k.1q(d.3J,e.3J);g(f)&&k.1q(f.3J,h.3J);g(l)&&k.1q(l.3J,p.3J);k.1q(n.3J,z.3J);b={28G:g(b)?b.3J:1p 0,56l:g(b)?c.3J:1p 0,56k:g(d)?d.3J:1p 0,56j:g(d)?e.3J:1p 0,56i:g(f)?f.3J:1p 0,56h:g(f)?h.3J:1p 0,56g:g(l)?l.3J:1p 0,56f:g(l)?p.3J:1p 0,6Fh:n.3J,3e7:z.3J};b=a.1NB=6bu.1fa(b,k);if(!g(b))1f;b.4b(1b(b){1j(1d c=1g 13X(b.3e7),d=0,e=c[d++],f=c[d++],h=a.1Rr=2K(f),l=0;l<f;++l)h[l]=P.5f(c,d),d+=P.4q;f=c[d++];h=a.1Kp=2K(f);1j(l=0;l<f;++l){1d g=y.5f(c,d);d+=y.4q;1j(1d p=c[d++],n=c[d++],k=c[d++],z=2K(k),w=0;w<k;++w)z[w]=c[d++];h[l]=1g hv({1A:g,2M:p,7Z:n,1ek:z})}a.1lz=2===e?1g 10Y(b.4N):1g 12X(b.4N);a.1Rs=1g 12X(b.3e8);a.1Ko=1g 12X(b.2s3);a.9h=1g 4A(b.3q);a.1Hi=1g 10Y(b.3BF);a.1q1=1g 10Y(b.1ek);a.4y=!0})}a.4y&&!g(a.7h)&&(a.7h=1g Bl({1ac:a.6y,3q:a.9h,1ek:a.1q1,3BF:a.1Hi,4N:a.1lz,3e8:a.1Rs,2s3:a.1Ko,4dC:a.1Kp,6W:a.11S,55P:a.1Rr,2V:a.19J,31Y:m(a.56m,a)}),a.3BN=1p 0,a.4dT=1p 0,a.3BM=1p 0,a.4dS=1p 0,a.3BL=1p 0,a.4dR=1p 0,a.4dQ=1p 0,a.4dP=1p 0,a.19J=1p 0,a.12t=1p 0,a.6y=1p 0,a.11S=1p 0,a.1Rr=1p 0,a.1Kp=1p 0,a.1lz=1p 0,a.1Rs=1p 0,a.1Ko=1p 0,a.9h=1p 0,a.1Hi=1p 0,a.1q1=1p 0,a.2Fz=1p 0,a.1KM=1p 0,a.1NB=1p 0,a.7S.5h())}}1b mo(a,b,c,d,e){1d f,h,l,p;1a.9F=a;1a.1cC=b;1a.12o=c;1a.1W8=1a.1jX=1p 0;1a.7S=Z.12L();1a.1dQ=1a.6y=1p 0;1a.1K0=!1;c=m(e,0);e=1g 4L(d);a=1g 1dE(d);c+=mv;b=a.9A(c,!0);if(1!==b)1t 1g qa("1Jh 1pg 11H 9G 1 is 11J.  1PD "+b+" is 2S.");c+=mv;b=a.9A(c,!0);c+=mv;if(0===b)1a.7S.5h(1a);1s{b=a.9A(c,!0);c+=mv;if(0===b)1t 1g qa("19E 1j9 2Q 118 a 1Hz 1h 9U 6L 16m");1d n=a.9A(c,!0);c+=mv;1d z=a.9A(c,!0);c+=mv;1d w=a.9A(c,!0);c+=mv;a=Me(e,c,b);a=4H.5N(a);c+=b;b=1g 4L(d,c,n);c+=n;if(0<z){1d x=Me(e,c,z);x=4H.5N(x);c+=z;if(0<w){1d D=1g 4L(d,c,w);D=1g 4L(D)}}d=m(a.6Gh,0);c=m(a.6Gg,0);e=m(a.6Gf,0);z=m(a.6Ge,0);n=d+c+e+z;1a.6y=D=1g Nd(1a,n,x,D,6G9(1a));if(0!==n){x=1a.11H.1Hb;if(g(a.2Sp)){1d t=k.5f(a.2Sp);A.8P(x,t,t)}n=m(a.6Gh,0);w=m(a.6Gg,0);1d oa=m(a.6Gf,0),G=m(a.6Ge,0);0<n&&g(a.6Gd)&&(f=1g 10Y(b.3J,b.8o+a.6Gd.8o,n));0<w&&g(a.6Gc)&&(h=1g 10Y(b.3J,b.8o+a.6Gc.8o,w));0<oa&&g(a.6Gb)&&(l=1g 10Y(b.3J,b.8o+a.6Gb.8o,oa));0<G&&g(a.6Ga)&&(p=1g 10Y(b.3J,b.8o+a.6Ga.8o,G));1d aa=g(f)||g(h)||g(l)||g(p);1d r=0<n&&!g(f)||0<w&&!g(h)||0<oa&&!g(l)||0<G&&!g(p);if(aa&&r)1t 1g qa("If 1bS 13o of 2Fy 1a8 is 2l, 4b all 2Fy 1a8 2Q be 2l.");if(!(g(f)||g(h)||g(l)||g(p))){r=0;if(!g(f)&&0<n)1j(f=1g 10Y(n),aa=0;aa<n;++aa)f[aa]=r++;if(!g(h)&&0<w)1j(h=1g 10Y(w),aa=0;aa<w;++aa)h[aa]=r++;if(!g(l)&&0<oa)1j(l=1g 10Y(oa),aa=0;aa<oa;++aa)l[aa]=r++;if(!g(p)&&0<G)1j(p=1g 10Y(G),aa=0;aa<G;++aa)p[aa]=r++}if(0<d||0<c||0<e||0<z){1d q,u,v,y;0<d&&(q=1g 4A(b.3J,b.8o+a.anS.8o,gh.6by*d));0<c&&(u=1g 4A(b.3J,b.8o+a.anR.8o,gh.6bx*c));0<e&&(v=1g 4A(b.3J,b.8o+a.anQ.8o,gh.6bw*e));0<z&&(y=1g 4A(b.3J,b.8o+a.anP.8o,gh.6bv*z));1a.1jX=1g gh({28G:q,56l:f,56k:u,56j:h,56i:v,56h:l,56g:y,56f:p,2V:t,4a:x,1ac:D,6W:1a.11H.6W.6W})}}}}1b 6G9(a){1f 1b(b,c){g(a.1jX)&&a.1jX.2i6(b,c)}}1b O5(a){1d b=a.17z;!g(a.1dQ)&&0<b&&(b=2K(b),g(a.1jX)&&a.1jX.29G(a,b),a.1dQ=b)}1b PQ(a,b,c){1a.9k=a;1a.12t=A.1y(b);1a.46q=c}1b nv(a){a=m(a,m.4Z);if(!g(a.12b)&&!g(a.2I))1t 1g r("2Av 3v.12b or 3v.2I is 1X.");if(g(a.12b)&&g(a.2I))1t 1g r("1e6 6t in 1oE 3v.12b and 3v.2I.");1a.2p=m(a.2p,!0);1a.46p=!1;1a.1EA=m(a.4Ng,!1);1a.2PO=m(a.1sV,!0);1a.4y=!1;1a.7S=Z.12L();1a.19i=ov.2DD;1a.1g6=!1;1a.1Wd=m(a.8d,!0);1a.3aY=m(a.2s5,ma.18W);1d b=a.18P;b=m(b,[]);1j(1d c=b.1h,d=2K(c),e=0;e<c;++e){1d f=b[e],h=f.4a;f=m(f.4R,e);d[e]=1g PQ(1a,h,f)}1a.1Eo=d;1a.6y=a.1ac;1a.4dO=1a.568=1a.2qr=1a.569=1a.13O=1p 0;1a.1Q9=[];1a.4Qj=1p 0;b=1a.1h;c=2K(b);1j(d=0;d<b;++d)c[d]=A.1Um(1a.1Eo[d].12t,1g k);1a.5V=P.1aN(c);1a.19J=k.1y(1a.5V.2V);1a.46o=1g A;1a.6G5=1g A;1a.8C=1p 0;1a.4a=A.1y(A.8K);1a.12t=A.1y(1a.4a);1a.10z=na.14m(a.2I);1a.34j=a.2zx;1a.2PW=a.12b;1a.3av=na.14m(a.1Nz);1a.2hN=a.17X;1a.2Pb=a.1Kg;1a.23F=a.1wf;1a.3b6=a.2DF;1a.1kK=1a.6x=m(a.6x,ed.2hT);1a.2ia=a.2iT;1a.15S=m(a.15S,!1);1a.1Wp=!1;1a.1gj=m(a.1gj,!1);1a.29R=!1;1a.1sQ=1g C(1,1);C.1y(a.1fH,1a.1sQ);1a.18V=a.18V;1a.1rJ=a.1rJ;1a.1mr=a.1mr;1a.1mq=a.1mq}1b 6G8(a,b,c,d){1f 1b(e,f){e=e.17V;if(g(e)&&-1<a.3f(e))if(-1<b.3f(e))d[f]=e;1s 1t 1g qa(\'56e 1bb 1il be 6ct 1j anO. anN "\'+f+\'" in 1bb "\'+c+\'" 2yG 1Pt 17V "\'+e+\'"\');}}1b P5(a,b){if(g(a.4dO))1f a.4dO[b];1d c={};a.4dO=c;1d d="4QA 1Ro 29O 2qH 4Qz 46F 4Qy 4Qx 2PU".7g(" "),e=["1Ro","29O","2qH","2PU"];a=a.13O.2j1;1j(1d f in a)if(a.3p(f)){1d h=a[f],l=h.1bb;if(!g(c[l])){1d p={};c[l]=p;ia.2DT(h,6G8(d,e,b,p))}}1f c[b]}1b 6G2(a){1f 1b(b,c){1d d=P5(a,c),e=g(a.6y);b=ja.1gF(b,"6G6");1d f="",h="",l;1j(l in d)if(d.3p(l)){1d p=d[l];if("1Ro"===p||"29O"===p)1d n="2Q7";1s"2qH"===p?(n="56d",f+="5w 56d;\\n",h+="56d = 17B * 2Q7;\\n"):"2PU"===p&&(n="56c",f+="14j 56c;\\n",h+="56c = 14j(2Q7);\\n");p=1g 19j("2n.*"+l+".*");b=b.3X(p,"");p=1g 19j(l+"\\\\b","g");b=b.3X(p,n)}e?(d="3Q 1o 1k8;\\n",n=l=""):(d="",l="3Q 1m 1fR;\\1J 1m 1nW;\\n",n="    1nW = 1fR;\\n");b="2n 5w 56b;\\1B 5w 56a;\\n"+f+"5w 2Q7;\\2J 1m 3eg;\\2J 1m 3ef;\\2J 1m 3ee;\\n"+d+l+b+"1p 2k()\\n{\\n    5w 6G7 = 5w(3eg.x, 3ef.x, 3ee.x, 0.0, 3eg.y, 3ef.y, 3ee.y, 0.0, 3eg.z, 3ef.z, 3ee.z, 0.0, 3eg.w, 3ef.w, 3ee.w, 1.0);\\n    2Q7 = 56b * 6G7 * 56a;\\n"+h+"    6G6();\\n"+n+"}\\n";e&&(c=Xa.2Q9(a.13O.12b,c),b=a.6y.1zS(!0,"1k8",c)(b));1f b}}1b 6G1(a){1f 1b(b,c){1d d=a.6y;g(d)?(c=Xa.2Q9(a.13O.12b,c),b=d.2Dv(!0,c)(b)):b="3G 1m 1nW;\\n"+b;1f b}}1b 6G4(a,b){1f 1b(){1f A.9b(b.13m.11A,a.46o,a.6G5)}}1b $sa(a){1f 1b(){1f a.23G}}1b ata(a,b){1f 1b(c,d,e){c=wc(c);c.56b=6G4(a,b);c.56a=$sa(e);d=P5(a,d);1j(1d f in d)d.3p(f)&&4Y c[f];g(a.6y)&&(c=a.6y.1BM()(c));1f c}}1b 6FZ(a){1f 1b(b,c){g(a.6y)&&(c=Xa.2Q9(a.13O.12b,c),b=a.6y.1zS(!0,"1k8",c)(b),b="2n 1o 1k8\\n;"+b);1f b}}1b 3P9(a){1f 1b(b,c){1d d=a.6y;g(d)?(c=Xa.2Q9(a.13O.12b,c),b=d.2Dv(!0,c)(b)):b="2n 1m 1Hn;\\n"+b;1f b}}1b 6FY(a){1f 1b(b){g(a.6y)&&(b=a.6y.1BM()(b));1f b}}1b Q5(a){1d b=a.1Eo,c=a.1h,d=a.19J,e=a.569;g(e)||(e=1g 4A(12*c));a.1EA&&(a.569=e);1j(a=0;a<c;++a){1d f=A.1y(b[a].12t,QQ);f[12]-=d.x;f[13]-=d.y;f[14]-=d.z;1d h=12*a;e[h+0]=f[0];e[h+1]=f[4];e[h+2]=f[8];e[h+3]=f[12];e[h+4]=f[1];e[h+5]=f[5];e[h+6]=f[9];e[h+7]=f[13];e[h+8]=f[2];e[h+9]=f[6];e[h+10]=f[10];e[h+11]=f[14]}1f e}1b 6bo(a){1d b=Q5(a);a.2qr.1jR(b)}1b 6bp(a,b){1d c=a.46p,d=g(a.6y),e={2I:a.10z,2zx:a.34j,12b:a.2PW,1Nz:a.3av,6x:a.1kK,1jc:1p 0,17X:a.2hN,1sV:a.2PO,1Kg:a.2Pb,1wf:a.23F,2DF:a.3b6,567:1p 0,2s4:1p 0,2Fh:1p 0,2iU:1p 0,2iT:a.2ia,23z:!0,2s5:a.3aY,1fH:a.1fH,18V:a.18V,1rJ:a.1rJ,1mr:a.1mr,1mq:a.1mq};if(!d){1j(1d f=a.1Eo,h=f.1h,l=2K(h),p=0;p<h;++p)l[p]=b.1Ga(f[p]);a.1zT=l}if(c){l=a.1Eo;h=a.1h;c=a.1EA;if(p=g(a.6y)){1d n=1g 10Y(h);1j(f=0;f<h;++f)n[f]=l[f].46q;a.568=Ra.12S({1O:b,5b:n,7Q:xa.7C})}if(!p){l=1g 4L(4*h);1j(f=0;f<h;++f)p=a.1zT[f].1A,n=4*f,l[n]=y.10F(p.5r),l[n+1]=y.10F(p.5t),l[n+2]=y.10F(p.5G),l[n+3]=y.10F(p.2O);a.6G3=Ra.12S({1O:b,5b:l,7Q:xa.7C})}f=Q5(a);a.2qr=Ra.12S({1O:b,5b:f,7Q:c?xa.20X:xa.7C});c=I.1jh(I.3O);c={3eg:{2P:0,7e:a.2qr,2Z:4,3k:I.3O,1T:!1,9n:0,9t:12*c,19N:1},3ef:{2P:0,7e:a.2qr,2Z:4,3k:I.3O,1T:!1,9n:4*c,9t:12*c,19N:1},3ee:{2P:0,7e:a.2qr,2Z:4,3k:I.3O,1T:!1,9n:8*c,9t:12*c,19N:1}};d&&(c.1k8={2P:0,7e:a.568,2Z:1,3k:I.10P,1T:!1,9n:0,9t:0,19N:1});d||(c.1fR={2P:0,7e:a.6G3,2Z:4,3k:I.7U,1T:!0,9n:0,9t:0,19N:1});e.567=c;e.2s4=6G2(a);e.2Fh=6G1(a);e.2iU=ata(a,b);g(a.10z)&&(e.1jc=a.10z.1oO()+"#6G0")}1s e.2s4=6FZ(a),e.2Fh=3P9(a),e.2iU=6FY(a);g(a.10z)?a.13O=fg.41z(e):a.13O=1g fg(e)}1b 6bl(a){if(a.29R!==a.1gj){1d b=(a.29R=a.1gj)?Ja.1ao:Ja.11G;a=a.1Q9;1j(1d c=a.1h,d=0;d<c;++d)a[d].6Z=b}}1b 6bk(a){if(a.15S!==a.1Wp){a.1Wp=a.15S;1j(1d b=a.1Q9,c=b.1h,d=0;d<c;++d)b[d].15S=a.15S}}1b 6FX(a){1f 1b(){1f a}}1b 6FW(a){1f 1b(){1f a}}1b R5(a){1j(1d b=a.4Qj,c=b.1h,d=a.1h,e=a.46o,f=a.19J,h=0;h<c;++h)1j(1d l=b[h],g=0;g<d;++g){1d n=a.1Q9[h*d+g],k=A.1y(a.1Eo[g].12t,QQ);k[12]-=f.x;k[13]-=f.y;k[14]-=f.z;k=A.9b(e,k,QQ);A.9b(k,l.4a,n.4a);P.5o(l.6W,k,n.6W)}}1b S5(a){a=a.1Wf;1j(1d b=a.1h,c=[],d=0;d<b;++d){1d e=a[d];e.2p&&c.1q(e.14Z)}1f c}1b 6bn(a){a=a.1Wf;1j(1d b=a.1h,c=0;c<b;c++)if(a[c].14Z.6s)1f!0;1f!1}1b T5(a,b){a.1Q9=[];1d c=S5(a.13O);if(b){b=c.1h;1j(1d d=a.1h,e=a.5V,f=a.1Wd,h=0;h<b;++h){1d l=Oa.15v(c[h]);l.1gC=d;l.6W=e;l.8d=f;g(a.6y)?l.1cI=a.6y.1Rg():l.1cI="1nW";a.1Q9.1q(l)}}1s{b=a.1Eo;d=c.1h;e=a.1h;f=g(a.6y);h=a.1Wd;1j(l=0;l<d;++l)1j(1d p=0;p<e;++p){1d n=Oa.15v(c[l]);n.4a=1g A;n.6W=1g P;n.8d=h;n.4J=wc(n.4J);f?n.4J.1k8=6FX(b[p].46q):n.4J.1Hn=6FW(a.1zT[p].1A);a.1Q9.1q(n)}R5(a)}}1b 6bm(a){if(a.6x!==a.1kK){a.1kK=a.6x;1d b=ed.1hR(a.6x),c=ed.1fC(a.6x);a=a.1Q9;1j(1d d=a.1h,e=0;e<d;++e){1d f=a[e];f.1hR=b;f.1fC=c}}}1b Dl(a,b,c,d,e){1a.9F=a;1a.1cC=b;1a.12o=c;1a.1dQ=1a.6y=1a.1EF=1p 0;1a.1K0=!1;1d f=m(e,0);e=f;1d h=1g 4L(d);c=1g 1dE(d);e+=cs;a=c.9A(e,!0);if(1!==a)1t 1g qa("1Jh 5Uh 3D 25N 9G 1 is 11J. 1PD "+a+" is 2S.");e+=cs;1d l=c.9A(e,!0);e+=cs;b=c.9A(e,!0);if(0===b)1t 1g qa("566 is 16m, 1Z 7n 1j9 2Q be 2l.");e+=cs;a=c.9A(e,!0);e+=cs;1d p=c.9A(e,!0);e+=cs;1d n=c.9A(e,!0);e+=cs;c=c.9A(e,!0);if(1!==c&&0!==c)1t 1g qa("1Jh 23I 8V 0 (1dr) or 1 (4dN) are 11J. anM "+c+" is 2S.");e+=cs;1d z=Me(h,e,b);z=4H.5N(z);e+=b;b=1g 4L(d,e,a);e+=a;a=1g dv(z,b);b=a.1Rx("6FV");a.17z=b;if(!g(b))1t 1g qa("19E 1j9 1ii 5i: 6FV 2Q be 2l");if(0<p){1d w=Me(h,e,p);w=4H.5N(w);e+=p;if(0<n){1d x=1g 4L(d,e,n);x=1g 4L(x);e+=n}}1a.6y=1g Nd(1a,b,w,x);x=f+l-e;if(0===x)1t 1g qa("23I 1Hz 1h is 16m, 4Pn 2Q 118 a 23I to 1bX.");0===e%4?x=1g 4L(d,e,x):(Dl.1W9("4Pn-4dM-6FU","9B 4dN 4dM is 2S 1T6 to a 4-1Hz 6FT."),x=1g 4L(h.1hl(e,e+x)));d=1a.9F;d={18P:2K(b),1ac:1a.6y,8d:!1,2I:1p 0,2zx:Jd.3wJ,12b:1p 0,1Nz:1p 0,1Kg:!1,1wf:d.3BD,2DF:Pe.X,2s5:ma.1uf,2iT:6FO(1a),1fH:d.1fH,18V:d.18V,1rJ:d.1rJ,1mr:d.1mr,1mq:d.1mq};0===c?(x=Me(x),x=x.3X(/[\\s\\0]+$/,""),d.2I=1a.12o.16M({2I:x})):(d.12b=x,d.1Nz=1a.12o.1y());x=a.1Rx("anL");1d D;w=a.1Rx("2Sp",I.3O,3);g(w)&&(D=k.5f(w));w=d.18P;c=1g k;e=2K(3);h=1g k;f=1g k;l=1g k;p=1g J;n=1g ca;z=1g k;1j(1d t=1g eC,oa=1g A,G=0;G<b;G++){1d aa=a.1vb("1nz",I.3O,3,G,fC);if(!g(aa)){aa=e;1d r=a.1vb("3BK",I.10P,3,G,fC);if(!g(r))1t 1g qa("2Av 1nz or 3BK 2Q be 2l 1j 30y 1bX.");1d q=a.1Rx("4dK",I.3O,3);if(!g(q))1t 1g qa("3BJ 5i: 4dK 2Q be 2l 1j 2CZ 3q.");1d u=a.1Rx("4dL",I.3O,3);if(!g(u))1t 1g qa("3BJ 5i: 4dL 2Q be 2l 1j 2CZ 3q.");1j(1d v=0;3>v;v++)aa[v]=r[v]/1a6*u[v]+q[v]}k.5f(aa,0,c);g(D)&&k.add(c,D,c);t.14L=c;r=a.1vb("6FS",I.3O,3,G,fC);q=a.1vb("6FR",I.3O,3,G,U5);aa=!1;if(g(r)){if(!g(q))1t 1g qa("To 2f a 2Jn 11f, 1oE 6FS and 6FR 2Q be 2l.");k.5f(r,0,f);k.5f(q,0,h);aa=!0}1s if(r=a.1vb("6FQ",I.10P,2,G,fC),q=a.1vb("6FP",I.10P,2,G,U5),g(r)){if(!g(q))1t 1g qa("To 2f a 2Jn 11f 10M 565-1eO 6dl, 1oE 6FQ and 6FP 2Q be 2l.");xb.3Ak(r[0],r[1],1a6,f);xb.3Ak(q[0],q[1],1a6,h);aa=!0}1s x?(Da.18N(c,ba.9y,oa),A.2Dt(oa,p)):J.1y(J.8K,p);aa&&(k.4B(h,f,l),k.1T(l,l),J.1vr(p,0,h,p),J.1vr(p,1,f,p),J.1vr(p,2,l,p));ca.1UQ(p,n);t.5S=n;z=k.9v(1,1,1,z);aa=a.1vb("anK",I.3O,1,G);g(aa)&&k.4g(z,aa,z);aa=a.1vb("anJ",I.3O,3,G,fC);g(aa)&&(z.x*=aa[0],z.y*=aa[1],z.z*=aa[2]);t.3b=z;aa=a.1vb("2Sr",I.10P,1,G);g(aa)||(aa=G);A.4Nx(t,oa);r=oa.1y();w[G]={4a:r,4R:aa}}1a.1EF=1g nv(d)}1b 6FO(a){1f 1b(){1f a.6y.1Rg()}}1b pv(a){v.1N.2c("3v",a);v.1N.2c("3v.15U",a.15U);1a.1bx=1a.3xb=1p 0;1a.4Qf=1a.46h=!1;1a.2qx=y.1y(y.45J);1a.1nG=y.1y(y.9r);1a.1Qf=1;1a.4Qg=1a.3xa=1a.3b1=1a.1q2=1p 0;1a.46e=1a.46f=1a.46g=1a.46i=1a.46k=1a.3xf=!1;1a.2Sq=qv.1cY;1a.29N=!0;1a.3xd=1a.3xe=!1;1a.46j=1a.3xc=0;1a.46d=1a.1JB=!1;1a.46c=1a.1Uo=!0;1a.8C=1a.46b=1a.46a=1p 0;1a.4y=!1;1a.7S=Z.12L();1a.1qV=1a.46m=0;1a.2s6=a.2s4;1a.3eb=a.2Fh;1a.1WR=a.2iU;1a.55Z=a.6Fz;1a.2ia=a.2iT;1a.3aY=m(a.2s5,ma.18W);1a.1Wd=m(a.8d,!0);1a.14N=1a.2r=1p 0;1a.3x6=!1;1a.4a=A.1y(A.8K);1a.12t=A.1y(A.8K);1a.6q=0;1a.6x=ed.2hT;1a.1cj=1a.5V=1p 0;1a.1TT=1a.26S=!1;1a.1W6=1p 0;1a.3aZ=1a.1iM=!1;1a.1Rj=0;1a.1J0=1;1a.1yB=1a.1Qf;1d b=a.15U,c=m(a.8o,0),d=1g 4L(b);a=1g 1dE(b);c+=rv;1d e=a.9A(c,!0);if(1!==e)1t 1g qa("1Jh 18H 6zd 11H 9G 1 is 11J.  1PD "+e+" is 2S.");c+=rv;c+=rv;e=a.9A(c,!0);if(0===e)1t 1g qa("19E 1j9 2Q 118 a 1Hz 1h 9U 6L 16m");c+=rv;1d f=a.9A(c,!0);c+=rv;1d h=a.9A(c,!0);c+=rv;1d l=a.9A(c,!0);c+=rv;a=Me(d,c,e);a=4H.5N(a);c+=e;e=1g 4L(b,c,f);c+=f;1d p;if(0<h){1d n=Me(d,c,h);n=4H.5N(n);0<l&&(p=1g 4L(b,c+h,l))}c=1g dv(a,e);b=c.1Rx("4dv");c.17z=b;if(!g(b))1t 1g qa("19E 1j9 1ii 5i: 4dv 2Q be 2l");d=c.1Rx("2Sp",I.3O,3);g(d)&&(1a.1q2=k.5f(d));1d z=!1,w=l=!1,x=!1,D=d=!1;f=h=!1;1d t=g(a.10x)?a.10x["6FN"]:1p 0,oa=g(n)&&g(n.10x)?n.10x["6FN"]:1p 0;if(g(oa))1d G=oa.5U;if(g(t)){1d aa=t.5U;1d r=t.8o;l=t.10S;if(!g(aa)||!g(r)||!g(l))1t 1g qa("5KE 5U, 8o, and 10S 2Q be 2l");r=De(e,r,r+l);z=g(aa.1nz);l=g(aa.1fB)||g(aa.9m);w=g(aa.1zp);x=g(aa.2Sr);D=g(aa.9m);1a.2Sq=qv.4Qh}1d q;g(r)&&(q={3J:r,anI:aa,6FB:G,5U:fb(aa,G),4QW:1a.29N});if(!z)if(g(a.1nz)){1d u=c.2ik("1nz",I.3O,3);z=!0}1s if(g(a.3BK)){u=c.2ik("3BK",I.10P,3);z=d=!0;aa=c.1Rx("4dL",I.3O,3);if(!g(aa))1t 1g qa("3BJ 5i: 4dL 2Q be 2l 1j 2CZ 3q.");1a.3b1=k.5f(aa);1a.3xc=1a6;aa=c.1Rx("4dK",I.3O,3);if(!g(aa))1t 1g qa("3BJ 5i: 4dK 2Q be 2l 1j 2CZ 3q.");1a.3xa=k.5f(aa)}if(!l)if(g(a.9m)){1d B=c.2ik("9m",I.7U,4);l=D=!0}1s g(a.1fB)?(B=c.2ik("1fB",I.7U,3),l=!0):g(a.37U)&&(B=c.2ik("37U",I.10P,1),l=h=!0);if(!w)if(g(a.1zp)){1d K=c.2ik("1zp",I.3O,3);w=!0}1s g(a.6FM)&&(K=c.2ik("6FM",I.7U,2),w=f=!0);if(!x&&g(a.2Sr)){1d Fa=c.2ik("2Sr",I.10P,1);x=!0}if(!z)1t 1g qa("2Av 1nz or 3BK 2Q be 2l.");g(a.6FL)&&(aa=c.1Rx("6FL",I.7U,4),1a.2qx=y.2CY(aa[0],aa[1],aa[2],aa[3],1a.2qx));if(x){aa=c.1Rx("4dJ");if(!g(aa))1t 1g qa("3BJ 5i: 4dJ 2Q be 2l 16r 2Sr is 2l.");g(p)&&(p=1g 4L(p));g(1a.55Z)&&1a.55Z(aa,n,p)}1d L;!x&&g(p)&&(L=Nd.6eR(b,n,p));1a.3xb={3q:u,1Bd:B,1q6:K,1ek:Fa,46l:L,3r8:q};1a.46m=b;1a.3xf=d;1a.46k=f;1a.46i=h;1a.46h=D;1a.46g=l;1a.46f=w;1a.46e=x}1b V5(a,b){1d c=I.2DC(a);1f c===I.1El||c===I.1bt||c===I.18l?(ec("anH 69o 5i to 4EU",\'18H 3j1 5i "\'+b+\'" 1B4 be anG to a 1o 4x 2Jo 1El, 1bt, and 18l are 2S 1eu 1zV 1rc 3Q 1KO. 5rQ 1k7 3ir be 6D5.\'),1g 4A(a)):a}1b 6FK(a,b){1d c=b.1O,d=a.3xe,e=a.3xd,f={3ec:1b(){1d d=6bi;d.x=a.3aZ?a.1yB:a.1Qf;d.x*=b.13S;d.y=a.6q;if(a.3aZ){1d e=b.3w.3j;e=b.3z===O.10j||e 2m Jb?3a.19B:c.7p/b.3w.3j.34D;d.z=a.1Rj*a.1J0;d.w=e}1f d},1nU:1b(){1f a.1nG},55X:1b(){1f a.2qx},2uG:1b(){1d b=a.1cj;1f a.26S?b.7y:c.1np},2cr:1b(){1d b=a.1cj;if(!g(b))1f y.28g;1d c=y.1y(b.2yu,6bg);c.2O=b.33s;1f c},2uF:1b(){1d b=a.1cj;if(!g(b))1f A.8K;1d d=m(a.1W6,a.12t);A.9b(c.13m.37O,d,RQ);1f A.9b(RQ,b.4a,RQ)}};if(a.3xf||d||e)f=fb(f,{4dI:1b(){1d b=6bh;if(g(a.3b1)){1d c=k.1y(a.3b1,b);k.1eE(c,a.3xc,b)}b.w=a.46j;1f b}});g(a.1WR)&&(f=a.1WR(f));a.1bx.4J=f}1b SQ(a,b){1j(1d c=/3ed(\\w+)/g,d=c.1f4(a);1F!==d;)d=d[1],-1===b.3f(d)&&b.1q(d),d=c.1f4(a)}1b TQ(a,b){1j(1d c=a.2r4,d=0;d<c;++d){1d e=a.15o(d);if(e.2P===b)1f e}}1b UQ(a){1j(1d b=VQ.1h,c=0;c<b;++c){1d d=VQ[c],e="3ed"+d;d=d.18v();a=a.3X(1g 19j(e+"(\\\\W)","g"),d+"$1")}1f a.3X("()","(1w 1K, 1w 3BI, 1m 1A, 1w 2U)")}1b 6b8(a,b,c){1d d=b.1O,e=g(c),f=a.3xf,h=a.3xe,l=a.46k,p=a.3xd,n=a.46i,k=a.46h,w=a.46g,x=a.46f,D=a.46e,t=a.46d,m=a.46c,G=a.1bx.4c,aa=a.1cj,r=a.3aZ,q=k;if(e){e={11C:!1};1d u=c.5DY("6FE","3ed",e);1d v=c.5DX("6FD","3ed",e);1d y=c.5DW("6FC","3ed",e);g(u)&&e.11C&&(q=!0)}a.4Qf=q;q=g(u);e=g(v);1d B=g(y);c=a.26S;1d A=[];q&&(SQ(u,A),u=UQ(u));e&&(SQ(v,A),v=UQ(v));B&&(SQ(y,A),y=UQ(y));1d S=0<=A.3f("1FC");1d C=0<=A.3f("1zp");1d R=A.14O(1b(a){1f-1===VQ.3f(a)});if(C&&!x)1t 1g qa("18O 3BC 1Z 1zp 17V 19T 1Z 7v 3j1 18f 2S 118 1q6");1d V=a.4Qg;1j(da in V)if(V.3p(da)){A=V[da];1d W=0<=R.3f(da);TQ(G,A.17J).3e=W}S=w&&(!q||S);w&&(TQ(G,1).3e=S);w=x&&(m||t||C);x&&(TQ(G,2).3e=w);x={2aG:0};S&&(x.2Ss=1);w&&(x.1WQ=2);D&&(x.1k8=3);G="";W=R.1h;1j(C=0;C<W;++C){1d da=R[C];A=V[da];if(!g(A))1t 1g qa(\'18O 3BC a 5i "\'+da+\'" 17m 18f 2S 1GM or is 2S anF.\');1d ea=A.2PN;da="3ed"+da;G+="3Q "+(1===ea?"1o":"1Ji"+ea)+" "+da+"; \\n";x[da]=A.17J}6FK(a,b);b="3Q 1w 2aG; \\1J 1m 15g; \\1B 1m 3ec; \\1B 1m 55X; \\1B 1m 1nU; \\1r 4dH; \\1r 4R2; \\n";r&&(b+="1o 55W; \\1r 55V; \\n");b+=G;S&&(b=k?b+"3Q 1m 2Ss; \\n":n?b+"3Q 1o 2Ss; \\4i 1o 6FJ = 1.0 / 1tA.0; \\4i 1o 6FH = 1.0 / 32.0; \\4i 1o 6FI = 1tA.0; \\4i 1o 6FG = 32.0; \\4i 1o 6FF = 1.0 / 64.0; \\4i 1o 55Y = 1.0 / 32.0; \\n":b+"3Q 1w 2Ss; \\n");w&&(b=l||p?b+"3Q 1v 1WQ; \\n":b+"3Q 1w 1WQ; \\n");D&&(b+="3Q 1o 1k8; \\n");if(f||h||p)b+="2n 1m 4dI; \\n";q&&(b+=u);e&&(b+=v);B&&(b+=y);b+="1p 2k() \\n{ \\n    4dH = 3ec.x; \\n    4R2 = 3ec.y; \\n";r&&(b+="    55W = 3ec.z; \\n    55V = 3ec.w; \\n");b=S?k?b+"    1m 1A = 2Ss; \\n":n?b+"    1o 1iW = 2Ss; \\n    1o r = 2t(1iW * 6FJ); \\n    1iW -= r * 6FI; \\n    1o g = 2t(1iW * 6FH); \\n    1iW -= g * 6FG; \\n    1o b = 1iW; \\n    1w 2y = 1w(r * 55Y, g * 6FF, b * 55Y); \\n    1m 1A = 1m(2y, 1.0); \\n":b+"    1m 1A = 1m(2Ss, 1.0); \\n":b+"    1m 1A = 55X; \\n";b=(f||h?b+"    1w 1K = 2aG * 4dI.1H; \\n":b+"    1w 1K = 2aG; \\n")+"    1w 3BI = 1w(1Cp * 1m(1K, 1.0)); \\n";w?(b=l?b+"    1w 2U = 1gT(1WQ); \\n":p?b+"    1w 2U = 1gT(1WQ, 4dI.w).1ca; \\n":b+"    1w 2U = 1WQ; \\n",b+="    1w 4X = 11b * 2U; \\n"):b+="    1w 2U = 1w(1.0); \\n";q&&(b+="    1A = 6FE(1K, 3BI, 1A, 2U); \\n");e&&(b+="    1o 2p = 1o(6FD(1K, 3BI, 1A, 2U)); \\n");b=B?b+"    1IA = 6FC(1K, 3BI, 1A, 2U) * 1gU; \\n":r?b+"    1m 4p = 9q * 1m(1K, 1.0); \\n    1o 4e = -4p.z; \\n    1IA = 2o((55W / 4e) * 55V, 4dH); \\n":b+"    1IA = 4dH; \\n";b+="    1A = 1A * 1nU; \\n";w&&m&&(b+="    1o 4dG = 1Ca(1qd, 4X); \\n    4dG = 1V(4dG, 0.4); \\n    1A.1H *= 4dG * 1NT; \\n");b+="    15g = 1A; \\n    6I = 11o * 1m(1K, 1.0); \\n";w&&t&&(b+="    1o 13z = 7F(-4X.z, 0.0); \\n    6I *= 13z; \\n    1IA *= 13z; \\n");e&&(b+="    6I.w *= 1o(2p); \\n    1IA *= 1o(2p); \\n");b+="} \\n";f="3G 1m 15g; \\n";c&&(f=f+"2n 2v 2uG; \\1B 5w 2uF; \\1B 1m 2cr; \\n\\n"+MH(aa,d),f+="\\n");f+="1p 2k() \\n{ \\n    2C = 9D(15g); \\n";c&&(f+=BQ("2uG","2uF","2cr"));f+="} \\n";g(a.2s6)&&(b=a.2s6(b));g(a.3eb)&&(f=a.3eb(f));a=a.1bx;g(a.2z)&&a.2z.1M();a.2z=Ga.4t({1O:d,5O:b,5A:f,7W:x});10G{a.2z.1QJ()}11B(Sa){1t 1g qa("6u 2DP 2r 1d8: 1a 3ir be 3qU by a 1I 4Vs, 2P 9H-of-14w, or 3bV anE 7A.");}}1b 6bf(a,b){if(a.2Sq===qv.1cY)1f!1;if(a.2Sq===qv.4Qh){1d c=a.3xb,d=c.3r8;b=md.6cF(d,b);g(b)&&(a.2Sq=qv.6bj,b.4b(1b(b){a.2Sq=qv.1cY;1d e=g(b.1nz)?b.1nz.4x:1p 0,h=g(b.1fB)?b.1fB.4x:1p 0,l=g(b.9m)?b.9m.4x:1p 0,p=g(b.1zp)?b.1zp.4x:1p 0,n=g(b.2Sr)?b.2Sr.4x:1p 0,z=g(e)&&g(b.1nz.2g.1nv),w=g(p)&&g(b.1zp.2g.1nv);if(z){z=b.1nz.2g.1nv;1d x=z.11D;a.3b1=k.9v(x,x,x);a.3xa=k.5f(z.1AX);a.3xc=(1<<z.2ih)-1;a.3xe=!0}w&&(a.46j=(1<<b.1zp.2g.1nv.2ih)-1,a.3xd=!0);w=c.46l;z=d.6FB;1j(1d D in z)z.3p(D)&&(x=b[D],g(w)||(w={}),w[D]={5b:x.4x,2PN:x.2g.2Z});c.3q=m(e,c.3q);c.1Bd=m(m(l,h),c.1Bd);c.1q6=m(p,c.1q6);c.1ek=m(n,c.1ek);c.46l=w}).10g(1b(b){a.2Sq=qv.12D;a.7S.7N(b)}))}1f!0}1b WQ(a,b,c){a=a.6M;a.5NP(a.1JV,b,c.22v,c.10q,0)}1b PH(a,b,c){a=a.6M;a.5NO(a.1JV,b,a.2pa,c.5Vo())}1b eb(a){a=m(a,m.4Z);1d b=a.1O;v.2l("3v.1O",b);1d c=b.6M,d=sb.6hV;1a.6M=c;1a.13p=c.4mt();1a.2DB=[];1a.3aX=[];1a.2PL=[];1a.1yZ=1a.19K=1a.3aV=1a.3aW=1a.19m=1p 0;1a.16Y=m(a.16Y,!0);if(g(a.13I)&&g(a.3S0))1t 1g r("1e6 118 1oE 1A 7y and 1A 2pE 3x8.");if(g(a.8X)&&g(a.2o1))1t 1g r("1e6 118 1oE a 4e 7y and 4e 2pE 1Hv.");if(g(a.1ku)&&g(a.1yY))1t 1g r("1e6 118 1oE a 4e-1gh 7y and 4e-1gh 2pE 1Hv.");c=g(a.8X)||g(a.2o1);1d e=g(a.1ku)||g(a.1yY);if(c&&e)1t 1g r("1e6 118 1oE a 4e and 4e-1gh 1Hv.");if(g(a.3x9)&&e)1t 1g r("1e6 118 1oE a 1gh and 4e-1gh 1Hv.");if(c&&g(a.3x9))1t 1g r("1e6 118 1oE a 4e and 1gh 1Hv.");1a.1QJ();if(g(a.13I)){1d f=a.13I;e=1a.2DB.1h=1a.2PL.1h=f.1h;if(e>d)1t 1g r("9B 2b of 1A 3x8 3nA 1Z 2b 11J.");1j(c=0;c<e;++c){1d h=f[c];if(!ua.4Vt(h.8b))1t 1g r("9B 1A-7y 17W-8V 2Q be a 1A 8V.");if(h.10E===Ha.3O&&!b.2K2)1t 1g r("9B 1A 7y 17W 14h is 3O and 1Z 1zV 1R5 18f 2S 19G 1Z 6CY or 6CX 10x. 31l 4j1.2K2.");if(h.10E===Ha.1kq&&!b.2K1)1t 1g r("9B 1A 7y 17W 14h is 1kq and 1Z 1zV 1R5 18f 2S 19G 1Z 6CW 6A. 31l 4j1.2K1.");1d l=1a.6M.3Ya+c;WQ(1a,l,h);1a.2PL[c]=l;1a.2DB[c]=h}}if(g(a.3S0)){b=a.3S0;e=1a.3aX.1h=1a.2PL.1h=b.1h;if(e>d)1t 1g r("9B 2b of 1A 3x8 3nA 1Z 2b 11J.");1j(c=0;c<e;++c)d=b[c],l=1a.6M.3Ya+c,PH(1a,l,d),1a.2PL[c]=l,1a.3aX[c]=d}if(g(a.8X)){h=a.8X;if(h.8b!==ua.1zc)1t 1g r("9B 4e-7y 17W-8V 2Q be 1zc.");WQ(1a,1a.6M.3Y9,h);1a.19m=h}g(a.2o1)&&(d=a.2o1,PH(1a,1a.6M.3Y9,d),1a.3aW=d);g(a.3x9)&&(d=a.3x9,PH(1a,1a.6M.6sy,d),1a.3aV=d);if(g(a.1ku)){h=a.1ku;if(h.8b!==ua.1eF)1t 1g r("9B 4e-1gh 17W-8V 2Q be 1eF.");WQ(1a,1a.6M.4ZN,h);1a.19K=h}g(a.1yY)&&(d=a.1yY,PH(1a,1a.6M.4ZN,d),1a.1yZ=d);1a.37G()}1b ds(){1a.13Z=1a.1bx=1a.19m=1a.3x7=1a.1Eg=1a.13p=1p 0;1a.1fx=1a.35u=1}1b XQ(){1f 1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})}1b W5(a){1d b=a.13p;g(b)&&(a.1Eg.1M(),a.3x7.1M(),a.19m.1M(),b.1M(),a.13p=1p 0,a.1Eg=1p 0,a.3x7=1p 0,a.19m=1p 0,a.1bx=1p 0,a.13Z=1p 0)}1b 6b7(a,b){1d c=pa.4t({12e:Dc.1bQ,13Q:!0,9J:{3e:!0},12h:Mc.33o(),1lq:Mc.1vh});a.1bx=b.1aL("#6A 5J : 5F\\1B 2v 2ca;\\1B 2v 2kf;\\1B 1v 2Gm;\\1J 1v 2F;\\2u 1ya(1o 1gS, 1v 2M)\\n{\\1r 6Y = 2Gm.x;\\2u 3GN = 2F + 2M * 6Y;\\2u 3GP = 2F + 2M * 2t(6Y);\\2u 3GO = 2F + 2M * 8a(6Y);\\1r 2Wb = 11N(1Y(2kf, 3GP));\\1r 2Wa = 11N(1Y(2kf, 3GO));\\1U (2Wb == 0.0 || 2Wa == 0.0) {\\2j 1v(0.0);\\n}\\1r 3GM = 3T(2Wb, 2Wa, 8N(6Y));\\1P 5Z = 1az(3GN, 3GM);\\2j 1v(1V(0.0, 1gS - 1iK(-5Z.z / 5Z.w)), 1.0);\\n}\\2s 2k()\\n{\\1r 1rj = 11N(1Y(2kf, 2F));\\1P 5Z = 1az(4u.xy, 1rj);\\2aX /= 5Z.w;\\1r 1gS = 1iK(-5Z.z);\\1U (1rj == 0.0)\\n{\\10W;\\n}\\1P 1A = 1Y(2ca, 2F);\\2u 14v = 1.0 / 9e.zw;\\2u 1Yc = 1v(0.0);\\1Ib += 1ya(1gS, 1v(-14v.x, 0.0));\\1Ib += 1ya(1gS, 1v(+14v.x, 0.0));\\1Ib += 1ya(1gS, 1v(0.0, -14v.y));\\1Ib += 1ya(1gS, 1v(0.0, +14v.y));\\1r 1pa = 1Yc.x / 1Yc.y;\\1r 1xN = 2Gm.y;\\1r 1SN = 108(-1pa * 300.0 * 1xN);\\6p.2y *= 1SN;\\3R = 1m(1A);\\n#1z 10B\\1ri(1.0 + (17B * 1m(5Z.1H, 1.0)).w);\\n#1s\\1F2 = 18a(1m(5Z.1H, 1.0)).z;\\n#1u\\n}\\n",{4J:{2ca:1b(){1f a.1Eg},2kf:1b(){1f a.3x7},2Gm:1b(){YQ.x=a.1fx;YQ.y=a.35u;1f YQ}},4w:c,6t:ma.1uf,7H:a});a.13Z=1g Ec({4Q:a.13p,1A:1g y(0,0,0,0),4e:1,4w:pa.4t(),6t:ma.1uf,7H:a})}1b X5(a){1f a.1QR&&a.1Mb}1b 6b6(a,b){1d c=a.1hf.1Jv(b,"EC");if(!g(c)){c=b.12m;1d d=b.5A.1y();d.5p=d.5p.5d(1b(a){a=ja.1gF(a,"6FA");1f a=a.3X(/2C/g,"1OU[0]")});d.5p.1po("#6A 2jD : 5F \\n");d.5p.1q("1p 2k() \\n{ \\n    6FA(); \\n#1z 10B\\n    1nO();\\n    1OU[1] = 1lP(1bp); \\n#1s\\n    1OU[1] = 1lP(4u.z);\\n#1u\\n}");c=a.1hf.1Gx(b,"EC",{5O:b.5O,5A:d,7W:c})}1f c}1b sv(a){a=m(a,{});1a.1iM=m(a.1iM,!1);1a.1J0=m(a.1J0,1);1a.1yB=a.1yB;1a.1Ph=a.1Ph;1a.1FM=m(a.1FM,!0);1a.26k=m(a.26k,1);1a.26j=m(a.26j,1);1a.1JB=m(a.1JB,!1);1a.1Uo=m(a.1Uo,!0)}1b no(a,b,c,d,e){1a.9F=a;1a.1cC=b;1a.12o=c;1a.6y=1a.16I=1p 0;1a.1TS=!1;1a.1dQ=1p 0;1a.1K0=!1;1a.2qD=1g pv({15U:d,8o:e,8d:!1,2s5:ma.1uf,2s4:6Fy(1a),2Fh:6Fx(1a),2iU:6Fw(1a),6Fz:6Fv(1a),2iT:6Fu(1a)})}1b 6Fy(a){1f 1b(b){1f g(a.6y)?a.6y.1zS(!1,"1k8",1p 0)(b):b}}1b 6Fx(a){1f 1b(b){1f g(a.6y)?a.6y.2Dv(!1,1p 0)(b):"2n 1m 1Hn;\\n"+b}}1b 6Fw(a){1f 1b(b){1f g(a.6y)?a.6y.1BM()(b):fb(b,{1Hn:1b(){1f a.16I.1A}})}}1b 6Fv(a){1f 1b(b,c,d){a.6y=1g Nd(a,b,c,d)}}1b 6Fu(a){1f 1b(){1f g(a.6y)?a.6y.1Rg():"1Hn"}}1b oo(a,b,c,d,e){1a.9F=a;1a.1cC=b;1a.12o=c;1a.7S=Z.12L();1a.1K0=!1;a:{a=m(e,0);d=1g 4L(d);d=Me(d,a);10G{1d f=4H.5N(d)}11B(h){1a.7S.7N(1g qa("13H 11H 15k."));1W a}1a.9F.4OS(1a.12o,f,1a.1cC);1a.7S.5h(1a)}}1b Of(a,b,c,d){1b e(a,b){1f I.1jh(b.3k)-I.1jh(a.3k)}v.2l("1O",a);if(!b||0===b.1h)1t 1g r("At 1gR 1bS 3Q is 1X.");1d f=Of.6b4(b);c=m(c,0);b=[];1j(1d h={},l,p,n=f.1h,k=0;k<n;++k){1d w=f[k];w.7e?b.1q(w):(p=w.7Q,l=h[p],g(l)||(l=h[p]=[]),l.1q(w))}1a.2PK=[];1j(p in h)h.3p(p)&&(l=h[p],l.15F(e),f=Of.6b3(l),l={23E:f,7e:1p 0,7Q:l[0].7Q,2qC:!1,15U:1p 0,467:Of.6b2(l,f)},1a.2PK.1q(l));1a.1eC=0;1a.1mh=m(d,!1);1a.6aX=b;1a.4j=a;1a.va=1a.2n4=1p 0;1a.1ce(c)}1b ZQ(a){1d b=a.va;if(g(b)){1j(1d c=b.1h,d=0;d<c;++d)b[d].va.1M();a.va=1p 0}}1b QH(a,b,c,d){a=A.10r(c.1on,E.9v(a.x,a.y,a.z,1,Y5),Y5);1d e=k.1oz(b,k.1T(a,Z5),Z5);a.x+=b.x+e.x;a.y+=b.y+e.y;a.z+=e.z;1f A.10r(c.3j.1pv,a,d)}1b wb(a,b){a=m(a,m.4Z);g(a.4FC)&&(a.4d=m(a.4FC.4d,1p 0));if(g(a.11p)&&0>a.11p)1t 1g r("11p 2Q be 9U 6L or 14B to 0.0.");1d c=a.15M,d=a.1cd,e=a.13h,f=a.4S;if(g(c)){if(c.3W<=c.3I)1t 1g r("15M.3W 2Q be 9U 6L 15M.3I.");c=Db.1y(c)}if(g(d)){if(d.3W<=d.3I)1t 1g r("1cd.3W 2Q be 9U 6L 1cd.3I.");d=Db.1y(d)}if(g(e)){if(e.3W<=e.3I)1t 1g r("13h.3W 2Q be 9U 6L 13h.3I.");e=Db.1y(e)}if(g(f)){if(f.3W<=f.3I)1t 1g r("4S.3W 2Q be 9U 6L 4S.3I.");f=ob.1y(f)}1a.10T=m(a.2p,!0);1a.9M=k.1y(m(a.1K,k.6h));1a.2qq=k.1y(1a.9M);1a.2yl=k.1y(m(a.2bo,k.6h));1a.1qS=C.1y(m(a.14l,C.6h));1a.23C=1g C(0,0);1a.1vS=k.1y(m(a.19V,k.6h));1a.1c1=m(a.6N,bb.6i);1a.1jT=m(a.16l,fc.1dq);1a.1qO=m(a.15P,oc.1dq);1a.13V=m(a.3b,1);1a.7a=y.1y(m(a.1A,y.9r));1a.1dP=m(a.5S,0);1a.2PJ=k.1y(m(a.1l5,k.6h));1a.10V=a.1G;1a.10o=a.1D;1a.1hV=e;1a.1gH=c;1a.1vR=d;1a.1Q0=m(a.1jC,!1);1a.17y=f;1a.1f9=a.11p;1a.7R=a.id;1a.1DS=m(a.1ho,b);1a.16I=1p 0;1a.26h=m(a.26h,1a);1a.13d=b;1a.1g6=!1;1a.12N=-1;1a.2PE=1p 0;1a.23D=-1;1a.1Rl=1a.3x4=1p 0;1a.1iw=m(a.4d,1p 0);1a.2qy=1a.2zF=1a.2PB=1a.4Q2=1a.4Q3=1a.1Rk=1p 0;b=a.4d;c=a.5u3;g(b)&&(g(c)||(c="4n"===2h b?b:g(b.1bv)?b.1bv:Ld()),1a.1Rl=c,1a.1iw=b);g(a.23r)&&(1a.1Rl=c,1a.1Rk=a.23r);g(1a.13d.18j)&&1a.2ym();1a.1lm=1a.29H=1p 0;1a.8C=O.6G;1a.23u=!0;1a.16O=y.1y(m(a.5M,y.1a7));1a.16n=m(a.5R,0);1a.1xz()}1b ye(a,b){1d c=a.13d;g(c)&&(c.4rD(a,b),a.1g6=!0)}1b Sp(a,b,c,d,e){1a.1BW=m(a,C.6h);1a.1WP=m(b,C.6h);1a.3ea=c;1a.3BH=d;1a.55U=e}1b Om(a){a=m(a,m.4Z);1d b=m(a.4PX,1),c=m(a.4PE,6aC);if(!g(a.1O))1t 1g r("1O is 1X.");if(0>b)1t 1g r("4PX 2Q be 9U 6L or 14B to 16m.");if(1>c.x||1>c.y)1t 1g r("4PE 2Q be 9U 6L 16m.");1a.4j=a.1O;1a.1vf=m(a.8b,ua.9m);1a.3x3=b;1a.2DA=[];1a.2qk=Ld();1a.462={};1a.2PI=c;1a.1Ki=1p 0}1b RH(a,b,c){if(g(b)){if(!g(b.3ea)&&!g(b.3BH)){if(g(b.55U))1f;1d d=b.1WP.x-b.1BW.x-c.1G,e=b.1WP.y-b.1BW.y-c.1D;if(0>d||0>e)1f;if(0===d&&0===e)1f b;d>e?(b.3ea=1g Sp(1g C(b.1BW.x,b.1BW.y),1g C(b.1BW.x+c.1G,b.1WP.y)),d=b.1BW.x+c.1G+a.3x3,d<b.1WP.x&&(b.3BH=1g Sp(1g C(d,b.1BW.y),1g C(b.1WP.x,b.1WP.y)))):(b.3ea=1g Sp(1g C(b.1BW.x,b.1BW.y),1g C(b.1WP.x,b.1BW.y+c.1D)),d=b.1BW.y+c.1D+a.3x3,d<b.1WP.y&&(b.3BH=1g Sp(1g C(b.1BW.x,d),1g C(b.1WP.x,b.1WP.y))));1f RH(a,b.3ea,c)}1f RH(a,b.3ea,c)||RH(a,b.3BH,c)}}1b $5(a,b,c){1d d=RH(a,a.1Ki,b);if(g(d)){d.55U=c;1d e=a.10q.1G,f=a.10q.1D;a.2DA[c]=1g Aa(d.1BW.x/e,d.1BW.y/f,(d.1WP.x-d.1BW.x)/e,(d.1WP.y-d.1BW.y)/f);a.10q.1iq(b,d.1BW.x,d.1BW.y)}1s{d=a.4j;1d h=a.3x3;if(0<a.460){1d l=a.10q.1G,p=a.10q.1D;e=2*(l+b.1G+h);f=2*(p+b.1D+h);1d n=l/e,k=p/f;l=1g Sp(1g C(l+h,h),1g C(e,p));l=1g Sp(1g C,1g C(e,p),a.1Ki,l);h=1g Sp(1g C(h,p+h),1g C(e,f));h=1g Sp(1g C,1g C(e,f),l,h);1j(p=0;p<a.2DA.1h;p++)l=a.2DA[p],g(l)&&(l.x*=n,l.y*=k,l.1G*=n,l.1D*=k);n=1g Ca({1O:a.4j,1G:e,1D:f,8b:a.1vf});k=1g eb({1O:d,13I:[a.10q],16Y:!1});if(k!==d.28T&&(d.28T=k,g(k))){k.1QJ();if(d.55h&&(p=d.6M,l=p.4Qe(p.1JV),l!==p.3nr)){6U(l){1S p.4ZM:1d w="2dn is 2S 1aH.  4di 1Hv: at 1gR 1bS 1Hv 7v 10M a 2pE or 7y 1ET 14d 2aT 1ET 2c no 3Pp in 6CS or 14d an 1ET 4d 10M a 1G or 1D of 16m, or 1Z 1A 1Hv 7v 14d a 26o-1A-1jP 4d 1ET, or 1Z 4e 1Hv 7v 14d a 26o-4e-1jP 4d 1ET, or 1Z 1gh 1Hv 7v 14d a 26o-1gh-1jP 4d 1ET.  1aV-1jP 4dh 2cK 6CR, 6CQ, and 6CP. 6CO is 1Z 1cF 4e-1jP 8V. 6CN is 1Z 1cF 1gh-1jP 8V.";1W;1S p.4ZK:w="2dn is 2S 1aH.  4di 6e: 2S all 1ET 1lw 118 1Z 1ik 1G and 1D.";1W;1S p.4ZL:w="2dn is 2S 1aH.  6CM 1Hv: no 1lw are 1ET to 1Z 4Q.";1W;1S p.4ZJ:w="2dn is 2S 1aH.  1Mp: 1Z 6CL of 55g 4dh of 1Z 1ET 1lw 6CK an 1R5-4Vv 1C of 6CJ."}1t 1g r(w);}w=k.468();d.1QR&&d.3tr(w)}n.2Eg(0,0,0,0,e,f);k.1M();a.10q&&a.10q.1M();a.10q=n;a.1Ki=h}1s d=2*(b.1G+2*h),e=2*(b.1D+2*h),d<a.2PI.x&&(d=a.2PI.x),e<a.2PI.y&&(e=a.2PI.y),a.10q=a.10q&&a.10q.1M(),a.10q=1g Ca({1O:a.4j,1G:d,1D:e,8b:a.1vf}),a.1Ki=1g Sp(1g C(h,h),1g C(d,e));$5(a,b,c)}a.2qk=Ld()}1b hy(a,b,c,d,e){1f 1g a6(a,b,c,d,e)}1b a6(a,b,c,d,e){b=b||6Ft;c=c||6Fs;e=e||2K;1a.3x2=d||64;1a.5I=a;1a.1a8=1g e(a.1h);1a.19t=1g e(2*a.1h);1j(d=0;d<a.1h;d++)1a.1a8[d]=d,1a.19t[2*d]=b(a[d]),1a.19t[2*d+1]=c(a[d]);$Q(1a.1a8,1a.19t,1a.3x2,0,1a.1a8.1h-1,0)}1b 6Ft(a){1f a[0]}1b 6Fs(a){1f a[1]}1b b6(a,b,c,d,e,f){e-=c;f-=d;a-=.5*e;b-=.5*f;1f a>c+e||a+e<c||b+f<d||b>d+f?!1:!0}1b $Q(a,b,c,d,e,f){if(!(e-d<=c)){1d h=1k.2t((d+e)/2);c6(a,b,h,d,e,f%2);$Q(a,b,c,d,h-1,f+1);$Q(a,b,c,h+1,e,f+1)}}1b c6(a,b,c,d,e,f){1j(;e>d;){if(600<e-d){1d h=e-d+1,l=c-d+1,g=1k.7k(h),n=.5*1k.108(2*g/3);g=.5*1k.3Y(g*n*(h-n)/h)*(0>l-h/2?-1:1);c6(a,b,c,1k.1V(d,1k.2t(c-l*n/h+g)),1k.2o(e,1k.2t(c+(h-l)*n/h+g)),f)}h=b[2*c+f];l=d;n=e;gC(a,b,d,c);1j(b[2*e+f]>h&&gC(a,b,d,e);l<n;){gC(a,b,l,n);l++;1j(n--;b[2*l+f]<h;)l++;1j(;b[2*n+f]>h;)n--}b[2*d+f]===h?gC(a,b,d,n):(n++,gC(a,b,n,e));n<=c&&(d=n+1);c<=n&&(e=n-1)}}1b gC(a,b,c,d){aR(a,c,d);aR(b,2*c,2*d);aR(b,2*c+1,2*d+1)}1b aR(a,b,c){1d d=a[b];a[b]=a[c];a[c]=d}1b po(a){1a.1EE={};1a.15p=[];1a.13d=1a.14N=1p 0;1a.3x1=!1;1a.3aT=!0;1a.6g=1p 0;1a.1pD=A.1y(A.8K);1a.5V=1g P;1a.2oC=!1;1a.1BN=1a.5Y=1p 0;1a.45Y=!1}1b bR(a){g(a.6g)&&(a.6g.4c=a.6g.4c&&a.6g.4c.1M(),a.6g.2z=a.6g.2z&&a.6g.2z.1M(),a.6g=1p 0)}1b 6av(a,b,c){bR(a);1d d=Ra.12S({1O:b,5b:c.1co,7Q:xa.7C}),e=Ra.12S({1O:b,5b:c.6ax,7Q:xa.7C}),f=Ra.12S({1O:b,5b:c.1Bd,7Q:xa.7C}),h=[],l={4f:0,7s:1,11X:2};h.1q({2P:l.4f,7e:d,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});h.1q({2P:l.7s,7e:e,2Z:2,3k:I.3O,9n:0,9t:8,1T:!1});h.1q({2P:l.11X,7e:f,2Z:1,3k:I.7U,9n:0,9t:1,1T:!1});c=Ra.17Q({1O:b,5b:c.2po,7Q:xa.7C,17P:c.6aw});a.6g=1g Oa({6Z:Ja.11G,4a:a.1pD,6W:a.5V,6t:ma.1Bc,7H:a});a.6g.4c=1g Fb({1O:b,2w:h,10X:c});h=1g ja({5p:["\\2J 1m 4f;\\2J 1m 7s;\\2J 1o 11X;\\1B 1o 1h8;\\1J 1o 4m;\\n\\1r 1CN()\\n{\\n\\7c 9I = 9q * 1m(4f.1H, 1.0);\\n\\7c 1o1 = 17B * 9I;\\n\\4s 1CP = 1dv(9I);\\n\\3ii.x = 1o1.x - 2.0 * 1CP;\\n\\7c 1CO = 1k1 * 1o1;\\n\\11r 1h(9I - 1CO);\\n}\\2s 2k()\\n{\\n    7d 3KI = 7s.x < 0.1;\\n    1o 2M = 3KI ? -1h8 : 1h8;\\n    1m 2YQ = 9q * 1m(4f.1H, 1.0);\\n\\5gS.x = 2YQ.x + 2M * 1CN();\\n\\1tg = 17B * 2YQ;\\n\\2vI = 11X;\\n}"]});c=1g ja({5p:["2n 1m 2vJ;\\1J 1o 4m;\\2s 2k()\\n{\\n    if(4m < 0.1)\\n    {\\n        7o;\\n        1f;\\n    }\\n    2C = 2vJ;\\n}\\n"]});a.6g.2z=Ga.4t({1O:b,5O:h,5A:c,7W:l});a.6g.4w=pa.4t({8d:{3e:!1},9J:{3e:!0},12e:Dc.1bQ});a.6g.4J={1h8:1b(){1f a.14N.3td},2vJ:1b(){1f a.14N.3te}}}1b d6(a){if(a.3aT){a.15p=[];if(a.5Y.3z===O.6G)1j(1d b in a.1EE)1j(1d c=a.1EE[b],d=0;d<c.1h;d++){1d e=c[d].1K,f=1g k;k.1T(e,f);k.4g(f,16t,f);c[d].45Z=2*a.15p.1h;a.15p.1q(e);a.15p.1q(f)}1s 1j(b in a.1EE)1j(c=a.1EE[b],d=0;d<c.1h;d++)e=c[d].1K,f=1g k(e.x,e.y,0),c[d].45Z=2*a.15p.1h,a.15p.1q(e),a.15p.1q(f);a.3aT=!1}}1b xd(a){a=m(a,m.4Z);1a.2R=a.4r;1a.6y=a.1ac;1a.32r=1a.18j=1p 0;1a.2eN=!0;1a.1aa=1a.4PJ=1a.2n1=1a.2Pr=1a.45T=1a.1ED=1a.11V=1p 0;1a.2PH={};1a.17T=[];1a.2eO=[];1a.1PQ=0;1a.4PK=1a.2qB=1a.3ai=1a.1Rf=1a.3aj=1a.2hZ=1a.4PL=1a.3wX=1a.3ak=1a.2i0=1a.3al=1a.2i1=1a.4PM=1a.3wY=1a.4PN=1a.3aR=1a.1jb=1a.2eP=!1;1a.1vc=1g 12X(cR);1a.45V=1a.3aS=0;1a.2PG=1;1a.3wZ=0;1a.3x0=1a.45W=1a.45X=!0;1a.1Mh=1g P;1a.2n3=1g P;1a.2n2=1g P;1a.11S=1g P;1a.1Mi=!1;1a.27k=[];1a.4PO=m(a.1VR,!0);1a.4a=A.1y(m(a.4a,A.8K));1a.12t=A.1y(A.8K);1a.15S=m(a.15S,!1);1a.4PI=m(a.4PI,!1);1a.1W3=m(a.1W3,jf.23t);1a.1r5=1p 0;1a.45U=a.5yA;1a.2JW=m(a.2Sl,!1);1a.6a4=a.4tZ;1a.8C=O.6G;1a.3am=[xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C];1a.1nG=y.1y(y.9r);1d b=1a;1a.1dg={1Xv:1b(){1f b.18j.7y},1nU:1b(){1f b.1nG},3hA:1b(){if(!g(b.2R)||!g(b.2R.3w))1f 0;1d a=b.2R.3w;1f.11t*a.19I.1D*1k.2T(a.8q)}};1d c=1a.2R;g(c)&&g(c.27d)&&(1a.1lm=c.27d.7K(1b(){1j(1d a=1a.17T,b=a.1h,c=0;c<b;++c)a[c].1xz()},1a));1a.29I=1g po;1a.1gb=m(a.1cJ,1p 0);1a.29I.2r=1a.1gb}1b e6(a){1j(1d b=a.1h,c=0;c<b;++c)a[c]&&a[c].1sm()}1b SH(a){if(a.2eP){a.2eP=!1;1j(1d b=[],c=a.17T,d=c.1h,e=0,f=0;e<d;++e){1d h=c[e];if(h){1d l=h.12N;h.12N=f++;b.1q(h);a.29I.6ay(h.id,l,h.12N)}}a.17T=b}}1b 6af(a){1d b=a.1au.4cI;if(g(b))1f b;b=1g 10Y(4cJ);1j(1d c=0,d=0;4cJ>c;c+=6,d+=4)b[c]=d,b[c+1]=d+1,b[c+2]=d+2,b[c+3]=d+0,b[c+4]=d+2,b[c+5]=d+3;b=Ra.17Q({1O:a,5b:b,7Q:xa.7C,17P:Ta.10P});b.1hU=!1;1f a.1au.4cI=b}1b 6ag(a){1d b=a.1au.4cH;if(g(b))1f b;b=Ra.17Q({1O:a,5b:1g 10Y([0,1,2,0,2,3]),7Q:xa.7C,17P:Ta.10P});b.1hU=!1;1f a.1au.4cH=b}1b 6ad(a){1d b=a.1au.4cG;if(g(b))1f b;b=Ra.12S({1O:a,5b:1g 4A([0,0,1,0,1,1,0,1]),7Q:xa.7C});b.1hU=!1;1f a.1au.4cG=b}1b f6(a,b,c,d,e){b=d[je.1xT];d=d[je.1Cr];c=e.3wa();a.8C===O.6G&&(P.1We(a.1Mh,c,a.1Mh),a.1Mi=!0);bc.12y(c,dR);c=e.3b;1d f=e.5S;0!==f&&(a.3aR=!0);a.2PG=1k.1V(a.2PG,c);1d h=dR.162,l=dR.15r;a.1mh?(a=e.12N,b(a,h.x,h.y,h.z,c),d(a,l.x,l.y,l.z,f)):(a=4*e.12N,b(a+0,h.x,h.y,h.z,c),b(a+1,h.x,h.y,h.z,c),b(a+2,h.x,h.y,h.z,c),b(a+3,h.x,h.y,h.z,c),d(a+0,l.x,l.y,l.z,f),d(a+1,l.x,l.y,l.z,f),d(a+2,l.x,l.y,l.z,f),d(a+3,l.x,l.y,l.z,f))}1b g6(a,b,c,d,e){b=d[je.1lU];d=e.14l;1d f=d.x,h=d.y;d=e.23C;1d l=d.x,p=d.y;a.3wZ=1k.1V(a.3wZ,1k.abs(f+l),1k.abs(-h+p));1d n=e.15P,k=e.1jT,w=e.2p&&e.29y;0===e.1A.2O&&(w=!1);k===fc.2i7&&(k=fc.1Qm);a.45X=a.45X&&n===oc.1dq;a.45W=a.45W&&k===fc.1dq;1d x=d=0,D=0,t=0,m=e.23D;if(-1!==m){c=c[m];if(!g(c))1t 1g r("13H 10i 4d 2P: "+m);d=c.x;x=c.y;D=c.1G;t=c.1D}c=d+D;D=x+t;f=128*1k.2t(B.2Y(f,-1Aw,1Aw)+1Aw);f=f+32*(n+1)+8*(k+1);f+=4*(w?1:0);h=256*1k.2t(B.2Y(h,-1Aw,1Aw)+1Aw);l=256*1k.2t(B.2Y(l,-1Aw,1Aw)+1Aw);n=(B.2Y(p,-1Aw,1Aw)+1Aw)*6aj;p=1k.2t(n);n=1k.2t(256*(n-p));h+=p;l+=n;El.x=d;El.y=x;x=xb.1tZ(El);El.x=c;p=xb.1tZ(El);El.y=D;c=xb.1tZ(El);El.x=d;d=xb.1tZ(El);a.1mh?(a=e.12N,b(a,f,h,l,x)):(a=4*e.12N,b(a+0,f+0,h,l,x),b(a+1,f+2,h,l,p),b(a+2,f+3,h,l,c),b(a+3,f+1,h,l,d))}1b h6(a,b,c,d,e){b=d[je.1lV];1d f=e.1l5;k.2L(f,k.6h)||(a.3wY=!0);d=0;1d h=1,l=1,p=1,n=e.15M;g(n)&&(d=n.3I,h=n.1DO,l=n.3W,p=n.1DN,1!==h||1!==p)&&(a.2i0=!0);1d z=0;n=e.23D;if(-1!==n){c=c[n];if(!g(c))1t 1g r("13H 10i 4d 2P: "+n);z=c.1G}c=1k.9p(m(e.1G,a.18j.7y.1G*z));a.3aS=1k.1V(a.3aS,c);c=B.2Y(c,0,12v);n=0;1k.abs(k.17j(f)-1)<B.1g9&&(n=xb.2Rm(f));h=B.2Y(h,0,1);c=256*c+(1===h?255:255*h|0);p=B.2Y(p,0,1);n=256*n+(1===p?255:255*p|0);a.1mh?(a=e.12N,b(a,c,n,d,l)):(a=4*e.12N,b(a+0,c,n,d,l),b(a+1,c,n,d,l),b(a+2,c,n,d,l),b(a+3,c,n,d,l))}1b eR(a,b,c,d,e){d=d[je.1D5];1d f=e.1A,h=g(a.6y)?y.9r:e.1Rg(b).1A;b=e.1jC?1:0;1d l=1k.abs(k.17j(e.1l5)-1)<B.1g9?1:0;a.3x0=a.3x0&&1===b;1d p=0,n=e.23D;if(-1!==n){c=c[n];if(!g(c))1t 1g r("13H 10i 4d 2P: "+n);p=c.1D}c=1k.9p(m(e.1D,a.18j.7y.6e.y*p));a.3aS=1k.1V(a.3aS,c);n=m(e.2zF,-2);c=4*c+(n+2);p=y.10F(f.5r);1d z=y.10F(f.5t),w=y.10F(f.5G);n=12v*p+256*z+w;p=y.10F(h.5r);z=y.10F(h.5t);w=y.10F(h.5G);p=12v*p+256*z+w;f=12v*y.10F(f.2O)+256*y.10F(h.2O);f+=2*b+l;a.1mh?(a=e.12N,d(a,n,p,f,c)):(a=4*e.12N,d(a+0,n,p,f,c),d(a+1,n,p,f,c),d(a+2,n,p,f,c),d(a+3,n,p,f,c))}1b fR(a,b,c,d,e){b=d[je.19V];d=e.19V;1d f=d.z;e.1c1!==bb.6i&&(f*=1.1Am);a.45V=1k.1V(a.45V,1k.abs(d.x),1k.abs(d.y),1k.abs(f));if(a.1mh){1d h=a=0,l=e.23D;if(-1!==l){c=c[l];if(!g(c))1t 1g r("13H 10i 4d 2P: "+l);a=c.1G;h=c.1D}El.x=a;El.y=h;c=xb.1tZ(El);e=e.12N;b(e,d.x,d.y,f,c)}1s e=4*e.12N,b(e+0,d.x,d.y,f,0),b(e+1,d.x,d.y,f,0),b(e+2,d.x,d.y,f,0),b(e+3,d.x,d.y,f,0)}1b i6(a,b,c,d,e){b=d[je.13h];c=0;1d f=d=1,h=1,l=e.13h;g(l)&&(c=l.3I,d=l.1DO,f=l.3W,h=l.1DN,1!==d||1!==h)&&(a.2i1=!0);a.1mh?(a=e.12N,b(a,c,d,f,h)):(a=4*e.12N,b(a+0,c,d,f,h),b(a+1,c,d,f,h),b(a+2,c,d,f,h),b(a+3,c,d,f,h))}1b j6(a,b,c,d,e){b=d[je.1cd];c=0;1d f=d=1,h=1,l=e.1cd;g(l)&&(c=l.3I,d=l.1DO,f=l.3W,h=l.1DN,1!==d||1!==h)&&(a.3wX=!0);a.1mh?(a=e.12N,b(a,c,d,f,h)):(a=4*e.12N,b(a+0,c,d,f,h),b(a+1,c,d,f,h),b(a+2,c,d,f,h),b(a+3,c,d,f,h))}1b k6(a,b,c,d,e){b=d[je.1OK];d=0;1d f=3a.6w,h=e.4S;g(h)&&(d=h.3I,f=h.3W,d*=d,f*=f,a.2hZ=!0);h=e.11p;1d l=e.6N===bb.1me&&a.2R.1O.8X;g(h)||(h=l?5E3:0);h*=h;if(l||0<h)a.1Rf=!0,h===3a.19B&&(h=-1);if(g(e.2PB))l=e.2PB.x,c=e.2PB.y;1s{1d p=l=0,n=e.23D;if(-1!==n){c=c[n];if(!g(c))1t 1g r("13H 10i 4d 2P: "+n);l=c.1D;p=c.1G}c=1k.9p(m(e.1D,a.18j.7y.6e.y*l));l=1k.9p(m(e.1G,a.18j.7y.1G*p))}l=1k.2t(B.2Y(l,0,18C));c=1k.2t(B.2Y(c,0,18C));c=18C*l+c;a.1mh?(a=e.12N,b(a,d,f,h,c)):(a=4*e.12N,b(a+0,d,f,h,c),b(a+1,d,f,h,c),b(a+2,d,f,h,c),b(a+3,d,f,h,c))}1b l6(a,b,c,d,e){e.6N===bb.1me&&(a.2qB=a.2R.1O.8X);b=d[je.2cP];if(0<sb.2gQ){1d f=d=0;g(e.2qy)&&(d=e.2qy.x,f=e.2qy.y);a.1mh?(a=e.12N,b(a,d,f,0,0)):(a=4*e.12N,b(a+0,d,f,0,0),b(a+1,d,f,0,0),b(a+2,d,f,0,0),b(a+3,d,f,0,0))}1s{1d h=f=d=0,l=0,p=e.23D;if(-1!==p){c=c[p];if(!g(c))1t 1g r("13H 10i 4d 2P: "+p);d=c.x;f=c.y;h=c.1G;l=c.1D}c=d+h;h=f+l;a.1mh?(a=e.12N,b(a,d,f,c,h)):(a=4*e.12N,b(a+0,d,f,c,h),b(a+1,d,f,c,h),b(a+2,d,f,c,h),b(a+3,d,f,c,h))}}1b m6(a,b,c,d,e){if(a.2i9){b=d[je.1D1];c=e.5M;d=e.5R;1d f=y.10F(c.5r),h=y.10F(c.5t),l=y.10F(c.5G);f=12v*f+256*h+l;d/=qk.4Py;c=12v*y.10F(c.2O)+256*y.10F(d);a.1mh?(a=e.12N,b(a,f,c)):(a=4*e.12N,b(a+0,f+0,c),b(a+1,f+2,c),b(a+2,f+3,c),b(a+3,f+1,c))}}1b gR(a,b,c,d,e,f){if(d.3z===O.6G){1d h=a.1Mh;a.1Mi=!0}1s h=a.2n2;a=[];1j(1d l=0;l<c;++l){1d p=b[l],n=wb.3w8(p,p.1K,d,e);g(n)&&(p.3w9(n),f?a.1q(n):P.1We(h,n,h))}f&&P.1aN(a,h)}1b 6a2(a,b){b=b.1aL("2n 2v 55T; \\1J 1v 2F; \\2s 2k() \\n{ \\n    2C = 1Y(55T, 2F); \\n} \\n",{4J:{55T:1b(){1f a.18j.7y}}});b.6t=ma.1eW;1f b}1b n6(a){1f a.16Q.x}1b o6(a){1f a.16Q.y}1b hR(a,b,c,d,e){1f 1b(){1d f=3n.4O("3M"),h=e+2*d;f.1D=f.1G=h;1d l=f.1ft("2d");l.2lF(0,0,h,h);0!==d&&(l.1Ja(),l.arc(h/2,h/2,h/2,0,2*1k.PI,!0),l.26x(),l.15b=c,l.4K(),1>a&&(l.2x4(),l.3e9="16h-9H",l.1Ja(),l.arc(h/2,h/2,e/2,0,2*1k.PI,!0),l.26x(),l.15b="2p4",l.4K(),l.4mQ()));l.1Ja();l.arc(h/2,h/2,e/2,0,2*1k.PI,!0);l.26x();l.15b=b;l.4K();1f f}}1b Pf(a,b,c,d,e){1a.1ae=a;1a.1ow=c;1a.1eh=d;1a.1u6=e;1a.1oI=b;1a.2zG=1a.2zH=1a.2oc=1a.1Qf=1a.7a=1a.55R=1a.55S=1a.4dE=1a.4dF=1a.2Dz=1p 0;1a.1zT=2K(3);iy(1a)}1b iy(a){1d b=a.1ow;if(g(a.2Dz)&&a.2Dz!==b.4d)b.4d=a.2Dz;1s if(!g(a.2Dz)){1d c=m(a.7a,Pf.4Pr),d=m(a.2oc,Pf.4Pq),e=m(a.2zH,Pf.4Pp),f=m(a.1Qf,Pf.4Ps),h=a.4dE,l=a.55S,p=a.55R;y.2L(c,a.4dF)&&y.2L(d,h)&&e===l&&f===p||(a.4dF=y.1y(c,a.4dF),a.4dE=y.1y(d,a.4dE),a.55S=e,a.55R=f,a=c.2O,c=c.1fY(),d=d.1fY(),h=4H.8s([c,f,d,e]),b.1ZX(h,hR(a,c,d,e,f)))}}1b p6(a,b){b||(b={});1d c=1F==b.4PA?.25:b.4PA,d=1F==b.3L?8:b.3L,e=b.1yj||0;if(1aq.2q0(a)||2K.8n(a)){if(!b.1G||!b.1D)1t 6u("22p 2mp 2g 1G and 1D 1tD be 20i by 3v");1d f=b.1G;1d h=b.1D;1d l=a;1d g=b.14e?b.14e:1k.2t(a.1h/f/h)}1s 7O.2hs&&a 2m 7O.2hs?(h=a,l=h.1ft("2d"),f=h.1G,h=h.1D,l=l.1LW(0,0,f,h),l=l.2g,g=4):7O.6Fr&&a 2m 7O.6Fr?(h=a.3M,f=h.1G,h=h.1D,l=a.1LW(0,0,f,h),l=l.2g,g=4):7O.2Ou&&a 2m 7O.2Ou&&(f=a.1G,h=a.1D,l=a.2g,g=4);1d n=1k.1V(f,h);if(7O.2OB&&l 2m 7O.2OB||7O.4L&&l 2m 7O.4L){1d k=l;l=2K(f*h);a=0;1j(b=k.1h;a<b;a++)l[a]=k[a*g+e]/255}1s if(1!==g)1t 6u("anD 2g 1ag 118 1cF 1 1Q 2pi 17W");e=2K(f*h);g=2K(f*h);k=2K(n);1d w=2K(n),x=2K(n+1);n=2K(n);a=0;1j(b=f*h;a<b;a++){1d D=l[a];e[a]=1===D?0:0===D?3BG:1k.3r(1k.1V(0,.5-D),2);g[a]=1===D?3BG:0===D?0:1k.3r(1k.1V(0,D-.5),2)}q6(e,f,h,k,w,n,x);q6(g,f,h,k,w,n,x);l=7O.4A?1g 4A(f*h):2K(f*h);a=0;1j(b=f*h;a<b;a++)f=1-((e[a]-g[a])/d+c),l[a]=0>f?0:1<f?1:f;1f l}1b q6(a,b,c,d,e,f,h){1j(1d l=0;l<b;l++){1j(1d g=0;g<c;g++)d[g]=a[g*b+l];r6(d,e,f,h,c);1j(g=0;g<c;g++)a[g*b+l]=e[g]}1j(g=0;g<c;g++){1j(l=0;l<b;l++)d[l]=a[g*b+l];r6(d,e,f,h,b);1j(l=0;l<b;l++)a[g*b+l]=1k.3Y(e[l])}}1b r6(a,b,c,d,e){c[0]=0;d[0]=-3BG;d[1]=3BG;1j(1d f=1,h=0;f<e;f++){1j(1d l=(a[f]+f*f-(a[c[h]]+c[h]*c[h]))/(2*f-2*c[h]);l<=d[h];)h--,l=(a[f]+f*f-(a[c[h]]+c[h]*c[h]))/(2*f-2*c[h]);h++;c[h]=f;d[h]=l;d[h+1]=3BG}1j(h=f=0;f<e;f++){1j(;d[h+1]<f;)h++;b[f]=(f-c[h])*(f-c[h])+a[c[h]]}}1b Tp(a){a.3aP||a.2PA||a.16k.2Pz.1q(a);a.3aP=!0}1b hC(a){a.3aP||a.2PA||a.16k.2Pz.1q(a);a.2PA=!0}1b iR(a){1d b=3n.4O("5u");b.2r.1K="1J1";b.2r.7z=0;b.2r.9O=a.1Bp;3n.1hg.3A(b);a.4PB=3n.26Q.1Zy(b,1F).2Ia("9O-44j");a.1xt=3n.26Q.1Zy(b,1F).2Ia("9O-4V").3X("px","");a.4PD=3n.26Q.1Zy(b,1F).2Ia("9O-2r");a.1QT=3n.26Q.1Zy(b,1F).2Ia("9O-1hF");3n.1hg.18Z(b)}1b Fj(a,b){a=m(a,m.4Z);if(g(a.4FB)){1d c=a.4FB;a.9O=c.9O;a.1b5=c.1b5;a.5M=c.5M;a.5R=c.5R;a.1oC=c.1oC;a.1a4=c.1a4;a.1pJ=c.1pJ;a.2r=c.15b;a.16l=c.16l;a.15P=c.15P;a.14l=c.14l;a.19V=c.19V;a.3b=c.3b;a.15M=c.15M;a.1cd=c.1cd;a.13h=c.13h;a.6N=c.6N;a.4S=c.4S;a.11p=c.11p}if(g(a.11p)&&0>a.11p)1t 1g r("11p 2Q be 9U 6L 0.0.");c=a.15M;1d d=a.1cd,e=a.13h,f=a.4S;if(g(c)){if(c.3W<=c.3I)1t 1g r("15M.3W 2Q be 9U 6L 15M.3I.");c=Db.1y(c)}if(g(d)){if(d.3W<=d.3I)1t 1g r("1cd.3W 2Q be 9U 6L 1cd.3I.");d=Db.1y(d)}if(g(e)){if(e.3W<=e.3I)1t 1g r("13h.3W 2Q be 9U 6L 13h.3I.");e=Db.1y(e)}if(g(f)){if(f.3W<=f.3I)1t 1g r("4S.3W 2Q be 9U 6L 4S.3I.");f=ob.1y(f)}1a.39X=1a.3aO=1p 0;1a.10T=m(a.2p,!0);1a.1Bp=m(a.9O,"44T 1TG-1TF");1a.1pN=y.1y(m(a.1b5,y.9r));1a.45R=y.1y(1a.1pN);1a.16O=y.1y(m(a.5M,y.1a7));1a.16n=m(a.5R,1);1a.1MN=m(a.1oC,!1);1a.1vi=m(a.1a4,1g y(.165,.165,.165,.8));1a.1Qe=m(a.1pJ,1g C(7,5));1a.3aQ=m(a.5Yp,1F);1a.14N=m(a.2r,qe.1LX);1a.1jT=m(a.16l,fc.2i7);1a.1qO=m(a.15P,oc.1dq);1a.1qS=C.1y(m(a.14l,C.6h));1a.1vS=k.1y(m(a.19V,k.6h));1a.9M=k.1y(m(a.1K,k.6h));1a.13V=m(a.3b,1);1a.7R=a.id;1a.1gH=c;1a.1vR=d;1a.1hV=e;1a.1c1=m(a.6N,bb.6i);1a.17y=f;1a.1f9=a.11p;1a.16k=b;1a.1pZ=[];1a.2PE=1a.1r6=1p 0;1a.2PA=1a.3aP=!0;1a.8C=1a.1lm=1a.29H=1p 0;1a.23u=!0;1a.3l=m(a.3l,"");1a.2PD=1;1a.12N=m(a.2P,0);1a.2Px=!1;1a.4Pu=1g C;1a.3wR=1g Aa;iR(1a);1a.1xz()}1b iC(a,b,c){1f a.4h(0,b)+c+a.4h(b)}1b 69X(a){6U(a){1S"(":1f")";1S")":1f"(";1S"[":1f"]";1S"]":1f"[";1S"{":1f"}";1S"}":1f"{";1S"<":1f">";1S">":1f"<"}}1b s6(){1b a(a,b){1p 0===b&&(b=0);1d c=a.19a(b);if(1v4<=c&&3Or>=c&&b<a.1h-1){1d d=c;a=a.19a(b+1);1f 1AV<=a&&2Ja>=a?13j*(d-1v4)+(a-1AV)+12v:d}1f 1AV<=c&&2Ja>=c&&1<=b?(d=a.19a(b-1),a=c,1v4<=d&&3Or>=d?13j*(d-1v4)+(a-1AV)+12v:a):c}1b b(a,b,c){1d d=[a].9V(b).9V([c]),e=d[d.1h-2],f=d.1sl(14);if(1<f&&d.4h(1,f).2el(1b(a){1f 3==a})&&-1==[3,13,17].3f(a))1f 2;a=d.1sl(4);if(0<a&&d.4h(1,a).2el(1b(a){1f 4==a})&&-1==[12,4].3f(e))1f 1==d.14O(1b(a){1f 4==a}).1h%2?3:4;if(0==e&&1==c)1f 0;if(2==e||0==e||1==e)1f 14==c&&b.2el(1b(a){1f 3==a})?2:1;if(2==c||0==c||1==c)1f 1;if(6!=e||6!=c&&7!=c&&9!=c&&10!=c)if(9!=e&&7!=e||7!=c&&8!=c)if(10!=e&&8!=e||8!=c){if(3==c||15==c||5==c||12==e)1f 0}1s 1f 0;1s 1f 0;1s 1f 0;a=-1!=d.3f(3)?d.1sl(3)-1:d.1h-2;1f-1!=[13,17].3f(d[a])&&d.4h(a+1,-1).2el(1b(a){1f 3==a})&&14==c||15==e&&-1!=[16,17].3f(c)?0:-1!=b.3f(4)?2:4==e&&4==c?0:1}1b c(a){1f 4Kh<=a&&anC>=a||anB==a||anA==a||anx==a||anw==a||anv==a||anu<=a&&ant>=a||ans==a||anr<=a&&anq>=a||anp==a?12:13==a?0:10==a?1:0<=a&&9>=a||11<=a&&12>=a||14<=a&&31>=a||127<=a&&159>=a||173==a||ano==a||ann==a||anm==a||anl<=a&&ank>=a||anj==a||ani==a||anh<=a&&ang>=a||anf<=a&&ane>=a||anc==a||anb<=a&&5Zn>=a||1v4<=a&&2Ja>=a||5Zg==a||an9<=a&&an8>=a||an7<=a&&an6>=a||an5<=a&&an4>=a||an3<=a&&an2>=a||an1==a||an0==a||amZ<=a&&amY>=a||amX<=a&&amW>=a||amV<=a&&amU>=a?2:768<=a&&879>=a||amT<=a&&amS>=a||amR<=a&&amQ>=a||amP<=a&&amO>=a||amN==a||4Um<=a&&amM>=a||amL<=a&&amK>=a||6Fq==a||amJ<=a&&51R>=a||amI<=a&&amH>=a||amG==a||amF<=a&&amE>=a||amD<=a&&amC>=a||amB<=a&&amA>=a||amz<=a&&amy>=a||amx==a||amw<=a&&6oE>=a||amv<=a&&6oB>=a||amu<=a&&amt>=a||ams<=a&&amr>=a||6Fp<=a&&amq>=a||amo<=a&&amn>=a||amm<=a&&aml>=a||amk<=a&&amj>=a||ami<=a&&amh>=a||amg<=a&&amf>=a||ame==a||amc==a||amb<=a&&6Fo>=a||am9==a||am8<=a&&am7>=a||am6<=a&&am5>=a||am4==a||am3==a||am2==a||am1<=a&&am0>=a||alZ==a||alY==a||6Fn<=a&&alX>=a||alW<=a&&5Pw>=a||alV==a||alU<=a&&alT>=a||alS<=a&&alR>=a||alQ<=a&&alP>=a||alO==a||alN<=a&&alM>=a||alL==a||alK<=a&&alJ>=a||alI==a||alH<=a&&alG>=a||alF<=a&&alE>=a||alD==a||alC<=a&&alB>=a||alA<=a&&alz>=a||aly==a||alx==a||alw==a||alv==a||alu<=a&&6sT>=a||als==a||alr==a||alq==a||alp<=a&&alo>=a||aln==a||alm==a||alk==a||alj==a||ali==a||4WT==a||alh<=a&&alg>=a||alf<=a&&ale>=a||ald<=a&&5BM>=a||alc<=a&&alb>=a||al9<=a&&al8>=a||3qJ==a||al7==a||al6==a||al5==a||al4==a||al3<=a&&al2>=a||al1<=a&&al0>=a||akZ<=a&&akY>=a||akX<=a&&akW>=a||akV<=a&&akU>=a||akT==a||akS<=a&&akR>=a||akQ==a||6sK==a||akP<=a&&akO>=a||akN==a||akM==a||akL<=a&&akK>=a||akJ==a||akI==a||6oc==a||akH<=a&&akG>=a||akF<=a&&akE>=a||akD==a||akC<=a&&akB>=a||akA<=a&&akz>=a||aky<=a&&akx>=a||akw<=a&&akv>=a||aku==a||akt==a||aks==a||akr<=a&&akq>=a||ako<=a&&akn>=a||akm<=a&&akl>=a||akk<=a&&akj>=a||aki<=a&&akh>=a||akg==a||akf<=a&&ake>=a||akd<=a&&akc>=a||akb<=a&&ak9>=a||ak8<=a&&ak7>=a||ak6<=a&&ak5>=a||ak4<=a&&ak3>=a||ak2<=a&&ak1>=a||ak0==a||ajZ<=a&&ajY>=a||ajX==a||ajW==a||ajV<=a&&ajU>=a||ajT<=a&&ajS>=a||ajR<=a&&ajQ>=a||ajP<=a&&ajO>=a||ajN<=a&&ajM>=a||ajL<=a&&ajK>=a||ajJ<=a&&ajI>=a||ajH==a||ajG<=a&&ajF>=a||ajE==a||ajD<=a&&ajC>=a||ajB<=a&&ajA>=a||ajz==a||ajy<=a&&ajx>=a||ajw<=a&&ajv>=a||aju==a||ajt<=a&&ajs>=a||ajr<=a&&ajq>=a||ajp==a||ajo==a||ajn<=a&&ajm>=a||ajl==a||ajk==a||ajj<=a&&aji>=a||ajh<=a&&ajg>=a||ajf==a||aje<=a&&ajd>=a||ajc==a||ajb<=a&&aj9>=a||aj8==a||aj7<=a&&aj6>=a||aj5==a||aj4==a||aj3<=a&&aj2>=a||aj1<=a&&aj0>=a||aiZ<=a&&aiY>=a||aiX<=a&&aiW>=a||aiV<=a&&aiU>=a||aiT==a||aiS<=a&&aiR>=a||aiQ==a||aiP<=a&&aiO>=a||aiN<=a&&aiM>=a||aiL<=a&&aiK>=a||aiJ<=a&&aiI>=a||aiH<=a&&aiG>=a||aiF<=a&&aiE>=a||aiD==a||aiC==a||aiB<=a&&aiA>=a||aiz<=a&&aiy>=a||aix<=a&&aiw>=a||aiv==a||aiu<=a&&ait>=a||ais<=a&&air>=a||aiq==a||aip<=a&&aio>=a||6ok<=a&&ain>=a||aim<=a&&ail>=a||aik==a||aij<=a&&aii>=a||aih<=a&&aif>=a||aie<=a&&aid>=a||aic<=a&&aib>=a||ai9==a||ai8<=a&&ai7>=a||ai6<=a&&ai5>=a||ai4<=a&&ai3>=a||ai2<=a&&ai1>=a||ai0==a||ahZ==a||ahY==a||ahX<=a&&ahW>=a||ahV<=a&&ahU>=a||6ui<=a&&ahT>=a||ahS<=a&&ahR>=a||ahQ<=a&&ahP>=a||ahO<=a&&ahN>=a||ahM==a||ahL<=a&&ahK>=a||ahJ==a||ahI==a||ahH<=a&&ahG>=a||ahF<=a&&ahE>=a||ahD<=a&&ahC>=a||ahB==a||ahA==a||ahz==a||ahy==a||ahx<=a&&ahw>=a||ahv<=a&&ahu>=a||aht<=a&&ahs>=a||ahr==a||ahq<=a&&ahp>=a||aho==a||ahn==a||ahm==a||ahl==a||ahk==a||64S<=a&&ahj>=a||ahi<=a&&ahh>=a||ahg<=a&&ahf>=a||ahe==a||ahd==a||ahc<=a&&ahb>=a||ah9<=a&&ah8>=a||ah7<=a&&ah6>=a||ah5<=a&&ah4>=a||ah3<=a&&ah2>=a||ah1==a||ah0<=a&&agZ>=a||agY==a||agX<=a&&agW>=a||agV<=a&&agU>=a||agT<=a&&agS>=a||agR<=a&&agQ>=a||agP<=a&&agO>=a||agN<=a&&agM>=a||agL<=a&&agK>=a||agJ==a||agI<=a&&agH>=a||agG<=a&&agF>=a||agE<=a&&agD>=a||agC<=a&&agB>=a||agA==a||agz<=a&&agy>=a||agx==a||agw==a||agv<=a&&agu>=a||agt<=a&&ags>=a||agr==a||agq==a||agp==a||ago==a||agn<=a&&agm>=a||agl<=a&&agk>=a||agj<=a&&agi>=a||agh<=a&&agg>=a||agf==a||agd==a||agc<=a&&agb>=a||ag9==a||ag8==a||ag7<=a&&ag6>=a||ag5<=a&&ag4>=a||ag3==a||ag2<=a&&ag1>=a||ag0<=a&&afZ>=a||afY<=a&&afX>=a||afW<=a&&afV>=a||afU<=a&&afT>=a||afS==a||afR<=a&&afQ>=a||afP==a||afO==a||afN<=a&&afM>=a||afL==a||afK<=a&&afJ>=a||afI<=a&&afH>=a||afG<=a&&afF>=a||afE<=a&&afD>=a||afC<=a&&afB>=a||afA<=a&&afz>=a||afy<=a&&afx>=a||afw==a||afv<=a&&afu>=a||aft<=a&&afs>=a||afr<=a&&afq>=a||afp<=a&&afo>=a||afn<=a&&afm>=a||afk<=a&&afj>=a||afi==a||afh<=a&&afg>=a||aff<=a&&afe>=a||afd<=a&&afc>=a||afb<=a&&af9>=a||af8<=a&&af7>=a||af6==a||af5<=a&&af4>=a||af3<=a&&af2>=a||af1==a||af0<=a&&aeZ>=a||aeY<=a&&aeX>=a||aeW<=a&&aeV>=a||aeU<=a&&aeT>=a||aeS==a||aeR<=a&&aeQ>=a||aeP<=a&&aeO>=a||aeN<=a&&aeM>=a||aeL<=a&&aeK>=a||aeJ<=a&&aeI>=a||aeH<=a&&aeG>=a||aeF<=a&&aeE>=a||aeD<=a&&aeC>=a||aeB==a||aeA==a||aez<=a&&aey>=a||aex<=a&&aew>=a||5LR<=a&&aev>=a||aeu<=a&&aet>=a||aes<=a&&aer>=a||aeq<=a&&aep>=a||aeo<=a&&aen>=a||aem<=a&&ael>=a||aek<=a&&aej>=a||aei<=a&&aeh>=a||aef<=a&&aee>=a?3:aed<=a&&aec>=a?4:aeb==a||ae9==a||ae8<=a&&ae7>=a||ae6<=a&&ae5>=a||ae4<=a&&ae3>=a||ae2<=a&&ae1>=a||ae0<=a&&adZ>=a||adY<=a&&adX>=a||adW<=a&&adV>=a||adU==a||adT<=a&&adS>=a||adR==a||adQ<=a&&adP>=a||adO==a||adN<=a&&adM>=a||adL<=a&&adK>=a||adJ==a||adI<=a&&adH>=a||adG<=a&&adF>=a||adE==a||adD<=a&&adC>=a||adB<=a&&adA>=a||adz<=a&&ady>=a||6kn<=a&&adx>=a||adw<=a&&adu>=a||adt<=a&&adr>=a||adq==a||adp<=a&&ado>=a||adn<=a&&adm>=a||adl<=a&&adk>=a||adj<=a&&adi>=a||6sp<=a&&6so>=a||adh<=a&&adg>=a||adf<=a&&6Fm>=a||ade<=a&&adc>=a||adb<=a&&ad9>=a||ad8<=a&&ad7>=a||ad6<=a&&ad5>=a||ad4<=a&&ad3>=a||ad2==a||ad1==a||ad0<=a&&acZ>=a||acY==a||acX==a||acW<=a&&acV>=a||acU<=a&&acT>=a||acS==a||acR==a||acQ<=a&&acP>=a||acO<=a&&acN>=a||acM<=a&&acL>=a||acK<=a&&acJ>=a||acI<=a&&acH>=a||acG<=a&&acF>=a||acE<=a&&acD>=a||acC==a||acB==a||acA<=a&&acz>=a||acy==a||acx==a||acw==a||acv<=a&&acu>=a||acs<=a&&acr>=a||acq==a||acp==a||acn<=a&&acm>=a||acl==a||ack==a||acj<=a&&aci>=a||ach==a||1KS<=a&&acg>=a||acf<=a&&ace>=a||acd<=a&&acc>=a||acb==a||ac9<=a&&ac8>=a||ac7==a||ac6<=a&&ac5>=a||ac4==a||ac3<=a&&ac2>=a||ac1<=a&&ac0>=a||abZ<=a&&abY>=a||abX==a||abW<=a&&abV>=a||abU<=a&&abT>=a||abS<=a&&abR>=a||abQ<=a&&abP>=a||abO<=a&&abN>=a||abM==a||abL==a||3gk<=a&&abK>=a||abJ==a||abI<=a&&abH>=a||abG<=a&&abF>=a||abE<=a&&abD>=a||abC==a||abB==a||abA==a||abz==a||aby<=a&&abx>=a||abw<=a&&abv>=a||abu==a||abt==a||abr<=a&&abq>=a||abp<=a&&abo>=a||abn<=a&&abm>=a||abl<=a&&abk>=a||abj==a||abi<=a&&abh>=a||abg<=a&&abf>=a||abe==a||abd<=a&&ab9>=a||ab8<=a&&ab7>=a||ab6<=a&&ab5>=a||ab4<=a&&ab3>=a||ab2<=a&&ab1>=a||ab0<=a&&aaZ>=a||aaY==a||aaX<=a&&aaW>=a||aaV==a||aaU<=a&&aaT>=a||aaS==a||aaR==a||aaQ<=a&&aaP>=a||aaO<=a&&aaN>=a||aaM==a||aaL<=a&&aaK>=a||aaJ<=a&&aaI>=a||aaH==a||aaG==a||aaF<=a&&aaE>=a||aaD==a||aaC<=a&&aaB>=a||aaA==a||aaz<=a&&aay>=a||aax==a||aaw<=a&&aav>=a||aau==a||aat==a||aas==a||aar==a||aaq==a||aap==a||aao<=a&&aan>=a||aam==a||aal==a?5:42A<=a&&aak>=a||5Zk<=a&&aaj>=a?6:aai<=a&&aah>=a||5Zi<=a&&aag>=a?7:aaf<=a&&5Zp>=a||aae<=a&&aad>=a?8:5Zj==a||aac==a||aab==a||aa9==a||aa8==a||aa7==a||aa6==a||aa5==a||aa4==a||aa3==a||aa2==a||aa1==a||aa0==a||a9Z==a||a9Y==a||a9X==a||a9W==a||a9V==a||a9U==a||a9T==a||a9S==a||a9R==a||a9Q==a||a9P==a||a9O==a||a9N==a||a9M==a||a9L==a||a9K==a||a9J==a||a9I==a||a9H==a||a9G==a||a9F==a||a9E==a||a9D==a||a9C==a||a9B==a||a9A==a||a9z==a||a9y==a||a9x==a||a9w==a||a9v==a||a9u==a||a9t==a||a9s==a||a9r==a||a9q==a||a9p==a||a9o==a||a9n==a||a9m==a||a9l==a||a9k==a||a9j==a||a9i==a||a9h==a||a9g==a||a9f==a||a9e==a||a9d==a||a9c==a||a9b==a||a9a==a||a99==a||a98==a||a97==a||a96==a||a95==a||a94==a||a93==a||a92==a||a91==a||a90==a||a8Z==a||a8Y==a||a8X==a||a8W==a||a8V==a||a8U==a||a8T==a||a8S==a||a8R==a||a8Q==a||a8P==a||a8O==a||a8N==a||a8M==a||a8L==a||a8K==a||a8J==a||a8I==a||a8H==a||a8G==a||a8F==a||a8E==a||a8D==a||a8C==a||a8B==a||a8A==a||a8z==a||a8y==a||a8x==a||a8w==a||a8v==a||a8u==a||a8t==a||a8s==a||a8r==a||a8q==a||a8p==a||a8o==a||a8n==a||a8m==a||a8l==a||a8k==a||a8j==a||a8i==a||a8h==a||a8g==a||a8f==a||a8e==a||a8d==a||a8c==a||a8b==a||a8a==a||a89==a||a88==a||a87==a||a86==a||a85==a||a84==a||a83==a||a82==a||a81==a||a80==a||a7Z==a||a7Y==a||a7X==a||a7W==a||a7V==a||a7U==a||a7T==a||a7S==a||a7R==a||a7Q==a||a7P==a||a7O==a||a7N==a||a7M==a||a7L==a||a7K==a||a7J==a||a7I==a||a7H==a||a7G==a||a7F==a||a7E==a||a7D==a||a7C==a||a7B==a||a7A==a||a7z==a||a7y==a||a7x==a||a7w==a||a7v==a||a7u==a||a7t==a||a7s==a||a7r==a||a7q==a||a7p==a||a7o==a||a7n==a||a7m==a||a7l==a||a7k==a||a7j==a||a7i==a||a7h==a||a7g==a||a7f==a||a7e==a||a7d==a||a7c==a||a7b==a||a7a==a||a79==a||a78==a||a77==a||a76==a||a75==a||a74==a||a73==a||a72==a||a71==a||a70==a||a6Z==a||a6Y==a||a6X==a||a6W==a||a6V==a||a6U==a||a6T==a||a6S==a||a6R==a||a6Q==a||a6P==a||a6O==a||a6N==a||a6M==a||a6L==a||a6K==a||a6J==a||a6I==a||a6H==a||a6G==a||a6F==a||a6E==a||a6D==a||a6C==a||a6B==a||a6A==a||a6z==a||a6y==a||a6x==a||a6w==a||a6v==a||a6u==a||a6t==a||a6s==a||a6r==a||a6q==a||a6p==a||a6o==a||a6n==a||a6m==a||a6l==a||a6k==a||a6j==a||a6i==a||a6h==a||a6g==a||a6f==a||a6e==a||a6d==a||a6c==a||a6b==a||a6a==a||a69==a||a68==a||a67==a||a66==a||a65==a||a64==a||a63==a||a62==a||a61==a||a60==a||a5Z==a||a5Y==a||a5X==a||a5W==a||a5V==a||a5U==a||a5T==a||a5S==a||a5R==a||a5Q==a||a5P==a||a5O==a||a5N==a||a5M==a||a5L==a||a5K==a||a5J==a||a5I==a||a5H==a||a5G==a||a5F==a||a5E==a||a5D==a||a5C==a||a5B==a||a5A==a||a5z==a||a5y==a||a5x==a||a5w==a||a5v==a||a5u==a||a5t==a||a5s==a||a5r==a||a5q==a||a5p==a||a5o==a||a5n==a||a5m==a||a5l==a||a5k==a||a5j==a||a5i==a||a5h==a||a5g==a||a5f==a||a5e==a||a5d==a||a5c==a||a5b==a||a5a==a||a59==a||a58==a||a57==a||a56==a||a55==a||a54==a||a53==a||a52==a||a51==a||a50==a||a4Z==a||a4Y==a||a4X==a||a4W==a||a4V==a||a4U==a||a4T==a||a4S==a||a4R==a||a4Q==a||a4P==a||a4O==a||a4N==a||a4M==a||a4L==a||a4K==a||a4J==a||a4I==a||a4H==a||a4G==a||a4F==a||a4E==a||a4D==a||a4C==a||a4B==a||a4A==a||a4z==a||a4y==a||a4x==a||a4w==a||a4v==a||a4u==a||a4t==a||a4s==a||a4r==a||a4q==a||a4p==a||a4o==a||a4n==a||a4m==a||a4l==a||a4k==a||a4j==a||a4i==a||a4h==a||a4g==a||a4f==a||a4e==a||a4d==a||a4c==a||a4b==a||a4a==a||a49==a||a48==a||a47==a||a46==a||a45==a||a44==a||a43==a||a42==a||a41==a||a40==a||a3Z==a||a3Y==a||a3X==a||a3W==a||a3V==a||a3U==a||a3T==a||a3S==a||a3R==a||a3Q==a||a3P==a||a3O==a||a3N==a||a3M==a?9:a3L<=a&&a3K>=a||a3J<=a&&a3I>=a||a3H<=a&&a3G>=a||a3F<=a&&a3E>=a||a3D<=a&&a3C>=a||a3B<=a&&a3A>=a||a3z<=a&&a3y>=a||a3x<=a&&a3w>=a||a3v<=a&&a3u>=a||a3t<=a&&a3s>=a||a3r<=a&&a3q>=a||a3p<=a&&a3o>=a||a3n<=a&&a3m>=a||a3l<=a&&a3k>=a||a3j<=a&&a3i>=a||a3h<=a&&a3g>=a||a3f<=a&&a3e>=a||a3d<=a&&a3c>=a||a3b<=a&&a3a>=a||a39<=a&&a38>=a||a37<=a&&a36>=a||a35<=a&&a34>=a||a33<=a&&a32>=a||a31<=a&&a30>=a||a2Z<=a&&a2Y>=a||a2X<=a&&a2W>=a||a2V<=a&&a2U>=a||a2T<=a&&a2S>=a||a2R<=a&&a2Q>=a||a2P<=a&&a2O>=a||a2N<=a&&a2M>=a||a2L<=a&&a2K>=a||a2J<=a&&a2I>=a||a2H<=a&&a2G>=a||a2F<=a&&a2E>=a||a2D<=a&&a2C>=a||a2B<=a&&a2A>=a||a2z<=a&&a2y>=a||a2x<=a&&a2w>=a||a2v<=a&&a2u>=a||a2t<=a&&a2s>=a||a2r<=a&&a2q>=a||a2p<=a&&a2o>=a||a2n<=a&&a2m>=a||a2l<=a&&a2k>=a||a2j<=a&&a2i>=a||a2h<=a&&a2g>=a||a2f<=a&&6yl>=a||a2e<=a&&a2d>=a||a2c<=a&&a2b>=a||a2a<=a&&a29>=a||a28<=a&&a27>=a||a26<=a&&a25>=a||a24<=a&&a23>=a||a22<=a&&a21>=a||a20<=a&&a1Z>=a||a1Y<=a&&a1X>=a||a1W<=a&&a1V>=a||a1U<=a&&a1T>=a||a1S<=a&&a1R>=a||a1Q<=a&&a1P>=a||a1O<=a&&a1N>=a||a1M<=a&&a1L>=a||a1K<=a&&a1J>=a||a1I<=a&&a1H>=a||a1G<=a&&a1F>=a||a1E<=a&&a1D>=a||a1C<=a&&a1B>=a||a1A<=a&&a1z>=a||a1y<=a&&a1x>=a||a1w<=a&&a1v>=a||a1u<=a&&a1t>=a||a1s<=a&&a1r>=a||a1q<=a&&a1p>=a||a1o<=a&&a1n>=a||a1m<=a&&a1l>=a||a1k<=a&&a1j>=a||a1i<=a&&a1h>=a||a1g<=a&&a1f>=a||a1e<=a&&a1d>=a||a1c<=a&&a1b>=a||a1a<=a&&a19>=a||a18<=a&&a17>=a||a16<=a&&a15>=a||a14<=a&&a13>=a||a12<=a&&a11>=a||a10<=a&&a0Z>=a||a0Y<=a&&a0X>=a||a0W<=a&&a0V>=a||a0U<=a&&a0T>=a||a0S<=a&&a0R>=a||a0Q<=a&&a0P>=a||a0O<=a&&a0N>=a||a0M<=a&&a0L>=a||a0K<=a&&a0J>=a||a0I<=a&&a0H>=a||a0G<=a&&a0F>=a||a0E<=a&&a0D>=a||a0C<=a&&a0B>=a||a0A<=a&&a0z>=a||a0y<=a&&a0x>=a||a0w<=a&&a0v>=a||a0u<=a&&a0t>=a||a0s<=a&&a0r>=a||a0q<=a&&a0p>=a||a0o<=a&&a0n>=a||a0m<=a&&a0l>=a||a0k<=a&&a0j>=a||a0i<=a&&a0h>=a||a0g<=a&&a0f>=a||a0e<=a&&a0d>=a||a0c<=a&&a0b>=a||a0a<=a&&a09>=a||a08<=a&&a07>=a||a06<=a&&a05>=a||a04<=a&&a03>=a||a02<=a&&a01>=a||a00<=a&&9ZZ>=a||9ZY<=a&&9ZX>=a||9ZW<=a&&9ZV>=a||9ZU<=a&&9ZT>=a||9ZS<=a&&9ZR>=a||9ZQ<=a&&9ZP>=a||9ZO<=a&&9ZN>=a||9ZM<=a&&9ZL>=a||9ZK<=a&&9ZJ>=a||9ZI<=a&&9ZH>=a||9ZG<=a&&9ZF>=a||9ZE<=a&&9ZD>=a||9ZC<=a&&9ZB>=a||9ZA<=a&&9Zz>=a||9Zy<=a&&9Zx>=a||9Zw<=a&&9Zv>=a||9Zu<=a&&9Zt>=a||9Zs<=a&&9Zr>=a||9Zq<=a&&9Zp>=a||9Zo<=a&&9Zn>=a||9Zm<=a&&9Zl>=a||9Zk<=a&&9Zj>=a||9Zi<=a&&9Zh>=a||9Zg<=a&&9Zf>=a||9Ze<=a&&9Zd>=a||9Zc<=a&&9Zb>=a||9Za<=a&&9Z9>=a||9Z8<=a&&9Z7>=a||9Z6<=a&&9Z5>=a||9Z4<=a&&9Z3>=a||9Z2<=a&&9Z1>=a||9Z0<=a&&9YZ>=a||9YY<=a&&9YX>=a||9YW<=a&&9YV>=a||9YU<=a&&9YT>=a||9YS<=a&&9YR>=a||9YQ<=a&&9YP>=a||9YO<=a&&9YN>=a||9YM<=a&&9YL>=a||9YK<=a&&9YJ>=a||9YI<=a&&9YH>=a||9YG<=a&&9YF>=a||9YE<=a&&9YD>=a||9YC<=a&&9YB>=a||9YA<=a&&9Yz>=a||9Yy<=a&&9Yx>=a||9Yw<=a&&9Yv>=a||9Yu<=a&&9Yt>=a||9Ys<=a&&9Yr>=a||9Yq<=a&&9Yp>=a||9Yo<=a&&9Yn>=a||9Ym<=a&&9Yl>=a||9Yk<=a&&9Yj>=a||9Yi<=a&&9Yh>=a||9Yg<=a&&9Yf>=a||9Ye<=a&&9Yd>=a||9Yc<=a&&9Yb>=a||9Ya<=a&&9Y9>=a||9Y8<=a&&9Y7>=a||9Y6<=a&&9Y5>=a||9Y4<=a&&9Y3>=a||9Y2<=a&&9Y1>=a||9Y0<=a&&9XZ>=a||9XY<=a&&9XX>=a||9XW<=a&&9XV>=a||9XU<=a&&9XT>=a||9XS<=a&&9XR>=a||9XQ<=a&&9XP>=a||9XO<=a&&9XN>=a||9XM<=a&&9XL>=a||9XK<=a&&9XJ>=a||9XI<=a&&9XH>=a||9XG<=a&&9XF>=a||9XE<=a&&9XD>=a||9XC<=a&&9XB>=a||9XA<=a&&9Xz>=a||9Xy<=a&&9Xx>=a||9Xw<=a&&9Xv>=a||9Xu<=a&&9Xt>=a||9Xs<=a&&9Xr>=a||9Xq<=a&&9Xp>=a||9Xo<=a&&9Xn>=a||9Xm<=a&&9Xl>=a||9Xk<=a&&9Xj>=a||9Xi<=a&&9Xh>=a||9Xg<=a&&9Xf>=a||9Xe<=a&&9Xd>=a||9Xc<=a&&9Xb>=a||9Xa<=a&&9X9>=a||9X8<=a&&9X7>=a||9X6<=a&&9X5>=a||9X4<=a&&9X3>=a||9X2<=a&&9X1>=a||9X0<=a&&9WZ>=a||9WY<=a&&9WX>=a||9WW<=a&&9WV>=a||9WU<=a&&9WT>=a||9WS<=a&&9WR>=a||9WQ<=a&&9WP>=a||9WO<=a&&9WN>=a||9WM<=a&&9WL>=a||9WK<=a&&9WJ>=a||9WI<=a&&9WH>=a||9WG<=a&&9WF>=a||9WE<=a&&9WD>=a||9WC<=a&&9WB>=a||9WA<=a&&9Wz>=a||9Wy<=a&&9Wx>=a||9Ww<=a&&9Wv>=a||9Wu<=a&&9Wt>=a||9Ws<=a&&9Wr>=a||9Wq<=a&&9Wp>=a||9Wo<=a&&9Wn>=a||9Wm<=a&&9Wl>=a||9Wk<=a&&9Wj>=a||9Wi<=a&&9Wh>=a||9Wg<=a&&9Wf>=a||9We<=a&&9Wd>=a||9Wc<=a&&9Wb>=a||9Wa<=a&&9W9>=a||9W8<=a&&9W7>=a||9W6<=a&&9W5>=a||9W4<=a&&9W3>=a||9W2<=a&&9W1>=a||9W0<=a&&9VZ>=a||9VY<=a&&9VX>=a||9VW<=a&&9VV>=a||9VU<=a&&9VT>=a||9VS<=a&&9VR>=a||9VQ<=a&&9VP>=a||9VO<=a&&9VN>=a||9VM<=a&&9VL>=a||9VK<=a&&9VJ>=a||9VI<=a&&9VH>=a||9VG<=a&&9VF>=a||9VE<=a&&9VD>=a||9VC<=a&&9VB>=a||9VA<=a&&9Vz>=a||9Vy<=a&&9Vx>=a||9Vw<=a&&9Vv>=a||9Vu<=a&&9Vt>=a||9Vs<=a&&9Vr>=a||9Vq<=a&&9Vp>=a||9Vo<=a&&9Vn>=a||9Vm<=a&&9Vl>=a||9Vk<=a&&9Vj>=a||9Vi<=a&&9Vh>=a||9Vg<=a&&9Vf>=a||9Ve<=a&&9Vd>=a||9Vc<=a&&9Vb>=a||9Va<=a&&9V9>=a||9V8<=a&&9V7>=a||9V6<=a&&9V5>=a||6xP<=a&&9V4>=a||9V3<=a&&9V2>=a||9V1<=a&&9V0>=a||9UZ<=a&&9UY>=a||9UX<=a&&9UW>=a||9UV<=a&&9UU>=a||9UT<=a&&9US>=a||9UR<=a&&9UQ>=a||9UP<=a&&9UO>=a||9UN<=a&&9UM>=a||9UL<=a&&9UK>=a||9UJ<=a&&9UI>=a||9UH<=a&&9UG>=a||9UF<=a&&9UE>=a||9UD<=a&&9UC>=a||9UB<=a&&9UA>=a||9Uz<=a&&9Uy>=a||9Ux<=a&&9Uw>=a||9Uv<=a&&9Uu>=a||9Ut<=a&&9Us>=a||9Ur<=a&&9Uq>=a||9Up<=a&&9Uo>=a||9Un<=a&&9Um>=a||9Ul<=a&&9Uk>=a||9Uj<=a&&9Ui>=a||9Uh<=a&&9Ug>=a||9Uf<=a&&9Ue>=a||9Ud<=a&&9Uc>=a||9Ub<=a&&9Ua>=a||9U9<=a&&9U8>=a||9U7<=a&&9U6>=a||9U5<=a&&9U4>=a||9U3<=a&&9U2>=a||9U1<=a&&9U0>=a||9TZ<=a&&9TY>=a||9TX<=a&&9TW>=a||9TV<=a&&9TU>=a||9TT<=a&&9TS>=a||9TR<=a&&9TQ>=a||9TP<=a&&9TO>=a||9TN<=a&&9TM>=a||9TL<=a&&9TK>=a||9TJ<=a&&9TI>=a||9TH<=a&&9TG>=a||9TF<=a&&9TE>=a||9TD<=a&&9TC>=a||9TB<=a&&9TA>=a||9Tz<=a&&9Ty>=a||9Tx<=a&&9Tw>=a||9Tv<=a&&9Tu>=a||9Tt<=a&&9Ts>=a||9Tr<=a&&9Tq>=a||9Tp<=a&&9To>=a||9Tn<=a&&9Tm>=a||9Tl<=a&&9Tk>=a||9Tj<=a&&9Ti>=a||9Th<=a&&9Tg>=a||9Tf<=a&&9Te>=a||9Td<=a&&9Tc>=a||9Tb<=a&&9Ta>=a||9T9<=a&&9T8>=a||9T7<=a&&9T6>=a||9T5<=a&&9T4>=a||9T3<=a&&9T2>=a||9T1<=a&&9T0>=a||9SZ<=a&&9SY>=a||9SX<=a&&9SW>=a||9SV<=a&&9SU>=a||9ST<=a&&9SS>=a||9SR<=a&&9SQ>=a||9SP<=a&&9SO>=a||9SN<=a&&9SM>=a||9SL<=a&&9SK>=a||9SJ<=a&&9SI>=a||9SH<=a&&9SG>=a||9SF<=a&&9SE>=a||9SD<=a&&9SC>=a||9SB<=a&&9SA>=a||9Sz<=a&&9Sy>=a||9Sx<=a&&9Sw>=a||9Sv<=a&&9Su>=a||9St<=a&&9Ss>=a||9Sr<=a&&9Sq>=a||9Sp<=a&&9So>=a||9Sn<=a&&9Sm>=a||9Sl<=a&&9Sk>=a||9Sj<=a&&9Si>=a||9Sh<=a&&9Sg>=a||9Sf<=a&&9Se>=a||9Sd<=a&&9Sc>=a||9Sb<=a&&9Sa>=a||9S9<=a&&9S8>=a||9S7<=a&&9S6>=a||9S5<=a&&9S4>=a||9S3<=a&&9S2>=a||9S1<=a&&9S0>=a||9RZ<=a&&9RY>=a||9RX<=a&&9RW>=a||9RV<=a&&9RU>=a||9RT<=a&&9RS>=a||9RR<=a&&9RQ>=a||9RP<=a&&9RO>=a||9RN<=a&&9RM>=a||9RL<=a&&9RK>=a||9RJ<=a&&9RI>=a||9RH<=a&&9RG>=a||9RF<=a&&9RE>=a||9RD<=a&&9RC>=a||9RB<=a&&9RA>=a||9Rz<=a&&9Ry>=a||9Rx<=a&&9Rw>=a||9Rv<=a&&9Ru>=a||9Rt<=a&&9Rs>=a||9Rr<=a&&9Rq>=a||9Rp<=a&&9Ro>=a||9Rn<=a&&9Rm>=a||6tJ<=a&&9Rl>=a||9Rk<=a&&9Rj>=a||9Ri<=a&&9Rh>=a||9Rg<=a&&9Rf>=a||9Re<=a&&9Rd>=a||9Rc<=a&&9Rb>=a||9Ra<=a&&9R9>=a||9R8<=a&&9R7>=a||9R6<=a&&9R5>=a||9R4<=a&&9R3>=a||9R2<=a&&9R1>=a||9R0<=a&&9QZ>=a||9QY<=a&&9QX>=a?10:9QW==a||9QV==a||9QU<=a&&9QT>=a||9QS==a||9QR<=a&&9QQ>=a||9QP==a||9QO<=a&&9QN>=a||9QM<=a&&9QL>=a||9QK<=a&&9QJ>=a||9QI==a||9QH<=a&&9QG>=a||9QF==a||9QE<=a&&9QD>=a||9QC<=a&&9QB>=a||9QA==a||9Qz<=a&&9Qy>=a||9Qx==a||9Qw==a||9Qv<=a&&9Qu>=a||9Qt<=a&&9Qs>=a||9Qr<=a&&9Qq>=a||9Qp==a||9Qo<=a&&9Qn>=a||9Qm==a||9Ql==a||9Qk<=a&&9Qj>=a||9Qi<=a&&9Qh>=a||9Qg==a||9Qf<=a&&9Qe>=a||9Qd<=a&&9Qc>=a||9Qb<=a&&9Qa>=a?13:9Q9<=a&&9Q8>=a?14:9Q7==a?15:6Fl==a||9Q6==a||9Q5<=a&&9Q4>=a||9Q3==a||9Q2==a||9Q1==a||9Q0==a||9PZ==a||9PY==a||9PX==a||9PW==a||9PV==a||9PU==a||9PT==a||9PS<=a&&9PR>=a||9PQ==a||9PP==a||9PO==a||9PN==a||9PM==a?16:9PL<=a&&9PK>=a?17:11}1a.4dD=1b(d,e){1p 0===e&&(e=0);if(0>e)1f 0;if(e>=d.1h-1)1f d.1h;1d f=c(a(d,e)),h=[];1j(e+=1;e<d.1h;e++){1d l=d,g=e-1;if(!(1v4<=l.19a(g)&&3Or>=l.19a(g)&&1AV<=l.19a(g+1)&&2Ja>=l.19a(g+1))){l=c(a(d,e));if(b(f,h,l))1f e;h.1q(l)}}1f d.1h};1a.69S=1b(a){1j(1d b=[],c=0,d;(d=1a.4dD(a,c))<a.1h;)b.1q(a.4h(c,d)),c=d;c<a.1h&&b.1q(a.4h(c));1f b};1a.9PJ=1b(a){1d b=0,c={6k:1b(){1d c;if((c=1a.4dD(a,b))<a.1h){1d d=a.4h(b,c);b=c;1f{1Q:d,1qU:!1}}1f b<a.1h?(d=a.4h(b),b=a.1h,{1Q:d,1qU:!1}):{1Q:1p 0,1qU:!0}}.7X(1a)};$9C.1lY();$9C.1lY();$9C.2yg();"7w"!==2h 1gy&&1gy.1U3&&($9C.1lY(),$9C.2yg(),c[1gy.1U3]=1b(){1f c});1f c};1a.9PI=1b(a){1j(1d b=0,c=0,d;(d=1a.4dD(a,c))<a.1h;)c=d,b++;c<a.1h&&b++;1f b};1f 1a}1b 69L(){1a.10i=1a.6e=1a.3wU=1p 0}1b 69N(a,b,c){1a.69V=a;1a.2P=b;1a.6e=c}1b 69U(a,b){1d c=3n.4O("3M");c.1G=jR.x;c.1D=jR.y;1d d=c.1ft("2d");d.15b="#9PH";d.1ZB(0,0,c.1G,c.1D);a.2y8("69R",c).4b(1b(a){b.6Fk=a})}1b kR(a,b){b.3wU=1p 0;b.6e=1p 0;1d c=b.10i;g(c)&&(c.2p=!1,c.4d=1p 0,g(c.1lm)&&(c.1lm(),c.1lm=1p 0),a.4Px.1q(c),b.10i=1p 0)}1b 69M(a,b,c,d){a.2y8(b,c).4b(1b(a){d.2P=a})}1b t6(a,b){1j(1d c=b.1pZ,d=0,e=c.1h;d<e;++d)kR(a,c[d]);g(b.1r6)&&(a.2Py.3S(b.1r6),b.1r6=1p 0);b.16k=1p 0;g(b.1lm)&&b.1lm();la(b)}1b de(a){a=m(a,m.4Z);1a.7R=a.id;1a.4PF=-1;1a.2R=a.4r;1a.2JW=a.2Sl;1a.6y=a.1ac;1a.6Fk=1a.2Dx=1a.18j=1p 0;1a.2Py=1g xd({4r:1a.2R,2Sl:1a.2JW,1VR:a.1VR});1a.2Py.3Q3=!1;1a.13d=1g xd({4r:1a.2R,1ac:1a.6y,2Sl:1a.2JW,1VR:a.1VR});1a.13d.3Q3=!1;1a.13d.2i9=!0;1a.4Px=[];1a.69P={};1a.1fG=[];1a.2Pz=[];1a.69J=0;1a.1nG=y.1y(y.9r);1a.4a=A.1y(m(a.4a,A.8K));1a.15S=m(a.15S,!1);1a.1W3=m(a.1W3,jf.23t);1a.4qL=m(a.5I3,!1);1a.1N2={};1a.3aN=[];1a.2Px=!1;1a.1V6=y.1y(m(a.1jp,1g y(.7,.7,1,1)));1a.4Pt=1g sa}1b u6(a){1f a.16Q.x}1b v6(a){1f a.16Q.y}1b 69H(a){a=a.17R.3wR;1f{1G:a.1G,1D:a.1D}}1b 69G(a,b,c,d,e,f,h,l){1d g=h.17R;e-=c;f-=d;h=1p 0!==l?l.1G:e;l=1p 0!==l?l.1D:f;1d n=g.3wR;b=w6(n.x+a,n.y+b,h,l,g.16l,g.15P);a=b.x;b=b.y;1f a>c+e||a+h<c||b+l<d||b>d+f?!1:!0}1b w6(a,b,c,d,e,f){e===fc.1dq?b-=d/2:e===fc.1g5&&(b-=d);f===oc.1dq?a-=c/2:f===oc.1sk&&(a-=c);1f{x:a,y:b}}1b Up(a){1a.9h=a.3q;1a.6y=a.1ac;1a.1q1=a.1ek;1a.7T=a.3g;1a.2r2=a.13w;1a.2im=a.12x;1a.1KM=1a.1NB=1a.1uc=1a.16k=1a.13d=1p 0;1a.4y=!1;1a.7S=Z.12L();1a.4Po=!1}1b 6Fj(a,b){1d c=a.7T,d=a.2r2;a=a.2im;1d e=1g 13X(2+Q.4q+ba.4q),f=0;e[f++]=d;e[f++]=a;Q.5n(c,e,f);f+=Q.4q;ba.5n(b,e,f);1f e}1b 69v(a,b){if(!g(a.13d)){if(!g(a.1NB)){1d c=a.9h;1d d=a.1KM;g(d)||(c=a.9h=De(c),a.1q1=De(a.1q1),d=a.1KM=6Fj(a,b));c=a.1NB=69D.1fa({3q:c.3J,3e7:d.3J},[c.3J,d.3J]);if(!g(c))1f;c.4b(1b(b){a.9h=1g 13X(b.3q);a.4y=!0})}if(a.4y&&!g(a.13d)){c=a.9h;1d e=a.6y;b=a.1q1;d=a.13d=1g xd({1ac:e});e=a.16k=1g de({1ac:e});1d f=a.1uc=1g Bf;f.55Q=!0;1j(1d h=c.1h/3,l=0;l<h;++l){1d p=b[l],n=k.5f(c,3*l,69C),z=d.add();z.1K=n;z.2PE=p;z=e.add();z.3l=" ";z.1K=n;z.2PE=p;f.add().3q=[k.1y(n),k.1y(n)]}a.9h=1p 0;a.1KM=1p 0}}}1b qo(a){1a.6y=a.1ac;1a.1q1=a.1ek;1a.9h=a.3q;1a.2j0=a.3e6;1a.1lz=a.4N;1a.1Ko=a.2s3;1a.1Hi=1a.2qR=1a.3xD=1a.1KM=1a.2Fz=1a.1Rs=1p 0;1a.5W=m(a.3c,ba.9y);1a.1GD=a.13w;1a.1DY=a.12x;1a.4dB=a.6F8;1a.4dA=a.6F7;1a.19J=m(a.2V,k.6h);1a.7T=a.3g;1a.19J=1p 0;1a.11S=a.6W;1a.1Kp=1a.1Rr=1p 0;1a.4y=!1;1a.7S=Z.12L();1a.7h=1a.1NB=1p 0;1a.2Dw=1a.1gj=!1;1a.12p=te.2hq}1b 6Fi(a){1d b=1g 13X(3+k.4q+ba.4q+Q.4q),c=0;b[c++]=a.1lz.12T;b[c++]=a.1GD;b[c++]=a.1DY;k.5n(a.19J,b,c);c+=k.4q;ba.5n(a.5W,b,c);c+=ba.4q;Q.5n(a.7T,b,c);1f b}1b 69s(a){if(!g(a.7h)){if(!g(a.1NB)){1d b=a.9h,c=a.2j0,d=a.1Ko,e=a.1lz,f=a.2qR,h=a.2Fz,l=a.1KM;if(!g(h)){b=a.9h=De(a.9h);c=a.2j0=De(a.2j0);d=a.1Ko=De(a.1Ko);e=a.1lz=De(a.1lz);a.19J=a.5W.13B(Q.2V(a.7T));f=a.2qR=1g 12X(a.1q1);h=a.2Fz=1g 12X(f.1h);1d p=a.6y;l=h.1h;1j(1d n=0;n<l;++n){1d k=p.1eV(n,69t);h[n]=k.22A()}l=a.1KM=6Fi(a)}p=[b.3J,c.3J,d.3J,e.3J,f.3J,h.3J,l.3J];b={3e7:l.3J,3q:b.3J,3e6:c.3J,2s3:d.3J,4N:e.3J,1ek:f.3J,6Fh:h.3J};c=a.4dB;d=a.4dA;g(c)&&g(d)&&(c=De(c),d=De(d),p.1q(c.3J,d.3J),b.1lB=c,b.1lC=d);b=a.1NB=69u.1fa(b,p);if(!g(b))1f;Z(b,1b(b){a.9h=1p 0;a.2j0=1p 0;a.4dB=1p 0;a.4dA=1p 0;1j(1d c=1g 13X(b.3e7),d=c[0],e=1,f=c[e++],h=a.1Rr=2K(f),l=0;l<f;++l)h[l]=yc.5f(c,e),e+=yc.4q;f=c[e++];h=a.1Kp=2K(f);1j(l=0;l<f;++l){1d g=y.5f(c,e);e+=y.4q;1j(1d p=c[e++],n=c[e++],k=c[e++],z=2K(k),w=0;w<k;++w)z[w]=c[e++];h[l]=1g hv({1A:g,2M:p,7Z:n,1ek:z})}a.1lz=2===Ta.1jh(d)?1g 10Y(b.4N):1g 12X(b.4N);a.1Rs=1g 12X(b.3e8);a.1Ko=1g 12X(b.2s3);a.3xD=1g 4A(b.3q);a.1Hi=1g 10Y(b.1ek);a.4y=!0})}a.4y&&!g(a.7h)&&(a.7h=1g Bl({1ac:a.6y,3q:a.3xD,1ek:a.1q1,3BF:a.1Hi,4N:a.1lz,3e8:a.1Rs,2s3:a.1Ko,4dC:a.1Kp,6W:a.11S,55P:a.1Rr,2V:a.19J}),a.6y=1p 0,a.1q1=1p 0,a.9h=1p 0,a.2j0=1p 0,a.1lz=1p 0,a.1Ko=1p 0,a.1Rs=1p 0,a.2Fz=1p 0,a.1KM=1p 0,a.3xD=1p 0,a.2qR=1p 0,a.1Hi=1p 0,a.5W=1p 0,a.1GD=1p 0,a.1DY=1p 0,a.4dB=1p 0,a.4dA=1p 0,a.19J=1p 0,a.7T=1p 0,a.11S=1p 0,a.1Rr=1p 0,a.1Kp=1p 0,a.1NB=1p 0,a.7S.5h())}}1b Vp(a){1a.9h=a.3q;1a.4dz=a.3XF;1a.2j0=a.3e6;1a.1q1=a.1ek;1a.5W=m(a.3c,ba.9y);1a.1GD=a.13w;1a.1DY=a.12x;1a.19J=a.2V;1a.7T=a.3g;1a.11S=a.6W;1a.6y=a.1ac;1a.1lz=1a.1Hi=1a.4dw=1a.4dx=1a.1RV=1a.4dy=1a.1KM=1a.2qR=1a.10u=1a.1cH=1a.1gz=1a.11V=1a.16z=1p 0;1a.1nG=1a.2qx=y.1y(y.9r);1a.1qV=1a.1Wb=0;1a.4y=!1;1a.7S=Z.12L();1a.1NB=1p 0}1b 6Fg(a){1d b=a.7T,c=a.1GD,d=a.1DY,e=a.5W;a=a.19J;1d f=1g 13X(2+Q.4q+ba.4q+k.4q),h=0;f[h++]=c;f[h++]=d;Q.5n(b,f,h);h+=Q.4q;ba.5n(e,f,h);h+=ba.4q;k.5n(a,f,h);1f f}1b 69p(a,b){if(!g(a.16z)){if(!g(a.1NB)){1d c=a.9h,d=a.4dz,e=a.2j0,f=a.2qR,h=a.1KM;g(h)||(c=a.9h=De(c),d=a.4dz=De(d),e=a.2j0=De(e),f=a.2qR=De(a.1q1),h=a.1KM=6Fg(a));c=a.1NB=$ta.1fa({3q:c.3J,3XF:d.3J,3e6:e.3J,1ek:f.3J,3e7:h.3J},[c.3J,d.3J,e.3J,f.3J,h.3J]);if(!g(c))1f;Z(c,1b(b){a.4dy=1g 4A(b.9PG);a.1RV=1g 4A(b.9PF);a.4dx=1g 4A(b.9PE);a.4dw=1g 4A(b.15t);a.1Hi=1g 10Y(b.1ek);a.1lz=b.17P===Ta.10P?1g 10Y(b.4N):1g 12X(b.4N);a.4y=!0})}if(a.4y&&!g(a.16z)){h=a.4dy;e=a.1RV;1d l=a.4dx;f=a.4dw;d=a.1Hi;c=a.1lz;1d p=e.10S+h.10S+l.10S;p+=f.10S+d.10S+c.10S;a.1Wb=c.1h/3;a.1qV=p;e=Ra.12S({1O:b,5b:e,7Q:xa.7C});h=Ra.12S({1O:b,5b:h,7Q:xa.7C});l=Ra.12S({1O:b,5b:l,7Q:xa.7C});f=Ra.12S({1O:b,5b:f,7Q:xa.7C});d=Ra.12S({1O:b,5b:d,7Q:xa.7C});c=Ra.17Q({1O:b,5b:c,7Q:xa.7C,17P:2===c.12T?Ta.10P:Ta.1bt});a.16z=1g Fb({1O:b,2w:[{2P:jy.2Ur,7e:e,3k:I.3O,2Z:3},{2P:jy.2Us,7e:h,3k:I.3O,2Z:3},{2P:jy.1Cu,7e:l,3k:I.3O,2Z:3},{2P:jy.15t,7e:f,3k:I.3O,2Z:2},{2P:jy.1k8,7e:d,3k:I.10P,2Z:1}],10X:c});a.9h=1p 0;a.4dz=1p 0;a.2j0=1p 0;a.5W=1p 0;a.1GD=1p 0;a.1DY=1p 0;a.7T=1p 0;a.2qR=1p 0;a.1KM=1p 0;a.4dy=1p 0;a.1RV=1p 0;a.4dx=1p 0;a.4dw=1p 0;a.1Hi=1p 0;a.1lz=1p 0;a.7S.5h()}}}1b aua(a,b){g(a.1cH)||(a.1cH={1wg:1b(){A.1y(b.13m.11A,jC);A.8P(jC,a.19J,x6);A.1Bh(jC,x6,jC);1f jC},1nU:1b(){1f a.1nG}})}1b ro(a,b,c,d,e){1d f,h,l;1a.9F=a;1a.1cC=b;1a.12o=c;1a.1W8=1a.15p=1a.1dJ=1a.1iz=1p 0;1a.7S=Z.12L();1a.1dQ=1a.6y=1p 0;1a.1K0=!1;a=m(e,0);1d p=1g 4L(d);b=1g 1dE(d);a+=Fl;c=b.9A(a,!0);if(1!==c)1t 1g qa("1Jh 1Zp 11H 9G 1 is 11J.  1PD "+c+" is 2S.");a+=Fl;c=b.9A(a,!0);a+=Fl;if(0===c)1a.7S.5h(1a);1s{1d n=b.9A(a,!0);a+=Fl;if(0===n)1t 1g qa("19E 1j9 2Q 118 a 1Hz 1h 9U 6L 16m");1d z=b.9A(a,!0);a+=Fl;1d w=b.9A(a,!0);a+=Fl;1d x=b.9A(a,!0);a+=Fl;1d D=b.9A(a,!0);a+=Fl;1d t=b.9A(a,!0);a+=Fl;c=b.9A(a,!0);a+=Fl;b=b.9A(a,!0);a+=Fl;e=Me(p,a,n);e=4H.5N(e);a+=n;n=1g 4L(d,a,z);a+=z;if(0<w){p=Me(p,a,w);1d oa=4H.5N(p);a+=w;if(0<x){1d G=1g 4L(d,a,x);G=1g 4L(G);a+=x}}1d aa=m(e.6Ff,0);p=m(e.6Fe,0);w=m(e.4dv,0);x=aa+p+w;1a.6y=G=1g Nd(1a,x,oa,G,6F5(1a));if(0!==x){if(g(e.55O))z=e.55O,oa=Q.5f(z),x=z[4],z=z[5];1s 1t 1g qa("55O is 1X in 1Z 7n 1j9.");1d r=1a.1cC.1Hb;if(g(e.2Sp)){1d q=k.5f(e.2Sp);A.8P(r,q,q)}1s q=Q.2V(oa),q.1D=B.11x(x,z,.5),q=ba.9y.13B(q);1d u=m(e.6Ff,0),v=m(e.6Fe,0),y=m(e.4dv,0);0<u&&g(e.6Fd)&&(f=1g 10Y(n.3J,n.8o+e.6Fd.8o,u));0<v&&g(e.6Fc)&&(h=1g 10Y(n.3J,n.8o+e.6Fc.8o,v));0<y&&g(e.6Fb)&&(l=1g 10Y(n.3J,n.8o+e.6Fb.8o,y));1d Fa=g(f)||g(h)||g(l);1d L=0<u&&!g(f)||0<v&&!g(h)||0<y&&!g(l);if(Fa&&L)1t 1g qa("If 1bS 13o of 2Fy 1a8 is 2l, 4b all 2Fy 1a8 2Q be 2l.");if(!g(f)&&!g(h)&&!g(l)){L=0;if(!g(f)&&0<u)1j(f=1g 10Y(u),Fa=0;Fa<u;++Fa)f[Fa]=L++;if(!g(h)&&0<v)1j(h=1g 10Y(v),Fa=0;Fa<v;++Fa)h[Fa]=L++;if(!g(l)&&0<y)1j(l=1g 10Y(y),Fa=0;Fa<y;++Fa)l[Fa]=L++}a+=a%4;if(0<aa){u=1g 12X(d,a,D/Fl);a+=D;D=1g 10Y(d,a,t/lR);a+=t;t=1g 12X(n.3J,n.8o+e.9PD.8o,aa);v=1g 12X(n.3J,n.8o+e.9PC.8o,aa);if(g(e.6Fa)&&g(e.6F9)){1d S=1g 4A(n.3J,n.8o+e.6Fa.8o,aa);1d C=1g 4A(n.3J,n.8o+e.6F9.8o,aa)}1a.1iz=1g qo({3q:D,3e6:t,2s3:v,4N:u,13w:x,12x:z,6F8:S,6F7:C,2V:q,3g:oa,6W:1a.11H.6W.6W,1ac:G,1ek:f,4a:r})}if(0<p){S=1g 10Y(d,a,c/lR);a+=c;C=1g 12X(n.3J,n.8o+e.9PB.8o,p);if(g(e.6F6))c=1g 10Y(n.3J,n.8o+e.6F6.8o,p);1s 1j(c=1g 10Y(p),e=0;e<p;++e)c[e]=2;1a.1dJ=1g Vp({3q:S,3XF:c,3e6:C,1ek:h,13w:x,12x:z,2V:q,3g:oa,6W:1a.11H.6W.6W,1ac:G})}0<w&&(d=1g 10Y(d,a,b/lR),1a.15p=1g Up({3q:d,1ek:l,13w:x,12x:z,3g:oa,1ac:G}))}}}1b 6F5(a){1f 1b(b,c){g(a.1iz)&&a.1iz.2i6(b,c)}}1b y6(a){1d b=a.17z;!g(a.1dQ)&&0<b&&(b=2K(b),g(a.1iz)&&a.1iz.29G(a,b),g(a.1dJ)&&a.1dJ.29G(a,b),g(a.15p)&&a.15p.29G(a,b),a.1dQ=b)}1b TH(){}1b es(){}1b tv(a){1f a.1br&&a.2zI}1b kC(a,b,c){if(b.3U5(c)!==Lb.1gB){1d d=b.15k;d.1K0?(d.1K0=!1,b.3az=0,a.3wx.1q(b)):b.3wA<c.1gA-1&&a.3wx.1q(b);b.3wA=c.1gA;a.2fN.1q(b)}}1b UH(a,b,c){if(a.23x){1d d=b.21C?b:b.3BE;if(g(d))d.45O=!0;1s 1j(d=lC.1fi,d.1q(b);0<d.1h;){lC.23B=1k.1V(lC.23B,d.1h);1j(1d e=d.9l().9d,f=e.1h,h=0;h<f;++h){1d l=e[h];tv(l)&&(l.21C?(VH(a,l,c),WH(a,l,c),kC(a,l,c)):2>l.1Qj-b.1Qj&&d.1q(l))}}}1s b.21C&&kC(a,b,c)}1b WH(a,b,c){b.3au!==c.1gA&&(a.1ot.1Jo(b),b.3au=c.1gA)}1b uv(a,b,c){if(b.4du!==c.1gA&&(!b.1GJ&&!b.1sD&&b.3px||b.2og)){if(a.45r){1d d=c.3w;d=1>a.55L*(0!==d.34H?d.34H:d.4z2)/1k.1V(2*b.7u.3L,1)}1s d=!0;d&&(d=c.3w.4z1<a.45t,b.45F&&d||(b.4du=c.1gA,a.2of.1q(b)))}}1b z6(a,b,c){b.29B!==a.29B&&(b.2LQ(c),b.29B=a.29B);if(tv(b)){1d d=0<b.9d.1h;if(b.1sD&&d)d=b.9d[0],z6(a,d,c),b.1br=d.1br;1s{1d e=b.12f;e=!g(e)||e.1sD||e.1sE!==hh.1m8?!1:b.3wN(c,!0)<=a.23A;if(e)b.1br=!1;1s if(e=b.3aH===vv.45E,b.1sE===hh.1f1&&e&&d){d=!1;e=b.9d;1j(1d f=e.1h,h=0;h<f;++h){1d l=e[h],p=a,n=l;n.29B!==p.29B&&(n.2LQ(c),n.29B=p.29B);d=d||tv(l)}d||(++a.15Y.3aA,b.1br=!1)}}}}1b VH(a,b,c){z6(a,b,c);b.695();b.4dt=!1;b.29C=b;a.1Rh.3s=1k.1V(b.29C.1W7,a.1Rh.3s);a.1Ri.3s=1k.2o(b.29C.1W7,a.1Ri.3s);a.1Rh.4e=1k.1V(b.1Qj,a.1Rh.4e);a.1Ri.4e=1k.2o(b.1Qj,a.1Ri.4e);a.1Rh.2i4=1k.1V(b.29C.1Km,a.1Rh.2i4);a.1Ri.2i4=1k.2o(b.29C.1Km,a.1Ri.2i4);a.1Rh.2i3=1k.1V(b.3wB,a.1Rh.2i3);a.1Ri.2i3=1k.2o(b.3wB,a.1Ri.2i3);b.45O=!1;b.3wE=!0}1b 6F4(a,b){1f 0===b.1W7&&0===a.1W7?b.3wK-a.3wK:b.1W7-a.1W7}1b mR(a,b){1f 0===b.9d.1h?!1:b.1sD?!b.2og:b.1NA>a.23A}1b nR(a,b,c,d,e){d=mC.1fi;1j(d.1q(b);0<d.1h;){mC.23B=1k.1V(mC.23B,d.1h);1d f=b=d.9l(),h=e;f.3e5=1p 0;f.3BE=1p 0;1d l=f.12f;g(l)&&(f.3e5=l.1GJ||l.1sD||!l.3px||l.4du===h.1gA?l:l.3e5,f.3BE=l.21C?l:l.3BE);f=b;h=c;f=a.23x?a.1ZF?!1:g(f.3e5)?0===f.1NA?f.12f.1NA>h:f.1NA>h:!0:!0;h=b.1sE===hh.1m8;l=b.1sE===hh.1f1;1d p=b.12f;p=!g(p)||p.55M;1d n=!1;if(mR(a,b)){1d k,w=a,x=b,D=d,t=e,m=x.1sE===hh.1f1;n=x.9d;1d G=n.1h;1j(k=0;k<G;++k)VH(w,n[k],t);n.15F(6F4);1d aa=!w.23x&&m&&!(x.1GJ||x.1sD),r=!0,q=!1,u=-1,v=3a.6w;1j(k=0;k<G;++k){1d y=n[k];if(tv(y))D.1q(y),y.1Km<v&&(u=k,v=y.1Km),q=!0;1s if(aa||w.2dM)y.1Km<v&&(u=k,v=y.1Km),uv(w,y,t),WH(w,y,t);if(aa){if(y.2zI)if(y.1GJ||y.1sD){1d A=w;1d B=t,S=!0,C=nC.1fi;1j(C.1q(y);0<C.1h;){nC.23B=1k.1V(nC.23B,C.1h);1d R=C.9l();y=R.9d;1d V=y.1h,W=(R.1GJ||R.1sD)&&mR(A,R);W||R.21C||(S=!1);VH(A,R,B);tv(R)||(uv(A,R,B),WH(A,R,B));if(W)1j(R=0;R<V;++R)C.1q(y[R])}A=S}1s A=y.21C;1s A=!1;r=r&&A}}q||(r=!1);if(-1!==u&&!w.23x&&m)1j(k=n[u],k.4dt=!0,w=(x.4dt||x===w.1ro)&&v<=x.29C.1Km?x.29C:x,w.1Km=1k.2o(k.1Km,w.1Km),w.1W7=1k.2o(k.1W7,w.1W7),k=0;k<G;++k)y=n[k],y.29C=w;n=r&&p}p=!n&&p;b.1GJ||b.1sD?(a.3wn.1q(b),uv(a,b,e),p&&UH(a,b,e)):h?(UH(a,b,e),uv(a,b,e)):l&&(f?(uv(a,b,e),p&&UH(a,b,e)):p?(UH(a,b,e),uv(a,b,e)):(f=a,h=b,l=h.3e5,!f.1ZF&&(h.45L||g(l)&&h.1NA<l.1NA/f.2dP&&h.1Qj>l.1Qj+f.2dN)&&uv(a,b,e)));f=b;h=e;++a.15Y.2oe;f.6F3=h.1gA;WH(a,b,e);b.55M=n}}1b so(a,b){1a.9F=a;1a.1cC=b;1a.1K0=!1}1b rk(a){v.1N.2c("3v",a);v.1N.2c("3v.3g",a.3g);1a.3g=Q.1y(a.3g);1a.13w=m(a.13w,0);1a.12x=m(a.12x,0);1a.3wP=1g k;1a.3wO=1g k;1a.45N=1g k;1a.4Pl=1g k;1a.45M=1g k;1a.4Pk=1g k;1d b=m(a.3c,ba.9y),c=a.3g;b.13B(Q.1tI(c),1a.3wP);b.13B(Q.1tH(c),1a.3wO);Gl.3N=c.4o;Gl.4k=.5*(c.4C+c.4P);Gl.1D=0;1d d=b.13B(Gl,69k),e=k.4B(d,k.16a,oR);k.1T(e,1a.45N);Gl.3N=c.5a;e=b.13B(Gl,69j);1d f=k.4B(k.16a,e,oR);k.1T(f,1a.45M);d=k.3V(d,e,oR);e=k.1T(d,69l);f=c.4C;if(0<f){Gl.3N=.5*(c.4o+c.5a);Gl.4k=f;f=b.13B(Gl,ky.9X);k.1y(e,ky.2G);1d h=Cb.1zd(1a.3wP,1a.45N,A6);ib.1xl(ky,h,1a.3wP);f=b.17N(f,XH)}1s f=b.2a8(Q.2fk(c),XH);f=k.4B(f,d,B6);k.1T(f,1a.4Pl);f=c.4P;0>f?(Gl.3N=.5*(c.4o+c.5a),Gl.4k=f,c=b.13B(Gl,ky.9X),k.11k(e,ky.2G),e=Cb.1zd(1a.3wO,1a.45M,A6),ib.1xl(ky,e,1a.3wO),c=b.17N(c,XH)):c=b.2a8(Q.21k(c),XH);c=k.4B(d,c,B6);k.1T(c,1a.4Pk);m(a.3Su,!0)&&(1a.1vX=yc.21r(1a.3g,1a.13w,1a.12x,b),1a.5V=P.3aL(1a.1vX))}1b to(a,b){0===b&&(b=B.1hn);1a.5V=1g P(a,b)}1b wv(a,b,c){c=k.4B(a,b,c);a=k.7t(c);1f k.4g(c,B.1hn/a,c)}1b pR(a,b){1d c=k.1T(a,69b);c=k.5T(c,k.1dl,B.1g9)?k.1f5:k.1dl;1f wv(a,c,b)}1b C6(a){1d b=J.1ed(a,0,69e),c=J.1ed(a,1,69d),d=J.1ed(a,2,69c),e=k.2L(b,k.6h),f=k.2L(c,k.6h),h=k.2L(d,k.6h);if(!e&&!f&&!h)1f a;if(e&&f&&h)1f a[0]=B.1hn,a[4]=B.1hn,a[8]=B.1hn,a;!e||f||h?e||!f||h?e||f||!h?e?f?h||(b=pR(d,b),c=wv(d,b,c)):(b=pR(c,b),d=wv(c,b,d)):(c=pR(b,c),d=wv(c,b,d)):d=wv(c,b,d):c=wv(b,d,c):b=wv(c,d,b);J.1vr(a,0,b,a);J.1vr(a,1,c,a);J.1vr(a,2,d,a);1f a}1b Hl(a,b){b=C6(b);1a.1vX=1g yc(a,b);1a.5V=P.3aL(1a.1vX)}1b Qe(a,b,c,d){1a.9F=a;1a.2qu=c;1d e=c.15k;1a.5o=g(c.5o)?A.5f(c.5o):A.1y(A.8K);1d f=g(d)?d.1Hb:a.4a;f=A.9b(f,1a.5o,1g A);1d h=g(d)?d.4Pd:A.8K;1a.4Pd=A.9b(h,1a.5o,1g A);1a.1Hb=f;1a.11S=1a.2Ds(c.6W,f);1a.1B1=1p 0;1d l;g(e)&&g(e.6W)&&(l=1a.2Ds(e.6W,f));1a.29D=l;1a.3wF=1p 0;1d p;g(c.4P9)&&(p=1a.2Ds(c.4P9,f));1a.2Pu=p;1a.2Dr=1a.1Rj=c.1Rj;g(1a.2Dr)||(1a.2Dr=g(d)?d.1Rj:a.2Dr,Qe.1W9("9PA","9Pz 5i 1Rj is 7w 1j 1a 11H. 55N 12f\'s 9Py 7A 1gK."));1a.4P8();g(c.1sE)?("3X"!==c.1sE&&"add"!==c.1sE||Qe.1W9("3rP-1sE",\'18m 11H 2yG a 3rP 1sE "\'+c.1sE+\'". 53M 14W "\'+c.1sE.1G9()+\'".\'),l="1f1"===c.1sE.1G9()?hh.1f1:hh.1m8):l=g(d)?d.1sE:hh.1f1;1a.1sE=l;1a.9d=[];1a.12f=d;b=na.14m(b);if(g(e)){1d n=e.1dr;g(e.2I)&&(Qe.1W9("9Px",\'18m 15c 4H 2yG 1Z "15k.2I" 5i 1nN 14d 26N 2l9. 1c7 "15k.1dr" 1gK.\'),n=e.2I);e=!1;d=fi.1vn;n=a.55K?-1!==n.3f(".15l")?b.16M({2I:"./2g/9w/"+n}):-1===b.2I.3f("/2g/9w")&&-1!==n.3f(".29F")?b.16M({2I:"./2g/9w/"+n}):b.16M({2I:n}):b.16M({2I:n});n.2I=n.2I.3X(/\\+/g,"%2B");1d k=qb.2Ao(n.1oO())}1s{1d w=1g so(a,1a);e=!0;d=fi.1cY}1a.1ae=w;1a.3wI=n;1a.1Kj=d;1a.2i5=1a.1W8=1a.2Pw=1p 0;1a.692=k;1a.1GJ=e;1a.1sD=!1;1a.3aG=1p 0;a=c.4nZ;1d x;if(g(a)){1d D=a.13k;g(a.1sL)&&(x=M.1r3(a.1sL))}1a.4Pe=D;1a.2qw=x;1a.3az=0;1a.3aH=vv.69n;1a.45F=1a.1TT=!1;1a.3wG=1a.3wL=1a.1NA=1a.3wK=1a.1W7=0;1a.2zI=1a.1br=!1;1a.3wE=!0;1a.4du=1a.3wA=1a.6F3=1a.3au=1a.29B=1a.3wQ=1a.4Pm=1a.1Qj=0;1a.3BE=1a.3e5=1p 0;1a.45O=1a.55M=!1;1a.2Pv=!0;1a.26T=0;1a.1Kk=1a.1Kl=1a.1Hc=1p 0;1a.3aF=y.3zZ({2O:1});1a.3aI=!1;1a.2LP=0;1a.29C=1a;1a.45L=1a.45G=!1;1a.1Km=1a.3wB=0;1a.4dt=!1;1a.26U=1g M;1a.4P6=0;1a.7a=1p 0;1a.45I=!1;1a.4OQ=1p 0}1b 691(a,b){1f 1b(c){a.1Kj===fi.45z?--b.1DB.1zo:--b.1DB.1oD;a.1Kj=fi.12D;a.1W8.7N(c);a.2Pw.7N(c)}}1b 694(a){1f 1b(){1f a.2LP}}1b qR(a,b){if(b.3z!==O.6G&&!g(a.1B1)){1d c=P.3aK(a.11S.7u,b.11s,D6);a.1B1=1g to(c.2V,c.3L)}1f b.3z!==O.6G?a.1B1:a.11S}1b YH(a,b,c){1f 1k.1V(B.1T(a,b,c)-B.1hn,0)}1b fs(){1a.2Dq=1g Xn;1a.45D=1a.2Dq.add();1a.45C=!1}1b oC(a){1a.3aE=a;1a.1PN=3a.6w;1a.1PO=-3a.6w;1a.4P0=3a.6w;1a.4OZ=-3a.6w;1a.4P2={};1a.4P1={}}1b rR(a,b){1f"26U"===b?M.6uk(a).1o3():a}1b Pm(){1a.1Bq=1a.1tR=1a.1iC=1a.3aA=1a.3ay=1a.3ax=1a.3aB=1a.3wy=1a.3aC=1a.3wz=1a.3aD=1a.6F1=1a.3at=1a.2Pt=1a.1zo=1a.1oD=1a.1zm=1a.3ar=1a.2oe=1a.1bM=0}1b ZH(a,b,c,d){1d e=b.289,f=b.1Eb,h=b.1qQ,l=b.17z,p=b.1iC,n=b.1tR;b=b.1Bq;d?(a.3wz+=c?-l:l,a.3wy+=c?-f:f,a.1iC+=c?-p:p,a.1tR+=c?-n:n,a.1Bq+=c?-b:b):(a.3aD+=c?-l:l,a.3aC+=c?-f:f,a.3aB+=c?-h:h);if(g(e))1j(f=e.1h,h=0;h<f;++h)ZH(a,e[h],c,d)}1b xv(){1a.14N=1p 0;1a.1TS=!1;1a.4OY=0}1b tg(a){a=m(a,m.4Z);v.2l("3v.2I",a.2I);1a.3BD=1a.23w=1a.2Dr=1a.1tp=1a.4OX=1a.1Ki=1a.3av=1a.10z=1p 0;1a.1ot=1g fs;1a.45y=[];1a.2fN=[];1a.3wn=[];1a.2of=[];1a.3wx=[];1a.26U=1p 0;1a.4OJ=1a.29B=1a.4OP=0;1a.4OH=!1;1a.1Ny=1a.4OT=1a.3wu=1p 0;1a.68L=m(a.9Pw,!0);1a.45v=!0;1a.2LR=!1;1a.3as=1p 0;1a.3ws=1g dh;1a.23A=m(a.1ev,16);1a.2Mc=m(a.2Jp,512);1a.28j=1g xv;1a.12t=g(a.4a)?A.1y(a.4a):A.1y(A.8K);1a.15Y=1g Pm;1a.6EY=1g Pm;1a.4OK=2K(ug.2KH);1j(1d b=0;b<ug.2KH;++b)1a.4OK[b]=1g Pm;1a.4OE=[];1a.1Rh={2i4:-3a.6w,4e:-3a.6w,3s:-3a.6w,2i3:-3a.6w};1a.1Ri={2i4:3a.6w,4e:3a.6w,3s:3a.6w,2i3:3a.6w};1a.45s=1g oC(a.9Pv);1a.4OI=m(a.4OI,!0);1a.45r=!1;1a.55L=m(a.55L,60);1a.3wM=B.2Y(m(a.3wM,.3),0,.5);1a.4P4=m(a.4P4,!1);1a.55I=1a.45B=!1;1a.1W4=1p 0;1a.7S=Z.12L();1a.1Ez=a.12p;1a.5W=m(a.3c,ba.9y);1a.45A=A.8K;1a.3ww=1p 0;1a.45x=!0;1a.45u=m(a.45u,!1);1a.4OL=m(a.4OL,!0);1a.1Er=1p 0;1a.1ZG=m(a.1ZG,!1);1a.4Pi=m(a.4Pi,!0);1a.4OV=m(a.3aw,.1);1a.4OU=m(a.3wv,0);1a.4Ph=m(a.4Ph,B.11x);1a.45t=m(a.45t,.2);1a.2lQ=.6zh;1a.2lP=4;1a.68C=.25;1a.4OM=0;1a.6x=m(a.6x,ed.2hT);1a.2p=m(a.2p,!0);1a.1qt=Wp.2dR;1a.1Nv=.5;1a.1uY=1g sv(a.1uY);1a.20m=1g ds;1a.6EX=1g sa;1a.4A7=1g sa;1a.6EW=1g sa;1a.6F0=1g sa;1a.6EZ=1g sa;1a.55J=1g sa;1a.68r=1g sa;1a.23x=1a.2dQ=m(a.2dQ,!1);1a.45w=!1;1a.2dO=m(a.2dO,13j);1a.2dP=m(a.2dP,16);1a.2dN=m(a.2dN,1);1a.1ZF=m(a.1ZF,!1);1a.2dM=m(a.2dM,!1);1a.1cX=1p 0;1a.1cj=a.1cj;1a.1sQ=1g C(1,1);C.1y(a.1fH,1a.1sQ);1a.18V=a.18V;1a.1rJ=m(a.1rJ,.2);1a.1mr=a.1mr;1a.1mq=a.1mq;1a.2yC=m(a.2yC,!1);1a.3wC=m(a.3wC,!1);1a.1gj=m(a.1gj,!1);1a.15S=m(a.15S,!1);1a.3aJ=m(a.3aJ,!1);1a.3wD=m(a.3wD,!1);1a.1W4=1p 0;1a.4OD=!1;1a.45q=1a.3aq=1p 0;1a.3wr=m(a.3wr,!1);1a.3wq=m(a.3wq,!1);1a.3wp=m(a.3wp,!1);1a.3wo=m(a.3wo,!1);1a.55K=m(a.55K,!1);1d c=1a,d;Z(a.2I).4b(1b(a){1d b;d=na.14m(a);c.1Ny=d.1mn;"15l"===d.6A?b=d.4fu(!0):d.2FN&&(b="");c.10z=d.2I;c.3av=b;1f tg.4fn(d)}).4b(1b(a){c.1Ki=c.4OS(d,a);1d b=g(a.1sT.6F2)?Pe.3y1(a.1sT.6F2):Pe.Y,e=a.1sT;c.4OX=e;c.1tp=a.5U;c.2Dr=a.1Rj;c.23w=a.1r9;c.3BD=b;c.4OT=a.19q;b=e.19q;if(g(b)&&g(b.3P)&&g(b.3P.1mn)){b=b.3P.1mn;e=c.1Ny;g(e)||(e=[],c.1Ny=e);1j(1d l=0;l<b.1h;++l){1d p=b[l];e.1q(1g Zb(p.1jH,p.3Tm))}}a=c.1Ki.2Ds(a.1ro.6W,A.8K).7u.2V;b=c.5W.10Z(a);g(b)&&b.1D>nd.3dd&&(c.45A=Da.18N(a));c.3ww=A.1y(c.45A);c.7S.5h(c)}).10g(1b(a){c.7S.7N(a)})}1b 68y(a,b){1f a.2LP-b.2LP}1b 68v(a,b){1f 1b(){a.45y.1q(b);--a.15Y.1oD;++a.15Y.1zo}}1b 68s(a,b){1f 1b(c){1d d=b.3wI.2I;c=g(c.19s)?c.19s:c.5s();0<a.55J.2mw?a.55J.5k({2I:d,19s:c}):(11l.7k("A 3D 11H 1bf to 1e4: "+d),11l.7k("6u: "+c))}}1b 68t(a,b){1f 1b(){--a.15Y.1zo;b.1sD||(a.15Y.68O(b.15k),++a.15Y.2Pt,++a.15Y.6F1,a.1ot.add(b));a.6F0.5k(b)}}1b E6(a){a/=1yL;1f 1>a?a.1xG(1p 0,68B):1k.9p(a).1xG()}1b sR(a){a=a.6W.6W;1d b=a.1dK,c=a.3L,d=k.1y(a.2V,$H);g(b)?(d.x+=.75*(b[0]+b[3]+b[6]),d.y+=.75*(b[1]+b[4]+b[7]),d.z+=.75*(b[2]+b[5]+b[8])):g(c)&&(b=k.1T(a.2V,$H),b=k.4g(b,.75*c,$H),d=k.add(b,a.2V,$H));1f d}1b tR(a,b,c){1d d="",e=0;b.3wr&&(d+="\\9Pu 7A: "+a.1Rj,e++);b.3wq&&(d+="\\9Pt: "+a.698,e++,0<a.15k.1Eb&&(d+="\\9Ps: "+a.15k.1Eb,e++),0<a.15k.1qQ&&(d+="\\9Pr: "+a.15k.1qQ,e++),d+="\\9Pq: "+a.15k.17z,e++);b.3wp&&(d+="\\9Pp 2gc: "+E6(a.15k.1tR),d+="\\9Po 2gc: "+E6(a.15k.1iC),e+=2);b.3wo&&(d+="\\9Pn: "+a.2qu.15k.1dr,e++);a={3l:d.11c(1),1K:c,9O:19-e+"px 1TG-1TF",1oC:!0,11p:3a.19B};1f b.1W4.add(a)}1b F6(a,b){a.6EZ.5k(b);a.15Y.4OF(b.15k);--a.15Y.2Pt;b.68Y()}1b 68J(a,b){1d c=a.15Y,d=a.6EY,e=c.1oD,f=c.1zo,h=d.1oD,l=d.1zo;Pm.1y(c,d);(d=e!==h||f!==l)&&b.1sn.1q(1b(){a.6EX.5k(e,f)});a.45B=0===c.1oD&&0===c.1zo&&0===c.1zm;d&&a.45B&&(b.1sn.1q(1b(){a.4A7.5k()}),a.55I||(a.55I=!0,b.1sn.1q(1b(){a.6EW.5k()})))}1b Xp(a,b){if(!g(a))1t 1g r("4r is 1X.");if(!g(b))1t 1g r("1mu is 1X.");b.1s9.7K(Xp.1i.1gP,1a);1a.2R=a;1a.15G=a.13y;1a.17l=b;1a.3wl={};1a.2Dc=1g Ia;1a.1gP(b,b.2a,[],[])}1b uR(a,b,c,d){a=c[b.id];g(a)&&(d.1VX(a.3wm),4Y c[b.id])}1b 68o(a,b,c){a.9c.10g(1b(a){11l.7A(a);c[b.id].39U=!0})}1b gs(a){a=m(a,m.4Z);1a.8B=1g sa;1a.55H=1a.1qI=1a.6ER=1a.2hX=1a.6EQ=1a.2hY=1p 0;1a.1ut=a.1ut;1a.1t7=a.1t7;1a.12G=a.12G}1b gi(a,b,c){1a.x=7L(a)||0;1a.y=7L(b)||0;1a.z=7L(c)||0}1b Re(a){1a.11K(a)}1b G6(a,b,c,d){d=Ra.12S({1O:d,5b:I.9g(b.3k,b.2a),7Q:xa.7C});a.1q({2P:c,7e:d,2Z:b.2Z,3k:b.3k,9n:0,9t:0,1T:!1})}1b pC(a){if(a.4dr)a.4ds=!0;1s if(0===a.29z){1d b=a.3ap,c=a.3we,d=a.3wc;if(0!==d.1h||0!==b.1h||0!==c.1h){a.4dr=!0;do{a.4ds=!1;1d e=b.2a.4h(0),f=c.2a.4h(0),h=d.2a.4h(0);b.7f();c.7f();d.7f();a.45n.5k(a,e,f,h)}14p(a.4ds);a.4dr=!1}}}1b Se(a){1a.1fq=a;1a.23v=1g Ia;1a.3ap=1g Ia;1a.3we=1g Ia;1a.3wc=1g Ia;1a.29z=0;1a.45n=1g sa;1a.7R=Ld();1a.10T=!0;1a.4ds=1a.4dr=!1}1b 68h(a){if(g(a.13F)){1d b=k.8g(a.1K.x,a.1K.y,a.1K.z+a.1D/2);1f{1K:b,13F:{6e:1g k(a.13F.6e.x,a.13F.6e.y,a.13F.6e.z),2q:1g y(0,0,1,.2)}}}if(g(a.1pV))1f b=k.8g(a.1K.x,a.1K.y,a.1K.z+a.1D/2),{1K:b,1pV:{1h:a.1pV.1h,1i1:a.1pV.1i1,1fd:a.1pV.1fd,2q:1g y(0,0,1,.2)}};if(g(a.10i))1f b=k.8g(a.1K.x,a.1K.y,a.1K.z+a.1D/2),{1K:b,10i:{4d:a.43h,1G:a.1G,1D:a.1D}};if(g(a.3c)){if(g(a.3L))1f b=k.8g(a.1K.x,a.1K.y,a.1K.z+a.3L),{1K:b,3c:{10N:1g k(a.3L,a.3L,a.3L),2q:1g y(0,0,1,.2)}};b=k.8g(a.1K.x,a.1K.y,a.1K.z+a.1Le);1f{1K:b,3c:{10N:1g k(a.3c.10N.x,a.3c.10N.y,a.3c.10N.z),2q:1g y(0,0,1,.2)}}}if(g(a.12i))1f{12i:{1iD:a.12i.5I,2q:1g y(1,0,0,.1),9i:a.12i.9i,16U:a.12i.16U,1D:a.12i.1D}};if(g(a.11M)){b=[];1j(1d c=0,d=a.11M.3q.1h;c<d;++c)b.1q(k.8g(a.11M.3q[c].x,a.11M.3q[c].y,a.11M.3q[c].z));1f{11M:{3q:b,1G:5,2q:1g y(1,0,0,1)}}}1f g(a.1fc)?{1K:k.8g(a.1K.x,a.1K.y,a.1K.z),1fc:{1aP:a.1fc.1aP,19p:a.1fc.19p,1D:a.1K.z,2q:1g y(0,0,1,.2)}}:"68j"===a.1I?{1K:k.8g(a.x,a.y,a.z),7v:1g Wr({1A:1g y(1,1,0),12Q:10,5M:1g y(0,1,1)})}:{}}1b vR(a){1j(1d b=a.45j,c=b.1h,d=0;d<c;d++)a[b[d]]=1p 0;a.6X=1p 0;a.1R9=1p 0}1b hs(a){a.45m=!0;if(0===a.29z){1d b=a.1lH,c=b.1h,d=a.45l,e=d.1h,f,h=a.1q0,l=1g Se(a),p=a.4OB;1j(f=0;f<e;f++){1d n=d[f];n.1s9.12R(kf.1i.1gP,a);1d k=n.2a;1d w=n.id;1j(n=k.1h-1;-1<n;n--){1d x=k[n];1d D=p;Il[0]=w;Il[1]=x.id;x=4H.8s(Il);D[x]();D[x]=1p 0}}1j(f=c-1;0<=f;f--)1j(n=b[f],n.1s9.7K(kf.1i.1gP,a),k=n.2a,w=n.id,n=k.1h-1;-1<n;n--)x=k[n],c=a,d=p,e=x,Il[0]=w,Il[1]=e.id,d[4H.8s(Il)]=e.13C.7K(kf.1i.4OA,c),c=l.1of(x.id),g(c)||(c=h.1of(x.id),g(c)?vR(c):(aI.id=x.id,c=1g wd(aI)),l.add(c)),c.18y(x);a.45l=b.4h(0);h.1VW();h.7f();a=l.2a;1j(f=0;f<a.1h;f++)h.add(a[f]);h.1VV()}}1b kf(a,b){1a.1fq=b;1a.1q0=1g Se(1a);1a.29z=0;1a.1lH=g(a)?a.4h():[];1a.45l=[];1a.7R=Ld();1a.4OB={};hs(1a);1a.45m=!1}1b bI(a,b){if(!g(b))1t 1g r("1ho is 1X.");a=a.3f(b);if(-1===a)1t 1g r("1ho is 2S in 1a 1sh.");1f a}1b H6(a,b,c){1d d=a.1lH;b=B.2Y(b,0,d.1h-1);c=B.2Y(c,0,d.1h-1);if(b!==c){1d e=d[b];d[b]=d[c];d[c]=e;hs(a)}}1b 68g(a,b,c,d){1b e(){c.5k(a)}1d f=[];b.7f();1j(1d h=d.1h,l=0;l<h;l++){1d p=d.1n(l);g(p.2g)&&-1===f.3f(p.2g)&&b.add(p.2g.13C,e)}}1b hi(){1a.1n5=1g xj;1a.8B=1g sa;1a.18S=1g Md;1a.18S.2dv.7K(hi.1i.3aa,1a)}1b uo(){1a.8B=1g sa;1a.1q0=1g hi;1a.1q0.13C.7K(uo.1i.2hS,1a)}1b Rg(a){1a.1lF=m(a,dg.1EB);1a.8B=1g sa;1a.1q0=1g hi;1a.1q0.13C.7K(Rg.1i.2hS,1a)}1b nc(a){fd.4G(1a,a);1a.1zP=0;1a.1lG=1p 0}1b 6EV(a){1a.id=a;1a.8J=1a.6f=1a.9i=1a.1D=1a.1b8=1a.1G=1a.3q=1a.9S=1p 0}1b Jl(a,b){nc.4G(1a,{13a:a,4r:b,1WO:1g 6EV(a),1WN:"1u5",1WM:["1b9","1u5"]});1a.1ua(a,"1u5",a.1u5,1p 0)}1b ly(a,b,c){Fd.4G(1a,a,b,c)}1b ih(){r.8i()}1b yd(a,b){a=m(a,m.4Z);if(g(a.11p)&&0>a.11p)1t 1g r("11p 2Q be 9U 6L or 14B to 0.0.");1d c=a.15M,d=a.13h,e=a.4S;if(g(c)){if(c.3W<=c.3I)1t 1g r("15M.3W 2Q be 9U 6L 15M.3I.");c=Db.1y(c)}if(g(d)){if(d.3W<=d.3I)1t 1g r("13h.3W 2Q be 9U 6L 13h.3I.");d=Db.1y(d)}if(g(e)){if(e.3W<=e.3I)1t 1g r("4S.3W 2Q be 9U 6L 4S.3I.");e=ob.1y(e)}1a.10T=m(a.2p,!0);1a.9M=k.1y(m(a.1K,k.6h));1a.2qq=k.1y(1a.9M);1a.7a=y.1y(m(a.1A,y.9r));1a.16O=y.1y(m(a.5M,y.28g));1a.16n=m(a.5R,0);1a.2qd=m(a.12Q,10);1a.1hV=d;1a.1gH=c;1a.17y=e;1a.1f9=m(a.11p,0);1a.7R=a.id;1a.1DS=m(a.1ho,b);1a.23u=!0;1a.16I=1p 0;1a.3an=b;1a.1g6=!1;1a.12N=-1}1b Kl(a,b){1d c=a.3an;g(c)&&(c.67V(a,b),a.1g6=!0)}1b Li(a){a=m(a,m.4Z);1a.1aa=1a.2n1=1a.2Pr=1a.1ED=1a.11V=1p 0;1a.1zR=[];1a.3w5=[];1a.2Ps=0;1a.3ai=1a.1Rf=1a.3aj=1a.2hZ=1a.3ak=1a.2i0=1a.3al=1a.2i1=1a.1jb=1a.3w6=!1;1a.1vc=1g 12X(wR);1a.45d=1;1a.1Mh=1g P;1a.2n3=1g P;1a.2n2=1g P;1a.11S=1g P;1a.1Mi=!1;1a.27k=[];1a.4a=A.1y(m(a.4a,A.8K));1a.12t=A.1y(A.8K);1a.15S=m(a.15S,!1);1a.1W3=m(a.1W3,jf.23t);1a.1r5=1p 0;1a.8C=O.6G;1a.4Ot=1;1a.3am=[xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C,xa.7C];1d b=1a;1a.1dg={3gd:1b(){1f b.4Ot}};1a.2Cx=m(a.2Cx,!0)}1b I6(a){1j(1d b=a.1h,c=0;c<b;++c)a[c]&&a[c].1sm()}1b xR(a){if(a.3w6){a.3w6=!1;1j(1d b=[],c=a.1zR,d=c.1h,e=0,f=0;e<d;++e){1d h=c[e];h&&(h.12N=f++,b.1q(h))}a.1zR=b}}1b J6(a,b,c,d){b=d.12N;1d e=d.3wa();a.8C===O.6G&&(P.1We(a.1Mh,e,a.1Mh),a.1Mi=!0);bc.12y(e,yR);e=d.12Q;d=d.5R;a.45d=1k.1V(a.45d,e+d);a=yR.162;(0,c[ii.2ke])(b,a.x,a.y,a.z,e);a=yR.15r;(0,c[ii.2uk])(b,a.x,a.y,a.z,d)}1b K6(a,b,c,d){a=d.12N;1d e=d.1A;b=d.1Rg(b).1A;1d f=d.5M,h=y.10F(e.5r),l=y.10F(e.5t),g=y.10F(e.5G);d=12v*h+256*l+g;h=y.10F(f.5r);l=y.10F(f.5t);g=y.10F(f.5G);1d n=12v*h+256*l+g;h=y.10F(b.5r);l=y.10F(b.5t);g=y.10F(b.5G);h=12v*h+256*l+g;e=12v*y.10F(e.2O)+256*y.10F(f.2O)+y.10F(b.2O);(0,c[ii.1lU])(a,d,n,h,e)}1b L6(a,b,c,d){b=d.12N;1d e=0,f=1,h=1,l=1,p=d.15M;g(p)&&(e=p.3I,f=p.1DO,h=p.3W,l=p.1DN,1!==f||1!==l)&&(a.2i0=!0);a=d.2p&&d.29y;0===d.1A.2O&&0===d.5M.2O&&(a=!1);f=B.2Y(f,0,1);d=256*(a?1:0)+(1===f?255:255*f|0);l=B.2Y(l,0,1);(0,c[ii.1lV])(b,d,1===l?255:255*l|0,e,h)}1b M6(a,b,c,d){b=d.12N;c=c[ii.13h];1d e=0,f=1,h=1,l=1;d=d.13h;g(d)&&(e=d.3I,f=d.1DO,h=d.3W,l=d.1DN,1!==f||1!==l)&&(a.2i1=!0);c(b,e,f,h,l)}1b N6(a,b,c,d){b=d.12N;c=c[ii.25g];1d e=0,f=3a.6w,h=d.4S;g(h)&&(e=h.3I,f=h.3W,e*=e,f*=f,a.2hZ=!0);d=d.11p;d*=d;0<d&&(a.1Rf=!0,d===3a.19B&&(d=-1));c(b,e,f,d)}1b zR(a,b,c,d,e,f){if(d.3z===O.6G){1d h=a.1Mh;a.1Mi=!0}1s h=a.2n2;a=[];1j(1d l=0;l<c;++l){1d p=b[l],n=yd.3w8(p.1K,d,e);g(n)&&(p.3w9(n),f?a.1q(n):P.1We(h,n,h))}f&&P.1aN(a,h)}1b Mi(a){a=m(a,m.4Z);1a.1wK=m(a.3e,!1);1a.3w4=m(a.4Oo,80);1a.3w3=m(a.67K,1);1a.2Dp=m(a.67I,!0);1a.2qp=m(a.67H,!0);1a.2Do=m(a.67G,!0);1a.1Re=1a.1Rd=1a.1Rc=1a.23s=1a.13d=1a.16k=1p 0;1a.1EC={};1a.45c=[];1a.45b=[];1a.45a=[];1a.4Om=[];1a.4Ol=1p 0;1a.1xA=1a.3w2=!1;1a.2qn=1a.1Nu=1p 0;1a.4On=1g sa}1b 6EU(a){1f a.16Q.x}1b 6ET(a){1f a.16Q.y}1b O6(a,b){a.x-=b;a.y-=b;a.1G+=2*b;a.1D+=2*b}1b P6(a,b,c,d,e){g(a.16k)&&d.2qp?e=Fj.2i2(a,b,e):g(a.13d)&&d.2Dp?e=wb.2i2(a,b,e):g(a.3an)&&d.2Do&&(e=yd.2i2(a,b,e));O6(e,c);d.2qp&&!g(a.16k)&&g(a.id)&&Q6(d,a.id.id)&&g(a.id.1eh)&&(a=d.16k.1n(d.1EC[a.id.id].2qo),b=a.2i2(a,b,67P),O6(b,c),e=Aa.1nu(e,b,e));1f e}1b Q6(a,b){1f g(a)&&g(a.1EC[b])&&g(a.1EC[b].2qo)}1b AR(a,b,c,d,e){if(g(a))1j(1d f=a.1h,h=0;h<f;++h){1d l=a.1n(h);l.29y=!1;if(l.2p&&(e.2R.3z!==O.6G||d.4Vd(l.1K))){1d p=e.2qp&&g(l.16k),n=e.2Dp&&g(l.id.1ow),k=e.2Do&&g(l.id.2CI);p&&(k||n)||(l=l.26d(c),g(l)&&b.1q({2P:h,1ho:a,1En:!1,16Q:l}))}}}1b 67L(a){1f 1b(b){if(!(g(b)&&.1cN>b)&&a.3e){1d c=a.2R,d=a.16k,e=a.13d,f=a.23s;if((g(d)||g(e)||g(f))&&(a.2Dp||a.2qp||a.2Do)){b=a.1Rd;1d h=a.1Rc,l=a.1Re;g(b)?b.7f():b=a.1Rd=1g de({4r:c});g(h)?h.7f():h=a.1Rc=1g xd({4r:c});g(l)?l.7f():l=a.1Re=1g Li;1d p=a.3w4,n=a.3w3,z=[],w=c.3w.19I.1D,x=c.3w.6K,D=1g fk(c.11s.3c,x),t=[];a.2qp&&AR(d,t,c,D,a);a.2Dp&&AR(e,t,c,D,a);a.2Do&&AR(f,t,c,D,a);1d m;e=hy(t,6EU,6ET,18C,1fZ);d=t.1h;1j(c=0;c<d;++c)if(f=t[c],!f.1En){f.1En=!0;D=f.1ho;1d G=f.2P;1d aa=D.1n(G);f=P6(aa,f.16Q,p,a,67O);1d r=Aa.1y(f,67N);D=e.1sU(f.x,f.y,f.x+f.1G,f.y+f.1D);G=D.1h;1d q=k.1y(aa.1K);1d u=1;1d v=[aa.id];1d y=k.3de(x,q);1j(m=0;m<G;++m){1d A=D[m];1d B=t[A];B.1En||(A=B.1ho.1n(B.2P),B=P6(A,B.16Q,p,a,67M),k.3de(x,A.1K)<y&&(q=k.1y(A.1K)),Aa.1nu(r,B,r),++u,v.1q(A.id))}if(u>=n)1j(m=aa=k.1y(q),q=a,y={10i:q.1Rc.add(),17R:q.1Rd.add(),7v:q.1Re.add()},y.10i.2p=!1,y.7v.2p=!1,y.17R.2p=!0,y.17R.3l=u.1xG(),y.17R.id=v,y.10i.1K=y.17R.1K=y.7v.1K=m,q.4On.5k(v,y),z.1q({1K:aa,1G:r.1G,1D:r.1D,9Pm:f.1G,13w:f.1D}),m=0;m<G;++m)t[D[m]].1En=!0;1s f=aa,D=a,f.29y=!0,!g(f.16k)&&g(f.id)&&Q6(D,f.id.id)&&g(f.id.1eh)&&(D.16k.1n(D.1EC[f.id.id].2qo).29y=!0)}0===b.1h&&(b.1M(),a.1Rd=1p 0);0===h.1h&&(h.1M(),a.1Rc=1p 0);0===l.1h&&(l.1M(),a.1Re=1p 0);a.4Om=z;a.4Ol=w}}}}1b BR(a,b,c,d){1f 1b(e){1d f=1a[a];g(1a.1EC)||(1a.1EC={});1d h=1a.1EC[e.id];g(h)||(h=1a.1EC[e.id]={3ah:1p 0,2qo:1p 0,3ag:1p 0});if(g(f)&&g(h[d]))1f f.1n(h[d]);g(f)||(f=1a[a]=1g b({4r:1a.2R}));e=1a[c];if(0<e.1h){e=e.9l();1d l=f.1n(e)}1s l=f.add(),e=f.1h-1;h[d]=e;1a.1xA=!0;1f l}}1b CR(a,b){1d c=a.1EC[b];g(c.3ah)||g(c.2qo)||g(c.3ag)||4Y a.1EC[b]}1b DR(a){if(g(a))1j(1d b=a.1h,c=0;c<b;++c)a.1n(c).29y=!0}1b ER(a){1a.6X=a;1a.1aG=1p 0;1a.1lt=1g sa;1a.1vN=1g sa;1a.2hC=!1;1a.1R4=1g sa;1a.17l=1g Se(1a);1a.23b=1g Mi}1b 6ES(a){1a.id=a;1a.8J=1a.1ej=1a.1ue=1a.1fd=1a.1i1=1a.1h=1a.9S=1p 0}1b Gj(a,b){fd.4G(1a,{13a:a,4r:b,1WO:1g 6ES(a),1WN:"1pV",1WM:["1b9","1K","11f","1pV"]});1a.1ua(a,"1pV",a.1pV,1p 0)}1b my(a,b,c){Fd.4G(1a,a,b,c)}1b Qm(){1a.8B=1g sa;1a.2qM=1a.2aq=1a.9Pl=1a.1vg=1a.4QQ=1a.1GW=1p 0}1b is(a){a=m(a,m.4Z);1a.8B=1g sa;1a.9Pk=1a.3vY=1a.9Pj=1a.3vZ=1a.9Pi=1a.3w0=1a.9Ph=1a.3w1=1a.1WL=1a.7a=1p 0;1a.1A=a.1A;1a.1SR=a.1SR;1a.1ql=a.1ql;1a.1As=a.1As;1a.1uF=a.1uF}1b js(a){1a.8B=1g sa;1a.1WL=1a.7a=1p 0;1a.1A=a}1b ks(a){a=m(a,m.4Z);1a.8B=1g sa;1a.9Pg=1a.2g6=1a.9Pf=1a.2Al=1a.9Pe=1a.2Am=1a.1WL=1a.7a=1p 0;1a.1A=a.1A;1a.1SK=a.1SK;1a.1SM=a.1SM;1a.1SL=a.1SL}1b ls(a){a=m(a,m.4Z);1a.8B=1g sa;1a.9Pd=1a.458=1a.9Pc=1a.2Mk=1a.1WL=1a.7a=1p 0;1a.1A=a.1A;1a.1Lj=a.1Lj;1a.1Fo=a.1Fo}1b ms(a){a=m(a,m.4Z);1a.8B=1g sa;1a.1RU=1a.16n=1a.1RT=1a.16O=1a.1WL=1a.7a=1p 0;1a.1A=a.1A;1a.5M=a.5M;1a.5R=a.5R}1b sk(a,b){1a.6j=1p 0;1a.8B=1g sa;1a.1n5=1g xj;1a.1lF=m(b,dg.1EB);1a.1cf(a)}1b Yp(a){1a.6j=1p 0;1a.8B=1g sa;1a.1n5=1g xj;1a.1cf(a)}1b yv(a){1d b=a.2Po;if(!g(b)){b=a.2Pp;if(!g(b)){b=a.3vX.1of(a.3vW);if(!g(b)){a.2Pp=a.2Po=1p 0;1f}b.13C.7K(ji.1i.4Ob,a);a.2Pp=b}1d c=a.2Pq;b=a.2Pp;1j(1d d=0,e=c.1h;d<e&&g(b);++d)b=b[c[d]];a.2Po=b}1f b}1b ji(a,b,c){if(!g(a))1t 1g r("4Oc is 1X.");if(!g(b)||""===b)1t 1g r("67v is 1X.");if(!g(c)||0===c.1h)1t 1g r("67u is 1X.");1j(1d d=0;d<c.1h;d++){1d e=c[d];if(!g(e)||""===e)1t 1g r("1bY 8h 16w 5U.");}1a.3vX=a;1a.3vW=b;1a.2Pq=c;1a.2Pp=1a.2Po=1p 0;1a.8B=1g sa;a.1s9.7K(ji.1i.1gP,1a)}1b R6(a,b,c){1d d=a.1h,e=c.1h;1d f=d+e;a.1h=f;if(d!==b)1j(--d,--f;f>=b;f--)a[f]=a[d--];1j(f=0;f<e;f++)a[b++]=c[f]}1b S6(a,b){1f a 2m M?a:"4n"===2h a?M.1r3(a):M.190(b,a,1g M)}1b cI(a,b,c,d,e){1j(1d f=0,h,l,p,n,k;f<d.1h;){n=S6(d[f],a);l=Ah(b,n,M.1iF);1d w=0,x=0;if(0>l){l=~l;p=l*e;h=1p 0;1j(k=b[l];f<d.1h;){n=S6(d[f],a);if(g(h)&&0<=M.1iF(h,n)||g(k)&&0<=M.1iF(n,k))1W;FR[w++]=n;f+=1;1j(h=0;h<e;h++)GR[x++]=d[f],f+=1;h=n}0<w&&(GR.1h=x,R6(c,p,GR),FR.1h=w,R6(b,l,FR))}1s{1j(h=0;h<e;h++)f++,c[l*e+h]=d[f];f++}}}1b Df(a,b){v.2l("1I",a);1d c=a;c===3a&&(c=T6);1d d=c.4q,e=m(c.49H,d),f=0;if(g(b)){f=b.1h;1d h=2K(f);1j(1d l=0;l<f;l++){1d p=b[l];p===3a&&(p=T6);1d n=p.4q;d+=n;e+=m(p.49H,n);h[l]=p}}1a.1b4=a;1a.455=c;1a.2Pn=1;1a.2Pm=HR;1a.456=0;1a.1f7=[];1a.14z=[];1a.457=[];1a.67r=[];1a.2Dn=d;1a.67q=e;1a.2Dm=!0;1a.4Oa=2K(e);1a.8B=1g sa;1a.454=b;1a.4O9=h;1a.67p=f;1a.3ae=gg.6i;1a.3vU=0;1a.3af=gg.6i;1a.3vV=0}1b U6(a,b,c){1d d=a.2Dn;a.1f7.6z(b,c);a.14z.6z(b*d,c*d);a.2Dm=!0;a.8B.5k(a)}1b Qf(a,b){b=m(b,0);if(0<b){1d c=2K(b);1j(1d d=0;d<b;d++)c[d]=k}1a.4O8=b;1a.1pU=1g Df(k,c);1a.8B=1g sa;1a.1lF=m(a,dg.1EB);1a.1pU.8B.7K(1b(){1a.8B.5k(1a)},1a)}1b ns(a){a=m(a,m.4Z);1a.8B=1g sa;1a.55H=1a.1qI=1a.9Pb=1a.1hs=1a.6ER=1a.2hX=1a.6EQ=1a.2hY=1a.6EP=1a.1tY=1p 0;1a.11f=a.11f;1a.1ut=a.1ut;1a.1t7=a.1t7;1a.2M=a.2M;1a.12G=a.12G}1b Ll(a){1a.8B=1g sa;1a.18S=1g Md;1a.18S.2dv.7K(Ll.1i.3aa,1a);1a.1lF=m(a,dg.1EB)}1b Rm(){1a.8B=1g sa;1a.18S=1g Md;1a.18S.2dv.7K(Rm.1i.3aa,1a)}1b os(a,b){1a.451=1a.9M=1p 0;1a.8B=1g sa;1a.2Pj=m(b,!0);1a.1K=a}1b ps(a,b){1a.2Dl=1g os(a,!0);1a.5W=1a.451=1p 0;1a.8B=1g sa;1a.3c=m(b,ba.9y);1d c=1a;1a.2Dl.13C.7K(1b(){c.8B.5k(c)})}1b qs(){}1b qC(a,b){"#"===b[0]&&(b=IR+b);1f ji.1TK(a,b)}1b V6(a,b,c){if(g(c.1bY))1f qC(b,c.1bY);if(g(c.55G))6U(b=qC(b,c.55G),a){1S k:1S qs:1f 1g os(b,a===qs);1S ca:1f 1g ps(b)}1t 1g qa(4H.8s(c)+" is 2S 1eu 3BB.");}1b 67h(a,b){1f 1g Vd(1b(c,d){1f b(a.3K(c,d))},a.5g)}1b W6(a,b){a=m(a.1dr,a);1f g(b)?b.16M({2I:a}):na.14m(a)}1b JR(a){1d b=a.16L;if(g(b))1f b;b=a.6EE;if(g(b))1f b;b=a.6EO;if(g(b))1f b;b=a.6EN;if(g(b)){a=b.1h;Ni.7t=1;if(2===a)Ni.14c=b[0],Ni.1EN=b[1],k.3AJ(Ni,Gd),a=[Gd.x,Gd.y,Gd.z];1s{1j(1d c=2K(a/3*4),d=0,e=0;d<a;d+=3,e+=4)c[e]=b[d],Ni.14c=b[d+1],Ni.1EN=b[d+2],k.3AJ(Ni,Gd),c[e+1]=Gd.x,c[e+2]=Gd.y,c[e+3]=Gd.z;a=c}1f a}b=a.49g;if(g(b)){a=b.1h;if(3===a)Ni.14c=b[0],Ni.1EN=b[1],Ni.7t=b[2],k.3AJ(Ni,Gd),a=[Gd.x,Gd.y,Gd.z];1s{c=2K(a);1j(d=0;d<a;d+=4)c[d]=b[d],Ni.14c=b[d+1],Ni.1EN=b[d+2],Ni.7t=b[d+3],k.3AJ(Ni,Gd),c[d+1]=Gd.x,c[d+2]=Gd.y,c[d+3]=Gd.z;a=c}1f a}b=a.3e4;if(g(b)){a=b.1h;if(3===a)ki.3N=b[0],ki.4k=b[1],ki.1D=b[2],ba.9y.13B(ki,Gd),a=[Gd.x,Gd.y,Gd.z];1s{c=2K(a);1j(d=0;d<a;d+=4)c[d]=b[d],ki.3N=b[d+1],ki.4k=b[d+2],ki.1D=b[d+3],ba.9y.13B(ki,Gd),c[d+1]=Gd.x,c[d+2]=Gd.y,c[d+3]=Gd.z;a=c}1f a}b=a.3e3;if(g(b)){a=b.1h;if(3===a)ki.3N=B.8I(b[0]),ki.4k=B.8I(b[1]),ki.1D=b[2],ba.9y.13B(ki,Gd),a=[Gd.x,Gd.y,Gd.z];1s{c=2K(a);1j(d=0;d<a;d+=4)c[d]=b[d],ki.3N=B.8I(b[d+1]),ki.4k=B.8I(b[d+2]),ki.1D=b[d+3],ba.9y.13B(ki,Gd),c[d+1]=Gd.x,c[d+2]=Gd.y,c[d+3]=Gd.z;a=c}1f a}1t 1g qa(4H.8s(a)+" is 2S a 1eu 3BB 18B.");}1b X6(a,b){k.5f(a,b,Gd);k.1T(Gd,Gd);k.5n(Gd,a,b)}1b Y6(a,b){ca.5f(a,b,dI);ca.1T(dI,dI);ca.5n(dI,a,b)}1b Z6(a){if("11T"===2h a)1f 17L;if("2b"===2h a)1f 3a;if("4n"===2h a)1f 10J;if(a.3p("4x"))1f 2K;if(a.3p("11T"))1f 17L;if(a.3p("22a"))1f Aa;if(a.3p("6EM"))1f C;if(a.3p("16L")||a.3p("49g")||a.3p("3e4")||a.3p("3e3"))1f k;if(a.3p("6EO")||a.3p("6EN"))1f qs;if(a.3p("15A")||a.3p("6EL"))1f y;if(a.3p("14g"))1f Ib;if(a.3p("12p"))1f te;if(a.3p("1qt"))1f Qp;if(a.3p("1b8"))1f ie;if(a.3p("6N"))1f bb;if(a.3p("15P"))1f oc;if(a.3p("1sL"))1f M;if(a.3p("21B"))1f qe;if(a.3p("2b"))1f 3a;if(a.3p("1HJ"))1f Db;if(a.3p("4S"))1f ob;if(!a.3p("2c")&&!a.3p("1Q")){if(a.3p("6EK"))1f ca;if(a.3p("6EJ"))1f ed;if(a.3p("4n"))1f 10J;if(a.3p("6EI"))1f zv;if(a.3p("6EH")||a.3p("6EG"))1f Q;if(a.3p("1dr"))1f zb;if(a.3p("16l"))1f fc}1f 1L}1b 6EF(a,b,c){6U(a){1S Ib:1f Ib[m(b.14g,b)];1S 2K:1f b.4x;1S 17L:1f m(b["11T"],b);1S Aa:1f b.22a;1S C:1f b.6EM;1S k:1f JR(b);1S qs:b=JR(b);if(3===b.1h)X6(b,0);1s 1j(a=1;a<b.1h;a+=4)X6(b,a);1f b;1S y:a=b.6EL;if(g(a))b=a;1s if(b=b.15A,g(b))if(c=b.1h,c===y.4q)b=[y.1WB(b[0]),y.1WB(b[1]),y.1WB(b[2]),y.1WB(b[3])];1s{a=2K(c);1j(1d d=0;d<c;d+=5)a[d]=b[d],a[d+1]=y.1WB(b[d+1]),a[d+2]=y.1WB(b[d+2]),a[d+3]=y.1WB(b[d+3]),a[d+4]=y.1WB(b[d+4]);b=a}1s b=1p 0;1f b;1S te:1f te[m(b.12p,b)];1S Qp:1f Qp[m(b.1qt,b)];1S ie:1f ie[m(b.1b8,b)];1S bb:1f bb[m(b.6N,b)];1S oc:1f oc[m(b.15P,b)];1S 1ar:1f W6(b,c);1S M:1f M.1r3(m(b.1sL,b));1S qe:1f qe[m(b.21B,b)];1S 3a:1f m(b.2b,b);1S Db:1f b.1HJ;1S ob:1f b.4S;1S 1L:1f m(m(b.2c,b.1Q),b);1S ca:b=b.6EK;if(g(b))if(4===b.1h)Y6(b,0);1s 1j(a=1;a<b.1h;a+=5)Y6(b,a);1f b;1S Zp:1f m(b.2b,b);1S ed:1f ed[m(m(b.6EJ,b.6x),b)];1S 10J:1f m(b.4n,b);1S zv:1f zv[m(b.6EI,b)];1S Q:a=b.6EH;if(g(a))b=a;1s if(b=b.6EG,g(b))if(c=b.1h,c===Q.4q)b=[B.8I(b[0]),B.8I(b[1]),B.8I(b[2]),B.8I(b[3])];1s{a=2K(c);1j(d=0;d<c;d+=5)a[d]=b[d],a[d+1]=B.8I(b[d+1]),a[d+2]=B.8I(b[d+2]),a[d+3]=B.8I(b[d+3]),a[d+4]=B.8I(b[d+4]);b=a}1s b=1p 0;1f b;1S zb:1f W6(b,c);1S fc:1f fc[m(b.16l,b)];4T:1t 1g qa(a);}}1b eI(a,b){1d c=a.3ad,d=a.2NB;(g(c)||g(d))&&b.3sQ({3ad:67i[c],2NB:d});c=a.22s;g(c)&&(b.22s=gg[c]);c=a.3ac;g(c)&&(b.3ac=c);c=a.22t;g(c)&&(b.22t=gg[c]);a=a.3ab;g(a)&&(b.3ab=a)}1b lf(a){if(g(a))1f $6.2qm=a,Ab.1r3($6)}1b KR(a){1d b=Za.49V.1y();b.2g=a;1f b}1b a7(a){1d b=1g hi;b.1oR.1r2(KR(a));1f b}1b b7(a){1d b=1g Rg(a.1ub);b.1oR.1r2(KR(a));1f b}1b fI(a,b,c,d,e,f,h){1d l=lf(d.18B);g(e)&&(l=g(l)?Ab.1sU(l,e,Av):e);e=!g(d.1bY)&&!g(d.55G);1d p=g(l)&&!l.2L(Za.49V);if(!0===d.4Y){if(!p){b[c]=1p 0;1f}1f c7(b[c],l)}1d n=!1;if(e){1d k=6EF(a,d,f);if(!g(k))1f;n=m(a.4q,1);f=m(k.1h,1);n=!g(d.4x)&&"4n"!==2h k&&f>n&&a!==1L}f="1b"===2h a.5f&&a!==Zp;if(n||p){1d w=b[c],x,D=d.2Ej;g(D)&&(x=M.1r3(D));n&&!p?(w 2m Df||(b[c]=w=1g Df(a)),w.2Pl(k,x),eI(d,w)):!n&&p?(l=l.1y(),l.2g=e?f?a.5f(k,0):k:V6(a,h,d),g(w)||(b[c]=w=e?1g Rm:1g hi),e&&w 2m Rm||(w 2m hi||(b[c]=w=a7(w)),e&&(l.2g=1g od(l.2g))),w.1oR.1r2(l)):(g(w)||(b[c]=w=1g hi),w 2m hi||(b[c]=w=a7(w)),c=w.1oR,b=c.49e(l),g(b)&&b.2g 2m Df||(b=l.1y(),b.2g=1g Df(a),c.1r2(b)),b.2g.2Pl(k,x),eI(d,b.2g))}1s b[c]=e?1g od(f?a.5f(k,0):k):V6(a,h,d)}1b c7(a,b){if(a 2m Df)a.3vP(b);1s if(a 2m Rm)a.1oR.3yY(b);1s if(a 2m hi){a=a.1oR;1j(1d c=0;c<a.1h;++c){1d d=Ab.1sU(a.1n(c),b,Av);d.1kn||c7(d.2g,b)}a.3yY(b)}}1b fa(a,b,c,d,e,f,h){if(g(d))if(2K.8n(d))1j(1d l=0,p=d.1h;l<p;++l)fI(a,b,c,d[l],e,f,h);1s fI(a,b,c,d,e,f,h)}1b d7(a,b,c,d,e,f){e=lf(c.18B);g(d)&&(e=g(e)?Ab.1sU(e,d,Av):d);d=g(c.6EE)?1:0;1d h=k.4q*(d+1),l=!g(c.1bY),p=g(e)&&!e.2L(Za.49V);if(!0===c.4Y){if(!p){a[b]=1p 0;1f}1f e7(a[b],e)}1d n;1d z=!1;if(l){g(c.1ub)&&(n=dg[c.1ub]);n=m(n,dg.1EB);1d w=JR(c);z=m(w.1h,1);z=z>h}if(z||p){h=a[b];1d x,D=c.2Ej;g(D)&&(x=M.1r3(D));if(z&&!p){if(!(h 2m Qf)||g(n)&&h.1ub!==n)a[b]=h=1g Qf(n,d);h.2Pl(w,x);eI(c,h)}1s if(!z&&p)e=e.1y(),e.2g=l?k.5f(w):qC(f,c.1bY),g(h)||(h=l?1g Ll(n):1g Rg(n),a[b]=h),l&&h 2m Ll&&g(n)&&h.1ub===n||(h 2m Rg||(a[b]=h=b7(h)),l&&(e.2g=1g Ji(e.2g,n))),h.1oR.1r2(e);1s{g(h)?h 2m Rg||(a[b]=h=b7(h)):a[b]=h=1g Rg(n);b=h.1oR;a=b.49e(e);if(!(g(a)&&a.2g 2m Qf)||g(n)&&a.2g.1ub!==n)a=e.1y(),a.2g=1g Qf(n,d),b.1r2(a);a.2g.2Pl(w,x);eI(c,a.2g)}}1s a[b]=l?1g Ji(k.5f(w),n):qC(f,c.1bY)}1b e7(a,b){if(a 2m Qf)a.3vP(b);1s if(a 2m Ll)a.1oR.3yY(b);1s if(a 2m Rg){a=a.1oR;1j(1d c=0;c<a.1h;++c){1d d=Ab.1sU(a.1n(c),b,Av);d.1kn||e7(d.2g,b)}a.3yY(b)}}1b f7(a,b,c,d,e,f){if(g(c))if(2K.8n(c))1j(1d h=0,l=c.1h;h<l;++h)d7(a,b,c[h],d,e,f);1s d7(a,b,c,d,e,f)}1b g7(a,b,c,d,e,f){1d h=lf(c.18B);g(d)&&(h=g(h)?Ab.1sU(h,d,Av):d);d=a[b];if(g(h)){d 2m uo||(d=1g uo,a[b]=d);d=d.1oR;1d l=d.49e({4I:h.4I,4U:h.4U});if(g(l))1d p=l.2g;1s l=h.1y(),d.1r2(l)}1s p=d;g(c.6ED)?(p 2m cc||(p=1g cc),c=c.6ED,fa(y,p,"1A",c.1A,1p 0,1p 0,f)):g(c.1FR)?(p 2m is||(p=1g is),c=c.1FR,fa(y,p,"1A",c.1A,1p 0,e,f),fa(3a,p,"1SR",c.1SR,1p 0,e,f),fa(C,p,"1ql",c.1ql,1p 0,e,f),fa(C,p,"1As",c.1As,1p 0,e,f),fa(C,p,"1uF",c.1uF,1p 0,e,f)):g(c.4d)?(p 2m eo||(p=1g eo),c=c.4d,fa(1ar,p,"4d",c.4d,1p 0,e,f),fa(C,p,"12G",c.12G,1p 0,e,f),fa(y,p,"1A",c.1A,1p 0,e,f),fa(17L,p,"18b",c.18b,1p 0,e,f)):g(c.6EC)?(p 2m ns||(p=1g ns),c=c.6EC,fa(zv,p,"11f",c.11f,1p 0,e,f),fa(y,p,"1ut",c.1ut,1p 0,e,f),fa(y,p,"1t7",c.1t7,1p 0,e,f),fa(3a,p,"2M",c.2M,1p 0,e,f),fa(3a,p,"12G",c.12G,1p 0,e,f)):g(c.6EB)?(p 2m ms||(p=1g ms),c=c.6EB,fa(y,p,"1A",c.1A,1p 0,e,f),fa(y,p,"5M",c.5M,1p 0,e,f),fa(3a,p,"5R",c.5R,1p 0,e,f)):g(c.6EA)?(p 2m ls||(p=1g ls),c=c.6EA,fa(y,p,"1A",c.1A,1p 0,e,f),fa(3a,p,"1Lj",c.1Lj,1p 0,e,f),fa(3a,p,"1Fo",c.1Fo,1p 0,e,f)):g(c.6Ez)?(p 2m js||(p=1g js),c=c.6Ez,fa(y,p,"1A",c.1A,1p 0,1p 0,f)):g(c.6Ey)?(p 2m ks||(p=1g ks),c=c.6Ey,fa(y,p,"1A",c.1A,1p 0,1p 0,f),fa(y,p,"1SK",c.1SK,1p 0,1p 0,f),fa(3a,p,"1SM",c.1SM,1p 0,e,f),fa(3a,p,"1SL",c.1SL,1p 0,e,f)):g(c.6Ex)&&(p 2m gs||(p=1g gs),c=c.6Ex,fa(y,p,"1ut",c.1ut,1p 0,e,f),fa(y,p,"1t7",c.1t7,1p 0,e,f),fa(C,p,"12G",c.12G,1p 0,e,f));g(l)?l.2g=p:a[b]=p}1b Ml(a,b,c,d,e,f){if(g(c))if(2K.8n(c))1j(1d h=0,l=c.1h;h<l;++h)g7(a,b,c[h],d,e,f);1s g7(a,b,c,d,e,f)}1b LR(a,b,c,d,e,f,h){c=c.5d(1b(a){1f qC(e,a)});if(g(d)){d=lf(d);1d l=a[b];l 2m h||(h=1g h,h.1oR.1r2(KR(l)),a[b]=l=h);d.2g=1g f(c);l.1oR.1r2(d)}1s a[b]=1g f(c)}1b h7(a,b,c,d){1d e=c.3BC;g(e)?LR(a,b,e,c.18B,d,Yp,hi):fa(2K,a,b,c,1p 0,1p 0,d)}1b i7(a,b,c,d){if(g(c))if(2K.8n(c))1j(1d e=0,f=c.1h;e<f;++e)h7(a,b,c[e],d);1s h7(a,b,c,d)}1b j7(a,b,c,d){1d e=c.3BC;g(e)?LR(a,b,e,c.18B,d,sk,Rg):(g(c.16L)?c.4x=k.338(c.16L):g(c.3e4)?c.4x=k.51C(c.3e4):g(c.3e3)&&(c.4x=k.1iy(c.3e3)),g(c.4x)&&fa(2K,a,b,c,1p 0,1p 0,d))}1b gI(a,b,c,d){if(g(c))if(2K.8n(c))1j(1d e=0,f=c.1h;e<f;++e)j7(a,b,c[e],d);1s j7(a,b,c,d)}1b 6Ew(a){1f k.338(a)}1b 6Ev(a){1f k.51C(a)}1b 6Eu(a){1f k.1iy(a)}1b k7(a,b,c,d){1d e=c.3BC;g(e)?(e=e.5d(1b(a){1d b={};LR(b,"3q",a,c.18B,d,sk,Rg);1f b.3q}),a[b]=1g sk(e)):(g(c.16L)?c.4x=c.16L.5d(6Ew):g(c.3e4)?c.4x=c.3e4.5d(6Ev):g(c.3e3)&&(c.4x=c.3e3.5d(6Eu)),g(c.4x)&&fa(2K,a,b,c,1p 0,1p 0,d))}1b l7(a,b,c,d,e){1d f=lf(b.18B);g(c)&&(f=g(f)?Ab.1sU(f,c,Av):c);c=a.2hW;1j(1d h=1L.9K(b),l=0,p=h.1h;l<p;++l){1d n=h[l];if("18B"!==n){1d z=b[n];if(g(z)){g(c)||(a.2hW=c=1g Oi);c.1qP(n)||c.1Dr(n);1d w=c[n];g(w)||(c[n]=w=1g bv);fa(k,w,"14L",z.14L,f,d,e);fa(ca,w,"5S",z.5S,f,d,e);fa(k,w,"3b",z.3b,f,d,e)}}}}1b m7(a,b,c,d,e){1d f=lf(b.18B);g(c)&&(f=g(f)?Ab.1sU(f,c,Av):c);c=a.4NZ;1j(1d h=1L.9K(b),l=0,p=h.1h;l<p;++l){1d n=h[l];if("18B"!==n){1d k=b[n];g(k)&&(g(c)||(a.4NZ=c=1g Oi),c.1qP(n)||c.1Dr(n),fa(3a,c,n,k,f,d,e))}}}1b rC(a){1a.12i=a;1a.8B=1g sa}1b 67g(a){1f a?Ib.1gi:Ib.6i}1b n7(a,b,c,d,e){1d f=a.id;g(f)||(f=Ld());IR=f;if(!g(e.1nw)&&"3n"!==f)1t 1g qa("9B 1lf 3BB 9Pa is 1X to be 1Z 3n 2c.");if(!0===a["4Y"])b.45k(f);1s if("3n"===f){b=a.9G;if(g(b)&&"4n"===2h b&&(c=b.7g("."),2===c.1h)){if("1"!==c[0])1t 1g qa("1di 1cF 55k 3BB 9G 1.");e.1nw=b}if(!g(e.1nw))1t 1g qa("3BB 9G 4bI 16w.  It is 1SV to be a 5i on 1Z 3n 2c in 1Z <9P9>.<9P8> 9G 8V.");b=e.3BA;g(a.2i)&&(b.2i=a.2i);a=a.14c;g(a)&&(c=b.14c,g(c)?(c.18B=m(a.18B,c.18B),c.1a2=m(a.1a2,c.1a2),c.11D=m(a.11D,c.11D),c.7F=m(a.7F,c.7F),c.16W=m(a.16W,c.16W)):b.14c={18B:a.18B,1a2:a.1a2,11D:a.11D,7F:a.7F,16W:a.16W})}1s 1j(e=b.3wd(f),f=a.12f,g(f)&&(e.12f=b.3wd(f)),f=c.1h-1;-1<f;f--)c[f](e,a,b,d);IR=1p 0}1b 6Et(a){1d b=a.3BA.14c;if(!g(b)){if(!g(a.1aG)){1d c=a.17l.2CM();if(!c.4I.2L(Za.11Z)){b=c.4I;1d d=c.4U;c=M.1dA(d,b);1d e=1k.9p(c/120);c=1g Qm;c.18M=M.1y(b);c.1cU=M.1y(d);c.1le=qj.2CL;c.16W=e;c.1a2=M.1y(b);c.1j6=zf.29o;a.1aG=c;1f!0}}1f!1}g(a.1aG)?c=a.1aG.1y():(c=1g Qm,c.18M=Za.11Z.1y(),c.1cU=Za.1Nq.1y(),c.1a2=Za.11Z.1y(),c.1le=qj.2CL,c.1j6=zf.29o,c.16W=1);d=lf(b.18B);g(d)&&(c.18M=d.4I,c.1cU=d.4U);g(b.1a2)&&(c.1a2=M.1r3(b.1a2));g(b.11D)&&(c.1le=m(qj[b.11D],qj.2CL));g(b.7F)&&(c.1j6=m(zf[b.7F],zf.29o));g(b.16W)&&(c.16W=b.16W);1f c.2L(a.1aG)?!1:(a.1aG=c.1y(a.1aG),!0)}1b o7(a,b,c,d){if(!g(b))1t 1g r("6x7 is 1X.");c=m(c,m.4Z);1d e=b,f=c.2CQ;c=c.9L;"4n"===2h c&&(c=1g Zb(c));a.1dh=c;if("4n"===2h b||b 2m na)if(b=na.14m(b),e=b.1vs(),f=m(f,b.1y()),c=a.2P1,b=b.1mn,g(b))1j(1d h=b.1h,l=0;l<h;l++)c.1q(b[l]);f=na.14m(f);ih.1No(a,!0);1f Z(e,1b(b){1d c=f;ih.1No(a,!0);1d e=a.17l;d&&(a.1nw=1p 0,a.3BA=1g p7,e.7f());Hj.67f(b,e,c,1p 0,a);b=6Et(a);e=a.3BA;g(e.2i)&&a.6X!==e.2i?(a.6X=e.2i,b=!0):!g(a.6X)&&g(c)&&(a.6X=kk(c.1oO()),b=!0);ih.1No(a,!1);b&&a.1lt.5k(a);1f a}).10g(1b(b){ih.1No(a,!1);a.1vN.5k(a,b);11l.7k(b);1f Z.7N(b)})}1b p7(){1a.14c=1a.2i=1p 0}1b Hj(a){1a.6X=a;1a.1lt=1g sa;1a.1vN=1g sa;1a.2hC=!1;1a.1R4=1g sa;1a.1aG=1p 0;1a.3BA=1g p7;1a.1nw=1p 0;1a.17l=1g Se(1a);1a.23b=1g Mi;1a.1dh=1p 0;1a.2P1=[]}1b li(){1a.1ud=[];1a.2HP=1g sa;1a.2wf=1g sa;1a.67e=1g sa}1b hI(a,b){if(!g(b))1t 1g r("30h is 1X.");a=a.3f(b);if(-1===a)1t 1g r("30h is 2S in 1a 1ho.");1f a}1b q7(a,b,c){1d d=a.1ud,e=d.1h-1;b=B.2Y(b,0,e);c=B.2Y(c,0,e);b!==c&&(e=d[b],d[b]=d[c],d[c]=e,a.3vN.5k(e,c,b))}1b cf(a){a=m(a,m.4Z);1a.15G=[];1a.2qk=Ld();1a.1zP=1p 0;1a.2p=m(a.2p,!0);1a.2Ph=m(a.2Ph,!0)}1b iI(a,b){if(!a.8h(b))1t 1g r("9k is 2S in 1a 1ho.");1f a.15G.3f(b)}1b Sm(){1a.1bC=0;1a.1lH={};1a.2Pg=[];1a.2p=!0}1b rs(a,b){1a.15G=a;1a.2P4=b;1a.2Dj=1g Ia}1b 6Es(a){1a.id=a;1a.8J=1a.1ej=1a.15K=1a.6f=1a.9i=1a.1D=1a.5S=1a.1aP=1a.19p=1a.2V=1a.9S=1p 0}1b Nl(a,b){nc.4G(1a,{13a:a,4r:b,1WO:1g 6Es(a),1WN:"1fc",1WM:["1b9","1K","1fc"]});1a.1ua(a,"1fc",a.1fc,1p 0)}1b ny(a,b,c){Fd.4G(1a,a,b,c)}1b 6Er(a){1a.id=a;1a.8J=1a.1sS=1a.1in=1a.1im=1a.1vT=1a.1vU=1a.1vV=1a.1vW=1a.1sR=1a.10N=1a.9S=1p 0}1b Ij(a,b){fd.4G(1a,{13a:a,4r:b,1WO:1g 6Er(a),1WN:"3c",1WM:["1b9","1K","11f","3c"]});1a.1ua(a,"3c",a.3c,1p 0)}1b sC(a,b,c){Fd.4G(1a,a,b,c);1a.2R=a.2R;1a.12t=1g A;1a.3vL=1a.4NT=1a.44W=1a.44X=1a.4NU=1a.4NS=1a.16N=1p 0;1a.1Rb=1g k;1a.17u={}}1b 6Eq(a){1a.id=a;1a.6e=1a.12w=1a.9S=1p 0}1b tk(a,b){fd.4G(1a,{13a:a,4r:b,1WO:1g 6Eq(a),1WN:"12w",1WM:["1b9","1K","11f","12w"]});1a.1ua(a,"12w",a.12w,1p 0)}1b oy(a,b,c){Fd.4G(1a,a,b,c)}1b MR(a,b,c,d,e){1d f=a.2U;a=k.4g(f,-a.3s,676);a=A.8P(c,a,a);c=A.1gE(c,f,673);k.1T(c,c);d=d.17N(a,677);B.5T(1k.abs(k.2A(d,c)),1,B.1PW)&&(d=k.1y(k.16a,d),B.5T(1k.abs(k.2A(d,c)),1,B.1PW)&&(d=k.1y(k.1dl,d)));f=k.4B(d,c,678);d=k.4B(c,f,d);k.1T(f,f);k.1T(d,d);1d h=66Z;J.1vr(h,0,f,h);J.1vr(h,1,d,h);J.1vr(h,2,c,h);d=ca.1UQ(h,670);b=C.1y(b,672);b.z=1;1f A.2yB(a,d,b,e)}1b 6Ep(a){1a.id=a;1a.14g=1a.8J=1a.15K=1a.6f=1a.9i=1a.1D=1a.1z2=1a.1BL=1a.16U=1a.1ga=1a.9S=1p 0}1b Jj(a,b){nc.4G(1a,{13a:a,4r:b,1WO:1g 6Ep(a),1WN:"12i",1WM:["1b9","12i"]});1a.1ua(a,"12i",a.12i,1p 0)}1b py(a,b,c){Fd.4G(1a,a,b,c)}1b 6Eo(a){1a.id=a;1a.1kI=1a.6f=1a.1b8=1a.1VL=1a.1Ng=1a.9S=1p 0}1b Ol(a,b){fd.4G(1a,{13a:a,4r:b,1WO:1g 6Eo(a),1WN:"2CC",1WM:["1b9","2CC"]});1a.1ua(a,"2CC",a.2CC,1p 0)}1b qy(a,b,c){Fd.4G(1a,a,b,c)}1b 6En(a){1a.id=a;1a.8J=1a.5S=1a.15K=1a.6f=1a.9i=1a.1D=1a.3g=1a.9S=1p 0}1b Pl(a,b){nc.4G(1a,{13a:a,4r:b,1WO:1g 6En(a),1WN:"3g",1WM:["1b9","3g"]});1a.1ua(a,"3g",a.3g,1p 0)}1b ry(a,b,c){Fd.4G(1a,a,b,c)}1b Tm(a,b,c,d,e,f,h){1a.11C=b;1a.2hO=c;1a.2qe=d;1a.1oQ=e;1a.1r4=1p 0;1a.1ph=f;1a.6x=h;1a.13y=a;1a.23p=1a.1eY=!1;1a.19e=1a.9k=1p 0;1a.3y=1g Ia;1a.1eG=1g Ia;1a.1sN=1g Ia;1a.2w=1g Ia;1a.1sO=1g Ia;1a.1nE=1g Ia;1a.23o=[];1a.23e=!1;1d l;g(e)&&(l=e.13C.7K(Tm.1i.2D6,1a));1a.2qc=l}1b uk(a,b,c,d,e){1a.2Dg=[];1a.2Df=[];1a.15G=a;1a.2De=b;1a.3a6=c;1a.1z8=d;1a.1kK=e}1b r7(a,b){1j(1d c=a.1h-1;0<=c;c--){1d d=a[c];if(d.3S(b))1f 0===d.1eG.1h&&(a.6z(c,1),d.1M()),!0}1f!1}1b s7(a,b,c){1j(1d d=!1,e=b.1h,f=0;f<e;++f){1d h=b[f],l=h.23o,g=l.1h;if(0<g)1j(f=0;f<g;f++)d=l[f],h.3S(d),a.add(c,d),d=!0}1f d}1b jI(a,b,c,d){1d e=b.1h,f;1j(f=e-1;0<=f;f--)if(e=b[f],e.23e){b.6z(f,1);1j(1d h=e.1eG.2a,l=h.1h,g=0;g<l;g++)a.add(c,h[g]);e.1M()}e=b.1h;1j(f=0;f<e;++f)d=b[f].2H(c)&&d;1f d}1b t7(a,b,c){1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];if(f.8h(b))1f f.1cS(b,c)}1f tb.12D}1b u7(a){1j(1d b=a.1h,c=0;c<b;c++)a[c].1M();a.1h=0}1b vk(a,b,c,d,e,f,h){1a.13y=a;1a.2hO=b;1a.23i=c;1a.2qe=d;1a.1oQ=e;1a.1ph=f;1a.6x=h;1a.1eG=1g Ia;1a.1eY=!0;1a.19e=1a.9k=1p 0;1a.3y=1g Ia;1a.1r4=1a.2q=1p 0;1a.1sN=1g Ia;1a.2w=1g Ia;1a.23e=!1;1a.2qc=c.13C.7K(vk.1i.2D6,1a);1a.1sO=1g Ia;1a.1nE=1g Ia;1a.3a8=1p 0}1b wk(a,b,c,d,e){1a.1hw=[];1a.15G=a;1a.2De=b;1a.3a6=c;1a.1z8=d;1a.1kK=e}1b ss(a,b,c,d,e){1a.13y=a;1a.13G=e;1a.12p=b;1a.1A=c;1a.10t=d;1a.23p=1a.1eY=!1;1a.19e=1a.9k=1p 0;1a.3y=1g Ia;1a.1eG=1g Ia;1a.1sN=1g Ia;1a.2w=1g Ia;1a.1sO=1g Ia;1a.1nE=1g Ia;1a.23o=[];1a.3vI=!1}1b ts(a,b){1a.1Kf=1g Ia;1a.15G=a;1a.1Ez=b}1b Ql(a,b,c,d,e,f){1a.13y=a;1a.12p=b;1a.2hO=c;1a.23i=d;1a.1eG=1g Ia;1a.1eY=!0;1a.19e=1a.9k=1p 0;1a.3y=1g Ia;1a.2q=1p 0;1a.1sN=1g Ia;1a.2w=1g Ia;1a.23e=!1;1a.2qc=d.13C.7K(Ql.1i.2D6,1a);1a.1sO=1g Ia;1a.1nE=1g Ia;1a.66F=e;1a.13G=f;1a.44U=1g IB}1b Bv(a,b,c){1a.1hw=[];1a.15G=a;1a.1Ez=b;1a.2De=c}1b $p(a,b,c,d){1a.11C=b;1a.1G=c;1a.6x=d;1a.13y=a;1a.23p=1a.1eY=!1;1a.19e=1a.9k=1p 0;1a.3y=1g Ia;1a.1eG=1g Ia;1a.1sN=1g Ia;1a.2w=1g Ia;1a.23o=[];1a.1sO=1g Ia;1a.1nE=1g Ia}1b us(a,b,c){1a.15G=a;1a.2R=b;1a.1kK=c;1a.3a5=1g Ia;1a.3a4=1g Ia}1b 6Em(a){1a.id=a;1a.6f=1a.1lC=1a.1lB=1a.3q=1a.9S=1p 0}1b Rl(a,b){fd.4G(1a,{13a:a,4r:b,1WO:1g 6Em(a),1WN:"1H9",1WM:["1b9","1H9"]});1a.1ua(a,"1H9",a.1H9,1p 0)}1b sy(a,b,c){Fd.4G(1a,a,b,c)}1b tC(a,b){1b c(a){e.5k(a)}1a.13a=a;1a.4r=b;1j(1d d=2K(v7.1h),e=1g sa,f=1g xj,h=0;h<d.1h;h++){1d l=1g v7[h](a,b);f.add(l.39M,c);d[h]=l}1a.1eG=d;1a.39M=e;1a.3M8=f;1a.66z=a.13C.7K(tC.1i.1ua,1a)}1b xk(a,b,c,d){v.2l("4r",a);v.2l("1mu",b);c=m(c,a.13y);d=m(d,a.2y4);1a.2R=a;1a.15G=c;1a.1yO=d;1a.17l=1p 0;1a.2D4=1g Ia;1a.2hM=1g Ia;1a.2D3=1g Ia;1d e=ed.3vH;1a.3a2=2K(2*e);1a.3a1=2K(2*e);1a.3a0=2K(2*e);1a.39Z=2K(2*e);1a.39Y=2K(2*e);1d f=wd.4RF(a);1a.47Z=f;1d h;1j(h=0;h<e;++h)1a.3a2[h]=1g us(c,a,h,!1),1a.3a2[e+h]=1g us(c,a,h,!0),1a.3a1[h]=1g uk(c,zc,1p 0,!0,h,!0),1a.3a1[e+h]=1g uk(c,zc,1p 0,!0,h,!1),1a.3a0[h]=1g wk(c,xe,1p 0,!0,h,!0),1a.3a0[e+h]=1g wk(c,xe,1p 0,!0,h,!1),1a.39Z[h]=1g uk(c,zc,1p 0,!1,h,!0),1a.39Z[e+h]=1g uk(c,zc,1p 0,!1,h,!1),1a.39Y[h]=1g wk(c,xe,1p 0,!1,h,!0),1a.39Y[e+h]=1g wk(c,xe,1p 0,!1,h,!1);a=te.4T0;e=2K(a);1d l=[];if(f)1j(h=0;h<a;++h)l.1q(1g Bv(d,h,xe)),e[h]=1g ts(d,h);1s 1j(h=0;h<a;++h)e[h]=1g ts(d,h);1a.4NB=e;1a.4NA=l;1a.3a3=1g rs(c,d);1a.1Kf=1a.3a2.9V(1a.3a1,1a.3a0,1a.39Z,1a.39Y,1a.4NB,1a.4NA,1a.3a3);1a.1J2=1g Ia;1a.2Dd=1g Ia;1a.17l=b;b.1s9.7K(xk.1i.1gP,1a);1a.1gP(b,b.2a,$ua)}1b w7(a){1a.13a=a;1a.2P=1a.17R=1p 0}1b aq(a,b){if(!g(a))1t 1g r("55F is 1X.");if(!g(b))1t 1g r("1mu is 1X.");b.1s9.7K(aq.1i.1gP,1a);1a.1Nu=a;1a.17l=b;1a.1hw=1g Ia;1a.1gP(b,b.2a,[],[])}1b NR(a,b,c){g(a)&&(a.17R=1p 0,c.4Nz(b))}1b bq(a,b){if(!g(a))1t 1g r("4r is 1X.");if(!g(b))1t 1g r("1mu is 1X.");b.1s9.7K(bq.1i.1gP,1a);1a.2R=a;1a.15G=a.13y;1a.17l=b;1a.3vD={};1a.2Dc=1g Ia;1a.1gP(b,b.2a,[],[])}1b OR(a,b,c,d){a=c[b.id];g(a)&&(d.1VX(a.3vE),4Y c[b.id])}1b ava(a,b,c){a.9c.10g(1b(a){11l.7A(a);c[b.id].39U=!0})}1b Sl(a){1a.8B=1g sa;1a.3vC=1a.6j=1p 0;1a.1cf(a)}1b x7(a){1a.13a=a;1a.2Pa=1a.2P=1a.11M=1p 0}1b y7(a,b,c,d,e,f,h,l){1j(;a 2m ji;)a=a.67t;if(a 2m Qf){1d p=a;a=a.1pU.1f7;1d n=p.1nF(b,e,l[h]);g(n)&&(l[h++]=n);1j(1d k=!g(d)||M.19D(d,b)||M.9Y(d,c),w=0,x=a.1h,D=a[w],t=!1,m,G,r;w<x;){!k&&M.9Y(D,d)&&(n=p.1nF(d,e,l[h]),g(n)&&(l[h++]=n),k=!0);M.1bP(D,b)&&M.1ib(D,c)&&!D.2L(d)&&(n=p.1nF(D,e,l[h]),g(n)&&(l[h++]=n));if(w<x-1&&(0<f&&!t&&(n=M.1dA(a[w+1],D),t=n>f)&&(m=1k.8a(n/f),G=0,r=n/1k.1V(m,2),m=1k.1V(m-1,1)),t&&G<m)){D=M.190(D,r,1g M);G++;1aJ}t=!1;w++;D=a[w]}n=p.1nF(c,e,l[h]);g(n)&&(l[h++]=n)}1s if(a 2m Rg){PR.4I=b;PR.4U=c;p=h;m=a.1oR;1j(G=0;G<m.1h;G++)r=m.1n(G),Ab.1sU(r,PR,z7).1kn||(k=r.4I,a=r.4U,h=b,M.1bP(k,h)&&(h=k),k=c,M.1ib(a,k)&&(k=a),p=y7(r.2g,h,k,d,e,f,p,l));h=p}1s if(a 2m Ll){d=a;QR.4I=b;QR.4U=c;b=h;c=d.1oR;1j(f=0;f<c.1h;f++)p=c.1n(f),Ab.1sU(p,QR,z7).1kn||(m=p.4I,p.16q||(m=p.14K?p.4U:M.190(p.4I,M.1dA(p.4U,p.4I)/2,1g M)),p=d.1nF(m,e,l[b]),g(p)&&(l[b]=p,b++));h=b}1s if(a 2m Ji||a 2m Sl&&F.5g(a))c=h,e=a.1nF(b,e,l[c]),g(e)&&(l[c++]=e),h=c;1s{p=a;m=0;G=h;r=b;a=1k.1V(f,60);1j(h=!g(d)||M.19D(d,b)||M.9Y(d,c);M.1ib(r,c);)!h&&M.9Y(r,d)&&(h=!0,f=p.1nF(d,e,l[G]),g(f)&&(l[G]=f,G++)),f=p.1nF(r,e,l[G]),g(f)&&(l[G]=f,G++),m++,r=M.190(b,a*m,1g M);f=p.1nF(c,e,l[G]);g(f)&&(l[G]=f,G++);h=G}1f h}1b A7(a,b,c,d,e,f,h){g(h)||(h=[]);a=y7(a,b,c,d,e,f,0,h);h.1h=a;1f h}1b uC(a,b){1a.44Q=[];1a.1uc=1g Bf;1a.2R=a;1a.1lF=b;a.13y.add(1a.1uc)}1b cq(a,b){if(!g(a))1t 1g r("4r is 1X.");if(!g(b))1t 1g r("1mu is 1X.");b.1s9.7K(cq.1i.1gP,1a);1a.2R=a;1a.1R7={};1a.17l=b;1a.1hw=1g Ia;1a.1gP(b,b.2a,[],[])}1b B7(a){1a.13a=a;1a.5R=1a.12Q=1a.5M=1a.1A=1a.10i=1a.2Db=1p 0}1b dq(a,b){if(!g(a))1t 1g r("55F is 1X.");if(!g(b))1t 1g r("1mu is 1X.");b.1s9.7K(dq.1i.1gP,1a);1a.1Nu=a;1a.17l=b;1a.1hw=1g Ia;1a.1gP(b,b.2a,[],[])}1b vC(a,b,c){g(a)&&(g(a.2Db)?(a.2Db=1p 0,c.4Nk(b)):g(a.10i)&&(a.10i=1p 0,c.2On(b)))}1b Cv(a){a=m(a,m.4Z);1a.8B=1g sa;1a.1x6=1a.3vB=1a.44M=1a.3vA=1a.44N=1a.1WL=1a.7a=1p 0;1a.1A=a.1A;1a.39T=a.39T;1a.39S=a.39S;1a.2k9=a.2k9;1a.2Da=a.2Da/1E3;1a.1ze=1E3*a.1ze;1a.23k=1p 0;1a.4Lj=m(a.43u,!0)}1b 6El(){1a.6f=1a.14g=1a.23j=1a.2P8=1a.1G=1a.3q=1a.9S=1p 0}1b 3Pa(){1a.6f=1a.14g=1a.1G=1a.3q=1p 0}1b Tl(a,b){if(!g(a))1t 1g r("13a is 1X");if(!g(b))1t 1g r("4r is 1X");1a.11d=a;1a.2R=b;1a.65M=a.13C.7K(Tl.1i.1ua,1a);1a.1EA=1a.1jm=!1;1a.1R8=1g sa;1a.2hP=1a.39O=1a.1oP=1a.39P=1a.15f=1a.1kJ=1p 0;1a.2D8=1g 6El;1a.2P7=1g 3Pa;1a.7R="11M-"+a.id;1a.23a=!1;1a.65N=wd.6f7(b);1a.1zP=0;1a.1ua(a,"11M",a.11M,1p 0)}1b wC(a,b,c){1a.2P6=1p 0;1a.15G=a;1a.1yO=b;1a.17u=1a.2D7=1p 0;1a.1u9=c;1a.9h=[]}1b C7(a){if(g(a.2P6))1f a.2P6;1d b=a.1u9.2R.id,c=kI[b],d=a.15G;!g(c)||c.3Z()?(c=1g Bf,kI[b]=c,d.add(c)):d.8h(c)||d.add(c);b=c.add();b.id=a.1u9.11d;1f a.2P6=b}1b Um(a,b,c,d,e){1d f=c 2m cc?hf:Og;1a.44H=a;1a.12p=b;1a.2hO=f;1a.23i=c;1a.1eG=1g Ia;1a.1eY=!0;1a.19e=1a.9k=1p 0;1a.3y=1g Ia;1a.2q=1p 0;1a.1sN=1g Ia;1a.2w=1g Ia;1a.23e=!1;1a.2qc=c.13C.7K(Um.1i.2D6,1a);1a.1sO=1g Ia;1a.1nE=1g Ia;1a.13G=d;1a.2hN=e}1b Dv(a,b,c){1a.1hw=[];1a.2P4=a;1a.1Ez=b;1a.2hN=m(c,!0)}1b D7(a,b){a=a.1Kf;1j(1d c=a.1h,d=0;d<c;d++)a[d].3S(b)}1b E7(a,b,c){if(c.44J)a.3a3.add(b,c);1s if(c.1d7&&c.2P9){1d d=c.39N.3K(b);a.4dq[d].add(b,c)}1s{c.2P9&&(d=c.39Q.3K(b));1d e=0;g(c.1oQ)&&(e=c.1oQ 2m cc?1:2);1d f;g(d)&&(f=d+e*ed.3vH);c.2P9&&(c.1lE 2m cc?a.3e2[f].add(b,c):a.3e1[f].add(b,c))}}1b Vm(a,b,c,d){v.2l("4r",a);v.2l("1mu",b);d=m(d,a.2y4);c=m(c,a.13y);1a.2R=a;1a.15G=c;1a.17l=1p 0;1a.2D4=1g Ia;1a.2hM=1g Ia;1a.2D3=1g Ia;1d e=ed.3vH;1a.3e2=2K(3*e);1a.3e1=2K(3*e);1j(a=0;a<e;++a)1a.3e2[a]=1g uk(c,hf,1p 0,!1,a),1a.3e1[a]=1g wk(c,Og,1p 0,!1,a),1a.3e2[a+e]=1g uk(c,hf,hf,!1,a),1a.3e1[a+e]=1g wk(c,Og,hf,!1,a),1a.3e2[a+2*e]=1g uk(c,hf,Og,!1,a),1a.3e1[a+2*e]=1g wk(c,Og,Og,!1,a);1a.3a3=1g rs(c,d);c=te.4T0;1a.4dq=2K(c);1j(a=0;a<c;++a)1a.4dq[a]=1g Dv(d,a);1a.1Kf=1a.3e2.9V(1a.3e1,1a.3a3,1a.4dq);1a.1J2=1g Ia;1a.1R7=1g Ia;1a.17l=b;b.1s9.7K(Vm.1i.1gP,1a);1a.1gP(b,b.2a,65C)}1b yk(a){v.1N.2c("3v",a);v.1N.2c("3v.4r",a.4r);v.1N.2c("3v.4bH",a.4bH);bf.2E1();ok.2E1();1d b=a.4r,c=a.4bH;1a.1n5=1g xj;1a.1n5.add(c.3vO,1a.2ZV,1a);1a.1n5.add(c.44Z,1a.2ZU,1a);1a.1n5.add(c.3vN,1a.65z,1a);1a.1n5.add(b.2lL,1a.2we,1a);1a.266=c;1a.2R=b;1a.65A=m(a.9P7,yk.65B);a=!1;1d d=1g cf,e=1g cf;0<c.1h&&(b.13y.add(d),b.2y4.add(e),a=!0);1a.15G=d;1a.1yO=e;1j(1d f=0,h=c.1h;f<h;f++)1a.2ZV(c,c.1n(f));f=1g ER;1a.2ZV(1p 0,f);1a.3vy=f;if(!a){1d l=1a;a=1b(){b.13y.add(d);b.2y4.add(e);g();n();l.44F=1p 0;l.4Nc=1p 0};1d g=f.13K.1s9.7K(a);1d n=c.3vO.7K(a)}1a.44F=g;1a.4Nc=n;1a.4y=!1}1b ty(a){a=m(a,m.4Z);1a.8B=1g sa;1a.7a=1g y(1,1,1,1);1a.1WL=1p 0;1a.1A=a.1A}1b uy(a,b,c){v.2l("13a",a);v.2l("4r",b);1a.13a=a;1a.4r=b;1a.3c=m(c,ba.9y);1a.8C=1a.4Na=1a.7u=1p 0;1a.65t=1g k;1a.44E=1p 0;1a.39J=1g k}1b lI(a){1a.3vl={};1a.1Np=[];1a.1sK=0;1a.64z=a}1b 3P8(a,b){1f 1b(c){a.3vl[b]=c}}1b mI(a){1a.4Mq=a}1b RR(){1a.2Bz={};1a.4Mp={};1a.1sK=0}1b F7(){1a.2Bz={}}1b SR(a){a=m(a,m.4Z);1d b=a.13K,c=m(a.43Q,!1);if(!g(b))1t 1g r("13K is 1X.");1d d=SR.64y(a);a=b.2a.14O(1b(a){1f!g(a.12f)});1d e=d.1Ey;b=e.1AZ;b.3lS("10R://10y.w3.1m9/1PB/1KG/","1KG:gx","10R://10y.1BJ.11Y/5Q/1wV/2.2");e=e.4O("43S");b.3A(e);G7(d,e,a);d.4Mo.2x4(e);1d f=d.3vk;1f f.10l.4b(1b(){1d a=(1g 54B).54A(d.1Ey);1f c?6Ek(a,f.24u):{5Q:a,9P6:f.24u}})}1b 6Ek(a,b){1d c=Z.12L();eq.64D(1g eq.64H,1b(d){6Ej(d,a).4b(1b(){1d a=1L.9K(b);1f H7(d,a,b,0)}).4b(1b(){d.1TP(1b(a){c.5h({43Q:a})})})});1f c.10l}1b 6Ej(a,b){1d c=Z.12L();a.add("62j.5Q",1g eq.64I(b),1b(){c.5h()});1f c.10l}1b H7(a,b,c,d){if(b.1h!==d){1d e=b[d],f=Z.12L();a.add(e,1g eq.4Mv(c[e]),1b(){f.5h()});1f f.10l.4b(1b(){1f H7(a,b,c,d+1)})}}1b G7(a,b,c){1j(1d d=a.1Ey,e=a.4Mo,f=a.1Nr,h=a.64x,l=c.1h,p,n,k,w=0;w<l;++w){1d x=c[w];p=[];n=[];k=[];1d D=a,t=x,oa=n,G=k,r=D.1Ey,q=D.3c,u=D.1Nr,v=m(t.10i,t.7v);if(g(v)||g(t.9w)){1d y=t.1K;y.5g?(u.1n(y,1p 0,Kj),t=Vb(r,"9R",Ev(Kj,q)),q=r.4O("18H"),r=r.4O("19L"),r.3A(Fv(D,v.6N)),q.3A(r),q.3A(t),oa.1q(q),D=v 2m ul?I7(D,v):J7(D,v),G.1q(D)):K7(D,t,v,oa,G)}G=a;D=x.11M;t=n;oa=k;v=G.1Ey;y=G.3c;r=G.1Nr;if(g(D)){q=v.4O("1b1");1d A=v.4O("19L");if(u=r.1n(D.1d7,!1)){q.3A(Vb(v,"6E2",!0));1d Fa=v.1wH("1d7")}1s Fa=v.1wH("1J1");A.3A(Fa);q.3A(A);Fa=r.1n(D.3q);y=Vb(v,"9R",Ev(Fa,y));q.3A(y);y=r.1n(D.13G);u&&g(y)&&q.3A(Vb(v,"3v1",y,"10R://10y.1BJ.11Y/5Q/1wV/2.2"));t.1q(q);t=v.4O("2Fx");r=r.1n(D.1G);g(r)&&t.3A(Vb(v,"1G",r));TR(G,D.2q,t);oa.1q(t)}L7(a,x.3g,n,k,p);L7(a,x.12i,n,k,p);oa=a;u=x;v=x.12W;G=n;y=k;D=oa.1Ey;r=oa.3c;t=oa.1Nr;g(v)&&(q=u.1K,q.5g?(u=M7(oa,v),y=D.4O("19L"),y.3A(Fv(oa,v.6N)),u.3A(y),t.1n(q,1p 0,Kj),T.12y(Kj,r,Pi),oa=D.4O("61z"),oa.3A(Vb(D,"3N",B.10Q(Pi.3N))),oa.3A(Vb(D,"4k",B.10Q(Pi.4k))),oa.3A(Vb(D,"1eD",Pi.1D)),u.3A(oa),G.1q(u)):K7(oa,u,v,G,y));G=x.1b9;if(g(G)){1d L=d.4O("6Ef");M.2L(G.4I,Za.11Z)||L.3A(Vb(d,"1jM",M.1RK(G.4I)));M.2L(G.4U,Za.1Nq)||L.3A(Vb(d,"9o",M.1RK(G.4U)))}1j(G=0;G<p.1h;++G)D=p[G],D.8m("id",h.1n(x.id)),D.3A(Vb(d,"2i",x.2i)),D.3A(Vb(d,"12F",x.2p)),D.3A(Vb(d,"16G",x.16G)),g(L)&&D.3A(L),b.3A(D);p=n.1h;if(0<p){G=d.4O("4LE");G.8m("id",h.1n(x.id));D=x.2i;v=x.17R;g(v)&&(oa=d.4O("4iF"),r=f.1n(v.3l),D=g(r)&&0<r.1h?r:D,r=f.1eV(v.1b5),g(r)&&(oa.3A(Vb(d,"1A",r)),oa.3A(Vb(d,"3e0","2U"))),v=f.1n(v.3b),g(v)&&oa.3A(Vb(d,"3b",v)),k.1q(oa));G.3A(Vb(d,"2i",D));G.3A(Vb(d,"12F",x.2p));G.3A(Vb(d,"16G",x.16G));g(L)&&G.3A(L);b.3A(G);D=k.1h;if(0<D){oa=d.4O("18O");1j(v=0;v<D;++v)oa.3A(k[v]);G.3A(Vb(d,"3Bz",e.1n(oa)))}if(1===n.1h)G.3A(n[0]);1s if(1<n.1h){k=d.4O("61A");1j(D=0;D<p;++D)k.3A(n[D]);G.3A(k)}}n=x.1R2;0<n.1h&&(k=d.4O("61S"),k.8m("id",h.1n(x.id)),k.3A(Vb(d,"2i",x.2i)),k.3A(Vb(d,"12F",x.2p)),k.3A(Vb(d,"16G",x.16G)),b.3A(k),G7(a,k,n))}}1b K7(a,b,c,d,e){1d f=a.1Ey,h=a.3c,l=a.1Nr,p=b.1K,n=!0;if(p 2m Rg){1d z=p.1oR;n=!1}1s z=m(b.1b9,a.4Mm);1d w=c 2m Ur,x,D=[];1j(x=0;x<z.1h;++x){1d t=z.1n(x);1d oa=n?p:t.2g,G=f.4O("19L");oa 2m Sl?(oa=oa.6j,G.3A(Fv(a,bb.1me))):g(c)?G.3A(Fv(a,c.6N)):G.3A(Fv(a,bb.6i));1d r=[],q=[];if(oa.5g)l.1n(oa,1p 0,Kj),oa=Vb(f,"9R",Ev(Kj,h)),r.1q(M.1RK(t.4I)),q.1q(oa),r.1q(M.1RK(t.4U)),q.1q(oa);1s if(oa 2m Qf){1d u=oa.1pU.1f7;1j(t=0;t<u.1h;++t)r.1q(M.1RK(u[t])),oa.1nF(u[t],dg.1EB,Kj),q.1q(Ev(Kj,h))}1s if(oa 2m Df)1j(u=oa.1f7,oa=oa.14z,t=0;t<u.1h;++t)r.1q(M.1RK(u[t])),k.7j(oa,3*t,Kj),q.1q(Ev(Kj,h));1s{u=a.4Mn;t.4I.1y(Wm);t.16q||M.190(Wm,u,Wm);1j(1d v=t.4U;M.1ib(Wm,v);)oa.3K(Wm,Kj),r.1q(M.1RK(Wm)),q.1q(Ev(Kj,h)),M.190(Wm,u,Wm);t.14K&&M.2L(Wm,v)&&(oa.3K(Wm,Kj),r.1q(M.1RK(Wm)),q.1q(Ev(Kj,h)))}oa=f.1M1("10R://10y.1BJ.11Y/5Q/1wV/2.2","4Lu");oa.3A(G);1j(G=0;G<r.1h;++G)t=Vb(f,"16r",r[G]),u=Vb(f,"16Q",q[G],"10R://10y.1BJ.11Y/5Q/1wV/2.2"),oa.3A(t),oa.3A(u);w&&oa.3A(M7(a,c));D.1q(oa)}if(1===D.1h)d.1q(D[0]);1s if(1<D.1h){h=f.1M1("10R://10y.1BJ.11Y/5Q/1wV/2.2","4Lr");1j(x=0;x<D.1h;++x)h.3A(D[x]);d.1q(h)}g(c)&&!w&&(c=c 2m ul?I7(a,c):J7(a,c),e.1q(c));b=b.9w;g(b)&&(l=l.1n(b.1G),b=b.2q,g(b)||g(l))&&(c=f.4O("2Fx"),g(l)&&c.3A(Vb(f,"1G",l)),TR(a,b,c),e.1q(c))}1b J7(a,b){1d c=a.1Ey,d=a.1Nr;a=c.4O("55C");1d e=d.1eV(b.1A);g(e)&&(a.3A(Vb(c,"1A",e)),a.3A(Vb(c,"3e0","2U")));b=d.1n(b.12Q);g(b)&&a.3A(Vb(c,"3b",b/32));1f a}1b I7(a,b){1d c=a.1Ey,d=a.1Nr,e=a.3vk;a=c.4O("55C");1d f=d.1n(b.4d);g(f)&&(f=e.7y(f),e=c.4O("1pq"),e.3A(Vb(c,"17S",f)),f=d.1n(b.23r),g(f)&&(e.3A(Vb(c,"x",f.x,"10R://10y.1BJ.11Y/5Q/1wV/2.2")),e.3A(Vb(c,"y",f.y,"10R://10y.1BJ.11Y/5Q/1wV/2.2")),e.3A(Vb(c,"w",f.1G,"10R://10y.1BJ.11Y/5Q/1wV/2.2")),e.3A(Vb(c,"h",f.1D,"10R://10y.1BJ.11Y/5Q/1wV/2.2"))),a.3A(e));f=d.1eV(b.1A);g(f)&&(a.3A(Vb(c,"1A",f)),a.3A(Vb(c,"3e0","2U")));e=d.1n(b.3b);g(e)&&a.3A(Vb(c,"3b",e));f=d.1n(b.14l);if(g(f)){e=m(e,1);C.1eE(f,e,f);1d h=d.1n(b.1G,32);e=d.1n(b.1D,32);1d l=d.1n(b.15P,oc.1dq);l===oc.1dq?f.x-=.5*h:l===oc.1sk&&(f.x-=h);h=d.1n(b.16l,fc.1dq);h===fc.1g5?f.y+=e:h===fc.1dq&&(f.y+=.5*e);e=c.4O("6Ec");e.8m("x",-f.x);e.8m("y",f.y);e.8m("6Eb","11n");e.8m("6Ea","11n");a.3A(e)}f=d.1n(b.5S);b=d.1n(b.1l5);g(f)&&k.2L(k.16a,b)&&(f=B.10Q(-f),0===f&&(f=360),a.3A(Vb(c,"8e",f)));1f a}1b N7(a,b,c,d){1d e=a.1Ey;a=a.3c;1j(1d f=[],h=b.1h,l=0;l<h;++l)T.12y(b[l],a,Pi),f.1q(B.10Q(Pi.3N)+","+B.10Q(Pi.4k)+","+(d?Pi.1D:c));b=Vb(e,"9R",f.14G(" "));e=e.4O("2me");e.3A(b);1f e}1b L7(a,b,c,d,e){1d f=a.1Ey,h=a.1Nr;if(g(b)){1d l=b 2m Lp;if(l&&"1ar"===h.4Mr(b.2q))d=a.1Ey,c=a.1Nr,h=a.3vk,f=d.4O("61L"),l=d.4O("19L"),l.3A(Fv(a,b.6N)),f.3A(l),a=c.1n(b.1D),g(a)&&f.3A(Vb(d,"1eD",a)),a=c.1n(b.9R),l=d.4O("61K"),l.3A(Vb(d,"4P",B.10Q(a.4P))),l.3A(Vb(d,"4C",B.10Q(a.4C))),l.3A(Vb(d,"5a",B.10Q(a.5a))),l.3A(Vb(d,"4o",B.10Q(a.4o))),f.3A(l),b=c.1n(b.2q),a=h.7y(b.4d),h=d.4O("1pq"),h.3A(Vb(d,"17S",a)),f.3A(h),g(b.1A)&&f.3A(Vb(d,"1A",Gv(b.1A))),e.1q(f);1s{e=f.4O("14x");1d p=h.1n(b.9i,0);0<p&&e.3A(Vb(f,"19r",!0));if(l){l=a.1Ey;1d n=a.1Nr;1d k=n.1n(b.1D,0);0<p&&(k=p);n=n.1n(b.9R);p=[];1j(1d w=[Q.1tH,Q.2fk,Q.1tI,Q.21k],x=0;4>x;++x)w[x](n,Pi),p.1q(B.10Q(Pi.3N)+","+B.10Q(Pi.4k)+","+k);k=Vb(l,"9R",p.14G(" "));n=l.4O("4Lv");l=l.4O("2me");l.3A(k);n.3A(l);l=[n]}1s{l=a.1Ey;w=a.1Nr;k=w.1n(b.1D,0);n=w.1n(b.16U,!1);!n&&0<p&&(k=p);p=[];w=w.1n(b.1iD);x=2K.8n(w)?w:w.3q;1d D=l.4O("4Lv");D.3A(N7(a,x,k,n));p.1q(D);w=w.1nt;if(g(w))1j(x=w.1h,D=0;D<x;++D){1d t=l.4O("61B");t.3A(N7(a,w[D].3q,k,n));p.1q(t)}l=p}k=l.1h;1j(n=0;n<k;++n)e.3A(l[n]);l=f.4O("19L");l.3A(Fv(a,b.6N));e.3A(l);c.1q(e);c=f.4O("6E8");(e=h.1n(b.4K,!1))&&c.3A(Vb(f,"4K",e));TR(a,b.2q,c);if(a=h.1n(b.8Y,!1))c.3A(Vb(f,"8Y",a)),a=f.4O("2Fx"),e=h.1n(b.5R,1),a.3A(Vb(f,"1G",e)),b=h.1eV(b.5M,y.1a7),a.3A(Vb(f,"1A",b)),a.3A(Vb(f,"3e0","2U")),d.1q(a);d.1q(c)}}}1b M7(a,b){1d c=a.1Ey,d=a.1Nr,e=a.3vk,f=c.4O("25N");d=d.1n(b.3b);if(g(d)){1d h=c.4O("3b");h.3A(Vb(c,"x",d));h.3A(Vb(c,"y",d));h.3A(Vb(c,"z",d));f.3A(h)}d=c.4O("43E");a=e.12W(b,a.6q);d.3A(Vb(c,"17S",a));f.3A(d);1f f}1b TR(a,b,c){1d d=a.1Ey,e=a.1Nr;if(g(b)&&(a=e.1n(b),g(a))){6U(e.4Mr(b)){1S"1ar":1d f=Gv(y.9r);1W;1S"1aV":1S"1IR":1S"4Of":1S"4Oh":1S"4Og":f=Gv(a.1A);1W;1S"4Oe":f=Gv(a.1A);b=Gv(a.5M);a=a.5R;c.3A(Vb(d,"4dp",b,"10R://10y.1BJ.11Y/5Q/1wV/2.2"));c.3A(Vb(d,"3lq",a,"10R://10y.1BJ.11Y/5Q/1wV/2.2"));1W;1S"4O5":f=Gv(a.1t7)}g(f)&&(c.3A(Vb(d,"1A",f)),c.3A(Vb(d,"3e0","2U")))}}1b Fv(a,b){1d c=a.1Ey;6U(a.1Nr.1n(b,bb.6i)){1S bb.6i:1d d=c.1wH("1J1");1W;1S bb.1me:d=c.1wH("1d7");1W;1S bb.28I:d=c.1wH("3dZ")}1f d}1b Ev(a,b){2K.8n(a)||(a=[a]);1j(1d c=a.1h,d=[],e=0;e<c;++e)T.12y(a[e],b,Pi),d.1q(B.10Q(Pi.3N)+","+B.10Q(Pi.4k)+","+Pi.1D);1f d.14G(" ")}1b Vb(a,b,c,d){c=m(c,"");"11T"===2h c&&(c=c?"1":"0");b=g(d)?a.1M1(d,b):a.4O(b);a="4n"===c&&-1!==c.3f("<")?a.9P5(c):a.1wH(c);b.3A(a);1f b}1b Gv(a){1d b="";a=a.3bt();1j(1d c=3;0<=c;--c)b+=16>a[c]?"0"+a[c].5s(16):a[c].5s(16);1f b}1b nI(a){1f k.8g(a[0],a[1],a[2])}1b O7(a,b){1d c="",d;1j(d in a)if(a.3p(d)&&d!==b&&-1===64o.3f(d)){1d e=a[d];g(e)&&(c="2c"===2h e?c+("<tr><th>"+d+"</th><td>"+O7(e)+"</td></tr>"):c+("<tr><th>"+d+"</th><td>"+e+"</td></tr>"))}0<c.1h&&(c=\'<1j9 11F="3P-1Dq-3Ux"><26R>\'+c+"</26R></1j9>");1f c}1b 6Ei(a,b,c){1d d;1f 1b(e,f){g(d)||(d=a(b,c));1f d}}1b 64n(a,b){1f 1g Vd(6Ei(O7,a,b),!0)}1b oI(a,b,c){1d d=a.id;if(g(d)&&"19E"===a.1I){1j(1d e=2,f=d;g(b.1of(f));)f=d+"10D"+e,e++;d=f}1s d=Ld();b=b.3wd(d);a=a.5U;if(g(a)){b.5U=a;d=a.17s;if(g(d)){b.2i=d;1d h="17s"}1s{d=3a.6w;1j(1d l in a)if(a.3p(l)&&a[l])if(e=l.18v(),1<d&&"17s"===e){h=l;1W}1s 2<d&&"2i"===e?(d=2,h=l):3<d&&/17s/i.6S(l)?(d=3,h=l):4<d&&/2i/i.6S(l)&&(d=4,h=l);g(h)&&(b.2i=a[h])}l=a.16G;1F!==l&&(b.16G=g(l)?1g od(l):c(a,h))}1f b}1b UR(a,b){1j(1d c=2K(a.1h),d=0;d<a.1h;d++)c[d]=b(a[d]);1f c}1b P7(a,b,c,d,e){if(1F===b.3y)oI(b,a.17l,e.39C);1s{if(!g(b.3y))1t 1g qa("7n.3y is 1X.");c=b.3y.1I;1d f=Q7[c];if(!g(f))1t 1g qa("1jJ 3y 1I: "+c);f(a,b,b.3y,d,e)}}1b R7(a,b,c,d,e){c=c.1ht;1j(1d f=0,h=c.1h;f<h;f++){1d l=c[f],p=l.1I,n=Q7[p];if(!g(n))1t 1g qa("1jJ 3y 1I: "+p);n(a,b,l,d,e)}}1b S7(a,b,c,d,e){1d f=e.44q,h=e.44p,l=e.38x,p=b.5U;if(g(p)){1d n=p["1H5-1A"];g(n)&&(h=y.5X(n));l=m(64q[p["1H5-4V"]],l);p=p["1H5-1ap"];g(p)&&(f=p)}f=g(f)?1===f.1h?a.2So.6jQ(f.1G9(),h,l):a.2So.6jR(f,h,l):a.2So.1dc(h,l);1d k=1g ul;k.16l=1g od(fc.1Qm);2===d.1h&&e.1d7&&(k.6N=bb.1me);b=oI(b,a.17l,e.39C);b.10i=k;b.1K=1g Ji(c(d));c=Z(f).4b(1b(a){k.4d=1g od(a)}).10g(1b(){k.4d=1g od(a.2So.1dc(h,l))});a.1Np.1q(c)}1b T7(a,b,c,d,e){S7(a,b,d,c.9R,e)}1b U7(a,b,c,d,e){c=c.9R;1j(1d f=0;f<c.1h;f++)S7(a,b,d,c[f],e)}1b V7(a,b,c,d,e){1d f=e.44o,h=e.4Mk,l=b.5U;if(g(l)){1d p=l["15n-1G"];g(p)&&(h=1g od(p));1d n;p=l.15n;g(p)&&(n=y.5X(p));l=l["15n-7z"];g(l)&&1!==l&&(g(n)||(n=f.1A.1y()),n.2O=l);g(n)&&(f=1g cc(n))}a=oI(b,a.17l,e.39C);b=1g pk;a.11M=b;b.1d7=e.1d7;b.2q=f;b.1G=h;b.3q=1g od(UR(d,c));b.14g=Ib.1sX}1b W7(a,b,c,d,e){V7(a,b,d,c.9R,e)}1b X7(a,b,c,d,e){c=c.9R;1j(1d f=0;f<c.1h;f++)V7(a,b,d,c[f],e)}1b Y7(a,b,c,d,e){if(0!==d.1h&&0!==d[0].1h){1d f=e.44o.1A,h=e.1lE,l=e.4Mk,p=b.5U;if(g(p)){1d n=p["15n-1G"];g(n)&&(l=1g od(n));1d k;n=p.15n;g(n)&&(k=y.5X(n));n=p["15n-7z"];g(n)&&1!==n&&(g(k)||(k=e.44o.1A.1y()),k.2O=n);g(k)&&(f=1g od(k));k=p.4K;if(g(k)){1d w=y.5X(k);w.2O=h.1A.2O}n=p["4K-7z"];g(n)&&n!==h.1A.2O&&(g(w)||(w=h.1A.1y()),w.2O=n);g(w)&&(h=1g cc(w))}p=1g yl;p.8Y=1g od(!0);p.5M=f;p.5R=l;p.2q=h;p.14g=Ib.1sX;p.4SD=!0;f=[];h=1;1j(l=d.1h;h<l;h++)f.1q(1g bo(UR(d[h],c)));d=d[0];p.1iD=1g od(1g bo(UR(d,c),f));2<d[0].1h?p.16U=1g od(!0):e.1d7||(p.1D=0);oI(b,a.17l,e.39C).12i=p}}1b Z7(a,b,c,d,e){Y7(a,b,d,c.9R,e)}1b $7(a,b,c,d,e){c=c.9R;1j(1d f=0;f<c.1h;f++)Y7(a,b,d,c[f],e)}1b a8(a,b,c,d,e){1j(1d f in c.1zI)c.1zI.3p(f)&&(b=b8.7n(c,c.1zI[f]),(0,c8[b.1I])(a,b,b,d,e))}1b vs(a){1a.6X=a;1a.1lt=1g sa;1a.1vN=1g sa;1a.2hC=!1;1a.1R4=1g sa;1a.17l=1g Se(1a);1a.1Np=[];1a.2So=1g Ku;1a.23b=1g Mi;1a.1dh=1p 0;1a.2P1=[]}1b 64m(a,b,c,d){1d e;g(d)&&(e=kk(d));g(e)&&a.6X!==e&&(a.6X=e,a.1lt.5k(a));1d f=c8[b.1I];if(!g(f))1t 1g qa("1Mp 9P4 2c 1I: "+b.1I);e=b.29s;1d h=1F!==e?nI:1F;if(g(e)){if(!g(e.5U))1t 1g qa("29s.5U is 7w.");d=e.5U;if("2i"===e.1I){if(h=VR[d.2i],!g(h))1t 1g qa("1jJ 29s 2i: "+d.2i);}1s if("1H6"===e.1I){e=d8[d.17S];g(e)||(e=e8[d.1I]);if(!g(e))1t 1g qa("2mq to 5h 29s 1H6: "+4H.8s(d));h=e(d)}1s if("1pY"===e.1I){if(h=VR["1pY:"+d.16A],!g(h))1t 1g qa("1jJ 29s 1pY 16A: "+d.16A);}1s 1t 1g qa("1jJ 29s 1I: "+e.1I);}1f Z(h,1b(d){a.17l.7f();1F!==d&&f(a,b,b,d,c);1f Z.all(a.1Np,1b(){a.1Np.1h=0;ih.1No(a,!1);1f a})})}1b f8(a,b){1a.1K=a;1a.39r=b}1b g8(a,b){1a.1K=a;1a.43U=b}1b xC(a,b){1a.id=b;1a.2i=a;1a.3v5=0;1a.3v0=[];1a.62o=1g sa;1a.62n=1g sa;1a.6Eh=1g sa;1a.55E=1g sa;1a.2CR=[]}1b h8(a){1j(1d b=a.9l();1p 0!==b;b=a.9l())b.4U()}1b i8(a,b,c){1d d=1a.3v0[1a.3v5];if(d){1d e=6Eg.7X(1a,a,b,c);1a.2CR.1q(d);1a.6Eh.5k(d);if(d.55D)d.20e(e,a.4r.3w,b);1s{1d f=1a;d.20e(1b(){f.55E.5k(d);1d a=f.2CR.3f(d);0<=a&&f.2CR.6z(a,1)});e(a,b,c)}}1s g(c)&&c(!1)}1b 6Eg(a,b,c,d){1d e=1a.3v0[1a.3v5];1a.55E.5k(e,d);d?c(d):(d=1a.2CR.3f(e),0<=d&&1a.2CR.6z(d,1),1a.3v5++,i8.4G(1a,a,b,c))}1b yC(a,b,c){1a.1I="5gV";1a.55D=!0;1a.29q=1a.3v4=1F;1a.13k=a;1a.11A=c;1a.4Lq=b}1b pI(a){1a.1I="5gU";1a.55D=!0;1a.13k=a;1a.2wM=1F}1b vo(a){1a.3Me=a;1a.34l=Z.12L();1a.2OS=[];1a.1Np=[];1a.4Ly=1a.3uZ=!1;1a.43J=0;1a.4Lx=1E3}1b 6DC(a){a=a.4h(0,1k.2o(4,a.4V));1d b=Z.12L(),c=1g 2sb;c.7K("1e4",1b(){b.5h(4Mz===(1g 1dE(c.4D)).9A(0,!1))});c.7K("7A",1b(){b.7N(c.7A)});c.4zp(a);1f b.10l}1b j8(a){1d b=Z.12L(),c=1g 2sb;c.7K("1e4",1b(){b.5h(c.4D)});c.7K("7A",1b(){b.7N(c.7A)});c.3Cu(a);1f b.10l}1b k8(a){1d b={9P3:"10R://10y.w3.1m9/9P2/9P1-1bX"},c;1j(c in b)if(b.3p(c)){1d d=19j("[< ]"+c+":");1d e="1KG:"+c+"=";if(d.6S(a)&&-1===a.3f(e)){if(!g(f)){1d f=a.13c(0,a.3f("<5Q")+4);1d h=a.13c(f.1h)}f+=" "+e+\'"\'+b[c]+\'"\'}}g(f)&&(a=f+h);1f a}1b l8(a){1j(1d b=a.3f("1KG:"),c=a.3f(">",b),d,e;-1!==b&&b<c;)d=a.4h(b,a.3f(\'"\',b)),e=b,b=a.3f(d,b+1),-1!==b?(d=a.3f(\'"\',a.3f(\'"\',b)+1),a=a.4h(0,b-1)+a.4h(d+1,a.1h),b=a.3f("1KG:",e-1)):b=a.3f("1KG:",e+1);1f a}1b 6DD(a,b,c){a.2qa(1g eq.64F,1b(a){a=k8(a);a=l8(a);b.5Q=qI.27q(a,"1aM/1g3");c.5h()})}1b WR(a,b,c){1d d=m(m8.61U(a.23d),"1aM/2MJ-2gh");a.2qa(1g eq.64G(d),1b(d){b[a.23d]=d;c.5h()})}1b n8(a,b,c,d){1d e=d.9K,f=1g zb(".");a=a.4bj(b);1j(1d h=0;h<a.1h;h++){1d l=a[h],g=l.15o(c);g=(1g zb(g)).5h(f).5s();g=e.3f(g);-1!==g&&(g=e[g],l.8m(c,d[g]),"a"===b&&1F===l.15o("2CU")&&l.8m("2CU",g))}}1b o8(a,b,c,d){a=a.4bj(b);1j(b=0;b<a.1h;b++){1d e=a[b],f=e.15o(c);f=rI(f,d);e.8m(c,f.2I)}}1b p8(a,b,c){a=Lj(a,"id");a=g(a)&&0!==a.1h?a:Ld();g(c)&&(a=c+a);1d d=b.1of(a);g(d)&&(a=Ld(),g(c)&&(a=c+a));d=b.add(1g wd({id:a}));g(d.5Q)||(d.1Dr("5Q"),d.5Q=1g 6Dz);1f d}1b zC(a,b){1f"1J1"===a||"3dZ"===a||"2q5"===b}1b vy(a,b){if(!g(a))1f k.8g(0,0,0,b);1d c=a.141(/[^\\s,\\n]+/g);if(!g(c))1f k.8g(0,0,0,b);a=7L(c[0]);1d d=7L(c[1]);c=7L(c[2]);a=11I(a)?0:a;d=11I(d)?0:d;c=11I(c)?0:c;1f k.8g(a,d,c,b)}1b sI(a,b){if(g(a)&&(a=a.8S.141(/[^\\s\\n]+/g),g(a))){1j(1d c=a.1h,d=2K(c),e=0,f=0;f<c;f++)d[e++]=vy(a[f],b);1f d}}1b q8(a,b){if(g(a)&&(a=a.15o(b),1F!==a))1f a=7L(a),11I(a)?1p 0:a}1b Lj(a,b){if(g(a))1f a=a.15o(b),1F!==a?a:1p 0}1b qd(a,b,c){if(g(a)){a=a.13P;1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];if(f.16Z===b&&-1!==c.3f(f.1fz))1f f}}}1b r8(a,b,c){if(g(a)){1d d=[];a=a.1Gs("*",b);1j(1d e=a.1h,f=0;f<e;f++){1d h=a[f];h.16Z===b&&-1!==c.3f(h.1fz)&&d.1q(h)}1f d}}1b Xm(a,b,c){if(!g(a))1f[];1d d=[];a=a.13P;1j(1d e=a.1h,f=0;f<e;f++){1d h=a[f];h.16Z===b&&-1!==c.3f(h.1fz)&&d.1q(h)}1f d}1b Fc(a,b,c){a=qd(a,b,c);if(g(a))1f a=7L(a.8S),11I(a)?1p 0:a}1b Wb(a,b,c){a=qd(a,b,c);if(g(a))1f a.8S.1b2()}1b Ym(a,b,c){a=qd(a,b,c);if(g(a))1f a=a.8S.1b2(),"1"===a||/^8O$/i.6S(a)}1b rI(a,b,c){if(g(a)){if(g(c)){a=a.3X(/\\\\/g,"/");1d d=c[a];if(g(d))1d e=1g na({2I:d});1s{d=1g zb(b.1oO());1d f=1g zb(a);d=c[f.5h(d)];g(d)&&(e=1g na({2I:d}))}}g(e)||(e=g(b)?b.16M({2I:a}):1g na({2I:a}));1f e}}1b YR(a,b){if(g(a)&&!/^\\s*$/gm.6S(a)){"#"===a[0]&&(a=a.11c(1));1d c=8A(a.11c(0,2),16)/255,d=8A(a.11c(2,4),16)/255,e=8A(a.11c(4,6),16)/255;a=8A(a.11c(6,8),16)/255;if(!b)1f 1g y(a,e,d,c);0<a?(Mj.43H=a,Mj.5r=1p 0):(Mj.43H=1p 0,Mj.5r=0);0<e?(Mj.43G=e,Mj.5t=1p 0):(Mj.43G=1p 0,Mj.5t=0);0<d?(Mj.43F=d,Mj.5G=1p 0):(Mj.43F=1p 0,Mj.5G=0);Mj.2O=c;1f y.3zZ(Mj)}}1b Hv(a,b,c){b=Wb(a,b,c);if(g(b))1f YR(b,"1ps"===Wb(a,"3e0",c))}1b 6DX(a){a=qd(a,"9P0",ya.39o);1d b=Wb(a,"16r",ya.39o);if(g(a)&&g(b)&&0!==b.1h)1f a=M.1r3(b),b=1g Md,b.1r2(1g Ab({4I:a,4U:Za.1Nq})),b}1b 6DY(a){1d b=qd(a,"6Ef",ya.39o);if(g(b)){a=qd(b,"1jM",ya.39o);a=g(a)?M.1r3(a.8S):1p 0;b=qd(b,"9o",ya.39o);b=g(b)?M.1r3(b.8S):1p 0;if(g(a)&&g(b)){if(M.1ib(b,a)){1d c=a;a=b;b=c}c=1g Md;c.1r2(1g Ab({4I:a,4U:b}))}1s g(a)?(c=1g Md,c.1r2(1g Ab({4I:a,4U:Za.1Nq}))):g(b)&&(c=1g Md,c.1r2(1g Ab({4I:Za.11Z,4U:b})));1f c}}1b s8(){1d a=1g ul;a.1G=32;a.1D=32;a.13h=1g Db(6Ee,1,6Ed,.1);a.1cd=1g Db(6Ee,1,6Ed,.1);1f a}1b ZR(){1d a=1g yl;a.8Y=!0;a.5M=y.9r;1f a}1b t8(){1d a=1g Kp;a.15M=1g Db(3E6,1,5E6,0);a.4S=1g ob(0,8E4);a.14l=1g C(17,0);a.15P=oc.1hc;a.9O="2OH 1TG-1TF";a.2r=qe.1R0;1f a}1b u8(a,b,c,d,e){1d f=Wb(a,"17S",ya.5Q);if(g(f)&&0!==f.1h){if(0===f.3f("1ro://5mf/9OZ-")){f=f.1as(21);1d h=m(Fc(a,"x",ya.gx),0),l=m(Fc(a,"y",ya.gx),0);h=1k.2o(h/32,7);l=7-1k.2o(l/32,7);f="1bU://1PT.1BJ.11Y/9OY/5Q/9OX"+f+"/6O"+(8*l+h)+".12H"}c=rI(f,c,d);e&&(e=Wb(a,"1Ex",ya.5Q),d=Wb(a,"3v2",ya.5Q),"43L"===e||"2CP"===e?ec("5Q-1Ex-"+e,"1gO - 1Mp 1pq 1Ex: "+e):("2hD"===d||"43K"===d)&&ec("5Q-1Ex-"+d,"1gO - 1Mp 1pq 3v2: "+d),e=m(Wb(a,"43z",ya.5Q),1),d="2hD"===d?"61Q=[43P],[43O],[43N],[43M]":"",d=m(Wb(a,"61P",ya.5Q),d),a=Wb(a,"61O",ya.5Q),g(d)&&c.1qN(nj(tI(d))),g(a)&&c.1qN(nj(tI(a))),$R(c,b.1B5,b.10C,e,b.43D.1bD,b.5W));1f c}}1b uI(a,b,c,d,e){1j(1d f=0,h=b.13P.1h;f<h;f++){1d l=b.13P.1jI(f);if("55C"===l.16Z){1d p=1p 0,n=1p 0,z=a,w=l;l=c;1d x=d,D=e,t=Fc(w,"3b",ya.5Q),oa=Fc(w,"8e",ya.5Q),G=Hv(w,"1A",ya.5Q),r=qd(w,"1pq",ya.5Q);z=u8(r,z,x,D,!1);g(r)&&!g(z)&&(z=!1);x=Fc(r,"x",ya.gx);D=Fc(r,"y",ya.gx);1d q=Fc(r,"w",ya.gx);r=Fc(r,"h",ya.gx);1d u=qd(w,"6Ec",ya.5Q);w=q8(u,"x");1d v=q8(u,"y"),A=Lj(u,"6Eb");u=Lj(u,"6Ea");1d K=l.10i;g(K)||(K=s8(),l.10i=K);K.4d=z;K.3b=t;K.1A=G;if(g(x)||g(D)||g(q)||g(r))K.23r=1g Aa(x,D,q,r);g(oa)&&0!==oa&&(K.5S=B.8I(-oa),K.1l5=k.16a);t=m(t,1);g(w)&&("11n"===A?n=-w*t:"6E9"===A?n=(w-32)*t:"2mc"===A&&(n=32*-w*t),n+=16*t);g(v)&&("11n"===u?p=v*t:"6E9"===u?p=(-v+32)*t:"2mc"===u&&(p=32*v*t),p-=16*t);if(g(n)||g(p))K.14l=1g C(n,p)}1s"4iF"===l.16Z?(p=c.17R,g(p)||(p=t8(),c.17R=p),p.3b=m(Fc(l,"3b",ya.5Q),p.3b),p.1b5=m(Hv(l,"1A",ya.5Q),p.1b5),p.3l=c.2i):"2Fx"===l.16Z?(p=c.11M,g(p)||(p=1g pk,c.11M=p),p.1G=Fc(l,"1G",ya.5Q),p.2q=Hv(l,"1A",ya.5Q),g(Hv(l,"4dp",ya.gx))&&ec("5Q-gx:4dp","1gO - gx:4dp is 2S 11J in a 2Fx"),g(Fc(l,"3lq",ya.gx))&&ec("5Q-gx:3lq","1gO - gx:3lq is 2S 11J in a 2Fx"),g(Fc(l,"55B",ya.gx))&&ec("5Q-gx:55B","1gO - gx:55B is 2S 11J in a 2Fx"),g(Ym(l,"55A",ya.gx))&&ec("5Q-gx:55A","1gO - gx:55A is 2S 11J in a 2Fx")):"6E8"===l.16Z?(p=c.12i,g(p)||(p=ZR(),c.12i=p),p.2q=m(Hv(l,"1A",ya.5Q),p.2q),p.4K=m(Ym(l,"4K",ya.5Q),p.4K),p.8Y=m(Ym(l,"8Y",ya.5Q),p.8Y)):"9OW"===l.16Z?(p=m(YR(Wb(l,"55z",ya.5Q)),y.9r),n=m(YR(Wb(l,"1GR",ya.5Q)),y.1a7),l=Wb(l,"3l",ya.5Q),c.1Dr("4dn"),c.4dn={55z:p,1GR:n,3l:l}):"6E7"===l.16Z&&(p=Wb(l,"6E6",ya.5Q),"9OV"!==p&&"9OU"!==p||ec("5Q-9OT-"+p,"1gO - 1Mp 6E7 10M 6E6: "+p))}}1b 6DZ(a,b,c,d,e){1d f=1g wd,h=-1,l=b.13P;1d p=l.1h;1j(1d n=0;n<p;n++){1d k=l[n];if("18O"===k.16Z||"4do"===k.16Z)h=n}if(-1!==h)if(h=l[h],"18O"===h.16Z)uI(a,h,f,d,e);1s 1j(h=Xm(h,"6E5",ya.5Q),l=0;l<h.1h;l++)p=h[l],n=Wb(p,"10t",ya.5Q),"2U"===n?(n=Wb(p,"3Bz",ya.5Q),g(n)?(p=c.1of(n),g(p)||(p=c.1of("#"+n)),g(p)&&f.18y(p)):(p=qd(p,"18O",ya.5Q),uI(a,p,f,d,e))):ec("5Q-6E4-"+n,"1gO - 1Mp 4do 10t: "+n);b=Wb(b,"3Bz",ya.5Q);g(b)&&(a=b,"#"!==b[0]&&-1!==b.3f("#")&&(a=b.7g("#"),a=d.16M({2I:a[0]}).1oO()+"#"+a[1]),p=c.1of(a),g(p)||(p=c.1of("#"+a)),g(p)&&f.18y(p));1f f}1b 6E3(a,b,c){1f b.2zz().4b(1b(d){1f v8(a,d,c,b,!0)})}1b v8(a,b,c,d,e,f){1d h,l=r8(b,"18O",ya.5Q);if(g(l)){1d p=l.1h;1j(h=0;h<p;h++){1d n=l[h];1d k=Lj(n,"id");if(g(k)&&(k="#"+k,e&&g(d)&&(k=d.1oO()+k),!g(c.1of(k)))){1d w=1g wd({id:k});c.add(w);uI(a,n,w,d,f)}}}l=r8(b,"4do",ya.5Q);if(g(l))1j(p=l.1h,h=0;h<p;h++)if(w=l[h],k=Lj(w,"id"),g(k))1j(1d x=Xm(w,"6E5",ya.5Q),D=0;D<x.1h;D++)if(n=x[D],w=Wb(n,"10t",ya.5Q),"2U"===w){if(k="#"+k,e&&g(d)&&(k=d.1oO()+k),!g(c.1of(k))){w=c.3wd(k);1d t=Wb(n,"3Bz",ya.5Q);g(t)?("#"!==t[0]&&(t="#"+t),e&&g(d)&&(t=d.1oO()+t),n=c.1of(t),g(n)&&w.18y(n)):(n=qd(n,"18O",ya.5Q),uI(a,n,w,d,f))}}1s ec("5Q-6E4-"+w,"1gO - 1Mp 4do 10t: "+w);e=[];b=b.1cE("3Bz");f=b.1h;1j(h=0;h<f;h++)k=b[h].8S,"#"!==k[0]&&(k=k.7g("#"),2===k.1h&&(k=d.16M({2I:k[0]}),e.1q(6E3(a,k,c))));1f e}1b aS(a,b,c){a=1g ji(a,b.id,["1K"]);1d d=1g Sl(b.1K);b.11M=g(c.11M)?c.11M.1y():1g pk;b.11M.3q=1g sk([a,d])}1b w8(a,b){if(!g(a)&&!g(b)||"1d7"===a)1f bb.1me;if("3dZ"===a)1f bb.28I;if("1J1"===a)1f bb.6i;if("2CN"===b)1f ec("5Q-gx:19L-2CN","1gO - <gx:19L>:2CN is 2zE 2S 11J, 1nl <5Q:19L>:1d7."),bb.1me;if("2q5"===b)1f ec("5Q-gx:19L-2q5","1gO - <gx:19L>:2q5 is 2zE 2S 11J, 1nl <5Q:19L>:3dZ."),bb.28I;g(a)?ec("5Q-19L-1G7","1gO - 1jJ <5Q:19L>:"+a+", 1nl <5Q:19L>:1me."):ec("5Q-gx:19L-1G7","1gO - 1jJ <gx:19L>:"+b+", 1nl <5Q:19L>:1me.");1f bb.1me}1b x8(a,b,c){if("2q5"===c||"1J1"===b||"3dZ"===b)1f a;(g(b)&&"1d7"!==b||g(c)&&"2CN"!==c)&&ec("5Q-19L-1G7","1gO - 1jJ 19L: "+m(b,c));1f 1g Sl(a)}1b vI(a,b,c,d){1d e=b.17R;g(e)||(e=g(c.17R)?c.17R.1y():t8(),b.17R=e);e.3l=b.2i;1d f=b.10i;g(f)||(f=g(c.10i)?c.10i.1y():s8(),b.10i=f);g(f.4d)?f.4d.3K()||(f.4d=1p 0):f.4d=a.2So.1dc(y.1Zs,64);b=1;g(f.3b)&&(b=f.3b.3K(),0!==b?e.14l=1g C(16*b+1,-16):(e.14l=1p 0,e.15P=1p 0));g(d)&&a.23a&&(f.6N=d,e.6N=d,e.14l=1g C(16*b+1,-16))}1b y8(a,b){1d c=a.9w;g(c)||(c=1g Vr,c.2hV=0,a.9w=c);a=b.11M;g(a)&&(c.2q=a.2q,c.1G=a.1G)}1b z8(a,b,c,d,e){b=qd(c,"9R",ya.5Q);1d f=Wb(c,"19L",ya.5Q),h=Wb(c,"19L",ya.gx),l=Ym(c,"19r",ya.5Q),p=Ym(c,"6E2",ya.5Q),n=zC(f,h),k=Fc(c,"3v1",ya.gx),w=a.5W;c=sI(b,w);b=e.11M;if(n&&l)p=1g Xr,d.1H9=p,p.3q=c,n=e.12i,g(n)&&(p.4K=n.4K,p.2q=n.2q),p.8Y=!0,g(b)?(p.5M=g(b.2q)?b.2q.1A:y.9r,p.5R=b.1G):g(n)&&(p.5M=g(n.2q)?n.2q.1A:y.9r);1s if(!a.3uX&&!a.23a||n){g(k)&&ec("5Q-gx:3v1","1gO - gx:3v1 is 2S 11J in 9OS 16r 1d7 is 16f");b=g(b)?b.1y():1g pk;d=d.11M=b;if(g(c)){if("2q5"!==h&&"1J1"!==f&&"3dZ"!==f)1j((g(f)&&"1d7"!==f||g(h)&&"2CN"!==h)&&ec("5Q-19L-1G7","1gO - 1jJ 19L: "+m(f,h)),a=c.1h,e=0;e<a;e++)f=c[e],w.1fI(f,f)}1s c=1p 0;d.3q=c;if(!p||n)b.14g=Ib.6i}1s a.3uX&&(d.1xu=!0),p=1g pk,a.23a&&(p.1d7=!0),d.11M=p,p.3q=c,g(b)?(p.2q=g(b.2q)?b.2q.1A.3K(Za.11Z):y.9r,p.1G=m(b.1G,1)):(p.2q=y.9r,p.1G=1),p.13G=k;1f!0}1b A8(a,b,c,d,e,f,h,l,g){1d p=a[0],k=a[a.1h-1],w=1g Qf;w.3uY(a,b);c.1oR.1r2(1g Ab({4I:p,4U:k,16q:g,14K:g,2g:x8(w,h,l)}));d.1r2(1g Ab({4I:p,4U:k,16q:g,14K:g}));e.1oR.1r2(1g Ab({4I:p,4U:k,16q:g,14K:g,2g:f}))}1b B8(a,b,c,d,e){1d f=Ym(c,"1d9",ya.gx);c=Xm(c,"4Lu",ya.gx);1j(1d h,l,p,n=!1,k=1g Rm,w=1g Md,x=1g Rg,D=a.5W,t=0,m=c.1h;t<m;t++){h=c[t];1d G=Xm(h,"16r",ya.5Q),r=Xm(h,"16Q",ya.gx),q=Wb(h,"19L",ya.5Q),u=Wb(h,"19L",ya.gx),v=zC(q,u),y=Ym(h,"19r",ya.5Q),A=1k.2o(r.1h,G.1h),B=[];h=[];1j(1d L=0;L<A;L++){1d S=vy(r[L].8S,D);B.1q(S);h.1q(M.1r3(G[L].8S))}f&&(g(l)&&A8([l,h[0]],[p,B[0]],x,w,k,!1,"1J1",1p 0,!1),l=h[A-1],p=B[B.1h-1]);A8(h,B,x,w,k,v&&y,q,u,!0);n=n||v&&y}d.1b9=w;d.1K=x;vI(a,d,e);y8(d,e);n&&(aS(b,d,e),d.11M.2p=k);1f!0}1b 6DV(a,b){1d c=qd(a,"6E0",ya.5Q);if(g(c)){g(qd(c,"6E1",ya.5Q))&&ec("5Q-9OR","1gO - 6E1 is 1Pt");g(Lj(c,"1KG:2mU"))&&ec("5Q-4dm","1gO - 6E0 10M 1KG:2mU is 1Pt");a={};c=Xm(c,"3dz",ya.5Q);if(g(c))1j(1d d=c.1h,e=0;e<d;e++){1d f=c[e],h=Lj(f,"2i");g(h)&&(a[h]={2ix:Wb(f,"2ix",ya.5Q),1Q:Wb(f,"1Q",ya.5Q)})}b.5Q.4dm=a}}1b 6DU(a,b,c,d,e){1d f=b.5Q;1d h=f.4dm,l=Wb(a,"16G",ya.5Q);1d p=m(b.4dn,c.4dn);a=y.9r;c=y.1a7;1d n=l;g(p)&&(a=m(p.55z,y.9r),c=m(p.1GR,y.1a7),n=m(p.3l,l));if(g(n)){if(n=n.3X("$[2i]",m(b.2i,"")),n=n.3X("$[16G]",m(l,"")),n=n.3X("$[2gg]",m(f.2gg,"")),n=n.3X("$[6DW]",m(f.55x,"")),n=n.3X("$[id]",b.id),n=n.3X("$[9OQ]",""),g(h)&&(p=n.141(/\\$\\[.+?\\]/g),1F!==p))1j(f=0;f<p.1h;f++){1d k=p[f];l=k.13c(2,k.1h-3);1d w=/\\/2ix$/.6S(l);l=l.3X(/\\/2ix$/,"");l=h[l];g(l)&&(l=w?l.2ix:l.1Q);g(l)&&(n=n.3X(k,m(l,"")))}}1s if(g(h)&&(k=1L.9K(h),0<k.1h)){n=\'<1j9 11F="3P-1Dq-3Ux 3P-1Dq-3Ux-4EM"><26R>\';1j(f=0;f<k.1h;f++)p=k[f],l=h[p],n+="<tr><th>"+m(l.2ix,p)+"</th><td>"+m(l.1Q,"")+"</td></tr>";n+="</26R></1j9>"}if(g(n)){n=61T.1H6(n);fq.1dd=n;h=fq.4bj("a");1j(f=0;f<h.1h;f++)h[f].8m("15s","44m");g(d)&&1<d.9K.1h&&(n8(fq,"a","17S",d),n8(fq,"1kp","1bv",d));o8(fq,"a","17S",e);o8(fq,"1kp","1bv",e);d=\'<5u 11F="3P-1Dq-16G-4EM" 2r="1Tn:1sg;1xF-1FQ:1W-1xF;1Ds-1A:\'+(a.1fY()+";");d+="1A:"+c.1fY()+";";d=d+\'">\'+(fq.1dd+"</5u>");fq.1dd="";b.16G=d}}1b wI(a,b,c){1b d(a){1f a?a.2p&&d(a.12f):!0}1d e=c.43R,f=c.39n,h=c.2CO,l=p8(b,c.1mu,c.1O),p=l.5Q;c=6DZ(a,b,c.55y,f,h);1d n=Wb(b,"2i",ya.5Q);l.2i=n;l.12f=e;n=6DY(b);g(n)||(n=6DX(b));l.1b9=n;bS(l);n=Ym(b,"12F",ya.5Q);l.2p=d(e)&&m(n,!0);e=qd(b,"44k",ya.39p);n=p.44k;n.2i=Wb(e,"2i",ya.39p);n.1dr=Wb(e,"1dr",ya.39p);n.1zM=Wb(e,"1zM",ya.39p);e=qd(b,"1H6",ya.39p);n=p.1H6;n.17S=Lj(e,"17S");n.4bl=Lj(e,"4bl");n.39B=Lj(e,"39B");n.1I=Lj(e,"1I");n.17s=Lj(e,"17s");n.1h=Lj(e,"1h");p.2gg=Wb(b,"2gg",ya.5Q);p.55w=Wb(b,"55w",ya.5Q);p.55x=Wb(b,"6DW",ya.5Q);6DV(b,l);6DU(b,l,c,h,f);a=a.5W;C8(b,l,a);D8(b,l,a);g(qd(b,"21Q",ya.5Q))&&ec("5Q-1wl","1gO - 4LE 9OP are 1Pt");1f{13a:l,61R:c}}1b E8(a,b,c,d){d.61G(b.13P,c);d.1pt()}1b cS(a,b){ec("1gO 4LA 1Pt 17t "+b.16Z)}1b D8(a,b,c){1d d=qd(a,"5hr",ya.5Q);if(g(d)){1d e=m(Fc(d,"3N",ya.5Q),0),f=m(Fc(d,"4k",ya.5Q),0),h=m(Fc(d,"1eD",ya.5Q),0);a=m(Fc(d,"8e",ya.5Q),0);1d l=m(Fc(d,"1tn",ya.5Q),0);d=m(Fc(d,"12C",ya.5Q),0);c=k.8g(e,f,h,c);a=$b.8g(a,l-90,d);b.5Q.3w=1g f8(c,a)}}1b C8(a,b,c){1d d=qd(a,"9OO",ya.5Q);if(g(d)){a=m(Fc(d,"3N",ya.5Q),0);1d e=m(Fc(d,"4k",ya.5Q),0),f=m(Fc(d,"1eD",ya.5Q),0),h=Fc(d,"8e",ya.5Q),l=Fc(d,"1tn",ya.5Q);d=m(Fc(d,"11D",ya.5Q),0);l=B.8I(m(l,0));h=B.8I(m(h,0));h=1g Bp(h,l-B.10k,d);c=k.8g(a,e,f,c);b.5Q.3pH=1g g8(c,h)}}1b dS(a,b,c,d){a.4Ln.5k(a,c.43R,b,c.1mu,c.55y,c.39n,c.2CO);ec("5Q-9ON-"+b.1yI,"1gO - 1Mp 7n: "+b.1yI)}1b tI(a){if(!g(a)||0===a.1h)1f"";1d b=a[0];if("&"===b||"?"===b)a=a.11c(1);1f a}1b $R(a,b,c,d,e,f){1b h(a){1f a<-B.10k?-B.10k:a>B.10k?B.10k:a}1b l(a){1f a>B.PI?a-B.14C:a<-B.PI?a+B.14C:a}1d p=Kg(a.1kx);p=p.3X(/%5B/g,"[").3X(/%5D/g,"]");if(g(b)&&b.8C!==O.1at){e=m(e,61x);if(g(c)){eS.x=.5*c.18L;eS.y=.5*c.1gt;1d n=b.1vv(eS,f,61w)}if(g(n))1d z=f.10Z(n,wy);1s z=Q.2V(e,wy),n=f.13B(z);if(g(d)&&!B.5T(d,1,B.2oi)){1d w=e.1G*d*.5;d=e.1D*d*.5;e=1g Q(l(z.3N-w),h(z.4k-d),l(z.3N+w),h(z.4k+d))}p=p.3X("[43P]",B.10Q(e.4o).5s());p=p.3X("[43O]",B.10Q(e.4C).5s());p=p.3X("[43N]",B.10Q(e.5a).5s());p=p.3X("[43M]",B.10Q(e.4P).5s());w=B.10Q(z.3N).5s();d=B.10Q(z.4k).5s();p=p.3X("[6DT]",w);p=p.3X("[6DS]",d);p=p.3X("[6DQ]",B.10Q(b.8q).5s());p=p.3X("[6DP]",B.10Q(b.8e).5s());p=p.3X("[6DR]",k.3s(b.6K,n));p=p.3X("[6DO]",w);p=p.3X("[6DN]",d);p=p.3X("[6DM]",z.1D.5s());f.10Z(b.6K,wy);p=p.3X("[6DL]",B.10Q(wy.3N).5s());p=p.3X("[6DK]",B.10Q(wy.4k).5s());p=p.3X("[6DJ]",B.10Q(wy.1D).5s());z=b.3j;b=z.13n;n=f="";g(b)&&(z=B.10Q(z.16X),1<b?(f=z,n=z/b):(n=z,f=z*b));p=p.3X("[6DI]",f.5s());p=p.3X("[6DH]",n.5s())}1s p=p.3X("[43P]","-180"),p=p.3X("[43O]","-90"),p=p.3X("[43N]","180"),p=p.3X("[43M]","90"),p=p.3X("[6DT]",""),p=p.3X("[6DS]",""),p=p.3X("[6DR]",""),p=p.3X("[6DQ]",""),p=p.3X("[6DP]",""),p=p.3X("[6DO]",""),p=p.3X("[6DN]",""),p=p.3X("[6DM]",""),p=p.3X("[6DL]",""),p=p.3X("[6DK]",""),p=p.3X("[6DJ]",""),p=p.3X("[6DI]",""),p=p.3X("[6DH]","");g(c)?(p=p.3X("[6DG]",c.18L),p=p.3X("[6DF]",c.1gt)):(p=p.3X("[6DG]",""),p=p.3X("[6DF]",""));p=p.3X("[9OM]","1");p=p.3X("[9OL]","1");p=p.3X("[9OK]","2.2");p=p.3X("[9OJ]","1di");p=p.3X("[9OI]","9OH");a.1qN(nj(p))}1b 6DE(a,b,c,d){1d e=fS[b.16Z];1f g(e)?e(a,b,c,d):dS(a,b,c)}1b xI(a,b,c,d,e,f){b.7f();1d h=c.1AZ;h="43S"===h.16Z?h:qd(h,"43S",ya.5Q);h=Wb(h,"2i",ya.5Q);g(h)||(h=kk(d.1oO()));g(a.6X)||(a.6X=h);1d l=1g Sg.61s(a),p=1g Se(a);1f Z.all(v8(a,c,p,d,!1,e)).4b(1b(){1d h=c.1AZ;if("5Q"===h.16Z)1j(1d k=h.13P,w=0;w<k.1h;w++){1d x=k[w];if(g(fS[x.16Z])){h=x;1W}}k={43R:1p 0,1mu:b,55y:p,39n:d,2CO:e,1O:f};b.1VW();6DE(a,h,k,l);b.1VV();1f l.11i().4b(1b(){1f c.1AZ})})}1b 6DB(a,b,c,d){1d e=Z.12L();eq.64E(1g eq.4Mv(c),1b(c){c.64P(1b(f){1j(1d h=[],p={},n,k,w=0;w<f.1h;w++){1d x=f[w];if(!x.2hK){1d D=Z.12L();h.1q(D.10l);/\\.5Q$/i.6S(x.23d)?g(n)&&/\\//i.6S(x.23d)?WR(x,p,D):(g(n)&&WR(n,p,k),n=x,k=D):WR(x,p,D)}}g(n)&&6DD(n,p,k);Z.all(h).4b(1b(){c.1TP();if(g(p.5Q))1f p.9K=1L.9K(p),xI(a,b,p.5Q,d,p);e.7N(1g qa("9OG 1ol 18f 2S 42J a 1gO 3n."))}).4b(e.5h).10g(e.7N)})},1b(a){e.7N(a)});1f e.10l}1b gS(a,b,c,d){d=m(d,m.4Z);1d e=d.2CQ,f=d.2CO,h=d.1O;d=c;if("4n"===2h c||c 2m na){c=na.14m(c);d=c.2ok();e=m(e,c.1y());1d l=a.2P1;c=c.1mn;if(g(c))1j(1d p=c.1h,n=0;n<p;n++)l.1q(c[n])}1s e=m(e,na.1yD.1y());e=na.14m(e);1f Z(d).4b(1b(c){1f c 2m 1JN?6DC(c).4b(1b(d){1f d?6DB(a,b,c,e):j8(c).4b(1b(c){c=k8(c);c=l8(c);10G{1d d=qI.27q(c,"1aM/1g3")}11B(oa){1d l=oa.5s()}if(g(l)||d.1hg||"6Dy"===d.1AZ.12J)1t c=g(l)?l:d.1AZ.1gv.20j,c||(c=d.1hg.6Dx),1g qa(c);1f xI(a,b,d,e,f,h)})}):xI(a,b,c,e,f,h)}).10g(1b(b){a.1vN.5k(a,b);11l.7k(b);1f Z.7N(b)})}1b Sg(a){a=m(a,m.4Z);1d b=a.3w,c=a.3M;if(!g(b))1t 1g r("3v.3w is 1X.");if(!g(c))1t 1g r("3v.3M is 1X.");1a.1lt=1g sa;1a.1vN=1g sa;1a.1R4=1g sa;1a.4Lo=1g sa;1a.4Ln=1g sa;1a.1aG=1p 0;1a.17l=1g Se(1a);1a.6X=1p 0;1a.2hC=!1;1a.2So=1g Ku;1a.43y=1g Ia;1a.23b=1g Mi;1a.10C=c;1a.1B5=b;1a.43D={1K:g(b)?k.1y(b.6K):1p 0,2G:g(b)?k.1y(b.18k):1p 0,up:g(b)?k.1y(b.1je):1p 0,1bD:g(b)?b.4yz():Q.1y(Q.6w)};1a.5W=m(a.3c,ba.9y);1a.11h=15;a=a.9L;"4n"===2h a&&(a=1g Zb(a));1a.1dh=a;1a.2P1=[]}1b bS(a){1d b=a.12f;if(g(b)&&(b=b.1b9,g(b))){1d c=a.1b9;g(c)?c.1sU(b):a.1b9=b}}1b 61v(a,b,c,d,e){1f 1b(f){1b h(a){t.3S(a);a=a.1R2;1j(1d b=a.1h,c=0;c<b;++c)h(a[c])}if(d.8h(b.id)){1d l=!1,p=qd(f,"2OU",ya.5Q),n=0;if(g(p)){if(g(qd(p,"6zf",ya.5Q))){ec("5Q-6DA-2H","1gO - 2OU 9OF 61J\'t 11J.");b.2OQ=!1;d.3S(b.id);1f}b.2MI=nj(m(Wb(p,"2MI",ya.5Q),""));n=m(Fc(p,"61N",ya.5Q),0)}f=M.14H();1d k=b.1Ex;if(k===ws.43C)g(p)&&(b.6q=1k.1V(n,b.6q));1s if(k===ws.43B){1d w;g(p)&&(w=Wb(p,"2OT",ya.5Q));if(g(w))10G{1d x=M.1r3(w),D=M.1dA(x,f);0<D&&D<n&&M.190(f,n,x);b.6q=x}11B(oa){ec("5Q-6DA-2OT","1gO - 2OU 2OT is 2S a 1eu 1sL"),l=!0}1s ec("5Q-1Ex-2CP","1gO - 1Ex of 2CP 9N 1Z 2OU to 118 an 2OT 1ij"),l=!0}w=b.13a;1d t=a.17l;x=c.2a;t.1VW();p=t.2a.4h();1j(D=0;D<p.1h;++D)n=p[D],n.12f===w&&(n.12f=1p 0,h(n));t.1VV();t.1VW();1j(D=0;D<x.1h;D++)p=x[D],g(p.12f)||(p.12f=w,bS(p)),t.add(p);t.1VV();l?d.3S(b.id):b.4Lm=f;f=t.2CM();l=f.4I;f=f.4U;w=M.2L(l,Za.11Z);x=M.2L(f,Za.1Nq);if(!w||!x)if(w=a.1aG,w.18M!==l||w.1cU!==f)w.18M=l,w.1cU=f,a.1lt.5k(a);b.2OQ=!1;b.43A=!1;a.4Lo.5k(a,e.1oO(!0))}}}1b 6Dz(){1a.44k={2i:1p 0,1dr:1p 0,1zM:1p 0};1a.1H6={17S:1p 0,4bl:1p 0,39B:1p 0,1I:1p 0,17s:1p 0,1h:1p 0};1a.4dm=1a.55x=1a.55w=1a.2gg=1p 0}1b 61u(a,b,c,d){d=m(d,m.4Z);1d e=d.2CQ;1f Z(j8(c)).4b(1b(c){10G{1d d=qI.27q(c,"1aM/1g3")}11B(p){1d f=p.5s()}if(g(f)||d.1hg||"6Dy"===d.1AZ.12J)1t c=g(f)?f:d.1AZ.1gv.20j,c||(c=d.1hg.6Dx),1g qa(c);1f xI(a,b,d,e,1p 0)})}1b xy(a){a=m(a,m.4Z);1a.8B=1g sa;1a.1RU=1a.16n=1a.1RT=1a.16O=1a.1WL=1a.7a=1p 0;1a.1A=a.1A;1a.5M=a.5M;1a.5R=a.5R;1a.61o=3.14*1k.1ps();1a.4Lj=m(a.43u,!0)}1b AC(){r.8i()}1b xs(a){1a.1oi=m(a.13k,10);1a.4Lh=m(a.2CJ,0);1a.2CI=a.7v;1a.1Ef=m(a.8e,0);1a.4Lg=m(a.1tn,0);1a.4Lf=a.39l;1a.1MI=m(a.1sx,0);1a.4Le=a.2CH||ys.4Li;1a.4Ld=m(a.39k,0);1a.4Lc=1p 0;1a.12N=0}1b Iv(a){1d b=a.4r;a=a.2hz;if(!b)1t 1g r("4r is 1X!");if(!a)1t 1g r("2hz is 1X!");1a.1Nm=a;1a.2R=b;1a.2OP=1a.2OO=0;1a.2CG=1p 0;1a.4Lb=1g sa;1a.3uW=1;1a.1BG=Tg.27A;1a.43t=hS.61n;1a.43s=BC.6i}1b gq(a,b,c){1d d=a.2R.3w,e=a.1Nm.2hz[0],f=e.2hA,h=a.43s,l=e.43q,p=e.43n,n=e.43m,z=e.43l,w=e.1n(b);if(w)if(b===a.2OO)c=g(w.2G)&&!n?{2G:w.2G,up:w.up}:{8e:w.8e,8q:w.1tn,12C:0},d.1dG({16h:w.7v,11f:c,1hk:!1}),b++,gq(a,b);1s{e=e.1n(b-1);g(c)&&(e=c);l=e.1eD<w.1eD?e.1eD:w.1eD;if(e.2CH===ys.2CK)1d x=e.39k;1s g(c)&&(c=k.3s(c.7v,w.7v),e.13k=c/e.1sx),x=e.13k;x/=a.3uW;c=g(w.2G)&&!n?{2G:w.2G,up:w.up}:{8e:w.8e,8q:w.1tn,12C:0};1d D=!1;a.43t===hS.61m&&g(e.2G)&&(c={2G:e.2G,up:e.up},D=!0);d.1AG({16h:w.7v,11f:c,1hk:!1,12x:l,13k:x,3pL:p,3pK:n,3pJ:z,3Ul:D,3Uk:f,3Uj:b-1,3pI:h,1lZ:jh.3Qz,1aH:1b(){a.2OP++;b++;a.4Lb.5k(w);if(w.10l)Z(w.10l,1b(){1d c=w.2CJ;0<c?1if(1b(){gq(a,b)},1E3*c):gq(a,b)});1s{1d c=w.2CJ;0<c?(a.1BG=Tg.2CF,1if(1b(){a.1BG===Tg.2CF&&(a.1BG=Tg.2ON,gq(a,b))},1E3*c)):gq(a,b)}}})}1s!0===l?(b=a.2OO,g(f)&&(f.1Kr=0),a.2OP=a.2OO,gq(a,b)):a.1BG=Tg.27A}1b zs(a){a=a||{};1a.1Nn=[];1a.2OM=m(a.4L9,!1);1a.2CE=[];1a.4L8=m(a.43q,!1);1a.3uT=m(a.43k,!1);1a.39j=1p 0;1a.4L7=m(a.3uS,"");1a.1MI=m(a.1sx,50);1a.43o=m(a.4L6,!1);1a.4L5=m(a.61j,0);1a.4L4=!1a.43o&&m(a.43n,!1);1a.4L3=m(a.43m,!1);1a.4L2=m(a.43l,!1);1a.17l=a.1mu;1a.2hA=1p 0;1a.4L1=!1}1b yy(a){1a.17l=a;1a.1Nm=[];1a.4y=!1;1a.7S=Z.12L()}1b F8(a,b){1d c=b.1gv;b=c.1fz;c=iS(c,"9OE",b);1j(1d d=0,e=c.1h;d<e;d++){1d f=c[d],h=iS(f,"9OD",b),l=As(f,"1sx"),g=yI(f,"2i"),n=Jv(f,"9OC"),z=Jv(f,"9OB"),w=Jv(f,"9OA"),x=Jv(f,"9Oz"),D=Jv(f,"9Oy"),t=Jv(f,"9Ox");f=Jv(f,"9Ow");g=1g zs({1mu:a.17l,3uS:g,1sx:l,43k:z,43q:w,4L9:n,4L6:x,43n:D,43m:t,43l:f});n=0;z=[0];w=[];1j(D=0;D<h.1h;D++){1d m=h[D],G=CC(m,"3w",b),r=Kv(G,"3N",b),q=Kv(G,"4k",b),u=Kv(G,"1eD",b),v=Kv(G,"8e",b);v=B.8I(v);f=Kv(G,"1tn",b);f=B.8I(f-90);x&&!t&&(f=0);G8(G,"19L",b);G=yI(m,"2i");1d y=As(m,"1sx"),A=CC(m,"49M",b),C=G8(A,"2CH",b);m=Kv(A,"4Iv",b);1d L=Kv(A,"9Ov",b);A=CC(A,"9Ou",b);r=180<r||180<q?1g k(r,q,u):k.8g(r,q,u);w.1q(r);if(0<D&&(q=g.1n(g.43p-1),q.2CH!=ys.2CK)){1d S=k.3s(q.7v,r);q.61k=S;1d U=q.1sx;U=0<U?U:l;q.13k=S/U;q.1sx=U;n+=q.13k;z.1q(n)}v=1g xs({7v:r,8e:v,1tn:f,39l:G,2CJ:m,1sx:y});v.1eD=u;g.3uU(v);C===ys.2CK&&A&&(u=iS(A,"11A",b),2==u.1h&&(C=u[0],A=u[1],u=As(C,"8e"),q=As(A,"8e"),As(C,"1tn"),As(A,"1tn"),As(C,"1eD"),As(A,"1eD"),C=yI(C,"2G"),yI(A,"2G"),A=B.5T(u,q,B.2aw)?360:q>u?q-u:360+q-u,L=A/L,v.39k=L/3,v.2CH=ys.2CK,q="55v"===C?B.8I(u-A/3):B.8I(u+A/3),v="55v"===C?B.8I(u-2*A/3):B.8I(u+2*A/3),u="55v"===C?B.8I(u-A):B.8I(u+A),C=1g xs({7v:r,8e:q,1tn:f,39l:G,2CJ:m,1sx:y,39k:L/3,2CH:ys.2CK}),g.3uU(C),v=1g xs({7v:r,8e:v,1tn:f,39l:G,2CJ:m,1sx:y,39k:L/3,2CH:ys.2CK}),g.3uU(v),f=1g xs({7v:r,8e:u,1tn:f,39l:G,2CJ:m,1sx:y}),g.3uU(f),n+=L))}if(x){1j(h=0;h<g.43p-1;h++)l=g.1R3[h],x=g.1R3[h+1],x=1g k(x.7v.x-l.7v.x,x.7v.y-l.7v.y,x.7v.z-l.7v.z),k.1T(x,x),l.2G=x,l.up=Da.50d(l.7v,x),t&&(l.8e=Da.50c(l.2G,l.up)-B.PI);2<g.43p&&(h=g.1R3[g.1R3.1h-1],l=g.1R3[g.1R3.1h-2],h.2G=l.2G,h.up=l.up,t&&(h.8e=Da.50c(h.2G,h.up)-B.PI))}g.2hA=1g Em({12K:z,5I:w});g.4L5=n;a.61g(g);a.4y=!0}a.7S.5h()}1b As(a,b){if(g(a)&&(a=a.15o(b),1F!==a))1f a=7L(a),11I(a)?1p 0:a}1b yI(a,b){if(g(a))1f a=a.15o(b),1F!==a?a:1p 0}1b Jv(a,b){if(g(a)){a=a.15o(b);a=a.18v();if("16f"===a)1f!1;if("8O"===a)1f!0}}1b CC(a,b,c){if(g(a)){a=a.13P;1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];if(f.16Z===b&&-1!==c.3f(f.1fz))1f f}}}1b iS(a,b,c){if(!g(a))1f[];1d d=[];a=a.13P;1j(1d e=a.1h,f=0;f<e;f++){1d h=a[f];h.16Z===b&&-1!==c.3f(h.1fz)&&d.1q(h)}1f d}1b Kv(a,b,c){a=CC(a,b,c);if(g(a))1f a=7L(a.8S),11I(a)?1p 0:a}1b G8(a,b,c){a=CC(a,b,c);if(g(a))1f a.8S.1b2()}1b DC(){1a.2fY="";1a.43j=1a.4L0=0;1a.3uR=[];1a.1Nl=[];1a.3uE="";1a.1aV=1g y(1,1,1);1a.1Qg=.3LY}1b zy(a,b){1a.a0=80;1a.r=35.187*.17I;1a.2CB=0;1a.9Ot=1F;g(b)?(1a.a0=a,1a.r=b,1a.2hy=1g zI(a,b)):g(a)&&(1a.2hy=1g zI(a));1a.2CD=[]}1b H8(a){1d b=7L(a.x)||0,c=7L(a.y)||0;a=7L(a.z)||0;1f 1g k(b,c,a)}1b I8(a,b,c,d){1f.5*d-a/b*Ay.4KZ(b*c/(2*a*Ay.sh(b*d/(2*a))))}1b AI(a){1g k;1d b=a.y,c=a.x;a=a.z+16t;b*=1k.PI/180;c*=1k.PI/180;1d d=a*1k.3i(b);1f 1g k(d*1k.3i(c),d*1k.2T(c),a*1k.2T(b))}1b zI(a,b){1a.h=1a.l=0;g(b)?(1a.a0=a,1a.r=b,1a.k=b*1k.3r(10,5)/(8*a)):(1a.k=a,1a.r=1a.a0=0)}1b By(){1a.11K()}1b wo(a,b,c){a=7L(a)||0;b=7L(b)||0;c=7L(c)||0;1a.11K(a,b,c)}1b Bs(a){a=7L(a)||0;1a.11K(a)}1b xo(a,b){a=7L(a)||0;b=7L(b)||0;1a.11K(a,b)}1b yo(a,b,c){a=7L(a)||0;b=7L(b)||0;c=7L(c)||0;1a.11K(a,b,c)}1b zo(a,b,c){a=7L(a)||0;b=7L(b)||0;c=7L(c)||0;1a.11K(a,b,c)}1b Ao(){1a.1zA=[]}1b Bo(a){a=a||[];1a.11K(a)}1b Lv(){1a.11K()}1b Mv(a){a=a||{};1a.11K(a)}1b Co(a){a=a||[];1a.1d5=1p 0;1a.11K(a)}1b Do(a){a=7L(a)||0;1a.11K(a)}1b EC(a,b){if(!g(a)||!g(b))1t 1g r("No 6o or 13F 20i.");if(!g(b.13F))1t 1g r("19P 2c to be a 13F.");1a.1kG=1g Ne(a.4r.3M);1a.6o=a;1a.13F=b;1a.2V=b.1K.3K(0);1a.6e=b.13F.6e.3K(0);1a.1oc=J8(b);1a.4dl=1k.1V(1k.2o(1a.6e.x,1a.6e.y)/2.5,.1);1a.6Dw=1k.1V(1k.1V(1k.1V(1a.6e.x,1a.6e.y),1a.6e.z)/2.5,.1);1a.2s2=1a.4dl/2;1a.9Os=.55;1a.55u=1a.55s=1a.55t=1a.6Dw;1a.3Z=!1;1a.6Ds=1g sa;1a.1kH=Da.1nq(1a.2V,1a.1oc);1a.1VU=A.12Z(1a.1kH,1g A);1a.2ls=!1;1a.5I=jS(1a);1a.1Bu=6Dv(1a,"9Or");1a.2hx=Nv(1a,"2hx",1g y(0,0,1),2,"6Dq");1a.39i=Nv(1a,"39i",1g y(0,0,1),2,"55r");1a.39h=Nv(1a,"39h",1g y(0,0,1),2,"6Dp");1a.39g=Nv(1a,"39g",1g y(0,0,1),2,"55q");1a.39f=Nv(1a,"39f",1g y(0,0,1),2,"6Do");1a.39e=Nv(1a,"39e",1g y(0,0,1),2,"55p");1a.39d=6Du(1a,"39d",1g y(0,0,1),"9Oq");1a.39c=Nv(1a,"39c",1g y(0,0,1),2,"9Op");1a.6o.13K.add(1a.1Bu);1a.6o.13K.add(1a.2hx);1a.6o.13K.add(1a.39i);1a.6o.13K.add(1a.39h);1a.6o.13K.add(1a.39g);1a.6o.13K.add(1a.39f);1a.6o.13K.add(1a.39e);1a.6o.13K.add(1a.39d);1a.6o.13K.add(1a.39c);6Dt(1a)}1b J8(a){if(!g(a.11f))1f 1g $b;1d b=J.1fE(a.11f.3K(0),1g J);b=A.1yU(b,k.6h,1g A);a=A.12Z(Da.18N(a.1K.3K(0)),1g A);a=A.9b(a,b,1g A);a=A.2Dt(a,1g J);1f $b.1fE(ca.1UQ(a))}1b K8(a,b){a.1Bu.2p=b;a.2hx.2p=b;a.39i.2p=b;a.39h.2p=b;a.39g.2p=b;a.39f.2p=b;a.39e.2p=b;a.39d.2p=b;a.39c.2p=b}1b jS(a){1j(1d b=[A.8P(a.1kH,1g k(0,0,a.6e.z/2),1g k),A.8P(a.1kH,1g k(0,0,a.6e.z/2+a.55u),1g k)],c=[A.8P(a.1kH,1g k(0,0,-a.6e.z/2),1g k),A.8P(a.1kH,1g k(0,0,-a.6e.z/2-a.55u),1g k)],d=[A.8P(a.1kH,1g k(a.6e.x/2,0,0),1g k),A.8P(a.1kH,1g k(a.6e.x/2+a.55t,0,0),1g k)],e=[A.8P(a.1kH,1g k(-a.6e.x/2,0,0),1g k),A.8P(a.1kH,1g k(-a.6e.x/2-a.55t,0,0),1g k)],f=[A.8P(a.1kH,1g k(0,a.6e.y/2,0),1g k),A.8P(a.1kH,1g k(0,a.6e.y/2+a.55s,0),1g k)],h=[A.8P(a.1kH,1g k(0,-a.6e.y/2,0),1g k),A.8P(a.1kH,1g k(0,-a.6e.y/2-a.55s,0),1g k)],l=[],g=2*1k.PI/64,n=0;65>n;n++){1d z=1g k,w=g*n;z.x=1k.2T(w);z.y=1k.3i(w);l.1q(z)}g=0;1j(n=l.1h;g<n;g++)z=l[g],z.z=a.6e.z/2+.11t,w=A.1oY(1g k(a.4dl,a.4dl,1)),A.8P(w,z,z),A.8P(a.1kH,z,z);a=[A.8P(a.1kH,1g k(a.2s2,a.2s2,a.6e.z/2+.11t),1g k),A.8P(a.1kH,1g k(-a.2s2,a.2s2,a.6e.z/2+.11t),1g k),A.8P(a.1kH,1g k(-a.2s2,-a.2s2,a.6e.z/2+.11t),1g k),A.8P(a.1kH,1g k(a.2s2,-a.2s2,a.6e.z/2+.11t),1g k)];1f{2hx:b,39i:c,39h:d,39g:e,39f:f,39e:h,39d:a,39c:l}}1b 6Dv(a,b){1d c=Da.2LY(a.2V,a.1oc);1f 1g wd({id:b+16V.14H(),1K:1g Vd(1b(){1f a.2V},!1),11f:1g Vd(1b(){1f c},!1),13F:{2q:1di.1aV.9r.2on(0),8Y:!0,5M:1di.1aV.1PZ.2on(1),6e:1g Vd(1b(){1f a.6e},!1)}})}1b Nv(a,b,c,d,e){1f 1g wd({id:"13F-1NP-"+e+16V.14H(),11M:{3q:1g Vd(1b(){1f a.5I[b]},!1),2q:y.2f3,1G:5}})}1b 6Du(a,b,c,d){1f 1g wd({id:"13F-1NP-"+d+16V.14H(),12i:{1iD:1g Vd(1b(){1f{3q:a.5I[b]}},!1),2q:1di.1aV.2f3,16U:!0}})}1b 6Dt(a){a.1kG.1a1(1b(b){a.2ls&&(a.2iZ=a.6o.4r.11P(b.1K),a.2Sn=a.6o.4r.1Gj(b.1K),!g(a.2Sn)&&a.2iZ&&(a.2Sn=a.2iZ.1K),a.1KK=k.1y(a.2Sn,1g k),a.2aF=k.1y(a.2Sn,1g k),b=k.3V(a.2Sn,a.5I.2hx[0],1g k),a.8Q=k.4B(k.16a,b,1g k))},Va.25P);a.1kG.1a1(1b(b){if(a.2ls&&g(a.2Sn)&&a.1kG.1KL[0]&&a.2iZ&&a.2iZ.id&&a.2iZ.id.7R&&"13F-1NP"==a.2iZ.id.7R.4h(0,10)){a.6o.4r.1Do.2zO=!1;6U(a.2iZ.id.7R.4h(0,20)){1S"13F-1NP-9Oo":6Dn(a,b);1W;1S"13F-1NP-9On":6Dm(a,b);1W;1S"13F-1NP-9Om":6Dr(a,b,a.2iZ)}a.5I=jS(a);a.13F.11f=1g Vd(1b(b,d){1f a.1Bu.11f.3K(0)},!1);a.13F.1K=1g Vd(1b(b,d){1f a.1Bu.1K.3K(0)},!1);a.13F.13F.6e=1g Vd(1b(b,d){1f a.1Bu.13F.6e.3K(0)},!1);a.6Ds.5k({1K:a.1Bu.1K.3K(0),6e:a.1Bu.13F.6e.3K(0),11f:a.1Bu.11f.3K(0)})}},Va.1kj);a.1kG.1a1(1b(b){a.2ls&&(a.6o.4r.1Do.2zO=!0,a.2iZ=1p 0)},Va.1lX)}1b 6Dr(a,b,c){1d d=b.11R;a.1kH=Da.1nq(a.2V,a.1oc);a.1VU=A.12Z(a.1kH,1g A);if("13F-1NP-6Dq"===c.id.7R.4h(0,24)||"13F-1NP-55r"===c.id.7R.4h(0,27)){1d e=a.6o.4r.3w,f=e.1bZ(d);d=C.9v(d.x+5,d.y,1g C);d=e.1bZ(d);f=k.1T(k.4B(f.2G,d.2G,L8),L8);f=Cb.1zd(e.6K,f);e=1g rb(k.6h,a.2aF);a.2aF=ib.1xl(e,f);e=A.8P(a.1VU,a.1KK,1g k);f=A.8P(a.1VU,a.2aF,1g k);1d h=f.z-e.z;d=1g k(0,0,h/2);"13F-1NP-55r"===c.id.7R.4h(0,27)&&(h=e.z-f.z,d=1g k(0,0,-h/2));a.6e.z+=h;0>a.6e.z&&(a.6e.z=0,d=1g k(0,0,0));A.8P(a.1kH,d,a.2V);k.1y(a.2aF,a.1KK)}if("13F-1NP-6Dp"===c.id.7R.4h(0,25)||"13F-1NP-55q"===c.id.7R.4h(0,26))e=a.6o.3w.1bZ(b.11R),f=P.5f([0,0,0,k.3s(a.1KK,k.6h)],0,M8),f=ib.2z5(e,f),a.2aF=rb.1n3(e,f.4I),e=A.8P(a.1VU,a.1KK,1g k),f=A.8P(a.1VU,a.2aF,1g k),h=f.x-e.x,d=1g k(h/2,0,0),"13F-1NP-55q"===c.id.7R.4h(0,26)&&(h=e.x-f.x,d=1g k(-h/2),0),a.6e.x+=h,0>a.6e.x&&(a.6e.x=0,d=1g k(0,0,0)),A.8P(a.1kH,d,a.2V),k.1y(a.2aF,a.1KK);if("13F-1NP-6Do"===c.id.7R.4h(0,28)||"13F-1NP-55p"===c.id.7R.4h(0,25))e=a.6o.3w.1bZ(b.11R),f=P.5f([0,0,0,k.3s(a.1KK,k.6h)],0,M8),f=ib.2z5(e,f),a.2aF=rb.1n3(e,f.4I),e=A.8P(a.1VU,a.1KK,1g k),f=A.8P(a.1VU,a.2aF,1g k),b=f.y-e.y,d=1g k(0,b/2,0),"13F-1NP-55p"===c.id.7R.4h(0,25)&&(b=e.y-f.y,d=1g k(0,-b/2,0)),a.6e.y+=b,0>a.6e.y&&(a.6e.y=0,d=1g k(0,0,0)),A.8P(a.1kH,d,a.2V),k.1y(a.2aF,a.1KK)}1b 6Dn(a,b){1d c=k.3V(a.1KK,a.5I.2hx[0],1g k);k.4B(k.16a,c,a.8Q);c=b.11R;b=k.1y(a.1KK,N8);c=a.6o.3w.1bZ(c);b=1g P(k.6h,k.3s(b,k.6h));b=ib.2z5(c,b);b=rb.1n3(c,b.4I);c=k.3V(a.1KK,a.5I.2hx[0],1g k);1d d=k.3V(b,a.5I.2hx[0],1g k);d=k.2A(k.1T(c,c),k.1T(d,d));d=1k.1cz(d);k.4B(k.16a,c,a.8Q);c=k.2A(a.8Q,k.3V(b,a.1KK,1g k));a.1oc.8e+=d*(0>c?1:-1);c=Da.2LY(a.2V,a.1oc);a.1Bu.11f=c;a.1kH=Da.1nq(a.2V,a.1oc);a.1VU=A.12Z(a.1kH,1g A);k.1y(b,a.1KK)}1b 6Dm(a,b){1d c=b.11R;b=k.1y(a.1KK,N8);c=a.6o.3w.1bZ(c);1d d=1g P(k.6h,k.3s(b,k.6h));d=ib.2z5(c,d);c=rb.1n3(c,d.4I);b=A.8P(a.1VU,b,1g k);d=A.8P(a.1VU,c,1g k);b=1g k(d.x-b.x,d.y-b.y,0);A.8P(a.1kH,b,a.2V);a.1kH=Da.1nq(a.2V,a.1oc);a.1VU=A.12Z(a.1kH,1g A);k.1y(c,a.1KK)}1b 60Z(a,b){if(g(b.1cp))b.11M.2p=!0,b.11M.3q=[a,a],b.12i&&(b.12i.2p=!1),b.2q3&&b.6o.4r.2mK.3S(1a.2q3);1s{1d c=b.236;b.1cp=1g Bf({2Op:pa.4t({13Q:c,9J:{3e:c}})});b.11M=b.1cp.add({1G:2,3q:[a,a],2q:va.1kk(va.1oL,{1A:y.5X("#398")}),1qB:!0});b.6o.4r.13y.add(b.1cp)}}1b 60Y(a,b){g(b.399)||(b.399={2OJ:0,2Cy:1g k,1h:0,1G:0,1D:0});g(b.28G)||(b.28G=[]);1d c=b.399;if(0!==c.2OJ||g(a))c.2OJ++,c.60X=a,1===c.2OJ?(c.2Cz=Da.18N(a),c.3uP=A.12Z(c.2Cz,1g A),k.1y(a,c.2Cy),b.13F=c.13a=b.6o.13K.add({1K:1g Vd(1b(){1f c.2Cy},!1),13F:{6e:1g Vd(1b(a,b){b=b||1g k(c.1h,c.1G,c.1D);b.x=c.1h;b.y=c.1G;b.z=c.1D;1f b},!1),2q:y.5X("15A(0, 160, 233, 0.5)"),8Y:!0,5M:y.1a7}}),b.28G.1q(b.13F),c.13F=c.13a.13F):2===c.2OJ&&(a=A.8P(c.3uP,c.2Cy,1g k),k.4g(a,2,a),c.43d=A.8P(c.2Cz,a,a))}1b O8(a,b,c){a=b.6o.4r.1Gj(a);if(g(a)){1d d=b.11M.3q,e=d.1h;1==c?d[e]=a:d[e-1]=a;b.11M.3q=d}}1b P8(a,b,c){a=b.6o.4r.1Gj(a);if(g(a)){1d d=b.11M.3q,e=d.1h;1==c?d[e]=a:d[e-1]=a;b.11M.3q=d}}1b kS(a,b){if(!a.4r.3Lm(b.1K)&&(a=a.4r.11P(b.1K),g(a))){b=m(a.id,a.9k.id);if(b 2m wd)1f b;if(g(a.9k))1f a}}1b 60O(a,b){if(b&&b.1ih&&-1<b.2q2&&b.6o.4r.1Zw.1P9.2lA[0]){1d c=1g C(a.11R.x,a.11R.y);a=b.1u6;1d d=b.1xw,e=!0;g(a)&&(e=a.1d7);g(d)&&(e=!d.16U);if(e)e=b.6o.4r.1Gj(c);1s if(b.43c){e=b.6o.3w.1bZ(c);c=1g C(c.x+5,c.y);1d f=b.6o.3w.1bZ(c);c=1g k;c=k.4B(e.2G,f.2G,c);e=1g k;k.1T(c,e);c=Cb.1zd(b.6o.3w.1K,e);e=1g rb(k.6h,b.1VT.1K);e=ib.1xl(e,c)}1s e=b.6o.3w.1bZ(c),c=1g P(k.6h,k.3s(b.1VT.1K,k.6h)),c=ib.2z5(e,c),e=rb.1n3(e,c.4I);b.1VT.1K=e;1d h=b.9h;h[b.2q2]=e;g(a)&&(a.3q=1g Vd(1b(){1f h},!1));g(d)&&(d.1iD=1g Vd(1b(){1f{3q:h,1nt:[]}},!1));b.43b()}}1b 60N(a,b){if(b&&b.1ih&&(a=kS(b.6o,a),g(a)&&(a=a.id,g(a)&&(a=a.7g("10D"),2==a.1h&&"9Ol"===a[0])))){a=8A(a[1]);1d c=b.9h;c.6z(a+1,0,b.1VS[a]);a=b.1u6;g(a)&&(a.3q=1g Vd(1b(){1f c},!1));a=b.1xw;if(g(a)){1d d=1g Vd(1b(){1f c},!1);c=a.1iD.3K(0);2K.8n(c)?a.1iD=d:a.1iD.3q=d}b.4KQ();b.43b()}}1b 60M(a,b){if(b&&b.1ih&&(a=kS(b.6o,a),g(a)&&(a=a.id,g(a)&&(a=a.7g("10D"),2==a.1h&&"60R"===a[0])))){a=8A(a[1]);1d c=b.9h;c.6z(a,1);a=b.1u6;g(a)&&(a.3q=1g Vd(1b(){1f c},!1));a=b.1xw;g(a)&&(a.1iD=1g Vd(1b(){1f c},!1));b.4KQ();b.43b()}}1b 60E(a,b){b.42Y=[];b.234.1h=0;1d c=b.236;b.1cp=1g Bf({2Op:pa.4t({13Q:c,9J:{3e:c}}),41Z:pa.4t({13Q:c,9J:{3e:c}})});b.11M=b.1cp.add({1G:b.1gc,3q:[a,a],2q:va.1kk(va.1oL,{1A:b.1hu}),1qB:!0});b.6o.4r.13y.add(b.1cp);b.22Z=b.6o.13K.add({1K:a,7v:{12Q:8,1A:y.5X("#2hw")}});b.29m=b.6o.13K.add({1K:a,7v:{12Q:8,1A:y.5X("#2hw")}});1d d=b.6o.4r.13y.add(1g de({1VR:!1}));b.22Y=d.add({1K:a,9O:"100 3dO 6Dl",1b5:y.9r,2r:qe.1R0,1oC:!0,5R:1,5M:y.2f3,14l:b.2OG,3l:"",2p:b.1xv,15P:oc.1hc});a=b.1hv;1d e=!1,f=!1;a==Xc.1P1?e=!0:a==Xc.29n&&(f=!0);b.12i=b.6o.13K.add({12i:{1iD:1g Vd(1b(){1f{3q:b.42Y,1nt:[]}},!1),2q:b.1pN,16U:e},1xu:f,2Cx:c,2p:!1});b.1kD=d;b.1hv===Xc.1zL&&(b.11M.2p=!1,b.12i.2p=!0);b.22Y.2p=!1}1b 60F(a,b){b.1hv===Xc.1zL&&(b.42Z=[],b.42X=b.6o.13K.add({11M:{3q:1g Vd(1b(){1f b.42Z},!1),1G:b.1gc,2q:b.1hu,1d7:!0}}));b.234.1h=0;if(!g(b.1cp)){1d c=b.236;b.1cp=1g Bf({2Op:pa.4t({13Q:c,9J:{3e:c}}),41Z:pa.4t({13Q:c,9J:{3e:c}})});b.11M=b.1cp.add({1G:b.1gc,2p:b.1xv,3q:[a,a],2q:va.1kk(va.1oL,{1A:b.1hu}),1d7:!0});b.6o.4r.13y.add(b.1cp);b.394=[a];b.60H=0;b.60G=0;b.22Z=b.6o.13K.add({1K:a,2p:b.1xv,7v:{12Q:8,1A:y.5X("#2hw")}});b.29m=b.6o.13K.add({1K:a,2p:b.1xv,7v:{12Q:8,1A:y.5X("#2hw")}});c=b.6o.4r.13y.add(1g de({1VR:!1}));b.22X=c.add({1K:a,9O:"100 3dO 6Dl",1b5:y.9r,2r:qe.1R0,1oC:!0,1a4:b.395,5R:1,5M:y.2f3,14l:b.2OG,3l:"",2p:b.1xv,15P:oc.1hc});b.1kD=c;c=b.1hv==Xc.29n?!0:!1;a=k.1y(a);b.1u5=b.6o.13K.add({1u5:{3q:[a,a],1G:20,2q:y.5X("#398")},1xu:c,2p:!1})}b.1hv===Xc.1zL&&(b.11M.2p=!1)}1b BI(a,b){b=m(b,{});v.2l("4ir 2A0",a);if(k.2L(a,k.6h))1t 1g r("1oH 1e8 1K 2L 16m");1a.7R=Ld();1a.9M=k.1y(a);1a.1zK=1g k;1a.1zJ=m(b.32a,1g k);1a.1K8=1g k;1a.7a=m(b.1A,1g y(1,1,1,1));1a.1pH=m(b.12r,1);1a.1b7=1g k;k.3V(1a.9M,1a.1zJ,1a.1b7);k.1T(1a.1b7,1a.1b7);1a.1r0=y.4g(1a.7a,1a.1pH,1g y);1a.28V=1g k;1a.177=O.6G}1b Eo(){1a.29l={};1a.29l[Qi.3sw]=1g Ia;1a.29l[Qi.1Dz]=1g Ia;1a.29l[Qi.379]=1g Ia;1a.4KL=1g y(.76,.76,.76,1);1a.4KK=1;1a.33l=1g Ia;1a.42W=[];1a.42V=[]}1b lS(a,b){b=m(b,{});v.2l("4ir 2A0",a);1a.7R=Ld();1a.9M=k.1y(a);1a.1zK=1g k;1a.2BJ=1g k;1a.7a=m(b.1A,1g y(1,1,1,1));1a.1pH=m(b.12r,2);1a.42U=m(b.1O7,10);1a.38W=m(b.2Cu,1);1a.1r0=y.4g(1a.7a,1a.1pH,1g y);1a.38V=1;1a.177=O.6G}1b mS(a,b,c){c=m(c,{});v.2l("4hZ 2A0",a);v.2l("4hZ 15s 1K",b);if(k.2L(a,b))1t 1g r("1K 2L 32a");1a.7R=Ld();1a.9M=k.1y(a);1a.1zK=1g k;1a.1zJ=k.1y(b);1a.1K8=1g k;1a.7a=m(c.1A,1g y(1,1,1,1));1a.1pH=m(c.12r,2);1a.172=m(c.3s,100);1a.2o0=m(c.8f,1k.PI/6);1a.4KI=m(c.1Sf,10);1a.38W=m(c.2Cu,1);1a.1b7=1g k;1a.28V=1g k;k.3V(1a.9M,1a.1zJ,1a.1b7);k.1T(1a.1b7,1a.1b7);1a.1r0=y.4g(1a.7a,1a.1pH,1g y);1a.4KH=1k.3i(1a.2o0);1a.2BJ=1g k;1a.38V=1;1a.177=O.6G}1b CI(a){1a.4KG={};1a.4KF=[];1j(1d b=0;b<a.1h;b++){1d c=a[b];1a.4KG[c]=b;1a.4KF[b]=c}}1b nS(a){1d b=2h a;if("2b"===b||"11T"===b||"4n"===b||1p 0===a||1F===a)1f 4H.8s(a);if(2K.8n(a)){b="[";1j(1d c=0;c<a.1h;c+=1)b+=nS(a[c])+",";1f b+"]"}b=1L.9K(a).15F();c="{";1j(1d d=0;d<b.1h;d++)c+=4H.8s(b[d])+":"+nS(a[b[d]])+",";1f c+"}"}1b Q8(a,b){1j(1d c={},d=0;d<a.1h;d++){1d e;if(!(e=b&&b[a[d].id])){e=a[d];1j(1d f="",h=0,l=60z;h<l.1h;h+=1)f+="/"+nS(e[l[h]]);e=f}b&&(b[a[d].id]=e);(f=c[e])||(f=c[e]=[]);f.1q(a[d])}a=[];1j(1d g in c)a.1q(c[g]);1f a}1b Ri(a,b,c,d,e){1a.1ec=a;1a.x=b;1a.y=c;1a.6b=d;1a.7M=1p 0;0!==d&&(1a.12f=a.3rA(b/2|0,c/2|0,d-1));1a.4F=Sb.1vn;1a.1mn=1a.21p=1a.7y=1a.4d=1a.2eJ=1p 0;1a.1d2=0;1a.2K7=!1;!g(e)&&a.1jf.3o&&(e=a.1jf.8c.1d1(b,c,d));1a.3g=e}1b R8(a,b,c,d){1d e=b.1TE().1li();b=e[0];e=e[1];1f k.15i(d.4o+(c[0]*b+c[2]*e+c[4])/a.1i0*d.1G,d.4C+d.1D*(1-(c[1]*b+c[3]*e+c[5])/a.1i0),100)}1b S8(a,b,c,d){1d e=b.1G;b=b.1D;if(!d)d=1g 4L(e*b*c);1s if(d 2m 2OB)d=1g 4L(d.3J);1s if(d.1h!==e*b*c)1t 1g 2EC("6A4 4d 4V");a.1G=e;a.1D=b;a.2g=d;1f a}1b T8(a,b,c,d,e,f){if(0===e.1G||0===e.1D)1f b;if(e.1G>a.1G||e.1D>a.1D||c.x>a.1G-e.1G||c.y>a.1D-e.1D)1t 1g 2EC("9H of 11D 5j 9R 1j 4d 1hI");if(e.1G>b.1G||e.1D>b.1D||d.x>b.1G-e.1G||d.y>b.1D-e.1D)1t 1g 2EC("9H of 11D 16h 9R 1j 4d 1hI");1j(1d h=a.2g,l=b.2g,g=0;g<e.1D;g++)1j(1d n=((c.y+g)*a.1G+c.x)*f,k=((d.y+g)*b.1G+d.x)*f,w=0;w<e.1G*f;w++)l[k+w]=h[n+w];1f b}1b DI(a){1j(1d b=0,c=0,d=0;d<a.1h;d+=1){1d e=a[d];b+=e.w*e.h;c=1k.1V(c,e.w)}a.15F(1b(a,b){1f b.h-a.h});c=[{x:0,y:0,w:1k.1V(1k.8a(1k.3Y(b/.95)),c),h:12g}];1j(1d f=e=d=0;f<a.1h;f+=1)1j(1d h=a[f],l=c.1h-1;0<=l;l--){1d g=c[l];if(!(h.w>g.w||h.h>g.h)){h.x=g.x;h.y=g.y;e=1k.1V(e,h.y+h.h);d=1k.1V(d,h.x+h.w);h.w===g.w&&h.h===g.h?(h=c.9l(),l<c.1h&&(c[l]=h)):h.h===g.h?(g.x+=h.w,g.w-=h.w):(h.w!==g.w&&c.1q({x:g.x+h.w,y:g.y,w:g.w-h.w,h:h.h}),g.y+=h.h,g.h-=h.h);1W}}1f{w:d,h:e,4K:b/(d*e)||0}}1b FC(a){a=1k.9p(a);1f 0>a?0:255<a?255:a}1b U8(a){1f 0>a?0:1<a?1:a}1b oS(a){1f"%"===a[a.1h-1]?FC(7L(a)/100*255):FC(8A(a))}1b EI(a){1f"%"===a[a.1h-1]?U8(7L(a)/100):U8(7L(a))}1b pS(a,b,c){0>c?c+=1:1<c&&--c;1f 1>6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a}1b V8(a){a=a.3X(/ /g,"").18v();if(a in W8)1f W8[a].4h();if("#"===a[0])1f 4===a.1h?(a=8A(a.13c(1),16),0<=a&&2bk>=a?[(a&4ca)>>4|(a&4ca)>>8,a&240|(a&240)>>4,a&15|(a&15)<<4,1]:1F):7===a.1h?(a=8A(a.13c(1),16),0<=a&&6Dk>=a?[(a&9Ok)>>16,(a&42B)>>8,a&255,1]:1F):1F;1d b=a.3f("("),c=a.3f(")");if(-1!==b&&c+1===a.1h){1d d=a.13c(0,b);b=a.13c(b+1,c-(b+1)).7g(",");a=1;6U(d){1S"15A":if(4!==b.1h)1W;a=EI(b.9l());1S"2y":if(3!==b.1h)1W;1f[oS(b[0]),oS(b[1]),oS(b[2]),a];1S"3xG":if(4!==b.1h)1W;a=EI(b.9l());1S"1OB":if(3===b.1h)1f d=(7L(b[0])%360+360)%360/360,c=EI(b[1]),b=EI(b[2]),c=.5>=b?b*(c+1):b+c-b*c,b=2*b-c,[FC(255*pS(b,c,d+1/3)),FC(255*pS(b,c,d)),FC(255*pS(b,c,d-1/3)),a]}}1f 1F}1b qS(a){if("4x"===a.5x){1d b=qS(a.1Nj);1f"2b"===2h a.N?"4x<"+b+", "+a.N+">":"1Q"===a.1Nj.5x?"4x":"4x<"+b+">"}1f a.5x}1b Cy(a,b){if("7A"===b.5x)1f 1F;if("4x"===a.5x){if("4x"===b.5x&&(0===b.N&&"1Q"===b.1Nj.5x||!Cy(a.1Nj,b.1Nj))&&("2b"!==2h a.N||a.N===b.N))1f 1F}1s{if(a.5x===b.5x)1f 1F;if("1Q"===a.5x)1j(1d c=0,d=60r;c<d.1h;c+=1)if(!Cy(d[c],b))1f 1F}1f"19P "+qS(a)+" 19T 1ji "+qS(b)+" 1gK."}1b vg(){}1b X8(a,b){1f"=="===a||"!="===a?"11T"===b.5x||"4n"===b.5x||"2b"===b.5x||"1F"===b.5x||"1Q"===b.5x:"4n"===b.5x||"2b"===b.5x||"1Q"===b.5x}1b Y8(a,b,c,d){1f 0===d.1iF(b,c)}1b Dy(a,b,c){1d d="=="!==a&&"!="!==a;1f 1b(){1b e(a,b,c){1a.1I=60a;1a.55n=a;1a.55m=b;1a.1EZ=c;1a.55o="1Q"===a.1I.5x||"1Q"===b.1I.5x}e.5N=1b(a,b){if(3!==a.1h&&4!==a.1h)1f b.7A("19P 1uk or 29k 5m.");1d c=a[0],f=b.5N(a[1],1,Z8);if(!f)1f 1F;if(!X8(c,f.1I))1f b.9V(1).7A(\'"\'+c+"\\" 6Dj are 2S 11J 1j 1I \'"+5s(f.1I)+"\'.");1d h=b.5N(a[2],2,Z8);if(!h)1f 1F;if(!X8(c,h.1I))1f b.9V(2).7A(\'"\'+c+"\\" 6Dj are 2S 11J 1j 1I \'"+5s(h.1I)+"\'.");if(f.1I.5x!==h.1I.5x&&"1Q"!==f.1I.5x&&"1Q"!==h.1I.5x)1f b.7A("1e6 1iF 1KO \'"+5s(f.1I)+"\' and \'"+5s(h.1I)+"\'.");d&&("1Q"===f.1I.5x&&"1Q"!==h.1I.5x?f=1g Si(h.1I,[f]):"1Q"!==f.1I.5x&&"1Q"===h.1I.5x&&(h=1g Si(f.1I,[h])));c=1F;if(4===a.1h){if("4n"!==f.1I.5x&&"4n"!==h.1I.5x&&"1Q"!==f.1I.5x&&"1Q"!==h.1I.5x)1f b.7A("1e6 14W 1EZ to 1iF 26o-4n 1KO.");c=b.5N(a[3],3,609);if(!c)1f 1F}1f 1g e(f,h,c)};e.1i.3x=1b(e){1d f=1a.55n.3x(e),l=1a.55m.3x(e);if(d&&1a.55o){1d g=vg.1N(f),n=vg.1N(l);if(g.5x!==n.5x||"4n"!==g.5x&&"2b"!==g.5x)1t 1g 1uN(\'19P 5m 1j "\'+a+\'" to be (4n, 4n) or (2b, 2b), 19T 1ji (\'+g.5x+", "+n.5x+") 1gK.");}1f 1a.1EZ&&!d&&1a.55o&&(g=vg.1N(f),n=vg.1N(l),"4n"!==g.5x||"4n"!==n.5x)?b(e,f,l):1a.1EZ?c(e,f,l,1a.1EZ.3x(e)):b(e,f,l)};e.1i.1nB=1b(a){a(1a.55n);a(1a.55m);1a.1EZ&&a(1a.1EZ)};e.1i.1mt=1b(){1f[!0,!1]};e.1i.13W=1b(){1d b=[a];1a.1nB(1b(a){b.1q(a.13W())});1f b};1f e}()}1b rS(a,b,c,d){d-=c;a-=c;1f 0===d?0:1===b?a/d:(1k.3r(b,a)-1)/(1k.3r(b,d)-1)}1b $8(a,b){1j(1d c=a.1h-1,d=0,e=c,f,h,l;d<=e;)if(f=1k.2t((d+e)/2),h=a[f],l=a[f+1],h<=b){if(f===c||b<l)1f f;d=f+1}1s if(h>b)e=f-1;1s 1t 1g 1uN("3uH is 2S a 2b.");1f 0}1b jc(){}1b a9(a){1f a&&"7w"!==2h 1aq&&(a 2m 1aq||a.7m&&"1aq"===a.7m.2i)}1b Kh(a,b){1p 0===b&&(b=1);1d c=0,d=0;a=a.5d(1b(a){1d e=5ZF[a.1I].12T,f=c=b9(c,1k.1V(b,e)),g=a.1bw||1;d=1k.1V(d,e);c+=e*g;1f{2i:a.2i,1I:a.1I,1bw:g,2M:f}});1d e=b9(c,1k.1V(d,b));1f{2gt:a,4V:e,1ew:b}}1b b9(a,b){1f 1k.8a(a/b)*b}1b Nj(){}1b Ey(a){1d b=1c8/a.7l;a=a.4Jy();1j(1d c=0;c<a.1h;c++)1j(1d d=a[c],e=0;e<d.1h;e++){1d f=d[e];f.x=1k.9p(f.x*b);f.y=1c8-1k.9p(f.y*b);if(f.x<Cs.2o||f.x>Cs.1V||f.y<Cs.2o||f.y>Cs.1V)f.x=1k.2o(Cs.1V,1k.1V(Cs.2o,f.x)),f.y=1k.2o(Cs.1V,1k.1V(Cs.2o,f.y))}1f a}1b c9(a){1b b(a,b,c){1d d=f[a];4Y f[a];f[b]=d;h[d].3y[0].9l();h[d].3y[0]=h[d].3y[0].9V(c[0]);1f d}1b c(a,b,c){1d d=e[b];4Y e[b];e[a]=d;h[d].3y[0].1hN();h[d].3y[0]=c[0].9V(h[d].3y[0]);1f d}1b d(a,b,c){b=c?b[0][b[0].1h-1]:b[0][0];1f a+":"+b.x+":"+b.y}1j(1d e={},f={},h=[],l=0,g=0;g<a.1h;g++){1d n=a[g],k=n.3y;if(n=n.3l?n.3l.5s():1F){1d w=d(n,k),x=d(n,k,!0);if(w in f&&x in e&&f[w]!==e[x]){k=c(w,x,k);1d D=b(w,x,h[k].3y);4Y e[w];4Y f[x];f[d(n,h[D].3y,!0)]=D;h[k].3y=1F}1s w in f?b(w,x,k):x in e?c(w,x,k):(h.1q(a[g]),l++,e[w]=l-1,f[x]=l-1)}1s h.1q(a[g]),l++}1f h.14O(1b(a){1f a.3y})}1b d9(a,b,c){a.1lx.12I(1b(a){1d d=a.3l,f=b.11e.1n("3l-5o").3x(c,{});"4DN"===f?d=d.9Oj():"3rP"===f&&(d=d.9Oi());a.3l=d});1f a}1b FI(a,b,c,d,e,f,h,l,g,n,k,w,x){a.15T(b,c,1k.9p(32*d),1k.9p(32*e),f,h,((l?1k.2o(6Di,1k.9p(l[0])):0)<<1)+(g?1:0),l?1k.2o(6Di,1k.9p(l[1])):0,16*n,16*k,256*w,256*x)}1b e9(a,b,c){a.15T(b.x,b.y,c);a.15T(b.x,b.y,c);a.15T(b.x,b.y,c);a.15T(b.x,b.y,c)}1b 5YL(a){1d b=0;1j(a=a.1lx;b<a.1h;b+=1)if(hq.5YW(a[b].3l))1f!0;1f!1}1b GC(a){1a.16k=a.16k;1a.1qR=a.1qR;1a.22w=a.1gb.28L;1a.1br=!0;1a.1fG=[];1a.17T=[]}1b f9(a,b,c,d,e,f){1d h=a.1qR;c=c.id+"10D"+c.6O.2i;1d l=h.1of(c);g(l)?(f>l.38N&&(l.1K=d,l.38N=f),l.1u4++):(g9.y=b.1D,l=h.add({id:c,4d:b,3b:e,1K:d,6N:bb.28I,19V:g9,2Sl:!0}),l.1u4=1,l.38N=f);a.17T.1q(l)}1b 5Yq(a){1d b=oc.1hc,c=fc.1dq;"2V"===a?(b=oc.1dq,c=fc.1dq):"3B"===a?(b=oc.1hc,c=fc.1dq):"2W"===a?(b=oc.1sk,c=fc.1dq):"5C"===a?(b=oc.1dq,c=fc.1g5):"7b"===a?(b=oc.1dq,c=fc.1g5):"5C-3B"==a?(b=oc.1hc,c=fc.1g5):"5C-2W"==a?(b=oc.1sk,c=fc.1g5):"7b-3B"==a?(b=oc.1hc,c=fc.1Qm):"7b-2W"==a&&(b=oc.1sk,c=fc.1Qm);1f{15P:b,16l:c}}1b sS(a,b,c){c=c.3g;1f{42n:a*c.1G/1c8+c.4o,42m:b*c.1D/1c8+c.4C}}1b Ov(){}1b HC(a,b){1f{5x:"4x",1Nj:a,N:b}}1b h9(a,b){1d c=b[0],d=b[1],e=b[2];b=b[3];c=c.3x(a);d=d.3x(a);e=e.3x(a);a=b?b.3x(a):1;if(b=4JH.4Kv(c,d,e,a))1t 1g 1uN(b);1f 1g 1aV(c/255*a,d/255*a,e/255*a,a)}1b Ds(){}1b i9(a){1j(1d b=[],c=5m.1h-1;0<c--;)b[c]=5m[c+1];1j(c=0;c<b.1h;c+=1){1d d=b[c],e;1j(e in d)a[e]=d[e]}1f a}1b 6Dh(a,b,c){"1A"===b.1I?c=Rd.5N(c):"1S6"===b.1I?c=42F.1TK(c.5s()):"1GS"===b.1I?c=4Km.1TK(c.5s()):1bu(c)===b.1I||"19Q"===b.1I&&b.2a[c]||(c=1p 0);1f j9(c,a.4T,b.4T)}1b k9(a,b){1d c="1A"===b.1I,d=a.1BY&&"2c"===2h a.1BY[0][0],e=d||1p 0!==a.5i;e=d||!e;1d f=a.1I||(5Nc(b)?"22h":"18B");c&&(a=i9({},a),a.1BY&&(a.1BY=a.1BY.5d(1b(a){1f[a[0],Rd.5N(a[1])]})),a.4T=a.4T?Rd.5N(a.4T):Rd.5N(b.4T));if(a.3rN&&"2y"!==a.3rN&&!9Oh[a.3rN])1t 6u("1jJ 1A 1ww: "+a.3rN);if("22h"===f)1d h=6Dg;1s if("18B"===f)h=9Og;1s if("5Mk"===f){h=9Of;1d l=1L.6F(1F);c=0;1j(1d g=a.1BY;c<g.1h;c+=1){1d n=g[c];l[n[0]]=n[1]}1d k=2h a.1BY[0][0]}1s if("3XK"===f)h=6Dh;1s 1t 6u(\'1jJ 1b 1I "\'+f+\'"\');if(d){d={};e=[];1j(f=0;f<a.1BY.1h;f++)c=a.1BY[f],g=c[0].5K,1p 0===d[g]&&(d[g]={5K:g,1I:a.1I,5i:a.5i,4T:a.4T,1BY:[]},e.1q(g)),d[g].1BY.1q([c[0].1Q,c[1]]);1d w=[];1j(f=0;f<e.1h;f+=1)c=e[f],w.1q([d[c].5K,k9(d[c],b)]);d={2i:"28y"};1f{5x:"1sh",3uF:d,2p7:6Df.2p7.7X(1p 0,d),3Xq:w.5d(1b(a){1f a[0]}),3x:1b(c,d){c=c.5K;1f 6Dg({1BY:w,13T:a.13T},b,c).3x(c,d)}}}1f e?(d="22h"===f?{2i:"22h",13T:1p 0!==a.13T?a.13T:1}:1F,{5x:"3w",3uF:d,2p7:6Df.2p7.7X(1p 0,d),3Xq:a.1BY.5d(1b(a){1f a[0]}),3x:1b(c){1f h(a,b,c.5K,l,k)}}):{5x:"5j",3x:1b(c,d){c=d&&d.5U?d.5U[a.5i]:1p 0;1f 1p 0===c?j9(a.4T,b.4T):h(a,b,c,l,k)}}}1b j9(a,b,c){if(1p 0!==a)1f a;if(1p 0!==b)1f b;if(1p 0!==c)1f c}1b Es(){}1b 6De(a,b){1f a<b?-1:a>b?1:0}1b GI(a){if(!a)1f!0;1d b=a[0];1f 1>=a.1h?"any"!==b:"=="===b?tS(a[1],a[2],"=="):"!="===b?HI(tS(a[1],a[2],"==")):"<"===b||">"===b||"<="===b||">="===b?tS(a[1],a[2],b):"any"===b?["any"].9V(a.4h(1).5d(GI)):"all"===b?["all"].9V(a.4h(1).5d(GI)):"1bs"===b?["all"].9V(a.4h(1).5d(GI).5d(HI)):"in"===b?l9(a[1],a.4h(2)):"!in"===b?HI(l9(a[1],a.4h(2))):"14d"===b?m9(a[1]):"!14d"===b?HI(m9(a[1])):!0}1b tS(a,b,c){6U(a){1S"$1I":1f["14O-1I-"+c,b];1S"$id":1f["14O-id-"+c,b];4T:1f["14O-"+c,a,b]}}1b l9(a,b){if(0===b.1h)1f!1;6U(a){1S"$1I":1f["14O-1I-in",["1nM",b]];1S"$id":1f["14O-id-in",["1nM",b]];4T:1f 200<b.1h&&!b.2Ne(1b(a){1f 2h a!==2h b[0]})?["14O-in-3lE",a,["1nM",b.15F(6De)]]:["14O-in-3uw",a,["1nM",b]]}}1b m9(a){6U(a){1S"$1I":1f!0;1S"$id":1f["14O-14d-id"];4T:1f["14O-14d",a]}}1b HI(a){1f["!",a]}1b Pv(a,b){1f 1c8/a.42e*b}1b Yc(a,b){1a.x=a;1a.y=b}1b Qv(a,b,c,d,e){1a.5U={};1a.7l=c;1a.1I=0;1a.2Cn=a;1a.16b=-1;1a.3uq=d;1a.14z=e;a.2xp(6Dd,1a,b)}1b 6Dd(a,b,c){if(1==a)b.id=c.1ez();1s if(2==a)1j(a=c.1ez()+c.3h;c.3h<a;){1d d=b.3uq[c.1ez()],e=b.14z[c.1ez()];b.5U[d]=e}1s 3==a?b.1I=c.1ez():4==a&&(b.16b=c.3h)}1b $va(a){1d b=a.1h;if(1>=b)1f[a];1j(1d c=[],d,e,f=0;f<b;f++){1d h,l=a[f],g=0,n=0,k=l.1h;1j(h=k-1;n<k;h=n++){1d w=l[n];h=l[h];g+=(h.x-w.x)*(w.y+h.y)}w=g;0!==w&&(1p 0===e&&(e=0>w),e===0>w?(d&&c.1q(d),d=[a[f]]):d.1q(a[f]))}d&&c.1q(d);1f c}1b uS(a,b){1a.9G=1;1a.2i=1F;1a.7l=18C;1a.1h=0;1a.2Cn=a;1a.3uq=[];1a.14z=[];1a.1dQ=[];a.2xp(awa,1a,b);1a.1h=1a.1dQ.1h}1b awa(a,b,c){15===a?b.9G=c.1ez():1===a?b.2i=c.2IY():5===a?b.7l=c.1ez():2===a?b.1dQ.1q(c.3h):3===a?b.3uq.1q(c.2IY()):4===a&&b.14z.1q(6Dc(c))}1b 6Dc(a){1j(1d b=1F,c=a.1ez()+a.3h;a.3h<c;)b=a.1ez()>>3,b=1===b?a.2IY():2===b?a.3O6():3===b?a.3O5():4===b?a.4o3():5===b?a.1ez():6===b?a.2ei():7===b?a.3O4():1F;1f b}1b n9(a,b){1a.9Q=a.2xp(6Db,{},b)}1b 6Db(a,b,c){3===a&&(a=1g uS(c,c.1ez()+c.3h),a.1h&&(b[a.2i]=a))}1b Ya(a,b,c){1a.x=m(a,0);1a.y=m(b,0);1a.z=m(c,0)}1b Rv(a){a=m(a,m.4Z);1a.12l=m(a.4dk,1p 0);1a.1hu=m(a.19g,1g y(1,0,0,1));1a.1gc=m(a.11a,3);1a.29e=m(a.2ha,1g y(1,0,0,1));1a.2h9=m(a.2NV,!1);1a.2pK=m(a.2NU,0);1a.22L=m(a.2BM,vS.2nt);1a.2pJ=m(a.2NT,0);1a.2pI=m(a.2NS,0);1a.1N6=m(a.1sH,1g y(1,0,0,1));1a.29d=m(a.2pH,1);1a.29c=m(a.29b,70);1a.22K=m(a.22J,y.1Zs);1a.22I=m(a.1LO,0);1a.1Nd=m(a.3tR,3);1a.1n8=m(a.7z,1)}1b Fs(a){a=m(a,m.4Z);1a.12l=m(a.4dk,1p 0);1a.10o=m(a.1D,7);1a.1pM=m(a.1QW,y.1a7);1a.1V8=m(a.2NR,y.1a7);1a.1ln=m(a.8Y,!1);1a.1GX=m(a.1QV,14y.1de("5XY"));1a.1QU=m(a.1VC,!1);1a.22H=m(a.1M4,!1);1a.2h8=m(a.22G,0);1a.29a=m(a.37Z,0);1a.295=m(a.1Gy,!1);1a.1ME=m(a.2LE,0);1a.292=m(a.2NQ,!1);1a.1dP=m(a.5S,0);1a.291=m(a.37Y,!1);1a.290=m(a.37X,!1);1a.22F=m(a.3tQ,4);1a.16n=m(a.5R,1);1a.2BL=m(a.37W,0);1a.28Z=m(a.2mY,255);1a.28Y=m(a.37V,0);1a.2h7=m(a.40T,1);1a.1QT=m(a.2NP,0);1a.1xt=m(a.1wD,20);1a.16O=m(a.5M,y.9r)}1b Ef(a){1p 0!==a&&1F!==a&&(a=m(a,m.4Z),1a.1aF=m(a.19C,-1),1a.1bq=m(a.16A,-1),1a.1af=m(a.15O,[]),1a.16v=m(a.1K6,""),1a.1dB=wa.2Hx,1a.1n2=m(a.1ka,!0),1a.7R=Ld(),1a.3up=m(a.428,100),1a.2pV=m(a.429,!1),1a.22N=m(a.38n,-1),1a.38v=m(a.9Oe,!0),1a.2Ok=m(a.41q,.30a),1a.1AC=!1,1a.1Ev=m(a.1Ev,!1),1a.8L=m(a.7r,1F),1a.9s=!1,1a.7h=[],1a.3tP=14y.4lu(),1a.16o=m(a.15Z,1g Rv({4dk:1a})),1a.16p=m(a.14r,1g Fs({4dk:1a})),1a.1yv=m(a.1Eu,1F),1a.1vL=m(a.8S,""),1a.1fG=1g de,1a.5XX(),1a.2Cc=1F,1a.2Oj=1g 14y.3KM,1a.22P=m(a.1AE,[]),1a.1VI=m(a.2Cb,0),1a.3iI=1g sa,1a.1f9=m(a.11p,3a.1Mg),1a.427=m(a.5XP,!0))}1b o9(a){1d b=1g y;b.5r=a.5r/255;b.5t=a.5t/255;b.5G=a.5G/255;b.2O=a.2O/255;1f b}1b Gs(a){1d b={};b.2O=255*a.2O;b.5r=255*a.5r;b.5t=255*a.5t;b.5G=255*a.5G;1f b}1b mf(a,b){1a.2pT=m(a,m.4Z);1a.7R=1p 0===b?Ld():b;1a.9s=!0;1a.1zG=[];1a.1K6="5h3";1a.1AC=!1;1a.19C=0;1a.17D=1a.16A=wa.381;1a.5XB(1a.2pT);1a.2Cc=1F}1b iq(a){a=m(a,m.4Z);1d b=m(a.11C,!0),c=m(a.3iO,!1);1a.2q=g(a.2q)?a.2q:va.1kk(va.1oL);1a.11C=m(a.11C,!0);1a.1za=m(a.5O,"3Q 1w 1aU;\\2J 1w 19W;\\2J 1v st;\\2J 1o 4R;\\1J 1w 1If;\\1J 1w 13L;\\1J 1v 9j;\\2s 2k()\\n{\\1P p = 1nS();\\2WK = 1aU + 19W;\\1t6 = (15D * p).1H;\\1XA = st;\\11u = 1kV * p;\\n}\\n");1a.1z9=m(a.5A,"3G 1w 1If;\\1J 1w 13L;\\1J 1v 9j;\\2s 2k()\\n{\\1jv 5y;\\1R 4X = 1T(1Xn * 2be(1If, 1w(0.0), 1w(1.0)));\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\10m.s = 9j.s;\\10m.st = 9j;\\10m.1F6 = 1w(9j, 0.0);\\10m.4X = 4X;\\10m.1p2 = 1Sp(1If, 5y.4X);\\1R 11E = -13L;\\10m.11E = 11E;\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s\\3R = 1nR(1T(11E), 2q, 1qd);\\n#1u\\n}\\n");1a.1hT=pe.2QF(b,!c,a.4w);1a.1z8=!1;1a.38H=m(a.8z,!1);1a.38G=m(a.2Cm,c);1a.5Xz=c}1b jq(a,b){1a.4r=m(a,1F);1a.2hp=1g xd;1a.6X=m(b,"5gB");1a.28e=[];1a.11h=0;1a.2C2=1a.1zE=!0;1a.7R=-1;1a.5Xw=!1;1a.2II();1a.2ho={};1a.2hn={};1a.2hi={};1a.2Or=[];1a.2Oq=[];1a.2pX={};1a.2pW={};1a.41Y=1g de;1a.22Q=!1;1a.5Xu();1a.38D={};1a.38F=1F}1b 5Xv(a){if(g(a)&&1F!==a&&g(1a.4r)&&1F!==1a.4r){1d b=a.1K,c=a.1G,d=a.1D;if(g(c)&&g(d)){b=1g P(b,0);1d e=1a.4r.3w.2wq(b,1a.4r.18Y.1O.8j,1a.4r.18Y.1O.7p);b.3L=1k.1V(c*e,d*e)/3;P.2mM(b,1a.4r.18Y.2yz)?a.11p=0:a.11p=3a.19B}}}1b ke(a){1a.1Ni=1g jq(a);a.2dV.add(1a.1Ni)}1b Zm(a,b){1a.6X=a;1a.1dQ=[];1a.1zE=!0;1a.2R=b;1a.28e=[];1a.11h=0}1b ha(){}1b IC(a){1a.2I=a}1b Rf(a){1a.38A=1g sa;1a.41W={};1a.2Oo=[];1a.1ms=1a.41V=1F;1a.5Xe=!1;a&&1f2.41T.1a3(1a,a);a&&a.2I&&a.19C?(1a.2I=a.2I,1a.19C=a.19C):a&&a.1ms&&(1a.1ms=a.1ms,1a.19C=1a.1ms.19C,1a.5Xf())}1b Te(a){1a.2ZS=!0;if(0===a.1h&&1a.2ZS)1t 1g r("2I is 1X to 6l 4hX");1a.2I=a;1a.1oN=1F;1a.1VM=[];1a.38B=[];1a.41S=!1;1a.4Je=1g sa;1a.38A=1g sa;1a.2ZS&&a&&0!==a.1h||1a.5X9()}1b Sd(a){a=m(a,m.4Z);1a.1Tf=m(a.3ui,[]);1a.1qu=m(a.2pR,[]);1a.1zF=m(a.1VG,[]);1a.41O=m(a.9Od,!0);1a.8L=m(a.7r,1F);1a.38z=!1;1a.19S=1a.41R=1F;1a.2pQ=!0;1a.2Oh=0;1a.3u9=!1;1a.2C4=.1;1a.1ef=O.6G;1a.3ug=3n.4O("3M");Ef.4G(1a,a);1a.4Jx();1a.4J3=!1;1a.38E=[];1a.2ho=[];1a.2hn=[];1a.2hi=[];1a.41M=[];1a.41N=[];1a.9Oc=1g Vd(1b(){1f 1a.41N},!1)}1b nf(a){a=m(a,m.4Z);1a.17D=m(a.17D,wa.2Hx);1a.5I=m(a.5I,[]);1a.3ud=m(a.3ud,!1);1a.19g=m(a.19g,y.1PZ);1a.41u=m(a.41u,!1);1a.6Da=m(a.6Da,!1);1a.11a=m(a.11a,-1);1a.2Ce=m(a.2Ce,!1);1a.15b=m(a.15b,!1);1a.3uc=m(a.3uc,!1);1a.1b5=m(a.1b5,1g y(1,0,0,.8));1a.6D9=m(a.6D9,!1);1a.8S=m(a.8S,"");1a.2Ca=m(a.8S,1p 0);1a.6D8=m(a.6D8,0);1a.6D7=m(a.6D7,1p 0)}1b Fy(){1a.1bq=wa.2BR;1a.1aF=0;1a.1dB=wa.2BR;1a.16v=14y.1de("arc");1a.1fr=1a.19k=3}1b Gy(){1a.1bq=wa.2BT;1a.1aF=0;1a.1dB=wa.2BT;1a.16v=14y.1de("5XJ");1a.19k=1a.1fr=3}1b Hy(){1a.1bq=wa.2BU;1a.1aF=0;1a.1dB=wa.2BU;1a.16v=14y.1de("2Os");1a.19k=2;1a.1fr=1Ax}1b Iy(){1a.1bq=wa.2BV;1a.1aF=0;1a.1dB=wa.2BV;1a.16v=14y.1de("1fc");1a.19k=1a.1fr=3}1b Jy(){1a.1bq=wa.2BY;1a.1aF=0;1a.1dB=wa.2BY;1a.16v=14y.1de("30s");1a.19k=1a.1fr=3}1b Ky(){1a.1bq=wa.2BW;1a.1aF=0;1a.1dB=wa.2BW;1a.16v=14y.1de("3g");1a.1fr=1a.19k=2}1b JC(){1a.1bq=wa.2O0;1a.1aF=0;1a.1dB=wa.2O0;1a.16v=14y.1de("5XI");1a.19k=2;1a.1fr=3}1b Ly(){1a.1bq=wa.2dY;1a.1aF=0;1a.1dB=wa.2dY;1a.16v=14y.1de("12O");1a.1fr=1a.19k=2}1b My(){1a.1bq=wa.2BS;1a.1aF=0;1a.1dB=wa.2BS;1a.16v=14y.1de("5XK");1a.19k=1a.1fr=3}1b wg(a){a=m(a,m.4Z);1a.12u=m(a.1VJ,1p 0);1a.1VH=m(a.1VJ.1xs,1p 0);1a.2hm=0;1a.2C9=m(a.1VJ.2C9,1p 0);1a.22I=1a.10C=1p 0;1a.41I=!0;1a.29h=!1;1a.41x=0;1a.41C();1a.12u.5Wy=1a.12u.22O;1a.1oM=1a.12u.3b.x;1a.2hl=1a.41K=1a.4IV=0}1b Fo(a){a=m(a,m.4Z);1a.12u=m(a.1VJ,1p 0);1a.1n2=!0;1a.4a=ha.4IO(1a.12u.15O[0],1a.12u.2Cd)}1b Ny(a){a=m(a,m.4Z);1a.12u=m(a.1VJ,1p 0);1a.22R=m(a.1VJ.22R,"");1a.10C=1p 0;1a.41C()}1b ee(a){a=m(a,m.4Z);Ef.4G(1a,a);g(a.1Eu)?(1a.2C9=m(a.1Eu.2hh,1g C(0,0)),1a.1xs=m(1g C(a.1Eu.1QZ.x,a.1Eu.1QZ.y),1g C(-1,-1)),1a.22O=g(a.1Eu.2C6)?1g C(a.1Eu.2C6.x,a.1Eu.2C6.y):1g C(1a.1xs.x,1a.1xs.y),1a.41m=m(a.1Eu.3ua,[]),1a.3ub=m(a.1Eu.38w,1F),1a.1VH=m(a.1Eu.1QZ,1g C(-1,-1)),1a.1Nf=m(a.1Eu.1H1,[])):(1a.2C9=m(a.2hh,1g C(0,0)),1a.1xs=m(a.1AF,1g C(0,0)),1a.22O=m(a.2C6,1g C(-1,-1)),1a.41m=m(a.3ua,[]),1a.3ub=m(a.38w,1F),1a.1VH=m(a.1QZ,1g C(-1,-1)),1a.1Nf=[]);1a.13V=m(a.3b,1g Ya(1,1,1));1a.1si=m(a.17b,1g Ya(0,0,0));1a.25U=m(a.2C8,1g Ya(200,200,200));1a.1yt=m(a.2C7,1g Ya(0,0,0));1a.2Cd=m(a.25T,1g Ya(0,0,0));1a.2HF=m(a.25V,1);1a.2Om=m(a.29g,-1);1a.1QS=m(a.1VB,3);1a.29f=m(a.2Oi,3);1a.38u=m(a.1FG,1g C(64,64));1a.22R=m(a.2pS,"");1a.1lA=m(a.1IP,jd.1IR);1a.2pU=m(a.3Ls,!1);1a.38t=m(a.2C5,0);1a.22C=m(a.22D,0);1a.28X=m(a.1Eh,"");1a.1r1=m(a.4Iz,hg.Up);1a.2Ol=m(a.5XQ,!1);1a.38s=m(a.3uo,1g Ya(-1,-1,-1));1a.1vL=m(a.8S,"");1a.9Ob=1F;1a.41w=[];1a.4IK=1F;1a.3Lt=!1;1a.9Oa=1a.3iN=1a.41A=1a.1Zt=1F;1a.5Wm=1g y(1,1,1,1);1a.10i=1F;1a.4Jx()}1b p9(a){1f 1F===a||"7w"===2h a||""===a?!0:a.141(/^[ ]+$/)}1b wS(a){a=m(a,m.4Z);1a.1vL=m(a.8S,"");1a.1IS=m(a.2ZO,1g k(0,0,0));1a.1Et=m(a.2Ca,1g Fs)}1b rd(a,b){if(!b)1t 1g r("2i is 1X to 6F 5gz");1a.28e=[];1a.11h=0;1a.2R=a;1a.2C2=1a.1zE=!0;1a.19o=[];1a.41j=!1;1a.1LL=1a.3iJ=!0;1a.22Q=!1;1a.2pO=1p 0;1a.6X=b;1a.7R=-1;ke.1tm(a,1a)}1b Hs(a){1d b=1g y;b.5r=a.5r/255;b.5t=a.5t/255;b.5G=a.5G/255;b.2O=a.2O/255;1f b}1b 5Wf(a,b,c){if(a=q9.1Zv(a,b))a.1Zu.13U.on({2ly:1b(a){c.1Nf=a.4D.1H1;c.9s=!1;1f!0},2lx:1b(){},1A9:1KQ}),a.1Zu.2lw(a.2HM)}1b le(a){a=m(a,m.4Z);1a.41i=m(a.9O9,1p 0);1a.1GW=m(a.18M,0);1a.1oi=m(a.13k,5);1a.1qI=m(a.12G,!1);1a.6X=m(a.2i,"");1a.1H0=m(a.5Wd,Ti.1Ps);1a.1oK=m(a.3tX,1F);1a.8M=m(a.5Wc,1F);1a.1QY=m(a.5Wb,0);1a.1VF=m(a.5Wa,!1);1a.38m=m(a.4Iv,0);1a.2hd=m(a.1iJ,0);1a.3u7=m(a.5W9,"");1a.2h6=1F}1b Ul(a){a=m(a,m.4Z);le.4G(1a,a);1a.38l=m(a.38j,500);1a.3u6=m(a.38k,xS.5W6);1a.3u5=m(a.38i,0);1a.2Od=m(a.38h,KC.5W5);1a.20Q=m(a.1Jy,1g y(0,0,1,1));1a.1Up=m(a.1Jx,1g y(1,0,0,1))}1b Vl(a){a=m(a,m.4Z);le.4G(1a,a);1a.3u4=m(a.38f,!1);1a.38g=m(a.38e,!1)}1b me(a){a=m(a,m.4Z);le.4G(1a,a);1a.38d=m(a.38b,!1);1a.2Ob=m(a.38a,!1);1a.2C1=m(a.2pN,.5);1a.2Oa=m(a.2O9,1g y(1,0,0,1));1a.5VY=m(a.9O8,1F);1a.38c=m(a.2C0,yS.33C);1a.2hg=m(a.22M,[]);1a.1VD=m(a.9O7,[]);1a.1zD=m(a.1VE,1F);1a.41g=m(a.9O6,0)}1b Ui(a){a=m(a,m.4Z);le.4G(1a,a);1a.3u3=m(a.388,!1);1a.3u2=m(a.2O8,1g y(1,0,0,1));1a.41f=m(a.2O7,1g y(0,0,1,1));1a.41e=m(a.2O6,!1);1a.3u1=m(a.2hf,0);1a.41d=m(a.2BZ,5);1a.41c=m(a.2O5,!1);1a.3u0=m(a.2O4,1g y(1,1,0,1));1a.41b=m(a.2O3,1g y(0,1,1,1));1a.41a=m(a.2O2,!1);1a.3tZ=m(a.2he,0);1a.414=m(a.9O5,1)}1b Wl(a){a=m(a,m.4Z);le.4G(1a,a);1a.3tY=m(a.387,zS.4Ir);1a.1v0=m(a.1jw,1g Ya(0,0,0));1a.1tt=m(a.21z,1g Ya(0,0,0))}1b $m(a){a=m(a,m.4Z);le.4G(1a,a);1a.1DV=m(a.1uR,0);1a.1Gz=m(a.1GA,1);1a.382=m(a.5VQ,1F)}1b ue(a){a=m(a,m.4Z);le.4G(1a,a);1a.1DV=m(a.1uR,0);1a.1Gz=m(a.9O4,1);1a.5VP=m(a.9O3,50);1a.411=m(a.9O2,0);1a.1GZ=m(a.38P,0);1a.10L=m(a.38y,[]);1a.1GY=[];1a.2BP=[]}1b ze(a){a=m(a,m.4Z);1a.1uS=m(a.2HK,"");1a.2R=m(a.4r,1F);1a.1dp=[];1a.5Vt=1g sa;1a.5Vs=1g sa;1a.5Vv=1g sa;1a.5Vu=1g sa;1a.5VA(1a.2R)}1b AS(a){a=a||{};1a.42a=a.42a?a.42a:!1;1a.15Z=1g Rv;1a.14r=1g Fs;1a.1xs=a.1AF?a.1AF:1g C(-1,-1);1a.22C=a.22D?a.22D:-1;1a.1QS=a.1VB?a.1VB:-1;1a.28X=a.1Eh?a.1Eh:"";1a.4lP="3L5"}1b an(a,b){1a.1uS=a;1a.2R=b;1a.4Ia=r9.3JM.1tm({4r:1a.2R,2HK:1a.1uS});1a.3tP=Te.1tm(1a.1uS);1a.2h6=ze.1tm({2HK:1a.1uS,4r:1a.2R});1a.4I9=1g r9.3L5}1b Oy(a){1a.4j=a}1b Py(a){if(!a.2BF)1f!1;1d b=1g Oy(a),c=1g Ca({1O:a,1G:1,1D:1,8b:ua.9m}),d=1g Ca({1O:a,1G:1,1D:1,8b:ua.9m,10E:Py.5Vq(),5j:{1G:1,1D:1,1a9:Py.5Vp([4hE,0,0,0])}}),e=1g eb({1O:a,13I:[c],16Y:!1}),f={4Q:e,x:0,y:0,1G:1,1D:1},h=!1;(1g lv({5A:"2n 2v 3hs;\\2s 2k()\\n{\\1r 1C1 = 1Y(3hs, 1v(0.5, 0.5)).r;\\1r 1SV = 4hE.0;\\3R = 1m(abs(1C1 - 1SV), 0.0, 0.0, 1.0);\\n}\\n",1v8:c,4J:{3hs:1b(){1f d}},2xI:!1,2JI:1b(){h=0===a.1tG(f)[0]}})).5P(b);b.1M();e.1M();1f h}1b Sf(a){1a.1O=a;1a.5q=1a.1g1=1a.1Jm=1a.4Q=1p 0}1b ig(a){a=m(a,m.4Z);v.2l("3v.1O",a.1O);1d b=a.1O,c=b.6M,d=sb.492,e=m(a.8V,kh.3tO),f=m(a.10E,Ha.7U),h=g(a.1G)?a.1G:c.8j,l=g(a.1D)?a.1D:c.7p,p=!1;a=m(a.2yX,0);0<a&&b.1py&&(p=!0);b.1py?(b=e,e===H.1PZ&&(f===H.3O&&(b=H.4b3),f===H.1kq&&(b=H.4b4),f===H.7U&&(b=H.R8)),e===H.1fB&&(f===H.3O&&(b=H.4b7),f===H.1kq&&(b=H.4b5),f===H.7U&&(b=H.4ZH)),e===H.9m&&(f===H.3O&&(b=H.4b8),f===H.1kq&&(b=H.4b6),f===H.7U&&(b=H.4ZG)),b!==H.4b4&&b!==H.4b3&&b!==H.4b6&&b!==H.4b8&&(b!==H.4b5&&b!==H.4b7||11l.2ep("9O1: 9O0 7v 1fb 10M 1fB 8V 2S 11J. 2Jg 14W 9m 1gK.")),b===H.1eF?b=H.4ZF:b===H.1zc&&(f===H.10P?b=H.2fK:f===H.1bt&&(b=H.37T)),f=b):f=e;if(!kh.1f6(e))1t 1g r("13H 8V.");v.1N.2b.1bP("1G",h,0);if(h>d)1t 1g r("1V7 2Q be 1do 6L or 14B to 1Z 14S 2pE 4V ("+d+").  1ie 492.");v.1N.2b.1bP("1D",l,0);if(l>d)1t 1g r("463 2Q be 1do 6L or 14B to 1Z 14S 2pE 4V ("+d+").  1ie 492.");1a.6M=c;1a.1JH=e;1a.10V=h;1a.10o=l;1a.40Q=1a.6M.3XQ();c.2N8(c.2pa,1a.40Q);p?c.9NZ(c.2pa,a,f,h,l):c.5Nf(c.2pa,f,h,l);c.2N8(c.2pa,1F)}1b Go(a){1d b=1g Sf(a);b.1Jm=!0;b.5q=1g Aa;1a.4j=a;1a.1ov=Ha.7U;1a.1bA=1g eb({1O:a,13I:[1g Ca({1O:a,1G:1,1D:1})],1yY:1g ig({1O:a,8V:kh.1eF})});1a.1ab=b;1a.10o=1a.10V=1;1a.13Z=1g Ec({1A:1g y(0,0,0,0),1gh:0,4e:1});1a.13Z.4Q=1a.1bA}1b Is(a){1a.15z=1g Go(a);1a.15z.1ov=Ha.7U;1a.4j=a;1a.1mm=!0;1a.1jL={1Nb:!1,1WH:!1,1WI:!1,2iW:!1,1kr:!1,1oA:!0};1d b=a.6M;b.1Bw(b.1JV,a.28T.13p)}1b kq(a){1a.4j=a;1a.1e9=1a.2Sd=1a.19m=1a.2h5=1p 0;1a.40P=1k.1V(1k.3r(2,1k.8a(1k.7k(a.8j)/1k.7k(10))),8);1a.40O=1k.1V(1k.3r(2,1k.8a(1k.7k(a.7p)/1k.7k(10))),8);1a.6D6=1g Aa(0,0,1a.40P,1a.40O)}1b s9(a){a.19m=a.19m&&!a.19m.3Z()&&a.19m.1M()}1b t9(a){a.2h5=a.2h5&&!a.2h5.3Z()&&a.2h5.1M()}1b 5Vk(a,b,c){g(a.1e9)||(a.1e9=b.1aL("2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\n    2C = 1lP(1Y(16S, 2F).r);\\n}\\n",{4w:pa.4t({5q:a.6D6}),4J:{16S:1b(){1f a.2Sd}},7H:a}));a.2Sd=c;a.1e9.4Q=a.2h5;g(a.13Z)||(a.13Z=1g Ec({1A:1g y(0,0,0,1),1gh:0,4e:1,7H:a}));a.13Z.4Q=a.2h5}1b Xl(a){1a.4j=a;1a.2h4={};1a.40K=0;1a.3tN={}}1b BS(a,b){1j(1d c=b.37R,d=c.1h,e=0;e<d;++e)BS(a,a.2h4[c[e]+b.28W]);4Y a.2h4[b.28W];b.2z.37Q()}1b Js(){1a.12s={};1a.40J=0;1a.2pG={}}1b CS(a){a=m(a,m.4Z);1a.1A=g(a.1A)?y.1y(a.1A):y.9r;1a.12r=m(a.12r,2)}1b Ks(){1a.1iP=1a.1Ju=1p 0;1a.1ox=1g Aa;1a.4I7=1g E;1a.40I=!1;1a.4I6=A.1y(A.8K);1a.4I5=A.1y(A.8K);1a.13O=A.1y(A.8K);1a.1by=A.1y(A.8K);1a.4HJ=A.1y(A.8K);1a.16y=A.1y(A.8K);1a.40s=A.1y(A.8K);1a.40v=1g C;1a.40r=1g C;1a.37J=1g E;1a.5Y=1p 0;1a.40k=J.1y(A.8K);1a.40w=!0;1a.3tL=1g A;1a.40x=!0;1a.40E=1g A;1a.40G=!0;1a.4I4=1g A;1a.40F=!0;1a.5Ve=1g J;1a.4HK=1g J;1a.4HI=1g J;1a.4I3=1g J;1a.4I2=1g J;1a.40t=!0;1a.40D=1g A;1a.3tz=!0;1a.4I1=1g A;1a.3tA=!0;1a.4I0=1g A;1a.3tB=!0;1a.4HZ=1g A;1a.3tC=!0;1a.4HY=1g A;1a.3tD=!0;1a.4HW=1g A;1a.3tw=!0;1a.4HV=1g A;1a.3tx=!0;1a.4HU=1g A;1a.37L=!0;1a.4HT=1g A;1a.40C=!0;1a.4HR=1g A;1a.37M=!0;1a.4HP=1g A;1a.37K=!0;1a.4HO=1g A;1a.3tE=!0;1a.1VA=1g J;1a.3tG=!0;1a.4HN=1g J;1a.3tF=!0;1a.4HM=1g J;1a.3tH=!0;1a.4HL=1g J;1a.3ty=!0;1a.40z=1g bc;1a.1Es=1g k;1a.40p=1g k;1a.4HB=1g k;1a.40o=1g k;1a.40n=1g k;1a.2y0=1g k;1a.4HC=1g k;1a.2BH=1g k;1a.2f2=1g k;1a.1r0=1g k;1a.4HA=1g k;1a.3ms=1a.8C=1a.1Er=1p 0;1a.4HH=1g k;1a.4HG=1g k;1a.2Mn=1g k;1a.3tv=0;1a.2BI=1g C;1a.4HD=1a.2dJ=1;1a.40u=!1;1a.1vi=1g y;1a.22B=1a.1K4=1a.4Hy=1a.4Hz=1p 0;1a.4Hw=1g C;1a.40l=1a.4Hv=1a.4Hx=1p 0;1a.40j=1g C;1a.40i=1g C;1a.27b=1a.4Hu=1a.9NY=1p 0;1a.40h=1g C}1b u9(a){if(a.40I){1d b=a.1ox;A.42f(b.x,b.x+b.1G,b.y,b.y+b.1D,0,1,a.4I6);A.2Ko(b,0,1,a.4I5);a.40I=!1}}1b v9(a){a.3ty&&(a.3ty=!1,A.8P(a.3tM,a.1Es,w9),bc.12y(w9,a.40z))}1b DS(a){if(a.40w){if(a.8C===O.6G)A.1y(a.1by,a.3tL);1s{1d b=a.1Es,c=a.4HH,d=a.4HG,e=a.2Mn,f=a.3tv,h=a.8C,l=a.3ms,p=a.3tL,n=5UJ;n.x=b.y;n.y=b.z;n.z=b.x;b=5UI;b.x=d.y;b.y=d.z;b.z=d.x;d=5UH;d.x=e.y;d.y=e.z;d.z=e.x;e=5UG;e.x=c.y;e.y=c.z;e.z=c.x;h===O.10j&&(n.z=.5*f);c=l.1cZ(n,5UF);c.3N=B.2Y(c.3N,-1k.PI,1k.PI);c.4k=B.2Y(c.4k,-B.10k,B.10k);l=l.3c;c=l.13B(c,5UE);l=Da.18N(c,l,5UD);A.1gE(l,b,b);A.1gE(l,d,d);A.1gE(l,e,e);g(p)||(p=1g A);p[0]=b.x;p[1]=d.x;p[2]=-e.x;p[3]=0;p[4]=b.y;p[5]=d.y;p[6]=-e.y;p[7]=0;p[8]=b.z;p[9]=d.z;p[10]=-e.z;p[11]=0;p[12]=-k.2A(b,c);p[13]=-k.2A(d,c);p[14]=k.2A(e,c);p[15]=1}A.1nf(a.3tL,a.4I3);a.40w=!1}}1b x9(a){a.40x&&(A.1yQ(a.37O,a.40E),A.1nf(a.40E,a.4I2),a.40x=!1)}1b Ls(a){1a.15z=1g Go(a);1a.4j=a;1a.4dj=cb("1ja/1or/6B2.1Ui");1a.2gO=1a.55l=1p 0;1a.2BG=1g Cb(k.16a,16t);1a.1mm=!0;1a.1jL={1Nb:!0,1WH:!0,1WI:!0,2iW:!0,1kr:!1,1oA:!0};if(1a.4dj!==1a.55l){1d b=1a.4dj;1a.55l=b;if(g(b)){1d c=1a;Z(gf(b),1b(d){if(b===c.4dj){1d e=1g Eb({18i:Ka.1av,18h:Ka.1av});c.2gO=c.2gO&&c.2gO.1M();c.2gO=1g Ca({1O:a,5j:d,10v:e})}})}1s 1a.2gO=1a.2gO&&1a.2gO.1M()}}1b Ms(a){1a.15z=1g Go(a);1a.15z.1ov=Ha.7U;1a.4j=a;1a.1mm=!1;1a.1jL={1Nb:!1,1WH:!1,1WI:!1,2iW:!1,1kr:!1,1oA:!0,3Bg:!1,2mE:!0}}1b Ns(a){1a.15z=1g Go(a);1a.15z.1ov=Ha.3O;1a.4j=a;1a.1mm=!1;1a.1jL={1Nb:!1,1WH:!1,1WI:!1,2iW:!1,1kr:!1,1oA:!0}}1b Os(a){1a.15z=1g Go(a);1a.15z.1ab.1Jm=!1;1a.4j=a;1a.1mm=!1;1a.1jL={1Nb:!1,1WH:!1,1WI:!1,2iW:!1,1kr:!1,1oA:!0,3Bg:!1,2mE:!0}}1b 5Uk(a,b,c){1d d=a.9NX();if(d!==a.6sQ){1d e="1zV 6u:  ";6U(d){1S a.4ZS:e+="4ZS";1W;1S a.4ZR:e+="4ZR";1W;1S a.4ZQ:e+="4ZQ";1W;1S a.4ZP:e+="4ZP";1W;1S a.4ZI:e+="4ZI 6D5";1W;4T:e+="1jJ ("+d+")"}a=e+": "+b.2i+"(";1j(b=0;b<c.1h;++b)0!==b&&(a+=", "),a+=c[b];1t 1g qa(a+");");}}1b 6D4(a,b,c){1f{1n:1b(){c(a,"1n: "+b,a[b]);1f a[b]},1C:1b(d){a[b]=d;c(a,"1C: "+b,d)}}}1b 5Um(a,b){1b c(c){1f 1b(){1d d=c.6c(a,5m);b(a,c,5m);1f d}}if(!g(b))1f a;1d d={},e;1j(e in a){1d f=a[e];f 2m 1wM?d[e]=c(f):1L.12U(d,e,6D4(a,e,b))}1f d}1b jg(a,b){1j(1d c=b.1h,d=0;d<c;++d){1d e=a.2pb(b[d]);if(e)1f e}}1b 6D3(a,b,c,d){1d e=a,f=b;if(e>c||f>d)e/c>f/d?(e=c,f=b/a*c):(e=a/b*d,f=d);1f{1G:e,1D:f}}1b kg(a,b){if("7w"===2h 4Hn)1t 1g qa("9B 1Ve 18f 2S 19G 1zV.  6yP 10R://1n.3ds.1m9.");v.2l("3M",a);1a.10C=a;1d c=b&&b.9NW||{};1a.3na=c.3Aw||1;1a.3QH=c.3Ax||1;1a.5wS=c.9NV||0;1a.5wT=c.9NU||0;1d d=a.1G*1a.3QH,e=a.1D*1a.3na;c=4ca;1d f=6yV;g(b)&&(c=m(b.6yU,c),f=m(b.6yT,f));e=6D3(d,e,c,f);d=e.1G;e=e.1D;a.9NT=c;a.1wE=f;a.1G=300;a.1D=150;b=wc(b,!0);b=m(b,{});b.55i=m(b.55i,!0);f=m(b.3ds,{});f.2O=m(f.2O,!1);f.1gh=m(f.1gh,!0);1d h=m(b.9NS,!1)&&"7w"!==2h 9NR;c=!1;1d l=b.9NQ;if(g(l))1d p=l(a,f);1s if(h&&(p=a.1ft("1py",f)||a.1ft("6D2-1py",f)||1p 0,g(p)&&(c=!0)),g(p)||(p=a.1ft("3ds",f)||a.1ft("6D2-3ds",f)||1p 0),!g(p))1t 1g qa("9B 1Ve 55k 1zV, 19T 9NP 1bf.");1a.2yp=f;a.1G=d;a.1D=e;1a.6M=1a.5Ul=p;1a.1u2=c;1a.7R=Ld();1a.4Hp=1a.37S=1a.3ZM=1a.55h=!1;1a.409=1g Xl(1a);1a.1jd=1g Js;1d n=p;1a.4Ht=n.1Bx(n.6sL);sb.4U3=n.1Bx(n.6sG);sb.4U2=n.1Bx(n.6sB);sb.4U1=n.1Bx(n.6sD);sb.4U0=n.1Bx(n.6sE);sb.4TZ=n.1Bx(n.6sx);sb.4TY=n.1Bx(n.6sN);sb.4TX=n.1Bx(n.6sH);sb.491=n.1Bx(n.6sJ);sb.4TW=n.1Bx(n.6sF);sb.4TV=n.1Bx(n.6sI);a=n.1Bx(n.6sO);sb.4TU=a[0];sb.4TT=a[1];a=n.1Bx(n.6sP);sb.4TS=a[0];sb.4TR=a[1];a=n.1Bx(n.6sM);sb.4TQ=a[0];sb.4TP=a[1];a=n.6D1(n.2Nc,n.6sA);sb.4TL=0!==a.1k7;a=n.6D1(n.2Nc,n.6sz);sb.4TK=0!==a.2do;1a.5UB=n.9NO().2N4;1a.40g=c||!!jg(n,["9NN"]);1a.5Uz=!!jg(n,["9NM"]);1a.5Uy=!!jg(n,["47t"]);1a.19m=!!jg(n,["6D0","9NL"]);1a.40e=c||!!jg(n,["6CZ"]);1a.40d=jg(n,["9NK"]);a=jg(n,["9NJ"]);1a.5Ux=!!jg(n,["55j"]);1a.5Uv=!!jg(n,["3Y8"]);c&&(Ha.1kq=H.1kq);1a.4Hq=!!jg(n,["3Dm"]);1a.5Uu=!!jg(n,["5Nh"]);1a.2Eb=[];g(1a.40g)&&1a.40g&&1a.2Eb.1q("8p");g(1a.40e)&&1a.40e&&1a.2Eb.1q("5J");g(a)&&1a.2Eb.1q("2jp");c&&1a.2Eb.1q("4gf");1a.3TM=!!jg(n,["6CY","6CX"]);1a.5UA=!!jg(n,["9NI"]);1a.4yi=!!jg(n,["6CW"]);1a.5Ut=!!jg(n,["4r3","9NH","9NG"]);1a.5Us=!!jg(n,["4r2","9NF"]);1a.5Ur=!!jg(n,["4r1"]);1a.2h2=a=b.55i?jg(n,["5Nk","5Nj"]):1p 0;sb.4TO=g(a)?n.1Bx(a.4Ee):1;if(c){1d k=1a;1d w=1b(){1f k.6M.5Qa()};1d x=1b(a){k.6M.2p8(a)};1d D=1b(a){k.6M.3YT(a)};1d t=1b(a,b,c,d,e){n.9NE(a,b,c,d,e)};1d r=1b(a,b,c,d){n.9ND(a,b,c,d)};1d G=1b(a,b){n.9NC(a,b)};1d q=1b(a){n.1QR(a)}}1s{1d u=jg(n,["5NN"]);g(u)&&(w=1b(){1f u.5Q9()},x=1b(a){u.5NQ(a)},D=1b(a){u.5Q6(a)});1d Ub=jg(n,["9NB"]);g(Ub)&&(t=1b(a,b,c,d,e){Ub.9NA(a,b,c,d,e)},r=1b(a,b,c,d){Ub.9Nz(a,b,c,d)},G=1b(a,b){Ub.9Ny(a,b)});1d A=jg(n,["9Nx"]);g(A)&&(q=1b(a){A.9Nw(a)})}1a.6CV=w;1a.3yK=x;1a.6hf=D;1a.5Ug=t;1a.5Uf=r;1a.3yL=G;1a.3tr=q;1a.5Up=!!u;1a.5Uo=!!Ub;1a.5Un=!!A;sb.4TN=1a.1QR?n.1Bx(H.6sl):1;sb.4TM=1a.1QR?n.1Bx(H.6sj):1;sb.6CT=1a.1u2?n.1Bx(n.6si):1;1a.2KB=1g y(0,0,0,0);1a.4Hm=1;1a.4Hl=0;D=1g Ks;w=1g Sf(1a);x=pa.4t();1a.4Hj=w;1a.40b=x;1a.2NN=1a.2NO=1a.1u0=1p 0;1a.2Bx=D;1a.3By=x;1a.3Bx=w;1a.28T=1a.3Bw=1p 0;1a.3tq=0;1a.48C=[];1a.48D=!1;1j(D=0;D<sb.491;D++)1a.48C.1q(0);1a.2pD={};1a.4Hc=1g 12X(1);1a.3v=b;1a.1au={};1a.2eD=1g 13X(3);1a.4qN=0;1a.11n=1g 4L(4);1a.6CU=!0;1a.351=1a.3pS=1a.2g5=0;pa.6c(n,x,w);w=m(b.9Nv,1);w=1k.1V(1,w);1a.3tp=1k.3Y(w);1a.2fa=1;1a.1u2&&(1a.2fa=m(b.2fa,1),1a.2fa=1k.2o(1a.2fa,sb.6CT));1a.5Uw=Py(1a)}1b y9(a,b,c,d){1d e=a.3By,f=a.3Bx,h=a.3Bw;a.3By=b;a.3Bx=c;a.3Bw=c.5q;pa.4Ti(a.6M,e,b,f,c,h,c.5q,d)}1b ES(a,b){if(b!==a.28T){a.28T=b;1d c=FS;if(g(b)){b.1QJ();if(a.55h){c=a.6M;1d d=c.4Qe(c.1JV);if(d!==c.3nr){6U(d){1S c.4ZM:1d e="2dn is 2S 1aH.  4di 1Hv: at 1gR 1bS 1Hv 7v 10M a 2pE or 7y 1ET 14d 2aT 1ET 2c no 3Pp in 6CS or 14d an 1ET 4d 10M a 1G or 1D of 16m, or 1Z 1A 1Hv 7v 14d a 26o-1A-1jP 4d 1ET, or 1Z 4e 1Hv 7v 14d a 26o-4e-1jP 4d 1ET, or 1Z 1gh 1Hv 7v 14d a 26o-1gh-1jP 4d 1ET.  1aV-1jP 4dh 2cK 6CR, 6CQ, and 6CP. 6CO is 1Z 1cF 4e-1jP 8V. 6CN is 1Z 1cF 1gh-1jP 8V.";1W;1S c.4ZK:e="2dn is 2S 1aH.  4di 6e: 2S all 1ET 1lw 118 1Z 1ik 1G and 1D.";1W;1S c.4ZL:e="2dn is 2S 1aH.  6CM 1Hv: no 1lw are 1ET to 1Z 4Q.";1W;1S c.4ZJ:e="2dn is 2S 1aH.  1Mp: 1Z 6CL of 55g 4dh of 1Z 1ET 1lw 6CK an 1R5-4Vv 1C of 6CJ."}1t 1g r(e);}}c=b.468()}1s b=a.6M,b.1Bw(b.1JV,1F);a.1QR&&a.3tr(c)}}1b GS(a,b,c){1a.2pD=a;1a.10t=b;1a.1A=c}1b lg(a){1a.1e9=1a.13p=1a.19m=1p 0;1a.1ox=1g Aa;1a.1gz=1p 0;1a.1ab=1g Sf(a);1a.1ab.5q=1a.1ox;1a.4j=a;1a.1mm=!1;1a.1vJ=1a.1vK=1p 0;1a.1jL={1Nb:!1,1WH:!1,1WI:!1,2iW:!1,1kr:!1,1oA:!1,2S7:!1};1a.3tn=1p 0;1a.408=!0;a=1g Sf(a);a.1Jm=!1;a.5q=1g Aa;1a.1ab=a}1b 5U7(a,b,c,d){a.1ox.1G=c;a.1ox.1D=d;g(a.1gz)&&Aa.2L(a.1ox,a.1gz.5q)||(a.1gz=pa.4t({5q:a.1ox}));b.8X?g(a.1e9)||(a.1e9=b.1aL("2n 2v 1qj;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1lP(1Y(1qj, 2F).r);\\n}\\n",{4J:{1qj:1b(){1f a.3tn}},7H:a})):a.1e9=b.1aL("2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\n    2C = 1Y(16S, 2F);\\n}\\n",{4w:pa.4t(),4J:{16S:1b(){1f a.3tn}},7H:a});g(a.13Z)||(a.13Z=1g Ec({1A:1g y(0,0,0,0),1gh:0,7H:a}));a.1e9.4w=a.1gz;a.13Z.4Q=a.13p;a.1e9.4Q=a.13p}1b LC(a,b){1a.9h=a;1a.4Ha=b;1a.10u=1p 0;1a.9s=!1;1a.3tm=A.8K.1y();1a.3tk=1a.37C=1a.1BB=1p 0}1b z9(a,b){v.2l("1O",a);if(!(g(b)&&g(b.1sp)&&g(b.1DI)&&g(b.1yN)&&g(b.1yM)&&g(b.1DH)&&g(b.1DG)))1t 1g r("28z is 1X and 2Q 118 1sp, 1DI, 1yN, 1yM, 1DH, and 1DG 5U.");b=[na.14m(b.1sp).1jN(),na.14m(b.1DI).1jN(),na.14m(b.1yN).1jN(),na.14m(b.1yM).1jN(),na.14m(b.1DH).1jN(),na.14m(b.1DG).1jN()];1f Z.all(b,1b(b){1f 1g vl({1O:a,5j:{1sp:b[0],1DI:b[1],1yN:b[2],1yM:b[3],1DH:b[4],1DG:b[5]}})})}1b lq(a){if(!g(a))1t 1g r("4r are 1X.");1a.2R=a;1a.1sJ=[];1a.5V=1g P;1a.5Y=1p 0;1a.13A=!0;1a.7R=0;1a.1Bl=1a.6X="";1a.27V=!1;1a.11h=15}1b 5U4(a,b,c,d){if(b.3Bv){1j(1d e=[],f=[],h=0;h<d.1h;h++)e.1q(c[d[h]].15H.8X),f.1q(c[d[h]].1GH);b.6g.4J={1FB:1b(){1f b.1xq},3iu:1b(){1f d.1h},1FA:1b(){1f b.1xp},3iv:1b(){1f f},1wr:1b(){1d a=b.15H.8X;1f 1g C(a.1G,a.1D)},3iw:1b(){1f e},2cX:1b(){1f a.8X?a.13m.1Ju:b.1QI.8X},1uI:1b(){1f a.8X?a.13m.40y:1g C(b.1QI.8X.1G,b.1QI.8X.1D)}};b.3Bv=!1}}1b mq(a){if(!g(a))1t 1g r("4r are 1X.");if(!a.1O.8X)1t 1g r("1Z 4e 3J is 2S 11J.");1a.2R=a;1a.5Y=1a.1gg=1a.37z=1a.1Vw=1a.1QN=1a.1QO=1a.1QP=1a.1QQ=1a.19d=1p 0;1a.1RS=1a.1mE=13j;1a.4H8=[0,0,0];1a.4H7=[0,0,0];1a.3tj=0;1a.37A=1g k(0,0,0);1a.2h1=1g k(0,0,0);1a.2pB=1g k(0,0,0);1a.21D=1g A;1a.55f=1g A;1a.13A=!0;1a.11h=1;1a.7R=0;1a.3ZY=1a.3ZZ=1a.402=1a.406=1a.407=1a.6X="";1a.3ZX=1p 0;1a.37B=!1;1a.9h=[]}1b A9(a,b,c){a.1mE=b.8j;a.1RS=b.7p;a.1mE=1>=a.1mE?1:a.1mE;a.1RS=1>=a.1RS?1:a.1RS;b=a.1mE*a.1RS;a.37z=1g 4A(b);a.1gg=1g 4L(4*b);1j(c=0;c<b;c++)a.37z[c]=1,a.1gg[4*c]=0,a.1gg[4*c+1]=0,a.1gg[4*c+2]=0,a.1gg[4*c+3]=255}1b Qy(a,b,c,d){1d e=a.2R,f=45*B.15y,h=.5*k.7t(a.37A),l=1g k;a.2pB.1y(l);k.4g(l,h,l);1d g=1g k;b.1Vy&&!b.1Vx?(k.16a.1y(g),b.2BD?(k.3V(a.2h1,l,g),k.1T(g,g),k.4g(g,h*1k.10n(f),g),k.add(l,g,g),k.11k(g,g)):(k.add(a.2h1,l,g),k.1T(g,g),k.4g(g,h*1k.10n(f),g),k.add(l,g,g))):b.1Vx&&!b.1Vy?(a.37A.1y(g),k.1T(g,g),k.4g(g,h*1k.10n(f),g),k.add(l,g,g),b.2BD&&k.11k(g,g)):b.1Vx||b.1Vy?(f=1g k,k.1T(a.2h1,f),k.4g(f,h,g)):l.1y(g);1d n=1g k;k.add(a.2h1,g,n);g=1g k;k.3V(a.2h1,n,g);f=k.7t(g);1d z=f-b.2BC,w=f+b.2BC;k.1T(g,g);1d x=g.1y(),D=n.1y();D=k.1T(D,D);1<=1k.abs(k.2A(D,x))&&(D=1>1k.abs(k.2A(x,k.1f5))?k.1y(k.1f5,D):k.1y(k.16a,D));g=1g k;k.4B(D,x,g);g=k.1T(g,g);k.4B(x,g,D);D=k.1T(D,D);b.1Vy&&b.1Vx&&(z=.5,w=h);z=.5>z?.5:z;1d t=d.3w,m=t.3j.3I,G=t.3j.3W,r=t.3j.16X,q=1g k,u=t.8e,v=t.8q,lb=t.3j.13n,K=[],C=e.10a.2z2;k.1y(t.1K,q);b.28R.19R=!0;b.28R.1vK=1b(){a.1mE==c.8j&&a.1RS==c.7p||A9(a,c);m=t.3j.3I;G=t.3j.3W;r=t.3j.16X;u=t.8e;v=t.8q;lb=t.3j.13n;k.1y(t.1K,q);t.3j.3I=z;t.3j.3W=w;t.3j.16X=90*B.15y;t.3j.13n=1;t.1dG({16h:n,11f:{2G:x,up:D}});b.1Vy||b.1Vx||(A.1y(t.1on,a.21D),A.1y(t.3j.1pv,a.55f));1j(1d d=0;d<e.9Q.17f.1h;d++){1d f=e.9Q.17f[d];K[d]=f.21b;f.21b=1g y(1,1,1,1);f.2nA(b.2BB)}e.10a.2z2=!1;e.10a.2nA(b.2BB)};b.28R.1vJ=1b(){if(b.1Vy||b.1Vx){1d d=c.1tG({4Q:b.28R.4Q}),f=c.13m,h=f.1Ue;f=f.3tl;A.9b(a.55f,a.21D,h);1d l=1g E,g=1g E(1,1/255,1/1C7,1/2NG),p=a.2R.1O.13m,n=p.37F,z=n.x;n=n.y;1j(1d w=0;w<a.1RS;w++)1j(1d x=0;x<a.1mE;x++){1d D=E.5f(d,4*(w*a.1mE+x),l);E.1eE(D,255,D);D=E.2A(D,g);if(!(0>=D)){a.2R.18Y.1bz&&(D=n*(1-z/(1k.3r(2,D*p.37D)-1+z))/(n-z));l.x=x/a.1mE*2-1;l.y=w/a.1RS*2-1;l.z=2*D-1;l.w=1;A.10r(f,l,l);E.1eE(l,l.w,l);D=1g k(l.x,l.y,l.z);A.10r(h,l,l);E.1eE(l,l.w,l);l.x=.5*l.x+.5;l.y=.5*l.y+.5;1d oa=1k.9p(l.x*a.1mE),aa=1k.9p(l.y*a.1RS);if(0<=oa&&oa<a.1mE&&0<=aa&&aa<a.1RS){1d ka=l.z;1>=ka&&-1<=ka&&(oa+=(a.1RS-aa)*a.1mE,a.1gg[4*oa]=0,a.1gg[4*oa+1]=255,a.1gg[4*oa+2]=255,a.1gg[4*oa+3]=255,aa=a.37z[oa],a.37z[oa]=ka<aa?ka:aa,a.37B&&a.9h.1q(D))}}}}t.1dG({16h:q,11f:{8e:u,8q:v,12C:t.12C}});t.3j.3I=m;t.3j.3W=G;t.3j.16X=r;t.3j.13n=lb;b.28R.19R=!1;1j(d=0;d<e.9Q.17f.1h;d++)h=e.9Q.17f[d],h.21b=K[d],h.2L7();e.10a.2L7();e.10a.2z2=C;if(b.1Vx&&b.1Vy){1j(d=1;d<a.1RS-1;d++)1j(h=1;h<a.1mE-1;h++)f=d*a.1mE+h,l=a.1gg[4*f+1],g=a.1gg[4*(f-a.1mE)+1],p=a.1gg[4*(f+a.1mE)+1],z=a.1gg[4*(f-a.1mE-1)+1],n=a.1gg[4*(f+a.1mE+1)+1],w=a.1gg[4*(f-a.1mE+1)+1],x=a.1gg[4*(f+a.1mE-1)+1],D=a.1gg[4*(f-1)+1],ka=a.1gg[4*(f+1)+1],0==l&&(255==g&&255==p||255==z&&255==n||255==w&&255==x||255==D&&255==ka)&&(a.1gg[4*f]=0,a.1gg[4*f+1]=255,a.1gg[4*f+2]=255,a.1gg[4*f+3]=255);1j(d=1;d<a.1RS-1;d++)1j(h=1;h<a.1mE-1;h++)f=d*a.1mE+h,l=a.1gg[4*f+1],g=a.1gg[4*(f-a.1mE)+1],p=a.1gg[4*(f+a.1mE)+1],z=a.1gg[4*(f-a.1mE-1)+1],n=a.1gg[4*(f+a.1mE+1)+1],w=a.1gg[4*(f-a.1mE+1)+1],x=a.1gg[4*(f+a.1mE-1)+1],D=a.1gg[4*(f-1)+1],ka=a.1gg[4*(f+1)+1],255>l&&(l=(w+n+z+x)/9+(g+D+ka+p)/9+l/9,l=1k.9p(l),a.1gg[4*f]=0,a.1gg[4*f+1]=l,a.1gg[4*f+2]=l,a.1gg[4*f+3]=l);!a.37B&&a.3ZX(a.1gg);a.37B&&a.5U3(a.9h)}}}1b Oj(a){if(!g(a))1t 1g r("4r are 1X.");if(!a.1O.8X)1t 1g r("1Z 4e 3J is 2S 11J.");1a.2R=a;1a.15H=1p 0;1a.2gU=1g Ec({1gh:0});1a.2gU.6t=ma.1xr;1a.6g=1a.15e=1a.1aO=1p 0;1a.5V=1g P;1a.5Y=1p 0;1a.17k=[0,0,0];1a.1Dx=1a.1b7=0;1a.2gW=90;1a.2gV=60;1a.172=200;1a.1zB=1g E(1,1,1,1);1a.3ZW=!0;1a.10q=1p 0;1a.13s=20;1a.1vH=1g A;1a.2fG=1g A;1a.1GH=1g A;1a.13A=!0;1a.7R=0;1a.1JG=1a.6X="";1a.11h=1;1a.37y=1p 0;1a.2M4=!1;1a.1vq=1p 0;1a.1Nc=1g Ia;1a.4H6=1g A;1a.4H4=1g A;1a.2NM=!1;1a.4H5=MC.4zN}1b B9(a){g(a.15e)&&(a.15e.4c=a.15e.4c&&a.15e.4c.1M(),a.15e.2z=a.15e.2z&&a.15e.2z.1M(),a.15e=1p 0);g(a.6g)&&(a.6g.4c=a.6g.4c&&a.6g.4c.1M(),a.6g.2z=a.6g.2z&&a.6g.2z.1M(),a.6g=1p 0);g(a.1aO)&&(a.1aO.4c=a.1aO.4c&&a.1aO.4c.1M(),a.1aO.2z=a.1aO.2z&&a.1aO.2z.1M(),a.1aO=1p 0)}1b 5U2(a,b,c){1d d=a.2gW*B.15y,e=a.2gV*B.15y,f=1k.10n(.5*d)/1k.10n(.5*e),h=1k.1V(a.172,10),l=a.1b7*B.15y,g=a.1Dx*B.15y,n=k.1iy(a.17k,a.2R.1cD.3c)[0],z=c.3w,w=z.3j.13n,x=z.3j.16X,D=z.3j.3I,t=z.3j.3W,m=1g k,G=z.8e,r=z.8q;k.1y(z.1K,m);a.15H.19R=!0;1d q=c.1bz;a.15H.1vK=1b(){c.1bz=!1;w=z.3j.13n;x=z.3j.16X;D=z.3j.3I;t=z.3j.3W;G=z.8e;r=z.8q;k.1y(z.1K,m);z.3j.13n=f;z.3j.16X=1<=f?d:e;z.3j.3I=1;z.3j.3W=h;q&&(z.3j.3I=.1,z.3j.3W=1E8);z.1dG({16h:n,11f:{8e:l,8q:g,12C:z.12C}});A.9b(z.3j.1pv,z.1on,a.2fG);A.1y(z.1x3,a.1vH);k.1y(k.6h,a.5V.2V);a.5V.3L=a.172;P.5o(a.5V,a.1vH,a.5V)};a.15H.1vJ=1b(){z.1dG({16h:m,11f:{8e:G,8q:r,12C:z.12C},1hk:!1});z.3j.13n=w;z.3j.16X=x;z.3j.3I=D;z.3j.3W=t;c.1bz=q;a.15H.19R=!1}}1b 5U1(a,b,c){1d d=I.9g(I.3O,3*((a.13s+1)*(a.13s+1)+1)),e=3;c=a.2gW*B.15y;1d f=a.172*1k.10n(a.2gV*B.15y*.5),h=1k.PI-.5*c,l=0,g=0,n=c/a.13s;1j(c=0;c<a.13s+1;c++){l=h+c*n;1d k=1k.16D(f/(a.172/1k.3i(l))),w=-k,x=2*k/a.13s;1j(k=0;k<a.13s+1;k++)g=w+k*x,d[e++]=a.172*1k.3i(g)*1k.2T(l),d[e++]=a.172*1k.2T(g),d[e++]=a.172*1k.3i(g)*1k.3i(l)}c=a.13s*a.13s*6+12*a.13s;e=I.9g(I.10P,2*(4+5*a.13s+6*a.13s));f=I.9g(I.10P,c);1j(c=h=0;c<a.13s;c++)1j(k=0;k<a.13s;k++)f[h++]=1+c+k*(a.13s+1),f[h++]=1+c+1+k*(a.13s+1),f[h++]=1+c+(k+1)*(a.13s+1),f[h++]=1+c+1+k*(a.13s+1),f[h++]=1+c+1+(k+1)*(a.13s+1),f[h++]=1+c+(k+1)*(a.13s+1);1j(c=0;c<a.13s;c++)f[h++]=c+1+1,f[h++]=c+1,f[h++]=0,f[h++]=0,f[h++]=c+a.13s*(a.13s+1)+1,f[h++]=c+1+a.13s*(a.13s+1)+1;1j(c=0;c<a.13s;c++)f[h++]=0,f[h++]=c*(a.13s+1)+1,f[h++]=(c+1)*(a.13s+1)+1,f[h++]=a.13s+(c+1)*(a.13s+1)+1,f[h++]=a.13s+c*(a.13s+1)+1,f[h++]=0;h=0;e[h++]=0;e[h++]=1;e[h++]=0;e[h++]=a.13s+1;e[h++]=0;e[h++]=a.13s*(a.13s+1)+1;e[h++]=0;e[h++]=(a.13s+1)*(a.13s+1);1j(c=0;5>c;c++)1j(k=0;k<a.13s;k++)e[h++]=1+k+5*(a.13s+1)*c,e[h++]=1+(k+1)+5*(a.13s+1)*c;1j(c=0;5>c;c++)1j(k=0;k<a.13s;k++)e[h++]=1+(a.13s+1)*k+5*c,e[h++]=1+(a.13s+1)*(k+1)+5*c;c=Ra.12S({1O:b,5b:d,7Q:xa.7C});k=[];d={4f:0};k.1q({2P:d.4f,7e:c,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});c=Ra.17Q({1O:b,5b:e,7Q:xa.7C,17P:Ta.10P});e=Ra.17Q({1O:b,5b:f,7Q:xa.7C,17P:Ta.10P});a.1aO=1g Oa({6Z:Ja.1ao,4a:a.1vH,6W:a.5V,6t:ma.1xr,7H:a,8d:!0});a.1aO.4c=1g Fb({1O:b,2w:k,10X:c});a.1aO.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\n\\1B 1m 15a;\\n\\1J 1m 4m;\\1J 1m 14u;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\n#1u\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   4m = 15a;\\n#1z 1db\\n   1b0 = 4f.1H;\\n#1u\\n}",5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n\\1J 1m 4m;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\4i 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   2C = 4m;\\n#1z 1db\\n   1w 2U = 1T(1ju(1b0));\\n   1m 1uP = 9q * 1m(1b0.1H, 1.0);\\n   1w 19X = 1T(1HW - 1w(1uP));\\n   1o 18o = 1V(2A(19X, 2U), 0.0);\\n   1m 8t = 4m * 1j3 * 18o;\\n   1m 18A = 4m * 1j3;\\n   2C = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n#1u\\n}",7W:d});a.1aO.4w=pa.4t({8d:{3e:!1},9J:{3e:!0}});1d D=[];1j(c=0;6>c;c++)D[c]=1g E(0,0,0,0);a.1aO.4J={15a:1b(){1f a.1zB},1wb:1b(){1f 0},1lR:1b(){1f D},1Fc:1b(){1f E.1xa}};a.15e=1g Oa({6Z:Ja.11G,4a:a.1vH,6W:a.5V,6t:ma.3iq,7H:a,8d:!0});a.15e.4c=1g Fb({1O:b,2w:k,10X:e});a.15e.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\n\\1B 1m 15a;\\n\\1J 1m 4m;\\1J 1m 14u;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\n#1u\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   4m = 15a;\\n#1z 1db\\n   1b0 = 4f.1H;\\n#1u\\n}",5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n\\1J 1m 4m;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\4i 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   2C = 4m;\\n#1z 1db\\n   1w 2U = 1T(1ju(1b0));\\n   1m 1uP = 9q * 1m(1b0.1H, 1.0);\\n   1w 19X = 1T(1HW - 1w(1uP));\\n   1o 18o = 1V(2A(19X, 2U), 0.0);\\n   1m 8t = 4m * 1j3 * 18o;\\n   1m 18A = 4m * 1j3;\\n   2C = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n#1u\\n}",7W:d});a.15e.4w=pa.4t({13Q:!1,1fA:{5r:!1,5t:!1,5G:!1,2O:!1},9J:{3e:!0,14R:go.2a0},12h:{3e:!0,1iu:Jc.1jW,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.2io},1it:Jc.1jW,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:0,11q:-1}});a.15e.4J={15a:1b(){1f E.1xa},1wb:1b(){1f 0},1lR:1b(){1f D},1Fc:1b(){1f E.1xa}};a.6g=1g Oa({6Z:Ja.11G,4a:a.1vH,6W:a.5V,6t:ma.3iq,7H:a,8d:!0});a.6g.4c=1g Fb({1O:b,2w:k,10X:e});c=1g ja({2i:"4hJ",5p:["3Q 1m 4f;\\n\\1J 1m 1l7;\\2s 2k()\\n{\\n\\4hI = 11o * 1m(4f.1H, 1.0);\\n\\1tg = 1wa(1l7);\\n}"]});a.6g.2z=Ga.4t({1O:b,5O:c,5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 5w 1Lx;\\1B 1v 1wr;\\1B 2v 1pc;\\1B 2v 3in;\\n#1z 2vP\\1B 2v 1Ys;\\1B 5w 3io;\\1B 1o 3ip;\\n#1u\\n\\1J 1m 1l7;\\n\\1r 19x(in 1m 4e)\\n{\\n\\4s 1kg = 11N(4e);\\n\\4s 1iU = 1dx.3I;\\n\\4s 1iV = 1dx.3W;\\n\\11r (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\n}\\n\\1r 1YO(in 2v 1D8, in 1m 4M)\\n{\\n\\10O 1h4;\\n    1h4 = 4M.xy * 1wr - 0.5;\\n\\4s x0 = 2t(1h4.x);\\n\\4s x1 = 8a(1h4.x);\\n\\4s y0 = 2t(1h4.y);\\n\\4s y1 = 8a(1h4.y);\\n\\10O 19y = 1.0 / 1wr;\\n\\10O 1YW = 1v((x0 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YU = 1v((x1 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YV = 1v((x0 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\10O 1YT = 1v((x1 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\4s 1YS = 19x(1Y(1pc, 1YW));\\n\\4s 1YQ = 19x(1Y(1pc, 1YV));\\n\\4s 1YR = 19x(1Y(1pc, 1YU));\\n\\4s 1YP = 19x(1Y(1pc, 1YT));\\n\\4s 4e = 1V(1V(1YS, 1YR), 1V(1YQ, 1YP));\\n\\11r 4e;\\n}\\n#1z 2vP\\166 3Ks(1v 8R)\\n{\\n    7d 3Kt = (3ip < 0.5);\\n    if(3Kt)\\n    {\\n        1f 1Y(1Ys, 8R).r > 0.5;\\n    }\\n    1s\\n    {\\n    1f 1Y(1Ys, 8R).r < 0.5;\\n    }\\n}\\n#1u\\n\\2s 2k()\\n{\\n    1Sc();\\n\\7c 1pd = 1l7 / 1l7.w;\\n\\1OQ.xy = 1pd.xy * 0.5 + 0.5;\\n\\4s 1mX = 11N(1Y(1aB, 1pd.xy));\\n\\2vj = 1rn(1mX);\\n\\2vj = 1mX * 2.0 - 1.0;\\n\\7c 3h = 1l7;\\n\\2Yh.z = 1mX * 3h.w;\\n\\7c 9I = 1k1 * 3h;\\n\\7c 1mW = 1Lx * 9I;\\n\\7c 4M = 1mW / 1mW.w;\\n\\2cW.1H = 4M.1H * 0.5 + 0.5;\\n\\9u(4M.x < 0.0 || 4M.x > 1.0 || 4M.y < 0.0 || 4M.y > 1.0)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 2vP\\n    1m 2YH = 3io * 9I;\\n\\7c 1P0 = 2YH / 2YH.w;\\n\\5gt.1H = 1P0.1H * 0.5 + 0.5;\\n\\9u(1P0.x < 0.0 || 1P0.x > 1.0 || 1P0.y < 0.0 || 1P0.y > 1.0)\\n\\t{\\n\\t\\17O;\\n    }\\n\\9u(!3Ks(1P0.xy))\\n    {\\n        7o;\\n    }\\n#1u\\n\\4s 4e = 1YO(1pc, 4M);\\n\\3JF = 4e * 0.5 + 0.5;\\n\\4s 1dW = abs(1cu(4M.z));\\n\\4s 1dV = abs(1ct(4M.z));\\n\\4s dF = 1V(1dW, 1dV) * 3.0;\\n\\4s 1l0 = 1.1Al-6 + dF;\\n\\9u(4e + 0.3JE < 4M.z)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 1Y(3in, 4M.xy);\\n\\14F = 9D(2C);\\n}",7W:d});a.6g.4w=pa.4t({8d:{3e:!1},9J:{3e:!1},13Q:!1,12h:{3e:!0,1iu:Jc.1JA,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1it:Jc.1JA,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:0,11q:-1},12e:Dc.1bQ});a.6g.4J={1Lx:1b(){1f a.1GH},3io:1b(){1f a.4H6},1wr:1b(){1d b=a.15H.8X;1f 1g C(b.1G,b.1D)},1pc:1b(){1f a.15H.8X},3in:1b(){1f a.10q},1Ys:1b(){1f a.1vq},3ip:1b(){1f a.4H5}}}1b HS(a,b){if(g(a.6g)){1d c=a.2R.4j,d=a.6g.2z.5A,e=a.6g.2z.5O,f=d.2N.3f("2vP");b?0>f&&d.2N.1q("2vP"):0<=f&&d.2N.6z(f,1);a.6g.2z.1M();a.6g.2z=Ga.4t({1O:c,5O:e,5A:d,7W:a.12m})}}1b bn(a){1a.15z=1g Go(a);1a.4j=a;1a.1mm=!0;1a.1vJ=1a.1vK=1p 0;1a.4H3=1a.4H2=!0;1a.1jL={1Nb:!1,1WH:!1,1WI:!1,2iW:!1,1kr:!1,1oA:!1,2S7:!1}}1b Sv(){}1b nq(a){if(!g(a))1t 1g r("4r are 1X.");if(!a.1O.8X)1t 1g r("1Z 4e 3J is 2S 11J.");1a.2R=a;1a.5Y=1a.19d=1p 0;1a.1E0=[];1a.2NL=1a.1zC=0;1a.1QM=[];1a.1K3=[];1a.5V=1g P;1a.15x=[];1a.1pD=A.8K.1y();1a.2gZ=10;1a.2Sm=[];1a.2Fw=[];1a.1GW=M.14H();1a.3ZU=M.14H();1a.1vg=0;1a.3ti=1;1a.13A=1a.3th=!0;1a.7R=0;1a.1Bl=1a.6X="";1a.27V=!1;1a.11h=15;1a.15p=[];1a.4H0=1g sa}1b C9(a){1j(1d b=0;b<a.1QM.1h;b++)g(a.1QM[b])&&(a.1QM[b].4c=a.1QM[b].4c&&a.1QM[b].4c.1M(),a.1QM[b].2z=a.1QM[b].2z&&a.1QM[b].2z.1M(),a.1QM[b]=1p 0);1j(b=a.1QM.1h=0;b<a.1K3.1h;b++)g(a.1K3[b])&&(a.1K3[b].4c=a.1K3[b].4c&&a.1K3[b].4c.1M(),a.1K3[b].2z=a.1K3[b].2z&&a.1K3[b].2z.1M(),a.1K3[b]=1p 0);a.1K3.1h=0}1b D9(a){1j(1d b=0;b<a.2Sm.1h;b++)g(a.2Sm[b])&&(a.2Sm[b].1M(),a.2Sm[b]=1F);1j(b=a.2Sm.1h=0;b<a.2Fw.1h;b++)g(a.2Fw[b])&&(a.2Fw[b].1M(),a.2Fw[b]=1F);a.2Fw.1h=0}1b E9(a){1d b=a.1E0.1h/2;if(0===b)1f[];1j(1d c=3a.6w,d=3a.6w,e=-3a.6w,f=-3a.6w,h=0;h<b;h++)c=1k.2o(a.1E0[2*h],c),d=1k.2o(a.1E0[2*h+1],d),e=1k.1V(a.1E0[2*h],e),f=1k.1V(a.1E0[2*h+1],f);a.15x.1h=0;a.15x.1q(c);a.15x.1q(d);a.15x.1q(e);a.15x.1q(f);b=k.8g(.5*(e+c),.5*(f+d),a.1zC+.5*a.2NL);k.1y(b,a.5V.2V);A.1Bh(a.1pD,b,a.1pD);1d l=k.8g(c,d,a.1zC),g=k.8g(e,f,a.1zC+a.2NL);k.3V(g,l,b);a.5V.3L=.5*k.7t(b);b=[];g=l=0;1d n=k.8g(c,d,a.1zC),z=1g $b(0,0,0),w=1g A,x=1g A,D=1g k,t=1g k;h=1g k;Da.1nq(n,z,ba.9y,Da.18N,w);A.12Z(w,x);d=k.8g(e,d,a.1zC);A.8P(x,d,t);c=k.8g(c,f,a.1zC);A.8P(x,c,h);c=k.3s(1g k(0,0,0),t);d=k.3s(1g k(0,0,0),h);1j(h=0;h<c;h+=a.2gZ)1j(g++,e=f=0;e<d;e+=a.2gZ){f++;A.8P(w,1g k(a.2gZ*g,a.2gZ*f,0),D);t=T.12y(D);x=B.10Q(t.3N);t=B.10Q(t.4k);n=x;z=t;a:{1d m=a.1E0,G=m.1h/2,r,q=0;1d u=0;1j(r=G-1;u<G;r=u++){1d v=m[2*u],y=m[2*u+1],K=m[2*r];r=m[2*r+1];1d C=1k.2o(v,K),L=1k.1V(v,K),S=1k.2o(y,r),U=1k.1V(y,r);if(r==y){if(z==y&&n>=C&&n<=L){n=!0;1W a}}1s if(S>z==U<z)if(v=(K-v)*(z-y)/(r-y)+v,n<v)q=!q;1s if(n==v){n=!0;1W a}}n=q}n&&(b[l++]=x,b[l++]=t)}1f b}1b 5TX(a,b,c,d){1d e=c.1h/2,f=I.9g(I.3O,3*e),h=I.9g(I.3O,2*e),l=1F,g=Ta.10P;1a6>e?l=I.9g(I.10P,e):(l=I.9g(I.1bt,e),g=Ta.1bt);1d n=a.15x[2]-a.15x[0],z=a.15x[3]-a.15x[1],w=a.15x[0]-.2ku*n,x=a.15x[1]-.2ku*z;n+=.1cN*n;z+=.1cN*z;1d D=1g E(0,0,0,1),t=1g A;A.12Z(a.1pD,t);1j(1d m=0;m<e;m++){1d G=k.8g(c[2*m],c[2*m+1],d);a.15p.1q(G);D.x=G.x;D.y=G.y;D.z=G.z;A.10r(t,D,D);f[3*m]=D.x;f[3*m+1]=D.y;f[3*m+2]=D.z;h[2*m]=(c[2*m]-w)/n*2-1;h[2*m+1]=(c[2*m+1]-x)/z*2-1;l[m]=m}d=Ra.12S({1O:b,5b:f,7Q:xa.7C});e=Ra.12S({1O:b,5b:h,7Q:xa.7C});h=[];c={4f:0,7s:1};h.1q({2P:c.4f,7e:d,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});h.1q({2P:c.7s,7e:e,2Z:2,3k:I.3O,9n:0,9t:8,1T:!1});l=Ra.17Q({1O:b,5b:l,7Q:xa.7C,17P:g});1d r=1g Ca({1O:b,1G:13j,1D:13j,8b:ua.9m,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U}),13E:!1});a.2Sm.1q(r);1d q=1g Ca({1O:b,1G:13j,1D:13j,8b:ua.9m,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U}),13E:!1});a.2Fw.1q(q);d=1g Oa({6Z:Ja.1wF,4a:a.1pD,6W:a.5V,6t:ma.18W,7H:a,8d:!0});a.1QM.1q(d);d.4c=1g Fb({1O:b,2w:h,10X:l});g=1g ja({5p:["3Q 1m 4f;\\2J 1v 7s;\\n#1z 1Iy\\1B 1o 1ws;\\n#1u\\n\\1J 1m 14u;\\1J 1o 13i;\\1J 1v 6r;\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   6r = 7s.xy;\\n   14u = 9q * 1m(4f.1H, 1.0);\\n#1z 1Iy\\n   1IA = 1ws;\\n#1u\\n}"]});g.2N.1q("1Iy");d.2z=Ga.4t({1O:b,5O:g,5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 2v 1OS;\\n\\1J 1o 13i;\\1J 1v 6r;\\n\\1r 1ay(in 1o 15r, in 1o 162, in 1o 1Q)\\n{\\n\\4s 25t = (15r + 162) * 0.5;\\n\\4s 11D = (162 - 15r) * 0.5;\\n\\4s x = 1.0 - 2Y(abs(25t - 1Q) / 11D, 0.0, 1.0);\\n\\11r x;\\n}\\n\\1R 1eV(in 1o 12r)\\n{\\n\\1qn 5G = 1w(0.0, 0.0, 1.0);\\n\\1qn 2vs = 1w(0.0, 1.0, 1.0);\\n\\1qn 5t = 1w(0.0, 1.0, 0.0);\\n\\1qn 2vr = 1w(1.0, 1.0, 0.0);\\n\\1qn 5r = 1w(1.0, 0.0, 0.0);\\n\\1qn 1A = 1ay(-0.25, 0.25, 12r) * 5G + 1ay(0.0, 0.5, 12r) * 2vs + 1ay(0.25, 0.75, 12r) * 5t + \\n\\t\\t\\t\\5fO(0.5, 1.0, 12r) * 2vr + 13f(0.75, 1.0, 12r) * 5r;\\n\\11r 1A;\\n}\\n\\2s 2k()\\n{\\n\\10O 3JS = (1Ss - 0.5) * 2.0;\\n    1o 6Y = 1.0 - 1h(3JS);\\n\\9u(6Y < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 5J\\n    1bp = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n    1bp = 2o(13i * 4u.w, 1.0);\\n#1u\\n\\10O 8R = 6r.xy * 0.5 + 0.5;\\n\\4s 3JR = 11N(1Y(1OS, 8R.xy));\\n\\14F = 1m(1eV(3JR), 1.0);\\n}",7W:c});d.4w=pa.4t({8d:{3e:!0},9J:{3e:!0},12e:Dc.1bQ});d.4J={1ws:1b(){1f 10},1OS:1b(){1f r}};d=1g Oa({6Z:Ja.1wF,4a:a.1pD,6W:a.5V,6t:ma.18W,7H:a,8d:!1});a.1K3.1q(d);d.4c=1g Fb({1O:b,2w:h,10X:l});g=1g ja({5p:["3Q 1m 4f;\\2J 1v 7s;\\n\\n#1z 1Iy\\1B 1o 1ws;\\n#1u\\n\\1J 1m 1id;\\1J 1v 1yl;\\n\\2s 2k()\\n{\\n\\3JO = 7s.xy * 0.5 + 0.5;\\n\\t//1yl.y = 1.0 - 1yl.y;\\n\\5fM = 1p3 * 1Cp * 1m(4f.1H, 1.0);\\n\\1tg = 1m(7s.xy, 0.5, 1.0);\\n#1z 1Iy\\n\\5fL = 1ws;\\n#1u\\n}"]});g.2N.1q("1Iy");d.2z=Ga.4t({1O:b,5O:g,5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 1o 3hV;\\1B 2v 1OT;\\1B 2v 3hW;\\n\\1J 1m 1id;\\1J 1v 1yl;\\n\\2s 2k()\\n{\\n\\14F = 1Y(3hW, 1yl);\\n\\7c 4p = 1id;\\n\\4s 4e = -4p.z;\\n\\9u(4e > 24P[1].w)\\n\\t{\\n\\t\\11r;\\n\\t}\\n\\7c 1cx = 2Ue(4e);\\n\\7c 1wt = 2Uh(1cx) * 4p;\\n\\4s 12F = 24D(1OT, 1wt.xy, 1wt.z);\\n\\9u(12F < 0.17I)\\n\\t{\\n\\t\\11r;\\n\\t}\\n\\4s 3JQ = 11N(2C);\\n\\4s 12r = 3JQ + 3hV;\\n\\5fN = 2Y(12r, 0.0, 0.1Ax);\\n\\14F = 1lP(12r);\\n}",7W:c});d.4w=pa.4t({5q:1g Aa(0,0,13j,13j),8d:{3e:!1},9J:{3e:!1}});1d u=1/a.1vg,v=a.2R.17A;d.4J={1ws:1b(){1f 4},3hV:1b(){1f u},1OT:1b(){1f v.27y},2KK:1b(){1f v.27y},3nx:1b(){1f v.3R4},24P:1b(){1f v.3nq},2Ug:1b(){1f v.3R8},3ny:1b(){1f v.2f2},2nl:1b(){1f v.3ns},2Ui:1b(){1f v.3R9},3hW:1b(){1f q}};d.4Q=1g eb({1O:b,13I:[r],16Y:!1})}1b 5TW(a,b,c){a.19d.19R=!0;1d d=c.6q.1y(),e=0,f=c.1bz;a.19d.1vK=1b(){c.1bz=!1;a.2R.17A.3e=!0;d=c.6q.1y();c.6q=M.4GZ(a.1GW,e,1g M);e+=a.3ti;c.10s.11P=!1};a.19d.1vJ=1b(){c.1bz=f;1j(1d e=0;e<a.1K3.1h;e++){a.1K3[e].5P(b);1d l=b.1tG({x:0,y:0,1G:13j,1D:13j,4Q:a.1K3[e].4Q});a.2Fw[e].1iq({1G:13j,1D:13j,1a9:l})}c.6q=d;if(1>--a.1vg){a.19d.19R=!1;a.3th=!1;e=[];l=0;1j(1d g=a.15p.1h;l<g;l++){1d n=a.15p[l],z=T.12y(n);z=a.5TV(z);e.1q({1K:k.1y(n),9Nu:z})}0<e.1h&&a.4H0.5k(e)}}}1b Yl(a){if(!g(a))1t 1g r("4r are 1X.");1a.2R=a;1a.5Y=1a.10u=1a.19d=1p 0;1a.17k=[0,0,0];1a.2Mo=1g k;1a.2fG=1g A;1a.2NK=1g Ia;1a.1GH=1g A;1a.37x=1g Ia;1a.2gY=1g E(0,1,0,1);1a.2gX=1g E(1,0,0,1);1a.1N5=1g Ia;1a.13A=!0;1a.7R=0;1a.6X="";1a.11h=15;1a.37w=1g Ia;1a.1vI=1g Ia;1a.1pu=1g Ia}1b 5TT(a,b,c){1d d=c.3w,e=d.16y;if(a.2R.3z===O.6G)1d f=k.1iy(a.17k,a.2R.1cD.3c)[0];1s{1d h=T.8g(a.17k[0],a.17k[1],a.17k[2]);f=e.12z(h,1g k)}1d l=1g k(0,0,0),p=0;h=a.4GX;a.2R.3z===O.6G?e=k.1iy(h,a.2R.1cD.3c)[0]:(h=T.8g(h[0],h[1],h[2]),e=e.12z(h,1g k));h=1g k;k.3V(e,f,h);k.1T(h,h);k.add(l,h,l);p=1k.1V(p,k.3s(e,f));k.1T(l,l);k.1y(l,a.2Mo);1d n=1g k,z=1g k,w=1g k,x=d.3j.16X;k.1y(d.1K,n);k.1y(d.2G,z);k.1y(d.up,w);1d D=2*B.PI/3,t=d.3j.3I,m=d.3j.3W,G=c.1bz,r=a.4GY,q=a.1vI.1n(r);g(q)||(q=1g lg(b),q.1cn.1oA=!0,q.1cn.1kr=!0,q.11h=a.11h,c.18w[r]=q,a.1vI.1C(r,q),q.19R=!0);q.1vK=1b(){c.1bz=!1;k.1y(d.1K,n);k.1y(d.2G,z);k.1y(d.up,w);x=d.3j.16X;d.3j.16X=D;1d b=1g k;b=k.1y(f,b);b=k.1T(b,b);1<=1k.abs(k.2A(b,l))&&(b=1>1k.abs(k.2A(l,k.1f5))?k.1y(k.1f5,b):k.1y(k.16a,b));1d e=1g k;k.4B(b,l,e);e=k.1T(e,e);k.4B(l,e,b);b=k.1T(b,b);b={16h:f,11f:{2G:l,up:b},1hk:!1};d.1dG(b);a.5TR=b;d.3j.3I=1;d.3j.3W=1k.8a(1k.1V(p,10));b=1g A;A.9b(d.3j.1pv,d.1on,b);a.2NK.1C(r,b);a.37x.1C(r,1g A)};q.1vJ=1b(){c.1bz=G;d.3j.16X=x;d.1dG({16h:n,11f:{2G:z,up:w},1hk:!1});d.3j.3I=t;d.3j.3W=m;q.19R=!1;if(!a.13A){1d b=F9(a,r);a.37w.1C(r,b)}}}1b 5TS(a,b,c){1d d=c.3w.16y;a.2R.3z===O.6G?c=k.1iy(a.17k,a.2R.1cD.3c)[0]:(c=T.8g(a.17k[0],a.17k[1],a.17k[2]),c=d.12z(c,1g k));1d e=I.9g(I.3O,6),f=I.9g(I.3O,4),h=I.9g(I.10P,2),l=1,g=B.PI/3;f[0]=1;1d n=a.4GX;a.2R.3z===O.6G?d=k.1iy(n,a.2R.1cD.3c)[0]:(n=T.8g(n[0],n[1],n[2]),d=d.12z(n,1g k));n=1g k;k.3V(d,c,n);e[3*l]=n.x;e[3*l+1]=n.y;e[3*l+2]=n.z;k.1T(n,n);k.1B3(n,a.2Mo)>g?f[2*l]=0:f[2*l]=1;f[2*l+1]=0;h[2*(l-1)]=0;h[2*(l-1)+1]=l++;g=Ra.12S({1O:b,5b:e,7Q:xa.7C});l=[];e={4f:0};l.1q({2P:e.4f,7e:g,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});e.7s=1;f=Ra.12S({1O:b,5b:f,7Q:xa.7C});l.1q({2P:e.7s,7e:f,2Z:2,3k:I.3O,9n:0,9t:8,1T:!1});f=Ra.17Q({1O:b,5b:1g 10Y(h),7Q:xa.7C,17P:Ta.10P});h=1g Oa({6Z:Ja.1ao,6t:ma.1xr,7H:a,8d:!1});g=1g A;A.1y(A.8K,g);A.1Bh(g,c,g);a.2R.3z!==O.6G&&A.9b(5TU,g,g);h.4a=g;h.4c=1g Fb({1O:b,2w:l,10X:f});c=1g ja({2i:"5fJ",5p:["2n 2v 1OS;\\1B 1m 3hU;\\1B 1m 3hT;\\n\\1J 1m 1mW;\\1J 1o 2vq;\\1J 1m 1id;1p 2k()\\n{\\n   1m 1rI = 1m(3hU.2y, 1.0);\\n   1m 4M = 1mW / 1mW.w;\\n   1o 4e = 4M.z * 0.5 + 0.5;\\n   // 1o 1p0 = 0.5fI * 1V(-1id.z * 0.11t, 1.0);\\n   // 4e -= 1p0;\\n   4M.xy = 4M.xy * 0.5 + 0.5;\\n   if(abs(2vq - 1.0) < 0.1t2)\\n   {\\n\\t\\4s 1kg = 11N(1Y(1OS, 4M.xy));\\n\\t\\9u(1kg < 4e)\\n\\t\\t{\\n\\t\\t\\3JN = 1m(3hT.2y, 1.0);\\n\\t\\t}\\n   }\\n   1s\\n   {\\n\\t\\3JN = 1m(0.4, 0.4, 0.4, 1.0);\\n   }\\n   2C = 1rI;\\n}"]});h.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\2J 1v 7s;\\1B 5w 1Lx;\\1J 1m 1mW;\\1J 1o 2vq;\\n#1z 10B\\1J 1o 5hi;\\n#1u\\1J 1m 1id;\\2s 2k()\\n{\\n   6I = 11o * 1m(4f.1H, 1.0);\\n   1m 9I = 9q * 1m(4f.1H, 1.0);\\n   1id = 9I;\\n   1mW = 1Lx * 9I;\\n   2vq = 7s.x;\\n}",5A:c,7W:e});h.4w=pa.4t({8d:{3e:!1},9J:{3e:!1}});1d z=a.4GY;h.4J={1Lx:1b(){1f a.37x.1n(z)},1OS:1b(){1f a.1vI.1n(z).8X},3hU:1b(){1f a.2gY},3hT:1b(){1f a.2gX}};a.1pu.1C(z,h)}1b F9(a,b){1d c=a.1N5.1n(b);if(g(c)){1d d={6CI:!0};c=k.1iy(c,a.2R.1cD.3c)[0];1d e=1g E(c.x,c.y,c.z,1),f=a.2NK.1n(b);A.10r(f,e,e);E.1eE(e,e.w,e);if(1<e.x||-1>e.x||1<e.y||-1>e.y)1f d;1d h=a.2R.1O,l=(.5*e.x+.5)*h.8j-.5,p=(.5*e.y+.5)*h.7p-.5;if(0>l||0>p)1f d;c=1k.2t(l);1d n=l-c;l=1k.2t(p);p-=l;b=a.1vI.1n(b);b=h.1tG({4Q:b.4Q,x:c,y:l,1G:2,1D:2});h=1g E;1j(1d z=1g E(1/255,1/1C7,1/2NG,1/5Th),w=[],x=0;4>x;x++){1d D=E.5f(b,4*x,h);D=E.2A(D,z);if(!(1>D&&0<D))1f d;w[x]=2*D-1}n=(1-p)*((1-n)*w[0]+n*w[1])+p*((1-n)*w[2]+n*w[3]);1E-6<e.z-n&&(p=1g A,A.12Z(f,p),e.z=n,A.10r(p,e,e),E.1eE(e,e.w,e),a=T.12y(e,a.2R.1cD.3c),d.1K=a,d.6CI=!1,d.st=1g C(c,l));1f d}}1b Vi(a){if(!g(a))1t 1g r("4r are 1X.");if(!a.1O.8X)1t 1g r("1Z 4e 3J is 2S 11J.");if(1>sb.2gQ)1t 1g r("1Z 1V of 9Nt 1do 1, 1b is 2S 11J.");1a.1N8={1TB:0,2Bd:1};1a.2R=a;1a.1N9=1a.1Na=1a.1aO=1a.10u=1a.19d=1p 0;1a.5V=1g P;1a.5Y=1p 0;1a.17k=[0,0,0];1a.1Dx=1a.1b7=0;1a.3ZT=1a.1N8.1TB;1a.1vH=1g A;1a.4dg=1g A;1a.7a=1g E(1,0,0,1);1a.1fx=-1;1a.22y=1g Ia;1a.13A=!1;1a.11h=15;1a.7R=0;1a.6X="";1a.15p=[];1a.1gc=1;1a.3ZS=a.13y.add(1g Bf)}1b II(a){g(a.10u)&&(a.10u.4c=a.10u.4c&&a.10u.4c.1M(),a.10u.2z=a.10u.2z&&a.10u.2z.1M(),a.10u=1p 0);g(a.1aO)&&(a.1aO.4c=a.1aO.4c&&a.1aO.4c.1M(),a.1aO.2z=a.1aO.2z&&a.1aO.2z.1M(),a.1aO=1p 0);g(a.1N7)&&(a.1N7.4c=a.1N7.4c&&a.1N7.4c.1M(),a.1N7.2z=a.1N7.2z&&a.1N7.2z.1M(),a.1N7=1p 0)}1b IS(a){g(a.1Na)&&(a.1Na.4c=a.1Na.4c&&a.1Na.4c.1M(),a.1Na.2z=a.1Na.2z&&a.1Na.2z.1M(),a.1Na=1p 0);g(a.1N9)&&(a.1N9.4c=a.1N9.4c&&a.1N9.4c.1M(),a.1N9.2z=a.1N9.2z&&a.1N9.2z.1M(),a.1N9=1p 0)}1b 5TP(a,b,c){1d d=a.17k[2],e=5E-4*d;e=1>e?1:e;1d f=1k.abs(d)+16t,h=1k.3Y((f-16t)*(f+16t));0>d&&5E4>h?h=5E4:100>d&&0<d&&(h*=50);1d l=a.1b7*B.15y,p=a.1Dx*B.15y,n=c.3w;c=n.16y;if(a.2R.3z===O.6G)1d z=k.1iy(a.17k,a.2R.1cD.3c)[0];1s d=T.8g(a.17k[0],a.17k[1],a.17k[2]),z=c.12z(d,1g k);1d w=n.3j.3I,x=n.3j.3W,D=1g k,t=n.8e,m=n.8q;k.1y(n.1K,D);a.19d.19R=!0;a.19d.1vK=1b(){w=n.3j.3I;x=n.3j.3W;t=n.8e;m=n.8q;k.1y(n.1K,D);n.3j.3I=e;n.3j.3W=h;1d b={16h:z,11f:{8e:l,8q:p},1hk:!1};n.1dG(b);a.5TM=b;A.1y(n.1x3,a.1vH);A.9b(n.3j.1pv,n.1on,a.4dg);A.12Z(a.4dg,a.4dg);a.2R.3z===O.6G?k.1y(z,a.5V.2V):(b=Da.22W(k.8g(a.17k[0],a.17k[1],a.17k[2])),k.1y(b,a.5V.2V));a.5V.3L=h};a.19d.1vJ=1b(){if(g(a.1aO)){a.15p.1h=0;1d c=b.1tG({4Q:a.19d.4Q}),d=a.1aO.4c.15o(0),e=4*(b.8j+1),f=I.9g(d.3k,e);f[0]=0;f[1]=0;f[2]=0;f[3]=1;4*e!==d.7e.18Q&&(II(a),G9(a,b),d=a.1aO.4c.15o(0));e=1g E;1d h=1g E(1,1/255,1/1C7,1/2NG),l=b.13m,p=l.3tK,z=l.37F,r=z.x;z=z.y;1j(1d oa=0;oa<b.8j;oa++){1j(1d q=0,u=b.7p-1;-1<u;u--){q=4*(b.8j*u+oa);q=E.5f(c,q,e);E.1eE(q,255,q);q=E.2A(q,h);if(0<q)1W;q=0}a.2R.18Y.1bz&&0<q&&(q=z*(1-r/(1k.3r(2,q*l.37D)-1+r))/(z-r));e.x=oa/b.8j*2-1;e.y=u/b.7p*2-1;e.z=2*q-1;e.w=1;A.10r(p,e,e);u=1g k(e.x,e.y,e.z);k.1eE(u,e.w,u);q=k.7t(u);0<a.1fx&&q>a.1fx&&(k.1T(u,u),u.x*=a.1fx,u.y*=a.1fx,u.z*=a.1fx);e.x=u.x;e.y=u.y;e.z=u.z;e.w=1;u=k.1vu(A.10r(a.1vH,e,1g E));if(0<a.15p.1h&&(q=k.3s(a.15p[a.15p.1h-1],u),1E3<q)){1d v=1k.8a(q/1E3);1j(q=1;q<v;q++){1d B=1g k;B=k.11x(a.15p[a.15p.1h-1],u,q/v,B);a.15p.1q(B)}}a.15p.1q(u);f[4*(oa+1)]=e.x;f[4*(oa+1)+1]=e.y;f[4*(oa+1)+2]=e.z;f[4*(oa+1)+3]=e.w}d.7e.1jR(f,0);1j(c=0;c<a.22y.2a.1h;c++)a.22y.2a[c].2H(b,n);a.3ZS.7f();2<=a.1gc&&a.3ZS.add({1G:a.1gc,3q:a.15p,2q:va.1kk(va.1oL,{1A:y.1vu(a.7a)})})}n.1dG({16h:D,11f:{8e:t,8q:m,12C:n.12C},1hk:!1});n.3j.3I=w;n.3j.3W=x;a.19d.19R=!1}}1b 5TO(a,b,c){c=c.3w.3j;1d d=10*1k.10n(1*1k.16D(c.13n*1k.10n(.5*c.1MK))),e=10*1k.10n(.5*c.1MK),f=I.9g(I.10P,12);c=I.9g(I.10P,16);f[0]=0;f[1]=2;f[2]=1;f[3]=0;f[4]=4;f[5]=2;f[6]=0;f[7]=3;f[8]=4;f[9]=0;f[10]=1;f[11]=3;c[0]=0;c[1]=1;c[2]=0;c[3]=2;c[4]=0;c[5]=3;c[6]=0;c[7]=4;c[8]=1;c[9]=2;c[10]=1;c[11]=3;c[12]=2;c[13]=4;c[14]=3;c[15]=4;1d h=I.9g(I.3O,15);h[0]=h[1]=h[2]=0;h[3]=-d;h[4]=-e;h[5]=-10;h[6]=-d;h[7]=e;h[8]=-10;h[9]=d;h[10]=-e;h[11]=-10;h[12]=d;h[13]=e;h[14]=-10;h=Ra.12S({1O:b,5b:h,7Q:xa.7C});d=[];e={4f:0};d.1q({2P:e.4f,7e:h,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});f=Ra.17Q({1O:b,5b:f,7Q:xa.7C,17P:Ta.10P});c=Ra.17Q({1O:b,5b:c,7Q:xa.7C,17P:Ta.10P});a.1N9=1g Oa({6Z:Ja.1ao,4a:a.1vH,6t:ma.1xr,7H:a,8d:!1});a.1N9.4c=1g Fb({1O:b,2w:d,10X:c});a.1N9.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\n\\1B 1m 15a;\\n\\1J 1m 4m;\\1J 1m 14u;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\n#1u\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   4m = 15a;\\n#1z 1db\\n   1b0 = 4f.1H;\\n#1u\\n}",5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n\\1J 1m 4m;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\4i 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   2C = 4m;\\n#1z 1db\\n   1w 2U = 1T(1ju(1b0));\\n   1m 1uP = 9q * 1m(1b0.1H, 1.0);\\n   1w 19X = 1T(1HW - 1w(1uP));\\n   1o 18o = 1V(2A(19X, 2U), 0.0);\\n   1m 8t = 4m * 1j3 * 18o;\\n   1m 18A = 4m * 1j3;\\n   2C = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n#1u\\n}",7W:e});a.1N9.4w=pa.4t({8d:{3e:!1},9J:{3e:!0}});1d l=[];1j(c=0;6>c;c++)l[c]=1g E(0,0,0,0);1d g=1g E(128/255,1,235/255,1);a.1N9.4J={15a:1b(){1f g},1wb:1b(){1f 0},1lR:1b(){1f l},1Fc:1b(){1f E.1xa}};a.1Na=1g Oa({6Z:Ja.11G,4a:a.1vH,6t:ma.1xr,7H:a,8d:!1});a.1Na.4c=1g Fb({1O:b,2w:d,10X:f});a.1Na.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\n\\1B 1m 15a;\\n\\1J 1m 4m;\\1J 1m 14u;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\n#1u\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   4m = 15a;\\n#1z 1db\\n   1b0 = 4f.1H;\\n#1u\\n}",5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n\\1J 1m 4m;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\4i 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   2C = 4m;\\n#1z 1db\\n   1w 2U = 1T(1ju(1b0));\\n   1m 1uP = 9q * 1m(1b0.1H, 1.0);\\n   1w 19X = 1T(1HW - 1w(1uP));\\n   1o 18o = 1V(2A(19X, 2U), 0.0);\\n   1m 8t = 4m * 1j3 * 18o;\\n   1m 18A = 4m * 1j3;\\n   2C = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n#1u\\n}",7W:e});a.1Na.4w=pa.4t({8d:{3e:!1},9J:{3e:!0}});1d n=1g E(68/255,222/255,158/255,1);a.1Na.4J={15a:1b(){1f n},1wb:1b(){1f 0},1lR:1b(){1f l},1Fc:1b(){1f E.1xa}}}1b G9(a,b,c){1d d=b.8j+1,e=I.9g(I.3O,4*d),f=I.9g(I.3O,2*d),h=I.9g(I.10P,d-1);c=I.9g(I.10P,d);f[0]=-1;1j(1d l=1;l<d;l++)f[2*l]=l/(d-1),f[2*l+1]=0;1j(l=0;l<d-1;l++)h[l]=l+1,c[l]=l;c[d-1]=d-1;l=Ra.12S({1O:b,5b:e,7Q:xa.7C});d=[];e={4f:0};d.1q({2P:e.4f,7e:l,2Z:4,3k:I.3O,9n:0,9t:16,1T:!1});e.7s=1;f=Ra.12S({1O:b,5b:f,7Q:xa.7C});d.1q({2P:e.7s,7e:f,2Z:2,3k:I.3O,9n:0,9t:8,1T:!1});h=Ra.17Q({1O:b,5b:h,7Q:xa.7C,17P:Ta.10P});c=Ra.17Q({1O:b,5b:c,7Q:xa.7C,17P:Ta.10P});f={2H1:1b(){1f a.7a}};a.1aO=1g Oa({6Z:Ja.22n,4a:a.1vH,6W:a.5V,6t:ma.1xr,7H:a,8d:!1});a.1aO.4c=1g Fb({1O:b,2w:d,10X:h});a.1aO.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\2J 1m 7s;\\n\\2s 2k()\\n{\\n   6I = 11o * 4f;\\n}",5A:"2n 1m 2H1;\\n\\2s 2k()\\n{\\n   2C = 2H1;\\n}",7W:e});a.1aO.4w=pa.4t({8d:{3e:!1},9J:{3e:!0}});a.1aO.4J=f;a.1N7=1g Oa({6Z:Ja.2iI,4a:a.1vH,6W:a.5V,6t:ma.1xr,7H:a,8d:!1});a.1N7.4c=1g Fb({1O:b,2w:d,10X:c});a.1N7.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\2J 1m 7s;\\n\\2s 2k()\\n{\\n   6I = 11o * 4f;\\n}",5A:"2n 1m 2H1;\\n\\2s 2k()\\n{\\n   2C = 2H1;\\n}",7W:e});a.1N7.4w=pa.4t({8d:{3e:!1},9J:{3e:!0}});a.1N7.4J=f}1b oq(a){1a.15z=1g Go(a);1a.15z.1ab.1Jm=!1;1a.4j=a;1a.1mm=!1;1a.1jL={1Nb:!1,1WH:!1,1WI:!1,2iW:!1,1kr:!1,1oA:!0,3Bg:!1,2mE:!0};1a.1b4=Ud.1h5;1a.1vJ=1a.1vK=1p 0}1b pq(a){if(!g(a))1t 1g r("4r are 1X.");if(!a.1O.8X)1t 1g r("1Z 4e 3J is 2S 11J.");1a.2R=a;1a.6X="";1a.5Y=1p 0;1a.3tf=1a.2By=1a.37u=1a.3tg=!1;1a.2Fu=[];1a.2Fv=[];1a.2Bz=[];1a.12s=[];1a.1vI=[];1a.22x=1a.1QK=1p 0;1a.1pD=1g A(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);1a.4GV=1g A(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);1a.4GU=1g A(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);1a.5V=1g P;1a.1K2=[];1a.6g=1p 0;1a.13Z=1g Ec({1A:1g y(0,0,0,0),1gh:0,4e:1});1a.16b=1p 0;1a.8U=[];1a.1pN=1g y(1,1,0,.5);1a.16O=1g y(1,0,0,1);1a.2NI=xg.1nh;1a.2BA=Pj.2y9;1a.2K5=1p 0;1a.1TZ=!1}1b JS(a){g(a.6g)&&(a.6g.4c=a.6g.4c&&!a.6g.4c.3Z()&&a.6g.4c.1M(),a.6g.2z=a.6g.2z&&!a.6g.2z.3Z()&&a.6g.2z.1M(),a.6g=1p 0);1j(1d b=0;b<a.1K2.1h;b++)a.1K2[b].4c=a.1K2[b].4c&&!a.1K2[b].4c.3Z()&&a.1K2[b].4c.1M(),a.1K2[b].2z=a.1K2[b].2z&&!a.1K2[b].2z.3Z()&&a.1K2[b].2z.1M(),a.1K2[b]=1p 0;a.1K2=[];g(a.1QL)&&(a.1QL.4c=a.1QL.4c&&!a.1QL.4c.3Z()&&a.1QL.4c.1M(),a.1QL.2z=a.1QL.2z&&!a.1QL.2z.3Z()&&a.1QL.2z.1M(),a.1QL=1p 0)}1b H9(a){1j(1d b=0;b<a.12s.1h;b++)g(a.12s[b])&&(a.12s[b]=a.12s[b]&&a.12s[b].1M(),a.12s[b]=1F);a.12s=[]}1b I9(a){g(a.5Y)&&(g(a.22x)&&4Y a.5Y.18w.5TF,g(a.1QK)&&4Y a.5Y.18w.5TG,a.5Y=1p 0);a.22x=a.22x&&a.22x.1M();a.1QK=a.1QK&&a.1QK.1M();1j(1d b=0;b<a.1vI.1h;b++)a.1vI[b]=a.1vI[b]&&a.1vI[b].1M();a.1vI=[]}1b 5TE(a,b,c){if(!g(a.6g)||!g(a.1QL)){JS(a);1d d=1g Oa({6Z:Ja.11G,4a:a.1pD,6W:a.5V,6t:ma.1xr,7H:a}),e={4f:0};d.4c=a.16b.3QF(b);d.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\2J 1m 13N;\\1B 1m 15a;\\1J 1m 4m;\\1J 1w 4X;\\1J 1w 4p;\\2s 2k()\\n{\\n   4X = 11b * 13N.1H;\\n   4p = (9q * 4f).1H;\\n   4m = 15a;\\n   6I = 11o * 1m(4f.1H, 1.0);\\n}",5A:"3G 1m 4m;\\1J 1w 4X;\\1J 1w 4p;\\2s 2k()\\n{\\n    1w 11E = -4p;\\n    1m 1A = 9D(4m);\\n    1cK 5y;\\n    5y.4X = 1T(4X);\\n    5y.11E = 11E;\\n    1Ad 2q = 1bi(5y);\\n    2q.8t = 4m.2y;\\n    2q.2O = 4m.a;\\n    2C = 1nR(1T(11E), 2q, 1qd);\\n}",7W:e});d.4w=pa.4t({8d:{3e:!0},9J:{3e:!0},12e:Dc.1bQ});d.4J={15a:1b(){1f a.1pN}};a.6g=d;1d f=1g ja({5p:["3Q 1m 4f;\\1J 1m 1uK;\\2s 2k()\\n{\\n    6I = 11o * 1m(4f.1H, 1.0);\\n    1uK = 6I;\\n    1Se();\\n}\\n"]}),h=1g ja({2i:"3JK",5p:["2n 1o 1uJ; \\n#1z 1h5\\1B 2v 1Dc;\\1B 2v 1Db;\\1B 2v 1Da;\\1B 1o 1D9; \\1J 1m 11w; \\1J 1m 4m;\\1J 1m 1uK; \\n#1u\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1Z1\\1J 1m 1uK; \\n#1u\\n#1z 1h5\\166 1Ix(1m 1bO)\\n{\\n    7d 1jD = 16f;\\n    1m 1A = 1Y(1Dc,1bO.xy);\\n    if(1A.r > 0.99 && 1A.g < 0.11t && 1A.b < 0.11t)\\n    {\\n        1o 1rY = 11N(1Y(1Db,1bO.xy));\\n        1rY = 1rn(1rY);\\n        1o 1rX = 11N(1Y(1Da,1bO.xy));\\n        1rX = 1rn(1rX);\\n        if(1bO.z - 1rY > -0.1KX  && 1rX - 1bO.z > -0.1KX)\\n        {\\n            1jD = 8O;\\n        }\\n    }\\n    1f 1D9 < 0.5 ? !1jD : 1jD;\\n}\\n#1u\\2s 2k() \\n{\\n#1z 1h5\\n    1m 1bO = 1uK / 1uK.w; \\n    1bO.1H = 1bO.1H * 0.5 + 0.5; \\n    if(!1Ix(1bO)) \\n    { \\n        7o; \\n    } \\n    if(4m.a < 1uJ)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 11w; \\n#1u\\n#1z 1Z1\\n    #1z 10B\\n        1nO();\\n        2C = 1lP(1bp);\\n    #1s\\n        2C = 1lP(4u.z);\\n    #1u\\n#1u\\n#1z 1FC\\n    2C = 1m(1.0,0.0,0.0,1.0);\\n#1u\\n}"]});h.2N.1q("1Z1");c.1bz&&(f.2N.1q("10B"),h.2N.1q("10B"));c=Oa.15v(d);c.4w=pa.4t({9J:{3e:!0},8d:{3e:!0,18X:H.1sq}});c.2z=Ga.4t({1O:b,5O:f,5A:h,7W:e});1d l=1g eb({1O:b,13I:[a.12s[0]],16Y:!1,1yY:1g ig({1O:b,8V:kh.1eF})});c.4Q=l;a.1K2.1q(c);a.1vI.1q(l);c=Oa.15v(d);c.4w=pa.4t({9J:{3e:!0},8d:{3e:!0,18X:H.1TU}});c.2z=Ga.4t({1O:b,5O:f,5A:h,7W:e});h=1g eb({1O:b,13I:[a.12s[1]],16Y:!1,1yY:1g ig({1O:b,8V:kh.1eF})});c.4Q=h;a.1K2.1q(c);a.1vI.1q(h);d=Oa.15v(d);h=1g ja({2i:"3JK",5p:["2n 1o 1uJ; \\n#1z 1h5\\1B 2v 1Dc;\\1B 2v 1Db;\\1B 2v 1Da;\\1B 1o 1D9; \\1J 1m 11w; \\1J 1m 4m;\\1J 1m 1uK; \\n#1u\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1Z1\\1J 1m 1uK; \\n#1u\\n#1z 1h5\\166 1Ix(1m 1bO)\\n{\\n    7d 1jD = 16f;\\n    1m 1A = 1Y(1Dc,1bO.xy);\\n    if(1A.r > 0.99 && 1A.g < 0.11t && 1A.b < 0.11t)\\n    {\\n        1o 1rY = 11N(1Y(1Db,1bO.xy));\\n        1rY = 1rn(1rY);\\n        1o 1rX = 11N(1Y(1Da,1bO.xy));\\n        1rX = 1rn(1rX);\\n        if(1bO.z - 1rY > -0.1KX  && 1rX - 1bO.z > -0.1KX)\\n        {\\n            1jD = 8O;\\n        }\\n    }\\n    1f 1D9 < 0.5 ? !1jD : 1jD;\\n}\\n#1u\\2s 2k() \\n{\\n#1z 1h5\\n    1m 1bO = 1uK / 1uK.w; \\n    1bO.1H = 1bO.1H * 0.5 + 0.5; \\n    if(!1Ix(1bO)) \\n    { \\n        7o; \\n    } \\n    if(4m.a < 1uJ)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 11w; \\n#1u\\n#1z 1Z1\\n    #1z 10B\\n        1nO();\\n        2C = 1lP(1bp);\\n    #1s\\n        2C = 1lP(4u.z);\\n    #1u\\n#1u\\n#1z 1FC\\n    2C = 1m(1.0,0.0,0.0,1.0);\\n#1u\\n}"]});h.2N.1q("1FC");d.4w=pa.4t({8d:{3e:!1},9J:{3e:!1}});d.2z=Ga.4t({1O:b,5O:f,5A:h,7W:e});f=1g eb({1O:b,13I:[a.12s[2]],16Y:!1,1yY:1g ig({1O:b,8V:kh.1eF})});d.4Q=f;a.1K2.1q(d);a.1vI.1q(f);f=1g Oa({6Z:Ja.1ao,4a:a.1pD,6W:a.5V,6t:ma.1eW,7H:a});f.4c=a.16b.2OL(b);f.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\n\\1B 1m 15a;\\n\\1J 1m 4m;\\1J 1m 14u;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\n#1u\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   4m = 15a;\\n#1z 1db\\n   1b0 = 4f.1H;\\n#1u\\n}",5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n\\1J 1m 4m;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\4i 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   2C = 4m;\\n#1z 1db\\n   1w 2U = 1T(1ju(1b0));\\n   1m 1uP = 9q * 1m(1b0.1H, 1.0);\\n   1w 19X = 1T(1HW - 1w(1uP));\\n   1o 18o = 1V(2A(19X, 2U), 0.0);\\n   1m 8t = 4m * 1j3 * 18o;\\n   1m 18A = 4m * 1j3;\\n   2C = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n#1u\\n}",7W:e});f.4w=pa.4t({8d:{3e:!0},9J:{3e:!0},12e:Dc.1bQ});f.4J={15a:1b(){1f a.16O}};a.1QL=f}}1b J9(a,b,c,d){if(g(c)){b=[];1d e=a.2R.4j,f=a.8U;if(g(c)&&c.19R){1d h=c.1yT.10V,l=c.1yT.10o;c=e.1tG({4Q:c.1yT.1bA,x:0,y:0,1G:h,1D:l});1j(1d p=[],n=0;n<f.1h;n++){1d k=f[n].id;k="26B"+k;b[k]=n;p.1q(k);d[k]=[]}1j(f=0;f<h;f++)1j(n=0;n<l;n++)if(k=4*(n*h+f),0!==c[k]||0!==c[k+1]||0!==c[k+2]){k=y.2xV(c[k],c[k+1],c[k+2],c[k+3]);1d w=e.2xU(k);if(g(w)){k=w.9k.id;w=w.id;k="26B"+k;1d x=p.3f(k);0<=x&&(0==d[k].1h?(x=[],x.1q(w),d[k]=x):(x=d[k].3f(w),0>x&&d[k].1q(w)))}}}if(a.2BA===Pj.32g)1j(e=1L.9K(d),h=0;h<e.1h;h++)l=a.8U[b[e[h]]],c=d[e[h]],0<c.1h&&l.1Ma(c)}}1b 5TD(a,b,c){a.1TZ?a.2K5.3pU(a.2BA):(a.5Y=c,0!==a.12s.1h&&a.2By&&!a.37u&&(a.1QK.19R=!0,a.1QK.1vK=1b(b){1j(b=0;b<a.8U.1h;b++)a.8U[b].3pU(Pj.32g)},a.1QK.1vJ=1b(b){a.2Fv=[];J9(a,b,a.1QK,a.2Fv);a.1QK.19R=!1;a.3tf=!0},a.2BA!==Pj.32g&&(a.22x.19R=!0,a.22x.1vK=1b(b){1j(b=0;b<a.8U.1h;b++)a.8U[b].3pU(Pj.2y9)},a.22x.1vJ=1b(b){a.2Fu=[];J9(a,b,a.22x,a.2Fu);if(a.2BA===Pj.2y9){b=1L.9K(a.2Fu);1j(1d c=1L.9K(a.2Fv),d=0;d<a.8U.1h;d++){1d h=a.8U[d],l="26B"+h.id;if(!(0>b.3f(l)))if(0>c.3f(l))h.1Ma(a.2Fu[l]);1s{1d g=a.2Fv[l];l=a.2Fu[l];1j(1d n=0;n<g.1h;n++){1d k=l.3f(g[n]);0<=k&&l.6z(k,1)}h.1Ma(l)}}}if(a.2BA===Pj.4H9)1j(b=1L.9K(a.2Fu),c=1L.9K(a.2Fv),d=0;d<a.8U.1h;d++)if(h=a.8U[d],l="26B"+h.id,!(0>c.3f(l)))if(0>b.3f(l))h.1Ma(a.2Fv[l]);1s{g=a.2Fv[l];l=a.2Fu[l];1j(n=0;n<l.1h;n++)k=g.3f(l[n]),0<=k&&g.6z(k,1);h.1Ma(g)}a.22x.19R=!1;a.3tf=!0}),a.2By=!1))}1b K9(a,b,c,d){c=m(c.1hT,a.40b);if(g(b)&&c.9J&&c.9J.3e&&!b.4Hi)1t 1g r("9B 4e 6S 1ag 2S be 3e (1Vz.4w.9J.3e) 2Jo 1Z 4Q (1Vz.4Q) 18f 2S 118 a 4e or 4e-1gh 2pE.");if(b!==a.28T){a.28T=b;1d e;"7w"!==2h 4Hn&&(e=[H.1sq]);g(b)?(b.1QJ(),e=b.468()):(b=a.6M,b.1Bw(b.1JV,1F));a.1QR&&a.3tr(e)}b=a.3By;e=a.3Bx;1d f=a.3Bw;a.3By=c;a.3Bx=d;a.3Bw=d.5q;pa.4Ti(a.6M,b,c,e,d,f,d.5q,!1)}1b Wi(a){1a.1Uu=a.4xs;1a.37t=a.5C9;1a.2fF=a.5C8;1a.21s=a.5C7;1a.12t=a.4a;1a.5TB=a.5C6;1a.5Ty=a.5C4;1a.16N=a.2w;1a.13p=a.4Q;1a.1hT=a.4w;1a.1lz=a.4N;1a.21t=a.4xr;1a.3tb=0;1a.2pz=[];1a.2pz[0]=[];1a.2pz[1]=[];1a.1UZ=1F;1a.1Er=ma.1xr;1a.6M=1a.2NH=1p 0;1a.1Vv=!1;1a.4xq=1g sa}1b Ry(a){if(!g(a))1t 1g r("4r are 1X.");1a.2R=a;1a.15H=[];1a.1sI=[];1a.1GH=[];1a.2s1=[];1a.2Ft=[];1a.55e=[];1a.55d=[];1a.6g=1p 0;1a.5V=1g P;1a.5Y=1p 0;1a.17k=[0,0,0];1a.1v0=0;1a.1tt=360;1a.1xq=1g E(0,1,0,.5);1a.1xp=1g E(1,0,0,.5);1a.3ZJ=L9.5Tt;1a.1N8=1a.9Ns=0;1a.6X="";1a.27V=!1;1a.1Bl="";1a.37s=1a.2Bv=!0;1a.1N5=[];1a.1pD=A.8K.1y();1a.9s=!1;1a.7R=0;1a.2Bw=1a.37r=1a.3Bv=!1}1b M9(a){if(g(a.5Y)){1j(1d b in a.15H)g(a.15H[b])&&4Y a.5Y.18w[b];a.5Y=1p 0}1j(b in a.15H)a.15H[b]=a.15H[b]&&a.15H[b].1M()}1b 5Tq(a,b,c){1d d=c.3w,e=d.3j.13n,f=d.3j.16X,h=d.3j.3I,l=d.3j.3W,p=1g k,n=d.8e,z=d.8q,w=a.2R.10a.1vk;k.1y(d.1K,p);1j(1d x=0;5>x;x++){1d D=90*B.15y,t=1k.10n(.5*D)/1k.10n(45*B.15y),m=.17I*a.172,G=1k.1V(a.172,10),r=k.1iy(a.17k)[0],q=a.1sI[x];a.15H[q].19R=!0;1d u=c.1bz;a.15H[q].1vK=1b(b){a.2R.10a.1vk=!1;b.1bz=!1;a.37r=!1;b=b.19c.2i;1d c=a.55e[b]*B.15y,e=a.55d[b]*B.15y;d.3j.13n=t;d.3j.16X=D;d.3j.3I=m;d.3j.3W=G+100;d.1dG({16h:r,11f:{8e:c,8q:e,12C:d.12C}});A.9b(d.1on,a.1pD,a.2s1[b]);A.9b(d.3j.1pv,a.2s1[b],a.1GH[b]);A.1y(d.3j.1pv,a.2Ft[b])};a.15H[q].1vJ=1b(c){d.1dG({16h:p,11f:{8e:n,8q:z,12C:d.12C},1hk:!1});a.2R.10a.1vk=w;d.3j.13n=e;d.3j.16X=f;d.3j.3I=h;d.3j.3W=l;a.15H[c.19c.2i].1mm=!1;1j(1d k in a.15H)if(a.15H[k].1mm){c.1bz=u;1f}a.37r=!0;if(a.37r){if(!g(a.6g))1f;k=a.6g.2z.5A;1d t=a.6g.2z.5O;a.6g.2z.1M();a.6g.2z=Ga.4t({1O:b,5O:t,5A:k,7W:{4f:0}})}c.1bz=u}}}1b N9(a,b){if(a.37s){1d c=a.5Y;M9(a);a.5Y=c;1j(c=0;5>c;c++){1d d=1g lg(b);d.1cn.1oA=!0;d.1cn.1kr=!0;d.11h=a.11h;1d e=a.1sI[c];a.15H[e]=d;a.5Y.18w[e]=a.15H[e];a.1GH[e]=1g A;a.2s1[e]=1g A;a.2Ft[e]=1g A;a.55e[e]=90*c;a.55d[e]=4==c?90:0}a.37s=!1}}1b 5Tr(a,b,c,d){1d e=Ra.12S({1O:b,5b:c,7Q:xa.7C}),f=[];c={4f:0};f.1q({2P:c.4f,7e:e,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});d=Ra.17Q({1O:b,5b:d,7Q:xa.7C,17P:Ta.10P});a.6g=1g Oa({6Z:Ja.11G,4a:a.1pD,6W:a.5V,6t:ma.1xr,7H:a,8d:!1});a.6g.4c=1g Fb({1O:b,2w:f,10X:d});d=1g ja({2i:"5fm",5p:["\\2J 1m 4f;\\1B 5w 3hH;\\1B 5w 3hG;\\1B 5w 3hF;\\1B 5w 3hE;\\1B 5w 3hD;\\n\\1B 5w 3IE;\\1B 5w 5fl;\\1B 1o 1YY;\\n\\1J 1m 2vp;\\1J 1m 2vo;\\1J 1m 2vn;\\1J 1m 2vm;\\1J 1m 2vl;\\n\\1J 1m 2vk;\\1J 1w 2cY;\\n\\1P 1YX(XR 5w 3JG)\\n{\\n\\7c 4M = 3JG * 1m(2vk.1H, 1.0);\\n\\2cW = 4M / 4M.w;\\n\\2cW.1H = 4M.1H * 0.5 + 0.5;\\n\\11r 4M;\\n}\\n\\2s 2k()\\n{\\t\\n    1w 1OG = 1w(4f.1H);\\n\\5fk = 1OG * 1YY;\\n\\5fj = 1m(1OG.1H, 1.0);\\n\\5fi = 1YX(3hH);\\n\\5fh = 1YX(3hG);\\n\\5fg = 1YX(3hF);\\n\\5ff = 1YX(3hE);\\n\\5fe = 1YX(3hD);\\n\\n\\1tg = 11o * 2vk;\\n\\t\\n}"]});f=1g ja({2i:"5fn",5p:["\\1B 5w 4hT;\\1B 5w 4hS;\\1B 5w 4hR;\\1B 5w 4hQ;\\1B 5w 4hP;\\n\\1B 5w 4hO;\\1B 5w 4hN;\\1B 5w 4hM;\\1B 5w 4hL;\\1B 5w 4hK;\\1B 2v 3hM;\\1B 2v 3hL;\\1B 2v 3hK;\\1B 2v 3hJ;\\1B 2v 3hI;\\1B 7P 2GV;\\1B 1o 1YY;\\1B 1m 1FB;\\1B 1m 1FA;\\n\\1J 1m 2vp;\\1J 1m 2vo;\\1J 1m 2vn;\\1J 1m 2vm;\\1J 1m 2vl;\\n\\1J 1m 2vk;\\n\\166 1Z0(1m 4M)\\n{\\n\\9u ((4M.x<=1.0)&&(4M.x>=0.0)&&(4M.y<=1.0)&&(4M.y>=0.0)&&(4M.z<=1.0)&&(4M.z>=0.0))\\n\\t{\\n\\t\\11r 8O;\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\11r 16f;\\n\\t}\\n}\\n\\166 1YZ(2v 17A, 1m uv)\\n{\\n    7d 1cA = 8O;\\n\\4s 4e = 11N(1Y(17A, uv.xy));\\n\\9u(4e < 0.1Ai)\\n    {\\n        1f 1cA;\\n    }\\n\\9u(uv.z > (4e + 0.1Ai))\\n    {\\n        1cA = 16f;\\n    }\\n\\11r 1cA;\\n}\\n\\166 3JH()\\n{\\n\\9u(1Z0(2vp))\\n\\t{\\n\\t\\11r 1YZ(3hM, 2vp);\\n\\t}\\n\\t\\n\\9u(1Z0(2vo))\\n\\t{\\n\\t\\11r 1YZ(3hL, 2vo);\\n\\t}\\n\\t\\n\\9u(1Z0(2vn))\\n\\t{\\n\\t\\11r 1YZ(3hK, 2vn);\\n\\t}\\n\\t\\n\\9u(1Z0(2vm))\\n\\t{\\n\\t\\11r 1YZ(3hJ, 2vm);\\n\\t}\\n\\t\\n\\9u(1Z0(2vl))\\n\\t{\\n\\t\\11r 1YZ(3hI, 2vl);\\n\\t}\\n\\11r 8O;\\n}\\n\\2s 2k()\\n{\\n\\1OR 1cA = 3JH();\\n\\9u(2GV == 0)\\n\\t{\\n        if (!1cA)\\n        {\\n            7o;\\n        }\\n        1s\\n        {\\n            2C = 1FB;\\n        }\\n\\t}\\n\\1aC if(2GV == 1)\\n\\t{\\n\\t\\9u (!1cA)\\n\\t\\t{\\n\\t\\t\\14F = 1FA;\\n\\t\\t}\\n\\t\\1aC\\n\\t\\t{\\n\\t\\t\\17O;\\n\\t\\t}\\n\\t}\\n\\1aC\\n\\t{\\n\\t    if (!1cA)\\n\\t\\t{\\n\\t\\t\\14F = 1FA;\\n\\t\\t}\\n\\t\\1aC\\n\\t\\t{\\n\\t\\t\\14F = 1FB;\\n\\t\\t}\\n\\t}\\n}"]});a.6g.2z=Ga.4t({1O:b,5O:d,5A:f,7W:c});a.6g.4w=pa.4t({8d:{3e:!1},9J:{3e:!0},12e:Dc.1bQ});a.6g.4J={1FB:1b(){1f a.1xq},1FA:1b(){1f a.1xp},3hH:1b(){1f a.1GH[a.1sI[0]]},3hG:1b(){1f a.1GH[a.1sI[1]]},3hF:1b(){1f a.1GH[a.1sI[2]]},3hE:1b(){1f a.1GH[a.1sI[3]]},3hD:1b(){1f a.1GH[a.1sI[4]]},4hT:1b(){1f a.2s1[a.1sI[0]]},4hS:1b(){1f a.2s1[a.1sI[1]]},4hR:1b(){1f a.2s1[a.1sI[2]]},4hQ:1b(){1f a.2s1[a.1sI[3]]},4hP:1b(){1f a.2s1[a.1sI[4]]},4hO:1b(){1f a.2Ft[a.1sI[0]]},4hN:1b(){1f a.2Ft[a.1sI[1]]},4hM:1b(){1f a.2Ft[a.1sI[2]]},4hL:1b(){1f a.2Ft[a.1sI[3]]},4hK:1b(){1f a.2Ft[a.1sI[4]]},3hM:1b(){1f a.15H[a.1sI[0]].8X},3hL:1b(){1f a.15H[a.1sI[1]].8X},3hK:1b(){1f a.15H[a.1sI[2]].8X},3hJ:1b(){1f a.15H[a.1sI[3]].8X},3hI:1b(){1f a.15H[a.1sI[4]].8X},1YY:1b(){1f a.172},2GV:1b(){1f a.3ZJ}}}1b Zl(a){if(!g(a))1t 1g r("4r are 1X.");1a.2R=a;1a.15H=1a.37q=1p 0;1a.2gU=1g Ec({1gh:0});1a.2gU.6t=ma.1xr;1a.6g=1a.15e=1a.1aO=1p 0;1a.5V=1g P;1a.5Y=1p 0;1a.17k=[0,0,0];1a.1Dx=1a.1b7=0;1a.2gW=90;1a.2gV=60;1a.172=200;1a.1xq=1g E(0,1,0,.5);1a.1xp=1g E(1,0,0,.5);1a.1zB=1g E(1,1,1,1);1a.13s=20;1a.1vH=1g A;1a.2fG=1g A;1a.4GM=1g A;1a.1GH=1g A;1a.13A=!0;1a.7R=0;1a.1JG=1a.1Bl=1a.6X="";1a.27V=!1;1a.11h=15;1a.1N5=[];1a.2py=[];1a.3Bv=!1;1a.3ZH=!0}1b O9(a){g(a.15e)&&(a.15e.4c=a.15e.4c&&a.15e.4c.1M(),a.15e.2z=a.15e.2z&&a.15e.2z.1M(),a.15e=1p 0);g(a.6g)&&(a.6g.4c=a.6g.4c&&a.6g.4c.1M(),a.6g.2z=a.6g.2z&&a.6g.2z.1M(),a.6g=1p 0);g(a.1aO)&&(a.1aO.4c=a.1aO.4c&&a.1aO.4c.1M(),a.1aO.2z=a.1aO.2z&&a.1aO.2z.1M(),a.1aO=1p 0)}1b 5Tj(a,b,c){1d d=a.2gW*B.15y,e=1k.10n(.5*d)/1k.10n(a.2gV*B.15y*.5),f=1k.1V(a.172,10),h=a.1b7*B.15y,l=a.1Dx*B.15y,p=k.1iy(a.17k)[0],n=c.3w,z=n.3j.13n,w=n.3j.16X,x=n.3j.3I,D=n.3j.3W,t=1g k,m=n.8e,G=n.8q;k.1y(n.1K,t);a.15H.19R=!0;1d r=c.1bz;a.15H.1vK=1b(b){b.1bz=!1;z=n.3j.13n;w=n.3j.16X;x=n.3j.3I;D=n.3j.3W;m=n.8e;G=n.8q;k.1y(n.1K,t);n.3j.13n=e;n.3j.16X=d;n.3j.3I=1;n.3j.3W=f+100;n.1dG({16h:p,11f:{8e:h,8q:l,12C:n.12C}});A.9b(n.3j.1pv,n.1on,a.2fG);A.1y(n.1x3,a.1vH);A.1y(n.3j.1pv,a.4GM);k.1y(k.6h,a.5V.2V);a.5V.3L=a.172;P.5o(a.5V,a.1vH,a.5V)};a.15H.1vJ=1b(b){n.1dG({16h:t,11f:{8e:m,8q:G,12C:n.12C},1hk:!1});n.3j.13n=z;n.3j.16X=w;n.3j.3I=x;n.3j.3W=D;a.15H.19R=!1;b.1bz=r};g(a.1QI)&&(a.1QI.19R=!0)}1b 5Ti(a,b,c){1d d=I.9g(I.3O,3*((a.13s+1)*(a.13s+1)+1)),e=3;c=a.2gW*B.15y;1d f=a.172*1k.10n(a.2gV*B.15y*.5),h=1k.PI-.5*c,l=0,g=0,n=c/a.13s;1j(c=a.1N5.1h=0;c<a.13s+1;c++){l=h+c*n;1d k=1k.16D(f/(a.172/1k.3i(l))),w=-k,x=2*k/a.13s,D=1g Ao;1j(k=0;k<a.13s+1;k++){g=w+k*x;1d t=a.172*1k.3i(g)*1k.2T(l),m=a.172*1k.2T(g);g=a.172*1k.3i(g)*1k.3i(l);d[e++]=t;d[e++]=m;d[e++]=g;D.add(1g gi(t,m,g))}a.1N5.1q(D)}a.1N5.1e1();c=a.13s*a.13s*6+12*a.13s;e=I.9g(I.10P,2*(4+5*a.13s+6*a.13s));f=I.9g(I.10P,c);1j(c=h=0;c<a.13s;c++)1j(k=0;k<a.13s;k++)f[h++]=1+c+k*(a.13s+1),f[h++]=1+c+1+k*(a.13s+1),f[h++]=1+c+(k+1)*(a.13s+1),f[h++]=1+c+1+k*(a.13s+1),f[h++]=1+c+1+(k+1)*(a.13s+1),f[h++]=1+c+(k+1)*(a.13s+1);1j(c=0;c<a.13s;c++)f[h++]=c+1+1,f[h++]=c+1,f[h++]=0,f[h++]=0,f[h++]=c+a.13s*(a.13s+1)+1,f[h++]=c+1+a.13s*(a.13s+1)+1;1j(c=0;c<a.13s;c++)f[h++]=0,f[h++]=c*(a.13s+1)+1,f[h++]=(c+1)*(a.13s+1)+1,f[h++]=a.13s+(c+1)*(a.13s+1)+1,f[h++]=a.13s+c*(a.13s+1)+1,f[h++]=0;h=0;e[h++]=0;e[h++]=1;e[h++]=0;e[h++]=a.13s+1;e[h++]=0;e[h++]=a.13s*(a.13s+1)+1;e[h++]=0;e[h++]=(a.13s+1)*(a.13s+1);1j(c=0;5>c;c++)1j(k=0;k<a.13s;k++)e[h++]=1+k+5*(a.13s+1)*c,e[h++]=1+(k+1)+5*(a.13s+1)*c;1j(c=0;5>c;c++)1j(k=0;k<a.13s;k++)e[h++]=1+(a.13s+1)*k+5*c,e[h++]=1+(a.13s+1)*(k+1)+5*c;c=Ra.12S({1O:b,5b:d,7Q:xa.7C});k=[];d={4f:0};k.1q({2P:d.4f,7e:c,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});c=Ra.17Q({1O:b,5b:e,7Q:xa.7C,17P:Ta.10P});e=Ra.17Q({1O:b,5b:f,7Q:xa.7C,17P:Ta.10P});a.1aO=1g Oa({6Z:Ja.1ao,4a:a.1vH,6W:a.5V,6t:ma.1xr,7H:a,8d:!0});a.1aO.4c=1g Fb({1O:b,2w:k,10X:c});a.1aO.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\n\\1B 1m 15a;\\n\\1J 1m 4m;\\1J 1m 14u;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\n#1u\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   4m = 15a;\\n#1z 1db\\n   1b0 = 4f.1H;\\n#1u\\n}",5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n\\1J 1m 4m;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\4i 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   2C = 4m;\\n#1z 1db\\n   1w 2U = 1T(1ju(1b0));\\n   1m 1uP = 9q * 1m(1b0.1H, 1.0);\\n   1w 19X = 1T(1HW - 1w(1uP));\\n   1o 18o = 1V(2A(19X, 2U), 0.0);\\n   1m 8t = 4m * 1j3 * 18o;\\n   1m 18A = 4m * 1j3;\\n   2C = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n#1u\\n}",7W:d});a.1aO.4w=pa.4t({8d:{3e:!1},9J:{3e:!0},12e:Dc.1bQ});1d G=[];1j(c=0;6>c;c++)G[c]=1g E(0,0,0,0);a.1aO.4J={15a:1b(){1f a.1zB},1wb:1b(){1f 0},1lR:1b(){1f G},1Fc:1b(){1f E.1xa}};a.15e=1g Oa({6Z:Ja.11G,4a:a.1vH,6W:a.5V,6t:ma.1xr,7H:a,8d:!0});a.15e.4c=1g Fb({1O:b,2w:k,10X:e});a.15e.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\n\\1B 1m 15a;\\n\\1J 1m 4m;\\1J 1m 14u;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\n#1u\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   4m = 15a;\\n#1z 1db\\n   1b0 = 4f.1H;\\n#1u\\n}",5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n\\1J 1m 4m;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\4i 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   2C = 4m;\\n#1z 1db\\n   1w 2U = 1T(1ju(1b0));\\n   1m 1uP = 9q * 1m(1b0.1H, 1.0);\\n   1w 19X = 1T(1HW - 1w(1uP));\\n   1o 18o = 1V(2A(19X, 2U), 0.0);\\n   1m 8t = 4m * 1j3 * 18o;\\n   1m 18A = 4m * 1j3;\\n   2C = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n#1u\\n}",7W:d});a.15e.4w=pa.4t({13Q:!1,1fA:{5r:!1,5t:!1,5G:!1,2O:!1},9J:{3e:!0,14R:go.2a0},12h:{3e:!0,1iu:Jc.1jW,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.2io},1it:Jc.1jW,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:0,11q:-1}});a.15e.4J={15a:1b(){1f E.1xa},1wb:1b(){1f 0},1lR:1b(){1f G},1Fc:1b(){1f E.1xa}};a.6g=1g Oa({6Z:Ja.11G,4a:a.1vH,6W:a.5V,6t:ma.1xr,7H:a,8d:!0});a.6g.4c=1g Fb({1O:b,2w:k,10X:e});c=1p 0;k=1g ja({2i:"4hJ",5p:["3Q 1m 4f;\\n\\1J 1m 1l7;\\2s 2k()\\n{\\n\\4hI = 11o * 1m(4f.1H, 1.0);\\n\\1tg = 1wa(1l7);\\n}"]});c=1<a.2py.1h?1g ja({5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 1m 1FB;\\1B 1m 1FA;\\1B 1v 1wr;\\n#if 1bL > 0\\1B 2v 3iw[1bL];\\1B 5w 3iv[1bL];\\n#1u\\1B 2v 2cX;\\1B 1v 1uI;\\1B 7P 3iu;\\1J 1m 1l7;\\n\\1r 19x(in 1m 4e)\\n{\\n\\4s 1kg = 11N(4e);\\n\\4s 1iU = 1dx.3I;\\n\\4s 1iV = 1dx.3W;\\n\\11r (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\n}\\n\\1r 1YO(in 2v 1D8, in 1m 4M)\\n{\\n\\10O 1h4;\\n    1h4 = 4M.xy * 1wr - 0.5;\\n\\4s x0 = 2t(1h4.x);\\n\\4s x1 = 8a(1h4.x);\\n\\4s y0 = 2t(1h4.y);\\n\\4s y1 = 8a(1h4.y);\\n\\10O 19y = 1.0 / 1wr;\\n\\10O 1YW = 1v((x0 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YU = 1v((x1 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YV = 1v((x0 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\10O 1YT = 1v((x1 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\4s 1YS = 19x(1Y(1D8, 1YW));\\n\\4s 1YQ = 19x(1Y(1D8, 1YV));\\n\\4s 1YR = 19x(1Y(1D8, 1YU));\\n\\4s 1YP = 19x(1Y(1D8, 1YT));\\n\\4s 4e = 1V(1V(1YS, 1YR), 1V(1YQ, 1YP));\\n\\11r 4e;\\n}\\n\\1r 3KE(in 2v 1D8, in 1m 9I, in 5w 3KF)\\n{\\n    1m 1mW = 3KF * 9I;\\n\\7c 4M = 1mW / 1mW.w;\\n\\2cW.1H = 4M.1H * 0.5 + 0.5;\\n\\n    if (4M.x<0.0 || 4M.x>1.0\\n        || 4M.y<0.0 || 4M.y>1.0)\\n    {\\n        1f 1.0;\\n    }\\n\\n    1o 4e = 1YO(1D8, 4M);\\n    4e = 4e * 0.5 + 0.5;\\n    1o 1dW = abs(1cu(4M.z));\\n    1o 1dV = abs(1ct(4M.z));\\n    1o dF = 1V(1dW, 1dV);\\n    1o 1l0 = 1.1Al-6 + dF;\\n    1o c = 1o(4e+1l0 < 4M.z);\\n    1f c;\\n}\\n\\1r 3KD(in 1m 9I)\\n{\\n    1o c = 1.0;\\n#if 1bL > 0\\n    1j(7P i = 0; i < 1bL; i++)\\n    {\\n        1o c = 3KE(3iw[i], 9I, 3iv[i]);\\n        if(c == 0.0 || 3iu == 1)\\n        {\\n            1f c;\\n        }\\n    }\\n#1u\\n    1f c;\\n}\\n\\2s 2k()\\n{\\n    1Sc();\\n\\7c 1pd = 1l7 / 1l7.w;\\n\\1OQ.xy = 1pd.xy * 0.5 + 0.5;\\n\\1OQ.x = 1pd.x * 9e.z / 1uI.x + 9e.x / 1uI.x;\\n\\1OQ.y = 1pd.y * 9e.w / 1uI.y + 9e.y / 1uI.y;\\n\\4s 1mX = 11N(1Y(2cX, 1pd.xy));\\n    1mX = 1rn(1mX);\\n\\2vj = 1mX * 2.0 - 1.0;\\n\\7c 3h = 1l7;\\n\\2Yh.z = 1mX * 3h.w;\\n\\7c 9I = 1k1 * 3h;\\n    1o c = 3KD(9I);\\n\\7c 1rI = 3T(1FB, 1FA, 1m(c));\\n\\9u(1rI.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 1rI;\\n\\14F = 9D(2C);\\n}"]}):1g ja({5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 1m 1FB;\\1B 1m 1FA;\\1B 5w 1Lx;\\1B 1v 1wr;\\1B 2v 1pc;\\1B 2v 2cX;\\1B 1v 1uI;\\1J 1m 1l7;\\n\\1r 19x(in 1m 4e)\\n{\\n\\4s 1kg = 11N(4e);\\n\\4s 1iU = 1dx.3I;\\n\\4s 1iV = 1dx.3W;\\n\\11r (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\n}\\n\\1r 1YO(in 2v 1D8, in 1m 4M)\\n{\\n\\10O 1h4;\\n    1h4 = 4M.xy * 1wr - 0.5;\\n\\4s x0 = 2t(1h4.x);\\n\\4s x1 = 8a(1h4.x);\\n\\4s y0 = 2t(1h4.y);\\n\\4s y1 = 8a(1h4.y);\\n\\10O 19y = 1.0 / 1wr;\\n\\10O 1YW = 1v((x0 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YU = 1v((x1 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YV = 1v((x0 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\10O 1YT = 1v((x1 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\4s 1YS = 19x(1Y(1pc, 1YW));\\n\\4s 1YQ = 19x(1Y(1pc, 1YV));\\n\\4s 1YR = 19x(1Y(1pc, 1YU));\\n\\4s 1YP = 19x(1Y(1pc, 1YT));\\n\\4s 4e = 1V(1V(1YS, 1YR), 1V(1YQ, 1YP));\\n\\11r 4e;\\n}\\n\\2s 2k()\\n{\\n    1Sc();\\n\\7c 1pd = 1l7 / 1l7.w;\\n\\1OQ.xy = 1pd.xy * 0.5 + 0.5;\\n\\1OQ.x = 1pd.x * 9e.z / 1uI.x + 9e.x / 1uI.x;\\n\\1OQ.y = 1pd.y * 9e.w / 1uI.y + 9e.y / 1uI.y;\\n\\4s 1mX = 11N(1Y(2cX, 1pd.xy));\\n    1mX = 1rn(1mX);\\n\\2vj = 1mX * 2.0 - 1.0;\\n\\7c 3h = 1l7;\\n\\2Yh.z = 1mX * 3h.w;\\n\\7c 9I = 1k1 * 3h;\\n\\7c 1mW = 1Lx * 9I;\\n\\7c 4M = 1mW / 1mW.w;\\n\\2cW.1H = 4M.1H * 0.5 + 0.5;\\n\\4s 4e = 1YO(1pc, 4M);\\n\\3JF = 4e * 0.5 + 0.5;\\n\\4s 1dW = abs(1cu(4M.z));\\n\\4s 1dV = abs(1ct(4M.z));\\n\\4s dF = 1V(1dW, 1dV) * 3.0;\\n\\4s 1l0 = 1.1Al-6 + dF;\\n\\4s c = 1o(4e + 0.3JE < 4M.z);\\n\\7c 1rI = 3T(1FB, 1FA, 1m(c));\\n\\9u(1rI.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 1rI;\\n\\14F = 9D(2C);\\n}"]});a.6g.2z=Ga.4t({1O:b,5O:k,5A:c,7W:d});a.6g.4w=pa.4t({8d:{3e:!1},9J:{3e:!1},13Q:!1,12h:{3e:!0,1iu:Jc.1JA,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1it:Jc.1JA,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:0,11q:-1},12e:Dc.1bQ});1>=a.2py.1h?a.6g.4J={1FB:1b(){1f a.1xq},1FA:1b(){1f a.1xp},1Lx:1b(){1f a.1GH},1wr:1b(){1d b=a.15H.8X;1f 1g C(b.1G,b.1D)},1pc:1b(){1f a.15H.8X},2cX:1b(){1f b.8X?b.13m.1Ju:a.1QI.8X},1uI:1b(){1f b.8X?b.13m.40y:1g C(a.1QI.8X.1G,a.1QI.8X.1D)}}:(c.2N.1q("1bL "+a.2py.1h),a.3Bv=!0)}1b Qj(){}1b P9(a,b,c){6U(a){1S 6sw:1S 6sq:1f(b+3>>2)*(c+3>>2)*8;1S 6sv:1f(b+3>>2)*(c+3>>2)*16;1S 6su:1S 6ss:1f 1k.2t((1k.1V(b,8)*1k.1V(c,8)*4+7)/8);1S 6st:1S 6sr:1f 1k.2t((1k.1V(b,16)*1k.1V(c,8)*2+7)/8);1S 273:1f b*c*2;1S 3t7:1f b*c*4;1S 37o:1f b*c*2;4T:1f 0}}1b Q9(a,b,c,d){a=a.1h;1j(1d e=0;;){1d f=ua.3zn(b,c,d);e+=f;c>>=1;d>>=1;if(0==c&&0==d)1W;c=1k.1V(c,1);d=1k.1V(d,1)}1f e==a}1b KS(a,b){1d c=["","9Nr","9Nq"],d=1F,e;1j(e in c)if(d=a.2pb(c[e]+b))1W;1f d}1b NC(a){1a.3ZE=m(a.3N,0);1a.3ZD=m(a.4k,0);1a.3ZC=m(a.1eD,0);1a.13V=m(a.3b,1g k(1,1,1));1a.7a=m(a.1A,y.9r);1a.1Ef=m(a.8e,1k.PI/2);1a.1Dx=m(a.8q,0);1a.3ZB=m(a.12C,0);1a.3ZA=m(a.2Nz,0);1a.1hs=m(a.2M,1g k);1a.4GJ=m(a.2ND,-1);1a.7R=m(a.id,Ld());1a.3t6=a.16G;1a.2NA=m(a.28P,!1)}1b sd(){}1b fe(a){1a.1LN=1g E(1,1,1,1);1a.1se=1g E(1,1,1,1);1a.1Du=1g E(0);1a.1JK=50;1a.1GL=!1;1a.12s=[];1a.2oQ=1g A;1a.35R=1a.2MO=1a.2NC=!1;g(a)&&(g(a.18A)&&(1a.1LN=E.1y(a.18A)),g(a.8t)&&(1a.1se=E.1y(a.8t)),g(a.16C)&&(1a.1Du=E.1y(a.16C)),1a.1JK=a.1rk||50,1a.1GL=a.9Np||!1,1a.12s=a.1fb||[],1a.2MO=a.9No)}1b OC(a){g(a)?(1a.2Bn=a.9Nn,1a.37j=a.9Nm,1a.37i=a.9Nl,1a.2Bm=a.9Nk,1a.37h=a.9Nj,1a.37g=a.9Ni):1a.37g=1a.37h=1a.2Bm=1a.37i=1a.37j=1a.2Bn=0}1b yg(a,b){v.2l("1O",a);v.2l("1O",b);2K.8n(b)||(b=[b]);1a.4j=a;1a.6M=a.6M;1a.3sU=1E3;1a.6CG=1g N;1a.1br=!0;1a.1b4=qq.3mj;1a.19O={};1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c];v.1N.4n("2I",e);1a.19O[e]={2I:e,3o:!1,13z:!0,2Bj:!0,1vk:!1,1bB:{3e:!1,8H:0,13u:0},1Ee:di.1sq,2Fs:zk.1he,3J:1p 0,2M:1g k,3L:0,1gC:0,1K1:1g Ia,28Q:1g Ia,3sR:1g Ia,1gJ:[],7u:1g P,3sT:-1,18B:0}}1a.34N=1a.1JM=3a.6w;1a.1B9=Ak.2oO;1a.2op=0;1a.4Gt=!0;1a.11h=15;1F!==a.1TY?1a.1gI=1:1F!==a.27a?1a.1gI=2:1F!==a.279&&(1a.1gI=3)}1b Sy(a){3<a.1f7.1h&&(a.1f7.6z(0,1),a.14z.6z(0,a.2Dn))}1b Ty(a,b,c){1j(1d d=0;d<a.1f7.1h;d++){1d e=M.190(b,d*c,1g M);a.1f7[d]=e}}1b 5SX(a,b){1d c=a.19O[b],d=c.2Fs;zk.1he==d&&(b=Wx(b,1b(a){1f Ng(a)}),g(b)?(c.2Fs=zk.1gu,b.4b(1b(a){c.2Fs=zk.1e5;c.55c=a},1b(a){g(a)?c.2Fs=zk.12D:c.2Fs=zk.1he})):c.2Fs=zk.1he);zk.1e5===d&&6CH(a,c)}1b PC(a,b){1d c=b.1gC;if(!(1>c)){1d d=34*c,e=b.3J,f=a.4j;a=I.1jh(I.3O);if(e.18Q/(34*a)<c)1j(b.3J&&b.3J.1M(),e=Ra.12S({1O:f,18Q:d*a,7Q:xa.1UP}),e.1hU=!1,b.3J=e,c=0,a=b.1gJ.1h;c<a;c++){1d h=b.1gJ[c],l=h.14Z;if(g(l)){l.4c.1M();1j(1d p=0;p<h.2w.1h;p++){1d n=h.2w[p];g(n.19N)&&0<n.19N&&(n.7e=b.3J)}l.4c=1g Fb({1O:f,2w:h.2w,10X:h.10X})}}d=1g 4A(d);b=b.28Q;c=f=0;1j(a=b.1h;c<a;c++)if(l=b.2a[c],g(l)&&l.4y){l.12N=f;h=bc.12y(l.37f);1d k=h.162,w=h.15r;h=bc.12y(l.2Nx);1d x=h.162,D=h.15r,t=l.37d,m=l.2Bl;p=l.1Mc;1d G=l.7a;h=l.13V;n=l.3Zq;1d r=l.37e,q=1g y;q.5r=xb.1tZ({x:G.5r,y:G.5t});q.5t=xb.1tZ({x:G.5G,y:G.2O});q.5G=xb.1tZ({x:p.5r,y:p.5t});q.2O=xb.1tZ({x:p.5G,y:p.2O});l=d;p=f;p*=34;G=0;l[p+G++]=k.x;l[p+G++]=k.y;l[p+G++]=k.z;l[p+G++]=w.x;l[p+G++]=w.y;l[p+G++]=w.z;l[p+G++]=x.x;l[p+G++]=x.y;l[p+G++]=x.z;l[p+G++]=D.x;l[p+G++]=D.y;l[p+G++]=D.z;l[p+G++]=t.x;l[p+G++]=t.y;l[p+G++]=t.z;l[p+G++]=t.w;l[p+G++]=m.x;l[p+G++]=m.y;l[p+G++]=m.z;l[p+G++]=m.w;l[p+G++]=q.5r;l[p+G++]=q.5t;l[p+G++]=q.5G;l[p+G++]=q.2O;l[p+G++]=n.8e;l[p+G++]=n.8q;l[p+G++]=n.12C;l[p+G++]=r.8e;l[p+G++]=r.8q;l[p+G++]=r.12C;l[p+G++]=h.x;l[p+G++]=h.y;l[p+G++]=h.z;f++}e.1jR(d,0)}}1b JI(a,b,c,d){1a.1I=qq.3mi;1a.1tS=c;1a.7R=d;1a.12N=-1;1a.3t6=b.16G;1d e=b.1K.3K(0);g(e)||(e=1g k);1a.13V=k.1y(b.3b.3K(0));1d f=k.1xj(1a.13V);1a.1hs=b.2M;1a.2NA=b.28P;1a.37d=1g ca;1a.2Bl=1g ca;1a.1tY=1p 0;1a.5SU=1g ps(b.1K);e=Da.1nq(e,1g $b(b.2Nz,0,0),ba.9y,Da.18N,1g A);1d h=A.1nf(e,1g J);h=ca.1UQ(h);ca.1y(h,1a.37d);ca.1y(1a.37d,1a.2Bl);h=k.4g(1a.1hs,f,1g k);1a.37f=A.8P(e,h,1g k);1a.2Nx=k.1y(1a.37f);e=b.8e.3K(0);h=b.8q.3K(0);1d l=b.12C.3K(0);1a.3Zq=1g $b(e,h,l);1a.37e=$b.1y(1a.3Zq);1a.37c=b.1A.3K(0);1a.5V=1g P(1a.37f,c.4Go.3L*f);1a.1Mc=a.1Ga({id:d,9k:1a}).1A;1a.2Ny=1g y;1a.7a=y.9b(1a.37c,1a.2Ny,1g y);1a.4y=1a.1LL=!1}1b 6CH(a,b){1d c=b.55c;g(c)?(c=sd.3r9.1fa({3J:c,1V0:a.1gI},[c]),g(c)?(b.55c=1p 0,b.4df=zk.21L,c.4b(1b(c){if(c.4D){1d d=a.6CG.1dD(c.3ru).1gv,f=d.1fz,h=N.121(d,"3rt",f),l=N.2Nv(h,"2q",f);h={};1j(1d p=a.4j,n=0,z=l.1h;n<z;n++){1d w=l[n],x=N.15X(w,"2i",f),D=1g fe({});h[x]=D;1d t=N.121(w,"3rs",f),m=N.6B(t,"3rr",f);x=N.6B(t,"3rq",f);1d G=N.6B(t,"3rp",f);t=N.6B(t,"3ro",f);D.1LN=1g y(m,x,G,t);t=N.121(w,"3rn",f);m=N.6B(t,"3rm",f);x=N.6B(t,"3rl",f);G=N.6B(t,"3rk",f);t=N.6B(t,"3rj",f);D.1se=1g y(m,x,G,t);t=N.121(w,"3ri",f);m=N.6B(t,"3rh",f);x=N.6B(t,"3rg",f);G=N.6B(t,"3rf",f);t=N.6B(t,"3re",f);D.1Du=1g y(m,x,G,t);m=N.6B(w,"3rd",f);D.1JK=m;N.121(w,"2oR",f);D.1GL=N.1Qi(w,"2oR",f);m=N.121(w,"7y",f);w=N.15X(m,"2i",f);x=N.121(m,"3rc",f);m=N.15X(x,"u",f);G=N.15X(x,"v",f);m="2gj"===m?Ka.1av:Ka.11g;G="2gj"===G?Ka.1av:Ka.11g;x=c.2oP[w];g(x)&&(w=Rc.22b(w,p,x.1G,x.1D,x.1vC,x.1zq,x.1Ei,!1,m,G),D.12s.1q(w),0===x.1zq&&(a.1gI=0))}n=N.121(d,"3rb",f);d=N.1vx(n,"2MN",f);n=0;1j(z=d.1h;n<z;n++){D=d[n];l=N.15X(D,"2MM",f).7g(",");1j(p=0;16>p;p++)l[p]=7L(l[p]);l=A.5f(l,0);b.9Nh&&(p=A.1PY(1g k(0,0,-690)),l=A.1oJ(l,p,1g A));D=N.1vx(D,"2ML",f);p=[];w=0;1j(m=D.1h;w<m;w++)x=D[w].8S.1b2(),p.1q(x);D=[];w=1g P;1j(m=0;m<p.1h;m++){x=c.1oF[p[m]];x=G=x.1dM;G=l;t=[];1d r=1g P,q=1g k,u=x.19h[0],v=u.2Z;u=1g 4A(u.5b.3J,u.5b.8o,u.5b.10S/4);1j(1d B=0;B<x.1f0;B++)k.7j(u,v*B,q),t.1q(k.1y(q));P.1aN(t,r);t.1h=0;P.5o(r,G,r);D.1q(r)}0<D.1h&&(P.1zi(D,w),b.4Go=w,D.1h=0);1j(m=0;m<p.1h;m++){x=c.1oF[p[m]];G=x.1dM;t=x.1lu;r={};1j(1d K in t)D=t[K],g(D)&&(x=D.1FJ,D=h[x],r[x]=D);a.5SY||(l=A.8K);6CF(a,b,G,t,w,r,l)}b.7u=P.1y(w)}b.3o=!0;b.2Fs=zk.1cY;c=a.5SZ/1E3;f=M.14H();K=0;1j(h=b.1K1.1h;K<h;K++)n=b.1K1.2a[K],Ty(n.1K.1pU,f,c),Ty(n.8e,f,c),Ty(n.8q,f,c),Ty(n.12C,f,c),Ty(n.3b,f,c),Ty(n.1A,f,c)}1s b.4df=zk.1he})):b.4df=zk.1e5):b.4df=zk.12D}1b 6CE(a,b,c){1j(1d d=c.19h,e=0,f=d.1h;e<f;e++){1d h=d[e];g(h.5b)&&(h.7e=Ra.12S({1O:b,5b:h.5b,7Q:xa.7C}),h.7e.1hU=!1,h.5b=1F,4Y h.5b)}c=c.1oh;e=1L.9K(c).1h;f=a.3J;g(f)||(f=Ra.12S({1O:b,18Q:136*(0===a.1gC?1:a.1gC),7Q:xa.1UP}),f.1hU=!1,a.3J=f);a=0;b=I.1jh(I.3O);c.2w0=e++;d.1q({2P:c.2w0,7e:f,2Z:4,3k:I.3O,1T:!1,9n:a,9t:136,19N:1});a+=4*b;c.2vZ=e++;d.1q({2P:c.2vZ,7e:f,2Z:4,3k:I.3O,1T:!1,9n:a,9t:136,19N:1});a+=4*b;c.2vY=e++;d.1q({2P:c.2vY,7e:f,2Z:4,3k:I.3O,1T:!1,9n:a,9t:136,19N:1});a+=4*b;c.2ZH=e++;d.1q({2P:c.2ZH,7e:f,2Z:4,3k:I.3O,1T:!1,9n:a,9t:136,19N:1});a+=4*b;c.2ZG=e++;d.1q({2P:c.2ZG,7e:f,2Z:4,3k:I.3O,1T:!1,9n:a,9t:136,19N:1});a+=4*b;c.1P4=e++;d.1q({2P:c.1P4,7e:f,2Z:4,3k:I.3O,1T:!1,9n:a,9t:136,19N:1});a+=4*b;c.2ZK=e++;d.1q({2P:c.2ZK,7e:f,2Z:3,3k:I.3O,1T:!1,9n:a,9t:136,19N:1});a+=3*b;c.2ZJ=e++;d.1q({2P:c.2ZJ,7e:f,2Z:3,3k:I.3O,1T:!1,9n:a,9t:136,19N:1});c.1wz=e++;d.1q({2P:c.1wz,7e:f,2Z:3,3k:I.3O,1T:!1,9n:a+3*b,9t:136,19N:1});1f{2w:d,1oh:c}}1b 6CF(a,b,c,d,e,f,h){1d l=a.4j,p=6CE(b,l,c),n=p.2w,k=p.1oh,w=ma.1Bc+2;p=pa.4t({8d:{3e:b.1vk,18X:b.1Ee},1bB:{3e:b.1bB.3e,8H:b.1bB.8H,13u:b.1bB.13u},9J:{3e:!0},12e:Dc.1bQ});c=c.1f0;1d x=d[0];if(g(x)){d=Ta.10P;(1===x.1IY||c>=B.1uW)&&l.1Pf&&(d=Ta.1bt);d=Ra.17Q({1O:l,5b:x.1m2,7Q:xa.7C,17P:d});d.1hU=!1;1d D=f[x.1FJ]||fe.2lJ;f=1g Oa({6Z:Ja.11G,6W:e,6t:w,7H:a});f.1hR=!0;f.1fC=!0;f.1cI="1th";f.1gC=b.1gC;f.4c=1g Fb({1O:l,2w:n,10X:d});w=1g ja({2i:"5hh",5p:["3Q 1m 4f;\\n#1z 1h6\\n    3Q 1w 13N;\\n#1u\\2J 1m 7s;\\n#1z 14V\\2J 1m 11X;\\n#1u\\2J 1m 2w0;\\2J 1m 2vZ;\\2J 1m 2vY;\\2J 1m 2ZH;\\2J 1m 2ZG;\\2J 1m 1P4;\\2J 1w 2ZK;\\2J 1w 2ZJ;\\2J 1w 1wz;\\1B 1w 1HP;\\1B 5w 1lW;\\1B 1o 2lq;\\1B 1o 1rr;\\1B 1o 3iz;\\1B 1o 2df;\\1B 1o 1YY;\\1J 1m 8l;\\1J 1v 6r;\\1J 1m 4m;\\1J 1m 1th;\\n\\1P 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\1P 2vX(1w 1Dm, 1o 8f)\\n{\\n    1o 2ZL = 8f * 0.5;\\n    1o s = 2T(2ZL);\\n    1w 3L1 = 1T(1Dm);\\n    1f 1m(3L1 * s, 3i(2ZL));\\n}\\1P 2ZI(1m 3B, 1m 2W)\\n{\\n    1o x = 3B.w * 2W.x + 3B.x * 2W.w + 3B.y * 2W.z - 3B.z * 2W.y;\\n    1o y = 3B.w * 2W.y - 3B.x * 2W.z + 3B.y * 2W.w + 3B.z * 2W.x;\\n    1o z = 3B.w * 2W.z + 3B.x * 2W.y - 3B.y * 2W.x + 3B.z * 2W.w;\\n    1o w = 3B.w * 2W.w - 3B.x * 2W.x - 3B.y * 2W.y - 3B.z * 2W.z;\\n    1f 1m(x, y, z, w);\\n}\\1Sg 2ZF(1m q)\\n{\\n    1o x2 = q.x * q.x;\\n    1o xy = q.x * q.y;\\n    1o xz = q.x * q.z;\\n    1o xw = q.x * q.w;\\n    1o y2 = q.y * q.y;\\n    1o yz = q.y * q.z;\\n    1o yw = q.y * q.w;\\n    1o z2 = q.z * q.z;\\n    1o zw = q.z * q.w;\\n    1o w2 = q.w * q.w;\\n    1o 1Zg = x2 - y2 - z2 + w2;\\n    1o 1Zd = 2.0 * (xy - zw);\\n    1o 1Za = 2.0 * (xz + yw);\\n    1o 1Zf = 2.0 * (xy + zw);\\n    1o 1Zc = -x2 + y2 - z2 + w2;\\n    1o 1Z9 = 2.0 * (yz - xw);\\n    1o 1Ze = 2.0 * (xz - yw);\\n    1o 1Zb = 2.0 * (yz + xw);\\n    1o 1Z8 = -x2 - y2 + z2 + w2;\\n    1f 5w(1Zg, 1Zf, 1Ze, 0.0, 1Zd, 1Zc, 1Zb, 0.0, 1Za, 1Z9, 1Z8, 0.0, 0.0, 0.0, 0.0, 1.0);\\n}\\1P 11x(1m 4I, 1m 9o, 1o t)\\n{\\n    1m 3L0 = 9o * t;\\n    1m 4D = 4I * (1.0 - t);\\n    1f 4D + 3L0;\\n}\\1P 2vW(1m 4I, 1m 9o, 1o t)\\n{\\n    1o 2A = 2A(4I, 9o);\\n    1m r = 9o;\\n    if(2A < 0.0){\\n        2A = -2A;\\n        r = 9o * -1.0;\\n    }\\n    if(1.0 - 2A < 0.1F8){\\n        1f 3T(4I, r, t);\\n    }\\n    1o 1Df = 1cz(2A);\\n    1o 8f = (1.0 - t) * 1Df;\\n    1m 3KZ = 4I * 2T(8f);\\n    1m 3KY = r * (2T(t * 1Df));\\n    1m 4D = 3KZ + 3KY;\\n    1f 4D * (1.0 / 2T(1Df));\\n}\\1r 2dd(1w 1jF, 1o 3L)\\n{\\n    if(1rr > 0.0)\\n    {\\n        1o 3s = 1h(1jF);\\n        1o 1Df = 1qb * 0.5;\\n        1o 2vM = 1V(2l1.x, 2l1.y) * 0.5;\\n        1o 2vL = 2vM / 10n(1Df);\\n        1f 2vL * 3L / 3s > 2df ? 1.0 : 0.0;\\n    }\\n    1f 1h(1jF) < 3iz ? 1.0 : 0.0;\\n}\\2s 2k()\\n{\\n    1w 3KX = 2w0.1H;\\n    1w 3KW = 1w(2w0.w, 2vZ.xy);\\n    1w 3KV = 1w(2vZ.zw, 2vY.x);\\n    1w 3KU = 2vY.5hg;\\n    6r = 7s.xy;\\n    1m 6v = 4f - 1m(1HP.1H,0.0);\\n    //6v.1H *= 1wz;\\n    1m 15C = 1lW * 6v;\\n    1m 3KT = 16e(3KX,3KW);\\n    1m 3KS = 16e(3KV,3KU);\\n    1m 1jF = 3T(3KT, 3KS, 2lq);\\n    1o 2p = 2dd(1jF.1H, 1YY * 1wz.x);\\n    1w 1oc = 3T(2ZK, 2ZJ, 2lq);\\n    1m 3KR = 2vX(1w(1.0, 0.0, 0.0), 1oc.z);\\n    1m 3KQ = 2vX(1w(0.0, 1.0, 0.0), -1oc.y);\\n    1m 3KP = 2vX(1w(0.0, 0.0, 1.0), -1oc.x);\\n    1m q = 2ZI(3KR, 3KQ);\\n    q = 2ZI(3KP, q);\\n    5w 1yo = 2ZF(q);\\n    1m 11f = 2vW(2ZH, 2ZG, 2lq);\\n    14j 3KO = 14j(2ZF(11f));    14j 1h3 = 3KO * 14j(1yo);    5w 1n0 = 5w(1wz.x, 0, 0, 0, 0, 1wz.y, 0, 0, 0, 0, 1wz.z, 0, 0, 0, 0, 1);\\n    5w 18r;\\n    18r[0] = 1m(1h3[0], 0.0);\\n    18r[1] = 1m(1h3[1], 0.0);\\n    18r[2] = 1m(1h3[2], 0.0);\\n    18r[3] = 1m(1jF.1H, 1.0);\\n    6v = 18r * 1n0 * 15C;\\n    6v.w = 1.0;\\n    8l.1H = 1h3 * 15C.1H;\\n    8l.w = 0.0;\\n    6I = 2p * 1kV * 6v;\\n    1m 1A, 1fR;    1A.xy = 1mL(1P4.x);    1A.zw = 1mL(1P4.y);    1fR.xy = 1mL(1P4.z);    1fR.zw = 1mL(1P4.w);    4m = 7x * 1A;\\n#1z 1h6\\n    if(1h(13N) > 0.8)\\n    {\\n        1w 2U = 1h3 * 13N;\\n        1w 4X = 1T(11b * 2U);\\n        8l.w = 1.0;\\n        1w 4p = 1jF.1H;\\n        4m = 4m * 1Fa(4X, -4p, 8l.1H);\\n    }\\n#1u\\n   1th = 1fR;\\n}"]});c=1g ja({2i:"3JV",5p:["#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1e0\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\n#1z 1uL\\1B 2v 18G;\\1J 1v 6r;\\n#1u\\1J 1m 4m;\\1J 1m 1th;3G 1m 8l;\\1J 1w 1id;\\1J 1w 1ym;\\n\\n#1z 1h5\\1B 2v 1Dc;\\1B 2v 1Db;\\1B 2v 1Da;\\1B 1o 1D9; \\n#1u\\n\\1r 2vt()\\n{\\n#1z 10B\\n    1f 1iK(1Sb) * 2ji;\\n#1s\\n    1f 4u.z;\\n#1u\\n}\\n#1z 1h5\\166 1Ix(1v 4M)\\n{\\n    7d 1jD = 16f;\\n    1m 1Iz = 1Y(1Dc,4M.xy);\\n    if(1Iz.r > 0.99 && 1Iz.g < 0.11t && 1Iz.b < 0.11t)\\n    {\\n        1o 1rY = 11N(1Y(1Db, 4M.xy)) - 0.1Ai;\\n        1o 1rX = 11N(1Y(1Da, 4M.xy)) + 0.1Ai;\\n        1o 1Z2 = 2vt();\\n        if(1Z2 > 1rY && 1Z2 < 1rX){\\n            1jD = 8O;\\n        }\\n    }\\n    1f 1D9 < 0.5 ? !1jD : 1jD;\\n}\\n#1u\\2s 2k()\\n{\\n#1z 1e0\\1Cz();\\n#1u\\n    1m 1A = 4m;\\n#1z 1e0\\n    2C = 1A;\\n    #1z 2Yi\\n        2C = 1th;\\n        2C.a = 1.0;\\n    #1u\\n#1s\\n        1v 1dZ = 1v(0.0);\\n     #1z 1h5\\n        1v 4M = 1v(4u.x / 9e.z, 4u.y / 9e.w);\\n        if(!1Ix(4M)) \\n        { \\n            7o; \\n        } \\n    #1u\\n\\t#1z 1uL\\n        #1z 2H2\\n            1dZ = 1v(6r.x,1.0-6r.y);\\n        #1s\\n            1dZ = 1v(6r.x,6r.y);\\n        #1u\\n    #1u\\n    #1z 2cZ\\n        2C = 1XU(1ym, 1id, 1dZ, 1m(1.0)) * 4m;\\n    #1s\\n        #1z 1uL\\n            1A = 1Y(18G, 1dZ.xy, 0.0) * 1A;\\n        #1u\\n            2C = 1A;\\n            2C *= 1O8(8l.1H, 8l.w);\\n        #1u\\n    #1u\\n#1u\\n    2C = 9D(2C);\\n    if(2C.a < 0.1)\\n    {\\n        7o;\\n    }\\n}"]});x=g(k.7s)&&0<D.12s.1h;0===a.1gI&&c.2N.1q("2H2");g(k.11X)&&w.2N.1q("14V");g(k.13N)&&(w.2N.1q(ra.1h6),c.2N.1q(ra.1h6));x&&(w.2N.1q("1uL"),c.2N.1q("1uL"));g(a.5Y.1hp)&&(x=a.5Y.1hp.21G,w.2N.1q(ra.1gn+x.1h),c.2N.1q(ra.1gn+x.1h),x=a.5Y.1hp.21F,w.2N.1q(ra.1dY+x.1h),c.2N.1q(ra.1dY+x.1h),x=a.5Y.1hp.1JL,w.2N.1q(ra.19w+x.1h),c.2N.1q(ra.19w+x.1h));f.2z=Ga.4t({1O:l,5O:w,5A:c,7W:k});1d t=D.1se,m=D.1se,G=D.1Du,r=D.1JK,q=g(k.13N),u=e.3L;e={18G:1b(){1f D.12s[0]},2lq:1b(){1f b.18B},1Aj:1b(){1f t},15a:1b(){1f m},2ta:1b(){1f G},2U8:1b(){1f r},2H0:1b(){1f a.1ss},6BJ:1b(){1f q},1lW:1b(){1f h},1rr:1b(){1f a.1x7},3iz:1b(){1f a.21J},2df:1b(){1f a.2fV},1YY:1b(){1f u},1HP:1b(){1f b.2M}};e=fb(e,a.5Y.1hp.20K());f.4J=e;f.4w=p;b.1gJ.1q({14Z:f,2w:n,10X:d})}}1b Bk(a,b,c,d){1a.2I=b;1a.id=d;1a.2P=-1;1a.1I=qq.3mi;1a.1K=k.1y(c.1K);1a.1Av=T.12y(1a.1K);1a.2M=m(c.2M,1g k(0,0,0));1a.1A=m(c.1A,1g y);1a.3b=m(c.3b,1g k(1,1,1));1a.1oc=b=m(c.1oc,1g $b);1a.1zz=ca.28d(b);1a.7n=m(c.7n,m.4Z);1a.1Pi=!1;1a.1jp=1g y;1a.2pu=y.1y(1a.1A);1a.7r=1a.28O=1a.11H=1p 0;a=a.1Ga({id:d,9k:1a}).1A;c=1g y;c.x=y.10F(a.5r);c.y=y.10F(a.5t);c.z=y.10F(a.5G);c.w=y.10F(a.2O);1a.1fR=c}1b Tv(a,b){1a.2I=a;1a.14e=b;1a.18P=[];1a.2fR=1a.1Ep=1a.2w=1a.1b6=1p 0;1a.6s=!1}1b QC(a){1a.3o=!1;1a.4F=zg.3sO;1a.2I=a;1a.2Nw=[]}1b LS(){1a.6W=1a.3sP=1a.sp=1a.10X=1a.1Ep=1a.2w=1p 0}1b 5SR(a,b,c,d){d=1g Oa({6Z:Ja.11G,6W:d,4a:b,6t:c.1GL?ma.1Bc+3:ma.1Bc+2,8d:!0});d.1hR=!0;d.1fC=!0;d.1cI="1th";1d e=c.1se,f=c.1se,h=c.1Du,l=c.1JK,g=c.12s[0],n={18G:1b(){1f g},1Aj:1b(){1f e},15a:1b(){1f f},2ta:1b(){1f h},2U8:1b(){1f l},2de:1b(){1f b}};n=fb(n,c.4Gu());n=fb(n,a.5Y.1hp.20K());d.4J=n;d.4w=pa.4t({8d:{3e:!1},9J:{3e:!0},12e:Dc.1bQ});1f d}1b rq(a,b,c){1a.9Ng=a;1a.9Nf=b;1a.6b=c;1a.1Mq=1a.2fR=1a.5o=1a.6W=1a.3g=1p 0;1a.1w8=0;1a.1QF=1g Ia;1a.2Bi=1g Ia;1a.28N=1g Ia;1a.6s=!1}1b RC(){}1b KI(){}1b Lh(a){1a.4j=a;1a.6M=a.6M;1a.1I=qq.3mj;1a.6C=1g gd;1a.1QE=1g Ia;1a.1BA=1g Ia;1a.1Eo=1g Ia;1a.22r=1g Ia;1a.14Q=1E3;1a.1hr=10;1a.4Gf=0;1a.1hr=1a.4Gg(1a.14Q);1a.21H=0;1a.1JM=3a.6w;1a.1B9=Ak.35Q;1a.4Gi=3a.6w;1a.2op=0;1a.1V6=1g y(.7,.7,1,1);1a.4Gh=!0;1a.11h=15;1a.1gI=g(a.1TY)?1:g(a.27a)?2:3}1b cn(){1a.28M=1g Ia;1a.4Gb={};1a.4Gd=1g MS;1a.4Gc=1g NS}1b MS(){1a.1oF=1a.1O=1p 0;1a.2P=0}1b NS(){1a.1O=1a.1oF=1p 0;1a.2P=0}1b 5SI(a,b,c){g(b.7M)||(a=(1g zb("./9Ne/"+c)).5h(a.1vy).5s(),a=1g Ke({2I:a,1j8:!0,1mj:!0,1vD:qb.2Ao(a),1xd:1b(){1f 1E3}}),b.7M=a);a=Ng(b.7M.2I,1p 0,b.7M);g(a)&&(b.4F=mi.1gu,a.4b(1b(a){b.7M=1p 0;b.3J=a;b.4F=mi.1e5}).10g(1b(a){g(a)?b.4F=mi.5SK:(b.4F=mi.1he,b.7M=1p 0)}))}1b 5SH(a,b,c){a={3J:c,34P:!1,1V0:a.1gI,28i:a.2Ag,5KX:a.4As,3WY:!1};c=[c];sd.11K||sd.3rv();sd.35T&&(c=sd.35S.1fa(a,c),g(c)&&(b.3J=1p 0,b.4F=mi.21L,c.4b(1b(a){b.4F=mi.2oB;b.2oL=a}).10g(1b(a){b.4F=mi.5SJ})))}1b Ck(){1a.5V=1p 0;1a.2Ap=0;1a.1Qn=1p 0;1a.1Qo=!1;1a.35w=!0;1a.11d=1F;1a.12a=[];1a.4y=!1;1a.4AX=0;1a.2Mz=Ak.2oO;1a.3W8=0;1a.1zl={}}1b Uy(a,b,c){1a.7R=a;1a.1b4=b;1a.4Ga=c}1b sq(a){1a.8L=a;1a.2Bf=1a.2Bg=1a.2Bh=1a.22q=1a.6g=1p 0;1a.5V=1g P(1g k(0,0,0),16t);1a.1dI=A.8K;1a.12m={}}1b LI(a){g(a)&&(a.4c=a.4c&&!a.4c.3Z()&&a.4c.1M(),a.2z=a.2z&&a.2z.1M(),a.4w=1p 0,a.4J=1p 0)}1b SC(a){}1b dn(){1a.1fb={};1a.2Be={};1a.4j=1p 0}1b Tb(){}1b en(a,b){1a.1ae=a;1a.1oI=1a.7R=b;1a.7a=1g y(1,1,1,1);1a.2Kc="";1a.4FZ=[];1a.1lc=1p 0}1b Qa(a){a=a||{};1d b=a.1lu,c=a.1dM,d=a.1Qt;if(!(a.1lu&&a.1dM&&a.1Qt&&g(a.1O)))1t 1g r("gl 7y 1FP 6BO  is 1X to 6F 6BN");1a.4j=a.1O;1a.1sd=b;1a.1na=c;1a.2pq=a.2oN;1a.2Ba=m(a.1Qu,{});1a.3Zi=1g $f;1j(b=0;b<1a.1na.19h.1h;b++)1a.3Zi.1vp(b);1a.3Zh=1g $f;1j(b=0;b<1a.1sd.1h;b++)1a.3Zh.1vp(b);1a.1nw=a.9G||ni.1v9;1a.12m={};1a.9s=!1;1a.1dI=a.2gi;1a.9Nd=A.1y(A.8K);1a.1uV=d;1a.1MF=1a.6g=1p 0;1a.2gL=[];1a.2ol=1a.2Nk=1a.3Z5=1a.36Z=1a.15e=1p 0;1a.4FX=-1;1a.3sJ=0;1a.11S=a.6W;1a.3sv=1a.1N3=0;1a.1zk=m(a.2fW,!1);1a.1ad=a.2oM;1a.2oK=a.1Vb;1a.4FO=m(a.35O,A.8K);1a.4FN=a.5KY;1a.3sA=1p 0;1a.3sF=!1;1a.11m=a.1Br;a.1Br===La.3qz&&g(c.1oh.13x)&&(d=c.19h[c.1oh.13x].5b,d=d.4h(d.3J,d.8o,d.10S),1a.28J=1g 4A(d.3J,0,d.10S/4));1a.1vB=1p 0;1a.1qV=0;1a.3sy=!1;1a.2Nr=a.22a;1a.2gK=a.5QU;1a.4G0=a.5QT;1a.3Zn=a.5QS;g(1a.3Zn)||(1a.3Zn=1g C(600,600));1a.4FS=m(c.36Y,!1);g(a.6b)&&(1a.1hr=a.6b,1a.3Zf=a.1sA,1a.3Ze=a.1Mv);1a.27L=!1;1a.3qt=a.2oy;1a.28K=a.5L0;1a.1sF=a.35N;1a.4FR=ma.1Bc;1a.8L=a.7r;1a.2B9=[];1a.3Z3=[];1a.3su=[];1a.3Z4={};1a.21S={};1a.55b=[];1a.4FD=!1;1a.6y=1p 0;1a.2Nn=!0;1a.2pp=1g Ia;1a.3Z8=1g Ia;1a.4FJ=!1;1a.3sB=1a.8L.3Vy&&"2d2"===1a.8L.21P&&0<c.2MP;1a.2MP=c.2MP;1a.1MP=[]}1b 6CC(a){1d b,c=a.3Z8,d=[];if(0<c.1h){1d e=0;1j(b=c.1h;e<b;e++){1d f=c.2a[e];f.6s&&(f.6s=!1,d=f.1A.3bt(),Mh.x=d[0],Mh.y=d[1],Mh.z=d[2],Mh.w=d[3],g(f.4R)?a.6y.1nJ(f.4R,0,Mh):2K.8n(f.1xo)&&f.1xo.5d(1b(b){a.6y.1nJ(b,0,Mh)}))}}c=a.2pp;if(0<c.1h)1j(e=0,b=c.1h;e<b;e++)f=c.2a[e],f.6s&&(f.6s=!1,a.3sB?-1<f.3nO&&a.6y.1nJ(f.1xo[0]*a.2MP+f.3nO,1,f.1zy):0<a.1N3?2K.8n(f.1xo)&&f.1xo.5d(1b(b){a.6y.1nJ(b,1,f.1zy)}):g(f.4R)&&a.6y.1nJ(f.4R,1,f.1zy))}1b 6CD(a,b,c){1d d=b.6y,e=b.1vB,f=b.1vB.15W,h;1j(h in f)if(f.3p(h)){1d l=e.1n(h);if(b.3sB){1d g=l.1xo;g=g[0];1d n=1L.9K(l.3X0).1h,k;1j(k in l.3X0)if(l.3X0.3p(k)){1d w=g*n+3a(k),x=a.1Ga({9k:c,id:h,3nO:3a(k)});x=x.1A;Mh.x=y.10F(x.5r);Mh.y=y.10F(x.5t);Mh.z=y.10F(x.5G);Mh.w=y.10F(x.2O);d.1nJ(w,2,Mh)}}1s x=a.1Ga({9k:c,id:h}),x=x.1A,Mh.x=y.10F(x.5r),Mh.y=y.10F(x.5t),Mh.z=y.10F(x.5G),Mh.w=y.10F(x.2O),0<b.1N3?(g=l.1xo,g.5d(1b(a){d.1nJ(a,2,Mh)})):d.1nJ(l.4R,2,Mh)}}1b R9(a,b,c,d){if(!g(c.6y)){1d e=[];e.1q({1Hl:"1k9",3k:I.7U,2Z:4,1T:!0},{1Hl:"1qo",3k:I.7U,2Z:4},{1Hl:"1ki",3k:I.7U,2Z:4,1T:!0});1d f=1L.9K(c.2Ba);e=1g xl(b,e,c.3sB?c.1N3*c.2MP:0<c.1N3?c.1N3:f.1h);c.6y=e;e=c.6g.2z;f=e.5O;1d h=f.5p[0],l=e.5A,p=e.12m;h=c.6y.1zS()(h);f=1g ja({2N:f.2N,5p:[h]});-1===f.2N.3f("18e")&&f.2N.1q("18e");c.6g.2z=Ga.1sw({1O:b,2z:e,5O:f,5A:l,7W:p});g(c.15e)&&(c.15e.2z=c.6g.2z);g(c.1MF)&&(e=c.1MF.2z,f=e.5O,h=f.5p[0],l=e.5A,p=e.12m,h=c.6y.1zS()(h),f=1g ja({2N:f.2N,5p:[h]}),-1===f.2N.3f("18e")&&f.2N.1q("18e"),c.1MF.2z=Ga.1sw({1O:b,2z:e,5O:f,5A:l,7W:p}));g(c.1Vu)&&(e=c.1Vu.2z,f=e.5O,h=f.5p[0],l=e.5A,p=e.12m,h=c.6y.1zS()(h),f=1g ja({2N:f.2N,5p:[h]}),-1===f.2N.3f("18e")&&f.2N.1q("18e"),c.1Vu.2z=Ga.1sw({1O:b,2z:e,5O:f,5A:l,7W:p}));e=c.6y;f=c.6g;f.4J=e.1BM()(f.4J);g(c.15e)&&(c.15e.4J=e.1BM()(c.15e.4J));g(c.1MF)&&(c.1MF.4J=e.1BM()(c.1MF.4J));g(c.1Vu)&&(c.1Vu.4J=e.1BM()(c.1Vu.4J));6CD(b,c,d)}6CC(c);c.6y.2H(a);c.2Nn=!1}1b S9(a){1d b=a.11m;1f a.2oz!=MI.6i&&(b===La.2Ai||b===La.2M3||b===La.1MM)}1b TC(a,b){a=a.11m;a=a==La.1GQ||a==La.20W||a==La.2Ab||a==La.2g4||a==La.2Aa;b.4FS&&(a=!1);1f a}1b T9(a,b){1d c=!1,d=b.7g(" ");if(1<d.1h){b=d[0];d=d[1];1j(1d e in a.2N)if(-1!==a.2N[e].3f(b)){a.2N[e]=b+" "+d;1W}}1s{1j(e in a.2N)if(a.2N[e]===b){c=!0;1W}c||a.2N.1q(b)}}1b U9(a,b){1j(1d c=-1,d=0;d<a.2N.1h;d++)if(a.2N[d]===b){c=d;1W}0<=c&&a.2N.6z(c,1)}1b Ps(a,b){g(b)&&(b.4c=b.4c&&!b.4c.3Z()&&Qj.3YT(a,b.4c),b.2z=b.2z&&!b.2z.3Z()&&b.2z.1M(),b.4w=1p 0,b.4J=1p 0)}1b 5R4(a,b,c,d){if(!g(c.55b[d])){1d e=a.2ox.2Ad;a.3UW(b).4b(1b(a){c.55b[d]=1p 0;1d f=m(a.id,a.3qi);b===3a(f)&&a.3p(e)&&(c.3Z3[d]=a[e],c.3Z4[b]=!0)})}}1b Rj(){}1b V9(a){1d b=1g P,c=a.35V;if(!g(c))1f b;a=1g k(c[0],c[1],c[2]);c=1g k(c[3],c[4],c[5]);c=k.11x(a,c,.5,1g k);a=k.3s(c,a);b.2V=c;b.3L=a;1f b}1b W9(a){1d b=1g P,c=1g k,d=a.19h[0],e=d.2Z,f=g(a.1pO)&&(a.1pO&Pc.1vG)===Pc.1vG,h=1;if(f){h=a.2oS;1d l=1g k(a.1zr.x,a.1zr.y,a.1zr.z);d=1g 10Y(d.5b.3J,d.5b.8o,d.5b.10S/2)}1s d=1g 4A(d.5b.3J,d.5b.8o,d.5b.10S/4);1j(1d p=[],n=0;n<a.1f0;n++)k.7j(d,e*n,c),f&&(c=k.4g(c,h,c),c=k.add(c,l,c)),p.1q(k.1y(c));P.1aN(p,b);p.1h=0;1f b}1b X9(a){1d b=1g P,c=1g k,d=g(a.1pO)&&(a.1pO&Pc.1vG)===Pc.1vG,e=a.19h[0],f=e.2Z,h=1;if(d){h=a.2oS;1d l=1g k(a.1zr.x,a.1zr.y,a.1zr.z);e=1g 10Y(e.5b.3J,e.5b.8o,e.5b.10S/2)}1s e=1g 4A(e.5b.3J,e.5b.8o,e.5b.10S/4);1j(1d p=[],n=0;n<a.1f0;n++)k.7j(e,f*n,c),d&&(c=k.4g(c,h,c),c=k.add(c,l,c)),p.1q(k.1y(c));P.1aN(p,b);p.1h=0;1f b}1b NI(a){1d b=g(a.1pO)&&(a.1pO&Pc.1vG)===Pc.1vG,c=1g P,d=1g k,e=1g k,f=a.19h[0],h=f.2Z,l=a.19h[a.1oh.4f],p=a.19h[a.1oh.2di],n=p.2Z;if(b){n=h=3;b=Y9(a,l);f=p.2Z;l=a.1Bz[5];1d z=1g E(a.1QD[5].x,a.1QD[5].y,a.1QD[5].z,a.1QD[5].w);p=1g 10Y(p.5b.3J,p.5b.8o,p.5b.10S/2);1j(1d w=1g 4A(3*a.1f0),x,D,t,m=0;m<a.1f0;m++)x=p[f*m]*l+z.x,D=p[f*m+1]*l+z.y,t=p[f*m+2]*l+z.z,w[3*m]=x,w[3*m+1]=D,w[3*m+2]=t;f=w}1s b=1g 4A(f.5b.3J,f.5b.8o,f.5b.10S/4),f=1g 4A(p.5b.3J,p.5b.8o,p.5b.10S/4);l=[];1j(z=0;z<a.1f0;z++)k.7j(b,h*z,d),k.7j(f,n*z,e),k.add(d,e,d),l.1q(k.1y(d));P.1aN(l,c);l.1h=0;1f c}1b OS(a){1d b=Ja.11G;6U(a){1S 1:b=Ja.1wF;1W;1S 2:b=Ja.1ao;1W;1S 3:b=Ja.22n;1W;1S 4:b=Ja.11G}1f b}1b Y9(a,b){1d c=b.2Z,d=a.2oS,e=1g k(a.1zr.x,a.1zr.y,a.1zr.z);b=1g 10Y(b.5b.3J,b.5b.8o,b.5b.10S/2);1j(1d f=1g 4A(3*a.1f0),h,l,g,n=0;n<a.1f0;n++)h=b[c*n]*d+e.x,l=b[c*n+1]*d+e.y,g=b[c*n+2]*d+e.z,f[3*n]=h,f[3*n+1]=l,f[3*n+2]=g;1f f}1b Uv(){}1b 5R1(a,b){1d c=[],d;1j(d in a)if(a.3p(d)&&"0"!==d){1d e=1g en(1a,d);1L.1AU(e,b.15V.16N[d]);1d f=a[d];2K.8n(f)||(f=[f]);1j(1d h=0,l=f.1h;h<l;h++)e.5St(f[h].3sz,f[h].3Z7);c.1q(e)}1f c}1b UC(a,b,c,d){1a.1mk=1p 0;1a.1jO=a;1a.1o2=b;1a.21o=1p 0;1a.1UF=c;1a.13E=d}1b VC(){}1b PS(a){1d b=1F,c=1F;if(Z9(a[0]))1d d=a[0];1s 1f 1F;if(1<a.1h&&(c=a[1],"$"===c[0]))1f 1F;2<a.1h&&(b=a[2]);1f{5QQ:d,5QP:c,5QO:b}}1b Z9(a){1f-1!=="== === >= <= > < != 14d".7g(" ").3f(a)}1b $9(a,b,c){1f a[b]==c}1b Qs(a,b){if(!a)1t 1g r("1dS 2cK ol-4Ez.js");1a.5QL=b;1a.2gI=a}1b OI(a){a=a.11c(a.3f("(")+1,a.3f(")"));a=a.7g(",");1d b=[];b.1q(7L(a[0]));b.1q(7L(a[1]));b.1q(7L(a[2]));b.1q(7L(a[3]));1f b}1b a$(a,b){if(a&&1p 0!==b){1d c=a[3];a=[255*a[0]/a[3],255*a[1]/a[3],255*a[2]/a[3],a[3]];a[3]=c*b;0===a[3]&&(a=1p 0)}1f a}1b Vy(a){1a.2gJ=a.6CA;1a.2gI=a.6Cz}1b Xi(a,b){1b c(){if(l.2Fp){1d a=b.2I+"?3dX=2ex&2kM=1.0.0&3dW=6Cr";g(Ba.12M)&&(a=g(Ba.12M.1e7[l.10z])?Ba.1oo(l.10z,a):Ba.1cl(a));Z(zj(a),e,h)}1s l.2iY?(a=b.2I+"/1nn",g(Ba.12M)&&(a=g(Ba.12M.1e7[l.10z])?Ba.1oo(l.10z,a):Ba.1cl(a)),Z(xu(a),d,h)):(a=b.2I+".2HZ",g(Ba.12M)&&(a=g(Ba.12M.1e7[l.10z])?Ba.1oo(l.10z,a):Ba.1cl(a)),a=Km(a,{7V:{f:"15l"}}),Z(a,f,h))}1b d(a){a=p.27q(a,"1aM/1g3");a=a.13P[0];1d b=PI(a,"2Kl","10R://10y.1gD.11Y/1g7/1hS");if(g(b)){1d c=[];b=b.1Gs("*","1PV");1j(1d d=b.1h,e=0;e<d;e++){1d f=b[e];"1PV"===f.16Z&&-1!=="10R://10y.1gD.11Y/1g7/1hS".3f(f.1fz)&&c.1q(f)}}1s c=1p 0;b=[];d=0;1j(e=c.1h;d<e;d++)b.1q(8A(c[d].8S,10));e=PI(a,"2yo","10R://10y.1gD.11Y/1g7/1hS");f=Wy(e,"1Mj","10R://10y.1gD.11Y/1g7/1hS");d=Wy(e,"1Dh","10R://10y.1gD.11Y/1g7/1hS");c=Wy(e,"2eV","10R://10y.1gD.11Y/1g7/1hS");e=Wy(e,"2eU","10R://10y.1gD.11Y/1g7/1hS");1d h=b$(a,"3Q8","10R://10y.1gD.11Y/1g7/1hS"),n=Wy(a,"3mP","10R://10y.1gD.11Y/1g7/1hS"),k=Wy(a,"3mO","10R://10y.1gD.11Y/1g7/1hS");a=b$(a,"4rK","10R://10y.1gD.11Y/1g7/1hS");l.6X||(l.6X=a||"");l.2Kj=m(h,"1Ej");l.14Q=m(n,256);l.16J=m(k,256);l.2yn="2eS";a=b.1h;l.1jK=m(b[0],0);l.17G=m(b[a-1],a-1);g(l.6C)||(l.6C=1g gd);a=l.6C;!g(l.7T)&&f&&d&&c&&e&&(b=B.8I(f),d=B.8I(d),e=B.8I(e),c=B.8I(c),l.7T=1g Q(b,e,d,c));l.7T.4o<a.3g.4o&&(l.7T.4o=a.3g.4o);l.7T.5a>a.3g.5a&&(l.7T.5a=a.3g.5a);l.7T.4C<a.3g.4C&&(l.7T.4C=a.3g.4C);l.7T.4P>a.3g.4P&&(l.7T.4P=a.3g.4P);l.6C=a;l.1x8=l.10z+"2g/2P/{y}/{x}.{2eT}?6b={6b}";l.4y=!0;l.7S.5h(!0)}1b e(a){1d c=a.1gv;a=c.3pZ;c=N.121(c,"559",a);1d d=N.1vx(c,"2oV",a);if(1<d.1h)1j(1d e=0,f=d.1h;e<f;e++){1d h=N.121(d[e],"558",a);if(N.15X(h)===l.8L){1d p=d[e];1W}}1s p=N.121(c,"2oV",a);d=N.121(p,"6Cq",a);p=N.15X(d,"550",a);d=N.15X(d,"54Z",a);f=p.7g(" ");d=d.7g(" ");p=7L(d[0]);d=7L(d[1]);e=7L(f[0]);f=7L(f[1]);c=N.121(c,"4d7",a);h=N.121(c,"4d6",a);c=N.6B(h,"6Cp",a);a=N.6B(h,"6Co",a);g(l.6C)||(l.6C=1g gd);e=B.2Y(e,-180,180);f=B.2Y(f,-90,90);p=B.2Y(p,-180,180);d=B.2Y(d,-90,90);l.7T=Q.8g(e,f,p,d);l.2Fq||(l.14Q=c,l.16J=a);l.2pn=l.10z+"?3dW=3m6&3dX=2ex&2kM=1.0.0&6Cn="+l.8L+"&3PV="+l.1JH+"&6Cm="+l.3dY+"&6Cl="+l.14Q+"&6Ck="+l.16J+"&6Cj={z}&6Ci={y}&6Ch={x}";l.7T||(l.7T=m(b.3g,l.6C.3g));l.4y=!0;l.7S.5h(!0)}1b f(a){1d c=a.32y.3Q7;l.2yn=c;1d d=a.14w,e=a.2Kk,f=a.6o.1G,h=a.6o.1D;l.2Fq||(l.14Q=f,l.16J=h);g(e)&&2K.8n(e)&&(h=e[0],e=c$(e[e.1h-1],a.6CB,c),h=c$(h,a.6CB,c),a=ol.1yh.9Nc(1F,"1pY:"+a.32y.6Cg)||1g ol.1yh.9Nb.9Na,f=ol.9N9.9N8(a.2IW,1p 0,f),l.17G=ol.4x.4oN(f,e,0),l.1jK=ol.4x.4oN(f,h,0));"2eS"==c?(g(l.6C)||(l.6C=1g gd),d.3B=B.2Y(d.3B,-180,180),d.7b=B.2Y(d.7b,-90,90),d.2W=B.2Y(d.2W,-180,180),d.5C=B.2Y(d.5C,-90,90),l.7T=Q.8g(d.3B,d.7b,d.2W,d.5C)):(c=1g k(d.3B,d.7b,0),c.x=1k.1V(-2.20E,c.x),c.y=1k.1V(-2.20E,c.y),d=1g k(d.2W,d.5C,0),d.x=1k.2o(2.20E,d.x),d.y=1k.2o(2.20E,d.y),g(l.6C)||(l.6C=1g Le),c=l.6C.16y.1cZ(c),d=l.6C.16y.1cZ(d),l.7T=1g Q(c.3N,c.4k,d.3N,d.4k));l.1x8=l.10z+"/17v/{z}/{x}/{y}.1Ej";l.7T||(l.7T=m(b.3g,l.6C.3g));l.4y=!0;l.7S.5h(!0)}1b h(a){a="An 7A 1Jq 14p 1Ud "+l.10z+".";3JJ.1ir(1p 0,l,l.14P,a,1p 0,1p 0,1p 0,c);l.7S.7N(1g 1uN(a))}1a.2gJ=1g Qs(ol,!1);1a.4Fs=1g Vy({6CA:1a.2gJ,6Cz:ol});b=m(b,{});1a.6C=b.8c;1a.2Fq=!1;g(b.16K)&&g(b.17g)&&(1a.2Fq=!0);1a.14Q=m(8A(b.16K)||1p 0,512);1a.16J=m(8A(b.17g)||1p 0,512);1a.1i0=m(8A(b.3Sc)||1p 0,512);1a.1i0=B.2Y(1a.1i0,128,13j);1a.1jK=m(8A(b.16i)||1p 0,0);1a.17G=8A(b.16j)||1p 0;1a.2Lj=8A(b.2Lj)||1p 0;1a.2Li=8A(b.2Li)||1p 0;1a.4de=m(b.6C9,"");1a.1xm=b.2eG;1a.36W=1a.36X=0;1a.22d=1a.4y=!1;1a.7S=Z.12L();1a.8U={};1a.2B7={};1a.4Fj=m(b.9N7,!1);1a.1Bs=m(b.2JX,!0);1a.4Ff=m(b.9N6,!1);1a.5Qr=m(b.9N5,!0);1a.5Qu=m(8A(b.9N4)||1p 0,0);1a.6Cw=m(8A(b.4Fv)||1p 0,0);1a.55a={};1a.32j={};1a.4Fm={};if(!ol)1t 1g r("1dS 2cK ol-4Ez.js");1a.6Cy=ol;1a.36V=1g 1a.6Cy.8V.1D4({});1a.14N=1a.2gJ.313();1a.2dI=m(b.10t,"");1a.10z=m(b.2I,"");1a.12o=na.14m(1a.10z);1a.4j=a;1a.2Fp=-1!==1a.10z.3f("1B0")?!0:!1;1a.1pw=(1a.2iY=-1!==1a.10z.3f("26f/2eB")?!0:!1)?b.2n6:1p 0;1a.2Fp?(1a.8L=m(b.7r,""),1a.1JH=m(b.8V,"1Ej"),1a.3dY=m(b.3B9,""),1a.1jK=m(8A(b.16i)||1p 0,0),1a.17G=m(8A(b.16j)||1p 0,0),1a.13Y=1a.8L+1a.3dY):(1a.2pn=1a.2iY?1a.10z+"/2g/2P/{y}/{x}.1Ej?6b={z}":1a.10z+"/17v/{z}/{x}/{y}.1Ej",1a.13Y=1a.10z);1a.9N3="2lJ 14x 1b1 1ar 1gy 198".7g(" ");1a.1Bn={};1a.1U8=m(b.2aU,5QB);1a.7R=-1;1a.3st=m(8A(b.5Qz)||1p 0,4);1a.14P=1g sa;1a.1U0=!1;1a.1Vt={1N1:-1,1N0:-1,1tX:-1,2Ni:1F};1a.2B6=1F;1d l=1a;1a.17F={1dF:!1,9P:1b(){l.12Y.9P(l.13Y)},1au:[]};(1g Dh({2i:1a.10z})).4b(1b(a){a.1PU(l.13Y)?l.12Y=a:a.1Uc(l.13Y).4b(1b(){l.12Y=a})});c();(1b(){if(g(l.1xm))QI(l,l.1xm),QS(l,l.1xm);1s{1d a=l.2Fp?b.2I+"?3dX=2ex&2kM=1.0.0&3dW=6C8&6C7="+l.4de:l.2iY?b.2I+"/2g/9w/2r.15l":b.2I+"/2r.15l";g(Ba.12M)&&(a=g(Ba.12M.1e7[l.10z])?Ba.1oo(l.10z,a):Ba.1cl(a));a=Fe(a);Z(a,1b(a){l.1xm=a;QI(l,a);QS(l,a)},1b(a){Fe(b.2I+"/54Y/6C6.15l?1I=6C5&6C4=8O").4b(1b(a){l.1xm=a;QI(l,a);9N2(l,l.1pP.1MR,a)})})}})();1d p=1g 27n}1b QS(a,b){1d c=b.28s;if(g(c)){1d d=a.2iY?a.10z+"/2g/9w/28s.15l":c+".15l";g(Ba.12M)&&(d=g(Ba.12M.1e7[a.10z])?Ba.1oo(a.10z,d):Ba.1cl(d));b=Fe(d);Z(b,1b(b){a.55a=b;a.2Fr=1g 1ar;a.2Fr.2ma="5qB";b=c+".12H";g(Ba.12M)&&(b=g(Ba.12M.1e7[a.10z])?Ba.1oo(a.10z,b):Ba.1cl(b));a.2Fr.1bv=b;a.2Fr.1w2=1b(b){b=3n.4O("3M");b.1G=a.2Fr.1G;b.1D=a.2Fr.1D;1d c=b.1ft("2d");c.1DA(a.2Fr,0,0);1d d=a.55a,e;1j(e in d){1d f=d[e],g=3n.4O("3M"),k=g.1ft("2d"),x=f.1G*f.13S,D=f.1D*f.13S;g.1G=x;g.1D=D;k.1DA(b,f.x,f.y,x,D,0,0,x,D);f=k.1LW(0,0,x,D);a.32j[e]=f}c.2lF(0,0,b.1G,b.1D);a.22d=!0};a.2Fr.1ra=1b(b){11l.7k("2CU 28s 4d 6Cx");a.22d=!0}},1b(b){11l.7k("2CU "+d+" 6Cx");a.22d=!0})}1s a.22d=!0}1b QI(a,b){if(g(b.1lv)&&g(b.1lv.4dc)){1d c=-180,d=-270,e=360;g(b.1lv.4dd)&&"1Bo"==b.1lv.4dd&&(d=c=-2.6C3,e=4.6C2);1d f=b.1lv.4dc,h=f[1];a.36X=(f[0]-c)/e;a.36W=(h-d)/e}a.2B7={};a.8U={};c=0;1j(d=b.9Q.1h;c<d;c++)e=b.9Q[c],h=e["5j-7r"],g(e.14I)&&g(h)&&(f=e.11e,g(f)&&g(f.12F)&&"13z"!==f.12F||(f=a.2gJ.3Z1(e),g(f)&&(a.2B7[h]=h,f.30V(c),g(a.8U[h])||(a.8U[h]={}),h=a.8U[h],h[e.id]={},h=h[e.id],h.5QK=VC.5QR(e.14O),h.2B8=e,h.9N1=f)))}1b d$(a){a=a.3lk();1f a-1C6*1k.2t(a/1C6)}1b RS(a,b){1f 1g Ca({1O:a.4j,5j:b,8b:ua.9m,10v:1g Eb({14A:nb.10U,15u:Rb.10U})})}1b e$(a){1f 1g Ca({1O:a.4j,1G:1,1D:1,8b:ua.9m,10v:1g Eb({14A:nb.10U,15u:Rb.10U})})}1b RI(a,b,c,d){1d e=3n.4O("3M");e.1G=a.1i0;e.1D=a.1i0;1d f=3n.4O("3M");f.1G=a.1i0;f.1D=a.1i0;d=a.4Fs.4Fr({4Fq:e,4Fp:f,5o:c,9Q:a.8U,1jG:d,4Fo:b.1tX,4Fn:a.4Fm,4Fl:a.32j,4Fi:a.3st*a.3st,4Fk:a.4Fj,4Fg:!0,4Fh:a.1Bs,4Fv:a.6Cw});1d h=1g Ca({1O:a.4j,5j:e,8b:ua.9m,10v:1g Eb({14A:nb.11U,15u:Rb.11U})});if(a.1Bs){1d l=RS(a,f);b.2Nj=1g eb({1O:a.4j,13I:[l],16Y:!1})}1s l=e$(a);if(g(a.12Y)&&!0===a.17F.1dF){1d p=f$(b.1N1,b.1N0,b.1tX);a={1i3:{5Qy:e.3ma("4d/12H"),5Qx:f.3ma("4d/12H"),14w:b.14w},10t:p,13Y:a.13Y,1sG:a.12Y.1sG};5QA.1fa(a,[])}1f{1Ej:!0,6T:h,2nU:l,11H:b,2yd:d.2yd,2yb:d.2yb,5o:c}}1b SS(a,b,c,d){a=4H.8s([a,b,c]);1f d[a]}1b g$(a,b,c,d){1j(1d e=1F;!g(e)||!g(e.1MZ);){e=d.1Bn;1d f=4H.8s([a/2|0,b/2|0,c-1]);e=e[f];if(g(e)&&g(e.1MZ))1f e;a=a/2|0;b=b/2|0;--c;if(c==d.17G-1){if(g(e))1f e;e=4H.8s([a,b,c]);f={};f.1N1=a;f.1N0=b;f.1tX=c;f.14w=d.6C.1d1(a,b,c);1f d.1Bn[e]=f}}1f 1F}1b 5Qw(a,b,c,d,e){1d f=SS(b,c,d,a.1Bn);if(!g(f)){f={};1d h=4H.8s([b,c,d]);a.1Bn[h]=f}f.1N1=b;f.1N0=c;f.1tX=d;f.14w=Q.1y(e);1d l=g$(b,c,d,a);if(g(l)){if(g(l.1MZ))1f b=h$(a,f.14w,l.14w),f.5o=b,c=i$(l.1MZ,f.14w),RI(a,f,b,c);b=a.2pn;b=b.3X("{x}",l.1N1).3X("{y}",l.1N0).3X("{z}",l.1tX+1);b=na.14m(b).1kw();1f g(b)?b.4b(1b(b){if(a.1U0)1f 1F;b=a.36V.2IX(b,{312:a.2B7});l.1MZ=b;1d c=a.1i0/a.14Q;j$(b,l.14w,[a.14Q/18C*c,0,0,a.16J/18C*c,0,0],a.1i0);b=i$(b,f.14w);c=h$(a,f.14w,l.14w);f.5o=c;1f RI(a,f,c,b)}).10g(1b(a){1f 1F}):1F}b=Z.12L();b.7N();1f b}1b h$(a,b,c){1d d=a.1i0/a.14Q;1f[a.14Q/18C/(b.1G/c.1G)*d,0,0,a.16J/18C/(b.1D/c.1D)*d,-((b.4o-c.4o)/b.1G*a.14Q*d),-((c.4P-b.4P)/b.1D*a.16J*d)]}1b SI(a,b,c,d,e){1f[c.4o+(d[0]*a+d[2]*b+d[4])/e*c.1G,c.4C+c.1D*(1-(d[1]*a+d[3]*b+d[5])/e)]}1b i$(a,b){1j(1d c=[],d=a.1h,e=0;e<d;e++){1d f=a[e];1d h=f.1rt[2]<b.4o?!0:f.1rt[1]<b.4C?!0:b.5a<f.1rt[0]?!0:b.4P<f.1rt[3]?!0:!1;h||c.1q(f)}1f c}1b j$(a,b,c,d){1j(1d e=a.1h,f=0;f<e;f++){1d h=a[f],l=h.1TE().1Pp(),g=SI(l[0],l[1],b,c,d);l=SI(l[2],l[3],b,c,d);h.1rt=[g[0],g[1],l[0],l[1]]}}1b k$(a,b){1j(1d c=a.1h,d=0;d<c;d++){1d e=a[d];if(d$(e)==b)1f e}1f 1F}1b c$(a,b,c){1d d;"53t"==c?d=1:"2eS"==c?d=6Cf*1k.PI/360:"6Ce"==c?d=.17I:"6Cd"==c?d=39.6Cc:"6Cb"==c&&(d=.4Xp);1f 1/(1/.3cX*b*a*d)}1b f$(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d}1b PI(a,b,c){if(g(a)){a=a.13P;1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];if(f.16Z===b&&-1!==c.3f(f.1fz))1f f}}}1b Wy(a,b,c){a=PI(a,b,c);if(g(a))1f a=7L(a.8S),11I(a)?1p 0:a}1b b$(a,b,c){a=PI(a,b,c);if(g(a))1f a.8S.1b2()}1b l$(a,b,c){if("11C"===a.2gv){1d d=c.14I.1n("12O-7z"),e=c.14I.1n("12O-15n-1G"),f=c.14I.1n("12O-15n-7z"),h=1p 0!==c.11e.1n("12O-15F-10t").1AK(1);if(0!==d.1AK(1)||0!==e.1AK(1)&&0!==f.1AK(1)){d=a.1O;e=d.gl;f=a.3rY(0,oi.36T);1d l=Rs.1nk,g=a.3XU(),n=[],k=b.3kj(c);if(k){1d w=k.1dO.1n(c.id),x=a.28B("12O",w),D=k.1zu,t=k.10X;a=TS.5Qm(a,b,c);a={6Cu:w,1bb:x,1zu:D,10X:t,6Cv:a};if(h)1j(b=0,k=k.1eK.1n();b<k.1h;b+=1)w=k[b],n.1q({1eK:1g Ug([w]),1zw:w.1zw,4F:a});1s n.1q({1eK:k.1eK,1zw:0,4F:a});h&&n.15F(1b(a,b){1f a.1zw-b.1zw});1j(h=0;h<n.1h;h+=1)a=n[h],b=a.4F,b.1bb.1Mm(d,e.11G,f,l,g,Ho.1nk,b.6Cv,c.id,b.1zu,b.10X,a.1eK,c.14I,0,b.6Cu)}}}}1b vc(){}1b pi(a){1f 1p 0!==a&&1F!==a}1b m$(a,b,c){if("11C"===a.2gv&&pi(c)&&pi(c.14I)){1d d=c.14I.1n("6D-7z"),e=c.14I.1n("6D-1G");if(0!==d.1AK(1)&&0!==e.1AK(1)){d=a.3rY(0,oi.36T);e=a.3XU();1d f=c.14I.1n("6D-2AK"),h=c.14I.1n("6D-1jV"),l=h.1AK(1),g=c.14I.1n("6D-1tl"),n=c.36j(),k=f?"4Ek":l?"4El":g?"4Em":"6D",w=a.1O,x=w.gl;if(g){w.1pR.1C(x.1tW);1d D=c.4Dw;if(!c.1tl)1f;D||(D=c.4Dw=1g 1Pk.2GX(w,c.1tl,x.9m));D.7X(x.11U,x.11g)}if(D=b.3kj(c)){1d t=D.1dO.1n(c.id),m=a.1O.1bb.1n();k=a.28B(k,t);m=k.1bb!==m;1d G=h.1AK(1F);if(G&&b.2Co){1d r=b.2Co;h=r.2gx[G.to.5s()];G=r.2gx[G.19f.5s()];h&&G&&t.2p6(h,G)}g=f?fn.5Qi(a,b,c,f,n):l?fn.5Qj(a,b,c,n):g?fn.5Qk(a,b,c):fn.3YV(a,b,c);f&&(m||a.2AU.6s)?(w.1pR.1C(x.1tW),a.2AU.7X(w)):l&&(w.1pR.1C(x.1tW),b.2pm.7X(x.11U,x.11g),t.4Eb(n));k.1Mm(w,x.11G,d,1F,e,Ho.1nk,g,c.id,D.1zu,D.10X,D.1eK,c.14I,0,t)}}}}1b 5Qh(a,b,c){b=1/Pv(c,1);1d d=c.42e*c.1N1,e=c.42e*c.1N0;1f{1ax:0,18n:c.2pm.4V,1fh:[1,b,a.1oY,a.1EW],1xJ:a.t,1q8:[d>>16,e>>16],1q7:[d&1a6,e&1a6]}}1b n$(a,b,c,d,e,f){1d h=a.1O.gl,l=c.14I.1n("4K-1jV"),g=l&&l.1AK(1),n=c.36j();if(f){1d k=g&&!c.2AG("4K-8Y-1A")?"3Yg":"4En";1d w=h.1ao}1s k=g?"4Eo":"4K",w=h.11G;1d x=b.3kj(c);if(x){1d D=x.1dO.1n(c.id),t=a.28B(k,D);g&&(a.1O.1pR.1C(h.1tW),b.2pm.7X(h.11U,h.11g),D.4Eb(n));if((l=l.1AK(1F))&&b.2Co){1d m=b.2Co;h=m.2gx[l.to.5s()];l=m.2gx[l.19f.5s()];h&&l&&D.2p6(h,l)}l=A.1MY(b.1Ue,5Qe);f?(f=x.4DG,h=x.3XD,m=[b.1AO,b.1AO],b="3Yg"===k&&g?gn.5Qf(l,a,n,b,m):gn.5Qg(l,m)):(f=x.10X,h=x.1eK,b=g?gn.4F8(l,a,n,b):gn.4F9(l));t.1Mm(a.1O,w,d,1F,e,Ho.1nk,b,c.id,x.1zu,f,h,c.14I,0,D)}}1b o$(a,b,c){1d d=c.14I.1n("4K-1A"),e=c.14I.1n("4K-7z");if(0!==e.1AK(1)){1d f=a.3XU();d=c.14I.1n("4K-1jV").1AK(1)||1!==d.1AK(Rd.18b).a||1!==e.1AK(0)?"11C":"1xU";a.2gv===d&&(d=a.3rY(1,"1xU"===a.2gv?oi.5Qq:oi.36T),n$(a,b,c,d,f,!1));"11C"===a.2gv&&c.14I.1n("4K-2N4")&&(d=a.3rY(c.2AG("4K-8Y-1A")?2:0,oi.36T),n$(a,b,c,d,f,!0))}}1b p$(a,b,c,d,e){}1b Ue(a,b){1d c=/#3U 3H: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,d={};a=a.3X(c,1b(a,b,c,l,g){d[g]=!0;1f"2f"===b?"\\n#1bI 2gy"+g+"\\1J "+c+" "+l+" "+g+";\\n#1s\\1B "+c+" "+l+" 1gL"+g+";\\n#1u\\n":"\\n#1z 2gy"+g+"\\n    "+c+" "+l+" "+g+" = 1gL"+g+";\\n#1u\\n"});b=b.3X(c,1b(a,b,c,l,g){a="1o"===l?"1v":"1m";1d e=g.141(/1A/)?"1A":a;1f d[g]?"2f"===b?"\\n#1bI 2gy"+g+"\\1B 5v 1o 1gL"+g+"36s;\\2J "+c+" "+a+" 1zx"+g+";\\1J "+c+" "+l+" "+g+";\\n#1s\\1B "+c+" "+l+" 1gL"+g+";\\n#1u\\n":"1m"===e?"\\n#1bI 2gy"+g+"\\n    "+g+" = 1zx"+g+";\\n#1s\\n    "+c+" "+l+" "+g+" = 1gL"+g+";\\n#1u\\n":"\\n#1bI 2gy"+g+"\\n    "+g+" = 6Ct"+e+"(1zx"+g+", 1gL"+g+"36s);\\n#1s\\n    "+c+" "+l+" "+g+" = 1gL"+g+";\\n#1u\\n":"2f"===b?"\\n#1bI 2gy"+g+"\\1B 5v 1o 1gL"+g+"36s;\\2J "+c+" "+a+" 1zx"+g+";\\n#1s\\1B "+c+" "+l+" 1gL"+g+";\\n#1u\\n":"1m"===e?"\\n#1bI 2gy"+g+"\\n    "+c+" "+l+" "+g+" = 1zx"+g+";\\n#1s\\n    "+c+" "+l+" "+g+" = 1gL"+g+";\\n#1u\\n":"\\n#1bI 2gy"+g+"\\n    "+c+" "+l+" "+g+" = 6Ct"+e+"(1zx"+g+", 1gL"+g+"36s);\\n#1s\\n    "+c+" "+l+" "+g+" = 1gL"+g+";\\n#1u\\n"});1f{4Ey:a,4Ew:b}}1b US(a,b){if(2K.8n(a)){if(!2K.8n(b)||a.1h!==b.1h)1f!1;1j(1d c=0;c<a.1h;c++)if(!US(a[c],b[c]))1f!1;1f!0}if("2c"===2h a&&1F!==a&&1F!==b){if("2c"!==2h b||1L.9K(a).1h!==1L.9K(b).1h)1f!1;1j(c in a)if(!US(a[c],b[c]))1f!1;1f!0}1f a===b}1b WC(){}1b q$(a,b){a=1k.2o(255,1k.1V(0,1k.2t(a)));b=1k.2o(255,1k.1V(0,1k.2t(b)));1f 256*a+b}1b Xy(a){1f[q$(255*a.r,255*a.g),q$(255*a.b,255*a.a)]}1b VS(a,b,c){1d d={1A:{5j:XC,1sh:TI},2b:{5j:UI,1sh:XC}};1f(a={"6D-1jV":{5j:tq,1sh:tq},"4K-1jV":{5j:tq,1sh:tq},"4K-1iI-1jV":{5j:tq,1sh:tq}}[a])&&a[c]||d[b][c]}1b WS(a,b,c,d){if(!(c>=d)){1j(1d e=a[c+d>>1],f=c-1,h=d+1;;){do f++;14p(a[f]<e);do h--;14p(a[h]>e);if(f>=h)1W;VI(a,f,h);VI(b,3*f,3*h);VI(b,3*f+1,3*h+1);VI(b,3*f+2,3*h+2)}WS(a,b,c,h);WS(a,b,h+1,d)}}1b VI(a,b,c){1d d=a[b];a[b]=a[c];a[c]=d}1b WI(a,b,c,d,e){a.15T(2*b+(d+1)/2,2*c+(e+1)/2)}1b 5MP(a){if(0>=a)1f 0;if(1<=a)1f 1;1d b=a*a,c=b*a;1f 4*(.5>a?c:3*(a-b)+c-.75)}1b Ff(){}1b Yi(){}1b Gf(a,b){1a.id=a.id;1a.1I=a.1I;if("2Jn"!==a.1I&&(1a.1lv=a.1lv,1a.22i=a.22i,1a.1Qy=a.1Qy,"1Ds"!==a.1I&&(1a.5j=a.5j,1a.3MX=a["5j-7r"],1a.14O=a.14O),b.11e&&(1a.26p=1g Yy(b.11e)),b.14I)){1a.22e=1g uq(b.14I);1j(1d c in a.14I)1a.362(c,a.14I[c],{1f6:!1});1j(1d d in a.11e)1a.364(d,a.11e[d],{1f6:!1});1a.36d=1a.22e.3rR()}}1b hn(){}1b XS(a,b){if(0===a.1h||0===b.1h)1f!1;1j(1d c=0;c<a.1h-1;c++)1j(1d d=a[c],e=a[c+1],f=0;f<b.1h-1;f++){1d h=d,l=e,g=b[f],n=b[f+1];if(vc.2AT(h,g,n)!==vc.2AT(l,g,n)&&vc.2AT(h,l,g)!==vc.2AT(h,l,n))1f!0}1f!1}1b YS(a,b,c){c*=c;if(1===b.1h)1f a.2AP(b[0])<c;1j(1d d=1;d<b.1h;d++)if(hn.4DJ(a,b[d-1],b[d])<c)1f!0;1f!1}1b r$(a,b){1j(1d c=!1,d,e,f,h=0;h<a.1h;h++){d=a[h];1d l=0;1j(f=d.1h-1;l<d.1h;f=l++)e=d[l],f=d[f],e.y>b.y!==f.y>b.y&&b.x<(f.x-e.x)*(b.y-e.y)/(f.y-e.y)+e.x&&(c=!c)}1f c}1b YC(a,b){1j(1d c=!1,d=0,e=a.1h-1;d<a.1h;e=d++){1d f=a[d];e=a[e];f.y>b.y!==e.y>b.y&&b.x<(e.x-f.x)*(b.y-f.y)/(e.y-f.y)+f.x&&(c=!c)}1f c}1b s$(a,b){a=t$([],[a.x,a.y,0,1],b);1f 1g Yc(a[0],a[1])}1b 5M1(a,b){1f a.5d(1b(a){1f s$(a,b)})}1b t$(a,b,c){1d d=b[0],e=b[1];b=b[2];1d f=c[3]*d+c[7]*e+c[11]*b+c[15];f=f||1;a[0]=(c[0]*d+c[4]*e+c[8]*b+c[12])/f;a[1]=(c[1]*d+c[5]*e+c[9]*b+c[13])/f;a[2]=(c[2]*d+c[6]*e+c[10]*b+c[14])/f;1f a}1b ZS(a,b){1d c=a.1h;if(1>=c)1f[a];1j(1d d=[],e,f,h=0;h<c;h++){1d l=a[h];1j(1d g=0,n=0,k=l.1h,w=k-1,x;n<k;w=n++)x=l[n],w=l[w],g+=(w.x-x.x)*(x.y+w.y);l=g;0!==l&&(a[h].207=1k.abs(l),1p 0===f&&(f=0>l),f===0>l?(e&&d.1q(e),e=[a[h]]):e.1q(a[h]))}e&&d.1q(e);if(1<b)1j(a=0;a<d.1h;a++)d[a].1h<=b||(uP(d[a],b,1,d[a].1h-1,$wa),d[a]=d[a].4h(0,b));1f d}1b $wa(a,b){1f b.207-a.207}1b $S(a,b,c,d,e){1j(1d f=e.6Cs,h=0;h<b.1h;h+=1){1d l=b[h],g=l.14I.1n(a+"-1jV").1Q;if("10p"!==g.5x){1d n=g.3x({5K:d-1},c,{},e.2pZ),k=g.3x({5K:d},c,{},e.2pZ);g=g.3x({5K:d+1},c,{},e.2pZ);n=n&&n.2i?n.2i:n;k=k&&k.2i?k.2i:k;g=g&&g.2i?g.2i:g;f[n]=!0;f[k]=!0;f[g]=!0;c.1Bv[l.id]={2o:n,25t:k,1V:g}}}1f c}1b u$(a,b,c){c=c.6Cs;1j(1d d=!1,e=0;e<b.1h;e+=1){1d f=b[e].14I.1n(a+"-1jV");f.5g()||(d=!0);if(f=f.1AK(1F))d=!0,c[f.to]=!0,c[f.19f]=!0}1f d}1b XI(a){1f v$[a.1I]?1g v$[a.1I](a):1F}1b Tf(){1a.1lw={};1a.36b=0;1a.3Xm=[];1a.3Xn={};1a.4Dk={};1a.3Xj={};1a.1aw=!1;1a.3Xl=[];1a.1Bv={};1a.3rH=1g Uf({1G:1,1D:1});1a.6s=!0}1b Vf(a){1a.8U={};1a.1nA=[];1a.3rE={};1a.2gn=1a.3Xi=!1;1a.1MR=1g Tf;1a.2AU=1g ZC(256,512);1a.4Dc()}1b YI(a,b,c){1b d(){if(l&&h){1d c=h;1d d=1p 0;1p 0===d&&(d=0);1d e=3n.4O("3M"),f=e.1ft("2d");if(!f)1t 6u("1bf to 6F 3M 2d 1O");e.1G=c.1G;e.1D=c.1D;f.1DA(c,0,0,c.1G,c.1D);c=f.1LW(-d,-d,c.1G+2*d,c.1D+2*d);1j(1d g in l){1d k=l[g];d=k.1G;e=k.1D;f=k.x;1d t=k.y,m=k.1D1,G=k.13S,r=k.2lX,q=k.2lW;k=k.15k;1d u=1g Uf({1G:d,1D:e});Uf.1hI(c,u,{x:f,y:t},{x:0,y:0},{1G:d,1D:e});b.2y8(g,{2g:u,13S:G,1D1:m,2lX:r,2lW:q,15k:k})}b.4Do(!0);a.22d=!0}}1d e=a.2iY?a.10z+"/2g/9w/28s":c.28s;if(g(e)){c=Fe(e+".15l");1d f=na.14m(e+".12H"),h,l;Z(c,1b(a){l=a;d()},1b(b){11l.7k("2CU "+e+".15l 1bf");a.22d=!0});Z(f.1jN(),1b(a){h=a;d()},1b(b){11l.7k("2CU "+e+".12H 1bf");a.22d=!0})}1s a.22d=!0,b.4Do(!0)}1b Zi(a,b){1b c(){if(l.2Fp){1d a=b.2I+"?3dX=2ex&2kM=1.0.0&3dW=6Cr";g(Ba.12M)&&(a=Ba.1cl(a));Z(zj(a),e,h)}1s l.2iY?(a=b.2I+"/1nn",g(Ba.12M)&&(a=g(Ba.12M.1e7[l.10z])?Ba.1oo(l.10z,a):Ba.1cl(a)),Z(xu(a),d,h)):(a=b.2I+".2HZ",g(Ba.12M)&&(a=Ba.1cl(a)),a=Km(a,{7V:{f:"15l"}}),Z(a,f,h))}1b d(a){a=p.27q(a,"1aM/1g3");a=a.13P[0];1d b=ZI(a,"2Kl","10R://10y.1gD.11Y/1g7/1hS");if(g(b)){1d c=[];b=b.1Gs("*","1PV");1j(1d d=b.1h,e=0;e<d;e++){1d f=b[e];"1PV"===f.16Z&&-1!=="10R://10y.1gD.11Y/1g7/1hS".3f(f.1fz)&&c.1q(f)}}1s c=1p 0;b=[];d=0;1j(e=c.1h;d<e;d++)b.1q(8A(c[d].8S,10));e=ZI(a,"2yo","10R://10y.1gD.11Y/1g7/1hS");f=Zy(e,"1Mj","10R://10y.1gD.11Y/1g7/1hS");d=Zy(e,"1Dh","10R://10y.1gD.11Y/1g7/1hS");c=Zy(e,"2eV","10R://10y.1gD.11Y/1g7/1hS");e=Zy(e,"2eU","10R://10y.1gD.11Y/1g7/1hS");1d h=w$(a,"3Q8","10R://10y.1gD.11Y/1g7/1hS"),n=Zy(a,"3mP","10R://10y.1gD.11Y/1g7/1hS"),k=Zy(a,"3mO","10R://10y.1gD.11Y/1g7/1hS");a=w$(a,"4rK","10R://10y.1gD.11Y/1g7/1hS");l.6X||(l.6X=a||"");l.2Kj=m(h,"1Ej");l.14Q=m(n,256);l.16J=m(k,256);l.2yn="2eS";a=b.1h;l.1jK=m(b[0],0);l.17G=m(b[a-1],a-1);g(l.6C)||(l.6C=1g gd);a=l.6C;!g(l.7T)&&f&&d&&c&&e&&(b=B.8I(f),d=B.8I(d),e=B.8I(e),c=B.8I(c),l.7T=1g Q(b,e,d,c));l.7T.4o<a.3g.4o&&(l.7T.4o=a.3g.4o);l.7T.5a>a.3g.5a&&(l.7T.5a=a.3g.5a);l.7T.4C<a.3g.4C&&(l.7T.4C=a.3g.4C);l.7T.4P>a.3g.4P&&(l.7T.4P=a.3g.4P);l.6C=a;l.1x8=l.10z+"2g/2P/{y}/{x}.{2eT}?6b={6b}";l.4y=!0;l.7S.5h(!0)}1b e(a){1d c=a.1gv;a=c.3pZ;c=N.121(c,"559",a);1d d=N.1vx(c,"2oV",a);if(1<d.1h)1j(1d e=0,f=d.1h;e<f;e++){1d h=N.121(d[e],"558",a);if(N.15X(h)===l.8L){1d p=d[e];1W}}1s p=N.121(c,"2oV",a);d=N.121(p,"6Cq",a);p=N.15X(d,"550",a);d=N.15X(d,"54Z",a);f=p.7g(" ");d=d.7g(" ");p=7L(d[0]);d=7L(d[1]);e=7L(f[0]);f=7L(f[1]);c=N.121(c,"4d7",a);h=N.121(c,"4d6",a);c=N.6B(h,"6Cp",a);a=N.6B(h,"6Co",a);g(l.6C)||(l.6C=1g gd);e=B.2Y(e,-180,180);f=B.2Y(f,-90,90);p=B.2Y(p,-180,180);d=B.2Y(d,-90,90);l.7T=Q.8g(e,f,p,d);l.2Fq||(l.14Q=c,l.16J=a);l.2pn=l.10z+"?3dW=3m6&3dX=2ex&2kM=1.0.0&6Cn="+l.8L+"&3PV="+l.1JH+"&6Cm="+l.3dY+"&6Cl="+l.14Q+"&6Ck="+l.16J+"&6Cj={z}&6Ci={y}&6Ch={x}";l.7T||(l.7T=m(b.3g,l.6C.3g));l.4y=!0;l.7S.5h(!0)}1b f(a){1d c=a.32y.3Q7;l.2yn=c;1d d=a.14w,e=a.6o.1G,f=a.6o.1D;l.2Fq||(l.14Q=e,l.16J=f);if(!l.6Ca){e=l;e.1jK=0;e.17G=22;f=[];if(1Bo==a.32y.6Cg)1d h=[3.3mT-9,6.3mS-9,1.3mR-8,2.3Qp-8,5.3mQ-8,1/9N0.9MZ,1/9MY.9MX,1/9MW.9MV,1/9MU.9MT,1/9MS.9MR,1/9MQ.9MP,1/9MO.9MN,1/9MM.9ML,1/9MK.9MJ,5.9MI-5,1/9MH.9MG,1/9MF.9ME,4.9MD-4,8.9MC-4,.9MB,1/282.9MA,.9Mz];1s{h=[];1d p,n=a.32y.3Q7;"53t"==n?p=1:"2eS"==n?p=6Cf*1k.PI/360:"6Ce"==n?p=.17I:"6Cd"==n?p=39.6Cc:"6Cb"==n&&(p=.4Xp);p=1/(1/.3cX*67.5*p);1j(n=0;22>n;n++)0!=n&&(p*=2),h[n]=p}if(a.2Kk&&0<a.2Kk.1h){n=p=1F;1j(1d r,q=0;q<a.2Kk.1h;q++){1j(1d u=0;u<=h.1h-1;u++)if(0==u)n=1k.abs(a.2Kk[q]-h[u]),p=0;1s if(r=1k.abs(a.2Kk[q]-h[u]),n>r)n=r,p=u;1s 1W;0<=p&&f.1q(p)}e.1jK=f[0];e.17G=f[f.1h-1]}}"2eS"==c?(g(l.6C)||(l.6C=1g gd),d.3B=B.2Y(d.3B,-180,180),d.7b=B.2Y(d.7b,-90,90),d.2W=B.2Y(d.2W,-180,180),d.5C=B.2Y(d.5C,-90,90),l.7T=Q.8g(d.3B,d.7b,d.2W,d.5C)):(a=1g k(d.3B,d.7b,0),a.x=1k.1V(-2.20E,a.x),a.y=1k.1V(-2.20E,a.y),d=1g k(d.2W,d.5C,0),d.x=1k.2o(2.20E,d.x),d.y=1k.2o(2.20E,d.y),g(l.6C)||(l.6C=1g Le),a=l.6C.16y.1cZ(a),d=l.6C.16y.1cZ(d),l.7T=1g Q(a.3N,a.4k,d.3N,d.4k));l.1x8=l.10z+"/17v/{z}/{x}/{y}.1Ej";l.7T||(l.7T=m(b.3g,l.6C.3g));l.4y=!0;l.7S.5h(!0)}1b h(a){a="An 7A 1Jq 14p 1Ud "+l.10z+".";3JJ.1ir(1p 0,l,l.14P,a,1p 0,1p 0,1p 0,c);l.7S.7N(1g 1uN(a))}b=m(b,{});1a.6C=b.8c;1a.2Fq=!1;g(b.16K)&&g(b.17g)&&(1a.2Fq=!0);1a.14Q=m(8A(b.16K)||1p 0,512);1a.16J=m(8A(b.17g)||1p 0,512);1a.1i0=m(8A(b.3Sc)||1p 0,512);1a.1i0=B.2Y(1a.1i0,128,13j);g(b.16i)&&g(b.16j)&&(1a.6Ca=!0);1a.1jK=m(8A(b.16i)||1p 0,0);1a.17G=8A(b.16j)||1p 0;1a.2Lj=8A(b.2Lj)||1p 0;1a.2Li=8A(b.2Li)||1p 0;1a.4de=m(b.6C9,"");1a.1xm=b.2eG;1a.36W=1a.36X=0;1a.22d=1a.4y=!1;1a.7S=Z.12L();1a.8U={};1a.1Bs=m(b.2JX,!0);1a.2dI=m(b.10t,"");1a.10z=m(b.2I,"");1a.12o=na.14m(1a.10z);1a.4j=a;1a.42d=1g Hf(a,1a.1i0);1a.1pP=1g Vf;1a.2Fp=-1!==1a.10z.3f("1B0")?!0:!1;1a.1pw=(1a.2iY=-1!==1a.10z.3f("26f/2eB")?!0:!1)?b.2n6:1p 0;1a.2Fp?(1a.8L=m(b.7r,""),1a.1JH=m(b.8V,"1Ej"),1a.3dY=m(b.3B9,""),1a.1jK=m(8A(b.16i)||1p 0,0),1a.17G=m(8A(b.16j)||1p 0,0),1a.13Y=1a.8L+1a.3dY):(1a.2pn=1a.2iY?1a.10z+"/2g/2P/{y}/{x}.1Ej?6b={z}":1a.10z+"/17v/{z}/{x}/{y}.1Ej",1a.13Y=1a.10z);1a.1Bn={};1a.1U8=m(b.2aU,axa);1a.7R=-1;1a.14P=1g sa;1a.1U0=!1;1a.1Bs=!0;1d l=1a;c();(1b(){if(g(l.1xm))$I(l,l.1xm),YI(l,l.1pP.1MR,l.1xm);1s if(l.2iY){1d a=b.2I+"/2g/9w/2r.15l";g(Ba.12M)&&(a=g(Ba.12M.1e7[l.10z])?Ba.1oo(l.10z,a):Ba.1cl(a));a=Fe(a)}1s a=l.2Fp?Fe(b.2I+"?3dX=2ex&2kM=1.0.0&3dW=6C8&6C7="+l.4de):Fe(b.2I+"/2r.15l");Z(a,1b(a){l.1xm=a;$I(l,a);YI(l,l.1pP.1MR,a)},1b(a){Fe(b.2I+"/54Y/6C6.15l?1I=6C5&6C4=8O").4b(1b(a){l.1xm=a;$I(l,a);YI(l,l.1pP.1MR,a);l.4D8=!0;l.2pn=l.10z+"/54Y.1Ej?9My=8O&x={x}&y={y}&1G=512&1D=512&3b={3b}&9X={\'x\':-180,\'y\':90}"})})})();1d p=1g 27n}1b $I(a,b){a.1pP.30q(b);if(g(b.1lv)&&g(b.1lv.4dc)){1d c=-180,d=-270,e=360;g(b.1lv.4dd)&&"1Bo"==b.1lv.4dd&&(d=c=-2.6C3,e=4.6C2);b=b.1lv.4dc;1d f=b[1];a.36X=(b[0]-c)/e;a.36W=(f-d)/e}}1b 5Lp(a,b,c,d,e){a.1fG.5d(1b(a){a.2p=0<a.1u4});b.17T.5d(1b(a){g(a)&&g(a.1u4)&&(a.2p=0<a.1u4,b.29I.45S(a.id,a.12N,a.2p))});a.45P();b.45P();a.2H(c,d,e);b.2H(c,d,e)}1b 5Lo(a){a.2F2=aJ;a.1j8=!0;aJ+=.17I;100<aJ&&(aJ=0)}1b $C(a,b){1d c=1g Ca({1O:a.4j,1G:a.1i0,1D:a.1i0,8b:ua.9m,10E:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U})});a=1g Ca({1O:a.4j,1G:1,1D:1});1f{1Ej:!0,6T:c,2nU:a,1M0:b}}1b x$(a,b,c,d,e){1d f=e.2pn;b+=1k.9p(1k.3r(2,d)*e.36X);c+=1k.9p(1k.3r(2,d)*e.36W);1j(1d h=b,l=c,g="",n=d;0<=n;--n){1d k=1<<n,w=0;Oc(l,k)?Oc(h,k)&&(w|=1):(w|=2,Oc(h,k)||(w|=1));g+=w}a.1b3=g;e.1pw===ik.1U9&&(a.1I=Jd.20D,a.1U7=e.6X,a.1j8=!0);e.4D8?(d=e.1U8[d],f=f.3X("{x}",b).3X("{y}",c).3X("{3b}",d)):f=f.3X("{x}",b).3X("{y}",c).3X("{z}",d);1f e.12o.16M({2I:f,7M:a,1PR:{}}).1kw()}1b 5Ln(a,b){a=a.12f;1j(1d c=a.6b;g(a)&&c>b;)a=a.12f,c=a.6b;1f a}1b y$(a,b,c){c=c.3g;1f 1g Yc((a-c.4o)/c.1G*1c8,(b-c.4C)/c.1D*1c8)}1b ZI(a,b,c){if(g(a)){a=a.13P;1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];if(f.16Z===b&&-1!==c.3f(f.1fz))1f f}}}1b Zy(a,b,c){a=ZI(a,b,c);if(g(a))1f a=7L(a.8S),11I(a)?1p 0:a}1b w$(a,b,c){a=ZI(a,b,c);if(g(a))1f a.8S.1b2()}1b z$(a,b){1d c=1g 1dE(a),d=0,e=c.9A(d,!0);if(b>e-1)1t 1g r("5n 8v 2P 16w");d+=4;1d f=[],h;1j(h=0;h<e;h++){1d l=c.9A(d,!0);f.1q(l);d+=4}1j(h=0;h<e;h++){l=f[h];if(h===b)1f 0===l?1F:(1g 4L(a)).4h(d,d+l).3J;d+=l}}1b Ac(a,b){1a.14f=a;b=m(b,{});1a.2O=m(b.2O,m(a.54q,1));1a.1hG=m(b.1hG,m(a.54r,Ac.4w8));1a.1wq=m(b.1wq,m(a.54s,Ac.4w7));1a.1lQ=m(b.1lQ,m(a.54t,Ac.4w6));1a.1qm=m(b.1qm,m(a.54u,Ac.4w5));1a.1iP=m(b.1iP,m(a.3Bq,Ac.4w4));1a.1jB=m(b.1jB,m(a.9Mx,Ac.5Ll));1a.3oV=m(b.3oV,m(a.9Mw,Ac.5Lk));1d c=m(b.1DW,m(a.6C1,Ac.4D7)),d=m(b.1DW,m(a.6C1,Ac.4D7));1a.1DW=1g C(c,d);1a.14A=m(b.14A,m(a.54v,Ac.5Lj));1a.15u=m(b.15u,m(a.54w,Ac.5Li));1a.2p=m(b.2p,!0);1a.4D6=b.2Lj;1a.4D5=b.2Li;1a.7T=m(b.3g,Q.6w);1a.368=b.2AH;1a.20y={};1a.4D4=1g UC(Ri.60y(1a));1a.10T=!0;1a.1nr=-1;1a.3ox=!1;1a.2AI=1p 0;1a.3X6=[];1a.3SC=b.3SC;1a.11h=15;1a.3oQ=b.3oQ;1a.32k=1g y(0,0,1,1);1a.3SB=m(b.3SB,Ac.5Lh);1a.1U0=!1;g(a.17F)?1a.17F=a.17F:1a.17F={1dF:!1};1a.2yc={};1a.1Ux=1g E(0,0,1,1);1a.1Uw=!1}1b A$(a,b,c){g(a.14f.12Y)&&bJ.1fa({1i3:c,10t:b.1b3,13Y:a.14f.13Y,1sG:a.14f.12Y.1sG},[])}1b 5Lc(a,b,c,d,e){1d f=1g 1dE(a),h=0,l=f.9A(h,!0);if(b>l-1||256<l)1t 1g r("5n 8v 2P 16w");h+=4;1d g=[],n;1j(n=0;n<l;n++){1d k=f.9A(h,!0);g.1q(k);h+=4}1j(n=0;n<l;n++){k=g[n];if(n===b){if(0===k){!0===c.17F.1dF&&A$(c,d,-1);1W}1f 6C0({2f9:1g 4L(a,h,k),8V:e,13E:!0,7r:c,8v:d})}h+=k}}1b 5Ld(a,b,c){1d d=1g 1dE(a),e=0;d.9A(e,!0);e+=4;1d f=d.9A(e,!0);e+=4;b=b.1sA*b.3c0+b.1Mv;1j(1d h=0,l=0,g=0;g<f;g++){if(g<b)h+=d.9A(e,!0);1s if(g===b){l=d.9A(e,!0);1W}e+=4}if(0!==l)1f CB({2f9:1g 4L(a,8+4*f+h,l),8V:c,13E:!0})}1b 6C0(a){1d b=a.2f9,c=a.8V,d=a.7M,e=m(a.13E,!1),f=a.7r;a=a.8v;v.1N.2c("2f9",b);v.1N.4n("8V",c);1d h=1g 1JN([b],{1I:c});!0===f.17F.1dF&&A$(f,a,h);1d l;1f na.2MT().4b(1b(a){if(a)1f Z(na.2MS(h,{13E:e,22c:!1}));l=7O.1ui.2FI(h);1f(1g na({2I:l,7M:d})).1jN({13E:e})}).4b(1b(a){g(l)&&7O.1ui.1WT(l);1f a}).10g(1b(a){g(l)&&7O.1ui.1WT(l);1f Z.7N(a)})}1b 5Lf(a,b){1d c=3n.4O("3M");c.1ft("9Mv").9Mu(a);c.64A(b)}1b 5Lg(a,b){a=1g 1G4(a);b=b.7g("").5d(1b(a){1f a.19a(0)});1j(1d c=0;c<b.1h;c++)a[c]^=b[c];1f a.3J}1b aT(){1a.1O=1p 0}1b 5L4(a,b,c,d){1d e=b.1au.6BZ;if(!g(e)){e=b.1au.6BZ={4c:1p 0,2z:1p 0,10v:1p 0,1M:1b(){g(1a.4Q)&&1a.4Q.1M();g(1a.4c)&&1a.4c.1M();g(1a.2z)&&1a.2z.1M()}};1j(1d f=1g 4A(256),h=0,l=0;64>l;++l){1d p=l/63;f[h++]=0;f[h++]=p;f[h++]=1;f[h++]=p}h={1K:0,1rM:1};l=we.4Zt(2,64);l=Ra.17Q({1O:b,5b:l,7Q:xa.7C,17P:Ta.10P});e.4c=1g Fb({1O:b,2w:[{2P:h.1K,7e:Ra.12S({1O:b,5b:f,7Q:xa.7C}),2Z:2},{2P:h.1rM,7e:Ra.12S({1O:b,18Q:512,7Q:xa.20X}),2Z:1}],10X:l});f=1g ja({5p:["3Q 1m 1K;\\2J 1o 1rM;\\1B 1v 3g5;\\1J 1v 2F;\\2s 2k()\\n{\\1mN = 1v(1K.x, 1rM);\\11u = 1t5 * (1K * 1m(3g5, 1.0, 1.0));\\n}\\n"]});e.2z=Ga.4t({1O:b,5O:f,5A:"2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(16S, 2F);\\n}\\n",7W:h});e.10v=1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U})}c.10v=e.10v;p=c.1G;1d n=c.1D;cJ.3X5.x=p;cJ.3X5.y=n;cJ.7y=c;l=1k.2T(d.4C);f=.5*1k.7k((1+l)/(1-l));l=1k.2T(d.4P);h=1/(.5*1k.7k((1+l)/(1-l))-f);b=1g Ca({1O:b,1G:p,1D:n,8b:c.8b,10E:c.10E,3bT:c.3bT});B.1Gu(p)&&B.1Gu(n)&&b.1zs(Ss.2MR);c=d.4C;d=d.4P;p=5L2;1j(1d k=n=0;64>k;++k)l=B.11x(c,d,k/63),l=1k.2T(l),l=(.5*1k.7k((1+l)/(1-l))-f)*h,p[n++]=l,p[n++]=l;e.4c.15o(1).7e.1jR(p);a.2z=e.2z;a.1v8=b;a.4J=cJ;a.4c=e.4c}1b of(a){if(!g(a.9Z))1t 1g r("3v.6AC and 3v.6o is 1X.");1a.5L1=a.2JQ;1a.16x=a.9Z;1a.1ll=a.7r;1a.2ya=a.4qt;1a.6X=a.2i;g(a.2JQ)&&g(a.2JQ.id)&&(1a.6X=a.2JQ.id);1a.1gb=m(a.1cJ,1g Vv);1a.16k=1g de({4r:a.4r,2Sl:!0});1a.1qR=1g xd({4r:a.4r,1cJ:1a.1gb,2Sl:!0});1a.16x.16k=1a.16k;1a.16x.1qR=1a.1qR;1a.16x.1gb=1a.1gb;1a.1qR.2Ac=m(a.2Ac,!1);1a.6BY=1g sa;1d b=1a;1a.16k.4Pt.7K(1b(a){b.6BY.5k(a)})}1b jn(){1a.3xx=!1}1b B$(a){1f g(a.36Y)&&a.36Y}1b C$(a,b,c){if(g(a.1Bt)&&(a.1Bt 2m Ac||a.1Bt 2m of)){1d d=[],e=1g T,f=1g T,h=b.19h[0],l=h.5b;l=1g 4A(l.3J,l.8o,l.10S/4);h=h.2Z;1j(1d p=b.1f0,n,z,w,x,m=0;m<p;m++){1d t=1g k(l[m*h],l[m*h+1],l[m*h+2]),r=1g k;A.8P(c,t,r);t=T.12y(r);0===m?(z=n=t.3N,x=w=t.4k):(n=1k.1V(t.3N,n),z=1k.2o(t.3N,z),w=1k.1V(t.4k,w),x=1k.2o(t.4k,x))}e.3N=n;f.3N=z;e.4k=w;f.4k=x;z=1k.1V(e.3N-f.3N,e.4k-f.4k);n=0;1j(w=1k.PI;23>n&&!(z>w);)w*=.5,n++;n--;z=a.1Bt;w=z.14f;a.1Bt 2m of&&(w=z.16x,z=z.1ll);x=1g gd;e=x.1mi(e,n);f=x.1mi(f,n);if(!g(w.1jK)||n>w.1jK){w=w.17G;a.1Bt 2m of&&w--;g(w)&&(a=n-w,0<a&&(f.x=1k.2t(f.x/1k.3r(2,a)),f.y=1k.2t(f.y/1k.3r(2,a)),e.x=1k.2t(e.x/1k.3r(2,a)),e.y=1k.2t(e.y/1k.3r(2,a)),n=w));1j(a=f.x;a<=e.x;a++)1j(w=f.y;w>=e.y;w--)d.1q(z.3rA(a,w,n));a=d.1h;if(0<a)1j(f=0;f<a;f++){e=b;n=c;z=d[f].3g;m=f;x=e.19h[0];w=x.5b;w=1g 4A(w.3J,w.8o,w.10S/4);x=x.2Z;l=e.1f0;h=1g 4A(2*l);p=e.1oh;m="1kp"+m;p[m]=1L.9K(p).1h;1j(t=0;t<l;t++){r=1g k(w[t*x],w[t*x+1],w[t*x+2]);1d G=1g k;A.8P(n,r,G);r=T.12y(G);G=(r.4k-z.4C)/z.1D;h[2*t]=(r.3N-z.4o)/z.1G;h[2*t+1]=G}e.19h.1q({2P:p[m],5b:h,2Z:2,3k:I.3O,9n:0,9t:8,1T:!1})}}1f d}}1b dJ(a){1a.3WZ=!1;1a.1MI=100;1a.1x6=0;1a.8L=a}1b Dk(){}1b D$(a,b){1j(1d c=1g 4L(4*a.1h),d=b.1z7-b.1oq,e=0,f=a.1h;e<f;e++){1d h=a[e],l=4*e;0>h||1<h?(c[l+0]=255,c[l+1]=255,c[l+2]=255,c[l+3]=255):(h=h*d+b.1oq,h=b.17h.1eV(h),c[l+0]=255*h.5r,c[l+1]=255*h.5t,c[l+2]=255*h.5G,c[l+3]=255*h.2O)}1f c}1b bT(a,b){1d c=a.1h,d=Sj.28p(4A.12T*c);Sj.3r2.1C(a,d/4A.12T);a=b.1z7;1d e=b.1oq,f=b.17h.1Ht.15W;b=[];1d h=[],l;1j(l in f)b.1q(7L(l));b.15F(1b(a,b){1f a-b});1d g=0;1j(l=b.1h;g<l;g++)h.1q(f[b[g]]);f=1g 1aq(4*b.1h);g=1g 4L(f);1d n=0;1j(l=b.1h;n<l;n++){1d k=h[n];g[4*n]=255*k.5r;g[4*n+1]=255*k.5t;g[4*n+2]=255*k.5G;g[4*n+3]=255*k.2O}h=1g 4A(f);l=1g 4A(b);f=l.1h;b=Sj.28p(4A.12T*f);Sj.3r2.1C(l,b/4A.12T);l=Sj.28p(4A.12T*f);Sj.3r2.1C(h,l/4A.12T);a=Ts(d,c,a,e,b,l,f);c=1g 4L(Sj.2MH.3J,a,4*c);E$(a);Sj.2Au(d);Sj.2Au(b);Sj.2Au(l);1f c}1b eJ(a,b){a=1g 4A(a.3J,a.8o,a.1h/4);1f bT(a,b)}1b fJ(a,b){1j(1d c=1g 4A(a.3J,a.8o,a.1h/4),d=0;d<c.1h;d++){1d e=c[d],f=4*d;0>e||1<e?(a[f+0]=255,a[f+1]=255,a[f+2]=255,a[f+3]=255):(e=e*(b.1z7-b.1oq)+b.1oq,e=b.17h.1eV(e),a[f+0]=255*e.5r,a[f+1]=255*e.5t,a[f+2]=255*e.5G,a[f+3]=255*e.2O)}1f 1g 4L(a.3J,0,a.1h)}1b F$(a){1d b=1g k(1,255,1C7);b=k.4g(b,a,b);b.x-=1k.2t(b.x);b.y-=1k.2t(b.y);b.z-=1k.2t(b.z);a=1g k;1d c=1g k(1/255,1/255,0);a.x=b.y*c.x;a.y=b.z*c.y;a.z=b.z*c.z;1f b=k.3V(b,a,b)}1b G$(a,b,c){b=1g 4L(4*a.1h);1j(1d d=0;d<a.1h;d++){1d e=a[d],f=4*d,h=1g E(0,0,0,0);0<=e&&1>=e&&(e=F$(e),h.x=e.x,h.y=e.y,h.z=e.z,h.w=1);e=255*h.x;1d l=255*h.y;1d p=255*h.z;h=255*h.w;g(c)&&!0===c?(b[f+0]=8A(p),b[f+1]=8A(l),b[f+2]=8A(e)):(b[f+0]=8A(e),b[f+1]=8A(l),b[f+2]=8A(p));b[f+3]=8A(h)}1f b}1b gJ(a,b,c){b=1g 4A(a.3J,a.8o,a.1h/4);1j(1d d=0;d<b.1h;d++){1d e=b[d],f=4*d,h=1g E(0,0,0,0);0<=e&&1>=e&&(e<B.2oi?e=B.2oi:1-e<B.2oi&&(e=1-B.2oi),e=F$(e),h.x=e.x,h.y=e.y,h.z=e.z,h.w=1);e=255*h.x;1d l=255*h.y;1d p=255*h.z;h=255*h.w;g(c)&&!0===c?(a[f+0]=8A(p),a[f+1]=8A(l),a[f+2]=8A(e)):(a[f+0]=8A(e),a[f+1]=8A(l),a[f+2]=8A(p));a[f+3]=8A(h)}1f 1g 4L(a.3J,0,a.1h)}1b Io(a,b,c){if(g(a)){a=a.13P;1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];if(g(c)){if(f.16Z===b&&-1!==c.3f(f.1fz))1f f}1s if(f.16Z===b)1f f}}}1b vq(a,b,c){if(!g(a))1f[];1d d=[];a=a.13P;1j(1d e=a.1h,f=0;f<e;f++){1d h=a[f];g(c)?h.16Z===b&&-1!==c.3f(h.1fz)&&d.1q(h):h.16Z===b&&d.1q(h)}1f d}1b re(a,b,c){a=Io(a,b,c);if(g(a))1f a=7L(a.8S),11I(a)?1p 0:a}1b kn(a,b,c){a=Io(a,b,c);if(g(a))1f a.8S.1b2()}1b 5KG(a,b,c){a=Io(a,b,c);if(g(a))1f a=a.8S.1b2(),"1"===a||/^8O$/i.6S(a)}1b cT(a,b,c){1d d=a.19h[0],e=d.5b;e=1g 4A(e.3J,e.8o,e.10S/4);d=d.2Z;1d f=a.1f0,h=1g 4A(3*f),l=a.1oh;l.2Yl=1L.9K(l).1h;1j(1d g=0;g<f;g++){1d n=1g k(e[g*d],e[g*d+1],e[g*d+2]),z=1g k;A.8P(b,n,z);1d w=T.12y(z);n=B.10Q(w.3N);z=(B.10Q(w.4k)-c.7b)/c.1h;w=(w.1D-c.1Qh)/c.1D;h[3*g]=(n-c.3B)/c.1G;h[3*g+1]=z;h[3*g+2]=w}a.19h.1q({2P:l.2Yl,5b:h,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1})}1b H$(a,b,c){if(g(a.1Bt)&&(a.1Bt 2m Ac||a.1Bt 2m of)){1d d=[],e=1g T,f=1g T,h=b.19h[0],l=h.5b;l=1g 4A(l.3J,l.8o,l.10S/4);h=h.2Z;1j(1d p=b.1f0,n,z,w,x,m=0;m<p;m++){1d t=1g k(l[m*h],l[m*h+1],l[m*h+2]),r=1g k;A.8P(c,t,r);t=T.12y(r);0===m?(z=n=t.3N,x=w=t.4k):(n=1k.1V(t.3N,n),z=1k.2o(t.3N,z),w=1k.1V(t.4k,w),x=1k.2o(t.4k,x))}e.3N=n;f.3N=z;e.4k=w;f.4k=x;z=1k.1V(e.3N-f.3N,e.4k-f.4k);n=0;1j(w=1k.PI;23>n&&!(z>w);)w*=.5,n++;n--;z=a.1Bt;w=z.14f;a.1Bt 2m of&&(w=z.16x,z=z.1ll);x=1g gd;e=x.1mi(e,n);f=x.1mi(f,n);if(!g(w.1jK)||n>w.1jK){w=w.17G;a.1Bt 2m of&&w--;g(w)&&(a=n-w,0<a&&(f.x=1k.2t(f.x/1k.3r(2,a)),f.y=1k.2t(f.y/1k.3r(2,a)),e.x=1k.2t(e.x/1k.3r(2,a)),e.y=1k.2t(e.y/1k.3r(2,a)),n=w));1j(a=f.x;a<=e.x;a++)1j(w=f.y;w>=e.y;w--)d.1q(z.3rA(a,w,n));a=d.1h;if(0<a)1j(f=0;f<a;f++){e=b;n=c;z=d[f].3g;m=f;x=e.19h[0];w=x.5b;w=1g 4A(w.3J,w.8o,w.10S/4);x=x.2Z;l=e.1f0;h=1g 4A(2*l);p=e.1oh;m="1kp"+m;p[m]=1L.9K(p).1h;1j(t=0;t<l;t++){r=1g k(w[t*x],w[t*x+1],w[t*x+2]);1d G=1g k;A.8P(n,r,G);r=T.12y(G);G=(r.4k-z.4C)/z.1D;h[2*t]=(r.3N-z.4o)/z.1G;h[2*t+1]=G}e.19h.1q({2P:p[m],5b:h,2Z:2,3k:I.3O,9n:0,9t:8,1T:!1})}}1f d}}1b dT(){}1b hJ(a,b,c){1d d=a.5Kw(),e=c.9Mt(),f=1g Od.9Ms;if(f.6BX(c)){1d h=2K(e);1j(1d l=0;l<e;++l)h[l]=f.9Mr(l);h={2ih:f.6BW(),1AX:h,11D:f.11D(),3xL:!1}}Od.1M(f);f=1g Od.9Mq;f.6BX(c)&&(h={2ih:f.6BW(),3xL:!0});Od.1M(f);d*=e;if(g(h)){if(8>=h.2ih){1d p=1g Od.6BV;1d n=1g 4L(d);b.6BU(a,c,p)}1s p=1g Od.6BT,n=1g 10Y(d),b.6BS(a,c,p);1j(a=0;a<d;++a)n[a]=p.3r7(a);Od.1M(p);a=n}1s{6U(c.4Vn()){1S 1:1S 11:p=1g Od.9Mp;n=1g 1G4(d);b.9Mo(a,c,p);1W;1S 2:p=1g Od.6BV;n=1g 4L(d);b.6BU(a,c,p);1W;1S 3:p=1g Od.9Mn;n=1g 1FS(d);b.9Mm(a,c,p);1W;1S 4:p=1g Od.6BT;n=1g 10Y(d);b.6BS(a,c,p);1W;1S 5:1S 7:p=1g Od.5Kv;n=1g 1fZ(d);b.9Ml(a,c,p);1W;1S 6:1S 8:p=1g Od.9Mk;n=1g 12X(d);b.9Mj(a,c,p);1W;1S 9:1S 10:p=1g Od.9Mi,n=1g 4A(d),b.9Mh(a,c,p)}1j(a=0;a<d;++a)n[a]=p.3r7(a);Od.1M(p);a=n}b=I.2DC(a);1f{4x:a,2g:{2Z:e,3k:b,8o:c.9Mg(),1NO:I.1jh(b)*e,1A7:c.1A7(),1nv:h}}}1b I$(a,b,c,d){1d e=c.19h,f=c.1oh;c.1pO=0;if(g(d.54X)&&0<=d.54X){c.1pO|=Pc.1vG;1d h=b.4db(a,d.54X);h=hJ(a,b,h);1d l=h.2g.2Z;c.1f0=h.4x.1h/l;c.2oS=h.2g.1nv.11D/(1<<h.2g.1nv.2ih);1d p=h.2g.1nv.1AX;c.1zr=1g E(p[0],p[1],p[2],1);3<l&&(c.1zr.w=p[3]);f.4f=e.1h;e.1q({2P:f.4f,5b:h.4x,2Z:l,3k:h.2g.3k,9n:h.2g.8o,9t:h.2g.1NO,1T:h.2g.1A7})}g(d.54W)&&0<=d.54W&&(c.1pO|=Pc.2gN,h=b.4db(a,d.54W),h=hJ(a,b,h),c.5Su=(1<<h.2g.1nv.2ih)-1,f.13N=e.1h,e.1q({2P:f.13N,5b:h.4x,2Z:h.2g.2Z,3k:h.2g.3k,9n:h.2g.8o,9t:h.2g.1NO,1T:h.2g.1A7}));g(d.54V)&&0<=d.54V&&(c.1pO|=Pc.37b,h=b.4db(a,d.54V),h=hJ(a,b,h),f.11X=e.1h,e.1q({2P:f.11X,5b:h.4x,2Z:h.2g.2Z,3k:h.2g.3k,9n:h.2g.8o,9t:h.2g.1NO,1T:h.2g.1A7}));1j(h=0;h<d.6BR.1h;h++)c.1Bz=[],c.1QD=[],p=d.6BR[h],0>p||(p=b.4db(a,p),l=hJ(a,b,p),g(l.2g.1nv)&&(c.1pO|=Pc.2gM,c.1Bz.1q(l.2g.1nv.11D/(1<<l.2g.1nv.2ih)),p=l.2g.1nv.1AX,c.1QD.1q(1g C(p[0],p[1]))),p="1P2"+h,f[p]=e.1h,e.1q({2P:f[p],5b:l.4x,2Z:l.2g.2Z,3k:l.2g.3k,9n:l.2g.8o,9t:l.2g.1NO,1T:l.2g.1A7}))}1b Ek(){1a.5V=1a.1hX=1a.1fF=1p 0;1a.15I=[];1a.2oG={};1a.2Ml=1a.1MO=!1;1a.3qD=!0;1a.1dL=Mb.1he;1a.4B0=!1;1a.35z=Mb.1he;1a.35v=1a.21R=1a.3W7=0;1a.4AY=1a.4y=!1;1a.2oC=!0;1a.1fq=1p 0;1a.3qL=1a.21T=1a.1Qp=1F;1a.35L=0;1a.2oK=1a.1ad=1a.1JP=1F;1a.1yR={};1a.35K=1a.35U=1a.2My=1p 0;1a.2Ms=!1;1a.2Aq=1F}1b J$(a){1f 1b(){1f a.21R}}1b 5IZ(a,b){1f 1b(){1f 1/1k.3r(2,b.3W6-a.35v)*a.21R}}1b iJ(a){if(a.17F.28h){1d b=1g 9Mf("35C-8"),c=[];if(a.12Y.1PU("2w")){1j(1d d in a.16N){1d e=4H.8s(a.16N[d]);e=b.1pT(e).14G(256);c.1q(a.12Y.4YP("2w",d,e))}Z.all(c,1b(a){},1b(b){3>=a.16N.3qN&&(a.16N.3qN++,1if(1b(){iJ(a)},2E3))})}1s a.12Y.1Uc("2w").4b(1b(){1j(1d d in a.16N){1d e=4H.8s(a.16N[d]);e=b.1pT(e).14G(256);c.1q(a.12Y.4YP("2w",d,e))}Z.all(c,1b(a){},1b(b){3>=a.16N.3qN&&(a.16N.3qN++,1if(1b(){iJ(a)},2E3))})})}}1b jJ(a,b){1j(1d c=0,d=a.1h;c<d;c++){1d e=a[c].id||a[c].3qi||a[c].9Me;b.16N.3p(e)||(b.16N[e]=a[c])}b.16N.3qp=1}1b kJ(a,b){1j(1d c=[],d=b?".5IX":".5IW",e=0,f=a.1d4.1h;e<f;e++){1d h=a.1d4[e].1hX.5h(a.8L.1vy).5s()+a.1d4[e].1hX.5s().3X(".","").3X(/\\//g,"")+d;c.1q(Ng(h))}Z.all(c,1b(c){1j(1d d=[],e=0,f=c.1h;e<f;e++)d.1q(lJ(c[e],b));1j(c=0;c<d.1h;c++)jJ(d[c],a);iJ(a)},1b(c){c=0;1j(1d e=a.1d4.1h;c<e;c++){1d f=a.1d4[c].1hX.5h(a.8L.1vy).5s()+a.1d4[c].1hX.5s().3X(".","").3X(/\\//g,"")+d;Ng(f).4b(1b(c){1d d=[];d.1q(lJ(c,b));jJ(d[0],a);iJ(a)})}})}1b eT(a){1d b=4*a.1h,c=ln.28p(4L.12T*b),d=1g 4L(b);ln.2MH.1C(d,c/4L.12T);1d e=ln.28p(4L.12T*a.1h);1j(ln.2MH.1C(a,e/4L.12T);0==(d=aD(c,b,e,a.1h));)mJ(c),b*=4,c=ln.28p(4L.12T*b),d=1g 4L(b),ln.2MH.1C(d,c/4L.12T);a=1g 4L(ln.2MH.3J,c,d);a=(1g 4L(a)).3J;mJ(c);mJ(e);1f a}1b lJ(a,b){a=1g 4L(a,8);a=1F!=aD?eT(a):Dp.1pn(a).3J;1d c=1g 4L(a);a=(1g 21W("35C-8")).1AM(c);if(b){b=a.11c(4);10G{1d d=4H.5N(b)}11B(w){b=a.11c(a.3f("{")),d=4H.5N(b)}b=[];c=0;1j(1d e=d.4zY.1h;c<e;c++){1d f=d.4zY[c].9Md;a=0;1j(1d h=f.1h;a<h;a++){1j(1d l={},g=f[a],n=0,k=g.2a.1h;n<k;n++)l[g.2a[n].2i]=g.2a[n].1bF,l[g.2a[n].2i]=11I(7L(l[g.2a[n].2i]))?l[g.2a[n].2i]:7L(l[g.2a[n].2i]);b.1q(l)}}}1s 1j(d=(1g N).1dD(a),b=[],d=d.1cE("9Mc"),a=0,h=d.1h;a<h;a++){l={};c=d[a].1dd.7g("\\n");1j(n=0;n<c.1h;n++)g=c[n],""!==g&&(-1!==g.3f("<ID>")?l.id=g.11c(g.3f(">")+1,g.3f("</")):(e=g.3f(\'"\'),e=g.3f(\'"\',e+1),e=g.11c(g.3f("2fY=")+6,e),-1!==g.3f("/>")?l[e]="":l[e]=g.11c(g.3f(">")+1,g.3f("</"))));b.1q(l)}1f b}1b K$(a,b){a=1g 1G4(a);b=b.7g("").5d(1b(a){1f a.19a(0)});1j(1d c=0;c<b.1h;c++)a[c]^=b[c];1f a.3J}1b fT(a,b){1d c=a.1V.x,d=a.1V.y,e=a.1V.z;a=1g k(a.2o.x,a.2o.y,a.2o.z);c=1g k(c,d,e);d=1g P;P.2fX(a,c,d);P.5o(d,b,d);1f d}1b L$(a,b,c,d){if(g(b)){1d e=1g Ek;a.11d=e;e.1hX=d;e.5V=a.5V;e.1fF=b.1Eh;e.1fF=e.1fF.3X(/.2ou*|.1j4*../g,"");a=b.9d;if(g(a)){b=0;1j(1d f=a.1h;b<f;b++){1d h=a[b],l=1g Ck;l.2Ap=h.1ny.5IU;l.1Qn=h.1ny.1Eh;l.1Qn=l.1Qn.3X(/.2ou*|.1j4*../g,"");l.2Mz=h.1ny.3Wf;l.5V=fT(h.1ny.1Bu,c);e.15I.1q(l);e.2oG[l.1Qn]=l;L$(l,h.1ny,c,d)}}1s e.1MO=!0,e.15I[0]=1g Ck,e.15I[0].5V=e.5V}}1b nJ(a,b){1d c=Ng(a.7M.2I,b.1g2,a.7M);g(c)?(a.1dL=Mb.1gu,b.15Y.1oD++,a.7M=1F,c.4b(1b(c){a.1Qp=0!=b.1Gr.1h?K$(c,b.1Gr):c;a.1dL=Mb.1e5;b.15Y.1oD--;b.15Y.2Mx++},1b(c){g(c)?(b.15Y.1oD--,a.1dL=Mb.12D):(b.15Y.1zm++,b.15Y.1oD--,a.1dL=Mb.1he,a.7M=1F)})):a.7M=1F}1b 5IL(a,b){1d c=a.15Y,d=a.3Wd,e=c.1zo,f=d.1zo;e=c.1oD!==d.1oD||e!==f;f=0===c.1oD&&0===c.1zo&&0===c.1zm&&0===c.2Mx;1d h=c.2oE,l=c.28l,g=d.28l;d=(h!==d.2oE||l!==g)&&0===c.3qG&&0===h&&0===l;2E3<16V.14H()-c.35E.6q&&c.35E.1qU&&b.1sn.1q(1b(){a.8L.4A6.5k();c.35E.1qU=!1});e&&f&&(c.35E.1qU=!0,c.35E.6q=16V.14H());2E3<16V.14H()-c.35D.6q&&c.35D.1qU&&b.1sn.1q(1b(){a.8L.3Vs.5k();c.35D.1qU=!1});d&&f&&(c.35D.1qU=!0,c.35D.6q=16V.14H())}1b M$(a,b){1j(1d c=0,d=a.15I.1h;c<d;c++)1j(1d e=a.15I[c],f=0,h=e.12a.1h;f<h;f++)b.1q(e.12a[f])}1b gT(a,b){1j(1d c=0,d=a.12a.1h;c<d;c++)b.1q(a.12a[c])}1b N$(a,b,c){if(g(a)&&a.3W8===oJ.2Mr&&(a=a.11d,g(a)&&a.4y)){1d d=b.3w,e=d.6K,f=b.1dj,h=c.8L,l=c.6M;if(g(a.5V)&&!a.2Ml&&(a.2oC=f.1su(a.5V)!==Lb.1gB,!a.2oC)){1j(1d p=0,n=a.15I.1h;p<n;p++)1j(1d k=a.15I[p],w=0;w<k.12a.1h;w++){1d x=k.12a[w];k.1zl[x.1sF]=!1}1f}p=0;1j(n=a.15I.1h;p<n;p++)if(k=a.15I[p],O$(k,h,e))if(f.1su(k.5V)===Lb.1gB&&h.11m!=La.1is)1j(w=0;w<k.12a.1h;w++)x=k.12a[w],k.1zl[x.1sF]=!1;1s if(k.3W9(d,l,h.2A9),!k.35w&&g(k.11d)&&k.11d.1dL===Mb.2oB){1j(w=0;w<k.12a.1h;w++)x=k.12a[w],k.1zl[x.1sF]=!1;N$(k,b,c);if(g(k)&&g(k.11d)){w=k.11d;x={};1j(1d m=0,t=w.15I.1h;m<t;m++){1d r=w.15I[m];if(0===1L.9K(r.1zl).1h)1j(1d G=0;G<r.12a.1h;G++){1d q=r.12a[G];x[q.1sF]=!0}1s 1j(G=0;G<r.12a.1h;G++)q=r.12a[G],x[q.1sF]=r.1zl[q.1sF]}if(0!==1L.9K(x).1h)1j(G=0;G<k.12a.1h;G++)q=k.12a[G],k.1zl[q.1sF]=x[q.1sF]?!0:!1}}1s 1j(w=0;w<k.12a.1h;w++)x=k.12a[w],k.1zl[x.1sF]=!0;1s 1j(w=0;w<k.12a.1h;w++)x=k.12a[w],k.1zl[x.1sF]=!1}}1b 6BQ(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d}1b 5IH(a,b){1d c=b.1fF.7g("10D"),d=b.7M.2I;b.7M.1j8=!0;b.7M.1mj=!0;b.7M.1I=Jd.20D;b.7M.1b3=6BQ(c[2],c[1],c[0]);b.7M.1U7=d.11c(d.3f("1x2/")+6,d.3f("/2g/"));c=na.14m(d).16M({2I:d,7M:b.7M}).1kw();g(c)?(b.1dL=Mb.1gu,a.15Y.1oD++,c.4b(1b(c){a:{1d d=b.7M.1Vg,e=1g 1dE(c),l=0,p=e.9A(l,!0);if(!(d>p-1)){l+=4;1d n=[],k;1j(k=0;k<p;k++){1d w=e.9A(l,!0);n.1q(w);l+=4}1j(k=0;k<p;k++){w=n[k];if(k===d){c=0===w?1p 0:1g 4L(c,l,w);1W a}l+=w}}c=1p 0}g(c)?(c=(1g 4L(c)).3J,b.1Qp=0!=a.1Gr.1h?K$(c,a.1Gr):c,b.1dL=Mb.1e5,a.15Y.1oD--,a.15Y.2Mx++,b.7M=1F):b.1dL=Mb.12D},1b(c){g(c)?(a.15Y.1oD--,b.1dL=Mb.12D):(a.15Y.1zm++,a.15Y.1oD--,b.1dL=Mb.1he,b.7M=1F)})):b.7M=1F}1b P$(a,b){b=b.19I.1D;b=0>b?0:b;1f b<=a.1JM&&b>=a.21H}1b O$(a,b,c){if(b.11m===La.1is){1d d=a.5V.2V,e=a.5V.3L;a=k.15i(B.8I(d.x),B.8I(d.y),d.z);d=k.15i(B.8I(d.x),B.8I(d.y-e),d.z);d=k.3s(a,d);c=k.3s(a,c)-d}1s c=k.3s(a.5V.2V,c)-a.5V.3L;c=0>c?0:c;1f c<=b.3qw&&c>=b.3qv}1b Q$(a,b,c){1d d=a.5V;if(b.11m===La.1is){1d e=d.2V,f=d.3L;d=k.15i(B.8I(e.x),B.8I(e.y),e.z);e=k.15i(B.8I(e.x),B.8I(e.y-f),e.z);e=k.3s(d,e);c=k.3s(d,c)-e}1s c=k.3s(d.2V,c)-d.3L;c=0>c?0:c;a.21R=c;1f c<=b.3qw&&c>=b.3qv}1b hT(a){a=a||{};1a.1Bp=m(a.9O,"44T 1TG-1TF");1a.1pN=m(a.1b5,y.9r);1a.16O=m(a.5M,y.1a7);1a.16n=m(a.5R,1);1a.1MN=m(a.1oC,!1);1a.1vi=m(a.1a4,1g y(.165,.165,.165,.8));1a.14N=m(a.15b,qe.1LX);1a.1qS=C.1y(m(a.14l,C.6h));1a.13V=m(a.3b,1);1a.2Ad=m(a.5Iu,"2fY");1a.1c1=m(a.6N,bb.6i);1a.3Vq=!1}1b pJ(){1a.4AV=0;1a.1pM=1g E(1,1,0,1);1a.1V8=1g E(1,0,1,1);1a.1b4=iT.4AN;1a.4AT=1a.4AU=2;1a.4AR=1a.4AS=0;1a.4AP=1a.4AQ=20}1b bD(){1a.1gc=1;1a.7a=1g E(1,1,1,1);1a.1b4=jT.6i;1a.16O=1g E(0,0,0,1);1a.16n=1;1a.2Am=1g E(1,1,1,0);1a.2Al=16;1a.2g6=255;1a.2Mk=.25;1a.4AL=1a.4AM=!1;1a.2HW=0}1b kT(){}1b $y(){1a.13Z=1a.1bx=1a.1E2=1a.1Ea=1a.2Aj=1a.2Mi=1a.2Ak=1a.2Mj=1a.19m=1a.1Eg=1a.13p=1p 0;1a.2yJ=1a.3VM=1a.3VL=!1;1a.1fx=1a.35u=1;1a.24o=ma.1Bc;1a.1U1=1a.1U2=0;1a.32l={};pf.5Ij();1a.1yW=Us}1b cD(a){1f 1g Eb({18i:Ka.11g,18h:Ka.11g,14A:a,15u:a})}1b 5Ik(a,b){R$.x=1/a.1Eg.1G;R$.y=1/a.1Eg.1D;a.1Ea=b.1aL("#2f 1CY\\n#2f 1Fv 8\\1B 1o 14k;\\1B 1o 15N;\\1B 1o 2G;\\1B 2v 6T;\\n#1z 1CY\\1B 1o 1bo;\\n#1s\\1B 1v 7F;\\n#1u\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\n#1z 1CY\\2u 7F = 1v(1bo * (1gU / 9e.zw));\\n#1s\\2u 7F = 7F;\\n#1u\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 15N);\\ng.y = 108((-0.5 * 14k * 14k) / (15N * 15N));\\ng.z = g.y * g.y;\\1P 4D = 1Y(6T, st) * g.x;\\14D (7P i = 1; i < 1Fv; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 7F;\\19v += 1Y(6T, st - 2M) * g.x;\\19v += 1Y(6T, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n",{4J:{14k:1b(){1f 1},15N:1b(){1f 2},1bo:1b(){1f 1},2G:1b(){1f 0},6T:1b(){1f a.1Eg}},6t:a.24o,7H:a});a.1Ea.4Q=a.2Mj;a.1Ea.4w=pa.4t({5q:Wv});a.1E2=b.1aL("#2f 1CY\\n#2f 1Fv 8\\1B 1o 14k;\\1B 1o 15N;\\1B 1o 2G;\\1B 2v 6T;\\n#1z 1CY\\1B 1o 1bo;\\n#1s\\1B 1v 7F;\\n#1u\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\n#1z 1CY\\2u 7F = 1v(1bo * (1gU / 9e.zw));\\n#1s\\2u 7F = 7F;\\n#1u\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 15N);\\ng.y = 108((-0.5 * 14k * 14k) / (15N * 15N));\\ng.z = g.y * g.y;\\1P 4D = 1Y(6T, st) * g.x;\\14D (7P i = 1; i < 1Fv; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 7F;\\19v += 1Y(6T, st - 2M) * g.x;\\19v += 1Y(6T, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n",{4J:{14k:1b(){1f 1},15N:1b(){1f 2},1bo:1b(){1f 1},2G:1b(){1f 1},6T:1b(){1f a.2Ak}},6t:a.24o,7H:a});a.1E2.4Q=a.2Mi;a.1E2.4w=pa.4t({5q:Wv});1d c=pa.4t({12e:Dc.1bQ,13Q:!0,9J:{3e:!0}}),d=1g ja({2i:"5gg",5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\1B 2v 2ca;\\1B 2v 2Hc;\\1B 1w 2kY;\\1J 1v 2F;\\n\\2u 1ya(1o 1gS, 1v 1fT)\\n{\\1r 1rj = 1Y(2Hc, 2F + 1fT).r;\\1U (1rj == 1.0) {\\2j 1v(0.0);\\n}\\1P 5Z = 1az(2F + 1fT, 1rj);\\2j 1v(1V(0.0, 1gS - 1iK(-5Z.z / 5Z.w)), 1.0);\\n}\\2s 2k()\\n{\\1r 1rj = 1Y(2Hc, 2F).r;\\1P 5Z = 1az(4u.xy, 1rj);\\2aX /= 5Z.w;\\1r 1gS = 1iK(-5Z.z);\\1U (1rj == 1.0)\\n{\\10W;\\n}\\1P 1A = 1Y(2ca, 2F);\\n#1z 4ia\\1r 2Yz = 2kY.x;\\1r 2YA = 2kY.y;\\2u 1Yc = 1v(0.0);\\1Ib += 1ya(1gS, 1v(0, 2YA));\\1Ib += 1ya(1gS, 1v(2Yz, 0));\\1Ib += 1ya(1gS, 1v(0, -2YA));\\1Ib += 1ya(1gS, 1v(-2Yz, 0));\\1r 1pa = 1Yc.x / 1Yc.y;\\1r 1SN = 108(-1pa * 300.0 * 2kY.z);\\6p.2y *= 1SN;\\n#1u\\3R = 1m(1A);\\3R.a = 1.0;\\n#1z 10B\\1ri(1.0 + (17B * 1m(5Z.1H, 1.0)).w);\\n#1s\\1F2 = 18a(1m(5Z.1H, 1.0)).z;\\n#1u\\n}\\n"]});a.3VM&&d.2N.1q("4ia");a.1bx=b.1aL(d,{4J:{2ca:1b(){1f a.2yJ?a.2Aj:a.1Eg},2Hc:1b(){1f a.19m},2kY:1b(){qJ.x=a.1fx/(b.8j*Us);qJ.y=a.1fx/(b.7p*Us);qJ.z=a.35u;1f qJ}},4w:c,6t:a.24o,7H:a});a.13Z=1g Ec({4Q:a.13p,1A:1g y(0,0,0,0),4e:1,4w:pa.4t(),6t:a.24o,7H:a})}1b S$(a){1f a.1QR&&a.1Mb}1b pf(){1a.2Aj=1a.2Mi=1a.2Ak=1a.2Mj=1a.19m=1a.1Eg=1a.13p=1p 0;1a.35t=0}1b az(a,b){b&&g(Q.17d(a.1TW,b.3g))&&(b.27L=!1,az(a,b.1UE),az(a,b.1UD),az(a,b.1UC),az(a,b.1UB))}1b T$(a){1d b=0;g(a.1cJ)&&(b=a.1cJ.28L);1d c=a.1D+b;a.177===O.6G?a.11m===La.1is?(a.9M=1g k(a.1tT,a.1mp,c),A.1PY(a.9M,a.1dI)):(c=k.8g(a.1tT,a.1mp,c),a.9M=c,b=1g $b(a.1Ef,0,0),Da.1nq(c,b,ba.9y,Da.18N,a.1dI)):(180<a.1tT||-180>a.1tT||180<a.1mp||-180>a.1mp?a.2M9?(b=1g Uc,c=b.1cZ(1g k(a.1tT,a.1mp,0)),a.9M=a.16y.12z(c)):a.9M=1g k(a.1tT,a.1mp,c):(b=1g Td,c=k.8g(a.1tT,a.1mp,c),c=b.3c.10Z(c),a.9M=b.12z(c)),A.1PY(a.9M,a.1dI),A.9b(5I9,a.1dI,a.1dI));if(a.1gb.1g6&&g(a.15V)){b=0;1j(c=a.15V.1d4.1h;b<c;b++){1d d=a.15V.1d4[b];g(d.4B9)&&(d.5V=P.5o(d.4B9,a.1dI,1g P))}a.1gb.1g6=!1}}1b 5Hs(a,b){1d c=a.6J;if(g(c)&&c.35m){g(a.21M)&&(a.21M.1M(),a.21M=1p 0);1d d={};d.7r=a;g(c.2Ey)&&""!==c.2Ey?Z(gf(c.2Ey),1b(c){a.21M=1g Ca({1O:b,5j:c,8b:ua.1fB,10E:Ha.7U,10v:1g Eb({18i:Ka.1av,18h:Ka.1av,14A:nb.1Qv,15u:Rb.1Qv})});a.21M.1zs();d.5F=!0;a.1bE(d,U$)}):(d.5F=!1,a.1bE(d,U$));c.35m=!1}}1b 5H9(a,b){a.353(b.7r,b.1cA)}1b 5H8(a,b){a.1V1(b.1a8)}1b 5H7(a,b){a.3q7(b.1a8)}1b 5H6(a,b){a.3V1(b.1a8)}1b 5H5(a,b){a.3V0()}1b 5H4(a,b){a.2A7(b.1a8,b)}1b $l(a,b,c){1d d=1g k,e=1g k;k.3V(b,a,d);k.3V(c,a,e);b=1g k;k.4B(d,e,b);k.1T(b,b);a=-k.2A(b,a);1f 1g E(b.x,b.y,b.z,a)}1b bz(a,b){a=a.16y;1d c=a.3c,d=1g k,e=1g T;c.10Z(b,e);a.12z(e,d);1f k.9v(d.z,d.x,d.y)}1b 5GV(a,b){a.33i(b)}1b 5H0(a,b){a.3UY(b.7r)}1b rJ(a,b){a.2nA(b.7r,b.5F)}1b dD(a,b){a.5Rw(b)}1b 5He(a,b){a.5Rv(b)}1b V$(a,b){a.5Ru(b)}1b 5Hg(a,b){a.5Rt(b)}1b W$(a,b){a.5Rs(b)}1b X$(a,b){a.5Ry(b)}1b 5HR(a,b){a.5Rx(b)}1b Y$(a,b){a.5Rr(b)}1b 5HZ(a,b){a.5Rq(b)}1b Z$(a,b){a.5Rp(b)}1b 5HW(a,b){a.5Ro(b)}1b 5Ho(a,b){a.3Vy(b)}1b 5HU(a,b){a.5Rn(b)}1b 5HT(a,b){a.5Rm(b)}1b 5HP(a,b){a.5Rl(b)}1b 5HF(a,b){a.5Rk(b)}1b $$(a,b){a.5Rj(b)}1b 5HL(a,b){a.5Ri(b)}1b 5Hj(a,b){a.5Rd(b)}1b U$(a,b){a.5Rh(b)}1b 5HJ(a,b){a.5Rg(b)}1b 5HI(a,b){a.5Rf(b)}1b 5Hl(a,b){a.5Re(b)}1b mn(a,b,c,d){d=m(d,m.4Z);v.2l("3v.1K",d.1K);1a.1b4=qq.3mi;1a.1tS=c;1a.9M=d.1K;1a.7a=m(d.1A,y.9r);1a.13V=m(d.3b,1g k(1,1,1));1a.1hs=m(d.2M,1g k(0,0,0));1a.3UG=c=m(d.1oc,1g $b);1a.2LX=Da.2LY(1a.9M,c);1a.2lO=m(d.7n,m.4Z);d=T.12y(1a.9M);d.3N+=1a.1hs.x;d.4k+=1a.1hs.y;d.1D+=1a.1hs.z;1a.4zy=k.15i(d.3N,d.4k,d.1D);a=a.1Ga({id:b,9k:1a}).1A;d=1g y;d.x=y.10F(a.5r);d.y=y.10F(a.5t);d.z=y.10F(a.5G);d.w=y.10F(a.2O);1a.1Mc=d;1a.1LL=!1;1a.2zU=y.1y(1a.7a);1a.3jn=1p 0;1a.3UH=1;1a.5V=1p 0;1a.7R=b;1a.12N=-1;1a.3UI=!1;1a.3pX=1a.1br=!0;1a.4zu=1a.4zv=1a.4zw=1p 0}1b 5Gn(a){1f/^#([A-Fa-f0-9]{3}){1,2}$/.6S(a)?(a=a.11c(1).7g(""),3==a.1h&&(a=[a[0],a[0],a[1],a[1],a[2],a[2]]),a="3r0"+a.14G(""),[(a>>16&255)/255,(a>>8&255)/255,(a&255)/255,1]):[255,255,255,1]}1b cz(a,b,c,d){a=d[1]===d[0]?.5:(a-d[0])/(d[1]-d[0]);1f 6BP(a,5Gk,c,b)}1b 6BP(a,b,c,d){1d e=b[1]-b[0],f=c[1]-c[0];if(0===e)1f 0===f?c[0]:(c[0]+c[1])/2;if(d)if(0<e){if(a<=b[0])1f c[0];if(a>=b[1])1f c[1]}1s{if(a>=b[0])1f c[0];if(a<=b[1])1f c[1]}1s{if(a===b[0])1f c[0];if(a===b[1])1f c[1]}1f(a-b[0])/e*f+c[0]}1b lT(a,b){a=(b-a)/5;0===a?b=0:(b=1k.2t(1k.7k(a)/1k.5Yh),10<=a/1k.3r(10,b)&&b++);1d c=1k.3r(10,b);a/=c;a=(1.5>a?1:2.5>a?2:4>a?3:7>a?5:10)*c;1f-20<=b?+a.1mf(0>b?-b:0):a}1b mT(a,b,c){1d d=[];d[0]=aaa(1k.2t(a/c)*c);d[1]=aaa(1k.8a(b/c)*c);1f d}1b aaa(a,b,c){1F==b&&(b=10);b=1k.2o(1k.1V(0,b),20);a=(+a).1mf(b);1f c?a:+a}1b qi(a){if(!g(a))1t 1g r("1O is 1X.");1a.4j=a;1a.6M=a.6M;1a.1b4=qq.3mj;1a.19O={};1a.1br=!0;1a.1TZ=1a.2om=1a.1ss=!1;1a.11h=15;1a.34N=1a.1JM=3a.6w;1a.4zq=1a.21H=0;1a.1B9=Ak.2oO;1a.2op=0;1F!==a.1TY?1a.1gI=1:1F!==a.27a?1a.1gI=2:1F!==a.279&&(1a.1gI=3);1a.2K4=1a.34L=!1;1a.2fT=[];1a.34J=Pj.2y9}1b 5Gf(a,b){1d c=a.19O[b],d=c.4F;$i.1he==d&&(b=Wx(b,1b(a){1f Ng(a)}),g(b)&&(c.4F=$i.1gu,b.4b(1b(a){c.2zT=a;c.4F=$i.1e5},1b(a){c.4F=$i.2dF})));$i.1e5==d&&(g(c.2zT)?6BL(a,c,c.2zT):g(c.3UE)&&6BM(a,c.3UE,c))}1b 4zn(a,b,c){1d d=k.1y(b.4zy),e=b.2LX,f=b.13V,h=bc.12y(d);d=h.162;h=h.15r;1d l=b.7a,p=b.1Mc,n=b.1hs,z=b.1ZC,w=b.5Gq;b=b.5Gp;1d x=0;a[c+x++]=d.x;a[c+x++]=d.y;a[c+x++]=d.z;a[c+x++]=h.x;a[c+x++]=h.y;a[c+x++]=h.z;a[c+x++]=e.x;a[c+x++]=e.y;a[c+x++]=e.z;a[c+x++]=e.w;a[c+x++]=f.x;a[c+x++]=f.y;a[c+x++]=f.z;a[c+x++]=z;a[c+x++]=l.5r;a[c+x++]=l.5t;a[c+x++]=l.5G;a[c+x++]=l.2O;a[c+x++]=p.x;a[c+x++]=p.y;a[c+x++]=p.z;a[c+x++]=p.w;a[c+x++]=n.x;a[c+x++]=n.y;a[c+x++]=n.z;g(w)&&(a[c+x++]=w.x,a[c+x++]=w.y,a[c+x++]=w.z,a[c+x++]=1);g(b)&&(a[c+x++]=b.x,a[c+x++]=b.y,a[c+x++]=b.z,a[c+x++]=b.w)}1b Fk(a){a=a||{};1d b=a.1lu,c=a.1dM,d=a.1Qt;if(!(a.1lu&&a.1dM&&a.1ho&&a.1Qt))1t 1g r("gl 7y 1FP 6BO 1ho  is 1X to 6F 6BN");1a.1sd=b;1a.1na=c;1a.1DS=a.1ho;1a.12m={};1a.9s=!1;1a.1dI=m(a.2gi,A.8K);1a.1uV=d;1a.2ol=1a.1Ed=1a.15e=1a.6g=1p 0;1a.11S=a.6W;1a.1tS=a.4da}1b 6BM(a,b,c){c.4F=$i.21L;1j(1d d=1g k,e=[],f=0;f<b.3pW;f++)k.7j(b.4zr,3*f,d),e.1q(k.1y(d));d=A.1y(A.8K,1g A);e=P.1aN(e,1g P);P.5o(e,d,e);b=1g Fk({1dM:{19h:[{2P:0,5b:b.4zr,2Z:3,3k:I.3O,9n:0,9t:0,1T:!1},{2P:1,5b:b.5Gl,2Z:4,3k:I.3O,1T:!1,9n:0,9t:0},{2P:2,5b:b.5Gm,2Z:3,3k:I.3O,1T:!1,9n:0,9t:0}],1oh:{4f:0,11X:1,13N:2},1gC:0,1MQ:0,2gk:-1,1f0:b.3pW},1lu:[{1m2:b.4N,1IY:0,6Z:4}],1Qt:{},6W:e,1ho:a,4da:c,2gi:d});b.6l(a);c.1gJ.1q(b);c.3UE=1p 0;c.4F=$i.1cY;c.3o=!0}1b 4zl(a,b){1d c=!1,d;1j(d in a.2N)if(a.2N[d]===b){c=!0;1W}c||a.2N.1q(b)}1b 4zk(a,b){1j(1d c=-1,d=0;d<a.2N.1h;d++)if(a.2N[d]===b){c=d;1W}0<=c&&a.2N.6z(c,1)}1b 6BL(a,b,c){1d d={3J:c,1V0:a.1gI},e=!1;if(b.2I.36l("2ou")){e=!0;sd.11K||sd.3rv();if(!sd.35T)1f;c=sd.35S.1fa(d,[c])}1s c=sd.3r9.1fa(d,[c]);g(c)?(b.4F=$i.21L,b.2zT=1p 0,c.4b(1b(c){if(c.4D){if(e)6BK(c,b,a);1s{1d d=a.4j,f=5Gj.1dD(c.3ru).1gv,p=f.1fz,n;1d z=nn(f,"3rt",p);if(g(z)){1d w=[];z=z.13P;1d x=z.1h;1j(n=0;n<x;n++){1d m=z[n];g(p)?"2q"===m.16Z&&-1!==p.3f(m.1fz)&&w.1q(m):"2q"===m.16Z&&w.1q(m)}n=w}1s n=[];w={};z=0;1j(x=n.1h;z<x;z++){m=n[z];1d t=eD(m,"2i",p),r=1g fe({});w[t]=r;1d G=nn(m,"3rs",p),q=Gk(G,"3rr",p),u=Gk(G,"3rq",p);t=Gk(G,"3rp",p);G=Gk(G,"3ro",p);r.1LN=1g y(q,u,t,G);G=nn(m,"3rn",p);q=Gk(G,"3rm",p);u=Gk(G,"3rl",p);t=Gk(G,"3rk",p);G=Gk(G,"3rj",p);r.1se=1g y(q,u,t,G);G=nn(m,"3ri",p);q=Gk(G,"3rh",p);u=Gk(G,"3rg",p);t=Gk(G,"3rf",p);G=Gk(G,"3re",p);r.1Du=1g y(q,u,t,G);q=Gk(m,"3rd",p);r.1JK=q;nn(m,"2oR",p);q=r;u=nn(m,"2oR",p);g(u)?(u=u.8S.1b2(),u="1"===u||/^8O$/i.6S(u)):u=1p 0;q.1GL=u||1>r.1se.2O;q=nn(m,"7y",p);m=eD(q,"2i",p);u=nn(q,"3rc",p);q=eD(u,"u",p);t=eD(u,"v",p);q="2gj"===q?Ka.1av:Ka.11g;t="2gj"===t?Ka.1av:Ka.11g;u=c.2oP[m];g(u)&&(m=Rc.22b(m,d,u.1G,u.1D,u.1vC,u.1zq,u.1Ei,!1,q,t),r.12s.1q(m),0===u.1zq&&(a.1gI=0))}z=nn(f,"3rb",p);d=54U(z,"2MN",p);f=[];z=0;1j(x=d.1h;z<x;z++){m=d[z];n=eD(m,"2MM",p).7g(",");1j(r=0;16>r;r++)n[r]=7L(n[r]);n=A.5f(n,0);r=54U(m,"2ML",p);m=[];q=0;1j(u=r.1h;q<u;q++)t=r[q].8S.1b2(),m.1q(t);q=1g P;1j(r=0;r<m.1h;r++){t=c.1oF[m[r]];u=G=t.1dM;t=n;G=[];1d v=1g P,B=1g k,lb=u.19h[0],K=lb.2Z;lb=1g 4A(lb.5b.3J,lb.5b.8o,lb.5b.10S/4);1j(1d C=0;C<u.1f0;C++)k.7j(lb,K*C,B),G.1q(k.1y(B));P.1aN(G,v);G.1h=0;P.5o(v,t,v);f.1q(v)}if(0<f.1h){r=P.1zi(f,1g P);u=!1;0<b.18P.1h&&g(b.18P.2a[0].34K)&&(P.5o(r,b.18P.2a[0].34K,r),u=!0);t=[];1j(G=0;G<b.18P.1h;G++)v=b.18P.2a[G],v.2fU=k.1y(r.2V),v.1ZC=r.3L,g(b.2fU)||(b.2fU=v.2fU,b.1ZC=v.1ZC),B=Da.18N(v.1K,ba.9y,1g A),B=P.5o(r,B,1g P),K=u?1:k.1xj(v.3b),B.3L=B.3L*K*2,v.7u=B,t.1q(B);P.1zi(t,q)}1j(u=0;u<m.1h;u++){t=c.1oF[m[u]];G=t.1dM;v=t.1lu;B={};1j(1d L in v)r=v[L],g(r)&&(t=r.1FJ,r=w[t],B[t]=r);r=1g Fk({1dM:G,1lu:v,9G:c.9G,1Qt:B,6W:q,1ho:a,4da:b,2gi:n});r.6l(a);b.1gJ.1q(r)}}}b.3o=!0;b.6s=!1;b.4F=$i.1cY}1s b.4F=$i.1he}).10g(1b(a){11l.7k(a)})):b.4F=$i.1e5}1b 6BK(a,b,c){1d d=c.4j,e=a.35Y,f=a.1oF,h={};a.3rx.2q.5d(1b(b){1d c=b.2q,e=c.id;b=1g fe({});h[e]=b;b.4Gl(c);b.4Gk(c);c=c.3X3;1j(e=0;e<c.1h;e++){1d f=c[e].3X2,l=f.id,p=0===f.2AF.u?Ka.1av:Ka.11g,k=0===f.2AF.v?Ka.1av:Ka.11g;b.2oQ=A.5f(f.3X1);f=a.2oP[l];g(f)&&0<f.1G&&0<f.1D&&0<f.1Ei.1h&&(p=Rc.22b(l,d,f.1G,f.1D,f.1vC,f.1zq,f.1Ei,!1,p,k),b.12s.1q(p))}});e=e.35X;1j(1d l=0;l<e.1h;l++)e[l].3rw.5d(1b(d){1d e=d.8W;d=d.35W;1j(1d l=0;l<d.1h;l++){1d p=f[d[l]],k=p.1dM;p=p.1lu;1j(1d m={},t=0;t<p.1h;t++){1d r=p[t];g(r)&&(r=r.1FJ,m[r]=h[r])}k=1g Fk({1dM:k,1lu:p,9G:a.9G,1Qt:m,1ho:c,4da:b,2gi:e});k.6l(c);b.1gJ.1q(k)}})}1b nn(a,b,c){if(g(a)){a=a.13P;1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];if(g(c)){if(f.16Z===b&&-1!==c.3f(f.1fz))1f f}1s if(f.16Z===b)1f f}}}1b 54U(a,b,c){if(g(a)){1d d=[];a=a.1Gs("*",b);1j(1d e=a.1h,f=0;f<e;f++){1d h=a[f];g(c)?h.16Z===b&&-1!==c.3f(h.1fz)&&d.1q(h):h.16Z===b&&d.1q(h)}1f d}}1b Gk(a,b,c){a=nn(a,b,c);if(g(a))1f a=7L(a.8S),11I(a)?1p 0:a}1b eD(a,b,c){a=nn(a,b,c);if(g(a))1f a.8S.1b2()}1b 5Ge(a,b,c){1d d=b.7r,e={18G:1b(){1f b.7y},6BJ:1b(){1f b.1Xr},1Aj:1b(){1f b.5Gd},15a:1b(){1f b.1Fl},2ta:1b(){1f b.1Fk},2U8:1b(){1f b.1rk},2H0:1b(){1f b.7r.1ss},2de:1b(){1f b.5Gc},1rr:1b(){1f d.1x7},2He:1b(){1f 1g C(d.21J,d.2oq)},2df:1b(){1f d.2fV},2vJ:1b(){1f b.1Fl}};e=fb(e,c.4Gu());e=fb(e,d.5Y.1hp.20K());a.4J=e}1b fD(a){a=m(a,m.4Z);if(!g(a.3Bu))1t 1g r("3v.3Bu is 1X.");if(!g(a.3dP))1t 1g r("3v.3dP is 1X.");1a.5G9=a.3dP;1a.4zi=1a.3Uz=1p 0;1a.3pT=!1;1d b=1a;na.14m(a.3Bu).1jN({2LW:!0,1UY:!0,13E:!0}).4b(1b(c){g(c.1i3)&&(b.4zi=c.1i3.4V);1d d=Hu(c);if(a.54F){1d e=!0;c=c.1G;1j(1d f=a.3dP,h=0,l=f.1h;e&&h<l;++h){1d p=f[h];0<d[4*p.x+p.y*c+3]&&(e=!1)}e&&(d=1p 0)}b.3Uz=d;b.3pT=!0}).10g(1b(){b.3Uz=1p 0;b.3pT=!0})}1b Jo(){1a.1ec=1a.2g=1a.1K=1a.16G=1a.2i=1p 0}1b Hk(){1a.54w=1a.54v=1a.3Bq=1a.54u=1a.54t=1a.54s=1a.54r=1a.54q=1p 0;r.8i()}1b wq(a){1b b(b){1d c=b.1ny;if(g(c)){f.14Q=c.3Aw;f.16J=c.3Ax;if(34v===c.1jS.1mo||3cA===c.1jS.1mo)f.6C=1g Le({3c:a.3c});1s if(1zf===b.1ny.1jS.1mo)f.6C=1g gd({3c:a.3c});1s{h=Lc.1ir(h,f,f.14P,"2wE 54G 1bY 4d9 "+b.1ny.1jS.1mo+" is 2S 11J.",1p 0,1p 0,1p 0,d);1f}f.17G=b.1ny.3Az.1h-1;if(g(b.1oV)){if(g(b.1oV.1jS)&&g(b.1oV.1jS.1mo))if(34v===b.1oV.1jS.1mo||3cA===b.1oV.1jS.1mo){1d e=1g Uc,l=b.1oV;c=e.1cZ(1g k(1k.1V(l.3dT,-f.6C.3c.17i*1k.PI),1k.1V(l.3dS,-f.6C.3c.17i*1k.PI),0));e=e.1cZ(1g k(1k.2o(l.3dR,f.6C.3c.17i*1k.PI),1k.2o(l.3dQ,f.6C.3c.17i*1k.PI),0));f.7T=1g Q(c.3N,c.4k,e.3N,e.4k)}1s if(1zf===b.1oV.1jS.1mo)f.7T=Q.8g(b.1oV.3dT,b.1oV.3dS,b.1oV.3dR,b.1oV.3dQ);1s{h=Lc.1ir(h,f,f.14P,"1oV.1jS 4d9 "+b.1oV.1jS.1mo+" is 2S 11J.",1p 0,1p 0,1p 0,d);1f}}1s f.7T=f.6C.3g;g(f.1nm)||(f.1nm=1g fD({3Bu:4zh(f,0,0,f.17G).2I,3dP:[1g C(0,0),1g C(200,20),1g C(20,200),1g C(80,110),1g C(160,130)],54F:!0}));f.21A=!0}1s f.21A=!1;g(b.2Sk)&&0<b.2Sk.1h&&(f.1dh=1g Zb(b.2Sk));f.4y=!0;f.7S.5h(!0);Lc.1Vf(h)}1b c(a){a="An 7A 1Jq 14p 1Ud "+f.12o.2I+".";h=Lc.1ir(h,f,f.14P,a,1p 0,1p 0,1p 0,d);f.7S.7N(1g qa(a))}1b d(){1d a=f.12o.16M({1kx:{f:"15l"}}).2Rs();Z(a,b,c)}a=m(a,m.4Z);if(!g(a.2I))1t 1g r("3v.2I is 1X.");1a.1os=a.2I;1d e=na.14m(a.2I);e.1F1();g(a.1pI)&&e.1qN({1pI:a.1pI});1a.12o=e;1a.1nm=a.19b;1a.14Q=m(a.16K,256);1a.16J=m(a.17g,256);1a.17G=a.16j;1a.6C=m(a.8c,1g gd({3c:a.3c}));1a.21A=m(a.6Bx,!0);1a.7T=m(a.3g,1a.6C.3g);1a.8U=a.9Q;e=a.9L;"4n"===2h e&&(e=1g Zb(e));1a.1dh=e;1a.1Bm=m(a.1Bm,!0);1a.14P=1g sa;1a.4y=!1;1a.7S=Z.12L();1d f=1a,h;e=a.2I;f.13Y=a.2I;(1g Dh({2i:e})).4b(1b(a){a.1PU(f.13Y)?f.12Y=a:a.1Uc(f.13Y).4b(1b(){f.12Y=a})});f.17F={1dF:!1,9P:1b(){f.12Y.9P(f.13Y)},1au:[]};1a.21A?d():(1a.4y=!0,1a.7S.5h(!0))}1b 4zh(a,b,c,d,e){a.21A?a=a.12o.16M({2I:"11H/"+d+"/"+c+"/"+b,7M:e}):(b=a.6C.1JE(b,c,d),b={1bD:b.4o+","+b.4C+","+b.5a+","+b.4P,4V:a.14Q+","+a.16J,8V:"12H",18b:!0,f:"4d"},a.6C.18T 2m Td?(b.54D=1zf,b.54E=1zf):(b.54D=1Bo,b.54E=1Bo),a.9Q&&(b.9Q="2p:"+a.9Q),a=a.12o.16M({2I:"1Vc",7M:e,1kx:b}));1f a}1b 5G5(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d}1b Vs(){1a.19m=1a.1dn=1a.10u=1a.1cH=1p 0;1a.4y=!1;1a.6X="9Mb";1a.13Z=1a.1pu=1a.2zS=1a.1Gt=1a.1hq=1a.3QX=1p 0;1a.3Uw=1g C;1a.1wK=1a.3e=!0;1a.5G3=.1;1a.5G2=10}1b 4zg(a){1d b=a.1Gt;if(g(b)){1j(1d c=b.1h,d=0;d<c;++d)b[d].1M();a.1Gt=1p 0;a.2zS.1M();a.2zS=1p 0}}1b 4zf(a){1d b=a.1pu;if(g(b)){1j(1d c=b.1h,d=0;d<c;++d)b[d].2z.1M();a.1pu=1p 0}}1b $xa(a,b){if(0===b)b={6T:1b(){1f a.1dn},1Gv:1b(){1f a.1dn.6e}};1s{1d c=a.1Gt[b-1].167(0);b={6T:1b(){1f c},1Gv:1b(){1f c.6e}}}b.3dV=1b(){1f a.3Uw};b.54R=1b(){1f a.2zS.167(0)};1f b}1b 5G4(a,b){1d c="2n 2v 6T; \\1J 1v 2F; \\1r 6BI(1v 2M) { \\n";c=(0===a?c+"    1m 1A = 1Y(6T, 2F + 2M); \\n    1f 2Ty(1A.2y); \\n":c+"    1f 1Y(6T, 2F + 2M).r; \\n")+"}\\n\\1B 1v 1Gv; \\1B 1v 3dV; \\1B 2v 54R; \\2s 2k() { \\n    1o 1A = 0.0; \\n    1o 54T = 1.0 / 1Gv.x; \\n    1o 54S = 1.0 / 1Gv.y; \\n    7P 7Z = 0; \\n    1j (7P i = 0; i < 3; ++i) { \\n        1j (7P j = 0; j < 3; ++j) { \\n            1v 2M; \\n            2M.x = -54T + 1o(i) * 54T; \\n            2M.y = -54S + 1o(j) * 54S; \\n            if (2M.x < 0.0 || 2M.x > 1.0 || 2M.y < 0.0 || 2M.y > 1.0) { \\n                1aJ; \\n            } \\n            1A += 6BI(2M); \\n            ++7Z; \\n        } \\n    } \\n    if (7Z > 0) { \\n        1A /= 1o(7Z); \\n    } \\n";a===b-1&&(c+="    1o 18d = 1Y(54R, 1v(0.5)).r; \\n    1A = 2Y(1A, 3dV.x, 3dV.y); \\n    1A = 18d + (1A - 18d) / (60.0 * 1.5); \\n    1A = 2Y(1A, 3dV.x, 3dV.y); \\n");1f c+"    2C = 1m(1A); \\n} \\n"}1b Xv(a){}1b Vg(a){1b b(a){if(1!==a.4aV.1h)c();1s{a=a.4aV[0].6rS[0];f.14Q=a.3hu;f.16J=a.3ht;f.17G=a.5G0-1;f.54Q=a.9Ma;f.54P=a.2eJ;a=f.4zb=a.9M9;a||(a=f.4zb=[]);1j(1d b=0,d=a.1h;b<d;++b){1d e=a[b];if(e.9L 2m Zb)1W;e.9L=1g Zb(e.2AS);1d l=e.3Uv,g=0;1j(e=e.3Uv.1h;g<e;++g){1d p=l[g],k=p.1bD;p.1bD=1g Q(B.8I(k[1]),B.8I(k[0]),B.8I(k[3]),B.8I(k[2]))}}f.4y=!0;f.7S.5h(!0);Lc.1Vf(h)}}1b c(a){a="An 7A 1Jq 14p 1Ud "+e.2I+".";h=Lc.1ir(h,f,f.14P,a,1p 0,1p 0,1p 0,d);f.7S.7N(1g qa(a))}1b d(){1d a=e.2Rs("2HZ");Vg.4z9[l]=a;a.4b(b).10g(c)}a=m(a,m.4Z);if(!g(a.2I))1t 1g r("3v.2I is 1X.");1a.2dI=nB.2IV(a.10t);1a.12o=na.14m(a.2I);1a.12o.1F1();1a.6BH=a.9M8;1a.20o=m(a.3Pb,4j8.3pp);1a.4zc=m(a.4zd,"");1a.1nm=a.19b;g(1a.1nm)||(1a.1nm=1g Xv);1a.49m=a.1aQ;1a.1dh=1g Zb(\'<a 17S="10R://10y.63B.11Y"><1kp 1bv="\'+Vg.3Ts+\'" 17s="2S3 25O"/></a>\');1a.3Bq=1;1a.6C=1g Le({27p:2,27o:2,3c:a.3c});1a.54Q=1a.54P=1a.17G=1a.16J=1a.14Q=1p 0;1a.14P=1g sa;1a.4y=!1;1a.7S=Z.12L();a=1a.6BH;g(a)?0<a.1h&&":"===a[a.1h-1]&&(a=a.13c(0,a.1h-1)):a="10R:"===3n.17J.2RI?"10R":"1bU";1d e=1a.12o.16M({2I:"35s/v1/25O/6m0/"+1a.20o,1kx:{9M7:"1Hu",10t:1a.2dI,9M6:a}}),f=1a,h,l=e.2I;a=Vg.4z9[l];g(a)?a.4b(b).10g(c):d()}1b 5FZ(a,b,c,d,e){1d f=a.54Q,h=(b+c+d)%f.1h;1f a.12o.16M({2I:a.54P,7M:e,1PR:{9M5:Vg.2nv(b,c,d),1DF:f[h],4zd:a.4zc},1kx:{n:"z"}})}1b Nh(){1a.1d0=1p 0;1a.2o3=1g Sf;1a.1tK=1g Sf;1a.10T=!1;1a.4j=1p 0;1a.5FV=0;1a.5FU=7;1a.2fS=0;1a.3Ut=1;1a.2zQ=1g E(1,1,0,0);1a.3pP=1g k;1a.5FS=1g k(1,1,1);1a.3Uu=0;1a.9M4=.5;1a.9M3=9M2;1a.3pR=1;1a.1pH=1.34;1a.3Us=0;1a.5FW=cb("1ja/1or/9M1.12H");1a.3pQ=1a.2zR=1p 0;1a.1zh=[];1j(1d a=0;16>a;a++)1a.1zh.1q({});1a.13Z=1g Ec({1A:1g y})}1b nT(a){a=m(a,5FR);v.2l("6e",a);v.1N.2b.9Y("6e.x",a.x,0);v.1N.2b.9Y("6e.y",a.y,0);v.1N.2b.9Y("6e.z",a.z,0);1a.1US=k.1y(a)}1b dz(){1a.1bx=1a.1dn=1a.13p=1p 0}1b 6BG(a,b,c){if(a 2m Qc){1d d=1k.10n(.5*a.1MK);1d e=a.3I;d*=a.3I;a=a.13n*d;1f 1k.1V(b*e/a,c*e/d)}1f a 2m Mg?(e=a.3I,d=a.5C,a=a.2W,1k.1V(b*e/a,c*e/d)):1k.1V(b,c)}1b 6BD(a,b,c,d){if(g(d)&&c(.5)>d){1d e=c(0),f=c(1);d=c(.5);1d h=d-e,l=d-f;1f 1b(d){1d g=c(d);1f.5>=d?B.11x(a,-B.10k,(g-e)/h):B.11x(-B.10k,b,1-(g-f)/l)}}1f 1b(c){1f B.11x(a,b,c)}}1b oT(a,b,c,d,e){1d f=e;e=1k.1V(c,d);if(!g(f)){1d h=a.up,l=a.2W,p=a.3j;a=k.3V(a.1K,b,5FP);b=k.7t(k.4g(h,k.2A(a,h),4z6));l=k.7t(k.4g(l,k.2A(a,l),4z6));f=1k.2o(.2*6BG(p,b,l),1E9)}if(e<f){1d n=-1k.3r(1E6*(f-c),.125),z=1k.3r(1E6*(f-d),.125);1f 1b(a){1f-1k.3r(a*(z-n)+n,8)/1E6+f}}1f 1b(a){1f B.11x(c,d,a)}}1b gD(a,b){B.5T(a,B.14C,B.3cb)&&(a=0);b>a+1k.PI?a+=B.14C:b<a-1k.PI&&(a-=B.14C);1f a}1b 5FJ(a,b,c,d,e,f,h){1d l=a.3w,g=k.1y(l.1K,4z5),n=l.8q,z=gD(l.8e,d),w=gD(l.12C,f),x=oT(l,c,g.z,c.z,h);1f 1b(a){a=a.6q/b;l.1dG({11f:{8e:B.11x(z,d,a),8q:B.11x(n,e,a),12C:B.11x(w,f,a)}});C.11x(g,c,a,l.1K);l.1K.z=x(a)}}1b 6BF(a,b){a.3N<b.3N?a.3N+=B.14C:b.3N+=B.14C}1b 6BE(a,b){1d c=a.3N-b.3N;c<-B.PI?a.3N+=B.14C:c>B.PI&&(b.3N+=B.14C)}1b 5FK(a,b,c,d,e,f,h,l,p,n,z,w,x,m,t,r,G,q,u){1d D=a.3w,oa=a.11s.3c,aa=T.1y(D.19I,5FO),v=D.8q,ka=gD(D.8e,d),y=gD(D.12C,f),A=oa.10Z(c,5FN);aa.3N=B.23Z(aa.3N);A.3N=B.23Z(A.3N);oa=!1;if(g(l)){l=B.23Z(l);1d C=1k.1V(aa.3N,A.3N);l=l>=1k.2o(aa.3N,A.3N)&&l<=C;if(g(p)){C=1k.abs(aa.3N-A.3N);1d R=B.14C-C;(l?C:R)<(l?R:C)*p&&!l&&(oa=!0)}1s l||(oa=!0)}oa?6BF(aa,A):6BE(aa,A);1d V=oT(D,c,aa.1D,A.1D,h),W=6BD(v,e,V,n);1f 1b(){1d c=aa.3N,e=A.3N,h=aa.4k,l=A.4k;1f 1b(p){1d n=p.6q/b,oa=x?D.19I.1D:V(n);if(G!==BC.6i&&g(u)){1d aa=q.1f7[u]+p.6q;if(aa>q.1f7[q.1f7.1h-1])1f;p=q.3x(aa);p=T.12y(p);p=k.15i(p.3N,p.4k,oa)}1s p=k.15i(B.11x(c,e,n),B.11x(h,l,n),oa);if(m){1d v=T.12y(p),Ub=a.10a.1sc(v);if(g(Ub)){if(oa<Ub||0<oa-Ub&&oa-Ub<t)v.1D=Ub+t,p=T.1g8(v)}1s 1f}v=z?D.8e:B.11x(ka,d,n);Ub=w?D.8q:W(n);n=B.11x(y,f,n);r&&(v=z?D.8e:d,n=f);G!==BC.6i&&g(u)?(aa+=.17I,aa>q.1f7[q.1f7.1h-1]?D.1dG({16h:p,11f:{8e:v,8q:Ub,12C:n}}):(aa=q.3x(aa),aa=T.12y(aa),aa=k.15i(aa.3N,aa.4k,oa),oa=1g k(aa.x-p.x,aa.y-p.y,aa.z-p.z),k.1T(oa,oa),aa=Da.50d(p,oa),D.1dG({16h:p,11f:{2G:oa,up:aa}}))):D.1dG({16h:p,11f:{8e:v,8q:Ub,12C:n}})}}()}1b 5FL(a,b,c,d,e,f,h){1d l=a.3w,g=k.1y(l.1K,4z5),n=gD(l.8e,d),z=oT(l,c,l.3j.2W-l.3j.3B,c.z,h);1f 1b(a){a=a.6q/b;l.1dG({11f:{8e:B.11x(n,d,a)}});C.11x(g,c,a,l.1K);1d e=z(a);a=l.3j;1d f=a.5C/a.2W;e=.5*(e-(a.2W-a.3B));a.2W+=e;a.3B-=e;a.5C=f*a.2W;a.7b=-a.5C}}1b pT(a,b){1f{1Jt:{},1Js:{},13k:0,1aH:a,1hm:b}}1b 4z3(a,b){1f 1b(){"1b"===2h b&&b();a.2zO=!0}}1b ab(a){if(!g(a))1t 1g r("4r is 1X.");1a.2R=a;1a.1GK=A.1y(A.8K);1a.4z0=A.1y(A.8K);1a.1Ec=A.1y(A.8K);1a.2zL=A.1y(A.8K);1a.3pC=!1;1a.1K=1g k;1a.9M=1g k;1a.2my=1g k;1a.21E=1g T;1a.4z2=1a.34H=0;1a.2G=1g k;1a.1b7=1g k;1a.34G=1g k;1a.up=1g k;1a.3dU=1g k;1a.34F=1g k;1a.2W=1g k;1a.1eI=1g k;1a.34E=1g k;1a.3j=1g Qc;1a.3j.13n=a.8j/a.7p;1a.3j.16X=B.8I(60);1a.2LS=1E5;1a.2zM=1k.PI/60;1a.34C=1k.PI/2HR;1a.4yL=1E5;1a.1zg=1p 0;1a.54M=1.5;1a.5Fr=1g sa;1a.5Fq=1g sa;1a.1lt=1g sa;1a.2zN=1a.2oj=1a.1ML=1p 0;1a.5FC=.5;1a.5FB=.17I;1a.21D=1g A;1a.4yZ=1g A;54N(1a);1a.8C=O.6G;1a.3Up=!0;1a.16y=a=a.11s;1a.28a=a.12z(1g T(1k.PI,B.10k));1a.5Fo=1p 0;1a.3pO=!1;4yI(1a,ab.3Um,1a.1K,!0);a=k.7t(1a.1K);a+=a*ab.4yU;k.1T(1a.1K,1a.1K);k.4g(1a.1K,a,1a.1K);1a.54O=1a.1Mx=!1;1a.4yv=1g A;1a.9M0=1g k;1a.9LZ=1g k;1a.9LY=1g k;1a.9LX=1g k;1a.34z=!1;1a.4yt=1g k;1a.3Uf=1a.34A=!1;1a.3Ue=1;1a.3Ui=!1;1a.3Uh=10;1a.3Un=1p 0;1a.4yW=1a.3Uo=0;1a.3on=22;1a.3pe=!0}1b 54N(a){A.32Z(a.9M,a.1b7,a.3dU,a.1eI,a.21D);A.9b(a.21D,a.2zL,a.21D);a.1Mx&&A.9b(a.21D,a.4yv,a.21D);A.1yQ(a.21D,a.4yZ)}1b lh(a){1d b=a.8C,c=!1,d=0;b===O.10j&&(d=a.3j.2W-a.3j.3B,c=d!==a.21E.1D);1d e=a.9M;(c=!k.2L(e,a.1K)||c)&&(e=k.1y(a.1K,a.9M));1d f=a.1b7,h=!k.2L(f,a.2G);h&&(k.1T(a.2G,a.2G),f=k.1y(a.2G,a.1b7));1d l=a.3dU,g=!k.2L(l,a.up);g&&(k.1T(a.up,a.up),l=k.1y(a.up,a.3dU));1d n=a.1eI,z=!k.2L(n,a.2W);z&&(k.1T(a.2W,a.2W),n=k.1y(a.2W,a.1eI));1d w=!1;a.1Mx!=a.54O&&(a.54O=a.1Mx,w=!0);1d x=a.3pC||a.3Up;a.3pC=!1;if(x){A.1yQ(a.1GK,a.4z0);if(a.8C===O.15j||a.8C===O.10j)if(A.2L(A.8K,a.1GK))A.1y(ab.20I,a.1Ec);1s if(a.8C===O.15j)Da.3b0(a.16y,a.1GK,a.1Ec);1s{1d m=a.16y,t=m.3c,r=A.1ed(a.1GK,3,5Fw),G=t.10Z(r,5Fy),q=m.12z(G,5Fx),u=5Fv;u.x=q.z;u.y=q.x;u.z=q.y;u.w=1;1d v=E.1y(E.1dl,5Fs),y=E.add(A.1ed(a.1GK,0,sJ),r,sJ);t.10Z(y,G);m.12z(G,q);y=5Fu;y.x=q.z;y.y=q.x;y.z=q.y;y.w=0;k.3V(y,u,y);y.x=0;1d lb=5Ft;k.17j(y)>B.1io?k.4B(v,y,lb):(r=E.add(A.1ed(a.1GK,1,sJ),r,sJ),t.10Z(r,G),m.12z(G,q),lb.x=q.z,lb.y=q.x,lb.z=q.y,lb.w=0,k.3V(lb,u,lb),lb.x=0,k.17j(lb)<B.1io&&(E.1y(E.1f5,y),E.1y(E.16a,lb)));k.4B(lb,v,y);k.1T(y,y);k.4B(v,y,lb);k.1T(lb,lb);A.1vr(a.1Ec,0,y,a.1Ec);A.1vr(a.1Ec,1,lb,a.1Ec);A.1vr(a.1Ec,2,v,a.1Ec);A.1vr(a.1Ec,3,u,a.1Ec)}1s A.1y(a.1GK,a.1Ec);A.1yQ(a.1Ec,a.2zL);a.3Up=!1}m=a.1Ec;if(c||x)a.2my=A.8P(m,e,a.2my),b===O.6G||b===O.1at?a.21E=a.16y.3c.10Z(a.2my,a.21E):(e=qT,e.x=a.2my.y,e.y=a.2my.z,e.z=a.2my.x,b===O.10j&&(e.z=d),a.16y.1cZ(e,a.21E));if(h||g||z)b=k.2A(f,k.4B(l,n,qT)),1k.abs(1-b)>B.1BO&&(b=1/k.17j(l),b*=k.2A(l,f),b=k.4g(f,b,qT),l=k.1T(k.3V(l,b,a.3dU),a.3dU),k.1y(l,a.up),n=k.4B(f,l,a.1eI),k.1y(n,a.2W));if(h||x)a.34G=A.1gE(m,f,a.34G),k.1T(a.34G,a.34G);if(g||x)a.34F=A.1gE(m,l,a.34F),k.1T(a.34F,a.34F);if(z||x)a.34E=A.1gE(m,n,a.34E),k.1T(a.34E,a.34E);(c||h||g||z||x||w)&&54N(a)}1b 4yY(a,b){a=B.5T(1k.abs(a.z),1,B.2zm)?1k.12B(b.y,b.x)-B.10k:1k.12B(a.y,a.x)-B.10k;1f B.14C-B.23Z(a)}1b 4yX(a,b,c){1d d=0;B.5T(1k.abs(a.z),1,B.2zm)||(d=1k.12B(-c.z,b.z),d=B.23Z(d+B.14C));1f d}1b 4yF(a,b,c,d){1d e=k.1y(c.2G,5Fg);c=k.1y(c.up,5Ff);a.2R.3z===O.6G&&(a=Da.18N(b,a.16y.3c,tJ),a=A.1yQ(a,uJ),A.1gE(a,e,e),A.1gE(a,c,c));a=k.4B(e,c,5Fe);d.8e=4yY(e,c);d.8q=B.10k-B.1UX(e.z);d.12C=4yX(e,c,a);1f d}1b 4yQ(a,b){1d c=a.28a.x,d=a.28a.y;if(a.2R.27c===Ws.2Kr){1d e=c;a=-e}1s e=b.x-2*c,a=b.x+2*c;b.x>c&&(b.x=e);b.x<-c&&(b.x=a);b.y>d&&(b.y=d);b.y<-d&&(b.y=-d)}1b 4yO(a,b){1d c=k.1T(a.1K,5F1);if(g(a.1zg)){1d d=k.5T(c,a.1zg,B.1BO),e=k.5T(c,k.11k(a.1zg,4yN),B.1BO);d||e?(d&&0>b||e&&0<b)&&a.17b(a.2W,b):(d=k.1T(a.1zg,5F0),e=k.2A(c,d),e=B.1UX(e),0<b&&b>e&&(b=e-B.2Q0),e=k.2A(c,k.11k(d,4yN)),e=B.1UX(e),0>b&&-b>e&&(b=-e+B.2Q0),c=k.4B(d,c,5EZ),d=k.2A(c,a.2W),0>d&&0<b||(c=0>d?k.11k(c,c):c,a.17b(c,b)))}1s a.17b(a.2W,b)}1b 4yM(a,b){g(a.1zg)?a.17b(a.1zg,b):a.17b(a.up,b)}1b vJ(a,b){1d c=a.3j;if(!(c 2m Ee&&g(c.3B)&&g(c.2W)&&g(c.7b)&&g(c.5C)))1t 1g r("9B 3w 3j is 1SV to be 4rb 1j 2D 3w 3Om.");b*=.5;if(1k.abs(c.5C)+1k.abs(c.7b)>1k.abs(c.3B)+1k.abs(c.2W)){1d d=c.5C-b;b=c.7b+b;1d e=a.28a.y;a.2R.27c===Ws.2Kr&&(e*=a.54M);b>e&&(b=e,d=-e);d<=b&&(d=1,b=-1);a=c.2W/c.5C;c.5C=d;c.7b=b;c.2W=c.5C*a;c.3B=-c.2W}1s d=c.2W-b,b=c.3B+b,e=a.28a.x,a.2R.27c===Ws.2Kr&&(e*=a.54M),d>e&&(d=e,b=-e),d<=b&&(d=1,b=-1),a=c.5C/c.2W,c.2W=d,c.3B=b,c.5C=c.2W*a,c.7b=-c.5C}1b 4yA(a,b,c){b=B.2Y(b,-B.10k,B.10k);a=B.23Z(a)-B.10k;b=ca.1gG(k.1f5,-b,5EV);a=ca.1gG(k.16a,-a,5EU);a=ca.9b(a,b,a);a=J.1fE(a,5ET);b=k.1y(k.1dl,5EW);J.10r(a,b,b);k.11k(b,b);k.4g(b,c,b);1f b}1b ri(a,b,c,d){1f 1k.abs(k.2A(b,c))/d-k.2A(a,c)}1b 4yI(a,b,c,d){1d e=a.16y.3c,f=d?a:5EK,h=b.4P,l=b.4C;d=b.5a;1d p=b.4o;p>d&&(d+=B.14C);1d n=.5*(p+d);if(l<-B.10k+B.15y&&h>B.10k-B.15y)b=0;1s{b=hD;b.3N=n;b.4k=h;b.1D=0;1d z=5ES;z.3N=n;z.4k=l;z.1D=0;1d w=4yJ;g(w)&&w.3c===e||(4yJ=w=1g ml(1p 0,1p 0,e));w.1Nh(b,z);b=w.3cF(.5,hD).4k}z=hD;z.3N=n;z.4k=b;z.1D=0;b=e.13B(z,5EL);1d x=hD;x.3N=d;x.4k=h;z=e.13B(x,5ER);x.3N=p;w=e.13B(x,5EP);x.3N=n;1d m=e.13B(x,5EN);x.4k=l;1d t=e.13B(x,5EM);x.3N=d;1d r=e.13B(x,5EO);x.3N=p;1d G=e.13B(x,5EQ);k.3V(w,b,w);k.3V(r,b,r);k.3V(z,b,z);k.3V(G,b,G);k.3V(m,b,m);k.3V(t,b,t);n=e.17N(b,f.2G);k.11k(n,n);x=k.4B(n,k.16a,f.2W);k.1T(x,x);f=k.4B(x,n,f.up);if(a.3j 2m Jb)e=1k.1V(k.3s(z,w),k.3s(r,G)),d=1k.1V(k.3s(z,r),k.3s(w,G)),a=a.3j.1d3.2W/a.3j.1d3.5C,h=d*a,e>h?d=e/a:e=h,z=1k.1V(e,d);1s{1d q=1k.10n(.5*a.3j.1MK);a=a.3j.13n*q;z=1k.1V(ri(n,f,w,q),ri(n,f,r,q),ri(n,f,z,q),ri(n,f,G,q),ri(n,f,m,q),ri(n,f,t,q),ri(n,x,w,a),ri(n,x,r,a),ri(n,x,z,a),ri(n,x,G,a),ri(n,x,m,a),ri(n,x,t,a));0>l&&0<h&&(h=hD,h.3N=p,h.4k=0,h.1D=0,l=e.13B(h,rT),k.3V(l,b,l),z=1k.1V(z,ri(n,f,l,q),ri(n,x,l,a)),h.3N=d,l=e.13B(h,rT),k.3V(l,b,l),z=1k.1V(z,ri(n,f,l,q),ri(n,x,l,a)))}1f k.add(b,k.4g(n,-z,rT),c)}1b 5Er(a,b,c,d,e,f){1d h=k.1y(b);c.y>d?h.y-=c.y-d:c.y<-d&&(h.y+=-d-c.y);c.z>e?h.z-=c.z-e:c.z<-e&&(h.z+=-e-c.z);1f{1lZ:jh.304,1Jt:{6q:0},1Js:{6q:1},13k:f,2H:1b(c){c=k.11x(b,h,c.6q,1g k);a.4yS(c,a.1K)}}}1b 4yB(a,b,c){g(c)||(c=Bp.1y(ab.5FF));1d d=a.2R.1Do.2LU,e=a.2R.1Do.4cK,f=c.11D;if(!g(f)||0===f){b=b.3L;if(0===b)c.11D=100;1s if(a.3j 2m Jb||a.8C===O.10j){f=c;a=a.3j;g(a.1d3)&&(a=a.1d3);a=a.2W/a.5C;1d h=b*a;b>h?a=b/a:(a=b,b=h);f.11D=1.5*1k.1V(b,a)}1s f=a.3j,a=1k.10n(.5*f.1MK),c.11D=1k.1V(b/(f.13n*a),b/a);c.11D=B.2Y(c.11D,d,e)}1f c}1b wJ(a,b,c,d,e,f){sT.x=a;sT.y=b;a=d.1vv(sT,e,5Eg);if(g(a))1f Xs[c]=e.10Z(a,Xs[c]),1;Xs[c]=e.10Z(f[c],Xs[c]);1f 0}1b si(a,b){g(b)&&(a+="+"+b);1f a}1b 54I(a,b,c){1d d=si(Wd.3Ud,b),e=a.13A,f=a.2lA,h=a.3U9,l=a.3U8,p=a.3U7;e[d]=!0;f[d]=!1;h[d]=1g C;1d n=a.2oh[d];g(n)||(n=a.2oh[d]={});n.3s={18t:1g C,11R:1g C};n.1zY={18t:1g C,11R:1g C};n.54L=0;a.1wI.1a1(1b(b){a.2zJ++;f[d]=!0;l[d]=1g 16V;C.11x(b.4Us,b.4Ur,.5,h[d])},Va.4Uv,b);a.1wI.1a1(1b(){a.2zJ=1k.1V(a.2zJ-1,0);f[d]=!1;p[d]=1g 16V},Va.4Uu,b);a.1wI.1a1(1b(a){if(f[d]){if(e[d]){1d b=n;C.1y(a.3s.18t,b.3s.18t);C.1y(a.3s.11R,b.3s.11R);C.1y(a.1zY.18t,b.1zY.18t);C.1y(a.1zY.11R,b.1zY.11R);e[d]=!1;n.54L=n.1zY.18t.x}1s C.1y(a.3s.11R,n.3s.11R),C.1y(a.1zY.11R,n.1zY.11R);a=n.1zY.11R.x;b=n.54L;1j(1d h=2*1k.PI;a>=b+1k.PI;)a-=h;1j(;a<b-1k.PI;)a+=h;n.1zY.11R.x=-a*c.18L/12;n.1zY.18t.x=-b*c.18L/12}},Va.4Ut,b)}1b 54J(a,b){1d c=si(Wd.1TL,b),d=a.13A;d[c]=!0;1d e=a.2oh[c];g(e)||(e=a.2oh[c]={});e.18t=1g C;e.11R=1g C;a.1wI.1a1(1b(a){a=15*B.8I(a);d[c]?(C.1y(C.6h,e.18t),e.11R.x=0,e.11R.y=a,d[c]=!1):e.11R.y+=a},Va.1TL,b)}1b ez(a,b,c){1d d=si(c,b),e=a.2lA,f=a.3U9,h=a.3U8,l=a.3U7;e[d]=!1;f[d]=1g C;1d p=a.2fO[d];g(p)||(p=a.2fO[d]={18t:1g C,11R:1g C,1eu:!1});if(c===Wd.2zK){1d n=Va.25P;1d k=Va.1lX}1s c===Wd.34y?(n=Va.49p,k=Va.4Ux):c===Wd.3py&&(n=Va.49o,k=Va.4Uw);a.1wI.1a1(1b(b){a.2zJ++;p.1eu=!1;e[d]=!0;h[d]=1g 16V;C.1y(b.1K,f[d])},n,b);a.1wI.1a1(1b(){a.2zJ=1k.1V(a.2zJ-1,0);e[d]=!1;l[d]=1g 16V},k,b)}1b 54H(a,b){1d c=a.13A,d=a.2oh,e=a.2fO,f=a.2lA,h;1j(h in Wd)if(Wd.3p(h)){1d l=Wd[h];g(l)&&(l=si(l,b),c[l]=!0,g(a.2fO[l])||(a.2fO[l]={18t:1g C,11R:1g C,1eu:!1}),g(a.2oh[l])||(a.2oh[l]={18t:1g C,11R:1g C}))}a.1wI.1a1(1b(h){1j(1d l in Wd)if(Wd.3p(l)){1d p=Wd[l];if(g(p)&&(p=si(p,b),f[p]))if(c[p]){1d k=d[p],x=e[p];C.1y(k.18t,x.18t);C.1y(k.11R,x.11R);e[p].1eu=!0;k=h;x=d[p];C.1y(k.18t,x.18t);C.1y(k.11R,x.11R);c[p]=!1}1s C.1y(h.11R,d[p].11R)}C.1y(h.11R,a.3Ua)},Va.1kj,b)}1b 54K(a){6U(a){1S 87:1f"3mY";1S 83:1f"3mX";1S 68:1f"3mV";1S 65:1f"3mW"}}1b 6BC(a){3n.7K("2dt",1b(b){b=54K(b.2HH);"7w"!==2h b&&(a.3mZ[b]=!0)},!1)}1b 6BB(a){3n.7K("3iR",1b(b){b=54K(b.2HH);"7w"!==2h b&&(a.3mZ[b]=!1)},!1)}1b Ik(a){if(!g(a))1t 1g r("3M is 1X.");1a.1wI=1g Ne(a,!0);1a.13A={};1a.2oh={};1a.2fO={};1a.2lA={};1a.3U9={};1a.3U8={};1a.3U7={};1a.2zJ=0;1a.3Ua=1g C;54J(1a,1p 0);54I(1a,1p 0,a);ez(1a,1p 0,Wd.2zK);ez(1a,1p 0,Wd.34y);ez(1a,1p 0,Wd.3py);54H(1a,1p 0);1j(1d b in mk)if(mk.3p(b)){1d c=mk[b];g(c)&&(54J(1a,c),54I(1a,c,a),ez(1a,c,Wd.2zK),ez(1a,c,Wd.34y),ez(1a,c,Wd.3py),54H(1a,c))}1a.3mZ={9LW:!1,3mY:!1,3mX:!1,5Fa:!1,5F9:!1,3mW:!1,3mV:!1};6BC(1a);6BB(1a)}1b xq(a,b,c,d,e){1a.1K0=!1}1b on(a){v.1N.2c("3v",a);v.1N.2b("3v.6t",a.6t);1a.6t=a.6t;1a.13l=a.13l;1a.3w=a.3w;1a.1dj=a.1dj;1a.3o=!1}1b 4j5(){}1b fz(a,b){1a.5DZ=wc(a,!0);1a.6BA=a.6By;1a.3pw=1p 0;a=[];1d c=1a.6BA;if(g(c)){1j(1d d=c.1h,e=0;e<d;++e){1d f=c[e],h=10J(f[1]);a.1q(1g 6Bz(1g Al(10J(f[0]),b),1g Al(h,b)))}1a.3pw=a}}1b 6Bz(a,b){1a.3U4=a;1a.6d=b}1b gz(a){1a.14N={};1a.4y=!1;1a.4ym=1a.4yn=1a.3TS=1a.3TU=1a.3TV=1a.2zF=1a.1jT=1a.1qO=1a.1f9=1a.1iw=1a.3TW=1a.3TX=1a.2zG=1a.17y=1a.1gH=1a.1hV=1a.3TY=1a.1Qe=1a.1vi=1a.3TZ=1a.3U0=1a.1Bp=1a.3U1=1a.3U2=1a.3U3=1a.2zH=1a.2oc=1a.1Qf=1a.7a=1a.10T=1p 0;1a.4yo=1a.3TQ=1a.3TR=1a.3TT=!1;1d b=1a;1a.7S=("4n"===2h a||a 2m na?na.14m(a).1vs(a):Z.5h(a)).4b(1b(a){1d c=m(wc(a,!0),b.14N);b.14N=c;b.2p=c.2p;b.1A=c.1A;b.1i7=c.1i7;b.2od=c.2od;b.2ob=c.2ob;b.2oa=c.2oa;b.2o9=c.2o9;b.2o8=c.2o8;b.21B=c.21B;b.9O=c.9O;b.26s=c.26s;b.1a4=c.1a4;b.1pJ=c.1pJ;b.2o7=c.2o7;b.13h=c.13h;b.15M=c.15M;b.4S=c.4S;b.1xk=c.1xk;b.2o6=c.2o6;b.2o5=c.2o5;b.4d=c.4d;b.11p=c.11p;b.15P=c.15P;b.16l=c.16l;b.1Lv=c.1Lv;b.2o4=c.2o4;a={};if(g(c.4yp)){1d e=c.2N;c=m(c.4yp,m.4Z);1j(1d f in c)c.3p(f)&&(a[f]=1g Al(c[f],e))}b.3TU=a;b.4y=!0;1f b})}1b Ve(a,b){a=m(a.14N,m.4Z).2N;if(g(b))1f"11T"===2h b||"2b"===2h b?1g Al(10J(b)):"4n"===2h b?1g Al(b,a):g(b.6By)?1g fz(b,a):b}1b We(a){if(g(a))1f g(a.6d)?a.6d:g(a.4yq)?wc(a.4yq,!0):a}1b iD(a){1b b(b){1d c=b.1ny;f.1mo=b.1jS.1mo;if(g(c)){f.14Q=c.3Aw;f.16J=c.3Ax;if(34v===c.1jS.1mo||3cA===c.1jS.1mo)f.6C=1g Le({3c:a.3c});1s if(1zf===b.1ny.1jS.1mo)f.6C=1g Cm({3c:a.3c});1s if(26V===b.1ny.1jS.1mo)f.6C=1g Cm({3c:a.3c,1ny:b.1ny}),f.6C.24k=f.24k;1s{h=Lc.1ir(h,f,f.14P,"2wE 54G 1bY 4d9 "+b.1ny.1jS.1mo+" is 2S 11J.",1p 0,1p 0,1p 0,d);1f}f.4yl?f.17G=20:f.17G=b.1ny.3Az.1h-1;if(g(b.1oV)){if(g(b.1oV.1jS)&&g(b.1oV.1jS.1mo))if(34v===b.1oV.1jS.1mo||3cA===b.1oV.1jS.1mo){1d e=1g Uc,l=b.1oV;c=e.1cZ(1g k(1k.1V(l.3dT,-f.6C.3c.17i*1k.PI),1k.1V(l.3dS,-f.6C.3c.17i*1k.PI),0));e=e.1cZ(1g k(1k.2o(l.3dR,f.6C.3c.17i*1k.PI),1k.2o(l.3dQ,f.6C.3c.17i*1k.PI),0));f.7T=1g Q(c.3N,c.4k,e.3N,e.4k)}1s if(1zf===b.1oV.1jS.1mo||26V===b.1oV.1jS.1mo)f.7T=Q.8g(b.1oV.3dT,b.1oV.3dS,b.1oV.3dR,b.1oV.3dQ);1s{h=Lc.1ir(h,f,f.14P,"1oV.1jS 4d9 "+b.1oV.1jS.1mo+" is 2S 11J.",1p 0,1p 0,1p 0,d);1f}}1s f.7T=f.6C.3g;g(f.1nm)||(f.1nm=1g fD({3Bu:4yk(f,0,0,f.17G).2I,3dP:[1g C(0,0),1g C(200,20),1g C(20,200),1g C(80,110),1g C(160,130)],54F:!0}));f.21A=!0}1s f.21A=!1;g(b.2Sk)&&0<b.2Sk.1h&&(f.1dh=1g Zb(b.2Sk));f.4y=!0;f.7S.5h(!0);Lc.1Vf(h)}1b c(a){a="An 7A 1Jq 14p 1Ud "+f.12o.2I+".";h=Lc.1ir(h,f,f.14P,a,1p 0,1p 0,1p 0,d);f.7S.7N(1g qa(a))}1b d(){1d a=f.12o.16M({1kx:{f:"15l"}}).2Rs();Z(a,b,c)}a=m(a,{});if(!g(a.2I))1t 1g r("3v.2I is 1X.");1a.1os=a.2I;1d e=na.14m(a.2I);e.1F1();g(a.1pI)&&e.1qN({1pI:a.1pI});1a.12o=e;1a.1nm=a.19b;1a.14Q=m(a.16K,256);1a.16J=m(a.17g,256);1a.17G=a.16j;1a.6C=m(a.8c,1g Cm({3c:a.3c}));1a.21A=m(a.6Bx,!0);1a.7T=m(a.3g,1a.6C.3g);1a.8U=a.9Q;1a.4yl=a.3TP;1a.24k=m(a.51b,0);e=a.9L;"4n"===2h e&&(e=1g Zb(e));1a.1dh=e;1a.1Bm=m(a.1Bm,!0);1a.14P=1g sa;1a.4y=!1;1a.7S=Z.12L();1d f=1a,h;e=a.2I;f.13Y=a.2I;(1g Dh({2i:e})).4b(1b(a){a.1PU(f.13Y)?f.12Y=a:a.1Uc(f.13Y).4b(1b(){f.12Y=a})});f.17F={1dF:!1,9P:1b(){f.12Y.9P(f.13Y)},1au:[]};1a.21A?d():(1a.4y=!0,1a.7S.5h(!0))}1b 4yk(a,b,c,d,e){a.21A?(a.3TP&&(d-=8A(a.3TP)),a=a.12o.16M({2I:"11H/"+d+"/"+c+"/"+b,7M:e})):(b=a.6C.1JE(b,c,d),b={1bD:b.4o+","+b.4C+","+b.5a+","+b.4P,4V:a.14Q+","+a.16J,8V:"12H",18b:!0,f:"4d"},a.1mo&&(b.54E=b.54D=a.1mo),a.9Q&&(b.9Q="2p:"+a.9Q),a.54C&&(b.54C=a.54C),a.6q&&(b.6q=a.6q),a=a.12o.16M({2I:"1Vc",7M:e,1kx:b}));1f a||1F}1b 5DU(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d}1b xJ(a,b,c,d){a=m(a,1);v.1N.2b.1bP("3L",a,0);1a.1fx=m(a,1);1a.3TN=m(b,0);1a.1v0=m(c,0);1a.1tt=m(d,B.14C)}1b jD(a){1a.10T=!1;1a.2zB=1a.2zC=1a.2zD=1;1a.2zA=0;1a.1O=a}1b Jk(){1a.1ea=1a.1JJ=1a.1GI=1a.2fL=1a.284=1a.285=1p 0;1a.1tK=1g Sf;1a.2R=1p 0;1a.10T=!1;1a.1hq=!0;1a.3TL=50;1a.3TK=20;1a.5DP=30;1a.3TJ=2.8;1a.3TI=10;1a.1xc=1g C(512,512);1d a=[];a.1q(1g C(0,0));a.1q(1g C(-.9LV,-.9LU));a.1q(1g C(.9LT,.9LS));a.1q(1g C(.9LR,.9LQ));a.1q(1g C(.9LP,-.9LO));a.1q(1g C(-.9LN,-.9LM));a.1q(1g C(.9LL,.9LJ));a.1q(1g C(.9LI,-.9LH));a.1q(1g C(-.9LG,.9LF));a.1q(1g C(-.9LE,.9LD));a.1q(1g C(.9LC,-.9LB));a.1q(1g C(-.9LA,-.9Lz));a.1q(1g C(.9Ly,.9Lx));a.1q(1g C(-.9Lw,.9Lv));a.1q(1g C(-.9Lu,-.9Lt));a.1q(1g C(-.9Ls,-.9Lr));a.1q(1g C(.9Lq,-.9Lp));a.1q(1g C(-.9Lo,.9Ln));a.1q(1g C(-.9Lm,-.9Ll));a.1q(1g C(.9Lk,-.9Lj));a.1q(1g C(.9Li,-.9Lh));a.1q(1g C(.9Lg,.9Lf));a.1q(1g C(.9Le,-.9Ld));a.1q(1g C(-.9Lc,-.9Lb));a.1q(1g C(.9La,.9L9));a.1q(1g C(.9L8,.9L7));a.1q(1g C(.9L6,-.9L5));a.1q(1g C(-.9L4,-.9L3));a.1q(1g C(-.9L2,.9L1));a.1q(1g C(.9L0,.9KZ));a.1q(1g C(-.9KY,-.9KX));a.1q(1g C(.9KW,.9KV));1a.6Bv=a;1a.4yh=[];1a.6Bw=16;1j(a=0;a<1a.6Bw;a++)1a.4yh.1q(1a.6Bv[a])}1b Kk(){1a.1E2=1a.1Ea=1a.21x=1a.3TC=1a.3TD=1a.283=1a.1Qd=1a.2R=1a.1d0=1p 0;1a.2o3=1g Sf;1a.1tK=1g Sf;1a.21y=1g C;1a.1pH=3;1a.3TH=.1;1a.3TG=.26;1a.3TF=1.95;1a.3TE=1E3;1a.27s=1p 0;1a.10T=!1;1a.1hq=!0;1a.4j=1p 0}1b Oh(){1a.1pG=1a.4yg=1a.1d0=1p 0;1a.1tK=1g Sf;1a.2R=1p 0;1a.8C=yJ.1TB;1a.1Qc=1g E(0,0,0,1);1a.34t=1g E;1a.1UW=1g k;1a.1JI=1p 0;1a.2LN=1g k;1a.1UV=1g k;1a.1UU=1g k;1a.1MI=1a.1x6=1a.1gc=1a.1fx=1E3;1a.7a=1g y(1,1,1,1);1a.10T=!1;1a.2o2=1a.34u=1p 0;1a.3TB=!1;1a.1hq=!0}1b Tj(){1a.1ea=1p 0;1a.1UT=[];1a.1tK=1g Sf;1a.10T=!1;1a.1d0=1p 0;1a.2LL=0;1a.4yd=1p 0;1a.4ye=1g A;1a.4yb=1g A;1a.34s=0;1a.2LM=1g C;1a.3TA=1g C;1a.4ya=[];1a.5DF=[]}1b If(a){1a.21w=1a.1pF=1a.1d0=1p 0;1a.1tK=1g Sf;1a.1PJ=1a.1va=1p 0;1a.1O=a;1a.2p=!1;1a.1va=1g Nh;1a.1PJ=1g jD(a);1a.2mP=1g Jk;1a.1SW=1g Kk;1a.20w=1g Oh;1a.27Y=1g Tj;1a.1va.1fq=1a;1a.1PJ.1fq=1a;1a.20w.1fq=1a;1a.1SW.1fq=1a;1a.1p8=1;1a.5Du=11.2;1a.34r=!1;1a.4y9=1a.3Tz=1p 0}1b kD(a,b){1d c=b.16u,d=b.11s,e=d.3c,f=b.3w.3pM(a);1d h=b.3z===O.6G?e.10Z(f):d.1cZ(f);1f g(c)?c.9c.4b(1b(){if(!g(c.1b9)||b.3z===O.10j)1f h;1d d=[Q.2V(a),Q.2fk(a),Q.1tI(a),Q.1tH(a),Q.21k(a)];1f kD.5Dl(c,d).4b(1b(a){a=a.2lY(1b(a,b){1f 1k.1V(b.1D,a)},-3a.6w);h.1D+=a;1f h})}):Z.5h(h)}1b zJ(a){1a.2o0=m(a,5Dk)}1b ti(a){if(!g(a))1t 1g r("3v is 1X.");if(!Z.6vL(a)&&!g(a.2I))1t 1g r("3v is 1X.");1a.14P=1g sa;1a.4xZ=1a.4y0=1a.7S=1a.4y1=1a.1dh=1a.1nm=1a.7T=1a.6C=1a.1jK=1a.17G=1a.16J=1a.14Q=1a.2LF=1a.4y3=1a.12o=1p 0;1a.1Bm=!0;1a.5Dd(a)}1b 5Da(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d}1b 5Db(a,b,c,d,e){AJ=BJ=!1;1d f=a.12o,h=f.1oO(!0),l=a.4y0,p={};h=h.141(4y7);g(h)&&h.12I(1b(e){e=e.11c(1,e.1h-1);g(l[e])&&(p[e]=l[e](a,b,c,d))});1f f.16M({7M:e,1PR:p})}1b 5D9(a,b,c,d,e,f,h){tT=uT=AJ=BJ=!1;1d l=a.2LF,p=l.1oO(!0),n=a.4xZ,k={};p=p.141(4y7);g(p)&&p.12I(1b(l){l=l.11c(1,l.1h-1);g(n[l])&&(k[l]=n[l](a,b,c,d,e,f,h))});1f l.16M({1PR:k})}1b hz(a,b,c){a&&a.34p&&a.34p.3p(b)&&(a=a.34p[b],"4n"===2h a&&(a=a.1h,1<a&&(c=c.1h>=a?c:2K(a-c.5s().1h+1).14G("0")+c)));1f c}1b CJ(a,b,c,d){BJ||(a.8c.1d1(b,c,d,Lk),Lk.4o=B.10Q(Lk.4o),Lk.4C=B.10Q(Lk.4C),Lk.5a=B.10Q(Lk.5a),Lk.4P=B.10Q(Lk.4P),BJ=!0)}1b DJ(a,b,c,d){AJ||(a.8c.1JE(b,c,d,lD),AJ=!0)}1b EJ(a,b,c,d,e,f,h){uT||(vT(a,b,c,d,e,f),e=iz,b=a.8c.1JE(b,c,d,5D8),jz.x=a.16K*(e.x-b.4o)/b.1G|0,jz.y=a.17g*(b.4P-e.y)/b.1D|0,uT=!0)}1b vT(a,b,c,d,e,f,h){tT||(a.8c.18T 2m Td?(iz.x=B.10Q(e),iz.y=B.10Q(f)):(b=5D7,b.3N=e,b.4k=f,a.8c.18T.12z(b,iz)),tT=!0)}1b FJ(a){a=m(a,{});1d b=m(a.2I,"1bU://a.11H.33h.1m9/");b=gb(b);b+="{z}/{x}/{y}."+m(a.2eT,"12H");b=na.14m(b);1d c=1g Le({3c:a.3c}),d=m(a.16i,0),e=a.16j,f=m(a.3g,c.3g),h=c.1mi(Q.1tI(f),d),l=c.1mi(Q.1tH(f),d);h=(1k.abs(l.x-h.x)+1)*(1k.abs(l.y-h.y)+1);if(4<h)1t 1g r("9B 3g and 16i 2MC 17m 2aN are "+h+" 17v at 1Z 13b 6b. 25O 217 10M 1v5 6L 2OA 17v at 1Z 13b 6b are 2S 11J.");a=m(a.9L,5D6);"4n"===2h a&&(a=1g Zb(a));1f 1g ti({2I:b,9L:a,8c:c,16K:256,17g:256,16i:d,16j:e,3g:f})}1b 4fy(a){1b b(b){1d c=/5D5/i,n=/15c/i,k=/32W/i,D=/2nZ/i,t,r=[];b=b.13P[0].13P;1j(1d G=0;G<b.1h;G++)if(c.6S(b.1jI(G).1yI))1d q=b.1jI(G);1s if(k.6S(b.1jI(G).1yI)){1d u=b.1jI(G);1j(1d v=b.1jI(G).13P,y=0;y<v.1h;y++)n.6S(v.1jI(y).1yI)&&r.1q(v.1jI(y))}1s D.6S(b.1jI(G).1yI)&&(t=b.1jI(G));if(g(u)&&g(t)){n=m(a.2eT,q.15o("6A"));c=m(a.16K,8A(q.15o("1G"),10));q=m(a.17g,8A(q.15o("1D"),10));k=m(a.16i,8A(r[0].15o("1HC"),10));r=m(a.16j,8A(r[r.1h-1].15o("1HC"),10));b=u.15o("27X");u=a.8c;if(!g(u))if("34n"===b||"1ii-34n"===b)u=1g gd({3c:a.3c});1s if("2zy"===b||"1ii-2zy"===b)u=1g Le({3c:a.3c});1s{t=p.2I+"4xY an 1Pt 27X 3Q, "+b+".";h=Lc.1ir(h,f,f.1cG,t,1p 0,1p 0,1p 0,d);h.2LG||e.7N(1g qa(t));1f}D=Q.1y(a.3g);g(D)||(m(a.5D4,!1)?(D=1g C(7L(t.15o("2LJ")),7L(t.15o("21v"))),t=1g C(7L(t.15o("2LH")),7L(t.15o("2LI")))):(D=1g C(7L(t.15o("21v")),7L(t.15o("2LJ"))),t=1g C(7L(t.15o("2LI")),7L(t.15o("2LH")))),u.18T 2m Td||"34n"===b||"2zy"===b?(D=T.8g(D.x,D.y),t=T.8g(t.x,t.y)):(b=u.18T,D=b.1cZ(D),t=b.1cZ(t)),D=1g Q(D.3N,D.4k,t.3N,t.4k));D.4o<u.3g.4o&&(D.4o=u.3g.4o);D.5a>u.3g.5a&&(D.5a=u.3g.5a);D.4C<u.3g.4C&&(D.4C=u.3g.4C);D.4P>u.3g.4P&&(D.4P=u.3g.4P);t=u.1mi(Q.1tI(D),k);b=u.1mi(Q.1tH(D),k);4<(1k.abs(b.x-t.x)+1)*(1k.abs(b.y-t.y)+1)&&(k=0);t=l.16M({2I:"{z}/{x}/{34m}."+n});e.5h({2I:t,8c:u,3g:D,16K:c,17g:q,16i:k,16j:r,19b:a.19b,9L:a.9L})}1s t="2mq to 1oZ 1SV 32W or 1bD 2w in "+p.2I+".",h=Lc.1ir(h,f,f.1cG,t,1p 0,1p 0,1p 0,d),h.2LG||e.7N(1g qa(t))}1b c(b){1d c=m(a.2eT,"12H");b=m(a.16K,256);1d d=m(a.17g,256),f=m(a.16i,0),h=a.16j,p=g(a.8c)?a.8c:1g Le({3c:a.3c}),n=m(a.3g,p.3g);c=l.16M({2I:"{z}/{x}/{34m}."+c});e.5h({2I:c,8c:p,3g:n,16K:b,17g:d,16i:f,16j:h,19b:a.19b,9L:a.9L})}1b d(){p.2zz().4b(b).10g(c)}a=m(a,{});if(!g(a.2I))1t 1g r("3v.2I is 1X.");1d e=Z.12L(),f=1g ti(e.10l),h,l,p;Z(a.2I).4b(1b(a){l=na.14m(a);l.1F1();p=l.16M({2I:"6Bu.1g3"});d()}).10g(1b(a){e.7N(a)});1f f}1b yq(a){a=m(a,m.4Z);if(!g(a.2I))1t 1g r("3v.2I is 1X.");1d b=Z.12L();ti.4G(1a,b.10l);1a.3Tw=1a.3Tt=1p 0;1a.14n=a;1a.34l=b;1a.3Tv=1p 0;1a.3Tx=1a.3Tx.7X(1a);1a.3Tu=1a.3Tu.7X(1a);1a.2fJ=1a.2fJ.7X(1a);1d c,d=1a;Z(a.2I).4b(1b(a){c=na.14m(a);c.1F1();d.3Tt=c;d.3Tw=c.16M({2I:"6Bu.1g3"});d.2fJ()}).10g(1b(a){b.7N(a)})}1b Mk(a){1b b(b){10G{1d c=4H.5N(b)}11B(D){c=4H.5N(b.3X(/([\\[\\{,])[\\n\\r ]*([A-Za-z0-9]+)[\\n\\r ]*:/g,\'$1"$2":\'))}1j(b=0;b<c.9Q.1h;b++)if(c.9Q[b].id===p.34i){1d e=c.9Q[b];1W}if(!g(e))1t c="38U 2S 1oZ 7r 10M 1yj (id) of "+p.34i+".",n=Lc.1ir(n,p,p.14P,c,1p 0,1p 0,1p 0,d),1g qa(c);if(!g(e.9G))1t c="38U 2S 1oZ a 9G in 1yj (id) "+p.34i+".",n=Lc.1ir(n,p,p.14P,c,1p 0,1p 0,1p 0,d),1g qa(c);p.1nw=e.9G;if(g(c.18T)&&"8z"===c.18T)p.6C=1g gd({27p:2,27o:2,3g:1g Q(-1k.PI,-1k.PI,1k.PI,1k.PI),3c:a.3c});1s{if(g(c.18T)&&"2zy"!==c.18T)1t c="1Mp 18T "+c.18T+".",n=Lc.1ir(n,p,p.14P,c,1p 0,1p 0,1p 0,d),1g qa(c);p.6C=1g Le({27p:2,27o:2,3c:a.3c})}p.4y=!0;p.7S.5h(!0);Lc.1Vf(n)}1b c(a){a="An 7A 1Jq 14p 1Ud "+l.2I+".";n=Lc.1ir(n,p,p.14P,a,1p 0,1p 0,1p 0,d);p.7S.7N(1g qa(a))}1b d(){1d a=l.34o();Z(a,b,c)}a=m(a,{});if(!g(a.2I))1t 1g r("3v.2I is 1X.");if(!g(a.1yj))1t 1g r("3v.1yj is 1X.");1d e=a.2I,f=m(a.9w,"/9KU"),h=na.14m(e).16M({2I:"/"===f[0]?f.11c(1):f});h.1F1();1a.12o=h;1a.10z=e;1a.34k=f;1a.1nm=a.19b;1a.34i=a.1yj;1a.34j="9KT";1a.1dh=1g Zb(\'<a 17S="10R://10y.1BJ.11Y/9KS/9KR/9KQ/9KP.1jH"><1kp 1bv="\'+Mk.3Ts+\'" 17s="9KO 25O"/></a>\');1a.3Bq=1.9;1a.1nw=1a.6C=1p 0;1a.16J=1a.14Q=256;1a.17G=a.16j;1a.14P=1g sa;1a.4y=!1;1a.7S=Z.12L();1d l=h.16M({2I:"16H",1kx:{7M:"9KN",9KM:"9KL",9KK:"t"}}),p=1a,n;d()}1b Ko(a){a=m(a,m.4Z);1d b=a.3B2;if(!g(b))1t 1g r("3v.3B2 is 1X.");1d c=na.14m(m(a.2I,"1bU://{s}.17v.3H.11Y/v4/")),d=Lo.4Vh(a.2EN);1a.9KJ=b;1a.53O=d;1a.33g=Zb.1y(Lo.4Vf(a.2EN));1d e=m(a.8V,"12H");/\\./.6S(e)||(e="."+e);1a.1JH=e;e=c.1oO();$ya.6S(e)||(e+="/");e+=b+"/{z}/{x}/{y}"+1a.1JH;c.2I=e;c.1qN({3zU:d});g(a.9L)?(b=a.9L,"4n"===2h b&&(b=1g Zb(b))):b=4xX;1a.12o=c;1a.14f=1g ti({2I:c,9L:b,3c:a.3c,16i:a.16i,16j:a.16j,3g:a.3g})}1b Yv(a){1b b(a){h.1iw=a;h.14Q=a.1G;h.16J=a.1D;h.4y=!0;h.7S.5h(!0);Lc.1Vf(h.14P)}1b c(a){1d b="21Z to 1e4 4d "+e.2I+".";l=Lc.1ir(l,h,h.14P,b,0,0,0,d,a);h.7S.7N(1g qa(b))}1b d(){Z(e.1jN(),b,c)}a=m(a,{});if(!g(a.2I))1t 1g r("3v.2I is 1X.");1d e=na.14m(a.2I),f=m(a.3g,Q.6w);1a.6C=1g gd({3g:f,27p:1,27o:1,3c:a.3c});1a.12o=e;1a.10q=1a.1iw=1p 0;1a.16J=1a.14Q=0;1a.14P=1g sa;1a.4y=!1;1a.7S=Z.12L();a=a.9L;"4n"===2h a&&(a=1g Zb(a));1a.1dh=a;1d h=1a,l;d()}1b GJ(a,b,c){if(!g(a))1t 1g r("1I is 1X.");1a.1I=a;if(!g(b))if("15l"===a)b="1aM/15l";1s if("1g3"===a)b="3l/1g3";1s if("1jH"===a)b="3l/1jH";1s if("3l"===a)b="3l/2Ji";1s 1t 1g r(\'8V is 1X 16r 1I is 2S "15l", "1g3", "1jH", or "3l".\');1a.8V=b;if(!g(c))if("15l"===a)c=6Bt;1s if("1g3"===a)c=6Bs;1s if("1jH"===a)c=54z;1s if("3l"===a)c=54z;1s 1t 1g r(\'1Jg is 1X 16r 1I is 2S "15l", "1g3", "1jH", or "3l".\');1a.1Jg=c}1b 6Bt(a){1d b=[];a=a.1jG;1j(1d c=0;c<a.1h;++c){1d d=a[c],e=1g Jo;e.2g=d;e.5U=d.5U;e.3Uy(d.5U);e.34w(d.5U);g(d.3y)&&"18H"===d.3y.1I&&(e.1K=T.8g(d.3y.9R[0],d.3y.9R[1]));b.1q(e)}1f b}1b 6Bs(a){1d b=a.1AZ;if("9KI"===b.16Z&&b.1fz===wT){b=[];a=a.1AZ.1Gs(wT,"19E");1j(1d c=0;c<a.1h;++c){1j(1d d=a[c],e={},f=d.1Gs(wT,"9KH"),h=0;h<f.1h;++h){1d l=f[h];if(l.9KG("2p9")){1d p=l.15o("2p9");l=l.8S.1b2();e[p]=l}}f=1g Jo;f.2g=d;f.5U=e;f.3Uy(e);f.34w(e);b.1q(f)}1f b}if("9KF"===b.16Z&&b.1fz===5D3){a=a.1AZ;b=[];c=a.1Gs("*","9KE");if(0<c.1h)1j(d=0;d<c.1h;++d){e=c[d];a={};f=e.2w;1j(h=0;h<f.1h;++h)p=f[h],a[p.2i]=p.1Q;b.1q(HJ(e,a))}1s 1j(c=a.1Gs("*","9KD"),d=0;d<c.1h;++d){e=c[d];a={};f=e.13P;1j(h=0;h<f.1h;++h)p=f[h],p.1a5===3Bt.4d8&&(a[p.16Z]=p.8S);b.1q(HJ(e,a))}1f b}if("3vi"===b.16Z&&b.1fz===5D2){b=[];a=a.1AZ.1Gs(5D1,"9KC");1j(c=0;c<a.1h;++c)d=a[c],e={},xT(d,e),b.1q(HJ(d,e));1f b}if("4xW"===b.16Z)1t 1g qa((1g 54B).54A(b));if("9KB"===b.16Z){b=[];a=a.1AZ.13P;1j(d=0;d<a.1h;d++)if(a[d].1a5===3Bt.4d8){c=a[d];1W}if(!g(c))1t 1g qa("2mq to 1oZ 1lf 4pN of 1Z 7n 2Ax 1g3 3n");a=c.13P;1j(c=0;c<a.1h;++c)d=a[c],d.1a5===3Bt.4d8&&(e={},xT(d,e),b.1q(HJ(d,e)));1f b}c=(1g 54B).54A(a);b=3n.4O("5u");d=3n.4O("6vh");d.8S=c;b.3A(d);c=1g Jo;c.2g=a;c.16G=b.1dd;1f[c]}1b xT(a,b){1j(1d c=!0,d=0;d<a.13P.1h;++d){1d e=a.13P[d];e.1a5===3Bt.4d8&&(c=!1);"18H"!==e.16Z&&"1b1"!==e.16Z&&"14x"!==e.16Z&&"9KA"!==e.16Z&&e.4YT()&&xT(e,b)&&(b[e.16Z]=e.8S)}1f c}1b HJ(a,b){1d c=1g Jo;c.2g=a;c.5U=b;c.3Uy(b);c.34w(b);1f c}1b 54z(a){if(!5D0.6S(a)&&!5CZ.6S(a)){1d b,c=5CY.1f4(a);c&&1<c.1h&&(b=c[1]);c=1g Jo;c.2i=b;c.16G=a;c.2g=a;1f[c]}}1b Zv(a){a=m(a,m.4Z);v.1N.2c("3v.14c",a.14c);v.1N.2c("3v.12K",a.12K);v.1N.14R("3v.3Bs",a.3Bs);v.1N.14R("3v.3Br",a.3Br);1a.1Bn={};1a.3To=[];1d b=1a.1aG=a.14c;1a.1f7=a.12K;1a.6Br=a.3Bs;1a.3Tp=a.3Br;1a.3pq=-1;b.1yw.7K(1a.3pr,1a);1a.3pr(b)}1b 4xV(a){1d b=a.1f7;if(g(b)){1d c=a.1aG,d=c.1a2;a=c.16W;if(c.1Tg&&c.1tv||0===a)if(c=b.3f(d),!(0>c)){1d e=b.1n(c);0<a?(d=M.1dA(e.4U,d),++c):(d=M.1dA(e.4I,d),--c);1f 0<=c&&5>=d/a?b.1n(c):1p 0}}}1b 4xU(a,b,c){1d d=a.1f7.3f(c.4I),e=a.1Bn,f=e[d];g(f)||(f=e[d]={});d=b.10t;if(g(f[d]))1f!0;e=d.7g("-");e=3!==e.1h?1p 0:{x:3a(e[0]),y:3a(e[1]),6b:3a(e[2])};b=1g Ke({1j8:!0,1mj:!0,1I:Jd.1IB,1xd:b.1xd});a=a.6Br(e.x,e.y,e.6b,b,c);if(!g(a))1f!1;f[d]={10l:a,7M:b};1f!0}1b am(a){a=m(a,m.4Z);if(!g(a.2I))1t 1g r("3v.2I is 1X.");1a.1os=a.2I;if(!g(a.9Q))1t 1g r("3v.9Q is 1X.");if(g(a.12K)&&!g(a.14c))1t 1g r("3v.12K 9x 2xC, so 3v.14c is 1X.");1d b=na.14m(a.2I),c=b.1y();b.1qN(am.5CX,!0);c.1qN(am.5CV,!0);g(a.7V)&&b.1qN(54y(a.7V));g(a.6Bq)&&c.1qN(54y(a.6Bq));1d d=1a;d.17F={1dF:!1,9P:1b(){d.12Y.9P(d.13Y)},1au:[]};1a.21q=1p 0;g(a.12K)&&(1a.1UR=1g Zv({14c:a.14c,12K:a.12K,3Bs:1b(a,b,c,e,g){1f 4xT(d,a,b,c,e,g)},3Br:1b(){g(d.21q)&&d.21q()}}));1d e={};e.9Q=a.9Q;e.1bD="{5Dh},{5Dg},{5Df},{5De}";e.1G="{1G}";e.1D="{1D}";1.3<=7L(b.1kx.9G)?e.29s=m(a.29s,a.8c&&a.8c.18T 2m Uc?"1pY:1Bo":"9Kz:84"):e.6Bp=m(a.6Bp,a.8c&&a.8c.18T 2m Uc?"1pY:1Bo":"1pY:1zf");b.1qN(e,!0);c.1qN(e,!0);c.1qN({9Ky:a.9Q,x:"{i}",y:"{j}",9Kx:"{8V}"},!0);1a.12o=b;1a.2LF=c;1a.8U=a.9Q;1a.7Y=1g ti({2I:b,4y4:c,8c:m(a.8c,1g gd({3c:a.3c})),3g:a.3g,16K:a.16K,17g:a.17g,16i:a.16i,16j:a.16j,3ps:a.3ps,19b:a.19b,9L:a.9L,4y2:m(a.4y2,am.5CU),1Bm:a.1Bm,4y6:1a.1os});1a.7Y.17F=1a.17F;1a.1g2=a.1x1;1a.7Y.1g2=a.1x1}1b 4xT(a,b,c,d,e,f){f=g(f)?f.2g:1p 0;a=a.7Y;g(f)&&a.12o.1qN(f);1f a.1hQ(b,c,d,e)}1b 54y(a){1d b={},c;1j(c in a)a.3p(c)&&(b[c.18v()]=a[c]);1f b}1b kz(a){a=m(a,m.4Z);if(!g(a.2I))1t 1g r("3v.2I is 1X.");1a.1os=a.2I;if(!g(a.7r))1t 1g r("3v.7r is 1X.");if(!g(a.2r))1t 1g r("3v.2r is 1X.");if(!g(a.4cv))1t 1g r("3v.4cv is 1X.");if(g(a.12K)&&!g(a.14c))1t 1g r("3v.12K 9x 2xC, so 3v.14c is 1X.");1d b=na.14m(a.2I),c=a.2r,d=a.4cv;0<=b.2I.3f("{")?(b.3AB({2r:c,18O:c,4d7:d}),1a.54x=!1):(b.1qN(5CT),1a.54x=!0);1a.12o=b;1a.8L=a.7r;1a.14N=c;1a.4cs=d;1a.4ct=a.6Ae;1a.1JH=m(a.8V,"4d/2L3");1a.1nm=a.19b;1a.6C=g(a.8c)?a.8c:1g Le({3c:a.3c});1a.14Q=m(a.16K,256);1a.16J=m(a.17g,256);1a.1jK=m(a.16i,0);1a.17G=a.16j;1a.7T=m(a.3g,1a.6C.3g);1a.1US=a.6e;1d e=1a;1a.21q=1p 0;b=1a.1os;1a.13Y=1a.8L;(1g Dh({2i:b})).4b(1b(a){a.1PU(e.13Y)?e.12Y=a:a.1Uc(e.13Y).4b(1b(){e.12Y=a})});1a.17F={1dF:!1,9P:1b(){e.12Y.9P(e.13Y)},1au:[]};g(a.12K)&&(1a.1UR=1g Zv({14c:a.14c,12K:a.12K,3Bs:1b(a,b,c,d,g){1f IJ(e,a,b,c,d,g)},3Br:1b(){g(e.21q)&&e.21q()}}));1a.7S=Z.5h(!0);b=1a.6C.1mi(Q.1tI(1a.7T),1a.1jK);c=1a.6C.1mi(Q.1tH(1a.7T),1a.1jK);b=(1k.abs(c.x-b.x)+1)*(1k.abs(c.y-b.y)+1);if(!0===m(a.9Kw,!0)&&4<b)1t 1g r("9B 8v 9Z\'s 3g and 16i 2MC 17m 2aN are "+b+" 17v at 1Z 13b 6b. 25O 217 10M 1v5 6L 2OA 17v at 1Z 13b 6b are 2S 11J.");1a.14P=1g sa;b=a.9L;1a.1dh="4n"===2h b?1g Zb(b):b;1a.1tQ=a.3ps;2K.8n(1a.1tQ)?1a.1tQ=1a.1tQ.4h():g(1a.1tQ)&&0<1a.1tQ.1h?1a.1tQ=1a.1tQ.7g(""):1a.1tQ=["a","b","c"];1a.1g2=a.1x1}1b IJ(a,b,c,d,e,f){1d h=a.4ct,l=g(h)?h[d]:d.5s(),p=a.1tQ;h=a.1US;f=g(f)?f.2g:1p 0;a.54x?(d={},d.53a=l,d.7r=a.8L,d.2r=a.14N,d.538=c,d.537=b,d.3B9=a.4cs,d.8V=a.1JH,g(h)&&(d=fb(d,h)),g(f)&&(d=fb(d,f)),e=a.12o.16M({1kx:d,7M:e})):(b={4d6:l,9Kv:c.5s(),9Ku:b.5s(),s:p[(b+c+d)%p.1h]},e=a.12o.16M({7M:e}),e.3AB(b),g(h)&&e.3AB(h),g(f)&&e.3AB(f));g(Ba.12M)&&(g(Ba.12M.1e7[a.1os])?e.2I=Ba.1oo(a.1os,e.2I):e.2I=Ba.1cl(e.2I));1f Hk.2j6(a,e)}1b 5CS(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d}1b zq(a){1f 1b(b){1f 1g a(b)}}1b bm(a){a=m(a,m.4Z);1d b=a.2EO;v.1N.2b("3v.2EO",b);1a.54w=1a.54v=1a.3Bq=1a.54u=1a.54t=1a.54s=1a.54r=1a.54q=1p 0;1a.4y=!1;1a.27W=1p 0;1a.14P=1g sa;1d c=1a,d=Lg.4Xt(b,a);a=a.2EO.5s()+a.2EN+a.3zV;1d e=bm.4xO[a];g(e)||(e=d.1vs(),bm.4xO[a]=e);1a.7S=e.4b(1b(a){if("1IB"!==a.1I)1f Z.7N(1g qa("1di 1ER 1sT "+b+" is 2S an 8v 1sT."));1d e=a.54p;if(g(e)){1d f=5CR[e];if(!g(f))1f Z.7N(1g qa("4bD 1di 1ER 8v 1I: "+e));e=f(a.3v)}1s e=1g yq({2I:1g Lg(a,d)});c.27W=Lg.4Xv(a,d);e.1cG.7K(1b(a){a.9Z=c;c.14P.5k(a)});c.14f=e;1f e.9c.4b(1b(){1f c.4y=!0})})}1b JJ(a){a=m(a,m.4Z);a=m(a.2r,mD.3pp);1f 1g bm({2EO:a})}1b 54o(a){1d b=3n.4O("1kl");b.8S=a;b.8k="3P-9L-6Bo";1f b}1b 54n(a,b){g(b)&&(b=3n.4O(b),b.4bk=a.4bk,b.3A(a),a=b);1f a}1b 4xI(a,b,c,d){1j(1d e=a.13P,f=-1,h=0;h<b.1h;++h){1d l=b[h];if(g(l)){f=h;if(g(c)&&(f*=2,0<h)){1d p=f-1;e.1h<=p?a.3A(54o(c)):(p=e[p],"3P-9L-6Bo"!==p.8k&&a.3Mr(54o(c),p))}p=l.1ij;if(e.1h<=f)a.3A(54n(p,d));1s{1d n=e[f];n.4bk!==l.7R&&a.3Mr(54n(p,d),n)}}}1j(++f;f<e.1h;)a.18Z(e[f])}1b ui(a,b){a+=" {";1j(1d c in b)b.3p(c)&&(a+=c+": "+b[c]+"; ");1f a+" }\\n"}1b 6Bj(){1d a=""+ui(".3P-9L-1tP-6Bm",{1ka:"1bs","z-2P":"1",1K:"1J1",5C:"0",3B:"0",1G:"100%",1D:"100%","1Ds-1A":"15A(80, 80, 80, 0.8)"});a+=ui(".3P-9L-1tP",{"1Ds-1A":"#9Kt",1A:"#2AR",1K:"2AZ","2o-1D":"51L",54m:"1sg"});a+=ui(".3P-9L-1tP > ul > li a, .3P-9L-1tP > ul > li a:2oe",{1A:"#2AR"});a+=ui(".3P-9L-1tP > ul > li a:3B5",{1A:"#48b"});a+=ui(".3P-9L-1tP.3P-9L-1tP-5CM",{50X:"1px 9Ks #444","50X-3L":"5px","1V-1G":"9Kr"});a+=ui(".3P-9L-1tP.3P-9L-1tP-34h",{1D:"100%",1G:"100%"});a+=ui(".3P-9L-1tP-17s",{1fT:"3dO 3dO 0 3dO"});a+=ui(".3P-9L-1tP-1TP",{"9O-4V":"9Kq",1LK:"229",1K:"1J1",5C:"0",2W:"6px",1A:"#2AR"});a+=ui(".3P-9L-1tP-1TP:3B5",{1A:"#48b"});a+=ui(".3P-9L-1tP > ul",{54m:"0",1fT:"6Bn 3dO 6Bn 9Kp","9O-4V":"9Ko"});a+=ui(".3P-9L-1tP > ul > li",{"1fT-7b":"6px"});a+=ui(".3P-9L-1tP > ul > li *",{1fT:"0",54m:"0"});a+=ui(".3P-9L-1We-1H6",{"1fT-3B":"5px",1LK:"229","3l-6v5":"2NQ",1A:"#2AR"});a+=ui(".3P-9L-1We-1H6:3B5",{1A:"#48b"});a+=ui(".3P-9L-3l",{1A:"#2AR"});a+=ui(".3P-9L-6Bk *, .3P-9L-6Bl *",{1ka:"3po"});1d b=3n.13r,c=3n.4O("2r");c.1dd=a;b.2ms(c,b.1gv)}1b qf(a,b,c){1b d(a){h.8h(a.15s)||e.4xL()}v.2l("11z",a);1d e=1a;c=m(c,3n.1hg);1d f=3n.4O("5u");f.8k="3P-9L-1tP-6Bm";c.3A(f);1d h=3n.4O("5u");h.8k="3P-9L-1tP";f.3A(h);f.7K("1aI",d,!1);1d l=3n.4O("5u");l.8k="3P-9L-1tP-17s";l.8S="3dz 20i by:";h.3A(l);l=3n.4O("a");l.4kP=1a.4xL.7X(1a);l.1dd="&12K;";l.8k="3P-9L-1tP-1TP";h.3A(l);l=3n.4O("ul");h.3A(l);1d g=3n.4O("5u");g.8k="3P-9L-6Bl";g.2r.1ka="3po";a.3A(g);1d n=3n.4O("5u");n.8k="3P-9L-6Bk";n.2r.1ka="3po";a.3A(n);1d k=3n.4O("a");k.8k="3P-9L-1We-1H6";k.4kP=1a.5CO.7X(1a);k.8S="3dz 2AS";a.3A(k);6Bj();1d w=Zb.1y(qf.3Tf);1a.5CL=m(b," \\9Kn ");1a.4xG=n;1a.3Tg=g;1a.4xK=1a.4xJ=1p 0;1a.5CN=h;1a.5CK=l;1a.3pn=f;1a.5CJ=d;1a.4xF=k;1a.3Tl=!1;1a.3Tk=[];1a.2zw=w;1a.4xH=1p 0;1a.3Th=w;1a.34g={3Tj:1g Ia,3Ti:1g Ia};1a.33f=1p 0;1a.5q=c;1a.11z=a}1b 4xE(){if(!g(KJ)){1d a=cb("1ja/1eX/6uU.12H");KJ=1g Zb(\'<a 17S="10R://10y.1gD.11Y" 15s="44m"><1kp 1bv="\'+a+\'" 17s="1f2"/></a>\',!0)}qf.3Te||(qf.2zw=KJ,qf.3Te=!0);1f KJ}1b $v(a){if(!g(a))1t 1g r("4r are 1X.");1a.2R=a;1a.15H=1a.37q=1p 0;1a.5V=1g P;1a.1E0=[];1a.2fE=0;1a.1vq=1F;1a.4xD=[0,0,0];1a.5Y=1p 0;1a.13A=!0;1a.1JG=1a.1Bl=1a.6X="";1a.27V=!1}1b 4xC(a){g(a.1vq)&&(a.1vq&&a.1vq.1M(),a.1vq=1F)}1b nD(a){a=m(a,m.4Z);1d b=a.2zv,c=a.9Km;if(!g(b))1t 1g r("3v.2zv is 1X.");g(c)||(c=!1);1d d=m(a.4xB,"1w"),e="3cT"+b;if("2U"===b||"8Q"===b||"8T"===b)1d f="1m 1eV() { 1f 1m(("+e+" + 1w(1.0)) * 0.5, 1.0); }\\n";1s 6U("st"===b&&(d="1v"),d){1S"1o":f="1m 1eV() { 1f 1m(1w("+e+"), 1.0); }\\n";1W;1S"1v":f="1m 1eV() { 1f 1m("+e+", 0.0, 1.0); }\\n";1W;1S"1w":f="1m 1eV() { 1f 1m("+e+", 1.0); }\\n";1W;1S"1m":f="1m 1eV() { 1f "+e+"; }\\n";1W;4T:1t 1g r("3v.4xB 2Q be 1o, 1v, 1w, or 1m.");}c="3Q 1w 1aU;\\2J 1w 19W;\\2J 1o 4R;\\n"+(c?"":"3Q "+d+" "+b+";\\n")+"3G "+d+" "+e+";\\2s 2k()\\n{\\1P p = 16e(1aU, 19W);\\n"+(c?e+" = 6gk"+b+"(4R);\\n":e+" = "+b+";\\n")+"6I = 1kV * p;\\n}";e="3G "+d+" "+e+";\\n"+f+"\\2s 2k()\\n{\\3R = 1eV();\\n}";1a.2q=1p 0;1a.11C=m(a.11C,!1);1a.1za=m(a.5O,c);1a.1z9=m(a.5A,e);1a.1hT=pe.2QF(!1,!1,a.4w);1a.1z8=m(a.1ph,!1);1a.5CI=b;1a.5CH=d}1b Aq(a){a=m(a,m.4Z);if(!g(a.3w))1t 1g r("3v.3w is 1X.");1a.1B5=a.3w;1a.7a=m(a.1A,y.4tu);1a.5CG=m(a.32Y,!0);1a.2p=m(a.2p,!0);1a.id=a.id;1a.7R=1p 0;1a.3pl=[];1a.34f=[]}1b oD(a){a=m(a,m.4Z);1a.1h=m(a.1h,1E7);1a.1bC=1p 0;1a.1G=m(a.1G,2);1a.10V=1p 0;1a.2p=m(a.2p,!0);1a.4a=A.1y(m(a.4a,A.8K));1a.12t=1g A;1a.id=a.id;1a.7h=1a.7R=1p 0}1b lz(){1a.8C=1a.10u=1a.16z=1a.11V=1a.1gz=1p 0;1a.1hq=!1}1b Nk(){}1b mz(a){1b b(a){1d b=a.2O;g(b)?(c.2fj=B.8I(b),c.34e=B.8I(a.9Kl),c.27U=B.8I(a.1iP)):(c.2fj=1p 0,c.34e=1p 0,c.27U=1p 0)}if(!g(a))1t 1g r("4r is 1X.");1a.2R=a;1a.27U=1a.34e=1a.2fj=1a.3Tc=1a.3Td=1a.3pk=1p 0;1d c=1a;7O.7K("6Bi",b,!1);1a.5Cj=1b(){7O.12R("6Bi",b,!1)}}1b yT(a){1a.26F=m(a,0)}1b pD(a){a=m(a,m.4Z);1a.2V=k.1y(m(a.2V,k.6h));1a.19J=1g k;1a.10N=k.1y(a.10N);1a.1jQ=1g k;1a.4xu=1g k;1a.5V=1g P;1a.4a=A.1y(m(a.4a,A.8K));1a.12t=1g A;1a.27T=1g A;1a.2p=m(a.2p,!0);1a.2q=m(a.2q,va.1kk(va.1oL));1a.34d=1a.17u=1p 0;1a.id=a.id;1a.7R=1p 0;1a.15S=m(a.15S,!1);1a.2f6=m(a.2f6,!1);1a.4xt=!1;1a.5Ci=m(a.2Cx,!0);1a.1hq=!1;1a.16I=1a.27S=1a.16z=1a.1gz=1a.11V=1p 0;1a.6g=1g Oa({7H:m(a.1fq,1a)});1a.1MF=1g Oa({7H:m(a.1fq,1a),2id:!0});1d b=1a;1a.1dg={1go:1b(){1f b.10N},2GM:1b(){1f b.4xu}};1a.5Cf={1Hn:1b(){1f b.16I.1A}}}1b rf(a){if(!a.1u2)1t 1g r("1py is 2S 11J.");1a.4j=a;1a.10T=!0;1a.3T9=!1;1a.3T6=3a.6w;1a.3T5=3a.1Mg;1a.1xi=1;1a.1MD=[5E3,1E4];1a.3T7=1g y(1,1,0,1);1a.2KR=5;1a.3ph=1;1a.3T2=1g C(0,0);1a.17h=1a.3Tb=1p 0;1a.1oq=0;1a.3mH=10;1a.2mW=0;1a.1dk=1p 0;1a.18x=Q.6w;1a.1fy=1g C(0,1);1a.2fF=1a.21s=1a.1MC=1p 0;1a.3T3=1a.1vg=0;1a.3Ta=1a.21u=!1;1a.3T8=1p 0;1a.21t=!1;1a.3pi=cb("1ja/1or/6Bb.12H");1a.2nW=1p 0;1a.3T4=30;1a.1ME=!0;1a.177=O.6G;1a.3pg=!0;1a.4xo=.996;1a.3pf=1a.1vd=1a.13Z=1a.2LA=1a.2LB=1a.2zq=1a.2LC=1a.1GG=1a.2LD=1p 0;1a.3T1=!1}1b nz(a){v.2l("1O",a);1a.4j=a;1a.2JP=1a.3SW=1a.3SX=1a.3SZ=1p 0;1a.1DQ=Q.6w;1a.1br=!0;1a.1b4="3KL";1a.1z6=1g rf(a)}1b aw(a){if(!g(a))1t 1g r("4r are 1X.");1a.2R=a;1a.1JF=1p 0;1a.5V=1g P;1a.1E0=[];1a.2fE=0;1a.1vq=1F;1a.3pd=[0,0,0];1a.1pD=A.8K.1y();1a.1xh=[];1a.34a=1p 0;1a.4xc="";1a.15p=[];1a.5Y=1a.1MB=1p 0;1a.2Lz=!0;1a.1Bl=1a.6X="";1a.9s=!1}1b 4xf(a){g(a.1JF)&&(a.1JF.4c=a.1JF.4c&&a.1JF.4c.1M(),a.1JF.2z=a.1JF.2z&&a.1JF.2z.1M(),a.1JF=1p 0)}1b 4xd(a){g(a.1vq)&&(a.1vq&&a.1vq.1M(),a.1vq=1F)}1b 5BO(a,b,c,d,e,f){4xf(a);c=Ra.12S({1O:b,5b:c,7Q:xa.7C});1d h=Ra.12S({1O:b,5b:d,7Q:xa.7C}),l=[];d={4f:0,7s:1};l.1q({2P:d.4f,7e:c,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});l.1q({2P:d.7s,7e:h,2Z:2,3k:I.3O,9n:0,9t:8,1T:!1});e=Ra.17Q({1O:b,5b:e,7Q:xa.7C,17P:f});a.1JF=1g Oa({6Z:Ja.11G,4a:a.1pD,6W:a.5V,6t:ma.1xr,7H:a,8d:!0});a.1JF.4c=1g Fb({1O:b,2w:l,10X:e});e=1g ja({5p:["3Q 1m 4f;\\2J 1v 7s;\\1B 1o 3h2;\\1J 1v 1Yr;\\1J 1w 1Ik;\\1J 1w 1Yq;\\1J 1w 1Ih;\\1J 1m 14u;\\1J 1o 13i;\\1J 1v 6r;\\1P 1gX(1m 9T)\\n{\\5el = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\5ek.z = 2o(9T.z, 9T.w);\\2j 9T;\\n}\\2s 5ej(1m 1Yp)\\n{\\1r 2kz = 0.1cN;\\1r 2kB = 80.0;\\1r 3h6 = 1.0;\\1r 3h5 = 1.0;\\2u 2kA = 1v(3.0 -3.0);\\1Sg 2cA = 5w(0.5, 0.0, 0.0, 0.0,\\n0.0, 0.5, 0.0, 0.0,\\n0.0, 0.0, 0.5, 0.0,\\n0.5, 0.5, 0.5, 1.0);\\1P 1yh = 2cA * 1Yp;\\5ei = 1yh.2tX;\\5eh.xy = 7s.xy * 2kB + 2kA * 2kz;\\1P 2uM = 3h4 * 1m(3h3, 1.0);\\5eg = 4f.1H - 2uM.1H;\\5ef = 1w(0.0,0.0,1.0);\\n}\\2s 2k()\\n{\\1P 1OG = 1m(4f.1H, 1.0);\\5ee.z = 1OG.z + 3h2;\\1P 3h = 11o * 1OG;\\11u = 1gX(3h);\\2Un = 7s.xy;\\5ed(3h);\\3gt = 9q * 1OG;\\n}\\n"]});a.1JF.2z=Ga.4t({1O:b,5O:e,5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 2v 1Ys;\\1B 2v 2cC;\\1B 2v 2cG;\\1J 1v 1Yr;\\1J 1w 1Ik;\\1J 1w 1Yq;\\1J 1w 1Ih;\\1J 1o 13i;\\1J 1v 6r;\\1P 2cB(in 1m 1gl, in 1o 1qm)\\n{\\1R 2cH = 1w(0.1NX, 0.1KS, 0.1NW);\\1R 12r = 1w(2A(1gl.2y, 2cH));\\1R 1uG = 3T(12r, 1gl.2y, 1qm);\\2j 1m(1uG, 1.0);\\n}\\1P 2Xq()\\n{\\1P 2kD = 1m(0,0.1cN,0.1cN,1);\\1P 1SU = 1m(0.4hr,0.4hq,0.4hp,1);\\1r 2kF = 0.1cN;\\1r 1Fx = 0.3;\\1r 1Fy = 0.7;\\1r 2kE = 1.8;\\1r 2kC = 0.95;\\2u 1Lr = 1Ik.xy / 1Ik.z;\\1R 2cF = (1Y(2cG, (1Yr.xy / 5.0)).2y - 0.5).3h8 * 2kF;\\4ho += 2cF.xz;\\1r 1Il, 1Yt;\\1U(1Fx < 1Fy)\\n{\\3Iz = 1Fx;\\3Iy = 1Fy;\\n}\\5L\\n{\\3Iz = 1Fy;\\3Iy = 1Fx;\\n}\\1r 2cE = 1Il;\\1r 2cD = (1Yt - 1Il) / 1.0;\\1r 1Fw = 2cE + 2cD * 3r(1.0 + 2A(1T(1Yq), 1Ih), 2kE);\\4hn = 2Y(1Fw, 0.1cN, 0.95);\\1P 1OH = 1Y(2cC, 1Lr);\\1P 3h7 = 1OH + 2kD;\\1P 1rU = 3T(1SU, 1OH, 1Fw);\\2Xr = 2cB(1rU, 1.0);\\2Xr = 1rU * 2kC;\\2Xr.a = 1SU.a;\\2j 1rU;\\n}\\2s 2k()\\n{\\n#if 2l(5J) || 2l(1dt)\\1F2 = 2o(13i * 4u.w, 1.0);\\n#1u\\2u 4M = 6r.xy;\\1P 2uN = 2Xq();\\1P 2GK = 1Y(1Ys, 4M.xy);\\1U(2GK.x < 0.5)\\n{\\10W;\\n}\\5L\\n{\\3R = 2uN;\\n}\\n}\\n",7W:d});a.1JF.4w=pa.4t({8d:{3e:!0},9J:{3e:!0}});a.1JF.4J={3h2:1b(){1f a.2fE},1Ys:1b(){1f a.1vq},2cC:1b(){1f a.5Y.18w.1Ge.1yT.1bA.167(0)},2cG:1b(){1f a.5Y.18w.1Ge.2gO}}}1b 5BN(a,b,c){""!=b&&4==c.1h&&zj(b+".1g3").4b(1b(d){1d e=d.1cE("3UT"),f=e[0].9d[0].8S;e=e[0].9d[1].8S;1d h=d.1cE("3UU"),l=h[0].9d[0].8S;h=h[0].9d[1].8S;1d g=d.1cE("1D")[0].8S;d=d.1cE("1G")[0].8S;a.1MB={1G:d,1D:g,3B:f,2W:l,5C:h,7b:e,4qD:(l-f)/d,4qC:(h-e)/g};f=[];1j(d=0;d<a.1MB.1G;d++){e=[];1j(l=0;l<a.1MB.1D;l++)e.1q(-1I6);f.1q(e)}54l(a,b,c,f)})}1b 54l(a,b,c,d){Fe(b+\'/9Kk.15l?14w={"3UT":{"x":\'+c[0]+\',"y":\'+c[1]+\'},"3UU":{"x":\'+c[2]+\',"y":\'+c[3]+"}}").4b(1b(b){b=b.2a;1j(1d c=0;c<b.1h;c++)1j(1d e=b[c],l=0,g=e.1h;l<g;l++){1d n=e[l];d[n.2or][n.1sA]=n.1Q}a.34a=d;a.2Lz=!0},1b(e){if(400==e.2rS)1j(e=0;2>e;e++){1d f=(c[2]-c[0])/2,h=c[0]+f*e;f=h+f;1j(1d l=0;2>l;l++){1d g=(c[3]-c[1])/2,n=c[1]+g*l;g=n+g;1d k=[];k[0]=h;k[1]=n;k[2]=f;k[3]=g;54l(a,b,k,d)}}})}1b 4xb(a,b,c){if(b<a.1MB.3B||b>a.1MB.2W||c<a.1MB.7b||c>a.1MB.5C)1f-1I6;b=(b-a.1MB.3B)/a.1MB.4qD;c=(a.1MB.5C-c)/a.1MB.4qC;b=1k.8a(b);c=1k.8a(c);1f a.34a[b][c]}1b 4xa(a,b,c,d,e){1d f=a-1,h=b-1,l=d-1-h;if(Ys(f,h)&&.5<e[f+l*c])1f!0;f=a-1;h=b;l=d-1-h;if(Ys(f,h)&&.5<e[f+l*c])1f!0;f=a-1;h=b+1;l=d-1-h;if(Ys(f,h)&&.5<e[f+l*c])1f!0;f=a;h=b+1;l=d-1-h;if(Ys(f,h)&&.5<e[f+l*c])1f!0;f=a+1;h=b+1;l=d-1-h;if(Ys(f,h)&&.5<e[f+l*c])1f!0;f=a+1;h=b;l=d-1-h;if(Ys(f,h)&&.5<e[f+l*c])1f!0;f=a+1;h=b-1;l=d-1-h;if(Ys(f,h)&&.5<e[f+l*c])1f!0;f=a;h=b-1;l=d-1-h;1f Ys(f,h)&&.5<e[f+l*c]?!0:!1}1b Ys(a,b){1f 13j>a&&0<=a&&13j>b&&0<=b?!0:!1}1b zT(){1a.3e=!0;1a.1DZ=2E-4;1a.5BJ=2;1a.3pb=.25l}1b 5BL(a){1d b=LJ,c=b.1h;if(a<b[0])1f aj=0;if(a>b[c-1])1f aj=c-2;if(a>=b[aj]){if(aj+1<c&&a<b[aj+1])1f aj;if(aj+2<c&&a<b[aj+2])1f++aj,aj}1s if(0<=aj-1&&a>=b[aj-1])1f--aj,aj;1d d;1j(d=0;d<c-2&&!(a>=b[d]&&a<b[d+1]);++d);1f aj=d}1b bj(a){1b b(){1d a=c;3n[a.6Bh]?a.1TN():a.5BF()}if(!g(a)||!g(a.4r))1t 1g r("3v.4r is 1X.");1a.2R=a.4r;1a.348=m(a.348,bj.349.348);1a.3pa=m(a.3pa,bj.349.3pa);1a.3p9=m(a.3p9,bj.349.3p9);1a.3p8=m(a.3p8,bj.349.3p8);1a.3p7=m(a.3p7,bj.349.3p7);1a.5BH=1g sa;1a.5BG=1g sa;1a.27R=[];1a.343=!0;1a.54k=1a.4d5=0;1a.3Bp=!1;1a.347=1p 0;1a.2Ly=0;1d c=1a;1a.5BE=1a.2R.5tY.7K(1b(a,b){a=c;if(!(0<a.2Ly))if(b=Kd(),a.343)a.343=!1,a.27R.1h=0,a.4d5=b+a.3pa/Ed.2n7,a.54k=a.4d5+(a.3p9+a.348)/Ed.2n7;1s if(b>=a.4d5){a.27R.1q(b);1d d=b-a.348/Ed.2n7;if(2<=a.27R.1h&&a.27R[0]<=d){1j(;2<=a.27R.1h&&a.27R[1]<d;)a.27R.1hN();d=(b-a.27R[0])/(a.27R.1h-1);a.347=1E3/d;d>1E3/(b>a.54k?a.3p7:a.3p8)?a.3Bp||(a.3Bp=!0,a.343=!0,a.4x7.5k(a.4r,a.347)):a.3Bp&&(a.3Bp=!1,a.343=!0,a.4x6.5k(a.4r,a.347))}}});1a.6Bh=1p 0!==3n.1qr?"1qr":1p 0!==3n.54j?"54j":1p 0!==3n.54i?"54i":1p 0!==3n.54h?"54h":1p 0;1d d=1p 0!==3n.1qr?"9Kj":1p 0!==3n.54j?"9Ki":1p 0!==3n.54i?"9Kh":1p 0!==3n.54h?"9Kg":1p 0;1a.3SV=1p 0;g(d)&&(3n.7K(d,b,!1),1a.3SV=1b(){3n.12R(d,b,!1)})}1b 4iL(a,b,c){1a.1O=a;1a.13l=[];1a.2xW=[];1a.272=[];1a.37I=1a.1mq=1a.1mr=1a.3tt=1a.40m=1p 0;1a.3z=O.6G;1a.29J=O.3yG(O.6G);1a.1gA=0;1a.6q=1p 0;1a.1Ul=c;1a.1ev=1a.2yz=1a.1dj=1a.3w=1a.11s=1p 0;1a.13S=1;1a.10s={3t:!1,11P:!1,4e:!1,3mc:!1,1Tt:!1,17X:!1,20O:!1};1a.1DJ=b;1a.1sn=[];1a.1fw=!1;1a.1ep={3e:!1,1DZ:1p 0,3pc:1p 0,3pb:1p 0};1a.1DM=1;1a.18w=[];1a.1fv={2mN:!0,2KT:!0,272:[],4cA:[],3nj:1,3ni:5E3,3nh:1E3,2mO:0,4tG:!0};1a.2y2=1g C;1a.2y1=1g C;1a.4tk=[];1a.2mQ=1a.32c=1a.1a4=1p 0;1a.1M8=!1;1a.28U=1p 0;1a.1bz=!1;1a.19c={2i:"2U",3e:!1,1mc:Ud.1zp};1a.9Kf=1a.1lr=0;1a.1g4=-1;1a.3Vd=1a.3Ve=1a.4uO=0;1a.5UR=!1;1a.2Lg=1;1a.36U=1g y;1a.2mL=1p 0}1b 4iK(a,b){1a.3I=m(a,0);1a.3W=m(b,0);a=ma.2KH;b=2K(a);1j(1d c=2K(a),d=0;d<a;++d)b[d]=[],c[d]=0;1a.1qJ=b;1a.4N=c}1b 5BB(a,b,c,d,e,f,h,l){1a.3oL=a;1a.1qM=b;1a.2q=c;1a.2z=d;1a.4x5=e;1a.3oP=f;1a.3oK=h;1a.3oJ=l}1b MJ(){1a.4x2=1a.4x3=1p 0;1a.3SU=[];1a.2q=1p 0}1b 5BD(a){6U(a){1S O.6G:1d b="1m 1Au(1w 1K, 1o 1D, 1v 8u) { 1f 4ha(1K, 1D, 8u); }";1W;1S O.10j:1S O.15j:b="1m 1Au(1w 1K, 1o 1D, 1v 8u) { 1f 4h7(1K, 1D, 8u); }";1W;1S O.1at:b="1m 1Au(1w 1K, 1o 1D, 1v 8u) { 1f 4h6(1K, 1D, 8u); }"}1f b}1b 4x4(a,b){if(!g(a)||!g(b))1f!1;if(a===b)1f!0;if(a.1h!=b.1h)1f!1;1j(1d c=a.1h,d=0;d<c;d++)if(a[d].3SE!==b[d].3SE||a[d].2cv!==b[d].2cv)1f!1;1f!0}1b Ge(){1a.8v=[];1a.2Ll=[];1a.1pC=1p 0;1a.2fy=1g E(0,0,1,1);1a.1Mq=1a.2Lt=1a.1ls=1a.4c=1a.1ix=1p 0;1a.1UK=1g k;1a.19M=Zc.1vn;1a.4K=1a.13q=1p 0;1a.3of=1g P;1a.4x0=1p 0;1a.26S=!0;1a.2Lr=!1;1a.1ns=1p 0;1a.2Lw=1g E(0,0,1,1)}1b AT(a,b,c,d,e,f){a.4ZD(d,e,f);g(b)&&b!==O.6G&&(a=c.3c.10Z(f),c.12z(a,f),k.9v(f.z,f.x,f.y,f));1f f}1b 5Bv(a,b,c,d,e,f,h){if(c=b.12f){b=c.2g.1ix;1d l=c.x,p=c.y;c=c.6b;g(b)&&(d=b.3yZ(d.8c,l,p,c,e,f,h),g(d)&&(a.19M=Zc.3oG,Z(d,1b(b){g(b)?(a.1ix=b,a.19M=Zc.1sB):a.19M=Zc.1My},1b(){a.19M=Zc.12D})))}1s b.4F=vi.12D}1b 5Bu(a,b,c,d,e,f){1b h(c){a.7M=1p 0;g(c)?"1so"===c?p(!1):"4d4"===c?a.19M=Zc.12D:(a.1ix=c,a.19M=Zc.1sB,b.2Fo&&0!==e&&(a.19M=Zc.4wX,a.3Bo=c,a.1ix=1p 0)):a.19M=Zc.12D}1b l(){a.7M.4F===$d.21n?(a.1ix=1p 0,a.19M=Zc.1vn,a.7M=1p 0):(a.19M=Zc.12D,a.7M=1p 0,b.6Bg=Lc.1ir(b.6Bg,b,b.1cG,"21Z to 5Lb 1st 11H X: "+c+" Y: "+d+" 1PV: "+e+".",c,d,e,p))}1b p(p){1d n=1g Ke({1j8:!1,1mj:!0,1I:Jd.1Q8});n.1Gc=p;a.7M=n;p=b.1Bf(c,d,e,n,f);g(p)?(a.19M=Zc.3oG,Z(p,h,l)):(a.19M=Zc.1vn,a.7M=1p 0)}p(!0)}1b 5Bt(a,b,c,d,e){c=b.2SI(a.3Bo.3J);g(c)&&(a.19M=Zc.5BA,Z(c,1b(c){g(c)?(a.19M=Zc.1sB,a.1ix=b.4YL(a.3Bo,c.2g.3J),a.3Bo=1p 0):(a.19M=Zc.12D,a.3Bo=1p 0,a.1ix=1p 0)},1b(b){a.19M=Zc.12D}))}1b 5Bs(a,b,c,d,e,f){b=a.1ix.3z0(c.8c,d,e,f,b.1DM);g(b)&&(a.19M=Zc.4wZ,Z(b,1b(b){a.13q=b;a.1ls=yc.1y(b.1ls,a.1ls);a.1UK=k.1y(b.1UK,a.1UK);a.19M=Zc.4wW},1b(){a.19M=Zc.12D}))}1b BT(){1a.13q=1a.33N=1a.1O=1p 0}1b 5Br(a){1d b=a.1au.6Bf;if(!g(b)){b=Ca.6F({1O:a,8b:ua.1UO,10E:Ha.7U,5j:{1a9:1g 4L([255]),1G:1,1D:1}});b.1d2=1;1d c=1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U});b={4wV:b,10v:c,1M:1b(){1a.4wV.1M()}};a.1au.6Bf=b}1f b}1b 5Bq(a){1d b=a.1au.6Bd;if(!g(b)){b=1g Ca({1O:a,8b:ua.1fB,10E:Ha.7U,5j:{1a9:1g 4L([0,0,255]),1G:1,1D:1}});b.1d2=1;1d c=1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U});b={6Be:b,10v:c,1M:1b(){1a.6Be.1M()}};a.1au.6Bd=b}1f b}1b bw(a){1a.11H=a;1a.9Ke=1p 0;1a.2Fn=[];1a.2Sj=[];1a.2Fm=[];1a.2Si=[];1a.2Fl=[];1a.2Sh=[];1a.2Fk=[];1a.2Sg=[];1a.54b=1a.4d0=1a.54e=1a.4d3=1a.54c=1a.4d1=1a.54d=1a.4d2=1p 0;1a.1z5=!0;1a.1pC=1a.4c=1a.13q=1a.54g=1a.54f=1p 0;1a.2fy=1g E}1b Ag(a,b,c,d,e,f,h,l,p){if(1p 0!==d){1j(1d n=d;n&&(n.1Uz!==e||$c.5Bl(n.1qE)||$c.3p3(n.1qE)===$c.3p4);){if(h)1f;1d k=n.12f;if(f>=kc.341&&1p 0!==k)6U(f){1S kc.341:n=n===k.1yz?k:1p 0;1W;1S kc.3oZ:n=n===k.1AI?k:1p 0;1W;1S kc.3p0:n=n===k.1wJ?k:1p 0;1W;1S kc.3p1:n=n===k.1yy?k:1p 0}1s n=k}if(1p 0!==n)if(n.1qE===$c.1xf){if(!g(n.2g.4c))a:{d=n;h=d.2g;if(1p 0===h.4K)h.4K=1g bw(d);1s if(h.4K.54f===e)1W a;h.4K.54g!==e&&(h.4K.54g=e,h.4K.1z5=!1,l.1vp(d));b:{e=d.2g.4K;l=c.2g.4K;g(l)?(l.54f=b.1gA,l.1z5&&(4wO(a,b,c,p),l.1z5=!1),a=c.2g.4K.13q):a=c.2g.13q;6U(f){1S kc.27P:1d w=e.2Fn;1d x=e.2Sj;1W;1S kc.2fC:w=e.2Fm;x=e.2Si;1W;1S kc.27Q:w=e.2Fl;x=e.2Sh;1W;1S kc.2fD:w=e.2Fk;x=e.2Sg;1W;1S kc.341:e.1z5=e.1z5||e.4d3!==a;e.4d3=a;e.54e=c;1W b;1S kc.3oZ:e.1z5=e.1z5||e.4d0!==a;e.4d0=a;e.54b=c;1W b;1S kc.3p0:e.1z5=e.1z5||e.4d2!==a;e.4d2=a;e.54d=c;1W b;1S kc.3p1:e.1z5=e.1z5||e.4d1!==a;e.4d1=a;e.54c=c;1W b}if(c.6b<=d.6b)e.1z5=e.1z5||w[0]!==a||1!==w.1h,w[0]=a,x[0]=c,w.1h=1,x.1h=1;1s{1d m,t;b=c.3g;p=d.3g;6U(f){1S kc.27P:f=(p.4P-p.4C)*B.1tO;1j(m=0;m<x.1h&&(p=x[m],p=p.3g,!B.1bP(b.4P,p.4C,f));++m);1j(t=m;t<x.1h&&(p=x[t],p=p.3g,!B.9Y(b.4C,p.4P,f));++t);1W;1S kc.2fC:f=(p.5a-p.4o)*B.1tO;1j(m=0;m<x.1h&&(p=x[m],p=p.3g,!B.1ib(b.4o,p.5a,f));++m);1j(t=m;t<x.1h&&(p=x[t],p=p.3g,!B.19D(b.5a,p.4o,f));++t);1W;1S kc.27Q:f=(p.4P-p.4C)*B.1tO;1j(m=0;m<x.1h&&(p=x[m],p=p.3g,!B.1ib(b.4C,p.4P,f));++m);1j(t=m;t<x.1h&&(p=x[t],p=p.3g,!B.19D(b.4P,p.4C,f));++t);1W;1S kc.2fD:f=(p.5a-p.4o)*B.1tO;1j(m=0;m<x.1h&&(p=x[m],p=p.3g,!B.1bP(b.5a,p.4o,f));++m);1j(t=m;t<x.1h&&(p=x[t],p=p.3g,!B.9Y(b.4o,p.5a,f));++t);}1===t-m?(e.1z5=e.1z5||w[m]!==a,w[m]=a,x[m]=c):(e.1z5=!0,w.6z(m,t-m,a),x.6z(m,t-m,c))}}}}1s if($c.3p3(d.1qE)!==$c.3p4)6U(f){1S kc.27P:Ag(a,b,c,d.1yz,e,f,!0,l,p);Ag(a,b,c,d.1wJ,e,f,!0,l,p);1W;1S kc.27Q:Ag(a,b,c,d.1yy,e,f,!0,l,p);Ag(a,b,c,d.1AI,e,f,!0,l,p);1W;1S kc.2fC:Ag(a,b,c,d.1wJ,e,f,!0,l,p);Ag(a,b,c,d.1yy,e,f,!0,l,p);1W;1S kc.2fD:Ag(a,b,c,d.1AI,e,f,!0,l,p);Ag(a,b,c,d.1yz,e,f,!0,l,p);1W;1S kc.341:Ag(a,b,c,d.1yz,e,f,!0,l,p);1W;1S kc.3oZ:Ag(a,b,c,d.1AI,e,f,!0,l,p);1W;1S kc.3p0:Ag(a,b,c,d.1wJ,e,f,!0,l,p);1W;1S kc.3p1:Ag(a,b,c,d.1yy,e,f,!0,l,p);1W;4T:1t 1g r("13H 1Hy");}}}1b NJ(){1a.1D=0;1a.1mT=1g C}1b OJ(a,b,c,d,e,f,h,l,p){if(g(e))1f e;g(f)&&g(h)?a=.5*(f.1D+h.1D):g(f)?a=f.1D:g(h)?a=h.1D:g(l)?a=l.1D:(a=a.11H.2g.1Mq,d=c=0,g(a)&&(c=a.13w,d=a.12x),a=.5*(c+d));p.1D=a;b=b.2a8(Zs,cw);xb.2Rz(b,p.1mT);1f p}1b 4wO(a,b,c,d){Ge.6l(c,a.16u,a.1Mz);1d e=c.2g,f=e.4K,h=c.3g,l=c.8c.3c,p=PJ(f,l,0,1,f.54e,f.4d3,f.2Sg,f.2Fk,f.2Sj,f.2Fn,$aa),n=PJ(f,l,0,0,f.54d,f.4d2,f.2Sj,f.2Fn,f.2Si,f.2Fm,aba),z=PJ(f,l,1,0,f.54c,f.4d1,f.2Si,f.2Fm,f.2Sh,f.2Fl,4wM),w=PJ(f,l,1,1,f.54b,f.4d0,f.2Sh,f.2Fl,f.2Sg,f.2Fk,3SS);p=OJ(f,l,0,1,p,n,w,z,$aa);n=OJ(f,l,0,0,n,p,z,w,aba);z=OJ(f,l,1,1,z,n,w,p,4wM);w=OJ(f,l,1,1,w,z,p,n,3SS);1d x=n.1D,m=z.1D,t=p.1D,r=w.1D,G=1k.2o(x,m,t,r);m=1k.1V(x,m,t,r);r=.5*(G+m);1d q;x=a.1DR(c.6b);if(h.1G>6*1k.1cz((l.17i-x)/l.17i)&&m-G<=x)h=1g Ch({1G:9,1D:9,3J:5Bg,2a5:{1xk:m}}),f.13q=h.6s1(c.8c,c.x,c.y,c.6b,1);1s{x=1g Bh(1p 0,1p 0,1p 0,1p 0,!0,!0);1d u=5Bi;u.3N=.5*(h.5a+h.4o);u.4k=.5*(h.4P+h.4C);u.1D=r;x.2V=l.13B(u,x.2V);t=5;1d v=f.2Fn;1d y=0;1j(q=v.1h;y<q;++y)g(v[y])&&(t+=v[y].1KA.1h);v=f.2Fm;y=0;1j(q=v.1h;y<q;++y)g(v[y])&&(t+=v[y].1Kz.1h);v=f.2Fl;y=0;1j(q=v.1h;y<q;++y)g(v[y])&&(t+=v[y].1KC.1h);v=f.2Fk;y=0;1j(q=v.1h;y<q;++y)g(v[y])&&(t+=v[y].1KB.1h);1d A=5Bh;A.13w=G;A.12x=m;v=x.1ng();t=1g 4A(t*v);q=y=0;g(p.1D)&&!11I(p.1D)&&(y=QJ(l,h,x,t,y,0,1,p.1D,p.1mT,1,A),y=RJ(f,l,x,t,y,f.2Sj,f.2Fn,kc.27Q,A));p=y;g(n.1D)&&!11I(n.1D)&&(y=QJ(l,h,x,t,y,0,0,n.1D,n.1mT,0,A),y=RJ(f,l,x,t,y,f.2Si,f.2Fm,kc.2fD,A));n=y;g(z.1D)&&!11I(z.1D)&&(y=QJ(l,h,x,t,y,1,0,z.1D,z.1mT,0,A),y=RJ(f,l,x,t,y,f.2Sh,f.2Fl,kc.27P,A));z=y;g(w.1D)&&!11I(w.1D)&&(y=QJ(l,h,x,t,y,1,1,w.1D,w.1mT,1,A),y=RJ(f,l,x,t,y,f.2Sg,f.2Fk,kc.2fC,A));G=11I(A.13w)?0:A.13w;m=11I(A.12x)?0:A.12x;w=yc.21r(h,G,m,c.8c.3c);A=Uc.1UN(h.4C);1d B=1/(Uc.1UN(h.4P)-A);A=(Uc.1UN(u.4k)-A)*B;l.2a8(Zs,4wN);l=xb.2Rz(4wN,CT);u=y;x.1pT(t,y*v,w.2V,C.9v(.5,.5,Ok),r,l,A);++y;l=y;r=3*(l-1);(t.1h-l*v)*4A.12T>=r*(256>l?1:2)?(y=l*v*4A.12T,A=256>l?1g 4L(t.3J,y,r):1g 10Y(t.3J,y,r)):A=256>l?1g 4L(r):1g 10Y(r);t=1g 4A(t.3J,0,l*v);1j(y=v=0;y<l-2;++y)A[v++]=u,A[v++]=y,A[v++]=y+1;A[v++]=u;A[v++]=y;A[v++]=0;v=[];1j(y=p;y>=q;--y)v.1q(y);q=[];1j(y=n;y>=p;--y)q.1q(y);p=[];1j(y=z;y>=n;--y)p.1q(y);n=[];n.1q(0);1j(y=u-1;y>=z;--y)n.1q(y);z=x.2V;y=A;u=G;A=m;B=P.3aL(w);1d Fa=w.2V,L=a.2eX.2Lc.3c,S=L.3c,U=5Bc;k.15i(h.4o,h.4C,m,S,U[0]);k.15i(h.5a,h.4C,m,S,U[1]);k.15i(h.4o,h.4P,m,S,U[2]);k.15i(h.5a,h.4P,m,S,U[3]);h=L.3St(Fa,U,G,1p 0);f.13q=1g nx(z,t,y,r,l,u,A,B,h,x.1ng(),w,x,b.1DM,v,q,p,n)}h=b.1O;g(f.4c)&&(g(d)?0!==f.13q.1co.1h&&0!==f.13q.4N.1h&&d.1q(f.4c):Ge.3p2(f.4c));0!==f.13q.1co.1h&&0!==f.13q.4N.1h&&(f.4c=Ge.4wQ(h,f.13q));e.4wT(c,a.16u,b,!0);b=f.1pC;f.1pC=1p 0;a.16u.1z3&&(a=e.3ST(c),g(a)&&g(a.2g.1pC)&&(f.1pC=a.2g.1pC,++f.1pC.1d2,e.4wP(c,a,f.2fy)));g(b)&&(--b.1d2,0===b.1d2&&b.1M())}1b QJ(a,b,c,d,e,f,h,l,g,n,k){1d p=Zs;p.3N=B.11x(b.4o,b.5a,f);p.4k=B.11x(b.4C,b.4P,h);p.1D=l;a=a.13B(p,cw);b=DT;b.x=f;b.y=h;c.1pT(d,e*c.1ng(),a,b,l,g,n);k.13w=1k.2o(k.13w,l);k.12x=1k.1V(k.12x,l);1f e+1}1b qD(a,b,c,d){1d e=a.3g,f=b.3g;0===b.x&&1===c.x&&a.x===a.8c.1ou(a.6b)-1?(e=Q.1y(a.3g,SJ),e.4o-=B.14C,e.5a-=B.14C):0===a.x&&0===c.x&&b.x===b.8c.1ou(b.6b)-1&&(e=Q.1y(a.3g,SJ),e.4o+=B.14C,e.5a+=B.14C);1d h=e.5a-e.4o,l=(f.4o-e.4o)/h;a=e.4P-e.4C;b=(f.4C-e.4C)/a;h=(c.x-l)/((f.5a-e.4o)/h-l);c=(c.y-b)/((f.4P-e.4C)/a-b);1k.abs(h)<1k.1tO?h=0:1k.abs(h-1)<1k.1tO&&(h=1);1k.abs(c)<1k.1tO?c=0:1k.abs(c-1)<1k.1tO&&(c=1);d.x=h;d.y=c;1f d}1b ET(a,b,c,d,e){c=a.19F;a=a.1co;e.1D=c.1Ky(a,b);c.1lp?c.3Ag(a,b,e.1mT):(b=e.1mT,b.x=0,b.y=0)}1b 6Bc(a,b,c,d,e,f,h,l,g,n){1d p=d.19F;d=d.1co;1d w=qD(b,c,p.1Wt(d,e,Ok),Ok);b=qD(b,c,p.1Wt(d,f,DT),DT);g=g?(h-w.x)/(b.x-w.x):(l-w.y)/(b.y-w.y);b=p.1Ky(d,e);w=p.1Ky(d,f);c=c.3g;Zs.3N=B.11x(c.4o,c.5a,h);Zs.4k=B.11x(c.4C,c.4P,l);n.1D=Zs.1D=B.11x(b,w,g);p.1lp?(a=p.3Ag(d,e,5Bf),f=p.3Ag(d,f,5Be),p=xb.3Aj(a.x,a.y,cw),f=xb.3Aj(f.x,f.y,5Bd),f=k.11x(p,f,g,cw),k.1T(f,f)):f=a.2a8(Zs,cw);xb.2Rz(f,n.1mT)}1b PJ(a,b,c,d,e,f,h,l,p,n,k){if(549(a,b,l,h,!1,c,d,k)||549(a,b,n,p,!0,c,d,k))1f k;if(FT(e,f))1f b=0===c?0===d?f.1KA[0]:f.1KB[0]:0===d?f.1Kz[0]:f.1KC[0],ET(f,b,c,d,k),k;c=0===c?0===d?TJ(a.2Fn,a.2Sj,kc.27Q,a.2Fm,a.2Si,kc.2fD):TJ(a.2Fk,a.2Sg,kc.2fC,a.2Fn,a.2Sj,kc.27Q):0===d?TJ(a.2Fm,a.2Si,kc.2fD,a.2Fl,a.2Sh,kc.27P):TJ(a.2Fl,a.2Sh,kc.27P,a.2Fk,a.2Sg,kc.2fC);if(g(c))1f k.1D=c,b=b.2a8(Zs,cw),xb.2Rz(b,k.1mT),k}1b TJ(a,b,c,d,e,f,h,l){a=54a(a,b,!1,c);d=54a(d,e,!0,f);1f g(a)&&g(d)?.5*(a+d):g(a)?a:d}1b RJ(a,b,c,d,e,f,h,l,p){1j(b=0;b<f.1h;++b)if(g(h[b])){1d n=1p 0,k=1p 0,w=1p 0,x=1p 0,m=1p 0,t=1p 0,r=a,G=c,q=d,u=f[b],v=h[b],y=l,A=p;if(y===kc.27Q&&0===r.11H.x){1d K=Q.1y(u.3g,SJ);K.4o-=B.14C;K.5a-=B.14C}1s y===kc.27P&&0===u.x&&(K=Q.1y(u.3g,SJ),K.4o+=B.14C,K.5a+=B.14C);K=r.11H.3g;0<e&&(G.1Wt(q,e-1,Ok),t=Ok.x,m=Ok.y);6U(y){1S kc.27P:x=v.1KC;w=!1;1W;1S kc.2fD:x=v.1Kz;w=!0;1W;1S kc.27Q:x=v.1KA;w=!1;1W;1S kc.2fC:x=v.1KB,w=!0}r=r.11H;y=v.19F;v=v.1co;1d C=G.1ng();y.2av&&(k=Uc.1UN(K.4C),n=1/(Uc.1UN(K.4P)-k));1j(1d L=0;L<x.1h;++L){1d S=x[L],U=y.1Wt(v,S,Ok);qD(u,r,U,U);1d R=U.x,V=U.y,W=w?R:V;if(!(0>W||1<W||1k.abs(R-t)<B.1tO&&1k.abs(V-m)<B.1tO||(W=1k.abs(V)<B.1tO||1k.abs(V-1)<B.1tO,(1k.abs(R)<B.1tO||1k.abs(R-1)<B.1tO)&&W))){R=y.4ZD(v,S,cw);W=y.1Ky(v,S);y.1lp?S=y.3Ag(v,S,CT):(S=CT,S.x=0,S.y=0);1d da=V;y.2av&&(V=B.11x(K.4C,K.4P,V),da=(Uc.1UN(V)-k)*n);G.1pT(q,e*C,R,U,W,S,da);A.13w=1k.2o(A.13w,W);A.12x=1k.1V(A.12x,W);++e}}}1f e}1b 54a(a,b,c,d,e,f){if(c){1d h=0;e=a.1h;f=1}1s h=a.1h-1,f=e=-1;1j(;h!==e;h+=f){1d l=a[h];if(FT(b[h],l)){6U(d){1S kc.27P:1d p=l.1KC;1W;1S kc.2fC:p=l.1KB;1W;1S kc.27Q:p=l.1KA;1W;1S kc.2fD:p=l.1Kz}1d n=p[c?0:p.1h-1];if(g(n))1f l.19F.1Ky(l.1co,n)}}}1b FT(a,b){1f g(b)&&(!g(a.2g.4K)||!a.2g.4K.1z5)}1b 549(a,b,c,d,e,f,h,l){1d g,n=d[e?0:c.1h-1],k=c[e?0:c.1h-1];if(FT(n,k)){if(0===f)if(0===h){c=e?k.1Kz:k.1KA;1d w=g=e}1s c=e?k.1KA:k.1KB,g=!e,w=!1;1s 0===h?(c=e?k.1KC:k.1Kz,g=!e,w=!0):(c=e?k.1KB:k.1KC,g=e,w=!e);if(0<c.1h){e=e?0:c.1h-1;e=c[e];k.19F.1Wt(k.1co,e,Ok);d=qD(n,a.11H,Ok,Ok);if(d.x===f&&d.y===h)1f ET(k,e,f,h,l),!0;e=Ah(c,g?f:h,1b(b,c){k.19F.1Wt(k.1co,b,Ok);b=qD(n,a.11H,Ok,Ok);1f w?g?b.x-f:b.y-h:g?f-b.x:h-b.y});if(0>e){if(e=~e,0<e&&e<c.1h)1f 6Bc(b,n,a.11H,k,c[e-1],c[e],f,h,g,l),!0}1s 1f ET(k,c[e],f,h,l),!0}}1f!1}1b ad(a){if(!g(a))1t 1g r("3v is 1X.");if(g(a.16u)){if(!g(a.1uU))1t 1g r("3v.1uU is 1X.");if(!g(a.4cY))1t 1g r("3v.4cY is 1X.");}1s 1t 1g r("3v.16u is 1X.");1a.3o8=6Ba;1a.3o7=9E6;1a.1z3=!1;1a.33v=1p 0;1a.33w=.5;1a.2nB=1a.2z3=1a.2z4=1a.2nC=!1;1a.6x=ed.3bE;1a.2ff=1p 0;1a.31J=1a.31K=1a.31L=0;1a.1JB=1a.2z2=!0;1a.1qL=1p 0;1a.1Bi=a.16u;1a.1Mz=a.1uU;1a.2fe=a.4cY;1a.4wI=1a.3SO=1a.9Kd=1a.3SP=1a.1hT=1p 0;1a.14P=1g sa;1a.1Mz.4vd.7K(ad.1i.4vQ,1a);1a.1Mz.3Sk.7K(ad.1i.4vP,1a);1a.1Mz.3oz.7K(ad.1i.5AE,1a);1a.1Mz.4vb.7K(ad.1i.5AD,1a);1a.4vX=1g sa;1a.33O=1g sa;1a.2fw=!1;1a.33P=[];1a.1Q9=[];1a.2zn=[];1a.2Q1=[];1a.9Kc=1a.2Lv=0;1a.3oM=[];1a.1JC={1ZH:!1,3SM:1p 0};1a.3SN=1a.27g=1p 0;1a.1rL=1g y(0,0,.5,1);1a.1cX=1p 0;1a.33B=Q.1y(Q.6w);1a.4vR=1a.4vS=!1;1a.1vj=13j;1a.1jg=1a.1GF=1a.1dk=1a.6J=1a.1GE=1p 0;1a.2fh=1g E;1a.2z7=1a.2fz=1a.1Mt=!1;1a.1Uy=Cc.2fg.2L9;1a.5I7=a.4zB;1a.5I6=a.4zC;1a.4Ap=a.3q2;1a.4Ao=a.3q3;1a.4An=!0;1a.1Uv=1g E;1a.2eE=1;1a.1gb=1g Vv;1a.1Ms=1a.33Y=1a.2fr=1a.2La=1a.1pB=1p 0;1a.2z6=1g E;1a.3Sa=1a.3SJ=1a.3oi=!1;1a.3og=Cc.2fg.2L9;1a.3oY=cb("1ja/1or/6Bb.12H");1a.1GB=1g Ia;1a.2zj=1a.3Ss=1p 0;1a.2L8=!1;1a.4wi=1g E;1a.3o3=1a.2z0=1p 0;1a.27I=1g Ia;1a.2K6=$s.32h;1a.3o5=!0;1a.1GC=1g Ia;1a.2fu=1p 0;1a.33u=!1;1a.3oI=1g E;1a.2yZ=1p 0;1a.3So=-9E3;1a.4uK=100;1a.2fd=1g Ia;1a.9Kb=1p 0;1a.4uL=!0;1a.3Sp=cb("1ja/1or/9Ka.1Ui");1a.2fs=1a.2Lo=1p 0;1a.3Sq=cb("1ja/1or/9K9.1Ui");1a.2Ln=1a.2ft=1a.2Lp=1p 0;1a.1iA=[];1a.2zk=[];1j(a=0;6>a;a++)1a.2zk[a]=1g E(0,0,0,0),1a.1iA[a]=1g E(0,0,0,0);1a.1Mw=0;1a.2fv=1g E(1,0,0,1);1a.1vo=!1;1a.21f=1g C;1a.2z8=!0;1a.2zf=[256,512];1a.547=1;1a.2Lh=[];1a.33J=[];1a.3ot=0;1a.2Lf=1a.2ze=1p 0;1a.1Ux=1g E(0,0,1,1);1a.1Uw=!1;1a.1xe={3e:!1,1Q:1g C(0,0)}}1b 5Bb(a,b){1d c=a.1jO;g(c)||(c=a.1mk);a=b.1jO;g(a)||(a=b.1mk);1f c.1ec.1nr-a.1ec.1nr}1b 5B9(a){1d b=a.10X;a.1M();!b.3Z()&&g(b.1d2)&&(--b.1d2,0===b.1d2&&b.1M())}1b 5Ba(a,b){b=b.1DJ;a.1Bi.3o&&g(a.1Bi.9L)&&b.2nT(a.1Bi.9L);a=a.1Mz;1j(1d c=0,d=a.1h;c<d;++c){1d e=a.1n(c).1jf;g(e)&&e.3o&&g(e.9L)&&b.2nT(e.9L);e=a.1n(c).1Q7;g(e)&&e.3o&&g(e.9L)&&b.2nT(e.9L)}}1b UJ(a,b,c,d,e,f){if(g(b.10u))b.10u.4Q=f,b.10u.4J.5U.548=c;1s{1d h=1g Oa({6Z:Ja.11G});b.10u=h;h.4c=Fb.1M5({1O:a,3y:b.16b,7W:{1K:0},1tF:xa.7C,1qK:!0});b=1g ja({5p:["#1z 2vO\\1J 1o 14o;\\n#1u\\n#1z 1eW\\n   3G 1v 6r;\\n   2n 2v 18G;\\n#1u\\n\\2s 2k()\\n{\\n   2C = 1m(1.0);\\n#1z 2vO\\n   2C = 2sJ(14o);\\n#1u\\n#1z 1eW\\n   2C = 1Y(18G,6r);\\n#1u\\n}"]});"4wK"===e?(b.2N.1q("2vO"),h.2z=Ga.4t({1O:a,5O:"3Q 1m 1K;\\n\\1B 1m 1am;\\n\\1J 1o 14o;\\n\\2s 2k()\\n{\\n   1m 1fn = 1K;\\n   1v 1IM = 1am.zw - 1am.xy;\\n   1fn.xy = (1fn.xy - 1am.xy) / 1IM.xy * 2.0 - 1.0;\\n   6I = 1m(1fn.xy, 0.5, 1.0);\\n   14o = 1fn.z;\\n}",5A:b,7W:{1K:0}})):h.2z=Ga.4t({1O:a,5O:"3Q 1m 1K;\\n\\1B 1m 1am;\\n\\2s 2k()\\n{\\n   1m 1fn = 1K;\\n   1v 1IM = 1am.zw - 1am.xy;\\n   1fn.xy = (1fn.xy - 1am.xy) / 1IM.xy * 2.0 - 1.0;\\n   6I = 1m(1fn.xy, 0.0, 1.0);\\n}",5A:b,7W:{1K:0}});h.4Q=f;h.4w=pa.4t({5q:1g Aa(0,0,d.1G,d.1D)});h.4J={1am:1b(){1f 1a.5U.548},5U:{548:c}}}}1b GT(a,b){if(b.4o<b.5a)1f b;b=Q.1y(b,5AO);0<Q.2V(a,5AN).3N?b.5a=B.PI:b.4o=-B.PI;1f b}1b 4vO(a,b,c){1f 1b(d){1d e=-1,f=d.2g.8v,h=f.1h,l;1j(l=0;l<h;++l){1d p=f[l];p=m(p.1mk,p.1jO);if(p.1ec===b){e=l;1W}}if(-1!==e){h=e+a;p=f[h];p=g(p)?m(p.1mk,p.1jO):1p 0;if(!g(p)||p.1ec!==b)1f!b.2nL(d,c,h);1j(l=e;l<h;++l)f[l].1Mu();f.6z(e,a)}1f!0}}1b 5B3(a,b){1f{3gJ:1b(){1f 1a.5U.2GI},9K8:1b(){1f 1a.5U.2ff},3gv:1b(){1f 1a.5U.33w},2Gv:1b(){1f 1a.5U.33v},2GG:1b(){1f 1a.5U.3SL},2Gx:1b(){1f 1a.5U.3SK},2Gq:1b(){1f 1a.5U.4we},25k:1b(){1f 1a.5U.4wd},1wg:1b(){1d b=a.1O.13m.11A,d=A.8P(b,1a.5U.3SH,4vT);A.1Bh(b,d,4vU);1f 4vU},1Od:1b(){1d b=a.1O.13m.11A,d=a.1O.13m.18T,e=A.8P(b,1a.5U.3SH,4vT);A.1Bh(b,e,VJ);A.9b(d,VJ,VJ);1f VJ},2Xp:1b(){1f 1a.5U.33Q},3h1:1b(){1f 1a.5U.3oU},3Is:1b(){1f 1a.5U.1jB},3gX:1b(){1f 1a.5U.3oT},3h0:1b(){1f 1a.5U.3oS},3It:1b(){1f 1a.5U.4w9},3gZ:1b(){1f 1a.5U.33X},3Ip:1b(){1f 1a.5U.33W},3Io:1b(){1f 1a.5U.33V},3In:1b(){1f 1a.5U.33U},3Im:1b(){1f 1a.5U.33T},3gY:1b(){1f 1a.5U.33S},9K7:1b(){1f 1a.5U.6B9},2Gt:1b(){1f 1a.5U.3SG},2Gs:1b(){1f 1a.5U.3SF},3gI:1b(){1f 1a.5U.1UM},2GF:1b(){1f 1a.5U.2fy},2kv:1b(){1f 1a.5U.3Sy},3gu:1b(){1f 1a.5U.4vZ},3Ir:1b(){1f 1a.5U.33R},3Iq:1b(){1f 1a.5U.3oR},3gE:1b(){1f 1a.5U.2eE},1Os:1b(){1f 1a.5U.1ns},2GE:1b(){1f 1a.5U.2Lw},3Il:1b(){1f 1a.5U.3SD},2uG:1b(){1d c=b.1cX;1f g(c)&&g(c.7y)?c.7y:a.1O.1np},25n:1b(){1f 1a.5U.4wb},2uF:1b(){1d c=b.1cX;1f g(c)?A.9b(a.1O.13m.11A,c.4a,5AA):A.8K},2cr:1b(){1d a=1a.5U.25m;a.2O=1a.5U.2kx;1f a},3gG:1b(){1f a.1ep.3pb},1p9:1b(){1f 1a.5U.4wc},25p:1b(){1f 1a.5U.5B1},25o:1b(){rD.x=1a.5U.3oW.x*a.1O.8j;rD.y=(1-1a.5U.3oW.y)*a.1O.7p;rD.z=1a.5U.3oW.z*a.1O.8j;rD.w=(1-1a.5U.3oW.w)*a.1O.7p;1f rD},2jj:1b(){1f 1a.5U.1bB},2ky:1b(){1f a.36U},16R:1b(){1f 1a.5U.4wG},1t1:1b(){1f 1a.5U.5B2},1dw:1b(){1f 1a.5U.4wF},1kT:1b(){1f 1a.5U.4wE},1jr:1b(){1f 1a.5U.4wD},1hA:1b(){1f 1a.5U.4wC},1kS:1b(){1f 1a.5U.4wB},1p5:1b(){1f 1a.5U.4wA},1kQ:1b(){1f 1a.5U.4wz},13v:1b(){1f 1a.5U.1Sl},1fO:1b(){1f 1a.5U.4wy},1jq:1b(){1f 1a.5U.4wx},1Fu:1b(){1f 1a.5U.4ww},2kw:1b(){1f 1a.5U.4wv},1te:1b(){1f 1a.5U.4wu},2Gw:1b(){1f 1a.5U.4wt},3gz:1b(){1f 1a.5U.4ws},3gw:1b(){1f 1a.5U.4wr},3gx:1b(){1f 1a.5U.4wq},3gC:1b(){1f 1a.5U.4wp},3gS:1b(){1f 1a.5U.4wo},3gD:1b(){1f 1a.5U.4wn},3gA:1b(){1f 1a.5U.4wm},3gB:1b(){1f 1a.5U.4wl},4hk:1b(){1f 1a.5U.4wk},3gs:1b(){1f 1a.5U.6b},3gr:1b(){1f 1a.5U.1i4},1wo:1b(){1f 1a.5U.4wj},3gO:1b(){1f 1a.5U.4wh},1fl:1b(){1f 1a.5U.4wg},2GH:1b(){1f 1a.5U.4wf},1wb:1b(){1f 1a.5U.1wb},1lR:1b(){1f 1a.5U.1lR},1Fc:1b(){1f 1a.5U.1Fc},3SI:1b(){1f 1a.5U.3SI},17o:1b(){1f 1a.5U.33Z},3Ix:1b(){1f 1a.5U.3Sz},3Iw:1b(){1f 1a.5U.4w2},3Iv:1b(){1f 1a.5U.4w0},3Iu:1b(){1f 1a.5U.4w1},5U:{2GI:1g E(0,0,.5,1),2ff:1g y(0,0,0,0),33w:.5,33v:1p 0,3SL:1g C(6Ba,9E6),3SK:1g C(1E7,4E7),4wc:1g k,4we:1p 0,3SH:1g k,9K6:1g A,4wd:1g E,33Q:[],3oU:[],1jB:[],3oT:[],3oS:[],4w9:[],33X:[],33W:[],33V:[],33U:[],33T:[],33S:[],33R:[],3oR:[],3SD:[],6B9:0,4w3:[],3SG:1g C,3SF:1g C,1UM:1p 0,2fy:1g E,3Sy:1g C,4vZ:1g A,25m:y.1y(y.9r),2kx:0,4wb:1g E,2eE:1,1ns:1p 0,2Lw:1g E,33Z:1g E,4wG:0,1t1:0,4wF:0,4wE:0,4wD:1,4wC:1g y,4wB:1p 0,4wA:1p 0,4wz:1g E,1Sl:1g E,4wy:0,4wx:0,4ww:!1,4wv:0,4wu:1g E,4wt:0,4ws:0,4wr:1,4wq:1p 0,4wp:1p 0,4wo:1p 0,4wn:!1,4wm:0,4wl:0,4wk:!1,6b:0,1i4:0,4wj:1g E,4wh:1p 0,4wg:1g E,4wf:1p 0,1wb:0,1lR:1p 0,1Fc:1g y,3SI:1p 0,3Sz:[],4w2:[],4w1:[],4w0:[]}}}1b 4vv(a){1d b=1g E(3a.6w,3a.6w,-3a.6w,-3a.6w);a=a.2a;1j(1d c=0;c<a.1h;c++){1d d=a[c].15x;b.x=1k.2o(d.x,b.x);b.y=1k.2o(d.y,b.y);b.z=1k.1V(d.z,b.z);b.w=1k.1V(d.w,b.w)}1f b}1b 4vt(a,b,c,d,e){1f{1IO:1b(){1f d?e&&g(a.2ft)?a.2ft:!e&&g(a.2fs)?a.2fs:a.2Ln:c.2Lq.15z.1bA.167(0)},2dm:1b(){1f c.2nS.15z.1bA.167(0)},16R:1b(){1d b=1;if(g(a.6J))6U(a.6J.1ml){1S Cc.1ml.6i:b=0;1W;1S Cc.1ml.2Bd:b=1;1W;1S Cc.1ml.1TB:b=2;1W;1S Cc.1ml.3oD:b=3}1f b},1t1:1b(){1f g(a.6J)?a.6J.3oX:100},1dw:1b(){1f g(a.6J)?a.6J.2nN:0},1kT:1b(){1f g(a.6J)?a.6J.2nM:0},1jr:1b(){1f g(a.6J)?a.6J.2zg:1},1hA:1b(){1d b=1g E(0,1,1,1);g(a.6J)&&(b.x=a.6J.1MA.5r,b.y=a.6J.1MA.5t,b.z=a.6J.1MA.5G,b.w=a.6J.1MA.2O);1f b},1kS:1b(){1f a.1dk},1p5:1b(){1f a.1GF},1kQ:1b(){1f a.2fz},13v:1b(){1f a.1Uv},1fO:1b(){1f g(a.6J)?a.6J.2fp:0},1jq:1b(){1f g(a.6J)?a.6J.2nO:0},1Fu:1b(){1f a.1Mt},1gs:1b(){1f b}}}1b HT(a,b,c){1d d=a.3w;if(!d.1Mx){1d e=b.z-b.x,f=b.w-b.y,h=16t*1k.3i(b.y+.5*f)*1k.2T(e)*.5,l=9K5.5*1k.2T(f),p=k.15i(b.x+.5*e,b.y+.5*f,1k.1V(1k.1V(h,l)/1k.10n(.25*1k.PI),9E3));e=h;f=l;1d n=d.3j.1y(5Ax);b=1g k;k.1y(d.1K,b);c.19R=!0;g(c.1vK)||(c.1vK=1b(){c.6B8={16h:k.1y(d.1K,5Aw),11f:{8e:d.8e,8q:d.8q,12C:d.12C}};d.1dG({16h:p});oz.1G=2*e;oz.1D=2*f;oz.3I=1;oz.3W=1E4;oz.13n=e/f;d.3j=oz;a.1O.13m.1Gg(d.3j)});g(c.1vJ)||(c.1vJ=1b(){c.19R=!1;d.3j=n;d.1dG(c.6B8);a.1O.13m.1Gg(d.3j)})}}1b 4vw(a,b){1f{1IO:1b(){1f b.2Lq.15z.1bA.167(0)},2dm:1b(){1f b.2nS.15z.1bA.167(0)},4iz:1b(){1f 1g C(b.5zI,b.5zH)},16R:1b(){1d b=1;if(g(a.6J))6U(a.6J.1ml){1S Cc.1ml.6i:b=0;1W;1S Cc.1ml.2Bd:b=1;1W;1S Cc.1ml.1TB:b=2;1W;1S Cc.1ml.3oD:b=3}1f b},1t1:1b(){1f g(a.6J)?a.6J.3oX:100},1dw:1b(){1f g(a.6J)?a.6J.2nN:0},1kT:1b(){1f g(a.6J)?a.6J.2nM:0},1jr:1b(){1f g(a.6J)?a.6J.2zg:1},1hA:1b(){1d b=1g E(0,1,1,1);g(a.6J)&&(b.x=a.6J.1MA.5r,b.y=a.6J.1MA.5t,b.z=a.6J.1MA.5G,b.w=a.6J.1MA.2O);1f b},1kS:1b(){1f a.1dk},1p5:1b(){1f a.1GF},1kQ:1b(){1f a.2fz},13v:1b(){1f a.1Uv},1fO:1b(){1f g(a.6J)?a.6J.2fp:0},1jq:1b(){1f g(a.6J)?a.6J.2nO:0},1Fu:1b(){1f a.1Mt},1gs:1b(){1f b.1Uv}}}1b 3Sr(a,b){1j(1d c=a.1GB.2a,d=0,e=0,f=c.1h;e<f;e++){1d h=c[e],l=-1!==b.1dj.1su(h.11S),g=h.11S.1w8(b);h.13z=l&&5E3>g;d+=h.13z}if(a.6B7!==d){h=a.1GB.2a;c=[];e=0;1j(f=h.1h;e<f;e++)l=h[e],l.13z&&c.1q(l);a.4vu(b,a.2zj);e={2a:c};f=1g E(3a.6w,3a.6w,-3a.6w,-3a.6w);h=e.2a;1j(l=0;l<h.1h;l++)g=h[l].1Uv,f.x=1k.2o(g.x,f.x),f.y=1k.2o(g.y,f.y),f.z=1k.1V(g.z,f.z),f.w=1k.1V(g.w,f.w);a.4wi=f;h=4vv(e);e=0;1j(f=c.1h;e<f;e++)l=c[e],UJ(b.1O,l,h,a.2zj,"",a.3Ss),l.10u.5P(b.1O)}a.6B7=d}1b pz(a,b,c){1d d=1g k,e=1g k;k.3V(b,a,d);k.3V(c,a,e);b=1g k;k.4B(d,e,b);k.1T(b,b);a=-k.2A(b,a);1f 1g E(b.x,b.y,b.z,a)}1b 3SQ(a,b){b=b.1O;a=1g Ca({1O:b,1G:a,1D:a,8b:ua.9m,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})});1f 1g eb({1O:b,13I:[a],16Y:!1})}1b 5B6(a,b){if(!g(a.2ze)||a.547!==b.2Lg){a.547=b.2Lg;1d c=b.1O;b=1k.8a(b.2Lg);b=1g ja({2i:"9K4"+b,5p:["#2f 2Gj "+b+"\\1B 2v 3g6;\\1B 1o 2Gi;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1y4 = 1m(0.0);\\1r 2VO = 1o(2Gj) / 2.0;\\14D(7P y = 0; y < 2Gj; y++){\\14D(7P x = 0; x < 2Gj; x++){\\1r 2k5 = (-2VO + 1o(x)) * 2Gi;\\1r 2tW = (-2VO + 1o(y)) * 2Gi;\\2u 18U = 2F + 1v(2k5, 2tW);\\1U(18U.x > 1.0 || 18U.x < 0.0 || 18U.y > 1.0 || 18U.y < 0.0){\\1HN;\\n}\\1P 1A = 1Y(3g6, 18U);\\5d7 = 1V(1y4, 1A);\\n}\\n}\\1U(1y4.a < 0.11t){\\10W;\\n}\\3R = 1y4;\\n}\\n"]});1d d=1g ja({2i:"9K3",5p:["3Q 1m 1K;\\2J 1v 8u;\\1J 1v 2F;\\2s 2k()\\n{\\11u = 1K;\\1mN = 8u;\\n}\\n"]});a.2ze=c.32O(d,b,{4J:{},7H:a});a.2ze.4J.3g6=1b(){1f a.2Lh[a.3ot].167(0)};a.2ze.4J.2Gi=1b(){1f 1/a.2zf[a.3ot]}}}1b 5B7(a,b){g(a.2Lf)||(a.2Lf=b.1O.1aL("#2f 1a0 39 \\n#if (1a0 == 10)\\n#2f 14b 3\\n#2f 17r 1.5\\n#2f 17q 3.0\\n#2f 17p 12.0\\n#1u\\n#if (1a0 == 11)\\n#2f 14b 4\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 3.0\\n#2f 18J 12.0\\n#1u\\n#if (1a0 == 12)\\n#2f 14b 5\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 4.0\\n#2f 1aE 12.0\\n#1u\\n#if (1a0 == 13)\\n#2f 14b 6\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 4.0\\n#2f 1cP 12.0\\n#1u\\n#if (1a0 == 14)\\n#2f 14b 7\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 4.0\\n#2f 1fp 12.0\\n#1u\\n#if (1a0 == 15)\\n#2f 14b 8\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 4.0\\n#2f 1j2 12.0\\n#1u\\n#if (1a0 == 20)\\n#2f 14b 3\\n#2f 17r 1.5\\n#2f 17q 2.0\\n#2f 17p 8.0\\n#1u\\n#if (1a0 == 21)\\n#2f 14b 4\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 8.0\\n#1u\\n#if (1a0 == 22)\\n#2f 14b 5\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 8.0\\n#1u\\n#if (1a0 == 23)\\n#2f 14b 6\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 8.0\\n#1u\\n#if (1a0 == 24)\\n#2f 14b 7\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 3.0\\n#2f 1fp 8.0\\n#1u\\n#if (1a0 == 25)\\n#2f 14b 8\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 4.0\\n#2f 1j2 8.0\\n#1u\\n#if (1a0 == 26)\\n#2f 14b 9\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 4.0\\n#2f 1o9 8.0\\n#1u\\n#if (1a0 == 27)\\n#2f 14b 10\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 4.0\\n#2f 1s6 8.0\\n#1u\\n#if (1a0 == 28)\\n#2f 14b 11\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 2.0\\n#2f 1s6 4.0\\n#2f 1wA 8.0\\n#1u\\n#if (1a0 == 29)\\n#2f 14b 12\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 2.0\\n#2f 1s6 2.0\\n#2f 1wA 4.0\\n#2f 1Dj 8.0\\n#1u\\n#if (1a0 == 39)\\n#2f 14b 12\\n#2f 17r 1.0\\n#2f 17q 1.0\\n#2f 17p 1.0\\n#2f 18J 1.0\\n#2f 1aE 1.0\\n#2f 1cP 1.5\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 2.0\\n#2f 1s6 2.0\\n#2f 1wA 4.0\\n#2f 1Dj 8.0\\n#1u\\n#2f 4iX 7d\\n#2f 4iW 1o\\n#2f 4iV 1v\\n#2f 4iU 1w\\n#2f 2la 1m\\n#2f 4iT 1o\\n#2f 4iS 1v\\n#2f 4iR 1w\\n#2f 4iQ 1m\\n#2f 1oa 1v\\n#2f 4iP 2v\\n#2f 2Zc(x) 2Y(x, 0.0, 1.0)\\n#2f 146(t, p) 1Y(t, p)\\n#2f 1ob(t, p, o, r) 1Y(t, p + (o * r))\\6a 11Q(2la 15A) { 1f 15A.y; }\\2ZC 2Gh(\\1wC 3h,\\4iO 9f,\\1wC 1dz,\\6a 2bU,\\6a 2bT,\\6a 2bS\\n) {\\1wC 18I;\\2ZD.x = 3h.x;\\2ZD.y = 3h.y;\\2ZC 2lp = 146(9f, 18I);\\n#2f 1h9 2lp.y\\6a 1s7 = 11Q(1ob(9f, 18I, 1oa( 0, 1), 1dz.xy));\\6a 1Dk = 11Q(1ob(9f, 18I, 1oa( 1, 0), 1dz.xy));\\6a 1s8 = 11Q(1ob(9f, 18I, 1oa( 0,-1), 1dz.xy));\\6a 1Dl = 11Q(1ob(9f, 18I, 1oa(-1, 0), 1dz.xy));\\6a 2ZB = 1V(1s7, 1h9);\\6a 2ZA = 2o(1s7, 1h9);\\6a 2Zy = 1V(1Dk, 2ZB);\\6a 2Zw = 2o(1Dk, 2ZA);\\6a 2Zz = 1V(1s8, 1Dl);\\6a 2Zx = 2o(1s8, 1Dl);\\6a 2do = 1V(2Zz, 2Zy);\\6a 2Zv = 2o(2Zx, 2Zw);\\6a 2Zu = 2do * 2bT;\\6a 11D = 2do - 2Zv;\\6a 2Zt = 1V(2bS, 2Zu);\\1iY 2Zs = 11D < 2Zt;\\1U(2Zs)\\2j 2lp;\\6a 2ll = 11Q(1ob(9f, 18I, 1oa(-1,-1), 1dz.xy));\\6a 2lj = 11Q(1ob(9f, 18I, 1oa( 1, 1), 1dz.xy));\\6a 2lm = 11Q(1ob(9f, 18I, 1oa( 1,-1), 1dz.xy));\\6a 2lk = 11Q(1ob(9f, 18I, 1oa(-1, 1), 1dz.xy));\\6a 2lo = 1s8 + 1s7;\\6a 2ln = 1Dl + 1Dk;\\6a 2Za = 1.0/11D;\\6a 2Zf = 2lo + 2ln;\\6a 2Zq = (-2.0 * 1h9) + 2lo;\\6a 2Zo = (-2.0 * 1h9) + 2ln;\\6a 2lh = 2lm + 2lj;\\6a 2Zr = 2ll + 2lm;\\6a 2Zp = (-2.0 * 1Dk) + 2lh;\\6a 2Zn = (-2.0 * 1s8) + 2Zr;\\6a 2li = 2ll + 2lk;\\6a 2Zm = 2lk + 2lj;\\6a 2Zk = (abs(2Zq) * 2.0) + abs(2Zp);\\6a 2Zi = (abs(2Zo) * 2.0) + abs(2Zn);\\6a 2Zl = (-2.0 * 1Dl) + 2li;\\6a 2Zj = (-2.0 * 1s7) + 2Zm;\\6a 2Zh = abs(2Zl) + 2Zk;\\6a 2Zg = abs(2Zj) + 2Zi;\\6a 2Ze = 2li + 2lh;\\6a 1s5 = 1dz.x;\\1iY 1ha = 2Zh >= 2Zg;\\6a 2Zd = 2Zf * 2.0 + 2Ze;\\1U(!1ha) 1s8 = 1Dl;\\1U(!1ha) 1s7 = 1Dk;\\1U(1ha) 1s5 = 1dz.y;\\6a 2Zb = (2Zd * (1.0/12.0)) - 1h9;\\6a 2lg = 1s8 - 1h9;\\6a 2lf = 1s7 - 1h9;\\6a 14a = 1s8 + 1h9;\\6a 2Z5 = 1s7 + 1h9;\\1iY 2le = abs(2lg) >= abs(2lf);\\6a 1tl = 1V(abs(2lg), abs(2lf));\\1U(2le) 1s5 = -1s5;\\6a 1Zl = 2Zc(abs(2Zb) * 2Za);\\1wC 1wB;\\2Z9.x = 18I.x;\\2Z9.y = 18I.y;\\1wC 7J;\\2Z8.x = (!1ha) ? 0.0 : 1dz.x;\\2Z8.y = ( 1ha) ? 0.0 : 1dz.y;\\1U(!1ha) 1wB.x += 1s5 * 0.5;\\1U( 1ha) 1wB.y += 1s5 * 0.5;\\1wC 10c;\\2Z7.x = 1wB.x - 7J.x * 17r;\\2Z7.y = 1wB.y - 7J.y * 17r;\\1wC 10b;\\2Z6.x = 1wB.x + 7J.x * 17r;\\2Z6.y = 1wB.y + 7J.y * 17r;\\6a 2Z4 = ((-2.0)*1Zl) + 3.0;\\6a 8F = 11Q(146(9f, 10c));\\6a 2Z3 = 1Zl * 1Zl;\\6a 8D = 11Q(146(9f, 10b));\\1U(!2le) 14a = 2Z5;\\6a 14X = 1tl * 1.0/4.0;\\6a 2Z2 = 1h9 - 14a * 0.5;\\6a 2lc = 2Z4 * 2Z3;\\1iY 2ld = 2Z2 < 0.0;\\4iN -= 14a * 0.5;\\4iM -= 14a * 0.5;\\1iY 6R = abs(8F) >= 14X;\\1iY 6Q = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 17q;\\1U(!6R) 10c.y -= 7J.y * 17q;\\1iY 1hb = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 17q;\\1U(!6Q) 10b.y += 7J.y * 17q;\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 17p;\\1U(!6R) 10c.y -= 7J.y * 17p;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 17p;\\1U(!6Q) 10b.y += 7J.y * 17p;\\n#if (14b > 3)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 18J;\\1U(!6R) 10c.y -= 7J.y * 18J;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 18J;\\1U(!6Q) 10b.y += 7J.y * 18J;\\n#if (14b > 4)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1aE;\\1U(!6R) 10c.y -= 7J.y * 1aE;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1aE;\\1U(!6Q) 10b.y += 7J.y * 1aE;\\n#if (14b > 5)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1cP;\\1U(!6R) 10c.y -= 7J.y * 1cP;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1cP;\\1U(!6Q) 10b.y += 7J.y * 1cP;\\n#if (14b > 6)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1fp;\\1U(!6R) 10c.y -= 7J.y * 1fp;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1fp;\\1U(!6Q) 10b.y += 7J.y * 1fp;\\n#if (14b > 7)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1j2;\\1U(!6R) 10c.y -= 7J.y * 1j2;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1j2;\\1U(!6Q) 10b.y += 7J.y * 1j2;\\n#if (14b > 8)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1o9;\\1U(!6R) 10c.y -= 7J.y * 1o9;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1o9;\\1U(!6Q) 10b.y += 7J.y * 1o9;\\n#if (14b > 9)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1s6;\\1U(!6R) 10c.y -= 7J.y * 1s6;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1s6;\\1U(!6Q) 10b.y += 7J.y * 1s6;\\n#if (14b > 10)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1wA;\\1U(!6R) 10c.y -= 7J.y * 1wA;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1wA;\\1U(!6Q) 10b.y += 7J.y * 1wA;\\n#if (14b > 11)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1Dj;\\1U(!6R) 10c.y -= 7J.y * 1Dj;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1Dj;\\1U(!6Q) 10b.y += 7J.y * 1Dj;\\n#if (14b > 12)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1Zk;\\1U(!6R) 10c.y -= 7J.y * 1Zk;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1Zk;\\1U(!6Q) 10b.y += 7J.y * 1Zk;\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\6a 1LG = 18I.x - 10c.x;\\6a 1LF = 10b.x - 18I.x;\\1U(!1ha) 1LG = 18I.y - 10c.y;\\1U(!1ha) 1LF = 10b.y - 18I.y;\\1iY 2YZ = (8F < 0.0) != 2ld;\\6a 2Z1 = (1LF + 1LG);\\1iY 2YY = (8D < 0.0) != 2ld;\\6a 2YW = 1.0/2Z1;\\1iY 2Z0 = 1LG < 1LF;\\6a 2YX = 2o(1LG, 1LF);\\1iY 2YU = 2Z0 ? 2YZ : 2YY;\\6a 2YV = 2lc * 2lc;\\6a 14l = (2YX * (-2YW)) + 0.5;\\6a 2YS = 2YV * 2bU;\\6a 2YT = 2YU ? 14l : 0.0;\\6a 2lb = 1V(2YT, 2YS);\\1U(!1ha) 18I.x += 2lb * 1s5;\\1U( 1ha) 18I.y += 2lb * 1s5;\\2j 2la(146(9f, 18I).1H, 1h9);\\n}\\n\\1J 1v 2F;\\1B 2v 6T;\\4i 1o 2bU = 0.5;\\4i 1o 2bT = 0.125;\\4i 1o 2bS = 0.3Gc;\\2s 2k()\\n{\\2u 1dz = 1v(1.0) / 9e.zw;\\1P 1A = 2Gh(\\1mN,\\3Gb,\\3Ga,\\3G9,\\3G8,\\3G7);\\1r 2O = 1Y(6T, 2F).a;\\3R = 1m(1A.2y, 2O);\\n}\\n",{4J:{},7H:a}),a.2Lf.4J.6T=1b(){1f a.33J[a.3ot].167(0)})}1b sD(a,b,c,d,e){1a.2nR=a;1a.x=b;1a.y=c;1a.6b=d;1a.7M=1p 0;0!==d&&(1a.12f=a.4vg(b/2|0,c/2|0,d-1));1a.4F=Bg.1vn;1a.1mn=1a.21p=1a.7y=1a.9K2=1a.3oE=1p 0;1a.1d2=0;!g(e)&&a.1Q7.3o&&(e=a.1Q7.8c.1d1(b,c,d));1a.3g=e;1a.3SA=!1}1b WJ(a,b,c){1a.21m=1p 0;1a.2zi=a;1a.1o2=b;1a.21o=1p 0;1a.1UF=c}1b cj(a,b){1a.1vm=a;b=m(b,{});1a.4j=b.1O;1a.2p=1a.10T=!0;1a.7T=m(b.3g,Q.6w);1a.2nQ=[];g(b.1Mn)?1a.2nP=b.1Mn:a.3o?1a.2nP=a.1Mn:1a.1UI=!0;1a.1UI=!1;g(b.1Mo)?1a.2fq=b.1Mo:a.3o?1a.2fq=a.1Mo:1a.1UI=!0;1a.6J=1p 0;g(b.21g)&&4vn(1a,b);1a.1B9=Cc.1qT.11U}1b 4vl(a,b,c,d,e){d+=1;1d f=a.1vm;if(g(f)&&!(f.3nY<d))1j(1d h=1L.9K(a.2nQ),l=0;2>l;l++)1j(1d p=2*b+l,n=0;2>n;n++){1d k=2*c+n,w=4H.8s([p,k,d]);1j(l=0;l<h.1h;l++)if(w==h[l]&&(f=a.2nQ[w],4vm(f,e))){a=4vl(a,p,k,d);if(g(a)&&a.4F==Bg.1cY)1f a;if(f.4F==Bg.1cY)1f f;1f}}}1b 4vm(a,b){1f g(a)?Q.8h(a.3g,b):!1}1b 4vn(a,b){if(g(b)&&g(b.21g))g(a.6J)&&(a.6J.1M(),a.6J=b.21g,a.6J.35m=!0,a.1B9=a.6J.1x7,g(a.6J.1FE)&&a.6J.1FE.2yj());1s if(g(a.6J.6J)){a.6J.1M();a.6J=1p 0;1f}a=1L.2a(a.2nQ);1j(b=0;b<a.1h;b++){1d c=a[b];c.4F==Bg.1cY&&(c.4F=Bg.3Sn,c.3SA=!0)}}1b 4vk(a,b,c,d,e){if(!g(a))1t 1g 2w2("3K 2Q 2S be 7I 8w 1Z 1FR 9Z is 3o");if(e==Cc.1qT.10U)1f b[d*a.20Y+c];1j(1d f=e=0,h=0;2>h;h++)1j(1d l=0;2>l;l++){1d p=c+h;p=1k.2o(p,a.20Y-1);1d n=d+l;n=1k.2o(n,a.2yW-1);e+=b[n*a.20Y+p];f++}1f 0>=f?-1I6:e/f}1b Wf(){1a.8U=[];1a.4vd=1g sa;1a.3Sk=1g sa;1a.3oz=1g sa;1a.4vb=1g sa}1b XJ(a,b){if(!g(b))1t 1g r("7r is 1X.");a=a.3f(b);if(-1===a)1t 1g r("7r is 2S in 1a 1ho.");1f a}1b 4vc(a,b,c){1d d=a.8U;b=B.2Y(b,0,d.1h-1);c=B.2Y(c,0,d.1h-1);if(b!==c){1d e=d[b];d[b]=d[c];d[c]=e;a.13A();a.3oz.5k(e,c,b)}}1b IT(a){1a.5W=1g fk(a.3c,k.6h)}1b Wg(a){if(!g(a))1t 1g r("3v is 1X.");if(g(a.x)){if(!g(a.y))1t 1g r("3v.y is 1X.");if(0>a.x||0>a.y)1t 1g r("3v.x and 3v.y 2Q be 9U 6L or 14B to 16m.");}1s 1t 1g r("3v.x is 1X.");if(!g(a.6b))1t 1g r("3v.6b is 1X and 2Q be 9U 6L or 14B to 16m.");if(!g(a.8c))1t 1g r("3v.8c is 1X.");1a.6C=a.8c;1a.3Sj=a.x;1a.3Si=a.y;1a.1hr=a.6b;1a.2nJ=a.12f;1a.7T=1a.6C.1d1(1a.3Sj,1a.3Si,1a.1hr);1a.2fm=1a.2rE=1a.1UB=1a.1UC=1a.1UD=1a.1UE=1p 0;1a.4cZ=1a.172=0;1a.33L=[];1a.33M=1p 0;1a.1qE=$c.6i;1a.1Uz=1p 0;1a.2Ls={};1a.4F=vi.31D;1a.2nI=1a.1jP=!1;1a.2fo=1a.2fn=1a.33K=1a.2g=1p 0;1a.27L=!1;1a.13Z=1g Ec({1A:1g y(0,0,0,0),4e:1});1a.3or=!1;1a.21l=1p 0;1a.3om=!1}1b YJ(a){g(a)&&a.1Mu()}1b Pk(a){if(!g(a)||!g(a.1oy))1t 1g r("3v.1oy is 1X.");if(g(a.1oy.2eX))1t 1g r("A 5gq 1ag 1cF be 1rd 10M a 5Q5 5gr");1a.7Y=a.1oy;1a.7Y.2eX=1a;1a.1JC={6B6:!1,2yF:0,2Sf:0,3dN:0,3dM:0,2Lu:0,2zc:0,53Y:-1,53W:-1,545:-1,53Z:-1,544:-1,53X:-1,3op:!1};1d b=1a.7Y.8c.3c;1a.1tN=[];1a.27J=[];1a.21h=[];1a.2fi=[];1a.1Q6=1g pB;1a.1qF=1p 0;1a.5A5=5;1a.3oq=!1;1a.33H=[];1a.4v2=[];1a.2za=[];1a.3ok=0;1a.5A4=2;1a.3oo=1a.3Se=1p 0;1a.1ev=m(a.1ev,2);1a.33x=m(a.33x,100);1a.3ob=20;1a.3o9=1a.3oa=!1;1a.2Lc=1g IT({3c:b});1a.4v4=1g sa;1a.546=0;1a.2nF=1p 0;1a.33G=[];1a.3Sf=[];1a.3Sd=1a.2zb=!1}1b 4v3(a){1d b=a.1JC;b.2yF=0;b.2Sf=0;b.3dN=0;b.3dM=0;b.2Lu=0;b.2zc=0;a.27J.1h=0;a.21h.1h=0;a.2fi.1h=0}1b 5A3(a,b){1d c=a.27J.1h+a.21h.1h+a.2fi.1h;if(c!==a.546||a.3oq)b.1sn.1q(sa.1i.5k.7X(a.4v4,c)),a.546=c;b=a.1JC;b.6B6&&!b.3op&&(b.2yF=a.1tN.2lY(1b(a,b){1f 1k.1V(a,b.6b)},-1),b.2Lu=a.1tN.1h,b.3dN!==b.545||b.2Lu!==b.544||b.3dM!==b.53Z||b.2yF!==b.53Y||b.2zc!==b.53X||b.2Sf!==b.53W)&&(11l.7k("52A "+b.3dN+", 6B5: "+b.2Lu+", 6zi: "+b.3dM+", 1L2 6B4 6B5: "+b.2yF+", 1L2 6B4 52A: "+b.2Sf+", 9K1 1j 9d: "+b.2zc),b.545=b.3dN,b.544=b.2Lu,b.53Z=b.3dM,b.53Y=b.2yF,b.53X=b.2zc,b.53W=b.2Sf)}1b 5A8(a,b){1d c=Q.2V(a.3g,4uZ);a=c.3N-tD.3N;1d d=c.4k-tD.4k;c=Q.2V(b.3g,4uZ);b=c.3N-tD.3N;c=c.4k-tD.4k;1f a*a+d*d-(b*b+c*c)}1b Bq(a,b,c,d){c.5Ag&&(1p 0!==a.1oy.3Sv&&(c.4cZ=a.1oy.3Sv(c,d)),b.1q(c))}1b uD(){1a.21j=!0;1a.1Q5=!1;1a.21i=0}1b 4uY(){1a.1tI=1g uD;1a.2fk=1g uD;1a.21k=1g uD;1a.1tH=1g uD}1b Ph(a,b,c,d,e,f,h){if(c.3QC(b,d,e)!==dj.6i){a:{1d l=f;c=a.1JC;++c.3dN;a.1Q6.2nG(b);b.4v1(d.1gA);b.6b>c.2Sf&&(c.2Sf=b.6b);if(d.3z===O.10j||d.3w.3j 2m Jb||d.3w.3j 2m Ee){e=d.3w.3j;g(e.1d3)&&(e=e.1d3);1d p=d.1O;f=p.8j;p=p.7p;e=a.7Y.1DR(b.6b)/(1k.1V(e.5C-e.7b,e.2W-e.3B)/1k.1V(f,p));d.1ep.3e&&d.3z!==O.10j&&(e-=B.1ep(b.172,d.1ep.1DZ)*d.1ep.3pc)}1s f=a.7Y.1DR(b.6b),e=b.172,f=f*d.1O.7p/(e*d.3w.3j.34D),d.1ep.3e&&(f-=B.1ep(e,d.1ep.1DZ)*d.1ep.3pc),e=f;f=e<a.1ev;1d n=b.1wJ,k=b.1yy,w=b.1yz,x=b.1AI;e=b.1Uz===a.2nF?b.1qE:$c.6i;p=a.1oy;if(f||l){1d m=$c.3p3(e)===$c.1xf,t=$c.3p3(e)===$c.3p4||e===$c.6i,r=b.4F===vi.1k0;(m=m||t||r)||g(p.4vV)&&(m=p.4vV(b));if(m){f&&Bq(a,a.21h,b,d);a.1tN.1q(b);h.21j=b.1jP;h.1Q5=e===$c.1xf;h.21i=b.1jP?0:1;b.1Uz=d.1gA;b.1qE=$c.1xf;h.1Q5||a.2za.1q(b);a=1p 0;1W a}l=!0;f&&Bq(a,a.27J,b,d)}if(p.5AK(b))if(n.2nI&&k.2nI&&w.2nI&&x.2nI)a.1tN.1q(b),Bq(a,a.21h,b,d),a.1Q6.2nG(n),a.1Q6.2nG(k),a.1Q6.2nG(w),a.1Q6.2nG(x),h.21j=b.1jP,h.1Q5=e===$c.1xf,h.21i=b.1jP?0:1,b.1Uz=d.1gA,b.1qE=$c.1xf,h.1Q5||a.2za.1q(b);1s{b.1Uz=d.1gA;b.1qE=$c.31V;t=a.1tN.1h;f=a.2fi.1h;p=a.21h.1h;m=a.27J.1h;r=a.2za.1h;if(!(n.6b>=ZJ.1h)){1d G=d.3w.19I,q=a.7Y,u=a.2Lc,v=ZJ[n.6b],y=v.1tI,A=v.2fk,K=v.21k,C=v.1tH;G.3N<n.3g.5a?G.4k<n.3g.4P?(Ph(a,n,q,d,u,l,y),Ph(a,k,q,d,u,l,A),Ph(a,w,q,d,u,l,K),Ph(a,x,q,d,u,l,C)):(Ph(a,w,q,d,u,l,K),Ph(a,n,q,d,u,l,y),Ph(a,x,q,d,u,l,C),Ph(a,k,q,d,u,l,A)):G.4k<n.3g.4P?(Ph(a,k,q,d,u,l,A),Ph(a,n,q,d,u,l,y),Ph(a,x,q,d,u,l,C),Ph(a,w,q,d,u,l,K)):(Ph(a,x,q,d,u,l,C),Ph(a,w,q,d,u,l,K),Ph(a,k,q,d,u,l,A),Ph(a,n,q,d,u,l,y));v.3CD(h)}if(t!==a.1tN.1h){w=h.1Q5;n=h.21i;k=!1;if(!h.21j&&!w){w=a.1tN;1j(x=t;x<w.1h;++x)1j(l=w[x];1p 0!==l&&l.1qE!==$c.9K0&&l!==b;)l.1qE=$c.5Bj(l.1qE),l=l.12f;a.1tN.1h=t;a.2za.1h=r;a.1tN.1q(b);b.1qE=$c.1xf;e=e===$c.1xf;!e&&n>a.3ob&&(a.2fi.1h=f,a.21h.1h=p,a.27J.1h=m,Bq(a,a.21h,b,d),h.21i=b.1jP?0:1,k=!0);h.21j=b.1jP;(h.1Q5=e)||a.2za.1q(b);++c.2zc}a.3oa&&!k&&Bq(a,a.2fi,b,d)}}1s b.1Uz=d.1gA,b.1qE=$c.1xf,a.1tN.1q(b),Bq(a,a.27J,b,d),h.21j=b.1jP,h.1Q5=e===$c.1xf,h.21i=b.1jP?0:1;a=1p 0}1f a}++a.1JC.3dM;a.1Q6.2nG(b);h.21j=!0;h.1Q5=!1;h.21i=0;h=b.3g;g(a.3Se)&&Q.8h(h,a.3Se)||g(a.3oo)&&Q.8h(h,a.3oo)?(g(b.2g)&&g(b.2g.4c)||Bq(a,a.21h,b,d),h=b.1Uz===a.2nF?b.1qE:$c.6i,h!==$c.3ol&&h!==$c.1xf&&a.2za.1q(b),b.1qE=$c.3ol):((a.3o9||0===b.6b)&&Bq(a,a.2fi,b,d),b.1qE=$c.3p4);b.1Uz=d.1gA}1b 6B3(a,b){1f a.4cZ-b.4cZ}1b JT(a,b,c,d,e,f){1p 0!==c.3Sv&&e.15F(6B3);1j(1d h=0,l=e.1h;h<l&&(Kd()<d||!f);++h)f=e[h],a.1Q6.2nG(f),c.4sx(b,f),f=!0;1f f}1b pn(a){1a.15x=1p 0;1a.10C=3n.4O("3M");1a.10C.1D=512;1a.10C.1G=512;1a.27K=3n.4O("3M");1a.27K.1D=512;1a.27K.1G=512;1a.1iz=1g Ia;1a.2z9=1g Ia;1a.1dJ=1g Ia;1a.2nE=a;1a.2fj=1}1b cm(a,b){if(g(b)){1d c=Q.17d(b,a.7T,KT);g(c)&&(a.3or=!1);g(a.1UE)&&cm(a.1UE,b);g(a.1UD)&&cm(a.1UD,b);g(a.1UC)&&cm(a.1UC,b);g(a.1UB)&&cm(a.1UB,b)}}1b LT(a,b,c,d){1d e=a.1h,f=[];c/=b.1G;d/=b.1D;1j(1d h=0;h<e;h++){1d l=a[h],g=1g C;g.x=(l.3N-b.4o)*c;g.y=(b.4P-l.4k)*d;g.x=1k.2t(g.x+.5);g.y=1k.2t(g.y+.5);f.1q(g)}1f f}1b 4uX(a,b,c,d,e,f){1d h=b.2a.1h,l;1j(l=0;l<h;l++){1d p=b.2a[l],n=Q.17d(p.14w,c,KT);if(g(n)){n=g(p.1bM)&&p.1bM?y.2f3:f?1g y(0,0,0,1):p.1b5;1d k=LT(p.3q,c,d,e);Sv.2x0(a,{3oj:k,1b5:n,19g:p.19g,11a:p.11a})}}}1b He(a){a=m(a,ba.9y);1d b=1g yp({3c:a}),c=1g Wf;1a.5W=a;1a.5zX=c;1a.2fe=1g MJ;1a.17u=1p 0;1a.7G=1g Pk({1oy:1g ad({16u:b,1uU:c,4cY:1a.2fe})});1a.4r6=1g pn(1a.7G);1a.1Bi=b;1a.4uU=1g sa;MT(1a);1a.3S8=1a.2p=!0;1a.3oc=1g na({2I:cb("1ja/1or/6B2.1Ui")});1a.1ev=2;1a.33x=100;1a.3ob=20;1a.3o9=1a.3oa=!1;1a.2ff=1p 0;1a.2nC=!1;1a.2z4=!0;1a.2z3=!1;1a.2nB=!0;1a.3o8=1E7;1a.3o7=2E7;1a.3o6=1E7;1a.3S7=5E7;1a.2S1=1a.5zO=!0;1a.6x=ed.3bE;1a.5zL=1a.5zM=1a.5zN=0;1a.1JB=1a.2z2=!0;1a.4uN=1a.21d=1p 0;1a.4uS=1;1a.21f=1g C(0,0);1a.177=O.6G;1a.2K6=$s.32h;1a.3o5=!0}1b MT(a){1d b=[],c=g(a.17u)&&(a.17u.1hP.141(/1rp/)||a.17u.1hP.141("4X")),d=["XR 1o 1Yg = 16t.0;\\4i 1o 1Lp = 16t.0 * 1.2ku;\\4i 1o 2WF = 1Lp * 1Lp;\\4i 1o Kr = 0.2tA;\\4i 1o Km = 0.2bF;\\4i 1o 1rD = 15.0;\\4i 1o 2Ws = Kr * 1rD;\\4i 1o 2Wr = Km * 1rD;\\4i 1o 2Ww = Kr * 4.0 * 1eN;\\4i 1o 2Wv = Km * 4.0 * 1eN;\\4i 1o 2kp = 1.0 / (1Lp - 1Yg);\\4i 1o 1Yh = 0.25;\\4i 1o 2Wz = 2kp / 1Yh;\\4h4 4h3\\n{\\1R 2cj;\\1R 2ci;\\n};\\4i 7P 1I0 = 2;\\4i 1o 1I1 = 2.0;\\1r 3b(1o 2WH)\\n{\\1r x = 1.0 - 2WH;\\2j 1Yh * 108(-0.2tz + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\\n}\\2ck 2Gp(1w 1CS, 7d 2WD, 1w 2uu)\\n{\\1R 2km = 1w(1.0 / 3r(0.650, 4.0), 1.0 / 3r(0.570, 4.0), 1.0 / 3r(0.475, 4.0));\\1R 1CR = 1CS - 1al;\\1r 2kq = 1h(1CR);\\4h2 /= 2kq;\\1r 2kt = 1h(1al);\\1r 2WG = 2kt * 2kt;\\1r B = 2.0 * 1h(1al) * 2A(1T(1al), 1CR);\\1r C = 2WG - 2WF;\\1r 2WE = 1V(0.0, B*B - 4.0 * C);\\1r 2ks = 0.5 * (-B - 3Y(2WE));\\1R 2WB = 1al + 1CR * 2ks;\\4h1 -= 2ks;\\1r 1qk = 108((1Yg - 1Lp) / 1Yh);\\1r 1HZ = 15B(2WD, 2A(2uu, 1CS) / 1h(1CS), 1.0);\\1r 1HY = 2A(-1CR, 1CS) / 1h(1CS);\\1r 2kr = 3b(1HY);\\1r 2WC = 3b(1HZ);\\1r 2Wx = 1qk*2kr;\\1r 2Wy = (2WC + 2kr);\\1r 2ko = 2kq / 1I1;\\1r 2Wu = 2ko * 2kp;\\1R 2kn = 1CR * 2ko;\\1R 2WA = 2WB + 2kn * 0.5;\\1R 2Wt = 1w(0.0);\\1R 2kl = 1w(0.0);\\14D(7P i=0; i<1I0; i++)\\n{\\1r 14o = 1h(2WA);\\1r 1qk = 108(2Wz * (1Yg - 14o));\\1r 1HX = 1qk*2Wy - 2Wx;\\4h0 = 108(-1HX * (2km * 2Ww + 2Wv));\\4gZ += 2kl * (1qk * 2Wu);\\4gY += 2kn;\\n}\\2ck 1A;\\6p.2cj = 2Wt * (2km * 2Ws + 2Wr);\\6p.2ci = 2kl;\\2j 1A;\\n}\\n"];!g(a.17u)||c&&!a.1Bi.2Eo?a.7G.7Y.4J=1p 0:(d.1q(a.17u.1hP),b.1q("1Lq"),a.7G.7Y.4J=a.17u.1dg);d.1q("#1z 5J\\n#6A 5J : 5F\\n#1u\\1B 1m 3gJ;\\1B 1o 3gE;\\1B 1m 2ky;\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n#if 25q > 0\\1B 2v 3Ix[25q];\\1B 1m 3Iw[25q];\\1B 7d 3Iv[25q];\\1B 1m 3Iu[25q];\\n#1u\\n#if 1bL > 0\\1B 2v 2Xp[1bL];\\1B 1m 3h1[1bL];\\1B 7d 3h0[1bL];\\1B 7d 3It[1bL];\\1B 1m 3Is[1bL];\\n#1z 4hm\\1B 1o 3gZ[1bL];\\n#1u\\n#1z 1bn\\1B 1v 3Ir[1bL];\\n#1u\\n#1z 1bm\\1B 1m 3Iq[1bL];\\n#1u\\n#1z 3gR\\1B 1v 25p;\\n#1u\\n#1z 3gQ\\1B 1m 25o;\\n#1u\\n#1z 3gW\\1B 1o 3Ip[1bL];\\n#1u\\n#1z 3gV\\1B 1o 3Io[1bL];\\n#1u\\n#1z 3gU\\1B 1o 3In[1bL];\\n#1u\\n#1z 3gT\\1B 1o 3Im[1bL];\\n#1u\\n#1z 2GJ\\1B 1o 3gY[1bL];\\n#1u\\n#1z 4hl\\1B 1m 3Il[1bL];\\n#1u\\1B 1m 3gX[1bL];\\n#1u\\n#1z 1OD\\1B 2v 3gI;\\1B 1m 2GF;\\1B 1o 3gv;\\n#1u\\n#1z 2Gu\\1B 2v 2Gv;\\n#1u\\n#if 2l(1At) || 2l(1yd)\\1B 1v 2GG;\\n#1u\\n#1z 3gL\\1B 1m 25n;\\n#1u\\n#1z 1yd\\1B 1v 2Gx;\\n#1u\\n#1z 2GD\\1B 2v 2uG;\\1B 5w 2uF;\\1B 1m 2cr;\\n#1u\\n#if 2l(1OC) && 2l(2Gz) && (2l(1wn) || 2l(1At))\\1B 1o 3gG;\\n#1u\\n#1z 1Oj\\1B 1w 1p9;\\n#1u\\n#1z 2cm\\1B 2v 1Os;\\1B 1m 2GE;\\1J 1w 2co;\\n#1u\\n#1z 1Yi\\1B 2v 3gx;\\1B 2v 3gS;\\1B 2v 3gC;\\1B 1o 4hk;\\1B 1o 2kw;\\1B 1o 3gw;\\1B 1o 2Gw;\\1B 1o 3gz;\\1B 1o 3gB;\\1B 1o 3gA;\\1B 1o 3gD;\\1B 1m 1te;\\4i 1o PI = 3.3Ik;\\1J 1v 2WR;\\n#1u\\1J 1w 1If;\\1J 1w 13L;\\1J 1w 2F;\\1J 1w 2WL;\\1J 1w 1dy;\\n#1z 1Lq\\1J 1o 2WU;\\1J 1o 2WV;\\n#1u\\n#if 2l(1OC) || 2l(1yd)\\1J 1o 2uy;\\1J 1w 2WS;\\1J 1w 2WT;\\n#1u\\n#1z 1yd\\1J 1w 1La;\\1J 1w 1L9;\\n#1u\\1J 1o 1CU;\\n#1z 2GA\\1B 2v 1kS;\\1B 2v 1p5;\\1B 1o 1Fu;\\1B 1o 16R;\\1B 1o 1t1;\\1B 1o 1jr;\\1B 1o 1fO;\\1B 1o 1jq;\\1B 1o 1dw;\\1B 1o 1kT;\\1B 1m 1hA;\\1B 1o 1kQ;\\1B 1m 13v;\\n#1u\\1B 1m 17o;\\n#1z 3gP\\1B 1m 1wo;\\1B 2v 3gO;\\n#1u\\n#if 2l(3gN) || 2l(3gM)\\1B 1m 1fl;\\1B 2v 2GH;\\n#1u\\1P 3Ij(\\1P 1rS,\\2uJ 1Ym,\\2u 1rT,\\1P 1o2,\\1P 1CX,\\1P 1jB,\\166 13E,\\1r 1pb,\\1r 3Ii,\\1r 3Ih,\\1r 3Ig,\\1r 3If,\\1r 2uL,\\2u 7g,\\1P 2cw)\\n{\\2u 1l4 = 7F(1o2.st, 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2Xj = 7F(1v(0.0), 1o2.pq - 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2u 14L = 1CX.xy;\\2u 3b = 1CX.zw;\\2u 8u = 1rT * 3b + 14L;\\1U(13E)\\n{\\5ec.y = 1.0 - 8u.y;\\n}\\1P 1Q = 1Y(1Ym, 8u);\\1R 1A = 1Q.2y;\\1r 2O = 1Q.a;\\1U(1jB.a > 0.11t)\\n{\\1r 2cz = abs(1jB.r - 1A.r);\\1r 2cy = abs(1jB.g - 1A.g);\\1r 2cx = abs(1jB.b - 1A.b);\\1U(2cz < 1jB.a && 2cy < 1jB.a && 2cx < 1jB.a)\\n{\\1wm = 0.0;\\n}\\n}\\n#if !2l(2GJ)\\1P 1uG = 9D(1m(1A, 2O));\\6p = 1uG.2y;\\1wm = 1uG.a;\\n#1s\\6p = 3r(1A, 1w(2uL));\\n#1u\\n#1z 1bn\\2u 1rR = 4hj;\\1U (7g.x < 0.0 && 4u.x > 1rR.x) {\\1wm = 0.0;\\n}\\5L if (7g.x > 0.0 && 4u.x < 1rR.x) {\\1wm = 0.0;\\n}\\1U(7g.y < 0.0 && 4u.y > 1rR.y) {\\1wm = 0.0;\\n}\\5L if(7g.y > 0.0 && 4u.y < 1rR.y) {\\1wm = 0.0;\\n}\\n#if 1bL < 2\\1U(2O == 0.0)\\n{\\10W;\\n}\\n#1u\\n#1u\\n#1z 1bm\\1U (4u.x < 2cw.x || 4u.y > 2cw.y) {\\1wm = 0.0;\\n}\\5L if (4u.x > 2cw.z || 4u.y < 2cw.w) {\\1wm = 0.0;\\n}\\n#if 1bL < 2\\1U(2O == 0.0)\\n{\\10W;\\n}\\n#1u\\n#1u\\n#1z 3gW\\6p = 3T(1w(0.0), 1A, 3Ii);\\n#1u\\n#1z 3gV\\6p = 3T(1w(0.5), 1A, 3Ih);\\n#1u\\n#1z 3gU\\6p = 2jm(1A, 3Ig);\\n#1u\\n#1z 3gT\\6p = 24G(1A, 3If);\\n#1u\\1r 1CW = 2O * 1pb;\\1r 1CV = 3T(1rS.a, 1.0, 1CW);\\1R 1bk = 3T(1rS.2y * 1rS.a, 1A, 1CW) / 1CV;\\2j 1m(1bk, 1CV);\\n}\\1R 1SS(1w 2y) {\\n#1z 1Oj\\1R 1fQ = 24U(2y);\\1Cy.x += 1p9.x;\\1Cy.y = 2Y(1fQ.y + 1p9.y, 0.0, 1.0);\\1Cy.z = 1fQ.z > 1bg ? 1fQ.z + 1p9.z : 0.0;\\2bG = 24T(1fQ);\\n#1u\\2j 2y;\\n}\\1P 4hi(\\1P 1rS,\\2uJ 1Ym,\\2uJ 3Ie,\\2u 1rT,\\1P 1o2,\\1P 1CX,\\1P 2cv,\\1r 1pb,\\1r 2uL)\\n{\\2u 1l4 = 7F(1o2.st, 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2Xj = 7F(1v(0.0), 1o2.pq - 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2u 14L = 1CX.xy;\\2u 3b = 1CX.zw;\\2u 8u = 1rT * 3b + 14L;\\1P 1Q = 1Y(1Ym, 8u);\\1P 1Ij = 1Y(3Ie, 8u);\\1U(1Ij.r == 2ky.r && 1Ij.g == 2ky.g && 1Ij.b == 2ky.b){\\1ak.2y = 2cv.2y;\\n}\\1R 1A = 1Q.2y;\\1r 2O = 1Q.a;\\n#if !2l(2GJ)\\1P 1uG = 9D(1m(1A, 2O));\\6p = 1uG.2y;\\1wm = 1uG.a;\\n#1s\\6p = 3r(1A, 1w(2uL));\\n#1u\\1r 1CW = 2O * 1pb;\\1r 1CV = 3T(1rS.a, 1.0, 1CW);\\1R 1bk = 3T(1rS.2y * 1rS.a, 1A, 1CW) / 1CV;\\2j 1m(1bk, 1CV);\\n}\\1P 3gK(1m 2GI, 1w 8u);\\1P 2X3(1w 2X2, 1v 8u, 14j 2cp, 1m 1Yj, 1o 1Xt, 1o 1ay);\\n#1z 2GA\\1r 1k4()\\n{\\1r 1mJ = 13R(1CU - 0.2jt, 1t1);\\1r 1dW = abs(1cu(1CU));\\1r 1dV = abs(1ct(1CU));\\1r dF = 1V(1dW, 1dV);\\2j (1mJ < dF) ? 1.0 : 0.0;\\n}\\1P 1fj()\\n{\\1r 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\1r 1i5 = (1CU - 1dw) / 19U;\\1r 1eP = 2Y(1i5, 0.0, 1.0);\\2u 1kR = 1v(0.0, 1eP);\\2j 1Y(1kS, 1kR).15A;\\n}\\n#1u\\n#1z 1Yi\\1P 2X7(in 1o 1Ig,in 1w 1aY)\\n{\\1U (1Ig <= PI/180.0)\\n{\\2j 1m(0.0);\\n}\\2u 3Id = 8N(2WR);\\2u 2uK = 1aY.xy;\\1P 1yf = 1m(0.0);\\1r 2Xk = 0.0;\\1r 3s = 1h(2uK);\\1r 2Xo = 1cz(2uK.x/3s);\\1r 2cu = 2Xo;\\1U(2uK.y<0.0)\\n{\\5eb = 2.0 * PI - 2Xo;\\n}\\2u n = 1v(3i(2cu),-2T(2cu));\\2u t = 1v(2T(2cu),3i(2cu));\\1KZ 3Ic = 1bG(n,t);\\2u 1Yo = 3Id - 1v(0.5,0.5);\\2Xn = 3Ic * 1Yo ;\\2Xn += 1v(0.5,0.5);\\2Xn = 13f(0.0,1.0,1Yo);\\3Ia = 1Y(3gS, 1Yo);\\3Ib = 1yf.a;\\1r 2Xm = 2t(1Yo.x * 64.0);\\1r 2Xl = 2t(1Yo.y * 64.0);\\1U ((2Xm<=2.0||2Xm>=61.0||2Xl<=2.0||2Xl>=61.0)&&2Xk<1.0)\\n{\\3Ib = 0.0;\\n}\\3Ia = 1m(1yf.2y,2Xk);\\2j 1yf;\\n}\\n#1u\\1P 4hh(\\1P 1rS,\\2uJ 1Ym,\\2u 1rT,\\1P 1o2,\\1P 1CX)\\n{\\1r 1pb = 1.0;\\2u 1l4 = 7F(1o2.st, 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2Xj = 7F(1v(0.0), 1o2.pq - 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2u 14L = 1CX.xy;\\2u 3b = 1CX.zw;\\2u 8u = 1rT * 3b + 14L;\\1P 1Q = 1Y(1Ym, 8u);\\1R 1A = 1Q.2y;\\1r 2O = 1Q.a;\\1r 1CW = 2O * 1pb;\\1r 1CV = 3T(1rS.a, 1.0, 1CW);\\1R 1bk = 3T(1rS.2y * 1rS.a, 1A, 1CW) / 1CV;\\2j 1m(1bk, 1CV);\\n}\\2s 2k()\\n{\\n#1z 3gR\\2u 1rR = 4hg;\\1U (25p.x < 0.0 && 4u.x > 1rR.x) {\\10W;\\n}\\5L if (25p.x > 0.0 && 4u.x < 1rR.x) {\\10W;\\n}\\1U(25p.y < 0.0 && 4u.y > 1rR.y) {\\10W;\\n}\\5L if(25p.y > 0.0 && 4u.y < 1rR.y) {\\10W;\\n}\\n#1u\\n#1z 3gQ\\1U (4u.x < 25o.x || 4u.y > 25o.y) {\\10W;\\n}\\5L if (4u.x > 25o.z || 4u.y < 25o.w) {\\10W;\\n}\\n#1u\\n#1z 3gP\\2u 1Av;\\3I9.x = 2F.x * (17o.z - 17o.x) + 17o.x;\\3I9.y = 2F.y * (17o.w - 17o.y) + 17o.y;\\1U(1Av.x>1wo.x && 1Av.x<1wo.z && 1Av.y> 1wo.y&& 1Av.y < 1wo.w)\\n{\\2u 2uI;\\2Xi.xy = 1Av.xy - 1wo.xy;\\2Xi.x = 2uI.x / (1wo.z - 1wo.x);\\2Xi.y = 2uI.y / (1wo.w - 1wo.y);\\1P 3I8 = 1Y(3gO, 2uI);\\1U(3I8.r > 0.9)\\n{\\10W;\\n}\\n}\\n#1u\\n#1z 3gN\\2u 1eU = 2F.xy;\\1yg.x = 1eU.x * (17o.z - 17o.x) + 17o.x;\\1yg.y = 1eU.y * (17o.w - 17o.y) + 17o.y;\\1U(1eU.x>1fl.x && 1eU.x<1fl.z && 1eU.y> 1fl.y&& 1eU.y < 1fl.w)\\n{\\1yg.xy = 1eU.xy - 1v(1fl.x, 1fl.w);\\1yg.x = 1eU.x / (1fl.z - 1fl.x);\\1yg.y = 1.0 - 1eU.y / (1fl.y - 1fl.w);\\1P 2uH = 1Y(2GH, 1eU);\\1U(2uH.r > 0.5)\\n{\\10W;\\n}\\n}\\n#1u\\n#1z 3gM\\2u 1eU = 2F.xy;\\1yg.x = 1eU.x * (17o.z - 17o.x) + 17o.x;\\1yg.y = 1eU.y * (17o.w - 17o.y) + 17o.y;\\1r 2cs = 1.0;\\2u 2ct = 7F(1fl.xy, 1eU);\\3I7 = 2cs * 2ct.x * 2ct.y;\\1U(2cs < 0.1)\\n{\\10W;\\n}\\5ea = 7F(1eU, 1fl.zw);\\3I7 = 2cs * 2ct.x * 2ct.y;\\1U(2cs < 0.1)\\n{\\10W;\\n}\\1yg.xy = 1eU.xy - 1v(1fl.x, 1fl.w);\\1yg.x = 1eU.x / (1fl.z - 1fl.x);\\1yg.y = 1.0 - 1eU.y / (1fl.y - 1fl.w);\\1P 2uH = 1Y(2GH, 1eU);\\1U(2uH.r < 0.1)\\n{\\10W;\\n}\\n#1u\\n#1z 3gL\\1U (2F.x < 25n.x || 25n.z < 2F.x ||\\1mN.y < 25n.y || 25n.w < 2F.y)\\n{\\10W;\\n}\\n#1u\\n#1z 2GD\\1r 2GC = 1Ii(4u, 2uG, 2uF);\\n#1u\\1P 1A = 3gK(3gJ, 2Y(2F, 0.0, 1.0));\\n#1z 5e9\\1U (2F.x < (1.0/256.0) || 2F.x > (255.0/256.0) ||\\1mN.y < (1.0/256.0) || 2F.y > (255.0/256.0))\\n{\\6p = 1m(1.0, 0.0, 0.0, 1.0);\\n}\\n#1u\\n#if 2l(1OD) || 2l(1At) || 2l(1js)\\1R 1jA = 2be(1If, 1w(0.0), 1w(1.0));\\1R 4X = 1Xn * 1jA;\\n#1u\\n#if 2l(1At) || 2l(1yd)\\1r 2Xb;\\1U (1kO == 1HG)\\n{\\2Xh = 1V(1q9.x - 1q9.y, 1q9.w - 1q9.z) * 0.5;\\n}\\5L if (1kO == 3eV)\\n{\\2Xh = -1p3[3].z;\\n}\\5L\\n{\\2Xh = 1h(1p3[3]);\\n}\\1r 2cq = 2GG.x;\\1r 2Xa = 2GG.y;\\1U (1kO != 1F3) {\\1R 10N = 2TB().10N;\\1r 2Xg = 1V(10N.x, 1V(10N.y, 10N.z));\\3HW -= 2Xg;\\3HX -= 2Xg;\\n}\\1r 1ay = 2Y((2Xb - 2cq) / (2Xa - 2cq), 0.0, 1.0);\\n#1s\\1r 1ay = 0.0;\\n#1u\\n#1z 1OD\\2u 3I5 = 2GF.xy;\\2u 3I6 = 2GF.zw;\\2u 2Xf = 2F.xy * 3I6 + 3I5;\\5e8.y = 1.0 - 2Xf.y;\\1r 11q = 1Y(3gI, 2Xf).r;\\1U (11q > 0.0)\\n{\\1NS 2cp = 1Sp(1If, 4X);\\2u 3I4 = 2bh(1jA);\\2u 3I3 = 2bh(1jA.3E2);\\2u 8u = 3T(3I4, 3I3, 1iO * 13f(0.9, 0.95, 1jA.z));\\6p = 2X3(13L, 8u, 2cp, 1A, 11q, 1ay);\\n}\\n#1u\\n#1z 1Lq\\1jv 5y;\\10m.st = 2F.st;\\10m.4X = 1T(1dy);\\10m.1rp = 2WV;\\10m.1D = 2WU;\\10I 2q = 16E(5y);\\6p.1H = 3T(1A.1H, 2q.8t, 2q.2O);\\n#1u\\n#1z 1wn\\1r 1ye = 2Y(1Ca(1t3, 1T(1dy)) * 0.9 + 0.3, 0.0, 1.0);\\1P 1bJ = 1m(1A.2y * 1ye, 1A.a);\\n#1Cw 2l(2cm)\\2u 3I2 = 2GE.xy;\\2u 3gH = 2GE.zw;\\2u 3I1 = 2F.xy * 3gH + 3I2;\\1R 1aY = 1Y(1Os, 3I1.xy).1H;\\5e7 = (1aY - 0.5) * 2.0;\\n#1z 3I0\\1R 1Ap = 1T(2co);\\1R 1CF = 1T(1w(-2co.y, 2co.x, 0));\\1R 1Le = 1T(4B(1Ap, 1CF));\\1NS 8W = 14j(1CF, 1Le, 1Ap);\\1R 1Ih = 1Xn * 8W * 1aY;\\1r 1ye = 2Y(1Ca(1t3, 1T(1Ih)) * 0.9 + 0.3, 0.0, 1.0);\\1P 1bJ = 1m(1A.2y * 1ye, 1A.a);\\n#1s\\1P 1bJ = 1A;\\n#1u\\n#1Cw 2l(1At)\\1r 1ye = 2Y(1Ca(1t3, 4X) * 5.0 + 0.3, 0.0, 1.0);\\5e6 = 3T(1.0, 1ye, 1ay);\\1P 1bJ = 1m(1A.2y * 1ye, 1A.a);\\n#1s\\1P 1bJ = 1A;\\n#1u\\n#1z 2GD\\1P 25m = 1m(1.0);\\5e5.2y = 2cr.2y;\\1r 2kx = 2cr.a;\\1U (2GC < 2kx)\\n{\\1un = 25m;\\n}\\n#1u\\n#if 2l(1OC) || 2l(1yd)\\1R 1xR = 1SS(2WT) + 1bJ.2y * 1SS(2WS);\\n#1bI 1js\\4i 1o 2Xc = 2.0;\\3HZ = 1w(1.0) - 108(-2Xc * 1xR);\\n#1u\\n#1u\\n#if 2l(4hf)\\1R 2uD = 4he;\\n#1s\\1R 2uD = 4hd;\\n#1u\\n#1z 1OC\\n#if 2l(2Gz) && (2l(1wn) || 2l(1At))\\1r 3gF = 2Y(2A(1T(1al), 2uD), 3gG, 1.0);\\3HZ *= 3gF;\\n#1u\\n#1z 1js\\4i 1o 2uE = 0.15;\\1un = 1m(2ju(2uy, 1bJ.2y, 1xR, 2uE), 1bJ.a);\\n#1s\\1un = 1m(2ju(2uy, 1bJ.2y, 1xR), 1bJ.a);\\n#1u\\n#1u\\n#1z 2GA\\1U(1Fu > 0.1)\\n{\\1r 1rQ = 1.0;\\1U(1kQ > 0.1)\\n{\\2u 8G = 2F.xy;\\1ru.x = 8G.x * (17o.z - 17o.x) + 17o.x;\\1ru.y = 8G.y * (17o.w - 17o.y) + 17o.y;\\1U(8G.x>13v.x && 8G.x<13v.z && 8G.y> 13v.y&& 8G.y < 13v.w)\\n{\\1ru.xy = 8G.xy - 1v(13v.x, 13v.w);\\1ru.x = 8G.x / (13v.z - 13v.x);\\1ru.y = 1.0-8G.y / (13v.y - 13v.w);\\1P 1p4 = 1Y(1p5, 8G);\\1U(1p4.r < 0.1)\\n{\\3HY = 0.0;\\n}\\n}\\5L\\n{\\3HY = 0.0;\\n}\\n}\\1U(1rQ > 0.2)\\n{\\1P 1aA = 1m(1.0);\\1r 17Z = 1jr;\\1U(1CU <= 1fO && 1CU >= 1jq)\\n{\\n#1z 8p\\1U(16R > 2.9)\\n{\\1r 1uo = 1k4();\\1Cm = 3T(1fj(), 1hA, 1uo);\\n}\\5L if(16R > 1.9)\\n{\\1Cl = 1k4();\\1Cm = 1hA;\\n}\\5L if(16R > 0.9)\\n#1s\\1U(16R > 0.9)\\n#1u\\n{\\1Cm = 1fj();\\n}\\5L\\n{\\1Cl = 0.0;\\n}\\1un = 3T(1bJ, 1aA, 17Z);\\n}\\5L\\n{\\1Cl = 0.5;\\n}\\n}\\n}\\n#1u\\n#1z 1yd\\1U (1kO != 1F3)\\n{\\3R = 1bJ;\\2j;\\n}\\n#if 2l(4hc) && 2l(2Gz) && (2l(1At) || 2l(1wn))\\1r 1l3 = 1dv(1m(0.0, 0.0, -18z.x, 1.0), 1.0);\\2u xy = 4u.xy / 9e.zw * 2.0 - 1v(1.0);\\5e3 *= 9e.zw * 1l3 * 0.5;\\1R 2G = 1T(1w(xy, -18z.x));\\2Gy 11j = 1F5(1w(0.0), 2G);\\1R 1Xd = 1p3[3].1H;\\1F4 17d = 2b3(11j, 1Xd, 2FW);\\1R 2Xe = 24I(11j, 17d.4I);\\5e2 = (1Sy * 1m(2Xe, 1.0)).1H;\\2ck 2Xd = 2Gp(2Xe, 8O, 2uD);\\1R 1Yl = 1SS(2Xd.2cj) + 1bJ.2y * 1SS(2Xd.2ci);\\n#1bI 1js\\2X9 = 1w(1.0) - 108(-2Xc * 1Yl);\\n#1u\\3HX = 2Gx.x;\\3HW = 2Gx.y;\\1r 2uC = 2Y((2Xb - 2cq) / (2Xa - 2cq), 0.0, 1.0);\\n#1z 1js\\5e1 = 1V(2uC * 2uC, 0.25l);\\n#1u\\2X9 = 3T(1Yl, 1xR, 2uC);\\n#1s\\1R 1Yl = 1xR;\\n#1u\\n#1z 1js\\2X9 = 24G(1Yl, 1.6);\\n#1u\\1un = 1m(3T(1bJ.2y, 1Yl, 1ay), 1bJ.a * 3gE);\\n#1u\\n#1z 1Yi\\1r 3HT = 1.0;\\1U(3gD > 0.1)\\n{\\2u 8G = 2F.xy;\\1ru.x = 8G.x * (17o.z - 17o.x) + 17o.x;\\1ru.y = 8G.y * (17o.w - 17o.y) + 17o.y;\\1U(8G.x>1te.x && 8G.x<1te.z && 8G.y> 1te.y&& 8G.y < 1te.w)\\n{\\1ru.xy = 8G.xy - 1v(1te.x, 1te.w);\\1ru.x = 8G.x / (1te.z - 1te.x);\\1ru.y = 1.0-8G.y / (1te.y - 1te.w);\\1P 3HV = 1Y(3gC, 8G);\\1U(3HV.r < 0.1)\\n{\\3HU = 0.0;\\n}\\n}\\5L\\n{\\3HU = 0.0;\\n}\\n}\\1U(3HT > 0.1)\\n{\\1r 3HS = abs(1T(1aY).z);\\1r 1Ig = 1cz(3HS);\\1U (1Ig < 3gB || 1Ig > 3gA)\\n{\\2j;\\n}\\1r 19U = 2Y(abs(3gz-2Gw),0.1KX,PI/2.0);\\1r 3gy = (1Ig-2Gw)/19U;\\1r 2X8 = 2Y(3gy,0.0,1.0);\\1r 7Z = 2t(2X8 * 16.0);\\1r y = (7Z*2.0 + 1.0)/32.0;\\1r x = 8N(2X8*16.0);\\1U(y > 1.0)\\n{\\nx = 1.0;\\n}\\2u 3HR = 1v(x, y);\\1P 2X5 = 1Y(3gx, 3HR);\\1r 17Z = 3gw;\\1P 3HQ = 1m(0.0);\\1U(2kw > 2.9)\\n{\\1P 1yf = 2X7(1Ig, 1aY);\\2X6 = 3T(2X5, 1yf, 1yf.a);\\n}\\5L if(2kw > 1.9)\\n{\\1P 1yf = 2X7(1Ig, 1aY);\\2X6 = 1yf;\\1Cl = 1yf.a;\\n}\\5L if(2kw > 0.9)\\n{\\2X6 = 2X5;\\n}\\5L\\n{\\1Cl = 0.0;\\n}\\1un = 3T(1bJ, 3HQ, 17Z);\\n}\\n#1u\\3R = 1bJ;\\n#1z 3HP\\3R = 2sJ(1CU);\\n#1u\\n}\\n#1z 1OD\\1r 3HO(1o 1Yk, 1o 2uB, 1o x)\\n{\\1r y = 2Y((x - 1Yk) / (2uB - 1Yk), 0.0, 1.0);\\2j 3r(1.0 - y, 5.0);\\n}\\1r 2X1(1o 1Yk, 1o 2uB, 1o x)\\n{\\2j 2Y((x - 1Yk) / (2uB - 1Yk), 0.0, 1.0);\\n}\\4i 1o 3HJ = 5e0.0;\\4i 1o 3HK = 0.2kd;\\4i 1o 3HI = 1.0 / 2.0;\\4i 1o 3HD = 0.5;\\4i 1o 3HM = 5dZ.0;\\4i 1o 3HN = 0.2X4;\\4i 1o 3HL = 1.0 / 2.0;\\1P 2X3(1w 2X2, 1v 8u, 14j 2cp, 1m 1Yj, 1o 2WX, 1o 1ay)\\n{\\1R 11E = -2X2;\\1r 2uA = 1h(11E);\\1R 2WZ = 1T(1T(11E));\\1r 2WY = 3HO(5dY.0, 3Fx.0, 2uA);\\n#1z 2Gu\\1r 6q = 2jx * 3HN;\\1P 1ul = 2jo(2Gv, 8u * 3HM, 6q, 0.0);\\1R 3HG = 1w(1ul.xy, 1ul.z * 3HL);\\5dX = 2jx * 3HK;\\5dW = 2jo(2Gv, 8u * 3HJ, 6q, 0.0);\\1R 3HE = 1w(1ul.xy, 1ul.z * 3HI);\\1r 3HH = 2X1(0.0, 3fl.0, 2uA);\\1r 3HF = 1.0 - 2X1(1F7.0, 3fl.0, 2uA);\\1R 1i6 =\\n(3HH * 3HG) +\\n(3HF * 3HE);\\1Cq = 1T(1i6);\\1Cq.xy *= 2WY;\\1Cq = 1T(1i6);\\n#1s\\1R 1i6 = 1w(0.0, 0.0, 1.0);\\n#1u\\1R 4X = 2cp * 1i6;\\4i 1w 2X0 = 1w(0.3, 0.45, 0.6);\\1r 1ye = 1Ca(1t3, 4X) * 2WX;\\1R 2WW = 2X0 * 1ye * (1.0 - 1ay);\\n#1z 2Gu\\1r 2td = 1i6.z;\\1R 2uz = 3T(2X0 * 5.0 * (1.0 - 2td), 1w(0.0), 1ye);\\n#1s\\1R 2uz = 1w(0.0);\\n#1u\\1r 1L0 = 24B(1t3, 2WZ, 4X, 10.0) + 0.25 * 24B(4hb, 2WZ, 4X, 10.0);\\1r 3HC = 3T(0.0, 3T(3gv, 3HD, 2WY), 2WX);\\1r 16C = 1L0 * 3HC;\\n#1z 1js\\5dV *= 1.4;\\1r e = 0.2;\\1r d = 3.3;\\1r c = 1.7;\\1R 1A = 1Yj.2y + (c * (1w(e) + 1Yj.2y * d) * (2WW + 2uz + 16C));\\n#1s\\1R 1A = 1Yj.2y + 2WW + 2uz + 16C;\\n#1u\\2j 1m(1A, 1Yj.a);\\n}\\n#1u // #1z 1OD\\n");a.2fe.4x3=1g ja({5p:["XR 1o 1Yg = 16t.0;\\4i 1o 1Lp = 16t.0 * 1.2ku;\\4i 1o 2WF = 1Lp * 1Lp;\\4i 1o Kr = 0.2tA;\\4i 1o Km = 0.2bF;\\4i 1o 1rD = 15.0;\\4i 1o 2Ws = Kr * 1rD;\\4i 1o 2Wr = Km * 1rD;\\4i 1o 2Ww = Kr * 4.0 * 1eN;\\4i 1o 2Wv = Km * 4.0 * 1eN;\\4i 1o 2kp = 1.0 / (1Lp - 1Yg);\\4i 1o 1Yh = 0.25;\\4i 1o 2Wz = 2kp / 1Yh;\\4h4 4h3\\n{\\1R 2cj;\\1R 2ci;\\n};\\4i 7P 1I0 = 2;\\4i 1o 1I1 = 2.0;\\1r 3b(1o 2WH)\\n{\\1r x = 1.0 - 2WH;\\2j 1Yh * 108(-0.2tz + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\\n}\\2ck 2Gp(1w 1CS, 7d 2WD, 1w 2uu)\\n{\\1R 2km = 1w(1.0 / 3r(0.650, 4.0), 1.0 / 3r(0.570, 4.0), 1.0 / 3r(0.475, 4.0));\\1R 1CR = 1CS - 1al;\\1r 2kq = 1h(1CR);\\4h2 /= 2kq;\\1r 2kt = 1h(1al);\\1r 2WG = 2kt * 2kt;\\1r B = 2.0 * 1h(1al) * 2A(1T(1al), 1CR);\\1r C = 2WG - 2WF;\\1r 2WE = 1V(0.0, B*B - 4.0 * C);\\1r 2ks = 0.5 * (-B - 3Y(2WE));\\1R 2WB = 1al + 1CR * 2ks;\\4h1 -= 2ks;\\1r 1qk = 108((1Yg - 1Lp) / 1Yh);\\1r 1HZ = 15B(2WD, 2A(2uu, 1CS) / 1h(1CS), 1.0);\\1r 1HY = 2A(-1CR, 1CS) / 1h(1CS);\\1r 2kr = 3b(1HY);\\1r 2WC = 3b(1HZ);\\1r 2Wx = 1qk*2kr;\\1r 2Wy = (2WC + 2kr);\\1r 2ko = 2kq / 1I1;\\1r 2Wu = 2ko * 2kp;\\1R 2kn = 1CR * 2ko;\\1R 2WA = 2WB + 2kn * 0.5;\\1R 2Wt = 1w(0.0);\\1R 2kl = 1w(0.0);\\14D(7P i=0; i<1I0; i++)\\n{\\1r 14o = 1h(2WA);\\1r 1qk = 108(2Wz * (1Yg - 14o));\\1r 1HX = 1qk*2Wy - 2Wx;\\4h0 = 108(-1HX * (2km * 2Ww + 2Wv));\\4gZ += 2kl * (1qk * 2Wu);\\4gY += 2kn;\\n}\\2ck 1A;\\6p.2cj = 2Wt * (2km * 2Ws + 2Wr);\\6p.2ci = 2kl;\\2j 1A;\\n}\\n","#1z 2Gr\\2J 1m 1Ft;\\2J 1o 2WM;\\n#1s\\2J 1m 2uv;\\2J 1m 1OE;\\n#1u\\1B 1w 2Gq;\\1B 5w 1wg;\\1B 5w 1Od;\\1B 1m 25k;\\1B 1v 2Gt;\\1B 1v 2Gs;\\1J 1o 1CU;\\1J 1w 1If;\\1J 1w 13L;\\1J 1w 2F;\\1J 1w 2WL;\\1J 1w 1dy;\\n#1z 1Lq\\1J 1o 2WV;\\1J 1o 2WU;\\n#1u\\n#if 2l(1OC) || 2l(1yd)\\1J 1o 2uy;\\1J 1w 2WT;\\1J 1w 2WS;\\n#1u\\n#1z 2cm\\1J 1w 2co;\\n#1u\\n#1z 1Yi\\1B 1o 3gr;\\1B 1o 3gs;\\1J 1v 2WR;\\n#1u\\1J 1m 14u;\\1P 1Au(1w 1K, 1o 1D, 1v 8u);\\1r 2ux(1v 8u);\\1P 4ha(1w 1K, 1o 1D, 1v 8u)\\n{\\2j 1Od * 1m(1K, 1.0);\\n}\\1r 4h9(1v 8u)\\n{\\4i 1o 3HB = 0.5dU;\\1r 3HA = 8u.y;\\1r 2WQ = 2Gt.x;\\1r 2WP = 2Gt.y;\\1U (2WP - 2WQ > 3HB)\\n{\\1r 2sN = 2Gs.x;\\1r 2sM = 2Gs.y;\\1r 2WO = 3T(2WQ, 2WP, 8u.y);\\5dT = 2Y(2WO, -2FO, 2FO);\\5dS = 3f0(2WO, 2sN, 2sM);\\n}\\2j 3HA;\\n}\\1r 4h8(1v 8u)\\n{\\2j 8u.y;\\n}\\1P 2WN(1w 1K, 1o 1D, 1v 8u)\\n{\\1r 2uw = 2ux(8u);\\1P 3Hz = 1m(1D, 3T(25k.st, 25k.pq, 1v(8u.x, 2uw)), 1.0);\\2j 1Od * 3Hz;\\n}\\1P 5dR(1w 1K, 1o 1D, 1v 8u)\\n{\\2j 2WN(1K, 0.0, 8u);\\n}\\1P 4h7(1w 1K, 1o 1D, 1v 8u)\\n{\\2j 2WN(1K, 1D, 8u);\\n}\\1P 4h6(1w 1K, 1o 1D, 1v 8u)\\n{\\1R 1CT = 1K + 2Gq;\\1r 2uw = 2ux(8u);\\1P 3Hy = 1m(1D, 3T(25k.st, 25k.pq, 1v(8u.x, 2uw)), 1.0);\\1P 3Hx = 1Fb(3Hy, 1m(1CT, 1.0), 1iO);\\2j 11o * 3Hx;\\n}\\n#1z 2Gr\\1B 1v 2kv;\\1B 5w 3gu;\\n#1u\\2s 2k()\\n{\\n#1z 2Gr\\2u xy = 1mL(1Ft.x);\\2u zh = 1mL(1Ft.y);\\1R 1K = 1w(xy, zh.x);\\1r 1D = zh.y;\\2u 8u = 1mL(1Ft.z);\\5dQ = 1D * (2kv.y - 2kv.x) + 2kv.x;\\3Hw = 1D;\\2jG = (3gu * 1m(1K, 1.0)).1H;\\n#if (2l(1wn) || 2l(25j)) && 2l(2cn)\\1r 1rM = 1mL(1Ft.w).x;\\1r 1mT = 2WM;\\n#1Cw 2l(2cn)\\1r 1rM = 1mL(1Ft.w).x;\\1r 1mT = 0.0;\\n#1Cw 2l(1wn) || 2l(25j)\\1r 1rM = 8u.y;\\1r 1mT = 1Ft.w;\\n#1s\\1r 1rM = 8u.y;\\1r 1mT = 0.0;\\n#1u\\n#1s\\1R 1K = 2uv.1H;\\1r 1D = 2uv.w;\\3Hw = 1D;\\2u 8u = 1OE.xy;\\n#if (2l(1wn) || 2l(25j) || 2l(1Lq)) && 2l(2cn)\\1r 1rM = 1OE.z;\\1r 1mT = 1OE.w;\\n#1Cw 2l(1wn) || 2l(25j) || 2l(1Lq)\\1r 1rM = 8u.y;\\1r 1mT = 1OE.z;\\n#1Cw 2l(2cn)\\1r 1rM = 1OE.z;\\1r 1mT = 0.0;\\n#1s\\1r 1rM = 8u.y;\\1r 1mT = 0.0;\\n#1u\\n#1u\\1R 1CT = 1K + 2Gq;\\11u = 1Au(1K, 1D, 8u);\\1mN = 1w(8u, 1rM);\\n#if 2l(1wn) || 2l(25j) || 2l(1Lq)\\1t6 = (1wg * 1m(1K, 1.0)).1H;\\2WK = 1CT;\\1R 1jA = 1gT(1mT);\\5dP = 1jA;\\1Oe = 1Xn * 2WL;\\n#1Cw 2l(1OD) || 2l(1At) || 2l(3Hv) || 2l(1js)\\1t6 = (1wg * 1m(1K, 1.0)).1H;\\2WK = 1CT;\\n#1u\\n#if 2l(1OC) || 2l(1yd)\\2ck 2WJ = 2Gp(1CT, 16f, 1w(0.0));\\5dO = 2WJ.2cj;\\5dN = 2WJ.2ci;\\5dM = 1h((4h5 * 1m(1CT, 1.0)).1H);\\n#1u\\n#1z 1Lq\\1R 3Ht = 1jA;\\1R 3Hu = 1T(1CT.1H);\\5dL = abs(2A(3Hu, 3Ht));\\5dK = 1D;\\n#1u\\3gt = 1k1 * 6I;\\n#1z 2cm\\1t6 = (1wg * 1m(1K.1H, 1.0)).1H;\\5dJ = 1T(1CT);\\n#1u\\n#1z 1Yi\\1r 3Hs = 2o(3gs - 3gr, 2.0);\\1r 3Hr = 3r(2.0,3Hs);\\5dI = 2F.xy * 3Hr;\\n#1u\\n}\\n"],2N:b});a.2fe.4x2=1g ja({5p:d,2N:b});a.2fe.2q=a.17u}1b 5zT(a){1f 1b(b,c){b=P.1Wa(b.3of,a);c=P.1Wa(c.3of,a);1f b-c}}1b qz(a,b){1f Q.8h(a.3g,b)?a:1p 0}1b Qk(){1a.2nw=1a.27H=1a.21a=1a.2Se=1a.2L6=1a.1yZ=1a.2L4=1a.3RZ=1a.2Fj=1a.1Bg=1a.19K=1a.1dn=1p 0;1a.2nx=!1;1a.2nz=1a.2L5=1a.1e9=1a.1vd=1a.1Gk=1p 0;1a.1ox=1g Aa;1a.53V=1a.1gz=1p 0;1a.2nr=!1;1a.3o0=1a.20q=1a.1hq=1a.27D=1p 0}1b 5zE(a,b,c,d){if(!g(a.3o0)||d!==a.1hq){1d e=1g ja({2N:[d?"10B":""],5p:["2n 2v 1qj;\\1J 1v 2F;\\2s 2k()\\n{\\n    1o 1kg = 11N(1Y(1qj, 2F));\\n    1kg = 1rn(1kg); \\n    1o 1iU = 1dx.3I;\\n    1o 1iV = 1dx.3W;\\n    1o 2XB = (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\n    1o 3b = 3r(2XB * 0.5 + 0.5, 8.0);\\n    2C = 1m(3T(1w(0.0), 1w(1.0), 3b), 1.0);\\n}\\n"]});a.3o0=b.1aL(e,{4J:{1qj:1b(){1f a.1Bg}},7H:a});a.1hq=d}a.3o0.5P(b,c)}1b 4uI(a){a.1dn=a.1dn&&!a.1dn.3Z()&&a.1dn.1M();a.19K=a.19K&&!a.19K.3Z()&&a.19K.1M();a.1Bg=a.1Bg&&!a.1Bg.3Z()&&a.1Bg.1M()}1b 4uH(a){a.27H=a.27H&&!a.27H.3Z()&&a.27H.1M();a.2nw=a.2nw&&!a.2nw.3Z()&&a.2nw.1M();a.2L6=a.2L6&&!a.2L6.3Z()&&a.2L6.1M()}1b NT(a){a.2Se=a.2Se&&!a.2Se.3Z()&&a.2Se.1M();a.21a=a.21a&&!a.21a.3Z()&&a.21a.1M();a.2Fj=a.2Fj&&!a.2Fj.3Z()&&a.2Fj.1M()}1b 4uJ(a,b,c,d,e){a.2Fj=1g Ca({1O:b,1G:c,1D:d,8b:ua.9m,10E:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})});a.2Se=1g eb({1O:b,13I:[a.2Fj],16Y:!1});c=e.4Q.1ku;a.2nx&&(c=a.19K);a.21a=1g eb({1O:b,13I:[a.1Bg],1ku:c,16Y:!1})}1b OT(a,b,c,d,e){a.1ox.1G=c;a.1ox.1D=d;c=!Aa.2L(a.1ox,e.5q);d=c!==a.2nr;a.2nr=c;Aa.2L(a.27D,e.5q)||(a.27D=Aa.1y(e.5q,a.27D),d=!0);g(a.1gz)&&Aa.2L(a.1ox,a.1gz.5q)&&!d||(a.1gz=pa.4t({5q:a.1ox,1g1:{3e:a.2nr,3g:a.27D}}),a.53V=pa.4t({5q:a.1ox,1g1:{3e:a.2nr,3g:a.27D},12h:{3e:!1,1iu:Jc.1Be,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.10w},1it:Jc.2f7,1bY:Mc.1vh,11q:Mc.1vh}}));g(a.1e9)||(a.1e9=b.1aL("2n 2v 1qj;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1lP(1Y(1qj, 2F).r);\\n}\\n",{4J:{1qj:1b(){1f a.19K}},7H:a}));a.1e9.4Q=a.2L6;a.1e9.4w=a.1gz;g(a.1vd)||(a.1vd=b.1aL("2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n",{4J:{6T:1b(){1f a.1dn}},7H:a}));g(a.2L5)||(a.2L5=b.1aL("2n 2v 1qj;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1lP(1Y(1qj, 2F).r);\\n}\\n",{4J:{1qj:1b(){1f a.3RZ}},7H:a}));a.2L5.4Q=a.2Se;a.2L5.4w=a.1gz;g(a.2nz)||(a.2nz=b.1aL("2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n",{4J:{6T:1b(){1f a.2Fj}},7H:a}));a.2nz.4Q=a.21a;a.2nz.4w=a.53V;g(a.1Gk)||(a.1Gk=1g Ec({1A:1g y(0,0,0,0),1gh:0,7H:a}));a.1Gk.4Q=a.2nx?a.2nw:a.27H}1b PT(){1a.1iw=1g 1ar}1b vD(a){a=m(a,m.4Z);if(!g(a.2I)&&!g(a.1lv))1t 1g r("3v.2I or 3v.1lv is 1X.");if(g(a.1lv))1d b=a.1lv;1s{1d c=na.14m(a.2I);b=1g Eh(c)}1a.20Z=b;1a.1nm=a.19b;1a.6C=1g gd({27p:2,27o:2,3g:1g Q(-B.PI,-B.PI,B.PI,B.PI),3c:a.3c});a=a.9L;"4n"===2h a&&(a=1g Zb(a));1a.1dh=a;1a.16J=1a.14Q=256;1a.17G=23;g(1a.1nm)||(1a.1nm=1g PT);1a.14P=1g sa;1a.4y=!1;1d d=1a,e;1a.7S=b.9c.4b(1b(a){if(!b.3Bn)1f a=1g qa("9B 3zV "+b.2I+" 2en\'t 118 8v"),e=Lc.1ir(e,d,d.14P,a.19s,1p 0,1p 0,1p 0,a),Z.7N(a);Lc.1Vf(e);1f d.4y=a}).10g(1b(a){e=Lc.1ir(e,d,d.14P,a.19s,1p 0,1p 0,1p 0,a);1f Z.7N(a)})}1b 5zA(a,b,c,d,e,f){c=Eh.2nv(c,d,e);b=b.3zz;b=g(b)&&0<b?b:1;1f a.20Z.1Wu.16M({2I:"49Y?f1-0"+c+"-i."+b.5s(),7M:f})}1b dw(a){a=m(a,m.4Z);1a.6C=g(a.8c)?a.8c:1g gd({3c:a.3c});1a.4uD=m(a.2wX,8);1a.7a=m(a.1A,5zx);1a.5zt=m(a.9JZ,5zw);1a.4uC=m(a.9JY,6);1a.1vi=m(a.1a4,5zv);1a.14P=1g sa;1a.14Q=m(a.16K,256);1a.16J=m(a.17g,256);1a.3RV=m(a.9JX,256);1a.10C=1a.5zu();1a.7S=Z.5h(!0)}1b $J(a){1b b(a){h.2yV=a.1cE("1m3:6B1")[0].8S;1d b=a.1cE("1m3:1tU")[0].8S;"4uB"==b?h.21P=wD.4uB:"4uA"==b?h.21P=wD.4uA:"2L2"==b&&(h.21P=wD.2L2);h.2L1=8A(a.1cE("1m3:3mP")[0].8S);h.2L0=8A(a.1cE("1m3:3mO")[0].8S);h.3RS=8A(a.1cE("1m3:3q2")[0].8S);h.3RT=8A(a.1cE("1m3:3q3")[0].8S);h.6C=1g gd({3c:f});h.6C.31Q=!0;1d c=a.1cE("1m3:2yo")[0];b=B.8I(7L(c.1cE("1m3:1Mj")[0].8S));1d d=B.8I(7L(c.1cE("1m3:2eU")[0].8S)),e=B.8I(7L(c.1cE("1m3:1Dh")[0].8S));c=B.8I(7L(c.1cE("1m3:2eV")[0].8S));h.7T=1g Q(b,d,e,c);a=a.1cE("1m3:2Kl")[0].1cE("1m3:1PV");1j(b=0;b<a.1h;++b)h.1iv.1q(8A(a[b].8S));h.4y=!0;h.7S.5h(!0)}1b c(a){a=m(a,"An 7A 1Jq 14p 1Ud "+h.10z+".");l=3JJ.1ir(l,h,h.14P,a,1p 0,1p 0,1p 0,d);h.7S.7N(1g 1uN(a))}1b d(){if(!g(a.3g)||!g(a.28H))1t 1g r("3v.1WC,3v.28H is 1X.");h.2yV=m(a.1zq,"3RQ");h.9JW=wD.9JV;h.2L1=m(a.2L1,32);h.2L0=m(a.2L0,32);h.3RS=m(a.1Mn,90);h.3RT=m(a.1Mo,0);h.6C=1g gd({3c:f});h.7T=a.3g;h.1iv=a.28H}a=m(a,{});1a.10z=a.2I+"/";1a.4cX=m(a.6B0,!0);1a.2yV="6i";1a.7T=1a.6C=1p 0;1a.1iv=[];1a.3RS=90;1a.3RT=0;1a.21P=wD.6i;1d e=a.9L;"4n"===2h e&&(e=1g 5hj(e));1a.1dh=e;1a.4y=!1;1a.7S=Z.12L();1d f=m(a.3c,ba.9y),h=1a,l;1a.4cX?Z(zj(h.10z+"1nn"),b,c):d();1a.28j=1g xv}1b Mo(a){a=m(a,{});1a.10o=1a.10V=m(a.3RD,1tA);1d b=m(a.9JU,1g C(0,1));1a.5zn=b.x;1a.5zm=b.y;1a.4j=a.1O;1a.15x=a.14w;1a.16z=1a.11V=1a.3RO=1a.3nW=1a.2yU=1p 0;1a.53U=8;1a.3RP=1E4;1a.2f8=1a.1Uu=0;1a.27G=1g 4A(1a.3RP*1a.53U*6);1a.3nV=[];a=1a.3RP;1j(b=0;b<a;b++)1a.3nV.1q(1g 4A(1a.27G.3J,0,b*1a.53U*6));1a.13Z=1g Ec({1A:1g y(0,0,0,0)});1a.2yS=1p 0;1a.27e=0;1a.2yT=4ux(1a.4j,1a.10V,1a.10o,Ha.7U);1a.13Z.4Q=1a.2yT;1a.13Z.5P(1a.4j);1a.3RN=5E3}1b 4ux(a,b,c,d){1f 1g eb({1O:a,13I:[1g Ca({1O:a,1G:b,1D:c,10E:d})]})}1b 6AY(a,b){if(!g(b.11V)){1d c=1g ja({5p:["3Q 1m 4f;\\2J 1m 53Q;\\1J 1v 53T;\\1J 1v 53S;\\1J 1o 53R;\\1B 1m 4cW;\\2s 2k()\\n{\\9JT = abs(4f.zw);\\9JS = 4f.zw;\\2u 3h = 4f.xy + 4f.zw;\\9JR = 53Q.x;\\11u = 1m(((3h - 4cW.xy) / 4cW.zw) * 2.0 - 1.0, 0.0, 1.0);\\n}"]}),d=1g ja({5p:["3G 1v 53T;\\1J 1v 53S;\\1J 1o 53R;\\2s 2k()\\n{\\1r 6AZ = (1.0 - 13f(0.0, 1.0, 1h(53T/53S)));\\1r 12r = 6AZ*53R;\\3R = 1m(12r);\\n}"]});b.11V=Ga.4t({1O:a,5O:c,5A:d,7W:{4f:0,53Q:1}})}}1b $za(a,b){if(!g(b.16z)){1d c=Ra.12S({1O:a,5b:b.3nV[b.1Uu],7Q:xa.20X});b.16z=1g Fb({1O:a,2w:[{2P:0,7e:c,2Z:4,3k:I.3O,9n:0,9t:32,1T:!1},{2P:1,7e:c,2Z:4,3k:I.3O,9n:16,9t:32,1T:!1}]})}}1b 5zr(a,b){1d c=1g Oa({6Z:Ja.11G,7Z:6*b.1Uu});$za(a,b);6AY(a,b);c.4c=b.16z;c.2z=b.11V;c.4w=pa.4t({9J:{3e:!1},5q:1g Aa(0,0,b.10V,b.10o),12e:{3e:!0,1B7:H.1ip,1B6:H.1ip}});1d d=1g E(b.14w.x,b.14w.y,b.14w.1G,b.14w.1D);c.4J={4cW:1b(){1f d}};c.4Q=b.2yU;1f c}1b 5zq(a,b){a=a.1aL("2n 2v 53P;\\1J 1v 2F;\\1r 9JQ(1o 15r, 1o 162, 1o 1Q) {\\2j 2Y((1Q-15r)/(162-15r), 0.0, 1.0);\\n}\\1r 1ay(1o 15r, 1o 162, 1o 1Q){\\1r 25t = (15r+162)*0.5;\\1r 11D = (162-15r)*0.5;\\1r x = 1.0 - 2Y(abs(25t-1Q)/11D, 0.0, 1.0);\\2j 13f(0.0, 1.0, x);\\n}\\1R 1eV(1o 12r){\\1R 5G = 1w(0.0, 0.0, 1.0);\\1R 2vs = 1w(0.0, 1.0, 1.0);\\1R 5t = 1w(0.0, 1.0, 0.0);\\1R 2vr = 1w(1.0, 1.0, 0.0);\\1R 5r = 1w(1.0, 0.0, 0.0);\\1R 1A = 1ay(-0.25, 0.25, 12r)*5G + 1ay(0.0, 0.5, 12r)*2vs + 1ay(0.25, 0.75, 12r)*5t + 1ay(0.5, 1.0, 12r)*2vr + 13f(0.75, 1.0, 12r)*5r;\\2j 1A;\\n}\\1P 6AX(1w 1A, 1o 12r){\\1r 2O = 13f(0.0, 1.0, 12r);\\2j 1m(1A*2O, 2O);\\n}\\2s 2k(){\\1r 12r = 13f(0.0, 1.0, 1Y(53P, 2F).r);\\1R 1A = 1eV(12r);\\3R = 6AX(1A, 12r);\\n}",{4J:{53P:1b(){1f b.2yU.167(0)}},4w:pa.4t({5q:1g Aa(0,0,b.10V,b.10o),12e:{3e:!0,1B7:H.1ip,1B6:H.1ip}}),7H:b});a.4Q=b.2yT;1f a}1b qn(){1a.2KW=1a.2ns=1a.1Ut=1a.4ur=1a.3nU=1a.2KX=1a.1d0=1a.19K=1a.2KY=1a.10q=1a.1Q3=1a.3RL=1p 0;1a.1Gk=1g Ec({1A:1g y(0,0,0,0),7H:1a});1a.13Z=1g Ec({1A:1g y(0,0,0,0),4e:1,1gh:0});1d a=1a;1a.1cH={6T:1b(){1f a.10q},8X:1b(){1f a.19K},4uw:1b(){1f a.2KY}}}1b aK(a){1a.5zf=a;1a.3nR=1a.3nQ=0;1a.4uo=1a.3nT=!1}1b Cq(a){if(g(a)&&a.1h!==eh.46Q)1t 1g r("A 9JP 2Q be 2xC 1j 30y 9JO 1I; 9JN.1h 1tD 14B 5gX.46Q.");1d b=2K(eh.46Q);b[eh.1uL]=1g aK(g(a)?a[eh.1uL]:10);b[eh.46R]=1g aK(g(a)?a[eh.46R]:10);b[eh.2pr]=1g aK(g(a)?a[eh.2pr]:30);a=b.1h;1d c,d=0;1j(c=0;c<a;++c)d+=b[c].1J5;1d e=2K(a);1j(c=0;c<a;++c)e[c]=!1;1a.3RK=d;1a.3nS=0;1a.4up=b;1a.4un=e}1b 4uj(a,b,c){b=B.2Y(b,0,a.1h-1);c=B.2Y(c,0,a.1h-1);if(b===c)1f!1;1d d=a[b];a[b]=a[c];a[c]=d;1f!0}1b 4iB(){}1b rz(a){a=m(a,m.4Z);1d b=a.6AW;if(!g(b))1t 1g r("3v.6AW is 1X.");1d c=na.14m(m(a.2I,"1bU://api.3H.11Y/5CW/v1/")),d=Lo.4Vh(a.2EN);1a.9JM=b;1a.53O=d;1a.33g=Zb.1y(Lo.4Vf(a.2EN));1a.6AU=m(a.9JL,512);1a.6AV=m(a.9JK,"3H");1d e=g(a.4EI)?"@2x":"",f=c.1oO();5zb.6S(f)||(f+="/");f+=1a.6AV+"/"+b+"/17v/"+1a.6AU+"/{z}/{x}/{y}"+e;c.2I=f;c.1qN({3zU:d});g(a.9L)?(b=a.9L,"4n"===2h b&&(b=1g Zb(b))):b=4uf;1a.12o=c;1a.14f=1g ti({2I:c,9L:b,3c:a.3c,16i:a.16i,16j:a.16j,3g:a.3g})}1b sz(a){a=m(a,m.4Z);1d b=a.3RF;g(b)||(b=cb("1ja/1or/9JJ.1Ui"));1a.2p=m(a.2p,!0);1a.3RF=b;1a.5W=m(a.3c,ba.6ww);1a.2f6=m(a.2f6,!0);1a.33e=1g pD({10N:1a.3c.10N,2q:va.1kk(va.48N),2Cx:!1,1fq:1a});1a.33e.2q.11C=!1;1a.5z8=1g kP}1b QT(a){}1b rn(a){1a.20S=1a.33d=!1;1d b=a.2K2&&a.8X;1a.20S=a.1QR&&b;1a.33d=!1a.20S&&b;1a.2yM=1a.27C=1a.2np=1a.1Ur=1a.1x5=1a.19K=1a.2yf=1a.3nI=1p 0;1a.4ub=1g Ec({1A:1g y(0,0,0,0),7H:1a});1a.4ua=1g Ec({1A:1g y(0,0,0,1),7H:1a});1a.4u9=1g Ec({1A:1g y(0,0,0,0),7H:1a});1a.4u8=1g Ec({1A:1g y(1,1,1,1),7H:1a});1a.4uc={};1a.5z0={};1a.2no=1a.20R=1a.1ea=1p 0;1a.1ox=1g Aa;1a.1gz=1p 0;1a.2nr=!1;1a.27D=1p 0;1a.4ud=!1}1b RT(a){a.1x5=a.1x5&&!a.1x5.3Z()&&a.1x5.1M();a.1DP=a.1DP&&!a.1DP.3Z()&&a.1DP.1M()}1b bK(a){a.1Ur=a.1Ur&&!a.1Ur.3Z()&&a.1Ur.1M();a.2np=a.2np&&!a.2np.3Z()&&a.2np.1M();a.27C=a.27C&&!a.27C.3Z()&&a.27C.1M();a.2yM=a.2yM&&!a.2yM.3Z()&&a.2yM.1M()}1b 5z5(a,b,c,d){RT(a);a.1x5=1g Ca({1O:b,1G:c,1D:d,8b:ua.9m,10E:Ha.3O});1d e=1g 4A(c*d*4);a.1DP=1g Ca({1O:b,8b:ua.9m,10E:Ha.3O,5j:{1a9:e,1G:c,1D:d},13E:!1})}1b 5z4(a,b){bK(a);1d c=H.3nr,d=!0;a.20S&&(a.1Ur=1g eb({1O:b,13I:[a.1x5,a.1DP],1ku:a.19K,16Y:!1}),a.27C=1g eb({1O:b,13I:[a.1x5,a.1DP],16Y:!1}),a.1Ur.1hM!==c||a.27C.1hM!==c)&&(bK(a),a.20S=!1);if(!a.20S){a.1Ur=1g eb({1O:b,13I:[a.1x5],1ku:a.19K,16Y:!1});a.2np=1g eb({1O:b,13I:[a.1DP],1ku:a.19K,16Y:!1});a.27C=1g eb({1O:b,13I:[a.1x5],16Y:!1});a.2yM=1g eb({1O:b,13I:[a.1DP],16Y:!1});b=a.2np.1hM===c;1d e=a.27C.1hM===c,f=a.2yM.1hM===c;a.1Ur.1hM===c&&b&&e&&f||(RT(a),bK(a),d=a.33d=!1)}1f d}1b ST(a,b,c,d){a=c[d.id];g(a)||(a=pa.1PL(d),a.13Q=!1,a.12e=b,a=pa.4t(a),c[d.id]=a);1f a}1b TT(a,b,c,d){1d e=a.1hf.1Jv(b,c);if(!g(e)){e=b.12m;1d f=b.5A.1y();f.5p=f.5p.5d(1b(a){a=ja.1gF(a,"6AT");a=a.3X(/2C/g,"2nq");a=a.3X(/\\5Cx\\b/g,"53N = 8O");1f a=a.3X(/1nR/g,"3CR")});f.5p.6z(0,0,(-1!==d.3f("1OU")?"#6A 2jD : 5F \\n":"")+"1m 2nq;\\166 53N = 16f;\\n");f.5p.1q("1p 2k()\\n{\\n    6AT();\\n    if (53N)\\n    {\\n        7o;\\n    }\\n"+d+"}\\n");e=a.1hf.1Gx(b,c,{5O:b.5O,5A:f,7W:e})}1f e}1b cK(a){a=m(a,m.4Z);1d b=na.14m(m(a.2I,"1bU://a.11H.33h.1m9/"));b.1F1();b.2I+="{z}/{x}/{y}."+m(a.2eT,"12H");1d c=1g Le({3c:a.3c}),d=m(a.16i,0),e=a.16j,f=m(a.3g,c.3g),h=c.1mi(Q.1tI(f),d),l=c.1mi(Q.1tH(f),d);h=(1k.abs(l.x-h.x)+1)*(1k.abs(l.y-h.y)+1);if(4<h)1t 1g r("9B 3g and 16i 2MC 17m 2aN are "+h+" 17v at 1Z 13b 6b. 25O 217 10M 1v5 6L 2OA 17v at 1Z 13b 6b are 2S 11J.");a=m(a.9L,5yX);"4n"===2h a&&(a=1g Zb(a));ti.4G(1a,{2I:b,9L:a,8c:c,16K:256,17g:256,16i:d,16j:e,3g:f})}1b xD(a){a=m(a,m.4Z);1a.3nG=m(a.3nG,1);1a.1K=k.1y(m(a.1K,k.6h));1a.1c9=k.1y(m(a.1c9,k.6h));1a.1iN=m(a.1iN,3a.6w);1a.4d=a.4d;1a.1Jy=y.1y(m(a.1Jy,y.9r));1a.1Jx=y.1y(m(a.1Jx,y.9r));1a.1uR=m(a.1uR,1);1a.1GA=m(a.1GA,1);1a.1cM=C.1y(m(a.1cM,5yV));1a.3Rt=m(a.3Rt,0);1a.3Rq=1a.339=0;1a.1ow=1p 0}1b 4ix(a){a=m(a,m.4Z);1a.6q=m(a.6q,0);1a.13b=m(a.13b,0);1a.14S=m(a.14S,50);1a.1Tl=!1}1b 4iw(a){1t 1g r("18m 1I 1tD 2S be 6AS 51I.  53M, 14W 5hs, 5hp, 5hl or 5fE.");}1b No(){1a.13Z=1a.1bx=1a.2yL=1a.1dn=1a.2yK=1a.2nn=1p 0;1a.24o=ma.18W;1a.1U1=1a.1U2=0;1a.32l={};1a.3RD=.25;1a.1hq=1a.5F=!1;1a.3RC=1p 0}1b 4u5(){1f 1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U})}1b 4u4(a){a.1dn=a.1dn&&!a.1dn.3Z()&&a.1dn.1M();a.2yL=a.2yL&&!a.2yL.3Z()&&a.2yL.1M();a.2nn=a.2nn&&!a.2nn.3Z()&&a.2nn.1M();a.2yK=a.2yK&&!a.2yK.3Z()&&a.2yK.1M();a.1bx=1p 0;a.13Z=1p 0}1b 5yT(a,b){1d c=[];a.1hq&&c.1q("10B");c=1g ja({5p:["2n 2v 1L1;\\1B 2v 3ft;\\1J 1v 2F;\\1r 3F0(1o x){\\1U (abs(x) > 2.5bu){\\2j 12q(x);\\n}\\5L {\\1r z = 0.5bt * x * x - 1.0;\\2j ((((((0.5bs * z - 0.5br) * z + 0.5bq) * z - 0.5bp) * z + 0.5bo) * z - 0.5bn) * z + 0.5bm) * x;\\n}\\n}\\1r 3EY(1v 11O, 1o 4e){\\1r 3EZ = 1V(11O.y - 11O.x * 11O.x, 0.0);\\2j 2Y(0.5 * (1.0 + 3F0((4e - 11O.x) / 3Y(3EZ * 2.0))), 0.0, 1.0);\\n}\\2s 2k()\\n{\\1P 1A = 1Y(1L1, 2F);\\1U(1A.a < 0.11t){\\10W;\\n}\\1r 2Ut = 11N(1Y(1aB, 2F));\\1U(2Ut > 0.0){\\1R 2Uu = 1Y(3ft, 2F).1H;\\1r 7Z = 2Uu.z;\\2u 11O = 2Uu.xy;\\5bl /= 7Z;\\1r 3EX = 3EY(11O, 2Ut);\\6p.a = 2o(1A.a, 3EX);\\n}\\3R = 1A;\\n}\\n"],2N:c});1d d=pa.4t({9J:{3e:!1},13Q:!1,12e:5yU});a.1bx=b.1aL(c,{4J:{1L1:1b(){1f a.1dn},3ft:1b(){1f a.2yL}},4w:d,6t:a.24o,7H:a});a.13Z=1g Ec({1A:1g y(0,0,0,0),4e:1,4w:pa.4t(),6t:a.24o,7H:a})}1b 4u6(a){1f a.1QR&&a.1Mb}1b dK(a){a=m(a,1);v.1N.2b.1bP("3L",a,0);1a.3L=1a.1fx=m(a,1)}1b tz(a){a=m(a,m.4Z);1a.2p=m(a.2p,!0);1a.4tY=a.4tY;1a.1qB=m(a.1qB,!0);1a.4d=m(a.4d,1p 0);1d b=a.5yQ;g(b)||(b=1g xJ(.5));1a.1Uq=b;1a.3RA=a.2yI;1a.12t=A.1y(m(a.4a,A.8K));1a.3RB=A.1y(m(a.3Rx,A.8K));1a.2KQ=!0;1a.3Rw=1g A;1a.20Q=y.1y(m(a.1A,m(a.1Jy,y.9r)));1a.1Up=y.1y(m(a.1A,m(a.1Jx,y.9r)));1a.1DV=m(a.3b,m(a.1uR,1));1a.1Gz=m(a.3b,m(a.1GA,1));1a.3Rs=m(a.9JI,m(a.5yN,0));1a.3Rr=m(a.9JH,m(a.5yM,0));1a.2f5=m(a.4u2,5);1a.4tX=m(a.4u2,5);1a.2KO=m(a.1sx,m(a.5yP,1));1a.2KN=m(a.1sx,m(a.5yO,1));1a.2KP=m(a.6AR,m(a.5yL,5));1a.2nm=m(a.6AR,m(a.5yK,5));1a.3Rv=m(a.3nG,m(a.5yJ,1));1a.3Ru=m(a.3nG,m(a.5yI,1));1a.3nF=C.1y(m(a.1cM,m(a.5yH,4u3)));1a.3nE=C.1y(m(a.1cM,m(a.5yG,4u3)));1a.2KM=m(a.5yF,3a.6w);1a.13d=1p 0;1a.3Rp=[];1a.3nD=[];1a.2f4=1p 0;1a.3Ry=1a.1vg=0;1a.1Tl=1g sa;1a.3Ro=!1;1a.33a=!0;1a.4tV=0;1a.1Q0=m(a.1jC,m(a.1jC,!1));1a.5V=1g P(k.6h,100);1a.27B=1;1a.2yJ=m(a.1bR,!0);1a.1b4=m(a.1I,yD.4u1)}1b 4tW(a,b){1d c=b.1ow;g(c)||(c=b.1ow=a.13d.add({4d:b.4d,1jC:a.1Q0}));c.1G=b.1cM.x;c.1D=b.1cM.y;c.1K=b.1K;c.2p=!0;a=B.11x(b.1Jy.5r,b.1Jx.5r,b.33b);1d d=B.11x(b.1Jy.5t,b.1Jx.5t,b.33b),e=B.11x(b.1Jy.5G,b.1Jx.5G,b.33b),f=B.11x(b.1Jy.2O,b.1Jx.2O,b.33b);c.1A=1g y(a,d,e,f);c.3b=B.11x(b.1uR,b.1GA,b.33b);c.5S=b.age*b.3Rt}1b ew(){1a.1bx=1p 0;1a.5F=!1;1a.4cy=1p 0;1a.1PM=!1}1b 5yy(a,b){1d c=1g ja({5p:["2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n"]}),d=pa.4t({9J:{3e:!1},13Q:!1,12e:Dc.1bQ});a.1bx=b.1aL(c,{4J:{6T:1b(){1f a.4cy}},4w:d,6t:a.24o,7H:a})}1b 4tU(a){1f a.1QR&&a.1Mb}1b Ie(a){if("4n"===2h a){1d b=3n.2wN(a);if(1F===b)1t 1g r(\'3j8 10M id "\'+a+\'" 18f 2S 1GM in 1Z 3n.\');a=b}1f a}1b fw(a){a=m(a,m.4Z);a=Ie(a.11z);if(!g(a))1t 1g r("11z is 1X");1a.15Q=a;a=3n.4O("5u");a.8k="3P-322";1d b=3n.4O("5u");b.8k="3P-322-9JG";1a.4tS=3n.1wH("");b.3A(1a.4tS);1d c=3n.4O("5u");c.8k="3P-322-ms";1a.4tQ=3n.1wH("");c.3A(1a.4tQ);a.3A(c);a.3A(b);1a.15Q.3A(a);1a.4tR=Kd();1a.4tP=Kd();1a.3Rl=1a.3Rm=0;1a.3Rn=!1;b=3n.4O("5u");b.8k="3P-322-3Pv";1a.4tT=3n.1wH("");b.3A(1a.4tT);a.3A(b)}1b at(){1a.4cV=1a.1hq=1a.1e9=1a.2Sd=1a.19m=1a.13p=1p 0}1b 5yw(a,b,c,d){if(!g(a.4cV)||d!==a.1hq){1d e=1g ja({2N:[d?"10B":""],5p:["2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\n    1o 1kg = 11N(1Y(16S, 2F));\\n    1kg = 1rn(1kg); \\n    1o 1iU = 1dx.3I;\\n    1o 1iV = 1dx.3W;\\n    1o 2XB = (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\n    1o 3b = 3r(2XB * 0.5 + 0.5, 8.0);\\n    2C = 1m(3T(1w(0.0), 1w(1.0), 3b), 1.0);\\n}\\n"]});a.4cV=b.1aL(e,{4J:{16S:1b(){1f a.19m}},7H:a});a.1hq=d}a.4cV.5P(b,c)}1b 4tO(a){a.19m=a.19m&&!a.19m.3Z()&&a.19m.1M()}1b 4tN(a){a.13p=a.13p&&!a.13p.3Z()&&a.13p.1M()}1b 5yv(a,b,c){b.8X?g(a.1e9)||(a.1e9=b.1aL("2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\n    2C = 1lP(1Y(16S, 2F).r);\\n}\\n",{4w:pa.4t(),4J:{16S:1b(){1f a.2Sd}},7H:a})):g(a.1e9)||(a.1e9=b.1aL("2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\n    2C = 1Y(16S, 2F).15A;\\n}\\n",{4w:pa.4t(),4J:{16S:1b(){1f a.2Sd}},7H:a}));a.2Sd=c;a.1e9.4Q=a.13p}1b zD(){1a.1ab=1a.13p=1a.19K=1p 0}1b 4tM(a){a.13p=a.13p&&a.13p.1M();a.19K=a.19K&&a.19K.1M()}1b uz(a){1d b=1g Sf(a);b.1Jm=!1;b.1g1={3e:!0,3g:1g Aa};b.5q=1g Aa;1a.4j=a;1a.1bA=1p 0;1a.1ab=b;1a.10o=1a.10V=0}1b Dq(){1a.2yH=1a.13p=1a.1yZ=1a.19K=1a.2eZ=1a.1dn=1p 0;1a.5yt=1g y(0,0,0,0);1a.20q=1p 0;1a.13Z=1g Ec({1A:1g y(0,0,0,0),4e:1,7H:1a})}1b 4tK(a){a.13p=a.13p&&a.13p.1M();a.2yH=a.2yH&&a.2yH.1M();a.1dn=a.1dn&&a.1dn.1M();a.2eZ=a.2eZ&&a.2eZ.1M();a.19K=a.19K&&a.19K.1M();a.1yZ=a.1yZ&&a.1yZ.1M();a.337=a.337&&a.337.1M();a.3nC&&a.3nC.1M();a.13p=1p 0;a.2yH=1p 0;a.1dn=1p 0;a.2eZ=1p 0;a.19K=1p 0;a.1yZ=1p 0;a.337=1p 0;a.3nC=1p 0}1b vz(a){1d b=1g Sf(a);b.1Jm=!1;b.1g1={3e:!0,3g:1g Aa};b.5q=1g Aa;1a.4j=a;1a.1bA=1p 0;1a.1ab=b;1a.10o=1a.10V=0}1b Rk(){}1b Uj(a){a=m(a,m.4Z);1d b=a.1O;if(!g(b))1t 1g r("1O is 1X.");if(!g(a.4cF))1t 1g r("4cF is 1X.");if(g(a.4cU)&&1!==a.4cU&&4!==a.4cU)1t 1g r("1Jh 1bS or 2OA 9JF are 11J.");1a.1wK=m(a.3e,!0);1a.3Rc=m(a.3Rd,!1);1a.2KJ=m(a.27z,!0);1a.6s=!0;1a.53i=m(a.53i,!0);1a.4tC=1a.1k2=m(a.1k2,.5);1a.1Yu=m(a.1Yu,5E3);1a.4tA=1a.2nk=!1;1d c=1a.2nj=!0;if(Nc.2Du()||Nc.4bg()||(Nc.6ub()||Nc.6ua())&&Nc.6u9()&&!b.8X)c=!1;1a.4tJ=c;1a.3nw={1bB:c,4cT:1.1,4cS:4,27z:1a.2KJ,336:.5,1Uo:!0,1rl:.3,1p0:1E-4};1a.3nv={1bB:c,4cT:1.1,4cS:4,27z:1a.2KJ,336:.1,1Uo:!0,1rl:.1cN,1p0:2E-5};1a.3nu={1bB:!1,4cT:1.1,4cS:4,27z:1a.2KJ,336:0,1Uo:!0,1rl:.1,1p0:5E-4};1a.3dL=1a.2Sc=1p 0;1a.3R4=1g A;1a.27y=1p 0;1a.2f2=1g k;1a.3ns=1g E;1a.172=0;1a.4tD=a.4cF;1a.20P=1g eK;1a.27x=1a.3R6=1p 0;1a.5V=1g P;1a.1DU=m(a.4tF,!1);1a.3np=m(a.9JE,100);1a.2ng=(1a.2KI=1a.1DU?!1:m(a.9JD,!0))?m(a.4cU,4):0;1a.5yj=!0;1a.5ya=[25,150,700,3a.6w];1a.1xc=1g C;1a.3Ri=!1;1a.2KI?1a.20P.3j=1g Ee:g(1a.4tD.3j.16X)&&(1a.3Ri=!0);1a.3nq=[1g E,1g E];1a.3R8=[1g A,1g A,1g A,1g A];1a.3R9=1g E;c=1a.1DU?6:1a.2KI?1a.2ng:1;1a.1yX=2K(c);1j(1d d=0;d<c;++d)1a.1yX[d]=1g 6AQ(b);1a.3Rb=1a.4tv=1a.2yC=1a.5y8=!1;1a.2nh=1a.1Gw=1p 0;1a.2nf=2K(1a.2ng);1a.2yA=1p 0;1a.2f0=b.8X;1a.1DU&&(1a.2f0=!1);1a.4tq=1a.4tp=1a.4tr=1p 0;UT(1a);1a.13Z=1g Ec({4e:1,1A:1g y});1a.4tH=1g Sf(b);1a.4V=1a.1eC=m(a.4V,1tA)}1b 6AQ(a){1a.3w=1g eK;1a.1md=1g Sf(a);1a.4tw=1a.4Q=1p 0;1a.13l=[];1a.1dj=1p 0}1b VT(a,b){1f pa.4t({8d:{3e:!0,18X:di.1sq},9J:{3e:!0},1fA:{5r:a,5t:a,5G:a,2O:a},13Q:!0,1bB:{3e:b.1bB,8H:b.4cT,13u:b.4cS}})}1b UT(a){1d b=!a.2f0;a.4tr=VT(b,a.3nv);a.4tp=VT(b,a.3nw);a.4tq=VT(b,a.3nu)}1b WT(a){1j(1d b=a.1yX.1h,c=0;c<b;++c){1d d=a.1yX[c],e=d.4Q;g(e)&&!e.3Z()&&e.1M();d.4Q=1p 0}a.2Sc=a.2Sc&&a.2Sc.1M();a.3dL=a.3dL&&a.3dL.1M()}1b XT(){1f 1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})}1b 4tz(a,b){if(a.1DU){1j(1d c=1g ig({1O:b,1G:a.1xc.x,1D:a.1xc.y,8V:kh.2fK}),d=1g vl({1O:b,1G:a.1xc.x,1D:a.1xc.y,8b:ua.9m,10E:Ha.7U,10v:XT()}),e=[d.1DI,d.1yM,d.1DG,d.1sp,d.1yN,d.1DH],f=0;6>f;++f){1d h=1g eb({1O:b,2o1:c,13I:[e[f]],16Y:!1}),l=a.1yX[f];l.4Q=h;l.1md.4Q=h}a.27y=d;a.2Sc=c;a.3dL=d}1s if(a.2f0){c=1g Ca({1O:b,1G:a.1xc.x,1D:a.1xc.y,8b:ua.1eF,10E:Ha.1Jw,10v:XT()});b=1g eb({1O:b,1ku:c,16Y:!1});d=a.1yX.1h;1j(e=0;e<d;++e)f=a.1yX[e],f.4Q=b,f.1md.4Q=b;a.27y=c;a.2Sc=c}1s{c=1g ig({1O:b,1G:a.1xc.x,1D:a.1xc.y,8V:kh.2fK});d=1g Ca({1O:b,1G:a.1xc.x,1D:a.1xc.y,8b:ua.9m,10E:Ha.7U,10v:XT()});b=1g eb({1O:b,2o1:c,13I:[d],16Y:!1});e=a.1yX.1h;1j(f=0;f<e;++f)h=a.1yX[f],h.4Q=b,h.1md.4Q=b;a.27y=d;a.2Sc=c;a.3dL=d}}1b 4tt(a,b,c){c=m(c,0);if(a.1DU||0===c)a.13Z.4Q=a.1yX[c].4Q,a.13Z.5P(b,a.4tH)}1b 5y7(a,b){b=b.1aL(a.1DU?"2n 1HF 2KK; \\1J 1v 2F; \\2s 2k() \\n{ \\n    1v uv = 2F; \\n    1w 16g; \\n \\n    if (uv.y < 0.5) \\n    { \\n        if (uv.x < 0.333) \\n        { \\n            16g.x = -1.0; \\n            16g.y = uv.x * 6.0 - 1.0; \\n            16g.z = uv.y * 4.0 - 1.0; \\n        } \\n        1s if (uv.x < 0.666) \\n        { \\n            16g.y = -1.0; \\n            16g.x = uv.x * 6.0 - 3.0; \\n            16g.z = uv.y * 4.0 - 1.0; \\n        } \\n        1s \\n        { \\n            16g.z = -1.0; \\n            16g.x = uv.x * 6.0 - 5.0; \\n            16g.y = uv.y * 4.0 - 1.0; \\n        } \\n    } \\n    1s \\n    { \\n        if (uv.x < 0.333) \\n        { \\n            16g.x = 1.0; \\n            16g.y = uv.x * 6.0 - 1.0; \\n            16g.z = uv.y * 4.0 - 3.0; \\n        } \\n        1s if (uv.x < 0.666) \\n        { \\n            16g.y = 1.0; \\n            16g.x = uv.x * 6.0 - 3.0; \\n            16g.z = uv.y * 4.0 - 3.0; \\n        } \\n        1s \\n        { \\n            16g.z = 1.0; \\n            16g.x = uv.x * 6.0 - 5.0; \\n            16g.y = uv.y * 4.0 - 3.0; \\n        } \\n    } \\n \\n    1o 1Gy = 11N(24F(2KK, 16g)); \\n    2C = 1m(1w(1Gy), 1.0); \\n} \\n":"2n 2v 1OT; \\1J 1v 2F; \\2s 2k() \\n{ \\n"+(a.2f0?"    1o 1Gy = 1Y(1OT, 2F).r; \\n":"    1o 1Gy = 11N(1Y(1OT, 2F)); \\n")+"    2C = 1m(1w(1Gy), 1.0); \\n} \\n",{4J:{1OT:1b(){1f a.27y},2KK:1b(){1f a.27y}}});b.6t=ma.1eW;1f b}1b eK(){1a.1on=1g A;1a.1x3=1g A;1a.3j=1p 0;1a.19I=1g T;1a.6K=1g k;1a.18k=k.1y(k.16a);1a.1je=k.1y(k.1f5);1a.2f1=k.1y(k.1dl);1a.3nt=1g A}1b 4to(a,b,c){1d d=a.1DU?a.3nu:c?a.3nw:a.3nv;c={1OT:1b(){1f a.27y},2KK:1b(){1f a.27y},3nx:1b(){1f a.3R4},24P:1b(){1f a.3nq},2Ug:1b(){1f a.3R8},3ny:1b(){1f a.2f2},2nl:1b(){1f a.3ns},2Ui:1b(){1f a.3R9},3nB:1b(){1d b=5y4;b.x=1/a.1xc.x;b.y=1/a.1xc.y;1f E.9v(b.x,b.y,d.1p0,d.1rl,1a.6AP)},3nz:1b(){1f E.9v(d.336,a.172,a.1Yu,a.4tC,1a.6AO)},6AP:1g E,6AO:1g E};1f fb(b,c,!1)}1b bt(a,b,c){1d d=a.1O,e=[],f=b.3j.3I,h=b.3j.3W,l=a.3PJ?a.3R1:a.32X;4tl(f,h,l,1k.8a(1k.7k(h/f)/1k.7k(l)),a.3PJ,e,!1,1p 0);1d g;d.8X&&(g=1g Qk);1d n;a.32e&&d.8X&&(n=1g rn(d));a=1g Sf(d);a.5q=Aa.1y(c);1a.3w=b;1a.5xT=ab.1y(b);1a.3no=!1;1a.4tn=1p 0;1a.5q=c;1a.1md=a;1a.1M7=1g uz(d);1a.31W=1g vz(d);1a.2JN=1g zD;1a.27w=1g Dq;1a.1aT=g;1a.1lo=n;1a.4ti=[];1a.4tj=[];1a.1Jl=e;1a.2I2=1p 0;1a.3mr=!1}1b 5xS(a,b){1f 1k.1V(1k.1V(1k.1V(1k.abs(a.x),1k.abs(b.x)),1k.1V(1k.abs(a.y),1k.abs(b.y))),1k.1V(1k.abs(a.z),1k.abs(b.z)))}1b 4tl(a,b,c,d,e,f,h,l){f.1h=d;1j(1d p=0;p<d;++p){if(h){1d n=1k.2o(b-l,a+p*l);1d k=1k.2o(b,n+l)}1s n=1k.1V(a,1k.3r(c,p)*a),k=c*n,e||(k=1k.2o(b,k));1d w=f[p];g(w)?(w.3I=n,w.3W=k):f[p]=1g 4iK(n,k)}}1b mh(a){1a.4ta=[];1a.9JC={};1a.20u={};1a.2xT=!1;1d b=1g Aa(0,0,1,1),c=1g ab(a);c.3j=1g Jb({1G:.1,13n:1,3I:.1});1a.20s=1g bt(a,c,b)}1b 4tg(a,b,c,d,e){1d f=a.3w.3j;if(f 2m Jb||f 2m Ee){d=a.3w;f=d.3j;g(f.1d3)&&(f=f.1d3);1d h=2*(b.x-e.x)/e.1G-1;h*=.5*(f.2W-f.3B);1d l=2*(e.1D-b.y-e.y)/e.1D-1;l*=.5*(f.5C-f.7b);c=A.1y(d.5o,5xJ);d.1dm(A.8K);b=k.1y(d.1K,5xL);k.4g(d.2W,h,fK);k.add(fK,b,b);k.4g(d.up,l,fK);k.add(fK,b,b);d.1dm(c);a.3z===O.10j&&k.9v(b.z,b.x,b.y,b);e=f.28b(e.1G,e.1D,1,1,5xK);a=5xM;a.2W=.5*e.x;a.3B=-a.2W;a.5C=.5*e.y;a.7b=-a.5C;a.3I=f.3I;a.3W=f.3W;1f a.1tM(b,d.18k,d.1je)}a=a.3w;f=a.3j;h=f.3I;1d p=1k.10n(.5*f.1MK);l=(2*(b.x-e.x)/e.1G-1)*h*f.13n*p;b=(2*(e.1D-b.y-e.y)/e.1D-1)*h*p;p=f.28b(e.1G,e.1D,1,1,5xH);e=p.x*c*.5;d=p.y*d*.5;c=5xI;c.5C=b+d;c.7b=b-d;c.2W=l+e;c.3B=l-e;c.3I=h;c.3W=f.3W;1f c.1tM(a.6K,a.18k,a.1je)}1b 4tc(a,b){1d c,d=[],e=[],f=[],h=[];g(a)||(a=3a.6w);1j(c=b();g(c);){1d l=c.2c,p=c.31U;if(g(c.1K)&&!g(l)){d.1q(c);1W}if(!g(l)||!g(l.9k))1W;if(!p&&(d.1q(c),0>=--a))1W;p=l.9k;1d n=!1;"1b"===2h p.1bH&&g(l.id)&&(c=p.1bH(l.id),g(c)&&g(c.2p)&&(n=!0,c.2p=Wc.1an(!1,c.2p),f.1q(c)));l 2m Jh&&(n=!0,l.2p=!1,h.1q(l));n||(p.2p=!1,e.1q(p));c=b()}1j(a=0;a<e.1h;++a)e[a].2p=!0;1j(a=0;a<f.1h;++a)c=f[a],c.2p=Wc.1an(!0,c.2p);1j(a=0;a<h.1h;++a)h[a].2p=!0;1f d}1b 6AN(a,b,c){1a.11j=a;1a.1G=b;1a.32W=c;1a.3o=!1;1a.1ma=Z.12L();1a.10l=1a.1ma.10l}1b 4t9(a,b,c,d){a=b.2G;1d e=k.3da(a,4tb);e=k.4B(a,e,4tb);1d f=k.4B(a,e,5xB);d.1K=b.9X;d.2G=a;d.up=f;d.2W=e;d.3j.1G=m(c,.1);1f d.3j.1tM(d.6K,d.18k,d.1je)}1b 53L(a,b,c){1j(1d d=a.1h,e=0;e<d;++e){1d f=a.1n(e);f.2p&&(g(f.68N)?g(b)&&-1!==b.3f(f)||c.1q(f):f 2m cf&&53L(f,b,c))}}1b gK(a,b,c,d,e,f){1d h=[];53L(b.13y,d,h);if(0===h.1h)1f Z.5h(f());b=1g 6AN(c,e,h);a.4ta.1q(b);1f b.10l.4b(1b(){1f f()})}1b YT(a,b,c,d,e,f,h,l){1f 4tc(d,1b(){1d d=b.1O,n=d.13m,k=b.18Y,w=a.20s;b.11A=w;4t9(a,c,f,w.3w);Eq=Aa.1y(w.5q,Eq);1d x=w.1M7.1jM(Eq,w.5q);b.1Ul.31X();b.4td();k.1M8=!1;k.10s.11P=!0;k.10s.1Tt=!0;k.2mL=l?5xN:ZT;n.2H(k);b.3QZ();b.4tf(x,$T);b.4te(x);n=w.1M7.9o(d);if(b.1O.8X){1d m=w.1Jl.1h;1j(x=0;x<m;++x)if(k=a.26Y(b,x).19x(d,0,0),0<k&&1>k){1d t=w.1Jl[x];w=t.3I*(0!==x?b.2mD:1);t=rb.1n3(c,w+k*(t.3W-w));1W}}b.11A=b.26Q;d.1sr();g(n)||g(t)?(d=t,(t=!g(t)&&h)||(t=g(n)&&g(e)&&0!==e.1h?-1<e.3f(n)||-1<e.3f(n.9k)||-1<e.3f(n.id):!1),d={2c:n,1K:d,31U:t}):d=1p 0;1f d})}1b wz(a,b,c,d,e,f,h){a=YT(a,b,c,1,d,e,f,h);if(0<a.1h)1f a[0]}1b hK(a,b){1d c=Z.12L();b.4b(1b(b){1d d=a.2lL.7K(1b(){c.5h(b);d()});a.1e2()}).10g(1b(a){c.7N(a)});1f c.10l}1b aU(a,b){1d c=a.10a,d=g(c)?c.3c:a.11s.3c;a=nd.2Qh;c=d.2a8(b,5xx);d=T.1g8(b,d,5xy);b=5xw;b.9X=d;b.2G=c;d=1g rb;rb.1n3(b,a,d.9X);k.11k(c,d.2G);1f d}1b 4t8(a,b){1d c=a.10a;c=g(c)?c.3c:a.11s.3c;b=T.12y(b,c,$ba);1f aU(a,b)}1b aca(a,b){1d c=a.10a;a=g(c)?c.3c:a.11s.3c;1f T.12y(b,a,$ba).1D}1b 5xv(a,b,c,d,e){1d f=aU(b,c);1f gK(a,b,f,d,e,1b(){1d c=wz(a,b,f,d,e,!0,!0);if(g(c))1f aca(b,c.1K)})}1b 5xu(a,b,c,d,e,f){1d h=4t8(b,c);1f gK(a,b,h,d,e,1b(){1d c=wz(a,b,h,d,e,!0,!0);if(g(c))1f k.1y(c.1K,f)})}1b bU(a){1a.9h=m(a,[1g k,1g k,1g k]);1a.7u=P.1aN(a);g(a)&&(a=tc.25R({3q:a,16U:!0}),1a.16b=tc.14t(a),1a.3QY=4t7(1a.16b))}1b 4t7(a){1d b=a.4N,c=b.1h/3,d=a.2w.1K.2a,e=[],f=0;1j(a=0;a<c;a++){1d h=b[3*a],l=b[3*a+1],g=b[3*a+2];iK.x=d[3*h];iK.y=d[3*h+1];iK.z=d[3*h+2];jK.x=d[3*l];jK.y=d[3*l+1];jK.z=d[3*l+2];kK.x=d[3*g];kK.y=d[3*g+1];kK.z=d[3*g+2];h=iK;l=kK;cU=k.3V(jK,h,cU);dU=k.3V(l,h,dU);eU=k.4B(cU,dU,eU);h=.5*k.7t(eU);f+=h;e.1q(h)}d=1k.1V(100,10*c);h=[];1j(a=0;a<c;a++)1j(l=1k.2t(e[a]/f*d),l=1k.1V(1,l),b=0;b<l;b++)h.1q(a);1f h}1b fU(a,b,c,d,e){1f(1-1k.3Y(a))*c+1k.3Y(a)*(1-b)*d+1k.3Y(a)*b*e}1b kd(a){a=m(a,m.4Z);1d b=a.1cm,c=m(a.1yW,1),d=m(a.8b,ua.9m);v.1N.4n("3v.1cm",b);v.1N.2b.1bP("3v.1yW",c,0);v.1N.2b.19D("3v.1yW",c,1);if(!ua.4Vt(d))1t 1g r("3v.8b 2Q be a 1A 8V.");1a.3QW=b;1a.1dg=a.6H;1a.4sU=c;1a.4sT=m(a.2nc,!1);1a.4t3=m(a.1Uh,Vj.10U);1a.4t2=a.5x8;1a.1vf=d;1a.1ov=m(a.10E,Ha.7U);1a.2KB=m(a.20L,y.1a7);1a.2eZ=1a.19m=1a.1dn=1a.10u=1a.1cH=1p 0;1a.2Sb={};1a.3Bl=[];1a.2pG=[];1a.4cR=[];1a.3Bm=1p 0;b=1g Sf;b.1g1={3e:!0,3g:g(a.2Km)?Aa.1y(a.2Km):1g Aa};1a.1ab=b;1a.4y=!1;a=a.2i;g(a)||(a=Ld());1a.6X=a;1a.2yw=1a.1DT=1a.32T=1a.1pz=1a.32U=1a.1sz=1a.1Uj=1a.1hq=1a.3QX=1p 0;1a.32R=1a.32S=0;1a.2yv=!0;1a.12N=1a.1jd=1p 0;1a.1wK=1a.3e=!0}1b 6AL(a,b,c){1d d=b[c];("4n"===2h d||d 2m 2hs||d 2m 38M||d 2m 38L||d 2m 2Ou)&&a.3Bl.1q(c);1f{1n:1b(){1f b[c]},1C:1b(d){1d e=b[c];b[c]=d;1d h=a.2Sb,l=h[c];g(l)&&l!==e&&l 2m Ca&&!g(a.1jd.27r(c))&&(a.2pG.1q(l),4Y h[c],4Y h[c+"3bQ"]);e 2m Ca&&a.2pG.1q(e);"4n"===2h d||d 2m 2hs||d 2m 38M||d 2m 38L||d 2m 2Ou?a.3Bl.1q(c):h[c]=d}}}1b 6AM(a,b){1f 1b(){1d c=a.2Sb[b];1f"1b"===2h c?c():c}}1b 6AK(a,b){1f 1b(){1d c=a[b]();if(g(c))1f c.6e}}1b 5xs(a){if(!g(a.1cH)){1d b={},c={},d=a.1dg,e=a.2Sb,f;1j(f in d)if(d.3p(f)){"1b"!==2h d[f]?(b[f]=6AM(a,f),c[f]=6AL(a,d,f)):(b[f]=d[f],c[f]=d[f]);e[f]=d[f];1d h=b[f]();if("4n"===2h h||h 2m Ca||h 2m 38M||h 2m 2hs||h 2m 38L)b[f+"3bQ"]=6AK(b,f)}a.1dg={};1L.2X(a.1dg,c);a.1cH=fb(b,{6T:1b(){1f a.1dn},1Gv:1b(){1f a.1dn.6e},8X:1b(){1f a.19m},9JB:1b(){1f a.19m.6e},4t6:1b(){1f a.2eZ},4t5:1b(){1f a.1Uj},4t4:1b(){1f 1/a.1Uj.1G}})}}1b 6AI(a,b){1f 1b(c){a.4cR.1q({2i:b,5j:c})}}1b 6AJ(a,b){1f 1b(){1f a.1jd.2n9(b)}}1b 5xr(a,b){1d c,d=a.2pG,e=d.1h;1j(c=0;c<e;++c)1d f=(f=d[c])&&f.1M();d.1h=0;d=a.4cR;e=d.1h;1j(c=0;c<e;++c){1d h=d[c];f=h.2i;a.2Sb[f]=1g Ca({1O:b,5j:h.5j})}d.1h=0;b=a.3Bl;if(0===b.1h&&!g(a.3Bm))a.4y=!0;1s if(0!==b.1h&&!g(a.3Bm)){e=b.1h;d=a.1dg;h=[];1j(c=0;c<e;++c){f=b[c];1d l=d[f],p=a.1jd.27r(l);g(p)?a.2Sb[f]=6AJ(a,l):"4n"===2h l?(l=1g na({2I:l}),h.1q(l.1jN().4b(6AI(a,f)))):a.4cR.1q({2i:f,5j:l})}b.1h=0;0<h.1h?(a.4y=!1,a.3Bm=Z.all(h).4b(1b(){a.4y=!0;a.3Bm=1p 0})):a.4y=!0}}1b 4t0(a){g(a.10u)&&(a.10u.2z=a.10u.2z&&a.10u.2z.1M(),a.10u=1p 0);a.1Uj=a.1Uj&&a.1Uj.1M();1d b=a.1jd;if(g(b)){1d c=a.1dg,d=a.2Sb,e;1j(e in d)d.3p(e)&&d[e]2m Ca&&(g(b.27r(c[e]))||d[e].1M(),a.3Bl.1q(e))}}1b nh(a){a=m(a,m.4Z);v.2l("3v.1yV",a.1yV);v.1N.2b.1bP("3v.1yV.1h",a.1yV.1h,0);1a.1kt=a.1yV;1a.5xp=m(a.27u,!0);1d b=a.2i;g(b)||(b=Ld());1a.6X=b;1a.1dg=a.6H;1a.2yw=1a.1DT=1a.32T=1a.1pz=1a.32U=1a.1sz=1a.12N=1a.1jd=1p 0;1a.32R=1a.32S=0;1a.2yv=!0}1b lK(a){1d b=1g kd({2i:a+"9JA",1cm:"#2f 1CY\\n#2f 1Fv 8\\1B 1o 14k;\\1B 1o 15N;\\1B 1o 2G;\\1B 2v 6T;\\n#1z 1CY\\1B 1o 1bo;\\n#1s\\1B 1v 7F;\\n#1u\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\n#1z 1CY\\2u 7F = 1v(1bo * (1gU / 9e.zw));\\n#1s\\2u 7F = 7F;\\n#1u\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 15N);\\ng.y = 108((-0.5 * 14k * 14k) / (15N * 15N));\\ng.z = g.y * g.y;\\1P 4D = 1Y(6T, st) * g.x;\\14D (7P i = 1; i < 1Fv; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 7F;\\19v += 1Y(6T, st - 2M) * g.x;\\19v += 1Y(6T, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n",6H:{14k:1,15N:2,1bo:1,2G:0},1Uh:Vj.11U}),c=1g kd({2i:a+"9Jz",1cm:"#2f 1CY\\n#2f 1Fv 8\\1B 1o 14k;\\1B 1o 15N;\\1B 1o 2G;\\1B 2v 6T;\\n#1z 1CY\\1B 1o 1bo;\\n#1s\\1B 1v 7F;\\n#1u\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\n#1z 1CY\\2u 7F = 1v(1bo * (1gU / 9e.zw));\\n#1s\\2u 7F = 7F;\\n#1u\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 15N);\\ng.y = 108((-0.5 * 14k * 14k) / (15N * 15N));\\ng.z = g.y * g.y;\\1P 4D = 1Y(6T, st) * g.x;\\14D (7P i = 1; i < 1Fv; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 7F;\\19v += 1Y(6T, st - 2M) * g.x;\\19v += 1Y(6T, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n",6H:{14k:1,15N:2,1bo:1,2G:1},1Uh:Vj.11U}),d={};1L.2X(d,{14k:{1n:1b(){1f b.6H.14k},1C:1b(a){b.6H.14k=c.6H.14k=a}},15N:{1n:1b(){1f b.6H.15N},1C:1b(a){b.6H.15N=c.6H.15N=a}},1bo:{1n:1b(){1f b.6H.1bo},1C:1b(a){b.6H.1bo=c.6H.1bo=a}}});1f 1g nh({2i:a,1yV:[b,c],6H:d})}1b sn(a){1a.1DS=a;1a.1Gt=[];1a.3QQ={};1a.10o=1a.10V=1p 0;1a.3QS=!1}1b AD(a){1j(;g(a.1h);)a=a.1n(a.1h-1);1f a.2i}1b gU(a,b,c,d,e){if(!d.3e||!d.1Ba(b))1f e;b=c[d.2i]={};g(e)&&(e=a.27r(e),b[AD(e)]=!0);e=d.6H;if(g(e)){c=1L.6A8(e);1j(1d f=c.1h,h=0;h<f;++h){1d l=e[c[h]];"4n"===2h l&&(l=a.27r(l),g(l)&&(b[AD(l)]=!0))}}1f d.2i}1b BD(a,b,c,d,e){if(g(d.3e)&&!d.3e||g(d.1Ba)&&!d.1Ba(b))1f e;1j(1d f=e,h=!g(d.27u)||d.27u,l=e,p=d.1h,n=0;n<p;++n)l=d.1n(n),l=g(l.1h)?BD(a,b,c,l,e):gU(a,b,c,l,e),h&&(e=l);if(h)1j(a=1;a<p;++a)b=AD(d.1n(a)),g(c[b])||(c[b]={}),c[b][f]=!0;1s 1j(a=1;a<p;++a)1j(b=AD(d.1n(a)),f=c[b],b=0;b<a;++b)f[AD(d.1n(b))]=!0;1f l}1b hU(a){a=a.1Gt;1j(1d b=a.1h,c=0;c<b;++c){1d d=a[c];d.3J=d.3J&&d.3J.1M();d.3J=1p 0}}1b Wj(){1a.20J=1a.1Uf=1a.1Ug=1p 0;1a.1tK=1g Sf;1a.3e=!1;1a.3nf=1a.3ne=1a.2na=1a.2nb=1a.27t=1a.3QP=1p 0;1a.13Z=1g Ec({1A:1g y(0,0,0,0)});1a.27m=1g C}1b wi(){1d a=tn.5xl(),b=tn.5xm(),c=tn.5xn(),d=tn.5xi();1a.3nc=!1;1a.32H=tn.5xk();1a.3QM=1a.1Mk=1p 0;1a.4sR=xz.4sS;1d e=1a.1Mk;b.3e=!1;c.3e=!1;e.3e=!1;1d f=1g sn(1a),h={},l=iU;1j(l.1q(a,b,c,e,d);0<l.1h;){e=l.9l();h[e.2i]=e;e.1jd=f;1d p=e.1h;if(g(p))1j(1d n=0;n<p;++n)l.1q(e.1n(n))}1a.1kt=[];1a.32J=[];1a.4sN=[];1a.27s=1p 0;1d k=1a;b.6H.1OO=1b(){1f k.27s};1a.2Kx=b;1a.2Kw=c;1a.2Ky=a;1a.32I=1g Wj;1a.1ln=d;1a.4sH=1a.4sI=1a.4sJ=1a.4sK=1a.4sL=1a.4sM=1p 0;1a.32K=1a.3QK=!1;1a.2KA=h;1a.1jd=f}1b jU(a){if(a.3QK){a.3QK=!1;1j(1d b=[],c=a.1kt,d=c.1h,e=0,f=0;e<d;++e){1d h=c[e];h&&(h.12N=f++,b.1q(h))}a.1kt=b}}1b ct(a){1j(;g(a.1h);)a=a.1n(a.1h-1);1f a.1v8}1b un(a,b,c,d,e){if(g(a.5P))a.5P(b,c,d,e);1s{1d f=a.1h,h;if(a.27u)1j(un(a.1n(0),b,c,d,e),h=1;h<f;++h)un(a.1n(h),b,ct(a.1n(h-1)),d,e);1s 1j(h=0;h<f;++h)un(a.1n(h),b,c,d,e)}}1b dt(a){1a.3n8=a;1a.1I="5wO";1a.4sC=1a.4sD=1;1a.19J=1g k;1a.11K()}1b Fq(a,b,c,d){1a.2R=a.2R;1a.12m={4f:0,13N:1,1P2:2};1a.16b=d;1a.3n4=1a.32E=1a.32F=1F;1a.3n3={};1a.1Jk=1F;1a.6X="9Jy"+a.6X+"10D"+b.5s();1a.18j=a.18j;1a.2eF=c;1a.1ss=!1;1a.1fq=a}1b 4sA(a){g(a)&&(a.4c=a.4c&&!a.4c.3Z()&&a.4c.1M(),a.2z=a.2z&&a.2z.1M(),a.4w=1p 0,a.4J=1p 0)}1b Sk(){r.8i()}1b et(a){v.1N.2c("4r",a);1a.2R=a;1a.2iX=[];1a.2s0=1p 0;1a.3dK=!1;1a.1ve=1p 0;1a.32D=!1}1b CD(a,b){if(a.2R.6AB){a.2s0=1g Ne(a.2R.3M);1d c=1b(){a.3dK=!0;a.2R.3w.3pN();b(a)};a.1ve=c;a.2s0.1a1(c,Va.25P);a.2s0.1a1(c,Va.49o);a.2s0.1a1(c,Va.49p);a.2s0.1a1(c,Va.1TL)}}1b mK(a){1j(1d b=a.2iX,c=0;c<b.1h;++c)b[c].3QA();a.2iX.1h=0;a.2s0=a.2s0&&a.2s0.1M()}1b 4st(a,b){1d c=a.2R;a=c.3w;1d d=kU,e=d.1K,f=d.2G,h=d.up;c=c.11s.1cZ(a.1K,5wv);b.13B(c,e);e=b.1fI(e,5wu);b=Da.18N(e,b,5wt);A.1gE(b,a.2G,f);A.1gE(b,a.up,h);1f d}1b lU(a,b,c,d){b*=.5;1d e=a.2R,f=e.3w,h=k.1y(f.1K,5ws),l=k.1y(f.2G,5wr),g=k.1y(f.up,5wq),n=A.8P(ab.34I,c.1K,5wp),z=A.1gE(ab.34I,c.2G,5wo),w=A.1gE(ab.34I,c.up,5wn);c=e.20x.add({13k:b,1lZ:jh.2EE,1Jt:{6q:0},1Js:{6q:1},2H:1b(a){k.11x(h,n,a.6q,f.1K);k.11x(l,z,a.6q,f.2G);k.11x(g,w,a.6q,f.up);k.4B(f.2G,f.up,f.2W);k.1T(f.2W,f.2W)},1aH:1b(){53I(a,e,0,1,b,d)}});a.2iX.1q(c)}1b 5ww(a,b,c){b/=3;1d d=a.2R,e=d.3w;if(0<b){1d f=kU;k.8g(0,0,5*c.17i,c,f.1K);k.11k(f.1K,f.2G);k.1T(f.2G,f.2G);k.1y(k.16a,f.up)}1s e.1K.z=e.3j.2W-e.3j.3B,f=4st(a,c);if(a.32D){1d h=5wm;h.13n=d.8j/d.7p;h.1G=e.3j.2W-e.3j.3B}1s h=4ss,h.13n=d.8j/d.7p,h.16X=B.8I(60);f.3j=h;1d l=4sr(f);CD(a,l);1d g=a.32D?1b(){lU(a,b,f,l)}:1b(){53J(a,b,f,1b(){lU(a,b,f,l)})};0<b?(d.8C=O.10j,e.1AG({13k:b,16h:k.8g(0,0,5*c.17i,c,mU),1aH:1b(){d.8C=O.1at;g()}})):g()}1b 53K(a,b,c,d,e){1d f=a.2R,h=f.3w;if(!(h.3j 2m Jb)){1d l=h.3j.16X,g=.5*B.15y,n=c.1K.z*1k.10n(.5*l);h.3j.3W=n/1k.10n(.5*g)+1E7;b=f.20x.add({13k:b,1lZ:jh.2EE,1Jt:{6q:0},1Js:{6q:1},2H:1b(a){h.3j.16X=B.11x(l,g,a.6q);d(h,n/1k.10n(.5*h.3j.16X))},1aH:1b(){h.3j=c.3j.1y();e(a)}});a.2iX.1q(b)}}1b 5wJ(a,b){1b c(a,b){a.1K.z=b}b*=.5;1d d=a.2R,e=d.3w,f=k.1y(e.1K,5wl),h=k.1y(e.2G,5wk),l=k.1y(e.up,5wj),p=k.11k(k.16a,$Aa),n=k.1y(k.1f5,5wi),z=nU;if(0<b)k.1y(k.6h,nU),z.z=5*d.11s.3c.17i;1s{k.1y(f,nU);1d w=5wg;A.8P(ab.20I,f,w.9X);A.1gE(ab.20I,h,w.2G);1d x=d.10a;g(x)&&(w=x.3oe(w,d,5wf),g(w)&&(A.8P(ab.34I,w,z),z.z+=k.3s(f,z)))}w=5wh;w.2W=.5*z.z;w.3B=-w.2W;w.5C=d.7p/d.8j*w.2W;w.7b=-w.5C;1d m=5we;m.1K=z;m.2G=p;m.up=n;m.3j=w;1d t=53H(m);CD(a,t);d=d.20x.add({13k:b,1lZ:jh.2EE,1Jt:{6q:0},1Js:{6q:1},2H:1b(a){k.11x(f,z,a.6q,e.1K);k.11x(h,p,a.6q,e.2G);k.11x(l,n,a.6q,e.up);k.4B(e.2G,e.up,e.2W);k.1T(e.2W,e.2W);e.2fP(!0)},1aH:1b(){53K(a,b,m,c,t)}});a.2iX.1q(d)}1b 5wI(a,b,c){1b d(a,b){a.1K.x=b}b*=.5;1d e=a.2R,f=e.3w,h=5wd;if(0<b)k.1y(k.6h,h.1K),h.1K.z=5*c.17i,k.11k(k.16a,h.2G),k.1y(k.1f5,h.up);1s{c.10Z(f.6K,4sl);e.11s.12z(4sl,h.1K);k.11k(k.16a,h.2G);k.1y(k.1f5,h.up);1d l=5wa;k.1y(h.1O9,l.9X);1d p=k.1y(f.18k,l.2G);f=c.1fI(f.6K,5w8);c=Da.18N(f,c,5w9);A.1yQ(c,c);A.1gE(c,p,p);A.1gE(ab.20I,p,p);p=e.10a;g(p)&&(l=p.3oe(l,e,5wb),g(l)&&(p=k.3s(h.1O9,l),l.x+=p,k.1y(l,h.1O9)))}A.8P(ab.20I,h.1K,h.1O9);A.1gE(ab.20I,h.2G,h.3n2);A.1gE(ab.20I,h.up,h.3n1);l=h.3j;l.2W=.5*h.1K.z;l.3B=-l.2W;l.5C=e.7p/e.8j*l.2W;l.7b=-l.5C;e=5wc;A.8P(ab.34I,h.1O9,e.1K);k.1y(h.2G,e.2G);k.1y(h.up,e.up);e.3j=l;1d n=53H(e);CD(a,n);4su(a,b,h,1b(){53K(a,b,h,d,n)})}1b 53J(a,b,c,d){1d e=a.2R,f=e.3w,h=f.3j.2W-f.3j.3B;f.3j=c.3j.1y();1d l=f.3j.16X,g=.5*B.15y,n=h*1k.10n(.5*l);f.3j.3W=n/1k.10n(.5*g)+1E7;f.3j.16X=g;b=e.20x.add({13k:b,1lZ:jh.2EE,1Jt:{6q:0},1Js:{6q:1},2H:1b(a){f.3j.16X=B.11x(g,l,a.6q);f.1K.z=n/1k.10n(.5*f.3j.16X)},1aH:1b(){d(a)}});a.2iX.1q(b)}1b 5wA(a,b,c,d){1b e(){h.3j=c.3j.1y();1d e=k.1y(h.1K,4sq),p=k.1y(h.2G,4sp),x=k.1y(h.up,4so);e.z=l.z;1d m=f.20x.add({13k:b,1lZ:jh.2EE,1Jt:{6q:0},1Js:{6q:1},2H:1b(a){k.11x(e,l,a.6q,h.1K);k.11x(p,g,a.6q,h.2G);k.11x(x,n,a.6q,h.up);k.4B(h.2G,h.up,h.2W);k.1T(h.2W,h.2W)},1aH:1b(){d(a)}});a.2iX.1q(m)}b*=.5;1d f=a.2R,h=f.3w,l=k.1y(c.1K,mU),g=k.1y(c.2G,4sn),n=k.1y(c.up,4sm);f.8C=O.1at;a.32D?e():53J(a,0,c,e)}1b 4su(a,b,c,d){1d e=a.2R,f=e.3w,h=k.1y(f.1K,4sq),l=k.1y(f.2G,4sp),g=k.1y(f.up,4so),n=k.1y(c.1O9,mU),z=k.1y(c.3n2,4sn),w=k.1y(c.3n1,4sm);c=e.20x.add({13k:b,1lZ:jh.2EE,1Jt:{6q:0},1Js:{6q:1},2H:1b(a){k.11x(h,n,a.6q,f.1K);k.11x(l,z,a.6q,f.2G);k.11x(g,w,a.6q,f.up);k.4B(f.2G,f.up,f.2W);k.1T(f.2W,f.2W);f.2fP(!0)},1aH:1b(){53I(a,e,1,0,b,d)}});a.2iX.1q(c)}1b 53I(a,b,c,d,e,f){c={2c:b,5i:"29J",2lE:c,2lD:d,13k:e,1lZ:jh.2EE};g(f)&&(c.1aH=1b(){f(a)});b=b.20x.1Dr(c);a.2iX.1q(b)}1b 4sr(a){1f 1b(b){1d c=b.2R;c.8C=O.6G;c.29J=O.3yG(O.6G);mK(b);1d d=c.3w;if(b.1yS!==O.1at||b.3dK)b.3dK=!1,k.1y(a.1K,d.1K),k.1y(a.2G,d.2G),k.1y(a.up,d.up),k.4B(d.2G,d.up,d.2W),k.1T(d.2W,d.2W),d.3j=a.3j.1y();d=d.3j;c.18Y.1bz&&(d.3I=.1,d.3W=3PQ);d=g(b.1ve);b.1ve=1p 0;c.3w.2H(c.3z);b.2R.3dq.5k(b,b.1yS,O.6G,d)}}1b 53H(a){1f 1b(b){1d c=b.2R;c.8C=O.10j;c.29J=O.3yG(O.10j);mK(b);1d d=c.3w;k.1y(a.1K,d.1K);d.1K.z=2*c.11s.3c.17i;k.1y(a.2G,d.2G);k.1y(a.up,d.up);k.4B(d.2G,d.up,d.2W);k.1T(d.2W,d.2W);d.3j=a.3j.1y();d=g(b.1ve);b.1ve=1p 0;c.3w.2H(c.3z);b.2R.3dq.5k(b,b.1yS,O.10j,d)}}1b 5wB(a){1f 1b(b){1d c=b.2R;c.8C=O.15j;c.29J=O.3yG(O.15j);mK(b);1d d=c.3w;if(b.9Jx!==O.1at||b.3dK)b.3dK=!1,k.1y(a.1K,d.1K),k.1y(a.2G,d.2G),k.1y(a.up,d.up),k.4B(d.2G,d.up,d.2W),k.1T(d.2W,d.2W);d=d.3j;c.18Y.1bz&&(d.3I=.1,d.3W=3PQ);d=g(b.1ve);b.1ve=1p 0;c.3w.2H(c.3z);b.2R.3dq.5k(b,b.1yS,O.15j,d)}}1b nK(a,b,c,d,e,f,h,l,g,n){1a.1sa=a;1a.5w4=b;1a.5w7=wc(c);1a.5w6=wc(d);1a.1oi=e;1a.3QB=f;1a.5w5=h;1a.13A=l;1a.1Tl=g;1a.1hm=n;1a.4sk=!0}1b Tk(){1a.1sa=[]}1b yz(a){if(!g(a))1t 1g r("4r is 1X.");1a.3mo=1a.2ZT=1a.1Zo=1a.2JZ=1a.2wd=1a.2zO=!0;1a.2xZ=!1;1a.3Qs={1sx:1,1D:5};1a.4rV=1a.2Kq=.9;1a.32z=.8;1a.3dI=.1;1a.5v2=3;1a.2LU=1;1a.4cK=3a.19B;1a.3Qw=Wd.2zK;1a.32A=[Wd.34y,Wd.1TL,Wd.3Ud];1a.3LB=Wd.2zK;1a.2ZW=[Wd.3py,Wd.3Ud,{3Bk:Wd.2zK,2uE:mk.34x},{3Bk:Wd.34y,2uE:mk.34x}];1a.4rS={3Bk:Wd.2zK,2uE:mk.3Uc};1a.4rZ=1a.4rY=1a.2Ks=1a.5v9=5Fk;1a.3Qx=1a.5v8=9Jw;1a.5FA=!0;1a.2S8=!1;1a.6AE=.5;1a.2R=a;1a.5W=1a.1cD=1p 0;1a.1P9=1g Ik(a.3M);1a.2Kp=1a.3n0=1a.20F=1a.3Qt=1p 0;1a.1sa=1g Tk;1a.3Qu=1a.4rU=1p 0;1a.2aE=1g C(-1,-1);1a.2dw=1g k;1a.53D=1g C(-1,-1);1a.53E=1g k;1a.4cM=1g k;1a.2dC=1g C(-1,-1);1a.2rZ=1g k;1a.4cP=1a.4cO=1a.2S9=1a.4cL=1a.1NN=1a.4cN=1a.4cQ=!1;1a.28a=a.11s.12z(1g T(1k.PI,B.10k));1a.2Kt=5;1a.20G=1a.20H=1p 0;1a.3Bj=.618;1a.3Bi=.5;1a.53C=20;1a.53B=9Jv;1a.1WJ=1p 0;1a.1WK=!1}1b ej(a,b,c,d,e,f){a.1WK=a.2R.3z===O.15j?!0:!1;if(g(c)){1d h=a.1P9;2K.8n(c)||(3Qy[0]=c,c=3Qy);1j(1d l=c.1h,p=0;p<l;++p){1d n=c[p],k=g(n.3Bk)?n.3Bk:n,w=n.2uE;n=h.5E9(k,w)&&h.4yr(k,w);1d x=h.3Ub(k,w);a.1WK&&(x=a.2R.3Lr({x:10,y:10}),x={x:x.1G/2,y:x.1D/2});if(a.2zO&&b)if(n)d(a,x,n),"20F"!=f&&(oK=!1);1s if(1>e&&"2Kp"!=f&&"20F"!=f)a:{n=h;1d m=w,t=e;w=d;x=a;1d r=f,G=x[r];g(G)||(G=x[r]={18t:1g C,11R:1g C,2Sa:1g C,1ih:!1});r=n.5E1(k,m);1d q=n.5E0(k,m),u=r&&q&&(q.1o3()-r.1o3())/1E3,v=1g 16V;v=q&&(v.1o3()-q.1o3())/1E3;if(r&&q&&.4>u&&!oK)if(t=0>v?0:1k.108(-(25*(1-t))*v),n.3Qv)oK=!0;1s{if(G.1ih)G.18t=C.1y(G.11R,G.18t),G.11R=C.4g(G.2Sa,t,G.11R),G.11R=C.add(G.18t,G.11R,G.11R),G.2Sa=C.1y(C.6h,G.2Sa);1s{r=n.4yr(k,m);if(!g(r)||C.5T(r.18t,r.11R,B.1sW))1W a;G.2Sa.x=.5*(r.11R.x-r.18t.x);G.2Sa.y=.5*(r.11R.y-r.18t.y);G.18t=C.1y(r.18t,G.18t);G.11R=C.4g(G.2Sa,t,G.11R);G.11R=C.add(G.18t,G.11R,G.11R);G.1ih=!1}11I(G.11R.x)||11I(G.11R.y)||.5>C.3s(G.18t,G.11R)?(G.1ih=!1,x.3dJ=1p 0,oK=!0):n.5E2(k,m)||(n=n.3Ub(k,m),w(x,n,G))}1s G.1ih=!1}1s"20F"!==f&&"2Kp"!==f||!h.2lA[k]||(a.1WK||(x=h.3Ub(k,1p 0)),a.2R.3z===O.6G&&"2Kp"===f&&-1<a.2ZW.3f(k)?d(a,x,h.2fO[k],!0):"20F"==f&&h.2fO[k].1eu&&d(a,x,h.2fO[k]))}}}1b oU(a,b,c,d,e,f){1d h=1;g(f)&&(h=B.2Y(1k.abs(f),.25,1));f=a.2LU*h;h=a.4cK;d=B.2Y(d*(e-f),a.53C,a.53B);c=(c.11R.y-c.18t.y)/a.2R.3M.1gt;c=1k.2o(c,a.3dI);c*=d;if(!(0<c&&1>1k.abs(e-f)||0>c&&1>1k.abs(e-h)))if(e-c<f?c=e-f-1:e-c>h&&(c=e-h),h=a.2R,e=h.3w,f=h.3z,d=pU.11f,d.8e=e.8e,d.8q=e.8q,d.12C=e.12C,e.3j 2m Jb)0<1k.abs(c)&&(e.2wy(c),e.2fP());1s{d=C.2L(b,a.2dC);a.1WK&&(d=!1);1d l=a.4cO,p=a.4cP,n;d||a.1WK||(a.2dC=C.1y(b,a.2dC),g(a.1cD)&&(n=f!==O.10j?Oo(a,b,5w0):e.1bZ(b,pK).9X),g(n)?(a.4cQ=!0,a.2rZ=k.1y(n,a.2rZ)):a.4cQ=!1,l=a.4cO=!1,p=a.4cP=!1);if(a.4cQ){1d z=f===O.15j;2E6>e.19I.1D&&(p=!0);if(!d||p){if(f===O.10j){1d w=a.2rZ,x=e.1K;!k.2L(w,x)&&e.19I.1D<2*a.28a.x&&(n=e.1K.x,p=k.3V(w,x,5vY),k.1T(p,p),w=k.3s(w,x)*c/(.5*e.4yK()),e.1tJ(p,.5*w),0>e.1K.x&&0<n||0<e.1K.x&&0>n)&&(n=e.1bZ(b,pK).9X,a.2rZ=k.1y(n,a.2rZ))}1s if(f===O.6G)if(n=k.1T(e.1K,5vS),3E3>e.19I.1D&&.6>1k.abs(k.2A(e.2G,n)))z=!0;1s{p=h.3M;w=5vX;w.x=p.18L/2;w.y=p.1gt/2;p=Oo(a,w,5vW);if(g(p)&&1E6>e.19I.1D){b=5vQ;k.1y(e.1K,b);p=a.2rZ;f=5vR;f=k.1T(p,f);if(0>k.2A(f,n))1f;f=5vI;h=5vN;k.1y(e.2G,h);k.add(b,k.4g(h,1E3,gw),f);l=5vM;d=5vL;k.3V(p,b,l);k.1T(l,d);z=k.2A(n,d);if(0<=z){a.2dC.x=-1;1f}z=1k.1cz(-z);a=k.7t(b);n=k.7t(p);a-=c;l=k.7t(l);l=1k.17M(B.2Y(l/n*1k.2T(z),-1,1));n=1k.17M(B.2Y(a/n*1k.2T(z),-1,1));l=l-n+z;z=5vP;k.1T(b,z);n=5vO;n=k.4B(d,z,n);n=k.1T(n,n);k.1T(k.4B(z,n,gw),h);k.4g(k.1T(f,gw),k.7t(f)-c,f);k.1T(b,b);k.4g(b,a,b);c=5vK;k.4g(k.add(k.4g(z,1k.3i(l)-1,4sj),k.4g(h,1k.2T(l),4si),gw),a,c);k.add(b,c,b);k.1T(f,z);k.1T(k.4B(z,n,gw),h);c=5vJ;k.4g(k.add(k.4g(z,1k.3i(l)-1,4sj),k.4g(h,1k.2T(l),4si),gw),k.7t(f),c);k.add(f,c,f);k.1y(b,e.1K);k.1T(k.3V(f,b,gw),e.2G);k.1y(e.2G,e.2G);k.4B(e.2G,e.up,e.2W);k.4B(e.2W,e.2G,e.up);e.1dG(pU);1f}g(p)?(p=k.1T(p,5vV),w=k.1T(a.2rZ,5vU),n=k.2A(w,p),0<n&&1>n&&(n=B.1UX(n),p=k.4B(w,p,5vT),w=1k.abs(n)>B.8I(20)?.75*e.19I.1D:e.19I.1D-c,e.17b(p,c/w*n))):z=!0}a.4cP=!z}!d&&z||l?(h=ic.1yu(h,a.2rZ,5vZ),b=(f!==O.15j&&C.2L(b,a.2dC)&&g(h)?e.1bZ(h,pK):e.1bZ(b,pK)).2G,f===O.15j&&k.9v(b.y,b.z,b.x,b),e.1tJ(b,c),a.4cO=!0):e.2wy(c);e.1dG(pU)}1s e.2wy(c)}}1b 5v7(a,b,c){a=a.2R.3w;b=a.1bZ(c.18t,5vH).9X;c=a.1bZ(c.11R,5vG).9X;c=k.3V(b,c,5vF);b=k.7t(c);0<b&&(k.1T(c,c),a.1tJ(c,b))}1b 4rX(a,b,c){g(c.3s)&&(c=c.3s);oU(a,b,c,a.2Kt,a.2R.3w.4yK())}1b 4rW(a,b,c){if(g(c.1zY)){1d d=c.1zY;c=a.20H*a.20G;c>a.3Bj&&(c=a.3Bj);c<a.3Bi&&(c=a.3Bi);1d e=a.2R;b=e.3w;d=(d.11R.x-d.18t.x)/e.3M.18L;d=1k.2o(d,a.3dI);b.4yP(c*d*1k.PI*4)}1s{b=a.2R;a=b.3w;b=b.3M;d=b.18L;1d f=b.1gt;e=5vE;e.x=2/d*c.18t.x-1;e.y=2/f*(f-c.18t.y)-1;e=C.1T(e,e);b=5vD;b.x=2/d*c.11R.x-1;b.y=2/f*(f-c.11R.y)-1;b=C.1T(b,b);c=B.1UX(e.x);0>e.y&&(c=B.14C-c);d=B.1UX(b.x);0>b.y&&(d=B.14C-d);a.4yP(d-c)}}1b 6AH(a,b){if(a.8C!==O.6G||a.1Gi==Jf.6i)1f b;C.1y(b,qK);1d c=a.4j;b=1g Aa(b.x,c.7p-b.y);1j(1d d=1g Aa,e=0;e<a.1no.1h;e++){1d f=a.1no[e];d.x=c.8j*f.x;d.y=c.7p*f.y;d.1G=c.8j*f.1G;d.1D=c.7p*f.1D;if(d.1sU(b)===Lb.1wT){a=(b.y-d.y)/d.1D;qK.x=(b.x-d.x)/d.1G*c.8j;qK.y=c.7p-a*c.7p;1W}}1f qK}1b Oo(a,b,c){1d d=a.2R,e=a.1cD,f=d.3w;if(g(e)){1d h;d.2K3&&(h=d.271(b,5vC,!0));a=f.1bZ(6AH(a.2R,b),4sh);b=e.11P(a,d,rK);1d l=g(h)?k.3s(h,f.6K):3a.19B,p=g(b)?k.3s(b,f.6K):3a.19B;if(l<p)1f k.1y(h,c);if(g(b))1f k.1y(b,c);if(d.1WG.2S7&&(e.2p||0>f.21E.1D)&&(d=ib.1TV(a,d.2K0.3c),g(d)))1f d=0<d.4I?d.4I:d.4U,d=1k.2o(d,100),rb.1n3(a,d,c)}}1b 5v5(a,b,c){k.2L(b,a.6AG)||(a.1NN=!1);k.2L(b,a.53G)||(a.2S9=!1);if(a.1NN||a.2xZ)dm(a,b,c);1s if(a.2S9&&!a.1WK)sK(a,b,c);1s{1d d=a.2R,e=d.3w,f=C.1y(c.18t,5vw),h=C.1y(c.11R,5vv);e.1bZ(f,4sg);1d l=k.1y(k.6h,5vy),p=k.1dl;if(e.1K.z<a.2Ks){1d n=Oo(a,f,4sf);if(g(n)){if(l.x=n.x,!g(d.271(b))||-1E4>n.x)l.x=-20}1s g(d.271(b))||(l.x=-20)}l.x>e.1K.z&&g(n)&&!a.1WK?(k.1y(n,a.4cM),a.2S9=!0,sK(a,b,c),a.53G=C.1y(b,a.53G)):(d=Cb.1zd(l,p,5vx),f=e.1bZ(f,4sg),f=ib.1xl(f,d,4sf),h=e.1bZ(h,5vB),h=ib.1xl(h,d,5vA),g(f)&&g(h)?(a=k.3V(f,h,5vz),b=a.x,a.x=a.y,a.y=a.z,a.z=b,b=k.7t(a),b>B.1g9&&(k.1T(a,a),e.1tJ(a,b))):(a.1NN=!0,dm(a,b,c),C.1y(b,a.6AG)))}}1b 5v6(a,b,c){g(c.1zY)&&(c=c.1zY);if(!C.2L(b,a.2aE)||a.1WK)a.4cN=!1,a.1NN=!1;if(a.1NN)dm(a,b,c);1s{1d d=a.2R,e=d.3w,f=a.28a;f=0>1k.abs(e.1K.x)-f.x&&0>1k.abs(e.1K.y)-f.y;if(a.4cN||!f||e.1K.z>a.2Ks||!g(d.271(b))){a.4cN=!0;1d h=a.2R;d=h.3w;1d l=h.3M;e=4se;e.x=l.18L/2;e.y=l.1gt/2;f=d.1bZ(e,qU);e=k.1dl;l=f.9X;f=f.2G;1d p,n=k.2A(e,f);1k.abs(n)>B.1g9&&(p=-k.2A(e,l)/n);!g(p)||0>=p?(a.1NN=!0,dm(a,b,c),C.1y(b,a.2aE)):(p=k.4g(f,p,tK),k.add(l,p,p),l=h.11s,h=l.3c,k.9v(p.y,p.z,p.x,p),l=l.1cZ(p,rU),h.13B(l,p),h=Da.18N(p,h,4sd),p=a.1cD,l=a.5W,a.1cD=1p 0,a.5W=ba.1x9,a.20H=1,a.20G=1,e=A.1y(d.5o,4sc),d.1dm(h),Po(a,b,c,k.16a),d.1dm(e),a.1cD=p,a.5W=l,b=l.17i,a.20H=1/b,a.20G=b)}1s a:{d=c;e=a.2R;c=e.3w;p=k.1dl;if(C.2L(b,a.2aE)&&!a.1WK)h=k.1y(a.2dw,tK);1s{c.1K.z<a.2Ks&&(h=Oo(a,b,tK));if(!g(h)){f=c.1bZ(b,qU);n=f.9X;h=f.2G;f=k.2A(p,h);1k.abs(f)>B.1g9&&(l=-k.2A(p,n)/f);if(!g(l)||0>=l){a.1NN=!0;dm(a,b,d);C.1y(b,a.2aE);1W a}h=k.4g(h,l,tK);k.add(n,h,h)}C.1y(b,a.2aE);a.1WK?(l=1g k,k.1y(h,l),a.2dw=l):k.1y(h,a.2dw)}l=4se;l.x=e.3M.18L/2;l.y=a.2aE.y;f=c.1bZ(l,qU);l=k.1y(k.6h,5vt);l.x=h.x;p=Cb.1zd(l,p,5vs);p=ib.1xl(f,p,$Ba);e=c.16y;f=e.3c;k.9v(h.y,h.z,h.x,h);n=e.1cZ(h,rU);f.13B(n,h);l=Da.18N(h,f,4sd);g(p)?(k.9v(p.y,p.z,p.x,p),n=e.1cZ(p,rU),f.13B(n,p),p=Da.18N(p,f,5vu)):p=l;e=a.1cD;f=a.5W;a.1cD=1p 0;a.5W=ba.1x9;a.20H=1;a.20G=1;n=k.16a;h=A.1y(c.5o,4sc);c.1dm(l);l=k.4B(k.16a,k.1T(c.1K,sU),sU);l=k.2A(c.2W,l);Po(a,b,d,n,!1,!0);c.1dm(p);0>l?(d.18t.y>d.11R.y&&(n=1p 0),l=c.1zg,c.1zg=1p 0,Po(a,b,d,n,!0,!1),c.1zg=l):Po(a,b,d,n,!0,!1);g(c.1zg)&&(b=k.4B(c.2G,c.1zg,5vp),k.5T(b,k.6h,B.1g9)||(0>k.2A(b,c.2W)&&k.11k(b,b),k.4B(b,c.2G,c.up),k.4B(c.2G,c.up,c.2W),k.1T(c.up,c.up),k.1T(c.2W,c.2W)));c.1dm(h);a.1cD=e;a.5W=f;b=f.17i;a.20H=1/b;a.20G=b;a=k.1y(c.6K,sU);c.2LT();k.2L(c.6K,a)||(c.1dm(p),c.4yS(a,a),b=k.17j(a),k.17j(c.1K)>b&&(k.1T(c.1K,c.1K),k.4g(c.1K,1k.3Y(b),c.1K)),b=k.1B3(a,c.1K),a=k.4B(a,c.1K,a),k.1T(a,a),a=ca.1gG(a,b,5vr),a=J.1fE(a,5vq),J.10r(a,c.2G,c.2G),J.10r(a,c.up,c.up),k.4B(c.2G,c.up,c.2W),k.4B(c.2W,c.2G,c.up),c.1dm(h))}}}1b 5v4(a,b,c){g(c.3s)&&(c=c.3s);1d d=a.2R,e=d.3w,f=d.3M,h=5vo;h.x=f.18L/2;h.y=f.1gt/2;f=e.1bZ(h,5vn);1d l;e.1K.z<a.2Ks&&(l=Oo(a,b,uK));g(l)?g(d.271(b,uK,!0))?l=k.3s(f.9X,l):(d=e.16y.1cZ(e.1K),d=T.1g8(d),l=k.3s(d,l)):(l=k.1dl,d=f.2G,l=-k.2A(l,f.9X)/k.2A(l,d));d=k.1T(e.1K,4s7);oU(a,b,c,a.2Kt,l,k.2A(d,e.2G))}1b sK(a,b,c){1d d=a.2R.3w,e=a.53F;g(a.4cM)&&g(e)&&(b=c.18t,c=C.1y(c.11R,1g C),a.13E&&(c.y=b.y-(c.y-b.y)),a=d.1bZ(b,1g rb),b=d.1bZ(c,1g rb),a=ib.1xl(a,e,1g k),b=ib.1xl(b,e,1g k),g(a)&&g(b)&&(e=k.1T(a,1g k),b=k.1T(b,1g k),a=k.1B3(e,b),0!=a&&(e=k.4B(e,b,1g k),d.17b(e,a),d.2LT())))}1b 5v1(a,b,c){a.53A=!0;a.53z=!1;a.53y=!1;1d d=a.2R,e=d.3w;if(A.2L(e.5o,A.8K)){1d f=a.5W.17N(e.1K,5vk),h=a.5W.10Z(e.6K,5vl).1D;1d l=a.1cD;if(C.2L(b,a.53D))a.1NN?dm(a,b,c,f):a.4cL?Po(a,b,c):a.2S9?sK(a,b,c,a.53F):tU(a,b,c,a.6AF);1s if(a.1NN=!1,a.4cL=!1,a.2S9=!1,a.2xZ)a.2Fi=1p 0,a.1NN=!0,dm(a,b,c,f);1s{if(g(l)&&h<a.2Ks){f=Oo(a,b,uU);if(!g(f)&&(f=1g rb(e.1K,e.2G),f=l.11P(f,d,rK),g(f)?(f=ic.1yu(d,f,1g k),f=Oo(a,1g C(b.x,f.y+100),uU)):f=e.1vv(b,l.3c,uU),!g(f)))1f;l=k.7t(f);if(k.7t(e.1K)<l)k.1y(f,a.4cM),d=1g k,a.13E=!0,d=k.add(e.2G,e.up,d),k.1T(d,d),f=Cb.1zd(f,d,5vm),a.53F=f,a.2S9=!0,sK(a,b,c);1s{e=4sa;e.x=e.y=e.z=l;e=ba.1mg(e,4s9);a.6AF=e;if(!d.3PH&&d.10a.2p){a:{l=a.2R;d=l.3w;1d p=l.10a;h=.5*1k.PI;1d n=1g rb(d.1K,d.2G);p=p.11P(n,l,rK);g(p)&&(h=k.3V(d.1K,p,1g k),h=k.1B3(p,h));h=B.10Q(h);h=B.8I(82-h);h=ca.1gG(d.2W,h,4s3);n=J.1fE(h,vK);p=1g k;J.10r(n,d.2G,p);k.1T(p,p);n=1g k;ca.6tZ(h,d.2G,n);k.1T(n,n);h=1g rb(d.1K,p);p=ib.1TV(h,e);if(g(p)&&(h=rb.1n3(h,0<p.4I?p.4I:p.4U,1g k),p=1g C,g(h)&&(ic.1yu(l,h,p),l=1g C(p.x,p.y-2),d=d.1bZ(l,4sh),l=ib.1TV(d,e),g(l)&&(d=rb.1n3(d,0<l.4I?l.4I:l.4U,1g k),g(d))))){d={8f:.5*k.1B3(d,h),49l:p.y};1W a}d=1p 0}a.2Fi=d}tU(a,b,c,e);k.1y(f,a.53E)}}1s g(e.1vv(c.18t,a.5W,4sb))?(a.2Fi=1p 0,tU(a,b,c,a.5W),k.1y(4sb,a.53E)):h>a.3Qx?(a.2Fi=1p 0,a.4cL=!0,Po(a,b,c)):(a.2Fi=1p 0,a.1NN=!0,dm(a,b,c,f));C.1y(b,a.53D)}}1s Po(a,b,c)}1b Po(a,b,c,d,e,f){e=m(e,!1);f=m(f,!1);1d h=a.2R;b=h.3w;a.2S8&&(g(a.1WJ)||(a.1WJ=ab.1y(h.3w)),b=a.1WJ);1d l=h.3M;h=b.1zg;g(d)&&(b.1zg=d);d=k.7t(b.1K);d=a.20H*(d-a.20G);d>a.3Bj&&(d=a.3Bj);d<a.3Bi&&(d=a.3Bi);1d p=(c.18t.x-c.11R.x)/l.18L;c=(c.18t.y-c.11R.y)/l.1gt;p=1k.2o(p,a.3dI);c=1k.2o(c,a.3dI);l=d*p*1k.PI*2;c=d*c*1k.PI;a.9Ju=-c;e||b.3pz(l);if(!f){e=1k.abs(b.8q-c);f=b.19I.1D;a=a.2LU+1;if(!(e>-B.10k&&e<B.10k)||f<a&&0>c){b.1zg=h;1f}b.17b(b.2W,c)}b.1zg=h}1b tU(a,b,c,d){1d e=a.2R,f=e.3w;a.2S8&&(g(a.1WJ)||(a.1WJ=ab.1y(e.3w)),ab.1y(e.3w,a.1WJ),f=a.1WJ);1d h=C.1y(c.18t,5vj),l=C.1y(c.11R,5vi);c=f.1vv(h,d,vU);1d p=f.1vv(l,d,4s8);if(!g(c)||!g(p)||11I(c.x)||11I(p.x)){1d n=1g rb(f.1K,f.2G);n=e.10a.11P(n,e,rK);if(g(n)){p=ic.1yu(e,n,1g k);if(!g(p))1f;e=l.y-h.y;c=1g C(h.x,p.y);p=1g C(l.x,p.y+e);c=f.1vv(c,d,vU);p=f.1vv(p,d,4s8)}}if(g(c)&&g(p)&&!11I(c.x)&&!11I(p.x)){if(g(a.2Fi)){1d z=c;e=p;1d w=a.2R;n=w.3w;1d x=a.2Fi.49l,m=a.2Fi.8f;if(b.y<x)d=(l.x-h.x)*m*.2,l=ca.1gG(n.2W,(l.y-h.y)*m*.5,1g ca),ca.1T(l,l),l=J.1fE(l,vK),J.10r(l,z,e),d=ca.1gG(n.2G,d,1g ca),ca.1T(d,d),d=J.1fE(d,vK),J.10r(d,e,e);1s if(!(h.y>x&&l.y>x))if(h.y<x&&l.y>x)g(a.3dJ)&&n.1vv(a.3dJ,d);1s{b=1g k;1d t=0;h.y<x&&l.y<x?(t=(l.y-h.y)*m,h=g(a.3dJ)?a.3dJ:h,n.1vv(h,d,z),b=k.1y(z)):h.y>x&&l.y<x&&(z=1g C,z.y=x,z.x=(z.y-h.y)/(l.y-h.y)*(l.x-h.x)+h.x,b=n.1vv(z,d),t=(l.y-z.y)*m);h=1g k;z=ca.1gG(n.2W,t,4s3);z=J.1fE(z,vK);J.10r(z,b,h);b=1g C;ic.1yu(w,h,b);l=1g C(l.x,b.y);d=n.1vv(l,d);k.1y(d,e);a.3dJ=C.1y(l)}}g(c)&&g(p)&&!11I(c.x)&&!11I(p.x)&&(c=f.4yT(c,c),p=f.4yT(p,p),d=k.1B3(c,p),l=1g k,k.4B(c,p,l),1E-20>k.17j(l)&&(l=k.4B(c,k.1dl,l),1E-20>k.17j(l)&&(l=k.4B(c,k.1f5,l))),k.1T(l,l),f.17b(l,d),a.2S8&&53w(a),f.2LT())}}1b 4rT(a,b,c){a.53A=!1;a.53z=!0;a.53y=!1;g(c.3s)&&(c=c.3s);1d d=a.5W,e=a.2R,f=e.3w,h=Oo(a,b,uK);a.9Jt&&(h=a.2R.3Lr({x:10,y:10}),h=Oo(a,{x:h.1G/2,y:h.1D/2},uK));d=d.10Z(f.1K,5vh).1D;d=g(h)?k.3s(f.1K,h):d;if(0===e.1Gi)a:{1d l=a.2Kt;e=a.2R.3w;if(!(1>1k.abs(c.11R.y-c.18t.y))){1d p=0<c.11R.y-c.18t.y?1:-1;a.1P9.2lA[1]&&(p=0<c.11R.y-b.y?.2:-.2,a.1WK&&(p=0<c.11R.y-c.18t.y?.2:-.2));c=a.4cK;1d n=p*l*.9Js;if(g(h)){1d z=k.3s(e.1K,h),w=1*a.2LU;l=B.2Y(l*(z-w),a.53C,a.53B);1d x=p/a.2R.3M.1gt;x=1k.2o(x,a.3dI);if(a.2S8&&0<l*x&&.1>1k.abs(z-w))1W a}d>c&&0>p||(C.2L(b,a.2dC)||(a.2dC=C.1y(b,a.2dC)),a.4kc=!0,a=d*n,g(h)?(d=1g k,k.3V(h,e.1K,d),p=1g k,p=k.1y(e.2W,p),l=k.2A(d,p),c=1g k,c=k.4g(p,l,c),p=1g k,p=k.3V(d,c,p),d=1g k,d=k.1T(p,d),e.1tJ(d,a),a=1g k,a=k.1T(h,a),h=k.7t(h),d=4sa,d.x=d.y=d.z=h,h=ba.1mg(d,4s9),b=e.1vv(b,h,vU),!g(b)||11I(b.x)||11I(b.y)||11I(b.z)||(b=k.1T(b,b),h=k.1B3(a,b),B.5T(h,0,B.1io)||(d=1g k,d=k.4B(a,b,d),e.17b(d,h)))):e.2wy(a))}}1s e=k.1T(f.1K,4s7),oU(a,b,c,a.2Kt,d,k.2A(e,f.2G));f.2LT()}1b 5v0(a,b,c,d){a.53A=!1;a.53z=!1;a.53y=!0;1d e=a.2R.3w;if(A.2L(e.5o,A.8K))if(g(c.1zY)&&(c=c.1zY),C.2L(b,a.2aE)||(a.53x=!1,a.1NN=!1),a.2xZ||a.1NN)d=a.5W.17N(e.1K,4s1),dm(a,b,c,d);1s if(e=a.5W.10Z(e.1K,4s2),a.53x||e.1D>a.4rZ){a.53x=!0;a:{1d f=a.5W,h=a.2R;e=h.3w;1d l=.25*a.2LU,p=f.10Z(e.6K,5vf).1D;if(!(p-l-1<B.2zm&&0>c.11R.y-c.18t.y)){h=h.3M;l=5vg;l.x=h.18L/2;l.y=h.1gt/2;h=e.1bZ(l,4s6);l=ib.1TV(h,f);if(g(l))p=rb.1n3(h,l.4I,DD);1s if(p>a.3Qx){p=ib.6uJ(h,f);if(!g(p))1W a;p=f.10Z(p,4s2);p.1D=0;p=f.13B(p,DD)}1s{a.1NN=!0;d=a.5W.17N(e.1K,4s1);dm(a,b,c,d);C.1y(b,a.2aE);1W a}k.1y(p,a.2dw);d||(d=Da.18N(p,f,4s5),f=a.1cD,p=a.5W,a.1cD=1p 0,a.5W=ba.1x9,a.20H=1,a.20G=1,h=A.1y(e.5o,4s4),e.1dm(d),Po(a,b,c,k.16a),e.1dm(h),a.1cD=f,a.5W=p,b=p.17i,a.20H=1/b,a.20G=b)}}}1s a:{e=c;f=a.5W;p=a.2R;c=p.3w;a.2S8&&(g(a.1WJ)||(a.1WJ=ab.1y(p.3w)),ab.1y(p.3w,a.1WJ),c=a.1WJ);if(C.2L(b,a.2aE)&&!a.1WK)p=k.1y(a.2dw,DD);1s{p=Oo(a,b,DD);if(!g(p)){p=c.1bZ(b,4s6);h=ib.1TV(p,f);if(!g(h))1W a;p=rb.1n3(p,h.4I,DD)}C.1y(b,a.2aE);a.2dw=k.1y(p,a.2dw)}d||(d=Da.18N(p,f,4s5),f=a.1cD,p=a.5W,a.1cD=1p 0,a.5W=ba.1x9,a.20H=1,a.20G=1,h=k.16a,l=A.1y(c.5o,4s4),c.1dm(d),Po(a,b,e,h),c.1dm(l),a.1cD=f,a.5W=p,b=p.17i,a.20H=1/b,a.20G=b,a.2S8&&53w(a),c.2LT())}}1b 53w(a){1d b=a.2R,c=a.1WJ,d=b.3w.1K,e=c.1K;if(!k.2L(e,d)&&(e=k.3V(e,d,5ve),k.1T(e,e),e=b.5sD(e),g(e)&&k.3s(d,e)<a.6AE))1f;ab.1y(c,b.3w)}1b dm(a,b,c,d){b=a.2R.3w;1d e=5vd;e.x=c.18t.x;e.y=0;1d f=5vc;f.x=c.11R.x;f.y=0;1d h=b.1bZ(e,wU),l=b.1bZ(f,xU),p=0;b.3j 2m Jb?(h=h.9X,l=l.9X,k.add(b.2G,h,h),k.add(b.2G,l,l),k.3V(h,b.1K,h),k.3V(l,b.1K,l),k.1T(h,h),k.1T(l,l)):(h=h.2G,l=l.2G);l=k.2A(h,l);1>l&&(p=1k.1cz(l));p=c.18t.x>c.11R.x?-p:p;a=a.3Qu;g(d)?b.28c(d,-p):g(a)?b.28c(a,-p):b.5F8(p);e.x=0;e.y=c.18t.y;f.x=0;f.y=c.11R.y;b.1bZ(e,wU);b.1bZ(f,xU);h=b.1bZ(e,wU);l=b.1bZ(f,xU);p=0;b.3j 2m Jb?(h=h.9X,l=l.9X,k.add(b.2G,h,h),k.add(b.2G,l,l),k.3V(h,b.1K,h),k.3V(l,b.1K,l),k.1T(h,h),k.1T(l,l)):(h=h.2G,l=l.2G);l=k.2A(h,l);1>l&&(p=1k.1cz(l));p=c.18t.y>c.11R.y?-p:p;d=m(d,a);g(d)?(c=b.2G,a=k.11k(d,5vb),e=k.5T(c,d,B.1BO),f=k.5T(c,a,B.1BO),e||f?(e&&0>p||f&&0<p)&&b.28c(b.2W,-p):(l=k.2A(c,d),e=B.1UX(l),0<p&&p>e&&(p=e-B.2Q0),l=k.2A(c,a),e=B.1UX(l),0>p&&-p>e&&(p=-e+B.2Q0),d=k.4B(d,c,5va),b.28c(d,p))):b.5F7(p)}1b wK(a,b){1d c=1g Zf(b);Qo=k.4g(a,.1,Qo);k.add(b,Qo,Qo);a=c.1RH(Qo);a=c.3vK(a);b=c.1RH(b);c=c.3vK(b);c=k.3V(a,c,4s0);k.1T(c,c);1f c}1b xK(a,b){1d c=Cb.6uA;Qo=k.4g(a,.1,Qo);k.add(b,Qo,Qo);a=Cb.1RH(c,Qo);b=Cb.1RH(c,b);b=k.3V(a,b,4s0);k.1T(b,b);1f b}1b yK(a,b,c){1d d=b.19I;a=a.1sc(d);if(!g(a)||1>1k.abs(d.1D-a-c))1f b.1K;d.1D=a+c;c=T.1g8(d);1f g(c)?c:b.1K}1b Ro(){1a.3mU=1g Dq;1d a=2K(6);a[0]=1g kd({1cm:"2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n",1yW:.125,2nc:!0,1Uh:Vj.11U});1d b=a[1]=1g kd({1cm:"2n 2v 6T;\\1B 1o 2GS;\\1B 1o 19U;\\1B 1o 2M;\\1J 1v 2F;\\1r 10t(1o avg)\\n{\\1r 2XQ = 1.5 - (1.5 / (avg * 0.1 + 1.0));\\2j 1V(0.0, 2XQ) + 0.1;\\n}\\2s 2k()\\n{\\1P 1A = 1Y(6T, 2F);\\1R 1H = 2VP(1A.2y);\\1r 1Fj = 1H.r;\\1r 2XP = 10t(2GS) * 1Fj / 2GS;\\1r 2kK = 1V(2XP - 19U, 0.0);\\1r 1hG = 2kK / (2M + 2kK);\\2jw.r = 1hG;\\3R = 1m(2Um(1H), 1.0);\\n}\\n",6H:{2GS:.5,19U:.25,2M:.1},1yW:.125,2nc:!0}),c=1a;1a.53v=1;1a.53u=2;1a.21y=1g C;a[2]=1g kd({1cm:"#2f 1Fv 8\\1B 1o 14k;\\1B 1o 15N;\\1B 1o 2G;\\1B 2v 6T;\\n#1z 1CY\\1B 1o 1bo;\\n#1s\\1B 1v 7F;\\n#1u\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\n#1z 1CY\\2u 7F = 1v(1bo * (1gU / 9e.zw));\\n#1s\\2u 7F = 7F;\\n#1u\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 15N);\\ng.y = 108((-0.5 * 14k * 14k) / (15N * 15N));\\ng.z = g.y * g.y;\\1P 4D = 1Y(6T, st) * g.x;\\14D (7P i = 1; i < 1Fv; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 7F;\\19v += 1Y(6T, st - 2M) * g.x;\\19v += 1Y(6T, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n",6H:{7F:1b(){c.21y.x=c.21y.y=1/b.1v8.1G;1f c.21y},14k:1b(){1f c.53v},15N:1b(){1f c.53u},2G:0},1yW:.125,2nc:!0});a[3]=1g kd({1cm:"#2f 1Fv 8\\1B 1o 14k;\\1B 1o 15N;\\1B 1o 2G;\\1B 2v 6T;\\n#1z 1CY\\1B 1o 1bo;\\n#1s\\1B 1v 7F;\\n#1u\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\n#1z 1CY\\2u 7F = 1v(1bo * (1gU / 9e.zw));\\n#1s\\2u 7F = 7F;\\n#1u\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 15N);\\ng.y = 108((-0.5 * 14k * 14k) / (15N * 15N));\\ng.z = g.y * g.y;\\1P 4D = 1Y(6T, st) * g.x;\\14D (7P i = 1; i < 1Fv; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 7F;\\19v += 1Y(6T, st - 2M) * g.x;\\19v += 1Y(6T, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n",6H:{7F:1b(){c.21y.x=c.21y.y=1/b.1v8.1G;1f c.21y},14k:1b(){1f c.53v},15N:1b(){1f c.53u},2G:1},1yW:.125,2nc:!0});a[4]=1g kd({1cm:"2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n",1Uh:Vj.11U});1a.3Qr=1g C;1a.4rR=1p 0;a[5]=1g kd({1cm:"2n 2v 6T;\\1B 2v 3hC;\\1B 1v 2V;\\1B 1o 3L;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1Fz = 1Y(6T, 2F);\\1P 1dT = 1Y(3hC, 2F);\\1r x = 1h(4u.xy - 2V) / 3L;\\1r t = 13f(0.5, 0.8, x);\\3R = 3T(1Fz + 1dT, 1dT, t);\\n}\\n",6H:{2V:1b(){1f c.3Qr},3L:1b(){1f c.4rR},3hC:1b(){1f c.3mU.2eW().167(0)}}});1a.1kt=1g nh({1yV:a});1j(1d d=1g sn(1a),e=a.1h,f=0;f<e;++f)a[f].1jd=d;1a.1jd=d;1a.1h=a.1h}1b 4rE(a,b,c,d){if(a.3mK){1d e=""===a.3Q6?"":"&2eR="+a.3Q6;if("2eS"===a.2yn)if(1===a.2n6)1d f=a.1x8.3X("&x={x}&y={y}&3b={3b}","").3X("{2eR}",e).3X("3mN","6AD").3X("&1ot=8O","");1s d=a.1U8[d+a.1ko]||4rG[d],f=a.1x8.3X("{x}",b).3X("{y}",c).3X("{3b}",d.5s()).3X("{2eR}",e);1s"53t"===a.2yn&&(1===a.2n6?f=a.1x8.3X("&x={x}&y={y}&3b={3b}","").3X("{2eR}",e).3X("3mN","6AD").3X("&1ot=8O",""):(d=a.1U8[d],f=a.1x8.3X("{x}",b).3X("{y}",c).3X("{3b}",d.5s()).3X("{2eR}",e)))}1s f=a.1x8.3X("{x}",b).3X("{y}",c).3X("{6b}",d).3X("{2eT}",a.2Kj);g(Ba.12M)&&(f=Ba.1cl(f));1f f}1b yU(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d}1b 5uT(a,b,c,d){1d e=1k.3r(2,1k.2o(a.1Ub,d)),f=1k.2t(b/e);b%=e;1d h=1k.2t(c/e);c%=e;a=4rE(a,f,h,d);1f{x:f,y:h,2I:a,1Mv:b,1sA:c,6b:d,3c0:e}}1b 5uS(a,b){v.2l("2I",b);b=na.14m(b);if(a.5uU||a.2n6===ik.1U9)1f b.1kw();if(5uR.6S(b.2I))1f Iu(b);if(5uQ.6S(b.2I))1f Mx(b);if(5uP.6S(b.2I))1f a.13E=!0,mP(b);if(g(a.19b))1f b.1jN({2LW:!0,1UY:!0,13E:!0});g(a.1g2)&&(b.1iB=fb(b.1iB,a.1g2));1f 0<a.1Gr.1h?b.1kw():b.2ok()}1b ED(a,b,c){if(g(a)){a=a.13P;1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];if(f.16Z===b&&-1!==c.3f(f.1fz))1f f}}}1b hw(a,b,c){a=ED(a,b,c);if(g(a))1f a=7L(a.8S),11I(a)?1p 0:a}1b 4rL(a,b,c){a=ED(a,b,c);if(g(a))1f a.8S.1b2()}1b em(a){a=m(a,m.4Z);1a.2R=a.4r;1a.6y=a.1ac;1a.32r=1a.18j=1p 0;1a.2eN=!0;1a.1aa=1a.2n1=1a.2Pr=1a.11V=1p 0;1a.17T=[];1a.2eO=[];1a.1PQ=0;1a.1jb=1a.2eP=!1;1a.1vc=1g 12X(4rB);1a.2PG=1;1a.3x0=!0;1a.1Mh=1g P;1a.2n3=1g P;1a.2n2=1g P;1a.11S=1g P;1a.1Mi=!1;1a.27k=[];1a.4a=A.1y(m(a.4a,A.8K));1a.12t=A.1y(A.8K);1a.15S=m(a.15S,!1);1a.32o=m(a.32o,[]);1a.3mI=1p 0;1a.8C=O.6G;1a.1nG=y.1y(y.9r);1d b=1a;1a.1dg={1Xv:1b(){1f b.18j.7y}};1d c=1a.2R;g(c)&&g(c.27d)&&(1a.1lm=c.27d.7K(1b(){1j(1d a=1a.17T,b=a.1h,c=0;c<b;++c)a[c].1xz()},1a));1a.18b=m(a.2th,!0);1a.27l=1p 0;1a.2we=a.2lL}1b 4rz(a){1j(1d b=a.1h,c=0;c<b;++c)a[c]&&a[c].1sm()}1b zU(a){if(a.2eP){a.2eP=!1;1j(1d b=[],c=a.17T,d=c.1h,e=0,f=0;e<d;++e){1d h=c[e];h&&(h.12N=f++,b.1q(h))}a.17T=b}}1b 5uJ(a){1d b=a.1au.4cI;if(g(b))1f b;b=1g 10Y(4cJ);1j(1d c=0,d=0;4cJ>c;c+=6,d+=4)b[c]=d,b[c+1]=d+1,b[c+2]=d+2,b[c+3]=d+0,b[c+4]=d+2,b[c+5]=d+3;b=Ra.17Q({1O:a,5b:b,7Q:xa.7C,17P:Ta.10P});b.1hU=!1;1f a.1au.4cI=b}1b 5uK(a){1d b=a.1au.4cH;if(g(b))1f b;b=Ra.17Q({1O:a,5b:1g 10Y([0,1,2,0,2,3]),7Q:xa.7C,17P:Ta.10P});b.1hU=!1;1f a.1au.4cH=b}1b 5uI(a){1d b=a.1au.4cG;if(g(b))1f b;b=Ra.12S({1O:a,5b:1g 4A([0,0,1,0,1,1,0,1]),7Q:xa.7C});b.1hU=!1;1f a.1au.4cG=b}1b 4rA(a,b,c,d,e){b=d[So.1xT];d=d[So.1Cr];c=e.3wa();a.8C===O.6G&&(P.1We(a.1Mh,c,a.1Mh),a.1Mi=!0);bc.12y(c,AU);c=e.3b;1d f=e.5S;0!==f&&(a.3aR=!0);a.2PG=1k.1V(a.2PG,c);1d h=AU.162,l=AU.15r;a.1mh?(a=e.12N,b(a,h.x,h.y,h.z,c),d(a,l.x,l.y,l.z,f)):(a=4*e.12N,b(a+0,h.x,h.y,h.z,c),b(a+1,h.x,h.y,h.z,c),b(a+2,h.x,h.y,h.z,c),b(a+3,h.x,h.y,h.z,c),d(a+0,l.x,l.y,l.z,f),d(a+1,l.x,l.y,l.z,f),d(a+2,l.x,l.y,l.z,f),d(a+3,l.x,l.y,l.z,f))}1b BU(a,b,c,d,e,f){if(d.3z===O.6G){1d h=a.1Mh;a.1Mi=!0}1s h=a.2n2;a=[];1j(1d l=0;l<c;++l){1d p=b[l],n=wb.3w8(p,p.1K,d,e);g(n)&&(p.3w9(n),f?a.1q(n):P.1We(h,n,h))}f&&P.1aN(a,h)}1b Xg(a){1a.4j=a;1a.1oq=-31.9Jr;1a.3mH=10.9Jq;1a.18x=Q.6w;1a.1fy=1g C(0,1);1a.4ru=1a.4rv=1a.4rw=1a.1U5=1a.2eM=1a.2yk=0;1a.1yR=[];1a.32p=1a.1U4=1a.2Kd=0;1a.5V=1a.2n0=1p 0;1a.2eL=1;1a.2mZ=0;1a.27h=1a.27i=1a.1Mf=1p 0;1a.1PM=!1;1a.12m={};1a.27j=1g yf({13b:k.6h,14S:1g k(1,1,1)});1a.13d=1p 0;1a.4rx=cb("1ja/1or/5uE.12H")}1b 4rt(a,b){1d c=[];c.1q("1Cj");1<a.2eL&&c.1q("2TH");g(b.1dk)&&c.1q("3fs");0==a.27j.1PN.x&&0==a.27j.1PN.y&&0==a.27j.1PN.z&&1==a.27j.1PO.x&&1==a.27j.1PO.y&&1==a.27j.1PO.z||c.1q("4gt");1f c}1b 4rs(a,b){1d c=!1,d=b.7g(" ");if(1<d.1h){b=d[0];d=d[1];1j(1d e in a.2N)if(-1!==a.2N[e].3f(b)){a.2N[e]=b+" "+d;1W}}1s{1j(e in a.2N)if(a.2N[e]===b){c=!0;1W}c||a.2N.1q(b)}}1b 4rr(a,b){1j(1d c=-1,d=0;d<a.2N.1h;d++)if(a.2N[d]===b){c=d;1W}0<=c&&a.2N.6z(c,1)}1b Gq(a){v.2l("1O",a);1a.4j=a;1a.17h=1a.2JP=1a.3SW=1a.3SX=1a.3SZ=1p 0;1a.2mW=0;1a.1dk=1p 0;1a.1B9=Cc.1qT.11U;1a.3Q0=CU.5uN;1a.13V=1g k(1,1,1);1a.3mG=1;1a.2mX=!1;1a.7a=1g y(1,1,1,1);1a.2Kc=1p 0;1a.3mD=1g C(40,40);1a.32n=k.6h;1a.3mF=3a.6w;1a.3mE=3a.1Mg;1a.1DQ=Q.6w;1a.1br=!0;1a.1b4="5fd";1a.6X=1p 0;1a.1Me=1g Xg(a);1a.1fy=1g C(0,1);1a.1fy.x=0;1a.1fy.y=360;1a.1DQ=1g Q(113.9Jp,23.9Jo,113.9Jn,23.9Jm);1a.1x6=500;1a.3PZ=1a.4rq=0;1a.3PY=!1}1b 5uu(a,b){a.5uw(b)}1b FD(a,b){1a.10T=m(b,!0);1a.10u=1g Oa({7H:1a});1a.1fx=16t-a;1a.5W=ba.1mg(1g k(1a.1fx,1a.1fx,1a.1fx));1a.27g=1g y(0,0,0,1)}1b To(a){1a.13Z=1a.1bx=1a.1DP=1a.1x5=1a.2K8=1a.13p=1p 0;1a.24o=ma.18W;1a.1U1=1a.1U2=0;1a.32l={};1a.3PP=.5;1a.5F=!1}1b $ca(a){a.1x5=a.1x5&&!a.1x5.3Z()&&a.1x5.1M();a.1DP=a.1DP&&!a.1DP.3Z()&&a.1DP.1M();a.13p=a.13p&&!a.13p.3Z()&&a.13p.1M();a.2K8=a.2K8&&!a.2K8.3Z()&&a.2K8.1M();a.1bx=1p 0;a.13Z=1p 0}1b 5u7(a,b){1d c=1g ja({5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\1B 2v 2br;\\1B 2v 2bq;\\1B 2v 2bs;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1xU = 1Y(2bs, 2F);\\1P 1HR = 1Y(2br, 2F);\\1r r = 1Y(2bq, 2F).r;\\1P 18b = 1m(1HR.2y / 2Y(r, 1e-4, 5e4), 1HR.a);\\3R = (1.0 - 18b.a) * 18b + 18b.a * 1xU;\\n}\\n"]}),d=pa.4t({});a.1bx=b.1aL(c,{4J:{2br:1b(){1f a.1x5},2bq:1b(){1f a.1DP},2bs:1b(){1f a.2yf}},4w:d,6t:a.24o,7H:a});a.13Z=1g Ec({4Q:a.13p,1A:1g y(0,0,0,1),4e:1,4w:pa.4t(),6t:a.24o,7H:a})}1b ada(a){1f a.1QR&&a.1Mb}1b Hq(a){if(!g(a.9Z))1t 1g r("3v.6AC and 3v.6o is 1X.");1a.16x=a.9Z;1a.1ll=a.7r;1a.2ya=a.4qt;1a.6X=a.2i;1a.13d=1g xd({4tZ:!0,4r:a.4r});1a.3my={};1a.3mx={};1a.2yc={};1a.1M9=1g Sg({3w:a.4r.3w,3M:a.4r.3M});1a.1M9.2hB.3e=!0;1a.1M9.2hB.4Oo=10;g(a.6o)&&a.6o.2j5.add(1a.1M9);1a.1M9.2hB.67J.7K(1b(a,c){if(0<a.1h&&a[0].10i){1d b=a[0].10i;c.10i.1K=a[0].1K.3K(0);c.10i.4d=b.4d.3K();c.10i.3b=b.3b.3K();c.10i.6N=b.6N.3K();c.10i.13h=b.13h.3K();c.10i.14l=b.14l.3K()}0<a.1h&&a[0].17R&&(b=a[0].17R,c.17R.1K=a[0].1K.3K(0),c.17R.3l=b.3l.3K(),c.17R.9O=b.9O.3K(),c.17R.16l=b.16l.3K(),c.17R.15P=b.15P.3K(),c.17R.6N=b.6N.3K(),c.17R.14l=b.14l.3K(),c.17R.13h=b.13h.3K(),g(b.2r)&&(c.17R.2r=b.2r.3K()),c.17R.1b5=b.1b5.3K())})}1b 5u2(a,b){1f b.6b-a.6b}1b 4rf(a){1f 2K.8n(a)?"2y("+a[0]+","+a[1]+","+a[2]+")":""}1b zK(a,b,c,d){1d e=b.1TE().1li();b=e[0];e=e[1];k.15i(d.4o+(c[0]*b+c[2]*e+c[4])/a.1i0*d.1G,d.4C+d.1D*(1-(c[1]*b+c[3]*e+c[5])/a.1i0),0,ba.9y,4rh);1f 4rh}1b 5u4(a){a=a.3lk();1f a-1C6*1k.2t(a/1C6)}1b Xf(a){if(!g(a))1t 1g r("4r are 1X.");1a.2R=a;1a.4j=a.4j;1a.1qH=1g qi(a.4j);1a.1qH.1TZ=!0;1a.1qH.21I=-9E3;a.13y.add(1a.1qH);1a.18j=1F;1a.2y7=[];1a.2y6=[];1a.1Us=!0;1a.6X="9Jl"+1a.2R.1ck.1nr;1a.2R.1ck.add(1a);1a.2eF={};1a.27e=0;1a.32f=[];1a.3mw=$s.4wH;1a.11h=1}1b 5u1(a){1a.1fR=1g k;1a.id=m(a.id,0);g(a.1A)?1a.1A=y.1y(a.1A):1a.1A=y.3zZ({2O:1});1a.3mv=-1;g(a.53s)?(1a.3QE=m(a.53s.9Jk,1),1a.3QD=m(a.53s.9Jj,1)):1a.3QD=1a.3QE=1}1b 6Ao(a,b,c){1a.11j=a;1a.1G=b;1a.13y=c;1a.3o=!1;1a.1ma=Z.12L();1a.10l=1a.1ma.10l}1b gc(a){a=m(a,m.4Z);1d b=a.3M,c=a.2F6,d=a.2wD,e=a.2I1;if(!g(b))1t 1g r("3v and 3v.3M are 1X.");1d f=g(d);c=1g kg(b,c);f||(d=3n.4O("5u"),d.2r.1K="1J1",d.2r.7b="0",d.2r["3l-1Gy"]="0 0 2px #1Qx",d.2r.1A="#2AR",d.2r["9O-4V"]="4np",d.2r["1fT-2W"]="5px",b.1eZ.3A(d));g(e)||(e=b.1eZ);1a.7R=Ld();1a.2JV=1g Cq;1a.5Y=1g 4iL(c,1g qf(d,"10D",e),1a.2JV);1a.5Y.1fw=m(a.1fw,!1);1a.5sC=!f;1a.3jv=d;d=1g Sf(c);d.5q=1g Aa;d.5q.x=0;d.5q.y=0;d.5q.1G=c.8j;d.5q.1D=c.7p;1a.1ab=d;1a.10C=b;1a.4j=c;1a.31N=1g Oy(c);1a.1cD=1p 0;1a.15G=1g cf;1a.1yO=1g cf;1a.53g=[];1a.32d=c.1Mb;1a.3Pw=!0;1a.1sa=1g Tk;1a.4qT=0;1a.1M6=1p 0;1a.3R3=[];1a.3nn=[];1a.3nm=[];1a.32e=m(a.2mR,!0);1a.4cE=1p 0;1a.31M=1g lz;1a.1Gk=1g Ec({1A:1g y,1gh:0,7H:1a});1a.53q=1g Ec({4e:1,7H:1a});1a.3as=1g Ec({1gh:0});1a.6At=1g Ec({1gh:0,4w:pa.4t({1lq:Mc.1Jz})});1a.5Ct={};1a.5Cp={};1a.2xM=1g et(1a);1a.4qR=1g sa;1a.4qQ=1g sa;1a.4rd=1g sa;1a.4qP=1g sa;1a.2we=1g sa;1a.20u={};1a.2xT=!1;1a.27b=0;1a.1g2=a.1x1;1a.6Aq=!1;1a.6AB=!0;1a.32C=1g sa;1a.3dq=1g sa;1a.1PI=1a.2mC=1a.20t=1p 0;1a.3dG=!0;1a.4c9=1a.4cz=1p 0;1a.1a4=y.1y(y.1a7);1a.8C=O.6G;1a.3ms=g(a.11s)?a.11s:1g Td;1a.29J=1;1a.32X=1E3;1a.3R1=5u9;1a.3R0=9Ji;1a.3jy=1p 0;1a.3dw=1a.5tj=1a.2yy=1a.53r=!1;1a.4cb=1;1a.53j=1a.3dx=!1;1a.2mB=1p 0;1a.4qE=1a.3Pr=!0;1a.5xQ=500;1a.1ep=1g zT;1a.2S5=1g ab(1a);1a.17A=1g Uj({1O:c,4cF:1a.2S5,3e:m(a.6x,!1)});1a.1M8=!1;1a.28U=y.1y(y.9r);1a.3Bh=y.1y(1a.40l);1a.2iV=1g qn;1a.6As=1a.25s=1p 0;1a.26a=1g wi;1a.3m9=1g dz;1a.3PL=m(a.1DM,1);1a.3dH=1a.1Dv=1p 0;1a.1Zw=1g yz(1a);1a.4ra=m(a.27c,Ws.5FG);1a.1WG={4cD:1p 0,3Bf:1p 0,3Be:1p 0,4cC:1p 0,3Bd:1p 0,1Nb:!1,1WH:!1,4cB:!1,1WI:!1,53m:!1,53l:!1,2KE:!1,4cw:1p 0,1KJ:!1,2S6:!1,3Bc:!1,3dF:!1,6Ar:!1,4cx:!1,2y3:!1};1a.1jL={1Nb:!0,1WH:!0,1WI:!0,2iW:!0,2S7:!0,1kr:!0,1oA:!0,2mE:!1,3Bg:!0};1a.32b=!1;1a.3PI=1a.3PK=1p 0;1a.2xX=m(a.2xX,!1);1a.321=!0;1a.2xY=m(a.2xY,0);1a.3p6=1a.323=1p 0;1a.5sz=qb.6vE.7K(AK(1a));1a.5sy=Vc.6s7.7K(AK(1a));1a.2xK=[];a=1g Aa(0,0,c.8j,c.7p);b=1g ab(1a);1a.32d&&(b.3j.3I=.1,b.3j.3W=3PQ);1a.1ss=1g mh(1a);d=1g Aa(0,0,1,1);e=1g ab(1a);e.3j=1g Jb({1G:.1,13n:1,3I:.1});1a.1by=1g bt(1a,b,a);1a.20s=1g bt(1a,e,d);1a.6Ap=.1;1a.1by=1a.1B2=1g bt(1a,b,a);1a.3Px=1a.1qG=1p 0;1a.5tV=!1;1a.1iP=2.2;1a.2y0=1g k(1.8,1.85,2);1a.3PE=BK.4r5;1a.329=[];1a.1gQ=1a.1mq=1a.1mr=1p 0;1a.1gI=0;c.1TY?1a.1gI=1:c.27a?1a.1gI=2:c.279&&(1a.1gI=3);1a.31O=1g Uk;1a.8U=1g mg;1a.3Pz=!1;1a.3mp=1E3;1a.2K0=1g FD(1a.3mp,!1);1a.1ck=1g mg;1a.2JM=1g mg;1a.2mF={};1a.1Gi=Jf.6i;1a.1no=[];1a.2ez=1g Eo;1a.1yP=1g If(c);c=M.14H();a=1a.5Y;a.1gA=0;a.6q=M.1y(c,a.6q);Uo(1a);1a.3ju();1a.4r8=!1;1a.4r7=200;1a.2JU=1p 0;1a.5tc=1a.3Ps=3;1a.3Pq=0;1a.2mz=1a.2xJ=1p 0;1a.26X=1g To({});1a.20r=1g No({});1a.26W=1g ew({});1a.3mh={4qK:-1,31Y:1p 0};1a.3PF=DU.6i;1a.5sG=1p 0;1a.31P=!1;1a.1PH=1p 0;1a.327=!1;1a.3mm=0;1a.326=!1}1b 4qZ(a,b,c){1d d=a.5Y,e=a.4j,f=a.1by.1lo,h=d.1fv.4cA;d=d.1fv.2KT;1d l=b.10K;g(b.1cI)&&(l.1Gl=Nk.4qJ(a,b,e,l.1Gl));b.2id||b.6t===ma.1Bk||b.6t===ma.1e0||(l.4e=Nk.5Cw(a,b,e,l.4e));l.3PD=b;a.1qG&&(l.274=Nk.5Co(b,e,l.274),b=l.274.14Z,l=b.10K);d&&b.1fC&&(l.6x=Uj.5y3(h,b,c,e,l.6x));b.6t===ma.1bl&&g(f)&&f.1op()&&(d&&b.1fC?(l.1lo=g(l.1lo)?l.1lo:{},l.1lo.6x=f.2ye(l.6x.2ni,e,l.1lo.6x)):l.1lo=f.2ye(b,e,l.1lo));b.6t===ma.2Ke&&g(a.26X)&&a.26X.2ye(b);b.6t===ma.2Ht&&g(a.20r)&&a.20r.2ye(b);a.326&&(l.11q=Nk.5Cn(b,e,l.11q))}1b EU(a){a.3t=!1;a.11P=!1;a.4e=!1;a.3mc=!1;a.1Tt=!1;a.17X=!1;a.20O=!1}1b Uo(a){1d b=a.3w,c=a.5Y;c.13l.1h=0;c.272.1h=0;c.40m=a.3m9;c.3tt=a.20t&&a.20t.1PG;c.3z=a.8C;c.29J=a.29J;c.11s=a.11s;c.3w=b;c.1dj=b.3j.1tM(b.6K,b.18k,b.1je);b=a.10a;a.8C===O.6G&&g(b)&&b.2p?(4qX.3L=b.3c.1W5,b=4qW=Fh.3R7(4qX,a.3w.6K,4qW)):b=1p 0;c.2yz=b;c.1DM=a.3PL;c.2mQ=a.27b;c.1M8=a.1M8;c.1bz=a.32d&&!(a.3w.3j 2m Jb||a.3w.3j 2m Ee);c.32c=a.2y0;a.2ez.4KJ=g(a.1PI)&&a.1PI.2p;c.1hp=a.2ez;c.3sC=a.1WG.3dF&&(a.26a.1o4.3e||a.1yP.2LK());c.5Hr=a.17A.1k2;g(a.1gQ)&&a.1gQ.3o?(c.1mq=a.1gQ.7y,c.37I=a.1gQ.3xs):(c.1mq=1p 0,c.37I=1p 0);c.1mr=a.1mr;a.3Bh=y.1y(a.28U,a.3Bh);qn.5zl(a.4j)||(a.3Bh.2O=1);c.28U=a.3Bh;g(a.10a)?c.1ev=a.10a.1ev:c.1ev=2;EU(c.10s);c.2mL=1p 0}1b 6Az(a){1d b={};a=a.19h;1j(1d c in a)a.3p(c)&&(b[c]=a[c].2P);1f b}1b 6Ay(a,b,c){1d d=b.1O;c=m(c,a.2z);1d e=c.5A.1y(),f=[];e.5p=e.5p.5d(1b(a){a=ja.1gF(a,"6AA");1j(1d b=/1OU\\[(\\d+)\\]/g,c;1F!==(c=b.1f4(a));)-1===f.3f(c[1])&&f.1q(c[1]);1f a});1d h=f.1h,l="1p 2k() \\n{ \\n    6AA(); \\n",p;if(b.53r){g(a.3aF)||(a.3aF=y.3zZ());1d n=a.3aF;if(0<h)1j(p=0;p<h;++p)l+="    1OU["+f[p]+"].2y *= 1w("+n.5r+", "+n.5t+", "+n.5G+"); \\n";1s l+="    2C.2y *= 1w("+n.5r+", "+n.5t+", "+n.5G+"); \\n"}if(b.2yy)if(b=a.2ne&1?"1.0":"0.0",n=a.2ne&2?"1.0":"0.0",a=a.2ne&4?"1.0":"0.0",0<h)1j(p=0;p<h;++p)l+="    1OU["+f[p]+"].2y *= 1w("+b+", "+n+", "+a+"); \\n";1s l+="    2C.2y *= 1w("+b+", "+n+", "+a+"); \\n";e.5p.1q(l+"}");a=6Az(c);1f Ga.4t({1O:d,5O:c.5O,5A:e,7W:a})}1b Cg(a,b,c,d,e){1d f=b.5Y,h=f.10s;if(!g(b.3jy)||b.3jy(a))if(a 2m Ec)a.5P(c,d);1s{if(a.15S&&g(a.6W)){1d l=b.5Y,p=l.1O;1d n=a.6W;g(b.3dH)&&b.3dH.1M();1d z=k.1y(n.2V);if(l.3z!==O.6G){z=A.8P(CK,z,z);1d w=l.11s;z=w.1cZ(z);z=w.3c.13B(z)}g(n.3L)?(n=n.3L,n=Sc.3oN($e.14t(1g $e({10N:1g k(n,n,n),9S:zc.48L}))),b.3dH=1g Kb({13g:1g yb({3y:n,4a:A.1PY(z),2w:{1A:1g Qb(1,0,0,1)}}),161:1g zc({8z:!0,11C:!1}),17X:!1})):(w=n.1dK,n=Sc.3oN(yf.14t(yf.25S({6e:1g k(2,2,2),9S:zc.48L}))),b.3dH=1g Kb({13g:1g yb({3y:n,4a:A.1yU(w,z,1g A),2w:{1A:1g Qb(1,0,0,1)}}),161:1g zc({8z:!0,11C:!1}),17X:!1}));z=l.13l;n=l.13l=[];b.3dH.2H(l);n=n[0];l.1bz&&(n=Nk.4r0(n,p).14Z);if(g(e)){1d x=d.4Q;d.4Q=e}n.5P(p,d);g(x)&&(d.4Q=x);l.13l=z}f.1bz&&g(a.10K)&&g(a.10K.1Gm)&&(a=a.10K.1Gm.14Z);!h.11P&&b.1qG&&g(a.10K)&&g(a.10K.274)&&(a=a.10K.274.14Z);!h.11P&&b.5tM&&g(a.10K)&&g(a.10K.11q)&&(a=a.10K.11q.14Z);if(h.11P||h.4e){if(!g(a.10K))1f;if(h.11P&&!h.4e&&g(a.10K.1Gl)){a=a.10K.1Gl.1TX;a.5P(c,d);1f}if(h.4e&&g(a.10K.4e)){if(a.6t===ma.1xr||!a.4w.9J.3e)1f;a=a.10K.4e.1Qa;a.5P(c,d);1f}}b.53r||b.2yy?(c=Oa.15v(a),c.2z=6Ay(a,b),c.5P(b.1O,d),c.2z.1M()):f.1fv.2KT&&a.1fC&&g(a.10K.6x)?a.10K.6x.2ni.5P(c,d):a.5P(c,d)}}1b DK(a,b,c,d){b=b.5Y;1d e=a.10K;g(e)&&(b.1bz&&g(e.1Gm)&&(a=e.1Gm.14Z),e=a.10K,g(e.1Gl)?(a=e.1Gl.1TX,a.5P(c,d)):g(e.4e)&&(a=e.4e.1Qa,a.5P(c,d)))}1b 6Ax(a,b,c){1f b.6W.1Wa(c)-a.6W.1Wa(c)}1b 6Aw(a,b,c){1f a.6W.1Wa(c)-b.6W.1Wa(c)+B.2iH}1b 6Av(a,b,c,d,e){1d f=a.1O;qP(d,6Ax,a.3w.6K);g(e)&&b(e.2KS,a,f,c);e=d.1h;1j(1d h=0;h<e;++h)b(d[h],a,f,c)}1b 6Au(a,b,c,d,e){1d f=a.1O;qP(d,6Aw,a.3w.6K);g(e)&&b(e.2KS,a,f,c);e=d.1h;1j(1d h=a.18Y.10s,l=0;l<e;++l)h.11P&&h.4e&&d[l].7H 2m xd||(!h.11P||g(d[l].1cI)||h.4e)&&b(d[l],a,f,c)}1b 53h(a,b){1d c=a.1by.4tj,d=c[b];!g(d)&&a.1O.8X&&(d=1g Qk,c[b]=d);1f d}1b FU(a,b){1d c=a.3w,d=a.1O,e=d.13m;e.3pm(c);1d f=g(c.3j.16X)?c.3j.1y(EK):g(c.3j.2ey)?c.3j.1y(FK):g(c.3j.1G)?c.3j.1y(GK):c.3j.1y(HK);1d h=a.5Y;a.8U.3t(d,h);a.31O.3t(d,h);f.3I=c.3j.3I;f.3W=c.3j.3W;1d l=f.1Ck;f.1Ck=!1;e.1Gg(f);e.1pA(ma.2MF);1d p=a.5Y.10s,n=p.11P,k=a.1WG,w=a.1by,x=k.2KE,m=k.2y3,t=a.1jL;if(!n){1d r=k.4cD;g(r)&&t.2iW&&Cg(r,a,d,b);k.1WI&&t.1WI&&Cg(k.3Bf,a,d,b);k.2S7&&t.2S7&&k.53k.5P(d,b);k.1Nb&&t.1Nb&&(k.3Be.5P(d,b),a.3dG&&!m&&(m=k.1KJ?w.1aT.4Q:k.3dF?w.27w.2eW():k.4cw,a.1M6.5P(d),a.1M6.1hI(d,m),b.4Q=m));k.1WH&&t.1WH&&k.3Bd.5P(d,b);a.2ez.60C(h.1dj)}f.1Ck=l;k.2S6?(g(a.4cE)||(a.4cE=1b(a,b,c,d,e){w.1lo.5yZ(a,b,c,d,e)}),l=a.4cE):l=p.3t?6Av:6Au;m=k.53m;r=k.53l;1j(1d G=a.53q,q=a.1Gk,u=a.3as,v=a.6At,y=a.31M,A=k.4cx,B=c.1K.z,C,L=w.1Jl,S=L.1h,U=0;U<S;++U){1d R=S-U-1,V=L[R];a.3z===O.10j?(c.1K.z=B-V.3I+1,f.3W=1k.1V(1,V.3W-V.3I),f.3I=1,e.2H(a.18Y)):(p.20O&&d.8X||(f.3I=0!==R?V.3I*a.2mD:V.3I,f.3W=V.3W),a.3PJ&&1E5<c.21E.1D&&10>f.3I&&(f.3I*=1E4));e.1Gg(f);6Af(a,d,h);1d W=a.3dw?53h(a,R):w.1aT;if(a.3dw&&g(W)&&k.1KJ){W.2H(d,b,w.5q);W.9P(d,b,a.1Gk.1A);1d da=b.4Q;b.4Q=W.4Q}G.5P(d,b);p.4e&&!d.8X&&q.5P(d,b);d.2h3&&u.5P(d,b);if(t.1kr){e.1pA(ma.1Bb);1d ea=V.1qJ[ma.1Bb];1d Sa=V.4N[ma.1Bb];1j(C=0;C<Sa;++C)Cg(ea[C],a,d,b);g(W)&&k.1KJ&&W.2KL(d,b);a.3dw&&g(W)&&k.1KJ&&(b.4Q=da);e.1pA(ma.1Bk);ea=V.1qJ[ma.1Bk];Sa=V.4N[ma.1Bk];1j(C=0;C<Sa;++C)Cg(ea[C],a,d,b);m&&(G.5P(d,b),r&&y.5P(d,b));t.1oA||W.2ny(d,!0,!1,!1)}if(!k.3Bc||n){e.1pA(ma.1uf);ea=V.1qJ[ma.1uf];Sa=V.4N[ma.1uf];1j(C=0;C<Sa;++C)Cg(ea[C],a,d,b);if(0<Sa)1j(g(W)&&k.1KJ&&W.33q(d,b,m),e.1pA(ma.1Hh),ea=V.1qJ[ma.1Hh],Sa=V.4N[ma.1Hh],C=0;C<Sa;++C)Cg(ea[C],a,d,b)}1s{a.2iV.9P(d,b);1d E=b.4Q;b.4Q=a.2iV.1d0;e.1pA(ma.1uf);ea=V.1qJ[ma.1uf];Sa=V.4N[ma.1uf];1j(C=0;C<Sa;++C)Cg(ea[C],a,d,b);g(W)&&k.1KJ&&W.33q(d,b,m);e.1pA(ma.2qQ);ea=V.1qJ[ma.2qQ];Sa=V.4N[ma.2qQ];1j(C=0;C<Sa;++C)Cg(ea[C],a,d,b);b.4Q=E;a.2iV.5zh(d,b);1===a.18Y.28U.2O&&a.2iV.5zg(d,b);0<Sa&&d.2h3&&v.5P(d,b);e.1pA(ma.1Hh);ea=V.1qJ[ma.1Hh];Sa=V.4N[ma.1Hh];1j(C=0;C<Sa;++C)Cg(ea[C],a,d,b)}0<Sa&&d.2h3&&u.5P(d,b);if(t.1oA){C=ma.2qQ+1;E=ma.18W;t.2mE&&(C=ma.1Bc,E=ma.6hL);1j(1d dc=C;dc<=E;++dc)1j(e.1pA(dc),ea=V.1qJ[dc],Sa=V.4N[dc],dc===ma.3iq&&0<Sa&&g(W)&&k.1KJ&&W.33q(d,b,m),C=0;C<Sa;++C)Cg(ea[C],a,d,b);g(W)&&k.1KJ&&W.33q(d,b,m);if(!f.1Ck)1j(e.1pA(ma.1e0),ea=V.1qJ[ma.1e0],Sa=V.4N[ma.1e0],C=0;C<Sa;++C)Cg(ea[C],a,d,b);e.1pA(ma.3sD);ea=V.1qJ[ma.3sD];Sa=V.4N[ma.3sD];1j(C=0;C<Sa;++C)Cg(ea[C],a,d,b);0<Sa&&g(W)&&k.1KJ&&W.33q(d,b,m);if(t.3Bg&&(!n||!p.4e))1j(e.1pA(ma.37a),ea=V.1qJ[ma.37a],Sa=V.4N[ma.37a],C=0;C<Sa;++C)Cg(ea[C],a,d,b);e.1pA(ma.2Ke);ea=V.1qJ[ma.2Ke];Sa=V.4N[ma.2Ke];1j(C=0;C<Sa;++C)Cg(ea[C],a,d,b);e.1pA(ma.2Ht);ea=V.1qJ[ma.2Ht];Sa=V.4N[ma.2Ht];if(0<Sa)if(n)1j(C=0;C<Sa;++C)Cg(ea[C],a,d,b);1s a.20r.5yS(a,Cg,b,ea,Sa);0!==R&&a.3z!==O.10j&&(f.3I=V.3I,e.1Gg(f));if(!n&&k.3Bc&&1>a.18Y.28U.2O)1d F=a.2iV;k.2S6&&W.2ny(d,!0,!0,!1);t.2mE||(e.1pA(ma.1bl),ea=V.1qJ[ma.1bl],ea.1h=V.4N[ma.1bl],l(a,Cg,b,ea,F));e.1pA(ma.1xr);ea=V.1qJ[ma.1xr];Sa=V.4N[ma.1xr];1j(C=0;C<Sa;++C)Cg(ea[C],a,d,b);(0<Sa||!k.2S6)&&g(W)&&W.2ny(d,!0,!1,!1)}p.20O||(d.8X&&a.3Pr&&(k.1KJ||x)?(C=x?b.4Q.1ku:W.1ku,g(C)||(C=W.1ku),W=a.1ss.26Y(a,R),W.2H(d,C),W.2KL(d,b)):g(b.4Q)&&g(b.4Q.2DB[0])&&(C=b.4Q.2DB[0],W=a.1ss.26Y(a,R),W.2H(d,C),W.2KL(d,b)));if(!n&&A){W=b.4Q;b.4Q=w.27w.4tL();f.3I=0!==R?V.3I*a.2mD:V.3I;f.3W=V.3W;e.1Gg(f);e.1pA(ma.1Bb);ea=V.1qJ[ma.1Bb];Sa=V.4N[ma.1Bb];1j(C=0;C<Sa;++C)DK(ea[C],a,d,b);m&&(G.4Q=b.4Q,G.5P(d,b),G.4Q=1p 0);m&&r&&y.5P(d,b);e.1pA(ma.1uf);ea=V.1qJ[ma.1uf];Sa=V.4N[ma.1uf];1j(C=0;C<Sa;++C)DK(ea[C],a,d,b);e.1pA(ma.18W);ea=V.1qJ[ma.18W];Sa=V.4N[ma.18W];1j(C=0;C<Sa;++C)DK(ea[C],a,d,b);e.1pA(ma.1bl);ea=V.1qJ[ma.1bl];Sa=V.4N[ma.1bl];1j(C=0;C<Sa;++C)DK(ea[C],a,d,b);b.4Q=W}}}1b 53o(a){a.1O.13m.1pA(ma.3R2);1d b=a.1WG.4cC;g(b)&&b.5P(a.31N);b=a.3R3;1j(1d c=b.1h,d=0;d<c;++d)b[d].5P(a.31N)}1b 53p(a,b){1j(1d c=a.1O,d=a.3nn,e=d.1h,f=0;f<e;++f){1d h=d[f],l=a.5Y.10s;l.11P||l.4e?Cg(d[f],a,c,b):h.5P(c,b)}d=a.3nm;e=d.1h;if(0<e)1j(a.53q.5P(a.4j,b),f=0;f<e;++f)a.18Y.10s.11P?(h=d[f].10K.1Gl.1TX,h.5P(a.4j,b)):d[f].5P(c,b)}1b 4qM(a,b){1d c=a.1O.13m;c.1pA(ma.1eW);1d d=a.1O,e=a.5Y,f=a.1by,h=f.5q;h.x=0;h.y=0;h.1G=d.8j;h.1D=d.7p;b.5q=Aa.1y(h,b.5q);if(a.1Gi===Jf.6i)53p(a,b);1s 1j(1d l=0;l<a.1no.1h;l++)if(!e.10s.11P||a.5Y.1g4===l){e.1g4=l;1d g=a.1no[l];h.x=d.8j*g.x;h.y=d.7p*g.y;h.1G=d.8j*g.1G;h.1D=d.7p*g.1D;b.5q=Aa.1y(h);e.3w.3j.13n=h.1G/h.1D;c.2H(e);e.13l.1h=0;a.3nn.1h=0;a.3nm.1h=0;GU(a,!1);f.3ng(a);53p(a,b)}}1b 53n(a){1d b=a.18Y,c=b.1fv.272,d=c.1h;if(b.1fv.2mN){b=a.1O;1j(1d e=b.13m,f=0;f<d;++f){1d h=c[f];if(!h.4tG){1d l,g=h.10s,n=g.1h;1j(l=0;l<n;++l)g[l].13l.1h=0;l=a;g=a.18Y.13l;1j(1d k=h.5ym,w=h.4tF,x=h.10s,m=x.1h,t=g.1h,r=0;r<t;++r){1d G=g[r];l.3ml(G);if(G.1hR&&(G.6t===ma.1Bb||G.6t===ma.1uf||G.6t>=ma.1Bc&&G.6t<=ma.1bl)&&l.1cA(G,k))if(w)1j(1d q=0;q<m;++q)x[q].13l.1q(G);1s if(1===m)x[0].13l.1q(G);1s{q=!1;1j(1d u=m-1;0<=u;--u)if(l.1cA(G,x[u].1dj))x[u].13l.1q(G),q=!0;1s if(q)1W}}1j(l=0;l<n;++l)1j(g=h.10s[l],e.3pm(g.3w),h.1pA(b,l),k=g.13l.1h,w=0;w<k;++w)x=g.13l[w],e.1pA(x.6t),Cg(x.10K.6x.4ts[f],a,b,g.1md)}}}}1b Iq(a,b,c,d){1d e=a.4j,f=e.13m,h=b.5q;h.x=0;h.y=0;h.1G=e.8j;h.1D=e.7p;1d l=a.5Y,g=l.3w,n=l.3z,z=l.10s.11P;if(a.32b&&n!==O.10j)f=a.1by,e=f.3w,h=a.1WG.2KE,IK(a,b,c),h||GU(a),f.3ng(a),h||(53o(a),53n(a)),c=b.5q,c.x=0,c.y=0,c.1G*=.5,f=ab.1y(e,a.3PK),f.3j=e.3j,l=e.3j.3I,g=l*m(a.25s,5),z=m(a.6As,g/30),h=k.4g(f.2W,.5*z,5tF),e.3j.13n=c.1G/c.1D,l=.5*z*l/g,k.add(f.1K,h,e.1K),e.3j.1qc=l,FU(a,b),c.x=c.1G,k.3V(f.1K,h,e.1K),e.3j.1qc=-l,FU(a,b),ab.1y(f,e);1s if(a.1Gi===Jf.6i||d||z)if(IK(a,b,c),n!==O.10j||a.4ra===Ws.2Kr)ft(!0,a,b);1s{c=a.1O;e=a.18Y;f=a.3w;h=b.5q;l=Aa.1y(h,5tx);b.5q=l;g=5tD;a.11s.12z(5tE,g);z=k.1y(f.1K,5tC);d=A.1y(f.5o,5tA);n=f.3j.1y();f.1dm(A.8K);1d w=A.2Ko(l,0,1,5tB),x=f.3j.1pv,D=f.6K.y,t=k.9v(B.12q(D)*g.x-D,0,-f.6K.x,5tz);w=Da.2Kn(x,w,t,5ty);w.x=1k.2t(w.x);x=l.x;t=l.1G;if(0===D||w.x<=x||w.x>=x+t)ft(!0,a,b);1s{if(1>1k.abs(x+.5*t-w.x))l.1G=w.x-l.x,f.1K.x*=B.12q(f.1K.x),f.3j.2W=0,e.1dj=f.3j.1tM(f.6K,f.18k,f.1je),c.13m.2H(e),ft(!0,a,b),l.x=w.x,f.1K.x=-f.1K.x,f.3j.2W=-f.3j.3B,f.3j.3B=0;1s if(w.x>x+.5*t){l.1G=w.x-x;1d r=f.3j.2W;f.3j.2W=g.x-D;e.1dj=f.3j.1tM(f.6K,f.18k,f.1je);c.13m.2H(e);ft(!0,a,b);l.x=w.x;l.1G=x+t-w.x;f.1K.x=-f.1K.x;f.3j.3B=-f.3j.2W;f.3j.2W=r-2*f.3j.2W}1s l.x=w.x,l.1G=x+t-w.x,t=f.3j.3B,f.3j.3B=-g.x-D,e.1dj=f.3j.1tM(f.6K,f.18k,f.1je),c.13m.2H(e),ft(!0,a,b),l.x=x,l.1G=w.x-x,f.1K.x=-f.1K.x,f.3j.2W=-f.3j.3B,f.3j.3B=t-2*f.3j.3B;e.1dj=f.3j.1tM(f.6K,f.18k,f.1je);c.13m.2H(e);ft(!1,a,b)}f.1dm(d);k.1y(z,f.1K);f.3j=n.1y();b.5q=h}1s 1j(IK(a,b,c),c=0;c<a.1no.1h;c++)z&&a.5Y.1g4!==c||(d=a.1no[c],h.x=e.8j*d.x,h.y=e.7p*d.y,h.1G=e.8j*d.1G,h.1D=e.7p*d.1D,g.3j.13n=h.1G/h.1D,f.2H(l),a.5Y.1g4=c,ft(0==c||z,a,b))}1b ft(a,b,c,d){1d e=b.1by,f=b.1WG.2KE;a||f||(b.18Y.13l.1h=0);(!f||-1<b.5Y.1g4)&&GU(b,a);e.3ng(b);a&&(g(d)&&IK(b,c,d),f||(53o(b),53n(b)));FU(b,c)}1b vn(a){1d b=a.5Y,c=a.1by,d=a.1WG,e=b.10s.1Tt,f=a.2mC,h=a.10a;!b.10s.3t||a.8C!==O.10j&&c.3w.3j 2m Jb?(d.3Bf=1p 0,d.4cD=1p 0,d.3Be=1p 0,d.4cC=1p 0,d.3Bd=1p 0):(g(f)&&g(h)&&(f.5sx(h.2nC),d.4cB=d.4cB||0<h.7G.1tN.1h),d.3Bf=g(f)?f.2H(b):1p 0,d.4cD=g(a.20t)?a.20t.2H(b,a.1qG):1p 0,c=g(a.1PI)?a.1PI.2H(b,c.1md,a.1qG):1p 0,d.3Be=g(c)?c.1Vz:1p 0,d.4cC=g(c)?c.2xH:1p 0,d.3Bd=g(a.4c9)?a.4c9.2H(b):1p 0,d.53k=g(a.2K0)?a.2K0.2H(b):1p 0);h=d.53m=g(h)&&(!h.2S1||a.3z===O.10j);(d.53l=h&&a.3z===O.6G)&&a.31M.2H(b);d.2KE=!1;d.2y3=a.32b&&a.3z!==O.10j&&!e;e=b.3z===O.6G?b.2yz:1p 0;h=b.1dj;c=4qV.1Di;1j(f=0;5>f;++f)c[f]=h.1Di[f];h=4qV;d.1WI=g(d.3Bf)&&d.4cB;d.1Nb=a.1cA(d.3Be,h,e);d.1WH=a.1cA(d.3Bd,h,e);d.2S7=a.3PH&&g(d.53k);d=a.1mq;e=a.1gQ;!g(d)||g(e)&&e.2I===d?!g(d)&&g(e)&&(e.1M(),a.1gQ=1p 0):(e&&e.1M(),a.1gQ=1g Cl(d));g(a.1gQ)&&a.1gQ.2H(b)}1b GU(a,b){1d c=a.5Y,d=a.4j,e=c.13l;a.1yO.2H(c);a.15G.2H(c);1d f=a.5Y;a.3dx!==a.53j&&(a.2mB=a.3dx?1g Aq({3w:a.3w,32Y:!1}):a.2mB&&a.2mB.1M(),a.53j=a.3dx);g(a.2mB)&&a.2mB.2H(f);if(b){b=a.5Y;f=b.272;1d h=f.1h,l=0<h&&!b.10s.11P&&a.3z===O.6G;l!==b.1fv.2mN&&(++b.1fv.2mO,b.1fv.2mN=l);b.1fv.2KT=!1;if(l){1j(l=0;l<h;++l)if(f[l]!==b.1fv.272[l]){++b.1fv.2mO;1W}b.1fv.272.1h=0;1j(l=b.1fv.4cA.1h=0;l<h;++l){1d p=f[l];p.2H(b);b.1fv.272.1q(p);p.53i&&(b.1fv.4cA.1q(p),b.1fv.2KT=!0);p.6s&&(++b.1fv.2mO,p.6s=!1)}}}b=a.9Q.2H(d,c,e,!0);c.3os=b;a.1cD&&a.1cD.3t(c);c.3os=1p 0;a.9Q.2H(d,c,e);a.1ck.2H(d,c,e);a.2JM.2H(d,c,e);a.31O.2H(d,c,e);1j(1d n in a.2mF)a.2mF[n].2H(d,c,e)}1b IK(a,b,c){1d d=a.4j,e=a.5Y,f=a.1WG,h=a.1by,l=a.5Y.10s,p=l.11P,n=l.20O,k=f.2y3;f.4cw=b.4Q;g(a.1PI)&&a.3dG!==a.4cz?(a.3dG&&!k?a.1M6=1g Ro:g(a.1M6)&&(a.1M6=a.1M6.1M()),a.4cz=a.3dG):!g(a.1PI)&&g(a.1M6)&&(a.1M6=a.1M6.1M(),a.4cz=!1);1d w=a.1Gk;y.1y(c,w.1A);w.5P(d,b);1d x=f.1KJ=g(h.1aT);x&&(h.1aT.2H(d,b,h.5q,a.1qG),h.1aT.9P(d,b,c));l=h.1lo;1d m=f.2S6=!n&&!p&&g(l)&&l.1op();m&&(l.2H(d,b,h.1aT.33r,a.1qG),l.9P(d,b,c),f.2S6=l.1op());g(a.26X)&&d.8X&&(a.26X.2H(e,h.1aT.33r,a.1qG),a.26X.9P(d,b));g(a.20r)&&(a.20r.2H(e),a.20r.9P(d,b));if(g(a.26W)&&!p){1j(1d t=a.4j,r=a.5Y,G=a.1by.3w,q=0,u=a.8U.1DL.1h;q<u;q++){1d v=a.8U.1DL[q];"3KL"===v.1b4&&(v=v.1z6,v.3pg&&g(v.1GG)&&(v.4xm(G,a.1qG,t,b),a.26W.4cy=v.1GG,a.26W.2H(r)))}q=0;1j(u=a.15G.1h;q<u;q++)v=a.15G.15G[q],"3KL"==v.1I&&(v=v.1z6,v.3pg&&g(v.1GG)&&(v.4xm(G,a.1qG,t,b),a.26W.4cy=v.1GG,a.26W.2H(r)))}t=a.26a;n=f.3dF=!n&&!p&&(a.1qG||0<t.1h||t.2yq.3e||t.32L.3e||t.1o4.3e||t.5x1.3e);f.4cx=!1;n&&(h.27w.2H(d,h.5q,a.1qG),h.27w.9P(d,b,c),t.2H(d,e.1bz,a.1qG),t.9P(d),n=f.3dF=t.3o,f.4cx=n&&t.3Pj,f.6Ar=g(a.1yP)&&a.1yP.3QI())&&(a.1yP.2H(d,b,a,e),a.1yP.9P(d,c),t.1yP=a.1yP);f.1Nb&&a.3dG&&!k?(b.4Q=a.1M6.2H(b),a.1M6.9P(d,b,c)):x?b.4Q=h.1aT.4Q:n&&(b.4Q=h.27w.2eW());g(b.4Q)&&w.5P(d,b);if(f.3Bc=!p&&g(b.4Q)&&a.1M8){if(1===a.18Y.28U.2O&&f.1KJ)1d A=h.1aT.4Q;g(A)||d.8X?(a.2iV.3RL=A,a.2iV.2H(d),a.2iV.9P(d,b),1>a.18Y.28U.2O&&m&&(a=a.2iV.2KS,b=a.10K,b.1lo=l.2ye(a,d,b.1lo))):f.3Bc=!1}}1b Vo(a,b){1d c=a.4j,d=a.5Y,e=a.1WG,f=a.1by,h=a.26X,l=a.20r,p=a.26W,n=d.10s.11P,k=e.2S6,w=g(h)&&h.5F,x=e.1KJ,D=e.3dF;e=e.4cw;1d t=x?f.1aT.33r:1p 0,r=f.27w.2eW(),G=f.27w.4tL();g(l)&&l.5P(c,b);g(p)&&!n&&p.5P(c,b);g(h)&&(b.4Q=D?r:e,k&&(l=h.5u8(),g(l)&&(b.4Q=l,f.1lo.5yY(l.167(0)))),h.5P(c,b));k&&(b.4Q=D?r:e,f.1lo.5P(c,b));D&&(h=r,!x||k||w||(h=t),a.1yP.3nb=h,w=a.26a,h=h.167(0),G=G.167(0),t=m(t,r).1ku,w.5P(c,h,t,G),w.1hI(c,e,d.1bz),a.1yP.3nb=1p 0);k||D||!x||(b.4Q=e,f.1aT.5zD(c,b));d=d.1bz;a.3dw&&x&&53h(a,a.4cb-1).5zF(c,b,d);a.6z8&&x&&a.1ss.26Y(a,a.4cb-1).5yx(c,b,d)}1b 4qO(a){1j(1d b=a.5Y.1sn,c=0,d=b.1h;c<d;++c)b[c](),a.1e2();b.1h=0}1b $Ca(a){a.2JV.4qS();1d b=a.5Y;a.13y.3vM(b);g(a.10a)&&a.10a.2H(b);a.1ss.2H();b.1DJ.2H()}1b 5tp(a){1d b=a.5Y;g(a.10a)&&a.10a.2H(b);1j(1d c=a.53g,d=0;d<c.1h;++d){1d e=a,f=c[d],h=e.4j.13m,l=e.5Y,p=e.20s;e.1by=p;1d n=f.13y;53f(e,f.11j,f.1G,p.3w);Uo(e);l.10s.1Tt=!0;l.10s.17X=!0;h.2H(l);h=l.13l;p=h.1h;1j(1d k=!0,w=n.1h,x=0;x<w;++x){1d m=n[x];m.2p&&e.13y.8h(m)&&(m=m.9Jh(l),k=k&&m)}h.1h=p;e.1by=e.1B2;k&&f.1ma.5h();k&&c.6z(d--,1)}b.1DJ.2H()}1b 5tk(a){a.2xT=!0;1d b=a.1O,c=b.13m,d=a.5Y,e=a.1B2;a.1by=e;Uo(a);d.10s.3t=!0;d.10s.3mc=a.26a.3Pj;d.2mL=5tH;1d f=m(a.1a4,y.1a7);a.1qG&&(f=y.1y(f,5tt),f.5r=1k.3r(f.5r,a.1iP),f.5t=1k.3r(f.5t,a.1iP),f.5G=1k.3r(f.5G,a.1iP));d.1a4=f;d.1DJ.2z1();a.1ep.2H(d);c.2H(d);1d h=a.17A;g(h)&&h.3e&&(k.11k(c.3tI,a.2S5.2G),d.272.1q(h));a.3R3.1h=0;a.3nn.1h=0;a.3nm.1h=0;c=e.5q;c.x=0;c.y=0;c.1G=b.8j;c.1D=b.7p;e=e.1md;e.4Q=1p 0;e.1Jm=1p 0;e.1g1=1p 0;e.5q=Aa.1y(c,e.5q);g(a.10a)&&a.10a.2z1(d);g(a.16u)&&(c=a.16u,g(c.2r2)&&g(c.2im)&&(d.3Ve=c.2r2,d.3Vd=c.2im));1d l=a.4j,p=a.5Y;h=p.3w;c=h.6K;1d n=p.1dj,z=p.3z===O.6G?p.2yz:1p 0;g(a.1Gf)||(a.1Gf=l.5Ub(),p.18w.1Ge=a.1Gf);p=16t;l=0;a.1Gf.19R=!1;1j(1d w=0;w<a.9Q.17f.1h;w++){1d x=a.9Q.17f[w];if(g(x.28e)){1d D=x.28e;1j(r in D.15W){1d t=D.1n(r);n.1su(t.6W)==Lb.1gB||g(z)&&t.6W.2mM(z)||(x=k.3s(t.6W.2V,c)-t.6W.3L,x=.11t>x?.11t:x,x<p&&(p=x,l=t.3s),a.1Gf.19R=!0)}}}1d r=a.1ck.1DL.1h;1j(w=0;w<r;w++)-1!=a.1ck.1DL[w].6X.1qs("5BP")&&(n=a.1ck.1DL[w],x=k.3s(n.5V.2V,c)-n.5V.3L,x=.11t>x?.11t:x,x<p&&(p=x,l=n.2fE),a.1Gf.19R=!0);!a.1Gf.19R||5E4<p?a.1Gf.19R=!1:(a.3z==O.6G?(r=k.7t(h.1K)-h.19I.1D,l+=r,k.1T(c,a.1Gf.2BG.2U),r=1g k,a.1Gf.2BG.2U.1y(r),k.4g(r,l,r),a.1Gf.2BG.3s=-k.2A(r,a.1Gf.2BG.2U)):(a.1Gf.2BG.2U=k.1dl,a.1Gf.2BG.3s=-l),a.1Gf.19R=!0);r=a.4j;c=a.5Y;0<r.2g5?(g(a.2xL)||(a.2xL=r.5Ua(),c.18w.4qj=a.2xL),a.2xL.19R=!0):g(a.2xL)&&(a.2xL.19R=!1);r=a.4j;c=a.5Y;0<r.3pS?(g(a.2mA)||(a.2mA=r.5U9(),c.18w.5sB=a.2mA),a.2mA.19R=!0):g(a.2mA)&&(a.2mA.19R=!1);r=a.4j;c=a.5Y;0<r.351?(g(a.1Jk)||(a.1Jk=r.4sB(),c.18w.4qi=a.1Jk),a.1Jk.19R=!0):g(a.1Jk)&&(a.1Jk.19R=!1);4qo(a);6Ai(a);4qn(a);vn(a);Iq(a,e,f);Vo(a,e);e.4Q=1p 0;4qM(a,e);4qm(a);a.9Q.1sr(d);g(a.10a)&&(a.10a.1sr(d),a.10a.4uV||(a.321=!0));f=a.9Q.17f.1h;1j(e=0;e<f;e++)r=a.9Q.17f[e],g(r.1Bt)&&g(r.15V)&&r.15V.3qC(r,d);a.2ez.60B();d.1DJ.1sr();b.1sr()}1b iw(a,b){10G{b(a)}11B(c){if(a.4rd.5k(a,c),a.6Aq)1t c;}}1b 5to(a){1f a.1ss.5xA(a)}1b 5tn(a){1d b=a.5Y;HU.3w=b.3w;HU.1dj=b.1dj;a.13y.2nd(b,HU)}1b 5tl(a){a.13y.2nd(a.5Y,5tG)}1b JK(a,b,c,d,e){1d f=a.3w.3j;if(f 2m Jb||f 2m Ee){d=a.3w;f=d.3j;g(f.1d3)&&(f=f.1d3);1d h=2*(b.x-e.x)/e.1G-1;h*=.5*(f.2W-f.3B);1d l=2*(e.1D-b.y-e.y)/e.1D-1;l*=.5*(f.5C-f.7b);c=A.1y(d.5o,5tf);d.1dm(A.8K);b=k.1y(d.1K,5th);k.4g(d.2W,h,KK);k.add(KK,b,b);k.4g(d.up,l,KK);k.add(KK,b,b);d.1dm(c);a.3z===O.10j&&k.9v(b.z,b.x,b.y,b);e=f.28b(e.1G,e.1D,1,5tg);a=5ti;a.2W=.5*e.x;a.3B=-a.2W;a.5C=.5*e.y;a.7b=-a.5C;a.3I=f.3I;a.3W=f.3W;1f a.1tM(b,d.18k,d.1je)}a=a.3w;f=a.3j;h=f.3I;1d p=1k.10n(.5*f.1MK);l=(2*(b.x-e.x)/e.1G-1)*h*f.13n*p;b=(2*(e.1D-b.y-e.y)/e.1D-1)*h*p;p=f.28b(e.1G,e.1D,1,1,5td);e=p.x*c*.5;d=p.y*d*.5;c=5te;c.5C=b+d;c.7b=b-d;c.2W=l+e;c.3B=l-e;c.3I=h;c.3W=f.3W;1f c.1tM(a.6K,a.18k,a.1je)}1b 4ql(a,b){1d c=a.4j,d=a.5Y,e=a.1WG,f=a.10a.2S1;a.10a.2S1=!0;1d h=a.1B2;a.1by=h;1d l=h.5q;l.x=0;l.y=0;l.1G=c.8j;l.1D=c.7p;1d g=h.1md;g.5q=Aa.1y(l,g.5q);EU(d.10s);d.10s.11P=!0;d.10s.4e=!0;d.1dj=JK(a,b,1,1,l);vn(a);e.2KE=!0;g=h.2JN.2H(c,b,l);Iq(a,g,zz,!0);Vo(a,g);a.10a.2S1=f;c.1sr()}1b LK(a,b){if(a.8C===O.10j||a.1Gi==Jf.6i)1f-1;1d c=a.4j;b=1g Aa(b.x,c.7p-b.y);1j(1d d=1g Aa,e=-1,f=0;f<a.1no.1h;f++){1d h=a.1no[f];d.x=c.8j*h.x;d.y=c.7p*h.y;d.1G=c.8j*h.1G;d.1D=c.7p*h.1D;if(d.1sU(b)===Lb.1wT){e=f;1W}}1f e}1b 4qB(a,b){1d c,d=[],e=[],f=[],h=[],l=1L.6F(1F);g(a)||(a=3a.6w);1j(c=b();g(c);){1d p=c.2c,n=c.31U;if(g(c.1K)&&!g(p)){d.1q(c);1W}if(!g(p)||!g(p.9k))1W;if(!n&&(d.1q(c),0>=--a))1W;n=p.9k;1d k=!1;"1b"===2h n.1bH&&g(p.id)&&(c=n.1bH(p.id),g(c)&&g(c.2p)&&(k=!0,c.2p=Wc.1an(!1,c.2p),f.1q(c)));p 2m Jh&&(k=!0,p.2p=!1,h.1q(p));n 2m Wa&&(k=!0,n.2g1([p.id],!1),c=n.id,(l[c]=l[c]||{}).7r=n,(l[c].1a8=l[c].1a8||[]).1q(p.id));k||(n.2p=!1,e.1q(n));c=b()}1j(a=0;a<e.1h;++a)e[a].2p=!0,e[a]2m mn&&e[a].31Z();1j(1d w in l)e=l[w],e.7r.2g1(e.1a8,!0);1j(a=0;a<f.1h;++a)c=f[a],c.2p=Wc.1an(!0,c.2p);1j(a=0;a<h.1h;++a)h[a].2p=!0;1f d}1b 5tm(a){1d b=a.5Y;b.3w.5FE()&&(IU.3w=a.9Jg,IU.1dj=a.9Jf,a.13y.2nd(b,IU))}1b 53f(a,b,c,d){1d e=b.2G,f=k.3da(e,4qA);f=k.4B(e,f,4qA);1d h=k.4B(e,f,5t5);d.1K=b.9X;d.2G=e;d.up=h;d.2W=f;d.3j.1G=m(c,a.6Ap)}1b MK(a,b,c,d,e){1j(1d f=[],h=a.13y,l=h.1h,p=0;p<l;++p){1d n=h.1n(p);n 2m tg&&n.2p&&(g(c)&&-1!==c.3f(n)||f.1q(n))}if(0===f.1h)1f Z.5h(e());b=1g 6Ao(b,d,f);a.53g.1q(b);1f b.10l.4b(1b(){1f e()})}1b JU(a,b,c,d,e,f,h){1f 4qB(c,1b(){1d c=a.4j,p=c.13m,n=a.5Y,k=a.20s;a.1by=k;53f(a,b,e,k.3w);Dg=Aa.1y(k.5q,Dg);1d w=k.1M7.1jM(Dg,k.5q);a.2JV.31X();g(a.3w.3j.3B)&&(n.1dj=JK(a,{x:0,y:0},1,1,k.5q));Uo(a);n.1M8=!1;n.10s.11P=!0;n.10s.1Tt=!0;n.10s.17X=h;k.3mr=!0;p.2H(n);vn(a);Iq(a,w,zz);Vo(a,w);p=k.1M7.9o(c);if(a.4j.8X)1j(1d x=k.1Jl.1h,m=0;m<x;++m)if(w=a.1ss.26Y(a,m).19x(c,0,0),0<w&&1>w){1d t=k.1Jl[m];k=t.3I*(0!==m?a.2mD:1);t=rb.1n3(b,k+w*(t.3W-k));1W}a.1by=a.1B2;c.1sr();n.10s.11P=!1;n.10s.1Tt=!1;g(p)||g(t)?(c=t,(n=!g(t)&&f)||(n=g(p)&&g(d)&&0!==d.1h?-1<d.3f(p)||-1<d.3f(p.9k)||-1<d.3f(p.id):!1),c={2c:p,1K:c,31U:n}):c=1p 0;1f c})}1b Az(a,b,c,d,e,f){a=JU(a,b,1,c,d,e,f);if(0<a.1h)1f a[0]}1b KU(a,b){1d c=a.10a,d=g(c)?c.3c:a.11s.3c;a=nd.2Qh;c=d.2a8(b,5sZ);d=T.1g8(b,d,5t0);b=5sY;b.9X=d;b.2G=c;d=1g rb;rb.1n3(b,a,d.9X);k.11k(c,d.2G);1f d}1b 4qx(a,b){1d c=a.10a;c=g(c)?c.3c:a.11s.3c;b=T.12y(b,c,4qz);1f KU(a,b)}1b 4qy(a,b){1d c=a.10a;a=g(c)?c.3c:a.11s.3c;1f T.12y(b,a,4qz).1D}1b 5sX(a,b,c,d){1d e=KU(a,b);1f MK(a,e,c,d,1b(){1d b=Az(a,e,c,d,!0,!0);if(g(b))1f 4qy(a,b.1K)})}1b 5sW(a,b,c,d,e){1d f=4qx(a,b);1f MK(a,f,c,d,1b(){1d b=Az(a,f,c,d,!0,!0);if(g(b))1f k.1y(b.1K,e)})}1b 53e(a){1d b={};a=a.1gv;1d c=N.15X(a,"1PD");b.9G=c;c=N.15X(a,"2M0");b.1Br=c;a=N.121(a,"9Je");c=N.6B(a,"9Jd");b.4FW=c;a=N.1vx(a,"9Jc");b.3Vj=[];c=0;1j(1d d=a.1h;c<d;c++){1d e={3Vh:[],3Vi:[]},f=a[c],h=N.121(f,"9Jb");if(h){1d l=N.1vx(h,"9Ja");h=0;1j(1d g=l.1h;h<g;h++){1d n={},k=l[h],w=N.6B(k,"9J9");n.9J8=w;w=N.6B(k,"3OL");n.2P=w;w=N.15X(k,"2fY");n.2i=w;w=N.6B(k,"9J7");n.5Hx=w;1d x=N.6B(k,"5rc");n.1yK=x;k=N.121(k,"9J6");n.35f=[];if(k)1j(k=N.1vx(k,"9J5"),x=0;x<w;){1d m=7L(k[x].8S);n.35f.1q(m);x++}e.3Vh.1q(n)}}if(h=N.121(f,"9J4"))1j(f=N.1vx(h,"9J3"),h=0,g=f.1h;h<g;h++)n={},l=f[h],w=N.6B(l,"9J2"),n.9J1=w,w=N.15X(l,"2fY"),n.2i=w,w=N.6B(l,"9J0"),n.9IZ=w,w=N.6B(l,"9IY"),n.9IX=w,w=N.6B(l,"3dz"),n.2g=w,w=N.6B(l,"9IW"),n.5Hy=w,l=N.1Qi(l,"9IV"),n.9IU=l,e.3Vi.1q(n);b.3Vj.1q(e)}1f b}1b 6Al(a,b){if(a&&b){1d c=a.1gv;if(c&&(a=c.1fz,c=N.121(c,"9IT",a))){a=N.1vx(c,"9IS",a);c=[];1j(1d d=0,e=a.1h;d<e;d++){1d f=a[d].8S;0<f.3f("1Ge")&&c.1q(zj(b+f))}if(c.1h){1d h=Z.12L();Z.all(c,1b(a){1j(1d b=[],c=0,d=a.1h;c<d;c++){1d e=a[c];if(!e)1W;e=53e(e);b.1q(e)}h.5h(b)},1b(){});1f h.10l}}}}1b 6Aj(a,b){if(a&&b&&(a=a.10x,g(a)&&g(a.6An))){a=a.6An;1j(1d c=[],d=0,e=a.1h;d<e;d++){1d f=a[d].9IR;0<f.3f(".1Ge")&&(f=b+f,g(Ba.12M)&&(f=Ba.1cl(f)),c.1q(zj(f)))}if(c.1h){1d h=Z.12L();Z.all(c,1b(a){1j(1d b=[],c=0,d=a.1h;c<d;c++){1d e=a[c];if(!e)1W;e=53e(e);b.1q(e)}h.5h(b)},1b(){});1f h.10l}}}1b 6Am(a,b,c){1d d=a.1gv;a=d.3pZ;if("9IQ"===d.16Z){N.15X(d,"5Gz",a);N.15X(d,"1PD",a);1d e=N.15X(d,"5Gy",a);N.15X(d,"5Gx",a);N.15X(d,"5Gw",a);1d f=N.121(d,"2A0",a),h=N.6B(f,"X",a),l=N.6B(f,"Y",a);f=N.6B(f,"Z",a);1d p=N.121(d,"5Gv",a);if(g(p)){1d n=N.6B(p,"1Mj",a);1d z=N.6B(p,"2eV",a),w=N.6B(p,"1Dh",a);p=N.6B(p,"2eU",a);n=Q.8g(n,p,w,z)}1d x=N.121(d,"3pY",a),m=N.6B(x,"1XF",a);x=N.6B(x,"1L2",a);1d t=N.121(d,"3UN",a),r=N.6B(t,"3UM",a);t=N.6B(t,"3UL",a);1d G=N.121(d,"5Gu",a),q=N.121(G,"5Gt",a);G=N.6B(q,"1XF",a);q=N.6B(q,"1L2",a);r=r?r:q;t=t?t:G;1d u=N.121(d,"3UK",a);G=N.15X(u,"2M0",a);N.15X(u,"4zz",a);q=N.1Qi(u,"34W",a);1d v=N.1Qi(u,"34V",a),y=N.15X(u,"2GW",a);u=N.15X(u,"3q1",a);w={};p=b.7g("?");1<p.1h&&(w=nj(p[1]),b=p[0]);p=c===Jq.2JR?b.11c(0,b.1sl("/")+1):b.3X(/1nn$/g,"2g/9w/");b=1g zb(p);c=[];1d A=/\\\\+/g;p=N.121(d,"34U",a);1d B=N.1vx(p,"2wE",a);d=!1;p=0;1j(z=B.1h;p<z;p++){1d C=B[p],L=N.15X(C,"34T",a),S=L.1sl(".");".2zZ"===L.11c(S,L.1h)&&(d=!0);L=L.3X(A,"/");L=L.3X(/(\\.2zZ)|(\\.2ou)|(\\.2zY)/gi,"");1d U=qp(L),R=kk(L);L={};L.2zX=1g zb(U);L.2i=R;S=N.121(C,"5Gs",a);if(g(S)){1d V=N.121(S,"1XF",a);R=N.121(S,"1L2",a);S=N.6B(V,"X",a);1d W=N.6B(V,"Y",a);V=N.6B(V,"Z",a);C=N.6B(R,"X",a);U=N.6B(R,"Y",a);R=N.6B(R,"Z",a);1d da=1g P;P.2fX(1g k(S,W,V),1g k(C,U,R),da);L.2ot=da}c.1q(L)}1f{1K:{1tT:h,1mp:l,1D:f},1Br:G,34S:0,34R:0,1wE:x,1Qh:m,1Mn:r,1Mo:t,1TW:n,2zW:b,2zV:c,34Q:q,3VH:w,2fW:!0,34P:d,3q0:u,2dX:e,34O:v,2LZ:y}}G=N.15X(d,"2M0",a);q=N.1Qi(d,"34W",a);v=N.1Qi(d,"34V",a);y=N.15X(d,"2GW",a);h=N.121(d,"5GO",a);e=N.6B(h,"4zC",a);S=N.6B(h,"4zB",a);x=N.121(d,"3pY",a);m=N.6B(x,"3q3",a);x=N.6B(x,"3q2",a);t=N.121(d,"3UN",a);r=N.6B(t,"3UM",a);t=N.6B(t,"3UL",a);u=N.15X(d,"3q1",a);f=N.121(d,"2A0",a);h=N.6B(f,"X",a);l=N.6B(f,"Y",a);f=N.6B(f,"Z",a);p=N.121(d,"2yo",a);n=N.121(d,"4zA",a);W=N.15X(d,"53c",a);g(p)?(n=N.6B(p,"1Mj",a),z=N.6B(p,"2eV",a),w=N.6B(p,"1Dh",a),p=N.6B(p,"2eU",a),n=Q.8g(n,p,w,z)):g(n)?(p=N.6B(n,"5GN",a),z=N.6B(n,"5GM",a),N.6B(n,"5GL",a),w=N.6B(n,"5GK",a),A=N.6B(n,"5GJ",a),N.6B(n,"5GI",a),p=180*1k.abs(p)/(16t*1k.PI),z=180*1k.abs(z)/(16t*1k.PI),w=180*1k.abs(w)/(16t*1k.PI),A=180*1k.abs(A)/(16t*1k.PI),n=Q.8g(h-p,l-z,h+w,l+A)):n=Q.8g(h-1E-5,l-1E-5,h+1E-5,l+1E-5);V=1p 0;w=N.1vx(d,"5GH",a);if(g(w)&&0<w.1h){A=[];B=[];V=[];L=[];p=0;1j(z=w.1h;p<z;p++)C=w[p],U=N.15X(C,"2fY",a),A.1q(U),U=N.15X(C,"3UP",a),L.1q(U),U=N.121(C,"3US",a),g(U)&&(C=N.6B(U,"3UR",a),U=N.6B(U,"3UQ",a),B.1q(U),V.1q(C));V={2A2:!0,4At:L,2M1:A,1y4:B,1AX:V}}p=N.121(d,"3US",a);g(p)&&(C=N.6B(p,"3UR",a),U=N.6B(p,"3UQ",a),p=N.15X(d,"3UP",a),g(V)?(V.2M1.1q(""),V.1y4.1q(U),V.1AX.1q(C)):V={2A2:!0,4At:[p],2M1:[""],1y4:[U],1AX:[C]});w={};p=b.7g("?");1<p.1h&&(w=nj(p[1]),b=p[0]);p=c===Jq.2JR?b.11c(0,b.1sl("/")+1):b.3X(/1nn$/g,"2g/9w/");b=1g zb(p);c=[];A=/\\\\+/g;p=N.121(d,"5GF",a);B=N.1vx(p,"5GE",a);if(0<B.1h)1j(p=0,z=B.1h;p<z;p++)C=B[p],L=N.15X(C,"3UO",a),L=L.3X(A,"/"),L=L.3X(/(\\.1j4)|(\\.2zY)/gi,""),U=qp(L),R=kk(L),L={},L.2zX=1g zb(U),L.2i=R,da=N.121(C,"3L9",a),g(da)&&da.13P.1h&&(C=N.6B(da,"5GD",a),U=N.6B(da,"5GC",a),R=N.6B(da,"5GB",a),da=N.6B(da,"1Qg",a),C=1g k(C,U,R),L.2ot=1g P(C,da)),c.1q(L);1s 1j(B=N.1vx(p,"3UO",a),p=0,z=B.1h;p<z;p++)L=B[p].8S,L=L.3X(A,"/"),L=L.3X(/(\\.1j4)|(\\.2zY)/gi,""),U=qp(L),R=kk(L),L={},L.2zX=1g zb(U),L.2i=R,c.1q(L);p=1p 0;d=N.121(d,"2Kl",a);g(d)&&(a=N.1vx(d,"1PV",a),g(a)&&0<a.1h&&(p=8A(a[0].8S)));1f{1K:{1tT:h,1mp:l,1D:f},1Br:G,34S:S,34R:e,1wE:x,1Qh:m,1Mn:r,1Mo:t,3q0:u,1TW:n,2A1:V,2zW:b,2zV:c,3VH:w,34Q:q,2fW:!1,34O:v,2LZ:y,6b:p,3Vo:W}}1b 6Ak(a,b,c){1d d=a.2dX,e=a.1K.x,f=a.1K.y,h=a.1K.z,l;g(a.1rt)&&(l=Q.8g(a.1rt.3B,a.1rt.7b,a.1rt.2W,a.1rt.5C));if(g(a.53d)){1d p=a.53d.2o;1d n=a.53d.1V}1d z=a.9IP.11D,w=z.2o;z=z.1V;1d x=a.10x,m,t,r,G,q,u;x.3p("1j4:2M0")&&(m=x["1j4:2M0"]);x.3p("1j4:4zz");x.3p("1j4:3q1")&&(q=x["1j4:3q1"]);x.3p("53c")&&(u=x.53c);if(x.3p("28H"))1j(1d v=0,y=x.28H.1h;v<y;){1d A=x.28H[v].6b;1W}x.3p("1m3:1PV")&&(A=8A(x["1m3:1PV"]));x.3p("1j4:34W")&&(t="4ov"===x["1j4:34W"]);x.3p("1j4:34V")&&(r="4ov"===x["1j4:34V"]);x.3p("1j4:2GW")&&(G=x["1j4:2GW"]);1d B=[],C=1g Ia;if(x.3p("3Bb"))1j(v=0,y=x.3Bb.1h;v<y;v++){1d L=x.3Bb[v].1pk;if(g(L)){1d S=x.3Bb[v].1TW;B.1q(L);C.1C(L,S)}1s L=x.3Bb[v].7r,l=1g Q,C.1C(L,l),B.1q(L)}x={};v=b.7g("?");1<v.1h&&(x=nj(v[1]),b=v[0]);v=c===Jq.2JR?b.11c(0,b.1sl("/")+1):b.3X(/1nn$/g,"2g/9w/");b=1g zb(v);c=[];L=/\\\\+/g;S=!1;v=0;1j(y=a.17v.1h;v<y;v++){1d U=a.17v[v].2I,R=U.1sl(".");".2zZ"===U.11c(R,U.1h)&&(S=!0);U=U.3X(L,"/");U=U.3X(/(\\.2zZ)|(\\.2ou)|(\\.2zY)/gi,"");R=qp(U);1d V=kk(U);U={};U.2zX=1g zb(R);U.2i=V;if(g(a.17v[v].2nZ)){R=a.17v[v].2nZ.2o.x;V=a.17v[v].2nZ.2o.y;1d W=a.17v[v].2nZ.2o.z,da=a.17v[v].2nZ.1V.x,ea=a.17v[v].2nZ.1V.y,Sa=a.17v[v].2nZ.1V.z,E=1g P;P.2fX(1g k(R,V,W),1g k(da,ea,Sa),E);U.2ot=E}c.1q(U)}1f{1K:{1tT:e,1mp:f,1D:h},1Br:m,34S:0,34R:0,1wE:n,1Qh:p,1Mn:z,1Mo:w,1TW:l,2zW:b,2zV:c,34Q:t,3VH:x,2fW:!0,34P:S,2dX:d,34O:r,2LZ:G,6b:A,35q:B,3q0:q,5I4:C,3Vo:u}}1b NK(a,b,c,d,e,f,h){zj(a,d.1x1).4b(1b(l){1d p=6Am(l,a,d.3Pn);p.1O=b.1O;p.gl=b.1O.6M;p.2i=e;p.1V0=b.1gI;p.26Z=d.26Z;p.1vk=d.1vk;p.3qy=d.3qy;p.1cJ=d.1cJ;p.3VF=d.4ou;p.1cA=d.1cA;p.21I=d.21I;p.21K=d.21K;p.2oq=d.2oq;p.21J=d.21J;p.2oz=d.2oz;p.8e=d.8e;p.27B=d.27B;p.1bB=d.1bB;p.1hG=d.1hG;p.35o=d.35o;p.1lQ=d.1lQ;p.1qm=d.1qm;p.1iP=d.1iP;p.1F0=d.1F0;p.28i=m(d.28i,!1);p.2oy=m(d.2oy,"");p.1jc=m(d.1jc,"");p.1x1=d.1x1;p.1ef=b.3z;p.3qm=m(d.3qm,!0);p.4r=b;p.2M9=d.2M9;p.3qx=h;p.4Ar=d.4Ar;l=6Al(l,p.2zW);g(l)?Z(l,1b(a){p.1Ql=a;g(d.3dE)&&!0===d.3dE&&g(14w)?b.3w.1AG({16h:14w,1aH:1b(){1if(1b(){1d a=1g Wa(p);b.8U.add(a,f);c.5h(a)},1E3)}}):(a=1g Wa(p),b.8U.add(a,f),c.5h(a))}):!0===d.3dE?b.3w.1AG({16h:14w,1aH:1b(){1d a=1g Wa(p);b.8U.add(a,f);c.5h(a)}}):(l=1g Wa(p),b.8U.add(l,f),c.5h(l))},1b(l){Fe(a,d.1x1).4b(1b(l){1d p=6Ak(l,a,d.3Pn);p.1O=b.1O;p.gl=b.1O.6M;p.2i=e;p.1V0=b.1gI;p.26Z=d.26Z;p.1vk=d.1vk;p.3qy=d.3qy;p.1cJ=d.1cJ;p.3VF=d.4ou;p.1cA=d.1cA;p.21I=d.21I;p.21K=d.21K;p.2oq=d.2oq;p.21J=d.21J;p.2oz=d.2oz;p.8e=d.8e;p.27B=d.27B;p.1bB=d.1bB;p.1hG=d.1hG;p.35o=d.35o;p.1lQ=d.1lQ;p.1qm=d.1qm;p.1iP=d.1iP;p.1F0=d.1F0;p.28i=m(d.28i,!1);p.2oy=m(d.2oy,"");p.1jc=m(d.1jc,"");p.5I5=!0;p.1ef=b.3z;p.4r=b;p.2M9=d.2M9;p.3qx=h;l=6Aj(l,p.2zW);g(l)?Z(l,1b(a){p.1Ql=a;g(d.3dE)&&!0===d.3dE&&g(14w)?b.3w.1AG({16h:14w,1aH:1b(){1if(1b(){1d a=1g Wa(p);b.8U.add(a,f);c.5h(a)},1E3)}}):(a=1g Wa(p),b.8U.add(a,f),c.5h(a))}):!0===d.3dE?b.3w.1AG({16h:14w,1aH:1b(){1d a=1g Wa(p);b.8U.add(a,f);c.5h(a)}}):(l=1g Wa(p),b.8U.add(l,f),c.5h(l))},1b(a){c.7N("add 1j4 7r 1bf,"+a)})}).10g(1b(a){c.7N("add 1j4 7r 1bf,"+a)})}1b 5sP(a,b){1b c(a){1f(d?/^\\d+[A-Za-z]*$/:/^\\d+$/).6S(a)}1d d=b&&b.9IO,e=b&&b.9IN;b=["10","1","0","9IM"];a=a.7g(".");if(!b.2el(c)||!a.2el(c))1f 1hO;if(e){1j(;b.1h<a.1h;)b.1q("0");1j(;a.1h<b.1h;)a.1q("0")}d||(b=b.5d(3a),a=a.5d(3a));1j(e=0;e<b.1h;++e){if(a.1h==e)1f 1;if(b[e]!=a[e])1f b[e]>a[e]?1:-1}}1b 5sS(a,b,c){1f Fe(a,c).4b(1b(a){if(!(1>a.1h)){1d c=1p 0;if(g(b)){1j(1d d=0;d<a.1h;d++){1d h=a[d];if(h.2i===b){c=h;1W}}if(!g(c)){11l.7A("no 9IL 4r 9x 1ji!");1f}}1s c=a[0];1f{2i:c.2i,9w:c.9w}}})}1b 5sN(a,b){a+="/9Q.15l";g(Ba.12M)&&(a=Ba.1cl(a));1f Fe(a,b).4b(1b(a){1j(1d b={1j4:[],8v:[],4qu:[],1st:1p 0},c=0,f=a.1h;c<f;c++){1d h=a[c],l=h.9IK;"9IJ"==l?b.1j4.1q(h):"9II"==l?b.8v.1q(h):"9IH"==l?b.1st=h:"9IG"==l&&b.4qu.1q(h)}1f b})}1b LU(a){1f zj(a).4b(1b(a){if(!g(a))1t 1g r("1n 1j4 7r 1nn 1bf,1g3 3n 7w.");1d b=a.1gv,d=b.1fz;a=N.15X(b,"9IF",d);1d e=N.121(b,"9IE",d),f=N.15X(b,"9ID",d),h=N.1Qi(e,"9IC",d),l=N.1Qi(e,"4zP",d),p=N.6B(e,"9IB",d),n=N.6B(e,"9IA",d);n=0==n?3a.6w:n;1d k=N.6B(e,"9Iz",d),w=N.6B(e,"9Iy",d),x=N.15X(e,"5fK",d);e=0;"5SD"==x?e=1:"1zj"==x&&(e=2);x=!1;"5GP"==N.15X(b,"9Ix",d)&&(x=!0);1d m=N.121(b,"18O",d);if(!g(m)){1d t=N.121(b,"9Iw",d);if(g(t)&&(m=N.121(t,"18O",d),!g(m)))1t 1g r("1n 1j4 7r 1nn 1bf,3Pl.1g3 9Iv 7A,7r 2i is "+a);}t=N.6B(m,"9Iu",d);1d q=N.15X(m,"9It",d),G=5sT.1f4(q);q=1g y;if(1F!==G){1d u=7L(G[1]);u=189==u?255:u;1d v=7L(G[2]);v=235==v?255:v;q.5r=B.2Y(u/255,0,1);q.5t=B.2Y(v/255,0,1);q.5G=B.2Y(7L(G[3])%256/255,0,1);q.2O=B.2Y(7L(G[3])%12v/256/255,0,1)}u=N.121(m,"5ft",d);m=1g Vv;if(g(u)){1d A=N.6B(u,"5he",d);v=xg.1nh;"9Is"==A?v=xg.34Z:"9Ir"==A&&(v=xg.3q6);1d Hb=N.6B(u,"9Iq",d);A=N.15X(u,"1MA",d);G=4qv.1f4(A);1d C=1g y;1F!==G&&(C.5r=B.2Y(7L(G[1]),0,1),C.5t=B.2Y(7L(G[2]),0,1),C.5G=B.2Y(7L(G[3]),0,1),C.2O=B.2Y(7L(G[4]),0,1));A=N.15X(u,"9Ip",d);G=4qv.1f4(A);1d K=1g y;1F!==G&&(K.5r=B.2Y(7L(G[1]),0,1),K.5t=B.2Y(7L(G[2]),0,1),K.5G=B.2Y(7L(G[3]),0,1),K.2O=B.2Y(7L(G[4]),0,1));G=N.6B(u,"9Io",d);N.15X(u,"9In",d);B.8I(N.6B(u,"9Im",d));B.8I(N.6B(u,"9Il",d));A=B.8I(N.6B(u,"9Ik",d));m.1sH=q;m.28L=G;m.11a=t;m.19g=C;m.1i7=Hb;m.5TC=K;m.15b=v}t=1p 0;q=N.121(b,"5It",d);g(q)&&(u=N.15X(q,"9Ij",d),"21Q"===u?(t=1g 5gf,u=N.6B(q,"1tU",d),t.1cf("4AO",u),u=N.6B(q,"3W3",d),u=y.28S(u),t.1cf("3W3",u),u=N.6B(q,"3W2",d),u=y.28S(u),t.1cf("3W2",u),u=N.6B(q,"3W1",d),t.1cf("3W1",u),u=N.6B(q,"3W0",d),t.1cf("3W0",u),u=N.6B(q,"3VZ",d),t.1cf("3VZ",u),u=N.6B(q,"3VY",d),t.1cf("3VY",u),u=N.6B(q,"3VX",d),t.1cf("3VX",u),u=N.6B(q,"3VW",d),t.1cf("3VW",u),q=N.6B(q,"3qA",d),t.1cf("3qA",q)):"1T7"===u&&(t=1g bD,u=N.6B(q,"1tU",d),t.1cf("4AK",u),u=N.6B(q,"1aV",d),u=y.28S(u),t.1cf("1aV",u),u=N.6B(q,"1V7",d),t.1cf("1V7",u),u=N.1Qi(q,"3VO",d),t.1cf("3VO",u),u=N.6B(q,"3VS",d),u=y.28S(u),t.1cf("3VS",u),u=N.6B(q,"3VR",d),t.1cf("3VR",u),u=N.6B(q,"3VQ",d),t.1cf("3VQ",u),u=N.1Qi(q,"3VN",d),t.1cf("3VN",u),u=N.6B(q,"3VP",d),t.1cf("3VP",u),u=N.6B(q,"3VU",d),u=y.28S(u),t.1cf("3VU",u),q=N.6B(q,"3VT",d),t.1cf("3VT",q)));q=N.6B(b,"9Ii",d);v=N.121(b,"9Ih",d);u=N.6B(v,"9Ig",d);v=N.6B(v,"9If",d);G=0!==u&&0!==v;1d Fa=N.121(b,"9Ie",d);b=N.6B(Fa,"9Id",d);Hb=N.6B(Fa,"9Ic",d);C=N.6B(Fa,"9Ib",d);K=N.6B(Fa,"9Ia",d);d=N.6B(Fa,"9I9",d);1f{2i:a,2oy:f,2fW:x,1cJ:m,3VF:h,1cA:l,21I:p,21K:n,2oq:k,21J:w,2oz:e,8e:A,27B:q,1bB:{3e:G,13u:u,8H:v},1hG:b,35o:Hb,1lQ:C,1qm:K,1iP:d,1F0:t}})}1b 5sR(a,b){1f Fe(a,b).4b(1b(a){1f a})}1b 4qo(a){1d b=a.4j,c=a.5Y;a.31P?(g(a.1PH)||(a.1PH=b.5U8(),c.18w.5sA=a.1PH),a.1PH.19R=!0,a.31P=!1):g(a.1PH)&&(a.1PH.19R=!1)}1b 4qm(a){if(g(a.1PH)&&a.1PH.19R){1d b=a.4j,c=a.1PH.1yT.10V,d=a.1PH.1yT.10o,e=b.1tG({4Q:a.1PH.1yT.1bA,x:0,y:0,1G:c,1D:d}),f=[],h=[],l=[];a=a.8U.1DL;1j(1d p=0;p<a.1h;p++){1d n=a[p].id,k="26B"+n;l[k]=p;f.1q(k);h[k]=[]}1j(p=0;p<c;p++)1j(1d w=0;w<d;w++)if(n=4*(w*c+p),0!==e[n]||0!==e[n+1]||0!==e[n+2])if(n=y.2xV(e[n],e[n+1],e[n+2],e[n+3]),k=b.2xU(n),g(k)){n=k.9k.id;1d x=k.id;k="26B"+n;n=f.3f(k);0<=n&&(0==h[k].1h?(n=[],n.1q(x),h[k]=n):(n=h[k].3f(x),0>n&&h[k].1q(x)))}b=1L.9K(h);1j(c=0;c<b.1h;c++)p=l[b[c]],d=a[p],n=h[b[c]],0<n.1h&&d.1Ma(n)}}1b 4qn(a){1d b=a.4j,c=b.13m,d=a.5Y,e=d.3w,f=d.18w;d.10s.20O=!0;1j(1d h in f){1d l=f[h];if(g(l)&&l.19R){1d p=d.1lr,n=d.20N,z=d.19c.2i,w=d.19c.3e,x=d.19c.1mc,D=a.2S5.2G;d.19c.2i=h;d.19c.3e=!0;d.19c.1mc=l.1mc;if(l.1mc===Ud.33n){D=a;1d t=D.4j,r=D.5Y,G=l.1jM(r),q=D.1jL;D.1jL=l.1cn;1d u=r.1lr,v=r.20N;r.1lr=l.1lr;r.20N=!1;if(D.1Gi!==Jf.6i)1j(1d A=0;4>A;A++)if(1<<A&l.11h){r.1g4=A;1W}A=D;1d B=G,K=m(D.1a4,y.1a7),C=A.4j,L=B.5q;L.x=0;L.y=0;L.1G=C.8j;L.1D=C.7p;L=A.1Gk;y.1y(K,L.1A);L.5P(C,B);ft(!0,A,B);r.1g4=-1;l.2H(G,D.2LO);r.13l.1h=0;t.1sr();l.9o(r);r.20N=v;r.1lr=u;D.1jL=q}1s{t=e.3j.3I;l.1mc===Ud.3Pf&&(e.3j.3I=1);r=l.1jM(d);G=a.1jL;a.1jL=l.1cn;d.1dj=e.3j.1tM(e.6K,e.18k,e.1je);c.2H(d);q=a.17A;g(q)&&q.3e&&k.11k(c.3tI,a.2S5.2G);u=d.1fv.3nj;v=d.1fv.3ni;A=d.1fv.3nh;d.1lr=l.1lr;d.20N=(0<(l.1lr&6)?!0:!1)||l.1lr&1&&l.4Hb;if(a.1Gi!==Jf.6i)1j(B=0;4>B;B++)if(1<<B&l.11h){d.1g4=B;1W}vn(a);Iq(a,r,m(a.1a4,y.1a7),!0);d.1g4=-1;B=a.1WG;1<b.2fa&&B.1KJ?(B=a.1by.1aT,B.2ny(b,!1,!0,!1),l.2H(b,r,B.33r)):l.2H(b,r,r.4Q);Vo(a,r);d.13l.1h=0;b.1sr();4qO(a);l.9o(d);g(q)&&q.3e&&-1!==d.19c.2i.3f("3JP")&&(a.2S5.2G=D);"1Ge"==d.19c.2i&&(e.3j.3I=t);a.1jL=G;d.1dj=e.3j.1tM(e.6K,e.18k,e.1je);c.2H(d);g(q)&&q.3e&&k.11k(c.3tI,a.2S5.2G);d.1fv.3nj=u;d.1fv.3ni=v;d.1fv.3nh=A}d.19c.2i=z;d.19c.3e=w;d.19c.1mc=x;d.20N=n;d.1lr=p}}d.10s.20O=!1}1b 53b(a,b){1d c=a.4j,d=c.13m,e=a.5Y,f=e.3w,h=a.17A.3e,l=e.1fv.2mN;e.10s.20O=!0;a.17A.3e=!1;e.1fv.2mN=!1;1d g=e.1lr,n=e.20N,k=e.19c.2i,w=e.19c.3e,x=e.19c.1mc;e.19c.3e=!0;e.19c.1mc=b.1mc;1d D=b.1jM(e),t=a.1jL;a.1jL=b.1cn;e.1dj=f.3j.1tM(f.6K,f.18k,f.1je);d.2H(e);e.1lr=b.1lr;e.20N=(0<(b.1lr&6)?!0:!1)||b.1lr&1&&b.4Hb;vn(a);Iq(a,D,m(a.1a4,y.1a7),!0);1d r=a.1WG;1<c.2fa&&r.1KJ?(r=a.1by.1aT,r.2ny(c,!1,!0,!1),b.2H(c,D,r.33r)):b.2H(c,D,D.4Q);Vo(a,D);e.13l.1h=0;c.1sr();b.9o(e);a.1jL=t;e.1dj=f.3j.1tM(f.6K,f.18k,f.1je);d.2H(e);e.19c.2i=k;e.19c.3e=w;e.19c.1mc=x;e.20N=n;e.1lr=g;e.10s.20O=!1;a.17A.3e=h;e.1fv.2mN=l}1b 6Ai(a){1d b=a.4j.13m;if(a.5tO){1d c=a.3Ph;g(c)||(c=a.3Ph=1g lg(a.1O),c.1cn.1oA=!0,c.1cn.1kr=!0,c.19R=!0,c.1vK=1b(){1d b=a.9Q.2JY(),c=b.2JO();b.2g1(c,!1)},c.1vJ=1b(){1d b=a.9Q.2JY(),c=b.2JO();b.2g1(c,!0)});53b(a,c);b.4Tg=c.8X;c=a.3Pg;g(c)||(c=a.3Pg=1g bn(a.1O),c.1cn.1oA=!0,c.1cn.2mE=!0,c.1cn.1kr=!1,c.19R=!0,c.1vK=1b(){1j(1d b=a.9Q.2JY(),c=0,d=a.9Q.1DL.1h;c<d;c++){1d l=a.9Q.1DL[c];l.id!==b.id&&(l.13z=!1)}c=b.2JO();b.2xN(c,!0)},c.1vJ=1b(){1d b=a.9Q.2JY();b.2JO();1j(1d c=0,d=a.9Q.1DL.1h;c<d;c++){1d l=a.9Q.1DL[c];l.id!==b.id&&(l.13z=!0)}b.2xN([],!1)});a.326=!0;1d d=a.1a4;a.1a4=y.1y(y.9r);53b(a,c);a.1a4=d;a.326=!1;b.3QJ=c.1yT.1bA.167(0)}1s b.4Tg=1p 0,b.3QJ=1p 0}1b 5sV(a,b,c,d){1d e=Z.12L();if(1===b)1d f=b=a;1s b=a+"/4qw.15l",f=a+"/4qw.15l";g(Ba.12M)&&(b=Ba.1cl(b),f=Ba.1cl(f));Fe(b,c).4b(1b(a){1d b=3a(a.6Ah);a=6Ag(3a(a.1ps),9I8,9I7);b={6Ah:b.5s(),1ps:a.5s()};1d d=1g 1J3;d.1pj("4lK",f,!0);d.30p=1b(){if(4===d.2Ie)if(200===d.1hM||201===d.1hM){1d a={};10G{a=4H.5N(d.1pa)}11B(w){-1!==(d.1pa||d.2ME).5s().3f("9I6 : 8O")&&(a.3uj=!0)}!0===a.3uj?e.5h(!0):e.7N(!1)}1s e.7N(!1)};if(g(c))1j(1d h in c)c.3p(h)&&d.4YU(h,c[h]);d.26m(4H.8s(b))},1b(a){e.7N({1hM:!1,2I:d})}).10g(1b(){e.7N({1hM:!1,2I:d})});1f e.10l}1b 6Ag(a,b,c){a=1g Bz(a);b=1g Bz(b);1j(1d d=1g Bz(1),e=1g Bz(2),f=1g Bz(1);0<b.2yh();)0===b.13R(e).2yh()?(b=b.5uh(e),a=a.4rm(a).13R(c)):(b=b.2yi(f),d=d.4rm(a).13R(c));1f d.2yh()}1b 6Af(a,b,c){if(!(c.10s.20O||c.10s.4e||c.10s.20O.11P)){a=a.1ck.1DL;1j(1d d=0,e=a.1h;d<e;d++){1d f=a[d];f 2m Xf&&f.3mt(b,c)}}}1b jw(a){a=m(a,ba.9y);1a.2p=!0;1a.5W=a;1a.10u=1g Oa({7H:1a});1a.2JK=1a.2JL=1a.31H=1a.31I=1p 0;1a.31K=1a.31L=0;1a.31J=.4;1a.2O=1;1a.3Ba=1g k;1d b=1g E;b.w=0;b.y=k.1xj(k.4g(a.10N,1.2ku,1g k));b.z=a.17i;1a.3m8=b;1d c=1a;1a.10u.4J={1aW:1b(){1f c.3m8},1p9:1b(){c.3Ba.x=c.31L;c.3Ba.y=c.31K;c.3Ba.z=c.31J;1f c.3Ba},2UQ:1b(){1f c.2O}}}1b GD(a){1a.5p=a.5p;1a.3Pe=1p 0;1a.2p=m(a.2p,!0);1a.10u=1g Oa({4a:A.1y(A.8K),7H:1a});1a.20q=1a.12m=1a.1PG=1p 0;1a.2O=1}1b OK(){}1b Cz(){1a.2p=!0;1a.1bx=1g Oa({6Z:Ja.11G,6W:1g P,7H:1a});1a.1pu={1Vz:1a.1bx,2xH:1p 0};1a.11S=1g P;1a.1B1=1g P;1a.1eC=1a.4qe=1a.4qg=1a.4qh=1a.10q=1p 0;1a.5sv=1;1a.3Pd=!1;1a.20q=1p 0;1d a=1a;1a.1cH={16S:1b(){1f a.10q},1Cx:1b(){1f a.1eC}}}1b PK(a){a=m(a,{});1a.20o=m(a.3Pb,Ea.2xG);1a.10z=m(a.2I,Qh[1a.20o]);1a.536=a.1pI;1a.8L=m(a.7r,Rh[1a.20o]);1a.14N=m(a.2r,"4T");1a.4cs=m(a.4cv,Sh[1a.20o]);1a.4ct=m(a.6Ae,oh[1a.20o]);1a.1JH=m(a.8V,Th[1a.20o]);1a.4cu=Uh[1a.20o];"1PF"==1a.4cu?1a.6C=1g Le:"26V"==1a.4cu&&(1a.6C=1g gd);1a.14Q=m(a.16K,256);1a.16J=m(a.17g,256);1a.1jK=m(a.16i,0);1a.17G=m(a.16j,oh[1a.20o].1h);1a.7T=m(a.3g,1a.6C.3g);1a.7S=Z.5h(!0);1a.14P=1g sa;1d b=a.9L;1a.1dh="4n"===2h b?1g Zb(b):b;1a.1tQ=m(a.3ps,"t0 t1 t2 t3 t4 t5 t6 t7".7g(" "));1a.1nm=a.19b;1d c=1a;a=1a.10z;c.13Y=1a.10z;(1g Dh({2i:a})).4b(1b(a){a.1PU(c.13Y)?c.12Y=a:a.1Uc(c.13Y).4b(1b(){c.12Y=a})});c.17F={1dF:!1,9P:1b(){c.12Y.9P(c.13Y)},1au:[]}}1b 5sr(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d}1b 5ss(a,b,c,d){"1PF"==a.4cu&&--d;1d e=a.4ct;e=g(e)?e[d]:d.5s();1d f=a.1tQ;d=a.10z.3X("[1DF]",f[(b+c+d)%f.1h]);d=1g zb(d);f=nj(m(d.16H,""));f=fb(5sq,f);f.53a=e;f.7r=a.8L;f.2r=a.14N;f.538=c;f.537=b;f.3B9=a.4cs;f.8V=a.1JH;d.16H=Kg(f);d=d.5s();b=a.49m;g(b)&&(d=b.3z4(d));g(a.536)&&(d+="&tk="+a.536);1f d}1b Dz(){}1b Ez(a){a=m(a,m.4Z);1a.6C=g(a.8c)?a.8c:1g gd({3c:a.3c});1a.7a=m(a.1A,y.1Zs);1a.14P=1g sa;1a.14Q=m(a.16K,256);1a.16J=m(a.17g,256);1a.7S=Z.5h(!0)}1b MU(a){r.8i()}1b Kq(a){a=m(a,m.4Z);v.1N.2c("3v.14c",a.14c);v.1N.2c("3v.1oR",a.1oR);1a.2p=m(a.2p,!0);1a.4a=A.1y(m(a.4a,A.8K));1a.6x=m(a.6x,ed.2hT);1a.2Jp=m(a.2Jp,256);1a.2xE=1g sv(a.2xE);1a.2r=a.2r;1a.532=1g sa;1a.4q6=1g sa;1a.1aG=a.14c;1a.18S=a.1oR;1a.1cX=1p 0;1a.1cj=a.1cj;1a.20m=1g ds;1a.26U=1p 0;1a.26T=0;1a.1TS=!1;1a.16I=1p 0;1a.31B=0;1a.3dD=[];1a.2mv=1a.4q4=1a.4q5=1p 0;1a.4q8=0;1a.7S=Z.12L();1a.3B8=1a.3m1=1a.4cr=0;1a.3B7=Ic(2K(5),0);1a.4q9=0}1b 6Ad(a){1f"2n 1m 1Hn;\\n"+a}1b 6Ac(a){1f 1b(b){1f fb(b,{1Hn:1b(){1f a.16I.1A}})}}1b 6Ab(){1f"1Hn"}1b NU(a){a=a.1aG;1d b=a.16W;1f a.1Tg&&a.1tv?b:0}1b 5s1(a,b){1d c=a.18S,d=a.1aG,e=NU(a);if(0!==e){1d f=a.5s8();d=M.190(d.1a2,f*e,5s7);d=c.3f(d);a=a.18S.3f(b.4I);d===a&&(0<=e?++d:--d);1f c.1n(d)}}1b 5s3(a){1d b=a.18S;a=b.3f(a.1aG.1a2);1f b.1n(a)}1b 5s2(a,b,c){1d d=NU(a);b=a.18S.3f(b.4I);a=a.18S.3f(c.4I);1f 0<=d?b>=a:b<=a}1b 6Aa(a,b){1f 1b(c){c=g(c.19s)?c.19s:c.5s();0<a.532.2mw?a.532.5k({1dr:b,19s:c}):(11l.7k("A 3Mc 1bf to 1e4: "+b),11l.7k("6u: "+c))}}1b 6A9(a,b,c){1d d=a.18S.3f(b.4I),e=a.3dD,f=e[d];if(!g(f)){1d h=b.2g.5o;h=g(h)?A.7j(h):1p 0;b=b.2g.1dr;f={2ew:1p 0,5o:h,49X:Kd(),531:!0,3o:!1,3B6:c.1gA};e[d]=f;na.1kw({2I:b}).4b(1b(b){f.2ew=1g pv({15U:b,8d:!0,2Fh:6Ad,2iU:6Ac(a),2iT:6Ab});1f f.2ew.9c}).10g(6Aa(a,b))}1f f}1b 4q7(a,b,c,d){1d e=m(a.2xE,5s5),f=b.2ew,h=m(b.5o,A.8K);f.4a=A.1oJ(a.4a,h,5s6);f.2r=a.2r;f.6q=c.31C;f.6x=a.6x;f.1cj=a.1cX;f.26S=c.26S;f.1iM=e.1iM;f.1JB=e.1JB;f.1Uo=e.1Uo;c=a.2xE;c=g(c)&&g(c.1Ph)?c.1Ph:g(f.7u)?B.3x5(f.7u.2M2()/f.1Eb):0;f.1Rj=c;f.1J0=e.1J0;a=a.2xE;a=g(a)&&g(a.1yB)?a.1yB:10;f.1yB=a;f.2H(d);b.3B6=d.1gA}1b OU(a,b,c,d){b=6A9(a,b,d);b.3B6<d.1gA-1&&(b.531=!1);1d e=b.2ew;if(g(e)&&!b.3o){1d f=d.13l,h=f.1h;4q7(a,b,c,d);e.3o&&(b.3o=!0,a.31B+=e.1iC,f.1h=h,b.531&&(c=(Kd()-b.49X)/1E3,a.4cr+=c,a.4cr-=a.3B7[a.3B8],a.3B7[a.3B8]=c,a.3m1=1k.2o(a.3m1+1,a.3B7.1h),a.3B8=(a.3B8+1)%a.3B7.1h,a.4q9=a.4cr/a.3m1))}b.3B6=d.1gA}1b 5rY(a){1f 1b(b){1f b.3B6<a.1gA}}1b 4q3(a,b){1j(1d c=a.3dD,d=c.1h,e=0;e<d;++e){1d f=c[e];if(g(f)&&(!g(b)||b(f))){1d h=f.2ew;f.3o&&(a.31B-=h.1iC);g(h)&&h.1M();f===a.2mv&&(a.2mv=1p 0);c[e]=1p 0}}}1b 5rZ(a,b){b=a.18S.3f(b.4I);a=a.3dD[b];if(g(a)&&a.3o)1f a}1b 52Z(a,b,c,d,e){if(g(c)){if(c.3o)1f!0;OU(a,b,d,e);1f c.3o}1f!1}1b 5s0(a,b,c,d,e){1d f=a.18S,h=a.3dD;1d l=a.18S.3f(c.4I);c=a.18S.3f(b.4I);if(l>=c)1j(;l>=c;--l){1d g=f.1n(l);1d n=h[l];if(52Z(a,g,n,d,e))1f g}1s 1j(;l<=c;++l)if(g=f.1n(l),n=h[l],52Z(a,g,n,d,e))1f g;1f b}1b 5s4(a,b,c){a=a.3dD;1j(1d d=a.1h,e=0;e<d;++e){1d f=a[e];g(f)&&g(f.2ew)&&(f.2ew.1TT=b,f.2ew.3x6=c)}}1b QK(a,b){1a.2p=!0;g(a)||(a=1g Aa);1a.3g=Aa.1y(a);g(b)||(b=va.1kk(va.1oL,{1A:1g y(1,1,1,1)}));1a.2q=b;1a.1gz=1a.20l=1a.17u=1p 0}1b 4pk(a,b){if(!a)1t 6u("1M3 1Jf ko.1uX, 18g 2Q 6t an 2c as 1Z 1lf 2eu.");1d c=1a,d=52W(a,!0);b=b||1L.6A8(a);b.12I(1b(b){if("52Y"!==b&&"52X"!==b&&!(b in d)){1d e=a[b],h=e 2m 2K;e=c.5ry(e)?e:h?c.3P4(e):c.19H(e);1L.12U(a,b,{1Pl:!0,3lC:!0,1n:e,1C:c.5rx(e)?e:1p 0});d[b]=e;h&&6A7(c,e)}});1f a}1b 52W(a,b){1d c=a.52Y;!c&&b&&(c={},1L.12U(a,"52Y",{1Q:c}));1f c}1b $Da(a,b,c){1d d={7H:a,4pT:!0};if("1b"===2h c)d.1dD=c;1s{if("1Q"in c)1t 6u(\'22p ko.12U, 18g 2Q 2S 2mt a "1Q" 1j 1Z 5i. 2mr 2Q 3qW a "1n" 1b.\');if("1b"!==2h c.1n)1t 6u(\'22p ko.12U, 1Z 5K7 2eu 2Q be 1X3 an 9I5 1b, or an 3v 2c 60l a 1b 7I "1n".\');d.1dD=c.1n;d.1G2=c.1C}a[b]=1a.1AY(d);4pk.4G(1a,a,[b]);1f a}1b 6A7(a,b){1d c=1F;a.1AY(1b(){c&&(c.1n6(),c=1F);1d d=b();if(d 2m 2K){1d e=d.52X;if(!e){e=1g a.4pX;1L.12U(d,"52X",{1Q:e});1d f={};6A6(d,e,f);6A5(a,d,e,f)}c=e.1bW(b)}})}1b 6A6(a,b,c){"9l 1q 1e1 1hN 15F 6z 1po".7g(" ").12I(1b(d){1d e=a[d];a[d]=1b(){1d a=e.6c(1a,5m);!0!==c.1TN&&b.1x0(1a);1f a}})}1b 6A5(a,b,c,d){["3S","7f","1M","5rv","3X"].12I(1b(e){1L.12U(b,e,{3lC:!1,1Q:1b(){d.1TN=!0;10G{1d f=a.3P4.fn[e].6c(a.3P4(b),5m)}2mn{d.1TN=!1}c.1x0(b);1f f}})})}1b 4pj(a,b){1f a?(a=52W(a,!1))&&a[b]||1F:1F}1b 5qv(a,b){(a=4pj(a,b))&&a.4pi()}1b sf(a){1a.14q=1aq.2q0&&1aq.2q0(a)?a:1g 4L(a||0);1a.1I=1a.3h=0;1a.1h=1a.14q.1h}1b 5pJ(a,b,c){1d d=c.14q;1d e=d[c.3h++];1d f=(e&112)>>4;if(128>e)1f Fz(a,f,b);e=d[c.3h++];f|=(e&127)<<3;if(128>e)1f Fz(a,f,b);e=d[c.3h++];f|=(e&127)<<10;if(128>e)1f Fz(a,f,b);e=d[c.3h++];f|=(e&127)<<17;if(128>e)1f Fz(a,f,b);e=d[c.3h++];f|=(e&127)<<24;if(128>e)1f Fz(a,f,b);e=d[c.3h++];if(128>e)1f Fz(a,f|(e&1)<<31,b);1t 6u("19P 4oW 2S 1v5 6L 10 1tC");}1b Lq(a){1f a.1I===sf.31j?a.1ez()+a.3h:a.3h+1}1b Fz(a,b,c){1f c?1AW*b+(a>>>0):1AW*(b>>>0)+(a>>>0)}1b 4oV(a,b,c){b=5PF>=b?1:5uj>=b?2:5pE>=b?3:1k.8a(1k.7k(b)/(7*1k.1ZN));c.20d(b);1j(1d d=c.3h-1;d>=a;d--)c.14q[d+b]=c.14q[d]}1b 5pz(a,b){1j(1d c=0;c<a.1h;c++)b.2mg(a[c])}1b 5py(a,b){1j(1d c=0;c<a.1h;c++)b.4oQ(a[c])}1b 5pv(a,b){1j(1d c=0;c<a.1h;c++)b.4oP(a[c])}1b 5pu(a,b){1j(1d c=0;c<a.1h;c++)b.4oO(a[c])}1b 5pw(a,b){1j(1d c=0;c<a.1h;c++)b.5pC(a[c])}1b 5pt(a,b){1j(1d c=0;c<a.1h;c++)b.4oU(a[c])}1b 5ps(a,b){1j(1d c=0;c<a.1h;c++)b.4oT(a[c])}1b 5pr(a,b){1j(1d c=0;c<a.1h;c++)b.4oS(a[c])}1b 5pq(a,b){1j(1d c=0;c<a.1h;c++)b.4oR(a[c])}1b RK(a,b){1f(a[b]|a[b+1]<<8|a[b+2]<<16)+1C6*a[b+3]}1b Gz(a,b,c){a[c]=b;a[c+1]=b>>>8;a[c+2]=b>>>16;a[c+3]=b>>>24}1b 4oY(a,b){1f(a[b]|a[b+1]<<8|a[b+2]<<16)+(a[b+3]<<24)}1b u(){}1b Hz(a){g(a)||(a=1g Cu);1a.1aG=a;1a.1n5=1g xj;1a.1n5.add(a.1yw,1a.2e3,1a);1a.3kB=ta.19H(M.14H());1a.3kB.2ev=M.2L;1a.18M=ta.19H(a.18M);1a.18M.2ev=M.2L;1a.18M.1bW(1b(b){a.18M=b;1a.2e3()},1a);1a.1cU=ta.19H(a.1cU);1a.1cU.2ev=M.2L;1a.1cU.1bW(1b(b){a.1cU=b;1a.2e3()},1a);1a.1a2=ta.19H(a.1a2);1a.1a2.2ev=M.2L;1a.1a2.1bW(1b(b){a.1a2=b;1a.2e3()},1a);1a.16W=ta.19H(a.16W);1a.16W.1bW(1b(b){a.16W=b;1a.2e3()},1a);1a.1j6=ta.19H(a.1j6);1a.1j6.1bW(1b(b){a.1j6=b;1a.2e3()},1a);1a.1le=ta.19H(a.1le);1a.1le.1bW(1b(b){a.1le=b;1a.2e3()},1a);1a.1Tg=ta.19H(a.1Tg);1a.1Tg.1bW(1b(b){a.1Tg=b;1a.2e3()},1a);1a.1tv=ta.19H(a.1tv);1a.1tv.1bW(1b(b){a.1tv=b;1a.2e3()},1a);ta.1uX(1a,"3kB 18M 1cU 1a2 16W 1j6 1le 1Tg 1tv".7g(" "))}1b bd(a,b){1b c(){if(!c.1Dn)1t 1g r("1e6 5P 14Z, 1Dn is 16f.");1d b={1kF:5m,1hm:!1};d.5k(b);if(!b.1hm){1d h=a.6c(1F,5m);e.5k(h)}1f h}if(!g(a))1t 1g r("14R is 1X.");b=m(b,!0);1d d=1g sa,e=1g sa;c.1Dn=b;ta.1uX(c,["1Dn"]);1L.2X(c,{3L6:{1Q:d},4j3:{1Q:e}});1f c}1b Vk(a,b,c,d,e){c.4G(d,a[b]);1f ta.1sf(a,b).1bW(c,d,e)}1b Iz(a,b){if(!g(a))1t 1g r("14Z is 1X.");1a.10u=a;b=m(b,m.4Z);1a.2rY=m(b.2rY,!1);1a.1d6=m(b.1d6,"");ta.1uX(1a,["2rY","1d6"])}1b Xj(a,b,c){1d d=1a.2wX=[];if(a 2m 1aq){1a.15U=a;1d e=1g 1fZ(1a.15U);a=e[0];b=e[1];c=e[2];1a.d=b+2*c;1j(1d f=0;f<1a.d*1a.d;f++){1d h=e[3+f],l=e[3+f+1];d.1q(h===l?1F:e.1hl(h,l))}f=e[3+d.1h+1];1a.9K=e.1hl(e[3+d.1h],f);1a.2m0=e.1hl(f);1a.1v1=1a.5nb}1s{1a.d=b+2*c;1j(e=0;e<1a.d*1a.d;e++)d.1q([]);1a.9K=[];1a.2m0=[]}1a.n=b;1a.7l=a;1a.1fT=c;1a.3b=b/a;1a.5nc=0;b=c/b*a;1a.2o=-b;1a.1V=a+b}1b 5n5(a){1j(1d b=12g,c=12g,d=-12g,e=-12g,f=0;f<a.1h;f+=1){1d h=a[f];b=1k.2o(b,h.x);c=1k.2o(c,h.y);d=1k.1V(d,h.x);e=1k.1V(e,h.y)}1f{1cW:b,1cV:c,1ey:d,1ex:e}}1b 5n4(a,b){1f b-a}1b 4mr(a,b,c,d){1d e=b.1G;b=b.1D;if(!d)d=1g 4L(e*b*c);1s if(d 2m 2OB)d=1g 4L(d.3J);1s if(d.1h!==e*b*c)1t 1g 2EC("6A4 4d 4V");a.1G=e;a.1D=b;a.2g=d;1f a}1b 4mq(a,b,c,d,e,f){if(0===e.1G||0===e.1D)1f b;if(e.1G>a.1G||e.1D>a.1D||c.x>a.1G-e.1G||c.y>a.1D-e.1D)1t 1g 2EC("9H of 11D 5j 9R 1j 4d 1hI");if(e.1G>b.1G||e.1D>b.1D||d.x>b.1G-e.1G||d.y>b.1D-e.1D)1t 1g 2EC("9H of 11D 16h 9R 1j 4d 1hI");1j(1d h=a.2g,l=b.2g,g=0;g<e.1D;g++)1j(1d n=((c.y+g)*a.1G+c.x)*f,k=((d.y+g)*b.1G+d.x)*f,w=0;w<e.1G*f;w++)l[k+w]=h[n+w];1f b}1b 5mX(a){1d b=[],c;1j(c in a)b.1q(a[c]);1f b}1b PU(a,b,c,d,e){if(1p 0===b.1S0)1f!0;1d f=b;b=b.1S0+1;1j(1d h=0;h>-c/2;){b--;if(0>b)1f!1;h-=a[b].6Y(f);f=a[b]}h+=a[b].6Y(a[b+1]);b++;f=[];1j(1d l=0;h<c/2;){1d g=a[b],n=a[b+1];if(!n)1f!1;1d k=a[b-1].3kh(g)-g.3kh(n);k=1k.abs((k+3*1k.PI)%(2*1k.PI)-1k.PI);f.1q({3s:h,6A3:k});1j(l+=k;h-f[0].3s>d;)l-=f.1hN().6A3;if(l>e)1f!1;b++;h+=g.6Y(n)}1f!0}1b 4fD(a,b,c,d,e){1j(1d f=[],h=0;h<a.1h;h++)1j(1d l=a[h],g=1p 0,n=0;n<l.1h-1;n++){1d k=l[n],w=l[n+1];k.x<b&&w.x<b||(k.x<b?k=(1g Yc(b,k.y+(b-k.x)/(w.x-k.x)*(w.y-k.y))).1LS():w.x<b&&(w=(1g Yc(b,k.y+(b-k.x)/(w.x-k.x)*(w.y-k.y))).1LS()),k.y<c&&w.y<c||(k.y<c?k=(1g Yc(k.x+(c-k.y)/(w.y-k.y)*(w.x-k.x),c)).1LS():w.y<c&&(w=(1g Yc(k.x+(c-k.y)/(w.y-k.y)*(w.x-k.x),c)).1LS()),k.x>=d&&w.x>=d||(k.x>=d?k=(1g Yc(d,k.y+(d-k.x)/(w.x-k.x)*(w.y-k.y))).1LS():w.x>=d&&(w=(1g Yc(d,k.y+(d-k.x)/(w.x-k.x)*(w.y-k.y))).1LS()),k.y>=e&&w.y>=e||(k.y>=e?k=(1g Yc(k.x+(e-k.y)/(w.y-k.y)*(w.x-k.x),e)).1LS():w.y>=e&&(w=(1g Yc(k.x+(e-k.y)/(w.y-k.y)*(w.x-k.x),e)).1LS()),g&&k.2L(g[g.1h-1])||(g=[k],f.1q(g)),g.1q(w)))))}1f f}1b 4mf(a){1j(1d b=0,c=0;c<a.1h-1;c++)b+=a[c].6Y(a[c+1]);1f b}1b 4me(a,b,c,d,e,f,h,l,g){1d p=f/2,k=4mf(a),w=0;b-=c;1j(1d x=[],m=0;m<a.1h-1;m++){1j(1d t=a[m],r=a[m+1],G=t.6Y(r),q=r.3kh(t);b+c<w+G;){b+=c;1d u=(b-w)/G,v=2b(t.x,r.x,u);u=2b(t.y,r.y,u);0<=v&&v<g&&0<=u&&u<g&&0<=b-p&&b+p<=k&&(v=1g kw(v,u,q,m),v.1LS(),d&&!PU(a,v,f,d,e)||x.1q(v))}w+=G}l||x.1h||h||(x=4me(a,w/2,c,d,e,f,h,!0,g));1f x}1b 4m9(a,b,c,d,e,f){1d h=a.x1,l=a.x2,g=a.y1,n=a.y2,k=a.1Tv;a=a.1Tu;b=1g Yc(b,c);d&&b.1si(e?f:-f);1f{x1:h+b.x,y1:g+b.y,x2:l+b.x,y2:n+b.y,1Tv:k,1Tu:a}}1b SK(a,b,c){1j(1d d=0,e=0;e<a.1h;e+=1){1d f=a[e];d+=1k.1V(b,1k.2o(c,f[1]))-1k.1V(b,1k.2o(c,f[0]))}1f d}1b 4m4(a,b,c){1j(1d d=[{1J7:-1,1qv:0}],e=0;e<a.1h;e+=1){1d f=a[e],h=f[0];f=f[1];1d l=d[d.1h-1];d.1q({1J7:h-l.1qv,1qv:l.1qv});d.1q({1J7:h-l.1qv,1qv:l.1qv+(f-h)})}d.1q({1J7:b+1,1qv:c});1f d}1b 4fw(a,b,c){1p 0===b&&(b=1);1p 0===c&&(c=!1);1j(1d d=12g,e=12g,f=-12g,h=-12g,l=a[0],g=0;g<l.1h;g++){1d n=l[g];if(!g||n.x<d)d=n.x;if(!g||n.y<e)e=n.y;if(!g||n.x>f)f=n.x;if(!g||n.y>h)h=n.y}n=1k.2o(f-d,h-e);g=n/2;l=1g 9I4([],6A1);if(0===n)1f 1g Yc(d,e);1j(;d<f;d+=n)1j(1d k=e;k<h;k+=n)l.1q(1g Jz(d+g,k+g,g,a));h=f=e=0;g=a[0];d=0;n=g.1h;1j(1d w=n-1;d<n;w=d++){k=g[d];w=g[w];1d x=k.x*w.y-w.x*k.y;f+=(k.x+w.x)*x;h+=(k.y+w.y)*x;e+=3*x}e=1g Jz(f/e,h/e,0,a);1j(f=l.1h;l.1h;){h=l.9l();if(h.d>e.d||!e.d)e=h,c&&11l.7k("1ji 4M7 %d 1eB %d 6A2",1k.9p(1E4*h.d)/1E4,f);h.1V-e.d<=b||(g=h.h/2,l.1q(1g Jz(h.p.x-g,h.p.y-g,g,a)),l.1q(1g Jz(h.p.x+g,h.p.y-g,g,a)),l.1q(1g Jz(h.p.x-g,h.p.y+g,g,a)),l.1q(1g Jz(h.p.x+g,h.p.y+g,g,a)),f+=4)}c&&(11l.7k("9I3 6A2: "+f),11l.7k("4M7 3s: "+e.d));1f e.p}1b 6A1(a,b){1f b.1V-a.1V}1b Jz(a,b,c,d){1a.p=1g Yc(a,b);1a.h=c;a=1a.p;b=!1;c=12g;1j(1d e=0;e<d.1h;e++)1j(1d f=d[e],h=0,l=f.1h,g=l-1;h<l;g=h++){1d n=f[h];g=f[g];n.y>a.y!==g.y>a.y&&a.x<(g.x-n.x)*(a.y-n.y)/(g.y-n.y)+n.x&&(b=!b);c=1k.2o(c,hn.4DJ(a,n,g))}1a.d=(b?1:-1)*1k.3Y(c);1a.1V=1a.d+1a.h*1k.9I2}1b 5me(a,b,c,d,e,f,h,l,g,n){1d p=f.5mm.3x(b,{});1p 0===p&&(p=h);1d k=a.9Q[0].11e,x=k.1n("6O-2M").3x(b,{}),m=4lU(c.1ia),t=h/24,r=a.2Ii*t;p=a.2Ii*p/24;1d G=a.2Ii*l;h=a.2Ii*k.1n("1ap-1Im");1d q=k.1n("3l-1fT")*a.2Ii,u=k.1n("6O-1fT")*a.2Ii;l=k.1n("3l-1V-8f")/180*1k.PI;1d v="5d"===k.1n("3l-5S-1ew")&&"7v"!==k.1n("1ap-1fJ"),y="5d"===k.1n("6O-5S-1ew")&&"7v"!==k.1n("1ap-1fJ"),A=k.1n("1ap-1fJ"),B=h/2,C=k.1n("6O-3l-1TM"),L;d&&"1bs"!==C&&(a.2wP&&c.1km&&(L=tf.4Ki(d,c.1km,C,k.1n("6O-3l-1TM-1fT"),x,t)),m&&(d=tf.4Ki(d,m,C,k.1n("6O-3l-1TM-1fT"),x,t)));k=1b(h,l){0>l.x||1c8<=l.x||0>l.y||1c8<=l.y||6A0(a,l,h,c,d,e,L,a.9Q[0],a.1VO,b.2P,b.1AN,a.2P,r,q,v,g,G,u,y,x,b,f,n)};if("6D"===A)1j(t=0,A=4fD(b.3y,0,0,1c8,1c8);t<A.1h;t+=1){C=A[t];1j(1d S=0,U=HD.5mz(C,h,l,c.1km||m,d,24,p,a.1J6,1c8);S<U.1h;S+=1){1d R=U[S],V=m;V&&6zX(a,V.3l,B,R)||k(C,R)}}1s if("6D-2V"===A)1j(h=0,B=b.3y;h<B.1h;h+=1)t=B[h],1<t.1h&&(A=HD.5mA(t,l,c.1km||m,d,24,p))&&k(t,A);1s if("14x"===b.1I)1j(m=0,p=ZS(b.3y,0);m<p.1h;m+=1)l=p[m],h=4fw(l,16),k(l[0],1g kw(h.x,h.y,0));1s if("1b1"===b.1I)1j(m=0,p=b.3y;m<p.1h;m+=1)l=p[m],k(l,1g kw(l[0].x,l[0].y,0));1s if("18H"===b.1I)1j(m=0,p=b.3y;m<p.1h;m+=1)1j(l=0,h=p[m];l<h.1h;l+=1)B=h[l],k([B],1g kw(B.x,B.y,0))}1b 52V(a,b,c,d,e,f,h,l,g,n,k,w,x,m){c=Kz.5mq(b,c,l,e,f,h,d,a.2wP);d=a.3MS;1d p=1F;"5j"===d.5x?(p=[128*e.11e.1n("3l-4V").3x(h,{})],p[0]>Lz&&11l.7k(a.2lZ[0]+\': 3uk 1j "3l-4V" is >= \'+ID+\'. 4cq 1DE "3l-4V".\')):"1sh"===d.5x&&(p=[128*m.4lY[0].3x(h,{}),128*m.4lY[1].3x(h,{})],(p[0]>Lz||p[1]>Lz)&&11l.7k(a.2lZ[0]+\': 3uk 1j "3l-4V" is >= \'+ID+\'. 4cq 1DE "3l-4V".\'));a.42q(a.3l,c,p,l,f,h,n,b,g.3uB,g.38P,x);1j(b=0;b<k.1h;b+=1)w[k[b]]=a.3l.38O.1h-1;1f 4*c.1h}1b 4lU(a){1j(1d b in a)1f a[b];1f 1F}1b 6A0(a,b,c,d,e,f,h,l,g,n,k,w,x,m,t,r,G,q,u,v,y,A,B){1d p=a.5YI(b,c),z,D=0,oa=0,aa=0,ka=0,Ub=-1,Hb=-1,K={},C=6zZ(""),lb=0;1d E=0;1p 0===l.26p.3K("3l-2Ig-2M")?(E=l.11e.1n("3l-2M").3x(y,{}).5d(1b(a){1f 24*a}),lb=E[0],E=E[1]):(lb=24*l.11e.1n("3l-2Ig-2M").3x(y,{}),E=QU);if(a.2wP&&d.1km){1d F=l.11e.1n("3l-17b").3x(y,{})+90;1d Ob=1g Mz(g,c,b,n,k,w,d.1km,x,m,t,a.1J6,F);h&&(z=1g Mz(g,c,b,n,k,w,h,G,q,t,a.1J6,F))}if(e){D=l.11e.1n("6O-17b").3x(y,{});1d vd="1bs"!==l.11e.1n("6O-3l-1TM");Ub=Kz.4m5(e,D,B,vd);h=h?Kz.4m5(h,D,B,vd):1p 0;vd=1g Mz(g,c,b,n,k,w,e,G,q,!1,a.1J6,D);D=4*Ub.1h;G=a.3MR;e=1F;"5j"===G.5x?(e=[128*l.11e.1n("6O-4V").3x(y,{})],e[0]>Lz&&11l.7k(a.2lZ[0]+\': 3uk 1j "6O-4V" is >= \'+ID+\'. 4cq 1DE "6O-4V".\')):"1sh"===G.5x&&(e=[128*A.4lX[0].3x(y,{}),128*A.4lX[1].3x(y,{})],(e[0]>Lz||e[1]>Lz)&&11l.7k(a.2lZ[0]+\': 3uk 1j "6O-4V" is >= \'+ID+\'. 4cq 1DE "6O-4V".\'));a.42q(a.6O,Ub,e,v,u,y,!1,b,p.3uB,p.38P,-1);Ub=a.6O.38O.1h-1;h&&(oa=4*h.1h,a.42q(a.6O,h,e,v,u,y,tf.1Tr.1km,b,p.3uB,p.38P,-1),Hb=a.6O.38O.1h-1)}1j(1d uc in d.1ia){u=d.1ia[uc];if(!sc){C=6zZ(u.3l);1d sc=l.11e.1n("3l-17b").3x(y,{});sc=1g Mz(g,c,b,n,k,w,u,x,m,t,a.1J6,sc)}v=1===u.3MN.1h;aa+=52V(a,b,u,f,l,t,y,r,p,d.1km?tf.1Tr.1ia:tf.1Tr.5ZC,v?1L.9K(d.1ia):[uc],K,Ub,A);if(v)1W}d.1km&&(ka+=52V(a,b,d.1km,f,l,t,y,r,p,tf.1Tr.1km,["1km"],K,Hb,A));c=sc?sc.3kp:a.1VO.1h;d=sc?sc.3ko:a.1VO.1h;f=Ob?Ob.3kp:a.1VO.1h;Ob=Ob?Ob.3ko:a.1VO.1h;l=vd?vd.3kp:a.1VO.1h;vd=vd?vd.3ko:a.1VO.1h;g=z?z.3kp:a.1VO.1h;z=z?z.3ko:a.1VO.1h;a.42p.1h>=Xd.5Yr&&11l.7k("4pZ 3sq 3Xe 6zY 9I1 in a 11H. 31l 1bU://31k.11Y/3H/3H-gl-js/5pN/9I0");a.1J8.15T(b.x,b.y,0<=K.2W?K.2W:-1,0<=K.2V?K.2V:-1,0<=K.3B?K.3B:-1,K.1km||-1,Ub,Hb,C,c,d,f,Ob,l,vd,g,z,n,aa,ka,D,oa,0,x,lb,E)}1b 6zX(a,b,c,d){a=a.4lZ;if(b in a)1j(1d e=a[b],f=e.1h-1;0<=f;f--){if(d.6Y(e[f])<c)1f!0}1s a[b]=[];a[b].1q(d);1f!1}1b JD(){1a.1bq=wa.1wL;1a.1aF=0;1a.1dB=wa.1wL;1a.16v=14y.1de("12i");1a.19k=3;1a.1fr=1Ax}1b Nz(){1a.1bq=wa.426;1a.1aF=0;1a.1dB=wa.426;1a.16v=14y.1de("5XH");1a.1fr=1a.19k=2;1a.1qu=[];1a.1qu.1q(.1);1a.1qu.1q(.1);1a.1Tf=[]}1b KD(){1a.1bq=wa.424;1a.1aF=0;1a.1dB=wa.424;1a.16v=14y.1de("5XD");1a.1v0=0;1a.1tt=360;1a.1fr=1a.19k=3}1b LD(){1a.1bq=wa.3tW;1a.1aF=0;1a.1dB=wa.3tW;1a.16v=14y.1de("5XE");1a.19k=2;1a.1fr=3}1b MD(){1a.1bq=wa.2NZ;1a.1aF=0;1a.1dB=wa.2NZ;1a.16v=14y.1de("5XL");1a.19k=3;1a.1fr=1Ax}1b ND(){1a.1bq=wa.2lV;1a.1aF=0;1a.1dB=wa.2lV;1a.16v=14y.1de("5XN");1a.19k=2;1a.1fr=1Ax}1b OD(){1a.1bq=wa.2wc;1a.1aF=0;1a.1dB=wa.2wc;1a.16v=14y.1de("5XG");1a.19k=2;1a.1fr=1Ax}1b Oz(){1a.1bq=wa.425;1a.1aF=0;1a.1dB=wa.425;1a.16v=14y.1de("5XF");1a.1Tf=[];1a.1qu=[];1a.1qu.1q(.2);1a.1fr=1a.19k=2}1b PD(){1a.1bq=wa.2BX;1a.1aF=0;1a.1dB=wa.2BX;1a.16v=14y.1de("5XM");1a.1fr=1a.19k=3}1b lw(){}1b 4iD(a){a=m(a,m.4Z);1a.1pk=m(a.1pk,"");1a.3MB=m(a.3MB,1F);1a.6zW=m(a.6zW,!1);1a.4lN=m(a.4lN,!1);1a.1jG=m(a.1jG,[])}1b TK(a){a=m(a,m.4Z);1a.2wK=m(a.2wK,1p 0);1a.2lU=m(a.2lU,"");1a.1Tp=m(a.1Tp,1p 0)}1b QD(a){a=m(a,m.4Z);1a.3k3=m(a.3k3,"");1a.3k4=m(a.3k4,"");1a.3k6=m(a.3k6,"");1a.3k7=m(a.3k7,"");1a.3k5=m(a.3k5,"");1a.3k8=m(a.3k8,"")}1b Xe(a){a=m(a,m.4Z);1a.2R=m(a.4r,1p 0);1a.1uS=m(a.2HK,"");1a.2Ic=m(a.2wK,1g QD);1a.30o=m(a.26l,"5lW");1a.2dW=m(a.9HZ,1g TK);1a.4lJ=1g sa;1a.3Mz=1g sa;1a.4lH=1g sa;1a.4lI=1g sa;1a.4lG=1g sa;1a.4lF=1g sa;1a.4lE=1g sa;1a.4lD=1g sa;1a.4lz=1g sa;1a.4ly=1g sa;1a.4lC=1g sa;1a.3My=1g sa;1a.4lA=1g sa;1a.3k0=1g sa;1a.4lB=1g sa;1a.3Mx=1g sa}1b Mq(a){a=a||{};1a.5U=a.5U?a.5U:[];1a.4lP="3KM"}1b gt(a){1f y.5X(7O.1Zy(a).2Ia("1A"))}1b wn(a){1d b=3n.1M1("10R://10y.w3.1m9/1PB/1fu",a.12J),c;1j(c in a)if(a.3p(c)&&"12J"!==c)if("9d"===c){1d d,e=a.9d.1h;1j(d=0;d<e;++d)b.3A(wn(a.9d[d]))}1s 0===c.3f("1NM:")?b.3lS("10R://10y.w3.1m9/6zV/1NM",c.11c(6),a[c]):"8S"===c?b.8S=a[c]:b.8m(c,a[c]);1f b}1b RU(a,b,c){1d d=3n.1M1("10R://10y.w3.1m9/1PB/1fu","3l");d.8m("x",a);d.8m("y",b);d.8m("11F","3P-15R-9HY");a=3n.1M1("10R://10y.w3.1m9/1PB/1fu","6vg");a.8S=c;d.3A(a);1f d}1b Yf(a,b){1d c=b.2O,d=1-c;UK.5r=a.5r*d+b.5r*c;UK.5t=a.5t*d+b.5t*c;UK.5G=a.5G*d+b.5G*c;1f UK.1fY()}1b SU(a,b,c){1f wn({12J:"g","11F":"3P-15R-2lR",5o:"11v("+a+","+b+")",9d:[{12J:"2wR","11F":"3P-15R-52U",1G:32,1D:32,rx:2,ry:2},{12J:"2wR","11F":"3P-15R-3dC",1G:32,1D:32,rx:4,ry:4},{12J:"14W","11F":"3P-15R-6zU","1NM:17S":c},{12J:"17s",8S:""}]})}1b Nq(a,b){1a.1cT=b;1a.1ZJ=a;1a.3Mw=1a.1wK=1p 0;1d c=1a;1a.4ls=1b(){1d a=c.1cT.14Z;a.1Dn&&a()};a.7K("1aI",1a.4ls,!0);1a.1J2=[Vk(b,"2rY",1a.5lD,1a),Vk(b,"1d6",1a.5lC,1a),Vk(b.14Z,"1Dn",1a.5lF,1a)]}1b mw(a,b){1b c(a){1d b=m,c=b.1cT,d=c.2S4;if(!d||VK===b)if("1m1"===a.1I||d&&"2wo"===a.1I||"1n9"===a.1I&&1===a.1to.1h||d&&"2wn"===a.1I&&1===a.1to.1h){1d e=b.4li,f=b.4lh,h=b.2I7.1ZD();if("1n9"===a.1I||"2wn"===a.1I){1d l=a.1to[0].1ld;1d g=a.1to[0].2dH}1s l=a.1ld,g=a.2dH;if(d||!(l>h.2W||l<h.3B||g<h.5C||g>h.7b)){1d p=b.2dT.1ZD();e=180*1k.12B(g-f-h.5C,l-e-h.3B)/1k.PI+90;180<e&&(e-=360);f=c.3B4;d||l<p.2W&&l>p.3B&&g>p.5C&&g<p.7b?(VK=b,c.2S4=!0,c.3B4=e):e<f?c.5kP():e>f&&c.5kN();a.1yA()}}1s b===VK&&(VK=1p 0),c.2S4=!1}if(!g(a))1t 1g r("11z is 1X.");if(!g(b))1t 1g r("1fW is 1X.");a=Ie(a);1a.1cT=b;1a.15Q=a;1a.4lh=1a.4li=0;1a.268=1a.2dy=1a.4lj=1a.2I7=1a.3Mq=1p 0;1d d=3n.4O("2r");d.8S=".3P-15R-2lR .3P-15R-52U { 14O: 2I(#5ll); }.3P-15R-2lR .3P-15R-3dC { 4K: 2I(#5lr); }.3P-15R-4lr .3P-15R-3dC { 4K: 2I(#5lp); }.3P-15R-2lR:3B5 .3P-15R-3dC { 4K: 2I(#5lq); }.3P-15R-5lE .3P-15R-3dC { 4K: 2I(#5lo); }.3P-15R-52S .3P-15R-52T { 4K: 2I(#5lj); }.3P-15R-52S:3B5 .3P-15R-52T { 4K: 2I(#5li); }.3P-15R-52O { 4K: 2I(#5lh); }.3P-15R-6zR { 4K: 2I(#5lg); }.3P-15R-6zT { 4K: 2I(#5le); }.3P-15R-6zS { 4K: 2I(#5ld); }";3n.13r.2ms(d,3n.13r.13P[0]);d=3n.4O("5u");d.8k="3P-15R-9HX";d.1dd=\'<5u 11F="3P-15R-9HW"></5u><5u 11F="3P-15R-9HV"></5u><5u 11F="3P-15R-9HU"></5u><5u 11F="3P-15R-9HT"></5u><5u 11F="3P-15R-9HS"></5u><5u 11F="3P-15R-9HR"></5u><5u 11F="3P-15R-9HQ"></5u><5u 11F="3P-15R-9HP"></5u>\';1a.5lA=d;1a.5lz=d.13P[0];1a.5ly=d.13P[1];1a.5lx=d.13P[2];1a.5lw=d.13P[3];1a.5lv=d.13P[4];1a.5lu=d.13P[5];1a.5lt=d.13P[6];1a.5ls=d.13P[7];1d e=3n.1M1("10R://10y.w3.1m9/1PB/1fu","1fu:1fu");1a.2I7=e;e.3lS("10R://10y.w3.1m9/1PB/1KG/","1KG:1NM","10R://10y.w3.1m9/6zV/1NM");1d f=3n.1M1("10R://10y.w3.1m9/1PB/1fu","g");1a.4lj=f;1a.4lo=1g Nq(wn({12J:"g","11F":"3P-15R-2lR",5o:"11v(3,4)",9d:[{12J:"14W","11F":"3P-15R-52U","1NM:17S":"#4lb"},{12J:"14W","11F":"3P-15R-3dC","1NM:17S":"#4lb"},{12J:"14W","11F":"3P-15R-6zU","1NM:17S":"#5l6"},{12J:"17s",8S:""}]}),b.5kG);1a.4ln=1g Nq(SU(44,99,"#5la"),b.5kK);1a.4lm=1g Nq(SU(124,99,"#5lb"),b.5kI);1a.4ll=1g Nq(SU(84,99,"#5lc"),b.4l5);1d h=3n.1M1("10R://10y.w3.1m9/1PB/1fu","g");h.3A(1a.4lo.1ZJ);h.3A(1a.4ln.1ZJ);h.3A(1a.4lm.1ZJ);h.3A(1a.4ll.1ZJ);1d l=wn({12J:"12O","11F":"3P-15R-9HO",cx:100,cy:100,r:99});1a.4lq=l;1d p=wn({12J:"g","11F":"3P-15R-52T",9d:[{12J:"14W",5o:"11v(100,97) 3b(-1,1)","1NM:17S":"#4la"},{12J:"14W",5o:"11v(100,97)","1NM:17S":"#4la"},{12J:"6D",x1:100,y1:8,x2:100,y2:22}]});1a.4lp=p;1a.2dT=wn({12J:"14W","11F":"3P-15R-52O","1NM:17S":"#5l1"});1d n=wn({12J:"g",5o:"11v(100,100)"});1a.2I9=wn({12J:"12O","11F":"3P-15R-6zT",cx:0,cy:0,r:71});1d k=wn({12J:"12O","11F":"3P-15R-6zS",cx:0,cy:0,r:61});1a.52Q=RU(0,-24,"");1a.52R=RU(0,-7,"");1a.52P=RU(0,-41,"");1d w=wn({12J:"12O","11F":"3P-15R-4c6",cx:0,cy:0,r:61}),x=3n.1M1("10R://10y.w3.1m9/1PB/1fu","g");x.8m("11F","3P-15R-52S");a.3A(d);f.3A(x);f.3A(n);f.3A(h);x.3A(l);x.3A(p);x.3A(1a.2dT);n.3A(1a.2I9);n.3A(k);n.3A(1a.52Q);n.3A(1a.52R);n.3A(1a.52P);n.3A(w);e.3A(f);a.3A(e);1d m=1a;1a.5lB=c;l.7K("1m1",c,!0);l.7K("1n9",c,!0);p.7K("1m1",c,!0);p.7K("1n9",c,!0);3n.7K("2wo",c,!0);3n.7K("2wn",c,!0);3n.7K("1ZA",c,!0);3n.7K("2lH",c,!0);3n.7K("3jh",c,!0);1a.2dT.7K("1m1",c,!0);1a.2dT.7K("1n9",c,!0);1a.2I9.7K("1m1",c,!0);1a.2I9.7K("1n9",c,!0);1d t=1a.52R.13P[0],q=1a.52Q.13P[0],G=1a.52P.13P[0],u;1a.1J2=[Vk(b.4l5,"2rY",1b(a){u!==a&&((u=a)?m.2dT.8m("11F","3P-15R-6zR"):m.2dT.8m("11F","3P-15R-52O"))}),Vk(b,"3B4",1b(a){1d b=m.2I9;m.2dT.8m("5o","11v(100,100) 17b("+a+")");b.8m("5o","17b("+a+")")}),Vk(b,"52M",1b(a){q.8S!==a&&(q.8S=a)}),Vk(b,"52N",1b(a){t.8S!==a&&(t.8S=a)}),Vk(b,"52L",1b(a){G.8S!==a&&(G.8S=a)})];1a.4l8();1a.1ce()}1b 4l6(a,b){1f a-b}1b TU(a,b){a=Ah(b,a,4l6);1f 0>a?~a:a}1b 6zQ(a,b,c){if(c.1j6===zf.2ap)1f 15;if(1>=1k.abs(a))1f 15*a;c=b[b.1h-1];a>c?a=c:a<-c&&(a=-c);if(0<a)1f b=1k.7k(c),(1k.7k(a)-0)/((b-0)/90)+15;b=1k.7k(-b[0]);1f-((1k.7k(1k.abs(a))-0)/((b-0)/90)+15)}1b Wk(a){if(!g(a))1t 1g r("3j6 is 1X.");1d b=1a;1a.1uT=a;1a.2I6=[];1a.3jV=Wk.5kU;1a.3jU=Wk.5kR;1a.52K=1a.2S4=!1;ta.1uX(1a,["2I6","3jV","3jU","2S4","52K"]);1a.4l7=[];1a.5kQ(Wk.5kS);1a.52N=1p 0;ta.12U(1a,"52N",1b(){1f b.3jU(b.1uT.1a2,b)});1a.52M=1p 0;ta.12U(1a,"52M",1b(){1f b.3jV(b.1uT.1a2,b)});1a.52L=1p 0;ta.12U(1a,"52L",1b(){1d a=b.1uT;if(a.1j6===zf.2ap)1f"6zO";a=a.16W;1f 0===a%1?a.1mf(0)+"x":a.1mf(3).3X(/0{0,3}$/,"")+"x"});1a.3B4=1p 0;ta.12U(1a,"3B4",{1n:1b(){1f 6zQ(a.16W,b.2I6,a)},1C:1b(a){a=1k.1V(1k.2o(a,105),-105);1d c=b.2I6,d=b.1uT;d.1j6=zf.29o;if(105===1k.abs(a))d.16W=0<a?c[c.1h-1]:c[0];1s{if(15>=1k.abs(a))a/=15;1s if(0<a){1d h=1k.7k(c[c.1h-1]);a=1k.108((h-0)/90*(a-15))}1s h=1k.7k(-c[0]),a=-1k.108((h-0)/90*(1k.abs(a)-15));b.52K?a=c[TU(a,c)]:0!==a&&(c=1k.abs(a),100<c?(c=c.1mf(0).1h-2,c=1k.3r(10,c),a=1k.9p(a/c)*c|0):15<c?a=1k.9p(a):1<c?a=+a.1mf(1):0<c&&(a=+a.1mf(2)));d.16W=a}}});1a.4cp=1p 0;ta.12U(1a,"4cp",1b(){1d a=b.1uT,c=a.1le;if(b.2S4||c===qj.3jf)1f!0;1d f=a.16W,h=a.1a2,l=a.18M;c===qj.2CL?f=M.1bP(h,l)||h.2L(l)&&0<f:(c=a.1cU,f=M.1bP(h,l)&&M.1ib(h,c)||h.2L(l)&&0<f||h.2L(c)&&0>f);f||(a.1tv=!1);1f f});1a.4co=1p 0;ta.12U(1a,"4co",1b(){1d a=b.1uT;if(a.1le===qj.3jf)1f!0;1d c=a.3kB;1f M.9Y(c,a.18M)&&M.19D(c,a.1cU)});1a.3B3=1p 0;ta.12U(1a,"3B3",1b(){1f b.1uT.1tv&&(b.4cp||b.2S4)});1d c=bd(1b(){1d a=b.1uT;a.1tv?a.1tv=!1:b.4cp&&(a.1tv=!0)});1a.5kL=1g Iz(c,{2rY:ta.1AY(1b(){1f!b.3B3}),1d6:"3uV"});c=bd(1b(){1d a=b.1uT,c=a.16W;0<c&&(a.16W=-c);a.1tv=!0});1a.5kJ=1g Iz(c,{2rY:ta.1AY(1b(){1f b.3B3&&0>a.16W}),1d6:"6zP 9HN"});c=bd(1b(){1d a=b.1uT,c=a.16W;0>c&&(a.16W=-c);a.1tv=!0});1a.5kH=1g Iz(c,{2rY:ta.1AY(1b(){1f b.3B3&&0<a.16W&&a.1j6!==zf.2ap}),1d6:"6zP 9HM"});c=bd(1b(){b.1uT.1j6=zf.2ap},ta.1sf(1a,"4co"));1a.5kF=1g Iz(c,{2rY:ta.1AY(1b(){1f a.1j6===zf.2ap}),1d6:ta.1AY(1b(){1f b.4co?"6zO (9HL-6q)":"9HK 6q 2S in 11D"})});1a.5kO=bd(1b(){1d a=b.1uT,c=b.2I6,f=TU(a.16W,c)-1;0<=f&&(a.16W=c[f])});1a.5kM=bd(1b(){1d a=b.1uT,c=b.2I6,f=TU(a.16W,c)+1;f<c.1h&&(a.16W=c[f])})}1b UU(a){a=m(a,m.4Z);1d b=a.10a,c=m(a.2RO,[]),d=m(a.2RN,[]);if(!g(b))1t 1g r("10a is 1X");1a.1cD=b;1a.2RO=c.4h(0);1a.2RN=d.4h(0);1a.1eJ=!1;ta.1uX(1a,["2RO","2RN","1eJ"]);1d e=ta.1sf(1a,"2RO");1a.6zN=ta.4pR(1b(){1d a=e(),b={},c;1j(c=0;c<a.1h;c++){1d d=a[c],f=d.1jE;g(b[f])?b[f].1q(d):b[f]=[d]}a=1L.9K(b);d=[];1j(c=0;c<a.1h;c++)f=a[c],d.1q({2i:f,217:b[f]});1f d});1d f=ta.1sf(1a,"2RN");1a.6zL=ta.4pR(1b(){1d a=f(),b={},c;1j(c=0;c<a.1h;c++){1d d=a[c],e=d.1jE;g(b[e])?b[e].1q(d):b[e]=[d]}a=1L.9K(b);d=[];1j(c=0;c<a.1h;c++)e=a[c],d.1q({2i:e,217:b[e]});1f d});1a.52J=1p 0;ta.12U(1a,"52J",1b(){1d a=1a.2F4,b=1a.2RM;a=g(a)?a.2i:1p 0;b=g(b)?b.2i:1p 0;1f g(a)&&g(b)?a+"\\n"+b:g(a)?a:b});1a.4cm=1p 0;ta.12U(1a,"4cm",1b(){1d a=1a.2F4;if(g(a))1f a.1q4});1a.2F4=1p 0;1d h=ta.19H();1a.4cn=[];ta.12U(1a,"2F4",{1n:1b(){1f h()},1C:1b(a){if(h()!==a){1d b,c=1a.4cn,d=c.1h,e=1a.1cD.1uU,f=!1;1j(b=0;b<d;b++)1j(1d l=e.1h,p=0;p<l;p++){1d n=e.1n(p);if(n.1jf===c[b]){e.3S(n);f=!0;1W}}if(g(a))if(c=a.3jT(),2K.8n(c)){1j(b=c.1h-1;0<=b;b--)e.2mG(c[b],0);1a.4cn=c.4h(0)}1s 1a.4cn=[c],f||(b=e.1n(0),g(b)&&e.3S(b)),e.2mG(c,0);h(a)}1a.1eJ=!1}});1a.2RM=1p 0;1d l=ta.19H();ta.12U(1a,"2RM",{1n:1b(){1f l()},1C:1b(a){if(l()!==a){1d b;g(a)&&(b=a.3jT());1a.1cD.2S1=!(b 2m yp);1a.1cD.16u=b;l(a)}1a.1eJ=!1}});1d p=1a;1a.2wt=bd(1b(){p.1eJ=!p.1eJ});1a.2F4=m(a.3AN,c[0]);1a.2RM=m(a.3AM,d[0])}1b RD(a,b){if(!g(a))1t 1g r("11z is 1X.");a=Ie(a);1d c=1g UU(b),d=3n.4O("12n");d.1I="12n";d.8k="3P-12n 3P-1WE-12n";d.8m("2g-7X","1wZ: { 17s: 52J },1aI: 2wu");a.3A(d);b=3n.4O("1kp");b.8m("52I","16f");b.8k="3P-1og-1bM";b.8m("2g-7X","1wZ: { 1bv: 4cm }, 13z: !!4cm");d.3A(b);1d e=3n.4O("5u");e.8k="3P-1og-2iQ";e.8m("2g-7X",\'1cg: { "3P-1og-2iQ-13z" : 1eJ }\');a.3A(e);b=3n.4O("5u");b.8k="3P-1og-6zM";b.8m("2g-7X","13z: 2RO.1h > 0");b.1dd="25O";e.3A(b);1d f=3n.4O("5u");f.8k="3P-1og-30z";f.8m("2g-7X","1TQ: 6zN");e.3A(f);b=3n.4O("5u");b.8k="3P-1og-1jE";f.3A(b);f=3n.4O("5u");f.8k="3P-1og-6zK";f.8m("2g-7X","3l: 2i");b.3A(f);f=3n.4O("5u");f.8k="3P-1og-6zJ";f.8m("2g-7X","1TQ: 217");b.3A(f);b=3n.4O("5u");b.8k="3P-1og-1jI";b.8m("2g-7X",\'1cg: { "3P-1og-6zI" : $2g === $26O[1].2F4 },1wZ: { 17s: 1d6 },13z: 3jT.1Dn,1aI: 1b($2g) { $26O[1].2F4 = $2g; }\');f.3A(b);f=3n.4O("1kp");f.8k="3P-1og-6zH";f.8m("2g-7X","1wZ: { 1bv: 1q4 }");f.8m("52I","16f");b.3A(f);f=3n.4O("5u");f.8k="3P-1og-6zG";f.8m("2g-7X","3l: 2i");b.3A(f);b=3n.4O("5u");b.8k="3P-1og-6zM";b.8m("2g-7X","13z: 2RN.1h > 0");b.1dd="2iB";e.3A(b);f=3n.4O("5u");f.8k="3P-1og-30z";f.8m("2g-7X","1TQ: 6zL");e.3A(f);b=3n.4O("5u");b.8k="3P-1og-1jE";f.3A(b);f=3n.4O("5u");f.8k="3P-1og-6zK";f.8m("2g-7X","3l: 2i");b.3A(f);f=3n.4O("5u");f.8k="3P-1og-6zJ";f.8m("2g-7X","1TQ: 217");b.3A(f);b=3n.4O("5u");b.8k="3P-1og-1jI";b.8m("2g-7X",\'1cg: { "3P-1og-6zI" : $2g === $26O[1].2RM },1wZ: { 17s: 1d6 },13z: 3jT.1Dn,1aI: 1b($2g) { $26O[1].2RM = $2g; }\');f.3A(b);f=3n.4O("1kp");f.8k="3P-1og-6zH";f.8m("2g-7X","1wZ: { 1bv: 1q4 }");f.8m("52I","16f");b.3A(f);f=3n.4O("5u");f.8k="3P-1og-6zG";f.8m("2g-7X","3l: 2i");b.3A(f);ta.1AH(c,d);ta.1AH(c,e);1a.1cT=c;1a.15Q=a;1a.17e=d;1a.4l4=e;1a.1wG=1b(a){d.8h(a.15s)||e.8h(a.15s)||(c.1eJ=!1)};Nc.1Tj()?3n.7K("26e",1a.1wG,!0):(3n.7K("1m1",1a.1wG,!0),3n.7K("1n9",1a.1wG,!0))}1b Eg(a){if(!g(a.2i))1t 1g r("3v.2i is 1X.");if(!g(a.1d6))1t 1g r("3v.1d6 is 1X.");if(!g(a.1q4))1t 1g r("3v.1q4 is 1X.");if("1b"!==2h a.1xH)1t 1g r("3v.1xH is 1X.");1d b=a.1xH;g(b.1Dn)||(b=bd(b));1a.5kC=b;1a.2i=a.2i;1a.1d6=a.1d6;1a.1q4=a.1q4;1a.5kB=m(a.1jE,"");ta.1uX(1a,["2i","1d6","1q4"])}1b 4fC(){1d a=[];a.1q(1g Eg({2i:"2S3 3dB 4ze",1q4:cb("1fV/1eX/1Hu/9HJ.12H"),1d6:"2S3 3dB 52H 8v, 20i by 1di 1ER",1jE:"1di 1ER",1xH:1b(){1f JJ({2r:mD.3pp})}}));a.1q(1g Eg({2i:"2S3 3dB 4ze 10M 2hi",1q4:cb("1fV/1eX/1Hu/9HI.12H"),1d6:"2S3 3dB 52H 8v 10M 1kD, 20i by 1di 1ER",1jE:"1di 1ER",1xH:1b(){1f JJ({2r:mD.4xN})}}));a.1q(1g Eg({2i:"2S3 3dB 9HH",1q4:cb("1fV/1eX/1Hu/9HG.12H"),1d6:"2S3 3dB 6zl 9HF 1PT, 20i by 1di 1ER",1jE:"1di 1ER",1xH:1b(){1f JJ({2r:mD.4xM})}}));a.1q(1g Eg({2i:"20U 9HE",1d6:"20U 4ck 8v 1bU://10y.3H.11Y/1PT/",1q4:cb("1fV/1eX/1Hu/9HD.12H"),1jE:"2rX",1xH:1b(){1f 1g Ko({3B2:"3H.4ck"})}}));a.1q(1g Eg({2i:"20U 6zF",1d6:"20U 4cl 8v 1bU://10y.3H.11Y/1PT/",1q4:cb("1fV/1eX/1Hu/9HC.12H"),1jE:"2rX",1xH:1b(){1f 1g Ko({3B2:"3H.4cl"})}}));a.1q(1g Eg({2i:"20U 6zF 9HB",1d6:"20U 4cl 6zE 8v 1bU://10y.3H.11Y/1PT/",1q4:cb("1fV/1eX/1Hu/9HA.12H"),1jE:"2rX",1xH:1b(){1f 1g Ko({3B2:"3H.4cl-6zE"})}}));a.1q(1g Eg({2i:"3dA 3B0 25O",1q4:cb("1fV/1eX/1Hu/9Hz.12H"),1d6:"3B0 25O 9Hy 1bS 3Ay or 9Hx 4ck and 52H 8v in 3sq 1BF of 1Z 2pl and 1wp 1ko 4ck 8v 6zC.  9B 5d 2J9 52B 3sn 4ch: 6zp 6zo 9Hw 1ko 8v at 3uw 2aU (9Hv 1:1,52G,52G), i-6zD 15m 9Hu 8v at 64p-to-3lE 2aU (1fK to 1:70,52G) 1j 1Z 2pl, and 9Ht 15m 9Hs 8v 1j 9Hr. 9B 5d 1jG 0.3m 1ko 8v in 1Z 9Hq 6zB 6zA and 0.6m 1ko 8v in 1BF of 9Hp 6zz 19f 9Ho. In 3bV 1BF of 1Z 2pl, 1 3Ay 1ko 8v is 1IZ 19f 9Hn 9Hm, i-6zD 9Hl 9Hk, 9Hj, 9Hi, 9Hh 9Hg, and 9Hf 9He.  9Hd, 8v at 3zd 9Hc 14d 26N 9Hb by 1Z 6zu 9Ha 9H9.\\2S2://10y.3Tr.11Y",1jE:"2rX",1xH:1b(){1f 1g wq({2I:"1bU://2wB.52F.11Y/52E/26f/2wB/9H8/52D",1Bm:!1})}}));a.1q(1g Eg({2i:"3dA 3B0 3RE 33c",1q4:cb("1fV/1eX/1Hu/9H7.12H"),1d6:"18m 6zC 9H6 5d 9H5 9H4-6b 2g 1j 1Z 2pl. 3RE-6b 2g 2J9 1Z 6zB 6zA; 2se of 9H3; 9H2; 9H1 9H0 in 6zz; 9GZ and 4Xb 6oo; 9GY; 1BF of 6zx 9GX 6zy 9GW, 9GV, 9GU, 9GT, and 9GS; 9GR; and 1BF of 9GQ 6zw 6zy 9GP, 9GO, 6oF, 6zx 6zw, and 9GN.\\2S2://10y.3Tr.11Y",1jE:"2rX",1xH:1b(){1f 1g wq({2I:"1bU://2wB.52F.11Y/52E/26f/2wB/9GM/52D",1Bm:!1})}}));a.1q(1g Eg({2i:"3dA 4av 6zv",1q4:cb("1fV/1eX/1Hu/9GL.12H"),1d6:"18m 2MG 5d 8h 1Z 4av 6zv 3B0 33c 2mx. 18m 5d 2mx is 9GK to be 1rd as a 9GJ 1bY 5d 1j 9GI and 9GH 9GG as 9GF as a 9GE by 6zu 9GD and 3bV 9GC 1j 2sf 2MG 1PT and 2MG 9GB 9GA.\\2S2://10y.3Tr.11Y",1jE:"2rX",1xH:1b(){1f 1g wq({2I:"1bU://2wB.52F.11Y/52E/26f/2wB/9Gz/52D/",1Bm:!1})}}));a.1q(1g Eg({2i:"30r\\9Gy\\9Gx",1q4:cb("1fV/1eX/1Hu/9Gw.12H"),1d6:"3nK (9Gv) is a 9Gu 12z to 6F a 3vf 9Gt 5d of 1Z 2pl.\\2S2://10y.33h.1m9",1jE:"2rX",1xH:1b(){1f FJ({2I:"1bU://a.11H.33h.1m9/"})}}));a.1q(1g Eg({2i:"3B1 9Gs",1q4:cb("1fV/1eX/1Hu/9Gr.12H"),1d6:"9Gq of 9Gp 9Go 1PT, 3B1 6zt 1PT 6c 1Vj 1F0 207 9Gn and 63N 24Y 2aM a 9Gm 7y to add 9Gl 9l to any 5d.\\2S2://1PT.4cj.11Y",1jE:"2rX",1xH:1b(){1f FJ({2I:"1bU://4cj-17v.a.6zs.6zr.2fH/6zt/",9L:"33c 17v by 3B1 6zq, 4ci CC BY 3.0. 3dz by 3nK, 4ci CC BY SA."})}}));a.1q(1g Eg({2i:"3B1 9Gk",1q4:cb("1fV/1eX/1Hu/9Gj.12H"),1d6:"A 162 1wq 2p4 and 1Ar 5d.\\2S2://1PT.4cj.11Y",1jE:"2rX",1xH:1b(){1f FJ({2I:"1bU://4cj-17v.a.6zs.6zr.2fH/9Gi/",9L:"33c 17v by 3B1 6zq, 4ci CC BY 3.0. 3dz by 3nK, 4ci CC BY SA."})}}));a.1q(1g Eg({2i:"52C-2",1q4:cb("1fV/1eX/1Hu/9Gh-2.12H"),1d6:"52C-2 9Gg by 9Gf IT 9Ge 9Gd (4H9 5rw 9Gc 52C 2g 2gT and 9Gb).",1jE:"1di 1ER",1xH:1b(){1f 1g bm({2EO:9Ga})}}));a.1q(1g Eg({2i:"3sn 4ch",1q4:cb("1fV/1eX/1Hu/9G9.12H"),1d6:"3sn 4ch 6zp 6zo 9G8, 5VN 8v 19f 52B.",1jE:"1di 1ER",1xH:1b(){1f 1g bm({2EO:9G7})}}));a.1q(1g Eg({2i:"4cg at 6zn",1q4:cb("1fV/1eX/1Hu/9G6.12H"),1d6:"9B 4cg at 6zn, 1S5 6zk as 9B 9G5 4ch, is a 500 3Ay 1ko 1ii 1sh 8v 7r 9G4 by 52B.",1jE:"1di 1ER",1xH:1b(){1f 1g bm({2EO:9G3})}}));a.1q(1g Eg({2i:"6zm 4cg\\9G2",1q4:cb("1fV/1eX/1Hu/9G1.12H"),1d6:"6zm 4cg II, 9G0 1j 1wq.\\2S2://10y.9FZ.11Y/",1jE:"1di 1ER",1xH:1b(){1f 4fy({2I:cb("1ja/1or/9FY")})}}));1f a}1b 4fB(){1d a=[];a.1q(1g Eg({2i:"9y 2ZE",1q4:cb("1fV/1eX/6zj/2ZE.12H"),1d6:"9y 6zl 3c, 1S5 6zk as 1pY:1zf",1jE:"1di 1ER",1xH:1b(){1f 1g yp}}));a.1q(1g Eg({2i:"1di 3B0 2iB",1q4:cb("1fV/1eX/6zj/9FX.12H"),1d6:"4SV-1ko 1ii 1st 15c 9FW 19f 9FV 5zc and 9FU by 1di 1ER",1jE:"1di 1ER",1xH:1b(){1f Q0({3A4:!0,2Eo:!0})}}));1f a}1b 6zg(a){1f 1b(b){b=a.2R.11P(b.1K);g(b)&&b.9k 2m tg&&(a.15c=b.9k);a.2I5=!1}}1b 4l2(a,b){b?a.1wI.1a1(1b(b){b=a.2R.11P(b.11R);g(b)&&b.9k 2m tg&&(a.15c=b.9k)},Va.1kj):(a.1wI.1cQ(Va.1kj),a.1Gl=a.1Gl)}1b VU(a){a/=1yL;1f 1>a?a.1xG(1p 0,5kA):1k.9p(a).1xG()}1b SD(a,b){if(!g(a))1f"";a=b?a.9FT:a.3Wd;1d c=\'<ul 11F="3P-1c6-1DB"><li><1dH>52A: </1dH>\'+(a.2oe.1xG()+"</li><li><1dH>4cf: </1dH>"+a.1bM.1xG()+"</li><li><1dH>9FS: </1dH>"+a.3ar.1xG()+"</li>");c+="</ul>";b||(c=c+\'<ul 11F="3P-1c6-1DB"><li><1dH>9FR: </1dH>\'+(a.1oD.1xG()+"</li><li><1dH>4Cd: </1dH>"+a.1zm.1xG()+"</li><li><1dH>9FQ: </1dH>"+a.1zo.1xG()+"</li><li><1dH>6ze 3Zp: </1dH>"+a.2Pt.1xG()+"</li><li><1dH>5jQ: </1dH>"+a.3at.1xG()+"</li>"),c=c+\'</ul><ul 11F="3P-1c6-1DB"><li><1dH>52z 4cf: </1dH>\'+(a.3aD.1xG()+"</li><li><1dH>52z 2pt: </1dH>"+a.3wz.1xG()+"</li><li><1dH>1Nl 4cf: </1dH>"+a.3aC.1xG()+"</li><li><1dH>1Nl 2pt: </1dH>"+a.3wy.1xG()+"</li><li><1dH>9FP 4cf: </1dH>"+a.3aB.1xG()+"</li>"),c=c+\'</ul><ul 11F="3P-1c6-1DB"><li><1dH>34U 3Xg: </1dH>\'+(a.3ax.1xG()+"</li><li><1dH>52z 3Xg: </1dH>"+a.3ay.1xG()+"</li>"),c=c+\'</ul><ul 11F="3P-1c6-1DB"><li><1dH>9FO 9FN 6zi: </1dH>\'+(a.3aA.1xG()+"</li>"),c=c+\'</ul><ul 11F="3P-1c6-1DB"><li><1dH>1pg 2gc (MB): </1dH>\'+(VU(a.1iC)+"</li><li><1dH>2GX 2gc (MB): </1dH>"+VU(a.1tR)+"</li><li><1dH>9FM 4Ci 2gc (MB): </1dH>"+VU(a.1Bq)+"</li>"),c+="</ul>");1f c}1b Yg(a,b){v.1N.2c("4r",a);v.1N.2c("3Mo",b);1d c=1a,d=a.3M;1a.1wI=1g Ne(d);1a.2R=a;1a.26i=b;1a.10C=d;1a.1Dv=1g fw({11z:b});1a.3jC=1a.3jz=1a.3jA="";1a.1bR=!1;1a.30m=1a.4cc=1a.3jB=!0;1a.3jD=1a.3jE=1a.3jF=1a.3jG=1a.2I4=1a.3jH=1a.3jI=!1;1a.2lN="{}";1a.1cC=1a.2lO=1a.9F=1p 0;ta.1uX(1a,"1bR 30m 3jA 3jz 3jC 4cc 3jB 3jI 3jH 2I4 3jG 3jF 3jD 3jE 2lN 2lO 1cC".7g(" "));1a.1tp=ta.19H({});1a.5U=[];ta.12U(1a,"5U",1b(){1d a=[],b=c.1tp(),d;1j(d in b)b.3p(d)&&a.1q(d);1f a});1d e=ta.19H();ta.12U(1a,"1ZG",{1n:1b(){1f e()},1C:1b(a){e(a);g(c.9F)&&(c.9F.1ZG=a)}});1a.1ZG=!1;1d f=ta.19H();ta.12U(1a,"1qt",{1n:1b(){1f f()},1C:1b(a){f(a);g(c.9F)&&(c.9F.1qt=a,c.2R.1e2())}});1a.1qt=Wp.2dR;1d h=ta.19H();ta.12U(1a,"1Gl",{1n:1b(){1f h()},1C:1b(b){h(b);b?c.1wI.1a1(1b(b){1d d=a.11P(b.11R);d 2m Jh?(c.7n=d,c.11H=d.15k.11H):g(d)&&g(d.15k)?(c.7n=1p 0,c.11H=d.15k.11H):(c.7n=1p 0,c.11H=1p 0);g(c.9F)&&(m&&g(d)&&g(d.15k)?(a.2K3&&(b=a.1Gj(b.11R),g(b)&&(c.9F.45q=b)),c.9F.3aq=d.15k.11H):c.9F.3aq=1p 0,c.2R.1e2())},Va.1kj):(c.7n=1p 0,c.11H=1p 0,c.1wI.1cQ(Va.1kj))}});1a.1Gl=!0;1d l=ta.19H();ta.12U(1a,"2wF",{1n:1b(){1f l()},1C:1b(a){l(a);g(c.9F)&&(c.9F.3wC=a,c.2R.1e2())}});1a.2wF=!1;1d p=ta.19H();ta.12U(1a,"1ZH",{1n:1b(){1f p()},1C:1b(a){p(a);g(c.9F)&&(c.9F.1gj=a,c.2R.1e2())}});1a.1ZH=!1;1d n=ta.19H();ta.12U(1a,"3jR",{1n:1b(){1f n()},1C:1b(a){n(a);g(c.9F)&&(c.9F.15S=a,c.2R.1e2())}});1a.3jR=!1;1d k=ta.19H();ta.12U(1a,"3jQ",{1n:1b(){1f k()},1C:1b(a){k(a);g(c.9F)&&(c.9F.3aJ=a,c.2R.1e2())}});1a.3jQ=!1;1d w=ta.19H();ta.12U(1a,"3jP",{1n:1b(){1f w()},1C:1b(a){w(a);g(c.9F)&&(c.9F.3wD=a,c.2R.1e2())}});1a.3jP=!1;1d x=ta.19H();ta.12U(1a,"3jO",{1n:1b(){1f x()},1C:1b(a){x(a);g(c.9F)&&(c.9F.2yC=a,c.2R.3dx=a,c.2R.1e2())}});1a.3jO=!1;1d m=ta.19H();ta.12U(1a,"3jN",{1n:1b(){1f m()},1C:1b(a){m(a);g(c.9F)&&(c.9F.4OD=a,c.2R.1e2())}});1a.3jN=!1;1d t=ta.19H();ta.12U(1a,"3jM",{1n:1b(){1f t()},1C:1b(a){t(a);g(c.9F)&&(c.9F.3wr=a,c.2R.1e2())}});1a.3jM=!1;1d r=ta.19H();ta.12U(1a,"3jL",{1n:1b(){1f r()},1C:1b(a){r(a);g(c.9F)&&(c.9F.3wq=a,c.2R.1e2())}});1a.3jL=!1;1d G=ta.19H();ta.12U(1a,"3jK",{1n:1b(){1f G()},1C:1b(a){G(a);g(c.9F)&&(c.9F.3wp=a,c.2R.1e2())}});1a.3jK=!1;1d q=ta.19H();ta.12U(1a,"3jJ",{1n:1b(){1f q()},1C:1b(a){q(a);g(c.9F)&&(c.9F.3wo=a,c.2R.1e2())}});1a.3jJ=!1;1d u=ta.19H();ta.12U(1a,"1ev",{1n:1b(){1f u()},1C:1b(a){a=3a(a);11I(a)||(u(a),g(c.9F)&&(c.9F.1ev=a))}});1a.1ev=16;1d y=ta.19H();ta.12U(1a,"2lQ",{1n:1b(){1f y()},1C:1b(a){a=3a(a);11I(a)||(y(a),g(c.9F)&&(c.9F.2lQ=a))}});1a.2lQ=.6zh;1a.4ce=1p 0;ta.12U(1a,"4ce",{1n:1b(){1f 1k.3r(y(),1/6)},1C:1b(a){y(1k.3r(a,6))}});1d A=ta.19H();ta.12U(1a,"2lP",{1n:1b(){1f A()},1C:1b(a){a=3a(a);11I(a)||(A(a),g(c.9F)&&(c.9F.2lP=a))}});1a.2lP=4;1d B=6zg(1a),K=ta.19H();ta.12U(1a,"2I5",{1n:1b(){1f K()},1C:1b(a){K(a);a?c.1wI.1a1(B,Va.1yr):c.1wI.1cQ(Va.1yr)}});1d C=ta.19H();ta.12U(1a,"1uY",{1n:1b(){1f C()},1C:1b(a){C(a);g(c.9F)&&(c.9F.1uY.1iM=a)}});1a.1uY=!1;1d L=ta.19H();ta.12U(1a,"1J0",{1n:1b(){1f L()},1C:1b(a){a=3a(a);11I(a)||(L(a),g(c.9F)&&(c.9F.1uY.1J0=a))}});1a.1J0=1;1d S=ta.19H();ta.12U(1a,"1yB",{1n:1b(){1f S()},1C:1b(a){a=3a(a);11I(a)||(S(a),g(c.9F)&&(c.9F.1uY.1yB=0===a?1p 0:a))}});1a.1yB=0;1d U=ta.19H();ta.12U(1a,"1Ph",{1n:1b(){1f U()},1C:1b(a){a=3a(a);11I(a)||(U(a),g(c.9F)&&(c.9F.1uY.1Ph=0===a?1p 0:a))}});1a.1Ph=0;1d R=ta.19H();ta.12U(1a,"1FM",{1n:1b(){1f R()},1C:1b(a){R(a);g(c.9F)&&(c.9F.1uY.1FM=a)}});1a.1FM=!1;1d V=ta.19H();ta.12U(1a,"26k",{1n:1b(){1f V()},1C:1b(a){a=3a(a);11I(a)||(V(a),g(c.9F)&&(c.9F.1uY.26k=a))}});1a.26k=1;1d W=ta.19H();ta.12U(1a,"26j",{1n:1b(){1f W()},1C:1b(a){a=3a(a);11I(a)||(W(a),g(c.9F)&&(c.9F.1uY.26j=a))}});1a.26j=1;1a.2I5=!1;1d da=ta.19H();ta.12U(1a,"2dQ",{1n:1b(){1f da()},1C:1b(a){da(a);g(c.9F)&&(c.9F.2dQ=a)}});1a.2dQ=!0;1d ea=ta.19H();ta.12U(1a,"2dP",{1n:1b(){1f ea()},1C:1b(a){a=3a(a);11I(a)||(ea(a),g(c.9F)&&(c.9F.2dP=a))}});1a.2dP=16;1d Sa=ta.19H();ta.12U(1a,"2dO",{1n:1b(){1f Sa()},1C:1b(a){a=3a(a);11I(a)||(Sa(a),g(c.9F)&&(c.9F.2dO=a))}});1a.2dO=13j;1d E=ta.19H();ta.12U(1a,"2dN",{1n:1b(){1f E()},1C:1b(a){a=3a(a);11I(a)||(E(a),g(c.9F)&&(c.9F.2dN=a))}});1a.2dN=1;1d F=ta.19H();ta.12U(1a,"1ZF",{1n:1b(){1f F()},1C:1b(a){F(a);g(c.9F)&&(c.9F.1ZF=a)}});1a.1ZF=!1;1d I=ta.19H();ta.12U(1a,"2dM",{1n:1b(){1f I()},1C:1b(a){I(a);g(c.9F)&&(c.9F.2dM=a)}});1a.2dM=!1;1a.14N=1p 0;1a.3Mp=!1;1a.5kd="5U 1ZG 1qt 1Gl 2wF 1ZH 3jR 3jQ 3jP 3jO 1ev 2lQ 2dO 2dP 2dQ 2dN 1ZF 2dM 4ce 2lP 2I5 3jN 3jM 3jL 3jK 3jJ 1uY 1J0 1yB 1Ph 1FM 26k 26j".7g(" ");1a.3Mi=a.2lL.7K(1b(){c.13A()});g(1a.9F)||4l2(1a,!0)}1b WU(a){if(0<a.17z)1f!0;a=a.289;if(g(a)){1j(1d b=a.1h,c=0;c<b;++c)if(!WU(a[c]))1f!1;1f!0}1f!1}1b TD(a,b){v.2l("11z",a);v.1N.2c("4r",b);a=Ie(a);1d c=3n.4O("5u"),d=3n.4O("5u");d.8m("2g-7X","13z: 1bR");1a.1cT=b=1g Yg(b,d);1a.15Q=a;1a.17e=c;1d e=3n.4O("5u");e.8S="3D 34U 6z7";e.8k="3P-1c6-12n";e.8m("2g-7X","1aI: 5ks");c.3A(e);c.8k="3P-1c6 3P-9FL";c.8m("2g-7X",\'1cg: { "3P-1c6-13z" : 30m, "3P-1c6-1qr" : !30m}\');a.3A(c);1a.6z6=e=3n.4O("5u");e.8k="3P-1c6-2iQ";c.3A(e);1d f=UD.4mD;a=UD.4mE;1d h=f(e,"4OR","3jI","5kr"),l=f(e,"6z4","3jH","5kq"),g=f(e,"6zf","2I4","5kp"),n=f(e,"9FK","3jG","5ko"),k=f(e,"2wE 9FJ 2hi","3jE","5km"),w=f(e,"18O","3jF","5kn");e=f(e,"9FI","3jD","5kl");f=3n.4O("5u");f.8k="1bF-13o";1d x=3n.4O("17R");x.8k="1bF-17R";x.3A(3n.1wH("9FH: "));1d m=3n.4O("5u");m.8m("2g-7X","3l: 5U");f.3A(x);f.3A(m);h.3A(f);h.3A(XU("5kt","3to 4OR","2I5"));h.3A(XU("5kk","9FG 34U 9FF"));h.3A(a("9FE 4it","1Gl"));l.3A(a("9FD","2wF"));l.3A(a("6yX","1ZH"));l.3A(a("9FC 52y","3jR"));l.3A(a("6ze 52y","3jQ"));l.3A(a("4ic 52y","3jP"));l.3A(a("18H 6zd 9FB","1uY"));h=3n.4O("5u");h.8m("2g-7X","13z: 1uY");h.3A(xn("1J0",0,2,.11t,"4Kf 6u 1S2"));h.3A(xn("1yB",0,32,1,"6zc 3dy"));h.3A(xn("1Ph",0,1,.11t,"4rk 9FA"));h.3A(a("9Fz 9Fy 9Fx (52x)","1FM"));l.3A(h);l=3n.4O("5u");l.8m("2g-7X","13z: 1FM");l.3A(xn("26k",0,2,.1,"52x 9Fw"));l.3A(xn("26j",0,4,.1,"52x 1Qg"));h.3A(l);g.3A(a("9Fv 9Fu","3jO"));g.3A(a("9Ft 4cd 1P1 6u","1ZG"));l=3n.4O("5u");l.3A(xn("1ev",0,128,1,"6zc 4cd 1P1 6u"));g.3A(l);l=3n.4O("5u");l.8m("2g-7X","13z: 1ZG");l.3A(xn("4ce",0,1,.1Am,"4cd 1P1 6u 9Fs","2lQ"));l.3A(xn("2lP",1,10,.1,"4cd 1P1 6u 52v"));g.3A(l);n.3A(a("6z5","1bR"));n.3A(d);n.3A(a("3Mn","3jB"));d=3n.4O("5u");d.8k="3P-6zb-1DB";d.8m("2g-7X","1jH: 5kz, 13z: 3jB");n.3A(d);n.3A(a("3to 3Mn","4cc"));d=3n.4O("5u");d.8k="3P-6zb-1DB";d.8m("2g-7X","1jH: 5ky, 13z: 4cc");n.3A(d);d=3n.4O("5u");w.3A(d);d.3A(3n.1wH("1aV 2jF 9Fr: "));w=3n.4O("26K");w.8m("2g-7X",\'3v: 5kx, 5qP: "3l", 5qQ: "1Q", 1Q: 1qt\');d.3A(w);w=3n.4O("2Jk");w.8m("2g-7X","3lM: 2lN, 2dG: { 2dt: 5ki }");d.8k="3P-1c6-9Fq";d.3A(w);w=XU("4l0","52w (9Fp+51W)");d.3A(w);w=3n.4O("5u");w.8k="3P-1c6-7A";w.8m("2g-7X","3l: 5kv");d.3A(w);k.3A(a("2rW 9Fo 1Jh","3jN"));k.3A(a("4Kf 6u","3jM"));k.3A(a("6yQ 3Mn","3jL"));k.3A(a("2gc 9Fn (MB)","3jK"));k.3A(a("34T","3jJ"));e.3A(a("6za 2wE 9Fm","2dQ"));k=3n.4O("5u");k.3A(xn("2dP",1,50,1,"6za 52u 52v"));e.3A(k);k=3n.4O("5u");k.3A(xn("2dO",0,18C,1,"52u 8w 9Fl 6yW"));e.3A(k);k=3n.4O("5u");k.3A(xn("2dN",0,10,1,"1XF. 28H to 2xt"));e.3A(k);e.3A(a("6z9 1cF 17v 17m 63A 1Z 1V 52u.","1ZF"));e.3A(a("6z9 9Fk of 13z 17v","2dM"));ta.1AH(b,c)}1b xn(a,b,c,d,e,f){f=m(f,a);1d h=3n.4O("15d");h.8m("2g-7X","1Q: "+f);h.1I="2b";f=3n.4O("15d");f.1I="11D";f.2o=b;f.1V=c;f.7F=d;f.8m("2g-7X",\'4py: "15d", 1Q: \'+a);a=3n.4O("5u");a.3A(f);b=3n.4O("5u");b.8k="3P-1c6-9Fj";b.3A(3n.1wH(e));b.3A(h);b.3A(a);1f b}1b XU(a,b,c){1d d=3n.4O("12n");d.1I="12n";d.8S=b;d.8k="3P-1c6-2iS";a="1aI: "+a;g(c)&&(a+=\', 1cg: {"3P-1c6-52s" : \'+c+"}");d.8m("2g-7X",a);1f d}1b YU(a,b,c){b=1k.2o(c,b);1f b=1k.1V(b,a)}1b Pz(a,b){1b c(a){a=e.2R.11P({x:a.1K.x,y:a.1K.y});g(a)&&(e.9k=g(a.1ho)?a.1ho:a.9k);e.2R.1e2();e.2S0=!1}1b d(a){1d b,c=l.3c;a=e.2R.3w.1vv({x:a.1K.x,y:a.1K.y},c);if(g(a)){c=c.10Z(a);a=l.7G.1oy.33P;1j(1d d=0;!b&&d<a.1h;++d){1d f=a[d];if(g(f))1j(1d h=0;!b&&h<f.1h;++h){1d p=f[h];Q.8h(p.3g,c)&&(b=p)}}}e.11H=b;e.2RZ=!1}if(!g(a))1t 1g r("4r is 1X");if(!g(b))1t 1g r("3Mo is 1X");1d e=1a,f=a.3M,h=1g Ne(f);1a.1wI=h;1a.2R=a;1a.10C=f;1a.1Dv=1a.1ZE=1a.1cC=1a.7h=1p 0;1a.26i=b;1d l=1a.2R.10a;l.2S1=!0;1a.1bR=1a.37N=1a.30k=!1;1a.3Mj="";1a.52t=1a.1aT=1a.1ZH=1a.3dv=1a.3AU=1a.3AW=1a.30j=1a.3AX=!1;1a.3Ml=1a.2dK=1;1a.3Mm=1a.3dt=1a.3du=!1;1a.2lM="";1a.2RZ=1a.2S0=1a.2I3=1a.30l=!1;1a.3AZ=1a.1eJ=!0;1a.3AV=1a.3AY=!1;1a.3Mk="";ta.1uX(1a,"30k 37N 1bR 3Mj 3AX 30j 3AW 3AU 3dv 1ZH 1aT 52t 2dK 3du 3dt 3Mm 2lM 30l 2I3 2S0 2RZ 1eJ 3AZ 3AY 3AV 3Mk".7g(" "));1a.2wt=bd(1b(){e.1eJ=!e.1eJ});1a.5k6=bd(1b(){e.3AZ=!e.3AZ});1a.5k4=bd(1b(){e.3AY=!e.3AY});1a.5k2=bd(1b(){e.3AV=!e.3AV});1a.5jN=ta.1sf(1a,"30k").1bW(1b(a){e.2R.2yy=a;e.2R.1e2()});1a.5jM=ta.1sf(1a,"37N").1bW(1b(a){e.2R.3dx=a;e.2R.1e2()});1a.5jL=ta.1sf(1a,"1bR").1bW(1b(a){a?e.1Dv=1g fw({11z:e.26i}):e.26i.1dd=""});1a.4kZ=bd(1b(){e.7h.15S=e.3AX;e.2R.1e2();1f!0});1a.5jK=ta.1sf(1a,"3AX").1bW(1b(){e.4kZ()});1a.4kY=bd(1b(){e.30j?(e.1ZE=1g oD({4a:e.7h.4a}),e.2R.13y.add(e.1ZE)):g(e.1ZE)&&(e.2R.13y.3S(e.1ZE),e.1ZE=1p 0);e.2R.1e2();1f!0});1a.5jJ=ta.1sf(1a,"30j").1bW(1b(){e.4kY()});1a.4kX=bd(1b(){e.2R.3jy=e.3AW?1b(a){1f g(e.1ZE)&&a.7H===e.1ZE.7h?!0:g(e.7h)?a.7H===e.7h||a.7H===e.7h.13d||a.7H.9k===e.7h:!1}:1p 0;1f!0});1a.5jI=ta.1sf(1a,"3AW").1bW(1b(){e.4kX();e.2R.1e2()});1a.5jH=ta.1sf(1a,"1ZH").1bW(1b(a){l.7G.1oy.1JC.1ZH=a;e.2R.1e2()});1a.5jG=ta.1sf(1a,"1aT").1bW(1b(a){e.2R.3dw=a;e.2R.1e2()});1a.5jF=ta.1sf(1a,"52t").1bW(1b(a){e.2R.6z8=a;e.2R.1e2()});1a.5jE=ta.1sf(1a,"2dK").1bW(1b(a){e.2R.4cb=a;e.2R.1e2()});1a.5kb=bd(1b(){e.2dK=YU(1,e.3Ml,e.2dK+1);e.2R.1e2();1f!0});1a.5k9=bd(1b(){e.2dK=YU(1,e.3Ml,e.2dK-1);e.2R.1e2();1f!0});1a.5jD=ta.1sf(1a,"3du").1bW(1b(a){l.7G.1JC.3op=a;a||(e.3dv=!1)});1d p;1a.4kW=bd(1b(){e.3dt&&!g(p)?p=a.1uU.2mG(1g Ez({8c:a.16u.8c})):!e.3dt&&g(p)&&(a.1uU.3S(p),p=1p 0);1f!0});1a.5jC=ta.1sf(1a,"3dt").1bW(1b(){e.4kW();e.2R.1e2()});1a.5jB=ta.1sf(1a,"3AU").1bW(1b(){e.4kV();e.2R.1e2()});1a.4kV=bd(1b(){l.7G.1oy.1JC.3SM=e.3AU?e.1cC:1p 0;e.2R.1e2();1f!0});1a.5k8=bd(1b(){e.3dv?(e.3du=!0,l.7G.1tN=[],g(e.1cC)&&e.1cC.1jP&&l.7G.1tN.1q(e.1cC)):e.3du=!1;1f!0});1a.5jA=ta.1sf(1a,"3dv").1bW(1b(){e.4kT();e.2R.1e2()});1a.26h=bd(1b(){e.2S0=!e.2S0});1a.5jz=ta.1sf(1a,"2S0").1bW(1b(a){a?h.1a1(c,Va.1yr):h.1cQ(Va.1yr)});1a.5k0=bd(1b(){e.2RZ=!e.2RZ});1a.5jy=ta.1sf(1a,"2RZ").1bW(1b(a){a?h.1a1(d,Va.1yr):h.1cQ(Va.1yr)});1a.3Mi=a.2lL.7K(1b(){e.13A()})}1b VD(a,b){if(!g(a))1t 1g r("11z is 1X.");if(!g(b))1t 1g r("4r is 1X.");a=Ie(a);1d c=3n.4O("5u");1a.1cT=b=1g Pz(b,c);1a.15Q=a;1d d=3n.4O("5u");1a.17e=d;1d e=3n.4O("5u");e.8S="1di 6z7";e.8k="3P-1c6-12n";e.8m("2g-7X","1aI: 2wu");d.3A(e);d.8k="3P-1c6";d.8m("2g-7X",\'1cg: { "3P-1c6-13z" : 1eJ, "3P-1c6-1qr" : !1eJ }\');a.3A(1a.17e);1a.6z6=e=3n.4O("5u");e.8k="3P-1c6-2iQ";d.3A(e);d=UD.4mD;a=UD.4mE;1d f=d(e,"5Zo","3AZ","5k7"),h=a("2rW 9Fi","30k"),l=3n.4O("5u");l.8k="3P-1c6-6yZ";l.8m("2g-7X","13z: 30k, 1jH: 3Mm");h.3A(l);f.3A(h);f.3A(a("2rW 6z3 9Fh","37N"));f.3A(a("6z5 6z4","1bR"));c.8k="3P-1c6-322";f.3A(c);c=3n.4O("5u");c.8k="3P-1c6-1hf";c.8m("2g-7X","1jH: 3Mj");f.3A(c);c=3n.4O("5u");f.3A(c);f=3n.4O("1kl");f.8m("2g-7X",\'1jH: "&2dL;&2dL;&2dL;&2dL;&2dL;6z3:"\');c.3A(f);f=3n.4O("1kl");f.8m("2g-7X","3l: 3Mk");c.3A(f);f=3n.4O("15d");f.1I="12n";f.1Q="-";f.8k="3P-1c6-2iS";f.8m("2g-7X","1aI: 5ka");c.3A(f);f=3n.4O("15d");f.1I="12n";f.1Q="+";f.8k="3P-1c6-2iS";f.8m("2g-7X","1aI: 5kc");c.3A(f);c=d(e,"5lP","3AY","5k5");f=3n.4O("5u");f.8k="3P-1c6-6z1";c.3A(f);h=3n.4O("15d");h.1I="12n";h.1Q="3to a 9k";h.8k="3P-1c6-2iS";h.8m("2g-7X",\'1cg: {"3P-1c6-52s" : 2S0}, 1aI: 1FK\');c=3n.4O("5u");c.8k="3P-1c6-2V";c.3A(h);f.3A(c);f.3A(a("2rW 6yY 1cq","3AX","30l"));f.3A(a("2rW 1bY 3Mc","30j","30l"));1a.6z2=a("2rW 1cF 1bM","3AW","30l");f.3A(1a.6z2);e=d(e,"2iB","3AV","5k3");d=3n.4O("5u");d.8k="3P-1c6-6z1";e.3A(d);f=3n.4O("15d");f.1I="12n";f.1Q="3to a 11H";f.8k="3P-1c6-2iS";f.8m("2g-7X",\'1cg: {"3P-1c6-52s" : 2RZ}, 1aI: 5k1\');c=3n.4O("5u");c.3A(f);c.8k="3P-1c6-2V";d.3A(c);c=3n.4O("5u");d.3A(c);1d p=3n.4O("15d");p.1I="12n";p.1Q="6z0";p.8k="3P-1c6-2iS";p.8m("2g-7X","1aI: 5jZ");1d n=3n.4O("15d");n.1I="12n";n.1Q="NW";n.8k="3P-1c6-2iS";n.8m("2g-7X","1aI: 5jY");1d k=3n.4O("15d");k.1I="12n";k.1Q="NE";k.8k="3P-1c6-2iS";k.8m("2g-7X","1aI: 5jX");h=3n.4O("15d");h.1I="12n";h.1Q="SW";h.8k="3P-1c6-2iS";h.8m("2g-7X","1aI: 5jW");f=3n.4O("15d");f.1I="12n";f.1Q="SE";f.8k="3P-1c6-2iS";f.8m("2g-7X","1aI: 5jV");l=3n.4O("5u");l.8k="3P-1c6-2lM";c.8k="3P-1c6-6yZ";c.3A(l);c.8m("2g-7X","13z: 2I3");l.8m("2g-7X","1jH: 2lM");l=3n.4O("5u");l.8k="3P-1c6-9Fg";l.8S="9Ff 2AZ:";c.3A(l);l=3n.4O("1j9");1d w=3n.4O("tr"),x=3n.4O("tr"),m=3n.4O("td");m.3A(p);p=3n.4O("td");p.3A(n);n=3n.4O("td");n.3A(k);w.3A(m);w.3A(p);w.3A(n);k=3n.4O("td");n=3n.4O("td");n.3A(h);h=3n.4O("td");h.3A(f);x.3A(k);x.3A(n);x.3A(h);l.3A(w);l.3A(x);c.3A(l);d.3A(a("2rW 6yY 2M2","3AU","2I3"));d.3A(a("2rW 1cF 1bM","3dv","2I3"));e.3A(a("6yX","1ZH"));e.3A(a("9Fe 6yW 2H","3du"));e.3A(a("2rW 11H 9R","3dt"));ta.1AH(b,1a.17e)}1b Qz(a){1f cb("1ja/1or/5fH/9Fd"+a+".1Ui")}1b 5jv(a){1b b(d){if(!a.3Z())if(a.30i)10G{1d e=a.3Mh;if(g(e)){e=1E3/e;1d f=d-c;f>e&&(a.1ce(),a.3t(),c=d-f%e)}1s a.1ce(),a.3t();Oq(b)}11B(h){}1s a.3jx=!1}a.3jx=!0;1d c=0;Oq(b)}1b 4kL(a){1d b=a.10C,c=b.18L,d=b.1gt;1d e=a.3jw?1:7O.3Mg;e*=a.2dJ;g(a.2R)&&(a.2R.13S=e);a.4kO=c;a.4kN=d;c*=e;d*=e;e=4ca;1d f=6yV,h=a.14n;g(h.2F6)&&(e=m(h.2F6.6yU,e),f=m(h.2F6.6yT,f));h=c;1d l=d;if(h>e||l>f)h/e>l/f?(h=e,l=d/c*e):(h=c/d*f,l=f);b.1G=h;b.1D=l;a.4kJ=0!==c&&0!==d;a.4kM=7O.3Mg}1b 4kK(a){1d b=a.10C,c=b.1G;b=b.1D;0!==c&&0!==b&&(a=a.2R.3w.3j,g(a.13n)?a.13n=c/b:(a.5C=b/c*a.2W,a.7b=-a.5C))}1b ht(a,b){if(!g(a))1t 1g r("11z is 1X.");a=Ie(a);1a.14n=b=m(b,{});1d c=3n.4O("5u");c.8k="3P-26g";a.3A(c);1d d=3n.4O("3M"),e=Nc.6u7();if(1a.9Fc=e)d.2r.6yS=Nc.6u6();d.6xN=1b(){1f!1};d.9Fb=1b(){1f!1};c.3A(d);e=3n.4O("5u");e.8k="3P-26g-1mn";1d f=g(b.2wD)?Ie(b.2wD):c;f.3A(e);1d h=g(b.2I1)?Ie(b.2I1):c,l=m(b.51P,!0),p=m(b.2HQ,!1);1a.17e=c;1a.15Q=a;1a.10C=d;1a.4kM=1a.4kN=1a.4kO=0;1a.5jx=h;1a.3jv=f;1a.5ju=e;1a.3jx=1a.4kJ=!1;1a.6yR=l;1a.2dJ=1;1a.3jw=p;1a.2lB=!1;1a.1aG=g(b.14c)?b.14c:1g Cu;4kL(1a);10G{1d n=1g gc({3M:d,2F6:b.2F6,2wD:e,2I1:h,11s:b.11s,2mR:b.2mR,1fw:m(b.1fw,!1),1DM:b.1DM,6x:b.6x,27c:b.27c,2xX:b.2xX,2xY:b.2xY});1a.2R=n;n.3w.1zg=k.16a;4kK(1a);1d z=m(n.11s.3c,ba.9y),w=b.10a;g(w)||(w=1g He(z));!1!==w&&(n.10a=w,n.10a.6x=m(b.3LK,ed.3bE));1d x=b.20t;g(x)||(x=1g GD({5p:{1sp:Qz("px"),1DI:Qz("mx"),1yN:Qz("py"),1yM:Qz("my"),1DH:Qz("pz"),1DG:Qz("mz")}}));!1!==x&&(n.20t=x,n.1PI=1g Cz,n.4c9=1g sz);1d D=b.2mC;g(D)||(D=1g jw(z));!1!==D&&(n.2mC=D);1d t=!1===b.10a?!1:b.1jf;g(t)||(t=1g Yv({2I:cb("1ja/1or/9Fa.1Ui")}));!1!==t&&n.1uU.2mG(t);g(b.16u)&&!1!==b.10a&&(n.16u=b.16u);g(b.1Q7)&&n.1uU.5Aj(b.1Q7);1a.5jw=1g Ne(d,!1);g(b.1ef)&&(b.1ef===O.10j&&1a.2R.2ws(0),b.1ef===O.15j&&1a.2R.2wr(0));1a.30i=1p 0;1a.2wi=m(b.2wi,!0);1a.3Mh=1p 0;1a.2lC=b.2lC;1d q=1a;n.5tW.7K(1b(a,b){q.30i=!1;q.3jx=!1;q.6yR&&q.4kQ("An 7A 1Jq 14p 2gE.  6yQ 14d 9F9.",1p 0,b)})}11B(G){1t l&&1a.4kQ("6u 49L 3L7.",\'6yP <a 17S="10R://1n.3ds.1m9">10R://1n.3ds.1m9</a> to 9F8 17m 1DE 2MG 1Ve and 9F7 19G 1zV.  9F6 5rb a 3zd 2MG 1Ve or 2OQ 1DE 1qA 6yr.  9F5 7A 4bI is 4Cb:\',G),G;}}1b WD(a){1d b=1a,c=ta.19H(ge.3d7),d=ta.19H(ge.3e);1a.52r=1p 0;ta.12U(1a,"52r",{1n:1b(){1f c()}});1a.2RL=1p 0;ta.12U(1a,"2RL",{1n:1b(){1f d()},1C:1b(a){d(a&&ge.3e)}});1a.1d6=1p 0;ta.12U(1a,"1d6",1b(){1f 1a.2RL?c()?"6xA 3qV 3AO":"6yO 3AO":"6yO 3AO 3mC"});1a.10u=bd(1b(){ge.3d7?ge.2rL():ge.2iO(b.3Mf)},ta.1sf(1a,"2RL"));1a.3Mf=m(Ie(a),3n.1hg);1a.1Zz=1b(){c(ge.3d7)};3n.7K(ge.3j7,1a.1Zz)}1b XD(a,b){if(!g(a))1t 1g r("11z is 1X.");a=Ie(a);b=1g WD(b);b.6yN="M 104.24m 17.2ad L 83.5 38.1BU L 83.2aA 18.1KI L 76.125 25.5 L 76.2F7 51.2RR L 102.1KD 51.2ay L 102.1KD 51.2RR L 109.625 44.5 L 89.24n 44.2aA L 110.24n 23.2aA L 104.24m 17.2ad z M 23.75 17.1KH L 17.2RT 23.1BU L 38.2RT 44.1BU L 18.5 44.2aD L 25.2RR 51.2ay L 52 51.2RR L 51.1uh 25.2aD L 44.2az 18.25 L 44.625 38.1sZ L 23.75 17.1KH z M 25.2az 76.1tu L 18.375 83.1KD L 38.2RR 83.2aA L 17.2ay 104.2aA L 23.625 110.25 L 44.5 89.375 L 44.1KH 109.1KH L 51.875 102.1KD L 51.875 76.1BV L 25.2az 76.1tu z M 102.375 76.1ES L 76.1ES 76.24n L 76.24n 102.1BU L 83.1sZ 109.2wH L 83.2ad 89.2aD L 104.2aA 110.375 L 110.25 104.2aD L 89.25 83.2aD L 109.2az 83.1sZ L 102.375 76.1ES z";b.6yM="M 83.1uh 17.2ad L 83.1uh 17.1KH L 76.1WF 24.875 L 97.2F7 24.1uh L 76.2F7 45.1uh L 81.2ae 51.2ay L 102.2RR 30.2ae L 102.875 51.1ES L 110.1ES 43.875 L 110.24n 17.1KH L 83.1uh 17.2ad z M 44.125 17.1KH L 17.2RT 17.625 L 17.2ae 43.2RT L 25.1KI 51.24n L 25.1KD 30.1uh L 46.1ES 51.2ay L 52 45.1uh L 31 25 L 51.1BU 24.2RT L 44.125 17.1KH z M 46.1BV 76.1tu L 25.24n 96.875 L 25.2F7 76.1WF L 17.2ay 83.2ae L 17.2ay 110.1KI L 44 110.25 L 51.1KD 102.2ae L 30.2RT 102.2Ff L 51.875 81.875 L 46.1BV 76.1tu z M 82 76.1ES L 76.1ES 82 L 97.1ES 103 L 76.2wH 103.1BV L 84.1tu 110.375 L 110.25 110.24m L 110.1KI 84.1BV L 102.2ae 76.2ay L 102.2Ff 97 L 82 76.1ES z";1d c=3n.4O("12n");c.1I="12n";c.8k="3P-12n 3P-3LL";c.8m("2g-7X","1wZ: { 17s: 1d6 },1aI: 14Z,5F: 2RL,1DD: { 9w: 52r ? 6yN : 6yM, 1G: 128, 1D: 128 }");a.3A(c);ta.1AH(b,c);1a.15Q=a;1a.1cT=b;1a.17e=c}1b ZU(a){if(!g(a)||!g(a.4r)||!g(a.6o))1t 1g r("3v.4r and 9F4.6o is 1X.");1a.3AS=a.6o;1a.10z=m(a.2I,"//44g.4Zf.2fH/");0<1a.10z.1h&&"/"!==1a.10z[1a.10z.1h-1]&&(1a.10z+="/");1a.2dI=nB.2IV(a.10t);1a.2R=a.4r;1a.4c8=a.52q;1a.2RW="";1a.2RX=!1;1a.3AT=1p 0;1a.1Tl=1g sa;1a.3Me=1p 0;1d b=1a;1a.5jt=bd(1b(){b.2RP?(b.2RX=!1,g(b.3AT)&&(b.3AT.1hm=!0,b.3AT=1p 0)):6yL(b)});1a.52p=!1;ta.1uX(1a,["2RW","2RX","52p"]);1a.2RP=1p 0;ta.12U(1a,"2RP",{1n:1b(){1f 1a.2RX}});1a.2F5=1p 0;ta.12U(1a,"2F5",{1n:1b(){1f 1a.2RP?"9F3...":1a.2RW},1C:1b(a){if("4n"!==2h a)1t 1g r("1Q 2Q be a 1eu 4n.");1a.2RW=a}});1a.52q=1p 0;ta.12U(1a,"52q",{1n:1b(){1f 1a.4c8},1C:1b(a){if(g(a)&&0>a)1t 1g r("1Q 2Q be 2HU.");1a.4c8=a}})}1b 6yK(a,b){a.2R.3w.1AG({16h:b,1aH:1b(){a.1Tl.5k()},13k:a.4c8,1MJ:A.8K})}1b 6yL(a){1d b=a.2F5;if(!/^\\s*$/.6S(b)){1d c=b.141(/[^\\s,\\n]+/g);if(2===c.1h||3===c.1h){1d d=+c[0],e=+c[1];c=3===c.1h?+c[2]:300;if(!11I(d)&&!11I(e)&&!11I(c)){6yK(a,k.8g(d,e,c));1f}}a.2RX=!0;b=Km(5js,{7V:{9F2:b,17J:"",3L:"",9F1:"",9F0:"",9EZ:50,9EY:1,10t:a.9EX},51h:"1Jg",9EW:"9EV"});1d f=a.3AT=Z(b,1b(b){if(!f.1hm)if(a.2RX=!1,0===b.1h||0===b.9EU)a.2F5=a.2RW+" (2S 1ji)";1s{g(a.2RY)&&(a.3AS.2j5.3S(a.2RY),a.2RY=1p 0);1d c=b.6yI[0];a.2RW=c.2i;c=c.17J;c.1tT=c.x;c.1mp=c.y;c=k.8g(c.x,c.y,500);g(c)&&(a.2RY=6yJ(b,a),a.3AS.2j5.add(a.2RY),Z(a.2RY,1b(b){a.2RY=b;a.3AS.1AG(b)},1b(a){11l.7k(a)}))}},1b(){f.1hm||(a.2RX=!1,a.2F5=a.2RW+" (7A)")})}}1b 6yJ(a,b){1d c={1I:"3vi",1jG:[]},d=a.6yI;a=[];1j(1d e=0,f=d.1h;e<f;e++){1d h=d[e].17J,l=B.8I(h.x);h=B.8I(h.y);a.1q(1g T(l,h))}b=AP(b.3AS.16u,9,a);1f Z(b,1b(a){1j(1d b=0,e=d.1h;b<e;b++){1d f=d[b],h=f.2gg,l=a[b],g=B.10Q(l.3N),p=B.10Q(l.4k);c.1jG.1q({1I:"19E",3y:{1I:"18H",9R:[g,p,l.1D]},5U:{17s:f.2i,"1H5-1A":"#9ET",44d:f.9ES,2gg:h}})}1f(1g vs).9ER(c)})}1b YD(a){if(!g(a)||!g(a.11z))1t 1g r("3v.11z is 1X.");if(!g(a.4r)||!g(a.6o))1t 1g r("3v.4r and 3v.6o is 1X.");1d b=Ie(a.11z);a=1g ZU(a);a.6yE="9EQ.772,26.9EP-7.126-7.9EO.96-1.583,1.523-3.435,1.524-5.9EN.169,8.6yH,19.478,3.401,13.688,3.9EM.897,3.401,3.204,8.6yH,3.204,13.6yG,5.789,4.693,10.481,10.484,10.9EL.987,0,3.839-0.563,5.422-1.9EK.128,7.9EJ.772,26.9EI.203,13.6yG.9EH-3.582,2.903-6.478,6.484-6.9EG.579,0.2X4,6.478,2.904,6.484,6.9EF-0.9EE,3.58-2.905,6.476-6.484,6.9ED.106,20.361,7.209,17.465,7.203,13.9EC";a.6yF="4ld.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.9EB 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.9EA";1d c=3n.4O("2Jl");c.8m("2g-7X","3lO: 1qs");1d d=3n.4O("15d");d.1I="1qs";d.8k="3P-26b-15d";d.8m("50W","51W an 2gg or 9Ez...");d.8m("2g-7X",\'1Q: 2F5,4py: "9Ey",1Pw: 2RP,1cg: { "3P-26b-15d-9Ex" : 52p || 2F5.1h > 0 }\');c.3A(d);1d e=3n.4O("1kl");e.8k="3P-26b-9Ew";e.8m("2g-7X","1aI: 1qs,1DD: { 9w: 2RP ? 6yF : 6yE, 1G: 32, 1D: 32 }");c.3A(e);b.3A(c);ta.1AH(a,c);1a.15Q=b;1a.1cT=a;1a.4kG=c;1a.2HY=1b(a){b.8h(a.15s)||d.16B()};1a.2HX=1b(a){b.8h(a.15s)&&d.31w()};Nc.1Tj()?(3n.7K("26e",1a.2HY,!0),3n.7K("3Md",1a.2HX,!0)):(3n.7K("1m1",1a.2HY,!0),3n.7K("1ZA",1a.2HX,!0),3n.7K("1n9",1a.2HY,!0),3n.7K("2lH",1a.2HX,!0))}1b $U(a,b){if(!g(a))1t 1g r("4r is 1X.");1a.2R=a;1a.1oi=b;1d c=1a;1a.10u=bd(1b(){c.2R.3w.5Fc(c.1oi)});1a.1d6="4hU 9Ev";ta.1uX(1a,["1d6"])}1b ZD(a,b,c){if(!g(a))1t 1g r("11z is 1X.");a=Ie(a);b=1g $U(b,c);b.4c2="9Eu,4l-10,8.9Et-4.25-3.9Es-4.9Er-2.9Eq.9Ep-2.938-2.9Eo-7.9En,9.9Em.9El.9Ek-10.9Ej-14.9Ei.6oM,2.9Eh.9Eg.25h-3.9Ef-4.9Ee.9Ed,1.9Ec.9Eb.9Ea-3.9E9-6.9E8";c=3n.4O("12n");c.1I="12n";c.8k="3P-12n 3P-1WE-12n 3P-9E7-12n";c.8m("2g-7X","1wZ: { 17s: 1d6 },1aI: 14Z,1DD: { 9w: 4c2, 1G: 28, 1D: 28 }");a.3A(c);ta.1AH(b,c);1a.15Q=a;1a.1cT=b;1a.17e=c}1b WK(){1a.5jq=1g sa;1a.5jp=1g sa;1a.1wE=500;1a.3LC=1a.3iZ=1a.3j3=!1;1a.16G=1a.3j2="";ta.1uX(1a,"3LC 3j2 16G 1wE 3j3 3iZ".7g(" "));1a.9E5=\'<5u 11F="3P-1Dq-9E4"><1kl 11F="3P-1Dq-4LD"></1kl></5u>\';1a.52m=1p 0;ta.12U(1a,"52m",{1n:1b(){1f!1a.3j3||1a.3iZ?"M 27.24m 1.1WF L 5.1RQ 27.2ae L 8.2F7 30.1KD L 30.1ES 4.1tu L 27.24m 1.1WF z M 13.2Ff 7.1tu C 11.6yD 7.1tu 9.1sZ 8.52o 9.1sZ 11.2aA L 9.1sZ 11.1KH L 2.2aD 7.1KI L 2.2aD 24.1BV L 9.1sZ 19.2az C 9.9E2 20.9E1 9.9E0 20.9DZ 9.75 21.1KI L 21.1WF 7.1tu L 13.2Ff 7.1tu z M 28.1KI 7.2wH L 14.2aD 24.1BV L 25.875 24.1BV C 28.52n 24.1BV 30.1RQ 22.6yC 30.1RQ 19.1WF L 30.1RQ 11.2aA C 30.1RQ 9.9DY 29.9DX 8.9DW 28.1KI 7.2wH z":"M 13.2Ff 7.1tu C 11.6yD 7.1tu 9.1sZ 8.52o 9.1sZ 11.2aA L 9.1sZ 11.1KH L 2.2aD 7.1KI L 2.2aD 24.1BV L 9.1sZ 19.2az C 9.9DV 22.9DU 11.9DT 24.1BV 13.2Ff 24.1BV L 25.875 24.1BV C 28.52n 24.1BV 30.1RQ 22.6yC 30.1RQ 19.1WF L 30.1RQ 11.2aA C 30.1RQ 8.52o 28.52n 7.1tu 25.875 7.1tu L 13.2Ff 7.1tu z"}});ta.12U(1a,"6yB",{1n:1b(){1f!g(1a.16G)||0===1a.16G.1h}})}1b $D(a){v.2l("11z",a);a=Ie(a);1d b=3n.4O("5u");b.8k="3P-1Dq";b.8m("2g-7X",\'1cg: { "3P-1Dq-13z" : 3LC, "3P-1Dq-9DS" : 6yB }\');a.3A(b);1d c=3n.4O("5u");c.8k="3P-1Dq-17s";c.8m("2g-7X","3l: 3j2");b.3A(c);c=3n.4O("12n");c.1I="12n";c.8k="3P-12n 3P-1Dq-3w";c.8m("2g-7X",\'1wZ: { 17s: "9DR 3w on 2c" },1aI: 1b () { 4kF.5k(1a); },5F: 3j3,1DD: { 9w: 52m, 1G: 32, 1D: 32 }\');b.3A(c);c=3n.4O("12n");c.1I="12n";c.8k="3P-1Dq-1TP";c.8m("2g-7X","1aI: 1b () { 4kE.5k(1a); }");c.1dd="&12K;";b.3A(c);1d d=3n.4O("6yA");d.8k="3P-1Dq-6yA";d.8m("9DQ","28u-1ik-9X 28u-9DP 28u-9DO");d.8m("2g-7X","2r : { 1wE : 5jr(40) }");d.8m("9DN",!0);b.3A(d);1d e=1g WK;ta.1AH(e,b);1a.15Q=a;1a.17e=b;1a.2HW=d;1a.1cT=e;1a.3jt=1p 0;1d f=1a;d.7K("1e4",1b(){1d a=d.9DM,c=a.4O("1H6");c.17S=cb("1fV/5gZ/9DL.1cg");c.39B="1Qw";c.1I="3l/1cg";1d p=a.4O("5u");p.8k="3P-1Dq-16G";a.13r.3A(c);a.1hg.3A(p);f.3jt=Vk(e,"16G",1b(a){d.2r.1D="5px";p.1dd=a;a=1F;1d c=p.4c7;if(1F!==c&&1===p.13P.1h&&(c=7O.1Zy(c),1F!==c)){1d e=y.5X(c["1Ds-1A"]);g(e)&&0!==e.2O&&(a=c["1Ds-1A"])}b.2r["1Ds-1A"]=a;a=p.1ZD().1D;d.2r.1D=a+"px"})});d.8m("1bv","4uh:4c6")}1b 5jg(a,b,c){a.1hL.1cQ(Va.1lX);g(a.2Fg)&&a.6o.14c.1yw.12R(a.2Fg);a.4c5=1p 0;a.2Fg=1p 0;a.9DK=!0;a.9DJ=Kd();1d d=B.10k-1k.12B(-c.y,c.x);b=1k.PI/4;1d e=0;e=d>=-b&&d<=b?4:d>=b&&d<=3*b?2:d>=3*b&&d<=5*b?3:1;a.2Fg=1b(b){b=a.6o.4r.3w;1d c=Kd();d=.11t*1k.abs(b.21E.1D/9DI);6U(e){1S 1:b.5EY(d);1W;1S 2:b.3pz(d);1W;1S 3:b.17b(b.2W,-d);1W;1S 4:b.17b(b.2W,d)}a.9DH=c};a.4c5=1b(b){a.9DG=!1;a.1hL.1cQ(Va.1lX);g(a.2Fg)&&a.6o.14c.1yw.12R(a.2Fg);a.4c5=1p 0;a.2Fg=1p 0};a.1hL.1a1(a.4c5,Va.1lX);a.6o.14c.1yw.7K(a.2Fg)}1b 5ji(a,b,c){a.1hL.1cQ(Va.1kj);a.1hL.1cQ(Va.1lX);a.3jr=1p 0;a.3js=1p 0;a.3M9=!0;a.4kD=1k.12B(-c.y,c.x);1d d=a.6o.4r;c=d.3w;1d e=4kA;e.x=d.3M.18L/2;e.y=d.3M.1gt/2;e=c.1vv(e,d.10a.3c,aV);g(e)?(a.3jq=Da.18N(e,d.10a.3c,bV),a.6yz=!1):(a.3jq=Da.18N(c.6K,d.10a.3c,bV),a.6yz=!0);d=A.1y(c.5o,cV);c.1Pa(a.3jq);a.6yy=-c.8e;a.9DF=k.7t(1g k(c.1K.x,c.1K.y,0));c.1Pa(d);a.3jr=1b(c,d){d=b.1ZD();d=1g C((d.2W-d.3B)/2,(d.7b-d.5C)/2);c=1g C(c.11R.x,c.11R.y);c=C.3V(c,d,XK);c=B.23Z(a.6yy-(1k.12B(-c.y,c.x)-a.4kD));d=a.6o.4r.3w;1d e=A.1y(d.5o,cV);d.1Pa(a.3jq);d.3pz(c- -d.8e);d.1Pa(e)};a.3js=1b(b){a.3M9=!1;a.1hL.1cQ(Va.1kj);a.1hL.1cQ(Va.1lX);a.3jr=1p 0;a.3js=1p 0};a.1hL.1a1(a.3jr,Va.1kj);a.1hL.1a1(a.3js,Va.1lX)}1b 5jh(a,b,c){a.1hL.1cQ(Va.1kj);a.1hL.1cQ(Va.1lX);a.4c4=1p 0;a.4c3=1p 0;c=B.10k-1k.12B(-c.y,c.x);c=0>c?0:c;c=c>B.10k?B.10k:c;a.3Ma=c;a.30g=!0;c=a.6o.4r;1d d=c.3w,e=4kA;e.x=c.3M.18L/2;e.y=c.3M.1gt/2;1j(1d f=d.1vv(e,c.10a.3c,aV);!g(f)&&e.y<c.3M.1gt;)e.y+=5,f=d.1vv(e,c.10a.3c,aV);g(f)&&(a.6yx=Da.18N(f,c.10a.3c,bV),a.4c4=1b(c,d){a.30g=!0;d=b.1ZD();d=1g C((d.2W-d.3B)/2,(d.7b-d.5C)/2);c=C.1y(c.11R);c=C.3V(c,d,XK);c=B.10k-1k.12B(-c.y,c.x);c=0>c?0:c;c=c>B.10k?B.10k:c;d=a.6o.4r.3w;1d e=A.1y(d.5o,cV);d.1Pa(a.6yx);d.5F2(c-a.3Ma);a.3Ma=c;d.1Pa(e);c=1k.8a(c/5jf);c=aE[19<c?19:c];a.30f=c.x;a.30e=c.y},a.4c3=1b(b){a.30g=!1;a.1hL.1cQ(Va.1kj);a.1hL.1cQ(Va.1lX);a.4c4=1p 0;a.4c3=1p 0},a.1hL.1a1(a.4c4,Va.1kj),a.1hL.1a1(a.4c3,Va.1lX))}1b Rz(a,b){1d c=a.6o.4r,d=c.3w,e=c.3M;c=1g C;c.x=e.18L/2;c.y=e.1gt/2;1d f;e=a.6o.4r;1d h=e.10a;a=e.3w;if(g(h)){e.2K3&&(f=e.271(c,5jd));1d l=a.1bZ(c,5je);e=h.11P(l,e,5jc);h=g(f)?k.3s(f,a.6K):3a.19B;a=g(e)?k.3s(e,a.6K):3a.19B;f=h<a?f:e}1s f=1p 0;g(f)&&(a=k.3s(d.1K,f),b=.9DE*b*.2,b=a*(300<a?b:2*b),a=1g k,k.3V(f,d.1K,a),h=1g k,h=k.1y(d.2W,h),l=k.2A(a,h),e=1g k,e=k.4g(h,l,e),h=1g k,h=k.3V(a,e,h),a=1g k,a=k.1T(h,a),d.1tJ(a,b),b=1g k,b=k.1T(f,b),f=k.7t(f),f=ba.1mg(f),c=d.1vv(c,f,1g k),!g(c)||11I(c.x)||11I(c.y)||11I(c.z)||(c=k.1T(c,c),0>d.21E.1D||(f=k.1B3(b,c),B.5T(f,0,B.1io)||(a=1g k,a=k.4B(b,c,a),d.17b(a,f)))))}1b dV(){1a.2RU=!1;1d a=1a;1a.10u=bd(1b(){a.2RU=!a.2RU});1a.5j8=bd(1b(){a.2iR=!1});1a.5j6=bd(1b(){a.2iR=!0});1a.2iR=!1;1a.1d6="5gJ 9DD";ta.1uX(1a,["1d6","2RU","2iR"])}1b bE(a){if(!g(a)||!g(a.11z))1t 1g r("3v.11z is 1X.");1d b=Ie(a.11z),c=1g dV;a=m(a.6xa,!1);c.2RU=a;c.4c2="9DC,1.9DB.973,1.466,1.466,7.973,1.466,9DA,8.52l,6.507,14.534,14.534,14.9Dz.52l,0,14.534-6.507,14.534-14.9Dy.534,7.973,24.52l,1.466,16,1.9Dx 9Dw.328,24.9Dv-2.6yw-2.9Du.9Dt.9Ds.328,19.9Dr.9Dq-2.6yw-1.9Dp-3.19,3.63-3.696,3.63-5.9Do-1.9Dn-0.924-1.826-2.134-1.9Dm-1.254,0-2.354,0.924-2.354,0.9Dl-1.541-1.9Dk,0,1.519-1.584,4.137-1.9Dj.487,0,4.796,1.54,4.796,4.9Di.156,16.208,17.328,16.627,17.328,19.9Dh";1d d=3n.4O("1kl");d.8k="3P-3LM-2RQ";b.3A(d);a=3n.4O("12n");a.1I="12n";a.8k="3P-12n 3P-1WE-12n 3P-1fX-1pX-12n";a.8m("2g-7X","1wZ: { 17s: 1d6 },1aI: 14Z,1DD: { 9w: 4c2, 1G: 32, 1D: 32 }");d.3A(a);a=3n.4O("5u");a.8k="3P-1fX-1pX";a.8m("2g-7X",\'1cg: { "3P-1fX-1pX-13z" : 2RU}\');d.3A(a);1d e=3n.4O("12n");e.1I="12n";e.8k="3P-1fX-12n 3P-1fX-12n-3B";e.8m("2g-7X",\'1aI: 5j9, 1cg: {"3P-1fX-12n-1bM": !2iR, "3P-1fX-12n-6yv": 2iR}\');1d f=3n.4O("1kp");f.1bv=cb("1fV/1eX/2rV/52k.1fu");f.8k="3P-1fX-12n-6O";f.2r.1G="3m3";f.2r.1D="3m3";e.3A(f);e.3A(3n.1wH("52k"));f=3n.4O("12n");f.1I="12n";f.8k="3P-1fX-12n 3P-1fX-12n-2W";f.8m("2g-7X",\'1aI: 5j7, 1cg: {"3P-1fX-12n-1bM": 2iR, "3P-1fX-12n-6yv": !2iR}\');1d h=3n.4O("1kp");h.1bv=cb("1fV/1eX/2rV/6yu.1fu");h.8k="3P-1fX-12n-6O";h.2r.1G="3m3";h.2r.1D="3m3";f.3A(h);f.3A(3n.1wH("6yu"));a.3A(e);a.3A(f);e=3n.4O("5u");e.8k="3P-1aI-1fX-1pX 3P-1fX-1pX-1lh";e.8m("2g-7X",\'1cg: { "3P-1aI-1fX-1pX-13z" : !2iR}\');e.1dd=\'        <1j9>            <tr>                <td><1kp 1bv="\'+cb("1fV/1eX/2rV/9Dg.1fu")+\'" 1G="48" 1D="48" /></td>                <td>                    <5u 11F="3P-1fX-1pX-6yt">51N 11A</5u>                    <5u 11F="3P-1fX-1pX-1Tm">1Mj 1aI + 2RV</5u>                </td>            </tr>            <tr>                <td><1kp 1bv="\'+cb("1fV/1eX/2rV/9Df.1fu")+\'" 1G="48" 1D="48" /></td>                <td>                    <5u 11F="3P-1fX-1pX-5K">4DM 11A</5u>                    <5u 11F="3P-1fX-1pX-1Tm">1Dh 1aI + 2RV, or</5u>                    <5u 11F="3P-1fX-1pX-1Tm">52k 4ox 3IF</5u>                </td>            </tr>            <tr>                <td><1kp 1bv="\'+cb("1fV/1eX/2rV/9De.1fu")+\'" 1G="48" 1D="48" /></td>                <td>                    <5u 11F="3P-1fX-1pX-17b">6ys 11A</5u>                    <5u 11F="3P-1fX-1pX-1Tm">41G 1aI + 2RV, or</5u>                    <5u 11F="3P-1fX-1pX-1Tm">34x + 1Mj/1Dh 1aI + 2RV</5u>                </td>            </tr>        </1j9>\';a.3A(e);e=3n.4O("5u");e.8k="3P-1Jo-1fX-1pX 3P-1fX-1pX-1lh";e.8m("2g-7X",\'1cg: { "3P-1Jo-1fX-1pX-13z" : 2iR}\');e.1dd=\'        <1j9>            <tr>                <td><1kp 1bv="\'+cb("1fV/1eX/2rV/9Dd.1fu")+\'" 1G="70" 1D="48" /></td>                <td>                    <5u 11F="3P-1fX-1pX-6yt">51N 11A</5u>                    <5u 11F="3P-1fX-1pX-1Tm">9Dc 4c1 2RV</5u>                </td>            </tr>            <tr>                <td><1kp 1bv="\'+cb("1fV/1eX/2rV/9Db.1fu")+\'" 1G="70" 1D="48" /></td>                <td>                    <5u 11F="3P-1fX-1pX-5K">4DM 11A</5u>                    <5u 11F="3P-1fX-1pX-1Tm">52j 4c1 9Da</5u>                </td>            </tr>            <tr>                <td><1kp 1bv="\'+cb("1fV/1eX/2rV/9D9.1fu")+\'" 1G="70" 1D="48" /></td>                <td>                    <5u 11F="3P-1fX-1pX-17b">9D8 11A</5u>                    <5u 11F="3P-1fX-1pX-1Tm">52j 4c1 2RV, 1ik 2G</5u>                </td>            </tr>            <tr>                <td><1kp 1bv="\'+cb("1fV/1eX/2rV/9D7.1fu")+\'" 1G="70" 1D="48" /></td>                <td>                    <5u 11F="3P-1fX-1pX-1tn">6ys 11A</5u>                    <5u 11F="3P-1fX-1pX-1Tm">52j 4c1 2RV, 2bf 2G</5u>                </td>            </tr>        </1j9>\';a.3A(e);ta.1AH(c,d);1a.15Q=b;1a.1cT=c;1a.2lK=d;1a.2HV=1b(a){d.8h(a.15s)||(c.2RU=!1)};Nc.1Tj()?3n.7K("26e",1a.2HV,!0):(3n.7K("1m1",1a.2HV,!0),3n.7K("1n9",1a.2HV,!0))}1b YK(a){if(!g(a)||!g(a.4r))1t 1g r("3v.4r is 1X.");1a.2R=a.4r;1a.2SG=m(a.2SG,"18m 1aM 9D6 to be 9D5 9D4 on 1DE 3Ow.  2Jg 10G 1nl a 3zd 2MG 1Ve or 2OQ 1DE 1qA 6yr.");1a.3dr=1a.4c0=!1;ta.1uX(1a,["2SG","4c0","3dr"]);1d b=1a;1a.5j4=bd(1b(){b.3dr=!1;b.4c0=!0});a=bj.5BI(a.4r);1a.5j3=a.4x7.7K(1b(){b.4c0||(b.3dr=!0)});1a.5j2=a.4x6.7K(1b(){b.3dr=!1})}1b cE(a){if(!g(a)||!g(a.11z))1t 1g r("3v.11z is 1X.");if(!g(a.4r))1t 1g r("3v.4r is 1X.");1d b=Ie(a.11z);a=1g YK(a);1d c=3n.4O("5u");c.8k="3P-1bR-52i-19s-207";c.8m("2g-7X","13z: 3dr");1d d=3n.4O("12n");d.8m("1I","12n");d.8k="3P-1bR-52i-19s-9D3";d.1dd="&12K;";d.8m("2g-7X","1aI: 5j5");c.3A(d);d=3n.4O("5u");d.8k="3P-1bR-52i-19s";d.8m("2g-7X","1jH: 2SG");c.3A(d);b.3A(c);ta.1AH(a,c);1a.15Q=b;1a.1cT=a;1a.17e=c}1b dE(a){if(!g(a))1t 1g r("4r is 1X.");1a.2R=a;1a.1Tk=a.3w.3j 2m Jb;1a.1eJ=1a.3AR=!1;1a.4bZ="9D2 4WV";1a.4bY="9D1 4WV";1a.3do=1p 0;1a.1ef=a.3z;ta.1uX(1a,"1Tk 3AR 1ef 1eJ 4bZ 4bY".7g(" "));1d b=1a;ta.12U(1a,"3do",1b(){1f b.1Tk?b.4bY:b.4bZ});1a.2wt=bd(1b(){b.1ef===O.10j||b.3AR||(b.1eJ=!b.1eJ)});1a.1n5=1g xj;1a.1n5.add(a.3dq,1b(a,d,e,f){b.1ef=e;b.1Tk=e===O.10j||b.2R.3w.3j 2m Jb});1a.1n5.add(a.4rc,1b(){b.3AR=g(a.3w.2fQ)});1a.5j0=bd(1b(){b.1ef!==O.10j&&(b.2R.3w.5Ef(),b.1Tk=!1,b.1eJ=!1)});1a.5iY=bd(1b(){b.1ef!==O.10j&&(b.2R.3w.5Ee(),b.1Tk=!0,b.1eJ=!1)});1a.177=O}1b eE(a,b){if(!g(a))1t 1g r("11z is 1X.");if(!g(b))1t 1g r("4r is 1X.");a=Ie(a);1d c=1g dE(b);c.52h="M 28.1ES,10.1BU 9.125,13.1KI 13.75,43.25 41.75,55.2F7 50.2ay,37 54.5,11.2ae z m 0.125,3 19.9D0,0.9CZ L 43.1tu,16.875 22.2az,14.1RQ z M 50.9CY,15.9CX 47.2RT,36.1tu 42.2aD,46 44.2Ff,19.1KD z M 12.625,16.1tu l 29.1ES,3.2az -2.1WF,31 L 16.1BU,41.125 z";c.52g="m 31.9CW,6.9CV -20.75,12.9CU 0.24n,24.2ad 22.1RQ,11.2ay 19.5,-12 0.1WF,-0.375 0,-0.75 0.9CT,-23.1KI z m 0.1BV,3.125 16.1WF,9.9CS -16.125,10.1RQ -17.24m,-9.2wH z m 18.1uh,11.9CR 0.1ES,20.1WF -17.1sZ,10.1KH 0.1ES,-20.1RQ z m -37.1BV,1.25 17.1KI,9.625 -0.1ES,19.1KI -16.2ae,-9 z";1d d=3n.4O("1kl");d.8k="3P-1IT-2RQ 3P-1WE-12n";a.3A(d);b=3n.4O("12n");b.1I="12n";b.8k="3P-12n 3P-1WE-12n";b.8m("2g-7X",\'1cg: { "3P-1IT-9CQ": !1Tk,   "3P-1IT-9CP": 1Tk,   "3P-12n-1nk" : 1ef === 177.10j || 3AR,    "3P-1IT-1bM": 1eJ },1wZ: { 17s: 3do },1aI: 2wu\');b.1dd=\'\\1wY!-- ko 1DD: { 9w: 52h, 1G: 64, 1D: 64, 1cg: "3P-1IT-9CO" } --\\1yJ\\1wY!-- /ko --\\1yJ\\1wY!-- ko 1DD: { 9w: 52g, 1G: 64, 1D: 64, 1cg: "3P-1IT-9CN" } --\\1yJ\\1wY!-- /ko --\\1yJ\';d.3A(b);b=3n.4O("12n");b.1I="12n";b.8k="3P-12n 3P-1WE-12n 3P-1IT-2iQ-6O";b.8m("2g-7X",\'1cg: { "3P-1IT-13z" : (1eJ && 1Tk),   "3P-1IT-1bs" : !1Tk,   "3P-1IT-1qr" : !1eJ },1wZ: { 17s: 4bZ },1aI: 5j1,1DD: { 9w: 52h, 1G: 64, 1D: 64 }\');d.3A(b);b=3n.4O("12n");b.1I="12n";b.8k="3P-12n 3P-1WE-12n 3P-1IT-2iQ-6O";b.8m("2g-7X",\'1cg: { "3P-1IT-13z" : (1eJ && !1Tk),   "3P-1IT-1bs" : 1Tk,   "3P-1IT-1qr" : !1eJ},1wZ: { 17s: 4bY },1aI: 5iZ,1DD: { 9w: 52g, 1G: 64, 1D: 64 }\');d.3A(b);ta.1AH(c,d);1a.1cT=c;1a.15Q=a;1a.2lK=d;1a.1wG=1b(a){d.8h(a.15s)||(c.1eJ=!1)};Nc.1Tj()?3n.7K("26e",1a.1wG,!0):(3n.7K("1m1",1a.1wG,!0),3n.7K("1n9",1a.1wG,!0))}1b fE(a,b){if(!g(a))1t 1g r("4r is 1X.");1a.2R=a;1d c=1a;1a.1n5=1g xj;1a.1n5.add(a.32C,1b(a,b,f,h){c.1ef=f;c.1eJ=!1});1a.1oi=m(b,2);1a.1ef=a.3z;1a.1eJ=!1;1a.4bP="2D";1a.4bQ="3D";1a.4bO="5Fp 4hU";ta.1uX(1a,["1ef","1eJ","4bP","4bQ","4bO"]);1a.3do=1p 0;ta.12U(1a,"3do",1b(){1d a=c.1ef;1f a===O.10j?c.4bP:a===O.6G?c.4bQ:c.4bO});1a.2wt=bd(1b(){c.1eJ=!c.1eJ});1a.5iX=bd(1b(){a.2ws(c.1oi)});1a.5iW=bd(1b(){a.2HT(c.1oi)});1a.5iV=bd(1b(){a.2wr(c.1oi)});1a.177=O}1b gE(a,b,c){if(!g(a))1t 1g r("11z is 1X.");if(!g(b))1t 1g r("4r is 1X.");a=Ie(a);1d d=1g fE(b,c);d.521="m 32.6yn,4.52e c -7.9CM,0 -14.9CL,2.9CK -19.9CJ,7.9CI -5.9CH,5.9CG -7.52f,11.9CF -7.52f,19.9CE 0,7.9CD 2.9CC,14.9CB 7.52f,19.9CA 4.9Cz,4.9Cy 11.9Cx,7.9Cw 18.9Cv,7.6yq 0.9Cu,0.9Ct 0.52b,0.3dp 0.52b,0.3dp l 0.2Fe,-0.2Fd c 0.9Cs,7.84e-4 0.9Cr,0.2Fe 0.6yo,0.2Fe 0.9Cq,0 0.9Cp,-0.9Co 0.6yk,-0.2Fe l 0.2Fe,0.2Fd c 0,0 0.9Cn,-0.9Cm 0.6y9,-0.3dp 6.9Cl,-0.9Ck 13.9Cj,-2.9Ci 18.9Ch,-7.6yq 2.9Cg,-2.9Cf 4.9Ce,-5.9Cd 5.9Cc,-8.9Cb 1.9Ca,-3.9C9 2.52d,-6.9C8 2.52d,-10.9C7 0,-6.9C6 -2.9C5,-12.9C4 -6.9C3,-17.9C2 -0.9C1,-0.9C0 0.9BZ,-0.9BY 0,-0.4bW -0.9BX,-0.9BW -0.9BV,-0.9BT -0.2Fd,-0.9BS -5.31e-4,-0.6yp -0.9BR,-0.9BQ -0.6yf,-0.6y2     -3.47e-4,-2.2e-4 -0.9BP,-0.9BO -0.6yo,-0.9BN C 51.9BM,13.9BL 51.9BK,13.9BJ 51.9BI,12.9BH 46.9BG,7.9BF 39.9BE,4.52e 32.6yn,4.52e z m -2.9BD,3.9BC 0.2Fd,9.9BB c -4.9BA,-0.9Bz -7.9By,-0.9Bx -9.9Bw,-0.9Bv 1.9Bu,-2.9Bt 2.9Bs,-4.9Br 3.6yc,-5.9Bq 2.9Bp,-2.9Bo 3.9Bn,-2.9Bm 5.9Bl,-3.9Bk z m 2.9Bj,0 c 1.9Bi,0.9Bh 3.9Bg,1.9Bf 5.9Be,3.9Bd 1.9Bc,1.9Bb 2.9Ba,3.9B9 3.9B8,5.6ym -2.9B7,0.9B6 -5.9B5,0.9B4 -8.9B3,0.527 L 33.9B2,8.9B1 z m 5.6ym,0.9B0 c 4.9AZ,1.9AY 7.9AX,3.9AW 10.9AV,6.9AU 0.9AT,0.9AS 0.9AR,0.9AQ 0.2Fd,0.2Fd -0.6yl,0.9AP -0.9AO,0.9AN -1.6yi,1.9AM -0.9AL,0.9AK -1.9AJ,0.9AI -2.9AH,0.6ye -1.9AG,-2.9AF     -3.9AE,-5.9AD -4.9AC,-7.9AB -0.9AA,-0.9Az -0.9Ay,-0.9Ax -1.6y7,-0.9Aw z m -15.9Av,0.9Au c -0.9At,0.9As -0.9Ar,0.9Aq -0.4bV,0.6yk -1.9Ap,1.9Ao -3.9An,3.9Am -4.9Al,6.9Ak -0.9Aj,-0.9Ai -1.9Ah,-0.9Ag -1.6yj,-0.6ya -0.9Af,-0.9Ae -1.9Ad,-1.9Ac -1.528,-1.6yj -0.5kY,-0.9Ab -0.9Aa,-0.9A9 -0.2Fe,-0.4bW 2.9A8,-2.9A7 4.9A6,-3.9A5 7.9A4,-5.9A3 z m -9.9A2,7.9A1 c 0.9A0,0.9zZ 0.9zY,1.9zX 1.6yi,1.9zW 0.9zV,0.9zU 1.9zT,0.9zS 1.528,0.9zR -1.9zQ,3.9zP -1.9zO,7.9zN -2.9zM,11.9zL C 14.9zK,30.9zJ 12.9zI,30.9zH 12.9zG,29.9zF 10.9zE,29.9zD 9.9zC,28.9zB 9.9zA,28.9zz 8.9zy,27.9zx 8.6yh,27.6yg 8.6yh,27.6yg l -0.9zw,0.2Fe C 9.9zv,23.9zu     11.9zt,19.9zs 13.9zr,16.9zq z m 37.9zp,0.6yf c 2.9zo,3.9zn 4.9zm,7.9zl 4.9zk,11.9zj -0.9zi,0.9zh -1.9zg,1.9zf -3.9ze,1.9zd -1.9zc,0.9zb -3.9za,0.9z9 -4.9z8,1.9z7 -0.9z6,-4.9z5 -0.9z4,-8.9z3 -1.6y4,-11.9z2 0.9z1,-0.9z0 2.9yZ,-0.9yY 2.52a,-0.9yX 1.9yW,-0.9yV 2.9yU,-1.9yT 2.9yS,-1.9yR z m -31.9yQ,2.9yP c 2.9yO,0.9yN 5.9yM,1.9yL 10.9yK,1.9yJ l 0.2Fd,10.9yI 0,0.2Fe 0,0.6ye c -5.9yH,-0.9yG -9.9yF,-0.9yE -12.9yD,-1.9yC 0.9yB,-4.9yA 0.9yz,-8.9yy 2.52d,-11.9yx z m 23.9yw,0.4bV c 1.9yv,3.9yu 1.9yt,6.9ys 1.6y3,11.6yd -3.9yr,0.9yq -7.9yp,0.9yo -11.6yd,0.9yn l 0,-0.9ym -0.9yl,-10.9yk c 4.9yj,-0.9yi 7.9yh,-0.9yg 9.9yf,-0.9ye z     M 8.9yd,30.9yc c 0.9yb,0.9ya 1.9y9,1.9y8 3.9y7,1.9y6 0.9y5,0.9y4 2.9y3,0.9y2 3.6yc,0.52c 0.9y1,3.9y0 0.9xZ,7.9xY 1.6y6,9.9xX -1.9xW,-0.9xV -2.9xU,-0.9xT -3.9xS,-0.52c -1.9xR,-0.9xQ -2.9xP,-1.9xO -2.52a,-1.9xN -0.9xM,-0.9xL -0.4bX,-0.4bX -0.4bX,-0.4bX L 9.9xK,40.9xJ C 8.9xI,37.9xH 8.6yb,34.9xG 8.6yb,31.9xF c 0,-0.9xE 0.9xD,-0.9xC 0.9xB,-0.52c z m 48.9xA,0.6ya c 0.6kY,0.9xz 0.4bW,0.9xy 0.4bW,0.6xW 0,2.9xx -0.9xw,5.9xv -1.6y8,8.9xu -0.9xt,0.9xs -0.9xr,0.9xq -0.52b,0.6y9 -0.9xp,0.9xo -1.9xn,1.9xm -3.9xl,1.6y8 -1.9xk,0.9xj -3.9xi,0.9xh -5.9xg,1.6y7 0.9xf,-2.9xe 1.9xd,-6.9xc 1.6y6,-9.6y1 2.9xb,-0.9xa 4.9x9,-0.9x8     5.9x7,-1.6y5 1.9x6,-0.9x5 2.9x4,-0.9x3 2.9x2,-1.6y5 z m -38.9x1,2.52a c 3.9x0,0.9wZ 7.9wY,0.9wX 12.9wW,0.9wV l 0.9wU,9.9wT c -4.9wS,-0.9wR -8.9wQ,-0.9wP -10.9wO,-0.9wN -1.9wM,-2.9wL -1.9wK,-6.9wJ -1.6y4,-10.9wI z m 26.9wH,0.4bV c -0.9wG,3.9wF -0.9wE,7.9wD -1.6y3,9.9wC -2.9wB,0.9wA -5.9wz,0.9wy -9.9wx,0.6y2 l -0.9ww,-9.6y1 c 4.9wv,-0.9wu 8.9wt,-0.9ws 11.9wr,-0.527 z M 12.9wq,44.9wp c 0.9wo,0.9wn 0.9wm,0.9wl 0.9wk,0.3dp 1.9wj,0.9wi 3.9wh,1.9wg 5.6y0,1.528 1.9wf,3.9we 3.9wd,5.9wc 5.6y0,7.6xY -3.9wb,-1.9wa -5.9w9,-3.9w8 -8.9w7,-5.9w6 -1.9w5,-1.9w4 -2.9w3,-2.9w2 -3.9w1,-4.6xZ z m 40.9w0,0 c -0.9vZ,1.9vY -1.9vX,2.9vW     -3.9vV,4.6xZ -2.9vU,2.9vT -6.9vS,4.9vR -9.9vQ,5.9vP 0.9vO,-0.9vN 0.9vM,-0.9vL 0.9vK,-0.9vJ 1.9vI,-1.9vH 3.9vG,-4.9vF 4.9vE,-7.9vD 2.9vC,-0.9vB 5.9vA,-1.9vz 7.9vy,-1.9vx 0.9vw,-0.9vv 0.9vu,-0.9vt 0.9vs,-0.4bV z m -31.9vr,2.9vq c 2.9vp,0.9vo 5.9vn,0.9vm 9.9vl,0.527 l 0.3dp,7.6xY c -1.9vk,-0.9vj -3.9vi,-1.9vh -5.9vg,-3.9vf -1.9ve,-1.9vd -2.9vc,-3.9vb -3.9va,-5.9v9 z m 20.9v8,0.2Fd c -1.9v7,2.9v6 -2.9v5,3.9v4 -3.6xX,4.9v3 -1.9v2,1.9v1 -3.9v0,2.9uZ -4.9uY,3.6xX l -0.3dp,-7.9uX c 3.9uW,-0.9uV 5.9uU,-0.9uT 8.9uS,-0.6xW z";d.51Z="m 2.9uR,17.9uQ 0,1.4bU 0,26.6xV 0,1.4bU 1.4bT,0 54.6xU,0 1.4bT,0 0,-1.4bU 0,-26.6xV 0,-1.4bU -1.4bT,0 -54.6xU,0 -1.4bT,0 z m 2.9uP,2.9uO 10.4bS,0 0,10.2Fc -10.4bS,0 0,-10.2Fc z m 13.6xT,0 11.2Fb,0 0,10.2Fc -11.2Fb,0 0,-10.2Fc z m 14.4bR,0 11.2Fb,0 0,10.2Fc -11.2Fb,0 0,-10.2Fc z m 14.4bR,0 10.3Ai,0 0,10.2Fc -10.3Ai,0 0,-10.2Fc z m -41.9uN,13.9uM 10.4bS,0 0,10.2Fa -10.4bS,0 0,-10.2Fa z m 13.6xT,0 11.2Fb,0 0,10.2Fa -11.2Fb,0 0,-10.2Fa z m 14.4bR,0 11.2Fb,0 0,10.2Fa -11.2Fb,0 0,-10.2Fa z m 14.4bR,0 10.3Ai,0 0,10.2Fa -10.3Ai,0 0,-10.2Fa z";d.51Y="m 14.9uL,17.9uK -0.9uJ,0.526 -11.9uI,26.6xR -0.526,1.6xS 2.9uH,0 54.9uG,0 2.9uF,0 -0.9uE,-1.6xS -11.9uD,-26.6xR -0.9uC,-0.526 -0.9uB,0 -32.9uA,0 -0.9uz,0 z m 1.9uy,2.9ux 6.9uw,0 -2.6xQ,10.2F9 -7.9uv,0 4.9uu,-10.2F9 z m 9.9ut,0 4.9us,0 0,10.2F9 -7.9ur,0 2.6xQ,-10.2F9 z m 7.9uq,0 5.9up,0 2.9uo,10.2F9 -8.9un,0 0,-10.2F9 z m 8.9um,0 5.6xP,0 4.9ul,10.2F9 -7.9uk,0 -2.522,-10.2F9 z m -30.9uj,13.9ui 8.9uh,0 -2.6xO,10.2F8 -9.9ug,0 4.9uf,-10.2F8 z m 10.9ue,0 8.9ud,0 0,10.2F8 -11.9uc,0 2.6xO,-10.2F8 z m 11.9ub,0 8.9ua,0 2.522,10.2F8 -11.9u9,0 0,-10.2F8 z m 11.9u8,0 7.9u7,0 4.9u6,10.2F8 -9.9u5,0 -2.522,-10.2F8 z";1d e=3n.4O("1kl");e.8k="3P-1n7-2RQ 3P-1WE-12n";a.3A(e);b=3n.4O("12n");b.1I="12n";b.8k="3P-12n 3P-1WE-12n";b.8m("2g-7X",\'1cg: { "3P-1n7-9u4": 1ef === 177.10j,   "3P-1n7-9u3": 1ef === 177.6G,   "3P-1n7-9u2": 1ef === 177.15j,   "3P-1n7-1bM": 1eJ },1wZ: { 17s: 3do },1aI: 2wu\');b.1dd=\'\\1wY!-- ko 1DD: { 9w: 521, 1G: 64, 1D: 64, 1cg: "3P-1n7-30b-1fu 3P-1n7-9u1" } --\\1yJ\\1wY!-- /ko --\\1yJ\\1wY!-- ko 1DD: { 9w: 51Z, 1G: 64, 1D: 64, 1cg: "3P-1n7-30b-1fu 3P-1n7-9u0" } --\\1yJ\\1wY!-- /ko --\\1yJ\\1wY!-- ko 1DD: { 9w: 51Y, 1G: 64, 1D: 64, 1cg: "3P-1n7-30b-1fu 3P-1n7-9tZ" } --\\1yJ\\1wY!-- /ko --\\1yJ\';e.3A(b);b=3n.4O("12n");b.1I="12n";b.8k="3P-12n 3P-1WE-12n 3P-1n7-2iQ-6O";b.8m("2g-7X",\'1cg: { "3P-1n7-13z" : (1eJ && (1ef !== 177.6G)) || (!1eJ && (1ef === 177.6G)),   "3P-1n7-1bs" : 1ef === 177.6G,   "3P-1n7-1qr" : !1eJ },1wZ: { 17s: 4bQ },1aI: 2HT,1DD: { 9w: 521, 1G: 64, 1D: 64 }\');e.3A(b);b=3n.4O("12n");b.1I="12n";b.8k="3P-12n 3P-1WE-12n 3P-1n7-2iQ-6O";b.8m("2g-7X",\'1cg: { "3P-1n7-13z" : (1eJ && (1ef !== 177.10j)),   "3P-1n7-1bs" : 1ef === 177.10j,   "3P-1n7-1qr" : !1eJ },1wZ: { 17s: 4bP },1aI: 2ws,1DD: { 9w: 51Z, 1G: 64, 1D: 64 }\');e.3A(b);b=3n.4O("12n");b.1I="12n";b.8k="3P-12n 3P-1WE-12n 3P-1n7-2iQ-6O";b.8m("2g-7X",\'1cg: { "3P-1n7-13z" : (1eJ && (1ef !== 177.15j)) || (!1eJ && (1ef === 177.15j)),   "3P-1n7-1bs" : 1ef === 177.15j,   "3P-1n7-1qr" : !1eJ},1wZ: { 17s: 4bO },1aI: 2wr,1DD: { 9w: 51Y, 1G: 64, 1D: 64 }\');e.3A(b);ta.1AH(d,e);1a.1cT=d;1a.15Q=a;1a.2lK=e;1a.1wG=1b(a){e.8h(a.15s)||(d.1eJ=!1)};Nc.1Tj()?3n.7K("26e",1a.1wG,!0):(3n.7K("1m1",1a.1wG,!0),3n.7K("1n9",1a.1wG,!0))}1b Sz(a,b,c){if(!g(a))1t 1g r("4r is 1X.");if(!g(b))1t 1g r("5iT is 1X.");if(!g(c))1t 1g r("11z is 1X.");1a.2R=a;1a.2dA=1a.2dB="-4kt";1a.1sa=a.20x;1a.15Q=m(c,3n.1hg);1a.4ks=b;1a.13V=1;1a.1K=1p 0;1a.2dx=!1;ta.1uX(1a,["1K","2dB","2dA","13V","2dx"]);1a.1cA=1p 0;ta.12U(1a,"1cA",{1n:1b(){1f 1a.2dx&&g(1a.1K)}});ta.12U(1a,"1GK",{1n:1b(){1f"3b("+1a.13V+")"}});1a.26d=1b(b,c){1f ic.1yu(a,b,c)}}1b hE(a,b){if(!g(a))1t 1g r("11z is 1X.");1a.15Q=a=Ie(a);1d c=3n.4O("5u");c.8k="3P-50T-2RQ";c.8m("2g-7X",\'2r: { "5C" : 2dA, "3B" : 2dB },1cg: { "3P-50T-2RQ-13z" : 1cA }\');a.3A(c);1a.17e=c;a=3n.1M1("10R://10y.w3.1m9/1PB/1fu","1fu:1fu");a.8m("1G",160);a.8m("1D",160);a.8m("4lk","0 0 160 160");1d d=3n.1M1("10R://10y.w3.1m9/1PB/1fu","g");d.8m("5o","11v(80,80)");a.3A(d);1d e=3n.1M1("10R://10y.w3.1m9/1PB/1fu","9w");e.8m("2g-7X","1wZ: { 5o: 1GK }");e.8m("d","M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z");d.3A(e);c.3A(a);1a.1cT=1g Sz(b,1a.17e,1a.15Q);ta.1AH(1a.1cT,1a.17e)}1b it(a,b,c,d){1a.4j=a;1a.19i=nw.1he;1a.10z=b;1a.6M=a.6M;1a.30c=[];1a.1br=!1;1a.13V=m(d,1);1a.9M=k.1y(c);1a.12t=Da.18N(c,1p 0,1g A);1F!==a.1TY?1a.1gI=1:1F!==a.27a?1a.1gI=2:1F!==a.279&&(1a.1gI=3)}1b yn(a,b,c){if(g(a)){a=a.13P;1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];if(g(c)){if(f.16Z===b&&-1!==c.3f(f.1fz))1f f}1s if(f.16Z===b)1f f}}}1b $da(a,b,c){if(g(a)){1d d=[];a=a.1Gs("*",b);1j(1d e=a.1h,f=0;f<e;f++){1d h=a[f];g(c)?h.16Z===b&&-1!==c.3f(h.1fz)&&d.1q(h):h.16Z===b&&d.1q(h)}1f d}}1b Xk(a,b,c){a=yn(a,b,c);if(g(a))1f a=7L(a.8S),11I(a)?1p 0:a}1b iE(a,b,c){a=yn(a,b,c);if(g(a))1f a.8S.1b2()}1b 5iQ(a,b){b=5iS.1fa({3J:b,1V0:a.1gI},[b]);g(b)?b.4b(1b(b){if(b.4D){1d c=a.4j,e=5iP.1dD(b.3ru).1gv,f=e.1fz;1d h=yn(e,"3rt",f);if(g(h)){1d l=[];h=h.13P;1j(1d p=h.1h,n=0;n<p;n++){1d z=h[n];g(f)?"2q"===z.16Z&&-1!==f.3f(z.1fz)&&l.1q(z):"2q"===z.16Z&&l.1q(z)}z=l}1s z=[];l={};h=0;1j(p=z.1h;h<p;h++){1d w=z[h],x=iE(w,"2i",f);n=1g fe({});l[x]=n;1d m=yn(w,"3rs",f);x=Xk(m,"3rr",f);1d t=Xk(m,"3rq",f),r=Xk(m,"3rp",f);m=Xk(m,"3ro",f);n.1LN=1g y(x,t,r,m);m=yn(w,"3rn",f);x=Xk(m,"3rm",f);t=Xk(m,"3rl",f);r=Xk(m,"3rk",f);m=Xk(m,"3rj",f);n.1se=1g y(x,t,r,m);m=yn(w,"3ri",f);x=Xk(m,"3rh",f);t=Xk(m,"3rg",f);r=Xk(m,"3rf",f);m=Xk(m,"3re",f);n.1Du=1g y(x,t,r,m);x=Xk(w,"3rd",f);n.1JK=x;yn(w,"2oR",f);x=n;t=yn(w,"2oR",f);g(t)?(t=t.8S.1b2(),t="1"===t||/^8O$/i.6S(t)):t=1p 0;x.1GL=t;x=yn(w,"7y",f);w=iE(x,"2i",f);t=yn(x,"3rc",f);x=iE(t,"u",f);t=iE(t,"v",f);x="2gj"===x?Ka.1av:Ka.11g;t="2gj"===t?Ka.1av:Ka.11g;r=b.2oP[w];g(r)&&(w=Rc.22b(w,c,r.1G,r.1D,r.1vC,r.1zq,r.1Ei,!1,x,t),n.12s.1q(w))}h=yn(e,"3rb",f);c=$da(h,"2MN",f);h=0;1j(p=c.1h;h<p;h++){e=c[h];n=iE(e,"2MM",f).7g(",");1j(z=0;16>z;z++)n[z]=7L(n[z]);n=A.5f(n,0);z=$da(e,"2ML",f);e=[];x=0;1j(w=z.1h;x<w;x++)t=z[x].8S.1b2(),e.1q(t);w=[];z=1g P;1j(x=0;x<e.1h;x++){m=b.1oF[e[x]];t=m.1dM;r=n;m=[];1d G=1g P,q=1g k,u=t.19h[0],v=u.2Z;u=1g 4A(u.5b.3J,u.5b.8o,u.5b.10S/4);1j(1d B=0;B<t.1f0;B++)k.7j(u,v*B,q),m.1q(k.1y(q));P.1aN(m,G);m.1h=0;P.5o(G,r,G);w.1q(G)}r=1g k;0<w.1h&&(P.1zi(w,z),r=k.1y(z.2V),w.1h=0);a.1ZC=z.3L;1j(w=0;w<e.1h;w++){m=b.1oF[e[w]];t=m.1dM;m=m.1lu;G={};1j(1d C in m)n=m[C],g(n)&&(x=n.1FJ,n=l[x],G[x]=n);n=1g Tz({1dM:t,1lu:m,9G:b.9G,1Qt:G,6W:z,2fU:r,7H:a});n.6l(a.4j);a.30c.1q(n)}}a.4y=!0;a.19i=nw.1e5}1s a.19i=nw.1he}):a.4F=nw.1he}1b Tz(a){a=a||{};1d b=a.1dM,c=a.1Qt;1a.1sd=a.1lu;1a.1na=b;1a.1fq=a.7H;1a.12m={};1a.9s=!1;1a.1uV=c;1a.11S=a.6W;1a.3jn=a.2fU}1b jt(a,b,c){1a.7a=a;1a.10o=b;1a.4kq=m(c,0)}1b eV(a,b,c,d){1a.18B=a;1a.1D=b;1a.1A=c||1g y(.5,.5,.5,1);1a.1a4=d||1g y(0,0,0,0)}1b xi(a,b){if(!g(a))1t 1g r("11z is 1X.");if(!g(b))1t 1g r("14c is 1X.");1a.11z=a=Ie(a);1d c=3n.4O("5u");c.8k="3P-1FH-2k";a.3A(c);1a.1m0=c;1a.1j5=1a.1sb=1a.1Pb=1a.3LO=1a.4kj=1a.1IV=1p 0;1a.1aG=b;1a.2wl=b.1a2;1a.3LT=-1;1a.2aC=fm.1bs;1a.1RR=fj.1bs;1a.2aB={1J4:0,3AP:0};1a.306=1a.3dn=0;1a.268=1a.2dy=1a.2wm=1p 0;1a.1m0.1dd=\'<5u 11F="3P-1FH-63s"></5u><5u 11F="3P-1FH-9tY"><3M 11F="3P-1FH-9tX" 1G="10" 1D="1"></3M></5u><5u 11F="3P-1FH-3uJ"></5u><1kl 11F="3P-1FH-9tW"></1kl>\';1a.3je=1a.1m0.13P[0];1a.5in=1a.1m0.13P[1];1a.2wj=1a.1m0.13P[1].13P[0];1a.3LR=1a.1m0.13P[2];1a.3jb=1a.1m0.13P[3];1a.4j=1a.2wj.1ft("2d");1a.3LP=[];1a.4kh=[];1a.261(b.18M,b.1cU);1a.4kn=6xM(1a);1a.4ko=6xL(1a);1a.3LX=6xK(1a);1a.3jj=6xJ(1a);1a.4kl=6xH(1a);1a.3ji=6xF(1a);1a.3jg=6xG(1a);a=1a.3je;3n.7K("1ZA",1a.4ko,!1);3n.7K("2wo",1a.3LX,!1);a.7K("1m1",1a.4kn,!1);a.7K("4km",1a.3jj,!1);a.7K("3LW",1a.3jj,!1);a.7K("1n9",1a.4kl,!1);a.7K("2wn",1a.3ji,!1);a.7K("2lH",1a.3jg,!1);a.7K("3jh",1a.3jg,!1);1a.1m0.6xN=1b(){1f!1};b.1yw.7K(1a.3j9,1a);1a.3j9()}1b fV(a){1f 10>a?"0"+a.5s():a.5s()}1b 6xM(a){1f 1b(b){a.2aC!==fm.3jm&&(0===b.12n?(a.2aC=fm.2wp,a.1Pb&&(a.1Pb.2r.4bN="-2OH 0"),a.3LX(b)):(a.3dn=b.1ld,a.2aC=2===b.12n?fm.5K:fm.30b));b.1yA()}}1b 6xL(a){1f 1b(b){a.2aC=fm.1bs;a.1Pb&&(a.1Pb.2r.4bN="0 0");a.306=0;a.2wm=1p 0}}1b 6xK(a){1f 1b(b){if(a.2aC===fm.2wp)b.1yA(),b=b.1ld-a.1m0.1ZD().3B,0>b?(a.2wm=0,a.306=-.11t*a.1j5):b>a.1m0.18L?(a.2wm=a.1m0.18L,a.306=.11t*a.1j5):(a.2wm=1p 0,a.3LS(b,b*a.1j5/a.1m0.18L));1s if(a.2aC===fm.30b){1d c=a.3dn-b.1ld;a.3dn=b.1ld;0!==c&&(b=c*a.1j5/a.1m0.18L,a.261(M.190(a.1sb,b,1g M),M.190(a.1IV,b,1g M)))}1s a.2aC===fm.5K&&(c=a.3dn-b.1ld,a.3dn=b.1ld,0!==c&&a.4kk(1k.3r(1.11t,c)))}}1b 6xJ(a){1f 1b(b){b=b.9tV||b.6xI||-b.51X;gV=1k.1V(1k.2o(1k.abs(b),gV),1);b/=gV;a.4kk(1k.3r(1.1cN,-b))}}1b 6xH(a){1f 1b(b){1d c=b.1to.1h,d=a.1m0.1ZD().3B;b.1yA();a.2aC=fm.3jm;if(1===c){1d e=M.1dA(a.2wl,a.1sb);e=1k.9p(e*a.1m0.18L/a.1j5+d);50>1k.abs(b.1to[0].1ld-e)?(a.1RR=fj.2wp,a.1Pb&&(a.1Pb.2r.4bN=1===c?"-2OH 0":"0 0")):(a.1RR=fj.3LZ,a.2aB.1J4=b.1to[0].1ld-d)}1s 2===c?(a.1RR=fj.3jl,a.2aB.1J4=.5*(b.1to[0].1ld+b.1to[1].1ld)-d,a.2aB.3AP=1k.abs(b.1to[0].1ld-b.1to[1].1ld)):a.1RR=fj.26c}}1b 6xG(a){1f 1b(b){1d c=b.1to.1h,d=a.1m0.1ZD().3B;a.1RR===fj.3LZ?(a.1RR=fj.2wp,a.3ji(b)):a.1RR===fj.2wp&&a.3ji(b);a.2aC=fm.3jm;1!==c?a.1RR=0<c?fj.26c:fj.1bs:a.1RR===fj.3jl&&(a.2aB.1J4=b.1to[0].1ld-d);a.1Pb&&(a.1Pb.2r.4bN="0 0")}}1b 6xF(a){1f 1b(b){1d c=1,d=a.1m0.1ZD().3B;a.1RR===fj.3LZ&&(a.1RR=fj.3jl);a.2aC=fm.3jm;if(a.1RR===fj.2wp){if(b.1yA(),1===b.3AQ.1h){1d e=b.3AQ[0].1ld-d;0<=e&&e<=a.1m0.18L&&a.3LS(e,e*a.1j5/a.1m0.18L)}}1s if(a.1RR===fj.3jl){1d f=b.1to.1h;if(2===f){e=.5*(b.1to[0].1ld+b.1to[1].1ld)-d;1d h=1k.abs(b.1to[0].1ld-b.1to[1].1ld)}1s 1===f&&(e=b.1to[0].1ld-d,h=0);g(e)&&(0<h&&0<a.2aB.3AP?(c=a.2aB.3AP/h,b=M.190(a.1sb,(a.2aB.1J4*a.1j5-e*a.1j5*c)/a.1m0.18L,1g M)):(b=a.2aB.1J4-e,b=M.190(a.1sb,b*a.1j5/a.1m0.18L,1g M)),a.261(b,M.190(b,a.1j5*c,1g M)),a.2aB.1J4=e,a.2aB.3AP=h)}}}1b aea(){1d a=7O.3AO;g(a)&&(g(a.6xE)?a.6xE():g(a.6xD)?a.6xD():g(a.6xC)?a.6xC():g(a.11f&&a.11f.6xB)&&a.11f.6xB())}1b jE(a,b){if(!g(a))1t 1g r("4r is 1X.");1d c=1a,d=ta.19H(ge.3e),e=ta.19H(!1);1a.4bG=1p 0;ta.12U(1a,"4bG",{1n:1b(){1f e()}});1a.3AL=1p 0;ta.12U(1a,"3AL",{1n:1b(){1f d()},1C:1b(a){d(a&&ge.3e)}});1a.1d6=1p 0;ta.12U(1a,"1d6",1b(){1f d()?e()?"6xA VR 3z":"51W VR 3z":"VR 3z is 3mC"});1d f=ta.19H(!1);1a.51Q=1p 0;ta.12U(1a,"51Q",{1n:1b(){1f f()}});1a.1n5=1g xj;1a.1n5.add(a.4rc,1b(){f(a.3w.3j 2m Jb)});1a.2RS=!1;1a.4bL=1g 4iy;1a.10u=bd(1b(){if(!f())if(e())a.2y3=!1,c.2RS&&(aea(),c.2RS=!1),c.4bL.1Pw(),ge.2rL(),e(!1);1s{ge.3d7||ge.2iO(c.3LN);c.4bL.5F();if(!c.2RS){1d b=!1,d=7O.3AO;g(d)&&(g(d.28P)?b=d.28P("4bM"):g(d.6xz)?b=d.6xz("4bM"):g(d.6xy)?b=d.6xy("4bM"):g(d.11f&&d.11f.6xx)&&(b=d.11f.6xx("4bM")));c.2RS=b}a.2y3=!0;e(!0)}},ta.1sf(1a,"3AL"));1a.3LN=m(Ie(b),3n.1hg);1a.1Zz=1b(){!ge.3d7&&e()&&(a.2y3=!1,c.2RS&&(aea(),c.2RS=!1),c.4bL.1Pw(),e(!1))};3n.7K(ge.3j7,1a.1Zz)}1b kE(a,b,c){if(!g(a))1t 1g r("11z is 1X.");if(!g(b))1t 1g r("4r is 1X.");a=Ie(a);b=1g jE(b,c);b.6xh="M 25.9tU,2.9tT C 15.9tS,13.9tR 10.9tQ,19.9tP 8.9tO,22.9tN c -1.9tM,1.9tL -1.9tK,2.9tJ -2.1KI,2.5 -0.9tI,0.9tH -0.9tG,0.9tF -0.25,0.9tE l 0.2az,0.75 c 10e-5,-10e-5 0.9tD,0.727 0.2az,0.9tC 0.9tB,-0.9tA 0.9tz,-0.6op 0.1tu,-0.9ty 0.9tx,-0.9tw 0.9tv,-0.9tu 0.1BV,-0.2I8 0.9tt,-0.1cN 0.9ts,-0.9tr 0.1RQ,-0.9tq 0.9tp,-0.9to 0.9tn,-1.9tm 2.6xq,-2.9tl 2.9tk,-2.9tj 7.9ti,-8.9th 17.9tg,-20.9tf l -1.5,-1.1KD z m -20.6xw,3.9te c -1.6xu,0 -2.24m,1.9td -2.24m,2.51V l 0,10.6xt c 0,1.9tc 1.6xs,2.375 2.24m,2.375 l 2.25,0 c 1.9tb,-2.9ta 7.9t9,-8.9t8 13.6xw,-15.9t7 l -15.9t6,0 z m 21.9t5,0 c -1.9t4,2.9t3 -2.9t2,2.9t1 -3.1KH,4.9t0 1.9sZ,0.9sY 3.1ES,1.9sX 3.1ES,3.9sW 0,1.51U -1.51T,3.5 -3.5,3.5 -1.9sV,0 -3.9sU,-1.9sT -3.2aA,-2.2az -1.9sS,1.9sR -2.9sQ,2.9sP -3.1sZ,3.2ae 0.9sO,-0.2I8 0.9sN,-0.6xv 0.1KH,-0.6xv 1.9sM,0 2.9sL,1.9sK 2.2ad,3.9sJ l 8.1KD,0 c 1.6xu,0 2.24m,-1.9sI 2.24m,-2.375 l 0,-10.6xt c 0,-1.9sH -1.6xs,-2.51V -2.24m,-2.51V l -0.1WF,0 z M 9.9sG,10.9sF c 1.6xr,0 3.3dm,1.9sE 3.3dm,3.51S 0,1.51U -1.51T,3.5 -3.3dm,3.5 -1.6xr,0 -3.3dm,-1.9sD -3.3dm,-3.5 0,-1.51U 1.51T,-3.51S 3.3dm,-3.51S z m 4.6xq,10.9sC c -0.9sB,0.9sA -0.9sz,0.9sy -1.1tu,1.51R l 0.2ay,0 c 0.9sx,-0.9sw 0.9sv,-0.9su 0.1KI,-1.51R z";b.6xg="M 5.1KD 6.375 C 4.6xp 6.375 2.1uh 7.6xn 2.1uh 8.2wH L 2.1uh 19.5 C 2.1uh 20.6xo 4.6xp 21.875 5.1KD 21.875 L 13.1WF 21.875 C 13.9st 20.9ss 14.9sr 18.1KH 16.1KI 18.1KH C 17.9sq 18.1KH 18.9sp 20.9so 18.2RR 21.875 L 27.2F7 21.875 C 28.6xm 21.875 29.1BU 20.6xo 29.1BU 19.5 L 29.1BU 8.2wH C 29.1BU 7.6xn 28.6xm 6.375 27.2F7 6.375 L 5.1KD 6.375 z M 9.625 10.1BU C 11.6xl 10.1BU 13.125 12.4bJ 13.125 13.1uh C 13.125 15.4bK 11.6xl 17.1sZ 9.625 17.1sZ C 7.6xk 17.1sZ 6.125 15.4bK 6.125 13.1uh C 6.125 12.4bJ 7.6xk 10.1BU 9.625 10.1BU z M 22.1sZ 10.1BU C 24.6xj 10.1BU 25.1uh 12.4bJ 25.1uh 13.1uh C 25.1uh 15.4bK 24.6xj 17.1sZ 22.1sZ 17.1sZ C 20.6xi 17.1sZ 18.1uh 15.4bK 18.1uh 13.1uh C 18.1uh 12.4bJ 20.6xi 10.1BU 22.1sZ 10.1BU z";c=3n.4O("12n");c.1I="12n";c.8k="3P-12n 3P-4k8";c.8m("2g-7X",\'1cg: { "3P-12n-1nk" : 51Q }, 1wZ: { 17s: 1d6 },1aI: 14Z,5F: 3AL,1DD: { 9w: 4bG ? 6xh : 6xg, 1G: 32, 1D: 32 }\');a.3A(c);ta.1AH(b,c);1a.15Q=a;1a.1cT=b;1a.17e=c}1b Uz(a,b,c){if(!g(a))1t 1g r("4r is 1X.");if(!g(b))1t 1g r("5im is 1X.");if(!g(c))1t 1g r("11z is 1X.");1a.2R=a;1a.2dA=1a.2dB="-4kt";1a.1sa=a.20x;1a.15Q=m(c,3n.1hg);1a.5il=b;1a.1n8=1a.13V=1;1a.1K=1p 0;1a.2dx=!1;ta.1uX(1a,["1K","2dB","2dA","1n8","2dx"]);1a.1cA=1p 0;ta.12U(1a,"1cA",{1n:1b(){1f 1a.2dx&&g(1a.1K)}});ta.12U(1a,"1GK",{1n:1b(){1f"3b("+1a.13V+")"}});1a.26d=1b(b,c){1f ic.1yu(a,b,c)}}1b lE(a,b){if(!g(a))1t 1g r("11z is 1X.");1a.15Q=a=Ie(a);1d c=3n.4O("5u");c.8k="3P-5K-2RQ";c.8m("2g-7X",\'    2r: { "5C" : 2dA, "3B" : 2dB,"7z" : 1n8 },    1cg: { "3P-5K-2RQ-13z" : 1cA }\');a.3A(c);1a.17e=c;a=3n.4O("1kp");a.1bv=cb("1fV/1eX/5fb/9sn.12H");a.2r.1G="6xf";a.2r.1D="6xf";c.3A(a);1a.1cT=1g Uz(b,1a.17e,1a.15Q);ta.1AH(1a.1cT,1a.17e)}1b 3LG(a){1d b=a.14c;b.1a2=a.5io;b.1tv=!1}1b 51M(a,b){g(a.4r.5Y)&&g(a.4r.5Y.36U)&&(a.4r.5Y.36U=1g y(1,1,1,1));1d c=a.4r.11P(b.1K);if(g(c)){1d d=m(c.id,c.9k.id);if(d 2m wd)1f d;if(g(c.9k))1f 0<a.4r.9Q.17f.1h&&6xc(a,b.1K),c}if(g(a.4r.10a))1f 6xe(a,b.1K)}1b 4jX(a,b,c){g(c)&&(c=c.14c,g(c)&&(c.3K(b),g(a)&&(a.3j9(),a.261(c.18M,c.1cU))))}1b 6xd(a,b){1d c=a.5Y;if(!g(d)){1d d=a.1Gj(b);if(!g(d))1f 1F;d=T.12y(d)}1j(1d e in a.2mF)if(b=a.2mF[e],!g(b.1Bs)||b.1Bs)if(b=b.11P(d,c),g(b))1f 1g wd({id:b.4Da,3Xb:b.3Xb,9sm:b});1f 1F}1b 6xe(a,b){1d c=a.4r,d=6xd(c,b);if(1F!=d)1f d;b=c.3w.1bZ(b);c=c.1uU.5Ai(b,c);if(g(c)){1d e=1g wd({id:"2Nu...",16G:"2Nu 7n 4bI..."});Z(c,1b(b){if(a.1pi===e)if(g(b)&&0!==b.1h){1d c=b[0];b=1g wd({id:c.2i,16G:c.16G});g(c.1K)&&(c=a.4r.10a.3c.13B(c.1K,4kb),b.1K=1g Ji(c));a.1pi=b}1s a.1pi=44f()},1b(){a.1pi===e&&(a.1pi=44f())});1f e}}1b 6xc(a,b){1d c=a.4r;c=c.9Q.1lk(b,c);if(!g(c))1f!1;1d d=1g wd({id:"2Nu...",16G:"2Nu 7n 4bI..."});Z(c,1b(c){if(g(c)){1d d=c.9sl,e=c.9sk;if(g(d)&&g(e)){1j(1d l={},p=0,n=d.1h;p<n;p++)l[d[p]]=e[p];d=1g wd({7n:l});d.4k3=a.4r.1Gj(b);g(l.1K)&&(e=a.4r.10a.3c.13B(l.1K,4kb),d.1K=1g Ji(e));g(c.3y)&&(l.3y=c.3y);a.1pi=d;a.6x9.5k(l)}1s a.1pi=1p 0}1s a.1pi=1p 0},1b(){a.1pi===d&&(a.1pi=1p 0)})}1b 44f(){1f 1g wd({id:"2nt",16G:"No 1jG 1ji."})}1b zd(a,b){if(!g(a))1t 1g r("11z is 1X.");a=Ie(a);b=m(b,m.4Z);1d c=(!g(b.10a)||!1!==b.10a)&&g(b.1og)&&!1!==b.1og;if(!c&&g(b.3AN))1t 1g r("3v.3AN is 2S 1IZ 16r 2S 1nl 1Z 4j9 26g. 2Av 2mt 3v.1jf 1gK or 1C 3v.1og to 8O.");if(!c&&g(b.3AM))1t 1g r("3v.3AM is 2S 1IZ 16r 2S 1nl 1Z 4j9 26g. 2Av 2mt 3v.16u 1gK or 1C 3v.1og to 8O.");1d d=1a,e=3n.4O("5u");e.8k="3P-6o";a.3A(e);1d f=3n.4O("5u");f.8k="3P-6o-9sj";e.3A(f);1d h=3n.4O("5u");h.8k="3P-6o-7b";e.3A(h);1d l=m(b.1fw,!1),p=!1;if(g(b.3j6)){1d n=b.3j6;1d k=n.14c}1s k=1g Cu,n=1g Hz(k),p=!0;k.1tv=m(b.1tv,!0);f=1g ht(f,{16u:b.16u,1jf:c||g(b.1jf)?!1:1p 0,1Q7:b.1Q7,14c:k,20t:b.20t,2mC:b.2mC,1ef:b.1ef,11s:b.11s,10a:b.10a,2mR:b.2mR,2F6:b.2F6,2wi:b.2wi,2lC:b.2lC,51P:b.51P,2HQ:b.2HQ,2wD:g(b.2wD)?b.2wD:h,2I1:b.2I1,1fw:l,1DM:b.1DM,6x:b.6x,3LK:b.3LK,27c:b.27c,2xX:b.2xX,2xY:b.2xY});1d w=b.2j5,x=!1;g(w)||(w=1g li,x=!0);1d D=f.4r,t=1g yk({4r:D,4bH:w}),q=1g xj;q.add(k.1yw,zd.1i.3LF,1a);q.add(D.32C,zd.1i.4jY,1a);if(!g(b.4ka)||!1!==b.4ka){1d G=3n.4O("5u");G.8k="3P-6o-9si";e.3A(G);G=1g hE(G,D)}if(!g(b.1Dq)||!1!==b.1Dq){1d u=3n.4O("5u");u.8k="3P-6o-9sh";e.3A(u);u=1g $D(u);1d v=u.1fW;q.add(v.4kF,zd.1i.5i4,1a);q.add(v.4kE,zd.1i.5i3,1a)}v=3n.4O("5u");v.8k="3P-6o-1WE";e.3A(v);if(g(b.26b)&&!1!==b.26b){1d A=3n.4O("5u");A.8k="3P-6o-9sg";v.3A(A);1d B;g(b.26b)&&"11T"!==2h b.26b&&(B=2K.8n(b.26b)?b.26b:[b.26b]);1d C=1g YD({11z:A,9sf:B,4r:D,6o:1a});q.add(C.1fW.1qs.3L6,zd.1i.5i2,1a)}if(g(b.4k9)&&!1!==b.4k9){1d K=1g ZD(v,D);g(C)&&q.add(K.1fW.14Z.4j3,1b(){1d a=C.1fW;a.2F5="";a.2RP&&a.1qs()});q.add(K.1fW.14Z.3L6,zd.1i.4jY,1a)}if(!0===b.1n7&&l)1t 1g r("3v.1n7 is 2S 1IZ 16r 3v.1fw is 1C to 8O.");1d Fa;!l&&g(b.1n7)&&!1!==b.1n7&&(Fa=1g gE(v,D));1d L;b.1IT&&(L=1g eE(v,D));if(c){1d S=m(b.2RO,4fC());1d U=m(b.2RN,4fB());S=1g RD(v,{10a:D.10a,2RO:S,3AN:b.3AN,2RN:U,3AM:b.3AM});U=v.9se("3P-1og-2iQ")[0]}g(b.1jf)&&!1!==b.1jf&&(c&&(S.1fW.2F4=1p 0),D.1uU.7f(),D.1uU.2mG(b.1jf));g(b.16u)&&(c&&(S.1fW.2RM=1p 0),D.16u=b.16u);if(g(b.3LM)&&!1!==b.3LM){1d R=!0;10G{if(g(7O.51O)){1d V=7O.51O.2eK("3P-6xb");g(V)&&V?R=!1:7O.51O.9sd("3P-6xb","8O")}}11B(sc){}R=1g bE({11z:v,6xa:m(b.9sc,R)})}if(g(b.15R)&&!1!==b.15R){1d W=3n.4O("5u");W.8k="3P-6o-9sb";e.3A(W);W=1g mw(W,1g Wk(n))}if(g(b.1FH)&&!1!==b.1FH){V=3n.4O("5u");V.8k="3P-6o-9sa";e.3A(V);1d da=1g xi(V,k);da.7K("4k4",3LG,!1);da.261(k.18M,k.1cU)}if(g(b.3LL)&&!1!==b.3LL){1d ea=3n.4O("5u");ea.8k="3P-6o-9s9";e.3A(ea);1d Sa=1g XD(ea,b.2wC);1d E=Vk(Sa.1fW,"2RL",1b(a){ea.2r.1ka=a?"2es":"1bs";g(da)&&(da.11z.2r.2W=ea.18L+"px",da.1ce())})}if(b.4k8){1d dc=3n.4O("5u");dc.8k="3P-6o-9s8";e.3A(dc);1d I=1g kE(dc,D,b.9s7);1d Ob=Vk(I.1fW,"3AL",1b(a){dc.2r.1ka=a?"2es":"1bs";g(Sa)&&(dc.2r.2W=ea.18L+"px");g(da)&&(da.11z.2r.2W=dc.18L+"px",da.1ce())});1d vd=Vk(I.1fW,"4bG",1b(a){1d b=d.302,c=d.301,e=d.2ZZ,f=d.2ZY,h=d.2ZX,l=d.1Th,p=d.1Zx,n=d.2wh,k=d.264,z=d.265,t=a?"1qr":"13z";g(b)&&(b.11z.2r.12F=t);g(c)&&(c.11z.2r.12F=t);g(e)&&(e.11z.2r.12F=t);g(f)&&(f.11z.2r.12F=t);g(h)&&(h.11z.2r.12F=t);g(l)&&(l.11z.2r.12F=t);g(p)&&(p.11z.2r.12F=t);g(n)&&n.1fW.2RL&&(n.11z.2r.12F=t);g(k)&&(k.11z.2r.12F=t);g(z)&&(z.11z.2r.12F=t);d.15Q&&(a=a||!g(n)?0:n.11z.18L,d.2wg.11z.2r.2W=a+"px",d.5ig())})}if(!g(b.1fX)||!1!==b.1fX){k=3n.4O("5u");k.8k="3P-6o-9s6";e.3A(k);1d uc=1g hV({11z:k,4r:D,6o:1a})}1a.5i7="2I("+cb("1fV/1eX/4bF/9s5.4bF")+"), 1sg";1a.4k1="2I("+cb("1fV/1eX/4bF/51N.4bF")+"), 1sg";1a.5ih=U;1a.5ie=E;1a.5id=Ob;1a.5ic=vd;1a.3Lv={};1a.4jW=m(b.9s4,!0);1a.15Q=a;1a.3LI=h;1a.17e=e;1a.1Dp=f;1a.265=G;1a.264=u;1a.266=w;1a.5ia=x;1a.25Z=t;1a.1uT=n;1a.5ib=p;1a.5if=v;1a.301=K;1a.2ZZ=Fa;1a.2ZY=L;1a.2ZX=S;1a.5ij=R;1a.1Th=W;1a.1Zx=da;1a.2wh=Sa;1a.2wg=I;1a.302=C;1a.5ik=uc;1a.1n5=q;1a.2dy=1a.268=0;1a.3LE=!0;1a.3iX=1p 0;1a.3LD=g(u)||g(G);1a.2HN=1a.303=1p 0;1a.3iW=!1;1a.303=1a.3j5=1p 0;1a.2RK=1a.2lB=!1;1a.4bE=1a.2rU=1a.24l=1p 0;1a.4k6=1g sa;1a.4k5=1g sa;1a.3Ly=16;1a.3Lx=y.5X("#9s3");ta.1uX(1a,["2HN","3j5","303"]);q.add(w.3vO,zd.1i.2ZV,1a);q.add(w.44Z,zd.1i.2ZU,1a);q.add(D.5tX,zd.1i.1ce,1a);q.add(D.2lL,zd.1i.2we,1a);a=w.1h;1j(b=0;b<a;b++)1a.2HP(w,w.1n(b));1a.2HP(1p 0,t.3LH);q.add(w.3vO,zd.1i.2HP,1a);q.add(w.44Z,zd.1i.2wf,1a);f.1hL.1a1(1b(a){d.1pi=51M(d,a)},Va.1yr);f.1hL.1a1(1b(a){a=51M(d,a);g(a)?F.8y(a.1K,d.14c.1a2)?d.1FI=a:d.261(a):g(d.1FI)&&(d.1FI=1p 0)},Va.3j4);1a.6x9=1g sa;w=3n.4O("5u");w.8k="3P-6o-9s2";e.3A(w);1a.4k2=1g lE(w,f.4r);e=1a.4k2.1cT;e.2dB="51L";e.2dA="51L";e.1K="1J1";e.2dx=!1}1b 4jV(a,b,c,d){if(!g(b))1t 1g r("9s1 is 1X.");iV(a);1d e=Z.12L();a.2rU=e;a.2RK=d;a.4bE=c;Z(b,1b(b){if(a.2rU===e)if(b 2m Ac)b.3Sl().4b(1b(b){1f kD(b,a.4r)}).4b(1b(b){a.2rU===e&&(a.24l=b)});1s if(b 2m tg)a.24l=b;1s if(b 2m Kq)a.24l=b;1s if(b.39m&&g(b.2OR))1d c=b.2OR.7K(1b(){c();a.2rU===e&&(a.24l=b.13K.2a.4h(0))});1s 2K.8n(b)?a.24l=b.4h(0):b 2m Wa?a.24l=b.1TW:b 2m cj?b.3Sl().4b(1b(b){1f kD(b,a.4r)}).4b(1b(b){a.2rU===e&&(a.24l=b)}):(b=m(b.2a,b),g(b.13K)&&(b=b.13K.2a),2K.8n(b)?a.24l=b.4h(0):a.24l=[b])});a.4r.1e2();1f e.10l}1b ow(a){a.2rU=1p 0;a.24l=1p 0;a.4bE=1p 0}1b iV(a){1d b=a.2rU;g(b)&&(ow(a),b.5h(!1))}1b 5i0(a){1d b=a.24l;if(g(b)&&a.4r.3z!==O.1at){1d c=a.4r,d=c.3w,e=a.2rU,f=m(a.4bE,{});if(b 2m tg)1f b.9c.4b(1b(){1d c=b.7u;g(f.2M)||(f.2M=1g Bp(0,-.5,c.3L));h={2M:f.2M,13k:f.13k,12x:f.12x,1aH:1b(){e.5h(!0)},1hm:1b(){e.5h(!1)}};a.2RK?d.3pG(b.7u,h):(d.34B(c,f.2M),d.1Pa(A.8K),e.5h(!0));ow(a)});if(b 2m Kq)1f b.9c.4b(1b(){1d c=b.7u;g(f.2M)||(f.2M=1g Bp(0,-.5,c.3L));h={2M:f.2M,13k:f.13k,12x:f.12x,1aH:1b(){e.5h(!0)},1hm:1b(){e.5h(!1)}};a.2RK?d.3pG(c,h):(d.34B(c,f.2M),d.1Pa(A.8K),e.5h(!0));ow(a)});if(b 2m T){1d h={16h:c.11s.3c.13B(b),13k:f.13k,12x:f.12x,1aH:1b(){e.5h(!0)},1hm:1b(){e.5h(!1)}};a.2RK?d.1AG(h):(d.1dG(h),e.5h(!0));ow(a)}1s if(b 2m Q)h={16h:b,13k:f.13k,12x:f.12x,1aH:1b(){e.5h(!0)},1hm:1b(){e.5h(!1)}},a.2RK?d.1AG(h):(d.1dG(h),e.5h(!0)),ow(a);1s{c=[];1j(1d l=0,p=b.1h;l<p;l++){1d n=a.25Z.1cS(b[l],!1,kt);if(n===tb.1rg)1f;n!==tb.12D&&c.1q(P.1y(kt))}0===c.1h?iV(a):(a.1FI=1p 0,c=P.1zi(c),a.2RK?(ow(a),d.3pG(c,{13k:f.13k,12x:f.12x,1aH:1b(){e.5h(!0)},1hm:1b(){e.5h(!1)},2M:f.2M})):(d.34B(c,f.2M),d.1Pa(A.8K),ow(a),e.5h(!0)))}}}1b pw(a){a.31i();a.1yA()}1b 4fc(a,b){g(a)&&(a.12R("3Op",b,!1),a.12R("4oA",pw,!1),a.12R("4oz",pw,!1),a.12R("6x8",pw,!1))}1b jV(a,b){a.7K("3Op",b,!1);a.7K("4oA",pw,!1);a.7K("4oz",pw,!1);a.7K("6x8",pw,!1)}1b 58n(a,b,c,d){1d e=a.4r;1f 1b(f){1d h=b.2i;10G{if(/\\.6x7$/i.6S(h))1d l=Hj.1e4(4H.5N(f.15s.4D),{2CQ:h});1s if(/\\.4DL$/i.6S(h)||/\\.15l$/i.6S(h)||/\\.3eM$/i.6S(h))l=vs.1e4(4H.5N(f.15s.4D),{2CQ:h,1d7:d});1s if(/\\.(5Q|43Q)$/i.6S(h))l=Sg.1e4(b,{2CQ:h,1aQ:c,3w:e.3w,3M:e.3M,1d7:d});1s{a.2FG.5k(a,h,"4bD 1ol: "+h);1f}g(l)&&a.2j5.add(l).4b(1b(b){a.3eL&&a.1AG(b)}).10g(1b(b){a.2FG.5k(a,h,b)})}11B(p){a.2FG.5k(a,h,p)}}}1b 58m(a,b){1f 1b(c){a.2FG.5k(a,b.2i,c.15s.7A)}}1b kV(a){1f a>5hZ?1k.3r(a,1/3):a/4jT+4jU}1b lV(a){1f a>Vz?a*a*a:4jT*(a-4jU)}1b mV(a){1f 255*(.3IR>=a?12.92*a:1.1Yy*1k.3r(a,1/2.4)-.1Yy)}1b nV(a){a/=255;1f.3IS>=a?a/12.92:1k.3r((a+.1Yy)/1.1Yy,2.4)}1b 4jS(a){1d b=nV(a.r),c=nV(a.g),d=nV(a.b),e=kV((.6x6*b+.6x5*c+.6x4*d)/.4bC),f=kV(.6x3*b+.6x2*c+.6x1*d);b=kV((.6x0*b+.6wZ*c+.6wY*d)/1.4bB);1f{l:116*f-16,a:500*(e-f),b:200*(f-b),2O:a.a}}1b 4jR(a){1d b=(a.l+16)/116,c=11I(a.a)?b:b+a.a/500,d=11I(a.b)?b:b-a.b/200;b=1*lV(b);c=.4bC*lV(c);d=1.4bB*lV(d);1f 1g 1aV(mV(3.6wX*c-1.6wW*b-.6wV*d),mV(-.6wU*c+1.6wT*b+.6wS*d),mV(.6wR*c-.6wQ*b+1.6wP*d),a.2O)}1b oV(a){1f a>$Ea?1k.3r(a,1/3):a/4jP+4jQ}1b pV(a){1f a>Wz?a*a*a:4jP*(a-4jQ)}1b qV(a){1f 255*(.3IR>=a?12.92*a:1.1Yy*1k.3r(a,1/2.4)-.1Yy)}1b rV(a){a/=255;1f.3IS>=a?a/12.92:1k.3r((a+.1Yy)/1.1Yy,2.4)}1b 4jO(a){1d b=rV(a.r),c=rV(a.g),d=rV(a.b),e=oV((.6x6*b+.6x5*c+.6x4*d)/.4bC),f=oV(.6x3*b+.6x2*c+.6x1*d);b=oV((.6x0*b+.6wZ*c+.6wY*d)/1.4bB);1f{l:116*f-16,a:500*(e-f),b:200*(f-b),2O:a.a}}1b 4jN(a){1d b=(a.l+16)/116,c=11I(a.a)?b:b+a.a/500,d=11I(a.b)?b:b-a.b/200;b=1*pV(b);c=.4bC*pV(c);d=1.4bB*pV(d);1f 1g 1aV(qV(3.6wX*c-1.6wW*b-.6wV*d),qV(-.6wU*c+1.6wT*b+.6wS*d),qV(.6wR*c-.6wQ*b+1.6wP*d),a.2O)}1b lt(a,b){if(!g(b)||!g(a))1t 1g r("2HA || 4r is 1X!");1a.1Tc=1g Ne(a.3M);1a.2R=a;1a.25W=!1;1a.1oe=1p 0;1a.8L=b;1a.1Tb=!1;1a.4jM=1g sa;1a.4jL=1g sa;1a.1bq=1a.1aF=-1;1a.1uS="";1d c=1a;1a.1Tc.1a1(1b(a){if(c.1Tb&&c&&c.1Tb&&(a=ha.1Au(c.2R,a.1K)))if(c.25W)1F===c.1oe||1p 0===c.1oe?c.25W=!1:c.1oe.15O.1h===c.1oe.1uZ()?mE(c):(a.z+=1,c.1oe.15O.1q(a),c.1oe.9s=!1);1s{c.25W=!0;1d b=1F;0!==c.1aF&&g(c.1yv)&&1F!==c.1yv?b=c.1yv.17D===wa.1lb?1g ee({7r:c.8L,19C:c.1aF,16A:c.1bq,15O:[],1Eu:c.1yv}):1g Sd({7r:c.8L,19C:c.1aF,16A:c.1bq,15O:[],1Eu:c.1yv,1Ev:!0}):0===c.1aF&&(b=1g Sd({7r:c.8L,19C:c.1aF,16A:c.1bq,15O:[],1Ev:!0}),b.1dB=c.1bq);1F===b||b.1dB===wa.2Hx?c.25W=!1:b.1dB===wa.1lb?(c.1oe=b,c.1oe.15O.1q(a),c.8L.19o.1q(b),mE(c)):(c.1oe=b,c.1oe.15O.1q(a),c.8L.19o.1q(b),0===c.1aF&&34===c.1bq&&mE(c))}},Va.1yr);1a.1Tc.1a1(1b(a){c.1Tb&&c&&c.1Tb&&c.25W&&c.1oe&&(a=ha.1Au(c.2R,a.11R))&&(2<=c.1oe.15O.1h&&c.1oe.15O.9l(),c.1oe.15O.1q(a),c.1oe.9s=!1)},Va.1kj);1a.1Tc.1a1(1b(a){c.1Tb&&(c.1oe.1dB!==wa.1lb&&c.1oe.15O.6z(c.1oe.15O.1h-1,2),mE(c))},Va.3j4);1a.1Tc.1a1(1b(a){c.1Tb?(mE(c),c.4jL.5k(c.1oe),c.1yv=1F,c.25W||c.1LJ()):c.2R.10C.2r.1LK=""},Va.2hv)}1b mE(a){if(a.25W&&g(a.1oe)){1d b=a.1oe;ha.5Xt(b.15O).1h<b.1ts()?(a.8L.2ZN(b),a.25W=!1,a.1oe=1p 0):(a.1oe.1Ev=!1,a.1oe.9s=!1,a.25W=!1,a.4jM.5k(a.1oe))}}1b ph(a,b){1a.2R=a;1a.12l=1F;1a.1IQ=1g xd;1a.2R.13y.add(1a.1IQ);1a.4ju=cb("1fV/1eX/2ZP/5hH.12H");1a.3Lo=cb("1fV/1eX/2ZP/5hG.12H");1a.4jt=cb("1fV/1eX/2ZP/5hF.12H");1a.2ZQ=b;1a.2lt=!1;1a.3iL=1a.3iK=1p 0;1a.1LM=!1;1a.1Td=1F}1b sV(a,b,c){a[b]=c}1b 51J(a,b,c,d){if(a.12l){1d e=a.2R,f=ic.2ds(e,d);f.y=e.7p-f.y;d=k.8g(a.1hJ.x,a.1hJ.y,0);e=ph.4jF(d,f,e);g(e)&&(e=k.3s(d,e),e=1g Ya(a.1hJ.x,a.1hJ.y,e),g(c.2P)?b.15O[c.2P]=e:g(c.2dr)&&(b.1IS=e),b.1dB===wa.1lb?a.12l.10i.1K=k.8g(e.x,e.y,e.z):a.12l.9s=!1,c.1K=k.8g(e.x,e.y,e.z),a.12l.1VI=0)}}1b tV(a,b,c,d){if(g(d)&&b.12l){if(g(c.2P)){a:if(d 2m Ya&&b.12l&&b.12l.1AE){1d e=b.12l.17D;if(e===wa.389&&c.1I===Fg.3iU){e=d.x-b.2HJ.x;1d f=d.y-b.2HJ.y}1s if(e===wa.1lb&&c.1I===Fg.2wb)e=d.x-b.12l.15O[c.2P].x,f=d.y-b.12l.15O[c.2P].y;1s 1W a;1j(1d h=0;h<b.12l.1AE.1h;h++){1d l=b.12l.1AE[h];l.1IS.x+=e;l.1IS.y+=f;l.1IS.z=d.z}}e=b.12l.17D;if(e===wa.1lb||e===wa.1LH)g(d)&&b.12l&&(f=c.1I,b.4jI(c.1I,c.2P),e=b.12l,0===a?(f===Fg.2wb&&b.2lt&&(b.1LM=!0),f===Fg.2lv&&(c.51K=d)):1===a?(f===Fg.2wb&&(b.1LM?51J(b,b.12l,c,d):(b.12l.15O[c.2P]=d,b.12l.17D===wa.1lb?b.12l.10i.1K=k.8g(d.x,d.y,d.z):b.12l.15O[0]=1g k(d.x,d.y,d.z),c.1K=k.8g(d.x,d.y,d.z))),f===Fg.2lv&&1F!==b.12l&&(d=b.4jH(d,c.51K),e.10i.3b=d,c.14l=1g k(c.4jK*d,c.4jJ*d,0))):2===a&&(f===Fg.2lv&&(d=b.4jH(d,c.51K),e.10i.3b=d,c.4jK*=d,c.4jJ*=d,e.1IP===jd.2HI?(e.1FG.x*=d,e.1FG.y*=d):e.1IP===jd.1IR&&(e.1AF.x*=d,e.1AF.y*=d),e.9s=!1,b.2Hw(e)),b.2ZQ.4js.5k(e)));1s a:if(g(d)&&g(b.12l)){f=c.1I;e=c.2P;if(f===Fg.2wb){if(b.1LM)51J(b,b.12l,c,d);1s{if(!(d 2m Ya))1W a;b.12l.15O[e]=d;c.1K=k.8g(d.x,d.y,d.z)}b.12l.38z=!1}1s if(f===Fg.2lv){if(!(d 2m Ya))1W a;if(1===a){b.12l.38z=!0;b.12l.41R={2P:e,1K:d};d=b.12l.3ui;f=[];if(g(d)&&0!==d.1h){1j(h=0;h<d.1h;++h)l=d[h],f.1q(l.x),f.1q(l.y),f.1q(0);d=k.1iy(f)}1s d=f;c.1K=d[e]}1s 2===a&&(d=b.12l.3ui[e],d=k.8g(d.x,d.y,d.z),c.1K=d,b.12l.38z=!1)}1s if(f===Fg.3iU){if(!(d 2m Ya))1W a;b.4jI(f,e).1K=k.8g(d.x,d.y,d.z);c=d.x-b.2HJ.x;e=d.y-b.2HJ.y;1j(f=0;f<b.12l.15O.1h;++f)h=b.12l.15O[f],b.12l.15O[f]=1g k(h.x+c,h.y+e,h.z);b.12l.38z=!1;b.2HJ.x=d.x;b.2HJ.y=d.y}b.12l.9s=!1}}1s 0<b.12l.1AE.1h&&(e=b.12l.1AE[c.2dr],b.1LM?b.9s0(b,e,c,d):(e.1IS=d,c.1K=k.8g(d.x,d.y,d.z)));0===a&&b.2lt?b.1LM=!0:2===a&&(b.12l.9s=!1)}}1b ng(a,b){1a.2R=a;1a.2ZQ=b;1a.12W=1F;1a.2HE=Da.2Cf("4P","4o");1a.5hP()}1b uV(a,b,c){a[b]=c}1b ZK(a){a.2w4.2p=!1;a.1ys.2p=!1;a.1AD.2p=!1;a.1Zr.2p=!1;a.1P7.2p=!1}1b vV(a,b,c,d){a=k.8g(a.x,a.y,a.z);1d e=1g $b,f=1k.PI/180;e.8q=f*b.x;e.12C=f*b.y;e.8e=f*b.z;Da.1nq(a,e,ba.9y,d,c);1f c}1b wV(a,b,c,d){a=k.8g(a.x,a.y,a.z);1d e=1g $b,f=1k.PI/180;e.8q=f*b.x;e.12C=f*b.y;e.8e=f*b.z+90*f;Da.1nq(a,e,ba.9y,d,c);1f c}1b Gg(a,b){if(!g(b))1t 1g r("2HA is 1X!");1a.2R=a;1a.1FF=b;1a.1Tb=!1;1a.6l();b.1n1=1a;1a.1T9=1g ph(a,1a);1a.2Hu=1g ng(a,1a);1a.2w3=1F}1b 58w(a,b,c){1d d;10G{1f d=a(b,c)}11B(e){1f Z.7N(e)}}g(1L.6F)&&(r.1i=1L.6F(6u.1i),r.1i.7m=r);r.1i.5s=1b(){1d a=1a.2i+": "+1a.19s;g(1a.1fi)&&(a+="\\n"+1a.1fi.5s());1f a};r.8i=1b(){1t 1g r("18m 1b 2N an 9rZ and 1tD 2S be 7I 51I.");};1d v={1N:{},2l:1b(a,b){if(!g(b))1t 1g r(a+" is 1X, 1C1 1Q 9x 7w");}};v.1N.14R=1b(a,b){if("1b"!==2h b)1t 1g r(Hc(2h b,"1b",a));};v.1N.4n=1b(a,b){if("4n"!==2h b)1t 1g r(Hc(2h b,"4n",a));};v.1N.2b=1b(a,b){if("2b"!==2h b)1t 1g r(Hc(2h b,"2b",a));};v.1N.2b.1ib=1b(a,b,c){v.1N.2b(a,b);if(b>=c)1t 1g r("19P "+a+" to be 1do 6L "+c+", 1C1 1Q 9x "+b);};v.1N.2b.19D=1b(a,b,c){v.1N.2b(a,b);if(b>c)1t 1g r("19P "+a+" to be 1do 6L or 14B to "+c+", 1C1 1Q 9x "+b);};v.1N.2b.1bP=1b(a,b,c){v.1N.2b(a,b);if(b<=c)1t 1g r("19P "+a+" to be 9U 6L "+c+", 1C1 1Q 9x "+b);};v.1N.2b.9Y=1b(a,b,c){v.1N.2b(a,b);if(b<c)1t 1g r("19P "+a+" to be 9U 6L or 14B to"+c+", 1C1 1Q 9x "+b);};v.1N.2c=1b(a,b){if("2c"!==2h b)1t 1g r(Hc(2h b,"2c",a));};v.1N.7d=1b(a,b){if("11T"!==2h b)1t 1g r(Hc(2h b,"11T",a));};v.1N.2b.2L=1b(a,b,c,d){v.1N.2b(a,c);v.1N.2b(b,d);if(c!==d)1t 1g r(a+" 2Q be 14B to "+b+", 1Z 1C1 2a are "+c+" and "+d);};m.4Z=1L.3F({});1d Xz=1b(a){1p 0==a&&(a=(1g 16V).1o3());1a.N=624;1a.M=397;1a.6wN=9rY;1a.4bA=2Jd;1a.4bz=31s;1a.mt=2K(1a.N);1a.1WD=1a.N+1;1a.51H(a)};Xz.1i.51H=1b(a){1a.mt[0]=a>>>0;1j(1a.1WD=1;1a.1WD<1a.N;1a.1WD++)a=1a.mt[1a.1WD-1]^1a.mt[1a.1WD-1]>>>30,1a.mt[1a.1WD]=(6wO*((a&4MC)>>>16)<<16)+6wO*(a&1a6)+1a.1WD,1a.mt[1a.1WD]>>>=0};Xz.1i.6wM=1b(){1d a=[0,1a.6wN];if(1a.1WD>=1a.N){1d b;1a.1WD==1a.N+1&&1a.51H(9rX);1j(b=0;b<1a.N-1a.M;b++){1d c=1a.mt[b]&1a.4bA|1a.mt[b+1]&1a.4bz;1a.mt[b]=1a.mt[b+1a.M]^c>>>1^a[c&1]}1j(;b<1a.N-1;b++)c=1a.mt[b]&1a.4bA|1a.mt[b+1]&1a.4bz,1a.mt[b]=1a.mt[b+(1a.M-1a.N)]^c>>>1^a[c&1];c=1a.mt[1a.N-1]&1a.4bA|1a.mt[0]&1a.4bz;1a.mt[1a.N-1]=1a.mt[1a.M-1]^c>>>1^a[c&1];1a.1WD=0}c=1a.mt[1a.1WD++];c^=c>>>11;c^=c<<7&9rW;c^=c<<15&9rV;1f(c^c>>>18)>>>0};Xz.1i.1ps=1b(){1f 1a.6wM()*(1/1AW)};1d B={1Qg:16t,51B:.1,1BO:.11t,2zm:.17I,2Q0:1E-4,1tO:1E-5,1g9:1E-6,1hn:1E-7,1PW:1E-8,2oi:1E-9,1io:1E-10,3cb:1E-11,2iH:1E-12,6jU:1E-13,1sW:1E-14,2aw:1E-15,9rU:1E-16,9rT:1E-17,9rS:1E-18,9rR:1E-19,6wr:1E-20,6wj:1E-21,65s:9rQ,3m7:9rP,4bx:9rO,1uW:12v};B.12q=m(1k.12q,1b(a){a=+a;1f 0===a||a!==a?a:0<a?1:-1});B.2Ry=1b(a){1f 0>a?-1:1};B.4ZZ=1b(a,b){b=m(b,255);1f 1k.9p((.5*B.2Y(a,-1,1)+.5)*b)};B.4ZW=1b(a,b){b=m(b,255);1f B.2Y(a,0,b)/b*2-1};B.1T=1b(a,b,c){c=1k.1V(c-b,0);1f 0===c?0:B.2Y((a-b)/c,0,1)};B.51G=m(1k.51G,1b(a){1f(1k.108(a)-1k.108(-a))/2});B.31f=m(1k.31f,1b(a){1f(1k.108(a)+1k.108(-a))/2});B.11x=1b(a,b,c){1f(1-c)*a+c*b};B.PI=1k.PI;B.9rN=1/1k.PI;B.10k=1k.PI/2;B.9rM=1k.PI/3;B.3Uq=1k.PI/4;B.9rL=1k.PI/6;B.9rK=3*1k.PI/2;B.14C=2*1k.PI;B.9rJ=1/(2*1k.PI);B.15y=1k.PI/180;B.1PS=180/1k.PI;B.6iP=B.15y/2HR;B.8I=1b(a){if(!g(a))1t 1g r("2gu is 1X.");1f a*B.15y};B.10Q=1b(a){if(!g(a))1t 1g r("3YJ is 1X.");1f a*B.1PS};B.51s=1b(a){if(!g(a))1t 1g r("8f is 1X.");1d b=B.14C;a-=1k.2t(a/b)*b;1f a<-1k.PI?a+b:a>=1k.PI?a-b:a};B.4LC=1b(a){if(!g(a))1t 1g r("8f is 1X.");1f B.2Y(a,-1*B.10k,B.10k)};B.1vw=1b(a){if(!g(a))1t 1g r("8f is 1X.");1f B.23Z(a+B.PI)-B.PI};B.23Z=1b(a){if(!g(a))1t 1g r("8f is 1X.");1d b=B.13R(a,B.14C);1f 1k.abs(b)<B.1sW&&1k.abs(a)>B.1sW?B.14C:b};B.13R=1b(a,b){if(!g(a))1t 1g r("m is 1X.");if(!g(b))1t 1g r("n is 1X.");1f(a%b+b)%b};B.5T=1b(a,b,c,d){if(!g(a))1t 1g r("3B is 1X.");if(!g(b))1t 1g r("2W is 1X.");if(!g(c))1t 1g r("3AK is 1X.");d=m(d,c);1d e=1k.abs(a-b);1f e<=d||e<=c*1k.1V(1k.abs(a),1k.abs(b))};B.1ib=1b(a,b,c){if(!g(a))1t 1g r("1lf is 1X.");if(!g(b))1t 1g r("1hd is 1X.");if(!g(c))1t 1g r("3AK is 1X.");1f a-b<-c};B.19D=1b(a,b,c){if(!g(a))1t 1g r("1lf is 1X.");if(!g(b))1t 1g r("1hd is 1X.");if(!g(c))1t 1g r("3AK is 1X.");1f a-b<c};B.1bP=1b(a,b,c){if(!g(a))1t 1g r("1lf is 1X.");if(!g(b))1t 1g r("1hd is 1X.");if(!g(c))1t 1g r("3AK is 1X.");1f a-b>c};B.9Y=1b(a,b,c){if(!g(a))1t 1g r("1lf is 1X.");if(!g(b))1t 1g r("1hd is 1X.");if(!g(c))1t 1g r("3AK is 1X.");1f a-b>-c};1d $K=[1];B.4VD=1b(a){if("2b"!==2h a||0>a)1t 1g r("A 2b 9U 6L or 14B to 0 is 1X.");1d b=$K.1h;if(a>=b)1j(1d c=$K[b-1];b<=a;b++)c*=b,$K.1q(c);1f $K[a]};B.5tr=1b(a,b,c){c=m(c,0);if(!g(a))1t 1g r("n is 1X.");if(b<=c)1t 1g r("9rI 2Q be 9U 6L 9rH.");++a;a>b&&(a=c);1f a};B.1Gu=1b(a){if("2b"!==2h a||0>a)1t 1g r("A 2b 9U 6L or 14B to 0 is 1X.");1f 0!==a&&0===(a&a-1)};B.3QR=1b(a){if("2b"!==2h a||0>a)1t 1g r("A 2b 9U 6L or 14B to 0 is 1X.");--a;a|=a>>1;a|=a>>2;a|=a>>4;a|=a>>8;a|=a>>16;++a;1f a};B.2Y=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("2o is 1X.");if(!g(c))1t 1g r("1V is 1X.");1f a<b?b:a>c?c:a};1d 51F=1g Xz;B.6be=1b(a){if(!g(a))1t 1g r("6v7 is 1X.");51F=1g Xz(a)};B.2PM=1b(){1f 51F.1ps()};B.1xb=1b(a,b){1f B.2PM()*(b-a)+a};B.1UX=1b(a){if(!g(a))1t 1g r("1Q is 1X.");1f 1k.1cz(B.2Y(a,-1,1))};B.6uh=1b(a){if(!g(a))1t 1g r("1Q is 1X.");1f 1k.17M(B.2Y(a,-1,1))};B.2a3=1b(a,b){if(!g(a))1t 1g r("8f is 1X.");if(!g(b))1t 1g r("3L is 1X.");1f 2*b*1k.2T(.5*a)};B.6wo=1b(a,b){if(!g(a))1t 1g r("2b is 1X.");if(!g(b))1t 1g r("13T is 1X.");1f 1k.7k(a)/1k.7k(b)};B.3x5=m(1k.3x5,1b(a){1d b=1k.3r(1k.abs(a),1/3);1f 0>a?-b:b});B.1iK=m(1k.1iK,1b(a){1f 1k.7k(a)*1k.9rG});B.1ep=1b(a,b){a*=b;1f 1-1k.108(-(a*a))};B.6wL=1b(a){v.1N.2b("x",a);1f a*(-.4gi*1k.abs(a)-.4gh*a*a+1.4gg)};B.51E=1b(a,b){v.1N.2b("x",a);v.1N.2b("y",b);1d c=1k.abs(a);1d d=1k.abs(b);1d e=1k.1V(c,d);d=1k.2o(c,d);d/=e;if(11I(d))1t 1g r("1X3 x or y 2Q be 9rF");c=B.6wL(d);c=1k.abs(b)>1k.abs(a)?B.10k-c:c;c=0>a?B.PI-c:c;1f 0>b?-c:c};k.3AJ=1b(a,b){v.1N.2c("49g",a);g(b)||(b=1g k);1d c=a.14c,d=a.1EN;a=m(a.7t,1);1d e=a*1k.2T(d);b.x=e*1k.3i(c);b.y=e*1k.2T(c);b.z=a*1k.3i(d);1f b};k.9v=1b(a,b,c,d){if(!g(d))1f 1g k(a,b,c);d.x=a;d.y=b;d.z=c;1f d};k.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g k(a.x,a.y,a.z);b.x=a.x;b.y=a.y;b.z=a.z;1f b}};k.1vu=k.1y;k.4q=3;k.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a.x;b[c++]=a.y;b[c]=a.z;1f b};k.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g k);c.x=a[b++];c.y=a[b++];c.z=a[b];1f c};k.4aE=1b(a,b){v.2l("4x",a);1d c=a.1h;g(b)?b.1h=3*c:b=2K(3*c);1j(1d d=0;d<c;++d)k.5n(a[d],b,3*d);1f b};k.338=1b(a,b){v.2l("4x",a);v.1N.2b.9Y("4x.1h",a.1h,3);if(0!==a.1h%3)1t 1g r("4x 1h 2Q be a 1yK of 3.");1d c=a.1h;g(b)?b.1h=c/3:b=2K(c/3);1j(1d d=0;d<c;d+=3){1d e=d/3;b[e]=k.5f(a,d,b[e])}1f b};k.7j=k.5f;k.1xj=1b(a){v.1N.2c("16L",a);1f 1k.1V(a.x,a.y,a.z)};k.51f=1b(a){v.1N.2c("16L",a);1f 1k.2o(a.x,a.y,a.z)};k.2yE=1b(a,b,c){v.1N.2c("1lf",a);v.1N.2c("1hd",b);v.1N.2c("4D",c);c.x=1k.2o(a.x,b.x);c.y=1k.2o(a.y,b.y);c.z=1k.2o(a.z,b.z);1f c};k.2yD=1b(a,b,c){v.1N.2c("1lf",a);v.1N.2c("1hd",b);v.1N.2c("4D",c);c.x=1k.1V(a.x,b.x);c.y=1k.1V(a.y,b.y);c.z=1k.1V(a.z,b.z);1f c};k.17j=1b(a){v.1N.2c("16L",a);1f a.x*a.x+a.y*a.y+a.z*a.z};k.7t=1b(a){1f 1k.3Y(k.17j(a))};1d aL=1g k;k.3s=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);k.3V(a,b,aL);1f k.7t(aL)};k.3de=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);k.3V(a,b,aL);1f k.17j(aL)};k.1T=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);1d c=k.7t(a);b.x=a.x/c;b.y=a.y/c;b.z=a.z/c;if(11I(b.x)||11I(b.y)||11I(b.z))1t 1g r("1A7 4D is 2S a 2b");1f b};k.2A=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);1f a.x*b.x+a.y*b.y+a.z*b.z};k.1oz=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x*b.x;c.y=a.y*b.y;c.z=a.z*b.z;1f c};k.2DR=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x/b.x;c.y=a.y/b.y;c.z=a.z/b.z;1f c};k.add=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x+b.x;c.y=a.y+b.y;c.z=a.z+b.z;1f c};k.3V=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x-b.x;c.y=a.y-b.y;c.z=a.z-b.z;1f c};k.4g=1b(a,b,c){v.1N.2c("16L",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c.x=a.x*b;c.y=a.y*b;c.z=a.z*b;1f c};k.1eE=1b(a,b,c){v.1N.2c("16L",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c.x=a.x/b;c.y=a.y/b;c.z=a.z/b;1f c};k.11k=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);b.x=-a.x;b.y=-a.y;b.z=-a.z;1f b};k.abs=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);b.x=1k.abs(a.x);b.y=1k.abs(a.y);b.z=1k.abs(a.z);1f b};1d 51D=1g k;k.11x=1b(a,b,c,d){v.1N.2c("4I",a);v.1N.2c("9o",b);v.1N.2b("t",c);v.1N.2c("4D",d);k.4g(b,c,51D);d=k.4g(a,1-c,d);1f k.add(51D,d,d)};1d bL=1g k,xV=1g k;k.1B3=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);k.1T(a,bL);k.1T(b,xV);a=k.2A(bL,xV);b=k.7t(k.4B(bL,xV,bL));1f 1k.12B(b,a)};1d 6wK=1g k;k.3da=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);a=k.1T(a,6wK);k.abs(a,a);1f b=a.x<=a.y?a.x<=a.z?k.1y(k.1dl,b):k.1y(k.16a,b):a.y<=a.z?k.1y(k.1f5,b):k.1y(k.16a,b)};k.9rE=1b(a,b,c){v.2l("a",a);v.2l("b",b);v.2l("4D",c);a=k.2A(a,b)/k.2A(b,b);1f k.4g(b,a,c)};k.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.x===b.x&&a.y===b.y&&a.z===b.z};k.1zX=1b(a,b,c){1f a.x===b[c]&&a.y===b[c+1]&&a.z===b[c+2]};k.5T=1b(a,b,c,d){1f a===b||g(a)&&g(b)&&B.5T(a.x,b.x,c,d)&&B.5T(a.y,b.y,c,d)&&B.5T(a.z,b.z,c,d)};k.4B=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);1d d=a.x,e=a.y;a=a.z;1d f=b.x,h=b.y;b=b.z;c.x=e*b-a*h;c.y=a*f-d*b;c.z=d*h-e*f;1f c};k.28F=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=.5*(a.x+b.x);c.y=.5*(a.y+b.y);c.z=.5*(a.z+b.z);1f c};k.8g=1b(a,b,c,d,e){v.1N.2b("3N",a);v.1N.2b("4k",b);a=B.8I(a);b=B.8I(b);1f k.15i(a,b,c,d,e)};1d gm=1g k,Yz=1g k,6wI=1g k(3AI,3AI,4.9rD),6wJ=1g k(3AI,3AI,3AI);k.15i=1b(a,b,c,d,e){v.1N.2b("3N",a);v.1N.2b("4k",b);c=m(c,0);1d f=g(d)?d.3z7:6wJ;B.5T(B.1Qg,2bi.51A,B.1io)&&(f=g(d)?d.3z7:6wI);d=1k.3i(b);gm.x=d*1k.3i(a);gm.y=d*1k.2T(a);gm.z=1k.2T(b);gm=k.1T(gm,gm);k.1oz(f,gm,Yz);a=1k.3Y(k.2A(gm,Yz));Yz=k.1eE(Yz,a,Yz);gm=k.4g(gm,c,gm);g(e)||(e=1g k);1f k.add(Yz,gm,e)};k.5U6=1b(a,b,c){v.2l("9R",a);if(2>a.1h||0!==a.1h%2)1t 1g r("1Z 2b of 9R 2Q be a 1yK of 2 and at 1gR 2");1d d=a.1h;g(c)?c.1h=d/2:c=2K(d/2);1j(1d e=0;e<d;e+=2){1d f=e/2;c[f]=k.8g(a[e],a[e+1],0,b,c[f])}1f c};k.9rC=1b(a,b,c){v.2l("9R",a);if(2>a.1h||0!==a.1h%2)1t 1g r("1Z 2b of 9R 2Q be a 1yK of 2 and at 1gR 2");1d d=a.1h;g(c)?c.1h=d/2:c=2K(d/2);1j(1d e=0;e<d;e+=2){1d f=e/2;c[f]=k.15i(a[e],a[e+1],0,b,c[f])}1f c};k.1iy=1b(a,b,c){v.2l("9R",a);if(3>a.1h||0!==a.1h%3)1t 1g r("1Z 2b of 9R 2Q be a 1yK of 3 and at 1gR 3");1d d=a.1h;g(c)?c.1h=d/3:c=2K(d/3);1j(1d e=0;e<d;e+=3){1d f=e/3;c[f]=k.8g(a[e],a[e+1],a[e+2],b,c[f])}1f c};k.51C=1b(a,b,c){v.2l("9R",a);if(3>a.1h||0!==a.1h%3)1t 1g r("1Z 2b of 9R 2Q be a 1yK of 3 and at 1gR 3");1d d=a.1h;g(c)?c.1h=d/3:c=2K(d/3);1j(1d e=0;e<d;e+=3){1d f=e/3;c[f]=k.15i(a[e],a[e+1],a[e+2],b,c[f])}1f c};k.6h=1L.3F(1g k(0,0,0));k.1dl=1L.3F(1g k(1,0,0));k.1f5=1L.3F(1g k(0,1,0));k.16a=1L.3F(1g k(0,0,1));k.1i.1y=1b(a){1f k.1y(1a,a)};k.1i.2L=1b(a){1f k.2L(1a,a)};k.1i.5T=1b(a,b,c){1f k.5T(1a,a,b,c)};k.1i.5s=1b(){1f"("+1a.x+", "+1a.y+", "+1a.z+")"};1d 6wH=1g k,6wG=1g k;T.15i=1b(a,b,c,d){v.1N.2b("3N",a);v.1N.2b("4k",b);c=m(c,0);if(!g(d))1f 1g T(a,b,c);d.3N=a;d.4k=b;d.1D=c;1f d};T.8g=1b(a,b,c,d){v.1N.2b("3N",a);v.1N.2b("4k",b);a=B.8I(a);b=B.8I(b);1f T.15i(a,b,c,d)};1d 6wz=1g k,6wA=1g k,6wy=1g k,6wC=1g k(1/16t,1/16t,1.9rB-7),6wF=1g k(1/16t,1/16t,1/16t),6wB=1g k(2.3AH-14,2.3AH-14,2.9rA-14),6wE=1g k(2.3AH-14,2.3AH-14,2.3AH-14),6wD=B.51B;T.12y=1b(a,b,c){1d d=g(b)?b.2zt:6wF,e=g(b)?b.4by:6wE,f=g(b)?b.3dl:6wD;B.5T(B.1Qg,2bi.51A,B.1io)&&(d=g(b)?b.2zt:6wC,e=g(b)?b.4by:6wB);d=FN(a,d,e,f,6wA);if(g(d)){b=k.1oz(d,e,6wz);b=k.1T(b,b);d=k.3V(a,d,6wy);e=1k.12B(b.y,b.x);b=1k.17M(b.z);a=B.12q(k.2A(d,a))*k.7t(d);if(!g(c))1f 1g T(e,b,a);c.3N=e;c.4k=b;c.1D=a;1f c}};T.1g8=1b(a,b,c){v.2l("3od",a);1f k.15i(a.3N,a.4k,a.1D,b,c)};T.3VG=1b(a,b,c,d){v.2l("9rz",a);v.2l("9ry",c);v.2l("9rx",b);v.2l("9rw",d);if(a===c&&b===d)1f 0;b=B.8I(b);d=B.8I(d);a=B.8I(a);c=B.8I(c);1d e=a*a+b*b,f=c*c+d*d;b=(e+f-((a-c)*(a-c)+(b-d)*(b-d)))/(2*1k.3Y(e)*1k.3Y(f));b=B.2Y(b,-1,1);1f 1k.1cz(b)*B.1Qg};T.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g T(a.3N,a.4k,a.1D);b.3N=a.3N;b.4k=a.4k;b.1D=a.1D;1f b}};T.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.3N===b.3N&&a.4k===b.4k&&a.1D===b.1D};T.5T=1b(a,b,c){v.1N.2b("1fk",c);1f a===b||g(a)&&g(b)&&1k.abs(a.3N-b.3N)<=c&&1k.abs(a.4k-b.4k)<=c&&1k.abs(a.1D-b.1D)<=c};T.6h=1L.3F(1g T(0,0,0));T.1i.1y=1b(a){1f T.1y(1a,a)};T.1i.2L=1b(a){1f T.2L(1a,a)};T.1i.5T=1b(a,b){1f T.5T(1a,a,b)};T.1i.5s=1b(){1f"("+1a.3N+", "+1a.4k+", "+1a.1D+")"};1L.2X(ba.1i,{10N:{1n:1b(){1f 1a.1jQ}},3z7:{1n:1b(){1f 1a.2rT}},9rv:{1n:1b(){1f 1a.3AG}},2zt:{1n:1b(){1f 1a.2RJ}},4by:{1n:1b(){1f 1a.2F3}},1W5:{1n:1b(){1f 1a.3AF}},17i:{1n:1b(){1f 1a.3AE}}});ba.1y=1b(a,b){if(g(a)){1d c=a.1jQ;if(!g(b))1f 1g ba(c.x,c.y,c.z);k.1y(c,b.1jQ);k.1y(a.2rT,b.2rT);k.1y(a.3AG,b.3AG);k.1y(a.2RJ,b.2RJ);k.1y(a.2F3,b.2F3);b.3AF=a.3AF;b.3AE=a.3AE;b.3dl=a.3dl;1f b}};ba.1mg=1b(a,b){g(b)||(b=1g ba);if(!g(a))1f b;gx(b,a.x,a.y,a.z);1f b};ba.9y=1L.3F(1g ba(16t,16t,B.1Qg));ba.9ru=1L.3F(1g ba(4ay,4ay,6wx.29));ba.9rt=1L.3F(1g ba(16t,16t,2bi.31));ba.1x9=1L.3F(1g ba(1,1,1));ba.6ww=1L.3F(1g ba(B.4bx,B.4bx,B.4bx));ba.1i.1y=1b(a){1f ba.1y(1a,a)};ba.4q=k.4q;ba.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);k.5n(a.1jQ,b,c);1f b};ba.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);a=k.5f(a,b);1f ba.1mg(a,c)};ba.1i.9rs=k.1T;ba.1i.2a8=1b(a,b){v.1N.2c("3od",a);1d c=a.3N,d=a.4k,e=1k.3i(d);a=e*1k.3i(c);c=e*1k.2T(c);d=1k.2T(d);g(b)||(b=1g k);b.x=a;b.y=c;b.z=d;1f k.1T(b,b)};ba.1i.17N=1b(a,b){g(b)||(b=1g k);b=k.1oz(a,1a.2F3,b);1f k.1T(b,b)};1d Zz=1g k,nE=1g k;ba.1i.13B=1b(a,b){1a.2a8(a,Zz);k.1oz(1a.2rT,Zz,nE);1d c=1k.3Y(k.2A(Zz,nE));k.1eE(nE,c,nE);k.4g(Zz,a.1D,Zz);g(b)||(b=1g k);1f k.add(nE,Zz,b)};ba.1i.9rr=1b(a,b){v.2l("6wd",a);1d c=a.1h;g(b)?b.1h=c:b=2K(c);1j(1d d=0;d<c;d++)b[d]=1a.13B(a[d],b[d]);1f b};1d 6wu=1g k,6wv=1g k,6wt=1g k;ba.1i.10Z=1b(a,b){1d c=1a.1fI(a,6wv);if(g(c)){1d d=1a.17N(c,6wu),e=k.3V(a,c,6wt);c=1k.12B(d.y,d.x);d=1k.17M(d.z);a=B.12q(k.2A(e,a))*k.7t(e);if(!g(b))1f 1g T(c,d,a);b.3N=c;b.4k=d;b.1D=a;1f b}};ba.1i.9rq=1b(a,b){v.2l("2xP",a);1d c=a.1h;g(b)?b.1h=c:b=2K(c);1j(1d d=0;d<c;++d)b[d]=1a.10Z(a[d],b[d]);1f b};ba.1i.1fI=1b(a,b){1f FN(a,1a.2RJ,1a.2F3,1a.3dl,b)};ba.1i.6tx=1b(a,b){v.1N.2c("16L",a);g(b)||(b=1g k);1d c=a.x,d=a.y,e=a.z,f=1a.2F3;1f k.4g(a,1/1k.3Y(c*c*f.x+d*d*f.y+e*e*f.z),b)};ba.1i.3db=1b(a,b){g(b)||(b=1g k);1f k.1oz(a,1a.2RJ,b)};ba.1i.9rp=1b(a,b){g(b)||(b=1g k);1f k.1oz(a,1a.1jQ,b)};ba.1i.2L=1b(a){1f 1a===a||g(a)&&k.2L(1a.1jQ,a.1jQ)};ba.1i.5s=1b(){1f 1a.1jQ.5s()};ba.1i.4uQ=1b(a,b,c){v.1N.2c("1K",a);if(!B.5T(1a.1jQ.x,1a.1jQ.y,B.2aw))1t 1g r("2ZE 2Q be an 3c of 6to (10N.x == 10N.y)");v.1N.2b.1bP("2ZE.10N.z",1a.1jQ.z,0);b=m(b,0);1d d=1a.51z;g(c)||(c=1g k);c.x=0;c.y=0;c.z=a.z*(1-d);if(!(1k.abs(c.z)>=1a.1jQ.z-b))1f c};1L.2X(Td.1i,{3c:{1n:1b(){1f 1a.5W}}});Td.1i.12z=1b(a,b){1d c=1a.3d1,d=a.3N*c;c*=a.4k;a=a.1D;if(!g(b))1f 1g k(d,c,a);b.x=d;b.y=c;b.z=a;1f b};Td.1i.1cZ=1b(a,b){if(!g(a))1t 1g r("16L is 1X");1d c=1a.4b0,d=a.x*c;c*=a.y;a=a.z;if(!g(b))1f 1g T(d,c,a);b.3N=d;b.4k=c;b.1D=a;1f b};1d Lb=1L.3F({1gB:-1,1wT:0,27N:1});J.4q=9;J.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a[0];b[c++]=a[1];b[c++]=a[2];b[c++]=a[3];b[c++]=a[4];b[c++]=a[5];b[c++]=a[6];b[c++]=a[7];b[c++]=a[8];1f b};J.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g J);c[0]=a[b++];c[1]=a[b++];c[2]=a[b++];c[3]=a[b++];c[4]=a[b++];c[5]=a[b++];c[6]=a[b++];c[7]=a[b++];c[8]=a[b++];1f c};J.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g J(a[0],a[3],a[6],a[1],a[4],a[7],a[2],a[5],a[8]);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];1f b}};J.7j=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g J);c[0]=a[b];c[1]=a[b+1];c[2]=a[b+2];c[3]=a[b+3];c[4]=a[b+4];c[5]=a[b+5];c[6]=a[b+6];c[7]=a[b+7];c[8]=a[b+8];1f c};J.2ii=1b(a,b){v.2l("2a",a);1f J.1y(a,b)};J.4Ze=1b(a,b){v.2l("2a",a);if(!g(b))1f 1g J(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);b[0]=a[0];b[1]=a[3];b[2]=a[6];b[3]=a[1];b[4]=a[4];b[5]=a[7];b[6]=a[2];b[7]=a[5];b[8]=a[8];1f b};J.1fE=1b(a,b){v.1N.2c("1zz",a);1d c=a.x*a.x,d=a.x*a.y,e=a.x*a.z,f=a.x*a.w,h=a.y*a.y,l=a.y*a.z,p=a.y*a.w,n=a.z*a.z,k=a.z*a.w,w=a.w*a.w;a=c-h-n+w;1d x=2*(d-k),m=2*(e+p);d=2*(d+k);k=-c+h-n+w;1d t=2*(l-f);e=2*(e-p);f=2*(l+f);c=-c-h+n+w;if(!g(b))1f 1g J(a,x,m,d,k,t,e,f,c);b[0]=a;b[1]=d;b[2]=e;b[3]=x;b[4]=k;b[5]=f;b[6]=m;b[7]=t;b[8]=c;1f b};J.28d=1b(a,b){v.1N.2c("39r",a);1d c=1k.3i(-a.8q),d=1k.3i(-a.8e),e=1k.3i(a.12C),f=1k.2T(-a.8q),h=1k.2T(-a.8e),l=1k.2T(a.12C);a=c*d;1d p=-e*h+l*f*d,n=l*h+e*f*d,k=c*h,w=e*d+l*f*h;d=-l*d+e*f*h;f=-f;l*=c;c*=e;if(!g(b))1f 1g J(a,p,n,k,w,d,f,l,c);b[0]=a;b[1]=k;b[2]=f;b[3]=p;b[4]=w;b[5]=l;b[6]=n;b[7]=d;b[8]=c;1f b};J.1oY=1b(a,b){v.1N.2c("3b",a);if(!g(b))1f 1g J(a.x,0,0,0,a.y,0,0,0,a.z);b[0]=a.x;b[1]=0;b[2]=0;b[3]=0;b[4]=a.y;b[5]=0;b[6]=0;b[7]=0;b[8]=a.z;1f b};J.4Zd=1b(a,b){v.1N.2b("3b",a);if(!g(b))1f 1g J(a,0,0,0,a,0,0,0,a);b[0]=a;b[1]=0;b[2]=0;b[3]=0;b[4]=a;b[5]=0;b[6]=0;b[7]=0;b[8]=a;1f b};J.9ro=1b(a,b){v.1N.2c("8r",a);if(!g(b))1f 1g J(0,-a.z,a.y,a.z,0,-a.x,-a.y,a.x,0);b[0]=0;b[1]=a.z;b[2]=-a.y;b[3]=-a.z;b[4]=0;b[5]=a.x;b[6]=a.y;b[7]=-a.x;b[8]=0;1f b};J.4RA=1b(a,b){v.1N.2b("8f",a);1d c=1k.3i(a);a=1k.2T(a);if(!g(b))1f 1g J(1,0,0,0,c,-a,0,a,c);b[0]=1;b[1]=0;b[2]=0;b[3]=0;b[4]=c;b[5]=a;b[6]=0;b[7]=-a;b[8]=c;1f b};J.4Rz=1b(a,b){v.1N.2b("8f",a);1d c=1k.3i(a);a=1k.2T(a);if(!g(b))1f 1g J(c,0,a,0,1,0,-a,0,c);b[0]=c;b[1]=0;b[2]=-a;b[3]=0;b[4]=1;b[5]=0;b[6]=a;b[7]=0;b[8]=c;1f b};J.2Qf=1b(a,b){v.1N.2b("8f",a);1d c=1k.3i(a);a=1k.2T(a);if(!g(b))1f 1g J(c,-a,0,a,c,0,0,0,1);b[0]=c;b[1]=a;b[2]=0;b[3]=-a;b[4]=c;b[5]=0;b[6]=0;b[7]=0;b[8]=1;1f b};J.1MY=1b(a,b){v.1N.2c("8W",a);if(!g(b))1f[a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]];b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];1f b};J.1w1=1b(a,b){v.1N.2b.9Y("1sA",b,0);v.1N.2b.19D("1sA",b,2);v.1N.2b.9Y("2or",a,0);v.1N.2b.19D("2or",a,2);1f 3*a+b};J.1ed=1b(a,b,c){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,2);v.1N.2c("4D",c);b*=3;1d d=a[b+1],e=a[b+2];c.x=a[b];c.y=d;c.z=e;1f c};J.1vr=1b(a,b,c,d){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,2);v.1N.2c("16L",c);v.1N.2c("4D",d);d=J.1y(a,d);a=3*b;d[a]=c.x;d[a+1]=c.y;d[a+2]=c.z;1f d};J.4aU=1b(a,b,c){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,2);v.1N.2c("4D",c);1d d=a[b+3],e=a[b+6];c.x=a[b];c.y=d;c.z=e;1f c};J.4Zc=1b(a,b,c,d){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,2);v.1N.2c("16L",c);v.1N.2c("4D",d);d=J.1y(a,d);d[b]=c.x;d[b+3]=c.y;d[b+6]=c.z;1f d};1d yV=1g k;J.1sj=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b.x=k.7t(k.9v(a[0],a[1],a[2],yV));b.y=k.7t(k.9v(a[3],a[4],a[5],yV));b.z=k.7t(k.9v(a[6],a[7],a[8],yV));1f b};1d cL=1g k;J.4aT=1b(a){J.1sj(a,cL);1f k.1xj(cL)};J.9b=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);1d d=a[1]*b[0]+a[4]*b[1]+a[7]*b[2],e=a[2]*b[0]+a[5]*b[1]+a[8]*b[2],f=a[0]*b[3]+a[3]*b[4]+a[6]*b[5],h=a[1]*b[3]+a[4]*b[4]+a[7]*b[5],l=a[2]*b[3]+a[5]*b[4]+a[8]*b[5],g=a[0]*b[6]+a[3]*b[7]+a[6]*b[8],n=a[1]*b[6]+a[4]*b[7]+a[7]*b[8],k=a[2]*b[6]+a[5]*b[7]+a[8]*b[8];c[0]=a[0]*b[0]+a[3]*b[1]+a[6]*b[2];c[1]=d;c[2]=e;c[3]=f;c[4]=h;c[5]=l;c[6]=g;c[7]=n;c[8]=k;1f c};J.add=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];c[4]=a[4]+b[4];c[5]=a[5]+b[5];c[6]=a[6]+b[6];c[7]=a[7]+b[7];c[8]=a[8]+b[8];1f c};J.3V=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];c[4]=a[4]-b[4];c[5]=a[5]-b[5];c[6]=a[6]-b[6];c[7]=a[7]-b[7];c[8]=a[8]-b[8];1f c};J.10r=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("16L",b);v.1N.2c("4D",c);1d d=b.x,e=b.y;b=b.z;1d f=a[1]*d+a[4]*e+a[7]*b,h=a[2]*d+a[5]*e+a[8]*b;c.x=a[0]*d+a[3]*e+a[6]*b;c.y=f;c.z=h;1f c};J.4g=1b(a,b,c){v.1N.2c("8W",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;c[4]=a[4]*b;c[5]=a[5]*b;c[6]=a[6]*b;c[7]=a[7]*b;c[8]=a[8]*b;1f c};J.2qj=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("3b",b);v.1N.2c("4D",c);c[0]=a[0]*b.x;c[1]=a[1]*b.x;c[2]=a[2]*b.x;c[3]=a[3]*b.y;c[4]=a[4]*b.y;c[5]=a[5]*b.y;c[6]=a[6]*b.z;c[7]=a[7]*b.z;c[8]=a[8]*b.z;1f c};J.11k=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=-a[3];b[4]=-a[4];b[5]=-a[5];b[6]=-a[6];b[7]=-a[7];b[8]=-a[8];1f b};J.1z0=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);1d c=a[3],d=a[6],e=a[1],f=a[4],h=a[7],l=a[2],g=a[5],n=a[8];b[0]=a[0];b[1]=c;b[2]=d;b[3]=e;b[4]=f;b[5]=h;b[6]=l;b[7]=g;b[8]=n;1f b};1d 6ws=1g k(1,1,1);J.1nf=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);1d c=k.2DR(6ws,J.1sj(a,cL),cL);1f b=J.2qj(a,c,b)};1d HN=[1,0,0],GN=[2,2,1],dL=1g J,51y=1g J;J.6tu=1b(a,b){v.1N.2c("8W",a);1d c=B.6wr,d=0,e=0;g(b)||(b={});1d f=b.4bf=J.1y(J.8K,b.4bf);a=b.3cO=J.1y(a,b.3cO);1j(1d h=0,l=0;9>l;++l){1d p=a[l];h+=p*p}1j(c*=1k.3Y(h);10>e&&6wq(a)>c;){l=a;h=dL;1d n=B.2aw;p=0;1j(1d k=1,w=0;3>w;++w){1d x=1k.abs(l[J.1w1(GN[w],HN[w])]);x>p&&(k=w,p=x)}w=1;x=0;p=HN[k];k=GN[k];1k.abs(l[J.1w1(k,p)])>n&&(n=l[J.1w1(k,k)],w=l[J.1w1(p,p)],l=l[J.1w1(k,p)],l=(n-w)/2/l,l=0>l?-1/(-l+1k.3Y(1+l*l)):1/(l+1k.3Y(1+l*l)),w=1/1k.3Y(1+l*l),x=l*w);h=J.1y(J.8K,h);h[J.1w1(p,p)]=h[J.1w1(k,k)]=w;h[J.1w1(k,p)]=x;h[J.1w1(p,k)]=-x;J.1z0(dL,51y);J.9b(a,dL,a);J.9b(51y,a,a);J.9b(f,dL,f);2<++d&&(++e,d=0)}1f b};J.abs=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b[0]=1k.abs(a[0]);b[1]=1k.abs(a[1]);b[2]=1k.abs(a[2]);b[3]=1k.abs(a[3]);b[4]=1k.abs(a[4]);b[5]=1k.abs(a[5]);b[6]=1k.abs(a[6]);b[7]=1k.abs(a[7]);b[8]=1k.abs(a[8]);1f b};J.3Og=1b(a){v.1N.2c("8W",a);1d b=a[3],c=a[6],d=a[4],e=a[7],f=a[5],h=a[8];1f a[0]*(d*h-f*e)+a[1]*(f*c-b*h)+a[2]*(b*e-d*c)};J.12Z=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);1d c=a[0],d=a[1],e=a[2],f=a[3],h=a[4],l=a[5],g=a[6],n=a[7],k=a[8];a=J.3Og(a);if(1k.abs(a)<=B.2aw)1t 1g r("8W is 2S 6we");b[0]=h*k-n*l;b[1]=n*e-d*k;b[2]=d*l-h*e;b[3]=g*l-f*k;b[4]=c*k-g*e;b[5]=f*e-c*l;b[6]=f*n-g*h;b[7]=g*d-c*n;b[8]=c*h-f*d;1f J.4g(b,1/a,b)};J.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]};J.5T=1b(a,b,c){v.1N.2b("1fk",c);1f a===b||g(a)&&g(b)&&1k.abs(a[0]-b[0])<=c&&1k.abs(a[1]-b[1])<=c&&1k.abs(a[2]-b[2])<=c&&1k.abs(a[3]-b[3])<=c&&1k.abs(a[4]-b[4])<=c&&1k.abs(a[5]-b[5])<=c&&1k.abs(a[6]-b[6])<=c&&1k.abs(a[7]-b[7])<=c&&1k.abs(a[8]-b[8])<=c};J.8K=1L.3F(1g J(1,0,0,0,1,0,0,0,1));J.6h=1L.3F(1g J(0,0,0,0,0,0,0,0,0));J.3cS=0;J.3cR=1;J.3Ao=2;J.3cQ=3;J.3cP=4;J.3An=5;J.3Am=6;J.3Al=7;J.3d3=8;1L.2X(J.1i,{1h:{1n:1b(){1f J.4q}}});J.1i.1y=1b(a){1f J.1y(1a,a)};J.1i.2L=1b(a){1f J.2L(1a,a)};J.1zX=1b(a,b,c){1f a[0]===b[c]&&a[1]===b[c+1]&&a[2]===b[c+2]&&a[3]===b[c+3]&&a[4]===b[c+4]&&a[5]===b[c+5]&&a[6]===b[c+6]&&a[7]===b[c+7]&&a[8]===b[c+8]};J.1i.5T=1b(a,b){1f J.5T(1a,a,b)};J.1i.5s=1b(){1f"("+1a[0]+", "+1a[3]+", "+1a[6]+")\\n("+1a[1]+", "+1a[4]+", "+1a[7]+")\\n("+1a[2]+", "+1a[5]+", "+1a[8]+")"};E.9v=1b(a,b,c,d,e){if(!g(e))1f 1g E(a,b,c,d);e.x=a;e.y=b;e.z=c;e.w=d;1f e};E.1dc=1b(a,b){v.1N.2c("1A",a);if(!g(b))1f 1g E(a.5r,a.5t,a.5G,a.2O);b.x=a.5r;b.y=a.5t;b.z=a.5G;b.w=a.2O;1f b};E.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g E(a.x,a.y,a.z,a.w);b.x=a.x;b.y=a.y;b.z=a.z;b.w=a.w;1f b}};E.4q=4;E.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a.x;b[c++]=a.y;b[c++]=a.z;b[c]=a.w;1f b};E.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g E);c.x=a[b++];c.y=a[b++];c.z=a[b++];c.w=a[b];1f c};E.4aE=1b(a,b){v.2l("4x",a);1d c=a.1h,d=4*c;if(g(b)){if(!2K.8n(b)&&b.1h!==d)1t 1g r("If 4D is a 3WK 4x, it 2Q 118 2hu 4x.1h * 4 26L");b.1h!==d&&(b.1h=d)}1s b=2K(d);1j(d=0;d<c;++d)E.5n(a[d],b,4*d);1f b};E.338=1b(a,b){v.2l("4x",a);v.1N.2b.9Y("4x.1h",a.1h,4);if(0!==a.1h%4)1t 1g r("4x 1h 2Q be a 1yK of 4.");1d c=a.1h;g(b)?b.1h=c/4:b=2K(c/4);1j(1d d=0;d<c;d+=4){1d e=d/4;b[e]=E.5f(a,d,b[e])}1f b};E.7j=E.5f;E.1xj=1b(a){v.1N.2c("16L",a);1f 1k.1V(a.x,a.y,a.z,a.w)};E.51f=1b(a){v.1N.2c("16L",a);1f 1k.2o(a.x,a.y,a.z,a.w)};E.2yE=1b(a,b,c){v.1N.2c("1lf",a);v.1N.2c("1hd",b);v.1N.2c("4D",c);c.x=1k.2o(a.x,b.x);c.y=1k.2o(a.y,b.y);c.z=1k.2o(a.z,b.z);c.w=1k.2o(a.w,b.w);1f c};E.2yD=1b(a,b,c){v.1N.2c("1lf",a);v.1N.2c("1hd",b);v.1N.2c("4D",c);c.x=1k.1V(a.x,b.x);c.y=1k.1V(a.y,b.y);c.z=1k.1V(a.z,b.z);c.w=1k.1V(a.w,b.w);1f c};E.17j=1b(a){v.1N.2c("16L",a);1f a.x*a.x+a.y*a.y+a.z*a.z+a.w*a.w};E.7t=1b(a){1f 1k.3Y(E.17j(a))};1d eL=1g E;E.3s=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);E.3V(a,b,eL);1f E.7t(eL)};E.3de=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);E.3V(a,b,eL);1f E.17j(eL)};E.1T=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);1d c=E.7t(a);b.x=a.x/c;b.y=a.y/c;b.z=a.z/c;b.w=a.w/c;if(11I(b.x)||11I(b.y)||11I(b.z)||11I(b.w))1t 1g r("1A7 4D is 2S a 2b");1f b};E.2A=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);1f a.x*b.x+a.y*b.y+a.z*b.z+a.w*b.w};E.1oz=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x*b.x;c.y=a.y*b.y;c.z=a.z*b.z;c.w=a.w*b.w;1f c};E.2DR=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x/b.x;c.y=a.y/b.y;c.z=a.z/b.z;c.w=a.w/b.w;1f c};E.add=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x+b.x;c.y=a.y+b.y;c.z=a.z+b.z;c.w=a.w+b.w;1f c};E.3V=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x-b.x;c.y=a.y-b.y;c.z=a.z-b.z;c.w=a.w-b.w;1f c};E.4g=1b(a,b,c){v.1N.2c("16L",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c.x=a.x*b;c.y=a.y*b;c.z=a.z*b;c.w=a.w*b;1f c};E.1eE=1b(a,b,c){v.1N.2c("16L",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c.x=a.x/b;c.y=a.y/b;c.z=a.z/b;c.w=a.w/b;1f c};E.11k=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);b.x=-a.x;b.y=-a.y;b.z=-a.z;b.w=-a.w;1f b};E.abs=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);b.x=1k.abs(a.x);b.y=1k.abs(a.y);b.z=1k.abs(a.z);b.w=1k.abs(a.w);1f b};1d 51x=1g E;E.11x=1b(a,b,c,d){v.1N.2c("4I",a);v.1N.2c("9o",b);v.1N.2b("t",c);v.1N.2c("4D",d);E.4g(b,c,51x);d=E.4g(a,1-c,d);1f E.add(51x,d,d)};1d 6wp=1g E;E.3da=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);a=E.1T(a,6wp);E.abs(a,a);1f b=a.x<=a.y?a.x<=a.z?a.x<=a.w?E.1y(E.1dl,b):E.1y(E.1xa,b):a.z<=a.w?E.1y(E.16a,b):E.1y(E.1xa,b):a.y<=a.z?a.y<=a.w?E.1y(E.1f5,b):E.1y(E.1xa,b):a.z<=a.w?E.1y(E.16a,b):E.1y(E.1xa,b)};E.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.x===b.x&&a.y===b.y&&a.z===b.z&&a.w===b.w};E.1zX=1b(a,b,c){1f a.x===b[c]&&a.y===b[c+1]&&a.z===b[c+2]&&a.w===b[c+3]};E.5T=1b(a,b,c,d){1f a===b||g(a)&&g(b)&&B.5T(a.x,b.x,c,d)&&B.5T(a.y,b.y,c,d)&&B.5T(a.z,b.z,c,d)&&B.5T(a.w,b.w,c,d)};E.6h=1L.3F(1g E(0,0,0,0));E.1dl=1L.3F(1g E(1,0,0,0));E.1f5=1L.3F(1g E(0,1,0,0));E.16a=1L.3F(1g E(0,0,1,0));E.1xa=1L.3F(1g E(0,0,0,1));E.1i.1y=1b(a){1f E.1y(1a,a)};E.1i.2L=1b(a){1f E.2L(1a,a)};E.1i.5T=1b(a,b,c){1f E.5T(1a,a,b,c)};E.1i.5s=1b(){1f"("+1a.x+", "+1a.y+", "+1a.z+", "+1a.w+")"};1d 51w=1g 4A(1),6wn=1/256,6wm=1/12v,6wl=1/1C6;E.3bF=1b(a,b){v.1N.2b("1Q",a);g(b)||(b=1g E);51w[0]=a;a=51w[0];if(0===a)1f E.1y(E.6h,b);1d c=0>a?1:0;if(1AJ(a)){a=1k.abs(a);1d d=1k.2t(B.6wo(a,10))+1;a/=1k.3r(10,d)}1s a=.1,d=38;a*=256;b.x=1k.2t(a);a=256*(a-b.x);b.y=1k.2t(a);a=256*(a-b.y);b.z=1k.2t(a);b.w=2*(d+38)+c;1f b};E.3yJ=1b(a){v.1N.2c("24A",a);1d b=a.w/2,c=1k.2t(b);b=2*(b-c);c-=38;b=-(2*b-1);if(38<=c)1f 0>b?3a.1r7:3a.19B;1d d=b*a.x*6wn;d+=b*a.y*6wm;d+=b*a.z*6wl;1f d*1k.3r(10,c)};g(1L.6F)&&(qa.1i=1L.6F(6u.1i),qa.1i.7m=qa);qa.1i.5s=1b(){1d a=1a.2i+": "+1a.19s;g(1a.1fi)&&(a+="\\n"+1a.1fi.5s());1f a};A.4q=16;A.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a[0];b[c++]=a[1];b[c++]=a[2];b[c++]=a[3];b[c++]=a[4];b[c++]=a[5];b[c++]=a[6];b[c++]=a[7];b[c++]=a[8];b[c++]=a[9];b[c++]=a[10];b[c++]=a[11];b[c++]=a[12];b[c++]=a[13];b[c++]=a[14];b[c]=a[15];1f b};A.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g A);c[0]=a[b++];c[1]=a[b++];c[2]=a[b++];c[3]=a[b++];c[4]=a[b++];c[5]=a[b++];c[6]=a[b++];c[7]=a[b++];c[8]=a[b++];c[9]=a[b++];c[10]=a[b++];c[11]=a[b++];c[12]=a[b++];c[13]=a[b++];c[14]=a[b++];c[15]=a[b];1f c};A.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g A(a[0],a[4],a[8],a[12],a[1],a[5],a[9],a[13],a[2],a[6],a[10],a[14],a[3],a[7],a[11],a[15]);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];1f b}};A.7j=A.5f;A.2ii=1b(a,b){v.2l("2a",a);1f A.1y(a,b)};A.4Ze=1b(a,b){v.2l("2a",a);if(!g(b))1f 1g A(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15]);b[0]=a[0];b[1]=a[4];b[2]=a[8];b[3]=a[12];b[4]=a[1];b[5]=a[5];b[6]=a[9];b[7]=a[13];b[8]=a[2];b[9]=a[6];b[10]=a[10];b[11]=a[14];b[12]=a[3];b[13]=a[7];b[14]=a[11];b[15]=a[15];1f b};A.1yU=1b(a,b,c){v.1N.2c("5S",a);b=m(b,k.6h);if(!g(c))1f 1g A(a[0],a[3],a[6],b.x,a[1],a[4],a[7],b.y,a[2],a[5],a[8],b.z,0,0,0,1);c[0]=a[0];c[1]=a[1];c[2]=a[2];c[3]=0;c[4]=a[3];c[5]=a[4];c[6]=a[5];c[7]=0;c[8]=a[6];c[9]=a[7];c[10]=a[8];c[11]=0;c[12]=b.x;c[13]=b.y;c[14]=b.z;c[15]=1;1f c};A.2yB=1b(a,b,c,d){v.1N.2c("14L",a);v.1N.2c("5S",b);v.1N.2c("3b",c);g(d)||(d=1g A);1d e=c.x,f=c.y;c=c.z;1d h=b.x*b.x,l=b.x*b.y,p=b.x*b.z,n=b.x*b.w,k=b.y*b.y,w=b.y*b.z,x=b.y*b.w,m=b.z*b.z,t=b.z*b.w;b=b.w*b.w;d[0]=(h-k-m+b)*e;d[1]=2*(l+t)*e;d[2]=2*(p-x)*e;d[3]=0;d[4]=2*(l-t)*f;d[5]=(-h+k-m+b)*f;d[6]=2*(w+n)*f;d[7]=0;d[8]=2*(p+x)*c;d[9]=2*(w-n)*c;d[10]=(-h-k+m+b)*c;d[11]=0;d[12]=a.x;d[13]=a.y;d[14]=a.z;d[15]=1;1f d};A.4Nx=1b(a,b){v.1N.2c("9rn",a);1f A.2yB(a.14L,a.5S,a.3b,b)};A.1PY=1b(a,b){v.1N.2c("14L",a);1f A.1yU(J.8K,a,b)};A.1oY=1b(a,b){v.1N.2c("3b",a);if(!g(b))1f 1g A(a.x,0,0,0,0,a.y,0,0,0,0,a.z,0,0,0,0,1);b[0]=a.x;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=a.y;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=a.z;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;1f b};A.4Zd=1b(a,b){v.1N.2b("3b",a);if(!g(b))1f 1g A(a,0,0,0,0,a,0,0,0,0,a,0,0,0,0,1);b[0]=a;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=a;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=a;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;1f b};1d $z=1g k,aA=1g k,oE=1g k;A.9rm=1b(a,b){v.1N.2c("3w",a);1d c=a.1K,d=a.2G;a=a.up;v.1N.2c("3w.1K",c);v.1N.2c("3w.2G",d);v.1N.2c("3w.up",a);k.1T(d,$z);k.1T(k.4B($z,a,aA),aA);k.1T(k.4B(aA,$z,oE),oE);d=aA.x;a=aA.y;1d e=aA.z,f=$z.x,h=$z.y,l=$z.z,p=oE.x,n=oE.y,z=oE.z,w=c.x,x=c.y,m=c.z;c=d*-w+a*-x+e*-m;1d t=p*-w+n*-x+z*-m;w=f*w+h*x+l*m;if(!g(b))1f 1g A(d,a,e,c,p,n,z,t,-f,-h,-l,w,0,0,0,1);b[0]=d;b[1]=p;b[2]=-f;b[3]=0;b[4]=a;b[5]=n;b[6]=-h;b[7]=0;b[8]=e;b[9]=z;b[10]=-l;b[11]=0;b[12]=c;b[13]=t;b[14]=w;b[15]=1;1f b};A.9rl=1b(a,b,c,d,e){v.1N.2b.1bP("6wk",a,0);v.1N.2b.1ib("6wk",a,1k.PI);v.1N.2b.1bP("3I",c,0);v.1N.2b.1bP("3W",d,0);v.1N.2c("4D",e);a=1/1k.10n(.5*a);e[0]=a/b;e[1]=0;e[2]=0;e[3]=0;e[4]=0;e[5]=a;e[6]=0;e[7]=0;e[8]=0;e[9]=0;e[10]=(d+c)/(c-d);e[11]=-1;e[12]=0;e[13]=0;e[14]=2*d*c/(c-d);e[15]=0;1f e};A.42f=1b(a,b,c,d,e,f,h){v.1N.2b("3B",a);v.1N.2b("2W",b);v.1N.2b("7b",c);v.1N.2b("5C",d);v.1N.2b("3I",e);v.1N.2b("3W",f);v.1N.2c("4D",h);1d l=1/(b-a),g=1/(d-c),n=1/(f-e);h[0]=2*l;h[1]=0;h[2]=0;h[3]=0;h[4]=0;h[5]=2*g;h[6]=0;h[7]=0;h[8]=0;h[9]=0;h[10]=-2*n;h[11]=0;h[12]=-(b+a)*l;h[13]=-(d+c)*g;h[14]=-(f+e)*n;h[15]=1;1f h};A.4Ww=1b(a,b,c,d,e,f,h){v.1N.2b("3B",a);v.1N.2b("2W",b);v.1N.2b("7b",c);v.1N.2b("5C",d);v.1N.2b("3I",e);v.1N.2b("3W",f);v.1N.2c("4D",h);h[0]=2*e/(b-a);h[1]=0;h[2]=0;h[3]=0;h[4]=0;h[5]=2*e/(d-c);h[6]=0;h[7]=0;h[8]=(b+a)/(b-a);h[9]=(d+c)/(d-c);h[10]=-(f+e)/(f-e);h[11]=-1;h[12]=0;h[13]=0;h[14]=-2*f*e/(f-e);h[15]=0;1f h};A.4Wv=1b(a,b,c,d,e,f){v.1N.2b("3B",a);v.1N.2b("2W",b);v.1N.2b("7b",c);v.1N.2b("5C",d);v.1N.2b("3I",e);v.1N.2c("4D",f);f[0]=2*e/(b-a);f[1]=0;f[2]=0;f[3]=0;f[4]=0;f[5]=2*e/(d-c);f[6]=0;f[7]=0;f[8]=(b+a)/(b-a);f[9]=(d+c)/(d-c);f[10]=-1;f[11]=-1;f[12]=0;f[13]=0;f[14]=-2*e;f[15]=0;1f f};A.2Ko=1b(a,b,c,d){v.1N.2c("4D",d);a=m(a,m.4Z);1d e=m(a.x,0),f=m(a.y,0),h=m(a.1G,0);a=m(a.1D,0);b=m(b,0);c=m(c,1);h*=.5;a*=.5;c=.5*(c-b);d[0]=h;d[1]=0;d[2]=0;d[3]=0;d[4]=0;d[5]=a;d[6]=0;d[7]=0;d[8]=0;d[9]=0;d[10]=c;d[11]=0;d[12]=e+h;d[13]=f+a;d[14]=b+c;d[15]=1;1f d};A.32Z=1b(a,b,c,d,e){v.1N.2c("1K",a);v.1N.2c("2G",b);v.1N.2c("up",c);v.1N.2c("2W",d);v.1N.2c("4D",e);e[0]=d.x;e[1]=c.x;e[2]=-b.x;e[3]=0;e[4]=d.y;e[5]=c.y;e[6]=-b.y;e[7]=0;e[8]=d.z;e[9]=c.z;e[10]=-b.z;e[11]=0;e[12]=-k.2A(d,a);e[13]=-k.2A(c,a);e[14]=k.2A(b,a);e[15]=1;1f e};A.1MY=1b(a,b){v.1N.2c("8W",a);if(!g(b))1f[a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15]];b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];1f b};A.1w1=1b(a,b){v.1N.2b.9Y("1sA",b,0);v.1N.2b.19D("1sA",b,3);v.1N.2b.9Y("2or",a,0);v.1N.2b.19D("2or",a,3);1f 4*a+b};A.1ed=1b(a,b,c){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,3);v.1N.2c("4D",c);b*=4;1d d=a[b+1],e=a[b+2],f=a[b+3];c.x=a[b];c.y=d;c.z=e;c.w=f;1f c};A.1vr=1b(a,b,c,d){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,3);v.1N.2c("16L",c);v.1N.2c("4D",d);d=A.1y(a,d);a=4*b;d[a]=c.x;d[a+1]=c.y;d[a+2]=c.z;d[a+3]=c.w;1f d};A.1Bh=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("14L",b);v.1N.2c("4D",c);c[0]=a[0];c[1]=a[1];c[2]=a[2];c[3]=a[3];c[4]=a[4];c[5]=a[5];c[6]=a[6];c[7]=a[7];c[8]=a[8];c[9]=a[9];c[10]=a[10];c[11]=a[11];c[12]=b.x;c[13]=b.y;c[14]=b.z;c[15]=a[15];1f c};1d 51v=1g k;A.2m8=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("3b",b);v.1N.2c("4D",c);1d d=A.1sj(a,51v);b=k.2DR(b,d,51v);1f A.2qj(a,b,c)};A.4aU=1b(a,b,c){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,3);v.1N.2c("4D",c);1d d=a[b+4],e=a[b+8],f=a[b+12];c.x=a[b];c.y=d;c.z=e;c.w=f;1f c};A.4Zc=1b(a,b,c,d){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,3);v.1N.2c("16L",c);v.1N.2c("4D",d);d=A.1y(a,d);d[b]=c.x;d[b+4]=c.y;d[b+8]=c.z;d[b+12]=c.w;1f d};1d zV=1g k;A.1sj=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b.x=k.7t(k.9v(a[0],a[1],a[2],zV));b.y=k.7t(k.9v(a[4],a[5],a[6],zV));b.z=k.7t(k.9v(a[8],a[9],a[10],zV));1f b};1d 51u=1g k;A.4aT=1b(a){A.1sj(a,51u);1f k.1xj(51u)};A.9b=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);1d d=a[0],e=a[1],f=a[2],h=a[3],l=a[4],g=a[5],n=a[6],k=a[7],w=a[8],x=a[9],m=a[10],t=a[11],r=a[12],G=a[13],q=a[14];a=a[15];1d u=b[0],y=b[1],A=b[2],B=b[3],K=b[4],C=b[5],L=b[6],S=b[7],U=b[8],R=b[9],V=b[10],W=b[11],da=b[12],ea=b[13],Sa=b[14];b=b[15];c[0]=d*u+l*y+w*A+r*B;c[1]=e*u+g*y+x*A+G*B;c[2]=f*u+n*y+m*A+q*B;c[3]=h*u+k*y+t*A+a*B;c[4]=d*K+l*C+w*L+r*S;c[5]=e*K+g*C+x*L+G*S;c[6]=f*K+n*C+m*L+q*S;c[7]=h*K+k*C+t*L+a*S;c[8]=d*U+l*R+w*V+r*W;c[9]=e*U+g*R+x*V+G*W;c[10]=f*U+n*R+m*V+q*W;c[11]=h*U+k*R+t*V+a*W;c[12]=d*da+l*ea+w*Sa+r*b;c[13]=e*da+g*ea+x*Sa+G*b;c[14]=f*da+n*ea+m*Sa+q*b;c[15]=h*da+k*ea+t*Sa+a*b;1f c};A.add=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];c[4]=a[4]+b[4];c[5]=a[5]+b[5];c[6]=a[6]+b[6];c[7]=a[7]+b[7];c[8]=a[8]+b[8];c[9]=a[9]+b[9];c[10]=a[10]+b[10];c[11]=a[11]+b[11];c[12]=a[12]+b[12];c[13]=a[13]+b[13];c[14]=a[14]+b[14];c[15]=a[15]+b[15];1f c};A.3V=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];c[4]=a[4]-b[4];c[5]=a[5]-b[5];c[6]=a[6]-b[6];c[7]=a[7]-b[7];c[8]=a[8]-b[8];c[9]=a[9]-b[9];c[10]=a[10]-b[10];c[11]=a[11]-b[11];c[12]=a[12]-b[12];c[13]=a[13]-b[13];c[14]=a[14]-b[14];c[15]=a[15]-b[15];1f c};A.1oJ=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);1d d=a[0],e=a[1],f=a[2],h=a[4],l=a[5],g=a[6],n=a[8],k=a[9],w=a[10],x=a[12],m=a[13];a=a[14];1d t=b[0],r=b[1],G=b[2],q=b[4],u=b[5],y=b[6],A=b[8],B=b[9],K=b[10],C=b[12],L=b[13];b=b[14];c[0]=d*t+h*r+n*G;c[1]=e*t+l*r+k*G;c[2]=f*t+g*r+w*G;c[3]=0;c[4]=d*q+h*u+n*y;c[5]=e*q+l*u+k*y;c[6]=f*q+g*u+w*y;c[7]=0;c[8]=d*A+h*B+n*K;c[9]=e*A+l*B+k*K;c[10]=f*A+g*B+w*K;c[11]=0;c[12]=d*C+h*L+n*b+x;c[13]=e*C+l*L+k*b+m;c[14]=f*C+g*L+w*b+a;c[15]=1;1f c};A.3UZ=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("5S",b);v.1N.2c("4D",c);1d d=a[0],e=a[1],f=a[2],h=a[4],l=a[5],g=a[6],n=a[8],k=a[9],w=a[10],x=b[0],m=b[1],t=b[2],r=b[3],G=b[4],q=b[5],u=b[6],y=b[7];b=b[8];c[0]=d*x+h*m+n*t;c[1]=e*x+l*m+k*t;c[2]=f*x+g*m+w*t;c[3]=0;c[4]=d*r+h*G+n*q;c[5]=e*r+l*G+k*q;c[6]=f*r+g*G+w*q;c[7]=0;c[8]=d*u+h*y+n*b;c[9]=e*u+l*y+k*b;c[10]=f*u+g*y+w*b;c[11]=0;c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15];1f c};A.3pj=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("14L",b);v.1N.2c("4D",c);1d d=b.x,e=b.y,f=b.z;b=d*a[0]+e*a[4]+f*a[8]+a[12];1d h=d*a[1]+e*a[5]+f*a[9]+a[13];d=d*a[2]+e*a[6]+f*a[10]+a[14];c[0]=a[0];c[1]=a[1];c[2]=a[2];c[3]=a[3];c[4]=a[4];c[5]=a[5];c[6]=a[6];c[7]=a[7];c[8]=a[8];c[9]=a[9];c[10]=a[10];c[11]=a[11];c[12]=b;c[13]=h;c[14]=d;c[15]=a[15];1f c};1d fL=1g k;A.2HS=1b(a,b,c){v.1N.2c("8W",a);v.1N.2b("3b",b);v.1N.2c("4D",c);fL.x=b;fL.y=b;fL.z=b;1f A.2qj(a,fL,c)};A.2qj=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("3b",b);v.1N.2c("4D",c);1d d=b.x,e=b.y;b=b.z;if(1===d&&1===e&&1===b)1f A.1y(a,c);c[0]=d*a[0];c[1]=d*a[1];c[2]=d*a[2];c[3]=0;c[4]=e*a[4];c[5]=e*a[5];c[6]=e*a[6];c[7]=0;c[8]=b*a[8];c[9]=b*a[9];c[10]=b*a[10];c[11]=0;c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=1;1f c};A.10r=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("16L",b);v.1N.2c("4D",c);1d d=b.x,e=b.y,f=b.z;b=b.w;1d h=a[1]*d+a[5]*e+a[9]*f+a[13]*b,l=a[2]*d+a[6]*e+a[10]*f+a[14]*b,g=a[3]*d+a[7]*e+a[11]*f+a[15]*b;c.x=a[0]*d+a[4]*e+a[8]*f+a[12]*b;c.y=h;c.z=l;c.w=g;1f c};A.1gE=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("16L",b);v.1N.2c("4D",c);1d d=b.x,e=b.y;b=b.z;1d f=a[1]*d+a[5]*e+a[9]*b,h=a[2]*d+a[6]*e+a[10]*b;c.x=a[0]*d+a[4]*e+a[8]*b;c.y=f;c.z=h;1f c};A.8P=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("16L",b);v.1N.2c("4D",c);1d d=b.x,e=b.y;b=b.z;1d f=a[1]*d+a[5]*e+a[9]*b+a[13],h=a[2]*d+a[6]*e+a[10]*b+a[14];c.x=a[0]*d+a[4]*e+a[8]*b+a[12];c.y=f;c.z=h;1f c};A.4g=1b(a,b,c){v.1N.2c("8W",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;c[4]=a[4]*b;c[5]=a[5]*b;c[6]=a[6]*b;c[7]=a[7]*b;c[8]=a[8]*b;c[9]=a[9]*b;c[10]=a[10]*b;c[11]=a[11]*b;c[12]=a[12]*b;c[13]=a[13]*b;c[14]=a[14]*b;c[15]=a[15]*b;1f c};A.6mU=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("12w",b);v.1N.2c("4D",c);1d d=1g A,e=1g A;A.12Z(a,d);A.1z0(d,e);a=1g E(b.2U.x,b.2U.y,b.2U.z,b.3s);A.10r(e,a,a);c.2U.x=a.x;c.2U.y=a.y;c.2U.z=a.z;e=k.7t(c.2U);k.1T(c.2U,c.2U);c.3s=a.w/e;1f c};A.11k=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=-a[3];b[4]=-a[4];b[5]=-a[5];b[6]=-a[6];b[7]=-a[7];b[8]=-a[8];b[9]=-a[9];b[10]=-a[10];b[11]=-a[11];b[12]=-a[12];b[13]=-a[13];b[14]=-a[14];b[15]=-a[15];1f b};A.1z0=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);1d c=a[1],d=a[2],e=a[3],f=a[6],h=a[7],l=a[11];b[0]=a[0];b[1]=a[4];b[2]=a[8];b[3]=a[12];b[4]=c;b[5]=a[5];b[6]=a[9];b[7]=a[13];b[8]=d;b[9]=f;b[10]=a[10];b[11]=a[14];b[12]=e;b[13]=h;b[14]=l;b[15]=a[15];1f b};A.abs=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b[0]=1k.abs(a[0]);b[1]=1k.abs(a[1]);b[2]=1k.abs(a[2]);b[3]=1k.abs(a[3]);b[4]=1k.abs(a[4]);b[5]=1k.abs(a[5]);b[6]=1k.abs(a[6]);b[7]=1k.abs(a[7]);b[8]=1k.abs(a[8]);b[9]=1k.abs(a[9]);b[10]=1k.abs(a[10]);b[11]=1k.abs(a[11]);b[12]=1k.abs(a[12]);b[13]=1k.abs(a[13]);b[14]=1k.abs(a[14]);b[15]=1k.abs(a[15]);1f b};A.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a[12]===b[12]&&a[13]===b[13]&&a[14]===b[14]&&a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]&&a[3]===b[3]&&a[7]===b[7]&&a[11]===b[11]&&a[15]===b[15]};A.5T=1b(a,b,c){v.1N.2b("1fk",c);1f a===b||g(a)&&g(b)&&1k.abs(a[0]-b[0])<=c&&1k.abs(a[1]-b[1])<=c&&1k.abs(a[2]-b[2])<=c&&1k.abs(a[3]-b[3])<=c&&1k.abs(a[4]-b[4])<=c&&1k.abs(a[5]-b[5])<=c&&1k.abs(a[6]-b[6])<=c&&1k.abs(a[7]-b[7])<=c&&1k.abs(a[8]-b[8])<=c&&1k.abs(a[9]-b[9])<=c&&1k.abs(a[10]-b[10])<=c&&1k.abs(a[11]-b[11])<=c&&1k.abs(a[12]-b[12])<=c&&1k.abs(a[13]-b[13])<=c&&1k.abs(a[14]-b[14])<=c&&1k.abs(a[15]-b[15])<=c};A.1Um=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b.x=a[12];b.y=a[13];b.z=a[14];1f b};A.2Dt=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[4];b[4]=a[5];b[5]=a[6];b[6]=a[8];b[7]=a[9];b[8]=a[10];1f b};A.1nf=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[4];b[4]=a[5];b[5]=a[6];b[6]=a[8];b[7]=a[9];b[8]=a[10];1f b};1d 6wi=1g J,6wh=1g J,6wg=1g E,6wf=1g E(0,0,0,1);A.12Z=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);1d c=a[0],d=a[4],e=a[8],f=a[12],h=a[1],l=a[5],g=a[9],n=a[13],k=a[2],w=a[6],x=a[10],m=a[14],t=a[3],r=a[7],G=a[11],q=a[15],u=x*q,y=m*G,C=w*q,lb=m*r,K=w*G,Fa=x*r,L=k*q,S=m*t,U=k*G,R=x*t,V=k*r,W=w*t,da=u*l+lb*g+K*n-(y*l+C*g+Fa*n),ea=y*h+L*g+R*n-(u*h+S*g+U*n),Sa=C*h+S*l+V*n-(lb*h+L*l+W*n),F=Fa*h+U*l+W*g-(K*h+R*l+V*g),dc=y*d+C*e+Fa*f-(u*d+lb*e+K*f),I=u*c+S*e+U*f-(y*c+L*e+R*f),Ob=lb*c+L*d+W*f-(C*c+S*d+V*f),vd=K*c+R*d+V*e-(Fa*c+U*d+W*e);u=e*n;y=f*g;C=d*n;lb=f*l;K=d*g;Fa=e*l;L=c*n;S=f*h;U=c*g;R=e*h;V=c*l;W=d*h;h=u*r+lb*G+K*q-(y*r+C*G+Fa*q);l=y*t+L*G+R*q-(u*t+S*G+U*q);q=C*t+S*r+V*q-(lb*t+L*r+W*q);t=Fa*t+U*r+W*G-(K*t+R*r+V*G);r=C*x+Fa*m+y*w-(K*m+u*w+lb*x);u=U*m+u*k+S*x-(L*x+R*m+y*k);m=L*w+W*m+lb*k-(V*m+C*k+S*w);k=V*x+K*k+R*w-(U*w+W*x+Fa*k);c=c*da+d*ea+e*Sa+f*F;if(1k.abs(c)<B.6wj){if(J.5T(A.1nf(a,6wi),6wh,B.1hn)&&E.2L(A.4aU(a,3,6wg),6wf))1f b[0]=0,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=0,b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[10]=0,b[11]=0,b[12]=-a[12],b[13]=-a[13],b[14]=-a[14],b[15]=1,b;1t 1g qa("8W is 2S 6we 2Jo 2aT 9rk is 16m.");}c=1/c;b[0]=da*c;b[1]=ea*c;b[2]=Sa*c;b[3]=F*c;b[4]=dc*c;b[5]=I*c;b[6]=Ob*c;b[7]=vd*c;b[8]=h*c;b[9]=l*c;b[10]=q*c;b[11]=t*c;b[12]=r*c;b[13]=u*c;b[14]=m*c;b[15]=k*c;1f b};A.1yQ=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);1d c=a[0],d=a[1],e=a[2],f=a[4],h=a[5],l=a[6],g=a[8],n=a[9],k=a[10],w=a[12],x=a[13];a=a[14];b[0]=c;b[1]=f;b[2]=g;b[3]=0;b[4]=d;b[5]=h;b[6]=n;b[7]=0;b[8]=e;b[9]=l;b[10]=k;b[11]=0;b[12]=-c*w-d*x-e*a;b[13]=-f*w-h*x-l*a;b[14]=-g*w-n*x-k*a;b[15]=1;1f b};A.8K=1L.3F(1g A(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1));A.6h=1L.3F(1g A(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));A.3cS=0;A.3cR=1;A.3Ao=2;A.9rj=3;A.3cQ=4;A.3cP=5;A.3An=6;A.9ri=7;A.3Am=8;A.3Al=9;A.3d3=10;A.9rh=11;A.9rg=12;A.9rf=13;A.9re=14;A.9rd=15;1L.2X(A.1i,{1h:{1n:1b(){1f A.4q}}});A.1i.1y=1b(a){1f A.1y(1a,a)};A.1i.2L=1b(a){1f A.2L(1a,a)};A.1zX=1b(a,b,c){1f a[0]===b[c]&&a[1]===b[c+1]&&a[2]===b[c+2]&&a[3]===b[c+3]&&a[4]===b[c+4]&&a[5]===b[c+5]&&a[6]===b[c+6]&&a[7]===b[c+7]&&a[8]===b[c+8]&&a[9]===b[c+9]&&a[10]===b[c+10]&&a[11]===b[c+11]&&a[12]===b[c+12]&&a[13]===b[c+13]&&a[14]===b[c+14]&&a[15]===b[c+15]};A.1i.5T=1b(a,b){1f A.5T(1a,a,b)};A.1i.5s=1b(){1f"("+1a[0]+", "+1a[4]+", "+1a[8]+", "+1a[12]+")\\n("+1a[1]+", "+1a[5]+", "+1a[9]+", "+1a[13]+")\\n("+1a[2]+", "+1a[6]+", "+1a[10]+", "+1a[14]+")\\n("+1a[3]+", "+1a[7]+", "+1a[11]+", "+1a[15]+")"};1L.2X(Q.1i,{1G:{1n:1b(){1f Q.4ZB(1a)}},1D:{1n:1b(){1f Q.4ZA(1a)}}});Q.4q=4;Q.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a.4o;b[c++]=a.4C;b[c++]=a.5a;b[c]=a.4P;1f b};Q.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g Q);c.4o=a[b++];c.4C=a[b++];c.5a=a[b++];c.4P=a[b];1f c};Q.4ZB=1b(a){v.1N.2c("3g",a);1d b=a.5a;a=a.4o;b<a&&(b+=B.14C);1f b-a};Q.4ZA=1b(a){v.1N.2c("3g",a);1f a.4P-a.4C};Q.8g=1b(a,b,c,d,e){a=B.8I(m(a,0));b=B.8I(m(b,0));c=B.8I(m(c,0));d=B.8I(m(d,0));if(!g(e))1f 1g Q(a,b,c,d);e.4o=a;e.4C=b;e.5a=c;e.4P=d;1f e};Q.15i=1b(a,b,c,d,e){if(!g(e))1f 1g Q(a,b,c,d);e.4o=m(a,0);e.4C=m(b,0);e.5a=m(c,0);e.4P=m(d,0);1f e};Q.3Sb=1b(a,b){v.2l("6wd",a);1j(1d c=3a.6w,d=-3a.6w,e=3a.6w,f=-3a.6w,h=3a.6w,l=-3a.6w,p=0,n=a.1h;p<n;p++){1d k=a[p];c=1k.2o(c,k.3N);d=1k.1V(d,k.3N);h=1k.2o(h,k.4k);l=1k.1V(l,k.4k);k=0<=k.3N?k.3N:k.3N+B.14C;e=1k.2o(e,k);f=1k.1V(f,k)}d-c>f-e&&(c=e,d=f,d>B.PI&&(d-=B.14C),c>B.PI&&(c-=B.14C));if(!g(b))1f 1g Q(c,h,d,l);b.4o=c;b.4C=h;b.5a=d;b.4P=l;1f b};Q.3o4=1b(a,b,c){v.2l("2xP",a);b=m(b,ba.9y);1j(1d d=3a.6w,e=-3a.6w,f=3a.6w,h=-3a.6w,l=3a.6w,p=-3a.6w,n=0,k=a.1h;n<k;n++){1d w=b.10Z(a[n]);d=1k.2o(d,w.3N);e=1k.1V(e,w.3N);l=1k.2o(l,w.4k);p=1k.1V(p,w.4k);w=0<=w.3N?w.3N:w.3N+B.14C;f=1k.2o(f,w);h=1k.1V(h,w)}e-d>h-f&&(d=f,e=h,e>B.PI&&(e-=B.14C),d>B.PI&&(d-=B.14C));if(!g(c))1f 1g Q(d,l,e,p);c.4o=d;c.4C=l;c.5a=e;c.4P=p;1f c};Q.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g Q(a.4o,a.4C,a.5a,a.4P);b.4o=a.4o;b.4C=a.4C;b.5a=a.5a;b.4P=a.4P;1f b}};Q.5T=1b(a,b,c){v.1N.2b("9rc",c);1f a===b||g(a)&&g(b)&&1k.abs(a.4o-b.4o)<=c&&1k.abs(a.4C-b.4C)<=c&&1k.abs(a.5a-b.5a)<=c&&1k.abs(a.4P-b.4P)<=c};Q.1i.1y=1b(a){1f Q.1y(1a,a)};Q.1i.2L=1b(a){1f Q.2L(1a,a)};Q.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.4o===b.4o&&a.4C===b.4C&&a.5a===b.5a&&a.4P===b.4P};Q.1i.5T=1b(a,b){v.1N.2b("1fk",b);1f Q.5T(1a,a,b)};Q.1f6=1b(a){v.1N.2c("3g",a);1d b=a.4P;v.1N.2b.9Y("4P",b,-B.10k);v.1N.2b.19D("4P",b,B.10k);b=a.4C;v.1N.2b.9Y("4C",b,-B.10k);v.1N.2b.19D("4C",b,B.10k);b=a.4o;v.1N.2b.9Y("4o",b,-1k.PI);v.1N.2b.19D("4o",b,1k.PI);a=a.5a;v.1N.2b.9Y("5a",a,-1k.PI);v.1N.2b.19D("5a",a,1k.PI)};Q.1tI=1b(a,b){v.1N.2c("3g",a);if(!g(b))1f 1g T(a.4o,a.4C);b.3N=a.4o;b.4k=a.4C;b.1D=0;1f b};Q.21k=1b(a,b){v.1N.2c("3g",a);if(!g(b))1f 1g T(a.4o,a.4P);b.3N=a.4o;b.4k=a.4P;b.1D=0;1f b};Q.1tH=1b(a,b){v.1N.2c("3g",a);if(!g(b))1f 1g T(a.5a,a.4P);b.3N=a.5a;b.4k=a.4P;b.1D=0;1f b};Q.2fk=1b(a,b){v.1N.2c("3g",a);if(!g(b))1f 1g T(a.5a,a.4C);b.3N=a.5a;b.4k=a.4C;b.1D=0;1f b};Q.2V=1b(a,b){v.1N.2c("3g",a);1d c=a.5a,d=a.4o;c<d&&(c+=B.14C);c=B.1vw(.5*(d+c));a=.5*(a.4C+a.4P);if(!g(b))1f 1g T(c,a);b.3N=c;b.4k=a;b.1D=0;1f b};Q.17d=1b(a,b,c){v.1N.2c("3g",a);v.1N.2c("51t",b);1d d=a.5a,e=a.4o,f=b.5a,h=b.4o;d<e&&0<f?d+=B.14C:f<h&&0<d&&(f+=B.14C);d<e&&0>h?h+=B.14C:f<h&&0>e&&(e+=B.14C);e=B.1vw(1k.1V(e,h));d=B.1vw(1k.2o(d,f));if(!((a.4o<a.5a||b.4o<b.5a)&&d<=e||(f=1k.1V(a.4C,b.4C),a=1k.2o(a.4P,b.4P),f>=a))){if(!g(c))1f 1g Q(e,f,d,a);c.4o=e;c.4C=f;c.5a=d;c.4P=a;1f c}};Q.2Lm=1b(a,b,c){v.1N.2c("3g",a);v.1N.2c("51t",b);1d d=1k.1V(a.4o,b.4o),e=1k.1V(a.4C,b.4C),f=1k.2o(a.5a,b.5a);a=1k.2o(a.4P,b.4P);if(!(e>=a||d>=f)){if(!g(c))1f 1g Q(d,e,f,a);c.4o=d;c.4C=e;c.5a=f;c.4P=a;1f c}};Q.1nu=1b(a,b,c){v.1N.2c("3g",a);v.1N.2c("51t",b);g(c)||(c=1g Q);1d d=a.5a,e=a.4o,f=b.5a,h=b.4o;d<e&&0<f?d+=B.14C:f<h&&0<d&&(f+=B.14C);d<e&&0>h?h+=B.14C:f<h&&0>e&&(e+=B.14C);e=B.51s(1k.2o(e,h));d=B.51s(1k.1V(d,f));c.4o=e;c.4C=1k.2o(a.4C,b.4C);c.5a=d;c.4P=1k.1V(a.4P,b.4P);1f c};Q.1We=1b(a,b,c){v.1N.2c("3g",a);v.1N.2c("3od",b);g(c)||(c=1g Q);c.4o=1k.2o(a.4o,b.3N);c.4C=1k.2o(a.4C,b.4k);c.5a=1k.1V(a.5a,b.3N);c.4P=1k.1V(a.4P,b.4k);1f c};Q.8h=1b(a,b){v.1N.2c("3g",a);v.1N.2c("3od",b);1d c=b.3N;b=b.4k;1d d=a.4o,e=a.5a;e<d&&(e+=B.14C,0>c&&(c+=B.14C));1f(c>d||B.5T(c,d,B.1sW))&&(c<e||B.5T(c,e,B.1sW))&&b>=a.4C&&b<=a.4P};1d Zg=1g T;Q.49I=1b(a,b,c,d){v.1N.2c("3g",a);b=m(b,ba.9y);c=m(c,0);g(d)||(d=[]);1d e=0,f=a.4P,h=a.4C,l=a.5a,p=a.4o;Zg.1D=c;Zg.3N=p;Zg.4k=f;d[e]=b.13B(Zg,d[e]);e++;Zg.3N=l;d[e]=b.13B(Zg,d[e]);e++;Zg.4k=h;d[e]=b.13B(Zg,d[e]);e++;Zg.3N=p;d[e]=b.13B(Zg,d[e]);e++;Zg.4k=0>f?f:0<h?h:0;1j(c=1;8>c;++c)Zg.3N=-1k.PI+c*B.10k,Q.8h(a,Zg)&&(d[e]=b.13B(Zg,d[e]),e++);0===Zg.4k&&(Zg.3N=p,d[e]=b.13B(Zg,d[e]),e++,Zg.3N=l,d[e]=b.13B(Zg,d[e]),e++);d.1h=e;1f d};Q.6w=1L.3F(1g Q(-1k.PI,-B.10k,1k.PI,B.10k));1d AV=1g k,BV=1g k,CV=1g k,DV=1g k,EV=1g k,FV=1g k,pc=1g k,qh=1g k,Hd=1g k,hm=1g k,im=1g k,GV=1g k,6vT=4/3*B.PI;P.1aN=1b(a,b){g(b)||(b=1g P);if(!g(a)||0===a.1h)1f b.2V=k.1y(k.6h,b.2V),b.3L=0,b;1d c=k.1y(a[0],pc),d=k.1y(c,AV),e=k.1y(c,BV),f=k.1y(c,CV),h=k.1y(c,DV),l=k.1y(c,EV),p=k.1y(c,FV),n=a.1h,z;1j(z=1;z<n;z++){k.1y(a[z],c);1d w=c.x,x=c.y,m=c.z;w<d.x&&k.1y(c,d);w>h.x&&k.1y(c,h);x<e.y&&k.1y(c,e);x>l.y&&k.1y(c,l);m<f.z&&k.1y(c,f);m>p.z&&k.1y(c,p)}1d t=k.17j(k.3V(h,d,qh));z=k.17j(k.3V(l,e,qh));w=k.17j(k.3V(p,f,qh));x=d;m=h;z>t&&(t=z,x=e,m=l);w>t&&(x=f,m=p);Hd.x=.5*(x.x+m.x);Hd.y=.5*(x.y+m.y);Hd.z=.5*(x.z+m.z);w=k.17j(k.3V(m,Hd,qh));x=1k.3Y(w);hm.x=d.x;hm.y=e.y;hm.z=f.z;im.x=h.x;im.y=l.y;im.z=p.z;d=k.28F(hm,im,GV);1j(z=e=0;z<n;z++)k.1y(a[z],c),f=k.7t(k.3V(c,d,qh)),f>e&&(e=f),f=k.17j(k.3V(c,Hd,qh)),f>w&&(f=1k.3Y(f),x=.5*(x+f),w=x*x,h=f-x,Hd.x=(x*Hd.x+h*c.x)/f,Hd.y=(x*Hd.y+h*c.y)/f,Hd.z=(x*Hd.z+h*c.z)/f);x<e?(k.1y(Hd,b.2V),b.3L=x):(k.1y(d,b.2V),b.3L=e);1f b};1d 6wc=1g Td,6wb=1g k,6wa=1g k,HV=1g T,IV=1g T;P.9rb=1b(a,b,c){1f P.33z(a,b,0,0,c)};P.33z=1b(a,b,c,d,e){g(e)||(e=1g P);if(!g(a))1f e.2V=k.1y(k.6h,e.2V),e.3L=0,e;b=m(b,6wc);Q.1tI(a,HV);HV.1D=c;Q.1tH(a,IV);IV.1D=d;a=b.12z(HV,6wb);d=b.12z(IV,6wa);b=d.x-a.x;c=d.y-a.y;d=d.z-a.z;e.3L=.5*1k.3Y(b*b+c*c+d*d);1d f=e.2V;f.x=a.x+.5*b;f.y=a.y+.5*c;f.z=a.z+.5*d;1f e};1d 6w9=[];P.2ra=1b(a,b,c,d){b=m(b,ba.9y);c=m(c,0);g(d)||(d=1g P);if(!g(a))1f d.2V=k.1y(k.6h,d.2V),d.3L=0,d;a=Q.49I(a,b,c,6w9);1f P.1aN(a,d)};P.1ND=1b(a,b,c,d){g(d)||(d=1g P);if(!g(a)||0===a.1h)1f d.2V=k.1y(k.6h,d.2V),d.3L=0,d;b=m(b,k.6h);c=m(c,3);v.1N.2b.9Y("14e",c,3);pc.x=a[0]+b.x;pc.y=a[1]+b.y;pc.z=a[2]+b.z;1d e=k.1y(pc,AV),f=k.1y(pc,BV),h=k.1y(pc,CV),l=k.1y(pc,DV),p=k.1y(pc,EV),n=k.1y(pc,FV),z=a.1h,w;1j(w=0;w<z;w+=c){1d x=a[w]+b.x,D=a[w+1]+b.y,t=a[w+2]+b.z;pc.x=x;pc.y=D;pc.z=t;x<e.x&&k.1y(pc,e);x>l.x&&k.1y(pc,l);D<f.y&&k.1y(pc,f);D>p.y&&k.1y(pc,p);t<h.z&&k.1y(pc,h);t>n.z&&k.1y(pc,n)}1d r=k.17j(k.3V(l,e,qh));w=k.17j(k.3V(p,f,qh));x=k.17j(k.3V(n,h,qh));D=e;t=l;w>r&&(r=w,D=f,t=p);x>r&&(D=h,t=n);Hd.x=.5*(D.x+t.x);Hd.y=.5*(D.y+t.y);Hd.z=.5*(D.z+t.z);x=k.17j(k.3V(t,Hd,qh));D=1k.3Y(x);hm.x=e.x;hm.y=f.y;hm.z=h.z;im.x=l.x;im.y=p.y;im.z=n.z;e=k.28F(hm,im,GV);1j(w=f=0;w<z;w+=c)pc.x=a[w]+b.x,pc.y=a[w+1]+b.y,pc.z=a[w+2]+b.z,h=k.7t(k.3V(pc,e,qh)),h>f&&(f=h),h=k.17j(k.3V(pc,Hd,qh)),h>x&&(h=1k.3Y(h),D=.5*(D+h),x=D*D,l=h-D,Hd.x=(D*Hd.x+l*pc.x)/h,Hd.y=(D*Hd.y+l*pc.y)/h,Hd.z=(D*Hd.z+l*pc.z)/h);D<f?(k.1y(Hd,d.2V),d.3L=D):(k.1y(e,d.2V),d.3L=f);1f d};P.9ra=1b(a,b,c){g(c)||(c=1g P);if(!g(a)||!g(b)||a.1h!==b.1h||0===a.1h)1f c.2V=k.1y(k.6h,c.2V),c.3L=0,c;pc.x=a[0]+b[0];pc.y=a[1]+b[1];pc.z=a[2]+b[2];1d d=k.1y(pc,AV),e=k.1y(pc,BV),f=k.1y(pc,CV),h=k.1y(pc,DV),l=k.1y(pc,EV),p=k.1y(pc,FV),n=a.1h,z;1j(z=0;z<n;z+=3){1d w=a[z]+b[z],x=a[z+1]+b[z+1],m=a[z+2]+b[z+2];pc.x=w;pc.y=x;pc.z=m;w<d.x&&k.1y(pc,d);w>h.x&&k.1y(pc,h);x<e.y&&k.1y(pc,e);x>l.y&&k.1y(pc,l);m<f.z&&k.1y(pc,f);m>p.z&&k.1y(pc,p)}1d t=k.17j(k.3V(h,d,qh));z=k.17j(k.3V(l,e,qh));w=k.17j(k.3V(p,f,qh));x=d;m=h;z>t&&(t=z,x=e,m=l);w>t&&(x=f,m=p);Hd.x=.5*(x.x+m.x);Hd.y=.5*(x.y+m.y);Hd.z=.5*(x.z+m.z);w=k.17j(k.3V(m,Hd,qh));x=1k.3Y(w);hm.x=d.x;hm.y=e.y;hm.z=f.z;im.x=h.x;im.y=l.y;im.z=p.z;d=k.28F(hm,im,GV);1j(z=e=0;z<n;z+=3)pc.x=a[z]+b[z],pc.y=a[z+1]+b[z+1],pc.z=a[z+2]+b[z+2],f=k.7t(k.3V(pc,d,qh)),f>e&&(e=f),f=k.17j(k.3V(pc,Hd,qh)),f>w&&(f=1k.3Y(f),x=.5*(x+f),w=x*x,h=f-x,Hd.x=(x*Hd.x+h*pc.x)/f,Hd.y=(x*Hd.y+h*pc.y)/f,Hd.z=(x*Hd.z+h*pc.z)/f);x<e?(k.1y(Hd,c.2V),c.3L=x):(k.1y(d,c.2V),c.3L=e);1f c};P.2fX=1b(a,b,c){v.1N.2c("4kU",a);v.1N.2c("9r9",b);g(c)||(c=1g P);a=k.28F(a,b,c.2V);c.3L=k.3s(a,b);1f c};P.4Wx=1b(a,b){v.1N.2c("3c",a);g(b)||(b=1g P);k.1y(k.6h,b.2V);b.3L=a.17i;1f b};1d 6w8=1g k;P.1zi=1b(a,b){g(b)||(b=1g P);if(!g(a)||0===a.1h)1f b.2V=k.1y(k.6h,b.2V),b.3L=0,b;1d c=a.1h;if(1===c)1f P.1y(a[0],b);if(2===c)1f P.1nu(a[0],a[1],b);1d d=[],e;1j(e=0;e<c;e++)d.1q(a[e].2V);b=P.1aN(d,b);d=b.2V;1d f=b.3L;1j(e=0;e<c;e++){1d h=a[e];f=1k.1V(f,k.3s(d,h.2V,6w8)+h.3L)}b.3L=f;1f b};1d 6w7=1g k,6w6=1g k,6w5=1g k;P.3aL=1b(a,b){v.2l("1ls",a);g(b)||(b=1g P);1d c=a.1dK,d=J.1ed(c,0,6w7),e=J.1ed(c,1,6w6);c=J.1ed(c,2,6w5);k.add(d,e,d);k.add(d,c,d);b.2V=k.1y(a.2V,b.2V);b.3L=k.7t(d);1f b};P.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g P(a.2V,a.3L);b.2V=k.1y(a.2V,b.2V);b.3L=a.3L;1f b}};P.4q=4;P.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);1d d=a.2V;b[c++]=d.x;b[c++]=d.y;b[c++]=d.z;b[c]=a.3L;1f b};P.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g P);1d d=c.2V;d.x=a[b++];d.y=a[b++];d.z=a[b++];c.3L=a[b];1f c};1d 6w4=1g k,6w3=1g k;P.1nu=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);g(c)||(c=1g P);1d d=a.2V,e=a.3L,f=b.3L,h=k.3V(b.2V,d,6w4),l=k.7t(h);if(e>=l+f)1f a.1y(c),c;if(f>=l+e)1f b.1y(c),c;a=.5*(e+l+f);e=k.4g(h,(-e+a)/l,6w3);k.add(e,d,e);k.1y(e,c.2V);c.3L=a;1f c};1d 6w2=1g k;P.1We=1b(a,b,c){v.1N.2c("1cq",a);v.1N.2c("7v",b);c=P.1y(a,c);a=k.7t(k.3V(b,c.2V,6w2));a>c.3L&&(c.3L=a);1f c};P.1tE=1b(a,b){v.1N.2c("1cq",a);v.1N.2c("12w",b);1d c=a.3L;a=k.2A(b.2U,a.2V)+b.3s;1f a<-c?Lb.1gB:a<c?Lb.1wT:Lb.27N};P.5o=1b(a,b,c){v.1N.2c("1cq",a);v.1N.2c("5o",b);g(c)||(c=1g P);c.2V=A.8P(b,a.2V,c.2V);c.3L=A.4aT(b)*a.3L;1f c};1d 6w1=1g k;P.1Wa=1b(a,b){v.1N.2c("1cq",a);v.1N.2c("16L",b);b=k.3V(a.2V,b,6w1);1f k.17j(b)-a.3L*a.3L};P.47y=1b(a,b,c){v.1N.2c("1cq",a);v.1N.2c("5o",b);g(c)||(c=1g P);c.2V=A.8P(b,a.2V,c.2V);c.3L=a.3L;1f c};1d 6w0=1g k;P.2KF=1b(a,b,c,d){v.1N.2c("1cq",a);v.1N.2c("1K",b);v.1N.2c("2G",c);g(d)||(d=1g pp);b=k.3V(a.2V,b,6w0);c=k.2A(c,b);d.4I=c-a.3L;d.4U=c+a.3L;1f d};1j(1d 51r=1g k,6vY=1g k,6vX=1g k,6vV=1g k,6vW=1g k,6vU=1g T,jm=2K(8),JV=0;8>JV;++JV)jm[JV]=1g k;1d 6vZ=1g Td;P.3aK=1b(a,b,c){v.1N.2c("1cq",a);b=m(b,6vZ);1d d=b.3c,e=a.2V,f=a.3L;a=k.2L(e,k.6h)?k.1y(k.1dl,51r):d.17N(e,51r);1d h=k.4B(k.16a,a,6vY);k.1T(h,h);1d l=k.4B(a,h,6vX);k.1T(l,l);k.4g(a,f,a);k.4g(l,f,l);k.4g(h,f,h);f=k.11k(l,6vW);1d g=k.11k(h,6vV),n=jm[0];k.add(a,l,n);k.add(n,h,n);n=jm[1];k.add(a,l,n);k.add(n,g,n);n=jm[2];k.add(a,f,n);k.add(n,g,n);n=jm[3];k.add(a,f,n);k.add(n,h,n);k.11k(a,a);n=jm[4];k.add(a,l,n);k.add(n,h,n);n=jm[5];k.add(a,l,n);k.add(n,g,n);n=jm[6];k.add(a,f,n);k.add(n,g,n);n=jm[7];k.add(a,f,n);k.add(n,h,n);a=jm.1h;1j(h=0;h<a;++h)l=jm[h],k.add(e,l,l),f=d.10Z(l,6vU),b.12z(f,l);c=P.1aN(jm,c);e=c.2V;b=e.x;d=e.y;e.x=e.z;e.y=b;e.z=d;1f c};P.2mM=1b(a,b){v.1N.2c("1cq",a);v.1N.2c("2yz",b);1f!b.4Vc(a)};P.2L=1b(a,b){1f a===b||g(a)&&g(b)&&k.2L(a.2V,b.2V)&&a.3L===b.3L};P.1i.1tE=1b(a){1f P.1tE(1a,a)};P.1i.1Wa=1b(a){1f P.1Wa(1a,a)};P.1i.2KF=1b(a,b,c){1f P.2KF(1a,a,b,c)};P.1i.2mM=1b(a){1f P.2mM(1a,a)};P.1i.2L=1b(a){1f P.2L(1a,a)};P.1i.1y=1b(a){1f P.1y(1a,a)};P.1i.2M2=1b(){1d a=1a.3L;1f 6vT*a*a*a};zb.1i.1c2=1F;zb.1i.1mD=1F;zb.1i.9w="";zb.1i.16H=1F;zb.1i.1fo=1F;1d 6vS=/^(?:([^:/?#]+):)?(?:\\/\\/([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$/;zb.1i.6vx=1b(){1f 1a.1c2};zb.1i.6vy=1b(){1f 1a.1mD};zb.1i.9r8=1b(){1f 1a.9w};zb.1i.9r7=1b(){1f 1a.16H};zb.1i.9r6=1b(){1f 1a.1fo};zb.1i.6vR=1b(){1f!!1a.1c2&&!1a.1fo};zb.1i.6vQ=1b(a){1f a.1c2==1a.1c2&&a.1mD==1a.1mD&&a.9w==1a.9w&&a.16H==1a.16H};zb.1i.2L=1b(a){1f 1a.6vQ(a)&&a.1fo==1a.1fo};zb.1i.1T=1b(){1a.51q();1a.1c2&&(1a.1c2=1a.1c2.18v());1a.1mD&&(1a.1mD=1a.1mD.3X(6vN,6vP).3X(gL,ZF));1a.9w&&(1a.9w=1a.9w.3X(gL,ZF));1a.16H&&(1a.16H=1a.16H.3X(gL,ZF));1a.1fo&&(1a.1fo=1a.1fo.3X(gL,ZF))};1d gL=/%[0-9a-z]{2}/gi,6vO=/[a-zA-Z0-9\\-\\.10D~]/,6vN=/(.*@)?([^@:]*)(:.*)?/;zb.1i.5h=1b(a){1d b=1g zb;1a.1c2?(b.1c2=1a.1c2,b.1mD=1a.1mD,b.9w=1a.9w,b.16H=1a.16H):(b.1c2=a.1c2,1a.1mD?(b.1mD=1a.1mD,b.9w=1a.9w,b.16H=1a.16H):(b.1mD=a.1mD,""==1a.9w?(b.9w=a.9w,b.16H=1a.16H||a.16H):("/"==1a.9w.1as(0)?b.9w=1a.9w:b.9w=a.1mD&&""==a.9w?"/"+1a.9w:a.9w.11c(0,a.9w.1sl("/")+1)+1a.9w,b.51q(),b.16H=1a.16H)));b.1fo=1a.1fo;1f b};zb.1i.51q=1b(){1d a=1a.9w.7g("/"),b=[],c=""==a[0];c&&a.1hN();1j(""==a[0]&&a.1hN();a.1h;){1d d=a.1hN();".."==d?b.9l():"."!=d&&b.1q(d)}"."!=d&&".."!=d||b.1q("");c&&b.1po("");1a.9w=b.14G("/")};zb.1i.5s=1b(){1d a="";1a.1c2&&(a+=1a.1c2+":");1a.1mD&&(a+="//"+1a.1mD);a+=1a.9w;1a.16H&&(a+="?"+1a.16H);1a.1fo&&(a+="#"+1a.1fo);1f a};qu.6vM=1b(a,b,c){if(!g(a))1t 1g r("2AZ 1dr is 1X.");if(!g(b)){if("7w"===2h c)1f a;b=m(c.9r5,c.17J.17S)}b=1g zb(b);1f(1g zb(a)).5h(b).5s()};1d IN;Z.12L=ix;Z.5h=hx;Z.7N=1b(a){1f Z(a,jx)};Z.14G=1b(){1f KN(5m,rZ)};Z.all=qZ;Z.5d=KN;Z.2lY=1b(a,b){1d c=6vK.4G(5m,1);1f Z(a,1b(a){1d d=a.1h;c[0]=1b(a,c,e){1f Z(a,1b(a){1f Z(c,1b(c){1f b(a,c,e,d)})})};1f 6vJ.6c(a,c)})};Z.any=1b(a,b,c,d){1f pZ(a,1,1b(a){1f b?b(a[0]):a[0]},c,d)};Z.2Ne=pZ;Z.6iR=1b(a,b,c,d){JN(1,5m);1f Z(a,1b(a){1b e(a){v(a)}1b h(a){y(a,0)}1b l(a){y(a,0)}1b g(a){y(a,1)}1b n(a){y(a,2)}1b k(a){y(a,3)}1b w(a){y(a,4)}1d x;1d m=a.1h>>>0;1d t=a.1h>>>0;1d r=[];1d G=[];1d q=ix();1d u=q.1MV;1d v=1b(a){G.1q(a);--t||(y=v=$A,q.5h(r))};1d y=1b(a,b){r[b]=a;--t||(y=v=$A,q.5h(r))};1j(x=0;x<m;++x)6U(x){1S 0:Z(a[x],l,e,u);1W;1S 1:Z(a[x],g,e,u);1W;1S 2:Z(a[x],n,e,u);1W;1S 3:Z(a[x],k,e,u);1W;1S 4:Z(a[x],w,e,u);1W;4T:Z(a[x],h,e,u)}1f q.4b(b,c,d)})};Z.6n6=1b(a,b,c){1d d=2<5m.1h;1f Z(a,1b(a){a=d?c:a;b.5h(a);1f a},1b(a){b.7N(a);1f jx(a)},b.1MV)};Z.6vL=nZ;ZA.1i={2aR:1b(a,b){1f 1a.4b(a,a,b)},10g:1b(a){1f 1a.4b(IN,a)},9r4:1b(a){1f 1a.4b(1b(){1f a})},9r3:1b(a){1f 1a.4b(1b(b){1f qZ(b,1b(b){1f a.6c(IN,b)})})}};1d 6vK=[].4h;1d 6vJ=[].2lY||1b(a){1d b=0;1d c=1L(1a);1d d=c.1h>>>0;1d e=5m;if(1>=e.1h)1j(;;){if(b in c){e=c[b++];1W}if(++b>=d)1t 1g 1LY;}1s e=e[1];1j(;b<d;++b)b in c&&(e=a(e,c[b],b,c));1f e};1d 6vI=/^1i3:/i,On,6vH=/^2g:/i,$d=1L.3F({2EY:0,3AC:1,3AD:2,1sB:3,21n:4,12D:5}),Jd=1L.3F({1Q8:0,1IB:1,3wJ:2,51p:3,20D:4,2n5:5});Ke.1i.1hm=1b(){1a.2F1=!0};Ke.1i.1y=1b(a){if(!g(a))1f 1g Ke(1a);a.2I=1a.2I;a.1RO=1a.1RO;a.2rN=1a.2rN;a.1xd=1a.1xd;a.2F2=1a.2F2;a.1j8=1a.1j8;a.1mj=1a.1mj;a.1I=1a.1I;a.1vD=1a.1vD;a.4F=1a.5gk.2EY;a.1ma=1p 0;a.2F1=!1;1f a};wr.1i.5s=1b(){1d a="4ic 14d 1bf.";g(1a.2rS)&&(a+=" 9r2 9r1: "+1a.2rS);1f a};1L.2X(sa.1i,{2mw:{1n:1b(){1f 1a.24c.1h-1a.4bv.1h}}});sa.1i.7K=1b(a,b){v.1N.14R("3ls",a);1a.24c.1q(a);1a.4bw.1q(b);1d c=1a;1f 1b(){c.12R(a,b)}};sa.1i.12R=1b(a,b){v.1N.14R("3ls",a);1j(1d c=1a.24c,d=1a.4bw,e=-1,f=0;f<c.1h;f++)if(c[f]===a&&d[f]===b){e=f;1W}1f-1!==e?(1a.4bu?(1a.4bv.1q(e),c[e]=1p 0,d[e]=1p 0):(c.6z(e,1),d.6z(e,1)),!0):!1};sa.1i.5k=1b(){1a.4bu=!0;1d a,b=1a.24c,c=1a.4bw,d=b.1h;1j(a=0;a<d;a++)g(b[a])&&b[a].6c(c[a],5m);1d e=1a.4bv;d=e.1h;if(0<d){e.15F(6vG);1j(a=0;a<d;a++){1d f=e[a];b.6z(f,1);c.6z(f,1)}e.1h=0}1a.4bu=!1};1L.2X(rp.1i,{1h:{1n:1b(){1f 1a.1bC}},51n:{1n:1b(){1f 1a.1gN}},4bq:{1n:1b(){1f 1a.4bs},1C:1b(a){1a.4bs=a;1a.1bC>a&&0<a&&(1a.1bC=a,1a.1gN.1h=a)}},2F0:{1n:1b(){1f 1a.4bt}}});rp.1i.1Tx=1b(a){a=m(a,1a.1bC);1a.1gN.1h=a};rp.1i.51o=1b(a){a=m(a,0);1j(1d b=1a.1bC,c=1a.4bt,d=1a.1gN,e,f=!0;f;){1d h=2*(a+1);e=h-1;e=e<b&&0>c(d[e],d[a])?e:a;h<b&&0>c(d[h],d[e])&&(e=h);e!==a?(ON(d,e,a),a=e):f=!1}};rp.1i.51m=1b(){1j(1d a=1k.8a(1a.1bC/2);0<=a;--a)1a.51o(a)};rp.1i.1v1=1b(a){v.2l("1ij",a);1d b=1a.1gN,c=1a.4bt,d=1a.4bs,e=1a.1bC++;1j(e<b.1h?b[e]=a:b.1q(a);0!==e;)if(a=1k.2t((e-1)/2),0>c(b[e],b[a]))ON(b,e,a),e=a;1s 1W;if(g(d)&&1a.1bC>d){1d f=b[d];1a.1bC=d}1f f};rp.1i.9l=1b(a){a=m(a,0);if(0!==1a.1bC){v.1N.2b.1ib("2P",a,1a.1bC);1d b=1a.1gN,c=b[a];ON(b,a,--1a.1bC);1a.51o(a);1f c}};1d Kd="7w"!==2h 1bR&&"1b"===2h 1bR.14H&&1AJ(1bR.14H())?1b(){1f 1bR.14H()}:1b(){1f 16V.14H()},Dd={1zm:0,2EZ:0,3dh:0,3dg:0,3df:0,51k:0,4bp:0,51j:0},bA=20,gj=1g rp({2F0:tZ});gj.4bq=bA;gj.1Tx(bA);1d Bm=[],sp={},6vB="7w"!==2h 3n?1g zb(3n.17J.17S):1g zb,aG=1g sa;qb.51l=50;qb.49f=6;qb.6vz=20;qb.6vF={"api.3P.11Y:443":18,"4Xr.3P.11Y:443":18};qb.6vA=!0;qb.6vC=!1;qb.6vE=aG;1L.2X(qb,{1DB:{1n:1b(){1f Dd}},9r0:{1n:1b(){1f bA},1C:1b(a){if(a<bA)1j(;gj.1h>a;){1d b=gj.9l();xr(b)}bA=a;gj.4bq=a;gj.1Tx(a)}}});qb.3dk={};qb.2iP={};qb.3dj={};qb.1Vg={};qb.2rR={};qb.3di={};qb.4br={};qb.2H=1b(){1d a,b=0,c=Bm.1h;1j(a=0;a<c;++a){1d d=Bm[a];d.2F1&&xr(d);d.4F!==$d.3AD?++b:0<b&&(Bm[a-b]=d)}Bm.1h-=b;d=gj.51n;b=gj.1h;1j(a=0;a<b;++a)PN(d[a]);gj.51m();1j(1d e in qb.2rR)if(qb.2rR.3p(e)){a=qb.2rR[e];d=a.51n;b=a.1h;1j(c=0;c<b;++c)PN(d[c]);a.51m()}e=qb.4br;1j(1d f in e)e.3p(f)&&bG(e[f]);qb.4br={};1j(1d h in qb.2rR)if(qb.2rR.3p(h))1j(f=qb.2rR[h];0<f.1h;)e=f.9l(),e.2F1?xr(e):(a=RN(e),g(qb.3dk[a])||(qb.3dk[a]=[]),g(qb.3dj[a])||(qb.3dj[a]=""),g(qb.2iP[a])||(qb.2iP[a]=Z.12L()),g(qb.1Vg[a])||(qb.1Vg[a]=0),e.1Vg=qb.1Vg[a]++,e.1ma=qb.2iP[a],e.4F=$d.3AC,qb.3dk[a].1q(e));h=qb.3dk;1j(1d l in h)if(h.3p(l)&&(d=h[l],!(1>d.1h)))if(f=d[0].1y(),e=-1!==f.2I.3f("26f/1PT"),f.1vD=d[0].1vD,f.4F=d[0].4F,b=f.2I,qb.3dj[l]=e?vZ(d).14G(","):vZ(d).14G(";"),a=qb.3dj[l],f.1mj&&!QN(f.1vD)){f=d;e=0;1j(a=f.1h;e<a;e++)f[e].4F=$d.21n;qb.2iP[l].7N()}1s f.1ma=qb.2iP[l],d=1g zb(b),d.16H=e?g(d.16H)?d.16H+"&17v="+a:"17v="+a:g(d.16H)?d.16H+"&6vD="+a:"6vD="+a,f.2I=d.5s(),bG(f,f.2I);qb.3dk={};qb.2iP={};qb.3dj={};qb.1Vg={};l=1k.1V(qb.51l-Bm.1h,0);1j(h=0;h<l&&0<gj.1h;)d=gj.9l(),d.2F1?xr(d):d.1mj&&!QN(d.1vD)?xr(d):(bG(d),++h);qb.6vC&&(0===Dd.2EZ&&0<Dd.4bp&&(0<Dd.1zm&&(11l.7k("3a of 9qZ 3lA: "+Dd.1zm),Dd.1zm=0),0<Dd.3dh&&(11l.7k("3a of 2F1 3lA: "+Dd.3dh),Dd.3dh=0),0<Dd.3dg&&(11l.7k("3a of 2F1 1ih 3lA: "+Dd.3dg),Dd.3dg=0),0<Dd.3df&&(11l.7k("3a of 1bf 3lA: "+Dd.3df),Dd.3df=0)),Dd.4bp=Dd.2EZ)};qb.2Ao=1b(a){v.1N.4n("2I",a);a=(1g zb(a)).5h(6vB);a.1T();1d b=a.1mD;/:/.6S(b)||(b=b+":"+("1bU"===a.1c2?"443":"80"));g(sp[b])||(sp[b]=0);1f b};qb.7M=1b(a){v.1N.2c("7M",a);v.1N.4n("7M.2I",a.2I);v.1N.14R("7M.1RO",a.1RO);if(aB(a.2I)||MN(a.2I))1f aG.5k(),a.4F=$d.1sB,a.1RO();++Dd.1zm;g(a.1vD)||(a.1vD=qb.2Ao(a.2I));if(a.1I===Jd.2n5){1d b=uZ(a),c=qb.3di[b];g(c)||(c=qb.3di[b]=Z.12L(),qb.4br[b]=a);a.1ma=c;a.4F=$d.3AC;1f a.1ma.10l}if(!a.1mj||QN(a.1vD)){if(!qb.6vA||!a.1j8)1f bG(a);if(!(Bm.1h>=qb.51l)){PN(a);a.1I===Jd.20D?(b=RN(a),c=qb.2rR[b],g(c)||(c=qb.2rR[b]=1g rp({2F0:tZ}),c.4bq=qb.6vz,c.1Tx(bA)),b=c.1v1(a)):b=gj.1v1(a);if(g(b)){if(b===a)1f;xr(b)}1f wZ(a)}}};qb.9qY=1b(){1j(;0<gj.1h;){1d a=gj.9l();xr(a)}a=Bm.1h;1j(1d b=0;b<a;++b)xr(Bm[b]);Bm.1h=0;sp={};Dd.1zm=0;Dd.2EZ=0;Dd.3dh=0;Dd.3dg=0;Dd.3df=0;Dd.51k=0;Dd.4bp=0;Dd.51j=0};qb.9qX=1b(a){1f sp[a]};qb.9qW=gj;1d tp={},cA={};tp.add=1b(a,b){if(!g(a))1t 1g r("1H7 is 1X.");if(!g(b)||0>=b)1t 1g r("4bo is 1X to be 9U 6L 0.");a=a.18v()+":"+b;g(cA[a])||(cA[a]=!0)};tp.3S=1b(a,b){if(!g(a))1t 1g r("1H7 is 1X.");if(!g(b)||0>=b)1t 1g r("4bo is 1X to be 9U 6L 0.");a=a.18v()+":"+b;g(cA[a])&&4Y cA[a]};tp.8h=1b(a){if(!g(a))1t 1g r("2I is 1X.");1d b=1g zb(a);b.1T();a=b.6vy();g(a)?(-1!==a.3f("@")&&(a=a.7g("@")[1]),-1===a.3f(":")&&(b=b.6vx(),g(b)||(b=7O.17J.2RI,b=b.11c(0,b.1h-1)),a="10R"===b?a+":80":"1bU"===b?a+":443":1p 0)):a=1p 0;1f g(a)&&g(cA[a])?!0:!1};tp.9P=1b(){cA={}};1d xZ={};ec.6eZ="2vV 3y 1Ha are 1Pt on 1st. 9qV 1B4 be 1nk. To 5F 1Ha, 1Pw 3y 1st 9qU by 9qT 49M 1D to 0.";ec.68f="2vV 3y 10M 13G are 1Pt 16r 1D or 9i are 2l.  13G 1B4 be 2mu";ec.68d="2vV 1u5, 1fc, 12i or 3g 10M 6N 2Q 1S5 118 a 2l 1D.  6N 1B4 be 2mu";ec.68c="2vV 1u5, 1fc, 12i or 3g 10M 1c4 2Q 1S5 118 a 2l 9i.  1c4 1B4 be 2mu";1d 51i=1b(){10G{1d a=1g 1J3;a.1pj("1Tq","#",!0);a.1f8="1i3";1f"1i3"===a.1f8}11B(b){1f!1}}();na.14m=1b(a){1f a 2m na?a.16M({7M:a.7M}):"4n"!==2h a?a:1g na({2I:a})};1d hL;na.2MT=1b(){1f g(hL)?hL:"1b"!==2h 369?hL=Z.5h(!1):hL=na.2ok({2I:"2g:4d/12H;1G3,9qS////9qR+9qQ=="}).4b(1b(a){1f 369(a,{3rC:"13E",22c:"1bs"})}).4b(1b(a){1f!0}).10g(1b(){1f!1})};1L.2X(na,{9qP:{1n:1b(){1f 51i}}});1L.2X(na.1i,{1kx:{1n:1b(){1f 1a.1RP}},1PR:{1n:1b(){1f 1a.2rQ}},2I:{1n:1b(){1f 1a.1oO(!0,!0)},1C:1b(a){a=1g zb(a);SN(a,1a,!1);a.1fo=1p 0;1a.10z=a.5s()}},6A:{1n:1b(){1f LN(1a.10z)}},2FN:{1n:1b(){1f aB(1a.10z)}},3CA:{1n:1b(){1f MN(1a.10z)}},4fs:{1n:1b(){1f $F(1a.10z)}},6vu:{1n:1b(){1f 0<1L.9K(1a.1iB).1h}}});na.1i.1oO=1b(a,b){if(1a.2FN)1f 1a.10z;1d c=1g zb(1a.10z);a&&6vw(c,1a);a=c.5s().3X(/%7B/g,"{").3X(/%7D/g,"}");1d d=1a.2rQ;a=a.3X(/{(.*?)}/g,1b(a,b){b=d[b];1f g(b)?1Gh(b):a});b&&g(1a.1aQ)&&(a=1a.1aQ.3z4(a));1f a};na.1i.1qN=1b(a,b){1a.1RP=b?cG(1a.1RP,a,!1):cG(a,1a.1RP,!1)};na.1i.6vv=1b(a){1a.1RP=cG(a,1a.1RP,!0)};na.1i.3AB=1b(a,b){1a.2rQ=b?fb(1a.2rQ,a):fb(a,1a.2rQ)};na.1i.16M=1b(a){1d b=1a.1y();b.3AA=0;if(g(a.2I)){1d c=1g zb(a.2I),d=m(a.9qO,!1);SN(c,b,!0,d);c.1fo=1p 0;b.10z=c.5h(1g zb(qu(1a.10z))).5s()}g(a.1kx)&&(b.1RP=fb(a.1kx,b.1RP));g(a.1PR)&&(b.2rQ=fb(a.1PR,b.1PR));g(a.1iB)&&(b.1iB=fb(a.1iB,b.1iB));g(a.1aQ)&&(b.1aQ=a.1aQ);g(a.7M)&&(b.7M=a.7M);g(a.2rP)&&(b.2rP=a.2rP);g(a.2rO)&&(b.2rO=a.2rO);1f b};na.1i.4bn=1b(a){1d b=1a.2rP;if("1b"!==2h b||1a.3AA>=1a.2rO)1f Z(!1);1d c=1a;1f Z(b(1a,a)).4b(1b(a){++c.3AA;1f a})};na.1i.1y=1b(a){g(a)||(a=1g na({2I:1a.10z}));a.10z=1a.10z;a.1RP=wc(1a.1RP);a.2rQ=wc(1a.2rQ);a.1iB=wc(1a.1iB);a.1aQ=1a.1aQ;a.2rP=1a.2rP;a.2rO=1a.2rO;a.3AA=0;a.7M=1a.7M.1y();1f a};na.1i.4fu=1b(a){1f qp(1a.1oO(a),a)};na.1i.1F1=1b(){1a.10z=gb(1a.10z)};na.1i.1kw=1b(){1f 1a.1zb({1f8:"2AC"})};na.1kw=1b(a){1f(1g na(a)).1kw()};na.1i.2ok=1b(){1f 1a.1zb({1f8:"1i3"})};na.2ok=1b(a){1f(1g na(a)).2ok()};na.1i.1jN=1b(a){a=m(a,m.4Z);1d b=m(a.1UY,!1),c=m(a.2LW,!1),d=m(a.13E,!1);TN(1a.7M);if(!51i||1a.2FN||1a.3CA||!1a.6vu&&!c)1f UN({1Wu:1a,13E:d,1UY:b});1d e=1a.2ok();if(g(e)){1d f,h,l,p;1f na.2MT().4b(1b(a){h=(f=a)&&b;1f e}).4b(1b(a){if(g(a)){p=a;if(h)1f na.2MS(a,{13E:d,22c:!1});a=7O.1ui.2FI(a);l=1g na({2I:a});1f UN({1Wu:l,13E:d,1UY:!1})}}).4b(1b(a){if(g(a)){a.1i3=p;if(h)1f a;7O.1ui.1WT(l.2I);1f a}}).10g(1b(a){g(l)&&7O.1ui.1WT(l.2I);a.1i3=p;1f Z.7N(a)})}};na.1jN=1b(a){1f(1g na(a)).1jN({13E:a.13E,2LW:a.2LW,1UY:a.1UY})};na.1i.34o=1b(){1f 1a.1zb({1f8:"3l"})};na.34o=1b(a){1f(1g na(a)).34o()};na.1i.1vs=1b(){1d a=1a.1zb({1f8:"3l",1iB:{2qI:"1aM/15l,*/*;q=0.11t"}});if(g(a))1f a.4b(1b(a){if(g(a))1f 4H.5N(a)})};na.1vs=1b(a){1f(1g na(a)).1vs()};na.1i.2zz=1b(){1f 1a.1zb({1f8:"3n",1w0:"3l/1g3"})};na.2zz=1b(a){1f(1g na(a)).2zz()};na.1i.2Rs=1b(a){a=m(a,"1Jg");TN(1a.7M);do 1d b="4fm"+1k.1ps().5s().11c(2,8);14p(g(7O[b]));1f yZ(1a,a,b)};na.2Rs=1b(a){1f(1g na(a)).2Rs(a.51h)};na.1i.2am=1b(a){1d b=1a;TN(b.7M);1d c=b.7M;c.2I=b.2I;c.1RO=1b(d){1d e=a.1f8,h=fb(a.1iB,b.1iB),l=a.1w0,p=a.1tq,n=a.2g,k=Z.12L();d=g(d)?d:b.2I;1d w=na.2ax.2SJ(d,e,p,n,h,k,l);g(w)&&g(w.28m)&&(c.2rN=1b(){w.28m()});1f k.10l};1d d=qb.7M(c);if(g(d))1f d.4b(1b(a){1f a}).10g(1b(d){1f c.4F!==$d.12D?Z.7N(d):b.4bn(d).4b(1b(e){1f e?(c.4F=$d.2EY,c.1ma=1p 0,b.1zb(a)):Z.7N(d)})})};1d 6vs=/^2g:(.*?)(;1G3)?,(.*)$/;na.1i.1zb=1b(a){a=Pn(a,{});a.1tq="1Tq";1f 1a.2am(a)};na.1zb=1b(a){1f(1g na(a)).1zb({1f8:a.1f8,1w0:a.1w0})};na.1i.4Y=1b(a){a=Pn(a,{});a.1tq="5lS";1f 1a.2am(a)};na.4Y=1b(a){1f(1g na(a)).4Y({1f8:a.1f8,1w0:a.1w0,2g:a.2g})};na.1i.13r=1b(a){a=Pn(a,{});a.1tq="6vo";1f 1a.2am(a)};na.13r=1b(a){1f(1g na(a)).13r({1f8:a.1f8,1w0:a.1w0})};na.1i.3v=1b(a){a=Pn(a,{});a.1tq="6vn";1f 1a.2am(a)};na.3v=1b(a){1f(1g na(a)).3v({1f8:a.1f8,1w0:a.1w0})};na.1i.31A=1b(a,b){v.2l("2g",a);b=Pn(b,{});b.1tq="4lK";b.2g=a;1f 1a.2am(b)};na.31A=1b(a){1f(1g na(a)).31A(a.2g,{1f8:a.1f8,1w0:a.1w0})};na.1i.4aI=1b(a,b){v.2l("2g",a);b=Pn(b,{});b.1tq="9qN";b.2g=a;1f 1a.2am(b)};na.4aI=1b(a){1f(1g na(a)).4aI(a.2g,{1f8:a.1f8,1w0:a.1w0})};na.1i.51g=1b(a,b){v.2l("2g",a);b=Pn(b,{});b.1tq="9qM";b.2g=a;1f 1a.2am(b)};na.51g=1b(a){1f(1g na(a)).51g(a.2g,{1f8:a.1f8,1w0:a.1w0})};na.2ax={};na.2ax.2QR=1b(a,b,c,d,e){1d f=a.2I;na.2MT().4b(1b(h){if(h&&e){h=Z.12L();1d l=na.2ax.2SJ(f,"1i3","1Tq",1p 0,1p 0,h,1p 0,1p 0,1p 0);g(l)&&g(l.28m)&&(a.2rN=1b(){l.28m()});1f h.10l.4b(1b(a){if(g(a))1f na.2MS(a,{13E:d,22c:!1});c.7N(1g qa("9qL 9qK "+f+" 19T it 9qJ no 15k."))}).4b(c.5h)}6vt(f,b,c)}).10g(c.7N)};na.2MS=1b(a,b){v.2l("3v",b);v.1N.7d("3v.13E",b.13E);v.1N.7d("3v.22c",b.22c);1f 369(a,{3rC:b.13E?"13E":"1bs",22c:b.22c?"5Yo":"1bs"})};1d 6vq="7w"===2h 1J3;na.2ax.2SJ=1b(a,b,c,d,e,f,h){1d l=6vs.1f4(a);if(1F!==l)f.5h(6vr(l,b));1s if(6vq)6vp(a,b,c,d,e,f);1s{1d p=1g 1J3;tp.8h(a)&&(p.6ro=!0);a=a.3X(/{/g,"%7B").3X(/}/g,"%7D");p.1pj(c,a,!0);g(h)&&g(p.1w0)&&p.1w0(h);if(g(e))1j(1d n in e)e.3p(n)&&p.4YU(n,e[n]);g(b)&&(p.1f8=b);1d k=!1;"4n"===2h a&&(k=0===a.3f("1ol://")||"7w"!==2h 7O&&"1ol://"===7O.17J.9X);p.1w2=1b(){if(!(200>p.1hM||300<=p.1hM)||k&&0===p.1hM){1d a=p.1pa,d=p.1f8;if("6vo"===c||"6vn"===c){1d e={};p.4YS().1b2().7g(/[\\r\\n]+/).12I(1b(a){a=a.7g(": ");1d b=a.1hN();e[b]=a.14G(": ")});f.5h(e)}1s if(204===p.1hM)f.5h();1s if(!g(a)||g(b)&&d!==b)if("15l"===b&&"4n"===2h a)10G{f.5h(4H.5N(a))}11B(t){f.7N(t)}1s(""===d||"3n"===d)&&g(p.3cN)&&p.3cN.4YT()?f.5h(p.3cN):""!==d&&"3l"!==d||!g(p.2ME)?f.7N(1g qa("13H 1J3 1pa 1I.")):f.5h(p.2ME);1s f.5h(a)}1s f.7N(1g wr(p.1hM,p.1pa,p.4YS()))};p.1ra=1b(a){f.7N(1g wr)};p.26m(d);1f p}};na.2ax.2sd=1b(a,b,c){1f NN(a).10g(c.7N)};na.4bm={};na.4bm.2QR=na.2ax.2QR;na.4bm.2SJ=na.2ax.2SJ;na.4bm.2sd=na.2ax.2sd;na.1yD=1L.3F(1g na({2I:"7w"===2h 3n?"":3n.17J.17S.7g("?")[0]}));1d DZ=/((?:.*\\/)|^)1di\\.js$/,bB,ru,VN;cb.9qI=DZ;cb.9qH=EZ;cb.9qG=1b(){ru=1p 0};cb.9qF=1b(a){ru=na.1yD.16M({2I:a})};cb.6vm=CZ;C.9v=1b(a,b,c){if(!g(c))1f 1g C(a,b);c.x=a;c.y=b;1f c};C.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g C(a.x,a.y);b.x=a.x;b.y=a.y;1f b}};C.1mg=C.1y;C.1vu=C.1y;C.4q=2;C.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a.x;b[c]=a.y;1f b};C.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g C);c.x=a[b++];c.y=a[b];1f c};C.4aE=1b(a,b){v.2l("4x",a);1d c=a.1h,d=2*c;if(g(b)){if(!2K.8n(b)&&b.1h!==d)1t 1g r("If 4D is a 3WK 4x, it 2Q 118 2hu 4x.1h * 2 26L");b.1h!==d&&(b.1h=d)}1s b=2K(d);1j(d=0;d<c;++d)C.5n(a[d],b,2*d);1f b};C.338=1b(a,b){v.2l("4x",a);v.1N.2b.9Y("4x.1h",a.1h,2);if(0!==a.1h%2)1t 1g r("4x 1h 2Q be a 1yK of 2.");1d c=a.1h;g(b)?b.1h=c/2:b=2K(c/2);1j(1d d=0;d<c;d+=2){1d e=d/2;b[e]=C.5f(a,d,b[e])}1f b};C.7j=C.5f;C.1xj=1b(a){v.1N.2c("16L",a);1f 1k.1V(a.x,a.y)};C.51f=1b(a){v.1N.2c("16L",a);1f 1k.2o(a.x,a.y)};C.2yE=1b(a,b,c){v.1N.2c("1lf",a);v.1N.2c("1hd",b);v.1N.2c("4D",c);c.x=1k.2o(a.x,b.x);c.y=1k.2o(a.y,b.y);1f c};C.2yD=1b(a,b,c){v.1N.2c("1lf",a);v.1N.2c("1hd",b);v.1N.2c("4D",c);c.x=1k.1V(a.x,b.x);c.y=1k.1V(a.y,b.y);1f c};C.17j=1b(a){v.1N.2c("16L",a);1f a.x*a.x+a.y*a.y};C.7t=1b(a){1f 1k.3Y(C.17j(a))};1d iL=1g C;C.3s=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);C.3V(a,b,iL);1f C.7t(iL)};C.3de=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);C.3V(a,b,iL);1f C.17j(iL)};C.1T=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);1d c=C.7t(a);b.x=a.x/c;b.y=a.y/c;if(11I(b.x)||11I(b.y))1t 1g r("1A7 4D is 2S a 2b");1f b};C.2A=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);1f a.x*b.x+a.y*b.y};C.1oz=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x*b.x;c.y=a.y*b.y;1f c};C.2DR=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x/b.x;c.y=a.y/b.y;1f c};C.add=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x+b.x;c.y=a.y+b.y;1f c};C.3V=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x-b.x;c.y=a.y-b.y;1f c};C.4g=1b(a,b,c){v.1N.2c("16L",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c.x=a.x*b;c.y=a.y*b;1f c};C.1eE=1b(a,b,c){v.1N.2c("16L",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c.x=a.x/b;c.y=a.y/b;1f c};C.11k=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);b.x=-a.x;b.y=-a.y;1f b};C.abs=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);b.x=1k.abs(a.x);b.y=1k.abs(a.y);1f b};1d 51e=1g C;C.11x=1b(a,b,c,d){v.1N.2c("4I",a);v.1N.2c("9o",b);v.1N.2b("t",c);v.1N.2c("4D",d);C.4g(b,c,51e);d=C.4g(a,1-c,d);1f C.add(51e,d,d)};1d 51d=1g C,51c=1g C;C.1B3=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);C.1T(a,51d);C.1T(b,51c);1f B.1UX(C.2A(51d,51c))};1d 6vl=1g C;C.3da=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);a=C.1T(a,6vl);C.abs(a,a);1f b=a.x<=a.y?C.1y(C.1dl,b):C.1y(C.1f5,b)};C.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.x===b.x&&a.y===b.y};C.1zX=1b(a,b,c){1f a.x===b[c]&&a.y===b[c+1]};C.5T=1b(a,b,c,d){1f a===b||g(a)&&g(b)&&B.5T(a.x,b.x,c,d)&&B.5T(a.y,b.y,c,d)};C.6h=1L.3F(1g C(0,0));C.1dl=1L.3F(1g C(1,0));C.1f5=1L.3F(1g C(0,1));C.1i.1y=1b(a){1f C.1y(1a,a)};C.1i.2L=1b(a){1f C.2L(1a,a)};C.1i.5T=1b(a,b,c){1f C.5T(1a,a,b,c)};C.1i.5s=1b(){1f"("+1a.x+", "+1a.y+")"};1L.2X(gd.1i,{3c:{1n:1b(){1f 1a.5W}},3g:{1n:1b(){1f 1a.7T}},18T:{1n:1b(){1f 1a.16y}},51b:{1n:1b(){1f 1a.24k}}});gd.1i.1ou=1b(a){1f 1a.2Ru<<a-1a.24k};gd.1i.1Bj=1b(a){1f 1a.2Rt<<a-1a.24k};gd.1i.1JD=1b(a,b){v.2l("3g",a);1d c=B.10Q(a.4o),d=B.10Q(a.4C),e=B.10Q(a.5a);a=B.10Q(a.4P);if(!g(b))1f 1g Q(c,d,e,a);b.4o=c;b.4C=d;b.5a=e;b.4P=a;1f b};gd.1i.1JE=1b(a,b,c,d){a=1a.1d1(a,b,c,d);a.4o=B.10Q(a.4o);a.4C=B.10Q(a.4C);a.5a=B.10Q(a.5a);a.4P=B.10Q(a.4P);1f a};gd.1i.1d1=1b(a,b,c,d){1d e=1a.7T;if(g(1a.2iL)&&g(1a.1Ua)){e=1a.3cY(c);1d f=-B.PI+a*1a.14Q*e.x;a=-B.PI+(a+1)*1a.14Q*e.x;c=B.10k-b*1a.16J*e.y;b=B.10k-(b+1)*1a.16J*e.y;if(!g(d))1f 1g Q(f,b,a,c);d.4o=f;d.4C=b;d.5a=a;d.4P=c;1f d}f=1a.1ou(c);c=1a.1Bj(c);1d h=e.1G/f;f=a*h+e.4o;a=(a+1)*h+e.4o;h=e.1D/c;c=e.4P-b*h;b=e.4P-(b+1)*h;g(d)||(d=1g Q(f,b,a,c));d.4o=f;d.4C=b;d.5a=a;d.4P=c;1f d};gd.1i.1mi=1b(a,b,c){1d d=1a.7T;if(Q.8h(d,a)){1d e=1a.1ou(b),f=1a.1Bj(b),h=d.1G/e,l=d.1D/f;g(1a.2iL)&&g(1a.1Ua)&&(l=1a.3cY(b),h=1a.14Q*l.x,l=1a.16J*l.y);b=a.3N;d.5a<d.4o&&(b+=B.14C);h=(b-d.4o)/h|0;h>=e&&(h=e-1);a=(d.4P-a.4k)/l|0;a>=f&&(a=f-1);if(!g(c))1f 1g C(h,a);c.x=h;c.y=a;1f c}};gd.1i.3cY=1b(a){1d b=ba.9y.17i;1f 1g C(.3cX*1a.1Ua[a-1a.24k]/1a.2iL.x/b,.3cX*1a.1Ua[a-1a.24k]/1a.2iL.y/b)};1d 510=1g k,511=1g k,51a=1g T,KV=1g k,6vj=1g k,50Z=1g P,6vk=1g gd,cB=[1g T,1g T,1g T,1g T],dB=1g C,nd={6l:1b(){1d a=nd.50Y;if(g(a))1f a;a=na.1vs(cb("1ja/9qE.15l")).4b(1b(a){nd.2RH=a});1f nd.50Y=a},29x:1b(a,b){v.2l("3g",a);if(!g(nd.2RH))1t 1g r("2mr 2Q 4G 4jb.6l and 11i 1j 1Z 10l to 5h 8w 1nl 1a 1b");b=m(b,ba.9y);1d c=FZ(a),d=nd.3dd,e=nd.2Qh;g(c)&&(c=nd.2RH[c.6b+"-"+c.x+"-"+c.y],g(c)&&(d=c[0],e=c[1]),b.13B(Q.1tH(a,51a),510),b.13B(Q.1tI(a,51a),511),k.28F(511,510,KV),a=b.1fI(KV,6vj),g(a)?(a=k.3s(KV,a),d=1k.2o(d,-a)):d=nd.3dd);d=1k.1V(nd.3dd,d);1f{1UL:d,4VN:e}},1cS:1b(a,b){v.2l("3g",a);if(!g(nd.2RH))1t 1g r("2mr 2Q 4G 4jb.6l and 11i 1j 1Z 10l to 5h 8w 1nl 1a 1b");b=m(b,ba.9y);1d c=FZ(a),d=nd.2Qh;g(c)&&(c=nd.2RH[c.6b+"-"+c.x+"-"+c.y],g(c)&&(d=c[1]));c=P.2ra(a,b,0);P.2ra(a,b,d,50Z);1f P.1nu(c,50Z,c)},6vi:6,2Qh:9E3,3dd:-1E5,2RH:1p 0,50Y:1p 0};1L.2X(nd,{1Vv:{1n:1b(){1f g(nd.2RH)}}});1L.2X(Cm.1i,{3c:{1n:1b(){1f 1a.5W}},3g:{1n:1b(){1f 1a.7T}},18T:{1n:1b(){1f 1a.16y}}});Cm.1i.1ou=1b(a){1f g(1a.24a)?1a.2Ru<<a+1a.24k:1a.2Ru<<a};Cm.1i.1Bj=1b(a){1f g(1a.24a)?1a.2Rt<<a+1a.24k:1a.2Rt<<a};Cm.1i.1JD=1b(a,b){v.2l("3g",a);1d c=B.10Q(a.4o),d=B.10Q(a.4C),e=B.10Q(a.5a);a=B.10Q(a.4P);if(!g(b))1f 1g Q(c,d,e,a);b.4o=c;b.4C=d;b.5a=e;b.4P=a;1f b};Cm.1i.1JE=1b(a,b,c,d){a=1a.1d1(a,b,c,d);a.4o=B.10Q(a.4o);a.4C=B.10Q(a.4C);a.5a=B.10Q(a.5a);a.4P=B.10Q(a.4P);1f a};Cm.1i.1d1=1b(a,b,c,d){1d e=1a.7T;if(g(1a.24a)){e=1a.24a.3Az[c].1ko*B.14C/360;1d f=-B.PI+a*1a.14Q*e;a=-B.PI+(a+1)*1a.14Q*e;c=B.10k-b*1a.16J*e;b=B.10k-(b+1)*1a.16J*e;if(!g(d))1f 1g Q(f,b,a,c);d.4o=f;d.4C=b;d.5a=a;d.4P=c;1f d}f=1a.1ou(c);c=1a.1Bj(c);1d h=e.1G/f;f=a*h+e.4o;a=(a+1)*h+e.4o;h=e.1D/c;c=e.4P-b*h;b=e.4P-(b+1)*h;g(d)||(d=1g Q(f,b,a,c));d.4o=f;d.4C=b;d.5a=a;d.4P=c;1f d};Cm.1i.1mi=1b(a,b,c){1d d=1a.7T;if(Q.8h(d,a)){1d e=1a.1ou(b),f=1a.1Bj(b),h=d.1G/e,l=d.1D/f;g(1a.24a)&&(l=1a.24a.3Az[b].1ko*B.14C/360,h=1a.14Q*l,l*=1a.16J);b=a.3N;d.5a<d.4o&&(b+=B.14C);h=(b-d.4o)/h|0;h>=e&&(h=e-1);a=(d.4P-a.4k)/l|0;a>=f&&(a=f-1);if(!g(c))1f 1g C(h,a);c.x=h;c.y=a;1f c}};1d IZ="a 9qD 9qC 2gg 207 9qB 9qA 29p b 9qz 9qy 9qx 9qw 9qv 1hg br 12n 3M 9qu 2V 6vf 16A 1Mv 9qt 15k 2g 9qs dd 9qr 9qq 1Tm 9qp 16g 5u dl dt 1ij em 9qo 9qn 4EA 9O 9qm 2Jl h1 h2 h3 h4 h5 h6 13r 1Pg 9ql hr 1jH i 1kp 15d 9qk 9qj 17R 9qi li 2k 5d 9qh 9qg 63z 9qf 3Ay 9qe 9qd ol 5rG 1PC 1jU p 6vh 1MV q rp rt 9qc s 9qb 30z 26K 1Gy 3uw 5j 9qa 1kl 9q9 1dH 2r 1LT 50V 9q8 1j9 26R td 1qC 2Jk 5rH th 5rI 6q tr 1uX tt u ul 1d 1qA 9q7".7g(" "),JZ="1fu a 9q6 9q5 9q4 9q3 9q2 9q1 29p 3M 12O 9q0 4lg 9pZ 1fc 14O 9O g 6vb 6va 9pY 4d 6D 9pX 1H5 11q 1lv 9pW 9w 1jV 12i 11M 9pV 2wR 4U 2r 6U 1ap 3l 3NE 17s 9pU 6vg 1qA 11A 9pT".7g(" "),KZ="9pS 9pR 9pQ 9pP 9pO 9pN 9pM 9pL 9pK 9pJ 9pI 9pH 9pG 5lk 9pF 9pE 9pD 9pC 9pB 9pA 9pz 9py 9px".7g(" "),LZ="1pp 9pw 9pv 9pu 9pt 9ps mi 9pr 9pq mn mo 9pp 9po 9pn 9pm 9pl ms 9pk 9pj 9pi 9ph 9pg 9pf 9pe 9pd 9pc 63r 9pb 9pa".7g(" "),MZ=["#3l"],NZ="5Pu 3P6 22G alt 3OO 1Ds 9p9 50X 9p8 9p7 2wZ 6vf 11F 9P 1A 3Ax 9p6 19t 9p5 9p4 4T 16g 1nk 2CU 9p2 18X 1j 1iB 1D 1qr 162 17S 4bl id 5qa 9p1 17R 6v9 3mg 1qB 15r 1V 9p0 4M9 1tq 2o 1yK 2i 9oZ 9oY 9oX 1pj 9oW 1jV 50W 9oV 50k 9oU 9oT 9oS 39B 1X 24H 5ru 9oR 3Aw 6v4 9oQ 1A9 1bM 1Nk 4V 9oP 1kl 9oO 4I 1bv 9oN 7F 2r 50V 6v6 17s 1I 9oM 9oL 1Q 1G 1KG".7g(" "),WN="2p2-1D 9oK 9oJ 1ew-6ve 49G 9oI 9oH 3sk 9oG 6ve-1hN 1jM 1l0 by 11F 1Ii 1Ii-9w 1Ii-6vd 1A 1A-1w3 1A-1w3-9oF 1A-27X 1A-2gE cx cy d dx dy 9oE 2G 1ka 9oD 9oC 9oB 5Pz 9o 4K 4K-7z 4K-6vd 14O 6vc-1A 6vc-7z 9O-44j 9O-4V 9O-4V-5PZ 9O-1qv 9O-2r 9O-42Q 9O-1hF fx fy g1 g2 6vb-2i 6va 9oA 9oz 1D 17S id 4d-2gE in 9oy k k1 k2 k3 k4 9ox 9ow 9ov 9ou 6v9 9ot 2wQ-1Im 9os 9or 4EN-1A 6v8 1H5-9o 1H5-25t 1H5-4I 9oq 9op 9oo 9on 9om 1V 11q 4M9 1tq 3z 2o 2i 9ol 2M 22V 7z 1HC 1AT 11f 9X 1Tn 14I-1HC 9w 9ok 9oj 9oi 9oh 5I 9og 9of r rx ry 3L 9oe 9od 9oc 9ob 9oa 4D 17b 3b 6v7 1Nk-2gE 9o9 9o8 9o7 9o6 9o5 4U-1A 4U-7z 15n-2AK 15n-9o4 15n-9o3 15n-9o2 15n-9o1 15n-7z 15n 15n-1G 2r 9o0 6v6 9nZ 9nY 5o 3l-1cs 3l-6v5 3l-2gE 9nX 1I u1 u2 5K5 2a 9nW 12F 50U-adv-y 50U-9X-x 50U-9X-y 1G 1xF-1Im 1FQ 2gp-3z 9nV 9nU x x1 x2 1KG y y1 y2 z 9nT".7g(" "),OZ="2p2 9nS 22G 9nR 1TP 9nQ 9nP 9nO 9nN 4e 16g 1ka 9nM 9nL 3Mc 1D 17S id 9nK 1h 9nJ 9nI 9nH 9nG 9nF 9nE 9nD 9nC 9nB 9nA 9nz 9ny 1pj 9nx 9nw 9nv 6v4 9nu 9nt 9ns 9nr 9nq 50T 9np 9no 9nn 9nm 9nl 9nk 9nj 1G 1KG".7g(" "),eG=["1NM:17S","1g3:id","1NM:17s","1g3:1ww","1KG:1NM"],6v3=/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm,6v2=/<%[\\s\\S]*|[\\s\\S]*%>/gm,6v1=/^2g-[\\-\\w.\\9ni-\\9nh]/,6v0=/^9ng-[\\-\\w]+$/,ana=/^(?:(?:(?:f|ht)9nf?|649|44d|9ne|9nd|9nc):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i,6uZ=/^(?:\\w+1G5|2g):/i,$ma=/[\\9nb-\\9na\\9n9\\9n8\\9n7\\63T-\\9n6\\9n5\\9n4]/g;$9C.1lY();$9C.1lY();$9C.2yg();1d fG="1b"===2h 1gy&&"1ap"===2h 1gy.1U3?1b(a){1f 2h a}:1b(a){$9C.1lY();$9C.1lY();$9C.1lY();1f a&&"1b"===2h 1gy&&a.7m===1gy&&a!==1gy.1i?"1ap":2h a},4fh=HZ(),6uY=0,YN={};1L.2X(Zb.1i,{1jH:{1n:1b(){1f 1a.50S}},id:{1n:1b(){1f 1a.7R}},3Tm:{1n:1b(){1f 1a.6uX}},1ij:{1n:1b(){if(!g(1a.17e)){1d a=4fh.6uW(1a.50S),b=3n.4O("5u");b.4bk=1a.7R;b.2r.1ka="3po";b.1dd=a;a=b.4bj("a");1j(1d c=0;c<a.1h;c++)a[c].8m("15s","44m");1a.17e=b}1f 1a.17e}}});Zb.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.7R===b.7R};Zb.1i.2L=1b(a){1f Zb.2L(1a,a)};Zb.6pi=1b(a){1d b=g(a.6uV)&&!a.6uV;a=1g Zb(a.1jH,b);a.5CQ=-1!==a.1jH.3f("6uU.12H");1f a};Zb.1y=1b(a){if(g(a))1f 1g Zb(a.1jH,a.3Tm)};1d kB=1L.3F({6i:0,4bi:1});zh.1aN=1b(a,b){g(b)||(b=1g zh);if(!g(a)||0===a.1h)1f b.13b=k.1y(k.6h,b.13b),b.14S=k.1y(k.6h,b.14S),b.2V=k.1y(k.6h,b.2V),b;1j(1d c=a[0].x,d=a[0].y,e=a[0].z,f=a[0].x,h=a[0].y,l=a[0].z,p=a.1h,n=1;n<p;n++){1d z=a[n],w=z.x,x=z.y;z=z.z;c=1k.2o(w,c);f=1k.1V(w,f);d=1k.2o(x,d);h=1k.1V(x,h);e=1k.2o(z,e);l=1k.1V(z,l)}a=b.13b;a.x=c;a.y=d;a.z=e;c=b.14S;c.x=f;c.y=h;c.z=l;b.2V=k.28F(a,c,b.2V);1f b};zh.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g zh(a.13b,a.14S,a.2V);b.13b=k.1y(a.13b,b.13b);b.14S=k.1y(a.14S,b.14S);b.2V=k.1y(a.2V,b.2V);1f b}};zh.2L=1b(a,b){1f a===b||g(a)&&g(b)&&k.2L(a.2V,b.2V)&&k.2L(a.13b,b.13b)&&k.2L(a.14S,b.14S)};1d jL=1g k;zh.1tE=1b(a,b){v.2l("13F",a);v.2l("12w",b);jL=k.3V(a.14S,a.13b,jL);1d c=k.4g(jL,.5,jL),d=b.2U;c=c.x*1k.abs(d.x)+c.y*1k.abs(d.y)+c.z*1k.abs(d.z);a=k.2A(a.2V,d)+b.3s;1f 0<a-c?Lb.27N:0>a+c?Lb.1gB:Lb.1wT};zh.1i.1y=1b(a){1f zh.1y(1a,a)};zh.1i.1tE=1b(a){1f zh.1tE(1a,a)};zh.1i.2L=1b(a){1f zh.2L(1a,a)};1L.2X(fk.1i,{3c:{1n:1b(){1f 1a.5W}},2Ld:{1n:1b(){1f 1a.1Es},1C:1b(a){1d b=1a.5W.3db(a,1a.3dc),c=k.17j(b)-1;k.1y(a,1a.1Es);1a.3dc=b;1a.3Av=c}}});1d VZ=1g k;fk.1i.4Vd=1b(a){a=1a.5W.3db(a,VZ);1f ZN(a,1a.3dc,1a.3Av)};fk.1i.9n3=1b(a){1f ZN(a,1a.3dc,1a.3Av)};1d $Fa=1g k;fk.1i.5AL=1b(a,b){1d c=1a.5W;if(g(b)&&0>b&&c.1W5>-b){1d d=$Fa;d.x=1a.1Es.x/(c.10N.x+b);d.y=1a.1Es.y/(c.10N.y+b);d.z=1a.1Es.z/(c.10N.z+b);b=d.x*d.x+d.y*d.y+d.z*d.z-1}1s d=1a.3dc,b=1a.3Av;1f ZN(a,d,b)};fk.1i.6uS=1b(a,b,c){1f QZ(1a.5W,a,b,c)};1d 50R=ba.1y(ba.1x9);fk.1i.3St=1b(a,b,c,d){c=PZ(1a.5W,c,50R);1f QZ(c,a,b,d)};fk.1i.9n2=1b(a,b,c,d,e){1f UZ(1a.5W,a,b,c,d,e)};fk.1i.9n1=1b(a,b,c,d,e,f){e=PZ(1a.5W,e,50R);1f UZ(e,a,b,c,d,f)};1d 6uT=[];fk.1i.9n0=1b(a,b,c){v.1N.2c("3g",a);a=Q.49I(a,b,0,6uT);1d d=P.1aN(a);if(!(k.7t(d.2V)<.1*b.1W5))1f 1a.6uS(d.2V,a,c)};1d 6uR=1g k,hG=1g k,6uQ=1g k,6uP=1g k,$N=1g k,Rn={50Q:1b(a,b,c){if("2b"!==2h a)1t 1g r("a is a 1X 2b.");if("2b"!==2h b)1t 1g r("b is a 1X 2b.");if("2b"!==2h c)1t 1g r("c is a 1X 2b.");1f b*b-4*a*c},1KF:1b(a,b,c){if("2b"!==2h a)1t 1g r("a is a 1X 2b.");if("2b"!==2h b)1t 1g r("b is a 1X 2b.");if("2b"!==2h c)1t 1g r("c is a 1X 2b.");if(0===a)1f 0===b?[]:[-c/b];if(0===b){if(0===c)1f[0,0];b=1k.abs(c);1d d=1k.abs(a);if(b<d&&b/d<B.1sW)1f[0,0];if(b>d&&d/b<B.1sW)1f[];a=-c/a;if(0>a)1f[];a=1k.3Y(a);1f[-a,a]}if(0===c)1f a=-b/a,0>a?[a,0]:[0,a];d=WZ(b*b,-(4*a*c),B.1sW);if(0>d)1f[];d=-.5*WZ(b,B.12q(b)*1k.3Y(d),B.1sW);1f 0<b?[d/a,c/d]:[c/d,d/a]}},iG={50Q:1b(a,b,c,d){if("2b"!==2h a)1t 1g r("a is a 1X 2b.");if("2b"!==2h b)1t 1g r("b is a 1X 2b.");if("2b"!==2h c)1t 1g r("c is a 1X 2b.");if("2b"!==2h d)1t 1g r("d is a 1X 2b.");1d e=b*b,f=c*c;1f 18*a*b*c*d+e*f-27*a*a*d*d-4*(a*f*c+e*b*d)},1KF:1b(a,b,c,d){if("2b"!==2h a)1t 1g r("a is a 1X 2b.");if("2b"!==2h b)1t 1g r("b is a 1X 2b.");if("2b"!==2h c)1t 1g r("c is a 1X 2b.");if("2b"!==2h d)1t 1g r("d is a 1X 2b.");if(0===a)1f Rn.1KF(b,c,d);if(0===b){if(0===c){if(0===d)1f[0,0,0];a=-d/a;a=0>a?-1k.3r(-a,1/3):1k.3r(a,1/3);1f[a,a,a]}1f 0===d?(a=Rn.1KF(a,0,c),0===a.4AJ?[0]:[a[0],0,a[1]]):aO(a,0,c,d)}1f 0===c?0===d?(a=-b/a,0>a?[a,0,0]:[0,0,a]):aO(a,b,0,d):0===d?(a=Rn.1KF(a,b,c),0===a.1h?[0]:0>=a[1]?[a[0],a[1],0]:0<=a[0]?[0,a[0],a[1]]:[a[0],0,a[1]]):aO(a,b,c,d)}},4ie={50Q:1b(a,b,c,d,e){if("2b"!==2h a)1t 1g r("a is a 1X 2b.");if("2b"!==2h b)1t 1g r("b is a 1X 2b.");if("2b"!==2h c)1t 1g r("c is a 1X 2b.");if("2b"!==2h d)1t 1g r("d is a 1X 2b.");if("2b"!==2h e)1t 1g r("e is a 1X 2b.");1d f=a*a,h=b*b,l=h*b,g=c*c,n=g*c,k=d*d,w=k*d,x=e*e;1f h*g*k-4*l*w-4*a*n*k+18*a*b*c*w-27*f*k*k+256*f*a*x*e+e*(18*l*c*d-4*h*n+16*a*g*g-80*a*b*g*d-6*a*h*k+144*f*c*k)+x*(144*a*h*c-27*h*h-128*f*g-192*f*b*d)},1KF:1b(a,b,c,d,e){if("2b"!==2h a)1t 1g r("a is a 1X 2b.");if("2b"!==2h b)1t 1g r("b is a 1X 2b.");if("2b"!==2h c)1t 1g r("c is a 1X 2b.");if("2b"!==2h d)1t 1g r("d is a 1X 2b.");if("2b"!==2h e)1t 1g r("e is a 1X 2b.");if(1k.abs(a)<B.2aw)1f iG.1KF(b,c,d,e);b/=a;c/=a;d/=a;a=e/a;e=0>b?1:0;e+=0>c?e+1:e;e+=0>d?e+1:e;6U(e+(0>a?e+1:e)){1S 0:1f Dm(b,c,d,a);1S 1:1f eB(b,c,d,a);1S 2:1f eB(b,c,d,a);1S 3:1f Dm(b,c,d,a);1S 4:1f Dm(b,c,d,a);1S 5:1f eB(b,c,d,a);1S 6:1f Dm(b,c,d,a);1S 7:1f Dm(b,c,d,a);1S 8:1f eB(b,c,d,a);1S 9:1f Dm(b,c,d,a);1S 10:1f Dm(b,c,d,a);1S 11:1f eB(b,c,d,a);1S 12:1f Dm(b,c,d,a);1S 13:1f Dm(b,c,d,a);1S 14:1f Dm(b,c,d,a);1S 15:1f Dm(b,c,d,a)}}};rb.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g rb(a.9X,a.2G);b.9X=k.1y(a.9X);b.2G=k.1y(a.2G);1f b}};rb.1n3=1b(a,b,c){v.1N.2c("11j",a);v.1N.2b("t",b);g(c)||(c=1g k);c=k.4g(a.2G,b,c);1f k.add(a.9X,c,c)};1d ib={1xl:1b(a,b,c){if(!g(a))1t 1g r("11j is 1X.");if(!g(b))1t 1g r("12w is 1X.");g(c)||(c=1g k);1d d=a.9X;a=a.2G;1d e=b.2U,f=k.2A(e,a);if(!(1k.abs(f)<B.2aw||(b=(-b.3s-k.2A(e,d))/f,0>b)))1f c=k.4g(a,b,c),k.add(d,c,c)}},6uO=1g k,6uN=1g k,YZ=1g k,50P=1g k,50O=1g k;ib.2ZR=1b(a,b,c,d,e){if(!g(a))1t 1g r("11j is 1X.");if(!g(b))1t 1g r("p0 is 1X.");if(!g(c))1t 1g r("p1 is 1X.");if(!g(d))1t 1g r("p2 is 1X.");e=m(e,!1);1d f=a.9X;a=a.2G;c=k.3V(c,b,6uO);d=k.3V(d,b,6uN);1d h=k.4B(a,d,YZ),l=k.2A(c,h);if(e){if(l<B.1g9)1f;f=k.3V(f,b,50P);b=k.2A(f,h);if(0>b||b>l)1f;f=k.4B(f,c,50O);a=k.2A(a,f);if(0>a||b+a>l)1f;a=k.2A(d,f)/l}1s{if(1k.abs(l)<B.1g9)1f;l=1/l;f=k.3V(f,b,50P);b=k.2A(f,h)*l;if(0>b||1<b)1f;f=k.4B(f,c,50O);a=k.2A(a,f)*l;if(0>a||1<b+a)1f;a=k.2A(d,f)*l}1f a};ib.9mZ=1b(a,b,c,d,e,f){b=ib.2ZR(a,b,c,d,e);if(g(b)&&!(0>b))1f g(f)||(f=1g k),k.4g(a.2G,b,f),k.add(a.9X,f,f)};1d qw=1g rb;ib.9mY=1b(a,b,c,d,e,f,h){if(!g(a))1t 1g r("v0 is 1X.");if(!g(b))1t 1g r("v1 is 1X.");if(!g(c))1t 1g r("p0 is 1X.");if(!g(d))1t 1g r("p1 is 1X.");if(!g(e))1t 1g r("p2 is 1X.");k.1y(a,qw.9X);k.3V(b,a,qw.2G);k.1T(qw.2G,qw.2G);c=ib.2ZR(qw,c,d,e,f);if(!(!g(c)||0>c||c>k.3s(a,b)))1f g(h)||(h=1g k),k.4g(qw.2G,c,h),k.add(qw.9X,h,h)};1d 6uM={1Sh:0,1Si:0};ib.2z5=1b(a,b,c){if(!g(a))1t 1g r("11j is 1X.");if(!g(b))1t 1g r("1cq is 1X.");c=XZ(a,b,c);if(g(c)&&!(0>c.4U))1f c.4I=1k.1V(c.4I,0),c};1d LV=1g rb;ib.9mX=1b(a,b,c,d){if(!g(a))1t 1g r("p0 is 1X.");if(!g(b))1t 1g r("p1 is 1X.");if(!g(c))1t 1g r("1cq is 1X.");k.1y(a,LV.9X);a=k.3V(b,a,LV.2G);b=k.7t(a);k.1T(a,a);d=XZ(LV,c,d);if(!(!g(d)||0>d.4U||d.4I>b))1f d.4I=1k.1V(d.4I,0),d.4U=1k.2o(d.4U,b),d};1d 6uL=1g k,6uK=1g k;ib.1TV=1b(a,b){if(!g(a))1t 1g r("11j is 1X.");if(!g(b))1t 1g r("3c is 1X.");1d c=b.2zt;b=k.1oz(c,a.9X,6uL);1d d=k.1oz(c,a.2G,6uK),e=k.17j(b);a=k.2A(b,d);if(1<e){if(0<=a)1f;c=a*a;b=e-1;d=k.17j(d);e=d*b;if(c<e)1f;if(c>e)1f a=-a+1k.3Y(a*a-e),c=a/d,b/=a,c<b?1g pp(c,b):{4I:b,4U:c};b=1k.3Y(b/d);1f 1g pp(b,b)}if(1>e)1f b=e-1,d=k.17j(d),a=-a+1k.3Y(a*a-d*b),1g pp(0,a/d);if(0>a)1f d=k.17j(d),1g pp(0,-a/d)};1d MV=1g k,50N=1g k,50M=1g k,kL=1g k,6uF=1g k,km=1g J,6uI=1g J,6uH=1g J,6uG=1g J,Wo=1g J,50L=1g J,50K=1g J,50J=1g k,6uE=1g k,6uD=1g T;ib.6uJ=1b(a,b){if(!g(a))1t 1g r("11j is 1X.");if(!g(b))1t 1g r("3c is 1X.");1d c=a.9X,d=a.2G;if(!k.2L(c,k.6h)){1d e=b.17N(c,MV);if(0<=k.2A(d,e))1f c}a=g(1a.1TV(a,b));1d f=b.3db(d,MV);e=k.1T(f,f);f=k.3da(f,kL);f=k.1T(k.4B(f,e,50N),50N);1d h=k.1T(k.4B(e,f,50M),50M);km[0]=e.x;km[1]=e.y;km[2]=e.z;km[3]=f.x;km[4]=f.y;km[5]=f.z;km[6]=h.x;km[7]=h.y;km[8]=h.z;f=J.1z0(km,6uI);e=J.1oY(b.10N,6uH);h=J.1oY(b.2zt,6uG);Wo[0]=0;Wo[1]=-d.z;Wo[2]=d.y;Wo[3]=d.z;Wo[4]=0;Wo[5]=-d.x;Wo[6]=-d.y;Wo[7]=d.x;Wo[8]=0;h=J.9b(J.9b(f,h,50L),Wo,50L);f=J.9b(J.9b(h,e,50K),km,50K);h=J.10r(h,c,6uF);1d l=k.11k(h,MV);h=f[J.3cP]-f[J.3d3];1d p=1*(0*su(f[J.3cQ],f[J.3cR],B.2aw)+l.y),n=0*f[J.3cS]+1*f[J.3d3]+0*l.x,z=1*su(f[J.3Al],f[J.3An],B.2aw);l=1*(0*su(f[J.3Am],f[J.3Ao])+l.z);f=[];if(0===l&&0===z){1d w=Rn.1KF(h,p,n);0!==w.1h&&(h=w[0],p=1k.3Y(1k.1V(1-h*h,0)),f.1q(1g k(0,1*h,-p)),f.1q(1g k(0,1*h,1*p)),2===w.1h&&(h=w[1],p=1k.3Y(1k.1V(1-h*h,0)),f.1q(1g k(0,1*h,-p)),f.1q(1g k(0,1*h,1*p))))}1s{w=l*l;1d x=z*z,m=l*z,t=h*h+x,q=2*(p*h+m);x=2*n*h+p*p-x+w;m=2*(n*p-m);if(0!==t||0!==q||0!==x||0!==m)if(w=4ie.1KF(t,q,x,m,n*n-w),t=w.1h,0!==t)1j(q=0;q<t;++q){m=w[q];1d G=m*m;x=1k.3Y(1k.1V(1-G,0));G=B.12q(h)===B.12q(n)?su(h*G+n,p*m,B.2iH):B.12q(n)===B.12q(p*m)?su(h*G,p*m+n,B.2iH):su(h*G+p*m,n,B.2iH);1d u=su(z*m,l,B.2aw);G*=u;0>G?f.1q(1g k(0,1*m,1*x)):0<G?f.1q(1g k(0,1*m,-x)):0!==x?(f.1q(1g k(0,1*m,-x)),f.1q(1g k(0,1*m,1*x)),++q):f.1q(1g k(0,1*m,1*x))}}z=f.1h;if(0<z){h=k.1y(k.6h,6uE);p=3a.1r7;1j(l=0;l<z;++l)n=J.10r(e,J.10r(km,f[l],50J),50J),w=k.1T(k.3V(n,c,kL),kL),w=k.2A(w,d),w>p&&(p=w,h=k.1y(n,h));d=b.10Z(h,6uD);p=B.2Y(p,0,1);c=k.7t(k.3V(h,c,kL))*1k.3Y(1-p*p);d.1D=a?-c:c;1f b.13B(d,1g k)}};1d 6uC=1g k;ib.1EQ=1b(a,b,c,d){if(!g(a))1t 1g r("9mW is 1X.");if(!g(b))1t 1g r("9mV is 1X.");if(!g(c))1t 1g r("12w is 1X.");g(d)||(d=1g k);b=k.3V(b,a,6uC);1d e=c.2U,f=k.2A(e,b);if(!(1k.abs(f)<B.1g9||(e=k.2A(e,a),c=-(c.3s+e)/f,0>c||1<c)))1f k.4g(b,c,d),k.add(a,d,d),d};ib.9mU=1b(a,b,c,d){if(!(g(a)&&g(b)&&g(c)&&g(d)))1t 1g r("p0, p1, p2, and 12w are 1X.");1d e=d.2U,f=d.3s,h=0>k.2A(e,a)+f,l=0>k.2A(e,b)+f;e=0>k.2A(e,c)+f;f=(h?1:0)+(l?1:0)+(e?1:0);if(1===f||2===f){1d p=1g k;1d n=1g k}if(1===f){if(h)1f ib.1EQ(a,b,d,p),ib.1EQ(a,c,d,n),{3q:[a,b,c,p,n],4N:[0,3,4,1,2,4,1,4,3]};if(l)1f ib.1EQ(b,c,d,p),ib.1EQ(b,a,d,n),{3q:[a,b,c,p,n],4N:[1,3,4,2,0,4,2,4,3]};if(e)1f ib.1EQ(c,a,d,p),ib.1EQ(c,b,d,n),{3q:[a,b,c,p,n],4N:[2,3,4,0,1,4,0,4,3]}}1s if(2===f)if(h){if(!l)1f ib.1EQ(c,b,d,p),ib.1EQ(a,b,d,n),{3q:[a,b,c,p,n],4N:[2,0,4,2,4,3,1,3,4]};if(!e)1f ib.1EQ(a,c,d,p),ib.1EQ(b,c,d,n),{3q:[a,b,c,p,n],4N:[0,1,4,0,4,3,2,3,4]}}1s 1f ib.1EQ(b,a,d,p),ib.1EQ(c,a,d,n),{3q:[a,b,c,p,n],4N:[1,2,4,1,4,3,0,3,4]}};Cb.1zd=1b(a,b,c){v.1N.2c("7v",a);v.1N.2c("2U",b);if(!B.5T(k.7t(b),1,B.1g9))1t 1g r("2U 2Q be 1A7.");a=-k.2A(b,a);if(!g(c))1f 1g Cb(b,a);k.1y(b,c.2U);c.3s=a;1f c};1d pE=1g k;Cb.1vu=1b(a,b){v.1N.2c("1w5",a);1d c=k.1vu(a,pE);a=a.w;if(!B.5T(k.7t(c),1,B.1g9))1t 1g r("2U 2Q be 1A7.");if(!g(b))1f 1g Cb(c,a);k.1y(c,b.2U);b.3s=a;1f b};Cb.2ao=1b(a,b){v.1N.2c("12w",a);v.1N.2c("7v",b);1f k.2A(a.2U,b)+a.3s};1d 6uB=1g k;Cb.1RH=1b(a,b,c){v.1N.2c("12w",a);v.1N.2c("7v",b);g(c)||(c=1g k);1d d=Cb.2ao(a,b);a=k.4g(a.2U,d,6uB);1f k.3V(b,a,c)};1d lL=1g k;Cb.5o=1b(a,b,c){v.1N.2c("12w",a);v.1N.2c("5o",b);A.1gE(b,a.2U,pE);k.1T(pE,pE);k.4g(a.2U,-a.3s,lL);A.8P(b,lL,lL);1f Cb.1zd(lL,pE,c)};Cb.1y=1b(a,b){v.1N.2c("12w",a);if(!g(b))1f 1g Cb(a.2U,a.3s);k.1y(a.2U,b.2U);b.3s=a.3s;1f b};Cb.2L=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);1f a.3s===b.3s&&k.2L(a.2U,b.2U)};Cb.6uA=1L.3F(1g Cb(k.16a,0));Cb.9mT=1L.3F(1g Cb(k.1dl,0));Cb.48m=1L.3F(1g Cb(k.1f5,0));1d Ed=1L.3F({2n7:.17I,3Au:60,9mS:60,9mR:24,3At:2HR,9mQ:4X6,1RF:309,3bY:6tE,9mP:1E-9,6uz:9mO.5}),hd=1L.3F({1IX:0,1hx:1}),50H=1g lx,mL=[31,28,31,30,31,30,31,31,30,31,30,31],mx=1g he,6uv=/^(\\d{4})$/,6uw=/^(\\d{4})-(\\d{2})$/,6uu=/^(\\d{4})-?(\\d{3})$/,6ut=/^(\\d{4})-?W(\\d{2})-?(\\d{1})?$/,6ux=/^(\\d{4})-?(\\d{2})-?(\\d{2})$/,NV=/([Z+\\-])?(\\d{2})?:?(\\d{2})?$/,6uo=/^(\\d{2})(\\.\\d+)?/.5j+NV.5j,6up=/^(\\d{2}):?(\\d{2})(\\.\\d+)?/.5j+NV.5j,6uq=/^(\\d{2}):?(\\d{2}):?(\\d{2})(\\.\\d+)?/.5j+NV.5j;M.6uy=1b(a,b){if(!(a 2m lx))1t 1g r("1sL 2Q be a 1eu 5h5.");a=cO(a.1Dt,a.1Pc,a.1IW,a.1Pe,a.1Pd,a.1hd,a.1Ti);if(!g(b))1f 1g M(a[0],a[1],hd.1IX);zr(a[0],a[1],b);kG(b);1f b};M.2dE=1b(a,b){if(!(a 2m 16V)||11I(a.1o3()))1t 1g r("1sL 2Q be a 1eu 4Cr 16V.");a=cO(a.9mN(),a.6us()+1,a.6ur(),a.9mM(),a.9mL(),a.9mK(),a.9mJ());if(!g(b))1f 1g M(a[0],a[1],hd.1IX);zr(a[0],a[1],b);kG(b);1f b};M.1r3=1b(a,b){if("4n"!==2h a)1t 1g r("13H 23Y 23X 1sL.");a=a.3X(",",".");1d c=a.7g("T"),d=1,e=1,f=0,h=0,l=0,p=0,n=c[0],k=c[1];if(!g(n))1t 1g r("13H 23Y 23X 1sL.");c=n.141(6ux);if(1F!==c){1d w=n.7g("-").1h-1;if(0<w&&2!==w)1t 1g r("13H 23Y 23X 1sL.");a=+c[1];d=+c[2];e=+c[3]}1s if(c=n.141(6uw),1F!==c)a=+c[1],d=+c[2];1s if(c=n.141(6uv),1F!==c)a=+c[1];1s{c=n.141(6uu);if(1F!==c){if(a=+c[1],d=+c[2],n=fB(a),1>d||n&&366<d||!n&&365<d)1t 1g r("13H 23Y 23X 1sL.");}1s if(c=n.141(6ut),1F!==c){a=+c[1];d=+c[2];e=+c[3]||0;w=n.7g("-").1h-1;if(0<w&&(!g(c[3])&&1!==w||g(c[3])&&2!==w))1t 1g r("13H 23Y 23X 1sL.");c=1g 16V(16V.1IX(a,0,4));d=7*d+e-c.9mI()-3}1s 1t 1g r("13H 23Y 23X 1sL.");c=1g 16V(16V.1IX(a,0,1));c.9mH(d);d=c.6us()+1;e=c.6ur()}n=fB(a);if(1>d||12<d||1>e||(2!==d||!n)&&e>mL[d-1]||n&&2===d&&29<e)1t 1g r("13H 23Y 23X 1sL.");if(g(k)){c=k.141(6uq);if(1F!==c){w=k.7g(":").1h-1;if(0<w&&2!==w&&3!==w)1t 1g r("13H 23Y 23X 1sL.");f=+c[1];h=+c[2];l=+c[3];p=1E3*+(c[4]||0);k=5}1s if(c=k.141(6up),1F!==c){w=k.7g(":").1h-1;if(2<w)1t 1g r("13H 23Y 23X 1sL.");f=+c[1];h=+c[2];l=60*+(c[3]||0);k=4}1s if(c=k.141(6uo),1F!==c)f=+c[1],h=60*+(c[2]||0),k=3;1s 1t 1g r("13H 23Y 23X 1sL.");if(60<=h||61<=l||24<f||24===f&&(0<h||0<l||0<p))1t 1g r("13H 23Y 23X 1sL.");w=+c[k+1];1d x=+(c[k+2]||0);6U(c[k]){1S"+":f-=w;h-=x;1W;1S"-":f+=w;h+=x;1W;1S"Z":1W;4T:h+=(1g 16V(16V.1IX(a,d-1,e,f,h))).5m3()}}1j((k=60===l)&&l--;60<=h;)h-=60,f++;1j(;24<=f;)f-=24,e++;1j(c=n&&2===d?29:mL[d-1];e>c;)e-=c,d++,12<d&&(d-=12,a++),c=n&&2===d?29:mL[d-1];1j(;0>h;)h+=60,f--;1j(;0>f;)f+=24,e--;1j(;1>e;)d--,1>d&&(d+=12,a--),c=n&&2===d?29:mL[d-1],e+=c;a=cO(a,d,e,f,h,l,p);g(b)?(zr(a[0],a[1],b),kG(b)):b=1g M(a[0],a[1],hd.1IX);k&&M.190(b,1,b);1f b};M.14H=1b(a){1f M.2dE(1g 16V,a)};1d nL=1g M(0,0,hd.1hx);M.2lG=1b(a,b){if(!g(a))1t 1g r("1EP is 1X.");1d c=!1,d=ZZ(a,nL);g(d)||(M.190(a,-1,nL),d=ZZ(nL,nL),c=!0);a=d.1mA;1d e=d.1mz;3jk<=e&&(a+=1);1d f=a+9mG|0,h=4*f/6un|0;f=f-((6un*h+3)/4|0)|0;1d l=4E3*(f+1)/9mF|0;f=f-(6um*l/4|0)+31|0;a=80*f/6ul|0;d=f-(6ul*a/80|0)|0;f=a/11|0;a=a+2-12*f|0;f=100*(h-49)+l+f|0;h=e/Ed.3At|0;1d p=e-h*Ed.3At;e=p/Ed.3Au|0;p-=e*Ed.3Au;l=p|0;p=(p-l)/Ed.2n7;h+=12;23<h&&(h-=24);c&&(l+=1);if(!g(b))1f 1g lx(f,a,d,h,e,l,p,c);b.1Dt=f;b.1Pc=a;b.1IW=d;b.1Pe=h;b.1Pd=e;b.1hd=l;b.1Ti=p;b.50I=c;1f b};M.6uk=1b(a){if(!g(a))1t 1g r("1EP is 1X.");a=M.2lG(a,50H);1d b=a.1hd;a.50I&&--b;1f 1g 16V(16V.1IX(a.1Dt,a.1Pc-1,a.1IW,a.1Pe,a.1Pd,b,a.1Ti))};M.1RK=1b(a,b){if(!g(a))1t 1g r("1EP is 1X.");1d c=M.2lG(a,50H);a=c.1Dt;1d d=c.1Pc,e=c.1IW,f=c.1Pe,h=c.1Pd,l=c.1hd;c=c.1Ti;1E4===a&&1===d&&1===e&&0===f&&0===h&&0===l&&0===c&&(a=1Ax,d=12,e=31,f=24);if(!g(b)&&0!==c)1f b=(.11t*c).5s().3X(".",""),kx("%50G-%1FN-%50F%1FN:%1FN:%1FN.%sZ",a,d,e,f,h,l,b);if(!g(b)||0===b)1f kx("%50G-%1FN-%50F%1FN:%1FN:%9mE",a,d,e,f,h,l);b=(.11t*c).1mf(b).3X(".","").4h(0,b);1f kx("%50G-%1FN-%50F%1FN:%1FN:%1FN.%sZ",a,d,e,f,h,l,b)};M.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g M(a.1mA,a.1mz,hd.1hx);b.1mA=a.1mA;b.1mz=a.1mz;1f b}};M.1iF=1b(a,b){if(!g(a))1t 1g r("3B is 1X.");if(!g(b))1t 1g r("2W is 1X.");1d c=a.1mA-b.1mA;1f 0!==c?c:a.1mz-b.1mz};M.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.1mA===b.1mA&&a.1mz===b.1mz};M.5T=1b(a,b,c){if(!g(c))1t 1g r("1fk is 1X.");1f a===b||g(a)&&g(b)&&1k.abs(M.1dA(a,b))<=c};M.4VC=1b(a){if(!g(a))1t 1g r("1EP is 1X.");1f a.1mA+a.1mz/Ed.1RF};M.1dA=1b(a,b){if(!g(a))1t 1g r("3B is 1X.");if(!g(b))1t 1g r("2W is 1X.");1f(a.1mA-b.1mA)*Ed.1RF+(a.1mz-b.1mz)};M.6uj=1b(a,b){if(!g(a))1t 1g r("3B is 1X.");if(!g(b))1t 1g r("2W is 1X.");1f a.1mA-b.1mA+(a.1mz-b.1mz)/Ed.1RF};M.3jc=1b(a){mx.1EP=a;a=M.3As;1d b=Ah(a,mx,bO);0>b&&(b=~b,--b,0>b&&(b=0));1f a[b].2M};M.190=1b(a,b,c){if(!g(a))1t 1g r("1EP is 1X.");if(!g(b))1t 1g r("9mD is 1X.");if(!g(c))1t 1g r("4D is 1X.");1f zr(a.1mA,a.1mz+b,c)};M.4GZ=1b(a,b,c){if(!g(a))1t 1g r("1EP is 1X.");if(!g(b))1t 1g r("9mC is 1X.");if(!g(c))1t 1g r("4D is 1X.");1f zr(a.1mA,a.1mz+b*Ed.3Au,c)};M.9mB=1b(a,b,c){if(!g(a))1t 1g r("1EP is 1X.");if(!g(b))1t 1g r("9mA is 1X.");if(!g(c))1t 1g r("4D is 1X.");1f zr(a.1mA,a.1mz+b*Ed.3At,c)};M.50E=1b(a,b,c){if(!g(a))1t 1g r("1EP is 1X.");if(!g(b))1t 1g r("9mz is 1X.");if(!g(c))1t 1g r("4D is 1X.");1f zr(a.1mA+b,a.1mz,c)};M.1ib=1b(a,b){1f 0>M.1iF(a,b)};M.19D=1b(a,b){1f 0>=M.1iF(a,b)};M.1bP=1b(a,b){1f 0<M.1iF(a,b)};M.9Y=1b(a,b){1f 0<=M.1iF(a,b)};M.1i.1y=1b(a){1f M.1y(1a,a)};M.1i.2L=1b(a){1f M.2L(1a,a)};M.1i.5T=1b(a,b){1f M.5T(1a,a,b)};M.1i.5s=1b(){1f M.1RK(1a)};M.3As=[1g he(1g M(9my,9mx,hd.1hx),10),1g he(1g M(9mw,9mv,hd.1hx),11),1g he(1g M(9mu,9mt,hd.1hx),12),1g he(1g M(9ms,9mr,hd.1hx),13),1g he(1g M(9mq,9mp,hd.1hx),14),1g he(1g M(9mo,9mn,hd.1hx),15),1g he(1g M(9mm,9ml,hd.1hx),16),1g he(1g M(9mk,9mj,hd.1hx),17),1g he(1g M(9mi,9mh,hd.1hx),18),1g he(1g M(9mg,9mf,hd.1hx),19),1g he(1g M(9me,9md,hd.1hx),20),1g he(1g M(9mc,9mb,hd.1hx),21),1g he(1g M(9ma,9m9,hd.1hx),22),1g he(1g M(9m8,9m7,hd.1hx),23),1g he(1g M(9m6,9m5,hd.1hx),24),1g he(1g M(9m4,9m3,hd.1hx),25),1g he(1g M(9m2,9m1,hd.1hx),26),1g he(1g M(9m0,9lZ,hd.1hx),27),1g he(1g M(9lY,9lX,hd.1hx),28),1g he(1g M(9lW,9lV,hd.1hx),29),1g he(1g M(9lU,9lT,hd.1hx),30),1g he(1g M(9lS,9lR,hd.1hx),31),1g he(1g M(9lQ,6ui,hd.1hx),32),1g he(1g M(9lP,9lO,hd.1hx),33),1g he(1g M(9lN,9lM,hd.1hx),34),1g he(1g M(9lL,9lK,hd.1hx),35),1g he(1g M(9lJ,9lI,hd.1hx),36),1g he(1g M(9lH,9lG,hd.1hx),37)];gB.6i=1L.3F({50j:1b(){1f Z()},2Ho:1b(a,b){g(b)?(b.2EX=0,b.2EW=0,b.2RD=0,b.2RC=0,b.2RB=0):b=1g jG(0,0,0,0,0);1f b}});gB.1i.50j=1b(){1f Z(1a.50D)};gB.1i.2Ho=1b(a,b){if(g(1a.2rM)){g(b)||(b=1g jG(0,0,0,0,0));if(0===1a.2rM.1h)1f b.2EX=0,b.2EW=0,b.2RD=0,b.2RC=0,b.2RB=0,b;1d c=1a.50C,d=1a.4bh;if(g(d)){1d e=c[d+1];1d f=M.19D(c[d],a),h=!g(e),l=h||M.9Y(e,a);if(f&&l)1f!h&&e.2L(a)&&++d,1zx(1a,c,1a.2rM,a,d,d+1,b),b}e=Ah(c,a,M.1iF,1a.50B);0<=e?(e<c.1h-1&&c[e+1].2L(a)&&++e,d=e):(e=~e,d=e-1,0>d&&(d=0));1a.4bh=d;1zx(1a,c,1a.2rM,a,d,e,b);1f b}if(g(1a.2RG))1t 1g qa(1a.2RG);};$b.1fE=1b(a,b){if(!g(a))1t 1g r("1zz is 1X");g(b)||(b=1g $b);1d c=2*(a.w*a.y-a.z*a.x),d=1-2*(a.x*a.x+a.y*a.y),e=2*(a.w*a.x+a.y*a.z);b.8e=-1k.12B(2*(a.w*a.z+a.x*a.y),1-2*(a.y*a.y+a.z*a.z));b.12C=1k.12B(e,d);b.8q=-B.6uh(c);1f b};$b.8g=1b(a,b,c,d){if(!g(a))1t 1g r("8e is 1X");if(!g(b))1t 1g r("8q is 1X");if(!g(c))1t 1g r("12C is 1X");g(d)||(d=1g $b);d.8e=a*B.15y;d.8q=b*B.15y;d.12C=c*B.15y;1f d};$b.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g $b(a.8e,a.8q,a.12C);b.8e=a.8e;b.8q=a.8q;b.12C=a.12C;1f b}};$b.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.8e===b.8e&&a.8q===b.8q&&a.12C===b.12C};$b.5T=1b(a,b,c,d){1f a===b||g(a)&&g(b)&&B.5T(a.8e,b.8e,c,d)&&B.5T(a.8q,b.8q,c,d)&&B.5T(a.12C,b.12C,c,d)};$b.1i.1y=1b(a){1f $b.1y(1a,a)};$b.1i.2L=1b(a){1f $b.2L(1a,a)};$b.1i.5T=1b(a,b,c){1f $b.5T(1a,a,b,c)};$b.1i.5s=1b(){1f"("+1a.8e+", "+1a.8q+", "+1a.12C+")"};1d 6ug=1g M(0,0,hd.1hx);lG.1i.50k=1b(a,b,c,d){a=fO(1a,a,b);d=fO(1a,c,d);c=a/1a.2RE-1a.3d9/2|0;0>c&&(c=0);d=d/1a.2RE-1a.3d9/2|0+1a.3d9;d>=1a.2RF&&(d=1a.2RF-1);d=d/1a.3d8|0;a=[];1j(c=c/1a.3d8|0;c<=d;++c)a.1q(gO(1a,c));1f Z.all(a)};lG.1i.6tG=1b(a,b,c){1d d=fO(1a,a,b);if(!(0>d||(b=d/1a.2RE|0,b>=1a.2RF))){a=1a.3d9;b-=a/2|0;0>b&&(b=0);1d e=b+a;e>=1a.2RF&&(e=1a.2RF-1,b=e-a,0>b&&(b=0));1d f=!1,h=1a.2rM;g(h[3*b])||(gO(1a,b/1a.3d8|0),f=!0);g(h[3*e])||(gO(1a,e/1a.3d8|0),f=!0);if(!f){g(c)?(c.x=0,c.y=0,c.s=0):c=1g eO(0,0,0);1d l=d-b*1a.2RE;d=1a.6uf;e=1a.6ue;f=1a.6ud;1d p=1a.457,n;1j(n=0;n<=a;++n)d[n]=l-p[n];1j(n=0;n<=a;++n){f[n]=1;1j(l=0;l<=a;++l)l!==n&&(f[n]*=d[l]);f[n]*=e[n];l=3*(b+n);c.x+=f[n]*h[l++];c.y+=f[n]*h[l++];c.s+=f[n]*h[l]}1f c}}};1d rw,Kf={2iO:1p 0,2rL:1p 0,3d6:1p 0,2wC:1p 0,3d5:1p 0,3d4:1p 0},ge={};1L.2X(ge,{1ij:{1n:1b(){if(ge.2iN())1f 3n[Kf.2wC]}},3j7:{1n:1b(){if(ge.2iN())1f Kf.3d5}},9lF:{1n:1b(){if(ge.2iN())1f Kf.3d4}},3e:{1n:1b(){if(ge.2iN())1f 3n[Kf.3d6]}},3d7:{1n:1b(){if(ge.2iN())1f 1F!==ge.1ij}}});ge.2iN=1b(){if(g(rw))1f rw;rw=!1;1d a=3n.1hg;if("1b"===2h a.2iO)1f Kf.2iO="2iO",Kf.2rL="2rL",Kf.3d6="3d6",Kf.2wC="2wC",Kf.3d5="3d5",Kf.3d4="3d4",rw=!0;1j(1d b=["3jo","49q","o","ms","9lE"],c,d=0,e=b.1h;d<e;++d){1d f=b[d];c=f+"9lD";"1b"===2h a[c]?(Kf.2iO=c,rw=!0):(c=f+"9lC","1b"===2h a[c]&&(Kf.2iO=c,rw=!0));c=f+"9lB";"1b"===2h 3n[c]?Kf.2rL=c:(c=f+"9lA","1b"===2h 3n[c]&&(Kf.2rL=c));c=f+"9lz";1p 0!==3n[c]?Kf.3d6=c:(c=f+"9ly",1p 0!==3n[c]&&(Kf.3d6=c));c=f+"9lx";1p 0!==3n[c]?Kf.2wC=c:(c=f+"9lw",1p 0!==3n[c]&&(Kf.2wC=c));c=f+"3d5";1p 0!==3n["on"+c]&&("ms"===f&&(c="9lv"),Kf.3d5=c);c=f+"3d4";1p 0!==3n["on"+c]&&("ms"===f&&(c="9lu"),Kf.3d4=c)}1f rw};ge.2iO=1b(a,b){if(ge.2iN())a[Kf.2iO]({9lt:b})};ge.2rL=1b(){if(ge.2iN())3n[Kf.2rL]()};ge.9ls=Kf;1d oj="7w"!==2h 1Pu?1Pu:{};1d mG,50A,nG,3r1,oG,iO,jB,jO,pG,50w,qG,50v,OV,PV,QV,50s,lO,uu,Ar,oL=[];"7w"!==2h 1aq&&(oL.1q(1G4,4L,1FS,10Y,1fZ,12X,4A,13X),"7w"!==2h 2OB&&oL.1q(2OB),"7w"!==2h 6uc&&oL.1q(6uc));1d Nc={6ub:hO,9lr:1b(){1f hO()&&50A},4DV:50z,9lq:1b(){1f 50z()&&3r1},9lp:50y,9lo:1b(){1f 50y()&&iO},2Du:50x,9ln:1b(){1f 50x()&&jO},4bg:iB,9lm:1b(){1f iB()&&50w},6ua:kO,9ll:1b(){1f kO()&&50v},6u9:1b(){g(OV)||(OV=/9lk/i.6S(oj.9lj));1f OV},9li:1b(){g(PV)||(PV="2c"===2h 1pt&&"[2c 1pt]"===1L.1i.5s.4G(1pt));1f PV},46T:m(oj.46T,3),1Tj:1b(){g(QV)||(QV=!kO()&&"7w"!==2h 9lh&&(!g(oj.6u8)||oj.6u8));1f QV},6u7:50t,46V:50u,6c4:1b(){g(Ar)||50u();1f uu},6u6:1b(){1f 50t()?50s:1p 0},6u5:oL,4ku:1b(){1d a=7O.1Pu.1LZ.18v(),b="6u4"==a.141(/6u4/i),c="6u3 os"==a.141(/6u3 os/i),d="6u2"==a.141(/6u2/i),e="rv:1.2.3.4"==a.141(/rv:1.2.3.4/i),f="6u1"==a.141(/6u1/i),h="4Mb"==a.141(/4Mb/i),l="3vh ce"==a.141(/3vh ce/i);a="3vh 34h"==a.141(/3vh 34h/i);1f b||c||d||e||f||h||l||a?!1:!0},2iN:1b(){1f ge.2iN()},2zu:1b(){1f"7w"!==2h 1aq},9lg:1b(){1f"7w"!==2h 3vx},6u0:1b(){1f"7w"!==2h 1zn&&!Nc.4bg()},9lf:1b(){1f"7w"!==2h 3Ol&&!Nc.4bg()}},qE=1g k;ca.1gG=1b(a,b,c){v.1N.2c("1Dm",a);v.1N.2b("8f",b);b/=2;1d d=1k.2T(b);qE=k.1T(a,qE);a=qE.x*d;1d e=qE.y*d;d*=qE.z;b=1k.3i(b);if(!g(c))1f 1g ca(a,e,d,b);c.x=a;c.y=e;c.z=d;c.w=b;1f c};1d 50r=[1,2,0],dA=2K(3);ca.1UQ=1b(a,b){v.1N.2c("8W",a);1d c=a[J.3cS];1d d=a[J.3cP];1d e=a[J.3d3];1d f=c+d+e;if(0<f)d=1k.3Y(f+1),c=.5*d,d=.5/d,f=(a[J.3An]-a[J.3Al])*d,e=(a[J.3Am]-a[J.3Ao])*d,a=(a[J.3cR]-a[J.3cQ])*d;1s{f=0;d>c&&(f=1);e>c&&e>d&&(f=2);e=50r[f];1d h=50r[e];d=1k.3Y(a[J.1w1(f,f)]-a[J.1w1(e,e)]-a[J.1w1(h,h)]+1);dA[f]=.5*d;d=.5/d;c=(a[J.1w1(h,e)]-a[J.1w1(e,h)])*d;dA[e]=(a[J.1w1(e,f)]+a[J.1w1(f,e)])*d;dA[h]=(a[J.1w1(h,f)]+a[J.1w1(f,h)])*d;f=-dA[0];e=-dA[1];a=-dA[2]}if(!g(b))1f 1g ca(f,e,a,c);b.x=f;b.y=e;b.z=a;b.w=c;1f b};1d 50p=1g ca,50o=1g ca,RV=1g ca,50q=1g ca;ca.28d=1b(a,b){v.1N.2c("39r",a);50q=ca.1gG(k.1dl,a.12C,50p);RV=ca.1gG(k.1f5,-a.8q,b);b=ca.9b(RV,50q,RV);50o=ca.1gG(k.16a,-a.8e,50p);1f ca.9b(50o,b,b)};1d pL=1g k,SV=1g k,zn=1g ca,50n=1g ca,qL=1g ca;ca.4q=4;ca.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a.x;b[c++]=a.y;b[c++]=a.z;b[c]=a.w;1f b};ca.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g ca);c.x=a[b];c.y=a[b+1];c.z=a[b+2];c.w=a[b+3];1f c};ca.49H=3;ca.3vS=1b(a,b,c,d){ca.5f(a,4*c,qL);ca.3zo(qL,qL);1d e=0;1j(c=c-b+1;e<c;e++){1d f=3*e;ca.5f(a,4*(b+e),zn);ca.9b(zn,qL,zn);0>zn.w&&ca.11k(zn,zn);ca.6tY(zn,pL);1d h=ca.6tX(zn);d[f]=pL.x*h;d[f+1]=pL.y*h;d[f+2]=pL.z*h}};ca.3vQ=1b(a,b,c,d,e){g(e)||(e=1g ca);k.7j(a,0,SV);a=k.7t(SV);ca.5f(b,4*d,50n);0===a?ca.1y(ca.8K,zn):ca.1gG(SV,a,zn);1f ca.9b(zn,50n,e)};ca.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g ca(a.x,a.y,a.z,a.w);b.x=a.x;b.y=a.y;b.z=a.z;b.w=a.w;1f b}};ca.3zo=1b(a,b){v.1N.2c("1zz",a);v.1N.2c("4D",b);b.x=-a.x;b.y=-a.y;b.z=-a.z;b.w=a.w;1f b};ca.17j=1b(a){v.1N.2c("1zz",a);1f a.x*a.x+a.y*a.y+a.z*a.z+a.w*a.w};ca.7t=1b(a){1f 1k.3Y(ca.17j(a))};ca.1T=1b(a,b){v.1N.2c("4D",b);1d c=1/ca.7t(a),d=a.y*c,e=a.z*c,f=a.w*c;b.x=a.x*c;b.y=d;b.z=e;b.w=f;1f b};ca.12Z=1b(a,b){v.1N.2c("4D",b);1d c=ca.17j(a);b=ca.3zo(a,b);1f ca.4g(b,1/c,b)};ca.add=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x+b.x;c.y=a.y+b.y;c.z=a.z+b.z;c.w=a.w+b.w;1f c};ca.3V=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.x=a.x-b.x;c.y=a.y-b.y;c.z=a.z-b.z;c.w=a.w-b.w;1f c};ca.11k=1b(a,b){v.1N.2c("1zz",a);v.1N.2c("4D",b);b.x=-a.x;b.y=-a.y;b.z=-a.z;b.w=-a.w;1f b};ca.2A=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);1f a.x*b.x+a.y*b.y+a.z*b.z+a.w*b.w};ca.9b=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);1d d=a.x,e=a.y,f=a.z;a=a.w;1d h=b.x,l=b.y,g=b.z;b=b.w;c.x=a*h+d*b+e*g-f*l;c.y=a*l-d*g+e*b+f*h;c.z=a*g+d*l-e*h+f*b;c.w=a*b-d*h-e*l-f*g;1f c};ca.6tZ=1b(a,b,c){1d d=1g k,e=1g k,f=1g k(a.x,a.y,a.z);d=k.4B(f,b,d);k.4B(f,d,e);e=1g k;e=k.4g(d,2*a.w,e);a=1g k;a=k.4g(d,2,a);c=k.add(b,e,c);1f c=k.add(c,a,c)};ca.4g=1b(a,b,c){v.1N.2c("1zz",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c.x=a.x*b;c.y=a.y*b;c.z=a.z*b;c.w=a.w*b;1f c};ca.1eE=1b(a,b,c){v.1N.2c("1zz",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c.x=a.x/b;c.y=a.y/b;c.z=a.z/b;c.w=a.w/b;1f c};ca.6tY=1b(a,b){v.1N.2c("1zz",a);v.1N.2c("4D",b);1d c=a.w;if(1k.abs(c-1)<B.1g9)1f b.x=b.y=b.z=0,b;c=1/1k.3Y(1-c*c);b.x=a.x*c;b.y=a.y*c;b.z=a.z*c;1f b};ca.6tX=1b(a){v.1N.2c("1zz",a);1f 1k.abs(a.w-1)<B.1g9?0:2*1k.1cz(a.w)};1d TV=1g ca;ca.11x=1b(a,b,c,d){v.1N.2c("4I",a);v.1N.2c("9o",b);v.1N.2b("t",c);v.1N.2c("4D",d);TV=ca.4g(b,c,TV);d=ca.4g(a,1-c,d);1f ca.add(TV,d,d)};1d 50m=1g ca,UV=1g ca,VV=1g ca;ca.2vW=1b(a,b,c,d){v.1N.2c("4I",a);v.1N.2c("9o",b);v.1N.2b("t",c);v.1N.2c("4D",d);1d e=ca.2A(a,b),f=b;0>e&&(e=-e,f=50m=ca.11k(b,50m));if(1-e<B.1g9)1f ca.11x(a,f,c,d);b=1k.1cz(e);UV=ca.4g(a,1k.2T((1-c)*b),UV);VV=ca.4g(f,1k.2T(c*b),VV);d=ca.add(UV,VV,d);1f ca.4g(d,1/1k.2T(b),d)};ca.7k=1b(a,b){v.1N.2c("1zz",a);v.1N.2c("4D",b);1d c=B.1UX(a.w),d=0;0!==c&&(d=c/1k.2T(c));1f k.4g(a,d,b)};ca.108=1b(a,b){v.1N.2c("16L",a);v.1N.2c("4D",b);1d c=k.7t(a),d=0;0!==c&&(d=1k.2T(c)/c);b.x=a.x*d;b.y=a.y*d;b.z=a.z*d;b.w=1k.3i(c);1f b};1d 6tW=1g k,6tV=1g k,rE=1g ca,eA=1g ca;ca.9le=1b(a,b,c,d){v.1N.2c("q0",a);v.1N.2c("q1",b);v.1N.2c("q2",c);v.1N.2c("4D",d);1d e=ca.3zo(b,rE);ca.9b(e,c,eA);c=ca.7k(eA,6tW);ca.9b(e,a,eA);a=ca.7k(eA,6tV);k.add(c,a,c);k.4g(c,.25,c);k.11k(c,c);ca.108(c,rE);1f ca.9b(b,rE,d)};ca.9ld=1b(a,b,c,d,e,f){v.1N.2c("q0",a);v.1N.2c("q1",b);v.1N.2c("s0",c);v.1N.2c("s1",d);v.1N.2b("t",e);v.1N.2c("4D",f);a=ca.2vW(a,b,e,rE);c=ca.2vW(c,d,e,eA);1f ca.2vW(a,c,2*e*(1-e),f)};1j(1d 6tU=1g ca,rL=Nc.2zu()?1g 4A(8):[],sL=Nc.2zu()?1g 4A(8):[],Pq=Nc.2zu()?1g 4A(8):[],Qq=Nc.2zu()?1g 4A(8):[],sE=0;7>sE;++sE){1d WV=sE+1,50l=2*WV+1;rL[sE]=1/(WV*50l);sL[sE]=WV/50l}rL[7]=.9lc;sL[7]=.9lb;ca.3Ar=1b(a,b,c,d){v.1N.2c("4I",a);v.1N.2c("9o",b);v.1N.2b("t",c);v.1N.2c("4D",d);1d e=ca.2A(a,b);if(0<=e)1d f=1;1s f=-1,e=-e;1d h=e-1;e=1-c;1j(1d l=c*c,g=e*e,n=7;0<=n;--n)Pq[n]=(rL[n]*l-sL[n])*h,Qq[n]=(rL[n]*g-sL[n])*h;c=f*c*(1+Pq[0]*(1+Pq[1]*(1+Pq[2]*(1+Pq[3]*(1+Pq[4]*(1+Pq[5]*(1+Pq[6]*(1+Pq[7]))))))));a=ca.4g(a,e*(1+Qq[0]*(1+Qq[1]*(1+Qq[2]*(1+Qq[3]*(1+Qq[4]*(1+Qq[5]*(1+Qq[6]*(1+Qq[7])))))))),6tU);ca.4g(b,c,d);1f ca.add(a,d,d)};ca.9la=1b(a,b,c,d,e,f){v.1N.2c("q0",a);v.1N.2c("q1",b);v.1N.2c("s0",c);v.1N.2c("s1",d);v.1N.2b("t",e);v.1N.2c("4D",f);a=ca.3Ar(a,b,e,rE);c=ca.3Ar(c,d,e,eA);1f ca.3Ar(a,c,2*e*(1-e),f)};ca.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.x===b.x&&a.y===b.y&&a.z===b.z&&a.w===b.w};ca.5T=1b(a,b,c){v.1N.2b("1fk",c);1f a===b||g(a)&&g(b)&&1k.abs(a.x-b.x)<=c&&1k.abs(a.y-b.y)<=c&&1k.abs(a.z-b.z)<=c&&1k.abs(a.w-b.w)<=c};ca.6h=1L.3F(1g ca(0,0,0,0));ca.8K=1L.3F(1g ca(0,0,0,1));ca.1i.1y=1b(a){1f ca.1y(1a,a)};ca.1i.2L=1b(a){1f ca.2L(1a,a)};ca.1i.5T=1b(a,b){1f ca.5T(1a,a,b)};ca.1i.5s=1b(){1f"("+1a.x+", "+1a.y+", "+1a.z+", "+1a.w+")"};1d Da={},XV={up:{4C:"5a",4P:"4o",4o:"4C",5a:"4P"},1fK:{4C:"4o",4P:"5a",4o:"4P",5a:"4C"},4C:{up:"4o",1fK:"5a",4o:"1fK",5a:"up"},4P:{up:"5a",1fK:"4o",4o:"up",5a:"1fK"},4o:{up:"4P",1fK:"4C",4P:"1fK",4C:"up"},5a:{up:"4C",1fK:"4P",4P:"up",4C:"1fK"}},fA={4P:[-1,0,0],5a:[0,1,0],up:[0,0,1],4C:[1,0,0],4o:[0,-1,0],1fK:[0,0,-1]},YV={},Yj={5a:1g k,4P:1g k,up:1g k,4o:1g k,4C:1g k,1fK:1g k},mt=1g k,nt=1g k,ot=1g k;Da.2Cf=1b(a,b){if(!XV.3p(a)||!XV[a].3p(b))1t 1g r("9l9 and 9l8 2Q be 5a, 4P, up, 4o, 4C or 1fK.");1d c=XV[a][b],d=a+b;if(g(YV[d]))1d e=YV[d];1s e=1b(d,e,l){if(!g(d))1t 1g r("9X is 1X.");g(l)||(l=1g A);if(k.5T(d,k.6h,B.1sW))k.5f(fA[a],0,mt),k.5f(fA[b],0,nt),k.5f(fA[c],0,ot);1s if(B.5T(d.x,0,B.1sW)&&B.5T(d.y,0,B.1sW))e=B.12q(d.z),k.5f(fA[a],0,mt),"5a"!==a&&"4o"!==a&&k.4g(mt,e,mt),k.5f(fA[b],0,nt),"5a"!==b&&"4o"!==b&&k.4g(nt,e,nt),k.5f(fA[c],0,ot),"5a"!==c&&"4o"!==c&&k.4g(ot,e,ot);1s{e=m(e,ba.9y);e.17N(d,Yj.up);e=Yj.up;1d f=Yj.5a;f.x=-d.y;f.y=d.x;f.z=0;k.1T(f,Yj.5a);k.4B(e,f,Yj.4P);k.4g(Yj.up,-1,Yj.1fK);k.4g(Yj.5a,-1,Yj.4o);k.4g(Yj.4P,-1,Yj.4C);mt=Yj[a];nt=Yj[b];ot=Yj[c]}l[0]=mt.x;l[1]=mt.y;l[2]=mt.z;l[3]=0;l[4]=nt.x;l[5]=nt.y;l[6]=nt.z;l[7]=0;l[8]=ot.x;l[9]=ot.y;l[10]=ot.z;l[11]=0;l[12]=d.x;l[13]=d.y;l[14]=d.z;l[15]=1;1f l},YV[d]=e;1f e};Da.18N=Da.2Cf("5a","4P");Da.9l7=Da.2Cf("4P","5a");Da.9l6=Da.2Cf("4P","up");Da.9l5=Da.2Cf("4P","4o");1d 6tT=1g ca,6tS=1g k(1,1,1),6tR=1g A;Da.1nq=1b(a,b,c,d,e){v.1N.2c("4iH",b);d=m(d,Da.18N);b=ca.28d(b,6tT);b=A.2yB(k.6h,b,6tS,6tR);e=d(a,c,e);1f A.9b(e,b,e)};1d 6tQ=1g A,6tP=1g J;Da.2LY=1b(a,b,c,d,e){v.1N.2c("4iH",b);a=Da.1nq(a,b,c,d,6tQ);a=A.2Dt(a,6tP);1f ca.1UQ(a,e)};1d 6tN=1g k(1,1,1),6tO=1g k,$ea=1g A,6tM=1g A,6tL=1g J,6tK=1g ca;Da.9l4=1b(a,b,c,d){v.2l("5o",a);b=m(b,ba.9y);c=m(c,Da.18N);g(d)||(d=1g $b);1d e=A.1Um(a,6tO);if(k.2L(e,k.6h))1f d.8e=0,d.8q=0,d.12C=0,d;b=A.1yQ(c(e,b,$ea),$ea);a=A.2m8(a,6tN,6tM);a=A.1Bh(a,k.6h,a);b=A.9b(b,a,b);a=ca.1UQ(A.2Dt(b,6tL),6tK);a=ca.1T(a,a);1f $b.1fE(a,d)};1d 6tI=B.14C/309,tL=1g M;Da.2yN=1b(a,b){if(!g(a))1t 1g r("1sL is 1X.");tL=M.190(a,-M.3jc(a),tL);a=tL.1mA;1d c=tL.1mz;1d d=a-2QK;d=3jk<=c?(d+.5)/Ed.3bY:(d-.5)/Ed.3bY;c=(9l3.6tJ+d*(9l2.9l1+d*(.9l0+-6.2E-6*d)))*6tI%B.14C+(c+.5*Ed.1RF)%Ed.1RF*(7.9kZ-5+1.9kY-19*(a-2QK.5));a=1k.3i(c);c=1k.2T(c);if(!g(b))1f 1g J(a,c,0,-c,a,0,0,0,1);b[0]=a;b[1]=-c;b[2]=0;b[3]=c;b[4]=a;b[5]=0;b[6]=0;b[7]=0;b[8]=1;1f b};Da.50h=1g lG;Da.50i=gB.6i;Da.9kW=1b(a){a=Da.50h.50k(a.4I.1mA,a.4I.1mz+32.184,a.4U.1mA,a.4U.1mz+32.184);1d b=Da.50i.50j();1f Z.all([a,b])};Da.3nJ=1b(a,b){if(!g(a))1t 1g r("1sL is 1X.");g(b)||(b=1g J);a=Da.44D(a,b);if(g(a))1f J.1z0(a,b)};1d 6tF=1g eO(0,0,0),6tH=1g jG(0,0,0,0,0,0),lm=1g J,mm=1g J;Da.44D=1b(a,b){if(!g(a))1t 1g r("1sL is 1X.");g(b)||(b=1g J);1d c=Da.50i.2Ho(a,6tH);if(g(c)){1d d=a.1mA,e=a.1mz+32.184,f=Da.50h.6tG(d,e,6tF);if(g(f)){1d h=f.x+c.2RD,l=f.y+c.2RC,p=1/(1+1k.3Y(1-h*h-l*l));lm[0]=1-p*h*h;lm[3]=-p*h*l;lm[6]=h;lm[1]=-p*h*l;lm[4]=1-p*l*l;lm[7]=l;lm[2]=-h;lm[5]=-l;lm[8]=1-p*(h*h+l*l);f=J.2Qf(-f.s,mm);f=J.9b(lm,f,lm);h=a.1mA;a=(a.1mz-M.3jc(a)+c.2RB)/Ed.1RF;a=(.9kV+a+.9kU*(h-2QK+a))%1*B.14C;a=J.2Qf(a,mm);a=J.9b(f,a,lm);f=1k.3i(c.2EX);h=1k.3i(c.2EW);l=1k.2T(c.2EX);c=1k.2T(c.2EW);e=(d-2QK+e/Ed.1RF)/6tE*-4.7E-5*B.15y/2HR;d=1k.3i(e);e=1k.2T(e);mm[0]=f*d;mm[1]=f*e;mm[2]=l;mm[3]=-h*e+c*l*d;mm[4]=h*d+c*l*e;mm[5]=-c*f;mm[6]=-c*e-h*l*d;mm[7]=c*d-h*l*e;mm[8]=h*f;1f J.9b(a,mm,b)}}};1d pt=1g E;Da.5Sn=1b(a,b,c,d){d=Da.2Kn(a,b,c,d);d.y=2*b[5]-d.y;1f d};Da.2Kn=1b(a,b,c,d){if(!g(a))1t 1g r("9kT is 1X.");if(!g(b))1t 1g r("3Zj is 1X.");if(!g(c))1t 1g r("7v is 1X.");g(d)||(d=1g C);A.10r(a,E.9v(c.x,c.y,c.z,1,pt),pt);E.4g(pt,1/pt.w,pt);A.10r(b,pt,pt);1f C.1vu(pt,d)};1d 6tD=1g k,6tC=1g k,6tB=1g k;Da.67j=1b(a,b,c,d){if(!g(a))1t 1g r("1K is 1X.");if(!g(b))1t 1g r("1c9 is 1X.");a=m(c,ba.9y).17N(a,6tD);a=k.4B(b,a,6tC);k.5T(a,k.6h,B.1g9)&&(a=k.1y(k.1dl,a));c=k.4B(a,b,6tB);k.1T(c,c);k.4B(b,c,a);k.11k(a,a);k.1T(a,a);g(d)||(d=1g J);d[0]=b.x;d[1]=b.y;d[2]=b.z;d[3]=a.x;d[4]=a.y;d[5]=a.z;d[6]=c.x;d[7]=c.y;d[8]=c.z;1f d};1d afa=1g A(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),50e=1g T,44h=1g k,6tA=1g k,6tz=1g J,ZV=1g A,50f=1g A;Da.3b0=1b(a,b,c){if(!g(a))1t 1g r("18T is 1X.");if(!g(b))1t 1g r("8W is 1X.");if(!g(c))1t 1g r("4D is 1X.");1d d=A.1Um(b,6tA),e=a.3c,f=e.10Z(d,50e);a=a.12z(f,44h);k.9v(a.z,a.x,a.y,a);d=Da.18N(d,e,ZV);d=A.1yQ(d,50f);b=A.2Dt(b,6tz);b=A.3UZ(d,b,c);A.9b(afa,b,c);A.1Bh(c,a,c);1f c};Da.50g=1b(a,b,c){if(!g(a))1t 1g r("18T is 1X.");if(!g(b))1t 1g r("2V is 1X.");if(!g(c))1t 1g r("4D is 1X.");1d d=a.3c,e=Da.18N(b,d,ZV);e=A.1yQ(e,50f);b=d.10Z(b,50e);a=a.12z(b,44h);k.9v(a.z,a.x,a.y,a);a=A.1PY(a,ZV);A.9b(afa,e,c);A.9b(a,c,c);1f c};Da.50d=1b(a,b){b=b.1y();a=a.1y();a=k.1T(a,a);1<=1k.abs(k.2A(a,b))&&(a=1>1k.abs(k.2A(b,k.1f5))?k.1y(k.1f5,a):k.1y(k.16a,a));1d c=1g k;k.4B(a,b,c);c=k.1T(c,c);k.4B(b,c,a);1f a=k.1T(a,a)};Da.50c=1b(a,b){a=B.5T(1k.abs(a.z),1,B.2zm)?1k.12B(b.y,b.x)-B.10k:1k.12B(a.y,a.x)-B.10k;1f B.14C-B.23Z(a)};Da.22W=1b(a){1d b=1g Td,c=b.3c,d=1g k,e=1g T;c.10Z(a,e);b.12z(e,d);1f k.9v(d.z,d.x,d.y)};1d mO=1g E;1L.2X(Zf.1i,{3c:{1n:1b(){1f 1a.5W}},9X:{1n:1b(){1f 1a.1NJ}},12w:{1n:1b(){1f 1a.24j}},1CF:{1n:1b(){1f 1a.3Ap}},1Le:{1n:1b(){1f 1a.3Aq}},1Ap:{1n:1b(){1f 1a.24j.2U}}});1d 6ty=1g zh;Zf.1aN=1b(a,b){v.2l("2xP",a);a=zh.1aN(a,6ty);1f 1g Zf(a.2V,b)};1d nm=1g rb,uL=1g k;Zf.1i.1RH=1b(a,b){v.2l("16L",a);nm.9X=a;k.1T(a,nm.2G);a=ib.1xl(nm,1a.24j,uL);g(a)||(k.11k(nm.2G,nm.2G),a=ib.1xl(nm,1a.24j,uL));if(g(a)){1d c=k.3V(a,1a.1NJ,a);a=k.2A(1a.3Ap,c);c=k.2A(1a.3Aq,c);if(!g(b))1f 1g C(a,c);b.x=a;b.y=c;1f b}};Zf.1i.2Dh=1b(a,b){v.2l("2xP",a);g(b)||(b=[]);1j(1d c=0,d=a.1h,e=0;e<d;e++){1d f=1a.1RH(a[e],b[c]);g(f)&&(b[c]=f,c++)}b.1h=c;1f b};Zf.1i.2RA=1b(a,b){v.2l("16L",a);g(b)||(b=1g C);nm.9X=a;k.1y(1a.24j.2U,nm.2G);a=ib.1xl(nm,1a.24j,uL);g(a)||(k.11k(nm.2G,nm.2G),a=ib.1xl(nm,1a.24j,uL));1d c=k.3V(a,1a.1NJ,a);a=k.2A(1a.3Ap,c);c=k.2A(1a.3Aq,c);b.x=a;b.y=c;1f b};Zf.1i.9kS=1b(a,b){v.2l("2xP",a);g(b)||(b=[]);1d c=a.1h;b.1h=c;1j(1d d=0;d<c;d++)b[d]=1a.2RA(a[d],b[d]);1f b};1d vL=1g k;Zf.1i.3vK=1b(a,b){v.2l("16L",a);g(b)||(b=1g k);1d c=1a.5W,d=1a.1NJ,e=1a.3Aq;k.4g(1a.3Ap,a.x,vL);b=k.add(d,vL,b);k.4g(e,a.y,vL);k.add(b,vL,b);c.6tx(b,b);1f b};Zf.1i.9kR=1b(a,b){v.2l("2xP",a);1d c=a.1h;g(b)?b.1h=c:b=2K(c);1j(1d d=0;d<c;++d)b[d]=1a.3vK(a[d],b[d]);1f b};yc.4q=k.4q+J.4q;yc.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);k.5n(a.2V,b,c);J.5n(a.1dK,b,c+k.4q);1f b};yc.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g yc);k.5f(a,b,c.2V);J.5f(a,b+k.4q,c.1dK);1f c};1d 6tw=1g k,6tv=1g k,gA=1g k,6ts=1g k,6tr=1g k,6tq=1g k,Xo=1g J,6tt={4bf:1g J,3cO:1g J};yc.1aN=1b(a,b){g(b)||(b=1g yc);if(!g(a)||0===a.1h)1f b.1dK=J.6h,b.2V=k.6h,b;1d c,d=a.1h,e=k.1y(a[0],6tw);1j(c=1;c<d;c++)k.add(e,a[c],e);1d f=1/d;k.4g(e,f,e);1d h=0,l=0,p=0,n=0,z=0,w=0;1j(c=0;c<d;c++){1d x=k.3V(a[c],e,6tv);h+=x.x*x.x;l+=x.x*x.y;p+=x.x*x.z;n+=x.y*x.y;z+=x.y*x.z;w+=x.z*x.z}l*=f;p*=f;z*=f;Xo[0]=h*f;Xo[1]=l;Xo[2]=p;Xo[3]=l;Xo[4]=n*f;Xo[5]=z;Xo[6]=p;Xo[7]=z;Xo[8]=w*f;c=J.6tu(Xo,6tt);c=J.1y(c.4bf,b.1dK);e=J.1ed(c,0,6ts);f=J.1ed(c,1,6tr);h=J.1ed(c,2,6tq);l=-3a.6w;p=-3a.6w;n=-3a.6w;1d m=w=z=3a.6w;1j(c=0;c<d;c++)x=a[c],l=1k.1V(k.2A(e,x),l),p=1k.1V(k.2A(f,x),p),n=1k.1V(k.2A(h,x),n),z=1k.2o(k.2A(e,x),z),w=1k.2o(k.2A(f,x),w),m=1k.2o(k.2A(h,x),m);e=k.4g(e,.5*(z+l),e);f=k.4g(f,.5*(w+p),f);h=k.4g(h,.5*(m+n),h);a=k.add(e,f,b.2V);k.add(a,h,a);gA.x=l-z;gA.y=p-w;gA.z=n-m;k.4g(gA,.5,gA);J.2qj(b.1dK,gA,b.1dK);1f b};1d 506=1g k,6tp=1g k,509=1g T,6tn=1g k,6tm=1g T,6tl=1g T,$Ga=1g T,6tk=1g T,6tj=1g T,6ti=1g k,50b=1g k,6th=1g k,50a=1g k,6tg=1g k,6tf=1g C,6te=1g C,6td=1g C,6tc=1g C,6tb=1g C,6ta=1g k,6t9=1g k,6t8=1g k,6t6=1g k,6t5=1g C,6t4=1g k,6t3=1g k,6t2=1g k,6t7=1g Cb(k.1dl,0);yc.21r=1b(a,b,c,d,e){if(!g(a))1t 1g r("3g is 1X");if(0>a.1G||a.1G>B.14C)1t 1g r("4id 1G 2Q be 1pS 0 and 2*pi");if(0>a.1D||a.1D>B.PI)1t 1g r("4id 1D 2Q be 1pS 0 and pi");if(g(d)&&!B.5T(d.10N.x,d.10N.y,B.2aw))1t 1g r("2ZE 2Q be an 3c of 6to (10N.x == 10N.y)");b=m(b,0);c=m(c,0);d=m(d,ba.9y);if(a.1G<=B.PI){1d f=Q.2V(a,509);1d h=d.13B(f,6tn);1d l=1g Zf(h,d);h=l.12w;1d p=f.3N;f=0>a.4C&&0<a.4P?0:f.4k;1d n=T.15i(p,a.4P,c,6tm);1d z=T.15i(a.4o,a.4P,c,6tl);f=T.15i(a.4o,f,c,$Ga);1d w=T.15i(a.4o,a.4C,c,6tk);1d x=T.15i(p,a.4C,c,6tj);n=d.13B(n,6ti);1d D=d.13B(z,50b);p=d.13B(f,6th);a=d.13B(w,50a);f=d.13B(x,6tg);x=l.2RA(n,6tf);n=l.2RA(D,6te);p=l.2RA(p,6td);a=l.2RA(a,6tc);D=l.2RA(f,6tb);f=1k.2o(n.x,p.x,a.x);p=-f;x=1k.1V(n.y,x.y);n=1k.2o(a.y,D.y);z.1D=w.1D=b;D=d.13B(z,50b);a=d.13B(w,50a);b=1k.2o(Cb.2ao(h,D),Cb.2ao(h,a));1f 508(l.9X,l.1CF,l.1Le,l.1Ap,f,p,n,x,b,c,e)}n=0<a.4C;x=0>a.4P;1d t=n?a.4C:x?a.4P:0;f=Q.2V(a,509).3N;l=k.15i(f,t,c,d,6ta);l.z=0;z=1k.abs(l.x)<B.1io&&1k.abs(l.y)<B.1io?k.1dl:k.1T(l,6t9);w=k.16a;D=k.4B(z,w,6t8);h=Cb.1zd(l,z,6t7);f=k.15i(f+B.10k,t,c,d,6t6);p=k.2A(Cb.1RH(h,f,6t5),D);f=-p;x=k.15i(0,a.4P,x?b:c,d,6t4).z;n=k.15i(0,a.4C,n?b:c,d,6t3).z;c=k.15i(a.5a,t,c,d,6t2);b=Cb.2ao(h,c);1f 508(l,D,w,z,f,p,n,x,b,0,e)};yc.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g yc(a.2V,a.1dK);k.1y(a.2V,b.2V);J.1y(a.1dK,b.1dK);1f b}};yc.1tE=1b(a,b){if(!g(a))1t 1g r("13F is 1X.");if(!g(b))1t 1g r("12w is 1X.");1d c=b.2U,d=a.1dK,e=c.x,f=c.y,h=c.z;d=1k.abs(e*d[J.3cS]+f*d[J.3cR]+h*d[J.3Ao])+1k.abs(e*d[J.3cQ]+f*d[J.3cP]+h*d[J.3An])+1k.abs(e*d[J.3Am]+f*d[J.3Al]+h*d[J.3d3]);a=k.2A(c,a.2V)+b.3s;1f a<=-d?Lb.1gB:a>=d?Lb.27N:Lb.1wT};1d 505=1g k,503=1g k,502=1g k,hj=1g k;yc.1Wa=1b(a,b){if(!g(a))1t 1g r("13F is 1X.");if(!g(b))1t 1g r("16L is 1X.");b=k.3V(b,a.2V,506);a=a.1dK;1d c=J.1ed(a,0,505),d=J.1ed(a,1,503),e=J.1ed(a,2,502),f=k.7t(c);a=k.7t(d);1d h=k.7t(e);k.1T(c,c);k.1T(d,d);k.1T(e,e);hj.x=k.2A(b,c);hj.y=k.2A(b,d);hj.z=k.2A(b,e);b=0;hj.x<-f?(c=hj.x+f,b+=c*c):hj.x>f&&(c=hj.x-f,b+=c*c);hj.y<-a?(c=hj.y+a,b+=c*c):hj.y>a&&(c=hj.y-a,b+=c*c);hj.z<-h?(c=hj.z+h,b+=c*c):hj.z>h&&(c=hj.z-h,b+=c*c);1f b};1d 6t1=1g k,6t0=1g k;yc.2KF=1b(a,b,c,d){if(!g(a))1t 1g r("13F is 1X.");if(!g(b))1t 1g r("1K is 1X.");if(!g(c))1t 1g r("2G is 1X.");g(d)||(d=1g pp);1d e=3a.19B,f=3a.1r7,h=a.2V,l=a.1dK;a=J.1ed(l,0,505);1d p=J.1ed(l,1,503);l=J.1ed(l,2,502);1d n=k.add(a,p,6t1);k.add(n,l,n);k.add(n,h,n);1d z=k.3V(n,b,6t0),w=k.2A(c,z);e=1k.2o(w,e);f=1k.1V(w,f);k.add(h,a,n);k.add(n,p,n);k.3V(n,l,n);k.3V(n,b,z);w=k.2A(c,z);e=1k.2o(w,e);f=1k.1V(w,f);k.add(h,a,n);k.3V(n,p,n);k.add(n,l,n);k.3V(n,b,z);w=k.2A(c,z);e=1k.2o(w,e);f=1k.1V(w,f);k.add(h,a,n);k.3V(n,p,n);k.3V(n,l,n);k.3V(n,b,z);w=k.2A(c,z);e=1k.2o(w,e);f=1k.1V(w,f);k.3V(h,a,n);k.add(n,p,n);k.add(n,l,n);k.3V(n,b,z);w=k.2A(c,z);e=1k.2o(w,e);f=1k.1V(w,f);k.3V(h,a,n);k.add(n,p,n);k.3V(n,l,n);k.3V(n,b,z);w=k.2A(c,z);e=1k.2o(w,e);f=1k.1V(w,f);k.3V(h,a,n);k.3V(n,p,n);k.add(n,l,n);k.3V(n,b,z);w=k.2A(c,z);e=1k.2o(w,e);f=1k.1V(w,f);k.3V(h,a,n);k.3V(n,p,n);k.3V(n,l,n);k.3V(n,b,z);w=k.2A(c,z);e=1k.2o(w,e);f=1k.1V(w,f);d.4I=e;d.4U=f;1f d};1d 6sZ=1g P;yc.2mM=1b(a,b){if(!g(a))1t 1g r("13F is 1X.");if(!g(b))1t 1g r("2yz is 1X.");a=P.3aL(a,6sZ);1f!b.4Vc(a)};yc.1i.1tE=1b(a){1f yc.1tE(1a,a)};yc.1i.1Wa=1b(a){1f yc.1Wa(1a,a)};yc.1i.2KF=1b(a,b,c){1f yc.2KF(1a,a,b,c)};yc.1i.2mM=1b(a){1f yc.2mM(1a,a)};yc.2L=1b(a,b){1f a===b||g(a)&&g(b)&&k.2L(a.2V,b.2V)&&J.2L(a.1dK,b.1dK)};yc.1i.1y=1b(a){1f yc.1y(1a,a)};yc.1i.2L=1b(a){1f yc.2L(1a,a)};1d 4ZX=1/256,xb={4aG:1b(a,b,c){v.2l("8r",a);v.2l("4D",c);1d d=k.17j(a);if(1k.abs(d-1)>B.1g9)1t 1g r("8r 2Q be 1A7.");c.x=a.x/(1k.abs(a.x)+1k.abs(a.y)+1k.abs(a.z));c.y=a.y/(1k.abs(a.x)+1k.abs(a.y)+1k.abs(a.z));0>a.z&&(a=c.x,d=c.y,c.x=(1-1k.abs(d))*B.2Ry(a),c.y=(1-1k.abs(a))*B.2Ry(d));c.x=B.4ZZ(c.x,b);c.y=B.4ZZ(c.y,b);1f c},2Rz:1b(a,b){1f xb.4aG(a,255,b)}},tE=1g C,4ZY=1g 4L(1);xb.6sY=1b(a,b){xb.4aG(a,1a6,tE);b.x=rG(tE.x*4ZX);b.y=rG(tE.x);b.z=rG(tE.y*4ZX);b.w=rG(tE.y);1f b};xb.3Ak=1b(a,b,c,d){v.2l("4D",d);if(0>a||a>c||0>b||b>c)1t 1g r("x and y 2Q be 3ss 1A7 3YS 1pS 0 and "+c);d.x=B.4ZW(a,c);d.y=B.4ZW(b,c);d.z=1-(1k.abs(d.x)+1k.abs(d.y));0>d.z&&(a=d.x,d.x=(1-1k.abs(d.y))*B.2Ry(a),d.y=(1-1k.abs(a))*B.2Ry(d.y));1f k.1T(d,d)};xb.3Aj=1b(a,b,c){1f xb.3Ak(a,b,255,c)};xb.9kQ=1b(a,b){v.1N.2c("1eO",a);v.1N.2c("4D",b);1d c=a.x,d=a.y,e=a.z;a=a.w;if(0>c||255<c||0>d||255<d||0>e||255<e||0>a||255<a)1t 1g r("x, y, z, and w 2Q be 3ss 1A7 3YS 1pS 0 and 255");1f xb.3Ak(256*c+d,256*e+a,1a6,b)};xb.4ZE=1b(a){v.2l("1eO",a);1f 256*a.x+a.y};1d $V=1g C;xb.2Rm=1b(a){xb.2Rz(a,$V);1f xb.4ZE($V)};xb.4ZV=1b(a,b){v.2l("1Q",a);a/=256;1d c=1k.2t(a);1f xb.3Aj(c,256*(a-c),b)};xb.6r6=1b(a,b,c,d){v.2l("v1",a);v.2l("v2",b);v.2l("v3",c);v.2l("4D",d);a=xb.2Rm(a);b=xb.2Rm(b);c=xb.2Rz(c,$V);d.x=12v*c.x+a;d.y=12v*c.y+b;1f d};xb.9kP=1b(a,b,c,d){v.2l("3YR",a);v.2l("v1",b);v.2l("v2",c);v.2l("v3",d);1d e=a.x/12v,f=1k.2t(e),h=12v*(e-f);e=a.y/12v;a=1k.2t(e);e=12v*(e-a);xb.4ZV(h,b);xb.4ZV(e,c);xb.3Aj(f,a,d)};xb.1tZ=1b(a){v.2l("8u",a);1f 18C*(2bk*a.x|0)+(2bk*a.y|0)};xb.3d2=1b(a,b){v.2l("1iW",a);v.2l("4D",b);1d c=1k.2t(a/18C);b.x=c/2bk;b.y=(a-18C*c)/2bk;1f b};xb.6sX=1b(a,b,c){v.2l("4ZU",a);v.2l("6sW",b);v.1N.2b.2L("4ZU.1h","6sW.1h",a.1h,b.1h);g(c)&&v.1N.2b.2L("4ZU.1h","2nS.1h",a.1h,c.1h);1j(1d d=a.1h,e=0,f=0,h=0,l=0;l<d;++l)e+=nO(a[l]),f+=nO(b[l]),a[l]=e,b[l]=f,g(c)&&(h+=nO(c[l]),c[l]=h)};xb.4ZT=1b(a){1f B.2Y(3.9kO-5*a,-1,1)};xb.6sV=1b(a,b,c){v.2l("4D",c);c.x=xb.4ZT(a);c.y=xb.4ZT(b);c.z=1-(1k.abs(c.x)+1k.abs(c.y));0>c.z&&(a=c.x,c.x=(1-1k.abs(c.y))*B.2Ry(a),c.y=(1-1k.abs(a))*B.2Ry(c.y));1f k.1T(c,c)};1d H=1L.3F({3Y4:256,4Hk:13j,3Y5:1xn,1wF:0,1ao:1,3A0:2,22n:3,11G:4,2rC:5,2iI:6,6h:0,1ip:1,47M:768,47L:769,47K:770,3bo:771,47J:772,47I:773,47H:774,47G:775,4U4:776,28A:9kN,9kM:6sU,9kL:6sU,9kK:9kJ,4U6:9kI,4U5:9kH,9kG:9kF,9kE:9kD,9kC:9kB,9kA:9kz,3rZ:9ky,496:9kx,495:9kw,494:9kv,9ku:9kt,1Q4:9ks,1GV:9kr,9kq:9kp,9ko:9kn,20X:9km,7C:9kl,1UP:9kk,9kj:9ki,9kh:9kg,9kf:9ke,1TU:9kd,1sq:4Fe,493:9kc,3s4:6sT,24Z:9kb,9ka:9k9,3Yd:9k8,3Yc:9k7,2XC:9k6,6sS:9k5,9k4:3Ai,6sR:9k3,6sQ:0,4ZS:9k2,4ZR:9k1,4ZQ:9k0,4ZP:9jZ,CW:3Ah,4Eg:4Fd,9jY:9jX,6sP:9jW,6sO:9jV,9jU:9jT,9jS:9jR,9jQ:9jP,9jO:9jN,9jM:9jL,9jK:9jJ,9jI:9jH,9jG:9jF,9jE:9jD,9jC:9jB,9jA:9jz,9jy:9jx,9jw:9jv,9ju:9jt,9js:9jr,9jq:9jp,9jo:9jn,9jm:9jl,9jk:9jj,9ji:9jh,9jg:9jf,4Qw:6oh,9je:5KL,9jd:9jc,9jb:9ja,3Yb:9j9,9j8:9j7,6sN:9j6,6sM:9j5,9j4:9j3,9j2:9j1,9j0:9iZ,9iY:9iX,9iW:9iV,9iU:9iT,6sL:6sK,9iS:9iR,9iQ:9iP,9iO:9iN,9iM:9iL,1Fv:9iK,9iJ:9iI,9iH:9iG,9iF:9iE,3bS:42A,48W:9iD,2MR:9iC,3ZG:9iB,1MX:4Kg,7U:9iA,1Vl:9iz,10P:9iy,1El:9ix,1bt:9iw,3O:9iv,1zc:9iu,2QW:9it,1fB:9is,9m:9ir,1UO:9iq,1QH:37o,3ca:9ip,3c9:9io,2Bt:9in,2Nc:9im,3s9:9il,6sJ:9ik,6sI:9ij,6sH:9ii,6sG:9ih,6sF:9ig,6sE:9if,6sD:9ie,9id:9ic,9ib:9ia,6sC:9i9,6hv:9i8,9i7:9i6,4Et:9i5,4Ev:9i4,9i3:9i2,9i1:9i0,2f7:512,1PP:513,1Be:514,2p5:515,2a0:516,2AV:517,3yw:518,1jW:519,10w:3YY,1f1:9hZ,4SC:9hY,4SB:9hX,48p:9hW,4SA:9hV,4Sz:9hU,9hT:9hS,9hR:9hQ,2kM:9hP,10U:5Zl,11U:9hO,2r6:9hN,2Cp:9hM,2QE:6nH,1Qv:9hL,2go:9hK,28t:9hJ,2MW:9hI,2MV:9hH,17U:9hG,1uL:9hF,4Hf:9hE,9hD:9hC,4be:9hB,4bd:9hA,4bc:9hz,4bb:9hy,4ba:9hx,4b9:9hw,6sB:9hv,1tW:9hu,9ht:9hs,9hr:9hq,9hp:9ho,9hn:9hm,9hl:9hk,9hj:9hi,9hh:9hg,9hf:9he,9hd:9hc,9hb:9ha,9h9:9h8,9h7:9h6,9h5:9h4,9h3:9h2,9h1:9h0,9gZ:9gY,9gX:9gW,9gV:9gU,9gT:9gS,9gR:9gQ,9gP:9gO,9gN:9gM,9gL:9gK,9gJ:9gI,9gH:9gG,9gF:9gE,9gD:9gC,9gB:9gA,9gz:9gy,9gx:9gw,9gv:9gu,9gt:9gs,1av:9gr,11g:9gq,2qK:9gp,1Rt:9go,1my:9gn,1EK:9gm,3xR:9gl,3xQ:9gk,3xP:9gj,2DS:9gi,3xO:9gh,3xN:9gg,3xM:9gf,3bi:9ge,1BP:9gd,1ff:9gc,1oS:9gb,3yQ:9ga,9g9:9g8,9g7:9g6,9g5:9g4,9g3:9g2,9g1:9g0,9fZ:9fY,9fX:9fW,9fV:9fU,9fT:9fS,4ZO:9fR,9fQ:9fP,9fO:9fN,6sA:9fM,9fL:9fK,9fJ:9fI,6sz:9fH,1JV:9fG,2pa:9fF,3tO:9fE,40S:9fD,37U:9fC,2fK:9fB,9fA:9fz,40R:9fy,1eF:9fx,9fw:9fv,9fu:9ft,9fs:9fr,9fq:9fp,9fo:9fn,9fm:9fl,9fk:9fj,9fi:9fh,9fg:9ff,9fe:9fd,9fc:9fb,9fa:9f9,9f8:9f7,3Ya:9f6,3Y9:9f5,6sy:9f4,4ZN:9f3,6i:0,3nr:9f2,4ZM:9f1,4ZL:9f0,4ZK:9eZ,4ZJ:9eY,9eX:6sk,9eW:9eV,6sx:9eU,9eT:9eS,1By:9eR,1GU:9eQ,4ZI:9eP,9eO:9eN,9eM:9eL,6kJ:6sw,6kI:9eK,6kH:9eJ,6kG:6sv,6kF:6su,6kE:6st,6kD:6ss,6kC:6sr,6kB:6sq,6kK:9eI,18l:9eH,9eG:9eF,9eE:9eD,9eC:9eB,9eA:9ez,9ey:6sp,9ex:6so,9ew:6sn,1FC:6sm,1Z1:6km,9ev:9eu,1PZ:9et,4ZH:9es,4ZG:9er,9eq:9ep,9eo:9en,9em:9el,9ek:9ej,9ei:9eh,9eg:9ef,9ee:9ed,9ec:9eb,9ea:9e9,9e8:9e7,9e6:9e5,9e4:9e3,9e2:9e1,9e0:9dZ,49a:9dY,497:9dX,37T:9dW,9dV:9dU,9dT:9dS,9dR:9dQ,9dP:9dO,9dN:9dM,9dL:9dK,9dJ:9dI,9dH:9dG,9dF:9dE,9dD:9dC,9dB:9dA,9dz:9dy,6sl:9dx,9dw:9dv,9du:9dt,9ds:9dr,9dq:9dp,9do:9dn,9dm:9dl,9dk:9dj,9di:9dh,9dg:9df,9de:9dd,9dc:9db,9da:9d9,9d8:9d7,9d6:9d5,9d4:9d3,9d2:9d1,9d0:9cZ,9cY:9cX,9cW:9cV,9cU:9cT,9cS:9cR,9cQ:9cP,9cO:9cN,9cM:9cL,9cK:9cJ,9cI:9cH,9cG:9cF,9cE:9cD,9cC:9cB,9cA:9cz,9cy:9cx,9cw:9cv,9cu:9ct,9cs:9cr,9cq:9cp,4b8:9co,4b7:9cn,4b6:9cm,4b5:9cl,9ck:9cj,9ci:9ch,9cg:9cf,9ce:9cd,9cc:9cb,9ca:9c9,9c8:9c7,9c6:9c5,9c4:9c3,9c2:9c1,9c0:9bZ,9bY:9bX,9bW:9bV,9bU:9bT,9bS:9bR,9bQ:9bP,9bO:9bN,4GS:9bM,9bL:9bK,9bJ:9bI,9bH:9bG,5Ca:9bF,5Tw:9bE,9bD:9bC,9bB:9bA,9bz:9by,9bx:9bw,9bv:9bu,9bt:9bs,9br:9bq,9bp:9bo,9bn:9bm,9bl:9bk,9bj:9bi,9bh:9bg,9bf:9be,9bd:9bc,9bb:9ba,9b9:9b8,9b7:9b6,9b5:9b4,9b3:9b2,9b1:9b0,9aZ:9aY,9aX:9aW,9aV:9aU,9aT:9aS,9aR:9aQ,9aP:9aO,9aN:9aM,9aL:9aK,9aJ:9aI,9aH:9aG,9aF:9aE,9aD:9aC,9aB:9aA,9az:9ay,9ax:9aw,9av:9au,9at:9as,9ar:9aq,9ap:9ao,9an:9am,9al:9ak,9aj:9ai,1Jw:9ah,4ZF:9ag,9af:9ae,9ad:6sk,4Qd:9ac,4Qc:9ab,9aa:9a9,9a8:9a7,9a6:9a5,6sj:9a4,9a3:9a2,9a1:9a0,99Z:99Y,99X:99W,99V:99U,99T:99S,99R:99Q,99P:99O,99N:99M,99L:99K,99J:99I,99H:99G,99F:99E,99D:99C,99B:99A,99z:99y,6si:99x,1kq:99w,RG:99v,99u:99t,R8:99s,99r:99q,4b4:99p,4b3:99o,6sh:99n,6sg:99m,99l:99k,99j:99i,99h:99g,99f:99e,99d:99c,99b:99a,998:994,993:992,990:98Z,98Y:98X,98W:98V,98U:98T,98S:98R,98Q:98P,98O:98N,98M:98L,98K:98J,98I:98H,4SX:6sf,6ho:6se,98G:6sf,98F:6se,98E:98D,98C:98B,98A:98z,98y:98x,98w:98v,98u:98t,98s:98r,98q:98p,98o:98n,98m:98l,98k:98j,98i:98h,98g:98f,98e:98d,98c:98b,98a:989,988:986,984:982,981:980,97Z:97Y,97X:97W,97V:97U,97T:97S,97R:97Q,97P:97O,97N:97M,97L:2eo,97K:97J,97I:97H,97G:97F,97E:97D,97C:97B,97A:97z,97y:97x,97w:97v,97u:97t,97s:97r,97q:97p,97o:97n,97m:97l,97k:97j,97i:97h,97g:1,97e:97d,97c:97b,97a:979,978:977,974:971,970:96Z,5Tz:96Y,96X:96W,96V:96U,96T:96S,96R:96Q,96P:96O,96N:96M,96L:96K,96J:96I,96H:96G,96F:96E,96D:96C,96B:96A,96z:96y,96x:96w,96v:96u,96t:96s,4Ee:96r}),Bc={1MX:H.1MX,7U:H.7U,1Vl:H.1Vl,10P:H.10P,1El:H.1El,1bt:H.1bt,3O:H.3O,18l:H.18l,1jh:1b(a){if(!g(a))1t 1g r("1Q is 1X.");6U(a){1S Bc.1MX:1f 1G4.12T;1S Bc.7U:1f 4L.12T;1S Bc.1Vl:1f 1FS.12T;1S Bc.10P:1f 10Y.12T;1S Bc.1El:1f 1fZ.12T;1S Bc.1bt:1f 12X.12T;1S Bc.3O:1f 4A.12T;1S Bc.18l:1f 13X.12T;4T:1t 1g r("3k is 2S a 1eu 1Q.");}},2DC:1b(a){if(a 2m 1G4)1f Bc.1MX;if(a 2m 4L)1f Bc.7U;if(a 2m 1FS)1f Bc.1Vl;if(a 2m 10Y)1f Bc.10P;if(a 2m 1fZ)1f Bc.1El;if(a 2m 12X)1f Bc.1bt;if(a 2m 4A)1f Bc.3O;if(a 2m 13X)1f Bc.18l},1f6:1b(a){1f g(a)&&(a===Bc.1MX||a===Bc.7U||a===Bc.1Vl||a===Bc.10P||a===Bc.1El||a===Bc.1bt||a===Bc.3O||a===Bc.18l)},9g:1b(a,b){if(!g(a))1t 1g r("3k is 1X.");if(!g(b))1t 1g r("96q is 1X.");6U(a){1S Bc.1MX:1f 1g 1G4(b);1S Bc.7U:1f 1g 4L(b);1S Bc.1Vl:1f 1g 1FS(b);1S Bc.10P:1f 1g 10Y(b);1S Bc.1El:1f 1g 1fZ(b);1S Bc.1bt:1f 1g 12X(b);1S Bc.3O:1f 1g 4A(b);1S Bc.18l:1f 1g 13X(b);4T:1t 1g r("3k is 2S a 1eu 1Q.");}},1Rm:1b(a,b,c,d){if(!g(a))1t 1g r("3k is 1X.");if(!g(b))1t 1g r("3J is 1X.");c=m(c,0);d=m(d,(b.10S-c)/Bc.1jh(a));6U(a){1S Bc.1MX:1f 1g 1G4(b,c,d);1S Bc.7U:1f 1g 4L(b,c,d);1S Bc.1Vl:1f 1g 1FS(b,c,d);1S Bc.10P:1f 1g 10Y(b,c,d);1S Bc.1El:1f 1g 1fZ(b,c,d);1S Bc.1bt:1f 1g 12X(b,c,d);1S Bc.3O:1f 1g 4A(b,c,d);1S Bc.18l:1f 1g 13X(b,c,d);4T:1t 1g r("3k is 2S a 1eu 1Q.");}},3y1:1b(a){6U(a){1S"1MX":1f Bc.1MX;1S"7U":1f Bc.7U;1S"1Vl":1f Bc.1Vl;1S"10P":1f Bc.10P;1S"1El":1f Bc.1El;1S"1bt":1f Bc.1bt;1S"3O":1f Bc.3O;1S"18l":1f Bc.18l;4T:1t 1g r("2i is 2S a 1eu 1Q.");}}},I=1L.3F(Bc),gk=1L.3F({6i:0,2nV:1}),vu=1g k,6sd=1g k,om=1g C,sG=1g A,6sc=1g A;Bh.1i.1pT=1b(a,b,c,d,e,f,h){1d l=d.x;d=d.y;if(1a.1nv===gk.2nV){c=A.8P(1a.4b2,c,vu);c.x=B.2Y(c.x,0,1);c.y=B.2Y(c.y,0,1);c.z=B.2Y(c.z,0,1);1d g=B.2Y((e-1a.13w)/(1a.12x-1a.13w),0,1);C.9v(c.x,c.y,om);e=xb.1tZ(om);C.9v(c.z,g,om);c=xb.1tZ(om);C.9v(l,d,om);l=xb.1tZ(om);a[b++]=e;a[b++]=c;a[b++]=l;1a.2av&&(C.9v(h,0,om),h=xb.1tZ(om),a[b++]=h)}1s k.3V(c,1a.2V,vu),a[b++]=vu.x,a[b++]=vu.y,a[b++]=vu.z,a[b++]=e,a[b++]=l,a[b++]=d,1a.2av&&(a[b++]=h);1a.1lp&&(a[b++]=xb.4ZE(f));1f b};Bh.1i.4ZD=1b(a,b,c){g(c)||(c=1g k);b*=1a.1ng();if(1a.1nv===gk.2nV){1d d=xb.3d2(a[b],om);c.x=d.x;c.y=d.y;a=xb.3d2(a[b+1],om);c.z=a.x;1f A.8P(1a.4b1,c,c)}c.x=a[b];c.y=a[b+1];c.z=a[b+2];1f k.add(c,1a.2V,c)};Bh.1i.1Wt=1b(a,b,c){g(c)||(c=1g C);b*=1a.1ng();1f 1a.1nv===gk.2nV?xb.3d2(a[b+2],c):C.9v(a[b+4],a[b+5],c)};Bh.1i.1Ky=1b(a,b){b*=1a.1ng();1f 1a.1nv===gk.2nV?xb.3d2(a[b+1],om).y*(1a.12x-1a.13w)+1a.13w:a[b+3]};Bh.1i.96p=1b(a,b){b*=1a.1ng();1f 1a.1nv===gk.2nV?xb.3d2(a[b+3],om).x:a[b+6]};Bh.1i.3Ag=1b(a,b,c){1d d=1a.1ng();a=a[(b+1)*d-1]/256;b=1k.2t(a);1f C.9v(b,256*(a-b),c)};Bh.1i.1ng=1b(){6U(1a.1nv){1S gk.2nV:1d a=3;1W;4T:a=6}1a.2av&&++a;1a.1lp&&++a;1f a};1d aW={2uv:0,1OE:1},wL={1Ft:0,2WM:1};Bh.1i.5Bo=1b(a){1d b=I.3O,c=I.1jh(b);if(1a.1nv===gk.6i){1d d=2;1a.2av&&++d;1a.1lp&&++d;1d e=(4+d)*c;1f[{2P:aW.2uv,7e:a,3k:b,2Z:4,9n:0,9t:e},{2P:aW.1OE,7e:a,3k:b,2Z:d,9n:4*c,9t:e}]}d=3;1d f=0;(1a.2av||1a.1lp)&&++d;1f 1a.2av&&1a.1lp?(++f,e=(d+f)*c,[{2P:wL.1Ft,7e:a,3k:b,2Z:d,9n:0,9t:e},{2P:wL.2WM,7e:a,3k:b,2Z:f,9n:d*c,9t:e}]):[{2P:wL.1Ft,7e:a,3k:b,2Z:d}]};Bh.1i.5BC=1b(){1f 1a.1nv===gk.6i?aW:wL};Bh.1y=1b(a,b){g(b)||(b=1g Bh);b.1nv=a.1nv;b.13w=a.13w;b.12x=a.12x;b.2V=k.1y(a.2V);b.4b2=A.1y(a.4b2);b.4b1=A.1y(a.4b1);b.8W=A.1y(a.8W);b.1lp=a.1lp;b.2av=a.2av;1f b};1L.2X(Uc.1i,{3c:{1n:1b(){1f 1a.5W}}});Uc.4ZC=1b(a){1f B.10k-2*1k.16D(1k.108(-a))};Uc.1UN=1b(a){a>Uc.2nK?a=Uc.2nK:a<-Uc.2nK&&(a=-Uc.2nK);a=1k.2T(a);1f.5*1k.7k((1+a)/(1-a))};Uc.2nK=Uc.4ZC(1k.PI);Uc.1i.12z=1b(a,b){1d c=1a.3d1,d=a.3N*c;c*=Uc.1UN(a.4k);a=a.1D;if(!g(b))1f 1g k(d,c,a);b.x=d;b.y=c;b.z=a;1f b};Uc.1i.1cZ=1b(a,b){if(!g(a))1t 1g r("16L is 1X");1d c=1a.4b0,d=a.x*c;c=Uc.4ZC(a.y*c);a=a.z;if(!g(b))1f 1g T(d,c,a);b.3N=d;b.4k=c;b.1D=a;1f b};1d jl={};jl.2rK=1L.3F({2au:1,1xk:0,2at:1,14e:1,2as:256,2iM:!1});1d bW=1g k,6sb=1g A,hA=1g k,iA=1g k;jl.6s0=1b(a){if(!g(a)||!g(a.2Rv))1t 1g r("3v.2Rv is 1X.");if(!g(a.1G)||!g(a.1D))1t 1g r("3v.1G and 3v.1D are 1X.");if(!g(a.3cj))1t 1g r("3v.3cj is 1X.");if(!g(a.3ci))1t 1g r("3v.3ci is 1X.");1d b=1k.3i,c=1k.2T,d=1k.3Y,e=1k.16D,f=1k.108,h=B.10k,l=B.8I,p=a.2Rv,n=a.1G,z=a.1D,w=a.3ci,x=m(a.3yH,!0),D=m(a.3c,ba.9y),t=1/D.17i,q=a.3cj,G=a.3g;if(g(G)){1d u=G.4o;1d v=G.4C;1d y=G.5a;1d Hb=G.4P}1s x?(u=l(q.4o),v=l(q.4C),y=l(q.5a),Hb=l(q.4P)):(u=q.4o*t,v=h-2*e(f(-q.4C*t)),y=q.5a*t,Hb=h-2*e(f(-q.4P*t)));1d lb=a.3zu,K=g(lb);lb=K?lb:k.6h;1d Fa=m(a.1MU,1),L=m(a.3zt,!1);a=m(a.2a5,jl.2rK);1d S=m(a.2au,jl.2rK.2au),U=m(a.1xk,jl.2rK.1xk),R=m(a.2at,jl.2rK.2at),V=m(a.14e,jl.2rK.14e),W=m(a.2as,jl.2rK.2as),da=m(a.2iM,jl.2rK.2iM),ea=Q.4ZB(q),Sa=Q.4ZA(q),E=ea/(n-1),F=Sa/(z-1);x||(ea*=t,Sa*=t);a=D.3z7;1d I=a.x,Ob=a.y,vd=a.z;a=12v;1d uc=-12v,sc=Da.18N(lb,D),cd=A.1yQ(sc,6sb);if(L){1d mc=Uc.1UN(v);1d Xb=1/(Uc.1UN(Hb)-mc)}hA.x=3a.19B;hA.y=3a.19B;hA.z=3a.19B;iA.x=3a.1r7;iA.y=3a.1r7;iA.z=3a.1r7;1d ld=3a.19B,ae=n*z,H=ae+(0<w?2*n+2*z:0),J=2K(H),M=2K(H),N=2K(H),O=L?2K(H):[],T=0,Z=z,X=0,be=n;0<w&&(--T,++Z,--X,++be);1j(1d Y=T;Y<Z;++Y){1d ca=Y;0>ca&&(ca=0);ca>=z&&(ca=z-1);1d ha=q.4P-F*ca;ha=x?l(ha):h-2*e(f(-ha*t));1d ia=(ha-v)/(Hb-v);ia=B.2Y(ia,0,1);1d Mf=Y===T,fa=Y===Z-1;0<w&&(Mf?ha+=1E-5*Sa:fa&&(ha-=1E-5*Sa));1d ma=b(ha),ff=c(ha),Kc=vd*ff,ja;L&&(ja=(Uc.1UN(ha)-mc)*Xb);1j(ha=X;ha<be;++ha){1d Ce=ha;0>Ce&&(Ce=0);Ce>=n&&(Ce=n-1);1d yr=ca*n*V+Ce*V;if(1===R)1d pa=p[yr];1s{pa=0;1d la;if(da)1j(la=0;la<R;++la)pa=pa*W+p[yr+la];1s 1j(la=R-1;0<=la;--la)pa=pa*W+p[yr+la]}pa=(pa*S+U)*Fa;uc=1k.1V(uc,pa);a=1k.2o(a,pa);1d qa=q.4o+E*Ce;qa=x?l(qa):qa*t;yr=(qa-u)/(y-u);yr=B.2Y(yr,0,1);la=ca*n+Ce;if(0<w){1d na=ha===X,sa=ha===be-1,ta=Mf||fa||na||sa;if((Mf||fa)&&(na||sa))1aJ;1s ta&&(pa-=w,na?(la=ae+(z-ca-1),qa-=1E-5*ea):fa?la=ae+z+(n-Ce-1):sa?(la=ae+z+n+ca,qa+=1E-5*ea):Mf&&(la=ae+z+n+z+Ce))}Ce=ma*b(qa);qa=ma*c(qa);na=I*Ce;ta=Ob*qa;sa=1/d(na*Ce+ta*qa+Kc*ff);na*=sa;ta*=sa;sa*=Kc;1d ua=1g k;ua.x=na+Ce*pa;ua.y=ta+qa*pa;ua.z=sa+ff*pa;J[la]=ua;M[la]=pa;N[la]=1g C(yr,ia);L&&(O[la]=ja);A.8P(cd,ua,bW);k.2yE(bW,hA,hA);k.2yD(bW,iA,iA);ld=1k.2o(ld,pa)}}b=P.1aN(J);1d wa;g(G)&&(wa=yc.21r(G,a,uc,D));1d va;K&&(va=(1g fk(D)).3St(lb,J,a));D=1g zh(hA,iA,lb);L=1g Bh(D,ld,uc,sc,!1,L);D=1g 4A(H*L.1ng());1j(lb=G=0;lb<H;++lb)G=L.1pT(D,G,J[lb],N[lb],M[lb],1p 0,O[lb]);1f{1co:D,12x:uc,13w:a,19F:L,21e:b,1ls:wa,1UK:va}};1d oO=1g sa,pO,6sa=[];Vc.1i.1fa=1b(a,b){g(1a.2EV)||(1a.2EV=4Zy(1a));if(!(1a.3ut>=1a.4JA)){++1a.3ut;1d c=1a;1f Z(4Zx(),1b(d){g(b)?d||(b.1h=0):b=6sa;1d e=c.6s9++,f=Z.12L();c.4Zz[e]=f;c.2EV.1Sa({id:e,7V:a,58v:d},b);1f f.10l})}};Vc.1i.3t5=1b(a){g(1a.2EV)||(1a.2EV=4Zy(1a));1d b=Z.12L(),c=1a,d=1a.2EV;6s8(1a,a).4b(1b(a){1f Z(4Zx(),1b(e){1d f,l=a.28r;g(l)&&e&&(f=[l]);d.4aZ=1b(a){d.4aZ=1b(a){4Zw(c,a.2g)};b.5h(a.2g)};d.1Sa({96o:a},f)})});1f b};Vc.1i.3Z=1b(){1f!1};Vc.1i.1M=1b(){g(1a.2EV)&&1a.2EV.44t();1f la(1a)};Vc.6s7=oO;Vc.6s5="2gS/";Vc.6s6=Vc.6s5;Vc.2Rx=1p 0;1d Yo={7U:H.7U,10P:H.10P,1bt:H.1bt,1jh:1b(a){6U(a){1S Yo.7U:1f 4L.12T;1S Yo.10P:1f 10Y.12T;1S Yo.1bt:1f 12X.12T}1t 1g r("17P is 1X and 2Q be a 1eu 3KJ 10p.");},4vY:1b(a){6U(a){1S 2:1f Yo.10P;1S 4:1f Yo.1bt;1S 1:1f Yo.7U;4T:1t 1g r("96n in 1tC 1il be 96m to an 3KJ");}},1f6:1b(a){1f g(a)&&(a===Yo.7U||a===Yo.10P||a===Yo.1bt)},9g:1b(a,b){if(!g(a))1t 1g r("40a is 1X.");1f a>=B.1uW?1g 12X(b):1g 10Y(b)},2Rw:1b(a,b,c,d){if(!g(a))1t 1g r("40a is 1X.");if(!g(b))1t 1g r("67s is 1X.");if(!g(c))1t 1g r("8o is 1X.");1f a>=B.1uW?1g 12X(b,c,d):1g 10Y(b,c,d)}},Ta=1L.3F(Yo);1L.2X(we.1i,{1cG:{1n:r.8i},9L:{1n:r.8i},8c:{1n:r.8i},3o:{1n:r.8i},9c:{1n:r.8i},1z3:{1n:r.8i},1lp:{1n:r.8i},1b9:{1n:r.8i}});1d 4Zv=[];we.4Zt=1b(a,b){if(a*b>=B.4Zs)1t 1g r("9B 1J5 2b of 1co (1G * 1D) 2Q be 1do 6L 4,294,967,296.");1d c=4Zv[a];g(c)||(4Zv[a]=c=[]);1d d=c[b];g(d)||(d=a*b<B.1uW?c[b]=1g 10Y((a-1)*(b-1)*6+3*(a+b-2)):c[b]=1g 12X((a-1)*(b-1)*6+3*(a+b-2)),4Zq(a,b,d,0));1f d};1d 4Zu=[];we.4Zo=1b(a,b){if(a*b>=B.4Zs)1t 1g r("9B 1J5 2b of 1co (1G * 1D) 2Q be 1do 6L 4,294,967,296.");1d c=4Zu[a];g(c)||(4Zu[a]=c=[]);1d d=c[b];g(d)||(d=we.4Zt(a,b),a=4aB(a,b),d=c[b]={4N:d,1KC:a.1KC,1KB:a.1KB,1KA:a.1KA,1Kz:a.1Kz});1f d};1d 4Zr=[];we.4Zp=1b(a,b){if(a*b>=B.4Zs)1t 1g r("9B 1J5 2b of 1co (1G * 1D) 2Q be 1do 6L 4,294,967,296.");1d c=4Zr[a];g(c)||(4Zr[a]=c=[]);1d d=c[b];if(!g(d)){d=a*b;1d e=(a-1)*(b-1)*6,f=2*a+2*b,h=d+f,l=3*(a+b-2),p=e+6*1k.1V(0,f-4)+l,n=4aB(a,b);f=n.1KC;1d k=n.1KB,w=n.1KA;n=n.1Kz;h=Ta.9g(h,p);4Zq(a,b,h,0);we.6s4(f,k,w,n,d,h,e+l);d=c[b]={4N:h,1KC:f,1KB:k,1KA:w,1Kz:n,27O:e}}1f d};we.6s4=1b(a,b,c,d,e,f,h,l){h=tG(a,e,f,h,l);e+=a.1h;h=tG(b,e,f,h,l);e+=b.1h;h=tG(c,e,f,h,l);e+=c.1h;tG(d,e,f,h,l)};we.6s3=.25;we.2rJ=1b(a,b,c){1f 2*a.17i*1k.PI*we.6s3/(b*c)};we.1i.1Bf=r.8i;we.1i.1DR=r.8i;we.1i.2fl=r.8i;we.1i.2Eh=r.8i;1L.2X(Ch.1i,{1mn:{1n:1b(){}},1UM:{1n:1b(){1f 1a.4aR}},1Ku:{1n:1b(){1f 1a.2EA}},4wY:{1n:1b(){1f g(1a.1sY)}},1ns:{1n:1b(){1f 1a.3p5}}});1d 6s2=1g Vc("96l");Ch.1i.3z0=1b(a,b,c,d,e){if(!g(a))1t 1g r("8c is 1X.");if(!g(b))1t 1g r("x is 1X.");if(!g(c))1t 1g r("y is 1X.");if(!g(d))1t 1g r("6b is 1X.");1d f=a.3c,h=a.1JE(b,c,d);b=a.1d1(b,c,d);e=m(e,1);1d l=f.13B(Q.2V(b));c=1a.3d0;d=we.2rJ(f,1a.10V,a.1ou(0))/(1<<d);if(1a.4Zm)if(a.31Q){1d p=1k.2o.6c(1F,1a.1hW),n=1k.1V.6c(1F,1a.1hW);1a.1NI=1a.2r9*(n-p);0===1a.1NI&&(1a.1NI=1k.2o(4*d,1E3))}1s 1a.1NI=1k.2o(4*d,1E3);1s 1a.1NI=0;a=6s2.1fa({2Rv:1a.1hW,2a5:c,3zt:!0,1G:1a.10V,1D:1a.10o,3cj:h,3g:b,3zu:l,3c:f,3ci:1a.1NI,3yH:a.18T 2m Td,1MU:e,19F:1a.3cV});if(g(a)){1d z=1a;1f Z(a,1b(a){1d b=0<z.1NI?we.4Zp(a.4aY,a.4aX):we.4Zo(a.4aY,a.4aX);1d c=a.4aY*a.4aX;z.1sY=1g nx(l,1g 4A(a.1co),b.4N,b.27O,c,a.13w,a.12x,P.1y(a.21e),k.1y(a.1UK),a.2r4,yc.1y(a.1ls),Bh.1y(a.19F),e,b.1KC,b.1KB,b.1KA,b.1Kz);z.1hW=1p 0;1f z.1sY})}};Ch.1i.6s1=1b(a,b,c,d,e){if(!g(a))1t 1g r("8c is 1X.");if(!g(b))1t 1g r("x is 1X.");if(!g(c))1t 1g r("y is 1X.");if(!g(d))1t 1g r("6b is 1X.");1d f=a.3c,h=a.1JE(b,c,d);c=a.1d1(b,c,d);e=m(e,1);b=f.13B(Q.2V(c));1d l=1a.3d0,p=we.2rJ(f,1a.10V,a.1ou(0));1a.1NI=1k.2o(p/(1<<d)*4,1E3);a=jl.6s0({2Rv:1a.1hW,2a5:l,3zt:!0,1G:1a.10V,1D:1a.10o,3cj:h,3g:c,3zu:b,3c:f,3ci:1a.1NI,3yH:a.18T 2m Td,1MU:e});1a.1hW=1p 0;d=0<1a.1NI?we.4Zp(1a.10V,1a.10o):we.4Zo(1a.10V,1a.10o);1f 1g nx(b,a.1co,d.4N,d.27O,a.4aY*a.4aX,a.13w,a.12x,a.21e,a.1UK,a.19F.1ng(),a.1ls,a.19F,e,d.1KC,d.1KB,d.1KA,d.1Kz)};Ch.1i.3bW=1b(a,b,c){1d d=1a.10V,e=1a.10o,f=1a.3d0,h=f.14e,l=f.2at,p=f.2as,n=f.2iM,k=f.1xk;f=f.2au;if(g(1a.1sY))k=1gL(1a.1sY.1co,1a.1sY.19F,k,f,a,d,e,b,c,1a.1sY.1MU);1s{1d w=1a.1hW;b=(b-a.4o)*(d-1)/(a.5a-a.4o);1d x=(c-a.4C)*(e-1)/(a.4P-a.4C),m=b|0;a=m+1;a>=d&&(a=d-1,m=d-2);1d t=x|0;c=t+1;c>=e&&(c=e-1,t=e-2);b-=m;x-=t;t=e-1-t;c=e-1-c;e=uG(w,l,p,h,n,t*d+m);t=uG(w,l,p,h,n,t*d+a);m=uG(w,l,p,h,n,c*d+m);d=uG(w,l,p,h,n,c*d+a);k=(x<b?e+b*(t-e)+x*(d-t):e+b*(d-m)+x*(m-e))*f+k}1f k};1d 6rZ=1g 4A(96k);Ch.1i.3yZ=1b(a,b,c,d,e,f,h){if(!g(a))1t 1g r("8c is 1X.");if(!g(b))1t 1g r("3cf is 1X.");if(!g(c))1t 1g r("3ce is 1X.");if(!g(d))1t 1g r("4W2 is 1X.");if(!g(e))1t 1g r("4W1 is 1X.");if(!g(f))1t 1g r("4W0 is 1X.");if(!g(h))1t 1g r("4VZ is 1X.");if(1<h-d)1t 1g r("4VY 4VX 1v5 6L 1bS 6b at a 6q is 2S 2zE 11J.");1d l=1a.1sY;if(g(l)){1d p=1a.10V,n=1a.10o;g(1a.1zE)&&!1a.1zE&&(p=1k.1V(1k.2t(.5*1a.10V+1),33),n=1k.1V(1k.2t(.5*1a.10o+1),33));1d k=1a.3d0,w=k.14e,x=1g 1a.4Zn(p*n*w),m=l.1co,t=l.19F;b=a.1d1(b,c,d);a=a.1d1(e,f,h);e=k.1xk;f=k.2au;h=l.1MU;c=k.2at;d=k.2as;1j(1d q=k.2iM,G=1k.3r(d,c-1),u=0;u<n;++u){1d v=B.11x(a.4P,a.4C,u/(n-1));1j(l=0;l<p;++l){1d y=B.11x(a.4o,a.5a,l/(p-1)),A=1gL(m,t,e,f,b,p,n,y,v,h);A=A<k.3Af?k.3Af:A;A=A>k.3Ae?k.3Ae:A;y=x;1d C=c,K=d,Fa=G,L=u*p+l,S=A;L*=w;if(q)1j(A=0;A<C-1;++A)y[L+A]=S/Fa|0,S-=y[L+A]*Fa,Fa/=K;1s 1j(A=C-1;0<A;--A)y[L+A]=S/Fa|0,S-=y[L+A]*Fa,Fa/=K;y[L+A]=S}}k=!1;1j(l=0;l<x.1h;l++)if(1k.abs(x[l])>B.2zm){k=!0;1W}k||(p=n=33,x=6rZ);1f 1g Ch({3J:x,1G:p,1D:n,3z3:1a.4Zm,3bZ:1a.2r9,1Ku:0,2a5:1a.3d0,3cg:!0,1eu:1a.1zE})}};Ch.1i.33D=1b(a,b,c,d){if(!g(a))1t 1g r("3cf is 1X.");if(!g(b))1t 1g r("3ce is 1X.");if(!g(c))1t 1g r("4VW is 1X.");if(!g(d))1t 1g r("4VV is 1X.");1d e=2;c!==2*a&&++e;d!==2*b&&(e-=2);1f 0!==(1a.2EA&1<<e)};Ch.1i.342=1b(){1f 1a.2Lx};1d sw=1g Q;hk.1i.2ar=1b(a,b,c,d,e){1d f=1a.6C,h=1a.3cZ;if(0===a)1j(1d l=c;l<=e;++l)1j(1d g=b;g<=d;++g){a:{1d n=h.1h;1j(1d k=0;k<n;++k){1d w=h[k];if(w.x===g&&w.y===l&&w.6b===a){n=!0;1W a}}n=!1}n||h.1q(1g ox(f,1p 0,0,g,l))}f.1d1(b,c,a,sw);b=sw.4o;c=sw.4P;f.1d1(d,e,a,sw);a=1g 6rY(a,b,sw.4C,sw.5a,c);1j(d=0;d<h.1h;++d)if(f=h[d],qO(f.7l,a)){e=1a.17G;1j(b=a;f.6b<e;)if(vG(f.nw.7l,b))f=f.nw;1s if(vG(f.ne.7l,b))f=f.ne;1s if(vG(f.sw.7l,b))f=f.sw;1s if(vG(f.se.7l,b))f=f.se;1s 1W;0===f.1WC.1h||f.1WC[f.1WC.1h-1].6b<=b.6b?f.1WC.1q(b):(e=Ah(f.1WC,b.6b,6rX),0>=e&&(e=~e),f.1WC.6z(e,0,b))}};hk.1i.4aW=1b(a){1j(1d b,c=0;c<1a.3cZ.1h;++c){1d d=1a.3cZ[c];if(px(d.7l,a)){b=d;1W}}1f g(b)?lB(1p 0,b,a):-1};1d uE=[],vE=[],6rW=1g Q,6rV=1g Q;hk.1i.96j=1b(a){uE.1h=0;a.5a<a.4o?(uE.1q(Q.15i(-1k.PI,a.4C,a.5a,a.4P,6rW)),uE.1q(Q.15i(a.4o,a.4C,1k.PI,a.4P,6rV))):uE.1q(a);1j(a=vE.1h=0;a<1a.3cZ.1h;++a)mB(vE,1a.3cZ[a],uE);1j(a=vE.1h-1;0<=a;--a)if(g(vE[a])&&0===vE[a].1h)1f a;1f 0};1d 4Zl=1g T;hk.1i.24g=1b(a,b,c){b=1a.6C.1d1(b,c,a,sw);Q.2V(b,4Zl);1f 1a.4aW(4Zl)>=a};hk.1i.4Zj=1b(a,b,c){a+=1;if(a>=1a.17G)1f 0;1d d=0|(1a.24g(a,2*b,2*c+1)?1:0);d|=1a.24g(a,2*b+1,2*c+1)?2:0;d|=1a.24g(a,2*b,2*c)?4:0;1f d|=1a.24g(a,2*b+1,2*c)?8:0};1L.2X(ox.1i,{nw:{1n:1b(){1a.2rI||(1a.2rI=1g ox(1a.8c,1a,1a.6b+1,2*1a.x,2*1a.y));1f 1a.2rI}},ne:{1n:1b(){1a.2rH||(1a.2rH=1g ox(1a.8c,1a,1a.6b+1,2*1a.x+1,2*1a.y));1f 1a.2rH}},sw:{1n:1b(){1a.2rG||(1a.2rG=1g ox(1a.8c,1a,1a.6b+1,2*1a.x,2*1a.y+1));1f 1a.2rG}},se:{1n:1b(){1a.2rF||(1a.2rF=1g ox(1a.8c,1a,1a.6b+1,2*1a.x+1,2*1a.y+1));1f 1a.2rF}}});Lc.1ir=1b(a,b,c,d,e,f,h,l,p){1d n=a;g(a)?(n.9Z=b,n.19s=d,n.x=e,n.y=f,n.6b=h,n.2LG=!1,n.7A=p,++n.4Zk):n=1g Lc(b,d,e,f,h,0,p);0<c.2mw?c.5k(n):11l.7k(\'An 7A 1Jq in "\'+b.7m.2i+\'": \'+wG(d));n.2LG&&g(l)&&l();1f n};Lc.1Vf=1b(a){g(a)&&(a.4Zk=-1)};1L.2X(Le.1i,{3c:{1n:1b(){1f 1a.5W}},3g:{1n:1b(){1f 1a.7T}},18T:{1n:1b(){1f 1a.16y}}});Le.1i.1ou=1b(a){1f 1a.2Ru<<a};Le.1i.1Bj=1b(a){1f 1a.2Rt<<a};Le.1i.1JD=1b(a,b){1d c=1a.16y,d=c.12z(Q.1tI(a));a=c.12z(Q.1tH(a));if(!g(b))1f 1g Q(d.x,d.y,a.x,a.y);b.4o=d.x;b.4C=d.y;b.5a=a.x;b.4P=a.y;1f b};Le.1i.1JE=1b(a,b,c,d){if(g(1a.2iL)&&g(1a.1Ua)){1d e=1a.3cY(c),f=1a.24h.x+a*1a.14Q*e.x;a=1a.24h.x+(a+1)*1a.14Q*e.x;c=1a.24i.y-b*1a.16J*e.y;b=1a.24i.y-(b+1)*1a.16J*e.y;if(!g(d))1f 1g Q(f,b,a,c);d.4o=f;d.4C=b;d.5a=a;d.4P=c;1f d}f=1a.1ou(c);c=1a.1Bj(c);e=(1a.24i.x-1a.24h.x)/f;f=1a.24h.x+a*e;a=1a.24h.x+(a+1)*e;e=(1a.24i.y-1a.24h.y)/c;c=1a.24i.y-b*e;b=1a.24i.y-(b+1)*e;if(!g(d))1f 1g Q(f,b,a,c);d.4o=f;d.4C=b;d.5a=a;d.4P=c;1f d};Le.1i.1d1=1b(a,b,c,d){a=1a.1JE(a,b,c,d);c=1a.16y;b=c.1cZ(1g C(a.4o,a.4C));c=c.1cZ(1g C(a.5a,a.4P));a.4o=b.3N;a.4C=b.4k;a.5a=c.3N;a.4P=c.4k;1f a};Le.1i.1mi=1b(a,b,c){if(Q.8h(1a.7T,a)){1d d=1a.1ou(b),e=1a.1Bj(b),f=(1a.24i.x-1a.24h.x)/d,h=(1a.24i.y-1a.24h.y)/e;g(1a.2iL)&&g(1a.1Ua)&&(h=1a.3cY(b),f=1a.14Q*h.x,h=1a.16J*h.y);b=1a.16y.12z(a);a=1a.24i.y-b.y;f=(b.x-1a.24h.x)/f|0;f>=d&&(f=d-1);d=a/h|0;d>=e&&(d=e-1);if(!g(c))1f 1g C(f,d);c.x=f;c.y=d;1f c}};Le.1i.3cY=1b(a){1f 1g C(.3cX*1a.1Ua[a]/1a.2iL.x,.3cX*1a.1Ua[a]/1a.2iL.y)};1L.2X(qx.1i,{1cG:{1n:1b(){1f 1a.14P}},9L:{1n:1b(){if(!1a.3o)1t 1g r("9L 2Q 2S be 7I 8w 3o 20k 8O.");1f 1a.1dh}},8c:{1n:1b(){if(!1a.3o)1t 1g r("8c 2Q 2S be 7I 8w 3o 20k 8O.");1f 1a.6C}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S}},1z3:{1n:1b(){1f!1}},1lp:{1n:1b(){1f!1}}});qx.1i.1Bf=1b(a,b,c,d){if(!1a.4y)1t 1g r("1Bf 2Q 2S be 7I 8w 1Z 1st 9Z is 3o.");1d e=1a.12o.16M({2I:"11H/"+c+"/"+b+"/"+a,7M:d}),f=1a.3cU,h=Z.5h(!0);if(f&&!g(rO(1a,c+1,2*a,2*b))){1d l=3cT(1a,c+1,2*a,2*b);h=l.10l;1d p=l.7M}e=e.1kw();if(g(e)&&g(h)){1d n=1a,k=1a.3cW;1f Z.14G(e,h).4b(1b(d){1f 1g Ch({3J:d[0],1G:n.10V,1D:n.10o,1Ku:f?k.4Zj(c,a,b):15,2a5:n.2Ei,19F:n.3cV})}).10g(1b(a){1f g(p)&&p.4F===$d.21n?(d.1hm(),d.1ma.10l.2aR(1b(){d.4F=$d.21n;1f Z.7N(a)})):Z.7N(a)})}};qx.1i.1DR=1b(a){if(!1a.3o)1t 1g r("1DR 2Q 2S be 7I 8w 3o 20k 8O.");1f 1a.1RD/(1<<a)};qx.1i.2fl=1b(a,b,c){if(1a.3cU){1d d=rO(1a,c,a,b);if(g(d))1f d;3cT(1a,c,a,b)}};qx.1i.2Eh=1b(a,b,c){};1d Ib=1L.3F({6i:0,1gi:1,1sX:2}),xG=B.1io;1L.2X(Ia.1i,{1h:{1n:1b(){1f 1a.1gN.1h}},2a:{1n:1b(){1f 1a.1gN}}});Ia.1i.8h=1b(a){if("4n"!==2h a&&"2b"!==2h a)1t 1g r("10t is 1X to be a 4n or 2b.");1f g(1a.15W[a])};Ia.1i.1C=1b(a,b){if("4n"!==2h a&&"2b"!==2h a)1t 1g r("10t is 1X to be a 4n or 2b.");b!==1a.15W[a]&&(1a.3S(a),1a.15W[a]=b,1a.1gN.1q(b))};Ia.1i.1n=1b(a){if("4n"!==2h a&&"2b"!==2h a)1t 1g r("10t is 1X to be a 4n or 2b.");1f 1a.15W[a]};Ia.1i.3S=1b(a){if(g(a)&&"4n"!==2h a&&"2b"!==2h a)1t 1g r("10t is 1X to be a 4n or 2b.");1d b=1a.15W[a],c=g(b);if(c){1d d=1a.1gN;d.6z(d.3f(b),1);4Y 1a.15W[a]}1f c};Ia.1i.7f=1b(){1d a=1a.1gN;0<a.1h&&(1a.15W={},a.1h=0)};Ia.1y=1b(a,b){if(g(a)){g(b)?b.7f():b=1g Ia;1j(1d c in a.15W)a.15W.3p(c)&&b.1C(c,a.15W[c]);1f b}};1d 4Zi=1g k,4Zh=1g k,4Zg=1g k,nB={6rU:1p 0,2IV:1b(a){1f g(a)?a:nB.6rU}};1L.2X(tO.1i,{2I:{1n:1b(){1f"1bU://44g.4Zf.2fH/35s/v1/6rT"}},10t:{1n:1b(){1f 1a.2dI}}});tO.1i.2Eq=1b(a){v.1N.4n("16H",a);1f 1a.12o.16M({1kx:{16H:a}}).2Rs("2HZ").4b(1b(a){1f 0===a.4aV.1h?[]:a.4aV[0].6rS.5d(1b(a){1d b=a.1bD;1f{2ix:a.2i,16h:Q.8g(b[1],b[0],b[3],b[2])}})})};Aa.4q=4;Aa.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a.x;b[c++]=a.y;b[c++]=a.1G;b[c]=a.1D;1f b};Aa.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g Aa);c.x=a[b++];c.y=a[b++];c.1G=a[b++];c.1D=a[b];1f c};Aa.1aN=1b(a,b){g(b)||(b=1g Aa);if(!g(a)||0===a.1h)1f b.x=0,b.y=0,b.1G=0,b.1D=0,b;1j(1d c=a.1h,d=a[0].x,e=a[0].y,f=a[0].x,h=a[0].y,l=1;l<c;l++){1d p=a[l],n=p.x;p=p.y;d=1k.2o(n,d);f=1k.1V(n,f);e=1k.2o(p,e);h=1k.1V(p,h)}b.x=d;b.y=e;b.1G=f-d;b.1D=h-e;1f b};1d 6rR=1g Td,6rQ=1g T,6rP=1g T;Aa.21r=1b(a,b,c){g(c)||(c=1g Aa);if(!g(a))1f c.x=0,c.y=0,c.1G=0,c.1D=0,c;b=m(b,6rR);1d d=b.12z(Q.1tI(a,6rQ));a=b.12z(Q.1tH(a,6rP));C.3V(a,d,a);c.x=d.x;c.y=d.y;c.1G=a.x;c.1D=a.y;1f c};Aa.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g Aa(a.x,a.y,a.1G,a.1D);b.x=a.x;b.y=a.y;b.1G=a.1G;b.1D=a.1D;1f b}};Aa.1nu=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);g(c)||(c=1g Aa);1d d=1k.2o(a.x,b.x),e=1k.2o(a.y,b.y),f=1k.1V(a.x+a.1G,b.x+b.1G);a=1k.1V(a.y+a.1D,b.y+b.1D);c.x=d;c.y=e;c.1G=f-d;c.1D=a-e;1f c};Aa.1We=1b(a,b,c){v.1N.2c("3g",a);v.1N.2c("7v",b);c=Aa.1y(a,c);a=b.x-c.x;1d d=b.y-c.y;a>c.1G?c.1G=a:0>a&&(c.1G-=a,c.x=b.x);d>c.1D?c.1D=d:0>d&&(c.1D-=d,c.y=b.y);1f c};Aa.1sU=1b(a,b){v.1N.2c("3B",a);v.1N.2c("2W",b);1d c=a.x,d=a.y,e=b.x,f=b.y;1f c>e+b.1G||c+a.1G<e||d+a.1D<f||d>f+b.1D?Lb.1gB:Lb.1wT};Aa.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.x===b.x&&a.y===b.y&&a.1G===b.1G&&a.1D===b.1D};Aa.1i.1y=1b(a){1f Aa.1y(1a,a)};Aa.1i.1sU=1b(a){1f Aa.1sU(1a,a)};Aa.1i.2L=1b(a){1f Aa.2L(1a,a)};1d wu=1L.3F({6i:0,11G:1,1ao:2,4UR:3});ub.4q=4;ub.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a[0];b[c++]=a[1];b[c++]=a[2];b[c++]=a[3];1f b};ub.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g ub);c[0]=a[b++];c[1]=a[b++];c[2]=a[b++];c[3]=a[b++];1f c};ub.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g ub(a[0],a[2],a[1],a[3]);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];1f b}};ub.7j=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g ub);c[0]=a[b];c[1]=a[b+1];c[2]=a[b+2];c[3]=a[b+3];1f c};ub.2ii=1b(a,b){v.2l("2a",a);1f ub.1y(a,b)};ub.4Ze=1b(a,b){v.2l("2a",a);if(!g(b))1f 1g ub(a[0],a[1],a[2],a[3]);b[0]=a[0];b[1]=a[2];b[2]=a[1];b[3]=a[3];1f b};ub.1oY=1b(a,b){v.1N.2c("3b",a);if(!g(b))1f 1g ub(a.x,0,0,a.y);b[0]=a.x;b[1]=0;b[2]=0;b[3]=a.y;1f b};ub.4Zd=1b(a,b){v.1N.2b("3b",a);if(!g(b))1f 1g ub(a,0,0,a);b[0]=a;b[1]=0;b[2]=0;b[3]=a;1f b};ub.49s=1b(a,b){v.1N.2b("8f",a);1d c=1k.3i(a);a=1k.2T(a);if(!g(b))1f 1g ub(c,-a,a,c);b[0]=c;b[1]=a;b[2]=-a;b[3]=c;1f b};ub.1MY=1b(a,b){v.1N.2c("8W",a);if(!g(b))1f[a[0],a[1],a[2],a[3]];b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];1f b};ub.1w1=1b(a,b){v.1N.2b.9Y("1sA",b,0);v.1N.2b.19D("1sA",b,1);v.1N.2b.9Y("2or",a,0);v.1N.2b.19D("2or",a,1);1f 2*a+b};ub.1ed=1b(a,b,c){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,1);v.1N.2c("4D",c);b*=2;1d d=a[b+1];c.x=a[b];c.y=d;1f c};ub.1vr=1b(a,b,c,d){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,1);v.1N.2c("16L",c);v.1N.2c("4D",d);d=ub.1y(a,d);a=2*b;d[a]=c.x;d[a+1]=c.y;1f d};ub.4aU=1b(a,b,c){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,1);v.1N.2c("4D",c);1d d=a[b+2];c.x=a[b];c.y=d;1f c};ub.4Zc=1b(a,b,c,d){v.1N.2c("8W",a);v.1N.2b.9Y("2P",b,0);v.1N.2b.19D("2P",b,1);v.1N.2c("16L",c);v.1N.2c("4D",d);d=ub.1y(a,d);d[b]=c.x;d[b+2]=c.y;1f d};1d 4Zb=1g C;ub.1sj=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b.x=C.7t(C.9v(a[0],a[1],4Zb));b.y=C.7t(C.9v(a[2],a[3],4Zb));1f b};1d 4Za=1g C;ub.4aT=1b(a){ub.1sj(a,4Za);1f C.1xj(4Za)};ub.9b=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);1d d=a[0]*b[2]+a[2]*b[3],e=a[1]*b[0]+a[3]*b[1],f=a[1]*b[2]+a[3]*b[3];c[0]=a[0]*b[0]+a[2]*b[1];c[1]=e;c[2]=d;c[3]=f;1f c};ub.add=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];1f c};ub.3V=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];1f c};ub.10r=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("16L",b);v.1N.2c("4D",c);1d d=a[1]*b.x+a[3]*b.y;c.x=a[0]*b.x+a[2]*b.y;c.y=d;1f c};ub.4g=1b(a,b,c){v.1N.2c("8W",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;1f c};ub.2qj=1b(a,b,c){v.1N.2c("8W",a);v.1N.2c("3b",b);v.1N.2c("4D",c);c[0]=a[0]*b.x;c[1]=a[1]*b.x;c[2]=a[2]*b.y;c[3]=a[3]*b.y;1f c};ub.11k=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=-a[3];1f b};ub.1z0=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);1d c=a[2],d=a[1],e=a[3];b[0]=a[0];b[1]=c;b[2]=d;b[3]=e;1f b};ub.abs=1b(a,b){v.1N.2c("8W",a);v.1N.2c("4D",b);b[0]=1k.abs(a[0]);b[1]=1k.abs(a[1]);b[2]=1k.abs(a[2]);b[3]=1k.abs(a[3]);1f b};ub.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]};ub.1zX=1b(a,b,c){1f a[0]===b[c]&&a[1]===b[c+1]&&a[2]===b[c+2]&&a[3]===b[c+3]};ub.5T=1b(a,b,c){v.1N.2b("1fk",c);1f a===b||g(a)&&g(b)&&1k.abs(a[0]-b[0])<=c&&1k.abs(a[1]-b[1])<=c&&1k.abs(a[2]-b[2])<=c&&1k.abs(a[3]-b[3])<=c};ub.8K=1L.3F(1g ub(1,0,0,1));ub.6h=1L.3F(1g ub(0,0,0,0));ub.3cS=0;ub.3cR=1;ub.3cQ=2;ub.3cP=3;1L.2X(ub.1i,{1h:{1n:1b(){1f ub.4q}}});ub.1i.1y=1b(a){1f ub.1y(1a,a)};ub.1i.2L=1b(a){1f ub.2L(1a,a)};ub.1i.5T=1b(a,b){1f ub.5T(1a,a,b)};ub.1i.5s=1b(){1f"("+1a[0]+", "+1a[2]+")\\n("+1a[1]+", "+1a[3]+")"};1d qt={1wF:H.1wF,1ao:H.1ao,3A0:H.3A0,22n:H.22n,11G:H.11G,2rC:H.2rC,2iI:H.2iI,1f6:1b(a){1f a===qt.1wF||a===qt.1ao||a===qt.3A0||a===qt.22n||a===qt.11G||a===qt.2rC||a===qt.2iI}},Ja=1L.3F(qt);Pb.1Wn=1b(a){v.1N.2c("3y",a);1d b=-1,c;1j(c in a.2w)if(a.2w.3p(c)&&g(a.2w[c])&&g(a.2w[c].2a)){1d d=a.2w[c];d=d.2a.1h/d.2Z;if(b!==d&&-1!==b)1t 1g r("2qv 3Q 96i 2Q 118 1Z 1ik 2b of 2w.");b=d}1f b};1d 6rO=1g T,6rN=1g k,4Z9=1g A,tw=[1g T,1g T,1g T],wE=[1g C,1g C,1g C],Zo=[1g C,1g C,1g C],6rM=1g k,6rL=1g ca,6rK=1g A,6rJ=1g ub;Pb.1NF=1b(a,b,c,d){1d e=Q.2V(d,6rO);e=T.1g8(e,c,6rN);e=Da.18N(e,c,4Z9);e=A.12Z(e,4Z9);tw[0].3N=d.4o;tw[0].4k=d.4C;tw[1].3N=d.4o;tw[1].4k=d.4P;tw[2].3N=d.5a;tw[2].4k=d.4C;1d f=6rM;1j(d=0;3>d;d++)T.1g8(tw[d],c,f),f=A.1gE(e,f,f),wE[d].x=f.x,wE[d].y=f.y;d=ca.1gG(k.16a,-b,6rL);1d h=J.1fE(d,6rK),l=a.1h,g=c=3a.19B,n=3a.1r7,z=3a.1r7;1j(d=0;d<l;d++)f=A.1gE(e,a[d],f),f=J.10r(h,f,f),c=1k.2o(c,f.x),g=1k.2o(g,f.y),n=1k.1V(n,f.x),z=1k.1V(z,f.y);a=ub.49s(b,6rJ);Zo[0].x=c;Zo[0].y=g;Zo[1].x=c;Zo[1].y=z;Zo[2].x=n;Zo[2].y=g;b=wE[0];e=wE[2].x-b.x;f=wE[1].y-b.y;1j(d=0;3>d;d++)c=Zo[d],ub.10r(a,c,c),c.x=(c.x-b.x)/e,c.y=(c.y-b.y)/f;a=Zo[1];b=Zo[2];d=2K(6);C.5n(Zo[0],d);C.5n(a,d,2);C.5n(b,d,4);1f d};1d ac=1L.3F({6i:0,1g5:1,1zj:2});za.1Gd=1L.3F(1g za({1K:!0}));za.48M=1L.3F(1g za({1K:!0,2U:!0}));za.2q4=1L.3F(1g za({1K:!0,2U:!0,st:!0}));za.4Jv=1L.3F(1g za({1K:!0,st:!0}));za.96h=1L.3F(1g za({1K:!0,1A:!0}));za.1zj=1L.3F(1g za({1K:!0,2U:!0,st:!0,8Q:!0,8T:!0}));za.1yD=za.2q4;za.4q=6;za.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);b[c++]=a.1K?1:0;b[c++]=a.2U?1:0;b[c++]=a.st?1:0;b[c++]=a.8Q?1:0;b[c++]=a.8T?1:0;b[c]=a.1A?1:0;1f b};za.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);g(c)||(c=1g za);c.1K=1===a[b++];c.2U=1===a[b++];c.st=1===a[b++];c.8Q=1===a[b++];c.8T=1===a[b++];c.1A=1===a[b];1f c};za.1y=1b(a,b){if(g(a))1f g(b)||(b=1g za),b.1K=a.1K,b.2U=a.2U,b.st=a.st,b.8Q=a.8Q,b.8T=a.8T,b.1A=a.1A,b};1d 6rI=1g k;yf.25S=1b(a){a=m(a,m.4Z);1d b=a.6e;v.1N.2c("6e",b);v.1N.2b.9Y("6e.x",b.x,0);v.1N.2b.9Y("6e.y",b.y,0);v.1N.2b.9Y("6e.z",b.z,0);b=k.4g(b,.5,1g k);1f 1g yf({13b:k.11k(b,1g k),14S:b,9S:a.9S,8J:a.8J})};yf.4jD=1b(a){v.1N.2c("1Bu",a);1f 1g yf({13b:a.13b,14S:a.14S})};yf.4q=2*k.4q+za.4q+1;yf.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);k.5n(a.1PN,b,c);k.5n(a.1PO,b,c+k.4q);za.5n(a.14s,b,c+2*k.4q);b[c+2*k.4q+za.4q]=m(a.12j,-1);1f b};1d 4Z8=1g k,4Z7=1g k,4Z6=1g za,4Z5={13b:4Z8,14S:4Z7,9S:4Z6,8J:1p 0};yf.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=k.5f(a,b,4Z8),e=k.5f(a,b+k.4q,4Z7),f=za.5f(a,b+2*k.4q,4Z6);a=a[b+2*k.4q+za.4q];if(!g(c))1f 4Z5.8J=-1===a?1p 0:a,1g yf(4Z5);c.1PN=k.1y(d,c.1PN);c.1PO=k.1y(e,c.1PO);c.14s=za.1y(f,c.14s);c.12j=-1===a?1p 0:a;1f c};yf.14t=1b(a){1d b=a.1PN,c=a.1PO,d=a.14s;if(!k.2L(b,c)){1d e=1g ce;if(d.1K&&(d.st||d.2U||d.8Q||d.8T)){if(d.1K){1d f=1g 13X(72);f[0]=b.x;f[1]=b.y;f[2]=c.z;f[3]=c.x;f[4]=b.y;f[5]=c.z;f[6]=c.x;f[7]=c.y;f[8]=c.z;f[9]=b.x;f[10]=c.y;f[11]=c.z;f[12]=b.x;f[13]=b.y;f[14]=b.z;f[15]=c.x;f[16]=b.y;f[17]=b.z;f[18]=c.x;f[19]=c.y;f[20]=b.z;f[21]=b.x;f[22]=c.y;f[23]=b.z;f[24]=c.x;f[25]=b.y;f[26]=b.z;f[27]=c.x;f[28]=c.y;f[29]=b.z;f[30]=c.x;f[31]=c.y;f[32]=c.z;f[33]=c.x;f[34]=b.y;f[35]=c.z;f[36]=b.x;f[37]=b.y;f[38]=b.z;f[39]=b.x;f[40]=c.y;f[41]=b.z;f[42]=b.x;f[43]=c.y;f[44]=c.z;f[45]=b.x;f[46]=b.y;f[47]=c.z;f[48]=b.x;f[49]=c.y;f[50]=b.z;f[51]=c.x;f[52]=c.y;f[53]=b.z;f[54]=c.x;f[55]=c.y;f[56]=c.z;f[57]=b.x;f[58]=c.y;f[59]=c.z;f[60]=b.x;f[61]=b.y;f[62]=b.z;f[63]=c.x;f[64]=b.y;f[65]=b.z;f[66]=c.x;f[67]=b.y;f[68]=c.z;f[69]=b.x;f[70]=b.y;f[71]=c.z;e.1K=1g Pa({3k:I.18l,2Z:3,2a:f})}if(d.2U){1d h=1g 4A(72);h[0]=0;h[1]=0;h[2]=1;h[3]=0;h[4]=0;h[5]=1;h[6]=0;h[7]=0;h[8]=1;h[9]=0;h[10]=0;h[11]=1;h[12]=0;h[13]=0;h[14]=-1;h[15]=0;h[16]=0;h[17]=-1;h[18]=0;h[19]=0;h[20]=-1;h[21]=0;h[22]=0;h[23]=-1;h[24]=1;h[25]=0;h[26]=0;h[27]=1;h[28]=0;h[29]=0;h[30]=1;h[31]=0;h[32]=0;h[33]=1;h[34]=0;h[35]=0;h[36]=-1;h[37]=0;h[38]=0;h[39]=-1;h[40]=0;h[41]=0;h[42]=-1;h[43]=0;h[44]=0;h[45]=-1;h[46]=0;h[47]=0;h[48]=0;h[49]=1;h[50]=0;h[51]=0;h[52]=1;h[53]=0;h[54]=0;h[55]=1;h[56]=0;h[57]=0;h[58]=1;h[59]=0;h[60]=0;h[61]=-1;h[62]=0;h[63]=0;h[64]=-1;h[65]=0;h[66]=0;h[67]=-1;h[68]=0;h[69]=0;h[70]=-1;h[71]=0;e.2U=1g Pa({3k:I.3O,2Z:3,2a:h})}d.st&&(h=1g 4A(48),h[0]=0,h[1]=0,h[2]=1,h[3]=0,h[4]=1,h[5]=1,h[6]=0,h[7]=1,h[8]=1,h[9]=0,h[10]=0,h[11]=0,h[12]=0,h[13]=1,h[14]=1,h[15]=1,h[16]=0,h[17]=0,h[18]=1,h[19]=0,h[20]=1,h[21]=1,h[22]=0,h[23]=1,h[24]=1,h[25]=0,h[26]=0,h[27]=0,h[28]=0,h[29]=1,h[30]=1,h[31]=1,h[32]=1,h[33]=0,h[34]=0,h[35]=0,h[36]=0,h[37]=1,h[38]=1,h[39]=1,h[40]=0,h[41]=0,h[42]=1,h[43]=0,h[44]=1,h[45]=1,h[46]=0,h[47]=1,e.st=1g Pa({3k:I.3O,2Z:2,2a:h}));d.8Q&&(h=1g 4A(72),h[0]=1,h[1]=0,h[2]=0,h[3]=1,h[4]=0,h[5]=0,h[6]=1,h[7]=0,h[8]=0,h[9]=1,h[10]=0,h[11]=0,h[12]=-1,h[13]=0,h[14]=0,h[15]=-1,h[16]=0,h[17]=0,h[18]=-1,h[19]=0,h[20]=0,h[21]=-1,h[22]=0,h[23]=0,h[24]=0,h[25]=1,h[26]=0,h[27]=0,h[28]=1,h[29]=0,h[30]=0,h[31]=1,h[32]=0,h[33]=0,h[34]=1,h[35]=0,h[36]=0,h[37]=-1,h[38]=0,h[39]=0,h[40]=-1,h[41]=0,h[42]=0,h[43]=-1,h[44]=0,h[45]=0,h[46]=-1,h[47]=0,h[48]=-1,h[49]=0,h[50]=0,h[51]=-1,h[52]=0,h[53]=0,h[54]=-1,h[55]=0,h[56]=0,h[57]=-1,h[58]=0,h[59]=0,h[60]=1,h[61]=0,h[62]=0,h[63]=1,h[64]=0,h[65]=0,h[66]=1,h[67]=0,h[68]=0,h[69]=1,h[70]=0,h[71]=0,e.8Q=1g Pa({3k:I.3O,2Z:3,2a:h}));d.8T&&(d=1g 4A(72),d[0]=0,d[1]=1,d[2]=0,d[3]=0,d[4]=1,d[5]=0,d[6]=0,d[7]=1,d[8]=0,d[9]=0,d[10]=1,d[11]=0,d[12]=0,d[13]=1,d[14]=0,d[15]=0,d[16]=1,d[17]=0,d[18]=0,d[19]=1,d[20]=0,d[21]=0,d[22]=1,d[23]=0,d[24]=0,d[25]=0,d[26]=1,d[27]=0,d[28]=0,d[29]=1,d[30]=0,d[31]=0,d[32]=1,d[33]=0,d[34]=0,d[35]=1,d[36]=0,d[37]=0,d[38]=1,d[39]=0,d[40]=0,d[41]=1,d[42]=0,d[43]=0,d[44]=1,d[45]=0,d[46]=0,d[47]=1,d[48]=0,d[49]=0,d[50]=1,d[51]=0,d[52]=0,d[53]=1,d[54]=0,d[55]=0,d[56]=1,d[57]=0,d[58]=0,d[59]=1,d[60]=0,d[61]=0,d[62]=1,d[63]=0,d[64]=0,d[65]=1,d[66]=0,d[67]=0,d[68]=1,d[69]=0,d[70]=0,d[71]=1,e.8T=1g Pa({3k:I.3O,2Z:3,2a:d}));d=1g 10Y(36);d[0]=0;d[1]=1;d[2]=2;d[3]=0;d[4]=2;d[5]=3;d[6]=6;d[7]=5;d[8]=4;d[9]=7;d[10]=6;d[11]=4;d[12]=8;d[13]=9;d[14]=10;d[15]=8;d[16]=10;d[17]=11;d[18]=14;d[19]=13;d[20]=12;d[21]=15;d[22]=14;d[23]=12;d[24]=18;d[25]=17;d[26]=16;d[27]=19;d[28]=18;d[29]=16;d[30]=20;d[31]=21;d[32]=22;d[33]=20;d[34]=22;d[35]=23}1s f=1g 13X(24),f[0]=b.x,f[1]=b.y,f[2]=b.z,f[3]=c.x,f[4]=b.y,f[5]=b.z,f[6]=c.x,f[7]=c.y,f[8]=b.z,f[9]=b.x,f[10]=c.y,f[11]=b.z,f[12]=b.x,f[13]=b.y,f[14]=c.z,f[15]=c.x,f[16]=b.y,f[17]=c.z,f[18]=c.x,f[19]=c.y,f[20]=c.z,f[21]=b.x,f[22]=c.y,f[23]=c.z,e.1K=1g Pa({3k:I.18l,2Z:3,2a:f}),d=1g 10Y(36),d[0]=4,d[1]=5,d[2]=6,d[3]=4,d[4]=6,d[5]=7,d[6]=1,d[7]=0,d[8]=3,d[9]=1,d[10]=3,d[11]=2,d[12]=1,d[13]=6,d[14]=5,d[15]=1,d[16]=2,d[17]=6,d[18]=2,d[19]=3,d[20]=7,d[21]=2,d[22]=7,d[23]=6,d[24]=3,d[25]=0,d[26]=4,d[27]=3,d[28]=4,d[29]=7,d[30]=0,d[31]=1,d[32]=5,d[33]=0,d[34]=5,d[35]=4;b=k.3V(c,b,6rI);b=.5*k.7t(b);g(a.12j)&&(f=1g 4L(f.1h/3),Ic(f,a.12j===ac.6i?0:1),e.1i2=1g Pa({3k:I.7U,2Z:1,2a:f}));1f 1g Pb({2w:e,4N:d,6Z:Ja.11G,7u:1g P(k.6h,b),8J:a.12j})}};1d cW;yf.96g=1b(){g(cW)||(cW=yf.14t(yf.25S({6e:1g k(1,1,1),9S:za.1Gd})));1f cW};1d 6rH=1g k;ai.25S=1b(a){a=m(a,m.4Z);1d b=a.6e;v.1N.2c("6e",b);v.1N.2b.9Y("6e.x",b.x,0);v.1N.2b.9Y("6e.y",b.y,0);v.1N.2b.9Y("6e.z",b.z,0);b=k.4g(b,.5,1g k);1f 1g ai({13b:k.11k(b,1g k),14S:b,8J:a.8J})};ai.4jD=1b(a){v.1N.2c("96f",a);1f 1g ai({13b:a.13b,14S:a.14S})};ai.4q=2*k.4q+1;ai.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);k.5n(a.2Q6,b,c);k.5n(a.3Ad,b,c+k.4q);b[c+2*k.4q]=m(a.12j,-1);1f b};1d 4Z4=1g k,4Z3=1g k,4Z2={13b:4Z4,14S:4Z3,8J:1p 0};ai.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=k.5f(a,b,4Z4),e=k.5f(a,b+k.4q,4Z3);a=a[b+2*k.4q];if(!g(c))1f 4Z2.8J=-1===a?1p 0:a,1g ai(4Z2);c.2Q6=k.1y(d,c.2Q6);c.3Ad=k.1y(e,c.3Ad);c.12j=-1===a?1p 0:a;1f c};ai.14t=1b(a){1d b=a.2Q6,c=a.3Ad;if(!k.2L(b,c)){1d d=1g ce,e=1g 10Y(24),f=1g 13X(24);f[0]=b.x;f[1]=b.y;f[2]=b.z;f[3]=c.x;f[4]=b.y;f[5]=b.z;f[6]=c.x;f[7]=c.y;f[8]=b.z;f[9]=b.x;f[10]=c.y;f[11]=b.z;f[12]=b.x;f[13]=b.y;f[14]=c.z;f[15]=c.x;f[16]=b.y;f[17]=c.z;f[18]=c.x;f[19]=c.y;f[20]=c.z;f[21]=b.x;f[22]=c.y;f[23]=c.z;d.1K=1g Pa({3k:I.18l,2Z:3,2a:f});e[0]=4;e[1]=5;e[2]=5;e[3]=6;e[4]=6;e[5]=7;e[6]=7;e[7]=4;e[8]=0;e[9]=1;e[10]=1;e[11]=2;e[12]=2;e[13]=3;e[14]=3;e[15]=0;e[16]=0;e[17]=4;e[18]=1;e[19]=5;e[20]=2;e[21]=6;e[22]=3;e[23]=7;b=k.3V(c,b,6rH);b=.5*k.7t(b);g(a.12j)&&(f=1g 4L(f.1h/3),Ic(f,a.12j===ac.6i?0:1),d.1i2=1g Pa({3k:I.7U,2Z:1,2a:f}));1f 1g Pb({2w:d,4N:e,6Z:Ja.1ao,7u:1g P(k.6h,b),8J:a.12j})}};1d Rq;"7w"!==2h 4fK&&(Rq=4fK);(1b(){if(!g(Rq)&&"7w"!==2h 7O)1j(1d a=["3jo","49q","ms","o"],b=0,c=a.1h;b<c&&!g(Rq);)Rq=7O[a[b]+"96e"],g(Rq)||(Rq=7O[a[b]+"96d"]),++b;g(Rq)||(Rq=2Jm)})();3L8.1i.2Eq=1b(a){v.1N.4n("16H",a);1d b=a.141(/[^\\s,\\n]+/g);if(2===b.1h||3===b.1h){1d c=+b[0],d=+b[1],e=3===b.1h?+b[2]:300;if(11I(c)&&11I(d))1j(1d f=/^(\\d+.?\\d*)([96b])/i,h=0;h<b.1h;++h){1d l=b[h].141(f);f.6S(b[h])&&3===l.1h&&(/^[ns]/i.6S(l[2])?d=/^[n]/i.6S(l[2])?+l[1]:-l[1]:/^[ew]/i.6S(l[2])&&(c=/^[e]/i.6S(l[2])?+l[1]:-l[1]))}if(!11I(c)&&!11I(d)&&!11I(e))1f a={2ix:a,16h:k.8g(c,d,e)},Z.5h([a])}1f Z.5h([])};pg.1i.3x=r.8i;pg.1i.1Ks=1b(a,b){1d c=1a.12K,d=c.1h;if(!g(a))1t 1g r("6q is 1X.");if(a<c[0]||a>c[d-1])1t 1g r("6q is 9H of 11D.");b=m(b,0);if(a>=c[b]){if(b+1<d&&a<c[b+1])1f b;if(b+2<d&&a<c[b+2])1f b+1}1s if(0<=b-1&&a>=c[b-1])1f b-1;if(a>c[b])1j(;b<d-1&&!(a>=c[b]&&a<c[b+1]);++b);1s 1j(--b;0<=b&&!(a>=c[b]&&a<c[b+1]);--b);b===d-1&&(b=d-2);1f b};pg.1i.1Wi=1b(a){v.1N.2b("6q",a);1d b=1a.12K,c=b[b.1h-1],d=b[0];b=c-d;a<d&&(d=1k.2t((d-a)/b)+1,a+=d*b);a>c&&(d=1k.2t((a-c)/b)+1,a-=d*b);1f a};pg.1i.1Wh=1b(a){v.1N.2b("6q",a);1d b=1a.12K;1f B.2Y(a,b[0],b[b.1h-1])};1L.2X(up.1i,{12K:{1n:1b(){1f 1a.1f7}},5I:{1n:1b(){1f 1a.15p}}});up.1i.1Ks=pg.1i.1Ks;up.1i.1Wi=pg.1i.1Wi;up.1i.1Wh=pg.1i.1Wh;up.1i.3x=1b(a,b){1d c=1a.5I,d=1a.12K,e=1a.1Kr=1a.1Ks(a,1a.1Kr);a=(a-d[e])/(d[e+1]-d[e]);g(b)||(b=1g k);1f k.11x(c[e],c[e+1],a,b)};1d dW={42M:1b(a,b,c,d){if(!(g(a)&&a 2m 2K))1t 1g r("9B 4x 1wp is 1X.");if(!(g(b)&&b 2m 2K))1t 1g r("9B 4x 3cO is 1X.");if(!(g(c)&&c 2m 2K))1t 1g r("9B 4x 3YH is 1X.");if(!(g(d)&&d 2m 2K))1t 1g r("9B 4x 2W is 1X.");if(b.1h!==d.1h)1t 1g r("3cO and 2W 2Q 118 1Z 1ik 1Hm.");if(a.1h!==c.1h)1t 1g r("1wp and 3YH 2Q 118 1Z 1ik 1Hm.");if(a.1h!==b.1h-1)1t 1g r("1wp and 3YH 2Q be 1bS 1do 6L 1Z 1h of 3cO.");1d e=2K(c.1h),f=2K(d.1h),h=2K(d.1h),l;1j(l=0;l<f.1h;l++)f[l]=1g k,h[l]=1g k;e[0]=c[0]/b[0];f[0]=k.4g(d[0],1/b[0],f[0]);1j(l=1;l<e.1h;++l){1d p=1/(b[l]-e[l-1]*a[l-1]);e[l]=c[l]*p;f[l]=k.3V(d[l],k.4g(f[l-1],a[l-1],f[l]),f[l]);f[l]=k.4g(f[l],p,f[l])}p=1/(b[l]-e[l-1]*a[l-1]);f[l]=k.3V(d[l],k.4g(f[l-1],a[l-1],f[l]),f[l]);f[l]=k.4g(f[l],p,f[l]);h[h.1h-1]=f[f.1h-1];1j(l=h.1h-2;0<=l;--l)h[l]=k.3V(f[l],k.4g(h[l+1],e[l],h[l]),h[l]);1f h}},An=[],Bn=[],Sq=[],rh=[];1L.2X(bi.1i,{12K:{1n:1b(){1f 1a.1f7}},5I:{1n:1b(){1f 1a.15p}},2EU:{1n:1b(){1f 1a.6rG}},2ET:{1n:1b(){1f 1a.6rF}}});bi.96a=1b(a){a=m(a,m.4Z);1d b=a.12K,c=a.5I,d=a.2iw;if(!g(c)||!g(b)||!g(d))1t 1g r("5I, 12K and 2iw are 1X.");if(2>c.1h)1t 1g r("5I.1h 2Q be 9U 6L or 14B to 2.");if(b.1h!==c.1h||b.1h!==d.1h)1t 1g r("12K, 5I and 2iw 2Q 118 1Z 1ik 1h.");a=d.4h(0,d.1h-1);d=d.4h(1,d.1h);1f 1g bi({12K:b,5I:c,2EU:d,2ET:a})};bi.969=1b(a){a=m(a,m.4Z);1d b=a.12K;a=a.5I;if(!g(a)||!g(b))1t 1g r("5I and 12K are 1X.");if(2>a.1h)1t 1g r("5I.1h 2Q be 9U 6L or 14B to 2.");if(b.1h!==a.1h)1t 1g r("12K.1h 2Q be 14B to 5I.1h.");if(3>a.1h)1f 1g up({5I:a,12K:b});An.1h=Sq.1h=a.1h-1;Bn.1h=rh.1h=a.1h;1d c;An[0]=Sq[0]=1;Bn[0]=2;1d d=rh[0];g(d)||(d=rh[0]=1g k);k.3V(a[1],a[0],d);k.4g(d,3,d);1j(c=1;c<An.1h;++c)An[c]=Sq[c]=1,Bn[c]=4,d=rh[c],g(d)||(d=rh[c]=1g k),k.3V(a[c+1],a[c-1],d),k.4g(d,3,d);Bn[c]=2;d=rh[c];g(d)||(d=rh[c]=1g k);k.3V(a[c],a[c-1],d);k.4g(d,3,d);d=dW.42M(An,Bn,Sq,rh);c=d.4h(0,d.1h-1);d=d.4h(1,d.1h);1f 1g bi({12K:b,5I:a,2EU:d,2ET:c})};bi.968=1b(a){a=m(a,m.4Z);1d b=a.12K,c=a.5I,d=a.3Ac;a=a.3Ab;if(!(g(c)&&g(b)&&g(d)&&g(a)))1t 1g r("5I, 12K, 3Ac and 3Ab are 1X.");if(2>c.1h)1t 1g r("5I.1h 2Q be 9U 6L or 14B to 2.");if(b.1h!==c.1h)1t 1g r("12K.1h 2Q be 14B to 5I.1h.");if(3>c.1h)1f 1g up({5I:c,12K:b});An.1h=Sq.1h=c.1h-1;Bn.1h=rh.1h=c.1h;An[0]=Bn[0]=1;Sq[0]=0;1d e=rh[0];g(e)||(e=rh[0]=1g k);k.1y(d,e);1j(d=1;d<An.1h-1;++d)An[d]=Sq[d]=1,Bn[d]=4,e=rh[d],g(e)||(e=rh[d]=1g k),k.3V(c[d+1],c[d-1],e),k.4g(e,3,e);An[d]=0;Sq[d]=1;Bn[d]=4;e=rh[d];g(e)||(e=rh[d]=1g k);k.3V(c[d+1],c[d-1],e);k.4g(e,3,e);Bn[d+1]=1;e=rh[d+1];g(e)||(e=rh[d+1]=1g k);k.1y(a,e);a=dW.42M(An,Bn,Sq,rh);d=a.4h(0,a.1h-1);a=a.4h(1,a.1h);1f 1g bi({12K:b,5I:c,2EU:a,2ET:d})};bi.4aS=1g A(2,-3,0,1,-2,3,0,0,1,-2,1,0,1,-1,0,0);bi.1i.1Ks=pg.1i.1Ks;1d uw=1g E,jA=1g k;bi.1i.1Wi=pg.1i.1Wi;bi.1i.1Wh=pg.1i.1Wh;bi.1i.3x=1b(a,b){g(b)||(b=1g k);1d c=1a.5I,d=1a.12K,e=1a.2EU,f=1a.2ET,h=1a.1Kr=1a.1Ks(a,1a.1Kr);a=(a-d[h])/(d[h+1]-d[h]);uw.z=a;uw.y=a*a;uw.x=uw.y*a;uw.w=1;a=A.10r(bi.4aS,uw,uw);b=k.4g(c[h],a.x,b);k.4g(c[h+1],a.y,jA);k.add(b,jA,b);k.4g(f[h],a.z,jA);k.add(b,jA,b);k.4g(e[h],a.w,jA);1f k.add(b,jA,b)};1d 6rE=1g E,4Z1=1g k,rx=1g k,6rD=1g k,6rC=1g k;1L.2X(Em.1i,{12K:{1n:1b(){1f 1a.1f7}},5I:{1n:1b(){1f 1a.15p}},3Ac:{1n:1b(){1f 1a.6rB}},3Ab:{1n:1b(){1f 1a.6rA}}});Em.6rz=1g A(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);Em.1i.1Ks=pg.1i.1Ks;Em.1i.1Wi=pg.1i.1Wi;Em.1i.1Wh=pg.1i.1Wh;Em.1i.3x=1b(a,b){1f 1a.49w(a,b)};Me.6ry=1b(a,b){1f(1g 21W(b)).1AM(a)};Me.6rx=1b(a){1j(1d b="",c=0,d=0,e=0,f=128,h=191,l=[],g=a.1h,n=0;n<g;++n){1d k=a[n];if(0===e){if(0<=k&&127>=k){l.1q(k);1aJ}if(194<=k&&223>=k){e=1;c=k&31;1aJ}if(224<=k&&239>=k){224===k&&(f=160);237===k&&(h=159);e=2;c=k&15;1aJ}if(240<=k&&244>=k){240===k&&(f=144);244===k&&(h=143);e=3;c=k&7;1aJ}1t 1g qa("10J 4CE 1bf.");}f<=k&&k<=h?(f=128,h=191,c=c<<6|k&63,++d,d===e&&(l.1q(c),c=e=d=0)):(c=e=d=0,f=128,h=191,--n)}a=l.1h;1j(c=0;c<a;++c)d=l[c],1a6>=d?b+=10J.1gx(d):(d-=12v,b+=10J.1gx((d>>10)+1v4,(d&1yG)+1AV));1f b};Me.1AM="7w"!==2h 21W?Me.6ry:Me.6rx;1d xE={964:1b(a,b,c,d,e,f){if(!g(a))1t 1g r("19U is 1X.");if(!g(b))1t 1g r("962 is 1X.");if(!g(c))1t 1g r("u0 is 1X.");if(!g(d))1t 1g r("u1 is 1X.");if(!g(e))1t 1g r("u2 is 1X.");g(f)?f.1h=0:f=[];if(b){b=c<a;1d h=d<a;1d l=e<a}1s b=c>a,h=d>a,l=e>a;1d p=b+h+l;1===p?b?(d=(a-c)/(d-c),c=(a-c)/(e-c),f.1q(1),f.1q(2),1!==c&&(f.1q(-1),f.1q(0),f.1q(2),f.1q(c)),1!==d&&(f.1q(-1),f.1q(0),f.1q(1),f.1q(d))):h?(e=(a-d)/(e-d),d=(a-d)/(c-d),f.1q(2),f.1q(0),1!==d&&(f.1q(-1),f.1q(1),f.1q(0),f.1q(d)),1!==e&&(f.1q(-1),f.1q(1),f.1q(2),f.1q(e))):l&&(c=(a-e)/(c-e),e=(a-e)/(d-e),f.1q(0),f.1q(1),1!==e&&(f.1q(-1),f.1q(2),f.1q(1),f.1q(e)),1!==c&&(f.1q(-1),f.1q(2),f.1q(0),f.1q(c))):2===p?b||c===a?h||d===a?l||e===a||(c=(a-c)/(e-c),e=(a-d)/(e-d),f.1q(2),f.1q(-1),f.1q(0),f.1q(2),f.1q(c),f.1q(-1),f.1q(1),f.1q(2),f.1q(e)):(e=(a-e)/(d-e),d=(a-c)/(d-c),f.1q(1),f.1q(-1),f.1q(2),f.1q(1),f.1q(e),f.1q(-1),f.1q(0),f.1q(1),f.1q(d)):(d=(a-d)/(c-d),c=(a-e)/(c-e),f.1q(0),f.1q(-1),f.1q(1),f.1q(0),f.1q(d),f.1q(-1),f.1q(2),f.1q(0),f.1q(c)):3!==p&&(f.1q(0),f.1q(1),f.1q(2));1f f},3zs:1b(a,b,c,d,e,f,h,l,p){if(!g(a))1t 1g r("x is 1X.");if(!g(b))1t 1g r("y is 1X.");if(!g(c))1t 1g r("x1 is 1X.");if(!g(d))1t 1g r("y1 is 1X.");if(!g(e))1t 1g r("x2 is 1X.");if(!g(f))1t 1g r("y2 is 1X.");if(!g(h))1t 1g r("x3 is 1X.");if(!g(l))1t 1g r("y3 is 1X.");c-=h;e=h-e;f-=l;d-=l;1d n=1/(f*c+e*d);b-=l;a-=h;h=(f*a+e*b)*n;c=(-d*a+c*b)*n;a=1-h-c;1f g(p)?(p.x=h,p.y=c,p.z=a,p):1g k(h,c,a)},960:1b(a,b,c,d,e,f,h,l,p){v.1N.2b("1Ke",a);v.1N.2b("95Z",b);v.1N.2b("95Y",c);v.1N.2b("95X",d);v.1N.2b("95W",e);v.1N.2b("95V",f);v.1N.2b("95U",h);v.1N.2b("95T",l);1d n=(l-f)*(c-a)-(h-e)*(d-b);if(0!==n&&(h=((h-e)*(b-f)-(l-f)*(a-e))/n,e=((c-a)*(b-f)-(d-b)*(a-e))/n,0<=h&&1>=h&&0<=e&&1>=e))1f g(p)||(p=1g C),p.x=a+h*(c-a),p.y=b+h*(d-b),p}};1L.2X(Sn.1i,{1mn:{1n:1b(){1f 1a.1Ny}},1UM:{1n:1b(){1f 1a.4aR}},1Ku:{1n:1b(){1f 1a.2EA}},4wY:{1n:1b(){1f g(1a.1sY)}},1ns:{1n:1b(){1f 1a.3p5}}});1d zG=[],6rw=1g Vc("95S");Sn.1i.3z0=1b(a,b,c,d,e){if(!g(a))1t 1g r("8c is 1X.");if(!g(b))1t 1g r("x is 1X.");if(!g(c))1t 1g r("y is 1X.");if(!g(d))1t 1g r("6b is 1X.");1d f=a.3c;a=a.1d1(b,c,d);e=m(e,1);d=6rw.1fa({13w:1a.1GD,12x:1a.1DY,2R5:1a.2ES,95R:1a.4Z0,3zt:!0,4N:1a.1lz,2rj:1a.4aQ,2ri:1a.4aP,2rh:1a.4aO,2rg:1a.4aN,2R4:1a.4aM,2R3:1a.4aL,2R2:1a.4aK,2R1:1a.4aJ,3g:a,3zu:1a.5V.2V,3c:f,1MU:e,6b:d});if(g(d)){1d h=1a;1f Z(d,1b(a){1d b=h.2ES.1h/3,c=Ta.9g(b+h.4aQ.1h+h.4aP.1h+h.4aO.1h+h.4aN.1h,a.4N),d=1g 4A(a.1co),f=a.2V,l=a.13w,g=a.12x,t=m(P.1y(a.7u),h.5V),r=m(yc.1y(a.1ls),h.1vX),G=m(k.1y(a.1UK),h.6rv),q=a.95Q,u=Bh.1y(a.19F);h.1sY=1g nx(f,d,c,a.27O,b,l,g,t,G,q,r,u,e,a.1KC,a.1KB,a.1KA,a.1Kz,0===c.1h||0===g||h.16w);h.2ES=1p 0;h.4Z0=1p 0;h.1lz=1p 0;h.4YZ=1p 0;h.4YY=1p 0;h.4YX=1p 0;h.4aQ=1p 0;h.4aP=1p 0;h.4aO=1p 0;h.4aN=1p 0;1f h.1sY})}};1d 6ru=1g Vc("6lV");Sn.1i.3yZ=1b(a,b,c,d,e,f,h){if(!g(a))1t 1g r("8c is 1X.");if(!g(b))1t 1g r("3cf is 1X.");if(!g(c))1t 1g r("3ce is 1X.");if(!g(d))1t 1g r("4W2 is 1X.");if(!g(e))1t 1g r("4W1 is 1X.");if(!g(f))1t 1g r("4W0 is 1X.");if(!g(h))1t 1g r("4VZ is 1X.");if(1<h-d)1t 1g r("4VY 4VX 1v5 6L 1bS 6b at a 6q is 2S 2zE 11J.");d=1a.1sY;if(g(1a.1sY)){b=2*b!==e;c=2*c===f;1d l=a.3c;a=a.1d1(e,f,h);a=6ru.1fa({1co:d.1co,3ch:d.3ch,4N:d.4N,27O:d.27O,19F:d.19F,13w:1a.1GD,12x:1a.1DY,6lT:b,6lS:c,6lR:a,3c:l,1MU:d.1MU});if(g(a)){e=1k.2o(1a.4aM,1a.4aK);e=1k.2o(e,1a.4aL);e=1k.2o(e,1a.4aJ);1d p=b?.5*e:1a.4aM,n=c?.5*e:1a.4aL,z=b?1a.4aK:.5*e,w=c?1a.4aJ:.5*e,x=1a.1Ny;1f Z(a).4b(1b(a){1d b=1g 10Y(a.1co),c=Ta.9g(b.1h/3,a.4N),d;g(a.3Aa)&&(d=1g 4L(a.3Aa));if(g(a.2rk))1f 1g Sn({2R5:b,4N:c,3Aa:d,13w:a.13w,12x:a.12x,7u:P.1y(a.7u),1ls:yc.1y(a.1ls),2rk:k.1y(a.2rk),2rj:a.2rj,2ri:a.2ri,2rh:a.2rh,2rg:a.2rg,2R4:p,2R3:n,2R2:z,2R1:w,1Ku:0,1mn:x,3cg:!0})})}}};1d 4YV=1g k;Sn.1i.3bW=1b(a,b,c){b=B.2Y((b-a.4o)/a.1G,0,1);b*=2Je;c=B.2Y((c-a.4C)/a.1D,0,1);c*=2Je;if(!g(1a.1sY)){a:{a=b;b=1a.4YZ;1j(1d d=1a.4YY,e=1a.4YX,f=1a.1lz,h=0,l=f.1h;h<l;h+=3){1d p=f[h],n=f[h+1],k=f[h+2],w=b[p],x=b[n],m=b[k],t=d[p],r=d[n],G=d[k];if(4YW(a,c,w,t,x,r,m,G)&&(w=xE.3zs(a,c,w,t,x,r,m,G,4YV),-1E-15<=w.x&&-1E-15<=w.y&&-1E-15<=w.z)){a=B.11x(1a.1GD,1a.1DY,(w.x*e[p]+w.y*e[n]+w.z*e[k])/2Je);1W a}}a=1p 0}1f a}a:{e=c;d=1a.1sY;a=d.1co;c=d.19F;h=d.4N;l=0;1j(p=h.1h;l<p;l+=3)if(n=h[l],f=h[l+1],d=h[l+2],k=c.1Wt(a,n,6rt),w=c.1Wt(a,f,6rs),x=c.1Wt(a,d,6rr),4YW(b,e,k.x,k.y,w.x,w.y,x.x,x.y)&&(k=xE.3zs(b,e,k.x,k.y,w.x,w.y,x.x,x.y,4YV),-1E-15<=k.x&&-1E-15<=k.y&&-1E-15<=k.z)){b=c.1Ky(a,n);e=c.1Ky(a,f);a=c.1Ky(a,d);a=k.x*b+k.y*e+k.z*a;1W a}a=1p 0}1f a};1d 6rt=1g C,6rs=1g C,6rr=1g C;Sn.1i.33D=1b(a,b,c,d){if(!g(a))1t 1g r("3cf is 1X.");if(!g(b))1t 1g r("3ce is 1X.");if(!g(c))1t 1g r("4VW is 1X.");if(!g(d))1t 1g r("4VV is 1X.");1d e=2;c!==2*a&&++e;d!==2*b&&(e-=2);1f 0!==(1a.2EA&1<<e)};Sn.1i.342=1b(){1f 1a.2Lx};1d Br=1L.3F({35s:0,35x:1}),Fm=1L.3F({2Rr:"1pI",3A9:"10t"});1L.2X(Ba.1i,{1Q:{1n:1b(){1f 1a.6j},1C:1b(a){1a.6j=a}},2i:{1n:1b(){1f 1a.6X},1C:1b(a){1a.6X=a}}});Ba.1cl=1b(a){1d b=a.11c(0,a.3f("/2eB")+10);if(g(Ba.12M.1e7[b]))6U(Ba.12M.1e7[b].1I){1S Fm.2Rr:b="?"+Kg({1pI:Ba.12M.1e7[b].1Q});1W;1S Fm.3A9:b="?"+Kg({10t:Ba.12M.1e7[b].1Q});1W;4T:b=""}1s 6U(Ba.12M.2i){1S Fm.2Rr:b="?"+Kg({1pI:Ba.12M.1Q});1W;1S Fm.3A9:b="?"+Kg({10t:Ba.12M.1Q});1W;4T:b=""}1f oB(a,b,!1)};Ba.1oo=1b(a,b){if(g(Ba.12M.1e7[a])){if(Ba.12M.1e7[a].1I 2m 2K){1d c=Ba.12M.1e7[a].1I;a=Ba.12M.1e7[a].1Q;1d d={};d[c[0]]=a[0];b=oB(b,"?"+Kg(d),!1);1j(1d e=1;e<c.1h;e++)d={},d[c[e]]=a[e],b=b+"&"+Kg(d);1f b}6U(Ba.12M.1e7[a].1I){1S Fm.2Rr:c="?"+Kg({1pI:Ba.12M.1e7[a].1Q});1W;1S Fm.3A9:c="?"+Kg({10t:Ba.12M.1e7[a].1Q});1W;4T:d={},d[Ba.12M.1e7[a].1I]=Ba.12M.1e7[a].1Q,c="?"+Kg(d)}}1s 6U(Ba.12M.2i){1S Fm.2Rr:c="?"+Kg({1pI:Ba.12M.1Q});1W;1S Fm.3A9:c="?"+Kg({10t:Ba.12M.1Q});1W;4T:c=""}1f oB(b,c,!1)};Ba.12M=1F;1d 6rq=/^2g:(.*?)(;1G3)?,(.*)$/;Tn.1e4=1b(a,b,c,d,e,f,h){1d l=6rq.1f4(a);if(1F!==l)f.5h(6rp(l,b));1s{1d p=1g 1J3;tp.8h(a)&&(p.6ro=!0);g(h)&&g(p.1w0)&&p.1w0(h);p.1pj(c,a,!0);if(g(e))1j(1d k in e)e.3p(k)&&p.4YU(k,e[k]);g(b)&&(p.1f8=b);1d z=!1;"4n"===2h a&&(z=0===a.3f("1ol://"));p.1w2=1b(){if(!(200>p.1hM||300<=p.1hM)||z&&0===p.1hM){1d a=p.1pa,c=p.1f8;if(!g(a)||g(b)&&c!==b)if("15l"===b&&"4n"===2h a)10G{f.5h(4H.5N(a))}11B(D){f.7N(D)}1s(""===c||"3n"===c)&&g(p.3cN)&&p.3cN.4YT()?f.5h(p.3cN):""!==c&&"3l"!==c||!g(p.2ME)?f.7N(1g qa("13H 1J3 1pa 1I.")):f.5h(p.2ME);1s f.5h(a)}1s f.7N(1g wr(p.1hM,p.1pa,p.4YS()))};p.1ra=1b(a){f.7N(1g wr)};p.26m(d);1f p}};Tn.95P=Tn.1e4;1d N=1b(){1a.2Rq=1F};N.1i.1dD=1b(a){1d b=a.3f("<");0<b&&(a=a.11c(b));if(27n)1f 1a.2Rq||(1a.2Rq=1g 27n),b=1a.2Rq,b.27q(a,"3l/1g3");1a.2Rq||(1a.2Rq=1g 95O("6rn.95N"));b=1a.2Rq;b.58q(a);1f b};N.1Gs=1b(a,b,c){1d d=[];if(a.1Gs)d=a.1Gs(b,c);1s{a=a.1cE("*");1j(1d e,f,h=0,l=a.1h;h<l;++h)e=a[h],f=e.2mU?e.2mU+":"+c:c,"*"!==c&&f!==e.1yI||"*"!==b&&b!==e.1fz||d.1q(e)}1f d};N.4YR=1b(a,b,c){1d d=1F;if(a.4YR)d=a.4YR(b,c);1s{a=a.2w;1j(1d e,f,h=0,l=a.1h;h<l;++h)if(e=a[h],e.1fz===b&&(f=e.2mU?e.2mU+":"+c:c,f===e.1yI)){d=e;1W}}1f d};N.95M=1b(a,b){b=b||"";if(a)1j(a=a.1gv;a;a=a.1qD)6U(a.1a5){1S 3:1S 4:b+=a.20j}1f b};N.3Vg=1b(a,b){if(g(a)&&(a=a.15o(b),1F!==a))1f a=7L(a),11I(a)?1p 0:a};N.4zZ=1b(a,b){if(g(a))1f a=a.15o(b),1F!==a?a:1p 0};N.95L=1b(a,b){if(g(a)){a=a.15o(b);a=a.18v();if("16f"===a)1f!1;if("8O"===a)1f!0}};N.121=1b(a,b,c){if(g(a)){a=a.13P;1j(1d d=a.1h,e=0;e<d;e++){1d f=a[e];if(c){if(f.16Z===b&&-1!==c.3f(f.1fz))1f f}1s if(f.16Z===b)1f f}}};N.1vx=1b(a,b,c){if(g(a)){1d d=[];a=a.1Gs("*",b);1j(1d e=a.1h,f=0;f<e;f++){1d h=a[f];c?h.16Z===b&&-1!==c.3f(h.1fz)&&d.1q(h):h.16Z===b&&d.1q(h)}1f d}};N.2Nv=1b(a,b,c){if(!g(a))1f[];1d d=[];a=a.13P;1j(1d e=a.1h,f=0;f<e;f++){1d h=a[f];c?h.16Z===b&&-1!==c.3f(h.1fz)&&d.1q(h):h.16Z===b&&d.1q(h)}1f d};N.6B=1b(a,b,c){a=N.121(a,b,c);if(g(a))1f a=7L(a.8S),11I(a)?1p 0:a};N.15X=1b(a,b,c){a=N.121(a,b,c);if(g(a))1f a.8S.1b2()};N.1Qi=1b(a,b,c){a=N.121(a,b,c);if(g(a))1f a=a.8S.1b2(),"1"===a||/^8O$/i.6S(a)};Dh.1i.1PU=1b(a){1f g(1a.db)?1a.db.2Rp.8h(a):!1};Dh.1i.1Uc=1b(a){1d b=Z.12L();if(1a.3cM)b.7N(!1);1s{if(1a.db.2Rp.8h(a))1f b.7N(!1),b.10l;1a.3cM=!0;1d c=1a,d=8A(c.db.9G);c.db.1TP();d=4YQ.1pj(c.1sG,d+1);d.6rm=1b(d){d=d.15s.4D;c.db=d;d=d.1Uc(a,{95K:"id"});g(d)?(d.95J("1Q","1Q",{3QL:!1}),c.3cM=!1,g(c.1qW)||(c.1qW={}),c.1qW[a]={},c.db.1TP(),4YQ.1pj(c.1sG).2iK=1b(a){c.db=a.15s.4D;b.5h(!0)}):(c.3cM=!1,b.7N(!1))};d.2iK=1b(a){a.15s.4D.1TP();b.5h(!0)};d.1ra=1b(a){c.3cM=!1;b.7N(!1)}}1f b.10l};Dh.1i.4YP=1b(a,b,c,d){1d e=Z.12L();if(!g(1a.db))1f e.7N(!1),e.10l;1d f=1a;if(g(f.1qW[a])&&!g(d)&&g(f.1qW[a][b])&&(1===f.1qW[a][b]||2===f.1qW[a][b]))1f e.5h(!1),e.10l;if(1a.db.2Rp.8h(a)){g(f.1qW[a])||(f.1qW[a]={});10G{1d h=1a.db.3cL([a],"3A8")}11B(n){1f e.7N(1F),e.10l}1d l=h.3cK(a);if(g(d)){h=0;1j(1d p=d.1h;h<p;h++)2!==f.1qW[a][d[h].10t]&&(l.add({id:d[h].10t,1Q:d[h].1Q}),f.1qW[a][d[h].10t]=2);e.5h(!0)}1s h=l.add({id:b,1Q:c}),f.1qW[a][b]=1,h.2iK=1b(c){f.1qW[a][b]=2;e.5h(!0)},h.1ra=1b(c){f.1qW[a][b]=3;e.7N(!1)}}1s 1a.1Uc(a).4b(1b(h){l=f.db.3cL([a],"3A8").3cK(a);if(g(d)){h=0;1j(1d p=d.1h;h<p;h++)l.add({id:d[h].10t,1Q:d[h].1Q});e.5h(!0)}1s h=l.add({id:b,1Q:c}),h.2iK=1b(a){e.5h(!0)},h.1ra=1b(a){e.7N(!1)}},1b(a){e.7N(!1)});1f e.10l};Dh.1i.20n=1b(a,b){1d c=Z.12L();if(!g(1a.db)||!1a.db.2Rp.8h(a))1f 1F;10G{1d d=1a.db.3cL([a])}11B(f){1f c.7N(1F),c.10l}10G{1d e=d.3cK(a)}11B(f){c.7N(1F)}a=e.1n(b);a.2iK=1b(a){g(a.15s.4D)?c.5h(a.15s.4D.1Q):c.7N(1F)};a.1ra=1b(a){c.7N(1F)};1f c.10l};Dh.1i.95I=1b(a,b,c){1d d=Z.12L();if(!g(1a.db)||!1a.db.2Rp.8h(a))1f d.5h(!1),d.10l;1d e=1a.db.3cL([a],"3A8");10G{1d f=e.3cK(a)}11B(h){d.5h(!1)}a=f.1n(b);a.2iK=1b(a){a=a.15s.4D;g(a)?(a.1Q=c,a=f.4aI(a),a.2iK=1b(a){d.5h(!0)},a.1ra=1b(a){d.5h(!1)}):d.5h(!1)};a.1ra=1b(a){d.5h(!1)};1f d.10l};Dh.1i.95H=1b(a,b){1d c=Z.12L();if(!g(1a.db)||!1a.db.2Rp.8h(a))1f c.5h(!1),c.10l;1d d=1a.db.3cL([a],"3A8");10G{1d e=d.3cK(a)}11B(f){c.5h(!1)}a=e.4Y(b);a.1ra=1b(a){c.5h(!1)};a.2iK=1b(a){c.5h(!0)};1f c.10l};Dh.1i.9P=1b(a){1d b=Z.12L();if(!g(1a.db)||!1a.db.2Rp.8h(a))1f b.5h(!1),b.10l;1d c=1a.db.3cL([a],"3A8");10G{1d d=c.3cK(a)}11B(e){b.5h(!1)}a=d.9P();a.1ra=1b(a){b.5h(!1)};a.2iK=1b(a){b.5h(!0)};1f b.10l};1d ik=1L.3F({2nt:0,1U9:1});pB.1i.5Aa=1b(){1a.2ER=1a.13r};pB.1i.5A6=1b(a){1j(1d b=1a.1fD,c=!0;c&&g(1a.2ER)&&1a.7Z>a&&g(b);){c=b!==1a.2ER;1d d=b.2rE;b.3Sh&&(b.1Mu(),4YO(1a,b));b=d}};pB.1i.2nG=1b(a){1d b=1a.13r;b===a?a===1a.2ER&&(1a.2ER=a.2fm):(++1a.7Z,g(b)?((g(a.2rE)||g(a.2fm))&&4YO(1a,a),a.2rE=1p 0,a.2fm=b,1a.13r=b.2rE=a):(a.2rE=1p 0,a.2fm=1p 0,1a.1fD=1a.13r=a))};sx.1i.1b2=1b(a){1j(1d b=1a.1fD;1a.7Z>a&&g(b);){1d c=b.18d;b.3vf();4YN(1a,b);b=c}};sx.1i.1Jo=1b(a){1d b=1a.13r;b!==a&&(++1a.7Z,g(b)?((g(a.18d)||g(a.6k))&&4YN(1a,a),a.18d=1p 0,a.6k=b,1a.13r=b.18d=a):(a.18d=1p 0,a.6k=1p 0,1a.1fD=1a.13r=a))};qB.1i.3vf=1b(){4Y 1a.9Z.1U6[1a.1b3]};1d CG={6rl:1,6rk:2,6rj:4,6ri:127};Gm.1i.1Bf=1b(a,b,c,d,e){if(!1a.4y)1t 1g r("1Bf 2Q 2S be 7I 8w 1Z 1st 9Z is 3o.");1d f=1a.8U,h=f.1h;if(1===h)1d l=f[0];1s 1j(1d p=0;p<h;++p){1d k=f[p];if(!g(k.1b9)||k.1b9.24g(c,a,b)){l=k;1W}}1f 4YM(1a,a,b,c,l,d,e)};1d xO=1g Vc("3X9"),6rh=1g Vc("95G");Gm.1i.2SI=1b(a){1f 6rh.1fa({2g:a},[a])};Gm.1i.4YL=1b(a,b){1f BG(1a,b,a.6b,a.x,a.y,a.3A7,a.3A6)};1L.2X(Gm.1i,{1cG:{1n:1b(){1f 1a.14P}},9L:{1n:1b(){if(!1a.4y)1t 1g r("9L 2Q 2S be 7I 8w 1Z 1st 9Z is 3o.");1f 1a.1dh}},8c:{1n:1b(){if(!1a.4y)1t 1g r("8c 2Q 2S be 7I 8w 1Z 1st 9Z is 3o.");1f 1a.6C}},3c1:{1n:1b(){1f 1a.1Kw},1C:1b(a){a!==1a.1Kw&&(1a.2fB=!0);1a.1Kw=a}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},1z3:{1n:1b(){if(!1a.4y)1t 1g r("1z3 2Q 2S be 7I 8w 1Z 1st 9Z is 3o.");1f 1a.3A5&&1a.3cJ}},1lp:{1n:1b(){if(!1a.4y)1t 1g r("1lp 2Q 2S be 7I 8w 1Z 1st 9Z is 3o.");1f 1a.4aH&&1a.2Em}},2EQ:{1n:1b(){if(!1a.4y)1t 1g r("2EQ 2Q 2S be 7I 8w 1Z 1st 9Z is 3o.");1f 1a.3A2&&1a.2fJ}},2Eo:{1n:1b(){1f 1a.2Em}},3A4:{1n:1b(){1f 1a.3cJ}},6rg:{1n:1b(){1f 1a.2fJ}},1b9:{1n:1b(){if(!1a.4y)1t 1g r("1b9 2Q 2S be 7I 8w 1Z 1st 9Z is 3o.");1f 1a.1R9}},2KG:{1n:1b(){1f 1a.3A3}},1x1:{1n:1b(){1f 1a.1g2},1C:1b(a){1a.1g2=a}},3mA:{1n:1b(){1f 1a.17F},1C:1b(a){g(a)&&"11T"===2h a.1dF&&(1a.17F.1dF=a.1dF)}},4wU:{1n:1b(){1f 1a.2QM}},1U6:{1n:1b(){1f 1a.32x}},20C:{1n:1b(){1f 1a.32w}},32v:{1n:1b(){1f 1a.32u}}});Gm.1i.1DR=1b(a){1f 1a.1RD/(1<<a)};1d 6rf=1g Q;Gm.1i.2fl=1b(a,b,c){if(g(1a.1R9)){if(c>1a.1R9.17G)1f!1;if(1a.1R9.24g(c,a,b))1f!0;if(!1a.3A2)1f!1;1j(1d d=1a.8U,e=d.1h,f=0;f<e;++f)if(4YJ(1a,a,b,c,d[f],0===f).4D)1f;1f!1}if(1a.2iJ&&0!==c)1f-1!==1a.1iv.3f(c)?(a=1a.6C.1d1(a,b,c),a=Q.17d(1a.4YK,a,6rf),g(a)):!1};Gm.1i.2Eh=1b(a,b,c){if(g(1a.1R9)&&!(c>1a.1R9.17G)&&!1a.1R9.24g(c,a,b)&&1a.3A2)1j(1d d=1a.8U,e=d.1h,f=0;f<e;++f){1d h=4YJ(1a,a,b,c,d[f],0===f);if(g(h.10l))1f h.10l}};Gm.95F=yO;1d ll={},DG=1g k,4YI=1g k,4YH=1g ca,4YG=1g J,4YF=1g k,4YE=1g k,eW=1g k,6re=1g k;ll.4aF=1b(a,b,c){1d d=b.3c,e=b.1D;b=b.9i;1j(1d f=1g 13X(3*(c?a.1h/3*2:a.1h/3)),h=a.1h,l=c?h:0,g=0;g<h;g+=3){1d n=g+1,z=g+2,w=k.7j(a,g,4YF);d.1fI(w,w);1d x=k.1y(w,4YE),m=d.17N(w,6re),t=k.4g(m,e,eW);k.add(w,t,w);c&&(k.4g(m,b,t),k.add(x,t,x),f[g+l]=x.x,f[n+l]=x.y,f[z+l]=x.z);f[g]=w.x;f[n]=w.y;f[z]=w.z}1f f};1d 6rd=1g k,6rc=1g k,6rb=1g k;ll.2Rl=1b(a,b,c){1d d=a.1aP,e=a.19p,f=a.5S,h=a.2V,l=8*a.6f;a=d*d;1d g=e*e;d*=e;e=k.7t(h);1d n=k.1T(h,6rd);h=k.4B(k.16a,h,6rc);h=k.1T(h,h);1d z=k.4B(n,h,6rb);l=1+1k.8a(B.10k/l);1d w=B.10k/(l-1),x=B.10k-l*w;0>x&&(l-=1k.8a(1k.abs(x)/w));1d m=b?2K(l*(l+2)*6):1p 0,t=0,r=4YF,G=4YE,q=12*l,u=q-1,v=0;q=c?2K(q):1p 0;1d y;x=B.10k;r=tx(x,f,z,h,a,d,g,e,n,r);b&&(m[t++]=r.x,m[t++]=r.y,m[t++]=r.z);c&&(q[u--]=r.z,q[u--]=r.y,q[u--]=r.x);x=B.10k-w;1j(y=1;y<l+1;++y){r=tx(x,f,z,h,a,d,g,e,n,r);G=tx(1k.PI-x,f,z,h,a,d,g,e,n,G);if(b){m[t++]=r.x;m[t++]=r.y;m[t++]=r.z;1d A=2*y+2;1j(x=1;x<A-1;++x){1d C=x/(A-1);C=k.11x(r,G,C,eW);m[t++]=C.x;m[t++]=C.y;m[t++]=C.z}m[t++]=G.x;m[t++]=G.y;m[t++]=G.z}c&&(q[u--]=r.z,q[u--]=r.y,q[u--]=r.x,q[v++]=G.x,q[v++]=G.y,q[v++]=G.z);x=B.10k-(y+1)*w}1j(y=l;1<y;--y){x=B.10k-(y-1)*w;r=tx(-x,f,z,h,a,d,g,e,n,r);G=tx(x+1k.PI,f,z,h,a,d,g,e,n,G);if(b){m[t++]=r.x;m[t++]=r.y;m[t++]=r.z;A=2*(y-1)+2;1j(x=1;x<A-1;++x)C=x/(A-1),C=k.11x(r,G,C,eW),m[t++]=C.x,m[t++]=C.y,m[t++]=C.z;m[t++]=G.x;m[t++]=G.y;m[t++]=G.z}c&&(q[u--]=r.z,q[u--]=r.y,q[u--]=r.x,q[v++]=G.x,q[v++]=G.y,q[v++]=G.z)}x=B.10k;r=tx(-x,f,z,h,a,d,g,e,n,r);f={};b&&(m[t++]=r.x,m[t++]=r.y,m[t++]=r.z,f.3q=m,f.4Yg=l);c&&(q[u--]=r.z,q[u--]=r.y,q[u--]=r.x,f.3cH=q);1f f};bc.1pT=1b(a,b){v.1N.2b("1Q",a);g(b)||(b={162:0,15r:0});if(0<=a){1d c=12v*1k.2t(a/12v);b.162=c;b.15r=a-c}1s c=12v*1k.2t(-a/12v),b.162=-c,b.15r=a+c;1f b};1d Tq={162:0,15r:0};bc.12y=1b(a,b){v.1N.2c("16L",a);g(b)||(b=1g bc);1d c=b.162,d=b.15r;bc.1pT(a.x,Tq);c.x=Tq.162;d.x=Tq.15r;bc.1pT(a.y,Tq);c.y=Tq.162;d.y=Tq.15r;bc.1pT(a.z,Tq);c.z=Tq.162;d.z=Tq.15r;1f b};1d fW=1g bc;bc.2ip=1b(a,b,c){v.2l("95E",b);v.1N.2b("2P",c);v.1N.2b.9Y("2P",c,0);bc.12y(a,fW);a=fW.162;1d d=fW.15r;b[c]=a.x;b[c+1]=a.y;b[c+2]=a.z;b[c+3]=d.x;b[c+4]=d.y;b[c+5]=d.z};1d 4hW={95D:1b(a){a=m(a,m.4Z);1d b=a.4N,c=a.3A1;a=m(a.2oT,24);if(!g(b))1t 1g r("4N is 1X.");1d d=b.1h;if(3>d||0!==d%3)1t 1g r("4N 1h 2Q be a 1yK of 29k.");if(0>=c)1t 1g r("3A1 2Q be 9U 6L 16m.");if(3>a)1t 1g r("2oT 2Q be 9U 6L 1uk.");if(!g(c))1j(1d e=c=0,f=b[e];e<d;)f>c&&(c=f),++e,f=b[e];e=[];1j(f=0;f<c+1;f++)e[f]=0;c=a+1;1j(f=0;f<d;++f)c-e[b[f]]>a&&(e[b[f]]=c,++c);1f(c-a+1)/(d/3)},6ra:1b(a){a=m(a,m.4Z);1d b=a.4N,c=a.3A1;a=m(a.2oT,24);if(!g(b))1t 1g r("4N is 1X.");1d d=b.1h;if(3>d||0!==d%3)1t 1g r("4N 1h 2Q be a 1yK of 29k.");if(0>=c)1t 1g r("3A1 2Q be 9U 6L 16m.");if(3>a)1t 1g r("2oT 2Q be 9U 6L 1uk.");1d e=0,f=0,h=b[f];if(g(c))e=c+1;1s{1j(;f<d;)h>e&&(e=h),++f,h=b[f];if(-1===e)1f 0;++e}h=[];1d l;1j(l=0;l<e;l++)h[l]={2rD:0,2ND:0,3cI:[]};1j(1d p=f=0;f<d;)h[b[f]].3cI.1q(p),++h[b[f]].2rD,h[b[f+1]].3cI.1q(p),++h[b[f+1]].2rD,h[b[f+2]].3cI.1q(p),++h[b[f+2]].2rD,++p,f+=3;f=0;1d k=a+1;c=1;1d z=[],w=0,x=[];1d D=d/3;d=[];1j(l=0;l<D;l++)d[l]=!1;1j(1d t;-1!==f;){l=[];D=h[f];t=D.3cI.1h;1j(1d q=0;q<t;++q)if(p=D.3cI[q],!d[p])1j(d[p]=!0,f=p+p+p,p=0;3>p;++p){1d G=b[f];l.1q(G);z.1q(G);x[w]=G;++w;G=h[G];--G.2rD;k-G.2ND>a&&(G.2ND=k,++k);++f}f=h;D=z;t=e;G=p=-1;1j(1d u=0;u<l.1h;){1d v=l[u];f[v].2rD&&(q=0,k-f[v].2ND+2*f[v].2rD<=a&&(q=k-f[v].2ND),q>G||-1===G)&&(G=q,p=v);++u}if(-1===p){b:{1j(;1<=D.1h;)if(l=D[D.1h-1],D.6z(D.1h-1,1),0<f[l].2rD)1W b;1j(;c<t;){if(0<f[c].2rD){++c;l=c-1;1W b}++c}l=-1}f=l}1s f=p}1f x}},Sc={3oN:1b(a){if(!g(a))1t 1g r("3y is 1X.");1d b=a.4N;if(g(b)){6U(a.6Z){1S Ja.11G:1j(1d c=b.1h,d=Ta.9g(c,c/3*6),e=0,f=0;f<c;f+=3,e+=6)EG(d,e,b[f],b[f+1],b[f+2]);a.4N=d;1W;1S Ja.2rC:c=b.1h;if(3<=c){d=Ta.9g(c,6*(c-2));EG(d,0,b[0],b[1],b[2]);e=6;1j(f=3;f<c;++f,e+=6)EG(d,e,b[f-1],b[f],b[f-2]);b=d}1s b=1g 10Y;a.4N=b;1W;1S Ja.2iI:if(0<b.1h){c=b.1h-1;d=Ta.9g(c,6*(c-1));e=b[0];f=0;1j(1d h=1;h<c;++h,f+=6)EG(d,f,e,b[h],b[h+1]);b=d}1s b=1g 10Y;a.4N=b;1W;4T:1t 1g r("3y.6Z 2Q be 11G, 2rC, or 2iI.");}a.6Z=Ja.1ao}1f a},3CC:1b(a,b,c){b=m(b,"2U");if(!g(a))1t 1g r("3y is 1X.");if(!g(a.2w.1K))1t 1g r("3y.2w.1K is 1X.");if(!g(a.2w[b]))1t 1g r("3y.2w 2Q 118 an 3Q 10M 1Z 1ik 2i as 1Z 2zv 2eu, "+b+".");c=m(c,1E4);1d d=a.2w.1K.2a,e=a.2w[b].2a,f=d.1h;b=1g 13X(2*f);1j(1d h=0,l=0;l<f;l+=3)b[h++]=d[l],b[h++]=d[l+1],b[h++]=d[l+2],b[h++]=d[l]+e[l]*c,b[h++]=d[l+1]+e[l+1]*c,b[h++]=d[l+2]+e[l+2]*c;1d p;a=a.7u;g(a)&&(p=1g P(a.2V,a.3L+c));1f 1g Pb({2w:{1K:1g Pa({3k:I.18l,2Z:3,2a:b})},6Z:Ja.1ao,7u:p})},2JJ:1b(a){if(!g(a))1t 1g r("3y is 1X.");1d b="1K 1Su 1St 1aU 19W 25d 25c 1fR 2U st 8Q 8T 1t8 1Wj".7g(" ");a=a.2w;1d c={},d=0,e,f=b.1h;1j(e=0;e<f;++e){1d h=b[e];g(a[h])&&(c[h]=d++)}1j(1d l in a)a.3p(l)&&!g(c[l])&&(c[l]=d++);1f c},48w:1b(a){if(!g(a))1t 1g r("3y is 1X.");1d b=Pb.1Wn(a),c=a.4N;if(g(c)){1j(1d d=1g 1fZ(b),e=0;e<b;e++)d[e]=-1;1d f=c.1h,h=Ta.9g(b,f),l=0,p=0;e=0;1j(1d k;l<f;)k=d[c[l]],-1!==k?h[p]=k:(k=c[l],d[k]=e,h[p]=e,++e),++l,++p;a.4N=h;c=a.2w;1j(1d z in c)if(c.3p(z)&&g(c[z])&&g(c[z].2a)){f=c[z];h=f.2a;l=0;p=f.2Z;1j(k=I.9g(f.3k,e*p);l<b;){1d w=d[l];if(-1!==w)1j(1d x=0;x<p;x++)k[p*w+x]=h[p*l+x];++l}f.2a=k}}1f a},48x:1b(a,b){if(!g(a))1t 1g r("3y is 1X.");1d c=a.4N;if(a.6Z===Ja.11G&&g(c)){1j(1d d=c.1h,e=0,f=0;f<d;f++)c[f]>e&&(e=c[f]);a.4N=4hW.6ra({4N:c,3A1:e,2oT:b})}1f a},6h6:1b(a){if(!g(a))1t 1g r("3y is 1X.");if(g(a.4N)&&a.6Z!==Ja.11G&&a.6Z!==Ja.1ao&&a.6Z!==Ja.1wF)1t 1g r("3y.6Z 2Q 14B to 2YI.11G, 2YI.1ao, or 2YI.1wF.");1d b=[],c=Pb.1Wn(a);if(g(a.4N)&&c>=B.1uW){c=[];1d d=[],e=0,f=4YD(a.2w),h=a.4N,l=h.1h,p;a.6Z===Ja.11G?p=3:a.6Z===Ja.1ao?p=2:a.6Z===Ja.1wF&&(p=1);1j(1d k=0;k<l;k+=p){1j(1d z=0;z<p;++z){1d w=h[k+z],x=c[w];if(!g(x)){x=e++;c[w]=x;1d m=1p 0,t=f,q=a.2w;1j(m in q)if(q.3p(m)&&g(q[m])&&g(q[m].2a))1j(1d G=q[m],u=0;u<G.2Z;++u)t[m].2a.1q(G.2a[w*G.2Z+u])}d.1q(x)}e+p>=B.1uW&&(b.1q(1g Pb({2w:f,4N:d,6Z:a.6Z,7u:a.7u,1BR:a.1BR})),c=[],d=[],e=0,f=4YD(a.2w))}0!==d.1h&&b.1q(1g Pb({2w:f,4N:d,6Z:a.6Z,7u:a.7u,1BR:a.1BR}))}1s b.1q(a);1f b}},4YC=1g k,6r9=1g T;Sc.3aK=1b(a,b,c,d,e){if(!g(a))1t 1g r("3y is 1X.");if(!g(b))1t 1g r("2zv is 1X.");if(!g(c))1t 1g r("95C is 1X.");if(!g(d))1t 1g r("95B is 1X.");if(!g(a.2w[b]))1t 1g r("3y 2Q 118 3Q 1TR 1Z 2zv 1aK: "+b+".");if(a.2w[b].3k!==I.18l)1t 1g r("9B 3Q 3k 2Q be 4j2.18l.");1d f=a.2w[b];e=g(e)?e:1g Td;1j(1d h=e.3c,l=f.2a,p=1g 13X(l.1h),n=0,z=0;z<l.1h;z+=3){1d w=k.7j(l,z,4YC),x=h.10Z(w,6r9);if(!g(x))1t 1g r("38U 2S 12z 7v ("+w.x+", "+w.y+", "+w.z+") to 2D.");w=e.12z(x,4YC);p[n++]=w.x;p[n++]=w.y;p[n++]=w.z}a.2w[c]=f;a.2w[d]=1g Pa({3k:I.18l,2Z:3,2a:p});4Y a.2w[b];1f a};1d gW={162:0,15r:0};Sc.48v=1b(a,b,c,d){if(!g(a))1t 1g r("3y is 1X.");if(!g(b))1t 1g r("2zv is 1X.");if(!g(c))1t 1g r("95A is 1X.");if(!g(d))1t 1g r("95y is 1X.");if(!g(a.2w[b]))1t 1g r("3y 2Q 118 3Q 1TR 1Z 2zv 1aK: "+b+".");if(a.2w[b].3k!==I.18l)1t 1g r("9B 3Q 3k 2Q be 4j2.18l.");1j(1d e=a.2w[b],f=e.2a,h=f.1h,l=1g 4A(h),p=1g 4A(h),k=0;k<h;++k)bc.1pT(f[k],gW),l[k]=gW.162,p[k]=gW.15r;e=e.2Z;a.2w[c]=1g Pa({3k:I.3O,2Z:e,2a:l});a.2w[d]=1g Pa({3k:I.3O,2Z:e,2a:p});4Y a.2w[b];1f a};1d Hm=1g k,xL=1g A,yL=1g J;Sc.6h9=1b(a){if(!g(a))1t 1g r("1bX is 1X.");1d b=a.4a;if(A.2L(b,A.8K))1f a;1d c=a.3y.2w;zO(b,c.1K);zO(b,c.23V);zO(b,c.1Cu);if(g(c.2U)||g(c.8Q)||g(c.8T))A.12Z(b,xL),A.1z0(xL,xL),A.1nf(xL,yL),AO(yL,c.2U),AO(yL,c.8Q),AO(yL,c.8T);c=a.3y.7u;g(c)&&(a.3y.7u=P.5o(c,b,c));a.4a=A.1y(A.8K);1f a};1d 6r8=1g k;Sc.2E9=1b(a){if(!g(a)||1>a.1h)1t 1g r("18P is 1X and 2Q 118 1h 9U 6L 16m.");1j(1d b=[],c=[],d=a.1h,e=0;e<d;++e){1d f=a[e];g(f.3y)?b.1q(f):g(f.2a1)&&g(f.2a2)&&c.1q(f)}a=[];0<b.1h&&a.1q(BO(b,"3y"));0<c.1h&&(a.1q(BO(c,"2a1")),a.1q(BO(c,"2a2")));1f a};1d pm=1g k,yE=1g k,kA=1g k,lA=1g k;Sc.4UO=1b(a){if(!g(a))1t 1g r("3y is 1X.");if(!g(a.2w.1K)||!g(a.2w.1K.2a))1t 1g r("3y.2w.1K.2a is 1X.");if(!g(a.4N))1t 1g r("3y.4N is 1X.");if(2>a.4N.1h||0!==a.4N.1h%3)1t 1g r("3y.4N 1h 2Q be 9U 6L 0 and be a 1yK of 3.");if(a.6Z!==Ja.11G)1t 1g r("3y.6Z 2Q be 2YI.11G.");1d b=a.4N,c=a.2w,d=c.1K.2a;c=c.1K.2a.1h/3;1d e=b.1h,f=2K(c),h=2K(e/3),l=2K(e),p;1j(p=0;p<c;p++)f[p]={2Rn:0,7Z:0,2Ro:0};1d n=0;1j(p=0;p<e;p+=3){1d z=b[p],w=b[p+1],x=b[p+2],m=3*z,t=3*w,q=3*x;yE.x=d[m];yE.y=d[m+1];yE.z=d[m+2];kA.x=d[t];kA.y=d[t+1];kA.z=d[t+2];lA.x=d[q];lA.y=d[q+1];lA.z=d[q+2];f[z].7Z++;f[w].7Z++;f[x].7Z++;k.3V(kA,yE,kA);k.3V(lA,yE,lA);h[n]=k.4B(kA,lA,1g k);n++}1j(p=n=0;p<c;p++)f[p].2Rn+=n,n+=f[p].7Z;1j(p=n=0;p<e;p+=3)d=f[b[p]],z=d.2Rn+d.2Ro,l[z]=n,d.2Ro++,d=f[b[p+1]],z=d.2Rn+d.2Ro,l[z]=n,d.2Ro++,d=f[b[p+2]],z=d.2Rn+d.2Ro,l[z]=n,d.2Ro++,n++;b=1g 4A(3*c);1j(p=0;p<c;p++){e=3*p;d=f[p];k.1y(k.6h,pm);if(0<d.7Z){1j(n=0;n<d.7Z;n++)k.add(pm,h[l[d.2Rn+n]],pm);k.5T(k.6h,pm,B.1io)&&k.1y(h[l[d.2Rn]],pm)}k.5T(k.6h,pm,B.1io)&&(pm.z=1);k.1T(pm,pm);b[e]=pm.x;b[e+1]=pm.y;b[e+2]=pm.z}a.2w.2U=1g Pa({3k:I.3O,2Z:3,2a:b});1f a};1d $Ha=1g k,4YB=1g k,6r7=1g k;Sc.6jo=1b(a){if(!g(a))1t 1g r("3y is 1X.");1d b=a.2w,c=a.4N;if(!g(b.1K)||!g(b.1K.2a))1t 1g r("3y.2w.1K.2a is 1X.");if(!g(b.2U)||!g(b.2U.2a))1t 1g r("3y.2w.2U.2a is 1X.");if(!g(b.st)||!g(b.st.2a))1t 1g r("3y.2w.st.2a is 1X.");if(!g(c))1t 1g r("3y.4N is 1X.");if(2>c.1h||0!==c.1h%3)1t 1g r("3y.4N 1h 2Q be 9U 6L 0 and be a 1yK of 3.");if(a.6Z!==Ja.11G)1t 1g r("3y.6Z 2Q be 2YI.11G.");1d d=a.2w.1K.2a;b=a.2w.2U.2a;1d e=a.2w.st.2a,f=a.2w.1K.2a.1h/3,h=c.1h,l=2K(3*f),p;1j(p=0;p<l.1h;p++)l[p]=0;1j(p=0;p<h;p+=3){1d n=c[p],z=c[p+1],w=c[p+2];1d x=3*n;1d m=3*z;1d t=3*w;n*=2;1d q=2*z,G=2*w,u=d[x];z=d[x+1];w=d[x+2];1d v=e[n],y=e[n+1];n=e[q+1]-y;y=e[G+1]-y;q=1/((e[q]-v)*y-(e[G]-v)*n);u=(y*(d[m]-u)-n*(d[t]-u))*q;z=(y*(d[m+1]-z)-n*(d[t+1]-z))*q;w=(y*(d[m+2]-w)-n*(d[t+2]-w))*q;l[x]+=u;l[x+1]+=z;l[x+2]+=w;l[m]+=u;l[m+1]+=z;l[m+2]+=w;l[t]+=u;l[t+1]+=z;l[t+2]+=w}c=1g 4A(3*f);d=1g 4A(3*f);1j(p=0;p<f;p++)x=3*p,m=x+1,t=x+2,e=k.7j(b,x,$Ha),h=k.7j(l,x,6r7),w=k.2A(e,h),k.4g(e,w,4YB),k.1T(k.3V(h,4YB,h),h),c[x]=h.x,c[m]=h.y,c[t]=h.z,k.1T(k.4B(e,h,h),h),d[x]=h.x,d[m]=h.y,d[t]=h.z;a.2w.8Q=1g Pa({3k:I.3O,2Z:3,2a:c});a.2w.8T=1g Pa({3k:I.3O,2Z:3,2a:d});1f a};1d zE=1g C,Cn=1g k,4YA=1g k,4Yz=1g k,zL=1g C;Sc.1od=1b(a){if(!g(a))1t 1g r("3y is 1X.");1d b=a.2w.1t8,c;if(g(b)){1d d=b.2a;1d e=d.1h/3;1d f=1g 4A(2*e),h=0;1j(c=0;c<e;++c)k.7j(d,3*c,Cn),k.2L(Cn,k.6h)?h+=2:(zL=xb.4aG(Cn,1a6,zL),f[h++]=zL.x,f[h++]=zL.y);a.2w.1Wj=1g Pa({3k:I.3O,2Z:2,2a:f});4Y a.2w.1t8;1f a}c=a.2w.2U;e=a.2w.st;b=g(c);1d l=g(e);if(!b&&!l)1f a;1d p=a.2w.8Q,n=a.2w.8T,z=g(p),w=g(n);b&&(d=c.2a);l&&(f=e.2a);z&&(h=p.2a);if(w)1d x=n.2a;e=(b?d.1h:f.1h)/(b?3:2);p=(l&&b?2:1)+(z||w?1:0);n=1g 4A(e*p);1d m=0;1j(c=0;c<e;++c){l&&(C.7j(f,2*c,zE),n[m++]=xb.1tZ(zE));1d t=3*c;b&&g(h)&&g(x)?(k.7j(d,t,Cn),k.7j(h,t,4YA),k.7j(x,t,4Yz),xb.6r6(Cn,4YA,4Yz,zE),n[m++]=zE.x,n[m++]=zE.y):(b&&(k.7j(d,t,Cn),n[m++]=xb.2Rm(Cn)),z&&(k.7j(h,t,Cn),n[m++]=xb.2Rm(Cn)),w&&(k.7j(x,t,Cn),n[m++]=xb.2Rm(Cn)))}a.2w.1Wj=1g Pa({3k:I.3O,2Z:p,2a:n});b&&4Y a.2w.2U;l&&4Y a.2w.st;w&&4Y a.2w.8T;z&&4Y a.2w.8Q;1f a};1d 4Yy=1g k,yu=1g k,Au=1g k,zu=1g k,Bu=1g k,GO={3q:2K(7),4N:2K(9)},6r5=DO(E,4),GG=DO(k,3),4Yx=DO(C,2),sB=1g k,EO=1g k,FO=1g k,6r4=1g k,6r3={1K:!0,2U:!0,8T:!0,8Q:!0,st:!0,1t8:!0,1i2:!0},4Yu=Cb.1zd(k.6h,k.1f5),6r2=1g k,6r1=1g k,4Ys=1g C,6qW=1g C,4Yw=1g k,4Yv=1g k,HO=1g k,6r0=1g k,6qY=1g k,6qX=1g k,4Yr=1g k,4Yt=1g E,6qZ=5*B.2oi,AL=B.1g9;Sc.6h8=1b(a){if(!g(a))1t 1g r("1bX is 1X.");1d b=a.3y,c=b.7u;if(g(c)&&(0<c.2V.x-c.3L||P.1tE(c,Cb.48m)!==Lb.1wT))1f a;if(b.1DX!==wu.6i)6U(b.1DX){1S wu.4UR:1d d=a.3y,e=d.2w;b=e.1K.2a;c=e.23V.2a;1d f=e.1Cu.2a,h=e.15t.2a,l=g(e.st)?e.st.2a:1p 0,p=g(e.1A)?e.1A.2a:1p 0;e=g(e.6Y)?e.6Y.2a:1p 0;1d n=ux(d);d=ux(d);1d z,w,x=!1,m=b.1h/3;1j(z=0;z<m;z+=4){1d t=z;1d q=z+2,G=k.7j(b,3*t,4Yw),u=k.7j(b,3*q,4Yv);if(1k.abs(G.y)<AL)1j(G.y=AL*(0>u.y?-1:1),b[3*z+1]=G.y,b[3*(z+1)+1]=G.y,w=3*t;w<3*t+12;w+=3)c[w]=b[3*z],c[w+1]=b[3*z+1],c[w+2]=b[3*z+2];if(1k.abs(u.y)<AL)1j(u.y=AL*(0>G.y?-1:1),b[3*(z+2)+1]=u.y,b[3*(z+3)+1]=u.y,w=3*t;w<3*t+12;w+=3)f[w]=b[3*(z+2)],f[w+1]=b[3*(z+2)+1],f[w+2]=b[3*(z+2)+2];1d v=n.2w,y=n.4N,A=d.2w,lb=d.4N;w=ib.1EQ(G,u,4Yu,6r0);if(g(w)){x=!0;1d K=k.4g(k.1f5,6qZ,6qY);0>G.y&&(k.11k(K,K),v=d.2w,y=d.4N,A=n.2w,lb=n.4N);1d Fa=k.add(w,K,6qX);v.1K.2a.1q(G.x,G.y,G.z,G.x,G.y,G.z);v.1K.2a.1q(Fa.x,Fa.y,Fa.z);v.1K.2a.1q(Fa.x,Fa.y,Fa.z);v.23V.2a.1q(c[3*t],c[3*t+1],c[3*t+2]);v.23V.2a.1q(c[3*t+3],c[3*t+4],c[3*t+5]);v.23V.2a.1q(G.x,G.y,G.z,G.x,G.y,G.z);v.1Cu.2a.1q(Fa.x,Fa.y,Fa.z);v.1Cu.2a.1q(Fa.x,Fa.y,Fa.z);v.1Cu.2a.1q(Fa.x,Fa.y,Fa.z);v.1Cu.2a.1q(Fa.x,Fa.y,Fa.z);k.11k(K,K);k.add(w,K,Fa);A.1K.2a.1q(Fa.x,Fa.y,Fa.z);A.1K.2a.1q(Fa.x,Fa.y,Fa.z);A.1K.2a.1q(u.x,u.y,u.z,u.x,u.y,u.z);A.23V.2a.1q(Fa.x,Fa.y,Fa.z);A.23V.2a.1q(Fa.x,Fa.y,Fa.z);A.23V.2a.1q(Fa.x,Fa.y,Fa.z);A.23V.2a.1q(Fa.x,Fa.y,Fa.z);A.1Cu.2a.1q(u.x,u.y,u.z,u.x,u.y,u.z);A.1Cu.2a.1q(f[3*q],f[3*q+1],f[3*q+2]);A.1Cu.2a.1q(f[3*q+3],f[3*q+4],f[3*q+5]);K=C.7j(h,2*t,4Ys);K=1k.abs(K.y);v.15t.2a.1q(-1,K,1,K);v.15t.2a.1q(-1,-K,1,-K);A.15t.2a.1q(-1,K,1,K);A.15t.2a.1q(-1,-K,1,-K);K=k.17j(k.3V(w,G,HO));K/=k.17j(k.3V(u,G,HO));if(g(p)){w=E.7j(p,4*t,4Yt);1d L=E.7j(p,4*q,4Yt);G=B.11x(w.x,L.x,K);u=B.11x(w.y,L.y,K);Fa=B.11x(w.z,L.z,K);L=B.11x(w.w,L.w,K);1j(w=4*t;w<4*t+8;++w)v.1A.2a.1q(p[w]);v.1A.2a.1q(G,u,Fa,L);v.1A.2a.1q(G,u,Fa,L);A.1A.2a.1q(G,u,Fa,L);A.1A.2a.1q(G,u,Fa,L);1j(w=4*q;w<4*q+8;++w)A.1A.2a.1q(p[w])}if(g(l)){G=C.7j(l,2*t,4Ys);u=C.7j(l,2*(z+3),6qW);Fa=B.11x(G.x,u.x,K);1j(w=2*t;w<2*t+4;++w)v.st.2a.1q(l[w]);v.st.2a.1q(Fa,G.y);v.st.2a.1q(Fa,u.y);A.st.2a.1q(Fa,G.y);A.st.2a.1q(Fa,u.y);1j(w=2*q;w<2*q+4;++w)A.st.2a.1q(l[w])}if(g(e)){G=k.7j(e,3*t,4Yr);u=k.7j(e,3*q,4Yr);K=B.11x(G.x,u.x,K);1j(w=3*t;w<3*t+6;++w)v.6Y.2a.1q(e[w]);v.6Y.2a.1q(K,G.y,G.z);v.6Y.2a.1q(K,G.y,G.z);A.6Y.2a.1q(K,u.y,u.z);A.6Y.2a.1q(K,u.y,u.z);1j(w=3*q;w<3*q+6;++w)A.6Y.2a.1q(e[w])}t=v.1K.2a.1h/3-4;y.1q(t,t+2,t+1);y.1q(t+1,t+2,t+3);t=A.1K.2a.1h/3-4;lb.1q(t,t+2,t+1);lb.1q(t+1,t+2,t+3)}1s{0>G.y?(A=d.2w,y=d.4N):(A=n.2w,y=n.4N);A.1K.2a.1q(G.x,G.y,G.z);A.1K.2a.1q(G.x,G.y,G.z);A.1K.2a.1q(u.x,u.y,u.z);A.1K.2a.1q(u.x,u.y,u.z);1j(w=3*z;w<3*z+12;++w)A.23V.2a.1q(c[w]),A.1Cu.2a.1q(f[w]);1j(w=2*z;w<2*z+8;++w)A.15t.2a.1q(h[w]),g(l)&&A.st.2a.1q(l[w]);if(g(p))1j(w=4*z;w<4*z+16;++w)A.1A.2a.1q(p[w]);if(g(e))1j(w=3*z;w<3*z+12;++w)A.6Y.2a.1q(e[w]);t=A.1K.2a.1h/3-4;y.1q(t,t+2,t+1);y.1q(t+1,t+2,t+3)}}x&&(4Yq(d),4Yq(n));CO(a,d,n);1W;1S wu.11G:4Yp(a);1W;1S wu.1ao:4Yo(a)}1s{6U(b.6Z){1S Ja.2iI:c=Pb.1Wn(b);if(3>c)1t 1g r("9B 2b of 1co 2Q be at 1gR 29k.");f=Ta.9g(c,3*(c-2));f[0]=1;f[1]=0;f[2]=2;1j(l=h=3;l<c;++l)f[h++]=l-1,f[h++]=0,f[h++]=l;b.4N=f;b.6Z=Ja.11G;1W;1S Ja.2rC:c=Pb.1Wn(b);if(3>c)1t 1g r("9B 2b of 1co 2Q be at 1gR 3.");f=Ta.9g(c,3*(c-2));f[0]=0;f[1]=1;f[2]=2;3<c&&(f[3]=0,f[4]=2,f[5]=3);h=6;1j(l=3;l<c-1;l+=2)f[h++]=l,f[h++]=l-1,f[h++]=l+1,l+2<c&&(f[h++]=l,f[h++]=l+1,f[h++]=l+2);b.4N=f;b.6Z=Ja.11G;1W;1S Ja.11G:if(!g(b.4N)){c=Pb.1Wn(b);if(3>c)1t 1g r("9B 2b of 1co 2Q be at 1gR 29k.");if(0!==c%3)1t 1g r("9B 2b of 1co 2Q be a 1yK of 29k.");f=Ta.9g(c,c);1j(h=0;h<c;++h)f[h]=h;b.4N=f}1W;1S Ja.22n:c=Pb.1Wn(b);if(2>c)1t 1g r("9B 2b of 1co 2Q be at 1gR 1uk.");f=Ta.9g(c,2*(c-1));f[0]=0;f[1]=1;1j(l=h=2;l<c;++l)f[h++]=l-1,f[h++]=l;b.4N=f;b.6Z=Ja.1ao;1W;1S Ja.3A0:c=Pb.1Wn(b);if(2>c)1t 1g r("9B 2b of 1co 2Q be at 1gR 1uk.");f=Ta.9g(c,2*c);f[0]=0;f[1]=1;1j(l=h=2;l<c;++l)f[h++]=l-1,f[h++]=l;f[h++]=c-1;f[h]=0;b.4N=f;b.6Z=Ja.1ao;1W;1S Ja.1ao:if(!g(b.4N)){c=Pb.1Wn(b);if(2>c)1t 1g r("9B 2b of 1co 2Q be at 1gR 1uk.");if(0!==c%2)1t 1g r("9B 2b of 1co 2Q be a 1yK of 2.");f=Ta.9g(c,c);1j(h=0;h<c;++h)f[h]=h;b.4N=f}}b.6Z===Ja.11G?4Yp(a):b.6Z===Ja.1ao&&4Yo(a)}1f a};1d wx=1g k,JO=1g k,KO=1g k,4Yh=1g k,qg=1g C,a0=1g J,6qV=1g J,IO=1g ca,4Yk=1g k,4Yj=1g k,4Yi=1g k,HG=1g T,$10D=1g k,b0=1g C,c0=1g C,vw=1g k,BL=1g P,CL=1g P;rg.4q=k.4q+ba.4q+za.4q+9;rg.5n=1b(a,b,c){v.2l("1Q",a);v.2l("4x",b);c=m(c,0);k.5n(a.19J,b,c);c+=k.4q;ba.5n(a.5W,b,c);c+=ba.4q;za.5n(a.14s,b,c);c+=za.4q;b[c++]=a.1BT;b[c++]=a.1KE;b[c++]=a.1dP;b[c++]=a.1mB;b[c++]=a.10o;b[c++]=a.14J;b[c++]=a.1d5;b[c++]=a.1Hp?1:0;b[c]=m(a.12j,-1);1f b};1d 4Yn=1g k,4Ym=1g ba,4Yl=1g za,$o={2V:4Yn,3c:4Ym,9S:4Yl,19p:1p 0,1aP:1p 0,5S:1p 0,15K:1p 0,1D:1p 0,6f:1p 0,9i:1p 0,1oT:1p 0,8J:1p 0};rg.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=k.5f(a,b,4Yn);b+=k.4q;1d e=ba.5f(a,b,4Ym);b+=ba.4q;1d f=za.5f(a,b,4Yl);b+=za.4q;1d h=a[b++],l=a[b++],p=a[b++],n=a[b++],z=a[b++],w=a[b++],x=a[b++],D=1===a[b++];a=a[b];if(!g(c))1f $o.1D=z,$o.9i=x,$o.6f=w,$o.15K=n,$o.5S=p,$o.19p=h,$o.1aP=l,$o.1oT=D,$o.8J=-1===a?1p 0:a,1g rg($o);c.19J=k.1y(d,c.19J);c.5W=ba.1y(e,c.5W);c.14s=za.1y(f,c.14s);c.1BT=h;c.1KE=l;c.1dP=p;c.1mB=n;c.10o=z;c.14J=w;c.1d5=x;c.1Hp=D;c.12j=-1===a?1p 0:a;1f c};rg.23q=1b(a,b){a=m(a,m.4Z);1d c=a.2V,d=m(a.3c,ba.9y),e=a.19p,f=a.1aP,h=m(a.6f,B.15y);a=m(a.5S,0);v.2l("3v.2V",c);v.1N.2b("3v.19p",e);v.1N.2b("3v.1aP",f);if(e<f)1t 1g r("19p 2Q be 9U 6L or 14B to 1Z 1aP.");if(0>=h)1t 1g r("6f 2Q be 9U 6L 16m.");1f e0(c,e,f,a,h,d,b)};rg.14t=1b(a){if(!(0>=a.1BT||0>=a.1KE)){1d b=a.10o;1d c=a.1d5;1d d=!B.5T(b,c,0,B.1BO);a.19J=a.5W.1fI(a.19J,a.19J);b={2V:a.19J,19p:a.1BT,1aP:a.1KE,3c:a.5W,5S:a.1dP,1D:b,6f:a.14J,9S:a.14s,15K:a.1mB};if(d){b.9i=c;b.1oT=a.1Hp;b.8J=a.12j;c=b.2V;d=b.3c;1d e=b.19p,f=k.4g(d.17N(c,wx),b.1D,wx);BL.2V=k.add(c,f,BL.2V);BL.3L=e;f=k.4g(d.17N(c,f),b.9i,f);CL.2V=k.add(c,f,CL.2V);CL.3L=e;c=ll.2Rl(b,!0,!0);f=c.3q;1d h=c.4Yg;d=c.3cH;c=P.1nu(BL,CL);e=4Yf(f,b,!0);h=d0(h);1d l=h.1h;h.1h=2*l;f=f.1h/3;1j(1d p=0;p<l;p+=3)h[p+l]=h[p+2]+f,h[p+1+l]=h[p+1]+f,h[p+2+l]=h[p]+f;f=Ta.9g(2*f/3,h);e=1g Pb({2w:e,4N:f,6Z:Ja.11G});h=b.9S;1d n=b.2V,z=b.19p,w=b.1aP,x=b.3c,m=b.1D,t=b.9i,r=b.15K;f=d.1h/3*2;l=1g 13X(3*f);p=h.st?1g 4A(2*f):1p 0;1d q=h.2U?1g 4A(3*f):1p 0,u=h.8Q?1g 4A(3*f):1p 0,v=h.8T?1g 4A(3*f):1p 0,y=b.1oT,A=y?1g 4A(3*f):1p 0,lb=0,K=4Yk,Fa=4Yj,L=4Yi,S=1g Td(x),U=S.12z(x.10Z(n,HG),$10D);n=x.1fI(n,wx);x.17N(n,n);r=ca.1gG(n,r,IO);1d R=J.1fE(r,a0);r=C.9v(3a.19B,3a.19B,b0);n=C.9v(3a.1r7,3a.1r7,c0);1j(1d V=d.1h,W=V/3*2,da=0;da<V;da+=3){1d ea=da+1,Sa=da+2,E=k.7j(d,da,wx);if(h.st){1d F=J.10r(R,E,JO);F=S.12z(x.10Z(F,HG),KO);k.3V(F,U,F);qg.x=(F.x+z)/(2*z);qg.y=(F.y+w)/(2*w);r.x=1k.2o(qg.x,r.x);r.y=1k.2o(qg.y,r.y);n.x=1k.1V(qg.x,n.x);n.y=1k.1V(qg.y,n.y);p[lb+W]=qg.x;p[lb+1+W]=qg.y;p[lb++]=qg.x;p[lb++]=qg.y}E=x.1fI(E,E);F=k.1y(E,JO);K=x.17N(E,K);y&&(A[da+V]=-K.x,A[ea+V]=-K.y,A[Sa+V]=-K.z);1d H=k.4g(K,m,4Yh);E=k.add(E,H,E);H=k.4g(K,t,H);F=k.add(F,H,F);h.1K&&(l[da+V]=F.x,l[ea+V]=F.y,l[Sa+V]=F.z,l[da]=E.x,l[ea]=E.y,l[Sa]=E.z);if(h.2U||h.8Q||h.8T)L=k.1y(K,L),H=k.7j(d,(da+3)%V,4Yh),k.3V(H,E,H),E=k.3V(F,E,KO),K=k.1T(k.4B(E,H,K),K),h.2U&&(q[da]=K.x,q[ea]=K.y,q[Sa]=K.z,q[da+V]=K.x,q[ea+V]=K.y,q[Sa+V]=K.z),h.8Q&&(Fa=k.1T(k.4B(L,K,Fa),Fa),u[da]=Fa.x,u[ea]=Fa.y,u[Sa]=Fa.z,u[da+V]=Fa.x,u[da+1+V]=Fa.y,u[da+2+V]=Fa.z),h.8T&&(v[da]=L.x,v[ea]=L.y,v[Sa]=L.z,v[da+V]=L.x,v[ea+V]=L.y,v[Sa+V]=L.z)}if(h.st)1j(V=p.1h,z=0;z<V;z+=2)p[z]=(p[z]-r.x)/(n.x-r.x),p[z+1]=(p[z+1]-r.y)/(n.y-r.y);z=1g ce;h.1K&&(z.1K=1g Pa({3k:I.18l,2Z:3,2a:l}));h.st&&(z.st=1g Pa({3k:I.3O,2Z:2,2a:p}));h.2U&&(z.2U=1g Pa({3k:I.3O,2Z:3,2a:q}));h.8Q&&(z.8Q=1g Pa({3k:I.3O,2Z:3,2a:u}));h.8T&&(z.8T=1g Pa({3k:I.3O,2Z:3,2a:v}));y&&(z.1t8=1g Pa({3k:I.3O,2Z:3,2a:A}));g(b.8J)&&(h=1g 4L(f),h=b.8J===ac.1g5?Ic(h,1,0,f/2):Ic(h,b.8J===ac.6i?0:1),z.1i2=1g Pa({3k:I.7U,2Z:1,2a:h}));b=d.1h/3;f=Ta.9g(b,6*b);1j(l=h=0;l<b;l++)p=l,q=l+b,u=(p+1)%b,v=u+b,f[h++]=p,f[h++]=q,f[h++]=u,f[h++]=u,f[h++]=q,f[h++]=v;b=Ta.9g(2*d.1h/3,f);b=1g Pb({2w:z,4N:b,6Z:Ja.11G});d=Sc.2E9([1g yb({3y:e}),1g yb({3y:b})]);b=c;c=d[0].2w;d=d[0].4N}1s c=b.2V,vw=k.4g(b.3c.17N(c,vw),b.1D,vw),vw=k.add(c,vw,vw),c=1g P(vw,b.19p),e=ll.2Rl(b,!0,!1),d=e.3q,f=e.4Yg,e=4Yf(d,b,!1),f=d0(f),f=Ta.9g(d.1h/3,f),b=c,c=e,d=f,g(a.12j)&&(e=1g 4L(c.1K.2a.1h/3),Ic(e,a.12j===ac.6i?0:1),c.1i2=1g Pa({3k:I.7U,2Z:1,2a:e}));1f 1g Pb({2w:c,4N:d,6Z:Ja.11G,7u:b,8J:a.12j})}};rg.2E2=1b(a,b,c){1d d=a.14J,e=a.5W;b=b(d,e);c=c(d,e);1f 1g rg({2V:a.19J,19p:a.1BT,1aP:a.1KE,3c:e,5S:a.1dP,15K:a.1mB,6f:d,9i:b,1D:c,9S:za.1Gd,1oT:!0})};1L.2X(rg.1i,{3g:{1n:1b(){g(1a.7T)||(1a.7T=e0(1a.19J,1a.1BT,1a.1KE,1a.1dP,1a.14J,1a.5W));1f 1a.7T}},2r3:{1n:1b(){if(!g(1a.1NF)){1d a=-1a.1mB;if(0===a)a=[0,0,0,1,1,0];1s{1j(1d b=ll.2Rl({2V:1a.19J,19p:1a.1BT,1aP:1a.1KE,5S:1a.1dP,6f:1a.14J},!1,!0).3cH,c=b.1h/3,d=2K(c),e=0;e<c;++e)d[e]=k.7j(b,3*e);a=Pb.1NF(d,a,1a.5W,1a.3g)}1a.1NF=a}1f 1a.1NF}}});vp.4q=rg.4q;vp.5n=1b(a,b,c){v.1N.2c("1Q",a);1f rg.5n(a.1NL,b,c)};1d 6qU=1g rg({2V:1g k,19p:1,1aP:1}),yi={2V:1g k,3L:1p 0,3c:ba.1y(ba.1x9),1D:1p 0,9i:1p 0,6f:1p 0,9S:1g za,15K:1p 0,19p:1p 0,1aP:1p 0,1oT:1p 0};vp.5f=1b(a,b,c){a=rg.5f(a,b,6qU);yi.2V=k.1y(a.19J,yi.2V);yi.3c=ba.1y(a.5W,yi.3c);yi.1D=a.10o;yi.9i=a.1d5;yi.6f=a.14J;yi.9S=za.1y(a.14s,yi.9S);yi.15K=a.1mB;yi.1oT=a.1Hp;if(!g(c))1f yi.3L=a.1BT,1g vp(yi);yi.19p=a.1BT;yi.1aP=a.1KE;c.1NL=1g rg(yi);1f c};vp.14t=1b(a){1f rg.14t(a.1NL)};vp.2E2=1b(a,b,c){1d d=a.1NL.14J,e=a.1NL.5W;b=b(d,e);c=c(d,e);1f 1g vp({2V:a.1NL.19J,3L:a.1NL.1BT,3c:e,15K:a.1NL.1mB,6f:d,9i:b,1D:c,9S:za.1Gd,1oT:!0})};1L.2X(vp.1i,{3g:{1n:1b(){1f 1a.1NL.3g}},2r3:{1n:1b(){1f 1a.1NL.2r3}}});1d 4Yc=1g k,ww=1g k,DL=1g P,EL=1g P;pj.4q=k.4q+ba.4q+8;pj.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);k.5n(a.19J,b,c);c+=k.4q;ba.5n(a.5W,b,c);c+=ba.4q;b[c++]=a.1BT;b[c++]=a.1KE;b[c++]=a.1dP;b[c++]=a.10o;b[c++]=a.14J;b[c++]=a.1d5;b[c++]=a.2af;b[c]=m(a.12j,-1);1f b};1d 4Ye=1g k,4Yd=1g ba,Uq={2V:4Ye,3c:4Yd,19p:1p 0,1aP:1p 0,5S:1p 0,1D:1p 0,6f:1p 0,9i:1p 0,1ej:1p 0,8J:1p 0};pj.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d=k.5f(a,b,4Ye);b+=k.4q;1d e=ba.5f(a,b,4Yd);b+=ba.4q;1d f=a[b++],h=a[b++],l=a[b++],p=a[b++],n=a[b++],z=a[b++],w=a[b++];a=a[b];if(!g(c))1f Uq.1D=p,Uq.9i=z,Uq.6f=n,Uq.5S=l,Uq.19p=f,Uq.1aP=h,Uq.1ej=w,Uq.8J=-1===a?1p 0:a,1g pj(Uq);c.19J=k.1y(d,c.19J);c.5W=ba.1y(e,c.5W);c.1BT=f;c.1KE=h;c.1dP=l;c.10o=p;c.14J=n;c.1d5=z;c.2af=w;c.12j=-1===a?1p 0:a;1f c};pj.14t=1b(a){if(!(0>=a.1BT||0>=a.1KE)){1d b=a.10o;1d c=a.1d5;1d d=!B.5T(b,c,0,B.1BO);a.19J=a.5W.1fI(a.19J,a.19J);b={2V:a.19J,19p:a.1BT,1aP:a.1KE,3c:a.5W,5S:a.1dP,1D:b,6f:a.14J,1ej:a.2af};if(d){b.9i=c;b.8J=a.12j;c=b.2V;d=b.3c;1d e=b.19p,f=k.4g(d.17N(c,4Yc),b.1D,4Yc);DL.2V=k.add(c,f,DL.2V);DL.3L=e;f=k.4g(d.17N(c,f),b.9i,f);EL.2V=k.add(c,f,EL.2V);EL.3L=e;e=ll.2Rl(b,!1,!0).3cH;c=1g ce({1K:1g Pa({3k:I.18l,2Z:3,2a:ll.4aF(e,b,!0)})});e=c.1K.2a;d=P.1nu(DL,EL);e=e.1h/3;g(b.8J)&&(f=1g 4L(e),f=b.8J===ac.1g5?Ic(f,1,0,e/2):Ic(f,b.8J===ac.6i?0:1),c.1i2=1g Pa({3k:I.7U,2Z:1,2a:f}));1d h=m(b.1ej,16);h=B.2Y(h,0,e/2);b=Ta.9g(e,2*e+2*h);e/=2;f=0;1d l;1j(l=0;l<e;++l)b[f++]=l,b[f++]=(l+1)%e,b[f++]=l+e,b[f++]=(l+1)%e+e;if(0<h){1d p=1k.9p(e/1k.2o(h,e));h=1k.2o(p*h,e);1j(l=0;l<h;l+=p)b[f++]=l,b[f++]=l+e}}1s{c=b.2V;ww=k.4g(b.3c.17N(c,ww),b.1D,ww);ww=k.add(c,ww,ww);c=1g P(ww,b.19p);d=ll.2Rl(b,!1,!0).3cH;b=1g ce({1K:1g Pa({3k:I.18l,2Z:3,2a:ll.4aF(d,b,!1)})});d=d.1h/3;e=Ta.9g(d,2*d);1j(l=f=0;l<d;++l)e[f++]=l,e[f++]=(l+1)%d;d=c;c=b;b=e;g(a.12j)&&(e=1g 4L(c.1K.2a.1h/3),Ic(e,a.12j===ac.6i?0:1),c.1i2=1g Pa({3k:I.7U,2Z:1,2a:e}))}1f 1g Pb({2w:c,4N:b,6Z:Ja.1ao,7u:d,8J:a.12j})}};xx.4q=pj.4q;xx.5n=1b(a,b,c){v.1N.2c("1Q",a);1f pj.5n(a.1NL,b,c)};1d 6qT=1g pj({2V:1g k,19p:1,1aP:1}),Yk={2V:1g k,3L:1p 0,3c:ba.1y(ba.1x9),1D:1p 0,9i:1p 0,6f:1p 0,1ej:1p 0,19p:1p 0,1aP:1p 0};xx.5f=1b(a,b,c){a=pj.5f(a,b,6qT);Yk.2V=k.1y(a.19J,Yk.2V);Yk.3c=ba.1y(a.5W,Yk.3c);Yk.1D=a.10o;Yk.9i=a.1d5;Yk.6f=a.14J;Yk.1ej=a.2af;if(!g(c))1f Yk.3L=a.1BT,1g xx(Yk);Yk.19p=a.1BT;Yk.1aP=a.1KE;c.1NL=1g pj(Yk);1f c};xx.14t=1b(a){1f pj.14t(a.1NL)};1d qj=1L.3F({3jf:0,6qR:1,2CL:2}),zf=1L.3F({6qS:0,29o:1,2ap:2});1L.2X(Cu.1i,{1a2:{1n:1b(){1f 1a.1vg},1C:1b(a){M.2L(1a.1vg,a)||(1a.2aq===zf.2ap&&(1a.2aq=zf.29o),1a.1vg=a)}},16W:{1n:1b(){1f 1a.2qM},1C:1b(a){1a.2qM!==a&&(1a.2aq===zf.2ap&&(1a.2aq=zf.29o),1a.2qM=a)}},1j6:{1n:1b(){1f 1a.2aq},1C:1b(a){a===zf.2ap&&(1a.2qM=1,1a.3cG=!0,1a.1vg=M.14H());1a.2aq=a}},1tv:{1n:1b(){1f 1a.3cG},1C:1b(a){1a.3cG!==a&&(1a.2aq===zf.2ap&&(1a.2aq=zf.29o),1a.3cG=a)}}});Cu.1i.4kI=1b(){1d a=Kd(),b=M.1y(1a.1vg);if(1a.1Tg&&1a.3cG){1d c=1a.2aq;if(c===zf.2ap)b=M.14H(b);1s{1d d=1a.2qM;b=c===zf.6qS?M.190(b,d,b):M.190(b,(a-1a.4Yb)/1E3*d,b);c=1a.1le;d=1a.18M;1d e=1a.1cU;if(c===qj.6qR)M.1ib(b,d)?b=M.1y(d,b):M.1bP(b,e)&&(b=M.1y(e,b),1a.2hD.5k(1a));1s if(c===qj.2CL)1j(M.1ib(b,d)&&(b=M.1y(d,b));M.1bP(b,e);)b=M.190(d,M.1dA(b,e),b),1a.2hD.5k(1a)}}1a.1vg=b;1a.4Yb=a;1a.1yw.5k(1a);1f b};y.1vu=1b(a,b){v.1N.2c("16L",a);if(!g(b))1f 1g y(a.x,a.y,a.z,a.w);b.5r=a.x;b.5t=a.y;b.5G=a.z;b.2O=a.w;1f b};y.2CY=1b(a,b,c,d,e){a=y.1WB(m(a,255));b=y.1WB(m(b,255));c=y.1WB(m(c,255));d=y.1WB(m(d,255));if(!g(e))1f 1g y(a,b,c,d);e.5r=a;e.5t=b;e.5G=c;e.2O=d;1f e};y.4xA=1b(a,b,c){v.1N.2c("1A",a);v.1N.2b("2O",b);if(!g(c))1f 1g y(a.5r,a.5t,a.5G,b);c.5r=a.5r;c.5t=a.5t;c.5G=a.5G;c.2O=b;1f c};if(Nc.2zu()){1d 4Ya=1g 1aq(4);1d hW=1g 12X(4Ya);1d qm=1g 4L(4Ya)}y.28S=1b(a,b){hW[0]=a;1f y.2CY(qm[0],qm[1],qm[2],qm[3],b)};y.2xV=1b(a,b,c,d){qm[0]=a;qm[1]=b;qm[2]=c;qm[3]=d;1f hW[0]};y.3xK=1b(a,b,c,d,e){a=m(a,0)%1;b=m(b,0);c=m(c,0);d=m(d,1);1d f=c,h=c,l=c;0!==b&&(b=.5>c?c*(1+b):c+b-c*b,c=2*c-b,f=LO(c,b,a+1/3),h=LO(c,b,a),l=LO(c,b,a-1/3));if(!g(e))1f 1g y(f,h,l,d);e.5r=f;e.5t=h;e.5G=l;e.2O=d;1f e};y.3zZ=1b(a,b){a=m(a,m.4Z);1d c=a.5r;if(!g(c)){c=m(a.6qQ,0);1d d=m(a.43H,1);v.1N.2b.19D("6qQ",c,d);c+=B.2PM()*(d-c)}d=a.5t;if(!g(d)){d=m(a.6qP,0);1d e=m(a.43G,1);v.1N.2b.19D("6qP",d,e);d+=B.2PM()*(e-d)}e=a.5G;if(!g(e)){e=m(a.6qO,0);1d f=m(a.43F,1);v.1N.2b.19D("6qO",e,f);e+=B.2PM()*(f-e)}f=a.2O;g(f)||(f=m(a.95x,0),a=m(a.95w,1),v.1N.2b.19D("95v",f,a),f+=B.2PM()*(a-f));if(!g(b))1f 1g y(c,d,e,f);b.5r=c;b.5t=d;b.5G=e;b.2O=f;1f b};1d 6qN=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,6qM=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,6qL=/^15A?\\(\\s*([0-9.]+%?)\\s*,\\s*([0-9.]+%?)\\s*,\\s*([0-9.]+%?)(?:\\s*,\\s*([0-9.]+))?\\s*\\)$/i,6qK=/^3xG?\\(\\s*([0-9.]+)\\s*,\\s*([0-9.]+%)\\s*,\\s*([0-9.]+%)(?:\\s*,\\s*([0-9.]+))?\\s*\\)$/i;y.5X=1b(a,b){v.1N.4n("1A",a);g(b)||(b=1g y);1d c=y[a.1G9()];if(g(c))1f y.1y(c,b),b;c=6qN.1f4(a);if(1F!==c)1f b.5r=8A(c[1],16)/15,b.5t=8A(c[2],16)/15,b.5G=8A(c[3],16)/15,b.2O=1,b;c=6qM.1f4(a);if(1F!==c)1f b.5r=8A(c[1],16)/255,b.5t=8A(c[2],16)/255,b.5G=8A(c[3],16)/255,b.2O=1,b;c=6qL.1f4(a);if(1F!==c)1f b.5r=7L(c[1])/("%"===c[1].13c(-1)?100:255),b.5t=7L(c[2])/("%"===c[2].13c(-1)?100:255),b.5G=7L(c[3])/("%"===c[3].13c(-1)?100:255),b.2O=7L(m(c[4],"1.0")),b;c=6qK.1f4(a);if(1F!==c)1f y.3xK(7L(c[1])/360,7L(c[2])/100,7L(c[3])/100,7L(m(c[4],"1.0")),b)};y.4q=4;y.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a.5r;b[c++]=a.5t;b[c++]=a.5G;b[c]=a.2O;1f b};y.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g y);c.5r=a[b++];c.5t=a[b++];c.5G=a[b++];c.2O=a[b];1f c};y.1WB=1b(a){1f a/255};y.10F=1b(a){1f 1===a?255:256*a|0};y.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g y(a.5r,a.5t,a.5G,a.2O);b.5r=a.5r;b.5t=a.5t;b.5G=a.5G;b.2O=a.2O;1f b}};y.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.5r===b.5r&&a.5t===b.5t&&a.5G===b.5G&&a.2O===b.2O};y.1zX=1b(a,b,c){1f a.5r===b[c]&&a.5t===b[c+1]&&a.5G===b[c+2]&&a.2O===b[c+3]};y.1i.1y=1b(a){1f y.1y(1a,a)};y.1i.2L=1b(a){1f y.2L(1a,a)};y.1i.5T=1b(a,b){1f 1a===a||g(a)&&1k.abs(1a.5r-a.5r)<=b&&1k.abs(1a.5t-a.5t)<=b&&1k.abs(1a.5G-a.5G)<=b&&1k.abs(1a.2O-a.2O)<=b};y.1i.5s=1b(){1f"("+1a.5r+", "+1a.5t+", "+1a.5G+", "+1a.2O+")"};y.1i.1fY=1b(){1d a=y.10F(1a.5r),b=y.10F(1a.5t),c=y.10F(1a.5G);1f 1===1a.2O?"2y("+a+","+b+","+c+")":"15A("+a+","+b+","+c+","+1a.2O+")"};y.1i.3bt=1b(a){1d b=y.10F(1a.5r),c=y.10F(1a.5t),d=y.10F(1a.5G),e=y.10F(1a.2O);if(!g(a))1f[b,c,d,e];a[0]=b;a[1]=c;a[2]=d;a[3]=e;1f a};y.1i.22A=1b(){qm[0]=y.10F(1a.5r);qm[1]=y.10F(1a.5t);qm[2]=y.10F(1a.5G);qm[3]=y.10F(1a.2O);1f hW[0]};y.1i.6qJ=1b(a,b){v.1N.2b("7t",a);v.1N.2b.9Y("7t",a,0);v.1N.2c("4D",b);a=1-a;b.5r=1-(1-1a.5r)*a;b.5t=1-(1-1a.5t)*a;b.5G=1-(1-1a.5G)*a;b.2O=1a.2O;1f b};y.1i.3gF=1b(a,b){v.1N.2b("7t",a);v.1N.2b.9Y("7t",a,0);v.1N.2c("4D",b);a=1-a;b.5r=1a.5r*a;b.5t=1a.5t*a;b.5G=1a.5G*a;b.2O=1a.2O;1f b};y.1i.2on=1b(a,b){1f y.4xA(1a,a,b)};y.add=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.5r=a.5r+b.5r;c.5t=a.5t+b.5t;c.5G=a.5G+b.5G;c.2O=a.2O+b.2O;1f c};y.3V=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.5r=a.5r-b.5r;c.5t=a.5t-b.5t;c.5G=a.5G-b.5G;c.2O=a.2O-b.2O;1f c};y.9b=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.5r=a.5r*b.5r;c.5t=a.5t*b.5t;c.5G=a.5G*b.5G;c.2O=a.2O*b.2O;1f c};y.3Rh=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.5r=a.5r/b.5r;c.5t=a.5t/b.5t;c.5G=a.5G/b.5G;c.2O=a.2O/b.2O;1f c};y.13R=1b(a,b,c){v.1N.2c("3B",a);v.1N.2c("2W",b);v.1N.2c("4D",c);c.5r=a.5r%b.5r;c.5t=a.5t%b.5t;c.5G=a.5G%b.5G;c.2O=a.2O%b.2O;1f c};y.11x=1b(a,b,c,d){v.1N.2c("4I",a);v.1N.2c("9o",b);v.1N.2b("t",c);v.1N.2c("4D",d);d.5r=B.11x(a.5r,b.5r,c);d.5t=B.11x(a.5t,b.5t,c);d.5G=B.11x(a.5G,b.5G,c);d.2O=B.11x(a.2O,b.2O,c);1f d};y.4g=1b(a,b,c){v.1N.2c("1A",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c.5r=a.5r*b;c.5t=a.5t*b;c.5G=a.5G*b;c.2O=a.2O*b;1f c};y.1eE=1b(a,b,c){v.1N.2c("1A",a);v.1N.2b("1iL",b);v.1N.2c("4D",c);c.5r=a.5r/b;c.5t=a.5t/b;c.5G=a.5G/b;c.2O=a.2O/b;1f c};y.95u=1L.3F(y.5X("#95t"));y.95s=1L.3F(y.5X("#95r"));y.95q=1L.3F(y.5X("#6qI"));y.95p=1L.3F(y.5X("#95o"));y.95n=1L.3F(y.5X("#95m"));y.95l=1L.3F(y.5X("#95k"));y.95j=1L.3F(y.5X("#95i"));y.1a7=1L.3F(y.5X("#1Qx"));y.95h=1L.3F(y.5X("#95g"));y.2f3=1L.3F(y.5X("#95f"));y.95e=1L.3F(y.5X("#95d"));y.95c=1L.3F(y.5X("#95b"));y.95a=1L.3F(y.5X("#959"));y.958=1L.3F(y.5X("#957"));y.956=1L.3F(y.5X("#955"));y.954=1L.3F(y.5X("#952"));y.951=1L.3F(y.5X("#950"));y.94Z=1L.3F(y.5X("#94Y"));y.94X=1L.3F(y.5X("#94W"));y.94V=1L.3F(y.5X("#94U"));y.4tu=1L.3F(y.5X("#6qI"));y.94T=1L.3F(y.5X("#94S"));y.94R=1L.3F(y.5X("#94Q"));y.94P=1L.3F(y.5X("#94O"));y.45J=1L.3F(y.5X("#94N"));y.94M=1L.3F(y.5X("#94L"));y.94K=y.45J;y.94J=1L.3F(y.5X("#94I"));y.94H=1L.3F(y.5X("#94G"));y.94F=1L.3F(y.5X("#94D"));y.94C=1L.3F(y.5X("#94B"));y.94A=1L.3F(y.5X("#94z"));y.94y=1L.3F(y.5X("#94x"));y.94w=1L.3F(y.5X("#94v"));y.94u=1L.3F(y.5X("#94t"));y.94s=1L.3F(y.5X("#94r"));y.6qH=1L.3F(y.5X("#94q"));y.94p=y.6qH;y.94o=1L.3F(y.5X("#94n"));y.94m=1L.3F(y.5X("#94l"));y.94k=1L.3F(y.5X("#94j"));y.94i=1L.3F(y.5X("#94h"));y.6qG=1L.3F(y.5X("#94g"));y.94f=y.6qG;y.94e=1L.3F(y.5X("#94d"));y.94c=1L.3F(y.5X("#94b"));y.94a=1L.3F(y.5X("#947"));y.944=1L.3F(y.5X("#943"));y.942=1L.3F(y.5X("#6qC"));y.941=1L.3F(y.5X("#940"));y.93Z=1L.3F(y.5X("#93Y"));y.93X=1L.3F(y.5X("#93W"));y.93V=1L.3F(y.5X("#93U"));y.6qF=1L.3F(y.5X("#93T"));y.3Ra=1L.3F(y.5X("#93S"));y.93R=1L.3F(y.5X("#93Q"));y.93P=y.6qF;y.93O=1L.3F(y.5X("#93N"));y.93M=1L.3F(y.5X("#93L"));y.93K=1L.3F(y.5X("#93J"));y.93I=1L.3F(y.5X("#93H"));y.93G=1L.3F(y.5X("#93F"));y.93E=1L.3F(y.5X("#93D"));y.93C=1L.3F(y.5X("#93B"));y.93A=1L.3F(y.5X("#93z"));y.93y=1L.3F(y.5X("#93x"));y.93w=1L.3F(y.5X("#93v"));y.93u=1L.3F(y.5X("#93t"));y.93s=1L.3F(y.5X("#93r"));y.93q=1L.3F(y.5X("#93p"));y.93o=1L.3F(y.5X("#93n"));y.6qE=1L.3F(y.5X("#93m"));y.93l=1L.3F(y.5X("#93k"));y.93j=y.6qE;y.93i=1L.3F(y.5X("#93h"));y.93g=1L.3F(y.5X("#93f"));y.93e=1L.3F(y.5X("#93d"));y.6qD=1L.3F(y.5X("#93c"));y.93b=y.6qD;y.93a=1L.3F(y.5X("#937"));y.936=1L.3F(y.5X("#935"));y.934=1L.3F(y.5X("#933"));y.932=1L.3F(y.5X("#931"));y.930=1L.3F(y.5X("#92Z"));y.5yl=1L.3F(y.5X("#6qC"));y.92Y=1L.3F(y.5X("#92X"));y.92W=1L.3F(y.5X("#92V"));y.92U=1L.3F(y.5X("#92T"));y.92S=1L.3F(y.5X("#92R"));y.92Q=1L.3F(y.5X("#92P"));y.92O=1L.3F(y.5X("#92N"));y.92M=1L.3F(y.5X("#92L"));y.92K=1L.3F(y.5X("#92J"));y.92I=1L.3F(y.5X("#92H"));y.92G=1L.3F(y.5X("#92F"));y.92E=1L.3F(y.5X("#92D"));y.92C=1L.3F(y.5X("#92B"));y.92A=1L.3F(y.5X("#92z"));y.92y=1L.3F(y.5X("#92x"));y.92w=1L.3F(y.5X("#92v"));y.92u=1L.3F(y.5X("#92t"));y.92s=1L.3F(y.5X("#92r"));y.92q=1L.3F(y.5X("#92p"));y.92o=1L.3F(y.5X("#92n"));y.439=1L.3F(y.5X("#92m"));y.92l=1L.3F(y.5X("#92k"));y.92j=1L.3F(y.5X("#92i"));y.92h=1L.3F(y.5X("#92g"));y.92f=1L.3F(y.5X("#92e"));y.92d=1L.3F(y.5X("#92c"));y.92b=1L.3F(y.5X("#92a"));y.928=1L.3F(y.5X("#927"));y.926=1L.3F(y.5X("#925"));y.923=1L.3F(y.5X("#922"));y.921=1L.3F(y.5X("#920"));y.91Z=1L.3F(y.5X("#91Y"));y.91X=1L.3F(y.5X("#91W"));y.91V=1L.3F(y.5X("#91U"));y.1PZ=1L.3F(y.5X("#91T"));y.91S=1L.3F(y.5X("#91R"));y.64r=1L.3F(y.5X("#91Q"));y.91P=1L.3F(y.5X("#91O"));y.91N=1L.3F(y.5X("#91M"));y.91L=1L.3F(y.5X("#91K"));y.91J=1L.3F(y.5X("#91I"));y.91H=1L.3F(y.5X("#91G"));y.91F=1L.3F(y.5X("#91E"));y.91D=1L.3F(y.5X("#91C"));y.91B=1L.3F(y.5X("#91A"));y.91z=1L.3F(y.5X("#91y"));y.6qB=1L.3F(y.5X("#91x"));y.91w=y.6qB;y.91v=1L.3F(y.5X("#91u"));y.91t=1L.3F(y.5X("#91s"));y.91r=1L.3F(y.5X("#91q"));y.91p=1L.3F(y.5X("#91o"));y.91n=1L.3F(y.5X("#91m"));y.91l=1L.3F(y.5X("#91k"));y.91j=1L.3F(y.5X("#91i"));y.91h=1L.3F(y.5X("#91g"));y.60S=1L.3F(y.5X("#91f"));y.91e=1L.3F(y.5X("#91d"));y.9r=1L.3F(y.5X("#5M5"));y.91c=1L.3F(y.5X("#91b"));y.1Zs=1L.3F(y.5X("#91a"));y.919=1L.3F(y.5X("#916"));y.28g=1L.3F(1g y(0,0,0,0));1L.2X(Qb.1i,{3k:{1n:1b(){1f I.7U}},2Z:{1n:1b(){1f 4}},1T:{1n:1b(){1f!0}}});Qb.1dc=1b(a){if(!g(a))1t 1g r("1A is 1X.");1f 1g Qb(a.5r,a.5t,a.5G,a.2O)};Qb.1an=1b(a,b){if(!g(a))1t 1g r("1A is 1X.");1f g(b)?a.3bt(b):1g 4L(a.3bt())};Qb.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.1Q[0]===b.1Q[0]&&a.1Q[1]===b.1Q[1]&&a.1Q[2]===b.1Q[2]&&a.1Q[3]===b.1Q[3]};bh.1i.1M=1b(){1a.1Ht.7f();1a.2Rk=1a.1sv=1F};bh.1i.2eK=1b(a){if(a>1a.1Ht.2a.1h-1)1f 1F;1j(1d b in 1a.1Ht.15W)if(0<a)a--;1s{if(!g(b))1W;a=b;b=1a.1Ht.1n(b);1f{1eD:a,1A:b}}1f 1F};bh.1i.7Z=1b(){1f 1a.1Ht.2a.1h};bh.1i.1v1=1b(a,b){1d c=1a.1Ht.1n(a);if(!g(c)){1d d=y.1y(b,d);1a.1Ht.1C(a,d)}};bh.1i.3S=1b(a){1f 1a.1Ht.3S(a)};bh.1i.9P=1b(){1a.1Ht.2a.1h=0};bh.1y=1b(a,b){if(g(a)){g(b)||(b=1g bh);Ia.1y(a.1Ht,b.1Ht);1j(1d c=0;c<a.1sv.1h;c++)b.1sv[c]=a.1sv[c];1f b}};bh.1i.2yj=1b(){1d a=[],b=0,c;1j(c in 1a.1Ht.15W)if(g(c)){1d d=1a.1Ht.1n(c);a[b++]={1Q:7L(c),1A:d}}if(!(2>a.1h)){1j(b=0;b<a.1h-1;b++){d=a[b];1j(1d e=b+1;e<a.1h;e++)d.1Q>a[e].1Q&&(d=wc(a[b],!0),a[b]=wc(a[e],!0),a[e]=d,d=a[b])}e=a[0].1Q;1d f=a[a.1h-1].1Q-e;d=3n.4O("3M");d.1G=1xn;d.1D=1;1d h=d.1ft("2d");h.1Ja();1d l=h.4IW(0,0,1xn,0);1j(b=0;b<a.1h;b++)l.3ue((a[b].1Q-e)/f,a[b].1A.1fY());h.15b=l;h.2wR(0,0,d.1G,d.1D);h.4K();a=h.1LW(0,0,d.1G,1).2g;1j(e=0;16>e;e++)1j(b=0;18C>b;b++)1a.1sv[b+1xn*e]=a[b+18C*e],1a.1sv[b+1xn*e+18C]=a[b+18C*e],1a.1sv[b+1xn*e+1c8]=a[b+18C*e],1a.1sv[b+1xn*e+4Kd]=a[b+18C*e];1j(c in 1a.1Ht.15W)1a.2Rk.1q(7L(c));1a.2Rk.15F(6qA);1f d}};bh.1i.1eV=1b(a){1j(1d b=0;b<1a.2Rk.1h;b++)if(1a.2Rk[b]>=a)1f 1a.1Ht.1n(1a.2Rk[b])};1L.2X(Vn.1i,{2gm:{1n:1b(){1f 1a.1JH}},1G:{1n:1b(){1f 1a.10V}},1D:{1n:1b(){1f 1a.10o}},11y:{1n:1b(){1f 1a.1hW}}});Vn.1y=1b(a){if(g(a))1f 1g Vn(a.1JH,a.10V,a.10o,a.1hW)};Vn.1i.1y=1b(){1f Vn.1y(1a)};1d Vq={},6qz=1g k,4Y8=1g k,4Y7=1g k,4Y6=1g k,4Y9=1g yc;Vq.6pX=1b(a){v.2l("3q",a);1d b=yc.1aN(a,4Y9).1dK,c=J.1ed(b,0,4Y8);a=J.1ed(b,1,4Y7);b=J.1ed(b,2,4Y6);c=k.7t(c);a=k.7t(a);b=k.7t(b);1f!(0===c&&(0===a||0===b)||0===a&&0===b)};Vq.6q8=1b(a,b,c,d){v.2l("3q",a);v.2l("915",b);v.2l("914",c);v.2l("913",d);a=yc.1aN(a,4Y9);1d e=a.1dK,f=J.1ed(e,0,4Y8),h=J.1ed(e,1,4Y7);e=J.1ed(e,2,4Y6);1d l=k.7t(f),g=k.7t(h),n=k.7t(e),z=1k.2o(l,g,n);if(0===l&&(0===g||0===n)||0===g&&0===n)1f!1;1d w;if(z===g||z===n)1d x=f;z===l?x=h:z===n&&(w=h);if(z===l||z===g)w=e;k.1T(x,c);k.1T(w,d);k.1y(a.2V,b);1f!0};Vq.6q6=1b(a,b,c){1f 1b(d){1j(1d e=2K(d.1h),f=0;f<d.1h;f++)e[f]=f0(d[f],a,b,c);1f e}};Vq.6q5=1b(a,b,c){1f 1b(d,e){1f f0(d,a,b,c,e)}};1d 6qy=1g k,NO=1g k;1L.2X(ch.1i,{3c:{1n:1b(){1f 1a.5W}},1R1:{1n:1b(){v.2l("3s",1a.172);1f 1a.172}},4I:{1n:1b(){1f 1a.1yx}},9o:{1n:1b(){1f 1a.2iG}},8e:{1n:1b(){v.2l("3s",1a.172);1f 1a.1Ef}}});ch.912=1b(a,b,c,d,e){v.2l("4I",a);v.2l("8e",b);v.2l("3s",c);v.1N.2b.1bP("3s",c,0);1d f=m(d,ba.9y),h=f.17i,l=f.1W5;h*=h;l=1k.3Y((h-l*l)/h);b=B.1vw(b);b=h0(a,b,c,f.17i,l);if(!g(e)||g(d)&&!d.2L(e.3c))1f 1g ch(a,b,f);e.1Nh(a,b);1f e};ch.1i.1Nh=1b(a,b){v.2l("4I",a);v.2l("9o",b);g0(1a,a,b,1a.5W)};ch.1i.3cF=1b(a,b){1f 1a.2rA(a*1a.172,b)};ch.1i.2rA=1b(a,b){v.1N.2b("3s",a);if(!g(1a.172)||0===1a.172)1t 1g r("3KN 2Q 118 4Y5 4I and 9o 1C.");1f h0(1a.1yx,1a.1Ef,a,1a.5W.17i,1a.2rB,b)};ch.1i.4VP=1b(a,b){v.1N.2b("911",a);if(!g(1a.172)||0===1a.172)1t 1g r("3KN 2Q 118 4Y5 4I and 9o 1C.");1d c=1a.2rB,d=1a.1Ef,e=1k.abs(d),f=1a.1yx;a=B.1vw(a);B.5T(1k.abs(a),1k.PI,B.1sW)&&(a=B.12q(f.3N)*1k.PI);g(b)||(b=1g T);if(1k.abs(B.10k-e)<=B.1PW)1f b.3N=a,b.4k=f.4k,b.1D=0,b;if(B.5T(1k.abs(B.10k-e),B.10k,B.1PW)){if(B.5T(a,f.3N,B.2iH))1f;b.3N=a;b.4k=B.10k*B.12q(B.10k-d);b.1D=0;1f b}1d h=f.4k;e=c*1k.2T(h);d=1k.10n(.5*(B.10k+h))*1k.108((a-f.3N)/1k.10n(d));e=(1+e)/(1-e);h=f.4k;do f=h,h=c*1k.2T(f),h=2*1k.16D(d*1k.3r((1+h)/(1-h)/e,c/2))-B.10k;14p(!B.5T(h,f,B.2iH));b.3N=a;b.4k=h;b.1D=0;1f b};ch.1i.910=1b(a,b){v.1N.2b("90Z",a);if(!g(1a.172)||0===1a.172)1t 1g r("3KN 2Q 118 4Y5 4I and 9o 1C.");1d c=1a.2rB,d=1a.1Ef,e=1a.1yx;if(!B.5T(1k.abs(d),B.10k,B.1PW)){1d f=yx(c,e.4k);c=yx(c,a);d=B.1vw(e.3N+1k.10n(d)*(c-f));1f g(b)?(b.3N=d,b.4k=a,b.1D=0,b):1g T(d,a,0)}};tB.90Y=1b(a,b,c,d){1d e=b&&b.1h,f=1k.abs(OO(a,0,e?b[0]*c:a.1h,c));if(e){e=0;1j(1d h=b.1h;e<h;e++)f-=1k.abs(OO(a,b[e]*c,e<h-1?b[e+1]*c:a.1h,c))}1j(e=b=0;e<d.1h;e+=3){h=d[e]*c;1d l=d[e+1]*c,g=d[e+2]*c;b+=1k.abs((a[h]-a[g])*(a[l+1]-a[h+1])-(a[h]-a[l])*(a[g+1]-a[h+1]))}1f 0===f&&0===b?0:1k.abs((b-f)/f)};tB.90X=1b(a){1j(1d b=a[0][0].1h,c={1co:[],1nt:[],6e:b},d=0,e=0;e<a.1h;e++){1j(1d f=0;f<a[e].1h;f++)1j(1d h=0;h<b;h++)c.1co.1q(a[e][f][h]);0<e&&(d+=a[e-1].1h,c.1nt.1q(d))}1f c};1d iW={2a4:H.CW,3za:H.4Eg,1f6:1b(a){1f a===iW.2a4||a===iW.3za}},Aj=1L.3F(iW),6qt=1g k,6qs=1g k,Ad={6qx:1b(a){v.2l("3q",a);v.1N.2b.9Y("3q.1h",a.1h,3);1j(1d b=a.1h,c=0,d=b-1,e=0;e<b;d=e++){d=a[d];1d f=a[e];c+=d.x*f.y-f.x*d.y}1f.5*c},2is:1b(a){1f 0<Ad.6qx(a)?Aj.3za:Aj.2a4},38X:1b(a,b){v.2l("3q",a);a=C.4aE(a);1f tB(a,b,2)}},4Y3=1g k,4Y2=1g k,4Y1=1g k,4Y4=1g k,$fa=1g k,aga=1g k,Wq=1g k;Ad.6qj=1b(a,b,c,d){d=m(d,B.15y);v.1N.2c("3c",a);v.2l("3q",b);v.2l("4N",c);v.1N.2b.9Y("4N.1h",c.1h,3);v.1N.2b.2L("4N.1h % 3","0",c.1h%3,0);v.1N.2b.1bP("6f",d,0);c=c.4h(0);1d e,f=b.1h,h=2K(3*f),l=0;1j(e=0;e<f;e++){1d p=b[e];h[l++]=p.x;h[l++]=p.y;h[l++]=p.z}b=[];f={};a=a.17i;d=B.2a3(d,a);1j(d*=d;0<c.1h;){l=c.9l();p=c.9l();1d n=c.9l(),z=k.7j(h,3*n,4Y3),w=k.7j(h,3*p,4Y2),x=k.7j(h,3*l,4Y1),D=k.4g(k.1T(z,4Y4),a,4Y4),t=k.4g(k.1T(w,$fa),a,$fa),r=k.4g(k.1T(x,aga),a,aga);e=k.17j(k.3V(D,t,Wq));t=k.17j(k.3V(t,r,Wq));D=k.17j(k.3V(r,D,Wq));r=1k.1V(e,t,D);r>d?e===r?(t=1k.2o(n,p)+" "+1k.1V(n,p),e=f[t],g(e)||(z=k.add(z,w,Wq),k.4g(z,.5,z),h.1q(z.x,z.y,z.z),e=h.1h/3-1,f[t]=e),c.1q(n,e,l),c.1q(e,p,l)):t===r?(t=1k.2o(p,l)+" "+1k.1V(p,l),e=f[t],g(e)||(z=k.add(w,x,Wq),k.4g(z,.5,z),h.1q(z.x,z.y,z.z),e=h.1h/3-1,f[t]=e),c.1q(p,e,n),c.1q(e,l,n)):D===r&&(t=1k.2o(l,n)+" "+1k.1V(l,n),e=f[t],g(e)||(z=k.add(x,z,Wq),k.4g(z,.5,z),h.1q(z.x,z.y,z.z),e=h.1h/3-1,f[t]=e),c.1q(l,e,p),c.1q(e,n,p)):(b.1q(n),b.1q(p),b.1q(l))}1f 1g Pb({2w:{1K:1g Pa({3k:I.18l,2Z:3,2a:h})},4N:b,6Z:Ja.11G})};1d 6qw=1g T,6qv=1g T,6qu=1g T,jW=1g T;Ad.6qi=1b(a,b,c,d){d=m(d,B.15y);v.1N.2c("3c",a);v.2l("3q",b);v.2l("4N",c);v.1N.2b.9Y("4N.1h",c.1h,3);v.1N.2b.2L("4N.1h % 3","0",c.1h%3,0);v.1N.2b.1bP("6f",d,0);c=c.4h(0);1d e,f=b.1h,h=2K(3*f),l=0;1j(e=0;e<f;e++){1d p=b[e];h[l++]=p.x;h[l++]=p.y;h[l++]=p.z}b=[];f={};d=B.2a3(d,a.17i);l=1g ch(1p 0,1p 0,a);p=1g ch(1p 0,1p 0,a);1j(1d n=1g ch(1p 0,1p 0,a);0<c.1h;){1d z=c.9l(),w=c.9l(),x=c.9l(),D=k.7j(h,3*x,4Y3),t=k.7j(h,3*w,4Y2);e=k.7j(h,3*z,4Y1);D=a.10Z(D,6qw);t=a.10Z(t,6qv);1d r=a.10Z(e,6qu);l.1Nh(D,t);e=l.1R1;p.1Nh(t,r);1d q=p.1R1;n.1Nh(r,D);1d u=n.1R1,y=1k.1V(e,q,u);y>d?e===y?(q=1k.2o(x,w)+" "+1k.1V(x,w),e=f[q],g(e)||(e=l.3cF(.5,jW),D=.5*(D.1D+t.1D),D=k.15i(e.3N,e.4k,D,a,Wq),h.1q(D.x,D.y,D.z),e=h.1h/3-1,f[q]=e),c.1q(x,e,z),c.1q(e,w,z)):q===y?(q=1k.2o(w,z)+" "+1k.1V(w,z),e=f[q],g(e)||(e=p.3cF(.5,jW),D=.5*(t.1D+r.1D),D=k.15i(e.3N,e.4k,D,a,Wq),h.1q(D.x,D.y,D.z),e=h.1h/3-1,f[q]=e),c.1q(w,e,x),c.1q(e,z,x)):u===y&&(q=1k.2o(z,x)+" "+1k.1V(z,x),e=f[q],g(e)||(e=n.3cF(.5,jW),D=.5*(r.1D+D.1D),D=k.15i(e.3N,e.4k,D,a,Wq),h.1q(D.x,D.y,D.z),e=h.1h/3-1,f[q]=e),c.1q(z,e,w),c.1q(e,x,w)):(b.1q(x),b.1q(w),b.1q(z))}1f 1g Pb({2w:{1K:1g Pa({3k:I.18l,2Z:3,2a:h})},4N:b,6Z:Ja.11G})};Ad.1Ho=1b(a,b,c,d){c=m(c,ba.9y);1d e=6qt,f=6qs;b=m(b,0);d=m(d,!0);if(g(a))1j(1d h=a.1h,l=0;l<h;l+=3)k.7j(a,l,f),d&&(f=c.1fI(f,f)),0!==b&&(e=c.17N(f,e),k.4g(e,b,e),k.add(f,e,f)),a[l]=f.x,a[l+1]=f.y,a[l+2]=f.z;1f a};1L.2X($f.1i,{1h:{1n:1b(){1f 1a.1bC}}});$f.1i.1vp=1b(a){1a.1gN.1q(a);1a.1bC++};$f.1i.1xg=1b(){if(0!==1a.1bC){1d a=1a.1gN,b=1a.1hs,c=a[b];a[b]=1p 0;b++;10<b&&2*b>a.1h&&(1a.1gN=a.4h(b),b=0);1a.1hs=b;1a.1bC--;1f c}};$f.1i.1PE=1b(){if(0!==1a.1bC)1f 1a.1gN[1a.1hs]};$f.1i.8h=1b(a){1f-1!==1a.1gN.3f(a)};$f.1i.9P=1b(){1a.1gN.1h=1a.1hs=1a.1bC=0};$f.1i.15F=1b(a){0<1a.1hs&&(1a.1gN=1a.1gN.4h(1a.1hs),1a.1hs=0);1a.1gN.15F(a)};1d xc={3zY:1b(a){1d b=0;1j(a=[a];0<a.1h;){1d c=a.9l();if(g(c)){b+=2;1d d=c.3q;c=c.1nt;g(d)&&(b+=d.1h*k.4q);if(g(c)){d=c.1h;1j(1d e=0;e<d;++e)a.1q(c[e])}}}1f b},3z9:1b(a,b,c){1j(a=[a];0<a.1h;){1d d=a.9l();if(g(d)){1d e=d.3q;d=d.1nt;b[c++]=g(e)?e.1h:0;b[c++]=g(d)?d.1h:0;if(g(e))1j(1d f=e.1h,h=0;h<f;++h,c+=3)k.5n(e[h],b,c);if(g(d))1j(e=d.1h,f=0;f<e;++f)a.1q(d[f])}}1f c},3c6:1b(a,b){1j(1d c=a[b++],d=a[b++],e=2K(c),f=0<d?2K(d):1p 0,h=0;h<c;++h,b+=k.4q)e[h]=k.5f(a,b);1j(c=0;c<d;++c)f[c]=xc.3c6(a,b),b=f[c].2a9,4Y f[c].2a9;1f{3q:e,1nt:f,2a9:b}}},rt=1g k;xc.3z8=1b(a,b,c){a=k.3s(a,b);c=1k.1V(0,1k.8a(B.1iK(a/c)));1f 1k.3r(2,c)};1d 4Y0=1g T,4XZ=1g T,6qr=1g T,6qq=1g k;xc.49B=1b(a,b,c,d){b=a.10Z(b,4Y0);c=a.10Z(c,4XZ);a=(1g ch(b,c,a)).1R1/d;a=1k.1V(0,1k.8a(B.1iK(a)));1f 1k.3r(2,a)};xc.49A=1b(a,b,c,d){c=xc.3z8(a,b,c);1d e=k.3s(a,b),f=e/c;g(d)||(d=[]);d.1h=3*c;1j(1d h=0,l=0;l<c;l++){1d p=a;1d n=l*f,z=e;k.3V(b,p,rt);k.4g(rt,n/z,rt);k.add(p,rt,rt);p=[rt.x,rt.y,rt.z];d[h++]=p[0];d[h++]=p[1];d[h++]=p[2]}1f d};xc.49z=1b(a,b,c,d,e){b=a.10Z(b,4Y0);c=a.10Z(c,4XZ);c=1g ch(b,c,a);d=1k.1V(0,1k.8a(B.1iK(c.1R1/d)));d=1k.3r(2,d);b=c.1R1/d;g(e)||(e=[]);e.1h=3*d;1j(1d f=0,h=0;h<d;h++){1d l=c.2rA(h*b,6qr);l=a.13B(l,6qq);e[f++]=l.x;e[f++]=l.y;e[f++]=l.z}1f e};1d kW=1g k,6qp=1g k,FL=1g k,6qo=1g k;xc.49C=1b(a,b,c,d,e){d=m(d,ba.9y);1d f=6qp,h=6qo;if(g(a)&&g(a.2w)&&g(a.2w.1K))1j(1d l=a.2w.1K.2a,p=l.1h/2,n=0;n<p;n+=3)k.7j(l,n,FL),d.17N(FL,kW),h=d.1fI(FL,h),f=k.4g(kW,c,f),f=k.add(h,f,f),l[n+p]=f.x,l[n+1+p]=f.y,l[n+2+p]=f.z,e&&(h=k.1y(FL,h)),f=k.4g(kW,b,f),f=k.add(h,f,f),l[n]=f.x,l[n+1]=f.y,l[n+2]=f.z;1f a};xc.4V0=1b(a,b,c){1d d=[],e=1g $f;e.1vp(a);1j(1d f,h;0!==e.1h;){1d l=e.1xg(),p=l.3q;if(b)1j(h=p.1h,a=0;a<h;a++)c.1fI(p[a],p[a]);p=$h(p,k.5T,!0);if(!(3>p.1h)){1d n=l.1nt?l.1nt.1h:0;1j(a=0;a<n;a++){1d z=l.1nt[a],w=z.3q;if(b)1j(h=w.1h,f=0;f<h;++f)c.1fI(w[f],w[f]);w=$h(w,k.5T,!0);if(!(3>w.1h))1j(d.1q(w),h=0,g(z.1nt)&&(h=z.1nt.1h),f=0;f<h;f++)e.1vp(z.1nt[f])}d.1q(p)}}1f d};xc.4V5=1b(a,b,c,d){1d e=[],f=[],h=1g $f;1j(h.1vp(a);0!==h.1h;){1d l=h.1xg();a=l.3q;l=l.1nt;1d p;if(c){1d n=a.1h;1j(p=0;p<n;p++)d.1fI(a[p],a[p])}a=$h(a,k.5T,!0);if(!(3>a.1h)){1d z=b(a);if(g(z)){1d w=[],x=Ad.2is(z);x===Aj.2a4&&(z.1e1(),a=a.4h().1e1());1d m=a.4h(),t=g(l)?l.1h:0,r=[];1j(p=0;p<t;p++){1d q=l[p],u=q.3q;if(c)1j(n=u.1h,x=0;x<n;++x)d.1fI(u[x],u[x]);u=$h(u,k.5T,!0);if(!(3>u.1h)&&(n=b(u),g(n)))1j(x=Ad.2is(n),x===Aj.2a4&&(n.1e1(),u=u.4h().1e1()),r.1q(u),w.1q(m.1h),m=m.9V(u),z=z.9V(n),u=0,g(q.1nt)&&(u=q.1nt.1h),x=0;x<u;x++)h.1vp(q.1nt[x])}e.1q({49F:a,1nt:r});f.1q({3q:m,4XX:z,1nt:w})}}}1f{1iD:e,2Pf:f}};1d 6qk=1g C,6ql=1g k,6qn=1g ca,6qm=1g J;xc.4V4=1b(a,b,c,d,e){a=ca.1gG(a,d,6qn);a=J.1fE(a,6qm);d=3a.19B;1j(1d f=3a.1r7,h=3a.19B,l=3a.1r7,p=c.1h,n=0;n<p;++n){1d z=k.1y(c[n],6ql);J.10r(a,z,z);z=b(z,6qk);g(z)&&(d=1k.2o(d,z.x),f=1k.1V(f,z.x),h=1k.2o(h,z.y),l=1k.1V(l,z.y))}e.x=d;e.y=h;e.1G=f-d;e.1D=l-h;1f e};xc.4V1=1b(a,b,c,d,e,f){1d h=Ad.38X(b.4XX,b.1nt);3>h.1h&&(h=[0,1,2]);b=b.3q;if(d){a=b.1h;c=2K(3*a);1j(f=d=0;f<a;f++){1d l=b[f];c[d++]=l.x;c[d++]=l.y;c[d++]=l.z}h=1g Pb({2w:{1K:1g Pa({3k:I.18l,2Z:3,2a:c})},4N:h,6Z:Ja.11G});1f e.2U?Sc.4UO(h):h}if(f===Ib.1gi)1f Ad.6qj(a,b,h,c);if(f===Ib.1sX)1f Ad.6qi(a,b,h,c)};1d 4XY=[],6qh=1g k,6qg=1g k;xc.4V2=1b(a,b,c,d,e){1d f=a.1h,h=0;if(d){1d l=6*f;d=2K(2*l);1j(c=0;c<f;c++){1d g=a[c];1d n=a[(c+1)%f];d[h]=d[h+l]=g.x;++h;d[h]=d[h+l]=g.y;++h;d[h]=d[h+l]=g.z;++h;d[h]=d[h+l]=n.x;++h;d[h]=d[h+l]=n.y;++h;d[h]=d[h+l]=n.z;++h}}1s{1d z=B.2a3(c,b.17i);d=0;if(e===Ib.1gi)1j(c=0;c<f;c++)d+=xc.3z8(a[c],a[(c+1)%f],z);1s if(e===Ib.1sX)1j(c=0;c<f;c++)d+=xc.49B(b,a[c],a[(c+1)%f],z);l=3*(d+f);d=2K(2*l);1j(c=0;c<f;c++){g=a[c];n=a[(c+1)%f];1d w;e===Ib.1gi?w=xc.49A(g,n,z,4XY):e===Ib.1sX&&(w=xc.49z(b,g,n,z,4XY));g=w.1h;1j(1d x=0;x<g;++x,++h)d[h]=w[x],d[h+l]=w[x];d[h]=n.x;d[h+l]=n.x;++h;d[h]=n.y;d[h+l]=n.y;++h;d[h]=n.z;d[h+l]=n.z;++h}}f=d.1h;a=Ta.9g(f/3,f-6*a.1h);b=0;f/=6;1j(c=0;c<f;c++)e=c,h=e+1,w=e+f,z=w+1,g=k.7j(d,3*e,6qh),n=k.7j(d,3*h,6qg),k.5T(g,n,B.1sW)||(a[b++]=e,a[b++]=w,a[b++]=h,a[b++]=h,a[b++]=w,a[b++]=z);1f 1g Pb({2w:1g ce({1K:1g Pa({3k:I.18l,2Z:3,2a:d})}),4N:a,6Z:Ja.11G})};1d 6q0=1g k,6q4=1g Aa,6pZ=1g C,6q1=1g C,6qc=1g k,6qb=1g k,6qa=1g k,AE=1g k,6q9=1g k,BE=1g k,4XW=1g ca,6q3=1g J,6q2=1g J,6q7=1g k;Dr.25R=1b(a){a=m(a,m.4Z);v.2l("3v.3q",a.3q);1f 1g Dr({1ga:{3q:a.3q},9S:a.9S,15K:a.15K,3c:a.3c})};Dr.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);c=xc.3z9(a.1z4,b,c);ba.5n(a.5W,b,c);c+=ba.4q;za.5n(a.14s,b,c);c+=za.4q;b[c++]=a.1mB;b[c]=a.4q;1f b};1d 6qf=ba.1y(ba.1x9),6qe=1g za,6qd={1ga:{}};Dr.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=xc.3c6(a,b);b=d.2a9;4Y d.2a9;1d e=ba.5f(a,b,6qf);b+=ba.4q;1d f=za.5f(a,b,6qe);b+=za.4q;1d h=a[b++];a=a[b];g(c)||(c=1g Dr(6qd));c.1z4=d;c.5W=ba.1y(e,c.5W);c.14s=za.1y(f,c.14s);c.1mB=h;c.4q=a;1f c};Dr.14t=1b(a){1d b=a.14s,c=a.1z4,d=a.1mB,e=c.3q;e=$h(e,k.5T,!0);if(!(3>e.1h)){1d f=6qc,h=6qb,l=6qa,g=6q9;if(Vq.6q8(e,AE,g,BE)&&(f=k.4B(g,BE,f),f=k.1T(f,f),k.5T(AE,k.6h,B.1g9)||(a=a.5W.17N(AE,6q7),0>k.2A(f,a)&&(f=k.11k(f,f),g=k.11k(g,g))),e=Vq.6q6(AE,g,BE),a=Vq.6q5(AE,g,BE),b.8Q&&(h=k.1y(g,h)),b.8T&&(l=k.1y(BE,l)),g=xc.4V5(c,e,!1),c=g.1iD,g=g.2Pf,0!==c.1h)){e=c[0].49F;c=P.1aN(e);e=xc.4V4(f,a,e,d,6q4);1j(1d n=[],z=0;z<g.1h;z++){1d w=g[z];1d x=b;1d m=e,t=d,r=a,q=f,u=h,v=l,y=w.3q,A=Ad.38X(w.4XX,w.1nt);3>A.1h&&(A=[0,1,2]);w=Ta.9g(y.1h,A.1h);w.1C(A);A=6q3;if(0!==t){1d lb=ca.1gG(q,t,4XW);A=J.1fE(lb,A);if(x.8Q||x.8T)lb=ca.1gG(q,-t,4XW),t=J.1fE(lb,6q2),u=k.1T(J.10r(t,u,u),u),x.8T&&(v=k.1T(k.4B(q,u,v),v))}1s A=J.1y(J.8K,A);1d K=6q1;x.st&&(K.x=m.x,K.y=m.y);1d Fa=y.1h,L=3*Fa;t=1g 13X(L);lb=x.2U?1g 4A(L):1p 0;1d S=x.8Q?1g 4A(L):1p 0;L=x.8T?1g 4A(L):1p 0;1j(1d U=x.st?1g 4A(2*Fa):1p 0,R=0,V=0,W=0,da=0,ea=0,Sa=0;Sa<Fa;Sa++){1d E=y[Sa];t[R++]=E.x;t[R++]=E.y;t[R++]=E.z;if(x.st){E=J.10r(A,E,6q0);1d F=r(E,6pZ);C.3V(F,K,F);E=B.2Y(F.x/m.1G,0,1);F=B.2Y(F.y/m.1D,0,1);U[ea++]=E;U[ea++]=F}x.2U&&(lb[V++]=q.x,lb[V++]=q.y,lb[V++]=q.z);x.8Q&&(S[da++]=u.x,S[da++]=u.y,S[da++]=u.z);x.8T&&(L[W++]=v.x,L[W++]=v.y,L[W++]=v.z)}m=1g ce;x.1K&&(m.1K=1g Pa({3k:I.18l,2Z:3,2a:t}));x.2U&&(m.2U=1g Pa({3k:I.3O,2Z:3,2a:lb}));x.8Q&&(m.8Q=1g Pa({3k:I.3O,2Z:3,2a:S}));x.8T&&(m.8T=1g Pa({3k:I.3O,2Z:3,2a:L}));x.st&&(m.st=1g Pa({3k:I.3O,2Z:2,2a:U}));x=1g Pb({2w:m,4N:w,6Z:Ja.11G});x=1g yb({3y:x});n.1q(x)}d=Sc.2E9(n)[0];d.2w.1K.2a=1g 13X(d.2w.1K.2a);d.4N=Ta.9g(d.2w.1K.2a.1h/3,d.4N);f=d.2w;b.1K||4Y f.1K;1f 1g Pb({2w:f,4N:d.4N,6Z:d.6Z,7u:c})}}};Er.25R=1b(a){a=m(a,m.4Z);v.2l("3v.3q",a.3q);1f 1g Er({1ga:{3q:a.3q}})};Er.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);c=xc.3z9(a.1z4,b,c);b[c]=a.4q;1f b};1d 6pY={1ga:{}};Er.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=xc.3c6(a,b);b=d.2a9;4Y d.2a9;a=a[b];g(c)||(c=1g Er(6pY));c.1z4=d;c.4q=a;1f c};Er.14t=1b(a){a=a.1z4;1d b=a.3q;b=$h(b,k.5T,!0);if(!(3>b.1h)&&Vq.6pX(b)&&(b=xc.4V0(a,!1),0!==b.1h)){1j(1d c=[],d=0;d<b.1h;d++){1d e=b[d],f=e.1h,h=1g 13X(3*f);1d l=Ta.9g(f,2*f);1j(1d g=0,n=0,z=0;z<f;z++){1d w=e[z];h[g++]=w.x;h[g++]=w.y;h[g++]=w.z;l[n++]=z;l[n++]=(z+1)%f}e=1g ce({1K:1g Pa({3k:I.18l,2Z:3,2a:h})});l=1g Pb({2w:e,4N:l,6Z:Ja.1ao});l=1g yb({3y:l});c.1q(l)}b=Sc.2E9(c)[0];a=P.1aN(a.3q);1f 1g Pb({2w:b.2w,4N:b.4N,6Z:b.6Z,7u:a})}};1d ie=1L.3F({1Hs:0,90W:1,2an:2}),6pW=1g k,RO=1g k;1L.2X(ml.1i,{3c:{1n:1b(){1f 1a.5W}},1R1:{1n:1b(){v.2l("3s",1a.172);1f 1a.172}},4I:{1n:1b(){1f 1a.1yx}},9o:{1n:1b(){1f 1a.2iG}},90V:{1n:1b(){v.2l("3s",1a.172);1f 1a.3zX}},90U:{1n:1b(){v.2l("3s",1a.172);1f 1a.4XV}}});ml.1i.1Nh=1b(a,b){v.2l("4I",a);v.2l("9o",b);m0(1a,a,b,1a.5W)};ml.1i.3cF=1b(a,b){1f 1a.2rA(1a.172*a,b)};ml.1i.2rA=1b(a,b){v.2l("3s",1a.172);1d c=1a.4XU;a=c.6pV+a/c.b;1d d=1k.3i(2*a),e=1k.2T(2*a),f=1k.2T(4*a),h=a*a,l=c.6pU,p=c.6pT,k=c.6pS,z=c.6pR;d=2*a*h*l*d/3+a*(1-p+7*z/4-15*k/4+579*l/64-(z-15*k/4+187*l/16)*d-(5*k/4-115*l/16)*1k.3i(4*a)-29*l*1k.3i(6*a)/16)+(p/2-z+71*k/32-85*l/16)*e+(5*z/16-5*k/4+383*l/96)*f-h*((k-11*l/2)*e+5*l*f/2)+(29*k/96-29*l/16)*1k.2T(6*a)+539*l*1k.2T(8*a)/4Kh;a=1k.16D(c.a/c.b*1k.10n(1k.17M(1k.2T(d)*c.6pQ)));d-=c.15N;e=1k.2T(d);f=1k.3i(d);h=1k.12B(e*c.6pP,c.6pO*f-c.6pN*e*c.6pM);l=c.f;p=c.6pL;k=1k.3i(2*c.15N+d);c=c.6pK;c=l*c*(4+l*(4-3*c))/16;c=h-(1-c)*l*p*(d+c*e*(k+c*f*(2*k*k-1)));1f g(b)?(b.3N=1a.1yx.3N+c,b.4k=a,b.1D=0,b):1g T(1a.1yx.3N+c,a,0)};1d dd={2QG:1b(a,b,c){a=k.3s(a,b);1f 1k.8a(a/c)},3z1:1b(a,b,c){1f 1k.8a(1k.3Y((1k.3r(a.3N-b.3N,2)+1k.3r(a.4k-b.4k,2))/(c*c)))}},6pJ=1g T;dd.44I=1b(a,b){1j(1d c=a.1h,d=2K(c),e=0;e<c;e++)d[e]=b.10Z(a[e],6pJ).1D;1f d};1d 6pI=1g A,6pH=1g k,4XT=1g k,6pG=1g Cb(k.1dl,0),4XS=1g k,6pF=1g Cb(k.1dl,0),6pE=1g k,6pD=1g k,LG=[],GL=1g T,HL=1g T,st=1g k,IL=1g k,4XQ=1g k,lW=1g ml,CE=1g ch;dd.4SQ=1b(a,b){1d c=[],d=[];if(g(a)&&0<a.1h){b=m(b,A.8K);1d e=A.1yQ(b,6pI),f=A.8P(e,k.6h,6pH);b=k.1T(A.1gE(e,k.1f5,4XT),4XT);1d h=Cb.1zd(f,b,6pG);e=k.1T(A.1gE(e,k.1dl,4XS),4XS);f=Cb.1zd(f,e,6pF);e=1;c.1q(k.1y(a[0]));1j(1d l=c[0],p=a.1h,n=1;n<p;++n){1d z=a[n];if(0>Cb.2ao(f,l)||0>Cb.2ao(f,z)){1d w=ib.1EQ(l,z,h,6pE);if(g(w)){1d x=k.4g(b,5E-9,6pD);0>Cb.2ao(h,l)&&k.11k(x,x);c.1q(k.add(w,x,1g k));d.1q(e+1);k.11k(x,x);c.1q(k.add(w,x,1g k));e=1}}c.1q(k.1y(a[n]));e++;l=z}d.1q(e)}1f{3q:c,1Hm:d}};dd.1Kt=1b(a){g(a)||(a={});1d b=a.3q;if(!g(b))1t 1g r("3v.3q is 1X.");1d c=b.1h,d=m(a.3c,ba.9y),e=m(a.1D,0),f=2K.8n(e);if(1>c)1f[];if(1===c)1f c=d.1fI(b[0],IL),e=f?e[0]:e,0!==e&&(d=d.17N(c,st),k.4g(d,e,d),k.add(c,d,c)),[c.x,c.y,c.z];1d h=a.3yT;g(h)||(h=m(a.6f,B.15y),h=B.2a3(h,d.17i));1d l=0,p;1j(p=0;p<c-1;p++)l+=dd.2QG(b[p],b[p+1],h);1d n=a.2P8;a=3*(l+1);l=2K(a);1d z=0;1j(p=0;p<c-1;p++){1d w=b[p],x=b[p+1],D=h,t=d,q=f?e[p]:e,G=f?e[p+1]:e,u=l,v=n,y=t.1fI(w,IL),A=t.1fI(x,4XQ);w=dd.2QG(w,x,D);x=t.10Z(y,GL);A=t.10Z(A,HL);G=n0(w,q,G);if(0<v){G=w;D=LG;D.1h=G;1j(y=0;y<G;y++)D[y]=v*1k.2T(1k.PI*y/G);G=D}lW.1Nh(x,A);v=lW.1R1/w;x.1D=q;x=t.13B(x,st);k.5n(x,u,z);z+=3;1j(q=1;q<w;q++)x=lW.2rA(q*v,HL),x.1D=G[q],x=t.13B(x,st),k.5n(x,u,z),z+=3}LG.1h=0;b=d.10Z(b[c-1],GL);b.1D=f?e[c-1]:e;e=d.13B(b,st);k.5n(e,l,a-3);1f l};1d 4XR=1g T,6pC=1g T;dd.4Uk=1b(a){g(a)||(a={});1d b=a.3q;if(!g(b))1t 1g r("3v.3q is 1X.");1d c=b.1h,d=m(a.3c,ba.9y),e=m(a.1D,0),f=2K.8n(e);if(1>c)1f[];if(1===c)1f c=d.1fI(b[0],IL),e=f?e[0]:e,0!==e&&(d=d.17N(c,st),k.4g(d,e,d),k.add(c,d,c)),[c.x,c.y,c.z];a=m(a.6f,B.15y);1d h=0,l,p=d.10Z(b[0],4XR);1j(l=0;l<c-1;l++){1d n=d.10Z(b[l+1],6pC);h+=dd.3z1(p,n,a);p=T.1y(n,4XR)}h=3*(h+1);p=2K(h);1d z=0;1j(l=0;l<c-1;l++){1d w=b[l+1],x=a;n=d;1d D=f?e[l]:e,t=f?e[l+1]:e,q=p,G=n.1fI(b[l],IL),u=n.1fI(w,4XQ);w=n.10Z(G,GL);G=n.10Z(u,HL);x=dd.3z1(w,G,x);t=n0(x,D,t);CE.3c.2L(n)||(CE=1g ch(1p 0,1p 0,n));CE.1Nh(w,G);G=CE.1R1/x;w.1D=D;w=n.13B(w,st);k.5n(w,q,z);z+=3;1j(D=1;D<x;D++)w=CE.2rA(D*G,HL),w.1D=t[D],w=n.13B(w,st),k.5n(w,q,z),z+=3}LG.1h=0;b=d.10Z(b[c-1],GL);b.1D=f?e[c-1]:e;e=d.13B(b,st);k.5n(e,p,h-3);1f p};dd.4Ne=1b(a){a=dd.1Kt(a);1j(1d b=a.1h/3,c=2K(b),d=0;d<b;d++)c[d]=k.5f(a,3*d);1f c};dd.6jr=1b(a){a=dd.4Uk(a);1j(1d b=a.1h/3,c=2K(b),d=0;d<b;d++)c[d]=k.5f(a,3*d);1f c};1d Id=[1g k,1g k],4XP=1g k,4XO=1g k,4XN=1g k,4XM=1g k,4XL=1g k,4XK=1g k,4XJ=1g k,4XI=1g k,4XH=1g k,Eu=1g k,RG=1g k,Zk={},SO=1g T,MG=1g k,NG=1g k,s0=1g k(-1,0,0),rj=A.1y(A.8K),t0=1g A,Bx=1g J,u0=J.8K.1y(),q0=1g k,r0=1g E,OG=1g k,v0=1g k,x0=1g ca,z0=1g k,y0=1g J;Zk.4UM=1b(a){1j(1d b=a.1h,c=[],d=b-1,e=0;e<b;d=e++){1d f=a[e];C.2L(a[d],f)||c.1q(f)}1f c};Zk.4aD=1b(a,b,c,d){d=1g Zf(c,d);a=d.1RH(k.add(c,a,MG),MG);b=d.1RH(k.add(c,b,NG),NG);1f 0<=b.x*a.y-b.y*a.x};1d 4XG=1g k,4XF=1g k;Zk.1RC=1b(a,b,c,d,e){1d f=d.5W,h=o0(a,f),l=d.14J;d=d.1zZ;1d g=e?w0(b,c):PG(b,c);b=e?PG(b,c):1p 0;1d n=c.1D/2,z=c.1G/2;c=a.1h;1d w=[],m=e?[]:1p 0,D=4XP,t=4XO,r=4XN,q=4XM,u=4XL,v=4XK,y=4XJ,A=4XI,C=4XH,K=a[0],Fa=a[1];q=f.17N(K,q);D=k.3V(Fa,K,D);D=k.1T(D,D);A=k.4B(q,D,A);A=k.1T(A,A);1d L=h[0],S=h[1];e&&(m=wp(K,A,b,m,f,L+n,1,1));C=k.1y(K,C);K=Fa;t=k.11k(D,t);1j(1d U,R=1;R<c-1;R++){1d V=e?2:1;Fa=a[R+1];D=k.3V(Fa,K,D);D=k.1T(D,D);r=k.add(D,t,r);r=k.1T(r,r);q=f.17N(K,q);1d W=k.4g(q,k.2A(D,q),4XG);k.3V(D,W,W);k.1T(W,W);1d da=k.4g(q,k.2A(t,q),4XF);k.3V(t,da,da);k.1T(da,da);B.5T(1k.abs(k.2A(W,da)),1,B.1hn)?(w=wp(C,A,g,w,f,L+n,1,1),C=K):(r=k.4B(r,q,r),r=k.4B(q,r,r),r=k.1T(r,r),W=1/1k.1V(.25,k.7t(k.4B(r,t,Eu))),(da=Zk.4aD(D,t,K,f))?(u=k.add(K,k.4g(r,W*z,r),u),v=k.add(u,k.4g(A,z,v),v),Id[0]=k.1y(C,Id[0]),Id[1]=k.1y(v,Id[1]),L=Ax(Id,L+n,S+n,l),U=dd.1Kt({3q:Id,6f:l,3c:f}),w=xB(U,A,g,w,f,L,1),A=k.4B(q,D,A),A=k.1T(A,A),y=k.add(u,k.4g(A,z,y),y),d===ie.1Hs||d===ie.2an?QG(u,v,y,d,da,f,w,g,S+n,e):(r=k.11k(r,r),w=wp(K,r,g,w,f,S+n,W,V))):(u=k.add(K,k.4g(r,W*z,r),u),v=k.add(u,k.4g(A,-z,v),v),Id[0]=k.1y(C,Id[0]),Id[1]=k.1y(v,Id[1]),L=Ax(Id,L+n,S+n,l),U=dd.1Kt({3q:Id,6f:l,3c:f}),w=xB(U,A,g,w,f,L,1),A=k.4B(q,D,A),A=k.1T(A,A),y=k.add(u,k.4g(A,-z,y),y),d===ie.1Hs||d===ie.2an?QG(u,v,y,d,da,f,w,g,S+n,e):w=wp(K,r,g,w,f,S+n,W,V)),C=k.1y(y,C),t=k.11k(D,t));L=S;S=h[R+1];K=Fa}Id[0]=k.1y(C,Id[0]);Id[1]=k.1y(K,Id[1]);L=Ax(Id,L+n,S+n,l);U=dd.1Kt({3q:Id,6f:l,3c:f});w=xB(U,A,g,w,f,L,1);e&&(m=wp(K,A,b,m,f,S+n,1,1));c=w.1h;a=1g 13X(e?c+m.1h:c);a.1C(w);e&&a.1C(m,c);1f a};Zk.6jp=1b(a,b,c,d,e,f){1d h=d.5W,l=o0(a,h),g=d.14J,n=d.1zZ;d=e?w0(b,c):PG(b,c);b=e?PG(b,c):1p 0;1d z=c.1G/2,w=a.1h,m=[];c=e?[]:1p 0;1d D=4XP,t=4XO,r=4XN,q=4XM,u=4XL,v=4XK,y=4XJ,C=4XI,lb=4XH;f=Da.18N(f,h,1g A);f=A.12Z(f,1g A);1d K=a[0],Fa=a[1];q=h.17N(K,q);D=k.3V(Fa,K,D);D=k.1T(D,D);C=k.4B(q,D,C);C=k.1T(C,C);1d L=l[0],S=l[1];e&&(c=Cx(K,C,b,c,h,L+0,1,1,f));lb=k.1y(K,lb);K=Fa;t=k.11k(D,t);1j(1d U,R=1;R<w-1;R++){1d V=e?2:1;Fa=a[R+1];D=k.3V(Fa,K,D);D=k.1T(D,D);r=k.add(D,t,r);r=k.1T(r,r);q=h.17N(K,q);1d W=k.4g(q,k.2A(D,q),4XG);k.3V(D,W,W);k.1T(W,W);1d da=k.4g(q,k.2A(t,q),4XF);k.3V(t,da,da);k.1T(da,da);B.5T(1k.abs(k.2A(W,da)),1,B.1hn)?(m=Cx(lb,C,d,m,h,L+0,1,1,f),lb=K):(r=k.4B(r,q,r),r=k.4B(q,r,r),r=k.1T(r,r),W=1/1k.1V(.25,k.7t(k.4B(r,t,Eu))),(da=Zk.4aD(D,t,K,h))?(u=k.add(K,k.4g(r,W*z,r),u),v=k.add(u,k.4g(C,z,v),v),Id[0]=k.1y(lb,Id[0]),Id[1]=k.1y(v,Id[1]),L=Ax(Id,L+0,S+0,g),U=dd.1Kt({3q:Id,6f:g,3c:h}),m=xB(U,C,d,m,h,L,1,90T),C=k.4B(q,D,C),C=k.1T(C,C),y=k.add(u,k.4g(C,z,y),y),n===ie.1Hs||n===ie.2an?QG(u,v,y,n,da,h,m,d,S+0,e):(r=k.11k(r,r),m=Cx(K,r,d,m,h,S+0,W,V,f))):(u=k.add(K,k.4g(r,W*z,r),u),v=k.add(u,k.4g(C,-z,v),v),Id[0]=k.1y(lb,Id[0]),Id[1]=k.1y(v,Id[1]),L=Ax(Id,L+0,S+0,g),U=dd.1Kt({3q:Id,6f:g,3c:h}),m=xB(U,C,d,m,h,L,1),C=k.4B(q,D,C),C=k.1T(C,C),y=k.add(u,k.4g(C,-z,y),y),n===ie.1Hs||n===ie.2an?QG(u,v,y,n,da,h,m,d,S+0,e):m=Cx(K,r,d,m,h,S+0,W,V,f)),lb=k.1y(y,lb),t=k.11k(D,t));L=S;S=l[R+1];K=Fa}Id[0]=k.1y(lb,Id[0]);Id[1]=k.1y(K,Id[1]);L=Ax(Id,L+0,S+0,g);a=U=dd.1Kt({3q:Id,6f:g,3c:h});l=C;g=m;m=L;1j(n=0;n<a.1h;n+=3)w=k.7j(a,n,v0),g=Cx(w,l,d,g,h,m[n/3],1,1,f);m=g;e&&(c=Cx(K,C,b,c,h,S+0,1,1,f));w=m.1h;h=1g 13X(e?w+c.1h:w);h.1C(m);e&&h.1C(c,w);1f h};1d Pd={},Dx=1g k,A0=1g k,6pB=1g k,E0=1g k,ij=[1g k,1g k],4XE=1g k,4XD=1g k,4XC=1g k,6pA=1g k,6pz=1g k,$Ia=1g k,6py=1g k,6pw=1g k,6pv=1g k,6pu=1g k,B0=1g ca,C0=1g J;Pd.1nL=1b(a,b,c,d){1d e=b.x,f=b.y;b=b.z;g(c)&&(a[c]=e,a[c+1]=f,a[c+2]=b);g(d)&&(a[d]=b,a[d-1]=f,a[d-2]=e)};1d 6pt=1g k,6ps=1g k;Pd.1RC=1b(a){1d b=a.6f,c=a.3q,d=a.3c,e=a.1G/2,f=a.1b8,h=a.4Xw,l=4XE,g=4XD,n=4XC,z=6pA,w=6pz,m=$Ia,D=6py,t=6pw,r=6pv,q=6pu;a=[];1d u=h?[]:1p 0,v=h?[]:1p 0,y=c[0],A=c[1];g=k.1T(k.3V(A,y,g),g);l=d.17N(y,l);z=k.1T(k.4B(l,g,z),z);h&&(u.1q(z.x,z.y,z.z),v.1q(l.x,l.y,l.z));D=k.1y(y,D);y=A;n=k.11k(g,n);1d C=[],K,Fa=c.1h;1j(K=1;K<Fa-1;K++){l=d.17N(y,l);A=c[K+1];g=k.1T(k.3V(A,y,g),g);w=k.1T(k.add(g,n,w),w);1d L=k.4g(l,k.2A(g,l),6pt);k.3V(g,L,L);k.1T(L,L);1d S=k.4g(l,k.2A(n,l),6ps);k.3V(n,S,S);k.1T(S,S);B.5T(1k.abs(k.2A(L,S)),1,B.1hn)||(w=k.4B(w,l,w),w=k.4B(l,w,w),w=k.1T(w,w),S=e/1k.1V(.25,k.7t(k.4B(w,n,Dx))),L=Zk.4aD(g,n,y,d),w=k.4g(w,S,w),L?(t=k.add(y,w,t),q=k.add(t,k.4g(z,e,q),q),r=k.add(t,k.4g(z,2*e,r),r),ij[0]=k.1y(D,ij[0]),ij[1]=k.1y(q,ij[1]),S=dd.1Kt({3q:ij,6f:b,3c:d}),a=TO(S,z,e,a),h&&(u.1q(z.x,z.y,z.z),v.1q(l.x,l.y,l.z)),m=k.1y(r,m),z=k.1T(k.4B(l,g,z),z),r=k.add(t,k.4g(z,2*e,r),r),D=k.add(t,k.4g(z,e,D),D),f===ie.1Hs||f===ie.2an?C.1q({3cE:SG(t,m,r,f,L)}):C.1q({3cE:D0(y,k.11k(w,w),r,L)})):(r=k.add(y,w,r),q=k.add(r,k.11k(k.4g(z,e,q),q),q),t=k.add(r,k.11k(k.4g(z,2*e,t),t),t),ij[0]=k.1y(D,ij[0]),ij[1]=k.1y(q,ij[1]),S=dd.1Kt({3q:ij,6f:b,3c:d}),a=TO(S,z,e,a),h&&(u.1q(z.x,z.y,z.z),v.1q(l.x,l.y,l.z)),m=k.1y(t,m),z=k.1T(k.4B(l,g,z),z),t=k.add(r,k.11k(k.4g(z,2*e,t),t),t),D=k.add(r,k.11k(k.4g(z,e,D),D),D),f===ie.1Hs||f===ie.2an?C.1q({3cD:SG(r,m,t,f,L)}):C.1q({3cD:D0(y,w,t,L)})),n=k.11k(g,n));y=A}l=d.17N(y,l);ij[0]=k.1y(D,ij[0]);ij[1]=k.1y(y,ij[1]);S=dd.1Kt({3q:ij,6f:b,3c:d});a=TO(S,z,e,a);h&&(u.1q(z.x,z.y,z.z),v.1q(l.x,l.y,l.z));if(f===ie.1Hs){c=a;d=4XE;e=4XD;f=4XC;h=c[1];e=k.7j(c[1],h.1h-3,e);f=k.7j(c[0],0,f);d=k.28F(e,f,d);b=SG(d,e,f,ie.1Hs,!1);h=c.1h-1;1d U=c[h-1];h=c[h];e=k.7j(U,U.1h-3,e);f=k.7j(h,0,f);d=k.28F(e,f,d);c=SG(d,e,f,ie.1Hs,!1);U=[b,c]}1f{3q:a,4XB:C,6pr:u,1q6:v,4XA:U}};1d H0=1g k,I0=1g k,TG=1g k,UG=1g k,6pq=1g k,J0=1g k,Fr=1g k,Ex=1g k,L0=1g k,yB=1g k,nl=1g T,pl=1g k,zB=1g k,sj=1g T,tj=1g T;jk.5n=1b(a,b,c){v.2l("1Q",a);v.2l("4x",b);c=m(c,0);1d d=a.9h,e=d.1h;b[c++]=e;1j(1d f=0;f<e;++f,c+=k.4q)k.5n(d[f],b,c);ba.5n(a.5W,b,c);c+=ba.4q;za.5n(a.14s,b,c);c+=za.4q;b[c++]=a.10V;b[c++]=a.10o;b[c++]=a.1d5;b[c++]=a.1zZ;b[c++]=a.14J;b[c++]=a.1Hp?1:0;b[c]=m(a.12j,-1);1f b};1d 4Xz=ba.1y(ba.1x9),4Xy=1g za,Xq={3q:1p 0,3c:4Xz,9S:4Xy,1G:1p 0,1D:1p 0,9i:1p 0,1b8:1p 0,6f:1p 0,1oT:1p 0,8J:1p 0};jk.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1j(1d d=a[b++],e=2K(d),f=0;f<d;++f,b+=k.4q)e[f]=k.5f(a,b);d=ba.5f(a,b,4Xz);b+=ba.4q;f=za.5f(a,b,4Xy);b+=za.4q;1d h=a[b++],l=a[b++],p=a[b++],n=a[b++],z=a[b++],w=1===a[b++];a=a[b];if(!g(c))1f Xq.3q=e,Xq.1G=h,Xq.1D=l,Xq.9i=p,Xq.1b8=n,Xq.6f=z,Xq.1oT=w,Xq.8J=-1===a?1p 0:a,1g jk(Xq);c.9h=e;c.5W=ba.1y(d,c.5W);c.14s=za.1y(f,c.14s);c.10V=h;c.10o=l;c.1d5=p;c.1zZ=n;c.14J=z;c.1Hp=w;c.12j=-1===a?1p 0:a;1f c};jk.23q=1b(a,b){a=m(a,m.4Z);1d c=a.3q,d=a.1G;v.2l("3v.3q",c);v.2l("3v.1G",d);1d e=m(a.3c,ba.9y);a=m(a.1b8,ie.1Hs);1f M0(c,e,d,a,b)};jk.14t=1b(a){1d b=a.9h,c=a.10V,d=a.5W;b=F0(b,d);1d e=$h(b,k.5T);if(!(2>e.1h||0>=c)){1d f=a.10o,h=a.1d5,l=!B.5T(f,h,0,B.1BO);b=a.14s;c={3c:d,3q:e,1G:c,1b8:a.1zZ,6f:a.14J,4Xw:!0};if(l){c.1D=f;c.9i=h;c.1oT=a.1Hp;c.8J=a.12j;d=1g za({1K:b.1K,2U:b.2U||b.8T||c.1oT,8Q:b.8Q,8T:b.2U||b.8T,st:b.st});e=c.3c;f=Pd.1RC(c);d=G0(f,d,e);1d p=c.1D,n=c.9i;l=d.2w;d=d.4N;1d z=l.1K.2a;h=z.1h;f=1g 13X(6*h);1d w=1g 13X(h);w.1C(z);1d m=1g 13X(4*h);z=Ad.1Ho(z,p,e);m=UO(z,0,m);w=Ad.1Ho(w,n,e);m=UO(w,2*h,m);f.1C(z);f.1C(w,h);f.1C(m,2*h);l.1K.2a=f;if(b.2U||b.8Q||b.8T||b.st){z=l.1K.2a;if(b.2U||b.8T){1d D=l.2U.2a;1d t=l.8T.2a}e=l.1K.2a.1h/18;n=3*e;e*=2;m=2*n;if(b.2U||b.8T||b.8Q){1d r=b.2U?1g 4A(6*n):1p 0;w=b.8Q?1g 4A(6*n):1p 0;1d q=b.8T?1g 4A(6*n):1p 0,u=H0,v=I0,y=TG,A=UG,C=6pq,K=J0,Fa=m;1j(p=0;p<n;p+=3){1d L=Fa+m;u=k.7j(z,p,u);v=k.7j(z,p+n,v);y=k.7j(z,(p+3)%n,y);v=k.3V(v,u,v);y=k.3V(y,u,y);A=k.1T(k.4B(v,y,A),A);b.2U&&(Pd.1nL(r,A,L),Pd.1nL(r,A,L+3),Pd.1nL(r,A,Fa),Pd.1nL(r,A,Fa+3));if(b.8Q||b.8T)K=k.7j(D,p,K),b.8T&&(Pd.1nL(q,K,L),Pd.1nL(q,K,L+3),Pd.1nL(q,K,Fa),Pd.1nL(q,K,Fa+3)),b.8Q&&(C=k.1T(k.4B(K,A,C),C),Pd.1nL(w,C,L),Pd.1nL(w,C,L+3),Pd.1nL(w,C,Fa),Pd.1nL(w,C,Fa+3));Fa+=6}if(b.2U){r.1C(D);1j(p=0;p<n;p+=3)r[p+n]=-D[p],r[p+n+1]=-D[p+1],r[p+n+2]=-D[p+2];l.2U.2a=r}1s l.2U=1p 0;b.8T?(q.1C(t),q.1C(t,n),l.8T.2a=q):l.8T=1p 0;b.8Q&&(D=l.8Q.2a,w.1C(D),w.1C(D,n),l.8Q.2a=w)}if(b.st){D=l.st.2a;t=1g 4A(6*e);t.1C(D);t.1C(D,e);n=2*e;1j(z=0;2>z;z++){t[n++]=D[0];t[n++]=D[1];1j(p=2;p<e;p+=2)w=D[p],m=D[p+1],t[n++]=w,t[n++]=m,t[n++]=w,t[n++]=m;t[n++]=D[0];t[n++]=D[1]}l.st.2a=t}}t=h/3;if(c.1oT){e=l.2U.2a;h=e.1h;p=1g 4A(6*h);1j(D=0;D<h;D++)e[D]=-e[D];p.1C(e,h);p=UO(e,4*h,p);l.1t8=1g Pa({3k:I.3O,2Z:3,2a:p});b.2U||(l.2U=1p 0)}g(c.8J)&&(h=1g 4L(6*t),c.8J===ac.1g5?(h=Ic(h,1,0,t),h=Ic(h,1,2*t,4*t)):h=Ic(h,c.8J===ac.6i?0:1),l.1i2=1g Pa({3k:I.7U,2Z:1,2a:h}));e=d.1h;c=t+t;f=Ta.9g(f.1h/3,2*e+3*c);f.1C(d);h=e;1j(D=0;D<e;D+=3)p=d[D],n=d[D+1],z=d[D+2],f[h++]=z+t,f[h++]=n+t,f[h++]=p+t;1j(D=0;D<c;D+=2)d=D+c,t=d+c,e=d+1,p=t+1,f[h++]=d,f[h++]=t,f[h++]=e,f[h++]=e,f[h++]=t,f[h++]=p;c={2w:l,4N:f}}1s c=Pd.1RC(c),c=G0(c,b,d),c.2w.1K.2a=Ad.1Ho(c.2w.1K.2a,f,d),g(a.12j)&&(d=a.12j===ac.6i?0:1,f=1g 4L(c.2w.1K.2a.1h/3),Ic(f,d),c.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:f}));d=c.2w;f=P.1ND(d.1K.2a,1p 0,3);b.1K||(c.2w.1K.2a=1p 0);1f 1g Pb({2w:d,4N:c.4N,6Z:Ja.11G,7u:f,8J:a.12j})}};jk.2E2=1b(a,b,c){1d d=a.14J,e=a.5W;b=b(d,e);c=c(d,e);1f 1g jk({3q:a.9h,1G:a.10V,1b8:a.1zZ,3c:e,6f:d,9i:b,1D:c,9S:za.1Gd,1oT:!0})};1L.2X(jk.1i,{3g:{1n:1b(){g(1a.7T)||(1a.7T=M0(1a.9h,1a.5W,1a.10V,1a.1zZ));1f 1a.7T}},2r3:{1n:1b(){1f[0,0,0,1,1,0]}}});1d O0=1g k,P0=1g k,6pp=1g k;Fx.5n=1b(a,b,c){v.1N.2c("1Q",a);v.1N.2c("4x",b);c=m(c,0);1d d=a.9h,e=d.1h;b[c++]=e;1j(1d f=0;f<e;++f,c+=k.4q)k.5n(d[f],b,c);ba.5n(a.5W,b,c);c+=ba.4q;b[c++]=a.10V;b[c++]=a.10o;b[c++]=a.1d5;b[c++]=a.1zZ;b[c++]=a.14J;b[c]=m(a.12j,-1);1f b};1d 4Xx=ba.1y(ba.1x9),tt={3q:1p 0,3c:4Xx,1G:1p 0,1D:1p 0,9i:1p 0,1b8:1p 0,6f:1p 0,8J:1p 0};Fx.5f=1b(a,b,c){v.1N.2c("4x",a);b=m(b,0);1j(1d d=a[b++],e=2K(d),f=0;f<d;++f,b+=k.4q)e[f]=k.5f(a,b);d=ba.5f(a,b,4Xx);b+=ba.4q;f=a[b++];1d h=a[b++],l=a[b++],p=a[b++],n=a[b++];a=a[b];if(!g(c))1f tt.3q=e,tt.1G=f,tt.1D=h,tt.9i=l,tt.1b8=p,tt.6f=n,tt.8J=-1===a?1p 0:a,1g Fx(tt);c.9h=e;c.5W=ba.1y(d,c.5W);c.10V=f;c.10o=h;c.1d5=l;c.1zZ=p;c.14J=n;c.12j=-1===a?1p 0:a;1f c};Fx.14t=1b(a){1j(1d b=a.9h,c=a.10V,d=a.5W,e=0;e<b.1h;e++)b[e]=d.1fI(b[e],b[e]);e=$h(b,k.5T);if(!(2>e.1h||0>=c)){b=a.10o;1d f=a.1d5,h=!B.5T(b,f,0,B.1BO);e={3c:d,3q:e,1G:c,1b8:a.1zZ,6f:a.14J,4Xw:!1};if(h){e.1D=b;e.9i=f;e.8J=a.12j;h=e.3c;d=Pd.1RC(e);b=N0(d,e.1b8);d=b.6po;1d l=e.1D,p=e.9i;c=b.2w;f=b.4N;1d n=c.1K.2a;b=n.1h;1d z=1g 13X(b);z.1C(n);1d w=1g 13X(2*b);n=Ad.1Ho(n,l,h);z=Ad.1Ho(z,p,h);w.1C(n);w.1C(z,b);c.1K.2a=w;b/=3;g(e.8J)&&(h=1g 4L(2*b),h=e.8J===ac.1g5?Ic(h,1,0,b):Ic(h,e.8J===ac.6i?0:1),c.1i2=1g Pa({3k:I.7U,2Z:1,2a:h}));l=f.1h;h=Ta.9g(w.1h/3,2*(l+d.1h));h.1C(f);w=l;1j(e=0;e<l;e+=2)p=f[e],n=f[e+1],h[w++]=p+b,h[w++]=n+b;1j(e=0;e<d.1h;e++)f=d[e],l=f+b,h[w++]=f,h[w++]=l;c={2w:c,4N:h}}1s c=Pd.1RC(e),c=N0(c,e.1b8),c.2w.1K.2a=Ad.1Ho(c.2w.1K.2a,b,d),g(a.12j)&&(d=1g 4L(c.2w.1K.2a.1h/3),Ic(d,a.12j===ac.6i?0:1),c.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:d}));d=c.2w;b=P.1ND(d.1K.2a,1p 0,3);1f 1g Pb({2w:d,4N:c.4N,6Z:Ja.1ao,7u:b,8J:a.12j})}};1d mW,Cp={2iy:"6pn.6pm.6pl-6pk"};Cp.4Xs=1g na({2I:"1bU://api.3P.11Y/"});Cp.4Xu=1b(a){if("6pn.6pm.6pl-6pk"===a)1f g(mW)||(mW=1g Zb(\'<b>             18m 1aM is 1nl 1di\\\'s 4T 1ER 2MD 1pI. 2Jg 1AU <i>1di.4iG.2iy</i>             10M an 2MD 1pI 19f 1DE 1ER 2B1 8w 90S any 1di 4Ve 90R.             2mr 1ag 12q up 1j a 3vf 1ER 2B1 at <a 17S="1bU://3P.11Y">1bU://3P.11Y</a>.</b>\',!0)),mW};g(1L.6F)&&(Lg.1i=1L.6F(na.1i),Lg.1i.7m=Lg);Lg.6pj=1b(a,b){1d c=Lg.4Xt(a,b);1f c.1vs().4b(1b(a){1f 1g Lg(a,c)})};1L.2X(Lg.1i,{1mn:{1n:1b(){1f g(1a.3cC)?1a.3cC.1mn:g(1a.1Ny)?1a.1Ny:1a.1Ny=Lg.4Xv(1a.2EP,1a.4aC)}}});Lg.4Xv=1b(a,b){a=a.90Q.5d(Zb.6pi);b=Cp.4Xu(b.1kx.3zU);g(b)&&a.1q(Zb.1y(b));1f a};Lg.1i.1y=1b(a){1d b=m(1a.3cC,1a);g(a)||(a=1g Lg(b.2EP,b.4aC));a=na.1i.1y.4G(1a,a);a.3cC=b;a.3zW=1a.3zW;1f a};Lg.1i.1jN=1b(a){if(!1a.3zW){1d b=a;a={2LW:!0};g(b)&&(a.13E=b.13E,a.1UY=b.1UY)}1f na.1i.1jN.4G(1a,a)};Lg.1i.2am=1b(a){if(1a.3zW||(1g zb(1a.2I)).1mD!==1a.6ph)1f na.1i.2am.4G(1a,a);g(a.1iB)||(a.1iB={});a.1iB.90P="90O "+1a.2EP.2EN;1f na.1i.2am.4G(1a,a)};Lg.4Xt=1b(a,b){v.2l("2EO",a);b=m(b,m.4Z);1d c=m(b.3zV,Cp.4Xs);b=m(b.2EN,Cp.2iy);c=na.14m(c);a={2I:"v1/4Xr/"+a+"/6pg"};g(b)&&(a.1kx={3zU:b});1f c.16M(a)};1d DE=[1g k,1g k,1g k];k.1y(k.1dl,DE[0]);k.1y(k.1f5,DE[1]);k.1y(k.16a,DE[2]);1d ut=1g k,6pf=1g k,4Xq=1g Cb(1g k(1,0,0),0);ag.3R7=1b(a,b){if(!g(a))1t 1g r("7u is 1X.");g(b)||(b=1g ag);1d c=DE.1h,d=b.1Di;d.1h=2*c;1d e=a.2V;a=a.3L;1j(1d f=0,h=0;h<c;++h){1d l=DE[h],p=d[f],n=d[f+1];g(p)||(p=d[f]=1g E);g(n)||(n=d[f+1]=1g E);k.4g(l,-a,ut);k.add(e,ut,ut);p.x=l.x;p.y=l.y;p.z=l.z;p.w=-k.2A(l,ut);k.4g(l,a,ut);k.add(e,ut,ut);n.x=-l.x;n.y=-l.y;n.z=-l.z;n.w=-k.2A(k.11k(l,6pf),ut);f+=2}1f b};ag.1i.1su=1b(a){if(!g(a))1t 1g r("6W is 1X.");1j(1d b=1a.1Di,c=!1,d=0,e=b.1h;d<e;++d){1d f=a.1tE(Cb.1vu(b[d],4Xq));if(f===Lb.1gB)1f Lb.1gB;f===Lb.1wT&&(c=!0)}1f c?Lb.1wT:Lb.27N};ag.1i.68X=1b(a,b){if(!g(a))1t 1g r("6W is 1X.");if(!g(b))1t 1g r("90N is 1X.");if(b===ag.3wH||b===ag.45K)1f b;1j(1d c=ag.45K,d=1a.1Di,e=0,f=d.1h;e<f;++e){1d h=31>e?1<<e:0;if(!(31>e&&0===(b&h))){1d l=a.1tE(Cb.1vu(d[e],4Xq));if(l===Lb.1gB)1f ag.3wH;l===Lb.1wT&&(c|=h)}}1f c};ag.3wH=2eo;ag.45K=0;ag.697=31s;1d pb=1k.PI/2,se=1k.PI/4,ZO=2*1k.PI,6pc={90M:0,90L:-9.90K,63H:2.90J,90I:-74.90H,63L:-3.90G,90F:12.90E,90D:7.90C,90B:106.90A,90z:-17.90y,63O:4.90x,63P:18.90w,90v:23.90u,90t:10.90s},6pd={ft:{1NK:.4Xp},"us-ft":{1NK:90r/90q}},R0=/[\\4aB\\-\\/\\(\\)]/g,VO=1b(a){1d b={};a=a.7g("+").5d(1b(a){1f a.1b2()}).14O(1b(a){1f a}).2lY(1b(a,b){b=b.7g("=");b.1q(!0);a[b[0].18v()]=b[1];1f a},{});1d c,d={1yh:"2al",1Wz:"1el",rf:1b(a){b.rf=7L(a)},2Rj:1b(a){b.14i=.1qa*a},2Ri:1b(a){b.1ug=.1qa*a},2Rh:1b(a){b.1vZ=.1qa*a},1oU:1b(a){b.1oU=.1qa*a},2EL:1b(a){b.10A=.1qa*a},90p:1b(a){b.4ar=.1qa*a},90o:1b(a){b.4WY=.1qa*a},2O:1b(a){b.2O=.1qa*7L(a)},90n:1b(a){b.3cw=.1qa*a},2EK:1b(a){b.x0=7L(a)},2EJ:1b(a){b.y0=7L(a)},90m:1b(a){b.k0=7L(a)},k:1b(a){b.k0=7L(a)},a:1b(a){b.a=7L(a)},b:1b(a){b.b=7L(a)},90l:1b(){b.6pe=!0},2CT:1b(a){b.2CT=8A(a,10)},4C:1b(){b.6o7=!0},1BS:1b(a){b.1fg=a.7g(",").5d(1b(a){1f 7L(a)})},1NK:1b(a){b.1NK=7L(a)},13u:1b(a){b.13u=a;if(a=Gr(6pd,a))b.1NK=a.1NK},2Rg:1b(a){b.2Rg=.1qa*a},pm:1b(a){1d c=Gr(6pc,a);b.2Rg=.1qa*(c?c:7L(a))},4aw:1b(a){"@1F"===a?b.1el="1bs":b.4aw=a},1Dm:1b(a){3===a.1h&&-1!=="4Xo".3f(a.13c(0,1))&&-1!=="4Xo".3f(a.13c(1,1))&&-1!=="4Xo".3f(a.13c(2,1))&&(b.1Dm=a)}};1j(c in a){1d e=a[c];if(c in d){1d f=d[c];"1b"===2h f?f(e):b[f]=e}1s b[c]=e}"4n"===2h b.1el&&"9y"!==b.1el&&(b.1el=b.1el.18v());1f b},6pb=/\\s/,6p8=/[A-Za-z]/,6p9=/[A-Za-90k]/,JL=/[,\\]]/,4Xm=/[\\d\\.E\\-\\+]/;xp.1i.6p7=1b(){1d a=1a.3l[1a.2hJ++];if(4!==1a.4F)1j(;6pb.6S(a);){if(1a.2hJ>=1a.3l.1h)1f;a=1a.3l[1a.2hJ++]}6U(1a.4F){1S 1:1f 1a.4Xl(a);1S 2:1f 1a.28W(a);1S 4:1f 1a.6pa(a);1S 5:1f 1a.4Xn(a);1S 3:1f 1a.2b(a)}};xp.1i.4Xn=1b(a){if(\'"\'===a)1a.1xF+=\'"\',1a.4F=4;1s if(JL.6S(a))1a.1xF=1a.1xF.1b2(),1a.3zT(a);1s 1t 6u("4aA\'t 3zS \\""+a+\'" in 4Xn 4az, 2P \'+1a.2hJ);};xp.1i.3zT=1b(a){","===a?(1F!==1a.1xF&&1a.2EM.1q(1a.1xF),1a.1xF=1F,1a.4F=1):"]"===a&&(1a.6b--,1F!==1a.1xF&&(1a.2EM.1q(1a.1xF),1a.1xF=1F),1a.4F=1,1a.2EM=1a.1fi.9l(),1a.2EM||(1a.4F=-1))};xp.1i.2b=1b(a){if(4Xm.6S(a))1a.1xF+=a;1s if(JL.6S(a))1a.1xF=7L(1a.1xF),1a.3zT(a);1s 1t 6u("4aA\'t 3zS \\""+a+\'" in 2b 4az, 2P \'+1a.2hJ);};xp.1i.6pa=1b(a){\'"\'===a?1a.4F=5:1a.1xF+=a};xp.1i.28W=1b(a){if(6p9.6S(a))1a.1xF+=a;1s if("["===a)a=[],a.1q(1a.1xF),1a.6b++,1F===1a.1ro?1a.1ro=a:1a.2EM.1q(a),1a.1fi.1q(1a.2EM),1a.2EM=a,1a.4F=1;1s if(JL.6S(a))1a.3zT(a);1s 1t 6u("4aA\'t 3zS \\""+a+\'" in 28W 4az, 2P \'+1a.2hJ);};xp.1i.4Xl=1b(a){if(6p8.6S(a))1a.1xF=a,1a.4F=2;1s if(\'"\'===a)1a.1xF="",1a.4F=4;1s if(4Xm.6S(a))1a.1xF=a,1a.4F=3;1s if(JL.6S(a))1a.3zT(a);1s 1t 6u("4aA\'t 3zS \\""+a+\'" in 4Xl 4az, 2P \'+1a.2hJ);};xp.1i.1jU=1b(){1j(;1a.2hJ<1a.3l.1h;)1a.6p7();if(-1===1a.4F)1f 1a.1ro;1t 6u(\'90j to 5N 4n "\'+1a.3l+\'". 90i is \'+1a.4F);};1d T0=1b(a){a=(1g xp(a)).1jU();1d b=a.1hN(),c=a.1hN();a.1po(["2i",c]);a.1po(["1I",b]);b={};Gx(a,b);6p6(b);1f b};(1b(a){a("1pY:1zf","+17s=3cy 84 (2aO/1mp) +1yh=3cz +1WA=9y +1Wz=9y +13u=2gu");a("1pY:90h","+17s=6p4 (2aO/1mp) +1yh=3cz +a=16t.0 +b=2bi.6p5 +1WA=4ax +1Wz=6p4 +13u=2gu");a("1pY:1Bo","+17s=3cy 84 / 6oR-2Rd +1yh=6oP +a=16t +b=16t +1oU=0.0 +2EL=0.0 +2EK=0.0 +2EJ=0 +k=1.0 +13u=m +4aw=@1F +90g");a.9y=a["1pY:1zf"];a["1pY:6oS"]=a["1pY:1Bo"];a.90f=a["1pY:1Bo"];a["1pY:1PF"]=a["1pY:1Bo"];a["1pY:3cA"]=a["1pY:1Bo"]})(Ei);1d 6p3="6p2 6p1 3cB 6p0 6oZ 4Xk 6oY 6oX 6oW 6oV 6oU".7g(" "),6oT=["1Bo","1PF","6oS","3cA"],W0=1b(a,b){a=a||{};1d c;if(!b)1f a;1j(c in b){1d d=b[c];1p 0!==d&&(a[c]=d)}1f a},ap=1b(a,b,c){a*=b;1f c/1k.3Y(1-a*a)},Bb=1b(a){1f 3.1A5>=1k.abs(a)?a:a-(0>a?-1:1)*ZO},Dn=1b(a,b,c){c*=a;c=1k.3r((1-c)/(1+c),.5*a);1f 1k.10n(.5*(pb-b))/c},EE=1b(a,b){1j(1d c=.5*a,d,e=pb-2*1k.16D(b),f=0;15>=f;f++)if(d=a*1k.2T(e),d=pb-2*1k.16D(b*1k.3r((1-d)/(1+d),c))-e,e+=d,1E-10>=1k.abs(d))1f e;1f-1Ax},6oO=[{11K:1b(){1d a=1a.b/1a.a;1a.es=1-a*a;"x0"in 1a||(1a.x0=0);"y0"in 1a||(1a.y0=0);1a.e=1k.3Y(1a.es);1a.1oU?1a.k0=1a.1cq?1k.3i(1a.1oU):ap(1a.e,1k.2T(1a.1oU),1k.3i(1a.1oU)):1a.k0||(1a.k0=1a.k?1a.k:1)},1et:1b(a){1d b=a.x,c=a.y;if(90<57.1Xq*c&&-90>57.1Xq*c&&180<57.1Xq*b&&-180>57.1Xq*b||1E-10>=1k.abs(1k.abs(c)-pb))1f 1F;1a.1cq?(b=1a.x0+1a.a*1a.k0*Bb(b-1a.10A),c=1a.y0+1a.a*1a.k0*1k.7k(1k.10n(se+.5*c))):(c=Dn(1a.e,c,1k.2T(c)),b=1a.x0+1a.a*1a.k0*Bb(b-1a.10A),c=1a.y0-1a.a*1a.k0*1k.7k(c));a.x=b;a.y=c;1f a},12Z:1b(a){1d b=a.x-1a.x0,c=a.y-1a.y0;if(1a.1cq)c=pb-2*1k.16D(1k.108(-c/(1a.a*1a.k0)));1s if(c=EE(1a.e,1k.108(-c/(1a.a*1a.k0))),-1Ax===c)1f 1F;b=Bb(1a.10A+b/(1a.a*1a.k0));a.x=b;a.y=c;1f a},1c3:["2Rd","90e 90d 6oR 2Rd","90c","6oQ","6oP"]},{11K:1b(){},1et:U0,12Z:U0,1c3:["3cz","3XK"]}],WG={},VG=[],6og={4I:1b(){6oO.12I(V0)},add:V0,1n:1b(a){if(!a)1f!1;a=a.18v();if("7w"!==2h WG[a]&&VG[WG[a]])1f VG[WG[a]]}},WO={6oN:{a:16t,rf:298.257,1dR:"6oN 90b"},90a:{a:6oD,rf:298.257,1dR:"908 6on 4lR 85"},4ax:{a:16t,rf:298.4Xj,1dR:"6oK 44r(6oJ, 44r)"},907:{a:4ay,rf:298.257,1dR:"906 902"},4Xa:{a:8ZZ.396,b:8ZY.91,1dR:"4X9 4X8"},8ZX:{a:16t,rf:298.25,1dR:"8ZW. 8ZV. 4Xc"},8ZU:{a:6ox,rf:298.25,1dR:"8ZT 8ZS 8ZR., 4Xc"},6or:{a:8ZQ.189,b:8ZP.446,1dR:"8ZO 4X9"},8ZN:{a:8ZM.43,rf:300,1dR:"8ZL 6oM (8ZK., 8ZJ.)"},8ZI:{a:6oL,rf:298.25,1dR:"8ZH 8ZG & S. 8ZF. 4Xh"},8ZE:{a:6oL,rf:298.8ZD,1dR:"6oK 67(6oJ 6oz)"},3cx:{a:6nX.155,rf:299.6oI,1dR:"6oH 6oG"},8ZC:{a:8ZB.865,rf:299.6oI,1dR:"6oH 6oG (6oF)"},6ov:{a:8ZA.4,b:8Zz.8,1dR:"4Xi 6oE"},6oj:{a:8Zy.145,rf:293.8Zx,1dR:"4Xi 8Zw 13R."},8Zv:{a:8Zu.8Zt,rf:294.8Zs,1dR:"4Xi 8Zr"},8Zq:{a:8Zp.7,rf:334.29,1dR:"8Zo. 8Zn 8Zm et 8Zl 8Zk"},8Zj:{a:8Zi,rf:311.5,1dR:"8Zh 8Zg (8Zf)"},8Ze:{a:6oD.1cN,rf:298.8Zd,1dR:"8Zc 8Zb"},8Za:{a:8Z9.345,rf:300.3zR,1dR:"3zQ 4X8"},8Z8:{a:8Z7.8Z6,rf:300.3zR,1dR:"3zQ 8Z5"},8Z4:{a:8Z3.243,rf:300.3zR,1dR:"3zQ 8Z2"},8Z1:{a:8Z0.664,rf:300.3zR,1dR:"3zQ 4Xh"},8YZ:{a:8YY.556,rf:300.3zR,1dR:"3zQ (8YX & 8YW)"},8YV:{a:8YU,rf:298.3,1dR:"4Xg (8YT 6om) 6oC"},8YS:{a:6oy,rf:298.3,1dR:"4Xg 6oC"},8YR:{a:8YQ,rf:298.3,1dR:"4Xg 6oB"},8YP:{a:8YO,rf:298.3,1dR:"8YN 8YM"},8YL:{a:8YK,rf:297,1dR:"8YJ"},3zP:{a:8YI,rf:297,1dR:"6oA 8YH (8YG)"},8YF:{a:8YE,rf:298.24,1dR:"8YD 8YC"},8YB:{a:8YA,rf:298.257,1dR:"8Yz 8Yy"},8Yx:{a:8Yw,rf:191,1dR:"8Yv 8Yu"},8Yt:{a:8Ys.5,b:8Yr.2,1dR:"4Xb 6oA 6oz"},8Yq:{a:8Yp,rf:8Yo,1dR:"8Yn 8Ym (8Yl)"},8Yk:{a:8Yj,rf:298.3,1dR:"8Yi, 8Yh"},8Yg:{a:6oy,b:8Yf.8Ye,1dR:"8Yd 8Yc"},8Yb:{a:8Ya,b:8Y9.8Y8,1dR:"8Y7"},8Y6:{a:8Y5,rf:298.3,1dR:"3cy 60"},8Y4:{a:6ox,rf:298.25,1dR:"3cy 66"},8Y3:{a:8Y2,rf:298.26,1dR:"3cy 72"}},6ow=WO.9y={a:16t,rf:298.8Y1,1dR:"3cy 84"};WO.1cq={a:4Xf,b:4Xf,1dR:"3VE 5yR (r=4Xf)"};1d $na={4Xe:{1BS:"0,0,0",1fc:"9y",1A6:"9y"},4Xd:{1BS:"674.374,15.8Y0,405.346",1fc:"3cx",1A6:"63F"},8XZ:{1BS:"-199.87,74.79,246.62",1fc:"4ax",1A6:"8XY"},8XX:{1BS:"0,0,0",1fc:"4ax",1A6:"8XW"},8XV:{4aw:"@8XU,@8XT,@8XS.8XR,@8XQ.4zX",1fc:"6ov",1A6:"8XP"},8XO:{1BS:"606.0,23.0,413.0",1fc:"3cx",1A6:"8XN 8XM 8XL 8XK"},8XJ:{1BS:"-263.0,6.0,431.0",1fc:"8XI",1A6:"8XH 8XG 8XF"},8XE:{1BS:"653.0,-212.0,449.0",1fc:"3cx",1A6:"8XD"},6ou:{1BS:"482.530,-130.596,564.557,-1.6os,-0.214,-0.631,8.15",1fc:"4Xa",1A6:"8XC 4av"},6ot:{1BS:"482.530,-130.596,564.557,-1.6os,-0.214,-0.631,8.15",1fc:"6or",1A6:"8XB 4Xc"},8XA:{1BS:"-133.63,-157.5,-158.62",1fc:"3zP",1A6:"8Xz"},6oq:{1BS:"59.47,-5.1HU,187.44,0.47,-0.1,1.6op,-4.8Xy",1fc:"3zP",1A6:"4Xb 6oo 6on 6om 8Xx"},6ol:{1BS:"446.448,-125.157,542.8Xw,0.8Xv,0.8Xu,0.6ok,-20.8Xt",1fc:"4Xa",1A6:"4X9 4X8"},8Xs:{1BS:"589,76,480",1fc:"3cx",1A6:"S-8Xr (8Xq)"},8Xp:{1BS:"-106,-87,188",1fc:"6oj",1A6:"8Xo"},8Xn:{1BS:"-403,684,41",1fc:"3cx",1A6:"8Xm 8Xl 8Xk"},6oi:{1BS:"106.869,-52.6oh,103.724,-0.8Xj,0.8Xi,-1.8Xh,1",1fc:"3zP",1A6:"8Xg 4av 8Xf 8Xe"}};Wn.1lJ=6og;Wn.1lJ.4I();1d a1=1b(a,b,c){1d d=c.x,e=c.y,f=c.z||0,h,l={};1j(h=0;3>h;h++)if(!b||2!==h||1p 0!==c.z){if(0===h){1d g=d;1d k=-1!=="ew".3f(a.1Dm[h])?"x":"y"}1s 1===h?(g=e,k=-1!=="ns".3f(a.1Dm[h])?"y":"x"):(g=f,k="z");6U(a.1Dm[h]){1S "e":1S "w":1S "n":1S "s":l[k]=g;1W;1S"u":1p 0!==c[k]&&(l.z=g);1W;1S"d":1p 0!==c[k]&&(l.z=-g);1W;4T:1f 1F}}1f l},$0=1b(a){1d b={x:a[0],y:a[1]};2<a.1h&&(b.z=a[2]);3<a.1h&&(b.m=a[3]);1f b},c1=Wn("9y"),6nC={1et:d1,12Z:1b(a){a=YO(g1(a.1G9()));1f a.1mp&&a.1tT?[a.1tT,a.1mp,a.1tT,a.1mp]:[a.3B,a.7b,a.2W,a.5C]},4WH:f1};Hx.8Xd=1b(a){1f 1g Hx(f1(a))};Hx.1i.8Xc=1b(a){1f d1([1a.x,1a.y],a)};1d 4WP=1b(a){1d b=[];b[0]=1-a*(.25+a*(.6of+a*(.4au+.6oe*a)));b[1]=a*(.75-a*(.6of+a*(.4au+.6oe*a)));1d c=a*a;b[2]=c*(.1sZ-a*(.8Xb+.8Xa*a));c*=a;b[3]=c*(.8X9-.8X8*a);b[4]=c*a*.8X7;1f b},KL=1b(a,b,c,d){c*=b;b*=b;1f d[0]*a-c*(d[1]+b*(d[2]+b*(d[3]+b*d[4])))},4WN=1b(a,b,c){1j(1d d=1/(1-b),e=a,f=20;f;--f){1d h=1k.2T(e),l=1-b*h*h;l=(KL(e,h,1k.3i(e),c)-a)*l*1k.3Y(l)*d;e-=l;if(1E-10>1k.abs(l))1W}1f e},6nB={11K:1b(){1a.x0=1p 0!==1a.x0?1a.x0:0;1a.y0=1p 0!==1a.y0?1a.y0:0;1a.10A=1p 0!==1a.10A?1a.10A:0;1a.14i=1p 0!==1a.14i?1a.14i:0;1a.es&&(1a.en=4WP(1a.es),1a.1Wv=KL(1a.14i,1k.2T(1a.14i),1k.3i(1a.14i),1a.en))},1et:1b(a){1d b=a.y,c=Bb(a.x-1a.10A),d=1k.2T(b),e=1k.3i(b);if(1a.es){1d f=e*c,h=1k.3r(f,2),l=1a.2Rf*1k.3r(e,2),g=1k.3r(l,2),k=1k.3r(1E-10<1k.abs(e)?1k.10n(b):0,2),z=1k.3r(k,2);1d w=1-1a.es*1k.3r(d,2);f/=1k.3Y(w);b=KL(b,d,e,1a.en);w=1a.a*1a.k0*f*(1+h/6*(1-k+l+h/20*(5-18*k+z+14*l-58*k*l+h/42*(61+179*z-z*k-479*k))))+1a.x0;c=1a.a*1a.k0*(b-1a.1Wv+d*c*f/2*(1+h/12*(5-k+9*l+4*g+h/30*(61+z-58*k+270*l-330*k*l+h/56*(6od+543*z-z*k-8X6*k)))))+1a.y0}1s{d=e*1k.2T(c);if(1E-10>1k.abs(1k.abs(d)-1))1f 93;w=.5*1a.a*1a.k0*1k.7k((1+d)/(1-d))+1a.x0;c=e*1k.3i(c)/1k.3Y(1-1k.3r(d,2));d=1k.abs(c);if(1<=d){if(1E-10<d-1)1f 93;c=0}1s c=1k.1cz(c);0>b&&(c=-c);c=1a.a*1a.k0*(c-1a.14i)+1a.y0}a.x=w;a.y=c;1f a},12Z:1b(a){1d b=1/1a.a*(a.x-1a.x0),c=1/1a.a*(a.y-1a.y0);if(1a.es){1d d=1a.1Wv+c/1a.k0;1d e=4WN(d,1a.es,1a.en);if(1k.abs(e)<pb){c=1k.3i(e);1d f=1E-10<1k.abs(c)?1k.10n(e):0,h=1a.2Rf*1k.3r(c,2),l=1k.3r(h,2),g=1k.3r(f,2),k=1k.3r(g,2);d=1-1a.es*1k.3r(1k.2T(e),2);b=b*1k.3Y(d)/1a.k0;1d z=1k.3r(b,2);d=e-d*f*z/(1-1a.es)*.5*(1-z/12*(5+3*g-9*h*g+h-4*l-z/30*(61+90*g-252*h*g+45*k+46*h-z/56*(6od+6oc*g+2bk*k+8X5*k*g))));e=Bb(1a.10A+b*(1-z/6*(1+2*g+h-z/20*(5+28*g+24*k+8*h*g+6*h-z/42*(61+662*g+8X4*k+720*k*g))))/c)}1s d=pb*(0>c?-1:1),e=0}1s d=1k.108(b/1a.k0),e=.5*(d-1/d),h=1k.3i(1a.14i+c/1a.k0),d=1k.3Y((1-1k.3r(h,2))/(1+1k.3r(e,2))),d=1k.17M(d),0>c&&(d=-d),e=0===e&&0===h?0:Bb(1k.12B(e,h)+1a.10A);a.x=e;a.y=d;1f a},1c3:["8X3","4X2 2Rd","4UL"]},4X3=1b(a){a=1k.108(a);1f(a-1/a)/2},nW=1b(a,b){a=1k.abs(a);b=1k.abs(b);1d c=1k.1V(a,b);1f c*1k.3Y(1+1k.3r(1k.2o(a,b)/(c?c:1),2))},oW=1b(a,b){1j(1d c=2*1k.3i(2*b),d=a.1h-1,e=a[d],f=0,h;0<=--d;)h=-f+c*e+a[d],f=e,e=h;1f b+h*1k.2T(2*b)},4X4=1b(a,b,c){1d d=1k.2T(b);b=1k.3i(b);1d e=4X3(c);c=1k.108(c);c=(c+1/c)/2;1j(1d f=2*b*c,h=-2*d*e,l=a.1h-1,g=a[l],k=0,z=0,w=0,m,D;0<=--l;)m=z,D=k,z=g,k=w,g=-m+f*z-h*k+a[l],w=-D+h*z+f*k;f=d*c;h=b*e;1f[f*g-h*w,f*w+h*g]},LL={11K:1b(){if(1p 0===1a.es||0>=1a.es)1t 6u("2Az 8X2 7Q");1a.x0=1p 0!==1a.x0?1a.x0:0;1a.y0=1p 0!==1a.y0?1a.y0:0;1a.10A=1p 0!==1a.10A?1a.10A:0;1a.14i=1p 0!==1a.14i?1a.14i:0;1a.2EH=[];1a.2rz=[];1a.2EI=[];1a.2ry=[];1d a=1a.es/(1+1k.3Y(1-1a.es));a/=2-a;1a.2EH[0]=a*(2+a*(-2/3+a*(-2+a*(116/45+a*(26/45+-8X1/675*a)))));1a.2rz[0]=a*(-2+a*(2/3+a*(4/3+a*(-82/45+a*(32/45+8X0/8WZ*a)))));1d b=a*a;1a.2EH[1]=b*(7/3+a*(-1.6+a*(-227/45+a*(8WY/315+8WX/945*a))));1a.2rz[1]=b*(5/3+a*(-16/15+a*(-13/9+a*(904/315+-8WW/945*a))));b*=a;1a.2EH[2]=b*(56/15+a*(-136/35+a*(-8WV/105+8WU/6ob*a)));1a.2rz[2]=b*(-26/15+a*(34/21+a*(1.6+-8WT/6ob*a)));b*=a;1a.2EH[3]=b*(8WS/630+a*(-332/35+-8WR/6oa*a));1a.2rz[3]=b*(8WQ/630+a*(-2.4+-8WP/6oa*a));b*=a;1a.2EH[4]=b*(8WO/315+-8WN/4X7*a);1a.2rz[4]=b*(-734/315+8WM/8WL*a);b*=a;1a.2EH[5]=8WK/8WJ*b;1a.2rz[5]=8WI/6o9*b;b=1k.3r(a,2);1a.Qn=1a.k0/(1+a)*(1+b*(.25+b*(.8WH+b/256)));1a.2EI[0]=a*(-.5+a*(2/3+a*(-37/96+a*(1/360+a*(81/512+-8WG/4kp*a)))));1a.2ry[0]=a*(.5+a*(-2/3+a*(.1KD+a*(41/180+a*(-127/288+8WF/8WE*a)))));1a.2EI[1]=b*(-1/48+a*(-1/15+a*(437/4X6+a*(-46/105+.8WD*a))));1a.2ry[1]=b*(13/48+a*(-.6+a*(557/4X6+a*(281/630+-1.8WC*a))));b*=a;1a.2EI[2]=b*(-17/480+a*(37/840+a*(209/8WB+-8WA/8Wz*a)));1a.2ry[2]=b*(61/240+a*(-103/140+a*(8Wy/8Wx+8Ww/8Wv*a)));b*=a;1a.2EI[3]=b*(-8Wu/4X5+a*(11/504+8Wt/8Ws*a));1a.2ry[3]=b*(8Wr/4X5+a*(-179/168+.8Wq*a));b*=a;1a.2EI[4]=b*(-8Wp/4X5+8Wo/8Wn*a);1a.2ry[4]=b*(8Wm/8Wl+-1.8Wk*a);b*=a;1a.2EI[5]=-.8Wj*b;1a.2ry[5]=.8Wi*b;a=oW(1a.2rz,1a.14i);b=-1a.Qn;1j(1d c=1a.2ry,d=2*a,e=2*1k.3i(d),f=c.1h-1,h=c[f],l=0,g;0<=--f;)g=-l+e*h+c[f],l=h,h=g;1a.Zb=b*(a+1k.2T(d)*g)},1et:1b(a){1d b=Bb(a.x-1a.10A),c=a.y;c=oW(1a.2rz,c);1d d=1k.2T(c),e=1k.3i(c),f=1k.2T(b);b=1k.3i(b);c=1k.12B(d,b*e);b=1k.12B(f*e,nW(d,e*b));b=1k.10n(b);d=1k.abs(b);d*=1+d/(nW(1,d)+1);e=1+d;f=e-1;d=0===f?d:d*1k.7k(e)/f;b=0>b?-d:d;d=4X4(1a.2ry,2*c,2*b);c+=d[0];b+=d[1];2.6o8>=1k.abs(b)?(b=1a.a*1a.Qn*b+1a.x0,c=1a.a*(1a.Qn*c+1a.Zb)+1a.y0):c=b=12g;a.x=b;a.y=c;1f a},12Z:1b(a){1d b=1/1a.a*(a.x-1a.x0),c=1/1a.a*(a.y-1a.y0);c=(c-1a.Zb)/1a.Qn;b/=1a.Qn;if(2.6o8>=1k.abs(b)){1d d=4X4(1a.2EI,2*c,2*b);c+=d[0];b+=d[1];b=1k.16D(4X3(b));d=1k.3i(c);1d e=1k.2T(b);b=1k.3i(b);c=1k.12B(1k.2T(c)*b,nW(e,b*d));b=1k.12B(e,b*d);b=Bb(b+1a.10A);c=oW(1a.2EH,c)}1s c=b=12g;a.x=b;a.y=c;1f a},1c3:["8Wh","29j 4X2 2Rd","6o6"]},6nA={11K:1b(){1d a=1a.2CT;1p 0===a&&(a=1k.2t(30*(Bb(1a.10A)+1k.PI)/1k.PI)+1,0>a?a=0:60<a&&(a=60));if(1p 0===a)1t 6u("1G7 4UK 2CT");1a.14i=0;1a.10A=.1qa*(6*1k.abs(a)-183);1a.x0=5E5;1a.y0=1a.6o7?1E7:0;1a.k0=.3zO;LL.11K.6c(1a);1a.1et=LL.1et;1a.12Z=LL.12Z},1c3:["8Wg 4X2 2Rd 4lR","4UK"],3zN:"6o6"},pW=1b(a,b){1f 1k.3r((1-a)/(1+a),b)},6o5=1b(){1d a=1k.2T(1a.14i),b=1k.3i(1a.14i);b*=b;1a.rc=1k.3Y(1-1a.es)/(1-1a.es*a*a);1a.C=1k.3Y(1+1a.es*b*b/(1-1a.es));1a.3cu=1k.17M(a/1a.C);1a.4X1=.5*1a.C*1a.e;1a.K=1k.10n(.5*1a.3cu+se)/(1k.3r(1k.10n(.5*1a.14i+se),1a.C)*pW(1a.e*a,1a.4X1))},6o4=1b(a){1d b=a.x,c=a.y;a.y=2*1k.16D(1a.K*1k.3r(1k.10n(.5*c+se),1a.C)*pW(1a.e*1k.2T(c),1a.4X1))-pb;a.x=1a.C*b;1f a},6o3=1b(a){1j(1d b=a.x/1a.C,c=a.y,d=1k.3r(1k.10n(.5*c+se)/1a.K,1/1a.C),e=20;0<e;--e){c=2*1k.16D(d*pW(1a.e*1k.2T(a.y),-.5*1a.e))-pb;if(1E-14>1k.abs(c-a.y))1W;a.y=c}if(!e)1f 1F;a.x=b;a.y=c;1f a},6nz={11K:1b(){6o5.6c(1a);1a.rc&&(1a.3zL=1k.2T(1a.3cu),1a.3zM=1k.3i(1a.3cu),1a.R2=2*1a.rc,1a.17s||(1a.17s="4WW 4as 6o2"))},1et:1b(a){a.x=Bb(a.x-1a.10A);6o4.6c(1a,[a]);1d b=1k.2T(a.y);1d c=1k.3i(a.y);1d d=1k.3i(a.x);1d e=1a.k0*1a.R2/(1+1a.3zL*b+1a.3zM*c*d);a.x=e*c*1k.2T(a.x);a.y=e*(1a.3zM*b-1a.3zL*c*d);a.x=1a.a*a.x+1a.x0;a.y=1a.a*a.y+1a.y0;1f a},12Z:1b(a){1d b;a.x=(a.x-1a.x0)/1a.a;a.y=(a.y-1a.y0)/1a.a;a.x/=1a.k0;a.y/=1a.k0;if(b=1k.3Y(a.x*a.x+a.y*a.y)){1d c=2*1k.12B(b,1a.R2);1d d=1k.2T(c);1d e=1k.3i(c);c=1k.17M(e*1a.3zL+a.y*d*1a.3zM/b);d=1k.12B(a.x*d,b*1a.3zM*e-a.y*1a.3zL*d)}1s c=1a.3cu,d=0;a.x=d;a.y=c;6o3.6c(1a,[a]);a.x=Bb(a.x+1a.10A);1f a},1c3:"8Wf;8We;8Wd;8Wc;4WW 4as 6o2;8Wb".7g(";")},6ny={11K:1b(){1a.24f=1k.3i(1a.14i);1a.2EG=1k.2T(1a.14i);1a.1cq?1===1a.k0&&!11I(1a.1oU)&&1E-10>=1k.abs(1a.24f)&&(1a.k0=.5*(1+(0>1a.14i?-1:1)*1k.2T(1a.1oU))):(1E-10>=1k.abs(1a.24f)&&(1a.1Ww=0<1a.14i?1:-1),1a.4at=1k.3Y(1k.3r(1+1a.e,1+1a.e)*1k.3r(1-1a.e,1-1a.e)),1===1a.k0&&!11I(1a.1oU)&&1E-10>=1k.abs(1a.24f)&&(1a.k0=.5*1a.4at*ap(1a.e,1k.2T(1a.1oU),1k.3i(1a.1oU))/Dn(1a.e,1a.1Ww*1a.1oU,1a.1Ww*1k.2T(1a.1oU))),1a.2ai=ap(1a.e,1a.2EG,1a.24f),1a.X0=2*1k.16D(1a.4X0(1a.14i,1a.2EG,1a.e))-pb,1a.2Re=1k.3i(1a.X0),1a.3zK=1k.2T(1a.X0))},1et:1b(a){1d b=a.x,c=a.y,d=1k.2T(c),e=1k.3i(c),f=Bb(b-1a.10A);if(1E-10>=1k.abs(1k.abs(b-1a.10A)-1k.PI)&&1E-10>=1k.abs(c+1a.14i))1f a.x=1hO,a.y=1hO,a;if(1a.1cq)b=2*1a.k0/(1+1a.2EG*d+1a.24f*e*1k.3i(f)),a.x=1a.a*b*e*1k.2T(f)+1a.x0,a.y=1a.a*b*(1a.24f*d-1a.2EG*e*1k.3i(f))+1a.y0;1s{1d h=2*1k.16D(1a.4X0(c,d,1a.e))-pb;e=1k.3i(h);h=1k.2T(h);if(1E-10>=1k.abs(1a.24f))1f d=Dn(1a.e,c*1a.1Ww,1a.1Ww*d),d=2*1a.a*1a.k0*d/1a.4at,a.x=1a.x0+d*1k.2T(b-1a.10A),a.y=1a.y0-1a.1Ww*d*1k.3i(b-1a.10A),a;1E-10>1k.abs(1a.2EG)?(b=2*1a.a*1a.k0/(1+e*1k.3i(f)),a.y=b*h):(b=2*1a.a*1a.k0*1a.2ai/(1a.2Re*(1+1a.3zK*h+1a.2Re*e*1k.3i(f))),a.y=b*(1a.2Re*h-1a.3zK*e*1k.3i(f))+1a.y0);a.x=b*e*1k.2T(f)+1a.x0}1f a},12Z:1b(a){a.x-=1a.x0;a.y-=1a.y0;1d b=1k.3Y(a.x*a.x+a.y*a.y);if(1a.1cq){1d c=2*1k.16D(b/(2*1a.a*1a.k0));1d d=1a.10A;1d e=1a.14i;if(1E-10>=b)1f a.x=d,a.y=e,a;e=1k.17M(1k.3i(c)*1a.2EG+a.y*1k.2T(c)*1a.24f/b);d=1E-10>1k.abs(1a.24f)?0<1a.14i?Bb(1a.10A+1k.12B(a.x,-1*a.y)):Bb(1a.10A+1k.12B(a.x,a.y)):Bb(1a.10A+1k.12B(a.x*1k.2T(c),b*1a.24f*1k.3i(c)-a.y*1a.2EG*1k.2T(c)));a.x=d;a.y=e;1f a}if(1E-10>=1k.abs(1a.24f)){if(1E-10>=b)1f e=1a.14i,d=1a.10A,a.x=d,a.y=e,a;a.x*=1a.1Ww;a.y*=1a.1Ww;d=b*1a.4at/(2*1a.a*1a.k0);e=1a.1Ww*EE(1a.e,d);d=1a.1Ww*Bb(1a.1Ww*1a.10A+1k.12B(a.x,-1*a.y))}1s e=2*1k.16D(b*1a.2Re/(2*1a.a*1a.k0*1a.2ai)),d=1a.10A,1E-10>=b?c=1a.X0:(c=1k.17M(1k.3i(e)*1a.3zK+a.y*1k.2T(e)*1a.2Re/b),d=Bb(1a.10A+1k.12B(a.x*1k.2T(e),b*1a.2Re*1k.3i(e)-a.y*1a.3zK*1k.2T(e)))),e=-1*EE(1a.e,1k.10n(.5*(pb+c)));a.x=d;a.y=e;1f a},1c3:["8Wa","6o1","6o0 4as (42Q B)"],4X0:1b(a,b,c){b*=c;1f 1k.10n(.5*(pb+a))*1k.3r((1-b)/(1+b),.5*c)}},6nx={11K:1b(){1d a=1a.14i;1a.4WZ=1a.10A;1d b=1k.2T(a),c=1a.a,d=1/1a.rf;d=2*d-1k.3r(d,2);1d e=1a.e=1k.3Y(d);1a.R=1a.k0*c*1k.3Y(1-d)/(1-d*1k.3r(b,2));1a.2O=1k.3Y(1+d/(1-d)*1k.3r(1k.3i(a),4));1a.b0=1k.17M(b/1a.2O);1a.K=1k.7k(1k.10n(1k.PI/4+1a.b0/2))-1a.2O*1k.7k(1k.10n(1k.PI/4+a/2))+1a.2O*e/2*1k.7k((1+e*b)/(1-e*b))},1et:1b(a){1d b=2*(1k.16D(1k.108(-1a.2O*(1k.7k(1k.10n(1k.PI/4-a.y/2))+1a.e/2*1k.7k((1+1a.e*1k.2T(a.y))/(1-1a.e*1k.2T(a.y))))+1a.K))-1k.PI/4),c=1a.2O*(a.x-1a.4WZ),d=1k.16D(1k.2T(c)/(1k.2T(1a.b0)*1k.10n(b)+1k.3i(1a.b0)*1k.3i(c)));b=1k.17M(1k.3i(1a.b0)*1k.2T(b)-1k.2T(1a.b0)*1k.3i(b)*1k.3i(c));a.y=1a.R/2*1k.7k((1+1k.2T(b))/(1-1k.2T(b)))+1a.y0;a.x=1a.R*d+1a.x0;1f a},12Z:1b(a){1d b=(a.x-1a.x0)/1a.R,c=2*(1k.16D(1k.108((a.y-1a.y0)/1a.R))-1k.PI/4),d=1k.17M(1k.3i(1a.b0)*1k.2T(c)+1k.2T(1a.b0)*1k.3i(c)*1k.3i(b));b=1a.4WZ+1k.16D(1k.2T(b)/(1k.3i(1a.b0)*1k.3i(b)-1k.2T(1a.b0)*1k.10n(c)))/1a.2O;1j(1d e=d,f=-1E3,h=0;1E-7<1k.abs(e-f);){if(20<++h)1f;c=1/1a.2O*(1k.7k(1k.10n(1k.PI/4+d/2))-1a.K)+1a.e*1k.7k(1k.10n(1k.PI/4+1k.17M(1a.e*1k.2T(e))/2));f=e;e=2*1k.16D(1k.108(c))-1k.PI/2}a.x=b;a.y=e;1f a},1c3:["8W9"]},6nw={11K:1b(){1a.4WX=1a.4WX||!1;1a.4aq=1a.4aq||!1;11I(1a.k0)&&(1a.k0=1);1d a=1k.2T(1a.14i),b=1k.3i(1a.14i),c=1a.e*a;1a.bl=1k.3Y(1+1a.es/(1-1a.es)*1k.3r(b,4));1a.al=1a.a*1a.bl*1a.k0*1k.3Y(1-1a.es)/(1-c*c);a=Dn(1a.e,1a.14i,a);b=1a.bl/b*1k.3Y((1-1a.es)/(1-c*c));1>b*b&&(b=1);if(11I(1a.3cw)){c=Dn(1a.e,1a.1ug,1k.2T(1a.1ug));1d d=Dn(1a.e,1a.1vZ,1k.2T(1a.1vZ));1a.el=0<=1a.14i?(b+1k.3Y(b*b-1))*1k.3r(a,1a.bl):(b-1k.3Y(b*b-1))*1k.3r(a,1a.bl);c=1k.3r(c,1a.bl);1d e=1k.3r(d,1a.bl);d=1a.el/c;a=.5*(d-1/d);d=(1a.el*1a.el-e*c)/(1a.el*1a.el+e*c);c=(e-c)/(e+c);e=Bb(1a.4ar-1a.4WY);1a.10A=.5*(1a.4ar+1a.4WY)-1k.16D(d*1k.10n(.5*1a.bl*e)/c)/1a.bl;1a.10A=Bb(1a.10A);c=Bb(1a.4ar-1a.10A);1a.1Wy=1k.16D(1k.2T(1a.bl*c)/a);1a.2O=1k.17M(b*1k.2T(1a.1Wy))}1s d=0<=1a.14i?b+1k.3Y(b*b-1):b-1k.3Y(b*b-1),1a.el=d*1k.3r(a,1a.bl),1a.1Wy=1k.17M(1k.2T(1a.2O)/b),1a.10A=1a.3cw-1k.17M(.5*(d-1/d)*1k.10n(1a.1Wy))/1a.bl;1a.uc=1a.4WX?0:0<=1a.14i?1a.al/1a.bl*1k.12B(1k.3Y(b*b-1),1k.3i(1a.2O)):-1*1a.al/1a.bl*1k.12B(1k.3Y(b*b-1),1k.3i(1a.2O))},1et:1b(a){1d b=a.y,c=Bb(a.x-1a.10A);if(1E-10>=1k.abs(1k.abs(b)-pb))c=0<b?-1:1,b=1a.al/1a.bl*1k.7k(1k.10n(se+c*1a.1Wy*.5)),c=-1*c*pb*1a.al/1a.bl;1s{b=Dn(1a.e,b,1k.2T(b));b=1a.el/1k.3r(b,1a.bl);1d d=.5*(b-1/b),e=1k.2T(1a.bl*c);b=(d*1k.2T(1a.1Wy)-e*1k.3i(1a.1Wy))/(.5*(b+1/b));b=1E-10>=1k.abs(1k.abs(b)-1)?3a.19B:.5*1a.al*1k.7k((1-b)/(1+b))/1a.bl;c=1E-10>=1k.abs(1k.3i(1a.bl*c))?1a.al*1a.bl*c:1a.al*1k.12B(d*1k.3i(1a.1Wy)+e*1k.2T(1a.1Wy),1k.3i(1a.bl*c))/1a.bl}1a.4aq?(a.x=1a.x0+c,a.y=1a.y0+b):(c-=1a.uc,a.x=1a.x0+b*1k.3i(1a.2O)+c*1k.2T(1a.2O),a.y=1a.y0+c*1k.3i(1a.2O)-b*1k.2T(1a.2O));1f a},12Z:1b(a){if(1a.4aq){1d b=a.y-1a.y0;1d c=a.x-1a.x0}1s b=(a.x-1a.x0)*1k.3i(1a.2O)-(a.y-1a.y0)*1k.2T(1a.2O),c=(a.y-1a.y0)*1k.3i(1a.2O)+(a.x-1a.x0)*1k.2T(1a.2O),c+=1a.uc;1d d=1k.108(-1*1a.bl*b/1a.al);b=.5*(d-1/d);1d e=1k.2T(1a.bl*c/1a.al);d=(e*1k.3i(1a.1Wy)+b*1k.2T(1a.1Wy))/(.5*(d+1/d));1d f=1k.3r(1a.el/1k.3Y((1+d)/(1-d)),1/1a.bl);1E-10>1k.abs(d-1)?(a.x=1a.10A,a.y=pb):1E-10>1k.abs(d+1)?(a.x=1a.10A,a.y=-1*pb):(a.y=EE(1a.e,f),a.x=Bb(1a.10A-1k.12B(b*1k.3i(1a.1Wy)-e*1k.2T(1a.1Wy),1k.3i(1a.bl*c/1a.al))/1a.bl));1f a},1c3:["8W8","8W7 4WW 2Rd","8W6","8W5","8W4"]},6nv={11K:1b(){1a.1vZ||(1a.1vZ=1a.1ug);1a.k0||(1a.k0=1);1a.x0=1a.x0||0;1a.y0=1a.y0||0;if(!(1E-10>1k.abs(1a.1ug+1a.1vZ))){1d a=1a.b/1a.a;1a.e=1k.3Y(1-a*a);a=1k.2T(1a.1ug);1d b=ap(1a.e,a,1k.3i(1a.1ug)),c=Dn(1a.e,1a.1ug,a),d=1k.2T(1a.1vZ),e=ap(1a.e,d,1k.3i(1a.1vZ));d=Dn(1a.e,1a.1vZ,d);1d f=Dn(1a.e,1a.14i,1k.2T(1a.14i));1a.ns=1E-10<1k.abs(1a.1ug-1a.1vZ)?1k.7k(b/e)/1k.7k(c/d):a;11I(1a.ns)&&(1a.ns=a);1a.f0=b/(1a.ns*1k.3r(c,1a.ns));1a.rh=1a.a*1a.f0*1k.3r(f,1a.ns);1a.17s||(1a.17s="4WS 6nZ 6nY")}},1et:1b(a){1d b=a.x,c=a.y;1E-10>=1k.abs(2*1k.abs(c)-1k.PI)&&(c=(0>c?-1:1)*(pb-2E-10));1d d=1k.abs(1k.abs(c)-pb);if(1E-10<d)c=Dn(1a.e,c,1k.2T(c)),c=1a.a*1a.f0*1k.3r(c,1a.ns);1s{d=c*1a.ns;if(0>=d)1f 1F;c=0}b=1a.ns*Bb(b-1a.10A);a.x=1a.k0*c*1k.2T(b)+1a.x0;a.y=1a.k0*(1a.rh-c*1k.3i(b))+1a.y0;1f a},12Z:1b(a){1d b=(a.x-1a.x0)/1a.k0,c=1a.rh-(a.y-1a.y0)/1a.k0;if(0<1a.ns){1d d=1k.3Y(b*b+c*c);1d e=1}1s d=-1k.3Y(b*b+c*c),e=-1;1d f=0;0!==d&&(f=1k.12B(e*b,e*c));if(0!==d||0<1a.ns){if(e=1/1a.ns,d=1k.3r(d/(1a.a*1a.f0),e),d=EE(1a.e,d),-1Ax===d)1f 1F}1s d=-pb;f=Bb(f/1a.ns+1a.10A);a.x=f;a.y=d;1f a},1c3:["4WS 8W3 6nZ 6nY 4WV","8W2","8W1","6jm"]},6nu={11K:1b(){1a.a=6nX.155;1a.es=.8W0;1a.e=1k.3Y(1a.es);1a.14i||(1a.14i=.8VZ);1a.10A||(1a.10A=.8VY);1a.k0||(1a.k0=.1Ax);1a.24e=.8VX;1a.6nW=2*1a.24e;1a.2Rc=1a.14i;1a.e2=1a.es;1a.e=1k.3Y(1a.e2);1a.2iF=1k.3Y(1+1a.e2*1k.3r(1k.3i(1a.2Rc),4)/(1-1a.e2));1a.uq=1.8VW;1a.u0=1k.17M(1k.2T(1a.2Rc)/1a.2iF);1a.g=1k.3r((1+1a.e*1k.2T(1a.2Rc))/(1-1a.e*1k.2T(1a.2Rc)),1a.2iF*1a.e/2);1a.k=1k.10n(1a.u0/2+1a.24e)/1k.3r(1k.10n(1a.2Rc/2+1a.24e),1a.2iF)*1a.g;1a.k1=1a.k0;1a.n0=1a.a*1k.3Y(1-1a.e2)/(1-1a.e2*1k.3r(1k.2T(1a.2Rc),2));1a.s0=1.8VV;1a.n=1k.2T(1a.s0);1a.4WU=1a.k1*1a.n0/1k.10n(1a.s0);1a.ad=1a.6nW-1a.uq},1et:1b(a){1d b=a.y;1d c=Bb(a.x-1a.10A);b=2*(1k.16D(1a.k*1k.3r(1k.10n(b/2+1a.24e),1a.2iF)/1k.3r((1+1a.e*1k.2T(b))/(1-1a.e*1k.2T(b)),1a.2iF*1a.e/2))-1a.24e);1d d=-c*1a.2iF;c=1k.17M(1k.3i(1a.ad)*1k.2T(b)+1k.2T(1a.ad)*1k.3i(b)*1k.3i(d));b=1a.n*1k.17M(1k.3i(b)*1k.2T(d)/1k.3i(c));c=1a.4WU*1k.3r(1k.10n(1a.s0/2+1a.24e),1a.n)/1k.3r(1k.10n(c/2+1a.24e),1a.n);a.y=c*1k.3i(b);a.x=c*1k.2T(b);1a.6nV||(a.y*=-1,a.x*=-1);1f a},12Z:1b(a){1d b=a.x;a.x=a.y;a.y=b;1a.6nV||(a.y*=-1,a.x*=-1);b=1k.3Y(a.x*a.x+a.y*a.y);1d c=1k.12B(a.y,a.x)/1k.2T(1a.s0);1d d=2*(1k.16D(1k.3r(1a.4WU/b,1/1a.n)*1k.10n(1a.s0/2+1a.24e))-1a.24e);b=1k.17M(1k.3i(1a.ad)*1k.2T(d)-1k.2T(1a.ad)*1k.3i(d)*1k.3i(c));a.x=1a.10A-1k.17M(1k.3i(d)*1k.2T(c)/1k.3i(b))/1a.2iF;c=b;1d e=d=0;do a.y=2*(1k.16D(1k.3r(1a.k,-1/1a.2iF)*1k.3r(1k.10n(b/2+1a.24e),1/1a.2iF)*1k.3r((1+1a.e*1k.2T(c))/(1-1a.e*1k.2T(c)),1a.e/2))-1a.24e),1E-10>1k.abs(c-a.y)&&(d=1),c=a.y,e+=1;14p(0===d&&15>e);1f 15<=e?1F:a},1c3:["8VU","8VT"]},jj=1b(a,b,c,d,e){1f a*e-b*1k.2T(2*e)+c*1k.2T(4*e)-d*1k.2T(6*e)},FE=1b(a){1f 1-.25*a*(1+a/16*(3+1.25*a))},GE=1b(a){1f.375*a*(1+.25*a*(1+.1sZ*a))},HE=1b(a){1f.8VS*a*a*(1+.75*a)},IE=1b(a){1f 35/4WT*a*a*a},mA=1b(a,b,c){b*=c;1f a/1k.3Y(1-b*b)},nA=1b(a){1f 1k.abs(a)<pb?a:a-(0>a?-1:1)*1k.PI},ML=1b(a,b,c,d,e){1d f=a/b;1j(1d h=0;15>h;h++){1d l=(a-(b*f-c*1k.2T(2*f)+d*1k.2T(4*f)-e*1k.2T(6*f)))/(b-2*c*1k.3i(2*f)+4*d*1k.3i(4*f)-6*e*1k.3i(6*f));f+=l;if(1E-10>=1k.abs(l))1f f}1f 1hO},6nt={11K:1b(){1a.1cq||(1a.e0=FE(1a.es),1a.e1=GE(1a.es),1a.e2=HE(1a.es),1a.e3=IE(1a.es),1a.1Wv=1a.a*jj(1a.e0,1a.e1,1a.e2,1a.e3,1a.14i))},1et:1b(a){1d b=a.x,c=a.y;b=Bb(b-1a.10A);if(1a.1cq){1d d=1a.a*1k.17M(1k.3i(c)*1k.2T(b));1d e=1a.a*(1k.12B(1k.10n(c),1k.3i(b))-1a.14i)}1s{e=1k.2T(c);1d f=1k.3i(c),h=mA(1a.a,1a.e,e),l=1k.10n(c)*1k.10n(c);d=b*1k.3i(c);b=d*d;1d g=1a.es*f*f/(1-1a.es);c=1a.a*jj(1a.e0,1a.e1,1a.e2,1a.e3,c);d=h*d*(1-b*l*(1/6-(8-l+8*g)*b/120));e=c-1a.1Wv+h*e/f*b*(.5+(5-l+6*g)*b/24)}a.x=d+1a.x0;a.y=e+1a.y0;1f a},12Z:1b(a){a.x-=1a.x0;a.y-=1a.y0;1d b=a.x/1a.a,c=a.y/1a.a;if(1a.1cq){1d d=c+1a.14i;c=1k.17M(1k.2T(d)*1k.3i(b));d=1k.12B(1k.10n(b),1k.3i(d))}1s{d=ML(1a.1Wv/1a.a+c,1a.e0,1a.e1,1a.e2,1a.e3);if(1E-10>=1k.abs(1k.abs(d)-pb))1f a.x=1a.10A,a.y=pb,0>c&&(a.y*=-1),a;c=mA(1a.a,1a.e,1k.2T(d));1d e=1k.3r(1k.10n(d),2);b=b*1a.a/c;1d f=b*b;c=d-c*1k.10n(d)/(c*c*c/1a.a/1a.a*(1-1a.es))*b*b*(.5-(1+3*e)*b*b/24);d=b*(1-f*(e/3+(1+3*e)*e*f/15))/1k.3i(d)}a.x=Bb(d+1a.10A);a.y=nA(c);1f a},1c3:["8VR","8VQ","8VP"]},vt=1b(a,b){if(1E-7<a){1d c=a*b;1f(1-a*a)*(b/(1-c*c)-.5/a*1k.7k((1-c)/(1+c)))}1f 2*b},6ns={11K:1b(){1d a=1k.abs(1a.14i);1a.3z=1E-10>1k.abs(a-pb)?0>1a.14i?1a.2ak:1a.2iE:1E-10>1k.abs(a)?1a.1Wx:1a.1RN;if(0<1a.es){1a.qp=vt(1a.e,1);1a.8VO=.5/(1-1a.es);a=1a.es;1d b=[];b[0]=.8VN*a;1d c=a*a;b[0]+=.8VM*c;b[1]=.8VL*c;c*=a;b[0]+=.8VK*c;b[1]+=.8VJ*c;b[2]=.8VI*c;1a.apa=b;6U(1a.3z){1S 1a.2iE:1a.dd=1;1W;1S 1a.2ak:1a.dd=1;1W;1S 1a.1Wx:1a.rq=1k.3Y(.5*1a.qp);1a.dd=1/1a.rq;1a.4ao=1;1a.4ap=.5*1a.qp;1W;1S 1a.1RN:1a.rq=1k.3Y(.5*1a.qp),a=1k.2T(1a.14i),1a.2Rb=vt(1a.e,a)/1a.qp,1a.3cv=1k.3Y(1-1a.2Rb*1a.2Rb),1a.dd=1k.3i(1a.14i)/(1k.3Y(1-1a.es*a*a)*1a.rq*1a.3cv),1a.4ap=(1a.4ao=1a.rq)/1a.dd,1a.4ao*=1a.dd}}1s 1a.3z===1a.1RN&&(1a.3zI=1k.2T(1a.14i),1a.3zJ=1k.3i(1a.14i))},1et:1b(a){1d b;1d c=a.x;1d d=a.y;c=Bb(c-1a.10A);if(1a.1cq){1d e=1k.2T(d);1d f=1k.3i(d);1d h=1k.3i(c);if(1a.3z===1a.1RN||1a.3z===1a.1Wx){1d l=1a.3z===1a.1Wx?1+f*h:1+1a.3zI*e+1a.3zJ*f*h;if(1E-10>=l)1f 1F;l=1k.3Y(2/l);1d g=l*f*1k.2T(c);l*=1a.3z===1a.1Wx?e:1a.3zJ*e-1a.3zI*f*h}1s if(1a.3z===1a.2iE||1a.3z===1a.2ak){1a.3z===1a.2iE&&(h=-h);if(1E-10>1k.abs(d+1a.4an))1f 1F;l=se-.5*d;l=2*(1a.3z===1a.2ak?1k.3i(l):1k.2T(l));g=l*1k.2T(c);l*=h}}1s{1d k=b=f=0;h=1k.3i(c);c=1k.2T(c);e=1k.2T(d);e=vt(1a.e,e);if(1a.3z===1a.1RN||1a.3z===1a.1Wx)f=e/1a.qp,b=1k.3Y(1-f*f);6U(1a.3z){1S 1a.1RN:k=1+1a.2Rb*f+1a.3cv*b*h;1W;1S 1a.1Wx:k=1+b*h;1W;1S 1a.2iE:k=pb+d;e=1a.qp-e;1W;1S 1a.2ak:k=d-pb,e=1a.qp+e}if(1E-10>1k.abs(k))1f 1F;6U(1a.3z){1S 1a.1RN:1S 1a.1Wx:k=1k.3Y(2/k);l=1a.3z===1a.1RN?1a.4ap*k*(1a.3cv*f-1a.2Rb*b*h):(k=1k.3Y(2/(1+b*h)))*f*1a.4ap;g=1a.4ao*k*b*c;1W;1S 1a.2iE:1S 1a.2ak:0<=e?(g=(k=1k.3Y(e))*c,l=h*(1a.3z===1a.2ak?k:-k)):g=l=0}}a.x=1a.a*g+1a.x0;a.y=1a.a*l+1a.y0;1f a},12Z:1b(a){a.x-=1a.x0;a.y-=1a.y0;1d b=a.x/1a.a,c=a.y/1a.a,d;if(1a.1cq){1d e=d=0;1d f=1k.3Y(b*b+c*c);1d h=.5*f;if(1<h)1f 1F;h=2*1k.17M(h);if(1a.3z===1a.1RN||1a.3z===1a.1Wx)e=1k.2T(h),d=1k.3i(h);6U(1a.3z){1S 1a.1Wx:h=1E-10>=1k.abs(f)?0:1k.17M(c*e/f);b*=e;c=d*f;1W;1S 1a.1RN:h=1E-10>=1k.abs(f)?1a.4an:1k.17M(d*1a.3zI+c*e*1a.3zJ/f);b*=e*1a.3zJ;c=(d-1k.2T(h)*1a.3zI)*f;1W;1S 1a.2iE:c=-c;h=pb-h;1W;1S 1a.2ak:h-=pb}b=0!==c||1a.3z!==1a.1Wx&&1a.3z!==1a.1RN?1k.12B(b,c):0}1s{h=0;if(1a.3z===1a.1RN||1a.3z===1a.1Wx){b/=1a.dd;c*=1a.dd;e=1k.3Y(b*b+c*c);if(1E-10>e)1f a.x=0,a.y=1a.4an,a;f=2*1k.17M(.5*e/1a.rq);d=1k.3i(f);b*=f=1k.2T(f);1a.3z===1a.1RN?(h=d*1a.2Rb+c*f*1a.3cv/e,c=e*1a.3cv*d-c*1a.2Rb*f):(h=c*f/e,c=e*d)}1s if(1a.3z===1a.2iE||1a.3z===1a.2ak){1a.3z===1a.2iE&&(c=-c);h=b*b+c*c;if(!h)1f a.x=0,a.y=1a.4an,a;h=1-h/1a.qp;1a.3z===1a.2ak&&(h=-h)}b=1k.12B(b,c);c=1k.17M(h);h=1a.apa;d=c+c;h=c+h[0]*1k.2T(d)+h[1]*1k.2T(d+d)+h[2]*1k.2T(d+d+d)}a.x=Bb(1a.10A+b);a.y=h;1f a},1c3:["4WS 8VH 8VG 2Ox","6nU","8VF"],2ak:1,2iE:2,1Wx:3,1RN:4},wt=1b(a){1<1k.abs(a)&&(a=1<a?1:-1);1f 1k.17M(a)},6nr={11K:1b(){1E-10>1k.abs(1a.1ug+1a.1vZ)||(1a.4W=1a.b/1a.a,1a.es=1-1k.3r(1a.4W,2),1a.e3=1k.3Y(1a.es),1a.2aj=1k.2T(1a.1ug),1a.2EF=1k.3i(1a.1ug),1a.1Ww=1a.t1=1a.2aj,1a.2ai=ap(1a.e3,1a.2aj,1a.2EF),1a.4WR=vt(1a.e3,1a.2aj,1a.2EF),1a.2aj=1k.2T(1a.1vZ),1a.2EF=1k.3i(1a.1vZ),1a.t2=1a.2aj,1a.3zG=ap(1a.e3,1a.2aj,1a.2EF),1a.6nT=vt(1a.e3,1a.2aj,1a.2EF),1a.2aj=1k.2T(1a.14i),1a.2EF=1k.3i(1a.14i),1a.t3=1a.2aj,1a.6nS=vt(1a.e3,1a.2aj,1a.2EF),1a.1O1=1E-10<1k.abs(1a.1ug-1a.1vZ)?(1a.2ai*1a.2ai-1a.3zG*1a.3zG)/(1a.6nT-1a.4WR):1a.1Ww,1a.c=1a.2ai*1a.2ai+1a.1O1*1a.4WR,1a.rh=1a.a*1k.3Y(1a.c-1a.1O1*1a.6nS)/1a.1O1)},1et:1b(a){1d b=a.x,c=a.y;1a.6nR=1k.2T(c);1a.6nQ=1k.3i(c);c=vt(1a.e3,1a.6nR,1a.6nQ);c=1a.a*1k.3Y(1a.c-1a.1O1*c)/1a.1O1;b=1a.1O1*Bb(b-1a.10A);1d d=1a.rh-c*1k.3i(b)+1a.y0;a.x=c*1k.2T(b)+1a.x0;a.y=d;1f a},12Z:1b(a){a.x-=1a.x0;a.y=1a.rh-a.y+1a.y0;if(0<=1a.1O1){1d b=1k.3Y(a.x*a.x+a.y*a.y);1d c=1}1s b=-1k.3Y(a.x*a.x+a.y*a.y),c=-1;1d d=0;0!==b&&(d=1k.12B(c*a.x,c*a.y));c=b*1a.1O1/1a.a;1a.1cq?b=1k.17M((1a.c-c*c)/(2*1a.1O1)):(b=(1a.c-c*c)/1a.1O1,b=1a.6nO(1a.e3,b));d=Bb(d/1a.1O1+1a.10A);a.x=d;a.y=b;1f a},1c3:["6nP","8VE","aea"],6nO:1b(a,b){1d c=wt(.5*b);if(1E-10>a)1f c;1j(1d d=a*a,e=1;25>=e;e++){1d f=1k.2T(c);1d h=1k.3i(c);1d l=a*f;1d g=1-l*l;f=.5*g*g/h*(b/(1-d)-f/g+.5/a*1k.7k((1-l)/(1+l)));c+=f;if(1E-7>=1k.abs(f))1f c}1f 1F}},6nq={11K:1b(){1a.2ag=1k.2T(1a.14i);1a.2ah=1k.3i(1a.14i);1a.4WQ=1E3*1a.a;1a.rc=1},1et:1b(a){1d b=a.y;1d c=Bb(a.x-1a.10A);1d d=1k.2T(b);b=1k.3i(b);1d e=1k.3i(c);1d f=1a.2ag*d+1a.2ah*b*e;0<f||1E-10>=1k.abs(f)?(c=1a.x0+1*1a.a*b*1k.2T(c)/f,d=1a.y0+1*1a.a*(1a.2ah*d-1a.2ag*b*e)/f):(c=1a.x0+1a.4WQ*b*1k.2T(c),d=1a.y0+1a.4WQ*(1a.2ah*d-1a.2ag*b*e));a.x=c;a.y=d;1f a},12Z:1b(a){1d b;a.x=(a.x-1a.x0)/1a.a;a.y=(a.y-1a.y0)/1a.a;a.x/=1a.k0;a.y/=1a.k0;if(b=1k.3Y(a.x*a.x+a.y*a.y)){1d c=1k.12B(b,1a.rc);1d d=1k.2T(c);1d e=1k.3i(c);c=wt(e*1a.2ag+a.y*d*1a.2ah/b);b=1k.12B(a.x*d,b*1a.2ah*e-a.y*1a.2ag*d);b=Bb(1a.10A+b)}1s c=1a.3cu,b=0;a.x=b;a.y=c;1f a},1c3:["8VD"]},6np={11K:1b(){1a.1cq||(1a.k0=ap(1a.e,1k.2T(1a.1oU),1k.3i(1a.1oU)))},1et:1b(a){1d b=a.y;1d c=Bb(a.x-1a.10A);1a.1cq?(c=1a.x0+1a.a*c*1k.3i(1a.1oU),b=1a.y0+1a.a*1k.2T(b)/1k.3i(1a.1oU)):(b=vt(1a.e,1k.2T(b)),c=1a.x0+1a.a*1a.k0*c,b=1a.y0+1a.a*b*.5/1a.k0);a.x=c;a.y=b;1f a},12Z:1b(a){a.x-=1a.x0;a.y-=1a.y0;if(1a.1cq){1d b=Bb(1a.10A+a.x/1a.a/1k.3i(1a.1oU));1d c=1k.17M(a.y/1a.a*1k.3i(1a.1oU))}1s{a:if(b=1a.e,c=2*a.y*1a.k0/1a.a,1E-6>1k.abs(1k.abs(c)-(1-(1-b*b)/(2*b)*1k.7k((1-b)/(1+b)))))c=0>c?-1*pb:pb;1s{1j(1d d=1k.17M(.5*c),e,f,h,l=0;30>l;l++)if(e=1k.2T(d),f=1k.3i(d),h=b*e,e=1k.3r(1-h*h,2)/(2*f)*(c/(1-b*b)-e/(1-h*h)+.5/b*1k.7k((1-h)/(1+h))),d+=e,1E-10>=1k.abs(e)){c=d;1W a}c=1hO}b=Bb(1a.10A+a.x/(1a.a*1a.k0))}a.x=b;a.y=c;1f a},1c3:["3LG"]},6no={11K:1b(){1a.x0=1a.x0||0;1a.y0=1a.y0||0;1a.14i=1a.14i||0;1a.10A=1a.10A||0;1a.1oU=1a.1oU||0;1a.17s=1a.17s||"8VC 8VB (8VA 8Vz)";1a.rc=1k.3i(1a.1oU)},1et:1b(a){1d b=a.y,c=Bb(a.x-1a.10A);b=nA(b-1a.14i);a.x=1a.x0+1a.a*c*1a.rc;a.y=1a.y0+1a.a*b;1f a},12Z:1b(a){1d b=a.y;a.x=Bb(1a.10A+(a.x-1a.x0)/(1a.a*1a.rc));a.y=nA(1a.14i+(b-1a.y0)/1a.a);1f a},1c3:["8Vy","8Vx","8Vw"]},6nn={11K:1b(){1a.4W=1a.b/1a.a;1a.es=1-1k.3r(1a.4W,2);1a.e=1k.3Y(1a.es);1a.e0=FE(1a.es);1a.e1=GE(1a.es);1a.e2=HE(1a.es);1a.e3=IE(1a.es);1a.1Wv=1a.a*jj(1a.e0,1a.e1,1a.e2,1a.e3,1a.14i)},1et:1b(a){1d b=a.y;1d c=Bb(a.x-1a.10A);1d d=c*1k.2T(b);if(1a.1cq)1E-10>=1k.abs(b)?(c*=1a.a,b=-1*1a.a*1a.14i):(c=1a.a*1k.2T(d)/1k.10n(b),b=1a.a*(nA(b-1a.14i)+(1-1k.3i(d))/1k.10n(b)));1s if(1E-10>=1k.abs(b))c*=1a.a,b=-1*1a.1Wv;1s{1d e=mA(1a.a,1a.e,1k.2T(b))/1k.10n(b);c=e*1k.2T(d);b=1a.a*jj(1a.e0,1a.e1,1a.e2,1a.e3,b)-1a.1Wv+e*(1-1k.3i(d))}a.x=c+1a.x0;a.y=b+1a.y0;1f a},12Z:1b(a){1d b=a.x-1a.x0;1d c=a.y-1a.y0;if(1a.1cq)if(1E-10>=1k.abs(c+1a.a*1a.14i)){b=Bb(b/1a.a+1a.10A);1d d=0}1s{1d e=1a.14i+c/1a.a;1d f=b*b/1a.a/1a.a+e*e;1d h=e;1j(c=20;c;--c){1d l=1k.10n(h);l=-1*(e*(h*l+1)-h-.5*(h*h+f)*l)/((h-e)/l-1);h+=l;if(1E-10>=1k.abs(l)){d=h;1W}}b=Bb(1a.10A+1k.17M(b*1k.10n(h)/1a.a)/1k.2T(d))}1s if(1E-10>=1k.abs(c+1a.1Wv))d=0,b=Bb(1a.10A+b/1a.a);1s{e=(1a.1Wv+c)/1a.a;f=b*b/1a.a/1a.a+e*e;h=e;1j(c=20;c;--c){l=1a.e*1k.2T(h);l=1k.3Y(1-l*l)*1k.10n(h);1d g=1a.a*jj(1a.e0,1a.e1,1a.e2,1a.e3,h);1d k=1a.e0-2*1a.e1*1k.3i(2*h)+4*1a.e2*1k.3i(4*h)-6*1a.e3*1k.3i(6*h);g/=1a.a;l=(e*(l*g+1)-g-.5*l*(g*g+f))/(1a.es*1k.2T(2*h)*(g*g+f-2*e*g)/(4*l)+(e-g)*(l*k-2/1k.2T(2*h))-k);h-=l;if(1E-10>=1k.abs(l)){d=h;1W}}l=1k.3Y(1-1a.es*1k.3r(1k.2T(d),2))*1k.10n(d);b=Bb(1a.10A+1k.17M(b*l/1a.a)/1k.2T(d))}a.x=b;a.y=d;1f a},1c3:["8Vv","8Vu"]},6nm={11K:1b(){1a.A=[];1a.A[1]=.8Vt;1a.A[2]=-.8Vs;1a.A[3]=.8Vr;1a.A[4]=-.8Vq;1a.A[5]=.8Vp;1a.A[6]=-.8Vo;1a.A[7]=.8Vn;1a.A[8]=-.8Vm;1a.A[9]=6.7E-4;1a.A[10]=-3.4E-4;1a.1RL=[];1a.1RM=[];1a.1RL[1]=.8Vl;1a.1RM[1]=0;1a.1RL[2]=.8Vk;1a.1RM[2]=.8Vj;1a.1RL[3]=-.8Vi;1a.1RM[3]=.8Vh;1a.1RL[4]=-.8Vg;1a.1RM[4]=.8Vf;1a.1RL[5]=-.8Ve;1a.1RM[5]=-.8Vd;1a.1RL[6]=-.8Vc;1a.1RM[6]=-1.8Vb;1a.2rw=[];1a.2rx=[];1a.2rw[1]=1.8Va;1a.2rx[1]=0;1a.2rw[2]=-.8V9;1a.2rx[2]=-.8V8;1a.2rw[3]=.8V7;1a.2rx[3]=-.8V6;1a.2rw[4]=-.8V5;1a.2rx[4]=.8V4;1a.2rw[5]=1.8V3;1a.2rx[5]=1.8V2;1a.2rw[6]=1.8V1;1a.2rx[6]=2.8V0;1a.D=[];1a.D[1]=1.8UZ;1a.D[2]=.8UY;1a.D[3]=-.8UX;1a.D[4]=-.8UW;1a.D[5]=-.8UV;1a.D[6]=.8UU;1a.D[7]=.8UT;1a.D[8]=.8US;1a.D[9]=-.8UR},1et:1b(a){1d b,c=a.x-1a.10A,d=(a.y-1a.14i)/4.4am-6*1E-5,e=1,f=0;1j(b=1;10>=b;b++)e*=d,f+=1a.A[b]*e;d=f;e=1;1d h=0,l=0,g=0;1j(b=1;6>=b;b++)f=e*d-h*c,h=h*d+e*c,e=f,l=l+1a.1RL[b]*e-1a.1RM[b]*h,g=g+1a.1RM[b]*e+1a.1RL[b]*h;a.x=g*1a.a+1a.x0;a.y=l*1a.a+1a.y0;1f a},12Z:1b(a){1d b,c=(a.y-1a.y0)/1a.a,d=(a.x-1a.x0)/1a.a,e=1,f=0,h=0,l=0;1j(b=1;6>=b;b++){1d g=e*c-f*d;f=f*c+e*d;e=g;h=h+1a.2rw[b]*e-1a.2rx[b]*f;l=l+1a.2rx[b]*e+1a.2rw[b]*f}1j(e=0;e<1a.8UQ;e++){1d k=h,z=l;g=c;f=d;1j(b=2;6>=b;b++){1d w=k*h-z*l;z=z*h+k*l;k=w;g+=(b-1)*(1a.1RL[b]*k-1a.1RM[b]*z);f+=(b-1)*(1a.1RM[b]*k+1a.1RL[b]*z)}k=1;z=0;1d m=1a.1RL[1],D=1a.1RM[1];1j(b=2;6>=b;b++)w=k*h-z*l,z=z*h+k*l,k=w,m+=b*(1a.1RL[b]*k-1a.1RM[b]*z),D+=b*(1a.1RM[b]*k+1a.1RL[b]*z);l=m*m+D*D;h=(g*m+f*D)/l;l=(f*m-g*D)/l}c=h;d=1;h=0;1j(b=1;9>=b;b++)d*=c,h+=1a.D[b]*d;b=1a.14i+.8UP*h;a.x=1a.10A+l;a.y=b;1f a},1c3:["8UO","8UN"]},6nl={11K:1b(){},1et:1b(a){1d b=a.y,c=Bb(a.x-1a.10A);b=1a.y0+1a.a*1k.7k(1k.10n(1k.PI/4+b/2.5))*1.25;a.x=1a.x0+1a.a*c;a.y=b;1f a},12Z:1b(a){a.x-=1a.x0;a.y-=1a.y0;1d b=Bb(1a.10A+a.x/1a.a),c=2.5*(1k.16D(1k.108(.8*a.y/1a.a))-1k.PI/4);a.x=b;a.y=c;1f a},1c3:["8UM","8UL"]},6nk={11K:1b(){1a.1cq?(1a.n=1,1a.es=1a.m=0,1a.4al=1k.3Y((1a.m+1)/1a.n),1a.4WO=1a.4al/(1a.m+1)):1a.en=4WP(1a.es)},1et:1b(a){1d b=a.x;1d c=a.y;b=Bb(b-1a.10A);if(1a.1cq){if(1a.m)1j(1d d=1a.n*1k.2T(c),e=20;e;--e){1d f=(1a.m*c+1k.2T(c)-d)/(1a.m+1k.3i(c));c-=f;if(1E-10>1k.abs(f))1W}1s c=1!==1a.n?1k.17M(1a.n*1k.2T(c)):c;b=1a.a*1a.4WO*b*(1a.m+1k.3i(c));c*=1a.a*1a.4al}1s d=1k.2T(c),e=1k.3i(c),c=1a.a*KL(c,d,e,1a.en),b=1a.a*b*e/1k.3Y(1-1a.es*d*d);a.x=b;a.y=c;1f a},12Z:1b(a){a.x-=1a.x0;1d b=a.x/1a.a;a.y-=1a.y0;1d c=a.y/1a.a;if(1a.1cq)c/=1a.4al,b/=1a.4WO*(1a.m+1k.3i(c)),1a.m?c=wt((1a.m*c+1k.2T(c))/1a.n):1!==1a.n&&(c=wt(1k.2T(c)/1a.n)),b=Bb(b+1a.10A),c=nA(c);1s{c=4WN(a.y/1a.a,1a.es,1a.en);1d d=1k.abs(c);d<pb?(d=1k.2T(c),b=1a.10A+a.x*1k.3Y(1-1a.es*d*d)/(1a.a*1k.3i(c)),b=Bb(b)):d-1E-10<pb&&(b=1a.10A)}a.x=b;a.y=c;1f a},1c3:["3zE","8UK"]},6nj={11K:1b(){},1et:1b(a){1j(1d b=a.y,c=Bb(a.x-1a.10A),d=b,e=1k.PI*1k.2T(b);;){1d f=-(d+1k.2T(d)-e)/(1+1k.3i(d));d+=f;if(1E-10>1k.abs(f))1W}d/=2;1E-10>1k.PI/2-1k.abs(b)&&(c=0);b=1.6nN*1a.a*1k.2T(d)+1a.y0;a.x=.6nL*1a.a*c*1k.3i(d)+1a.x0;a.y=b;1f a},12Z:1b(a){a.x-=1a.x0;a.y-=1a.y0;1d b=a.y/(1.6nN*1a.a);.6nM<1k.abs(b)&&(b=.6nM);b=1k.17M(b);1d c=Bb(1a.10A+a.x/(.6nL*1a.a*1k.3i(b)));c<-1k.PI&&(c=-1k.PI);c>1k.PI&&(c=1k.PI);b=(2*b+1k.2T(2*b))/1k.PI;1<1k.abs(b)&&(b=1);b=1k.17M(b);a.x=c;a.y=b;1f a},1c3:["8UJ","8UI"]},6ni={11K:1b(){1E-10>1k.abs(1a.1ug+1a.1vZ)||(1a.1vZ=1a.1vZ||1a.1ug,1a.4W=1a.b/1a.a,1a.es=1-1k.3r(1a.4W,2),1a.e=1k.3Y(1a.es),1a.e0=FE(1a.es),1a.e1=GE(1a.es),1a.e2=HE(1a.es),1a.e3=IE(1a.es),1a.3zH=1k.2T(1a.1ug),1a.4ak=1k.3i(1a.1ug),1a.2ai=ap(1a.e,1a.3zH,1a.4ak),1a.4WM=jj(1a.e0,1a.e1,1a.e2,1a.e3,1a.1ug),1E-10>1k.abs(1a.1ug-1a.1vZ)?1a.ns=1a.3zH:(1a.3zH=1k.2T(1a.1vZ),1a.4ak=1k.3i(1a.1vZ),1a.3zG=ap(1a.e,1a.3zH,1a.4ak),1a.6nK=jj(1a.e0,1a.e1,1a.e2,1a.e3,1a.1vZ),1a.ns=(1a.2ai-1a.3zG)/(1a.6nK-1a.4WM)),1a.g=1a.4WM+1a.2ai/1a.ns,1a.1Wv=jj(1a.e0,1a.e1,1a.e2,1a.e3,1a.14i),1a.rh=1a.a*(1a.g-1a.1Wv))},1et:1b(a){1d b=a.x,c=a.y;1a.1cq?c=1a.a*(1a.g-c):(c=jj(1a.e0,1a.e1,1a.e2,1a.e3,c),c=1a.a*(1a.g-c));b=1a.ns*Bb(b-1a.10A);1d d=1a.y0+1a.rh-c*1k.3i(b);a.x=1a.x0+c*1k.2T(b);a.y=d;1f a},12Z:1b(a){a.x-=1a.x0;a.y=1a.rh-a.y+1a.y0;if(0<=1a.ns){1d b=1k.3Y(a.x*a.x+a.y*a.y);1d c=1}1s b=-1k.3Y(a.x*a.x+a.y*a.y),c=-1;1d d=0;0!==b&&(d=1k.12B(c*a.x,c*a.y));1a.1cq?(d=Bb(1a.10A+d/1a.ns),b=nA(1a.g-b/1a.a)):(b=ML(1a.g-b/1a.a,1a.e0,1a.e1,1a.e2,1a.e3),d=Bb(1a.10A+d/1a.ns));a.x=d;a.y=b;1f a},1c3:["8UH","8UG"]},6nh={11K:1b(){1a.R=1a.a},1et:1b(a){1d b=a.y,c=Bb(a.x-1a.10A),d=wt(2*1k.abs(b/1k.PI)),e=.5*1k.abs(1k.PI/c-c/1k.PI),f=e*e,h=1k.2T(d);d=1k.3i(d);d/=h+d-1;h=d*(2/h-1);1d l=h*h,g=1k.PI*1a.R*(e*(d-l)+1k.3Y(f*(d-l)*(d-l)-(l+f)*(d*d-l)))/(l+f);0>c&&(g=-g);c=1a.x0+g;d=f+d;g=1k.PI*1a.R*(h*d-e*1k.3Y((l+f)*(f+1)-d*d))/(l+f);b=0<=b?1a.y0+g:1a.y0-g;a.x=c;a.y=b;1f a},12Z:1b(a){a.x-=1a.x0;a.y-=1a.y0;1d b=1k.PI*1a.R;1d c=a.x/b;1d d=a.y/b;1d e=c*c+d*d;b=-1k.abs(d)*(1+e);1d f=b-2*d*d+c*c;1d h=-2*b+1+2*d*d+e*e;1d l=(b-f*f/3/h)/h;1d g=2*1k.3Y(-l/3);b=3*(d*d/h+(2*f*f*f/h/h/h-9*b*f/h/h)/27)/l/g;1<1k.abs(b)&&(b=0<=b?1:-1);b=1k.1cz(b)/3;f=0<=a.y?(-g*1k.3i(b+1k.PI/3)-f/3/h)*1k.PI:-(-g*1k.3i(b+1k.PI/3)-f/3/h)*1k.PI;c=1E-10>1k.abs(c)?1a.10A:Bb(1a.10A+1k.PI*(e-1+1k.3Y(1+2*(c*c-d*d)+e*e))/2/c);a.x=c;a.y=f;1f a},1c3:["8UF","8UE","8UD"]},6ng={11K:1b(){1a.1xE=1k.2T(1a.14i);1a.24d=1k.3i(1a.14i)},1et:1b(a){1d b=a.y,c=1k.2T(a.y),d=1k.3i(a.y),e=Bb(a.x-1a.10A);if(1a.1cq)1E-10>=1k.abs(1a.1xE-1)?(a.x=1a.x0+1a.a*(pb-b)*1k.2T(e),a.y=1a.y0-1a.a*(pb-b)*1k.3i(e)):1E-10>=1k.abs(1a.1xE+1)?(a.x=1a.x0+1a.a*(pb+b)*1k.2T(e),a.y=1a.y0+1a.a*(pb+b)*1k.3i(e)):(b=1a.1xE*c+1a.24d*d*1k.3i(e),b=1k.1cz(b),b/=1k.2T(b),a.x=1a.x0+1a.a*b*d*1k.2T(e),a.y=1a.y0+1a.a*b*(1a.24d*c-1a.1xE*d*1k.3i(e)));1s{1d f=FE(1a.es);1d h=GE(1a.es);1d l=HE(1a.es);1d g=IE(1a.es);if(1E-10>=1k.abs(1a.1xE-1))d=1a.a*jj(f,h,l,g,pb),b=1a.a*jj(f,h,l,g,b),a.x=1a.x0+(d-b)*1k.2T(e),a.y=1a.y0-(d-b)*1k.3i(e);1s if(1E-10>=1k.abs(1a.1xE+1))d=1a.a*jj(f,h,l,g,pb),b=1a.a*jj(f,h,l,g,b),a.x=1a.x0+(d+b)*1k.2T(e),a.y=1a.y0+(d+b)*1k.3i(e);1s{f=c/d;b=mA(1a.a,1a.e,1a.1xE);c=mA(1a.a,1a.e,c);c=1k.16D((1-1a.es)*f+1a.es*b*1a.1xE/(c*d));d=1k.12B(1k.2T(e),1a.24d*1k.10n(c)-1a.1xE*1k.3i(e));f=0===d?1k.17M(1a.24d*1k.2T(c)-1a.1xE*1k.3i(c)):1E-10>=1k.abs(1k.abs(d)-1k.PI)?-1k.17M(1a.24d*1k.2T(c)-1a.1xE*1k.3i(c)):1k.17M(1k.2T(e)*1k.3i(c)/1k.2T(d));e=1a.e*1a.1xE/1k.3Y(1-1a.es);h=1a.e*1a.24d*1k.3i(d)/1k.3Y(1-1a.es);c=e*h;h*=h;l=f*f;g=l*f;1d k=g*f;b=b*f*(1-l*h*(1-h)/6+g/8*c*(1-2*h)+k/120*(h*(4-7*h)-3*e*e*(1-7*h))-k*f/48*c);a.x=1a.x0+b*1k.2T(d);a.y=1a.y0+b*1k.3i(d)}}1f a},12Z:1b(a){a.x-=1a.x0;a.y-=1a.y0;if(1a.1cq){1d b=1k.3Y(a.x*a.x+a.y*a.y);if(b>2*pb*1a.a)1f;1d c=b/1a.a;1d d=1k.2T(c);1d e=1k.3i(c);c=1a.10A;if(1E-10>=1k.abs(b))1d f=1a.14i;1s f=wt(e*1a.1xE+a.y*d*1a.24d/b),c=1k.abs(1a.14i)-pb,c=1E-10>=1k.abs(c)?0<=1a.14i?Bb(1a.10A+1k.12B(a.x,-a.y)):Bb(1a.10A-1k.12B(-a.x,a.y)):Bb(1a.10A+1k.12B(a.x*d,b*1a.24d*e-a.y*1a.1xE*d))}1s if(d=FE(1a.es),c=GE(1a.es),e=HE(1a.es),f=IE(1a.es),1E-10>=1k.abs(1a.1xE-1)){1d h=1a.a*jj(d,c,e,f,pb);b=1k.3Y(a.x*a.x+a.y*a.y);f=ML((h-b)/1a.a,d,c,e,f);c=Bb(1a.10A+1k.12B(a.x,-1*a.y))}1s 1E-10>=1k.abs(1a.1xE+1)?(h=1a.a*jj(d,c,e,f,pb),b=1k.3Y(a.x*a.x+a.y*a.y),f=ML((b-h)/1a.a,d,c,e,f),c=Bb(1a.10A+1k.12B(a.x,a.y))):(b=1k.3Y(a.x*a.x+a.y*a.y),d=1k.12B(a.x,a.y),f=mA(1a.a,1a.e,1a.1xE),c=1k.3i(d),e=1a.e*1a.24d*c,e=-e*e/(1-1a.es),h=3*1a.es*(1-e)*1a.1xE*1a.24d*c/(1-1a.es),f=b/f,b=f-e*(1+e)*1k.3r(f,3)/6-h*(1+3*e)*1k.3r(f,4)/24,e=1-e*b*b/2-f*b*b*b/6,f=1k.17M(1a.1xE*1k.3i(b)+1a.24d*1k.2T(b)*c),c=Bb(1a.10A+1k.17M(1k.2T(d)*1k.2T(b)/1k.3i(f))),f=1k.16D((1-1a.es*e*1a.1xE/1k.2T(f))*1k.10n(f)/(1-1a.es)));a.x=c;a.y=f;1f a},1c3:["8UC","8UB"]},6nf={11K:1b(){1a.2ag=1k.2T(1a.14i);1a.2ah=1k.3i(1a.14i)},1et:1b(a){1d b=a.y;1d c=Bb(a.x-1a.10A);1d d=1k.2T(b);b=1k.3i(b);1d e=1k.3i(c);1d f=1a.2ag*d+1a.2ah*b*e;if(0<f||1E-10>=1k.abs(f)){1d h=1*1a.a*b*1k.2T(c);1d l=1a.y0+1*1a.a*(1a.2ah*d-1a.2ag*b*e)}a.x=h;a.y=l;1f a},12Z:1b(a){a.x-=1a.x0;a.y-=1a.y0;1d b=1k.3Y(a.x*a.x+a.y*a.y);1d c=wt(b/1a.a);1d d=1k.2T(c);c=1k.3i(c);1d e=1a.10A;if(1E-10>=1k.abs(b)){1d f=1a.14i;a.x=e;a.y=f;1f a}f=wt(c*1a.2ag+a.y*d*1a.2ah/b);if(1E-10>=1k.abs(1k.abs(1a.14i)-pb))1f e=0<=1a.14i?Bb(1a.10A+1k.12B(a.x,-a.y)):Bb(1a.10A-1k.12B(-a.x,a.y)),a.x=e,a.y=f,a;e=Bb(1a.10A+1k.12B(a.x*d,b*1a.2ah*c-a.y*1a.2ag*d));a.x=e;a.y=f;1f a},1c3:["8UA"]},ne={2rv:1,2ru:2,2rt:3,2Ra:4},6ne={11K:1b(){1a.x0=1a.x0||0;1a.y0=1a.y0||0;1a.14i=1a.14i||0;1a.10A=1a.10A||0;1a.1oU=1a.1oU||0;1a.17s=1a.17s||"6nJ 4i0 6nI";1a.18X=1a.14i>=pb-se/2?5:1a.14i<=-(pb-se/2)?6:1k.abs(1a.10A)<=se?1:1k.abs(1a.10A)<=pb+se?0<1a.10A?2:4:3;0!==1a.es&&(1a.4aj=1-(1a.a-1a.b)/1a.a,1a.4WL=1a.4aj*1a.4aj)},1et:1b(a){1d b={1Q:0};a.x-=1a.10A;1d c=0!==1a.es?1k.16D(1a.4WL*1k.10n(a.y)):a.y;1d d=a.x;if(5===1a.18X)c=pb-c,d>=se&&d<=pb+se?(b.1Q=ne.2rv,d-=pb):d>pb+se||d<=-(pb+se)?(b.1Q=ne.2ru,d=0<d?d-3.1A5:d+3.1A5):d>-(pb+se)&&d<=-se?(b.1Q=ne.2rt,d+=pb):b.1Q=ne.2Ra;1s if(6===1a.18X)c=pb+c,d>=se&&d<=pb+se?(b.1Q=ne.2rv,d=-d+pb):d<se&&d>=-se?(b.1Q=ne.2ru,d=-d):d<-se&&d>=-(pb+se)?(b.1Q=ne.2rt,d=-d-pb):(b.1Q=ne.2Ra,d=0<d?-d+3.1A5:-d-3.1A5);1s{2===1a.18X?d=Ix(d,+pb):3===1a.18X?d=Ix(d,3.1A5):4===1a.18X&&(d=Ix(d,-pb));1d e=1k.2T(c);c=1k.3i(c);1d f=1k.2T(d);d=c*1k.3i(d);f*=c;1===1a.18X?(c=1k.1cz(d),d=ZG(c,e,f,b)):2===1a.18X?(c=1k.1cz(f),d=ZG(c,e,-d,b)):3===1a.18X?(c=1k.1cz(-d),d=ZG(c,e,-f,b)):4===1a.18X?(c=1k.1cz(-f),d=ZG(c,e,d,b)):(c=d=0,b.1Q=ne.2rv)}e=1k.16D(3.8Uz*(d+1k.1cz(1k.2T(d)*1k.3i(se))-pb));c=1k.3Y((1-1k.3i(c))/(1k.3i(e)*1k.3i(e))/(1-1k.3i(1k.16D(1/1k.3i(d)))));b.1Q===ne.2ru?e+=pb:b.1Q===ne.2rt?e+=3.1A5:b.1Q===ne.2Ra&&(e+=1.5*3.1A5);b=c*1k.3i(e);e=c*1k.2T(e);b=b*1a.a+1a.x0;e=e*1a.a+1a.y0;a.x=b;a.y=e;1f a},12Z:1b(a){a.x=(a.x-1a.x0)/1a.a;a.y=(a.y-1a.y0)/1a.a;1d b=1k.16D(1k.3Y(a.x*a.x+a.y*a.y));1d c=1k.12B(a.y,a.x);if(0<=a.x&&a.x>=1k.abs(a.y))1d d=ne.2rv;1s 0<=a.y&&a.y>=1k.abs(a.x)?(d=ne.2ru,c-=pb):0>a.x&&-a.x>=1k.abs(a.y)?(d=ne.2rt,c=0>c?c+3.1A5:c-3.1A5):(d=ne.2Ra,c+=pb);1d e=3.1A5/12*1k.10n(c);1d f=1k.16D(1k.2T(e)/(1k.3i(e)-1/1k.3Y(2)));e=1k.3i(c);b=1k.10n(b);e=1-e*e*b*b*(1-1k.3i(1k.16D(1/1k.3i(f))));-1>e?e=-1:1<e&&(e=1);5===1a.18X?(e=1k.1cz(e),e=pb-e,d=d===ne.2rv?f+pb:d===ne.2ru?0>f?f+3.1A5:f-3.1A5:d===ne.2rt?f-pb:f):6===1a.18X?(e=1k.1cz(e),e-=pb,d=d===ne.2rv?-f+pb:d===ne.2ru?-f:d===ne.2rt?-f-pb:0>f?-f-3.1A5:-f+3.1A5):(b=e,e=b*b,c=1<=e?0:1k.3Y(1-e)*1k.2T(f),e+=c*c,f=1<=e?0:1k.3Y(1-e),d===ne.2ru?(e=f,f=-c,c=e):d===ne.2rt?(f=-f,c=-c):d===ne.2Ra&&(e=f,f=c,c=-e),2===1a.18X?(e=b,b=-f,f=e):3===1a.18X?(b=-b,f=-f):4===1a.18X&&(e=b,b=f,f=-e),e=1k.1cz(-c)-pb,d=1k.12B(f,b),2===1a.18X?d=Ix(d,-pb):3===1a.18X?d=Ix(d,-3.1A5):4===1a.18X&&(d=Ix(d,+pb)));0!==1a.es&&(f=0>e?1:0,e=1k.10n(e),e=1a.b/1k.3Y(e*e+1a.4WL),e=1k.16D(1k.3Y(1a.a*1a.a-e*e)/(1a.4aj*e)),f&&(e=-e));d+=1a.10A;a.x=d;a.y=e;1f a},1c3:["6nJ 4i0 6nI","8Uy","8Ux"]},qW=[[1,2.8Uw-17,-7.8Uv-5,3.8Uu-6],[.6nH,-4.8Ut-4,-2.8Us-5,-1.8Ur-6],[.8Uq,-8.8Up-4,-4.8Uo-5,-9.8Un-7],[.99,-.8Um,-5.8Ul-5,3.8Uk-6],[.8Uj,-.8Ui,-4.8Uh-6,-5.8Ug-6],[.973,-.8Uf,-9.8Ue-5,1.8Ud-8],[.96,-.8Uc,-9.8Ub-5,1.8Ua-6],[.8U9,-.8U8,-6.8U7-5,-2.8U6-6],[.5Zm,-.8U5,-1.8U4-4,4.8U3-6],[.8U2,-.8U1,-3.8U0-5,-5.8TZ-6],[.6iH,-.8TY,-1.8TX-4,3.8TW-6],[.835,-.8TV,-6.8TU-5,9.8TT-7],[.8TS,-.8TR,-5.8TQ-5,9.8TP-7],[.8TO,-.8TN,-3.8TM-5,-2.8TL-6],[.8TK,-.8TJ,-7.8TI-5,-8.8TH-6],[.8TG,-.8TF,-1.8TE-4,1.8TD-5],[.8TC,-.8TB,8.8TA-5,6.4WK-6],[.8Tz,-.8Ty,1.82E-4,6.4WK-6],[.8Tx,-.8Tw,2.8Tv-4,6.4WK-6]],JE=[[-5.8Tu-18,.4WJ,1.8Tt-18,-8.8Ts-11],[.2I8,.4WJ,-1.8Tr-9,4.8Tq-10],[.124,.4WJ,5.8Tp-9,-1.8To-9],[.186,.8Tn,-1.8Tm-8,6.8Tl-9],[.248,.8Tk,7.8Tj-8,-2.24E-8],[.31,.8Ti,-2.8Th-7,8.8Tg-8],[.372,.8Tf,9.8Te-7,-3.8Td-7],[.434,.8Tc,-3.8Tb-6,-4.8Ta-7],[.8T9,.8T8,-1.8T7-5,-3.8T6-7],[.8T5,.8T4,-1.8T3-5,-5.8T2-7],[.8T1,.8T0,-2.8SZ-5,-5.8SY-7],[.8SX,.8SW,-3.8SV-5,-5.8SU-7],[.8ST,.8SS,-3.8SR-5,-6.8SQ-7],[.8SP,.8SO,-4.8SN-5,-1.8SM-6],[.8SL,.8SK,-6.8SJ-5,-1.8SI-9],[.8SH,.8SG,-6.8SF-5,-8.8SE-6],[.8SD,.8SC,-1.8SB-4,-4.4WI-6],[.8SA,.8Sz,-2.56E-4,-4.4WI-6],[1,.8Sy,-3.8Sx-4,-4.4WI-6]],NL=1b(a,b){1f a[0]+b*(a[1]+b*(a[2]+b*a[3]))},6nd={11K:1b(){1a.x0=1a.x0||0;1a.y0=1a.y0||0;1a.10A=1a.10A||0;1a.es=0;1a.17s=1a.17s||"6nD"},1et:1b(a){1d b=Bb(a.x-1a.10A),c=1k.abs(a.y),d=1k.2t(11.8Sw*c);0>d?d=0:18<=d&&(d=17);c=57.1Xq*(c-.8Sv*d);b={x:NL(qW[d],c)*b,y:NL(JE[d],c)};0>a.y&&(b.y=-b.y);b.x=b.x*1a.a*.6nG+1a.x0;b.y=b.y*1a.a*1.6nF+1a.y0;1f b},12Z:1b(a){1d b={x:(a.x-1a.x0)/(.6nG*1a.a),y:1k.abs(a.y-1a.y0)/(1.6nF*1a.a)};if(1<=b.y)b.x/=qW[18][0],b.y=0>a.y?-pb:pb;1s{1d c=1k.2t(18*b.y);1j(0>c?c=0:18<=c&&(c=17);;)if(JE[c][0]>b.y)--c;1s if(JE[c+1][0]<=b.y)++c;1s 1W;1d d=JE[c],e=5*(b.y-d[0])/(JE[c+1][0]-d[0]);e=6nE(1b(a){1f(NL(d,a)-b.y)/(d[1]+a*(2*d[2]+3*a*d[3]))},e,1E-10,100);b.x/=NL(qW[c],e);b.y=.1qa*(5*c+e);0>a.y&&(b.y=-b.y)}b.x=Bb(b.x+1a.10A);1f b},1c3:["6nD","8Su"]},6nc={11K:1b(){1a.2i="3ct"},1et:1b(a){1f X0(a,1a.es,1a.a)},12Z:1b(a){1f Y0(a,1a.es,1a.a,1a.b)},1c3:["8St","8Ss","3ct","8Sr"]};uj.8Sq="9y";uj.1mC=Wn;uj.9y=1g uj.1mC("9y");uj.18H=Hx;uj.4WH=$0;uj.4lg=Ei;uj.5o=YG;uj.8Sp=6nC;uj.9G="2.6.1";(1b(a){a.1mC.1lJ.add(6nB);a.1mC.1lJ.add(LL);a.1mC.1lJ.add(6nA);a.1mC.1lJ.add(6nz);a.1mC.1lJ.add(6ny);a.1mC.1lJ.add(6nx);a.1mC.1lJ.add(6nw);a.1mC.1lJ.add(6nv);a.1mC.1lJ.add(6nu);a.1mC.1lJ.add(6nt);a.1mC.1lJ.add(6ns);a.1mC.1lJ.add(6nr);a.1mC.1lJ.add(6nq);a.1mC.1lJ.add(6np);a.1mC.1lJ.add(6no);a.1mC.1lJ.add(6nn);a.1mC.1lJ.add(6nm);a.1mC.1lJ.add(6nl);a.1mC.1lJ.add(6nk);a.1mC.1lJ.add(6nj);a.1mC.1lJ.add(6ni);a.1mC.1lJ.add(6nh);a.1mC.1lJ.add(6ng);a.1mC.1lJ.add(6nf);a.1mC.1lJ.add(6ne);a.1mC.1lJ.add(6nd);a.1mC.1lJ.add(6nc)})(uj);1L.2X($G.1i,{18T:{1n:1b(){1f 1a.16y}}});$G.1i.12z=1b(a,b){1d c=uj(1a.16y,[B.10Q(a.3N),B.10Q(a.4k)]);if(!g(b))1f 1g k(c[0],c[1],a.1D);b.x=c[0];b.y=c[1];b.z=a.1D;1f b};$G.1i.1cZ=1b(a,b){if(!g(a))1t 1g r("16L is 1X");1d c=uj(1a.16y).12Z([a.x,a.y]);a=B.8I(c[0]);c=B.8I(c[1]);if(!g(b))1f 1g T(a,c);b.3N=a;b.4k=c;1f b};1d rW={1RC:1b(a,b,c,d,e){a*=.5;1d f=-a,h=d+d,l=1g 13X(3*(e?2*h:h)),g=0,k=0,z=e?3*h:0,w=e?3*(h+d):3*d;1j(h=0;h<d;h++){1d m=h/d*B.14C,D=1k.3i(m),t=1k.2T(m);m=D*c;1d r=t*c;D*=b;t*=b;l[k+z]=m;l[k+z+1]=r;l[k+z+2]=f;l[k+w]=D;l[k+w+1]=t;l[k+w+2]=a;k+=3;e&&(l[g++]=m,l[g++]=r,l[g++]=f,l[g++]=D,l[g++]=t,l[g++]=a)}1f l}},sW=1g C,En=1g k,6na=1g k,6nb=1g k,6n9=1g k;vj.4q=za.4q+5;vj.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);za.5n(a.14s,b,c);c+=za.4q;b[c++]=a.1bC;b[c++]=a.2rs;b[c++]=a.2rr;b[c++]=a.2rq;b[c]=m(a.12j,-1);1f b};1d 4WG=1g za,oA={9S:4WG,1h:1p 0,1i1:1p 0,1fd:1p 0,1ue:1p 0,8J:1p 0};vj.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d=za.5f(a,b,4WG);b+=za.4q;1d e=a[b++],f=a[b++],h=a[b++],l=a[b++];a=a[b];if(!g(c))1f oA.1h=e,oA.1i1=f,oA.1fd=h,oA.1ue=l,oA.8J=-1===a?1p 0:a,1g vj(oA);c.14s=za.1y(d,c.14s);c.1bC=e;c.2rs=f;c.2rr=h;c.2rq=l;c.12j=-1===a?1p 0:a;1f c};vj.14t=1b(a){1d b=a.1bC,c=a.2rs,d=a.2rr,e=a.14s,f=a.2rq;if(!(0>=b||0>c||0>d||0===c&&0===d)){1d h=f+f,l=f+h,p=h+h,n=rW.1RC(b,c,d,f,!0),z=e.st?1g 4A(2*p):1p 0,w=e.2U?1g 4A(3*p):1p 0,m=e.8Q?1g 4A(3*p):1p 0,D=e.8T?1g 4A(3*p):1p 0,t=e.2U||e.8Q||e.8T;if(t){1d r=e.8Q||e.8T,q=0,u=0,v=0;1d y=1k.12B(d-c,b);En.z=1k.2T(y);1d A=1k.3i(y),lb=6nb,K=6na;1j(y=0;y<f;y++){1d Fa=y/f*B.14C,L=A*1k.3i(Fa);Fa=A*1k.2T(Fa);t&&(En.x=L,En.y=Fa,r&&(lb=k.1T(k.4B(k.16a,En,lb),lb)),e.2U&&(w[q++]=En.x,w[q++]=En.y,w[q++]=En.z,w[q++]=En.x,w[q++]=En.y,w[q++]=En.z),e.8Q&&(m[u++]=lb.x,m[u++]=lb.y,m[u++]=lb.z,m[u++]=lb.x,m[u++]=lb.y,m[u++]=lb.z),e.8T&&(K=k.1T(k.4B(En,lb,K),K),D[v++]=K.x,D[v++]=K.y,D[v++]=K.z,D[v++]=K.x,D[v++]=K.y,D[v++]=K.z))}1j(y=0;y<f;y++)e.2U&&(w[q++]=0,w[q++]=0,w[q++]=-1),e.8Q&&(m[u++]=1,m[u++]=0,m[u++]=0),e.8T&&(D[v++]=0,D[v++]=-1,D[v++]=0);1j(y=0;y<f;y++)e.2U&&(w[q++]=0,w[q++]=0,w[q++]=1),e.8Q&&(m[u++]=1,m[u++]=0,m[u++]=0),e.8T&&(D[v++]=0,D[v++]=1,D[v++]=0)}t=Ta.9g(p,12*f-12);1j(y=q=r=0;y<f-1;y++)t[r++]=q,t[r++]=q+2,t[r++]=q+3,t[r++]=q,t[r++]=q+3,t[r++]=q+1,q+=2;t[r++]=h-2;t[r++]=0;t[r++]=1;t[r++]=h-2;t[r++]=1;t[r++]=h-1;1j(y=1;y<f-1;y++)t[r++]=h+y+1,t[r++]=h+y,t[r++]=h;1j(y=1;y<f-1;y++)t[r++]=l,t[r++]=l+y,t[r++]=l+y+1;f=0;if(e.st)1j(h=1k.1V(c,d),y=0;y<p;y++)l=k.7j(n,3*y,6n9),z[f++]=(l.x+h)/(2*h),z[f++]=(l.y+h)/(2*h);p=1g ce;e.1K&&(p.1K=1g Pa({3k:I.18l,2Z:3,2a:n}));e.2U&&(p.2U=1g Pa({3k:I.3O,2Z:3,2a:w}));e.8Q&&(p.8Q=1g Pa({3k:I.3O,2Z:3,2a:m}));e.8T&&(p.8T=1g Pa({3k:I.3O,2Z:3,2a:D}));e.st&&(p.st=1g Pa({3k:I.3O,2Z:2,2a:z}));sW.x=.5*b;sW.y=1k.1V(d,c);c=1g P(k.6h,C.7t(sW));g(a.12j)&&(b=n.1h,b=1g 4L(b/3),Ic(b,a.12j===ac.6i?0:1),p.1i2=1g Pa({3k:I.7U,2Z:1,2a:b}));1f 1g Pb({2w:p,4N:t,6Z:Ja.11G,7u:c,8J:a.12j})}};1d tW;vj.8So=1b(){g(tW)||(tW=vj.14t(1g vj({1i1:1,1fd:1,1h:1,9S:za.1Gd})));1f tW};1d uW=1g C;Fu.4q=6;Fu.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a.1bC;b[c++]=a.2rs;b[c++]=a.2rr;b[c++]=a.2rq;b[c++]=a.2af;b[c]=m(a.12j,-1);1f b};1d xw={1h:1p 0,1i1:1p 0,1fd:1p 0,1ue:1p 0,1ej:1p 0,8J:1p 0};Fu.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=a[b++],e=a[b++],f=a[b++],h=a[b++],l=a[b++];a=a[b];if(!g(c))1f xw.1h=d,xw.1i1=e,xw.1fd=f,xw.1ue=h,xw.1ej=l,xw.8J=-1===a?1p 0:a,1g Fu(xw);c.1bC=d;c.2rs=e;c.2rr=f;c.2rq=h;c.2af=l;c.12j=-1===a?1p 0:a;1f c};Fu.14t=1b(a){1d b=a.1bC,c=a.2rs,d=a.2rr,e=a.2rq,f=a.2af;if(!(0>=b||0>c||0>d||0===c&&0===d)){1d h=2*e,l=rW.1RC(b,c,d,e,!1),p=2*e;if(0<f){1d n=1k.2o(f,e);1d z=1k.9p(e/n);p+=n}h=Ta.9g(h,2*p);1j(n=p=0;n<e-1;n++)h[p++]=n,h[p++]=n+1,h[p++]=n+e,h[p++]=n+1+e;h[p++]=e-1;h[p++]=0;h[p++]=e+e-1;h[p++]=e;if(0<f)1j(n=0;n<e;n+=z)h[p++]=n,h[p++]=n+e;e=1g ce;e.1K=1g Pa({3k:I.18l,2Z:3,2a:l});uW.x=.5*b;uW.y=1k.1V(d,c);c=1g P(k.6h,C.7t(uW));g(a.12j)&&(b=l.1h,b=1g 4L(b/3),Ic(b,a.12j===ac.6i?0:1),e.1i2=1g Pa({3k:I.7U,2Z:1,2a:b}));1f 1g Pb({2w:e,4N:h,6Z:Ja.1ao,7u:c,8J:a.12j})}};aH.6n8=!1;h1.1i.3z4=1b(a){1d b=-1===1a.1aQ.3f("?")?"?":"";1f 1a.1aQ+b+1Gh(a)};1L.2X(ob.1i,{3I:{1n:1b(){1f 1a.1A3},1C:1b(a){1a.1A3=a}},3W:{1n:1b(){1f 1a.1A2},1C:1b(a){1a.1A2=a}}});ob.4q=2;ob.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);b[c++]=a.3I;b[c]=a.3W;1f b};ob.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);g(c)||(c=1g ob);c.3I=a[b++];c.3W=a[b];1f c};ob.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.3I===b.3I&&a.3W===b.3W};ob.1y=1b(a,b){if(g(a))1f g(b)||(b=1g ob),b.3I=a.3I,b.3W=a.3W,b};ob.1i.1y=1b(a){1f ob.1y(1a,a)};ob.1i.2L=1b(a){1f ob.2L(1a,a)};1L.2X(Qd.1i,{3k:{1n:1b(){1f I.3O}},2Z:{1n:1b(){1f 2}},1T:{1n:1b(){1f!1}}});Qd.1vQ=1b(a){if(!g(a))1t 1g r("4S is 1X.");if(a.3W<=a.3I)1t 1g r("4S.3W 3s 2Q be 9U 6L 4S.3I 3s.");1f 1g Qd(a.3I,a.3W)};Qd.1an=1b(a,b){if(!g(a))1t 1g r("4S is 1X.");if(!g(b))1f 1g 4A([a.3I,a.3W]);b[0]=a.3I;b[1]=a.3W;1f b};1L.2X(Xn.1i,{1h:{1n:1b(){1f 1a.1bC}}});Xn.1i.add=1b(a){a=1g i1(a,1a.1fD,1p 0);g(1a.1fD)?1a.1fD.6k=a:1a.13r=a;1a.1fD=a;++1a.1bC;1f a};Xn.1i.5IE=1b(a){a=1g i1(a,1p 0,1a.13r);g(1a.13r)?1a.13r=1a.13r.18d=a:1a.1fD=1a.13r=a;++1a.1bC;1f a};Xn.1i.3S=1b(a){g(a)&&($O(1a,a),--1a.1bC)};Xn.1i.6z=1b(a,b){if(a!==b){$O(1a,b);1d c=a.6k;a.6k=b;1a.1fD===a?1a.1fD=b:c.18d=b;b.6k=c;b.18d=a}};Xn.1i.5IF=1b(a,b){if(a!==b){$O(1a,b);1d c=a.18d;a.18d=b;1a.13r===a?1a.13r=b:c.6k=b;b.6k=a;b.18d=c}};1d Zj=1L.3F({8Sn:1,8Sm:2,2QW:3,8Sl:4,1QH:5,8Sk:6,8Sj:7,1fB:10,3t8:11,8Si:12,8Sh:13,8Sg:14,2sV:25,9m:28,8Sf:17,8Se:18,8Sd:19,8Sc:20,8Sb:21,4CK:26});k1.1AM=1b(a,b,c,d,e){if(1F!=a&&1F!=d&&0!=c&&0!=b)if(e=e>Zj.3t8||e===Zj.1QH?4:33,e&1&&e&32){e=1g 10Y(4);1j(1d f,h,l,g,k,z,w=b/4,m=c/4,D=0;D<m;D++)1j(1d t=0;t<w;t++)c=4*((m-D)*w+t),e[0]=d[c],e[1]=d[c+1],f=e[0]&31,h=e[0]&2gT,l=e[0]&2pw,g=e[1]&31,k=e[1]&2gT,z=e[1]&2pw,e[2]=5*f+3*g>>3|5*h+3*k>>3&2gT|5*l+3*z>>3&2pw,e[3]=5*g+3*f>>3|5*k+3*h>>3&2gT|5*z+3*l>>3&2pw,f=d[c+2],h=4*D*b+4*t,a[h]=e[f&3],a[h+1]=e[f>>2&3],a[h+2]=e[f>>4&3],a[h+3]=e[f>>6&3],h+=b,a[h]=e[f>>8&3],a[h+1]=e[f>>10&3],a[h+2]=e[f>>12&3],a[h+3]=e[f>>14],f=d[c+3],h+=b,a[h]=e[f&3],a[h+1]=e[f>>2&3],a[h+2]=e[f>>4&3],a[h+3]=e[f>>6&3],h+=b,a[h]=e[f>>8&3],a[h+1]=e[f>>10&3],a[h+2]=e[f>>12&3],a[h+3]=e[f>>14]}1s 1j(w=0!=(e&1)?8:16,D=m=0;D<c;D+=4)1j(t=0;t<b;t+=4){g=f=1g 4L(64);l=d;h=m;k=e;1d r=0;0!=(k&6)&&(r=8);z=g;1d q=l,u=h+r,v=0!=(k&1);r=1g 4L(16);1j(1d y=j1(q[u+0],q[u+1],r,0),A=j1(q[u+2],q[u+3],r,4),B=0;3>B;B++){1d C=r[B],Fa=r[4+B];v&&y<=A?(r[8+B]=(C+Fa)/2,r[12+B]=0):(r[8+B]=(2*C+Fa)/3,r[12+B]=(C+2*Fa)/3)}r[11]=255;r[15]=v&&y<=A?0:255;v=1g 4L(16);1j(B=0;4>B;++B)y=q[u+4+B],v[4*B]=y&3,v[4*B+1]=y>>2&3,v[4*B+2]=y>>4&3,v[4*B+3]=y>>6&3;1j(B=0;16>B;++B)1j(q=4*v[B],u=0;4>u;++u)z[4*B+u]=r[q+u];if(0!=(k&2))1j(l=g,g=0;8>g;++g)z=1tC[h+g],k=z&15,z&=240,l[8*g+3]=k|k<<4,l[8*g+7]=z|z>>4;1s if(0!=(k&4)){r=l[h+0];B=l[h+1];k=1g 4L(8);k[0]=r;k[1]=B;if(r<=B){1j(z=1;5>z;++z)k[1+z]=((5-z)*r+z*B)/5;k[6]=0;k[7]=255}1s 1j(z=1;7>z;++z)k[1+z]=((7-z)*r+z*B)/7;r=1g 4L(16);h+=2;1j(z=B=0;2>z;++z){1j(u=q=0;3>u;++u)v=l[h++],q|=v<<8*u;1j(u=0;8>u;++u)v=q>>3*u&7,r[B++]=v}1j(z=0;16>z;++z)g[4*z+3]=k[r[z]]}1j(l=h=0;4>l;++l)1j(g=0;4>g;++g)if(k=t+g,z=D+l,k<b&&z<c)1j(k=4*(b*(c-z)+k),z=0;4>z;++z)a[k++]=f[h++];1s h+=4;m+=w}};1p 0===16V.14H&&(16V.14H=1b(){1f(1g 16V).3mB()});1d Gc=Gc||1b(){1d a=[];1f{8Sa:"13",8S9:1b(){1f a},7f:1b(){a=[]},add:1b(b){a.1q(b)},3S:1b(b){b=a.3f(b);-1!==b&&a.6z(b,1)},2H:1b(b){if(0===a.1h)1f!1;1d c=0;1j(b=1p 0!==b?b:"7w"!==2h 7O&&1p 0!==7O.1bR&&1p 0!==7O.1bR.14H?7O.1bR.14H():16V.14H();c<a.1h;)a[c].2H(b)?c++:a.6z(c,1);1f!0}}}();Gc.4hV=1b(a){1d b={},c={},d={},e=1E3,f=0,h=!1,g=!1,p=0,k=1F,z=Gc.1hy.2pY.2nt,w=Gc.3cs.2pY,m=[],D=1F,t=!1,r=1F,q=1F,u=1F,v=0,y=0,A;1j(A in a)b[A]=7L(a[A],10);1a.to=1b(a,b){1p 0!==b&&(e=b);c=a;1f 1a};1a.4I=1b(e){Gc.add(1a);g=!0;t=!1;k=1p 0!==e?e:"7w"!==2h 7O&&1p 0!==7O.1bR&&1p 0!==7O.1bR.14H?7O.1bR.14H():16V.14H();k+=p;1j(1d f in c){if(c[f]2m 2K){if(0===c[f].1h)1aJ;c[f]=[a[f]].9V(c[f])}b[f]=a[f];!1===b[f]2m 2K&&(b[f]*=1);d[f]=b[f]||0}1f 1a};1a.4U=1b(){if(!g)1f 1a;Gc.3S(1a);g=!1;1F!==u&&u.4G(a);1a.6n7();1f 1a};1a.1TN=1b(){if(!g)1f 1a;g=!1;v="7w"!==2h 7O&&1p 0!==7O.1bR&&1p 0!==7O.1bR.14H?7O.1bR.14H():16V.14H();1f 1a};1a.61l=1b(){if(g)1f 1a;g=!0;v=("7w"!==2h 7O&&1p 0!==7O.1bR&&1p 0!==7O.1bR.14H?7O.1bR.14H():16V.14H())-v;y+=v;1f 1a};1a.6n7=1b(){1j(1d a=0,b=m.1h;a<b;a++)m[a].4U()};1a.1Jr=1b(a){p=a;1f 1a};1a.12G=1b(a){f=a;1f 1a};1a.8S8=1b(a){h=a;1f 1a};1a.5w3=1b(a){z=a;1f 1a};1a.1w3=1b(a){w=a;1f 1a};1a.6n6=1b(){m=5m;1f 1a};1a.8S7=1b(a){D=a;1f 1a};1a.5w2=1b(a){r=a;1f 1a};1a.5w1=1b(a){q=a;1f 1a};1a.2hD=1b(a){u=a;1f 1a};1a.2H=1b(l){if(l<k||!g)1f!0;!1===t&&(1F!==D&&D.4G(a),t=!0);1d n=(l-k-y)/e;n=1<n?1:n;1d x=z(n);1j(v in c){1d G=b[v]||0,u=c[v];u 2m 2K?a[v]=w(u,x):("4n"===2h u&&(u=G+7L(u,10)),"2b"===2h u&&(a[v]=G+(u-G)*x))}1F!==r&&r.4G(a,x);if(1==n)if(y=0,0<f){1AJ(f)&&f--;1j(v in d)"4n"===2h c[v]&&(d[v]+=7L(c[v],10)),h&&(n=d[v],d[v]=c[v],c[v]=n),b[v]=d[v];k=l+p}1s{1F!==q&&q.4G(a);1d v=0;1j(n=m.1h;v<n;v++)m[v].4I(l);1f!1}1f!0}};Gc.1hy={2pY:{2nt:1b(a){1f a}},4ag:{In:1b(a){1f a*a},1u1:1b(a){1f a*(2-a)},1A4:1b(a){1f 1>(a*=2)?.5*a*a:-.5*(--a*(a-2)-1)}},3uK:{In:1b(a){1f a*a*a},1u1:1b(a){1f--a*a*a+1},1A4:1b(a){1f 1>(a*=2)?.5*a*a*a:.5*((a-=2)*a*a+2)}},4af:{In:1b(a){1f a*a*a*a},1u1:1b(a){1f 1- --a*a*a*a},1A4:1b(a){1f 1>(a*=2)?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)}},4ae:{In:1b(a){1f a*a*a*a*a},1u1:1b(a){1f--a*a*a*a*a+1},1A4:1b(a){1f 1>(a*=2)?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)}},3zE:{In:1b(a){1f 1-1k.3i(a*1k.PI/2)},1u1:1b(a){1f 1k.2T(a*1k.PI/2)},1A4:1b(a){1f.5*(1-1k.3i(1k.PI*a))}},3uL:{In:1b(a){1f 0===a?0:1k.3r(13j,a-1)},1u1:1b(a){1f 1===a?1:1-1k.3r(2,-10*a)},1A4:1b(a){1f 0===a?0:1===a?1:1>(a*=2)?.5*1k.3r(13j,a-1):.5*(-1k.3r(2,-10*(a-1))+2)}},3cr:{In:1b(a){1f 1-1k.3Y(1-a*a)},1u1:1b(a){1f 1k.3Y(1- --a*a)},1A4:1b(a){1f 1>(a*=2)?-.5*(1k.3Y(1-a*a)-1):.5*(1k.3Y(1-(a-=2)*a)+1)}},4ad:{In:1b(a){1d b=.1;if(0===a)1f 0;if(1===a)1f 1;if(!b||1>b){b=1;1d c=.1}1s c=.4*1k.17M(1/b)/(2*1k.PI);1f-(b*1k.3r(2,10*--a)*1k.2T(2*(a-c)*1k.PI/.4))},1u1:1b(a){1d b=.1;if(0===a)1f 0;if(1===a)1f 1;if(!b||1>b){b=1;1d c=.1}1s c=.4*1k.17M(1/b)/(2*1k.PI);1f b*1k.3r(2,-10*a)*1k.2T(2*(a-c)*1k.PI/.4)+1},1A4:1b(a){1d b=.1;if(0===a)1f 0;if(1===a)1f 1;if(!b||1>b){b=1;1d c=.1}1s c=.4*1k.17M(1/b)/(2*1k.PI);1f 1>(a*=2)?-.5*b*1k.3r(2,10*--a)*1k.2T(2*(a-c)*1k.PI/.4):b*1k.3r(2,-10*--a)*1k.2T(2*(a-c)*1k.PI/.4)*.5+1}},3qB:{In:1b(a){1f a*a*(2.4ai*a-1.4ai)},1u1:1b(a){1f--a*a*(2.4ai*a+1.4ai)+1},1A4:1b(a){1f 1>(a*=2)?.5*a*a*(3.4ah*a-2.4ah):.5*((a-=2)*a*(3.4ah*a+2.4ah)+2)}},2R9:{In:1b(a){1f 1-Gc.1hy.2R9.1u1(1-a)},1u1:1b(a){1f a<1/2.75?7.2ad*a*a:a<2/2.75?7.2ad*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.2ad*(a-=2.25/2.75)*a+.2ae:7.2ad*(a-=2.625/2.75)*a+.8S6},1A4:1b(a){1f.5>a?.5*Gc.1hy.2R9.In(2*a):.5*Gc.1hy.2R9.1u1(2*a-1)+.5}}};Gc.3cs={2pY:1b(a,b){1d c=a.1h-1,d=c*b,e=1k.2t(d),f=Gc.3cs.3zF.2pY;1f 0>b?f(a[0],a[1],d):1<b?f(a[c],a[c-1],c-d):f(a[e],a[e+1>c?c:e+1],d-e)},8S5:1b(a,b){1d c=0,d=a.1h-1,e=1k.3r,f=Gc.3cs.3zF.6n5,h;1j(h=0;h<=d;h++)c+=e(1-b,d-h)*e(b,h)*a[h]*f(d,h);1f c},4WF:1b(a,b){1d c=a.1h-1,d=c*b,e=1k.2t(d),f=Gc.3cs.3zF.4WF;1f a[0]===a[c]?(0>b&&(e=1k.2t(d=c*(1+b))),f(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):0>b?a[0]-(f(a[0],a[0],a[1],a[1],-d)-a[0]):1<b?a[c]-(f(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):f(a[e?e-1:0],a[e],a[c<e+1?c:e+1],a[c<e+2?c:e+2],d-e)},3zF:{2pY:1b(a,b,c){1f(b-a)*c+a},6n5:1b(a,b){1d c=Gc.3cs.3zF.6n4;1f c(a)/c(b)/c(a-b)},6n4:1b(){1d a=[1];1f 1b(b){1d c=1,d;if(a[b])1f a[b];1j(d=b;1<d;d--)c*=d;1f a[b]=c}}(),4WF:1b(a,b,c,d,e){a=.5*(c-a);d=.5*(d-b);1d f=e*e;1f(2*b-2*c+a+d)*e*f+(-3*b+3*c-2*a-d)*f+a*e+b}}};1d jh=1L.3F({3Qz:Gc.1hy.2pY.2nt,8S4:Gc.1hy.4ag.In,8S3:Gc.1hy.4ag.1u1,8S2:Gc.1hy.4ag.1A4,8S1:Gc.1hy.3uK.In,5FI:Gc.1hy.3uK.1u1,8S0:Gc.1hy.3uK.1A4,8RZ:Gc.1hy.4af.In,2EE:Gc.1hy.4af.1u1,8RY:Gc.1hy.4af.1A4,8RX:Gc.1hy.4ae.In,8RW:Gc.1hy.4ae.1u1,5FH:Gc.1hy.4ae.1A4,8RV:Gc.1hy.3zE.In,8RU:Gc.1hy.3zE.1u1,8RT:Gc.1hy.3zE.1A4,8RS:Gc.1hy.3uL.In,304:Gc.1hy.3uL.1u1,8RR:Gc.1hy.3uL.1A4,8RQ:Gc.1hy.3cr.In,8RP:Gc.1hy.3cr.1u1,8RO:Gc.1hy.3cr.1A4,8RN:Gc.1hy.4ad.In,8RM:Gc.1hy.4ad.1u1,8RL:Gc.1hy.4ad.1A4,8RK:Gc.1hy.3qB.In,8RJ:Gc.1hy.3qB.1u1,8RI:Gc.1hy.3qB.1A4,8RH:Gc.1hy.2R9.In,8RG:Gc.1hy.2R9.1u1,8RF:Gc.1hy.2R9.1A4}),6n2=1g k,6n1=1g k,6n0=1g k,6mZ=1g k,$Ja=1g k,6n3=1g k(1,1,1),4WB=1k.3i,4WA=1k.2T;$e.4q=2*k.4q+za.4q+7;$e.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);k.5n(a.1jQ,b,c);c+=k.4q;k.5n(a.2ac,b,c);c+=k.4q;za.5n(a.14s,b,c);c+=za.4q;b[c++]=a.2rp;b[c++]=a.2ro;b[c++]=a.2rn;b[c++]=a.2rm;b[c++]=a.2a7;b[c++]=a.2a6;b[c]=m(a.12j,-1);1f b};1d 4WE=1g k,4WD=1g k,4WC=1g za,xt={10N:4WE,1sR:4WD,9S:4WC,1vW:1p 0,1vV:1p 0,1vU:1p 0,1vT:1p 0,1im:1p 0,1in:1p 0,8J:1p 0};$e.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d=k.5f(a,b,4WE);b+=k.4q;1d e=k.5f(a,b,4WD);b+=k.4q;1d f=za.5f(a,b,4WC);b+=za.4q;1d h=a[b++],l=a[b++],p=a[b++],n=a[b++],z=a[b++],w=a[b++];a=a[b];if(!g(c))1f xt.1vW=h,xt.1vV=l,xt.1vU=p,xt.1vT=n,xt.1im=z,xt.1in=w,xt.8J=-1===a?1p 0:a,1g $e(xt);c.1jQ=k.1y(d,c.1jQ);c.2ac=k.1y(e,c.2ac);c.14s=za.1y(f,c.14s);c.2rp=h;c.2ro=l;c.2rn=p;c.2rm=n;c.2a7=z;c.2a6=w;c.12j=-1===a?1p 0:a;1f c};$e.14t=1b(a){1d b=a.1jQ;if(!(0>=b.x||0>=b.y||0>=b.z)){1d c=a.2ac;if(!(0>=c.x||0>=c.y||0>=c.z)){1d d=a.2rp,e=a.2ro,f=a.2rn,h=a.2rm,l=a.14s,p=a.2a6+1,n=a.2a7+1;p=1k.9p(p*1k.abs(e-d)/B.14C);n=1k.9p(n*1k.abs(h-f)/B.PI);2>p&&(p=2);2>n&&(n=2);1d z,w,m=0,D=[f],t=[d];1j(z=0;z<n;z++)D.1q(f+z*(h-f)/(n-1));D.1q(h);1j(w=0;w<p;w++)t.1q(d+w*(e-d)/(p-1));t.1q(e);1d r=D.1h,q=t.1h;z=0;1d u=1,v=c.x!==b.x||c.y!==b.y||c.z!==b.z,y=!1,A=!1,lb=!1;v&&(u=2,0<f&&(y=!0,z+=p-1),h<1k.PI&&(A=!0,z+=p-1),(e-d)%B.14C?(lb=!0,z+=2*(n-1)+1):z+=1);d=q*r*u;e=1g 13X(3*d);f=Ic(2K(d),!1);h=Ic(2K(d),!1);1d K=p*n*u;p=Ta.9g(K,6*(K+z+1-(p+n)*u));n=l.2U?1g 4A(3*d):1p 0;K=l.8Q?1g 4A(3*d):1p 0;1d Fa=l.8T?1g 4A(3*d):1p 0,L=l.st?1g 4A(2*d):1p 0,S=2K(r),U=2K(r);1j(z=0;z<r;z++)S[z]=4WA(D[z]),U[z]=4WB(D[z]);D=2K(q);1d R=2K(q);1j(w=0;w<q;w++)R[w]=4WB(t[w]),D[w]=4WA(t[w]);1j(z=0;z<r;z++)1j(w=0;w<q;w++)e[m++]=b.x*S[z]*R[w],e[m++]=b.y*S[z]*D[w],e[m++]=b.z*U[z];t=d/2;if(v)1j(z=0;z<r;z++)1j(w=0;w<q;w++)e[m++]=c.x*S[z]*R[w],e[m++]=c.y*S[z]*D[w],e[m++]=c.z*U[z],f[t]=!0,0<z&&z!==r-1&&0!==w&&w!==q-1&&(h[t]=!0),t++;m=0;1j(z=1;z<r-2;z++)1j(t=z*q,D=(z+1)*q,w=1;w<q-2;w++)p[m++]=D+w,p[m++]=D+w+1,p[m++]=t+w+1,p[m++]=D+w,p[m++]=t+w+1,p[m++]=t+w;if(v)1j(S=r*q,z=1;z<r-2;z++)1j(t=S+z*q,D=S+(z+1)*q,w=1;w<q-2;w++)p[m++]=D+w,p[m++]=t+w,p[m++]=t+w+1,p[m++]=D+w,p[m++]=t+w+1,p[m++]=D+w+1;if(v){if(y)1j(v=r*q,z=1;z<q-2;z++)p[m++]=z,p[m++]=z+1,p[m++]=v+z+1,p[m++]=z,p[m++]=v+z+1,p[m++]=v+z;if(A)1j(A=r*q-q,v=r*q*u-q,z=1;z<q-2;z++)p[m++]=A+z+1,p[m++]=A+z,p[m++]=v+z,p[m++]=A+z+1,p[m++]=v+z,p[m++]=v+z+1}if(lb){1j(z=1;z<r-2;z++)v=q*r+q*z,A=q*z,p[m++]=v,p[m++]=A+q,p[m++]=A,p[m++]=v,p[m++]=v+q,p[m++]=A+q;1j(z=1;z<r-2;z++)v=q*r+q*(z+1)-1,A=q*(z+1)-1,p[m++]=A+q,p[m++]=v,p[m++]=A,p[m++]=A+q,p[m++]=v+q,p[m++]=v}m=1g ce;l.1K&&(m.1K=1g Pa({3k:I.18l,2Z:3,2a:e}));A=lb=u=r=0;v=d/2;b=ba.1mg(b);c=ba.1mg(c);if(l.st||l.2U||l.8Q||l.8T){1j(z=0;z<d;z++)if(w=f[z]?c:b,t=k.7j(e,3*z,6n2),w=w.17N(t,6n1),h[z]&&k.11k(w,w),l.st&&(t=C.11k(w,$Ja),L[r++]=1k.12B(t.y,t.x)/B.14C+.5,L[r++]=1k.17M(w.z)/1k.PI+.5),l.2U&&(n[u++]=w.x,n[u++]=w.y,n[u++]=w.z),l.8Q||l.8T)t=6n0,D=0,f[z]&&(D=v),k.4B(!y&&z>=D&&z<D+2*q?k.1dl:k.16a,w,t),k.1T(t,t),l.8Q&&(K[lb++]=t.x,K[lb++]=t.y,K[lb++]=t.z),l.8T&&(w=k.4B(w,t,6mZ),k.1T(w,w),Fa[A++]=w.x,Fa[A++]=w.y,Fa[A++]=w.z);l.st&&(m.st=1g Pa({3k:I.3O,2Z:2,2a:L}));l.2U&&(m.2U=1g Pa({3k:I.3O,2Z:3,2a:n}));l.8Q&&(m.8Q=1g Pa({3k:I.3O,2Z:3,2a:K}));l.8T&&(m.8T=1g Pa({3k:I.3O,2Z:3,2a:Fa}))}g(a.12j)&&(l=1g 4L(e.1h/3),Ic(l,a.12j===ac.6i?0:1),m.1i2=1g Pa({3k:I.7U,2Z:1,2a:l}));1f 1g Pb({2w:m,4N:p,6Z:Ja.11G,7u:P.4Wx(b),8J:a.12j})}}};1d vW;$e.8RE=1b(){g(vW)||(vW=$e.14t(1g $e({10N:1g k(1,1,1),9S:za.1Gd})));1f vW};1d 6mY=1g k(1,1,1),OL=1k.3i,PL=1k.2T;wj.4q=2*k.4q+8;wj.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);k.5n(a.1jQ,b,c);c+=k.4q;k.5n(a.2ac,b,c);c+=k.4q;b[c++]=a.2rp;b[c++]=a.2ro;b[c++]=a.2rn;b[c++]=a.2rm;b[c++]=a.2a7;b[c++]=a.2a6;b[c++]=a.3bX;b[c]=m(a.12j,-1);1f b};1d 4Wz=1g k,4Wy=1g k,Yq={10N:4Wz,1sR:4Wy,1vW:1p 0,1vV:1p 0,1vU:1p 0,1vT:1p 0,1im:1p 0,1in:1p 0,1sS:1p 0,8J:1p 0};wj.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d=k.5f(a,b,4Wz);b+=k.4q;1d e=k.5f(a,b,4Wy);b+=k.4q;1d f=a[b++],h=a[b++],l=a[b++],p=a[b++],n=a[b++],z=a[b++],w=a[b++];a=a[b];if(!g(c))1f Yq.1vW=f,Yq.1vV=h,Yq.1vU=l,Yq.1vT=p,Yq.1im=n,Yq.1in=z,Yq.1sS=w,Yq.8J=-1===a?1p 0:a,1g wj(Yq);c.1jQ=k.1y(d,c.1jQ);c.2ac=k.1y(e,c.2ac);c.2rp=f;c.2ro=h;c.2rn=l;c.2rm=p;c.2a7=n;c.2a6=z;c.3bX=w;c.12j=-1===a?1p 0:a;1f c};wj.14t=1b(a){1d b=a.1jQ;if(!(0>=b.x||0>=b.y||0>=b.z)){1d c=a.2ac;if(!(0>=c.x||0>=c.y||0>=c.z)){1d d=a.2rp,e=a.2ro,f=a.2rn,h=a.2rm,l=a.3bX,p=ba.1mg(b),k=a.2a6+1,z=a.2a7+1;k=1k.9p(k*1k.abs(e-d)/B.14C);z=1k.9p(z*1k.abs(h-f)/B.PI);2>k&&(k=2);2>z&&(z=2);1d w=0,m=1,D=c.x!==b.x||c.y!==b.y||c.z!==b.z,t=!1,r=!1;D&&(m=2,0<f&&(t=!0,w+=k),h<1k.PI&&(r=!0,w+=k));1d q=l*m*(z+k),u=1g 13X(3*q);w=Ta.9g(q,2*(q+w-(k+z)*m));1d v=0,y=2K(z),A=2K(z);1j(q=0;q<z;q++){1d C=f+q*(h-f)/(z-1);y[q]=PL(C);A[q]=OL(C)}1d K=2K(l),Fa=2K(l);1j(q=0;q<l;q++)C=d+q*(e-d)/(l-1),K[q]=PL(C),Fa[q]=OL(C);1j(q=0;q<z;q++)1j(C=0;C<l;C++)u[v++]=b.x*y[q]*Fa[C],u[v++]=b.y*y[q]*K[C],u[v++]=b.z*A[q];if(D)1j(q=0;q<z;q++)1j(C=0;C<l;C++)u[v++]=c.x*y[q]*Fa[C],u[v++]=c.y*y[q]*K[C],u[v++]=c.z*A[q];y.1h=l;A.1h=l;1j(q=0;q<l;q++)C=f+q*(h-f)/(l-1),y[q]=PL(C),A[q]=OL(C);K.1h=k;Fa.1h=k;1j(q=0;q<k;q++)C=d+q*(e-d)/(k-1),K[q]=PL(C),Fa[q]=OL(C);1j(q=0;q<l;q++)1j(C=0;C<k;C++)u[v++]=b.x*y[q]*Fa[C],u[v++]=b.y*y[q]*K[C],u[v++]=b.z*A[q];if(D)1j(q=0;q<l;q++)1j(C=0;C<k;C++)u[v++]=c.x*y[q]*Fa[C],u[v++]=c.y*y[q]*K[C],u[v++]=c.z*A[q];1j(q=v=0;q<z*m;q++)1j(b=q*l,C=0;C<l-1;C++)w[v++]=b+C,w[v++]=b+C+1;b=z*l*m;1j(q=0;q<k;q++)1j(C=0;C<l-1;C++)w[v++]=b+q+C*k,w[v++]=b+q+(C+1)*k;if(D)1j(b=z*l*m+k*l,q=0;q<k;q++)1j(C=0;C<l-1;C++)w[v++]=b+q+C*k,w[v++]=b+q+(C+1)*k;if(D){z=z*l*m;m=z+l*k;if(t)1j(q=0;q<k;q++)w[v++]=z+q,w[v++]=m+q;if(r)1j(z+=l*k-k,m+=l*k-k,q=0;q<k;q++)w[v++]=z+q,w[v++]=m+q}l=1g ce({1K:1g Pa({3k:I.18l,2Z:3,2a:u})});g(a.12j)&&(u=1g 4L(u.1h/3),Ic(u,a.12j===ac.6i?0:1),l.1i2=1g Pa({3k:I.7U,2Z:1,2a:u}));1f 1g Pb({2w:l,4N:w,6Z:Ja.1ao,7u:P.4Wx(p),8J:a.12j})}}};1L.2X(yp.1i,{1cG:{1n:1b(){1f 1a.14P}},9L:{1n:1b(){}},8c:{1n:1b(){1f 1a.6C}},3o:{1n:1b(){1f!0}},9c:{1n:1b(){1f 1a.7S}},1z3:{1n:1b(){1f!1}},1lp:{1n:1b(){1f!1}},3c1:{1n:1b(){1f 1a.1Kw},1C:1b(a){a!==1a.1Kw&&(1a.2fB=!0);1a.1Kw=a}}});yp.1i.1Bf=1b(a,b,c,d){1f Z.5h(1g Ch({3J:1g 4L(256),1G:16,1D:16,3z3:1a.1Kw}))};yp.1i.1DR=1b(a){1f 1a.1RD/(1<<a)};yp.1i.2fl=1b(a,b,c){};yp.1i.2Eh=1b(a,b,c){};xj.1i.add=1b(a,b,c){if(!g(a))1t 1g r("2dG is 1X");1d d=a.7K(b,c);1a.2QN.1q(d);1d e=1a;1f 1b(){d();1d a=e.2QN;a.6z(a.3f(d),1)}};xj.1i.7f=1b(){1j(1d a=1a.2QN,b=0,c=a.1h;b<c;++b)a[b]();a.1h=0};1d gg=1L.3F({6i:0,1N4:1,8RD:2});oe.1i.1M=1b(){4Y 1a.15x;1a.15x=1F;g(1a.10u)&&(1a.10u.4c=1a.10u.4c&&!1a.10u.4c.3Z()&&1a.10u.4c.1M(),1a.10u.2z=1a.10u.2z&&!1a.10u.2z.3Z()&&1a.10u.2z.1M(),1a.10u=1F);1d a=1a.2Lq;g(a)&&a.1M();1a.2Lq=1p 0;a=1a.2nS;g(a)&&a.1M();1a.2nS=1p 0;1a.16b=1F};oe.21c=1b(a,b,c,d){if(g(a)){b=1g Td;1d e=b.3c,f=1g T,h=a.2w.1K;a=1g k;h=h.2a;1j(1d l=0;l<h.1h;l+=3)a.x=h[l],a.y=h[l+1],a.z=h[l+2],d&&(e.10Z(a,f),b.12z(f,a),a=k.9v(a.z,a.x,a.y)),A.8P(c,a,a),h[l]=a.x,h[l+1]=a.y,h[l+2]=a.z}};oe.2yY=1b(a){a=a.2w.1K.2a;1j(1d b=1g E(3a.6w,3a.6w,-3a.6w,-3a.6w),c=0;c<a.1h;c+=3){1d d=a[c],e=a[c+1];b.x=1k.2o(d,b.x);b.y=1k.2o(e,b.y);b.z=1k.1V(d,b.z);b.w=1k.1V(e,b.w)}1f b};1L.2X(Ee.1i,{1pv:{1n:1b(){l1(1a);1f 1a.4ac}}});1d 6mX=1g k,yt=1g k,Hg=1g k,wW=1g k;Ee.1i.1tM=1b(a,b,c){if(!g(a))1t 1g r("1K is 1X.");if(!g(b))1t 1g r("2G is 1X.");if(!g(c))1t 1g r("up is 1X.");1d d=1a.3co.1Di,e=1a.5C,f=1a.7b,h=1a.2W,l=1a.3B,p=1a.3I,n=1a.3W,z=k.4B(b,c,6mX);k.1T(z,z);k.4g(b,p,yt);k.add(a,yt,yt);k.4g(z,l,Hg);k.add(yt,Hg,Hg);l=d[0];g(l)||(l=d[0]=1g E);l.x=z.x;l.y=z.y;l.z=z.z;l.w=-k.2A(z,Hg);k.4g(z,h,Hg);k.add(yt,Hg,Hg);l=d[1];g(l)||(l=d[1]=1g E);l.x=-z.x;l.y=-z.y;l.z=-z.z;l.w=-k.2A(k.11k(z,wW),Hg);k.4g(c,f,Hg);k.add(yt,Hg,Hg);l=d[2];g(l)||(l=d[2]=1g E);l.x=c.x;l.y=c.y;l.z=c.z;l.w=-k.2A(c,Hg);k.4g(c,e,Hg);k.add(yt,Hg,Hg);l=d[3];g(l)||(l=d[3]=1g E);l.x=-c.x;l.y=-c.y;l.z=-c.z;l.w=-k.2A(k.11k(c,wW),Hg);l=d[4];g(l)||(l=d[4]=1g E);l.x=b.x;l.y=b.y;l.z=b.z;l.w=-k.2A(b,yt);k.4g(b,n,Hg);k.add(a,Hg,Hg);l=d[5];g(l)||(l=d[5]=1g E);l.x=-b.x;l.y=-b.y;l.z=-b.z;l.w=-k.2A(k.11k(b,wW),Hg);1f 1a.3co};Ee.1i.28b=1b(a,b,c,d,e){l1(1a);if(!g(a)||!g(b))1t 1g r("6mV 8j and 7p are 1X.");if(0>=a)1t 1g r("8j 2Q be 9U 6L 16m.");if(0>=b)1t 1g r("7p 2Q be 9U 6L 16m.");if(!g(c))1t 1g r("3s is 1X.");if(!g(d))1t 1g r("13S is 1X.");if(0>=d)1t 1g r("13S 2Q be 9U 6L 16m.");if(!g(e))1t 1g r("A 4D 2c is 1X.");c=1a.5C-1a.7b;e.x=d*(1a.2W-1a.3B)/a;e.y=d*c/b;1f e};Ee.1i.1y=1b(a){g(a)||(a=1g Ee);a.3B=1a.3B;a.2W=1a.2W;a.5C=1a.5C;a.7b=1a.7b;a.3I=1a.3I;a.3W=1a.3W;a.18R=1p 0;a.1eI=1p 0;a.2h0=1p 0;a.1zC=1p 0;a.1A3=1p 0;a.1A2=1p 0;1f a};Ee.1i.2L=1b(a){1f g(a)&&a 2m Ee&&1a.2W===a.2W&&1a.3B===a.3B&&1a.5C===a.5C&&1a.7b===a.7b&&1a.3I===a.3I&&1a.3W===a.3W};Ee.1i.5T=1b(a,b,c){1f a===1a||g(a)&&a 2m Ee&&B.5T(1a.2W,a.2W,b,c)&&B.5T(1a.3B,a.3B,b,c)&&B.5T(1a.5C,a.5C,b,c)&&B.5T(1a.7b,a.7b,b,c)&&B.5T(1a.3I,a.3I,b,c)&&B.5T(1a.3W,a.3W,b,c)};Jb.4q=4;Jb.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a.1G;b[c++]=a.13n;b[c++]=a.3I;b[c]=a.3W;1f b};Jb.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g Jb);c.1G=a[b++];c.13n=a[b++];c.3I=a[b++];c.3W=a[b];1f c};1L.2X(Jb.1i,{1pv:{1n:1b(){Gu(1a);1f 1a.1d3.1pv}}});Jb.1i.1tM=1b(a,b,c){Gu(1a);1f 1a.1d3.1tM(a,b,c)};Jb.1i.28b=1b(a,b,c,d,e){Gu(1a);1f 1a.1d3.28b(a,b,c,d,e)};Jb.1i.1y=1b(a){g(a)||(a=1g Jb);a.13n=1a.13n;a.1G=1a.1G;a.3I=1a.3I;a.3W=1a.3W;a.2ED=1p 0;a.10V=1p 0;a.1A3=1p 0;a.1A2=1p 0;1a.1d3.1y(a.1d3);1f a};Jb.1i.2L=1b(a){if(!(g(a)&&a 2m Jb))1f!1;Gu(1a);Gu(a);1f 1a.1G===a.1G&&1a.13n===a.13n&&1a.1d3.2L(a.1d3)};Jb.1i.5T=1b(a,b,c){if(!(g(a)&&a 2m Jb))1f!1;Gu(1a);Gu(a);1f B.5T(1a.1G,a.1G,b,c)&&B.5T(1a.13n,a.13n,b,c)&&1a.1d3.5T(a.1d3,b,c)};1L.2X(Mg.1i,{1pv:{1n:1b(){aP(1a);1f 1a.3cq}},2ey:{1n:1b(){aP(1a);1f 1a.3cp}}});1d 6mW=1g k,zt=1g k,QL=1g k,hc=1g k;Mg.1i.3Ug=1b(){if(!(g(1a.2W)&&g(1a.3B)&&g(1a.5C)&&g(1a.7b)&&g(1a.3I)&&g(1a.3W)))1t 1g r("2W, 3B, 5C, 7b, 3I, or 3W 7V are 2S 1C.");1d a=1a.5C,b=1a.7b,c=1a.2W,d=1a.3B,e=1a.3I,f=1a.3W;if(0>=1a.3I||1a.3I>1a.3W)1t 1g r("3I 2Q be 9U 6L 16m and 1do 6L 3W.");1a.18R=d;1a.1eI=c;1a.2h0=a;1a.1zC=b;1a.1A3=e;1a.1A2=f;1a.3cq=A.4Ww(d,c,b,a,e,f,1a.3cq);1a.3cp=A.4Wv(d,c,b,a,e,1a.3cp)};Mg.1i.1tM=1b(a,b,c){if(!g(a))1t 1g r("1K is 1X.");if(!g(b))1t 1g r("2G is 1X.");if(!g(c))1t 1g r("up is 1X.");1d d=1a.3co.1Di,e=1a.5C,f=1a.7b,h=1a.2W,l=1a.3B,p=1a.3I,n=1a.3W,z=k.4B(b,c,6mW);k.4g(b,p,zt);k.add(a,zt,zt);k.4g(b,n,QL);k.add(a,QL,QL);k.4g(z,l,hc);k.add(zt,hc,hc);k.3V(hc,a,hc);k.1T(hc,hc);k.4B(hc,c,hc);k.1T(hc,hc);l=d[0];g(l)||(l=d[0]=1g E);l.x=hc.x;l.y=hc.y;l.z=hc.z;l.w=-k.2A(hc,a);k.4g(z,h,hc);k.add(zt,hc,hc);k.3V(hc,a,hc);k.4B(c,hc,hc);k.1T(hc,hc);l=d[1];g(l)||(l=d[1]=1g E);l.x=hc.x;l.y=hc.y;l.z=hc.z;l.w=-k.2A(hc,a);k.4g(c,f,hc);k.add(zt,hc,hc);k.3V(hc,a,hc);k.4B(z,hc,hc);k.1T(hc,hc);l=d[2];g(l)||(l=d[2]=1g E);l.x=hc.x;l.y=hc.y;l.z=hc.z;l.w=-k.2A(hc,a);k.4g(c,e,hc);k.add(zt,hc,hc);k.3V(hc,a,hc);k.4B(hc,z,hc);k.1T(hc,hc);l=d[3];g(l)||(l=d[3]=1g E);l.x=hc.x;l.y=hc.y;l.z=hc.z;l.w=-k.2A(hc,a);l=d[4];g(l)||(l=d[4]=1g E);l.x=b.x;l.y=b.y;l.z=b.z;l.w=-k.2A(b,zt);k.11k(b,hc);l=d[5];g(l)||(l=d[5]=1g E);l.x=hc.x;l.y=hc.y;l.z=hc.z;l.w=-k.2A(hc,QL);1f 1a.3co};Mg.1i.28b=1b(a,b,c,d,e){aP(1a);if(!g(a)||!g(b))1t 1g r("6mV 8j and 7p are 1X.");if(0>=a)1t 1g r("8j 2Q be 9U 6L 16m.");if(0>=b)1t 1g r("7p 2Q be 9U 6L 16m.");if(!g(c))1t 1g r("3s is 1X.");if(!g(d))1t 1g r("13S is 1X");if(0>=d)1t 1g r("13S 2Q be 9U 6L 16m.");if(!g(e))1t 1g r("A 4D 2c is 1X.");1d f=1/1a.3I,h=1a.5C*f;b=2*d*c*h/b;h=1a.2W*f;e.x=2*d*c*h/a;e.y=b;1f e};Mg.1i.1y=1b(a){g(a)||(a=1g Mg);a.2W=1a.2W;a.3B=1a.3B;a.5C=1a.5C;a.7b=1a.7b;a.3I=1a.3I;a.3W=1a.3W;a.18R=1p 0;a.1eI=1p 0;a.2h0=1p 0;a.1zC=1p 0;a.1A3=1p 0;a.1A2=1p 0;1f a};Mg.1i.2L=1b(a){1f g(a)&&a 2m Mg&&1a.2W===a.2W&&1a.3B===a.3B&&1a.5C===a.5C&&1a.7b===a.7b&&1a.3I===a.3I&&1a.3W===a.3W};Mg.1i.5T=1b(a,b,c){1f a===1a||g(a)&&a 2m Mg&&B.5T(1a.2W,a.2W,b,c)&&B.5T(1a.3B,a.3B,b,c)&&B.5T(1a.5C,a.5C,b,c)&&B.5T(1a.7b,a.7b,b,c)&&B.5T(1a.3I,a.3I,b,c)&&B.5T(1a.3W,a.3W,b,c)};Qc.4q=6;Qc.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);b[c++]=a.16X;b[c++]=a.13n;b[c++]=a.3I;b[c++]=a.3W;b[c++]=a.1qc;b[c]=a.1rs;1f b};Qc.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);g(c)||(c=1g Qc);c.16X=a[b++];c.13n=a[b++];c.3I=a[b++];c.3W=a[b++];c.1qc=a[b++];c.1rs=a[b];1f c};1L.2X(Qc.1i,{1pv:{1n:1b(){Yn(1a);if(1a.1Ck&&g(1a.3pB)&&g(1a.3pA)){1d a=1a.1d3.1pv;A.6mU(1a.3pA,1a.3pB,yw);KE.x=(B.12q(yw.2U.x)+a[8])/a[0];KE.y=(B.12q(yw.2U.y)+a[9])/a[5];KE.z=-1;KE.w=(1+a[10])/a[14];pA.x=yw.2U.x;pA.y=yw.2U.y;pA.z=yw.2U.z;pA.w=yw.3s;E.4g(pA,2/E.2A(pA,KE),LE);a[2]=LE.x;a[6]=LE.y;a[10]=LE.z+1;a[14]=LE.w}1f 1a.1d3.1pv}},2ey:{1n:1b(){Yn(1a);1f 1a.1d3.2ey}},1MK:{1n:1b(){Yn(1a);1f 1a.3zD}},34D:{1n:1b(){Yn(1a);1f 1a.4Wu}}});Qc.1i.3Ug=1b(){1f 1a.1d3.3Ug()};Qc.1i.1tM=1b(a,b,c){Yn(1a);1f 1a.1d3.1tM(a,b,c)};Qc.1i.28b=1b(a,b,c,d,e){Yn(1a);1f 1a.1d3.28b(a,b,c,d,e)};Qc.1i.1y=1b(a){g(a)||(a=1g Qc);a.13n=1a.13n;a.16X=1a.16X;a.3I=1a.3I;a.3W=1a.3W;a.1Ck=1a.1Ck;a.3pB=1a.3pB;a.3pA=1a.3pA;a.2ED=1p 0;a.4ab=1p 0;a.1A3=1p 0;a.1A2=1p 0;1a.1d3.1y(a.1d3);1f a};Qc.1i.2L=1b(a){if(!(g(a)&&a 2m Qc))1f!1;Yn(1a);Yn(a);1f 1a.16X===a.16X&&1a.13n===a.13n&&1a.1d3.2L(a.1d3)};Qc.1i.5T=1b(a,b,c){if(!(g(a)&&a 2m Qc))1f!1;Yn(1a);Yn(a);1f B.5T(1a.16X,a.16X,b,c)&&B.5T(1a.13n,a.13n,b,c)&&1a.1d3.5T(a.1d3,b,c)};1d yw=1g Cb(k.16a,1),KE=1g E,pA=1g E,LE=1g E;zp.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);1d d=a.2iD,e=a.2iC;b[c++]=d;0===d?(Qc.5n(e,b,c),c+=Qc.4q):(Jb.5n(e,b,c),c+=Jb.4q);k.5n(a.1NJ,b,c);c+=k.4q;ca.5n(a.1tY,b,c);c+=ca.4q;za.5n(a.14s,b,c);c+=za.4q;b[c]=a.1Qb?1:0;1f b};1d 6mT=1g Qc,6mS=1g Jb,6mQ=1g ca,6mR=1g k,6mP=1g za;zp.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=a[b++];if(0===d){1d e=Qc.5f(a,b,6mT);b+=Qc.4q}1s e=Jb.5f(a,b,6mS),b+=Jb.4q;1d f=k.5f(a,b,6mR);b+=k.4q;1d h=ca.5f(a,b,6mQ);b+=ca.4q;1d l=za.5f(a,b,6mP);b+=za.4q;a=1===a[b];if(!g(c))1f 1g zp({3j:e,9X:f,11f:h,9S:l,1Qb:a});c.2iC=e.1y(d===c.2iD?c.2iC:1p 0);c.2iD=d;c.1NJ=k.1y(f,c.1NJ);c.1tY=ca.1y(h,c.1tY);c.14s=za.1y(l,c.14s);c.1Qb=a;1f c};1d 6mO=1g J,6mN=1g A,xW=1g A,RL=1g k,zw=1g k,ME=1g k,6mM=1g k,6mL=1g k,6mK=1g k,At=2K(3),NE=2K(4);NE[0]=1g E(-1,-1,1,1);NE[1]=1g E(1,-1,1,1);NE[2]=1g E(1,1,1,1);NE[3]=1g E(-1,1,1,1);1j(1d 4Wt=2K(4),yW=0;4>yW;++yW)4Wt[yW]=1g E;zp.4Ws=1b(a,b,c,d,e,f,h,l){b=J.1fE(b,6mO);f=m(f,RL);h=m(h,zw);l=m(l,ME);f=J.1ed(b,0,f);h=J.1ed(b,1,h);l=J.1ed(b,2,l);k.1T(f,f);k.1T(h,h);k.1T(l,l);k.11k(f,f);b=A.32Z(a,l,h,f,6mN);if(0===c){1d p=A.9b(d.1pv,b,xW);p=A.12Z(p,xW)}1s 1d n=A.1yQ(b,xW);g(p)?(At[0]=d.3I,At[1]=d.3W):(At[0]=0,At[1]=d.3I,At[2]=d.3W);1j(c=0;2>c;++c)1j(b=0;4>b;++b){h=E.1y(NE[b],4Wt[b]);if(g(p))h=A.10r(p,h,h),k.4g(h,1/h.w,h),k.3V(h,a,h),k.1T(h,h),f=k.2A(l,h),k.4g(h,At[c]/f,h),k.add(h,a,h);1s{g(d.1d3)&&(d=d.1d3);f=At[c];1d z=At[c+1];h.x=.5*(h.x*(d.2W-d.3B)+d.3B+d.2W);h.y=.5*(h.y*(d.5C-d.7b)+d.7b+d.5C);h.z=.5*(h.z*(f-z)-f-z);h.w=1;A.10r(n,h,h)}e[12*c+3*b]=h.x;e[12*c+3*b+1]=h.y;e[12*c+3*b+2]=h.z}};zp.14t=1b(a){1d b=a.2iD,c=a.2iC,d=a.1NJ,e=a.1tY,f=a.1Qb,h=a.14s;a=f?6:5;1d l=1g 13X(72);zp.4Ws(d,e,b,c,l);c=24;l[c]=l[12];l[c+1]=l[13];l[c+2]=l[14];l[c+3]=l[0];l[c+4]=l[1];l[c+5]=l[2];l[c+6]=l[9];l[c+7]=l[10];l[c+8]=l[11];l[c+9]=l[21];l[c+10]=l[22];l[c+11]=l[23];c+=12;l[c]=l[15];l[c+1]=l[16];l[c+2]=l[17];l[c+3]=l[3];l[c+4]=l[4];l[c+5]=l[5];l[c+6]=l[0];l[c+7]=l[1];l[c+8]=l[2];l[c+9]=l[12];l[c+10]=l[13];l[c+11]=l[14];c+=12;l[c]=l[3];l[c+1]=l[4];l[c+2]=l[5];l[c+3]=l[15];l[c+4]=l[16];l[c+5]=l[17];l[c+6]=l[18];l[c+7]=l[19];l[c+8]=l[20];l[c+9]=l[6];l[c+10]=l[7];l[c+11]=l[8];c+=12;l[c]=l[6];l[c+1]=l[7];l[c+2]=l[8];l[c+3]=l[18];l[c+4]=l[19];l[c+5]=l[20];l[c+6]=l[21];l[c+7]=l[22];l[c+8]=l[23];l[c+9]=l[9];l[c+10]=l[10];l[c+11]=l[11];f||(l=l.1hl(12));b=1g ce({1K:1g Pa({3k:I.18l,2Z:3,2a:l})});if(g(h.2U)||g(h.8Q)||g(h.8T)||g(h.st)){d=g(h.2U)?1g 4A(12*a):1p 0;e=g(h.8Q)?1g 4A(12*a):1p 0;1d p=g(h.8T)?1g 4A(12*a):1p 0;h=g(h.st)?1g 4A(8*a):1p 0;1d n=k.11k(RL,6mM),z=k.11k(zw,6mL),w=k.11k(ME,6mK);c=0;f&&(Jx(c,d,e,p,h,w,RL,zw),c+=12);Jx(c,d,e,p,h,ME,n,zw);c+=12;Jx(c,d,e,p,h,n,w,zw);c+=12;Jx(c,d,e,p,h,z,w,n);c+=12;Jx(c,d,e,p,h,RL,ME,zw);Jx(c+12,d,e,p,h,zw,ME,n);g(d)&&(b.2U=1g Pa({3k:I.3O,2Z:3,2a:d}));g(e)&&(b.8Q=1g Pa({3k:I.3O,2Z:3,2a:e}));g(p)&&(b.8T=1g Pa({3k:I.3O,2Z:3,2a:p}));g(h)&&(b.st=1g Pa({3k:I.3O,2Z:2,2a:h}))}f=1g 10Y(6*a);1j(h=0;h<a;++h)c=6*h,d=4*h,f[c]=d,f[c+1]=d+1,f[c+2]=d+2,f[c+3]=d,f[c+4]=d+2,f[c+5]=d+3;1f 1g Pb({2w:b,4N:f,6Z:Ja.11G,7u:P.1ND(l)})};Kx.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);1d d=a.2iD,e=a.2iC;b[c++]=d;0===d?(Qc.5n(e,b,c),c+=Qc.4q):(Jb.5n(e,b,c),c+=Jb.4q);k.5n(a.1NJ,b,c);c+=k.4q;ca.5n(a.1tY,b,c);c+=ca.4q;b[c]=a.1Qb?1:0;1f b};1d 6mJ=1g Qc,6mI=1g Jb,6mG=1g ca,6mH=1g k;Kx.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=a[b++];if(0===d){1d e=Qc.5f(a,b,6mJ);b+=Qc.4q}1s e=Jb.5f(a,b,6mI),b+=Jb.4q;1d f=k.5f(a,b,6mH);b+=k.4q;1d h=ca.5f(a,b,6mG);b+=ca.4q;a=1===a[b];if(!g(c))1f 1g Kx({3j:e,9X:f,11f:h,1Qb:a});c.2iC=e.1y(d===c.2iD?c.2iC:1p 0);c.2iD=d;c.1NJ=k.1y(f,c.1NJ);c.1tY=ca.1y(h,c.1tY);c.1Qb=a;1f c};Kx.14t=1b(a){1d b=a.2iD,c=a.2iC,d=a.1NJ,e=a.1tY;a=a.1Qb;1d f=1g 13X(24);zp.4Ws(d,e,b,c,f);b=1g ce({1K:1g Pa({3k:I.18l,2Z:3,2a:f})});e=a?2:1;1j(1d h=1g 10Y(8*(e+1)),g=a?0:1;2>g;++g)c=a?8*g:0,d=4*g,h[c]=d,h[c+1]=d+1,h[c+2]=d+1,h[c+3]=d+2,h[c+4]=d+2,h[c+5]=d+3,h[c+6]=d+3,h[c+7]=d;1j(g=0;2>g;++g)c=8*(e+g),d=4*g,h[c]=d,h[c+1]=d+4,h[c+2]=d+1,h[c+3]=d+5,h[c+4]=d+2,h[c+5]=d+6,h[c+6]=d+3,h[c+7]=d+7;1f 1g Pb({2w:b,4N:h,6Z:Ja.1ao,7u:P.1ND(f)})};m1.1i.2Eq=r.8i;1d 4iJ=1L.3F({8RC:0,6kO:1}),n1={},4Wi={};(1b(a,b){(1b(b,d,e){1b c(a){1d e=d[a];e||b[a][0].4G(e=d[a]={1cr:{}},c,e,e.1cr);1f e.1cr}a.6mf=c(e[0])})({1:[1b(a,b,e){b.1cr=1b(a,b){1j(1d c=[],d=2;d<5m.1h;)c.1q(5m[d++]);1d e=!0;1f 1g 2xD(1b(d,f){c.1q(1b(a){if(e)if(e=!1,a)f(a);1s{1j(1d b=[],c=1;c<5m.1h;)b.1q(5m[c++]);d.6c(1F,b)}});10G{a.6c(b||1a,c)}11B(x){e&&(e=!1,f(x))}})}},{}],2:[1b(a,d,e){e.1h=1b(a){1d b=a.1h;if(!b)1f 0;1j(1d c=0;1<--b%4&&"="===a.1as(b);)++c;1f 1k.8a(3*a.1h)/4-c};1d c=2K(64),h=2K(123);1j(a=0;64>a;)h[c[a]=26>a?a+65:52>a?a+71:62>a?a-4:a-59|43]=a++;e.1pT=1b(a,b,d){1j(1d e=[],f=0,h=0,g;b<d;){1d l=a[b++];6U(h){1S 0:e[f++]=c[l>>2];g=(l&3)<<4;h=1;1W;1S 1:e[f++]=c[g|l>>4];g=(l&15)<<2;h=2;1W;1S 2:e[f++]=c[g|l>>6],e[f++]=c[l&63],h=0}}h&&(e[f++]=c[g],e[f]=61,1===h&&(e[f+1]=61));1f 10J.1gx.6c(10J,e)};e.1AM=1b(a,c,d){1j(1d e=d,f=0,g,l=0;l<a.1h;){1d p=a.19a(l++);if(61===p&&1<f)1W;if((p=h[p])===b)1t 6u("16w 19F");6U(f){1S 0:g=p;f=1;1W;1S 1:c[d++]=g<<2|(p&48)>>4;g=p;f=2;1W;1S 2:c[d++]=(g&15)<<4|(p&60)>>2;g=p;f=3;1W;1S 3:c[d++]=(g&3)<<6|p,f=0}}if(1===f)1t 6u("16w 19F");1f d-e};e.6S=1b(a){1f/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.6S(a)}},{}],3:[1b(a,d,e){1b c(){1a.24c={}}d.1cr=c;c.1i.on=1b(a,b,c){(1a.24c[a]||(1a.24c[a]=[])).1q({fn:b,6mF:c||1a});1f 1a};c.1i.1nP=1b(a,c){if(a===b)1a.24c={};1s if(c===b)1a.24c[a]=[];1s{a=1a.24c[a];1j(1d d=0;d<a.1h;)a[d].fn===c?a.6z(d,1):++d}1f 1a};c.1i.1Uk=1b(a){1d b=1a.24c[a];if(b){1j(1d c=[],d=1;d<5m.1h;)c.1q(5m[d++]);1j(d=0;d<b.1h;)b[d].fn.6c(b[d++].6mF,c)}1f 1a}},{}],4:[1b(a,b,e){b.1cr=1b(a){10G{1d b=5rX("8RB".3X(/^/,"re"))(a);if(b&&(b.1h||1L.9K(b).1h))1f b}11B(l){}1f 1F}},{}],5:[1b(a,b,e){b.1cr=1b(a,b,c){1d d=c||1c8,e=d>>>1,f=1F,h=d;1f 1b(c){if(1>c||c>e)1f a(c);h+c>d&&(f=a(d),h=0);c=b.4G(f,h,h+=c);h&7&&(h=(h|7)+1);1f c}}},{}],6:[1b(a,b,e){e.1h=1b(a){1j(1d b=0,c,d=0;d<a.1h;++d)c=a.19a(d),128>c?b+=1:1tA>c?b+=2:1v4===(c&2Ex)&&1AV===(a.19a(d+1)&2Ex)?(++d,b+=4):b+=3;1f b};e.1dD=1b(a,b,c){if(1>c-b)1f"";1j(1d d=1F,e=[],f=0,h;b<c;)h=a[b++],128>h?e[f++]=h:191<h&&224>h?e[f++]=(h&31)<<6|a[b++]&63:239<h&&365>h?(h=((h&7)<<18|(a[b++]&63)<<12|(a[b++]&63)<<6|a[b++]&63)-12v,e[f++]=1v4+(h>>10),e[f++]=1AV+(h&1yG)):e[f++]=(h&15)<<12|(a[b++]&63)<<6|a[b++]&63,8RA<f&&((d||(d=[])).1q(10J.1gx.6c(10J,e)),f=0);1f d?(f&&d.1q(10J.1gx.6c(10J,e.4h(0,f))),d.14G("")):10J.1gx.6c(10J,e.4h(0,f))};e.1G2=1b(a,b,c){1j(1d d=c,e,f,h=0;h<a.1h;++h)e=a.19a(h),128>e?b[c++]=e:(1tA>e?b[c++]=e>>6|192:(1v4===(e&2Ex)&&1AV===((f=a.19a(h+1))&2Ex)?(e=12v+((e&1yG)<<10)+(f&1yG),++h,b[c++]=e>>18|240,b[c++]=e>>12&63|128):b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128);1f c-d}},{}],7:[1b(a,b,e){1b c(){d.3RW.3cm(d.6mE);d.3Cv.3cm()}1d d=e;d.1x4="8Rz";d.8Ry={};d.4Mw=a(14);d.6mD=a(15);d.3RW=a(8);d.6mE=a(9);d.3Cv=a(13);d.8Rx=a(10);d.8Rw=c;d.4Mw.3cm(d.6mD);c()},{10:10,13:13,14:14,15:15,8:8,9:9}],8:[1b(a,b,e){1b c(a,b){1f 2EC("2P 9H of 11D: "+a.3h+" + "+(b||1)+" > "+a.1aZ)}1b d(a){1a.14q=a;1a.3h=0;1a.1aZ=a.1h}1b g(){1d a=1g x(0,0),b=0;if(4<1a.1aZ-1a.3h){1j(;4>b;++b)if(a.lo=(a.lo|(1a.14q[1a.3h]&127)<<7*b)>>>0,128>1a.14q[1a.3h++])1f a;a.lo=(a.lo|(1a.14q[1a.3h]&127)<<28)>>>0;a.hi=(a.hi|(1a.14q[1a.3h]&127)>>4)>>>0;if(128>1a.14q[1a.3h++])1f a;b=0}1s{1j(;3>b;++b){if(1a.3h>=1a.1aZ)1t c(1a);a.lo=(a.lo|(1a.14q[1a.3h]&127)<<7*b)>>>0;if(128>1a.14q[1a.3h++])1f a}a.lo=(a.lo|(1a.14q[1a.3h++]&127)<<7*b)>>>0;1f a}if(4<1a.1aZ-1a.3h)1j(;5>b;++b){if(a.hi=(a.hi|(1a.14q[1a.3h]&127)<<7*b+3)>>>0,128>1a.14q[1a.3h++])1f a}1s 1j(;5>b;++b){if(1a.3h>=1a.1aZ)1t c(1a);a.hi=(a.hi|(1a.14q[1a.3h]&127)<<7*b+3)>>>0;if(128>1a.14q[1a.3h++])1f a}1t 6u("16w 4oW 19F");}1b p(a,b){1f(a[b-4]|a[b-3]<<8|a[b-2]<<16|a[b-1]<<24)>>>0}1b k(){if(1a.3h+8>1a.1aZ)1t c(1a,8);1f 1g x(p(1a.14q,1a.3h+=4),p(1a.14q,1a.3h+=4))}b.1cr=d;1d z=a(13),m,x=z.3cn,D=z.2AA,t="7w"!==2h 4L?1b(a){if(a 2m 4L||2K.8n(a))1f 1g d(a);1t 6u("6mC 3J");}:1b(a){if(2K.8n(a))1f 1g d(a);1t 6u("6mC 3J");};d.6F=z.1P6?1b(a){1f(d.6F=1b(a){1f z.1P6.8Rv(a)?1g m(a):t(a)})(a)}:t;d.1i.4Wr=z.2K.1i.1hl||z.2K.1i.4h;d.1i.1pl=1b(){1d a=2eo;1f 1b(){a=(1a.14q[1a.3h]&127)>>>0;if(128>1a.14q[1a.3h++])1f a;a=(a|(1a.14q[1a.3h]&127)<<7)>>>0;if(128>1a.14q[1a.3h++])1f a;a=(a|(1a.14q[1a.3h]&127)<<14)>>>0;if(128>1a.14q[1a.3h++])1f a;a=(a|(1a.14q[1a.3h]&127)<<21)>>>0;if(128>1a.14q[1a.3h++])1f a;a=(a|(1a.14q[1a.3h]&15)<<28)>>>0;if(128>1a.14q[1a.3h++])1f a;if((1a.3h+=5)>1a.1aZ)1t 1a.3h=1a.1aZ,c(1a,10);1f a}}();d.1i.6mq=1b(){1f 1a.1pl()|0};d.1i.6mp=1b(){1d a=1a.1pl();1f a>>>1^-(a&1)|0};d.1i.7d=1b(){1f 0!==1a.1pl()};d.1i.4Wk=1b(){if(1a.3h+4>1a.1aZ)1t c(1a,4);1f p(1a.14q,1a.3h+=4)};d.1i.6mm=1b(){if(1a.3h+4>1a.1aZ)1t c(1a,4);1f p(1a.14q,1a.3h+=4)|0};1d q="7w"!==2h 4A?1b(){1d a=1g 4A(1),b=1g 4L(a.3J);a[0]=-0;1f b[3]?1b(c,d){b[0]=c[d];b[1]=c[d+1];b[2]=c[d+2];b[3]=c[d+3];1f a[0]}:1b(c,d){b[0]=c[d+3];b[1]=c[d+2];b[2]=c[d+1];b[3]=c[d];1f a[0]}}():1b(a,b){1d c=p(a,b+4);a=2*(c>>31)+1;b=c>>>23&255;c&=6mj;1f 255===b?c?1hO:12g*a:0===b?1.6mk-45*a*c:a*1k.3r(2,b-150)*(c+2Kb)};d.1i.1o=1b(){if(1a.3h+4>1a.1aZ)1t c(1a,4);1d a=q(1a.14q,1a.3h);1a.3h+=4;1f a};1d r="7w"!==2h 13X?1b(){1d a=1g 13X(1),b=1g 4L(a.3J);a[0]=-0;1f b[7]?1b(c,d){b[0]=c[d];b[1]=c[d+1];b[2]=c[d+2];b[3]=c[d+3];b[4]=c[d+4];b[5]=c[d+5];b[6]=c[d+6];b[7]=c[d+7];1f a[0]}:1b(c,d){b[0]=c[d+7];b[1]=c[d+6];b[2]=c[d+5];b[3]=c[d+4];b[4]=c[d+3];b[5]=c[d+2];b[6]=c[d+1];b[7]=c[d];1f a[0]}}():1b(a,b){1d c=p(a,b+4),d=p(a,b+8);a=2*(d>>31)+1;b=d>>>20&3lx;c=1AW*(d&6mh)+c;1f 3lx===b?c?1hO:12g*a:0===b?4.9E-324*a*c:a*1k.3r(2,b-8Ru)*(c+6mi)};d.1i.4C2=1b(){if(1a.3h+8>1a.1aZ)1t c(1a,4);1d a=r(1a.14q,1a.3h);1a.3h+=8;1f a};d.1i.1tC=1b(){1d a=1a.1pl(),b=1a.3h,d=1a.3h+a;if(d>1a.1aZ)1t c(1a,a);1a.3h+=a;1f b===d?1g 1a.14q.7m(0):1a.4Wr.4G(1a.14q,b,d)};d.1i.4n=1b(){1d a=1a.1tC();1f D.1dD(a,0,a.1h)};d.1i.2xt=1b(a){if("2b"===2h a){if(1a.3h+a>1a.1aZ)1t c(1a,a);1a.3h+=a}1s{do if(1a.3h>=1a.1aZ)1t c(1a);14p(1a.14q[1a.3h++]&128)}1f 1a};d.1i.4uF=1b(a){6U(a){1S 0:1a.2xt();1W;1S 1:1a.2xt(8);1W;1S 2:1a.2xt(1a.1pl());1W;1S 3:do{if(4===(a=1a.1pl()&7))1W;1a.4uF(a)}14p(1);1W;1S 5:1a.2xt(4);1W;4T:1t 6u("16w 8Rt 1I "+a+" at 2M "+1a.3h);}1f 1a};d.3cm=1b(a){m=a;1d b=z.2rl?"6mz":"2yh";z.18y(d.1i,{6mo:1b(){1f g.4G(1a)[b](!1)},4Wm:1b(){1f g.4G(1a)[b](!0)},6mn:1b(){1f g.4G(1a).4Wq()[b](!1)},4Wj:1b(){1f k.4G(1a)[b](!0)},6ml:1b(){1f k.4G(1a)[b](!1)}})}},{13:13}],9:[1b(a,b,e){1b c(a){d.4G(1a,a)}b.1cr=c;1d d=a(8);(c.1i=1L.6F(d.1i)).7m=c;a=a(13);a.1P6&&(c.1i.4Wr=a.1P6.1i.4h);c.1i.4n=1b(){1d a=1a.1pl();1f 1a.14q.8Rs(1a.3h,1a.3h=1k.2o(1a.3h+a,1a.1aZ))}},{13:13,8:8}],10:[1b(a,b,e){e.8Rr=a(11)},{11:11}],11:[1b(a,d,e){1b c(a,b,c){if("1b"!==2h a)1t 1LY("2R8 2Q be a 1b");h.4Wp.4G(1a);1a.2R8=a;1a.6mB=!!b;1a.6mA=!!c}d.1cr=c;1d h=a(13);(c.1i=1L.6F(h.4Wp.1i)).7m=c;c.1i.8Rq=1b D(a,c,d,e,f){if(!e)1t 1LY("7M 2Q be 2xC");1d g=1a;if(!f)1f h.6mx(D,g,a,c,d,e);if(!g.2R8)1f 1if(1b(){f(6u("1A8 3zf"))},0),b;10G{1f g.2R8(a,c[g.6mB?"8Rp":"1pT"](e).26t(),1b(c,e){if(c)1f g.1Uk("7A",c,a),f(c);if(1F===e)1f g.9o(!0),b;if(!(e 2m d))10G{e=d[g.6mA?"8Ro":"1AM"](e)}11B(aa){1f g.1Uk("7A",aa,a),f(aa)}g.1Uk("2g",e,a);1f f(1F,e)})}11B(oa){1f g.1Uk("7A",oa,a),1if(1b(){f(oa)},0),b}};c.1i.9o=1b(a){1a.2R8&&(a||1a.2R8(1F,1F,1F),1a.2R8=1F,1a.1Uk("9o").1nP());1f 1a}},{13:13}],12:[1b(a,b,e){1b c(a,b){1a.lo=a>>>0;1a.hi=b>>>0}b.1cr=c;1d d=a(13),g=c.16m=1g c(0,0);g.2yh=1b(){1f 0};g.4Wl=g.4Wq=1b(){1f 1a};g.1h=1b(){1f 1};1d p=c.6mu="\\1Ke\\1Ke\\1Ke\\1Ke\\1Ke\\1Ke\\1Ke\\1Ke";c.4aa=1b(a){if(0===a)1f g;1d b=0>a;b&&(a=-a);1d d=a>>>0;a=(a-d)/1AW>>>0;b&&(a=~a>>>0,d=~d>>>0,2eo<++d&&(d=0,2eo<++a&&(a=0)));1f 1g c(d,a)};c.19f=1b(a){if("2b"===2h a)1f c.4aa(a);if(d.4a9(a))if(d.2rl)a=d.2rl.1TK(a);1s 1f c.4aa(8A(a,10));1f a.15r||a.162?1g c(a.15r>>>0,a.162>>>0):g};c.1i.2yh=1b(a){if(!a&&1a.hi>>>31){a=~1a.lo+1>>>0;1d b=~1a.hi>>>0;a||(b=b+1>>>0);1f-(a+1AW*b)}1f 1a.lo+1AW*1a.hi};c.1i.6mz=1b(a){1f d.2rl?1g d.2rl(1a.lo|0,1a.hi|0,!!a):{15r:1a.lo|0,162:1a.hi|0,3ss:!!a}};1d k=10J.1i.19a;c.6mt=1b(a){1f a===p?g:1g c((k.4G(a,0)|k.4G(a,1)<<8|k.4G(a,2)<<16|k.4G(a,3)<<24)>>>0,(k.4G(a,4)|k.4G(a,5)<<8|k.4G(a,6)<<16|k.4G(a,7)<<24)>>>0)};c.1i.6mv=1b(){1f 10J.1gx(1a.lo&255,1a.lo>>>8&255,1a.lo>>>16&255,1a.lo>>>24,1a.hi&255,1a.hi>>>8&255,1a.hi>>>16&255,1a.hi>>>24)};c.1i.4Wl=1b(){1d a=1a.hi>>31;1a.hi=((1a.hi<<1|1a.lo>>>31)^a)>>>0;1a.lo=(1a.lo<<1^a)>>>0;1f 1a};c.1i.4Wq=1b(){1d a=-(1a.lo&1);1a.lo=((1a.lo>>>1|1a.hi<<31)^a)>>>0;1a.hi=(1a.hi>>>1^a)>>>0;1f 1a};c.1i.1h=1b(){1d a=1a.lo,b=(1a.lo>>>28|1a.hi<<4)>>>0,c=1a.hi>>>24;1f 0===c?0===b?1xn>a?128>a?1:2:3WS>a?3:4:1xn>b?128>b?5:6:3WS>b?7:8:128>c?9:10}},{13:13}],13:[1b(c,d,e){1b f(a,c,d){1j(1d e=1L.9K(c),f=0;f<e.1h;++f)a[e[f]]!==b&&d||(a[e[f]]=c[e[f]]);1f a}1b h(a){1b b(a,c){if(!(1a 2m b))1f 1g b(a,c);1L.12U(1a,"19s",{1n:1b(){1f a}});6u.6my?6u.6my(1a,b):1L.12U(1a,"1fi",{1Q:6u().1fi||""});c&&f(1a,c)}(b.1i=1L.6F(6u.1i)).7m=b;1L.12U(b.1i,"2i",{1n:1b(){1f a}});b.1i.5s=1b(){1f 1a.2i+": "+1a.19s};1f b}e.6mx=c(1);e.1G3=c(2);e.4Wp=c(3);e.4Wn=c(4);e.2AA=c(6);e.6mr=c(5);e.3cn=c(12);e.8Rn=1L.3F?1L.3F([]):[];e.8Rm=1L.3F?1L.3F({}):{};e.8Rl=!!(a.1pt&&a.1pt.4Wo&&a.1pt.4Wo.17t);e.2mT=3a.2mT||1b(a){1f"2b"===2h a&&1AJ(a)&&1k.2t(a)===a};e.4a9=1b(a){1f"4n"===2h a||a 2m 10J};e.8Rk=1b(a){1f a&&"2c"===2h a};e.1P6=1b(){10G{1d a=e.4Wn("3J").1P6;1f a.1i.6mg?a:1F}11B(p){1f 1F}}();e.3zB=1F;e.3zC=1F;e.8Rj=1b(a){1f"2b"===2h a?e.1P6?e.3zC(a):1g e.2K(a):e.1P6?e.3zB(a):"7w"===2h 4L?a:1g 4L(a)};e.2K="7w"!==2h 4L?4L:2K;e.2rl=a.6mw&&a.6mw.2rl||e.4Wn("2aO");e.8Ri=/^8O|16f|0|1$/;e.8Rh=/^-?(?:0|[1-9][0-9]*)$/;e.8Rg=/^(?:[\\\\1Ke-\\\\8Rf]{8}|-?(?:0|[1-9][0-9]*))$/;e.8Re=1b(a){1f a?e.3cn.19f(a).6mv():e.3cn.6mu};e.8Rd=1b(a,b){a=e.3cn.6mt(a);1f e.2rl?e.2rl.8Rc(a.lo,a.hi,b):a.2yh(!!b)};e.18y=f;e.8Rb=1b(a){1f a.1as(0).18v()+a.11c(1)};e.8Ra=h;e.6ms=h("6ms");e.8R9=1b(a){1j(1d c={},d=0;d<a.1h;++d)c[a[d]]=1;1f 1b(){1j(1d a=1L.9K(1a),d=a.1h-1;-1<d;--d)if(1===c[a[d]]&&1a[a[d]]!==b&&1F!==1a[a[d]])1f a[d]}};e.8R8=1b(a){1f 1b(b){1j(1d c=0;c<a.1h;++c)a[c]!==b&&4Y 1a[a[c]]}};e.8R7=1b(a,b){1j(1d c=0;c<b.1h;++c)1j(1d d=1L.9K(b[c]),e=0;e<d.1h;++e){1j(1d f=b[c][d[e]].7g("."),h=a;f.1h;)h=h[f.1hN()];b[c][d[e]]=h}};e.8R6={8R5:10J,8R4:10J,1tC:10J};e.3cm=1b(){1d a=e.1P6;a?(e.3zB=a.19f!==4L.19f&&a.19f||1b(b,c){1f 1g a(b,c)},e.3zC=a.8R3||1b(b){1f 1g a(b)}):e.3zB=e.3zC=1F}},{1:1,12:12,2:2,3:3,4:4,5:5,6:6}],14:[1b(a,d,e){1b c(a,c,d){1a.fn=a;1a.1aZ=c;1a.6k=b;1a.2eq=d}1b h(){}1b g(a){1a.13r=a.13r;1a.1fD=a.1fD;1a.1aZ=a.1aZ;1a.6k=a.1Ru}1b p(){1a.1aZ=0;1a.1fD=1a.13r=1g c(h,0,0);1a.1Ru=1F}1b k(a,b,c){b[c]=a&255}1b z(a,c){1a.1aZ=a;1a.6k=b;1a.2eq=c}1b m(a,b,c){1j(;a.hi;)b[c++]=a.lo&127|128,a.lo=(a.lo>>>7|a.hi<<25)>>>0,a.hi>>>=7;1j(;127<a.lo;)b[c++]=a.lo&127|128,a.lo>>>=7;b[c++]=a.lo}1b x(a,b,c){b[c++]=a&255;b[c++]=a>>>8&255;b[c++]=a>>>16&255;b[c]=a>>>24}d.1cr=p;1d D=a(13),t,q=D.3cn,r=D.1G3,u=D.2AA;p.6F=D.1P6?1b(){1f(p.6F=1b(){1f 1g t})()}:1b(){1f 1g p};p.2R7=1b(a){1f 1g D.2K(a)};D.2K!==2K&&(p.2R7=D.6mr(p.2R7,D.2K.1i.1hl));p.1i.1q=1b(a,b,d){1a.1fD=1a.1fD.6k=1g c(a,b,d);1a.1aZ+=b;1f 1a};z.1i=1L.6F(c.1i);z.1i.fn=1b(a,b,c){1j(;127<a;)b[c++]=a&127|128,a>>>=7;b[c]=a};p.1i.1pl=1b(a){1a.1aZ+=(1a.1fD=1a.1fD.6k=1g z(128>(a>>>=0)?1:1xn>a?2:3WS>a?3:8R2>a?4:5,a)).1aZ;1f 1a};p.1i.6mq=1b(a){1f 0>a?1a.1q(m,10,q.4aa(a)):1a.1pl(a)};p.1i.6mp=1b(a){1f 1a.1pl((a<<1^a>>31)>>>0)};p.1i.4Wm=1b(a){a=q.19f(a);1f 1a.1q(m,a.1h(),a)};p.1i.6mo=p.1i.4Wm;p.1i.6mn=1b(a){a=q.19f(a).4Wl();1f 1a.1q(m,a.1h(),a)};p.1i.7d=1b(a){1f 1a.1q(k,1,a?1:0)};p.1i.4Wk=1b(a){1f 1a.1q(x,4,a>>>0)};p.1i.6mm=p.1i.4Wk;p.1i.4Wj=1b(a){a=q.19f(a);1f 1a.1q(x,4,a.lo).1q(x,4,a.hi)};p.1i.6ml=p.1i.4Wj;1d v="7w"!==2h 4A?1b(){1d a=1g 4A(1),b=1g 4L(a.3J);a[0]=-0;1f b[3]?1b(c,d,e){a[0]=c;d[e++]=b[0];d[e++]=b[1];d[e++]=b[2];d[e]=b[3]}:1b(c,d,e){a[0]=c;d[e++]=b[3];d[e++]=b[2];d[e++]=b[1];d[e]=b[0]}}():1b(a,b,c){1d d=0>a?1:0;d&&(a=-a);if(0===a)x(0<1/a?0:2Jd,b,c);1s if(11I(a))x(31s,b,c);1s if(3.8R1<a)x((d<<31|8R0)>>>0,b,c);1s if(1.8QZ-38>a)x((d<<31|1k.9p(a/1.6mk-45))>>>0,b,c);1s{1d e=1k.2t(1k.7k(a)/1k.1ZN);x((d<<31|e+127<<23|1k.9p(a*1k.3r(2,-e)*2Kb)&6mj)>>>0,b,c)}};p.1i.1o=1b(a){1f 1a.1q(v,4,a)};1d y="7w"!==2h 13X?1b(){1d a=1g 13X(1),b=1g 4L(a.3J);a[0]=-0;1f b[7]?1b(c,d,e){a[0]=c;d[e++]=b[0];d[e++]=b[1];d[e++]=b[2];d[e++]=b[3];d[e++]=b[4];d[e++]=b[5];d[e++]=b[6];d[e]=b[7]}:1b(c,d,e){a[0]=c;d[e++]=b[7];d[e++]=b[6];d[e++]=b[5];d[e++]=b[4];d[e++]=b[3];d[e++]=b[2];d[e++]=b[1];d[e]=b[0]}}():1b(a,b,c){1d d=0>a?1:0;d&&(a=-a);if(0===a)x(0,b,c),x(0<1/a?0:2Jd,b,c+4);1s if(11I(a))x(2eo,b,c),x(31s,b,c+4);1s if(1.31r<a)x(0,b,c),x((d<<31|8QY)>>>0,b,c+4);1s if(2.8QX-308>a)a/=4.9E-324,x(a>>>0,b,c),x((d<<31|a/1AW)>>>0,b,c+4);1s{1d e=1k.2t(1k.7k(a)/1k.1ZN);13j===e&&(e=1yG);a*=1k.3r(2,-e);x(6mi*a>>>0,b,c);x((d<<31|e+1yG<<20|1yL*a&6mh)>>>0,b,c+4)}};p.1i.4C2=1b(a){1f 1a.1q(y,8,a)};1d A=D.2K.1i.1C?1b(a,b,c){b.1C(a,c)}:1b(a,b,c){1j(1d d=0;d<a.1h;++d)b[c+d]=a[d]};p.1i.1tC=1b(a){1d b=a.1h>>>0;if(!b)1f 1a.1q(k,1,0);if(D.4a9(a)){1d c=p.2R7(b=r.1h(a));r.1AM(a,c,0);a=c}1f 1a.1pl(b).1q(A,b,a)};p.1i.4n=1b(a){1d b=u.1h(a);1f b?1a.1pl(b).1q(u.1G2,b,a):1a.1q(k,1,0)};p.1i.8QW=1b(){1a.1Ru=1g g(1a);1a.13r=1a.1fD=1g c(h,0,0);1a.1aZ=0;1f 1a};p.1i.1Pr=1b(){1a.1Ru?(1a.13r=1a.1Ru.13r,1a.1fD=1a.1Ru.1fD,1a.1aZ=1a.1Ru.1aZ,1a.1Ru=1a.1Ru.6k):(1a.13r=1a.1fD=1g c(h,0,0),1a.1aZ=0);1f 1a};p.1i.8QV=1b(){1d a=1a.13r,b=1a.1fD,c=1a.1aZ;1a.1Pr().1pl(c);c&&(1a.1fD.6k=a.6k,1a.1fD=b,1a.1aZ+=c);1f 1a};p.1i.26t=1b(){1j(1d a=1a.13r.6k,b=1a.7m.2R7(1a.1aZ),c=0;a;)a.fn(a.2eq,b,c),c+=a.1aZ,a=a.6k;1f b};p.3cm=1b(a){t=a}},{13:13}],15:[1b(a,b,e){1b c(){g.4G(1a)}1b d(a,b,c){40>a.1h?p.2AA.1G2(a,b,c):b.6mg(a,c)}b.1cr=c;1d g=a(14);(c.1i=1L.6F(g.1i)).7m=c;1d p=a(13),k=p.1P6;c.2R7=1b(a){1f(c.2R7=p.3zC)(a)};1d z=k&&k.1i 2m 4L&&"1C"===k.1i.1C.2i?1b(a,b,c){b.1C(a,c)}:1b(a,b,c){if(a.1hI)a.1hI(b,c,0,a.1h);1s 1j(1d d=0;d<a.1h;)b[c++]=a[d++]};c.1i.1tC=1b(a){p.4a9(a)&&(a=p.3zB(a,"1G3"));1d b=a.1h>>>0;1a.1pl(b);b&&1a.1q(z,b,a);1f 1a};c.1i.4n=1b(a){1d b=k.10S(a);1a.1pl(b);b&&1a.1q(d,b,a);1f 1a}},{13:13,14:14}]},{},[7])})(4Wi);1d eP=4Wi.6mf,6md=[1,2,4,8];Jm.1y=1b(a,b){g(b)?(b.24b=a.24b,b.3zA=a.3zA,b.3zz=a.3zz,b.2Ez=a.2Ez,b.1jf=a.1jf,b.16u=a.16u):b=1g Jm(a.24b,a.3zA,a.3zz,a.2Ez,a.1jf,a.16u);b.2QZ=a.2QZ;b.19M=a.19M;1f b};Jm.1i.4W4=1b(a){1a.2QZ=a.2QZ||1a.2QY()};Jm.1i.49Z=1b(){1f Oc(1a.24b,16)};Jm.1i.5zB=1b(){1f Oc(1a.24b,64)};Jm.1i.2QY=1b(){1f Oc(1a.24b,128)};Jm.1i.6me=1b(){1f Oc(1a.24b,15)};Jm.1i.6m1=1b(a){1f Oc(1a.24b,6md[a])};Jm.1i.6mc=1b(){1f 1a.24b&15};1d 6mb=1b(a){1j(1d b=a.1h,c=1g 1aq(b),d=1g 4L(c),e=0;e<b;++e)d[e]=a.19a(e);1f c}(\'E\\3vv\\44x\\8QU\\8QT"\\2R6\\4a7,\\2EB\\4MP\\8QS\\8QR\\8QQ\\8QP%\\2D2\\8QO,f)\\b\\8QN\\8QM%y\\nw\\8QL\\44A\\39G\\8QK\\8QJ\\65b\\8QI\\8QH\\4Wa[\\4MN@V\\f\\4MK\\8QG\\6ma\\8QF|\\8QE\\8QD\\8QC\\2R6\\39E{\\39H\\8QB\\8QA\\8Qz\\8Qy\\4a7*\\65c\\8Qx\\4a8\\4MZ\\8Qw\\8Qv>8Qu\\4MI\\3vo\\39G.\\3vo\\8Qt\\3cl\\2P2\\8Qs"\\4a5\\8Qr"\\f3"So\\8Qq\\2Q5\\8Qp\\8Qo\\8Qn\\8Qm\\4MD\\3vs\\4a6\\4MR\\\\\\8Ql\\3zy"ux\\6m7\\44B\\8Qk\\8Qj;\\4MQ\\65i\\6ma\\4a6\\39G<8Qi\\4We\\2R6\\\'8Qh\\4Wd\\8Qg\\8Qf}a?\\8Qe\\1Ke\\3zy\\4a8\\4a5\\65e\\8Qd\\651\\4a2\\8Qc\\39E\\4a4\\4ML\\2R6\\4Wb\\64W\\4W6\\\'{\\6m6\\3vu+\\8Qb\\4W7\\44y\\65h\\\\\\8Qa\\4MT[/F\\8Q9\\4Wg/\\\'C.\\4N0\\n\\f^\\4a3\\2R6\\4a3\\8Q8\\8Q7\\8Q6.jC\\\'c\\4a8#U\\2CV?q{gC}:\\4MJ\\4MP\\8Q5\\6m5\\8Q4\\2D2\\39I\\3zy/(\\44z\\44w\\\\\\2D2-f\\3zv\\3ck\\4MG;/\\4Wg*"N\\6m9\\8Q3.\\3vo\\r\\3zx}}G\\8Q2\\3zw\\8Q1\\3zw+>M\\4MS>}\\4MX\\8Q0\\6m4\\2D2\\8PZ\\8PY\\2R6-\\4Wf\\8PX\\656~q \\3ck\\3vw\\r1\\8PW\\2Q5\\8PV}\\2EB=\\b\\r\\2EB\\3zx\\8PU\\8PT\\4Wc$[k\\4MU\\2EB#\\4MU\\8PS\\64U\\r\\2Q5@\\39H\\3zy\\3vt\\8PR]\\4MT\\4a4\\2EB".\\8PQ\\8PP\\1Ke\\4MD\\8PO\\2D2\\65k\\8PN\\3vs{GL\\4a6\\6m8\\2EB\\2R6\\65j\\3vu\\8PM\\4W9\\2CV\\8PL\\3zv+S4\\4a5\\3zv\\4MW\\4a8\\8PK\\4a0\\4a1\\8PJ\\8PI\\8PH\\8PG\\44w-#\\8PF\\8PE\\8PD\\3ck"\\8PC\\3zw&/\\4N1\\8PB-6,rt\\39E#G\\64V\\4MO\\44y&\\3cl\\8PA\\39I\\1Ke\\8Pz\\3vr\\4a3\\8Py-\\4a4\\3vq`\\8Px#i*|\\8Pw\\r\\8Pv.)\\65l\\4W8\\8Pu\\8Pt\\8Ps\\4Wh\\\\>T\\65g\\8Pr[\\2Q5\\8Pq\\2EB\\8Pp(\\8Po\\4Wd\\3vp\\8Pn\\8Pm\\8Pl\\4Wh \\8Pk\\39I\\8Pj~\\8Pi\\4Wa-z\\8Ph\\44C\\8Pg\\8Pf\\6m2\\4a1]s\\4N2\\4MY \\8Pe\\3vw \\6m3\\39G\\4W6\\8Pd\\2EB|G\\4a0`\\39E\\3cl\\44x&\\8Pc\\4MH\\44C\\3zy\\6m9\\8Pb\\4We=\\4MO\\4MR\\8Pa\\4Wh\\4W7+S\\8P9\\\\q\\4Wf\\2D2\\8P8\\8P7<\\652\\39H)=R\\8P6\\8P5\\2CV}e\\4MI\\3vu\\3vr\\r\\3vv=\\65d\\b\\8P4\\2P2#\\t\\3vt\\3vs^PI\\8P3\\39H\\8P2\\8P1\\4MF{+\\3vt\\3cl\\4Wg\\8P0\\4a7;\\8OZ\\8OY\\r\\4a7\\3ck\\3cl\\44y\\8OX\\3vp?\\39I\\44B\\8OW\\4MM\\8OV\\8OU\\3vq\\8OT\\3vr\\654\\1Ke\\64X\\64Y\\8OS\\8OR\\4Wb\\4Wc\\4MX H\\3vt]\\4a6~\\8OQ \\8OP\\4Me\\8OO\\2CV\\8ON\\4Wf<\\4We\\4Wd\\8OM\\8OL\\3vw)I\\44A]-\\6m8\\655\\8OK\\4a5\\2CV;f\\4a2\\4Wc\\8OJ\\4ML\\4MH=P^R\\8OI\\8OH\\4MY\\3vv.Y\\3zv\\3zx\\8OG\\8OF\\8OE\\4a0>\\\'\\\'\\44C`\\3vp;\\44z\\8OD\\8OC\\3cl>?\\8OB\\8OA\\659\\n\\4N0?R\\4ME\\8Oz^1I7\\4W9\\3vv\\4MZ\\6m7&-\\2CV\\4Wb\\3vs\\6m6\\\'T\\2P2\\8Oy \\4N2*x\\4Wa\\39E\\44A\\8Ox\\4MS\\8Ow\\44x\\3ck\\4MF\\8Ov\\8Ou~\\8Ot?f\\4a4\\65f>\\8Os\\8Or\\4MG\\8Oq\\4MJ\\8Op\\6m5\\\'\\8Oo\\65a\\8On\\8Om\\1Ke\\8Ol\\2Q5\\44w-\\4W8\\6m4\\8Ok\\4a1\\64Z\\bQ\\4a2`\\4MQ\\8Oj&\\8Oi\\2P2\\39H\\8Oh\\39I[y`8Og\\n>\\44B\\8Of\\3zw\\8Oe\\r\\2D2\\8Od\\4MV\\fY\\4MK\\8Oc\\3vq)\\4W9\\4a3{II\\8Ob\\8Oa.6\\4N1\\2Q5:\\8O9\\8O8{\\8O7\\3zx/\\8O6{\\8O5!\\4MV\\8O4\\3zx})"x\\3ck\\n\\6m3\\3vo\\8O3\\\\\\2P2\\3vq\\8O2\\3vr\\39G\\8O1|3\\4a2\\4MN\\8O0\\2P2\\6m2*u\\3vp`\\3zw\\4a1\\8NZ\\4MM\\65m\\4a0\\44z\\4W8\\3vw\\8NY\\4ME\\4MW(1\\3zv-\\8NX\\4W7\\3vu\\8NW|\\4W6["\');1L.2X(Eh.1i,{2I:{1n:1b(){1f 1a.12o.2I}},1aQ:{1n:1b(){1f 1a.12o.1aQ}},1Wu:{1n:1b(){1f 1a.12o}},9c:{1n:1b(){1f 1a.7S}}});Eh.2nv=1b(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;Oc(b,e)?Oc(a,e)&&(f|=1):(f|=2,Oc(a,e)||(f|=1));d+=f}1f d};Eh.5FY=1b(a){1j(1d b=0,c=0,d=a.1h-1,e=d;0<=e;--e){1d f=1<<e,h=+a[d-e];Oc(h,2)?Oc(h,1)||(b|=f):(c|=f,Oc(h,1)&&(b|=f))}1f{x:b,y:c,6b:d}};Eh.1i.2nu=1b(a){1d b=1a.2iA(a);if(g(b))1f 1F!==b;1j(1d c=!0,d;1<a.1h;)if(d=a.11c(a.1h-1),a=a.11c(0,a.1h-1),b=1a.2iA(a),g(b)){b.49Z()||b.6m1(8A(d))||(c=!1);1W}1s if(1F===b){c=!1;1W}1f c};1d o1=1g Vc("6lL",3a.19B);Eh.1i.4W5=1b(a,b,c){b=m(b,1);a=m(a,"");b=1a.12o.16M({2I:"49Y?q2-0"+a+"-q."+b.5s(),7M:c}).1kw();if(g(b)){1d d=1a.24a,e=1a.10t;1f b.4b(1b(b){1f o1.1fa({3J:b,1b3:a,1I:"6m0",10t:e},[b]).4b(1b(b){1d c=-1;if(""!==a){c=a.1h+1;1d e=b[a];1d f=d[a];f.24b|=e.24b;4Y b[a]}e=1L.9K(b);e.15F(1b(a,b){1f a.1h-b.1h});1j(1d h=e.1h,g=0;g<h;++g){1d k=e[g];if(1F!==b[k]){1d m=Jm.1y(b[k]),t=k.1h;t===c?m.4W4(f):1<t&&(t=d[k.11c(0,k.1h-1)],m.4W4(t));d[k]=m}1s d[k]=1F}})})}};Eh.1i.4uG=1b(a,b,c,d){a=Eh.2nv(a,b,c);1f bP(1a,a,d)};Eh.1i.3RY=1b(a,b,c){a=Eh.2nv(a,b,c);1f 1a.24a[a]};Eh.1i.2iA=1b(a){1f 1a.24a[a]};1d dP,cP;1L.2X(Ap.1i,{1mn:{1n:1b(){1f 1a.1Ny}},1UM:{1n:1b(){}}});1d 6lY=1g Vc("8NV"),4W3=1g Q,zW=1g Q;Ap.1i.3z0=1b(a,b,c,d,e){v.1N.2c("8c",a);v.1N.2b("x",b);v.1N.2b("y",c);v.1N.2b("6b",d);1d f=a.3c;a.1JE(b,c,d,4W3);a.1d1(b,c,d,zW);e=m(e,1);1d h=f.13B(Q.2V(zW));1a.1NI=1k.2o(6lZ.16/(1<<d)*8,1E3);a=6lY.1fa({3J:1a.1hW,3cj:4W3,3g:zW,3zu:h,3c:f,3ci:1a.1NI,1MU:e,3zt:!0,241:1a.6lX,3cd:1a.6lW});if(g(a)){1d l=1a;1f a.4b(1b(a){l.1sY=1g nx(h,1g 4A(a.1co),1g 10Y(a.4N),a.27O,a.3ch,a.13w,a.12x,P.1y(a.21e),k.1y(a.1UK),a.2r4,yc.1y(a.1ls),Bh.1y(a.19F),e,a.1KC,a.1KB,a.1KA,a.1Kz);l.1GD=a.13w;l.1DY=a.12x;l.1hW=1p 0;1f l.1sY})}};Ap.1i.3bW=1b(a,b,c){b=B.2Y((b-a.4o)/a.1G,0,1);c=B.2Y((c-a.4C)/a.1D,0,1);if(!g(1a.1sY)){a:{1d d=1a.1hW,e=0,f=0,h=0;.5<c?(.5<b?(e=2,f=.5):e=3,h=.5):.5<b&&(e=1,f=.5);d=1g 1dE(d);1j(1d l=0,p=0;p<e;++p)l+=d.9A(l,!0),l+=4VT;l+=4VT;l+=2*AW;p=B.8I(180*d.1DC(l,!0));l+=AW;e=B.8I(180*d.1DC(l,!0));l+=AW;1d k=a.1G/p/2,z=a.1D/e/2,m=d.1PA(l,!0);l+=BW;a=3*d.1PA(l,!0);l+=BW;l+=BW;e=2K(m);p=2K(m);1d x=2K(m),D;1j(D=0;D<m;++D)e[D]=f+d.1wX(l++)*k,p[D]=h+d.1wX(l++)*z,x[D]=8NU*d.2xx(l,!0),l+=6lM;f=2K(a);1j(D=0;D<a;++D)f[D]=d.20g(l,!0),l+=6lN;1j(D=0;D<a;D+=3)if(h=f[D],d=f[D+1],l=f[D+2],k=xE.3zs(b,c,e[h],p[h],e[d],p[d],e[l],p[l],4VU),-1E-15<=k.x&&-1E-15<=k.y&&-1E-15<=k.z){b=k.x*x[h]+k.y*x[d]+k.z*x[l];1W a}b=1p 0}1f b}a:{d=1a.1sY;f=d.1co;h=d.19F;a=d.4N;e=0;1j(p=a.1h;e<p;e+=3)if(x=a[e],l=a[e+1],d=a[e+2],D=h.1Wt(f,x,6lQ),k=h.1Wt(f,l,6lP),z=h.1Wt(f,d,6lO),D=xE.3zs(b,c,D.x,D.y,k.x,k.y,z.x,z.y,4VU),-1E-15<=D.x&&-1E-15<=D.y&&-1E-15<=D.z){b=h.1Ky(f,x);c=h.1Ky(f,l);f=h.1Ky(f,d);b=D.x*b+D.y*c+D.z*f;1W a}b=1p 0}1f b};1d 6lU=1g Vc("6lV");Ap.1i.3yZ=1b(a,b,c,d,e,f,h){v.1N.2c("8c",a);v.1N.2b("3cf",b);v.1N.2b("3ce",c);v.1N.2b("4W2",d);v.1N.2b("4W1",e);v.1N.2b("4W0",f);v.1N.2b("4VZ",h);if(1<h-d)1t 1g r("4VY 4VX 1v5 6L 1bS 6b at a 6q is 2S 2zE 11J.");d=1a.1sY;if(g(1a.1sY)){b=2*b!==e;c=2*c===f;1d l=a.3c;a=a.1d1(e,f,h);a=6lU.1fa({1co:d.1co,4N:d.4N,27O:d.27O,3ch:d.3ch,19F:d.19F,13w:1a.1GD,12x:1a.1DY,6lT:b,6lS:c,6lR:a,3c:l,1MU:d.1MU});if(g(a)){1d p=1a;1f a.4b(1b(a){1d b=1g 10Y(a.1co),c=Ta.9g(b.1h/3,a.4N),d=p.1NI;1f 1g Sn({2R5:b,4N:c,13w:a.13w,12x:a.12x,7u:P.1y(a.7u),1ls:yc.1y(a.1ls),2rk:k.1y(a.2rk),2rj:a.2rj,2ri:a.2ri,2rh:a.2rh,2rg:a.2rg,2R4:d,2R3:d,2R2:d,2R1:d,1Ku:0,3cg:!0,1mn:p.1Ny})})}}};Ap.1i.33D=1b(a,b,c,d){v.1N.2b("3cf",a);v.1N.2b("3ce",b);v.1N.2b("4VW",c);v.1N.2b("4VV",d);1d e=2;c!==2*a&&++e;d!==2*b&&(e-=2);1f 0!==(1a.2EA&1<<e)};Ap.1i.342=1b(){1f 1a.2Lx};1d 6lQ=1g C,6lP=1g C,6lO=1g C,4VU=1g k,6lN=10Y.12T,4VT=12X.12T,BW=1fZ.12T,6lM=4A.12T,AW=13X.12T,ql={1Ps:0,6i:1,4VR:2,49W:3},SL=1g M;cH.1i.add=1b(a,b){1a.2R0[a]={3J:b,49X:M.14H()}};cH.1i.1n=1b(a){1d b=1a.2R0[a];if(g(b))1f 4Y 1a.2R0[a],b.3J};cH.1i.6lK=1b(){M.14H(SL);if(10<M.1dA(SL,1a.4VS)){1j(1d a=1a.2R0,b=1L.9K(a),c=b.1h,d=0;d<c;++d){1d e=b[d];10<M.1dA(SL,a[e].49X)&&4Y a[e]}M.1y(SL,1a.4VS)}};1L.2X(Lx.1i,{2I:{1n:1b(){1f 1a.20Z.2I}},1aQ:{1n:1b(){1f 1a.20Z.1aQ}},8c:{1n:1b(){if(!1a.4y)1t 1g r("8c 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S}},9L:{1n:1b(){1f 1a.1dh}},1z3:{1n:1b(){1f!1}},1lp:{1n:1b(){1f!1}},1b9:{1n:1b(){}}});1d 6lG=1g Vc("6lL",3a.19B);Lx.1i.1Bf=1b(a,b,c,d){if(!1a.4y)1t 1g r("1Bf 2Q 2S be 7I 8w 1Z 1st 9Z is 3o.");1d e=Eh.2nv(a,b,c),f=1a.2R0,h=1a.20Z,l=h.2iA(e);if(!g(l))1f Z.7N(1g qa("2iB 11H 2en\'t 1GM"));a=l.19M;g(a)||(a=l.19M=ql.1Ps);b=f.1n(e);if(g(b))1f a=h.217[l.16u],Z.5h(1g Ap({3J:b,1Ku:p1(e,l,h),1mn:g(a)?[a]:1p 0,241:h.241,3cd:h.3zr}));f.6lK();if(!l.2QZ)1f Z.5h(1g Ch({3J:1g 4L(256),1G:16,1D:16}));if(a===ql.6i)1f Z.7N(1g qa("2iB 11H 2en\'t 1GM"));1d p=e;b=-1;6U(a){1S ql.4VR:b=l.2Ez;1W;1S ql.49W:p=p.11c(0,p.1h-1);a=h.2iA(p);b=a.2Ez;1W;1S ql.1Ps:l.2QY()?b=l.2Ez:(p=p.11c(0,p.1h-1),a=h.2iA(p),g(a)&&a.2QY()&&(b=a.2Ez))}if(0>b)1f Z.7N(1g qa("2iB 11H 2en\'t 1GM"));1d k=1a.6lJ,z=1a.6lI;if(g(k[p])){a=k[p];1d m=z[p]}1s{m=d;a=6lH(1a,p,b,m).1kw();if(!g(a))1f;a=a.4b(1b(a){1f g(a)?6lG.1fa({3J:a,1I:"2iB",10t:h.10t},[a]).4b(1b(a){1d b=h.2iA(p);b.19M=ql.4VR;f.add(p,a[0]);b=b.16u;1j(1d c=a.1h-1,d=0;d<c;++d){1d e=p+d.5s(),l=h.2iA(e);g(l)&&(f.add(e,a[d+1]),l.19M=ql.49W,0===l.16u&&(l.16u=b))}}):Z.7N(1g qa("21Z to 1e4 1st."))});k[p]=a;z[p]=m;a=a.2aR(1b(){4Y k[p];4Y z[p]})}1f a.4b(1b(){1d a=f.1n(e);if(g(a)){1d b=h.217[l.16u];1f 1g Ap({3J:a,1Ku:p1(e,l,h),1mn:g(b)?[b]:1p 0,241:h.241,3cd:h.3zr})}1f Z.7N(1g qa("21Z to 1e4 1st."))}).10g(1b(a){if(m.4F===$d.21n)1f d.4F=m.4F,Z.7N(a);l.19M=ql.6i;1f Z.7N(a)})};Lx.1i.1DR=1b(a){1f 1a.1RD/(1<<a)};Lx.1i.2fl=1b(a,b,c){1d d=1a.20Z,e=Eh.2nv(a,b,c),f=d.3RY(a,b,c);if(1F===f)1f!1;if(g(f)){if(!f.2QZ)1f!0;a=f.19M;if(a===ql.6i)1f!1;if(!g(a)||a===ql.1Ps)if(f.19M=ql.1Ps,!f.2QY()&&(e=e.11c(0,e.1h-1),d=d.2iA(e),!g(d)||!d.2QY()))1f!1;1f!0}d.2nu(e)&&(e=1g Ke({1j8:!0,1mj:!0,1I:Jd.1Q8}),d.4uG(a,b,c,e));1f!1};Lx.1i.2Eh=1b(a,b,c){};1d CW=[Td,Uc],6lF=CW.1h,u1=1k.3i(B.8I(30)),v1=1k.3i(B.8I(150));1L.2X(Zn.1i,{4q:{1n:1b(){1f 3*1a.9h.1h+4+ba.4q+1+1}}});Zn.6fh=1b(a,b){1j(1d c=0,d=0;d<6lF;d++)if(b 2m CW[d]){c=d;1W}a.3cc=c;a.5W=b.3c};1d 6lE=1g k,q1=1g k,r1=1g k,6lD=1g T,6lC=1g k,6lB=1g k,6lA=1g k,hP=1g T;Zn.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);1d d=a.9h,e=d.1h;b[c++]=e;1j(1d f=0;f<e;++f)k.5n(d[f],b,c),c+=3;b[c++]=a.6f;b[c++]=a.1qB?1:0;b[c++]=a.14g;ba.5n(a.5W,b,c);c+=ba.4q;b[c++]=a.3cc;b[c++]=a.3bz?1:0;1f b};Zn.5f=1b(a,b,c){v.2l("4x",a);1d d=m(b,0),e=a[d++];b=2K(e);1j(1d f=0;f<e;f++)b[f]=k.5f(a,d),d+=3;f=a[d++];1d h=1===a[d++],l=a[d++],p=ba.5f(a,d);d+=ba.4q;e=a[d++];a=1===a[d++];if(!g(c))1f c=1g Zn({3q:b,6f:f,1qB:h,14g:l,3c:p}),c.3cc=e,c.3bz=a,c;c.9h=b;c.6f=f;c.1qB=h;c.14g=l;c.5W=p;c.3cc=e;c.3bz=a;1f c};1d 6lz=1g k,6ly=1g k,6lx=1g k,6lw=1g k,6lv=1g Cb(k.1dl,0),s1=1g k,eH=Cb.1zd(k.6h,k.1f5),6lu=1g k,6lt=1g k,6ls=1g k,6lr=1g k,6lq=1g k,TL=1g k,UL=1g T,4VQ=1g T,4VO=1g T;Zn.14t=1b(a){1d b=!a.3bz,c=a.1qB,d=a.5W,e=a.6f,f=a.14g,h=1g CW[a.3cc](d),l,p=a.9h,n=p.1h;2===n&&(c=!1);1d z=1g ch(1p 0,1p 0,d),m=[p[0]];1j(l=0;l<n-1;l++){1d x=p[l];1d D=p[l+1];1d t=ib.1EQ(x,D,eH,TL);if(g(t)&&!k.5T(t,x,B.1hn)&&!k.5T(t,D,B.1hn))if(a.14g===Ib.1gi)m.1q(k.1y(t));1s if(a.14g===Ib.1sX){1d q=d.10Z(t,UL).3N;1d r=d.10Z(x,UL);1d u=d.10Z(D,4VQ);z.1Nh(r,u);1d v=z.4VP(q,4VO);t=d.13B(v,TL);!g(t)||k.5T(t,x,B.1hn)||k.5T(t,D,B.1hn)||m.1q(k.1y(t))}m.1q(D)}c&&(x=p[n-1],D=p[0],t=ib.1EQ(x,D,eH,TL),!g(t)||k.5T(t,x,B.1hn)||k.5T(t,D,B.1hn)||(a.14g===Ib.1gi?m.1q(k.1y(t)):a.14g===Ib.1sX&&(q=d.10Z(t,UL).3N,r=d.10Z(x,UL),u=d.10Z(D,4VQ),z.1Nh(r,u),v=z.4VP(q,4VO),t=d.13B(v,TL),!g(t)||k.5T(t,x,B.1hn)||k.5T(t,D,B.1hn)||m.1q(k.1y(t)))));1d y=m.1h,A=2K(y);1j(l=0;l<y;l++){1d C=T.12y(m[l],d);C.1D=0;A[l]=C}A=$h(A,T.5T);y=A.1h;if(!(2>y)){1d K=[],Fa=[],L=[],S=[],U=6lu,R=6lt,V=6ls,W=6lr,da=6lq,ea=A[0],E=A[1];U=Gi(d,A[y-1],0,U);W=Gi(d,E,0,W);R=Gi(d,ea,0,R);V=Gi(d,ea,1E3,V);da=c?iP(U,R,V,W,da):fP(ea,E,1E3,d,da);k.5n(da,Fa,0);k.5n(R,L,0);k.5n(V,S,0);K.1q(ea.4k);K.1q(ea.3N);gP(ea,E,0,1E3,e,f,d,Fa,L,S,K);1j(l=1;l<y-1;++l){U=k.1y(R,U);R=k.1y(W,R);1d F=A[l];Gi(d,F,1E3,V);Gi(d,A[l+1],0,W);iP(U,R,V,W,da);1d H=Fa.1h;k.5n(da,Fa,H);k.5n(R,L,H);k.5n(V,S,H);K.1q(F.4k);K.1q(F.3N);gP(A[l],A[l+1],0,1E3,e,f,d,Fa,L,S,K)}1d J=A[y-1],Ob=A[y-2];R=Gi(d,J,0,R);V=Gi(d,J,1E3,V);if(c){1d vd=A[0];U=Gi(d,Ob,0,U);W=Gi(d,vd,0,W);da=iP(U,R,V,W,da)}1s da=fP(Ob,J,1E3,d,da);H=Fa.1h;k.5n(da,Fa,H);k.5n(R,L,H);k.5n(V,S,H);K.1q(J.4k);K.1q(J.3N);if(c){gP(J,ea,0,1E3,e,f,d,Fa,L,S,K);H=Fa.1h;1j(l=0;3>l;++l)Fa[H+l]=Fa[l],L[H+l]=L[l],S[H+l]=S[l];K.1q(ea.4k);K.1q(ea.3N)}1d uc=c,sc,cd=h.5W,mc=L.1h/3-1,Xb=8*mc,ld=4*Xb,ae=36*mc,M=1a6<Xb?1g 12X(ae):1g 10Y(ae),N=1g 13X(3*Xb),O=1g 4A(ld),Z=1g 4A(ld),X=1g 4A(ld),ba=1g 4A(ld),Y=1g 4A(ld);if(b){1d ha=1g 4A(ld);1d be=1g 4A(ld);1d ca=1g 4A(ld);1d ia=1g 4A(2*Xb)}1d fa=K.1h/2,ma=0,Mf=4VK;Mf.1D=0;1d ja=4VJ;ja.1D=0;1d pa=4VM,ff=DW;if(b){1d Kc=0;1j(sc=1;sc<fa;sc++)Mf.4k=K[Kc],Mf.3N=K[Kc+1],ja.4k=K[Kc+2],ja.3N=K[Kc+3],pa=h.12z(Mf,pa),ff=h.12z(ja,ff),ma+=k.3s(pa,ff),Kc+=2}1d gG=S.1h/3;ff=k.5f(S,0,ff);1d Ce=0;Kc=3;1j(sc=1;sc<gG;sc++)pa=k.1y(ff,pa),ff=k.5f(S,Kc,ff),Ce+=k.3s(pa,ff),Kc+=3;1d la;Kc=3;1d qa=0,sa=0,na=0,ta=0,ua=!1,wa=k.5f(L,0,4VL),va=k.5f(S,0,DW),xa=k.5f(Fa,0,$ga);if(uc){1d ya=k.5f(L,L.1h-6,aha);t1(xa,ya,wa,va)&&(xa=k.11k(xa,xa))}1d ra=0,Aa=0,Ca=0;1j(sc=0;sc<mc;sc++){1d za=k.1y(wa,aha),Da=k.1y(va,4VM),Ba=k.1y(xa,6lj);ua&&(Ba=k.11k(Ba,Ba));wa=k.5f(L,Kc,4VL);va=k.5f(S,Kc,DW);xa=k.5f(Fa,Kc,$ga);ua=t1(xa,za,wa,va);Mf.4k=K[qa];Mf.3N=K[qa+1];ja.4k=K[qa+2];ja.3N=K[qa+3];if(b){1d Ha=Mf,Ja=ja,Ia=1k.abs(Ha.3N),Oa=1k.abs(Ja.3N);if(B.5T(Ia,B.PI,B.3cb)){1d Ka=B.12q(Ja.3N);Ha.3N=Ka*(Ia-B.3cb);1d La=1}1s if(B.5T(Oa,B.PI,B.3cb)){1d Na=B.12q(Ha.3N);Ja.3N=Na*(Oa-B.3cb);La=2}1s La=0;1d Ma=h.12z(Mf,6lc);1d Ra=h.12z(ja,6lb);1d Ga=$n(Ra,Ma,4VH);Ga.y=1k.abs(Ga.y);1d Ta=EW;1d Ua=FW;0===La||k.2A(Ga,k.1f5)>u1?(Ta=BB(h,Mf,Ba,Ma,EW),Ua=BB(h,ja,xa,Ra,FW)):1===La?(Ua=BB(h,ja,xa,Ra,FW),Ta.x=0,Ta.y=B.12q(Mf.3N-1k.abs(ja.3N)),Ta.z=0):(Ta=BB(h,Mf,Ba,Ma,EW),Ua.x=0,Ua.y=B.12q(Mf.3N-ja.3N),Ua.z=0)}1d Va=k.3s(Da,va),Za=bc.12y(za,6l5),Wa=k.3V(wa,za,6la),bb=k.1T(Wa,4VI),Xa=k.3V(Da,za,6l9);Xa=k.1T(Xa,Xa);1d Ya=k.4B(bb,Xa,4VI);Ya=k.1T(Ya,Ya);1d ab=k.4B(Xa,Ba,6l7);ab=k.1T(ab,ab);1d fb=k.3V(va,wa,6l8);fb=k.1T(fb,fb);1d eb=k.4B(xa,fb,6l6);eb=k.1T(eb,eb);1d Ea=Va/Ce,kb=ra/Ce,db=0,jb=0,hb=0;if(b){db=k.3s(Ma,Ra);1d gb=bc.12y(Ma,6l4);1d sb=k.3V(Ra,Ma,4VH);1d Qa=k.1T(sb,6l3);1d mb=Qa.x;Qa.x=Qa.y;Qa.y=-mb;jb=db/ma;hb=Aa/ma}1j(la=0;8>la;la++){1d cb=ta+4*la,pb=sa+2*la,nb=cb+3,rb=4>la?1:-1,qb=2===la||3===la||6===la||7===la?1:-1;k.5n(Za.162,O,cb);O[nb]=Wa.x;k.5n(Za.15r,Z,cb);Z[nb]=Wa.y;k.5n(ab,X,cb);X[nb]=Wa.z;k.5n(eb,ba,cb);ba[nb]=Ea*rb;k.5n(Ya,Y,cb);1d ob=kb*qb;0===ob&&0>qb&&(ob=3a.19B);Y[nb]=ob;b&&(ha[cb]=gb.162.x,ha[cb+1]=gb.162.y,ha[cb+2]=gb.15r.x,ha[cb+3]=gb.15r.y,ca[cb]=-Ta.y,ca[cb+1]=Ta.x,ca[cb+2]=Ua.y,ca[cb+3]=-Ua.x,be[cb]=sb.x,be[cb+1]=sb.y,be[cb+2]=Qa.x,be[cb+3]=Qa.y,ia[pb]=jb*rb,ob=hb*qb,0===ob&&0>qb&&(ob=3a.19B),ia[pb+1]=ob)}1d tb=6le,ub=6ld,vb=6lg,xb=6lf,Fb=Q.3Sb(6li,6lh),Db=nd.29x(Fb,cd),Cb=Db.1UL,Eb=Db.4VN;Ca+=Cb;Ca+=Eb;y1(za,Da,Cb,Eb,tb,vb);y1(wa,va,Cb,Eb,ub,xb);1d zb=k.4g(Ya,B.1tO,4VG);k.add(tb,zb,tb);k.add(ub,zb,ub);k.add(vb,zb,vb);k.add(xb,zb,xb);dH(tb,ub);dH(vb,xb);k.5n(tb,N,na);k.5n(ub,N,na+3);k.5n(xb,N,na+6);k.5n(vb,N,na+9);zb=k.4g(Ya,-2*B.1tO,4VG);k.add(tb,zb,tb);k.add(ub,zb,ub);k.add(vb,zb,vb);k.add(xb,zb,xb);dH(tb,ub);dH(vb,xb);k.5n(tb,N,na+12);k.5n(ub,N,na+15);k.5n(xb,N,na+18);k.5n(vb,N,na+21);qa+=2;Kc+=3;sa+=16;na+=24;ta+=32;ra+=Va;Aa+=db}1d Ab=Kc=0;1j(sc=0;sc<mc;sc++){1j(la=0;la<4VF;la++)M[Kc+la]=4VE[la]+Ab;Ab+=8;Kc+=4VF}1d wb=6l2;P.1ND(L,k.6h,3,wb[0]);P.1ND(S,k.6h,3,wb[1]);1d Gb=P.1zi(wb);Gb.3L+=Ca/(2*mc);1d yb={1K:1g Pa({3k:I.18l,2Z:3,1T:!1,2a:N}),1nZ:Ir(O),1nY:Ir(Z),1nX:Ir(X),1jx:Ir(ba),1lS:Ir(Y)};b&&(yb.1SI=Ir(ha),yb.1Lh=Ir(be),yb.1SH=Ir(ca),yb.1qh=1g Pa({3k:I.3O,2Z:2,1T:!1,2a:ia}));1f 1g Pb({2w:yb,4N:M,7u:Gb})}};1d 6lp=1g k,6lo=1g J,6ln=1g ca,x1=1g T,6lm=1g k,w1=1g k,6ll=1g k,z1=1g k,6lk=1g k,4VK=1g T,4VJ=1g T,4VM=1g k,DW=1g k,aha=1g k,4VL=1g k,6lj=1g k,$ga=1g k,6li=[4VK,4VJ],6lh=1g Q,6lg=1g k,6lf=1g k,6le=1g k,6ld=1g k,6lc=1g k,6lb=1g k,EW=1g k,FW=1g k,6la=1g k,6l9=1g k,6l8=1g k,4VI=1g k,6l7=1g k,6l6=1g k,6l5=1g bc,6l4=1g bc,4VH=1g k,6l3=1g k,4VG=1g k,6l2=[1g P,1g P],4VE=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],4VF=4VE.1h;Zn.8NT=BB;Bp.1y=1b(a,b){if(g(a))1f g(b)||(b=1g Bp),b.8e=a.8e,b.8q=a.8q,b.11D=a.11D,b};1d 6l1=B.4VD,GW={1I:"8NS",3vT:1b(a,b){b=m(b,0);if(!g(a))1t 1g r("4Ma is 1X.");if(0>a)1t 1g r("4Ma 2Q be 0 or 9U.");if(0>b)1t 1g r("8NR 2Q be 0 or 9U.");1f 1k.1V(1k.2t((a+1)/(b+1)),2)},3vR:1b(a,b,c,d,e){g(e)||(e=2K(d));1d f,h,l=b.1h,p=2K(d);1j(f=0;f<d;f++){e[f]=0;1d k=2K(l);p[f]=k;1j(h=0;h<l;h++)k[h]=[]}1d z=2K(l);1j(f=0;f<l;f++)z[f]=f;1d m=l-1;1j(k=0;k<d;k++){1j(h=0;h<l;h++){1d x=z[h]*d+k;p[k][0].1q(c[x])}1j(f=1;f<l;f++){1d D=!1;1j(h=0;h<l-f;h++){x=b[z[h]];1d t=b[z[h+f]];if(0>=t-x){x=z[h]*d+d*f+k;1d q=c[x];p[k][f].1q(q/6l1(f))}1s q=p[k][f-1][h+1]-p[k][f-1][h],p[k][f].1q(q/(t-x));D=D||0!==q}D||(m=f-1)}}1j(c=0;0>=c;c++)1j(f=c;f<=m;f++)1j(h=jP(a,z,b,c,f,[]),k=0;k<d;k++)e[k+c*d]+=p[k][f][0]*h;1f e}},OE=[];GW.1d9=1b(a,b,c,d,e,f,h){1d l=d*(f+1);g(h)||(h=2K(l));1j(1d p=0;p<l;p++)h[p]=0;p=b.1h;l=2K(p*(e+1));1d k;1j(k=0;k<p;k++)1j(1d z=0;z<e+1;z++)l[k*(e+1)+z]=k;p=l.1h;z=-1;1j(1d m=l.1h,x=m*(m+1)/2,D=0;D<d;D++){1d t=1k.2t(D*x);1j(k=0;k<m;k++){1d q=l[k]*d*(e+1)+D;OE[t+k]=c[q]}1j(1d r=1;r<m;r++){1d u=0,v=1k.2t(r*(1-r)/2)+m*r,y=!1;1j(k=0;k<m-r;k++){q=b[l[k]];1d A=b[l[k+r]];if(0>=A-q){q=l[k]*d*(e+1)+d*r+D;1d C=c[q];q=C/B.4VD(r)}1s C=1k.2t((r-1)*(2-r)/2)+m*(r-1),C=OE[t+C+k+1]-OE[t+C+k],q=C/(A-q);OE[t+v+u]=q;u++;y=y||0!==C}y&&(z=1k.1V(z,r))}}c=z;e=[];z=p*(p+1)/2;f=1k.2o(c,f);1j(m=0;m<=f;m++)1j(k=m;k<=c;k++)1j(e.1h=0,x=jP(a,l,b,m,k,e),D=1k.2t(k*(1-k)/2)+p*k,t=0;t<d;t++)h[t+m*d]+=OE[1k.2t(t*z)+D]*x;1f h};1d Cc=1L.3F({1ml:{6i:0,2Bd:1,1TB:2,3oD:3},2fg:{2L9:0,8NQ:1,3S9:2},1qT:{11U:0,10U:1}});Jr.1i.1M=1b(){1a.1EO.1h=0;g(1a.17h)&&1a.17h.1M()};1L.2X(Jr.1i,{2nO:{1n:1b(){1f 1a.2it},1C:1b(a){1a.2it=a}},2fp:{1n:1b(){1f 1a.2iu},1C:1b(a){1a.2iu=a}},2nM:{1n:1b(){1f 1a.1z7},1C:1b(a){1a.1z7=a}},2nN:{1n:1b(){1f 1a.1oq},1C:1b(a){1a.1oq=a}},1FE:{1n:1b(){1f 1a.17h},1C:1b(a){if(g(a)){if(1a.17h=bh.1y(a,1a.17h),1a.23U=!0,a=1a.17h.7Z(),!(1>a)){1d b=0,c=0,d=1a.17h.2eK(0);g(d)&&g(d.1eD)&&(b=7L(d.1eD));d=1a.17h.2eK(a-1);g(d)&&g(d.1eD)&&(c=7L(d.1eD));1a.1z7=1k.1V(b,c);1a.1oq=1k.2o(b,c)}}1s g(1a.17h)&&(1a.17h.1M(),1a.17h=1F)}},2zg:{1n:1b(){1f 1a.1n8},1C:1b(a){1a.1n8=a}},2fb:{1n:1b(){1f 1a.1EO},1C:1b(a){1a.23T=!0;1a.1EO.1h=0;if(g(a))1j(1d b=0;b<a.1h;b++)1a.1EO[b]=a[b]}},1ml:{1n:1b(){1f 1a.1N8},1C:1b(a){1a.1N8=a}},1MA:{1n:1b(){1f 1a.1hu},1C:1b(a){y.1y(a,1a.1hu)}},3oX:{1n:1b(){1f 1a.3zq},1C:1b(a){1a.3zq=a}},6iz:{1n:1b(){1f 1a.23U},1C:1b(a){1a.23U=a}},3oh:{1n:1b(){1f 1a.23T},1C:1b(a){1a.23T=a}},8NP:{1n:1b(){1f 1a.2Ey},1C:1b(a){1a.2Ey=a;1a.35m=!0}},8NO:{1n:1b(){1f 1a.2ps.x},1C:1b(a){1a.2ps.x=a}},8NN:{1n:1b(){1f 1a.2ps.y},1C:1b(a){1a.2ps.y=a}},8NM:{1n:1b(){1f 1a.2Nt},1C:1b(a){1a.2Nt=a}},5Sw:{1n:1b(){1f 1a.2QX},1C:1b(a){g(a)&&(1a.2QX=y.1y(a,1a.2QX))}},1x7:{1n:1b(){1f 1a.3zp},1C:1b(a){1a.3zp=a}}});Jr.1y=1b(a,b){if(g(a)){g(b)||(b=1g Jr);b.2iu=a.2iu;b.2it=a.2it;b.1oq=a.1oq;b.1z7=a.1z7;b.1n8=a.1n8;b.23U=a.23U;b.3zq=a.3zq;b.23T=a.23T;b.1N8=a.1N8;b.1hu=y.1y(a.1hu,b.1hu);b.17h=bh.1y(a.17h,b.17h);b.2ps=k.1y(a.2ps,b.2ps);b.2Nt=k.1y(a.2Nt,b.2Nt);b.2Ey=a.2Ey;b.2QX=y.1y(a.2QX,b.2QX);1j(1d c=b.1EO.1h=0;c<a.1EO.1h;c++)b.1EO[c]=a.1EO[c];b.3zp=a.3zp;1f b}};1d lP={},HW=1g M;lP.6l0=1b(a,b){g(a)||(a=M.14H());HW=M.190(a,32.184,HW);a=M.4VC(HW)-2QK;1d c=a/Ed.3bY,d=(125.8NL+-.8NK*a)*B.15y,e=(250.3jW+-.8NJ*a)*B.15y,f=(260.2X4+13.8NI*a)*B.15y,h=(176.625+13.6kW*a)*B.15y,l=(357.529+.8NH*a)*B.15y,p=(311.589+26.8NG*a)*B.15y,k=(134.963+13.8NF*a)*B.15y,z=(276.617+.8NE*a)*B.15y,m=(34.226+1.8ND*a)*B.15y,x=(15.134+-.6kV*a)*B.15y,D=(119.743+.8NC*a)*B.15y,t=(239.961+.6kT*a)*B.15y,q=(25.3Mt+12.8NB*a)*B.15y,r=1k.2T(d),u=1k.2T(e),v=1k.2T(f),y=1k.2T(h),A=1k.2T(p),C=1k.2T(x),K=1k.2T(q);d=1k.3i(d);e=1k.3i(e);f=1k.3i(f);h=1k.3i(h);p=1k.3i(p);1d E=1k.3i(k);x=1k.3i(x);1d L=1k.3i(q);q=(269.8NA+.8Nz*c-3.8Ny*r-.8Nx*u+.4hC*v-.8Nw*y+.8Nv*A-.4VB*C+.8Nu*K)*B.15y;c=(66.6kZ+.8Nt*c+1.8Ns*d+.8Nr*e-.8Nq*f+.8Np*h-.8No*p+9E-4*E+8E-4*x-9E-4*L)*B.15y;k=(38.8Nn+13.6kX*a-1.4E-12*a*a+3.561*r+.8Nm*u-.8Nl*v+.4x9*y+.8Nk*1k.2T(l)-.8Nj*A-.6kY*1k.2T(k)-.8Ni*1k.2T(z)+.8Nh*1k.2T(m)+.4VB*C+.2kd*1k.2T(D)+.6kU*1k.2T(t)-.8Ng*K)*B.15y;a=(13.6kX-2.8E-12*a+-.8Nf*d+-.8Ne*e-.8Nd*f+.4x9*h*13.6kW+.8Nc*1k.3i(l)-.8Nb*p-.8Na*E-.8N9*1k.3i(z)+.8N8*1k.3i(m)+.4VB*x*-.6kV+1.8N7-5*1k.3i(D)+.6kU*1k.3i(t)*.6kT-.8N6*L)/309*B.15y;g(b)||(b=1g A1);b.4VA=q;b.4Vz=c;b.5S=k;b.6kS=a;1f b};1d Aw=1g k,6kQ=1g k,Bw=1g k,6kP=1g J,$Ka=1g ca;kP.1i.3x=1b(a,b){g(a)||(a=M.14H());a=1a.6kR(a);1d c=a.4VA;1d d=a.4Vz;Aw.x=1k.3i(c+B.10k);Aw.y=1k.2T(c+B.10k);Aw.z=0;1d e=1k.3i(d);Bw.x=e*1k.3i(c);Bw.y=e*1k.2T(c);Bw.z=1k.2T(d);c=k.4B(Bw,Aw,6kQ);g(b)||(b=1g J);b[0]=Aw.x;b[1]=c.x;b[2]=Bw.x;b[3]=Aw.y;b[4]=c.y;b[5]=Bw.y;b[6]=Aw.z;b[7]=c.z;b[8]=Bw.z;c=b;a=B.23Z(a.5S);a=ca.1gG(k.16a,a,$Ka);a=J.1fE(ca.3zo(a,a),6kP);1f J.9b(a,c,c)};1d VL={1I:1p 0};VL.3vT=r.8i;VL.3vR=r.8i;VL.1d9=r.8i;1L.2X(fH.1i,{2I:{1n:1b(){1f 1a.10z}}});fH.1i.2Eq=1b(a,b){v.1N.4n("16H",a);1f 1a.10z.16M({2I:b===4iJ.6kO?"3OO":"1qs",1kx:{3l:a}}).1vs().4b(1b(a){1f a.1jG.5d(1b(a){1d b=a.1bD;b=g(b)?Q.8g(b[0],b[1],b[2],b[3]):k.8g(a.3y.9R[0],a.3y.9R[1]);1f{2ix:a.5U.17R,16h:b}})})};B1.1i.2Eq=1b(a,b){1f 1a.6kN.2Eq(a,b)};1L.2X(Ab.1i,{1kn:{1n:1b(){1d a=M.1iF(1a.4U,1a.4I);1f 0>a||0===a&&(!1a.16q||!1a.14K)}}});1d qA={4I:1p 0,4U:1p 0,16q:1p 0,14K:1p 0,2g:1p 0};Ab.1r3=1b(a,b){v.1N.2c("3v",a);v.1N.4n("3v.2qm",a.2qm);1d c=a.2qm.7g("/");if(2!==c.1h)1t 1g r("3v.2qm is an 16w 23Y 23X 18B.");1d d=M.1r3(c[0]);c=M.1r3(c[1]);1d e=m(a.16q,!0),f=m(a.14K,!0);a=a.2g;if(!g(b))1f qA.4I=d,qA.4U=c,qA.16q=e,qA.14K=f,qA.2g=a,1g Ab(qA);b.4I=d;b.4U=c;b.16q=e;b.14K=f;b.2g=a;1f b};Ab.1RK=1b(a,b){v.1N.2c("3ZV",a);1f M.1RK(a.4I,b)+"/"+M.1RK(a.4U,b)};Ab.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g Ab(a);b.4I=a.4I;b.4U=a.4U;b.16q=a.16q;b.14K=a.14K;b.2g=a.2g;1f b}};Ab.2L=1b(a,b,c){1f a===b||g(a)&&g(b)&&(a.1kn&&b.1kn||a.16q===b.16q&&a.14K===b.14K&&M.2L(a.4I,b.4I)&&M.2L(a.4U,b.4U)&&(a.2g===b.2g||g(c)&&c(a.2g,b.2g)))};Ab.5T=1b(a,b,c,d){v.1N.2b("1fk",c);1f a===b||g(a)&&g(b)&&(a.1kn&&b.1kn||a.16q===b.16q&&a.14K===b.14K&&M.5T(a.4I,b.4I,c)&&M.5T(a.4U,b.4U,c)&&(a.2g===b.2g||g(d)&&d(a.2g,b.2g)))};Ab.1sU=1b(a,b,c,d){v.1N.2c("3B",a);v.1N.2c("4D",c);if(!g(b))1f Ab.1y(Ab.4Vy,c);1d e=a.4I,f=a.4U,h=b.4I,l=b.4U,p=M.9Y(h,e)&&M.9Y(f,h),k=!p&&M.19D(h,e)&&M.19D(e,l);if(!p&&!k)1f Ab.1y(Ab.4Vy,c);1d z=a.16q,m=a.14K,x=b.16q,D=b.14K,t=M.1ib(f,l);c.4I=p?h:e;c.16q=z&&x||!M.2L(h,e)&&(p&&x||k&&z);c.4U=t?f:l;c.14K=t?m:m&&D||!M.2L(l,f)&&D;c.2g=g(d)?d(a.2g,b.2g):a.2g;1f c};Ab.8h=1b(a,b){v.1N.2c("3ZV",a);v.1N.2c("1EP",b);if(a.1kn)1f!1;1d c=M.1iF(a.4I,b);if(0===c)1f a.16q;b=M.1iF(b,a.4U);1f 0===b?a.14K:0>c&&0>b};Ab.1i.1y=1b(a){1f Ab.1y(1a,a)};Ab.1i.2L=1b(a,b){1f Ab.2L(1a,a,b)};Ab.1i.5T=1b(a,b,c){1f Ab.5T(1a,a,b,c)};Ab.1i.5s=1b(){1f Ab.1RK(1a)};Ab.4Vy=1L.3F(1g Ab({4I:1g M,4U:1g M,16q:!1,14K:!1}));1d 4Vx=1L.3F(M.1r3("8N5-11t-8N4:3Xa:6kM")),4Vw=1L.3F(M.1r3("1Ax-12-8N3:3Xa:6kM")),6kL=1L.3F(1g Ab({4I:4Vx,4U:4Vw})),Za={11Z:4Vx,1Nq:4Vw,49V:6kL},mk=1L.3F({3Uc:0,34x:1,4ys:2}),4iE={1I:"8N2",3vT:1b(a){1f 1k.1V(a+1,2)},3vR:1b(a,b,c,d,e){g(e)||(e=2K(d));1d f,h,l=b.1h;1j(f=0;f<d;f++)e[f]=0;1j(f=0;f<l;f++){1d p=1;1j(h=0;h<l;h++)h!==f&&(p*=(a-b[h])/(b[f]-b[h]));1j(h=0;h<d;h++)e[h]+=p*c[f*d+h]}1f e}},HR={1I:"2pY",3vT:1b(a){1f 2},3vR:1b(a,b,c,d,e){if(2!==b.1h)1t 1g r("9B 4Vu 20i to 1Z 28y 8N1 2Q 118 2hu 1uk 26L.");if(0>=d)1t 1g r("8N0 2Q be at 1gR 1 4Vv 2dZ 1j 30y 8MZ 2dZ.");g(e)||(e=2K(d));1d f=b[0],h=b[1];if(f===h)1t 1g r("8MY by 16m 7A: 4Vu[0] and 4Vu[1] are 14B");1j(b=0;b<d;b++){1d l=c[b];1d p=c[b+d];e[b]=((p-l)*a+h*l-f*p)/(h-f)}1f e}},gH,D1=!1,Ha={7U:H.7U,10P:H.10P,1bt:H.1bt,3O:H.3O,1kq:H.6kK,1Jw:H.1Jw,3ca:H.3ca,3c9:H.3c9,2Bt:H.2Bt,6kx:1b(a){1f a===Ha.1Jw||a===Ha.3ca||a===Ha.3c9||a===Ha.2Bt},18Q:1b(a){6U(a){1S Ha.7U:1f 1;1S Ha.10P:1S Ha.3ca:1S Ha.3c9:1S Ha.2Bt:1S Ha.1kq:1f 2;1S Ha.1bt:1S Ha.3O:1S Ha.1Jw:1f 4}},1f6:1b(a){1f a===Ha.7U||a===Ha.10P||a===Ha.1bt||a===Ha.3O||a===Ha.1kq||a===Ha.1Jw||a===Ha.3ca||a===Ha.3c9||a===Ha.2Bt}},Nb={1zc:H.1zc,1eF:H.1eF,2QW:H.2QW,1fB:H.1fB,9m:H.9m,1UO:H.1UO,1QH:H.1QH,2NF:H.6kJ,3zm:H.6kI,3zl:H.6kH,2NE:H.6kG,3zk:H.6kF,37n:H.6kE,37l:H.6kD,37m:H.6kC,37k:H.6kB,49U:1b(a){6U(a){1S Nb.1fB:1f 3;1S Nb.9m:1f 4;1S Nb.1QH:1f 2;1S Nb.2QW:1S Nb.1UO:1f 1;4T:1f 1}},1f6:1b(a){1f a===Nb.1zc||a===Nb.1eF||a===Nb.2QW||a===Nb.1fB||a===Nb.9m||a===Nb.1UO||a===Nb.1QH||a===Nb.2NF||a===Nb.3zm||a===Nb.3zl||a===Nb.2NE||a===Nb.3zk||a===Nb.37n||a===Nb.37l||a===Nb.37m||a===Nb.37k},4Vt:1b(a){1f a===Nb.2QW||a===Nb.1fB||a===Nb.9m||a===Nb.1UO||a===Nb.1QH},2QC:1b(a){1f a===Nb.1zc||a===Nb.1eF},2gl:1b(a){1f a===Nb.2NF||a===Nb.3zm||a===Nb.3zl||a===Nb.2NE||a===Nb.3zk||a===Nb.37n||a===Nb.37l||a===Nb.37m||a===Nb.37k},6kA:1b(a){1f a===Nb.2NF||a===Nb.3zm||a===Nb.3zl||a===Nb.2NE},6kz:1b(a){1f a===Nb.3zk||a===Nb.37n||a===Nb.37l||a===Nb.37m},6ky:1b(a){1f a===Nb.37k},3zn:1b(a,b,c){6U(a){1S Nb.2NF:1S Nb.3zm:1S Nb.37k:1f 1k.2t((b+3)/4)*1k.2t((c+3)/4)*8;1S Nb.3zl:1S Nb.2NE:1f 1k.2t((b+3)/4)*1k.2t((c+3)/4)*16;1S Nb.3zk:1S Nb.37l:1f 1k.2t((1k.1V(b,8)*1k.1V(c,8)*4+7)/8);1S Nb.37n:1S Nb.37m:1f 1k.2t((1k.1V(b,16)*1k.1V(c,8)*2+7)/8);4T:1f 0}},3zj:1b(a,b,c,d){a=Nb.49U(a);Ha.6kx(b)&&(a=1);1f a*Ha.18Q(b)*c*d},4TJ:1b(a,b,c){a=Nb.3zj(a,b,c,1)%4;1f 0===a?4:2===a?2:1},9g:1b(a,b,c,d){1d e=Ha.18Q(b);b=e===4L.12T?4L:e===10Y.12T?10Y:e===4A.12T&&b===Ha.3O?4A:12X;a=Nb.49U(a)*c*d;1f 1g b(a)},13E:1b(a,b,c,d,e){if(1===e)1f a;c=Nb.9g(b,c,d,e);b=Nb.49U(b);d*=b;1j(1d f=0;f<e;++f)1j(1d h=f*e*b,g=(e-f-1)*e*b,p=0;p<d;++p)c[g+p]=a[h+p];1f c}},ua=1L.3F(Nb),6kw={},Dp=6kw=1b(){1f 1b e(b,c,d){1b f(g,l){if(!c[g]){if(!b[g]){1d p="1b"==2h 1v7&&1v7;if(!l&&p)1f p(g,!0);if(h)1f h(g,!0);l=6u("1e6 1oZ 2eH \'"+g+"\'");1t l.16A="8MX",l;}l=c[g]={1cr:{}};b[g][0].4G(l.1cr,1b(c){1d d=b[g][1][c];1f f(d?d:c)},l,l.1cr,e,b,c,d)}1f c[g].1cr}1j(1d h="1b"==2h 1v7&&1v7,g=0;g<d.1h;g++)f(d[g]);1f f}({1:[1b(b,c,d){b="7w"!==2h 4L&&"7w"!==2h 10Y&&"7w"!==2h 1fZ;d.1AU=1b(b){1j(1d c=2K.1i.4h.4G(5m,1);c.1h;){1d d=c.1hN();if(d){if("2c"!==2h d)1t 1g 1LY(d+"2Q be 26o-2c");1j(1d e in d)d.3p(e)&&(b[e]=d[e])}}1f b};d.4Vl=1b(b,c){if(b.1h===c)1f b;if(b.1hl)1f b.1hl(0,c);b.1h=c;1f b};1d e={2Et:1b(b,c,d,e,f){if(c.1hl&&b.1hl)b.1C(c.1hl(d,d+e),f);1s 1j(1d h=0;h<e;h++)b[f+h]=c[d+h]},4Vi:1b(b){1d c,d;1d e=d=0;1j(c=b.1h;e<c;e++)d+=b[e].1h;1d f=1g 4L(d);e=d=0;1j(c=b.1h;e<c;e++){1d h=b[e];f.1C(h,d);d+=h.1h}1f f}},f={2Et:1b(b,c,d,e,f){1j(1d h=0;h<e;h++)b[f+h]=c[d+h]},4Vi:1b(b){1f[].9V.6c([],b)}};d.6kv=1b(b){b?(d.2Eu=4L,d.3c7=10Y,d.3c8=1fZ,d.1AU(d,e)):(d.2Eu=2K,d.3c7=2K,d.3c8=2K,d.1AU(d,f))};d.6kv(b)},{}],2:[1b(b,c,d){1b e(b,c){if(8MW>c&&(b.1hl&&g||!b.1hl&&h))1f 10J.1gx.6c(1F,f.4Vl(b,c));1j(1d d="",e=0;e<c;e++)d+=10J.1gx(b[e]);1f d}1d f=b("./2Er"),h=!0,g=!0;10G{10J.1gx.6c(1F,[0])}11B(n){h=!1}10G{10J.1gx.6c(1F,1g 4L(1))}11B(n){g=!1}1d p=1g f.2Eu(256);1j(b=0;256>b;b++)p[b]=252<=b?6:248<=b?5:240<=b?4:224<=b?3:192<=b?2:1;p[254]=p[254]=1;d.6ke=1b(b){1d c,d,e=b.1h,h=0;1j(c=0;c<e;c++){1d g=b.19a(c);if(1v4===(g&2Ex)&&c+1<e){1d l=b.19a(c+1);1AV===(l&2Ex)&&(g=12v+(g-1v4<<10)+(l-1AV),c++)}h+=128>g?1:1tA>g?2:12v>g?3:4}1d p=1g f.2Eu(h);1j(c=d=0;d<h;c++)g=b.19a(c),1v4===(g&2Ex)&&c+1<e&&(l=b.19a(c+1),1AV===(l&2Ex)&&(g=12v+(g-1v4<<10)+(l-1AV),c++)),128>g?p[d++]=g:(1tA>g?p[d++]=192|g>>>6:(12v>g?p[d++]=224|g>>>12:(p[d++]=240|g>>>18,p[d++]=128|g>>>12&63),p[d++]=128|g>>>6&63),p[d++]=128|g&63);1f p};d.8MV=1b(b){1f e(b,b.1h)};d.6kg=1b(b){1j(1d c=1g f.2Eu(b.1h),d=0,e=c.1h;d<e;d++)c[d]=b.19a(d);1f c};d.6ka=1b(b,c){1d d,f=c||b.1h,h=2K(2*f);1j(c=d=0;c<f;){1d g=b[c++];if(128>g)h[d++]=g;1s{1d l=p[g];if(4<l)h[d++]=4oX,c+=l-1;1s{1j(g&=2===l?31:3===l?15:7;1<l&&c<f;)g=g<<6|b[c++]&63,l--;1<l?h[d++]=4oX:12v>g?h[d++]=g:(g-=12v,h[d++]=1v4|g>>10&1yG,h[d++]=1AV|g&1yG)}}}1f e(h,d)};d.6kb=1b(b,c){1d d;c=c||b.1h;c>b.1h&&(c=b.1h);1j(d=c-1;0<=d&&128===(b[d]&192);)d--;1f 0>d||0===d?c:d+p[b[d]]>c?d:c}},{"./2Er":1}],3:[1b(b,c,d){c.1cr=1b(b,c,d,g){1d e=b&1a6|0;b=b>>>16&1a6|0;1j(1d f;0!==d;){f=2E3<d?2E3:d;d-=f;do e=e+c[g++]|0,b=b+e|0;14p(--f);e%=6ku;b%=6ku}1f e|b<<16|0}},{}],4:[1b(b,c,d){c.1cr={4Vm:0,8MU:1,4Vk:2,8MT:3,3zg:4,8MS:5,8MR:6,2QS:0,3zh:1,6kf:2,8MQ:-1,8MP:-2,8MO:-3,6kc:-5,8MN:0,8MM:1,8ML:9,8MK:-1,8MJ:1,8MI:2,8MH:3,8MG:4,8MF:0,8ME:0,8MD:1,8MC:2,8MB:8}},{}],5:[1b(b,c,d){1d e=1b(){1j(1d b,c=[],d=0;256>d;d++){b=d;1j(1d e=0;8>e;e++)b=b&1?64J^b>>>1:b>>>1;c[d]=b}1f c}();c.1cr=1b(b,c,d,g){d=g+d;1j(b^=-1;g<d;g++)b=b>>>8^e[(b^c[g])&255];1f b^-1}},{}],6:[1b(b,c,d){c.1cr=1b(){1a.os=1a.6ks=1a.6q=1a.3l=0;1a.1A1=1F;1a.49T=0;1a.1G8=1a.2i="";1a.6kr=0;1a.1qU=!1}},{}],7:[1b(b,c,d){c.1cr=1b(b,c){1d d=b.4F;1d e=b.2rd;1d f=b.15d;1d g=e+(b.1RI-5);1d k=b.1Hq;1d m=b.1jU;c=k-(c-b.1A0);1d x=k+(b.1A0-257);1d D=d.3zi;1d t=d.1NG;1d q=d.2rf;1d r=d.1RJ;1d u=d.7O;1d v=d.2re;1d y=d.1vF;1d A=d.2iz;1d B=d.2Ew;1d C=(1<<d.2ab)-1;1d E=(1<<d.2QT)-1;a:do{15>y&&(v+=f[e++]<<y,y+=8,v+=f[e++]<<y,y+=8);1d L=A[v&C];b:1j(;;){1d S=L>>>24;v>>>=S;y-=S;S=L>>>16&255;if(0===S)m[k++]=L&1a6;1s if(S&16){1d U=L&1a6;if(S&=15)y<S&&(v+=f[e++]<<y,y+=8),U+=v&(1<<S)-1,v>>>=S,y-=S;15>y&&(v+=f[e++]<<y,y+=8,v+=f[e++]<<y,y+=8);L=B[v&E];c:1j(;;){S=L>>>24;v>>>=S;y-=S;S=L>>>16&255;if(S&16){L&=1a6;S&=15;y<S&&(v+=f[e++]<<y,y+=8,y<S&&(v+=f[e++]<<y,y+=8));L+=v&(1<<S)-1;if(L>D){b.1kL="16w 3s 31v 3W 1NH";d.3z=30;1W a}v>>>=S;y-=S;S=k-c;if(L>S){S=L-S;if(S>q&&d.49S){b.1kL="16w 3s 31v 3W 1NH";d.3z=30;1W a}1d R=0;1d V=u;if(0===r){if(R+=t-S,S<U){U-=S;do m[k++]=u[R++];14p(--S);R=k-L;V=m}}1s if(r<S){if(R+=t+r-S,S-=r,S<U){U-=S;do m[k++]=u[R++];14p(--S);R=0;if(r<U){S=r;U-=S;do m[k++]=u[R++];14p(--S);R=k-L;V=m}}}1s if(R+=r-S,S<U){U-=S;do m[k++]=u[R++];14p(--S);R=k-L;V=m}1j(;2<U;)m[k++]=V[R++],m[k++]=V[R++],m[k++]=V[R++],U-=3;U&&(m[k++]=V[R++],1<U&&(m[k++]=V[R++]))}1s{R=k-L;do m[k++]=m[R++],m[k++]=m[R++],m[k++]=m[R++],U-=3;14p(2<U);U&&(m[k++]=m[R++],1<U&&(m[k++]=m[R++]))}}1s if(0===(S&64)){L=B[(L&1a6)+(v&(1<<S)-1)];1aJ c}1s{b.1kL="16w 3s 16A";d.3z=30;1W a}1W}}1s if(0===(S&64)){L=A[(L&1a6)+(v&(1<<S)-1)];1aJ b}1s{S&32?d.3z=12:(b.1kL="16w 1nM/1h 16A",d.3z=30);1W a}1W}}14p(e<g&&k<x);U=y>>3;e-=U;y-=U<<3;b.2rd=e;b.1Hq=k;b.1RI=e<g?5+(g-e):5-(e-g);b.1A0=k<x?257+(x-k):257-(k-x);d.2re=v&(1<<y)-1;d.1vF=y}},{}],8:[1b(b,c,d){1b e(b){1f(b>>>24&255)+(b>>>8&42B)+((b&42B)<<8)+((b&255)<<24)}1b f(){1a.3z=0;1a.2wU=!1;1a.1FQ=0;1a.49R=!1;1a.1J5=1a.1iH=1a.3zi=1a.1qM=0;1a.13r=1F;1a.1RJ=1a.2rf=1a.1NG=1a.2QV=0;1a.7O=1F;1a.1A1=1a.2M=1a.1h=1a.1vF=1a.2re=0;1a.2Ew=1a.2iz=1F;1a.118=1a.2c6=1a.2QU=1a.4Vr=1a.2QT=1a.2ab=0;1a.6k=1F;1a.1Hr=1g m.3c7(320);1a.2xQ=1g m.3c7(288);1a.4Vp=1a.4Vq=1F;1a.9x=1a.1NH=1a.49S=0}1b h(b){if(!b||!b.4F)1f-2;1d c=b.4F;b.4Vo=b.49Q=c.1J5=0;b.1kL="";c.1FQ&&(b.2Ev=c.1FQ&1);c.3z=1;c.2wU=0;c.49R=0;c.3zi=1Aw;c.13r=1F;c.2re=0;c.1vF=0;c.2iz=c.4Vq=1g m.3c8(852);c.2Ew=c.4Vp=1g m.3c8(592);c.49S=1;c.1NH=-1;1f 0}1b g(b){if(!b||!b.4F)1f-2;1d c=b.4F;c.1NG=0;c.2rf=0;c.1RJ=0;1f h(b)}1b p(b,c){if(!b||!b.4F)1f-2;1d d=b.4F;if(0>c){1d e=0;c=-c}1s e=(c>>4)+1,48>c&&(c&=15);if(c&&(8>c||15<c))1f-2;1F!==d.7O&&d.2QV!==c&&(d.7O=1F);d.1FQ=e;d.2QV=c;1f g(b)}1b k(b,c){if(!b)1f-2;1d d=1g f;b.4F=d;d.7O=1F;c=p(b,c);0!==c&&(b.4F=1F);1f c}1b z(b,c,d,e){1d f=b.4F;1F===f.7O&&(f.1NG=1<<f.2QV,f.1RJ=0,f.2rf=0,f.7O=1g m.2Eu(f.1NG));e>=f.1NG?(m.2Et(f.7O,c,d-f.1NG,f.1NG,0),f.1RJ=0,f.2rf=f.1NG):(b=f.1NG-f.1RJ,b>e&&(b=e),m.2Et(f.7O,c,d-e,b,f.1RJ),(e-=b)?(m.2Et(f.7O,c,d-e,e,0),f.1RJ=e,f.2rf=f.1NG):(f.1RJ+=b,f.1RJ===f.1NG&&(f.1RJ=0),f.2rf<f.1NG&&(f.2rf+=b)));1f 0}1d m=b("../1df/2Er"),x=b("./6kq"),D=b("./44v"),t=b("./6kp"),q=b("./6ko"),r=!0,u,v;d.8MA=g;d.8Mz=p;d.8My=h;d.8Mx=1b(b){1f k(b,15)};d.6kk=k;d.1pn=1b(b,c){1d d,f=1g m.2Eu(4),h=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!b||!b.4F||!b.1jU||!b.15d&&0!==b.1RI)1f-2;1d g=b.4F;12===g.3z&&(g.3z=13);1d l=b.1Hq;1d p=b.1jU;1d k=b.1A0;1d n=b.2rd;1d w=b.15d;1d G=b.1RI;1d y=g.2re;1d A=g.1vF;1d B=G;1d oa=k;1d aa=0;a:1j(;;)6U(g.3z){1S 1:if(0===g.1FQ){g.3z=13;1W}1j(;16>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}if(g.1FQ&2&&8Mw===y){g.1iH=0;f[0]=y&255;f[1]=y>>>8&255;g.1iH=D(g.1iH,f,2,0);A=y=0;g.3z=2;1W}g.1qM=0;g.13r&&(g.13r.1qU=!1);if(!(g.1FQ&1)||(((y&255)<<8)+(y>>8))%31){b.1kL="2Az 1Pg 1iH";g.3z=30;1W}if(8!==(y&15)){b.1kL="1G7 6kt 1tq";g.3z=30;1W}y>>>=4;A-=4;1d C=(y&15)+8;if(0===g.2QV)g.2QV=C;1s if(C>g.2QV){b.1kL="16w 7O 4V";g.3z=30;1W}g.3zi=1<<C;b.2Ev=g.1iH=1;g.3z=y&512?10:12;A=y=0;1W;1S 2:1j(;16>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}g.1qM=y;if(8!==(g.1qM&255)){b.1kL="1G7 6kt 1tq";g.3z=30;1W}if(g.1qM&3Os){b.1kL="1G7 1Pg 1qM 1C";g.3z=30;1W}g.13r&&(g.13r.3l=y>>8&1);g.1qM&512&&(f[0]=y&255,f[1]=y>>>8&255,g.1iH=D(g.1iH,f,2,0));A=y=0;g.3z=3;1S 3:1j(;32>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}g.13r&&(g.13r.6q=y);g.1qM&512&&(f[0]=y&255,f[1]=y>>>8&255,f[2]=y>>>16&255,f[3]=y>>>24&255,g.1iH=D(g.1iH,f,4,0));A=y=0;g.3z=4;1S 4:1j(;16>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}g.13r&&(g.13r.6ks=y&255,g.13r.os=y>>8);g.1qM&512&&(f[0]=y&255,f[1]=y>>>8&255,g.1iH=D(g.1iH,f,2,0));A=y=0;g.3z=5;1S 5:if(g.1qM&13j){1j(;16>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}g.1h=y;g.13r&&(g.13r.49T=y);g.1qM&512&&(f[0]=y&255,f[1]=y>>>8&255,g.1iH=D(g.1iH,f,2,0));A=y=0}1s g.13r&&(g.13r.1A1=1F);g.3z=6;1S 6:if(g.1qM&13j){1d ka=g.1h;ka>G&&(ka=G);ka&&(g.13r&&(C=g.13r.49T-g.1h,g.13r.1A1||(g.13r.1A1=2K(g.13r.49T)),m.2Et(g.13r.1A1,w,n,ka,C)),g.1qM&512&&(g.1iH=D(g.1iH,w,ka,n)),G-=ka,n+=ka,g.1h-=ka);if(g.1h)1W a}g.1h=0;g.3z=7;1S 7:if(g.1qM&1tA){if(0===G)1W a;ka=0;do C=w[n+ka++],g.13r&&C&&12v>g.1h&&(g.13r.2i+=10J.1gx(C));14p(C&&ka<G);g.1qM&512&&(g.1iH=D(g.1iH,w,ka,n));G-=ka;n+=ka;if(C)1W a}1s g.13r&&(g.13r.2i=1F);g.1h=0;g.3z=8;1S 8:if(g.1qM&18C){if(0===G)1W a;ka=0;do C=w[n+ka++],g.13r&&C&&12v>g.1h&&(g.13r.1G8+=10J.1gx(C));14p(C&&ka<G);g.1qM&512&&(g.1iH=D(g.1iH,w,ka,n));G-=ka;n+=ka;if(C)1W a}1s g.13r&&(g.13r.1G8=1F);g.3z=9;1S 9:if(g.1qM&512){1j(;16>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}if(y!==(g.1iH&1a6)){b.1kL="1Pg 8Mv 4Vs";g.3z=30;1W}A=y=0}g.13r&&(g.13r.6kr=g.1qM>>9&1,g.13r.1qU=!0);b.2Ev=g.1iH=0;g.3z=12;1W;1S 10:1j(;32>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}b.2Ev=g.1iH=e(y);A=y=0;g.3z=11;1S 11:if(0===g.49R)1f b.1Hq=l,b.1A0=k,b.2rd=n,b.1RI=G,g.2re=y,g.1vF=A,2;b.2Ev=g.1iH=1;g.3z=12;1S 12:if(5===c||6===c)1W a;1S 13:if(g.2wU){y>>>=A&7;A-=A&7;g.3z=27;1W}1j(;3>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}g.2wU=y&1;y>>>=1;--A;6U(y&3){1S 0:g.3z=14;1W;1S 1:C=g;if(r){u=1g m.3c8(512);v=1g m.3c8(32);1j(ka=0;144>ka;)C.1Hr[ka++]=8;1j(;256>ka;)C.1Hr[ka++]=9;1j(;280>ka;)C.1Hr[ka++]=7;1j(;288>ka;)C.1Hr[ka++]=8;q(1,C.1Hr,0,288,u,0,C.2xQ,{1vF:9});1j(ka=0;32>ka;)C.1Hr[ka++]=5;q(2,C.1Hr,0,32,v,0,C.2xQ,{1vF:5});r=!1}C.2iz=u;C.2ab=9;C.2Ew=v;C.2QT=5;g.3z=20;if(6===c){y>>>=2;A-=2;1W a}1W;1S 2:g.3z=17;1W;1S 3:b.1kL="16w 2es 1I",g.3z=30}y>>>=2;A-=2;1W;1S 14:y>>>=A&7;1j(A-=A&7;32>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}if((y&1a6)!==(y>>>16^1a6)){b.1kL="16w 2sj 2es 1Hm";g.3z=30;1W}g.1h=y&1a6;A=y=0;g.3z=15;if(6===c)1W a;1S 15:g.3z=16;1S 16:if(ka=g.1h){ka>G&&(ka=G);ka>k&&(ka=k);if(0===ka)1W a;m.2Et(p,w,n,ka,l);G-=ka;n+=ka;k-=ka;l+=ka;g.1h-=ka;1W}g.3z=12;1W;1S 17:1j(;14>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}g.2QU=(y&31)+257;y>>>=5;A-=5;g.2c6=(y&31)+1;y>>>=5;A-=5;g.4Vr=(y&15)+4;y>>>=4;A-=4;if(286<g.2QU||30<g.2c6){b.1kL="31v 3sq 1h or 3s 3Yw";g.3z=30;1W}g.118=0;g.3z=18;1S 18:1j(;g.118<g.4Vr;){1j(;3>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}g.1Hr[h[g.118++]]=y&7;y>>>=3;A-=3}1j(;19>g.118;)g.1Hr[h[g.118++]]=0;g.2iz=g.4Vq;g.2ab=7;ka={1vF:g.2ab};aa=q(0,g.1Hr,0,19,g.2iz,0,g.2xQ,ka);g.2ab=ka.1vF;if(aa){b.1kL="16w 16A 1Hm 1C";g.3z=30;1W}g.118=0;g.3z=19;1S 19:1j(;g.118<g.2QU+g.2c6;){1j(;;){1d Ub=g.2iz[y&(1<<g.2ab)-1];ka=Ub>>>24;Ub&=1a6;if(ka<=A)1W;if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}if(16>Ub)y>>>=ka,A-=ka,g.1Hr[g.118++]=Ub;1s{if(16===Ub){1j(C=ka+2;A<C;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}y>>>=ka;A-=ka;if(0===g.118){b.1kL="16w 2aK 1h 12G";g.3z=30;1W}C=g.1Hr[g.118-1];ka=3+(y&3);y>>>=2;A-=2}1s if(17===Ub){1j(C=ka+3;A<C;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}y>>>=ka;A-=ka;C=0;ka=3+(y&7);y>>>=3;A-=3}1s{1j(C=ka+7;A<C;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}y>>>=ka;A-=ka;C=0;ka=11+(y&127);y>>>=7;A-=7}if(g.118+ka>g.2QU+g.2c6){b.1kL="16w 2aK 1h 12G";g.3z=30;1W}1j(;ka--;)g.1Hr[g.118++]=C}}if(30===g.3z)1W;if(0===g.1Hr[256]){b.1kL="16w 16A -- 4Cw 9o-of-2es";g.3z=30;1W}g.2ab=9;ka={1vF:g.2ab};aa=q(1,g.1Hr,0,g.2QU,g.2iz,0,g.2xQ,ka);g.2ab=ka.1vF;if(aa){b.1kL="16w 1nM/1Hm 1C";g.3z=30;1W}g.2QT=6;g.2Ew=g.4Vp;ka={1vF:g.2QT};aa=q(2,g.1Hr,g.2QU,g.2c6,g.2Ew,0,g.2xQ,ka);g.2QT=ka.1vF;if(aa){b.1kL="16w 3Cw 1C";g.3z=30;1W}g.3z=20;if(6===c)1W a;1S 20:g.3z=21;1S 21:if(6<=G&&258<=k){b.1Hq=l;b.1A0=k;b.2rd=n;b.1RI=G;g.2re=y;g.1vF=A;t(b,oa);l=b.1Hq;p=b.1jU;k=b.1A0;n=b.2rd;w=b.15d;G=b.1RI;y=g.2re;A=g.1vF;12===g.3z&&(g.1NH=-1);1W}1j(g.1NH=0;;){Ub=g.2iz[y&(1<<g.2ab)-1];ka=Ub>>>24;C=Ub>>>16&255;Ub&=1a6;if(ka<=A)1W;if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}if(C&&0===(C&240)){1d Hb=ka;1d cd=C;1j(d=Ub;;){Ub=g.2iz[d+((y&(1<<Hb+cd)-1)>>Hb)];ka=Ub>>>24;C=Ub>>>16&255;Ub&=1a6;if(Hb+ka<=A)1W;if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}y>>>=Hb;A-=Hb;g.1NH+=Hb}y>>>=ka;A-=ka;g.1NH+=ka;g.1h=Ub;if(0===C){g.3z=26;1W}if(C&32){g.1NH=-1;g.3z=12;1W}if(C&64){b.1kL="16w 1nM/1h 16A";g.3z=30;1W}g.1A1=C&15;g.3z=22;1S 22:if(g.1A1){1j(C=g.1A1;A<C;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}g.1h+=y&(1<<g.1A1)-1;y>>>=g.1A1;A-=g.1A1;g.1NH+=g.1A1}g.9x=g.1h;g.3z=23;1S 23:1j(;;){Ub=g.2Ew[y&(1<<g.2QT)-1];ka=Ub>>>24;C=Ub>>>16&255;Ub&=1a6;if(ka<=A)1W;if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}if(0===(C&240)){Hb=ka;cd=C;1j(d=Ub;;){Ub=g.2Ew[d+((y&(1<<Hb+cd)-1)>>Hb)];ka=Ub>>>24;C=Ub>>>16&255;Ub&=1a6;if(Hb+ka<=A)1W;if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}y>>>=Hb;A-=Hb;g.1NH+=Hb}y>>>=ka;A-=ka;g.1NH+=ka;if(C&64){b.1kL="16w 3s 16A";g.3z=30;1W}g.2M=Ub;g.1A1=C&15;g.3z=24;1S 24:if(g.1A1){1j(C=g.1A1;A<C;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}g.2M+=y&(1<<g.1A1)-1;y>>>=g.1A1;A-=g.1A1;g.1NH+=g.1A1}if(g.2M>g.3zi){b.1kL="16w 3s 31v 3W 1NH";g.3z=30;1W}g.3z=25;1S 25:if(0===k)1W a;ka=oa-k;if(g.2M>ka){ka=g.2M-ka;if(ka>g.2rf&&g.49S){b.1kL="16w 3s 31v 3W 1NH";g.3z=30;1W}ka>g.1RJ?(ka-=g.1RJ,C=g.1NG-ka):C=g.1RJ-ka;ka>g.1h&&(ka=g.1h);Hb=g.7O}1s Hb=p,C=l-g.2M,ka=g.1h;ka>k&&(ka=k);k-=ka;g.1h-=ka;do p[l++]=Hb[C++];14p(--ka);0===g.1h&&(g.3z=21);1W;1S 26:if(0===k)1W a;p[l++]=g.1h;k--;g.3z=21;1W;1S 27:if(g.1FQ){1j(;32>A;){if(0===G)1W a;G--;y|=w[n++]<<A;A+=8}oa-=k;b.49Q+=oa;g.1J5+=oa;oa&&(b.2Ev=g.1iH=g.1qM?D(g.1iH,p,oa,l-oa):x(g.1iH,p,oa,l-oa));oa=k;if((g.1qM?y:e(y))!==g.1iH){b.1kL="2Az 2g 1iH";g.3z=30;1W}A=y=0}g.3z=28;1S 28:if(g.1FQ&&g.1qM){1j(;32>A;){if(0===G)1W a;G--;y+=w[n++]<<A;A+=8}if(y!==(g.1J5&2eo)){b.1kL="2Az 1h 1iH";g.3z=30;1W}A=y=0}g.3z=29;1S 29:aa=1;1W a;1S 30:aa=-3;1W a;1S 31:1f-4;4T:1f-2}b.1Hq=l;b.1A0=k;b.2rd=n;b.1RI=G;g.2re=y;g.1vF=A;(g.1NG||oa!==b.1A0&&30>g.3z&&(27>g.3z||4!==c))&&z(b,b.1jU,b.1Hq,oa-b.1A0);B-=b.1RI;oa-=b.1A0;b.4Vo+=B;b.49Q+=oa;g.1J5+=oa;g.1FQ&&oa&&(b.2Ev=g.1iH=g.1qM?D(g.1iH,p,oa,b.1Hq-oa):x(g.1iH,p,oa,b.1Hq-oa));b.4Vn=g.1vF+(g.2wU?64:0)+(12===g.3z?128:0)+(20===g.3z||15===g.3z?256:0);(0===B&&0===oa||4===c)&&0===aa&&(aa=-5);1f aa};d.6k9=1b(b){if(!b||!b.4F)1f-2;1d c=b.4F;c.7O&&(c.7O=1F);b.4F=1F;1f 0};d.6kj=1b(b,c){if(!b||!b.4F)1f-2;b=b.4F;if(0===(b.1FQ&2))1f-2;b.13r=c;c.1qU=!1;1f 0};d.6kd=1b(b,c){1d d=c.1h;if(!b||!b.4F)1f-2;1d e=b.4F;if(0!==e.1FQ&&11!==e.3z)1f-2;if(11===e.3z){1d f=x(1,c,d,0);if(f!==e.1iH)1f-3}if(z(b,c,d,d))1f e.3z=31,-4;e.49R=1;1f 0};d.8Mu="8Mt 1pn (19f 8Ms 12z)"},{"../1df/2Er":1,"./6kq":3,"./44v":5,"./6kp":7,"./6ko":9}],9:[1b(b,c,d){1d e=b("../1df/2Er"),f=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],h=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],g=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,4J4,8Mr,8Mq,6kn,8Mp,6km,8Mo,8Mn,8Mm,8Ml,0,0],p=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];c.1cr=1b(b,c,d,l,k,m,q,r){1d n=r.1vF,z,t,w,x,D,u,G=0,v=1g e.3c7(16);1d y=1g e.3c7(16);1d A,B=0;1j(z=0;15>=z;z++)v[z]=0;1j(t=0;t<l;t++)v[c[d+t]]++;1d oa=n;1j(w=15;1<=w&&0===v[w];w--);oa>w&&(oa=w);if(0===w)1f k[m++]=6kl,k[m++]=6kl,r.1vF=1,0;1j(n=1;n<w&&0===v[n];n++);oa<n&&(oa=n);1j(z=x=1;15>=z;z++)if(x<<=1,x-=v[z],0>x)1f-1;if(0<x&&(0===b||1!==w))1f-1;y[1]=0;1j(z=1;15>z;z++)y[z+1]=y[z]+v[z];1j(t=0;t<l;t++)0!==c[d+t]&&(q[y[c[d+t]]++]=t);if(0===b){1d C=A=q;1d ea=19}1s 1===b?(C=f,G-=257,A=h,B-=257,ea=256):(C=g,A=p,ea=-1);t=D=0;z=n;1d E=m;l=oa;y=0;1d F=-1;1d H=1<<oa;1d I=H-1;if(1===b&&852<H||2===b&&592<H)1f 1;1j(;;){1d Ob=z-y;if(q[t]<ea){1d J=0;1d uc=q[t]}1s q[t]>ea?(J=A[B+q[t]],uc=C[G+q[t]]):(J=96,uc=0);x=1<<z-y;n=u=1<<l;do u-=x,k[E+(D>>y)+u]=Ob<<24|J<<16|uc|0;14p(0!==u);1j(x=1<<z-1;D&x;)x>>=1;0!==x?(D&=x-1,D+=x):D=0;t++;if(0===--v[z]){if(z===w)1W;z=c[d+q[t]]}if(z>oa&&(D&I)!==F){0===y&&(y=oa);E+=n;l=z-y;1j(x=1<<l;l+y<w;){x-=v[l+y];if(0>=x)1W;l++;x<<=1}H+=1<<l;if(1===b&&852<H||2===b&&592<H)1f 1;F=D&I;k[F]=oa<<24|l<<16|E-m|0}}0!==D&&(k[E+D]=z-y<<24|8Mk);r.1vF=oa;1f 0}},{"../1df/2Er":1}],10:[1b(b,c,d){c.1cr={2:"1dS 6kh",1:"2gh 9o",0:"","-1":"1ol 7A","-2":"2gh 7A","-3":"2g 7A","-4":"8Mj 2Aw","-5":"3J 7A","-6":"8Mi 9G"}},{}],11:[1b(b,c,d){c.1cr=1b(){1a.15d=1F;1a.4Vo=1a.1RI=1a.2rd=0;1a.1jU=1F;1a.49Q=1a.1A0=1a.1Hq=0;1a.1kL="";1a.4F=1F;1a.4Vn=2;1a.2Ev=0}},{}],"/2XD/1pn.js":[1b(b,c,d){1b e(b){if(!(1a 2m e))1f 1g e(b);1d c=1a.3v=g.1AU({6ki:1xn,1Kx:0,to:""},b||{});c.2mp&&0<=c.1Kx&&16>c.1Kx&&(c.1Kx=-c.1Kx,0===c.1Kx&&(c.1Kx=-15));!(0<=c.1Kx&&16>c.1Kx)||b&&b.1Kx||(c.1Kx+=32);15<c.1Kx&&48>c.1Kx&&0===(c.1Kx&15)&&(c.1Kx|=15);1a.49O=0;1a.1kL="";1a.3zf=!1;1a.3ze=[];1a.2Es=1g m;1a.2Es.1A0=0;b=h.6kk(1a.2Es,c.1Kx);if(b!==k.2QS)1t 6u(z[b]);1a.1Pg=1g x;h.6kj(1a.2Es,1a.1Pg)}1b f(b,c){c=1g e(c);c.1q(b,!0);if(c.49O)1t c.1kL||z[c.49O];1f c.4D}1d h=b("./2aa/1pn"),g=b("./1df/2Er"),p=b("./1df/4Kr"),k=b("./2aa/3sg"),z=b("./2aa/6k7"),m=b("./2aa/6k6"),x=b("./2aa/6k8"),D=1L.1i.5s;e.1i.1q=1b(b,c){1d d=1a.2Es,e=1a.3v.6ki,f=1a.3v.6kh,l=!1;if(1a.3zf)1f!1;c=c===~~c?c:!0===c?k.3zg:k.4Vm;"4n"===2h b?d.15d=p.6kg(b):"[2c 1aq]"===D.4G(b)?d.15d=1g 4L(b):d.15d=b;d.2rd=0;d.1RI=d.15d.1h;do{0===d.1A0&&(d.1jU=1g g.2Eu(e),d.1Hq=0,d.1A0=e);b=h.1pn(d,k.4Vm);b===k.6kf&&f&&(b="4n"===2h f?p.6ke(f):"[2c 1aq]"===D.4G(f)?1g 4L(f):f,b=h.6kd(1a.2Es,b));b===k.6kc&&!0===l&&(b=k.2QS,l=!1);if(b!==k.3zh&&b!==k.2QS)1f 1a.49P(b),1a.3zf=!0,!1;if(d.1Hq&&(0===d.1A0||b===k.3zh||0===d.1RI&&(c===k.3zg||c===k.4Vk)))if("4n"===1a.3v.to){1d n=p.6kb(d.1jU,d.1Hq);1d z=d.1Hq-n;1d m=p.6ka(d.1jU,n);d.1Hq=z;d.1A0=e-z;z&&g.2Et(d.1jU,d.1jU,n,z,0);1a.4Vj(m)}1s 1a.4Vj(g.4Vl(d.1jU,d.1Hq));0===d.1RI&&0===d.1A0&&(l=!0)}14p((0<d.1RI||0===d.1A0)&&b!==k.3zh);b===k.3zh&&(c=k.3zg);if(c===k.3zg)1f b=h.6k9(1a.2Es),1a.49P(b),1a.3zf=!0,b===k.2QS;c===k.4Vk&&(1a.49P(k.2QS),d.1A0=0);1f!0};e.1i.4Vj=1b(b){1a.3ze.1q(b)};e.1i.49P=1b(b){b===k.2QS&&(1a.4D="4n"===1a.3v.to?1a.3ze.14G(""):g.4Vi(1a.3ze));1a.3ze=[];1a.49O=b;1a.1kL=1a.2Es.1kL};d.8Mh=e;d.1pn=f;d.8Mg=1b(b,c){c=c||{};c.2mp=!0;1f f(b,c)};d.8Mf=f},{"./1df/2Er":1,"./1df/4Kr":2,"./2aa/3sg":4,"./2aa/6k8":6,"./2aa/1pn":8,"./2aa/6k7":10,"./2aa/6k6":11}]},{},[])("/2XD/1pn.js")}();gf.2QR=1b(a,b,c){1d d=1g 1ar;d.1w2=1b(){c.5h(d)};d.1ra=1b(a){c.7N(a)};b&&(tp.8h(a)?d.2ma="14W-35I":d.2ma="");d.1bv=a};gf.8Me=gf.2QR;1d 58r=1b(){10G{1d a=1g 1J3;a.1pj("1Tq","#",!0);a.1f8="1i3";1f"1i3"===a.1f8}11B(b){1f!1}}(),F1={2qI:"1aM/15l,*/*;q=0.11t"};Km.2sd=1b(a,b,c){1d d=3n.4O("1G5");d.3r3=!0;d.1bv=a;1d e=3n.1cE("13r")[0];d.1w2=1b(){d.1w2=1p 0;e.18Z(d)};d.1ra=1b(a){c.7N(a)};e.3A(d)};Km.8Md=Km.2sd;1d G1=[171,75,84,88,32,49,49,187,13,10,26,10],6k5=8Mc,H1="1sp 1DI 1yN 1yM 1DH 1DG".7g(" "),yj=4;1L.2X(dh.1i,{1h:{1n:1b(){1f 1a.1bC},1C:1b(a){1a.1bC=a;a>1a.1gN.1h&&(1a.1gN.1h=a)}},2a:{1n:1b(){1f 1a.1gN}}});dh.1i.1n=1b(a){v.1N.2b.1ib("2P",a,1a.1gN.1h);1f 1a.1gN[a]};dh.1i.1C=1b(a,b){v.1N.2b("2P",a);a>=1a.1h&&(1a.1h=a+1);1a.1gN[a]=b};dh.1i.1PE=1b(){1f 1a.1gN[1a.1bC-1]};dh.1i.1q=1b(a){1d b=1a.1h++;1a.1gN[b]=a};dh.1i.9l=1b(){1f 1a.1gN[--1a.1h]};dh.1i.1Tx=1b(a){v.1N.2b.9Y("1h",a,0);a>1a.1gN.1h&&(1a.1gN.1h=a)};dh.1i.1ce=1b(a){v.1N.2b.9Y("1h",a,0);1a.1h=a};dh.1i.1b2=1b(a){a=m(a,1a.1h);1a.1gN.1h=a};1d Lo={2iy:1p 0},4Vg=!1,IW;Lo.4Vh=1b(a){1f g(a)?a:g(Lo.2iy)?Lo.2iy:(4Vg||(11l.7k("<b>18m 1aM is 1nl 1di\'s 4T 20U 2MD 1pI.  2Jg 6F a 1g 2MD 1pI 1j 1Z 1aM as 6k4 as 3Wz and 36k to 6k3 by 6k2 <a 17S=1bU://10y.3H.11Y/2B1/49N/>1bU://10y.3H.11Y/2B1/49N/</a>, and 3qW 1DE 1pI to 1di by 49M 1Z 1di.4iA.2iy 5i 8w 49L 1Z 3L7 or any 3bV 2c 17m 2yG 1Z 20U 4Ve.</b>"),4Vg=!0),"pk.8Mb.7i-8Ma")};Lo.4Vf=1b(a){if(!g(a)&&!g(Lo.2iy))1f g(IW)||(IW=1g Zb("<b>18m 1aM is 1nl 1di\'s 4T 20U 2MD 1pI.  2Jg 6F a 1g 2MD 1pI 1j 1Z 1aM as 6k4 as 3Wz and 36k to 6k3 by 6k2 <a 17S=1bU://10y.3H.11Y/2B1/49N/>1bU://10y.3H.11Y/2B1/49N/</a>, and 3qW 1DE 1pI to 1di by 49M 1Z 1di.4iA.2iy 5i 8w 49L 1Z 3L7 or any 3bV 2c 17m 2yG 1Z 20U 4Ve.</b>",!0)),IW};1L.2X(hH.1i,{3c:{1n:r.8i}});hH.1i.12z=r.8i;hH.1i.1cZ=r.8i;1d oP=[],pP=[];Db.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g Db(a.3I,a.1DO,a.3W,a.1DN);b.3I=a.3I;b.1DO=a.1DO;b.3W=a.3W;b.1DN=a.1DN;1f b}};Db.4q=4;Db.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);b[c++]=a.3I;b[c++]=a.1DO;b[c++]=a.3W;b[c]=a.1DN;1f b};Db.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);g(c)||(c=1g Db);c.3I=a[b++];c.1DO=a[b++];c.3W=a[b++];c.1DN=a[b];1f c};Db.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.3I===b.3I&&a.1DO===b.1DO&&a.3W===b.3W&&a.1DN===b.1DN};Db.1i.1y=1b(a){1f Db.1y(1a,a)};Db.1i.2L=1b(a){1f Db.2L(1a,a)};1d dj=1L.3F({6i:-1,3Sx:0,49K:1}),WL=1g k;1L.2X(Fh.1i,{1K:{1n:1b(){1f 1a.2QQ}},3L:{1n:1b(){1f 1a.1Ws}},2Ld:{1C:1b(a){if(!g(a))1t 1g r("2Ld is 1X.");a=k.1y(a,1a.1Es);1d b=k.3V(1a.2QQ,a,WL),c=k.17j(b),d=1a.1Ws*1a.1Ws;if(c>d){d=1k.3Y(c-d);c=1/1k.3Y(c);1d e=k.4g(b,c,WL);1d f=k.add(a,k.4g(e,d*d*c,WL),WL)}1s d=3a.6w;1a.23W=d;1a.4V9=e;1a.4Va=f;1a.1Es=a}}});Fh.3R7=1b(a,b,c){if(!g(a))1t 1g r("49J is 1X.");if(!g(b))1t 1g r("3w 1K is 1X.");if(!g(c))1f 1g Fh(a,b);k.1y(a.2V,c.2QQ);c.1Ws=a.3L;c.2Ld=b;1f c};1d 4Vb=1g k;Fh.1i.4Vd=1b(a){if(1a.23W!==3a.6w){1d b=k.3V(a,1a.2QQ,4Vb),c=1a.1Ws;c=k.17j(b)-c*c;if(0<c)1f c=1k.3Y(c)+1a.23W,b=k.3V(a,1a.1Es,b),c*c>k.17j(b)}1f!1};1d 6k1=1g k;Fh.1i.4Vc=1b(a){1d b=k.1y(a.2V,6k1),c=a.3L;if(1a.23W!==3a.6w){1d d=k.3V(b,1a.2QQ,4Vb);a=1a.1Ws-c;a=k.17j(d)-a*a;if(c<1a.1Ws)1f 0<a?(a=1k.3Y(a)+1a.23W,d=k.3V(b,1a.1Es,d),a*a+c*c>k.17j(d)):!1;if(0<a){d=k.3V(b,1a.1Es,d);b=k.17j(d);d=1a.1Ws*1a.1Ws;c*=c;if((1a.23W*1a.23W+d)*c>b*d)1f!0;a=1k.3Y(a)+1a.23W;1f a*a+c>b}1f!0}1f!1};1d 6k0=1g k;Fh.1i.1su=1b(a){if(!g(a))1t 1g r("8M9 is 1X.");1d b=k.1y(a.2V);a=a.3L;if(a>1a.1Ws)1f dj.49K;if(1a.23W!==3a.6w){1d c=k.3V(b,1a.2QQ,6k0),d=1a.1Ws-a,e=k.17j(c);d=e-d*d;if(0<d){d=1k.3Y(d)+1a.23W;c=k.3V(b,1a.1Es,c);1d f=k.17j(c);if(d*d+a*a<f)1f dj.6i;d=1a.1Ws+a;d=e-d*d;if(0<d)1f d=1k.3Y(d)+1a.23W,f<d*d+a*a?dj.49K:dj.3Sx;c=k.3V(b,1a.4Va,c);1f k.2A(c,1a.4V9)>-a?dj.3Sx:dj.49K}}1f dj.6i};1d XL=1g k;Fh.6jY=1b(a,b,c){if(!g(a))1t 1g r("49J is 1X.");if(!g(c))1t 1g r("3q is 1X.");if(0===c.1h)1t 1g r("3q 2Q 42J at 1gR 1bS 1ij");1d d=k.1y(b),e=k.1y(a.2V),f=a.3L,h=c.1h;if(k.2L(e,b))1t 1g r("8M8 2Q be 3zd 6L 49J.2V");b=k.1T(k.3V(d,e,XL),XL);d=-k.2A(b,e);1d l=Fh.6jX(e,b,d),p=Fh.4V8(a,b,d,l,c[0]);if(p){1j(1d n,z=1;z<h;++z){n=Fh.4V8(a,b,d,l,c[z]);if(!n)1f;n<p&&(p=n)}if(!(.8M7>p))1f k.add(e,k.4g(b,f/p,XL),XL)}};1d 6jZ=[];Fh.8M6=1b(a,b){if(!g(a))1t 1g r("3g is 1X.");b=m(b,ba.9y);a=Q.49I(a,b,0,6jZ);1d c=P.1aN(a),d=k.6h;if(!k.2L(d,c.2V))1f Fh.6jY(1g P(d,b.1W5),c.2V,a)};1d 6jW=1g k;Fh.6jX=1b(a,b,c){1d d=k.abs(b,6jW),e=d.x>d.y?0:1;if(0===e&&d.z>d.x||1===e&&d.z>d.y)e=2;1d f=1g k;0===e?(d.x=a.x,d.y=a.y+1,d.z=a.z+1,e=k.1dl):1===e?(d.x=a.x+1,d.y=a.y,d.z=a.z+1,e=k.1f5):(d.x=a.x+1,d.y=a.y+1,d.z=a.z,e=k.16a);b=(k.2A(b,d)+c)/-k.2A(b,e);1f k.1T(k.3V(k.add(d,k.4g(e,b,f),d),a,d),d)};1d 6jV=1g k;Fh.6jS=1b(a,b,c,d,e){a=k.3V(d,a,6jV);a=k.1T(a,a);1f.8M5>k.2A(b,a)&&(b=k.4B(b,a,a),k.7t(b)>B.6jU)?k.1T(b,1g k):e};1d JW=1g k,6jT=1g k,YL=1g k,4V7=1g k;Fh.4V8=1b(a,b,c,d,e){1d f=k.1y(e,JW);e=k.1y(a.2V,6jT);1d h=a.3L;a=k.3V(e,f,YL);1d g=k.17j(a);h*=h;if(g<h)1f!1;h=g-h;1d p=1k.3Y(h);p*=1/1k.3Y(g)*p;a=k.1T(a,a);g=k.add(f,k.4g(a,p,4V7),4V7);h=1k.3Y(h-p*p);c=1a.6jS(e,b,c,f,d);c=k.9v(c.x*c.x*a.x+(c.x*c.y-c.z)*a.y+(c.x*c.z+c.y)*a.z,(c.x*c.y+c.z)*a.x+c.y*c.y*a.y+(c.y*c.z-c.x)*a.z,(c.x*c.z-c.y)*a.x+(c.y*c.z+c.x)*a.y+c.z*c.z*a.z,JW);c=k.1T(c,c);f=k.4g(c,h,JW);c=k.1T(k.3V(k.add(g,f,YL),e,YL),YL);d=k.2A(b,c);c=k.1T(k.3V(k.3V(g,f,c),e,c),c);b=k.2A(b,c);1f d<b?d:b};1L.2X(af.1i,{3k:{1n:1b(){1f I.3O}},2Z:{1n:1b(){1f 3}},1T:{1n:1b(){1f!1}}});af.1mg=1b(a){v.2l("2M",a);1f 1g af(a.x,a.y,a.z)};af.1an=1b(a,b){v.2l("2M",a);g(b)||(b=1g 4A([a.x,a.y,a.z]));b[0]=a.x;b[1]=a.y;b[2]=a.z;1f b};1L.2X(rP.1i,{2I:{1n:1b(){1f 1a.10z}},2wW:{1n:1b(){1f 1a.3pR}}});rP.1i.2Eq=1b(a){v.1N.4n("16H",a);1f 1a.10z.16M({2I:"15l",1kx:fb(1a.3pR,{q:a})}).1vs().4b(1b(a){1f a.4yj.5d(1b(a){1d b=a.14w;b=g(b)?Q.8g(b.1tI.30x,b.1tI.1mp,b.1tH.30x,b.1tH.1mp):k.8g(a.3y.1mp,a.3y.30x);1f{2ix:a.1S6,16h:b}})})};1d 5gF={4q:1p 0,5n:r.8i,5f:r.8i},5gE={49H:1p 0,3vS:r.8i,3vQ:r.8i},XB=1L.3F({4Rc:0,4Rb:1}),PE=1b(a,b){1f 3n.26Q.1Zy(a,1F).2Ia(b)},I1=1b(a,b,c,d){1d e=a.2FH(b),f=PE(a.3M,"9O-44j"),h=PE(a.3M,"9O-4V").3X("px",""),g=PE(a.3M,"9O-2r"),p=PE(a.3M,"9O-1hF"),k=!/\\S/.6S(b);e.8M4=h;1d z=3n.4O("5u");z.2r.1K="1J1";z.2r.7z=0;z.2r.9O=g+" "+p+" "+h+"px "+f;z.1dd=b+"<br/>"+b;3n.1hg.3A(z);e.4Cx=1.2*h;1d m=PE(z,"1D");m=m.3X("px","");m>=2*h&&(e.4Cx=m/2|0);3n.1hg.18Z(z);if(k)e.49G=0,e.3wS=0,e.14w={21v:0,2LI:e.1G,2LJ:0,2LH:0},e.1D=0;1s{z=3n.4O("3M");z.1G=e.1G+100;z.1D=3*h;z.2r.7z=1;z.2r.5pa=f;z.2r.1wD=h;z.2r.8M3=g;z.2r.2NP=p;k=z.1ft("2d");k.9O=g+" "+p+" "+h+"px "+f;h=z.1G;g=z.1D;f=g/2;k.15b="1Ar";k.1ZB(-1,-1,h+2,g+2);c&&(k.1ch="2p4",k.11a=a.11a,k.3kM(b,50,f));d&&(k.15b="2p4",k.2m4(b,50,f));a=k.1LW(0,0,h,g).2g;b=0;c=4*h;1j(d=a.1h;++b<d&&255===a[b];);h=b/c|0;1j(b=d-1;0<--b&&255===a[b];);g=b/c|0;1j(b=0;b<d&&255===a[b];)b+=c,b>=d&&(b=b-d+4);p=b%c/4|0;k=1;1j(b=d-3;0<=b&&255===a[b];)b-=c,0>b&&(b=d-3-4*k++);e.49G=f-h;e.3wS=g-f;e.14w={21v:p-50,2LI:(b%c/4+1|0)-50,2LJ:0,2LH:g-h};e.1D=1+(g-h)}1f e},Ju;Ku.1i.1dc=1b(a,b){if(!g(a))1t 1g r("1A is 1X");if(!g(b))1t 1g r("4V is 1X");1f iH(1p 0,1p 0,a,b,1a.1ot)};Ku.1i.8M2=1b(a,b,c){if(!g(a))1t 1g r("2I is 1X");if(!g(b))1t 1g r("1A is 1X");if(!g(c))1t 1g r("4V is 1X");1f iH(a,1p 0,b,c,1a.1ot)};Ku.1i.6jR=1b(a,b,c){if(!g(a))1t 1g r("id is 1X");if(!g(b))1t 1g r("1A is 1X");if(!g(c))1t 1g r("4V is 1X");1f iH(cb("1ja/1or/43e/"+1Gh(a)+".12H"),1p 0,b,c,1a.1ot)};Ku.1i.6jQ=1b(a,b,c){if(!g(a))1t 1g r("3l is 1X");if(!g(b))1t 1g r("1A is 1X");if(!g(c))1t 1g r("4V is 1X");1f iH(1p 0,a,b,c,1a.1ot)};1d 6jP=1g y,DB=2K(4);Lu.4q=za.4q;Lu.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);za.5n(a.14s,b,c);1f b};1d 4V6=1g za,6jO={9S:4V6};Lu.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);a=za.5f(a,b,4V6);if(!g(c))1f 1g Lu(6jO);c.14s=za.1y(a,c.14s);1f c};1d ZL=1g k(-.5,-.5,0),$L=1g k(.5,.5,0);Lu.14t=1b(a){1d b=a.14s;a=1g ce;if(b.1K){1d c=1g 13X(12);c[0]=ZL.x;c[1]=ZL.y;c[2]=0;c[3]=$L.x;c[4]=ZL.y;c[5]=0;c[6]=$L.x;c[7]=$L.y;c[8]=0;c[9]=ZL.x;c[10]=$L.y;c[11]=0;a.1K=1g Pa({3k:I.18l,2Z:3,2a:c});b.2U&&(c=1g 4A(12),c[0]=0,c[1]=0,c[2]=1,c[3]=0,c[4]=0,c[5]=1,c[6]=0,c[7]=0,c[8]=1,c[9]=0,c[10]=0,c[11]=1,a.2U=1g Pa({3k:I.3O,2Z:3,2a:c}));b.st&&(c=1g 4A(8),c[0]=0,c[1]=0,c[2]=1,c[3]=0,c[4]=1,c[5]=1,c[6]=0,c[7]=1,a.st=1g Pa({3k:I.3O,2Z:2,2a:c}));b.8Q&&(c=1g 4A(12),c[0]=1,c[1]=0,c[2]=0,c[3]=1,c[4]=0,c[5]=0,c[6]=1,c[7]=0,c[8]=0,c[9]=1,c[10]=0,c[11]=0,a.8Q=1g Pa({3k:I.3O,2Z:3,2a:c}));b.8T&&(b=1g 4A(12),b[0]=0,b[1]=1,b[2]=0,b[3]=0,b[4]=1,b[5]=0,b[6]=0,b[7]=1,b[8]=0,b[9]=0,b[10]=1,b[11]=0,a.8T=1g Pa({3k:I.3O,2Z:3,2a:b}));c=1g 10Y(6);c[0]=0;c[1]=1;c[2]=2;c[3]=0;c[4]=2;c[5]=3}1f 1g Pb({2w:a,4N:c,6Z:Ja.11G,7u:1g P(k.6h,1k.3Y(2))})};Mu.4q=0;Mu.5n=1b(a,b){v.2l("1Q",a);v.2l("4x",b);1f b};Mu.5f=1b(a,b,c){v.2l("4x",a);1f g(c)?c:1g Mu};1d Bt=1g k(-.5,-.5,0),aM=1g k(.5,.5,0);Mu.14t=1b(){1d a=1g ce,b=1g 10Y(8),c=1g 13X(12);c[0]=Bt.x;c[1]=Bt.y;c[2]=Bt.z;c[3]=aM.x;c[4]=Bt.y;c[5]=Bt.z;c[6]=aM.x;c[7]=aM.y;c[8]=Bt.z;c[9]=Bt.x;c[10]=aM.y;c[11]=Bt.z;a.1K=1g Pa({3k:I.18l,2Z:3,2a:c});b[0]=0;b[1]=1;b[2]=1;b[3]=2;b[4]=2;b[5]=3;b[6]=3;b[7]=0;1f 1g Pb({2w:a,4N:b,6Z:Ja.1ao,7u:1g P(k.6h,1k.3Y(2))})};1d bM=1g k,6jN=1g T,L1=1g T,6jw=1g Aa,6jM=1g k,6jL=1g k,6jK=1g k,6jJ=1g k,43i=1g k,6jI=1g k,jH=1g k,ao=1g k,Nx=1g k,6jH=1g C,6jG=1g C,6jF=1g k,K1=1g ca,6jE=1g J,6jD=1g J,6jC=1g T,6jB=1g T,Kr={4o:0,5a:0},Ox=1g ml,6jA=1g T,4V3=[];tc.25R=1b(a){a=m(a,m.4Z);v.2l("3v.3q",a.3q);1f 1g tc({1ga:{3q:a.3q},1D:a.1D,9i:a.9i,9S:a.9S,15K:a.15K,3c:a.3c,6f:a.6f,16U:a.16U,1BL:a.1BL,1z2:a.1z2,8J:a.8J,14g:a.14g})};tc.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);c=xc.3z9(a.1z4,b,c);ba.5n(a.5W,b,c);c+=ba.4q;za.5n(a.14s,b,c);c+=za.4q;b[c++]=a.10o;b[c++]=a.1d5;b[c++]=a.14J;b[c++]=a.1mB;b[c++]=a.2Ep?1:0;b[c++]=a.2rc?1:0;b[c++]=a.3zc?1:0;b[c++]=a.3zb?1:0;b[c++]=a.1Hp?1:0;b[c++]=m(a.12j,-1);b[c++]=a.1sP;b[c]=a.4q;1f b};1d 6jz=ba.1y(ba.1x9),6jy=1g za,6jx={1ga:{}};tc.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=xc.3c6(a,b);b=d.2a9;4Y d.2a9;1d e=ba.5f(a,b,6jz);b+=ba.4q;1d f=za.5f(a,b,6jy);b+=za.4q;1d h=a[b++],l=a[b++],p=a[b++],k=a[b++],z=1===a[b++],w=1===a[b++],x=1===a[b++],D=1===a[b++],t=1===a[b++],q=a[b++],r=a[b++];a=a[b];g(c)||(c=1g tc(6jx));c.1z4=d;c.5W=ba.1y(e,c.5W);c.14s=za.1y(f,c.14s);c.10o=h;c.1d5=l;c.14J=p;c.1mB=k;c.2Ep=z;c.2rc=w;c.3zc=x;c.3zb=D;c.1Hp=t;c.12j=-1===q?1p 0:q;c.1sP=r;c.4q=a;1f c};tc.23q=1b(a,b){v.1N.2c("3v",a);v.1N.2c("3v.1ga",a.1ga);1d c=m(a.6f,B.15y),d=m(a.14g,Ib.1gi);if(d!==Ib.1gi&&d!==Ib.1sX)1t 1g r("13H 14g. 3qZ 3v are 2lr.1gi and 2lr.1sX.");1d e=a.1ga;a=m(a.3c,ba.9y);1f M1(e.3q,a,d,c,b)};tc.14t=1b(a){1d b=a.14s,c=a.5W,d=a.14J,e=a.1mB,f=a.1z4,h=a.2rc,l=a.3zc,p=a.3zb,k=a.1sP,z=f.3q;if(!(3>z.1h)){1d m=Zf.1aN(z,c);f=xc.4V5(f,m.2Dh.7X(m),!h,c);1d x=f.1iD;f=f.2Pf;if(0!==x.1h){z=x[0].49F;1d D=xc.4V4(m.12w.2U,m.1RH.7X(m),z,e,6jw);z=[];1d t=a.10o,q=a.1d5,r=a.2Ep||!B.5T(t,q,0,B.1BO);e={16U:h,9S:b,3y:1p 0,6jv:m,22a:D,3c:c,15K:e,7b:!1,5C:!0,1H9:!1,19r:!1,14g:k};if(r)1j(e.19r=!0,e.5C=l,e.7b=p,e.1oT=a.1Hp,e.8J=a.12j,m=0;m<f.1h;m++){r=c;D=d;1d u=x[m],y=h;1d v=l;1d A=p;1d C=b,K=k;1d E=a.6ju;1d L={49D:[]};if(v||A){1d S=xc.4V1(r,f[m],D,y,C,K),U=S.2w.1K.2a,R=S.4N;if(v&&A){U=U.9V(U);v=U.1h/3;A=Ta.9g(v,2*R.1h);A.1C(R);R=R.1h;1d V=v/2;1j(v=0;v<R;v+=3){1d W=A[v]+V,da=A[v+1]+V;A[v+R]=A[v+2]+V;A[v+1+R]=da;A[v+2+R]=W}S.2w.1K.2a=U;y&&C.2U&&(v=S.2w.2U.2a,S.2w.2U.2a=1g 4A(U.1h),S.2w.2U.2a.1C(v));S.4N=A}1s if(A){v=U.1h/3;A=Ta.9g(v,R.1h);1j(v=0;v<R.1h;v+=3)A[v]=R[v+2],A[v+1]=R[v+1],A[v+2]=R[v];S.4N=A}L.49E=1g yb({3y:S})}v=u.49F;S=Zf.1aN(v,r);S=S.2Dh(v,4V3);S=Ad.2is(S);S===Aj.2a4&&(v=v.4h().1e1());E&&(E=xc.4V2(v,r,D,y,K),L.49D.1q(1g yb({3y:E})));u=u.1nt;1j(v=0;v<u.1h;v++)E=u[v],S=Zf.1aN(E,r),S=S.2Dh(E,4V3),S=Ad.2is(S),S===Aj.3za&&(E=E.4h().1e1()),E=xc.4V2(E,r,D,y,K),L.49D.1q(1g yb({3y:E}));r=L;if(l&&p){1d ea=r.49E;e.3y=xc.49C(ea.3y,t,q,c,h)}1s l?(ea=r.49E,ea.3y.2w.1K.2a=Ad.1Ho(ea.3y.2w.1K.2a,t,c,!h),e.3y=ea.3y):p&&(ea=r.49E,ea.3y.2w.1K.2a=Ad.1Ho(ea.3y.2w.1K.2a,q,c,!0),e.3y=ea.3y);if(l||p)e.1H9=!1,ea.3y=tP(e),z.1q(ea);r=r.49D;e.1H9=!0;1j(D=0;D<r.1h;D++)y=r[D],e.3y=xc.49C(y.3y,t,q,c,h),y.3y=tP(e),z.1q(y)}1s 1j(m=0;m<f.1h;m++)l=1g yb({3y:xc.4V1(c,f[m],d,h,b,k)}),l.3y.2w.1K.2a=Ad.1Ho(l.3y.2w.1K.2a,t,c,!h),e.3y=l.3y,l.3y=tP(e),g(a.12j)&&(p=1g 4L(l.3y.2w.1K.2a.1h/3),Ic(p,a.12j===ac.6i?0:1),l.3y.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:p})),z.1q(l);c=Sc.2E9(z)[0];c.2w.1K.2a=1g 13X(c.2w.1K.2a);c.4N=Ta.9g(c.2w.1K.2a.1h/3,c.4N);d=c.2w;h=P.1ND(d.1K.2a);b.1K||4Y d.1K;1f 1g Pb({2w:d,4N:c.4N,6Z:c.6Z,7u:h,8J:a.12j})}}};tc.2E2=1b(a,b,c){1d d=a.14J,e=a.5W;b=b(d,e);c=c(d,e);1f 1g tc({1ga:a.1z4,3c:e,15K:a.1mB,6f:d,16U:!1,9i:b,1D:c,9S:za.1Gd,1oT:!0,14g:a.1sP})};1L.2X(tc.1i,{3g:{1n:1b(){g(1a.7T)||(1a.7T=M1(1a.1z4.3q,1a.5W,1a.1sP,1a.14J));1f 1a.7T}},2r3:{1n:1b(){if(!g(1a.1NF)){1d a=-1a.1mB;a=0===a?[0,0,0,1,1,0]:Pb.1NF(1a.1z4.3q,a,1a.5W,1a.3g);1a.1NF=a}1f 1a.1NF}}});1d 4UZ=[],cM=[];Lr.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);c=xc.3z9(a.1z4,b,c);ba.5n(a.5W,b,c);c+=ba.4q;b[c++]=a.10o;b[c++]=a.1d5;b[c++]=a.14J;b[c++]=a.2Ep?1:0;b[c++]=a.2rc?1:0;b[c++]=a.1sP;b[c++]=m(a.12j,-1);b[c]=a.4q;1f b};1d 6jt=ba.1y(ba.1x9),6js={1ga:{}};Lr.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=xc.3c6(a,b);b=d.2a9;4Y d.2a9;1d e=ba.5f(a,b,6jt);b+=ba.4q;1d f=a[b++],h=a[b++],l=a[b++],p=1===a[b++],k=1===a[b++],z=a[b++],w=a[b++];a=a[b];g(c)||(c=1g Lr(6js));c.1z4=d;c.5W=ba.1y(e,c.5W);c.10o=f;c.1d5=h;c.14J=l;c.2rc=k;c.2Ep=p;c.1sP=z;c.12j=-1===w?1p 0:w;c.4q=a;1f c};Lr.25R=1b(a){a=m(a,m.4Z);v.2l("3v.3q",a.3q);1f 1g Lr({1ga:{3q:a.3q},1D:a.1D,9i:a.9i,3c:a.3c,6f:a.6f,16U:a.16U,14g:a.14g,8J:a.8J})};Lr.14t=1b(a){1d b=a.5W,c=a.14J,d=a.2rc,e=a.1sP,f=xc.4V0(a.1z4,!d,b);if(0!==f.1h){1d h=[];c=B.2a3(c,b.17i);1d l=a.10o,p=a.1d5,k;if(a.2Ep||!B.5T(l,p,0,B.1BO))1j(k=0;k<f.1h;k++){1d z=b,m=f[k],x=c;1d D=d;1d t=e,q=Zf.1aN(m,z).2Dh(m,4UZ);Ad.2is(q)===Aj.2a4&&(q.1e1(),m=m.4h().1e1());q=m.1h;1d r=2K(q);1d u=0;if(D){1d v=1g 13X(12*q);1j(D=0;D<q;++D)r[D]=u/3,z=m[D],x=m[(D+1)%q],v[u++]=z.x,v[u++]=z.y,v[u++]=z.z,v[u++]=x.x,v[u++]=x.y,v[u++]=x.z}1s{v=0;if(t===Ib.1gi)1j(D=0;D<q;D++)v+=xc.3z8(m[D],m[(D+1)%q],x);1s if(t===Ib.1sX)1j(D=0;D<q;D++)v+=xc.49B(z,m[D],m[(D+1)%q],x);v=1g 13X(6*v);1j(D=0;D<q;++D){r[D]=u/3;1d y;t===Ib.1gi?y=xc.49A(m[D],m[(D+1)%q],x,cM):t===Ib.1sX&&(y=xc.49z(z,m[D],m[(D+1)%q],x,cM));1j(1d A=y.1h,C=0;C<A;++C)v[u++]=y[C]}}q=v.1h/6;m=r.1h;z=Ta.9g(q,2*(2*q+m));1j(D=u=0;D<q;++D)z[u++]=D,z[u++]=(D+1)%q,z[u++]=D+q,z[u++]=(D+1)%q+q;1j(D=0;D<m;D++)x=r[D],z[u++]=x,z[u++]=x+q;r=1g yb({3y:1g Pb({2w:1g ce({1K:1g Pa({3k:I.18l,2Z:3,2a:v})}),4N:z,6Z:Ja.1ao})});r.3y=xc.49C(r.3y,l,p,b,d);g(a.12j)&&(u=r.3y.2w.1K.2a.1h/3,q=1g 4L(u),a.12j===ac.1g5?q=Ic(q,1,0,u/2):(u=a.12j===ac.6i?0:1,q=Ic(q,u)),r.3y.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:q}));h.1q(r)}1s 1j(k=0;k<f.1h;k++){v=b;y=f[k];m=c;u=d;z=e;p=Zf.1aN(y,v).2Dh(y,4UZ);Ad.2is(p)===Aj.2a4&&(p.1e1(),y=y.4h().1e1());p=y.1h;r=0;if(u)1j(D=1g 13X(6*p),u=0;u<p;u++)v=y[u],m=y[(u+1)%p],D[r++]=v.x,D[r++]=v.y,D[r++]=v.z,D[r++]=m.x,D[r++]=m.y,D[r++]=m.z;1s{D=0;if(z===Ib.1gi)1j(u=0;u<p;u++)D+=xc.3z8(y[u],y[(u+1)%p],m);1s if(z===Ib.1sX)1j(u=0;u<p;u++)D+=xc.49B(v,y[u],y[(u+1)%p],m);D=1g 13X(3*D);1j(u=0;u<p;u++)1j(z===Ib.1gi?q=xc.49A(y[u],y[(u+1)%p],m,cM):z===Ib.1sX&&(q=xc.49z(v,y[u],y[(u+1)%p],m,cM)),x=q.1h,t=0;t<x;++t)D[r++]=q[t]}p=D.1h/3;y=Ta.9g(p,2*p);1j(u=r=0;u<p-1;u++)y[r++]=u,y[r++]=u+1;y[r++]=p-1;y[r++]=0;r=1g yb({3y:1g Pb({2w:1g ce({1K:1g Pa({3k:I.18l,2Z:3,2a:D})}),4N:y,6Z:Ja.1ao})});r.3y.2w.1K.2a=Ad.1Ho(r.3y.2w.1K.2a,l,b,!d);g(a.12j)&&(y=1g 4L(r.3y.2w.1K.2a.1h/3),u=a.12j===ac.6i?0:1,Ic(y,u),r.3y.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:y}));h.1q(r)}b=Sc.2E9(h)[0];d=P.1ND(b.2w.1K.2a);1f 1g Pb({2w:b.2w,4N:b.4N,6Z:b.6Z,7u:d,8J:a.12j})}};1d 4UW=[];lk.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);1d d,e=a.9h,f=e.1h;b[c++]=f;1j(d=0;d<f;++d,c+=k.4q)k.5n(e[d],b,c);e=a.1BN;f=g(e)?e.1h:0;b[c++]=f;1j(d=0;d<f;++d,c+=y.4q)y.5n(e[d],b,c);ba.5n(a.5W,b,c);c+=ba.4q;za.5n(a.14s,b,c);c+=za.4q;b[c++]=a.10V;b[c++]=a.2El?1:0;b[c++]=a.1sP;b[c++]=a.14J;b[c++]=a.49y;b[c++]=a.49x;b[c]=a.1x6;1f b};1d 4UY=ba.1y(ba.1x9),4UX=1g za,bp={3q:1p 0,1Bd:1p 0,3c:4UY,9S:4UX,1G:1p 0,3z2:1p 0,14g:1p 0,6f:1p 0};lk.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d,e=a[b++],f=2K(e);1j(d=0;d<e;++d,b+=k.4q)f[d]=k.5f(a,b);e=a[b++];1d h=0<e?2K(e):1p 0;1j(d=0;d<e;++d,b+=y.4q)h[d]=y.5f(a,b);d=ba.5f(a,b,4UY);b+=ba.4q;e=za.5f(a,b,4UX);b+=za.4q;1d l=a[b++],p=1===a[b++],n=a[b++],z=a[b++],w=a[b++],x=1==a[b++];a=a[b];if(!g(c))1f bp.3q=f,bp.1Bd=h,bp.1G=l,bp.3z2=p,bp.14g=n,bp.6f=z,bp.2P8=w,bp.6Y=x,bp.1ze=a,1g lk(bp);c.9h=f;c.1BN=h;c.5W=ba.1y(d,c.5W);c.14s=za.1y(e,c.14s);c.10V=l;c.2El=p;c.1sP=n;c.14J=z;c.49y=w;c.49x=x;c.1x6=a;1f c};1d 4UV=1g k,4UU=1g k,4UT=1g k,4US=1g k;lk.14t=1b(a){1d b=a.10V,c=a.49y,d=a.14s,e=a.1BN,f=a.2El,h=a.1sP,l=a.14J,p=a.5W,n=a.49x,z=a.1x6,m,x;a=$h(a.9h,k.5T);1d D=a.1h;if(!(2>D||0>=b)){if(h===Ib.1gi||h===Ib.1sX){if(h===Ib.1gi){1d t=B.2a3(l,p.17i);1d q=dd.2QG}1s t=l,q=dd.3z1;1d r=dd.44I(a,p);if(g(e)){1d u=1;1j(m=0;m<D-1;++m)u+=q(a[m],a[m+1],t);1d v=2K(u);1j(m=x=0;m<D-1;++m){1d A=e[m],C=q(a[m],a[m+1],t);if(f&&m<u){1d E=A,K=e[m+1];l=C;C=4UW;C.1h=l;A=E.5r;1d Fa=E.5t,L=E.5G,S=E.2O,U=K.5r,R=K.5t,V=K.5G;1d W=K.2O;if(y.2L(E,K))1j(W=0;W<l;W++)C[W]=y.1y(E);1s 1j(E=(U-A)/l,K=(R-Fa)/l,V=(V-L)/l,R=(W-S)/l,W=0;W<l;W++)C[W]=1g y(A+W*E,Fa+W*K,L+W*V,S+W*R);A=C.1h;1j(l=0;l<A;++l)v[x++]=C[l]}1s 1j(l=0;l<C;++l)v[x++]=y.1y(A)}v[x]=y.1y(e[e.1h-1]);e=v;4UW.1h=0}a=h===Ib.1gi?dd.4Ne({3q:a,3yT:t,3c:p,1D:r,2P8:c}):dd.6jr({3q:a,6f:t,3c:p,1D:r})}D=a.1h;h=4*D-4;p=1g 13X(3*h);m=1g 13X(3*h);t=1g 13X(3*h);q=1g 4A(2*h);r=d.st?1g 4A(2*h):1p 0;u=g(e)?1g 4L(4*h):1p 0;v=n?1g 4A(3*h):1p 0;1j(l=E=S=L=Fa=A=C=0;l<D;++l){0===l?(W=4UV,k.3V(a[0],a[1],W),k.add(a[0],W,W)):W=a[l-1];k.1y(W,4UT);k.1y(a[l],4UU);l===D-1?(W=4UV,k.3V(a[D-1],a[D-2],W),k.add(a[D-1],W,W)):W=a[l+1];k.1y(W,4US);1d da;if(g(u)){1d ea=0===l||f?e[l]:e[l-1];l!==D-1&&(da=e[l])}V=l===D-1?2:4;1j(x=0===l?2:0;x<V;++x)k.5n(4UU,p,C),k.5n(4UT,m,C),k.5n(4US,t,C),C+=3,K=0>x-2?-1:1,R=x%2*2-1,U=R*l/D,0<c?q[A++]=U:q[A++]=R,q[A++]=K*b,d.st&&(r[Fa++]=l/(D-1),r[Fa++]=1k.1V(q[A-2],0)),g(u)&&(K=2>x?ea:da,u[L++]=y.10F(K.5r),u[L++]=y.10F(K.5t),u[L++]=y.10F(K.5G),u[L++]=y.10F(K.2O)),n&&(v[3*S]=E,S++);E+=k.3s(W,a[l])}if(n)1j(b=E,z=1k.1ps()*(0<z?z:b),l=0;l<h;l++)v[3*l+1]=b,v[3*l+2]=z;z=1g ce;z.1K=1g Pa({3k:I.18l,2Z:3,2a:p});z.23V=1g Pa({3k:I.18l,2Z:3,2a:m});z.1Cu=1g Pa({3k:I.18l,2Z:3,2a:t});z.15t=1g Pa({3k:I.3O,2Z:2,2a:q});d.st&&(z.st=1g Pa({3k:I.3O,2Z:2,2a:r}));g(u)&&(z.1A=1g Pa({3k:I.7U,2Z:4,2a:u,1T:!0}));n&&(z.6Y=1g Pa({3k:I.3O,2Z:3,2a:v}));d=Ta.9g(h,6*D-6);b=n=0;--D;1j(l=0;l<D;++l)d[b++]=n,d[b++]=n+2,d[b++]=n+1,d[b++]=n+1,d[b++]=n+2,d[b++]=n+3,n+=4;1f 1g Pb({2w:z,4N:d,6Z:Ja.11G,7u:P.1aN(a),1DX:wu.4UR})}};Mr.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);1d d,e=a.9h,f=e.1h;b[c++]=f;1j(d=0;d<f;++d,c+=k.4q)k.5n(e[d],b,c);e=a.2rb;f=e.1h;b[c++]=f;1j(d=0;d<f;++d,c+=C.4q)C.5n(e[d],b,c);ba.5n(a.5W,b,c);c+=ba.4q;za.5n(a.14s,b,c);c+=za.4q;b[c++]=a.1zZ;b[c++]=a.14J;k.5n(a.1kI,b,c);1f b};1d 4UQ=ba.1y(ba.1x9),4UP=1g za,rA={1Ng:1p 0,1VL:1p 0,3c:4UQ,9S:4UP,1b8:1p 0,6f:1p 0,1kI:1p 0};Mr.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d,e=a[b++],f=2K(e);1j(d=0;d<e;++d,b+=k.4q)f[d]=k.5f(a,b);e=a[b++];1d h=2K(e);1j(d=0;d<e;++d,b+=C.4q)h[d]=C.5f(a,b);d=ba.5f(a,b,4UQ);b+=ba.4q;e=za.5f(a,b,4UP);b+=za.4q;1d l=a[b++],p=a[b++];a=k.5f(a,b);if(!g(c))1f rA.1Ng=f,rA.1VL=h,rA.1b8=l,rA.6f=p,rA.1kI=a,1g Mr(rA);c.9h=f;c.2rb=h;c.5W=ba.1y(d,c.5W);c.14s=za.1y(e,c.14s);c.1zZ=l;c.14J=p;c.1kI=a;1f c};1d 6jq=1g Aa;Mr.14t=1b(a){1j(1d b=$h(a.9h,k.5T),c=b.1h,d=2K(c),e=0;e<c;e++)d[e]=k.1y(b[e]);1d f=a.2rb;f=Zk.4UM(f);if(!(2>b.1h||3>f.1h)){Ad.2is(f)===Aj.2a4&&f.1e1();1d h=Aa.1aN(f,6jq);d=Zk.1RC(d,f,h,a,!0);if(!k.2L(a.1kI,k.6h)){1d l=2K(c);1j(e=0;e<c;e++)l[e]=k.1y(b[e]);l=Zk.6jp(l,f,h,a,!0,a.1kI)}1d p=f;a=a.14s;b=1g ce;a.1K&&(b.1K=1g Pa({3k:I.18l,2Z:3,2a:d}));c=p.1h;1d n=d.1h/3,z=(n-2*c)/(2*c);e=Ad.38X(p);f=Ta.9g(n,(z-1)*c*6+2*e.1h);1d m,x,D=2*c,t=0;1j(m=0;m<z-1;m++){1j(x=0;x<c-1;x++){1d q=2*x+m*c*2;1d r=q+D;1d u=q+1;1d v=u+D;f[t++]=u;f[t++]=q;f[t++]=v;f[t++]=v;f[t++]=q;f[t++]=r}q=2*c-2+m*c*2;u=q+1;v=u+D;r=q+D;f[t++]=u;f[t++]=q;f[t++]=v;f[t++]=v;f[t++]=q;f[t++]=r}if(a.st||a.8Q||a.8T){q=1g 4A(2*n);u=1/(z-1);v=1/h.1D;h=h.1D/2;1d y=0;1j(m=0;m<z;m++){r=m*u;D=v*(p[0].y+h);q[y++]=r;q[y++]=D;1j(x=1;x<c;x++)D=v*(p[x].y+h),q[y++]=r,q[y++]=D,q[y++]=r,q[y++]=D;D=v*(p[0].y+h);q[y++]=r;q[y++]=D}1j(x=0;x<c;x++)r=0,D=v*(p[x].y+h),q[y++]=r,q[y++]=D;1j(x=0;x<c;x++)r=(z-1)*u,D=v*(p[x].y+h),q[y++]=r,q[y++]=D;b.st=1g Pa({3k:I.3O,2Z:2,2a:1g 4A(q)})}h=n-2*c;1j(m=0;m<e.1h;m+=3)p=e[m]+h,n=e[m+1]+h,z=e[m+2]+h,f[t++]=p,f[t++]=n,f[t++]=z,f[t++]=z+c,f[t++]=n+c,f[t++]=p+c;d=1g Pb({2w:b,4N:f,7u:P.1ND(d),6Z:Ja.11G});a.2U&&(d=Sc.4UO(d));if(a.8Q||a.8T){10G{d=Sc.6jo(d)}11B(Hb){ec("11M-2M2-8Q-8T","2mq to 2Ho 2iw and 2QP 1j 11M 2M2 3y")}a.8Q||(d.2w.8Q=1p 0);a.8T||(d.2w.8T=1p 0);a.st||(d.2w.st=1p 0)}g(l)&&(d.2w.1K.2a=l,d.2w.1K.3k=I.3O);1f d}};Px.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);1d d,e=a.9h,f=e.1h;b[c++]=f;1j(d=0;d<f;++d,c+=k.4q)k.5n(e[d],b,c);e=a.2rb;f=e.1h;b[c++]=f;1j(d=0;d<f;++d,c+=C.4q)C.5n(e[d],b,c);ba.5n(a.5W,b,c);c+=ba.4q;b[c++]=a.1zZ;b[c]=a.14J;1f b};1d 4UN=ba.1y(ba.1x9),QE={1Ng:1p 0,1VL:1p 0,3c:4UN,1D:1p 0,1b8:1p 0,6f:1p 0};Px.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d,e=a[b++],f=2K(e);1j(d=0;d<e;++d,b+=k.4q)f[d]=k.5f(a,b);e=a[b++];1d h=2K(e);1j(d=0;d<e;++d,b+=C.4q)h[d]=C.5f(a,b);d=ba.5f(a,b,4UN);b+=ba.4q;e=a[b++];a=a[b];if(!g(c))1f QE.1Ng=f,QE.1VL=h,QE.1b8=e,QE.6f=a,1g Px(QE);c.9h=f;c.2rb=h;c.5W=ba.1y(d,c.5W);c.1zZ=e;c.14J=a;1f c};1d 6jn=1g Aa;Px.14t=1b(a){1d b=$h(a.9h,k.5T),c=a.2rb;c=Zk.4UM(c);if(!(2>b.1h||3>c.1h)){Ad.2is(c)===Aj.2a4&&c.1e1();1d d=Aa.1aN(c,6jn);a=Zk.1RC(b,c,d,a,!1);b=c;c=1g ce;c.1K=1g Pa({3k:I.18l,2Z:3,2a:a});b=b.1h;d=c.1K.2a.1h/3;1d e=a.1h/3/b,f=Ta.9g(d,2*b*(e+1)),h,g=0;1d p=0*b;1j(h=0;h<b-1;h++)f[g++]=h+p,f[g++]=h+p+1;f[g++]=b-1+p;f[g++]=p;p=(e-1)*b;1j(h=0;h<b-1;h++)f[g++]=h+p,f[g++]=h+p+1;f[g++]=b-1+p;f[g++]=p;1j(p=0;p<e-1;p++){1d n=b*p,z=n+b;1j(h=0;h<b;h++)f[g++]=h+n,f[g++]=h+z}1f 1g Pb({2w:c,4N:Ta.9g(d,f),7u:P.1ND(a),6Z:Ja.1ao})}};1d 5gs=1L.3F({8M1:"4UL",8M0:"aea",8LZ:"6jm",8LY:"4UK"});1L.2X(Nu.1i,{12K:{1n:1b(){1f 1a.1f7}},5I:{1n:1b(){1f 1a.15p}}});Nu.1i.1Ks=pg.1i.1Ks;Nu.1i.1Wi=pg.1i.1Wi;Nu.1i.1Wh=pg.1i.1Wh;Nu.1i.3x=1b(a,b){1f 1a.49w(a,b)};FB.1i={all:1b(){1f 1a.30U(1a.2g,[])},1qs:1b(a){1d b=1a.2g,c=[],d=1a.1lj;if(!lH(a,b))1f c;1j(1d e=[],f,h,g,p;b;){f=0;1j(h=b.9d.1h;f<h;f++)g=b.9d[f],p=b.1hj?d(g):g,lH(a,p)&&(b.1hj?c.1q(g):wP(a,p)?1a.30U(g,c):e.1q(g));b=e.9l()}1f c},30M:1b(a){1d b=1a.2g,c=1a.1lj;if(!lH(a,b))1f!1;1j(1d d=[],e,f,h,g;b;){e=0;1j(f=b.9d.1h;e<f;e++)if(h=b.9d[e],g=b.1hj?c(h):h,lH(a,g)){if(b.1hj||wP(a,g))1f!0;d.1q(h)}b=d.9l()}1f!1},1e4:1b(a){if(!a||!a.1h)1f 1a;if(a.1h<1a.30R){1j(1d b=0,c=a.1h;b<c;b++)1a.1v1(a[b]);1f 1a}a=1a.30T(a.4h(),0,a.1h-1,0);1a.2g.9d.1h?1a.2g.1D===a.1D?1a.30Q(1a.2g,a):(1a.2g.1D<a.1D&&(b=1a.2g,1a.2g=a,a=b),1a.30S(a,1a.2g.1D-a.1D-1,!0)):1a.2g=a;1f 1a},1v1:1b(a){a&&1a.30S(a,1a.2g.1D-1);1f 1a},9P:1b(){1a.2g=Rx([]);1f 1a},3S:1b(a,b){if(!a)1f 1a;1j(1d c=1a.2g,d=1a.1lj(a),e=[],f=[],h,g,p,k;c||e.1h;){c||(c=e.9l(),g=e[e.1h-1],h=f.9l(),k=!0);if(c.1hj){a:{p=a;1d z=c.9d,m=b;if(m){1j(1d x=0;x<z.1h;x++)if(m(p,z[x])){p=x;1W a}p=-1}1s p=z.3f(p)}if(-1!==p){c.9d.6z(p,1);e.1q(c);1a.3NK(e);1W}}k||c.1hj||!wP(c,d)?g?(h++,c=g.9d[h],k=!1):c=1F:(e.1q(c),f.1q(h),h=0,g=c,c=c.9d[0])}1f 1a},1lj:1b(a){1f a},2xk:P1,2xj:Q1,1n4:1b(){1f 1a.2g},3MC:1b(a){1a.2g=a;1f 1a},30U:1b(a,b){1j(1d c=[];a;)a.1hj?b.1q.6c(b,a.9d):c.1q.6c(c,a.9d),a=c.9l();1f b},30T:1b(a,b,c,d){1d e=c-b+1,f=1a.2xl;if(e<=f){1d h=Rx(a.4h(b,c+1));Qx(h,1a.1lj);1f h}d||(d=1k.8a(1k.7k(e)/1k.7k(f)),f=1k.8a(e/1k.3r(f,d-1)));h=Rx([]);h.1hj=!1;h.1D=d;e=1k.8a(e/f);f=e*1k.8a(1k.3Y(f));1d g;1j(R1(a,b,c,f,1a.2xk);b<=c;b+=f){1d p=1k.2o(b+f-1,c);R1(a,b,p,e,1a.2xj);1j(g=b;g<=p;g+=e){1d k=1k.2o(g+e-1,p);h.9d.1q(1a.30T(a,g,k,d-1))}}Qx(h,1a.1lj);1f h},3NP:1b(a,b,c,d){1j(1d e,f,h,g,p,k,z,m;;){d.1q(b);if(b.1hj||d.1h-1===c)1W;z=m=12g;e=0;1j(f=b.9d.1h;e<f;e++)h=b.9d[e],p=vP(h),k=(1k.1V(h.1ey,a.1ey)-1k.2o(h.1cW,a.1cW))*(1k.1V(h.1ex,a.1ex)-1k.2o(h.1cV,a.1cV))-p,k<m?(m=k,z=p<z?p:z,g=h):k===m&&p<z&&(z=p,g=h);b=g||b.9d[0]}1f b},30S:1b(a,b,c){1d d=1a.1lj;c=c?a:d(a);d=[];1d e=1a.3NP(c,1a.2g,b,d);e.9d.1q(a);1j(HB(e,c);0<=b;)if(d[b].9d.1h>1a.2xl)1a.3NO(d,b),b--;1s 1W;1a.3NL(c,d,b)},3NO:1b(a,b){1d c=a[b],d=c.9d.1h,e=1a.30R;1a.3NM(c,e,d);d=1a.3NN(c,e,d);d=Rx(c.9d.6z(d,c.9d.1h-d));d.1D=c.1D;d.1hj=c.1hj;Qx(c,1a.1lj);Qx(d,1a.1lj);b?a[b-1].9d.1q(d):1a.30Q(c,d)},30Q:1b(a,b){1a.2g=Rx([a,b]);1a.2g.1D=a.1D+1;1a.2g.1hj=!1;Qx(1a.2g,1a.1lj)},3NN:1b(a,b,c){1d d,e;1d f=e=12g;1j(d=b;d<=c-b;d++){1d h=GB(a,0,d,1a.1lj);1d g=GB(a,d,c,1a.1lj);1d p=1k.1V(0,1k.2o(h.1ey,g.1ey)-1k.1V(h.1cW,g.1cW))*1k.1V(0,1k.2o(h.1ex,g.1ex)-1k.1V(h.1cV,g.1cV));h=vP(h)+vP(g);if(p<f){f=p;1d k=d;e=h<e?h:e}1s p===f&&h<e&&(e=h,k=d)}1f k},3NM:1b(a,b,c){1d d=a.1hj?1a.2xk:P1,e=a.1hj?1a.2xj:Q1,f=1a.30P(a,b,c,d);b=1a.30P(a,b,c,e);f<b&&a.9d.15F(d)},30P:1b(a,b,c,d){a.9d.15F(d);d=1a.1lj;1d e=GB(a,0,b,d),f=GB(a,c-b,c,d),h=kH(e)+kH(f),g;1j(g=b;g<c-b;g++){1d p=a.9d[g];HB(e,a.1hj?d(p):p);h+=kH(e)}1j(g=c-b-1;g>=b;g--)p=a.9d[g],HB(f,a.1hj?d(p):p),h+=kH(f);1f h},3NL:1b(a,b,c){1j(;0<=c;c--)HB(b[c],a)},3NK:1b(a){1j(1d b=a.1h-1,c;0<=b;b--)0===a[b].9d.1h?0<b?(c=a[b-1].9d,c.6z(c.3f(a[b]),1)):1a.9P():Qx(a[b],1a.1lj)},3NJ:1b(a){1d b=["1f a"," - b",";"];1a.2xk=1g 1wM("a","b",b.14G(a[0]));1a.2xj=1g 1wM("a","b",b.14G(a[1]));1a.1lj=1g 1wM("a","1f {1cW: a"+a[0]+", 1cV: a"+a[1]+", 1ey: a"+a[2]+", 1ex: a"+a[3]+"};")}};Ou.49v=1b(a,b,c){c.1cW=b.4o;c.1cV=b.4C;c.1ey=b.5a;c.1ex=b.4P;c.id=a;1f c};IB.1i.1v1=1b(a,b){v.1N.4n("id",a);v.1N.2c("3g",b);a=Ou.49v(a,b,1g Ou);1a.49u.1v1(a)};1d 6jl=1g Ou;IB.1i.3S=1b(a,b){v.1N.4n("id",a);v.1N.2c("3g",b);a=Ou.49v(a,b,6jl);1a.49u.3S(a,6jk)};1d 6jj=1g Ou;IB.1i.30M=1b(a){v.1N.2c("3g",a);a=Ou.49v("",a,6jj);1f 1a.49u.30M(a)};1d 4UJ=1k.3i,4UI=1k.2T,6ji=1k.3Y,Gh={1Wr:1b(a,b,c,d,e,f,h){1d l=b.3z7,p=a.4UH;b=a.22a;1d k=p.4k-a.3c5*d+e*a.3c2,z=4UJ(k),m=4UI(k),x=l.z*m;p=p.3N+d*a.3c3+e*a.3c4;1d D=z*4UJ(p),t=z*4UI(p);z=l.x*D;l=l.y*t;m=6ji(z*D+l*t+x*m);f.x=z/m;f.y=l/m;f.z=x/m;c&&(c=a.6jb,g(c)?(k=c.4k-a.6jf*d+e*a.6jc,p=c.3N+d*a.6jd+e*a.6je,h.x=(p-a.6ja)*a.4UD,h.y=(k-a.6j9)*a.4UC):(h.x=(p-b.4o)*a.4UD,h.y=(k-b.4C)*a.4UC))}},6jh=1g ub,rl=1g k,6jg=1g T,mH=1g k,xP=1g Td;Gh.49r=1b(a,b,c,d,e,f,h){1d g=a.5a,p=a.4o,k=a.4P,z=a.4C,m=!1,x=!1;k===B.10k&&(m=!0);z===-B.10k&&(x=!0);1d D=k-z;1d t=p>g?B.14C-p+g:g-p;1d q=1k.8a(t/b)+1;b=1k.8a(D/b)+1;t/=q-1;D/=b-1;g=Q.21k(a,f);f=Q.2V(a,6jg);if(0!==c||0!==d)f.3N<g.3N&&(f.3N+=B.14C),mH=xP.12z(f,mH);a=Q.1y(a,e);m={3c5:D,3c3:0,3c4:t,3c2:0,4UH:g,22a:a,1G:q,1D:b,3z6:m,3z5:x};if(0!==c){x=S1(g,c,t,D,f,q,b);k=x.4P;z=x.4C;g=x.5a;p=x.4o;if(k<-B.10k||k>B.10k||z<-B.10k||z>B.10k)1t 1g r("8LX 3g is 16w.  It 8LW 2aM 1X3 1Z 4P or 4C 8LV.");m.3c5=x.3c5;m.3c3=x.3c3;m.3c4=x.3c4;m.3c2=x.3c2;a.4P=k;a.4C=z;a.5a=g;a.4o=p}0!==d&&(c-=d,d=Q.21k(a,h),c=S1(d,c,t,D,f,q,b),m.6jf=c.3c5,m.6je=c.3c4,m.6jd=c.3c3,m.6jc=c.3c2,m.6jb=d,m.6ja=c.4o,m.6j9=c.4C);1f m};1d yP=1g k,X1=1g k,W1=1g k,V1=1g k,Y1=1g Q,6j8=1g C,6j2=1g P,6j3=1g P,KW=1g k,4UB=1g k,LW=1g za,6j7=[1g k,1g k,1g k,1g k],Z1=1g T,6j6=1g T;Hi.4q=Q.4q+ba.4q+za.4q+7;Hi.5n=1b(a,b,c){v.1N.2c("1Q",a);v.2l("4x",b);c=m(c,0);Q.5n(a.7T,b,c);c+=Q.4q;ba.5n(a.5W,b,c);c+=ba.4q;za.5n(a.14s,b,c);c+=za.4q;b[c++]=a.14J;b[c++]=a.2iv;b[c++]=a.1dP;b[c++]=a.1mB;b[c++]=a.1d5;b[c++]=a.1Hp?1:0;b[c]=m(a.12j,-1);1f b};1d 4UG=1g Q,4UF=ba.1y(ba.1x9),Ct={3g:4UG,3c:4UF,9S:LW,6f:1p 0,1D:1p 0,5S:1p 0,15K:1p 0,9i:1p 0,1oT:1p 0,8J:1p 0};Hi.5f=1b(a,b,c){v.2l("4x",a);b=m(b,0);1d d=Q.5f(a,b,4UG);b+=Q.4q;1d e=ba.5f(a,b,4UF);b+=ba.4q;1d f=za.5f(a,b,LW);b+=za.4q;1d h=a[b++],l=a[b++],p=a[b++],k=a[b++],z=a[b++],w=1===a[b++];a=a[b];if(!g(c))1f Ct.6f=h,Ct.1D=l,Ct.5S=p,Ct.15K=k,Ct.9i=z,Ct.1oT=w,Ct.8J=-1===a?1p 0:a,1g Hi(Ct);c.7T=Q.1y(d,c.7T);c.5W=ba.1y(e,c.5W);c.14s=za.1y(f,c.14s);c.14J=h;c.2iv=l;c.1dP=p;c.1mB=k;c.1d5=z;c.1Hp=w;c.12j=-1===a?1p 0:a;1f c};Hi.23q=1b(a,b){a=m(a,m.4Z);1d c=a.3g;v.1N.2c("3g",c);Q.1f6(c);if(c.4P<c.4C)1t 1g r("3v.3g.4P 2Q be 9U 6L or 14B to 3v.3g.4C");1d d=m(a.6f,B.15y),e=m(a.3c,ba.9y);a=m(a.5S,0);1f zP(c,d,a,e,b)};1d MW=1g J,4UE=1g ca,6j5=1g T;Hi.14t=1b(a){if(!B.5T(a.7T.4P,a.7T.4C,B.1io)&&!B.5T(a.7T.5a,a.7T.4o,B.1io)){1d b=a.7T,c=a.5W,d=a.1dP,e=a.1mB,f=a.14s,h=Gh.49r(b,a.14J,d,e,Y1,Z1,6j6);0!==e||0!==d?(b=Q.2V(b,6j5),b=c.2a8(b,KW),ca.1gG(b,-e,4UE),J.1fE(4UE,MW)):J.1y(J.8K,MW);e=a.2iv;d=a.1d5;1d l=!B.5T(e,d,0,B.1BO);h.4UD=1/a.7T.1G;h.4UC=1/a.7T.1D;h.6j4=MW;b=a.7T;if(l){1d p=a.1Hp,n=a.12j,z=a.14s,m=a.1d5,x=a.2iv,D=a.5W,t=h.1D,q=h.1G;p&&(l=za.1y(z,LW),l.2U=!0,a.14s=l);l=U1(a,h);p&&(a.14s=z);x=Ad.1Ho(l.2w.1K.2a,x,D,!1);x=1g 13X(x);1d r=x.1h,u=2*r;1d v=1g 13X(u);v.1C(x);1d y=Ad.1Ho(l.2w.1K.2a,m,D);v.1C(y,r);l.2w.1K.2a=v;m=z.2U?1g 4A(u):1p 0;1d A=z.8Q?1g 4A(u):1p 0,C=z.8T?1g 4A(u):1p 0,K=z.st?1g 4A(u/3*2):1p 0;if(z.2U){1d E=l.2w.2U.2a;m.1C(E);1j(v=0;v<r;v++)E[v]=-E[v];m.1C(E,r);l.2w.2U.2a=m}if(p){E=l.2w.2U.2a;z.2U||(l.2w.2U=1p 0);m=1g 4A(u);1j(v=0;v<r;v++)E[v]=-E[v];m.1C(E,r);l.2w.1t8=1g Pa({3k:I.3O,2Z:3,2a:m})}if(m=g(n)){v=r/3*2;1d L=1g 4L(v);n===ac.1g5?L=Ic(L,1,0,v/2):(v=n===ac.6i?0:1,L=Ic(L,v));l.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:L})}if(z.8Q){L=l.2w.8Q.2a;A.1C(L);1j(v=0;v<r;v++)L[v]=-L[v];A.1C(L,r);l.2w.8Q.2a=A}z.8T&&(v=l.2w.8T.2a,C.1C(v),C.1C(v,r),l.2w.8T.2a=C);if(z.st){1d S=l.2w.st.2a;K.1C(S);K.1C(S,r/3*2);l.2w.st.2a=K}C=l.4N;K=C.1h;r/=3;u=Ta.9g(u/3,2*K);u.1C(C);1j(v=0;v<K;v+=3)u[v+K]=C[v+2]+r,u[v+1+K]=C[v+1]+r,u[v+2+K]=C[v]+r;l.4N=u;A=h.3z6;L=h.3z5;1d U=t;h=2;r=0;t=v=4;A&&(--h,--U,r+=1,v-=2,--t);L&&(--h,--U,r+=1,v-=2,--t);r+=h*q+2*U-v;t=2*(r+t);h=1g 13X(3*t);u=p?1g 4A(3*t):1p 0;C=m?1g 4L(t):1p 0;K=z.st?1g 4A(2*t):1p 0;1d R=n===ac.1g5;m&&!R&&(v=n===ac.1zj?1:0,C=Ic(C,v));1d V=n=0,W=0,da=0;U*=q;1j(v=0;v<U;v+=q){1d ea=3*v;h=Sx(h,n,ea,x,y);n+=6;z.st&&(K=Tx(K,V,2*v,S),V+=4);p&&(W+=3,u[W++]=E[ea],u[W++]=E[ea+1],u[W++]=E[ea+2]);R&&(C[da++]=1,da+=1)}if(L)1j(L=A?U+1:U,ea=3*L,v=0;2>v;v++)h=Sx(h,n,ea,x,y),n+=6,z.st&&(K=Tx(K,V,2*L,S),V+=4),p&&(W+=3,u[W++]=E[ea],u[W++]=E[ea+1],u[W++]=E[ea+2]),R&&(C[da++]=1,da+=1);1s 1j(v=U-q;v<U;v++)ea=3*v,h=Sx(h,n,ea,x,y),n+=6,z.st&&(K=Tx(K,V,2*v,S),V+=4),p&&(W+=3,u[W++]=E[ea],u[W++]=E[ea+1],u[W++]=E[ea+2]),R&&(C[da++]=1,da+=1);1j(v=U-1;0<v;v-=q)ea=3*v,h=Sx(h,n,ea,x,y),n+=6,z.st&&(K=Tx(K,V,2*v,S),V+=4),p&&(W+=3,u[W++]=E[ea],u[W++]=E[ea+1],u[W++]=E[ea+2]),R&&(C[da++]=1,da+=1);if(A)1j(ea=3*U,v=0;2>v;v++)h=Sx(h,n,ea,x,y),n+=6,z.st&&(K=Tx(K,V,2*U,S),V+=4),p&&(W+=3,u[W++]=E[ea],u[W++]=E[ea+1],u[W++]=E[ea+2]),R&&(C[da++]=1,da+=1);1s 1j(v=q-1;0<=v;v--)ea=3*v,h=Sx(h,n,ea,x,y),n+=6,z.st&&(K=Tx(K,V,2*v,S),V+=4),p&&(W+=3,u[W++]=E[ea],u[W++]=E[ea+1],u[W++]=E[ea+2]),R&&(C[da++]=1,da+=1);S=h;E=S.1h;q=z.2U?1g 4A(E):1p 0;x=z.8Q?1g 4A(E):1p 0;v=z.8T?1g 4A(E):1p 0;A=n=y=0;ea=!0;L=V1;R=W1;U=X1;if(z.2U||z.8Q||z.8T)1j(V=0;V<E;V+=6){W=k.7j(S,V,yP);da=k.7j(S,(V+6)%E,KW);ea&&(ea=k.7j(S,(V+3)%E,4UB),k.3V(da,W,da),k.3V(ea,W,ea),U=k.1T(k.4B(ea,da,U),U),ea=!1);k.5T(da,W,B.1io)&&(ea=!0);if(z.8Q||z.8T)L=D.17N(W,L),z.8Q&&(R=k.1T(k.4B(L,U,R),R));z.2U&&(q[y++]=U.x,q[y++]=U.y,q[y++]=U.z,q[y++]=U.x,q[y++]=U.y,q[y++]=U.z);z.8Q&&(x[n++]=R.x,x[n++]=R.y,x[n++]=R.z,x[n++]=R.x,x[n++]=R.y,x[n++]=R.z);z.8T&&(v[A++]=L.x,v[A++]=L.y,v[A++]=L.z,v[A++]=L.x,v[A++]=L.y,v[A++]=L.z)}D=T1(z,{3q:S,1q6:q,2iw:x,2QP:v});z.st&&(D.2w.st=1g Pa({3k:I.3O,2Z:2,2a:K}));p&&(D.2w.1t8=1g Pa({3k:I.3O,2Z:3,2a:u}));m&&(D.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:C}));p=Ta.9g(t,6*r);r=h.1h/3;1j(v=S=0;v<r-1;v+=2)z=v,m=(z+2)%r,E=k.7j(h,3*z,KW),q=k.7j(h,3*m,4UB),k.5T(E,q,B.1io)||(E=(z+1)%r,q=(E+2)%r,p[S++]=z,p[S++]=E,p[S++]=m,p[S++]=m,p[S++]=E,p[S++]=q);D.4N=p;D=Sc.2E9([1g yb({3y:l}),1g yb({3y:D})]);l=D[0];e=P.2ra(b,c,e,6j3);c=P.2ra(b,c,d,6j2);c=P.1nu(e,c)}1s l=U1(a,h),l.2w.1K.2a=Ad.1Ho(l.2w.1K.2a,e,c,!1),g(a.12j)&&(d=1g 4L(l.2w.1K.2a.1h/3),Ic(d,a.12j===ac.6i?0:1),l.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:d})),c=P.2ra(b,c,e);f.1K||4Y l.2w.1K;1f 1g Pb({2w:l.2w,4N:l.4N,6Z:l.6Z,7u:c,8J:a.12j})}};Hi.2E2=1b(a,b,c){1d d=a.14J,e=a.5W;b=b(d,e);c=c(d,e);1f 1g Hi({3g:a.7T,5S:a.1dP,3c:e,15K:a.1mB,6f:d,9i:c,1D:b,9S:za.1Gd,1oT:!0})};1d 4UA=1g Q,cp=[1g C,1g C,1g C],6j1=1g ub,6j0=1g T;1L.2X(Hi.1i,{3g:{1n:1b(){g(1a.49t)||(1a.49t=zP(1a.7T,1a.14J,1a.1dP,1a.5W));1f 1a.49t}},2r3:{1n:1b(){if(!g(1a.1NF)){if(0===1a.1mB)1d a=[0,0,0,1,1,0];1s{a=Q.1y(1a.7T,4UA);a=zP(a,1a.14J,1a.1dP-1a.1mB,1a.5W,4UA);cp[0].x=a.4o;cp[0].y=a.4C;cp[1].x=a.4o;cp[1].y=a.4P;cp[2].x=a.5a;cp[2].y=a.4C;a=1a.3g;1j(1d b=ub.49s(1a.1mB,6j1),c=Q.2V(a,6j0),d=0;3>d;++d){1d e=cp[d];e.x-=c.3N;e.y-=c.4k;ub.10r(b,e,e);e.x+=c.3N;e.y+=c.4k;e.x=(e.x-a.4o)/a.1G;e.y=(e.y-a.4C)/a.1D}a=cp[1];b=cp[2];c=2K(6);C.5n(cp[0],c);C.5n(a,c,2);C.5n(b,c,4);a=c}1a.1NF=a}1f 1a.1NF}}});1d 6iV=1g P,6iW=1g P,6iZ=1g k,6iY=1g Q;Nr.4q=Q.4q+ba.4q+5;Nr.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);Q.5n(a.7T,b,c);c+=Q.4q;ba.5n(a.5W,b,c);c+=ba.4q;b[c++]=a.14J;b[c++]=a.2iv;b[c++]=a.1dP;b[c++]=a.1d5;b[c]=m(a.12j,-1);1f b};1d 4Uz=1g Q,4Uy=ba.1y(ba.1x9),sA={3g:4Uz,3c:4Uy,6f:1p 0,1D:1p 0,5S:1p 0,9i:1p 0,8J:1p 0};Nr.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d=Q.5f(a,b,4Uz);b+=Q.4q;1d e=ba.5f(a,b,4Uy);b+=ba.4q;1d f=a[b++],h=a[b++],l=a[b++],p=a[b++];a=a[b];if(!g(c))1f sA.6f=f,sA.1D=h,sA.5S=l,sA.9i=p,sA.8J=-1===a?1p 0:a,1g Nr(sA);c.7T=Q.1y(d,c.7T);c.5W=ba.1y(e,c.5W);c.2iv=h;c.1dP=l;c.1d5=p;c.12j=-1===a?1p 0:a;1f c};1d 6iX=1g T;Nr.14t=1b(a){1d b=a.7T,c=a.5W,d=Gh.49r(b,a.14J,a.1dP,0,6iY,6iX);if(!B.5T(b.4P,b.4C,B.1io)&&!B.5T(b.5a,b.4o,B.1io)){1d e=a.2iv,f=a.1d5;if(B.5T(e,f,0,B.1BO)){1d h=$1(a,d);h.2w.1K.2a=Ad.1Ho(h.2w.1K.2a,e,c,!1);if(g(a.12j)){f=1g 4L(h.2w.1K.2a.1h/3);1d l=a.12j===ac.6i?0:1;Ic(f,l);h.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:f})}b=P.2ra(b,c,e)}1s{1d p=a.5W,k=a.1d5,z=a.2iv;h=$1(a,d);1d m=d.1D;l=d.1G;1d x=Ad.1Ho(h.2w.1K.2a,z,p,!1);z=x.1h;1d D=1g 13X(2*z);D.1C(x);p=Ad.1Ho(h.2w.1K.2a,k,p);D.1C(p,z);h.2w.1K.2a=D;k=d.3z6;d=d.3z5;z=4;k&&--z;d&&--z;p=Ta.9g(D.1h/3,2*(D.1h/3+z));z=D.1h/6;1j(x=D=0;x<z-1;x++)p[D++]=x,p[D++]=x+1,p[D++]=x+z,p[D++]=x+z+1;p[D++]=z-1;p[D++]=0;p[D++]=z+z-1;p[D++]=z;p[D++]=0;p[D++]=z;k?--m:(k=l-1,p[D++]=k,p[D++]=k+z,m=l+m-2);p[D++]=m;p[D++]=m+z;d||(l=l+m-1,p[D++]=l,p[D]=l+z);h.4N=p;g(a.12j)&&(l=h.2w.1K.2a.1h/3,m=1g 4L(l),a.12j===ac.1g5?m=Ic(m,1,0,l/2):(l=a.12j===ac.6i?0:1,m=Ic(m,l)),h.2w.1i2=1g Pa({3k:I.7U,2Z:1,2a:m}));e=P.2ra(b,c,e,6iW);b=P.2ra(b,c,f,6iV);b=P.1nu(e,b)}1f 1g Pb({2w:h.2w,4N:h.4N,6Z:Ja.1ao,7u:b,8J:a.12j})}};1d dg=1L.3F({1EB:0,4Nv:1}),Oq;"7w"!==2h 4ff&&(Oq=4ff);(1b(){if(!g(Oq)&&"7w"!==2h 7O)1j(1d a=["3jo","49q","ms","o"],b=0,c=a.1h;b<c&&!g(Oq);)Oq=7O[a[b]+"8LU"],++b;if(!g(Oq)){1d d=1E3/60,e=0;Oq=1b(a){1d b=Kd(),c=1k.1V(d-(b-e),0);e=b+c;1f 1if(1b(){a(e)},c)}}})();1d CP=1g C,Va=1L.3F({25P:0,1lX:1,1yr:2,3j4:3,49p:5,4Ux:6,2hv:7,49o:10,4Uw:11,6iU:12,1kj:15,1TL:16,4Uv:17,4Uu:18,4Ut:19}),sg={1hc:0,2QO:1,1sk:2},b2={1K:1g C},c2={1K:1g C},d2={1K:1g C},IP={18t:1g C,11R:1g C},f2={1K:1g C},j2={1K:1g C},JP={4Us:1g C,4Ur:1g C},h2={1K:1g C},i2={1K:1g C},k2={1K:1g C},KP={18t:1g C,11R:1g C},JB={3s:{18t:1g C,11R:1g C},1zY:{18t:1g C,11R:1g C}};Ne.1i.1a1=1b(a,b,c){if(!g(a))1t 1g r("3P6 is 1X.");if(!g(b))1t 1g r("1I is 1X.");b=DP(b,c);1a.49n[b]=a};Ne.1i.1NE=1b(a,b){if(!g(a))1t 1g r("1I is 1X.");a=DP(a,b);1f 1a.49n[a]};Ne.1i.1cQ=1b(a,b){if(!g(a))1t 1g r("1I is 1X.");a=DP(a,b);4Y 1a.49n[a]};Ne.1i.8LT=1b(){1d a=7O.5C,b=g(a.6iT)?a:3n;Nc.1Tj()?Ii(1a,"3Md",a,LP):Ii(1a,"1ZA",b,HP)};Ne.1i.3Z=1b(){1f!1};Ne.1i.1M=1b(){1j(1d a=1a.2QN,b=0;b<a.1h;++b)a[b]();1f la(1a)};Ne.4Uq=800;Ne.6iS=3PO;1L.2X(Pr.1i,{1cG:{1n:1b(){1f 1a.14P}},9L:{1n:1b(){1f 1a.1dh}},8c:{1n:1b(){if(!1a.3o)1t 1g r("1Bf 2Q 2S be 7I 8w 3o 20k 8O.");1f 1a.6C}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},1z3:{1n:1b(){1f!1}},1lp:{1n:1b(){1f!1}},3c1:{1n:1b(){1f 1a.1Kw},1C:1b(a){a!==1a.1Kw&&(1a.2fB=!0);1a.1Kw=a}},3bZ:{1n:1b(){1f 1a.2r9},1C:1b(a){a!==1a.2r9&&(1a.2fB=!0);1a.2r9=a}},4wU:{1n:1b(){1f 1a.2QM}},2Eo:{1n:1b(){1f 1a.2Em}},1U6:{1n:1b(){1f 1a.32x}},20C:{1n:1b(){1f 1a.32w}},32v:{1n:1b(){1f 1a.32u}}});Pr.1i.49l=1b(a,b,c,d,e){1j(1d f=[],h=0;h<e;h++)1j(1d g=0;g<e;g++){1d p=(c+d*(e-1-h)/(e-1))*(e-1),k=(b+d*g/(e-1))*(e-1),z=1k.2t(p),m=1k.8a(p),x=1k.2t(k),D=1k.8a(k),t=a[(e-1-m)*e+x],q=a[(e-1-m)*e+D],r=t*(p-z)+a[(e-1-z)*e+x]*(m-p);p=q*(p-z)+a[(e-1-z)*e+D]*(m-p);z===m&&(r=t,p=q);k=p*(k-x)+r*(D-k);x===D&&(k=p);f[h*e+g]=k}1f f};1d KB=1g Q;Pr.1i.1Bf=1b(a,b,c,d,e){if(!1a.3o)1t 1g r("1Bf 2Q 2S be 7I 8w 3o 20k 8O.");if(0===c)1f e=2K(1a.1jZ*1a.1Kv),e.4K(0),1a.2QM=!1,1g Ch({3J:e,1G:1a.1jZ,1D:1a.1Kv,3z3:1a.1Kw,3bZ:1a.2r9,1Ku:n2(1a,a,b,c),2a5:1a.2Ei,1eu:!1});1d f=[],h=1a.6C.1d1(a,b,c),l=1a;d=!1;1d p=1a.1RE.1h-1,n=1a.1iv[p][1a.1iv[p].1h-1];p=0;p=1a.1iv[p][1a.1iv[p].1h-1];if(g(e)||!(c>p)){1d z=1a,m=!1;if(g(z.1pw)&&z.1pw===ik.1U9||z.1Jp)m=!0;1j(1d x=0;x<1a.1RE.1h;x++){1d D=Q.17d(1a.1RE[x],h,KB);if(g(e)&&!m){1d t=e[1a.1RG[x]];if(g(t)&&(1===t&&(d=!0),0===t||2===t))1aJ}if(0===f.1h&&x===1a.1RE.1h-1&&c>n)1W;if(g(D)){D=1a.1iv[x][1a.1iv[x].1h-1];t=!1;c>=1a.1iv[x][0]&&c<=p&&(t=!0);if(t){1d q=t=0,u=1,v=a,y=b,A=c;A>D&&(u=1/1k.3r(2,A-D));1j(1d C=u;A>D;)1===v%2&&(t+=C),0===y%2&&(q+=C),C*=2,A--,v=1k.2t(.5*v),y=1k.2t(.5*y);D={4Up:t,4Uo:q,1G:u,6iQ:l.1RG[x]};t=c+"10D"+a+"10D"+b;g(l.2En[t])?l.2En[t].1q(D):l.2En[t]=[D];(1b(a){1d b=l.1RG[a],c=b.11c(0,b.1h-1);b=l.1RG[a]+"2g/2P/"+y+"/"+v+".4uy?6b="+A;1d d=l.49m;g(d)&&(b=d.3z4(b));d=1g Ke({1j8:!0,1mj:!1,1I:Jd.1Q8});1d e=1p 0;if(g(z.1pw)&&z.1pw===ik.1U9)d.1I=Jd.20D,d.1b3=m2(v,y,A),d.1U7=b.11c(b.3f("1x2/")+6,b.3f("/2g/"));1s if(z.1Jp){d.1I=Jd.2n5;1d h=1k.3r(2,1k.2o(z.1Ub,A));h={x:1k.2t(v/h),y:1k.2t(y/h),1Mv:v%h,1sA:y%h,6b:A,3c0:h};d.1b3=m2(h.x,h.y,h.6b);d.2Ki=h;d.1U7=b.11c(b.3f("1x2/")+6,b.3f("/2g/"));1d p=z.1U6[d.1b3+"10D"+d.1U7];g(p)&&(z.20C.1Jo(p),e={3J:p.2g})}g(e)||(g(Ba.12M)&&(b=g(Ba.12M.1e7[c])?Ba.1oo(c,b):Ba.1cl(b)),c=na.14m(b),e=b,g(d.2Ki)&&(e=l.1RG[a]+"2g/2P/"+h.y+"/"+h.x+".4uy?6b="+A),e=c.16M({2I:e,7M:d}).1kw());g(e)&&(e.id=a,e.2I=b,e.2QL=d);f.1q(e)})(x)}if(d)1W}}if(!(-1<f.3f(1p 0)))1f 1a.2QM=!0,Z.6iR(f,1b(d){if(!(1>d.1h)){1j(1d e=[],p=0;p<d.1h;p++){1d n=d[p];if(g(n)){g(n.3J)&&(n=n.3J);if(0!==c){if(g(z.1pw)&&z.1pw===ik.1U9)a:{1d m,t=n,w=f[p].2QL.1Vg,x=1g 1dE(t),D=0,q=x.9A(D,!0);if(w>q-1)1t 1g r("5n 8v 2P 16w");D+=4;1d u=[];1j(m=0;m<q;m++)n=x.9A(D,!0),u.1q(n),D+=4;1j(m=0;m<q;m++){n=u[m];if(m===w){if(0===n){n=1p 0;1W a}n=1g 4L(t,D,n);1W a}D+=n}n=1p 0}1s if(z.1Jp){m=z.1U6[f[p].2QL.1b3];g(m)||(m=1g qB(z,f[p].2QL.1b3,n),z.1U6[f[p].2QL.1b3+"10D"+f[p].2QL.1U7]=m);z.20C.1Jo(m);z.20C.1b2(z.32v);x=f[p].2QL.2Ki;m=1g 1dE(n);t=0;m.9A(t,!0);t+=4;w=m.9A(t,!0);t+=4;x=x.1sA*x.3c0+x.1Mv;1j(u=q=D=0;u<w;u++){if(u<x)D+=m.9A(t,!0);1s if(u===x){q=m.9A(t,!0);1W}t+=4}0===q?n=1p 0:(t=8+4*w+D,n=(1g 4L(n)).4h(t,t+q).3J)}if(!g(n)){if(0===p&&1<d.1h&&(m=c+"10D"+a+"10D"+b,n=l.2En[m],1!=n[p+1].1G)){4Y l.2En[m];1f}1aJ}}n="3RQ"===l.2yV?Dp.1pn(n).3J:n;if(2===n.10S/(l.1jZ*l.1Kv))1j(m=1g 1FS(n,0,l.1jZ*l.1Kv),n=[],t=0;t<m.1h;t++)n.1q(7L(m[t]));1s n=1g 4A(n,0,l.1jZ*l.1Kv);e.1q(n)}1s e.1q(1p 0)}m=c+"10D"+a+"10D"+b;n=l.2En[m];4Y l.2En[m];if(1<e.1h)1j(p=0;p<e.1h;p++)!g(e[p])||0==n[p].4Up&&0==n[p].4Uo&&1==n[p].1G||(m=l.49l(e[p],n[p].4Up,n[p].4Uo,n[p].1G,l.1jZ),e[p]=m);d=[{},{},{},{}];1j(p=0;p<e.1h;p++)if(g(e[p])){t=n[p].6iQ;w=0==e[p][0]?2:1;x=0==e[p][l.1jZ-1]?2:1;D=0==e[p][(l.1Kv-1)*l.1jZ]?2:1;q=0==e[p][l.1Kv*l.1jZ-1]?2:1;u=.5*l.1jZ;1d v=.5*l.1Kv;1j(m=0;m<e[p].1h;m++){1d y=1k.2t(m/l.1jZ),G=m%l.1jZ;if(y<v&&G<u)if(y=e[p][m],1===w){if(0==y){w=3;1W}}1s if(0!=y){w=3;1W}}d[0][t]=w;1j(m=0;m<e[p].1h;m++)if(y=1k.2t(m/l.1jZ),G=m%l.1jZ,y<v&&G>=u)if(y=e[p][m],1===x){if(0==y){x=3;1W}}1s if(0!=y){x=3;1W}d[1][t]=x;1j(m=0;m<e[p].1h;m++)if(y=1k.2t(m/l.1jZ),G=m%l.1jZ,y>=v&&G<u)if(y=e[p][m],1===D){if(0==y){D=3;1W}}1s if(0!=y){D=3;1W}d[2][t]=D;1j(m=0;m<e[p].1h;m++)if(y=1k.2t(m/l.1jZ),G=m%l.1jZ,y>=v&&G>=u)if(y=e[p][m],1===q){if(0==y){q=3;1W}}1s if(0!=y){q=3;1W}d[3][t]=q;if(1===w&&1===x&&1===D&&1===q)1W}n=[];1j(p=0;p<e.1h;p++)g(e[p])&&n.1q(e[p]);if(0!==n.1h){e=n[0];if(1<n.1h)1j(m=0;m<e.1h;m++)if(0==e[m])1j(p=1;p<n.1h;p++)if(0!=n[p][m]){e[m]=n[p][m];1W}n=!1;1j(p=0;p<e.1h;p++)if(1k.abs(e[p])>B.2zm){n=!0;1W}p=l.1jZ;m=l.1Kv;t=1p 0;if(l.2Em)if(1p 0==e)t=1p 0;1s 1j(t=1g 4L(p*m*3),w=h.1G,x=h.1D,D=0;D<p;D++)1j(q=0;q<m;q++){u=q*p+D;v=D;y=q;13<c&&(D=0==D?D+1:D,q=0==q?q+1:q,D=D==p-1?p-2:D,q=q==m-1?m-2:q);1d A=1k.1V(D-1,0),C=q;G=e[C*p+A];A=1k.2o(D+1,p-1);C=q;1d oa=e[C*p+A];A=D;C=1k.2o(q+1,m-1);1d aa=e[C*p+A];A=D;C=1k.1V(q-1,0);A=e[C*p+A];D=v;q=y;v=1g k((G-oa)/(16t*1k.3i(h.4C+x*(512-2*q-1)/512)*w/p),(A-aa)/(16t*x/m),2);k.1T(v,v);t[3*u]=255*(.5*v.x+.5);t[3*u+1]=255*(.5*v.y+.5);t[3*u+2]=255*(.5*v.z+.5)}1f 1g Ch({3J:e,1G:p,1D:m,3z3:l.1Kw,3bZ:l.2r9,1Ku:n2(l,a,b,c),2a5:l.2Ei,1eu:n,4Un:d,1ns:t,6b:c,x:a,y:b})}}},1b(a){1f Z.7N(a)})}};Pr.1i.1DR=1b(a){if(!1a.3o)1t 1g r("1Bf 2Q 2S be 7I 8w 3o 20k 8O.");1f 1a.1RD/(1<<a)};KB=1g Q;Pr.1i.2fl=1b(a,b,c){if(0===c)1f!0;a=1a.6C.1d1(a,b,c);1j(b=0;b<1a.1RE.1h;b++){1d d=Q.17d(1a.1RE[b],a,KB);if(g(d)&&c>=1a.1iv[b][0]&&c<=1a.1iv[b][1a.1iv[b].1h-1])1f!0}1f!1};Pr.1i.2Eh=1b(a,b,c){};1L.2X(Wc.1i,{3k:{1n:1b(){1f I.7U}},2Z:{1n:1b(){1f 1}},1T:{1n:1b(){1f!1}}});Wc.1an=1b(a,b){if(!g(a))1t 1g r("2p is 1X.");if(!g(b))1f 1g 4L([a]);b[0]=a;1f b};1d tA={},pH=1g M(2QK,0,hd.1hx),sl=B.15y,nk=B.6iP,r2=1g J,q2=50,6iO=B.1PW,6iG=100.8LS*sl,6iF=1.8LR*nk,6iE=-79*1E-7,6iD=232*1E-7,6iC=-52*1E-7,6iB=-116*1E-7,Ux=1g M(0,0,hd.1hx),4Ul=1g J(1.8LQ,5.8LP-16,4.8LO-19,-5.8LN-16,.6iM,-.6iN,-2.8LM-16,.6iN,.6iM),RE=1g k;tA.5UO=1b(a,b){g(a)||(a=M.14H());g(b)||(b=1g k);1d c=RE;o2(a,Ux);1d d=(Ux.1mA-pH.1mA+(Ux.1mz-pH.1mz)/Ed.1RF)/(10*Ed.3bY),e=.8LL*d;RE=p2(1.8LK+8LJ.8LI*1k.3i(49k*e)+-8LH.1cN*1k.2T(49k*e)+-8LG.624*1k.3i(49j*e)+-8LF.202*1k.2T(49j*e)+8LE.794*1k.3i(49h*e)+8LD.516*1k.2T(49h*e)+-8LC.8LB*1k.3i(49i*e)+8LA.498*1k.2T(49i*e)+8Lz.8Ly*1k.3i(6iL*e)+8Lx.8Lw*1k.2T(6iL*e)+-8Lv.267*1k.3i(6iK*e)+8Lu.888*1k.2T(6iK*e)+8Lt.953*1k.3i(6iJ*e)+-8Ls.8Lr*1k.2T(6iJ*e)+-8Lq.657*1k.3i(6iI*e)+8Lp.314*1k.2T(6iI*e),.8Lo-4.8Ln-4*d,469.8Lm*nk*d,102.8Ll*sl+8Lk.8Lj*nk*d,174.8Li*sl-6iH.8Lh*nk*d,6iG+6iF*d+-3.25E-5*1k.3i(10*e)+-1.8Lg-5*1k.2T(10*e)+-3.22E-5*1k.3i(49k*e)+-1.37E-5*1k.2T(49k*e)+6iE*1k.3i(49j*e)+2.58E-5*1k.2T(49j*e)+6iD*1k.3i(49i*e)+3.5E-6*1k.2T(49i*e)+6iC*1k.3i(4Um*e)+6iB*1k.2T(4Um*e)+9.7E-6*1k.3i(49h*e)+-8.8E-6*1k.2T(49h*e)+5.5E-6*1k.3i(6iA*e)+-1.12E-5*1k.2T(6iA*e)+-4.1E-6*1k.3i(73*e)+-8E-6*1k.2T(73*e),c);b=k.11k(RE,b);c=RE;c=s2(a,c);k.4g(c,-.8Lf,c);k.3V(b,RE,b);J.10r(4Ul,b,b);1f b};tA.4ue=1b(a,b){g(a)||(a=M.14H());b=s2(a,b);J.10r(4Ul,b,b);1f b};LB.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);1d d,e=a.9h,f=e.1h;b[c++]=f;1j(d=0;d<f;++d,c+=k.4q)k.5n(e[d],b,c);e=a.1BN;f=g(e)?e.1h:0;b[c++]=f;1j(d=0;d<f;++d,c+=y.4q)y.5n(e[d],b,c);ba.5n(a.5W,b,c);c+=ba.4q;b[c++]=a.2El?1:0;b[c++]=a.1sP;b[c]=a.14J;1f b};LB.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d,e=a[b++],f=2K(e);1j(d=0;d<e;++d,b+=k.4q)f[d]=k.5f(a,b);e=a[b++];1d h=0<e?2K(e):1p 0;1j(d=0;d<e;++d,b+=y.4q)h[d]=y.5f(a,b);d=ba.5f(a,b);b+=ba.4q;e=1===a[b++];1d l=a[b++];a=a[b];if(!g(c))1f 1g LB({3q:f,1Bd:h,3c:d,3z2:e,14g:l,6f:a});c.9h=f;c.1BN=h;c.5W=d;c.2El=e;c.1sP=l;c.14J=a;1f c};1d dM=2K(2),eM=2K(2),Zq={3q:dM,1D:eM,3c:1p 0,3yT:1p 0,6f:1p 0};LB.14t=1b(a){1d b=a.9h,c=a.1BN,d=a.2El,e=a.1sP,f=a.14J,h=a.5W;a=B.2a3(f,h.17i);1d l=g(c)&&!d;d=b.1h;1d p,n=0;if(e===Ib.1gi||e===Ib.1sX){if(e===Ib.1gi){1d m=B.2a3(f,h.17i);1d w=dd.2QG;1d x=dd.1Kt}1s m=f,w=dd.3z1,x=dd.4Uk;1d D=dd.44I(b,h);e===Ib.1gi?Zq.3yT=a:Zq.6f=f;Zq.3c=h;if(l){1j(e=p=0;e<d-1;e++)p+=w(b[e],b[e+1],m)+1;f=1g 13X(3*p);p=1g 4L(4*p);Zq.3q=dM;Zq.1D=eM;1j(e=l=0;e<d-1;++e){dM[0]=b[e];dM[1]=b[e+1];eM[0]=D[e];eM[1]=D[e+1];m=x(Zq);if(g(c))1j(w=m.1h/3,a=c[e],h=0;h<w;++h)p[l++]=y.10F(a.5r),p[l++]=y.10F(a.5t),p[l++]=y.10F(a.5G),p[l++]=y.10F(a.2O);f.1C(m,n);n+=m.1h}}1s if(Zq.3q=b,Zq.1D=D,f=1g 13X(x(Zq)),g(c)){p=1g 4L(f.1h/3*4);1j(e=0;e<d-1;++e){1d t=c[e],q=c[e+1];x=p;h=n;n=dd.2QG(b[e],b[e+1],a);D=t.5r;l=t.5t;m=t.5G;w=t.2O;1d r=q.5r,u=q.5t,v=q.5G;1d A=q.2O;if(y.2L(t,q)){1j(A=0;A<n;A++)x[h++]=y.10F(D),x[h++]=y.10F(l),x[h++]=y.10F(m),x[h++]=y.10F(w);n=h}1s{t=(r-D)/n;q=(u-l)/n;v=(v-m)/n;u=(A-w)/n;1j(A=0;A<n;A++)x[h++]=y.10F(D+A*t),x[h++]=y.10F(l+A*q),x[h++]=y.10F(m+A*v),x[h++]=y.10F(w+A*u);n=h}}e=c[d-1];p[n++]=y.10F(e.5r);p[n++]=y.10F(e.5t);p[n++]=y.10F(e.5G);p[n++]=y.10F(e.2O)}}1s 1j(p=l?2*d-2:d,f=1g 13X(3*p),p=g(c)?1g 4L(4*p):1p 0,e=n=x=0;e<d;++e){D=b[e];l&&0<e&&(k.5n(D,f,x),x+=3,a=c[e-1],p[n++]=y.10F(a.5r),p[n++]=y.10F(a.5t),p[n++]=y.10F(a.5G),p[n++]=y.10F(a.2O));if(l&&e===d-1)1W;k.5n(D,f,x);x+=3;g(c)&&(a=c[e],p[n++]=y.10F(a.5r),p[n++]=y.10F(a.5t),p[n++]=y.10F(a.5G),p[n++]=y.10F(a.2O))}d=1g ce;d.1K=1g Pa({3k:I.18l,2Z:3,2a:f});g(c)&&(d.1A=1g Pa({3k:I.7U,2Z:4,2a:p,1T:!0}));p=f.1h/3;c=Ta.9g(p,2*(p-1));1j(e=f=0;e<p-1;++e)c[f++]=e,c[f++]=e+1;1f 1g Pb({2w:d,4N:c,6Z:Ja.1ao,7u:P.1aN(b)})};1d MP=1L.3F({1ml:{6i:0,2Bd:1,8Le:2,8Ld:3}});Vx.1i.1M=1b(){1a.1EO.1h=0;g(1a.17h)&&1a.17h.1M()};1L.2X(Vx.1i,{2nO:{1n:1b(){1f 1a.2it},1C:1b(a){1a.2it=a}},2fp:{1n:1b(){1f 1a.2iu},1C:1b(a){1a.2iu=a}},2nM:{1n:1b(){1f 1a.1z7},1C:1b(a){1a.1z7=a}},2nN:{1n:1b(){1f 1a.1oq},1C:1b(a){1a.1oq=a}},1FE:{1n:1b(){1f 1a.17h},1C:1b(a){if(g(a)){if(1a.17h=bh.1y(a,1a.17h),1a.23U=!0,a=1a.17h.7Z(),!(1>a)){1d b=0,c=0,d=1a.17h.2eK(0);g(d)&&g(d.1eD)&&(b=7L(d.1eD));d=1a.17h.2eK(a-1);g(d)&&g(d.1eD)&&(c=7L(d.1eD));1a.1z7=1k.1V(b,c);1a.1oq=1k.2o(b,c)}}1s g(1a.17h)&&(1a.17h.1M(),1a.17h=1F)}},2zg:{1n:1b(){1f 1a.1n8},1C:1b(a){1a.1n8=a}},2fb:{1n:1b(){1f 1a.1EO},1C:1b(a){1a.23T=!0;1a.1EO.1h=0;if(g(a))1j(1d b=0;b<a.1h;b++)1a.1EO[b]=a[b]}},1ml:{1n:1b(){1f 1a.1N8},1C:1b(a){1a.1N8=a}},6iz:{1n:1b(){1f 1a.23U},1C:1b(a){1a.23U=a}},3oh:{1n:1b(){1f 1a.23T},1C:1b(a){1a.23T=a}}});Vx.1y=1b(a,b){if(g(a)){g(b)||(b=1g Vx);b.2iu=a.2iu;b.2it=a.2it;b.1oq=a.1oq;b.1z7=a.1z7;b.1n8=a.1n8;b.23U=a.23U;b.23T=a.23T;b.1N8=a.1N8;b.17h=bh.1y(a.17h,b.17h);1j(1d c=b.1EO.1h=0;c<a.1EO.1h;c++)b.1EO[c]=a.1EO[c];1f b}};Qr.4q=$e.4q;Qr.5n=1b(a,b,c){v.1N.2c("1Q",a);1f $e.5n(a.2Ek,b,c)};1d 6iy=1g $e,Dt={3L:1p 0,10N:1g k,9S:1g za,1im:1p 0,1in:1p 0};Qr.5f=1b(a,b,c){a=$e.5f(a,b,6iy);Dt.9S=za.1y(a.14s,Dt.9S);Dt.1im=a.2a7;Dt.1in=a.2a6;if(!g(c))1f Dt.3L=a.1jQ.x,1g Qr(Dt);k.1y(a.1jQ,Dt.10N);c.2Ek=1g $e(Dt);1f c};Qr.14t=1b(a){1f $e.14t(a.2Ek)};Ep.4q=wj.4q;Ep.5n=1b(a,b,c){v.1N.2c("1Q",a);1f wj.5n(a.2Ek,b,c)};1d 6ix=1g wj,Cw={3L:1p 0,10N:1g k,1im:1p 0,1in:1p 0,1sS:1p 0};Ep.5f=1b(a,b,c){a=wj.5f(a,b,6ix);Cw.1im=a.2a7;Cw.1in=a.2a6;Cw.1sS=a.3bX;if(!g(c))1f Cw.3L=a.1jQ.x,1g Ep(Cw);k.1y(a.1jQ,Cw.10N);c.2Ek=1g wj(Cw);1f c};Ep.14t=1b(a){1f wj.14t(a.2Ek)};Hh.1mg=1b(a,b){v.1N.2c("8Lc",a);1d c=a.x,d=a.y;a=a.z;1d e=c*c+d*d;g(b)||(b=1g Hh);b.14c=1k.12B(d,c);b.1EN=1k.12B(1k.3Y(e),a);b.7t=1k.3Y(e+a*a);1f b};Hh.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g Hh(a.14c,a.1EN,a.7t);b.14c=a.14c;b.1EN=a.1EN;b.7t=a.7t;1f b}};Hh.1T=1b(a,b){v.1N.2c("49g",a);if(!g(b))1f 1g Hh(a.14c,a.1EN,1);b.14c=a.14c;b.1EN=a.1EN;b.7t=1;1f b};Hh.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.14c===b.14c&&a.1EN===b.1EN&&a.7t===b.7t};Hh.5T=1b(a,b,c){c=m(c,0);1f a===b||g(a)&&g(b)&&1k.abs(a.14c-b.14c)<=c&&1k.abs(a.1EN-b.1EN)<=c&&1k.abs(a.7t-b.7t)<=c};Hh.1i.2L=1b(a){1f Hh.2L(1a,a)};Hh.1i.1y=1b(a){1f Hh.1y(1a,a)};Hh.1i.5T=1b(a,b){1f Hh.5T(1a,a,b)};Hh.1i.5s=1b(){1f"("+1a.14c+", "+1a.1EN+", "+1a.7t+")"};u2.8Lb=1b(a){if(!g(a))1t 1g r("2I is 1X");if("4n"!==2h a)1t 1g r("2I 2Q be a 4n");1d b=a.1sl("2eB");if(-1===b)1f Z.5h(!1).4b(1b(){1f!1}).10g(1b(){1f!1});a=a.11c(0,b)+"2eB/8La.1g3";g(Ba.12M)&&(a=Ba.1cl(a));1f Tn({2I:a,1f8:"3l"}).4b(1b(a){1f-1!==a.3f("<11T>8O</11T>")?!0:!1}).10g(1b(a){1f!1})};1L.2X(Qu.1i,{1mn:{1n:r.8i},1UM:{1n:r.8i}});Qu.1i.3bW=r.8i;Qu.1i.33D=r.8i;Qu.1i.3z0=r.8i;Qu.1i.3yZ=r.8i;Qu.1i.342=r.8i;1d qH={},6iw="7w"!==2h 3n?1g zb(3n.17J.17S):1g zb;Wx.49f=6;1d kc={27P:0,2fD:1,27Q:2,2fC:3,341:4,3oZ:5,3p0:6,3p1:7};1L.2X(Rr.1i,{3c:{1n:r.8i},3g:{1n:r.8i},18T:{1n:r.8i}});Rr.1i.1ou=r.8i;Rr.1i.1Bj=r.8i;Rr.1i.1JD=r.8i;Rr.1i.1JE=r.8i;Rr.1i.1d1=r.8i;Rr.1i.1mi=r.8i;1L.2X(Md.1i,{2dv:{1n:1b(){1f 1a.3yX}},4I:{1n:1b(){1d a=1a.18S;1f 0===a.1h?1p 0:a[0].4I}},16q:{1n:1b(){1d a=1a.18S;1f 0===a.1h?!1:a[0].16q}},4U:{1n:1b(){1d a=1a.18S,b=a.1h;1f 0===b?1p 0:a[b-1].4U}},14K:{1n:1b(){1d a=1a.18S,b=a.1h;1f 0===b?!1:a[b-1].14K}},1h:{1n:1b(){1f 1a.18S.1h}},1kn:{1n:1b(){1f 0===1a.18S.1h}}});Md.1i.2L=1b(a,b){if(1a===a)1f!0;if(!(a 2m Md))1f!1;1d c=1a.18S;a=a.18S;1d d=c.1h;if(d!==a.1h)1f!1;1j(1d e=0;e<d;e++)if(!Ab.2L(c[e],a[e],b))1f!1;1f!0};Md.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.");1f 1a.18S[a]};Md.1i.7f=1b(){0<1a.18S.1h&&(1a.18S.1h=0,1a.3yX.5k(1a))};Md.1i.8L9=1b(a){a=1a.3f(a);1f 0<=a?1a.18S[a]:1p 0};Md.1i.2Pk=1b(a){a=1a.3f(a);1f 0<=a?1a.18S[a].2g:1p 0};Md.1i.8h=1b(a){1f 0<=1a.3f(a)};1d NW=1g Ab;Md.1i.3f=1b(a){if(!g(a))1t 1g r("1sL is 1X");1d b=1a.18S;NW.4I=a;NW.4U=a;1d c=Ah(b,NW,NP);if(0<=c)1f b[c].16q?c:0<c&&b[c-1].4U.2L(a)&&b[c-1].14K?c-1:~c;c=~c;1f 0<c&&c-1<b.1h&&Ab.8h(b[c-1],a)?c-1:~c};Md.1i.49e=1b(a){a=m(a,m.4Z);1d b=a.4I,c=a.4U,d=a.16q;a=a.14K;1j(1d e=1a.18S,f=0,h=e.1h;f<h;f++){1d l=e[f];if(!(g(b)&&!l.4I.2L(b)||g(c)&&!l.4U.2L(c)||g(d)&&l.16q!==d||g(a)&&l.14K!==a))1f e[f]}};Md.1i.1r2=1b(a,b){if(!g(a))1t 1g r("18B is 1X");if(!a.1kn){1d c=1a.18S;if(0===c.1h||M.1bP(a.4I,c[c.1h-1].4U))c.1q(a);1s{1d d=Ah(c,a,NP);0>d?d=~d:0<d&&a.16q&&c[d-1].16q&&c[d-1].4I.2L(a.4I)?--d:d<c.1h&&!a.16q&&c[d].16q&&c[d].4I.2L(a.4I)&&++d;if(0<d){1d e=M.1iF(c[d-1].4U,a.4I);if(0<e||0===e&&(c[d-1].14K||a.16q))(g(b)?b(c[d-1].2g,a.2g):c[d-1].2g===a.2g)?(a=M.1bP(a.4U,c[d-1].4U)?1g Ab({4I:c[d-1].4I,4U:a.4U,16q:c[d-1].16q,14K:a.14K,2g:a.2g}):1g Ab({4I:c[d-1].4I,4U:c[d-1].4U,16q:c[d-1].16q,14K:c[d-1].14K||a.4U.2L(c[d-1].4U)&&a.14K,2g:a.2g}),c.6z(d-1,1),--d):(e=M.1iF(c[d-1].4U,a.4U),(0<e||0===e&&c[d-1].14K&&!a.14K)&&c.6z(d,0,1g Ab({4I:a.4U,4U:c[d-1].4U,16q:!a.14K,14K:c[d-1].14K,2g:c[d-1].2g})),c[d-1]=1g Ab({4I:c[d-1].4I,4U:a.4I,16q:c[d-1].16q,14K:!a.16q,2g:c[d-1].2g}))}1j(;d<c.1h;)if(e=M.1iF(a.4U,c[d].4I),0<e||0===e&&(a.14K||c[d].16q))if(g(b)?b(c[d].2g,a.2g):c[d].2g===a.2g)a=1g Ab({4I:a.4I,4U:M.1bP(c[d].4U,a.4U)?c[d].4U:a.4U,16q:a.16q,14K:M.1bP(c[d].4U,a.4U)?c[d].14K:a.14K,2g:a.2g}),c.6z(d,1);1s if(c[d]=1g Ab({4I:a.4U,4U:c[d].4U,16q:!a.14K,14K:c[d].14K,2g:c[d].2g}),c[d].1kn)c.6z(d,1);1s 1W;1s 1W;c.6z(d,0,a)}1a.3yX.5k(1a)}};Md.1i.3yY=1b(a){if(!g(a))1t 1g r("18B is 1X");if(a.1kn)1f!1;1d b=1a.18S,c=Ah(b,a,NP);0>c&&(c=~c);1d d=!1;0<c&&(M.1bP(b[c-1].4U,a.4I)||b[c-1].4U.2L(a.4I)&&b[c-1].14K&&a.16q)&&(d=!0,(M.1bP(b[c-1].4U,a.4U)||b[c-1].14K&&!a.14K&&b[c-1].4U.2L(a.4U))&&b.6z(c,0,1g Ab({4I:a.4U,4U:b[c-1].4U,16q:!a.14K,14K:b[c-1].14K,2g:b[c-1].2g})),b[c-1]=1g Ab({4I:b[c-1].4I,4U:a.4I,16q:b[c-1].16q,14K:!a.16q,2g:b[c-1].2g}));c<b.1h&&!a.16q&&b[c].16q&&a.4I.2L(b[c].4I)&&(d=!0,b.6z(c,0,1g Ab({4I:b[c].4I,4U:b[c].4I,16q:!0,14K:!0,2g:b[c].2g})),++c);1j(;c<b.1h&&M.1bP(a.4U,b[c].4U);)d=!0,b.6z(c,1);c<b.1h&&a.4U.2L(b[c].4U)&&(d=!0,!a.14K&&b[c].14K?c+1<b.1h&&b[c+1].4I.2L(a.4U)&&b[c].2g===b[c+1].2g?(b.6z(c,1),b[c]=1g Ab({4I:b[c].4I,4U:b[c].4U,16q:!0,14K:b[c].14K,2g:b[c].2g})):b[c]=1g Ab({4I:a.4U,4U:a.4U,16q:!0,14K:!0,2g:b[c].2g}):b.6z(c,1));c<b.1h&&(M.1bP(a.4U,b[c].4I)||a.4U.2L(b[c].4I)&&a.14K&&b[c].16q)&&(d=!0,b[c]=1g Ab({4I:a.4U,4U:b[c].4U,16q:!a.14K,14K:b[c].14K,2g:b[c].2g}));d&&1a.3yX.5k(1a);1f d};Md.1i.1sU=1b(a,b,c){if(!g(a))1t 1g r("3bV is 1X.");1d d=1g Md,e=0,f=0,h=1a.18S;1j(a=a.18S;e<h.1h&&f<a.1h;){1d l=h[e],p=a[f];if(M.1ib(l.4U,p.4I))++e;1s if(M.1ib(p.4U,l.4I))++f;1s{if(g(c)||g(b)&&b(l.2g,p.2g)||!g(b)&&p.2g===l.2g){1d k=Ab.1sU(l,p,1g Ab,c);k.1kn||d.1r2(k,b)}M.1ib(l.4U,p.4U)||l.4U.2L(p.4U)&&!l.14K&&p.14K?++e:++f}}1f d};Md.49d=1b(a,b){if(!g(a))1t 1g r("3v is 1X.");if(!g(a.3yW))1t 1g r("3v.8L8 is 1X.");g(b)||(b=1g Md);1d c=a.3yW,d=c.1h,e=a.2QH,f=m(a.16q,!0),h=m(a.14K,!0),l=m(a.2QJ,!1);a=m(a.2QI,!1);1d p=0;l&&(++p,l=1g Ab({4I:Za.11Z,4U:c[0],16q:!0,14K:!f}),l.2g=g(e)?e(l,b.1h):b.1h,b.1r2(l));1j(1d k=0;k<d-1;++k)l=1g Ab({4I:c[k],4U:c[k+1],16q:b.1h===p?f:!0,14K:k===d-2?h:!1}),l.2g=g(e)?e(l,b.1h):b.1h,b.1r2(l);a&&(l=1g Ab({4I:c[d-1],4U:Za.1Nq,16q:!h,14K:!0}),l.2g=g(e)?e(l,b.1h):b.1h,b.1r2(l));1f b};1d ci=1g lx,MB=[0,31,28,31,30,31,30,31,31,30,31,30,31],6iv=1g M,6iu=/P(?:([\\d.,]+)Y)?(?:([\\d.,]+)M)?(?:([\\d.,]+)W)?(?:([\\d.,]+)D)?(?:T(?:([\\d.,]+)H)?(?:([\\d.,]+)M)?(?:([\\d.,]+)S)?)?/,SE=1g lx;Md.1r3=1b(a,b){if(!g(a))1t 1g r("3v is 1X.");if(!g(a.2qm))1t 1g r("3v.2qm is 1X.");1d c=a.2qm.7g("/"),d=M.1r3(c[0]),e=M.1r3(c[1]),f=[];if(v2(c[2],SE))1j(c=M.1y(d),f.1q(c);0>M.1iF(c,e);)c=OP(c,SE),0>=M.1iF(e,c)&&M.1y(e,c),f.1q(c);1s f.1q(d,e);1f Md.49d({3yW:f,16q:a.16q,14K:a.14K,2QJ:a.2QJ,2QI:a.2QI,2QH:a.2QH},b)};Md.8L7=1b(a,b){if(!g(a))1t 1g r("3v is 1X.");if(!g(a.4Uj))1t 1g r("3v.4Uj is 1X.");1f Md.49d({3yW:a.4Uj.5d(1b(a){1f M.1r3(a)}),16q:a.16q,14K:a.14K,2QJ:a.2QJ,2QI:a.2QI,2QH:a.2QH},b)};Md.8L6=1b(a,b){if(!g(a))1t 1g r("3v is 1X.");if(!g(a.2Ej))1t 1g r("3v.2Ej is 1X.");if(!g(a.4Ui))1t 1g r("3v.4Ui is 1X.");1j(1d c=a.2Ej,d=a.4Ui,e=m(a.8L5,!1),f=[],h,l=d.1h,p=0;p<l;++p)if(v2(d[p],SE)||0===p)h=e&&g(h)?OP(h,SE):OP(c,SE),f.1q(h);1f Md.49d({3yW:f,16q:a.16q,14K:a.14K,2QJ:a.2QJ,2QI:a.2QI,2QH:a.2QH},b)};1d 6ir=1g k(1,1,1),6it=k.6h,6is=ca.8K,eC=1b(a,b,c){1a.14L=k.1y(m(a,6it));1a.5S=ca.1y(m(b,6is));1a.3b=k.1y(m(c,6ir))};eC.1i.2L=1b(a){1f 1a===a||g(a)&&k.2L(1a.14L,a.14L)&&ca.2L(1a.5S,a.5S)&&k.2L(1a.3b,a.3b)};1L.2X(Ru.1i,{14c:{1n:1b(){1f 1a.1aG},1C:1b(a){1d b=1a.1aG;b!==a&&(g(b)&&(1a.49c(),1a.49c=1p 0),g(a)&&(1a.49c=a.1yw.7K(Ru.1i.3LF,1a)),1a.1aG=a)}},1ij:{1n:1b(){1f 1a.17e},1C:1b(a){1d b=1a.17e;b!==a&&(g(b)&&b.12R("6ip",1a.3yV,!1),g(a)&&(1a.3bU=!1,1a.3yV=6iq(1a),a.7K("6ip",1a.3yV,!1)),1a.17e=a,1a.3yU=1a.3bU=!1)}}});Ru.1i.1M=1b(){1a.14c=1a.1ij=1p 0;1f la(1a)};Ru.1i.3Z=1b(){1f!1};Ru.1i.6in=1b(a){if(1a.4Uh!==a.16W){1d b=1a.17e;10G{b.6io=a.16W}11B(c){b.6io=0}1a.4Uh=a.16W}};Ru.1i.3LF=1b(a){1d b=1a.17e;if(g(b)&&!(2>b.2Ie)){1d c=a.1tv;c===b.8L4&&(c?b.20e():b.1TN());if(1a.3bU||1a.3yU)1a.3yU=!1;1s{1a.6in(a);a=a.1a2;1d d=m(1a.2Ej,Za.11Z);d=M.1dA(a,d);1d e=b.13k;a=b.1a2;b.1qB?(d%=e,0>d&&(d=e-d)):d=d>e?e:0>d?0:d;c=c?m(1a.2xd,1):.17I;1k.abs(d-a)>c&&(1a.3bU=!0,b.1a2=d)}}};1L.2X(Xx.1i,{1cG:{1n:1b(){1f 1a.14P}},9L:{1n:1b(){1f 1a.1dh}},8c:{1n:1b(){if(!1a.3o)1t 1g r("1Bf 2Q 2S be 7I 8w 3o 20k 8O.");1f 1a.6C}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},1z3:{1n:1b(){1f!1}},1lp:{1n:1b(){1f!1}}});Xx.1i.1Bf=1b(a,b,c,d){if(!1a.3o)1t 1g r("1Bf 2Q 2S be 7I 8w 3o 20k 8O.");1d e=1a.6C.1Bj(c);d=1a.12o.16M({2I:c+"/"+a+"/"+(e-b-1)+".9u",1kx:{3P:!0},7M:d}).1jN({1UY:!0});if(g(d)){1d f=1a;1f Z(d).4b(1b(d){d=Hu(d);1j(1d e=f.1jZ,h=f.1Kv,k=f.6C,m=f.1RE,w=k.1d1(a,b,c),x=0,q=0;q<m.1h&&15!==x;++q){1d t=m[q];if(!(t.3nY<=c)){t=t.3g;1d r=Q.17d(t,w,w2);g(r)&&(rH(k,t,2*a,2*b,c+1)&&(x|=4),rH(k,t,2*a+1,2*b,c+1)&&(x|=8),rH(k,t,2*a,2*b+1,c+1)&&(x|=1),rH(k,t,2*a+1,2*b+1,c+1)&&(x|=2))}}1f 1g Ch({3J:d,1G:e,1D:h,1Ku:x,2a5:f.2Ei})})}};Xx.1i.1DR=1b(a){if(!1a.3o)1t 1g r("1Bf 2Q 2S be 7I 8w 3o 20k 8O.");1f 1a.1RD/(1<<a)};1d w2=1g Q;Xx.1i.2fl=1b(a,b,c){};Xx.1i.2Eh=1b(a,b,c){};1d fM={},6im=1g T,6il=1g T,OW=2K(2),TE=2K(2),Fn={3q:1p 0,1D:1p 0,6f:1p 0,3c:1p 0};fM.1RC=1b(a,b,c,d,e,f){1d h=b.1h;if(2>h)d=1p 0;1s{1d l=g(d),p=g(c),k=!0,m=2K(h),w=2K(h),x=2K(h),q=b[0];m[0]=q;q=a.10Z(q,6im);p&&(q.1D=c[0]);k=k&&0>=q.1D;w[0]=q.1D;x[0]=l?d[0]:0;1j(1d t=1,r=1;r<h;++r){1d u=b[r],v=a.10Z(u,6il);p&&(v.1D=c[r]);k=k&&0>=v.1D;1d y=q,A=v;B.5T(y.4k,A.4k,B.1sW)&&B.5T(y.3N,A.3N,B.1sW)?q.1D<v.1D&&(w[t-1]=v.1D):(m[t]=u,w[t]=v.1D,x[t]=l?d[r]:0,T.1y(v,q),++t)}k||2>t?d=1p 0:(m.1h=t,w.1h=t,x.1h=t,d={3q:m,6ik:w,6ij:x})}if(g(d)){b=d.3q;c=d.6ik;d=d.6ij;3<=b.1h&&(h=Zf.1aN(b,a).2Dh(b),Ad.2is(h)===Aj.2a4&&(b.1e1(),c.1e1(),d.1e1()));h=b.1h;l=h-2;e=B.2a3(e,a.17i);Fn.3yT=e;Fn.3c=a;if(f){1j(a=p=0;a<h-1;a++)p+=dd.2QG(b[a],b[a+1],e)+1;f=1g 13X(3*p);e=1g 13X(3*p);Fn.3q=OW;Fn.1D=TE;1j(a=p=0;a<h-1;a++)OW[0]=b[a],OW[1]=b[a+1],TE[0]=c[a],TE[1]=c[a+1],k=dd.1Kt(Fn),f.1C(k,p),TE[0]=d[a],TE[1]=d[a+1],e.1C(dd.1Kt(Fn),p),p+=k.1h}1s Fn.3q=b,Fn.1D=c,f=1g 13X(dd.1Kt(Fn)),Fn.1D=d,e=1g 13X(dd.1Kt(Fn));1f{4Ub:e,4Ua:f,6ii:l}}};1d PW=1g k,gM=1g k,4Ue=1g k,6ie=1g k,4Ud=1g k,6if=1g k,6ig=1g k,6ih=1g k;tl.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);1d d,e=a.9h,f=e.1h;b[c++]=f;1j(d=0;d<f;++d,c+=k.4q)k.5n(e[d],b,c);e=a.2r7;f=g(e)?e.1h:0;b[c++]=f;if(g(e))1j(d=0;d<f;++d)b[c++]=e[d];e=a.2r8;f=g(e)?e.1h:0;b[c++]=f;if(g(e))1j(d=0;d<f;++d)b[c++]=e[d];ba.5n(a.5W,b,c);c+=ba.4q;za.5n(a.14s,b,c);c+=za.4q;b[c]=a.14J;1f b};1d 4Ug=ba.1y(ba.1x9),4Uf=1g za,UE={3q:1p 0,1lB:1p 0,1lC:1p 0,3c:4Ug,9S:4Uf,6f:1p 0};tl.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d,e=a[b++],f=2K(e);1j(d=0;d<e;++d,b+=k.4q)f[d]=k.5f(a,b);e=a[b++];if(0<e){1d h=2K(e);1j(d=0;d<e;++d)h[d]=a[b++]}e=a[b++];if(0<e){1d l=2K(e);1j(d=0;d<e;++d)l[d]=a[b++]}d=ba.5f(a,b,4Ug);b+=ba.4q;e=za.5f(a,b,4Uf);b+=za.4q;a=a[b];if(!g(c))1f UE.3q=f,UE.1lB=h,UE.1lC=l,UE.6f=a,1g tl(UE);c.9h=f;c.2r7=h;c.2r8=l;c.5W=ba.1y(d,c.5W);c.14s=za.1y(e,c.14s);c.14J=a;1f c};tl.6id=1b(a){a=m(a,m.4Z);1d b=a.3q;if(!g(b))1t 1g r("3v.3q is 1X.");1d c=a.13w,d=a.12x,e=g(c),f=g(d);if(e||f){1d h=b.1h;1d l=e?2K(h):1p 0;1d p=f?2K(h):1p 0;1j(1d k=0;k<h;++k)e&&(l[k]=c),f&&(p[k]=d)}1f 1g tl({3q:b,1lC:p,1lB:l,3c:a.3c,9S:a.9S})};tl.14t=1b(a){1d b=a.9h,c=a.14s,d=a.5W;a=fM.1RC(d,b,a.2r8,a.2r7,a.14J,!0);if(g(a)){1d e=a.4Ub,f=a.4Ua,h=a.6ii,l=f.1h,p=2*l;a=c.1K?1g 13X(p):1p 0;1d n=c.2U?1g 4A(p):1p 0,m=c.8Q?1g 4A(p):1p 0,w=c.8T?1g 4A(p):1p 0,x=c.st?1g 4A(p/3*2):1p 0,q=0,t=0,r=0,u=0,v=0,y=6ih,A=6ig,C=6if,E=!0;l/=3;1d K=0,F=1/(l-b.1h+1);1j(b=0;b<l;++b){1d L=3*b,S=k.7j(f,L,PW),U=k.7j(e,L,gM);c.1K&&(a[q++]=U.x,a[q++]=U.y,a[q++]=U.z,a[q++]=S.x,a[q++]=S.y,a[q++]=S.z);c.st&&(x[v++]=K,x[v++]=0,x[v++]=K,x[v++]=1);if(c.2U||c.8Q||c.8T){1d R=k.1y(k.6h,4Ud);U=d.1fI(k.7j(f,L,gM),gM);if(b+1<l){1d V=d.1fI(k.7j(f,L+3,4Ue),4Ue);R=k.7j(f,L+3,4Ud)}E&&(E=k.3V(R,S,6ie),S=k.3V(U,S,PW),y=k.1T(k.4B(S,E,y),y),E=!1);k.5T(V,U,B.1io)?E=!0:(K+=F,c.8Q&&(A=k.1T(k.3V(V,U,A),A)),c.8T&&(C=k.1T(k.4B(y,A,C),C)));c.2U&&(n[t++]=y.x,n[t++]=y.y,n[t++]=y.z,n[t++]=y.x,n[t++]=y.y,n[t++]=y.z);c.8Q&&(m[u++]=A.x,m[u++]=A.y,m[u++]=A.z,m[u++]=A.x,m[u++]=A.y,m[u++]=A.z);c.8T&&(w[r++]=C.x,w[r++]=C.y,w[r++]=C.z,w[r++]=C.x,w[r++]=C.y,w[r++]=C.z)}}d=1g ce;c.1K&&(d.1K=1g Pa({3k:I.18l,2Z:3,2a:a}));c.2U&&(d.2U=1g Pa({3k:I.3O,2Z:3,2a:n}));c.8Q&&(d.8Q=1g Pa({3k:I.3O,2Z:3,2a:m}));c.8T&&(d.8T=1g Pa({3k:I.3O,2Z:3,2a:w}));c.st&&(d.st=1g Pa({3k:I.3O,2Z:2,2a:x}));c=p/3;h=Ta.9g(c,p-6*(h+1));1j(b=p=0;b<c-2;b+=2)V=b,e=b+2,f=k.7j(a,3*V,PW),n=k.7j(a,3*e,gM),k.5T(f,n,B.1io)||(f=b+1,n=b+3,h[p++]=f,h[p++]=V,h[p++]=n,h[p++]=n,h[p++]=V,h[p++]=e);1f 1g Pb({2w:d,4N:h,6Z:Ja.11G,7u:1g P.1ND(a)})}};1d 4U9=1g k,4U8=1g k;Sr.5n=1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);1d d,e=a.9h,f=e.1h;b[c++]=f;1j(d=0;d<f;++d,c+=k.4q)k.5n(e[d],b,c);e=a.2r7;f=g(e)?e.1h:0;b[c++]=f;if(g(e))1j(d=0;d<f;++d)b[c++]=e[d];e=a.2r8;f=g(e)?e.1h:0;b[c++]=f;if(g(e))1j(d=0;d<f;++d)b[c++]=e[d];ba.5n(a.5W,b,c);c+=ba.4q;b[c]=a.14J;1f b};1d 4Uc=ba.1y(ba.1x9),VE={3q:1p 0,1lB:1p 0,1lC:1p 0,3c:4Uc,6f:1p 0};Sr.5f=1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1d d,e=a[b++],f=2K(e);1j(d=0;d<e;++d,b+=k.4q)f[d]=k.5f(a,b);e=a[b++];if(0<e){1d h=2K(e);1j(d=0;d<e;++d)h[d]=a[b++]}e=a[b++];if(0<e){1d l=2K(e);1j(d=0;d<e;++d)l[d]=a[b++]}d=ba.5f(a,b,4Uc);b+=ba.4q;a=a[b];if(!g(c))1f VE.3q=f,VE.1lB=h,VE.1lC=l,VE.6f=a,1g Sr(VE);c.9h=f;c.2r7=h;c.2r8=l;c.5W=ba.1y(d,c.5W);c.14J=a;1f c};Sr.6id=1b(a){a=m(a,m.4Z);1d b=a.3q;if(!g(b))1t 1g r("3v.3q is 1X.");1d c=a.13w,d=a.12x,e=g(c),f=g(d);if(e||f){1d h=b.1h;1d l=e?2K(h):1p 0;1d p=f?2K(h):1p 0;1j(1d k=0;k<h;++k)e&&(l[k]=c),f&&(p[k]=d)}1f 1g Sr({3q:b,1lC:p,1lB:l,3c:a.3c})};Sr.14t=1b(a){a=fM.1RC(a.5W,a.9h,a.2r8,a.2r7,a.14J,!1);if(g(a)){1d b=a.4Ub,c=a.4Ua,d=c.1h,e=2*d;a=1g 13X(e);1d f=0;d/=3;1d h;1j(h=0;h<d;++h){1d l=3*h,p=k.7j(c,l,4U9);l=k.7j(b,l,4U8);a[f++]=l.x;a[f++]=l.y;a[f++]=l.z;a[f++]=p.x;a[f++]=p.y;a[f++]=p.z}b=1g ce({1K:1g Pa({3k:I.18l,2Z:3,2a:a})});e/=3;c=Ta.9g(e,2*e-4+e);1j(h=d=0;h<e-2;h+=2){f=h;p=h+2;l=k.7j(a,3*f,4U9);1d n=k.7j(a,3*p,4U8);k.5T(l,n,B.1io)||(l=h+1,n=h+3,c[d++]=l,c[d++]=f,c[d++]=l,c[d++]=n,c[d++]=f,c[d++]=p)}c[d++]=e-2;c[d++]=e-1;1f 1g Pb({2w:b,4N:c,6Z:Ja.1ao,7u:1g P.1ND(a)})}};1L.2X(Su.1i,{12K:{1n:1b(){1f 1a.1f7}},1cx:{1n:1b(){1f 1a.6ic}}});Su.1i.1Ks=pg.1i.1Ks;Su.1i.1Wi=pg.1i.1Wi;Su.1i.1Wh=pg.1i.1Wh;Su.1i.3x=1b(a,b){1d c=1a.1cx,d=1a.12K,e=1a.1Kr=1a.1Ks(a,1a.1Kr);a=(a-d[e])/(d[e+1]-d[e]);g(b)||(b=2K(1a.1sK));1j(d=0;d<1a.1sK;d++){1d f=e*1a.1sK+d;b[d]=c[f]*(1-a)+c[f+1a.1sK]*a}1f b};1L.2X(od.1i,{5g:{1Q:!0},13C:{1n:1b(){1f 1a.8B}}});od.1i.3K=1b(a,b){1f 1a.4U7?1a.6j.1y(b):1a.6j};od.1i.1cf=1b(a){1d b=1a.6j;if(b!==a){1d c=g(a),d=c&&"1b"===2h a.1y;c=c&&"1b"===2h a.2L;c&&a.2L(b)||(1a.4U7=d,1a.49b=c,1a.6j=d?a.1y(1a.6j):a,1a.8B.5k(1a))}};od.1i.2L=1b(a){1f 1a===a||a 2m od&&(!1a.49b&&1a.6j===a.6j||1a.49b&&1a.6j.2L(a.6j))};od.1i.3mB=1b(){1f 1a.6j};od.1i.5s=1b(){1f 10J(1a.6j)};1L.2X(ul.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),4d:Y("4d"),3b:Y("3b"),14l:Y("14l"),19V:Y("19V"),15P:Y("15P"),16l:Y("16l"),6N:Y("6N"),1A:Y("1A"),5S:Y("5S"),1l5:Y("1l5"),1jC:Y("1jC"),1G:Y("1G"),1D:Y("1D"),13h:Y("13h"),15M:Y("15M"),1cd:Y("1cd"),23r:Y("23r"),4S:Y("4S"),11p:Y("11p")});ul.1i.1y=1b(a){if(!g(a))1f 1g ul(1a);a.2p=1a.10T;a.4d=1a.1iw;a.3b=1a.13V;a.14l=1a.1qS;a.19V=1a.1vS;a.15P=1a.1qO;a.16l=1a.1jT;a.6N=1a.1c1;a.1A=1a.7a;a.5S=1a.1dP;a.1l5=1a.2PJ;a.1jC=1a.1Q0;a.1G=1a.10V;a.1D=1a.10o;a.13h=1a.1hV;a.15M=1a.1gH;a.1cd=1a.1vR;a.23r=1a.1Rk;a.4S=1a.17y;a.11p=1a.1f9;1f a};ul.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.10T,a.2p);1a.4d=m(1a.1iw,a.4d);1a.3b=m(1a.13V,a.3b);1a.14l=m(1a.1qS,a.14l);1a.19V=m(1a.1vS,a.19V);1a.15P=m(1a.1qO,a.15P);1a.16l=m(1a.1jT,a.16l);1a.6N=m(1a.1c1,a.6N);1a.1A=m(1a.7a,a.1A);1a.5S=m(1a.1dP,a.5S);1a.1l5=m(1a.2PJ,a.1l5);1a.1jC=m(1a.1Q0,a.1jC);1a.1G=m(1a.10V,a.1G);1a.1D=m(1a.10o,a.1D);1a.13h=m(1a.1hV,a.13h);1a.15M=m(1a.1gH,a.15M);1a.1cd=m(1a.1vR,a.1cd);1a.23r=m(1a.1Rk,a.23r);1a.4S=m(1a.17y,a.4S);1a.11p=m(1a.1f9,a.11p)};1d bb=1L.3F({6i:0,1me:1,28I:2}),oc=1L.3F({1dq:0,1hc:1,1sk:-1}),fc=1L.3F({1dq:0,1Qm:1,2i7:2,1g5:-1}),tb=1L.3F({1k0:0,1rg:1,12D:2});1L.2X(F.1i,{5g:{1n:r.8i},13C:{1n:r.8i}});F.1i.3K=r.8i;F.1i.2L=r.8i;F.2L=1b(a,b){1f a===b||g(a)&&a.2L(b)};F.4Od=1b(a,b){if(a===b)1f!0;if(!g(a)||!g(b)||a.1h!==b.1h)1f!1;1j(1d c=a.1h,d=0;d<c;d++)if(!F.2L(a[d],b[d]))1f!1;1f!0};F.5g=1b(a){1f!g(a)||a.5g};F.8y=1b(a,b,c){1f g(a)?a.3K(b,c):1p 0};F.7q=1b(a,b,c,d){1f g(a)?m(a.3K(b,d),c):c};F.1pW=1b(a,b,c,d){1d e;g(a)&&(e=a.3K(b,d));g(e)||(e=c.1y(e));1f e};1d $La=y.9r,6i9=k.6h,6i7=bb.6i,6i6=C.6h,6i4=k.6h,6i3=oc.1dq,6i2=fc.1dq,6ib=1g k,6ia=1g y,6i8=1g k,6i5=1g C,6i1=1g Db,6i0=1g Db,6hZ=1g Db,6hX=1g Aa,6hY=1g ob;Fp.1i.2H=1b(a){if(!g(a))1t 1g r("6q is 1X.");1j(1d b=1a.1hw.2a,c=1a.1Nu,d=0,e=b.1h;d<e;d++){1d f=b[d],h=f.13a,l=h.1ow,p=f.10i,k=h.17K&&h.1hK(a)&&F.7q(l.10T,a,!0);if(k){1d m=F.8y(h.9M,a,6ib);1d w=F.8y(l.1iw,a);k=g(m)&&g(w)}k?(F.5g(h.9M)||(c.1xA=!0),g(p)||(p=c.4Ns(h),p.id=h,p.4d=1p 0,f.10i=p),p.2p=k,g(p.4d)&&f.2ce===w||(p.4d=w,f.2ce=w),p.1K=m,p.1A=F.7q(l.7a,a,$La,6ia),p.19V=F.7q(l.1vS,a,6i9,6i8),p.6N=F.7q(l.1c1,a,6i7),p.14l=F.7q(l.1qS,a,6i6,6i5),p.3b=F.7q(l.13V,a,1),p.5S=F.7q(l.1dP,a,0),p.1l5=F.7q(l.2PJ,a,6i4),p.15P=F.7q(l.1qO,a,6i3),p.16l=F.7q(l.1jT,a,6i2),p.1G=F.8y(l.10V,a),p.1D=F.8y(l.10o,a),p.13h=F.8y(l.1hV,a,6i1),p.15M=F.8y(l.1gH,a,6i0),p.1cd=F.8y(l.1vR,a,6hZ),p.1jC=F.7q(l.1Q0,a,!1),p.4S=F.8y(l.17y,a,6hY),p.11p=F.8y(l.1f9,a),f=F.8y(l.1Rk,a,6hX),g(f)&&p.6aD(p.1Rl,f)):PP(f,h,c)}1f!0};Fp.1i.1cS=1b(a,b){if(!g(a))1t 1g r("13a is 1X.");if(!g(b))1t 1g r("4D is 1X.");a=1a.1hw.1n(a.id);if(!g(a)||!g(a.10i))1f tb.12D;a=a.10i;if(a.6N===bb.6i)b.2V=k.1y(a.1K,b.2V);1s{if(!g(a.1BK))1f tb.1rg;b.2V=k.1y(a.1BK,b.2V)}b.3L=0;1f tb.1k0};Fp.1i.3Z=1b(){1f!1};Fp.1i.1M=1b(){1a.17l.1s9.12R(Fp.1i.1gP,1a);1j(1d a=1a.17l.2a,b=0;b<a.1h;b++)1a.1Nu.2On(a[b]);1f la(1a)};Fp.1i.1gP=1b(a,b,c,d){1d e=1a.1hw,f=1a.1Nu;1j(a=b.1h-1;-1<a;a--){1d h=b[a];g(h.1ow)&&g(h.9M)&&e.1C(h.id,1g y2(h))}1j(a=d.1h-1;-1<a;a--)h=d[a],g(h.1ow)&&g(h.9M)?e.8h(h.id)||e.1C(h.id,1g y2(h)):(PP(e.1n(h.id),h,f),e.3S(h.id));1j(a=c.1h-1;-1<a;a--)h=c[a],PP(e.1n(h.id),h,f),e.3S(h.id)};1d $g=1L.3F({1m8:H.28A,8L3:H.4U6,8L2:H.4U5,49a:H.49a,497:H.497}),Bd=1L.3F({6h:H.6h,1ip:H.1ip,8L1:H.47M,8L0:H.47L,8KZ:H.47H,8KY:H.47G,3nH:H.47K,20A:H.3bo,8KX:H.47J,8KW:H.47I,3rZ:H.3rZ,496:H.496,495:H.495,494:H.494,8KV:H.4U4}),6hW={39R:1L.3F({3e:!1}),1bQ:1L.3F({3e:!0,1Gq:$g.1m8,1Gp:$g.1m8,1Go:Bd.3nH,1Gn:Bd.1ip,1B7:Bd.20A,1B6:Bd.20A}),8KU:1L.3F({3e:!0,1Gq:$g.1m8,1Gp:$g.1m8,1Go:Bd.1ip,1Gn:Bd.1ip,1B7:Bd.20A,1B6:Bd.20A}),5x7:1L.3F({3e:!0,1Gq:$g.1m8,1Gp:$g.1m8,1Go:Bd.3nH,1Gn:Bd.1ip,1B7:Bd.1ip,1B6:Bd.1ip})},Dc=1L.3F(6hW),di=1L.3F({1TU:H.1TU,1sq:H.1sq,493:H.493});1L.2X(pe.1i,{5O:{1n:1b(){1f 1a.1za}},5A:{1n:1b(){1f 1a.1z9}},4w:{1n:1b(){1f 1a.1hT}},1ph:{1n:1b(){1f 1a.1z8}}});pe.1i.1MH=1b(){1d a=[];1a.8z&&a.1q("#2f 1kW");1a.2Cm&&a.1q("#2f 1Sv");g(1a.2q)&&a.1q(1a.2q.1hP);a.1q(1a.5A);1f a.14G("\\n")};pe.1i.1pE=1b(){1f g(1a.2q)&&1a.2q.1pE()||!g(1a.2q)&&1a.11C};pe.1i.1MG=1b(){1d a=1a.1pE(),b=wc(1a.4w,!1);a?(b.13Q=!1,b.12e=Dc.1bQ):b.13Q=!0;1f b};pe.2QF=1b(a,b,c){1d d={9J:{3e:!0}};a&&(d.13Q=!1,d.12e=Dc.1bQ);b&&(d.8d={3e:!0,18X:di.1sq});g(c)&&(d=fb(c,d,!0));1f d};1d sb={4U3:0,4U2:0,4U1:0,4U0:0,4TZ:0,4TY:0,4TX:0,491:0,4TW:0,4TV:0,4TU:0,4TT:0,4TS:0,4TR:0,4TQ:0,4TP:0,4TO:0,4TN:0,4TM:0,4TL:!1,4TK:!1};1L.2X(sb,{8KT:{1n:1b(){1f sb.4U3}},2y5:{1n:1b(){1f sb.4U2}},8KS:{1n:1b(){1f sb.4U1}},5B4:{1n:1b(){1f sb.4U0}},492:{1n:1b(){1f sb.4TZ}},1Ml:{1n:1b(){1f sb.4TY}},8KR:{1n:1b(){1f sb.4TX}},6hh:{1n:1b(){1f sb.491}},2gQ:{1n:1b(){1f sb.4TW}},8KQ:{1n:1b(){1f sb.4TV}},3Pt:{1n:1b(){1f sb.4TU}},2HD:{1n:1b(){1f sb.4TT}},8KP:{1n:1b(){1f sb.4TS}},67U:{1n:1b(){1f sb.4TR}},48Z:{1n:1b(){1f sb.4TQ}},48Y:{1n:1b(){1f sb.4TP}},5L9:{1n:1b(){1f sb.4TO}},8KO:{1n:1b(){1f sb.4TN}},6hV:{1n:1b(){1f sb.4TM}},6hU:{1n:1b(){1f sb.4TL}},6hT:{1n:1b(){1f sb.4TK}}});1L.2X(co.1i,{8b:{1n:1b(){1f 1a.1vf}},10E:{1n:1b(){1f 1a.1ov}},22v:{1n:1b(){1f 1a.48X}}});co.1i.1iq=1b(a,b,c){b=m(b,0);c=m(c,0);v.2l("5j",a);v.1N.2b.9Y("1qc",b,0);v.1N.2b.9Y("1rs",c,0);if(b+a.1G>1a.1eC)1t 1g r("1qc + 5j.1G 2Q be 1do 6L or 14B to 1G.");if(c+a.1D>1a.1eC)1t 1g r("1rs + 5j.1D 2Q be 1do 6L or 14B to 1D.");1d d=1a.6M,e=1a.1Wq,f=1a.48X;d.1pR(d.1tW);d.1eg(e,1a.10q);1d h=a.1G,l=a.1D,p=a.1a9,k=1a.1eC,z=1a.1vf,w=1a.1ov,x=1a.2QD,q=1a.2eQ,t=!1;if(!1a.1PM){if(0===b&&0===c&&h===k&&l===k)g(p)?(d.1gM(d.1GU,!1),d.1gM(d.1By,!1),q&&(p=ua.13E(p,z,w,k,k)),d.1oG(f,0,z,k,k,0,z,w,p)):(d.1gM(d.1GU,x),d.1gM(d.1By,q),d.1oG(f,0,z,z,w,a)),t=!0;1s{d.1gM(d.1GU,!1);d.1gM(d.1By,!1);1d u=ua.9g(z,w,k,k);d.1oG(f,0,z,k,k,0,z,w,u)}1a.1PM=!0}t||(p?(d.1gM(d.1GU,!1),d.1gM(d.1By,!1),q&&(p=ua.13E(p,z,w,h,l)),d.2AJ(f,0,b,c,h,l,z,w,p)):(d.1gM(d.1GU,x),d.1gM(d.1By,q),d.2AJ(f,0,b,c,z,w,a)));d.1eg(e,1F)};co.1i.2Eg=1b(a,b,c,d,e,f){a=m(a,0);b=m(b,0);c=m(c,0);d=m(d,0);e=m(e,1a.1eC);f=m(f,1a.1eC);v.1N.2b.9Y("1qc",a,0);v.1N.2b.9Y("1rs",b,0);v.1N.2b.9Y("3yS",c,0);v.1N.2b.9Y("3yR",d,0);if(a+e>1a.1eC)1t 1g r("1qc + 5j.1G 2Q be 1do 6L or 14B to 1G.");if(b+f>1a.1eC)1t 1g r("1rs + 5j.1D 2Q be 1do 6L or 14B to 1D.");if(1a.1ov===Ha.3O)1t 1g r("1e6 4G 2Eg 16r 1Z 7y 17W 2g 1I is 3O.");if(1a.1ov===Ha.1kq)1t 1g r("1e6 4G 2Eg 16r 1Z 7y 17W 2g 1I is 1kq.");1d h=1a.6M,g=1a.1Wq;h.1pR(h.1tW);h.1eg(g,1a.10q);h.6hR(1a.48X,0,a,b,c,d,e,f);h.1eg(g,1F);1a.1PM=!0};1d hM={3bS:H.3bS,48W:H.48W,2MR:H.2MR,1f6:1b(a){1f a===hM.3bS||a===hM.48W||a===hM.2MR}},Ss=1L.3F(hM),QW={10U:H.10U,11U:H.11U,1f6:1b(a){1f a===QW.10U||a===QW.11U}},Rb=1L.3F(QW),Dw={10U:H.10U,11U:H.11U,2r6:H.2r6,2Cp:H.2Cp,2QE:H.2QE,1Qv:H.1Qv,1f6:1b(a){1f a===Dw.10U||a===Dw.11U||a===Dw.2r6||a===Dw.2Cp||a===Dw.2QE||a===Dw.1Qv}},nb=1L.3F(Dw),iM={11g:H.11g,1av:H.1av,2qK:H.2qK,1f6:1b(a){1f a===iM.11g||a===iM.1av||a===iM.2qK}},Ka=1L.3F(iM);1L.2X(Eb.1i,{18i:{1n:1b(){1f 1a.2Bs}},18h:{1n:1b(){1f 1a.2Br}},14A:{1n:1b(){1f 1a.2Ee}},15u:{1n:1b(){1f 1a.2Ed}},2AH:{1n:1b(){1f 1a.368}}});Eb.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.2Bs===b.2Bs&&a.2Br===b.2Br&&a.2Ee===b.2Ee&&a.2Ed===b.2Ed&&a.368===b.368};1L.2X(vl.1i,{1sp:{1n:1b(){1f 1a.48V}},1DI:{1n:1b(){1f 1a.48U}},1yN:{1n:1b(){1f 1a.48T}},1yM:{1n:1b(){1f 1a.48S}},1DH:{1n:1b(){1f 1a.48R}},1DG:{1n:1b(){1f 1a.48Q}},10v:{1n:1b(){1f 1a.2eY},1C:1b(a){1d b=a.14A,c=a.15u,d=b===nb.2r6||b===nb.2QE||b===nb.2Cp||b===nb.1Qv,e=1a.4j,f=1a.1ov;if(f===Ha.3O&&!e.40f||f===Ha.1kq&&!e.4Hr)b=d?nb.2r6:nb.10U,c=Rb.10U;d=e.6M;e=1a.1Wq;d.1pR(d.1tW);d.1eg(e,1a.10q);d.1jj(e,d.28t,b);d.1jj(e,d.2go,c);d.1jj(e,d.2MW,a.18i);d.1jj(e,d.2MV,a.18h);g(1a.2h2)&&d.1jj(e,1a.2h2.6hS,a.2AH);d.1eg(e,1F);1a.2eY=a}},8b:{1n:1b(){1f 1a.1vf}},10E:{1n:1b(){1f 1a.1ov}},1G:{1n:1b(){1f 1a.1eC}},1D:{1n:1b(){1f 1a.1eC}},18Q:{1n:1b(){1f 1a.3bR?1k.2t(4*1a.1Wo/3):1a.1Wo}},3bT:{1n:1b(){1f 1a.2QD}},13E:{1n:1b(){1f 1a.2eQ}},22v:{1n:1b(){1f 1a.1Wq}}});vl.1i.1zs=1b(a){a=m(a,Ss.3bS);if(1<1a.1eC&&!B.1Gu(1a.1eC))1t 1g r("1G and 1D 2Q be a 2jC of 1uk to 4G 1zs().");if(!Ss.1f6(a))1t 1g r("3t9 is 16w.");1a.3bR=!0;1d b=1a.4j.6M,c=1a.1Wq;b.3t9(b.3ZG,a);b.1pR(b.1tW);b.1eg(c,1a.10q);b.1zs(c);b.1eg(c,1F)};vl.1i.3Z=1b(){1f!1};vl.1i.1M=1b(){1a.4j.6M.3kt(1a.10q);1a.48V=la(1a.48V);1a.48U=la(1a.48U);1a.48T=la(1a.48T);1a.48S=la(1a.48S);1a.48R=la(1a.48R);1a.48Q=la(1a.48Q);1f la(1a)};Ca.6F=1b(a){1f 1g Ca(a)};Ca.8KN=1b(a){a=m(a,m.4Z);v.2l("3v.1O",a.1O);1d b=a.1O,c=b.6M,d=m(a.8b,ua.1fB),e=m(a.3yS,0),f=m(a.3yR,0),h=m(a.1G,c.8j),l=m(a.1D,c.7p),p=a.4Q;if(!ua.1f6(d))1t 1g r("13H 8b.");if(ua.2QC(d)||ua.2gl(d))1t 1g r("8b 1il be 1zc, 1eF or a 1iW 8V.");v.2l("3v.1O",a.1O);v.1N.2b.9Y("3yS",e,0);v.1N.2b.9Y("3yR",f,0);if(e+h>c.8j)1t 1g r("3yS + 1G 2Q be 1do 6L or 14B to 8j");if(f+l>c.7p)1t 1g r("3yR + 1D 2Q be 1do 6L or 14B to 7p.");1f 1g Ca({1O:b,1G:h,1D:l,8b:d,5j:{4Q:g(p)?p:b.40c,1qc:e,1rs:f,1G:h,1D:l}})};1L.2X(Ca.1i,{id:{1C:1b(a){1a.7R=a},1n:1b(){1f 1a.7R}},10v:{1n:1b(){1f 1a.2eY},1C:1b(a){1d b=a.14A,c=a.15u,d=b===nb.2r6||b===nb.2QE||b===nb.2Cp||b===nb.1Qv,e=1a.4j,f=1a.1ov;if(f===Ha.3O&&!e.40f||f===Ha.1kq&&!e.4Hr)b=d?nb.2r6:nb.10U,c=Rb.10U;1a.4t1||!1a.4j.1py||B.1Gu(1a.10V)&&B.1Gu(1a.10o)||(b!=H.10U&&(b=H.10U),c!=H.10U&&(c=H.10U));d=e.6M;e=1a.1Wq;d.1pR(d.1tW);d.1eg(e,1a.10q);d.1jj(e,d.28t,b);d.1jj(e,d.2go,c);d.1jj(e,d.2MW,a.18i);d.1jj(e,d.2MV,a.18h);g(1a.2h2)&&d.1jj(e,1a.2h2.6hS,a.2AH);d.1eg(e,1F);1a.2eY=a}},8b:{1n:1b(){1f 1a.1vf}},10E:{1n:1b(){1f 1a.1ov}},6e:{1n:1b(){1f 1a.1US}},3bT:{1n:1b(){1f 1a.2QD}},13E:{1n:1b(){1f 1a.2eQ}},1G:{1n:1b(){1f 1a.10V}},1D:{1n:1b(){1f 1a.10o}},18Q:{1n:1b(){1f 1a.3bR?1k.2t(4*1a.1Wo/3):1a.1Wo}},22v:{1n:1b(){1f 1a.1Wq}}});Ca.1i.1iq=1b(a,b,c){b=m(b,0);c=m(c,0);v.2l("5j",a);if(ua.2QC(1a.1vf))1t 1g r("1e6 4G 1iq 16r 1Z 7y 17W 8V is 1zc or 1eF.");if(ua.2gl(1a.1vf))1t 1g r("1e6 4G 1iq 10M a 1iW 7y 17W 8V.");v.1N.2b.9Y("1qc",b,0);v.1N.2b.9Y("1rs",c,0);v.1N.2b.19D("1qc + 5j.1G",b+a.1G,1a.10V);v.1N.2b.19D("1rs + 5j.1D",c+a.1D,1a.10o);1d d=1a.4j.6M,e=1a.1Wq;d.1pR(d.1tW);d.1eg(e,1a.10q);1d f=a.1G,h=a.1D,l=a.1a9,p=1a.10V,k=1a.10o,z=1a.1vf,w=1a.1ov,x=1a.2QD,q=1a.2eQ,t=4;g(l)&&(t=ua.4TJ(z,w,f));d.1gM(d.3Yb,t);t=!1;if(!1a.1PM){if(0===b&&0===c&&f===p&&h===k)g(l)?(d.1gM(d.1GU,!1),d.1gM(d.1By,!1),q&&(l=ua.13E(l,z,w,p,k)),d.2AJ(e,0,b,c,a.1G,a.1D,1a.1vf,1a.1ov,a.1a9)):(d.1gM(d.1GU,x),d.1gM(d.1By,q),d.1oG(e,0,z,z,w,a)),t=!0;1s{d.1gM(d.1GU,!1);d.1gM(d.1By,!1);1d u=ua.9g(z,w,p,k);d.1oG(e,0,z,p,k,0,z,w,u)}1a.1PM=!0}t||(g(l)?(d.1gM(d.1GU,!1),d.1gM(d.1By,!1),q&&(l=ua.13E(l,z,w,f,h)),d.2AJ(e,0,b,c,f,h,z,w,l)):(d.1gM(d.1GU,x),d.1gM(d.1By,q),d.2AJ(e,0,b,c,z,w,a)));d.1eg(e,1F)};Ca.1i.2Eg=1b(a,b,c,d,e,f){a=m(a,0);b=m(b,0);c=m(c,0);d=m(d,0);e=m(e,1a.10V);f=m(f,1a.10o);if(ua.2QC(1a.1vf))1t 1g r("1e6 4G 2Eg 16r 1Z 7y 17W 8V is 1zc or 1eF.");if(1a.1ov===Ha.3O)1t 1g r("1e6 4G 2Eg 16r 1Z 7y 17W 2g 1I is 3O.");if(1a.1ov===Ha.1kq)1t 1g r("1e6 4G 2Eg 16r 1Z 7y 17W 2g 1I is 1kq.");if(ua.2gl(1a.1vf))1t 1g r("1e6 4G 1iq 10M a 1iW 7y 17W 8V.");v.1N.2b.9Y("1qc",a,0);v.1N.2b.9Y("1rs",b,0);v.1N.2b.9Y("3yS",c,0);v.1N.2b.9Y("3yR",d,0);v.1N.2b.19D("1qc + 1G",a+e,1a.10V);v.1N.2b.19D("1rs + 1D",b+f,1a.10o);1d h=1a.4j.6M,g=1a.1Wq;h.1pR(h.1tW);h.1eg(g,1a.10q);h.6hR(g,0,a,b,c,d,e,f);h.1eg(g,1F);1a.1PM=!0};Ca.1i.1zs=1b(a){a=m(a,Ss.3bS);if(ua.2QC(1a.1vf))1t 1g r("1e6 4G 1zs 16r 1Z 7y 17W 8V is 1zc or 1eF.");if(ua.2gl(1a.1vf))1t 1g r("1e6 4G 1zs 10M a 1iW 17W 8V.");if(1<1a.10V&&!B.1Gu(1a.10V))1t 1g r("1G 2Q be a 2jC of 1uk to 4G 1zs().");if(1<1a.10o&&!B.1Gu(1a.10o))1t 1g r("1D 2Q be a 2jC of 1uk to 4G 1zs().");if(!Ss.1f6(a))1t 1g r("3t9 is 16w.");1a.3bR=!0;1d b=1a.4j.6M,c=1a.1Wq;b.3t9(b.3ZG,a);b.1pR(b.1tW);b.1eg(c,1a.10q);b.1zs(c);b.1eg(c,1F)};Ca.1i.3Z=1b(){1f!1};Ca.1i.1M=1b(){1a.4j.6M.3kt(1a.10q);1f la(1a)};va.48t={};va.1kk=1b(a,b){if(!g(va.1lI.35i(a)))1t 1g r("2q 10M 1I \'"+a+"\' 18f 2S 1GM.");a=1g va({1iG:{1I:a}});if(g(b))1j(1d c in b)b.3p(c)&&(a.6H[c]=b[c]);1f a};va.1i.1pE=1b(){if(g(1a.11C))1f"1b"===2h 1a.11C?1a.11C():1a.11C;1j(1d a=!0,b=1a.2Ef,c=b.1h,d=0;d<c;++d){1d e=b[d];a="1b"===2h e?a&&e():a&&e;if(!a)1W}1f a};va.1i.2H=1b(a){1d b,c=1a.48P,d=c.1h;1j(b=0;b<d;++b){1d e=c[b];1d f=e.id;e=e.4d;1d h=1g Eb({14A:1a.2Ee,15u:1a.2Ed});e=g(e.2gm)?1g Ca({1O:a,8b:e.2gm,1G:e.1G,1D:e.1D,5j:{1a9:e.11y},10v:h}):1g Ca({1O:a,5j:e,10v:h});1a.12s[f]=e;f+="3bQ";1a.6H.3p(f)&&(f=1a.6H[f],f.x=e.10V,f.y=e.10o)}c.1h=0;c=1a.4TI;d=c.1h;1j(b=0;b<d;++b)e=c[b],f=e.id,e=e.1lw,e=1g vl({1O:a,5j:{1sp:e[0],1DI:e[1],1yN:e[2],1yM:e[3],1DH:e[4],1DG:e[5]},10v:1g Eb({14A:1a.2Ee,15u:1a.2Ed})}),1a.12s[f]=e;c.1h=0;f=1a.48O;d=f.1h;1j(b=0;b<d;++b)f[b](1a,a);b=1a.1nH;1j(1d l in b)b.3p(l)&&b[l].2H(a)};va.1i.3Z=1b(){1f!1};va.1i.1M=1b(){1d a=1a.12s,b;1j(b in a)if(a.3p(b)){1d c=a[b];c!==1a.1u0&&c.1M()}a=1a.1nH;1j(1d d in a)a.3p(d)&&a[d].1M();1f la(1a)};1d 6hQ=["1I","1nH","6H","1bw","5j"],6hP="8t 16C 1rk 2U 17Y 2O".7g(" "),B2={1bG:ub,14j:J,5w:A},6hO=/\\.32t$/i,6hN=/\\.32s$/i;va.1lI={3xw:{},1nK:1b(a,b){1a.3xw[a]=b},35i:1b(a){1f 1a.3xw[a]}};va.1RB="8KM";va.4TH="8KL";va.1oL="1aV";va.1lI.1nK(va.1oL,{1iG:{1I:va.1oL,6H:{1A:1g y(1,0,0,.5)},1bw:{8t:"1A.2y",2O:"1A.a"}},11C:1b(a){1f 1>a.6H.1A.2O}});va.48N="1ar";va.1lI.1nK(va.48N,{1iG:{1I:va.48N,6H:{4d:va.1RB,12G:1g C(1,1),1A:1g y(1,1,1,1)},1bw:{8t:"1Y(4d, 8N(12G * 5y.st)).2y * 1A.2y",2O:"1Y(4d, 8N(12G * 5y.st)).a * 1A.a"}},11C:1b(a){1f 1>a.6H.1A.2O}});va.4TG="8KK";va.1lI.1nK(va.4TG,{1iG:{1I:va.4TG,6H:{4d:va.1RB,1SQ:"2y",12G:1g C(1,1)},1bw:{8t:"1Y(4d, 8N(12G * 5y.st)).1SQ"}},11C:!1});va.4TF="8KJ";va.1lI.1nK(va.4TF,{1iG:{1I:va.4TF,6H:{4d:va.1RB,1yj:"a",12G:1g C(1,1)},1bw:{2O:"1Y(4d, 8N(12G * 5y.st)).1yj"}},11C:!0});va.4TE="8KI";va.1lI.1nK(va.4TE,{1iG:{1I:va.4TE,6H:{4d:va.1RB,1yj:"r",12G:1g C(1,1)},1bw:{16C:"1Y(4d, 8N(12G * 5y.st)).1yj"}},11C:!1});va.4TD="8KH";va.1lI.1nK(va.4TD,{1iG:{1I:va.4TD,6H:{4d:va.1RB,1SQ:"2y",12G:1g C(1,1)},1bw:{17Y:"1Y(4d, 8N(12G * 5y.st)).1SQ"}},11C:!1});va.4TC="8KG";va.1lI.1nK(va.4TC,{1iG:{1I:va.4TC,6H:{4d:va.1RB,1yj:"r",1xN:.8,12G:1g C(1,1)},5j:"2n 2v 4d;\\1B 1o 1xN;\\1B 1v 12G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\2u 3IY = 8N(12G * st);\\1r 2XO = 1Y(4d, 3IY).1yj;\\1r 3hu = 1o(3IW.x);\\2u 3IX = 8N(12G * (st + 1v(1.0 / 3hu, 0.0)));\\1r 3IU = 1Y(4d, 3IX).1yj;\\1r 3ht = 1o(3IW.y);\\2u 3IV = 8N(12G * (st + 1v(0.0, 1.0 / 3ht)));\\1r 3IT = 1Y(4d, 3IV).1yj;\\1R 1i6 = 1T(1w(2XO - 3IU, 2XO - 3IT, 2Y(1.0 - 1xN, 0.1, 1.0)));\\1R 4X = 5y.1p2 * 1i6;\\10H.2U = 4X;\\10H.8t = 1w(0.11t);\\2j 2q;\\n}\\n"},11C:!1});va.4TB="8KF";va.1lI.1nK(va.4TB,{1iG:{1I:va.4TB,6H:{4d:va.1RB,1SQ:"2y",1xN:.8,12G:1g C(1,1)},5j:"2n 2v 4d;\\1B 1o 1xN;\\1B 1v 12G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1P 2ce = 1Y(4d, 8N(12G * 5y.st));\\1R 1i6 = 2ce.1SQ;\\1Cq.xy = 1i6.xy * 2.0 - 1.0;\\1Cq.z = 2Y(1.0 - 1xN, 0.1, 1.0);\\1Cq = 1T(1i6);\\1R 4X = 5y.1p2 * 1i6;\\10H.2U = 4X;\\2j 2q;\\n}\\n"},11C:!1});va.4TA="1IR";va.1lI.1nK(va.4TA,{1iG:{1I:va.4TA,6H:{1A:1g y(0,1,0,1),1SR:.1,1ql:1g C(8,8),1As:1g C(1,1),1uF:1g C(0,0)},5j:"#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 1m 1A;\\1B 1o 1SR;\\1B 1v 1ql;\\1B 1v 1As;\\1B 1v 1uF;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r 1l2 = 8N(1ql.s * st.s - 1uF.s);\\3Hq = abs(1l2 - 2t(1l2 + 0.5));\\1r 1ic = 8N(1ql.t * st.t - 1uF.t);\\3Hp = abs(1ic - 2t(1ic + 0.5));\\1r 1Q;\\n#1z 8p\\4i 1o 1uE = 1.2;\\2u 1mS = (1As * 1gU) - 1.0;\\2u dx = abs(1cu(st));\\2u dy = abs(1ct(st));\\2u dF = 1v(1V(dx.s, dy.s), 1V(dx.t, dy.t)) * 1ql;\\1ak = 2o(\\3Ho(dF.s * 1mS.s, dF.s * (1uE + 1mS.s), 1l2),\\3Ho(dF.t * 1mS.t, dF.t * (1uE + 1mS.t), 1ic));\\n#1s\\4i 1o 1uE = 0.1cN;\\2u 11D = 0.5 - (1As * 0.1cN);\\1ak = 2o(\\n1.0 - 13f(11D.s, 11D.s + 1uE, 1l2),\\n1.0 - 13f(11D.t, 11D.t + 1uE, 1ic));\\n#1u\\1r 3Hn = 1.0 - abs(2A(5y.4X, 1T(5y.11E)));\\1r 3Hm = 13f(0.8, 1.0, 3Hn);\\1ak *= (1.0 - 3Hm);\\1P 2cl;\\2WI.2y = 1A.2y * 0.5;\\2WI.a = 1A.a * (1.0 - ((1.0 - 1SR) * 1Q));\\2WI = 9D(2cl);\\10H.8t = 2cl.2y;\\10H.17Y = 2cl.2y;\\10H.2O = 2cl.a;\\2j 2q;\\n}\\n"},11C:1b(a){a=a.6H;1f 1>a.1A.2O||1>a.1SR}});va.4Tz="4O5";va.1lI.1nK(va.4Tz,{1iG:{1I:va.4Tz,6H:{1ia:!0,1ut:1g y(1,1,1,.5),1t7:1g y(0,0,1,.5),2M:0,12G:5},5j:"2n 1m 1ut;\\1B 1m 1t7;\\1B 1o 2M;\\1B 1o 12G;\\1B 7d 1ia;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r 16Q = 3T(5y.st.s, 5y.st.t, 1o(1ia));\\1r 1Q = 8N((16Q - 2M) * (12G * 0.5));\\1r 6Y = 2o(1Q, 2o(abs(1Q - 0.5), 1.0 - 1Q));\\1P 1aj = 3T(1ut, 1t7, 7F(0.5, 1Q));\\1P 1A = 1k5(1ut, 1t7, 1aj, 6Y);\\6p = 9D(1A);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\2j 2q;\\n}\\n"},11C:1b(a){a=a.6H;1f 1>a.1ut.2O||1>a.1t7.2O}});va.4Ty="68n";va.1lI.1nK(va.4Ty,{1iG:{1I:va.4Ty,6H:{18V:1g y(1,1,1,.5),1In:1g y(0,0,0,.5),12G:1g C(5,5)},5j:"2n 1m 18V;\\1B 1m 1In;\\1B 1v 12G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r b = 13R(2t(12G.s * st.s) + 2t(12G.t * st.t), 2.0);\\1r 1l2 = 8N(12G.s * st.s);\\3Hq = abs(1l2 - 2t(1l2 + 0.5));\\1r 1ic = 8N(12G.t * st.t);\\3Hp = abs(1ic - 2t(1ic + 0.5));\\1r 1Q = 2o(1l2, 1ic);\\1P 1aj = 3T(18V, 1In, b);\\1P 1A = 1k5(18V, 1In, 1aj, 1Q, 0.25l);\\6p = 9D(1A);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\2j 2q;\\n}\\n"},11C:1b(a){a=a.6H;1f 1>a.18V.2O||1>a.1In.2O}});va.4Tx="8KE";va.1lI.1nK(va.4Tx,{1iG:{1I:va.4Tx,6H:{18V:1g y(1,1,0,.75),1In:1g y(0,1,1,.75),12G:1g C(5,5)},5j:"2n 1m 18V;\\1B 1m 1In;\\1B 1v 12G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r b = 13f(0.3, 0.32, 1h(8N(12G * 5y.st) - 0.5));\\1P 1A = 3T(18V, 1In, b);\\6p = 9D(1A);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\2j 2q;\\n}\\n"},11C:1b(a){a=a.6H;1f 1>a.18V.2O||1>a.1In.2O}});va.4Tw="8KD";va.1lI.1nK(va.4Tw,{1iG:{1I:va.4Tw,6H:{2te:1g y(.2,.3,.6,1),1HO:1g y(0,1,.699,1),3fn:va.1RB,1KT:va.1RB,2FY:10,3fp:.11t,3fm:1,1L0:.5,3fo:1},5j:"2n 2v 3fn;\\1B 2v 1KT;\\1B 1m 2te;\\1B 1m 1HO;\\1B 1o 2FY;\\1B 1o 3fp;\\1B 1o 3fm;\\1B 1o 1L0;\\1B 1o 3fo;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r 6q = 2jx * 3fp;\\1r 1ay = 1V(1.0, (1h(5y.11E) / 5b6.0) * 2FY * 3fo);\\1r 1Xt = 1Y(3fn, 5y.st).r;\\1P 1ul = 2jo(1KT, 5y.st * 2FY, 6q, 0.0);\\1R 1i6 = 1ul.1H * 1w(1.0, 1.0, (1.0 / 3fm));\\1Cq.xy /= 1ay;\\1Cq = 3T(1w(0.0, 0.0, 50.0), 1i6, 1Xt);\\1Cq = 1T(1i6);\\1r 2td = 2Y(2A(1i6, 1w(0.0, 0.0, 1.0)), 0.0, 1.0);\\10H.2O = 3T(1HO.a, 2te.a, 1Xt) * 1Xt;\\10H.8t = 3T(1HO.2y, 2te.2y, 1Xt);\\10H.8t += (0.1 * 2td);\\10H.8t = 2q.8t;\\10H.2U = 1T(5y.1p2 * 1i6);\\10H.16C = 1L0;\\10H.1rk = 10.0;\\2j 2q;\\n}\\n"},11C:1b(a){a=a.6H;1f 1>a.2te.2O||1>a.1HO.2O}});va.4Tv="8KC";va.1lI.1nK(va.4Tv,{1iG:{1I:va.4Tv,6H:{1A:1g y(1,0,0,.7),2VN:1g y(1,1,1,.4),1G:.3},5j:"2n 1m 1A;\\1B 1m 2VN;\\1B 1o 1G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r d = 1.0 - 2A(5y.4X, 1T(5y.11E));\\1r s = 13f(1.0 - 1G, 1.0, d);\\1P 1bk = 9D(1A);\\1P 2VM = 9D(2VN);\\10H.8t = 1bk.2y;\\10H.17Y = 2VM.2y * s;\\10H.2O = 3T(1bk.a, 2VM.a, s);\\2j 2q;\\n}\\n"},11C:1b(a){a=a.6H;1f 1>a.1A.2O||1>a.2VN.2O}});va.4Tu="5yn";va.1lI.1nK(va.4Tu,{1iG:{1I:va.4Tu,6H:{2Xt:1g y(1,0,0,1),2Xs:1g y(0,0,0,0),1Yu:.5,12G:!0,2GL:{x:!0,y:!0},6q:1g C(.5,.5)},5j:"2n 1m 2Xt;\\1B 1m 2Xs;\\1B 1o 1Yu;\\1B 7d 12G;\\1B 1v 2GL;\\1B 1v 6q;\\1r 1o3(1o t, 1o 16Q)\\n{\\1r 1iL = 1.0 / 1Yu;\\1r q  = 3s(t, 16Q) * 1iL;\\1U (12G)\\n{\\1r r = 3s(t, 16Q + 1.0) * 1iL;\\1r s = 3s(t, 16Q - 1.0) * 1iL;\\nq = 2o(2o(r, s), q);\\n}\\2j 2Y(q, 0.0, 1.0);\\n}\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r s = 1o3(6q.x, st.s) * 2GL.s;\\1r t = 1o3(6q.y, st.t) * 2GL.t;\\1r u = 1h(1v(s, t));\\1P 1A = 3T(2Xt, 2Xs, u);\\6p = 9D(1A);\\10H.17Y = 1A.2y;\\10H.2O = 1A.a;\\2j 2q;\\n}\\n"},11C:1b(a){a=a.6H;1f 1>a.2Xt.2O||1>a.2Xs.2O}});va.4Tt="4Oh";va.1lI.1nK(va.4Tt,{1iG:{1I:va.4Tt,6H:{1A:1g y(1,1,1,1)},5j:"#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 1m 1A;\\1J 1o 1hC;\\1r 1Lo(1v p0, 1v p1, 1o x)\\n{\\1r 1rp = (p0.y - p1.y) / (p0.x - p1.x);\\2j 1rp * (x - p0.x) + p0.y;\\n}\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\n#1z 8p\\1r 13T = 1.0 - abs(2Gl(st.s)) * 10.0 * 1gU;\\n#1s\\1r 13T = 0.975;\\n#1u\\2u 2V = 1v(1.0, 0.5);\\1r 1Ln = 1Lo(1v(13T, 1.0), 2V, st.s);\\1r 1Lm = 1Lo(1v(13T, 0.0), 2V, st.s);\\1r 18c = 0.15;\\1r s = 7F(0.5 - 18c, st.t);\\ns *= 1.0 - 7F(0.5 + 18c, st.t);\\ns *= 1.0 - 7F(13T, st.s);\\1r t = 7F(13T, 5y.st.s);\\nt *= 1.0 - 7F(1Ln, st.t);\\nt *= 7F(1Lm, st.t);\\1r 6Y;\\1U (st.s < 13T)\\n{\\1r d1 = abs(st.t - (0.5 - 18c));\\1r d2 = abs(st.t - (0.5 + 18c));\\2c6 = 2o(d1, d2);\\n}\\5L\\n{\\1r d1 = 1Af;\\1U (st.t < 0.5 - 18c && st.t > 0.5 + 18c)\\n{\\5dt = abs(st.s - 13T);\\n}\\1r d2 = abs(st.t - 1Ln);\\1r d3 = abs(st.t - 1Lm);\\2c6 = 2o(2o(d1, d2), d3);\\n}\\1P 1iT = 1m(0.0);\\1P 1aj = 3T(1iT, 1A, 2Y(s + t, 0.0, 1.0));\\1P 1bk = 1k5(1iT, 1A, 1aj, 6Y);\\2jA = 9D(1bk);\\10H.8t = 1bk.2y;\\10H.2O = 1bk.a;\\2j 2q;\\n}\\n"},11C:!0});va.4Ts="4Og";va.1lI.1nK(va.4Ts,{1iG:{1I:va.4Ts,6H:{1A:1g y(1,0,1,1),1SK:1g y(0,0,0,0),1SM:16,1SL:255},5j:"2n 1m 1A;\\1B 1m 1SK;\\1B 1o 1SM;\\1B 1o 1SL;\\1J 1o 1iQ;\\4i 1o 2c2 = 16.0;\\1KZ 17b(1o 1Fp) {\\1r c = 3i(1Fp);\\1r s = 2T(1Fp);\\2j 1bG(\\nc, s,\\n-s, c\\n);\\n}\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u 3h = 17b(1iQ) * 4u.xy;\\1r 2c3 = 8N(3h.x / (1SM * 1gU));\\1r 2c1 = 2t(2c3 * 2c2);\\1r 2c0 = 2t(1SL / 3r(2.0, 2c1));\\1P 1cO = (13R(2c0, 2.0) < 1.0) ? 1SK : 1A;\\1U (1cO.a < 0.1Am) {\\10W;\\n}\\2uj = 9D(1cO);\\10H.17Y = 1cO.2y;\\10H.2O = 1cO.a;\\2j 2q;\\n}\\n"},11C:!0});va.4Tr="4Of";va.1lI.1nK(va.4Tr,{1iG:{1I:va.4Tr,6H:{1A:1g y(0,.5,1,1),1Lj:.25,1Fo:1},5j:"2n 1m 1A;\\1B 1o 1Lj;\\1B 1o 1Fo;\\1J 1o 1hC;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r 1An = 1Lj / abs(st.t - 0.5) - (1Lj / 0.5);\\1U (1Fo <= 0.1I6) {\\5ds *= 2o(1.0, 1Fo / (0.5 - st.s * 0.5) - (1Fo / 0.5));\\n}\\1P 1cO;\\2uj.2y = 1V(1w(1An - 1.0 + 1A.2y), 1A.2y);\\2uj.a = 2Y(0.0, 1.0, 1An) * 1A.a;\\2uj = 9D(1cO);\\10H.17Y = 1cO.2y;\\10H.2O = 1cO.a;\\2j 2q;\\n}\\n"},11C:!0});va.4Tq="4Oe";va.1lI.1nK(va.4Tq,{1iG:{1I:va.4Tq,6H:{1A:1g y(1,1,1,1),5M:1g y(1,0,0,1),5R:1},5j:"2n 1m 1A;\\1B 1m 5M;\\1B 1o 5R;\\1J 1o 1hC;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r 1l1 =  0.5 * (1hC - 5R) / 1hC;\\1r b = 7F(0.5 - 1l1, st.t);\\nb *= 1.0 - 7F(0.5 + 1l1, st.t);\\1r d1 = abs(st.t - (0.5 - 1l1));\\1r d2 = abs(st.t - (0.5 + 1l1));\\1r 6Y = 2o(d1, d2);\\1P 1aj = 3T(5M, 1A, b);\\1P 1bk = 1k5(5M, 1A, 1aj, 6Y);\\2jA = 9D(1bk);\\10H.8t = 1bk.2y;\\10H.2O = 1bk.a;\\2j 2q;\\n}\\n"},11C:1b(a){a=a.6H;1f 1>a.1A.2O||1>a.5M.2O}});va.4Tp="8KB";va.1lI.1nK(va.4Tp,{1iG:{1I:va.4Tp,6H:{1Im:100,1A:1g y(1,0,0,1),1G:1},5j:"#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 1m 1A;\\1B 1o 1Im;\\1B 1o 1G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r 1mJ = 13R(5y.1D, 1Im);\\n#1z 8p\\1r 1dW = abs(1cu(5y.1D));\\1r 1dV = abs(1ct(5y.1D));\\1r dF = 1V(1dW, 1dV) * 1gU * 1G;\\1r 2O = (1mJ < dF) ? 1.0 : 0.0;\\n#1s\\1r 2O = (1mJ < (1gU * 1G)) ? 1.0 : 0.0;\\n#1u\\1P 1bk = 9D(1m(1A.2y, 2O));\\10H.8t = 1bk.2y;\\10H.2O = 1bk.a;\\2j 2q;\\n}\\n"},11C:!1});va.4To="8KA";va.1lI.1nK(va.4To,{1iG:{1I:va.4To,6H:{4d:va.1RB,13w:0,12x:1E4},5j:"2n 2v 4d;\\1B 1o 13w;\\1B 1o 12x;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r 1ic = 2Y((5y.1D - 13w) / (12x - 13w), 0.0, 1.0);\\1P 1rC = 1Y(4d, 1v(1ic, 0.5));\\2UO = 9D(1rC);\\10H.8t = 1rC.2y;\\10H.2O = 1rC.a;\\2j 2q;\\n}\\n"},11C:!1});va.4Tn="8Kz";va.1lI.1nK(va.4Tn,{1iG:{1I:va.4Tn,6H:{4d:va.1RB},5j:"2n 2v 4d;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1P 1rC = 1Y(4d, 1v(5y.1rp / (1eN / 2.0), 0.5));\\2UO = 9D(1rC);\\10H.8t = 1rC.2y;\\10H.2O = 1rC.a;\\2j 2q;\\n}\\n"},11C:!1});va.4Tm="8Ky";va.1lI.1nK(va.4Tm,{1iG:{1I:va.4Tm,6H:{4d:va.1RB},5j:"2n 2v 4d;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1P 1rC = 1Y(4d, 1v(5y.3Jv / (2.0 * 1eN), 0.5));\\2UO = 9D(1rC);\\10H.8t = 1rC.2y;\\10H.2O = 1rC.a;\\2j 2q;\\n}\\n"},11C:!1});va.4Tl="65y";va.1lI.1nK(va.4Tl,{1iG:{1I:va.4Tl,6H:{1A:1g y(1,1,1,1)},5j:"2n 1m 1A;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\10H.8t = 1A.2y;\\10H.2O = 1.0;\\2j 2q;\\n}\\n"},11C:1b(a){1f 1>a.6H.1A.2O}});va.4Tk="43v";va.1lI.1nK(va.4Tk,{1iG:{1I:va.4Tk,6H:{1A:1g y(1,1,1,1),5M:1g y(1,0,0,1),5R:0,61p:1,43u:1},5j:"2n 1m 1A;\\1B 1m 5M;\\1B 1o 5R;\\1J 1o 1hC;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r 1l1 =  0.5 * (1hC - 5R) / 1hC;\\1r b = 7F(0.5 - 1l1, st.t);\\nb *= 1.0 - 7F(0.5 + 1l1, st.t);\\1r d1 = abs(st.t - (0.5 - 1l1));\\1r d2 = abs(st.t - (0.5 + 1l1));\\1r 6Y = 2o(d1, d2);\\1P 1aj = 3T(5M, 1A, b);\\1P 1bk = 1k5(5M, 1A, 1aj, 6Y);\\2jA = 9D(1bk);\\10H.8t = 1bk.2y;\\10H.2O = 1bk.a;\\2j 2q;\\n}\\n"},11C:1b(a){1f!0}});va.4Tj="44O";va.1lI.1nK(va.4Tj,{1iG:{1I:va.4Tj,6H:{1A:1g y(1,0,0,.5),23k:0,39T:1,39S:.25l,2k9:5,2Da:0,1ze:1E3},1bw:{8t:"1A.2y",2O:"1A.a"}},11C:1b(a){1f!0}});1L.2X(xe.1i,{5O:{1n:1b(){1f 1a.1za}},5A:{1n:1b(){1f 1a.1z9}},4w:{1n:1b(){1f 1a.1hT}},1ph:{1n:1b(){1f 1a.1z8}},3a8:{1n:1b(){1f 1a.6hM}},9S:{1n:1b(){1f 1a.14s}},8z:{1n:1b(){1f 1a.38H}},2Cm:{1n:1b(){1f 1a.38G}}});xe.1i.1MH=pe.1i.1MH;xe.1i.1pE=pe.1i.1pE;xe.1i.1MG=pe.1i.1MG;xe.1W0={8Kx:1L.3F({9S:za.48M,5O:"3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 2U;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\2s 2k()\\n{\\1P p = 1nS();\\1t6 = (15D * p).1H;\\1Oe = 11b * 2U;\\11u = 1kV * p;\\n}\\n",5A:"3G 1w 13L;\\1J 1w 1dy;\\2s 2k()\\n{\\1R 11E = -13L;\\1R 4X = 1T(1dy);\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\1jv 5y;\\10m.4X = 4X;\\10m.11E = 11E;\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s\\3R = 1nR(1T(11E), 2q, 1qd);\\n#1u\\n}\\n"}),8Kw:1L.3F({9S:za.48M,5O:"3Q 1w 1K;\\2J 1w 2U;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\1J 1v 9j;\\2s 2k()\\n{\\1P p = 1m(1K, 1.0);\\1t6 = (9q * p).1H;\\1Oe = 11b * 2U;\\11u = 11o * p;\\n}\\n",5A:"3G 1w 13L;\\1J 1w 1dy;\\2s 2k()\\n{\\1R 11E = -13L;\\1R 4X = 1T(1dy);\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\1jv 5y;\\10m.4X = 4X;\\10m.11E = 11E;\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s\\3R = 1nR(1T(11E), 2q, 1qd);\\n#1u\\n}\\n"}),23l:1L.3F({9S:za.2q4,5O:"3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 2U;\\2J 1v st;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\1J 1v 9j;\\2s 2k()\\n{\\1P p = 1nS();\\1t6 = (15D * p).1H;\\1Oe = 11b * 2U;\\1XA = st;\\11u = 1kV * p;\\n}\\n",5A:"3G 1w 13L;\\1J 1w 1dy;\\1J 1v 9j;\\2s 2k()\\n{\\1R 11E = -13L;\\1R 4X = 1T(1dy);\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\1jv 5y;\\10m.4X = 4X;\\10m.11E = 11E;\\10m.st = 9j;\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s\\3R = 1nR(1T(11E), 2q, 1qd);\\n#1u\\n}\\n"}),66Q:1L.3F({9S:za.2q4,5O:"3Q 1w 1K;\\2J 1w 2U;\\2J 1v st;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\1J 1v 9j;\\2s 2k()\\n{\\1P p = 1m(1K, 1.0);\\1t6 = (9q * p).1H;\\1Oe = 11b * 2U;\\1XA = st;\\11u = 11o * p;\\n}\\n",5A:"3G 1w 13L;\\1J 1w 1dy;\\1J 1v 9j;\\2s 2k()\\n{\\1R 11E = -13L;\\1R 4X = 1T(1dy);\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\1jv 5y;\\10m.4X = 4X;\\10m.11E = 11E;\\10m.st = 9j;\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s\\3R = 1nR(1T(11E), 2q, 1qd);\\n#1u\\n}\\n"}),1zj:1L.3F({9S:za.1zj,5O:"3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 2U;\\2J 1w 8Q;\\2J 1w 8T;\\2J 1v st;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\1J 1w 2Yg;\\1J 1w 2Yf;\\1J 1v 9j;\\2s 2k()\\n{\\1P p = 1nS();\\1t6 = (15D * p).1H;\\1Oe = 11b * 2U;\\5f8 = 11b * 8Q;\\5f7 = 11b * 8T;\\1XA = st;\\11u = 1kV * p;\\n}\\n",5A:"3G 1w 13L;\\1J 1w 1dy;\\1J 1w 2Yg;\\1J 1w 2Yf;\\1J 1v 9j;\\2s 2k()\\n{\\1R 11E = -13L;\\1NS 1p2 = 3eR(1dy, 2Yg, 2Yf);\\1R 4X = 1T(1dy);\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\1jv 5y;\\10m.4X = 4X;\\10m.1p2 = 1p2;\\10m.11E = 11E;\\10m.st = 9j;\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s\\3R = 1nR(1T(11E), 2q, 1qd);\\n#1u\\n}\\n"})};1L.2X(zc.1i,{5O:{1n:1b(){1f 1a.1za}},5A:{1n:1b(){1f 1a.1z9}},4w:{1n:1b(){1f 1a.1hT}},1ph:{1n:1b(){1f 1a.1z8}},9S:{1n:1b(){1f 1a.14s}},8z:{1n:1b(){1f 1a.38H}},2Cm:{1n:1b(){1f 1a.38G}}});zc.1sC=za.48M;zc.48L=za.1Gd;zc.1i.1MH=pe.1i.1MH;zc.1i.1pE=pe.1i.1pE;zc.1i.1MG=pe.1i.1MG;1L.2X(cc.1i,{5g:{1n:1b(){1f F.5g(1a.7a)}},13C:{1n:1b(){1f 1a.8B}},1A:Y("1A")});cc.1i.1bu=1b(a){1f"1aV"};cc.1i.3K=1b(a,b){g(b)||(b={});b.1A=F.1pW(1a.7a,a,y.9r,b.1A);1f b};cc.1i.2L=1b(a){1f 1a===a||a 2m cc&&F.2L(1a.7a,a.7a)};1L.2X(Oa.1i,{6W:{1n:1b(){1f 1a.11S},1C:1b(a){1a.11S!==a&&(1a.11S=a,1a.6s=!0)}},1ls:{1n:1b(){1f 1a.1vX},1C:1b(a){1a.1vX!==a&&(1a.1vX=a,1a.6s=!0)}},8d:{1n:1b(){1f 1a.1Wd},1C:1b(a){1a.1Wd!==a&&(1a.1Wd=a,1a.6s=!0)}},4qU:{1n:1b(){1f 1a.3bP},1C:1b(a){1a.3bP!==a&&(1a.3bP=a,1a.6s=!0)}},4a:{1n:1b(){1f 1a.12t},1C:1b(a){1a.12t!==a&&(1a.12t=a,1a.6s=!0)}},6Z:{1n:1b(){1f 1a.1vl},1C:1b(a){1a.1vl!==a&&(1a.1vl=a,1a.6s=!0)}},4c:{1n:1b(){1f 1a.1BB},1C:1b(a){1a.1BB!==a&&(1a.1BB=a,1a.6s=!0)}},7Z:{1n:1b(){1f 1a.1sK},1C:1b(a){1a.1sK!==a&&(1a.1sK=a,1a.6s=!0)}},2M:{1n:1b(){1f 1a.1hs},1C:1b(a){1a.1hs!==a&&(1a.1hs=a,1a.6s=!0)}},1gC:{1n:1b(){1f 1a.1N3},1C:1b(a){1a.1N3!==a&&(1a.1N3=a,1a.6s=!0)}},2z:{1n:1b(){1f 1a.1Q1},1C:1b(a){1a.1Q1!==a&&(1a.1Q1=a,1a.6s=!0)}},1hR:{1n:1b(){1f 1a.3bM},1C:1b(a){1a.3bM!==a&&(1a.3bM=a,1a.6s=!0)}},1fC:{1n:1b(){1f 1a.3bL},1C:1b(a){1a.3bL!==a&&(1a.3bL=a,1a.6s=!0)}},4J:{1n:1b(){1f 1a.1cH},1C:1b(a){1a.1cH!==a&&(1a.1cH=a,1a.6s=!0)}},4w:{1n:1b(){1f 1a.1hT},1C:1b(a){1a.1hT!==a&&(1a.1hT=a,1a.6s=!0)}},4Q:{1n:1b(){1f 1a.13p},1C:1b(a){1a.13p!==a&&(1a.13p=a,1a.6s=!0)}},6t:{1n:1b(){1f 1a.1Er},1C:1b(a){1a.1Er!==a&&(1a.1Er=a,1a.6s=!0)}},3nk:{1n:1b(){1f 1a.3bO},1C:1b(a){1a.3bO!==a&&(1a.3bO=a,1a.6s=!0)}},7H:{1n:1b(){1f 1a.1fq},1C:1b(a){1a.1fq!==a&&(1a.1fq=a,1a.6s=!0)}},15S:{1n:1b(){1f 1a.1Wp},1C:1b(a){1a.1Wp!==a&&(1a.1Wp=a,1a.6s=!0)}},2ne:{1n:1b(){1f 1a.3bN},1C:1b(a){1a.3bN!==a&&(1a.3bN=a,1a.6s=!0)}},1cI:{1n:1b(){1f 1a.16I},1C:1b(a){1a.16I!==a&&(1a.16I=a,1a.6s=!0)}},2id:{1n:1b(){1f 1a.3bK},1C:1b(a){1a.3bK!==a&&(1a.3bK=a,1a.6s=!0)}}});Oa.15v=1b(a,b){if(g(a))1f g(b)||(b=1g Oa),b.11S=a.11S,b.1vX=a.1vX,b.1Wd=a.1Wd,b.3bP=a.3bP,b.12t=a.12t,b.1vl=a.1vl,b.1BB=a.1BB,b.1sK=a.1sK,b.1hs=a.1hs,b.1N3=a.1N3,b.1Q1=a.1Q1,b.1cH=a.1cH,b.1hT=a.1hT,b.13p=a.13p,b.1Er=a.1Er,b.3bO=a.3bO,b.1fq=a.1fq,b.1Wp=a.1Wp,b.3bN=a.3bN,b.3bM=a.3bM,b.3bL=a.3bL,b.16I=a.16I,b.3bK=a.3bK,b.20m=a.20m,b.6s=!0,b.2mO=0,b};Oa.1i.5P=1b(a,b){a.1Mm(1a,b)};1d ma=1L.3F({2MF:0,3R2:1,1Bb:2,1Bk:3,1uf:4,1Hh:5,2qQ:6,1Bc:8,8Kv:9,6hL:10,3iq:11,18W:12,1e0:13,3sD:14,37a:15,2Ke:16,2Ht:17,1bl:18,1xr:19,1eW:20,3nl:21,2KH:22}),6hK=0,dp={};pa.4t=1b(a){1d b=4H.8s(a),c=dp[b];if(g(c))1f++c.1d2,c.4F;a=1g pa(a);1d d=4H.8s(a);c=dp[d];g(c)||(a.id=6hK++,a=RP(a),c={1d2:0,4F:a},dp[d]=c);++c.1d2;dp[b]={1d2:1,4F:c.4F};1f c.4F};pa.8Ku=1b(a){1d b=1g pa(a);b=4H.8s(b);1d c=dp[b];a=4H.8s(a);1d d=dp[a];g(d)&&(--d.1d2,0===d.1d2&&(4Y dp[a],g(c)&&--c.1d2));g(c)&&0===c.1d2&&4Y dp[b]};pa.8Kt=1b(){1f dp};pa.8Ks=1b(){dp={}};1d 6hJ=1g Aa;pa.6c=1b(a,b,c){E2(a,b);F2(a,b);G2(a,b);H2(a,b);J2(a,b);K2(a,b);L2(a,b);M2(a,b);N2(a,b);P2(a,b);Q2(a,b);I2(a,b,c);O2(a,b,c);R2(a,b,c)};pa.4Ti=1b(a,b,c,d,e,f,h,l){if(b!==c){1d p=c.3qk[b.id];g(p)||(p=[],b.1GT!==c.1GT&&p.1q(E2),b.8d.3e===c.8d.3e&&b.8d.18X===c.8d.18X||p.1q(F2),b.11a!==c.11a&&p.1q(G2),b.1bB.3e===c.1bB.3e&&b.1bB.8H===c.1bB.8H&&b.1bB.13u===c.1bB.13u||p.1q(H2),b.1qY.3I===c.1qY.3I&&b.1qY.3W===c.1qY.3W||p.1q(J2),b.9J.3e===c.9J.3e&&b.9J.14R===c.9J.14R||p.1q(K2),b.1fA.5r===c.1fA.5r&&b.1fA.5t===c.1fA.5t&&b.1fA.5G===c.1fA.5G&&b.1fA.2O===c.1fA.2O||p.1q(L2),b.13Q!==c.13Q&&p.1q(M2),b.1lq!==c.1lq&&p.1q(N2),b.12h.3e===c.12h.3e&&b.12h.1iu===c.12h.1iu&&b.12h.1it===c.12h.1it&&b.12h.1bY===c.12h.1bY&&b.12h.11q===c.12h.11q&&b.12h.1eb.15w===c.12h.1eb.15w&&b.12h.1eb.17x===c.12h.1eb.17x&&b.12h.1eH.15w===c.12h.1eH.15w&&b.12h.1eH.17x===c.12h.1eH.17x&&b.12h.1eH.17w===c.12h.1eH.17w||p.1q(P2),b.1RA.3e===c.1RA.3e&&b.1RA.1Q===c.1RA.1Q&&b.1RA.2xs===c.1RA.2xs||p.1q(Q2),c.3qk[b.id]=p);1j(1d k=p.1h,m=0;m<k;++m)p[m](a,c)}p=g(d.1g1)?d.1g1:b.1g1;k=g(e.1g1)?e.1g1:c.1g1;(p!==k||l)&&I2(a,c,e);l=g(d.1Jm)?d.1Jm:b.12e.3e;p=g(e.1Jm)?e.1Jm:c.12e.3e;(l!==p||p&&b.12e!==c.12e)&&O2(a,c,e);b===c&&d===e&&d.1O===e.1O&&f===h||R2(a,c,e)};pa.1PL=1b(a){if(!g(a))1t 1g r("4w is 1X.");1f{1GT:a.1GT,8d:{3e:a.8d.3e,18X:a.8d.18X},11a:a.11a,1bB:{3e:a.1bB.3e,8H:a.1bB.8H,13u:a.1bB.13u},1g1:{3e:a.1g1.3e,3g:Aa.1y(a.1g1.3g)},1qY:{3I:a.1qY.3I,3W:a.1qY.3W},9J:{3e:a.9J.3e,14R:a.9J.14R},1fA:{5r:a.1fA.5r,5t:a.1fA.5t,5G:a.1fA.5G,2O:a.1fA.2O},13Q:a.13Q,1lq:a.1lq,12e:{3e:a.12e.3e,1A:y.1y(a.12e.1A),1Gq:a.12e.1Gq,1Gp:a.12e.1Gp,1Go:a.12e.1Go,1Gn:a.12e.1Gn,1B7:a.12e.1B7,1B6:a.12e.1B6},12h:{3e:a.12h.3e,1iu:a.12h.1iu,1it:a.12h.1it,1bY:a.12h.1bY,11q:a.12h.11q,1eb:{15w:a.12h.1eb.15w,17x:a.12h.1eb.17x,17w:a.12h.1eb.17w},1eH:{15w:a.12h.1eH.15w,17x:a.12h.1eH.17x,17w:a.12h.1eH.17w}},1RA:{3e:a.1RA.3e,1Q:a.1RA.1Q,2xs:a.1RA.2xs},5q:g(a.5q)?Aa.1y(a.5q):1p 0}};1d 6hG=1g k,sh={};sh[H.3O]="1o";sh[H.1Rt]="1v";sh[H.1my]="1w";sh[H.1EK]="1m";sh[H.1El]="7P";sh[H.3xR]="2Gb";sh[H.3xQ]="6hI";sh[H.3xP]="3g0";sh[H.2DS]="7d";sh[H.3xO]="8Kr";sh[H.3xN]="8Kq";sh[H.3xM]="8Kp";sh[H.3bi]="1bG";sh[H.1BP]="14j";sh[H.1ff]="5w";sh[H.1oS]="2v";sh[H.3yQ]="1HF";vb.1i.4T2=1b(a){a="2n "+sh[1a.6hH]+" "+a;1d b=1a.1eC;1f a=1===b?a+";":a+("["+b.5s()+"];")};1d PB={9e:1g vb({4V:1,14h:H.1EK,3K:1b(a){1f a.40H}}),1t5:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.5Vg}}),1Sd:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.3Zj}}),1aB:1g vb({4V:1,14h:H.1oS,3K:1b(a){1f a.1Ju}}),1Cp:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.12W}}),3h4:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.3tM}}),1p3:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.11A}}),8Ko:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.37O}}),4gw:1g vb({4V:1,14h:H.1BP,3K:1b(a){1f a.40q}}),8Kn:1g vb({4V:1,14h:H.1BP,3K:1b(a){1f a.3tu}}),1Sy:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.37P}}),8Km:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.4yc}}),25a:1g vb({4V:1,14h:H.1BP,3K:1b(a){1f a.5Vd}}),8Kl:1g vb({4V:1,14h:H.1BP,3K:1b(a){1f a.5Vc}}),17B:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.18T}}),1k1:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.3tK}}),8Kk:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.5Vb}}),9q:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.2pF}}),4h5:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.4HX}}),15D:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.4HQ}}),1Xe:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.3tJ}}),8Kj:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.40A}}),8Ki:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.1Ue}}),8Kh:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.3tl}}),11o:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.40B}}),8Kg:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.4HS}}),1kV:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.5Va}}),8Kf:1g vb({4V:1,14h:H.1ff,3K:1b(a){1f a.5V9}}),4gd:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.5US?1:0}}),11b:1g vb({4V:1,14h:H.1BP,3K:1b(a){1f a.2U}}),1Xn:1g vb({4V:1,14h:H.1BP,3K:1b(a){1f a.5V8}}),8Ke:1g vb({4V:1,14h:H.1BP,3K:1b(a){1f a.5V7}}),8Kd:1g vb({4V:1,14h:H.1BP,3K:1b(a){1f a.5V6}}),2tZ:1g vb({4V:1,14h:H.1Rt,3K:1b(a){1f a.5V2}}),4gv:1g vb({4V:1,14h:H.1Rt,3K:1b(a){1f a.5V5}}),18z:1g vb({4V:1,14h:H.1Rt,3K:1b(a){1f a.37F}}),1q9:1g vb({4V:1,14h:H.1EK,3K:1b(a){1f a.37N}}),4fN:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.5V4}}),3eP:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.37D}}),2ji:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.5V3}}),1HW:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.2cg}}),3fA:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.4qd}}),1t3:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.5V1}}),4he:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.3tI}}),4hb:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.5V0}}),1qd:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.1jo}}),4hd:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.2uu}}),1NT:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.18V}}),8Kc:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.5UZ}}),4fP:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.5UY}}),4fO:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.5UX}}),3h3:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.1Es}}),1al:1g vb({4V:1,14h:H.1my,3K:1b(a){1f A.1Um(a.37P,6hG)}}),2jx:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.18Y.1gA}}),1iO:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.18Y.29J}}),1kO:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.18Y.3z}}),4Rw:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.6t}}),4hD:1g vb({4V:1,14h:H.1EK,3K:1b(a){1f a.1a4}}),3g4:1g vb({4V:1,14h:H.1oS,3K:1b(a){1f a.1Oq}}),3G4:1g vb({4V:1,14h:H.3yQ,3K:1b(a){1f a.3tt}}),6hF:1g vb({4V:1,14h:H.1oS,3K:1b(a){1f a.1mq}}),6hE:1g vb({4V:1,14h:H.1Rt,3K:1b(a){1f a.5UT}}),4Th:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.37I}}),6hD:1g vb({4V:9,14h:H.1my,3K:1b(a){1f a.1mr}}),2UP:1g vb({4V:1,14h:H.1BP,3K:1b(a){1f a.5UW}}),1gU:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.13S}}),1Xu:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.2dz}}),3f7:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.5UV}}),4hj:1g vb({4V:1,14h:H.1Rt,3K:1b(a){1f a.2y2}}),4hg:1g vb({4V:1,14h:H.1Rt,3K:1b(a){1f a.2y1}}),2UR:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.5UU}}),2kc:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.2mQ}}),4uv:1g vb({4V:1,14h:H.1EK,3K:1b(a){1f a.28U}}),2FS:1g vb({4V:1,14h:H.3O,3K:1b(a){1f a.1iP}}),8Kb:1g vb({4V:1,14h:H.1my,3K:1b(a){1f a.32c}}),2l1:1g vb({4V:1,14h:H.1Rt,3K:1b(a){1f a.40y}}),5Cm:1g vb({4V:1,14h:H.1oS,3K:1b(a){1f a.4Tg}}),4sX:1g vb({4V:1,14h:H.1oS,3K:1b(a){1f a.3QJ}})};T2.1i.1C=1b(){1a.1Q!==1a.6j&&(1a.6j=1a.1Q,1a.6M.5Qp(1a.1c5,1a.1Q))};U2.1i.1C=1b(){1d a=1a.1Q;C.2L(a,1a.6j)||(C.1y(a,1a.6j),1a.6M.5Qo(1a.1c5,a.x,a.y))};V2.1i.1C=1b(){1d a=1a.1Q;if(g(a.5r))y.2L(a,1a.6j)||(1a.6j=y.1y(a,1a.6j),1a.6M.4Fc(1a.1c5,a.5r,a.5t,a.5G));1s if(g(a.x))k.2L(a,1a.6j)||(1a.6j=k.1y(a,1a.6j),1a.6M.4Fc(1a.1c5,a.x,a.y,a.z));1s 1t 1g r(\'13H 1w 1Q 1j 2n "\'+1a.2i+\'".\');};W2.1i.1C=1b(){1d a=1a.1Q;if(g(a.5r))y.2L(a,1a.6j)||(1a.6j=y.1y(a,1a.6j),1a.6M.3YW(1a.1c5,a.5r,a.5t,a.5G,a.2O));1s if(g(a.x))E.2L(a,1a.6j)||(1a.6j=E.1y(a,1a.6j),1a.6M.3YW(1a.1c5,a.x,a.y,a.z,a.w));1s 1t 1g r(\'13H 1m 1Q 1j 2n "\'+1a.2i+\'".\');};SP.1i.1C=1b(){1d a=1a.6M;a.1pR(a.1tW+1a.3bJ);1d b=1a.1Q;a.1eg(b.22v,b.10q)};SP.1i.3yP=1b(a){1a.3bJ=a;1a.6M.3YX(1a.1c5,a);1f a+1};X2.1i.1C=1b(){1a.1Q!==1a.6j&&(1a.6j=1a.1Q,1a.6M.3YX(1a.1c5,1a.1Q))};Y2.1i.1C=1b(){1d a=1a.1Q;C.2L(a,1a.6j)||(C.1y(a,1a.6j),1a.6M.8Ka(1a.1c5,a.x,a.y))};Z2.1i.1C=1b(){1d a=1a.1Q;k.2L(a,1a.6j)||(k.1y(a,1a.6j),1a.6M.8K9(1a.1c5,a.x,a.y,a.z))};$2.1i.1C=1b(){1d a=1a.1Q;E.2L(a,1a.6j)||(E.1y(a,1a.6j),1a.6M.8K8(1a.1c5,a.x,a.y,a.z,a.w))};1d 6hC=1g 4A(4);a3.1i.1C=1b(){if(!ub.1zX(1a.1Q,1a.6j,0)){ub.1y(1a.1Q,1a.6j);1d a=ub.1MY(1a.1Q,6hC);1a.6M.6hz(1a.1c5,!1,a)}};1d 6hB=1g 4A(9);b3.1i.1C=1b(){if(!J.1zX(1a.1Q,1a.6j,0)){J.1y(1a.1Q,1a.6j);1d a=J.1MY(1a.1Q,6hB);1a.6M.6hy(1a.1c5,!1,a)}};1d 6hA=1g 4A(16);c3.1i.1C=1b(){if(!A.1zX(1a.1Q,1a.6j,0)){A.1y(1a.1Q,1a.6j);1d a=A.1MY(1a.1Q,6hA);1a.6M.4Fb(1a.1c5,!1,a)}};e3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0;e<b;++e){1d f=a[e];f!==c[e]&&(c[e]=f,d=!0)}d&&1a.6M.8K7(1a.1c5,c)};f3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0,f=0;f<b;++f){1d h=a[f];C.1zX(h,c,e)||(C.5n(h,c,e),d=!0);e+=2}d&&1a.6M.8K6(1a.1c5,c)};g3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0,f=0;f<b;++f){1d h=a[f];if(g(h.5r)){if(h.5r!==c[e]||h.5t!==c[e+1]||h.5G!==c[e+2])c[e]=h.5r,c[e+1]=h.5t,c[e+2]=h.5G,d=!0}1s if(g(h.x))k.1zX(h,c,e)||(k.5n(h,c,e),d=!0);1s 1t 1g r("13H 1w 1Q.");e+=3}d&&1a.6M.8K5(1a.1c5,c)};h3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0,f=0;f<b;++f){1d h=a[f];if(g(h.5r))y.1zX(h,c,e)||(y.5n(h,c,e),d=!0);1s if(g(h.x))E.1zX(h,c,e)||(E.5n(h,c,e),d=!0);1s 1t 1g r("13H 1m 1Q.");e+=4}d&&1a.6M.8K4(1a.1c5,c)};TP.1i.1C=1b(){1j(1d a=1a.6M,b=a.1tW+1a.3bJ,c=1a.1Q,d=c.1h,e=0;e<d;++e){1d f=c[e];a.1pR(b+e);a.1eg(f.22v,f.10q)}};TP.1i.3yP=1b(a){1a.3bJ=a;1j(1d b=1a.4Tf,c=b.1h,d=0;d<c;++d)1a.6M.3YX(b[d],a+d);1f a+c};i3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0;e<b;++e){1d f=a[e];f!==c[e]&&(c[e]=f,d=!0)}d&&1a.6M.8K3(1a.1c5,c)};j3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0,f=0;f<b;++f){1d h=a[f];C.1zX(h,c,e)||(C.5n(h,c,e),d=!0);e+=2}d&&1a.6M.8K2(1a.1c5,c)};k3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0,f=0;f<b;++f){1d h=a[f];k.1zX(h,c,e)||(k.5n(h,c,e),d=!0);e+=3}d&&1a.6M.8K1(1a.1c5,c)};l3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0,f=0;f<b;++f){1d h=a[f];E.1zX(h,c,e)||(E.5n(h,c,e),d=!0);e+=4}d&&1a.6M.8K0(1a.1c5,c)};m3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0,f=0;f<b;++f){1d h=a[f];ub.1zX(h,c,e)||(ub.5n(h,c,e),d=!0);e+=4}d&&1a.6M.6hz(1a.1c5,!1,c)};n3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0,f=0;f<b;++f){1d h=a[f];J.1zX(h,c,e)||(J.5n(h,c,e),d=!0);e+=9}d&&1a.6M.6hy(1a.1c5,!1,c)};o3.1i.1C=1b(){1j(1d a=1a.1Q,b=a.1h,c=1a.6j,d=!1,e=0,f=0;f<b;++f){1d h=a[f];A.1zX(h,c,e)||(A.5n(h,c,e),d=!0);e+=16}d&&1a.6M.4Fb(1a.1c5,!1,c)};1d 6hx=0;Ga.4t=1b(a){a=m(a,m.4Z);v.2l("3v.1O",a.1O);1f a.1O.1hf.3oO(a)};Ga.1sw=1b(a){a=m(a,m.4Z);v.2l("3v.1O",a.1O);1f a.1O.1hf.5Vj(a)};1L.2X(Ga.1i,{5O:{1n:1b(){1f 1a.1za}},5A:{1n:1b(){1f 1a.1z9}},19h:{1n:1b(){tH(1a);1f 1a.4Te}},8JZ:{1n:1b(){tH(1a);1f 1a.4Td}},8JY:{1n:1b(){tH(1a);1f 1a.4Tc}}});1d wl="[1di 1zV] ";Ga.1i.1QJ=1b(){tH(1a);1a.6M.28B(1a.2ir)};Ga.1i.3ZN=1b(a,b,c){1d d;if(g(a)){1d e=1a.4Tb;1d f=e.1h;1j(d=0;d<f;++d){1d h=e[d];h.1Q=a[h.2i]()}}a=1a.4Ta;f=a.1h;1j(d=0;d<f;++d)e=a[d],e.2n.1Q=e.6hw.3K(b);b=1a.1dg;f=b.1h;1j(d=0;d<f;++d)b[d].1C();if(c&&(c=1a.6M,f=1a.2ir,c.8JX(f),!c.36z(f,c.6hv)))1t 1g r("2MK 8JW 1bf.  2MK 2Ax 7k: "+c.4T9(f));};Ga.1i.3Z=1b(){1f!1};Ga.1i.1M=1b(){1a.2BK.1au.5Vi(1a)};Ga.1i.37Q=1b(){1a.6M.48K(1a.2ir);1f la(1a)};uH.4T8=1b(a,b,c){1d d;if(0<=c.3f("2l",0)||0<=c.3f("#if ",0)||0<=c.3f("#1Cw ",0))1f c;1j(1d e=[],f=d=0,h=1p 0;-1!==d;){1d l=1p 0;d=c;1d p=f;f=-1;1d k=Lm.48H;1j(l in Lm){1d m=Lm[l],w=d.3f(m.10J,p);-1===f?(f=w,k=m):0<=w&&w<f&&(f=w,k=m)}l=k;d=f;f=d+l.3bI;if(-1===d)1W;6U(l.2Ea){1S Lm.48H.2Ea:1S Lm.4T6.2Ea:l=1g s3({1I:l,2Ec:d});g(h)?(g(h.23S)?g(h.2QB)||e.1q(l):(h.6hu(l),l.2QB=h),h=l):(h=l,e.1q(l));1W;1S Lm.4T5.2Ea:if(!g(h))1aJ;h.2r5=d;1W;1S Lm.4T4.2Ea:g(h)&&(h.23S=d,g(h.2QB)&&(h=h.2QB))}}h=[];if(0!==e.1h){l=b.2N;b={};if(g(l))1j(d=0;d<l.1h;++d)b[l[d]]=1;if(g(a.2Eb))1j(d=0;d<a.2Eb.1h;++d)b[a.2Eb[d]]=1;1j(l=a=0;-1!==a;){a=c.3f("#2f ",l);if(-1===a)1W;d=a+8;l=c.3f("\\n",a);d=c.11c(d,l);b[d]=1}1j(a=0;a<e.1h;a++)UP(e[a],b,c,h)}e=c;1j(a=0;a<h.1h;a++)b=h[a],1<b.23S-b.3yO&&(b=c.11c(b.3yO,b.23S),e=e.3X(b,""));1f e=e.3X(/(#1z|#1bI|#1s|#1u).*/gm,"")};s3.1i.6hu=1b(a){g(1a.2r5)?1a.48J.1q(a):1a.48I.1q(a)};Uu.4T7=1b(a,b){1f a.2Ea===b.2Ea};1d Lm={48H:1g Uu(0,"#1z"),4T6:1g Uu(1,"#1bI"),4T5:1g Uu(2,"#1s"),4T4:1g Uu(3,"#1u")},jM={4gp:"XR 1o 4gp = 57.1Xq;\\n",1dx:"XR 2FX 1dx = 2FX(0.0, 1.0);\\n",2FW:"XR 1w 2FW = 1w(1.0 / 16t.0, 1.0 / 16t.0, 1.0 / 2bi.3Eb);\\n",4gl:"XR 1w 4gl = 1w(16t.0, 16t.0, 2bi.3Eb);\\n",1jt:"XR 1o 1jt = 0.1;\\n",3f3:"XR 1o 3f3 = 0.11t;\\n",3Ea:"XR 1o 3Ea = 0.17I;\\n",4gk:"XR 1o 4gk = 0.1t2;\\n",3fa:"XR 1o 3fa = 0.1Ai;\\n",4gj:"XR 1o 4gj = 0.1F8;\\n",1bg:"XR 1o 1bg = 0.1KX;\\n",1Af:"XR 1o 1Af = 59t.0;\\n",3eZ:"XR 1o 3eZ = 0.59k;\\n",3eY:"XR 1o 3eY = 0.59j;\\n",4g9:"XR 1o 4g9 = 4.0;\\n",4g8:"XR 1o 4g8 = 5.0;\\n",4g7:"XR 1o 4g7 = 6.0;\\n",4g6:"XR 1o 4g6 = 7.0;\\n",4g5:"XR 1o 4g5 = 1.0;\\n",4g4:"XR 1o 4g4 = 0.0;\\n",4g3:"XR 1o 4g3 = 2.0;\\n",4g2:"XR 1o 4g2 = 4.0;\\n",4g1:"XR 1o 4g1 = 12.0;\\n",4g0:"XR 1o 4g0 = 20.0;\\n",4fZ:"XR 1o 4fZ = 3.0;\\n",3eX:"XR 1o 3eX = 18.0;\\n",1eN:"XR 1o 1eN = 3.24J;\\n",1qb:"XR 1o 1qb = 0.59f;\\n",4fY:"XR 1o 4fY = 0.59e;\\n",4fX:"XR 1o 4fX = 1.59d;\\n",1Sj:"XR 1o 1Sj = 1.59c;\\n",2FR:"XR 1o 2FR = 0.1qa;\\n",1HG:"XR 1o 1HG = 2.0;\\n",1F3:"XR 1o 1F3 = 3.0;\\n",3eV:"XR 1o 3eV = 1.0;\\n",4fW:"XR 1o 4fW = 0.0;\\n",4fR:"XR 1o 4fR = 595.0;\\n",4fQ:"XR 1o 4fQ = 4.58V;\\n",1w4:"XR 1o 1w4 = 6.58U;\\n",2FO:"XR 1o 2FO = 1.58M;\\n",2FX:"1NV 2FX\\n{\\1r 3I;\\1r 3W;\\n};\\n",1Xh:"1NV 1Xh\\n{\\1R 2V;\\1R 10N;\\1R 1Ch;\\1R 2b4;\\n};\\n",1Ad:"1NV 1Ad\\n{\\1R 8t;\\1r 16C;\\1r 1rk;\\1R 2U;\\1R 17Y;\\1r 2O;\\n};\\n",1cK:"1NV 1cK\\n{\\1r s;\\2u st;\\1R 1F6;\\1R 4X;\\1NS 1p2;\\1R 11E;\\1r 1D;\\1r 1rp;\\n};\\n",1F5:"1NV 1F5\\n{\\1R 9X;\\1R 2G;\\n};\\n",1nQ:"1NV 1nQ\\n{\\1r 4I;\\1r 4U;\\n};\\4i 1nQ 2sF = 1nQ(-1Af, -1Af);\\4i 1nQ 59b = 1nQ(0.0, 1Af);\\n",2sA:"1NV 2sA\\n{\\n#1z 3eU\\1R 1HE;\\n#1s\\2u 1HE;\\n#1u\\1r 1p0;\\1r 4e;\\1r 18o;\\2u 1KR;\\1r 1rl;\\1r 1k2;\\n};\\n",3EH:"1w 3EH(1w 1A) {\\1r g = 0.985;\\1r a = 0.3fk;\\1r b = 0.1t2;\\1r c = 0.433;\\1r d = 0.238;\\6p = (1A * (1A + a) - b) / (1A * (g * 1A + c) + d);\\6p = 2Y(1A, 0.0, 1.0);\\2j 1A;\\n}\\n",2bm:"2n 1o 3fj;\\1B 1o 3fi;\\1B 1o 3fh;\\1B 1o 3fg;\\1B 1o 3ff;\\1R 2bm(1w 1gl)\\n{\\1R 1Cb = 1gl;\\1Cc.2y = 3T(1w(0.0), 1Cb.2y, 3fj);\\1Cc.2y = 3T(1w(0.5), 1Cb.2y, 3fi);\\1Cc.2y = 2jm(1Cb.2y, 3fh);\\1Cc.2y = 24G(1Cb.2y, 3fg);\\1Cc.2y = 3r(1Cb.2y, 1w(3ff));\\2j 1Cb;\\n}\\n",2jv:"1o 2jv(1o a)\\n{\\1r z = (4u.z - 1Sd[3][2]) / 1Sd[2][2];\\2j 3r(a + 0.11t, 4.0) + 1V(1e-2, 2o(3.0 * 1e3, 0.5aR / (1e-5 + 3r(abs(z) / 200.0, 4.0))));\\n}\\n",1k5:"1m 1k5(1m 1dT, 1m 1mG, 1m 1aj, 1o 6Y, 1o 2Ul)\\n{\\1r 1Oa = 2Y(6Y / 2Ul, 0.0, 1.0);\\1r 3EG = 2Y((6Y - 0.5) / 2Ul, 0.0, 1.0);\\2Uk = 1Oa * (1.0 - 3EG);\\2Uk = 1Oa * 1Oa * (3.0 - (2.0 * 1Oa));\\2Uk = 3r(1Oa, 0.5);\\1P 3EF = (1dT + 1mG) * 0.5;\\2j 3T(3EF, 1aj, 1Oa);\\n}\\1P 1k5(1m 1dT, 1m 1mG, 1m 1aj, 1o 6Y)\\n{\\2j 1k5(1dT, 1mG, 1aj, 6Y, 0.1);\\n}\\n",2Uj:"1v 2Uj(1w 2U) {\\1r 3EE = 1KW(3Y(2U.x * 2U.x + 2U.y * 2U.y), 2U.z);\\1r 3ED = 1KW(2U.x, 2U.y);\\2j 1v(3EE, 3ED);\\n}\\n",15B:"1o 15B(7d 1EY, 1o a, 1o b) {\\1r 1rz = 1o(1EY);\\2j a * 1rz + b * (1.0 - 1rz);\\n}\\2u 15B(7d 1EY, 1v a, 1v b) {\\1r 1rz = 1o(1EY);\\2j a * 1rz + b * (1.0 - 1rz);\\n}\\1R 15B(7d 1EY, 1w a, 1w b) {\\1r 1rz = 1o(1EY);\\2j a * 1rz + b * (1.0 - 1rz);\\n}\\1P 15B(7d 1EY, 1m a, 1m b) {\\1r 1rz = 1o(1EY);\\2j a * 1rz + b * (1.0 - 1rz);\\n}\\n",3EC:"1m 3EC(1m 1cx)\\n{\\2j 1m(1.0, 0.0, 0.0, 1.0) * 1cx.x +\\1P(0.0, 1.0, 0.0, 1.0) * 1cx.y +\\1P(0.0, 0.0, 1.0, 1.0) * 1cx.z +\\1P(1.0, 0.0, 1.0, 1.0) * 1cx.w;\\n}\\n",4gr:"2n 1m 2Ui;\\1r 4gr(1m 1cx)\\n{\\2j 2A(2Ui, 1cx);\\n}\\n",2Uh:"2n 5w 2Ug[4];\\1Sg 2Uh(1m 1cx)\\n{\\2j 2Ug[0] * 1cx.x +\\2Uf[1] * 1cx.y +\\2Uf[2] * 1cx.z +\\2Uf[3] * 1cx.w;\\n}\\n",2Ue:"2n 1m 24P[2];\\1P 2Ue(1o 2Ud)\\n{\\1P 3I = 7F(24P[0], 1m(2Ud));\\1P 3W = 7F(2Ud, 24P[1]);\\2j 3I * 3W;\\n}\\n",1nT:"#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 1o 1wb;\\1B 1m 1lR[6];\\1B 1m 1Fc;\\4i 1o 2Uc = 3.0;\\1r 2bl(1w 3h, 1w 1gm, 1o 3EB)\\n{\\2j 2A(1gm, 3h) + 3EB;\\n}\\1r 3Ex(1o 1ry, 1m 14u)\\n{\\1r 3s = 0.0;\\1r 4D = -1.0;\\n#1z 1Xs\\3EA = 2bl(14u.1H, 1lR[0].1H, 1lR[0].w);\\1U (3s < 0.0)\\n{\\2j 1.0;\\n}\\5L if (3s < 1ry)\\n{\\19v = 0.0;\\n}\\n#1s\\14D(7P i = 0; i < 6; i++)\\n{\\3EA = 2bl(14u.1H, 1lR[i].1H, 1lR[i].w);\\1U(3s < 0.0)\\n{\\2j 1.0;\\n}\\5L if(3s < 1ry)\\n{\\19v = 0.0;\\n}\\n}\\n#1u\\2j 4D;\\n}\\1r 3Ey(1o 1ry, 1m 14u)\\n{\\1r 4D = 1.0;\\14D(7P i = 0; i < 6; i++)\\n{\\1r 3s = 2bl(14u.1H, 1lR[i].1H, 1lR[i].w);\\1U((3s + 1ry) < 0.0)\\n{\\2j -1.0;\\n}\\5L if(3s < 0.0)\\n{\\19v = 0.0;\\n}\\n}\\2j 4D;\\n}\\1r 3Ew(1o 1ry, 1m 14u)\\n{\\1r 4D = -1.0;\\14D(7P i = 0; i < 6; i++)\\n{\\1r 3s = 2bl(14u.1H, 1lR[i].1H, 1lR[i].w);\\1U(3s < 0.0)\\n{\\2j -1.0;\\n}\\5L if(3s < 1ry)\\n{\\19v = 0.0;\\n}\\n}\\2j 4D;\\n}\\1P 1nT(1m 14u, 1o 3Ez)\\n{\\1U(3Ez < 0.1)\\n{\\2j 1m(1.0);\\n}\\1U(1wb < 0.5)\\n{\\2j 1m(1.0);\\n}\\n#1z 8p\\1r 1dW = abs(1cu(14u.x));\\1r 1dV = abs(1ct(14u.y));\\1r 1ry = 1V(1dW, 1dV) * 2Uc;\\n#1s\\1r 1ry = 2Uc;\\n#1u\\1r 2Ua = 1.0;\\1U(1Fc.a < 0.11t)\\n{\\5aQ = 0.0;\\n}\\1U(1wb < 1.5)\\n{\\2Ub = 3Ey(1ry, 14u);\\n}\\5L if(1wb < 2.5)\\n{\\2Ub = 3Ex(1ry, 14u);\\n}\\5L if(1wb < 3.5)\\n{\\2Ub = 3Ew(1ry, 14u);\\n}\\1U(2Ua < -0.5)\\n{\\10W;\\n}\\5L if(2Ua < 0.5)\\n{\\2j 1Fc;\\n}\\5L\\n{\\2j 1m(1.0);\\n}\\n}\\n",1Fb:"1m 1Fb(1m 1O9, 1m 3Ev, 1o 6q)\\n{\\1R p = 3T(1O9.1H, 3Ev.1H, 6q);\\2j 1m(p, 1.0);\\n}\\n",1O8:"1m 1O8(1w 15C, 1o 1Xr)\\n{\\1U(1Xr > 0.9)\\n{\\2j 1m(1.0);\\n}\\1R 4X = 1T(11b*1ju(15C));\\1R 4p = 1w(9q * 1m(15C,1.0)).1H;\\2j 1Fa(4X, -4p, 15C);\\n}\\n",2tc:"1m 2tc(1w 3Eu, 1w 15C, 1o 1Xr)\\n{\\1U(1Xr > 0.9)\\n{\\2j 1m(1.0);\\n}\\1R 4X = 1T(11b*1ju(3Eu));\\1R 4p = 1w(9q * 1m(15C,1.0)).1H;\\2j 1Fa(4X, -4p, 15C);\\n}\\n",1ju:"#1z 8p\\n#6A 8p : 5F\\n#1u\\1R 1ju(in 1w 1eQ)\\n{\\1R 2U = 4B(1w(1cu(1eQ.x), 1cu(1eQ.y), 1cu(1eQ.z)), 1w(1ct(1eQ.x), 1ct(1eQ.y), 1ct(1eQ.z)));\\3CX = 1T(2U);\\2j 2U;\\n}\\n",1nS:"1m 1nS();\\n",4gq:"1v 2tb(1o 8f)\\n{\\2u 8r = 1v(6.5aP-1, 0.0);\\1r 11W = (8f < 0.0) ? -1.0 : 1.0;\\1KZ 5S = 1bG(1.0, 11W, -11W, 1.0);\\1bK = 5S * 8r;\\18p -= 11W * 7.5aO-1;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1r 8H = 11W * 5.1Al-1;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 4.5aN-1;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 2.5e-1;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 2.5aM-1;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.25e-1;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5aL-1;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 6.25e-2;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 6.5aK-2;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 3.5aJ-2;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 3.5aI-2;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5aH-2;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5aG-2;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 7.5aF-3;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 7.5aE-3;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 3.5aD-3;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 3.5aC-3;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5aB-3;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5aA-3;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 9.5az-4;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 9.5ay-4;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 4.5ax-4;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 4.5aw-4;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 2.5av-4;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 2.5au-4;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5at-4;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5as-4;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 6.5ar-5;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 6.5aq-5;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 3.5ap-5;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 3.5ao-5;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5an-5;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5am-5;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 7.5al-6;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 7.5ak-6;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 3.5aj-6;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 3.5ai-6;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5ah-6;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5ag-6;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 9.5af-7;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 9.5ae-7;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 4.5ad-7;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 4.5ac-7;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 2.5ab-7;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 2.5aa-7;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5a9-7;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\2j 8r;\\n}\\2u 4gq(1o 8f)\\n{\\1U (8f < -1Sj || 8f > 1Sj)\\n{\\1U (8f < 0.0)\\n{\\2j -2tb(8f + 1eN);\\n}\\5L\\n{\\2j -2tb(8f - 1eN);\\n}\\n}\\5L\\n{\\2j 2tb(8f);\\n}\\n}\\n",1mL:"1v 1mL(1o 1eO)\\n{\\1r 4W = 1eO / 18C.0;\\1r 2U9 = 2t(4W);\\1r 3Et = 2U9 / 2bk.0;\\1r 3Es = (1eO - 2U9 * 18C.0) / 2bk.0;\\2j 1v(3Et, 3Es);\\n}\\n",1wa:"#1bI 10B\\1J 1o 24z;\\n#1u\\1P 1wa(1m 19t)\\n{\\n#1bI 10B\\4go = (0.5 * (19t.z / 19t.w) + 0.5) * 19t.w;\\1xM.z = 2o(19t.z, 19t.w);\\n#1u\\2j 19t;\\n}\\n",1Fa:"XR 1w 3Eq = 1w(0.8);\\4i 1w 3En = 1w(0.0);\\1B 1w 3fb;\\1B 1o 24O;\\1B 1m 1Aj;\\1B 1m 15a;\\1B 1m 2ta;\\1B 1o 2U8;\\4i 1w 16C = 1w(0.5a8);\\4i 1o 2bj = 30.0;\\1r 3Er( in 1o a ) { 1f 2Y( a, 0.0, 1.0 ); }\\1r 1KY( 1o 1up, 1o 1O7, 1o 1Xp ) {\\1U ( 1Xp > 0.0 ) {\\2j 3r( 3Er( 1.0 - 1up / 1O7 ), 1Xp );\\n}\\2j 1.0;\\n}\\n#if 1dY > 0\\1B 1w 24M[1dY];\\1B 1w 1Sr[1dY];\\1B 1w 1w9[1dY];\\n#1u\\n#if 19w > 0\\1B 1w 3fc[ 19w ];\\1B 1w 1Sq[ 19w ];\\1B 1w 24L[ 19w ];\\1B 1w 3fd[ 19w ];\\1B 1o 2t9[ 19w ];\\1B 1m 1p6[ 19w ];\\n#1u\\n#if 1gn > 0\\1B 1w 3fe[ 1gn ];\\1B 1w 24N[ 1gn];\\n#1u\\1P 1Fa(1w 4X, 1w 11E, 1w 15C)\\n{\\1R 3Ee = 1w(0.0);\\1R 3Ed = 1w(0.0);\\1r 3Ep = 1V( 2A( 4X, 1t3 ), 0.0 );\\1r 3Eo = 1V( 2A( 4X, 1w(0.0,0.0,1.0) ), 0.0 );\\2t8 = 3Eq * 3Ep * 24O + 3Eo * 3En;\\1R 2U3 = 1T(11E);\\n#if 1gn > 0\\14D ( 7P i = 0; i < 1gn; i ++ )\\n{\\1R 3Em = 1T((1p3 * 1m(3fe[ i ], 0.0)).1H);\\1r 1Xo = 2A( 4X, 3Em );\\1r 3El = 1V( 1Xo, 0.0 );\\2t8 += 24N[ i ] * 3El;\\n}\\n#1u\\n#if 1dY > 0\\14D ( 7P i = 0; i < 1dY; i ++ )\\n{\\1U(1w9[i].z < 0.17I)\\n{\\1HN;\\n}\\1R 1cL = 24M[i] + 11E;\\1r 2U7 = 1h( 1cL );\\1r 2U6 = 1w9[i].x;\\1U(2U7 > 2U6)\\n{\\1HN;\\n}\\1r 1iM = 1KY( 2U7, 2U6, 1w9[i].y);\\3Ei = 1T( 1cL );\\1r 1Xo = 2A( 4X, 1cL );\\1r 2U4 = 1V( 1Xo, 0.0 );\\2t8 += 1Sr[i] * 2U4 * 1iM;\\1R 2U5 = 1T( 1cL + 2U3 );\\1r 3Ek = 1V( 2A( 4X, 2U5 ), 0.0 );\\1r 3Ej = 1V( 3r( 3Ek, 2bj ), 0.0 );\\1r 2t6 = ( 2bj + 2.0 ) / 8.0;\\1R 2t7 = 16C + 1w( 1.0 - 16C ) * 3r( 1V( 1.0 - 2A( 1cL, 2U5 ), 0.0 ), 5.0 );\\3Eg += 2t7 * 1Sr[ i ] * 3Ej * 2U4 * 1iM * 2t6;\\n}\\n#1u\\n#if 19w > 0\\1R 6K = (1Cp * 1m(15C, 1.0)).1H;\\14D ( 7P i = 0; i < 19w; i ++ )\\n{\\1U(1p6[i].w < 0.17I)\\n{\\1HN;\\n}\\1R 1cL = 24L[i] + 11E;\\1r 1iM = 1KY( 1h( 1cL ), 1p6[i].x, 1p6[i].y);\\3Ei = 1T( 1cL );\\1r 1Ak = 2A( 3fd[ i ], 1T( 3fc[ i ] - 6K ) );\\1U ( 1Ak > 1p6[i].z ) {\\5a7 = 1V( 3r( 1V( 1Ak, 0.0 ), 2t9[ i ] ), 0.0 );\\1r 1Xo = 2A( 4X, 1cL );\\1r 2U1 = 1V( 1Xo, 0.0 );\\2t8 += 1Sq[ i ] * 2U1 * 1iM * 1Ak;\\1R 2U2 = 1T( 1cL + 2U3 );\\1r 3Eh = 1V( 2A( 4X, 2U2 ), 0.0 );\\1r 3Ef = 1V( 3r( 3Eh, 2bj ), 0.0 );\\1r 2t6 = ( 2bj + 2.0 ) / 8.0;\\1R 2t7 = 16C + 1w( 1.0 - 16C ) * 3r( 1V( 1.0 - 2A( 1cL, 2U2 ), 0.0 ), 5.0 );\\3Eg += 2t7 * 1Sq[ i ] * 3Ef * 2U1 * 1iM * 2t6 * 1Ak;\\n}\\n}\\n#1u\\1P 1A = 1m(15a.2y * (3Ee + 3fb * 1Aj.2y) + 3Ed, 15a.a);\\2j 1A;\\n}\\n",1Sp:"14j 1Sp(1w 15C, 1w 4X)\\n{\\1R 3Ec = 1T(1w(-15C.y, 15C.x, 0.0));\\1R 1X7 = 1T(1Xn * 3Ec);\\1R 2b0 = 1T(4B(4X, 1X7));\\2j 14j(\\5a6.x,   1X7.y,   1X7.z,\\5a5.x, 2b0.y, 2b0.z,\\1rx.x,    4X.y,    4X.z);\\n}\\n",4gn:"7d 4gn(1w 1Cg, 1w 7v)\\n{\\1R 2t5 = 1Cg * (1Xe * 1m(7v, 1.0)).1H;\\2j (2A(2t5, 2t5) <= 1.0);\\n}\\n",4gm:"1Xh 4gm(1w 2V, 1w 10N)\\n{\\1R 1Ch = 1w(1.0 / 10N.x, 1.0 / 10N.y, 1.0 / 10N.z);\\1R 2b4 = 1Ch * 1Ch;\\3DG 4W = 1Xh(2V, 10N, 1Ch, 2b4);\\2j 4W;\\n}\\n",2bh:"1v 2bh(1w 2U)\\n{\\2j 1v(16D(2U.y, 2U.x) * 3eY + 0.5, 17M(2U.z) * 3eZ + 0.5);\\n}\\n",1dX:"7d 1dX(1m 3B, 1m 2W, 1o 1fk) {\\2j all(1Xm(abs(3B - 2W), 1m(1fk)));\\n}\\166 1dX(1w 3B, 1w 2W, 1o 1fk) {\\2j all(1Xm(abs(3B - 2W), 1w(1fk)));\\n}\\166 1dX(1v 3B, 1v 2W, 1o 1fk) {\\2j all(1Xm(abs(3B - 2W), 1v(1fk)));\\n}\\166 1dX(1o 3B, 1o 2W, 1o 1fk) {\\2j (abs(3B - 2W) <= 1fk);\\n}\\n",1F9:"2n 2v 2FV;\\1B 1o 3f8;\\1B 1m 3f9;\\1J 1m 1rw;\\2u 3E9(1m 6v, 1m 1mK, 9H 1o 2bg)\\n{\\2u 1Co = 1v(1mK.z - 1mK.x, 1mK.w - 1mK.y);\\2u 4M = 1v(6v.x - 1mK.x, 6v.y - 1mK.y);\\1So.x = 4M.x / 1Co.x;\\1So.y = 4M.y / 1Co.y;\\5a4 = 7F(0.0, 4M.x) * 7F(0.0, 4M.y) * 7F(0.0, 1.0 - 4M.x) * 7F(0.0, 1.0 - 4M.y);\\1So = 2Y(4M, 1v(0.0), 1v(1.0));\\2j 4M;\\n}\\166 1F9()\\n{\\1r 2U0 = 1.0;\\2u 2TY = 3E9(1rw, 3f9, 2U0);\\166 2TZ = (3f8 < 0.5);\\1U(2U0 < 0.1)\\n{\\2j !2TZ;\\n}\\1U(2TZ)\\n{\\2j 1Y(2FV, 2TY.xy).r > 0.5;\\n}\\5L\\n{\\2j 1Y(2FV, 2TY.xy).r < 0.5;\\n}\\n}\\n",2FU:"1m 2FU(1m 4p, 1w 19V)\\n{\\1P p = 4p;\\1P 2TX = 1T(p) * 19V.z;\\np.xy += 19V.xy + 2TX.xy;\\np.z += 2TX.z;\\2j p;\\n}\\n",18a:"1m 18a(1m 4p)\\n{\\1P q = 17B * 4p;\\nq.1H /= q.w;\\nq.1H = (1Sd * 1m(q.1H, 1.0)).1H;\\2j q;\\n}\\n",1KW:"1o 1KW(1o x) {\\2j x * (-0.4gi * x - 0.4gh * x * x + 1.4gg);\\n}\\1r 1KW(1o x, 1o y) {\\1r t = abs(x);\\1r 2bf = abs(y);\\1r 3E8 = 1V(t, 2bf);\\5a3 = 2o(t, 2bf);\\nt = 1KW(2bf / 3E8);\\nt = 15B(abs(y) > abs(x), 1Sj - t, t);\\nt = 15B(x < 0.0, 1eN - t, t);\\nt = 15B(y < 0.0, -t, t);\\2j t;\\n}\\n",2ju:"1w 2ju(1o 1w8, 1w 1A, 1w 1xR)\\n{\\1r 1iL = 1w8 * 3f7;\\1r 1ep = 1.0 - 108(-(1iL * 1iL));\\2j 3T(1A, 1xR, 1ep);\\n}\\1R 2ju(1o 1w8, 1w 1A, 1w 1xR, 1o 2t4)\\n{\\1r 1iL = 1w8 * 3f7;\\1r 1ep = 1.0 - 108(-((2t4 * 1iL + 2t4) * (1iL * (1.0 + 2t4))));\\2j 3T(1A, 1xR, 1ep);\\n}\\n",9D:"1w 9D(1w 1A) {\\n#1z 1js\\6p = 3r(1A, 1w(2FS));\\n#1u\\2j 1A;\\n}\\1P 9D(1m 1A) {\\n#1z 1js\\6p.2y = 3r(1A.2y, 1w(2FS));\\n#1u\\2j 1A;\\n}\\n",2be:"1w 2be(1w 3E7, 1w 1Ah, 1w 3E5)\\n{\\2j 1T((3E7 - 1Ah) * 3E5);\\n}\\n",1bi:"1Ad 1bi(1cK 5y)\\n{\\10I 2q;\\10H.8t = 1w(0.0);\\10H.16C = 0.0;\\10H.1rk = 1.0;\\10H.2U = 5y.4X;\\10H.17Y = 1w(0.0);\\10H.2O = 1.0;\\2j 2q;\\n}\\n",2t3:"2n 1o 3f6;\\1B 1m 3f5;\\1r 3E4(1o 14M)\\n{\\1r 1mJ = 3f6;\\1r 1dW = abs(1cu(14M));\\1r 1dV = abs(1ct(14M));\\1r dF = 1V(1dW, 1dV);\\2j (abs(1mJ-14M) < dF) ? 1.0 : 0.0;\\n}\\1P 2t3(1m 1cv, 1o 14M)\\n{\\1r 17Z = 3E4(14M);\\2j 3T(1cv,3f5, 17Z);\\n}\\n",1KV:"2n 2v 1kS;\\1B 2v 1p5;\\1B 1o 1jr;\\1B 1o 1t1;\\1B 1m 1hA;\\1B 1o 16R;\\1B 1o 1dw;\\1B 1o 1kT;\\1B 1o 1fO;\\1B 1o 1jq;\\1B 1o 1kQ;\\1J 1v 2bc;\\1B 1o 24K;\\1B 1m 1Sm;\\n#1z 1Cj\\1J 1w 2t2;\\1B 1o 1Sn;\\1B 1o 2js;\\1B 1o 3f4;\\n#1u\\n#1z 1Xl\\1B 1o 1Sn;\\1B 1o 2js;\\1B 1o 1rr;\\n#1u\\1r 1k4(1o 14M)\\n{\\1r 1mJ = 13R(14M - 0.2jt, 1t1);\\1r 1dW = abs(1cu(14M));\\1r 1dV = abs(1ct(14M));\\1r dF = 1V(1dW, 1dV);\\2j (1mJ < dF) ? 1.0 : 0.0;\\n}\\1P 1fj(1o 14M)\\n{\\1r 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\1r 1i5 = (14M - 1dw) / 19U;\\1r 1eP = 2Y(1i5, 0.0, 1.0);\\1r 7Z = 2t(1eP * 16.0);\\1r y = (7Z*2.0 + 1.0)/32.0;\\1r x = 8N(1eP*16.0);\\1U(y > 1.0)\\n{\\nx = 1.0;\\n}\\2u 1kR = 1v(x, y);\\2j 1Y(1kS, 1kR).15A;\\n}\\n#1z 1Xl\\1P 2bb(1m 1cv, 1m 1rv)\\n{\\1U(1rr > 0.5)\\n{\\1P 1bJ = 1rv * 1cv;\\1U(24K > 0.5)\\n{\\1un = 1rv;\\n}\\2j 1bJ;\\n}\\1P 1aA = 1m(0.0);\\1r 17Z = 1jr;\\1r 1mI = 1rv.a;\\1r 2t1 = 2Y(2sS(1rv.3E2),0.0,1.0);\\1r 14M;\\1U(1mI > 0.5)\\n{\\2bd = 1Sn + 2t1 * (2js - 1Sn);\\n}\\5L\\n{\\2bd = 1fO + 1.0;\\n}\\1U(14M > 1fO || 14M < 1jq)\\n{\\2j 1Sm * 1cv;\\n}\\n#1z 8p\\1U(16R > 2.9)\\n{\\1r 1uo = 1k4(14M);\\1Cm = 3T(1fj(14M), 1hA, 1uo);\\n}\\5L if(16R > 1.9)\\n{\\1Cl = 1k4(14M);\\1Cm = 1hA;\\n}\\5L if(16R > 0.9)\\n#1s\\1U(16R > 0.9)\\n#1u\\n{\\1Cm = 1fj(14M);\\n}\\5L\\n{\\1Cl = 0.0;\\n}\\1P 1gW = 3T(1m(1.0,1.0,1.0,1.0), 1aA, 17Z);\\1P 1bJ = 1gW * 1cv;\\n#1z 2t0\\1un = 1gW;\\n#1u\\1U(24K > 0.5)\\n{\\1un = 1gW;\\n}\\2j 1bJ;\\n}\\n#1s\\1P 2bb(1m 1cv, 1o 14M)\\n{\\1P 1aA = 1m(0.0);\\1r 17Z = 1jr;\\n#1z 1Cj\\1R 1Cn = 2t2;\\1U((1Cn.x < 1.0 && 1Cn.x >0.0) && (1Cn.y < 1.0 && 1Cn.y >0.0) && (1Cn.z < 1.0 && 1Cn.z >0.0))\\n{\\1U(3f4 > 0.5)\\n{\\1P 1O2 = 3DP(1Cn);\\1U(24K > 0.5)\\n{\\2TW = 1O2 * 1cv;\\n}\\2j 1O2;\\n}\\1r 1mI;\\1r 2t1 = 2b8(1Cn, 1mI);\\1U(1mI > 0.5)\\n{\\2bd = 1Sn + 2t1 * (2js - 1Sn);\\n}\\5L\\n{\\2bd = 1fO + 1.0;\\n}\\n}\\5L\\n{\\2bd = 1fO + 1.0;\\n}\\n#1u\\1U(14M > 1fO || 14M < 1jq)\\n{\\2j 1Sm * 1cv;\\n}\\n#1z 8p\\1U(16R > 2.9)\\n{\\1r 1uo = 1k4(14M);\\1Cm = 3T(1fj(14M), 1hA, 1uo);\\n}\\5L if(16R > 1.9)\\n{\\1Cl = 1k4(14M);\\1Cm = 1hA;\\n}\\5L if(16R > 0.9)\\n#1s\\1U(16R > 0.9)\\n#1u\\n{\\1Cm = 1fj(14M);\\n}\\5L\\n{\\1Cl = 0.0;\\n}\\1P 1gW = 3T(1m(1.0,1.0,1.0,1.0), 1aA, 17Z);\\1P 1bJ = 3T(1cv, 1aA, 17Z);\\n#1z 2t0\\1un = 1gW;\\n#1u\\n#1z 1Cj\\1U(24K > 0.5)\\n{\\1un = 1gW;\\n}\\n#1u\\2j 1bJ;\\n}\\n#1u\\n#1z 1Xl\\1P 1KV(1m 1cv, 1m 1rv)\\n{\\1U(1kQ > 0.1)\\n{\\1P 1p4 = 1Y(1p5, 2bc);\\1U(1p4.r < 0.1)\\n{\\2j 1cv;\\n}\\n}\\2j 2bb(1cv, 1rv);\\n}\\n#1s\\1P 1KV(1m 1cv, 1o 1bh)\\n{\\1r 14M = 1bh;\\1U(1kQ > 0.1)\\n{\\1P 1p4 = 1Y(1p5, 2bc);\\1U(1p4.r < 0.1)\\n{\\2j 1cv;\\n}\\n}\\2j 2bb(1cv, 14M);\\n}\\1P 5a2(1m 1cv, 1o 1bh, 1m 1Sl, 1v 6r, 1m 1rt)\\n{\\1U(1kQ > 0.1)\\n{\\2u 8G = 6r.xy;\\1ru.x = 8G.x * (1rt.z - 1rt.x) + 1rt.x;\\1ru.y = 8G.y * (1rt.w - 1rt.y) + 1rt.y;\\1U(8G.x < 1Sl.x || 8G.x>1Sl.z || 8G.y< 1Sl.y || 8G.y > 1Sl.w)\\n{\\2j 1cv;\\n}\\1P 1p4 = 1Y(1p5, 8G);\\1U(1p4.r < 0.1)\\n{\\2j 1cv;\\n}\\n}\\2j 2bb(1cv, 1bh);\\n}\\n#1u\\n",1Ca:"1o 1Ca(1w 1jo, 1w 4X)\\n{\\2j 1V(2A(1jo, 4X), 0.0);\\n}\\n",24B:"1o 24B(1w 1jo, 1w 2sI, 1w 4X, 1o 1rk)\\n{\\1R 3E1 = 1Ck(-1jo, 4X);\\1r 16C = 1V(2A(3E1, 2sI), 0.0);\\2j 3r(16C, 1V(1rk, 3f3));\\n}\\n",2jr:"2n 1v 2jq;\\2s 5a1(in 1v 1O5, in 1o 2TV, in 1o 3E0, 1du 1o 1dU)\\n{\\2u dx = 1cu(1O5 * 2TV);\\2u dy = 1ct(1O5 * 2TV);\\1r 2TU = 2A(dx, dx);\\1r 2TT = 2A(dy, dy);\\1r 2sZ = 1V(2TU, 2TT);\\1r 2sY = 2o(2TU, 2TT);\\1r 2M = (2sZ - 2sY) / (2sZ + 2sY);\\1Xk = 2Y(2M, 0.0, 1.0);\\1r d = 2sZ * (1.0 - 2M) + 2sY * 2M;\\1O6 = 0.5 * 1iK(d);\\1O6 = 2Y(1dU, 0.0, 3E0 - 1.62);\\n}\\2s 5a0(in 1w 1O5, in 1o 3b, in 1o 2TP, in 1o 2TO, in 1o 3DZ, in 1o 1dU, 1du 1v 1w7)\\n{\\1U(1O5.z < -2ss.0)\\n{\\1Xi = 1O5.xy;\\n}\\5L\\n{\\2u 2sX = 8N(1O5.xy);\\1r 2M = 1.0 * 3r(2.0, 1dU) / 3DZ;\\59Z = 2Y(2sX, 2M, 1.0 - 2M);\\1Xi.x = (2sX.x + 2TP) * 3b;\\1Xi.y = (2sX.y + 2TO) * 3b;\\n}\\n}\\1P 2jr(2v 1O4, 1w 1Xj, 1o 2TS, 1o 3DY, 1o 2b9, 1v 2ba,1o 2TN, 9H 1v 1w7)\\n{\\1P 1A = 1m(1.0);\\1r 1dU = 0.0;\\n#1z 8p\\59Y(1Xj.xy, 2TS, 3DY, 1dU);\\n#1u\\2u 18U;\\59X(1Xj, 2b9, 2ba.x, 2ba.y, 2TS, 1dU, 18U);\\1U(2TN > 0.5)\\n{\\2u 2sW;\\2TR.x = (18U.x + 2ba.x * 2b9) * 0.5;\\2TR.y = (18U.y + 2ba.y * 2b9) * 0.5;\\2TR.xy += 2jq;\\6p = 1Y(1O4, 2sW.xy, -10.0);\\2u 3DX;\\2TQ.x = 2sW.x;\\2TQ.y = 2sW.y + 2b9 * 0.5;\\2TQ.xy += 2jq;\\6p.a = 1Y(1O4, 3DX.xy, -10.0).r;\\n}\\5L\\n{\\59W.xy += 2jq;\\1U(1Xj.z < -2ss.0)\\n{\\6p = 1Y(1O4, 18U.xy);\\n}\\5L\\n{\\n#1z 2jp\\6p = 59V(1O4, 18U.xy, 1dU);\\n#1s\\n#1z 4gf\\6p = 59U(1O4, 18U.xy, 1dU);\\n#1s\\6p = 1Y(1O4, 18U.xy, 1dU);\\n#1u\\n#1u\\n}\\n#1z 2sV\\6p = 1A.59T;\\n#1u\\n}\\1Xi = 18U;\\2j 1A;\\n}\\n",2FT:"XR 1o 16P = 256.0;\\4i 1o 16s = 1.0 / 256.0;\\4i 1o 3DW = 1.0 / 16.0;\\4i 1o 3DV = 16.0;\\2s 2FT(in 1o nZ, 1du 1o 2TP, 1du 1o 2TO, 1du 1o 3b, 1du 1o 2TN)\\n{\\1U(nZ <= 0.0)\\n{\\2j;\\n}\\1r 2sU = 2t(nZ * 16s);\\1r 2sT = 2t(2sU * 16s);\\1r 2TM = 2t(2sT * 3DW);\\59S = 2t(2TM);\\59R = nZ - 2sU * 16P;\\59Q = 2sU - 2sT * 16P;\\1r 3DT = 2sT - 2TM * 3DV;\\3DU = 1.0 / 3r(2.0, 3DT);\\n}\\n",2b8:"2n 2v 1KU;\\n#1z 2TH\\1B 2v 3f2;\\1B 1o 3f1;\\n#1u\\n#1z 1Cj\\1B 1o 1G;\\1B 1o 1D;\\1B 1o 4e;\\1B 1o 1um;\\1B 1o 1HM;\\1B 1o 1HL;\\1B 1o 1rr;\\n#1u\\1r 2sS(1w 2sv)\\n{\\2j 2A(2sv, 1w(1.0, 1.0 / 255.0, 1.0 / 1C7.0));\\n}\\n#1z 1Cj\\2u 2TI(1w 4M, 1o 1Ci)\\n{\\1r 1rs = 2t((1Ci+0.25/1um) / 1um);\\1r 1qc = 1Ci - 1rs * 1um;\\1r 3DR = (4M.y * 1D + 1rs * 1HM) / 1HL;\\1r 3DS = (4M.x * 1G + 1qc * 1HM) / 1HL;\\2j 1v(3DS, 3DR);\\n}\\1r 2TG(2v 2TL, 1v 2b7, 1v 2b6, 1o 1iJ, 9H 1o 1mI)\\n{\\1P 2sR = 1Y(2TL, 2b7);\\1P 2sQ = 1Y(2TL, 2b6);\\1r 2TK = 2Y(2sS(2sR.1H),0.0,1.0);\\1r 2TJ = 2Y(2sS(2sQ.1H),0.0,1.0);\\1U(1rr >0.5)\\n{\\1U(1iJ<0.5)\\n{\\2sP = 0.0;\\n}\\5L\\n{\\2sP = 1.0;\\n}\\n}\\59P = 3T(2sR.a, 2sQ.a, 1iJ);\\1U(2sR.a < 0.5)\\n{\\59O = 2TJ;\\n}\\1U(2sQ.a < 0.5)\\n{\\59N = 2TK;\\n}\\2j 3T(2TK, 2TJ, 1iJ);\\n}\\1r 2b8(1w 4M, 9H 1o 1mI)\\n{\\1r 1Ci = (4e - 1.0) * 4M.z;\\1r 1O3= 2t(1Ci);\\1r 1i4 = 1O3 + 1.0;\\1r 1iJ = 1i4 - 1Ci;\\2u 2b7 = 2TI(4M, 1i4);\\2u 2b6 = 2TI(4M, 1O3);\\1r 2TF = 2TG(1KU, 2b7, 2b6, 1iJ, 1mI);\\n#1z 2TH\\1r 3DQ = 2TG(3f2, 2b7, 2b6, 1iJ, 1mI);\\59M = 3T(2TF, 3DQ, 3f1);\\n#1u\\2j 2TF;\\n}\\1P 3DP(1w 4M)\\n{\\1r 1Ci = (4e - 1.0) * 4M.z;\\1r 1O3= 2t(1Ci);\\1r 1i4 = 1O3 + 1.0;\\1r 1iJ = 1i4 - 1Ci;\\1r 2TE = 2t((1i4+0.25/1um) / 1um);\\1r 3DO = 1i4 - 2TE * 1um;\\1r 3DM = (4M.y * 1D + 2TE * 1HM)/1HL;\\1r 3DN = (4M.x * 1G + 3DO * 1HM)/1HL;\\1P 3DI = 1Y(1KU, 1v(3DN,3DM));\\1r 2TD = 2t((1O3+0.25/1um) / 1um);\\1r 3DL = 1O3 - 2TD * 1um;\\1r 3DJ = (4M.y * 1D + 2TD * 1HM)/1HL;\\1r 3DK = (4M.x * 1G + 3DL * 1HM)/1HL;\\1P 3DH = 1Y(1KU, 1v(3DK, 3DJ));\\1U(1rr >0.5)\\n{\\1U(1iJ<0.5)\\n{\\2sP = 0.0;\\n}\\5L\\n{\\2sP = 1.0;\\n}\\n}\\1P 1O2 = 3T(3DI, 3DH, 1iJ);\\2j 1O2;\\n}\\n#1u\\n",2jo:"1m 2jo(2v 1KT, 1v uv, 1o 6q, 1o 2TC)\\n{\\1r 1ai = 3i(2TC);\\1r 1gV = 2T(2TC);\\2u s0 = 1v(1.0/17.0, 0.0);\\2u s1 = 1v(-1.0/29.0, 0.0);\\2u s2 = 1v(1.0/101.0, 1.0/59.0);\\2u s3 = 1v(-1.0/109.0, -1.0/57.0);\\1O1 = 1v((1ai * s0.x) - (1gV * s0.y), (1gV * s0.x) + (1ai * s0.y));\\59L = 1v((1ai * s1.x) - (1gV * s1.y), (1gV * s1.x) + (1ai * s1.y));\\59K = 1v((1ai * s2.x) - (1gV * s2.y), (1gV * s2.x) + (1ai * s2.y));\\59J = 1v((1ai * s3.x) - (1gV * s3.y), (1gV * s3.x) + (1ai * s3.y));\\2u 2jn = (uv/103.0) + (6q * s0);\\2u 2b5 = uv/107.0 + (6q * s1) + 1v(0.23);\\2u 1O0 = uv/1v(897.0, 983.0) + (6q * s2) + 1v(0.51);\\2u 1NZ = uv/1v(991.0, 877.0) + (6q * s3) + 1v(0.71);\\59I = 8N(2jn);\\59H = 8N(2b5);\\59G = 8N(1O0);\\59F = 8N(1NZ);\\1P 1ul = (1Y(1KT, 2jn)) +\\n(1Y(1KT, 2b5)) +\\n(1Y(1KT, 1O0)) +\\n(1Y(1KT, 1NZ));\\2j ((1ul / 4.0) - 0.5) * 2.0;\\n}\\n",2TB:"1Xh 2TB()\\n{\\1R 10N = 1w(16t.0, 16t.0, 16t.0);\\1R 1Ch = 1w(1.0 / 10N.x, 1.0 / 10N.y, 1.0 / 10N.z);\\1R 2b4 = 1Ch * 1Ch;\\3DG 4W = 1Xh(1p3[3].1H, 10N, 1Ch, 2b4);\\2j 4W;\\n}\\n",24T:"XR 1m 2ch = 1m(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\1R 24T(1w 1fQ)\\n{\\1R p = abs(8N(1fQ.2Go + 2ch.1H) * 6.0 - 2ch.10y);\\2j 1fQ.z * 3T(2ch.2Go, 2Y(p - 2ch.2Go, 0.0, 1.0), 1fQ.y);\\n}\\n",3gq:"1w 3Hl(1o 1lQ)\\n{\\1r r = abs(1lQ * 6.0 - 3.0) - 1.0;\\1r g = 2.0 - abs(1lQ * 6.0 - 2.0);\\1r b = 2.0 - abs(1lQ * 6.0 - 4.0);\\2j 2Y(1w(r, g, b), 0.0, 1.0);\\n}\\1R 3gq(1w 1OB)\\n{\\1R 2y = 3Hl(1OB.x);\\1r c = (1.0 - abs(2.0 * 1OB.z - 1.0)) * 1OB.y;\\2j (2y - 0.5) * c + 1OB.z;\\n}\\n",2jm:"1w 2jm(1w 2y, 1o 2sC)\\n{\\4i 14j 3DF = 14j(0.299,     0.587,     0.114,\\n0.59E, -0.59D, -0.59C,\\n0.59B, -0.59A,  0.59z);\\4i 14j 3DE = 14j(1.0,  0.59y,  0.59x,\\n1.0, -0.59w, -0.59v,\\n1.0, -1.107,   1.59u);\\1R 1HK = 3DF * 2y;\\1r 1lQ = 16D(1HK.z, 1HK.y) + 2sC;\\1r 2TA = 3Y(1HK.z * 1HK.z + 1HK.y * 1HK.y);\\1R 1A = 1w(1HK.x, 2TA * 3i(1lQ), 2TA * 2T(1lQ));\\2j 3DE * 1A;\\n}\\n",1Xg:"1w 1Xg(1w 1A) {\\2j 3r(1A, 1w(1.0 / 2FS));\\n}\\n",2sO:"7d 2sO(1nQ 18B)\\n{\\2j (18B.4U < 0.0);\\n}\\n",4ge:"7d 4ge(1nQ 18B)\\n{\\2j (18B.4I == 0.0 && 18B.4U == 1Af);\\n}\\n",3f0:"1o 3f0(1o 4k, 1o 2sN, 1o 2sM)\\n{\\1r 2Tz = 2T(4k);\\1r 3DD = 0.5 * 7k((1.0 + 2Tz) / (1.0 - 2Tz));\\2j (3DD - 2sN) * 2sM;\\n}\\n",1Ag:"1o 1Ag(1v 1rq, 1v 1Xf, 1v 7v) {\\2j abs((1Xf.y - 1rq.y) * 7v.x - (1Xf.x - 1rq.x) * 7v.y + 1Xf.x * 1rq.y - 1Xf.y * 1rq.x) / 3s(1Xf, 1rq);\\n}\\n",2Ty:"1o 2Ty(1w 2y)\\n{\\4i 1w W = 1w(0.1NX, 0.1KS, 0.1NW);\\2j 2A(2y, W);\\n}\\n",1dv:"1o 1dv(1m 4p, 1o 13S)\\n{\\1r 1G = 9e.z;\\1r 1D = 9e.w;\\1r 2sL;\\1r 3Dy;\\1r 5C = 1q9.x;\\1r 7b = 1q9.y;\\1r 3B = 1q9.z;\\1r 2W = 1q9.w;\\1U (1kO == 1HG || 4gd == 1.0)\\n{\\1r 3DC = 2W - 3B;\\1r 3DB = 5C - 7b;\\3Dz = 3DC / 1G;\\3DA = 3DB / 1D;\\n}\\5L\\n{\\1r 2Tw = -4p.z;\\1r 2Tx = 1.0 / 18z.x;\\1r 2Tv = 5C * 2Tx;\\3DA = 2.0 * 2Tw * 2Tv / 1D;\\59s = 2W * 2Tx;\\3Dz = 2.0 * 2Tw * 2Tv / 1G;\\n}\\2j 1V(2sL, 3Dy) * 13S;\\n}\\1r 1dv(1m 4p)\\n{\\2j 1dv(4p, 1gU);\\n}\\n",4gc:"1m 4gc(1m 1K)\\n{\\1P q = 11o * 1K;\\nq.1H /= q.w;\\nq.1H = (1Sd * 1m(q.1H, 1.0)).1H;\\2j q;\\n}\\n",4ga:"1w 4ga(1w 3B, 1w 2W)\\n{\\4i 1w W = 1w(0.1NX, 0.1KS, 0.1NW);\\1R 15s = 3B * 2W;\\1r 3Dx = 2A(3B, W);\\1r 3Dw = 2A(2W, W);\\1r 3Dv = 2A(15s, W);\\2j ((3Dx + 3Dw) / (2.0 * 3Dv)) * 15s;\\n}\\n",1Sk:"1o 1Sk(1m 1HJ, 1o 3Du)\\n{\\1r 3Ds = 1HJ.y;\\1r 3Dr = 1HJ.w;\\1r 2Tu = 1HJ.x * 1HJ.x;\\1r 3Dt = 1HJ.z * 1HJ.z;\\1r t = (3Du - 2Tu) / (3Dt - 2Tu);\\nt = 3r(2Y(t, 0.0, 1.0), 0.2);\\2j 3T(3Ds, 3Dr, t);\\n}\\n",1gT:"1w 1gT(1v 1eO, 1o 11D)\\n{\\1U (1eO.x == 0.0 && 1eO.y == 0.0) {\\2j 1w(0.0, 0.0, 0.0);\\n}\\59r = 1eO / 11D * 2.0 - 1.0;\\1R v = 1w(1eO.x, 1eO.y, 1.0 - abs(1eO.x) - abs(1eO.y));\\1U (v.z < 0.0)\\n{\\nv.xy = (1.0 - abs(v.yx)) * 1lO(v.xy);\\n}\\2j 1T(v);\\n}\\1R 1gT(1v 1eO)\\n{\\2j 1gT(1eO, 255.0);\\n}\\1R 1gT(1o 1eO)\\n{\\1r 4W = 1eO / 256.0;\\1r x = 2t(4W);\\1r y = (4W - x) * 256.0;\\2j 1gT(1v(x, y));\\n}\\2s 1gT(1v 1eO, 9H 1w 59q, 9H 1w 59p, 9H 1w 59o)\\n{\\1r 4W = 1eO.x / 12v.0;\\1r x = 2t(4W);\\1r 3Dq = (4W - x) * 12v.0;\\15L = 1eO.y / 12v.0;\\1r y = 2t(4W);\\1r 3Dp = (4W - y) * 12v.0;\\59n = 1gT(3Dq);\\59m = 1gT(3Dp);\\59l = 1gT(1v(x, y));\\n}\\n",1lP:"1m 1lP(1o 4e)\\n{\\1P 2sK = 1m(1.0, 255.0, 1C7.0, 2FP.0) * 4e;\\3Do = 8N(2sK);\\3Do -= 2sK.59i * 1m(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\\2j 2sK;\\n}\\n",2sJ:"1m 2sJ(1o 1Q)\\n{\\1r 16P = 256.0;\\1r 16s = 1.0 / 256.0;\\1P 4D;\\19v.a = 255.0;\\1r 1NY = abs(1Q + 2ss.0) * 16s;\\19v.b = (1NY - 2t(1NY)) * 16P;\\59h = 2t(1NY) * 16s;\\19v.g = (1NY - 2t(1NY)) * 16P;\\19v.r = 2t(1NY);\\19v /= 255.0;\\2j 4D;\\n}\\n",1nR:"1o 2sH(1w 1jo, 1Ad 2q)\\n{\\2j 1Ca(1jo, 2q.2U);\\n}\\1r 2Tt(1w 1jo, 1w 2sI, 1Ad 2q)\\n{\\2j 24B(1jo, 2sI, 2q.2U, 2q.1rk);\\n}\\1P 1nR(1w 1HD, 1Ad 2q, 1w 1jo)\\n{\\1r 8t = 2sH(1w(0.0, 0.0, 1.0), 2q);\\1U (1kO == 1F3) {\\2Te += 2sH(1w(0.0, 1.0, 0.0), 2q);\\n}\\1r 16C = 2Tt(1jo, 1HD, 2q);\\1R 1X6 = 2q.8t * 0.5;\\1R 18A = 1X6;\\1R 1A = 18A + 2q.17Y;\\6p += 1X6 * 8t * 1NT;\\6p += 2q.16C * 16C * 1NT;\\2j 1m(1A, 2q.2O);\\n}\\1P 59g(1w 1HD, 1Ad 2q, 1w 1jo)\\n{\\1r 8t = 2sH(1jo, 2q);\\1r 16C = 2Tt(1jo, 1HD, 2q);\\1R 18A = 1w(0.0);\\1R 1A = 18A + 2q.17Y;\\6p += 2q.8t * 8t * 1NT;\\6p += 2q.16C * 16C * 1NT;\\2j 1m(1A, 2q.2O);\\n}\\n",17c:"1o 17c(1m 12w, 1w 7v) {\\2j (2A(12w.1H, 7v) + 12w.w);\\n}\\1r 17c(1w 1gm, 1o 2sG, 1w 7v) {\\2j (2A(1gm, 7v) + 2sG);\\n}\\n",24I:"1w 24I(1F5 11j, 1o 6q)\\n{\\2j 11j.9X + (6q * 11j.2G);\\n}\\n",2b3:"1nQ 2b3(1F5 11j, 1w 1Xd, 1w 1Cg)\\n{\\1R q = 1Cg * (1Xe * 1m(11j.9X, 1.0)).1H;\\1R w = 1Cg * (1Xe * 1m(11j.2G, 0.0)).1H;\\nq = q - 1Cg * (1Xe * 1m(1Xd, 1.0)).1H;\\1r q2 = 2A(q, q);\\1r qw = 2A(q, w);\\1U (q2 > 1.0)\\n{\\1U (qw >= 0.0)\\n{\\2j 2sF;\\n}\\5L\\n{\\1r 2Ts = qw * qw;\\1r 1Xc = q2 - 1.0;\\1r w2 = 2A(w, w);\\1r 1Xb = w2 * 1Xc;\\1U (2Ts < 1Xb)\\n{\\2j 2sF;\\n}\\5L if (2Ts > 1Xb)\\n{\\1r 1xQ = qw * qw - 1Xb;\\1r 4W = -qw + 3Y(1xQ);\\1r 1Sh = 4W / w2;\\1r 1Si = 1Xc / 4W;\\1U (1Sh < 1Si)\\n{\\1F4 i = 1nQ(1Sh, 1Si);\\2j i;\\n}\\5L\\n{\\1F4 i = 1nQ(1Si, 1Sh);\\2j i;\\n}\\n}\\5L\\n{\\1r 1ro = 3Y(1Xc / w2);\\1F4 i = 1nQ(1ro, 1ro);\\2j i;\\n}\\n}\\n}\\5L if (q2 < 1.0)\\n{\\1r 1Xc = q2 - 1.0;\\1r w2 = 2A(w, w);\\1r 1Xb = w2 * 1Xc;\\1r 1xQ = qw * qw - 1Xb;\\1r 4W = -qw + 3Y(1xQ);\\1F4 i = 1nQ(0.0, 4W / w2);\\2j i;\\n}\\5L\\n{\\1U (qw < 0.0)\\n{\\1r w2 = 2A(w, w);\\1F4 i = 1nQ(0.0, -qw / w2);\\2j i;\\n}\\5L\\n{\\2j 2sF;\\n}\\n}\\n}\\n",1Ae:"1o 1Ae(2v 8X, 1v 1HE)\\n{\\2j 1rn(1Y(8X, 1HE).r);\\n}\\n",1rn:"1o 1rn(1o 1w6)\\n{\\n#1z 10B\\1r 3I = 18z.x;\\1r 3W = 18z.y;\\1r 1gS = 1w6 * 3eP;\\1r 2sr = 3r(2.0, 1gS) - 1.0;\\2j 3W * (1.0 - 3I / (2sr + 3I)) / (3W - 3I);\\n#1u\\2j 1w6;\\n}\\n",24U:"XR 1m 2VQ = 1m(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\1R 24U(1w 2y)\\n{\\1P p = 3T(1m(2y.bg, 2VQ.wz), 1m(2y.gb, 2VQ.xy), 7F(2y.b, 2y.g));\\1P q = 3T(1m(p.2tX, 2y.r), 1m(2y.r, p.3g7), 7F(p.x, 2y.r));\\1r d = q.x - 2o(q.w, q.y);\\2j 1w(abs(q.z + (q.w - q.y) / (6.0 * d + 1bg)), d / (q.x + 1bg), q.x);\\n}\\n",4gN:"1w 3Gf(1w 2y)\\n{\\1P p = (2y.g < 2y.b) ? 1m(2y.bg, -1.0, 2.0 / 3.0) : 1m(2y.gb, 0.0, -1.0 / 3.0);\\1P q = (2y.r < p.x) ? 1m(p.2tX, 2y.r) : 1m(2y.r, p.3g7);\\1r c = q.x - 2o(q.w, q.y);\\1r h = abs((q.w - q.y) / (6.0 * c + 1bg) + q.z);\\2j 1w(h, c, q.x);\\n}\\1R 4gN(1w 2y)\\n{\\1R 2bV = 3Gf(2y);\\1r l = 2bV.z - 2bV.y * 0.5;\\1r s = 2bV.y / (1.0 - abs(l * 2.0 - 1.0) + 1bg);\\2j 1w(2bV.x, s, l);\\n}\\n",2VP:"1w 2VP(1w 2y)\\n{\\4i 14j 3Ge = 14j(0.5dc, 0.4gM, 0.5db,\\n0.5da, 0.4gL, 0.4gK,\\n0.5d9, 0.4gJ, 0.5d8);\\1R 1H = 3Ge * 2y;\\1R 1uq;\\3Gd.r = 1H.g;\\1r 4W = 2A(1w(1.0), 1H);\\3Gd.gb = 1H.rg / 4W;\\2j 1uq;\\n}\\n",1uC:"1p 1uC(1v 16Q, 1m 1wl)\\n{\\2u f = 7F(1wl.xw, 16Q);\\2u s = 7F(16Q, 1wl.zy);\\1U (f.x * f.y * s.x * s.y < 1.0)\\n{\\10W;\\n};\\n}\\n",1eo:"1p 1eo(1m 14T, 1m 1A, 1m 1jp, 1du 1m 7x, 1du 1m 6v, 1du 1m 1k3, 1w 14L)\\n{\\1r 1eM = 14T.x * 0.5;\\1r 1kP = 1eM * 0.5;\\1r 1p1 = 1kP * 0.5;\\1r 1HI = 1p1 * 0.5;\\1r 1xP = 8N(1eM);\\1U(1xP > 0.1)\\n{\\1mH *= 1A;\\n}\\1r 1rm = 8N(2t(1eM)* 0.5);\\1U(1rm > 0.1)\\n{\\1mH *= 1jp;\\n}\\1r 1xO = 8N(2t(1kP)* 0.5);\\1U(1xO > 0.1)\\n{\\1mH.a = 0.0;\\n}\\1r 1Xa = 8N(2t(1p1)* 0.5);\\1U(1Xa > 0.1)\\n{\\2Tr.1H += 14L;\\n}\\1r 1X9 = 8N(2t(1HI) * 0.5);\\1U(1X9 > 0.1)\\n{\\2Tq.x = 1.0;\\n}\\n}\\2s 1eo(1m 14T, 1m 1A, 1du 1m 7x, 1du 1m 6v, 1du 1m 1k3, 1w 14L, 1du 1o 1ah)\\n{\\1r 1eM = 14T.x * 0.5;\\1r 1kP = 1eM * 0.5;\\1r 1p1 = 1kP * 0.5;\\1r 1HI = 1p1 * 0.5;\\1r 1xP = 8N(1eM);\\1U(1xP > 0.1)\\n{\\1mH *= 1A;\\n}\\1r 1rm = 8N(2t(1eM)* 0.5);\\1U(1rm > 0.1)\\n{\\2b2 = 1.0;\\n}\\1r 1xO = 8N(2t(1kP)* 0.5);\\1U(1xO > 0.1)\\n{\\1mH.a = 0.0;\\n}\\1r 1Xa = 8N(2t(1p1)* 0.5);\\1U(1Xa > 0.1)\\n{\\2Tr.1H += 14L;\\n}\\1r 1X9 = 8N(2t(1HI) * 0.5);\\1U(1X9 > 0.1)\\n{\\2Tq.x = 1.0;\\n}\\n}\\2s 1eo(1m 14T, 1m 1A, 1m 1jp, 1du 1m 7x, 1du 1m 6v, 1du 1m 1k3, 1w 14L, 1du 1o 1ah)\\n{\\1r 1eM = 14T.x * 0.5;\\1r 1kP = 1eM * 0.5;\\1r 1p1 = 1kP * 0.5;\\1r 1HI = 1p1 * 0.5;\\1r 1xP = 8N(1eM);\\1U(1xP > 0.1)\\n{\\2b2 = 1.0;\\1mH = 1A;\\n}\\1r 1rm = 8N(2t(1eM)* 0.5);\\1U(1rm > 0.1)\\n{\\2b2 = 1.0;\\1mH = 1jp;\\n}\\1r 1xO = 8N(2t(1kP)* 0.5);\\1U(1xO > 0.1)\\n{\\1mH.a = 0.0;\\n}\\1r 1Xa = 8N(2t(1p1)* 0.5);\\1U(1Xa > 0.1)\\n{\\2Tr.1H += 14L;\\n}\\1r 1X9 = 8N(2t(1HI) * 0.5);\\1U(1X9 > 0.1)\\n{\\2Tq.x = 1.0;\\n}\\n}\\2s 1eo(1m 14T, 1m 1A, 1m 1jp, 1du 1m 7x)\\n{\\1r 1eM = 14T.x * 0.5;\\1r 1kP = 1eM * 0.5;\\1r 1p1 = 1kP * 0.5;\\1r 1HI = 1p1 * 0.5;\\1r 1xP = 8N(1eM);\\1U(1xP > 0.1)\\n{\\1mH *= 1A;\\n}\\1r 1rm = 8N(2t(1eM)* 0.5);\\1U(1rm > 0.1)\\n{\\1mH *= 1jp;\\n}\\1r 1xO = 8N(2t(1kP)* 0.5);\\1U(1xO > 0.1)\\n{\\1mH.a = 0.0;\\n}\\n}\\2s 1eo(1m 14T, 1m 1A, 1m 1jp, 1du 1m 7x, 1du 1o 1ah)\\n{\\1r 1eM = 14T.x * 0.5;\\1r 1kP = 1eM * 0.5;\\1r 1p1 = 1kP * 0.5;\\1r 1HI = 1p1 * 0.5;\\1r 1xP = 8N(1eM);\\1U(1xP > 0.1)\\n{\\2b2 = 1.0;\\1mH = 1A;\\n}\\1r 1rm = 8N(2t(1eM)* 0.5);\\1U(1rm > 0.1)\\n{\\2b2 = 1.0;\\1mH = 1jp;\\n}\\1r 1xO = 8N(2t(1kP)* 0.5);\\1U(1xO > 0.1)\\n{\\1mH.a = 0.0;\\n}\\n}\\n",1XU:"2n 1o 1XR;\\1B 1o 1XQ;\\1B 1m 1XO;\\1B 1m 1SD;\\1B 1o 2Gd;\\1B 2v 2jZ;\\1B 2v 2tU;\\1B 2v 1Os;\\1B 2v 2tR;\\1B 2v 2tQ;\\1B 1m 1SE;\\1B 1m 1SA;\\1B 1o 24O;\\n#if 1gn > 0\\1B 1w 2Gg[ 1gn ];\\1B 1w 24N[ 1gn ];\\n#1u\\n#if 1dY > 0\\1B 1w 24M[ 1dY ];\\1B 1w 1Sr[ 1dY ];\\1B 1w 1w9[ 1dY ];\\n#1u\\n#if 19w > 0\\1B 1w 1Sq[ 19w ];\\1B 1w 24L[ 19w ];\\1B 1w 2Gf[ 19w ];\\1B 1w 1p6[ 19w ];\\1B 1w 2t9[ 19w ];\\n#1u\\4i 1o 1SF = 3.24J;\\1R 4gH(1w 1Fl)\\n{\\2j 1Fl / 1SF;\\n}\\1R 3G6(1w f0, 1w 2VL, 1o 1y3)\\n{\\2j f0 + (2VL - f0) * 3r(2Y(1.0 - 1y3, 0.0, 1.0), 5.0);\\n}\\1R 4gG(1o 1t9, 1o 1y3)\\n{\\2j 1t9 + (1w(1.0) - 1t9) * 3r(1.0 - 1y3, 5.0);\\n}\\1R 2VC(1o 2VK, 1w 1SG)\\n{\\2j 1SG + (1w(1.0) - 1SG) * 3r(1.0 - 2VK, 5.0);\\n}\\1r 2VH(1o g, 1o 2VJ)\\n{\\1r a = 3r(1c8.0, g);\\2j (a + 2.0) / 8.0 * 3r(2VJ, a);\\n}\\1r 2k4(1o 1cb, 1o 12V)\\n{\\1r k = (12V + 1.0) * (12V + 1.0) / 8.0;\\2j 1cb / (1cb * (1.0 - k) + k);\\n}\\1r 4gF(1o 12V, 1o 1uB, 1o 1cb)\\n{\\2j 2k4(1uB, 12V) * 2k4(1cb, 12V);\\n}\\1r 4gE(1o 12V, 1o 1uA)\\n{\\1r 2k3 = 12V * 12V;\\1r f = (1uA * 2k3 - 1uA) * 1uA + 1.0;\\2j 2k3 / (1SF * f * f);\\n}\\2s 2VI(1w 2k2, 1w 25b, 1w 2U, 1w 18V, 1w 1y2, 1o 12V, 9H 1w 1SC, 9H 1w 1SB)\\n{\\1R h = 1T(25b + 2k2);\\1r 1uB = 2Y(2A(2U, 2k2), 0.17I, 1.0);\\1r 1uA = 2Y(2A(2U, h), 0.0, 1.0);\\1R li = 18V * 1uB;\\2bR = li;\\2bQ = li * 1y2 * 2VH(1.0 - 12V, 1uA);\\n}\\1R 2jR(1w 1Lg)\\n{\\2j 3r(1Lg, 1w(2.2));\\n}\\1P 2k0(1m 1Lg)\\n{\\1R 2VG = 3r(1Lg.2y, 1w(2.2));\\2j 1m(2VG, 1Lg.a);\\n}\\1R 2Vj(1w 2k1)\\n{\\n#1bI 1js\\2j 3r(2k1, 1w(1.0/2.2));\\n#1s\\2j 2k1;\\n#1u\\n}\\1r 1KY(1o 1up, 1o 1O7, 1o 1Xp)\\n{\\2j 3r(2Y(1.0 - 1up / 1O7, 0.0, 1.0), 1Xp);\\n}\\1P 1XU(1w 4X, 1w 4p, 1v 4M, 1m 7x)\\n{\\1R ng = 1T(4X);\\1R 6K = (1Sy * 1m(4p, 1.0)).1H;\\n#1z 4gD\\1R 2VF = 1cu(4p);\\1R 2VE = 1ct(4p);\\1R 1XS = 1cu(1w(4M, 0.0));\\1R 1XT = 1ct(1w(4M, 0.0));\\1R t = (1XT.t * 2VF - 1XS.t * 2VE) / (1XS.s * 1XT.t - 1XT.s * 1XS.t);\\nt = 1T(t - ng * 2A(ng, t));\\1R b = 1T(4B(ng, t));\\1NS 2tV = 14j(t, b, ng);\\1R n = 1Y(1Os, 4M).2y;\\nn = 1T(2tV * (2.0 * n - 1.0));\\n#1s\\1R n = ng;\\n#1u\\1R v = -1T(4p);\\n#1z 4gC\\1U (2A(n, v) < 0.0) {\\nn = -n;\\n}\\n#1u\\n#1z 4gB\\2u 2VD = 4M;\\5d4 = 2VD * 1SE.zw + 1SE.xy;\\1P 1CG = 2k0(1Y(2jZ, 2VD));\\3G5 *= 1SD;\\n#1s\\1P 1CG = 1SD;\\n#1u\\3G5 *= 7x;\\1R 1rL = 1CG.2y;\\n#1z 4gA\\1R 2jY = 1Y(2tU, 4M).2y;\\1r 1t9 = 2Y(2jY.b, 0.0, 1.0);\\1r 12V = 2Y(2jY.g, 0.1HU, 1.0);\\5d3 *= 1XR;\\5d2 *= 1XQ;\\n#1s\\1r 1t9 = 2Y(1XR, 0.0, 1.0);\\1r 12V = 2Y(1XQ, 0.1HU, 1.0);\\n#1u\\1R f0 = 1w(0.1HU);\\1R 1Fl = 1rL * (1.0 - 1t9) * (1.0 - f0);\\1R 1Fk = 3T(f0, 1rL, 1t9);\\1r 1cb = abs(2A(n, v)) + 0.17I;\\1R 1SC = 1w(0.0);\\1R 1SB = 1w(0.0);\\1R 1y2 = 2VC(1cb, 1Fk);\\1R 1A = 1w(0.0);\\1R 1kc = 1w(0.0);\\1R 1kb = 1w(0.0);\\2tT(1t3, v, n, 1w(0.8), 1y2, 12V, 1kc, 1kb);\\2bR +=1kc * 24O;\\2bQ += 1kb * 24O;\\n#if 1gn > 0\\14D (7P i = 0; i < 1gn; i++) {\\2tT(2Gg[i], v, n, 24N[i], 1y2, 12V, 1kc, 1kb);\\2bR +=1kc;\\2bQ += 1kb;\\n}\\n#1u\\n#if 1dY > 0\\14D (7P i = 0; i < 1dY; i++) {\\1U(1w9[i].z < 0.1) {\\1HN;\\n}\\1R 1cL = 24M[i] - 13L;\\1r 1up = 1h(1cL);\\1r 1CH = 1KY(1up, 1w9[i].x, 1w9[i].y);\\1U(1CH < 0.17I) {\\1HN;\\n}\\1R 2VB = 1Sr[i] * 1CH;\\1R 1kc = 1w(0.0);\\1R 1kb = 1w(0.0);\\2tT(1T(1cL), v, n, 2VB, 1y2, 12V, 1kc, 1kb);\\2bR +=1kc;\\2bQ += 1kb;\\n}\\n#1u\\n#if 19w > 0\\14D (7P i = 0; i < 19w; i++) {\\1U(1p6[i].w < 0.1) {\\1HN;\\n}\\1R 1cL = 24L[i] - 13L;\\1r 1up = 1h(1cL);\\1r 1CH = 1KY(1up, 1p6[i].x, 1p6[i].y);\\1U(1CH < 0.17I) {\\1HN;\\n}\\1r 1Ak = 2A(2Gf[i], 1T(1cL));\\1U(1Ak > 1p6[i].z) {\\1R 2VA = 1Sq[i] * 1CH * 1Ak;\\1R 1kc = 1w(0.0);\\1R 1kb = 1w(0.0);\\2tT(1T(1cL), v, n, 2VA, 1y2, 12V, 1kc, 1kb);\\2bR +=1kc;\\2bQ += 1kb;\\n}\\n}\\n#1u\\6p = 1rL;\\6p *= 1V(1SC, 1w(0.0));\\6p += 1V(1SB, 1w(0.0));\\n#1z 2tS\\1R r = 1T(25a * 1T(1Ck(v, n)));\\1r 2Vz = 1h(6K);\\1r 1rK = 1.0 - 2o(1.0, 16t.0 / 2Vz);\\1r 1wj = 2A(r, 1T(6K));\\nr.x = -r.x;\\nr = -1T(2UP * r);\\nr.x = -r.x;\\1r 1uz = 1.1HU - 12V;\\5d1 *= 1uz;\\1R 2Vv = 24F(3G4, r).2y * 1uz;\\1r 2Vx = 0.1cN;\\1r 1wk = 0.1 * ((1.0 - 1uz) * 8.0 + 1.1 - 1rK);\\1r 2Vy = 12V * -1.0;\\1r 2Vq = 2Y(1rK - 1wk * 0.5 + 2Vy, 1.1Al-10 - 1wk, 0.1I6);\\1r 2jW = 2Y(1rK + 1wk * 0.5, 1.1Al-10 - 1wk, 0.1I6);\\1r 2jV = 2Y(1rK + 1wk * 1.5, 1.1Al-10 - 1wk, 0.1I6);\\1r 1Lf = 13f(0.0, 2Vx, 1rK);\\1R 1XP = 3T(1w(0.1, 0.15, 0.25), 1w(0.4, 0.7, 0.9), 1Lf);\\1R 2Vo = 1XP * 0.5;\\1R 2jX = 3T(1w(0.9, 1.0, 1.2), 1XP, 12V * 0.5);\\1R 2Vw = 3T(1w(0.18, 0.26, 0.48), 2jX, 1wj * 1uz * 0.5 + 0.75);\\1R 2Vr = 3T(2Vw, 2Vv, 1Lf);\\1R 2Vu = 1w(0.7, 0.85, 0.9);\\1r 2Vt = (1.0 - 1rK) * (1wj * 0.25 + 0.75) * 1Lf;\\1r 2Vs = (1.0 - 1Lf) * (1.0 - (1wj * 0.25 + 0.25));\\1R 2bP = 2Vu * 2Y(2Vt + 2Vs, 0.0, 1.0);\\1r 2Vp = (1.0 - 1rK * 12V * 0.8);\\1R 1Or = 3T(2Vr, 2jX, 13f(2Vq, 2jW, 1wj) * 2Vp);\\3G3 = 3T(1Or, 1XP, 13f(2jW, 2jV, 1wj) * 1uz);\\3G3 = 3T(1Or, 2Vo, 13f(2jV, 1.0, 1wj) * 1uz);\\2u 2Vl = 1v(1.0);\\1r 1rJ = 0.5;\\n#1z 2bO\\1r 2jT = 2Y(2A(1T(25a * 1t3), 1T(6K * -1.0)), 0.17I, 1.0);\\1r S = 1cz(2jT);\\1r 2Vn = 2Y(2A(1T(25a * n), 1T(6K * -1.0)), 0.17I, 1.0);\\1r 2jU = 2Y(2A(n, 1t3), 0.17I, 1.0);\\1r 1iP = 1cz(2jU);\\1r 2Vm = ((0.91 + 10.0 * 108(-3.0 * 1iP) + 0.45 * 3r(2jU, 2.0)) * (1.0 - 108(-0.32 / 2Vn)));\\1r 1aX = (0.91 + 10.0 * 108(-3.0 * S) + 0.45 * 3r(2jT,2.0)) * (1.0 - 108(-0.32));\\1r 1Fj = 1rJ * (2Vm / 1aX);\\n#1u\\2u 1Oq = 1Y(3g4, 1v(1cb, 1.0 - 12V)).rg;\\1R 2jS = (2bP * 1Fl * 2Vl.x) + (1Or * 2jR(1Fk * 1Oq.x + 1Oq.y) * 2Vl.y);\\n#1z 2bO\\6p += 2jS * 1Fj;\\n#1s\\6p += 2jS;\\n#1u // 9o of 2bO\\n#1u // 9o of 2tS\\n#1z 4gz\\6p *= 1Y(2tR, 4M).r;\\n#1u\\n#1z 4gy\\2u 2Vk = 4M;\\5d0 = 2Vk * 1SA.zw + 1SA.xy;\\1R 2Ge = 2jR(1Y(2tQ, 2Vk).2y);\\5cZ *= 1XO.2y;\\6p += 2Ge;\\n#1s\\6p += 1XO.2y;\\n#1u\\6p = 2Vj(1A);\\1P 1rI = 1m(1A, 1.0);\\n#1z 2Vi\\1U (1CG.a < 2Gd)\\n{\\10W;\\n}\\2Gc = 1m(1A, 1.0);\\n#1u\\n#1z 24Z\\2Gc = 1m(1A, 1CG.a);\\n#1u\\2j 1rI;\\n}\\n",3eW:"1w 2Tn(2v 1Cf, 1v 1en, 1w 2G, 1o 1HH)\\n{\\1fN /= 2A(1w(1.0), abs(2G));\\2u 24H = abs(2G.zx) - 1v(1.0);\\2u 3Dn = 1v(2G.x < 0.0 ? 24H.x : -24H.x,\\1fN.z < 0.0 ? 24H.y : -24H.y);\\2u uv = 2G.y < 0.0 ? 3Dn : 2G.xz;\\2u 16Q = 0.5 * uv + 1v(0.5);\\2u 17W = 1.0 / 1en;\\1U (1HH > 0.0)\\n{\\1r 3b = 1.0 / 3r(2.0, 1HH);\\1r 2M = ((1en.y + 1.0) / 1en.x);\\2b1.x *= 2M;\\2b1 *= 3b;\\2b1.x += 2M + 17W.x;\\2b1.y += (1.0 - (1.0 / 3r(2.0, 1HH - 1.0))) + 17W.y * (1HH - 1.0) * 2.0;\\n}\\5L\\n{\\2b1.x *= (1en.y / 1en.x);\\n}\\n#1bI 3Dm\\1R 1dT = 1Y(1Cf, 16Q + 1v(0.0, 17W.y)).2y;\\1R 1mG = 1Y(1Cf, 16Q + 1v(17W.x, 0.0)).2y;\\1R 2sD = 1Y(1Cf, 16Q + 17W).2y;\\1R 2sE = 1Y(1Cf, 16Q).2y;\\2u 2Tp = 16Q * 1en;\\1r fu = 8N(2Tp.x);\\1r fv = 8N(2Tp.y);\\1R 3Dl = 3T(2sE, 1mG, fu);\\1R 3Dk = 3T(1dT, 2sD, fu);\\1R 1A = 3T(3Dl, 3Dk, fv);\\n#1s\\1R 1A = 1Y(1Cf, 16Q).2y;\\n#1u\\2j 1A;\\n}\\1R 3eW(2v 1Cf, 1v 1en, 1w 2G, 1o 1HH, 1o 3Dj) {\\1r 2To = 2t(1HH + 0.5);\\1r 2Tm = 2o(2To + 1.0, 3Dj);\\1R 3Dh = 2Tn(1Cf, 1en, 2G, 2To);\\1R 3Di = 2Tn(1Cf, 1en, 2G, 2Tm);\\2j 3T(3Di, 3Dh, 2Tm - 1HH);\\n}\\n",24G:"1w 24G(1w 2y, 1o 2sC)\\n{\\4i 1w W = 1w(0.1NX, 0.1KS, 0.1NW);\\1R 12r = 1w(2A(2y, W));\\2j 3T(12r, 2y, 2sC);\\n}\\n",24D:"1o 2sB(1HF 17A, 1w d)\\n{\\2j 11N(24F(17A, d));\\n}\\1r 2sB(2v 17A, 1v uv)\\n{\\n#1z 4fV\\2j 1Y(17A, uv).r;\\n#1s\\2j 11N(1Y(17A, uv));\\n#1u\\n}\\1r 24D(1HF 17A, 1w uv, 1o 4e)\\n{\\2j 7F(4e, 2sB(17A, uv));\\n}\\1r 24D(2v 17A, 1v uv, 1o 4e)\\n{\\2j 7F(4e, 2sB(17A, uv));\\n}\\n",2jl:"1o 2Tl(1o 12F, 1o 18o, 1o 1rl, 1o 1k2)\\n{\\n#1z 4fU\\n#1z 4fT\\1r 1xN = 2Y(18o / 1rl, 0.0, 1.0);\\n#1s\\1r 1xN = 7F(0.0, 18o);\\n#1u\\3Dg *= 1xN;\\n#1u\\3Dg = 1V(12F, 1k2);\\2j 12F;\\n}\\n#1z 3eU\\1r 2jl(1HF 17A, 2sA 19u)\\n{\\1r 1p0 = 19u.1p0;\\1r 4e = 19u.4e;\\1r 18o = 19u.18o;\\1r 1rl = 19u.1rl;\\1r 1k2 = 19u.1k2;\\1R 3Df = 19u.1HE;\\2T8 -= 1p0;\\1r 12F = 24D(17A, 3Df, 4e);\\2j 2Tl(12F, 18o, 1rl, 1k2);\\n}\\n#1s\\1r 2jl(2v 17A, 2sA 19u)\\n{\\1r 1p0 = 19u.1p0;\\1r 4e = 19u.4e;\\1r 18o = 19u.18o;\\1r 1rl = 19u.1rl;\\1r 1k2 = 19u.1k2;\\2u uv = 19u.1HE;\\2T8 -= 1p0;\\n#1z 4fS\\2u 1KR = 19u.1KR;\\1r 3L = 1.0;\\1r 2sy = -1KR.x * 3L;\\1r 2sz = -1KR.y * 3L;\\1r 2sx = 1KR.x * 3L;\\1r 2sw = 1KR.y * 3L;\\1r 12F = (\\1Ce(17A, uv, 4e) +\\1Ce(17A, uv + 1v(2sy, 2sz), 4e) +\\1Ce(17A, uv + 1v(0.0, 2sz), 4e) +\\1Ce(17A, uv + 1v(2sx, 2sz), 4e) +\\1Ce(17A, uv + 1v(2sy, 0.0), 4e) +\\1Ce(17A, uv + 1v(2sx, 0.0), 4e) +\\1Ce(17A, uv + 1v(2sy, 2sw), 4e) +\\1Ce(17A, uv + 1v(0.0, 2sw), 4e) +\\1Ce(17A, uv + 1v(2sx, 2sw), 4e)\\n) * (1.0 / 9.0);\\n#1s\\1r 12F = 24D(17A, uv, 4e);\\n#1u\\2j 2Tl(12F, 18o, 1rl, 1k2);\\n}\\n#1u\\n",1lO:"1o 1lO(1o 1Q)\\n{\\2j 1Q >= 0.0 ? 1.0 : -1.0;\\n}\\2u 1lO(1v 1Q)\\n{\\2j 1v(1lO(1Q.x), 1lO(1Q.y));\\n}\\1R 1lO(1w 1Q)\\n{\\2j 1w(1lO(1Q.x), 1lO(1Q.y), 1lO(1Q.z));\\n}\\1P 1lO(1m 1Q)\\n{\\2j 1m(1lO(1Q.x), 1lO(1Q.y), 1lO(1Q.z), 1lO(1Q.w));\\n}\\n",1Cd:"2n 2v 24C;\\1B 7P 3eT;\\1r 3D8(1o 11a)\\n{\\2u 2V = 1v(4u.x / 9e.z, 4u.y / 9e.w);\\2u 1nP  = 1v(11a / 9e.z, 11a / 9e.w);\\1P 3De = 1m(2V.x+1nP.x, 2V.y+1nP.y, 1.0, 1.0);\\1P 2Tk = 1Y(24C, 3De.xy);\\59a.1H = (2Tk.1H * 2.0) - 1.0;\\1P 3Dd = 1m(2V.x-1nP.x, 2V.y+1nP.y, 1.0, 1.0);\\1P 2Ti =  1Y(24C, 3Dd.xy);\\599.1H = (2Ti.1H * 2.0) - 1.0;\\1P 3Dc = 1m(2V.x+1nP.x, 2V.y-1nP.y, 1.0, 1.0);\\1P 2Th = 1Y(24C, 3Dc.xy);\\598.1H = (2Th.1H * 2.0 ) - 1.0;\\1P 3Db = 1m(2V.x-1nP.x, 2V.y-1nP.y, 1.0, 1.0);\\1P 2Tj = 1Y(24C, 3Db.xy);\\597.1H = (2Tj.1H * 2.0) - 1.0;\\1r 1X8 = 0.0;\\1r 3Da = 2A(2Tk.1H, 2Tj.1H);\\1r 3D9 = 2A(2Ti.1H, 2Th.1H);\\3D7 = 0.5*(3Da+3D9);\\2j 1X8;\\n}\\1P 1Cd(1m 1gl, 1m 19g, 1o 11a)\\n{\\1P 1Cb = 1gl;\\1r 1X8 = 3D8(11a);\\3D7 = 2Y(1X8, 0.0, 1.0);\\1U(3eT == 1)\\n{\\1Cc = 19g;\\1Cc.a = (1.0 - 12q(1X8 - 0.5)) * 0.5;\\1Cc.a *= 19g.a;\\n}\\5L\\n{\\1R 3D6 = 3T(1gl.2y, 1w(19g.2y), 19g.a);\\1Cc.2y = 3T(3D6, 1gl.2y, 1X8);\\n}\\2j 1Cb;\\n}\\n",3eS:"1w 3eS(1w 2U, 1w 1w5[9])\\n{\\4i 1o c1 = 0.593;\\4i 1o c2 = 0.591;\\4i 1o c3 = 0.58Z;\\4i 1o c4 = 0.58Y;\\4i 1o c5 = 0.58X;\\1R 3D4 = 1w5[0];\\1R 3CZ = 1w5[1];\\1R 3CY = 1w5[2];\\1R 3D0 = 1w5[3];\\1R 3D3 = 1w5[4];\\1R 3D1 = 1w5[5];\\1R 2Tg = 1w5[6];\\1R 3D2 = 1w5[7];\\1R 3D5 = 1w5[8];\\1r x = 2U.x;\\1r y = 2U.y;\\1r z = 2U.z;\\2j c1 * 3D5 * (x * x - y * y) + c3 * 2Tg * z * z + c4 * 3D4 - c5 * 2Tg +\\n2.0 * c1 * (3D3 * x * y + 3D2 * x * z + 3D1 * y * z) +\\n2.0 * c2 * (3D0 * x + 3CZ * y + 3CY * z);\\n}\\n",3eR:"14j 3eR(1w 4X, 1w 1X7, 1w 2b0)\\n{\\1R 2U = 1T(4X);\\1R 8Q = 1T(1X7);\\1R 8T = 1T(2b0);\\2j 14j(8Q.x  , 8Q.y  , 8Q.z,\\58W.x, 8T.y, 8T.z,\\3CX.x   , 2U.y   , 2U.z);\\n}\\n",3eQ:"1m 3eQ(1m 1NU, 5w 5o) {\\1R 2Tf = 1T((5o * 1m(1NU.1H, 0.0)).1H);\\1R 3CV = (5o * 1m(1NU.1H * -1NU.w, 1.0)).1H;\\1P 3CU;\\3CW.1H = 2Tf;\\3CW.w = -2A(2Tf, 3CV);\\2j 3CU;\\n}\\n",16e:"1m 16e(1w 162, 1w 15r)\\n{\\1R 3CT = 162 - 4fP;\\1R 3CS = 15r - 4fO;\\2j 1m(3CT + 3CS, 1.0);\\n}\\n",3CR:"1m 3CR(1w 1HD, 1Ad 2q, 1w 1jo)\\n{\\1r 8t = 1Ca(1w(0.0, 0.0, 1.0), 2q.2U);\\1U (1kO == 1F3) {\\2Te += 1Ca(1w(0.0, 1.0, 0.0), 2q.2U);\\n}\\2Te = 2Y(8t, 0.0, 1.0);\\1r 16C = 24B(1jo, 1HD, 2q.2U, 2q.1rk);\\1R 1X6 = 2q.8t * 0.5;\\1R 18A = 1X6;\\1R 1A = 18A + 2q.17Y;\\6p += 1X6 * 8t * 1NT;\\6p += 2q.16C * 16C * 1NT;\\2j 1m(1A, 2q.2O);\\n}\\n",2FQ:"1bG 2FQ(1bG 8W)\\n{\\2j 1bG(\\1C9[0][0], 8W[1][0],\\1C9[0][1], 8W[1][1]);\\n}\\1NS 2FQ(14j 8W)\\n{\\2j 14j(\\1C9[0][0], 8W[1][0], 8W[2][0],\\1C9[0][1], 8W[1][1], 8W[2][1],\\1C9[0][2], 8W[1][2], 8W[2][2]);\\n}\\1Sg 2FQ(5w 8W)\\n{\\2j 5w(\\1C9[0][0], 8W[1][0], 8W[2][0], 8W[3][0],\\1C9[0][1], 8W[1][1], 8W[2][1], 8W[3][1],\\1C9[0][2], 8W[1][2], 8W[2][2], 8W[3][2],\\1C9[0][3], 8W[1][3], 8W[2][3], 8W[3][3]);\\n}\\n",11N:"1o 11N(1m 2sv)\\n{\\2j 2A(2sv, 1m(1.0, 1.0 / 255.0, 1.0 / 1C7.0, 1.0 / 2FP.0));\\n}\\n",2su:"#2f 3CO 0.58T //1.0 / 256.0\\n#2f 3CN 0.58S //1.0 / 12v.0\\n#2f 3CL 5.58R-8//1.0 / 1C6.0\\n#2f 3CQ 38.0\\1r 2su(1m 24A)\\n{\\58Q *= 255.0;\\1r 4W = 24A.w / 2.0;\\1r 1Sf = 2t(4W);\\1r 12q = (4W - 1Sf) * 2.0;\\58P = 1Sf - 1o(3CQ);\\3CP = 12q * 2.0 - 1.0;\\3CP = -12q;\\1r 3CK = 12q * 24A.x * 1o(3CO);\\3CM += 12q * 24A.y * 1o(3CN);\\3CM += 12q * 24A.z * 1o(3CL);\\2j 3CK * 3r(10.0, 1Sf);\\n}\\n",2jk:"1o 2jk(1m 2aZ)\\n{\\1r 2st = 12v.0;\\1r 16P = 256.0;\\1P 1Q = 2aZ * 255.0;\\2j 1Q.r * 2st + 1Q.g * 16P + 1Q.b - 2ss.0;\\n}\\n",1Se:"#1z 10B\\1J 1o 1Sb;\\n#1z 2Td\\1J 1w 3CJ;\\n#1u\\n#1u\\1P 3CH(1m 19t) {\\n#if 2l(10B)\\n#1z 2Td\\1R 3CI = (1k1 * 19t).1H;\\58O = 3CI;\\n#1u\\1xM.z = 2Y(19t.z / 19t.w, -1.0, 1.0) * 19t.w;\\n#1u\\2j 19t;\\n}\\2s 1Se()\\n{\\n#1z 10B\\2Tc = 1.0 - 18z.x + 6I.w;\\11u = 3CH(6I);\\n#1u\\n}\\2s 1Se(1m 2Tb)\\n{\\n#1z 10B\\2Tc = 1.0 - 18z.x + 2Tb.w;\\58N(2Tb);\\n#1u\\n}\\n",1az:"1m 1az(1m 2aY)\\n{\\1r x = 2.0 * (2aY.x - 9e.x) / 9e.z - 1.0;\\1r y = 2.0 * (2aY.y - 9e.y) / 9e.w - 1.0;\\1r z = (2aY.z - 1Sd[3][2]) / 1Sd[2][2];\\1P q = 1m(x, y, z, 1.0);\\nq /= 2aY.w;\\1U (!(1k1 == 5w(0.0)))\\n{\\nq = 1k1 * q;\\n}\\5L\\n{\\1r 5C = 1q9.x;\\1r 7b = 1q9.y;\\1r 3B = 1q9.z;\\1r 2W = 1q9.w;\\1r 3I = 18z.x;\\1r 3W = 18z.y;\\nq.x = (q.x * (2W - 3B) + 3B + 2W) * 0.5;\\nq.y = (q.y * (5C - 7b) + 7b + 5C) * 0.5;\\nq.z = (q.z * (3I - 3W) - 3I - 3W) * 0.5;\\nq.w = 1.0;\\n}\\2j q;\\n}\\1P 1az(1v 2T9, 1o 1rj)\\n{\\n#1z 10B\\1r 3I = 18z.x;\\1r 3W = 18z.y;\\1r 1gS = 1rj * 3eP;\\1r 2sr = 3r(2.0, 1gS) - 1.0;\\1r 2Ta = 2sr + 3I;\\1P 2sq = 1m(2T9, 3W * (1.0 - 3I / 2Ta) / (3W - 3I), 1.0);\\1P 5Z = 1az(2sq);\\2aX.w = 1.0 / 2Ta;\\2j 5Z;\\n#1s\\1P 2sq = 1m(2T9, 1rj, 1.0);\\1P 5Z = 1az(2sq);\\n#1u\\2j 5Z;\\n}\\n",1Sc:"#1bI 10B\\1J 1o 24z;\\n#1u\\2s 1Sc()\\n{\\n#if (2l(5J) || 2l(1dt)) && !2l(10B)\\1F2 = 2o(24z * 4u.w, 1.0);\\n#1u\\n}\\n",1nO:"#1z 10B\\1J 1o 1Sb;\\n#1z 2jh\\1B 1v 2jj;\\n#1u\\n#1u\\2s 1nO(1o 4e)\\n{\\n#if (2l(5J) || 2l(1dt)) && 2l(10B)\\1U (4e <= 0.58L || 4e > 4fN) {\\10W;\\n}\\n#1z 2jh\\1r 8H = 2jj[0];\\1r 13u = 2jj[1];\\n#1z 8p\\1r x = 1cu(4e);\\1r y = 1ct(4e);\\1r m = 3Y(x * x + y * y);\\2T8 += m * 8H;\\n#1u\\n#1u\\1F2 = 1iK(4e) * 2ji;\\n#1z 2jh\\1F2 += 1bg * 13u;\\n#1u\\n#1u\\n}\\2s 1nO() {\\n#1z 10B\\1ri(1Sb);\\n#1u\\n}\\n",2Um:"1w 2Um(1w 1uq)\\n{\\4i 14j 3EI = 14j( 3.5b0, -0.5aZ,  0.5aY,\\n-1.5aX,  1.5aW, -0.5aV,\\n-0.5aU,  0.5aT,  1.5aS);\\1R 1H;\\2jw.r = 1uq.r * 1uq.g / 1uq.b;\\2jw.g = 1uq.r;\\2jw.b = 1uq.r * (1.0 - 1uq.g - 1uq.b) / 1uq.b;\\2j 3EI * 1H;\\n}\\n"};ja.1i.1y=1b(){1f 1g ja({5p:1a.5p,2N:1a.2N,2i:1a.2i,2zs:1a.2zs,3yN:1a.3yN})};ja.1gF=1b(a,b){1f a.3X(/1p\\s+2k\\s*\\(\\s*(?:1p)?\\s*\\)/g,"1p "+b+"()")};ja.1i.40N=1b(a){1f x3(1a,!1,a)};ja.1i.40M=1b(a){1f x3(1a,!0,a)};ja.3yM={};1j(1d RW in jM)jM.3p(RW)&&(ja.3yM[RW]=jM[RW]);1j(1d kM in PB)if(PB.3p(kM)){1d 4T3=PB[kM];"1b"===2h 4T3.4T2&&(ja.3yM[kM]=4T3.4T2(kM))}ja.6fw=1b(a){1f ja.1gF(a,"48G")+"\\2J 1m 1fR; \\1J 1m 1Hn; \\2s 2k() \\n{ \\n    48G(); \\n    1Hn = 1fR; \\n}"};ja.6ht=1b(a,b){1f ja.1gF(a,"48G")+"\\n"+(b+" 1m 1Hn; \\2s 2k() \\n{ \\n    48G(); \\n    if (2C.a == 0.0) { \\n       7o; \\n    } \\n    2C = 1Hn; \\n}")};ja.4T1=1b(a,b){a=a.5p;1j(1d c=b.1h,d=0;d<c;++d)1j(1d e=b[d],f=a.1h,h=0;h<f;++h)if(-1!==a[h].3f(e))1f e};1d 6hs=["1dy","1fL","13N"];ja.5ys=1b(a){1f ja.4T1(a,6hs)};1d 6hr=["13L"];ja.3Rj=1b(a){1f ja.4T1(a,6hr)};1d te=1L.3F({1Q8:0,1uf:1,2hq:2,4T0:3}),go=1L.3F({2f7:H.2f7,1PP:H.1PP,1Be:H.1Be,340:H.2p5,2a0:H.2a0,1JA:H.2AV,47R:H.3yw,1jW:H.1jW}),xa={20X:H.20X,7C:H.7C,1UP:H.1UP,1f6:1b(a){1f a===xa.20X||a===xa.7C||a===xa.1UP}};Ra.12S=1b(a){v.2l("3v.1O",a.1O);1f 1g Ra({1O:a.1O,3ZK:H.1Q4,5b:a.5b,18Q:a.18Q,7Q:a.7Q})};Ra.17Q=1b(a){v.2l("3v.1O",a.1O);if(!Ta.1f6(a.17P))1t 1g r("13H 17P.");if(a.17P===Ta.1bt&&!a.1O.1Pf)1t 1g r("3KJ.1bt 9N 47t, 1nN is 2S 11J on 1a 3Ow.  1ie 1O.1Pf.");1d b=a.1O,c=a.17P,d=Ta.1jh(c);a=1g Ra({1O:b,3ZK:H.1GV,5b:a.5b,18Q:a.18Q,7Q:a.7Q});1d e=a.18Q/d;1L.2X(a,{17P:{1n:1b(){1f c}},4Hg:{1n:1b(){1f d}},3ts:{1n:1b(){1f e}}});1f a};1L.2X(Ra.1i,{18Q:{1n:1b(){1f 1a.1Wo}},7Q:{1n:1b(){1f 1a.6hq}}});Ra.1i.33p=1b(){1f 1a.1hW};Ra.1i.1jR=1b(a,b){b=m(b,0);v.2l("48E",a);v.1N.2b.19D("9n + 48E.10S",b+a.10S,1a.1Wo);1d c=1a.6M,d=1a.3bH;c.1z1(d,1a.1hW);c.4Ej(d,b,a);c.1z1(d,1F)};Ra.1i.6hp=1b(a,b,c,d){if(!1a.1u2)1t 1g r("A 1zV 2 1O is 1X.");if(!g(a))1t 1g r("4SZ 2Q be 2l.");if(!g(d)||0>=d)1t 1g r("18Q 2Q be 2l and be 9U 6L 16m.");if(!g(b)||0>b||b+d>a.1Wo)1t 1g r("4SY 2Q be 9U 6L or 14B to 16m and 4SY + 18Q 2Q be 1do 6L of 14B to 4SZ.18Q.");if(!g(c)||0>c||c+d>1a.1Wo)1t 1g r("48F 2Q be 9U 6L or 14B to 16m and 48F + 18Q 2Q be 1do 6L of 14B to 1a.18Q.");if(1a.1hW===a.1hW&&(c>=b&&c<b+d||b>c&&b<c+d))1t 1g r("1M3 4SZ is 14B to 1a, 1Z 8JV [4SY + 18Q) and [48F, 48F + 18Q) 2Q 2S 2oY.");if(1a.3bH===H.1GV&&a.3bH!==H.1GV||1a.3bH!==H.1GV&&a.3bH===H.1GV)1t 1g r("8JU 2S 1hI an 2P 3J 1KP 1KN 3J 1I.");1d e=H.4SX,f=H.6ho,h=1a.6M;h.1z1(f,1a.1hW);h.1z1(e,a.1hW);h.8JT(e,f,b,c,d);h.1z1(f,1F);h.1z1(e,1F)};Ra.1i.8JS=1b(a,b,c,d){b=m(b,0);c=m(c,0);if(!1a.1u2)1t 1g r("A 1zV 2 1O is 1X.");if(!g(a))1t 1g r("48E is 1X.");1d e=a.10S;if(g(d)){1d f=d;if(g(e))1d h=1;1s e=a.1h,h=a.12T}1s g(e)?(f=e-c,h=1):(e=a.1h,f=e-c,h=a.12T);if(0>c||c>e)1t 1g r("6hn 2Q be 9U 6L 16m and 1do 6L 1Z 48E 1h.");if(c+f>e)1t 1g r("6hn + 1h 2Q be 1do 6L or 14B to 1Z 8JR.");if(0>b||b>1a.1Wo)1t 1g r("6hm 2Q be 9U 6L 16m and 1do 6L 1Z 1ds 4V.");if(b+f*h>1a.1Wo)1t 1g r("6hm + 1h 2Q be 1do 6L 1Z 1ds 4V.");f=1a.6M;h=H.4SX;f.1z1(h,1a.1hW);f.8JQ(h,b,a,c,d);f.1z1(h,1F)};Ra.1i.3Z=1b(){1f!1};Ra.1i.1M=1b(){1a.6M.33m(1a.1hW);1f la(1a)};Fb.1M5=1b(a){a=m(a,m.4Z);v.2l("3v.1O",a.1O);1d b=a.1O,c=m(a.3y,m.4Z),d=m(a.1tF,xa.1UP),e=m(a.7W,m.4Z),f=m(a.1qK,!1);a=a.8JP;1d h;a=g(a)?a:[];1d l=c.2w;if(f){1d p=6hl(l);if(g(p)){f=Ra.12S({1O:b,5b:p.3J,7Q:d});1d k=p.6hk,z=p.23E;1j(h in l)l.3p(h)&&g(l[h])&&(p=l[h],g(p.2a)?a.1q({2P:e[h],7e:f,3k:p.3k,2Z:p.2Z,1T:p.1T,9n:k[h],9t:z}):a.1q({2P:e[h],1Q:p.1Q,3k:p.3k,1T:p.1T}))}}1s 1j(h in l)l.3p(h)&&g(l[h])&&(p=l[h],k=p.3k,k===I.18l&&(k=I.3O),f=1p 0,g(p.2a)&&(f=Ra.12S({1O:b,5b:I.9g(k,p.2a),7Q:d})),a.1q({2P:e[h],7e:f,1Q:p.1Q,3k:k,2Z:p.2Z,1T:p.1T}));1d w;e=c.4N;g(e)&&(w=Pb.1Wn(c)>=B.1uW&&b.1Pf?Ra.17Q({1O:b,5b:1g 12X(e),7Q:d,17P:Ta.1bt}):Ra.17Q({1O:b,5b:1g 10Y(e),7Q:d,17P:Ta.10P}));1f 1g Fb({1O:b,2w:a,10X:w})};1L.2X(Fb.1i,{2r4:{1n:1b(){1f 1a.16N.1h}},40a:{1n:1b(){1f 1a.6hj}},10X:{1n:1b(){1f 1a.1UZ}}});Fb.1i.15o=1b(a){v.2l("2P",a);1f 1a.16N[a]};Fb.1i.1QJ=1b(){if(g(1a.3bG)){1a.4j.3yK(1a.3bG);if(1a.4j.2Kf){1d a=1a.4j,b=1a.6hi;if(b||a.48D){a.48D=b;1d c=a.48C,d=1a.16N,e=sb.6hh;if(b)1j(e=d.1h,b=0;b<e;++b){1d f=d[b];if(f.3e){1d h=f.19N;f=f.2P;h!==c[f]&&(a.3yL(f,h),c[f]=h)}}1s 1j(b=0;b<e;++b)0<c[b]&&(a.3yL(b,0),c[b]=0)}}if(1a.6hg)1j(a=1a.6M,c=1a.16N,d=c.1h,b=0;b<d;++b)e=c[b],e.3e&&g(e.1Q)&&e.2QA(a)}1s y3(1a.6M,1a.16N,1a.1UZ)};Fb.1i.37G=1b(){if(g(1a.3bG))1a.4j.3yK(1F);1s{1j(1d a=1a.16N,b=1a.6M,c=0;c<a.1h;++c){1d d=a[c];d.3e&&d.36S(b)}1a.1UZ&&b.1z1(b.1GV,1F)}};Fb.1i.3Z=1b(){1f!1};Fb.1i.1M=1b(){1j(1d a=1a.16N,b=0;b<a.1h;++b){1d c=a[b].7e;g(c)&&!c.3Z()&&c.1hU&&c.1M()}a=1a.1UZ;g(a)&&!a.3Z()&&a.1hU&&a.1M();g(1a.3bG)&&1a.4j.6hf(1a.3bG);1f la(1a)};1L.2X(xl.1i,{2w:{1n:1b(){1f 1a.16N}},6he:{1n:1b(){1f 1a.2Qw}}});1d WE=1g E,4SW=1g E;xl.1i.3yn=1b(a,b,c){if(0>a||a>=1a.2Qw)1t 1g r("2gk is 9H of 11D.");if(0>b||b>=1a.16N.1h)1t 1g r("6hd is 9H of 11D");1d d=1a.16N,e=4*1a.48B*a+4*1a.48A[b];if(1a.48z&&d[b].3k!==Ha.7U){1d f=1a.1NC,h=E.5f(f,e,WE);a=E.3yJ(h);h=E.5f(f,e+4,WE);1d l=E.3yJ(h);h=E.5f(f,e+8,WE);1d p=E.3yJ(h);h=E.5f(f,e+12,WE);e=E.3yJ(h);a=E.9v(a,l,p,e,4SW)}1s a=E.5f(1a.1NC,e,4SW);b=A3(d,b);1f g(b.1vu)?b.1vu(a,c):g(b.1y)?b.1y(a,c):a.x};1d 6hc=[1p 0,1p 0,1g C,1g k,1g E],$q=1g E;xl.1i.1nJ=1b(a,b,c){if(0>a||a>=1a.2Qw)1t 1g r("2gk is 9H of 11D.");if(0>b||b>=1a.16N.1h)1t 1g r("6hd is 9H of 11D");if(!g(c))1t 1g r("1Q is 1X.");1d d=1a.16N,e=1a.3yn(a,b,6hc[d[b].2Z]),f=A3(1a.16N,b);(g(f.2L)?f.2L(e,c):e===c)||($q.x=g(c.x)?c.x:c,$q.y=g(c.y)?c.y:0,$q.z=g(c.z)?c.z:0,$q.w=g(c.w)?c.w:0,a=4*1a.48B*a+4*1a.48A[b],1a.48z&&d[b].3k!==Ha.7U?(b=1a.1NC,d=E.3bF($q.x,WE),E.5n(d,b,a),d=E.3bF($q.y,d),E.5n(d,b,a+4),d=E.3bF($q.z,d),E.5n(d,b,a+8),d=E.3bF($q.w,d),E.5n(d,b,a+12)):E.5n($q,1a.1NC,a),1a.2qV=!0)};xl.1i.2H=1b(a){if((!g(1a.10q)||1a.2qV)&&0!==1a.16N.1h){1a.2qV=!1;if(!g(1a.10q)){1d b=1a.29V;1a.10q=1g Ca({1O:a.1O,8b:ua.9m,10E:1a.1ov,1G:b.x,1D:b.y,10v:1g Eb({14A:nb.10U,15u:Rb.10U}),13E:!1})}a=1a.29V;1a.10q.1iq({1G:a.x,1D:a.y,1a9:1a.1NC})}};xl.1i.1BM=1b(){1d a=1a;1f 1b(b){1f 0===a.16N.1h?b:fb(b,{2Qz:1b(){1f a.10q},48y:1b(){1f a.29V},1Wm:1b(){1f a.47T}})}};xl.1i.1zS=1b(){1d a=1a.16N;if(0===a.1h)1f 1b(a){1f a};1d b="2n 2v 2Qz; \\n";b+=6hb(1a)+"\\n";a=a.1h;1j(1d c=0;c<a;++c)b+=6ha(1a,c);1f 1b(a){1d c=a.3f("1p 2k"),d=a.11c(0,c);a=a.11c(c);1f d+"\\n"+b+"\\n"+a}};xl.1i.3Z=1b(){1f!1};xl.1i.1M=1b(){1a.10q=1a.10q&&1a.10q.1M();1f la(1a)};1d RB={4Sr:1b(a){1d b=a.18P,c=b.1h,d=!1;if(0<c){1d e=a.18P,f=a.18T,h=a.2Qv,l=a.1fw,p=a.1zW,k=a.1od,m=a.4a,w;1d x=e.1h;1j(w=0;w<x;++w)if(g(e[w].3y)){1d q=e[w].3y.6Z;1W}1j(w=1;w<x;++w)if(g(e[w].3y)&&e[w].3y.6Z!==q)1t 1g r("2qv 1bX 1ht 2Q 118 1Z 1ik 6Z.");w=!l;q=e.1h;1d t;if(!w&&1<q){1d u=e[0].4a;1j(t=1;t<q;++t)if(!A.2L(u,e[t].4a)){w=!0;1W}}if(w)1j(t=0;t<q;++t)g(e[t].3y)&&Sc.6h9(e[t]);1s A.1oJ(m,e[0].4a,m);if(!l)1j(w=0;w<x;++w)g(e[w].3y)&&Sc.6h8(e[w]);w=e.1h;1j(m=0;m<w;++m)q=e[m],g(q.3y)?VP(q.3y,m):g(q.2a1)&&g(q.2a2)&&(VP(q.2a1,m),VP(q.2a2,m));if(p)1j(w=0;w<x;++w)p=e[w],g(p.3y)?(Sc.48x(p.3y),Sc.48w(p.3y)):g(p.2a1)&&g(p.2a2)&&(Sc.48x(p.2a1),Sc.48w(p.2a1),Sc.48x(p.2a2),Sc.48w(p.2a2));p=Sc.2E9(e);x=p.1h;1j(w=0;w<x;++w){e=p[w];m=e.2w;if(l)1j(v in m)m.3p(v)&&m[v].3k===I.18l&&Sc.48v(e,v,v+"3yv",v+"48o");1s 1j(v in m)m.3p(v)&&m[v].3k===I.18l&&(q=v+"3D",t=v+"2D",Sc.3aK(e,v,q,t,f),g(e.7u)&&"1K"===v&&(e.1BR=P.1ND(e.2w.1O9.2a)),Sc.48v(e,q,q+"4SV",q+"6h7"),Sc.48v(e,t,t+"4SV",t+"6h7"));k&&Sc.1od(e)}if(!h){1d v=[];x=p.1h;1j(w=0;w<x;++w)e=p[w],v=v.9V(Sc.6h6(e));p=v}x=p;if(0<x.1h){1d y=Sc.2JJ(x[0]);if(a.2Qu){1d B=x;v=[];WP(b,"3y",B,v);WP(b,"2a1",B,v);WP(b,"2a2",B,v);B=v}}if(g(b[0].2w)&&g(b[0].2w.2M)){1d C=2K(c);d=!0}}v=2K(c);f=2K(c);1j(h=0;h<c;++h)l=b[h],k=l.3y,g(k)&&(v[h]=k.7u,f[h]=k.1BR,d&&(C[h]=l.3y.8J)),k=l.2a2,l=l.2a1,g(k)&&g(l)&&(g(k.7u)&&g(l.7u)&&(v[h]=P.1nu(k.7u,l.7u)),g(k.1BR)&&g(l.1BR)&&(f[h]=P.1nu(k.1BR,l.1BR)));1f{1ht:x,4a:a.4a,7W:y,2Qt:B,2Qs:C,2Qr:v,2Qq:f}},8JO:1b(a,b){1j(1d c=13X,d=1,e=a.1h,f=0;f<e;f++){1d h=a[f];++d;if(g(h)){1d l=h.2w;d+=7+2*P.4q+(g(h.4N)?h.4N.1h:0);1j(1d p in l)l.3p(p)&&g(l[p])&&(d+=5+l[p].2a.1h)}}c=1g c(d);d=[];e={};f=a.1h;h=0;c[h++]=f;1j(l=0;l<f;l++){p=a[l];1d k=g(p);c[h++]=k?1:0;if(k){c[h++]=p.6Z;c[h++]=p.1DX;c[h++]=m(p.8J,-1);k=g(p.7u)?1:0;(c[h++]=k)&&P.5n(p.7u,c,h);h+=P.4q;k=g(p.1BR)?1:0;(c[h++]=k)&&P.5n(p.1BR,c,h);h+=P.4q;k=p.2w;1d z=[],w;1j(w in k)k.3p(w)&&g(k[w])&&(z.1q(w),g(e[w])||(e[w]=d.1h,d.1q(w)));c[h++]=z.1h;1j(1d x=0;x<z.1h;x++){1d q=z[x],t=k[q];c[h++]=e[q];c[h++]=t.3k;c[h++]=t.2Z;c[h++]=t.1T?1:0;c[h++]=t.2a.1h;c.1C(t.2a,h);h+=t.2a.1h}k=g(p.4N)?p.4N.1h:0;c[h++]=k;0<k&&(c.1C(p.4N,h),h+=k)}}b.1q(c.3J);1f{6h5:d,4SU:c}},6h2:1b(a){1d b=a.6h5;a=a.4SU;1j(1d c,d=2K(a[0]),e=0,f=1;f<a.1h;)if(1!==a[f++])d[e++]=1p 0;1s{1d h=a[f++],g=a[f++],p=a[f++];-1===p&&(p=1p 0);1d k,m;1===a[f++]&&(k=P.5f(a,f));f+=P.4q;1===a[f++]&&(m=P.5f(a,f));f+=P.4q;1d w=1g ce,x=a[f++];1j(c=0;c<x;c++){1d q=b[a[f++]],t=a[f++];1d r=a[f++];1d u=0!==a[f++];1d v=a[f++];1d y=I.9g(t,v);1j(1d A=0;A<v;A++)y[A]=a[f++];w[q]=1g Pa({3k:t,2Z:r,1T:u,2a:y})}v=a[f++];if(0<v){1d B=Ta.9g(y.1h/r,v);1j(c=0;c<v;c++)B[c]=a[f++]}d[e++]=1g Pb({6Z:h,1DX:g,7u:k,1BR:m,4N:B,2w:w,8J:p})}1f d},6h4:1b(a,b){1j(1d c=a.3yI,d=c.1h,e=0;e<d;e++)b.1q(c[e].4SU.3J);c=a.3yI;d=a.18P;e=d.1h;1d f=1g 13X(1+19*e),h=0;f[h++]=e;1j(1d l=0;l<e;l++){1d p=d[l];A.5n(p.4a,f,h);h+=A.4q;g(p.2w)&&g(p.2w.2M)&&(p=p.2w.2M.1Q,f[h]=p[0],f[h+1]=p[1],f[h+2]=p[2]);h+=3}b.1q(f.3J);1f{3yI:c,6h3:f,3c:a.3c,3yH:a.18T 2m Td,2Qv:a.2Qv,1fw:a.1fw,1zW:a.1zW,1od:a.1od,4a:a.4a,2Qu:a.2Qu}},8JN:1b(a){1j(1d b=a.6h3,c=2K(b[0]),d=0,e=1;e<b.1h;){1d f=A.5f(b,e),h;e+=A.4q;g(b[e])&&(h={2M:1g af(b[e],b[e+1],b[e+2])});e+=3;c[d++]={4a:f,2w:h}}b=a.3yI;d=b.1h;1j(f=e=0;f<d;f++){h=RB.6h2(b[f]);1j(1d l=h.1h,p=0;p<l;p++)c[e].3y=h[p],++e}b=ba.1y(a.3c);d=a.3yH?1g Td(b):1g Uc(b);1f{18P:c,3c:b,18T:d,2Qv:a.2Qv,1fw:a.1fw,1zW:a.1zW,1od:a.1od,4a:A.1y(a.4a),2Qu:a.2Qu}},8JM:1b(a,b){if(g(a.1ht))1j(1d c=a.1ht,d=c.1h,e=0;e<d;++e){1d f=1p 0,h=c[e],l=b,p=h.2w;1j(f in p)if(p.3p(f)){1d k=p[f];g(k)&&g(k.2a)&&l.1q(k.2a.3J)}g(h.4N)&&l.1q(h.4N.3J)}c=B3(a.2Qr);d=B3(a.2Qq);b.1q(c.3J,d.3J);1f{1ht:a.1ht,7W:a.7W,4a:a.4a,2Qt:a.2Qt,2Qs:a.2Qs,2Qr:c,2Qq:d}},6h1:1b(a){1f{1ht:a.1ht,7W:a.7W,4a:a.4a,2Qt:a.2Qt,2Qs:a.2Qs,2Qr:C3(a.2Qr),2Qq:C3(a.2Qq)}}},bg=1L.3F({1cY:0,3sN:1,4ST:2,6h0:3,3yr:4,3yq:5,12D:6}),SW={1at:0,15j:1,10j:2,6G:3,3yG:1b(a){if(a===SW.6G)1f 1;if(a!==SW.1at)1f 0}},O=1L.3F(SW),ar={39R:0,2hT:1,4SS:2,3bE:3,3vH:4,1hR:1b(a){1f a===ar.2hT||a===ar.4SS},1fC:1b(a){1f a===ar.2hT||a===ar.3bE},8JL:1b(a,b){1f a&&b?ar.2hT:a?ar.4SS:b?ar.3bE:ar.39R}},ed=1L.3F(ar),Ud=1L.3F({1zp:0,3Pf:1,1Z1:2,1pe:3,33n:4,5TY:5,2n8:6,3Zg:7,1h5:8}),6gZ=1g C(1,1),6gY=y.9r;1L.2X(eo.1i,{5g:{1n:1b(){1f F.5g(1a.1iw)&&F.5g(1a.1qI)}},13C:{1n:1b(){1f 1a.8B}},4d:Y("4d"),12G:Y("12G"),1A:Y("1A"),18b:Y("18b")});eo.1i.1bu=1b(a){1f"1ar"};eo.1i.3K=1b(a,b){g(b)||(b={});b.4d=F.8y(1a.1iw,a);b.12G=F.1pW(1a.1qI,a,6gZ,b.12G);b.1A=F.1pW(1a.7a,a,6gY,b.1A);F.7q(1a.27l,a,!1)&&(b.1A.2O=1k.2o(.99,b.1A.2O));1f b};eo.1i.2L=1b(a){1f 1a===a||a 2m eo&&F.2L(1a.1iw,a.1iw)&&F.2L(1a.1qI,a.1qI)&&F.2L(1a.7a,a.7a)&&F.2L(1a.27l,a.27l)};1d 4SR=Nf.2Kh=0,6gX=Nf.3ao=1,6gV=Nf.6gT=2,6gW=Nf.6gS=3,XE=Nf.6gR=4,6gU=Nf.1Fm=5,D3=Nf.2Kg=6;1L.2X(Nf.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");a!==1a.10T&&(1a.10T=a,Hp(1a,6gX))}},3q:{1n:1b(){1f 1a.9h},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=$h(a,k.5T);1a.1Rp&&2<b.1h&&(b===a&&(b=a.4h()),b.1q(k.1y(b[0])));1a.1xD.1h===b.1h&&1a.1xD.1h===1a.1bC||Hp(1a,XE);1a.9h=a;1a.1xD=b;1a.1bC=b.1h;1a.11S=P.1aN(1a.1xD,1a.11S);1a.2iq=P.5o(1a.11S,1a.12t,1a.2iq);Hp(1a,4SR);1a.2H()}},2q:{1n:1b(){1f 1a.17u},1C:1b(a){if(!g(a))1t 1g r("2q is 1X.");1a.17u!==a&&(1a.17u=a,Hp(1a,6gW))}},1G:{1n:1b(){1f 1a.10V},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");a!==1a.10V&&(1a.10V=a,Hp(1a,6gV))}},1qB:{1n:1b(){1f 1a.1Rp},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");if(a!==1a.1Rp){1d b=1a.1xD;a?2<b.1h&&!k.2L(b[0],b[b.1h-1])&&(b.1h===1a.9h.1h&&(1a.1xD=b=1a.9h.4h()),b.1q(k.1y(b[0]))):2<b.1h&&k.2L(b[0],b[b.1h-1])&&(b.1h-1===1a.9h.1h?1a.1xD=1a.9h:b.9l());1a.1Rp=a;Hp(1a,XE)}}},id:{1n:1b(){1f 1a.7R},1C:1b(a){1a.7R=a;g(1a.16I)&&(1a.16I.2c.id=a)}},1cI:{1n:1b(){1f 1a.16I}},4S:{1n:1b(){1f 1a.17y},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");ob.2L(a,1a.17y)||(1a.17y=ob.1y(a,1a.17y),Hp(1a,6gU))}}});Nf.1i.2H=1b(){1d a=A.8K;g(1a.1uc)&&(a=1a.1uc.4a);1d b=1a.23R.3q.1h,c=1a.23R.1Hm,d=0<1a.1vc[4SR]||0<1a.1vc[XE];if(!A.2L(a,1a.12t)||d)1a.23R=dd.4SQ(1a.1xD,a),1a.2iq=P.5o(1a.11S,a,1a.2iq);1a.12t=A.1y(a,1a.12t);if(1a.23R.3q.1h!==b)Hp(1a,XE);1s 1j(a=c.1h,b=0;b<a;++b)if(c[b]!==1a.23R.1Hm[b]){Hp(1a,XE);1W}};Nf.1i.1Rg=1b(a){g(1a.16I)||(1a.16I=a.1Ga({9k:1a,1ho:1a.1uc,id:1a.7R}));1f 1a.16I};Nf.1i.4SG=1b(){1a.1g6=!1;1j(1d a=1a.1vc,b=0;b<D3-1;++b)a[b]=0};Nf.1i.1sm=1b(){1a.16I=1a.16I&&1a.16I.1M();1a.17u=1a.17u&&1a.17u.1M();1a.1uc=1p 0};1d 6gP=Nf.3ao,6gO=Nf.6gT,TW=Nf.2Kh,6gQ=Nf.6gS,4SO=Nf.6gR,6gN=Nf.1Fm,E3=Nf.2Kg,Cj={1Y2:0,1aU:1,19W:2,25d:3,25c:4,1Y1:5,1Y0:6,2u3:7,2u2:8,1XY:9,1XX:10,2u1:11,2u0:12};1L.2X(Bf.1i,{1h:{1n:1b(){YP(1a);1f 1a.1dJ.1h}}});Bf.1i.add=1b(a){a=1g Nf(a,1a);a.12N=1a.1dJ.1h;1a.1dJ.1q(a);1a.3yE=1a.1jb=!0;1f a};Bf.1i.3S=1b(a){if(1a.8h(a)){1a.1dJ[a.12N]=1p 0;1d b=1a.3bC.3f(a);-1!==b&&1a.3bC.6z(b,1);1a.3yE=1a.1jb=1a.3yF=!0;g(a.3yy)&&(b=a.3yy,b.2z=b.2z&&b.2z.1M());a.1sm();1f!0}1f!1};Bf.1i.7f=1b(){XP(1a);I3(1a);1a.3yD={};1a.3yF=!1;1a.1dJ.1h=0;1a.3bC.1h=0;1a.1jb=!0};Bf.1i.8h=1b(a){1f g(a)&&a.1uc===1a};Bf.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.");YP(1a);1f 1a.1dJ[a]};1d 4SL=1g bc,4SK=1g E,4SJ=1g C;Bf.1i.2H=1b(a){YP(1a);if(0!==1a.1dJ.1h){1d b=a.3z;1a.8C===b&&A.2L(1a.12t,1a.4a)||(1a.8C=b,1a.12t=A.1y(1a.4a),1a.1jb=!0);1d c=a.1O;b=a.11s;1d d,e=1a.1vc;if(1a.3yE){if(0===sb.2gQ)1t 1g qa("3bB 7y 1zb 19G is 1X to 3t 1cp. 9B 14S 2b of 1rc 7y 4d 13u 2Q be 9U 6L 16m.");g(1a.6y)&&1a.6y.1M();1a.6y=1g xl(c,[{1Hl:"4gS",3k:I.7U,2Z:2},{1Hl:"4gR",3k:I.7U,2Z:4,1T:!0},{1Hl:"4gQ",3k:I.3O,2Z:3},{1Hl:"4gP",3k:I.3O,2Z:4},{1Hl:"4gO",3k:I.3O,2Z:2}],1a.1dJ.1h);1a.3yE=!1}if(!(d=1a.1jb)){d=!1;1d f=1a.4SP;1a.1vc[TW]?(f.1tF!==xa.20X&&(d=!0,f.1tF=xa.20X),f.48u=100):f.1tF!==xa.7C&&(0===f.48u?(d=!0,f.1tF=xa.7C):f.48u--)}if(d)F3(1a,c,b);1s if(1a.48s){f=1a.3bC;if(1a.8C!==O.6G)1j(1d h=f.1h,l=0;l<h;++l)d=f[l],d.2H();if(e[4SO]||e[6gQ])F3(1a,c,b);1s 1j(c=f.1h,h=1a.3yD,l=0;l<c;++l){d=f[l];e=d.1vc;1d p=d.3yy,k=0,m;1j(m in h)if(h.3p(m)){if(h[m]===p){e[TW]&&p.6gx(k,d,1a.3yC,b);1W}k+=h[m].3yz}(e[6gP]||e[6gO])&&1a.6y.1nJ(d.12N,0,1g C(d.10V,d.10T));if(2<1a.6y.2w.1h){if(e[TW]||e[4SO])k=a.3z===O.10j?d.1B1:d.2iq,p=bc.12y(k.2V,4SL),k=E.9v(p.15r.x,p.15r.y,p.15r.z,k.3L,4SK),1a.6y.1nJ(d.12N,2,p.162),1a.6y.1nJ(d.12N,3,k);e[6gN]&&(e=4SJ,e.x=0,e.y=3a.6w,p=d.4S,g(p)&&(e.x=p.3I,e.y=p.3W),1a.6y.1nJ(d.12N,4,e))}d.4SG()}f.1h=0;1a.48s=!1}e=1a.1vc;1j(m=0;m<E3;++m)e[m]=0;b=A.8K;a.3z===O.6G&&(b=1a.4a);m=a.10s;e=0!==a.29J;g(1a.3yA)||(1a.3yA=pa.4t({13Q:e,9J:{3e:e}}));g(1a.3yB)||(1a.3yB=pa.4t({12e:Dc.1bQ,13Q:!e,9J:{3e:e}}));1a.6y.2H(a);if(m.3t||m.11P){m=1a.27k;e=a.1O;d=a.13l;f=m.1h;c=0;1d w=!0;h=1a.3bD;l=1a.15S;p=1a.6y.1BM();k=h.1h;1j(1d x=0;x<k;++x)1j(1d q=h[x],t=q.1BC,r=t.1h,u=0;u<r;++u){1j(1d v=t[u],y=v.2M,B=v.4SN.2z,Hb=v.4SN.1cp,lb=Hb.1h,K,F,L=0,S=0;S<lb;++S){1d U=Hb[S];1d R=U.17u;1d V=va.48t[R.1I],W=V.1h;lM.1h=2*W;1j(1d da=0,ea=0;ea<W;++ea){1d Sa=V[ea];lM[da]=Sa;lM[da+1]=R.1dg[Sa]();da+=2}R=R.1I+":"+4H.8s(lM,6gM);R!==K&&(g(K)&&0<L&&(V=F.1pE(),c>=f?(K=1g Oa({7H:1a}),m.1q(K)):K=m[c],++c,w=fb(p(F.1dg),1a.1cH),K.6W=P.1y(YE,K.6W),K.4a=b,K.2z=B,K.4c=q.va,K.4w=V?1a.3yB:1a.3yA,K.6t=V?ma.1bl:e.1py||a.3sC||!e.8X||e.2yp.2Kz?ma.18W:ma.1eW,K.15S=l,K.1cI="1nW",K.4J=w,K.7Z=L,K.2M=y,y+=L,L=0,w=!0,d.1q(K)),F=U.17u,F.2H(e),K=R);R=U.48r;V=R.1h;1j(W=0;W<V;++W)da=R[W],da.4SH===v&&(L+=da.7Z);if(a.3z===O.6G)1d H=U.2iq;1s a.3z===O.15j?H=U.1B1:a.3z===O.10j?g(U.1B1)&&(H=P.1y(U.1B1,4SM),H.2V.x=0):g(U.2iq)&&g(U.1B1)&&(H=P.1nu(U.2iq,U.1B1,4SM));w?(w=!1,P.1y(H,YE)):P.1nu(H,YE,YE)}g(K)&&0<L&&(c>=f?(K=1g Oa({7H:1a}),m.1q(K)):K=m[c],++c,w=fb(p(F.1dg),1a.1cH),K.6W=P.1y(YE,K.6W),K.4a=b,K.2z=B,K.4c=q.va,K.4w=F.1pE()?1a.3yB:1a.3yA,K.6t=F.1pE()?ma.1bl:e.1py||!e.8X||a.3sC||e.2yp.2Kz?ma.18W:ma.1eW,K.15S=l,K.1cI="1nW",K.4J=w,K.7Z=L,K.2M=y,w=!0,d.1q(K));K=1p 0}m.1h=c}}};1d YE=1g P,4SM=1g P;Bf.1i.3Z=1b(){1f!1};Bf.1i.1M=1b(){G3(1a);XP(1a);I3(1a);1a.6y=1a.6y&&1a.6y.1M();1f la(1a)};1d H3=[0,0,0],lM=[];Bf.1i.6gL=1b(a,b){1a.48s=!0;a.1g6||1a.3bC.1q(a);++1a.1vc[b]};fo.1i.6gK=1b(a){1a.1cp.1q(a);a.3yx=1a.6gI(a);1a.3yz+=a.3yx;a.3yy=1a};fo.1i.6gJ=1b(a,b,c){if(!g(1a.2z)){1d d=["1Fm"];c&&d.1q("1mP");-1!==1a.2q.1hP.1qs(/3G\\s+1o\\s+1iQ;/g)&&d.1q("2Gk");Nc.2Du()||d.1q("2ka");c=1g ja({2N:d,5p:["3G 1m 1nW;\\n",1a.2q.1hP,"#1z 1mP\\1B 1m 1nU;\\n#1u\\1J 1v 9j;\\1J 1o 1Y9;\\n#1z 1Y8\\1B 1o 2k9;\\1J 1o 1Fn;\\1J 1o 2ui;\\n#1u\\2s 2k()\\n{\\1jv 5y;\\10m.s = 9j.s;\\10m.st = 9j;\\10m.1F6 = 1w(9j, 0.0);\\10I 2q = 16E(5y);\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1z 1mP\\3R *= 1nU;\\n#1u\\n#1z 2k8\\1r 2O = 1Y9;\\1U(4gX != 1.0){\\1wm = 0.0;\\n}\\3R.a = 3r(1V(0.0, 2T(3.4gW * (2O + (1.0 - 2.0*4gV)))), 3.5);\\n#1u\\n#1z 1Y8\\1U(1Fn > 1.0 || 1Fn < 0.0)\\n{\\10W;\\n}\\1r 1ay = 1Fn;\\1U(1Fn > (1.0 - 2ui))\\n{\\3R.2y *= 4gU;\\n}\\3R.a *= 1ay;\\n#1u\\1ri();\\n}\\n"]});b=b.1zS()("3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 25d;\\2J 1w 25c;\\2J 1w 1Y1;\\2J 1w 1Y0;\\2J 1w 2u3;\\2J 1w 2u2;\\2J 1w 1XY;\\2J 1w 1XX;\\2J 1w 2u1;\\2J 1w 2u0;\\2J 1m 1Y2;\\1J 1v  9j;\\1J 1o 1hC;\\1J 1m 1nW;\\1J 1o 1iQ;\\2s 2k()\\n{\\1r 4M = 1Y2.x;\\1r 1kU = 1Y2.y;\\166 1mO = 1Y2.z < 0.0;\\1r 1XW = 1Y2.w;\\2u 2VW = 4gS(1XW);\\1r 1G = 2VW.x + 0.5;\\1r 2p = 2VW.y;\\1U (1G < 1.0)\\n{\\3Gg = 0.0;\\n}\\1P 1fR = 4gR(1XW);\\1P p, 15E, 6k;\\1U (1iO == 1.0)\\n{\\np = 16e(1aU.1H, 19W.1H);\\2VV = 16e(1Y1.1H, 1Y0.1H);\\2VU = 16e(1XY.1H, 1XX.1H);\\n}\\5L if (1iO == 0.0)\\n{\\np = 16e(25d.1ca, 25c.1ca);\\2VV = 16e(2u3.1ca, 2u2.1ca);\\2VU = 16e(2u1.1ca, 2u0.1ca);\\n}\\5L\\n{\\np = 1Fb(\\1XZ(25d.1ca, 25c.1ca),\\1XZ(1aU.1H, 19W.1H),\\2VT);\\2VV = 1Fb(\\1XZ(2u3.1ca, 2u2.1ca),\\1XZ(1Y1.1H, 1Y0.1H),\\2VT);\\2VU = 1Fb(\\1XZ(2u1.1ca, 2u0.1ca),\\1XZ(1XY.1H, 1XX.1H),\\2VT);\\n}\\n#1z 1Fm\\1R 3Gi = 4gQ(1XW);\\1P 2VS = 4gP(1XW);\\1R 3Gh = 2VS.1H;\\1r 3L = 2VS.w;\\2u 4S = 4gO(1XW);\\1r 1eT;\\1U (1kO == 1HG)\\n{\\1XV = 2tZ.y;\\n}\\5L\\n{\\1P 2V = 16e(3Gi.1H, 3Gh.1H);\\1XV = 1V(0.0, 2A(2V.1H, 2V.1H) - 3L * 3L);\\n}\\1r 1Ou = 4S.x * 4S.x;\\1r 1Ot = 4S.y * 4S.y;\\1U (1eT < 1Ou || 1eT > 1Ot)\\n{\\3Gg = 0.0;\\n}\\n#1u\\1P 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO, 1iQ);\\11u = 1t5 * 6K * 2p;\\1XA = 1v(4M, 2Y(1kU, 0.0, 1.0));\\2tY = 1G;\\2VR = 1fR;\\n#1z 10B\\1we(1kV * p);\\n#1u\\n}\\n");d=1g ja({2N:d,5p:["1p 25f(\\1R p0,\\1R p1,\\1eq 1m 6K,\\1eq 7d 12P,\\1eq 7d 13D)\\n{\\1Ll = 16f;\\2c5 = 16f;\\1R 1iS = p1 - p0;\\1r 7t = 1h(1iS);\\1R 2G = 1T(1iS);\\1r 1iR =  -(18z.x + p0.z);\\1r 1aX = -2G.z;\\1U (1iR < 0.0 && abs(1aX) < 1bg)\\n{\\1Ll = 8O;\\n}\\5L if (1iR < 0.0 && abs(1aX) > 1bg)\\n{\\1r t = (18z.x + p0.z) / 1aX;\\1U (t < 0.0 || t > 7t)\\n{\\1Ll = 8O;\\n}\\5L\\n{\\3gc = p0 + t * 2G;\\2c5 = 8O;\\n}\\n}\\3gb = 18a(1m(p0, 1.0));\\n}\\1P 1Xz(1m 4p, 1m 17C, 1m 18F, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\1P 16F, p0, p1;\\166 13D, 12P;\\n#1z 2Gk\\1P 1lT = 18a(4p);\\1P 1CJ = 18a(17C);\\1P 1CI = 18a(18F);\\2u 1o0;\\1U (1er) {\\2c4 = 1T(1lT.xy - 1CJ.xy);\\n}\\5L {\\2c4 = 1T(1CI.xy - 1lT.xy);\\n}\\18p = 16D(1o0.x, 1o0.y) - 1.2kb;\\18p = 2t(8f / 1qb + 0.5) * 1qb;\\n#1u\\1Lk(17C.1H, 4p.1H, p0, 12P, 13D);\\1Lk(18F.1H, 4p.1H, p1, 12P, 13D);\\1Lk(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\1U (13D)\\n{\\2j 1m(0.0, 0.0, 0.0, 1.0);\\n}\\2u 14U = 1T(p0.xy - 16F.xy);\\2u 12k = 1T(p1.xy - 16F.xy);\\1r 1kf = 1G * 0.5;\\2u 2G;\\n#1z 2ka\\1U (12P)\\n{\\1U (17C.z - 4p.z < 0.0)\\n{\\1fN = 1v(14U.y, -14U.x);\\n}\\5L\\n{\\1fN = 1v(-14U.y, 14U.x);\\n}\\n}\\5L\\n#1u\\1U (1dX(17C.1H - 4p.1H, 1w(0.0), 1jt) || 1dX(14U, -12k, 1jt))\\n{\\1fN = 1v(-12k.y, 12k.x);\\n}\\5L if (1dX(18F.1H - 4p.1H, 1w(0.0), 1jt))\\n{\\1fN = 1v(14U.y, -14U.x);\\n}\\5L\\n{\\2u 2U = 1v(-12k.y, 12k.x);\\1fN = 1T((12k + 14U) * 0.5);\\1U (2A(2G, 2U) < 0.0)\\n{\\1fN = -2G;\\n}\\1r 1gV = abs(2G.x * 12k.y - 2G.y * 12k.x);\\3ga = 2Y(1kf / 1gV, 0.0, 1G * 2.0);\\n}\\2u 2M = 2G * 1jz * 1kf * 1gU;\\2j 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\1P 4p = 15D * 1K;\\1P 17C = 15D * 18d;\\1P 18F = 15D * 6k;\\2j 1Xz(4p, 17C, 18F, 1jz, 1G, 1er, 8f);\\n}\\n",b]});1a.2z=Ga.4t({1O:a,5O:d,5A:c,7W:Cj})}};fo.1i.6gI=1b(a){if(1a.3z===O.6G||!J3(a))1f a=a.1xD.1h,4*a-4;1d b=0,c=a.23R.1Hm;a=c.1h;1j(1d d=0;d<a;++d)b+=4*c[d]-4;1f b};1d Ig=1g k,rm=1g k,sm=1g k,mM=1g k,6gH=1g E,6gG=1g C;fo.1i.1G2=1b(a,b,c,d,e,f,h,l){d=1a.3z;1j(1d p=l.3c.17i*B.PI,n=1a.1cp,m=n.1h,w=0;w<m;++w){1d x=n[w],q=x.1G,t=x.2p&&0<q,r=x.12N,u=1a.4SE(x,l),v=u.3q,A=u.1Hm,C=v.1h;u=x.1Rg(h).1A;1j(1d Hb=0,lb=0,K,F=0;F<C;++F){0===F?x.1Rp?K=v[C-2]:(K=mM,k.3V(v[0],v[1],K),k.add(v[0],K,K)):K=v[F-1];k.1y(K,rm);k.1y(v[F],Ig);F===C-1?x.1Rp?K=v[1]:(K=mM,k.3V(v[C-1],v[C-2],K),k.add(v[C-1],K,K)):K=v[F+1];k.1y(K,sm);K=A[Hb];F===lb+K&&(lb+=K,++Hb);1d L=0===F-lb;K=F===lb+A[Hb]-1;d===O.10j&&(rm.z=0,Ig.z=0,sm.z=0);(d===O.10j||d===O.1at)&&(L||K)&&1>p-1k.abs(Ig.x)&&((0>Ig.x&&0<rm.x||0<Ig.x&&0>rm.x)&&k.1y(Ig,rm),(0>Ig.x&&0<sm.x||0<Ig.x&&0>sm.x)&&k.1y(Ig,sm));K=K?2:4;1j(L=L?2:0;L<K;++L){bc.2ip(Ig,a,c);bc.2ip(rm,a,c+6);bc.2ip(sm,a,c+12);1d S=0>L-2?-1:1;b[e]=F/(C-1);b[e+1]=L%2*2-1;b[e+2]=S;b[e+3]=r;c+=18;e+=4}}v=6gH;v.x=y.10F(u.5r);v.y=y.10F(u.5t);v.z=y.10F(u.5G);v.w=y.10F(u.2O);u=6gG;u.x=q;u.y=t?1:0;t=d===O.10j?x.1B1:x.2iq;A=bc.12y(t.2V,4SL);q=A.162;t=E.9v(A.15r.x,A.15r.y,A.15r.z,t.3L,4SK);A=4SJ;A.x=0;A.y=3a.6w;x=x.4S;g(x)&&(A.x=x.3I,A.y=x.3W);f.1nJ(r,0,u);f.1nJ(r,1,v);2<f.2w.1h&&(f.1nJ(r,2,q),f.1nJ(r,3,t),f.1nJ(r,4,A))}};1d 6gD=1g k,6gE=1g k,6gC=1g k,4SI=1g k;fo.1i.6gF=1b(a,b){1j(1d c=1a.4a,d=1a.1cp,e=d.1h,f=0;f<e;++f)1j(1d h=d[f],g=h.23R.3q,p=h.23R.1Hm,n=g.1h,m=0,w=0,x=0;x<n;++x){if(0===x)if(h.1Rp)1d q=g[n-2];1s q=4SI,k.3V(g[0],g[1],q),k.add(g[0],q,q);1s q=g[x-1];q=A.8P(c,q,6gE);1d t=A.8P(c,g[x],6gD);if(x===n-1)if(h.1Rp)1d r=g[1];1s r=4SI,k.3V(g[n-1],g[n-2],r),k.add(g[n-1],r,r);1s r=g[x+1];r=A.8P(c,r,6gC);1d u=p[m];x===w+u&&(w+=u,++m);u=x===w+p[m]-1?2:4;1j(1d v=0===x-w?2:0;v<u;++v)bc.2ip(t,a,b),bc.2ip(q,a,b+6),bc.2ip(r,a,b+12),b+=18}};1d 6gA=2K(1);fo.1i.6gB=1b(a,b,c,d){1d e=c.1h-1,f=1g ZP(0,d,1a);c[e].1q(f);1d h=0,g=a[a.1h-1],p=0;0<g.1h&&(p=g[g.1h-1]+1);1j(1d k=1a.1cp,m=k.1h,w=0;w<m;++w){1d x=k[w];x.48r=[];if(1a.3z===O.6G){1d q=6gA;1d t=x.1xD.1h;if(0<t)q[0]=t;1s 1aJ}1s q=x.23R.1Hm;t=q.1h;if(0<t){1j(1d r=0,u=0;u<t;++u)1j(1d v=q[u]-1,y=0;y<v;++y)p+4>B.1uW&&(x.48r.1q({4SH:f,7Z:r}),r=0,b.1q(4),g=[],a.1q(g),p=0,f.7Z=h,d=h=0,f=1g ZP(0,0,1a),c[++e]=[f]),g.1q(p,p+2,p+1),g.1q(p+1,p+2,p+3),r+=6,h+=6,d+=6,p+=4;x.48r.1q({4SH:f,7Z:r});p+4>B.1uW&&(b.1q(0),g=[],a.1q(g),p=0,f.7Z=h,h=d=0,f=1g ZP(0,0,1a),c[++e]=[f])}x.4SG()}f.7Z=h;1f d};fo.1i.6gw=1b(a){1j(1d b=1a.1cp,c=0,d=b.1h,e=0;e<d;++e){1d f=b[e];if(f===a)1W;c+=f.3yx}1f c};1d uA={3q:1p 0,1Hm:1p 0},4SF=2K(1),6gz=1g k,6gy=1g T;fo.1i.4SE=1b(a,b){1d c=a.1xD;if(1a.3z===O.6G)1f 4SF[0]=c.1h,uA.3q=c,uA.1Hm=4SF,uA;J3(a)&&(c=a.23R.3q);1j(1d d=b.3c,e=[],f=1a.4a,h=c.1h,g,p=6gz,n=0;n<h;++n)g=c[n],p=A.8P(f,g,p),e.1q(b.12z(d.10Z(p,6gy)));0<e.1h&&(a.1B1=P.1aN(e,a.1B1),b=a.1B1.2V,a.1B1.2V=1g k(b.z,b.x,b.y));uA.3q=e;uA.1Hm=a.23R.1Hm;1f uA};1d $ha;fo.1i.6gx=1b(a,b,c,d){1d e=1a.3z,f=d.3c.17i*B.PI,h=b.3yx;if(h){a+=1a.6gw(b);1d l=$ha;h*=18;!g(l)||l.1h<h?l=$ha=1g 4A(h):l.1h>h&&(l=1g 4A(l.3J,0,h));h=1a.4SE(b,d);d=h.3q;1d p=h.1Hm,n=0,m=0,w=0;h=d.1h;1j(1d x=0;x<h;++x){if(0===x)if(b.1Rp)1d q=d[h-2];1s q=mM,k.3V(d[0],d[1],q),k.add(d[0],q,q);1s q=d[x-1];k.1y(q,rm);k.1y(d[x],Ig);x===h-1?b.1Rp?q=d[1]:(q=mM,k.3V(d[h-1],d[h-2],q),k.add(d[h-1],q,q)):q=d[x+1];k.1y(q,sm);q=p[m];x===w+q&&(w+=q,++m);q=0===x-w;1d t=x===w+p[m]-1;e===O.10j&&(rm.z=0,Ig.z=0,sm.z=0);(e===O.10j||e===O.1at)&&(q||t)&&1>f-1k.abs(Ig.x)&&((0>Ig.x&&0<rm.x||0<Ig.x&&0>rm.x)&&k.1y(Ig,rm),(0>Ig.x&&0<sm.x||0<Ig.x&&0>sm.x)&&k.1y(Ig,sm));t=t?2:4;1j(q=q?2:0;q<t;++q)bc.2ip(Ig,l,n),bc.2ip(rm,l,n+6),bc.2ip(sm,l,n+12),n+=18}c.1jR(l,18*4A.12T*a)}};1L.2X(yl.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),2q:Bj("2q"),1iD:Y("1iD",1p 0,1b(a){2K.8n(a)&&(a=1g bo(a));1f 1g od(a)}),1D:Y("1D"),6N:Y("6N"),9i:Y("9i"),1c4:Y("1c4"),6f:Y("6f"),15K:Y("15K"),4K:Y("4K"),8Y:Y("8Y"),5M:Y("5M"),5R:Y("5R"),16U:Y("16U"),1BL:Y("1BL"),1z2:Y("1z2"),6x:Y("6x"),4S:Y("4S"),12p:Y("12p"),14g:Y("14g"),13G:Y("13G")});yl.1i.1y=1b(a){if(!g(a))1f 1g yl(1a);a.2p=1a.2p;a.2q=1a.2q;a.1iD=1a.1iD;a.1D=1a.1D;a.6N=1a.6N;a.9i=1a.9i;a.1c4=1a.1c4;a.6f=1a.6f;a.15K=1a.15K;a.4K=1a.4K;a.8Y=1a.8Y;a.5M=1a.5M;a.5R=1a.5R;a.16U=1a.16U;a.1BL=1a.1BL;a.1z2=1a.1z2;a.6x=1a.6x;a.4S=1a.4S;a.12p=1a.12p;a.14g=1a.14g;a.13G=1a.13G;1f a};yl.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.2q=m(1a.2q,a.2q);1a.1iD=m(1a.1iD,a.1iD);1a.1D=m(1a.1D,a.1D);1a.6N=m(1a.6N,a.6N);1a.9i=m(1a.9i,a.9i);1a.1c4=m(1a.1c4,a.1c4);1a.6f=m(1a.6f,a.6f);1a.15K=m(1a.15K,a.15K);1a.4K=m(1a.4K,a.4K);1a.8Y=m(1a.8Y,a.8Y);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.16U=m(1a.16U,a.16U);1a.1BL=m(1a.1BL,a.1BL);1a.1z2=m(1a.1z2,a.1z2);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S);1a.12p=m(1a.12p,a.12p);1a.14g=m(1a.14g,a.14g);1a.13G=m(1a.13G,a.13G)};yl.6g5=1b(a,b){1d c=b.1xw;if(c 2m yl&&!c.4SD)if(b.2p&&g(c.1ln)&&c.1ln.6j&&1<c.16n){if(!g(c.1Ha)){b={1G:c.16n.6j,2q:1p 0,3q:[],1qB:!0,4S:1g ob(0,5E4)};c.13C.7K(1b(a,b,d,e){g(c.1Ha)&&c.1Ha.7f();c.1Ha=1p 0});c.1Ha=a.13y.add(1g Bf);a=2K.8n(c.48q.6j)?c.48q.6j:c.48q.6j.3q;if(!c.16U)1j(1d d=0;d<a.1h;d++){1d e=T.12y(a[d]);e.1D=0;a[d]=T.1g8(e)}if(0<c.1d5){1d f=[];1j(d=0;d<a.1h;d++)e=T.12y(a[d]),e.1D=c.1d5.6j,e=T.1g8(e),f.1q(e),c.1Ha.add(fb({3q:[a[d],e],1qB:!1,2q:va.1kk(va.1oL,{1A:c.16O.6j})},b));c.1Ha.add(fb({3q:f,2q:va.1kk(va.1oL,{1A:c.16O.6j})},b))}c.1Ha.add(fb({3q:a,2q:va.1kk(va.1oL,{1A:c.16O.6j})},b))}}1s g(c.1Ha)&&(c.1Ha.7f(),c.1Ha=1p 0)};1d $P="1p 25f(\\1R p0,\\1R p1,\\1eq 1m 6K,\\1eq 7d 12P,\\1eq 7d 13D)\\n{\\1Ll = 16f;\\2c5 = 16f;\\1R 1iS = p1 - p0;\\1r 7t = 1h(1iS);\\1R 2G = 1T(1iS);\\1r 1iR =  -(18z.x + p0.z);\\1r 1aX = -2G.z;\\1U (1iR < 0.0 && abs(1aX) < 1bg)\\n{\\1Ll = 8O;\\n}\\5L if (1iR < 0.0 && abs(1aX) > 1bg)\\n{\\1r t = (18z.x + p0.z) / 1aX;\\1U (t < 0.0 || t > 7t)\\n{\\1Ll = 8O;\\n}\\5L\\n{\\3gc = p0 + t * 2G;\\2c5 = 8O;\\n}\\n}\\3gb = 18a(1m(p0, 1.0));\\n}\\1P 1Xz(1m 4p, 1m 17C, 1m 18F, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\1P 16F, p0, p1;\\166 13D, 12P;\\n#1z 2Gk\\1P 1lT = 18a(4p);\\1P 1CJ = 18a(17C);\\1P 1CI = 18a(18F);\\2u 1o0;\\1U (1er) {\\2c4 = 1T(1lT.xy - 1CJ.xy);\\n}\\5L {\\2c4 = 1T(1CI.xy - 1lT.xy);\\n}\\18p = 16D(1o0.x, 1o0.y) - 1.2kb;\\18p = 2t(8f / 1qb + 0.5) * 1qb;\\n#1u\\1Lk(17C.1H, 4p.1H, p0, 12P, 13D);\\1Lk(18F.1H, 4p.1H, p1, 12P, 13D);\\1Lk(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\1U (13D)\\n{\\2j 1m(0.0, 0.0, 0.0, 1.0);\\n}\\2u 14U = 1T(p0.xy - 16F.xy);\\2u 12k = 1T(p1.xy - 16F.xy);\\1r 1kf = 1G * 0.5;\\2u 2G;\\n#1z 2ka\\1U (12P)\\n{\\1U (17C.z - 4p.z < 0.0)\\n{\\1fN = 1v(14U.y, -14U.x);\\n}\\5L\\n{\\1fN = 1v(-14U.y, 14U.x);\\n}\\n}\\5L\\n#1u\\1U (1dX(17C.1H - 4p.1H, 1w(0.0), 1jt) || 1dX(14U, -12k, 1jt))\\n{\\1fN = 1v(-12k.y, 12k.x);\\n}\\5L if (1dX(18F.1H - 4p.1H, 1w(0.0), 1jt))\\n{\\1fN = 1v(14U.y, -14U.x);\\n}\\5L\\n{\\2u 2U = 1v(-12k.y, 12k.x);\\1fN = 1T((12k + 14U) * 0.5);\\1U (2A(2G, 2U) < 0.0)\\n{\\1fN = -2G;\\n}\\1r 1gV = abs(2G.x * 12k.y - 2G.y * 12k.x);\\3ga = 2Y(1kf / 1gV, 0.0, 1G * 2.0);\\n}\\2u 2M = 2G * 1jz * 1kf * 1gU;\\2j 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\1P 4p = 15D * 1K;\\1P 17C = 15D * 18d;\\1P 18F = 15D * 6k;\\2j 1Xz(4p, 17C, 18F, 1jz, 1G, 1er, 8f);\\n}\\n\\2J 1w 1aU;\\2J 1w 19W;\\2J 1w 1Y1;\\2J 1w 1Y0;\\2J 1w 1XY;\\2J 1w 1XX;\\2J 1v 15t;\\2J 1m 1A;\\2J 1o 4R;\\1J 1m 15g;\\2s 2k()\\n{\\1r 1kU = 15t.x;\\1r 1G = abs(15t.y) + 0.5;\\166 1mO = 15t.y < 0.0;\\1P p = 1nS();\\1P 15E = 3GI();\\1P 6k = 3GH();\\1wi = 1A;\\1r 8f;\\1P 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO, 8f);\\11u = 1t5 * 6K;\\n#1z 10B\\1we(1kV * p);\\n#1u\\n}\\n";Nc.2Du()||($P="#2f 2ka \\n"+$P);1L.2X(hf.1i,{5O:{1n:1b(){1f 1a.1za}},5A:{1n:1b(){1f 1a.1z9}},4w:{1n:1b(){1f 1a.1hT}},1ph:{1n:1b(){1f 1a.1z8}},9S:{1n:1b(){1f 1a.14s}}});hf.1sC=za.1Gd;hf.1i.1MH=pe.1i.1MH;hf.1i.1pE=pe.1i.1pE;hf.1i.1MG=pe.1i.1MG;1d aQ="1p 25f(\\1R p0,\\1R p1,\\1eq 1m 6K,\\1eq 7d 12P,\\1eq 7d 13D)\\n{\\1Ll = 16f;\\2c5 = 16f;\\1R 1iS = p1 - p0;\\1r 7t = 1h(1iS);\\1R 2G = 1T(1iS);\\1r 1iR =  -(18z.x + p0.z);\\1r 1aX = -2G.z;\\1U (1iR < 0.0 && abs(1aX) < 1bg)\\n{\\1Ll = 8O;\\n}\\5L if (1iR < 0.0 && abs(1aX) > 1bg)\\n{\\1r t = (18z.x + p0.z) / 1aX;\\1U (t < 0.0 || t > 7t)\\n{\\1Ll = 8O;\\n}\\5L\\n{\\3gc = p0 + t * 2G;\\2c5 = 8O;\\n}\\n}\\3gb = 18a(1m(p0, 1.0));\\n}\\1P 1Xz(1m 4p, 1m 17C, 1m 18F, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\1P 16F, p0, p1;\\166 13D, 12P;\\n#1z 2Gk\\1P 1lT = 18a(4p);\\1P 1CJ = 18a(17C);\\1P 1CI = 18a(18F);\\2u 1o0;\\1U (1er) {\\2c4 = 1T(1lT.xy - 1CJ.xy);\\n}\\5L {\\2c4 = 1T(1CI.xy - 1lT.xy);\\n}\\18p = 16D(1o0.x, 1o0.y) - 1.2kb;\\18p = 2t(8f / 1qb + 0.5) * 1qb;\\n#1u\\1Lk(17C.1H, 4p.1H, p0, 12P, 13D);\\1Lk(18F.1H, 4p.1H, p1, 12P, 13D);\\1Lk(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\1U (13D)\\n{\\2j 1m(0.0, 0.0, 0.0, 1.0);\\n}\\2u 14U = 1T(p0.xy - 16F.xy);\\2u 12k = 1T(p1.xy - 16F.xy);\\1r 1kf = 1G * 0.5;\\2u 2G;\\n#1z 2ka\\1U (12P)\\n{\\1U (17C.z - 4p.z < 0.0)\\n{\\1fN = 1v(14U.y, -14U.x);\\n}\\5L\\n{\\1fN = 1v(-14U.y, 14U.x);\\n}\\n}\\5L\\n#1u\\1U (1dX(17C.1H - 4p.1H, 1w(0.0), 1jt) || 1dX(14U, -12k, 1jt))\\n{\\1fN = 1v(-12k.y, 12k.x);\\n}\\5L if (1dX(18F.1H - 4p.1H, 1w(0.0), 1jt))\\n{\\1fN = 1v(14U.y, -14U.x);\\n}\\5L\\n{\\2u 2U = 1v(-12k.y, 12k.x);\\1fN = 1T((12k + 14U) * 0.5);\\1U (2A(2G, 2U) < 0.0)\\n{\\1fN = -2G;\\n}\\1r 1gV = abs(2G.x * 12k.y - 2G.y * 12k.x);\\3ga = 2Y(1kf / 1gV, 0.0, 1G * 2.0);\\n}\\2u 2M = 2G * 1jz * 1kf * 1gU;\\2j 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\1P 4p = 15D * 1K;\\1P 17C = 15D * 18d;\\1P 18F = 15D * 6k;\\2j 1Xz(4p, 17C, 18F, 1jz, 1G, 1er, 8f);\\n}\\n\\2J 1w 1aU;\\2J 1w 19W;\\2J 1w 1Y1;\\2J 1w 1Y0;\\2J 1w 1XY;\\2J 1w 1XX;\\2J 1v 15t;\\2J 1v st;\\2J 1o 4R;\\n#1z 1Y8\\1B 1o 2W6;\\1B 1o 3GE;\\1B 1o 2W7;\\1B 1o 1Y7;\\1B 1o 3GG;\\2J 1w 6Y;\\1J 1o 1Fn;\\1J 1o 2ui;\\n#1u\\1J 1o 1hC;\\1J 1v 9j;\\1J 1o 1iQ;\\1J 1o 1Y9;\\2s 2k()\\n{\\1r u = abs(15t.x);\\1r 1kU = 15t.x;\\1r 1G = abs(15t.y) + 0.5;\\166 1mO = 15t.y < 0.0;\\1P p = 1nS();\\1P 15E = 3GI();\\1P 6k = 3GH();\\2tY = 1G;\\1XA = st;\\5dr = u;\\1P 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO, 1iQ);\\11u = 1t5 * 6K;\\n#1z 1Y8\\1r t = 0.0;\\1U(abs(2W7) > 1bg)\\n{\\nt = 13R((2W7 * 2W6 + 6Y.z) / 6Y.y, 1.0 + 1Y7) - 1Y7;\\n}\\5L\\n{\\nt = 13R((2W6 + 6Y.z) / 3GG, 1.0 + 1Y7) - 1Y7;\\n}\\1r 3GF = 6Y.y * 1Y7;\\5dq = (6Y.x - t * 6Y.y) / 3GF;\\5dp = 3GE / 6Y.y;\\n#1u\\n#1z 10B\\1we(1kV * p);\\n#1u\\n}\\n";Nc.2Du()||(aQ="#2f 2ka \\n"+aQ);1L.2X(Og.1i,{5O:{1n:1b(){1d a=1a.1za;-1!==1a.2q.1hP.1qs(/3G\\s+1o\\s+1iQ;/g)&&(a="#2f 2Gk\\n"+a);"43v"==1a.2q.1I&&(a="#2f 2k8\\n"+a);"44O"==1a.2q.1I&&(a="#2f 1Y8\\n"+a);1f a}},5A:{1n:1b(){1d a=1a.1z9;"43v"==1a.2q.1I&&(a="#2f 2k8\\n"+a);"44O"==1a.2q.1I&&(a="#2f 1Y8\\n"+a);1f a}},4w:{1n:1b(){1f 1a.1hT}},1ph:{1n:1b(){1f 1a.1z8}},9S:{1n:1b(){1f 1a.14s}}});Og.1sC=za.4Jv;Og.1i.1MH=pe.1i.1MH;Og.1i.1pE=pe.1i.1pE;Og.1i.1MG=pe.1i.1MG;1d Ma=1L.3F({6h:H.6h,10w:H.10w,1f1:H.1f1,8JK:H.4SC,8JJ:H.4SB,48p:H.48p,2io:H.4SA,1q3:H.4Sz}),Jc=1L.3F({2f7:H.2f7,1PP:H.1PP,1Be:H.1Be,340:H.2p5,2a0:H.2a0,1JA:H.2AV,47R:H.3yw,1jW:H.1jW});Oe.3Vk=1b(){1f{8d:{3e:!1},9J:{3e:!1},13Q:!1,12h:{3e:!0,1iu:Jc.1JA,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.6h},1it:Jc.1JA,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.6h},1bY:0,11q:-1},12e:Dc.1bQ}};Oe.4A1=1b(){1f{8d:{3e:!0},13Q:!1}};Oe.3Vn=1b(){1f{13Q:!1,1fA:{5r:!1,5t:!1,5G:!1,2O:!1},9J:{3e:!0,14R:go.2a0},12h:{3e:!0,1iu:Jc.1jW,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.2io},1it:Jc.1jW,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:0,11q:-1}}};Oe.3pV=1b(){1f{8d:{3e:!1},9J:{3e:!1},13Q:!1,12h:{3e:!0,1iu:Jc.1Be,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1it:Jc.1Be,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:3,11q:3},12e:Dc.1bQ}};Oe.3UB=1b(){1f{8d:{3e:!1},13Q:!1,1fA:{5r:!1,5t:!1,5G:!1,2O:!1},9J:{3e:!0},12h:{3e:!0,1iu:Jc.1jW,1eb:{15w:Ma.10w,17x:Ma.1q3,17w:Ma.10w},1it:Jc.1jW,1eH:{15w:Ma.10w,17x:Ma.1q3,17w:Ma.10w},1bY:0,11q:1},1lq:1}};Oe.8JI=1b(a){a=a?1a.3Vn():1a.3UB();a.12e={3e:!1};a.1bB={3e:!0,8H:1,13u:1};1f a};Oe.8JH=1b(a){a=a?1a.3Vk():1a.3pV();a.12e={3e:!1};a.9J={3e:!0};a.1bB={3e:!0,8H:1,13u:1};1f a};Oe.3n5=1b(a){1f{3e:a,1iu:Jc.1jW,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1f1},1it:Jc.1jW,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1f1},1bY:2,11q:2}};Oe.5HC=1b(a){1f{8d:{3e:a},9J:{3e:!0,14R:go.340},12e:Dc.1bQ}};1L.2X(Kb.1i,{1zW:{1n:1b(){1f 1a.6gv}},1qK:{1n:1b(){1f 1a.4So}},1EM:{1n:1b(){1f 1a.6gu}},1sV:{1n:1b(){1f 1a.2PO}},17X:{1n:1b(){1f 1a.2hN}},1od:{1n:1b(){1f 1a.6gt}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}}});1d 6gs=1g C,6gr=1g k,L3=1g E,6gq=/3Q\\s+1Ji(?:3|4)\\s+(.*)3yv;/g;Kb.3bx=1b(a,b,c){1j(1d d,e="",f="",h="";1F!==(d=6gq.1f4(b));){d=d[1];1d l="1m 8JG"+d[0].1G9()+d.13c(1)+"()";"1m 1nS()"!==l&&(e+=l+";\\n");g(a.2Qx)?(b=b.3X(/3Q\\s+1Ji(?:3|4)\\s+1aU;/g,""),b=b.3X(/3Q\\s+1Ji(?:3|4)\\s+19W;/g,""),e+="2n 5w 1wg;\\n",f+="3Q 1m 1K;\\n",h+=l+"\\n{\\n    1f 1wg * 1K;\\n}\\n\\n",b=b.3X(/15D\\s+\\*\\s+/g,""),b=b.3X(/1kV/g,"17B")):c?h+=l+"\\n{\\n    1f 16e("+d+"3yv, "+d+"48o);\\n}\\n\\n":(f+="3Q 1w "+d+"4Sy;\\2J 1w "+d+"4Sx;\\n",h+=l+"\\n{\\n    1m p;\\n    if (1iO == 1.0)\\n    {\\n        p = 16e("+d+"3yv, "+d+"48o);\\n    }\\n    1s if (1iO == 0.0)\\n    {\\n        p = 16e("+d+"4Sy.1ca, "+d+"4Sx.1ca);\\n    }\\n    1s\\n    {\\n        p = 1Fb(\\n                16e("+d+"4Sy.1ca, "+d+"4Sx.1ca),\\n                16e("+d+"3yv, "+d+"48o),\\n                1iO);\\n    }\\n    1f p;\\n}\\n\\n")}1f[e,f,b,h].14G("\\n")};Kb.2Qi=1b(a,b){1f g(a.1Wl.2p)?ja.1gF(b,"6gp")+"\\2s 2k() \\n{ \\n    6gp(); \\n    6I *= 8JF(4R); \\n}":b};Kb.48f=1b(a,b,c){if(!g(a.1Wl.1A)&&!g(a.1Wl.2D9)||-1===b.1qs(/3Q\\s+1m\\s+1A;/g))1f b;if(c&&!g(a.1Wl.2D9))1t 1g r("A 2D9 2pi-1bX 3Q is 1X 16r 1nl a 4e 15w 161 17m 2yG a 1A 3Q.");a=b.3X(/3Q\\s+1m\\s+1A;/g,"");1f a=c?a.3X(/(\\b)1A(\\b)/g,"$8JE(4R)$2"):a.3X(/(\\b)1A(\\b)/g,"$8JD(4R)$2")};Kb.6fv=1b(a){a=a.3X(/3Q\\s+1m\\s+1fR;/g,"");1f a=a.3X(/(\\b)1fR(\\b)/g,"$8JC(4R)$2")};Kb.6go=1b(a,b){if(!g(a.1Wl.2M))1f b;a=b.3X(/3Q\\s+1o\\s+4R;/g,"3Q 1o 4R;\\2J 1o 1i2;");1f a=a.3X(/1m\\s+([A-Za-z0-31m]+)\\s+=\\s+1nS\\(\\);/g,"1m $1 = 1nS();\\n    if (1kO == 1F3)\\n    {\\n        $1 = $1 + 1m(8JB(4R) * 1i2, 0.0);    }\\n    1s\\n    {\\n        $1 = $1 + 1m(6ge(4R) * 1i2, 0.0);    }\\n")};Kb.3by=1b(a,b,c){if(!g(a.1Wl.4S))1f b;b=ja.1gF(b,"6gn");1d d="1p 2k() \\n{ \\n    6gn(); \\n    1v 4S = 8JA(4R);\\n    1w 3yu = 6gj(4R);\\n    1w 3yt = 6gi(4R);\\n    1o 4Su = 6gf(4R);\\n";d=a.2Pe?c?d+"    1m 2E8 = 16e(3yu, 3yt);\\n":d+"    1w 4Sw = 6gh(4R);\\n    1w 4Sv = 6gg(4R);\\n    1m 2E8;\\n    if (1iO == 1.0)\\n    {\\n        2E8 = 16e(3yu, 3yt);\\n    }\\n    1s if (1iO == 0.0)\\n    {\\n        2E8 = 16e(4Sw.1ca, 4Sv.1ca);\\n    }\\n    1s\\n    {\\n        2E8 = 1Fb(\\n                16e(4Sw.1ca, 4Sv.1ca),\\n                16e(3yu, 3yt),\\n                1iO);\\n    }\\n":d+"    1m 2E8 = 1p3 * 1m(3yu + 3yt, 1.0);\\n";1f b+"\\n"+(d+"    1o 4St = 4Su * 4Su; \\n    1o 2Qy; \\n    if (1kO == 1HG) \\n    { \\n        2Qy = 2tZ.y - 4St; \\n    } \\n    1s \\n    { \\n        2Qy = 2A(2E8.1H, 2E8.1H) - 4St; \\n    } \\n    2Qy = 1V(2Qy, 0.0); \\n    1o 1Ou = 4S.x * 4S.x; \\n    1o 1Ot = 4S.y * 4S.y; \\n    1o 2p = (2Qy >= 1Ou && 2Qy <= 1Ot) ? 1.0 : 0.0; \\n    6I *= 2p; \\n}")};1d bQ=1k.1V(Nc.46T-1,1),vH,6gm=1g Vc("4Sr",3a.19B),aia=1g bc,R3=1g T,S3=1g k,Q3=1g P,cQ=1g k,6gl=1g k,SB=1g A,U3=1g k;Kb.3y8=1b(a,b,c,d){if(a.2Pe){if(d||!A.2L(c,a.12t)){A.1y(c,a.12t);1d e=a.23P.1h;1j(d=0;d<e;++d){1d f=a.23P[d];g(f)&&(a.2r1[d]=P.5o(f,c,a.2r1[d]),b.1fw||(a.29Z[d]=P.1y(a.2r0[d],a.29Z[d]),a.29Z[d].2V.x=0,a.2qZ[d]=P.1nu(a.2r1[d],a.2r0[d])))}}c=a.161.12Q;if(g(c))1j(e=a.23P.1h,d=0;d<e;++d){f=a.23P[d];1d h=a.2r1[d],l=b.3w.2wq(f,b.1O.8j,b.1O.7p)*c;h.3L=f.3L+l}}};Kb.1i.2H=1b(a){if(-1<a.1g4&&0<1a.1lc.1h&&g(1a.1lc[0])&&g(1a.1lc[0].1mu)&&g(1a.1lc[0].1mu.7H)){1d b=1a.1lc[0].1mu.7H;if("7w"!==2h b.1ks&&!b.1ks(a.1g4))1f}if(!(!g(1a.13g)&&0===1a.16z.1h||g(1a.13g)&&2K.8n(1a.13g)&&0===1a.13g.1h||!g(1a.161)||a.3z!==O.6G&&a.1fw||!a.10s.3t&&!a.10s.11P)){if(g(1a.1vN))1t 1a.1vN;if(g(1a.2Qx)&&!a.1fw)1t 1g r("8Jz 2gE is 1cF 1IZ 1j 3D 1cF 2eA.");if(1a.19i!==bg.12D){1d c=a.1O;if(!g(1a.6y)){1d d=1a.13g,e=2K.8n(d)?d:[d],f=e.1h;if(0!==f){1d h=e.1h,l=[],p=e[0].2w,n;1j(n in p)if(p.3p(n)&&g(p[n])){1j(1d z=p[n],w=!0,x=1;x<h;++x){1d q=e[x].2w[n];if(!g(q)||z.3k!==q.3k||z.2Z!==q.2Z||z.1T!==q.1T){w=!1;1W}}w&&l.1q(n)}1d t=l.1h,u=[],v={},B={},C=e[0].2w,E;1j(E=0;E<t;++E){1d Hb=l[E];1d F=C[Hb];v[Hb]=E;u.1q({1Hl:"6gk"+Hb,3k:F.3k,2Z:F.2Z,1T:F.1T})}-1!==l.3f("4S")&&(u.1q({1Hl:"6gj",3k:I.3O,2Z:3},{1Hl:"6gi",3k:I.3O,2Z:3},{1Hl:"6gh",3k:I.3O,2Z:3},{1Hl:"6gg",3k:I.3O,2Z:3},{1Hl:"6gf",3k:I.3O,2Z:1}),B.6gc=u.1h-5,B.6gb=u.1h-4,B.6ga=u.1h-3,B.6g9=u.1h-2,B.3L=u.1h-1);if(-1!==l.3f("2M")){u.1q({1Hl:"6ge",3k:I.3O,2Z:3});1d K=u.1h-1}u.1q({1Hl:"1ki",3k:I.7U,2Z:4,1T:!0});1d H=u.1h,L=1g xl(c,u,f);1j(E=0;E<f;++E){1d S=e[E];C=S.2w;1j(1d U=0;U<t;++U){Hb=l[U];F=C[Hb];1d R=K3(F.1Q);L.1nJ(E,v[Hb],R)}1d V={9k:m(S.1FK,1a)};g(S.id)&&(V.id=S.id);1d W=c.1Ga(V);1a.1zT.1q(W);1d da=W.1A,ea=L3;ea.x=y.10F(da.5r);ea.y=y.10F(da.5t);ea.z=y.10F(da.5G);ea.w=y.10F(da.2O);L.1nJ(E,H-1,ea)}1a.6y=L;1a.1Wl=v;1a.4Sq=B;1a.4Ss=K}}if(0<1a.6y.2w.1h){if(0===sb.2gQ)1t 1g qa("3bB 7y 1zb 19G is 1X to 3t 13y 10M 2pi-1bX 2w. 9B 14S 2b of 1rc 7y 4d 13u 2Q be 9U 6L 16m.");1a.6y.2H(a)}if(1a.19i!==bg.3yq&&1a.19i!==bg.3yr)if(1a.17X)6gd(1a,a);1s{1d Sa=2K.8n(1a.13g)?1a.13g:[1a.13g],J=1a.2Qw=Sa.1h,dc=2K(J),M=1a.1lc,Ob,vd=0;1j(Ob=0;Ob<J;Ob++){1d uc=Sa[Ob];1d sc=uc.3y;if(g(sc.2w)&&g(sc.6Z)){1d cd=1p 0,mc=1p 0,Xb=sc,ld=Xb.2w,ae=1g ce;1j(mc in ld)if(ld.3p(mc)&&g(ld[mc])){1d N=mc,Q=1p 0,T=ld[mc];Q=2K.8n(T.2a)?T.2a.4h(0):1g T.2a.7m(T.2a);1d Z=1g Pa({3k:T.3k,2Z:T.2Z,1T:T.1T,2a:Q});ae[N]=Z}if(g(Xb.4N)){1d X=Xb.4N;cd=2K.8n(X)?X.4h(0):1g X.7m(X)}1d ba=1g Pb({2w:ae,4N:cd,6Z:Xb.6Z,7u:P.1y(Xb.7u)})}1s ba=sc.7m.14t(sc);1d Y=ba;1d ha=vd++,be=uc;1d ca={3y:Y,2w:be.2w,4a:A.1y(be.4a),1FK:be.1FK,id:be.id};dc[ha]=ca;M.1q(uc.id)}dc.1h=vd;1d ia=a.11s,ja=RB.4Sr({18P:dc,3c:ia.3c,18T:ia,2Qv:a.1O.1Pf,1fw:a.1fw,1zW:1a.1zW,1od:1a.1od,4a:1a.4a,2Qu:1a.3ys});1a.1jX=ja.1ht;1a.12m=ja.7W;1a.4a=A.1y(ja.4a,1a.4a);1a.3bA=ja.2Qt;1a.3yo=ja.2Qs;1a.2Qp=ja.2Qr;1a.48n=ja.2Qq;g(1a.1jX)&&0<1a.1jX.1h?(1a.2Qo=!0,1a.19i=bg.3yr):QB(1a,a,bg.12D,1p 0)}if(1a.19i===bg.3yr){if(g(1a.1Wl.4S)&&!1a.4Sp){1j(1d fa=1a.4Sq,Mf=fa.6gc,ma=fa.6gb,la=fa.6ga,ff=fa.6g9,Kc=fa.3L,pa=a.11s,Ce=pa.3c,na=1a.6y,sa=1a.2Qp,wa=sa.1h,ta=0;ta<wa;++ta){1d ua=sa[ta];if(g(ua)){1d va=1a.4a;g(va)&&1a.2Pe&&(ua=P.5o(ua,va,Q3));1d ya=ua.2V,ra=ua.3L,za=bc.12y(ya,aia);na.1nJ(ta,Mf,za.162);na.1nJ(ta,ma,za.15r);if(!a.1fw){1d Aa=Ce.10Z(ya,R3),Ca=pa.12z(Aa,S3);za=bc.12y(Ca,aia);na.1nJ(ta,la,za.162);na.1nJ(ta,ff,za.15r)}na.1nJ(ta,Kc,ra)}}1a.4Sp=!0}P3(1a,a);1j(1d Ba=1a.12m,Da=1a.1jX,Ha=a.1fw,Ja=a.1O,Ia=[],Oa=Da.1h,Ma=0;Ma<Oa;++Ma){1d La=Da[Ma];Ia.1q(Fb.1M5({1O:Ja,3y:La,7W:Ba,1tF:xa.7C,1qK:1a.4So}));if(g(1a.23Q))1a.23Q(a,La);1s if(1a.23P.1q(P.1y(La.7u)),1a.2r1.1q(1g P),!Ha&&g(La.1BR)){1d Ka=La.1BR.2V,Na=Ka.x,Ra=Ka.y;Ka.x=Ka.z;Ka.y=Na;Ka.z=Ra;1a.2r0.1q(P.1y(La.1BR));1a.29Z.1q(1g P);1a.2qZ.1q(1g P)}}1a.16z=Ia;1a.1vl=Da[0].6Z;1a.1EM&&(1a.13g=1p 0);1a.1jX=1p 0;QB(1a,a,bg.3yq,1p 0)}if(1a.2p&&1a.19i===bg.3yq){1a.3yp||P3(1a,a);if(1a.2Qo){1d Ta=1a.1Wl.2M;if(1a.2Qo&&g(Ta)){1d Ga,Ua=1a.3yo,Va=1a.2Qp,Za=Va.1h,Wa=1a.4Sn;if(!g(Wa)){Wa=2K(Za);1j(Ga=0;Ga<Za;Ga++)Wa[Ga]=1g P;1a.4Sn=Wa}1j(Ga=0;Ga<Za;++Ga){1d bb=Wa[Ga],Ya=1a.6y.3yn(Ga,Ta,1g k);bb=Va[Ga].1y(bb);V3(bb,Ya,Ua[Ga])}1d Xa=[],ab=[],cb=[];1j(Ga=0;Ga<Za;++Ga){1d fb=Wa[Ga];0<fb.2V.x-fb.3L||P.1tE(fb,Cb.48m)!==Lb.1wT?Xa.1q(fb):(ab.1q(fb),cb.1q(fb))}1d eb=Xa[0],Ea=cb[0],db=ab[0];1j(Ga=1;Ga<Xa.1h;Ga++)eb=P.1nu(eb,Xa[Ga]);1j(Ga=1;Ga<cb.1h;Ga++)Ea=P.1nu(Ea,cb[Ga]);1j(Ga=1;Ga<ab.1h;Ga++)db=P.1nu(db,ab[Ga]);1d Qa=[];g(eb)&&Qa.1q(eb);g(Ea)&&Qa.1q(Ea);g(db)&&Qa.1q(db);1j(Ga=0;Ga<Qa.1h;Ga++){1d kb=Qa[Ga].1y(1a.23P[Ga]);1a.23P[Ga]=kb;1a.2r0[Ga]=P.3aK(kb,a.11s,1a.2r0[Ga])}Kb.3y8(1a,a,1a.4a,!0)}1a.2Qo=!1}1d gb=1a.161,jb=gb.2q,hb=!1,mb=!1;1a.2Qn!==gb?(1a.2Qn=gb,1a.17u=jb,mb=hb=!0):1a.17u!==jb&&(1a.17u=jb,mb=!0);1d nb=1a.2Pd,pb=g(nb)?nb.2q:1p 0;1a.1Kq!==nb?(1a.1Kq=nb,1a.3ym=pb,mb=hb=!0):1a.3ym!==pb&&(1a.3ym=pb,mb=!0);1d ob=1a.2Qn.1pE();1a.34d!==ob&&(1a.34d=ob,hb=!0);g(1a.17u)&&1a.17u.2H(c);1d qb=gb.1ph&&ob,rb=!1;g(1a.1lc[0])&&g(1a.1lc[0].3nN)&&1a.1lc[0].3nN&&(rb=!0);hb&&m(1a.3yi,6g8)(1a,c,gb,qb,rb);mb&&m(1a.2Qj,6g7)(1a,a,gb);(hb||mb)&&m(1a.2Qg,6g6)(1a,gb,jb,ob,qb,1a.27k,1a.2Q1,a);g(1a.1lc[0])&&yl.6g5(a.3w.2R,1a.1lc[0]);m(1a.1Ry,6g4)(1a,a,1a.27k,1a.2Q1,1a.4a,1a.8d,1a.15S,qb)}}}};1d 6g3=1g P,$pa=1g P,6g2=1g k;Kb.1i.1bH=1b(a){if(!g(a))1t 1g r("id is 1X");if(!g(1a.6y))1t 1g r("2Q 4G 2H 8w 1Jf 1bH");1j(1d b=-1,c=1a.4Sl,d=1a.1lc,e=d.1h,f=0;f<e;++f){1d h=(c+f)%e;if(a===d[h]){b=h;1W}}if(-1!==b){a=1a.48l[b];if(g(a))1f a;c=1a.6y;d=1a.1Wl;a={};f={};1j(1d l in d)if(d.3p(l)){h=d[l];f[l]={1n:aqa(c,b,h)};1d p=!0,k=1a.4Sm;if(p&&g(k)){e=k.1h;1j(1d m=0;m<e;++m)if(l===k[m]){p=!1;1W}}p&&(f[l].1C=6g1(c,b,h,1a,l))}6g0(1a,f,b);6fZ(1a,f,b);1L.2X(a,f);1a.4Sl=b;1f 1a.48l[b]=a}};Kb.1i.3Z=1b(){1f!1};Kb.1i.1M=1b(){1d a;1a.11V=1a.11V&&1a.11V.1M();1a.27S=1a.27S&&1a.27S.1M();1d b=1a.16z;1d c=b.1h;1j(a=0;a<c;++a)b[a].1M();1a.16z=1p 0;b=1a.1zT;c=b.1h;1j(a=0;a<c;++a)b[a].1M();1a.1zT=1p 0;1a.6y=1a.6y&&1a.6y.1M();1a.12m=1a.48l=1a.1lc=1p 0;1f la(1a)};Kb.1i.3S1=1b(a,b){0!=a||0!=b?(1a.1xe.3e=!0,C.9v(a,b,1a.1xe.1Q)):(1a.1xe.3e=!1,C.9v(0,0,1a.1xe.1Q))};Pg.1i.4RV=1b(a){v.1N.7d("48k",a);1d b=1a.2Qn,c=1a.4Sj,d=[];a||1a.3yl||d.1q("1hB");c.2Qm&&d.1q("3fW");c.3yj&&d.1q("3fV");c.2Ql&&d.1q("1qg");1a.4Sk&&d.1q("1On");c.3yk&&d.1q("2bJ");b 2m zc&&d.1q("19Y");c.4X&&d.1q("3FC");c.11E&&d.1q("3FB");c.1p2&&d.1q("3FA");c.st&&d.1q("3Fz");b.8z&&d.1q("1kW");a="";b 2m zc||(a=b.2q.1hP);1f 1g ja({2N:d,5p:[a,"#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1qg\\n#1z 1hB\\1J 1m 1Fh;\\n#1s // 1hB\\1J 1v 1kY;\\1J 1m 1uw;\\1J 1m 1uv;\\n#1u // 1hB\\1J 1w 1Ok;\\1J 1w 24X;\\1J 1w 24W;\\n#1u // 1qg\\n#1z 19Y\\1J 1m 15g;\\n#1u\\n#1z 2bJ\\1R 2jO(1v 2bK, 1o 17n)\\n{\\1P 5Z = 1az(2bK, 17n);\\2j 5Z.1H / 5Z.w;\\n}\\1R 2jM(1m 5Z, 1v 1CD)\\n{\\2u 1CE = 4u.xy;\\1r 2jP = 11N(1Y(1aB, (1CE + 1CD) / 9e.zw));\\1r 2V0 = 11N(1Y(1aB, (1CE - 1CD) / 9e.zw));\\4gx 2jQ = 1ib(1CE + 1CD, 9e.zw);\\1r 2jN = 1o(2jP > 0.0 && 2jQ.x && 2jQ.y);\\1r 2UX = 1o(2jN == 0.0);\\1R 2UZ = 2jO(1CE + 1CD, 2jP);\\1R 2UY = 2jO(1CE - 1CD, 2V0);\\2j (2UZ - (5Z.1H / 5Z.w)) * 2jN + ((5Z.1H / 5Z.w) - 2UY) * 2UX;\\n}\\n#1u // 2bJ\\2s 2k(1p)\\n{\\n#1z 3fW\\1r 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\1P 5Z = 1az(4u.xy, 17n);\\n#1u\\n#1z 3fV\\1P 1rG = 1Sy * 5Z;\\1R 1Om = 1rG.1H / 1rG.w;\\n#1u\\n#1z 1qg\\2u uv;\\n#1z 1hB\\2u 1CC = 2Uj(1Om);\\2UW.y += 1Ok.z;\\2UW.y = 15B(1CC.y < 1eN, 1CC.y, 1CC.y - 1w4);\\1rF.x = (1CC.y - 1Fh.y) * 1Fh.w;\\1rF.y = (1CC.x - 1Fh.x) * 1Fh.z;\\n#1s // 1hB\\1rF.x = 17c(1uw, 5Z.1H / 5Z.w) * 1kY.x;\\1rF.y = 17c(1uv, 5Z.1H / 5Z.w) * 1kY.y;\\n#1u // 1hB\\n#1u // 1qg\\n#1z 1Ol\\n#1z 1On\\1U (0.0 <= uv.x && uv.x <= 1.0 && 0.0 <= uv.y && uv.y <= 1.0)\\n{\\3R.a = 1.0;\\1Cz();\\n}\\n#1s // 1On\\3R.a = 1.0;\\n#1u // 1On\\n#1s // 1Ol\\n#1z 1On\\1U (uv.x <= 0.0 || 1.0 <= uv.x || uv.y <= 0.0 || 1.0 <= uv.y)\\n{\\10W;\\n}\\n#1u\\n#1z 2bJ\\1R 2UU = 2jM(5Z, 1v(0.0, 1.0));\\1R 2UV = 2jM(5Z, 1v(1.0, 0.0));\\1R 4X = 1T(4B(2UV, 2UU));\\n#1u\\n#1z 19Y\\1P 1A = 9D(15g);\\n#1z 1kW\\3R = 1A;\\n#1s // 1kW\\1jv 5y;\\10m.4X = 4X;\\10m.11E = -5Z.1H;\\10I 2q = 1bi(5y);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\3R = 1nR(1T(-5Z.1H), 2q, 1qd);\\n#1u // 1kW\\n#1s // 19Y\\1jv 5y;\\n#1z 3FC\\10m.4X = 4X;\\n#1u\\n#1z 3FB\\10m.11E = -5Z.1H;\\n#1u\\n#1z 3FA\\10m.1p2 = 1Sp(1Om, 4X);\\n#1u\\n#1z 3Fz\\10m.st.x = 1Ag(1Ok.xy, 24X.xy, uv) * 24X.z;\\10m.st.y = 1Ag(1Ok.xy, 24W.xy, uv) * 24W.z;\\n#1u\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s // 1kW\\3R = 1nR(1T(-5Z.1H), 2q, 1qd);\\n#1u // 1kW\\n#1u // 19Y\\1Cz();\\n#1u // 1Ol\\n}\\n"]})};Pg.1i.4RX=1b(a){v.1N.7d("48k",a);1d b=1a.4Si,c=["1Ol"];a||1a.3yl||c.1q("1hB");b.2Qm&&c.1q("3fW");b.3yj&&c.1q("3fV");b.2Ql&&c.1q("1qg");1a.4Sk&&c.1q("1On");1f 1g ja({2N:c,5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1qg\\n#1z 1hB\\1J 1m 1Fh;\\n#1s // 1hB\\1J 1v 1kY;\\1J 1m 1uw;\\1J 1m 1uv;\\n#1u // 1hB\\1J 1w 1Ok;\\1J 1w 24X;\\1J 1w 24W;\\n#1u // 1qg\\n#1z 19Y\\1J 1m 15g;\\n#1u\\n#1z 2bJ\\1R 2jO(1v 2bK, 1o 17n)\\n{\\1P 5Z = 1az(2bK, 17n);\\2j 5Z.1H / 5Z.w;\\n}\\1R 2jM(1m 5Z, 1v 1CD)\\n{\\2u 1CE = 4u.xy;\\1r 2jP = 11N(1Y(1aB, (1CE + 1CD) / 9e.zw));\\1r 2V0 = 11N(1Y(1aB, (1CE - 1CD) / 9e.zw));\\4gx 2jQ = 1ib(1CE + 1CD, 9e.zw);\\1r 2jN = 1o(2jP > 0.0 && 2jQ.x && 2jQ.y);\\1r 2UX = 1o(2jN == 0.0);\\1R 2UZ = 2jO(1CE + 1CD, 2jP);\\1R 2UY = 2jO(1CE - 1CD, 2V0);\\2j (2UZ - (5Z.1H / 5Z.w)) * 2jN + ((5Z.1H / 5Z.w) - 2UY) * 2UX;\\n}\\n#1u // 2bJ\\2s 2k(1p)\\n{\\n#1z 3fW\\1r 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\1P 5Z = 1az(4u.xy, 17n);\\n#1u\\n#1z 3fV\\1P 1rG = 1Sy * 5Z;\\1R 1Om = 1rG.1H / 1rG.w;\\n#1u\\n#1z 1qg\\2u uv;\\n#1z 1hB\\2u 1CC = 2Uj(1Om);\\2UW.y += 1Ok.z;\\2UW.y = 15B(1CC.y < 1eN, 1CC.y, 1CC.y - 1w4);\\1rF.x = (1CC.y - 1Fh.y) * 1Fh.w;\\1rF.y = (1CC.x - 1Fh.x) * 1Fh.z;\\n#1s // 1hB\\1rF.x = 17c(1uw, 5Z.1H / 5Z.w) * 1kY.x;\\1rF.y = 17c(1uv, 5Z.1H / 5Z.w) * 1kY.y;\\n#1u // 1hB\\n#1u // 1qg\\n#1z 1Ol\\n#1z 1On\\1U (0.0 <= uv.x && uv.x <= 1.0 && 0.0 <= uv.y && uv.y <= 1.0)\\n{\\3R.a = 1.0;\\1Cz();\\n}\\n#1s // 1On\\3R.a = 1.0;\\n#1u // 1On\\n#1s // 1Ol\\n#1z 1On\\1U (uv.x <= 0.0 || 1.0 <= uv.x || uv.y <= 0.0 || 1.0 <= uv.y)\\n{\\10W;\\n}\\n#1u\\n#1z 2bJ\\1R 2UU = 2jM(5Z, 1v(0.0, 1.0));\\1R 2UV = 2jM(5Z, 1v(1.0, 0.0));\\1R 4X = 1T(4B(2UV, 2UU));\\n#1u\\n#1z 19Y\\1P 1A = 9D(15g);\\n#1z 1kW\\3R = 1A;\\n#1s // 1kW\\1jv 5y;\\10m.4X = 4X;\\10m.11E = -5Z.1H;\\10I 2q = 1bi(5y);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\3R = 1nR(1T(-5Z.1H), 2q, 1qd);\\n#1u // 1kW\\n#1s // 19Y\\1jv 5y;\\n#1z 3FC\\10m.4X = 4X;\\n#1u\\n#1z 3FB\\10m.11E = -5Z.1H;\\n#1u\\n#1z 3FA\\10m.1p2 = 1Sp(1Om, 4X);\\n#1u\\n#1z 3Fz\\10m.st.x = 1Ag(1Ok.xy, 24X.xy, uv) * 24X.z;\\10m.st.y = 1Ag(1Ok.xy, 24W.xy, uv) * 24W.z;\\n#1u\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s // 1kW\\3R = 1nR(1T(-5Z.1H), 2q, 1qd);\\n#1u // 1kW\\n#1u // 19Y\\1Cz();\\n#1u // 1Ol\\n}\\n"],2zs:"3G"})};Pg.1i.4RU=1b(a,b,c,d){v.2l("2N",a);v.1N.4n("5O",b);v.1N.7d("48k",c);v.2l("11s",d);1f W3(1a.4Sj,1a.3yl,c,a,b,1a.2Qn,d,1a.4Sh,1a.4Sg)};Pg.1i.4RW=1b(a,b,c,d){v.2l("2N",a);v.1N.4n("5O",b);v.1N.7d("48k",c);v.2l("11s",d);1f W3(1a.4Si,1a.3yl,c,a,b,1p 0,d,1a.4Sh,1a.4Sg)};1d Y3=1g k,X3=1g T,Z3={162:0,15r:0};1L.2X(dQ.1i,{2Qm:{1n:1b(){1f 1a.48j},1C:1b(a){1a.48j=a||1a.48j}},3yj:{1n:1b(){1f 1a.48i},1C:1b(a){1a.2Qm=1a.48i=a||1a.48i}},3yk:{1n:1b(){1f 1a.48h},1C:1b(a){1a.2Qm=1a.48h=a||1a.48h}},2Ql:{1n:1b(){1f 1a.48g},1C:1b(a){1a.3yj=1a.48g=a||1a.48g}},4X:{1C:1b(a){1a.4Sf=1a.3yk=a},1n:1b(){1f 1a.4Sf}},1p2:{1C:1b(a){1a.4Se=1a.3yk=1a.3yj=a},1n:1b(){1f 1a.4Se}},11E:{1C:1b(a){1a.4Sd=1a.2Qm=a},1n:1b(){1f 1a.4Sd}},st:{1C:1b(a){1a.4Sc=1a.2Ql=a},1n:1b(){1f 1a.4Sc}}});1d 6fY=[1g C,1g C,1g C,1g C],b4=1g T,c4=1g k,6fX=1g k,6fW=1g k,Tr={162:0,15r:0},6fU=1g A,6fT=1g A,4Sb=1g k,6fV=1g T,th=[1g T,1g T,1g T,1g T,1g T,1g T,1g T,1g T],Gn=1g k,Hn=1g k,6fS=1g bc;Pg.6fj=1b(a,b,c,d,e,f){v.1N.2c("22a",a);v.2l("2r3",b);v.1N.2c("3c",c);v.1N.2c("18T",d);v.1N.7d("4Sa",e);1d h=c4;f=m(f,0);1d g=Q.2V(a,6fV);g.1D=f;g=T.1g8(g,c,4Sb);g=Da.18N(g,c,6fU);1d p=A.12Z(g,6fT),n=a.4o,z=a.5a,w=a.4P,x=a.4C;th[0].4k=x;th[0].3N=n;th[1].4k=w;th[1].3N=n;th[2].4k=w;th[2].3N=z;th[3].4k=x;th[3].3N=z;1d q=.5*(n+z),t=.5*(w+x);th[4].4k=x;th[4].3N=q;th[5].4k=w;th[5].3N=q;th[6].4k=t;th[6].3N=n;th[7].4k=t;th[7].3N=z;n=3a.19B;z=3a.1r7;w=3a.19B;x=3a.1r7;1j(q=0;8>q;q++)th[q].1D=f,t=T.1g8(th[q],c,4Sb),A.8P(p,t,t),t.z=0,n=1k.2o(n,t.x),z=1k.1V(z,t.x),w=1k.2o(w,t.y),x=1k.1V(x,t.y);h.x=n;h.y=w;h.z=0;A.8P(g,h,h);Gn.x=z;Gn.y=w;Gn.z=0;A.8P(g,Gn,Gn);k.3V(Gn,h,Gn);Hn.x=n;Hn.y=x;Hn.z=0;A.8P(g,Hn,Hn);k.3V(Hn,h,Hn);c={};a4(c,b);b=bc.12y(h,6fS);if(!e)1f e=b.162,Wu(e.x,"6fM",c),Wu(e.y,"6fK",c),Wu(e.z,"6fI",c),e=b.15r,Vu(e.x,"6fL",c),Vu(e.y,"6fJ",c),Vu(e.z,"6fH",c),Zx(Gn.x,"6fF",c),Zx(Gn.y,"6fD",c),Zx(Gn.z,"6fB",c),Zx(Hn.x,"6fG",c),Zx(Hn.y,"6fE",c),Zx(Hn.z,"6fC",c),eQ(a,d,c,!1),c;c.6fQ=1g Fi({3k:I.3O,2Z:3,1T:!1,1Q:k.5n(b.162,[0,0,0])});c.6fP=1g Fi({3k:I.3O,2Z:3,1T:!1,1Q:k.5n(b.15r,[0,0,0])});c.6fN=1g Fi({3k:I.3O,2Z:3,1T:!1,1Q:k.5n(Gn,[0,0,0])});c.6fO=1g Fi({3k:I.3O,2Z:3,1T:!1,1Q:k.5n(Hn,[0,0,0])});eQ(a,d,c,!0);1f c};1d 6fR=1g k,3m5=1g C;Pg.6fi=1b(a,b,c,d,e){v.1N.2c("22a",a);v.2l("2r3",b);v.1N.2c("3c",c);v.1N.2c("18T",d);v.1N.7d("4Sa",e);1d f=d4(a.4C,a.4o,c,3m5),h=f.x;f=f.y;1d g=d4(a.4P,a.5a,c,3m5);c=g.x;g=g.y;1d p=0;f>g&&(p=B.PI-f,f=-B.PI,g+=p);h-=B.1tO;f-=B.1tO;c+=B.1tO;g+=B.1tO;h={4S7:1g Fi({3k:I.3O,2Z:4,1T:!1,1Q:[h,f,1/(c-h),1/(g-f)]}),4S6:1g Fi({3k:I.3O,2Z:1,1T:!1,1Q:[p]})};a4(h,b);eQ(a,d,h,e);1f h};Pg.6fy=1b(a){1d b=g(a.6fQ)&&g(a.6fP)&&g(a.6fO)&&g(a.6fN)&&g(a.4S9)&&g(a.4S8)&&g(a.24V)&&g(a.1Sx);a=g(a.6fM)&&g(a.6fL)&&g(a.6fK)&&g(a.6fJ)&&g(a.6fI)&&g(a.6fH)&&g(a.6fG)&&g(a.6fF)&&g(a.6fE)&&g(a.6fD)&&g(a.6fC)&&g(a.6fB)&&g(a.4S5)&&g(a.4S4)&&g(a.4S3)&&g(a.4S2)&&g(a.4S1)&&g(a.4S0)&&g(a.4RZ)&&g(a.4RY)&&g(a.24V)&&g(a.1Sx);1f b||a};Pg.6fz=1b(a){1d b=g(a.4S7)&&g(a.4S6)&&g(a.4S9)&&g(a.4S8)&&g(a.24V)&&g(a.1Sx);a=g(a.4S7)&&g(a.4S6)&&g(a.4S5)&&g(a.4S4)&&g(a.4S3)&&g(a.4S2)&&g(a.4S1)&&g(a.4S0)&&g(a.4RZ)&&g(a.4RY)&&g(a.24V)&&g(a.1Sx);1f b||a};Pg.4NG=1b(a){v.1N.2c("3g",a);1f 1k.1V(a.1G,a.1D)>Pg.6fA};Pg.6fA=B.8I(1);1d UW={1vh:128,3wt:112,4Ru:4,1Jz:15,33o:1b(){1f{3e:!0,1iu:Jc.1jW,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1f1},1it:Jc.1jW,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1f1},1bY:UW.1vh,11q:UW.1vh}}},Mc=1L.3F(UW);1L.2X(Ip.1i,{1zW:{1n:1b(){1f 1a.1Rz.1zW}},1qK:{1n:1b(){1f 1a.1Rz.1qK}},1EM:{1n:1b(){1f 1a.1Rz.1EM}},1sV:{1n:1b(){1f 1a.1Rz.1sV}},17X:{1n:1b(){1f 1a.1Rz.17X}},1od:{1n:1b(){1f 1a.1Rz.1od}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},3yf:{1n:1b(){1f 1a.3yc||1a.3yd}}});Ip.1op=1b(a){1f a.1O.2h3};1d 6fx={12h:{3e:!0,1iu:Jc.1JA,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1it:Jc.1JA,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:0,11q:Mc.1Jz},1lq:Mc.1Jz,9J:{3e:!1},13Q:!1};Ip.1i.2H=1b(a){if(g(1a.7h)||g(1a.13g)){1d b=1a.161;g(b)&&g(b.2q)&&b.2q.2H(a.1O);1d c=1a,d=1a.1Rz;if(!g(1a.7h)){1d e=2K.8n(1a.13g)?1a.13g:[1a.13g],f=e.1h,h=!1,l=!0,p=!1,k=!1;if(0<f){1d z=e[0].2w;p=Pg.6fz(z);k=Pg.6fy(z);1d w=z.1A}1j(z=0;z<f;z++){1d x=e[z];x=x.2w.1A;if(g(x))h=!0;1s if(h)1t 1g r("2qv 489 2Q 118 1A 2w to 14W 2pi-1bX 1A.");l=l&&g(x)&&Qb.2L(w,x)}if(!l&&!p&&!k)1t 1g r("2qv 489 2Q 118 1Z 1ik 1A 3Q 4RS 3aU 4RM");h&&!g(b)&&(1a.161=b=1g zc({8z:!0}));if(!h&&b 2m zc)1t 1g r("4iu 9N 1A 8Jy on all 489");if(g(b.2q)&&!p&&!k)1t 1g r("6ft on 6fs are 2S 11J 4RS 3aU 4RM");1a.4RT=!p&&!k;1a.3yd=p;1a.3yc=k;1a.4RR=h;h=2K(f);1j(z=0;z<f;++z)x=e[z],h[z]=1g yb({3y:x.3y,2w:x.2w,4a:x.4a,id:x.id,1FK:m(1a.26h,c)});d.161=b;d.13g=h;g(1a.23Q)&&(d.23Q=1b(a,b){c.23Q(a,b)});d.3yi=1b(a,b,d,e){g(c.23L)||(a=!c.23O,c.23L=pa.4t($x(a,!1)),c.2ig=pa.4t($x(a,!0)),c.2if=pa.4t(ay(a,!1)),c.2ie=pa.4t(ay(a,!0)),c.2qP=pa.4t(fQ(a,c.1xu)),c.3bb=pa.4t(6fx))};d.2Qj=1b(a,b,d){a=b.1O;1d e=c.7h,f="3Q 1w 1aU;\\2J 1w 19W;\\2J 1o 4R;\\n#1z 2jL\\2J 1w 1t8;\\1B 1o 2G3;\\n#1u // 2jL\\n#1z 19Y\\1J 1m 15g;\\n#1u // 19Y\\n#1z 1qg\\n#1z 1hB\\1J 1m 1Fh;\\n#1s // 1hB\\1J 1v 1kY;\\1J 1m 1uw;\\1J 1m 1uv;\\n#1u // 1hB\\1J 1w 1Ok;\\1J 1w 24X;\\1J 1w 24W;\\n#1u // 1qg\\n#if 2l(1qg) && !2l(1hB) && 2l(1Lc)\\1P 2tG(1m sd)\\n{\\1P d = sd;\\nd.x = 15B(sd.x < 128.0, d.x, (255.0 - sd.x));\\nd.x = 2t(0.5 + d.x);\\nd.y = 2t(0.5 + d.y);\\nd.z = 2t(0.5 + d.z);\\nd.w = 2t(0.5 + d.w);\\2j d;\\n}\\1r 1I2(1m sd)\\n{\\1P d = 2tG(sd);\\2j (3Fy.0 * d.x + 10.0 * d.y + 0.1 * d.z + 0.17I * d.w) * 15B(sd.x < 128.0, 1.0, -1.0);\\n}\\1R 3Fs(1m x, 1m y, 1m z)\\n{\\1R 1Q;\\1ak.x = 1I2(x);\\1ak.y = 1I2(y);\\1ak.z = 1I2(z);\\2j 1Q;\\n}\\1r 1I3(1m sd)\\n{\\1P d = 2tG(sd);\\2j (3Fx.0 * d.x + 2UT.0 * d.y + 100.0 * d.z + d.w) * 15B(sd.x < 128.0, 1.0, -1.0);\\n}\\1R 3Fr(1m x, 1m y, 1m z)\\n{\\1R 1Q;\\1ak.x = 1I3(x);\\1ak.y = 1I3(y);\\1ak.z = 1I3(z);\\2j 1Q;\\n}\\n#1z 1y0\\1P 3Fw(1m x, 1m y, 1m z, 1m w)\\n{\\1P 1Q;\\1ak.x = 1I3(x);\\1ak.y = 1I3(y);\\1ak.z = 1I3(z);\\1ak.w = 1I3(w);\\2j 1Q;\\n}\\1P 3Fv(1m x, 1m y, 1m z, 1m w)\\n{\\1P 1Q;\\1ak.x = 1I2(x);\\1ak.y = 1I2(y);\\1ak.z = 1I2(z);\\1ak.w = 1I2(w);\\2j 1Q;\\n}\\n#1s\\1r 2tF(1m sd)\\n{\\1P d = 2tG(sd);\\2j (2UT.0 * d.x + 100.0 * d.y + d.z + 0.11t * d.w) * 15B(sd.x < 128.0, 1.0, -1.0);\\n}\\1R 2US(1m x, 1m y, 1m z)\\n{\\1R 1Q;\\1ak.x = 2tF(x);\\1ak.y = 2tF(y);\\1ak.z = 2tF(z);\\2j 1Q;\\n}\\n#1u\\n#1u\\2s 2k()\\n{\\1P 1K = 1nS();\\n#1z 2jL\\1r 14k = 2o(2G3, 2UR * 1h(1K.1H));\\1Lb *= 1kO == 1F3 ? 1.0 : 0.0;\\2jG = 1K + 1m(1t8 * 14k, 0.0);\\n#1u\\n#1z 1qg\\n#1z 1hB\\5cI = 5cH(4R);\\3Fq.z = 5cG(4R);\\n#1s // 1hB\\n#1z 1y0\\n#1z 1Lc\\1P 1kX = 3Fw(5cF(4R),\\5cE(4R),\\5cD(4R),\\5cC(4R));\\1P 1uu = 3Fv(5cB(4R),\\5cA(4R),\\5cz(4R),\\5cy(4R));\\n#1s // 1Lc\\1P 1kX = 5cx(4R);\\1P 1uu = 5cw(4R);\\n#1u // 1Lc\\2u 2bH = 1v(3fT - (3fU - 1kX.w), 3fR - (3fS - 1uu.w));\\166 2bI = 1kX.x > 1kX.w && 19W.y > 0.0;\\3Fu.w = 15B(2bI, 2bH.x, 1kX.w);\\3Ft.w = 15B(2bI, 2bH.y, 1uu.w);\\5cv = 1kX.x > 1kX.w && 19W.y < 0.0;\\5cu = 1v(3fU - (3fT - 1kX.x), 3fS - (3fR - 1uu.x));\\3Fu.x = 15B(2bI, 2bH.x, 1kX.x);\\3Ft.x = 15B(2bI, 2bH.y, 1uu.x);\\1R 1gY = (15D * 16e(1w(0.0, 1kX.xy), 1w(0.0, 1uu.xy))).1H;\\1R 1XL = (15D * 16e(1w(0.0, 1kX.x, 1kX.z), 1w(0.0, 1uu.x, 1uu.z))).1H;\\1R 1XM = (15D * 16e(1w(0.0, 1kX.w, 1kX.y), 1w(0.0, 1uu.w, 1uu.y))).1H;\\n#1s // 1y0\\n#1z 1Lc\\1R 15r = 3Fs(5ct(4R), 5cs(4R), 5cr(4R));\\1R 162 = 3Fr(5cq(4R), 5cp(4R), 5co(4R));\\1R 1gY = (15D * 16e(162, 15r)).1H;\\1R 1XL = 11b * 2US(\\5cn(4R),\\5cm(4R),\\5cl(4R)) + 1gY;\\1R 1XM = 11b * 2US(\\5ck(4R),\\5cj(4R),\\5ci(4R)) + 1gY;\\n#1s // 1Lc\\1R 1gY = (15D * 16e(5ch(4R), 5cg(4R))).1H;\\1R 1XL = 11b * 5cf(4R) + 1gY;\\1R 1XM = 11b * 5ce(4R) + 1gY;\\n#1u // 1Lc\\n#1u // 1y0\\1R 1CB = 1XM - 1gY;\\1r 1XK = 1h(1CB);\\5cd /= 1XK;\\1R 1CA = 1XL - 1gY;\\1r 1XJ = 1h(1CA);\\5cc /= 1XJ;\\5cb = 1m(1CB, -2A(1CB, 1gY));\\5ca = 1m(1CA, -2A(1CA, 1gY));\\5c9 = 1v(1.0 / 1XK, 1.0 / 1XJ);\\n#1u // 1hB\\1P 1Sx = 5c8(4R);\\1P 24V = 5c7(4R);\\5c6 = 1w(24V.xy, 1Sx.z);\\5c5 = 1w(24V.zw, 1Sx.w);\\3Fq.xy = 1Sx.xy;\\n#1u // 1qg\\n#1z 19Y\\1wi = 1k9(4R);\\n#1u\\11u = 1wa(1kV * 1K);\\n}\\n";f=c.7h.6y.1zS()(f);f=Kb.3by(e,f);f=Kb.3bx(c,f,b.1fw);f=Kb.48f(e,f);1d h=c.3yc,l=h||c.3yd;Nc.4ku()||(l=!1);c.3yh&&(d=f,e.1od?-1!==d.1qs(/3Q\\s+1w\\s+1t8;/g)?(d=d.3X(/3Q\\s+1w\\s+1t8;/g,""),d=ja.1gF(d,"48e"),f=["3Q 1v 1Wj;\\1R 1t8;\\n",d,"1p 2k() \\n{ \\n    1t8 = 1gT(1Wj, 1a6.0);\\n    48e(); \\n}"].14G("\\n")):f=1p 0:f=d);1d k=c.3yh?"2jL":"",p=1g ja({2N:[k],5p:[f]}),n=1g ja({5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1mP\\1B 1m 1nU;\\n#1u\\2s 2k(1p)\\n{\\n#1z 1mP\\3R = 9D(1nU);\\n#1s\\3R = 1m(1.0);\\n#1u\\1Cz();\\n}\\n"]});d=c.7h.12m;h=1g Pg(l,h,c.161,a.4Hs);c.2qO=Ga.1sw({1O:a,2z:c.2qO,5O:p,5A:n,7W:d});if(c.7h.1sV){p=ja.6fw(f);p=Kb.2Qi(e,p);p=Kb.6fv(p);1d m=h.4RX(!1),z=h.4RW([k],p,!1,b.11s);c.1xB=Ga.1sw({1O:a,2z:c.1xB,5O:z,5A:m,7W:d});l&&(m=a.1hf.1Jv(c.1xB,"6fu"),g(m)||(m=h.4RX(!0),p=h.4RW([k],p,!0,b.11s),m=a.1hf.1Gx(c.1xB,"6fu",{5O:p,5A:m,7W:d})),c.3ya=m)}1s c.1xB=Ga.4t({1O:a,5O:p,5A:n,7W:d});f=Kb.2Qi(e,f);p=1g ja({2N:[k],5p:[f]});c.11V=Ga.1sw({1O:a,2z:c.11V,5O:p,5A:n,7W:d});e=h.4RV(!1);n=h.4RU([k],f,!1,b.11s);c.2in=Ga.1sw({1O:a,2z:c.2in,5O:n,5A:e,7W:d});l&&(l=a.1hf.1Jv(c.2in,"48a"),g(l)||(l=h.4RV(!0),b=h.4RU([k],f,!0,b.11s),l=a.1hf.1Gx(c.2in,"48a",{5O:b,5A:l,7W:d})),c.3yb=l)};d.2Qg=1b(a,b,d,e,f,h,l){b=c.7h;a=3*b.16z.1h;h.1h=a;f=0;1d p=b.6y.1BM()(c.1cH),k=c.1xu?ma.1e0:ma.1Bk,n=c.1xu?ma.1e0:ma.1Hh,m=c.3yf;1j(d=0;d<a;d+=3){1d z=b.16z[f++];e=h[d];g(e)||(e=h[d]=1g Oa({7H:c,6Z:b.1vl}));e.4c=z;e.4w=c.23L;e.2z=c.11V;e.4J=p;e.6t=k;1d t=Oa.15v(e,e.10K.15c);t.4w=c.2ig;t.6t=n;e.10K.15c=t;e=h[d+1];g(e)||(e=h[d+1]=1g Oa({7H:c,6Z:b.1vl}));e.4c=z;e.4w=c.2if;e.2z=c.11V;e.4J=p;e.6t=k;t=Oa.15v(e,e.10K.15c);t.4w=c.2ie;t.6t=n;e.10K.15c=t;e=h[d+2];g(e)||(e=h[d+2]=1g Oa({7H:c,6Z:b.1vl}));e.4c=z;e.4w=c.2qP;e.2z=c.2in;e.6t=k;t=c.161.2q;g(t)&&(p=fb(p,t.1dg));e.4J=p;t=Oa.15v(e,e.10K.15c);t.6t=n;e.10K.15c=t;m&&(z=Oa.15v(e,e.10K.3yg),z.2z=c.3yb,e.10K.3yg=z,z=Oa.15v(t,t.10K.3yg),z.2z=c.3yb,t.10K.3yg=z)}b=c.2DO;d=c.2qO;e=0;a=b.1h=a/3*2;1j(f=0;f<a;f+=2)p=b[f]=Oa.15v(h[e],b[f]),p.2z=d,p.6t=ma.2qQ,p=b[f+1]=Oa.15v(h[e+1],b[f+1]),p.2z=d,p.6t=ma.2qQ,e+=3;h=c.4RT;a=c.1xu?ma.1e0:ma.1Bk;b=c.1xu?ma.1e0:ma.1Hh;d=c.7h;e=3*d.16z.1h;f=0;if(h){1d w=d.3bA;e=3*w.1h}l.1h=e;m=0;t=d.6y.1BM()(c.1cH);z=c.3yf;1j(p=0;p<e;p+=3){1d x=d.16z[m++];if(h){1d q=w[f++];x=d.16z[q.2P]}k=l[p];g(k)||(k=l[p]=1g Oa({7H:c,6Z:d.1vl,2id:!0}));k.4c=x;k.4w=c.23L;k.2z=c.11V;k.4J=t;k.6t=a;h&&(k.2M=q.2M,k.7Z=q.7Z);n=Oa.15v(k,k.10K.15c);n.4w=c.2ig;n.6t=b;k.10K.15c=n;k=l[p+1];g(k)||(k=l[p+1]=1g Oa({7H:c,6Z:d.1vl,2id:!0}));k.4c=x;k.4w=c.2if;k.2z=c.11V;k.4J=t;k.6t=a;h&&(k.2M=q.2M,k.7Z=q.7Z);n=Oa.15v(k,k.10K.15c);n.4w=c.2ie;n.6t=b;k.10K.15c=n;k=l[p+2];g(k)||(k=l[p+2]=1g Oa({7H:c,6Z:d.1vl,2id:!0}));k.4c=x;k.4w=c.3bb;k.2z=c.1xB;k.4J=t;k.6t=a;h&&(k.2M=q.2M,k.7Z=q.7Z);n=Oa.15v(k,k.10K.15c);n.6t=b;k.10K.15c=n;z&&(x=Oa.15v(k,k.10K.3ye),x.2z=c.3ya,k.10K.3ye=x,x=Oa.15v(n,n.10K.3ye),x.2z=c.3ya,n.10K.3ye=x)}};g(1a.1Ry)?d.1Ry=1b(a,b,d,e,f,h,g,l){c.1Ry(a,b,d,e,f,h,g,l)}:d.1Ry=1b(a,b,d,e,f,h,l,k){1d p=c.7h;Kb.3y8(p,b,f);if(b.3z===O.6G)1d n=p.2r1;1s b.3z===O.15j?n=p.2r0:b.3z===O.10j&&g(p.29Z)?n=p.29Z:g(p.2qZ)&&(n=p.2qZ);k=c.12p;a=k!==te.1uf;k=k!==te.1Q8;1d m=b.10s,z;if(m.3t){1d t=d.1h;1j(z=0;z<t;++z){1d w=n[1k.2t(z%t/3)];if(a){1d x=d[z];gQ(x,b,f,h,w,l)}k&&(x=d[z].10K.15c,gQ(x,b,f,h,w,l))}if(b.1M8)1j(d=c.2DO,t=d.1h,z=0;z<t;++z)w=n[1k.2t(z/2)],x=d[z],gQ(x,b,f,h,w,l)}if(m.11P)1j(l=e.1h,p=p.3bA,z=0;z<l;++z)w=n[p[1k.2t(z%l/3)].2P],a&&(x=e[z],d=b,m=h,t=w,x.4a=f,x.6W=t,x.8d=m,d.13l.1q(x)),k&&(x=e[z].10K.15c,d=b,m=h,x.4a=f,x.6W=w,x.8d=m,d.13l.1q(x))};1a.7h=1g Kb(d);1a.7h.9c.4b(1b(a){c.4y=!0;c.1EM&&(c.13g=1p 0);a=a.1vN;g(a)?c.7S.7N(a):c.7S.5h(c)})}1a.23O&&!1a.2Qk&&1a.4y?(1a.2Qk=!0,1a.23L=pa.4t($x(!1,!1)),1a.2ig=pa.4t($x(!1,!0)),1a.2if=pa.4t(ay(!1,!1)),1a.2ie=pa.4t(ay(!1,!0)),1a.2qP=pa.4t(fQ(!1))):!1a.23O&&1a.2Qk&&(1a.2Qk=!1,1a.23L=pa.4t($x(!0,!1)),1a.2ig=pa.4t($x(!0,!0)),1a.2if=pa.4t(ay(!0,!1)),1a.2ie=pa.4t(ay(!0,!0)),1a.2qP=pa.4t(fQ(!0)));if(1a.7h.161!==b){if(!1a.3yd&&!1a.3yc&&g(b.2q))1t 1g r("6ft on 6fs are 2S 11J 4RS 3aU 3KK");if(!1a.4RR&&b 2m zc)1t 1g r("4iu 9N 1A 5h6");1a.7h.161=b}1a.7h.2p=1a.2p;1a.7h.15S=1a.15S;1a.7h.2H(a)}};Ip.1i.1bH=1b(a){if(!g(1a.7h))1t 1g r("2Q 4G 2H 8w 1Jf 1bH");1f 1a.7h.1bH(a)};Ip.1i.3Z=1b(){1f!1};Ip.1i.1M=1b(){1a.7h=1a.7h&&1a.7h.1M();1a.11V=1a.11V&&1a.11V.1M();1a.1xB=1a.1xB&&1a.1xB.1M();1a.2in=1a.2in&&1a.2in.1M();1a.3yb=1a.3ya=1p 0;1f la(1a)};1d 6fr={2G3:1b(){1f 8Jx}};1L.2X(bf.1i,{1zW:{1n:1b(){1f 1a.2E5.1zW}},1qK:{1n:1b(){1f 1a.2E5.1qK}},1EM:{1n:1b(){1f 1a.2E5.1EM}},1sV:{1n:1b(){1f 1a.2E5.1sV}},17X:{1n:1b(){1f 1a.2E5.17X}},1od:{1n:1b(){1f 1a.2E5.1od}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}}});bf.1op=Ip.1op;bf.28L=1p 0;bf.6fl=1p 0;1d 6fq=1g k,6fp=1g k,6fo=1g k,6fn=1g T,6fm=1g Q;bf.2E1=1b(){1f nd.6l()};bf.1i.2H=1b(a){if(g(1a.7h)||g(1a.13g))if(nd.1Vv){1d b=1a,c=1a.2E5;if(!g(1a.7h)){g(1a.22w)||(1a.22w=bf.28L);g(1a.48d)||(1a.48d=bf.6fl);1d d=a.11s.3c,e=2K.8n(1a.13g)?1a.13g:[1a.13g],f=e.1h,h=2K(f),l,p;1j(l=0;l<f;++l){1d n=e[l];1d m=n.3y;1d w=wH(a,m);g(p)?g(w)&&Q.1nu(p,w,p):p=Q.1y(w);n=n.id;g(n)&&g(w)&&(w=nd.1cS(w,d),1a.4RL.1q(n),1a.23P.1q(w));w=m.7m;if(!g(w)||!g(w.2E2))1t 1g r("3md all of 1Z 3y 18P 118 3KK 19G.");}6fk(1a,p,d);m=a.1DM;1a.2r2=1a.4RQ*m;1a.2im=1a.4RP*m;if(1a.48c=m=bf.4RK(a.1O)){1d x=!0;1j(l=0;l<f;++l)if(n=e[l],m=n.3y,p=wH(a,m),Pg.4NG(p)){x=!1;1W}1j(l=0;l<f;++l){n=e[l];m=n.3y;w=m.7m;p=wH(a,m);1d q=m.2r3,t=a.1O.4Hs;p=x?Pg.6fj(p,q,d,a.11s,t,1a.2im):Pg.6fi(p,q,d,a.11s,t);q=n.2w;1j(1d u in q)q.3p(u)&&(p[u]=q[u]);n.3kz?h[l]=1g yb({3y:n.4RO,2w:p,id:n.id}):(h[l]=1g yb({3y:w.2E2(m,iQ(1a),hQ(1a)),2w:p,id:n.id}),n.4RO=h[l].3y,n.3kz=!0)}}1s 1j(l=0;l<f;++l)n=e[l],m=n.3y,w=m.7m,n.3kz?h[l]=1g yb({3y:m,2w:n.2w,id:n.id}):(h[l]=1g yb({3y:w.2E2(m,iQ(1a),hQ(1a)),2w:n.2w,id:n.id}),n.4RO=h[l].3y,n.3kz=!0);c.13g=h;c.161=1a.161;c.23Q=1b(a,c){1d d=a.11s.3c;c=wH(a,c);1d e=(2K.8n(b.13g)?b.13g:[b.13g])[0].3y.14J;d=yc.21r(c,iQ(b)(e,d),hQ(b)(e,d),d);b.1Rr.1q(d);a.1fw||(a=P.33z(c,a.11s,b.2im,b.2r2),k.9v(a.2V.z,a.2V.x,a.2V.y,a.2V),b.4RN.1q(a))};c.1Ry=1b(a,c,d,e,f,h,g,l){a=c.3z===O.6G?b.1Rr:b.4RN;1d k=b.12p;l=k!==te.1uf;k=k!==te.1Q8;1d p=c.10s,n=b.7h,m;if(p.3t){1d z=d.1h;1j(m=0;m<z;++m){1d t=a[1k.2t(m%z/3)];if(l){1d w=d[m];jQ(b,w,c,f,h,t,g)}k&&(w=d[m].10K.15c,jQ(b,w,c,f,h,t,g))}if(c.1M8)1j(d=n.2DO,z=d.1h,m=0;m<z;++m)t=a[1k.2t(m/2)],w=d[m],jQ(b,w,c,f,h,t,g)}if(p.11P){g=e.1h;if(!b.48c)1d x=n.7h.3bA;1j(m=0;m<g;++m)t=a[1k.2t(m%g/3)],b.48c||(t=a[x[1k.2t(m%g/3)].2P]),l&&(w=e[m],e4(b,w,c,f,h,t)),k&&(w=e[m].10K.15c,e4(b,w,c,f,h,t))}};1a.7h=1g Ip(c);1a.7h.9c.4b(1b(a){b.4y=!0;b.1EM&&(b.13g=1p 0);a=a.1vN;g(a)?b.7S.7N(a):b.7S.5h(b)})}1a.7h.161=1a.161;1a.7h.2p=1a.2p;1a.7h.23O=1a.23O;1a.7h.15S=1a.15S;1a.7h.2H(a)}1s{if(!1a.17X)1t 1g r("22p 4pI 4RM, 18g 2Q 4G 3KK.2E1() and 11i 1j 1Z 6fc 10l to 5h.");bf.2E1()}};bf.1i.1cS=1b(a){a=1a.4RL.3f(a);if(-1!==a)1f 1a.23P[a]};bf.1i.1bH=1b(a){if(!g(1a.7h))1t 1g r("2Q 4G 2H 8w 1Jf 1bH");1f 1a.7h.1bH(a)};bf.1i.3Z=1b(){1f!1};bf.1i.1M=1b(){1a.7h=1a.7h&&1a.7h.1M();1f la(1a)};bf.4RK=1b(a){1f a.8X};bf.6f8=1b(a){v.1N.2c("4r",a);1f bf.4RK(a.18Y.1O)};1L.2X(cg.1i,{5g:{1n:r.8i},13C:{1n:r.8i}});cg.1i.1bu=r.8i;cg.1i.3K=r.8i;cg.1i.2L=r.8i;cg.3K=1b(a,b,c){if(g(b)){1d d=b.1bu(a);if(g(d))1f g(c)&&c.1I===d||(c=va.1kk(d)),b.3K(a,c.6H),c}g(c)&&c.1I===va.1oL||(c=va.1kk(va.1oL));y.1y(y.9r,c.6H.1A);1f c};Fd.1i.1ei=1b(a,b,c){1f!a.17K||!a.1hK(c)||!F.7q(b.2p,c,!0)};Fd.1i.29w=r.8i;Fd.1i.2H=1b(a){v.2l("6q",a);1d b=1a.1u9,c=b.2qi,d=1a.15G,e=1a.2P4;c?e.3S(1a.7h):(d.1VX(1a.7h),d.1VX(1a.1Nx),1a.1Nx=1p 0);1a.7h=1p 0;1d f=1a.11d,h=f[1a.1u9.3wb];1a.29w(f,h,a);if(!1a.1ei(f,h,a)){f=1a.1u9.39Q.3K(a);1d l=1a.14n;if(!g(h.4K)||h.4K.3K(a)){1d k=b.1lE,n=k 2m cc;1d m=b.2Pc(l);n?m=1g zc({1ph:m,8z:c&&!b.47Z}):(1a.17u=k=cg.3K(a,k,1a.17u),m=1g xe({2q:k,11C:k.1pE(),1ph:m}));c?(l.9S=zc.1sC,1a.7h=e.add(1g bf({13g:1a.1u9.1xx(a),161:m,17X:!1,6x:f,12p:1a.1u9.39N.3K(a)}),F.8y(1a.1u9.13G,a))):(l.9S=m.9S,e=1a.1u9.1xx(a),n&&(m.11C=255!==e.2w.1A.1Q[3]),1a.7h=d.add(1g Kb({13g:e,161:m,17X:!1,6x:f})))}!c&&g(h.8Y)&&h.8Y.3K(a)&&(c=1a.1u9.1Nt(a),a=F.7q(h.5R,a,1),1a.1Nx=d.add(1g Kb({13g:c,161:1g zc({8z:!0,11C:255!==c.2w.1A.1Q[3],4w:{11a:b.2R.3Pu(a)}}),17X:!1,6x:f})))}};Fd.1i.1cS=1b(a){if(!g(a))1t 1g r("4D is 1X.");1d b=1a.11d,c=1a.7h,d=1a.1Nx;if(g(c)&&c.2p&&c.3o){1d e=c.1bH(b);if(g(e)&&g(e.7u))1f P.1y(e.7u,a),tb.1k0}1f g(d)&&d.2p&&d.3o&&(e=d.1bH(b),g(e)&&g(e.7u))?(P.1y(e.7u,a),tb.1k0):g(c)&&!c.3o||g(d)&&!d.3o?tb.1rg:tb.12D};Fd.1i.3Z=1b(){1f!1};Fd.1i.1M=1b(){1d a=1a.15G,b=1a.2P4;1a.1u9.2qi?b.3S(1a.7h):a.1VX(1a.7h);a.1VX(1a.1Nx);la(1a)};1L.2X(ok.1i,{1qK:{1n:1b(){1f 1a.1Rz.1qK}},1EM:{1n:1b(){1f 1a.1Rz.1EM}},1sV:{1n:1b(){1f 1a.1Rz.1sV}},17X:{1n:1b(){1f 1a.1Rz.17X}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},23O:{1n:1b(){1f 1a.2Qk}}});ok.2E1=1b(){1f nd.6l()};ok.1i.2H=1b(a){if(g(1a.7h)||g(1a.13g))if(nd.1Vv){1d b,c=1a,d=1a.1Rz;if(!g(1a.7h)){1d e=2K.8n(1a.13g)?1a.13g:[1a.13g],f=e.1h,h=2K(f);1j(b=0;b<f;++b){1d l=e[b].2w;if(!g(l)||!g(l.1A)){1a.4RI=!1;1W}}1j(b=0;b<f;++b){1d k=e[b];l={};1d n=k.2w,m;1j(m in n)n.3p(m)&&(l[m]=n[m]);g(l.1G)||(l.1G=1g Fi({3k:I.7U,2Z:1,1Q:[k.3y.1G]}));k.3y.3bz=a.1fw;Zn.6fh(k.3y,a.11s);h[b]=1g yb({3y:k.3y,2w:l,id:k.id,1FK:c})}d.13g=h;d.161=1a.161;d.2Qj=1b(a,b,d){a=b.1O;1d e=c.7h,f=e.12m,h=e.6y.1zS()("3Q 1w 1aU;\\2J 1w 19W;\\n#1bI 1y0\\2J 1m 1nZ;\\2J 1m 1nY;\\2J 1m 1nX;\\2J 1m 1jx;\\2J 1m 1lS;\\n#1s\\2J 1m 1SI;\\2J 1m 1Lh;\\2J 1m 1SH;\\2J 1v 1qh;\\n#1u\\2J 1o 4R;\\1J 1m 1h2;\\1J 1m 1jy;\\1J 1m 18q;\\1J 1m 1kd;\\1J 1m 18D;\\n#1z 2k7\\1J 1o 1hC;\\n#1u\\n#1z 2k6\\1J 1o 1iQ;\\n#1u\\n#1z 19Y\\1J 1m 15g;\\n#1u\\2s 2k()\\n{\\n#1z 1y0\\1R 19Z = (15D * 16e(1w(0.0, 1SI.xy), 1w(0.0, 1SI.zw))).1H;\\1R 1y5 = 11b * 1w(0.0, 1Lh.xy);\\1R 1Aq = 1y5 + 19Z;\\5dd = 1T(1y5);\\2u4.1H = 11b * 1w(0.0, 1Lh.zw);\\2u4.w = -2A(18q.1H, 19Z);\\1P 1hE;\\2u6.1H =  11b * 1w(0.0, 1SH.xy);\\2u6.w = -2A(1hE.1H, 19Z);\\1P 1hD;\\2u5.1H =  11b * 1w(0.0, 1SH.zw);\\2u5.w = -2A(1hD.1H, 1Aq);\\1Y3.x = abs(1qh.x);\\1Y3.y = 1qh.y;\\n#1s // 1y0\\1R 19Z = (15D * 16e(1nZ.1H, 1nY.1H)).1H;\\1R 2M = 11b * 1w(1nZ.w, 1nY.w, 1nX.w);\\1R 1Aq = 19Z + 2M;\\1R 1y5 = 1T(2M);\\1P 1hE;\\2u6.1H = 11b * 1nX.1H;\\2u6.w = -2A(1hE.1H, 19Z);\\1P 1hD;\\2u5.1H = 11b * 1jx.1H;\\2u5.w = -2A(1hD.1H, 1Aq);\\2u4.1H = 11b * 1lS.1H;\\2u4.w = -2A(18q.1H, 19Z);\\1Y3.x = abs(1jx.w);\\1Y3.y = 1lS.w;\\n#1u // 1y0\\3Go.1H = 1Aq;\\3Go.w = 19Z.x;\\1Y3.zw = 19Z.yz;\\n#1z 19Y\\1wi = 1k9(4R);\\n#1u // 19Y\\1P 1Y4 = 1nS();\\1P 4p = 15D * 1Y4;\\1r 1I9 = abs(17c(1hE, 4p.1H));\\1r 1I8 = abs(17c(1hD, 4p.1H));\\1R 1qi = 15B(1I9 < 1I8, 1hE.1H, 1hD.1H);\\1R 1h1 = 1T(4B(18q.1H, 1qi));\\1R 4X = 1T(4B(1qi, 1h1));\\2bW = 4B(1y5, 4X);\\2bW = 1o(1kO == 1F3) * 1h1;\\2bW = 1o(18D.y > 1.0 || 18D.y < 0.0) * 1h1;\\2bW = 2o(4gT, 2UR * 1h(1Y4.1H)) * 1h1;\\1eR.1H += 1h1;\\1Y3.y = 15B(18D.y > 1.0, 0.0, abs(18D.y));\\1r 1G = 2VX(4R);\\n#1z 2k7\\2tY = 1G;\\n#1u\\3Gn.1H = 1hE.1H;\\3Gn.w = 1G * 0.5;\\3Gm.1H = 1hD.1H;\\3Gm.w = 4R;\\3Gl = 1G * 1V(0.0, 1dv(4p));\\3Gl = 1G / 2A(4X, 18q.1H);\\n#1z 1y0\\1rx *= 12q(1qh.x);\\n#1s\\1rx *= 12q(1jx.w);\\n#1u\\1eR.1H += 1G * 4X;\\11u = 1wa(17B * 4p);\\n#1z 2k6\\2u 1rN = 1T(1v(1y5.x, -1y5.y));\\3Gk.y = 15B(1rN.x == 0.0 && 1rN.y == 0.0, -1.0, 1rN.y);\\3Gj = 1KW(1rN.x, 1rN.y);\\n#1u\\n}\\n");h=Kb.2Qi(e,h);h=Kb.3by(e,h);h=Kb.3bx(c,h,b.1fw);1d l=e.6y.1zS()("3Q 1w 1aU;\\2J 1w 19W;\\2J 1m 1nZ;\\2J 1m 1nY;\\2J 1m 1nX;\\2J 1m 1jx;\\2J 1m 1lS;\\2J 1m 1SI;\\2J 1m 1Lh;\\2J 1m 1SH;\\2J 1v 1qh;\\2J 1o 4R;\\1J 1w 1y6;\\1J 1w 2ug;\\1J 1o 3g9;\\n#1z 2k7\\1J 1o 1hC;\\n#1u\\n#1z 2k6\\1J 1o 1iQ;\\n#1u\\n#1z 19Y\\1J 1m 15g;\\n#1s\\1J 1v 2uf;\\1J 1o 2ue;\\n#1u\\2s 2k()\\n{\\5do = 4R;\\1P 1Y6 = 16e(1w(0.0, 1SI.xy), 1w(0.0, 1SI.zw));\\1P 1Y5 = 16e(1nZ.1H, 1nY.1H);\\1P 2W4 = 1Fb(1Y6, 1Y5, 1iO);\\1R 2ud = (15D * 1Y6).1H;\\1R 2uc = (15D * 1Y5).1H;\\1R 2W2 = (15D * 2W4).1H;\\1P 2u8;\\1P 2ua;\\3GB.1H = 11b * 1w(0.0, 1SH.xy);\\3GA.1H = 11b * 1nX.1H;\\3GB.w = -2A(2u8.1H, 2ud);\\3GA.w = -2A(2ua.1H, 2uc);\\1P 2VY;\\1P 2VZ;\\3Gz.1H = 11b * 1w(0.0, 1Lh.zw);\\3Gy.1H = 11b * 1lS.1H;\\3Gz.w = -2A(2VY.1H, 2ud);\\3Gy.w = -2A(2VZ.1H, 2uc);\\5dn = 1Y6 + 1m(0.0, 1Lh.xy, 0.0);\\5dm = 1Y5 + 1m(1nZ.w, 1nY.w, 1nX.w, 0.0);\\5dl = 1Fb(1Y6, 1Y5, 1iO);\\5dk = (15D * 1Y6).1H;\\5dj = (15D * 1Y5).1H;\\1R 2W1 = (15D * 2W4).1H;\\1R 3Gs = 11b * 1T(1w(1nZ.w, 1nY.w, 1nX.w));\\1R 3Gq = 11b * 1T(1w(0.0, 1Lh.xy));\\1P 2u7;\\1P 2u9;\\3Gx.1H = 11b * 1w(0.0, 1SH.zw);\\3Gw.1H = 11b * 1jx.1H;\\3Gx.w = -2A(2u7.1H, 2ud);\\3Gw.w = -2A(2u9.1H, 2uc);\\5di = 1T(2W1 - 2W2);\\2u 3Gu;\\3Gv.x = abs(1qh.x);\\3Gv.y = 15B(1qh.y > 1.0, 0.0, abs(1qh.y));\\2u 2ub;\\2W3.x = abs(1jx.w);\\2W3.y = 1lS.w;\\2W3.y = 15B(2ub.y > 1.0, 0.0, abs(2ub.y));\\2W0.xy = 3T(3Gu, 2ub, 1iO);\\n#1z 19Y\\1wi = 1k9(4R);\\n#1s // 19Y\\3Gt.x = -2A(1y6, 2W2);\\3Gt.y = -2A(-1y6, 2W1);\\n#1u // 19Y\\n#1z 2k7\\1r 1G = 2VX(4R);\\1r 18c = 1G * 0.5;\\2tY = 1G;\\2W0.z = 18c;\\n#1s\\1r 18c = 0.5 * 2VX(4R);\\2W0.z = 18c;\\n#1u\\1P 2bX = 15D * 16e(1aU, 19W);\\1r 1I9 = abs(17c(2ua, 2bX.1H));\\1r 1I8 = abs(17c(2u9, 2bX.1H));\\1R 1qi = 15B(1I9 < 1I8, 2ua.1H, 2u9.1H);\\1R 1h1 = 1T(4B(2VZ.1H, 1qi));\\1R 4X = 1T(4B(1qi, 1h1));\\1R 17N = 1T(4B(4X, 3Gs));\\2bZ *= 1o(0.0 <= 1lS.w && 1lS.w <= 1.0);\\2bZ *= 3g8;\\3Gr.1H += 17N;\\1rx *= 12q(1jx.w);\\3Gr.1H += 18c * 1V(0.0, 1dv(2bX)) * 4X;\\1P 2bY = 15D * 16e(25d.1ca, 25c.1ca);\\5dh = abs(17c(2u8, 2bY.1H));\\5dg = abs(17c(2u7, 2bY.1H));\\5df = 15B(1I9 < 1I8, 2u8.1H, 2u7.1H);\\2bW = 1T(4B(2VY.1H, 1qi));\\1rx = 1T(4B(1qi, 1h1));\\2bZ = 1T(4B(4X, 3Gq));\\2bZ *= 1o(0.0 <= 1qh.y && 1qh.y <= 1.0);\\2bZ *= 3g8;\\3Gp.1H += 17N;\\1rx *= 12q(1qh.x);\\n#1bI 19Y\\5de = 2Y(12q(1qh.x), 0.0, 1.0);\\n#1u\\3Gp.1H += 18c * 1V(0.0, 1dv(2bY)) * 4X;\\11u = 17B * 3T(2bY, 2bX, 1iO);\\n#1z 2k6\\2u 1rN = 1T(1v(1y6.x, -1y6.y));\\3Gk.y = 15B(1rN.x == 0.0 && 1rN.y == 0.0, -1.0, 1rN.y);\\3Gj = 1KW(1rN.x, 1rN.y);\\n#1u\\n}\\n");l=Kb.2Qi(e,l);l=Kb.3by(e,l);l=Kb.3bx(c,l,b.1fw);1d k=e.6y.1zS()("#1z 5J\\n#6A 5J : 5F\\n#1u\\1J 1m 1h2;\\1J 1m 1jy;\\1J 1m 18q;\\1J 1m 1kd;\\1J 1m 18D;\\n#1z 19Y\\1J 1m 15g;\\n#1u\\2s 2k(1p)\\n{\\1r 17n = 15B(1kO == 1HG, 4u.z, 11N(1Y(1aB, 4u.xy / 9e.zw)));\\1R 19Z = 1w(1kd.w, 18D.zw);\\1U (17n == 0.0) {\\n#1z 1SJ\\3R = 1m(1.0, 0.0, 0.0, 0.5);\\2j;\\n#1s // 1SJ\\10W;\\n#1u // 1SJ\\n}\\1P 5Z = 1az(4u.xy, 17n);\\2aX /= 5Z.w;\\1r 1y7 = 1h2.w * 1dv(5Z);\\1r 1Li = 17c(18q, 5Z.1H);\\1r 1ke = 17c(1h2.1H, -2A(19Z, 1h2.1H), 5Z.1H);\\1r 1rO = 17c(1jy.1H, -2A(1kd.1H, 1jy.1H), 5Z.1H);\\1U (abs(1Li) > 1y7 || 1ke < 0.0 || 1rO < 0.0) {\\n#1z 1SJ\\3R = 1m(1.0, 0.0, 0.0, 0.5);\\2j;\\n#1s // 1SJ\\10W;\\n#1u // 1SJ\\n}\\1R 1cc;\\2uh = 4B(18q.1H, 1h2.1H);\\2uh = 1T(4B(1cc, 18q.1H));\\3GD = 17c(1cc, -2A(1cc, 19Z), 5Z.1H);\\2uh = 4B(18q.1H, 1jy.1H);\\2uh = 1T(4B(1cc, 18q.1H));\\3GC = 17c(1cc, -2A(1cc, 1kd.1H), 5Z.1H);\\n#1z 19Y\\3R = 9D(15g);\\n#1s // 19Y\\1r s = 2Y(1ke / (1ke + 1rO), 0.0, 1.0);\\ns = (s * 18D.x) + 18D.y;\\1r t = (1Li + 1y7) / (2.0 * 1y7);\\1jv 5y;\\10m.s = s;\\10m.st = 1v(s, t);\\10m.1F6 = 1w(s, t, 0.0);\\10I 2q = 16E(5y);\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1u // 19Y\\1Cz();\\n}\\n"),p=["4gT "+b.11s.3c.1W5.1mf(1)],n="";b="";g(d.2q)?(b=g(d.2q)?d.2q.1hP:"",-1!==b.1qs(/3G\\s+1o\\s+1iQ;/g)&&p.1q("2k6"),-1!==b.1qs(/3G\\s+1o\\s+1hC;/g)&&p.1q("2k7")):n="19Y";p.1q(n);d=c.23O?["1SJ",n]:[n];n=1g ja({2N:p,5p:[h]});k=1g ja({2N:d,5p:[b,k]});c.11V=Ga.1sw({1O:a,2z:e.11V,5O:n,5A:k,7W:f});n=a.1hf.1Jv(c.11V,"48a");g(n)||(h=1g ja({2N:p.9V(["1y0"]),5p:[h]}),n=a.1hf.1Gx(c.11V,"48a",{1O:a,2z:c.3bw,5O:h,5A:k,7W:f}));c.3bw=n;h=a.1hf.1Jv(c.11V,"6fg");g(h)||(l=1g ja({2N:p.9V(["3g8 "+nd.2Qh.1mf(1)]),5p:[l]}),k=e.6y.1zS()("3G 1w 1y6;\\1J 1w 2ug;\\1J 1o 3g9;\\n#1z 19Y\\1J 1m 15g;\\n#1s\\1J 1v 2uf;\\1J 1o 2ue;\\n#1u\\1r 2W5(1w 9X, 1w 2G, 1w 1gm, 1o 2sG) {\\2j (-2sG - 2A(1gm, 9X)) / 2A(1gm, 2G);\\n}\\2s 2k(1p)\\n{\\1P 5Z = 4u;\\2aX /= 5Z.w;\\n#1z 19Y\\3R = 9D(15g);\\n#1s // 19Y\\1r 1ke = 2W5(5Z.1H, -1y6, 1y6.1H, 2uf.x);\\1r 1rO = 2W5(5Z.1H, 1y6, -1y6.1H, 2uf.y);\\3GD = 1V(0.0, 1ke);\\3GC = 1V(0.0, 1rO);\\1r s = 1ke / (1ke + 1rO);\\ns = (s * 2ug.x) + 2ug.y;\\1jv 5y;\\10m.s = s;\\10m.st = 1v(s, 2ue);\\10m.1F6 = 1w(s, 2ue, 0.0);\\10I 2q = 16E(5y);\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1u // 19Y\\n}\\n"),e=1g ja({2N:d,5p:[b,k]}),h=a.1hf.1Gx(c.11V,"6fg",{1O:a,2z:c.3y7,5O:l,5A:e,7W:f}));c.3y7=h};d.2Qg=1b(a,b,d,e,f,h,l){a=c.7h;e=a.16z.1h;h.1h=e;l.1h=e;b=b 2m hf?{}:d.1dg;b=a.6y.1BM()(b);1j(d=0;d<e;d++){f=a.16z[d];l=h[d];g(l)||(l=h[d]=1g Oa({7H:c,6Z:a.1vl}));l.4c=f;l.4w=c.1hT;l.2z=c.11V;l.4J=b;l.6t=ma.1Bk;l.1cI="1ki(1jy.w)";f=Oa.15v(l,l.10K.15c);f.4w=c.6ff;f.6t=ma.1Hh;l.10K.15c=f;1d k=Oa.15v(l,l.10K.3y9);k.2z=c.3bw;l.10K.3y9=k;k=Oa.15v(f,f.10K.3y9);k.2z=c.3bw;f.10K.3y9=k;f=Oa.15v(l,l.10K.4RJ);f.4w=c.6fe;f.2z=c.3y7;f.1cI="1ki(3g9)";l.10K.4RJ=f}};d.1Ry=1b(a,b,d,e,f,h,l,k){k=c.7h;Kb.3y8(k,b,f);if(b.3z===O.6G)1d p=k.2r1;1s b.3z===O.15j?p=k.2r0:b.3z===O.10j&&g(k.29Z)?p=k.29Z:g(k.2qZ)&&(p=k.2qZ);e=b.3z===O.1at;1d n=c.12p;a=n!==te.1uf;e=n!==te.1Q8&&!e;n=b.10s;if(n.3t||n.11P&&k.1sV){n=d.1h;1j(1d m=0;m<n;++m){1d z=p[m];a&&(k=d[m],g4(c,k,b,f,h,z,l));e&&(k=d[m].10K.15c,g4(c,k,b,f,h,z,l))}}};1a.7h=1g Kb(d);1a.7h.9c.4b(1b(a){c.4y=!0;c.1EM&&(c.13g=1p 0);a=a.1vN;g(a)?c.7S.7N(a):c.7S.5h(c)})}if(1a.161 2m hf&&!1a.4RI)1t 1g r("2qv 489 2Q 118 1A 2w to 14W 5gv 10M 5h4.");1a.7h.161=1a.161;1a.7h.2p=1a.2p;1a.7h.15S=1a.15S;1a.7h.2H(a)}1s{if(!1a.17X)1t 1g r("22p 4pI 6fd, 18g 2Q 4G 6fd.2E1() and 11i 1j 1Z 6fc 10l to 5h.");ok.2E1()}};ok.1i.1bH=1b(a){if(!g(1a.7h))1t 1g r("2Q 4G 2H 8w 1Jf 1bH");1f 1a.7h.1bH(a)};ok.1op=1b(a){1f a.18Y.1O.8X};ok.1i.3Z=1b(){1f!1};ok.1i.1M=1b(){1a.7h=1a.7h&&1a.7h.1M();1a.11V=1a.11V&&1a.11V.1M();1a.3y7=1a.3bw=1p 0;1f la(1a)};1L.2X(Xu.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),6e:Y("6e"),6N:Y("6N"),4K:Y("4K"),2q:Bj("2q"),8Y:Y("8Y"),5M:Y("5M"),5R:Y("5R"),6x:Y("6x"),4S:Y("4S")});Xu.1i.1y=1b(a){if(!g(a))1f 1g Xu(1a);a.2p=1a.2p;a.6e=1a.6e;a.6N=1a.6N;a.4K=1a.4K;a.2q=1a.2q;a.8Y=1a.8Y;a.5M=1a.5M;a.5R=1a.5R;a.6x=1a.6x;a.4S=1a.4S;1f a};Xu.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.6e=m(1a.6e,a.6e);1a.6N=m(1a.6N,a.6N);1a.4K=m(1a.4K,a.4K);1a.2q=m(1a.2q,a.2q);1a.8Y=m(1a.8Y,a.8Y);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S)};1L.2X(Jp.1i,{5g:{1n:r.8i},13C:{1n:r.8i},1ub:{1n:r.8i}});Jp.1i.3K=r.8i;Jp.1i.1nF=r.8i;Jp.1i.2L=r.8i;1d VW=1g J;Jp.452=1b(a,b,c,d,e){if(!g(b))1f b;g(e)||(e=1g k);if(c===d)1f k.1y(b,e);d=Da.3nJ(a,VW);g(d)||(d=Da.2yN(a,VW));if(c===dg.4Nv)1f J.10r(d,b,e);if(c===dg.1EB)1f J.10r(J.1z0(d,VW),b,e)};1L.2X(Ji.1i,{5g:{1n:1b(){1f!g(1a.6j)||1a.1lF===dg.1EB}},13C:{1n:1b(){1f 1a.8B}},1ub:{1n:1b(){1f 1a.1lF}}});Ji.1i.3K=1b(a,b){1f 1a.1nF(a,dg.1EB,b)};Ji.1i.1cf=1b(a,b){1d c=!1;k.2L(1a.6j,a)||(c=!0,1a.6j=k.1y(a));g(b)&&1a.1lF!==b&&(c=!0,1a.1lF=b);c&&1a.8B.5k(1a)};Ji.1i.1nF=1b(a,b,c){if(!g(a))1t 1g r("6q is 1X.");if(!g(b))1t 1g r("1ub is 1X.");1f Jp.452(a,1a.6j,1a.1lF,b,c)};Ji.1i.2L=1b(a){1f 1a===a||a 2m Ji&&k.2L(1a.6j,a.6j)&&1a.1lF===a.1lF};1L.2X(Yu.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),3q:Y("3q"),1G:Y("1G"),1D:Y("1D"),6N:Y("6N"),9i:Y("9i"),1c4:Y("1c4"),1b8:Y("1b8"),6f:Y("6f"),4K:Y("4K"),2q:Bj("2q"),8Y:Y("8Y"),5M:Y("5M"),5R:Y("5R"),6x:Y("6x"),4S:Y("4S"),12p:Y("12p"),13G:Y("13G")});Yu.1i.1y=1b(a){if(!g(a))1f 1g Yu(1a);a.2p=1a.2p;a.3q=1a.3q;a.1G=1a.1G;a.1D=1a.1D;a.6N=1a.6N;a.9i=1a.9i;a.1c4=1a.1c4;a.1b8=1a.1b8;a.6f=1a.6f;a.4K=1a.4K;a.2q=1a.2q;a.8Y=1a.8Y;a.5M=1a.5M;a.5R=1a.5R;a.6x=1a.6x;a.4S=1a.4S;a.12p=1a.12p;a.13G=1a.13G;1f a};Yu.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.3q=m(1a.3q,a.3q);1a.1G=m(1a.1G,a.1G);1a.1D=m(1a.1D,a.1D);1a.6N=m(1a.6N,a.6N);1a.9i=m(1a.9i,a.9i);1a.1c4=m(1a.1c4,a.1c4);1a.1b8=m(1a.1b8,a.1b8);1a.6f=m(1a.6f,a.6f);1a.4K=m(1a.4K,a.4K);1a.2q=m(1a.2q,a.2q);1a.8Y=m(1a.8Y,a.8Y);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S);1a.12p=m(1a.12p,a.12p);1a.13G=m(1a.13G,a.13G)};1L.2X(Zu.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),1h:Y("1h"),1i1:Y("1i1"),1fd:Y("1fd"),6N:Y("6N"),4K:Y("4K"),2q:Bj("2q"),8Y:Y("8Y"),5M:Y("5M"),5R:Y("5R"),1ej:Y("1ej"),1ue:Y("1ue"),6x:Y("6x"),4S:Y("4S")});Zu.1i.1y=1b(a){if(!g(a))1f 1g Zu(1a);a.2p=1a.2p;a.1h=1a.1h;a.1i1=1a.1i1;a.1fd=1a.1fd;a.6N=1a.6N;a.4K=1a.4K;a.2q=1a.2q;a.8Y=1a.8Y;a.5M=1a.5M;a.5R=1a.5R;a.1ej=1a.1ej;a.1ue=1a.1ue;a.6x=1a.6x;a.4S=1a.4S;1f a};Zu.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.1h=m(1a.1h,a.1h);1a.1i1=m(1a.1i1,a.1i1);1a.1fd=m(1a.1fd,a.1fd);1a.6N=m(1a.6N,a.6N);1a.4K=m(1a.4K,a.4K);1a.2q=m(1a.2q,a.2q);1a.8Y=m(1a.8Y,a.8Y);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.1ej=m(1a.1ej,a.1ej);1a.1ue=m(1a.1ue,a.1ue);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S)};1L.2X($u.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),19p:Y("19p"),1aP:Y("1aP"),1D:Y("1D"),6N:Y("6N"),9i:Y("9i"),1c4:Y("1c4"),5S:Y("5S"),15K:Y("15K"),6f:Y("6f"),4K:Y("4K"),2q:Bj("2q"),8Y:Y("8Y"),5M:Y("5M"),5R:Y("5R"),1ej:Y("1ej"),6x:Y("6x"),4S:Y("4S"),12p:Y("12p"),13G:Y("13G")});$u.1i.1y=1b(a){if(!g(a))1f 1g $u(1a);a.2p=1a.2p;a.19p=1a.19p;a.1aP=1a.1aP;a.1D=1a.1D;a.6N=1a.6N;a.9i=1a.9i;a.1c4=1a.1c4;a.5S=1a.5S;a.15K=1a.15K;a.6f=1a.6f;a.4K=1a.4K;a.2q=1a.2q;a.8Y=1a.8Y;a.5M=1a.5M;a.5R=1a.5R;a.1ej=1a.1ej;a.6x=1a.6x;a.4S=1a.4S;a.12p=1a.12p;a.13G=1a.13G;1f a};$u.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.19p=m(1a.19p,a.19p);1a.1aP=m(1a.1aP,a.1aP);1a.1D=m(1a.1D,a.1D);1a.6N=m(1a.6N,a.6N);1a.9i=m(1a.9i,a.9i);1a.1c4=m(1a.1c4,a.1c4);1a.5S=m(1a.5S,a.5S);1a.15K=m(1a.15K,a.15K);1a.6f=m(1a.6f,a.6f);1a.4K=m(1a.4K,a.4K);1a.2q=m(1a.2q,a.2q);1a.8Y=m(1a.8Y,a.8Y);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.1ej=m(1a.1ej,a.1ej);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S);1a.12p=m(1a.12p,a.12p);1a.13G=m(1a.13G,a.13G)};1L.2X(av.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),10N:Y("10N"),1sR:Y("1sR"),1vW:Y("1vW"),1vV:Y("1vV"),1vU:Y("1vU"),1vT:Y("1vT"),6N:Y("6N"),4K:Y("4K"),2q:Bj("2q"),8Y:Y("8Y"),5M:Y("5M"),5R:Y("5R"),1im:Y("1im"),1in:Y("1in"),1sS:Y("1sS"),6x:Y("6x"),4S:Y("4S")});av.1i.1y=1b(a){if(!g(a))1f 1g av(1a);a.2p=1a.2p;a.10N=1a.10N;a.1sR=1a.1sR;a.1vW=1a.1vW;a.1vV=1a.1vV;a.1vU=1a.1vU;a.1vT=1a.1vT;a.6N=1a.6N;a.4K=1a.4K;a.2q=1a.2q;a.8Y=1a.8Y;a.5M=1a.5M;a.5R=1a.5R;a.1im=1a.1im;a.1in=1a.1in;a.1sS=1a.1sS;a.6x=1a.6x;a.4S=1a.4S;1f a};av.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.10N=m(1a.10N,a.10N);1a.1sR=m(1a.1sR,a.1sR);1a.1vW=m(1a.1vW,a.1vW);1a.1vV=m(1a.1vV,a.1vV);1a.1vU=m(1a.1vU,a.1vU);1a.1vT=m(1a.1vT,a.1vT);1a.6N=m(1a.6N,a.6N);1a.4K=m(1a.4K,a.4K);1a.2q=m(1a.2q,a.2q);1a.8Y=m(1a.8Y,a.8Y);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.1im=m(1a.1im,a.1im);1a.1in=m(1a.1in,a.1in);1a.1sS=m(1a.1sS,a.1sS);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S)};1L.2X(Kp.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),3l:Y("3l"),9O:Y("9O"),2r:Y("2r"),3b:Y("3b"),1oC:Y("1oC"),1a4:Y("1a4"),1pJ:Y("1pJ"),14l:Y("14l"),19V:Y("19V"),15P:Y("15P"),16l:Y("16l"),6N:Y("6N"),1b5:Y("1b5"),5M:Y("5M"),5R:Y("5R"),15M:Y("15M"),1cd:Y("1cd"),13h:Y("13h"),4S:Y("4S"),11p:Y("11p")});Kp.1i.1y=1b(a){if(!g(a))1f 1g Kp(1a);a.2p=1a.2p;a.3l=1a.3l;a.9O=1a.9O;a.2r=1a.2r;a.3b=1a.3b;a.1oC=1a.1oC;a.1a4=1a.1a4;a.1pJ=1a.1pJ;a.14l=1a.14l;a.19V=1a.19V;a.15P=1a.15P;a.16l=1a.16l;a.6N=1a.6N;a.1b5=1a.1b5;a.5M=1a.5M;a.5R=1a.5R;a.15M=1a.15M;a.1cd=1a.1cd;a.13h=1a.13h;a.4S=1a.4S;a.11p=1a.11p;1f a};Kp.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.3l=m(1a.3l,a.3l);1a.9O=m(1a.9O,a.9O);1a.2r=m(1a.2r,a.2r);1a.3b=m(1a.3b,a.3b);1a.1oC=m(1a.1oC,a.1oC);1a.1a4=m(1a.1a4,a.1a4);1a.1pJ=m(1a.1pJ,a.1pJ);1a.14l=m(1a.14l,a.14l);1a.19V=m(1a.19V,a.19V);1a.15P=m(1a.15P,a.15P);1a.16l=m(1a.16l,a.16l);1a.6N=m(1a.6N,a.6N);1a.1b5=m(1a.1b5,a.1b5);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.15M=m(1a.15M,a.15M);1a.1cd=m(1a.1cd,a.1cd);1a.13h=m(1a.13h,a.13h);1a.4S=m(1a.4S,a.4S);1a.11p=m(1a.11p,a.11p)};1d WW=1g eC,bv=1b(a){a=m(a,m.4Z);1a.8B=1g sa;1a.488=1a.13V=1a.485=1a.1dP=1a.8Jw=1a.3y6=1p 0;1a.14L=a.14L;1a.5S=a.5S;1a.3b=a.3b};1L.2X(bv.1i,{5g:{1n:1b(){1f F.5g(1a.3y6)&&F.5g(1a.1dP)&&F.5g(1a.13V)}},13C:{1n:1b(){1f 1a.8B}},14L:Y("14L"),5S:Y("5S"),3b:Y("3b")});bv.1i.3K=1b(a,b){g(b)||(b=1g eC);b.14L=F.1pW(1a.3y6,a,WW.14L,b.14L);b.5S=F.1pW(1a.1dP,a,WW.5S,b.5S);b.3b=F.1pW(1a.13V,a,WW.3b,b.3b);1f b};bv.1i.2L=1b(a){1f 1a===a||a 2m bv&&F.2L(1a.3y6,a.3y6)&&F.2L(1a.1dP,a.1dP)&&F.2L(1a.13V,a.13V)};1d Oi=1b(a,b){1a.1xC=[];1a.8B=1g sa;g(a)&&1a.18y(a,b)};1L.2X(Oi.1i,{45j:{1n:1b(){1f 1a.1xC}},5g:{1n:1b(){1j(1d a=1a.1xC,b=0,c=a.1h;b<c;b++)if(!F.5g(1a[a[b]]))1f!1;1f!0}},13C:{1n:1b(){1f 1a.8B}}});Oi.1i.1qP=1b(a){1f-1!==1a.1xC.3f(a)};Oi.1i.1Dr=1b(a,b,c){1d d=1a.1xC;if(!g(a))1t 1g r("3lN is 1X.");if(-1!==d.3f(a))1t 1g r(a+" is 1A8 a 3lT 5i.");d.1q(a);1L.12U(1a,a,Y(a,!0,m(c,6fb)));g(b)&&(1a[a]=b);1a.8B.5k(1a)};Oi.1i.6fa=1b(a){1d b=1a.1xC.3f(a);if(!g(a))1t 1g r("3lN is 1X.");if(-1===b)1t 1g r(a+" is 2S a 3lT 5i.");1a.1xC.6z(b,1);4Y 1a[a];1a.8B.5k(1a)};Oi.1i.3K=1b(a,b){if(!g(a))1t 1g r("6q is 1X.");g(b)||(b={});1j(1d c=1a.1xC,d=0,e=c.1h;d<e;d++){1d f=c[d];b[f]=F.8y(1a[f],a,b[f])}1f b};Oi.1i.18y=1b(a,b){if(!g(a))1t 1g r("5j is 1X.");1j(1d c=1a.1xC,d=g(a.1xC)?a.1xC:1L.9K(a),e=0,f=d.1h;e<f;e++){1d h=d[e],l=1a[h],k=a[h];1p 0===l&&-1===c.3f(h)&&1a.1Dr(h,1p 0,b);1p 0!==k&&(1p 0!==l?g(l)&&g(l.18y)&&l.18y(k):g(k)&&g(k.18y)&&g(k.1y)?1a[h]=k.1y():1a[h]=k)}};Oi.1i.2L=1b(a){1d b;if(!(b=1a===a)&&(b=a 2m Oi))a:{b=1a.1xC;1d c=a.1xC,d=b.1h;if(d!==c.1h)b=!1;1s{1j(1d e=0;e<d;++e){1d f=b[e];if(-1===c.3f(f)||!F.2L(1a[f],a[f])){b=!1;1W a}}b=!0}}1f b};1L.2X(Ur.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),3b:Y("3b"),1BI:Y("1BI"),1BH:Y("1BH"),1Kg:Y("1Kg"),6x:Y("6x"),1dr:Y("1dr"),2ql:Y("2ql"),1VZ:Y("1VZ"),2hW:Y("2hW",1p 0,1b(a){1f 1g Oi(a,h4)}),6N:Y("6N"),4S:Y("4S"),1rE:Y("1rE"),1Nw:Y("1Nw"),1A:Y("1A"),1qt:Y("1qt"),1Nv:Y("1Nv"),1cj:Y("1cj"),1fH:Y("1fH"),18V:Y("18V")});Ur.1i.1y=1b(a){if(!g(a))1f 1g Ur(1a);a.2p=1a.2p;a.3b=1a.3b;a.1BI=1a.1BI;a.1BH=1a.1BH;a.1Kg=1a.1Kg;a.6x=1a.6x;a.1dr=1a.1dr;a.2ql=1a.2ql;a.1VZ=1a.1VZ;a.2hW=1a.2hW;a.6N=1a.1c1;a.4S=1a.4S;a.1rE=1a.1rE;a.1Nw=1a.1Nw;a.1A=1a.1A;a.1qt=1a.1qt;a.1Nv=1a.1Nv;a.1cj=1a.1cj;a.1fH=1a.1fH;a.18V=1a.18V;1f a};Ur.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.3b=m(1a.3b,a.3b);1a.1BI=m(1a.1BI,a.1BI);1a.1BH=m(1a.1BH,a.1BH);1a.1Kg=m(1a.1Kg,a.1Kg);1a.6x=m(1a.6x,a.6x);1a.1dr=m(1a.1dr,a.1dr);1a.2ql=m(1a.2ql,a.2ql);1a.1VZ=m(1a.1VZ,a.1VZ);1a.6N=m(1a.6N,a.6N);1a.4S=m(1a.4S,a.4S);1a.1rE=m(1a.1rE,a.1rE);1a.1Nw=m(1a.1Nw,a.1Nw);1a.1A=m(1a.1A,a.1A);1a.1qt=m(1a.1qt,a.1qt);1a.1Nv=m(1a.1Nv,a.1Nv);1a.1cj=m(1a.1cj,a.1cj);1a.1fH=m(1a.1fH,a.1fH);1a.18V=m(1a.18V,a.18V);a=a.2hW;if(g(a)){1d b=1a.2hW;g(b)?b.18y(a):1a.2hW=1g Oi(a,h4)}};1L.2X(by.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),1dr:Y("1dr"),1ev:Y("1ev")});by.1i.1y=1b(a){if(!g(a))1f 1g by(1a);a.2p=1a.2p;a.1dr=1a.1dr;a.1ev=1a.1ev;1f a};by.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.1dr=m(1a.1dr,a.1dr);1a.1ev=m(1a.1ev,a.1ev)};1L.2X(Vr.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),2hV:Y("2hV"),23k:Y("23k"),1G:Y("1G"),1ko:Y("1ko"),2q:Bj("2q"),4S:Y("4S")});Vr.1i.1y=1b(a){if(!g(a))1f 1g Vr(1a);a.2p=1a.2p;a.2hV=1a.2hV;a.23k=1a.23k;a.1G=1a.1G;a.1ko=1a.1ko;a.2q=1a.2q;a.4S=1a.4S;1f a};Vr.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.2hV=m(1a.2hV,a.2hV);1a.23k=m(1a.23k,a.23k);1a.1G=m(1a.1G,a.1G);1a.1ko=m(1a.1ko,a.1ko);1a.2q=m(1a.2q,a.2q);1a.4S=m(1a.4S,a.4S)};1L.2X(cy.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),12w:Y("12w"),6e:Y("6e"),4K:Y("4K"),2q:Bj("2q"),8Y:Y("8Y"),5M:Y("5M"),5R:Y("5R"),6x:Y("6x"),4S:Y("4S")});cy.1i.1y=1b(a){if(!g(a))1f 1g cy(1a);a.2p=1a.2p;a.12w=1a.12w;a.6e=1a.6e;a.4K=1a.4K;a.2q=1a.2q;a.8Y=1a.8Y;a.5M=1a.5M;a.5R=1a.5R;a.6x=1a.6x;a.4S=1a.4S;1f a};cy.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.12w=m(1a.12w,a.12w);1a.6e=m(1a.6e,a.6e);1a.4K=m(1a.4K,a.4K);1a.2q=m(1a.2q,a.2q);1a.8Y=m(1a.8Y,a.8Y);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S)};1L.2X(Wr.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),12Q:Y("12Q"),6N:Y("6N"),1A:Y("1A"),5M:Y("5M"),5R:Y("5R"),13h:Y("13h"),15M:Y("15M"),4S:Y("4S"),11p:Y("11p")});Wr.1i.1y=1b(a){if(!g(a))1f 1g Wr(1a);a.2p=1a.2p;a.12Q=1a.12Q;a.6N=1a.6N;a.1A=1a.1A;a.5M=1a.5M;a.5R=1a.5R;a.13h=1a.13h;a.15M=1a.1gH;a.4S=1a.4S;a.11p=1a.11p;1f a};Wr.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.12Q=m(1a.12Q,a.12Q);1a.6N=m(1a.6N,a.6N);1a.1A=m(1a.1A,a.1A);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.13h=m(1a.13h,a.13h);1a.15M=m(1a.1gH,a.15M);1a.4S=m(1a.4S,a.4S);1a.11p=m(1a.11p,a.11p)};1L.2X(pk.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),3q:Y("3q"),1G:Y("1G"),6f:Y("6f"),2q:Bj("2q"),1r4:Bj("1r4"),14g:Y("14g"),1d7:Y("1d7"),6x:Y("6x"),4S:Y("4S"),12p:Y("12p"),13G:Y("13G")});pk.1i.1y=1b(a){if(!g(a))1f 1g pk(1a);a.2p=1a.2p;a.3q=1a.3q;a.1G=1a.1G;a.6f=1a.6f;a.2q=1a.2q;a.1r4=1a.1r4;a.14g=1a.14g;a.1d7=1a.1d7;a.6x=1a.6x;a.4S=1a.4S;a.12p=1a.12p;a.13G=1a.13G;1f a};pk.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.3q=m(1a.3q,a.3q);1a.1G=m(1a.1G,a.1G);1a.6f=m(1a.6f,a.6f);1a.2q=m(1a.2q,a.2q);1a.1r4=m(1a.1r4,a.1r4);1a.14g=m(1a.14g,a.14g);1a.1d7=m(1a.1d7,a.1d7);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S);1a.12p=m(1a.12p,a.12p);1a.13G=m(1a.13G,a.13G)};1L.2X(cv.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),2q:Bj("2q"),3q:Y("3q"),1Nk:Y("1Nk"),6f:Y("6f"),4K:Y("4K"),8Y:Y("8Y"),5M:Y("5M"),5R:Y("5R"),1b8:Y("1b8"),6x:Y("6x"),4S:Y("4S"),1kI:Y("1kI")});cv.1i.1y=1b(a){if(!g(a))1f 1g cv(1a);a.2p=1a.2p;a.2q=1a.2q;a.3q=1a.3q;a.1Nk=1a.1Nk;a.6f=1a.6f;a.4K=1a.4K;a.8Y=1a.8Y;a.5M=1a.5M;a.5R=1a.5R;a.1b8=1a.1b8;a.6x=1a.6x;a.4S=1a.4S;a.1kI=1a.1kI;1f a};cv.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.2q=m(1a.2q,a.2q);1a.3q=m(1a.3q,a.3q);1a.1Nk=m(1a.1Nk,a.1Nk);1a.6f=m(1a.6f,a.6f);1a.4K=m(1a.4K,a.4K);1a.8Y=m(1a.8Y,a.8Y);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.1b8=m(1a.1b8,a.1b8);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S);1a.1kI=m(1a.1kI,a.1kI)};1L.2X(Lp.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),9R:Y("9R"),1D:Y("1D"),6N:Y("6N"),9i:Y("9i"),1c4:Y("1c4"),5S:Y("5S"),15K:Y("15K"),6f:Y("6f"),4K:Y("4K"),2q:Bj("2q"),8Y:Y("8Y"),5M:Y("5M"),5R:Y("5R"),6x:Y("6x"),4S:Y("4S"),12p:Y("12p"),13G:Y("13G")});Lp.1i.1y=1b(a){if(!g(a))1f 1g Lp(1a);a.2p=1a.2p;a.9R=1a.9R;a.1D=1a.1D;a.6N=1a.6N;a.9i=1a.9i;a.1c4=1a.1c4;a.5S=1a.5S;a.15K=1a.15K;a.6f=1a.6f;a.4K=1a.4K;a.2q=1a.2q;a.8Y=1a.8Y;a.5M=1a.5M;a.5R=1a.5R;a.6x=1a.6x;a.4S=1a.4S;a.12p=1a.12p;a.13G=1a.13G;1f a};Lp.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.9R=m(1a.9R,a.9R);1a.1D=m(1a.1D,a.1D);1a.6N=m(1a.6N,a.6N);1a.9i=m(1a.9i,a.9i);1a.1c4=m(1a.1c4,a.1c4);1a.5S=m(1a.5S,a.5S);1a.15K=m(1a.15K,a.15K);1a.6f=m(1a.6f,a.6f);1a.4K=m(1a.4K,a.4K);1a.2q=m(1a.2q,a.2q);1a.8Y=m(1a.8Y,a.8Y);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S);1a.12p=m(1a.12p,a.12p);1a.13G=m(1a.13G,a.13G)};1L.2X(Xr.1i,{13C:{1n:1b(){1f 1a.8B}},2p:Y("2p"),3q:Y("3q"),1lB:Y("1lB"),1lC:Y("1lC"),6f:Y("6f"),4K:Y("4K"),2q:Bj("2q"),8Y:Y("8Y"),5M:Y("5M"),5R:Y("5R"),6x:Y("6x"),4S:Y("4S")});Xr.1i.1y=1b(a){if(!g(a))1f 1g Xr(1a);a.2p=1a.2p;a.3q=1a.3q;a.1lB=1a.1lB;a.1lC=1a.1lC;a.6f=1a.6f;a.4K=1a.4K;a.2q=1a.2q;a.8Y=1a.8Y;a.5M=1a.5M;a.5R=1a.5R;a.6x=1a.6x;a.4S=1a.4S;1f a};Xr.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2p=m(1a.2p,a.2p);1a.3q=m(1a.3q,a.3q);1a.1lB=m(1a.1lB,a.1lB);1a.1lC=m(1a.1lC,a.1lC);1a.6f=m(1a.6f,a.6f);1a.4K=m(1a.4K,a.4K);1a.2q=m(1a.2q,a.2q);1a.8Y=m(1a.8Y,a.8Y);1a.5M=m(1a.5M,a.5M);1a.5R=m(1a.5R,a.5R);1a.6x=m(1a.6x,a.6x);1a.4S=m(1a.4S,a.4S)};1d 6f9=1g T;1L.2X(wd.1i,{1b9:ho("1b9"),id:{1n:1b(){1f 1a.7R}},13C:{1n:1b(){1f 1a.8B}},2i:ho("2i"),2p:{1n:1b(){1f 1a.10T},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");if(a!==1a.10T){1d b=1a.17K;1a.10T=a;1d c=1a.17K;b!==c&&kQ(1a,1a.1R2,c);1a.8B.5k(1a,"2p",a,!a)}}},17K:{1n:1b(){1f 1a.10T&&(!g(1a.1mu)||1a.1mu.2p)&&(!g(1a.2nJ)||1a.2nJ.17K)}},12f:{1n:1b(){1f 1a.2nJ},1C:1b(a){1d b=1a.2nJ;if(b!==a){1d c=1a.17K;if(g(b)){1d d=b.1R2.3f(1a);b.1R2.6z(d,1)}1a.2nJ=a;g(a)&&a.1R2.1q(1a);d=1a.17K;c!==d&&kQ(1a,1a.1R2,d);1a.8B.5k(1a,"12f",a,b)}}},45j:{1n:1b(){1f 1a.1xC}},10i:Ih("10i",ul),13F:Ih("13F",Xu),1u5:Ih("1u5",Yu),1pV:Ih("1pV",Zu),16G:Y("16G"),1fc:Ih("1fc",$u),3c:Ih("3c",av),17R:Ih("17R",Kp),12W:Ih("12W",Ur),11f:Y("11f"),9w:Ih("9w",Vr),12w:Ih("12w",cy),7v:Ih("7v",Wr),12i:Ih("12i",yl),11M:Ih("11M",pk),2CC:Ih("2CC",cv),5U:Ih("5U",Oi),1K:Y("1K",1p 0,1b(a){1f 1g Ji(a)}),3g:Ih("3g",Lp),39K:Y("39K"),1H9:Ih("1H9",Xr)});wd.1i.1hK=1b(a){if(!g(a))1t 1g r("6q is 1X.");1d b=1a.1R9;1f!g(b)||b.8h(a)};wd.1i.1Dr=1b(a){1d b=1a.1xC;if(!g(a))1t 1g r("3lN is 1X.");if(-1!==b.3f(a))1t 1g r(a+" is 1A8 a 3lT 5i.");if(a in 1a)1t 1g r(a+" is a 5ZI 5i 2i.");b.1q(a);1L.12U(1a,a,ho(a,!0))};wd.1i.6fa=1b(a){1d b=1a.1xC.3f(a);if(!g(a))1t 1g r("3lN is 1X.");if(-1===b)1t 1g r(a+" is 2S a 3lT 5i.");1a.1xC.6z(b,1);4Y 1a[a]};wd.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.2i=m(1a.2i,a.2i);1a.1b9=m(a.1b9,1a.1b9);1j(1d b=1a.1xC,c=g(a.1xC)?a.1xC:1L.9K(a),d=c.1h,e=0;e<d;e++){1d f=c[e];if("12f"!==f){1d h=1a[f],l=a[f];g(h)||-1!==b.3f(f)||1a.1Dr(f);g(l)&&(g(h)?g(h.18y)&&h.18y(l):g(l.18y)&&g(l.1y)?1a[f]=l.1y():1a[f]=l)}}};1d 4RG=1g J,3m4=1g k,4RH=1g ca;wd.1i.39W=1b(a,b){v.1N.2c("6q",a);1d c=F.8y(1a.9M,a,3m4);if(g(c))1f a=F.8y(1a.1tY,a,4RH),b=g(a)?A.1yU(J.1fE(a,4RG),c,b):Da.18N(c,1p 0,b)};wd.1i.2Di=1b(a,b,c,d,e){v.1N.2c("6q",a);1d f=F.7q(b,a,bb.6i);b=F.8y(1a.9M,a,3m4);if(f===bb.6i||!g(b)||k.5T(b,k.6h,B.1PW))1f 1a.39W(a,e);1d h=d.10Z(b,6f9);h.1D=f===bb.1me?c:h.1D+c;b=d.13B(h,b);a=F.8y(1a.1tY,a,4RH);1f e=g(a)?A.1yU(J.1fE(a,4RG),b,e):Da.18N(b,1p 0,e)};wd.4RF=1b(a){1f bf.6f8(a)};wd.6f7=1b(a){1f ok.1op(a)};wd.1i.3S1=1b(a,b){0!=a||0!=b?(1a.1xe.3e=!0,C.9v(a,b,1a.1xe.1Q)):(1a.1xe.3e=!1,C.9v(0,0,1a.1xe.1Q))};1d 6f6=1g cc(y.9r),6f4=1g od(!0),6f5=1g od(!0),$Ma=1g od(!1),6f3=1g od(y.1a7),6f2=1g od(ed.39R),6f1=1g od(1g ob),6f0=1g od(te.2hq);1L.2X(fd.1i,{id:{1n:1b(){1f 1a.7R}},13a:{1n:1b(){1f 1a.11d}},2P9:{1n:1b(){1f 1a.1jm}},23g:{1n:1b(){1f!1a.1jm||!g(1a.11d.1b9)&&F.5g(1a.1kJ)&&F.5g(1a.1W2)}},1lE:{1n:1b(){1f 1a.15f}},44L:{1n:1b(){1f 1a.1zQ}},44K:{1n:1b(){1f!1a.1zQ||!g(1a.11d.1b9)&&F.5g(1a.1kJ)&&F.5g(1a.1Ra)}},3vz:{1n:1b(){1f 1a.1W1}},5R:{1n:1b(){1f 1a.16n}},39Q:{1n:1b(){1f 1a.39P}},1Ns:{1n:1b(){1f 1a.1oP}},39N:{1n:1b(){1f 1a.39O}},44J:{1n:1b(){1f 1a.1EA}},3ZI:{1n:1b(){1f 1a.2Bw}},66y:{1n:1b(){1f 1a.2qi}},39M:{1n:1b(){1f 1a.1R8}}});fd.1i.4Nj=1b(a){1d b=1a.11d;a=1a.1zQ&&b.1hK(a)&&1a.1kJ.3K(a)&&1a.1Ra.3K(a);1f m(a,!1)};fd.1i.2P5=1b(a){1d b=1a.11d;a=1a.1jm&&b.1hK(a)&&1a.1kJ.3K(a)&&1a.1W2.3K(a);1f m(a,!1)};fd.1i.1xx=r.8i;fd.1i.1Nt=r.8i;fd.1i.3Z=1b(){1f!1};fd.1i.1M=1b(){la(1a)};fd.1i.1ei=1b(a,b){a=b.2p;1f g(a)&&a.5g&&!a.3K(Za.11Z)};fd.1i.3vJ=1b(a,b){1f!1};fd.1i.2Pc=1b(a){1f!0};fd.1i.23n=r.8i;fd.1i.23m=r.8i;fd.1i.1ua=1b(a,b,c,d){if(-1!==1a.45i.3f(b))if(b=1a.11d[1a.3wb],g(b)){d=b.4K;1d e=g(d)&&d.5g?d.3K(Za.11Z):!0,f=b.8Y;(c=g(f))&&f.5g&&(c=f.3K(Za.11Z));if(e||c)if(f=b.2p,1a.1ei(a,b)){if(1a.1jm||1a.1zQ)1a.1zQ=1a.1jm=!1,1a.1R8.5k(1a)}1s 1a.15f=m(b.2q,6f6),1a.1W2=m(d,6f5),1a.1kJ=m(f,6f4),1a.1Ra=m(b.8Y,$Ma),1a.1W1=c?m(b.5M,6f3):1p 0,1a.39P=m(b.6x,6f2),1a.1oP=m(b.4S,6f1),1a.39O=m(b.12p,6f0),1a.1jm=e,d=1a.3vJ(a,b)&&(1a.47Z||1a.15f 2m cc),c&&d&&(ec(ec.6eZ),c=!1),1a.2qi=d,1a.1zQ=c,1a.23n(a,b)?1a.1EA||(1a.1EA=!0,1a.1R8.5k(1a)):(1a.23m(a,b),1a.2Bw=1a.2Pc(1a.14n),a=b.5R,1a.16n=g(a)?a.3K(Za.11Z):1,1a.1EA=!1,1a.1R8.5k(1a));1s if(1a.1jm||1a.1zQ)1a.1zQ=1a.1jm=!1,1a.1R8.5k(1a)}1s if(1a.1jm||1a.1zQ)1a.1zQ=1a.1jm=!1,1a.1R8.5k(1a)};fd.1i.4Nh=1b(a,b){v.2l("13y",a);v.2l("2y4",b);if(!1a.1EA)1t 1g r("18m 1bX 18f 2S 1vP 4Ng 3y.");1f 1g 1a.7m.1Zm(1a,a,b)};1L.2X(Vd.1i,{5g:{1n:1b(){1f 1a.3bv}},13C:{1n:1b(){1f 1a.8B}}});Vd.1i.3K=1b(a,b){1f 1a.1Zz(a,b)};Vd.1i.6eY=1b(a,b){if(!g(a))1t 1g r("1Jg is 1X.");if(!g(b))1t 1g r("5g is 1X.");1d c=1a.1Zz!==a||1a.3bv!==b;1a.1Zz=a;1a.3bv=b;c&&1a.8B.5k(1a)};Vd.1i.2L=1b(a){1f 1a===a||a 2m Vd&&1a.1Zz===a.1Zz&&1a.3bv===a.3bv};1d i4=1g k,6eW=1g T;1L.2X(Yr.1i,{5g:{1n:1b(){1f!1}},13C:{1n:1b(){1f 1a.8B}}});Yr.1i.1xz=1b(){g(1a.1lm)&&1a.1lm();1d a=1a.2R,b=a.10a,c=1a.9M;if(!g(b)||k.2L(c,k.6h))1a.2qY=0;1s{1d d=b.3c,e=b.7G,f=1a;c=d.10Z(c,1a.6eX);b=b.1sc(c);g(b)?1a.2qY=b:1a.2qY=0;1a.1lm=e.3Sg(c,1b(b){a.3z===O.6G?(b=d.10Z(b,6eW),f.2qY=b.1D):f.2qY=b.x;f.13C.5k()})}};Yr.1i.3K=1b(a,b){1d c=F.7q(1a.1c1,a,bb.6i),d=F.7q(1a.3bu,a,bb.6i);if(c===bb.6i&&d!==bb.28I)1f 1a.9M=k.1y(k.6h,1a.9M),k.1y(k.6h,b);if(1a.4RE.5g)1f k.4g(1a.1VA,1a.2qY,b);c=1a.2R;a=1a.4RE.3K(a,i4);if(!g(a)||k.2L(a,k.6h)||!g(c.10a))1f k.1y(k.6h,b);if(k.5T(1a.9M,a,B.1io))1f k.4g(1a.1VA,1a.2qY,b);1a.9M=k.1y(a,1a.9M);1a.1xz();a=c.10a.3c.17N(a,1a.1VA);1f k.4g(a,1a.2qY,b)};Yr.1i.3Z=1b(){1f!1};Yr.1i.1M=1b(){g(1a.2qn)&&1a.2qn();g(1a.47Y)&&1a.47Y();g(1a.1lm)&&1a.1lm();1f la(1a)};1d 4RC=k.6h,4RB=1g k,6eV=1g k,4RD=1g y;g(1L.6F)&&(Dj.1i=1L.6F(fd.1i),Dj.1i.7m=Dj);1L.2X(Dj.1i,{1Kh:{1n:1b(){1f 1a.1lG}}});Dj.1i.1xx=1b(a){v.2l("6q",a);if(!1a.1jm)1t 1g r("18m 1bX 18f 2S 1vP a 2hR 3y.");1d b=1a.11d,c=b.1hK(a),d=1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1W2.3K(a)),e=1a.1oP.3K(a);e=Qd.1vQ(e);d={2p:d,4S:e,1A:1p 0,2M:1p 0};if(1a.15f 2m cc){1d f;g(1a.15f.1A)&&(1a.15f.1A.5g||c)&&(f=1a.15f.1A.3K(a,4RD));g(f)||(f=y.9r);d.1A=Qb.1dc(f)}g(1a.14n.8J)&&(d.2M=af.1mg(F.7q(1a.1lG,a,4RC,4RB)));1f 1g yb({id:b,3y:yf.25S(1a.14n),4a:b.2Di(a,b.13F.6N,.5*1a.14n.6e.z,1a.2R.11s.3c),2w:d})};Dj.1i.1Nt=1b(a){v.2l("6q",a);if(!1a.1zQ)1t 1g r("18m 1bX 18f 2S 1vP an 2hQ 3y.");1d b=1a.11d,c=b.1hK(a),d=F.7q(1a.1W1,a,y.1a7,4RD),e=1a.1oP.3K(a);c={2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1Ra.3K(a)),1A:Qb.1dc(d),4S:Qd.1vQ(e),2M:1p 0};g(1a.14n.8J)&&(c.2M=af.1mg(F.7q(1a.1lG,a,4RC,4RB)));1f 1g yb({id:b,3y:ai.25S(1a.14n),4a:b.2Di(a,b.13F.6N,.5*1a.14n.6e.z,1a.2R.11s.3c),2w:c})};Dj.1i.2hU=1b(a,b){1f F.8y(1a.11d.1K,a,b)};Dj.1i.1ei=1b(a,b){1f!g(b.6e)||!g(a.1K)||fd.1i.1ei.4G(1a,a,b)};Dj.1i.23n=1b(a,b){1f!a.1K.5g||!F.5g(a.11f)||!b.6e.5g||!F.5g(b.5R)};Dj.1i.23m=1b(a,b){a=F.7q(b.6N,Za.11Z,bb.6i);1d c=1a.14n;c.9S=1a.15f 2m cc?zc.1sC:xe.1W0.23l.9S;c.6e=b.6e.3K(Za.11Z,c.6e);c.8J=a!==bb.6i?ac.1zj:1p 0};Dj.1i.1ua=xH;Dj.1Zm=dy;g(1L.6F)&&(dy.1i=1L.6F(Fd.1i),dy.1i.7m=dy);dy.1i.1ei=1b(a,b,c){1d d=F.8y(a.1K,c,6eV),e=1a.14n.6e;1f!g(d)||!g(e)||Fd.1i.1ei.4G(1a,a,b,c)};dy.1i.29w=1b(a,b,c){a=F.7q(b.6N,c,bb.6i);1d d=1a.14n;d.6e=F.8y(b.6e,c,d.6e);d.8J=a!==bb.6i?ac.1zj:1p 0};Ec.1zj=1L.3F(1g Ec({1A:1g y(0,0,0,0),4e:1,1gh:0}));Ec.1i.5P=1b(a,b){a.9P(1a,b)};1d 4Ry={X:0,Y:1,Z:2,46w:A.1yU(J.4RA(B.10k)),8Jv:A.1yU(J.4RA(-B.10k)),46v:A.1yU(J.4Rz(-B.10k)),4Qq:A.1yU(J.4Rz(B.10k)),8Ju:A.1yU(J.2Qf(B.10k)),8Jt:A.1yU(J.2Qf(-B.10k)),3y1:1b(a){v.1N.4n("2i",a);1f 4Ry[a]}},Pe=1L.3F(4Ry),Mp=1L.3F({29P:"29P",3bh:"3bh",2PY:"2PY",2PX:"2PX",3y5:"3y5",3y4:"3y4",3b7:"3b7"}),Wp=1L.3F({2dR:0,1f1:1,1ZI:2}),6eU={29P:1,3bh:2,2PY:3,2PX:4,3y5:4,3y4:9,3b7:16},6eT={29P:1p 0,3bh:C,2PY:k,2PX:E,3y5:ub,3y4:J,3b7:A},nM=y.9r;Nd.1W9=ek;1L.2X(Nd.1i,{3aM:{1n:1b(){1d a=0;g(1a.2il)&&(a+=1a.2il.18Q);g(1a.29U)&&(a+=1a.29U.18Q);1f a}}});1d 6eS=[];Nd.6eR=1b(a,b,c){1f lQ(a,b,c)};Nd.1i.47Q=1b(a,b){Mm(a,1a.17z);v.1N.7d("2p",b);if(!b||g(1a.2E0)){1d c=m4(1a),d=2*a,e=b?255:0;c[d]!==e&&(c[d]=e,l4(1a)[4*a+3]=b?c[d+1]:0,1a.2qV=!0)}};Nd.1i.6eO=1b(a){v.1N.7d("2p",a);1j(1d b=1a.17z,c=0;c<b;++c)1a.47Q(c,a)};Nd.1i.6eD=1b(a){Mm(a,1a.17z);1f g(1a.2E0)?255===1a.2E0[2*a]:!0};1d 6eQ=2K(4);Nd.1i.1yF=1b(a,b){Mm(a,1a.17z);v.1N.2c("1A",b);if(!y.2L(b,nM)||g(1a.1NC)){1d c=b.3bt(6eQ),d=c[3],e=l4(1a),f=4*a,h=m4(1a),l=2*a;if(e[f]!==c[0]||e[f+1]!==c[1]||e[f+2]!==c[2]||h[l+1]!==d)e[f]=c[0],e[f+1]=c[1],e[f+2]=c[2],c=255!==h[l+1],e[f+3]=0!==h[l]?d:0,h[l+1]=d,(d=255!==d)&&!c?++1a.47S:!d&&c&&--1a.47S,1a.2qV=!0,g(1a.4Rx)&&1a.4Rx(a,b)}};Nd.1i.46n=1b(a){v.1N.2c("1A",a);1j(1d b=1a.17z,c=0;c<b;++c)1a.1yF(c,a)};Nd.1i.1eV=1b(a,b){Mm(a,1a.17z);v.1N.2c("4D",b);if(!g(1a.1NC))1f y.1y(nM,b);1d c=1a.1NC,d=4*a;1f y.2CY(c[d],c[d+1],c[d+2],1a.2E0[2*a+1],b)};Nd.1i.6eC=1b(a){Mm(a,1a.17z);1f 1a.1zT[a]};1d 6eP=1g y;Nd.1i.1nx=1b(a){if(g(a))1j(1d b=1a.1ae,c=1a.17z,d=0;d<c;++d){1d e=b.287(d),f=g(a.1A)?a.1A.1FL(e,6eP):nM;e=g(a.2p)?a.2p.3x(e):!0;1a.1yF(d,f);1a.47Q(d,e)}1s 1a.46n(nM),1a.6eO(!0)};1d 6eN=[],6eM=[],6eL=0;Nd.1i.2qz=1b(a,b){Mm(a,1a.17z);v.1N.4n("8k",b);1d c=1a.29X;if(!g(c))1f!1;a=UB(c,a,1b(a,c){if(a.2DZ[a.29Y[c]].2i===b)1f!0});1f g(a)};Nd.1i.2qA=1b(a,b){v.1N.4n("8k",b);1f 1a.2i8(a)===b};Nd.1i.2i8=1b(a){Mm(a,1a.17z);1d b=1a.29X;if(g(b))1f b.2DZ[b.29Y[a]].2i};Nd.1i.1qP=1b(a,b){Mm(a,1a.17z);v.1N.4n("2i",b);1f g(1a.1tp[b])||g(1a.29X)&&6eK(1a,a,b)};Nd.1i.2Ns=1b(a,b){Mm(a,1a.17z);b=g(b)?b:[];b.1h=0;1d c=1L.9K(1a.1tp);b.1q.6c(b,c);g(1a.29X)&&6eJ(1a,a,b);1f b};Nd.1i.1vb=1b(a,b){Mm(a,1a.17z);v.1N.4n("2i",b);if(g(1a.3y3)){1d c=1a.3y3[b];if(g(c))1f n4(c,a)}c=1a.1tp[b];if(g(c))1f wc(c[a],!0);if(g(1a.29X)&&(a=6eI(1a,a,b),g(a)))1f a};Nd.1i.2xB=1b(a,b,c){1d d=1a.17z;Mm(a,d);v.1N.4n("2i",b);if(g(1a.3y3)){1d e=1a.3y3[b];if(g(e)){o4(e,a,c);1f}}g(1a.29X)&&6eH(1a,a,b,c)||(e=1a.1tp[b],g(e)||(1a.1tp[b]=2K(d),e=1a.1tp[b]),e[a]=wc(c,!0))};Nd.1i.1zS=1b(a,b,c){if(0!==1a.17z){1d d=1a;1f 1b(e){e=q4(e,c,!1);if(0<sb.2gQ){1d f="";a&&(f+="2n 7d 3y2; \\n");f+="2n 2v 2Qc; \\1J 1m 1BQ; \\1J 1v 29W; \\2s 2k() \\n{ \\n    1v st = 2Qe("+b+"); \\n    1m 23N = 1Y(2Qc, st); \\n    2Qd(23N); \\n    1o 2p = 8a(23N.a); \\n    6I *= 2p; \\n";a&&(f+="    7d 3bs = (23N.a != 1.0); \\n    if (4Rw == 3eX) \\n    { \\n        if (!3bs && !3y2) \\n        { \\n            6I *= 0.0; \\n        } \\n    } \\n    1s \\n    { \\n        if (3bs) \\n        { \\n            6I *= 0.0; \\n        } \\n    } \\n");f+="    1BQ = 23N; \\n    29W = st; \\n}"}1s f="3G 1v 29W; \\2s 2k() \\n{ \\n    2Qd(1m(1.0)); \\n    29W = 2Qe("+b+"); \\n}";1d h=1===d.29V.y?"2n 1m 2qW; \\2u 2Qe(1o 4R) \\n{ \\n    1o 2DY = 2qW.x; \\n    1o 1J4 = 2qW.y; \\n    1f 1v(1J4 + (4R * 2DY), 0.5); \\n} \\n":"2n 1m 2qW; \\1B 1v 47U; \\2u 2Qe(1o 4R) \\n{ \\n    1o 2DY = 2qW.x; \\n    1o 1J4 = 2qW.y; \\n    1o 47V = 2qW.z; \\n    1o 3k2 = 2qW.w; \\n    1o 47X = 13R(4R, 47U.x); \\n    1o 47W = 2t(4R / 47U.x); \\n    1f 1v(1J4 + (47X * 2DY), 3k2 + (47W * 47V)); \\n} \\n";1f e+"\\n"+h+f}}};Nd.1i.2Dv=1b(a,b){if(0!==1a.17z)1f 1b(c){c=q4(c,b,!0);0<sb.2gQ?c+="2n 2v 3bq; \\1J 1v 29W; \\1J 1m 1BQ; \\2s 2k() \\n{ \\n    2Qd(1BQ); \\n}":(a&&(c+="2n 7d 3y2; \\n"),c+="2n 2v 3bq; \\1B 2v 2Qc; \\1J 1v 29W; \\2s 2k() \\n{ \\n    1m 23N = 1Y(2Qc, 29W); \\n    if (23N.a == 0.0) { \\n        7o; \\n    } \\n",a&&(c+="    7d 3bs = (23N.a != 1.0); \\n    if (4Rw == 3eX) \\n    { \\n        if (!3bs && !3y2) \\n        { \\n            7o; \\n        } \\n    } \\n    1s \\n    { \\n        if (3bs) \\n        { \\n            7o; \\n        } \\n    } \\n"),c+="    2Qd(23N); \\n} \\n");1f c}};Nd.1i.6eG=1b(){if(0!==1a.17z)1f 1b(a){a=ja.1gF(a,"2qX");1f a=0<sb.2gQ?a+"2n 2v 3bq;\\1J 1v 29W; \\1J 1m 1BQ; \\2s 2k() \\n{ \\n    2qX(); \\n    2C = 1BQ; \\n}":a+"2n 2v 2Qc; \\1B 2v 3bq;\\1J 1v 29W; \\2s 2k() \\n{ \\n    2qX(); \\n    1m 23N = 1Y(2Qc, 29W); \\n    if (23N.a == 0.0) { \\n        7o; \\n    } \\n    2C = 23N; \\n} \\n"}};Nd.1i.1BM=1b(){if(0!==1a.17z){1d a=1a;1f 1b(b){1f fb(b,{2Qc:1b(){1f m(a.29U,a.1u0)},47U:1b(){1f a.29V},2qW:1b(){1f a.47T},3br:1b(){1d b=a.1ae.15c;1d d=b.1qt;b=b.1Nv;if(d===Wp.2dR)d=0;1s if(d===Wp.1f1)d=1;1s if(d===Wp.1ZI)d=B.2Y(b,B.2Q0,1);1s 1t 1g r(\'13H 1A 36u 3z "\'+d+\'".\');1f d},3bq:1b(){1f a.2il}})}}};Nd.1i.1Rg=1b(){1f"1Y(3bq, 29W)"};Nd.1i.4Qi=1b(a,b){1d c=a.13l,d=c.1h,e=1a.1ae.1cC,f=e.3wE,h=e.15c,l=h.23x&&h.2LR&&a.1O.2h3;1d k=1a.47S;k=0===k?0:k===1a.17z?1:2;1j(;b<d;++b){1d n=c[b],m=n.10K.15c;if(!g(m)||n.6s)m={},n.10K.15c=m,m.3PD=6eF(n),n.6s=!1;1d w=m.3PD;if(0!==k&&n.6t!==ma.1bl&&!g(m.11C)){1d x=m,q=w,t=Oa.15v(q);t.6t=ma.1bl;q=wc(q.4w,!0);q.8d.3e=!1;q.9J.3e=!0;q.13Q=!1;q.12e=Dc.1bQ;q=pa.4t(q);t.4w=q;x.11C=t}if(1!==k&&n.6t!==ma.1bl&&(g(m.1xU)||(x=m,q=w,t=Oa.15v(q),q=wc(q.4w,!0),q.12h=Mc.33o(),q.1lq=Mc.1vh,q=pa.4t(q),t.4w=q,x.1xU=t),l&&(f||(g(m.4Rv)||(m.4Rv=6eE(a.1O,w)),h.3ws.1q(m.4Rv)),(x=!g(m.1gh))||(x=e.3wQ!==(m.1gh.4w.12h.1bY&Mc.3wt)>>>Mc.4Ru),x)))if(n.4w.13Q){x=m;t=e.3wQ;q=Oa.15v(w);1d r=wc(q.4w,!0);r.12h.3e=!0;r.12h.11q=Mc.3wt;r.12h.1bY=Mc.1vh|t<<Mc.4Ru;r.12h.1iu=Jc.47R;r.12h.1eb.17w=Ma.1f1;r.12h.1it=Jc.47R;r.12h.1eH.17w=Ma.1f1;r.1lq=Mc.1vh|Mc.3wt;q.4w=pa.4t(r);x.1gh=q}1s m.1gh=m.1xU;x=l?m.1gh:m.1xU;m=m.11C;n.6t!==ma.1bl?(0===k&&(c[b]=x),1===k&&(c[b]=m),2===k&&(c[b]=x,c.1q(m))):c[b]=w}};Nd.1i.2H=1b(a,b){1d c=b.1O;1a.1u0=c.1np;b=b.10s;if(b.11P||b.3mc)if(b=1a.17z,!g(1a.2il)&&0<b){1d d=1a.1zT,e=k4(1a);e=1g 4L(e);1j(1d f=1a.1ae,h=0;h<b;++h){1d l=c.1Ga(f.287(h));d.1q(l);l=l.1A;1d k=4*h;e[k]=y.10F(l.5r);e[k+1]=y.10F(l.5t);e[k+2]=y.10F(l.5G);e[k+3]=y.10F(l.2O)}1a.2il=r4(1a,c,e);f.15c.15Y.1Bq+=1a.2il.18Q}1a.2qV&&(1a.2qV=!1,g(1a.29U)||(1a.29U=r4(1a,c,1a.1NC),a.15Y.1Bq+=1a.29U.18Q),a=1a.29V,1a.29U.1iq({1G:a.x,1D:a.y,1a9:1a.1NC}))};Nd.1i.3Z=1b(){1f!1};Nd.1i.1M=1b(){1a.29U=1a.29U&&1a.29U.1M();1a.2il=1a.2il&&1a.2il.1M();1j(1d a=1a.1zT,b=a.1h,c=0;c<b;++c)a[c].1M();1f la(1a)};1L.2X(Jh.1i,{2p:{1n:1b(){1f 1a.1ae.1ac.6eD(1a.1oI)},1C:1b(a){1a.1ae.1ac.47Q(1a.1oI,a)}},1A:{1n:1b(){g(1a.7a)||(1a.7a=1g y);1f 1a.1ae.1ac.1eV(1a.1oI,1a.7a)},1C:1b(a){1a.1ae.1ac.1yF(1a.1oI,a)}},15k:{1n:1b(){1f 1a.1ae}},15c:{1n:1b(){1f 1a.1ae.15c}},9k:{1n:1b(){1f 1a.1ae.15c}},1cI:{1n:1b(){1f 1a.1ae.1ac.6eC(1a.1oI)}}});Jh.1i.1qP=1b(a){1f 1a.1ae.1ac.1qP(1a.1oI,a)};Jh.1i.2Ns=1b(a){1f 1a.1ae.1ac.2Ns(1a.1oI,a)};Jh.1i.1vb=1b(a){1f 1a.1ae.1ac.1vb(1a.1oI,a)};Jh.1i.2xB=1b(a,b){1a.1ae.1ac.2xB(1a.1oI,a,b);1a.1ae.1K0=!0};Jh.1i.2qA=1b(a){1f 1a.1ae.1ac.2qA(1a.1oI,a)};Jh.1i.2qz=1b(a){1f 1a.1ae.1ac.2qz(1a.1oI,a)};Jh.1i.2i8=1b(){1f 1a.1ae.1ac.2i8(1a.1oI)};dv.1i.1Rx=1b(a,b,c){1d d=1a.15l[a];if(g(d))1f g(d.8o)?(b=m(b,I.1bt),c=m(c,1),s4(1a,a,b,c,1,d.8o)):d};dv.1i.2ik=1b(a,b,c){1d d=1a.15l[a];if(g(d)){if(g(d.8o))1f g(d.1fe)&&(b=I.3y1(d.1fe)),s4(1a,a,b,c,1a.17z,d.8o);c=1a.4Rt;1d e=c[a];g(e)||(e=I.9g(b,d),c[a]=e);1f e}};dv.1i.1vb=1b(a,b,c,d,e){if(g(1a.15l[a])){a=1a.2ik(a,b,c);if(1===c)1f a[d];1j(b=0;b<c;++b)e[b]=a[c*d+b];1f e}};ia.47P=1b(a,b){if(g(a))1j(1d c in a)if(1L.1i.3p.4G(a,c)){1d d=b(a[c],c);if(g(d))1f d}};ia.2c=1b(a,b){if(g(a))1j(1d c=a.1h,d=0;d<c;d++){1d e=b(a[d],d);if(g(e))1f e}};ia.1i4=1b(a,b,c){a=a[b];1f g(a)&&!2K.8n(a)?ia.47P(a,c):ia.2c(a,c)};ia.1Rv=1b(a,b){1f ia.1i4(a,"1nI",b)};ia.47O=1b(a,b,c){1d d={};1f ia.13q(a,1b(a){1f ia.1zU(a,1b(a){1d e=ia.2ij(a,1b(a,e){if(0===e.3f(b)&&!g(d[a])&&(d[a]=!0,a=c(a),g(a)))1f a});1f g(e)?e:ia.3xZ(a,1b(a){1f ia.3xY(a,1b(a,e){if(0===e.3f(b)&&!g(d[a])&&(d[a]=!0,a=c(a),g(a)))1f a})})})})};ia.4Rs=1b(a,b){1d c={};1f ia.13q(a,1b(a){1f ia.1zU(a,1b(a){1d d=ia.2ij(a,1b(a){if(!g(c[a])&&(c[a]=!0,a=b(a),g(a)))1f a});1f g(d)?d:ia.3xZ(a,1b(a){1f ia.3xY(a,1b(a){if(!g(c[a])&&(c[a]=!0,a=b(a),g(a)))1f a})})})})};ia.6eB=1b(a,b){1d c={};1f ia.13q(a,1b(a){1f ia.1zU(a,1b(a){a=a.4N;if(g(a)&&!g(c[a])&&(c[a]=!0,a=b(a),g(a)))1f a})})};ia.15R=1b(a,b){1f ia.1i4(a,"1QX",b)};ia.3xX=1b(a,b){1f ia.2c(a.1SQ,b)};ia.2Qb=1b(a,b){1f ia.2c(a.1Hf,b)};ia.3J=1b(a,b){1f ia.1i4(a,"1ds",b)};ia.11y=1b(a,b){1f ia.1i4(a,"1mx",b)};ia.3w=1b(a,b){1f ia.1i4(a,"4Rr",b)};ia.4d=1b(a,b){1f ia.1i4(a,"1lw",b)};ia.3bn=1b(a,b){if(g(a.19q)){a=a.19q.3bp;1j(1d c in a)if(1L.1i.3p.4G(a,c)){1d d=b(a[c],c);if(g(d))1f d}}};ia.2q=1b(a,b){1f ia.1i4(a,"1nH",b)};ia.3y0=1b(a,b){1d c=a.2a;g(a.10x)&&g(a.10x.1gk)&&(c=a.10x.1gk.2a);1j(1d d in c)if(1L.1i.3p.4G(c,d)&&(a=b(c[d],d),g(a)))1f a};ia.13q=1b(a,b){1f ia.1i4(a,"1vY",b)};ia.1zU=1b(a,b){a=a.13y;if(g(a))1j(1d c=a.1h,d=0;d<c;d++){1d e=b(a[d],d);if(g(e))1f e}};ia.2ij=1b(a,b){a=a.2w;1j(1d c in a)if(1L.1i.3p.4G(a,c)){1d d=b(a[c],c);if(g(d))1f d}};ia.3xZ=1b(a,b){a=a.47x;if(g(a))1j(1d c=a.1h,d=0;d<c;++d){1d e=b(a[d],d);if(g(e))1f e}};ia.3xY=1b(a,b){1j(1d c in a)if(1L.1i.3p.4G(a,c)){1d d=b(a[c],c);if(g(d))1f d}};ia.17t=1b(a,b){1f ia.1i4(a,"1ci",b)};ia.4Rq=1b(a,b,c){1d d=a.1ci;if(g(d))1j(1d e=b.1h,f=0;f<e;f++){1d h=b[f],l=d[h];if(g(l)){h=c(l,h);if(g(h))1f h;l=l.9d;if(g(l)&&(h=ia.4Rq(a,l,c),g(h)))1f h}}};ia.8Js=1b(a,b,c){b=b.1ci;if(g(b))1f ia.4Rq(a,b,c)};ia.1bb=1b(a,b){1f Ej(a,"1gk")?ia.2c(a.10x.1gk.1jY,b):ia.1i4(a,"1jY",b)};ia.10v=1b(a,b){1f ia.1i4(a,"1Hf",b)};ia.4r=1b(a,b){1f ia.1i4(a,"2eA",b)};ia.1d8=1b(a,b){1f Ej(a,"1gk")?ia.2c(a.10x.1gk.1xI,b):ia.1i4(a,"1xI",b)};ia.1vO=1b(a,b){1f ia.1i4(a,"2DX",b)};ia.6ew=1b(a,b){a=a.2qU;if(g(a))1j(1d c=a.1h,d=0;d<c;d++){1d e=b(a[d]);if(g(e))1f e}};ia.3bk=1b(a,b){a=a.2w;1j(1d c in a)if(1L.1i.3p.4G(a,c)){1d d=b(a[c],c);if(g(d))1f d}};ia.2DT=1b(a,b){a=a.6H;1j(1d c in a)if(1L.1i.3p.4G(a,c)){1d d=b(a[c],c);if(g(d))1f d}};ia.47N=1b(a,b){a=a.7V;1j(1d c in a)if(1L.1i.3p.4G(a,c)){1d d=b(a[c],c);if(g(d))1f d}};ia.1jn=1b(a,b){1f Ej(a,"1gk")?ia.2c(a.10x.1gk.1Hk,b):ia.1i4(a,"1Hk",b)};ia.7y=1b(a,b){1f ia.1i4(a,"1fb",b)};1d 6eA=[H.28A,H.28A],6ez=[H.1ip,H.6h,H.1ip,H.6h],6ey=[H.6h,H.1ip,H.47M,H.47L,H.47K,H.3bo,H.47J,H.47I,H.47H,H.47G],B4="13q 17t 2q 1Rv 11y 3J".7g(" "),6ex={1Rv:"1nI",3J:"1ds",11y:"1mx",17t:"1ci",2q:"1nH",13q:"1vY"};gv.1Rv=1b(a,b){a.1nI.6z(b,1);ia.13q(a,1b(a){ia.1zU(a,1b(a){ia.2ij(a,1b(c,d){c>b&&a.2w[d]--});ia.3xZ(a,1b(a){ia.3xY(a,1b(c,d){c>b&&a[d]--})});1d c=a.4N;g(c)&&c>b&&a.4N--})});ia.1vO(a,1b(a){g(a.1Rw)&&a.1Rw>b&&a.1Rw--});ia.15R(a,1b(a){ia.2Qb(a,1b(a){g(a.15d)&&a.15d>b&&a.15d--;g(a.1jU)&&a.1jU>b&&a.1jU--})})};gv.3J=1b(a,b){a.1ds.6z(b,1);ia.11y(a,1b(a){g(a.3J)&&a.3J>b&&a.3J--})};gv.11y=1b(a,b){a.1mx.6z(b,1);ia.1Rv(a,1b(a){g(a.11y)&&a.11y>b&&a.11y--});ia.1d8(a,1b(a){g(a.11y)&&a.11y>b&&a.11y--});ia.4d(a,1b(a){g(a.11y)&&a.11y>b&&a.11y--;ia.3bn(a,1b(a){1d c=a.11y;g(c)&&c>b&&a.11y--})});Ej(a,"29Q")&&ia.13q(a,1b(a){ia.1zU(a,1b(a){g(a.10x)&&g(a.10x.29Q)&&a.10x.29Q.11y>b&&a.10x.29Q.11y--})})};gv.13q=1b(a,b){a.1vY.6z(b,1);ia.17t(a,1b(a){g(a.13q)&&(a.13q>b?a.13q--:a.13q===b&&4Y a.13q)})};gv.17t=1b(a,b){a.1ci.6z(b,1);ia.1vO(a,1b(a){g(a.2qT)&&a.2qT>b&&a.2qT--;a.2qU=a.2qU.5d(1b(a){1f a>b?a-1:a})});ia.15R(a,1b(a){ia.3xX(a,1b(a){g(a.15s)&&g(a.15s.17t)&&a.15s.17t>b&&a.15s.17t--})});ia.1jn(a,1b(a){ia.2DT(a,1b(a){g(a.17t)&&a.17t>b&&a.17t--})});ia.17t(a,1b(a){g(a.9d)&&(a.9d=a.9d.14O(1b(a){1f a!==b}).5d(1b(a){1f a>b?a-1:a}))});ia.4r(a,1b(a){a.1ci=a.1ci.14O(1b(a){1f a!==b}).5d(1b(a){1f a>b?a-1:a})})};gv.2q=1b(a,b){a.1nH.6z(b,1);ia.13q(a,1b(a){ia.1zU(a,1b(a){g(a.2q)&&a.2q>b&&a.2q--})})};fv.1Rv=1b(a){1d b={};ia.13q(a,1b(a){ia.1zU(a,1b(a){ia.2ij(a,1b(a){b[a]=!0});ia.3xZ(a,1b(a){ia.3xY(a,1b(a){b[a]=!0})});a=a.4N;g(a)&&(b[a]=!0)})});ia.1vO(a,1b(a){g(a.1Rw)&&(b[a.1Rw]=!0)});ia.15R(a,1b(a){ia.2Qb(a,1b(a){g(a.15d)&&(b[a.15d]=!0);g(a.1jU)&&(b[a.1jU]=!0)})});1f b};fv.3J=1b(a){1d b={};ia.11y(a,1b(a){g(a.3J)&&(b[a.3J]=!0)});1f b};fv.11y=1b(a){1d b={};ia.1Rv(a,1b(a){g(a.11y)&&(b[a.11y]=!0)});ia.1d8(a,1b(a){g(a.11y)&&(b[a.11y]=!0)});ia.4d(a,1b(a){g(a.11y)&&(b[a.11y]=!0);ia.3bn(a,1b(a){g(a.11y)&&(b[a.11y]=!0)})});Ej(a,"29Q")&&ia.13q(a,1b(a){ia.1zU(a,1b(a){g(a.10x)&&g(a.10x.29Q)&&(b[a.10x.29Q.11y]=!0)})});1f b};fv.13q=1b(a){1d b={};ia.17t(a,1b(c){if(g(c.13q&&g(a.1vY))){1d d=a.1vY[c.13q];g(d)&&g(d.13y)&&0<d.13y.1h&&(b[c.13q]=!0)}});1f b};fv.17t=1b(a){1d b={};ia.17t(a,1b(c,d){C4(a,c)||(b[d]=!0)});ia.1vO(a,1b(a){g(a.2qT)&&(b[a.2qT]=!0);ia.6ew(a,1b(a){b[a]=!0})});ia.15R(a,1b(a){ia.3xX(a,1b(a){g(a.15s)&&g(a.15s.17t)&&(b[a.15s.17t]=!0)})});ia.1jn(a,1b(a){ia.2DT(a,1b(a){g(a.17t)&&(b[a.17t]=!0)})});1f b};fv.2q=1b(a){1d b={};ia.13q(a,1b(a){ia.1zU(a,1b(a){g(a.2q)&&(b[a.2q]=!0)})});1f b};1d BH={"0.8":1b(a){g(a.1sT)||(a.1sT={});1d b=a.1sT;b.9G="1.0";if("4n"===2h b.27X){1d c=b.27X.7g(" ");b.27X={api:c[0],9G:c[1]}}1s b.27X={};g(a.9G)&&4Y a.9G;G4(a);b=a.1vY;1j(1d d in b)if(1L.1i.3p.4G(b,d)&&(c=b[d].13y,g(c)))1j(1d e=c.1h,f=0;f<e;++f){1d h=c[f],l=m(h.9k,H.11G);h.3z=m(h.3z,l);4Y h.9k}d=a.1ci;b=1g k;c=1g ca;1j(1d p in d)1L.1i.3p.4G(d,p)&&(e=d[p],g(e.5S)&&(f=e.5S,k.7j(f,0,b),ca.1gG(b,f[3],c),e.5S=[c.x,c.y,c.z,c.w]),f=e.6ev,g(f)&&(e.28M=f.28M,e.1vO=f.1vO,e.1vY=f.1vY,4Y e.6ev));p=a.1QX;d=a.1nI;b=a.1mx;c=a.1ds;e={};f=1g k;h=1g ca;1j(1d n in p)if(1L.1i.3p.4G(p,n)){1d z=p[n];l=z.1SQ;1d w=z.7V;z=z.1Hf;if(g(l))1j(1d x=l.1h,q=0;q<x;++q){1d t=l[q];if("5S"===t.15s.9w&&(t=w[z[t.10v].1jU],!g(e[t]))){e[t]=!0;1d r=d[t];t=b[r.11y];1d u=c[t.3J].19q.1mw.5j,v=u.8o+t.8o+r.8o,y=r.1fe;t=r.7Z;1d A=zl(r.1I);r=I.1Rm(y,u.3J,v,r.7Z*A);1j(u=0;u<t;u++)v=u*A,k.5f(r,v,f),ca.1gG(f,r[v+3],h),ca.5n(h,r,v)}}}n=a.1Hk;1j(1d B in n)1L.1i.3p.4G(n,B)&&(p=n[B],d=p.10s,g(d)&&(b=m(p.6t,"8Jr"),1L.1i.3p.4G(d,b)&&(d=d[b],b=d.8Jq,p.2w=m(p.2w,b.2w),p.1bb=m(p.1bb,b.1bb),p.6H=m(p.6H,b.6H),p.1Ru=m(p.1Ru,d.1Ru)),4Y p.10s,4Y p.6t));g(a.4Rp)&&(a.1r9=a.4Rp,4Y a.4Rp);g(a.2DW)&&(B=m(a.10x,{}),a.10x=B,n=m(B.1EL,{}),B.1EL=n,n.2DW=a.2DW,4Y a.2DW,WB(a,"1EL"))},"1.0":1b(a){a.1sT=m(a.1sT,{});a.1sT.9G="2.0";G4(a);1d b=a.1QX;1j(l in b)if(1L.1i.3p.4G(b,l)){1d c=b[l],d=c.7V;if(g(d)){1d e=c.1Hf,f;1j(f in e)if(1L.1i.3p.4G(e,f)){1d h=e[f];h.15d=d[h.15d];h.1jU=d[h.1jU]}4Y c.7V}}6eu(a);6et(a);6es(a);b=a.1sT;4Y b.27X;4Y b.8Jp;b=a.1r9;a.1Hg=m(a.1Hg,[]);if(g(b)){1d l=b.1h;1j(c=0;c<l;++c)d=b[c],g(6eh[d])&&a.1Hg.1q(d)}6er(a);6eq(a);6ep(a);6eo(a);6en(a);6em(a);6el(a);6ek(a);F4(a);6ej(a);x4(a);z4(a);6ei(a)},"2.0":1p 0},6eh={2DI:!0,1EL:!0,1Wk:!0},6eg={1nz:!0,1zp:!0,47D:!0},6ef={1FC:"1FC",6ee:"4Ro",4Ro:"4Ro",2gP:"2gP",6ed:"4Rn",4Rn:"4Rn"};Nm.1i.2pA=1b(a){1d b=a.8o;1f 1a.1ds[a.3J].1hl(b,b+a.10S)};Nm.1i.6ec=1b(){1f 0===1a.1Wg};Nm.1i.4Rm=1b(){1f 0===1a.1Wg&&0===1a.2DV.1h&&0===1a.2DU.1h};Nm.1i.4Rl=1b(){1f 0===1a.2PS&&0===1a.3xU.1h};Nm.1i.6eb=1b(){1d a=0===1a.3xW.1h&&0===1a.3xV.1h;1f 0===1a.2DK&&a};Nm.1i.46A=1b(){1d a=0===1a.1Wg&&0===1a.2PS,b=0===1a.2DV.1h&&0===1a.2DU.1h&&0===1a.3xU.1h&&0===1a.47F;1f 1a.3xl()&&a&&b};Nm.1i.3xl=1b(){1f 0===1a.3b8.1h&&0===1a.47E&&!1a.3xy};Nm.1i.3b3=1b(){1f 1a.3xl()&&1a.6eb()&&1a.46A()};1d Xa={6c2:1b(a){1d b=a.12b.19q.46C;if(g(b)&&"2.0"!==b||"2.0"!==Xa.4Qt(a.12b))a.4QH=Pe.X},4Qt:1b(a){1f g(a.1sT)&&g(a.1sT.9G)?a.1sT.9G:"1.0"},4Rk:1b(a){1d b=a.1nI,c=a.1nH,d={};ia.13q(a,1b(a){ia.1zU(a,1b(a){1d e=a.2q,f=c[e],k=a.2w.4Rj;if(g(k)){1d n=b[k];1d m=n.1fe;n=n.1I}k=g(k);1d w=g(a.2w.2Q8),x=g(a.47x),q=g(a.2w.1zp),t=g(a.2w.47D),r=g(a.2w.3xT),u=d[e];if(!g(u))d[e]={2Qa:{3xS:k,1fe:m,1I:n},3bm:w,47C:x,47B:q,47A:t,47z:r};1s if(u.2Qa.3xS!==k||u.2Qa.1I!==n||u.3bm!==w||u.47C!==x||u.47B!==q||u.47A!==t||u.47z!==r)e=wc(f,!0),e=eg(c,e),a.2q=e,d[e]={2Qa:{3xS:k,1fe:m,1I:n},3bm:w,47C:x,47B:q,47A:t,47z:r}})});1f d},47w:1b(a){1f"29P"===a?"1o":a.18v()},46K:{2DD:0,1gu:1,1e5:2,12D:3},2PT:1b(a,b,c){1f 1b(d){a.19i=Xa.46K.12D;1d e="21Z to 1e4 "+b+": "+c;g(d)&&(e+="\\n"+d.19s);a.7S.7N(1g qa(e))}},4Qv:1b(a,b){1d c=a.1ba;ia.3J(a.12b,1b(d,e){g(d.19q.1mw.5j)?c.1ds[e]=d.19q.1mw.5j:g(b)&&(d=a.12o.16M({2I:d.1dr}),++c.1Wg,d.1kw().4b(b(a,e)).10g(Xa.2PT(a,"3J",d.2I)))})}},6ea=1g k,6e9=1g k;Xa.4Qr=1b(a){1j(1d b=a.12b,c=b.1ci,d=b.1vY,e=b.2eA[b.4r].1ci,f=e.1h,h=[],l=1g k(3a.6w,3a.6w,3a.6w),p=1g k(-3a.6w,-3a.6w,-3a.6w),n=0;n<f;++n){1d m=c[e[n]];m.3bl=Xa.2J7(m);1j(h.1q(m);0<h.1h;){m=h.9l();1d w=m.3bl,x=m.13q;if(g(x)){x=d[x].13y;1j(1d q=x.1h,t=0;t<q;++t){1d r=x[t].2w.1nz;if(g(r)){1d u=Xa.47v(b,r);r=k.7j(u.2o,0,6ea);u=k.7j(u.1V,0,6e9);g(l)&&g(p)&&(A.8P(w,r,r),A.8P(w,u,u),k.2yE(l,r,l),k.2yD(p,u,p))}}}x=m.9d;if(g(x))1j(q=x.1h,t=0;t<q;++t)r=c[x[t]],r.3bl=Xa.2J7(r),A.1oJ(w,r.3bl,r.3bl),h.1q(r);4Y m.3bl}}b=P.2fX(l,p);a.2w6=l;a.2w5=p;a.3b6===Pe.Z&&P.47y(b,Pe.4Qq,b);a.23F===Pe.Y?P.47y(b,Pe.46w,b):a.23F===Pe.X&&P.47y(b,Pe.46v,b);1f b};Xa.4Ri=1b(a){ia.13q(a,1b(b){ia.1zU(b,1b(b){1d c=a.1nI,e=a.1nH,f=a.10x.1gk,h=f.1Hk,l=f.1jY,k=f.1xI,n=b.47x;f=b.2w;1j(1d m in n)if(n.3p(m)){1d w=n[m],x;1j(x in w)"19q"!==x&&(f[x+"10D"+m]=w[x])}b=h[e[b.2q].10x.1gk.1jn];l=k[l[b.1bb].23M];1j(1d q in f)f.3p(q)&&!g($qa(b,q))&&(e=c[f[q]],h=q.18v(),"10D"===h.1as(0)&&(h=h.4h(1)),h="1zx"+h,b.2w[h]={17V:q,1I:e.1fe},k=l.19q.1mw,m=k.5j,m="3Q "+Xa.47w(e.1I)+" "+h+";\\n"+m,k.5j=m)})});1f a};Xa.2JJ=1b(a,b){1d c={},d=!1,e=1;ia.3bk(a,1b(a,b){/3h/i.6S(b)&&!d?(c[b]=0,d=!0):c[b]=e++});if(g(b))1j(1d f in b)b.3p(f)&&(c[f]=e++);1f c};Xa.47v=1b(a,b){1d c=a.1nI[b];b=c.10x;a=c.2o;c=c.1V;g(b)&&(b=b.1Wk,g(b)&&(a=b.8Jo,c=b.8Jn));1f{2o:a,1V:c}};Xa.1He=1b(a,b,c,d){1f ia.1jn(a,1b(e){if(!g(c)||e.1bb===c){1d f=ia.3bk(e,K4(a,e,b,d));1f g(f)?f:ia.2DT(e,K4(a,e,b,d))}})};Xa.2Q9=1b(a,b){1d c=Xa.1He(a,"2Q8",b);g(c)||(c=Xa.1He(a,"4Rh",b));1f c};1d 6e8=1g k,6e7=1g ca,6e6=1g k;Xa.2J7=1b(a,b){1f g(a.8W)?A.2ii(a.8W,b):A.2yB(k.7j(a.14L,0,6e8),ca.5f(a.5S,0,6e7),k.7j(a.3b,0,6e6),b)};Xa.46D=1b(a){a=a.1r9;1d b={};if(g(a))1j(1d c=a.1h,d=0;d<c;d++)b[a[d]]=!0;1f b};Xa.4QI=1b(a){a=a.1Hg;1d b={};if(g(a))1j(1d c=a.1h,d=0;d<c;d++)b[a[d]]=!0;1f b};Xa.6e4={8Jm:!0,2DI:!0,47u:!0,3bj:!0,2qS:!0,29Q:!0,1EL:!0,1gk:!0,6e5:!0,4Rg:!0,8Jl:!0,1Wk:!0};Xa.4Qu=1b(a,b){1j(1d c in a)if(a.3p(c)){if(!Xa.6e4[c])1t 1g qa("1Mp 23I 42y: "+c);if("47u"===c&&!1===b)1t 1g qa("2pt 12W 9N 8Jk 19T 1Ve 18f 2S 19G it.");}};Xa.4Rf=1b(a,b){if(g(a))1j(1d c=a.1h,d=0;d<c;d++){1d e=a[d];if("47t"!==e)1t 1g qa("1Mp 1zV 42y: "+e);if(!b.1Pf)1t 1g qa("47t 1zV 6A is 2S 3e.");}};Xa.6e3=1b(a,b,c,d){1d e={},f;1j(f in d)if(d.3p(f)){1d h=d[f],l=h.1nv;if(g(l)){1d k=L4(a,b,f);"10D"===f.1as(0)&&(f=f.11c(1));1d n="47o"+f.18v();if(!g(e[n])){1d m="6e2"+f,w=k.3X("1zx","4Rd"),x=h.2Z;c=rQ(c,k,w);h=l.3xL?"1w":1<x?"1Ji"+x:"1o";c=h+" "+w+";\\n"+c;(x=3===x&&"2Q8"===f)&&(c=rQ(c,w,"1m("+w+", 1.0)"));l.3xL?(n+="6dY",c="2n 1o "+n+";\\n"+c,k="\\2s 2k() {\\n    "+w+" = 1gT("+k+".xy, "+n+").1ca;\\n    "+m+"();\\n}\\n"):(l=n+"6dX",n+="2Q6",c="2n 1o "+l+";\\1B "+h+" "+n+";\\n"+c,k="\\2s 2k() {\\n    "+w+" = "+n+" + "+k+(x?".1H":"")+" * "+l+";\\n    "+m+"();\\n}\\n");c=ja.1gF(c,m);c+=k}}}1f{1d8:c}};Xa.4Re=1b(a,b,c){1d d={},e=b.2w,f;1j(f in e)if(e.3p(f)){1d h=L4(a,b,f),l=b.2w[f];"10D"===f.1as(0)&&(f=f.11c(1));1d k="47o"+f.18v(),n=k+"13V",m=k+"23C";if(!g(d[k])&&!g(d[n])&&(l=a.1nI[l].10x,l=g(l)?l.1Wk:1p 0,g(l))){1d w=l.6dW;l="6e2"+f;1d x=h.3X("1zx","4Rd");w=1k.2t(1k.3Y(w.1h));c=rQ(c,h,x);1d q=2<w?"1Ji"+(w-1):"1o";c=q+" "+x+";\\n"+c;5===w?(c="2n 5w "+n+";\\n"+c,c="2n 1m "+m+";\\n"+c,h="\\2s 2k() {\\n    "+x+" = "+n+" * "+h+" + "+m+";\\n    "+l+"();\\n}\\n",d[n]={1Fs:4},d[m]={1Ji:4}):(c="2n 1Fs"+w+" "+k+";\\n"+c,h="\\2s 2k() {\\n    "+x+" = "+q+"("+k+" * 1Ji"+w+"("+h+",1.0));\\n    "+l+"();\\n}\\n",d[k]={1Fs:w});c=ja.1gF(c,l);c+=h}}1f{1d8:c,6H:d}};Xa.6e1=1b(a,b){1d c=Xa.1He(a,"1nz"),d=c.3X("1zx","4Rd");-1!==b.3f(d)&&(c=d);d=Xa.1He(a,"2qH",1p 0,!0);if(!g(d)||-1===b.3f(d)){d=Xa.1He(a,"23H",1p 0,!0);1d e=Xa.1He(a,"1Ro",1p 0,!0);-1!==b.3f("2Q7 ")?e="2Q7":g(e)||(e=Xa.1He(a,"29O",1p 0,!0));d=d+" * "+e}1f d+" * 1m("+c+".1H, 1.0)"};Xa.47s=1b(a){a=ja.1gF(a,"47q");1f a+"\\2s 2k() \\n{ \\n    47q(); \\n    1nO(); \\n} \\n"};Xa.47r=1b(a,b){a=ja.1gF(a,"47q");1f a+("\\2s 2k() \\n{ \\n    47q(); \\n    1Se("+b+"); \\n} \\n")};1d Op=1g E;1L.2X(FH.1i,{1Q:{1n:1b(){if(!g(1a.6j)){1d a=1a.12s[1a.6e0];if(g(a))1a.6j=a;1s 1f 1a.1u0}1f 1a.6j},1C:1b(a){1a.6j=a}}});FH.1i.1y=1b(a){1f a};FH.1i.14R=1p 0;1d Vh={};Vh[H.3O]=ey;Vh[H.1Rt]=CH;Vh[H.1my]=DH;Vh[H.1EK]=fy;Vh[H.1El]=ey;Vh[H.3xR]=CH;Vh[H.3xQ]=DH;Vh[H.3xP]=fy;Vh[H.2DS]=ey;Vh[H.3xO]=CH;Vh[H.3xN]=DH;Vh[H.3xM]=fy;Vh[H.3bi]=sQ;Vh[H.1BP]=tQ;Vh[H.1ff]=EH;Vh[H.1oS]=1b(a,b,c){1d d=1g FH(a,b,c);d.14R=1b(){1f d.1Q};1f d};1d XW={};XW[XB.4Rc]=M4;XW[XB.4Rb]=M4;Xa.47p=1b(a,b,c,d,e){1f g(e)?XW[e](b,c,d):Vh[a](b,c,d)};Xa.6dZ=1b(a){1d b={},c;1j(c in a)if(a.3p(c)){1d d=a[c],e=d.1nv;if(g(e)){"10D"===c.1as(0)&&(c=c.11c(1));1d f="47o"+c.18v();if(e.3xL)b[f+"6dY"]=ey((1<<e.2ih)-1).14R;1s 6U(b[f+"6dX"]=ey(e.11D/(1<<e.2ih)).14R,f+="2Q6",d.2Z){1S 1:b[f]=ey(e.1AX).14R;1W;1S 2:b[f]=CH(e.1AX).14R;1W;1S 3:b[f]=DH(e.1AX).14R;1W;1S 4:b[f]=fy(e.1AX).14R}}}1f b};Xa.4Ra=1b(a,b,c){1d d=a.1nI;a={};1d e={};b=b.2w;1j(1d f in b)if(b.3p(f)){1d h=d[b[f]],l=h.10x;"10D"===f.1as(0)&&(f=f.11c(1));if(g(l)&&(l=l.1Wk,g(l))){l=l.6dW;1d k="47o"+f.18v();6U(h.1I){1S Mp.29P:e[k]=sQ(l).14R;a[k]=!0;1W;1S Mp.3bh:e[k]=tQ(l).14R;a[k]=!0;1W;1S Mp.2PY:e[k]=EH(l).14R;a[k]=!0;1W;1S Mp.2PX:h=k+"13V",k+="23C",e[h]=EH([l[0],l[1],l[2],l[3],l[5],l[6],l[7],l[8],l[10],l[11],l[12],l[13],l[15],l[16],l[17],l[18]]).14R,e[k]=fy([l[20],l[21],l[22],l[23]]).14R,a[h]=!0,a[k]=!0}}}1j(1d n in c)c.3p(n)&&!a[n]&&(f=c[n],g(f.1Fs)&&(2===f.1Fs?e[n]=sQ(ub.8K).14R:3===f.1Fs?e[n]=tQ(J.8K).14R:4===f.1Fs&&(e[n]=EH(A.8K).14R)),g(f.1Ji)&&4===f.1Ji&&(e[n]=fy([0,0,0,0]).14R));1f e};1d vA=1g k,6dV={4QA:1b(a,b){1f 1b(){1f a.12W}},6cc:1b(a,b){1f 1b(){1f a.11A}},23H:1b(a,b){1f 1b(){1f a.18T}},1Ro:1b(a,b){1f 1b(){1f a.2pF}},29O:1b(a,b){1d c=1g A;1f 1b(){1f g(b.1q2)?(A.1Um(a.12W,vA),k.add(vA,b.1q2,vA),A.8P(a.11A,vA,vA),A.1Bh(a.2pF,vA,c)):a.2pF}},2qH:1b(a,b){1f 1b(){1f a.40B}},4Qz:1b(a,b){1f 1b(){1f a.3tM}},6cb:1b(a,b){1f 1b(){1f a.37P}},6ca:1b(a,b){1f 1b(){1f a.3tK}},46F:1b(a,b){1f 1b(){1f a.3tJ}},4Qy:1b(a,b){1f 1b(){1f a.4HS}},4Qx:1b(a,b){1f 1b(){1f a.5Vf}},2PU:1b(a,b){1f 1b(){1f a.2U}},4Qw:1b(a,b){1f 1b(){1f a.40H}}};Xa.3ba=1b(){1f 6dV};1d 44e={};(1b(a){1d b=1b(a,b){1d c=6u(a+" at 4R9 "+b);c.2P=b;c.16G=a;1t c;},c={"-":!0,"!":!0,"~":!0,"+":!0},d={"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},e=1b(a){1d b=0,c,d;1j(d in a)(c=d.1h)>b&&a.3p(d)&&(b=c);1f b},f=e(c),h=e(d),g={"8O":!0,"16f":!1,"1F":1F},k=1b(a,b,c){1f{1I:"||"===a||"&&"===a?"6dU":"6dT",22V:a,3B:b,2W:c}},n=1b(a){1f 48<=a&&57>=a},m=1b(a){1f 36===a||95===a||65<=a&&90>=a||97<=a&&122>=a||128<=a&&!d[10J.1gx(a)]},w=1b(a){1j(1d e=0,l=a.1as,p=a.19a,z=1b(b){1f l.4G(a,b)},w=1b(b){1f p.4G(a,b)},x=a.1h,q=1b(){1j(1d a=w(e);32===a||9===a;)a=w(++e)},r=1b(){1d a;1d c,f;1d h=v();if(c=u()){1d g={1Q:c,4R8:d[c]||0};(f=v())||b("19P 6d 1eB "+c,e);1j(a=[h,g,f];c=u();){1d l=d[c]||0;if(0===l)1W;1j(g={1Q:c,4R8:l};2<a.1h&&l<=a[a.1h-2].4R8;)f=a.9l(),c=a.9l().1Q,h=a.9l(),h=k(c,h,f),a.1q(h);(h=v())||b("19P 6d 1eB "+c,e);a.1q(g,h)}c=a.1h-1;1j(h=a[c];1<c;)h=k(a[c-1].1Q,a[c-2],h),c-=2;a=h}1s a=h;q();if(63===w(e)){e++;(c=r())||b("19P 6d",e);q();if(58===w(e))1f e++,(l=r())||b("19P 6d",e),{1I:"6dS",6S:a,6dR:c,6dQ:l};b("19P :",e)}1s 1f a},u=1b(){q();1j(1d b=a.13c(e,h),c=b.1h;0<c;){if(d.3p(b))1f e+=c,b;b=b.13c(0,--c)}1f!1},v=1b(){q();1d d=w(e);if(n(d)||46===d){1j(d="";n(w(e));)d+=z(e++);if(46===w(e))1j(d+=z(e++);n(w(e));)d+=z(e++);1d h=z(e);if("e"===h||"E"===h){d+=z(e++);h=z(e);if("+"===h||"-"===h)d+=z(e++);1j(;n(w(e));)d+=z(e++);n(w(e-1))||b("19P 1Sf ("+d+z(e)+")",e)}h=w(e);m(h)?b("3XJ 1c3 1il 4I 10M a 2b ("+d+z(e)+")",e):46===h&&b("1Py 1ze",e);1f{1I:"47m",1Q:7L(d),2mp:d}}if(39===d||34===d){d="";h=z(e++);1j(1d g=!1,l;e<x;)if(l=z(e++),l===h){g=!0;1W}1s if("\\\\"===l)6U(l=z(e++),l){1S "n":d+="\\n";1W;1S "r":d+="\\r";1W;1S "t":d+="\\t";1W;1S "b":d+="\\b";1W;1S "f":d+="\\f";1W;1S "v":d+="\\2Q5";1W;4T:d+="\\\\"+l}1s d+=l;g||b(\'4R7 8Jj 1eB "\'+d+\'"\',e);1f{1I:"47m",1Q:d,2mp:h+d+h}}if(m(d)||40===d){d=w(e);40===d?(e++,d=r(),q(),41===w(e)?e++:(b("4R7 (",e),d=1p 0)):d=y();h=d;q();1j(d=w(e);46===d||91===d||40===d;)e++,46===d?(q(),h={1I:"47n",1AY:!1,2c:h,5i:y()}):91===d?(h={1I:"47n",1AY:!0,2c:h,5i:r()},q(),d=w(e),93!==d&&b("4R7 [",e),e++):40===d&&(h={1I:"6dP",5m:A(41),3bg:h}),q(),d=w(e);1f h}if(91===d)1f e++,{1I:"6dO",26L:A(93)};d=a.13c(e,f);1j(h=d.1h;0<h;){if(c.3p(d))1f e+=h,{1I:"6dN",22V:d,1aK:v(),2mU:!0};d=d.13c(0,--h)}1f!1},y=1b(){1d c=w(e),f=e;1j(m(c)?e++:b("1Py "+z(e),e);e<x;)if(c=w(e),36===c||95===c||65<=c&&90>=c||97<=c&&122>=c||48<=c&&57>=c||128<=c&&!d[10J.1gx(c)])e++;1s 1W;c=a.4h(f,e);1f g.3p(c)?{1I:"47m",1Q:g[c],2mp:c}:"1a"===c?{1I:"8Ji"}:{1I:"6dM",2i:c}},A=1b(a){1j(1d c,d=[],f=!1;e<x;)if(q(),c=w(e),c===a){f=!0;e++;1W}1s 44===c?e++:((c=r())&&"4R6"!==c.1I||b("19P 8Jh",e),d.1q(c));f||b("19P "+10J.1gx(a),e);1f d},B=[],C,R;e<x;)C=w(e),59===C||44===C?e++:(R=r())?B.1q(R):e<x&&b(\'1Py "\'+z(e)+\'"\',e);1f 1===B.1h?B[0]:{1I:"4R6",1hg:B}};w.9G="0.3.1";w.5s=1b(){1f"4Cr 4iY 8Jg (8Jf) v"+w.9G};w.8Je=1b(a){f=1k.1V(a.1h,f);c[a]=!0;1f 1a};w.4R5=1b(a,b){h=1k.1V(a.1h,h);d[a]=b;1f 1a};w.8Jd=1b(a,b){g[a]=b;1f 1a};w.8Jc=1b(a){4Y c[a];a.1h===f&&(f=e(c));1f 1a};w.8Jb=1b(){c={};f=0;1f 1a};w.8Ja=1b(a){4Y d[a];a.1h===h&&(h=e(d));1f 1a};w.8J9=1b(){d={};h=0;1f 1a};w.8J8=1b(a){4Y g[a];1f 1a};w.8J7=1b(){g={};1f 1a};a.4fr=w})(44e);1d GH=44e.4fr,jb=1L.3F({47b:0,29T:1,3bf:2,47a:3,474:4,3bd:5,3xI:6,473:7,3xH:8,472:9,2Q4:10,2Q3:11,29S:12,3be:13,2DQ:14,3xF:15,3xE:16,4R3:17,470:18});1L.2X(Al.1i,{6d:{1n:1b(){1f 1a.6dL}}});1d rc={47k:0,47l:[[]],47i:0,47g:0,47d:0,47j:[1g C],47h:[1g k],47f:[1g E],1Pr:1b(){1a.47d=1a.47g=1a.47i=1a.47k=0},6dE:1b(){1a.47k>=1a.47l.1h&&1a.47l.1q([]);1d a=1a.47l[1a.47k++];a.1h=0;1f a},1Hj:1b(){1a.47i>=1a.47j.1h&&1a.47j.1q(1g C);1f 1a.47j[1a.47i++]},1EJ:1b(){1a.47g>=1a.47h.1h&&1a.47h.1q(1g k);1f 1a.47h[1a.47g++]},1EI:1b(){1a.47d>=1a.47f.1h&&1a.47f.1q(1g E);1f 1a.47f[1a.47d++]}};Al.1i.3x=1b(a,b){rc.1Pr();a=1a.47c.3x(a);1f b 2m y&&a 2m E?y.1vu(a,b):a 2m C||a 2m k||a 2m E?a.1y(b):a};Al.1i.1FL=1b(a,b){rc.1Pr();a=1a.47c.3x(a);1f y.1vu(a,b)};Al.1i.31G=1b(a,b,c,d){b=1a.2fM(b,c);1f d+" "+a+"() \\n{ \\n    1f "+b+"; \\n} \\n"};Al.1i.2fM=1b(a,b){1f 1a.47c.2fM(a,b)};1d 6dK=["!","-","+"],R4="+ - * / % === !== > >= < <= && || !~ =~".7g(" "),4R4=/\\${(.*?)}/g,6dJ=/\\\\/g,6dI="@#%",wQ=/@#%/g,KH=1g y,YB={abs:Qg(1k.abs),3Y:Qg(1k.3Y),3i:Qg(1k.3i),2T:Qg(1k.2T),10n:Qg(1k.10n),1cz:Qg(1k.1cz),17M:Qg(1k.17M),16D:Qg(1k.16D),3YJ:Qg(B.8I),2gu:Qg(B.10Q),12q:Qg(B.12q),2t:Qg(1k.2t),8a:Qg(1k.8a),9p:Qg(1k.9p),108:Qg(1k.108),8J6:Qg(1b(a){1f 1k.3r(2,a)}),7k:Qg(1k.7k),1iK:Qg(1b(a){1f B.1iK(a)}),8N:Qg(1b(a){1f a-1k.2t(a)}),1h:1b(a,b){if("2b"===2h b)1f 1k.abs(b);if(b 2m C)1f C.7t(b);if(b 2m k)1f k.7t(b);if(b 2m E)1f E.7t(b);1t 1g qa(\'1wM "\'+a+\'" 9N a 8r or 2b 1aK. 27f is \'+b+".");},1T:1b(a,b){if("2b"===2h b)1f 1;if(b 2m C)1f C.1T(b,rc.1Hj());if(b 2m k)1f k.1T(b,rc.1EJ());if(b 2m E)1f E.1T(b,rc.1EI());1t 1g qa(\'1wM "\'+a+\'" 9N a 8r or 2b 1aK. 27f is \'+b+".");}},IH={12B:HH(1k.12B,!1),3r:HH(1k.3r,!1),2o:HH(1k.2o,!0),1V:HH(1k.1V,!0),3s:1b(a,b,c){if("2b"===2h b&&"2b"===2h c)1f 1k.abs(b-c);if(b 2m C&&c 2m C)1f C.3s(b,c);if(b 2m k&&c 2m k)1f k.3s(b,c);if(b 2m E&&c 2m E)1f E.3s(b,c);1t 1g qa(\'1wM "\'+a+\'" 9N 8r or 2b 5m of 1TR 1KO. 1EG are \'+b+" and "+c+".");},2A:1b(a,b,c){if("2b"===2h b&&"2b"===2h c)1f b*c;if(b 2m C&&c 2m C)1f C.2A(b,c);if(b 2m k&&c 2m k)1f k.2A(b,c);if(b 2m E&&c 2m E)1f E.2A(b,c);1t 1g qa(\'1wM "\'+a+\'" 9N 8r or 2b 5m of 1TR 1KO. 1EG are \'+b+" and "+c+".");},4B:1b(a,b,c){if(b 2m k&&c 2m k)1f k.4B(b,c,rc.1EJ());1t 1g qa(\'1wM "\'+a+\'" 9N 1w 5m. 1EG are \'+b+" and "+c+".");}},xQ={2Y:Q4(B.2Y,!0),3T:Q4(B.11x,!0)};db.1i.6dH=1b(){1f 1a.6j};db.1i.6dG=1b(a){1d b=KH,c=1a.18R;if("1A"===1a.6j)g(c)?1<c.1h?(y.5X(c[0].3x(a),b),b.2O=c[1].3x(a)):y.5X(c[0].3x(a),b):y.2CY(255,255,255,255,b);1s if("2y"===1a.6j)y.2CY(c[0].3x(a),c[1].3x(a),c[2].3x(a),255,b);1s if("15A"===1a.6j){1d d=255*c[3].3x(a);y.2CY(c[0].3x(a),c[1].3x(a),c[2].3x(a),d,b)}1s"1OB"===1a.6j?y.3xK(c[0].3x(a),c[1].3x(a),c[2].3x(a),1,b):"3xG"===1a.6j&&y.3xK(c[0].3x(a),c[1].3x(a),c[2].3x(a),c[3].3x(a),b);1f E.1dc(b,rc.1EI())};db.1i.6dF=1b(a){1j(1d b=rc.6dE(),c=1a.6j,d=1a.18R,e=d.1h,f=0;f<e;++f){1d h=d[f].3x(a);if("2b"===2h h)b.1q(h);1s if(h 2m C)b.1q(h.x,h.y);1s if(h 2m k)b.1q(h.x,h.y,h.z);1s if(h 2m E)b.1q(h.x,h.y,h.z,h.w);1s 1t 1g qa(c+" 1aK 2Q be a 8r or 2b. 27f is "+h+".");}a=b.1h;d=8A(c.1as(3));if(0===a)1t 1g qa("13H "+c+" 7m. No 1eu 5m.");if(a<d&&1<a)1t 1g qa("13H "+c+" 7m. 3md 4Ca 5m.");if(a>d&&1<e)1t 1g qa("13H "+c+" 7m. 4pZ 3sq 5m.");1===a&&(e=b[0],b.1q(e,e,e));if("1v"===c)1f C.7j(b,0,rc.1Hj());if("1w"===c)1f k.7j(b,0,rc.1EJ());if("1m"===c)1f E.7j(b,0,rc.1EI())};db.1i.6dD=1b(){1f 1a.6j};db.1i.6dC=1b(a){1j(1d b=1a.6j,c=4R4.1f4(b);1F!==c;){1d d=c[0];c=JH(a,c[1]);g(c)||(c="");b=b.3X(d,c);c=4R4.1f4(b)}1f b};db.1i.6dB=1b(a){1f JH(a,1a.6j)};db.1i.6dA=1b(a){if("7n"===1a.18R.6j)1f JH(a,1a.1eI.3x(a));1d b=1a.18R.3x(a);if(g(b)){a=1a.1eI.3x(a);if(b 2m C||b 2m k||b 2m E){if("r"===a)1f b.x;if("g"===a)1f b.y;if("b"===a)1f b.z;if("a"===a)1f b.w}1f b[a]}};db.1i.6dz=1b(a){if("7n"===1a.18R.6j)1f JH(a,1a.1eI.3x(a));1d b=1a.18R.3x(a);if(g(b)){a=1a.1eI.3x(a);if(b 2m C||b 2m k||b 2m E){if(0===a||"r"===a)1f b.x;if(1===a||"g"===a)1f b.y;if(2===a||"b"===a)1f b.z;if(3===a||"a"===a)1f b.w}1f b[a]}};db.1i.6dy=1b(a){1j(1d b=[],c=0;c<1a.6j.1h;c++)b[c]=1a.6j[c].3x(a);1f b};db.1i.6dx=1b(a){a=1a.18R.3x(a);if("11T"!==2h a)1t 1g qa(\'1EH "!" 9N a 11T 1aK. 27f is \'+a+".");1f!a};db.1i.6dw=1b(a){a=1a.18R.3x(a);if(a 2m C)1f C.11k(a,rc.1Hj());if(a 2m k)1f k.11k(a,rc.1EJ());if(a 2m E)1f E.11k(a,rc.1EI());if("2b"===2h a)1f-a;1t 1g qa(\'1EH "-" 9N a 8r or 2b 1aK. 27f is \'+a+".");};db.1i.6dv=1b(a){a=1a.18R.3x(a);if(!(a 2m C||a 2m k||a 2m E||"2b"===2h a))1t 1g qa(\'1EH "+" 9N a 8r or 2b 1aK. 27f is \'+a+".");1f a};db.1i.6du=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if("2b"!==2h b||"2b"!==2h a)1t 1g qa(\'1EH "<" 9N 2b 5m. 1EG are \'+b+" and "+a+".");1f b<a};db.1i.6dt=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if("2b"!==2h b||"2b"!==2h a)1t 1g qa(\'1EH "<=" 9N 2b 5m. 1EG are \'+b+" and "+a+".");1f b<=a};db.1i.6ds=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if("2b"!==2h b||"2b"!==2h a)1t 1g qa(\'1EH ">" 9N 2b 5m. 1EG are \'+b+" and "+a+".");1f b>a};db.1i.6dr=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if("2b"!==2h b||"2b"!==2h a)1t 1g qa(\'1EH ">=" 9N 2b 5m. 1EG are \'+b+" and "+a+".");1f b>=a};db.1i.6dq=1b(a){1d b=1a.18R.3x(a);if("11T"!==2h b)1t 1g qa(\'1EH "||" 9N 11T 5m. 42N 1aK is \'+b+".");if(b)1f!0;a=1a.1eI.3x(a);if("11T"!==2h a)1t 1g qa(\'1EH "||" 9N 11T 5m. 4lQ 1aK is \'+a+".");1f b||a};db.1i.6dp=1b(a){1d b=1a.18R.3x(a);if("11T"!==2h b)1t 1g qa(\'1EH "&&" 9N 11T 5m. 42N 1aK is \'+b+".");if(!b)1f!1;a=1a.1eI.3x(a);if("11T"!==2h a)1t 1g qa(\'1EH "&&" 9N 11T 5m. 4lQ 1aK is \'+a+".");1f b&&a};db.1i.6do=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if(a 2m C&&b 2m C)1f C.add(b,a,rc.1Hj());if(a 2m k&&b 2m k)1f k.add(b,a,rc.1EJ());if(a 2m E&&b 2m E)1f E.add(b,a,rc.1EI());if("4n"===2h b||"4n"===2h a||"2b"===2h b&&"2b"===2h a)1f b+a;1t 1g qa(\'1EH "+" 9N 8r or 2b 5m of 1TR 1KO, or at 1gR 1bS 4n 1aK. 1EG are \'+b+" and "+a+".");};db.1i.6dn=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if(a 2m C&&b 2m C)1f C.3V(b,a,rc.1Hj());if(a 2m k&&b 2m k)1f k.3V(b,a,rc.1EJ());if(a 2m E&&b 2m E)1f E.3V(b,a,rc.1EI());if("2b"===2h b&&"2b"===2h a)1f b-a;1t 1g qa(\'1EH "-" 9N 8r or 2b 5m of 1TR 1KO. 1EG are \'+b+" and "+a+".");};db.1i.6dm=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if(a 2m C&&b 2m C)1f C.1oz(b,a,rc.1Hj());if(a 2m C&&"2b"===2h b)1f C.4g(a,b,rc.1Hj());if(b 2m C&&"2b"===2h a)1f C.4g(b,a,rc.1Hj());if(a 2m k&&b 2m k)1f k.1oz(b,a,rc.1EJ());if(a 2m k&&"2b"===2h b)1f k.4g(a,b,rc.1EJ());if(b 2m k&&"2b"===2h a)1f k.4g(b,a,rc.1EJ());if(a 2m E&&b 2m E)1f E.1oz(b,a,rc.1EI());if(a 2m E&&"2b"===2h b)1f E.4g(a,b,rc.1EI());if(b 2m E&&"2b"===2h a)1f E.4g(b,a,rc.1EI());if("2b"===2h b&&"2b"===2h a)1f b*a;1t 1g qa(\'1EH "*" 9N 8r or 2b 5m. If 1oE 5m are 6dl 5rf 2Q be 1TR 1KO. 1EG are \'+b+" and "+a+".");};db.1i.6dk=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if(a 2m C&&b 2m C)1f C.2DR(b,a,rc.1Hj());if(b 2m C&&"2b"===2h a)1f C.1eE(b,a,rc.1Hj());if(a 2m k&&b 2m k)1f k.2DR(b,a,rc.1EJ());if(b 2m k&&"2b"===2h a)1f k.1eE(b,a,rc.1EJ());if(a 2m E&&b 2m E)1f E.2DR(b,a,rc.1EI());if(b 2m E&&"2b"===2h a)1f E.1eE(b,a,rc.1EI());if("2b"===2h b&&"2b"===2h a)1f b/a;1t 1g qa(\'1EH "/" 9N 8r or 2b 5m of 1TR 1KO, or a 2b as 1Z 1hd 1aK. 1EG are \'+b+" and "+a+".");};db.1i.6dj=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if(a 2m C&&b 2m C)1f C.9v(b.x%a.x,b.y%a.y,rc.1Hj());if(a 2m k&&b 2m k)1f k.9v(b.x%a.x,b.y%a.y,b.z%a.z,rc.1EJ());if(a 2m E&&b 2m E)1f E.9v(b.x%a.x,b.y%a.y,b.z%a.z,b.w%a.w,rc.1EI());if("2b"===2h b&&"2b"===2h a)1f b%a;1t 1g qa(\'1EH "%" 9N 8r or 2b 5m of 1TR 1KO. 1EG are \'+b+" and "+a+".");};db.1i.6di=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);1f a 2m C&&b 2m C||a 2m k&&b 2m k||a 2m E&&b 2m E?b.2L(a):b===a};db.1i.6dh=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);1f a 2m C&&b 2m C||a 2m k&&b 2m k||a 2m E&&b 2m E?!b.2L(a):b!==a};db.1i.6dg=1b(a){1d b=1a.3xJ.3x(a);if("11T"!==2h b)1t 1g qa("8J5 1aK of 8J4 6d 2Q be a 11T. 27f is "+b+".");1f b?1a.18R.3x(a):1a.1eI.3x(a)};db.1i.6df=1b(a){1f 11I(1a.18R.3x(a))};db.1i.6de=1b(a){1f 1AJ(1a.18R.3x(a))};db.1i.6dd=1b(a){1f g(a)?a.2qA(1a.18R.3x(a)):!1};db.1i.6dc=1b(a){1f g(a)?a.2qz(1a.18R.3x(a)):!1};db.1i.6db=1b(a){if(g(a))1f a.2i8()};db.1i.6da=1b(a){1f!!1a.18R.3x(a)};db.1i.6d9=1b(a){1f 3a(1a.18R.3x(a))};db.1i.6d8=1b(a){1f 10J(1a.18R.3x(a))};db.1i.6d7=1b(a){1d b=1a.6j.3x(a),c="";g(1a.18R)&&(c=1a.18R.3x(a));10G{1d d=1g 19j(b,c)}11B(e){1t 1g qa(e);}1f d};db.1i.6d6=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if(!(b 2m 19j&&"4n"===2h a))1t 1g qa("19j.6S 9N 1Z 1lf 1aK to be a 19j and 1Z 1hd 1aK to be a 4n. 1EG are "+b+" and "+a+".");1f b.6S(a)};db.1i.6d5=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if(b 2m 19j&&"4n"===2h a)1f b.6S(a);if(a 2m 19j&&"4n"===2h b)1f a.6S(b);1t 1g qa(\'1EH "=~" 9N 1bS 19j 1aK and 1bS 4n 1aK. 1EG are \'+b+" and "+a+".");};db.1i.6d4=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if(b 2m 19j&&"4n"===2h a)1f!b.6S(a);if(a 2m 19j&&"4n"===2h b)1f!a.6S(b);1t 1g qa(\'1EH "!~" 9N 1bS 19j 1aK and 1bS 4n 1aK. 1EG are \'+b+" and "+a+".");};db.1i.6d3=1b(a){1d b=1a.18R.3x(a);a=1a.1eI.3x(a);if(!(b 2m 19j&&"4n"===2h a))1t 1g qa("19j.1f4 9N 1Z 1lf 1aK to be a 19j and 1Z 1hd 1aK to be a 4n. 1EG are "+b+" and "+a+".");b=b.1f4(a);1f g(b)?b[1]:1F};db.1i.6d2=1b(a){a=1a.18R.3x(a);if(a 2m 19j||a 2m C||a 2m k||a 2m E)1f 10J(a);1t 1g qa(\'1Py 1b 4G "\'+1a.6j+\'".\');};db.1i.2fM=1b(a,b,c){1d d,e,f,h=1a.1b4;1d l=1a.6j;g(1a.18R)&&(d=2K.8n(1a.18R)?U4(1a.18R,a,b,1a):1a.18R.2fM(a,b,1a));g(1a.1eI)&&(e=1a.1eI.2fM(a,b,1a));g(1a.3xJ)&&(f=1a.3xJ.2fM(a,b,1a));2K.8n(1a.6j)&&(l=U4(1a.6j,a,b,1a));6U(h){1S jb.47b:1f a+l;1S jb.29T:if("17L"===l)1f"7d("+d+")";if("3a"===l)1f"1o("+d+")";if("9p"===l)1f"2t("+d+" + 0.5)";if(g(YB[l]))1f l+"("+d+")";if("11I"===l)1f"("+d+" != "+d+")";if("1AJ"===l)1f"(abs("+d+") < 1Af)";if("10J"===l||"2qA"===l||"2qz"===l||"2i8"===l)1t 1g qa(\'6u 2DP 2r 1d8: "\'+l+\'" is 2S 11J.\');1f g(YB[l])?l+"("+d+")":l+d;1S jb.3bf:1f"%"===l?"13R("+d+", "+e+")":"==="===l?"("+d+" == "+e+")":"!=="===l?"("+d+" != "+e+")":"12B"===l?"16D("+d+", "+e+")":g(IH[l])?l+"("+d+", "+e+")":"("+d+" "+l+" "+e+")";1S jb.47a:if(g(xQ[l]))1f l+"("+d+", "+e+", "+f+")";1W;1S jb.474:1f"("+f+" ? "+d+" : "+e+")";1S jb.3bd:1f"r"===e||"x"===e||"0.0"===e?d+"[0]":"g"===e||"y"===e||"1.0"===e?d+"[1]":"b"===e||"z"===e||"2.0"===e?d+"[2]":"a"===e||"w"===e||"3.0"===e?d+"[3]":d+"[7P("+e+")]";1S jb.3xI:1t 1g qa(\'6u 2DP 2r 1d8: "\'+l+\'" is 2S 11J.\');1S jb.473:if(4===l.1h)1f"1m("+l[0]+", "+l[1]+", "+l[2]+", "+l[3]+")";if(3===l.1h)1f"1w("+l[0]+", "+l[1]+", "+l[2]+")";if(2===l.1h)1f"1v("+l[0]+", "+l[1]+")";1t 1g qa("6u 2DP 2r 1d8: 13H 4x 1h. 2K 1h 1tD be 2, 3, or 4.");1S jb.3xH:1t 1g qa("6u 2DP 2r 1d8: 36h 2jf are 2S 11J.");1S jb.472:1t 1g qa("6u 2DP 2r 1d8: 8J3 a 2dZ to a 4n is 2S 11J.");1S jb.2Q4:1f"1Af";1S jb.2Q3:1f l?"8O":"16f";1S jb.29S:1f Zr(l);1S jb.3be:if(g(c)&&c.1b4===jb.3bd&&("r"===l||"g"===l||"b"===l||"a"===l||"x"===l||"y"===l||"z"===l||"w"===l))1f l;l=y.5X(l,KH);if(g(l))1f b=Zr(l.5r),d=Zr(l.5t),l=Zr(l.5G),"1w("+b+", "+d+", "+l+")";1t 1g qa("6u 2DP 2r 1d8: 10J 8J2 are 2S 11J.");1S jb.2DQ:if("1A"===l)1f g(d)?1<d.1h?(l=d[0],d=d[1],"1.0"!==d&&(b.11C=!0),"1m("+l+", "+d+")"):"1m("+d[0]+", 1.0)":"1m(1.0)";if("2y"===l)1f l=T4(1a),g(l)?LH(l):"1m("+d[0]+" / 255.0, "+d[1]+" / 255.0, "+d[2]+" / 255.0, 1.0)";if("15A"===l)1f"1.0"!==d[3]&&(b.11C=!0),l=T4(1a),g(l)?LH(l):"1m("+d[0]+" / 255.0, "+d[1]+" / 255.0, "+d[2]+" / 255.0, "+d[3]+")";if("1OB"===l)1f l=S4(1a),g(l)?LH(l):"1m(3gq(1w("+d[0]+", "+d[1]+", "+d[2]+")), 1.0)";if("3xG"===l){l=S4(1a);if(g(l))1f 1!==l.2O&&(b.11C=!0),LH(l);"1.0"!==d[3]&&(b.11C=!0);1f"1m(3gq(1w("+d[0]+", "+d[1]+", "+d[2]+")), "+d[3]+")"}1W;1S jb.3xF:if(!g(d))1t 1g r("3B 1tD 2aR be 2l 1j 1I 5hf.3xF");b=d.1h;l+="(";1j(a=0;a<b;++a)l+=d[a],a<b-1&&(l+=", ");1f l+")";1S jb.3xE:1t 1g qa("6u 2DP 2r 1d8: 36h 2jf are 2S 11J.");1S jb.4R3:1f"1Af";1S jb.470:if("6d1"===l)1f"4R2"}};1L.2X(Bl.1i,{1qQ:{1n:1b(){1f 1a.1Wb}},1iC:{1n:1b(){1f 1a.1qV}}});1d 6cX={1K:0,1k8:1},6cW={12h:{3e:!0,1iu:Jc.1JA,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1it:Jc.1JA,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:0,11q:Mc.1Jz},1lq:Mc.1Jz,9J:{3e:!1},13Q:!1,12e:Dc.1bQ},6cV={12h:{3e:!0,1iu:Jc.1JA,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1it:Jc.1JA,1eH:{15w:Ma.10w,17x:Ma.10w,17w:Ma.1q3},1bY:0,11q:Mc.1Jz},1lq:Mc.1Jz,9J:{3e:!1},13Q:!1},iv=1g A,X4=1g k;Bl.1i.29G=1b(a,b){1j(1d c=1a.1q1,d=c.1h,e=0;e<d;++e){1d f=c[e];b[f]=1g Jh(a,f)}};Bl.1i.1vt=1b(a,b){1a.1nG=a?b:1a.2qx};1d 6cZ=1g y,6cY=y.9r,6d0=/\\$/;Bl.1i.1nx=1b(a,b){if(g(a)){1d c=a.1A,d=c 2m Al&&!6d0.6S(c.6d);1a.3bc=d;1d e=1a.1q1;c=e.1h;1d f;1j(f=0;f<c;++f){1d h=b[e[f]];h.1A=g(a.1A)?a.1A.1FL(h,6cZ):6cY;h.2p=g(a.2p)?a.2p.3x(h):!0}if(d){b=1a.1Kp;c=b.1h;1j(f=0;f<c;++f)b[f].1A=y.1y(y.9r);1a.3bc=!1;1a.2Q2=!0}}1s{1a.3bc=!0;f=1a.1q1;a=f.1h;1j(c=0;c<a;++c)d=b[f[c]],d.2p=!0,d.1A=y.9r;b=1a.1Kp;a=b.1h;1j(c=0;c<a;++c)b[c].1A=y.1y(y.9r);1a.3bc=!1;1a.2Q2=!0}};Bl.1i.2i6=1b(a,b){if(!1a.3bc){1d c=1a.3xC,d=c[a];if(g(d)){1d e=1a.1Rs,f=e[d];d=1a.1Ko[d];1d h=1a.1Kp,l=h.1h,k;1j(k=0;k<l;++k){1d n=h[k].2M,m=h[k].7Z;if(f>=n&&f<n+m)1W}h.1q(1g hv({1A:y.1y(b),2M:f,7Z:d,1ek:[a]}));b=[];l=[];n=h[k].1ek;m=n.1h;1j(1d w=0;w<m;++w){1d x=n[w];x!==a&&(e[c[x]]<f?b.1q(x):l.1q(x))}0!==l.1h&&h.1q(1g hv({1A:y.1y(h[k].1A),2M:f+d,7Z:h[k].2M+h[k].7Z-(f+d),1ek:l}));0!==b.1h?(h[k].7Z=f-h[k].2M,h[k].1ek=b):h.6z(k,1);1a.2Q2=!0}}};Bl.1i.2H=1b(a){1d b=a.1O;if(!g(1a.16z)){1d c=Ra.12S({1O:b,5b:1a.9h,7Q:xa.7C}),d=Ra.12S({1O:b,5b:1a.1Hi,7Q:xa.7C}),e=Ra.17Q({1O:b,5b:1a.1lz,7Q:xa.1UP,17P:2===1a.1lz.12T?Ta.10P:Ta.1bt}),f=[{2P:0,7e:c,3k:I.2DC(1a.9h),2Z:3},{2P:1,7e:d,3k:I.2DC(1a.1Hi),2Z:1}];1a.16z=1g Fb({1O:b,2w:f,10X:e});b.1py&&(1a.2DN=1g Fb({1O:b,2w:f,10X:Ra.17Q({1O:b,18Q:e.18Q,7Q:xa.1UP,17P:e.17P})}));1a.1NB=1a.1Hi=1a.2qR=1a.3xD=1p 0}if(!g(1a.11V)){1d h=1a.6y,l=m(1a.12m,6cX),k=1a.16I,n=1a.1za,z=1a.1z9;if(g(n))1a.2qO=1a.11V=Ga.4t({1O:b,5O:n,5A:z,7W:l}),z=ja.1gF(z,"2nY"),1a.1xB=Ga.4t({1O:b,5O:n,5A:z+"1p 2k() \\n{ \\n    2nY(); \\n    2C = "+k+"; \\n} \\n",7W:l});1s{1d w=h.1zS(!1,"1k8",1p 0)("3Q 1w 1K;\\2J 1o 1k8;\\1B 5w 1Od;\\2s 2k()\\n{\\11u = 1wa(1Od * 1m(1K, 1.0));\\n}\\n"),x=h.2Dv()("#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1mP\\1B 1m 1nU;\\n#1u\\2s 2k(1p)\\n{\\n#1z 1mP\\3R = 9D(1nU);\\n#1s\\3R = 1m(1.0);\\n#1u\\1Cz();\\n}\\n",!1,1p 0);k=h.1Rg();1d q=1g ja({5p:[w]}),t=1g ja({2N:["1mP"],5p:[x]});1a.11V=Ga.4t({1O:b,5O:q,5A:t,7W:l});q=1g ja({5p:["3Q 1w 1K;\\2J 1o 1k8;\\1B 5w 1Od;\\2s 2k()\\n{\\11u = 1wa(1Od * 1m(1K, 1.0));\\n}\\n"]});t=1g ja({2N:["1mP"],5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1mP\\1B 1m 1nU;\\n#1u\\2s 2k(1p)\\n{\\n#1z 1mP\\3R = 9D(1nU);\\n#1s\\3R = 1m(1.0);\\n#1u\\1Cz();\\n}\\n"]});1a.2qO=Ga.4t({1O:b,5O:q,5A:t,7W:l});x=ja.1gF(x,"2nY");x=x+"\\2s 2k() \\n{ \\n    2nY(); \\n    2C = "+k+"; \\n} \\n";1d r=1g ja({5p:[w]}),u=1g ja({2N:["1mP"],5p:[x]});1a.1xB=Ga.4t({1O:b,5O:r,5A:u,7W:l})}}g(1a.23L)||(1a.23L=pa.4t(V4(!1)),1a.2ig=pa.4t(V4(!0)),1a.2if=pa.4t(W4(!1)),1a.2ie=pa.4t(W4(!0)),1a.2qP=pa.4t(6cW),1a.3bb=pa.4t(6cV));6cU(1a,b);1d v=a.10s;if(v.3t){if(1a.2Q2){1j(1d B=1a.1Kp,C=B.1h,E=!1,F={},K=0;K<C;++K){1d H=B[K].1A.22A();if(g(F[H])){E=!0;1W}1s F[H]=!0}if(E)if(E&&!1a.2Dw&&120>1a.46Z){++1a.46Z;1d L=1p 0}1s{B.15F(6cT);if(b.1py){1d S=1a.1Rs,U=1a.1Ko,R=1a.3xC,V=B.9l(),W=[V],da=1a.16z.10X,ea=1a.2DN.10X,Sa=zQ(da,ea,0,S,U,V.1ek,R);V.2M=0;1j(V.7Z=Sa;0<B.1h;){1d J=B.9l();if(y.2L(J.1A,V.1A))Sa=zQ(da,ea,Sa,S,U,J.1ek,R),V.1ek=V.1ek.9V(J.1ek),V.7Z=Sa-V.2M;1s{1d dc=Sa;Sa=zQ(da,ea,Sa,S,U,J.1ek,R);J.2M=dc;J.7Z=Sa-dc;W.1q(J);V=J}}1d M=1a.16z;1a.16z=1a.2DN;1a.2DN=M;1a.1Kp=W}1s{1d Ob=1a.1lz,vd=1a.1Rs,uc=1a.1Ko,sc=1a.3xC,cd=1g Ob.7m(Ob.1h),mc=B.9l(),Xb=[mc],ld=yQ(Ob,cd,0,vd,uc,mc.1ek,sc);mc.2M=0;1j(mc.7Z=ld;0<B.1h;){1d ae=B.9l();if(y.2L(ae.1A,mc.1A))ld=yQ(Ob,cd,ld,vd,uc,ae.1ek,sc),mc.1ek=mc.1ek.9V(ae.1ek),mc.7Z=ld-mc.2M;1s{1d N=ld;ld=yQ(Ob,cd,ld,vd,uc,ae.1ek,sc);ae.2M=N;ae.7Z=ld-N;Xb.1q(ae);mc=ae}}1a.16z.10X.1jR(cd);1a.1lz=cd;1a.1Kp=Xb}1a.46Z=0;1a.2Q2=!1;L=1a.46X=1a.46W=!0}1s L=1a.2Q2=!1}1s L=!1;1d P=1a.1pu,O=1a.1Kp,T=O.1h,Q=3*T;if(!g(P)||L||P.1h!==Q){P.1h=Q;1j(1d Z=1a.16z,X=1a.11V,ba=m(1a.12t,A.8K),be=1a.1cH,Y=1a.11S,ha=0;ha<T;++ha){1d ca=O[ha].2M,ia=O[ha].7Z,fa=P[3*ha];g(fa)||(fa=P[3*ha]=1g Oa({7H:1a}));fa.4c=Z;fa.4a=ba;fa.2M=ca;fa.7Z=ia;fa.4w=1a.23L;fa.2z=X;fa.4J=be;fa.6W=Y;fa.8d=!1;fa.6t=ma.1Bk;1d la=Oa.15v(fa,fa.10K.15c);la.4w=1a.2ig;la.6t=ma.1Hh;fa.10K.15c=la;1d na=P[3*ha+1];g(na)||(na=P[3*ha+1]=1g Oa({7H:1a}));na.4c=Z;na.4a=ba;na.2M=ca;na.7Z=ia;na.4w=1a.2if;na.2z=X;na.4J=be;na.6W=Y;na.8d=!1;na.6t=ma.1Bk;1d ff=Oa.15v(na,na.10K.15c);ff.4w=1a.2ie;ff.6t=ma.1Hh;na.10K.15c=ff;1d Kc=P[3*ha+2];g(Kc)||(Kc=P[3*ha+2]=1g Oa({7H:1a}));Kc.4c=Z;Kc.4a=ba;Kc.2M=ca;Kc.7Z=ia;Kc.4w=1a.2qP;Kc.2z=X;Kc.4J=be;Kc.6W=Y;Kc.8d=!1;Kc.6t=ma.1Bk;1d gG=Oa.15v(Kc,Kc.10K.15c);gG.6t=ma.1Hh;Kc.10K.15c=gG}1a.4R1=!0}if(1a.12p!==te.1Q8&&a.1M8&&(!g(1a.2DO)||1a.4R1)){1j(1d Ce=1a.1pu,qa=1a.2DO,sa=1a.2qO,ta=qa.1h=Ce.1h/3*2,ua=0,va=0;va<ta;va+=2){1d wa=qa[va]=Oa.15v(Ce[ua],qa[va]);wa.2z=sa;wa.6t=ma.2qQ;wa=qa[va+1]=Oa.15v(Ce[ua+1],qa[va+1]);wa.2z=sa;wa.6t=ma.2qQ;ua+=3}1a.4R1=!1}1d ya=1a.1gj===1a.29R;ya=ya&&!(1a.1gj&&1a.46X);if(!ya){g(1a.46Y)||(1a.46Y=pa.4t({}));if(1a.1gj){1d ra=1a.46Y;1d za=Ja.1ao}1s ra=1a.2qP,za=Ja.11G;1j(1d Aa=1a.1pu,Ca=Aa.1h,Ba=0;Ba<Ca;Ba+=3){1d Da=Aa[Ba+2];Da.4w=ra;Da.6Z=za}1a.29R=1a.1gj;1a.46X=!1}if(1a.29R)1j(1d Ha=1a.1pu,Ia=a.13l,La=Ha.1h,Ka=0;Ka<La;Ka+=3){1d Ma=Ha[Ka+2];Ma.6t=ma.18W;Ia.1q(Ma)}1s Y4(1a,a,1a.1pu,1a.2DO)}if(v.11P){if(1a.46W){1d Pa=1a.1Rs.1h,Na=1a.2Q1;Na.1h=3*Pa;1j(1d Ua=1a.16z,Va=1a.2qO,Za=1a.1xB,Wa=m(1a.12t,A.8K),bb=1a.1cH,Xa=0;Xa<Pa;++Xa){1d ab=1a.1Rs[Xa],fb=1a.1Ko[Xa],cb=g(1a.1Rr)?1a.1Rr[Xa]:1a.6W,Ya=Na[3*Xa];g(Ya)||(Ya=Na[3*Xa]=1g Oa({7H:1a,2id:!0}));Ya.4c=Ua;Ya.4a=Wa;Ya.2M=ab;Ya.7Z=fb;Ya.4w=1a.23L;Ya.2z=Va;Ya.4J=bb;Ya.6W=cb;Ya.6t=ma.1Bk;1d eb=Oa.15v(Ya,Ya.10K.15c);eb.4w=1a.2ig;eb.6t=ma.1Hh;Ya.10K.15c=eb;1d Ea=Na[3*Xa+1];g(Ea)||(Ea=Na[3*Xa+1]=1g Oa({7H:1a,2id:!0}));Ea.4c=Ua;Ea.4a=Wa;Ea.2M=ab;Ea.7Z=fb;Ea.4w=1a.2if;Ea.2z=Va;Ea.4J=bb;Ea.6W=cb;Ea.6t=ma.1Bk;1d gb=Oa.15v(Ea,Ea.10K.15c);gb.4w=1a.2ie;gb.6t=ma.1Hh;Ea.10K.15c=gb;1d Qa=Na[3*Xa+2];g(Qa)||(Qa=Na[3*Xa+2]=1g Oa({7H:1a,2id:!0}));Qa.4c=Ua;Qa.4a=Wa;Qa.2M=ab;Qa.7Z=fb;Qa.4w=1a.3bb;Qa.2z=Za;Qa.4J=bb;Qa.6W=cb;Qa.6t=ma.1Bk;1d db=Oa.15v(Qa,Qa.10K.15c);db.6t=ma.1Hh;Qa.10K.15c=db}1a.46W=!1}Y4(1a,a,1a.2Q1)}};Bl.1i.3Z=1b(){1f!1};Bl.1i.1M=1b(){1a.16z=1a.16z&&1a.16z.1M();1a.11V=1a.11V&&1a.11V.1M();1a.1xB=1a.1xB&&1a.1xB.1M();1a.2DN=1a.2DN&&1a.2DN.1M();1f la(1a)};1d 6cS=1g k,Pp=Xa.46K;1L.2X(jv.1i,{12b:{1n:1b(){1f 1a.2PW}},7u:{1n:1b(){if(1a.19i!==Pp.1e5)1t 1g r("9B 12W is 2S 1aw.  1c7 4j4.9c or 11i 1j 4j4.3o to be 8O.");1d a=A.1sj(1a.4a,6cS),b=1a.46J;b.2V=k.1oz(1a.5V.2V,a,b.2V);b.3L=k.1xj(a)*1a.2w7;g(1a.1q2)&&k.add(1a.1q2,b.2V,b.2V);1f b}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},6s:{1n:1b(){1f 1a.1g6}},1r9:{1n:1b(){g(1a.23w)||(1a.23w=Xa.46D(1a.12b));1f 1a.23w}},1Hg:{1n:1b(){g(1a.2DJ)||(1a.2DJ=Xa.4QI(1a.12b));1f 1a.2DJ}},1wf:{1n:1b(){1f 1a.23F}},1qQ:{1n:1b(){1f 1a.1Wb}},1iC:{1n:1b(){1f 1a.1qV}},1tR:{1n:1b(){1f 0}},12p:{1n:1b(){1f 1a.1Ez}}});1d $4={23H:1b(a,b){1f Xa.3ba().23H(a,b)},1Ro:1b(a,b){1f Xa.3ba().1Ro(a,b)},29O:1b(a,b){1f Xa.3ba().29O(a,b)},2qH:1b(a,b){1f Xa.3ba().2qH(a,b)}},6cR=1g E,AQ=1g A;jv.1i.2i6=1b(a,b){1a.7h.2i6(a,b)};jv.1i.2H=1b(a){if(a.3z!==O.1at)if(Nc.46V.1Vv){1d b=Nc.46V();if(1a.19i===Pp.2DD&&g(1a.12b)&&(1a.19i=Pp.1gu,1a.19i!==Pp.12D)){1d c=1a.12b.10x;if(g(c)&&g(c.2DI)&&(c=k.7j(c.2DI.2V),!k.2L(c,k.6h))){1a.2ib=c;c=a.11s;1d d=c.3c.10Z(1a.2ib);c=c.12z(d);k.9v(c.z,c.x,c.y,c);1a.3b4=c;1a.3xp=1g k;1a.1q2=1a.2ib}1a.1ba=1g Nm;Xa.4Qv(1a)}d=1a.1ba;c=!1;1a.19i===Pp.1gu&&(0===d.1Wg&&(Xa.4Qu(1a.1Hg,b),6cQ(1a),6cP(1a),1a.5V=Xa.4Qr(1a),1a.2w7=1a.5V.3L,a5(1a,a)),d.3b3()&&(1a.19i=Pp.1e5,c=!0));g(d)&&1a.19i===Pp.1e5&&(c||a5(1a,a),d.3b3()&&(1a.1ba=1p 0));if((b=1a.2p)&&1a.19i===Pp.1e5||c){1a.1g6=!1;d=1a.4a;1d e=a.3z!==1a.8C;1a.8C=a.3z;if((e=!A.2L(1a.12t,d)||e)||c){A.1y(d,1a.12t);1d f=1a.27T;A.1y(d,f);1a.23F===Pe.Y?A.1oJ(f,Pe.46w,f):1a.23F===Pe.X&&A.1oJ(f,Pe.46v,f)}if(e||c)6cO(1a,e,c,a.11s),1a.1g6=!0}if(c){1d h=1a;a.1sn.1q(1b(){h.4y=!0;h.7S.5h(h)})}1s b&&!1a.3b2&&(1a.7h.15S=1a.15S,1a.7h.1gj=1a.1gj,1a.7h.2H(a))}1s Nc.46V.6l()};jv.1i.3Z=1b(){1f!1};jv.1i.1M=1b(){1a.7h=1a.7h&&1a.7h.1M();1f la(1a)};1L.2X(ei.1i,{3s:{1n:1b(){1f 1a.172},1C:1b(a){v.1N.2b("1Q",a);if(g(1a.1Rq)&&a!==1a.172)1a.1Rq(1a.2P);1a.172=a}},2U:{1n:1b(){1f 1a.1VA},1C:1b(a){v.1N.2c("1Q",a);if(g(1a.1Rq)&&!k.2L(1a.1VA.23K,a))1a.1Rq(1a.2P);k.1y(a,1a.1VA.23K)}}});ei.8J1=1b(a,b){v.1N.2c("12w",a);g(b)?(b.2U=a.2U,b.3s=a.3s):b=1g ei(a.2U,a.3s);1f b};ei.1y=1b(a,b){if(!g(b))1f 1g ei(a.2U,a.3s);b.2U=a.2U;b.3s=a.3s;1f b};1L.2X(b5.1i,{x:{1n:1b(){1f 1a.23K.x},1C:1b(a){v.1N.2b("1Q",a);if(g(1a.2ic.1Rq)&&a!==1a.23K.x)1a.2ic.1Rq(1a.2ic.2P);1a.23K.x=a}},y:{1n:1b(){1f 1a.23K.y},1C:1b(a){v.1N.2b("1Q",a);if(g(1a.2ic.1Rq)&&a!==1a.23K.y)1a.2ic.1Rq(1a.2ic.2P);1a.23K.y=a}},z:{1n:1b(){1f 1a.23K.z},1C:1b(a){v.1N.2b("1Q",a);if(g(1a.2ic.1Rq)&&a!==1a.23K.z)1a.2ic.1Rq(1a.2ic.2P);1a.23K.z=a}}});1L.2X(Cf.1i,{1h:{1n:1b(){1f 1a.1Kn.1h}},3o1:{1n:1b(){1f 1a.3xB},1C:1b(a){1a.3xB!==a&&(1a.4QY=(1a.3xB=a)?c5:d5)}},3e:{1n:1b(){1f 1a.1wK},1C:1b(a){1a.1wK!==a&&(1a.1wK=a)}},7y:{1n:1b(){1f 1a.2DM}},7H:{1n:1b(){1f 1a.1fq}},3m0:{1n:1b(){1f 1a.3xB?1a.1Kn.1h:-1a.1Kn.1h}}});Cf.1i.add=1b(a){1d b=1a.1Kn.1h,c=1a;a.1Rq=1b(a){e5(c,a)};a.2P=b;e5(1a,b);1a.1Kn.1q(a);1a.6cN.5k(a,b)};Cf.1i.1n=1b(a){v.1N.2b("2P",a);1f 1a.1Kn[a]};Cf.1i.8h=1b(a){1f-1!==f5(1a.1Kn,a)};Cf.1i.3S=1b(a){1d b=1a.1Kn,c=f5(b,a);if(-1===c)1f!1;a 2m ei&&(a.1Rq=1p 0,a.2P=-1);1j(1d d=b.1h-1,e=c;e<d;++e){1d f=b[e+1];b[e]=f;f 2m ei&&(f.2P=e)}1a.2qN=!0;b.1h=d;1a.4R0.5k(a,c);1f!0};Cf.1i.7f=1b(){1j(1d a=1a.1Kn,b=a.1h,c=0;c<b;++c){1d d=a[c];d 2m ei&&(d.1Rq=1p 0,d.2P=-1);1a.4R0.5k(d,c)}1a.2qN=!0;1a.1Kn=[]};1d 6cM=1g E,6cL=1g E,6cK=1g C;Cf.1i.2H=1b(a){1d b=1a.2DM,c=a.1O,d=(a=Cf.46U(c))?1a.1h:2*1a.1h;if(g(b)){1d e=b.1G*b.1D;if(e<d||d<.25*e)b.1M(),1a.2DM=b=1p 0}0!==1a.1h&&(g(b)||(d=i5(d,6cK),d.y*=2,b=1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U}),a?(b=1g Ca({1O:c,1G:d.x,1D:d.y,8b:ua.9m,10E:Ha.3O,10v:b,13E:!1}),1a.3xA=1g 4A(d.x*d.y*4)):(b=1g Ca({1O:c,1G:d.x,1D:d.y,8b:ua.9m,10E:Ha.7U,10v:b,13E:!1}),1a.3xz=1g 4L(d.x*d.y*4)),1a.2DM=b,1a.2qN=!0),c=1a.3b9,1a.2qN||-1!==c)&&(1a.2qN?a?(h5(1a,0,1a.1Kn.1h),b.1iq({1G:b.1G,1D:b.1D,1a9:1a.3xA})):(g5(1a,0,1a.1Kn.1h),b.1iq({1G:b.1G,1D:b.1D,1a9:1a.3xz})):a?(d=1k.2t(c/b.1G),a=1k.2t(c-d*b.1G),h5(1a,c,c+1),b.1iq({1G:1,1D:1,1a9:1a.3xA},a,d)):(d=1k.2t(2*c/b.1G),a=1k.2t(2*c-d*b.1G),g5(1a,c,c+1),b.1iq({1G:2,1D:1,1a9:1a.3xz},a,d)),1a.2qN=!1,1a.3b9=-1)};1d 6cJ=1g A,4QZ=1g Cb(k.1dl,0);Cf.1i.3Sw=1b(a,b){1d c=1a.1Kn,d=c.1h,e=1a.4a;g(b)&&(e=A.9b(b,e,6cJ));b=Lb.27N;!1a.3o1&&0<d&&(b=Lb.1gB);1j(1d f=0;f<d;++f){Cb.5o(c[f],e,4QZ);1d h=a.1tE(4QZ);if(h===Lb.1wT)b=h;1s if(1a.4QY(h))1f h}1f b};Cf.3m2=1b(a,b,c){if(a!==b[c]&&(b[c]=b[c]&&b[c].1M(),g(a))){if(g(a.1fq))1t 1g r("5hn 1tD 1cF be 8J0 to 1bS 2c");a.1fq=b;b[c]=a}};Cf.46U=1b(a){1f a.2BF};Cf.6cI=1b(a,b,c){1d d=a.7y;if(g(d))1f c.x=d.1G,c.y=d.1D,c;a=Cf.46U(b)?a.1h:2*a.1h;c=i5(a,c);c.y*=2;1f c};Cf.1i.3Z=1b(){1f!1};Cf.1i.1M=1b(){1a.2DM=1a.2DM&&1a.2DM.1M();1f la(1a)};1d oM={2dR:0,1f1:1,1ZI:2,6cH:1b(a,b){if(a===oM.2dR)1f 0;if(a===oM.1f1)1f 1;if(a===oM.1ZI)1f B.2Y(b,B.2Q0,1)}},Qp=1L.3F(oM);md.6cG=1k.1V(Nc.46T-1,1);md.46S=1p 0;md.3xx=!1;md.4QV=1b(){if(!g(md.46S)){1d a=1g Vc("8IZ",md.6cG);a.3t5({2Bp:"1Qq/2gS/5T1.js",2Bo:"1Qq/3Zz.1JQ",4GI:"1Qq/2gS/3Zz.js"}).4b(1b(){md.3xx=!0});md.46S=a}1f md.46S};md.2T4=1b(a){1f g(a.1Hg.29Q)||g(a.1r9.29Q)};md.23J=1p 0;md.5N=1b(a,b){if(md.2T4(a)){1d c=a.1ba,d=a.1jc;if(g(d)&&(g(md.23J)||(g(b.1au.4QX)||(b.1au.4QX={}),md.23J=b.1au.4QX),b=md.23J[d],g(b))){b.7Z++;c.3xy=!0;1f}1d e=a.29N,f=a.12b;ia.13q(f,1b(a,b){ia.1zU(a,1b(a,d){if(g(a.10x)&&(a=a.10x.29Q,g(a))){1d h=f.1mx[a.11y],l=De(f.1ds[h.3J].19q.1mw.5j,h.8o,h.8o+h.10S);c.3b8.1vp({13q:b,9k:d,4x:l,11y:h,1Wj:a.2w,4QW:e})}})})}};md.6bR=1b(a,b){if(!md.2T4(a))1f Z.5h();1d c=a.1ba;b=a.1jc;if(g(b)&&g(md.23J)){1d d=md.23J[b];if(g(d)&&c.3xy)1f Z(d.3o,1b(){a.2PZ=d.2g;c.3xy=!1});md.23J[b]={3o:!1,7Z:1,2g:1p 0}}if(0===c.3b8.1h)1f Z.5h();b=md.4QV();1j(1d e=[],f=k5(b,a,c);g(f);)e.1q(f),f=k5(b,a,c);1f Z.all(e)};md.6cF=1b(a){1d b=md.4QV();if(md.3xx)1f b.1fa(a,[a.3J.3J])};md.6bQ=1b(a){1d b=a.1jc;g(b)&&g(md.23J)&&(b=md.23J[b],g(b)&&(b.3o=!0,b.2g=a.2PZ))};md.6bC=1b(a){a=a.1jc;if(g(a)&&g(md.23J)){1d b=md.23J[a];g(b)&&0===--b.7Z&&4Y md.23J[a]}};1d 6cE=1g C,eh=1L.3F({1uL:0,46R:1,2pr:2,46Q:3}),6cD=/^2g:/i,4QT={};$r.4QU=1b(a,b){1d c=l5(a,b),d=4QT[c];if(!g(d)){d=a.12b;1d e=d.1mx[b.11y],f=d.1ds[e.3J].19q.1mw.5j,h=b.1fe,l=b.1I,p=zl(l),n=b.7Z,z=Np(d,b);d=2K(n);b=m(b.8o,0);e=e.8o+b;1j(b=0;b<n;b++){1d w=I.1Rm(h,f.3J,f.8o+e,p);"29P"===l?d[b]=w[0]:"2PY"===l?d[b]=k.7j(w):"2PX"===l&&(d[b]=ca.5f(w));e+=z}g(a.1jc)&&(4QT[c]=d)}1f d};1d 4QS={};NH.1i.3x=1b(a,b){1f 1a.6j};NH.1i.1Wi=1b(a){1f 0};NH.1i.1Wh=1b(a){1f 0};$r.6cC=1b(a,b,c,d,e,f,h,l){b=a.1jc+"//"+b+"/"+d;c=4QS[b];g(c)||(1===f.1h&&1===l.1h?c=1g NH(l[0]):"11U"===e.1w3&&("14L"===h||"3b"===h?c=1g up({12K:f,5I:l}):"5S"===h?c=1g Nu({12K:f,5I:l}):"1cx"===h&&(c=1g Su({12K:f,1cx:l}))),g(a.1jc)&&(4QS[b]=c));1f c};1d 4QR={};$r.6cB=1b(a,b){1d c=l5(a,b),d=4QR[c];if(!g(d)){1d e=a.12b;d=e.1mx[b.11y];a=e.1ds[d.3J].19q.1mw.5j;1d f=b.1fe,h=b.1I,l=b.7Z;e=Np(e,b);b=d.8o+b.8o;1d k=zl(h);d=2K(l);if(f===H.3O&&h===Mp.3b7)1j(h=0;h<l;++h){1d n=I.1Rm(f,a.3J,a.8o+b,k);d[h]=A.7j(n);b+=e}4QR[c]=d}1f d};1d kv=1L.3F({6i:0,1av:1,2qK:2}),gy=1L.3F({46N:0,4QO:1});1L.2X(CQ.1i,{2i:{1n:1b(){1f 1a.6X}},18M:{1n:1b(){1f 1a.1GW}},1Jr:{1n:1b(){1f 1a.3QB}},1cU:{1n:1b(){1f 1a.4QQ}},16W:{1n:1b(){1f 1a.2qM}},1e1:{1n:1b(){1f 1a.6cA}},1qB:{1n:1b(){1f 1a.1Rp}}});1L.2X(io.1i,{1h:{1n:1b(){1f 1a.2qL.1h}}});io.1i.add=1b(a){a=m(a,m.4Z);1d b=1a.13O.1mv.1QX;if(!g(b))1t 1g r("3tS are 2S 1aw.  2CF 1j 25N.9c to 5h.");if(!g(a.2i)&&!g(a.2P))1t 1g r("2Av 3v.2i or 3v.2P 2Q be 2l.");if(g(a.16W)&&0>=a.16W)1t 1g r("3v.16W 2Q be 9U 6L 16m.");if(g(a.2P)&&(a.2P>=b.1h||0>a.2P))1t 1g r("3v.2P 2Q be a 1eu 15R 2P.");if(g(a.2P))1f DQ(1a,a.2P,a);1j(1d c,d=b.1h,e=0;e<d;++e)if(b[e].2i===a.2i){c=e;1W}if(!g(c))1t 1g r("3v.2i 2Q be a 1eu 15R 2i.");1f DQ(1a,c,a)};io.1i.65W=1b(a){a=m(a,m.4Z);if(!g(1a.13O.1mv.1QX))1t 1g r("3tS are 2S 1aw.  2CF 1j 25N.9c to 5h.");if(g(a.16W)&&0>=a.16W)1t 1g r("3v.16W 2Q be 9U 6L 16m.");1j(1d b=[],c=1a.13O.1mv.1QX.1h,d=0;d<c;++d)b.1q(DQ(1a,d,a));1f b};io.1i.3S=1b(a){if(g(a)){1d b=1a.2qL,c=b.3f(a);if(-1!==c)1f b.6z(c,1),1a.46P.5k(1a.13O,a),!0}1f!1};io.1i.7f=1b(){1d a=1a.13O,b=1a.2qL,c=b.1h;1a.2qL=[];1j(1d d=0;d<c;++d)1a.46P.5k(a,b[d])};io.1i.8h=1b(a){1f g(a)?-1!==1a.2qL.3f(a):!1};io.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.");1f 1a.2qL[a]};1d pM=[];io.1i.2H=1b(a){1d b=1a.2qL,c=b.1h;if(0===c)1f 1a.2f4=1p 0,!1;if(M.2L(a.6q,1a.2f4))1f!1;1a.2f4=M.1y(a.6q,1a.2f4);1j(1d d=!1,e=a.6q,f=1a.13O,h=0;h<c;++h){1d l=b[h],k=l.6cz;g(l.46O)||(l.46O=M.190(m(l.18M,e),l.1Jr,1g M));g(l.1oi)||(l.1oi=1/l.16W*k.1cU);1d n=l.46O,z=l.1oi,w=l.1cU;n=0!==z?M.1dA(e,n)/z:0;1d x=0<=n,q=l.1qB===kv.1av||l.1qB===kv.2qK;if((x||q&&!g(l.18M))&&(1>=n||q)&&(!g(w)||M.19D(e,w))){l.19i===gy.46N&&(l.19i=gy.4QO,0<l.4I.2mw&&a.1sn.1q(l.6cy));l.1qB===kv.1av?n-=1k.2t(n):l.1qB===kv.2qK&&(d=1k.2t(n),w=n-d,n=1===d%2?1-w:w);l.1e1&&(n=1-n);d=n*z*l.16W;z=d=B.2Y(d,k.18M,k.1cU);k=k.6cx;w=k.1h;1j(n=0;n<w;++n)k[n](z);0<l.2H.2mw&&(l.4QP=d,a.1sn.1q(l.6cw));d=!0}1s x&&l.19i===gy.4QO&&(l.19i=gy.46N,0<l.4U.2mw&&a.1sn.1q(l.6cv),l.4QN&&pM.1q(l))}c=pM.1h;1j(e=0;e<c;++e)h=pM[e],b.6z(b.3f(h),1),a.1sn.1q(6cu(1a,f,h));pM.1h=0;1f d};1L.2X(ZB.1i,{2i:{1n:1b(){1f 1a.6X}},id:{1n:1b(){1f 1a.7R}}});ZB.1i.1cf=1b(a,b){if(!g(a))1t 1g r("2i is 1X.");a=1a.1cH.2a["1gL"+a];if(!g(a))1t 1g r("2i 2Q 141 a 2eu 2i in 1Z 2q\'s 1jn 17m is 8IY and 2S 6ct 9H.");a.1Q=a.1y(b,a.1Q)};ZB.1i.3K=1b(a){if(!g(a))1t 1g r("2i is 1X.");a=1a.1cH.2a["1gL"+a];if(g(a))1f a.1Q};1L.2X(EQ.1i,{2i:{1n:1b(){1f 1a.6X}},id:{1n:1b(){1f 1a.7R}},1nH:{1n:1b(){1f 1a.3xw}}});1L.2X(OH.1i,{2i:{1n:1b(){1f 1a.6X}},id:{1n:1b(){1f 1a.7R}},2p:{1n:1b(){1f 1a.10T},1C:1b(a){1a.10T!==a&&(1a.10T=a,1a.13O.46u=!0)}},8W:{1n:1b(){1f 1a.3xu},1C:1b(a){1a.3xu=A.1y(a,1a.3xu);1a.4QM=!0;a=1a.13O;a.46x=!0;1a.6cs.2DL=a.3xv}},8IX:{1n:1b(){1f 1a.6cr}}});OH.1i.6cq=1b(a){A.1y(a,1a.3xu)};lv.1i.5P=1b(a){a.5P(1a)};1L.2X(Cl.1i,{2I:{1n:1b(){1f 1a.10z}},7y:{1n:1b(){1f 1a.10q}},3xs:{1n:1b(){1f 1a.3xr}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}}});Cl.1op=1b(a){1f a.2K1&&a.20p||a.2BF&&a.2K2};1j(1d 6cm=1g k(1,0,0),6co=1g k(0,0,1),6cp=1g k(-1,0,0),6cl=1g k(0,0,-1),qM=1g k(0,1,0),6cn=1g k(0,-1,0),4QK=[qM,6cp,6co,6cn,6cm,qM,6cl,qM,qM],4QL=4QK.1h,m5=1g 4A(3*4QL),4QJ=0,YW=0;YW<4QL;++YW,4QJ+=3)k.5n(4QK[YW],m5,4QJ);1d 6ck=1g 4A([-1,1,-1,0,0,1,0,0,1,0,1,1,0,-1,-1,-1,1,-1]),6cj=1g 10Y([0,1,2,2,3,1,7,6,1,3,6,1,2,5,4,3,4,2,4,8,6,3,4,6]);Cl.1i.2H=1b(a){1d b=a.1O;if(Cl.1op(b)&&(g(1a.10q)&&g(1a.16z)&&FQ(1a),!g(1a.10q))){if(!g(1a.10q)&&!1a.1R4){1d c=b.3Py.3sI(1a.10z);if(g(c)){FQ(1a);1a.10q=c;1a.3xr=1a.10q.3xs;1a.4y=!0;1a.7S.5h();1f}}c=1a.3xt;if(!g(c)&&!1a.1R4){1d d=1a;Iu(1a.10z).4b(1b(a){d.3xt=a;d.1R4=!1}).10g(1a.7S.7N);1a.1R4=!0}if(g(1a.3xt)){1a.16z=6ci(b);1a.11V=Ga.4t({1O:b,5O:"3Q 1m 1K;\\2J 1w 3gi;\\1J 1w 2Wc;\\2s 2k()\\n{\\11u = 1K;\\5dw = 3gi;\\n}\\n",5A:"3G 1w 2Wc;\\1B 1HF 3gj;\\2s 2k()\\n{\\1P 2Wd = 24F(3gj, 2Wc);\\1r m = 2Wd.a * 16.0;\\1R r = 2Wd.2y * m;\\3R = 1m(r * r, 1.0);\\n}\\n",7W:{1K:0,3gi:1}});1d e=1k.2o(c.1h,6);1a.3xr=e-1;1j(1d f=1a.46M=2K(e),h=1a.46L=2K(e),l=2*c[0].1sp.1G,k={2Gn:1b(){1f l}},n=b.20p?Ha.1kq:Ha.3O,m=ua.9m,w=0;w<e;++w){1d x=c[w].1yN;c[w].1yN=c[w].1yM;c[w].1yM=x;x=f[w]=1g vl({1O:b,5j:c[w]});1d q=2*f[w].1G;q=h[w]=1g Ca({1O:b,1G:q,1D:q,10E:n,8b:m});x=1g lv({4c:1a.16z,2z:1a.11V,4J:{3gj:n5(x)},1v8:q,2xI:!0,7H:1a});a.13l.1q(x);k["7y"+w]=n5(q)}1a.10q=1g Ca({1O:b,1G:1.5*l+2,1D:l,10E:n,8b:m});1a.10q.3xs=1a.3xr;b.3Py.5Vh(1a.10z,1a.10q);b=1g lv({5A:"3G 1v 2F;\\1B 1o 2Gn;\\1B 2v 2Wg;\\1B 2v 2Wf;\\1B 2v 2We;\\1B 2v 3GX;\\1B 2v 3GW;\\1B 2v 3GV;\\4i 1o 3H1 = 1.0 - (1.0 / 3r(2.0, 1.0));\\4i 1o 3H0 = 1.0 - (1.0 / 3r(2.0, 2.0));\\4i 1o 3GZ = 1.0 - (1.0 / 3r(2.0, 3.0));\\4i 1o 3GY = 1.0 - (1.0 / 3r(2.0, 4.0));\\2s 2k()\\n{\\2u uv = 2F;\\2u 1en = 1v(2Gn * 1.5 + 2.0, 2Gn);\\2u 17W = 1.0 / 1en;\\1r 1dU = 0.0;\\1U (uv.x - 17W.x > (1en.y / 1en.x))\\n{\\1O6 = 1.0;\\1U (uv.y - 17W.y > 3H1)\\n{\\1O6 = 2.0;\\1U (uv.y - 17W.y * 3.0 > 3H0)\\n{\\1O6 = 3.0;\\1U (uv.y - 17W.y * 5.0 > 3GZ)\\n{\\1O6 = 4.0;\\1U (uv.y - 17W.y * 7.0 > 3GY)\\n{\\1O6 = 5.0;\\n}\\n}\\n}\\n}\\n}\\1U (1dU > 0.0)\\n{\\1r 3b = 3r(2.0, 1dU);\\1rF.y -= (17W.y * (1dU - 1.0) * 2.0);\\1rF.x *= ((1en.x - 2.0) / 1en.y);\\1rF.x -= 1.0 + 17W.x;\\1rF.y -= (1.0 - (1.0 / 3r(2.0, 1dU - 1.0)));\\1rF *= 3b;\\n}\\5L\\n{\\1rF.x *= (1en.x / 1en.y);\\n}\\1U(1dU == 0.0)\\n{\\3R = 1Y(2Wg, uv);\\n}\\5L if(1dU == 1.0)\\n{\\3R = 1Y(2Wf, uv);\\n}\\5L if(1dU == 2.0)\\n{\\3R = 1Y(2We, uv);\\n}\\5L if(1dU == 3.0)\\n{\\3R = 1Y(3GX, uv);\\n}\\5L if(1dU == 4.0)\\n{\\3R = 1Y(3GW, uv);\\n}\\5L if(1dU == 5.0)\\n{\\3R = 1Y(3GV, uv);\\n}\\5L\\n{\\3R = 1m(0.0);\\n}\\n}\\n",4J:k,1v8:1a.10q,2xI:!1,7H:1a});a.13l.1q(b);1a.4y=!0;1a.7S.5h()}}};Cl.1i.3Z=1b(){1f!1};Cl.1i.1M=1b(){FQ(1a);1a.10q=1a.10q&&1a.10q.1M();1f la(1a)};1d 6cg=1g k,jo=Xa.46K;1L.2X(aC.1i,{12b:{1C:1b(a){1a.2PW=a},1n:1b(){1f 1a.2PW}}});aC.1i.4QF=1b(a){1a.12b=a;a=1a.3xq;1j(1d b=a.1h,c=0;c<b;++c){1d d=a[c];d.3Z()||(d.2qJ=1a)}1a.3xq=1p 0;1a.3o=!0};1d as={},4QG={};1L.2X(fg.1i,{12b:{1n:1b(){1f g(1a.2qJ)?1a.2qJ.12b:1p 0}},46z:{1n:1b(){1f 1a.6ch}},1jc:{1n:1b(){1f 1a.1Gr}},1Nz:{1n:1b(){1f 1a.12o.2I}},7u:{1n:1b(){if(1a.19i!==jo.1e5)1t 1g r("9B 12W is 2S 1aw.  1c7 25N.9c or 11i 1j 25N.3o to be 8O.");1d a=1a.4a;1a.6N!==bb.6i&&1a.1VY&&(a=1a.1VY);a=A.1sj(a,6cg);1d b=g(1a.1BH)?1k.2o(1a.1BH,1a.3b):1a.3b;k.4g(a,b,a);b=1a.46J;b.2V=k.1oz(1a.5V.2V,a,b.2V);b.3L=k.1xj(a)*1a.2w7;g(1a.1q2)&&k.add(1a.1q2,b.2V,b.2V);1f b}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},17X:{1n:1b(){1f 1a.2hN}},1sV:{1n:1b(){1f 1a.2PO}},1Kg:{1n:1b(){1f 1a.2Pb}},2DK:{1n:1b(){1f g(1a.1ba)?1a.1ba.2DK:0}},6s:{1n:1b(){1f 1a.1g6}},4S:{1n:1b(){1f 1a.17y},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 2Q be 9U 6L 3I");1a.17y=ob.1y(a,1a.17y)}},1r9:{1n:1b(){g(1a.23w)||(1a.23w=Xa.46D(1a.12b));1f 1a.23w}},1Hg:{1n:1b(){g(1a.2DJ)||(1a.2DJ=Xa.4QI(1a.12b));1f 1a.2DJ}},1wf:{1n:1b(){1f 1a.23F}},2DF:{1n:1b(){1f g(1a.3b6)?1a.3b6:1a.4QH}},1qQ:{1n:1b(){1f 1a.1Wb}},1iC:{1n:1b(){1f 1a.1qV}},1tR:{1n:1b(){1f 1a.35L}},8IW:{1n:1b(){1f 1a.46I}},8IV:{1n:1b(){1f 1a.46H}},1cj:{1n:1b(){1f 1a.1cX},1C:1b(a){a!==1a.1cX&&Cf.3m2(a,1a,"1cX")}},32V:{1n:1b(){1f 1a.1zT}},1fH:{1n:1b(){1f 1a.1sQ},1C:1b(a){v.1N.2c("1fH",a);v.1N.2b.9Y("1fH.x",a.x,0);v.1N.2b.19D("1fH.x",a.x,1);v.1N.2b.9Y("1fH.y",a.y,0);v.1N.2b.19D("1fH.y",a.y,1);1d b=1a.1sQ;a===b||C.2L(a,b)||(1a.1Hd=(1a.1Hd=1a.1Hd||0<1a.1sQ.x&&0===a.x||0===1a.1sQ.x&&0<a.x)||0<1a.1sQ.y&&0===a.y||0===1a.1sQ.y&&0<a.y,C.1y(a,1a.1sQ))}},18V:{1n:1b(){1f 1a.1r0},1C:1b(a){1d b=1a.1r0;a===b||k.2L(a,b)||(1a.1Hd=1a.1Hd||g(b)&&!g(a)||g(a)&&!g(b),1a.1r0=k.1y(a,b))}},1rJ:{1n:1b(){1f 1a.3b5},1C:1b(a){1d b=1a.3b5;a!==b&&(1a.1Hd=1a.1Hd||g(b)&&!g(a)||g(a)&&!g(b),1a.3b5=a)}},1mr:{1n:1b(){1f 1a.1K4},1C:1b(a){if(g(a)&&(!8n(a)||9!==a.1h))1t 1g r("1mr 2Q be an 4x of 9 4j6 2a.");a!==1a.1K4&&(1a.1K4=a,1a.1Hd=!0)}},1mq:{1n:1b(){1f 1a.22B},1C:1b(a){1a.46y=a!==1a.22B;1a.22B=a}}});fg.8IU=1b(a){1f a.1O.2h3};fg.41z=1b(a){if(!g(a)||!g(a.2I))1t 1g r("3v.2I is 1X");1d b=a.2I;a=wc(a);b=na.14m(b);1d c=m(a.1Nz,b.1y()),d=na.14m(c);c=m(a.1jc,4QG[qu(b.2I)]);g(c)||(c=Ld(),4QG[qu(b.2I)]=c);g(a.1Nz)&&!g(a.1jc)&&(c+=d.2I);a.1jc=c;a.1Nz=d;a=1g fg(a);1d e=as[c];g(e)?e.3o||(++e.7Z,e.3xq.1q(a)):(e=1g aC({3o:!1}),e.7Z=1,e.3xq.1q(a),a.2qJ=e,as[c]=e,g(b.1iB.2qI)||(b.1iB.2qI="12W/12b-2gf,12W/12b+15l;q=0.8,1aM/15l;q=0.2,*/*;q=0.11t"),b.1kw().4b(1b(a){a=1g 4L(a);"23I"===AB(a)?(a=zH(a),e.4QF(a)):(a=Me(a),e.4QF(4H.5N(a)))}).10g(Xa.2PT(a,"12W",b.2I)));1f a};fg.8IT=as;fg.1i.65T=1b(a){a=HQ(1a,"4QE",a);1f g(a)?a.2PV:1p 0};fg.1i.8IS=1b(a){1f HQ(1a,"46G",a)};fg.1i.35i=1b(a){1f HQ(1a,"4QD",a)};1d 6cf=/(^2g:4d\\/32t)|(\\.32t$)/i,6ce=/(^2g:4d\\/32s)|(\\.32s$)/i,ZW=1b(){1a.1O=1a.12W=1a.id=1p 0};ZW.1i.1C=1b(a,b,c){1a.id=a;1a.12W=b;1a.1O=c};ZW.1i.5P=1b(){q5(1a.id,1a.12W,1a.1O)};1d $W=1b(){1a.1O=1a.12W=1a.1fe=1a.id=1p 0};$W.1i.1C=1b(a,b,c,d){1a.id=a;1a.1fe=b;1a.12W=c;1a.1O=d};$W.1i.5P=1b(){r5(1a.id,1a.1fe,1a.12W,1a.1O)};1d z5=1g ZW,A5=1g $W,aX=1b(){1a.18Y=1a.1O=1a.12W=1a.4QC=1p 0};aX.1i.1C=1b(a,b,c,d){1a.4QC=a;1a.12W=b;1a.1O=c;1a.18Y=d};aX.1i.5P=1b(){u5(1a.4QC,1a.12W,1a.1O,1a.18Y)};1d B5=1g aX,bX=1b(){1a.1O=1a.12W=1a.4QB=1p 0};bX.1i.1C=1b(a,b,c){1a.4QB=a;1a.12W=b;1a.1O=c};bX.1i.5P=1b(){w5(1a.4QB,1a.12W,1a.1O)};1d C5=1g bX,6cd={4QA:1b(a,b,c){1f 1b(){1f c.23G}},6cc:1b(a,b,c){1f 1b(){1f a.11A}},23H:1b(a,b,c){1f 1b(){1f a.18T}},1Ro:1b(a,b,c){1d d=1g A;1f 1b(){1f A.1oJ(a.11A,c.23G,d)}},29O:1b(a,b,c){1d d=1g A;1f 1b(){A.1oJ(a.11A,c.23G,d);1f A.1Bh(d,b.3xp,d)}},2qH:1b(a,b,c){1d d=1g A;1f 1b(){A.1oJ(a.11A,c.23G,d);1f A.9b(a.16y,d,d)}},4Qz:1b(a,b,c){1d d=1g A;1f 1b(){1f A.12Z(c.23G,d)}},6cb:1b(a,b){1f 1b(){1f a.37P}},6ca:1b(a,b,c){1f 1b(){1f a.3tK}},46F:1b(a,b,c){1d d=1g A,e=1g A;1f 1b(){A.1oJ(a.11A,c.23G,d);1f A.12Z(d,e)}},4Qy:1b(a,b,c){1d d=1g A,e=1g A;1f 1b(){A.1oJ(a.11A,c.23G,d);A.9b(a.16y,d,d);1f A.12Z(d,e)}},4Qx:1b(a,b,c){1d d=1g A,e=1g J;1f 1b(){A.12Z(c.23G,d);A.1nf(d,e);1f J.1z0(e,e)}},2PU:1b(a,b,c){1d d=1g A,e=1g A,f=1g J;1f 1b(){A.1oJ(a.11A,c.23G,d);A.12Z(d,e);A.1nf(e,f);1f J.1z0(f,f)}},4Qw:1b(a,b,c){1f 1b(){1f a.40H}}},6c9=1g A,E5=[],6c8=1g E,KQ=1g A,LQ=1g A,6c7=0,NQ=1g P,fh=1g k,cC=1g T;OQ.1i.2Ot=1b(){if(0===--1a.7Z)1f g(1a.1jc)&&4Y 1a.1O.1au.46E[1a.1jc],bs(1a.1ds),bs(1a.29L),bs(1a.1jY),bs(1a.1Rn),bs(1a.1fb),la(1a)};1d 6c6=1g k,6c5=1g T;fg.1i.2H=1b(a){if(-1<a.1g4&&g(1a.id)){1d b=1a.id.1mu;if(g(b)&&(b=b.7H,g(b)&&"7w"!==2h b.1ks&&!b.1ks(a.1g4)))1f}if(a.3z!==O.1at){1d c=Nc.6c4();if(g(c)){b=a.1O;1a.1u0=b.1np;if(1a.19i===jo.2DD&&g(1a.12b)){1d d=1a.1jc;if(g(d)){b.1au.46E=m(b.1au.46E,{});1d e=b.1au.46E;1d f=e[1a.1jc];if(g(f)){if(!f.3o)1f;++f.7Z;1a.2DH=!0}1s f=1g OQ(b,d),f.7Z=1,e[1a.1jc]=f}1s f=1g OQ(b),f.7Z=1;1a.29K=f;1a.19i=jo.1gu;1a.19i!==jo.12D&&(f=1a.12b.10x,g(f)&&g(f.2DI)&&(f=k.7j(f.2DI.2V),k.2L(f,k.6h)||(1a.2ib=f,f=a.11s,d=f.3c.10Z(1a.2ib),f=f.12z(d),k.9v(f.z,f.x,f.y,f),1a.3b4=f,1a.3xp=1g k,1a.1q2=1a.2ib)),yH(1a.12b),1a.1ba=1g Nm,1a.2DH||Xa.4Qv(1a,6c3))}d=1a.1ba;e=1a.2Pb;f=!1;if(1a.19i===jo.1gu){if(0===d.1Wg){if(!d.1Vv){a.40m.2H(a);Xa.4Qu(1a.1Hg,c);Xa.6c2(1a);if(!1a.2DH){1d h=1a.12b;h.19q.46C=Xa.4Qt(h);h.19q.4Qs=g(Xa.46D(h).1gk);1a.3xn=h.19q.46C;1a.3xm=h.19q.4Qs;pQ(h);mQ(h);1d l={3xo:1a.6c1};uQ(h,l);vQ(h,l)}1a.3xn=1a.12b.19q.46C;1a.3xm=1a.12b.19q.4Qs;1a.29N=1a.29N&&md.2T4(1a);6c0(1a);6bZ(1a);1a.2DH||(6bY(1a),6bX(1a),6bW(1a),6bV(1a,b,c));6bU(1a);6bT(1a);6bS(1a);md.5N(1a,b);d.1Vv=!0}d.3xl()||md.6bR(1a,b).10g(Xa.2PT(1a,"12W",1a.1Nz));d.3xl()&&!d.46B&&(1a.5V=Xa.4Qr(1a),1a.2w7=1a.5V.3L,md.6bQ(1a),d.46B=!0);d.46B&&0===d.2PS&&y5(1a,a)}if(d.3b3()||e&&d.46A())1a.19i=jo.1e5,f=!0}g(d)&&1a.19i===jo.1e5&&(e&&!f&&y5(1a,a),d.3b3()&&(1a.6bP||o5(1a.12b),1a.1ba=1p 0,c=1a.1r8,d=1a.29K,d.1ds=c.1ds,d.29L=c.29L,d.1jY=c.1jY,d.29M=c.29M,d.1Rn=c.1Rn,d.1fb=c.1fb,d.1Hf=c.1Hf,d.2DG=c.2DG,d.3o=!0,1a.3xk=Xa.1He(1a.12b,"1zp"),g(1a.2PQ)&&(d.29L={}),1a.46z&&J5(1a)));c=Cl.1op(b);if(1a.46y&&c){1a.46y=!1;1a.1gQ=1a.1gQ&&1a.1gQ.1M();1a.1gQ=1p 0;if(g(1a.22B)){1a.1gQ=1g Cl(1a.22B);1d p=1a;1a.1gQ.9c.4b(1b(){p.1Hd=!0})}1a.1Hd=!0}g(1a.1gQ)&&1a.1gQ.2H(a);c=!g(1a.1gQ)&&g(a.1mq)&&!1a.2qF;d=!g(a.1mq)&&1a.2qF;e=!g(1a.1K4)&&g(a.1mr)&&!1a.2qG;h=!g(a.1mr)&&1a.2qG;1a.1Hd=1a.1Hd||c||d||e||h;1a.2qF=!g(1a.1gQ)&&g(a.1mq);1a.2qG=!g(1a.1K4)&&g(a.1mr);c=a.1O.2h3&&0<1a.1Nw&&0<1a.1rE.2O&&g(1a.3xk);d=MQ(1a);e=0===1a.1A.2O;h=g(1a.4S)?6bO(1a,a):!0;if((e=1a.2p&&h&&0!==1a.3b&&(!e||c))&&1a.19i===jo.1e5||f){l=1a.39V.2H(a)||1a.46x;1a.1g6=1a.46x=!1;h=1a.4a;1d n=a.3z!==1a.8C;1a.8C=a.3z;if((n=!A.2L(1a.12t,h)||1a.13V!==1a.3b||1a.3vG!==1a.1BI||0!==1a.1BI||1a.3vF!==1a.1BH||1a.1c1!==1a.6N||1a.3xj||n)||f){A.1y(h,1a.12t);6bN(1a);g(1a.1VY)&&(h=1a.1VY);1a.13V=1a.3b;1a.3vG=1a.1BI;1a.3vF=1a.1BH;1a.1c1=1a.6N;1a.3xj=!1;1d z=6bM(1a,a),w=1a.27T;A.2HS(h,z,w);1a.23F===Pe.Y?A.1oJ(w,Pe.46w,w):1a.23F===Pe.X&&A.1oJ(w,Pe.46v,w);1a.2DF===Pe.Z&&A.1oJ(w,Pe.4Qq,w)}if(l||n||f)6bL(1a,n,f,a.11s),1a.1g6=!0,(l||f)&&6bK(1a);1a.46u&&(1a.46u=!1,6bJ(1a));6bI(1a);6bH(1a);6bG(1a);6bF(1a);6bE(1a,a);n=1a.1cX;l=0;z=g(n)&&n.3e&&0<n.1h;w=g(1a.1K4)||1a.2qG;1d x=g(1a.1gQ)&&1a.1gQ.3o||1a.2qF;if(z||w||x)h=m(1a.1W6,h),A.9b(b.13m.37O,h,1a.4Qp);z&&(l=n.3m0);a.1hp.4um()&&(1a.1Hd=!0);b=(b=1a.1Hd)||1a.26T!==l;1a.26T=l;h=GQ(1a);h!==1a.4Qo&&(1a.4Qo=h,b=!0);b?6bD(1a,a):(G5(1a,a,!1),I5(1a,a,!1))}if(f){1d q=1a;a.1sn.1q(1b(){q.4y=!0;q.7S.5h(q)})}1s if(e&&!1a.3b2&&(b=a.13l,f=a.10s,e=1a.1Wf,h=e.1h,z=a.11s.3c.17i*B.PI,f.3t||f.11P&&1a.1sV)){1j(l=0;l<h;++l)n=e[l],n.2p&&(w=d?n.1kv:n.14Z,w=c?n.46t:w,b.1q(w),w=n.14Z.6W,a.3z===O.10j&&(w.2V.y+w.3L>z||w.2V.y-w.3L<z)&&(w=d?n.4Qn:n.2PR,w=c?n.4Qm:w,b.1q(w)));if(c&&!f.11P)1j(l=0;l<h;++l)n=e[l],n.2p&&(b.1q(n.4Ql),w=n.14Z.6W,a.3z===O.10j&&(w.2V.y+w.3L>z||w.2V.y-w.3L<z)&&b.1q(n.4Qk))}}}};fg.1i.3Z=1b(){1f!1};fg.1i.1M=1b(){g(1a.2PQ)&&bs(1a.1r8.29L);g(1a.2DE)&&(1a.2DE(),1a.2DE=1p 0);g(1a.46s)&&(1a.46s(),1a.46s=1p 0);g(1a.29K)&&L5(1a.1r8,1a.29K);1a.1r8=1p 0;1a.29K=1a.29K&&1a.29K.2Ot();md.6bC(1a);1j(1d a=1a.1zT,b=a.1h,c=0;c<b;++c)a[c].1M();J5(1a);1a.3xi=1p 0;a=1a.1cX;g(a)&&!a.3Z()&&a.7H===1a&&a.1M();1a.1cX=1p 0;1a.1gQ=1a.1gQ&&1a.1gQ.1M();1f la(1a)};fg.6bB=MH;fg.6bA=1b(a){a=ja.1gF(a,"6bz");1f a+"2n 1m 3xh; \\1B 1o 46r; \\2s 2k() \\n{ \\n    6bz(); \\n    2C.2y = 3T(2C.2y, 3xh.2y, 46r); \\n    1o 2lI = 8a(46r); \\n    2C.2y *= 3T(3xh.2y, 1w(1.0), 2lI); \\n    2C.a *= 3xh.a; \\n} \\n"};Ki.1W9=ek;1L.2X(Ki.1i,{17z:{1n:1b(){1f 1a.6y.17z}},1Eb:{1n:1b(){1f 0}},1qQ:{1n:1b(){1f 1a.13O.1qQ}},1iC:{1n:1b(){1f 1a.13O.1iC}},1tR:{1n:1b(){1f 1a.13O.1tR}},1Bq:{1n:1b(){1f 1a.6y.3aM}},289:{1n:1b(){}},9c:{1n:1b(){1f 1a.13O.9c}},15c:{1n:1b(){1f 1a.9F}},11H:{1n:1b(){1f 1a.1cC}},2I:{1n:1b(){1f 1a.12o.1oO(!0)}},1ac:{1n:1b(){1f 1a.6y}}});1d Rp=12X.12T;Ki.1i.1qP=1b(a,b){1f 1a.6y.1qP(a,b)};Ki.1i.287=1b(a){1d b=1a.17z;if(!g(a)||0>a||a>=b)1t 1g r("4R is 1X and 1pS 16m and 17z - 1 ("+(b-1)+").");b=1a.17z;if(!g(1a.1dQ)&&0<b){1j(1d c=2K(b),d=0;d<b;++d)c[d]=1g Jh(1a,d);1a.1dQ=c}1f 1a.1dQ[a]};Ki.1i.1vt=1b(a,b){b=a?b:y.9r;0===1a.17z?1a.13O.1A=b:1a.6y.46n(b)};Ki.1i.1nx=1b(a){if(0===1a.17z){1d b=g(a)&&g(a.1A),c=g(a)&&g(a.2p);1a.13O.1A=b?a.1A.1FL(1p 0,1a.13O.1A):y.1y(y.9r,1a.13O.1A);1a.13O.2p=c?a.2p.3x(1p 0):!0}1s 1a.6y.1nx(a)};Ki.1i.2H=1b(a,b){1d c=b.13l.1h;1a.6y.2H(a,b);1a.2PP=A.9b(1a.1cC.1Hb,1a.3xg,1a.2PP);1a.13O.4a=1a.2PP;1a.13O.6x=1a.9F.6x;1a.13O.1fH=1a.9F.1fH;1a.13O.18V=1a.9F.18V;1a.13O.1rJ=1a.9F.1rJ;1a.13O.1mr=1a.9F.1mr;1a.13O.1mq=1a.9F.1mq;1a.13O.1gj=1a.9F.1gj;1d d=1a.9F.1cj;1a.13O.1W6=1a.9F.1W6;g(d)&&1a.1cC.1TT&&(1a.13O.1cX=d.3e&&1a.1cC.2Pv?d:1p 0);g(d)&&g(1a.13O.1cX)&&1a.13O.1cX!==d&&(1a.13O.1cX=d);1a.13O.2H(b);c<b.13l.1h&&(b.10s.3t||b.10s.11P)&&!g(a.12p)&&1a.6y.4Qi(b,c)};Ki.1i.3Z=1b(){1f!1};Ki.1i.1M=1b(){1a.13O=1a.13O&&1a.13O.1M();1a.6y=1a.6y&&1a.6y.1M();1f la(1a)};1L.2X(lo.1i,{1K0:{1n:1b(){1j(1d a=1a.2qE,b=a.1h,c=0;c<b;++c)if(a[c].1K0)1f!0;1f!1},1C:1b(a){1j(1d b=1a.2qE,c=b.1h,d=0;d<c;++d)b[d].1K0=a}},17z:{1n:1b(){1f 0}},1Eb:{1n:1b(){1f 0}},1qQ:{1n:1b(){1f 0}},1iC:{1n:1b(){1f 0}},1tR:{1n:1b(){1f 0}},1Bq:{1n:1b(){1f 0}},289:{1n:1b(){1f 1a.2qE}},9c:{1n:1b(){1f 1a.7S.10l}},15c:{1n:1b(){1f 1a.9F}},11H:{1n:1b(){1f 1a.1cC}},2I:{1n:1b(){1f 1a.12o.1oO(!0)}},1ac:{1n:1b(){}}});1d dC=12X.12T;lo.1i.1qP=1b(a,b){1f!1};lo.1i.287=1b(a){};lo.1i.1vt=1b(a,b){1j(1d c=1a.2qE,d=c.1h,e=0;e<d;++e)c[e].1vt(a,b)};lo.1i.1nx=1b(a){1j(1d b=1a.2qE,c=b.1h,d=0;d<c;++d)b[d].1nx(a)};lo.1i.2H=1b(a,b){1j(1d c=1a.2qE,d=c.1h,e=0;e<d;++e)c[e].2H(a,b)};lo.1i.3Z=1b(){1f!1};lo.1i.1M=1b(){1j(1d a=1a.2qE,b=a.1h,c=0;c<b;++c)a[c].1M();1f la(1a)};1L.2X(gh.1i,{1qQ:{1n:1b(){1f g(1a.7h)?1a.7h.1qQ:0}},1iC:{1n:1b(){1f g(1a.7h)?1a.7h.1iC:0}},9c:{1n:1b(){1f 1a.7S.10l}}});gh.6by=A.4q+k.4q;gh.6bx=A.4q+2;gh.6bw=A.4q+k.4q;gh.6bv=k.4q+1;1d 6bu=1g Vc("8IR"),6bt=1g y;gh.1i.29G=1b(a,b){1a.7h.29G(a,b)};gh.1i.1vt=1b(a,b){1a.7h.1vt(a,b)};gh.1i.1nx=1b(a,b){1a.7h.1nx(a,b)};gh.1i.2i6=1b(a,b){1a.7h.2i6(a,b)};gh.1i.2H=1b(a){6bs(1a);1a.4y&&(1a.7h.1gj=1a.1gj,1a.7h.2Dw=1a.2Dw,1a.7h.12p=1a.12p,1a.7h.2H(a))};gh.1i.3Z=1b(){1f!1};gh.1i.1M=1b(){1a.7h=1a.7h&&1a.7h.1M();1f la(1a)};1L.2X(mo.1i,{17z:{1n:1b(){1f g(1a.6y)?1a.6y.17z:0}},1Eb:{1n:1b(){1f 0}},1qQ:{1n:1b(){1f g(1a.1jX)?1a.1jX.1qQ:0}},1iC:{1n:1b(){1f g(1a.1jX)?1a.1jX.1iC:0}},1tR:{1n:1b(){1f 0}},1Bq:{1n:1b(){1f g(1a.6y)?1a.6y.3aM:0}},289:{1n:1b(){}},9c:{1n:1b(){1f 1a.7S.10l}},15c:{1n:1b(){1f 1a.9F}},11H:{1n:1b(){1f 1a.1cC}},2I:{1n:1b(){1f 1a.12o.1oO(!0)}},1ac:{1n:1b(){1f 1a.6y}}});1d mv=12X.12T;mo.1i.1qP=1b(a,b){1f 1a.6y.1qP(a,b)};mo.1i.287=1b(a){1d b=1a.17z;if(!g(a)||0>a||a>=b)1t 1g r("4R is 1X and 1pS 16m and 17z - 1 ("+(b-1)+").");O5(1a);1f 1a.1dQ[a]};mo.1i.1vt=1b(a,b){g(1a.1jX)&&1a.1jX.1vt(a,b)};mo.1i.1nx=1b(a){O5(1a);g(1a.1jX)&&1a.1jX.1nx(a,1a.1dQ)};mo.1i.2H=1b(a,b){g(1a.1jX)&&(1a.1jX.12p=1a.9F.12p,1a.1jX.1gj=1a.9F.1gj,1a.1jX.2H(b));g(1a.6y)&&1a.1jX.4y&&1a.6y.2H(a,b);if(!g(1a.1W8)){1d c=1a;1a.1W8=1a.1jX.9c.4b(1b(){c.7S.5h(c)})}};mo.1i.3Z=1b(){1f!1};mo.1i.1M=1b(){1a.1jX=1a.1jX&&1a.1jX.1M();1a.6y=1a.6y&&1a.6y.1M();1f la(1a)};1L.2X(PQ.1i,{2H3:{1n:1b(){1f 1a.46q}},12W:{1n:1b(){1f 1a.9k.13O}},4a:{1n:1b(){1f A.1y(1a.12t)},1C:1b(a){A.1y(a,1a.12t);1a.9k.6br(1a.12t);1a.9k.1g6=!0}}});1d ov={2DD:0,1gu:1,1e5:2,12D:3};1L.2X(nv.1i,{1sV:{1n:1b(){1f 1a.2PO}},1h:{1n:1b(){1f 1a.1Eo.1h}},39V:{1n:1b(){1f 1a.13O.39V}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},1fH:{1n:1b(){1f 1a.1sQ},1C:1b(a){v.1N.2c("1fH",a);v.1N.2b.9Y("1fH.x",a.x,0);v.1N.2b.19D("1fH.x",a.x,1);v.1N.2b.9Y("1fH.y",a.y,0);v.1N.2b.19D("1fH.y",a.y,1);C.1y(a,1a.1sQ)}}});1d 6bq=1g k,QQ=1g A;nv.1i.6br=1b(a){a=A.1Um(a,6bq);P.1We(1a.5V,a,1a.5V)};nv.1i.2H=1b(a){if(a.3z!==O.1at&&1a.2p&&0!==1a.1h){1d b=a.1O;if(1a.19i===ov.2DD){1a.19i=ov.1gu;1a.46p=b.2Kf;6bp(1a,b);1d c=1a;1a.13O.9c.10g(1b(a){c.19i=ov.12D;c.7S.7N(a)})}b=1a.46p;1d d=1a.13O;d.1fH=1a.1fH;d.18V=1a.18V;d.1rJ=1a.1rJ;d.1mr=1a.1mr;d.1mq=1a.1mq;d.2H(a);if(d.3o&&1a.19i===ov.1gu)1a.19i=ov.1e5,1a.4y=!0,a=d.7u.3L+k.7t(d.7u.2V),1a.5V.3L+=a,1a.4Qj=S5(d),T5(1a,b),1a.7S.5h(1a);1s if(1a.19i===ov.1e5){1d e=a.3z!==1a.8C,f=1a.4a,h=!A.2L(1a.12t,f);if(e||h)1a.8C=a.3z,A.1y(f,1a.12t),f=A.3pj(1a.12t,1a.19J,1a.46o),1a.8C!==O.6G&&(f=Da.3b0(a.11s,f,f)),A.1Um(f,1a.5V.2V);b&&1a.1g6&&(1a.1EA=!0,1a.1g6=!1,6bo(1a));6bn(d)&&T5(1a,b);!b&&(d.6s||1a.1g6||e||h)&&R5(1a);6bm(1a);6bl(1a);6bk(1a);b=a.10s;if(b.3t||b.11P)1j(a=a.13l,b=1a.1Q9,d=b.1h,e=0;e<d;++e)a.1q(b[e])}}};nv.1i.3Z=1b(){1f!1};nv.1i.1M=1b(){1a.13O=1a.13O&&1a.13O.1M();1d a=1a.1zT;if(g(a))1j(1d b=a.1h,c=0;c<b;++c)a[c].1M();1f la(1a)};Dl.1W9=ek;1L.2X(Dl.1i,{17z:{1n:1b(){1f 1a.6y.17z}},1Eb:{1n:1b(){1f 0}},1qQ:{1n:1b(){1d a=1a.1EF.13O;1f g(a)?a.1qQ:0}},1iC:{1n:1b(){1d a=1a.1EF.13O;1f g(a)?a.1iC:0}},1tR:{1n:1b(){1d a=1a.1EF.13O;1f g(a)?a.1tR:0}},1Bq:{1n:1b(){1f 1a.6y.3aM}},289:{1n:1b(){}},9c:{1n:1b(){1f 1a.1EF.9c}},15c:{1n:1b(){1f 1a.9F}},11H:{1n:1b(){1f 1a.1cC}},2I:{1n:1b(){1f 1a.12o.1oO(!0)}},1ac:{1n:1b(){1f 1a.6y}}});1d cs=12X.12T,fC=2K(4),U5=2K(4);Dl.1i.1qP=1b(a,b){1f 1a.6y.1qP(a,b)};Dl.1i.287=1b(a){1d b=1a.17z;if(!g(a)||0>a||a>=b)1t 1g r("4R is 1X and 1pS 16m and 17z - 1 ("+(b-1)+").");b=1a.17z;if(!g(1a.1dQ)&&0<b){1j(1d c=2K(b),d=0;d<b;++d)c[d]=1g Jh(1a,d);1a.1dQ=c}1f 1a.1dQ[a]};Dl.1i.1vt=1b(a,b){b=a?b:y.9r;1a.6y.46n(b)};Dl.1i.1nx=1b(a){1a.6y.1nx(a)};Dl.1i.2H=1b(a,b){1d c=b.13l.1h;1a.6y.2H(a,b);1a.1EF.4a=1a.1cC.1Hb;1a.1EF.6x=1a.9F.6x;1a.1EF.18V=1a.9F.18V;1a.1EF.1rJ=1a.9F.1rJ;1a.1EF.1mr=1a.9F.1mr;1a.1EF.1mq=1a.9F.1mq;1a.1EF.1gj=1a.9F.1gj;a=1a.1EF.13O;if(g(a)){1d d=1a.9F.1cj;a.1W6=1a.9F.1W6;g(d)&&1a.1cC.1TT&&(a.1cX=d.3e&&1a.1cC.2Pv?d:1p 0);g(d)&&g(a.1cX)&&a.1cX!==d&&(a.1cX=d)}1a.1EF.2H(b);c<b.13l.1h&&(b.10s.3t||b.10s.11P)&&1a.6y.4Qi(b,c,!1)};Dl.1i.3Z=1b(){1f!1};Dl.1i.1M=1b(){1a.1EF=1a.1EF&&1a.1EF.1M();1a.6y=1a.6y&&1a.6y.1M();1f la(1a)};1d hh=1L.3F({1m8:0,1f1:1}),qv={4Qh:0,6bj:1,1cY:2,12D:3};1L.2X(pv.1i,{1Eb:{1n:1b(){1f 1a.46m}},1iC:{1n:1b(){1f 1a.1qV}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},1A:{1n:1b(){1f y.1y(1a.1nG)},1C:1b(a){1a.1nG=y.1y(a,1a.1nG)}},7u:{1n:1b(){if(g(1a.1bx))1f 1a.1bx.6W},1C:1b(a){1a.5V=P.1y(a,1a.5V)}}});1d rv=12X.12T,6bd=1g k,6bc=1g k,6bb=1g k,rM,6bi=1g E,6bh=1g E,6bg=1g y,RQ=1g A,VQ=["1nz","1FC","1zp","8IQ"],6ba=1g E,6b9=1g k;pv.1i.2H=1b(a){if(!6bf(1a,a.1O)){1d b=!1,c=!A.2L(1a.12t,1a.4a);1a.8C!==a.3z&&(1a.8C=a.3z,c=!0);if(!g(1a.1bx)){1d d=a.1O;c=1a.3xb;b=1a.46m;1d e=c.3q,f=c.1Bd,h=c.1q6,l=c.1ek,p=c.46l,n=g(p),m=1a.3xf,w=1a.3xe,x=1a.46k,q=1a.3xd,t=1a.3xc,r=1a.46j,u=1a.46i;c=1a.46h;1d v=1a.46g,y=1a.46f,C=1a.46e,Hb=[],F={};1a.4Qg=F;if(n){1d K=4;1j(W in p)if(p.3p(W)){1d H=p[W];1d L=V5(H.5b,W);1d S=H.2PN;H=I.2DC(L);L=Ra.12S({1O:d,5b:L,7Q:xa.7C});1a.1qV+=L.18Q;Hb.1q({2P:K,7e:L,2Z:S,3k:H,1T:!1,9n:0,9t:0});F[W]={17J:K,2PN:S};++K}}p=Ra.12S({1O:d,5b:e,7Q:xa.7C});1a.1qV+=p.18Q;if(v){1d U=Ra.12S({1O:d,5b:f,7Q:xa.7C});1a.1qV+=U.18Q}if(y){1d R=Ra.12S({1O:d,5b:h,7Q:xa.7C});1a.1qV+=R.18Q}if(C){l=V5(l,"1ek");1d V=Ra.12S({1O:d,5b:l,7Q:xa.7C});1a.1qV+=V.18Q}1d W=[];H=m?I.10P:w?255>=t?I.7U:I.10P:I.3O;W.1q({2P:0,7e:p,2Z:3,3k:H,1T:!1,9n:0,9t:0});if(1a.1Wd){if(m||w)e=P.2fX(k.6h,1a.3b1);1s{f=e.1h/3;h=1k.2o(f,20);if(!g(rM))1j(B.6be(0),rM=2K(20),m=0;20>m;++m)rM[m]=B.2PM();m=rM;w=3a.6w;t=-3a.6w;w=k.9v(w,w,w,6bd);t=k.9v(t,t,t,6bc);1j(H=0;H<h;++H)p=k.5f(e,3*1k.2t(m[H]*f),6bb),k.2yE(w,p,w),k.2yD(t,p,t);e=P.2fX(w,t);e.3L+=B.1BO}1a.5V=e}v&&(u?W.1q({2P:1,7e:U,2Z:1,3k:I.10P,1T:!1,9n:0,9t:0}):W.1q({2P:1,7e:U,2Z:c?4:3,3k:I.7U,1T:!0,9n:0,9t:0}));y&&(x?(S=2,H=I.7U):q?(S=2,H=255>=r?I.7U:I.10P):(S=3,H=I.3O),W.1q({2P:2,7e:R,2Z:S,3k:H,1T:!1,9n:0,9t:0}));C&&W.1q({2P:3,7e:V,2Z:1,3k:I.2DC(l),1T:!1,9n:0,9t:0});n&&(W=W.9V(Hb));U=1g Fb({1O:d,2w:W});R={9J:{3e:!0}};1a.3aY===ma.1uf&&(R.12h=Mc.33o(),R.1lq=Mc.1vh);1a.46a=pa.4t(R);1a.46b=pa.4t({9J:{3e:!0},13Q:!1,12e:Dc.1bQ});1a.1bx=1g Oa({6W:1g P,8d:1a.1Wd,4a:1g A,6Z:Ja.1wF,4c:U,7Z:b,2z:1p 0,4J:1p 0,4w:c?1a.46b:1a.46a,6t:c?ma.1bl:1a.3aY,7H:1a,1hR:!1,1fC:!1,1cI:1a.2ia()});1a.4y=b=c=!0;1a.7S.5h(1a);1a.3xb=1p 0}c&&(A.1y(1a.4a,1a.12t),U=1a.1bx.4a,A.1y(1a.12t,U),g(1a.1q2)&&A.3pj(U,1a.1q2,U),g(1a.3xa)&&A.3pj(U,1a.3xa,U),a.3z!==O.6G&&(R=a.11s,V=A.1ed(U,3,6ba),E.2L(V,E.1xa)||Da.3b0(R,U,U)),R=1a.1bx.6W,P.1y(1a.5V,R),1a.1Wd&&(V=R.2V,A.8P(U,V,V),U=A.1sj(U,6b9),R.3L*=k.1xj(U)));1a.1TT&&(1a.1TT=!1,b=!0);1a.3aZ!==1a.1iM&&(1a.3aZ=1a.1iM,b=!0);1a.1JB!==1a.46d&&(1a.46d=1a.1JB,b=!0);1a.1Uo!==1a.46c&&(1a.46c=1a.1Uo,b=!0);if(1a.14N!==1a.2r||1a.3x6)1a.14N=1a.2r,1a.3x6=!1,b=!0;b&&6b8(1a,a,1a.14N);1a.1bx.1hR=ed.1hR(1a.6x);1a.1bx.1fC=ed.1fC(1a.6x);b=1>1a.1nG.2O||1>1a.2qx.2O||1a.4Qf;1a.1bx.4w=b?1a.46b:1a.46a;1a.1bx.6t=b?ma.1bl:1a.3aY;b=a.13l;a=a.10s;(a.3t||a.11P)&&b.1q(1a.1bx)}};pv.1i.3Z=1b(){1f!1};pv.1i.1M=1b(){1d a=1a.1bx;g(a)&&(a.4c=a.4c&&a.4c.1M(),a.2z=a.2z&&a.2z.1M());1f la(1a)};1L.2X(eb.1i,{1hM:{1n:1b(){1a.1QJ();1d a=1a.6M.4Qe(1a.6M.1JV);1a.37G();1f a}},5Ud:{1n:1b(){1f 1a.2PL.1h}},8X:{1n:1b(){1f 1a.19m}},2o1:{1n:1b(){1f 1a.3aW}},3x9:{1n:1b(){1f 1a.3aV}},1ku:{1n:1b(){1f 1a.19K}},1yY:{1n:1b(){1f 1a.1yZ}},4Hi:{1n:1b(){1f!!(1a.8X||1a.2o1||1a.1ku||1a.1yY)}}});eb.1i.1QJ=1b(){1d a=1a.6M;a.1Bw(a.1JV,1a.13p)};eb.1i.37G=1b(){1d a=1a.6M;a.1Bw(a.1JV,1F)};eb.1i.468=1b(){1f 1a.2PL};eb.1i.167=1b(a){if(!g(a)||0>a||a>=1a.2DB.1h)1t 1g r("2P is 1X, 2Q be 9U 6L or 14B to 16m and 2Q be 1do 6L 1Z 2b of 1A 3x8.");1f 1a.2DB[a]};eb.1i.8IP=1b(a){if(!g(a)||0>a||a>=1a.3aX.1h)1t 1g r("2P is 1X, 2Q be 9U 6L or 14B to 16m and 2Q be 1do 6L 1Z 2b of 1A 3x8.");1f 1a.3aX[a]};eb.1i.3Z=1b(){1f!1};eb.1i.1M=1b(){if(1a.16Y){1j(1d a=0,b=1a.2DB,c=b.1h;a<c;++a){1d d=b[a];g(d)&&d.1M()}b=1a.3aX;c=b.1h;1j(a=0;a<c;++a)d=b[a],g(d)&&d.1M();1a.19m=1a.19m&&1a.19m.1M();1a.3aW=1a.3aW&&1a.3aW.1M();1a.3aV=1a.3aV&&1a.3aV.1M();1a.19K=1a.19K&&1a.19K.1M();1a.1yZ=1a.1yZ&&1a.1yZ.1M()}1a.6M.5mY(1a.13p);1f la(1a)};eb.5zC=1b(a,b,c,d,e,f){if(a.1py){a=a.6M;1d h=0;d&&(h|=a.3Y5);e&&(h|=a.3Y4);f&&(h|=a.4Hk);0!=h&&(a.1Bw(a.4Qd,b.13p),a.1Bw(a.4Qc,c.13p),c=c.167(0),b=c.1G,c=c.1D,a.8IO(0,0,b,c,0,0,b,c,h,a.10U),a.1Bw(a.4Qd,1F),a.1Bw(a.4Qc,1F))}};1d YQ=1g C;ds.1op=X5;ds.1i.2H=1b(a,b,c){if(X5(a.1O)){1a.35u=c.26k;1a.1fx=c.26j*a.13S;c=a.1O;1d d=c.8j,e=c.7p;1d f=1a.1Eg;1d h=!1;d=g(f)&&(f.1G!==d||f.1D!==e);if(!g(f)||d)W5(1a),d=c.8j,e=c.7p,f=1g Ca({1O:c,1G:d,1D:e,8b:ua.9m,10E:Ha.7U,10v:XQ()}),h=1g Ca({1O:c,1G:d,1D:e,8b:ua.9m,10E:Ha.7U,10v:XQ()}),d=1g Ca({1O:c,1G:d,1D:e,8b:ua.1zc,10E:Ha.1bt,10v:XQ()}),1a.13p=1g eb({1O:c,13I:[f,h],8X:d,16Y:!1}),1a.1Eg=f,1a.3x7=h,1a.19m=d,6b7(1a,c),h=!0;f=h;c=a.13l;1j(h=c.1h;b<h;++b)if(d=c[b],d.6Z===Ja.1wF&&d.6t!==ma.1bl){e=d.10K.3VK;if(!g(e)||d.6s||f||e.4Q!==1a.13p)e=Oa.15v(d),d.10K.3VK=e,e.4Q=1a.13p,e.2z=6b6(a.1O,d.2z),e.1hR=!1,e.1fC=!1;c[b]=e}a=1a.13Z;c.1q(1a.1bx);c.1q(a)}};ds.1i.3Z=1b(){1f!1};ds.1i.1M=1b(){W5(1a);1f la(1a)};sv.1op=1b(a){1f ds.1op(a.1O)};1L.2X(no.1i,{17z:{1n:1b(){1f g(1a.6y)?1a.6y.17z:0}},1Eb:{1n:1b(){1f 1a.2qD.1Eb}},1qQ:{1n:1b(){1f 0}},1iC:{1n:1b(){1f 1a.2qD.1iC}},1tR:{1n:1b(){1f 0}},1Bq:{1n:1b(){1f g(1a.6y)?1a.6y.3aM:0}},289:{1n:1b(){}},9c:{1n:1b(){1f 1a.2qD.9c}},15c:{1n:1b(){1f 1a.9F}},11H:{1n:1b(){1f 1a.1cC}},2I:{1n:1b(){1f 1a.12o.1oO(!0)}},1ac:{1n:1b(){1f 1a.6y}}});no.1i.1qP=1b(a,b){1f g(1a.6y)?1a.6y.1qP(a,b):!1};no.1i.287=1b(a){if(g(1a.6y)){1d b=1a.17z;if(!g(a)||0>a||a>=b)1t 1g r("4R is 1X and 1pS 16m and 17z - 1 ("+(b-1)+").");b=1a.17z;if(!g(1a.1dQ)&&0<b){1j(1d c=2K(b),d=0;d<b;++d)c[d]=1g Jh(1a,d);1a.1dQ=c}1f 1a.1dQ[a]}};no.1i.1vt=1b(a,b){1a.2qD.1A=a?b:y.9r};no.1i.1nx=1b(a){g(1a.6y)?1a.6y.1nx(a):1a.1TS=!0};1d 6b5=1g sv;no.1i.2H=1b(a,b){1d c=1a.2qD,d=m(a.1uY,6b5),e=1a.1cC,f=1a.6y,h=b.3z,l=a.1cj;g(1a.16I)||g(f)||(1a.16I=b.1O.1Ga({9k:a,15k:1a}));g(f)&&f.2H(a,b);h=g(e.29D)?h===O.6G?e.29D.7u:e.3wF.7u:h===O.6G?e.11S.7u:e.1B1.7u;1d k=1a.1TS;1a.1TS=!1;c.1W6=a.1W6;c.2r=g(f)?1p 0:a.2r;c.3x6=k;c.4a=e.1Hb;c.6q=a.31C;c.6x=a.6x;c.7u=h;c.1cj=l;c.26S=g(l)&&l.3e&&e.2Pv;c.1TT=e.1TT;c.1iM=d.1iM;c.1JB=d.1JB;c.1Uo=d.1Uo;f=1a.9F.1uY;l=1a.1cC.4OO.7u.2M2();l=B.3x5(l/1a.1Eb);h=1a.1cC.1Rj;0===h&&(h=g(f)&&g(f.1Ph)?f.1Ph:l);c.1Rj=h;c.1J0=d.1J0;g(d)&&g(d.1yB)?c.1yB=d.1yB:c.1yB=e.1sE===hh.1m8?5:a.1ev;c.2H(b)};no.1i.3Z=1b(){1f!1};no.1i.1M=1b(){1a.16I=1a.16I&&1a.16I.1M();1a.2qD=1a.2qD&&1a.2qD.1M();1a.6y=1a.6y&&1a.6y.1M();1f la(1a)};1L.2X(oo.1i,{17z:{1n:1b(){1f 0}},1Eb:{1n:1b(){1f 0}},1qQ:{1n:1b(){1f 0}},1iC:{1n:1b(){1f 0}},1tR:{1n:1b(){1f 0}},1Bq:{1n:1b(){1f 0}},289:{1n:1b(){}},9c:{1n:1b(){1f 1a.7S.10l}},15c:{1n:1b(){1f 1a.9F}},11H:{1n:1b(){1f 1a.1cC}},2I:{1n:1b(){1f 1a.12o.1oO(!0)}},1ac:{1n:1b(){}}});oo.1i.1qP=1b(a,b){1f!1};oo.1i.287=1b(a){};oo.1i.1vt=1b(a,b){};oo.1i.1nx=1b(a){};oo.1i.2H=1b(a,b){};oo.1i.3Z=1b(){1f!1};oo.1i.1M=1b(){1f la(1a)};Of.6b4=1b(a){1j(1d b=[],c=0;c<a.1h;++c){1d d=a[c];d={2P:m(d.2P,c),3e:m(d.3e,!0),2Z:d.2Z,3k:m(d.3k,I.3O),1T:m(d.1T,!1),7e:d.7e,7Q:m(d.7Q,xa.7C)};b.1q(d);if(1!==d.2Z&&2!==d.2Z&&3!==d.2Z&&4!==d.2Z)1t 1g r("3Q.2Z 2Q be in 1Z 11D [1, 4].");if(!I.1f6(d.3k))1t 1g r("2L2 2Q 118 a 1eu 3k or 2S 2mt it.");if(!xa.1f6(d.7Q))1t 1g r("2L2 2Q 118 a 1eu 7Q or 2S 2mt it.");}a=2K(b.1h);1j(c=0;c<b.1h;++c){d=b[c].2P;if(a[d])1t 1g r("3OL "+d+" is 1rd by 1v5 6L 1bS 3Q.");a[d]=!0}1f b};Of.6b3=1b(a){1j(1d b=0,c=a.1h,d=0;d<c;++d){1d e=a[d];b+=e.2Z*I.1jh(e.3k)}a=0<c?I.1jh(a[0].3k):0;c=0<a?b%a:0;1f b+(0===c?0:a-c)};Of.6b2=1b(a,b){1j(1d c=[],d=0,e=a.1h,f=0;f<e;++f){1d h=a[f],g=h.3k;c.1q({2P:h.2P,3e:h.3e,2Z:h.2Z,3k:g,1T:h.1T,9n:d,6aY:b/I.1jh(g),11A:1p 0});d+=h.2Z*I.1jh(g)}1f c};Of.1i.1ce=1b(a){1a.1eC=a;a=1a.2PK;1a.2n4=[];1j(1d b=0,c=a.1h;b<c;++b){1d d=a[b];Of.6b1(d,1a.1eC);Of.6b0(1a.2n4,d)}ZQ(1a)};Of.6b1=1b(a,b){if(0<a.23E){b=1g 1aq(b*a.23E);if(g(a.15U))1j(1d c=1g 4L(b),d=1g 4L(a.15U),e=d.1h,f=0;f<e;++f)c[f]=d[f];c=a.467;d=c.1h;1j(e=0;e<d;++e)f=c[e],f.11A=I.1Rm(f.3k,b,f.9n);a.15U=b}};1d 6aZ=[1b(a,b,c){1f 1b(d,e){b[d*c]=e;a.2qC=!0}},1b(a,b,c){1f 1b(d,e,f){d*=c;b[d]=e;b[d+1]=f;a.2qC=!0}},1b(a,b,c){1f 1b(d,e,f,h){d*=c;b[d]=e;b[d+1]=f;b[d+2]=h;a.2qC=!0}},1b(a,b,c){1f 1b(d,e,f,h,g){d*=c;b[d]=e;b[d+1]=f;b[d+2]=h;b[d+3]=g;a.2qC=!0}}];Of.6b0=1b(a,b){1j(1d c=b.467,d=c.1h,e=0;e<d;++e){1d f=c[e];a[f.2P]=6aZ[f.2Z-1](b,f.11A,f.6aY)}};Of.1i.2wS=1b(a){1d b=!1,c=1a.2PK,d;1d e=0;1j(d=c.1h;e<d;++e){1d f=c[e];a:{if(f.2qC&&0<f.23E){f.2qC=!1;1d h=f.7e,l=1a.1eC*f.23E,k=g(h);if(!k||h.18Q<l){k&&h.1M();f.7e=Ra.12S({1O:1a.4j,5b:f.15U,7Q:f.7Q});f.7e.1hU=!1;f=!0;1W a}f.7e.1jR(f.15U)}f=!1}b=f||b}if(b||!g(1a.va))1j(ZQ(1a),b=1a.va=[],h=g(a)?1k.8a(1a.1eC/(B.1uW-1)):1,l=0;l<h;++l){k=[];e=0;1j(d=c.1h;e<d;++e)f=c[e],Of.6aW(k,f,l*f.23E*(B.1uW-1),1a.1mh);k=k.9V(1a.6aX);b.1q({va:1g Fb({1O:1a.4j,2w:k,10X:a}),1Jn:1.5*(l!==h-1?B.1uW-1:1a.1eC%(B.1uW-1))})}};Of.6aW=1b(a,b,c,d){1j(1d e=b.467,f=e.1h,h=0;h<f;++h){1d g=e[h];a.1q({2P:g.2P,3e:g.3e,2Z:g.2Z,3k:g.3k,1T:g.1T,7e:b.7e,9n:c+g.9n,9t:b.23E,19N:d?1:0})}};Of.1i.32q=1b(a,b){if(0>a||a>=1a.1eC)1t 1g r("6aV 2Q be 9U 6L or 14B to 16m and 1do 6L 1Z 1rc 4x 4V.");if(a+b>1a.1eC)1t 1g r("6aV + 8IN 1il 8IM 1Z 1rc 4x 4V.");1j(1d c=1a.2PK,d=0,e=c.1h;d<e;++d){1d f=c[d];if(f.2qC&&0<f.23E){1d h=f.23E*a;f.7e.1jR(1g 4L(f.15U,h,f.23E*b),h)}}};Of.1i.3Q2=1b(){1j(1d a=1a.2PK,b=0,c=a.1h;b<c;++b)a[b].2qC=!1};Of.1i.3Z=1b(){1f!1};Of.1i.1M=1b(){1j(1d a=1a.2PK,b=0,c=a.1h;b<c;++b){1d d=a[b];d.7e=d.7e&&d.7e.1M()}ZQ(1a);1f la(1a)};1d ic={},6aU=1g E(0,0,0,1),$k=1g E,ah=1g Aa,cX=1g C,4Qb=1g C;ic.1yu=1b(a,b,c){1f ic.4PZ(a,b,k.6h,c)};1d Y5=1g E,Z5=1g k,6aT=1g T(1k.PI,B.10k),6aS=1g k,6aR=1g k;ic.4PZ=1b(a,b,c,d){if(!g(a))1t 1g r("4r is 1X.");if(!g(b))1t 1g r("1K is 1X.");1d e=a.18Y;b=ic.31F(e,b,6aU);if(g(b)){1d f=a.3M;ah.x=0;ah.y=0;ah.1G=f.18L;ah.1D=f.1gt;1d h=a.3w,l=!1;if(e.3z===O.10j){1d p=a.11s.12z(6aT,6aS);a=k.1y(h.1K,6aR);1d n=h.3j.1y(),m=A.2Ko(ah,0,1,1g A),w=h.3j.1pv,x=h.6K.y,q=k.9v(B.12q(x)*p.x-x,0,-h.6K.x);m=Da.2Kn(w,m,q);if(0===x||0>=m.x||m.x>=f.18L)l=!0;1s if(m.x>.5*f.18L?(ah.1G=m.x,h.3j.2W=p.x-x,$k=QH(b,c,h,$k),ic.2JH(ah,$k,cX),ah.x+=m.x,h.1K.x=-h.1K.x,p=h.3j.2W,h.3j.2W=-h.3j.3B,h.3j.3B=-p):(ah.x+=m.x,ah.1G-=m.x,h.3j.3B=-p.x-x,$k=QH(b,c,h,$k),ic.2JH(ah,$k,cX),ah.x-=ah.1G,h.1K.x=-h.1K.x,p=h.3j.3B,h.3j.3B=-h.3j.2W,h.3j.2W=-p),$k=QH(b,c,h,$k),ic.2JH(ah,$k,4Qb),k.1y(a,h.1K),h.3j=n.1y(),d=C.1y(cX,d),0>d.x||d.x>f.18L)d.x=4Qb.x}if(e.3z!==O.10j||l){$k=QH(b,c,h,$k);if(0>$k.z&&!(h.3j 2m Jb)&&!(h.3j 2m Ee))1f;d=ic.2JH(ah,$k,d)}d.y=f.1gt-d.y;1f d}};ic.8IL=1b(a,b,c){c=ic.1yu(a,b,c);if(g(c))1f ic.2ds(a,c,c)};1d br=1g k,6aQ=1g T;ic.31F=1b(a,b,c){1d d=a.3z;if(d===O.6G)1f k.1y(b,c);1d e=a.11s,f=e.3c.10Z(b,6aQ);if(g(f)){e.12z(f,br);if(d===O.15j)1f k.9v(br.z,br.x,br.y,c);if(d===O.10j)1f k.9v(0,br.x,br.y,c);a=a.29J;1f k.9v(B.11x(br.z,b.x,a),B.11x(br.x,b.y,a),B.11x(br.y,b.z,a),c)}};1d 3aU=1g k,4Q9=1g k,4Qa=1g A;ic.2JH=1b(a,b,c){k.1eE(b,b.w,3aU);A.2Ko(a,0,1,4Qa);A.8P(4Qa,3aU,4Q9);1f C.1mg(4Q9,c)};ic.2ds=1b(a,b,c){1d d=a.3M;1f C.9v(a.8j/d.18L*b.x,a.7p/d.1gt*b.y,c)};1d 6aP=1g E,4Q8=1g E;ic.2lu=1b(a,b,c,d){1d e=a.1O.13m,f=e.37F,h=f.x;f=f.y;a.18Y.1bz&&(c=f*(1-h/(1k.3r(2,c*e.37D)-1+h))/(f-h));1d l=a.1by.1md.5q,p=E.1y(E.1xa,6aP);p.x=(b.x-l.x)/l.1G*2-1;p.y=(b.y-l.y)/l.1D*2-1;p.z=2*c-1;p.w=1;b=a.3w.3j;g(b.1MK)?(a=A.10r(e.3tl,p,4Q8),k.4g(a,1/a.w,a)):(g(b.1d3)&&(b=b.1d3),a=4Q8,a.x=.5*(p.x*(b.2W-b.3B)+b.3B+b.2W),a.y=.5*(p.y*(b.5C-b.7b)+b.7b+b.5C),a.z=.5*(p.z*(h-f)-h-f),a.w=1,a=A.10r(e.37P,a,a));1f k.1vu(a,d)};1d 4Q6=wb.3ao=0,sM=wb.2Kh=1,4Q1=wb.6au=2,6aM=wb.6at=3,6aL=wb.6as=4,6aK=wb.6ar=5,6aJ=wb.6aq=6,tM=wb.6ap=7,4Q7=wb.45h=8,6aI=wb.6ao=9,6aH=wb.6an=10,6aO=wb.45g=11,6aN=wb.45f=12,$Na=wb.6am=13,6aG=wb.1Fm=14,6aF=wb.1Ow=15;wb.6al=16;1d 6aE=wb.8IK=17,4Q5=wb.6ak=18;wb.2Kg=19;1L.2X(wb.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.10T!==a&&(1a.10T=a,ye(1a,4Q6))}},1K:{1n:1b(){1f 1a.9M},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.9M;k.2L(b,a)||(k.1y(a,b),k.1y(a,1a.2qq),1a.1xz(),ye(1a,sM))}},6N:{1n:1b(){1f 1a.1c1},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");a!==1a.1c1&&(1a.1c1=a,1a.1xz(),ye(1a,sM))}},14l:{1n:1b(){1f 1a.1qS},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.1qS;C.2L(b,a)||(C.1y(a,b),ye(1a,4Q1))}},13h:{1n:1b(){1f 1a.1hV},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");1d b=1a.1hV;Db.2L(b,a)||(1a.1hV=Db.1y(a,b),ye(1a,6aO))}},15M:{1n:1b(){1f 1a.1gH},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");1d b=1a.1gH;Db.2L(b,a)||(1a.1gH=Db.1y(a,b),ye(1a,6aN))}},1cd:{1n:1b(){1f 1a.1vR},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");1d b=1a.1vR;Db.2L(b,a)||(1a.1vR=Db.1y(a,b),ye(1a,$Na))}},19V:{1n:1b(){1f 1a.1vS},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.1vS;k.2L(b,a)||(k.1y(a,b),ye(1a,6aM))}},15P:{1n:1b(){1f 1a.1qO},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1qO!==a&&(1a.1qO=a,ye(1a,6aL))}},16l:{1n:1b(){1f 1a.1jT},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1jT!==a&&(1a.1jT=a,ye(1a,6aK))}},3b:{1n:1b(){1f 1a.13V},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.13V!==a&&(1a.13V=a,ye(1a,6aJ))}},1A:{1n:1b(){1f 1a.7a},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.7a;y.2L(b,a)||(y.1y(a,b),ye(1a,4Q7))}},5S:{1n:1b(){1f 1a.1dP},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1dP!==a&&(1a.1dP=a,ye(1a,6aI))}},1l5:{1n:1b(){1f 1a.2PJ},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.2PJ;k.2L(b,a)||(k.1y(a,b),ye(1a,6aH))}},1G:{1n:1b(){1f m(1a.10V,1a.4Q3)},1C:1b(a){1a.10V!==a&&(1a.10V=a,ye(1a,tM))}},1D:{1n:1b(){1f m(1a.10o,1a.4Q2)},1C:1b(a){1a.10o!==a&&(1a.10o=a,ye(1a,tM))}},1jC:{1n:1b(){1f 1a.1Q0},1C:1b(a){1a.1Q0!==a&&(1a.1Q0=a,ye(1a,4Q7))}},4S:{1n:1b(){1f 1a.17y},1C:1b(a){if(!ob.2L(a,1a.17y)){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");1a.17y=ob.1y(a,1a.17y);ye(1a,6aG)}}},11p:{1n:1b(){1f 1a.1f9},1C:1b(a){if(1a.1f9!==a){if(g(a)&&0>a)1t 1g r("11p 2Q be 9U 6L or 14B to 0.0.");1a.1f9=a;ye(1a,6aF)}}},8IJ:{1n:1b(){1f 1a.2yl},1C:1b(a){1a.2yl!==a&&(1a.2yl=a,ye(1a,6aE))}},id:{1n:1b(){1f 1a.7R},1C:1b(a){1a.7R=a;g(1a.16I)&&(1a.16I.2c.id=a)}},1FK:{1n:1b(){1f 1a.26h},1C:1b(a){1a.26h=a;g(1a.16I)&&(1a.16I.2c.9k=a)}},1cI:{1n:1b(){1f 1a.16I}},4d:{1n:1b(){1f 1a.1Rl},1C:1b(a){g(a)?"4n"===2h a?1a.1ZX(a,a):a 2m na?1a.1ZX(a.2I,a):g(a.1bv)?1a.1ZX(a.1bv,a):1a.1ZX(Ld(),a):(1a.23D=-1,1a.3x4=1a.1iw=1a.1Rl=1a.1Rk=1p 0,ye(1a,tM))}},3o:{1n:1b(){1f-1!==1a.23D}},1BK:{1n:1b(){1f 1a.29H},1C:1b(a){1a.29H=k.1y(a,1a.29H);ye(1a,sM)}},29y:{1n:1b(){1f 1a.23u},1C:1b(a){1a.23u!==a&&(1a.23u=a,ye(1a,4Q6))}},5M:{1n:1b(){1f 1a.16O},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.16O;y.2L(b,a)||(y.1y(a,b),ye(1a,4Q5))}},5R:{1n:1b(){1f 1a.16n},1C:1b(a){1a.16n!==a&&(1a.16n=a,ye(1a,4Q5))}}});wb.1i.1Rg=1b(a){g(1a.16I)||(1a.16I=a.1Ga({9k:1a.26h,1ho:1a.1DS,id:1a.7R}));1f 1a.16I};wb.1i.1xz=1b(){wb.1xz(1a.13d,1a)};1d ZE=1g T,4Q4=1g k;wb.1xz=1b(a,b){1b c(a){if(!d.18Y.10s.11P){if(b.1c1===bb.28I)if(b.8C===O.6G){1d c=e.10Z(a,ZE);c.1D+=p.1D;e.13B(c,a)}1s a.x+=p.1D;b.1BK=k.1y(a,b.1BK)}}1d d=a.2R;if(g(d)&&g(d.10a)){a=d.10a;1d e=a.3c,f=a.7G,h=d.18Y.3z,l=h!==b.8C;b.8C=h;(b.1c1===bb.6i||l)&&g(b.1lm)&&(b.1lm(),b.1lm=1p 0,b.1BK=1p 0);if(b.1c1!==bb.6i&&g(b.9M)){1d p=e.10Z(b.9M);g(p)?(g(b.1lm)&&b.1lm(),b.1lm=f.3Sg(p,c,d),T.1y(p,ZE),a=a.1sc(p),g(a)&&(ZE.1D=a),e.13B(ZE,4Q4),c(4Q4)):b.29H=1p 0}}1s if(b.1c1!==bb.6i)1t 1g r("463 1bY is 2S 11J 3OZ a 4r and 10a.");};wb.1i.2ym=1b(){1d a=1a.13d.18j,b=1a.1Rl,c=1a.1iw,d=1a.1Rk,e;g(c)&&(e=a.2y8(b,c));g(d)&&(e=a.6aB(b,d));1a.3x4=e;if(g(e)){1d f=1a;e.4b(1b(e){if(f.1Rl===b&&f.1iw===c&&Aa.2L(f.1Rk,d)){1d h=a.8u[e];f.4Q3=a.7y.1G*h.1G;f.4Q2=a.7y.1D*h.1D;f.23D=e;f.4y=!0;f.1iw=1p 0;f.3x4=1p 0;ye(f,tM)}}).10g(1b(a){11l.7A("6u 4LD 4d 1j 10i: "+a);f.3x4=1p 0})}};wb.1i.1ZX=1b(a,b){if(!g(a))1t 1g r("id is 1X.");if(!g(b))1t 1g r("4d is 1X.");1a.1Rl!==a&&(1a.23D=-1,1a.1Rk=1p 0,1a.1Rl=a,1a.1iw=b,g(1a.13d.18j)&&1a.2ym())};wb.1i.6aD=1b(a,b){if(!g(a))1t 1g r("id is 1X.");if(!g(b))1t 1g r("6aA is 1X.");1a.1Rl===a&&Aa.2L(1a.1Rk,b)||(1a.23D=-1,1a.1Rl=a,1a.1Rk=Aa.1y(b),g(1a.13d.18j)&&1a.2ym())};wb.1i.4Pw=1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.23C;C.2L(b,a)||(C.1y(a,b),ye(1a,4Q1))};wb.1i.3wa=1b(){1f g(1a.1BK)?1a.1BK:1a.2qq};wb.1i.3w9=1b(a){g(1a.1BK)||k.1y(a,1a.2qq);ye(1a,sM)};1d 4Q0=1g E;wb.3w8=1b(a,b,c,d){if(g(a.1BK))1f c.3z!==a.8C&&a.1xz(),a.1BK;if(c.3z===O.6G)1f b;A.8P(d,b,4Q0);1f ic.31F(c,4Q0)};1d 4PY=1g k;wb.3w7=1b(a,b,c,d,e,f){a=A.8P(a,b,4PY);c=ic.4PZ(e,a,c,f);if(g(c))1f C.add(c,d,c),c};1d uM=1g C(0,0);wb.1i.26d=1b(a,b){1d c=1a.13d;g(b)||(b=1g C);if(!g(c))1t 1g r("5ht 2Q be in a 1ho.  8II it 1JR?");if(!g(a))1t 1g r("4r is 1X.");C.1y(1a.1qS,uM);C.add(uM,1a.23C,uM);1d d=c.4a;c=1a.9M;if(g(1a.1BK)&&(c=1a.1BK,a.3z!==O.6G)){1d e=a.11s;d=e.3c;c=e.1cZ(c,ZE);c=d.13B(c,4PY);d=A.8K}1f wb.3w7(d,c,1a.1vS,uM,a,b)};wb.2i2=1b(a,b,c){1d d=a.1G,e=a.1D,f=a.3b;d*=f;e*=f;f=b.x;a.15P===oc.1sk?f-=d:a.15P===oc.1dq&&(f-=.5*d);b=b.y;a.16l===fc.1Qm||a.16l===fc.2i7?b-=e:a.16l===fc.1dq&&(b-=.5*e);g(c)||(c=1g Aa);c.x=f;c.y=b;c.1G=d;c.1D=e;1f c};wb.1i.2L=1b(a){1f 1a===a||g(a)&&1a.7R===a.7R&&k.2L(1a.9M,a.9M)&&1a.1Rl===a.1Rl&&1a.10T===a.10T&&1a.13V===a.13V&&1a.1jT===a.1jT&&1a.1qO===a.1qO&&1a.1c1===a.1c1&&Aa.2L(1a.1Rk,a.1Rk)&&y.2L(1a.7a,a.7a)&&C.2L(1a.1qS,a.1qS)&&C.2L(1a.23C,a.23C)&&k.2L(1a.1vS,a.1vS)&&Db.2L(1a.1hV,a.1hV)&&Db.2L(1a.1gH,a.1gH)&&Db.2L(1a.1vR,a.1vR)&&ob.2L(1a.17y,a.17y)&&1a.1f9===a.1f9};wb.1i.1sm=1b(){g(1a.33L)&&(1a.13d.2R.10a.7G.8IH(1a.33L),1a.33L=1p 0);g(1a.1lm)&&(1a.1lm(),1a.1lm=1p 0);1a.4d=1p 0;1a.16I=1a.16I&&1a.16I.1M();1a.13d=1p 0};wb.1i.69Z=1b(a){g(a)&&(1a.4d=m(a.4d,1a.1iw))};1d jf=1L.3F({18W:0,1bl:1,23t:2}),6aC=1g C(16,16);1L.2X(Om.1i,{4PX:{1n:1b(){1f 1a.3x3}},8u:{1n:1b(){1f 1a.2DA}},7y:{1n:1b(){g(1a.10q)||(1a.10q=1g Ca({1O:1a.4j,1G:1a.2PI.x,1D:1a.2PI.y,8b:1a.1vf}));1f 1a.10q}},460:{1n:1b(){1f 1a.2DA.1h}},4rC:{1n:1b(){1f 1a.2qk}}});Om.1i.2y8=1b(a,b){if(!g(a))1t 1g r("id is 1X.");if(!g(b))1t 1g r("4d is 1X.");1d c=1a.462[a];if(g(c))1f c;if("1b"===2h b){if(b=b(a),!g(b))1t 1g r("4d is 1X.");}1s if("4n"===2h b||b 2m na)b=na.14m(b).1jN();1d d=1a;c=Z(b,1b(a){if(d.3Z())1f-1;1d b=d.460;$5(d,a,b);1f b});1f 1a.462[a]=c};Om.1i.6aB=1b(a,b){if(!g(a))1t 1g r("id is 1X.");if(!g(b))1t 1g r("6aA is 1X.");1d c=1a.462[a];if(!g(c))1t 1g qa(\'4d 10M id "\'+a+\'" 2S 1ji in 1Z 8IG.\');1d d=1a;1f Z(c,1b(a){if(-1===a)1f-1;1d c=d.10q.1G,e=d.10q.1D,g=d.460;a=d.2DA[a];d.2DA.1q(1g Aa(a.x+b.x/c,a.y+b.y/e,b.1G/c,b.1D/e));d.2qk=Ld();1f g})};Om.1i.3Z=1b(){1f!1};Om.1i.1M=1b(){1a.10q=1a.10q&&1a.10q.1M();1f la(1a)};1d qk=1L.3F({4PC:48,2PC:10,4Py:8,4Pz:.25});a6.1i={11D:1b(a,b,c,d){1j(1d e=1a.1a8,f=1a.19t,h=1a.3x2,g=[0,e.1h-1,0],k=[],n,m;g.1h;){1d w=g.9l(),x=g.9l(),q=g.9l();if(x-q<=h)1j(w=q;w<=x;w++)n=f[2*w],m=f[2*w+1],n>=a&&n<=c&&m>=b&&m<=d&&k.1q(e[w]);1s{1d t=1k.2t((q+x)/2);n=f[2*t];m=f[2*t+1];n>=a&&n<=c&&m>=b&&m<=d&&k.1q(e[t]);1d r=(w+1)%2;if(0===w?a<=n:b<=m)g.1q(q),g.1q(t-1),g.1q(r);if(0===w?c>=n:d>=m)g.1q(t+1),g.1q(x),g.1q(r)}}1f k},4pr:1b(a,b,c){1j(1d d=1a.1a8,e=1a.19t,f=1a.3x2,h=[0,d.1h-1,0],g=[],k=c*c;h.1h;){1d n=h.9l(),m=h.9l(),w=h.9l();if(m-w<=f)1j(n=w;n<=m;n++){w=e[2*n]-a;1d x=e[2*n+1]-b;w*w+x*x<=k&&g.1q(d[n])}1s{x=1k.2t((w+m)/2);1d q=e[2*x],t=e[2*x+1],r=q-a,u=t-b;r*r+u*u<=k&&g.1q(d[x]);r=(n+1)%2;if(0===n?a-c<=q:b-c<=t)h.1q(w),h.1q(x-1),h.1q(r);if(0===n?a+c>=q:b+c>=t)h.1q(x+1),h.1q(m),h.1q(r)}}1f g},1sU:1b(a,b,c,d,e,f,h){1j(1d g=1a.1a8,k=1a.19t,n=1a.3x2,m=[0,g.1h-1,0],w=[],x,q;m.1h;){1d t=m.9l(),r=m.9l(),u=m.9l();if(r-u<=n)1j(t=u;t<=r;t++)x=k[2*t],q=k[2*t+1],u=1p 0,1p 0!==e&&e.1h>t&&(u=f(e[g[t]])),1p 0!==h?h(x,q,a,b,c,d,e[g[t]],u)&&w.1q(g[t]):b6(x,q,a,b,c,d)&&w.1q(g[t]);1s{1d v=1k.2t((u+r)/2);x=k[2*v];q=k[2*v+1];b6(x,q,a,b,c,d)&&w.1q(g[v]);1d y=(t+1)%2;if(0===t?a<=x:b<=q)m.1q(u),m.1q(v-1),m.1q(y);if(0===t?c>=x:d>=q)m.1q(v+1),m.1q(r),m.1q(y)}}1f w}};1L.2X(po.1i,{2r:{1n:1b(){1f 1a.14N},1C:1b(a){1a.14N=a}},7Z:{1n:1b(){1f 1a.15p.1h}},1cA:{1n:1b(){1f 1a.2oC},1C:1b(a){1a.2oC=a}}});po.1i.1M=1b(){bR(1a);1f la(1a)};po.1i.3RM=1b(a,b,c){c=k.1y(c);b={id:a,1K:c,2P:b,45Z:0,2p:!0};g(1a.1EE[a])||(1a.1EE[a]=[]);1a.1EE[a].1q(b);1a.3x1=!1;1a.3aT=!0};po.1i.3S=1b(a,b){1d c=1a.6az(a);if(1F!=c){1j(1d d=0;d<c.1h;d++)c[d].2P===b&&(4Y c[d],c[d]=1F);b=[];1j(d=0;d<c.1h;d++)1F!==c[d]&&b.1q(c[d]);0===b.1h?4Y 1a.1EE[a]:1a.1EE[a]=b}1a.3x1=1a.3aT=!0};po.1i.6az=1b(a){1f g(1a.1EE[a])?1a.1EE[a]:1F};po.1i.45S=1b(a,b,c){d6(1a);if(!g(1a.1EE[a])||0===1a.1EE[a].1h)1f 1F;a=1a.1EE[a];1j(1d d=0;d<a.1h;d++)a[d].2P===b&&a[d].2p!==c&&(a[d].2p=c,1a.45Y=!0)};po.1i.6ay=1b(a,b,c){a=1a.1EE[a];if(g(a))1j(1d d=0;d<a.1h;d++)a[d].2P===b&&(a[d].2P=c)};po.1i.2H=1b(a,b,c){1a.5Y=b;1a.3aT&&d6(1a);if(0!==1a.15p.1h&&0===1a.15p.1h%2&&1a.2oC){if(!1a.3x1){bR(1a);1j(1d d=b=0,e=0,f=0,h=2*1a.15p.1h,l=I.9g(I.3O,3*h),p=I.9g(I.3O,2*h),n=1g 4L(h),m=1a6<h?Ta.1bt:Ta.10P,w=I.9g(m,h/2*3),x=0;x<1a.15p.1h/2;x++){1d q=1a.15p[2*x],t=1a.15p[2*x+1],r=b/3;l[b++]=t.x;l[b++]=t.y;l[b++]=t.z;1d u=b/3;l[b++]=t.x;l[b++]=t.y;l[b++]=t.z;t=b/3;l[b++]=q.x;l[b++]=q.y;l[b++]=q.z;1d v=b/3;l[b++]=q.x;l[b++]=q.y;l[b++]=q.z;p[d++]=0;p[d++]=0;p[d++]=1;p[d++]=0;p[d++]=1;p[d++]=1;p[d++]=0;p[d++]=1;w[e++]=r;w[e++]=u;w[e++]=t;w[e++]=r;w[e++]=t;w[e++]=v}1j(x=0;x<h;x++)n[f++]=255;1a.1BN=n;b={1co:l,6ax:p,1Bd:n,2po:w,6aw:m};d=3a.6w;e=-3a.6w;f=3a.6w;h=-3a.6w;l=3a.6w;p=-3a.6w;1j(n=0;n<1a.15p.1h;n++)m=1a.15p[n],e=1k.1V(e,m.x),d=1k.2o(d,m.x),h=1k.1V(h,m.y),f=1k.2o(f,m.y),p=1k.1V(p,m.z),l=1k.2o(l,m.z);1di.1k.5T(e,d,1di.1k.1g9)&&(e=d+.1);1di.1k.5T(h,f,1di.1k.1g9)&&(h=f+.1);1di.1k.5T(p,l,1di.1k.1g9)&&(p=l+.1);n=1g k((e+d)/2,(h+f)/2,(p+l)/2);1a.5V=1g P(n,1k.1V(1k.1V(p-l,h-f),e-d)/2);6av(1a,a,b);1a.3x1=!0}if(1a.45Y&&g(1a.1BN)){1j(1d y in 1a.1EE)1j(a=1a.1EE[y],b=0;b<a.1h;b++)d=a[b].45Z,1a.1BN[d]=a[b].2p?255:0,1a.1BN[d+1]=1a.1BN[d],1a.1BN[d+2]=1a.1BN[d],1a.1BN[d+3]=1a.1BN[d];1a.6g.4c.15o(2).7e.1jR(1a.1BN);1a.45Y=!1}g(1a.6g)&&c.1q(1a.6g)}};1d 6a8=wb.3ao,$E=wb.2Kh,4PW=wb.6au,4PT=wb.6at,6aa=wb.6as,6a9=wb.6ar,6ab=wb.6aq,aF=wb.6ap,4PU=wb.45h,6ac=wb.6ao,6a7=wb.6an,4PS=wb.45g,4PV=wb.45f,4PR=wb.6am,4PQ=wb.1Fm,6a6=wb.1Ow,6ae=wb.6al,4PP=wb.6ak,cR=wb.2Kg,je,6ah={1xT:0,1Cr:1,1lU:2,1lV:3,1D5:4,19V:5,13h:6,1cd:7,1OK:8,2cP:9,1k8:10,1D1:11},6ai={2G:0,1xT:1,1Cr:2,1lU:3,1lV:4,1D5:5,19V:6,13h:7,1cd:8,1OK:9,2cP:10,1k8:11,1D1:12},6a5={3e:!0,1Gq:$g.1m8,1Gp:$g.1m8,1Go:Bd.3nH,1Gn:Bd.1ip,1B7:Bd.20A,1B6:Bd.20A};1L.2X(xd.1i,{1h:{1n:1b(){SH(1a);1f 1a.17T.1h}},3mJ:{1n:1b(){1f 1a.18j},1C:1b(a){1a.18j!==a&&(1a.2eN&&1a.18j&&1a.18j.1M(),1a.18j=a,1a.1jb=!0)}},3Q3:{1n:1b(){1f 1a.2eN},1C:1b(a){1a.2eN=a}},1cJ:{1n:1b(){1f 1a.1gb},1C:1b(a){1a.1gb=a;1a.6a0(1a.1gb);1a.29I.2r=a}},2Ac:{1n:1b(){1f 1a.2g3},1C:1b(a){1a.29I.1cA=a}}});xd.1i.add=1b(a){1d b=1g wb(a,1a);b.12N=1a.17T.1h;1a.17T.1q(b);1a.1jb=!0;g(b.id)&&(1a.2PH[b.id]=b.12N);g(a)&&g(a.1K)&&1a.29I.3RM(b.id,b.12N,a.1K);1f b};xd.1i.3S=1b(a){1f 1a.8h(a)?(g(a.id)&&4Y 1a.2PH[a.id],1a.17T[a.12N]=1F,1a.1jb=1a.2eP=!0,1a.29I.3S(a.id,a.12N),a.1sm(),!0):!1};xd.1i.7f=1b(){e6(1a.17T);1a.17T=[];1a.2PH={};1a.2eO=[];1a.1PQ=0;1a.2eP=!1;1a.1jb=!0};xd.1i.4rD=1b(a,b){a.1g6||(1a.2eO[1a.1PQ++]=a);++1a.1vc[b]};xd.1i.8h=1b(a){1f g(a)&&a.13d===1a};xd.1i.8IF=1b(a){1f 1a.2PH.3p(a)};xd.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.");SH(1a);1f 1a.17T[a]};xd.1i.1of=1b(a){if(!g(a))1t 1g r("id is 1X.");if(!g(1a.2PH[a]))1f 1F;a=1a.2PH[a];SH(1a);1f 1a.17T[a]};1d dX;xd.1i.45e=1b(){1j(1d a=1a.3am,b=!1,c=1a.1vc,d=0;d<cR;++d){1d e=0===c[d]?xa.7C:xa.20X;b=b||a[d]!==e;a[d]=e}1f b};1d dR=1g bc,El=1g C,6aj=1/256,zi=[];xd.1i.2H=1b(a,b,c){if(!a.10s.1Tt){1a.29I.2H(b,a,c);if(-1<a.1g4&&0<1a.17T.1h&&g(1a.17T[0].7R)&&g(1a.17T[0].7R.1mu)){1d d=1a.17T[0].7R.1mu.7H;if("7w"!==2h d.1ks&&!d.1ks(a.1g4))1f}SH(1a);1d e=1a.17T;d=e.1h;b=a.1O;je=(1a.1mh=b.2Kf)?6ai:6ah;dX=1a.1mh?6ag:6af;1d f=1a.18j;if(!g(f)){f=1a.18j=1g Om({1O:b});1j(1d h=0;h<d;++h)e[h].2ym()}h=f.8u;if(0!==h.1h){d=a.3z;e=1a.17T;c=1a.2eO;1d l=1a.12t;1a.1jb||1a.8C!==d||d!==O.6G&&!A.2L(l,1a.4a)?(1a.8C=d,A.1y(1a.4a,l),1a.1jb=!0,d!==O.6G&&d!==O.10j&&d!==O.15j||gR(1a,e,e.1h,a,l,!0)):d===O.1at?gR(1a,e,e.1h,a,l,!0):(d===O.10j||d===O.15j)&&gR(1a,c,1a.1PQ,a,l,!1);e=1a.17T;d=e.1h;e=1a.2eO;c=1a.1PQ;l=1a.1vc;f=f.4rC;1d k=1a.1jb||1a.32r!==f;1a.32r=f;f=a.10s;1d n=f.11P;if(k||!n&&1a.45e()){1a.1jb=!1;1j(k=0;k<cR;++k)l[k]=0;1a.1aa=1a.1aa&&1a.1aa.1M();if(0<d){l=b;k=d;n=1a.3am;1d m=1a.1mh,w=1a.6y,x=1a.2i9,q=[{2P:je.1xT,2Z:4,3k:I.3O,7Q:n[$E]},{2P:je.1Cr,2Z:4,3k:I.3O,7Q:n[$E]},{2P:je.1lU,2Z:4,3k:I.3O,7Q:n[4PW]},{2P:je.1lV,2Z:4,3k:I.3O,7Q:n[4PV]},{2P:je.1D5,2Z:4,3k:I.3O,7Q:n[4PU]},{2P:je.19V,2Z:4,3k:I.3O,7Q:n[4PT]},{2P:je.13h,2Z:4,3k:I.3O,7Q:n[4PS]},{2P:je.1cd,2Z:4,3k:I.3O,7Q:n[4PR]},{2P:je.1OK,2Z:4,3k:I.3O,7Q:n[4PQ]},{2P:je.2cP,2Z:4,3k:I.3O,7Q:n[6ae]}];m&&q.1q({2P:je.2G,2Z:2,3k:I.3O,7e:6ad(l)});g(w)&&q.1q({2P:je.1k8,2Z:1,5uH:I.3O,1tF:xa.7C});x&&q.1q({2P:je.1D1,2Z:2,3k:I.3O,7Q:n[4PP]});1a.1aa=1g Of(l,q,m?k:4*k,m);l=1a.1aa.2n4;1j(k=0;k<d;++k){x=1a.17T[k];x.1g6=!1;n=b;m=h;w=l;f6(1a,n,m,w,x);g6(1a,n,m,w,x);h6(1a,n,m,w,x);eR(1a,n,m,w,x);fR(1a,n,m,w,x);i6(1a,n,m,w,x);j6(1a,n,m,w,x);k6(1a,n,m,w,x);l6(1a,n,m,w,x);1d t=w;q=x;if(g(1a.6y)){t=t[je.1k8];1d r=q.2PE;1a.1mh?(q=q.12N,t(q,r)):(q=4*q.12N,t(q+0,r),t(q+1,r),t(q+2,r),t(q+3,r))}m6(1a,n,m,w,x)}1a.1aa.2wS(dX(b))}1a.1PQ=0}1s if(0<c){zi.1h=0;(l[$E]||l[6ac]||l[6ab])&&zi.1q(f6);if(l[aF]||l[4PW]||l[6aa]||l[6a9]||l[6a8])zi.1q(g6),1a.1mh&&zi.1q(fR);if(l[aF]||l[6a7]||l[4PV])zi.1q(h6),zi.1q(eR);(l[aF]||l[4PU])&&zi.1q(eR);l[4PT]&&zi.1q(fR);l[4PS]&&zi.1q(i6);l[4PR]&&zi.1q(j6);(l[4PQ]||l[6a6]||l[aF]||l[$E])&&zi.1q(k6);(l[aF]||l[$E])&&zi.1q(l6);l[4PP]&&zi.1q(m6);k=zi.1h;l=1a.1aa.2n4;if(.1<c/d){1j(n=0;n<c;++n)1j(m=e[n],m.1g6=!1,w=0;w<k;++w)zi[w](1a,b,h,l,m);1a.1aa.2wS(dX(b))}1s{1j(n=0;n<c;++n){m=e[n];m.1g6=!1;1j(w=0;w<k;++w)zi[w](1a,b,h,l,m);1a.1mh?1a.1aa.32q(m.12N,1):1a.1aa.32q(4*m.12N,4)}1a.1aa.3Q2()}1a.1PQ=0}c>1.5*d&&(e.1h=d);if(g(1a.1aa)&&g(1a.1aa.va)){1a.1Mi&&(1a.1Mi=!1,P.5o(1a.1Mh,1a.4a,1a.2n3));e=A.8K;a.3z===O.6G?(e=1a.4a,h=P.1y(1a.2n3,1a.11S)):h=P.1y(1a.2n2,1a.11S);c=h;l=1;1a.3x0&&0===1a.3wZ||(l=a.3w.2wq(c,a.1O.8j,a.1O.7p));k=l*1a.2PG*1a.3aS*2;1a.45X&&1a.45W&&(k*=.5);c.3L+=k+(l*1a.3wZ+1a.45V);l=1a.1r5!==1a.1W3;1a.1r5=1a.1W3;l&&(1a.2Pr=1a.1r5===jf.18W||1a.1r5===jf.23t?pa.4t({9J:{3e:1a.4PO,14R:H.1PP},13Q:!0}):1p 0,c=1a.1r5===jf.1bl,1a.2n1=1a.1r5===jf.1bl||1a.1r5===jf.23t?pa.4t({9J:{3e:1a.4PO,14R:c?H.2p5:H.1PP},13Q:c,12e:Dc.1bQ}):1p 0);1a.45U&&(1a.4PJ=pa.4t({9J:{3e:!1,14R:H.1PP},13Q:!1,12e:6a5}));1a.1Rf=1a.1Rf||0!==a.2mQ;c=0<sb.2gQ;if(l||1a.3aR!==1a.4PN||1a.3wY!==1a.4PM||1a.2i1!==1a.3al||1a.2i0!==1a.3ak||1a.3wX!==1a.4PL||1a.2hZ!==1a.3aj||1a.1Rf!==1a.3ai||1a.2qB!==1a.4PK||1a.2i9!==1a.6a3)k="#1z 2tg\\2J 1v 2G;\\n#1u\\2J 1m 1xT;\\2J 1m 1Cr;\\2J 1m 1lU;\\2J 1m 1lV;\\2J 1m 1D5;\\2J 1m 19V;\\2J 1m 13h;\\2J 1m 1cd;\\2J 1m 1OK;\\2J 1v 1D1;\\n#if 2l(1Lu) || 2l(1tf)\\2J 1m 2cP;\\n#1u\\n#1z 1mP\\2J 1o 1k8;\\n#1u\\1B 1o 3hA;\\1J 1o 2Y8;\\1J 1v 2F;\\n#1z 1tf\\1J 1m 1OL;\\1J 1m 1YH;\\1J 1m 1YG;\\1J 1bG 2Y7;\\n#1u\\1J 1m 1nW;\\1J 1m 15g;\\n#1z 1D2\\1J 1m 1CK;\\1J 1o 2Y6;\\n#1u\\4i 1o 2cT = 1Aw.0;\\4i 1o 2st = 12v.0;\\4i 1o 1uH = 18C.0;\\4i 1o 16P = 256.0;\\4i 1o 2Y1 = 128.0;\\4i 1o 3Jp = 32.0;\\4i 1o 3Jn = 8.0;\\4i 1o 2Y3 = 4.0;\\4i 1o 1YB = 2.0;\\4i 1o 2cR = 1.0 / 18C.0;\\4i 1o 16s = 1.0 / 256.0;\\4i 1o 3Jq = 1.0 / 128.0;\\4i 1o 2Y2 = 1.0 / 32.0;\\4i 1o 3Jo = 1.0 / 8.0;\\4i 1o 2Y4 = 1.0 / 4.0;\\4i 1o 2v5 = 1.0 / 2.0;\\1P 1Oc(1m 4p, 1v 1cM, 1o 3b, 1v 2G, 1v 9X, 1v 11v, 1v 14l, 1w 1l5, 7d 1D3, 1o 5S, 7d 1jC, 9H 1bG 1h3, 9H 1o 1l3)\\n{\\2u 1xS = 1cM * 3b * 0.5;\\2bn *= ((2G * 2.0) - 1.0);\\2u 3Jr = 9X * abs(1xS);\\n#if 2l(2GU) || 2l(2kL)\\1U (1D3 || 5S != 0.0)\\n{\\1r 8f = 5S;\\1U (1D3)\\n{\\1P 1D6 = 11o * 1m(1l5, 0.0);\\18p += 12q(-1D6.x) * 1cz(12q(1D6.y) * (1D6.y * 1D6.y) /\\n(1D6.x * 1D6.x + 1D6.y * 1D6.y));\\n}\\1r 1ux = 3i(8f);\\1r 1YA = 2T(8f);\\3Js = 1bG(1ux, 1YA, -1YA, 1ux);\\2bn = 1h3 * 1xS;\\n}\\5L\\n{\\3Js = 1bG(1.0, 0.0, 0.0, 1.0);\\n}\\n#1u\\5f3 = 1dv(4p);\\1eR.xy += (3Jr + 1xS) * 15B(1jC, 1.0, 1l3);\\1eR.xy += (11v + 14l) * 1l3;\\2j 4p;\\n}\\n#1z 1Lu\\1r 1rB(1m 4p)\\n{\\1P 1Cs = 18a(4p);\\1r 1aT = 11N(1Y(1aB, 1Cs.xy / 9e.zw));\\1U (1aT == 0.0)\\n{\\2j 0.0;\\n}\\1P 5Z = 1az(1Cs.xy, 1aT);\\2j 5Z.z / 5Z.w;\\n}\\n#1u\\2s 2k()\\n{\\1R 1Su = 1xT.1H;\\1R 1St = 1Cr.1H;\\1r 3b = 1xT.w;\\n#if 2l(2GU) || 2l(2kL)\\1r 5S = 1Cr.w;\\n#1s\\1r 5S = 0.0;\\n#1u\\1r 1iW = 1lU.x;\\2u 14l;\\2v4.x = 2t(1iW * 3Jq);\\2v6 -= 14l.x * 2Y1;\\2v4.x -= 2cT;\\2u 9X;\\2Y5.x = 2t(1iW * 2Y2);\\2v6 -= 9X.x * 3Jp;\\2Y5.y = 2t(1iW * 3Jo);\\2v6 -= 9X.y * 3Jn;\\n#1z 1tf\\2u 2XV = 9X.xy;\\n#1u\\2Y5 -= 1v(1.0);\\1r 2p = 2t(1iW * 2Y4);\\2v6 -= 2p * 2Y3;\\n#1z 2tg\\2u 3Jm = 1mL(1lU.w);\\2u 3Jl = 1mL(19V.w);\\2u 8u = 3Jm + 2G * 3Jl;\\n#1s\\2u 2G;\\1fN.x = 2t(1iW * 2v5);\\1fN.y = 1iW - 2G.x * 1YB;\\2u 8u = 1mL(1lU.w);\\n#1u\\1r 4W = 1lU.y  * 16s;\\2v4.y = -(2t(4W) - 2cT);\\2u 11v;\\1YC.y = (4W - 2t(4W)) * 2st;\\15L = 1lU.z * 16s;\\1YC.x = 2t(4W) - 2cT;\\1YC.y += (4W - 2t(4W)) * 16P;\\1YC.y -= 2cT;\\15L = 1lV.x * 16s;\\1r 2cS = 2t(1D5.w * 2Y4);\\2u 1cM = 1v(2t(4W), 2cS);\\n#1z 1tf\\1r 1Lv = 2t(1D5.w - (2cS * 2Y3));\\1r 1Ip = 0.0;\\1U (1Lv != 0.0)\\n{\\5f2 = 1.0;\\5f1 -= 2.0;\\3Jk.x = 1Lv + 1.0;\\n}\\3Jk = 1v(1.0) - (2XV * 0.5);\\n#1u\\n#1z 1Ox\\1P 15M;\\1Ia.x = 1lV.z;\\1Ia.z = 1lV.w;\\1Ia.y = ((4W - 2t(4W)) * 16P) / 255.0;\\15L = 1lV.y * 16s;\\1Ia.w = ((4W - 2t(4W)) * 16P) / 255.0;\\n#1u\\n#if 2l(1Lu) || 2l(1tf)\\15L = 1OK.w;\\15L = 4W * 2cR;\\2u 6e;\\2cQ.y = (4W - 2t(4W)) * 1uH;\\2cQ.x = 2t(4W);\\n#1u\\n#1z 2kL\\1R 1l5 = 1gT(2t(1lV.y * 16s));\\15L = 1D5.z * 2Y2;\\166 1D3 = (4W - 2t(4W)) * 1YB > 0.0;\\n#1s\\1R 1l5 = 1w(0.0);\\166 1D3 = 16f;\\n#1u\\1P 1fR;\\1P 1A;\\15L = 1D5.y;\\15L = 4W * 16s;\\1y9.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\1y9.g = (4W - 2t(4W)) * 16P;\\1y9.r = 2t(4W);\\15L = 1D5.x;\\15L = 4W * 16s;\\6p.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\6p.g = (4W - 2t(4W)) * 16P;\\6p.r = 2t(4W);\\15L = 1D5.z * 16s;\\166 1jC = 2t((4W - 2t(4W)) * 2Y1) > 0.0;\\15L = 2t(4W) * 16s;\\1y9.a = (4W - 2t(4W)) * 16P;\\1y9 /= 255.0;\\6p.a = 2t(4W);\\6p /= 255.0;\\1P p = 16e(1Su, 1St);\\1P 4p = 15D * p;\\n#if 2l(1tf) || 2l(1Lu)\\1r 3Je = 4p.z;\\n#1u\\n#1z 1D4\\1R 3Jh = 19V.1H;\\1r 3Jj = 1dv(4p);\\3Ji.y = 3Jj * 19V.y;\\3Ji.z = 3hA;\\1eR = 2FU(4p, 3Jh.1H);\\n#1s\\1eR = 2FU(4p, 19V.1H);\\n#1u\\1eR.1H *= 2p;\\n#if 2l(2c8) || 2l(1Ox) || 2l(3hz) || 2l(1Fm) || 2l(1Ow)\\1r 1eT;\\1U (1kO == 1HG)\\n{\\1XV = 2tZ.y;\\n}\\5L\\n{\\1XV = 2A(4p.1H, 4p.1H);\\n}\\n#1u\\n#1z 2c8\\1r 2Y0 = 1Sk(13h, 1eT);\\3DU *= 2Y0;\\1YC *= 2Y0;\\1U (3b == 0.0)\\n{\\1eR.1H = 1w(0.0);\\n}\\n#1u\\1r 1Ov = 1.0;\\n#1z 1Ox\\3GL = 1Sk(15M, 1eT);\\1U (1Ov == 0.0)\\n{\\1eR.1H = 1w(0.0);\\n}\\n#1u\\n#1z 3hz\\1r 3Jg = 1Sk(1cd, 1eT);\\2v4 *= 3Jg;\\n#1u\\n#1z 1Fm\\1r 1Ou = 1OK.x;\\1r 1Ot = 1OK.y;\\1U (1eT < 1Ou || 1eT > 1Ot)\\n{\\1eR.1H = 1w(0.0);\\n}\\n#1u\\1KZ 1h3;\\1r 1l3;\\n#1z 1Ow\\1r 11p = 1OK.z;\\n#1u\\n#1z 1Lu\\1U (1eT < 11p) {\\1r 1HQ = 10.0;\\2u 2v3 = 2cP.xy;\\1P 2XZ = 1Oc(4p, 6e, 3b, 1v(0.0), 9X, 2v3, 14l, 1l5, 1D3, 5S, 1jC, 1h3, 1l3);\\1r 1YF = 1rB(2XZ);\\1U (1YF != 0.0 && 2XZ.z + 1HQ < 1YF)\\n{\\1P 2XY = 1Oc(4p, 6e, 3b, 1v(0.0, 1.0), 9X, 2v3, 14l, 1l5, 1D3, 5S, 1jC, 1h3, 1l3);\\1r 1YE = 1rB(2XY);\\1U (1YE != 0.0 && 2XY.z + 1HQ < 1YE)\\n{\\1P 2XX = 1Oc(4p, 6e, 3b, 1v(1.0), 9X, 2v3, 14l, 1l5, 1D3, 5S, 1jC, 1h3, 1l3);\\1r 1YD = 1rB(2XX);\\1U (1YD != 0.0 && 2XX.z + 1HQ < 1YD)\\n{\\1eR.1H = 1w(0.0);\\n}\\n}\\n}\\n}\\n#1u\\1eR = 1Oc(4p, 1cM, 3b, 2G, 9X, 11v, 14l, 1l5, 1D3, 5S, 1jC, 1h3, 1l3);\\11u = 17B * 4p;\\1mN = 8u;\\n#1z 10B\\1we();\\5f0 = 1.0 - 18z.x + 6I.w;\\n#1u\\n#1z 1Ow\\1U (11p == 0.0 && 2kc != 0.0)\\n{\\3GK = 2kc;\\n}\\1U (11p != 0.0)\\n{\\1r 1Yb = 6I.z / 6I.w;\\166 12P = (1Yb < -1.0 || 1Yb > 1.0);\\1U (!12P && (11p < 0.0 || (1eT > 0.0 && 1eT < 11p)))\\n{\\11u.z = -6I.w;\\n#1z 10B\\2Tc = 1.0;\\n#1u\\n}\\n}\\n#1u\\n#1z 1tf\\1U (1jC) {\\1YC /= 1l3;\\2cQ /= 1l3;\\2XW /= 1l3;\\n}\\n#if 2l(2GU) || 2l(2kL)\\3Jf = 1h3;\\n#1s\\3Jf = 1bG(1.0, 0.0, 0.0, 1.0);\\n#1u\\1r 3Jd = 0.0;\\1U (1eT < 11p)\\n{\\5eZ = 1.0;\\n}\\1r dw = 2t(2Y(6e.x, 0.0, 1uH));\\1r dh = 2t(2Y(6e.y, 0.0, 1uH));\\1r iw = 2t(2Y(1cM.x, 0.0, 1uH));\\1r ih = 2t(2Y(1cM.y, 0.0, 1uH));\\2v2.x = 3Je;\\2v2.y = 1Ip * 1YB + 3Jd;\\2v2.z = dw * 1uH + dh;\\2v2.w = iw * 1uH + ih;\\3Jc.xy = 2XV;\\3Jc.zw = 11v;\\5eY = 2cP;\\n#1u\\n#1z 1D2\\1P 5M;\\1r 5R;\\15L = 1D1.x;\\15L = 4W * 16s;\\1y8.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\1y8.g = (4W - 2t(4W)) * 16P;\\1y8.r = 2t(4W);\\15L = 1D1.y;\\15L = 4W * 16s;\\1r 5eX = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\5eW = (4W - 2t(4W)) * 16P;\\1y8.a = 2t(4W);\\1y8 /= 255.0;\\5eV = 5R / 255.0;\\2W8 = 5M;\\n#1u\\2VR = 1fR;\\1wi = 1A;\\1wi.a *= 1Ov;\\n}\\n",l="#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 2v 1Xv;\\n#1z 1mP\\1B 1m 1nU;\\n#1u\\1J 1o 2Y8;\\1J 1v 2F;\\1J 1m 1nW;\\1J 1m 15g;\\n#1z 1D2\\1J 1m 1CK;\\1J 1o 2Y6;\\n#1u\\n#1z 1tf\\1J 1m 1OL;\\1J 1m 1YH;\\1J 1m 1YG;\\1J 1bG 2Y7;\\4i 1o 1uH = 18C.0;\\4i 1o 1YB = 2.0;\\4i 1o 2cR = 1.0 / 18C.0;\\4i 1o 2v5 = 1.0 / 2.0;\\1r 1rB(1v 1OM, 1v 2Ye, 7d 1Ip, 1v 6e, 1v 1cM)\\n{\\2u 2Yd = 1cM * (2Ye - 1OM);\\5f6 = 2Y7 * 2Yd;\\2u 3Ju = (6e - 1cM) * (2Ye - 1v(0.0, 1YH.y));\\2u 14L = 1YH.zw;\\1U (1Ip)\\n{\\5f5 += (6e * 1YH.xy * 1v(1.0, 0.0));\\n}\\2u st = ((2Yd - 14L + 3Ju) + 4u.xy) / 9e.zw;\\1r 17n = 11N(1Y(1aB, st));\\1U (17n == 0.0)\\n{\\2j 0.0;\\n}\\1P 5Z = 1az(4u.xy, 17n);\\2j 5Z.z / 5Z.w;\\n}\\n#1u\\n#1z 1D2\\1r 2Ya(1v 1K)\\n{\\2j 1Y(1Xv, 1K).r;\\n}\\1P 1ON(1v 1K, 1o 5R, 1m 5M, 1o 1l6)\\n{\\1r 3s = 2Ya(1K);\\1U (5R > 0.0)\\n{\\1r 2Yc = 2Y(1Iq - 5R, 0.0, 1Iq);\\1r 3Jt = 13f(1Iq - 1l6, 1Iq + 1l6, 3s);\\1P 2Yb = 3T(5M, 15g, 3Jt);\\1r 2O = 13f(2Yc - 1l6, 2Yc + 1l6, 3s);\\2j 1m(2Yb.2y, 2Yb.a * 2O);\\n}\\5L\\n{\\1r 2O = 13f(1Iq - 1l6, 1Iq + 1l6, 3s);\\2j 1m(15g.2y, 15g.a * 2O);\\n}\\n}\\n#1u\\2s 2k()\\n{\\1P 1A = 1Y(1Xv, 2F);\\n#1z 1D2\\1r 5R = 2Y6;\\1P 5M = 1CK;\\1r 3s = 2Ya(2F);\\n#if 2l(8p) || 2l(1dt)\\1r 1l6 = 2Gl(3s);\\2u 1us = 0.354 * 1v(1cu(2F) + 1ct(2F));\\1P 2V = 1ON(2F, 5R, 5M, 1l6);\\1P 1dT = 1ON(2F + 1v(1us.x, 1us.y), 5R, 5M, 1l6);\\1P 1mG = 1ON(2F + 1v(-1us.x, 1us.y), 5R, 5M, 1l6);\\1P 2sD = 1ON(2F + 1v(-1us.x, -1us.y), 5R, 5M, 1l6);\\1P 2sE = 1ON(2F + 1v(1us.x, -1us.y), 5R, 5M, 1l6);\\6p = (2V + 1dT + 1mG + 2sD + 2sE)/5.0;\\n#1s\\1r 1l6 = 1.0/32.0;\\6p = 1ON(2F, 5R, 5M, 1l6);\\n#1u\\6p = 9D(1A);\\n#1s\\6p = 9D(1A);\\6p *= 9D(15g);\\n#1u\\n#if !2l(18W) && !2l(1bl)\\1U (1A.a < 0.1Am)\\n{\\10W;\\n}\\n#1s\\n#1z 18W\\1U (1A.a < 0.995)\\n{\\10W;\\n}\\n#1s\\1U (1A.a >= 0.995)\\n{\\10W;\\n}\\n#1u\\n#1u\\n#1z 1mP\\6p *= 1nU;\\n#1u\\n#1z 4hH\\n#1z 10B\\1r 1qk = 1iK(2Y8) * 2ji;\\n#1s\\1r 1qk = 4u.z;\\n#1u\\3R = 1m(1qk, 1qk * 1qk, 1.0, 1.0);\\n#1s\\3R = 1A;\\n#1u\\n#1z 10B\\1ri();\\n#1u\\n#1z 1tf\\1r 4W = 1YG.y;\\15L = 4W * 2v5;\\1r 2cS = (4W - 2t(4W)) * 1YB;\\166 2Y9 = 2cS != 0.0;\\166 1Ip = 2t(4W) != 0.0;\\1U (2Y9) {\\15L = 1YG.z;\\15L = 4W * 2cR;\\2u 6e;\\2cQ.y = (4W - 2t(4W)) * 1uH;\\2cQ.x = 2t(4W);\\15L = 1YG.w;\\15L = 4W * 2cR;\\2u 1cM;\\2XW.y = (4W - 2t(4W)) * 1uH;\\2XW.x = 2t(4W);\\2u 1OM = 2F - 1OL.xy;\\5f4 = 1OM / 1v(1OL.z - 1OL.x, 1OL.w - 1OL.y);\\1r 2v7 = 1YG.x + 1jt;\\1r 1YF = 1rB(1OM, 1YH.xy, 1Ip, 6e, 1cM);\\1U (1YF != 0.0 && 1YF > 2v7)\\n{\\1r 1YE = 1rB(1OM, 1v(0.0, 1.0), 1Ip, 6e, 1cM);\\1U (1YE != 0.0 && 1YE > 2v7)\\n{\\1r 1YD = 1rB(1OM, 1v(1.0, 1.0), 1Ip, 6e, 1cM);\\1U (1YD != 0.0 && 1YD > 2v7)\\n{\\10W;\\n}\\n}\\n}\\n}\\n#1u\\n}\\n",n=[],g(1a.6y)&&(n.1q("1mP"),k=1a.6y.1zS(!1,"1k8",1p 0)(k),l=1a.6y.2Dv(!1,1p 0)(l)),k=1g ja({2N:n,5p:[k]}),1a.1mh&&k.2N.1q("2tg"),1a.3aR&&k.2N.1q("2GU"),1a.3wY&&k.2N.1q("2kL"),1a.2i1&&k.2N.1q("2c8"),1a.2i0&&k.2N.1q("1Ox"),1a.3wX&&k.2N.1q("3hz"),1a.2hZ&&k.2N.1q("1Fm"),1a.1Rf&&k.2N.1q("1Ow"),1a.2qB&&(c?k.2N.1q("1Lu"):k.2N.1q("1tf")),1a.6a4&&k.2N.1q("8IE"),1a.2JW&&k.2N.1q("1D4"),m=1-qk.4Pz,1a.2i9&&k.2N.1q("1D2"),w=g(1a.6y)?"1mP":"",1a.1r5===jf.23t&&(n=1g ja({2N:["18W",w],5p:[l]}),1a.2qB&&(c?n.2N.1q("1Lu"):n.2N.1q("1tf")),1a.2i9&&(n.2N.1q("1D2"),n.2N.1q("1Iq "+m)),1a.11V=Ga.1sw({1O:b,2z:1a.11V,5O:k,5A:n,7W:je}),n=1g ja({2N:["1bl",w],5p:[l]}),1a.2qB&&(c?n.2N.1q("1Lu"):n.2N.1q("1tf")),1a.2i9&&(n.2N.1q("1D2"),n.2N.1q("1Iq "+m)),1a.1ED=Ga.1sw({1O:b,2z:1a.1ED,5O:k,5A:n,7W:je})),1a.1r5===jf.18W&&(n=1g ja({2N:[w],5p:[l]}),1a.2qB&&(c?n.2N.1q("1Lu"):n.2N.1q("1tf")),1a.2i9&&(n.2N.1q("1D2"),n.2N.1q("1Iq "+m)),1a.11V=Ga.1sw({1O:b,2z:1a.11V,5O:k,5A:n,7W:je})),1a.1r5===jf.1bl&&(n=1g ja({2N:[w],5p:[l]}),1a.2qB&&(c?n.2N.1q("1Lu"):n.2N.1q("1tf")),1a.2i9&&(n.2N.1q("1D2"),n.2N.1q("1Iq "+m)),1a.1ED=Ga.1sw({1O:b,2z:1a.1ED,5O:k,5A:n,7W:je})),1a.45U&&(n=1g ja({2N:[w],5p:[l]}),1a.45T=Ga.1sw({1O:b,2z:1a.45T,5O:k,5A:n,7W:je})),1a.4PN=1a.3aR,1a.4PM=1a.3wY,1a.3al=1a.2i1,1a.3ak=1a.2i0,1a.4PL=1a.3wX,1a.3aj=1a.2hZ,1a.3ai=1a.1Rf,1a.4PK=1a.2qB,1a.6a3=1a.2i9;c=a.13l;b=!0;a.19c.1mc===Ud.1pe&&(b=!1);if(b&&(f.3t||f.11P)){b=1a.27k;f=1a.1r5===jf.18W;l=1a.1r5===jf.23t;k=1a.1aa.va;w=k.1h;n=1a.1dg;g(1a.6y)?(n=1a.6y.1BM()(n),m=1a.6y.1Rg()):m="1nW";b.1h=w;w=l?2*w:w;1j(x=0;x<w;++x)q=b[x],g(q)||(q=b[x]=1g Oa),t=f||l&&0===x%2,q.7H=1a,r=l?1k.2t(x/2):x,q.6W=h,q.4a=e,q.7Z=k[r].1Jn,q.4J=n,q.4c=k[r].va,1a.45U?(q.6t=ma.2Ht,q.4w=1a.4PJ,q.2z=1a.45T):(q.6t=t||!l?ma.37a:ma.1bl,q.4w=t?1a.2Pr:1a.2n1,q.2z=t?1a.11V:1a.1ED),q.15S=1a.15S,q.1cI=m,1a.1mh&&(q.7Z=6,q.1gC=d),c.1q(q);1a.4PI&&(g(1a.4PH)||(1a.4PH=6a2(1a,a.1O)),c.1q(1a.4PH))}}}}};xd.1i.45P=1b(){10G{1d a=[],b=1a;1a.17T.5d(1b(c){if(g(c)&&c.2p){1d d=c.26d(b.2R);g(d)&&a.1q({17R:c,1En:!0,16Q:d})}});1j(1d c=hy(a,n6,o6,18C,1fZ),d=a.1h,e=0;e<d;++e){1d f=a[e],h=f.17R;if(g(h)){1j(1d l=wb.2i2(h,f.16Q),k=c.1sU(l.x,l.y,l.x+l.1G,l.y+l.1D),n=k.1h,m=0,w=0;w<n;++w){1d x=k[w],q=a[x];e===x||q.1En||++m}1>m?f.1En=!1:(h.2p=!1,1a.29I.45S(h.id,h.12N,!1))}}}11B(t){}};xd.1i.5IB=1b(a){if(0!==a.1h&&0!==1a.17T.1h){1d b=1a.2R.1by.5q,c=b.x,d=b.x+b.1G,e=b.y,f=b.y+b.1D;b=[];1j(1d h=0,l=a.1h;h<l;++h){1d k=a[h];if(!(k>=1a.17T.1h)){1d n=1a.17T[k].26d(1a.2R,1p 0);g(n)&&n.x>=c&&n.x<=d&&n.y>=e&&n.y<=f&&b.1q({2P:k,1En:!0,16Q:n})}}a=hy(b,n6,o6,18C,1fZ);c=[];d=b.1h;1j(h=0;h<d;++h){e=b[h];k=e.2P;f=wb.2i2(1a.17T[k],e.16Q,1p 0);f=a.1sU(f.x,f.y,f.x+f.1G,f.y+f.1D);l=f.1h;1j(1d m=n=0;m<l;++m){1d w=f[m],x=b[w];h===w||x.1En||++n}1>n&&(e.1En=!1,c.1q(k))}1a.45Q(c)}};xd.1i.45Q=1b(a){1j(1d b={},c=0,d=1a.17T.1h;c<d;++c)b[c]=!1;c=0;1j(d=a.1h;c<d;c++)b[a[c]]=!0;c=0;1j(d=1a.17T.1h;c<d;++c)1a.6a1(c,b[c])};xd.1i.6a1=1b(a,b){if(!g(a))1t 1g r("2P is 1X.");1a.17T[a].2p=b;1a.29I.45S(1a.17T[a].id,1a.17T[a].12N,b)};xd.1i.3Z=1b(){1f!1};xd.1i.1M=1b(){g(1a.1lm)&&(1a.1lm(),1a.1lm=1p 0);1a.18j=1a.2eN&&1a.18j&&1a.18j.1M();1a.11V=1a.11V&&1a.11V.1M();1a.1ED=1a.1ED&&1a.1ED.1M();1a.1aa=1a.1aa&&1a.1aa.1M();e6(1a.17T);1f la(1a)};xd.1i.6a0=1b(a){1j(1d b=1a.17T.1h,c=0;c<b;++c){1d d=1a.17T[c];d.3Z()||d.69Z(a)}};1d 69Y=1g T;1L.2X(Pf.1i,{2p:{1n:1b(){1f 1a.1eh.2p},1C:1b(a){1a.1eh.2p=a;1a.1ow.2p=a;1a.1u6.2p=a}},1A:{1n:1b(){1f 1a.7a},1C:1b(a){1a.7a=y.1y(a,1a.7a);iy(1a)}},1i7:{1n:1b(){1f 1a.1Qf},1C:1b(a){1a.1Qf=a;iy(1a)}},2od:{1n:1b(){1f 1a.2oc},1C:1b(a){1a.2oc=y.1y(a,1a.2oc);iy(1a)}},2ob:{1n:1b(){1f 1a.2zH},1C:1b(a){1a.2zH=a;iy(1a)}},2oa:{1n:1b(){1f 1a.1eh.1b5},1C:1b(a){1a.1eh.1b5=a;1a.1u6.2p=1a.1eh.2p&&0<a.2O}},2o9:{1n:1b(){1f 1a.1eh.5M},1C:1b(a){1a.1eh.5M=a}},2o8:{1n:1b(){1f 1a.1eh.5R},1C:1b(a){1a.1eh.5R=a}},9O:{1n:1b(){1f 1a.1eh.9O},1C:1b(a){1a.1eh.9O=a}},21B:{1n:1b(){1f 1a.1eh.2r},1C:1b(a){1a.1eh.2r=a}},26s:{1n:1b(){1f 1a.1eh.3l},1C:1b(a){g(a)||(a="");1a.1eh.3l=a}},1a4:{1n:1b(){1f 1a.1eh.1a4},1C:1b(a){1a.1eh.1a4=a}},1pJ:{1n:1b(){1f 1a.1eh.1pJ},1C:1b(a){1a.1eh.1pJ=a}},2o7:{1n:1b(){1f 1a.1eh.1oC},1C:1b(a){1a.1eh.1oC=a}},13h:{1n:1b(){1f 1a.1eh.13h},1C:1b(a){1a.1eh.13h=a;1a.1ow.13h=a}},15M:{1n:1b(){1f 1a.1eh.15M},1C:1b(a){1a.1eh.15M=a;1a.1ow.15M=a}},4S:{1n:1b(){1f 1a.1eh.4S},1C:1b(a){1a.1eh.4S=a;1a.1u6.4S=a;1a.1ow.4S=a}},1xk:{1n:1b(){1f 1a.2zG},1C:1b(a){1d b=m(1a.2zG,0),c=1a.1ae.15c.3c,d=c.10Z(1a.1ow.1K,69Y);d.1D=d.1D-b+a;b=c.13B(d);1a.1ow.1K=b;1a.1eh.1K=1a.1ow.1K;1a.1u6.3q=[1a.1u6.3q[0],b];1a.2zG=a}},2o6:{1n:1b(){1f 1a.1u6.2p},1C:1b(a){1a.1u6.2p=a}},2o5:{1n:1b(){1f 1a.1u6.2q.6H.1A},1C:1b(a){1a.1u6.2q.6H.1A=y.1y(a,1a.1u6.2q.6H.1A)}},4d:{1n:1b(){1f 1a.2Dz},1C:1b(a){1d b=1a.2Dz!==a;1a.2Dz=a;b&&iy(1a)}},11p:{1n:1b(){1f 1a.1eh.11p},1C:1b(a){1a.1eh.11p=a;1a.1ow.11p=a}},15P:{1n:1b(){1f 1a.1ow.15P},1C:1b(a){1a.1ow.15P=a}},16l:{1n:1b(){1f 1a.1ow.16l},1C:1b(a){1a.1ow.16l=a}},1Lv:{1n:1b(){1f 1a.1eh.15P},1C:1b(a){1a.1eh.15P=a}},2o4:{1n:1b(){1f 1a.1eh.16l},1C:1b(a){1a.1eh.16l=a}},15k:{1n:1b(){1f 1a.1ae}},15c:{1n:1b(){1f 1a.1ae.15c}},9k:{1n:1b(){1f 1a.1ae.15c}},32V:{1n:1b(){1d a=1a.1zT;a[0]=1a.1ow.1cI;a[1]=1a.1eh.1cI;a[2]=1a.1u6.1cI;1f a}}});Pf.4Pr=y.9r;Pf.4Pq=y.1a7;Pf.4Pp=0;Pf.4Ps=8;Pf.1i.1qP=1b(a){1f 1a.1ae.1ac.1qP(1a.1oI,a)};Pf.1i.2Ns=1b(a){1f 1a.1ae.1ac.2Ns(1a.1oI,a)};Pf.1i.1vb=1b(a){1f 1a.1ae.1ac.1vb(1a.1oI,a)};Pf.1i.2xB=1b(a,b){1a.1ae.1ac.2xB(1a.1oI,a,b);1a.1ae.1K0=!0};Pf.1i.2qA=1b(a){1f 1a.1ae.1ac.2qA(1a.1oI,a)};Pf.1i.2qz=1b(a){1f 1a.1ae.1ac.2qz(1a.1oI,a)};Pf.1i.2i8=1b(){1f 1a.1ae.1ac.2i8(1a.1oI)};1d qe=1L.3F({1LX:0,3VV:1,1R0:2}),og=1L.3F({3wW:0,2Dy:1,3wV:2,2PF:3});1L.2X(Fj.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");if(1a.10T!==a){1a.10T=a;1j(1d b=1a.1pZ,c=0,d=b.1h;c<d;c++){1d e=b[c].10i;g(e)&&(e.2p=a)}b=1a.1r6;g(b)&&(b.2p=a)}}},1K:{1n:1b(){1f 1a.9M},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.9M;if(!k.2L(b,a)){k.1y(a,b);b=1a.1pZ;1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c].10i;g(e)&&(e.1K=a)}b=1a.1r6;g(b)&&(b.1K=a);1a.1xz()}}},6N:{1n:1b(){1f 1a.1c1},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");if(a!==1a.1c1){1a.1c1=a;1j(1d b=1a.1pZ,c=0,d=b.1h;c<d;c++){1d e=b[c].10i;g(e)&&(e.6N=a)}b=1a.1r6;g(b)&&(b.6N=a);hC(1a);1a.1xz()}}},3l:{1n:1b(){1f 1a.39X},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");if(1a.39X!==a){1a.39X=a;if(Fj.69W){a=a.7g("\\n");1j(1d b="",c=0;c<a.1h;c++){1j(1d d=a[c],e=4PG.6S(d.1as(0)),f=4PG,h=/[a-zA-Z0-9]/,l=/[()[\\]{}<>]/,k=[],n="",m=og.3wW,w="",x=d.1h,q=0;q<x;++q){1d t=d.1as(q);w=f.6S(t)?og.2Dy:h.6S(t)?og.3wW:l.6S(t)?og.2PF:og.3wV;0===q&&(m=w);m===w&&w!==og.2PF?n+=t:(""!==n&&k.1q({1tU:m,1Wc:n}),m=w,n=t)}k.1q({1tU:w,1Wc:n});d=k;f=0;h="";1j(l=0;l<d.1h;++l)if(k=d[l],n=k.1tU===og.2PF?69X(k.1Wc):k.1Wc.7g("").1e1().14G(""),e)if(k.1tU===og.2Dy)h=n+h,f=0;1s if(k.1tU===og.3wW)h=iC(h,f,k.1Wc),f+=k.1Wc.1h;1s{if(k.1tU===og.3wV||k.1tU===og.2PF)k.1tU===og.3wV&&d[l-1].1tU===og.2PF?h=n+h:d[l-1].1tU===og.2Dy?(h=n+h,f=0):d.1h>l+1?d[l+1].1tU===og.2Dy?(h=n+h,f=0):(h=iC(h,f,k.1Wc),f+=k.1Wc.1h):h=iC(h,0,n)}1s if(k.1tU===og.2Dy)h=iC(h,f,n);1s if(k.1tU===og.3wW)h+=k.1Wc,f=h.1h;1s if(k.1tU===og.3wV||k.1tU===og.2PF)0<l?d[l-1].1tU===og.2Dy?d.1h>l+1?d[l+1].1tU===og.2Dy?h=iC(h,f,n):(h+=k.1Wc,f=h.1h):h+=k.1Wc:(h+=k.1Wc,f=h.1h):(h+=k.1Wc,f=h.1h);b+=h;c<a.1h-1&&(b+="\\n")}a=b}1a.3aO=a;Tp(1a)}}},9O:{1n:1b(){1f 1a.1Bp},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1Bp!==a&&(1a.1Bp=a,Tp(1a),iR(1a))}},1b5:{1n:1b(){1f 1a.1pN},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.1pN;y.2L(b,a)||(1a.45R=y.1y(b),y.1y(a,b),Tp(1a))}},5M:{1n:1b(){1f 1a.16O},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.16O;y.2L(b,a)||(y.1y(a,b),Tp(1a))}},5R:{1n:1b(){1f 1a.16n},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.16n!==a&&(1a.16n=a,Tp(1a))}},1oC:{1n:1b(){1f 1a.1MN},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1MN!==a&&(1a.1MN=a,Tp(1a))}},1a4:{1n:1b(){1f 1a.1vi},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.1vi;y.2L(b,a)||(y.1y(a,b),a=1a.1r6,g(a)&&(a.1A=b))}},1pJ:{1n:1b(){1f 1a.1Qe},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.1Qe;C.2L(b,a)||(C.1y(a,b),hC(1a))}},2r:{1n:1b(){1f 1a.14N},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.14N!==a&&(1a.14N=a,Tp(1a))}},14l:{1n:1b(){1f 1a.1qS},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.1qS;if(!C.2L(b,a)){C.1y(a,b);b=1a.1pZ;1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.14l=a)}b=1a.1r6;g(b)&&(b.14l=a)}}},15M:{1n:1b(){1f 1a.1gH},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");1d b=1a.1gH;if(!Db.2L(b,a)){1a.1gH=Db.1y(a,b);b=1a.1pZ;1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.15M=a)}b=1a.1r6;g(b)&&(b.15M=a)}}},1cd:{1n:1b(){1f 1a.1vR},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");1d b=1a.1vR;if(!Db.2L(b,a)){1a.1vR=Db.1y(a,b);b=1a.1pZ;1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.1cd=a)}b=1a.1r6;g(b)&&(b.1cd=a)}}},13h:{1n:1b(){1f 1a.1hV},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");1d b=1a.1hV;if(!Db.2L(b,a)){1a.1hV=Db.1y(a,b);b=1a.1pZ;1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.13h=a)}b=1a.1r6;g(b)&&(b.13h=a)}}},19V:{1n:1b(){1f 1a.1vS},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.1vS;if(!k.2L(b,a)){k.1y(a,b);b=1a.1pZ;1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.19V=a)}b=1a.1r6;g(b)&&(b.19V=a)}}},15P:{1n:1b(){1f 1a.1qO},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1qO!==a&&(1a.1qO=a,hC(1a))}},16l:{1n:1b(){1f 1a.1jT},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");if(1a.1jT!==a){1a.1jT=a;1j(1d b=1a.1pZ,c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.16l=a)}b=1a.1r6;g(b)&&(b.16l=a);hC(1a)}}},3b:{1n:1b(){1f 1a.13V},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");if(1a.13V!==a){1a.13V=a;1j(1d b=1a.1pZ,c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.3b=a*1a.2PD)}b=1a.1r6;g(b)&&(b.3b=a*1a.2PD);hC(1a)}}},3wT:{1n:1b(){1f 1a.13V*1a.2PD}},4S:{1n:1b(){1f 1a.17y},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 2Q be 9U 6L 3I");if(!ob.2L(a,1a.17y)){1a.17y=ob.1y(a,1a.17y);1j(1d b=1a.1pZ,c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.4S=a)}b=1a.1r6;g(b)&&(b.4S=a)}}},11p:{1n:1b(){1f 1a.1f9},1C:1b(a){if(1a.1f9!==a){if(g(a)&&0>a)1t 1g r("11p 2Q be 9U 6L 0.0.");1a.1f9=a;1j(1d b=1a.1pZ,c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.11p=a)}b=1a.1r6;g(b)&&(b.11p=a)}}},id:{1n:1b(){1f 1a.7R},1C:1b(a){if(1a.7R!==a){1a.7R=a;1j(1d b=1a.1pZ,c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.id=a)}b=1a.1r6;g(b)&&(b.id=a)}}},1cI:{1n:1b(){if(0!==1a.1pZ.1h&&g(1a.1pZ[0].10i))1f 1a.1pZ[0].10i.1cI}},1rm:{1n:1b(){1f 1a.2Px},1C:1b(a){v.2l("1Q",a);v.1N.7d("1Q",a);1a.2Px=a}},1BK:{1n:1b(){1f 1a.29H},1C:1b(a){1a.29H=k.1y(a,1a.29H);1j(1d b=1a.1pZ,c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.1BK=a)}b=1a.1r6;g(b)&&(b.1BK=a)}},29y:{1n:1b(){1f 1a.23u},1C:1b(a){if(1a.23u!==a){1a.23u=a;1j(1d b=1a.1pZ,c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.10i)&&(e.10i.29y=a)}b=1a.1r6;g(b)&&(b.29y=a)}}}});Fj.1i.1xz=1b(){wb.1xz(1a.16k,1a)};Fj.1i.26d=1b(a,b){if(!g(a))1t 1g r("4r is 1X.");g(b)||(b=1a.4Pu);1d c=1a.16k.4a,d=g(1a.29H)?1a.29H:1a.9M;1f wb.3w7(c,d,1a.1vS,1a.1qS,a,b)};Fj.1i.4Pv=1b(a,b){1d c=a.3wT;1d d=a.16k.2dJ;1d e=a.1r6;if(g(e)){1d f=e.23C.x/d;1d h=-(e.23C.y/d);d=e.1G*c;c*=e.1D;a.16l===fc.1Qm||a.16l===fc.2i7?h-=c:a.16l===fc.1dq&&(h-=.5*c)}1s{h=f=3a.19B;1d l=0;e=0;1j(1d k=a.1pZ,n=k.1h,m=0;m<n;++m){1d w=k[m],x=w.10i;if(g(x)){1d q=x.23C.x/d;x=-(x.23C.y/d);1d t=w.6e.1G*c;w=w.6e.1D*c;a.16l===fc.1Qm||a.16l===fc.2i7?x-=w:a.16l===fc.1dq&&(x-=.5*w);if(a.1jT===fc.1g5)x+=qk.2PC*c;1s if(a.1jT===fc.1Qm||a.1jT===fc.2i7)x-=qk.2PC*c;f=1k.2o(f,q);h=1k.2o(h,x);l=1k.1V(l,q+t);e=1k.1V(e,x+w)}}d=l-f;c=e-h}g(b)||(b=1g Aa);b.x=f;b.y=h;b.1G=d;b.1D=c;1f b};Fj.1i.2i2=1b(a,b,c){g(c)||(c=1g Aa);1a.4Pv(a,c);c.x+=b.x;c.y+=b.y;1f c};Fj.1i.2L=1b(a){1f 1a===a||g(a)&&1a.10T===a.10T&&1a.13V===a.13V&&1a.16n===a.16n&&1a.1MN===a.1MN&&1a.14N===a.14N&&1a.1jT===a.1jT&&1a.1qO===a.1qO&&1a.1c1===a.1c1&&1a.3aO===a.3aO&&1a.1Bp===a.1Bp&&k.2L(1a.9M,a.9M)&&y.2L(1a.1pN,a.1pN)&&y.2L(1a.16O,a.16O)&&y.2L(1a.1vi,a.1vi)&&C.2L(1a.1Qe,a.1Qe)&&C.2L(1a.1qS,a.1qS)&&k.2L(1a.1vS,a.1vS)&&Db.2L(1a.1gH,a.1gH)&&Db.2L(1a.1vR,a.1vR)&&Db.2L(1a.1hV,a.1hV)&&ob.2L(1a.17y,a.17y)&&1a.1f9===a.1f9&&1a.7R===a.7R};Fj.1i.3Z=1b(){1f!1};Fj.1i.69F=1b(){1d a=y.1y(1a.1pN),b=1a.45R;y.2L(a,b)||(1a.1pN=y.1y(b),Tp(1a))};Fj.1i.3Vp=1b(a){g(a)&&(1a.1Bp=m(a.9O,1a.1Bp),1a.1pN=y.1y(m(a.1b5,1a.1pN)),1a.45R=y.1y(1a.1pN),1a.16O=y.1y(m(a.5M,1a.16O)),1a.16n=m(a.5R,1a.16n),1a.1MN=m(a.1oC,1a.1MN),1a.1vi=y.1y(m(a.1a4,1a.1vi)),1a.1Qe=m(a.1pJ,1a.1Qe),1a.14N=m(a.15b,1a.14N),1a.1jT=m(a.16l,1a.1jT),1a.1qO=m(a.15P,1a.1qO),1a.1qS=C.1y(m(a.14l,1a.1qS)),1a.1vS=k.1y(m(a.19V,1a.1vS)),1a.13V=m(a.3b,1a.13V),1a.1gH=Db.1y(m(a.15M,1a.1gH)),1a.1vR=Db.1y(m(a.1cd,1a.1vR)),1a.1hV=Db.1y(m(a.13h,1a.1hV)),1a.1c1=m(a.6N,1a.1c1),1a.17y=ob.1y(m(a.4S,1a.17y)),1a.1f9=m(a.11p,1a.1f9),iR(1a),Tp(1a))};Fj.69W=!1;1d 4PG=/[\\8ID-\\8IC\\8IB-\\8IA\\8Iz-\\8Iy\\8Ix-\\8Iw]/,jR=1g C(4,4),69Q=1g Aa(1,1,1,1),ep={},69T=1g s6,vM=1g k,uf=1g C,69K=1g C;1L.2X(de.1i,{1h:{1n:1b(){1f 1a.1fG.1h}},5Hq:{1n:1b(){1f 1a.4PF},1C:1b(a){v.2l("69V Id 1Q",a);1a.4PF=a}},1jp:{1n:1b(){1f 1a.1V6},1C:1b(a){v.2l("1jp 1Q",a);y.1y(a,1a.1V6)}}});de.1i.add=1b(a){a=m(a,{});a.2P=1a.1fG.1h;a=1g Fj(a,1a);1a.1fG.1q(a);1a.2Pz.1q(a);g(a.id)&&(1a.1N2[a.id]=a);1f a};de.1i.3S=1b(a){if(g(a)&&a.16k===1a){1d b=1a.1fG.3f(a);if(-1!==b)1f 1a.1fG.6z(b,1),t6(1a,a),g(a.id)&&0<1L.9K(1a.1N2).1h&&4Y 1a.1N2[a.id],!0}1f!1};de.1i.7f=1b(){1j(1d a=1a.1fG,b=0,c=a.1h;b<c;++b)t6(1a,a[b]);a.1h=0;1a.1N2={};1a.3aN.1h=0;1a.2Px=!1};de.1i.8h=1b(a){1f g(a)&&a.16k===1a};de.1i.5R5=1b(a){1f 1a.1N2.3p(a)};de.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.");1f 1a.1fG[a]};de.1i.1of=1b(a){if(!g(a))1t 1g r("id is 1X.");1f g(1a.1N2[a])?1a.1N2[a]:1F};de.1i.2H=1b(a,b,c){if(-1<a.1g4&&0<1a.1fG.1h&&g(1a.1fG[0].7R)&&g(1a.1fG[0].7R.1mu)&&(b=1a.1fG[0].7R.1mu.7H,"7w"!==2h b.1ks&&!b.1ks(a.1g4)))1f;1d d=1a.13d,e=1a.2Py;d.4a=1a.4a;d.15S=1a.15S;e.4a=1a.4a;e.15S=1a.15S;b=a.1O;g(1a.18j)||(1a.18j=1g Om({1O:b}),d.3mJ=1a.18j);g(1a.2Dx)||(1a.2Dx=1g Om({1O:b,4PE:jR}),e.3mJ=1a.2Dx,69U(1a.2Dx,1a));1d f=b.13m.2dz,h=1a.2dJ!==f;1a.2dJ=f;1j(1d l=1a.2Pz.1h,k=0;k<l;++k){1d n=1a.2Pz[k];if(!n.3Z()){1d m=n.1pZ.1h;if(n.3aP){1d w,x=n,q=x.3aO,t=69T.69S(q),r=t.1h,u=x.1pZ;1d v=u.1h;x.2PD=x.1xt/qk.4PC;if(r<v)1j(w=r;w<v;++w)kR(1a,u[w]);u.1h=r;w=x.1MN&&0<q.7g("\\n").14G("").1h;q=x.1r6;v=1a.2Py;w?(g(q)||(q=g(x.3aQ)?v.add({1ho:1a,4d:x.3aQ}):v.add({1ho:1a,4d:"69R",23r:69Q}),x.1r6=q),g(x.3aQ)||(q.1A=x.1vi),q.2p=x.10T,q.1K=x.9M,q.19V=x.1vS,q.14l=x.1qS,q.15P=oc.1hc,q.16l=x.1jT,q.6N=x.1c1,q.3b=x.3wT,q.1FK=x,q.id=x.7R,q.15M=x.1gH,q.1cd=x.1vR,q.13h=x.1hV,q.4S=x.17y,q.11p=x.1f9):g(q)&&(v.3S(q),x.1r6=q=1p 0);1d A=1a.69P;1j(v=w=0;v<r;++v){1d B=t[v];1d E=x.1jT,F=4H.8s([B,x.4PB,x.4PD,x.1QT,+E]),K=A[F];if(!g(K)){K=B;1d H=y.9r,L=y.9r,S=qe.1LX;ep.9O=x.4PD+" "+x.1QT+" "+qk.4PC+"px "+x.4PB;ep.1b5=H;ep.69O=L;ep.2IU=0;ep.1fT=qk.2PC;ep.1v2=E===fc.1dq?"1y1":E===fc.1g5?"5C":"7b";ep.4K=S===qe.1LX||S===qe.1R0;ep.15n=S===qe.3VV||S===qe.1R0;ep.1a4=y.1a7;E=sP(K,ep);K=1g 69N(1a,-1,E.6e);A[F]=K;if(0<E.1G&&0<E.1D){H=p6(E,{4PA:qk.4Pz,3L:qk.4Py});L=E.1ft("2d");S=E.1G;1j(1d U=E.1D,R=L.1LW(0,0,S,U),V=0;V<S;V++)1j(1d W=0;W<U;W++){1d da=W*S+V,ea=255*H[da];da*=4;R.2g[da+0]=ea;R.2g[da+1]=ea;R.2g[da+2]=ea;R.2g[da+3]=ea}L.2mb(R,0,0);" "!==B&&69M(1a.18j,F,E,K)}}w=1k.1V(w,K.6e.1D);B=u[v];g(B)?-1===K.2P?kR(1a,B):g(B.3wU)&&(B.3wU=1p 0):(B=1g 69L,u[v]=B);B.3wU=K;B.6e=K.6e;-1!==K.2P&&(K=B.10i,E=1a.4Px,g(K)||(0<E.1h?K=E.9l():(K=1a.13d.add({1ho:1a}),K.2PB=1g C,K.2qy=1g C),B.10i=K),K.2p=x.10T,K.1K=x.9M,K.19V=x.1vS,K.14l=x.1qS,K.15P=oc.1hc,K.16l=x.1jT,K.1c1=x.1c1,K.3b=x.3wT,K.1FK=x,K.id=x.7R,K.4d=F,K.15M=x.1gH,K.1cd=x.1vR,K.13h=x.1hV,K.4S=x.17y,K.11p=x.1f9,K.2PE=x.2PE,K.5M=x.5M,x.2r===qe.1R0?(K.1A=x.1pN,K.5R=x.5R):x.2r===qe.1LX?(K.1A=x.1pN,K.5R=0):x.2r===qe.3VV&&(K.1A=y.28g,K.5R=x.5R))}if(1a.2JW)1j(t=x,v=0;v<r;++v)A=u[v],g(A)&&g(A.10i)&&(A=A.10i,g(t.3aQ)&&g(q)?(vM.y=.5*t.3aQ.1D,q.19V=vM):vM.y=.5*w,A.19V=vM);x.2PA=!0;n.3aP=!1}if(h||n.2PA){t=n;w=f;r=t.1pZ;q=t.3aO;v=H=0;A=[];F=3a.1r7;B=0;da=1;u=r.1h;K=t.1r6;E=C.1y(g(K)?t.1Qe:C.6h,69K);E.x/=t.2PD;E.y/=t.2PD;1j(x=0;x<u;++x)"\\n"===q.1as(x)?(A.1q(H),++da,H=0):(ea=r[x],W=ea.6e,B=1k.1V(B,W.1D-W.3wS),F=1k.1V(F,W.3wS),H+=W.1G-W.14w.21v,x<u-1&&(H+=r[x+1].6e.14w.21v),v=1k.1V(v,H));A.1q(H);H=B+F;L=t.3wT;S=t.1qO;U=t.1jT;R=0;W=A[R];W=S===oc.1dq?-W/2:S===oc.1sk?-(W+E.x):E.x;V=1.2*H;da=V*(da-1);1d Sa=v,I=H+da;g(K)&&(Sa+=2*E.x,I+=2*E.y,K.2zF=S);uf.x=W*L*w;uf.y=0;1d J=!0,M=0;1j(x=0;x<u;++x)"\\n"===q.1as(x)?(++R,M+=V,W=A[R],W=S===oc.1dq?-W/2:S===oc.1sk?-(W+E.x):E.x,uf.x=W*L*w,J=!0):(ea=r[x],W=ea.6e,U===fc.1g5?(uf.y=W.1D-B-E.y,uf.y+=qk.2PC):U===fc.1dq?uf.y=(da+W.1D-B)/2:(uf.y=U===fc.2i7?da:da+F+E.y,uf.y-=qk.2PC),uf.y=(uf.y-W.3wS-M)*L*w,J&&(uf.x-=qk.2PC*L,J=!1),g(ea.10i)&&(ea.10i.4Pw(uf),ea.10i.2PB.x=Sa,ea.10i.2PB.y=I,ea.10i.2zF=S),x<u-1&&(uf.x+=(W.1G-W.14w.21v+r[x+1].6e.14w.21v)*L*w));g(K)&&0<q.7g("\\n").14G("").1h&&(W=S===oc.1dq?-v/2-E.x:S===oc.1sk?-(v+2*E.x):0,uf.x=W*L*w,uf.y=U===fc.1g5?H-B-F:U===fc.1dq?(H-B)/2-F:U===fc.2i7?-E.y-F:0,uf.y=uf.y*L*w,K.1G=Sa,K.1D=I,K.4Pw(uf),K.2qy=C.1y(uf,K.2qy));if(t.6N===bb.1me)1j(x=0;x<u;++x)ea=r[x],t=ea.10i,g(t)&&(t.2qy=C.1y(uf,t.2qy));n.2PA=!1}n.4Pv(n,n.3wR);1a.69J+=n.1pZ.1h-m}}f=0<e.1h?jf.1bl:1a.1W3;d.1W3=f;e.1W3=f;d.1nG=1a.1nG;e.1nG=1a.1nG;1a.2Pz.1h=0;e.2H(a,b,c);d.2H(a,b,c)};de.1i.3Z=1b(){1f!1};de.1i.1M=1b(){1a.7f();1a.13d=1a.13d.1M();1a.18j=1a.18j&&1a.18j.1M();1a.2Py=1a.2Py.1M();1a.2Dx=1a.2Dx&&1a.2Dx.1M();1f la(1a)};de.1i.3Vp=1b(a){1j(1d b=1a.1fG.1h,c=0;c<b;++c){1d d=1a.1fG[c];d.3Z()||d.3Vp(a)}};de.1i.69I=1b(a,b){if(!g(a))1t 1g r("2P is 1X.");1a.1fG[a].2p=b};de.1i.8Iv=1b(a){1j(1d b=1a.1fG.1h,c=0;c<b;++c){1d d=1a.1fG[c];d.3Z()||(d.2p=a)}};de.1i.45Q=1b(a){1j(1d b={},c=0,d=1a.1fG.1h;c<d;++c)b[c]=!1;c=0;1j(d=a.1h;c<d;c++)b[a[c]]=!0;c=0;1j(d=1a.1fG.1h;c<d;++c)1a.69I(c,b[c])};de.1i.5IC=1b(a){if(0!==a.1h&&0!==1a.1fG.1h){1d b=1a.2R.1by.5q,c=b.x,d=b.x+b.1G,e=b.y,f=b.y+b.1D;b=[];1j(1d h=0,l=a.1h;h<l;++h){1d k=a[h];if(!(k>=1a.1fG.1h)){1d n=1a.1fG[k];n=n.26d(1a.2R,1p 0);g(n)&&n.x>=c&&n.x<=d&&n.y>=e&&n.y<=f&&b.1q({2P:k,1En:!0,16Q:n})}}a=hy(b,u6,v6,18C,1fZ);c=[];d=b.1h;1j(h=0;h<d;++h){e=b[h];k=e.2P;f=e.16Q;n=1a.1fG[k];n=n.2i2(n,f,1p 0);n=a.1sU(n.x,n.y,n.x+n.1G,n.y+n.1D);f=n.1h;1j(1d m=l=0;m<f;++m){1d w=n[m],x=b[w];h===w||x.1En||++l}1>l&&(e.1En=!1,c.1q(k))}1a.45Q(c)}};de.1i.45P=1b(){1d a=1a.2R.1by.5q,b=a.x,c=a.x+a.1G,d=a.y,e=a.y+a.1D,f=[],h=1a;1a.1fG.5d(1b(a){if(a.2p){a.26d(h.2R);1d g=a.4Pu;g.x>=b&&g.x<=c&&g.y>=d&&g.y<=e&&f.1q({17R:a,1En:!0,16Q:g})}});a=hy(f,u6,v6,18C,1fZ);1j(1d g=f.1h,k=0;k<g;++k){1d n=f[k],m=n.17R,w=n.16Q,x=m.3wR;w=w6(x.x+w.x,x.y+w.y,x.1G,x.1D,m.16l,m.15P);x=a.1sU(w.x,w.y,w.x+x.1G,w.y+x.1D,f,69H,69G);w=x.1h;1j(1d q=0,t=0;t<w;++t){1d r=x[t],u=f[r];k===r||u.1En||++q}1>q?n.1En=!1:m.2p=!1}};de.1i.1Ma=1b(a){1a.1fU();if(0!==1L.9K(1a.1N2).1h){if(1a.1N2.3p(a)){1d b=1a.1N2[a];if(b.3Z())1f;if(b.id===a){b.1rm=!0;1d c=y.1y(1a.1V6);b.1b5=c;1a.3aN.1q(a);1a.4Pt.5k({id:b.id,3l:b.3l,3b:b.3b,9O:b.9O,1b5:b.1b5})}}1a.2Px=!0}};de.1i.1fU=1b(){if(1a.2Px&&0!==1L.9K(1a.1N2).1h){1j(1d a=1a.3aN.1h,b=0;b<a;++b){1d c=1a.3aN[b];1a.1N2.3p(c)&&(c=1a.1N2[c],c.3Z()||(c.1rm&&c.69F(),c.1rm=!1))}1a.3aN=[]}};1L.2X(Up.1i,{1Eb:{1n:1b(){1f 1a.13d.1h}},1tR:{1n:1b(){1f 1a.13d.3mJ.7y.18Q+1a.16k.18j.7y.18Q}},9c:{1n:1b(){1f 1a.7S.10l}}});1d 69D=1g Vc("8Iu"),69C=1g k;Up.1i.29G=1b(a,b){1j(1d c=1a.13d,d=1a.16k,e=1a.1uc,f=1a.1q1,h=f.1h,g=0;g<h;++g){1d k=f[g],n=c.1n(g),m=d.1n(g),w=e.1n(g);b[k]=1g Pf(a,k,n,m,w)}};Up.1i.1vt=1b(a,b){a?(y.1y(b,1a.13d.1nG),y.1y(b,1a.16k.1nG),y.1y(b,1a.1uc.1nG)):(y.1y(y.9r,1a.13d.1nG),y.1y(y.9r,1a.16k.1nG),y.1y(y.9r,1a.1uc.1nG))};1d 69B=1g y,69A=1g y,69z=1g y,69y=1g y,69x=1g y,69w=1g y,bF=1g Db,cF=1g Db,eX=1g ob;Up.1i.1nx=1b(a,b){if(g(a))1j(1d c=1a.1q1,d=c.1h,e=0;e<d;++e){1d f=b[c[e]];g(a.2p)&&(f.2p=a.2p.3x(f));g(a.1i7)&&(f.1i7=a.1i7.3x(f));g(a.1A)&&(f.1A=a.1A.1FL(f,69B));g(a.2od)&&(f.2od=a.2od.1FL(f,69A));g(a.2ob)&&(f.2ob=a.2ob.3x(f));g(a.2oa)&&(f.2oa=a.2oa.1FL(f,69z));g(a.2o9)&&(f.2o9=a.2o9.1FL(f,69y));g(a.2o8)&&(f.2o8=a.2o8.3x(f));g(a.9O)&&(f.9O=a.9O.3x(f));g(a.21B)&&(f.21B=a.21B.3x(f));g(a.26s)?f.26s=a.26s.3x(f):f.26s=1p 0;g(a.1a4)&&(f.1a4=a.1a4.1FL(f,69x));g(a.1pJ)&&(f.1pJ=a.1pJ.3x(f));g(a.2o7)&&(f.2o7=a.2o7.3x(f));if(g(a.13h)){1d h=a.13h.3x(f);bF.3I=h.x;bF.1DO=h.y;bF.3W=h.z;bF.1DN=h.w;f.13h=bF}1s f.13h=1p 0;g(a.15M)?(h=a.15M.3x(f),cF.3I=h.x,cF.1DO=h.y,cF.3W=h.z,cF.1DN=h.w,f.15M=cF):f.15M=1p 0;g(a.4S)?(h=a.4S.3x(f),eX.3I=h.x,eX.3W=h.y,f.4S=eX):f.4S=1p 0;g(a.1xk)&&(f.1xk=a.1xk.3x(f));g(a.2o6)&&(f.2o6=a.2o6.3x(f));g(a.2o5)&&(f.2o5=a.2o5.1FL(f,69w));g(a.4d)?f.4d=a.4d.3x(f):f.4d=1p 0;g(a.11p)&&(f.11p=a.11p.3x(f));g(a.15P)&&(f.15P=a.15P.3x(f));g(a.16l)&&(f.16l=a.16l.3x(f));g(a.1Lv)&&(f.1Lv=a.1Lv.3x(f));g(a.2o4)&&(f.2o4=a.2o4.3x(f))}1s 1j(a=1a.1q1,c=a.1h,d=0;d<c;++d)e=b[a[d]],e.2p=!0,e.1i7=Pf.4Ps,e.1A=Pf.4Pr,e.2od=Pf.4Pq,e.2ob=Pf.4Pp,e.2oa=y.9r,e.2o9=y.9r,e.2o8=1,e.9O="44T 1TG-1TF",e.21B=qe.1LX,e.26s=1p 0,e.1a4=1g y(.165,.165,.165,.8),e.1pJ=1g C(7,5),e.2o7=!1,e.13h=1p 0,e.15M=1p 0,e.4S=1p 0,e.1xk=0,e.2o6=!1,e.2o5=y.9r,e.4d=1p 0,e.11p=0,e.15P=oc.1dq,e.16l=fc.1dq,e.1Lv=oc.1sk,e.2o4=fc.2i7};Up.1i.2H=1b(a){69v(1a,a.11s.3c);1a.4y&&(1a.1uc.2H(a),1a.13d.2H(a),1a.16k.2H(a),1a.4Po||(1a.7S.5h(),1a.4Po=!0))};Up.1i.3Z=1b(){1f!1};Up.1i.1M=1b(){1a.13d=1a.13d&&1a.13d.1M();1a.16k=1a.16k&&1a.16k.1M();1a.1uc=1a.1uc&&1a.1uc.1M();1f la(1a)};1L.2X(qo.1i,{1qQ:{1n:1b(){1f g(1a.7h)?1a.7h.1qQ:0}},1iC:{1n:1b(){1f g(1a.7h)?1a.7h.1iC:0}},9c:{1n:1b(){1f 1a.7S.10l}}});1d 69u=1g Vc("8It"),69t=1g y;qo.1i.29G=1b(a,b){1a.7h.29G(a,b)};qo.1i.1vt=1b(a,b){1a.7h.1vt(a,b)};qo.1i.1nx=1b(a,b){1a.7h.1nx(a,b)};qo.1i.2i6=1b(a,b){1a.7h.2i6(a,b)};qo.1i.2H=1b(a){69s(1a);1a.4y&&(1a.7h.1gj=1a.1gj,1a.7h.2Dw=1a.2Dw,1a.7h.12p=1a.12p,1a.7h.2H(a))};qo.1i.3Z=1b(){1f!1};qo.1i.1M=1b(){1a.7h=1a.7h&&1a.7h.1M();1f la(1a)};1L.2X(Vp.1i,{1qQ:{1n:1b(){1f 1a.1Wb}},1iC:{1n:1b(){1f 1a.1qV}},9c:{1n:1b(){1f 1a.7S.10l}}});1d $ta=1g Vc("8Is"),jy={2Ur:0,2Us:1,1Cu:2,15t:3,1k8:4},jC=1g A,x6=1g k;Vp.1i.29G=1b(a,b){1j(1d c=1a.1q1,d=c.1h,e=0;e<d;++e){1d f=c[e];b[f]=1g Jh(a,f)}};Vp.1i.1vt=1b(a,b){1a.1nG=a?b:1a.2qx};1d 69r=1g y,69q=y.9r;Vp.1i.1nx=1b(a,b){if(g(a))1j(1d c=1a.1q1,d=c.1h,e=0;e<d;++e){1d f=b[c[e]];f.1A=g(a.1A)?a.1A.1FL(f,69r):69q;f.2p=g(a.2p)?a.2p.3x(f):!0}1s 1j(a=1a.1q1,c=a.1h,d=0;d<c;++d)e=b[a[d]],e.2p=!0,e.1A=y.9r};Vp.1i.2H=1b(a){1d b=a.1O;69p(1a,b);aua(1a,b);if(!g(1a.11V)){1d c=1a.6y,d=c.1zS(!1,"1k8",1p 0)("3Q 1m 2Us;\\2J 1m 2Ur;\\2J 1m 1Cu;\\2J 1v 15t;\\2J 1o 1k8;\\1B 5w 1wg;\\2s 2k()\\n{\\1r 1kU = 15t.x;\\1r 1G = abs(15t.y) + 0.5;\\166 1mO = 15t.y < 0.0;\\1P p = 1wg * 2Us;\\1P 15E = 1wg * 2Ur;\\1P 6k = 1wg * 1Cu;\\1r 8f;\\1P 6K = 1Xz(p, 15E, 6k, 1kU, 1G, 1mO, 8f);\\11u = 1t5 * 6K;\\n#1z 10B\\1we(17B * p);\\n#1u\\n}\\n");c=c.2Dv()("2n 1m 1nU; \\2s 2k()\\n{\\n    2C = 1nU;\\n}\\n",!1,1p 0);d=1g ja({2N:["1mP",Nc.2Du()?"":"2ka"],5p:["1p 25f(\\1R p0,\\1R p1,\\1eq 1m 6K,\\1eq 7d 12P,\\1eq 7d 13D)\\n{\\1Ll = 16f;\\2c5 = 16f;\\1R 1iS = p1 - p0;\\1r 7t = 1h(1iS);\\1R 2G = 1T(1iS);\\1r 1iR =  -(18z.x + p0.z);\\1r 1aX = -2G.z;\\1U (1iR < 0.0 && abs(1aX) < 1bg)\\n{\\1Ll = 8O;\\n}\\5L if (1iR < 0.0 && abs(1aX) > 1bg)\\n{\\1r t = (18z.x + p0.z) / 1aX;\\1U (t < 0.0 || t > 7t)\\n{\\1Ll = 8O;\\n}\\5L\\n{\\3gc = p0 + t * 2G;\\2c5 = 8O;\\n}\\n}\\3gb = 18a(1m(p0, 1.0));\\n}\\1P 1Xz(1m 4p, 1m 17C, 1m 18F, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\1P 16F, p0, p1;\\166 13D, 12P;\\n#1z 2Gk\\1P 1lT = 18a(4p);\\1P 1CJ = 18a(17C);\\1P 1CI = 18a(18F);\\2u 1o0;\\1U (1er) {\\2c4 = 1T(1lT.xy - 1CJ.xy);\\n}\\5L {\\2c4 = 1T(1CI.xy - 1lT.xy);\\n}\\18p = 16D(1o0.x, 1o0.y) - 1.2kb;\\18p = 2t(8f / 1qb + 0.5) * 1qb;\\n#1u\\1Lk(17C.1H, 4p.1H, p0, 12P, 13D);\\1Lk(18F.1H, 4p.1H, p1, 12P, 13D);\\1Lk(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\1U (13D)\\n{\\2j 1m(0.0, 0.0, 0.0, 1.0);\\n}\\2u 14U = 1T(p0.xy - 16F.xy);\\2u 12k = 1T(p1.xy - 16F.xy);\\1r 1kf = 1G * 0.5;\\2u 2G;\\n#1z 2ka\\1U (12P)\\n{\\1U (17C.z - 4p.z < 0.0)\\n{\\1fN = 1v(14U.y, -14U.x);\\n}\\5L\\n{\\1fN = 1v(-14U.y, 14U.x);\\n}\\n}\\5L\\n#1u\\1U (1dX(17C.1H - 4p.1H, 1w(0.0), 1jt) || 1dX(14U, -12k, 1jt))\\n{\\1fN = 1v(-12k.y, 12k.x);\\n}\\5L if (1dX(18F.1H - 4p.1H, 1w(0.0), 1jt))\\n{\\1fN = 1v(14U.y, -14U.x);\\n}\\5L\\n{\\2u 2U = 1v(-12k.y, 12k.x);\\1fN = 1T((12k + 14U) * 0.5);\\1U (2A(2G, 2U) < 0.0)\\n{\\1fN = -2G;\\n}\\1r 1gV = abs(2G.x * 12k.y - 2G.y * 12k.x);\\3ga = 2Y(1kf / 1gV, 0.0, 1G * 2.0);\\n}\\2u 2M = 2G * 1jz * 1kf * 1gU;\\2j 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\1P 4p = 15D * 1K;\\1P 17C = 15D * 18d;\\1P 18F = 15D * 6k;\\2j 1Xz(4p, 17C, 18F, 1jz, 1G, 1er, 8f);\\n}\\n",d]});c=1g ja({2N:["1mP"],5p:[c]});1a.11V=Ga.4t({1O:b,5O:d,5A:c,7W:jy})}g(1a.1gz)||(1a.1gz=pa.4t({12e:Dc.1bQ,13Q:!1,9J:{3e:!0},1bB:{3e:!0,8H:-5,13u:-5}}));1a.4y&&(b=a.10s,b.3t||b.11P)&&(g(1a.10u)||(b=1a.6y.1BM()(1a.1cH),1a.10u=1g Oa({7H:1a,4c:1a.16z,4w:1a.1gz,2z:1a.11V,4J:b,6W:1a.11S,6t:ma.1bl,1cI:1a.6y.1Rg()})),a.13l.1q(1a.10u))};Vp.1i.3Z=1b(){1f!1};Vp.1i.1M=1b(){1a.16z=1a.16z&&1a.16z.1M();1a.11V=1a.11V&&1a.11V.1M();1f la(1a)};1L.2X(ro.1i,{17z:{1n:1b(){1f g(1a.6y)?1a.6y.17z:0}},1Eb:{1n:1b(){1f g(1a.15p)?1a.15p.1Eb:0}},1qQ:{1n:1b(){1d a=0;g(1a.1iz)&&(a+=1a.1iz.1qQ);g(1a.1dJ)&&(a+=1a.1dJ.1qQ);1f a}},1iC:{1n:1b(){1d a=0;g(1a.1iz)&&(a+=1a.1iz.1iC);g(1a.1dJ)&&(a+=1a.1dJ.1iC);1f a}},1tR:{1n:1b(){1f g(1a.15p)?1a.15p.1tR:0}},1Bq:{1n:1b(){1f g(1a.6y)?1a.6y.3aM:0}},289:{1n:1b(){}},9c:{1n:1b(){1f 1a.7S.10l}},15c:{1n:1b(){1f 1a.9F}},11H:{1n:1b(){1f 1a.1cC}},2I:{1n:1b(){1f 1a.12o.1oO(!0)}},1ac:{1n:1b(){1f 1a.6y}}});1d lR=10Y.12T,Fl=12X.12T;ro.1i.1qP=1b(a,b){1f 1a.6y.1qP(a,b)};ro.1i.287=1b(a){1d b=1a.17z;if(!g(a)||0>a||a>=b)1t 1g r("4R is 1X and 1pS 16m and 17z - 1 ("+(b-1)+").");y6(1a);1f 1a.1dQ[a]};ro.1i.1vt=1b(a,b){g(1a.1iz)&&1a.1iz.1vt(a,b);g(1a.1dJ)&&1a.1dJ.1vt(a,b);g(1a.15p)&&1a.15p.1vt(a,b)};ro.1i.1nx=1b(a){y6(1a);g(1a.1iz)&&1a.1iz.1nx(a,1a.1dQ);g(1a.1dJ)&&1a.1dJ.1nx(a,1a.1dQ);g(1a.15p)&&1a.15p.1nx(a,1a.1dQ)};ro.1i.2H=1b(a,b){1d c=!0;g(1a.1iz)&&(1a.1iz.12p=1a.9F.12p,1a.1iz.1gj=1a.9F.1gj,1a.1iz.2H(b),c=c&&1a.1iz.4y);g(1a.1dJ)&&(1a.1dJ.2H(b),c=c&&1a.1dJ.4y);g(1a.15p)&&(1a.15p.2H(b),c=c&&1a.15p.4y);g(1a.6y)&&c&&1a.6y.2H(a,b);if(!g(1a.1W8)){a=g(1a.15p)?1a.15p.9c:1p 0;b=g(1a.1iz)?1a.1iz.9c:1p 0;c=g(1a.1dJ)?1a.1dJ.9c:1p 0;1d d=1a;1a.1W8=Z.all([a,b,c]).4b(1b(){d.7S.5h(d)})}};ro.1i.3Z=1b(){1f!1};ro.1i.1M=1b(){1a.1iz=1a.1iz&&1a.1iz.1M();1a.1dJ=1a.1dJ&&1a.1dJ.1M();1a.15p=1a.15p&&1a.15p.1M();1a.6y=1a.6y&&1a.6y.1M();1f la(1a)};1d wM={29F:1b(a,b,c,d,e){1f 1g Ki(a,b,c,d,e)},69o:1b(a,b,c,d,e){1f 1g no(a,b,c,d,e)},4Pn:1b(a,b,c,d,e){1f 1g Dl(a,b,c,d,e)},8Ir:1b(a,b,c,d,e){1f 1g lo(a,b,c,d,e,wM)},15l:1b(a,b,c,d,e){1f 1g oo(a,b,c,d,e)},3u:1b(a,b,c,d,e){1f 1g mo(a,b,c,d,e)},68Z:1b(a,b,c,d,e){1f 1g ro(a,b,c,d,e)}},fi=1L.3F({1vn:0,1gu:1,45z:2,1cY:3,4Pg:4,12D:5}),vv=1L.3F({69n:-1,45E:1,4P3:0}),wA=1g dh,fX=0;TH.3U6=1b(a,b){a.2fN.1h=0;a.2of.1h=0;a.2LR=!1;1d c=!0,d=a.1ro;d.2LQ(b);if(!d.1br||!d.2zI)1f c;1j(wA.1q(a.1ro);0<wA.1h;){fX=1k.1V(fX,wA.1h);d=wA.9l();1d e=d.1sE===hh.1m8,f=d.1sE===hh.1f1,h=0===d.9d.1h?!1:d.1sD?!d.2og:!0;if(h)1j(1d g=wA,k=b,n=d.9d,m=n.1h,w=0;w<m;++w){1d x=n[w];x.2LQ(k);x.1br&&x.2zI&&g.1q(x)}if(e||f&&!h){e=a;h=f=d;if(!h.1GJ&&!h.1sD&&h.3px||f.2og)f.2LP=0,e.2of.1q(f);e=d;f=b;e.3au!==f.1gA&&(a.1ot.1Jo(e),e.3au=f.1gA);e=a;f=d;f.21C&&f.3U5(b)!==Lb.1gB&&e.2fN.1q(f);d.1GJ||d.1sD||d.21C||(c=!1)}++a.1DB.2oe}wA.1b2(fX);1f c};1d mC={1fi:1g dh,23B:0},nC={1fi:1g dh,23B:0},lC={1fi:1g dh,23B:0},Et=1g dh,gX=0,Ft=1g dh,hX=0;es.3U6=1b(a,b){a.2of.1h=0;if(!a.2yC){a.2fN.1h=0;a.3wx.1h=0;a.3wn.1h=0;a.2LR=!1;1d c=a.1ro;VH(a,c,b);if(tv(c)&&!(c.3wN(b,!0)<=a.23A)){if(a.23x)1j(a.1ZF?nR(a,c,3a.6w,a.23A,b):nR(a,c,1k.1V(a.2dO,a.1ev),a.1ev,b),Et.1q(c);0<Et.1h||0<Ft.1h;){gX=1k.1V(gX,Et.1h);hX=1k.1V(hX,Ft.1h);if(0<Ft.1h&&(c=Ft.1PE(),c.4Pm===Et.1h)){Ft.9l();c!==k&&(c.3wE=!1);kC(a,c,b);1aJ}1d d=Et.9l();if(g(d)){1d e=d.1sE===hh.1m8,f=d.45O;c=d.9d;1d h=c.1h,l=mR(a,d);if(f)if(e)kC(a,d,b);1s{d.3wQ=Ft.1h;0<d.3wQ&&(a.2LR=!0);1d k=d;if(!l){kC(a,d,b);1aJ}Ft.1q(d);d.4Pm=Et.1h}if(l)1j(d=0;d<h;++d)e=c[d],tv(e)&&Et.1q(e)}}1s nR(a,c,a.23A,a.23A,b);mC.1fi.1b2(mC.23B);nC.1fi.1b2(nC.23B);lC.1fi.1b2(lC.23B);Et.1b2(gX);Ft.1b2(hX);a=a.2of;b=a.1h;1j(k=0;k<b;++k)a[k].68Q()}}};1d In={4qY:0,1Ol:1,69m:2,3mk:3,325:4,3PC:5,3PB:6,3PA:7,2KH:8},cr=2K(In.2KH);cr[In.4qY]=1L.3F({2qt:es,23y:!0,2qs:!0,23z:!1});cr[In.1Ol]=1L.3F({2qt:es,23y:!1,2qs:!1,23z:!1});cr[In.69m]=1L.3F({2qt:es,23y:!1,2qs:!0,23z:!1});cr[In.3mk]=1L.3F({2qt:es,23y:!1,2qs:!0,23z:!0});cr[In.325]=1L.3F({2qt:es,23y:!1,2qs:!0,23z:!0});cr[In.3PC]=1L.3F({2qt:es,23y:!1,2qs:!0,23z:!0});cr[In.3PB]=1L.3F({2qt:TH,23y:!1,2qs:!0,23z:!0});cr[In.3PA]=1L.3F({2qt:TH,23y:!1,2qs:!1,23z:!1});In.68A=1b(a){1f cr[a]};1d ug=1L.3F(In);1L.2X(so.1i,{17z:{1n:1b(){1f 0}},1Eb:{1n:1b(){1f 0}},1qQ:{1n:1b(){1f 0}},1iC:{1n:1b(){1f 0}},1tR:{1n:1b(){1f 0}},1Bq:{1n:1b(){1f 0}},289:{1n:1b(){}},9c:{1n:1b(){}},15c:{1n:1b(){1f 1a.9F}},11H:{1n:1b(){1f 1a.1cC}},2I:{1n:1b(){}},1ac:{1n:1b(){}}});so.1i.1qP=1b(a,b){1f!1};so.1i.287=1b(a){};so.1i.1vt=1b(a,b){};so.1i.1nx=1b(a){};so.1i.2H=1b(a,b){};so.1i.3Z=1b(){1f!1};so.1i.1M=1b(){1f la(1a)};1L.2X(rk.1i,{6W:{1n:1b(){1f 1a.1vX}},7u:{1n:1b(){1f 1a.5V}}});1d oR=1g k,XH=1g k,B6=1g k,69l=1g k,69k=1g k,69j=1g k,Gl=1g T,A6=1g Cb(k.1dl,0),ky=1g rb,69i=1g k,69h=1g k,69g=1g k(0,-1,0),69f=1g k(0,0,-1),4Pj=1g k;rk.1i.1w8=1b(a){v.2l("18Y",a);1d b=a.3w,c=b.6K,d=b.19I;b=0;if(!Q.8h(1a.3g,d)){1d e=1a.3wP,f=1a.3wO,h=1a.45N,g=1a.4Pl,p=1a.45M,n=1a.4Pk;a.3z!==O.6G&&(e=a.11s.12z(Q.1tI(1a.3g),69i),e.z=e.y,e.y=e.x,e.x=0,f=a.11s.12z(Q.1tH(1a.3g),69h),f.z=f.y,f.y=f.x,f.x=0,h=69g,p=k.1f5,g=69f,n=k.16a);e=k.3V(c,e,4Pj);h=k.2A(e,h);g=k.2A(e,g);f=k.3V(c,f,4Pj);p=k.2A(f,p);n=k.2A(f,n);0<h?b+=h*h:0<p&&(b+=p*p);0<g?b+=g*g:0<n&&(b+=n*n)}a.3z===O.6G?(a=d.1D,c=1a.13w,d=1a.12x):(a=c.x,d=c=0);a>d?(a-=d,b+=a*a):a<c&&(a=c-a,b+=a*a);1f 1k.3Y(b)};rk.1i.1tE=1b(a){v.2l("12w",a);1f 1a.1vX.1tE(a)};rk.1i.2Jr=1b(a){v.2l("1A",a);1d b=1g A.1y(A.8K),c=1g Nr({3g:1a.3g,1D:1a.13w,9i:1a.12x});a=1g yb({3y:c,id:"8Y",4a:b,2w:{1A:Qb.1dc(a)}});1f 1g Kb({13g:a,161:1g zc({11C:!1,8z:!0}),17X:!1})};1L.2X(to.1i,{2V:{1n:1b(){1f 1a.5V.2V}},3L:{1n:1b(){1f 1a.5V.3L}},6W:{1n:1b(){1f 1a.5V}},7u:{1n:1b(){1f 1a.5V}}});to.1i.1w8=1b(a){v.2l("18Y",a);1d b=1a.5V;1f 1k.1V(0,k.3s(b.2V,a.3w.6K)-b.3L)};to.1i.1tE=1b(a){v.2l("12w",a);1f P.1tE(1a.5V,a)};to.1i.2H=1b(a,b){k.1y(a,1a.5V.2V);1a.5V.3L=b};to.1i.2Jr=1b(a){v.2l("1A",a);1d b=1g Ep({3L:1a.3L}),c=A.1PY(1a.2V,1g A.1y(A.8K));a=1g yb({3y:b,id:"8Y",4a:c,2w:{1A:Qb.1dc(a)}});1f 1g Kb({13g:a,161:1g zc({11C:!1,8z:!0}),17X:!1})};1d 69e=1g k,69d=1g k,69c=1g k,69b=1g k;1L.2X(Hl.1i,{6W:{1n:1b(){1f 1a.1vX}},7u:{1n:1b(){1f 1a.5V}}});Hl.1i.1w8=1b(a){v.2l("18Y",a);1f 1k.3Y(1a.1vX.1Wa(a.3w.6K))};Hl.1i.1tE=1b(a){v.2l("12w",a);1f 1a.1vX.1tE(a)};Hl.1i.2H=1b(a,b){k.1y(a,1a.1vX.2V);b=C6(b);J.1y(b,1a.1vX.1dK);P.3aL(1a.1vX,1a.5V)};Hl.1i.2Jr=1b(a){v.2l("1A",a);1d b=1g ai({13b:1g k(-1,-1,-1),14S:1g k(1,1,1)}),c=A.1yU(1a.6W.1dK,1a.6W.2V);a=1g yb({3y:b,id:"8Y",4a:c,2w:{1A:Qb.1dc(a)}});1f 1g Kb({13g:a,161:1g zc({11C:!1,8z:!0}),17X:!1})};Qe.1W9=ek;1L.2X(Qe.1i,{15c:{1n:1b(){1f 1a.9F}},15k:{1n:1b(){1f 1a.1ae}},6W:{1n:1b(){1f 1a.11S}},4OO:{1n:1b(){1f m(1a.29D,1a.11S)}},7u:{1n:1b(){1f 1a.11S.7u}},19q:{1n:1b(){1f 1a.2qu.19q}},1A:{1n:1b(){g(1a.7a)||(1a.7a=1g y);1f y.1y(1a.7a)},1C:1b(a){1a.7a=y.1y(a,1a.7a);1a.45I=!0}},21C:{1n:1b(){1f 1a.45H&&!1a.1GJ&&!1a.1sD||g(1a.2i5)&&!1a.69a}},45H:{1n:1b(){1f 1a.1Kj===fi.1cY}},3px:{1n:1b(){1f 1a.1Kj===fi.1vn}},2og:{1n:1b(){1f 1a.1Kj===fi.4Pg}},69a:{1n:1b(){1f 1a.1Kj===fi.12D}},68w:{1n:1b(){if(g(1a.2Pw))1f 1a.2Pw.10l}},68u:{1n:1b(){if(g(1a.1W8))1f 1a.1W8.10l}},698:{1n:1b(){1f 1a.4P6}}});1d Gt=1g k,4Pf=1g M;Qe.1i.3wN=1b(a,b,c){1d d=1a.9F;c=m(c,1);1d e=g(1a.12f)?1a.12f.1Rj:d.2Dr;b=b?e:1a.1Rj;if(0===b)1f 0;e=a.3w;1d f=e.3j,h=a.1O,l=h.8j;c*=h.7p;a.3z===O.10j||f 2m Jb?(g(f.1d3)&&(f=f.1d3),c=b/(1k.1V(f.5C-f.7b,f.2W-f.3B)/1k.1V(l,c))):(f=1k.1V(1a.1W7,B.1hn),c=b*c/(f*e.3j.34D),d.1ZG&&(b=d.2lP,d=B.1ep(f,d.4OM)*b,c-=d));1f c/=a.13S};Qe.1i.2LQ=1b(a){1d b=1a.12f,c=1a.9F,d=g(b)?b.1Hb:c.4a;b=g(b)?b.3wG:ag.697;1a.4OW(d);1a.1W7=1a.68W(a);1a.3wK=1a.68V(a);1a.1NA=1a.3wN(a,!1);1a.3wL=1a.3wN(a,!1,c.3wM);1a.3wG=1a.12F(a,b);1a.1br=1a.3wG!==ag.3wH;1a.2zI=1a.68T(a);d=1a.12f;d=!g(d)||c.23x&&0!==1a.1NA&&!d.1sD?1a.1NA:d.1NA;1a.3wB=c.1ro.1NA-d;if(0>=c.3wM||.5<c.3wM)c=!1;1s{d=1a.3wL>c.23A;1a.45L=!1;b=1a.12f;1d e=c.23A;c=1a.3wL<=e;b=g(b)&&b.3wL>e;c&&b&&(d=1a.45L=!0);c=d}1a.45G=c;c=1a.9F;a=a.3w;d=1a.7u;b=d.3L;e=k.4g(a.18k,1a.3wK,Gt);e=k.add(a.6K,e,Gt);e=k.3V(e,d.2V,Gt);k.7t(e)>b?(e=k.1T(e,Gt),b=k.4g(e,b,Gt),d=k.add(d.2V,b,Gt),d=k.3V(d,a.6K,Gt),d=k.1T(d,Gt),1a.1Km=1-1k.abs(k.2A(a.18k,d))):1a.1Km=0;d=1a.1sE===hh.1f1;b=c.23x;d&&!b||!c.4Pi||1===c.3aw||1a.45G&&d&&b||c.1Er===ug.325||c.1Er===ug.3mk?c=!1:(a=1-1k.3i(.5*a.3j.16X),d=c.3aw*a,1a.1Km<=d?c=!1:(a=B.2Y((1a.1Km-d)/(a-d),0,1),a=c.4Ph(c.3wv,c.1ev,a),d=0===1a.1NA&&g(1a.12f)?.5*1a.12f.1NA:1a.1NA,c=c.1ev-a<=d));1a.45F=c};Qe.1i.695=1b(){if(g(1a.2qw)&&1a.45H&&!1a.1GJ){1d a=M.14H(4Pf);M.1ib(1a.2qw,a)&&(1a.1Kj=fi.4Pg,1a.2i5=1a.1ae)}};Qe.1i.68x=1b(){1d a=1a,b=1a.9F;if(1a.1GJ)1f!1;1d c=1a.3wI.1y(),d=1a.2og;d&&c.1qN({8Iq:1a.2qw.5s()});1d e=1g Ke({1j8:!0,1mj:!0,1I:Jd.3wJ,1xd:694(1a),1vD:1a.692});1a.4OQ=e;c.7M=e;c=c.1kw();if(!g(c))1f!1;1d f=1a.1Kj;1a.1Kj=fi.1gu;1a.2Pw=Z.12L();1a.1W8=Z.12L();1d h=691(1a,b);c.4b(1b(c){if(a.3Z())h();1s{1d e=1g 4L(c);e=AB(e);1d f=wM[e];b.45w=b.45w||"68Z"===e||"3u"===e;g(f)?c=f(b,a,a.3wI,c,0):(c=wM.15l(b,a,a.3wI,c,0),a.1sD=!0);d&&(a.2qw=1p 0);a.1ae=c;a.1Kj=fi.45z;a.2Pw.5h(c);1f c.9c.4b(1b(b){if(a.3Z())h();1s{if(g(a.4Pe)){1d c=M.14H(4Pf);M.190(c,a.4Pe,c);g(a.2qw)?M.1ib(a.2qw,c)&&M.1y(c,a.2qw):a.2qw=M.1y(c)}a.3wA=0;a.3az=0;M.14H(a.26U);a.1Kj=fi.1cY;a.1W8.5h(b)}})}}).10g(1b(c){e.4F===$d.21n?(a.1Kj=f,--b.1DB.1oD,++b.1DB.1zm):h(c)});1f!0};Qe.1i.68Y=1b(){1a.1GJ||1a.1sD||(1a.1ae=1a.1ae&&1a.1ae.1M(),1a.1Kj=fi.1vn,1a.1W8=1a.2Pw=1p 0,1a.3az=0,1a.1TT=0===1a.26T,1a.26T=0,1a.3aI=!1,1a.1Hc=1a.1Hc&&1a.1Hc.1M(),1a.1Kl=1a.1Kl&&1a.1Kl.1M(),1a.1Kk=1a.1Kk&&1a.1Kk.1M())};1d D6=1g P;Qe.1i.12F=1b(a,b){1d c=a.1dj;a=qR(1a,a);1d d=1a.9F,e=d.1cj;1f g(e)&&e.3e&&(d=e.3Sw(a,d.1W6),1a.2Pv=d!==Lb.27N,d===Lb.1gB)?ag.3wH:c.68X(a,b)};Qe.1i.3U5=1b(a){if(!g(1a.29D)||1a.3wG===ag.45K)1f Lb.27N;1d b=a.1dj;if(a.3z!==O.6G&&!g(1a.3wF)){1d c=P.3aK(1a.29D.7u,a.11s,D6);1a.3wF=1g to(c.2V,c.3L)}a=a.3z!==O.6G?1a.3wF:1a.29D;c=1a.9F;1d d=c.1cj;1f g(d)&&d.3e&&(c=d.3Sw(a,c.1W6),1a.2Pv=c!==Lb.27N,c===Lb.1gB)?Lb.1gB:b.1su(a)};Qe.1i.68W=1b(a){1f qR(1a,a).1w8(a)};1d 68U=1g k;Qe.1i.68V=1b(a){1d b=qR(1a,a).6W;b=k.3V(b.2V,a.3w.6K,68U);1f k.2A(a.3w.18k,b)};Qe.1i.68T=1b(a){1d b=1a.2Pu;1f!g(b)||0===b.1w8(a)};1d 4Pb=1g J,4P7=1g k,68S=1g J,4Pa=1g k,4Pc=1g Q,68R=1g yc,iX=1g A;Qe.1i.2Ds=1b(a,b,c){if(!g(a))1t 1g qa("6W 2Q be 2l");if(g(a.13F)){1d d=a.13F;a=k.9v(d[0],d[1],d[2],4Pa);d=J.7j(d,3,68S);a=A.8P(b,a,a);b=A.2Dt(b,4Pb);d=J.9b(b,d,d);g(c)?c.2H(a,d):c=1g Hl(a,d);1f c}if(g(a.1wl)){d=a.1wl;a=1a.4Pd;if(A.5T(b,a,B.1PW))g(c)||(c=Q.5f(d,0,4Pc),c=1g rk({3g:c,13w:d[4],12x:d[5]}));1s{1d e=Q.5f(d,0,4Pc);e=yc.21r(e,d[4],d[5],ba.9y,68R);d=e.2V;e=e.1dK;b=A.1oJ(b,A.1yQ(a,iX),iX);d=A.8P(b,d,d);b=A.2Dt(b,4Pb);e=J.9b(b,e,e);g(c)&&c 2m Hl?c.2H(d,e):c=1g Hl(d,e)}1f c}if(g(a.1cq))1f d=a.1cq,a=k.9v(d[0],d[1],d[2],4Pa),d=d[3],a=A.8P(b,a,a),b=A.1sj(b,4P7),b=k.1xj(b),d*=b,g(c)?c.2H(a,d):c=1g to(a,d),c;1t 1g qa("6W 2Q 42J a 1cq, 1wl, or 13F");};Qe.1i.4OW=1b(a){a=m(a,A.8K);a=A.9b(a,1a.5o,iX);if(!A.2L(a,1a.1Hb)){A.1y(a,1a.1Hb);a=1a.2qu;1d b=1a.2qu.15k;1a.11S=1a.2Ds(a.6W,1a.1Hb,1a.11S);g(1a.29D)&&(1a.29D=1a.2Ds(b.6W,1a.1Hb,1a.29D));g(1a.2Pu)&&(1a.2Pu=1a.2Ds(a.4P9,1a.1Hb,1a.2Pu));1a.4P8();1a.1Hc=1a.1Hc&&1a.1Hc.1M();1a.1Kl=1a.1Kl&&1a.1Kl.1M();1a.1Kk=1a.1Kk&&1a.1Kk.1M()}};Qe.1i.4P8=1b(){1d a=A.1sj(1a.1Hb,4P7);a=k.1xj(a);1a.1Rj=1a.2Dr*a};Qe.1i.2H=1b(a,b,c){1d d=b.13l.1h,e=a.1cj,f=0;g(e)&&1a.2Pv&&e.3e&&(f=e.3m0);f!==1a.26T&&(1a.26T=f,1a.1TT=!0);c.23y&&(c=g(1a.2qu.15k)&&g(1a.2qu.15k.6W),e=1a.1GJ||1a.1sD,(f=a.15S||a.3aJ&&!c)?(e=1a.3wE?e?y.45J:y.9r:y.1Zs,g(1a.1Hc)||(1a.1Hc=1a.11S.2Jr(e)),1a.1Hc.2H(b),f=1a.1Hc.1bH("8Y"),f.1A=Qb.1an(e,f.1A)):!f&&g(1a.1Hc)&&(1a.1Hc=1a.1Hc.1M()),a.3aJ&&c?(g(1a.1Kl)||(1a.1Kl=1a.29D.2Jr(y.2f3)),1a.1Kl.2H(b)):!a.3aJ&&g(1a.1Kl)&&(1a.1Kl=1a.1Kl.1M()),a.3wD&&g(1a.2Pu)?(g(1a.1Kk)||(1a.1Kk=1a.2Pu.2Jr(y.1Zs)),1a.1Kk.2H(b)):!a.3wD&&g(1a.1Kk)&&(1a.1Kk=1a.1Kk.1M()),c=a.3wC&&!1a.3aI||g(a.45s.3aE),e=!a.3wC&&1a.3aI,c?(a.45s.2wF(1a,b),1a.3aI=!0,1a.1A=1a.3aF):e&&(1a.3aI=!1,1a.1A=y.9r),1a.45I&&(1a.45I=!1,1a.1ae.1vt(!0,1a.7a)),e&&a.4qa());a:{c=1a.1ae;e=1a.2i5;if(g(e)){if(!1a.45H){e.2H(a,b);1W a}1a.2i5.1M();1a.2i5=1p 0}c.2H(a,b)}1a.4P6=b.13l.1h-d;1a.1TT=!1};1d 4P5=[];Qe.1i.1pt=1b(a,b){1d c=b.13l;b.13l=4P5;1a.1ae.2H(a,b);4P5.1h=0;b.13l=c};Qe.1i.68Q=1b(){1d a=1a.15c,b=a.4P4,c=a.1Ri,d=a.1Rh,e=1k.3r(10,8),f=1k.3r(10,9),h=1k.3r(10,10),g=YH(1a.1Qj,c.4e,d.4e);g=b?1-g:g;b=a.23x||1a.1sE!==hh.1f1?YH(1a.3wB,c.2i3,d.2i3):YH(1a.29C.1W7,c.3s,d.3s);b=8A(b*1k.3r(10,4))*1k.3r(10,0);e=1a.45G?0:e;c=YH(1a.29C.1Km,c.2i4,d.2i4);c=8A(c*1k.3r(10,4))*1k.3r(10,4);1a.2LP=g+b+e+c+(1a.45F?f:0)+(a.1Er===ug.325?0:h)};Qe.1i.3Z=1b(){1f!1};Qe.1i.1M=1b(){1a.1ae=1a.1ae&&1a.1ae.1M();1a.2i5=1a.2i5&&!1a.2i5.3Z()&&1a.2i5.1M();1a.1Hc=1a.1Hc&&1a.1Hc.1M();1a.1Kl=1a.1Kl&&1a.1Kl.1M();1a.1Kk=1a.1Kk&&1a.1Kk.1M();1f la(1a)};1d jX={},68P=1g k;jX.68K=1b(a){v.1N.2c("11H",a);1d b=a.9d,c=b.1h,d=a.6W;if(d 2m Hl||d 2m rk){d=d.1vX;a.3aH=vv.45E;1j(1d e=0;e<c;++e){1d f=b[e].6W;if(!(f 2m Hl||f 2m rk)){a.3aH=vv.4P3;1W}f=f.1vX;1d h=k.3V(f.2V,d.2V,68P),g=k.7t(h);k.1eE(h,g,h);if(1k.abs(d.1dK[0]*h.x)+1k.abs(d.1dK[1]*h.y)+1k.abs(d.1dK[2]*h.z)+1k.abs(d.1dK[3]*h.x)+1k.abs(d.1dK[4]*h.y)+1k.abs(d.1dK[5]*h.z)+1k.abs(d.1dK[6]*h.x)+1k.abs(d.1dK[7]*h.y)+1k.abs(d.1dK[8]*h.z)<=1k.abs(f.1dK[0]*h.x)+1k.abs(f.1dK[1]*h.y)+1k.abs(f.1dK[2]*h.z)+1k.abs(f.1dK[3]*h.x)+1k.abs(f.1dK[4]*h.y)+1k.abs(f.1dK[5]*h.z)+1k.abs(f.1dK[6]*h.x)+1k.abs(f.1dK[7]*h.y)+1k.abs(f.1dK[8]*h.z)+g){a.3aH=vv.4P3;1W}}}1f a.3aH===vv.45E};fs.1i.1Pr=1b(){1a.2Dq.6z(1a.2Dq.1fD,1a.45D)};fs.1i.1Jo=1b(a){a=a.3aG;g(a)&&1a.2Dq.6z(1a.45D,a)};fs.1i.add=1b(a){g(a.3aG)||(a.3aG=1a.2Dq.add(a))};fs.1i.4OG=1b(a,b,c){1d d=b.3aG;g(d)&&(1a.2Dq.3S(d),b.3aG=1p 0,c(a,b))};fs.1i.68I=1b(a,b){1d c=1a.45C;1a.45C=!1;1j(1d d=1yL*a.2Jp,e=1a.45D,f=1a.2Dq.13r;f!==e&&(a.4qb>d||c);){1d h=f.1jI;f=f.6k;1a.4OG(a,h,b)}};fs.1i.1b2=1b(){1a.45C=!0};oC.1i.8Ip=1b(a,b,c){1a.4P2[c]=rR(a,c);1a.4P1[c]=rR(b,c)};1d kX=[1g y(.1,.1,.1,1),1g y(.153,.278,.878,1),1g y(.827,.231,.49,1),1g y(.827,.188,.22,1),1g y(1,.592,.259,1),1g y(1,.843,0,1)];oC.1i.2wF=1b(a,b){if(g(1a.3aE)&&a.21C&&a.3wA===b.1gA){b=1a.3aE;g(b)?(b=rR(a[b],b),g(b)?(1a.1PO=1k.1V(b,1a.1PO),1a.1PN=1k.2o(b,1a.1PN)):1a.3aE=1p 0):b=1p 0;1d c=1a.4P0,d=1a.4OZ;if(c!==3a.6w&&d!==-3a.6w){d=d-c+B.1hn;d=B.2Y(b-c,0,d)/d*(kX.1h-1);c=1k.2t(d);b=d-c;c=kX[c];d=kX[1k.8a(d)];1d e=y.1y(y.9r);e.5r=B.11x(c.5r,d.5r,b);e.5t=B.11x(c.5t,d.5t,b);e.5G=B.11x(c.5G,d.5G,b);a.3aF=e}}};oC.1i.68z=1b(){1d a=1a.3aE;if(g(a)){1d b=1a.4P2[a];a=1a.4P1[a];1d c=g(b)&&g(a);1a.4P0=c?b:1a.1PN;1a.4OZ=c?a:1a.1PO;1a.1PN=3a.6w;1a.1PO=-3a.6w}};Pm.1i.9P=1b(){1a.3aA=1a.3ay=1a.3ax=1a.3aB=1a.3aC=1a.3aD=1a.1zm=1a.3ar=1a.2oe=1a.1bM=0};Pm.1i.68q=1b(a){ZH(1a,a,!1,!1)};Pm.1i.68O=1b(a){ZH(1a,a,!1,!0)};Pm.1i.4OF=1b(a){ZH(1a,a,!0,!0)};Pm.1y=1b(a,b){b.1bM=a.1bM;b.2oe=a.2oe;b.3ar=a.3ar;b.1bM=a.1bM;b.1zm=a.1zm;b.1oD=a.1oD;b.1zo=a.1zo;b.2Pt=a.2Pt;b.3at=a.3at;b.3aD=a.3aD;b.3wz=a.3wz;b.3aC=a.3aC;b.3wy=a.3wy;b.3aB=a.3aB;b.3ax=a.3ax;b.3ay=a.3ay;b.3aA=a.3aA;b.1iC=a.1iC;b.1tR=a.1tR;b.1Bq=a.1Bq};1L.2X(xv.1i,{2r:{1n:1b(){1f 1a.14N},1C:1b(a){1a.14N=a;1a.1TS=!0}}});xv.1i.68M=1b(){1a.1TS=!0};xv.1i.1nx=1b(a,b){if(a.3o&&(!g(1a.14N)||1a.14N.3o)){1d c=1a.1TS;b.23y&&(1a.1TS=!1);c&&++1a.4OY;b=1a.4OY;1d d=a.15Y;a=c?a.2fN:a.3wx;c=a.1h;1j(1d e=0;e<c;++e){1d f=a[e];if(f.3az!==b){1d h=f.15k;f.3az=b;h.1nx(1a.14N);d.3ay+=h.17z;++d.3ax}}}};1L.2X(tg.1i,{68N:{1n:1b(){1f!0}},1sT:{1n:1b(){if(!1a.3o)1t 1g r("9B 15c is 2S 1aw.  1c7 1Ta.9c or 11i 1j 1Ta.3o to be 8O.");1f 1a.4OX}},1cj:{1n:1b(){1f 1a.1cX},1C:1b(a){Cf.3m2(a,1a,"1cX")}},5U:{1n:1b(){if(!1a.3o)1t 1g r("9B 15c is 2S 1aw.  1c7 1Ta.9c or 11i 1j 1Ta.3o to be 8O.");1f 1a.1tp}},3o:{1n:1b(){1f g(1a.1Ki)}},9c:{1n:1b(){1f 1a.7S.10l}},4uV:{1n:1b(){1f 1a.45B}},2I:{1n:1b(){1f 1a.10z}},1Nz:{1n:1b(){ek("1Ta.1Nz","1Ta.1Nz 14d 26N 2l9. 2qv 17v are 2AZ to 1Z 2I of 1Z 15c 4H 1ol 17m 8h 24v. 1c7 1Z 2I 5i 1gK.");1f 1a.3av}},2r:{1n:1b(){1f 1a.28j.2r},1C:1b(a){1a.28j.2r=a}},1ev:{1n:1b(){1f 1a.23A},1C:1b(a){v.1N.2b.9Y("1ev",a,0);1a.23A=a}},2Jp:{1n:1b(){1f 1a.2Mc},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.2Mc=a}},1ro:{1n:1b(){if(!1a.3o)1t 1g r("9B 15c is 2S 1aw.  1c7 1Ta.9c or 11i 1j 1Ta.3o to be 8O.");1f 1a.1Ki}},7u:{1n:1b(){if(!1a.3o)1t 1g r("9B 15c is 2S 1aw.  1c7 1Ta.9c or 11i 1j 1Ta.3o to be 8O.");1a.1Ki.4OW(1a.12t);1f 1a.1Ki.7u}},4a:{1n:1b(){1f 1a.12t},1C:1b(a){1a.12t=A.1y(a,1a.12t)}},31C:{1n:1b(){1f 1a.4OP}},4qb:{1n:1b(){1d a=1a.15Y;1f a.1tR+a.1iC+a.1Bq}},1W6:{1n:1b(){if(!g(1a.3ww))1f A.8K;1a.45x&&(A.9b(1a.1ro.1Hb,1a.45A,1a.3ww),1a.45x=!1);1f 1a.3ww}},8Io:{1n:1b(){1f 1a.28j}},1DB:{1n:1b(){1f 1a.15Y}},12p:{1n:1b(){1f 1a.1Ez}},3c:{1n:1b(){1f 1a.5W}},3aw:{1n:1b(){1f 1a.4OV},1C:1b(a){v.1N.2b.9Y("3aw",a,0);v.1N.2b.19D("3aw",a,1);1a.4OV=a}},3wv:{1n:1b(){1f 1a.4OU},1C:1b(a){v.1N.2b.9Y("3wv",a,0);v.1N.2b.19D("3wv",a,1a.1ev);1a.4OU=a}},19q:{1n:1b(){if(!1a.3o)1t 1g r("9B 15c is 2S 1aw.  1c7 1Ta.9c or 11i 1j 1Ta.3o to be 8O.");1f 1a.4OT}},1fH:{1n:1b(){1f 1a.1sQ},1C:1b(a){v.1N.2c("1fH",a);v.1N.2b.9Y("1fH.x",a.x,0);v.1N.2b.19D("1fH.x",a.x,1);v.1N.2b.9Y("1fH.y",a.y,0);v.1N.2b.19D("1fH.y",a.y,1);C.1y(a,1a.1sQ)}}});tg.4fn=1b(a){1f na.14m(a).1vs()};tg.1i.4qa=1b(){1a.28j.68M()};tg.1i.4OS=1b(a,b,c){1d d=b.1sT;if(!g(d))1t 1g qa("4OR 2Q 118 an 1sT 5i.");if("0.0"!==d.9G&&"1.0"!==d.9G)1t 1g qa("9B 15c 2Q be 3D 34U 9G 0.0 or 1.0.");1d e=1a.15Y;d=d.8In;g(d)&&(1a.3av+="?v="+d,a.1qN({v:d}));b=1g Qe(1a,a,b.1ro,c);g(c)&&(c.9d.1q(b),b.1Qj=c.1Qj+1);c=[];1j(c.1q(b);0<c.1h;){d=c.9l();++e.3at;1a.45v=1a.45v&&d.1sE===hh.1m8;1d f=d.2qu.9d;if(g(f))1j(1d h=f.1h,l=0;l<h;++l){1d k=1g Qe(1a,a,f[l],d);d.9d.1q(k);k.1Qj=d.1Qj+1;c.1q(k)}1a.68L&&jX.68K(d)}1f b};1d 4ON=1g k,68F=1g T,68H=1g A,68G=1g k,68E=1g k,68D=1g k;tg.1i.44Y=1b(a){if(1a.3o){1j(1d b=1a.4OE,c=0,d=b.1h,e=0;e<d;++e){1d f=b[e],h=1<=a.1gA-f.3au;f.1Kj!==fi.1gu?++c:h?(f.4OQ.1hm(),++c):0<c&&(b[e-c]=f)}b.1h-=c;68J(1a,a);1a.1ot.68I(1a,F6)}};tg.1i.3vM=1b(a){if(1a.3o){1j(1d b=1a.45y,c=b.1h,d=0,e=0;e<c;++e){1d f=b[e];f.1Kj!==fi.45z?++d:0<d&&(b[e-d]=f)}b.1h-=d;b=1a.45y;c=b.1h;1j(d=0;d<c;++d)b[d].1pt(1a,a);b=1a.1cX;1a.45x=!0;g(b)&&b.3e&&b.2H(a);g(1a.26U)||(1a.26U=M.1y(a.6q));1a.4OP=1k.1V(1E3*M.1dA(a.6q,1a.26U),0);1a.23x=1a.2dQ&&!g(1a.1Ez)&&!1a.45w&&!1a.45v;if(1a.1ZG){e=a.3w;f=1a.1Ki;1d h=f.4OO;if(h 2m rk){b=k.1T(e.6K,4ON);c=e.18k;e=e.19I.1D;1d l=h.13w;1d p=h.12x}1s{c=A.1yQ(f.1Hb,68H);b=a.11s.3c;1d n=h.6W;d=A.8P(c,n.2V,68G);if(k.7t(d)>b.1W5)p=T.12y(d,b,68F),b=k.1T(e.6K,4ON),c=e.18k,e=e.19I.1D,l=0,p=2*p.1D;1s{1d m=A.8P(c,e.6K,68E);b=k.16a;c=A.1gE(c,e.18k,68D);c=k.1T(c,c);e=m.z;h 2m Hl?(p=f.2qu.6W.13F[11],l=d.z-p,p=d.z+p):h 2m to&&(p=n.3L,l=d.z-p,p=d.z+p)}}l+=(p-l)*1a.68C;l=B.2Y((e-l)/(p-l),0,1);l=(1-1k.abs(k.2A(c,b)))*(1-l);p=1a.2lQ;1a.4OM=p*l}a.8Im&&1a.1ot.1Pr()}};1d $H=1g k,68B={4l3:3},dF=[];tg.1i.5kj=1b(){1a.1ot.1b2()};tg.1i.2H=1b(a){1a.2nd(a,a.2mL)};tg.1i.2nd=1b(a,b){v.1N.2c("18Y",a);v.1N.2c("2mL",b);1d c=b.6t;if((c!==ug.3mk||1a.45u&&!1a.2p)&&(c!==ug.325||1a.4OL&&(1a.2p||1a.45u))&&(c!==ug.3PC||!(!1a.45r&&0>=1a.45t||!1a.2p))){1d d=a.13l,e=a.3w,f=a.1dj;b.3o=!1;1d h=ug.68A(c),l=h.23z,k=m(b.13l,d),n=k.1h;a.13l=k;a.3w=m(b.3w,e);a.1dj=m(b.1dj,f);1d z=1a.4OK[c];if(1a.2p||l){1a.1Er=c;if(a.3z===O.1at)c=!1;1s if(1a.3o){1d w=1a.15Y;w.9P();1d x=h.23y;++1a.29B;1a.45s.68z();1a.1Ri.4e=3a.6w;1a.1Rh.4e=-3a.6w;1a.1Ri.2i4=3a.6w;1a.1Rh.2i4=-3a.6w;1a.1Ri.3s=3a.6w;1a.1Rh.3s=-3a.6w;1a.1Ri.2i3=3a.6w;1a.1Rh.2i3=-3a.6w;a.1gA===1a.4OJ&&g(1a.3wu)||(1a.4OJ=a.1gA,1a.4OH=!A.2L(1a.4a,1a.3wu),1a.3wu=A.1y(1a.4a,1a.3wu));1a.45r=1a.4OI&&!1a.4OH;c=h.2qt.3U6(1a,a);if(h.2qs){1d q=1a.2of,t=q.1h;q.15F(68y);1j(1d r=0;r<t;++r){1d u=q[r];if(!u.1GJ){1d y=1a.15Y,B=u.2og;if(u.68x()){if(B)if(u.1sD){1d E=u;B=E;1d F=dF;1j(F.1q(E);0<F.1h;){E=F.9l();1j(1d H=E.9d,K=H.1h,I=0;I<K;++I)F.1q(H[I]);E!==B&&(1a.1ot.4OG(1a,E,F6),E.1M(),--1a.15Y.3at)}B.9d=[]}1s y.4OF(u.15k),--y.2Pt;++y.1oD;1a.4OE.1q(u);u.68w.4b(68v(1a,u));u.68u.4b(68t(1a,u)).10g(68s(1a,u))}1s++y.1zm}}}1a.28j.1nx(1a,h);q=h.23y;t=1a.15Y;r=a.13l;u=r.1h;E=1a.2fN;H=E.1h;K=1a.3wn;I=K.1h;1d L=1a.68r;F=1a.23x&&1a.2LR&&a.1O.2h3&&0<H;1a.3ws.1h=0;F&&(g(1a.3as)||(1a.3as=1g Ec({1gh:0,6t:ma.1uf,4w:pa.4t({1lq:Mc.3wt})})),r.1q(1a.3as));y=r.1h;1j(B=0;B<H;++B){1d S=E[B];q&&L.5k(S);S.2H(1a,a,h);t.68q(S.15k);++t.1bM}1j(B=0;B<I;++B)S=K[B],S.2H(1a,a,h);h=r.1h-y;1a.3ws.1b2();if(F){F=1a.3ws.2a;E=F.1h;r.1h+=E;1j(B=h-1;0<=B;--B)r[y+E+B]=r[y+B];1j(B=0;B<E;++B)r[y+B]=F[B]}h=r.1h-u;t.3ar=h;q&&1a.1uY.1iM&&1a.1uY.1FM&&0<h&&1a.20m.2H(a,u,1a.1uY);if(q)if(1a.3wr||1a.3wq||1a.3wp||1a.3wo){g(1a.1W4)||(1a.1W4=1g de);t=1a.2fN;r=t.1h;u=1a.3wn;y=u.1h;1a.1W4.7f();if(1a.4OD)g(1a.3aq)&&(h=g(1a.45q)?1a.45q:sR(1a.3aq),tR(1a.3aq,1a,h).14l=1g C(15,-15));1s{1j(h=0;h<r;++h)q=t[h],tR(q,1a,sR(q));1j(h=0;h<y;++h)q=u[h],q.1sD&&tR(q,1a,sR(q))}1a.1W4.2H(a)}1s 1a.1W4=1a.1W4&&1a.1W4.1M();Pm.1y(w,z);if(x&&(z=1a.1Ny,g(z)&&0!==w.1bM))1j(w=z.1h,x=0;x<w;++x)a.1DJ.2nT(z[x])}1s c=!1;b.3o=c}l&&(k.1h=n);a.13l=d;a.3w=e;a.1dj=f}};tg.1i.2T4=1b(a){1f g(1a.23w)?-1<1a.23w.3f(a):!1};tg.1i.3Z=1b(){1f!1};tg.1i.1M=1b(){1a.1W4=1a.1W4&&1a.1W4.1M();1a.1cX=1a.1cX&&1a.1cX.1M();if(g(1a.1Ki))1j(dF.1q(1a.1Ki);0<dF.1h;){1d a=dF.9l();a.1M();a=a.9d;1j(1d b=a.1h,c=0;c<b;++c)dF.1q(a[c])}1a.1Ki=1p 0;1f la(1a)};1d 68p=1g A;Xp.1i.2H=1b(a){if(!g(a))1t 1g r("6q is 1X.");1j(1d b=1a.2Dc.2a,c=1a.3wl,d=1a.15G,e=0,f=b.1h;e<f;e++){1d h=b[e],l=h.9F,k=c[h.id],n=h.17K&&h.1hK(a)&&F.7q(l.10T,a,!0);if(n){1d m=h.39W(a,68p);1d w=na.14m(F.8y(l.44S,a))}n?(n=g(k)?k.3wm:1p 0,g(n)&&w.2I===k.2I||(g(n)&&(d.1VX(n),4Y c[h.id]),n=1g tg({2I:w}),n.id=h,d.add(n),k={3wm:n,2I:w.2I,39U:!1},c[h.id]=k,68o(n,h,c)),n.2p=!0,g(m)&&(n.4a=m),n.1ev=F.7q(l.1ev,a,n.1ev)):g(k)&&(k.3wm.2p=!1)}1f!0};Xp.1i.3Z=1b(){1f!1};Xp.1i.1M=1b(){1a.17l.1s9.12R(Xp.1i.1gP,1a);1j(1d a=1a.2Dc.2a,b=1a.3wl,c=1a.15G,d=a.1h-1;-1<d;d--)uR(1a,a[d],b,c);1f la(1a)};Xp.1i.1cS=1b(a,b){if(!g(a))1t 1g r("13a is 1X.");if(!g(b))1t 1g r("4D is 1X.");a=1a.3wl[a.id];if(!g(a)||a.39U)1f tb.12D;a=a.3wm;if(!g(a)||!a.2p)1f tb.12D;if(!a.3o)1f tb.1rg;P.1y(a.7u,b);1f tb.1k0};Xp.1i.1gP=1b(a,b,c,d){1d e=1a.2Dc,f=1a.3wl,h=1a.15G;1j(a=b.1h-1;-1<a;a--){1d l=b[a];g(l.9F)&&e.1C(l.id,l)}1j(a=d.1h-1;-1<a;a--)l=d[a],g(l.9F)?e.1C(l.id,l):(uR(1a,l,f,h),e.3S(l.id));1j(a=c.1h-1;-1<a;a--)l=c[a],uR(1a,l,f,h),e.3S(l.id)};1d 68m=y.9r,68l=y.1a7,68k=1g C(2,2);1L.2X(gs.1i,{5g:{1n:1b(){1f F.5g(1a.2hY)&&F.5g(1a.2hX)&&F.5g(1a.1qI)}},13C:{1n:1b(){1f 1a.8B}},1ut:Y("1ut"),1t7:Y("1t7"),12G:Y("12G")});gs.1i.1bu=1b(a){1f"68n"};gs.1i.3K=1b(a,b){g(b)||(b={});b.18V=F.1pW(1a.2hY,a,68m,b.18V);b.1In=F.1pW(1a.2hX,a,68l,b.1In);b.12G=F.7q(1a.1qI,a,68k);1f b};gs.1i.2L=1b(a){1f 1a===a||a 2m gs&&F.2L(1a.2hY,a.2hY)&&F.2L(1a.2hX,a.2hX)&&F.2L(1a.1qI,a.1qI)};1d Je=1L.3F({1Ps:"1Ps",619:"68j",61a:"8Il",32i:"8Ik",4KW:"4KW",3ZP:"3ZP",3ZQ:"3ZQ",4KY:"4KY",3ZO:"3ZO",1P5:"1P5",3ZR:"3ZR",61c:"8Ij"});1L.2X(Re.1i,{8Ii:{1n:1b(){1f 1a.3wk},1C:1b(a){"2b"===2h a&&(1a.3wk=a,1a.29A=!0)}},8Ih:{1n:1b(){1f 1a.3wj},1C:1b(a){"2b"===2h a&&(1a.3wj=a,1a.29A=!0)}},8Ig:{1n:1b(){1f 1a.3wi},1C:1b(a){"2b"===2h a&&(1a.3wi=a,1a.29A=!0)}},8If:{1n:1b(){1f 1a.3wh},1C:1b(a){"2b"===2h a&&(1a.3wh=a,1a.29A=!0)}},8Ie:{1n:1b(){1f 1a.3wg},1C:1b(a){"2b"===2h a&&(1a.3wg=a,1a.29A=!0)}},8Id:{1n:1b(){1f 1a.3wf},1C:1b(a){"2b"===2h a&&(1a.3wf=a,1a.29A=!0)}},8Ic:{1n:1b(){1f 1a.id},1C:1b(a){"2b"===2h a&&(1a.id=a,1a.29A=!0)}},2mS:{1n:1b(){1f 1a.1I},1C:1b(a){"2b"===2h a&&(1a.1I=a)}},1Av:{1n:1b(){1f 1a.1K},1C:1b(a){a 2m gi&&(1a.1K=a,1a.29A=!0)}},4a:{1n:1b(){1a.29A&&1a.68i();1f 1a.12t}},5TH:{1n:1b(){1f 1a.1u7}},8Ib:{1n:1b(){1f 1a.45p},1C:1b(a){1a.45p=a}}});Re.1i.11K=1b(a){a=a||{};1a.3wk=m(a.3wk,0);1a.3wj=m(a.3wj,0);1a.3wi=m(a.3wi,0);1a.3wh=m(a.3wh,1);1a.3wg=m(a.3wg,1);1a.3wf=m(a.3wf,1);1a.1K=m(a.1K,1g gi(0,0,0));1a.id=m(a.id,0);1a.1I=m(a.1I,Je.1Ps);1a.8Ia=[];1a.1BF=[];1a.16b=1p 0;1a.12t=1g A(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);1a.45p=1a.1u7=1a.29A=!0};Re.1i.3Lf=1b(){1f 1F};Re.1i.2NJ=1b(){g(1a.16b)&&!1a.1u7||1a.2CA();1f 1a.16b};Re.1i.68i=1b(){if(1a.45p){e=k.8g(1a.1K.x,1a.1K.y,1a.1K.z);1d a=B.8I(1a.3wk),b=B.8I(1a.3wj),c=B.8I(1a.3wi);c=1g $b(c,a,b);a=1g k(1a.3wh,1a.3wg,1a.3wf);1d d=1g ca;b=1g A;c=ca.28d(c,d);a=A.2yB(k.6h,c,a,b);1a.12t=Da.18N(e,ba.9y,1a.12t);A.9b(1a.12t,a,1a.12t)}1s{1d e=1g k(1a.1K.x,1a.1K.y,1a.1K.z);A.1PY(e,1a.12t,1a.12t)}1a.29A=!1};Re.1i.2CA=1b(){};Re.1i.2OK=1b(a){1d b=1a.2NJ();g(1a.2qr)||(1a.2qr=Ra.12S({1O:a,5b:I.9g(I.3O,b.2w.1K.2a),7Q:xa.7C}));1f 1a.2qr};Re.1i.3QF=1b(a){1d b=1a.2NJ(),c=[];c.1q({2P:0,7e:1a.2OK(a),2Z:3,3k:I.3O,9n:0,9t:0,1T:!1});1d d=b.2w.2U;g(d)&&G6(c,d,1,a);d=b.2w.st;g(d)&&G6(c,d,2,a);b=Ra.17Q({1O:a,5b:b.4N,7Q:xa.7C,17P:Ta.10P});1f 1g Fb({1O:a,2w:c,10X:b})};Re.1i.2OL=1b(a){};1d 4OC={id:1p 0};Se.1i.1VW=1b(){1a.29z++};Se.1i.1VV=1b(){if(0===1a.29z)1t 1g r("1VV 1ag 2S be 7I 8w 1VW.");1a.29z--;pC(1a)};Se.8I9=1p 0;1L.2X(Se.1i,{1s9:{1n:1b(){1f 1a.45n}},id:{1n:1b(){1f 1a.7R}},2a:{1n:1b(){1f 1a.23v.2a}},2p:{1n:1b(){1f 1a.10T},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");if(a!==1a.10T){1a.1VW();1d b,c=[],d=1a.23v.2a,e=d.1h;1j(b=0;b<e;b++)c.1q(d[b].17K);1a.10T=a;1j(b=0;b<e;b++){a=c[b];1d f=d[b];a!==f.17K&&f.13C.5k(f,"17K",f.17K,a)}1a.1VV()}}},7H:{1n:1b(){1f 1a.1fq}}});Se.1i.2CM=1b(){1j(1d a=Za.1Nq,b=Za.11Z,c=1a.23v.2a,d=0,e=c.1h;d<e;d++){1d f=c[d].1b9;if(g(f)){1d h=f.4I;f=f.4U;M.1ib(h,a)&&!h.2L(Za.11Z)&&(a=h);M.1bP(f,b)&&!f.2L(Za.1Nq)&&(b=f)}}Za.1Nq.2L(a)&&(a=Za.11Z);Za.11Z.2L(b)&&(b=Za.1Nq);1f 1g Ab({4I:a,4U:b})};Se.1i.add=1b(a){if(!g(a))1t 1g r("13a is 1X.");a 2m Re&&(a=68h(a));a 2m wd||(a=1g wd(a));1d b=a.id,c=1a.23v;if(c.8h(b))1t 1g qa("An 13a 10M id "+b+" 1A8 2yQ in 1a 1ho.");a.1mu=1a;c.1C(b,a);1a.3we.3S(b)||1a.3ap.1C(b,a);a.13C.7K(Se.1i.45o,1a);pC(1a);1f a};Se.1i.3S=1b(a){1f g(a)?1a.45k(a.id):!1};Se.1i.8h=1b(a){if(!g(a))1t 1g r("13a is 1X");1f g(a.id)?1a.23v.1n(a.id)===a:!1};Se.1i.45k=1b(a){if(!g(a))1f!1;1d b=1a.23v.1n(a);if(!1a.23v.3S(a))1f!1;g(b.1xw)&&g(b.1xw.1Ha)&&b.1xw.1Ha.7f();1a.3ap.3S(a)||(1a.3we.1C(a,b),1a.3wc.3S(a));1a.23v.3S(a);b.13C.12R(Se.1i.45o,1a);pC(1a);1f!0};Se.1i.7f=1b(){1j(1d a=1a.23v,b=a.1h,c=a.2a,d=1a.3ap,e=1a.3we,f=0;f<b;f++){1d h=c[f];g(h.1xw)&&g(h.1xw.1Ha)&&h.1xw.1Ha.7f();1d l=h.id,k=d.1n(l);g(k)||(h.13C.12R(Se.1i.45o,1a),e.1C(l,h))}a.7f();d.7f();1a.3wc.7f();pC(1a)};Se.1i.1of=1b(a){if(!g(a))1t 1g r("id is 1X.");1f 1a.23v.1n(a)};Se.1i.3wd=1b(a){if(!g(a))1t 1g r("id is 1X.");1d b=1a.23v.1n(a);g(b)||(4OC.id=a,b=1g wd(4OC),1a.add(b));1f b};Se.1i.45o=1b(a){1d b=a.id;1a.3ap.8h(b)||1a.3wc.1C(b,a);pC(1a)};1d aI={id:1p 0},Il=2K(2);1L.2X(kf.1i,{1s9:{1n:1b(){1f 1a.1q0.45n}},id:{1n:1b(){1f 1a.7R}},2a:{1n:1b(){1f 1a.1q0.2a}},7H:{1n:1b(){1f 1a.1fq}}});kf.1i.8I8=1b(a,b){1d c=g(b);if(!g(a))1t 1g r("1ho is 1X.");if(c){if(0>b)1t 1g r("2P 2Q be 9U 6L or 14B to 16m.");if(b>1a.1lH.1h)1t 1g r("2P 2Q be 1do 6L or 14B to 1Z 2b of 8I7.");}c?1a.1lH.6z(b,0,a):1a.1lH.1q(a);hs(1a)};kf.1i.3PN=1b(a){a=1a.1lH.3f(a);1f-1!==a?(1a.1lH.6z(a,1),hs(1a),!0):!1};kf.1i.8I6=1b(){1a.1lH.1h=0;hs(1a)};kf.1i.8I5=1b(a){1f-1!==1a.1lH.3f(a)};kf.1i.8h=1b(a){1f 1a.1q0.8h(a)};kf.1i.8I4=1b(a){1f 1a.1lH.3f(a)};kf.1i.8I3=1b(a){if(!g(a))1t 1g r("2P is 1X.","2P");1f 1a.1lH[a]};kf.1i.8I2=1b(){1f 1a.1lH.1h};kf.1i.8I1=1b(a){a=bI(1a.1lH,a);H6(1a,a,a+1)};kf.1i.8I0=1b(a){a=bI(1a.1lH,a);H6(1a,a,a-1)};kf.1i.8HZ=1b(a){1d b=bI(1a.1lH,a);b!==1a.1lH.1h-1&&(1a.1lH.6z(b,1),1a.1lH.1q(a),hs(1a))};kf.1i.8HY=1b(a){1d b=bI(1a.1lH,a);0!==b&&(1a.1lH.6z(b,1),1a.1lH.6z(0,0,a),hs(1a))};kf.1i.1VW=1b(){1a.29z++;1a.1q0.1VW()};kf.1i.1VV=1b(){if(0===1a.29z)1t 1g r("1VV 1ag 2S be 7I 8w 1VW.");1a.29z--;1a.45m&&0===1a.29z&&(hs(1a),1a.45m=!1);1a.1q0.1VV()};kf.1i.2CM=1b(){1f 1a.1q0.2CM()};kf.1i.1of=1b(a){1f 1a.1q0.1of(a)};kf.1i.1gP=1b(a,b,c){1d d=1a.45l,e=d.1h,f=1a.1q0;f.1VW();1d h=c.1h,l=1a.4OB,k=a.id;1j(a=0;a<h;a++){1d n=c[a];1d m=l;1d w=n;Il[0]=k;Il[1]=w.id;w=4H.8s(Il);m[w]();m[w]=1p 0;w=n.id;1j(n=e-1;0<=n;n--)if(m=d[n].1of(w),g(m)){if(!g(x)){1d x=f.1of(w);vR(x)}x.18y(m)}g(x)||f.45k(w);x=1p 0}c=b.1h;1j(a=0;a<c;a++){h=b[a];n=l;m=h;Il[0]=k;Il[1]=m.id;n[4H.8s(Il)]=m.13C.7K(kf.1i.4OA,1a);h=h.id;1j(n=e-1;0<=n;n--)m=d[n].1of(h),g(m)&&(g(x)||(x=f.1of(h),g(x)?vR(x):(aI.id=h,x=1g wd(aI),f.add(x))),x.18y(m));x=1p 0}f.1VV()};kf.1i.4OA=1b(a,b,c,d){c=1a.1lH;1d e=c.1h;d=1a.1q0.1of(a.id);1d f=d[b],h=!g(f),l=!0;1j(--e;0<=e;e--){1d k=c[e].1of(a.id);if(g(k)&&(k=k[b],g(k))){if(l)if(l=!1,g(k.18y)&&g(k.1y))f=k.1y(f);1s{f=k;1W}f.18y(k)}}h&&-1===d.45j.3f(b)&&d.1Dr(b);d[b]=f};1L.2X(hi.1i,{5g:{1n:1b(){1f 1a.18S.1kn}},13C:{1n:1b(){1f 1a.8B}},1oR:{1n:1b(){1f 1a.18S}}});hi.1i.3K=1b(a,b){if(!g(a))1t 1g r("6q is 1X");1d c=1a.18S.2Pk(a);if(g(c))1f c.3K(a,b)};hi.1i.2L=1b(a){1f 1a===a||a 2m hi&&1a.18S.2L(a.18S,F.2L)};hi.1i.3aa=1b(){68g(1a,1a.1n5,1a.8B,1a.18S);1a.8B.5k(1a)};1L.2X(uo.1i,{5g:{1n:1b(){1f 1a.1q0.5g}},13C:{1n:1b(){1f 1a.8B}},1oR:{1n:1b(){1f 1a.1q0.18S}}});uo.1i.1bu=1b(a){if(!g(a))1t 1g r("6q is 1X");1d b=1a.1q0.18S.2Pk(a);if(g(b))1f b.1bu(a)};uo.1i.3K=1b(a,b){if(!g(a))1t 1g r("6q is 1X");1d c=1a.1q0.18S.2Pk(a);if(g(c))1f c.3K(a,b)};uo.1i.2L=1b(a){1f 1a===a||a 2m uo&&1a.1q0.2L(a.1q0,F.2L)};uo.1i.2hS=1b(){1a.8B.5k(1a)};1L.2X(Rg.1i,{5g:{1n:1b(){1f 1a.1q0.5g}},13C:{1n:1b(){1f 1a.8B}},1oR:{1n:1b(){1f 1a.1q0.1oR}},1ub:{1n:1b(){1f 1a.1lF},1C:1b(a){1a.1lF=a}}});Rg.1i.3K=1b(a,b){1f 1a.1nF(a,dg.1EB,b)};Rg.1i.1nF=1b(a,b,c){if(!g(a))1t 1g r("6q is 1X.");if(!g(b))1t 1g r("1ub is 1X.");1d d=1a.1q0.18S.2Pk(a);if(g(d))1f d.1nF(a,b,c)};Rg.1i.2L=1b(a){1f 1a===a||a 2m Rg&&1a.1lF===a.1lF&&1a.1q0.2L(a.1q0,F.2L)};Rg.1i.2hS=1b(){1a.8B.5k(1a)};1d 68e=1g od(0);g(1L.6F)&&(nc.1i=1L.6F(fd.1i),nc.1i.7m=nc);1L.2X(nc.1i,{13G:{1n:1b(){1f 1a.1zP}},1Kh:{1n:1b(){1f 1a.1lG}}});nc.1i.3vJ=1b(a,b){1f 1a.1jm&&!g(b.1D)&&!g(b.9i)&&bf.1op(1a.2R)};nc.1i.2Pc=1b(a){1d b=a.1D;a=a.9i;1f 0===b||g(a)&&a!==b};nc.1i.2hU=r.8i;nc.1i.1ua=1b(a,b,c,d){fd.1i.1ua.4G(1a,a,b,c,d);-1!==1a.45i.3f(b)&&(b=1a.11d[1a.3wb],g(b)&&(g(b.13G)&&(g(b.1D)||g(b.9i))&&ec(ec.68f),1a.1zP=m(b.13G,68e),g(1a.1lG)&&(1a.1lG.1M(),1a.1lG=1p 0),a=b.6N,b=b.1c4,g(a)||g(b)))&&(c=1g Vd(1a.2hU.7X(1a),!1a.1EA),1a.1lG=1g Yr(1a.2R,c,a,b))};nc.1i.1M=1b(){g(1a.1lG)&&(1a.1lG.1M(),1a.1lG=1p 0);fd.1i.1M.4G(1a)};nc.2qg=1b(a,b){v.2l("6N",b);if(g(a))1f b!==bb.1me?a:0;b!==bb.6i&&ec(ec.68d)};nc.2qf=1b(a,b){v.2l("1c4",b);if(g(a))1f b!==bb.1me?a:nc.1me;b!==bb.6i&&ec(ec.68c)};nc.1me="2Y";nc.2qh=1b(a,b,c,d){g(a)&&g(b)||(b=bb.6i);g(c)&&g(d)||(d=bb.6i);a=0;b!==bb.6i&&a++;d===bb.28I&&a++;if(2===a)1f ac.1zj;if(1===a)1f ac.1g5};1d 4Oz=1g y,4Oy=k.6h,$ia=1g k,aja=1g Q;g(1L.6F)&&(Jl.1i=1L.6F(nc.1i),Jl.1i.7m=Jl);Jl.1i.1xx=1b(a){v.2l("6q",a);if(!1a.1jm)1t 1g r("18m 1bX 18f 2S 1vP a 2hR 3y.");1d b=1a.11d,c=b.1hK(a),d={2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1W2.3K(a)),4S:Qd.1vQ(1a.1oP.3K(a)),2M:1p 0,1A:1p 0};if(1a.15f 2m cc){1d e;g(1a.15f.1A)&&(1a.15f.1A.5g||c)&&(e=1a.15f.1A.3K(a,4Oz));g(e)||(e=y.9r);d.1A=Qb.1dc(e)}g(1a.14n.8J)&&(d.2M=af.1mg(F.7q(1a.1lG,a,4Oy,$ia)));1f 1g yb({id:b,3y:1g jk(1a.14n),2w:d})};Jl.1i.1Nt=1b(a){v.2l("6q",a);if(!1a.1zQ)1t 1g r("18m 1bX 18f 2S 1vP an 2hQ 3y.");1d b=1a.11d,c=b.1hK(a),d=F.7q(1a.1W1,a,y.1a7,4Oz);c={2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1Ra.3K(a)),1A:Qb.1dc(d),4S:Qd.1vQ(1a.1oP.3K(a)),2M:1p 0};g(1a.14n.8J)&&(c.2M=af.1mg(F.7q(1a.1lG,a,4Oy,$ia)));1f 1g yb({id:b,3y:1g Fx(1a.14n),2w:c})};Jl.1i.2hU=1b(a,b){a=F.8y(1a.11d.1u5.3q,a);if(g(a)&&0!==a.1h)1f k.1y(a[1k.2t(a.1h/2)],b)};Jl.1i.1ei=1b(a,b){1f!g(b.3q)||!g(b.1G)||fd.1i.1ei.4G(1a,a,b)};Jl.1i.23n=1b(a,b){1f!b.3q.5g||!F.5g(b.1D)||!F.5g(b.9i)||!F.5g(b.6f)||!F.5g(b.1G)||!F.5g(b.5R)||!F.5g(b.1b8)||!F.5g(b.13G)||1a.2qi&&!F.5g(1a.15f)&&!(1a.15f 2m cc)};Jl.1i.23m=1b(a,b){a=F.8y(b.1D,Za.11Z);1d c=F.7q(b.6N,Za.11Z,bb.6i),d=F.8y(b.9i,Za.11Z),e=F.7q(b.1c4,Za.11Z,bb.6i);g(d)&&!g(a)&&(a=0);1d f=1a.14n;f.9S=1a.15f 2m cc?zc.1sC:xe.1W0.23l.9S;f.3q=b.3q.3K(Za.11Z,f.3q);f.1G=b.1G.3K(Za.11Z);f.6f=F.8y(b.6f,Za.11Z);f.1b8=F.8y(b.1b8,Za.11Z);f.8J=nc.2qh(a,c,d,e);f.1D=nc.2qg(a,c);d=nc.2qf(d,e);d===nc.1me&&(d=nd.29x(jk.23q(f,aja)).1UL);f.9i=d};Jl.1Zm=ly;g(1L.6F)&&(ly.1i=1L.6F(Fd.1i),ly.1i.7m=ly);ly.1i.1ei=1b(a,b,c){1d d=1a.14n;1f!g(d.3q)||!g(d.1G)||Fd.1i.1ei.4G(1a,a,b,c)};ly.1i.29w=1b(a,b,c){a=1a.14n;1d d=F.8y(b.1D,c),e=F.7q(b.6N,c,bb.6i),f=F.8y(b.9i,c),h=F.7q(b.1c4,c,bb.6i);g(f)&&!g(d)&&(d=0);a.3q=F.8y(b.3q,c);a.1G=F.8y(b.1G,c);a.6f=F.8y(b.6f,c);a.1b8=F.8y(b.1b8,c);a.8J=nc.2qh(d,e,f,h);a.1D=nc.2qg(d,e);f=nc.2qf(f,h);f===nc.1me&&(f=nd.29x(jk.23q(a,aja)).1UL);a.9i=f};1L.2X(ih.1i,{2i:{1n:r.8i},14c:{1n:r.8i},13K:{1n:r.8i},39m:{1n:r.8i},2dv:{1n:r.8i},1cG:{1n:r.8i},2OR:{1n:r.8i},2p:{1n:r.8i},2hB:{1n:r.8i}});ih.1i.2H=r.8i;ih.1No=1b(a,b){a.2hC!==b&&(b?a.17l.1VW():a.17l.1VV(),a.2hC=b,a.1R4.5k(a,b))};1d 4Ox=yd.3ao=0,4Ow=yd.2Kh=1,687=yd.45h=2,686=yd.680=3,685=yd.67Z=4,689=yd.67Y=5,68b=yd.45g=6,68a=yd.45f=7,683=yd.67X=8,681=yd.67W=9;yd.2Kg=10;1L.2X(yd.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.10T!==a&&(1a.10T=a,Kl(1a,4Ox))}},1K:{1n:1b(){1f 1a.9M},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.9M;k.2L(b,a)||(k.1y(a,b),k.1y(a,1a.2qq),Kl(1a,4Ow))}},13h:{1n:1b(){1f 1a.1hV},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");1d b=1a.1hV;Db.2L(b,a)||(1a.1hV=Db.1y(a,b),Kl(1a,68b))}},15M:{1n:1b(){1f 1a.1gH},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 3s 2Q be 9U 6L 3I 3s.");1d b=1a.1gH;Db.2L(b,a)||(1a.1gH=Db.1y(a,b),Kl(1a,68a))}},12Q:{1n:1b(){1f 1a.2qd},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.2qd!==a&&(1a.2qd=a,Kl(1a,689))}},1A:{1n:1b(){1f 1a.7a},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.7a;y.2L(b,a)||(y.1y(a,b),Kl(1a,687))}},5M:{1n:1b(){1f 1a.16O},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1d b=1a.16O;y.2L(b,a)||(y.1y(a,b),Kl(1a,686))}},5R:{1n:1b(){1f 1a.16n},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.16n!==a&&(1a.16n=a,Kl(1a,685))}},4S:{1n:1b(){1f 1a.17y},1C:1b(a){if(g(a)&&a.3W<=a.3I)1t 1g r("3W 2Q be 9U 6L 3I");ob.2L(1a.17y,a)||(1a.17y=ob.1y(a,1a.17y),Kl(1a,683))}},11p:{1n:1b(){1f 1a.1f9},1C:1b(a){if(1a.1f9!==a){if(!g(a)||0>a)1t 1g r("11p 2Q be 9U 6L or 14B to 0.0.");1a.1f9=a;Kl(1a,681)}}},id:{1n:1b(){1f 1a.7R},1C:1b(a){1a.7R=a;g(1a.16I)&&(1a.16I.2c.id=a)}},1cI:{1n:1b(){1f 1a.16I}},29y:{1n:1b(){1f 1a.23u},1C:1b(a){1a.23u!==a&&(1a.23u=a,Kl(1a,4Ox))}}});yd.1i.1Rg=1b(a){g(1a.16I)||(1a.16I=a.1Ga({9k:1a,1ho:1a.1DS,id:1a.7R}));1f 1a.16I};yd.1i.3wa=1b(){1f 1a.2qq};yd.1i.3w9=1b(a){k.1y(a,1a.2qq);Kl(1a,4Ow)};1d 4Ov=1g E;yd.3w8=1b(a,b,c){if(b.3z===O.6G)1f a;A.8P(c,a,4Ov);1f ic.31F(b,4Ov)};1d 4Ou=1g E;yd.3w7=1b(a,b,c,d){a=A.10r(a,E.9v(b.x,b.y,b.z,1,4Ou),4Ou);1f ic.1yu(c,a,d)};yd.1i.26d=1b(a,b){1d c=1a.3an;g(b)||(b=1g C);if(!g(c))1t 1g r("5gw 2Q be in a 1ho.");if(!g(a))1t 1g r("4r is 1X.");b=yd.3w7(c.4a,1a.2qq,a,b);if(g(b))1f b.y=a.3M.1gt-b.y,b};yd.2i2=1b(a,b,c){a=a.12Q;1d d=.5*a,e=b.x-d;b=b.y-d;g(c)||(c=1g Aa);c.x=e;c.y=b;c.1G=a;c.1D=a;1f c};yd.1i.2L=1b(a){1f 1a===a||g(a)&&1a.7R===a.7R&&k.2L(1a.9M,a.9M)&&y.2L(1a.7a,a.7a)&&1a.2qd===a.2qd&&1a.16n===a.16n&&1a.10T===a.10T&&y.2L(1a.16O,a.16O)&&Db.2L(1a.1hV,a.1hV)&&Db.2L(1a.1gH,a.1gH)&&ob.2L(1a.17y,a.17y)&&1a.1f9===a.1f9};yd.1i.1sm=1b(){1a.16I=1a.16I&&1a.16I.1M();1a.3an=1p 0};1d $Oa=yd.3ao,lX=yd.2Kh,4Os=yd.45h,67R=yd.680,67T=yd.67Z,67S=yd.67Y,4Oq=yd.45g,4Or=yd.45f,4Op=yd.67X,67Q=yd.67W,wR=yd.2Kg,ii={2ke:0,2uk:1,1lU:2,1lV:3,13h:4,25g:5};1L.2X(Li.1i,{1h:{1n:1b(){xR(1a);1f 1a.1zR.1h}}});Li.1i.add=1b(a){a=1g yd(a,1a);a.12N=1a.1zR.1h;1a.1zR.1q(a);1a.1jb=!0;1f a};Li.1i.3S=1b(a){1f 1a.8h(a)?(1a.1zR[a.12N]=1F,1a.1jb=1a.3w6=!0,a.1sm(),!0):!1};Li.1i.7f=1b(){I6(1a.1zR);1a.1zR=[];1a.3w5=[];1a.2Ps=0;1a.3w6=!1;1a.1jb=!0};Li.1i.67V=1b(a,b){a.1g6||(1a.3w5[1a.2Ps++]=a);++1a.1vc[b]};Li.1i.8h=1b(a){1f g(a)&&a.3an===1a};Li.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.");xR(1a);1f 1a.1zR[a]};Li.1i.45e=1b(){1j(1d a=1a.3am,b=!1,c=1a.1vc,d=0;d<wR;++d){1d e=0===c[d]?xa.7C:xa.20X;b=b||a[d]!==e;a[d]=e}1f b};1d yR=1g bc,dr=[];Li.1i.2H=1b(a){if(-1<a.1g4&&0<1a.1zR.1h&&g(1a.1zR[0])&&g(1a.1zR[0].id)&&g(1a.1zR[0].id.1mu)&&g(1a.1zR[0].id.1mu.7H)){1d b=1a.1zR[0].id.1mu.7H;if("7w"!==2h b.1ks&&!b.1ks(a.1g4))1f}xR(1a);1a.4Ot=sb.67U;b=a.3z;1d c=1a.1zR,d=1a.3w5,e=1a.12t;1a.1jb||1a.8C!==b||b!==O.6G&&!A.2L(e,1a.4a)?(1a.8C=b,A.1y(1a.4a,e),1a.1jb=!0,b!==O.6G&&b!==O.10j&&b!==O.15j||zR(1a,c,c.1h,a,e,!0)):b===O.1at?zR(1a,c,c.1h,a,e,!0):(b===O.10j||b===O.15j)&&zR(1a,d,1a.2Ps,a,e,!1);e=1a.1zR.1h;1d f=1a.3w5,h=1a.2Ps,l=1a.1vc;d=a.1O;b=a.10s;c=b.11P;if(1a.1jb||!c&&1a.45e()){1a.1jb=!1;1j(1d k=0;k<wR;++k)l[k]=0;1a.1aa=1a.1aa&&1a.1aa.1M();if(0<e){l=1a.3am;1a.1aa=1g Of(d,[{2P:ii.2ke,2Z:4,3k:I.3O,7Q:l[lX]},{2P:ii.8HX,2Z:4,3k:I.3O,7Q:l[lX]},{2P:ii.1lU,2Z:4,3k:I.3O,7Q:l[4Os]},{2P:ii.1lV,2Z:4,3k:I.3O,7Q:l[4Or]},{2P:ii.13h,2Z:4,3k:I.3O,7Q:l[4Oq]},{2P:ii.25g,2Z:3,3k:I.3O,7Q:l[4Op]}],e);l=1a.1aa.2n4;1j(k=0;k<e;++k){1d n=1a.1zR[k];n.1g6=!1;1d m=d,w=l;J6(1a,m,w,n);K6(1a,m,w,n);L6(1a,m,w,n);M6(1a,m,w,n);N6(1a,m,w,n)}1a.1aa.2wS()}1a.2Ps=0}1s if(0<h){dr.1h=0;(l[lX]||l[67T]||l[67S])&&dr.1q(J6);(l[4Os]||l[67R])&&dr.1q(K6);(l[$Oa]||l[4Or])&&dr.1q(L6);l[4Oq]&&dr.1q(M6);(l[4Op]||l[67Q])&&dr.1q(N6);k=dr.1h;l=1a.1aa.2n4;if(.1<h/e){1j(m=0;m<h;++m)1j(w=f[m],w.1g6=!1,n=0;n<k;++n)dr[n](1a,d,l,w);1a.1aa.2wS()}1s{1j(m=0;m<h;++m){w=f[m];w.1g6=!1;1j(n=0;n<k;++n)dr[n](1a,d,l,w);1a.1aa.32q(w.12N,1)}1a.1aa.3Q2()}1a.2Ps=0}h>1.5*e&&(f.1h=e);if(g(1a.1aa)&&g(1a.1aa.va)){1a.1Mi&&(1a.1Mi=!1,P.5o(1a.1Mh,1a.4a,1a.2n3));f=A.8K;a.3z===O.6G?(f=1a.4a,e=P.1y(1a.2n3,1a.11S)):e=P.1y(1a.2n2,1a.11S);h=e;l=a.3w.2wq(h,a.1O.8j,a.1O.7p)*1a.45d;h.3L+=l;h=1a.1r5!==1a.1W3;1a.1r5=1a.1W3;h&&(1a.2Pr=1a.1r5===jf.18W||1a.1r5===jf.23t?pa.4t({9J:{3e:1a.2Cx,14R:H.2p5},13Q:!0}):1p 0,1a.2n1=1a.1r5===jf.1bl||1a.1r5===jf.23t?pa.4t({9J:{3e:!0,14R:H.2p5},13Q:!1,12e:Dc.1bQ}):1p 0);1a.1Rf=1a.1Rf||0!==a.2mQ;if(h||1a.2i1&&!1a.3al||1a.2i0&&!1a.3ak||1a.2hZ&&!1a.3aj||1a.1Rf!==1a.3ai)h=1g ja({5p:["2n 1o 3gd;\\2J 1m 2ke;\\2J 1m 2uk;\\2J 1m 1lU;\\2J 1m 1lV;\\2J 1m 13h;\\2J 1w 25g;\\1J 1m 15g;\\1J 1m 1CK;\\1J 1o 1Fq;\\1J 1o 1mQ;\\1J 1m 1nW;\\4i 1o 16P = 256.0;\\4i 1o 16s = 1.0 / 256.0;\\2s 2k()\\n{\\1R 1Su = 2ke.1H;\\1R 1St = 2uk.1H;\\1r 2W9 = 2.0 * 2uk.w;\\1r 1Ya = 2ke.w + 2W9;\\1r 3GJ = 2W9 / 1Ya;\\2c7 *= 1gU;\\2c7 += 3.0;\\1r 4W = 1lV.x * 16s;\\1r 2p = 2t(4W);\\n#1z 1Ox\\1P 15M;\\1Ia.x = 1lV.z;\\1Ia.z = 1lV.w;\\1Ia.y = ((4W - 2t(4W)) * 16P) / 255.0;\\15L = 1lV.y * 16s;\\1Ia.w = ((4W - 2t(4W)) * 16P) / 255.0;\\n#1u\\1P 1A;\\1P 5M;\\1P 1fR;\\15L = 1lU.z * 16s;\\1y9.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\1y9.g = (4W - 2t(4W)) * 16P;\\1y9.r = 2t(4W);\\15L = 1lU.x * 16s;\\6p.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\6p.g = (4W - 2t(4W)) * 16P;\\6p.r = 2t(4W);\\15L = 1lU.y * 16s;\\1y8.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\1y8.g = (4W - 2t(4W)) * 16P;\\1y8.r = 2t(4W);\\15L = 1lU.w * 16s;\\1y9.a = (4W - 2t(4W)) * 16P;\\1y9 = 1fR / 255.0;\\15L = 2t(4W) * 16s;\\1y8.a = (4W - 2t(4W)) * 16P;\\1y8 /= 255.0;\\6p.a = 2t(4W);\\6p /= 255.0;\\1P p = 16e(1Su, 1St);\\1P 4p = 15D * p;\\n#if 2l(2c8) || 2l(1Ox) || 2l(1Fm) || 2l(1Ow)\\1r 1eT;\\1U (1kO == 1HG)\\n{\\1XV = 2tZ.y;\\n}\\5L\\n{\\1XV = 2A(4p.1H, 4p.1H);\\n}\\n#1u\\n#1z 2c8\\2c7 *= 1Sk(13h, 1eT);\\n#1u\\2c7 = 2o(1Ya, 3gd);\\1U (1Ya < 1.0)\\n{\\1eR.1H = 1w(0.0);\\2c7 = 1.0;\\n}\\1r 1Ov = 1.0;\\n#1z 1Ox\\3GL = 1Sk(15M, 1eT);\\1U (1Ov < 0.2kd)\\n{\\1eR.1H = 1w(0.0);\\n}\\n#1u\\n#1z 1Fm\\1r 1Ou = 25g.x;\\1r 1Ot = 25g.y;\\1U (1eT < 1Ou || 1eT > 1Ot) {\\1eR.1H = 1w(0.0, 0.0, 1.0);\\n}\\n#1u\\11u = 17B * 4p;\\1we();\\n#1z 1Ow\\1r 11p = 25g.z;\\1U (11p == 0.0 && 2kc != 0.0)\\n{\\3GK = 2kc;\\n}\\1U (11p != 0.0)\\n{\\1r 1Yb = 6I.z / 6I.w;\\166 12P = (1Yb < -1.0 || 1Yb > 1.0);\\1U (!12P && (11p < 0.0 || (1eT > 0.0 && 1eT < 11p)))\\n{\\11u.z = -6I.w;\\n#1z 10B\\1we(1m(18z.x));\\n#1u\\n}\\n}\\n#1u\\1wi = 1A;\\1wi.a *= 1Ov * 2p;\\2W8 = 5M;\\2W8.a *= 1Ov * 2p;\\5dv = 1.0 - 3GJ;\\5du = 2.0 / 1Ya;\\2jz = 1Ya * 2p;\\11u *= 2p;\\2VR = 1fR;\\n}\\n"]}),1a.2i1&&h.2N.1q("2c8"),1a.2i0&&h.2N.1q("1Ox"),1a.2hZ&&h.2N.1q("1Fm"),1a.1Rf&&h.2N.1q("1Ow"),1a.1r5===jf.23t&&(l=1g ja({2N:["18W"],5p:["3G 1m 15g;\\1J 1m 1CK;\\1J 1o 1Fq;\\1J 1o 1mQ;\\1J 1m 1nW;\\2s 2k()\\n{\\1r 1tc = 1h(1Ss - 1v(0.5));\\1r 1td = 1V(0.0, 0.5 - 1mQ);\\1r 1CL = 1.0 - 13f(1td, 0.5, 1tc);\\1r 2c9 = 1.0 - 13f(1td * 1Fq, 0.5 * 1Fq, 1tc);\\1P 1A = 3T(1CK, 15g, 2c9);\\6p.a *= 1CL;\\n#if !2l(18W) && !2l(1bl)\\1U (1A.a < 0.1Am)\\n{\\10W;\\n}\\n#1s\\n#1z 18W\\1U (1A.a < 0.995)\\n{\\10W;\\n}\\n#1s\\1U (1A.a >= 0.995)\\n{\\10W;\\n}\\n#1u\\n#1u\\3R = 9D(1A);\\1ri();\\n}\\n"]}),1a.11V=Ga.1sw({1O:d,2z:1a.11V,5O:h,5A:l,7W:ii}),l=1g ja({2N:["1bl"],5p:["3G 1m 15g;\\1J 1m 1CK;\\1J 1o 1Fq;\\1J 1o 1mQ;\\1J 1m 1nW;\\2s 2k()\\n{\\1r 1tc = 1h(1Ss - 1v(0.5));\\1r 1td = 1V(0.0, 0.5 - 1mQ);\\1r 1CL = 1.0 - 13f(1td, 0.5, 1tc);\\1r 2c9 = 1.0 - 13f(1td * 1Fq, 0.5 * 1Fq, 1tc);\\1P 1A = 3T(1CK, 15g, 2c9);\\6p.a *= 1CL;\\n#if !2l(18W) && !2l(1bl)\\1U (1A.a < 0.1Am)\\n{\\10W;\\n}\\n#1s\\n#1z 18W\\1U (1A.a < 0.995)\\n{\\10W;\\n}\\n#1s\\1U (1A.a >= 0.995)\\n{\\10W;\\n}\\n#1u\\n#1u\\3R = 9D(1A);\\1ri();\\n}\\n"]}),1a.1ED=Ga.1sw({1O:d,2z:1a.1ED,5O:h,5A:l,7W:ii})),1a.1r5===jf.18W&&(l=1g ja({5p:["3G 1m 15g;\\1J 1m 1CK;\\1J 1o 1Fq;\\1J 1o 1mQ;\\1J 1m 1nW;\\2s 2k()\\n{\\1r 1tc = 1h(1Ss - 1v(0.5));\\1r 1td = 1V(0.0, 0.5 - 1mQ);\\1r 1CL = 1.0 - 13f(1td, 0.5, 1tc);\\1r 2c9 = 1.0 - 13f(1td * 1Fq, 0.5 * 1Fq, 1tc);\\1P 1A = 3T(1CK, 15g, 2c9);\\6p.a *= 1CL;\\n#if !2l(18W) && !2l(1bl)\\1U (1A.a < 0.1Am)\\n{\\10W;\\n}\\n#1s\\n#1z 18W\\1U (1A.a < 0.995)\\n{\\10W;\\n}\\n#1s\\1U (1A.a >= 0.995)\\n{\\10W;\\n}\\n#1u\\n#1u\\3R = 9D(1A);\\1ri();\\n}\\n"]}),1a.11V=Ga.1sw({1O:d,2z:1a.11V,5O:h,5A:l,7W:ii})),1a.1r5===jf.1bl&&(l=1g ja({5p:["3G 1m 15g;\\1J 1m 1CK;\\1J 1o 1Fq;\\1J 1o 1mQ;\\1J 1m 1nW;\\2s 2k()\\n{\\1r 1tc = 1h(1Ss - 1v(0.5));\\1r 1td = 1V(0.0, 0.5 - 1mQ);\\1r 1CL = 1.0 - 13f(1td, 0.5, 1tc);\\1r 2c9 = 1.0 - 13f(1td * 1Fq, 0.5 * 1Fq, 1tc);\\1P 1A = 3T(1CK, 15g, 2c9);\\6p.a *= 1CL;\\n#if !2l(18W) && !2l(1bl)\\1U (1A.a < 0.1Am)\\n{\\10W;\\n}\\n#1s\\n#1z 18W\\1U (1A.a < 0.995)\\n{\\10W;\\n}\\n#1s\\1U (1A.a >= 0.995)\\n{\\10W;\\n}\\n#1u\\n#1u\\3R = 9D(1A);\\1ri();\\n}\\n"]}),1a.1ED=Ga.1sw({1O:d,2z:1a.1ED,5O:h,5A:l,7W:ii})),1a.3al=1a.2i1,1a.3ak=1a.2i0,1a.3aj=1a.2hZ,1a.3ai=1a.1Rf;a=a.13l;if(b.3t||c)1j(c=1a.27k,d=1a.1r5===jf.18W,h=1a.1r5===jf.23t,b=1a.1aa.va,l=b.1h,c.1h=l,m=h?2*l:l,k=0;k<m;++k)w=d||h&&0===k%2,l=c[k],g(l)||(l=c[k]=1g Oa),l.6Z=Ja.1wF,l.6t=w||!h?ma.18W:ma.1bl,l.7H=1a,n=h?1k.2t(k/2):k,l.6W=e,l.4a=f,l.2z=w?1a.11V:1a.1ED,l.4J=1a.1dg,l.4c=b[n].va,l.4w=w?1a.2Pr:1a.2n1,l.15S=1a.15S,l.1cI="1nW",a.1q(l)}};Li.1i.3Z=1b(){1f!1};Li.1i.1M=1b(){1a.11V=1a.11V&&1a.11V.1M();1a.1ED=1a.1ED&&1a.1ED.1M();1a.1xB=1a.1xB&&1a.1xB.1M();1a.1aa=1a.1aa&&1a.1aa.1M();I6(1a.1zR);1f la(1a)};1d 67P=1g Aa,67O=1g Aa,67N=1g Aa,67M=1g Aa;Mi.1i.9s=1b(a){1a.2R=a;1d b=67L(1a);1a.1Nu=b;1a.2qn=a.3w.1pr.7K(b)};1L.2X(Mi.1i,{3e:{1n:1b(){1f 1a.1wK},1C:1b(a){1a.3w2=a!==1a.1wK;1a.1wK=a}},4Oo:{1n:1b(){1f 1a.3w4},1C:1b(a){1a.1xA=1a.1xA||a!==1a.3w4;1a.3w4=a}},67K:{1n:1b(){1f 1a.3w3},1C:1b(a){1a.1xA=1a.1xA||a!==1a.3w3;1a.3w3=a}},67J:{1n:1b(){1f 1a.4On}},67I:{1n:1b(){1f 1a.2Dp},1C:1b(a){1a.1xA=1a.1xA||a!==1a.2Dp;1a.2Dp=a}},67H:{1n:1b(){1f 1a.2qp},1C:1b(a){1a.1xA=1a.1xA||a!==1a.2qp;1a.2qp=a}},67G:{1n:1b(){1f 1a.2Do},1C:1b(a){1a.1xA=1a.1xA||a!==1a.2Do;1a.2Do=a}}});Mi.1i.66v=BR("16k",de,"45c","2qo");Mi.1i.4Nz=1b(a){1d b=1a.1EC&&1a.1EC[a.id];if(g(1a.16k)&&g(b)&&g(b.2qo)){1d c=b.2qo;b.2qo=1p 0;CR(1a,a.id);a=1a.16k.1n(c);a.2p=!1;a.3l="";a.id=1p 0;1a.45c.1q(c);1a.1xA=!0}};Mi.1i.4Ns=BR("13d",xd,"45b","3ah");Mi.1i.2On=1b(a){1d b=1a.1EC&&1a.1EC[a.id];if(g(1a.13d)&&g(b)&&g(b.3ah)){1d c=b.3ah;b.3ah=1p 0;CR(1a,a.id);a=1a.13d.1n(c);a.id=1p 0;a.2p=!1;a.4d=1p 0;1a.45b.1q(c);1a.1xA=!0}};Mi.1i.1n3=BR("23s",Li,"45a","3ag");Mi.1i.4Nk=1b(a){1d b=1a.1EC&&1a.1EC[a.id];if(g(1a.23s)&&g(b)&&g(b.3ag)){1d c=b.3ag;b.3ag=1p 0;CR(1a,a.id);a=1a.23s.1n(c);a.2p=!1;a.id=1p 0;1a.45a.1q(c);1a.1xA=!0}};Mi.1i.2H=1b(a){if(g(1a.16k)&&0<1a.16k.1h&&0===1a.16k.1n(0).1pZ.1h){1d b=a.13l;a.13l=[];1a.16k.2H(a);a.13l=b}g(1a.13d)&&0<1a.13d.1h&&!g(1a.13d.1n(0).1G)&&(b=a.13l,a.13l=[],1a.13d.2H(a),a.13l=b);1a.3w2&&(1a.3w2=!1,1a.3e||(g(1a.1Rd)&&1a.1Rd.1M(),g(1a.1Rc)&&1a.1Rc.1M(),g(1a.1Re)&&1a.1Re.1M(),1a.1Re=1a.1Rc=1a.1Rd=1p 0,DR(1a.16k),DR(1a.13d),DR(1a.23s)),1a.1xA=!0);1a.1xA&&(1a.1xA=!1,1a.1Nu());g(1a.1Rd)&&1a.1Rd.2H(a);g(1a.1Rc)&&1a.1Rc.2H(a);g(1a.1Re)&&1a.1Re.2H(a);g(1a.16k)&&1a.16k.2H(a);g(1a.13d)&&1a.13d.2H(a);g(1a.23s)&&1a.23s.2H(a)};Mi.1i.1M=1b(){1a.16k=1a.16k&&1a.16k.1M();1a.13d=1a.13d&&1a.13d.1M();1a.23s=1a.23s&&1a.23s.1M();1a.1Rd=1a.1Rd&&1a.1Rd.1M();1a.1Rc=1a.1Rc&&1a.1Rc.1M();1a.1Re=1a.1Re&&1a.1Re.1M();g(1a.2qn)&&(1a.2qn(),1a.2qn=1p 0);1a.1EC=1a.1Re=1a.1Rd=1a.1Rc=1a.23s=1a.13d=1a.16k=1p 0;1a.45c=[];1a.45b=[];1a.45a=[];1a.4Om=[];1a.4Ol=1p 0;1a.8HW=1a.8HV=1a.3w2=!1};1L.2X(ER.1i,{2i:{1n:1b(){1f 1a.6X},1C:1b(a){1a.6X!==a&&(1a.6X=a,1a.1lt.5k(1a))}},14c:{1n:1b(){1f 1a.1aG},1C:1b(a){1a.1aG!==a&&(1a.1aG=a,1a.1lt.5k(1a))}},13K:{1n:1b(){1f 1a.17l}},39m:{1n:1b(){1f 1a.2hC},1C:1b(a){ih.1No(1a,a)}},2dv:{1n:1b(){1f 1a.1lt}},1cG:{1n:1b(){1f 1a.1vN}},2OR:{1n:1b(){1f 1a.1R4}},2p:{1n:1b(){1f 1a.17l.2p},1C:1b(a){1a.17l.2p=a}},2hB:{1n:1b(){1f 1a.23b},1C:1b(a){if(!g(a))1t 1g r("1Q 2Q be 2l.");1a.23b=a}}});1d 4Oj=k.6h,4Oi=1g k,67F=1g k,4Ok=1g y;g(1L.6F)&&(Gj.1i=1L.6F(fd.1i),Gj.1i.7m=Gj);1L.2X(Gj.1i,{1Kh:{1n:1b(){1f 1a.1lG}}});Gj.1i.1xx=1b(a){v.2l("6q",a);if(!1a.1jm)1t 1g r("18m 1bX 18f 2S 1vP a 2hR 3y.");1d b=1a.11d,c=b.1hK(a),d=1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1W2.3K(a)),e=1a.1oP.3K(a);e=Qd.1vQ(e);d={2p:d,4S:e,1A:1p 0,2M:1p 0};if(1a.15f 2m cc){1d f;g(1a.15f.1A)&&(1a.15f.1A.5g||c)&&(f=1a.15f.1A.3K(a,4Ok));g(f)||(f=y.9r);d.1A=Qb.1dc(f)}g(1a.14n.8J)&&(d.2M=af.1mg(F.7q(1a.1lG,a,4Oj,4Oi)));1f 1g yb({id:b,3y:1g vj(1a.14n),4a:b.2Di(a,b.1pV.6N,.5*1a.14n.1h,1a.2R.11s.3c),2w:d})};Gj.1i.1Nt=1b(a){v.2l("6q",a);if(!1a.1zQ)1t 1g r("18m 1bX 18f 2S 1vP an 2hQ 3y.");1d b=1a.11d,c=b.1hK(a),d=F.7q(1a.1W1,a,y.1a7,4Ok),e=1a.1oP.3K(a);c={2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1Ra.3K(a)),1A:Qb.1dc(d),4S:Qd.1vQ(e),2M:1p 0};g(1a.14n.8J)&&(c.2M=af.1mg(F.7q(1a.1lG,a,4Oj,4Oi)));1f 1g yb({id:b,3y:1g Fu(1a.14n),4a:b.2Di(a,b.1pV.6N,.5*1a.14n.1h,1a.2R.11s.3c),2w:c})};Gj.1i.2hU=1b(a,b){1f F.8y(1a.11d.1K,a,b)};Gj.1i.1ei=1b(a,b){1f!g(a.1K)||!g(b.1h)||!g(b.1i1)||!g(b.1fd)||fd.1i.1ei.4G(1a,a,b)};Gj.1i.23n=1b(a,b){1f!a.1K.5g||!F.5g(a.11f)||!b.1h.5g||!b.1i1.5g||!b.1fd.5g||!F.5g(b.1ue)||!F.5g(b.5R)||!F.5g(b.1ej)};Gj.1i.23m=1b(a,b){a=F.7q(b.6N,Za.11Z,bb.6i);1d c=1a.14n;c.9S=1a.15f 2m cc?zc.1sC:xe.1W0.23l.9S;c.1h=b.1h.3K(Za.11Z);c.1i1=b.1i1.3K(Za.11Z);c.1fd=b.1fd.3K(Za.11Z);c.1ue=F.8y(b.1ue,Za.11Z);c.1ej=F.8y(b.1ej,Za.11Z);c.8J=a!==bb.6i?ac.1zj:1p 0};Gj.1i.1ua=xH;Gj.1Zm=my;g(1L.6F)&&(my.1i=1L.6F(Fd.1i),my.1i.7m=my);my.1i.1ei=1b(a,b,c){1d d=1a.14n,e=F.8y(a.1K,c,67F);1f!g(e)||!g(d.1h)||!g(d.1i1)||!g(d.1fd)||Fd.1i.1ei.4G(1a,a,b,c)};my.1i.29w=1b(a,b,c){a=F.7q(b.6N,c,bb.6i);1d d=1a.14n;d.1h=F.8y(b.1h,c);d.1i1=F.8y(b.1i1,c);d.1fd=F.8y(b.1fd,c);d.1ue=F.8y(b.1ue,c);d.1ej=F.8y(b.1ej,c);d.8J=a!==bb.6i?ac.1zj:1p 0};1L.2X(Qm.1i,{13C:{1n:1b(){1f 1a.8B}},18M:ho("18M"),1cU:ho("1cU"),1a2:ho("1a2"),1le:ho("1le"),1j6:ho("1j6"),16W:ho("16W")});Qm.1i.1y=1b(a){g(a)||(a=1g Qm);a.18M=1a.18M;a.1cU=1a.1cU;a.1a2=1a.1a2;a.1le=1a.1le;a.1j6=1a.1j6;a.16W=1a.16W;1f a};Qm.1i.2L=1b(a){1f 1a===a||g(a)&&M.2L(1a.18M,a.18M)&&M.2L(1a.1cU,a.1cU)&&M.2L(1a.1a2,a.1a2)&&1a.1le===a.1le&&1a.1j6===a.1j6&&1a.16W===a.16W};Qm.1i.18y=1b(a){if(!g(a))1t 1g r("5j is 1X.");1a.18M=m(1a.18M,a.18M);1a.1cU=m(1a.1cU,a.1cU);1a.1a2=m(1a.1a2,a.1a2);1a.1le=m(1a.1le,a.1le);1a.1j6=m(1a.1j6,a.1j6);1a.16W=m(1a.16W,a.16W)};Qm.1i.3K=1b(a){g(a)||(a=1g Cu);a.18M=m(1a.18M,a.18M);a.1cU=m(1a.1cU,a.1cU);a.1a2=m(1a.1a2,a.1a2);a.1le=m(1a.1le,a.1le);a.16W=m(1a.16W,a.16W);a.1j6=m(1a.1j6,a.1j6);1f a};1d 67E=y.9r,67D=1g C(8,8),67B=1g C(0,0),67C=1g C(1,1);1L.2X(is.1i,{5g:{1n:1b(){1f F.5g(1a.7a)&&F.5g(1a.3w1)&&F.5g(1a.3w0)&&F.5g(1a.3vZ)&&F.5g(1a.3vY)}},13C:{1n:1b(){1f 1a.8B}},1A:Y("1A"),1SR:Y("1SR"),1ql:Y("1ql"),1As:Y("1As"),1uF:Y("1uF")});is.1i.1bu=1b(a){1f"1IR"};is.1i.3K=1b(a,b){g(b)||(b={});b.1A=F.1pW(1a.7a,a,67E,b.1A);b.1SR=F.7q(1a.3w1,a,.1);b.1ql=F.1pW(1a.3w0,a,67D,b.1ql);b.1As=F.1pW(1a.3vZ,a,67C,b.1As);b.1uF=F.1pW(1a.3vY,a,67B,b.1uF);1f b};is.1i.2L=1b(a){1f 1a===a||a 2m is&&F.2L(1a.7a,a.7a)&&F.2L(1a.3w1,a.3w1)&&F.2L(1a.3w0,a.3w0)&&F.2L(1a.3vZ,a.3vZ)&&F.2L(1a.3vY,a.3vY)};1L.2X(js.1i,{5g:{1n:1b(){1f F.5g(1a.7a)}},13C:{1n:1b(){1f 1a.8B}},1A:Y("1A")});js.1i.1bu=1b(a){1f"4Oh"};js.1i.3K=1b(a,b){g(b)||(b={});b.1A=F.1pW(1a.7a,a,y.9r,b.1A);1f b};js.1i.2L=1b(a){1f 1a===a||a 2m js&&F.2L(1a.7a,a.7a)};1d 67A=y.9r,67z=y.28g;1L.2X(ks.1i,{5g:{1n:1b(){1f F.5g(1a.7a)&&F.5g(1a.2Am)&&F.5g(1a.2Al)&&F.5g(1a.2g6)}},13C:{1n:1b(){1f 1a.8B}},1A:Y("1A"),1SK:Y("1SK"),1SM:Y("1SM"),1SL:Y("1SL")});ks.1i.1bu=1b(a){1f"4Og"};ks.1i.3K=1b(a,b){g(b)||(b={});b.1A=F.1pW(1a.7a,a,67A,b.1A);b.1SK=F.1pW(1a.2Am,a,67z,b.1SK);b.1SM=F.7q(1a.2Al,a,16,b.1SM);b.1SL=F.7q(1a.2g6,a,255,b.1SL);1f b};ks.1i.2L=1b(a){1f 1a===a||a 2m ks&&F.2L(1a.7a,a.7a)&&F.2L(1a.2Am,a.2Am)&&F.2L(1a.2Al,a.2Al)&&F.2L(1a.2g6,a.2g6)};1d 67y=y.9r;1L.2X(ls.1i,{5g:{1n:1b(){1f F.5g(1a.7a)&&F.5g(1a.8HU)}},13C:{1n:1b(){1f 1a.8B}},1A:Y("1A"),1Lj:Y("1Lj"),1Fo:Y("1Fo")});ls.1i.1bu=1b(a){1f"4Of"};ls.1i.3K=1b(a,b){g(b)||(b={});b.1A=F.1pW(1a.7a,a,67y,b.1A);b.1Lj=F.7q(1a.2Mk,a,.25,b.1Lj);b.1Fo=F.7q(1a.458,a,1,b.1Fo);1f b};ls.1i.2L=1b(a){1f 1a===a||a 2m ls&&F.2L(1a.7a,a.7a)&&F.2L(1a.2Mk,a.2Mk)&&F.2L(1a.458,a.458)};1d 67x=y.9r,67w=y.1a7;1L.2X(ms.1i,{5g:{1n:1b(){1f F.5g(1a.7a)&&F.5g(1a.16O)&&F.5g(1a.16n)}},13C:{1n:1b(){1f 1a.8B}},1A:Y("1A"),5M:Y("5M"),5R:Y("5R")});ms.1i.1bu=1b(a){1f"4Oe"};ms.1i.3K=1b(a,b){g(b)||(b={});b.1A=F.1pW(1a.7a,a,67x,b.1A);b.5M=F.1pW(1a.16O,a,67w,b.5M);b.5R=F.7q(1a.16n,a,1);1f b};ms.1i.2L=1b(a){1f 1a===a||a 2m ms&&F.2L(1a.7a,a.7a)&&F.2L(1a.16O,a.16O)&&F.2L(1a.16n,a.16n)};1L.2X(sk.1i,{5g:{1n:1b(){1d a=1a.6j;if(!g(a))1f!0;1j(1d b=a.1h,c=0;c<b;c++)if(!F.5g(a[c]))1f!1;1f!0}},13C:{1n:1b(){1f 1a.8B}},1ub:{1n:1b(){1f 1a.1lF}}});sk.1i.3K=1b(a,b){1f 1a.1nF(a,dg.1EB,b)};sk.1i.1nF=1b(a,b,c){if(!g(a))1t 1g r("6q is 1X.");if(!g(b))1t 1g r("1ub is 1X.");1d d=1a.6j;if(g(d)){1d e=d.1h;g(c)||(c=2K(e));1j(1d f=0,h=0;f<e;){1d l=d[f].1nF(a,b,c[f]);g(l)&&(c[h]=l,h++);f++}c.1h=h;1f c}};sk.1i.1cf=1b(a){1d b=1a.1n5;b.7f();if(g(a)){1a.6j=a.4h();1j(1d c=a.1h,d=0;d<c;d++){1d e=a[d];g(e)&&b.add(e.13C,sk.1i.2hS,1a)}}1s 1a.6j=1p 0;1a.8B.5k(1a)};sk.1i.2L=1b(a){1f 1a===a||a 2m sk&&1a.1lF===a.1lF&&F.4Od(1a.6j,a.6j)};sk.1i.2hS=1b(){1a.8B.5k(1a)};1L.2X(Yp.1i,{5g:{1n:1b(){1d a=1a.6j;if(!g(a))1f!0;1j(1d b=a.1h,c=0;c<b;c++)if(!F.5g(a[c]))1f!1;1f!0}},13C:{1n:1b(){1f 1a.8B}}});Yp.1i.3K=1b(a,b){if(!g(a))1t 1g r("6q is 1X.");1d c=1a.6j;if(g(c)){c=c.1h;g(b)||(b=2K(c));1j(1d d=0,e=0;d<c;){1d f=1a.6j[d].3K(a,b[d]);g(f)&&(b[e]=f,e++);d++}b.1h=e;1f b}};Yp.1i.1cf=1b(a){1d b=1a.1n5;b.7f();if(g(a)){1a.6j=a.4h();1j(1d c=a.1h,d=0;d<c;d++){1d e=a[d];g(e)&&b.add(e.13C,Yp.1i.2hS,1a)}}1s 1a.6j=1p 0;1a.8B.5k(1a)};Yp.1i.2L=1b(a){1f 1a===a||a 2m Yp&&F.4Od(1a.6j,a.6j)};Yp.1i.2hS=1b(){1a.8B.5k(1a)};1L.2X(ji.1i,{5g:{1n:1b(){1f F.5g(yv(1a))}},13C:{1n:1b(){1f 1a.8B}},1ub:{1n:1b(){1d a=yv(1a);1f g(a)?a.1ub:1p 0}},67v:{1n:1b(){1f 1a.3vW}},4Oc:{1n:1b(){1f 1a.3vX}},67u:{1n:1b(){1f 1a.2Pq}},67t:{1n:1b(){1f yv(1a)}}});ji.1TK=1b(a,b){if(!g(a))1t 1g r("4Oc is 1X.");if(!g(b))1t 1g r("8HT is 1X.");1j(1d c,d=[],e=!0,f=!1,h="",l=0;l<b.1h;++l){1d k=b.1as(l);f?(h+=k,f=!1):"\\\\"===k?f=!0:e&&"#"===k?(c=h,e=!1,h=""):e||"."!==k?h+=k:(d.1q(h),h="")}d.1q(h);1f 1g ji(a,c,d)};ji.1i.3K=1b(a,b){1d c=yv(1a);1f g(c)?c.3K(a,b):1p 0};ji.1i.1nF=1b(a,b,c){1d d=yv(1a);1f g(d)?d.1nF(a,b,c):1p 0};ji.1i.1bu=1b(a){1d b=yv(1a);1f g(b)?b.1bu(a):1p 0};ji.1i.2L=1b(a){if(1a===a)1f!0;1d b=1a.2Pq,c=a.2Pq;if(1a.3vX!==a.3vX||1a.3vW!==a.3vW||b.1h!==c.1h)1f!1;a=1a.2Pq.1h;1j(1d d=0;d<a;d++)if(b[d]!==c[d])1f!1;1f!0};ji.1i.4Ob=1b(a,b,c,d){g(1a.2Po)&&1a.2Pq[0]===b&&(1a.2Po=1p 0,1a.8B.5k(1a))};ji.1i.1gP=1b(a,b,c){a=1a.2Pp;g(a)&&-1!==c.3f(a)?(a.13C.12R(ji.1i.4Ob,1a),1a.2Pp=1a.2Po=1p 0):g(a)||(a=yv(1a),g(a)&&1a.8B.5k(1a))};1d Zp={4q:1,5n:1b(a,b,c){if(!g(a))1t 1g r("1Q is 1X");if(!g(b))1t 1g r("4x is 1X");c=m(c,0);b[c]=a;1f b},5f:1b(a,b,c){if(!g(a))1t 1g r("4x is 1X");b=m(b,0);1f a[b]},3vS:1b(a,b,c,d){if(!g(a))1t 1g r("8HS is 1X");b=m(b,0);c=m(c,a.1h);1d e=0;1j(c=c-b+1;e<c;e++){1d f=a[b+e];d[e]=0===e||1k.abs(h-f)<1k.PI?f:f-B.14C;1d h=f}},3vQ:1b(a,b,c,d,e){if(!g(a))1t 1g r("4x is 1X");if(!g(b))1t 1g r("67s is 1X");e=a[0];1f 0>e?e+B.14C:e}},T6={4q:1,5n:1b(a,b,c){c=m(c,0);b[c]=a},5f:1b(a,b,c){b=m(b,0);1f a[b]}},FR=[],GR=[];1L.2X(Df.1i,{5g:{1n:1b(){1f 0===1a.14z.1h}},13C:{1n:1b(){1f 1a.8B}},1I:{1n:1b(){1f 1a.1b4}},8HR:{1n:1b(){1f 1a.454}},2NB:{1n:1b(){1f 1a.2Pn}},3ad:{1n:1b(){1f 1a.2Pm}},22s:{1n:1b(){1f 1a.3ae},1C:1b(a){1a.3ae!==a&&(1a.3ae=a,1a.8B.5k(1a))}},3ac:{1n:1b(){1f 1a.3vU},1C:1b(a){1a.3vU!==a&&(1a.3vU=a,1a.8B.5k(1a))}},22t:{1n:1b(){1f 1a.3af},1C:1b(a){1a.3af!==a&&(1a.3af=a,1a.8B.5k(1a))}},3ab:{1n:1b(){1f 1a.3vV},1C:1b(a){1a.3vV!==a&&(1a.3vV=a,1a.8B.5k(1a))}}});Df.1i.3K=1b(a,b){v.2l("6q",a);1d c=1a.1f7,d=c.1h;if(0!==d){1d e=1a.455,f=1a.14z,h=Ah(c,a,M.1iF);if(0>h){h=~h;if(0===h){1d l=c[h];1d k=1a.3vV;if(1a.3af===gg.6i||0!==k&&M.1dA(l,a)>k)1f;if(1a.3af===gg.1N4)1f e.5f(f,0,b)}if(h>=d){h=d-1;l=c[h];k=1a.3vU;if(1a.3ae===gg.6i||0!==k&&M.1dA(a,l)>k)1f;if(1a.3ae===gg.1N4)1f e.5f(f,(d-1)*e.4q,b)}k=1a.457;l=1a.67r;1d n=1a.2Pm,m=1a.67q,w=1a.67p;if(1a.2Dm){1a.2Dm=!1;1d x=1k.2o(n.3vT(1a.2Pn,w),d);x!==1a.456&&(1a.456=x,k.1h=x,l.1h=x*m)}1d q=1a.456-1;if(1>q)1f;x=0;--d;if(d-x+1>=q+1){h=h-(q/2|0)-1;h<x&&(h=x);1d t=h+q;t>d&&(t=d,h=t-q,h<x&&(h=x));x=h;d=t}h=d-x+1;1j(q=0;q<h;++q)k[q]=M.1dA(c[x+q],c[d]);if(g(e.3vS))e.3vS(f,x,d,l);1s 1j(h=0,t=1a.2Dn,q=x*t,t*=d+1;q<t;)l[h]=f[q],q++,h++;a=M.1dA(a,c[d]);a=0!==w&&g(n.1d9)?n.1d9(a,k,l,1k.2t(m/(w+1)),w,w,1a.4Oa):n.3vR(a,k,l,m,1a.4Oa);1f g(e.3vQ)?e.3vQ(a,f,x,d,b):e.5f(a,0,b)}1f e.5f(f,h*1a.2Dn,b)}};Df.1i.3sQ=1b(a){if(g(a)){1d b=!1,c=a.3ad;a=a.2NB;g(c)&&1a.2Pm!==c&&(1a.2Pm=c,b=!0);g(a)&&1a.2Pn!==a&&(1a.2Pn=a,b=!0);b&&(1a.2Dm=!0,1a.8B.5k(1a))}};Df.1i.2pv=1b(a,b,c){1d d=1a.4O9,e=g(d);v.2l("6q",a);v.2l("1Q",b);e&&v.2l("4O7",c);1d f=1a.455,h=[];h.1q(a);f.5n(b,h,h.1h);if(e)1j(a=d.1h,b=0;b<a;b++)d[b].5n(c[b],h,h.1h);cI(1p 0,1a.1f7,1a.14z,h,1a.2Dn);1a.2Dm=!0;1a.8B.5k(1a)};Df.1i.3uY=1b(a,b,c){1d d=1a.4O9,e=g(d);v.2l("12K",a);v.2l("2a",b);if(a.1h!==b.1h)1t 1g r("12K and 2a 2Q be 1Z 1ik 1h.");if(e&&(!g(c)||c.1h!==a.1h))1t 1g r("12K and 8HQ 2Q be 1Z 1ik 1h.");1j(1d f=1a.455,h=a.1h,l=[],k=0;k<h;k++)if(l.1q(a[k]),f.5n(b[k],l,l.1h),e)1j(1d n=c[k],m=d.1h,w=0;w<m;w++)d[w].5n(n[w],l,l.1h);cI(1p 0,1a.1f7,1a.14z,l,1a.2Dn);1a.2Dm=!0;1a.8B.5k(1a)};Df.1i.2Pl=1b(a,b){v.2l("8HP",a);cI(b,1a.1f7,1a.14z,a,1a.2Dn);1a.2Dm=!0;1a.8B.5k(1a)};Df.1i.4O6=1b(a){v.2l("6q",a);a=Ah(1a.1f7,a,M.1iF);if(0>a)1f!1;U6(1a,a,1);1f!0};Df.1i.3vP=1b(a){v.2l("3ZV",a);1d b=1a.1f7,c=Ah(b,a.4I,M.1iF);0>c?c=~c:a.16q||++c;b=Ah(b,a.4U,M.1iF);0>b?b=~b:a.14K&&++b;U6(1a,c,b-c)};Df.1i.2L=1b(a){if(1a===a)1f!0;if(!g(a)||1a.1b4!==a.1b4||1a.2Pn!==a.2Pn||1a.2Pm!==a.2Pm)1f!1;1d b=1a.454,c=g(b),d=a.454,e=g(d);if(c!==e)1f!1;if(c){e=b.1h;if(e!==d.1h)1f!1;1j(c=0;c<e;c++)if(b[c]!==d[c])1f!1}b=1a.1f7;d=a.1f7;e=b.1h;if(e!==d.1h)1f!1;1j(c=0;c<e;c++)if(!M.2L(b[c],d[c]))1f!1;b=1a.14z;a=a.14z;1j(c=0;c<e;c++)if(b[c]!==a[c])1f!1;1f!0};Df.8HO=cI;1L.2X(Qf.1i,{5g:{1n:1b(){1f 1a.1pU.5g}},13C:{1n:1b(){1f 1a.8B}},1ub:{1n:1b(){1f 1a.1lF}},2NB:{1n:1b(){1f 1a.1pU.2NB}},3ad:{1n:1b(){1f 1a.1pU.3ad}},8HN:{1n:1b(){1f 1a.4O8}},22s:{1n:1b(){1f 1a.1pU.22s},1C:1b(a){1a.1pU.22s=a}},3ac:{1n:1b(){1f 1a.1pU.3ac},1C:1b(a){1a.1pU.3ac=a}},22t:{1n:1b(){1f 1a.1pU.22t},1C:1b(a){1a.1pU.22t=a}},3ab:{1n:1b(){1f 1a.1pU.3ab},1C:1b(a){1a.1pU.3ab=a}}});Qf.1i.3K=1b(a,b){1f 1a.1nF(a,dg.1EB,b)};Qf.1i.1nF=1b(a,b,c){v.2l("6q",a);v.2l("1ub",b);c=1a.1pU.3K(a,c);if(g(c))1f Jp.452(a,c,1a.1lF,b,c)};Qf.1i.3sQ=1b(a){1a.1pU.3sQ(a)};Qf.1i.2pv=1b(a,b,c){1d d=1a.4O8;if(0<d&&(!g(c)||c.1h!==d))1t 1g r("4O7 1h 2Q be 14B to 1Z 2b of 4O7.");1a.1pU.2pv(a,b,c)};Qf.1i.3uY=1b(a,b,c){1a.1pU.3uY(a,b,c)};Qf.1i.2Pl=1b(a,b){1a.1pU.2Pl(a,b)};Qf.1i.4O6=1b(a){1a.1pU.4O6(a)};Qf.1i.3vP=1b(a){1a.1pU.3vP(a)};Qf.1i.2L=1b(a){1f 1a===a||a 2m Qf&&F.2L(1a.1pU,a.1pU)&&1a.1lF===a.1lF};1d zv=1L.3F({3mq:0,4r9:1}),67o=zv.3mq,67n=y.9r,67m=y.1a7;1L.2X(ns.1i,{5g:{1n:1b(){1f F.5g(1a.1tY)&&F.5g(1a.2hY)&&F.5g(1a.2hX)&&F.5g(1a.1hs)&&F.5g(1a.1qI)}},13C:{1n:1b(){1f 1a.8B}},11f:Y("11f"),1ut:Y("1ut"),1t7:Y("1t7"),2M:Y("2M"),12G:Y("12G")});ns.1i.1bu=1b(a){1f"4O5"};ns.1i.3K=1b(a,b){g(b)||(b={});b.1ia=F.7q(1a.1tY,a,67o)===zv.3mq;b.1ut=F.1pW(1a.2hY,a,67n,b.1ut);b.1t7=F.1pW(1a.2hX,a,67m,b.1t7);b.2M=F.7q(1a.1hs,a,0);b.12G=F.7q(1a.1qI,a,1);1f b};ns.1i.2L=1b(a){1f 1a===a||a 2m ns&&F.2L(1a.1tY,a.1tY)&&F.2L(1a.2hY,a.2hY)&&F.2L(1a.2hX,a.2hX)&&F.2L(1a.1hs,a.1hs)&&F.2L(1a.1qI,a.1qI)};1L.2X(Ll.1i,{5g:{1n:1b(){1f 1a.18S.1kn}},13C:{1n:1b(){1f 1a.8B}},1oR:{1n:1b(){1f 1a.18S}},1ub:{1n:1b(){1f 1a.1lF}}});Ll.1i.3K=1b(a,b){1f 1a.1nF(a,dg.1EB,b)};Ll.1i.1nF=1b(a,b,c){if(!g(a))1t 1g r("6q is 1X.");if(!g(b))1t 1g r("1ub is 1X.");1d d=1a.18S.2Pk(a);if(g(d))1f Jp.452(a,d,1a.1lF,b,c)};Ll.1i.2L=1b(a){1f 1a===a||a 2m Ll&&1a.18S.2L(a.18S,F.2L)&&1a.1lF===a.1lF};Ll.1i.3aa=1b(){1a.8B.5k(1a)};1L.2X(Rm.1i,{5g:{1n:1b(){1f 1a.18S.1kn}},13C:{1n:1b(){1f 1a.8B}},1oR:{1n:1b(){1f 1a.18S}}});Rm.1i.3K=1b(a,b){if(!g(a))1t 1g r("6q is 1X");a=1a.18S.2Pk(a);1f g(a)&&"1b"===2h a.1y?a.1y(b):a};Rm.1i.2L=1b(a){1f 1a===a||a 2m Rm&&1a.18S.2L(a.18S,F.2L)};Rm.1i.3aa=1b(){1a.8B.5k(1a)};1L.2X(os.1i,{5g:{1n:1b(){1f F.5g(1a.9M)}},13C:{1n:1b(){1f 1a.8B}},1K:{1n:1b(){1f 1a.9M},1C:1b(a){1d b=1a.9M;b!==a&&(g(b)&&1a.451(),1a.9M=a,g(a)&&(1a.451=a.8B.7K(1b(){1a.8B.5k(1a)},1a)),1a.8B.5k(1a))}},1T:{1n:1b(){1f 1a.2Pj},1C:1b(a){1a.2Pj!==a&&(1a.2Pj=a,1a.8B.5k(1a))}}});1d 67l=1g k,4O3=1g k,4O4=1g M,mX=1/60;os.1i.3K=1b(a,b){1f 1a.4O2(a,b)};os.1i.4O2=1b(a,b,c){if(!g(a))1t 1g r("6q is 1X");g(b)||(b=1g k);1d d=1a.9M;if(F.5g(d))1f 1a.2Pj?1p 0:k.1y(k.6h,b);1d e=d.3K(a,67l),f=d.3K(M.190(a,mX,4O4),4O3);if(g(e)){if(!g(f)&&(f=e,e=d.3K(M.190(a,-mX,4O4),4O3),!g(e)))1f;if(k.5T(e,f,1E-10,1E-6))1f 1a.2Pj?1p 0:k.1y(k.6h,b);g(c)&&e.1y(c);a=k.3V(f,e,b);1f 1a.2Pj?k.1T(a,b):k.1eE(a,mX,b)}};os.1i.2L=1b(a){1f 1a===a||a 2m os&&F.2L(1a.9M,a.9M)};1L.2X(ps.1i,{5g:{1n:1b(){1f F.5g(1a.2Dl)}},13C:{1n:1b(){1f 1a.8B}},1K:{1n:1b(){1f 1a.2Dl.1K},1C:1b(a){1a.2Dl.1K=a}},3c:{1n:1b(){1f 1a.5W},1C:1b(a){1a.5W!==a&&(1a.5W=a,1a.8B.5k(1a))}}});1d 4O1=1g k,67k=1g k,4O0=1g J;ps.1i.3K=1b(a,b){a=1a.2Dl.4O2(a,67k,4O1);if(g(a))1f Da.67j(4O1,a,1a.5W,4O0),ca.1UQ(4O0,b)};ps.1i.2L=1b(a){1f 1a===a||a 2m ps&&F.2L(1a.2Dl,a.2Dl)&&(1a.5W===a.5W||1a.5W.2L(a.5W))};qs.4q=k.4q;qs.5f=k.5f;qs.5n=k.5n;1d IR,Gd=1g k,Ni=1g Hh,ki=1g T,Av=1g Ab,dI=1g ca,67i={8HM:GW,8HL:4iE,11U:HR},$6={2qm:1p 0};1L.2X(rC.1i,{5g:{1n:1b(){1d a=1a.12i.9h,b=1a.12i.2Dk;1f(!g(a)||a.5g)&&(!g(b)||b.5g)}},13C:{1n:1b(){1f 1a.8B}}});rC.1i.3K=1b(a,b){1d c;g(1a.12i.9h)&&(c=1a.12i.9h.3K(a));if(g(1a.12i.2Dk)){1d d=1a.12i.2Dk.3K(a);g(d)&&(d=d.5d(1b(a){1f 1g bo(a)}))}if(!g(b))1f 1g bo(c,d);b.3q=c;b.1nt=d;1f b};rC.1i.2L=1b(a){1f 1a===a||a 2m rC&&F.2L(1a.12i.9h,a.12i.9h)&&F.2L(1a.12i.2Dk,a.12i.2Dk)};Hj.1e4=1b(a,b){1f(1g Hj).1e4(a,b)};1L.2X(Hj.1i,{2i:{1n:1b(){1f 1a.6X}},14c:{1n:1b(){1f 1a.1aG}},13K:{1n:1b(){1f 1a.17l}},39m:{1n:1b(){1f 1a.2hC}},2dv:{1n:1b(){1f 1a.1lt}},1cG:{1n:1b(){1f 1a.1vN}},2OR:{1n:1b(){1f 1a.1R4}},2p:{1n:1b(){1f 1a.17l.2p},1C:1b(a){1a.17l.2p=a}},2hB:{1n:1b(){1f 1a.23b},1C:1b(a){if(!g(a))1t 1g r("1Q 2Q be 2l.");1a.23b=a}},9L:{1n:1b(){1f 1a.1dh}}});Hj.1eG=[1b(a,b,c,d){b=b.10i;if(g(b)){1d e=lf(b.18B),f=a.10i;g(f)||(a.10i=f=1g ul);fa(17L,f,"2p",b.2p,e,d,c);fa(1ar,f,"4d",b.4d,e,d,c);fa(3a,f,"3b",b.3b,e,d,c);fa(C,f,"14l",b.14l,e,d,c);fa(k,f,"19V",b.19V,e,d,c);fa(oc,f,"15P",b.15P,e,d,c);fa(fc,f,"16l",b.16l,e,d,c);fa(bb,f,"6N",b.6N,e,d,c);fa(y,f,"1A",b.1A,e,d,c);fa(Zp,f,"5S",b.5S,e,d,c);a=f;1d h=b.1l5;g(h)&&fa(qs,a,"1l5",h,e,d,c);fa(17L,f,"1jC",b.1jC,e,d,c);fa(3a,f,"1G",b.1G,e,d,c);fa(3a,f,"1D",b.1D,e,d,c);fa(Db,f,"13h",b.13h,e,d,c);fa(Db,f,"15M",b.15M,e,d,c);fa(Db,f,"1cd",b.1cd,e,d,c);fa(Aa,f,"23r",b.23r,e,d,c);fa(ob,f,"4S",b.4S,e,d,c);fa(3a,f,"11p",b.11p,e,d,c)}},1b(a,b,c,d){b=b.13F;if(g(b)){1d e=lf(b.18B),f=a.13F;g(f)||(a.13F=f=1g Xu);fa(17L,f,"2p",b.2p,e,d,c);fa(k,f,"6e",b.6e,e,d,c);fa(bb,f,"6N",b.6N,e,d,c);fa(17L,f,"4K",b.4K,e,d,c);Ml(f,"2q",b.2q,e,d,c);fa(17L,f,"8Y",b.8Y,e,d,c);fa(y,f,"5M",b.5M,e,d,c);fa(3a,f,"5R",b.5R,e,d,c);fa(ed,f,"6x",b.6x,e,d,c);fa(ob,f,"4S",b.4S,e,d,c)}},1b(a,b,c,d){b=b.1u5;if(g(b)){1d e=lf(b.18B),f=a.1u5;g(f)||(a.1u5=f=1g Yu);fa(17L,f,"2p",b.2p,e,d,c);gI(f,"3q",b.3q,c);fa(3a,f,"1G",b.1G,e,d,c);fa(3a,f,"1D",b.1D,e,d,c);fa(bb,f,"6N",b.6N,e,d,c);fa(3a,f,"9i",b.9i,e,d,c);fa(bb,f,"1c4",b.1c4,e,d,c);fa(ie,f,"1b8",b.1b8,e,d,c);fa(3a,f,"6f",b.6f,e,d,c);fa(17L,f,"4K",b.4K,e,d,c);Ml(f,"2q",b.2q,e,d,c);fa(17L,f,"8Y",b.8Y,e,d,c);fa(y,f,"5M",b.5M,e,d,c);fa(3a,f,"5R",b.5R,e,d,c);fa(ed,f,"6x",b.6x,e,d,c);fa(ob,f,"4S",b.4S,e,d,c);fa(te,f,"12p",b.12p,e,d,c);fa(3a,f,"13G",b.13G,e,d,c)}},1b(a,b,c,d){b=b.1pV;if(g(b)){1d e=lf(b.18B),f=a.1pV;g(f)||(a.1pV=f=1g Zu);fa(17L,f,"2p",b.2p,e,d,c);fa(3a,f,"1h",b.1h,e,d,c);fa(3a,f,"1i1",b.1i1,e,d,c);fa(3a,f,"1fd",b.1fd,e,d,c);fa(bb,f,"6N",b.6N,e,d,c);fa(17L,f,"4K",b.4K,e,d,c);Ml(f,"2q",b.2q,e,d,c);fa(17L,f,"8Y",b.8Y,e,d,c);fa(y,f,"5M",b.5M,e,d,c);fa(3a,f,"5R",b.5R,e,d,c);fa(3a,f,"1ej",b.1ej,e,d,c);fa(3a,f,"1ue",b.1ue,e,d,c);fa(ed,f,"6x",b.6x,e,d,c);fa(ob,f,"4S",b.4S,e,d,c)}},1b(a,b,c,d){b=b.1fc;if(g(b)){1d e=lf(b.18B),f=a.1fc;g(f)||(a.1fc=f=1g $u);fa(17L,f,"2p",b.2p,e,d,c);fa(3a,f,"19p",b.19p,e,d,c);fa(3a,f,"1aP",b.1aP,e,d,c);fa(3a,f,"1D",b.1D,e,d,c);fa(bb,f,"6N",b.6N,e,d,c);fa(3a,f,"9i",b.9i,e,d,c);fa(bb,f,"1c4",b.1c4,e,d,c);fa(Zp,f,"5S",b.5S,e,d,c);fa(Zp,f,"15K",b.15K,e,d,c);fa(3a,f,"6f",b.6f,e,d,c);fa(17L,f,"4K",b.4K,e,d,c);Ml(f,"2q",b.2q,e,d,c);fa(17L,f,"8Y",b.8Y,e,d,c);fa(y,f,"5M",b.5M,e,d,c);fa(3a,f,"5R",b.5R,e,d,c);fa(3a,f,"1ej",b.1ej,e,d,c);fa(ed,f,"6x",b.6x,e,d,c);fa(ob,f,"4S",b.4S,e,d,c);fa(te,f,"12p",b.12p,e,d,c);fa(3a,f,"13G",b.13G,e,d,c)}},1b(a,b,c,d){b=b.3c;if(g(b)){1d e=lf(b.18B),f=a.3c;g(f)||(a.3c=f=1g av);fa(17L,f,"2p",b.2p,e,d,c);fa(k,f,"10N",b.10N,e,d,c);fa(k,f,"1sR",b.1sR,e,d,c);fa(3a,f,"1vW",b.1vW,e,d,c);fa(3a,f,"1vV",b.1vV,e,d,c);fa(3a,f,"1vU",b.1vU,e,d,c);fa(3a,f,"1vT",b.1vT,e,d,c);fa(bb,f,"6N",b.6N,e,d,c);fa(17L,f,"4K",b.4K,e,d,c);Ml(f,"2q",b.2q,e,d,c);fa(17L,f,"8Y",b.8Y,e,d,c);fa(y,f,"5M",b.5M,e,d,c);fa(3a,f,"5R",b.5R,e,d,c);fa(3a,f,"1im",b.1im,e,d,c);fa(3a,f,"1in",b.1in,e,d,c);fa(3a,f,"1sS",b.1sS,e,d,c);fa(ed,f,"6x",b.6x,e,d,c);fa(ob,f,"4S",b.4S,e,d,c)}},1b(a,b,c,d){b=b.17R;if(g(b)){1d e=lf(b.18B),f=a.17R;g(f)||(a.17R=f=1g Kp);fa(17L,f,"2p",b.2p,e,d,c);fa(10J,f,"3l",b.3l,e,d,c);fa(10J,f,"9O",b.9O,e,d,c);fa(qe,f,"2r",b.2r,e,d,c);fa(3a,f,"3b",b.3b,e,d,c);fa(17L,f,"1oC",b.1oC,e,d,c);fa(y,f,"1a4",b.1a4,e,d,c);fa(C,f,"1pJ",b.1pJ,e,d,c);fa(C,f,"14l",b.14l,e,d,c);fa(k,f,"19V",b.19V,e,d,c);fa(oc,f,"15P",b.15P,e,d,c);fa(fc,f,"16l",b.16l,e,d,c);fa(bb,f,"6N",b.6N,e,d,c);fa(y,f,"1b5",b.1b5,e,d,c);fa(y,f,"5M",b.5M,e,d,c);fa(3a,f,"5R",b.5R,e,d,c);fa(Db,f,"15M",b.15M,e,d,c);fa(Db,f,"1cd",b.1cd,e,d,c);fa(Db,f,"13h",b.13h,e,d,c);fa(ob,f,"4S",b.4S,e,d,c);fa(3a,f,"11p",b.11p,e,d,c)}},1b(a,b,c,d){1d e=b.12W;if(g(e)){b=lf(e.18B);1d f=a.12W;g(f)||(a.12W=f=1g Ur);fa(17L,f,"2p",e.2p,b,d,c);fa(zb,f,"1dr",e.12b,b,d,c);fa(3a,f,"3b",e.3b,b,d,c);fa(3a,f,"1BI",e.1BI,b,d,c);fa(3a,f,"1BH",e.1BH,b,d,c);fa(17L,f,"1Kg",e.1Kg,b,d,c);fa(17L,f,"2ql",e.2ql,b,d,c);fa(17L,f,"1VZ",e.1VZ,b,d,c);fa(ed,f,"6x",e.6x,b,d,c);fa(bb,f,"6N",e.6N,b,d,c);fa(y,f,"1rE",e.1rE,b,d,c);fa(3a,f,"1Nw",e.1Nw,b,d,c);fa(y,f,"1A",e.1A,b,d,c);fa(Qp,f,"1qt",e.1qt,b,d,c);fa(3a,f,"1Nv",e.1Nv,b,d,c);fa(ob,f,"4S",e.4S,b,d,c);1d h,l=e.2hW;if(g(l))if(2K.8n(l))1j(a=0,h=l.1h;a<h;++a)l7(f,l[a],b,d,c);1s l7(f,l,b,d,c);e=e.4NZ;if(g(e))if(2K.8n(e))1j(a=0,h=e.1h;a<h;++a)m7(f,e[a],b,d,c);1s m7(f,e,b,d,c)}},1b(a,b,c,d){g(b.2i)&&(a.2i=b.2i)},1b(a,b,c,d){b=b.16G;g(b)&&fa(10J,a,"16G",b,1p 0,d,c)},1b(a,b,c,d){b=b.9w;if(g(b)){1d e=lf(b.18B),f=a.9w;g(f)||(a.9w=f=1g Vr);fa(17L,f,"2p",b.2p,e,d,c);fa(3a,f,"2hV",b.2hV,e,d,c);fa(3a,f,"23k",b.23k,e,d,c);fa(3a,f,"1G",b.1G,e,d,c);fa(3a,f,"1ko",b.1ko,e,d,c);Ml(f,"2q",b.2q,e,d,c);fa(ob,f,"4S",b.4S,e,d,c)}},1b(a,b,c,d){b=b.7v;if(g(b)){1d e=lf(b.18B),f=a.7v;g(f)||(a.7v=f=1g Wr);fa(17L,f,"2p",b.2p,e,d,c);fa(3a,f,"12Q",b.12Q,e,d,c);fa(bb,f,"6N",b.6N,e,d,c);fa(y,f,"1A",b.1A,e,d,c);fa(y,f,"5M",b.5M,e,d,c);fa(3a,f,"5R",b.5R,e,d,c);fa(Db,f,"13h",b.13h,e,d,c);fa(Db,f,"15M",b.15M,e,d,c);fa(ob,f,"4S",b.4S,e,d,c);fa(3a,f,"11p",b.11p,e,d,c)}},1b(a,b,c,d){b=b.12i;if(g(b)){1d e=lf(b.18B),f=a.12i;g(f)||(a.12i=f=1g yl);fa(17L,f,"2p",b.2p,e,d,c);gI(f,"9h",b.3q,c);a=f;1d h=b.1nt;if(g(h))if(2K.8n(h))1j(1d l=0,k=h.1h;l<k;++l)k7(a,"2Dk",h[l],c);1s k7(a,"2Dk",h,c);if(g(f.9h)||g(f.2Dk))f.1iD=1g rC(f);fa(3a,f,"1D",b.1D,e,d,c);fa(bb,f,"6N",b.6N,e,d,c);fa(3a,f,"9i",b.9i,e,d,c);fa(bb,f,"1c4",b.1c4,e,d,c);fa(Zp,f,"15K",b.15K,e,d,c);fa(3a,f,"6f",b.6f,e,d,c);fa(17L,f,"4K",b.4K,e,d,c);Ml(f,"2q",b.2q,e,d,c);fa(17L,f,"8Y",b.8Y,e,d,c);fa(y,f,"5M",b.5M,e,d,c);fa(3a,f,"5R",b.5R,e,d,c);fa(17L,f,"16U",b.16U,e,d,c);fa(17L,f,"1BL",b.1BL,e,d,c);fa(17L,f,"1z2",b.1z2,e,d,c);fa(Ib,f,"14g",b.14g,e,d,c);fa(ed,f,"6x",b.6x,e,d,c);fa(ob,f,"4S",b.4S,e,d,c);fa(te,f,"12p",b.12p,e,d,c);fa(3a,f,"13G",b.13G,e,d,c)}},1b(a,b,c,d){b=b.11M;if(g(b)){1d e=lf(b.18B),f=a.11M;g(f)||(a.11M=f=1g pk);fa(17L,f,"2p",b.2p,e,d,c);gI(f,"3q",b.3q,c);fa(3a,f,"1G",b.1G,e,d,c);fa(3a,f,"6f",b.6f,e,d,c);Ml(f,"2q",b.2q,e,d,c);Ml(f,"1r4",b.1r4,e,d,c);fa(Ib,f,"14g",b.14g,e,d,c);fa(17L,f,"1d7",b.1d7,e,d,c);fa(ed,f,"6x",b.6x,e,d,c);fa(ob,f,"4S",b.4S,e,d,c);fa(te,f,"12p",b.12p,e,d,c);fa(3a,f,"13G",b.13G,e,d,c);g(b.23j)&&!g(b.14g)&&(a={},fa(17L,a,"23j",b.23j,e,d,c),f.14g=67h(a.23j,67g))}},1b(a,b,c,d){b=b.5U;if(g(b)){g(a.5U)||(a.5U=1g Oi);1j(1d e in b)if(b.3p(e)){a.5U.1qP(e)||a.5U.1Dr(e);1d f=b[e];if(2K.8n(f))1j(1d h=0,l=f.1h;h<l;++h)fI(Z6(f[h]),a.5U,e,f[h],1p 0,d,c);1s fI(Z6(f),a.5U,e,f,1p 0,d,c)}}},1b(a,b,c,d){b=b.3g;if(g(b)){1d e=lf(b.18B),f=a.3g;g(f)||(a.3g=f=1g Lp);fa(17L,f,"2p",b.2p,e,d,c);fa(Q,f,"9R",b.9R,e,d,c);fa(3a,f,"1D",b.1D,e,d,c);fa(bb,f,"6N",b.6N,e,d,c);fa(3a,f,"9i",b.9i,e,d,c);fa(bb,f,"1c4",b.1c4,e,d,c);fa(Zp,f,"5S",b.5S,e,d,c);fa(Zp,f,"15K",b.15K,e,d,c);fa(3a,f,"6f",b.6f,e,d,c);fa(17L,f,"4K",b.4K,e,d,c);Ml(f,"2q",b.2q,e,d,c);fa(17L,f,"8Y",b.8Y,e,d,c);fa(y,f,"5M",b.5M,e,d,c);fa(3a,f,"5R",b.5R,e,d,c);fa(ed,f,"6x",b.6x,e,d,c);fa(ob,f,"4S",b.4S,e,d,c);fa(te,f,"12p",b.12p,e,d,c);fa(3a,f,"13G",b.13G,e,d,c)}},1b(a,b,c,d){b=b.1K;g(b)&&f7(a,"1K",b,1p 0,d,c)},1b(a,b,c,d){b=b.15c;if(g(b)){1d e=lf(b.18B),f=a.15c;g(f)||(a.15c=f=1g by);fa(17L,f,"2p",b.2p,e,d,c);fa(zb,f,"1dr",b.1dr,e,d,c);fa(3a,f,"1ev",b.1ev,e,d,c)}},1b(a,b,c,d){b=b.39K;g(b)&&fa(k,a,"39K",b,1p 0,d,c)},1b(a,b,c,d){b=b.1H9;if(g(b)){1d e=lf(b.18B),f=a.1H9;g(f)||(a.1H9=f=1g Xr);fa(17L,f,"2p",b.2p,e,d,c);gI(f,"3q",b.3q,c);i7(f,"1lB",b.1lB,c);i7(f,"1lC",b.1lC,c);fa(3a,f,"6f",b.6f,e,d,c);fa(17L,f,"4K",b.4K,e,d,c);Ml(f,"2q",b.2q,e,d,c);fa(17L,f,"8Y",b.8Y,e,d,c);fa(y,f,"5M",b.5M,e,d,c);fa(3a,f,"5R",b.5R,e,d,c);fa(ed,f,"6x",b.6x,e,d,c);fa(ob,f,"4S",b.4S,e,d,c)}},1b(a,b,c,d){b=b.11f;g(b)&&fa(ca,a,"11f",b,1p 0,d,c)},1b(a,b,c,d){b=b.1b9;if(g(b)){1d e;if(2K.8n(b))1j(c=0,d=b.1h;c<d;++c)g(e)||(e=1g Md),e.1r2(lf(b[c]));1s e=1g Md,e.1r2(lf(b));a.1b9=e}}];Hj.1i.1pt=1b(a,b){1f o7(1a,a,b,!1)};Hj.1i.1e4=1b(a,b){1f o7(1a,a,b,!0)};Hj.8HK=fa;Hj.8HJ=f7;Hj.8HI=Ml;Hj.67f=1b(a,b,c,d,e){d=m(d,Hj.1eG);if(2K.8n(a))1j(1d f=0,h=a.1h;f<h;++f)n7(a[f],b,d,c,e);1s n7(a,b,d,c,e)};1L.2X(li.1i,{1h:{1n:1b(){1f 1a.1ud.1h}},3vO:{1n:1b(){1f 1a.2HP}},44Z:{1n:1b(){1f 1a.2wf}},3vN:{1n:1b(){1f 1a.67e}}});li.1i.add=1b(a){if(!g(a))1t 1g r("30h is 1X.");1d b=1a,c=1a.1ud;1f Z(a,1b(a){c===b.1ud&&(b.1ud.1q(a),b.2HP.5k(b,a));1f a})};li.1i.3S=1b(a,b){b=m(b,!1);1d c=1a.1ud.3f(a);1f-1!==c?(1a.1ud.6z(c,1),1a.2wf.5k(1a,a),b&&"1b"===2h a.1M&&a.1M(),!0):!1};li.1i.7f=1b(a){a=m(a,!1);1j(1d b=1a.1ud,c=0,d=b.1h;c<d;++c){1d e=b[c];1a.2wf.5k(1a,e);a&&"1b"===2h e.1M&&e.1M()}1a.1ud=[]};li.1i.8h=1b(a){1f-1!==1a.3f(a)};li.1i.3f=1b(a){1f 1a.1ud.3f(a)};li.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.");1f 1a.1ud[a]};li.1i.8HH=1b(a){if(!g(a))1t 1g r("2i is 1X.");1f 1a.1ud.14O(1b(b){1f b.2i===a})};li.1i.2yO=1b(a){a=hI(1a.1ud,a);q7(1a,a,a+1)};li.1i.1wp=1b(a){a=hI(1a.1ud,a);q7(1a,a,a-1)};li.1i.3oB=1b(a){1d b=hI(1a.1ud,a);b!==1a.1ud.1h-1&&(1a.1ud.6z(b,1),1a.1ud.1q(a),1a.3vN.5k(a,1a.1ud.1h-1,b))};li.1i.3oA=1b(a){1d b=hI(1a.1ud,a);0!==b&&(1a.1ud.6z(b,1),1a.1ud.6z(0,0,a),1a.3vN.5k(a,0,b))};li.1i.3Z=1b(){1f!1};li.1i.1M=1b(){1a.7f(!0);1f la(1a)};1L.2X(cf.1i,{1h:{1n:1b(){1f 1a.15G.1h}}});cf.1i.add=1b(a){if(!g(a))1t 1g r("9k is 1X.");1d b=a.2Pi=a.2Pi||{};(b.3a9=b.3a9||{})[1a.2qk]={1ho:1a};1a.15G.1q(a);1f a};cf.1i.3S=1b(a){if(1a.8h(a)){1d b=1a.15G.3f(a);if(-1!==b)1f 1a.15G.6z(b,1),4Y a.2Pi.3a9[1a.2qk],1a.2Ph&&a.1M(),!0}1f!1};cf.1i.1VX=1b(a){1d b=1a.3S(a);b&&!1a.2Ph&&a.1M();1f b};cf.1i.7f=1b(){1j(1d a=1a.15G,b=a.1h,c=0;c<b;++c)4Y a[c].2Pi.3a9[1a.2qk],1a.2Ph&&a[c].1M();1a.15G=[]};cf.1i.8h=1b(a){1f!!(g(a)&&a.2Pi&&a.2Pi.3a9&&a.2Pi.3a9[1a.2qk])};cf.1i.2yO=1b(a){if(g(a)){a=iI(1a,a);1d b=1a.15G;if(a!==b.1h-1){1d c=b[a];b[a]=b[a+1];b[a+1]=c}}};cf.1i.3oB=1b(a){if(g(a)){1d b=iI(1a,a),c=1a.15G;b!==c.1h-1&&(c.6z(b,1),c.1q(a))}};cf.1i.1wp=1b(a){if(g(a)){a=iI(1a,a);1d b=1a.15G;if(0!==a){1d c=b[a];b[a]=b[a-1];b[a-1]=c}}};cf.1i.3oA=1b(a){if(g(a)){1d b=iI(1a,a),c=1a.15G;0!==b&&(c.6z(b,1),c.1po(a))}};cf.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.");1f 1a.15G[a]};cf.1i.2H=1b(a){if(1a.2p)1j(1d b=1a.15G,c=0;c<b.1h;++c)b[c].2H(a)};cf.1i.3vM=1b(a){1j(1d b=1a.15G,c=0;c<b.1h;++c){1d d=b[c];g(d.3vM)&&d.3vM(a)}};cf.1i.2nd=1b(a,b){1j(1d c=1a.15G,d=0;d<c.1h;++d){1d e=c[d];g(e.2nd)&&e.2nd(a,b)}};cf.1i.44Y=1b(a){1j(1d b=1a.15G,c=0;c<b.1h;++c){1d d=b[c];g(d.44Y)&&d.44Y(a)}};cf.1i.3Z=1b(){1f!1};cf.1i.1M=1b(){1a.7f();1f la(1a)};1L.2X(Sm.1i,{1h:{1n:1b(){1f 1a.1bC}}});Sm.1i.add=1b(a,b){v.2l("9k",a);g(b)&&v.1N.2b("13G",b);b=m(b,0);1d c=1a.1lH[b];if(!g(c)){c=1g cf({2Ph:!1});c.1zP=b;1a.1lH[b]=c;1j(1d d=1a.2Pg,e=0;e<d.1h&&d[e].1zP<b;)e++;d.6z(e,0,c)}c.add(a);1a.1bC++;a.1zP=b;1f a};Sm.1i.1C=1b(a,b){v.2l("9k",a);v.1N.2b("13G",b);if(b===a.1zP)1f a;1a.3S(a,!0);1a.add(a,b);1f a};Sm.1i.3S=1b(a,b){if(1a.8h(a)){1d c=a.1zP,d=1a.1lH[c];(a=b?d.3S(a):d.1VX(a))&&1a.1bC--;0===d.1h&&(1a.2Pg.6z(1a.2Pg.3f(d),1),1a.1lH[c]=1p 0,d.1M());1f a}1f!1};Sm.1i.7f=1b(){1j(1d a=1a.2Pg,b=0;b<a.1h;b++){1d c=a[b];c.2Ph=!0;c.1M()}1a.1lH={};1a.2Pg=[];1a.1bC=0};Sm.1i.8h=1b(a){if(!g(a))1f!1;1d b=1a.1lH[a.1zP];1f g(b)&&b.8h(a)};Sm.1i.2H=1b(a){if(1a.2p)1j(1d b=1a.2Pg,c=0;c<b.1h;c++)b[c].2H(a)};Sm.1i.3Z=1b(){1f!1};Sm.1i.1M=1b(){1a.7f();1f la(1a)};rs.1i.add=1b(a,b){1a.2Dj.1C(b.id,b.4Nh(1a.15G,1a.2P4))};rs.1i.3S=1b(a){a=a.id;1d b=1a.2Dj.1n(a);g(b)&&(1a.2Dj.3S(a),b.1M())};rs.1i.2H=1b(a){1j(1d b=1a.2Dj.2a,c=0,d=b.1h;c<d;c++)b[c].2H(a);1f!0};rs.1i.1R6=1b(){1j(1d a=1a.2Dj.2a,b=0,c=a.1h;b<c;b++)a[b].1M();1a.2Dj.7f()};rs.1i.1cS=1b(a,b){a=1a.2Dj.1n(a.id);1f g(a)&&g(a.1cS)?a.1cS(b):tb.12D};1d 4NY=1g y,4NX=k.6h,4NW=1g k,4NV=1g Q;g(1L.6F)&&(Nl.1i=1L.6F(nc.1i),Nl.1i.7m=Nl);Nl.1i.1xx=1b(a){v.2l("6q",a);if(!1a.1jm)1t 1g r("18m 1bX 18f 2S 1vP a 2hR 3y.");1d b=1a.11d,c=b.1hK(a),d={2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1W2.3K(a)),4S:Qd.1vQ(1a.1oP.3K(a)),2M:1p 0,1A:1p 0};if(1a.15f 2m cc){1d e;g(1a.15f.1A)&&(1a.15f.1A.5g||c)&&(e=1a.15f.1A.3K(a,4NY));g(e)||(e=y.9r);d.1A=Qb.1dc(e)}g(1a.14n.8J)&&(d.2M=af.1mg(F.7q(1a.1lG,a,4NX,4NW)));1f 1g yb({id:b,3y:1g rg(1a.14n),2w:d})};Nl.1i.1Nt=1b(a){v.2l("6q",a);if(!1a.1zQ)1t 1g r("18m 1bX 18f 2S 1vP an 2hQ 3y.");1d b=1a.11d,c=b.1hK(a),d=F.7q(1a.1W1,a,y.1a7,4NY),e=1a.1oP.3K(a);c={2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1Ra.3K(a)),1A:Qb.1dc(d),4S:Qd.1vQ(e),2M:1p 0};g(1a.14n.8J)&&(c.2M=af.1mg(F.7q(1a.1lG,a,4NX,4NW)));1f 1g yb({id:b,3y:1g pj(1a.14n),2w:c})};Nl.1i.2hU=1b(a,b){1f F.8y(1a.11d.1K,a,b)};Nl.1i.1ei=1b(a,b){1f!g(a.1K)||!g(b.19p)||!g(b.1aP)||fd.1i.1ei.4G(1a,a,b)};Nl.1i.23n=1b(a,b){1f!a.1K.5g||!b.19p.5g||!b.1aP.5g||!F.5g(b.5S)||!F.5g(b.1D)||!F.5g(b.9i)||!F.5g(b.6f)||!F.5g(b.15K)||!F.5g(b.5R)||!F.5g(b.1ej)||!F.5g(b.13G)||1a.2qi&&!F.5g(1a.15f)&&!(1a.15f 2m cc)};Nl.1i.23m=1b(a,b){1d c=F.8y(b.1D,Za.11Z),d=F.7q(b.6N,Za.11Z,bb.6i),e=F.8y(b.9i,Za.11Z),f=F.7q(b.1c4,Za.11Z,bb.6i);g(e)&&!g(c)&&(c=0);1d h=1a.14n;h.9S=1a.15f 2m cc?zc.1sC:xe.1W0.23l.9S;h.2V=a.1K.3K(Za.11Z,h.2V);h.19p=b.19p.3K(Za.11Z,h.19p);h.1aP=b.1aP.3K(Za.11Z,h.1aP);h.5S=F.8y(b.5S,Za.11Z);h.6f=F.8y(b.6f,Za.11Z);h.15K=F.8y(b.15K,Za.11Z);h.1ej=F.8y(b.1ej,Za.11Z);h.8J=nc.2qh(c,d,e,f);h.1D=nc.2qg(c,d);e=nc.2qf(e,f);e===nc.1me&&(e=nd.29x(rg.23q(h,4NV)).1UL);h.9i=e};Nl.1Zm=ny;g(1L.6F)&&(ny.1i=1L.6F(Fd.1i),ny.1i.7m=ny);ny.1i.1ei=1b(a,b,c){1d d=1a.14n;1f!g(d.2V)||!g(d.19p)||!g(d.1aP)||Fd.1i.1ei.4G(1a,a,b,c)};ny.1i.29w=1b(a,b,c){1d d=1a.14n,e=F.8y(b.1D,c),f=F.7q(b.6N,c,bb.6i),h=F.8y(b.9i,c),l=F.7q(b.1c4,c,bb.6i);g(h)&&!g(e)&&(e=0);d.2V=F.8y(a.1K,c,d.2V);d.19p=F.8y(b.19p,c);d.1aP=F.8y(b.1aP,c);d.5S=F.8y(b.5S,c);d.6f=F.8y(b.6f,c);d.15K=F.8y(b.15K,c);d.1ej=F.8y(b.1ej,c);d.8J=nc.2qh(e,f,h,l);d.1D=nc.2qg(e,f);h=nc.2qf(h,l);h===nc.1me&&(h=nd.29x(rg.23q(d,4NV)).1UL);d.9i=h};1d 67c=1g cc(y.9r),nX=k.6h,oX=1g k,67d=1g k,67b=1g k,pX=1g y,67a=1g k(1,1,1);g(1L.6F)&&(Ij.1i=1L.6F(fd.1i),Ij.1i.7m=Ij);1L.2X(Ij.1i,{1Kh:{1n:1b(){1f 1a.1lG}}});Ij.1i.1xx=1b(a,b,c){v.2l("6q",a);1d d=1a.11d,e=d.1hK(a),f=1g Wc(e&&d.17K&&1a.1kJ.3K(a)&&1a.1W2.3K(a)),h=1a.1oP.3K(a);h=Qd.1vQ(h);f={2p:f,4S:h,1A:1p 0,2M:1p 0};if(1a.15f 2m cc){1d l;g(1a.15f.1A)&&(1a.15f.1A.5g||e)&&(l=1a.15f.1A.3K(a,pX));g(l)||(l=y.9r);e=Qb.1dc(l);f.1A=e}g(1a.14n.8J)&&(f.2M=af.1mg(F.7q(1a.1lG,a,nX,oX)));1f 1g yb({id:d,3y:1g $e(1a.14n),4a:b?1p 0:d.2Di(a,d.3c.6N,.5*1a.14n.10N.z,1a.2R.11s.3c,c),2w:f})};Ij.1i.1Nt=1b(a,b,c){v.2l("6q",a);1d d=1a.11d,e=d.1hK(a),f=F.7q(1a.1W1,a,y.1a7,pX),h=1a.1oP.3K(a);e={2p:1g Wc(e&&d.17K&&1a.1kJ.3K(a)&&1a.1Ra.3K(a)),1A:Qb.1dc(f),4S:Qd.1vQ(h),2M:1p 0};g(1a.14n.8J)&&(e.2M=af.1mg(F.7q(1a.1lG,a,nX,oX)));1f 1g yb({id:d,3y:1g wj(1a.14n),4a:b?1p 0:d.2Di(a,d.3c.6N,.5*1a.14n.10N.z,1a.2R.11s.3c,c),2w:e})};Ij.1i.2hU=1b(a,b){1f F.8y(1a.11d.1K,a,b)};Ij.1i.1ei=1b(a,b){1f!g(a.1K)||!g(b.10N)||fd.1i.1ei.4G(1a,a,b)};Ij.1i.23n=1b(a,b){1f!a.1K.5g||!F.5g(a.11f)||!b.10N.5g||!F.5g(b.1sR)||!F.5g(b.1im)||!F.5g(b.1in)||!F.5g(b.5R)||!F.5g(b.1vW)||!F.5g(b.1vV)||!F.5g(b.1vU)||!F.5g(b.1vT)||!F.5g(b.1sS)};Ij.1i.23m=1b(a,b){a=F.7q(b.6N,Za.11Z,bb.6i);1d c=1a.14n;c.9S=1a.15f 2m cc?zc.1sC:xe.1W0.23l.9S;c.10N=b.10N.3K(Za.11Z,c.10N);c.1sR=F.8y(b.1sR,c.10N);c.1vW=F.8y(b.1vW,Za.11Z);c.1vV=F.8y(b.1vV,Za.11Z);c.1vU=F.8y(b.1vU,Za.11Z);c.1vT=F.8y(b.1vT,Za.11Z);c.1im=F.8y(b.1im,Za.11Z);c.1in=F.8y(b.1in,Za.11Z);c.1sS=F.8y(b.1sS,Za.11Z);c.8J=a!==bb.6i?ac.1zj:1p 0};Ij.1i.1ua=xH;Ij.1Zm=sC;g(1L.6F)&&(sC.1i=1L.6F(Fd.1i),sC.1i.7m=sC);sC.1i.2H=1b(a){v.2l("6q",a);1d b=1a.11d,c=b.3c;if(b.17K&&b.1hK(a)&&F.7q(c.2p,a,!0)){1d d=F.8y(c.10N,a,67d),e=g(d)?b.2Di(a,c.6N,.5*d.z,1a.2R.11s.3c,1a.12t):1p 0;if(g(e)&&g(d)){1d f=F.7q(c.4K,a,!0),h=F.7q(c.8Y,a,!1),l=F.1pW(c.5M,a,y.1a7,pX),p=cg.3K(a,m(c.2q,67c),1a.17u),n=F.8y(c.1sR,a,67b),z=F.8y(c.1vW,a),w=F.8y(c.1vV,a),x=F.8y(c.1vU,a),q=F.8y(c.1vT,a),t=F.8y(c.1im,a),r=F.8y(c.1in,a),u=F.8y(c.1sS,a),B=F.7q(c.5R,a,1);c=F.7q(c.6N,a,bb.6i);1d C=c!==bb.6i?ac.1zj:1p 0,E=1a.2R.3z;c=E===O.6G&&c===bb.6i;1d Hb=1a.14n,H=1a.1u9.39Q.3K(a),K=1a.1u9.1Ns.3K(a),I=F.7q(1a.1u9.1Kh,a,nX,oX);!c||1a.4NU!==E||!g(1a.7h)||Hb.1im!==t||Hb.1in!==r||g(n)&&!k.2L(Hb.1sR!==n)||Hb.1vW!==z||Hb.1vV!==w||Hb.1vU!==x||Hb.1vT!==q||Hb.1sS!==u||1a.4NT!==B||Hb.8J!==C?(b=1a.15G,b.1VX(1a.7h),b.1VX(1a.1Nx),1a.1Nx=1a.7h=1p 0,1a.4NU=E,1a.4NT=B,Hb.1im=t,Hb.1in=r,Hb.1sS=u,Hb.8J=C,Hb.10N=k.1y(c?67a:d,Hb.10N),g(n)?c?(t=k.7t(d),Hb.1sR=k.9v(n.x/t,n.y/t,n.z/t,Hb.1sR)):Hb.1sR=k.1y(n,Hb.1sR):Hb.1sR=1p 0,Hb.1vW=z,Hb.1vV=w,Hb.1vU=x,Hb.1vT=q,p=1g xe({2q:p,11C:p.1pE(),1ph:!0}),Hb.9S=p.9S,n=1a.1u9.1xx(a,c,1a.12t),1a.7h=b.add(1g Kb({13g:n,161:p,17X:!1,6x:H})),a=1a.1u9.1Nt(a,c,1a.12t),1a.1Nx=b.add(1g Kb({13g:a,161:1g zc({8z:!0,11C:255!==a.2w.1A.1Q[3],4w:{11a:1a.1u9.2R.3Pu(B)}}),17X:!1,6x:H})),1a.44X=f,1a.44W=h,1a.3vL=y.1y(l,1a.3vL),1a.1xy=K,1a.1Rb=k.1y(I,1a.1Rb)):1a.7h.3o&&(a=1a.7h,B=1a.1Nx,a.2p=!0,B.2p=!0,a.161.2q=p,p=1a.16N,g(p)||(1a.16N=p=a.1bH(b)),f!==1a.44X&&(p.2p=Wc.1an(f,p.2p),1a.44X=f),f=1a.4NS,g(f)||(1a.4NS=f=B.1bH(b)),h!==1a.44W&&(f.2p=Wc.1an(h,f.2p),1a.44W=h),y.2L(l,1a.3vL)||(f.1A=Qb.1an(l,f.1A),y.1y(l,1a.3vL)),ob.2L(K,1a.1xy)||(p.4S=Qd.1an(K,p.4S),f.4S=Qd.1an(K,f.4S),ob.1y(K,1a.1xy)),k.2L(I,1a.1Rb)||(p.2M=af.1an(I,p.2M),f.2M=af.1an(I,p.2M),k.1y(I,1a.1Rb)));c&&(d.x=1k.1V(d.x,.17I),d.y=1k.1V(d.y,.17I),d.z=1k.1V(d.z,.17I),e=A.2qj(e,d,e),1a.7h.4a=e,1a.1Nx.4a=e)}1s g(1a.7h)&&(1a.7h.2p=!1),g(1a.1Nx)&&(1a.1Nx.2p=!1)}1s g(1a.7h)&&(1a.7h.2p=!1),g(1a.1Nx)&&(1a.1Nx.2p=!1)};1d 679=1g k,4NR=1g y;g(1L.6F)&&(tk.1i=1L.6F(fd.1i),tk.1i.7m=tk);tk.1i.1xx=1b(a){v.2l("6q",a);if(!1a.1jm)1t 1g r("18m 1bX 18f 2S 1vP a 2hR 3y.");1d b=1a.11d,c=b.1hK(a);1d d=1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1W2.3K(a));1d e=1a.1oP.3K(a);e=Qd.1vQ(e);if(1a.15f 2m cc){1d f;g(1a.15f.1A)&&(1a.15f.1A.5g||c)&&(f=1a.15f.1A.3K(a,4NR));g(f)||(f=y.9r);c=Qb.1dc(f);d={2p:d,4S:e,1A:c}}1s d={2p:d,4S:e};1d h=b.12w;c=1a.14n;e=b.39W(a);f=F.7q(h.12w,a,c.12w);a=F.8y(h.6e,a,c.6e);c.12w=f;c.6e=a;e=MR(f,a,e,1a.2R.11s.3c,e);1f 1g yb({id:b,3y:1g Lu(1a.14n),4a:e,2w:d})};tk.1i.1Nt=1b(a){v.2l("6q",a);if(!1a.1zQ)1t 1g r("18m 1bX 18f 2S 1vP an 2hQ 3y.");1d b=1a.11d,c=b.1hK(a),d=F.7q(1a.1W1,a,y.1a7,4NR),e=1a.1oP.3K(a),f=b.12w,h=1a.14n,g=b.39W(a),k=F.7q(f.12w,a,h.12w);f=F.8y(f.6e,a,h.6e);h.12w=k;h.6e=f;g=MR(k,f,g,1a.2R.11s.3c,g);1f 1g yb({id:b,3y:1g Mu,4a:g,2w:{2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1Ra.3K(a)),1A:Qb.1dc(d),4S:Qd.1vQ(e)}})};tk.1i.1ei=1b(a,b){1f!g(b.12w)||!g(b.6e)||!g(a.1K)||fd.1i.1ei.4G(1a,a,b)};tk.1i.2Pc=1b(a){1f!1};tk.1i.23n=1b(a,b){1f!a.1K.5g||!F.5g(a.11f)||!b.12w.5g||!b.6e.5g||!F.5g(b.5R)};tk.1i.23m=1b(a,b){a=1a.14n;a.9S=1a.15f 2m cc?zc.1sC:xe.1W0.23l.9S;a.12w=b.12w.3K(Za.11Z,a.12w);a.6e=b.6e.3K(Za.11Z,a.6e)};tk.1Zm=oy;g(1L.6F)&&(oy.1i=1L.6F(Fd.1i),oy.1i.7m=oy);oy.1i.1ei=1b(a,b,c){1d d=1a.14n,e=F.8y(a.1K,c,679);1f!g(e)||!g(d.12w)||!g(d.6e)||Fd.1i.1ei.4G(1a,a,b,c)};oy.1i.29w=1b(a,b,c){a=1a.14n;a.12w=F.7q(b.12w,c,a.12w);a.6e=F.8y(b.6e,c,a.6e)};1d 678=1g k,677=1g k,676=1g k,673=1g k,672=1g k,670=1g ca,66Z=1g J;tk.8HG=MR;1d 4NQ=1g y,4NP=k.6h,4NO=1g k,4NN=1g Q,66Y=[],66X=1g C;g(1L.6F)&&(Jj.1i=1L.6F(nc.1i),Jj.1i.7m=Jj);Jj.1i.1xx=1b(a){v.2l("6q",a);if(!1a.1jm)1t 1g r("18m 1bX 18f 2S 1vP a 2hR 3y.");1d b=1a.11d,c=b.1hK(a),d=1a.14n,e={2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1W2.3K(a)),4S:Qd.1vQ(1a.1oP.3K(a)),2M:1p 0,1A:1p 0};if(1a.15f 2m cc){1d f;g(1a.15f.1A)&&(1a.15f.1A.5g||c)&&(f=1a.15f.1A.3K(a,4NQ));g(f)||(f=y.9r);e.1A=Qb.1dc(f)}g(d.8J)&&(e.2M=af.1mg(F.7q(1a.1lG,a,4NP,4NO)));a=d.16U&&!g(d.9i)?1g Dr(d):1g tc(d);1f 1g yb({id:b,3y:a,2w:e})};Jj.1i.1Nt=1b(a){v.2l("6q",a);if(!1a.1zQ)1t 1g r("18m 1bX 18f 2S 1vP an 2hQ 3y.");1d b=1a.11d,c=b.1hK(a),d=1a.14n,e=F.7q(1a.1W1,a,y.1a7,4NQ),f=1a.1oP.3K(a);c={2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1Ra.3K(a)),1A:Qb.1dc(e),4S:Qd.1vQ(f),2M:1p 0};g(d.8J)&&(c.2M=af.1mg(F.7q(1a.1lG,a,4NP,4NO)));a=d.16U&&!g(d.9i)?1g Er(d):1g Lr(d);1f 1g yb({id:b,3y:a,2w:c})};Jj.1i.2hU=1b(a,b){a=F.8y(1a.11d.12i.1iD,a);if(g(a)){1d c=a.3q;if(0!==c.1h){a=Zf.1aN(c,1a.2R.11s.3c);c=a.2Dh(c,66Y);1j(1d d=c.1h,e=0,f=d-1,h=1g C,l=0;l<d;f=l++){1d k=c[l],n=c[f];f=k.x*n.y-n.x*k.y;k=C.add(k,n,66X);k=C.4g(k,f,k);h=C.add(h,k,h);e+=f}h=C.4g(h,1/(3*e),h);1f a.3vK(h,b)}}};Jj.1i.1ei=1b(a,b){1f!g(b.1iD)||fd.1i.1ei.4G(1a,a,b)};Jj.1i.3vJ=1b(a,b){a=nc.1i.3vJ.4G(1a,a,b);b=b.16U;b=g(b)&&(b.5g?b.3K(Za.11Z):!0);1f a&&!b};Jj.1i.23n=1b(a,b){1f!b.1iD.5g||!F.5g(b.1D)||!F.5g(b.9i)||!F.5g(b.6f)||!F.5g(b.15K)||!F.5g(b.5R)||!F.5g(b.16U)||!F.5g(b.1BL)||!F.5g(b.1z2)||!F.5g(b.13G)||!F.5g(b.14g)||1a.2qi&&!F.5g(1a.15f)&&!(1a.15f 2m cc)};Jj.1i.23m=1b(a,b){a=1a.14n;a.9S=1a.15f 2m cc?zc.1sC:xe.1W0.23l.9S;1d c=b.1iD.3K(Za.11Z),d=F.8y(b.1D,Za.11Z),e=F.7q(b.6N,Za.11Z,bb.6i),f=F.8y(b.9i,Za.11Z),h=F.7q(b.1c4,Za.11Z,bb.6i),l=F.7q(b.16U,Za.11Z,!1);d=nc.2qg(d,e);if(l)g(d)&&(d=1p 0,ec("2vV 2Pf 1il 118 1oE 1D and 16U.  1D 1B4 be 2mu")),e!==bb.6i&&l&&(d=1p 0,ec("6N is 2S 11J 1j 13a 2Pf 10M 16U. 6N 1B4 be 2mu"));1s{g(f)&&!g(d)&&(d=0);1d k=nc.2qh(d,e,f,h)}a.1ga=c;a.6f=F.8y(b.6f,Za.11Z);a.15K=F.8y(b.15K,Za.11Z);a.16U=l;a.1BL=F.7q(b.1BL,Za.11Z,!0);a.1z2=F.7q(b.1z2,Za.11Z,!0);a.8J=k;a.1D=d;a.14g=F.7q(b.14g,Za.11Z,Ib.1gi);f=nc.2qf(f,h);f===nc.1me&&(f=nd.29x(tc.23q(a,4NN)).1UL);a.9i=f};Jj.1i.2Pc=1b(a){1d b=a.1D,c=a.9i;c=g(c)&&c!==b;1f!a.16U&&(!c&&0===b||c&&a.1BL&&a.1z2)};Jj.1Zm=py;g(1L.6F)&&(py.1i=1L.6F(Fd.1i),py.1i.7m=py);py.1i.1ei=1b(a,b,c){1f!g(1a.14n.1ga)||Fd.1i.1ei.4G(1a,a,b,c)};py.1i.29w=1b(a,b,c){a=1a.14n;a.1ga=F.8y(b.1iD,c);1d d=F.8y(b.1D,c),e=F.7q(b.6N,c,bb.6i),f=F.7q(b.1c4,c,bb.6i),h=F.8y(b.9i,c),l=F.8y(b.16U,c);d=nc.2qg(d,f);if(l)g(d)&&(d=1p 0,ec("2vV 2Pf 1il 118 1oE 1D and 16U.  1D 1B4 be 2mu")),e!==bb.6i&&l&&(d=1p 0,ec("6N is 2S 11J 1j 13a 2Pf 10M 16U. 6N 1B4 be 2mu"));1s{g(h)&&!g(d)&&(d=0);1d k=nc.2qh(d,e,h,f)}a.6f=F.8y(b.6f,c);a.15K=F.8y(b.15K,c);a.16U=F.8y(b.16U,c);a.1BL=F.7q(b.1BL,c,!0);a.1z2=F.7q(b.1z2,c,!0);a.8J=k;a.1D=d;a.14g=F.7q(b.14g,c,Ib.1gi);h=nc.2qf(h,f);h===nc.1me&&(h=nd.29x(tc.23q(a,4NN)).1UL);a.9i=h};1d 4NM=1g y;g(1L.6F)&&(Ol.1i=1L.6F(fd.1i),Ol.1i.7m=Ol);Ol.1i.1xx=1b(a){v.2l("6q",a);if(!1a.1jm)1t 1g r("18m 1bX 18f 2S 1vP a 2hR 3y.");1d b=1a.11d,c=b.1hK(a);1d d=1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1W2.3K(a));1d e=1a.1oP.3K(a);e=Qd.1vQ(e);if(1a.15f 2m cc){1d f;g(1a.15f.1A)&&(1a.15f.1A.5g||c)&&(f=1a.15f.1A.3K(a,4NM));g(f)||(f=y.9r);a=Qb.1dc(f);d={2p:d,4S:e,1A:a}}1s d={2p:d,4S:e};1f 1g yb({id:b,3y:1g Mr(1a.14n),2w:d})};Ol.1i.1Nt=1b(a){v.2l("6q",a);if(!1a.1zQ)1t 1g r("18m 1bX 18f 2S 1vP an 2hQ 3y.");1d b=1a.11d,c=b.1hK(a),d=F.7q(1a.1W1,a,y.1a7,4NM),e=1a.1oP.3K(a);1f 1g yb({id:b,3y:1g Px(1a.14n),2w:{2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1Ra.3K(a)),1A:Qb.1dc(d),4S:Qd.1vQ(e)}})};Ol.1i.1ei=1b(a,b){1f!g(b.3q)||!g(b.1Nk)||fd.1i.1ei.4G(1a,a,b)};Ol.1i.23n=1b(a,b){1f!b.3q.5g||!b.1Nk.5g||!F.5g(b.6f)||!F.5g(b.5R)||!F.5g(b.1b8)};Ol.1i.23m=1b(a,b){a=b.6f;1d c=b.1b8,d=b.1kI,e=1a.14n;e.9S=1a.15f 2m cc?zc.1sC:xe.1W0.23l.9S;e.1Ng=b.3q.3K(Za.11Z,e.1Ng);e.1VL=b.1Nk.3K(Za.11Z,e.1Nk);e.6f=g(a)?a.3K(Za.11Z):1p 0;e.1b8=g(c)?c.3K(Za.11Z):1p 0;e.1kI=g(d)?d.3K(Za.11Z):1p 0};Ol.1Zm=qy;g(1L.6F)&&(qy.1i=1L.6F(Fd.1i),qy.1i.7m=qy);qy.1i.1ei=1b(a,b,c){1d d=1a.14n;1f!g(d.1Ng)||!g(d.1VL)||Fd.1i.1ei.4G(1a,a,b,c)};qy.1i.29w=1b(a,b,c){a=1a.14n;a.1Ng=F.8y(b.3q,c,a.1Ng);a.1VL=F.8y(b.1Nk,c);a.6f=F.8y(b.6f,c);a.1b8=F.8y(b.1b8,c)};1d 4NL=1g y,4NK=k.6h,4NJ=1g k,4NI=1g Q,66W=1g Q,66V=1g T;g(1L.6F)&&(Pl.1i=1L.6F(nc.1i),Pl.1i.7m=Pl);Pl.1i.1xx=1b(a){v.2l("6q",a);if(!1a.1jm)1t 1g r("18m 1bX 18f 2S 1vP a 2hR 3y.");1d b=1a.11d,c=b.1hK(a),d={2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1W2.3K(a)),4S:Qd.1vQ(1a.1oP.3K(a)),2M:1p 0,1A:1p 0};if(1a.15f 2m cc){1d e;g(1a.15f.1A)&&(1a.15f.1A.5g||c)&&(e=1a.15f.1A.3K(a,4NL));g(e)||(e=y.9r);d.1A=Qb.1dc(e)}g(1a.14n.8J)&&(d.2M=af.1mg(F.7q(1a.1lG,a,4NK,4NJ)));1f 1g yb({id:b,3y:1g Hi(1a.14n),2w:d})};Pl.1i.1Nt=1b(a){v.2l("6q",a);if(!1a.1zQ)1t 1g r("18m 1bX 18f 2S 1vP an 2hQ 3y.");1d b=1a.11d,c=b.1hK(a),d=F.7q(1a.1W1,a,y.1a7,4NL),e=1a.1oP.3K(a);c={2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1Ra.3K(a)),1A:Qb.1dc(d),4S:Qd.1vQ(e),2M:1p 0};g(1a.14n.8J)&&(c.2M=af.1mg(F.7q(1a.1lG,a,4NK,4NJ)));1f 1g yb({id:b,3y:1g Nr(1a.14n),2w:c})};Pl.1i.2hU=1b(a,b){a=F.8y(1a.11d.3g.9R,a,66W);if(g(a))1f a=Q.2V(a,66V),T.1g8(a,ba.9y,b)};Pl.1i.1ei=1b(a,b){1f!g(b.9R)||fd.1i.1ei.4G(1a,a,b)};Pl.1i.23n=1b(a,b){1f!b.9R.5g||!F.5g(b.1D)||!F.5g(b.9i)||!F.5g(b.6f)||!F.5g(b.15K)||!F.5g(b.5S)||!F.5g(b.5R)||!F.5g(b.13G)||1a.2qi&&!F.5g(1a.15f)&&!(1a.15f 2m cc)};Pl.1i.23m=1b(a,b){a=1a.15f 2m cc;1d c=F.8y(b.1D,Za.11Z),d=F.7q(b.6N,Za.11Z,bb.6i),e=F.8y(b.9i,Za.11Z),f=F.7q(b.1c4,Za.11Z,bb.6i);g(e)&&!g(c)&&(c=0);1d h=1a.14n;h.9S=a?zc.1sC:xe.1W0.23l.9S;h.3g=b.9R.3K(Za.11Z,h.3g);h.6f=F.8y(b.6f,Za.11Z);h.15K=F.8y(b.15K,Za.11Z);h.5S=F.8y(b.5S,Za.11Z);h.8J=nc.2qh(c,d,e,f);h.1D=nc.2qg(c,d);e=nc.2qf(e,f);e===nc.1me&&(e=nd.29x(Hi.23q(h,4NI)).1UL);h.9i=e};Pl.1Zm=ry;g(1L.6F)&&(ry.1i=1L.6F(Fd.1i),ry.1i.7m=ry);ry.1i.1ei=1b(a,b,c){1f!g(1a.14n.3g)||Fd.1i.1ei.4G(1a,a,b,c)};ry.1i.29w=1b(a,b,c){a=1a.14n;1d d=F.8y(b.1D,c),e=F.7q(b.6N,c,bb.6i),f=F.8y(b.9i,c),h=F.7q(b.1c4,c,bb.6i);g(f)&&!g(d)&&(d=0);a.3g=F.8y(b.9R,c,a.3g);a.6f=F.8y(b.6f,c);a.15K=F.8y(b.15K,c);a.5S=F.8y(b.5S,c);a.8J=nc.2qh(d,e,f,h);a.1D=nc.2qg(d,e);f=nc.2qf(f,h);f===nc.1me&&(f=nd.29x(Hi.23q(a,4NI)).1UL);a.9i=f};1d 4NH=1g y,66T=1g ob,66U=1g ob,66S=k.6h,66R=1g k;Tm.1i.2D6=1b(){1a.23e=!0};Tm.1i.2D5=1b(a){1d b=1a.1oQ;a=a.1oQ;1f a===b?!0:g(b)?b.2L(a):!1};Tm.1i.add=1b(a,b){1d c=a.id;1a.1eY=!0;1a.3y.1C(c,b);1a.1eG.1C(c,a);if(a.23g&&a.1lE.5g&&F.5g(a.1Ns)&&F.5g(a.1Kh)){1d d=1a;1a.1sO.1C(c,a.13a.13C.7K(1b(b,c,h,g){"17K"===c&&d.1nE.1C(a.id,a)}))}1s 1a.1sN.1C(c,a)};Tm.1i.3S=1b(a){a=a.id;1a.1eY=1a.3y.3S(a)||1a.1eY;if(1a.1eG.3S(a)){1a.1sN.3S(a);1d b=1a.1sO.1n(a);g(b)&&(b(),1a.1sO.3S(a),1a.1nE.3S(a));1f!0}1f!1};Tm.1i.2H=1b(a){1d b=!0,c=0,d=1a.9k,e=1a.13y;if(1a.1eY){1d f=1a.3y.2a;if(0<f.1h){g(d)&&(g(1a.19e)?e.3S(d):1a.19e=d);if(g(1a.2qe)){g(1a.1oQ)&&(1a.1r4=cg.3K(a,1a.1oQ,1a.1r4));1d h=1g 1a.2qe({2q:1a.1r4,11C:1a.11C,1ph:1a.1ph})}d=1g Kb({2p:!1,17X:!0,13g:f,161:1g 1a.2hO({11C:1a.11C,1ph:1a.1ph}),2Pd:h,6x:1a.6x});d.1xe=1a.1bB;e.add(d);b=!1}1s g(d)&&(e.3S(d),d=1p 0),a=1a.19e,g(a)&&(e.3S(a),1a.19e=1p 0);1a.2w.7f();1a.9k=d;1a.1eY=!1;1a.23p=!0}1s if(g(d)&&d.3o){d.2p=!0;g(1a.19e)&&(e.3S(1a.19e),1a.19e=1p 0);!g(1a.2qe)||1a.1oQ 2m cc||(1a.1r4=cg.3K(a,1a.1oQ,1a.1r4),1a.9k.2Pd.2q=1a.1r4);f=1a.1sN.2a;h=f.1h;1d l=1a.23p;1j(e=0;e<h;e++){1d p=f[e],n=1a.3y.1n(p.id),m=1a.2w.1n(n.id.id);g(m)||(m=d.1bH(n.id),1a.2w.1C(n.id.id,m));if(!p.1lE.5g||l)if(n=F.7q(p.1lE.1A,a,y.9r,4NH),!y.2L(m.23h,n)&&(m.23h=y.1y(n,m.23h),m.1A=Qb.1an(n,m.1A),1a.11C&&255===m.1A[3]||!1a.11C&&255!==m.1A[3]))1a.23o[c++]=p;g(1a.2qe)&&p.1oQ 2m cc&&(!p.1oQ.5g||l)&&(n=F.7q(p.1oQ.1A,a,y.9r,4NH),y.2L(m.3a7,n)||(m.3a7=y.1y(n,m.3a7),m.2D9=Qb.1an(n,m.2D9)));n=p.13a.17K&&(p.23g||p.2P5(a));n!==(1===m.2p[0])&&(m.2p=Wc.1an(n,m.2p));n=p.1Ns;F.5g(n)||(n=F.7q(n,a,66U,66T),ob.2L(n,m.1xy)||(m.1xy=ob.1y(n,m.1xy),m.4S=Qd.1an(n,m.4S)));p=p.1Kh;F.5g(p)||(p=F.7q(p,a,66S,66R),k.2L(p,m.1Rb)||(m.1Rb=k.1y(p,m.1Rb),m.2M=af.1an(p,m.2M)))}1a.23f(d);1a.23p=!1}1s g(d)&&!d.3o&&(b=!1);1a.23o.1h=c;1f b};Tm.1i.23f=1b(a){1j(1d b=1a.1nE.2a,c=b.1h,d=0;d<c;d++){1d e=b[d],f=1a.3y.1n(e.id),h=1a.2w.1n(f.id.id);g(h)||(h=a.1bH(f.id),1a.2w.1C(f.id.id,h));e=e.13a.17K;e!==(1===h.2p[0])&&(h.2p=Wc.1an(e,h.2p),f.2w.2p.1Q[0]=h.2p[0])}1a.1nE.7f()};Tm.1i.8h=1b(a){1f 1a.1eG.8h(a.id)};Tm.1i.1cS=1b(a,b){1d c=1a.9k;if(!c.3o)1f tb.1rg;a=c.1bH(a.13a);if(!g(a)||!g(a.7u)||g(a.2p)&&0===a.2p[0])1f tb.12D;a.7u.1y(b);1f tb.1k0};Tm.1i.1M=1b(){1d a=1a.9k,b=1a.13y;g(a)&&b.3S(a);a=1a.19e;g(a)&&b.3S(a);g(1a.2qc)&&1a.2qc()};uk.1i.add=1b(a,b){1d c=b.1xx(a);if(255===c.2w.1A.1Q[3]){a=1a.2Dg;1d d=!1}1s a=1a.2Df,d=!0;1j(1d e=a.1h,f=0;f<e;f++){1d h=a[f];if(h.2D5(b)){h.add(b,c);1f}}d=1g Tm(1a.15G,d,1a.2De,1a.3a6,b.1oQ,1a.1z8,1a.1kK);d.1bB=b.11d.1xe;d.add(b,c);a.1q(d)};uk.1i.3S=1b(a){r7(1a.2Dg,a)||r7(1a.2Df,a)};uk.1i.2H=1b(a){1d b=jI(1a,1a.2Dg,a,!0);b=jI(1a,1a.2Df,a,b)&&b;1d c=s7(1a,1a.2Dg,a),d=s7(1a,1a.2Df,a);if(c||d)b=jI(1a,1a.2Dg,a,b)&&b,b=jI(1a,1a.2Df,a,b)&&b;1f b};uk.1i.1cS=1b(a,b){1d c=t7(1a.2Dg,a,b);1f c===tb.12D?t7(1a.2Df,a,b):c};uk.1i.1R6=1b(){u7(1a.2Dg);u7(1a.2Df)};1d 66N=1g ob,66O=1g ob,66M=k.6h,66L=1g k;vk.1i.2D6=1b(){1a.23e=!0};vk.1i.2D5=1b(a){1d b=1a.23i,c=a.1lE,d=1a.1oQ;a=a.1oQ;if(c===b&&a===d)1f!0;b=g(b)&&b.2L(c);1f b=(!g(d)&&!g(a)||g(d)&&d.2L(a))&&b};vk.1i.add=1b(a,b){1d c=b.id;1a.1eG.1C(c,b);1a.3y.1C(c,b.1xx(a));1a.1kI=g(b.14n)?b.14n.1kI:1p 0;g(1a.1kI)&&(1a.3a8=xe.1W0.66Q);if(b.23g&&b.1lE.5g&&F.5g(b.1Ns)&&F.5g(b.1Kh)){1d d=1a;1a.1sO.1C(c,b.13a.13C.7K(1b(a,c,h,g){"17K"===c&&d.1nE.1C(b.id,b)}))}1s 1a.1sN.1C(c,b);1a.1eY=!0};vk.1i.3S=1b(a){a=a.id;1a.1eY=1a.3y.3S(a)||1a.1eY;if(1a.1eG.3S(a)){1a.1sN.3S(a);1d b=1a.1sO.1n(a);g(b)&&(b(),1a.1sO.3S(a),1a.1nE.3S(a));1f!0}1f!1};1d 66P=1g y;vk.1i.2H=1b(a){1d b=!0,c=1a.9k,d=1a.13y,e=1a.3y.2a;if(1a.1eY){if(0<e.1h){g(c)&&(g(1a.19e)?d.3S(c):1a.19e=c);1a.2q=cg.3K(a,1a.23i,1a.2q);if(g(1a.1oQ)){1a.1r4=cg.3K(a,1a.1oQ,1a.1r4);1d f=1g 1a.2qe({2q:1a.1r4,11C:1a.1r4.1pE(),1ph:1a.1ph})}c=1g Kb({2p:!1,17X:!0,13g:e,161:1g 1a.2hO({2q:1a.2q,11C:1a.2q.1pE(),1ph:1a.1ph,3a8:1a.3a8}),2Pd:f,6x:1a.6x,2Pe:g(1a.1kI)?!1:!0,4a:g(1a.1kI)?Da.18N(1a.1kI,ba.9y,1g A):1p 0});d.add(c);b=!1}1s g(c)&&(d.3S(c),c=1p 0),a=1a.19e,g(a)&&(d.3S(a),1a.19e=1p 0);1a.2w.7f();1a.9k=c;1a.1eY=!1}1s if(g(c)&&c.3o){c.2p=!0;g(1a.19e)&&(d.3S(1a.19e),1a.19e=1p 0);1a.2q=cg.3K(a,1a.23i,1a.2q);1a.9k.161.2q=1a.2q;!g(1a.2qe)||1a.1oQ 2m cc||(1a.1r4=cg.3K(a,1a.1oQ,1a.1r4),1a.9k.2Pd.2q=1a.1r4);e=1a.1sN.2a;f=e.1h;1j(d=0;d<f;d++){1d h=e[d],l=h.13a,p=1a.3y.1n(h.id),n=1a.2w.1n(p.id.id);g(n)||(n=c.1bH(p.id),1a.2w.1C(p.id.id,n));g(1a.2qe)&&1a.1oQ 2m cc&&!h.1oQ.5g&&(p=F.7q(h.1oQ.1A,a,y.9r,66P),y.2L(n.3a7,p)||(n.3a7=y.1y(p,n.3a7),n.2D9=Qb.1an(p,n.2D9)));l=l.17K&&(h.23g||h.2P5(a));l!==(1===n.2p[0])&&(n.2p=Wc.1an(l,n.2p));l=h.1Ns;F.5g(l)||(l=F.7q(l,a,66O,66N),ob.2L(l,n.1xy)||(n.1xy=ob.1y(l,n.1xy),n.4S=Qd.1an(l,n.4S)));h=h.1Kh;F.5g(h)||(h=F.7q(h,a,66M,66L),k.2L(h,n.1Rb)||(n.1Rb=k.1y(h,n.1Rb),n.2M=af.1an(h,n.2M)))}1a.23f(c)}1s g(c)&&!c.3o&&(b=!1);1f b};vk.1i.23f=1b(a){1j(1d b=1a.1nE.2a,c=b.1h,d=0;d<c;d++){1d e=b[d],f=e.13a;e=1a.3y.1n(e.id);1d h=1a.2w.1n(e.id.id);g(h)||(h=a.1bH(e.id),1a.2w.1C(e.id.id,h));f=f.17K;f!==(1===h.2p[0])&&(h.2p=Wc.1an(f,h.2p),e.2w.2p.1Q[0]=h.2p[0])}1a.1nE.7f()};vk.1i.8h=1b(a){1f 1a.1eG.8h(a.id)};vk.1i.1cS=1b(a,b){1d c=1a.9k;if(!c.3o)1f tb.1rg;a=c.1bH(a.13a);if(!g(a)||!g(a.7u)||g(a.2p)&&0===a.2p[0])1f tb.12D;a.7u.1y(b);1f tb.1k0};vk.1i.1M=1b(){1d a=1a.9k,b=1a.13y;g(a)&&b.3S(a);a=1a.19e;g(a)&&b.3S(a);1a.2qc()};wk.1i.add=1b(a,b){1d c=1a.1hw,d=c.1h;if(b 2m Ol&&g(b.13a.44V.1kI)){if(0===c.1h)d=1g vk(1a.15G,1a.2De,b.1lE,1a.3a6,b.1oQ,1a.1z8,1a.1kK);1s{1j(1d e=0;e<d;e++){1d f=c[e];if(k.2L(f.1kI,b.13a.44V.1kI.6j)){f.add(a,b);1f}}d=1g vk(1a.15G,1a.2De,b.1lE,1a.3a6,b.1oQ,1a.1z8,1a.1kK)}d.add(a,b);d.1kI=b.13a.44V.1kI.6j}1s{1j(e=0;e<d;e++)if(f=c[e],f.2D5(b)){f.add(a,b);1f}d=1g vk(1a.15G,1a.2De,b.1lE,1a.3a6,b.1oQ,1a.1z8,1a.1kK);d.add(a,b)}c.1q(d)};wk.1i.3S=1b(a){1j(1d b=1a.1hw,c=b.1h-1;0<=c;c--){1d d=b[c];if(d.3S(a)){0===d.1eG.1h&&(b.6z(c,1),d.1M());1W}}};wk.1i.2H=1b(a){1d b,c=1a.1hw;1j(b=c.1h-1;0<=b;b--){1d d=c[b];if(d.23e){c.6z(b,1);1j(1d e=d.1eG.2a,f=e.1h,h=0;h<f;h++)1a.add(a,e[h]);d.1M()}}d=!0;1j(b=0;b<c.1h;b++)d=c[b].2H(a)&&d;1f d};wk.1i.1cS=1b(a,b){1j(1d c=1a.1hw,d=c.1h,e=0;e<d;e++){1d f=c[e];if(f.8h(a))1f f.1cS(a,b)}1f tb.12D};wk.1i.1R6=1b(){1j(1d a=1a.1hw,b=a.1h,c=0;c<b;c++)a[c].1M();1a.1hw.1h=0};1d 66K=1g y,66I=1g ob,66J=1g ob;ss.1i.add=1b(a,b){1d c=a.id;1a.1eY=!0;1a.3y.1C(c,b);1a.1eG.1C(c,a);if(a.23g&&a.1lE.5g&&F.5g(a.1Ns)){1d d=1a;1a.1sO.1C(c,a.13a.13C.7K(1b(b,c,h,g){"17K"===c&&d.1nE.1C(a.id,a)}))}1s 1a.1sN.1C(c,a)};ss.1i.3S=1b(a){a=a.id;1a.1eY=1a.3y.3S(a)||1a.1eY;if(1a.1eG.3S(a)){1a.1sN.3S(a);1d b=1a.1sO.1n(a);g(b)&&(b(),1a.1sO.3S(a),1a.1nE.3S(a));1f!0}1f!1};ss.1i.2H=1b(a){1d b=!0,c=1a.9k,d=1a.13y;if(1a.1eY)a=1a.3y.2a,0<a.1h?(g(c)&&(g(1a.19e)?d.3S(c):1a.19e=c),c=1g bf({2p:!1,17X:!0,13g:a.4h(),12p:1a.12p}),d.add(c,1a.13G),b=!1):(g(c)&&(d.3S(c),c=1p 0),a=1a.19e,g(a)&&(d.3S(a),1a.19e=1p 0)),1a.2w.7f(),1a.9k=c,1a.1eY=!1,1a.23p=!0;1s if(g(c)&&c.3o){c.2p=!0;g(1a.19e)&&(d.3S(1a.19e),1a.19e=1p 0);1d e=1a.1sN.2a,f=e.1h,h=1a.23p;1j(d=0;d<f;d++){1d l=e[d],k=1a.3y.1n(l.id),n=1a.2w.1n(k.id.id);g(n)||(n=c.1bH(k.id),1a.2w.1C(k.id.id,n));if(!l.1lE.5g||h)k=F.7q(l.1lE.1A,a,y.9r,66K),y.2L(n.23h,k)||(n.23h=y.1y(k,n.23h),n.1A=Qb.1an(k,n.1A));k=l.13a.17K&&(l.23g||l.2P5(a));k!==(1===n.2p[0])&&(n.2p=Wc.1an(k,n.2p));l=l.1Ns;F.5g(l)||(l=F.7q(l,a,66J,66I),ob.2L(l,n.1xy)||(n.1xy=ob.1y(l,n.1xy),n.4S=Qd.1an(l,n.4S)))}1a.23f(c);1a.23p=!1}1s g(c)&&!c.3o&&(b=!1);1a.23o.1h=0;1f b};ss.1i.23f=1b(a){1j(1d b=1a.1nE.2a,c=b.1h,d=0;d<c;d++){1d e=b[d],f=1a.3y.1n(e.id),h=1a.2w.1n(f.id.id);g(h)||(h=a.1bH(f.id),1a.2w.1C(f.id.id,h));e=e.13a.17K;e!==(1===h.2p[0])&&(h.2p=Wc.1an(e,h.2p),f.2w.2p.1Q[0]=h.2p[0])}1a.1nE.7f()};ss.1i.8h=1b(a){1f 1a.1eG.8h(a.id)};ss.1i.1cS=1b(a,b){1d c=1a.9k;if(!c.3o)1f tb.1rg;a=c.1cS(a.13a);if(!g(a))1f tb.12D;a.1y(b);1f tb.1k0};ss.1i.1R6=1b(){1d a=1a.13y,b=1a.9k;g(b)&&(a.3S(b),1a.9k=1p 0,1a.3y.7f(),1a.1eG.7f());b=1a.19e;g(b)&&(a.3S(b),1a.19e=1p 0)};ts.1i.add=1b(a,b){a=b.1xx(a);1d c=1a.1Kf,d=F.7q(b.13G,0);if(c.8h(d))1d e=c.1n(d);1s e=1g ss(1a.15G,1a.1Ez,a.2w.1A.1Q,d,d),c.1C(d,e);e.add(b,a);1f e};ts.1i.3S=1b(a){1j(1d b=1a.1Kf.2a,c=b.1h,d=0;d<c&&!b[d].3S(a);++d);};ts.1i.2H=1b(a){1d b,c=!0,d=1a.1Kf,e=d.2a,f=e.1h;1j(b=0;b<f;++b)c=e[b].2H(a)&&c;1j(b=0;b<f;++b)1j(1d h=e[b],g=h.23o,k=g.1h,n=0;n<k;n++){1d m=g[n];h.3S(m);m=1a.add(a,m);h.3vI=!0;m.3vI=!0}e=e.4h();f=e.1h;1j(b=0;b<f;++b)h=e[b],h.3vI&&(c=e[b].2H(a)&&c,h.3vI=!1),0===h.3y.1h&&d.3S(h.10t);1f c};ts.1i.1cS=1b(a,b){1j(1d c=1a.1Kf.2a,d=c.1h,e=0;e<d;++e){1d f=c[e];if(f.8h(a))1f f.1cS(a,b)}1f tb.12D};ts.1i.1R6=1b(){1j(1d a=1a.1Kf.2a,b=a.1h,c=0;c<b;++c)a[c].1R6()};1d 66G=1g ob,66H=1g ob;Ql.1i.2D6=1b(){1a.23e=!0};Ql.1i.4ER=1b(a){1f 1a.44U.30M(a)};Ql.1i.2D5=1b(a){1d b=1a.23i;a=a.1lE;1f a===b||a 2m cc&&b 2m cc?!0:g(b)&&b.2L(a)};Ql.1i.add=1b(a,b,c){a=b.id;1a.1eG.1C(a,b);1a.3y.1C(a,c);1a.44U.1v1(a,c.3y.3g);if(b.23g&&b.1lE.5g&&F.5g(b.1Ns)){1d d=1a;1a.1sO.1C(a,b.13a.13C.7K(1b(a,c,h,g){"17K"===c&&d.1nE.1C(b.id,b)}))}1s 1a.1sN.1C(a,b);1a.1eY=!0};Ql.1i.3S=1b(a){a=a.id;1d b=1a.3y.1n(a);1a.1eY=1a.3y.3S(a)||1a.1eY;1f 1a.1eG.3S(a)?(1a.44U.3S(a,b.3y.3g),1a.1sN.3S(a),b=1a.1sO.1n(a),g(b)&&(b(),1a.1sO.3S(a)),!0):!1};Ql.1i.2H=1b(a){1d b=!0,c=1a.9k,d=1a.13y,e=1a.3y.2a;if(1a.1eY)0<e.1h?(g(c)&&(g(1a.19e)?d.3S(c):1a.19e=c),1a.2q=cg.3K(a,1a.23i,1a.2q),c=1g bf({2p:!1,17X:!0,13g:e.4h(),161:1g 1a.2hO({2q:1a.2q}),12p:1a.12p}),d.add(c,1a.13G),b=!1):(g(c)&&(d.3S(c),c=1p 0),a=1a.19e,g(a)&&(d.3S(a),1a.19e=1p 0)),1a.2w.7f(),1a.9k=c,1a.1eY=!1;1s if(g(c)&&c.3o){c.2p=!0;g(1a.19e)&&(d.3S(1a.19e),1a.19e=1p 0);1a.2q=cg.3K(a,1a.23i,1a.2q);1a.9k.161.2q=1a.2q;e=1a.1sN.2a;1d f=e.1h;1j(d=0;d<f;d++){1d h=e[d],l=h.13a,k=1a.3y.1n(h.id),n=1a.2w.1n(k.id.id);g(n)||(n=c.1bH(k.id),1a.2w.1C(k.id.id,n));l=l.17K&&(h.23g||h.2P5(a));l!==(1===n.2p[0])&&(n.2p=Wc.1an(l,n.2p));h=h.1Ns;F.5g(h)||(h=F.7q(h,a,66H,66G),ob.2L(h,n.1xy)||(n.1xy=ob.1y(h,n.1xy),n.4S=Qd.1an(h,n.4S)))}1a.23f(c)}1s g(c)&&!c.3o&&(b=!1);1f b};Ql.1i.23f=1b(a){1j(1d b=1a.1nE.2a,c=b.1h,d=0;d<c;d++){1d e=b[d],f=e.13a;e=1a.3y.1n(e.id);1d h=1a.2w.1n(e.id.id);g(h)||(h=a.1bH(e.id),1a.2w.1C(e.id.id,h));f=f.17K;f!==(1===h.2p[0])&&(h.2p=Wc.1an(f,h.2p),e.2w.2p.1Q[0]=h.2p[0])}1a.1nE.7f()};Ql.1i.8h=1b(a){1f 1a.1eG.8h(a.id)};Ql.1i.1cS=1b(a,b){1d c=1a.9k;if(!c.3o)1f tb.1rg;a=c.1bH(a.13a);if(!g(a)||!g(a.7u)||g(a.2p)&&0===a.2p[0])1f tb.12D;a.7u.1y(b);1f tb.1k0};Ql.1i.1M=1b(){1d a=1a.9k,b=1a.13y;g(a)&&b.3S(a);a=1a.19e;g(a)&&b.3S(a);1a.2qc()};Bv.1i.add=1b(a,b){1j(1d c=1a.1hw,d=c.1h,e=b.1xx(a),f=Pg.4NG(e.3y.3g),h=F.7q(b.13G,0),g=0;g<d;++g){1d k=c[g];if(k.2D5(b)&&k.66F===f&&k.13G===h&&!k.4ER(e.3y.3g)){k.add(a,b,e);1f}}d=1g Ql(1a.15G,1a.1Ez,1a.2De,b.1lE,f,h);d.add(a,b,e);c.1q(d)};Bv.1i.3S=1b(a){1j(1d b=1a.1hw,c=b.1h-1;0<=c;c--){1d d=b[c];if(d.3S(a)){0===d.1eG.1h&&(b.6z(c,1),d.1M());1W}}};Bv.1i.2H=1b(a){1d b,c=1a.1hw;1j(b=c.1h-1;0<=b;b--){1d d=c[b];if(d.23e){c.6z(b,1);1j(1d e=d.1eG.2a,f=e.1h,h=0;h<f;h++)1a.add(a,e[h]);d.1M()}}d=!0;1j(b=0;b<c.1h;b++)d=c[b].2H(a)&&d;1f d};Bv.1i.1cS=1b(a,b){1j(1d c=1a.1hw,d=c.1h,e=0;e<d;e++){1d f=c[e];if(f.8h(a))1f f.1cS(a,b)}1f tb.12D};Bv.1i.1R6=1b(){1j(1d a=1a.1hw,b=a.1h,c=0;c<b;c++)a[c].1M();1a.1hw.1h=0};1d 66E=1g y,66C=1g ob,66D=1g ob,66B=k.6h,66A=1g k;$p.1i.add=1b(a,b){1d c=a.id;1a.1eY=!0;1a.3y.1C(c,b);1a.1eG.1C(c,a);if(a.44K&&a.3vz.5g&&F.5g(a.1Ns)&&F.5g(a.1Kh)){1d d=1a;1a.1sO.1C(c,a.13a.13C.7K(1b(b,c,h,g){"17K"===c&&d.1nE.1C(a.id,a)}))}1s 1a.1sN.1C(c,a)};$p.1i.3S=1b(a){a=a.id;1a.1eY=1a.3y.3S(a)||1a.1eY;if(1a.1eG.3S(a)){1a.1sN.3S(a);1d b=1a.1sO.1n(a);g(b)&&(b(),1a.1sO.3S(a),1a.1nE.3S(a));1f!0}1f!1};$p.1i.2H=1b(a){1d b=!0,c=0,d=1a.9k,e=1a.13y;if(1a.1eY)a=1a.3y.2a,0<a.1h?(g(d)&&(g(1a.19e)?e.3S(d):1a.19e=d),d=1g Kb({2p:!1,17X:!0,13g:a,161:1g zc({8z:!0,11C:1a.11C,4w:{11a:1a.1G}}),6x:1a.6x}),e.add(d),b=!1):(g(d)&&(e.3S(d),d=1p 0),a=1a.19e,g(a)&&(e.3S(a),1a.19e=1p 0)),1a.2w.7f(),1a.9k=d,1a.1eY=!1,1a.23p=!0;1s if(g(d)&&d.3o){d.2p=!0;g(1a.19e)&&(e.3S(1a.19e),1a.19e=1p 0);1d f=1a.1sN.2a,h=f.1h,l=1a.23p;1j(e=0;e<h;e++){1d p=f[e],n=1a.3y.1n(p.id),m=1a.2w.1n(n.id.id);g(m)||(m=d.1bH(n.id),1a.2w.1C(n.id.id,m));if(!p.3vz.5g||l)if(n=F.7q(p.3vz,a,y.9r,66E),!y.2L(m.23h,n)&&(m.23h=y.1y(n,m.23h),m.1A=Qb.1an(n,m.1A),1a.11C&&255===m.1A[3]||!1a.11C&&255!==m.1A[3]))1a.23o[c++]=p;n=p.13a.17K&&(p.44K||p.4Nj(a));n!==(1===m.2p[0])&&(m.2p=Wc.1an(n,m.2p));n=p.1Ns;F.5g(n)||(n=F.7q(n,a,66D,66C),ob.2L(n,m.1xy)||(m.1xy=ob.1y(n,m.1xy),m.4S=Qd.1an(n,m.4S)));p=p.1Kh;F.5g(p)||(p=F.7q(p,a,66B,66A),k.2L(p,m.1Rb)||(m.1Rb=k.1y(p,m.1Rb),m.2M=af.1an(p,m.2M)))}1a.23f(d);1a.23p=!1}1s g(d)&&!d.3o&&(b=!1);1a.23o.1h=c;1f b};$p.1i.23f=1b(a){1j(1d b=1a.1nE.2a,c=b.1h,d=0;d<c;d++){1d e=b[d],f=1a.3y.1n(e.id),h=1a.2w.1n(f.id.id);g(h)||(h=a.1bH(f.id),1a.2w.1C(f.id.id,h));e=e.13a.17K;e!==(1===h.2p[0])&&(h.2p=Wc.1an(e,h.2p),f.2w.2p.1Q[0]=h.2p[0])}1a.1nE.7f()};$p.1i.8h=1b(a){1f 1a.1eG.8h(a.id)};$p.1i.1cS=1b(a,b){1d c=1a.9k;if(!c.3o)1f tb.1rg;a=c.1bH(a.13a);if(!g(a)||!g(a.7u)||g(a.2p)&&0===a.2p[0])1f tb.12D;a.7u.1y(b);1f tb.1k0};$p.1i.1R6=1b(){1d a=1a.13y,b=1a.9k;g(b)&&(a.3S(b),1a.9k=1p 0,1a.3y.7f(),1a.1eG.7f());b=1a.19e;g(b)&&(a.3S(b),1a.19e=1p 0)};us.1i.add=1b(a,b){a=b.1Nt(a);1d c=1a.2R.3Pu(b.5R);if(255===a.2w.1A.1Q[3]){1d d=1a.3a5;1d e=d.1n(c);g(e)||(e=1g $p(1a.15G,!1,c,1a.1kK),d.1C(c,e))}1s d=1a.3a4,e=d.1n(c),g(e)||(e=1g $p(1a.15G,!0,c,1a.1kK),d.1C(c,e));e.add(b,a)};us.1i.3S=1b(a){1d b,c=1a.3a5.2a,d=c.1h;1j(b=0;b<d;b++)if(c[b].3S(a))1f;c=1a.3a4.2a;d=c.1h;1j(b=0;b<d&&!c[b].3S(a);b++);};us.1i.2H=1b(a){1d b,c,d=1a.3a5.2a,e=d.1h,f=1a.3a4.2a,h=f.1h,g=!0;do{1d k=!1;1j(c=0;c<e;c++){1d n=d[c];g=n.2H(a);1d m=n.23o;1d w=m.1h;if(0<w)1j(k=!0,b=0;b<w;b++){1d x=m[b];n.3S(x);1a.add(a,x)}}1j(c=0;c<h;c++)if(n=f[c],g=n.2H(a),m=n.23o,w=m.1h,0<w)1j(k=!0,b=0;b<w;b++)x=m[b],n.3S(x),1a.add(a,x)}14p(k);1f g};us.1i.1cS=1b(a,b){1d c,d=1a.3a5.2a,e=d.1h;1j(c=0;c<e;c++){1d f=d[c];if(f.8h(a))1f f.1cS(a,b)}d=1a.3a4.2a;e=d.1h;1j(c=0;c<e;c++)if(f=d[c],f.8h(a))1f f.1cS(a,b);1f tb.12D};us.1i.1R6=1b(){1d a,b=1a.3a5.2a,c=b.1h;1j(a=0;a<c;a++)b[a].1R6();b=1a.3a4.2a;c=b.1h;1j(a=0;a<c;a++)b[a].1R6()};1d 4NF=1g y;g(1L.6F)&&(Rl.1i=1L.6F(fd.1i),Rl.1i.7m=Rl);Rl.1i.1xx=1b(a){v.2l("6q",a);if(!1a.1jm)1t 1g r("18m 1bX 18f 2S 1vP a 2hR 3y.");1d b=1a.11d,c=b.1hK(a);1d d=1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1W2.3K(a));1d e=1a.1oP.3K(a);e=Qd.1vQ(e);if(1a.15f 2m cc){1d f;g(1a.15f.1A)&&(1a.15f.1A.5g||c)&&(f=1a.15f.1A.3K(a,4NF));g(f)||(f=y.9r);a=Qb.1dc(f);d={2p:d,4S:e,1A:a}}1s d={2p:d,4S:e};1f 1g yb({id:b,3y:1g tl(1a.14n),2w:d})};Rl.1i.1Nt=1b(a){v.2l("6q",a);if(!1a.1zQ)1t 1g r("18m 1bX 18f 2S 1vP an 2hQ 3y.");1d b=1a.11d,c=b.1hK(a),d=F.7q(1a.1W1,a,y.1a7,4NF),e=1a.1oP.3K(a);1f 1g yb({id:b,3y:1g Sr(1a.14n),2w:{2p:1g Wc(c&&b.17K&&1a.1kJ.3K(a)&&1a.1Ra.3K(a)),1A:Qb.1dc(d),4S:Qd.1vQ(e)}})};Rl.1i.1ei=1b(a,b){1f!g(b.3q)||fd.1i.1ei.4G(1a,a,b)};Rl.1i.2Pc=1b(a){1f!1};Rl.1i.23n=1b(a,b){1f!b.3q.5g||!F.5g(b.1lB)||!F.5g(b.1lC)||!F.5g(b.5R)||!F.5g(b.6f)};Rl.1i.23m=1b(a,b){a=b.1lB;1d c=b.1lC,d=b.6f,e=1a.14n;e.9S=1a.15f 2m cc?zc.1sC:xe.1W0.23l.9S;e.3q=b.3q.3K(Za.11Z,e.3q);e.1lB=g(a)?a.3K(Za.11Z,e.1lB):1p 0;e.1lC=g(c)?c.3K(Za.11Z,e.1lC):1p 0;e.6f=g(d)?d.3K(Za.11Z):1p 0};Rl.1Zm=sy;g(1L.6F)&&(sy.1i=1L.6F(Fd.1i),sy.1i.7m=sy);sy.1i.1ei=1b(a,b,c){1f!g(1a.14n.3q)||Fd.1i.1ei.4G(1a,a,b,c)};sy.1i.29w=1b(a,b,c){a=1a.14n;a.3q=F.8y(b.3q,c,a.3q);a.1lB=F.8y(b.1lB,c,a.1lB);a.1lC=F.8y(b.1lC,c,a.1lC);a.6f=F.8y(b.6f,c)};1d $ua=[],v7=[Dj,Gj,Jl,Nl,Ij,tk,Jj,Ol,Pl,Rl];tC.1i.1ua=1b(a,b,c,d){1j(1d e=1a.1eG,f=0;f<e.1h;f++)e[f].1ua(a,b,c,d)};tC.1i.12I=1b(a){1j(1d b=1a.1eG,c=0;c<b.1h;c++)a(b[c])};tC.1i.1M=1b(){1a.3M8.7f();1j(1d a=1a.1eG,b=0;b<a.1h;b++)a[b].1M();1a.66z();la(1a)};xk.1i.2H=1b(a){v.2l("6q",a);1d b=1a.2D4,c=b.2a,d=1a.2hM,e=d.2a,f=1a.2D3,h=f.2a,g,k=1a;1j(g=h.1h-1;-1<g;g--){1d n=h[g];1d m=n.id;1d w=1a.2Dd.1n(m);w.13a===n?w.12I(1b(b){k.4ND(b);k.4NC(a,b)}):(e.1q(n),c.1q(n))}1j(g=e.1h-1;-1<g;g--)n=e[g],m=n.id,w=1a.2Dd.1n(m),w.12I(1a.4ND.7X(1a)),w.1M(),1a.2Dd.3S(m),1a.1J2.1n(m)(),1a.1J2.3S(m);1j(g=c.1h-1;-1<g;g--)n=c[g],m=n.id,w=1g tC(n,1a.2R),1a.2Dd.1C(m,w),w.12I(1b(b){k.4NC(a,b)}),1a.1J2.1C(m,w.39M.7K(xk.44G,1a));b.7f();d.7f();f.7f();b=!0;c=1a.1Kf;d=c.1h;1j(g=0;g<d;g++)b=c[g].2H(a)&&b;1f b};1d xM=[],4NE=1g P;xk.1i.1cS=1b(a,b){v.2l("13a",a);v.2l("4D",b);1j(1d c=0,d=1a.1Kf,e=d.1h,f=1a.2Dd.1n(a.id).1eG,h=0;h<f.1h;h++)1j(1d g=f[h],k=0;k<e;k++){a=d[k].1cS(g,4NE);if(a===tb.1rg)1f tb.1rg;a===tb.1k0&&(xM[c]=P.1y(4NE,xM[c]),c++)}if(0===c)1f tb.12D;xM.1h=c;P.1zi(xM,b);1f tb.1k0};xk.1i.3Z=1b(){1f!1};xk.1i.1M=1b(){1a.17l.1s9.12R(xk.1i.1gP,1a);1a.2D4.7f();1a.2hM.7f();1d a,b=1a.1Kf,c=b.1h;1j(a=0;a<c;a++)b[a].1R6();b=1a.1J2.2a;c=b.1h;1j(a=0;a<c;a++)b[a]();1a.1J2.7f();b=1a.2Dd.2a;c=b.1h;1j(a=0;a<c;a++)b[a].1M();1a.2Dd.7f();1f la(1a)};xk.1i.4ND=1b(a){1j(1d b=1a.1Kf,c=b.1h,d=0;d<c;d++)b[d].3S(a)};xk.1i.4NC=1b(a,b){if(b.44J)1a.3a3.add(a,b);1s{if(b.44L||b.2P9)1d c=b.39Q.3K(a);1d d=ed.3vH;b.44L&&(g(b.1Kh)?1a.3a2[d+c].add(a,b):1a.3a2[c].add(a,b));b.2P9&&(b.66y?(c=b.39N.3K(a),b.1lE 2m cc?1a.4NB[c].add(a,b):1a.4NA[c].add(a,b)):b.3ZI?b.1lE 2m cc?g(b.1Kh)?1a.3a1[d+c].add(a,b):1a.3a1[c].add(a,b):g(b.1Kh)?1a.3a0[d+c].add(a,b):1a.3a0[c].add(a,b):b.1lE 2m cc?g(b.1Kh)?1a.39Z[d+c].add(a,b):1a.39Z[c].add(a,b):g(b.1Kh)?1a.39Y[d+c].add(a,b):1a.39Y[c].add(a,b))}};xk.44G=1b(a){1d b=1a.2D3;a=a.13a;1d c=a.id;g(1a.2hM.1n(c))||g(b.1n(c))||b.1C(c,a)};xk.1i.1gP=1b(a,b,c){a=1a.2D4;1d d=1a.2hM,e=1a.2D3,f;1j(f=c.1h-1;-1<f;f--){1d h=c[f];1d g=h.id;a.3S(g)||(d.1C(g,h),e.3S(g))}1j(f=b.1h-1;-1<f;f--)h=b[f],g=h.id,d.3S(g)?e.1C(g,h):a.1C(g,h)};1d 66u=qe.1LX,66t=y.9r,66r=y.1a7,66p=1g y(.165,.165,.165,.8),66n=1g C(7,5),$Pa=C.6h,66k=k.6h,66w=bb.6i,66i=oc.1dq,66h=fc.1dq,66x=1g k,66s=1g y,66q=1g y,66o=1g y,66m=1g C,66j=1g k,66l=1g C,66g=1g Db,66f=1g Db,66e=1g Db,66d=1g ob;aq.1i.2H=1b(a){if(!g(a))1t 1g r("6q is 1X.");1j(1d b=1a.1hw.2a,c=1a.1Nu,d=0,e=b.1h;d<e;d++){1d f=b[d],h=f.13a,l=h.1eh,p=f.17R,n=h.17K&&h.1hK(a)&&F.7q(l.10T,a,!0);if(n){1d m=F.8y(h.9M,a,66x);1d w=F.8y(l.39X,a);n=g(m)&&g(w)}if(n){F.5g(h.9M)||(c.1xA=!0);n=!1;1d x=F.7q(l.1c1,a,66w);g(p)||(p=c.66v(h),p.id=h,f.17R=p,n=k.2L(p.1K,m)&&p.6N===x);p.2p=!0;p.1K=m;p.3l=w;p.3b=F.7q(l.13V,a,1);p.9O=F.7q(l.1Bp,a,"44T 1TG-1TF");p.2r=F.7q(l.14N,a,66u);p.1b5=F.7q(l.1pN,a,66t,66s);p.5M=F.7q(l.16O,a,66r,66q);p.5R=F.7q(l.16n,a,1);p.1oC=F.7q(l.1MN,a,!1);p.1a4=F.7q(l.1vi,a,66p,66o);p.1pJ=F.7q(l.1Qe,a,66n,66m);p.14l=F.7q(l.1qS,a,$Pa,66l);p.19V=F.7q(l.1vS,a,66k,66j);p.6N=x;p.15P=F.7q(l.1qO,a,66i);p.16l=F.7q(l.1jT,a,66h);p.15M=F.8y(l.1gH,a,66g);p.1cd=F.8y(l.1vR,a,66f);p.13h=F.8y(l.1hV,a,66e);p.4S=F.8y(l.17y,a,66d);p.11p=F.8y(l.1f9,a);n&&p.1xz()}1s NR(f,h,c)}1f!0};aq.1i.1cS=1b(a,b){if(!g(a))1t 1g r("13a is 1X.");if(!g(b))1t 1g r("4D is 1X.");a=1a.1hw.1n(a.id);if(!g(a)||!g(a.17R))1f tb.12D;a=a.17R;b.2V=k.1y(m(a.1BK,a.1K),b.2V);b.3L=0;1f tb.1k0};aq.1i.3Z=1b(){1f!1};aq.1i.1M=1b(){1a.17l.1s9.12R(aq.1i.1gP,1a);1j(1d a=1a.17l.2a,b=0;b<a.1h;b++)1a.1Nu.4Nz(a[b]);1f la(1a)};aq.1i.1gP=1b(a,b,c,d){1d e=1a.1hw,f=1a.1Nu;1j(a=b.1h-1;-1<a;a--){1d h=b[a];g(h.1eh)&&g(h.9M)&&e.1C(h.id,1g w7(h))}1j(a=d.1h-1;-1<a;a--)h=d[a],g(h.1eh)&&g(h.9M)?e.8h(h.id)||e.1C(h.id,1g w7(h)):(NR(e.1n(h.id),h,f),e.3S(h.id));1j(a=c.1h-1;-1<a;a--)h=c[a],NR(e.1n(h.id),h,f),e.3S(h.id)};1d 66b=ed.2hT,66a=bb.6i,669=y.1PZ,665=y.9r,661=Qp.2dR,65Y=1g C(1,1),66c=1g A,65S=1g A;bq.1i.2H=1b(a){if(!g(a))1t 1g r("6q is 1X.");1j(1d b=1a.2Dc.2a,c=1a.3vD,d=1a.15G,e=0,f=b.1h;e<f;e++){1d h=b[e],l=h.13O,k=c[h.id],n=h.17K&&h.1hK(a)&&F.7q(l.10T,a,!0);if(n){1d m=h.39W(a,66c);1d w=na.14m(F.8y(l.44S,a));n=g(m)&&g(w)}if(n){if(n=g(k)?k.3vE:1p 0,g(n)&&w.2I===k.2I||(g(n)&&(d.1VX(n),4Y c[h.id]),n=fg.41z({2I:w,1Kg:F.7q(l.2Pb,a,!0),4r:1a.2R}),n.id=h,d.add(n),k={3vE:n,2I:w.2I,4Ny:!1,4Nw:{},65U:{},39U:!1},c[h.id]=k,ava(n,h,c)),n.2p=!0,n.3b=F.7q(l.13V,a,1),n.1BI=F.7q(l.3vG,a,0),n.1BH=F.8y(l.3vF,a),n.4a=A.1y(m,n.4a),n.6x=F.7q(l.1kK,a,66b),n.6N=F.7q(l.1c1,a,66a),n.4S=F.8y(l.17y,a),n.1rE=F.7q(l.44R,a,669,n.44R),n.1Nw=F.7q(l.667,a,0),n.1A=F.7q(l.7a,a,665,n.7a),n.1qt=F.7q(l.663,a,661),n.1Nv=F.7q(l.660,a,.5),n.1cj=F.8y(l.1cX,a),n.1VZ=F.7q(l.65Z,a,!0),n.1fH=F.7q(l.1sQ,a,65Y),n.18V=F.8y(l.1r0,a),n.3o&&(h=F.7q(l.65X,a,!0),k.4Ny!==h&&(h?n.39V.65W({1qB:kv.1av}):n.39V.7f(),k.4Ny=h),l=F.8y(l.65V,a,k.4Nw),g(l))){k=k.65U;h=1L.9K(l);1j(1d x=0,q=h.1h;x<q;++x){1d t=h[x],u=l[t];if(g(u)){1d v=n.65T(t);if(g(v)){1d y=k[t];g(y)||(y=v.8W.1y(),k[t]=y);t=A.4Nx(u,65S);v.8W=A.9b(y,t,t)}}}}}1s g(k)&&(k.3vE.2p=!1)}1f!0};bq.1i.3Z=1b(){1f!1};bq.1i.1M=1b(){1a.17l.1s9.12R(bq.1i.1gP,1a);1j(1d a=1a.2Dc.2a,b=1a.3vD,c=1a.15G,d=a.1h-1;-1<d;d--)OR(1a,a[d],b,c);1f la(1a)};bq.1i.1cS=1b(a,b){if(!g(a))1t 1g r("13a is 1X.");if(!g(b))1t 1g r("4D is 1X.");a=1a.3vD[a.id];if(!g(a)||a.39U)1f tb.12D;a=a.3vE;if(!g(a)||!a.2p)1f tb.12D;if(!a.3o)1f tb.1rg;if(a.6N===bb.6i)P.5o(a.7u,a.4a,b);1s{if(!g(a.1VY))1f tb.1rg;P.5o(a.7u,a.1VY,b)}1f tb.1k0};bq.1i.1gP=1b(a,b,c,d){1d e=1a.2Dc,f=1a.3vD,h=1a.15G;1j(a=b.1h-1;-1<a;a--){1d l=b[a];g(l.13O)&&g(l.9M)&&e.1C(l.id,l)}1j(a=d.1h-1;-1<a;a--)l=d[a],g(l.13O)&&g(l.9M)?(b=f[l.id],g(b)&&(b.4Nw={}),e.1C(l.id,l)):(OR(1a,l,f,h),e.3S(l.id));1j(a=c.1h-1;-1<a;a--)l=c[a],OR(1a,l,f,h),e.3S(l.id)};1L.2X(Sl.1i,{5g:{1n:1b(){1f F.5g(1a.6j)}},13C:{1n:1b(){1f 1a.8B}},1ub:{1n:1b(){1f g(1a.6j)?1a.6j.1ub:dg.1EB}}});Sl.1i.3K=1b(a,b){1f 1a.1nF(a,dg.1EB,b)};Sl.1i.1cf=1b(a){1a.6j!==a&&(1a.6j=a,g(1a.3vC)&&(1a.3vC(),1a.3vC=1p 0),g(a)&&(1a.3vC=a.13C.7K(1a.2hS,1a)),1a.8B.5k(1a))};Sl.1i.1nF=1b(a,b,c){if(!g(a))1t 1g r("6q is 1X.");if(!g(b))1t 1g r("1ub is 1X.");if(g(1a.6j))1f c=1a.6j.1nF(a,b,c),g(c)?ba.9y.1fI(c,c):1p 0};Sl.1i.2L=1b(a){1f 1a===a||a 2m Sl&&1a.6j===a.6j};Sl.1i.2hS=1b(){1a.8B.5k(1a)};1d z7=1g Ab,PR=1g Ab,QR=1g Ab,4Nu=1g J;uC.1i.2H=1b(a){if(1a.1lF===dg.4Nv){1d b=Da.3nJ(a,4Nu);g(b)||(b=Da.2yN(a,4Nu));A.1yU(b,k.6h,1a.1uc.4a)}};uC.1i.4Nt=1b(a,b){1d c=b.13a,d=c.34k,e=c.9M,f,h,l=d.10T,k=b.11M,n=c.17K&&(!g(l)||l.3K(a));if(n){1d m=F.8y(d.65R,a),w=F.8y(d.65Q,a),x=c.1R9,q=g(x);l=g(m);1d t=g(w);if(n=q||l&&t){t&&(f=M.190(a,-w,1g M));l&&(h=M.190(a,m,1g M));if(q){n=x.4I;x=x.4U;if(!t||M.1bP(n,f))f=n;if(!l||M.1ib(x,h))h=x}n=M.1ib(f,h)}}n?(g(k)||(k=1a.44Q,0<k.1h?(l=k.9l(),k=1a.1uc.1n(l),b.2P=l):(b.2P=1a.1uc.1h,k=1a.1uc.add()),k.id=c,b.11M=k),b=F.7q(d.27m,a,60),k.2p=!0,k.3q=A7(e,f,h,a,1a.1lF,b,k.3q.4h()),k.2q=cg.3K(a,d.17u,k.2q),k.1G=F.7q(d.10V,a,1),k.4S=F.8y(d.17y,a,k.4S)):g(k)&&(1a.44Q.1q(b.2P),b.11M=1p 0,k.2p=!1,b.2P=1p 0)};uC.1i.44P=1b(a){1d b=a.11M;g(b)&&(1a.44Q.1q(a.2P),a.11M=1p 0,b.2p=!1,b.id=1p 0,a.2P=1p 0)};uC.1i.1M=1b(){1a.2R.13y.3S(1a.1uc);1f la(1a)};cq.1i.2H=1b(a){if(!g(a))1t 1g r("6q is 1X.");1d b=1a.1R7;1j(c in b)b.3p(c)&&b[c].2H(a);1d c=1a.1hw.2a;if(0===c.1h&&g(1a.1R7)&&0<1L.9K(1a.1R7).1h){1j(1d d in b)b.3p(d)&&b[d].1M();1a.1R7={}}b=0;1j(d=c.1h;b<d;b++){1d e=c[b],f=e.13a.9M,h=e.2Pa,l=dg.1EB;1a.2R.3z===O.6G&&(l=f.1ub);f=1a.1R7[l];h===f&&g(f)?f.4Nt(a,e):(g(h)&&h.44P(e),g(f)||(f=1g uC(1a.2R,l),f.2H(a),1a.1R7[l]=f),e.2Pa=f,g(f)&&f.4Nt(a,e))}1f!0};cq.1i.3Z=1b(){1f!1};cq.1i.1M=1b(){1a.17l.1s9.12R(cq.1i.1gP,1a);1d a=1a.1R7,b;1j(b in a)a.3p(b)&&a[b].1M();1f la(1a)};cq.1i.1gP=1b(a,b,c,d){1d e=1a.1hw;1j(a=b.1h-1;-1<a;a--){1d f=b[a];g(f.34k)&&g(f.9M)&&e.1C(f.id,1g x7(f))}1j(a=d.1h-1;-1<a;a--)f=d[a],g(f.34k)&&g(f.9M)?e.8h(f.id)||e.1C(f.id,1g x7(f)):(b=e.1n(f.id),g(b)&&(g(b.2Pa)&&b.2Pa.44P(b),e.3S(f.id)));1j(a=c.1h-1;-1<a;a--)f=c[a],b=e.1n(f.id),g(b)&&(g(b.2Pa)&&b.2Pa.44P(b),e.3S(f.id))};cq.8HF=A7;1d 4No=y.9r,4Nm=y.1a7,4Nn=1g y,65P=1g k,4Nl=1g y,4Nr=1g Db,4Nq=1g Db,4Np=1g ob;dq.1i.2H=1b(a){if(!g(a))1t 1g r("6q is 1X.");1j(1d b=1a.1hw.2a,c=1a.1Nu,d=0,e=b.1h;d<e;d++){1d f=b[d],h=f.13a,l=h.2CI,p=f.2Db,n=f.10i,m=F.7q(l.1c1,a,bb.6i),w=h.17K&&h.1hK(a)&&F.7q(l.10T,a,!0);if(w){1d x=F.8y(h.9M,a,65P);w=g(x)}if(w){F.5g(h.9M)||(c.1xA=!0);1d q=!1;w=!1;m===bb.6i||g(n)?m!==bb.6i||g(p)||(g(n)&&(vC(f,h,c),n=1p 0),p=c.1n3(h),p.id=h,f.2Db=p):(g(p)&&(vC(f,h,c),p=1p 0),n=c.4Ns(h),n.id=h,n.4d=1p 0,f.10i=n,q=!0,w=k.2L(n.1K,x)&&n.6N===m);g(p)?(p.2p=!0,p.1K=x,p.13h=F.8y(l.1hV,a,4Nr),p.15M=F.8y(l.1gH,a,4Nq),p.1A=F.7q(l.7a,a,4No,4Nn),p.5M=F.7q(l.16O,a,4Nm,4Nl),p.5R=F.7q(l.16n,a,0),p.12Q=F.7q(l.2qd,a,1),p.4S=F.8y(l.17y,a,4Np),p.11p=F.7q(l.1f9,a,0)):g(n)&&(n.2p=!0,n.1K=x,n.13h=F.8y(l.1hV,a,4Nr),n.15M=F.8y(l.1gH,a,4Nq),n.4S=F.8y(l.17y,a,4Np),n.11p=F.7q(l.1f9,a,0),n.6N=m,m=F.7q(l.7a,a,4No,4Nn),p=F.7q(l.16O,a,4Nm,4Nl),h=1k.9p(F.7q(l.16n,a,0)),l=1k.1V(1,1k.9p(F.7q(l.2qd,a,1))),0<h?(n.3b=1,q=q||h!==f.5R||l!==f.12Q||!y.2L(m,f.1A)||!y.2L(p,f.5M)):(n.3b=l/50,l=50,q=q||h!==f.5R||!y.2L(m,f.1A)||!y.2L(p,f.5M)),q&&(f.1A=y.1y(m,f.1A),f.5M=y.1y(p,f.5M),f.12Q=l,f.5R=h,f=m.2O,q=m.1fY(),p=p.1fY(),m=4H.8s([q,l,p,h]),n.1ZX(m,hR(f,q,p,h,l))),w&&n.1xz())}1s vC(f,h,c)}1f!0};dq.1i.1cS=1b(a,b){if(!g(a))1t 1g r("13a is 1X.");if(!g(b))1t 1g r("4D is 1X.");a=1a.1hw.1n(a.id);if(!g(a)||!g(a.2Db)&&!g(a.10i))1f tb.12D;if(g(a.2Db))b.2V=k.1y(a.2Db.1K,b.2V);1s{a=a.10i;if(!g(a.1BK))1f tb.1rg;b.2V=k.1y(a.1BK,b.2V)}b.3L=0;1f tb.1k0};dq.1i.3Z=1b(){1f!1};dq.1i.1M=1b(){1a.17l.1s9.12R(dq.1i.1gP,1a);1j(1d a=1a.17l.2a,b=0;b<a.1h;b++)1a.1Nu.4Nk(a[b]);1f la(1a)};dq.1i.1gP=1b(a,b,c,d){1d e=1a.1hw,f=1a.1Nu;1j(a=b.1h-1;-1<a;a--){1d h=b[a];g(h.2CI)&&g(h.9M)&&e.1C(h.id,1g B7(h))}1j(a=d.1h-1;-1<a;a--)h=d[a],g(h.2CI)&&g(h.9M)?e.8h(h.id)||e.1C(h.id,1g B7(h)):(vC(e.1n(h.id),h,f),e.3S(h.id));1j(a=c.1h-1;-1<a;a--)h=c[a],vC(e.1n(h.id),h,f),e.3S(h.id)};1d 65O=y.9r;1L.2X(Cv.1i,{5g:{1n:1b(){1f F.5g(1a.3vA)&&F.5g(1a.3vB)&&F.5g(1a.1x6)}},13C:{1n:1b(){1f 1a.8B}},1A:Y("1A"),39T:Y("39T"),39S:Y("39S"),2k9:Y("2k9"),2Da:Y("2Da"),1ze:Y("1ze")});Cv.1i.1bu=1b(a){1f"44O"};Cv.1i.3K=1b(a,b){g(b)||(b={});b.1A=F.1pW(1a.7a,a,65O,b.1A);b.23k=1bR.14H();b.39T=F.7q(1a.44N,a,1);b.2Da=F.7q(1a.3vB,a,0);b.39S=F.7q(1a.3vA,a,.3);b.1ze=F.7q(1a.1x6,a,1E3);b.2k9=F.7q(1a.44M,a,5);1f b};Cv.1i.2L=1b(a){1f 1a===a||a 2m Cv&&F.2L(1a.7a,a.7a)&&F.2L(1a.44N,a.44N)&&F.2L(1a.3vB,a.3vB)&&F.2L(1a.3vA,a.3vA)&&F.2L(1a.1x6,a.1x6)&&F.2L(1a.44M,a.44M)};1d 65G=1g od(0),kI={},4Ni=1g y,65L=1g cc(y.9r),65K=1g od(!0),65J=1g od(ed.39R),65I=1g od(1g ob),65H=1g od(te.2hq);1L.2X(Tl.1i,{id:{1n:1b(){1f 1a.7R}},13a:{1n:1b(){1f 1a.11d}},2P9:{1n:1b(){1f 1a.1jm}},23g:{1n:1b(){1f!1a.1jm||!g(1a.11d.1b9)&&F.5g(1a.1kJ)}},1lE:{1n:1b(){1f 1a.15f}},1oQ:{1n:1b(){1f 1a.2hP}},44L:{1Q:!1},44K:{1Q:!0},3vz:{1Q:1p 0},39Q:{1n:1b(){1f 1a.39P}},1Ns:{1n:1b(){1f 1a.1oP}},39N:{1n:1b(){1f 1a.39O}},44J:{1n:1b(){1f 1a.1EA}},3ZI:{1Q:!1},39M:{1n:1b(){1f 1a.1R8}},14g:{1n:1b(){1f 1a.1sP}},1d7:{1n:1b(){1f 1a.23a&&1a.65N}},13G:{1n:1b(){1f 1a.1zP}}});Tl.1i.4Nj=1b(a){1f!1};Tl.1i.2P5=1b(a){1d b=1a.11d;a=1a.1jm&&b.1hK(a)&&1a.1kJ.3K(a);1f m(a,!1)};Tl.1i.1xx=1b(a){if(!g(a))1t 1g r("6q is 1X.");if(!1a.1jm)1t 1g r("18m 1bX 18f 2S 1vP a 2hR 3y.");1d b=1a.11d,c=b.1hK(a),d=1g Wc(c&&b.17K&&1a.1kJ.3K(a)),e=1a.1oP.3K(a);e=Qd.1vQ(e);d={2p:d,4S:e};1d f;1a.15f 2m cc&&(g(1a.15f.1A)&&(1a.15f.1A.5g||c)&&(f=1a.15f.1A.3K(a,4Ni)),g(f)||(f=y.9r),d.1A=Qb.1dc(f));if(1a.1d7)1f 1g yb({id:b,3y:1g Zn(1a.2P7),2w:d});1a.15f 2m Cv?(1a.2D8.6Y=1,g(1a.15f.2Da)&&0<1a.15f.2Da?1a.2D8.1ze=-1:1a.2D8.1ze=g(1a.15f.1ze)?1a.15f.1ze:1E3):(1a.2D8.6Y=0,1a.2D8.1ze=-1);g(1a.2hP)&&1a.2hP 2m cc&&(g(1a.2hP.1A)&&(1a.2hP.1A.5g||c)&&(f=1a.2hP.1A.3K(a,4Ni)),g(f)||(f=y.9r),d.2D9=Qb.1dc(f));1f 1g yb({id:b,3y:1g lk(1a.2D8),2w:d})};Tl.1i.1Nt=1b(a){1t 1g r("18m 1bX 18f 2S 1vP an 2hQ 3y.");};Tl.1i.3Z=1b(){1f!1};Tl.1i.1M=1b(){1a.65M();la(1a)};Tl.1i.1ua=1b(a,b,c,d){if("1b9"===b||"11M"===b){1d e=1a.11d.11M;if(g(e))if(d=e.3q,c=e.2p,g(c)&&c.5g&&!c.3K(Za.11Z)||!g(d))1a.1jm&&(1a.1jm=!1,1a.1R8.5k(1a));1s{a=e.13G;1d f=m(e.2q,65L);b=f 2m cc;1a.15f=f;1a.2hP=e.1r4;1a.1kJ=m(c,65K);1a.39P=m(e.6x,65J);1a.1oP=m(e.4S,65I);1a.39O=m(e.12p,65H);1a.1jm=!0;1a.1zP=m(a,65G);f=e.1G;1d h=e.2P8,l=e.23j,k=e.14g;c=e.1d7;1d n=e.6f;d.5g&&F.5g(f)&&F.5g(l)&&F.5g(k)&&F.5g(n)&&F.5g(c)&&F.5g(a)?(e=1a.2D8,d=d.3K(Za.11Z,e.3q),!g(d)||2>d.1h?1a.1jm&&(1a.1jm=!1,1a.1R8.5k(1a)):(b=b&&(!g(1a.2hP)||1a.2hP 2m cc)?hf.1sC:Og.1sC,e.9S=b,e.3q=d,e.1G=g(f)?f.3K(Za.11Z):1p 0,e.2P8=g(h)?h.3K(Za.11Z):1p 0,e.23j=g(l)?l.3K(Za.11Z):1p 0,e.14g=g(k)?k.3K(Za.11Z):1p 0,e.6f=g(n)?n.3K(Za.11Z):1p 0,b=1a.2P7,b.3q=d,b.1G=e.1G,b.14g=e.14g,b.6f=e.6f,1a.23a=g(c)?c.3K(Za.11Z):!1,!1a.23a&&g(a)&&ec("2vV 1cp 2Q 118 1d7: 8O 16r 1nl 13G.  13G 1B4 be 2mu."),1a.1EA=!1,1a.1R8.5k(1a))):1a.1EA||(1a.1EA=!0,1a.1R8.5k(1a))}1s 1a.1jm&&(1a.1jm=!1,1a.1R8.5k(1a))}};Tl.1i.4Nh=1b(a,b){v.2l("13y",a);v.2l("2y4",b);if(!1a.1EA)1t 1g r("18m 1bX 18f 2S 1vP 4Ng 3y.");1f 1g wC(a,b,1a)};1d eF={3q:1p 0,6f:1p 0,1D:1p 0,3c:1p 0};wC.1i.2H=1b(a){1d b=1a.1u9,c=b.11d,d=c.11M,e=F.8y(d.3q,a,1a.9h);b.23a=F.7q(d.23a,a,!1);b.2P7.3q=e;b.2P7.1G=F.7q(d.10V,a,1);b.2P7.14g=F.7q(d.1sP,a,Ib.1gi);b.2P7.6f=F.7q(d.14J,a,1Ax);1d f=1a.1yO;g(1a.2D7)&&(f.3S(1a.2D7),1a.2D7=1p 0);if(b.1d7)c.17K&&c.1hK(a)&&F.7q(d.10T,a,!0)&&g(e)&&!(2>e.1h)&&(d=b.1lE,d 2m cc?d=1g hf:(e=cg.3K(a,d,1a.17u),d=1g Og({2q:e,11C:e.1pE()}),1a.17u=e),1a.2D7=f.add(1g ok({13g:b.1xx(a),161:d,12p:b.39N.3K(a),17X:!1}),F.8y(b.13G,a)),g(1a.2P6)&&(1a.2P6.2p=!1));1s if(f=C7(1a),c.17K&&c.1hK(a)&&F.7q(d.10T,a,!0))if(!g(e)||2>e.1h)f.2p=!1;1s{1d h=F.8y(d.4Nf,a);c=Ib.1gi;g(h)&&(c=h?Ib.1gi:Ib.6i);c=F.7q(d.1sP,a,c);h=b.2R.10a;c!==Ib.6i&&g(h)&&(eF.3c=h.3c,eF.3q=e,eF.6f=F.8y(d.14J,a),eF.1D=dd.44I(e,h.3c),e=dd.4Ne(eF));f.2p=!0;f.3q=e.4h();f.2q=cg.3K(a,b.1lE,f.2q);f.1G=F.7q(d.10V,a,1);f.4S=F.8y(d.17y,a,f.4S)}1s f.2p=!1};wC.1i.1cS=1b(a){v.2l("4D",a);if(1a.1u9.1d7){1d b=1a.2D7;if(g(b)&&b.2p&&b.3o){1d c=b.1bH(1a.1u9.11d);if(g(c)&&g(c.7u))1f P.1y(c.7u,a),tb.1k0}1f g(b)&&!b.3o?tb.1rg:tb.1k0}b=C7(1a);1f b.2p&&0<b.3q.1h?(P.1aN(b.3q,a),tb.1k0):tb.12D};wC.1i.3Z=1b(){1f!1};wC.1i.1M=1b(){1d a=1a.1u9.2R.id,b=kI[a];g(b)&&(b.3S(1a.2P6),0===b.1h&&(1a.15G.1VX(b),4Y kI[a]));g(1a.2D7)&&1a.1yO.3S(1a.2D7);la(1a)};1d 65F=1g y,65D=1g ob,65E=1g ob;Um.1i.2D6=1b(){1a.23e=!0};Um.1i.2D5=1b(a){1d b=1a.23i;a=a.1lE;1f a===b||a 2m cc&&b 2m cc?!0:g(b)&&b.2L(a)};Um.1i.add=1b(a,b,c){a=b.id;1a.1eG.1C(a,b);1a.3y.1C(a,c);if(b.23g&&b.1lE.5g&&F.5g(b.1Ns)){1d d=1a;1a.1sO.1C(a,b.13a.13C.7K(1b(a,c,h,g){"17K"===c&&d.1nE.1C(b.id,b)}))}1s 1a.1sN.1C(a,b);1a.1eY=!0};Um.1i.3S=1b(a){a=a.id;1a.1eY=1a.3y.3S(a)||1a.1eY;if(1a.1eG.3S(a)){1a.1sN.3S(a);1d b=1a.1sO.1n(a);g(b)&&(b(),1a.1sO.3S(a));1f!0}1f!1};Um.1i.2H=1b(a){1d b=!0,c=1a.9k,d=1a.44H,e=1a.3y.2a;if(1a.1eY)0<e.1h?(g(c)&&(g(1a.19e)?d.3S(c):1a.19e=c),c=1g ok({2p:!1,17X:1a.2hN,13g:e.4h(),161:1g 1a.2hO,12p:1a.12p}),1a.2hO===Og&&(1a.2q=cg.3K(a,1a.23i,1a.2q),c.161.2q=1a.2q),d.add(c,1a.13G),b=!1):(g(c)&&(d.3S(c),c=1p 0),a=1a.19e,g(a)&&(d.3S(a),1a.19e=1p 0)),1a.2w.7f(),1a.9k=c,1a.1eY=!1;1s if(g(c)&&c.3o){c.2p=!0;g(1a.19e)&&(d.3S(1a.19e),1a.19e=1p 0);1a.2hO===Og&&(1a.2q=cg.3K(a,1a.23i,1a.2q),1a.9k.161.2q=1a.2q);e=1a.1sN.2a;1d f=e.1h;1j(d=0;d<f;d++){1d h=e[d],l=h.13a,k=1a.3y.1n(h.id),n=1a.2w.1n(k.id.id);g(n)||(n=c.1bH(k.id),1a.2w.1C(k.id.id,n));h.1lE.5g||(k=F.7q(h.1lE.1A,a,y.9r,65F),y.2L(n.23h,k)||(n.23h=y.1y(k,n.23h),n.1A=Qb.1an(k,n.1A)));l=l.17K&&(h.23g||h.2P5(a));l!==(1===n.2p[0])&&(n.2p=Wc.1an(l,n.2p));h=h.1Ns;F.5g(h)||(h=F.7q(h,a,65E,65D),ob.2L(h,n.1xy)||(n.1xy=ob.1y(h,n.1xy),n.4S=Qd.1an(h,n.4S)))}1a.23f(c)}1s g(c)&&!c.3o&&(b=!1);1f b};Um.1i.23f=1b(a){1j(1d b=1a.1nE.2a,c=b.1h,d=0;d<c;d++){1d e=b[d],f=e.13a;e=1a.3y.1n(e.id);1d h=1a.2w.1n(e.id.id);g(h)||(h=a.1bH(e.id),1a.2w.1C(e.id.id,h));f=f.17K;f!==(1===h.2p[0])&&(h.2p=Wc.1an(f,h.2p),e.2w.2p.1Q[0]=h.2p[0])}1a.1nE.7f()};Um.1i.8h=1b(a){1f 1a.1eG.8h(a.id)};Um.1i.1cS=1b(a,b){1d c=1a.9k;if(!c.3o)1f tb.1rg;a=c.1bH(a.13a);if(!g(a)||!g(a.7u)||g(a.2p)&&0===a.2p[0])1f tb.12D;a.7u.1y(b);1f tb.1k0};Um.1i.1M=1b(){1d a=1a.9k,b=1a.44H;g(a)&&b.3S(a);a=1a.19e;g(a)&&b.3S(a);1a.2qc()};Dv.1i.add=1b(a,b){1j(1d c=1a.1hw,d=c.1h,e=b.1xx(a),f=F.7q(b.13G,0),h=0;h<d;++h){1d g=c[h];if(g.2D5(b)&&g.13G===f){g.add(a,b,e);1f}}d=1g Um(1a.2P4,1a.1Ez,b.1lE,f,1a.2hN);d.add(a,b,e);c.1q(d)};Dv.1i.3S=1b(a){1j(1d b=1a.1hw,c=b.1h-1;0<=c;c--){1d d=b[c];if(d.3S(a)){0===d.1eG.1h&&(b.6z(c,1),d.1M());1W}}};Dv.1i.2H=1b(a){1d b,c=1a.1hw;1j(b=c.1h-1;0<=b;b--){1d d=c[b];if(d.23e){c.6z(b,1);1j(1d e=d.1eG.2a,f=e.1h,h=0;h<f;h++)1a.add(a,e[h]);d.1M()}}d=!0;1j(b=0;b<c.1h;b++)d=c[b].2H(a)&&d;1f d};Dv.1i.1cS=1b(a,b){1j(1d c=1a.1hw,d=c.1h,e=0;e<d;e++){1d f=c[e];if(f.8h(a))1f f.1cS(a,b)}1f tb.12D};Dv.1i.1R6=1b(){1j(1d a=1a.1hw,b=a.1h,c=0;c<b;c++)a[c].1M();1a.1hw.1h=0};1d 65C=[];Vm.1i.2H=1b(a){v.2l("6q",a);1d b=1a.2D4,c=b.2a,d=1a.2hM,e=d.2a,f=1a.2D3,h=f.2a,g;1j(g=h.1h-1;-1<g;g--){1d k=h[g];1d n=k.id;1d m=1a.1R7.1n(n);m.13a===k?(D7(1a,m),E7(1a,a,m)):(e.1q(k),c.1q(k))}1j(g=e.1h-1;-1<g;g--)k=e[g],n=k.id,m=1a.1R7.1n(n),D7(1a,m),m.1M(),1a.1R7.3S(n),1a.1J2.1n(n)(),1a.1J2.3S(n);1j(g=c.1h-1;-1<g;g--)k=c[g],n=k.id,m=1g Tl(k,1a.2R),1a.1R7.1C(n,m),E7(1a,a,m),1a.1J2.1C(n,m.39M.7K(Vm.44G,1a));b.7f();d.7f();f.7f();b=!0;c=1a.1Kf;d=c.1h;1j(g=0;g<d;g++)b=c[g].2H(a)&&b;1f b};1d yM=[],4Nd=1g P;Vm.1i.1cS=1b(a,b){v.2l("13a",a);v.2l("4D",b);1j(1d c=0,d=1a.1Kf,e=d.1h,f=1a.1R7.1n(a.id),h=0;h<e;h++){a=d[h].1cS(f,4Nd);if(a===tb.1rg)1f tb.1rg;a===tb.1k0&&(yM[c]=P.1y(4Nd,yM[c]),c++)}if(0===c)1f tb.12D;yM.1h=c;P.1zi(yM,b);1f tb.1k0};Vm.1i.3Z=1b(){1f!1};Vm.1i.1M=1b(){1a.17l.1s9.12R(Vm.1i.1gP,1a);1a.2D4.7f();1a.2hM.7f();1d a,b=1a.1Kf,c=b.1h;1j(a=0;a<c;a++)b[a].1R6();b=1a.1J2.2a;c=b.1h;1j(a=0;a<c;a++)b[a]();1a.1J2.7f();1f la(1a)};Vm.44G=1b(a){1d b=1a.2D3;a=a.13a;1d c=a.id;g(1a.2hM.1n(c))||g(b.1n(c))||b.1C(c,a)};Vm.1i.1gP=1b(a,b,c){a=1a.2D4;1d d=1a.2hM,e=1a.2D3,f;1j(f=c.1h-1;-1<f;f--){1d h=c[f];1d g=h.id;a.3S(g)||(d.1C(g,h),e.3S(g))}1j(f=b.1h-1;-1<f;f--)h=b[f],g=h.id,d.3S(g)?e.1C(g,h):a.1C(g,h)};yk.65B=1b(a,b,c){1d d=c.13K;1f[1g Fp(b,d),1g xk(a,d,c.15G,c.1yO),1g aq(b,d),1g bq(a,d),1g Xp(a,d),1g dq(b,d),1g cq(a,d),1g Vm(a,d,c.15G,c.1yO)]};1L.2X(yk.1i,{4r:{1n:1b(){1f 1a.2R}},2j5:{1n:1b(){1f 1a.266}},3LH:{1n:1b(){1f 1a.3vy}},3o:{1n:1b(){1f 1a.4y}}});yk.1i.3Z=1b(){1f!1};yk.1i.1M=1b(){1a.1n5.7f();1j(1d a=1a.266,b=0,c=a.1h;b<c;++b)1a.2ZU(1a.266,a.1n(b));1a.2ZU(1p 0,1a.3vy);g(1a.44F)?(1a.44F(),1a.4Nc()):(1a.2R.13y.3S(1a.15G),1a.2R.2y4.3S(1a.1yO));1f la(1a)};yk.1i.2H=1b(a){v.2l("6q",a);if(!nd.1Vv)1f 1a.4y=!1;1d b=!0,c,d=1a.266,e=d.1h;1j(c=0;c<e;c++){1d f=d.1n(c);g(f.2H)&&(b=f.2H(a)&&b);1d h=f.39L;1d l=h.1h;1j(f=0;f<l;f++)b=h[f].2H(a)&&b}h=1a.3vy.39L;l=h.1h;1j(f=0;f<l;f++)b=h[f].2H(a)&&b;1f 1a.4y=b};yk.1i.2we=1b(){1j(1d a=1a.2R.18Y,b=1a.266,c=b.1h,d=0;d<c;d++){1d e=b.1n(d),f=e.9L;g(f)&&a.1DJ.2nT(f);e=e.2P1;if(g(e)){f=e.1h;1j(1d h=0;h<f;h++)a.1DJ.2nT(e[h])}}};1d zM=[],4Nb=1g P;yk.1i.1cS=1b(a,b,c){v.2l("13a",a);v.1N.7d("8HE",b);v.2l("4D",c);if(!1a.4y)1f tb.1rg;1d d,e=1a.3vy;if(!e.13K.8h(a)){e=1p 0;1d f=1a.266;1d h=f.1h;1j(d=0;d<h;d++){1d l=f.1n(d);if(l.13K.8h(a)){e=l;1W}}}if(!g(e))1f tb.12D;h=0;f=e.39L;l=f.1h;1j(d=0;d<l;d++)if(g(f[d].1cS)){e=f[d].1cS(a,4Nb);if(!b&&e===tb.1rg)1f tb.1rg;e===tb.1k0&&(zM[h]=P.1y(4Nb,zM[h]),h++)}if(0===h)1f tb.12D;zM.1h=h;P.1zi(zM,c);1f tb.1k0};yk.1i.2ZV=1b(a,b){a=1a.2R;1d c=1a.1yO,d=1a.15G.add(1g cf);c=c.add(1g Sm);b.15G=d;b.1yO=c;c=b.2hB;c.9s(a);d.add(c);b.39L=1a.65A(a,c,b)};yk.1i.2ZU=1b(a,b){a=1a.15G;1d c=1a.1yO,d=b.15G,e=b.1yO;d.3S(b.2hB);1j(1d f=b.39L,h=f.1h,g=0;g<h;g++)f[g].1M();a.3S(d);c.3S(e);b.39L=1p 0};yk.1i.65z=1b(a,b,c){1d d=1a.15G,e=1a.1yO,f=a.15G;a=a.1yO;b===c+1?(d.2yO(f),e.2yO(a)):b===c-1?(d.1wp(f),e.1wp(a)):0===b?(d.3oA(f),e.3oA(a),d.2yO(f),e.2yO(a)):(d.3oB(f),e.3oB(a))};1d 65x=1g y(1,1,1,1);1L.2X(ty.1i,{5g:{1n:1b(){1f F.5g(1a.7a)}},13C:{1n:1b(){1f 1a.8B}},1A:Y("1A")});ty.1i.1bu=1b(a){1f"65y"};ty.1i.3K=1b(a,b){g(b)||(b={});b.1A=F.1pW(1a.7a,a,65x,b.1A);1f b};ty.1i.2L=1b(a){1f 1a===a||a 2m ty&&F.2L(1a.7a,a.7a)};1d 4N8=1g J,4N7=1g J,4N9=1g J,uh=1g A,AM=1g k,4N6=1g k,qX=1g k,rX=1g k,4N5=1g k,4N4=1g k,xA=1g M;1L.2X(uy,{65w:{1n:1b(){1f 1a.44E},1C:1b(a){1a.44E=k.1y(a,1g k)}}});uy.65w=1g k(-8HD,65v,65v);1d fF=1g Bp,65u=1g k;uy.1i.2H=1b(a,b){v.2l("6q",a);1d c=1a.4r,d=1a.3c,e=c.3z;if(e!==O.1at){1d f=1a.13a,h=f.1K;if(g(h)){1d l=f!==1a.4Na,p=e!==1a.8C;c=c.3w;1d n=l||p,m=!0;l?(l=f.39K,p=g(l),!p&&g(b)?(fF.8q=-B.3Uq,fF.11D=0,m=h.3K(a,65u),g(m)&&(m=2-1/1k.1V(1,k.7t(m)/d.17i),fF.8q*=m),c.34B(b,fF),1a.7u=b,m=n=!1):p&&g(l.3K(a,1a.39J))||k.1y(uy.44E,1a.39J)):p||1a.8C===O.10j||k.1y(c.1K,1a.39J);1a.4Na=f;1a.8C=e;b=n;e=m;f=1a.4r.3z;m=h.3K(a,1a.65t);if(g(m)){l=n=!1;if(f===O.6G&&(M.190(a,.17I,xA),p=h.3K(xA,AM),g(p)||(M.190(a,-.17I,xA),p=h.3K(xA,AM),l=!0),g(p))){h=Da.44D(a,4N8);1d w=Da.44D(xA,4N7);g(h)&&g(w)?a=J.1z0(h,4N9):(a=Da.2yN(a,4N9),h=J.1z0(a,4N8),w=Da.2yN(xA,4N7),J.1z0(w,w));h=J.10r(h,m,4N5);w=J.10r(w,p,4N4);k.3V(h,w,rX);1d x=1E3*k.7t(rX),q=B.65s;x=-q/(x*x-2*q/k.7t(h));if(0>x||x>1.25*d.17i){1d t=4N6;k.1T(m,t);k.11k(t,t);1d r=k.1y(k.16a,qX);1d u=k.4B(r,t,AM);k.7t(u)>B.1hn&&(k.1T(t,t),k.1T(u,u),r=k.4B(t,u,qX),k.1T(r,r),n=!0)}1s k.5T(m,p,B.1hn)||(r=4N6,k.1T(h,r),k.1T(w,w),u=k.4B(r,w,qX),l&&(u=k.4g(u,-1,u)),k.5T(u,k.6h,B.1hn)||(t=k.4B(u,r,AM),J.10r(a,t,t),J.10r(a,u,u),J.10r(a,r,r),k.1T(t,t),k.1T(u,u),k.1T(r,r),n=!0))}g(1a.7u)&&(m=1a.7u.2V);if(e){1d y=k.1y(c.1K,rX);1d A=k.1y(c.2G,4N5);1d C=k.1y(c.up,4N4)}n?(uh[0]=t.x,uh[1]=t.y,uh[2]=t.z,uh[3]=0,uh[4]=u.x,uh[5]=u.y,uh[6]=u.z,uh[7]=0,uh[8]=r.x,uh[9]=r.y,uh[10]=r.z,uh[11]=0,uh[12]=m.x,uh[13]=m.y,uh[14]=m.z,uh[15]=0):Da.18N(m,d,uh);c.1dm(uh);e&&(k.1y(y,c.1K),k.1y(A,c.2G),k.1y(C,c.up),k.4B(A,C,c.2W))}b&&(d=f===O.10j||k.2L(1a.39J,k.6h)?1p 0:1a.39J,c.1Pa(c.5o,d))}}};1d 4Ms={};(1b(a){1b b(){1d a=-1,b=1a;b.2P3=1b(c){1d d,e=b.1j9;1j(d=0;d<c.1h;d++)a=a>>>8^e[(a^c[d])&255]};b.1n=1b(){1f~a}}1b c(a,b,c){if(a.4h)1f a.4h(b,b+c);if(a.65r)1f a.65r(b,b+c);if(a.65q)1f a.65q(b,b+c);if(a.65p)1f a.65p(b,b+c)}1b d(a,b){a=1g 1aq(a);1d c=1g 4L(a);b&&c.1C(b,0);1f{3J:a,4x:c,11A:1g 1dE(a)}}1b e(){}1b f(a){1d b=1a,c;b.4V=0;b.11K=1b(d,e){1d f=1g 1JN([a],{1I:"3l/2Ji"});c=1g g(f);c.11K(1b(){b.4V=c.4V;d()},e)};b.2hL=1b(a,b,d,e){c.2hL(a,b,d,e)}}1b h(a){1d b=1a,c;b.4V=0;b.11K=1b(d){1j(1d e=a.1h;"="==a.1as(e-1);)e--;c=a.3f(",")+1;b.4V=1k.2t(.75*(e-c));d()};b.2hL=1b(b,e,f){1d h=d(e),g=4*1k.2t(b/3),l=7O.4N3(a.11c(g+c,4*1k.8a((b+e)/3)+c));1j(b=g=b-3*1k.2t(g/4);b<g+e;b++)h.4x[b-g]=l.19a(b);f(h.4x)}}1b g(a){1a.4V=0;1a.11K=1b(b){1a.4V=a.4V;b()};1a.2hL=1b(b,d,e,f){1d h=1g 2sb;h.1w2=1b(a){e(1g 4L(a.15s.4D))};h.1ra=f;h.4zp(c(a,b,d))}}1b k(){}1b n(a){1d b;1a.11K=1b(a){b=1g 1JN([],{1I:"3l/2Ji"});a()};1a.29v=1b(a,c){b=1g 1JN([b,F?a:a.3J],{1I:"3l/2Ji"});c()};1a.2qa=1b(c,d){1d e=1g 2sb;e.1w2=1b(a){c(a.15s.4D)};e.1ra=d;e.3Cu(b,a)}}1b m(a){1d b="",c="";1a.11K=1b(c){b+="2g:"+(a||"")+";1G3,";c()};1a.29v=1b(a,d){1d e,f=c.1h,h=c;c="";1j(e=0;e<3*1k.2t((f+a.1h)/3)-f;e++)h+=10J.1gx(a[e]);1j(;e<a.1h;e++)c+=10J.1gx(a[e]);2<h.1h?b+=7O.65o(h):c=h;d()};1a.2qa=1b(a){a(b+7O.65o(c))}}1b w(a){1d b;1a.11K=1b(c){b=1g 1JN([],{1I:a});c()};1a.29v=1b(c,d){b=1g 1JN([b,F?c:c.3J],{1I:a});d()};1a.2qa=1b(a){a(b)}}1b x(a,b,c,d,e,f,h,g,l,k){1b p(b){b=b.2g;1d d=b.2g;b.8HC&&(z+=d.1h,c.29v(d,1b(){f(!1,d);n()},k));b.8HB&&(d?(z+=d.1h,c.29v(d,1b(){f(!1,d);a.12R("19s",p,!1);g(z)},k)):(a.12R("19s",p,!1),g(z)));b.1MV&&h&&h(t+b.11L,e)}1b n(){t=2qb*m;t<e?b.2hL(d+t,1k.2o(2qb,e-t),1b(b){a.1Sa({2P3:!0,2g:b});m++;h&&h(t,e);f(!0,b)},l):a.1Sa({65n:!0})}1d m=0,t;1d z=0;a.7K("19s",p,!1);n()}1b q(a,b,c,d,e,f,h,g,l,k){1b p(){1d z;m=2qb*n;m<e?b.2hL(d+m,1k.2o(2qb,e-m),1b(b){1d g=a.2P3(b,1b(){h&&h(d+m,e)});t+=g.1h;f(!0,b);c.29v(g,1b(){f(!1,g);n++;1if(p,1)},k);h&&h(m,e)},l):(z=a.65n())?(t+=z.1h,c.29v(z,1b(){f(!1,z);g(t)},k)):g(t)}1d n=0,m,t=0;p()}1b t(c,d,e,f,h,g,l,k,p){1b n(a,b){h&&!a&&t.2P3(b)}1b m(a){g(a,t.1n())}1d t=1g b;if(a.1Hx.4Mu){1d z=1g 3vx(a.1Hx.4Mt+"1pn.js");x(z,c,d,e,f,n,l,m,k,p)}1s q(1g a.1Hx.8HA,c,d,e,f,n,l,m,k,p);1f z}1b r(c,d,e,f,h,g,l){1b k(a,b){a&&m.2P3(b)}1b p(a){f(a,m.1n())}1b n(){t.12R("19s",n,!1);x(t,c,d,0,c.4V,k,h,p,g,l)}1d m=1g b;if(a.1Hx.4Mu){1d t=1g 3vx(a.1Hx.4Mt+"2J2.js");t.7K("19s",n,!1);t.1Sa({11K:!0,6b:e})}1s q(1g a.1Hx.8Hz,c,d,0,c.4V,k,h,p,g,l);1f t}1b u(a,c,d,e,f,h,g,l,k){1b p(){1d b=2qb*n;b<e?a.2hL(d+b,1k.2o(2qb,e-b),1b(a){f&&m.2P3(a);g&&g(b,e,a);c.29v(a,1b(){n++;p()},k)},l):h(e,m.1n())}1d n=0,m=1g b;p()}1b v(a){1d b,c="",d="\\44C\\65m\\44B\\39I\\8Hy\\8Hx\\4N2\\4N1\\65l\\4N0\\8Hw\\65k\\65j\\3vw\\65i\\4MZ\\4MY\\4MX\\2D2\\3vv\\65h\\8Hv\\65g\\65f\\4MW\\44A\\3vu\\8Hu\\8Ht\\3vt\\65e\\8Hs\\4MV\\44z\\4MU\\4MT\\65d\\44y\\4MS\\8Hr\\3vs\\4Me\\65c\\44x\\8Hq\\65b\\4MR\\8Hp\\39F\\39F\\4MQ\\65a\\39H\\2CV\\39F\\39F++\\659\\656++--+-+\\655\\8Ho++--\\39F-+\\654\\39G\\8Hn\\652\\44w\\8Hm\\4MP\\651\\3vr++4pm\\39F\\8Hl\\4MO\\4MN\\4MM\\8Hk\\64Z\\4ML\\8Hj\\8Hi\\3vq\\2P2\\3vp\\4MK\\64Y\\3vo\\4MJ\\4MI\\8Hh\\8Hg\\64X\\4MH\\4MG\\4MF\\64W\\39E\\4ME\\64V\\4MD\\64U\\8Hf ".7g("");1j(b=0;b<a.1h;b++){1d e=a.19a(b)&255;c=127<e?c+d[e-128]:c+10J.1gx(e)}1f c}1b y(a){1d b,c="";1j(b=0;b<a.1h;b++)c+=10J.1gx(a[b]);1f c}1b A(a,b,c,d,e){a.9G=b.11A.20g(c,!0);a.3vn=b.11A.20g(c+2,!0);a.64Q=b.11A.20g(c+4,!0);a.64T=b.11A.9A(c+6,!0);a:{1d f=a.64T,h=(f&4MC)>>16;f&=1a6;10G{1d g=1g 16V(44r+((h&64S)>>9),((h&480)>>5)-1,h&31,(f&2pw)>>11,(f&2gT)>>5,2*(f&31),0);1W a}11B(8He){}g=1p 0}a.64N=g;if(1===(a.3vn&1))e("2D1 8h 8Hd 61H.");1s{if(d||8!=(a.3vn&8))a.44v=b.11A.9A(c+10,!0),a.44u=b.11A.9A(c+14,!0),a.64R=b.11A.9A(c+18,!0);2eo===a.44u||2eo===a.64R?e("2D1 is 1nl 8Hc (4gb+ 1ol 4V)."):(a.39D=b.11A.20g(c+22,!0),a.3vm=b.11A.20g(c+24,!0))}}1b B(a,b){1b c(){}1b e(c,f){a.2hL(a.4V-c,c,1b(a){a=d(a.1h,a).11A;64K!=a.9A(0)?e(c+1,f):f(a)},1b(){b("6u 14p 44s 1Hx 1ol.")})}c.1i.2qa=1b(c,e,f,h){1b g(a,b){z&&z.44t();z=1F;a&&a(b)}1b l(a){1d b=d(4);b.11A.1H8(0,a);1f m.44v==b.11A.9A(0)}1b k(a,b){h&&!l(b)?p():c.2qa(1b(a){g(e,a)})}1b p(){g(b,"6u 14p 44s 1ol 2g.")}1b n(){g(b,"6u 14p 2gp 1ol 2g.")}1d m=1a,z;a.2hL(m.2M,30,1b(e){e=d(e.1h,e);if(4Mz!=e.11A.9A(0))b("2D1 8V is 2S 4MB.");1s{A(m,e,4,!1,b);1d g=m.2M+30+m.39D+m.3vm;c.11K(1b(){0===m.64Q?u(a,c,g,m.44u,h,k,f,p,n):z=t(a,c,g,m.44u,h,k,f,p,n)},n)}},p)};1f{64P:1b(f){22>a.4V?b("2D1 8V is 2S 4MB."):e(22,1b(e){1d h=e.9A(16,!0);1d g=e.20g(8,!0);a.2hL(h,a.4V-h,1b(a){1d e=0,h=[],l=d(a.1h,a);1j(a=0;a<g;a++){1d k=1g c;if(64M!=l.11A.9A(e)){b("2D1 8V is 2S 4MB.");1f}A(k,l,e+6,!0,b);k.4MA=l.11A.20g(e+32,!0);k.2hK=16==(l.11A.1wX(e+38)&16);k.2M=l.11A.9A(e+42,!0);1d p=y(l.4x.1hl(e+46,e+46+k.39D));k.23d=1tA===(k.3vn&1tA)?2OY(64O(p)):v(p);k.2hK||"/"!=k.23d.1as(k.23d.1h-1)||(k.2hK=!0);p=y(l.4x.1hl(e+46+k.39D+k.3vm,e+46+k.39D+k.3vm+k.4MA));k.1G8=1tA===(k.3vn&1tA)?2OY(64O(p)):v(p);h.1q(k);e+=46+k.39D+k.3vm+k.4MA}f(h)},1b(){b("6u 14p 44s 1Hx 1ol.")})})},1TP:1b(a){a&&a()}}}1b C(a){1d b,c=[];1j(b=0;b<a.1h;b++)c.1q(a.19a(b));1f c}1b E(a,b,c){1b e(a,b){g&&g.44t();g=1F;a&&a(b)}1b f(){e(b,"6u 14p 2gp 1Hx 1ol.")}1b h(){e(b,"6u 14p 44s 1ol 2g.")}1d g,l={},k=[],p=0;1f{add:1b(n,m,t,z,w){1b x(b){A=w.64N||1g 16V;v=d(26);l[n]={64L:v.4x,2hK:w.2hK,23d:y,2M:p,1G8:C(4My(1Gh(w.1G8||"")))};v.11A.1H8(0,8Hb);w.9G&&v.11A.4Mx(0,w.9G);c||0===w.6b||w.2hK||v.11A.2D0(4,1tA);v.11A.2D0(6,(A.5m6()<<6|A.5m5())<<5|A.5m4()/2,!0);v.11A.2D0(8,(A.5m9()-44r<<4|A.5m8()+1)<<5|A.5m7(),!0);v.11A.2D0(22,y.1h,!0);1d e=d(30+y.1h);e.11A.1H8(0,4Mz);e.4x.1C(v.4x,4);e.4x.1C(y,30);p+=e.4x.1h;a.29v(e.4x,b,f)}1b q(b,c){1d h=d(16);p+=b||0;h.11A.1H8(0,8Ha);"7w"!=2h c&&(v.11A.1H8(10,c,!0),h.11A.1H8(4,c,!0));m&&(h.11A.1H8(8,b,!0),v.11A.1H8(14,b,!0),h.11A.1H8(12,m.4V,!0),v.11A.1H8(18,m.4V,!0));a.29v(h.4x,1b(){p+=16;e(t)},f)}1b D(){w=w||{};n=n.1b2();w.2hK&&"/"!=n.1as(n.1h-1)&&(n+="/");l.3p(n)?b("2D1 1A8 2yQ."):(y=C(4My(1Gh(n))),k.1q(n),x(1b(){m?c||0===w.6b?u(m,a,0,m.4V,!0,q,z,h,f):g=r(m,a,w.6b,q,z,h,f):q()}))}1d v,y,A;m?m.11K(D,h):D()},1TP:1b(b){1d c=0,h=0,g;1j(g=0;g<k.1h;g++){1d n=l[k[g]];c+=46+n.23d.1h+n.1G8.1h}1d m=d(c+22);1j(g=0;g<k.1h;g++)n=l[k[g]],m.11A.1H8(h,64M),m.11A.2D0(h+4,4Kg),m.4x.1C(n.64L,h+6),m.11A.2D0(h+32,n.1G8.1h,!0),n.2hK&&m.11A.4Mx(h+38,16),m.11A.1H8(h+42,n.2M,!0),m.4x.1C(n.23d,h+46),m.4x.1C(n.1G8,h+46+n.23d.1h),h+=46+n.23d.1h+n.1G8.1h;m.11A.1H8(h,64K);m.11A.2D0(h+8,k.1h,!0);m.11A.2D0(h+10,k.1h,!0);m.11A.1H8(h+12,c,!0);m.11A.1H8(h+16,p,!0);a.29v(m.4x,1b(){e(1b(){a.2qa(b)})},f)}}}10G{1d F=0===(1g 1JN([1g 1dE(1g 1aq(0))])).4V}11B(S){}b.1i.1j9=1b(){1d a,b,c=[];1j(a=0;256>a;a++){1d d=a;1j(b=0;8>b;b++)d=d&1?d>>>1^64J:d>>>1;c[a]=d}1f c}();f.1i=1g e;f.1i.7m=f;h.1i=1g e;h.1i.7m=h;g.1i=1g e;g.1i.7m=g;k.1i.2qa=1b(a){a(1a.2g)};n.1i=1g k;n.1i.7m=n;m.1i=1g k;m.1i.7m=m;w.1i=1g k;w.1i.7m=w;a.1Hx={3RW:e,4Mw:k,4Mv:g,8H9:h,64I:f,64H:w,64G:m,64F:n,64E:1b(a,b,c){a.11K(1b(){b(B(a,c))},c)},64D:1b(a,b,c,d){a.11K(1b(){b(E(a,c,d))},c)},4Mu:!0};1d L;1L.2X(a.1Hx,{4Mt:{1n:1b(){"7w"===2h L&&(L=cb("1Qq/2gS/"));1f L}}})})(4Ms);1d eq=4Ms.1Hx,64C=/^2g:4d\\/([^,;]+)/;lI.1i.7y=1b(a){1d b=1a;if("4n"===2h a||a 2m na){a=na.14m(a);if(!a.2FN)1f a.2I;1d c=a.2I.141(64C);1d d="64B"+ ++1a.1sK;g(c)&&(d+="."+c[1]);a=a.2ok().4b(1b(a){b.3vl[d]=a});1a.1Np.1q(a);1f d}if(a 2m 2hs){1d e=Z.12L();1a.1Np.1q(e.10l);d="64B"+ ++1a.1sK+".12H";a.64A(1b(a){b.3vl[d]=a;e.5h()});1f d}1f""};lI.1i.12W=1b(a,b){1d c=1a.64z;if(!g(c))1t 1g qa("8H8 a 12W 13a 14p 8H7 to 1gO, 19T no 12W 1Jg 9x 5rU.");1d d={};a=c(a,b,d);1j(1d e in d)d.3p(e)&&(b=Z(d[e]),1a.1Np.1q(b),b.4b(3P8(1a,e)));1f a};1L.2X(lI.1i,{10l:{1n:1b(){1f Z.all(1a.1Np)}},24u:{1n:1b(){1f 1a.3vl}}});mI.1i.1n=1b(a,b,c){1d d;g(a)&&(d=g(a.3K)?a.3K(1a.4Mq,c):a);1f m(d,b)};mI.1i.1eV=1b(a,b){a=1a.1n(a,b);if(g(a))1f Gv(a)};mI.1i.4Mr=1b(a){if(g(a))1f a.1bu(1a.4Mq)};RR.1i.1n=1b(a){1d b=1a.2Bz,c=a.1dd;if(g(b[c]))1f b[c];1d d="2r-"+ ++1a.1sK;a.8m("id",d);d="#"+d;b[c]=d;1a.4Mp[c]=a;1f d};RR.1i.2x4=1b(a){1d b=1a.4Mp,c=a.13P[0],d;1j(d in b)b.3p(d)&&a.2ms(b[d],c)};F7.1i.1n=1b(a){if(!g(a))1f 1a.1n(Ld());1d b=1a.2Bz;1f g(b[a])?a.5s()+"-"+ ++b[a]:(b[a]=0,a)};SR.64y=1b(a){1d b=a.13K,c=1g RR,d=b.2CM();b=g(a.6q)?a.6q:d.4I;d=m(a.4Mm,d);1d e=m(a.4Mn,60);d.4I===Za.11Z?d.4U===Za.1Nq?d=1g Ab:M.190(d.4U,-10*e,d.4I):d.4U===Za.1Nq&&M.190(d.4I,10*e,d.4U);1d f=1g lI(a.8H6);1f{1Ey:3n.1R5.8H5("10R://10y.3Tq.2fH/5Q/2.2","5Q"),3c:m(a.3c,ba.9y),64x:1g F7,4Mo:c,3vk:f,6q:b,1Nr:1g mI(b),4Mn:e,4Mm:1g Md([d])}};1d Kj=1g k,Pi=1g T,Wm=1g M,4Ml={};(1b(a,b){"2c"===2h q&&"7w"!==2h 2eH?b(q):b(a.3eM=a.3eM||{})})(4Ml,1b(a){1b b(a,b){1d d=b.id,e=b.1bD,f=1F==b.5U?{}:b.5U;a=c(a,b);1f 1F==d&&1F==e?{1I:"19E",5U:f,3y:a}:1F==e?{1I:"19E",id:d,5U:f,3y:a}:{1I:"19E",id:d,1bD:e,5U:f,3y:a}}1b c(a,b){1b c(a){1f g(a)}1b d(a){1j(1d b=[],c=0,d=a.1h;c<d;++c){1d e=a[c],f=b;f.1h&&f.9l();1j(1d h=l[0>e?~e:e],k=0,p=h.1h;k<p;++k)f.1q(g(h[k],k));if(0>e)1j(e=f,f=e.1h,h=f-p;h<--f;)p=e[h],e[h++]=e[f],e[f]=p}2>b.1h&&b.1q(b[0]);1f b}1b e(a){1j(a=d(a);4>a.1h;)a.1q(a[0]);1f a}1b f(a){1f a.5d(e)}1b h(a){1d b=a.1I;6U(b){1S "1qx":1f{1I:b,1ht:a.1ht.5d(h)};1S "18H":a=g(a.9R);1W;1S "1oj":a=a.9R.5d(c);1W;1S "1b1":a=d(a.13J);1W;1S"1hi":a=a.13J.5d(d);1W;1S"14x":a=f(a.13J);1W;1S"1dC":a=a.13J.5d(f);1W;4T:1f 1F}1f{1I:b,9R:a}}1d g=E(a.5o),l=a.13J;1f h(b)}1b d(a,b,c){1d d;if(1<5m.1h)1d f=e(a,b,c);1s{1d h=0;1j(f=2K(d=a.13J.1h);h<d;++h)f[h]=h}1f{1I:"1hi",13J:S(a,f)}}1b e(a,b,c){1b d(a){1d b=0>a?~a:a;(l[b]||(l[b]=[])).1q({i:a,g:k})}1b e(a){a.12I(d)}1b f(a){a.12I(e)}1b h(a){6U(k=a,a.1I){1S"1qx":a.1ht.12I(h);1W;1S "1b1":e(a.13J);1W;1S "1hi":1S "14x":f(a.13J);1W;1S "1dC":a.13J.12I(f)}}1d g=[],l=[],k;h(b);l.12I(1F==c?1b(a){g.1q(a[0].i)}:1b(a){c(a[0].g,a[a.1h-1].g)&&g.1q(a[0].i)});1f g}1b f(a,b){1b d(a){6U(a.1I){1S "1qx":a.1ht.12I(d);1W;1S "14x":e(a.13J);1W;1S "1dC":a.13J.12I(e)}}1b e(a){a.12I(1b(b){b.12I(1b(b){(h[b=0>b?~b:b]||(h[b]=[])).1q(a)})});g.1q(a)}1b f(b){b=c(a,{1I:"14x",13J:[b]}).9R[0];1j(1d d=-1,e=b.1h,f,h=b[e-1],g=0;++d<e;)f=h,h=b[d],g+=f[0]*h[1]-f[1]*h[0];1f 1k.abs(g)}1d h={},g=[],l=[];b.12I(d);g.12I(1b(a){if(!a.10D){1d b=[],c=[a];a.10D=1;1j(l.1q(b);a=c.9l();)b.1q(a),a.12I(1b(a){a.12I(1b(a){h[0>a?~a:a].12I(1b(a){a.10D||(a.10D=1,c.1q(a))})})})}});g.12I(1b(a){4Y a.10D});1f{1I:"1dC",13J:l.5d(1b(b){1d c=[];b.12I(1b(a){a.12I(1b(a){a.12I(1b(a){2>h[0>a?~a:a].1h&&c.1q(a)})})});c=S(a,c);if(1<(b=c.1h))1j(1d d=1,e=f(c[0]),g;d<b;++d)(g=f(c[d]))>e&&(e=c[0],c[0]=c[d],c[d]=e,e=g);1f c})}}1b h(a,b,c){1j(1d d=b+(c-- -b>>1),e;b<d;++b,--c)e=a[b],a[b]=a[c],a[c]=e}1b g(a){1d b={1I:"1qx",1ht:a.1jG.5d(k)};1F!=a.1bD&&(b.1bD=a.1bD);1f b}1b k(a){1d b=n(a.3y),c;1F!=a.id&&(b.id=a.id);1F!=a.1bD&&(b.1bD=a.1bD);1j(c in a.5U){b.5U=a.5U;1W}1f b}1b n(a){if(1F==a)1f{1I:1F};1d b="1qx"===a.1I?{1I:"1qx",1ht:a.1ht.5d(n)}:"18H"===a.1I||"1oj"===a.1I?{1I:a.1I,9R:a.9R}:{1I:a.1I,13J:a.9R};1F!=a.1bD&&(b.1bD=a.1bD);1f b}1b m(a){1d b=a[0];a=a[1];if(a<b){1d c=b;b=a;a=c}1f b+31*a}1b w(a,b){1d c=a[0];a=a[1];1d d=b[0];b=b[1];if(a<c){1d e=c;c=a;a=e}b<d&&(e=d,d=b,b=e);1f c===d&&a===b}1b x(){1f!0}1b q(a){1f a}1b t(a){1f 1F!=a.1I}1b r(a){1d b=a[0],c=a[1];a=a[2];1f 1k.abs((b[0]-a[0])*(c[1]-b[1])-(b[0]-c[0])*(a[1]-b[1]))/2}1b u(a){1j(1d b=-1,c=a.1h,d,e=a[c-1],f=0;++b<c;)d=e,e=a[b],f+=d[0]*e[1]-d[1]*e[0];1f 1k.abs(f)/2}1b v(a){1f[a[0],a[1],0]}1b y(a,b){if(c=a.1h){if(0>=(b=+b)||2>c)1f a[0];if(1<=b)1f a[c-1];1d c;b*=c-1;c=1k.2t(b);1d d=a[c];1f d+(a[c+1]-d)*(b-c)}}1b A(a,b){1f b-a}1b B(a,b){1d c=0,d=a.1h,e=0,f=a[b?c++:d-1];b=f[0]*Q;1j(1d h=f[1]*Q/2+T,g=ba(h),l,k=Y(h);c<d;++c){f=a[c];1d p=b;b=f[0]*Q;h=f[1]*Q/2+T;f=g;g=ba(h);l=k;k=Y(h);h=b-p;p=0<=h?1:-1;h*=p;l*=k;f=f*g+l*ba(h);l=l*p*Y(h);e+=X(l,f)}1f e}1d C=1b(a){1f a},E=1b(a){if(1F==a)1f C;1d b,c,d=a.3b[0],e=a.3b[1],f=a.11v[0],h=a.11v[1];1f 1b(a,g){g||(b=c=0);g=2;1d l=a.1h,k=2K(l);k[0]=(b+=a[0])*d+f;1j(k[1]=(c+=a[1])*e+h;g<l;)k[g]=a[g],++g;1f k}},F=1b(a){1b b(a){a=d(a);a[0]<f&&(f=a[0]);a[0]>g&&(g=a[0]);a[1]<h&&(h=a[1]);a[1]>l&&(l=a[1])}1b c(a){6U(a.1I){1S "1qx":a.1ht.12I(c);1W;1S "18H":b(a.9R);1W;1S "1oj":a.9R.12I(b)}}1d d=E(a.5o),e,f=12g,h=f,g=-f,l=-f;a.13J.12I(1b(a){1j(1d b=-1,c=a.1h,e;++b<c;)e=d(a[b],b),e[0]<f&&(f=e[0]),e[0]>g&&(g=e[0]),e[1]<h&&(h=e[1]),e[1]>l&&(l=e[1])});1j(e in a.1zI)c(a.1zI[e]);1f[f,h,g,l]},L=1b(a,c){1f"1qx"===c.1I?{1I:"3vi",1jG:c.1ht.5d(1b(c){1f b(a,c)})}:b(a,c)},S=1b(a,b){1b c(b){1d c=a.13J[0>b?~b:b],d=c[0];if(a.5o){1d e=[0,0];c.12I(1b(a){e[0]+=a[0];e[1]+=a[1]})}1s e=c[c.1h-1];1f 0>b?[e,d]:[d,e]}1b d(a,b){1j(1d c in a){1d d=a[c];4Y b[d.4I];4Y d.4I;4Y d.9o;d.12I(1b(a){e[0>a?~a:a]=1});g.1q(d)}}1d e={},f={},h={},g=[],l=-1;b.12I(1b(c,d){1d e=a.13J[0>c?~c:c];3>e.1h&&!e[1][0]&&!e[1][1]&&(e=b[++l],b[l]=c,b[d]=e)});b.12I(1b(a){1d b=c(a),d=b[0],e=b[1];(b=h[d])?(4Y h[b.9o],b.1q(a),b.9o=e,(a=f[e])?(4Y f[a.4I],d=a===b?b:b.9V(a),f[d.4I=b.4I]=h[d.9o=a.9o]=d):f[b.4I]=h[b.9o]=b):(b=f[e])?(4Y f[b.4I],b.1po(a),b.4I=d,(a=h[d])?(4Y h[a.9o],d=a===b?b:a.9V(b),f[d.4I=a.4I]=h[d.9o=b.9o]=d):f[b.4I]=h[b.9o]=b):(b=[a],f[b.4I=d]=h[b.9o=e]=b)});d(h,f);d(f,h);b.12I(1b(a){e[0>a?~a:a]||g.1q([a])});1f g},U=1b(a,b){1j(1d c=0,d=a.1h;c<d;){1d e=c+d>>>1;a[e]<b?c=e+1:d=e}1f c},R=1b(a){if(1F==a)1f C;1d b,c,d=a.3b[0],e=a.3b[1],f=a.11v[0],h=a.11v[1];1f 1b(a,g){g||(b=c=0);g=2;1d l=a.1h,k=2K(l),p=1k.9p((a[0]-f)/d),n=1k.9p((a[1]-h)/e);k[0]=p-b;b=p;k[1]=n-c;1j(c=n;g<l;)k[g]=a[g],++g;1f k}},V=1b(a){1b b(a){if(1F!=a&&k.3p(a.1I))k[a.1I](a)}1b c(a){1d b=a[0];a=a[1];b<f&&(f=b);b>g&&(g=b);a<h&&(h=a);a>l&&(l=a)}1b d(a){a.12I(c)}1b e(a){a.12I(d)}1d f=12g,h=12g,g=-12g,l=-12g,k={1qx:1b(a){a.1ht.12I(b)},18H:1b(a){c(a.9R)},1oj:1b(a){a.9R.12I(c)},1b1:1b(a){d(a.13J)},1hi:1b(a){a.13J.12I(d)},14x:1b(a){a.13J.12I(d)},1dC:1b(a){a.13J.12I(e)}},p;1j(p in a)b(a[p]);1f g>=f&&l>=h?[f,h,g,l]:1p 0},W=1b(a,b,c,d,e){3===5m.1h&&(d=2K,e=1F);1j(1d f=1g d(a=1<<1k.1V(4,1k.8a(1k.7k(a)/1k.1ZN))),h=a-1,g=0;g<a;++g)f[g]=e;1f{add:1b(d){1j(1d g=b(d)&h,l=f[g],k=0;l!=e;){if(c(l,d))1f!0;if(++k>=a)1t 6u("3qV 8H4");l=f[g=g+1&h]}f[g]=d;1f!0},14d:1b(d){1j(1d g=b(d)&h,l=f[g],k=0;l!=e;){if(c(l,d))1f!0;if(++k>=a)1W;l=f[g=g+1&h]}1f!1},2a:1b(){1j(1d a=[],b=0,c=f.1h;b<c;++b){1d d=f[b];d!=e&&a.1q(d)}1f a}}},da=1b(a,b,c,d,e,f){3===5m.1h&&(d=f=2K,e=1F);1j(1d h=1g d(a=1<<1k.1V(4,1k.8a(1k.7k(a)/1k.1ZN))),g=1g f(a),l=a-1,k=0;k<a;++k)h[k]=e;1f{1C:1b(d,f){1j(1d k=b(d)&l,p=h[k],n=0;p!=e;){if(c(p,d))1f g[k]=f;if(++n>=a)1t 6u("3qV 64w");p=h[k=k+1&l]}h[k]=d;1f g[k]=f},64v:1b(d,f){1j(1d k=b(d)&l,p=h[k],n=0;p!=e;){if(c(p,d))1f g[k];if(++n>=a)1t 6u("3qV 64w");p=h[k=k+1&l]}h[k]=d;1f g[k]=f},1n:1b(d,f){1j(1d k=b(d)&l,p=h[k],n=0;p!=e;){if(c(p,d))1f g[k];if(++n>=a)1W;p=h[k=k+1&l]}1f f},9K:1b(){1j(1d a=[],b=0,c=h.1h;b<c;++b){1d d=h[b];d!=e&&a.1q(d)}1f a}}},ea=1b(a,b){1f a[0]===b[0]&&a[1]===b[1]},H=1g 1aq(16),I=1g 12X(H),J=1b(a){a=I[0]^I[1];a=a<<5^a>>7^I[2]^I[3];1f a&31s},M=1b(a){1b b(a,b,c,d){if(g[c]!==a)if(g[c]=a,a=l[c],0<=a){1d e=k[c];a===b&&e===d||a===d&&e===b||(++n,p[c]=1)}1s l[c]=b,k[c]=d}1b c(a){1f J(e[a])}1b d(a,b){1f ea(e[a],e[b])}1d e=a.9R,f=a.36L,h=a.3vj;a=1b(){1j(1d a=da(1.4*e.1h,c,d,1fZ,-1,1fZ),b=1g 1fZ(e.1h),f=0,h=e.1h;f<h;++f)b[f]=a.64v(f,f);1f b}();1d g=1g 1fZ(e.1h),l=1g 1fZ(e.1h),k=1g 1fZ(e.1h),p=1g 1G4(e.1h),n=0,m;1d t=0;1j(m=e.1h;t<m;++t)g[t]=l[t]=k[t]=-1;t=0;1j(m=f.1h;t<m;++t){1d z=f[t];1d w=z[0],x=z[1];1d q=a[w];1d r=a[++w];++n;1j(p[q]=1;++w<=x;)b(t,z=q,q=r,r=a[w]);++n;p[r]=1}t=0;1j(m=e.1h;t<m;++t)g[t]=-1;t=0;1j(m=h.1h;t<m;++t)1j(z=h[t],f=z[0]+1,w=z[1],z=a[w-1],q=a[f-1],r=a[f],b(t,z,q,r);++f<=w;)b(t,z=q,q=r,r=a[f]);g=l=k=1F;h=W(1.4*n,J,ea);1d u;t=0;1j(m=e.1h;t<m;++t)p[u=a[t]]&&h.add(e[u]);1f h},Ob=1b(a){1d b=M(a),c=a.9R,d=a.36L,e=a.3vj,f;1d g=0;1j(f=d.1h;g<f;++g)1j(1d l=d[g],k=l[0],p=l[1];++k<p;)if(b.14d(c[k])){1d n={0:k,1:l[1]};l[1]=k;l=l.6k=n}g=0;1j(f=e.1h;g<f;++g){d=e[g];p=l=d[0];k=d[1];1j(1d m=b.14d(c[l]);++p<k;)if(b.14d(c[p]))if(m)n={0:p,1:d[1]},d[1]=p,d=d.6k=n;1s{n=c;m=l;1d t=k;p=k-p;h(n,m,t);h(n,m,m+p);h(n,m+p,t);c[k]=c[l];m=!0;p=l}}1f a},N=1b(a){1b b(a){1d b,c,d;if(c=t.1n(b=h[a[0]])){1d e=0;1j(d=c.1h;e<d;++e){1d f=c[e];a:{1d g=f[0];1d l=a[0];1d k=f[1];if(g-k!==l-a[1])g=!1;1s{1j(;g<=k;++g,++l)if(!ea(h[g],h[l])){g=!1;1W a}g=!0}}if(g){a[0]=f[0];a[1]=f[1];1f}}}if(g=t.1n(f=h[a[1]]))1j(e=0,d=g.1h;e<d;++e){l=g[e];a:{k=l[0];1d p=l[1],n=a[1];if(k-p!==a[0]-n)k=!1;1s{1j(;k<=p;++k,--n)if(!ea(h[k],h[n])){k=!1;1W a}k=!0}}if(k){a[1]=l[0];a[0]=l[1];1f}}c?c.1q(a):t.1C(b,[a]);g?g.1q(a):t.1C(f,[a]);z.1q(a)}1b c(a){1d b,c,g;if(c=t.1n(h[a[0]])){1d l=0;1j(g=c.1h;l<g;++l){1d k=c[l];if(d(k,a)){a[0]=k[0];a[1]=k[1];1f}if(e(k,a)){a[0]=k[1];a[1]=k[0];1f}}}if(c=t.1n(b=h[a[0]+f(a)]))1j(l=0,g=c.1h;l<g;++l){k=c[l];if(d(k,a)){a[0]=k[0];a[1]=k[1];1f}if(e(k,a)){a[0]=k[1];a[1]=k[0];1f}}c?c.1q(a):t.1C(b,[a]);z.1q(a)}1b d(a,b){1d c=a[0],d=b[0],e=a[1]-c;if(e!==b[1]-d)1f!1;a=f(a);b=f(b);1j(1d g=0;g<e;++g)if(!ea(h[c+(g+a)%e],h[d+(g+b)%e]))1f!1;1f!0}1b e(a,b){1d c=a[0],d=b[1],e=a[1]-c;if(e!==d-b[0])1f!1;a=f(a);b=e-f(b);1j(1d g=0;g<e;++g)if(!ea(h[c+(g+a)%e],h[d-(g+b)%e]))1f!1;1f!0}1b f(a){1d b=a[0];a=a[1];1j(1d c=b,d=c,e=h[c];++c<a;){1d f=h[c];if(f[0]<e[0]||f[0]===e[0]&&f[1]<e[1])d=c,e=f}1f d-b}1d h=a.9R,g=a.36L,l,k=a.3vj,p=g.1h+k.1h,n;4Y a.36L;4Y a.3vj;1d m=0;1j(n=g.1h;m<n;++m)1j(l=g[m];l=l.6k;)++p;m=0;1j(n=k.1h;m<n;++m)1j(l=k[m];l=l.6k;)++p;1d t=da(2.8*p,J,ea),z=a.13J=[];m=0;1j(n=g.1h;m<n;++m){l=g[m];do b(l);14p(l=l.6k)}m=0;1j(n=k.1h;m<n;++m)if(l=k[m],l.6k){do b(l);14p(l=l.6k)}1s c(l);1f a},uc=1b(a){1j(1d b=-1,c=a.1h;++b<c;){1j(1d d=a[b],e=0,f=1,h=d.1h,g=d[0],l=g[0],k=g[1],p;++e<h;)if(g=d[e],p=g[0],g=g[1],p!==l||g!==k)d[f++]=[p-l,g-k],l=p,k=g;1===f&&(d[f++]=[0,0]);d.1h=f}1f a},sc=1b(a){1b b(a){if(a&&k.3p(a.1I))k[a.1I](a)}1b c(a){1j(1d b=0,c=a.1h;b<c;++b)l[++f]=a[b];a={0:f-c+1,1:f};h.1q(a);1f a}1b d(a){1j(1d b=0,c=a.1h;b<c;++b)l[++f]=a[b];a={0:f-c+1,1:f};g.1q(a);1f a}1b e(a){1f a.5d(d)}1d f=-1,h=[],g=[],l=[],k={1qx:1b(a){a.1ht.12I(b)},1b1:1b(a){a.13J=c(a.13J)},1hi:1b(a){a.13J=a.13J.5d(c)},14x:1b(a){a.13J=a.13J.5d(d)},1dC:1b(a){a.13J=a.13J.5d(e)}},p;1j(p in a)b(a[p]);1f{1I:"2CX",9R:l,36L:h,3vj:g,1zI:a}},cd=1b(a){1d b={},c;1j(c in a){1d d=c;1d e=a[c];e=1F==e?{1I:1F}:("3vi"===e.1I?g:"19E"===e.1I?k:n)(e);b[d]=e}1f b},mc=1b(a,b,c){1b d(a){1f[1k.9p((a[0]-k)*m),1k.9p((a[1]-p)*t)]}1b e(a,b){1j(1d c=-1,d=0,e=a.1h,f=2K(e),h,g,l,n;++c<e;)if(h=a[c],n=1k.9p((h[0]-k)*m),h=1k.9p((h[1]-p)*t),n!==g||h!==l)f[d++]=[g=n,l=h];1j(f.1h=d;d<b;)d=f.1q([f[0][0],f[0][1]]);1f f}1b f(a){1f e(a,2)}1b h(a){1f e(a,4)}1b g(a){1f a.5d(h)}1b l(a){if(1F!=a&&z.3p(a.1I))z[a.1I](a)}1d k=b[0],p=b[1],n=b[2];b=b[3];1d m=n-k?(c-1)/(n-k):1,t=b-p?(c-1)/(b-p):1,z={1qx:1b(a){a.1ht.12I(l)},18H:1b(a){a.9R=d(a.9R)},1oj:1b(a){a.9R=a.9R.5d(d)},1b1:1b(a){a.13J=f(a.13J)},1hi:1b(a){a.13J=a.13J.5d(f)},14x:1b(a){a.13J=g(a.13J)},1dC:1b(a){a.13J=a.13J.5d(g)}},w;1j(w in a)l(a[w]);1f{3b:[1/m,1/t],11v:[k,p]}},Xb=1b(a){1b b(a){6U(a.1I){1S "1qx":a.1ht.12I(b);1W;1S "1b1":d(a.13J);1W;1S "1hi":a.13J.12I(d);1W;1S "14x":a.13J.12I(d);1W;1S"1dC":a.13J.12I(e)}}1b c(a){0>a&&(a=~a);z[a]||(z[a]=1,++w)}1b d(a){a.12I(c)}1b e(a){a.12I(d)}1b f(a){6U(a.1I){1S "1qx":1d b={1I:"1qx",1ht:a.1ht.5d(f)};1W;1S "1b1":b={1I:"1b1",13J:g(a.13J)};1W;1S "1hi":b={1I:"1hi",13J:a.13J.5d(g)};1W;1S "14x":b={1I:"14x",13J:a.13J.5d(g)};1W;1S "1dC":b={1I:"1dC",13J:a.13J.5d(l)};1W;4T:1f a}1F!=a.id&&(b.id=a.id);1F!=a.1bD&&(b.1bD=a.1bD);1F!=a.5U&&(b.5U=a.5U);1f b}1b h(a){1f 0>a?~z[~a]:z[a]}1b g(a){1f a.5d(h)}1b l(a){1f a.5d(g)}1d k=a.1zI,p={},n=a.13J,m=n.1h,t=-1,z=2K(m),w=0,x,q=-1,r;1j(r in k)b(k[r]);1j(x=2K(w);++t<m;)z[t]&&(z[t]=++q,x[q]=n[t]);1j(r in k)p[r]=f(k[r]);1f{1I:"2CX",1bD:a.1bD,5o:a.5o,1zI:p,13J:x}},ld=1b(a){1b b(a){6U(a.1I){1S "1qx":a.1ht.12I(b);1W;1S"14x":c(a.13J);1W;1S"1dC":a.13J.12I(c)}}1b c(a){1j(1d b=0,c=a.1h;b<c;++b,++e)1j(1d f=a[b],h=0,g=f.1h;h<g;++h){1d l=f[h];0>l&&(l=~l);1d k=d[l];1F==k?d[l]=e:k!==e&&(d[l]=-1)}}1d d=2K(a.13J.1h),e=0,f;1j(f in a.1zI)b(a.1zI[f]);1f 1b(a){1j(1d b=0,c=a.1h,e;b<c;++b)if(-1===d[0>(e=a[b])?~e:e])1f!0;1f!1}},ae=1b(a,b,c){b=1F==b?3a.1Mg:+b;1F==c&&(c=u);1f 1b(d,e){1f c(L(a,{1I:"14x",13J:[d]}).3y.9R[0],e)>=b}},P=1b(){1b a(a,b){1j(;0<b;){1d c=(b+1>>1)-1,e=d[c];if(0<=a[1][2]-e[1][2])1W;d[e.10D=b]=e;d[a.10D=b=c]=a}}1b b(a,b){1j(;;){1d c=b+1<<1,f=c-1,h=b,g=d[h];f<e&&0>d[f][1][2]-g[1][2]&&(g=d[h=f]);c<e&&0>d[c][1][2]-g[1][2]&&(g=d[h=c]);if(h===b)1W;d[g.10D=b]=g;d[a.10D=b=h]=a}}1d c={},d=[],e=0;c.1q=1b(b){a(d[b.10D=e]=b,e++);1f e};c.9l=1b(){if(!(0>=e)){1d a=d[0];if(0<--e){1d c=d[e];b(d[c.10D=0]=c,0)}1f a}};c.3S=1b(c){1d f=c.10D;if(d[f]===c){if(f!==--e){1d h=d[e];(0>h[1][2]-c[1][2]?a:b)(d[h.10D=f]=h,f)}1f f}};1f c};H=1k.PI;1d O=2*H,T=H/4,Q=H/180,Z=1k.abs,X=1k.12B,ba=1k.3i,Y=1k.2T;a.1bD=F;a.7n=L;a.13q=1b(a){1f c(a,d.6c(1a,5m))};a.8H3=d;a.18y=1b(a){1f c(a,f.6c(1a,5m))};a.8H2=f;a.8H1=1b(a){1b b(a,b){a.12I(1b(a){0>a&&(a=~a);1d c=e[a];c?c.1q(b):e[a]=[b]})}1b c(a,c){a.12I(1b(a){b(a,c)})}1b d(a,b){if("1qx"===a.1I)a.1ht.12I(1b(a){d(a,b)});1s if(a.1I in h)h[a.1I](a.13J,b)}1d e={},f=a.5d(1b(){1f[]}),h={1b1:b,1hi:c,14x:c,1dC:1b(a,b){a.12I(1b(a){c(a,b)})}};a.12I(d);1j(1d g in e){a=e[g];1j(1d l=a.1h,k=0;k<l;++k)1j(1d p=k+1;p<l;++p){1d n=a[k],m=a[p],t;(t=f[n])[g=U(t,m)]!==m&&t.6z(g,0,m);(t=f[m])[g=U(t,n)]!==n&&t.6z(g,0,n)}}1f f};a.4oo=1b(a,b){1b c(a){1f k(a)}1b d(a){6U(a.1I){1S"1qx":1d b={1I:"1qx",1ht:a.1ht.5d(d)};1W;1S"18H":b={1I:"18H",9R:k(a.9R)};1W;1S"1oj":b={1I:"1oj",9R:a.9R.5d(c)};1W;4T:1f a}1F!=a.id&&(b.id=a.id);1F!=a.1bD&&(b.1bD=a.1bD);1F!=a.5U&&(b.5U=a.5U);1f b}if(a.5o)1t 6u("1A8 2CZ");if(b&&b.3b)1d e=a.1bD;1s{if(!(2<=(l=1k.2t(b))))1t 6u("n 2Q be \\8H0");e=a.1bD||F(a);b=e[0];1d f=e[1],h=e[2],g=e[3],l;b={3b:[h-b?(h-b)/(l-1):1,g-f?(g-f)/(l-1):1],11v:[b,f]}}1d k=R(b),p;f=a.1zI;h={};1j(p in f)h[p]=d(f[p]);1f{1I:"2CX",1bD:e,5o:b,1zI:h,13J:a.13J.5d(1b(a){1d b=0,c=1,d=a.1h,e,f=2K(d);1j(f[0]=k(a[0],0);++b<d;)if((e=k(a[b],b))[0]||e[1])f[c++]=e;1===c&&(f[c++]=[0,0]);f.1h=c;1f f})}};a.5o=E;a.8GZ=R;a.8GY=1b(a,b){1b c(a){if(a&&k.3p(a.1I))k[a.1I](a)}1b d(a){1d b=[];do{1d c=l.1n(a);b.1q(a[0]<a[1]?c:~c)}14p(a=a.6k);1f b}1b e(a){1f a.5d(d)}1d f=V(a=cd(a));b=0<b&&f&&mc(a,f,b);1d h=N(Ob(sc(a))),g=h.9R,l=da(1.4*h.13J.1h,m,w);a=h.1zI;h.1bD=f;h.13J=h.13J.5d(1b(a,b){l.1C(a,b);1f g.4h(a[0],a[1]+1)});4Y h.9R;g=1F;1d k={1qx:1b(a){a.1ht.12I(c)},1b1:1b(a){a.13J=d(a.13J)},1hi:1b(a){a.13J=a.13J.5d(d)},14x:1b(a){a.13J=a.13J.5d(d)},1dC:1b(a){a.13J=a.13J.5d(e)}},p;1j(p in a)c(a[p]);b&&(h.5o=b,h.13J=uc(h.13J));1f h};a.14O=1b(a,b){1b c(a){6U(a.1I){1S "14x":1d b=(b=d(a.13J))?{1I:"14x",13J:b}:{1I:1F};1W;1S "1dC":b=a.13J.5d(d).14O(q);b=b.1h?{1I:"1dC",13J:b}:{1I:1F};1W;1S "1qx":b=a.1ht.5d(c).14O(t);b=b.1h?{1I:"1qx",1ht:b}:{1I:1F};1W;4T:1f a}1F!=a.id&&(b.id=a.id);1F!=a.1bD&&(b.1bD=a.1bD);1F!=a.5U&&(b.5U=a.5U);1f b}1b d(a){1f a.1h&&b(a[0],!1)?[a[0]].9V(a.4h(1).14O(e)):1F}1b e(a){1f b(a,!0)}1d f=a.1zI,h={},g;1F==b&&(b=x);1j(g in f)h[g]=c(f[g]);1f Xb({1I:"2CX",1bD:a.1bD,5o:a.5o,1zI:h,13J:a.13J})};a.8GX=ld;a.8GW=1b(a,b,c){1d d=ld(a),e=ae(a,b,c);1f 1b(a,b){1f d(a,b)||e(a,b)}};a.8GV=ae;a.8GU=u;a.8GT=r;a.8GS=1b(a,b){1b c(a){e.3S(a);a[1][2]=b(a);e.1q(a)}1d d=a.5o?E(a.5o):v,e=P();1F==b&&(b=r);1d f=a.13J.5d(1b(a){1d f=[],h=0,g;a=a.5d(d);1d l=1;1j(g=a.1h-1;l<g;++l){1d k=[a[l-1],a[l],a[l+1]];k[1][2]=b(k);f.1q(k);e.1q(k)}a[0][2]=a[g][2]=12g;l=0;1j(g=f.1h;l<g;++l)k=f[l],k.18d=f[l-1],k.6k=f[l+1];1j(;k=e.9l();)f=k.18d,l=k.6k,k[1][2]<h?k[1][2]=h:h=k[1][2],f&&(f.6k=l,f[2]=k[2],c(f)),l&&(l.18d=f,l[0]=k[0],c(l));1f a});1f{1I:"2CX",1bD:a.1bD,1zI:a.1zI,13J:f}};a.8GR=1b(a,b){1d c=[];a.13J.12I(1b(a){a.12I(1b(a){1AJ(a[2])&&c.1q(a[2])})});1f c.1h&&y(c.15F(A),b)};a.1m5=1b(a,b){b=1F==b?3a.1Mg:+b;1d c=a.13J.5d(1b(a){1j(1d c=-1,d=0,e=a.1h,f=2K(e),h;++c<e;)(h=a[c])[2]>=b&&(f[d++]=[h[0],h[1]]);f.1h=d;1f f});1f{1I:"2CX",5o:a.5o,1bD:a.1bD,1zI:a.1zI,13J:c}};a.8GQ=1b(a,b){a=B(a,!0);b&&(a*=-1);1f 2*(0>a?O+a:a)};a.8GP=1b(a){1f 2*Z(B(a,!1))};1L.12U(a,"4fb",{1Q:!0})});1d b8=4Ml.3eM,VR={"64u:64t:64s:29s:8GO:1.3:8GN":nI,"1pY:1zf":nI,"64u:64t:64s:29s:1pY::1zf":nI},d8={},e8={},sX=48,tX,uX=y.64r,vX=y.1Zs,wX=2,xX=y.2CY(255,255,0,100),yX=!1,64q={3uw:24,64p:48,3lE:64},64o="17s 16G 1H5-4V 1H5-1ap 1H5-1A 15n 15n-7z 15n-1G 4K 4K-7z".7g(" "),c8={19E:P7,3vi:1b(a,b,c,d,e){b=b.1jG;c=0;1j(1d f=b.1h;c<f;c++)P7(a,b[c],1p 0,d,e)},1qx:R7,1b1:W7,1hi:X7,1oj:U7,1dC:$7,18H:T7,14x:Z7,2CX:a8},Q7={1qx:R7,1b1:W7,1hi:X7,1oj:U7,1dC:$7,18H:T7,14x:Z7,2CX:a8};vs.1e4=1b(a,b){1f(1g vs).1e4(a,b)};1L.2X(vs,{38x:{1n:1b(){1f sX},1C:1b(a){sX=a}},44q:{1n:1b(){1f tX},1C:1b(a){tX=a}},44p:{1n:1b(){1f uX},1C:1b(a){uX=a}},15n:{1n:1b(){1f vX},1C:1b(a){vX=a}},2IU:{1n:1b(){1f wX},1C:1b(a){wX=a}},4K:{1n:1b(){1f xX},1C:1b(a){xX=a}},1d7:{1n:1b(){1f yX},1C:1b(a){yX=a}},8GM:{1n:1b(){1f VR}},8GL:{1n:1b(){1f d8}},8GK:{1n:1b(){1f e8}}});1L.2X(vs.1i,{2i:{1n:1b(){1f 1a.6X},1C:1b(a){1a.6X!==a&&(1a.6X=a,1a.1lt.5k(1a))}},14c:{1Q:1p 0,31n:!1},13K:{1n:1b(){1f 1a.17l}},39m:{1n:1b(){1f 1a.2hC}},2dv:{1n:1b(){1f 1a.1lt}},1cG:{1n:1b(){1f 1a.1vN}},2OR:{1n:1b(){1f 1a.1R4}},2p:{1n:1b(){1f 1a.17l.2p},1C:1b(a){1a.17l.2p=a}},2hB:{1n:1b(){1f 1a.23b},1C:1b(a){if(!g(a))1t 1g r("1Q 2Q be 2l.");1a.23b=a}},9L:{1n:1b(){1f 1a.1dh}}});vs.1i.1e4=1b(a,b){if(!g(a))1t 1g r("2g is 1X.");ih.1No(1a,!0);b=m(b,m.4Z);1d c=b.9L;"4n"===2h c&&(c=1g Zb(c));1a.1dh=c;c=a;1d d=b.2CQ;if("4n"===2h a||a 2m na){a=na.14m(a);c=a.1vs();d=m(d,a.1oO());1d e=1a.2P1;a=a.1mn;if(g(a))1j(1d f=a.1h,h=0;h<f;h++)e.1q(a[h])}b={39C:m(b.39C,64n),38x:m(b.38x,sX),44q:m(b.44q,tX),44p:m(b.44p,uX),4Mk:1g od(m(b.2IU,wX)),44o:1g cc(m(b.15n,vX)),1lE:1g cc(m(b.4K,xX)),1d7:m(b.1d7,yX)};1d l=1a;1f Z(c,1b(a){1f 64m(l,a,b,d)}).10g(1b(a){ih.1No(l,!1);l.1vN.5k(l,a);11l.7k(a);1f Z.7N(a)})};1d $ja={};(1b(a,b){a.4ja=b()})($ja,1b(){1b a(a,b){if(2K.1i.3f)1f a.3f(b);1j(1d c=0,d=a.1h;c<d;c++)if(a[c]===b)1f c;1f-1}1b b(a,b){1j(1d c=a.1h-1;0<=c;c--)!0===b(a[c])&&a.6z(c,1)}1b c(a,b){if(!b.1ii)1t 6u("`8GJ` 2Q 118 1Z \'g\' 4p8 1C");1j(1d c=[],d=0,e;e=b.1f4(a);)c.1q(a.11c(d,e.2P)),c.1q(e[0]),d=e.2P+e[0].1h;c.1q(a.11c(d));1f c}1b d(a){1t 6u("4Mj 1S 1j 1Q: \'"+a+"\'");}1b e(a,b,c){if(1F==c){c="&4Mh;";1d d=3;1d e=8}1s e=d=c.1h;1d f=1b(a){1d b="";a.1c2&&a.1H7&&(b+=a.1c2+"://");a.1H7&&(b+=a.1H7);a.9w&&(b+="/"+a.9w);a.16H&&(b+="?"+a.16H);a.1fo&&(b+="#"+a.1fo);1f b},h=1b(a,b){1d d=b/2;b=1k.8a(d);d=-1*1k.2t(d);1d e="";0>d&&(e=a.13c(d));1f a.13c(0,b)+c+e};if(a.1h<=b)1f a;1d g=b-d,l=1b(a){1d b={},c=a.141(/^([a-z]+):\\/\\//i);c&&(b.1c2=c[1],a=a.13c(c[0].1h));if(c=a.141(/^(.*?)(?=(\\?|#|\\/|$))/i))b.1H7=c[1],a=a.13c(c[0].1h);if(c=a.141(/^\\/(.*?)(?=(\\?|#|$))/i))b.9w=c[1],a=a.13c(c[0].1h);if(c=a.141(/^\\?(.*?)(?=(#|$))/i))b.16H=c[1],a=a.13c(c[0].1h);if(c=a.141(/^#(.*?)$/i))b.1fo=c[1];1f b}(a);if(l.16H){1d k=l.16H.141(/^(.*?)(?=(\\?|#))(.*?)$/i);k&&(l.16H=l.16H.13c(0,k[1].1h),a=f(l))}if(a.1h<=b)1f a;l.1H7&&(l.1H7=l.1H7.3X(/^10y\\./,""),a=f(l));if(a.1h<=b)1f a;a="";l.1H7&&(a+=l.1H7);if(a.1h>=g)1f l.1H7.1h==b?(l.1H7.13c(0,b-d)+c).13c(0,g+e):h(a,g).13c(0,g+e);d="";l.9w&&(d+="/"+l.9w);l.16H&&(d+="?"+l.16H);if(d){if((a+d).1h>=g)1f(a+d).1h==b?(a+d).13c(0,b):(a+h(d,g-a.1h)).13c(0,g+e);a+=d}if(l.1fo){d="#"+l.1fo;if((a+d).1h>=g)1f(a+d).1h==b?(a+d).13c(0,b):(a+h(d,g-a.1h)).13c(0,g+e);a+=d}if(l.1c2&&l.1H7&&(h=l.1c2+"://",(a+h).1h<g))1f(h+a).13c(0,b);if(a.1h<=b)1f a;b="";0<g&&(b=a.13c(-1*1k.2t(g/2)));1f(a.13c(0,1k.8a(g/2))+c+b).13c(0,g+e)}1b f(a,b){1b c(){1a.7m=a}m(a,b);a.1i=1F===b?1L.6F(b):(c.1i=b.1i,1g c)}1b h(a,b){1b c(a){"!"===a?da=13:"/"===a?(da=2,Xb=1g cd(w({},Xb,{39u:!0}))):"<"===a?u():y.6S(a)?(da=3,Xb=1g cd(w({},Xb,{43Y:!0}))):(da=0,Xb=W)}1b e(a){B.6S(a)?(Xb=1g cd(w({},Xb,{2i:G()})),da=4):"<"===a?u():"/"===a?(Xb=1g cd(w({},Xb,{2i:G()})),da=12):">"===a?(Xb=1g cd(w({},Xb,{2i:G()})),D()):y.6S(a)||A.6S(a)||":"===a||r()}1b f(a){">"===a?r():y.6S(a)?da=3:r()}1b h(a){B.6S(a)||("/"===a?da=12:">"===a?D():"<"===a?u():"="===a||C.6S(a)||E.6S(a)?r():da=5)}1b g(a){B.6S(a)?da=6:"/"===a?da=12:"="===a?da=7:">"===a?D():"<"===a?u():C.6S(a)&&r()}1b l(a){B.6S(a)||("/"===a?da=12:"="===a?da=7:">"===a?D():"<"===a?u():C.6S(a)?r():da=5)}1b k(a){B.6S(a)||(\'"\'===a?da=8:"\'"===a?da=9:/[>=`]/.6S(a)?r():"<"===a?u():da=10)}1b p(a){B.6S(a)?da=4:">"===a?D():"<"===a&&u()}1b n(a){B.6S(a)?da=4:"/"===a?da=12:">"===a?D():"<"===a?u():(da=4,K--)}1b m(a){"-"===a?da=15:">"===a?r():da=16}1b t(a){"-"===a?da=18:">"===a?r():da=16}1b z(a){">"===a?D():"!"===a?da=19:"-"!==a&&(da=16)}1b x(a){"-"===a?da=17:">"===a?D():da=16}1b q(a){">"===a?D():"<"===a&&u()}1b r(){da=0;Xb=W}1b u(){da=1;Xb=1g cd({1Kc:K})}1b D(){1d b=a.4h(mc,Xb.1Kc);b&&oa(b,mc);"1G8"===Xb.1I?V(Xb.1Kc):"64l"===Xb.1I?ka(Xb.1Kc):(Xb.43Y&&R(Xb.2i,Xb.1Kc),Xb.39u&&aa(Xb.2i,Xb.1Kc));r();mc=K+1}1b v(){1d b=a.4h(mc,K);oa(b,mc);mc=K+1}1b G(){1f a.4h(Xb.1Kc+(Xb.39u?2:1),K).18v()}1d R=b.62H,aa=b.62E,oa=b.62G,V=b.62D,ka=b.62C,W=1g cd,K=0;b=a.1h;1j(1d da=0,mc=0,Xb=W;K<b;){1d L=a.1as(K);6U(da){1S 0:"<"===L&&u();1W;1S 1:c(L);1W;1S 2:f(L);1W;1S 3:e(L);1W;1S 4:h(L);1W;1S 5:g(L);1W;1S 6:l(L);1W;1S 7:k(L);1W;1S 8:\'"\'===L&&(da=11);1W;1S 9:"\'"===L&&(da=11);1W;1S 10:p(L);1W;1S 11:n(L);1W;1S 12:">"===L?(Xb=1g cd(w({},Xb,{39u:!0})),D()):da=4;1W;1S 13:"--"===a.13c(K,2)?(K+=2,Xb=1g cd(w({},Xb,{1I:"1G8"})),da=14):"8GI"===a.13c(K,7).1G9()?(K+=7,Xb=1g cd(w({},Xb,{1I:"64l"})),da=20):r();1W;1S 14:m(L);1W;1S 15:t(L);1W;1S 16:"-"===L&&(da=17);1W;1S 17:da="-"===L?18:16;1W;1S 18:z(L);1W;1S 19:x(L);1W;1S 20:q(L);1W;4T:d(da)}K++}mc<K&&v()}1d g=1b(){1b b(a){1p 0===a&&(a={});1a.12J="";1a.2oo={};1a.1dd="";1a.4Mi=/\\s+/;1a.12J=a.12J||"";1a.2oo=a.2oo||{};1a.1dd=a.64e||a.1dd||""}b.1i.8GH=1b(a){1a.12J=a;1f 1a};b.1i.64h=1b(){1f 1a.12J||""};b.1i.64k=1b(a,b){1a.2CW()[a]=b;1f 1a};b.1i.8GG=1b(a){1f 1a.2CW()[a]};b.1i.8GF=1b(a){1L.1AU(1a.2CW(),a);1f 1a};b.1i.2CW=1b(){1f 1a.2oo||(1a.2oo={})};b.1i.8GE=1b(a){1f 1a.64k("11F",a)};b.1i.8GD=1b(b){1d c=1a.44n(),d=1a.4Mi;c=c?c.7g(d):[];1j(b=b.7g(d);d=b.1hN();)-1===a(c,d)&&c.1q(d);1a.2CW()["11F"]=c.14G(" ");1f 1a};b.1i.8GC=1b(b){1d c=1a.44n(),d=1a.4Mi;c=c?c.7g(d):[];b=b.7g(d);1j(1d e;c.1h&&(e=b.1hN());)d=a(c,e),-1!==d&&c.6z(d,1);1a.2CW()["11F"]=c.14G(" ");1f 1a};b.1i.44n=1b(){1f 1a.2CW()["11F"]||""};b.1i.8GB=1b(a){1f-1!==(" "+1a.44n()+" ").3f(" "+a+" ")};b.1i.64j=1b(a){1a.1dd=a;1f 1a};b.1i.8GA=1b(a){1f 1a.64j(a)};b.1i.64i=1b(){1f 1a.1dd||""};b.1i.64g=1b(){1f 1a.64i()};b.1i.4LL=1b(){1d a=1a.64h(),b=1a.64f();1f["<",a,b?" "+b:"",">",1a.64g(),"</",a,">"].14G("")};b.1i.64f=1b(){if(!1a.2oo)1f"";1d a=1a.2CW(),b=[],c;1j(c in a)a.3p(c)&&b.1q(c+\'="\'+a[c]+\'"\');1f b.14G(" ")};1f b}(),k=1b(){1b a(a){1p 0===a&&(a={});1a.29r=!1;1a.23c={};1a.8k="";1a.29r=a.29r||!1;1a.23c=a.23c||{};1a.8k=a.8k||""}a.1i.1x4=1b(a){1f 1g g({12J:"a",2oo:1a.64d(a),64e:1a.64b(a.2OZ())})};a.1i.64d=1b(a){1d b={17S:a.2P0()},c=1a.64c(a);c&&(b["11F"]=c);1a.29r&&(b.15s="44m",b.39B="8Gz 8Gy");1a.23c&&1a.23c.1h&&1a.23c.1h<a.2OZ().1h&&(b.17s=a.2P0());1f b};a.1i.64c=1b(a){1d b=1a.8k;if(b){1d c=[b];a=a.44l();1j(1d d=0,e=a.1h;d<e;d++)c.1q(b+"-"+a[d]);1f c.14G(" ")}1f""};a.1i.64b=1b(a){1f a=1a.64a(a)};a.1i.64a=1b(a){1d b=1a.23c;if(!b||!b.1h)1f a;1d c=b.1h;b=b.17J;if("63G"===b)1f e(a,c);if("1y1"===b){b=1p 0;if(a.1h<=c)c=a;1s{if(1F==b){b="&4Mh;";1d d=8;1d f=3}1s f=d=b.1h;c-=f;f="";0<c&&(f=a.13c(-1*1k.2t(c/2)));c=(a.13c(0,1k.8a(c/2))+b+f).13c(0,c+d)}1f c}b=1p 0;a.1h>c&&(1F==b?(b="&4Mh;",d=3):d=b.1h,a=a.11c(0,c-d)+b);1f a};1f a}(),n=1b(){1b a(a){1a.63U=1F;1a.2hF="";1a.2M=0;1a.1u8=a.1u8;1a.2hF=a.2hF;1a.2M=a.2M}a.1i.39s=1b(){1f 1a.2hF};a.1i.62x=1b(a){1a.2M=a};a.1i.2q7=1b(){1f 1a.2M};a.1i.44l=1b(){1f[1a.1bu()]};a.1i.62v=1b(){1f 1a.1u8.1x4(1a)};1f a}(),m=1b(a,b){m=1L.26P||{14Y:[]}2m 2K&&1b(a,b){a.14Y=b}||1b(a,b){1j(1d c in b)b.3p(c)&&(a[c]=b[c])};1f m(a,b)},w=1b(){w=1L.1AU||1b(a){1j(1d b,c=1,d=5m.1h;c<d;c++){b=5m[c];1j(1d e in b)1L.1i.3p.4G(b,e)&&(a[e]=b[e])}1f a};1f w.6c(1a,5m)},x=1b(a){1b b(b){1d c=a.4G(1a,b)||1a;c.1zM="";c.1zM=b.1zM;1f c}f(b,a);b.1i.1bu=1b(){1f"1zM"};b.1i.8Gx=1b(){1f 1a.1zM};b.1i.2P0=1b(){1f"649:"+1a.1zM};b.1i.2OZ=1b(){1f 1a.1zM};1f b}(n),q=1b(a){1b b(b){1d c=a.4G(1a,b)||1a;c.1sM="";c.1zO="";c.1sM=b.1sM;c.1zO=b.1zO;1f c}f(b,a);b.1i.1bu=1b(){1f"1zO"};b.1i.4Mg=1b(){1f 1a.1sM};b.1i.8Gw=1b(){1f 1a.1zO};b.1i.2P0=1b(){1d a=1a.1sM,b=1a.1zO;6U(a){1S"2hE":1f"1bU://2hE.11Y/1zO/"+b;1S"4LN":1f"1bU://10y.4LN.11Y/1zO/"+b;1S"2OW":1f"1bU://2OW.11Y/8Gv/8Gu/"+b;4T:1t 6u("1jJ 2mx 2i to 7v 1zO to: "+a);}};b.1i.2OZ=1b(){1f"#"+1a.1zO};1f b}(n),t=1b(a){1b b(b){1d c=a.4G(1a,b)||1a;c.1sM="2hE";c.1zN="";c.1zN=b.1zN;c.1sM=b.1sM;1f c}f(b,a);b.1i.1bu=1b(){1f"1zN"};b.1i.8Gt=1b(){1f 1a.1zN};b.1i.4Mg=1b(){1f 1a.1sM};b.1i.2P0=1b(){6U(1a.1sM){1S"2hE":1f"1bU://2hE.11Y/"+1a.1zN;1S"2OW":1f"1bU://2OW.11Y/"+1a.1zN;1S"43X":1f"1bU://43X.11Y/"+1a.1zN;4T:1t 6u("1jJ 2mx 2i to 7v 1zN to: "+1a.1sM);}};b.1i.2OZ=1b(){1f"@"+1a.1zN};b.1i.44l=1b(){1d b=a.1i.44l.4G(1a),c=1a.4Mg();c&&b.1q(c);1f b};1f b}(n),r=1b(a){1b b(b){1d c=a.4G(1a,b)||1a;c.2b="";c.3v9=!1;c.2b=b.2b;c.3v9=b.3v9;1f c}f(b,a);b.1i.1bu=1b(){1f"2q8"};b.1i.648=1b(){1f 1a.2b};b.1i.8Gs=1b(){1f 1a.648()};b.1i.2P0=1b(){1f"44d:"+(1a.3v9?"+":"")+1a.2b};b.1i.2OZ=1b(){1f 1a.2hF};1f b}(n),u=1b(a){1b b(b){1d c=a.4G(1a,b)||1a;c.2I="";c.3vb="1c2";c.39q=!1;c.39w=!1;c.1K9={1c2:!0,10y:!0};c.1Kb=!0;c.1Ka=!0;c.645=/^(1bU?:\\/\\/)?/i;c.640=/^(1bU?:\\/\\/)?(10y\\.)?/i;c.63Y=/^\\/\\//;c.4Mf=!1;c.3vb=b.3vb;c.2I=b.2I;c.39q=b.39q;c.39w=b.39w;c.1K9=b.1K9;c.1Kb=b.1Kb;c.1Ka=b.1Ka;1f c}f(b,a);b.1i.1bu=1b(){1f"2I"};b.1i.43W=1b(){1f 1a.3vb};b.1i.647=1b(){1d a=1a.2I;1a.39w||1a.39q||1a.4Mf||(a=1a.2I="10R://"+a,1a.4Mf=!0);1f a};b.1i.2P0=1b(){1f 1a.647().3X(/&amp;/g,"&")};b.1i.2OZ=1b(){1d a=1a.39s();1a.39w&&(a=1a.63Z(a));1a.1K9.1c2&&(a=1a.646(a));1a.1K9.10y&&(a=1a.644(a));1a.1Kb&&(a=1a.63W(a));1a.1Ka&&(a=1a.63V(a));1f a};b.1i.646=1b(a){1f a.3X(1a.645,"")};b.1i.644=1b(a){1f a.3X(1a.640,"$1")};b.1i.63Z=1b(a){1f a.3X(1a.63Y,"")};b.1i.63W=1b(a){"/"===a.1as(a.1h-1)&&(a=a.4h(0,-1));1f a};b.1i.63V=1b(a){a=a.3X(/%22/gi,"&62F;").3X(/%26/gi,"&amp;").3X(/%27/gi,"&#39;").3X(/%3C/gi,"&lt;").3X(/%3E/gi,"&gt;");10G{1f 2OY(a)}11B(ae){1f a}};1f b}(n),v=1b(){1f 1b(a){1a.63U=1F;1a.1u8=a.1u8}}(),y=/[A-Za-z]/,A=/[0-9]/,B=/\\s/,C=/[\'"]/,E=/[\\1Ke-\\8Gr\\8Gq]/,F=/A-Za-z\\8Gp\\8Go\\8Gn\\8Gm-\\8Gl\\8Gk-\\8Gj\\8Gi-\\8Gh\\8Gg-\\8Gf\\8Ge-\\8Gd\\8Gc\\8Gb\\8Ga-\\8G9\\8G8\\8G7\\8G6-\\8G5\\8G4\\8G3\\8G2-\\8G1\\8G0\\8FZ-\\8FY\\8FX-\\8FW\\8FV-\\8FU\\8FT-\\8FS\\8FR-\\8FQ\\8FP\\63o-\\8FO\\8FN-\\8FM\\8FL-\\8FK\\8FJ-\\8FI\\8FH\\8FG\\8FF-\\8FE\\8FD\\8FC\\8FB\\8FA\\8Fz\\8Fy-\\8Fx\\8Fw\\8Fv\\8Fu-\\8Ft\\8Fs-\\8Fr\\8Fq\\8Fp-\\8Fo\\8Fn\\8Fm\\8Fl\\8Fk-\\8Fj\\8Fi\\8Fh\\8Fg\\8Ff-\\8Fe\\8Fd-\\8Fc\\8Fb-\\8Fa\\8F9-\\8F8\\8F7\\8F6\\8F5-\\8F4\\8F3-\\8F2\\8F1-\\8F0\\8EZ\\8EY\\8EX-\\8EW\\8EV-\\8EU\\8ET\\8ES-\\8ER\\8EQ\\8EP\\8EO\\8EN\\8EM-\\8EL\\8EK\\8EJ\\8EI-\\8EH\\8EG\\8EF\\8EE-\\8ED\\8EC-\\8EB\\8EA\\8Ez\\8Ey\\8Ex\\8Ew\\8Ev\\8Eu-\\8Et\\8Es\\8Er-\\8Eq\\8Ep-\\8Eo\\8En-\\8Em\\8El-\\8Ek\\8Ej-\\8Ei\\8Eh\\8Eg\\8Ef-\\8Ee\\8Ed\\8Ec\\8Eb\\8Ea\\8E9\\8E8-\\8E7\\8E2\\8E1\\8E0-\\8DZ\\8DY-\\8DX\\8DW\\8DV\\8DU-\\8DT\\8DS\\8DR\\8DQ\\8DP-\\8DO\\8DN\\8DM\\8DL-\\8DK\\8DJ-\\8DI\\8DH-\\8DG\\8DF\\8DE\\8DD\\8DC\\8DB\\8DA\\8Dz\\8Dy-\\8Dx\\8Dw-\\8Dv\\8Du\\8Dt-\\8Ds\\8Dr-\\8Dq\\8Dp-\\8Do\\8Dn-\\8Dm\\8Dl\\8Dk-\\8Dj\\8Di\\8Dh\\8Dg\\8Df-\\8De\\8Dd-\\8Dc\\8Db-\\8Da\\8D9-\\8D8\\8D7-\\8D6\\8D5\\8D4\\8D3\\8D2\\8D1\\8D0\\8CZ-\\8CY\\8CX-\\8CW\\8CV-\\8CU\\8CT\\8CS\\8CR-\\8CQ\\8CP-\\8CO\\8CN-\\8CM\\8CL-\\8CK\\8CJ-\\8CI\\8CH-\\8CG\\8CF\\8CE-\\8CD\\8CC-\\8CB\\8CA\\8Cz\\8Cy-\\8Cx\\8Cw\\8Cv\\8Cu\\8Ct\\8Cs\\8Cr\\8Cq\\8Cp-\\8Co\\8Cn-\\8Cm\\8Cl-\\8Ck\\8Cj\\8Ci\\8Ch\\8Cg\\8Cf-\\8Ce\\8Cd\\8Cc\\8Cb\\8Ca-\\8C9\\8C8\\8C7-\\8C6\\8C5\\8C4-\\8C3\\8C2-\\8C1\\8C0-\\8BZ\\8BY-\\8BX\\8BW\\8BV-\\8BU\\8BT-\\8BS\\8BR\\8BQ\\8BP\\8BO-\\8BN\\8BM-\\8BL\\8BK\\8BJ-\\8BI\\8BH\\8BG\\8BF-\\8BE\\8BD-\\8BC\\8BB-\\8BA\\8Bz-\\8By\\8Bx\\8Bw-\\8Bv\\8Bu-\\8Bt\\8Bs-\\8Br\\8Bq-\\8Bp\\8Bo-\\8Bn\\8Bm-\\8Bl\\8Bk\\8Bj-\\8Bi\\8Bh-\\8Bg\\8Bf-\\8Be\\8Bd-\\8Bc\\8Bb-\\8Ba\\8B9-\\8B8\\8B7-\\8B6\\8B5-\\8B4\\8B3-\\8B2\\8B1-\\8B0\\8AZ-\\8AY\\8AX-\\8AW\\8AV-\\8AU\\8AT-\\8AS\\8AR-\\8AQ\\8AP-\\8AO\\8AN-\\8AM\\8AL-\\8AK\\8AJ-\\8AI\\8AH-\\8AG\\8AF\\8AE\\8AD-\\8AC\\8AB-\\8AA\\8Az-\\8Ay\\8Ax\\8Aw-\\8Av\\8Au-\\8At\\8As-\\8Ar\\8Aq-\\8Ap\\8Ao-\\8An\\8Am-\\8Al\\8Ak-\\8Aj\\8Ai-\\8Ah\\8Ag\\8Af-\\8Ae\\8Ad-\\8Ac\\8Ab-\\8Aa\\8A9\\8A8\\8A7-\\8A6\\8A5-\\8A4\\8A3-\\8A2\\8A1-\\8A0\\8zZ-\\8zY\\8zX-\\8zW\\8zV-\\8zU\\8zT\\8zS\\8zR-\\8zQ\\8zP-\\8zO\\8zN-\\8zM\\8zL-\\8zK\\8zJ-\\8zI\\8zH-\\8zG\\8zF\\8zE\\8zD\\8zC-\\8zB\\8zA-\\8zz\\8zy-\\8zx\\8zw\\8zv-\\8zu\\8zt-\\8zs\\8zr-\\8zq\\8zp-\\8zo\\8zn-\\8zm\\8zl-\\8zk\\8zj-\\8zi\\8zh\\8zg\\8zf-\\8ze\\8zd\\8zc\\8zb-\\8za\\8z9\\8z8-\\8z7\\8z6\\8z5\\8z4\\8z3-\\8z2\\8z1-\\8z0\\8yZ-\\8yY\\8yX-\\8yW\\8yV\\8yU\\8yT\\8yS-\\8yR\\8yQ-\\8yP\\8yO-\\8yN\\8yM-\\8yL\\8yK\\8yJ\\8yI-\\8yH\\8yG\\8yF\\8yE-\\8yD\\8yC\\8yB-\\8yA\\8yz-\\8yy\\8yx-\\8yw\\8yv-\\8yu\\8yt-\\8ys\\8yr-\\8yq\\8yp-\\8yo\\8yn-\\8ym\\8yl-\\8yk\\8yj\\8yi\\8yh\\8yg-\\8yf\\8ye\\8yd\\8yc-\\8yb\\8ya-\\8y9\\8y8-\\8y7\\8y6-\\8y5\\8y4-\\8y3\\8y2-\\8y1\\8y0-\\8xZ\\8xY-\\8xX\\8xW-\\8xV\\8xU-\\8xT\\8xS-\\8xR\\8xQ-\\8xP\\8xO-\\8xN\\8xM-\\8xL\\8xK\\8xJ\\8xI-\\8xH\\8xG-\\8xF\\8xE-\\8xD\\8xC-\\8xB\\8xA-\\8xz\\8xy-\\8xx\\8xw-\\8xv\\8xu-\\8xt\\8xs-\\8xr\\8xq-\\8xp\\8xo-\\8xn\\8xm-\\8xl\\8xk-\\8xj\\8xi-\\8xh\\8xg\\8xf\\8xe-\\8xd\\8xc-\\8xb\\8xa-\\8x9\\8x8-\\8x7\\8x6\\8x5-\\8x4\\8x3-\\8x2\\8x1-\\8x0\\8wZ-\\8wY\\8wX-\\8wW\\8wV-\\8wU\\8wT-\\8wS\\8wR\\8wQ-\\8wP\\8wO\\8wN\\8wM\\8wL-\\8wK\\8wJ\\8wI\\8wH-\\8wG\\8wF-\\8wE\\8wD-\\8wC\\8wB-\\8wA\\8wz-\\8wy\\8wx-\\8ww\\8wv-\\8wu\\8wt-\\8ws\\8wr-\\8wq\\8wp-\\8wo\\8wn-\\8wm\\8wl-\\8wk\\8wj-\\8wi\\8wh-\\8wg\\8wf-\\8we\\8wd-\\8wc\\8wb-\\8wa\\8w9-\\8w8\\8w7\\8w6-\\8w5\\8w4-\\8w3\\8w2-\\8w1\\8w0\\8vZ\\8vY\\8vX\\8vW\\8vV-\\8vU\\8vT-\\8vS\\8vR-\\8vQ\\8vP-\\8vO\\8vN-\\8vM\\8vL-\\8vK\\8vJ-\\8vI\\8vH-\\8vG\\8vF-\\8vE\\8vD-\\8vC\\8vB-\\8vA\\8vz-\\8vy\\8vx-\\8vw\\8vv-\\8vu/.5j,L=F+/\\2CV\\4Me\\63T-\\8vt\\8vs\\4Md-\\4Mc\\8vr\\4Md-\\4Mc\\8vq\\4Md-\\4Mc/.5j+/\\8vp-\\8vo\\8vn-\\8vm\\8vl-\\8vk\\8vj\\8vi\\8vh\\8vg\\8vf\\8ve\\8vd-\\8vc\\8vb-\\8va\\8v9\\8v8-\\8v7\\8v6-\\8v5\\8v4\\8v3\\8v2-\\8v1\\8v0\\8uZ-\\8uY\\8uX-\\8uW\\8uV-\\8uU\\8uT-\\8uS\\8uR-\\8uQ\\8uP-\\8uO\\8uN-\\8uM\\8uL-\\8uK\\8uJ-\\8uI\\8uH-\\8uG\\8uF-\\8uE\\8uD-\\8uC\\8uB-\\8uA\\8uz\\8uy\\8ux-\\8uw\\8uv\\8uu-\\8ut\\8us\\8ur\\8uq-\\8up\\8uo\\8un\\8um\\8ul-\\8uk\\8uj\\8ui-\\8uh\\8ug\\8uf\\8ue-\\8ud\\8uc\\8ub\\8ua\\8u9\\8u8-\\8u7\\8u6\\8u5-\\8u4\\8u3-\\8u2\\8u1-\\8u0\\8tZ\\8tY\\8tX-\\8tW\\8tV\\8tU-\\8tT\\8tS\\8tR\\8tQ-\\8tP\\8tO\\8tN\\8tM\\8tL\\8tK\\8tJ-\\8tI\\8tH-\\8tG\\8tF-\\8tE\\8tD\\8tC-\\8tB\\8tA-\\8tz\\8ty-\\8tx\\8tw-\\8tv\\8tu\\8tt\\8ts\\8tr\\8tq-\\8tp\\8to\\8tn-\\8tm\\8tl-\\8tk\\8tj-\\8ti\\8th\\8tg\\8tf\\8te\\8td-\\8tc\\8tb-\\8ta\\8t9-\\8t8\\8t7-\\8t6\\8t5\\8t4\\8t3\\8t2\\8t1\\8t0\\8sZ-\\8sY\\8sX\\8sW-\\8sV\\8sU\\8sT\\8sS\\8sR-\\8sQ\\8sP-\\8sO\\8sN\\8sM-\\8sL\\8sK\\8sJ\\8sI-\\8sH\\8sG\\8sF\\8sE\\8sD\\8sC\\8sB\\8sA\\8sz-\\8sy\\8sx\\8sw\\8sv-\\8su\\8st-\\8ss\\8sr\\8sq-\\8sp\\8so-\\8sn\\8sm-\\8sl\\8sk-\\8sj\\8si-\\8sh\\8sg-\\8sf\\8se-\\8sd\\8sc\\8sb-\\8sa\\8s9-\\8s8\\8s7-\\8s6\\8s5-\\8s4\\8s3\\8s2\\8s1\\8s0\\8rZ-\\8rY\\8rX\\8rW-\\8rV\\8rU\\8rT\\8rS\\8rR-\\8rQ\\8rP-\\8rO\\8rN-\\8rM\\8rL-\\8rK\\8rJ-\\8rI\\8rH\\8rG-\\8rF\\8rE-\\8rD\\8rC-\\8rB\\8rA-\\8rz\\8ry-\\8rx\\8rw-\\8rv\\8ru-\\8rt\\8rs-\\8rr\\8rq-\\8rp\\8ro-\\8rn\\8rm\\8rl-\\8rk\\8rj\\8ri\\8rh-\\8rg\\8rf-\\8re\\8rd-\\8rc\\8rb-\\8ra\\8r9\\8r8-\\8r7\\8r6-\\8r5\\8r4\\8r3\\8r2-\\8r1\\8r0-\\8qZ\\8qY\\8qX\\8qW\\8qV\\8qU\\8qT\\8qS\\8qR-\\8qQ\\8qP\\8qO\\8qN-\\8qM\\8qL-\\8qK\\8qJ-\\8qI\\8qH-\\8qG\\8qF-\\8qE\\8qD-\\8qC\\8qB\\8qA-\\8qz\\8qy\\8qx\\8qw\\8qv-\\8qu\\8qt\\8qs-\\8qr\\8qq\\8qp\\8qo\\8qn\\8qm\\8ql-\\8qk\\8qj\\8qi\\8qh-\\8qg\\8qf\\8qe\\8qd\\8qc-\\8qb\\8qa-\\8q9/.5j,S=/0-9\\8q8-\\8q7\\8q6-\\8q5\\8q4-\\8q3\\8q2-\\8q1\\8q0-\\8pZ\\8pY-\\8pX\\8pW-\\8pV\\8pU-\\8pT\\8pS-\\8pR\\8pQ-\\8pP\\8pO-\\8pN\\8pM-\\8pL\\8pK-\\8pJ\\8pI-\\8pH\\8pG-\\8pF\\8pE-\\8pD\\8pC-\\8pB\\8pA-\\8pz\\8py-\\8px\\8pw-\\8pv\\8pu-\\8pt\\8ps-\\8pr\\8pq-\\8pp\\8po-\\8pn\\8pm-\\8pl\\8pk-\\8pj\\8pi-\\8ph\\8pg-\\8pf\\8pe-\\8pd\\8pc-\\8pb\\8pa-\\8p9\\8p8-\\8p7\\8p6-\\8p5\\8p4-\\8p3\\8p2-\\8p1\\8p0-\\8oZ/.5j,U=L+S,R=L+S,V="(?:["+S+"]{1,3}\\\\.){3}["+S+"]{1,3}",W="["+R+"](?:["+R+"\\\\-]{0,61}["+R+"])?",da=1b(a){1f"(?:(?=("+(W+"))\\\\"+a)+"(?:\\\\.(?=("+(W+"))\\\\"+(a+1))+"){0,126}|"+V+")"},ea=1g 19j("["+R+"]"),H=/(?:xn--8oY-8oX|xn--8oW-8oV|xn--8oU|xn--8oT|8oS|8oR|63S\\8oQ|xn--8oP|xn--8oO|xn--8oN|xn--8oM|xn--8oL|xn--8oK|63S\\8oJ|xn--8oI|xn--8oH|xn--8oG|8oF|8oE|8oD|xn--8oC|xn--8oB|xn--8oA|xn--8oz|xn--8oy|xn--8ox|xn--8ow|8ov|8ou|8ot|8os|8or|8oq|8op|xn--8oo|xn--8on|xn--8om|xn--8ol|xn--8ok|xn--8oj|xn--8oi|xn--8oh|xn--8og|xn--8of|xn--8oe|xn--8od|xn--8oc|xn--8ob|xn--8oa|xn--8o9|63R|8o8|8o7|8o6|8o5|xn--8o4|xn--8o3|xn--8o2|xn--8o1|xn--8o0|xn--8nZ|xn--8nY|8nX|8nW|8nV|8nU|xn--8nT|xn--8nS|xn--8nR|xn--8nQ|xn--8nP|xn--8nO|xn--8nN|xn--8nM|xn--8nL|xn--8nK|xn--8nJ|xn--8nI|xn--8nH|xn--8nG|xn--8nF|xn--8nE|8nD|8nC|8nB|8nA|8nz|8ny|8nx|8nw|8nv|8nu|8nt|8ns|8nr|8nq|8np|8no|8nn|8nm|8nl|8nk|8nj|8ni|8nh|xn--8ng|xn--8nf|xn--8ne|xn--8nd|xn--8nc|xn--8nb|xn--8na|xn--8n9|xn--8n8|xn--8n7|xn--8n6|xn--8n5|xn--8n4|xn--8n3|xn--8n2|xn--8n1|xn--8n0|xn--8mZ|xn--8mY|xn--8mX|xn--8mW|xn--8mV|xn--8mU|xn--8mT|xn--8mS|xn--8mR|xn--8mQ|xn--8mP|xn--8mO|xn--8mN|xn--8mM|xn--8mL|xn--8mK|xn--8mJ|xn--8mI|xn--8mH|xn--8mG|xn--8mF|xn--8mE|xn--8mD|xn--8mC|xn--8mB|xn--8mA|xn--8mz|xn--8my|xn--8mx|xn--8mw|xn--8mv|xn--8mu|\\8mt\\63M\\63J\\3vg\\63I\\63Q\\3vg\\63Q\\8ms\\8mr\\3vg|8mq|8mp|8mo|8mn|8mm|8ml|8mk|8mj|8mi|8mh|8mg|8mf|8me|8md|8mc|8mb|8ma|8m9|8m8|8m7|8m6|8m5|5U|8m4|8m3|8m2|8m1|8m0|8lZ|8lY|8lX|8lW|8lV|8lU|8lT|8lS|8lR|xn--8lQ|xn--8lP|xn--8lO|xn--8lN|xn--8lM|xn--8lL|xn--8lK|xn--8lJ|xn--8lI|xn--8lH|xn--8lG|xn--8lF|xn--8lE|xn--8lD|xn--8lC|xn--8lB|xn--8lA|xn--8lz|xn--8ly|xn--8lx|xn--8lw|xn--8lv|xn--8lu|xn--8lt|xn--8ls|xn--8lr|8lq|8lp|8lo|8ln|8lm|8ll|8lk|8lj|8li|8lh|2hK|8lg|8lf|8le|8ld|8lc|8lb|8la|8l9|8l8|8l7|8l6|8l5|8l4|8l3|8l2|8l1|8l0|8kZ|8kY|8kX|8kW|8kV|8kU|8kT|8kS|62e|8kR|8kQ|8kP|8kO|8kN|8kM|8kL|8kK|8kJ|63P|8kI|8kH|xn--8kG|xn--8kF|xn--8kE|xn--8kD|xn--8kC|xn--8kB|xn--8kA|xn--8kz|xn--8ky|xn--8kx|xn--8kw|xn--8kv|xn--8ku|8kt|8ks|8kr|8kq|8kp|8ko|8kn|8km|8kl|8kk|8kj|8ki|63O|8kh|8kg|8kf|8ke|8kd|8kc|8kb|8ka|8k9|8k8|8k7|8k6|8k5|8k4|8k3|8k2|8k1|8k0|8jZ|8jY|2CU|8jX|8jW|8jV|8jU|8jT|8jS|4ug|8jR|8jQ|8jP|8jO|8jN|8jM|8jL|8jK|8jJ|8jI|8jH|8jG|8jF|8jE|8jD|8jC|4EN|8jB|8jA|8jz|8jy|8jx|8jw|8jv|8ju|8jt|8js|8jr|8jq|8jp|5i|8jo|8jn|8jm|8jl|8jk|2wB|8jj|8ji|8jh|8jg|8jf|8je|8jd|8jc|8jb|8ja|8j9|8j8|8j7|xn--8j6|xn--17t|xn--8j5|xn--8j4|8j3|\\1jl\\29u\\2OX\\39y\\2hH\\4M8\\29t\\4M5|8j2|8j1|8j0|8iZ|4Mb|8iY|8iX|8iW|8iV|8iU|8iT|8iS|8iR|8iQ|8iP|8iO|8iN|8iM|8iL|8iK|8iJ|1yj|8iI|8iH|8iG|8iF|8iE|8iD|8iC|8iB|1iF|8iA|8iz|8iy|8ix|8iw|8iv|8iu|8it|8is|8ir|8iq|8ip|8io|8in|8im|8il|8ik|8ij|8ii|8ih|8ig|8if|8ie|8id|8ic|8ib|8ia|8i9|8i8|8i7|8i6|8i5|8i4|8i3|8i2|8i1|8i0|8hZ|8hY|8hX|8hW|8hV|8hU|8hT|8hS|8hR|8hQ|8hP|8hO|8hN|8hM|8hL|8hK|8hJ|8hI|8hH|8hG|8hF|8hE|5pO|8hD|8hC|8hB|63N|8hA|8hz|8hy|8hx|8hw|8hv|8hu|8ht|8hs|8hr|8hq|8hp|8ho|8hn|8hm|8hl|8hk|8hj|8hi|8hh|19G|8hg|8hf|8he|8hd|8hc|8hb|8ha|8h9|8h8|8h7|8h6|8h5|8h4|8h3|8h2|8h1|3vh|8h0|8gZ|8gY|8gX|8gW|\\39z\\3ve\\4M6\\39A\\4LZ\\63y\\39z|\\1jl\\2q9\\63m\\1jl\\29u\\1jl\\2q9|\\1jl\\29u\\8gV\\63E\\1jl\\8gU\\1Kd|\\1jl\\29u\\39y\\29u\\29t\\1jl\\2CS|\\8gT\\1jl\\8gS\\2OX\\2q9\\1jl\\2CS|\\39x\\1jl\\8gR\\2hH\\29u\\29t\\39x|\\2hG\\2hH\\2hI\\1jl\\29t\\29u\\29t|\\63K\\8gQ\\3vg\\8gP\\63M\\8gO\\8gN|8gM|8gL|8gK|1ih|8gJ|8gI|8gH|8gG|8gF|8gE|8gD|8gC|8gB|44k|8gA|8gz|8gy|8gx|8gw|8gv|8gu|8gt|3w|8gs|8gr|8gq|2V|8gp|8go|8gn|12O|8gm|8gl|8gk|8gj|8gi|8gh|9L|8gg|8gf|8ge|8gd|4Ma|8gc|8gb|8ga|8g9|8g8|8g7|8g6|8g5|8g4|8g3|13U|8g2|44j|8g1|8g0|8fZ|8fY|8fX|8fW|1ii|1BJ|8fV|8fU|8fT|8fS|8fR|8fQ|8fP|8fO|8fN|8fM|8fL|8fK|8fJ|8fI|8fH|8fG|8fF|8fE|8fD|8fC|8fB|8fA|8fz|8fy|8fx|63L|8fw|8fv|8fu|8ft|34h|8fs|8fr|8fq|8fp|8fo|8fn|8fm|8fl|8fk|8fj|8fi|8fh|8fg|8ff|8fe|8fd|60t|8fc|8fb|8fa|8f9|8f8|8f7|8f6|8f5|8f4|8f3|8f2|8f1|8f0|8eZ|8eY|8eX|8eW|8eV|8eU|8eT|8eS|1qs|8eR|26K|8eQ|8eP|8eO|2gh|8eN|5r6|8eM|8eL|8eK|8eJ|8eI|15s|8eH|8eG|8eF|8eE|8eD|8eC|8eB|8eA|8ez|8ey|8ex|8ew|8ev|8eu|8et|8es|8er|8eq|8ep|8eo|8en|8em|8el|\\44c\\39A\\44b\\39z\\8ek\\3ve|\\39A\\4LY\\4LZ\\3ve\\63x\\4LY|\\1jl\\2hI\\2hH\\8ej\\2hI\\29t|\\1jl\\1Kd\\1jl\\2hG\\39x\\2hH|\\1jl\\29u\\1jl\\1Kd\\4M8\\2CS|\\1jl\\29u\\2hG\\8ei\\1Kd\\2hI|\\1jl\\2hG\\1jl\\1Kd\\1jl\\2q9|\\8eh\\29u\\2OX\\63n\\29t\\2CS|\\2hG\\29u\\29t\\2OX\\29t\\1jl|\\4M4\\4M3\\4M2\\4M1\\63l\\8eg|\\63K\\8ef\\63J\\3vg\\63I\\8ee|\\8ed\\8ec\\8eb\\8ea\\8e9\\63t|8e8|8e7|8e6|8e5|8e4|8e3|8e2|29p|8e1|60w|8e0|8dZ|8dY|8dX|2p4|8dW|8dV|1x4|8dU|8dT|8dS|8dR|8dQ|8dP|1aI|3j1|8dO|8dN|8dM|8dL|8dK|8dJ|8dI|14k|8dH|8dG|8dF|3v3|8dE|1zM|8dD|8dC|8dB|8dA|1Lr|8dz|8dy|8dx|8dw|8dv|8du|8dt|8ds|8dr|8dq|5t|8dp|13o|8do|8dn|8dm|8dl|8dk|8dj|8di|8dh|8dg|8df|8de|8dd|8dc|8db|8da|8d9|8d8|8d7|8d6|8d5|8d4|8d3|8d2|8d1|8d0|8cZ|8cY|8cX|8cW|4M9|8cV|8cU|8cT|8cS|8cR|8cQ|8cP|8cO|8cN|8cM|8cL|8cK|63H|1BF|8cJ|2q8|8cI|8cH|2hJ|8cG|8cF|8cE|8cD|8cC|8cB|3OP|8cA|8cz|8cy|8cx|8cw|8cv|8cu|8ct|8cs|8cr|8cq|8cp|8co|8cn|63G|8cm|8cl|1ww|8ck|8cj|2aL|8ci|2r|8ch|63F|8cg|8cf|8ce|8cd|8cc|8cb|8ca|8c9|1J5|8c8|8c7|8c6|8c5|8c4|8c3|8c2|1qA|8c1|8c0|8bZ|8bY|8bX|8bW|5Px|2pl|8bV|8bU|8bT|\\1jl\\8bS\\1Kd\\1jl\\2CS|\\2hI\\1jl\\63E\\1jl\\1Kd|\\2hI\\8bR\\1jl\\1Kd\\2q9|\\2OX\\2hH\\4M8\\1jl\\2CS|\\2OX\\2hH\\1Kd\\29t\\4M5|\\63D\\2hG\\1Kd\\1jl\\63D|\\4M4\\4M3\\4M2\\8bQ\\4M1|\\8bP\\8bO\\8bN\\8bM\\63k|\\8bL\\44i\\8bK\\8bJ\\44i|\\8bI\\8bH\\8bG\\8bF\\8bE|\\8bD\\8bC\\8bB\\8bA\\8bz|\\63b\\4LT\\4LS\\8by\\4LQ|8bx|8bw|8bv|8bu|8bt|8bs|8br|8bq|8bp|8bo|8bm|8bl|8bk|8bj|8bi|1sg|8bh|63C|8bg|8bf|8be|4M7|8bd|63B|8bc|5G|8bb|8ba|8b9|8b8|8b7|4G|8b6|8b5|8b4|8b3|1S|8b2|8b1|8b0|8aZ|8aY|8aX|8aW|8aV|8aU|8aT|2g|1sL|8aS|8aR|8aQ|8aP|8aO|8aN|4LM|8aM|8aL|8aK|8aJ|8aI|8aH|15w|8aG|8aF|8aE|8aD|8aC|8aB|5Lt|8aA|8az|8ay|8ax|3vf|8aw|8av|8au|8at|8as|8ar|8aq|60v|8ap|8ao|8an|8am|8al|8ak|8aj|1pX|3is|8ai|1H7|8ah|8ag|8af|8ae|8ad|2Ax|8ac|62d|8ab|8aa|8a9|8a8|8a7|8a6|8a5|8a4|8a3|8a2|8a1|1iN|3lB|8a0|1H6|89Z|89Y|89X|89W|89V|89U|89T|63A|89S|63z|89R|89Q|89P|89O|89N|2i|60u|89M|6k|89L|89K|89J|1pj|89I|89H|89G|89F|89E|60s|20e|2eI|89D|89C|31A|89B|89A|89z|89y|1dD|89x|89w|26f|89v|89u|5PM|89t|89s|89r|89q|89p|2x4|89o|89n|89m|89l|89k|89j|89i|89h|89g|2p|89f|2GO|89e|1vO|89d|89c|89b|89a|1BE|899|898|896|895|894|893|892|891|890|88Z|88Y|88X|88W|88V|88U|88T|88S|88R|88Q|88P|88O|88N|88M|2xQ|88L|88K|88J|16m|2CT|\\63q\\4LV\\4M6\\63y|\\44b\\3ve\\63x\\4M6|\\2hI\\1jl\\1Kd\\2q9|\\2hI\\29t\\2q9\\39x|\\88I\\1jl\\1Kd\\2q9|\\2q9\\2hH\\2CS\\2OX|\\88H\\2hI\\39x\\4M5|\\39y\\1Kd\\1jl\\4LX|\\39y\\2hG\\1jl\\2CS|\\2hG\\2hH\\4LX\\39y|\\4M4\\4M3\\4M2\\4M1|\\63w\\44i\\88G\\63v|\\63w\\44i\\88F\\63v|\\88E\\88D\\88C\\88B|\\88A\\88z\\88y\\88x|\\88w\\88v\\88u\\88t|\\88s\\88r\\88q\\88p|\\88o\\88n\\88m\\88l|\\63u\\63i\\63u\\63h|\\88k\\88j\\88i\\88h|\\88g\\88f\\63t\\63j|\\4LS\\88e\\88d\\88c|\\88b\\88a\\4LR\\636|\\63a\\886\\885\\884|\\633\\883\\4LT\\4i4|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|63s|882|881|880|87Z|87Y|87X|87W|87V|87U|87T|87S|87R|87Q|87P|13F|87O|87N|87M|87L|87K|87J|87I|3SS|87H|87G|87F|87E|44h|87D|11Y|29s|87C|87B|1IW|87A|44g|87z|87y|87x|87w|2A|87v|87u|87t|87s|87r|87q|87p|87o|1TM|87n|5rA|87m|87l|87k|87j|87i|87h|2N0|87g|44f|87f|87e|87d|87c|87b|5Kp|1Gb|87a|876|874|873|2j7|872|871|870|86Z|86Y|86X|86W|7P|86V|86U|86T|86S|86R|86Q|86P|86O|86N|86M|86L|44e|86K|86J|86I|1mp|86H|86G|86F|86E|86D|86C|86B|5d|3Sr|86A|86z|86y|86x|86w|86v|3Ot|86u|86t|86s|62a|86r|86q|63r|86p|3SQ|86o|2fH|1g|86n|86m|86l|14H|4M0|86k|86j|86i|86h|1nP|1bS|86g|86f|86e|1m9|86d|86c|86b|86a|868|867|866|864|863|862|861|860|85Z|5r|85Y|85X|85W|85V|3Wi|85U|85T|85S|85R|85Q|3Qy|85P|85O|85N|85M|85L|85K|3Kz|85J|85I|85H|85G|85F|85E|85D|85C|44d|85B|85A|5C|85z|85y|85x|85w|85v|85u|85t|85s|85r|85q|85p|85o|85n|85m|85l|85k|85j|85i|2Go|1H|18g|85h|1Hx|\\4LW\\4LV\\4LZ|\\39z\\39A\\44c|\\85g\\3ve\\85f|\\44c\\39z\\63q|\\44c\\39A\\4LY|\\39A\\3vd\\63g|\\3vd\\63p\\44b|\\44b\\3vd\\4LW|\\63p\\39z\\3vd|\\85e\\63o\\85d|\\85c\\85b\\85a|\\39y\\1Kd\\2hI|\\4LX\\63n\\1Kd|\\39x\\2hH\\2hG|\\2hG\\63m\\1Kd|\\859\\858\\63l|\\63k\\857\\856|\\855\\854\\853|\\851\\850\\84Z|\\84Y\\63j\\84X|\\84W\\63i\\63h|\\84V\\84U\\84T|\\44a\\84S\\3vc|\\84R\\84Q\\84P|\\84O\\84N\\84M|\\637\\84L\\84K|\\84J\\84I\\84H|\\84G\\84F\\84E|\\84D\\84C\\84B|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|\\84A\\84z|\\4LW\\63g|\\4LV\\84y|\\3vd\\84x|\\84w\\84v|\\63f\\84u|\\63f\\84t|\\84s\\84r|\\84q\\84p|\\84o\\84n|\\84m\\84l|\\44a\\63e|\\44a\\84k|\\44a\\84j|\\84i\\84h|\\84g\\84f|\\63e\\84d|\\84c\\84b|\\84a\\849|\\63d\\847|\\63d\\845|\\63c\\844|\\63c\\842|\\4LU\\841|\\4LU\\4LQ|\\4LU\\83Z|\\63b\\4LT|\\3i9\\83Y|\\4LS\\83X|\\83W\\83V|\\83U\\63a|\\83T\\4i5|\\83S\\83R|\\83Q\\83P|\\83O\\83N|\\639\\4LR|\\639\\83M|\\83L\\83K|\\638\\83J|\\638\\83I|\\637\\83H|\\4i6\\83G|\\83F\\83E|\\4LR\\636|\\83D\\83C|\\83B\\83A|\\3i8\\83z|\\83y\\83x|\\83w\\83v|\\3vc\\83u|\\3vc\\4LQ|\\3vc\\83t|\\3vc\\83s|\\83r\\634|\\83q\\83p|\\83o\\83n|\\634\\83m|\\83l\\83k|\\83j\\83i|\\83h\\83g|\\633\\83f)/,I=1b(a){1b b(){1d b=1F!==a&&a.6c(1a,5m)||1a;b.632=1g 19j("["+R+"!#$%&\'*+/=?^10D`{|}~-]");b.62Z=1g 19j("^"+H.5j+"$");1f b}f(b,a);b.1i.39t=1b(a){1b b(a){"m"===a?k(1):t.6S(a)&&k()}1b c(a,b){":"===a?t.6S(b)?(y=2,A=1g J(w({},A,{445:!0}))):p():D[a]!==b&&(t.6S(b)?y=2:"."===b?y=3:"@"===b?y=4:p())}1b e(a){"."===a?y=3:"@"===a?y=4:t.6S(a)||p()}1b f(a){"."===a?p():"@"===a?p():t.6S(a)?y=2:p()}1b h(a){"."===a?y=7:"-"===a?y=6:ea.6S(a)||n()}1b g(a){"-"===a||"."===a?n():ea.6S(a)?y=5:n()}1b l(a){"."===a||"-"===a?n():ea.6S(a)?(y=5,A=1g J(w({},A,{442:!0}))):n()}1b k(a){1p 0===a&&(a=2);y=a;A=1g J({1Kc:v})}1b p(){y=0;A=u}1b n(){if(A.442){1d b=a.4h(A.1Kc,v);/[-.]$/.6S(b)&&(b=b.4h(0,-1));1d c=A.445?b.4h(7):b,d=(c.7g(".").9l()||"").18v();z.6S(d)&&q.1q(1g x({1u8:m,2hF:b,2M:A.1Kc,1zM:c}))}p()}1j(1d m=1a.1u8,t=1a.632,z=1a.62Z,q=[],r=a.1h,u=1g J,D={m:"a",a:"i",i:"l",l:"t",t:"o",o:":"},v=0,y=0,A=u;v<r;){1d G=a.1as(v);6U(y){1S 0:b(G);1W;1S 1:c(a.1as(v-1),G);1W;1S 2:e(G);1W;1S 3:f(G);1W;1S 4:ea.6S(G)?y=5:p();1W;1S 5:h(G);1W;1S 6:g(G);1W;1S 7:l(G);1W;4T:d(y)}v++}n();1f q};1f b}(v),J=1b(){1f 1b(a){1p 0===a&&(a={});1a.1Kc=1p 0!==a.1Kc?a.1Kc:-1;1a.445=!!a.445;1a.442=!!a.442}}(),M=1b(){1b a(){}a.2nu=1b(a,b){1f b&&!1a.62W(b)||1a.62V(a,b)||1a.62U(a,b)&&!1a.62Y(a)||1a.62X(a)?!1:!0};a.62Y=1b(a){1f 1F!==a.141(1g 19j(1a.440.5j+1a.62R.5j))};a.62X=1b(a){1d b=a;1a.440.6S(a)&&(b=a.7g("://")[1]);1f-1<b.7g("/")[0].3f("..")};a.62W=1b(a){a=(a=a.141(1a.62T))&&a[0].18v();1f"4LP:"!==a&&"83e:"!==a};a.62V=1b(a,b){1f!!a&&(!b||!1a.440.6S(b))&&-1===a.3f(".")};a.62U=1b(a,b){1f a&&b?!1a.62S.6S(a):!1};a.440=/^[A-Za-z][-.+A-Za-z0-9]*:\\/\\//;a.62T=/^[A-Za-z][-.+A-Za-z0-9]*:/;a.62S=1g 19j(":[^\\\\s]*?["+F+"]");a.62R=/[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?(:[0-9]*)?\\/?$/;1f a}(),Ob=1b(a){1b b(b){1d c=a.4G(1a,b)||1a;c.1K9={1c2:!0,10y:!0};c.1Kb=!0;c.1Ka=!0;1d d=1g 19j("[/?#](?:["+R+"\\\\-+&@#/%=~10D()|\'$*\\\\[\\\\]?!:,.;\\62Q]*["+R+"\\\\-+&@#/%=~10D()|\'$*\\\\[\\\\]\\62Q])?");d=1g 19j(["(?:(",/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\\/\\/)(?!\\d+\\/?)(?:\\/\\/)?)/.5j,da(2),")|((//)?",/(?:10y\\.)/.5j,da(6),")|((//)?",da(10)+"\\\\.",H.5j,"(?![-"+U+"])","))(?::[0-9]+)?","(?:"+d.5j+")?"].14G(""),"gi");c.39v=d;c.62P=1g 19j("["+R+"]");c.1K9=b.1K9;c.1Kb=b.1Kb;c.1Ka=b.1Ka;1f c}f(b,a);b.1i.39t=1b(a){1j(1d b=1a.39v,c=1a.1K9,d=1a.1Kb,e=1a.1Ka,f=1a.1u8,h=[],g,l=1b(){1d b=g[0],l=g[1],p=g[4],n=g[9],m=g.2P;n=g[5]||n;1d t=a.1as(m-1);if(!M.2nu(b,l)||0<m&&"@"===t||0<m&&n&&k.62P.6S(t))1f"1aJ";/\\?$/.6S(b)&&(b=b.13c(0,b.1h-1));k.62O(b)?b=b.13c(0,b.1h-1):(t=k.62N(b,l),-1<t&&(b=b.13c(0,t)));if(t=["10R://","1bU://"].1oZ(1b(a){1f!!l&&-1!==l.3f(a)}))t=b.3f(t),b=b.13c(t),l=l.13c(t),m+=t;h.1q(1g u({1u8:f,2hF:b,2M:m,3vb:l?"1c2":p?"10y":"62z",2I:b,39q:!!l,39w:!!n,1K9:c,1Kb:d,1Ka:e}))},k=1a;1F!==(g=b.1f4(a));)l();1f h};b.1i.62O=1b(a){1d b=a.1as(a.1h-1);if(")"===b)1d c="(";1s if("]"===b)c="[";1s 1f!1;1j(1d d=0,e=0,f=a.1h-1;e<f;e++){1d h=a.1as(e);h===c?d++:h===b&&(d=1k.1V(d-1,0))}1f 0===d?!0:!1};b.1i.62N=1b(a,b){if(!a)1f-1;1d c=0;b&&(c=a.3f(":"),a=a.4h(c));b=(1g 19j("^((.?//)?[-."+R+"]*[-"+R+"]\\\\.[-"+R+"]+)")).1f4(a);if(1F===b)1f-1;c+=b[1].1h;a=a.4h(b[1].1h);1f/^[^-.A-Za-z0-9:\\/?#]/.6S(a)?c:-1};1f b}(v),N=1b(a){1b b(b){1d c=a.4G(1a,b)||1a;c.1sM="2hE";c.39v=1g 19j("#[10D"+R+"]{1,139}(?![10D"+R+"])","g");c.43Z=1g 19j("[^"+R+"]");c.1sM=b.1sM;1f c}f(b,a);b.1i.39t=1b(a){1j(1d b=1a.39v,c=1a.43Z,d=1a.1sM,e=1a.1u8,f=[],h;1F!==(h=b.1f4(a));){1d g=h.2P,l=a.1as(g-1);if(0===g||c.6S(l))l=h[0],h=h[0].4h(1),f.1q(1g q({1u8:e,2hF:l,2M:g,1sM:d,1zO:h}))}1f f};1f b}(v),uc=1b(a){1b b(){1d b=1F!==a&&a.6c(1a,5m)||1a;b.39v=/(?:(?:(?:(\\+)?\\d{1,3}[-\\3va.]?)?\\(?\\d{3}\\)?[-\\3va.]?\\d{3}[-\\3va.]?\\d{4})|(?:(\\+)(?:9[976]\\d|8[83d]\\d|6[987]\\d|5[90]\\d|42\\d|3[875]\\d|2[83c]\\d|9[83b]|8[83a]|6[838]|5[837]|4[836]|3[834]|2[70]|7|1)[-\\3va.]?(?:\\d[-\\3va.]?){6,12}\\d+))([,;]+[0-9]+#?)*/g;1f b}f(b,a);b.1i.39t=1b(a){1j(1d b=1a.39v,c=1a.1u8,d=[],e;1F!==(e=b.1f4(a));){1d f=e[0],h=f.3X(/[^0-9,;#]/g,""),g=!(!e[1]&&!e[2]),l=0==e.2P?"":a.13c(e.2P-1,1),k=a.13c(e.2P+f.1h,1);l=!l.141(/\\d/)&&!k.141(/\\d/);1a.4LO(e[3])&&1a.4LO(f)&&l&&d.1q(1g r({1u8:c,2hF:f,2M:e.2P,2b:h,3v9:g}))}1f d};b.1i.4LO=1b(a){1f/\\D/.6S(a)};1f b}(v),sc=1b(a){1b b(b){1d c=a.4G(1a,b)||1a;c.1sM="2hE";c.62M={2hE:1g 19j("@[10D"+R+"]{1,50}(?![10D"+R+"])","g"),2OW:1g 19j("@[10D."+R+"]{1,30}(?![10D"+R+"])","g"),43X:1g 19j("@[-10D."+R+"]{1,50}(?![-10D"+R+"])","g")};c.43Z=1g 19j("[^"+R+"]");c.1sM=b.1sM;1f c}f(b,a);b.1i.39t=1b(a){1d b=1a.1sM,c=1a.62M[1a.1sM],d=1a.43Z,e=1a.1u8,f=[],h;if(!c)1f f;1j(;1F!==(h=c.1f4(a));){1d g=h.2P,l=a.1as(g-1);if(0===g||d.6S(l))h=h[0].3X(/\\.+$/g,""),l=h.4h(1),f.1q(1g t({1u8:e,2hF:h,2M:g,1sM:b,1zN:l}))}1f f};1f b}(v),cd=1b(){1f 1b(a){1p 0===a&&(a={});1a.1Kc=1p 0!==a.1Kc?a.1Kc:-1;1a.1I=a.1I||"3lF";1a.2i=a.2i||"";1a.43Y=!!a.43Y;1a.39u=!!a.39u}}();1f 1b(){1b a(b){1p 0===b&&(b={});1a.9G=a.9G;1a.28z={};1a.2q8=1a.1zM=!0;1a.1zN=1a.1zO=!1;1a.29r=!0;1a.1K9={1c2:!0,10y:!0};1a.1Ka=1a.1Kb=!0;1a.23c={1h:0,17J:"9o"};1a.8k="";1a.2OV=1F;1a.1O=1p 0;1a.1u8=1a.43V=1F;1a.28z=1a.62K(b.28z);1a.1zM="11T"===2h b.1zM?b.1zM:1a.1zM;1a.2q8="11T"===2h b.2q8?b.2q8:1a.2q8;1a.1zO=b.1zO||1a.1zO;1a.1zN=b.1zN||1a.1zN;1a.29r="11T"===2h b.29r?b.29r:1a.29r;1a.1K9=1a.62J(b.1K9);1a.1Kb="11T"===2h b.1Kb?b.1Kb:1a.1Kb;1a.1Ka="11T"===2h b.1Ka?b.1Ka:1a.1Ka;1d c=1a.1zN;if(!1!==c&&"2hE"!==c&&"2OW"!==c&&"43X"!==c)1t 6u("16w `1zN` 62L - 15q 4LM");c=1a.1zO;if(!1!==c&&"2hE"!==c&&"4LN"!==c&&"2OW"!==c)1t 6u("16w `1zO` 62L - 15q 4LM");1a.23c=1a.62I(b.23c);1a.8k=b.8k||1a.8k;1a.2OV=b.2OV||1a.2OV;1a.1O=b.1O||1a}a.1H6=1b(b,c){1f(1g a(c)).1H6(b)};a.5N=1b(b,c){1f(1g a(c)).5N(b)};a.1i.62K=1b(a){1F==a&&(a=!0);1f"11T"===2h a?{3v8:a,3v7:a,3v6:a}:{3v8:"11T"===2h a.3v8?a.3v8:!0,3v7:"11T"===2h a.3v7?a.3v7:!0,3v6:"11T"===2h a.3v6?a.3v6:!0}};a.1i.62J=1b(a){1F==a&&(a=!0);1f"11T"===2h a?{1c2:a,10y:a}:{1c2:"11T"===2h a.1c2?a.1c2:!0,10y:"11T"===2h a.10y?a.10y:!0}};a.1i.62I=1b(a){if("2b"===2h a)1f{1h:a,17J:"9o"};a=a||{};1d b={1h:3a.19B,17J:"9o"},c;1j(c in b)b.3p(c)&&1p 0===a[c]&&(a[c]=b[c]);1f a};a.1i.5N=1b(a){1d b=1a,d=["a","2r","1G5"],e=0,f=[];h(a,{62H:1b(a){0<=d.3f(a)&&e++},62G:1b(a,d){if(0===e){a=c(a,/(&2dL;|&#160;|&lt;|&#60;|&gt;|&#62;|&62F;|&#34;|&#39;)/gi);1d h=d;a.12I(1b(a,c){0===c%2&&(c=b.62y(a,h),f.1q.6c(f,c));h+=a.1h})}},62E:1b(a){0<=d.3f(a)&&(e=1k.1V(e-1,0))},62D:1b(a){},62C:1b(a){}});f=1a.62B(f);1f f=1a.62A(f)};a.1i.62B=1b(a){a.15F(1b(a,b){1f a.2q7()-b.2q7()});1j(1d b=0;b<a.1h-1;b++){1d c=a[b],d=c.2q7();c=c.39s().1h;1d e=d+c;b+1<a.1h&&(a[b+1].2q7()===d?(d=a[b+1].39s().1h>c?b:b+1,a.6z(d,1)):a[b+1].2q7()<e&&a.6z(b+1,1))}1f a};a.1i.62A=1b(a){1a.1zO||b(a,1b(a){1f"1zO"===a.1bu()});1a.1zM||b(a,1b(a){1f"1zM"===a.1bu()});1a.2q8||b(a,1b(a){1f"2q8"===a.1bu()});1a.1zN||b(a,1b(a){1f"1zN"===a.1bu()});1a.28z.3v8||b(a,1b(a){1f"2I"===a.1bu()&&"1c2"===a.43W()});1a.28z.3v7||b(a,1b(a){1f"2I"===a.1bu()&&"10y"===a.43W()});1a.28z.3v6||b(a,1b(a){1f"2I"===a.1bu()&&"62z"===a.43W()});1f a};a.1i.62y=1b(a,b){1p 0===b&&(b=0);b=b||0;1j(1d c=1a.62u(),d=[],e=0,f=c.1h;e<f;e++){1j(1d h=c[e].39t(a),g=0,l=h.1h;g<l;g++)h[g].62x(b+h[g].2q7());d.1q.6c(d,h)}1f d};a.1i.1H6=1b(a){if(!a)1f"";1j(1d b=1a.5N(a),c=[],d=0,e=0,f=b.1h;e<f;e++){1d h=b[e];c.1q(a.11c(d,h.2q7()));c.1q(1a.62w(h));d=h.2q7()+h.39s().1h}c.1q(a.11c(d));1f c.14G("")};a.1i.62w=1b(a){1d b;1a.2OV&&(b=1a.2OV.4G(1a.1O,a));1f"4n"===2h b?b:!1===b?a.39s():b 2m g?b.4LL():a.62v().4LL()};a.1i.62u=1b(){if(1a.43V)1f 1a.43V;1d a=1a.62t();1f 1a.43V=[1g N({1u8:a,1sM:1a.1zO}),1g I({1u8:a}),1g uc({1u8:a}),1g sc({1u8:a,1sM:1a.1zN}),1g Ob({1u8:a,1K9:1a.1K9,1Kb:1a.1Kb,1Ka:1a.1Ka})]};a.1i.62t=1b(){1d a=1a.1u8;a||(a=1a.1u8=1g k({29r:1a.29r,23c:1a.23c,8k:1a.8k}));1f a};a.9G="3.11.0";a.831=k;a.830=g;a.82Z={62s:I,62r:N,82Y:v,62q:sc,62p:uc,34T:Ob};a.141={62s:x,62r:q,82X:n,62q:t,62p:r,34T:u};1f a}()});1d aka=$ja.4ja;xC.1i.4Lp=1b(a){1a.3v0.1q(a)};xC.1i.20e=1b(a,b){1a.62o.5k();1d c=1a;i8.4G(1a,a,b,1b(a){c.3v5=0;a||h8(c.2CR);c.62n.5k(a)})};xC.1i.4U=1b(){h8(1a.2CR)};yC.1i.20e=1b(a,b,c){1a.3v4=b;if(g(a)&&1F!==a){1d d=1a;1a.29q=1b(b){4Y d.29q;4Y d.3v4;a(g(b)?!1:b)}}c=1a.62m(c);if(1a.11A.39r)b.1AG(c);1s if(1a.11A.43U){1d e=1g P(1a.11A.1K);b.3pG(e,c)}};yC.1i.4U=1b(){g(1a.3v4)&&1a.3v4.3pN();g(1a.29q)&&1a.29q(!0)};yC.1i.62m=1b(a){1d b={13k:1a.13k};g(1a.29q)&&(b.1aH=1a.29q);"82W"===1a.4Lq&&(b.1lZ=jh.3Qz);1a.11A.39r?(b.16h=1a.11A.1K,b.11f=1a.11A.39r):1a.11A.43U&&(b.2M=1a.11A.43U);g(a)&&(b=fb(b,a));1f b};pI.1i.20e=1b(a){1d b=1a;1a.29q=a;1a.2wM=1if(1b(){4Y b.29q;a(!1)},1E3*1a.13k)};pI.1i.4U=1b(){2Jm(1a.2wM);g(1a.29q)&&1a.29q(!0)};1d m8={avi:"1qA/x-82V",62l:"4d/62l",82U:"1aM/x-82T",82S:"1aM/2q6.ms-82R",1cg:"3l/1cg",62k:"3l/62k",62j:"1aM/82Q",62i:"1aM/x-62i",82P:"1aM/621",62h:"1qA/x-62h",62g:"4d/62g",gz:"1aM/x-62f",82O:"3l/1jH",1jH:"3l/1jH",82N:"4d/2q6.62e.6O",62c:"1aM/x-62d-62c-1ol",2L3:"4d/2L3",1Ui:"4d/2L3",82M:"29p/x-82L",82K:"1qA/2xu",62b:"1aM/62b+1g3",25t:"29p/4LK",4LK:"29p/4LK",62a:"1qA/620",82J:"29p/43T",2xu:"1qA/2xu",82I:"1qA/2xu",43T:"1qA/43T",82H:"1qA/43T",82G:"1aM/2q6.4LJ.4LI.82F",82D:"1aM/2q6.4LJ.4LI.82C",82B:"1aM/2q6.4LJ.4LI.3l",628:"1aM/628",626:"1aM/626",12H:"4d/12H",82A:"1aM/2q6.ms-622",82z:"1aM/2q6.ms-622",ps:"1aM/621",qt:"1qA/620",61Z:"1aM/61Z+1g3",61Y:"1aM/61Y+1g3",61X:"1aM/61X",1fu:"4d/1fu+1g3",82y:"1aM/x-82x-82w",3l:"3l/2Ji",9u:"4d/4LH",4LH:"4d/4LH",82v:"3l/2Ji",61W:"29p/x-61W",3jX:"29p/x-ms-3jX",61V:"1qA/x-ms-61V",1g3:"1aM/1g3",1Hx:"1aM/1Hx",61U:1b(a){a=a.18v();a=LN(a);1f m8[a]}},qI;"7w"!==2h 27n&&(qI=1g 27n);1d 61T=1g aka({1K9:!1,1zM:!1,2OV:1b(a){if(!a.39q)1f!1}}),4LG=[1F,1p 0,"10R://10y.3Tq.2fH/5Q/2.2","10R://3v3.1BJ.11Y/5Q/2.2","10R://3v3.1BJ.11Y/5Q/2.1","10R://3v3.1BJ.11Y/5Q/2.0"],4LF=["10R://10y.1BJ.11Y/5Q/1wV/2.2"],ya={5Q:4LG,gx:4LF,39p:["10R://10y.w3.1m9/82u/82t"],39o:4LG.9V(4LF)},fS={43S:E8,61S:1b(a,b,c,d){1d e=wI(a,b,c);c=wc(c);c.43R=e.13a;E8(a,b,c,d)},4LE:1b(a,b,c,d){1d e=wI(a,b,c);d=e.13a;e=e.61R;1d f=!1;b=b.13P;1j(1d h=0,l=b.1h;h<l&&!f;h++){1d k=b.1jI(h),n=4Ls[k.16Z];g(n)&&(n(a,c.1mu,k,d,e,d.id,c.39n),f=!0)}f||(d.18y(e),vI(a,d,e))},4Lk:1b(a,b,c,d){1d e=wI(a,b,c).13a,f=c.39n,h=c.2CO,l=qd(b,"43E",ya.5Q);g(l)||(l=qd(b,"34T",ya.5Q));if(g(l)){1d k=Wb(l,"17S",ya.5Q);if(g(k)){b=k;k=rI(k,f,c.2CO);if(/^2g:/.6S(k.1oO()))/\\.43Q/i.6S(f.1oO())||(b=f.16M({2I:b}));1s{b=k.1y();1d n=Wb(l,"3v2",ya.5Q);1d z=m(Wb(l,"43z",ya.5Q),1);c="2hD"===n?"61Q=[43P],[43O],[43N],[43M]":"";c=m(Wb(l,"61P",ya.5Q),c);f=Wb(l,"61O",ya.5Q);g(c)&&k.1qN(nj(tI(c)));g(f)&&k.1qN(nj(tI(f)));$R(k,a.1B5,a.10C,z,a.43D.1bD,a.5W)}h={2CQ:b,2CO:h,1O:e.id};1d w=1g Se;h=gS(a,w,k,h).4b(1b(b){1d c=a.17l,d=w.2a;c.1VW();1j(1d f=0;f<d.1h;f++){1d h=d[f];g(h.12f)||(h.12f=e,bS(h));c.add(h)}c.1VV();c=Wb(l,"1Ex",ya.5Q);d=m(Fc(l,"82s",ya.5Q),0);if("43L"===c&&0<d||"2CP"===c||"2hD"===n){b=qd(b,"2OU",ya.5Q);f=g(b);h=M.14H();1d p={id:Ld(),17S:k,2MI:{},4Lm:h,2OQ:!1,13a:e,43z:z,43A:!1,4Ll:h},x=0;f&&(p.2MI=nj(m(Wb(b,"2MI",ya.5Q),"")),x=m(Fc(b,"61N",ya.5Q),0));if("43L"===c)f&&(d=1k.1V(x,d)),p.1Ex=ws.43C,p.6q=d;1s if("2CP"===c){1d q;f&&(q=Wb(b,"2OT",ya.5Q));if(g(q))10G{1d r=M.1r3(q),u=M.1dA(r,h);0<u&&u<x&&M.190(h,x,r);p.1Ex=ws.43B;p.6q=r}11B(K){ec("5Q-1Ex-43L-2CP","1gO - 2OU 2OT is 2S a 1eu 1sL")}1s ec("5Q-1Ex-2CP","1gO - 1Ex of 2CP 9N 1Z 2OU to 118 an 2OT 1ij")}1s a.1B5?(p.1Ex=ws.2Oe,p.6q=m(Fc(l,"82r",ya.5Q),0)):ec("5Q-61M-2hD-82q","A 4Lk 10M 3v2=2hD 9N a 3w be 4pW in 16r 2sf 1Z 5gW");g(p.1Ex)&&a.43y.1C(p.id,p)}1s"43K"===n&&ec("5Q-61M-43K","1gO - 1Mp 3v2: 43K")}).10g(1b(b){ec("An 7A 82p 4pV 4LD "+k.2I);a.1vN.5k(a,b)});d.61F(h)}}},61L:1b(a,b,c,d){1d e=wI(a,b,c).13a,f=!1;d=a.5W;1d h=sI(qd(b,"4LB",ya.gx),d),l=Fc(b,"3v1",ya.5Q);if(g(h))d=ZR(),d.1iD=1g bo(h),d.13G=l,e.12i=d,f=!0;1s if(d=1g Lp,d.13G=l,e.3g=d,e=qd(b,"61K",ya.5Q),g(e)){h=Fc(e,"4o",ya.5Q);l=Fc(e,"4C",ya.5Q);1d k=Fc(e,"5a",ya.5Q),n=Fc(e,"4P",ya.5Q);g(h)&&(h=B.1vw(B.8I(h)));g(l)&&(l=B.4LC(B.8I(l)));g(k)&&(k=B.1vw(B.8I(k)));g(n)&&(n=B.4LC(B.8I(n)));d.9R=1g Q(h,l,k,n);e=Fc(e,"5S",ya.5Q);g(e)&&(e=B.8I(e),d.5S=e,d.15K=e)}e=qd(b,"1pq",ya.5Q);a=u8(e,a,c.39n,c.2CO,!0);g(a)?(f&&ec("5Q-gx:4LB","1gO - gx:4LB 1pq 18f 2S 19G 7y 18T."),c=Fc(e,"x",ya.gx),f=Fc(e,"y",ya.gx),h=Fc(e,"w",ya.gx),e=Fc(e,"h",ya.gx),(g(c)||g(f)||g(h)||g(e))&&ec("5Q-82o-82n","1gO - gx:x, gx:y, gx:w, gx:h 61J\'t 11J 1j 82m"),d.2q=a,d.2q.1A=Hv(b,"1A",ya.5Q),d.2q.18b=!0):d.2q=Hv(b,"1A",ya.5Q);a=Wb(b,"19L",ya.5Q);g(a)?"1J1"===a?(d.1D=Fc(b,"1eD",ya.5Q),d.13G=1p 0):"1d7"!==a&&ec("5Q-19L-1G7","1gO - 1jJ 19L: "+a):(a=Wb(b,"19L",ya.gx),"2q5"===a?(ec("5Q-19L-2q5","1gO - 19L 2q5 is 2zE 2S 11J, 61I as 1J1."),d.1D=Fc(b,"1eD",ya.5Q),d.13G=1p 0):"2CN"===a?ec("5Q-19L-2CN","1gO - 19L 2CN is 2zE 2S 11J, 61I as 1d7."):g(a)&&ec("5Q-19L-1G7","1gO - 1jJ 19L: "+a))},82l:dS,82k:dS,4LA:1b(a,b,c,d){c=Wb(b,"2i",ya.5Q);d=Lj(b,"id");c=1g xC(c,d);if(d=qd(b,"82j",ya.gx)){b=a.5W;d=d.13P;1j(1d e=0;e<d.1h;e++){1d f=d[e];if(f.16Z){1d h=61y[f.16Z];h?h(c,f,b):11l.7k("1jJ 1gO 4LA 3v0 61H 1I "+f.16Z)}}}g(a.4Lz)||(a.4Lz=[]);a.4Lz.1q(c)}};1L.2X(vo.1i,{30h:{1n:1b(){1f 1a.3Me}}});vo.1i.61G=1b(a,b){1a.2OS.1q({1ci:a,2P:0,61E:b});1a.4Ly=!0};vo.1i.61F=1b(a){1a.1Np.1q(a)};vo.1i.11i=1b(){1d a=1a.34l;1a.4Ly||a.5h();1f Z.14G(a.10l,Z.all(1a.1Np))};vo.1i.1pt=1b(){1d a=1===1a.2OS.1h;a&&(1a.43J=Sg.43w());1f 1a.43I(a)};vo.1i.61D=1b(){if(!1a.3uZ){1a.3uZ=!0;1a.4Lx=50;1d a=1a;1if(1b(){a.3uZ=!1;a.43J=Sg.43w();a.43I(!0)},0)}};vo.1i.4Lw=1b(){1d a=1a.2OS;a=a[a.1h-1];1d b=a.2P,c=a.1ci;if(b!==c.1h)1f++a.2P,c[b]};vo.1i.61C=1b(){1d a=1a.2OS;a.9l();1f 0===a.1h?(1a.34l.5h(),!1):!0};vo.1i.43I=1b(a){1j(1d b=1a.30h,c=1a.2OS[1a.2OS.1h-1].61E,d=1a.4Lw();g(d);){1d e=fS[d.16Z];if(g(e)&&(-1!==ya.5Q.3f(d.1fz)||-1!==ya.gx.3f(d.1fz))&&(e(b,d,c,1a),1a.3uZ||Sg.43w()>1a.43J+1a.4Lx)){1a.61D();1f}d=1a.4Lw()}1a.61C()&&a&&1a.43I(!0)};1d Mj={43H:1p 0,5r:1p 0,43G:1p 0,5t:1p 0,43F:1p 0,5G:1p 0},4Ls={18H:1b(a,b,c,d,e){1d f=Wb(c,"9R",ya.5Q),h=Wb(c,"19L",ya.5Q),g=Wb(c,"19L",ya.gx);c=Ym(c,"19r",ya.5Q);f=vy(f,a.5W);d.1K=f;vI(a,d,e,w8(h,g));c&&zC(h,g)&&aS(b,d,e);1f!0},1b1:z8,2me:z8,14x:1b(a,b,c,d,e){b=qd(c,"4Lv",ya.5Q);1d f=qd(b,"2me",ya.5Q),h=qd(f,"9R",ya.5Q);b=a.5W;h=sI(h,b);f=Ym(c,"19r",ya.5Q);1d l=Wb(c,"19L",ya.5Q),k=Wb(c,"19L",ya.gx);k=zC(l,k);l=g(e.12i)?e.12i.1y():ZR();e=e.11M;g(e)&&(l.5M=g(e.2q)?e.2q.1A:y.9r,l.5R=e.1G);d.12i=l;k?(l.16U=!0,l.9i=f?0:1p 0):a.23a||a.3uX||(l.1D=0);a.3uX&&(d.1xu=!0);if(g(h)){a=1g bo(h);c=Xm(c,"61B",ya.5Q);1j(d=0;d<c.1h;d++)1j(f=Xm(c[d],"2me",ya.5Q),e=0;e<f.1h;e++)h=qd(f[e],"9R",ya.5Q),h=sI(h,b),g(h)&&a.1nt.1q(1g bo(h));l.1iD=a}1f!0},4Lu:1b(a,b,c,d,e){1d f=Wb(c,"19L",ya.5Q),h=Wb(c,"19L",ya.gx),g=Xm(c,"16Q",ya.gx),k=Xm(c,"4Lt",ya.gx),n=Xm(c,"16r",ya.5Q);c=Ym(c,"19r",ya.5Q);1d m=zC(f,h),w=a.5W;0<k.1h&&ec("5Q-gx:4Lt","1gO - gx:4Lt are 2S 11J in gx:82i");1d x=1k.2o(g.1h,n.1h);k=[];1j(1d q=[],t=0;t<x;t++){1d r=vy(g[t].8S,w);k.1q(r);q.1q(M.1r3(n[t].8S))}g=1g Qf;g.3uY(q,k);d.1K=g;vI(a,d,e,w8(f,h));y8(d,e);d.1b9=1g Md;0<n.1h&&d.1b9.1r2(1g Ab({4I:q[0],4U:q[q.1h-1]}));m&&c&&aS(b,d,e);1f!0},4Lr:B8,61A:1b(a,b,c,d,e,f){c=c.13P;1j(1d h=!1,l=0,k=c.1h;l<k;l++){1d n=c.1jI(l),m=4Ls[n.16Z];if(g(m)){1d w=p8(n,b,f);w.12f=d;w.2i=d.2i;w.1b9=d.1b9;w.16G=d.16G;w.5Q=d.5Q;m(a,b,n,w,e)&&(h=!0)}}1f h},25N:1b(a,b,c,d,e,f,h,l){1d p=qd(c,"61z",ya.5Q),n=Wb(c,"19L",ya.5Q),m=Wb(c,"19L",ya.gx);f=qd(c,"82h",ya.5Q);1d w=Fc(f,"8e",ya.5Q),x=Fc(f,"1tn",ya.5Q),q=Fc(f,"12C",ya.5Q),t=qd(c,"1S2",ya.5Q);f=Fc(t,"x",ya.5Q);1d r=Fc(t,"y",ya.5Q);t=Fc(t,"z",ya.5Q);c=qd(c,"43E",ya.5Q);c=Wb(c,"17S",ya.5Q);1d u;g(l)&&(u=l[c]);c=rI(c,h,l);if(-1!==c.2I.3f(".1j4"))1f g(a.1qH)||(a.1qH=1g 2YD(a.1B5.2R.1O),a.1B5.2R.13y.add(a.1qH)),b=Wb(p,"3N",ya.5Q),e=Wb(p,"4k",ya.5Q),p=Wb(p,"1eD",ya.5Q),p=vy(b+","+e+","+p),d=-B.8I(w),u=B.8I(x),x=B.8I(q),a.1qH.add(c.2I,[{1K:p,3b:1g k(f,r,t),1oc:1g $b(d,u,x)}]),!0;r=qd(p,"4Lr",ya.gx);g(r)?(e.10i=1g ul({2p:!1}),e.17R=1g Kp({2p:!1}),B8(a,b,r,d,e),d.11f=1g ps(d.1K)):(b=Wb(p,"3N",ya.5Q),e=Wb(p,"4k",ya.5Q),p=Wb(p,"1eD",ya.5Q),p=vy(b+","+e+","+p),d.1K=x8(1g Ji(p),n,m),a=Da.2LY(p,1g $b(w,x,q)),d.11f=a);d.12W={1dr:c.2I,1BI:16,1BH:16,3b:f,1i3:u};1f!0}},fq;"7w"!==2h 3n&&(fq=3n.4O("5u"));1d 61y={82g:1b(a,b,c){1d d=Fc(b,"13k",ya.gx),e=Wb(b,"4Lq",ya.gx),f={5Q:{}};C8(b,f,c);D8(b,f,c);b=1g yC(d,e,f.5Q.3pH||f.5Q.3w);a.4Lp(b)},2CF:1b(a,b){b=Fc(b,"13k",ya.gx);a.4Lp(1g pI(b))},82f:cS,82e:cS,82d:cS},ws={43C:0,43B:1,2Oe:2},61x=1g Q,wy=1g T,eS=1g C,61w=1g k;Sg.1e4=1b(a,b){b=m(b,m.4Z);1f(1g Sg(b)).1e4(a,b)};1L.2X(Sg.1i,{2i:{1n:1b(){1f 1a.6X},1C:1b(a){1a.6X!==a&&(1a.6X=a,1a.1lt.5k(1a))}},14c:{1n:1b(){1f 1a.1aG}},13K:{1n:1b(){1f 1a.17l}},82c:{1n:1b(){1f 1a.1qH}},39m:{1n:1b(){1f 1a.2hC}},2dv:{1n:1b(){1f 1a.1lt}},1cG:{1n:1b(){1f 1a.1vN}},2OR:{1n:1b(){1f 1a.1R4}},82b:{1n:1b(){1f 1a.4Lo}},82a:{1n:1b(){1f 1a.4Ln}},2p:{1n:1b(){1f 1a.17l.2p},1C:1b(a){1a.17l.2p=a}},2hB:{1n:1b(){1f 1a.23b},1C:1b(a){if(!g(a))1t 1g r("1Q 2Q be 2l.");1a.23b=a}},9L:{1n:1b(){1f 1a.1dh}}});Sg.1i.1e4=1b(a,b){if(!g(a))1t 1g r("2g is 1X.");b=m(b,m.4Z);ih.1No(1a,!0);1d c=1a.6X;1a.6X=1p 0;1a.23a=m(b.1d7,!1);1a.3uX=m(b.1xu,!1);1d d=1a;1f gS(1a,1a.17l,a,b).4b(1b(){1d a=d.17l.2CM(),b=a.4I;a=a.4U;1d h=M.2L(b,Za.11Z),g=M.2L(a,Za.1Nq);if(!h||!g){if(h){1d k=1g 16V;k.43x(0,0,0,0);b=M.2dE(k)}g&&(k=1g 16V,k.43x(24,0,0,0),a=M.2dE(k));k=1g Qm;k.18M=b;k.1cU=a;k.1a2=M.1y(b);k.1le=qj.2CL;k.1j6=zf.29o;k.16W=1k.9p(1k.2o(1k.1V(M.1dA(a,b)/60,1),61t))}b=!1;k!==d.1aG&&(d.1aG=k,b=!0);c!==d.6X&&(b=!0);b&&d.1lt.5k(d);ih.1No(d,!1);1f d}).10g(1b(a){ih.1No(d,!1);d.1vN.5k(d,a);11l.7k(a);1f Z.7N(a)})};1d zX=1g Ia;Sg.1i.2H=1b(a){1b b(a){a=a.1R2;1j(1d c=a.1h,d=0;d<c;++d){1d e=a[d];zX.1C(e.id,e);b(e)}}a=1a.43y;if(0===a.1h)1f!0;1d c=M.14H(),d=1a;zX.7f();1d e=!1,f=1a.43D,h=1a.1B5;!g(h)||h.6K.5T(f.1K,B.1hn)&&h.18k.5T(f.2G,B.1hn)&&h.1je.5T(f.up,B.1hn)||(f.1K=k.1y(h.6K),f.2G=k.1y(h.18k),f.up=k.1y(h.1je),f.1bD=h.4yz(),e=!0);1d l=1g Ia,p=!1;a.2a.12I(1b(a){1d h=a.13a;if(!zX.8h(h.id)){if(!a.2OQ){1d g=!1;a.1Ex===ws.43C?M.1dA(c,a.4Lm)>a.6q&&(g=!0):a.1Ex===ws.43B?M.1bP(c,a.6q)&&(g=!0):a.1Ex===ws.2Oe&&(e&&(a.43A=!0,a.4Ll=c),a.43A&&M.1dA(c,a.4Ll)>=a.6q&&(g=!0));if(g){b(h);a.2OQ=!0;g=1g Se;1d k=a.17S.1y();k.1qN(a.2MI);1d n=m(d.5W,ba.9y);$R(k,d.1B5,d.10C,a.43z,f.1bD,n);gS(d,g,k,{1O:h.id}).4b(61v(d,a,g,l,k)).10g(1b(b){b="4Lk "+a.17S+" 20z 1bf: "+b;11l.7k(b);d.1vN.5k(d,b)});p=!0}}l.1C(a.id,a)}});p&&(1a.43y=l,1a.1lt.5k(1a));1f!0};Sg.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};Sg.1i.1PK=1b(a,b){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=b?1<<a|1a.11h:~(1<<a)&1a.11h;g(1a.1qH)&&1a.1qH.1PK(a,b)};Sg.829=1b(a,b){b=m(b,m.4Z);1f(1g Sg(b)).1dD(a,b)};Sg.1i.1dD=1b(a,b){if(!g(a))1t 1g r("2g is 1X.");ih.1No(1a,!0);1d c=1a.6X;1a.6X=1p 0;1a.1Np=[];1d d=1a;1f 61u(1a,1a.17l,a,b).4b(1b(){1f Z.all(d.1Np,1b(){1d a=d.17l.2CM(),b=a.4I;a=a.4U;1d h=M.2L(b,Za.11Z),g=M.2L(a,Za.1Nq);if(!h||!g){if(h){1d k=1g 16V;k.43x(0,0,0,0);b=M.2dE(k)}g&&(k=1g 16V,k.43x(24,0,0,0),a=M.2dE(k));k=1g Qm;k.18M=b;k.1cU=a;k.1a2=M.1y(b);k.1le=qj.2CL;k.1j6=zf.29o;k.16W=1k.9p(1k.2o(1k.1V(M.1dA(a,b)/60,1),61t))}b=!1;k!==d.1aG&&(d.1aG=k,b=!0);c!==d.6X&&(b=!0);b&&d.1lt.5k(d);ih.1No(d,!1);d.1Np=1p 0;1f d})}).10g(1b(a){ih.1No(d,!1);d.1vN.5k(d,a);11l.7k(a);1f Z.7N(a)})};Sg.61s=vo;Sg.43w=Kd;1d 61r=y.9r,61q=y.1a7;1L.2X(xy.1i,{5g:{1n:1b(){1f F.5g(1a.7a)&&F.5g(1a.16O)&&F.5g(1a.16n)}},13C:{1n:1b(){1f 1a.8B}},1A:Y("1A"),5M:Y("5M"),5R:Y("5R")});xy.1i.1bu=1b(a){1f"43v"};xy.1i.3K=1b(a,b){g(b)||(b={});b.1A=F.1pW(1a.7a,a,61r,b.1A);b.5M=F.1pW(1a.16O,a,61q,b.5M);b.5R=F.7q(1a.16n,a,1);b.43u=1==1a.4Lj?1:0;b.61p=6.18E-4*1bR.14H()-1.825-1a.61o;1f b};xy.1i.2L=1b(a){1f 1a===a||a 2m xy&&F.2L(1a.7a,a.7a)&&F.2L(1a.16O,a.16O)&&F.2L(1a.16n,a.16n)};AC.1i.2H=r.8i;AC.1i.1cS=r.8i;AC.1i.3Z=r.8i;AC.1i.1M=r.8i;1d BC=1L.3F({6i:0,824:1}),ys=1L.3F({4Li:"4Li",2CK:"2CK"});1L.2X(xs.1i,{13k:{1n:1b(){1f 1a.1oi},1C:1b(a){a&&(1a.1oi=a)}},2CJ:{1n:1b(){1f 1a.4Lh},1C:1b(a){a&&(1a.4Lh=a)}},8e:{1n:1b(){1f 1a.1Ef},1C:1b(a){a&&(1a.1Ef=a)}},1tn:{1n:1b(){1f 1a.4Lg},1C:1b(a){a&&(1a.4Lg=a)}},39l:{1n:1b(){1f 1a.4Lf},1C:1b(a){a&&(1a.4Lf=a)}},7v:{1n:1b(){1f 1a.2CI},1C:1b(a){1a.2CI=a}},1sx:{1n:1b(){1f 1a.1MI},1C:1b(a){a&&(1a.1MI=a)}},2CH:{1n:1b(){1f 1a.4Le},1C:1b(a){a&&(1a.4Le=a)}},39k:{1n:1b(){1f 1a.4Ld},1C:1b(a){a&&(1a.4Ld=a)}},2P:{1n:1b(){1f 1a.12N}},10l:{1n:1b(){1f 1a.4Lc},1C:1b(a){a&&(1a.4Lc=a)}}});1d hS=1L.3F({61n:0,61m:1}),Tg={2ON:0,3uV:1,27A:2,2CF:3};1L.2X(Iv.1i,{2hz:{1n:1b(){1f 1a.1Nm},1C:1b(a){a&&(1a.1Nm=a)}},820:{1n:1b(){1f 1a.4Lb}},4La:{1n:1b(){1f 1a.2OO},1C:1b(a){if(g(a)&&1==1a.1Nm.3o){1d b=1a.1Nm.2hz[0].1R3.1h-1;a=a>b?b:a;1a.2OO=0>a?0:a}}},43r:{1n:1b(){if(1a.1Nm.3o)1f 1a.1Nm.2hz[0]}},9c:{1n:1b(){1f 1a.1Nm.9c}},81Z:{1n:1b(){1f 1a.3uW},1C:1b(a){if(a&&0!==a&&1a.3uW!==a&&(1a.3uW=a,1a.1BG===Tg.2ON)){1a.2R.3w.3pN();a=1a.1Nm.2hz[0].1n(1a.2OP);1d b=1g xs({}),c;1j(c in a)b[c]=a[c];b.7v=1a.2R.3w.9M;gq(1a,1a.2OP+1,b)}}},81Y:{1n:1b(){1f 1a.43t},1C:1b(a){1a.43t=a}},3pI:{1n:1b(){1f 1a.43s},1C:1b(a){1a.43s=a}}});Iv.1i.20e=1b(){if(1a.43r&&1a.1BG!==Tg.2ON){if(1a.1BG===Tg.3uV)1a.2CG&&1a.2R.3w.2fQ?1a.2CG.32B.61l():gq(1a,1a.2OP+1);1s{if(1a.4La>=1a.1Nm.2hz[0].1R3.1h-1){1a.1BG=Tg.27A;1f}gq(1a,1a.4La)}1a.1BG=Tg.2ON}};Iv.1i.1TN=1b(){1a.1BG===Tg.2ON?(1a.2CG=1a.2R.3w.2fQ,1a.2CG.32B.1TN(),1a.1BG=Tg.3uV):1a.1BG===Tg.2CF&&(1a.1BG=Tg.3uV)};Iv.1i.4U=1b(){(1a.2CG=1a.2R.20x.1n(0))&&1a.1BG!==Tg.27A?(1a.2CG.3QA(),1a.1BG=Tg.27A,1a.2CG=1p 0):1a.1BG===Tg.2CF&&(1a.1BG=Tg.27A);1a.2OP=1a.2OO};Iv.1i.81X=1b(a){if(a&&1a.1BG!==Tg.2ON){1d b=1a.2R.3w,c=g(a.2G)?{2G:a.2G,up:a.up}:{8e:a.8e,8q:a.1tn,12C:0};b.1dG({16h:a.7v,11f:c})}};Iv.1i.81W=1b(){1f 1a.43r?1a.43r.1R3:[]};1L.2X(zs.1i,{1R3:{1n:1b(){1f 1a.1Nn}},4L9:{1n:1b(){1f 1a.2OM},1C:1b(a){g(a)&&a!==1a.2OM&&(1a.2OM=a,1a.61h())}},43q:{1n:1b(){1f 1a.4L8},1C:1b(a){a&&(1a.4L8=a)}},43k:{1n:1b(){1f 1a.3uT},1C:1b(a){g(a)&&a!==1a.3uT&&(1a.3uT=a,1a.61i())}},61f:{1n:1b(){1f 1a.39j},1C:1b(a){g(a)&&(1a.39j=a)}},3uS:{1n:1b(){1f 1a.4L7},1C:1b(a){a&&(1a.4L7=a)}},1sx:{1n:1b(){1f 1a.1MI},1C:1b(a){if(a&&a!=1a.1MI){1a.1MI=a;a=1a.1sx;1j(1d b=1a.1R3,c=0,d=b.1h;c<d-1;c++){1d e=b[c];e.13k=1k.8a(e.61k/a)}}}},43p:{1n:1b(){1f 1a.1Nn.1h}},4L6:{1n:1b(){1f 1a.43o},1C:1b(a){g(a)&&(1a.43o=a)}},61j:{1n:1b(){1f 1a.4L5}},43n:{1n:1b(){1f 1a.4L4},1C:1b(a){g(a)&&(1a.4L4=a)}},43m:{1n:1b(){1f 1a.4L3},1C:1b(a){g(a)&&(1a.4L3=a)}},43l:{1n:1b(){1f 1a.4L2},1C:1b(a){g(a)&&(1a.4L2=a)}}});zs.1i.3uU=1b(a){if(!a)1t 1g r("2eu 4U is 1X!");if(!(a 2m xs))1t 1g r("2eu 4U 2Q be 2m 5gi!");1a.1Nn.1q(a);a.12N=1a.1Nn.1h-1;if(g(1a.17l)&&1a.2OM){1d b=1a.17l.add({1K:a.7v,10i:{4d:cb("1ja/1or/43e/4KV.12H"),3b:.5}});1a.2CE.1q(b)}if(1a.4L1&&2<1a.1Nn.1h)if(g(1a.2hA)){b=[].9V(1a.2hA.12K);1d c=[].9V(1a.2hA.5I);b.1q((0<b.1h?b[b.1h-1]:0)+(0<1a.1Nn.1h?1a.1Nn[1a.1Nn.1h-2].1oi:0));c.1q(a.7v);1a.2hA=1g Em({12K:b,5I:c})}1s{a=[0];b=[1a.1Nn[0].7v];c=0;1j(1d d=1;d<1a.1Nn.1h;d++){1d e=1a.1Nn[d-1];b.1q(1a.1Nn[d].7v);c+=e.13k;a.1q(c)}1a.2hA=1g Em({12K:a,5I:b})}1f!0};zs.1i.61i=1b(){if(g(1a.17l)){if(!g(1a.39j)){1j(1d a=1a.1R3,b=a.1h,c=[];b--;)c.1q(a[b].7v);1a.39j=1a.17l.add({2i:1a.3uS,11M:{3q:c,1G:5}})}1a.39j.2p=1a.3uT}};zs.1i.61h=1b(){if(g(1a.17l)){if(0===1a.2CE.1h&&1a.2OM)1j(1d a=1a.1R3,b=a.1h;b--;){1d c=1a.17l.add({1K:a[b].7v,10i:{4d:cb("1ja/1or/43e/4KV.12H"),3b:.5}});1a.2CE.1q(c)}a=0;1j(b=1a.2CE.1h;a<b;a++)c=1a.2CE[a],c.2p=1a.2OM}};zs.1i.1n=1b(a){1f 1a.1Nn[a]};zs.1i.9P=1b(){1a.4L1=!0;1j(1d a=0;a<1a.2CE.1h;a++)1a.17l.3S(1a.2CE[a]);1a.1Nn.1h=0;g(1a.2hA)&&(1a.2hA=1p 0)};1L.2X(yy.1i,{2hz:{1n:1b(){1f 1a.1Nm}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S}}});yy.1i.61g=1b(a){if(a&&(1a.1Nm.1q(a),a.43k&&g(1a.17l))){1j(1d b=a.1R3,c=b.1h,d=[];c--;)d.1q(b[c].7v);a.61f=1a.17l.add({2i:a.3uS,11M:{3q:d,1G:5}})}};yy.1i.1n=1b(a){1f 1a.1Nm[a]};yy.1i.81V=1b(a){1d b=1a;Z(zj(a),1b(a){F8(b,a)},1b(){b.7S.7N()})};yy.1i.81U=1b(a){if(!g(a))1t 1g r("1g3 15k is 1X to 6F 2hz!");a=(1g 27n).27q(a,"3l/1g3");10G{F8(1a,a)}11B(b){1t 1g r(b);}};DC.1i.81T=1b(){1d a=1g DC;a.2fY=1a.2fY;a.3uE=1a.3uE;a.4L0=1a.4L0;a.43j=1a.43j;a.1aV=1a.1aV;a.1Qg=1a.1Qg;if(1F!=1a.3uR){1j(1d b=[],c=0;c<1a.3uR.1h;c++)b.1q(1a.3uR[c]);a.3uR=b}a.1Nl=[];1j(c=0;c<1a.43j;c++)a.1Nl[c]=1g k,a.1Nl[c].x=1a.1Nl[c].x,a.1Nl[c].y=1a.1Nl[c].y,a.1Nl[c].z=1a.1Nl[c].z;1f a};DC.1i.81S=1b(a,b){a=1g k(3a.6w,3a.6w,3a.6w);b=1g k(3a.1Mg,3a.1Mg,3a.1Mg);1j(1d c=0,d=1a.1Nl.1h;c<d;c++){1d e=1a.1Nl[c];a.x>e.x&&(a.x=e.x);a.y>e.y&&(a.y=e.y);a.z>e.z&&(a.z=e.z);b.x<e.x&&(b.x=e.x);b.y<e.y&&(b.y=e.y);b.z<e.z&&(b.z=e.z)}};zy.1kI=1p 0;1d Ay={sh:1b(a){1f(1k.3r(1k.E,a)-1k.3r(1k.E,-a))/2},4KZ:1b(a){1f 1k.7k(a+1k.3Y(a*a+1),1k.E)}};zy.1i.81R=1b(a){if(!a 2m DC||1F==a.1Nl||2>a.1Nl.4AJ)1f 1F};zy.1i.81Q=1b(a){if(!(a.5I 2m 2K&&g(a.5I[0].1jM)&&g(a.5I[0].9o)))1t 1g r("3v.5I is 1X and 2Q 3lB [{1jM : 0, 9o : 1}, {1jM : 1, 9o : 2}]");1j(1d b=[],c=m(a.2eJ,""),d=m(a.4Fx,1g C(30,1)),e=m(a.81P,!1),f=m(a.81O,1g C(0,500)),h=m(a.81N,1g C(500,5E4)),l=m(a.19g,y.9r),p=0,n=a.5I.1h;p<n;p++){1d z=a.5I[p].1jM,w=a.5I[p].9o;z=H8(z);w=H8(w);w=1a.61e(z,w);z=[];1d x=1F,q=k.8g(w[0].x,w[0].y,w[0].z);if(0===1a.2CD.1h)1a.2CD.1q(q),x=1a.2CD[0];1s{1j(1d t=0;t<1a.2CD.1h;t++)if(1E4>k.3s(1a.2CD[t],q)){x=1a.2CD[t];1W}g(x)||(x=q,1a.2CD.1q(q))}1j(q=0;q<w.1h;q++)t=k.8g(w[q].x,w[q].y,w[q].z),z.1q(t);if(1<z.1h){w=z;q=1a.r;if(g(AX["10D"+q]))q=AX["10D"+q];1s{t=[];1j(1d u=0;360>u;){1d v=B.8I(u);t.1q(1g C(q*1k.3i(v),q*1k.2T(v)));u+=11.25}q=AX["10D"+q]=t}w=1g cv({3q:w,1kI:x,1Nk:q,2q:1g eo({4d:c,12G:d,18b:e}),4S:1g ob(f.x,f.y)});z=1g pk({3q:z,4S:1g ob(h.x,h.y),1G:2,2q:l});z=1g wd({2CC:w,11M:z});b.1q(z)}}1f b};1d AX={};zy.1i.61e=1b(a,b){if(!(a 2m k&&b 2m k))1t 1g r("81M and 81L 2Q be 4j6!");if(a.x==b.x&&a.y==b.y&&a.z==b.z)1f[1g k(a.x,a.y,a.z)];1d c=AI(a),d=AI(b);c=1g k(d.x-c.x,d.y-c.y,d.z-c.z);1d e=1k.3Y(c.x*c.x,c.y*c.y,c.z*c.z);c=2K(1a.2CB+2);1d f=b.z-a.z;d=f/e;d=1k.3Y(1-d*d)||1;I8(1a.a0,1a.r,f,e*d);1d h=e/(1a.2CB+1);1a.2hy.l=e*d;1a.2hy.h=f;1j(e=0;e<=1a.2CB+1;e++)if(f=1g k((b.x-a.x)*e/(1a.2CB+1),(b.y-a.y)*e/(1a.2CB+1),(b.z-a.z)*e/(1a.2CB+1)),c[e]=1g k(a.x+f.x,a.y+f.y,a.z+f.z),0!=e||e!=1a.2CB+1)f=h*e,1a.2hy.fx(f*d),c[e].z-=1a.2hy.fx(f*d);1f c};zy.1i.81K=1b(a,b,c){1d d=AI(a),e=AI(b);d=1g k(e.x-d.x,e.y-d.y,e.z-d.z);d=1k.3Y(d.x*d.x+d.y*d.y+d.z*d.z);e=b.z-a.z;1d f=e/d;f=1k.3Y(1-f*f);I8(1a.a0,1a.r,e,d*f);1a.2hy.l=d*f;1a.2hy.h=e;e=c/1a.2hy.l;1d h=1g k(b.x-a.x,b.y-a.y,b.z-a.z);b=h.x;f=h.y;h=h.z;1d g=1k.3Y(b*b+f*f+h*h);h=1g k(b/g,f/g,h/g);d=1g k(h.x*d*e,h.y*d*e,h.z*d*e);a=1g k(a.x+d.x,a.y+d.y,a.z+d.z);a.z-=1a.2hy.fx(c);1f a};zI.1i.fx=1b(a){1d b=8*1k.3r(10,-5)*1a.k,c=1a.43i(),d=1a.h/1a.l*a,e=2/b;a=Ay.sh(b*(2*c-a)/2)*Ay.sh(b*a/2);1f d+e*a};zI.1i.43i=1b(){1d a=8*1k.3r(10,-5)*1a.k;1f.5*1a.l-1/a*Ay.4KZ(1a.h*a/2/Ay.sh(a*1a.l/2))};By.1i=1g Re;By.1i.7m=By;1L.2X(By.1i,{81J:{1n:1b(){1f 1a.43h},1C:1b(a){"4n"===2h a&&(1a.43h=a,1a.10i.4d=a)}},61d:{1n:1b(){1f 1a.1G},1C:1b(a){"2b"===2h a&&(1a.1G=a,1a.10i.1G=a)}},32G:{1n:1b(){1f 1a.1D},1C:1b(a){"2b"===2h a&&(1a.1D=a,1a.10i.1D=a)}}});By.1i.11K=1b(){1a.1I=Je.4KY;1a.1G=1a.1D=100;1a.43h="";1a.10i={4d:"",1G:100,1D:100}};wo.1i=1g Re;wo.1i.7m=wo;1L.2X(wo.1i,{81I:{1n:1b(){1f 1a.1h},1C:1b(a){"2b"===2h a&&(1a.1h=a,1a.13F.6e.x=a,1a.1u7=!0)}},61d:{1n:1b(){1f 1a.1G},1C:1b(a){"2b"===2h a&&(1a.1G=a,1a.13F.6e.y=a,1a.1u7=!0)}},32G:{1n:1b(){1f 1a.1D},1C:1b(a){"2b"===2h a&&(1a.1D=a,1a.13F.6e.z=a,1a.1u7=!0)}}});wo.1i.11K=1b(a,b,c){1a.1I=Je.3ZQ;1a.1h=a;1a.1G=b;1a.1D=c;1a.13F={6e:1g k(a,b,c),9S:za.2q4}};wo.1i.2nu=1b(){1f 0<1a.1h&&1a.1G&&0<1a.1D};wo.1i.2CA=1b(){1d a=yf.25S(1a.13F);1a.16b=yf.14t(a);1a.1u7=!1};wo.1i.2m6=1b(){1f 1g gi(1a.1K.x,1a.1K.y,1a.1K.z+1a.1D/2)};wo.1i.2OL=1b(a){1d b=1g 10Y(24);b[0]=0;b[1]=1;b[2]=1;b[3]=2;b[4]=2;b[5]=3;b[6]=3;b[7]=0;b[8]=4;b[9]=5;b[10]=5;b[11]=6;b[12]=6;b[13]=7;b[14]=7;b[15]=4;b[16]=1;b[17]=5;b[18]=2;b[19]=6;b[20]=0;b[21]=4;b[22]=3;b[23]=7;b=Ra.17Q({1O:a,5b:b,7Q:xa.7C,17P:Ta.10P});1d c=[];c.1q({2P:0,7e:1a.2OK(a),2Z:3,3k:I.3O,9n:0,9t:0,1T:!1});1f 1g Fb({1O:a,2w:c,10X:b})};Bs.1i=1g Re;Bs.1i.7m=Bs;1L.2X(Bs.1i,{612:{1n:1b(){1f 1a.3L},1C:1b(a){"2b"===2h a&&(1a.3L=a,1a.1fc.1aP=a,1a.1fc.19p=a)}}});Bs.1i.11K=1b(a){1a.1I=Je.61c;1a.3L=a;1a.1fc={1aP:a,19p:a}};Bs.1i.2nu=1b(){1f 0<1a.3L};Bs.1i.2m6=1b(){1f 1g 5gy(1a.1K.x,1a.1K.y,1a.1K.z)};xo.1i=1g Re;xo.1i.7m=xo;1L.2X(xo.1i,{61b:{1n:1b(){1f 1a.1fd},1C:1b(a){"2b"===2h a&&(1a.1fd=a,1a.1pV.1fd=a,1a.1u7=!0)}},32G:{1n:1b(){1f 1a.1D},1C:1b(a){"2b"===2h a&&(1a.1D=a,1a.1pV.1h=a,1a.1u7=!0)}}});xo.1i.11K=1b(a,b){1a.1I=Je.3ZR;1a.1D=b;1a.1fd=a;1a.1pV={1h:b,1i1:0,1fd:a,9S:za.2q4}};xo.1i.1y=1b(){1f 1g xo(1a.1fd,1a.1D)};xo.1i.2CA=1b(){1d a=1g vj(1a.1pV);1a.16b=vj.14t(a);1a.1u7=!1};xo.1i.2OL=1b(a){1j(1d b=1g 10Y(768),c=0,d=0;256>d;d+=2)b[c++]=d,b[c++]=d+1,b[c++]=d,b[c++]=d+2,b[c++]=d+1,b[c++]=d+3;b[c-1]=1;b=Ra.17Q({1O:a,5b:b,7Q:xa.7C,17P:Ta.10P});c=[];c.1q({2P:0,7e:1a.2OK(a),2Z:3,3k:I.3O,9n:0,9t:0,1T:!1});1f 1g Fb({1O:a,2w:c,10X:b})};yo.1i=1g Re;yo.1i.7m=yo;1L.2X(yo.1i,{5wN:{1n:1b(){1f 1a.1i1},1C:1b(a){"2b"===2h a&&(1a.1i1=a,1a.1pV.1i1=a,1a.1u7=!0)}},61b:{1n:1b(){1f 1a.1fd},1C:1b(a){"2b"===2h a&&(1a.1fd=a,1a.1pV.1fd=a,1a.1u7=!0)}},32G:{1n:1b(){1f 1a.1D},1C:1b(a){"2b"===2h a&&(1a.1D=a,1a.1pV.1h=a,1a.1u7=!0)}}});yo.1i.11K=1b(a,b,c){1a.1I=Je.1P5;1a.1D=c;1a.1i1=a;1a.1fd=b;1a.1pV={1h:c,1i1:a,1fd:b,9S:za.2q4}};yo.1i.1y=1b(){1f 1g yo(1a.1i1,1a.1fd,1a.1D)};yo.1i.2CA=1b(){1d a=1g vj(1a.1pV);1a.16b=vj.14t(a);1a.1u7=!1};yo.1i.2OL=1b(a){1j(1d b=1g 10Y(768),c=0,d=0;256>d;d+=2)b[c++]=d,b[c++]=d+1,b[c++]=d,b[c++]=d+2,b[c++]=d+1,b[c++]=d+3;b[c-1]=1;b=Ra.17Q({1O:a,5b:b,7Q:xa.7C,17P:Ta.10P});c=[];c.1q({2P:0,7e:1a.2OK(a),2Z:3,3k:I.3O,9n:0,9t:0,1T:!1});1f 1g Fb({1O:a,2w:c,10X:b})};zo.1i=1g Re;zo.1i.7m=zo;1L.2X(zo.1i,{81H:{1n:1b(){1f 1a.1CF},1C:1b(a){"2b"===2h a&&(1a.1CF=a,1a.3c.10N.x=a,1a.1u7=!0)}},81G:{1n:1b(){1f 1a.1Le},1C:1b(a){"2b"===2h a&&(1a.1Le=a,1a.3c.10N.z=a,1a.1u7=!0)}},81F:{1n:1b(){1f 1a.1Ap},1C:1b(a){"2b"===2h a&&(1a.1Ap=a,1a.3c.10N.y=a,1a.1u7=!0)}}});zo.1i.11K=1b(a,b,c){1a.1I=Je.3ZO;1a.1CF=a;1a.1Le=b;1a.1Ap=c;1a.3c={10N:1g k(a,c,b),9S:za.2q4}};zo.1i.2nu=1b(){1f 0<1a.1CF&&1a.1Le&&0<1a.1Ap};zo.1i.2m6=1b(){1f 1g gi(1a.1K.x,1a.1K.y,1a.1K.z+1a.1Ap)};zo.1i.2CA=1b(){1d a=1g $e(1a.3c);1a.16b=$e.14t(a);1a.1u7=!1};zo.1i.2OL=1b(a){1a.2NJ();1j(1d b=0,c=1g 10Y(611),d=0;67>d;d++)1j(1d e=67*d,f=0;66>f;f++)c[b++]=e+f,c[b++]=e+f+1;1j(d=0;67>d;d++)1j(e=0;65>e;e++)c[b++]=67+d+67*e,c[b++]=67+d+67*(e+1);b=Ra.17Q({1O:a,5b:c,7Q:xa.7C,17P:Ta.10P});c=[];c.1q({2P:0,7e:1a.2OK(a),2Z:3,3k:I.3O,9n:0,9t:0,1T:!1});1f 1g Fb({1O:a,2w:c,10X:b})};Ao.1i.add=1b(a){a 2m gi&&1a.1zA.1q(a)};Ao.1i.7f=1b(){1a.1zA=[]};Bo.1i=1g Re;Bo.1i.7m=Bo;Bo.1i.12f=Re.1i;1L.2X(Bo.1i,{43g:{1n:1b(){1f 1a.1BF.1h}}});Bo.1i.11K=1b(a){1a.1BF=[];1a.11M={3q:[],1G:10};1a.5I=[];1j(1d b=0,c=a.1h;b<c;b++){1d d=a[b].1zA.1h;1a.1BF.1q(d);if(0<d)1j(1d e=0;e<d;e++){1d f=a[b].1zA[e];1a.5I.1q(f);1a.11M.3q.1q(f)}}1a.1I=Je.61a};Bo.1i.616=1b(a){if(!(!a 2m Ao)){1j(1d b=0,c=a.1zA.1h;b<c;b++)1a.5I.1q(a.1zA[b]),1a.11M.3q.1q(a.1zA[b]);1a.1BF.1q(a.1zA.1h)}};Bo.1i.613=1b(a){if("2b"!==2h a||a>=1a.43g)1f 1F;1j(1d b=1g Ao,c=0,d=0;d<a;d++)c+=1a.1BF[d];1j(d=c;d<1a.1BF[a];d++)b.add(1g gi(1a.5I[d].x,1a.5I[d].y,1a.5I[d].z));1f b};Lv.1i=1g Re;Lv.1i.7m=Lv;Lv.1i.12f=Re.1i;1L.2X(Lv.1i,{81E:{1n:1b(){1f 1a.4KX},1C:1b(a){"4n"===2h a&&(1a.4KX=a)}}});Lv.1i.11K=1b(){1a.4KX="";1a.1I=Je.4KW};Mv.1i=1g Re;Mv.1i.7m=Mv;Mv.1i.12f=Re.1i;1L.2X(Mv.1i,{X:{1n:1b(){1f 1a.x},1C:1b(a){"2b"===2h a&&(1a.x=a)}},Y:{1n:1b(){1f 1a.y},1C:1b(a){"2b"===2h a&&(1a.y=a)}},Z:{1n:1b(){1f 1a.z},1C:1b(a){"2b"===2h a&&(1a.z=a)}}});Mv.1i.11K=1b(a){1a.x=m(a.x,0);1a.y=m(a.y,0);1a.z=m(a.z,0);1a.1I=Je.619};Co.1i=1g Re;Co.1i.7m=Co;Co.1i.12f=Re.1i;1L.2X(Co.1i,{43g:{1n:1b(){1f 1a.1BF.1h}},9i:{1n:1b(){1f 1a.1d5},1C:1b(a){1a.1d5=a;1a.12i.9i=a;1a.1u7=!0}},28L:{1n:1b(){1f 1a.12i.1D},1C:1b(a){1a.12i.1D=a;1a.12i.16U=!1;1a.1u7=!0}}});Co.1i.11K=1b(a){1a.1I=Je.32i;1a.1BF=[];1a.5I=[];1a.12i={3q:[],9i:1a.9i,16U:!0};1j(1d b=0,c=a.1h;b<c;b++){1d d=a[b].1zA.1h;1a.1BF.1q(d);if(0<d)1j(1d e=0;e<d;e++)1a.12i.3q.1q(k.8g(a[b].1zA[e].x,a[b].1zA[e].y,a[b].1zA[e].z)),1a.5I.1q(1g gi(a[b].1zA[e].x,a[b].1zA[e].y,a[b].1zA[e].z))}1a.1I=Je.32i};Co.1i.616=1b(a){if(!(!a 2m Ao)){1j(1d b=0,c=a.1zA.1h;b<c;b++){1d d=a.1zA[b];1a.5I.1q(d);1a.12i.3q.1q(k.8g(d.x,d.y,d.z))}1a.1BF.1q(a.1zA.1h)}};Co.1i.613=1b(a){if("2b"!==2h a||a>=1a.43g)1f 1F;1j(1d b=1g Ao,c=0,d=0;d<a;d++)c+=1a.1BF[d];1j(d=c;d<1a.1BF[a];d++)b.add(1g gi(1a.5I[d].x,1a.5I[d].y,1a.5I[d].z));1f b};Co.1i.2CA=1b(){1d a=tc.25R(1a.12i);1a.16b=tc.14t(a);1a.1u7=!1};Do.1i=1g Re;Do.1i.7m=Do;1L.2X(Do.1i,{612:{1n:1b(){1f 1a.3L},1C:1b(a){"2b"===2h a&&(1a.3L=a,1a.3c.10N.x=a,1a.3c.10N.y=a,1a.3c.10N.z=a,1a.1cq.3L=a,1a.1u7=!0)}}});Do.1i.11K=1b(a){1a.1I=Je.3ZP;1a.3L=a;1a.3c={10N:1g k(a,a,a)};1a.1cq={3L:a,9S:za.2q4}};Do.1i.2nu=1b(){1f 0<1a.3L};Do.1i.2m6=1b(){1f 1g gi(1a.1K.x,1a.1K.y,1a.1K.z+1a.3L)};Do.1i.2CA=1b(){1d a=1g Qr(1a.1cq);1a.16b=Qr.14t(a);1a.1u7=!1};Do.1i.2OL=1b(a){1a.2NJ();1j(1d b=0,c=1g 10Y(611),d=0;67>d;d++)1j(1d e=67*d,f=0;66>f;f++)c[b++]=e+f,c[b++]=e+f+1;1j(d=0;67>d;d++)1j(e=0;65>e;e++)c[b++]=67+d+67*e,c[b++]=67+d+67*(e+1);b=Ra.17Q({1O:a,5b:c,7Q:xa.7C,17P:Ta.10P});c=[];c.1q({2P:0,7e:1a.2OK(a),2Z:3,3k:I.3O,9n:0,9t:0,1T:!1});1f 1g Fb({1O:a,2w:c,10X:b})};1d N8=1g k,M8=1g P,L8=1g k;EC.1i.1M=1b(){if(1a.3Z)1t 1g r("43f is 3uQ.");1a.3Z=!0;1a.6o.4r.1Do.2zO=!0;1a.1kG.1M();1a.6o.13K.3S(1a.1Bu);1a.6o.13K.3S(1a.2hx);1a.6o.13K.3S(1a.39i);1a.6o.13K.3S(1a.39h);1a.6o.13K.3S(1a.39g);1a.6o.13K.3S(1a.39f);1a.6o.13K.3S(1a.39e);1a.6o.13K.3S(1a.39d);1a.6o.13K.3S(1a.39c)};EC.1i.2Hz=1b(){if(1a.3Z)1t 1g r("43f is 3uQ.");1a.2ls=!0;K8(1a,!0)};EC.1i.1LJ=1b(){if(1a.3Z)1t 1g r("43f is 3uQ.");1a.6o.4r.1Do.2zO=!0;1a.2ls=!1;K8(1a,!1)};EC.1i.4KS=1b(a){if(1a.3Z)1t 1g r("43f is 3uQ.");if(!g(a.13F))1t 1g r("19P 81D to be a 13F.");1d b=1a.1Bu.11f.3K(0),c=1a.1Bu.1K.3K(0),d=1a.1Bu.13F.6e.3K(0);1a.13F.11f=1g Vd(1b(){1f b},!1);1a.13F.1K=1g Vd(1b(){1f c},!1);1a.13F.13F.6e=1g Vd(1b(){1f d},!1);1a.13F=a;1a.1oc=J8(a);1a.1kH=Da.1nq(a.1K.3K(0),1a.1oc);1a.1VU=A.12Z(1a.1kH,1g A);1a.2V=1a.13F.1K.3K(0);1a.6e=1a.13F.13F.6e.3K(0);1a.1Bu.11f=Da.2LY(1a.2V,1a.1oc);1a.5I=jS(1a)};1d Xc=1L.3F({1P1:0,1zL:1,29n:2,3uO:3}),Wh=1L.3F({18H:0,2l8:1,14x:2,1LI:3,2bu:4}),Ew=1L.3F({33C:0,1wO:1,5zZ:2}),Ht=1b(a,b,c){if(!g(a)||!g(b))1t 1g r("6o and 3z is 1X!");1a.1kG=1g Ne(a.4r.3M);1a.6o=a;1a.3z=b;1a.1hv=m(c,Xc.1P1);1a.1ih=1a.1Ev=!1;1a.610=1g sa;1a.438=1g sa;1a.236=!0;1a.60W=1g sa};1L.2X(Ht.1i,{2dj:{1n:1b(){1f 1a.610}},392:{1n:1b(){1f 1a.438}},60I:{1n:1b(){1f 1a.1hv},1C:1b(a){1a.1hv===Xc.3uO||a===Xc.3uO?1a.1hv=Xc.3uO:g(a)&&a!=1a.1hv&&(1a.1hv=a,g(1a.12i)&&(a===Xc.1P1?(1a.12i.12i.16U.1cf(!0),1a.12i.1xu=!1):a===Xc.1zL?(1a.12i.12i.16U.1cf(!1),1a.12i.1xu=!1):a===Xc.29n&&(1a.12i.12i.16U.1cf(!1),1a.12i.1xu=!0)))}},2Y9:{1n:1b(){1f 1a.236},1C:1b(a){1a.236=a}}});Ht.1i.2Hz=1b(){if(1!=1a.1ih){1a.1ih=!0;1d a=1a;1a.1kG.1a1(1b(b){if(a&&a.1ih){1d c=a.6o.4r;if(c.2K3){if(c=c.1Gj(b.1K))if(a.1Ev)6U(b=1g C(b.1K.x,b.1K.y),a.3z){1S Wh.2l8:O8(b,a,!0);1W;1S Wh.14x:P8(b,a,!0)}1s 6U(a.1Ev=!0,a.3z){1S Wh.18H:g(a.5I)?a.7v.1K=c:(a.5I=1g Li({2Cx:!1}),a.7v=a.5I.add({1K:c,12Q:10,1A:y.9r}),a.6o.4r.13y.add(a.5I));a.1LJ();a.2dj.5k({2c:a.7v});1W;1S Wh.2l8:g(a.1cp)?(a.11M.2p=!0,a.11M.3q=[c,c]):(b=a.236,a.1cp=1g Bf({2Op:pa.4t({13Q:b,9J:{3e:b}})}),a.11M=a.1cp.add({1G:2,3q:[c,c],2q:va.1kk(va.1oL,{1A:y.5X("#398")})}),a.6o.4r.13y.add(a.1cp));1W;1S Wh.14x:60Z(c,a);1W;1S Wh.1LI:T.12y(c),g(a.1H5)?a.1H5.1K=c:(a.39a=1g xd,a.1H5=a.39a.add({1K:c,4d:cb("1ja/1or/43e/4KV.12H"),16l:fc.1Qm,3b:.5}),a.6o.4r.13y.add(a.39a)),a.1LJ(),a.2dj.5k({2c:a.1H5})}a.3z===Wh.2bu&&60Y(c,a)}1s 11l.7k("1DE 1Ve 2S 11J 1Gj!")}},Va.1yr);1a.1kG.1a1(1b(b){if(a&&a.1ih&&a.1Ev){1d c=1g C(b.11R.x,b.11R.y);6U(a.3z){1S Wh.2l8:O8(c,a,!1);1W;1S Wh.14x:P8(c,a,!1);1W;1S Wh.2bu:1d d=a.399;if(g(d))if(1==d.2OJ){1d e=a.6o.3w.1bZ(c),f=P.5f([0,0,0,k.3s(d.60X,k.6h)],0,60T);f=ib.2z5(e,f);e=rb.1n3(e,f.4I);e=A.8P(d.3uP,e,60V);e.z=0;d.2Cy=A.8P(d.2Cz,k.1eE(e,2,e),d.2Cy);A.8P(d.3uP,d.2Cy,e);d.1h=2*(0<e.x?e.x:-e.x);d.1G=2*(0<e.y?e.y:-e.y);d.1D=0}1s 1<d.2OJ&&(e=a.6o.4r.3w,f=e.1bZ(c),c=C.9v(c.x+5,c.y,60U),c=e.1bZ(c),f=k.1T(k.4B(f.2G,c.2G,4KU),4KU),f=Cb.1zd(e.6K,f),e=1g rb(k.6h,d.43d),d.43d=ib.1xl(e,f),e=A.8P(d.3uP,d.43d,1g k),k.1eE(e,2,e),1di.5gQ.8P(d.2Cz,e,d.2Cy),d.1h=2*(0<e.x?e.x:-e.x),d.1G=2*(0<e.y?e.y:-e.y),d.1D=2*(0<e.z?e.z:-e.z))}}a.60W.5k(1g C(b.11R.x,b.11R.y))},Va.1kj);1a.1kG.1a1(1b(b){if(a&&a.1ih&&a.1Ev)if(a.1LJ(),a.3z===Wh.2bu)a.399=1p 0,a.2dj.5k({2c:a.13F});1s if(g(a.11M))if(a.11M.3q=a.11M.3q.4h(0,a.11M.3q.1h-1),a.3z===Wh.14x)if(3>a.11M.3q.1h)a.11M.3q.1h=0;1s if(b=[].9V(a.11M.3q),Xc.3uO===a.1hv){1j(1d c=[],d=0;d<b.1h;d++)c.1q(T.12y(b[d]));g(a.2q3)||(a.2q3=4KT++);a.6o.4r.2mK.add({2i:a.2q3,1cI:a.2q3,3q:c,1b5:y.439.2on(.5),1DX:Ew.1wO});1d e=[];1j(d=0;d<c.1h;d++)e.1q(c[d]);e.1q(c[0]);a.39b=4KT++;a.6o.4r.2mK.add({2i:a.39b,1cI:a.39b,3q:e,19g:y.5X("#398"),11a:3,1DX:Ew.33C});a.6o.13K.3S(a.1cp);a.1cp=1p 0;a.2dj.5k({2c:b})}1s g(a.12i)||(d=Xc.1P1===a.1hv,c=Xc.29n===a.1hv,a.12i=a.6o.13K.add({12i:{1iD:{3q:b},2q:y.439.2on(.5),16U:d},2Cx:a.236,1xu:c})),a.12i.12i.1iD=b,a.12i.3q=b,a.12i.2p=!0,a.2dj.5k({2c:a.12i});1s if(a.3z===Wh.2l8){b=[];d=0;1j(c=a.11M.3q.1h;d<c;d++)b.1q(k.1y(a.11M.3q[d]));if(a.1hv===Xc.29n||a.1hv===Xc.1zL)a.2OI||(a.2OI=[]),a.2OI.1q(a.6o.13K.add({11M:{3q:b,1G:5,2q:y.5X("#398"),1d7:!0}})),a.11M.2p=!1;a.2dj.5k({2c:a.11M})}},Va.2hv);1a.392.5k(!0)}};Ht.1i.1LJ=1b(){1a.1Ev=1a.1ih=!1;1a.1kG.1cQ(Va.1yr);1a.1kG.1cQ(Va.1kj);1a.1kG.1cQ(Va.2hv);1a.392.5k(!1)};Ht.1i.9P=1b(){1a.1LJ();g(1a.39b)&&(1a.6o.4r.2mK.3S(1a.39b),1a.39b=1p 0);g(1a.1cp)&&(1a.1cp.7f(),1a.6o.4r.13y.3S(1a.1cp),1a.1cp=1p 0);g(1a.2q3)&&(1a.6o.4r.2mK.3S(1a.2q3),1a.2q3=1p 0);g(1a.12i)&&(1a.6o.13K.3S(1a.12i),1a.12i=1p 0);g(1a.5I)&&(1a.6o.4r.13y.3S(1a.5I),1a.5I=1p 0);g(1a.39a)&&(1a.6o.4r.13y.3S(1a.39a),1a.39a=1p 0,g(1a.1H5)&&(1a.1H5=1p 0));g(1a.1u5)&&1a.6o.13K.3S(1a.1u5);if(g(1a.2OI)){1j(1d a=0;a<1a.2OI.1h;a++)1a.6o.13K.3S(1a.2OI[a]);1a.2OI=1p 0}if(g(1a.28G)){a=0;1j(1d b=1a.28G.1h;a<b;a++)1a.6o.13K.3S(1a.28G[a]);1a.399=1a.13F=1a.28G=1p 0}};1d 60V=1g k,4KU=1g k,60U=1g C,60T=1g P,4KT=0,It=1b(a,b){if(!g(a)||!g(b))1t 1g r("6o and 3z is 1X!");1a.1kG=1g Ne(a.4r.3M);1a.6o=a;1a.1ih=!1;1a.60P=y.9r;1a.60Q=y.60S;1a.4KS(b);1a.43c=!1};1L.2X(It.1i,{81C:{1n:1b(){1f 1a.43c},1C:1b(a){1a.43c=a}}});It.1i.4KS=1b(a){if(g(a.1xw)||g(a.1u6)){1a.9P();1a.4KR=a;1a.1xw=a.1xw;if(g(1a.1xw)){1d b=1a.1xw.1iD.3K(0);if(!2K.8n(b))if(2K.8n(b.3q))b=b.3q;1s 1t 1g r("3q is 1X!");1a.9h=b}1a.1u6=a.1u6;g(1a.1u6)&&(1a.9h=1a.1u6.3q.3K(0));1a.2Cw=1a.6o.4r.13y.add(1g xd({1VR:!1}));1j(a=0;a<1a.9h.1h;a++)1a.2Cw.add({id:"60L"+a,1K:1a.9h[a],4d:cb("1ja/1or/1rc-43a.12H")});1a.2q2=-1;1a.1VT=1p 0;1a.1VS=[];1a.2Cv=1a.6o.4r.13y.add(1g xd({1VR:!1}));1j(a=0;a<1a.9h.1h-1;a++)b=1g k,k.add(1a.9h[a],1a.9h[a+1],b),k.4g(b,.5,b),1a.1VS.1q(b);g(1a.1xw)&&(b=1g k,k.add(1a.9h[0],1a.9h[1a.9h.1h-1],b),k.4g(b,.5,b),1a.1VS.1q(b));1j(a=0;a<1a.1VS.1h;a++)1a.2Cv.add({id:"60K"+a,1K:1a.1VS[a],4d:cb("1ja/1or/1y1-43a.12H")});1a.2Hz()}};It.1i.2Hz=1b(){if(1!=1a.1ih){1a.1ih=!0;1d a=1a;1a.1kG.1a1(1b(b){if(a&&a.1ih)if(b=kS(a.6o,b),g(b)){1d c=b.id;g(c)&&(c=c.7g("10D"),2==c.1h&&"60R"===c[0]&&(a.2q2=8A(c[1]),a.1VT=b.9k,a.1VT.1A=a.60Q,a.6o.4r.1Zw.1Zo=!1))}1s a.9P()},Va.25P);1a.1kG.1a1(1b(b){a&&a.1ih&&(a.2q2=-1,g(a.1VT)&&(a.1VT.1A=a.60P,a.1VT=1p 0),a.6o.4r.1Zw.1Zo=!0)},Va.1lX);1a.1kG.1a1(1b(b){60O(b,a)},Va.1kj);1a.1kG.1a1(1b(b){60N(b,a)},Va.1yr);1a.1kG.1a1(1b(b){60M(b,a)},Va.2hv)}};It.1i.1LJ=1b(){1a.1ih=!1;1a.1kG.1cQ(Va.25P);1a.1kG.1cQ(Va.1lX);1a.1kG.1cQ(Va.1kj);1a.1kG.1cQ(Va.1yr);1a.1kG.1cQ(Va.2hv)};It.1i.9P=1b(){1a.1LJ();g(1a.2Cw)&&1a.2Cw.7f();g(1a.2q2)&&(1a.2q2=-1);g(1a.1VT)&&(1a.1VT=1p 0);g(1a.4KR)&&(1a.4KR=1p 0);g(1a.1xw)&&(1a.1xw=1p 0);g(1a.1u6)&&(1a.1u6=1p 0);g(1a.2Cv)&&1a.2Cv.7f();g(1a.1VS)&&(1a.1VS.1h=0);g(1a.9h)&&(1a.9h=1p 0)};It.1i.4KQ=1b(){g(1a.2Cw)&&1a.2Cw.7f();1a.2Cw=1a.6o.4r.13y.add(1g xd({1VR:!1}));1j(1d a=0;a<1a.9h.1h;a++)1a.2Cw.add({id:"60L"+a,1K:1a.9h[a],4d:cb("1ja/1or/1rc-43a.12H")});g(1a.2q2)&&(1a.2q2=-1);g(1a.1VT)&&(1a.1VT=1p 0)};It.1i.43b=1b(){g(1a.2Cv)&&1a.2Cv.7f();1a.1VS=[];1a.2Cv=1a.6o.4r.13y.add(1g xd({1VR:!1}));1j(1d a=0;a<1a.9h.1h-1;a++){1d b=1g k;k.add(1a.9h[a],1a.9h[a+1],b);k.4g(b,.5,b);1a.1VS.1q(b)}g(1a.1xw)&&(b=1g k,k.add(1a.9h[0],1a.9h[1a.9h.1h-1],b),k.4g(b,.5,b),1a.1VS.1q(b));1j(a=0;a<1a.1VS.1h;a++)1a.2Cv.add({1K:1a.1VS[a],id:"60K"+a,4d:cb("1ja/1or/1y1-43a.12H")})};1d Xh=1L.3F({2OE:0,2Ox:1,3uM:2,4KP:3}),Fw=1b(a,b,c,d){if(!g(a)||!g(b))1t 1g r("6o and 3z is 1X!");1a.1kG=1g Ne(a.4r.3M);1a.6o=a;1a.1hv=m(c,Xc.1P1);1a.3z=b;1a.1ih=1a.1Ev=!1;1a.234=[];1a.38Y=1a.2OD=1a.22X=1a.22Y=1p 0;1a.60J=1g sa;1a.438=1g sa;1a.236=!1;1a.395=y.5X("15A(38, 38, 38, 0.85)");1a.3uN=1g Db(150,3,5tq,.5);1a.2OG=1g C(15,0);1a.1hu=y.5X("#398");1a.1pN=y.439.2on(.5);1a.1gc=2;1a.1xv=m(d,!0)};1L.2X(Fw.1i,{392:{1n:1b(){1f 1a.438}},2OF:{1n:1b(){1f 1a.60J}},81B:{1n:1b(){1f 1a.22X}},81A:{1n:1b(){1f 1a.22Y}},81z:{1n:1b(){1f 1a.38Y}},81y:{1n:1b(){1f 1a.2OD}},60I:{1n:1b(){1f 1a.1hv},1C:1b(a){g(a)&&a!=1a.1hv&&(1a.1hv=a,g(1a.12i)?a==Xc.1P1?(1a.12i.12i.16U.1cf(!0),1a.12i.1xu=!1):a==Xc.1zL?(1a.12i.12i.16U.1cf(!1),1a.12i.1xu=!1):a==Xc.29n&&(1a.12i.12i.16U.1cf(!1),1a.12i.1xu=!0):g(1a.1u5)&&(1a.1hv==Xc.1zL||1a.1hv==Xc.29n?(1a.1u5.2p=!0,1a.11M.2p=!1):(1a.1u5.2p=!1,1a.11M.2p=!0),1a.1u5.1xu=a==Xc.29n?!0:!1))}},2Y9:{1n:1b(){1f 1a.236},1C:1b(a){1a.236=a}},81x:{1n:1b(){1f 1a.6o.3Ly},1C:1b(a){1a.6o.3Ly=a}},81w:{1n:1b(){1f 1a.6o.3Lx},1C:1b(a){1a.6o.3Lx=a}},19g:{1n:1b(){1f 1a.1hu},1C:1b(a){1a.1hu=a}},1b5:{1n:1b(){1f 1a.1pN},1C:1b(a){1a.1pN=a}},11a:{1n:1b(){1f 1a.1gc},1C:1b(a){1a.1gc=a}}});Fw.1i.2Hz=1b(){1a.9P();if(1!=1a.1ih){1a.1ih=!0;1d a=1a;1a.1kG.1a1(1b(b){if(a&&a.1ih){1d c=a.6o.4r;if(b=c.3LA?k.1y(c.3Lz):c.1Gj(b.1K))if(a.1Ev)a.3z==Xh.3uM||a.3z==Xh.4KP?a.1LJ():(a.3z===Xh.2OE?(a.11M=a.1cp.add({1G:a.1gc,2p:a.1xv,3q:[b,b],2q:va.1kk(va.1oL,{1A:a.1hu}),1d7:!0}),a.1hv===Xc.1zL&&(a.11M.2p=!1,a.60H=a.60G),a.394.1q(b)):(a.3z===Xh.2Ox&&(a.81v=a.81u),a.11M.3q.1q(b)),g(a.12i)&&a.1hv!==Xc.1zL&&(a.12i.1xw.1iD=a.11M.3q),a.234.1q(a.6o.13K.add({2p:a.1xv,1K:b,7v:{12Q:8,1A:y.5X("#2hw")}})));1s 6U(a.1Ev=!0,a.3z){1S Xh.2OE:60F(b,a);1W;1S Xh.2Ox:60E(b,a);1W;1S Xh.3uM:g(a.1cp)||(c=a.236,a.1cp=1g Bf({2Op:pa.4t({13Q:c,9J:{3e:c}})}),a.4KM=a.1cp.add({1G:2,2p:a.1xv,3q:[b,b],2q:va.1kk(va.1oL,{1A:a.1hu})}),a.432=a.1cp.add({1G:2,2p:a.1xv,3q:[b,b],2q:va.1kk(va.1oL,{1A:a.1hu})}),a.4KN=a.1cp.add({1G:2,2p:a.1xv,3q:[b,b],2q:va.1kk(va.1oL,{1A:a.1hu})}),a.6o.4r.13y.add(a.1cp),a.22Z=a.6o.13K.add({1K:b,2p:a.1xv,7v:{12Q:8,1A:y.5X("#2hw")}}),a.29m=a.6o.13K.add({1K:b,2p:a.1xv,7v:{12Q:8,1A:y.5X("#2hw")}}),a.38Z=a.6o.13K.add({1K:b,2p:a.1xv,7v:{12Q:8,1A:y.5X("#2hw")}}),c=a.6o.4r.13y.add(1g de({1VR:!1})),a.22X=c.add({1K:b,9O:"500 2OH 1TG-1TF",2r:qe.1R0,5R:1,5M:y.1a7,1oC:!0,1a4:a.395,14l:a.2OG,1cd:a.3uN,3l:"",2p:a.1xv,15P:oc.1hc}),a.2OD=c.add({1K:b,9O:"500 2OH 1TG-1TF",2r:qe.1R0,5R:1,5M:y.1a7,1oC:!0,1a4:a.395,14l:a.2OG,1cd:a.3uN,3l:"",2p:a.1xv,15P:oc.1hc}),a.38Y=c.add({1K:b,9O:"500 2OH 1TG-1TF",2r:qe.1R0,5R:1,5M:y.1a7,1oC:!0,1a4:a.395,14l:a.2OG,1cd:a.3uN,3l:"",2p:a.1xv,15P:oc.1hc}),a.1kD=c);c=1g k;k.1T(b,c);a.12w=Cb.1zd(b,c);a.1hJ=b;a.4KO=T.12y(b).1D;a.2U=c;1d d=1g k;k.11k(c,d);a.81t=d;a.22Z.1K=b;1W;1S Xh.4KP:g(a.1cp)||(a.1cp=1g Bf,a.432=a.1cp.add({1G:2,2p:a.1xv,3q:[b,b],2q:va.1kk(va.1oL,{1A:a.1hu})}),a.1hJ=b,a.22Z=a.6o.13K.add({1K:b,2p:a.1xv,7v:{12Q:8,1A:y.5X("#2hw")}}),a.38Z=a.6o.13K.add({1K:b,2p:a.1xv,7v:{12Q:8,1A:y.5X("#2hw")}}),c=a.6o.4r.13y.add(1g de({1VR:!1})),a.2OD=c.add({1K:b,9O:"500 2OH 1TG-1TF",2r:qe.1R0,5R:1,5M:y.1a7,1oC:!0,1a4:a.395,14l:a.2OG,1cd:a.3uN,3l:"",2p:a.1xv,15P:oc.1hc}),a.6o.4r.13y.add(a.1cp),a.1kD=c),a.1hJ=b,a.22Z.1K=b}}},Va.1yr);1a.1kG.1a1(1b(b){1d c=a.6o.4r;b=c.3LA?c.3Lz:c.1Gj(b.11R);if(a&&a.1ih&&a.1Ev&&g(b))6U(a.3z){1S Xh.2OE:a.22z=b;c=a.11M.3q;1d d=c.1h;a.1hv===Xc.1zL&&(a.42Z=a.3z===Xh.2OE?a.394.9V([b]):c);c[d-1]=b;a.11M.3q=c;a.29m.1K=b;c=0;d=a.394.9V([b]);a.11M.172=c;a.22X.1K=b;a.22X.2p=a.1hv!==Xc.1zL;if(a.1hv!==Xc.1zL){b=0;1j(1d e=d.1h-1;b<e;b++)c+=k.3s(d[b],d[b+1]);a.2OF.5k({3s:c.1mf(2),3q:d})}1W;1S Xh.2Ox:g(b)&&(a.22z=b,c=a.11M.3q,d=c.1h,c[d-1]=b,2<d&&(g(a.22Y)&&(a.22Y.2p=!0),a.42Y=c),a.11M.3q=c,2<c.1h&&(a.29m.1K=b,a.22Y.1K=b,a.22Y.2p=a.1hv!==Xc.1zL,a.1hv!==Xc.1zL&&(b=Fw.60D(c),a.2OF.5k({207:b.1mf(2),3q:c}))));1W;1S Xh.3uM:a:if(g(b)){a.22z=b;c=T.12y(b).1D;c>a.4KO?(d=Cb.1zd(b,a.2U),e=1g rb(a.1hJ,a.2U)):(d=a.12w,e=1g rb(b,a.2U));d=ib.1xl(e,d);if(!g(d)&&(e=1g rb(b,a.2U),d=ib.1xl(e,a.12w),!d))1W a;a.4KM.3q=[a.1hJ,d];a.4KN.3q=[a.1hJ,b];a.432.3q=[b,d];a.29m.1K=b;a.38Z.1K=d;e=k.3s(a.1hJ,b).1mf(2);1d f=k.3s(a.1hJ,d).1mf(2),h=k.3s(b,d).1mf(2);c>a.4KO?(k.11x(a.1hJ,b,.5,a.22X.1K),k.11x(a.1hJ,d,.5,a.2OD.1K),k.11x(b,d,.5,a.38Y.1K)):(k.11x(a.1hJ,b,.5,a.22X.1K),k.11x(b,d,.5,a.2OD.1K),k.11x(a.1hJ,d,.5,a.38Y.1K),f=k.3s(b,d).1mf(2),h=k.3s(a.1hJ,d).1mf(2));a.2OF.5k({3s:e,81s:a.4KN.3q,81r:f,81q:a.432.3q,81p:h,81o:a.4KM.3q})}}},Va.1kj);1a.1kG.1a1(1b(b){if(a&&a.1ih&&a.1Ev){a.1LJ();if(g(a.11M)){if(a.3z===Xh.2OE){a.1cp.3S(a.11M);1d c=a.394;0===a.1cp.1h&&a.6o.13K.3S(a.22Z)}1s a.11M.3q=a.11M.3q.4h(0,a.11M.3q.1h-1),1===a.11M.3q.1h&&a.6o.13K.3S(a.22Z),c=a.11M.3q;a.6o.13K.3S(a.29m);if(!g(a.12i)){if(a.1hv==Xc.1zL||a.1hv==Xc.29n)a.42Z=c,a.11M.2p=!1;a.22X.1K=c[c.1h-1];1d d=0;if(a.1hv===Xc.1zL){b=a.6o.4r;d=a.394;1j(1d e=3a.6w,f=-3a.6w,h=3a.6w,l=-3a.6w,p=0;p<d.1h;p++){1d n=T.12y(d[p]);e=1k.2o(n.3N,e);f=1k.1V(n.3N,f);h=1k.2o(n.4k,h);l=1k.1V(n.4k,l)}p=T.1g8(1g T(e,h,0));f=T.1g8(1g T(f,l,0));f=1k.8a(k.3s(p,f)/128);1j(e=l=0;e<d.1h-1;e++)1j(h=d[e],n=d[e+1],p=0;p<f;p++){1d m=1g k,w=1g k;m=k.11x(h,n,p/f,m);m=T.12y(m);1d x=b.10a.1sc(m);m=T.15i(m.3N,m.4k,x);m=T.1g8(m);w=k.11x(h,n,(p+1)/f,w);w=T.12y(w);x=b.10a.1sc(w);w=T.15i(w.3N,w.4k,x);w=T.1g8(w);l+=k.3s(m,w)}d=l}1s 1j(b=0,p=c.1h-1;b<p;b++)d+=k.3s(c[b],c[b+1]);a.22X.2p=0!==d;a.2OF.5k({3s:d.1mf(2),3q:c})}}if(g(a.12i)){if(3>c.1h){a.22Y.2p=!1;a.6o.13K.3S(a.22Z);b=0;1j(p=a.234.1h;b<p;b++)a.6o.13K.3S(a.234[b]);a.234.1h=0;a.6o.13K.3S(a.29m);a.11M.3q.1h=0}a.22Y.2p=!0;if(a.1hv==Xc.1zL||a.1hv==Xc.29n)a.11M.2p=!1;a.42Y=a.11M.3q;a.12i.2p=!0;if(2<c.1h)if(a.22Y.1K=a.1hv!==Xc.1zL?a.11M.3q[a.11M.3q.1h-1]:a.234[a.234.1h-1].9M.6j,a.1hv===Xc.1zL){b=a.6o.4r;d=a.11M.3q;l=3a.6w;p=-3a.6w;e=3a.6w;f=-3a.6w;1j(h=0;h<d.1h;h++)n=T.12y(d[h]),l=1k.2o(n.3N,l),p=1k.1V(n.3N,p),e=1k.2o(n.4k,e),f=1k.1V(n.4k,f);l=T.1g8(1g T(l,e,0));p=T.1g8(1g T(p,f,0));p=k.1B3(l,p);d=tc.25R({3q:d,6f:p/32});d=tc.14t(d);1j(f=p=0;f<d.4N.1h;f+=3)l=d.4N[f],l=1g k(d.2w.1K.2a[3*l],d.2w.1K.2a[3*l+1],d.2w.1K.2a[3*l+2]),l=T.12y(l),e=b.10a.1sc(l),l=T.15i(l.3N,l.4k,e),l=T.1g8(l),e=d.4N[f+1],e=1g k(d.2w.1K.2a[3*e],d.2w.1K.2a[3*e+1],d.2w.1K.2a[3*e+2]),e=T.12y(e),h=b.10a.1sc(e),e=T.15i(e.3N,e.4k,h),e=T.1g8(e),h=d.4N[f+2],h=1g k(d.2w.1K.2a[3*h],d.2w.1K.2a[3*h+1],d.2w.1K.2a[3*h+2]),h=T.12y(h),n=b.10a.1sc(h),h=T.15i(h.3N,h.4k,n),h=T.1g8(h),er=k.3V(e,l,er),fr=k.3V(h,l,fr),gr=k.4B(er,fr,gr),p+=.5*k.7t(gr);a.2OF.5k({207:p.1mf(2),3q:c})}1s{d=Ad.38X(c);p=d.1h/3;1j(b=h=0;b<p;b++)f=c[d[3*b]],l=c[d[3*b+1]],e=c[d[3*b+2]],er=k.3V(l,f,er),fr=k.3V(e,f,fr),gr=k.4B(er,fr,gr),h+=.5*k.7t(gr);a.2OF.5k({207:h.1mf(2),3q:c})}}}},Va.2hv);1a.392.5k(!0)}};Fw.1i.1LJ=1b(){!0===1a.1ih&&1a.392.5k(!1);1a.1Ev=1a.1ih=!1;1a.1kG.1cQ(Va.1yr);1a.1kG.1cQ(Va.1kj);1a.1kG.1cQ(Va.2hv)};Fw.1i.9P=1b(){1a.1LJ();1j(1d a=0,b=1a.234.1h;a<b;a++)1a.6o.13K.3S(1a.234[a]);g(1a.42X)&&(1a.6o.13K.3S(1a.42X),1a.42X=1F);1a.234.1h=0;g(1a.1cp)&&(1a.1cp.7f(),1a.6o.4r.13y.3S(1a.1cp),1a.1cp=1p 0);g(1a.22Z)&&(1a.6o.13K.3S(1a.22Z),1a.22Z=1p 0);g(1a.29m)&&(1a.6o.13K.3S(1a.29m),1a.29m=1p 0);g(1a.38Z)&&(1a.6o.13K.3S(1a.38Z),1a.38Z=1p 0);if(g(1a.1kD))6U(1a.3z){1S Xh.2OE:1a.1kD.3S(1a.22X);1W;1S Xh.2Ox:1a.1kD.3S(1a.22Y);1W;1S Xh.3uM:1a.1kD.3S(1a.22X),1a.1kD.3S(1a.38Y),1a.1kD.3S(1a.2OD)}g(1a.12i)&&(1a.6o.13K.3S(1a.12i),1a.12i=1p 0);g(1a.1u5)&&1a.6o.13K.3S(1a.1u5)};1d er=1g k,fr=1g k,gr=1g k;Fw.60D=1b(a){1j(1d b=Ad.38X(a),c=b.1h/3,d,e,f,h=0,g=0;g<c;g++)d=a[b[3*g]],e=a[b[3*g+1]],f=a[b[3*g+2]],er=k.3V(e,d,er),fr=k.3V(f,d,fr),gr=k.4B(er,fr,gr),h+=.5*k.7t(gr);1f h};1d Qi=1L.3F({3sw:0,1Dz:1,379:2});1L.2X(BI.1i,{id:{1n:1b(){1f 1a.7R}},1K:{1n:1b(){1f 1a.177===O.6G?1a.9M:1a.1zK},1C:1b(a){v.2l("1oH 1e8 1K",a);k.2L(a,1a.1zJ)||(1a.9M=a,1a.177===O.15j?(1a.1zK=Da.22W(1a.9M),k.3V(1a.1zK,1a.1K8,1a.1b7)):k.3V(1a.9M,1a.1zJ,1a.1b7),k.1T(1a.1b7,1a.1b7))}},32a:{1n:1b(){1f 1a.177===O.6G?1a.1zJ:1a.1K8},1C:1b(a){v.2l("1oH 1e8 15s 1K",a);k.2L(a,1a.9M)||(1a.1zJ=a,1a.177===O.15j?(1a.1K8=Da.22W(1a.1zJ),k.3V(1a.1zK,1a.1K8,1a.1b7)):k.3V(1a.9M,1a.1zJ,1a.1b7),k.1T(1a.1b7,1a.1b7))}},1A:{1n:1b(){1f 1a.7a},1C:1b(a){v.2l("1oH 1e8 1A",a);1a.7a=a;y.4g(1a.7a,1a.1pH,1a.1r0)}},12r:{1n:1b(){1f 1a.1pH},1C:1b(a){v.1N.2b("1oH 1e8 12r",a);1a.1pH=a;y.4g(1a.7a,1a.1pH,1a.1r0)}},2G:{1n:1b(){1f 1a.1b7}},18V:{1n:1b(){1f 1a.1r0}},1Un:{1n:1b(){1f 1a.28V},1C:1b(a){v.2l("81n 1e8 1Un",a);1a.28V=a}},2q1:{1n:1b(){1f Qi.3sw}},1ef:{1n:1b(){1f 1a.177},1C:1b(a){v.1N.2b("1BE 1e8 1ef",a);if(1a.177!==a){1a.177=a;if(1a.177===O.15j){1a.1zK=Da.22W(1a.9M);1a.1K8=Da.22W(1a.1zJ);if(k.2L(1a.1zK,1a.1K8))1f;k.3V(1a.1zK,1a.1K8,1a.1b7)}1s k.3V(1a.9M,1a.1zJ,1a.1b7);k.1T(1a.1b7,1a.1b7)}}}});1L.2X(Eo.1i,{21F:{1n:1b(){1f 1a.29l[Qi.1Dz]}},1JL:{1n:1b(){1f 1a.29l[Qi.379]}},21G:{1n:1b(){1f 1a.29l[Qi.3sw]}},3mn:{1n:1b(){1f 1a.4KL},1C:1b(a){v.2l("4iC 5j 3mn",a);y.1y(a,1a.4KL)}},4KJ:{1n:1b(){1f 1a.4KK},1C:1b(a){v.1N.7d("4iC 5j 1PI 1e8 on",a);1a.4KK=a?1:0}}});Eo.1i.3mb=1b(a){1d b=1a.29l[a.2q1];b.1C(a.id,a);1a.33l.1C(a.2q1,{7Z:b.1h,1I:a.2q1});1f b.1h};Eo.1i.3Pi=1b(a){1d b=1a.29l[a.2q1];1f b.1n(a.id)?(b.3S(a.id),1a.33l.1C(a.2q1,{7Z:b.1h,1I:a.2q1}),b.1h):-1};Eo.1i.60C=1b(a){1d b,c=1a.29l[Qi.1Dz].2a;1j(b=0;b<c.1h;b++){1d d=c[b];d.42S(a)}c=1a.29l[Qi.379].2a;1j(b=0;b<c.1h;b++)d=c[b],d.42S(a)};Eo.1i.4um=1b(){1f 0<1a.33l.2a.1h};Eo.1i.60B=1b(){1a.33l.7f()};Eo.1i.5UP=1b(){1a.42W=[];1a.42V=[];1d a=1a.21F.2a,b=a.1h,c;1j(c=0;c<b;c++){1d d=1g k;d.x=a[c].1O7;d.y=a[c].2Cu;d.z=a[c].42T;1a.42W.1q(d)}a=1a.1JL.2a;b=a.1h;1j(c=0;c<b;c++)d=1g E,d.x=a[c].3s,d.y=a[c].2Cu,d.z=a[c].60A,d.w=a[c].42T,1a.42V.1q(d)};Eo.1i.20K=1b(){1d a={},b=1a;a.3fb=1b(){1f b.3mn};a.24O=1b(){1f b.4KJ};a.2Gg=1b(){1j(1d a=[],d=b.21G.2a,e=d.1h,f=0;f<e;f++)a.1q(d[f].1Un);1f a};a.24N=1b(){1j(1d a=[],d=b.21G.2a,e=d.1h,f=0;f<e;f++)a.1q(d[f].18V);1f a};a.24M=1b(){1j(1d a=[],d=b.21F.2a,e=d.1h,f=0;f<e;f++)a.1q(d[f].4p);1f a};a.1Sr=1b(){1j(1d a=[],d=b.21F.2a,e=d.1h,f=0;f<e;f++)a.1q(d[f].18V);1f a};a.3fe=1b(){1j(1d a=[],d=b.21G.2a,e=0;e<d.1h;e++)a.1q(d[e].2G);1f a};a.1w9=1b(){1f b.42W};a.1Sq=1b(){1j(1d a=[],d=b.1JL.2a,e=d.1h,f=0;f<e;f++)a.1q(d[f].18V);1f a};a.24L=1b(){1j(1d a=[],d=b.1JL.2a,e=d.1h,f=0;f<e;f++)a.1q(d[f].4p);1f a};a.3fc=1b(){1j(1d a=[],d=b.1JL.2a,e=d.1h,f=0;f<e;f++)a.1q(d[f].1K);1f a};a.3fd=1b(){1j(1d a=[],d=b.1JL.2a,e=d.1h,f=0;f<e;f++)a.1q(d[f].2G);1f a};a.2Gf=1b(){1j(1d a=[],d=b.1JL.2a,e=d.1h,f=0;f<e;f++)a.1q(d[f].1Un);1f a};a.1p6=1b(){1f b.42V};a.2t9=1b(){1j(1d a=[],d=b.1JL.2a,e=d.1h,f=0;f<e;f++)a.1q(d[f].1Sf);1f a};1f a};1L.2X(lS.1i,{id:{1n:1b(){1f 1a.7R}},1K:{1n:1b(){1f 1a.177===O.6G?1a.9M:1a.1zK},1C:1b(a){v.2l("7v 1e8 1K",a);1a.9M=a;1a.177===O.15j&&(1a.1zK=Da.22W(1a.9M))}},1A:{1n:1b(){1f 1a.7a},1C:1b(a){v.2l("7v 1A 1A",a);1a.7a=a;y.4g(1a.7a,1a.1pH,1a.1r0)}},12r:{1n:1b(){1f 1a.1pH},1C:1b(a){v.1N.2b("7v 1e8 12r",a);1a.1pH=a;y.4g(1a.7a,1a.1pH,1a.1r0)}},1O7:{1n:1b(){1f 1a.42U},1C:1b(a){v.1N.2b("7v 1e8 1O7",a);1a.42U=a}},2Cu:{1n:1b(){1f 1a.38W},1C:1b(a){v.1N.2b("7v 1e8 2Cu",a);1a.38W=a}},18V:{1n:1b(){1f 1a.1r0}},4p:{1n:1b(){1f 1a.2BJ},1C:1b(a){v.2l("7v 1e8 4p",a);1a.2BJ=a}},2q1:{1n:1b(){1f Qi.1Dz}},42T:{1n:1b(){1f 1a.38V}},1ef:{1n:1b(){1f 1a.177},1C:1b(a){v.1N.2b("7v 1e8 1ef",a);1a.177!==a&&(1a.177=a,1a.177===O.15j&&(1a.1zK=Da.22W(1a.9M)))}}});1d BX=1g P;lS.1i.42S=1b(a){BX.3L=1a.42U;BX.2V=1a.1K;1a.38V=a.1su(BX)!==Lb.1gB?1:0};1L.2X(mS.1i,{id:{1n:1b(){1f 1a.7R}},1K:{1n:1b(){1f 1a.177===O.6G?1a.9M:1a.1zK},1C:1b(a){v.2l("1BE 1e8 1K",a);k.2L(a,1a.1zJ)||(1a.9M=a,1a.177===O.15j?(1a.1zK=Da.22W(1a.9M),k.3V(1a.1zK,1a.1K8,1a.1b7)):k.3V(1a.9M,1a.1zJ,1a.1b7),k.1T(1a.1b7,1a.1b7))}},32a:{1n:1b(){1f 1a.177===O.6G?1a.1zJ:1a.1K8},1C:1b(a){v.2l("1BE 1e8 15s 1K",a);k.2L(a,1a.9M)||(1a.1zJ=a,1a.177===O.15j?(1a.1K8=Da.22W(1a.1zJ),k.3V(1a.1zK,1a.1K8,1a.1b7)):k.3V(1a.9M,1a.1zJ,1a.1b7),k.1T(1a.1b7,1a.1b7))}},1A:{1n:1b(){1f 1a.7a},1C:1b(a){v.2l("1BE 1A 1A",a);1a.7a=a;y.4g(1a.7a,1a.1pH,1a.1r0)}},12r:{1n:1b(){1f 1a.1pH},1C:1b(a){v.1N.2b("1BE 1e8 12r",a);1a.1pH=a;y.4g(1a.7a,1a.1pH,1a.1r0)}},3s:{1n:1b(){1f 1a.172},1C:1b(a){v.1N.2b("1BE 1e8 81m",a);1a.172=a}},8f:{1n:1b(){1f 1a.2o0},1C:1b(a){v.1N.2b("1BE 1e8 8f",a);1a.2o0=a;1a.4KH=1k.3i(1a.2o0)}},1Sf:{1n:1b(){1f 1a.4KI},1C:1b(a){v.1N.2b("1BE 1e8 1Sf",a);1a.4KI=a}},2Cu:{1n:1b(){1f 1a.38W},1C:1b(a){v.1N.2b("1BE 1e8 2Cu",a);1a.38W=a}},2G:{1n:1b(){1f 1a.1b7}},18V:{1n:1b(){1f 1a.1r0}},60A:{1n:1b(){1f 1a.4KH}},4p:{1n:1b(){1f 1a.2BJ},1C:1b(a){v.2l("1BE 1e8 4p",a);1a.2BJ=a}},1Un:{1n:1b(){1f 1a.28V}},2q1:{1n:1b(){1f Qi.379}},42T:{1n:1b(){1f 1a.38V}},1ef:{1n:1b(){1f 1a.177},1C:1b(a){v.1N.2b("1BE 1e8 1ef",a);if(1a.177!==a){1a.177=a;if(1a.177===O.15j){1a.1zK=Da.22W(1a.9M);1a.1K8=Da.22W(1a.1zJ);if(k.2L(1a.1zK,1a.1K8))1f;k.3V(1a.1zK,1a.1K8,1a.1b7)}1s k.3V(1a.9M,1a.1zJ,1a.1b7);k.1T(1a.1b7,1a.1b7)}}}});1d CX=1g P;mS.1i.42S=1b(a){CX.3L=1a.172;CX.2V=1a.1K;1a.38V=a.1su(CX)!==Lb.1gB?1:0};CI.1i.1pT=1b(a){1f 1a.4KG[a]};CI.1i.1AM=1b(a){1f 1a.4KF[a]};1d 60z="1I 5j 5j-7r 22i 1Qy 14O 11e".7g(" "),Sb=1L.3F({1vn:0,27M:1,1sB:2,3r6:3,1cY:4,12D:5,1My:6,4wS:7,81l:8,1xf:9});Ri.60y=1b(a){a=1g Ri(a,0,0,0);a.2zh();a.4F=Sb.4wS;1f a};Ri.1i.2zh=1b(){++1a.1d2};Ri.1i.1UJ=1b(){--1a.1d2;if(0===1a.1d2){1a.1ec.5L3(1a);g(1a.12f)&&1a.12f.1UJ();g(1a.4d)&&g(1a.4d.1M)&&1a.4d.1M();g(1a.2nU)&&(1a.1ec.1jf.4D9(1a.x,1a.y,1a.6b),1a.2nU.1M());1a.2Ot();g(1a.7y)&&1a.7y.1M();g(1a.21p)&&1a.7y!==1a.21p&&1a.21p.1M();if(g(1a.2Ct)){1a.1ec.1M9.13K.3S(1a.2Ct);1j(1d a=0,b=1a.2Ct.1R2.1h;a<b;a++)1a.1ec.1M9.13K.3S(1a.2Ct.1R2[a]);1a.2Ct=1p 0}if(g(1a.2OC)){1a.1ec.1M9.13K.3S(1a.2OC);a=0;1j(b=1a.2OC.1R2.1h;a<b;a++)1a.1ec.1M9.13K.3S(1a.2OC.1R2[a]);1a.2OC=1p 0}la(1a);1f 0}1f 1a.1d2};1d gF=1g Db;Ri.1i.81k=1b(a,b){1j(1d c=1a.3g,d=1a.5o,e=0,f=b.1h;e<f;e++){1d h=b[e],l=h.7n;h=h.2r;1d k=h.1FU();h=h.4rg;1d n=k.1FU();if(""!==n){1d m=k.3kG(m),w=h+"px "+m,x=k.1FV();k=k.1wP();if(g(x)){1d q=x.1eV();q=y.5f(q);q.2O=1}if(g(k)){1d t=k.1eV();t=y.5f(t);1d r=k.26u();1d u=qe.1R0}k=1a.2Ct;g(k)||(1a.2Ct=k=1g wd,1a.2Ct.2p=!1,a.1M9.13K.add(k));gF.3I=5pM;gF.1DO=2;gF.3W=1E7;gF.1DN=0;a.1M9.13K.add({12f:k,1K:R8(a.1jf,l,d,c),17R:{3l:n,9O:w,16l:fc.1g5,15P:oc.1hc,1b5:q,5M:t,5R:r,2r:u,14l:1g C(0,2*-h),6N:bb.1me,13h:gF}})}}};Ri.1i.41y=1b(a,b){1j(1d c=1a.3g,d=1a.5o,e=0,f=b.1h;e<f;e++){1d h=b[e],l=h.7n;h=h.2r.11e;if(g(h)&&g(h["6O-4d"])){1d k=h["6O-4d"],n=m(h["6O-4V"],1);if(g(a.2yc[k]))h=a.2yc[k];1s{1d z=a.1jf.32j[k];if(!g(z))1aJ;h=3n.4O("3M");h.1G=z.1G;h.1D=z.1D;h.1ft("2d").2mb(z,0,0);a.2yc[k]=h}k=1a.2OC;g(k)||(1a.2OC=k=1g wd,a.1M9.13K.add(k));a.1M9.13K.add({12f:k,1K:R8(a.1jf,l,d,c),10i:{4d:h,3b:n,6N:bb.1me,14l:1g C(0,-h.1D),13h:1g Db(3PO,1.5,8E6,0)}})}}};Ri.1i.1UA=1b(a,b,c){1a.4F!==Sb.1vn||c||1a.1ec.1U0||(1a.4F=Sb.27M,1a.1ec.4D0(1a));1a.4F===Sb.1sB&&(1a.4F=Sb.27M,1a.1ec.3oF(a.1O,1a,a));c=1a.4F===Sb.1cY&&b&&!1a.7y;if(1a.4F===Sb.3r6||c)1a.4F=Sb.27M,1a.1ec.5L5(a,1a,b)};Ri.1i.3Z=1b(){1f!1};Ri.1i.81j=1b(a){};Ri.1i.4wa=1b(a){};Ri.1i.2Ot=1b(){};1d hF=1b(a,b){1d c=b.13S,d=b.9G,e=b.2lX,f=b.2lW;b=b.15k;1a.1LR=a;1a.13S=c;1a.2lX=e;1a.2lW=f;1a.15k=b;1a.9G=d},iF={tl:{1Pl:!0},br:{1Pl:!0},3Y2:{1Pl:!0},22U:{1Pl:!0}};iF.tl.1n=1b(){1f[1a.1LR.x+1,1a.1LR.y+1]};iF.br.1n=1b(){1f[1a.1LR.x+1a.1LR.w-1,1a.1LR.y+1a.1LR.h-1]};iF.3Y2.1n=1b(){1f 1a.tl.9V(1a.br)};iF.22U.1n=1b(){1f[(1a.1LR.w-2)/1a.13S,(1a.1LR.h-2)/1a.13S]};1L.2X(hF.1i,iF);1d Uf=1b(a,b){S8(1a,a,4,b)};Uf.1i.1ce=1b(a){1d b=a.1G;a=a.1D;if(b!==1a.1G||a!==1a.1D){1d c=S8({},{1G:b,1D:a},4);T8(1a,c,{x:0,y:0},{x:0,y:0},{1G:1k.2o(1a.1G,b),1D:1k.2o(1a.1D,a)},4);1a.1G=b;1a.1D=a;1a.2g=c.2g}};Uf.1i.3X=1b(a,b){b?1a.2g.1C(a):1a.2g=a 2m 2OB?1g 4L(a.3J):a};Uf.1i.1y=1b(){1f 1g Uf({1G:1a.1G,1D:1a.1D},1g 4L(1a.2g))};Uf.1hI=1b(a,b,c,d,e){T8(a,b,c,d,e,4)};1d jF=1b(a,b){1d c={},d={};1a.4KD=[];1d e=[];1a.4KE(a,c,e);1a.4KE(b,d,e);e=DI(e);e=1g Uf({1G:e.w||1,1D:e.h||1});1j(1d f in a){1d h=a[f],g=c[f].1LR;Uf.1hI(h.2g,e,{x:0,y:0},{x:g.x+1,y:g.y+1},h.2g)}1j(1d k in b){a=b[k];h=d[k].1LR;f=h.x+1;h=h.y+1;g=a.2g.1G;1d n=a.2g.1D;Uf.1hI(a.2g,e,{x:0,y:0},{x:f,y:h},a.2g);Uf.1hI(a.2g,e,{x:0,y:n-1},{x:f,y:h-1},{1G:g,1D:1});Uf.1hI(a.2g,e,{x:0,y:0},{x:f,y:h+n},{1G:g,1D:1});Uf.1hI(a.2g,e,{x:g-1,y:0},{x:f-1,y:h},{1G:1,1D:n});Uf.1hI(a.2g,e,{x:0,y:0},{x:f+g,y:h},{1G:1,1D:n})}1a.4d=e;1a.60x=c;1a.2gx=d};jF.1i.4KE=1b(a,b,c){1j(1d d in a){1d e=a[d],f={x:0,y:0,w:e.2g.1G+2,h:e.2g.1D+2};c.1q(f);b[d]=1g hF(f,e);e.4Dh&&1a.4KD.1q(d)}};jF.1i.81i=1b(a,b){a.5LA(1a.4KD);1j(1d c in a.4Dk)1a.4KC(1a.60x[c],a.1tw(c),b),1a.4KC(1a.2gx[c],a.1tw(c),b)};jF.1i.4KC=1b(a,b,c){a&&b&&a.9G!==b.9G&&(a.9G=b.9G,a=a.tl,c.2H(b.2g,1p 0,{x:a[0],y:a[1]}))};1d W8={18b:[0,0,0,0],81h:[240,248,255,1],81g:[250,235,215,1],81f:[0,255,255,1],81e:[127,255,212,1],60w:[240,255,255,1],81d:[245,245,220,1],81c:[255,228,196,1],2p4:[0,0,0,1],81b:[255,235,205,1],5G:[0,0,255,1],81a:[138,43,226,1],819:[165,42,42,1],818:[222,184,135,1],817:[95,158,160,1],816:[127,255,0,1],815:[210,105,30,1],814:[255,127,80,1],813:[100,149,237,1],812:[255,248,220,1],811:[220,20,60,1],2vs:[0,255,255,1],810:[0,0,139,1],80Z:[0,139,139,1],80Y:[184,134,11,1],80X:[169,169,169,1],80W:[0,100,0,1],80V:[169,169,169,1],80U:[189,183,107,1],80T:[139,0,139,1],80S:[85,107,47,1],80R:[255,140,0,1],80Q:[153,50,204,1],80P:[139,0,0,1],80O:[233,150,122,1],80N:[143,188,143,1],80M:[72,61,139,1],80L:[47,79,79,1],80K:[47,79,79,1],80J:[0,206,209,1],80I:[148,0,211,1],80H:[255,20,147,1],80G:[0,191,255,1],80F:[105,105,105,1],80E:[105,105,105,1],80D:[30,144,255,1],80C:[178,34,34,1],80B:[255,250,240,1],80A:[34,139,34,1],80z:[255,0,255,1],80y:[220,220,220,1],80x:[248,248,255,1],60v:[255,215,0,1],80w:[218,165,32,1],80v:[128,128,128,1],5t:[0,128,0,1],80u:[173,255,47,1],80t:[128,128,128,1],80s:[240,255,240,1],80r:[255,105,180,1],80q:[205,92,92,1],80p:[75,0,130,1],80o:[255,255,240,1],80n:[240,230,140,1],80m:[230,230,250,1],80l:[255,240,245,1],80k:[124,252,0,1],80j:[255,250,205,1],80i:[173,216,230,1],80h:[240,128,128,1],80g:[224,255,255,1],80f:[250,250,210,1],80e:[211,211,211,1],80d:[144,238,144,1],80c:[211,211,211,1],80b:[255,182,193,1],80a:[255,160,122,1],809:[32,178,170,1],808:[135,206,250,1],807:[119,136,153,1],806:[119,136,153,1],805:[176,196,222,1],804:[255,255,224,1],5Ma:[0,255,0,1],803:[50,205,50,1],802:[250,240,230,1],801:[255,0,255,1],7ZZ:[128,0,0,1],7ZY:[102,205,170,1],7ZX:[0,0,205,1],7ZW:[186,85,211,1],7ZV:[147,112,219,1],7ZU:[60,179,113,1],7ZT:[123,104,238,1],7ZS:[0,250,154,1],7ZR:[72,209,204,1],7ZQ:[199,21,133,1],7ZP:[25,25,112,1],7ZO:[245,255,250,1],7ZN:[255,228,225,1],7ZM:[255,228,181,1],7ZL:[255,222,173,1],60u:[0,0,128,1],7ZK:[253,245,230,1],7ZJ:[128,128,0,1],7ZI:[107,142,35,1],60t:[255,165,0,1],7ZH:[255,69,0,1],7ZG:[218,112,214,1],7ZF:[238,232,170,1],7ZE:[152,251,152,1],7ZD:[175,238,238,1],7ZC:[219,112,147,1],7ZB:[255,239,213,1],7ZA:[255,218,185,1],7Zz:[205,133,63,1],60s:[255,192,203,1],7Zy:[221,160,221,1],7Zx:[176,224,230,1],7Zw:[128,0,128,1],7Zv:[102,51,153,1],5r:[255,0,0,1],7Zu:[188,143,143,1],5Mb:[65,105,225,1],7Zt:[139,69,19,1],7Zs:[250,128,114,1],7Zr:[244,164,96,1],7Zq:[46,139,87,1],7Zp:[255,245,238,1],7Zo:[160,82,45,1],7Zn:[192,192,192,1],7Zm:[135,206,235,1],7Zl:[106,90,205,1],7Zk:[112,128,144,1],7Zj:[112,128,144,1],7Zi:[255,250,250,1],7Zh:[0,255,127,1],7Zg:[70,130,180,1],10n:[210,180,140,1],7Zf:[0,128,128,1],7Ze:[216,191,216,1],7Zd:[255,99,71,1],7Zc:[64,224,208,1],7Zb:[238,130,238,1],7Za:[245,222,179,1],1Ar:[255,255,255,1],7Z9:[245,245,245,1],2vr:[255,255,0,1],7Z8:[154,205,50,1]},Rd=1b(a,b,c,d){1p 0===d&&(d=1);1a.r=a;1a.g=b;1a.b=c;1a.a=d};Rd.5N=1b(a){if(a){if(a 2m Rd)1f a;if("4n"===2h a&&(a=V8(a)))1f 1g Rd(a[0]/255*a[3],a[1]/255*a[3],a[2]/255*a[3],a[3])}};Rd.1i.5s=1b(){1d a=1a.1MY();1f"15A("+1k.9p(a[0])+","+1k.9p(a[1])+","+1k.9p(a[2])+","+a[3]+")"};Rd.1i.1MY=1b(){1d a=1a.r,b=1a.g,c=1a.b,d=1a.a;1f 0===d?[0,0,0,0]:[255*a/d,255*b/d,255*c/d,d]};Rd.2p4=1g Rd(0,0,0,1);Rd.1Ar=1g Rd(1,1,1,1);Rd.18b=1g Rd(0,0,0,0);Rd.5r=1g Rd(1,0,0,1);1d 60r=[{5x:"1F"},{5x:"2b"},{5x:"4n"},{5x:"11T"},{5x:"1A"},{5x:"1S6"},{5x:"2c"},{5x:"4x",1Nj:{5x:"1Q"},N:1p 0},{5x:"1GS"}],4KB={5x:"1Q"},BM={4n:{5x:"4n"},2b:{5x:"2b"},11T:{5x:"11T"},2c:{5x:"2c"}},Si=1b(a,b){1a.1I=a;1a.1kF=b};Si.5N=1b(a,b){if(2>a.1h)1f b.7A("19P at 1gR 1bS 1aK.");1d c=1,d=a[0];if("4x"===d){if(2<a.1h){d=a[1];if("4n"!==2h d||!(d in BM)||"2c"===d)1f b.7A(\'9B 1jI 1I 1aK of "4x" 2Q be 1bS of 4n, 2b, 11T\',1);d=BM[d];c++}1s d=4KB;if(3<a.1h){if(1F!==a[2]&&("2b"!==2h a[2]||0>a[2]||a[2]!==1k.2t(a[2])))1f b.7A(\'9B 1h 1aK to "4x" 2Q be a 2HU 32m 1nM\',2);1d e=a[2];c++}e={5x:"4x",1Nj:d,N:e}}1s 2oX(BM[d],d),e=BM[d];1j(d=[];c<a.1h;c++){1d f=b.5N(a[c],c,4KB);if(!f)1f 1F;d.1q(f)}1f 1g Si(e,d)};Si.1i.3x=1b(a){1j(1d b=0;b<1a.1kF.1h;b++){1d c=1a.1kF[b].3x(a);if(!Cy(1a.1I,1N(c)))1f c;if(b===1a.1kF.1h-1)1t 1g 1uN("19P 1Q to be of 1I "+5s(1a.1I)+", 19T 1ji "+5s(1N(c))+" 1gK.");}2oX(!1);1f 1F};Si.1i.1nB=1b(a){1a.1kF.12I(a)};Si.1i.1mt=1b(){1d a;1f(a=[]).9V.6c(a,1a.1kF.5d(1b(a){1f a.1mt()}))};Si.1i.13W=1b(){1d a=1a.1I,b=[a.5x];if("4x"===a.5x){1d c=a.1Nj;if("4n"===c.5x||"2b"===c.5x||"11T"===c.5x)b.1q(c.5x),a=a.N,("2b"===2h a||1<1a.1kF.1h)&&b.1q(a)}1f b.9V(1a.1kF.5d(1b(a){1f a.13W()}))};1d 60q={5x:"2b"},60p={5x:"1Q"},Jt=1b(a,b,c){1a.1I=a;1a.2P=b;1a.15d=c};Jt.5N=1b(a,b){if(3!==a.1h)1f b.7A("19P 2 5m, 19T 1ji "+(a.1h-1)+" 1gK.");1d c=b.5N(a[1],1,60q);a=b.5N(a[2],2,{5x:"4x",1Nj:b.1BD||60p,N:1p 0});1f c&&a?1g Jt(a.1I.1Nj,c,a):1F};Jt.1i.3x=1b(a){1d b=1a.2P.3x(a);a=1a.15d.3x(a);if(0>b)1t 1g 1uN("2K 2P 9H of 14w: "+b+" < 0.");if(b>=a.1h)1t 1g 1uN("2K 2P 9H of 14w: "+b+" > "+(a.1h-1)+".");if(b!==1k.2t(b))1t 1g 1uN("2K 2P 2Q be an 32m, 19T 1ji "+b+" 1gK.");1f a[b]};Jt.1i.1nB=1b(a){a(1a.2P);a(1a.15d)};Jt.1i.1mt=1b(){1f[1p 0]};Jt.1i.13W=1b(){1f["at",1a.2P.13W(),1a.15d.13W()]};1d 60o={5x:"11T"},Kt=1b(a,b,c){1a.1I=a;1a.42R=b;1a.10g=c};Kt.5N=1b(a,b){if(4>a.1h)1f b.7A("19P at 1gR 3 5m, 19T 1ji 1cF "+(a.1h-1)+".");if(0!==a.1h%2)1f b.7A("19P an 7Z7 2b of 5m.");if(b.1BD&&"1Q"!==b.1BD.5x)1d c=b.1BD;1j(1d d=[],e=1;e<a.1h-1;e+=2){1d f=b.5N(a[e],e,60o);if(!f)1f 1F;1d h=b.5N(a[e+1],e+1,c);if(!h)1f 1F;d.1q([f,h]);c=c||h.1I}a=b.5N(a[a.1h-1],a.1h-1,c);if(!a)1f 1F;2oX(c);1f 1g Kt(c,d,a)};Kt.1i.3x=1b(a){1j(1d b=0,c=1a.42R;b<c.1h;b+=1){1d d=c[b],e=d[1];if(d[0].3x(a))1f e.3x(a)}1f 1a.10g.3x(a)};Kt.1i.1nB=1b(a){1j(1d b=0,c=1a.42R;b<c.1h;b+=1){1d d=c[b],e=d[1];a(d[0]);a(e)}a(1a.10g)};Kt.1i.1mt=1b(){1d a;1f(a=[]).9V.6c(a,1a.42R.5d(1b(a){1f a[1].1mt()})).9V(1a.10g.1mt())};Kt.1i.13W=1b(){1d a=["1S"];1a.1nB(1b(b){a.1q(b.13W())});1f a};1d al=1b(a){1a.2i=a.2i;1a.1IZ=a.1IZ};al.1i.5s=1b(){1f 1a.2i};al.1TK=1b(a){1f 1g al({2i:a,1IZ:!1})};al.1i.13W=1b(){1f["4d",1a.2i]};1d 60n={5x:"1Q"},hr=1b(a,b){1a.1I=a;1a.1kF=b};hr.5N=1b(a,b){if(2>a.1h)1f b.7A("7Z6 at 1gR 1bS 1aK.");1d c=1F,d=b.1BD;d&&"1Q"!==d.5x&&(c=d);1d e=[],f=0;1j(a=a.4h(1);f<a.1h;f+=1){1d h=b.5N(a[f],1+e.1h,c,1p 0,{42h:"1ZO"});if(!h)1f 1F;c=c||h.1I;e.1q(h)}2oX(c);1f d&&e.2Ne(1b(a){1f Cy(d,a.1I)})?1g hr(60n,e):1g hr(c,e)};hr.1i.3x=1b(a){1j(1d b=1F,c=0,d,e=0,f=1a.1kF;e<f.1h&&(b=f[e],c++,(b=b.3x(a))&&b 2m al&&!b.1IZ&&(d||(d=b.2i),b=1F,c===1a.1kF.1h&&(b=d)),1F===b);e+=1);1f b};hr.1i.1nB=1b(a){1a.1kF.12I(a)};hr.1i.1mt=1b(){1d a;1f(a=[]).9V.6c(a,1a.1kF.5d(1b(a){1f a.1mt()}))};hr.1i.13W=1b(){1d a=["3CE"];1a.1nB(1b(b){a.1q(b.13W())});1f a};1d 60m={5x:"1Q"},4KA={"to-11T":{5x:"11T"},"to-1A":{5x:"1A"},"to-2b":{5x:"2b"},"to-4n":{5x:"4n"}},tm=1b(a,b){1a.1I=a;1a.1kF=b};tm.5N=1b(a,b){if(2>a.1h)1f b.7A("19P at 1gR 1bS 1aK.");1d c=a[0];2oX(4KA[c],c);if(("to-11T"===c||"to-4n"===c)&&2!==a.1h)1f b.7A("19P 1bS 1aK.");c=4KA[c];1j(1d d=[],e=1;e<a.1h;e++){1d f=b.5N(a[e],e,60m);if(!f)1f 1F;d.1q(f)}1f 1g tm(c,d)};tm.1i.3x=1b(a){if("11T"===1a.1I.5x)1f!!1a.1kF[0].3x(a);if("1A"===1a.1I.5x){1j(1d b,c,d=0,e=1a.1kF;d<e.1h;d+=1){b=e[d].3x(a);c=1F;if(b 2m 1aV)1f b;if("4n"===2h b){1d f=a.5Ym(b);if(f)1f f}1s if(2K.8n(b)&&(c=3>b.1h||4<b.1h?"13H 7Z5 1Q "+4H.8s(b)+": 1SV an 4x 60l 1X3 29k or 2OA 3uI 2a.":4Kv(b[0],b[1],b[2],b[3]),!c))1f 1g 1aV(b[0]/255,b[1]/255,b[2]/255,b[3])}1t 1g 1uN(c||"38U 2S 5N 1A 19f 1Q \'"+("4n"===2h b?b:10J(4H.8s(b)))+"\'");}if("2b"===1a.1I.5x){b=1F;c=0;1j(d=1a.1kF;c<d.1h;c+=1){b=d[c].3x(a);if(1F===b)1f 0;e=3a(b);if(!11I(e))1f e}1t 1g 1uN("38U 2S 1hk "+4H.8s(b)+" to 2b.");}1f"1S6"===1a.1I.5x?42F.1TK(5s$1(1a.1kF[0].3x(a))):"1GS"===1a.1I.5x?4Km.1TK(5s$1(1a.1kF[0].3x(a))):5s$1(1a.1kF[0].3x(a))};tm.1i.1nB=1b(a){1a.1kF.12I(a)};tm.1i.1mt=1b(){1d a;1f(a=[]).9V.6c(a,1a.1kF.5d(1b(a){1f a.1mt()}))};tm.1i.13W=1b(){if("1S6"===1a.1I.5x)1f(1g 7Z4([{15k:1a.1kF[0],3b:1F,9O:1F,1GR:1F}])).13W();if("1GS"===1a.1I.5x)1f(1g 7Z3(1a.1kF[0])).13W();1d a=["to-"+1a.1I.5x];1a.1nB(1b(b){a.1q(b.13W())});1f a};1d yA=1b(a,b,c){1a.4Kz=a?b?"42Q":"1S":b?"2p2":"13T";1a.1nD=c;1a.1EZ=1g 4Kn.4Ky(1a.1nD?1a.1nD:[],{4Kz:1a.4Kz,7Q:"1qs"})};yA.1i.1iF=1b(a,b){1f 1a.1EZ.1iF(a,b)};yA.1i.5Yf=1b(){1f(1g 4Kn.4Ky(1a.1nD?1a.1nD:[])).7Z2().1nD};1d 60j={5x:"4n"},4Kx={5x:"11T"},60k={5x:"1EZ"},Lt=1b(a,b,c){1a.1I=60k;1a.1nD=c;1a.42P=a;1a.42O=b};Lt.5N=1b(a,b){if(2!==a.1h)1f b.7A("19P 1bS 1aK.");a=a[1];if("2c"!==2h a||2K.8n(a))1f b.7A("4Ky 3v 1aK 2Q be an 2c.");1d c=b.5N(1p 0===a["1S-38T"]?!1:a["1S-38T"],1,4Kx);if(!c)1f 1F;1d d=b.5N(1p 0===a["4Kw-38T"]?!1:a["4Kw-38T"],1,4Kx);if(!d)1f 1F;1d e=1F;1f a.1nD&&(e=b.5N(a.1nD,1,60j),!e)?1F:1g Lt(c,d,e)};Lt.1i.3x=1b(a){1f 1g yA(1a.42P.3x(a),1a.42O.3x(a),1a.1nD?1a.1nD.3x(a):1F)};Lt.1i.1nB=1b(a){a(1a.42P);a(1a.42O);1a.1nD&&a(1a.1nD)};Lt.1i.1mt=1b(){1f[1p 0]};Lt.1i.13W=1b(){1d a={};a["1S-38T"]=1a.42P.13W();a["4Kw-38T"]=1a.42O.13W();1a.1nD&&(a.1nD=1a.1nD.13W());1f["1EZ",a]};1d kF=1b(a,b,c,d,e){1a.3l=a;1a.4d=b;1a.3b=c;1a.2Ov=d;1a.1GR=e},vh=1b(a){1a.1lx=a};vh.1TK=1b(a){1f 1g vh([1g kF(a,1F,1F,1F,1F)])};vh.1i.1kn=1b(){1f 0===1a.1lx.1h?!0:!1a.1lx.2Ne(1b(a){1f 0!==a.3l.1h||a.4d&&0!==a.4d.2i.1h})};vh.5YM=1b(a){1f a 2m vh?a:vh.1TK(a)};vh.1i.5s=1b(){1f 0===1a.1lx.1h?"":1a.1lx.5d(1b(a){1f a.3l}).14G("")};vh.1i.13W=1b(){1j(1d a=["8V"],b=0,c=1a.1lx;b<c.1h;b+=1){1d d=c[b];if(d.4d)a.1q(["4d",d.4d.2i]);1s{a.1q(d.3l);1d e={};d.2Ov&&(e["3l-9O"]=["1nM",d.2Ov.7g(",")]);d.3b&&(e["9O-3b"]=d.3b);d.1GR&&(e["3l-1A"]=["15A"].9V(d.1GR.1MY()));a.1q(e)}}1f a};1d 60i={5x:"1F"},60g={5x:"2b"},$Qa={5x:"4n"},60h={5x:"11T"},60f={5x:"1A"},60b={5x:"2c"},4Ku={5x:"1Q"},60e={5x:"1EZ"},60d={5x:"1S6"},60c={5x:"1GS"};vg.4Kv=1b(a,b,c,d){1f"2b"===2h a&&0<=a&&255>=a&&"2b"===2h b&&0<=b&&255>=b&&"2b"===2h c&&0<=c&&255>=c?"7w"===2h d||"2b"===2h d&&0<=d&&1>=d?1F:"13H 15A 1Q ["+[a,b,c,d].14G(", ")+"]: \'a\' 2Q be 1pS 0 and 1.":"13H 15A 1Q ["+("2b"===2h d?[a,b,c,d]:[a,b,c]).14G(", ")+"]: \'r\', \'g\', and \'b\' 2Q be 1pS 0 and 255."};vg.42I=1b(a){if(1F===a||"4n"===2h a||"11T"===2h a||"2b"===2h a||a 2m Rd||a 2m yA||a 2m vh||a 2m al)1f!0;if(2K.8n(a)){1j(1d b=0;b<a.1h;b+=1)if(!vg.42I(a[b]))1f!1;1f!0}if("2c"===2h a){1j(b in a)if(!vg.42I(a[b]))1f!1;1f!0}1f!1};vg.1N=1b(a){if(1F===a)1f 60i;if("4n"===2h a)1f $Qa;if("11T"===2h a)1f 60h;if("2b"===2h a)1f 60g;if(a 2m Rd)1f 60f;if(a 2m yA)1f 60e;if(a 2m vh)1f 60d;if(a 2m al)1f 60c;if(2K.8n(a)){1j(1d b=a.1h,c,d=0;d<a.1h;d+=1){1d e=vg.1N(a[d]);if(c){if(c!==e){c=4Ku;1W}}1s c=e}1f{5x:"4x",1Nj:c||4Ku,N:b}}2oX("2c"===2h a);1f 60b};vg.5s$1=1b(a){1d b=2h a;1f 1F===a?"":"4n"===b||"2b"===b||"11T"===b?10J(a):a 2m Rd||a 2m vh||a 2m al?a.5s():4H.8s(a)};1d 60a={5x:"11T"},Z8={5x:"1Q"},609={5x:"1EZ"},bl={};bl.5ZO=Dy("==",1b(a,b,c){1f b===c},Y8);bl.5ZN=Dy("!=",1b(a,b,c){1f b!==c},1b(a,b,c,d){1f!Y8(a,b,c,d)});bl.5ZL=Dy("<",1b(a,b,c){1f b<c},1b(a,b,c,d){1f 0>d.1iF(b,c)});bl.5ZM=Dy(">",1b(a,b,c){1f b>c},1b(a,b,c,d){1f 0<d.1iF(b,c)});bl.5ZJ=Dy("<=",1b(a,b,c){1f b<=c},1b(a,b,c,d){1f 0>=d.1iF(b,c)});bl.5ZK=Dy(">=",1b(a,b,c){1f b>=c},1b(a,b,c,d){1f 0<=d.1iF(b,c)});1d 607={5x:"2b"},605={5x:"4n"},604={5x:"1A"},603={5x:"1Q"},608={5x:"1S6"},602={5x:"1GS"},ir=1b(a){1a.1I=608;1a.1lx=a};ir.5N=1b(a,b){if(2>a.1h)1f b.7A("19P at 1gR 1bS 1aK.");1d c=a[1];if(!2K.8n(c)&&"2c"===2h c)1f b.7A("42N 1aK 2Q be an 4d or 3l 30z.");c=[];1j(1d d=!1,e=1;e<=a.1h-1;++e){1d f=a[e];if(d&&"2c"===2h f&&!2K.8n(f)){d=!1;1d h=1F;if(f["9O-3b"]&&(h=b.5N(f["9O-3b"],1,607),!h))1f 1F;1d g=1F;if(f["3l-9O"]&&(g=b.5N(f["3l-9O"],1,{5x:"4x",1Nj:605,N:1p 0}),!g))1f 1F;1d k=1F;if(f["3l-1A"]&&(k=b.5N(f["3l-1A"],1,604),!k))1f 1F;f=c[c.1h-1];f.3b=h;f.9O=g;f.1GR=k}1s{h=b.5N(a[e],1,603);if(!h)1f 1F;d=h.1I.5x;if("4n"!==d&&"1Q"!==d&&"1F"!==d&&"1GS"!==d)1f b.7A("42F 3l 1I 2Q be \'4n\', \'1Q\', \'4d\' or \'1F\'.");d=!0;c.1q({15k:h,3b:1F,9O:1F,1GR:1F})}}1f 1g ir(c)};ir.1i.3x=1b(a){1f 1g vh(1a.1lx.5d(1b(b){1d c=b.15k.3x(a);1f vg.1N(c)===602?1g kF("",c,1F,1F,1F):1g kF(vg.5s$1(c),1F,b.3b?b.3b.3x(a):1F,b.9O?b.9O.3x(a).14G(","):1F,b.1GR?b.1GR.3x(a):1F)}))};ir.1i.1nB=1b(a){1j(1d b=0,c=1a.1lx;b<c.1h;b+=1){1d d=c[b];a(d.15k);d.3b&&a(d.3b);d.9O&&a(d.9O);d.1GR&&a(d.1GR)}};ir.1i.1mt=1b(){1f[1p 0]};ir.1i.13W=1b(){1j(1d a=["8V"],b=0,c=1a.1lx;b<c.1h;b+=1){1d d=c[b];a.1q(d.15k.13W());1d e={};d.3b&&(e["9O-3b"]=d.3b.13W());d.9O&&(e["3l-9O"]=d.9O.13W());d.1GR&&(e["3l-1A"]=d.1GR.13W());a.1q(e)}1f a};1d 5ZZ={5x:"4n"},601={5x:"1GS"},Mt=1b(a){1a.1I=601;1a.15d=a};Mt.5N=1b(a,b){1f 2!==a.1h?b.7A("19P 1uk 5m."):(a=b.5N(a[1],1,5ZZ))?1g Mt(a):b.7A("No 4d 2i 20i.")};Mt.1i.3x=1b(a){1d b=1a.15d.3x(a),c=!1;a.2pZ&&-1<a.2pZ.3f(b)&&(c=!0);1f 1g al({2i:b,1IZ:c})};Mt.1i.1nB=1b(a){a(1a.15d)};Mt.1i.1mt=1b(){1f[1p 0]};Mt.1i.13W=1b(){1f["4d",1a.15d.13W()]};1d um=1b(a,b,c,d,e){1a.1I=a;1a.22V=b;1a.1w3=c;1a.15d=d;1a.1kD=[];1a.1H4=[];1j(a=0;a<e.1h;a+=1)b=e[a],c=b[1],1a.1kD.1q(b[0]),1a.1H4.1q(c)};um.2p7=1b(a,b,c,d){1d e=0;"22h"===a.2i?e=rS(b,a.13T,c,d):"28y"===a.2i?e=rS(b,1,c,d):"42L-2Os"===a.2i&&(a=a.38y,e=(1g 7Z1(a[0],a[1],a[2],a[3])).42M(rS(b,1,c,d)));1f e};um.5N=1b(a,b){1d c=a[0],d=a[1],e=a[2],f=a.4h(3);if(!2K.8n(d)||0===d.1h)1f b.7A("19P an 1w3 1I 6d.",1);if("28y"===d[0])d={2i:"28y"};1s if("22h"===d[0]){d=d[1];if("2b"!==2h d)1f b.7A("3uL 1w3 9N a 3uI 13T.",1,1);d={2i:"22h",13T:d}}1s if("42L-2Os"===d[0]){d=d.4h(1);if(4!==d.1h||d.2Ne(1b(a){1f"2b"!==2h a||0>a||1<a}))1f b.7A("3uK 2Os 1w3 9N 2OA 3uI 5m 10M 2a 1pS 0 and 1.",1);d={2i:"42L-2Os",38y:d}}1s 1f b.7A("1jJ 1w3 1I "+10J(d[0]),1,0);if(4>a.1h-1)1f b.7A("19P at 1gR 4 5m, 19T 1ji 1cF "+(a.1h-1)+".");if(0!==(a.1h-1)%2)1f b.7A("19P an 42H 2b of 5m.");e=b.5N(e,2,7Z0);if(!e)1f 1F;a=[];1d h=1F;"1d9-25Y"===c||"1d9-2du"===c?h=1oL:b.1BD&&"1Q"!==b.1BD.5x&&(h=b.1BD);1j(1d g=0;g<f.1h;g+=2){1d k=f[g],n=f[g+1],m=g+3,w=g+4;if("2b"!==2h k)1f b.7A(\'3uH/1jU 42G 1j "1d9" 2jf 2Q be 2l 1nl 1nM 3uI 2a (2S 1AY 2jf) 1j 1Z 15d 2a.\',m);if(a.1h&&a[a.1h-1][0]>=k)1f b.7A(\'3uH/1jU 42G 1j "1d9" 2jf 2Q be 5ZS 10M 15d 2a in 5ZR 5ZQ 1HC.\',m);n=b.5N(n,w,h);if(!n)1f 1F;h=h||n.1I;a.1q([k,n])}1f"2b"===h.5x||"1A"===h.5x||"4x"===h.5x&&"2b"===h.1Nj.5x&&"2b"===2h h.N?1g um(h,c,d,e,a):b.7A("1tU "+5s(h)+" is 2S 7YZ.")};um.1i.3x=1b(a){1d b=1a.1kD,c=1a.1H4;if(1===b.1h)1f c[0].3x(a);1d d=1a.15d.3x(a);if(d<=b[0])1f c[0].3x(a);1d e=b.1h;if(d>=b[e-1])1f c[e-1].3x(a);e=7YY(b,d);b=um.2p7(1a.1w3,d,b[e],b[e+1]);d=c[e].3x(a);a=c[e+1].3x(a);1f"1d9"===1a.22V?1d9[1a.1I.5x.18v()](d,a,b):"1d9-25Y"===1a.22V?25Y.1e1(25Y.1d9(25Y.1et(d),25Y.1et(a),b)):2du.1e1(2du.1d9(2du.1et(d),2du.1et(a),b))};um.1i.1nB=1b(a){a(1a.15d);1j(1d b=0,c=1a.1H4;b<c.1h;b+=1)a(c[b])};um.1i.1mt=1b(){1d a;1f(a=[]).9V.6c(a,1a.1H4.5d(1b(a){1f a.1mt()}))};um.1i.13W=1b(){1d a="28y"===1a.1w3.2i?["28y"]:"22h"===1a.1w3.2i?1===1a.1w3.13T?["28y"]:["22h",1a.1w3.13T]:["42L-2Os"].9V(1a.1w3.38y);a=[1a.22V,a,1a.15d.13W()];1j(1d b=0;b<1a.1kD.1h;b++)a.1q(1a.1kD[b],1a.1H4[b].13W());1f a};1d 5ZY={5x:"11T"},4Kt={5x:"1Q"},Nt=1b(a,b){1a.1I=5ZY;1a.3uJ=a;1a.42K=b};Nt.5N=1b(a,b){if(3!==a.1h)1f b.7A("19P 2 5m, 19T 1ji "+(a.1h-1)+" 1gK.");1d c=b.5N(a[1],1,4Kt);a=b.5N(a[2],2,4Kt);if(!c||!a)1f 1F;1d d=c.1I;1f"11T"===d.5x||"4n"===d.5x||"2b"===d.5x||"1F"===d.5x||"1Q"===d.5x?1g Nt(c,a):b.7A("19P 1lf 1aK to be of 1I 11T, 4n, 2b or 1F, 19T 1ji "+5s(c.1I)+" 1gK")};Nt.1i.3x=1b(a){1d b=1a.3uJ.3x(a);a=1a.42K.3x(a);if(!b||!a)1f!1;if("11T"!==2h b&&"4n"!==2h b&&"2b"!==2h b)1t 1g 1uN("19P 1lf 1aK to be of 1I 11T, 4n or 2b, 19T 1ji "+5s(1N(b))+" 1gK.");if(!2K.8n(a)&&"4n"!==2h a)1t 1g 1uN("19P 1hd 1aK to be of 1I 4x or 4n, 19T 1ji "+5s(1N(a))+" 1gK.");1f 0<=a.3f(b)};Nt.1i.1nB=1b(a){a(1a.3uJ);a(1a.42K)};Nt.1i.1mt=1b(){1f[!0,!1]};Nt.1i.13W=1b(){1f["in",1a.3uJ.13W(),1a.42K.13W()]};1d Ot=1b(a,b){1a.1I=b.1I;1a.1M2=[].9V(a);1a.4D=b};Ot.1i.3x=1b(a){1f 1a.4D.3x(a)};Ot.1i.1nB=1b(a){1j(1d b=0,c=1a.1M2;b<c.1h;b+=1)a(c[b][1]);a(1a.4D)};Ot.5N=1b(a,b){if(4>a.1h)1f b.7A("19P at 1gR 3 5m, 19T 1ji "+(a.1h-1)+" 1gK.");1j(1d c=[],d=1;d<a.1h-1;d+=2){1d e=a[d];if("4n"!==2h e)1f b.7A("19P 4n, 19T 1ji "+2h e+" 1gK.",d);if(/[^a-zA-Z0-31m]/.6S(e))1f b.7A("3XJ 1c3 2Q 42J 1cF 7YX 7YW or \'10D\'.",d);1d f=b.5N(a[d+1],d+1);if(!f)1f 1F;c.1q([e,f])}1f(a=b.5N(a[a.1h-1],a.1h-1,b.1BD,c))?1g Ot(c,a):1F};Ot.1i.1mt=1b(){1f 1a.4D.1mt()};Ot.1i.13W=1b(){1j(1d a=["2FM"],b=0,c=1a.1M2;b<c.1h;b+=1){1d d=c[b];a.1q(d[0],d[1].13W())}a.1q(1a.4D.13W());1f a};1d 5ZX={5x:"2b"},Pt=1b(a){1a.1I=5ZX;1a.15d=a};Pt.5N=1b(a,b){1f 2!==a.1h?b.7A("19P 1 1aK, 19T 1ji "+(a.1h-1)+" 1gK."):(a=b.5N(a[1],1))?"4x"!==a.1I.5x&&"4n"!==a.1I.5x&&"1Q"!==a.1I.5x?b.7A("19P 1aK of 1I 4n or 4x, 19T 1ji "+5s(a.1I)+" 1gK."):1g Pt(a):1F};Pt.1i.3x=1b(a){a=1a.15d.3x(a);if("4n"===2h a||2K.8n(a))1f a.1h;1t 1g 1uN("19P 1Q to be of 1I 4n or 4x, 19T 1ji "+5s(1N(a))+" 1gK.");};Pt.1i.1nB=1b(a){a(1a.15d)};Pt.1i.1mt=1b(){1f[1p 0]};Pt.1i.13W=1b(){1d a=["1h"];1a.1nB(1b(b){a.1q(b.13W())});1f a};1d jr=1b(a,b){1a.1I=a;1a.1Q=b};jr.5N=1b(a,b){if(2!==a.1h)1f b.7A("\'1nM\' 6d 9N 2hu 1bS 1aK, 19T 1ji "+(a.1h-1)+" 1gK.");if(!vg.42I(a[1]))1f b.7A("16w 1Q");a=a[1];1d c=vg.1N(a);b=b.1BD;"4x"!==c.5x||0!==c.N||!b||"4x"!==b.5x||"2b"===2h b.N&&0!==b.N||(c=b);1f 1g jr(c,a)};jr.1i.3x=1b(){1f 1a.1Q};jr.1i.1nB=1b(){};jr.1i.1mt=1b(){1f[1a.1Q]};jr.1i.13W=1b(){if("4x"===1a.1I.5x||"2c"===1a.1I.5x)1f["1nM",1a.1Q];if(1a.1Q 2m 1aV)1f["15A"].9V(1a.1Q.1MY());if(1a.1Q 2m vh)1f 1a.1Q.13W();2oX(1F===1a.1Q||"4n"===2h 1a.1Q||"2b"===2h 1a.1Q||"11T"===2h 1a.1Q);1f 1a.1Q};1d 5ZV={5x:"1Q"},Qt=1b(a,b,c,d,e,f){1a.4Ko=a;1a.1I=b;1a.15d=c;1a.2Nh=d;1a.1H4=e;1a.10g=f};Qt.5N=1b(a,b){if(5>a.1h)1f b.7A("19P at 1gR 4 5m, 19T 1ji 1cF "+(a.1h-1)+".");if(1!==a.1h%2)1f b.7A("19P an 42H 2b of 5m.");if(b.1BD&&"1Q"!==b.1BD.5x)1d c=b.1BD;1j(1d d={},e=[],f=2;f<a.1h-1;f+=2){1d h=a[f],g=a[f+1];2K.8n(h)||(h=[h]);1d k=b.9V(f);if(0===h.1h)1f k.7A("19P at 1gR 1bS 5ZW 17R.");1j(1d n=0;n<h.1h;n+=1){1d m=h[n];if("2b"!==2h m&&"4n"!==2h m)1f k.7A("4Kp 1kD 2Q be 4Ks or 4Kr.");if("2b"===2h m&&1k.abs(m)>3a.4Kq)1f k.7A("4Kp 1kD 2Q be 3YS no 3qX 6L "+3a.4Kq+".");if("2b"===2h m&&1k.2t(m)!==m)1f k.7A("7YV 5ZW 1kD 2Q be 32m 2a.");if(!w)1d w=vg.1N(m);1s if(k.3ux(w,vg.1N(m)))1f 1F;if("7w"!==2h d[10J(m)])1f k.7A("4Kp 1kD 2Q be 3QL.");d[10J(m)]=e.1h}g=b.5N(g,f,c);if(!g)1f 1F;c=c||g.1I;e.1q(g)}f=b.5N(a[1],1,5ZV);if(!f)1f 1F;a=b.5N(a[a.1h-1],a.1h-1,c);if(!a)1f 1F;2oX(w&&c);1f"1Q"!==f.1I.5x&&b.9V(1).3ux(w,f.1I)?1F:1g Qt(w,c,f,d,e,a)};Qt.1i.3x=1b(a){1d b=1a.15d.3x(a);1f(vg.1N(b)===1a.4Ko&&1a.1H4[1a.2Nh[b]]||1a.10g).3x(a)};Qt.1i.1nB=1b(a){a(1a.15d);1a.1H4.12I(a);a(1a.10g)};Qt.1i.1mt=1b(){1d a;1f(a=[]).9V.6c(a,1a.1H4.5d(1b(a){1f a.1mt()})).9V(1a.10g.1mt())};Qt.1i.13W=1b(){1j(1d a=1a,b=["141",1a.15d.13W()],c=[],d={},e=0,f=1L.9K(1a.2Nh).15F();e<f.1h;e+=1){1d h=f[e],g=d[1a.2Nh[h]];1p 0===g?(d[1a.2Nh[h]]=c.1h,c.1q([1a.2Nh[h],[h]])):c[g][1].1q(h)}d=1b(b){1f"2b"===a.4Ko.5x?3a(b):b};1j(e=0;e<c.1h;e+=1)f=c[e],g=f[0],g=f[1],1===g.1h?b.1q(d(g[0])):b.1q(g.5d(d)),b.1q(1a.1H4[7YU$1].13W());b.1q(1a.10g.13W());1f b};1d DX={5x:"2b"},EX={5x:"4n"},Rt=1b(a,b,c,d,e){1a.1I=EX;1a.2b=a;1a.1nD=b;1a.1VQ=c;1a.2Oz=d;1a.2Oy=e};Rt.5N=1b(a,b){if(3!==a.1h)1f b.7A("19P 1uk 5m.");1d c=b.5N(a[1],1,DX);if(!c)1f 1F;a=a[2];if("2c"!==2h a||2K.8n(a))1f b.7A("5ZU 3v 1aK 2Q be an 2c.");1d d=1F;if(a.1nD&&(d=b.5N(a.1nD,1,EX),!d))1f 1F;1d e=1F;if(a.1VQ&&(e=b.5N(a.1VQ,1,EX),!e))1f 1F;1d f=1F;if(a["2o-2mc-2mV"]&&(f=b.5N(a["2o-2mc-2mV"],1,DX),!f))1f 1F;1d h=1F;1f a["1V-2mc-2mV"]&&(h=b.5N(a["1V-2mc-2mV"],1,DX),!h)?1F:1g Rt(c,d,e,f,h)};Rt.1i.3x=1b(a){1f(1g 4Kn.5ZU(1a.1nD?1a.1nD.3x(a):[],{2r:1a.1VQ?"1VQ":"7YT",1VQ:1a.1VQ?1a.1VQ.3x(a):1p 0,7YS:1a.2Oz?1a.2Oz.3x(a):1p 0,4l3:1a.2Oy?1a.2Oy.3x(a):1p 0})).8V(1a.2b.3x(a))};Rt.1i.1nB=1b(a){a(1a.2b);1a.1nD&&a(1a.1nD);1a.1VQ&&a(1a.1VQ);1a.2Oz&&a(1a.2Oz);1a.2Oy&&a(1a.2Oy)};Rt.1i.1mt=1b(){1f[1p 0]};Rt.1i.13W=1b(){1d a={};1a.1nD&&(a.1nD=1a.1nD.13W());1a.1VQ&&(a.1VQ=1a.1VQ.13W());1a.2Oz&&(a["2o-2mc-2mV"]=1a.2Oz.13W());1a.2Oy&&(a["1V-2mc-2mV"]=1a.2Oy.13W());1f["2b-8V",1a.2b.13W(),a]};1d 5ZT={5x:"2b"},St=1b(a,b,c){1a.1I=a;1a.15d=b;1a.1kD=[];1a.1H4=[];1j(a=0;a<c.1h;a+=1){b=c[a];1d d=b[1];1a.1kD.1q(b[0]);1a.1H4.1q(d)}};St.5N=1b(a,b){if(4>a.1h-1)1f b.7A("19P at 1gR 4 5m, 19T 1ji 1cF "+(a.1h-1)+".");if(0!==(a.1h-1)%2)1f b.7A("19P an 42H 2b of 5m.");1d c=b.5N(a[1],1,5ZT);if(!c)1f 1F;1d d=[],e=1F;b.1BD&&"1Q"!==b.1BD.5x&&(e=b.1BD);1j(1d f=1;f<a.1h;f+=2){1d h=1===f?-12g:a[f],g=a[f+1],k=f,n=f+1;if("2b"!==2h h)1f b.7A(\'3uH/1jU 42G 1j "7F" 2jf 2Q be 2l 1nl 1nM 3uI 2a (2S 1AY 2jf) 1j 1Z 15d 2a.\',k);if(d.1h&&d[d.1h-1][0]>=h)1f b.7A(\'3uH/1jU 42G 1j "7F" 2jf 2Q be 5ZS 10M 15d 2a in 5ZR 5ZQ 1HC.\',k);g=b.5N(g,n,e);if(!g)1f 1F;e=e||g.1I;d.1q([h,g])}1f 1g St(e,c,d)};St.1i.3x=1b(a){1d b=1a.1kD,c=1a.1H4;if(1===b.1h)1f c[0].3x(a);1d d=1a.15d.3x(a);if(d<=b[0])1f c[0].3x(a);1d e=b.1h;if(d>=b[e-1])1f c[e-1].3x(a);b=$8(b,d);1f c[b].3x(a)};St.1i.1nB=1b(a){a(1a.15d);1j(1d b=0,c=1a.1H4;b<c.1h;b+=1)a(c[b])};St.1i.1mt=1b(){1d a;1f(a=[]).9V.6c(a,1a.1H4.5d(1b(a){1f a.1mt()}))};St.1i.13W=1b(){1j(1d a=["7F",1a.15d.13W()],b=0;b<1a.1kD.1h;b++)0<b&&a.1q(1a.1kD[b]),a.1q(1a.1H4[b].13W());1f a};1d Tt=1b(a,b){1a.1I=b.1I;1a.2i=a;1a.5ZP=b};Tt.5N=1b(a,b){if(2!==a.1h||"4n"!==2h a[1])1f b.7A("\'1d\' 6d 9N 2hu 1bS 4n 1nM 1aK.");a=a[1];1f b.1A9.14d(a)?1g Tt(a,b.1A9.1n(a)):b.7A(\'1jJ 2dZ "\'+a+\'". 7YR 3WR "\'+a+\'" 14d 26N 7YQ in an 7YP "2FM" 6d 8w 1nl it.\',1)};Tt.1i.3x=1b(a){1f 1a.5ZP.3x(a)};Tt.1i.1nB=1b(){};Tt.1i.1mt=1b(){1f[1p 0]};Tt.1i.13W=1b(){1f["1d",1a.2i]};1d Gw={"==":bl.5ZO,"!=":bl.5ZN,">":bl.5ZM,"<":bl.5ZL,">=":bl.5ZK,"<=":bl.5ZJ,4x:Si,at:Jt,"11T":Si,"1S":Kt,3CE:hr,1EZ:Lt,8V:ir,4d:Mt,"in":Nt,1d9:um,"1d9-25Y":um,"1d9-2du":um,1h:Pt,2FM:Ot,1nM:jr,141:Qt,2b:Si,"2b-8V":Rt,2c:Si,7F:St,4n:Si,"to-11T":tm,"to-1A":tm,"to-2b":tm,"to-4n":tm,"1d":Tt},lF={};jc.19l=1b(a,b,c){1p 0===c&&(c={});1L.12U(b,"4Kl",{1Q:a,7YO:!1});lF[a]={5ZH:b,1ZO:c.1ZO||[],42E:c.42E||[]}};jc.19l("1L",1L);jc.19l("1aV",Rd);jc.19l("4Km",al);jc.19l("7YN",jF);jc.19l("5h1",hF);jc.19l("5go",Uf);jc.19l("42F",vh);jc.19l("7YM",kF);1j(1d FX in Gw)Gw[FX].4Kl||jc.19l("7YL"+FX,Gw[FX]);jc.13W=1b(a,b){if(1F===a||1p 0===a||"11T"===2h a||"2b"===2h a||"4n"===2h a||a 2m 17L||a 2m 3a||a 2m 10J||a 2m 16V||a 2m 19j)1f a;if(a9(a))1f b&&b.1q(a),a;if(1aq.2q0(a))1f b&&b.1q(a.3J),a;if(a 2m 2Ou)1f b&&b.1q(a.2g.3J),a;if(2K.8n(a)){1j(1d c=[],d=0;d<a.1h;d+=1)c.1q(jc.13W(a[d],b));1f c}if("2c"===2h a){1d e=a.7m;c=e.4Kl;if(!c)1t 6u("1ag\'t 13W 2c of 5ZG 11F");d=e.13W?e.13W(a,b):{};if(!e.13W){1j(1d f in a)!a.3p(f)||0<=lF[c].1ZO.3f(f)||(e=a[f],d[f]=0<=lF[c].42E.3f(f)?e:jc.13W(e,b));a 2m 6u&&(d.19s=a.19s)}if(d.$2i)1t 6u("$2i 5i is 5ZI 1j 7YK 7YJ 7YI.");"1L"!==c&&(d.$2i=c);1f d}1t 6u("1ag\'t 13W 2c of 1I "+2h a);};jc.1Pm=1b(a){if(1F===a||1p 0===a||"11T"===2h a||"2b"===2h a||"4n"===2h a||a 2m 17L||a 2m 3a||a 2m 10J||a 2m 16V||a 2m 19j||a9(a)||1aq.2q0(a)||a 2m 2Ou)1f a;if(2K.8n(a))1f a.5d(jc.1Pm);if("2c"===2h a){1d b=a.$2i||"1L",c=lF[b].5ZH;if(!c)1t 6u("1ag\'t 1Pm 5ZG 11F "+b);if(c.1Pm)1f c.1Pm(a);c=1L.6F(c.1i);1j(1d d=0,e=1L.9K(a);d<e.1h;d+=1){1d f=e[d];if("$2i"!==f){1d h=a[f];c[f]=0<=lF[b].42E.3f(f)?h:jc.1Pm(h)}}1f c}1t 6u("1ag\'t 1Pm 2c of 1I "+2h a);};1d 5ZF={5NT:1G4,2AN:4L,1gf:1FS,1qX:10Y,5NS:1fZ,2pc:12X,28C:4A};Nj.5YU=Kh([{2i:"2gC",1bw:4,1I:"1gf"},{2i:"1em",1bw:4,1I:"1qX"},{2i:"36J",1bw:4,1I:"1gf"}],4);Nj.5YT=Kh([{2i:"2gA",1bw:3,1I:"28C"}],4);Nj.7YH=Kh([{2i:"2AY",1bw:1,1I:"2pc"}],4);Nj.5YP=Kh([{2i:"2Nf",1bw:2,1I:"2AN"},{2i:"4EP",1bw:2,1I:"28C"}]);Nj.5OE=Kh([{1I:"1gf",2i:"1Tv"},{1I:"1gf",2i:"1Tu"},{1I:"1gf",2i:"x1"},{1I:"1gf",2i:"y1"},{1I:"1gf",2i:"x2"},{1I:"1gf",2i:"y2"},{1I:"2pc",2i:"1hh"},{1I:"1qX",2i:"1AN"},{1I:"1qX",2i:"3kw"},{1I:"1gf",2i:"3L"},{1I:"1gf",2i:"5YF"}]);Nj.7YG=Kh([{2i:"13t",1bw:2,1I:"1gf"},{2i:"36P",1bw:2,1I:"1gf"},{2i:"1oX",1bw:2,1I:"1gf"}],4);Nj.7YF=Kh([{2i:"13t",1bw:2,1I:"1gf"},{2i:"36P",1bw:2,1I:"1gf"},{2i:"1oX",1bw:2,1I:"1gf"}],4);Nj.1fJ=Kh([{1I:"1gf",2i:"2Im"},{1I:"1gf",2i:"2Il"},{1I:"1qX",2i:"7YE"},{1I:"1qX",2i:"5Yy"},{1I:"2pc",2i:"4JV"},{1I:"2pc",2i:"3uB"},{1I:"2pc",2i:"38P"},{1I:"1qX",2i:"1S0"},{1I:"1qX",2i:"5Zu"},{1I:"1qX",2i:"5Zt"},{1I:"28C",2i:"5mT"},{1I:"28C",2i:"5mS"},{1I:"2AN",2i:"3ke"},{1I:"2AN",2i:"7YD"},{1I:"2AN",2i:"1qr"},{1I:"2pc",2i:"1yC"},{1I:"1gf",2i:"7YC"}]);Nj.7YB=Kh([{1I:"1gf",2i:"2Im"},{1I:"1gf",2i:"2Il"},{1I:"1gf",2i:"5Yu"},{1I:"1gf",2i:"5Yt"},{1I:"1gf",2i:"5Ys"},{1I:"1gf",2i:"4JT"},{1I:"1gf",2i:"4JS"},{1I:"1gf",2i:"4JR"},{1I:"1qX",2i:"10t"},{1I:"1qX",2i:"4K3"},{1I:"1qX",2i:"4K2"},{1I:"1qX",2i:"4K1"},{1I:"1qX",2i:"4K0"},{1I:"1qX",2i:"4JZ"},{1I:"1qX",2i:"4JY"},{1I:"1qX",2i:"4JX"},{1I:"1qX",2i:"4JW"},{1I:"1qX",2i:"1hh"},{1I:"1qX",2i:"7YA"},{1I:"1qX",2i:"7Yz"},{1I:"1qX",2i:"7Yy"},{1I:"1qX",2i:"7Yx"},{1I:"2pc",2i:"1yC"},{1I:"28C",2i:"5mv"},{1I:"28C",1bw:2,2i:"5mw"}]);Nj.3kd=Kh([{1I:"28C",2i:"2k5"}]);Nj.7Yw=Kh([{1I:"1gf",2i:"x"},{1I:"1gf",2i:"y"},{1I:"1gf",2i:"42r"}]);1d GX=1b(){1a.1lf=!0};GX.1i.2H=1b(a,b){1d c=1k.2t(a);if(1a.1lf)1f 1a.1lf=!1,1a.36e=c,1a.42C=0,1a.4Kk=a,1a.42D=c,!0;1a.42D>c?(1a.36e=c+1,1a.42C=b):1a.42D<c&&(1a.36e=c,1a.42C=b);1f a!==1a.4Kk?(1a.4Kk=a,1a.42D=c,!0):!1};1d Lf=1b(a,b){1a.5K=a;b?(1a.14H=b.14H,1a.1Ts=b.1Ts,1a.2oZ=b.2oZ,1a.11O=b.11O):(1a.1Ts=1a.14H=0,1a.2oZ=1g GX,1a.11O={})};Lf.1i.5Yg=1b(a){1f!1};Lf.1i.5ZE=1b(){1f 0===1a.1Ts?1:1k.2o((1a.14H-1a.2oZ.42C)/1a.1Ts,1)};Lf.1i.36j=1b(){1d a=1a.5K,b=a-1k.2t(a),c=1a.5ZE();1f a>1a.2oZ.36e?{1oY:2,1EW:1,t:b+(1-b)*c}:{1oY:.5,1EW:1,t:1-(1-c)*b}};1d Cs={2o:-1*1k.3r(2,14),1V:1k.3r(2,14)-1},Ug=1b(a){1p 0===a&&(a=[]);1a.1eK=a};Ug.1i.2N2=1b(a,b,c,d){1d e=1a.1eK[1a.1eK.1h-1];if(!e||e.1MS+a>Ug.5ZD||e.1zw!==d)e={36y:b.1h,4Ep:c.1h,1MS:0,2gq:0},1p 0!==d&&(e.1zw=d),1a.1eK.1q(e);1f e};Ug.1i.1n=1b(){1f 1a.1eK};Ug.1i.1M=1b(){1j(1d a=0,b=1a.1eK;a<b.1h;a+=1){1d c=b[a],d;1j(d in c.3s8)c.3s8[d].1M()}};Ug.3XX=1b(a,b,c,d){1f 1g Ug([{36y:a,4Ep:b,1MS:c,2gq:d,3s8:{},1zw:0}])};Ug.5ZD=1k.3r(2,16)-1;jc.19l("7Yv",Ug);1d wh=1b(){1a.2wY=!1;1a.1J9=-1;1a.1ce(0)};wh.13W=1b(a,b){a.2wY&&11l.7k("3N2 4x.2wY.");a.3N3();b&&(a.2wY=!0,b.1q(a.15U));1f{1h:a.1h,15U:a.15U}};wh.1Pm=1b(a){1d b=1L.6F(1a.1i);b.15U=a.15U;b.1h=a.1h;b.1J9=a.15U.10S/b.1Dy;b.1wN();1f b};wh.1i.3N3=1b(){1a.1h!==1a.1J9&&(1a.1J9=1a.1h,1a.15U=1a.15U.4h(0,1a.1h*1a.1Dy),1a.1wN())};wh.1i.9P=1b(){1a.1h=0};wh.1i.1ce=1b(a){1a.1Tx(a);1a.1h=a};wh.1i.1Tx=1b(a){a>1a.1J9&&(1a.1J9=1k.1V(a,1k.2t(5*1a.1J9),128),1a.15U=1g 1aq(1a.1J9*1a.1Dy),a=1a.1AL,1a.1wN(),a&&1a.1AL.1C(a))};wh.1i.1wN=1b(){1t 6u("1wN() 2Q be 5ne by 30y 5nd 3N2 11e");};1d Ut=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.1qw=1g 10Y(1a.15U)};b.1i.15T=1b(a,b,e){1d c=1a.1h;1a.1ce(c+1);1f 1a.1nc(c,a,b,e)};b.1i.1nc=1b(a,b,e,f){1d c=3*a;1a.1qw[c+0]=b;1a.1qw[c+1]=e;1a.1qw[c+2]=f;1f a};1f b}(wh);Ut.1i.1Dy=6;jc.19l("5fx",Ut);1d tf=1b(){};tf.1Tr={1ia:1,1km:2,5ZC:3};1d zA=1b(){1a.3b=1;1a.2Ov="";1a.30v=1F};zA.5ZA=1b(a,b){1d c=1g zA;c.3b=a||1;c.2Ov=b;1f c};zA.5Zy=1b(a){1d b=1g zA;b.30v=a;1f b};1d Ai=1b(){1a.3l="";1a.1Pj=[];1a.1lx=[];1a.3uG=1F};Ai.5Zw=1b(a,b){1j(1d c=1g Ai,d=0;d<a.1lx.1h;d++){1d e=a.1lx[d];e.4d?c.5Zz(e):c.5ZB(e,b)}1f c};Ai.1i.1h=1b(){1f 1a.3l.1h};Ai.1i.7Yu=1b(a){1f 1a.1lx[1a.1Pj[a]]};Ai.1i.7Yt=1b(a){1f 1a.1Pj[a]};Ai.1i.7Ys=1b(a){1f 1a.3l.19a(a)};Ai.1i.5Zv=1b(){};Ai.1i.1b2=1b(){1j(1d a=0,b=0;b<1a.3l.1h&&4Kj[1a.3l.19a(b)];b++)a++;b=1a.3l.1h;1j(1d c=1a.3l.1h-1;0<=c&&c>=a&&4Kj[1a.3l.19a(c)];c--)b--;1a.3l=1a.3l.11c(a,b);1a.1Pj=1a.1Pj.4h(a,b)};Ai.1i.11c=1b(a,b){1d c=1g Ai;c.3l=1a.3l.11c(a,b);c.1Pj=1a.1Pj.4h(a,b);c.1lx=1a.1lx;1f c};Ai.1i.5s=1b(){1f 1a.3l};Ai.1i.7Yr=1b(){1d a=1a;1f 1a.1Pj.2lY(1b(b,c){1f 1k.1V(b,a.1lx[c].3b)},0)};Ai.1i.5ZB=1b(a,b){1a.3l+=a.3l;1a.1lx.1q(zA.5ZA(a.3b,a.2Ov||b));b=1a.1lx.1h-1;1j(1d c=0;c<a.3l.1h;++c)1a.1Pj.1q(b)};Ai.1i.5Zz=1b(a){a=a.4d?a.4d.2i:"";if(0!==a.1h){1d b=1a.5Zx();b&&(1a.3l+=10J.1gx(b),1a.1lx.1q(zA.5Zy(a)),1a.1Pj.1q(1a.1lx.1h-1))}};Ai.1i.5Zx=1b(){1f 1a.3uG?5Zh<=1a.3uG?1F:++1a.3uG:1a.3uG=3Os};tf.3kc=1b(a,b,c,d,e,f,h,g,k,n,m,w,x,q,t,r){a=Ai.5Zw(a,e);w===tf.1Tr.1km&&a.5Zv();b=[];c=a.3l;1j(e=d=0;e<(1p 0).1h;e+=1)f=(1p 0)[e],b.1q(a.11c(d,f)),d=f;d<c.1h&&b.1q(a.11c(d,c.1h));b=[];m={3MN:b,3l:a.5s(),5C:m[1],7b:m[1],3B:m[0],2W:m[0],3ke:w,4lT:!1,5mo:!1};a:{1j(w=0;w<b.1h;w+=1)if(0!==b[w].5mp.1h){w=!1;1W a}w=!0}1f w?!1:m};1d 4Kj={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0};tf.5mh=1b(a,b,c){1d d=.5,e=.5;6U(c){1S"2W":1S"5C-2W":1S"7b-2W":d=1;1W;1S"3B":1S"5C-3B":1S"7b-3B":d=0}6U(c){1S"7b":1S"7b-2W":1S"7b-3B":e=1;1W;1S"5C":1S"5C-2W":1S"5C-3B":e=0}c=b[0]-a.22U[0]*d;b=b[1]-a.22U[1]*e;1f{4d:a,5C:b,7b:b+a.22U[1],3B:c,2W:c+a.22U[0]}};tf.4Ki=1b(a,b,c,d,e,f){a=a.4d;if(a.15k){1d h=a.15k;1d g=a.13S||1;h=[h[0]/g,h[1]/g,a.22U[0]-h[2]/g,a.22U[1]-h[3]/g]}g=b.3B*f;1d k=b.2W*f;"1G"===c||"1oE"===c?(g=e[0]+g-d[3],k=e[0]+k+d[1]):(g=e[0]+(g+k-a.22U[0])/2,k=g+a.22U[0]);1d n=b.5C*f;b=b.7b*f;"1D"===c||"1oE"===c?(c=e[1]+n-d[0],d=e[1]+b+d[2]):(c=e[1]+(n+b-a.22U[1])/2,d=c+a.22U[1]);1f{4d:a,5C:c,2W:k,7b:d,3B:g,5mW:h}};1d HX=1L.3F({14Y:1F,4K9:1b(a,b){1d c=b.6d;if("10p"===c.5x)1f{5x:"10p",5Zs:c.3x(1g Lf(a+1))};if("5j"===c.5x)1f{5x:"5j"};1d d=c.3Xq;b=c.3uF;1j(1d e=0;e<d.1h&&d[e]<=a;)e++;1j(1d f=e=1k.1V(0,e-1);f<d.1h&&d[f]<a+1;)f++;f=1k.2o(d.1h-1,f);a=d[e];d=d[f];if("1sh"===c.5x)1f{5x:"1sh",3MP:a,3MQ:d,3uF:b};f=c.3x(1g Lf(a));c=c.3x(1g Lf(d));1f{5x:"3w",3MP:a,3MQ:d,5Zr:f,5Zq:c,3uF:b}},7Yq:1b(a,b,c){1d d=b.4F6;b=b.4F7;1d e=c.5Zu;c=c.5Zt;1f"5j"===a.5x?e/128:"1sh"===a.5x?2b(e/128,c/128,b):d},7Yp:1b(a,b){1d c=b=0;"10p"===a.5x?c=a.5Zs:"5j"!==a.5x&&("3w"===a.5x?c=2b(a.5Zr,a.5Zq,0):b=0);1f{4F7:b,4F6:c}},7Yo:128}),td={"7Yn-1 3uD":1b(a){1f 128<=a&&255>=a},22T:1b(a){1f 4Kh<=a&&7Ym>=a},"22T 3uD":1b(a){1f 7Yl<=a&&7Yk>=a},"22T 29j-A":1b(a){1f 7Yj<=a&&5YV>=a},"2ht 2Cr":1b(a){1f 42A<=a&&5Zp>=a},"2Cq 42w 42v 42u":1b(a){1f 4Kg<=a&&7Yi>=a},7Yh:1b(a){1f 7Yg<=a&&7Yf>=a},"2Cq 42w 42v 42u 29j":1b(a){1f 7Ye<=a&&7Yd>=a},"5Zo 4Kc":1b(a){1f 1c8<=a&&5Zn>=a},"7Yc 2Ow":1b(a){1f 7Yb<=a&&7Ya>=a},"3a 1VP":1b(a){1f 7Y9<=a&&7Y8>=a},"4Ke 7Y7":1b(a){1f 7Y6<=a&&7Y5>=a},"7Y4 7Y3":1b(a){1f 5Zm<=a&&7Y2>=a},"7Y1 7Y0 7XZ":1b(a){1f 7XY<=a&&7XX>=a},"4Kb 7XW":1b(a){1f 7XV<=a&&7XU>=a},"4Kf 7XT":1b(a){1f 7XS<=a&&7XR>=a},"4Ke 2Ow":1b(a){1f 5Zl<=a&&7XQ>=a},"4Ke 2Ow and 7XP":1b(a){1f 7XO<=a&&7XN>=a},"1Ew 38R 3uD":1b(a){1f 7XM<=a&&7XL>=a},"5Z7 38R":1b(a){1f 7XK<=a&&7XJ>=a},"5Za 3uE 5Z9":1b(a){1f 7XI<=a&&7XH>=a},"1Ew 2Ow and 4Kc":1b(a){1f 4Kd<=a&&7XG>=a},5Zb:1b(a){1f 7XF<=a&&7XE>=a},42x:1b(a){1f 7XD<=a&&7XC>=a},42z:1b(a){1f 7XB<=a&&7XA>=a},"2ht 2Cs 2Cr":1b(a){1f 7Xz<=a&&7Xy>=a},5Z8:1b(a){1f 7Xx<=a&&7Xw>=a},"42z 29j":1b(a){1f 7Xv<=a&&7Xu>=a},"1Ew 5Ze":1b(a){1f 7Xt<=a&&7Xs>=a},"42x 5Z6 3UK":1b(a){1f 7Xr<=a&&7Xq>=a},"4Kb 1Ew 5Zd and 5Zc":1b(a){1f 7Xp<=a&&7Xo>=a},"1Ew 2Cs":1b(a){1f 7Xn<=a&&7Xm>=a},"1Ew 2Cq 38S 42y A":1b(a){1f 7Xl<=a&&7Xk>=a},"5YY 5YX 2Ow":1b(a){1f 7Xj<=a&&7Xi>=a},"1Ew 2Cq 38S":1b(a){1f 7Xh<=a&&7Xg>=a},"Yi 42t":1b(a){1f 7Xf<=a&&7Xe>=a},"Yi 38R":1b(a){1f 7Xd<=a&&7Xc>=a},"2ht 2Cr 29j-A":1b(a){1f 5Zk<=a&&7Xb>=a},"2ht 42t":1b(a){1f 5Zj<=a&&7Xa>=a},"2ht 2Cr 29j-B":1b(a){1f 5Zi<=a&&5pB>=a},"7X9 1c7 2Ox":1b(a){1f 3Os<=a&&5Zh>=a},"1Ew 2Cs 38S":1b(a){1f 7X8<=a&&7X7>=a},"22T 38Q 1VP-A":1b(a){1f 7X6<=a&&7X5>=a},"5YZ 1VP":1b(a){1f 7X4<=a&&7X3>=a},"1Ew 2Cs 1VP":1b(a){1f 7X2<=a&&5Zf>=a},"5Z2 5Z1 5Z0":1b(a){1f 7X1<=a&&7X0>=a},"22T 38Q 1VP-B":1b(a){1f 7WZ<=a&&5Zg>=a},"5Z5 and 5Z4 1VP":1b(a){1f 42B<=a&&5Z3>=a}},hq=1b(){};hq.3MM=1b(a){1j(1d b=0;b<a.1h;b+=1){1d c=a[b].19a(0);if(746===c||747===c||(42A>c?0:td["42z 29j"](c)||td.42z(c)||td["1Ew 2Cs 1VP"](c)&&!(7WY<=c&&5Zf>=c)||td["1Ew 2Cs 38S"](c)||td["1Ew 2Cs"](c)||td["1Ew 38R 3uD"](c)||td["1Ew 5Ze"](c)||td["1Ew 2Ow and 4Kc"](c)&&!(7WX<=c&&7WW>=c||7WV<=c&&7WU>=c)&&7WT!==c||td["1Ew 2Cq 38S 42y A"](c)||td["1Ew 2Cq 38S"](c)||td["4Kb 1Ew 5Zd and 5Zc"](c)||td["2ht 2Cs 2Cr"](c)||td["2ht 2Cr 29j-A"](c)||td["2ht 2Cr 29j-B"](c)||td["2ht 2Cr"](c)||td["2ht 42t"](c)||td.5Zb(c)||td["5Za 3uE 5Z9"](c)||td.5Z8(c)||td["5Z7 38R"](c)||td["42x 5Z6 3UK"](c)||td.42x(c)&&7WS!==c||td["5Z5 and 5Z4 1VP"](c)&&!(7WR===c||7WQ===c||7WP===c||7WO<=c&&7WN>=c||7WM===c||7WL===c||7WK===c||7WJ<=c&&7WI>=c||7WH===c||7WG<=c&&5Z3>=c)||td["5Z2 5Z1 5Z0"](c)&&!(7WF<=c&&7WE>=c||7WD<=c&&7WC>=c)||td["2Cq 42w 42v 42u"](c)||td["2Cq 42w 42v 42u 29j"](c)||td["5YZ 1VP"](c)||td["5YY 5YX 2Ow"](c)||td["Yi 42t"](c)||td["Yi 38R"](c)))1f!0}1f!1};hq.5mj=1b(a){1j(1d b=0;b<a.1h;b+=1){1d c=a[b].19a(0);if(td.22T(c)||td["22T 3uD"](c)||td["22T 29j-A"](c)||td["22T 38Q 1VP-A"](c)||td["22T 38Q 1VP-B"](c))1f!1}1f!0};hq.5YW=1b(a){1j(1d b=0;b<a.1h;b+=1){1d c=a[b].19a(0);if(7WB<=c&&5YV>=c||td["22T 38Q 1VP-A"](c)||td["22T 38Q 1VP-B"](c))1f!0}1f!1};1d 5YK=["1jJ","18H","1b1","14x"],5YR=[{2i:"2AY",1bw:1,1I:"2AN",2M:0}],CM=1b(a){1a.1ge=1g 7WA;1a.1jk=1g Ut;1a.1dO=a;1a.1eK=1g Ug;1a.4K6=1g 7Wz;1a.5YS=1g 7Wy;1a.38O=1g 7Wx};CM.1i.1zv=1b(a,b,c,d){c&&(1a.1zu=a.12S(1a.1ge,Nj.5YU.2gt),1a.10X=a.17Q(1a.1jk,b),1a.5YQ=a.12S(1a.4K6,Nj.5YT.2gt,!0),1a.4Ka=a.12S(1a.5YS,5YR,!0),1a.4Ka.3Ye=1);(c||d)&&1a.1dO.1zv(a)};CM.1i.1M=1b(){1a.1zu&&(1a.1zu.1M(),1a.10X.1M(),1a.1dO.1M(),1a.1eK.1M(),1a.5YQ.1M(),1a.4Ka.1M())};CM.1i.9P=1b(){};jc.19l("7Ww",CM);1d IX=1b(a,b,c){1a.1ge=1g a;1a.3XO=b;1a.1jk=1g c;1a.1eK=1g Ug;1a.4K5=1g 7Wv};IX.1i.1zv=1b(a){1a.1zu=a.12S(1a.1ge,1a.3XO);1a.10X=a.17Q(1a.1jk);1a.5YO=a.12S(1a.4K5,5YP.2gt,!0)};IX.1i.1M=1b(){1a.1zu&&(1a.1zu.1M(),1a.10X.1M(),1a.1eK.1M(),1a.5YO.1M())};jc.19l("7Wu",IX);1d Xd=1b(a){1a.1VO=a.1VO;1a.5K=a.5K;1a.1J6=a.1J6;1a.9Q=a.9Q;1a.2lZ=1a.9Q.5d(1b(a){1f a.id});1a.2P=a.2P;1a.13S=a.13S;1a.1AN=a.1AN;1a.3uC=1a.4Dp=1a.2jd=!1;1d b=1a.9Q[0].26p.14z;1a.3MS=HX.4K9(1a.5K,b["3l-4V"]);1a.3MR=HX.4K9(1a.5K,b["6O-4V"]);b=1a.9Q[0].11e;1d c=b.1n("1ap-15F-10t"),d=b.1n("1ap-z-1HC");1a.42s="5q-y"!==d&&1p 0!==c.1AK(1);1a.5Yx=("5q-y"===d||"1sg"===d&&!1a.42s)&&(b.1n("3l-28u-2oY")||b.1n("6O-28u-2oY")||b.1n("3l-26c-1fJ")||b.1n("6O-26c-1fJ"));"7v"===b.1n("1ap-1fJ")&&(1a.4K8=b.1n("3l-2gp-3z").5d(1b(a){1f tf.1Tr[a]}));1a.3XC=1a.9Q.14O(1b(a){1f a.2gs()}).5d(1b(a){1f a.id});1a.5YN=a.5YN};Xd.1i.5mn=1b(){};Xd.1i.5YJ=1b(a,b,c,d,e){1j(c=0;c<a.1h;c++)b[a.19a(c)]=!0};Xd.1i.3XB=1b(a,b){1d c=1a.9Q[0],d=c.11e,e=d.1n("3l-9O"),f=d.1n("3l-1bF"),h=d.1n("6O-4d");f=("10p"!==f.1Q.5x||f.1Q.1Q 2m vh&&!f.1Q.1Q.1kn()||0<f.1Q.1Q.5s().1h)&&("10p"!==e.1Q.5x||0<e.1Q.1Q.1h);h=("10p"!==h.1Q.5x||!!h.1Q.1Q)&&0<1L.9K(h.7V).1h;1d g=d.1n("1ap-15F-10t");1a.1jG=[];if(f||h){1d k=b.7Wt,n=b.7Ws;b=b.2pZ;1j(1d m=1g Lf(1a.5K),w=0;w<a.1h;w+=1){1d x=a[w],q=x.7n,t=x.2P,r=x.1AN;if(c.3ks(m,q)){x=1p 0;if(f){1d u=c.4Du("3l-1bF",q,b);u=vh.5YM(u);5YL(u)&&(1a.3uC=!0);if(!1a.3uC||"3mC"===7Wr()||1a.3uC&&7Wq.7Wp())x=d9(u,c,q)}u=1p 0;h&&(u=c.4Du("6O-4d",q,b),u=u 2m al?u:al.1TK(u));if(x||u){1d v=1a.42s?g.3x(q,{}):1p 0;t={3l:x,6O:u,2P:t,1AN:r,3y:Ey(q),5U:q.5U,1I:5YK[q.1I],1zw:v};"7w"!==2h q.id&&(t.id=q.id);1a.1jG.1q(t);u&&(k[u.2i]=!0);if(x)1j(q=e.3x(q,{}).14G(","),t="5d"===d.1n("3l-5S-1ew")&&"7v"!==d.1n("1ap-1fJ"),1a.2wP=1a.4K8&&0<=1a.4K8.3f(tf.1Tr.1km),r=0,u=x.1lx;r<u.1h;r+=1)if(v=u[r],v.4d)k[v.4d.2i]=!0;1s{1d y=hq.3MM(x.5s()),A=v.2Ov||q;A=n[A]=n[A]||{};1a.5YJ(v.3l,A,t,1a.2wP,y)}}}}"6D"===d.1n("1ap-1fJ")&&(1a.1jG=c9(1a.1jG));1a.42s&&1a.1jG.15F(1b(a,b){1f a.1zw-b.1zw})}};Xd.1i.2H=1b(a,b,c){1a.2N3.1h&&(1a.3l.1dO.2AM(a,b,1a.9Q,c),1a.6O.1dO.2AM(a,b,1a.9Q,c))};Xd.1i.1kn=1b(){1f 0===1a.1J8.1h&&!1a.3uC};Xd.1i.3Xz=1b(){1f!1a.2gr||1a.3l.1dO.28v||1a.6O.1dO.28v};Xd.1i.1zv=1b(a){};Xd.1i.1M=1b(){};Xd.1i.9P=1b(){};Xd.1i.5YI=1b(a,b){1d c=1a.4K7.1h;if(1p 0!==a.1S0){1j(1d d=a.6Y(b[a.1S0+1]),e=a.6Y(b[a.1S0]),f={},h=a.1S0+1;h<b.1h;h++)f[h]={x:b[h].x,y:b[h].y,42r:d},h<b.1h-1&&(d+=b[h+1].6Y(b[h]));1j(a=a.1S0||0;0<=a;a--)f[a]={x:b[a].x,y:b[a].y,42r:e},0<a&&(e+=b[a-1].6Y(b[a]));1j(e=0;e<b.1h;e++)a=f[e],1a.4K7.15T(a.x,a.y,a.42r)}1f{3uB:c,38P:1a.4K7.1h-c}};Xd.1i.42q=1b(a,b,c,d,e,f,h,g,k,n,m){1d l=1a,p=a.1jk,z=a.1ge,t=a.4K6,q=a.1eK.2N2(4*b.1h,a.1ge,a.1jk,f.1zw);e=1a.42p.1h;1d r=q.1MS,u=1a.2wP&&h===tf.1Tr.1km?1k.PI/2:0,v=1b(a){1d b=a.tl,d=a.tr,e=a.bl,f=a.br,h=a.9f,k=a.4m3,n=a.4m2,m=a.4m1,w=a.4m0,x=q.1MS,r=a.3kd[1];FI(z,g.x,g.y,b.x,r+b.y,h.x,h.y,c,a.30t,k.x,k.y,m,w);FI(z,g.x,g.y,d.x,r+d.y,h.x+h.w,h.y,c,a.30t,n.x,k.y,m,w);FI(z,g.x,g.y,e.x,r+e.y,h.x,h.y+h.h,c,a.30t,k.x,n.y,m,w);FI(z,g.x,g.y,f.x,r+f.y,h.x+h.w,h.y+h.h,c,a.30t,n.x,n.y,m,w);e9(t,g,u);p.15T(x,x+1,x+2);p.15T(x+1,x+2,x+3);q.1MS+=4;q.2gq+=2;l.42p.15T(a.3kd[0])};if(f.3l&&f.3l.1lx){1d y=f.3l.1lx;if(1a.4Dp){1j(1d A,B=1b(b,c){1p 0===A||A===b&&!c||a.1dO.2p0(a.1ge.1h,f,f.2P,{},y[A]);A=b},C=0;C<b.1h;C+=1){1d E=b[C];B(E.1Pj,!1);v(E)}B(A,!0)}1s{1j(B=0;B<b.1h;B+=1)v(b[B]);a.1dO.2p0(a.1ge.1h,f,f.2P,{},y[0])}}1s{1j(B=0;B<b.1h;B+=1)v(b[B]);a.1dO.2p0(a.1ge.1h,f,f.2P,{})}a.38O.15T(g.x,g.y,e,1a.42p.1h-e,r,k,n,g.1S0,c?c[0]:0,c?c[1]:0,d[0],d[1],h,0,!1,0,m)};Xd.1i.3uA=1b(a,b,c,d,e,f){b.15T(0,0);1f a.15T(c.x,c.y,d,e,1k.9p(f.x),1k.9p(f.y))};Xd.1i.5YH=1b(a,b,c,d,e,f,h,g){1d l=e.1eK.2N2(4,e.1ge,e.1jk),k=l.1MS,m=e.1ge,w=e.4K5,x=h.2Im;h=h.2Il;1a.3uA(m,w,f,x,h,1g 3eN(a,b));1a.3uA(m,w,f,x,h,1g 3eN(c,b));1a.3uA(m,w,f,x,h,1g 3eN(c,d));1a.3uA(m,w,f,x,h,1g 3eN(a,d));l.1MS+=4;g?(a=e.1jk,a.15T(k,k+1,k+2),a.15T(k,k+2,k+3),l.2gq+=2):(a=e.1jk,a.15T(k,k+1),a.15T(k+1,k+2),a.15T(k+2,k+3),a.15T(k+3,k),l.2gq+=4)};Xd.1i.3uz=1b(a,b,c,d){1j(;a<b;a++){1d e=1a.1VO.1n(a),f=0<e.3L;1a.5YH(e.x1,e.y1,e.x2,e.y2,f?d?1a.5YA:1a.5Yz:d?1a.5YC:1a.5YB,e.2hh,c,f)}};Xd.1i.5md=1b(){1j(1d a=0;a<1a.1J8.1h;a++){1d b=1a.1J8.1n(a);1a.3uz(b.4K3,b.4K2,b,!0);1a.3uz(b.4K1,b.4K0,b,!0);1a.3uz(b.4JZ,b.4JY,b,!1);1a.3uz(b.4JX,b.4JW,b,!1)}};Xd.1i.5YD=1b(a,b,c,d,e,f,h,g,k){1j(1d l={};b<c;b++){1d p=a.1n(b);if(0===p.3L){l.7Wo={x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,1Tv:p.1Tv,1Tu:p.1Tu};l.5YG=p.1hh;1W}1s l.4K4||(l.4K4=[],l.5YG=p.1hh),l.4K4.1q(p.1Tv,p.1Tu,p.3L,p.5YF,1)}1j(c=d;c<e;c++)if(d=a.1n(c),0===d.3L){l.7Wn={x1:d.x1,y1:d.y1,x2:d.x2,y2:d.y2,1Tv:d.1Tv,1Tu:d.1Tu};l.7Wm=d.1hh;1W}1j(e=f;e<h;e++)if(f=a.1n(e),0===f.3L){l.7Wl={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,1Tv:f.1Tv,1Tu:f.1Tu};l.7Wk=f.1hh;1W}1j(h=g;h<k;h++)if(g=a.1n(h),0===g.3L){l.7Wj={x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2,1Tv:g.1Tv,1Tu:g.1Tu};l.7Wi=g.1hh;1W}1f l};Xd.1i.7Wh=1b(a){1a.5YE=[];1j(1d b=0;b<1a.1J8.1h;b++){1d c=1a.1J8.1n(b);1a.5YE.1q(1a.5YD(a,c.4K3,c.4K2,c.4K1,c.4K0,c.4JZ,c.4JY,c.4JX,c.4JW))}};Xd.1i.7Wg=1b(){1f 0<1a.3l.1eK.1n().1h};Xd.1i.7Wf=1b(){1f 0<1a.6O.1eK.1n().1h};Xd.1i.7We=1b(){1f 0<1a.5YC.1eK.1n().1h};Xd.1i.7Wd=1b(){1f 0<1a.5YB.1eK.1n().1h};Xd.1i.7Wc=1b(){1f 0<1a.5YA.1eK.1n().1h};Xd.1i.7Wb=1b(){1f 0<1a.5Yz.1eK.1n().1h};Xd.1i.3uy=1b(a,b){1d c=a.38O.1n(b);b=c.4JV+4*c.5Yy;1j(c=c.4JV;c<b;c+=4)a.1jk.15T(c,c+1,c+2),a.1jk.15T(c+1,c+2,c+3)};Xd.1i.5Yw=1b(a){if(1a.4JU===a&&1p 0!==1a.42o)1f 1a.42o;1d b=1k.2T(a);a=1k.3i(a);1j(1d c=[],d=[],e=[],f=0;f<1a.1J8.1h;++f){e.1q(f);1d h=1a.1J8.1n(f);c.1q(1k.9p(b*h.2Im+a*h.2Il)|0);d.1q(h.1hh)}e.15F(1b(a,b){1f c[a]-c[b]||d[b]-d[a]});1f e};Xd.1i.7Wa=1b(a){1d b=1a;if(1a.5Yx&&1a.4JU!==a&&!(1<1a.3l.1eK.1n().1h||1<1a.6O.1eK.1n().1h)){1a.42o=1a.5Yw(a);1a.4JU=a;1a.3l.1jk.9P();1a.6O.1jk.9P();1a.5Yv=[];a=0;1j(1d c=1a.42o;a<c.1h;a+=1){1d d=1a.1J8.1n(c[a]);1a.5Yv.1q(d.1hh);[d.5Yu,d.5Yt,d.5Ys].12I(1b(a,c,d){0<=a&&d.3f(a)===c&&b.3uy(b.3l,a)});0<=d.4JT&&1a.3uy(1a.3l,d.4JT);0<=d.4JS&&1a.3uy(1a.6O,d.4JS);0<=d.4JR&&1a.3uy(1a.6O,d.4JR)}1a.3l.10X&&1a.3l.10X.36t(1a.3l.1jk);1a.6O.10X&&1a.6O.10X.36t(1a.6O.1jk)}};jc.19l("7W9",Xd,{1ZO:["9Q","1VO","4lZ"]});Xd.5Yr=1a6;Xd.7W8=e9;GC.1i.2I4=1b(a){1a.1br!=a&&(1a.1br=a,1a.1fG.5d(1b(b){a?b.1u4++:(b.1u4--,b.1u4=1k.1V(0,b.1u4))}),1a.17T.5d(1b(b){a?b.1u4++:(b.1u4--,b.1u4=1k.1V(0,b.1u4))}))};1d g9=1g k,JX=1g C,mF=1g y,DM=1g y;GC.1i.3t=1b(a,b){if(!b.2gn)10G{1d c=1a.16k,d=1a.1qR;1a.1fG.5d(1b(a){c.3S(a)});1a.1fG=[];1a.17T.5d(1b(a){d.3S(a)});1a.17T=[];1d e=1a,f=a.1pP,h=f.1MR,l;1j(l in a.1BC){1d p=a.1BC[l];if(p 2m Xd){1d n=f.8U[l];if(!n.3XM(b.6b)){1d m=n.14I,w=n.11e,x=m.1n("3l-1A").1Q.1Q;x=g(x)?x:m.1n("3l-1A").1Q.3x();mF.5r=x.r;mF.5t=x.g;mF.5G=x.b;1d q=m.1n("3l-1nC-1A").1Q.1Q,t=m.1n("3l-1nC-1G").1Q.1Q,r=m.1n("3l-11v");DM.5r=q.r;DM.5t=q.g;DM.5G=q.b;1d u=w.1n("3l-4V").1Q.1Q,v=u+"px "+w.1n("3l-9O").1Q.1Q[0],y=w.1n("6O-4V").1Q.1Q,A=5Yq(w.1n("3l-1cs").1Q.1Q);p.1jG.5d(1b(d){1d f=a.6b;1d l=1F;"18H"==d.1I?(l=d.3y[0][0],l=sS(l.x,l.y,a)):"2l8"==d.1I||"1b1"==d.1I?(l=d.3y[0][1k.2t(d.3y[0].1h/2)],l=sS(l.x,l.y,a)):"1nh"==d.1I&&(l=d.3y[0][0],l=sS(l.x,l.y,a));1d p=b.3g;if(!(l.42n<p.4o||l.42n>p.5a||l.42m<p.4C||l.42m>p.4P))if(l=k.15i(l.42n,l.42m,e.22w),g(d.6O)&&!g(d.3l))p=h.4Dn(d.6O),g(p)&&f9(e,p,d,l,y,f);1s if(g(d.3l)){JX.x=r[0];JX.y=r[1];p=d.3l.1lx[0].3l;1d n=d.id+"10D"+p+"10D"+u+"10D"+mF.5s(),m=1F,z=!1;g(d.6O)&&(m=h.4Dn(d.6O),g(m)?A.15P!=oc.1dq||A.16l!=fc.1dq?f9(e,m,d,l,y,f):z=!0:z=!1);d=c.1of(n);g(d)?n==d.id&&(d.1u4++,e.1fG.1q(d),f>d.38N&&(d.1K=l,d.38N=f)):(d=c.add({id:n,1K:l,3l:p,9O:v,1oC:z,5Yp:m,1b5:mF,5M:DM,5R:t,2r:qe.1LX,14l:JX,15P:A.15P,16l:A.16l,6N:bb.28I}),e.1fG.1q(d),d.1u4=1,d.38N=f)}})}}}}11B(Hb){}};GC.1i.2Ot=1b(){if(g(1a.1fG)&&g(1a.16k)){1d a=1a.16k;a.3Z()||1a.1fG.5d(1b(b){b.1u4--;b.1u4=1k.1V(0,b.1u4);0==b.1u4&&a.3S(b)});1a.1fG=[]}if(g(1a.17T)&&g(1a.1qR)){1d b=1a.1qR;b.3Z()||1a.17T.5d(1b(a){a.1u4--;a.1u4=1k.1V(0,a.1u4);0==a.1u4&&b.3S(a)});1a.17T=[]}};1d 4JQ=7O.38M,4JP=7O.2hs,4JO=7O.38L,4JN=7O.2Ou,Hw=1b(a,b,c,d){1a.1O=a;1a.8V=c;1a.7y=a.gl.2fA();1a.2H(b,d)};Hw.1i.2H=1b(a,b,c){1d d=a.1G,e=a.1D,f=(!1a.4V||1a.4V[0]!==d||1a.4V[1]!==e)&&!c,h=1a.1O,g=h.gl;1a.4JM=!(!b||!b.4JM);g.1eg(g.17U,1a.7y);h.3rS.1C(!1);h.3rU.1C(1);h.3rT.1C(1a.8V===g.9m&&(!b||!1!==b.5Yo));f?(1a.4V=[d,e],a 2m 4JQ||a 2m 4JP||a 2m 4JO||a 2m 4JN?g.1oG(g.17U,0,1a.8V,1a.8V,g.7U,a):g.1oG(g.17U,0,1a.8V,d,e,0,1a.8V,g.7U,a.2g)):(c=c||{x:0,y:0},b=c.x,c=c.y,a 2m 4JQ||a 2m 4JP||a 2m 4JO||a 2m 4JN?g.2AJ(g.17U,0,b,c,g.9m,g.7U,a):g.2AJ(g.17U,0,b,c,d,e,g.9m,g.7U,a.2g));1a.4JM&&1a.4JL()&&g.1zs(g.17U)};Hw.1i.7X=1b(a,b,c){1d d=1a.1O.gl;d.1eg(d.17U,1a.7y);c!==d.2Cp||1a.4JL()||(c=d.11U);a!==1a.14O&&(d.1jj(d.17U,d.2go,a),d.1jj(d.17U,d.28t,c||a),1a.14O=a);b!==1a.1FQ&&(d.1jj(d.17U,d.2MW,b),d.1jj(d.17U,d.2MV,b),1a.1FQ=b)};Hw.1i.4JL=1b(){1f 1a.4V[0]===1a.4V[1]&&0===1k.7k(1a.4V[0])/1k.1ZN%1};Hw.1i.1M=1b(){1a.1O.gl.3kt(1a.7y);1a.7y=1F};1d AA=1b(a,b){1p 0===b&&(b=[]);1a.12f=a;1a.1M2={};1j(a=0;a<b.1h;a+=1){1d c=b[a];1a.1M2[c[0]]=c[1]}};AA.1i.9V=1b(a){1f 1g AA(1a,a)};AA.1i.1n=1b(a){if(1a.1M2[a])1f 1a.1M2[a];if(1a.12f)1f 1a.12f.1n(a);1t 6u(a+" 2S 1ji in 1A9.");};AA.1i.14d=1b(a){1f 1a.1M2[a]?!0:1a.12f?1a.12f.14d(a):!1};1d 4fj=1b(a){1b b(b,d){a.4G(1a,d);1a.19s=d;1a.10t=b}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);1f b.1i.7m=b}(6u),5Yn=["1jJ","18H","1b1","14x"],BA=1b(){1a.4JG=1a.42j=1a.7n=1a.2hr=1F;1a.4JK={};1a.2pZ=1F};BA.1i.id=1b(){1f 1a.7n&&"id"in 1a.7n?1a.7n.id:1F};BA.1i.1DX=1b(){1f 1a.7n?"2b"===2h 1a.7n.1I?5Yn[1a.7n.1I]:1a.7n.1I:1F};BA.1i.5U=1b(){1f 1a.7n&&1a.7n.5U||{}};BA.1i.5Ym=1b(a){1d b=1a.4JK[a];b||(b=1a.4JK[a]=1aV.5N(a));1f b};Ov.5Yl=1b(a){if(a 2m 4JJ&&("1n"===a.2i&&1===a.1kF.1h||"7n-4F"===a.2i||"14d"===a.2i&&1===a.1kF.1h||"5U"===a.2i||"3y-1I"===a.2i||"id"===a.2i||/^14O-/.6S(a.2i)))1f!1;1d b=!0;a.1nB(1b(a){b&&!Ov.5Yl(a)&&(b=!1)});1f b};Ov.5Yk=1b(a){if(a 2m 4JJ&&"7n-4F"===a.2i)1f!1;1d b=!0;a.1nB(1b(a){b&&!Ov.5Yk(a)&&(b=!1)});1f b};Ov.5Yj=1b(a,b){if(a 2m 4JJ&&0<=b.3f(a.2i))1f!1;1d c=!0;a.1nB(1b(a){c&&!Ov.5Yj(a,b)&&(c=!1)});1f c};1d kr=1b(a,b,c,d,e){1p 0===b&&(b=[]);1p 0===d&&(d=1g AA);1p 0===e&&(e=[]);1a.42k=a;1a.9w=b;1a.10t=b.5d(1b(a){1f"["+a+"]"}).14G("");1a.1A9=d;1a.28q=e;1a.1BD=c};kr.1i.5N=1b(a,b,c,d,e){1p 0===e&&(e={});1f b?1a.9V(b,c,d).4JI(a,e):1a.4JI(a,e)};kr.1i.4JI=1b(a,b){1b c(a,b,c){1f"1ZW"===c?1g Si(b,[a]):"4JC"===c?1g tm(b,[a]):a}if(1F===a||"4n"===2h a||"11T"===2h a||"2b"===2h a)a=["1nM",a];if(2K.8n(a)){if(0===a.1h)1f 1a.7A(\'19P an 4x 10M at 1gR 1bS 1ij. If 18g 42l a 1nM 4x, 14W ["1nM", []].\');1d d=a[0];if("4n"!==2h d)1f 1a.7A("4iY 2i 2Q be a 4n, 19T 1ji "+2h d+\' 1gK. If 18g 42l a 1nM 4x, 14W ["1nM", [...]].\',0),1F;1d e=1a.42k[d];if(e){a=e.5N(a,1a);if(!a)1f 1F;if(1a.1BD)if(d=1a.1BD,e=a.1I,("4n"===d.5x||"2b"===d.5x||"11T"===d.5x||"2c"===d.5x||"4x"===d.5x)&&"1Q"===e.5x)a=c(a,d,b.42h||"1ZW");1s if(!("1A"!==d.5x&&"1S6"!==d.5x&&"1GS"!==d.5x||"1Q"!==e.5x&&"4n"!==e.5x))a=c(a,d,b.42h||"4JC");1s if(1a.3ux(d,e))1f 1F;1f a}1f 1a.7A(\'1jJ 6d "\'+d+\'". If 18g 42l a 1nM 4x, 14W ["1nM", [...]].\',0)}1f"7w"===2h a?1a.7A("\'7w\' 1Q 16w. 1c7 1F 1gK."):"2c"===2h a?1a.7A(\'7W7 1zI 16w. 1c7 ["1nM", {...}] 1gK.\'):1a.7A("19P an 4x, 19T 1ji "+2h a+" 1gK.")};kr.1i.9V=1b(a,b,c){a="2b"===2h a?1a.9w.9V(a):1a.9w;c=c?1a.1A9.9V(c):1a.1A9;1f 1g kr(1a.42k,a,b||1F,c,1a.28q)};kr.1i.7A=1b(a){1j(1d b=[],c=5m.1h-1;0<c--;)b[c]=5m[c+1];b=""+1a.10t+b.5d(1b(a){1f"["+a+"]"}).14G("");1a.28q.1q(1g 4fj(b,a))};kr.1i.3ux=1b(a,b){(a=Cy(a,b))&&1a.7A(a);1f a};1d Jn=1b(a,b,c,d){1a.2i=a;1a.1I=b;1a.5Yi=c;1a.1kF=d};Jn.1i.3x=1b(a){1f 1a.5Yi(a,1a.1kF)};Jn.1i.1nB=1b(a){1a.1kF.12I(a)};Jn.1i.1mt=1b(){1f[1p 0]};Jn.1i.13W=1b(){1f[1a.2i].9V(1a.1kF.5d(1b(a){1f a.13W()}))};Jn.5N=1b(a,b){1d c,d=a[0],e=Jn.4EF[d];if(!e)1f b.7A(\'1jJ 6d "\'+d+\'". If 18g 42l a 1nM 4x, 14W ["1nM", [...]].\',0);1d f=2K.8n(e)?e[0]:e.1I;e=2K.8n(e)?[[e[1],e[2]]]:e.38K;1j(1d h=e.14O(1b(b){b=b[0];1f!2K.8n(b)||b.1h===a.1h-1}),g=1F,k=0;k<h.1h;k+=1){g=h[k];1d n=g[0],m=g[1];g=1g kr(b.42k,b.9w,1F,b.1A9);1j(1d w=[],x=!1,q=1;q<a.1h;q++){1d t=a[q],r=2K.8n(n)?n[q-1]:n.1I;t=g.5N(t,1+w.1h,r);if(!t){x=!0;1W}w.1q(t)}if(!x)if(2K.8n(n)&&n.1h!==w.1h)g.7A("19P "+n.1h+" 5m, 19T 1ji "+w.1h+" 1gK.");1s{1j(x=0;x<w.1h;x++)q=2K.8n(n)?n[x]:n.1I,t=w[x],g.9V(x+1).3ux(q,t.1I);if(0===g.28q.1h)1f 1g Jn(d,f,m,w)}}if(1===h.1h)(c=b.28q).1q.6c(c,g.28q);1s{c=(h.1h?h:e).5d(1b(a){a=a[0];a=2K.8n(a)?"("+a.5d(5s).14G(", ")+")":"("+5s(a.1I)+"...)";1f a}).14G(" | ");d=[];1j(f=1;f<a.1h;f++){e=b.5N(a[f],1+d.1h);if(!e)1f 1F;d.1q(5s(e.1I))}b.7A("19P 5m of 1I "+c+", 19T 1ji ("+d.14G(", ")+") 1gK.")}1f 1F};Jn.19l=1b(a,b){Jn.4EF=b;1j(1d c in b)a[c]=Jn};1d Yb={5x:"2b"},vf={5x:"4n"},ve={5x:"11T"},KX={5x:"1A"},LX={5x:"2c"},Jg={5x:"1Q"};Jn.19l(Gw,{7A:[{5x:"7A"},[vf],1b(a,b){1t 1g 1uN(b[0].3x(a));}],"2h":[vf,[Jg],1b(a,b){1f 5s(4JH.1N(b[0].3x(a)))}],"to-15A":[HC(Yb,4),[KX],1b(a,b){1f b[0].3x(a).1MY()}],2y:[KX,[Yb,Yb,Yb],h9],15A:[KX,[Yb,Yb,Yb,Yb],h9],14d:{1I:ve,38K:[[[vf],1b(a,b){1f 14d(b[0].3x(a),a.5U())}],[[vf,LX],1b(a,b){1d c=b[1];1f 14d(b[0].3x(a),c.3x(a))}]]},1n:{1I:Jg,38K:[[[vf],1b(a,b){1f 1n(b[0].3x(a),a.5U())}],[[vf,LX],1b(a,b){1d c=b[1];1f 1n(b[0].3x(a),c.3x(a))}]]},"7n-4F":[Jg,[vf],1b(a,b){1f 1n(b[0].3x(a),a.42j||{})}],5U:[LX,[],1b(a){1f a.5U()}],"3y-1I":[vf,[],1b(a){1f a.1DX()}],id:[Jg,[],1b(a){1f a.id()}],5K:[Yb,[],1b(a){1f a.2hr.5K}],"22f-1DZ":[Yb,[],1b(a){1f a.2hr.7W6||0}],"6D-1MV":[Yb,[],1b(a){1f a.2hr.5LL||0}],3XG:[Jg,[],1b(a){1f 1p 0===a.2hr.3XG?1F:a.2hr.3XG}],"+":[Yb,{1I:Yb},1b(a,b){1j(1d c=0,d=0;d<b.1h;d+=1)c+=b[d].3x(a);1f c}],"*":[Yb,{1I:Yb},1b(a,b){1j(1d c=1,d=0;d<b.1h;d+=1)c*=b[d].3x(a);1f c}],"-":{1I:Yb,38K:[[[Yb,Yb],1b(a,b){1d c=b[1];1f b[0].3x(a)-c.3x(a)}],[[Yb],1b(a,b){1f-b[0].3x(a)}]]},"/":[Yb,[Yb,Yb],1b(a,b){1d c=b[1];1f b[0].3x(a)/c.3x(a)}],"%":[Yb,[Yb,Yb],1b(a,b){1d c=b[1];1f b[0].3x(a)%c.3x(a)}],5Mi:[Yb,[],1b(){1f 1k.1ZN}],pi:[Yb,[],1b(){1f 1k.PI}],e:[Yb,[],1b(){1f 1k.E}],"^":[Yb,[Yb,Yb],1b(a,b){1d c=b[1];1f 1k.3r(b[0].3x(a),c.3x(a))}],3Y:[Yb,[Yb],1b(a,b){1f 1k.3Y(b[0].3x(a))}],5Mh:[Yb,[Yb],1b(a,b){1f 1k.7k(b[0].3x(a))/1k.5Yh}],ln:[Yb,[Yb],1b(a,b){1f 1k.7k(b[0].3x(a))}],1iK:[Yb,[Yb],1b(a,b){1f 1k.7k(b[0].3x(a))/1k.1ZN}],2T:[Yb,[Yb],1b(a,b){1f 1k.2T(b[0].3x(a))}],3i:[Yb,[Yb],1b(a,b){1f 1k.3i(b[0].3x(a))}],10n:[Yb,[Yb],1b(a,b){1f 1k.10n(b[0].3x(a))}],17M:[Yb,[Yb],1b(a,b){1f 1k.17M(b[0].3x(a))}],1cz:[Yb,[Yb],1b(a,b){1f 1k.1cz(b[0].3x(a))}],16D:[Yb,[Yb],1b(a,b){1f 1k.16D(b[0].3x(a))}],2o:[Yb,{1I:Yb},1b(a,b){1f 1k.2o.6c(1k,b.5d(1b(b){1f b.3x(a)}))}],1V:[Yb,{1I:Yb},1b(a,b){1f 1k.1V.6c(1k,b.5d(1b(b){1f b.3x(a)}))}],abs:[Yb,[Yb],1b(a,b){1f 1k.abs(b[0].3x(a))}],9p:[Yb,[Yb],1b(a,b){a=b[0].3x(a);1f 0>a?-1k.9p(-a):1k.9p(a)}],2t:[Yb,[Yb],1b(a,b){1f 1k.2t(b[0].3x(a))}],8a:[Yb,[Yb],1b(a,b){1f 1k.8a(b[0].3x(a))}],"14O-==":[ve,[vf,Jg],1b(a,b){1d c=b[0];b=b[1];1f a.5U()[c.1Q]===b.1Q}],"14O-id-==":[ve,[Jg],1b(a,b){b=b[0];1f a.id()===b.1Q}],"14O-1I-==":[ve,[vf],1b(a,b){b=b[0];1f a.1DX()===b.1Q}],"14O-<":[ve,[vf,Jg],1b(a,b){1d c=b[0];b=b[1];a=a.5U()[c.1Q];c=b.1Q;1f 2h a===2h c&&a<c}],"14O-id-<":[ve,[Jg],1b(a,b){b=b[0];a=a.id();b=b.1Q;1f 2h a===2h b&&a<b}],"14O->":[ve,[vf,Jg],1b(a,b){1d c=b[0];b=b[1];a=a.5U()[c.1Q];c=b.1Q;1f 2h a===2h c&&a>c}],"14O-id->":[ve,[Jg],1b(a,b){b=b[0];a=a.id();b=b.1Q;1f 2h a===2h b&&a>b}],"14O-<=":[ve,[vf,Jg],1b(a,b){1d c=b[0];b=b[1];a=a.5U()[c.1Q];c=b.1Q;1f 2h a===2h c&&a<=c}],"14O-id-<=":[ve,[Jg],1b(a,b){b=b[0];a=a.id();b=b.1Q;1f 2h a===2h b&&a<=b}],"14O->=":[ve,[vf,Jg],1b(a,b){1d c=b[0];b=b[1];a=a.5U()[c.1Q];c=b.1Q;1f 2h a===2h c&&a>=c}],"14O-id->=":[ve,[Jg],1b(a,b){b=b[0];a=a.id();b=b.1Q;1f 2h a===2h b&&a>=b}],"14O-14d":[ve,[Jg],1b(a,b){1f b[0].1Q in a.5U()}],"14O-14d-id":[ve,[],1b(a){1f 1F!==a.id()}],"14O-1I-in":[ve,[HC(vf)],1b(a,b){1f 0<=b[0].1Q.3f(a.1DX())}],"14O-id-in":[ve,[HC(Jg)],1b(a,b){1f 0<=b[0].1Q.3f(a.id())}],"14O-in-3uw":[ve,[vf,HC(Jg)],1b(a,b){1d c=b[0];1f 0<=b[1].1Q.3f(a.5U()[c.1Q])}],"14O-in-3lE":[ve,[vf,HC(Jg)],1b(a,b){1d c=b[0];b=b[1];1f 4fL(a.5U()[c.1Q],b.1Q,0,b.1Q.1h-1)}],all:{1I:ve,38K:[[[ve,ve],1b(a,b){1d c=b[1];1f b[0].3x(a)&&c.3x(a)}],[{1I:ve},1b(a,b){1j(1d c=0;c<b.1h;c+=1)if(!b[c].3x(a))1f!1;1f!0}]]},any:{1I:ve,38K:[[[ve,ve],1b(a,b){1d c=b[1];1f b[0].3x(a)||c.3x(a)}],[{1I:ve},1b(a,b){1j(1d c=0;c<b.1h;c+=1)if(b[c].3x(a))1f!0;1f!1}]]},"!":[ve,[ve],1b(a,b){1f!b[0].3x(a)}],"is-11J-1G5":[ve,[vf],1b(a,b){b=b[0];1d c=a.2hr&&a.2hr.5Yg;1f c?c(b.3x(a)):!0}],5Mg:[vf,[vf],1b(a,b){1f b[0].3x(a).1G9()}],5Mf:[vf,[vf],1b(a,b){1f b[0].3x(a).18v()}],9V:[vf,{1I:Jg},1b(a,b){1f b.5d(1b(b){1f 4JH.5s$1(b.3x(a))}).14G("")}],"5Me-1nD":[vf,[{5x:"1EZ"}],1b(a,b){1f b[0].3x(a).5Yf()}]});1d EM=1b(a,b){1a.6d=a;1a.4JF={};1a.1VN=1g BA;if(b){if(a="1A"===b.1I)a=b.4T,a="2c"===2h a&&1F!==a&&!2K.8n(a);a=a?1g 1aV(0,0,0,0):"1A"===b.1I?1aV.5N(b.4T)||1F:1p 0===b.4T?1F:b.4T}1s a=1F;1a.4JE=a;1a.42i=b&&"19Q"===b.1I?b.2a:1F};EM.1i.7W5=1b(a,b,c,d,e){1a.1VN.2hr=a;1a.1VN.7n=b;1a.1VN.42j=c;1a.1VN.2pZ=d||1F;1a.1VN.4JG=e;1f 1a.6d.3x(1a.1VN)};EM.1i.3x=1b(a,b,c,d,e){1a.1VN.2hr=a;1a.1VN.7n=b||1F;1a.1VN.42j=c||1F;1a.1VN.2pZ=d||1F;1a.1VN.4JG=e||1F;10G{1d f=1a.6d.3x(1a.1VN);if(1F===f||1p 0===f||"2b"===2h f&&f!==f)1f 1a.4JE;if(1a.42i&&!(f in 1a.42i))1t 1g 1uN("19P 1Q to be 1bS of "+1L.9K(1a.42i).5d(1b(a){1f 4H.8s(a)}).14G(", ")+", 19T 1ji "+4H.8s(f)+" 1gK.");1f f}11B(h){1f 1a.4JF[h.19s]||(1a.4JF[h.19s]=!0,"7w"!==2h 11l&&11l.2ep(h.19s)),1a.4JE}};Ds.4Dt=1b(a){1f 2K.8n(a)&&0<a.1h&&"4n"===2h a[0]&&a[0]in Gw};1d 5Yd={5x:"2b"},4JD={5x:"4n"},5Yc={5x:"11T"},5Ye={5x:"1A"},5Y9={5x:"1Q"},5Yb={5x:"1S6"},5Ya={5x:"1GS"};Ds.5Y8=1b(a,b){if(b){1d c={1A:5Ye,4n:4JD,2b:5Yd,19Q:4JD,11T:5Yc,1S6:5Yb,1GS:5Ya};c="4x"===b.1I?{5x:"4x",1Nj:c[b.1Q]||5Y9,N:b.1h}:c[b.1I]}1s c=1p 0;c=1g kr(Gw,[],c);1f(a=c.5N(a,1p 0,1p 0,1p 0,b&&"4n"===b.1I?{42h:"4JC"}:1p 0))?{4D:"1LP",1Q:1g EM(a,b)}:{4D:"7A",1Q:c.28q}};1d FM=1b(a,b){1a.3uv=a;1a.3uu=b;i9(1a,k9(1a.3uv,1a.3uu))};FM.1Pm=1b(a){1f 1g FM(a.3uv,a.3uu)};FM.13W=1b(a){1f{3uv:a.3uv,3uu:a.3uu}};Ds.5MQ=1b(a,b){if("2c"!==2h a||1F===a||2K.8n(a)){if(Ds.4Dt(a)){a=7W4(a,b);if("7A"===a.4D)1t 6u(a.1Q.5d(1b(a){1f a.10t+": "+a.19s}).14G(", "));1f a.1Q}1d c=a;"4n"===2h a&&"1A"===b.1I&&(c=Rd.5N(a));1f{5x:"10p",3x:1b(){1f c}}}1f 1g FM(a,b)};Es.4JB=1b(a){if(!0===a||!1===a)1f!0;if(!2K.8n(a)||0===a.1h)1f!1;6U(a[0]){1S"14d":1f 2<=a.1h&&"$id"!==a[1]&&"$1I"!==a[1];1S"in":1f 3<=a.1h&&2K.8n(a[2]);1S"!in":1S"!14d":1S"1bs":1f!1;1S"==":1S"!=":1S">":1S">=":1S"<":1S"<=":1f 3!==a.1h||2K.8n(a[1])||2K.8n(a[2]);1S"any":1S"all":1d b=0;1j(a=a.4h(1);b<a.1h;b+=1){1d c=a[b];if(!Es.4JB(c)&&"11T"!==2h c)1f!1}1f!0;4T:1f!0}};1d 5Y7={1I:"11T","4T":!1,11O:!1,"5i-1I":"2g-17H",6d:{9z:!1,7V:["5K","7n"]}};Es.3kr=1b(a){if(1F===a||1p 0===a)1f 1b(){1f!0};Es.4JB(a)||(a=GI(a));1d b=Ds.5Y8(a,5Y7);if("7A"===b.4D)1t 6u(b.1Q.5d(1b(a){1f a.10t+": "+a.19s}).14G(", "));1f 1b(a,d){1f b.1Q.3x(a,d)}};1d MX=1g Vc("7W3"),NX=1b(a){1b b(b,c,d,e,f){1a.38J=b.1jf;1a.1AO=1a.38J.1i0;1a.42d=1a.38J.42d;1a.1pP=1a.38J.1pP;1a.42b=1g GC(1a.38J);1a.1fG=[];1a.17T=[];1a.2gn=!1;1a.1br=!0;1a.42g=!1;1a.38I=[];1a.3ur=[];1a.3us={};a.4G(1a,b,c,d,e,f)}1b c(a){1d b=a.1M0;a=a.12f;1j(1d c=1F;!g(b)&&g(a);)b=a.1M0,g(b)&&(c=a),a=a.12f;1f c}1b d(a,b){if(g(a)&&g(b))1j(1d c=0;c<a.1h;c++){1d d=a[c];g(b[d])&&(b[d].1M(),4Y b[d])}}1b e(a,b,e){1d l=a;if(!g(a.1M0)&&(l=c(a),!g(l))){a.42c();a.2gn=!1;11l.7k("5gR 14d no 1M0.");a.4F!=Sb.1cY&&(a.4F=Sb.1xf);1f}if(g(b)||g(e)){1d k=b;d(e,l.1BC)}1s k=a.38J.5Lq();!g(l.1BC)||g(b)||g(e)?(b=4H.8s([a.x,a.y,a.6b]),l.3us[b]=a,l.42g?a.42c():MX.3ut>=MX.4JA||(k=f(l,k),k=MX.1fa(k.5Y6,k.5Y5),g(k)&&(a.42c(),l.42g=!0,k.4b(1b(a){1d b=l;a=jc.1Pm(a);b.5Y3(a.1BC);b.2Co=a.2Co;b.1hh=a.1hh;b.1hh.3ku=b.1M0;b.42g=!1;b=l;1j(1d c in b.3us)a=b.3us[c],!g(a.7y)||a.7y.3Z()?a.4F=Sb.1vn:h(b,a);b.3us={};if(g(b.1BC))1j(1d d in b.1BC)b.1BC[d].9P()})))):h(l,a)}1b f(a,b){1d c=a.1pP.1MR,d=[],e=a.1M0.4h(0,a.1M0.10S);d.1q(e);c=c.5LC(d);1d f={};g(a.1hh)&&(f.1hh=a.1hh,f=jc.13W(f,d));1f{5Y6:{9Q:b,7W2:e,7W1:c,7W0:f,26q:{x:a.x,y:a.y,z:a.6b}},5Y5:d}}1b h(a,b){1d c=a.3g,d=b.3g,e=d.1G/c.1G*1c8;l=A.42f(.5*-e,.5*e,.5*-e,.5*e,.11t,400,l);c=1g k(.5*((d.4o-c.4o)/c.1G*1c8+(d.5a-c.4o)/c.1G*1c8),.5*((d.4P-c.4C)/c.1D*1c8+(d.4C-c.4C)/c.1D*1c8),200);p=A.32Z(c,n,m,w,p);e=1g A;A.9b(l,p,e);a.42e=a.1AO*1k.3r(2,b.6b-a.6b);c=a.42d;d=b.7y;1j(1d f in a.1BC)a.1BC[f].1zv(c.1O);g(a.2Co)&&!g(a.2pm)&&(f=c.1O.gl,a.2pm=1g Hw(c.1O,a.2Co.4d,f.9m));a.1Ue=e;e=d.4j;1d h=1g Ca({1O:e,1G:a.1AO,1D:a.1AO,8b:ua.1eF,10E:Ha.1Jw});d=1g eb({1O:e,13I:[d],1ku:h,16Y:!1});1d z=e.2KB;c.1O.5q.1C([0,0,a.1AO,a.1AO]);c.1O.1Bw.1C(d.13p);10G{c.5MZ(a.1pP,a)}11B(Hb){}c.1O.5q.1hY();f=e.6M;f.20L(z.5r,z.5t,z.5G,z.2O);d.1M();h.1M();g(e.28T)&&f.1Bw(f.1JV,e.28T.13p);b.42b.3t(a,b);b.4F!=Sb.1cY&&(b.4F=Sb.1xf);b.2gn=!1;b.1ec.3X7(b.1O,b.7y)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1UA=1b(a,b,c){1a.1O=a.1O;1a.4F!==Sb.1vn||c||1a.1ec.1U0||(1a.4F=Sb.27M,1a.1ec.4D0(1a));1a.4F===Sb.1sB&&(1a.4F=Sb.27M,1a.1ec.3oF(a.1O,1a,a));1a.4F===Sb.3r6&&e(1a);1a.4F===Sb.1xf&&(1a.4F=Sb.1cY)};b.1i.5Lu=1b(a,b,c){if(1a.4F===Sb.1cY){1d d={};1a.38I.5d(1b(a){d[a.id]=!0});1d e=1a;a.5d(1b(a){g(d[a.id])||e.38I.1q(a)});1a.3ur=b;1a.2gn=c}};b.1i.42c=1b(){1a.38I=[];1a.3ur=[]};b.1i.2H=1b(){1a.42b.2I4(1a.1br);1a.5Y4()};b.1i.5Y4=1b(){1a.4F!==Sb.1cY||0==1a.38I.1h&&0==1a.3ur.1h||e(1a,1a.38I,1a.3ur)};b.1i.5Y3=1b(a){1d b=1a.1BC;if(g(b))1j(1d c in a)g(b[c])&&b[c].1M(),b[c]=a[c];1s 1a.1BC=a};b.1i.4wa=1b(a){1a.1br=a};b.1i.3kj=1b(a){1f 1a.1BC[a.id]};1d l=1g A,p=1g A,n=1g k(0,0,-1),m=1g k(0,1,0),w=1g k;w=k.4B(n,m,w);b.1i.35Z=1b(a,b,c){1f g(1a.1hh)&&g(1a.1hh.3ku)?1a.1hh.16H({5n6:b,1AO:1a.1AO,2wW:c},a,1F):1F};b.1i.3ry=1b(a,b){if(g(1a.1hh)&&g(1a.1hh.3ku)){1d c=1a.1hh.3MZ()[a?a.3MX:""];if(c){a=Es.3kr(a&&a.14O);1j(1d d=0;d<c.1h;d++){1d e=c.7n(d);a(1g Lf(0),e)&&b.1q(e)}}}};b.1i.2Ot=1b(){if(g(1a.1BC)){1j(1d a in 1a.1BC)1a.1BC[a].1M();1a.1BC=1F}g(1a.2pm)&&(1a.2pm.1M(),1a.2pm=1F);1a.42b.2Ot()};1f b}(Ri);Yc.1i={1y:1b(){1f 1g Yc(1a.x,1a.y)},add:1b(a){1f 1a.1y().1LQ(a)},1LT:1b(a){1f 1a.1y().5Y1(a)},7VZ:1b(a){1f 1a.1y().5Y0(a)},7VY:1b(a){1f 1a.1y().5XZ(a)},4DE:1b(a){1f 1a.1y().1Tw(a)},5u:1b(a){1f 1a.1y().4Jz(a)},17b:1b(a){1f 1a.1y().1si(a)},7VX:1b(a,b){1f 1a.1y().30u(a,b)},7VW:1b(a){1f 1a.1y().2e0(a)},7VV:1b(){1f 1a.1y().2e1()},7VU:1b(){1f 1a.1y().2MZ()},9p:1b(){1f 1a.1y().1LS()},3Xy:1b(){1f 1k.3Y(1a.x*1a.x+1a.y*1a.y)},2L:1b(a){1f 1a.x===a.x&&1a.y===a.y},6Y:1b(a){1f 1k.3Y(1a.2AP(a))},2AP:1b(a){1d b=a.x-1a.x;a=a.y-1a.y;1f b*b+a*a},8f:1b(){1f 1k.12B(1a.y,1a.x)},3kh:1b(a){1f 1k.12B(1a.y-a.y,1a.x-a.x)},7VT:1b(a){1f 1a.5Y2(a.x,a.y)},5Y2:1b(a,b){1f 1k.12B(1a.x*b-1a.y*a,1a.x*a+1a.y*b)},2e0:1b(a){1d b=a[2]*1a.x+a[3]*1a.y;1a.x=a[0]*1a.x+a[1]*1a.y;1a.y=b;1f 1a},1LQ:1b(a){1a.x+=a.x;1a.y+=a.y;1f 1a},5Y1:1b(a){1a.x-=a.x;1a.y-=a.y;1f 1a},1Tw:1b(a){1a.x*=a;1a.y*=a;1f 1a},4Jz:1b(a){1a.x/=a;1a.y/=a;1f 1a},5Y0:1b(a){1a.x*=a.x;1a.y*=a.y;1f 1a},5XZ:1b(a){1a.x/=a.x;1a.y/=a.y;1f 1a},2e1:1b(){1a.4Jz(1a.3Xy());1f 1a},2MZ:1b(){1d a=1a.y;1a.y=1a.x;1a.x=-a;1f 1a},1si:1b(a){1d b=1k.3i(a);a=1k.2T(a);1d c=a*1a.x+b*1a.y;1a.x=b*1a.x-a*1a.y;1a.y=c;1f 1a},30u:1b(a,b){1d c=1k.3i(a);a=1k.2T(a);1d d=b.y+a*(1a.x-b.x)+c*(1a.y-b.y);1a.x=b.x+c*(1a.x-b.x)-a*(1a.y-b.y);1a.y=d;1f 1a},1LS:1b(){1a.x=1k.9p(1a.x);1a.y=1k.9p(1a.y);1f 1a}};Yc.1hk=1b(a){1f a 2m Yc?a:2K.8n(a)?1g Yc(a[0],a[1]):a};Qv.1KO=["1jJ","18H","1b1","14x"];Qv.1i.4Jy=1b(){1d a=1a.2Cn;a.3h=1a.16b;1j(1d b=a.1ez()+a.3h,c=1,d=0,e=0,f=0,h=[],g;a.3h<b;)if(0>=d&&(d=a.1ez(),c=d&7,d>>=3),d--,1===c||2===c)e+=a.2ei(),f+=a.2ei(),1===c&&(g&&h.1q(g),g=[]),g.1q(1g Yc(e,f));1s if(7===c)g&&g.1q(g[0].1y());1s 1t 6u("1G7 14Z "+c);g&&h.1q(g);1f h};Qv.1i.1bD=1b(){1d a=1a.2Cn;a.3h=1a.16b;1j(1d b=a.1ez()+a.3h,c=1,d=0,e=0,f=0,h=12g,g=-12g,k=12g,n=-12g;a.3h<b;)if(0>=d&&(d=a.1ez(),c=d&7,d>>=3),d--,1===c||2===c)e+=a.2ei(),f+=a.2ei(),e<h&&(h=e),e>g&&(g=e),f<k&&(k=f),f>n&&(n=f);1s if(7!==c)1t 6u("1G7 14Z "+c);1f[h,k,g,n]};Qv.1i.7VS=1b(a,b,c){1b d(a){1j(1d b=0;b<a.1h;b++){1d c=a[b];a[b]=[360*(c.x+f)/e-180,360/1k.PI*1k.16D(1k.108((180-360*(c.y+h)/e)*1k.PI/180))-90]}}1d e=1a.7l*1k.3r(2,c),f=1a.7l*a,h=1a.7l*b;a=1a.4Jy();b=Qv.1KO[1a.1I];6U(1a.1I){1S 1:1d g=[];1j(c=0;c<a.1h;c++)g[c]=a[c][0];a=g;d(a);1W;1S 2:1j(c=0;c<a.1h;c++)d(a[c]);1W;1S 3:1j(a=$va(a),c=0;c<a.1h;c++)1j(g=0;g<a[c].1h;g++)d(a[c][g])}1===a.1h?a=a[0]:b="7VR"+b;a={1I:"19E",3y:{1I:b,9R:a},5U:1a.5U};"id"in 1a&&(a.id=1a.id);1f a};uS.1i.7n=1b(a){if(0>a||a>=1a.1dQ.1h)1t 6u("7n 2P 9H of 14w");1a.2Cn.3h=1a.1dQ[a];a=1a.2Cn.1ez()+1a.2Cn.3h;1f 1g Qv(1a.2Cn,a,1a.7l,1a.3uq,1a.14z)};Ya.1y=1b(a,b){if(g(a)){if(!g(b))1f 1g Ya(a.x,a.y,a.z);b.x=a.x;b.y=a.y;b.z=a.z;1f b}};Ya.2L=1b(a,b){1f a===b||g(a)&&g(b)&&a.x===b.x&&a.y===b.y&&a.z===b.z};Ya.1i.1y=1b(a){1f Ya.1y(1a,a)};Ya.1i.5s=1b(){1f"("+1a.x+", "+1a.y+", "+1a.z+")"};Ya.1i.2L=1b(a){1f Ya.2L(1a,a)};1d wa=1L.3F({2Hx:0,1lb:1,389:2,7VQ:20,2lV:24,2BW:26,2BY:28,2dY:29,2BV:31,1wL:32,1LH:34,2BR:44,4Iq:48,2BX:350,2NZ:360,2BS:370,2BT:380,2O0:390,426:400,2wc:410,2BU:590,425:7VP,3tW:7VO,424:5WT,4Jb:5WS,5XC:4J4,381:1E3}),Iw=1L.3F({4J0:0,4J9:1,5WW:2,5WX:3}),vS=1L.3F({2nt:0,2pY:1,7VN:2});Rv.1i.1y=1b(){1d a=1g Rv;a.12l=1a.12l;a.1hu=4H.5N(4H.8s(1p 0!==1a.1hu?1a.1hu:1g y(1,0,0,1)));a.1gc=4H.5N(4H.8s(1p 0!==1a.1gc?1a.1gc:3));a.29e=y.28S(1a.29e.22A());a.2h9=4H.5N(4H.8s(1p 0!==1a.2h9?1a.2h9:!1));a.2pK=4H.5N(4H.8s(1p 0!==1a.2pK?1a.2pK:0));a.22L=4H.5N(4H.8s(1p 0!==1a.22L?1a.22L:vS.2nt));a.2pJ=4H.5N(4H.8s(1p 0!==1a.2pJ?1a.2pJ:0));a.2pI=4H.5N(4H.8s(1p 0!==1a.2pI?1a.2pI:0));a.1N6=y.28S(1a.1N6.22A());a.29d=4H.5N(4H.8s(1p 0!==1a.29d?1a.29d:1));a.29c=4H.5N(4H.8s(1p 0!==1a.29c?1a.29c:70));a.22K=4H.5N(4H.8s(1p 0!==1a.22K?1a.22K:y.1Zs));a.22I=4H.5N(4H.8s(1p 0!==1a.22I?1a.22I:0));a.1Nd=4H.5N(4H.8s(1p 0!==1a.1Nd?1a.1Nd:3));a.1n8=4H.5N(4H.8s(1p 0!==1a.1n8?1a.1n8:1));1f a};Rv.1i.2H=1b(){1a.12l&&(1a.12l.9s=!1)};1L.2X(Rv.1i,{19g:{1n:1b(){1f 1a.1hu},1C:1b(a){a 2m y&&!a.2L(1a.1hu)&&(1a.1hu=a,1a.2H())}},11a:{1n:1b(){1f 1a.1gc},1C:1b(a){a!==1a.1gc&&(1a.1gc=a,1a.2H())}},2ha:{1n:1b(){1f 1a.29e},1C:1b(a){a 2m y&&!a.2L(1a.29e)&&(1a.29e=a,1a.2H())}},1sH:{1n:1b(){1f 1a.1N6},1C:1b(a){a 2m y&&!a.2L(1a.1N6)&&(1a.1N6=a,1a.2H())}},2NV:{1n:1b(){1f 1a.2h9},1C:1b(a){a!==1a.2h9&&(1a.2h9=a,1a.2H())}},2NU:{1n:1b(){1f 1a.2pK},1C:1b(a){a!==1a.2pK&&(1a.2pK=a,1a.2H())}},2BM:{1n:1b(){1f 1a.22L},1C:1b(a){a!==1a.22L&&(1a.22L=a,1a.2H())}},2NT:{1n:1b(){1f 1a.2pJ},1C:1b(a){a!==1a.2pJ&&(1a.2pJ=a,1a.2H())}},2NS:{1n:1b(){1f 1a.2pI},1C:1b(a){a!==1a.2pI&&(1a.2pI=a,1a.2H())}},2pH:{1n:1b(){1f 1a.29d},1C:1b(a){a!==1a.29d&&(1a.29d=a,1a.2H())}},29b:{1n:1b(){1f 1a.29c},1C:1b(a){a===1a.29c||100<a||0>a||(1a.29c=a,1a.2H())}},3tR:{1n:1b(){1f 1a.1Nd},1C:1b(a){a!==1a.1Nd&&(1a.1Nd=a,1a.2H())}},22J:{1n:1b(){1f 1a.22K},1C:1b(a){a!==1a.22K&&(1a.22K=a,1a.2H())}},7z:{1n:1b(){1f 1a.1n8},1C:1b(a){a!==1a.1n8&&(1a.1n8=a,1a.2H())}},1LO:{1n:1b(){1f 1a.22I},1C:1b(a){a!==1a.22I&&(1a.22I=a,1a.2H())}}});Fs.1i.1y=1b(){1d a=1g Fs;a.12l=1a.12l;a.10o=4H.5N(4H.8s(1p 0!==1a.10o?1a.10o:7));a.1pM=4H.5N(4H.8s(1p 0!==1a.1pM?1a.1pM:y.9r));a.1V8=4H.5N(4H.8s(1p 0!==1a.1V8?1a.1V8:y.1a7));a.1ln=4H.5N(4H.8s(1p 0!==1a.1ln?1a.1ln:!1));a.1GX=4H.5N(4H.8s(1p 0!==1a.1GX?1a.1GX:14y.1de("5XY")));a.1QU=4H.5N(4H.8s(1p 0!==1a.1QU?1a.1QU:!1));a.22H=4H.5N(4H.8s(1p 0!==1a.22H?1a.22H:!1));a.2h8=4H.5N(4H.8s(1p 0!==1a.2h8?1a.2h8:0));a.29a=4H.5N(4H.8s(1p 0!==1a.29a?1a.29a:0));a.295=4H.5N(4H.8s(1p 0!==1a.295?1a.295:0));a.1ME=4H.5N(4H.8s(1p 0!==1a.1ME?1a.1ME:0));a.292=4H.5N(4H.8s(1p 0!==1a.292?1a.292:0));a.1dP=4H.5N(4H.8s(1p 0!==1a.1dP?1a.1dP:0));a.291=4H.5N(4H.8s(1p 0!==1a.291?1a.291:0));a.290=4H.5N(4H.8s(1p 0!==1a.290?1a.290:0));a.22F=4H.5N(4H.8s(1p 0!==1a.22F?1a.22F:4));a.16n=4H.5N(4H.8s(1p 0!==1a.16n?1a.16n:1));a.28Z=4H.5N(4H.8s(1p 0!==1a.28Z?1a.28Z:255));a.28Y=4H.5N(4H.8s(1p 0!==1a.28Y?1a.28Y:0));a.2h7=4H.5N(4H.8s(1p 0!==1a.2h7?1a.2h7:1));a.1QT=4H.5N(4H.8s(1p 0!==1a.1QT?1a.1QT:0));a.1xt=4H.5N(4H.8s(1p 0!==1a.1xt?1a.1xt:20));a.16O=4H.5N(4H.8s(1p 0!==1a.16O?1a.16O:y.9r));1f a};1L.2X(Fs.1i,{1D:{1n:1b(){1f 1a.10o},1C:1b(a){a!==1a.10o&&(1a.10o=a,1a.2H())}},1QW:{1n:1b(){1f 1a.1pM},1C:1b(a){a!==1a.1pM&&(1a.1pM=a,1a.2H())}},2NR:{1n:1b(){1f 1a.1V8},1C:1b(a){a!==1a.1V8&&(1a.1V8=a,1a.2H())}},8Y:{1n:1b(){1f 1a.1ln},1C:1b(a){a!==1a.1ln&&(1a.1ln=a,1a.2H())}},1QV:{1n:1b(){1f 1a.1GX},1C:1b(a){a!==1a.1GX&&(1a.1GX=a,1a.2H())}},1VC:{1n:1b(){1f 1a.1QU},1C:1b(a){a!==1a.1QU&&(1a.1QU=a,1a.2H())}},1M4:{1n:1b(){1f 1a.22H},1C:1b(a){a!==1a.22H&&(1a.22H=a,1a.2H())}},22G:{1n:1b(){1f 1a.2h8},1C:1b(a){a!==1a.1QU&&(1a.2h8=a,1a.2H())}},37Z:{1n:1b(){1f 1a.29a},1C:1b(a){a!==1a.29a&&(1a.29a=a,1a.2H())}},1Gy:{1n:1b(){1f 1a.295},1C:1b(a){a!==1a.295&&(1a.295=a,1a.2H())}},2LE:{1n:1b(){1f 1a.1ME},1C:1b(a){a!==1a.1ME&&(1a.1ME=a,1a.2H())}},2NQ:{1n:1b(){1f 1a.292},1C:1b(a){a!==1a.292&&(1a.292=a,1a.2H())}},37Y:{1n:1b(){1f 1a.291},1C:1b(a){a!==1a.291&&(1a.291=a,1a.2H())}},37X:{1n:1b(){1f 1a.290},1C:1b(a){a!==1a.290&&(1a.290=a,1a.2H())}},3tQ:{1n:1b(){1f 1a.22F},1C:1b(a){a!==1a.22F&&(1a.22F=a,1a.2H())}},5R:{1n:1b(){1f 1a.16n},1C:1b(a){a!==1a.16n&&(1a.16n=a,1a.2H())}},37W:{1n:1b(){1f 1a.2BL},1C:1b(a){a!==1a.2BL&&(1a.2BL=a,1a.2H())}},2mY:{1n:1b(){1f 1a.28Z},1C:1b(a){a!==1a.28Z&&(1a.28Z=a,1a.2H())}},37V:{1n:1b(){1f 1a.28Y},1C:1b(a){a!==1a.28Y&&(1a.28Y=a,1a.2H())}},40T:{1n:1b(){1f 1a.2h7},1C:1b(a){a!==1a.2h7&&(1a.2h7=a,1a.2H())}},2NP:{1n:1b(){1f 1a.1QT},1C:1b(a){a!==1a.1QT&&(1a.1QT=a,1a.2H())}},1wD:{1n:1b(){1f 1a.1xt},1C:1b(a){a!==1a.1xt&&(1a.1xt=a,1a.2H())}},5M:{1n:1b(){1f 1a.16O},1C:1b(a){a!==1a.16O&&(1a.16O=a,1a.2H())}}});Fs.1i.2H=1b(){1a.12l&&(1a.12l.9s=!1)};1d hg=1L.3F({4IP:0,4IR:1,4IQ:2,4IS:3,Up:4,4IT:5,1Mj:6,1Dh:7,41G:8}),jd=1L.3F({1Zp:0,1IR:1,1LI:2,2HI:3,7VM:4});Ef.1i.5XX=1b(){1d a=1a.1yv;g(a)&&1a.38v?(1a.1dB=1a.1yv.17D,1a.16v=m(a.1K6,""),1a.41l=m(a.38o,!1),1a.16o.19g=m(o9(a.2r.19g),1a.16o.19g),1a.16o.1sH=m(o9(a.2r.1sH),1a.16o.1sH)):1a.5XO(1a.1bq)};Ef.1i.5Wh=1b(){wa.2Hx!==1a.1dB&&g(1a.7VL)};Ef.1i.4Jx=1b(){1d a=14y.3jZ({19C:1a.1aF,16A:1a.1bq});if(a&&a.42a){1d b=a.14r,c=a.1AF;1a.16o=a.15Z.1y();1a.16p=b.1y();wa.1lb===1a.17D&&(-1!==a.22D&&(1a.22D=a.22D),-1!==a.1VB&&(1a.1VB=a.1VB),0<c.x&&0<c.y&&(1a.1AF=a.1AF.1y()),""!==a.1Eh&&(1a.1Eh=a.1Eh))}};Ef.1i.2H=1b(a,b,c,d){if(1a.1n2&&0!==1a.7h.1h)1j(a=0;a<1a.7h.1h;a++)1a.7h[a].2H(b)};Ef.1i.1lY=1b(){};Ef.1i.25X=1b(a){a={9G:2};a.3p("1I")||(a.1I="5XA");a.3p("19C")||(a.19C=1a.1aF);a.3p("16A")||(a.16A=1a.1bq);a.3p("2dq")||(a.2dq=1a.15O);a.3p("1K6")||(a.1K6=1a.1K6);a.3p("17D")||(a.17D=1a.17D);a.3p("1Zn")||(a.1Zn=1a.id);a.3p("26n")||(a.26n=!1);a.3p("5XW")||(a.5XW=!1);a.3p("2Cb")||(a.2Cb=1a.2Cb);if(!a.3p("2r")){1d b={};a.2r=b;b.19g=Gs(1a.15Z.19g);b.2pH=1a.15Z.29d;b.2ha=Gs(1a.15Z.29e);b.1sH=Gs(1a.15Z.1N6);b.2NV=1a.15Z.2h9;b.2BM=1a.15Z.22L;b.7VK=1a.15Z.2NS;b.7VJ=1a.15Z.2NT;b.7VI=1a.15Z.2NU;b.29b=100-1a.15Z.29b;b.4IB=1a.15Z.11a;a.2r.3p("1ka")||(b.1ka=1a.1n2?"1ka":"1bs");a.2r=b}a.3p("1kE")||(b={},b.38q=1a.16p.10o,b.1QW=Gs(1a.16p.1pM),b.2NR=Gs(1a.16p.1V8),b.8Y=1a.16p.1ln,b.1QV=1a.16p.1GX,b.1VC=1a.16p.1QU,b.1M4=1a.16p.22H,b.22G=1a.16p.2h8,b.37Z=1a.16p.29a,b.1Gy=1a.16p.295,b.2LE=1a.16p.1ME,b.2NQ=1a.16p.292,b.5S=1a.16p.1dP,b.37Y=1a.16p.291,b.37X=1a.16p.290,b.3tQ=1a.16p.22F,b.5R=1a.16p.16n,b.37W=1a.16p.2BL,b.2mY=1a.16p.28Z,b.37V=1a.16p.28Y,b.1Em=1a.16p.2h7,b.2NP=1a.16p.1QT,a.1kE=b);a.3p("1H2")||(b={},b.38q=1a.14r.1D,b.1QW=Gs(1a.14r.1QW),b.2NR=Gs(1a.14r.5M),b.8Y=1a.14r.8Y,b.1QV=1a.14r.1QV,b.1VC=1a.14r.1VC,b.1M4=1a.14r.1M4,b.22G=1a.14r.22G,b.1wD=1a.14r.1wD,a.1H2=b);a.3p("22J")||(a.22J=Gs(1a.15Z.22J));a.3p("5XV")||(a.5XV=.5);a.3p("1LO")||(a.1LO=1a.15Z.1LO);wa.1lb===1a.1dB&&(a.3p("1IP")||(a.1IP=1a.1IP),a.3p("38p")||(a.38p=1a.13V),a.3p("5XU")||(a.5XU=1a.1si),a.3p("5XT")||(a.5XT=1a.2Ol),a.3p("3uo")||(a.3uo=1a.3uo),a.3p("2C5")||(a.2C5=1a.38t),a.3p("2hh")||(a.2hh=1a.2hh),a.3p("38w")||(a.38w=1a.38w),a.3p("2Oi")||(a.2Oi=1a.29f),a.3p("4IA")||(a.4IA=1a.2pU),a.3p("1QZ")||(a.1QZ=1a.1VH),a.3p("1AF")||(a.1AF=1a.1xs),a.3p("1FG")||(a.1FG=1a.38u),a.3p("2pS")||(a.2pS=1a.2pS),a.3p("1Eh")||(a.1Eh=1a.1Eh),a.3p("2C8")||(a.2C8=1a.2C8),a.3p("2C7")||(a.2C7=1a.1yt),a.3p("25V")||(a.25V=1a.25V),a.3p("25T")||(a.25T=1a.2Cd),a.3p("29g")||(a.29g=1a.2Om),a.3p("41k")||(a.41k=1a.1lA),a.3p("1H1")||(a.1H1=1a.1Nf),a.3p("5XS")||(a.41p=1a.29f),a.3p("38o")||(a.38o=1a.38o),a.3p("4Iy")||(a.4Iy=1a.1r1),a.3p("1VB")||(a.1VB=1a.1QS),a.3p("2C6")||(a.2C6=1a.22O),a.2r.3p("22D")||(a.2r.22D=1a.22C));if(wa.389===1a.1dB){a.3p("5XS")||(a.41p=1a.16o.1Nd);a.3p("5XR")||(a.5XR=1a.2pQ);a.3p("2pP")||(a.2pP=1a.2Oh);if(!a.3p("1VG")&&(a.1VG=[],1a.1zF))1j(b=0;b<1a.1zF.1h;++b)a.1VG.1q(1a.1zF[b]);a.3p("2C3")||(a.2C3=1a.2C4);a.3p("2pR")||(a.2pR=1a.1qu);a.3p("38n")||(a.38n=1a.22N)}if(1a.1dB!==wa.1lb||1a.1dB!==wa.1LH)a.3iE=1a.3iE;a.3p("8S")||(a.8S=1a.1vL);a.3p("429")||(a.429=1a.2pV);a.3p("428")||(a.428=1a.3up);a.3p("38r")||(a.38r=1a.38r);a.3p("1AE")||(a.1AE=1a.1AE);if(1F!==1a.2Cc){b=1a.2Cc;1j(1d c in a)"2r"!==c&&"1kE"!==c&&"1H2"!==c&&(b[c]=a[c]);1d d={};1j(c in a.2r)d[c]=a.2r[c];b.2r=d;d={};1j(c in a.1kE)d[c]=a.1kE[c];b.1kE=d;d={};1j(c in a.1H2)d[c]=a.1H2[c];b.1H2=d;1f 1a.2Cc}1f a};Ef.4je=1b(a,b){if(!g(a))1f 1F;a=a.25X();1f b=14y.1n4(a)};Ef.1i.1ts=1b(){if(!g(1a))1f 0;6U(1a.1dB){1S wa.1lb:1f 1}1f 1a.1ts()};Ef.1i.1uZ=1b(){if(!g(1a))1f 0;6U(1a.1dB){1S wa.1lb:1f 1}1f 1a.1uZ()};Ef.1i.4IH=1b(){if(0<1a.22P.1h)1j(1d a=0;a<1a.22P.1h;a++){1d b=1a.22P[a];if(""!==b.1vL&&b){1d c=b.1Et,d=b.1vL,e=1g y(c.1pM.5r,c.1pM.5t,c.1pM.5G,c.1pM.2O),f=c.1xt+"px "+c.1GX;if(0!==b.1IS.x&&0!==b.1IS.y)1d h=b.1IS;1s h=1a.1af[0],b.1IS=1a.1af[0].1y();h=k.8g(h.x,h.y,h.z);1a.1fG.add({2r:c.1ln?qe.1R0:qe.1LX,5M:c.16O,5R:c.16n,1K:h,3l:d,9O:f,1b5:e,15P:oc.1dq,id:1a.7R})}}};Ef.1i.7VH=1b(){1a.1AE=[]};Ef.1i.7VG=1b(a,b,c){if(!g(a)||!g(b)||!g(c)||0>=1a.1AE.1h)1f!1;a=1a.1AE[a];6U(b){1S"8S":a.1Et.8S=c;1W;1S"2ZO":a.1Et.2ZO=c;1W;1S"1QV":a.1Et.1QV=c;1W;1S"1QW":a.1Et.1QW=c;1W;1S"1wD":a.1Et.1wD=c;1W;1S"5R":a.1Et.5R=c;1W;1S"5M":a.1Et.5M=c;1W;1S"8Y":a.1Et.8Y=c}1a.9s=!1;1f!0};Ef.1i.1fU=1b(){1a.7r.1n1.1fU()};1L.2X(Ef.1i,{19C:{1n:1b(){1f 1a.1aF},1C:1b(a){if(a===1a.1aF||!$.1H3(a))1f!1;1a.1aF=a}},16A:{1n:1b(){1f 1a.1bq},1C:1b(a){if(a===1a.1bq||!$.1H3(a))1f!1;1a.1bq=a}},1K6:{1n:1b(){1f 1a.16v},1C:1b(a){if(a===1a.16v)1f!1;1a.16v=a}},17D:{1n:1b(){1f 1a.1dB}},id:{1n:1b(){1f 1a.7R},1C:1b(a){a!==1a.7R&&(1a.7R=a)}},15O:{1n:1b(){1f 1a.1af},1C:1b(a){a!==1a.1af&&$.8n(a)&&(1a.1af=a,g(1a.8L)&&g(1a.8L.1n1)&&1a.8L.1n1.1fU(),1a.9s=!1,1a.3iI.5k(1a))}},7r:{1n:1b(){1f 1a.8L}},26n:{1n:1b(){1f 1a.1AC},1C:1b(a){a!==1a.1AC&&a.7m===17L&&(1a.1AC=a,1a.9s=!1)}},38o:{1n:1b(){1f 1a.41l}},15Z:{1n:1b(){1f 1a.16o},1C:1b(a){a!==1a.16o&&$.1H3(a)&&(1a.16o=a,1a.9s=!1)}},14r:{1n:1b(){1f 1a.16p},1C:1b(a){a!==1a.16p&&$.1H3(a)&&(1a.16p=a,1a.9s=!1)}},429:{1n:1b(){1f 1a.2pV},1C:1b(a){a!==1a.2pV&&a.7m===17L&&(1a.2pV=a,1a.9s=!1)}},428:{1n:1b(){1f 1a.3up},1C:1b(a){a!==1a.3up&&$.1H3(a)&&(1a.3up=a,1a.9s=!1)}},1ka:{1n:1b(){1f 1a.1n2},1C:1b(a){if(a!==1a.1n2&&a.7m===17L){1a.1n2=a;if(0!=1a.7h.1h)1j(1d b=0;b<1a.7h.1h;b++)1a.7h[b].2p=a;1a.9s=!1}}},2hh:{1n:1b(){1f 1a.2C9},1C:1b(a){a!==1a.2C9&&a 2m C&&(1a.2C9=a,1a.9s=!1)}},3b:{1n:1b(){1f 1a.13V},1C:1b(a){a!==1a.13V&&$.1H3(a)&&(1a.13V=a,1a.9s=!1)}},17b:{1n:1b(){1f 1a.1si},1C:1b(a){a!==1a.1si&&a 2m Ya&&(1a.1si=a,1a.9s=!1)}},2C8:{1n:1b(){1f 1a.25U},1C:1b(a){a!==1a.25U&&a 2m Ya&&(1a.25U=a,1a.9s=!1)}},2C7:{1n:1b(){1f 1a.1yt},1C:1b(a){a!==1a.1yt&&a 2m Ya&&(1a.1yt=a,1a.9s=!1)}},25T:{1n:1b(){1f 1a.2Cd},1C:1b(a){a!==1a.2Cd&&a 2m Ya&&(1a.2Cd=a,1a.9s=!1)}},25V:{1n:1b(){1f 1a.2HF},1C:1b(a){a!==1a.2HF&&$.1H3(a)&&(1a.2HF=a,1a.9s=!1)}},29g:{1n:1b(){1f 1a.2Om},1C:1b(a){a!==1a.2Om&&$.1H3(a)&&(1a.2Om=a,1a.9s=!1)}},1VB:{1n:1b(){1f 1a.1QS},1C:1b(a){a!==1a.1QS&&$.1H3(a)&&(1a.1QS=a,1a.9s=!1)}},2Oi:{1n:1b(){1f 1a.29f},1C:1b(a){a!==1a.29f&&$.1H3(a)&&(1a.29f=a,1a.9s=!1)}},1AF:{1n:1b(){1f 1a.1xs},1C:1b(a){if(!(a 2m C))1f!1;a=1g C(a.x,a.y);if(0>=a.x||0>=a.y)1f!1;-1===1a.1xs.x&&-1===1a.1xs.y?a=1a.22O:-1===1a.22O.x&&-1===1a.22O.y&&(1a.22O=a.1y());1d b=1a.1xs,c=1a.22O,d=a.x/c.x,e=a.y/c.y;c=c.x/c.y;a.x!==b.x&&a.y!==b.y?d>e?a.y=a.x/c:a.x=a.y*c:a.x!==b.x&&a.y===b.y?a.y=a.x/c:a.x===b.x&&a.y!==b.y&&(a.x=a.y*c);1a.1xs=a;1a.9s=!1;1a.3iI.5k(1a)}},1FG:{1n:1b(){1f 1a.38u},1C:1b(a){if(!(a 2m C))1f!1;1a.38u=a;1a.9s=!1;1a.3iI.5k(1a)}},1IP:{1n:1b(){1f 1a.1lA},1C:1b(a){a!==1a.1lA&&$.1H3(a)&&(1a.1lA=a,g(1a.8L)&&(!g(1a.8L.1n1)||jd.1IR==a&&jd.2HI==a||1a.8L.1n1.1IQ.7f()),1a.9s=!1)}},3Ls:{1n:1b(){1f 1a.2pU},1C:1b(a){a!==1a.2pU&&a.7m===17L&&(1a.2pU=a,g(1a.8L)&&g(1a.8L.1n1)&&1a.8L.1n1.4jm(1a),1a.9s=!1)}},2C5:{1n:1b(){1f 1a.38t},1C:1b(a){1d b=1a;if(a!==1a.38t&&$.1H3(a)){b.38t=a;1d c=14y.1Zv(1a.1aF,1a.1bq,1a.3tP.2HK);if(c){1d d=c.1Zu;d.13U.on({2ly:1b(a){b.1Nf=a.4D.1H1;b.9s=!1},2lx:1b(a){},1A9:1a});c=c.2HM;c.2C5=a;c.1LO=1;d.2lw(c)}}}},3ua:{1n:1b(){1f 1a.41m}},22D:{1n:1b(){1f 1a.22C},1C:1b(a){a!==1a.22C&&$.1H3(a)&&(1a.22C=a,1a.9s=!1)}},1Eh:{1n:1b(){1f 1a.28X},1C:1b(a){a!==1a.28X&&(1a.28X=a,1a.9s=!1)}},4Iz:{1n:1b(){1f 1a.1r1},1C:1b(a){a===1a.1r1||!1a.41l&&a===hg.41G||(1a.1r1=a,1a.9s=!1)}},5XQ:{1n:1b(){1f 1a.2Ol},1C:1b(a){a!==1a.2Ol&&a.7m===17L&&(1a.2Ol=a,1a.9s=!1)}},3uo:{1n:1b(){1f 1a.38s},1C:1b(a){a!==1a.38s&&a 2m Ya&&(1a.38s=a,1a.9s=!1)}},8S:{1n:1b(){1f 1a.1vL},1C:1b(a){a!==1a.1vL&&(1a.1vL=a,1a.9s=!1)}},2pS:{1n:1b(){1f 1a.22R},1C:1b(a){a!==1a.22R&&(1a.22R=a,1a.9s=!1)}},3ui:{1n:1b(){1f 1a.1Tf},1C:1b(a){a!==1a.1Tf&&a 2m Ya&&(1a.1Tf=a,1a.9s=!1)}},2pR:{1n:1b(){1f 1a.1qu},1C:1b(a){a!==1a.1qu&&$.8n(a)&&(1a.1qu=a,1a.9s=!1)}},1VG:{1n:1b(){1f 1a.1zF},1C:1b(a){a!==1a.1zF&&$.8n(a)&&(1a.1zF=a,1a.9s=!1)}},7VF:{1n:1b(){1f 1a.4Jw},1C:1b(a){a!==1a.4Jw&&a.7m===17L&&(1a.4Jw=a,1a.9s=!1)}},41q:{1n:1b(){1f 1a.2Ok},1C:1b(a){a!==1a.2Ok&&$.1H3(a)&&(1a.2Ok=a,1a.9s=!1)}},1QZ:{1n:1b(){1f 1a.1VH},1C:1b(a){a!==1a.1VH&&a 2m C&&(1a.1VH=a,1a.9s=!1)}},1ap:{1n:1b(){1f 1a}},38r:{1n:1b(){1f 1a.2Oj}},38n:{1n:1b(){1f 1a.22N},1C:1b(a){a!==1a.22N&&$.1H3(a)&&(1a.22N=a,1a.9s=!1)}},1AE:{1n:1b(){1f 1a.22P},1C:1b(a){if(a===1a.22P||!$.8n(a))1f 1F;1d b=1a.8L.1n1.1T9.1IQ;1a.22P=a;if(g(a.1h)&&0===a.1h){if(g(1a.8L.1n1))1j(a=0;a<b.1h;a++){1d c=b.1n(a);g(c.2dr)&&(c.2p=!1)}}1s if(g(a.1h)&&0!==a.1h&&1a.1AC&&g(1a.8L.1n1)){1j(c=0;c<b.1h;c++)g(b.1n(c).2dr)&&(b.1n(c).2p=!1,b.3S(b.1n(c)));1j(b=0;b<a.1h;b++)c=a[b],0===c.1IS.x&&0===c.1IS.y&&(c.1IS=1a.1af[0]),1a.8L.1n1.5hB(c,b)}1a.9s=!1}},2Cb:{1n:1b(){1f 1a.1VI},1C:1b(a){a!==1a.1VI&&$.1H3(a)&&(1a.1VI=a,1a.9s=!1)}},11p:{1n:1b(){1f 1a.1f9},1C:1b(a){a!==1a.1f9&&$.1H3(a)&&(1a.1f9=a,1a.9s=!1)}},5XP:{1n:1b(){1f 1a.427},1C:1b(a){a!==1a.427&&a.7m===17L&&(1a.1f9=a?3a.1Mg:3a.6w,1a.427=a,1a.9s=!1)}}});Ef.1i.5XO=1b(a){6U(a){1S wa.2lV:1a.16v=14y.1de("5XN");1W;1S wa.2BW:1a.16v=14y.1de("3g");1W;1S wa.2BY:1a.16v=14y.1de("7VE");1W;1S wa.2dY:1a.16v=14y.1de("12O");1W;1S wa.2BV:1a.16v=14y.1de("1fc");1W;1S wa.1wL:1a.16v=14y.1de("12i");1W;1S wa.1LH:1a.16v=14y.1de("3l");1W;1S wa.2BR:1a.16v=14y.1de("arc");1W;1S wa.4Iq:1a.16v=14y.1de("30s");1W;1S wa.2BX:1a.16v=14y.1de("5XM");1W;1S wa.2NZ:1a.16v=14y.1de("5XL");1W;1S wa.2BS:1a.16v=14y.1de("5XK");1W;1S wa.2BT:1a.16v=14y.1de("5XJ");1W;1S wa.2O0:1a.16v=14y.1de("5XI");1W;1S wa.426:1a.16v=14y.1de("5XH");1W;1S wa.2wc:1a.16v=14y.1de("5XG");1W;1S wa.2BU:1a.16v=14y.1de("2Os");1W;1S wa.425:1a.16v=14y.1de("5XF");1W;1S wa.3tW:1a.16v=14y.1de("5XE");1W;1S wa.424:1a.16v=14y.1de("5XD");1W;1S wa.4Jb:1a.16v=14y.1de("7VD");1W;1S wa.5XC:1a.16v=14y.1de("7VC")}};mf.1i.5XB=1b(a){1j(1d b in a)a[b]&&(a[b]2m Ef||a[b]2m mf)&&1a.1zG.1q(a[b].1y());1a.9s=!1};mf.1i.4IE=1b(a){1j(1d b in 1a.2pT)1a.2pT[b].9s=!1;1f 1a.2pT};mf.1i.1y=1b(){1f 1g mf(1a.1zG)};mf.1i.2H=1b(a,b,c,d){if(0!==1a.1zG.1h)1j(1d e=1a.3un(1a.1zG),f=0;f<e.1h;f++)e[f].2H(a,b,c,d)};mf.1i.1lY=1b(){if(0!==1a.1zG.1h)1j(1d a=1a.3un(1a.1zG),b=0;b<a.1h;b++)a[b].1lY();1a.9s=!0};mf.1i.2Hy=1b(a){1d b=1a.3un(1a.1zG),c;1j(c in b)if(b[c].7R===a)1f!0;1f!1};mf.1i.3Lf=1b(){1d a=[],b=[],c=[];1j(h in 1a.1zG){1d d=1a.1zG[h];if(d.17D===wa.1lb||d.17D===wa.1LH)d=d.15O[0],a.1q(d.x),b.1q(d.y),c.1q(d.z);1s if(d.17D===wa.381)d=d.3Lf(),a.1q(d.3Le),b.1q(d.3iH),c.1q(d.3Lc),a.1q(d.3iG),b.1q(d.3Ld),c.1q(d.4jg);1s{1d e=d.3iQ();1j(g in d.15O){1d f=d.15O[g];a.1q(f.x);b.1q(f.y);c.1q(f.z)}a.1q(e.1ey);b.1q(e.1ex);a.1q(e.1cW);b.1q(e.1cV)}}1d h=1k.1V.6c({},a);1d g=1k.1V.6c({},b);d=1k.1V.6c({},c);a=1k.2o.6c({},a);b=1k.2o.6c({},b);c=1k.2o.6c({},c);1f{3Le:h,3iH:g,3Lc:d,3iG:a,3Ld:b,4jg:c}};mf.1i.3un=1b(a){1d b=[],c;1j(c in a)a[c]2m mf?b=b.9V(1a.3un(a[c].1zG)):b.1q(a[c]);1f b};mf.1i.25X=1b(){if(1F===1a.2Cc){1d a={9G:2,1I:"5XA"};a.1Zn=1a.7R;a.1K6=1a.1K6;a.17D=1a.17D;a.1zG=[];1j(1d b in 1a.1zG)a.1zG.1q(1a.1zG[b].25X());1f a}1f 1a.2Cc};mf.1i.1sm=1b(){1j(1d a in 1a.1zG)1a.1zG[a].1sm(),1a.1zG[a]=1F;1a.1zG=[]};1d Uk=1b(){1a.8U=1g Ia;1a.17f=[];1a.1nr=3;1a.33j=1p 0};1L.2X(Uk.1i,{1DL:{1n:1b(){1f 1a.17f}}});Uk.1i.2H=1b(a,b,c,d){d=1a.17f;1d e=1a.17f.1h,f;1j(f=0;f<e;f++){1d h=d[f];g(h)&&(-1<b.1g4&&!h.1ks(b.1g4)||h.2H(a,b,c))}};Uk.1i.3t=1b(a,b){1d c=1a.17f,d=1a.17f.1h,e;1j(e=0;e<d;e++){1d f=c[e];g(f)&&(-1<b.1g4&&!f.1ks(b.1g4)||f.3t(a,b))}};Uk.1i.1fU=1b(){1d a=1a.17f,b=1a.17f.1h,c;1j(c=0;c<b;c++){1d d=a[c];g(d)&&d.1fU()}};Uk.1i.1oZ=1b(a){if(!g(a))1t 1g r("2i is 1X.");1f 1a.8U.1n(a)};Uk.1i.2Id=1b(a){if(!g(a))1t 1g r("2P is 1X.");if(a>1a.17f.1h-1)1t 1g r("2P is 9H of 14w.");1f 1a.17f[a]};Uk.1i.add=1b(a,b){if(!g(a))1t 1g r("7r is 1X.");1d c=a.6X;if(!g(c)||""==c)1t 1g r("2i is 1X.");1d d=1a.8U;if(d.8h(c))1t 1g 1uN("An 7r 10M 2i "+c+" 1A8 2yQ in 1a 4i2.");a.7R=1a.1nr++;1d e=1a.17f.1h;d.1C(c,a);b=m(b,e);a.2P=b;1a.17f.1q(a);1a.17f.15F(1b(a,b){1f a.2P-b.2P})};Uk.1i.3S=1b(a,b){b=m(b,!0);if(!g(a))1f!1;1d c=1a.1oZ(a);if(!c||!1a.8U.3S(a))1f!1;1a.17f.6z(1a.17f.3f(c),1);b&&c.1M();1f!0};Uk.1i.7f=1b(a){if(a=m(a,!0)){a=1a.17f;1d b=1a.17f.1h,c;1j(c=0;c<b;c++){1d d=a[c];g(d)&&d.1M()}}1a.8U.7f();1a.17f.1h=0};Uk.1i.4ui=1b(a){1a.33j=a};Uk.1i.2JY=1b(){1f 1a.33j};1L.2X(iq.1i,{5O:{1n:1b(){1f 1a.1za}},5A:{1n:1b(){1f 1a.1z9}},4w:{1n:1b(){1f 1a.1hT}},1ph:{1n:1b(){1f 1a.1z8}},9S:{1n:1b(){1f iq.1sC}},8z:{1n:1b(){1f 1a.38H}},2Cm:{1n:1b(){1f 1a.38G}},3iO:{1n:1b(){1f 1a.5Xz}}});iq.1sC=za.4Jv;iq.1i.1MH=pe.1i.1MH;iq.1i.1pE=pe.1i.1pE;iq.1i.1MG=pe.1i.1MG;jq.1i.2H=1b(a,b,c,d){g(1a.2hp)&&1F!==1a.2hp&&1a.2hp.2H(b);g(1a.2Cl)&&1F!==1a.2Cl&&1a.2Cl.2H(b);1j(1d e in 1a.2Or)1a.2Or[e].2H(b);1j(1d f in 1a.2Oq)1a.2Oq[f].2H(b);1F!==1a.38F&&1a.38F.2H(b);1a.41Y.2H(b)};jq.1i.3t=1b(){if(1a.1zE&&1a.22Q){1j(1d a in 1a.2Or)1a.2Or[a]=1F;1j(a in 1a.2Oq)1a.2Oq[a]=1F;1a.38F&&(1a.38F=1F);1a.2Or=[];1a.2Oq=[];1a.2pX={};1a.2pW={};1d b=[],c=[],d=[];1j(h in 1a.2ho)0>=1a.2ho[h].1h?4Y 1a.2ho[h]:b=b.9V(1a.2ho[h]);1j(1d e in 1a.2hn)0>=1a.2hn[e].1h?4Y 1a.2hn[e]:c=c.9V(1a.2hn[e]);1j(1d f in 1a.38D)0>=1a.38D[f].1h?4Y 1a.38D[f]:d=d.9V(1a.38D[f]);if(0<b.1h){1j(f in b){1d h=b[f];1a.2pX.3p(h.2Cj)?1a.2pX[h.2Cj].1q(h):1a.2pX[h.2Cj]=[h]}if(g(1a.2pX)&&1F!==1a.2pX)1j(a in 1a.2pX)b=1a.5Xy(a,1a.2pX[a]),1a.2Or.1q(b)}if(0<c.1h){1j(1d l in c)a=c[l],1a.2pW.3p(a.2Cj)?1a.2pW[a.2Cj].1q(a):1a.2pW[a.2Cj]=[a];if(g(1a.2pW)&&1F!==1a.2pW)1j(1d k in 1a.2pW)c=1a.5Xx(k,1a.2pW[k]),1a.2Oq.1q(c)}0<d.1h&&d[0]&&(1a.38F=1g bf({13g:d,12p:te.2hq,1xu:!0,2p:!0}));1a.22Q=!1}};jq.1i.5Xy=1b(a,b){a=y.28S(a);a=1g va.1kk("1aV",{1A:a,4K:!0});a=1g iq({2q:a,3iO:!0});1f 1g Kb({13g:b,161:a,2p:1a.1n2,17X:!1})};jq.1i.5Xx=1b(a,b){a=y.28S(a);a=va.1kk("1aV",{1A:a,4K:!0});a=1g xe({2q:a,2Cm:!0});1f 1g Kb({13g:b,161:a,17X:!1,1od:!0,2p:!0})};jq.1i.2II=1b(){1d a=1a;2II(1b(){if(g(a.2hp)&&0<a.2hp.1h&&a.5Xw)1j(1d b in a.2hp.17T)5Xv(b)},100)};jq.1i.1fU=1b(){};jq.1i.5Xu=1b(){1a.2Cl=1g Bf({2Op:pa.4t({13Q:!0,9J:{3e:!0}}),41Z:pa.4t({13Q:!0,9J:{3e:!0}})})};1d ud=1F;ke.1tm=1b(a){ud||(ud=1g ke(a));1f ud};ke.4IJ=1b(a){if(g(ud)&&1F!==ud&&g(a)&&1F!==a)1f ud.1Ni.2hp.add(a)};ke.2On=1b(a){g(ud)&&1F!==ud&&g(a)&&1F!==a&&ud.1Ni.2hp.3S(a)};ke.7VB=1b(){g(ud)&&1F!==ud&&ud.1Ni.2hp.7f()};ke.4It=1b(a,b){if(1F===a)1f ud.1Ni.2Cl.add(b);g(ud)&&1F!==ud&&a.38E.1q(ud.1Ni.2Cl.add(b))};ke.4Ix=1b(a){if(g(ud)&&1F!==ud){!a.38E&&a 2m Nf&&ud.1Ni.2Cl.3S(a);1j(1d b in a.38E)ud.1Ni.2Cl.3S(a.38E[b]);a.38E=[]}};ke.5WR=1b(a,b){g(ud)&&1F!==ud&&a.2hi.1q(ud.1Ni.41Y.add(b))};ke.5WN=1b(a){if(g(ud)&&1F!==ud){1j(1d b in a.2hi)ud.1Ni.41Y.3S(a.2hi[b]);a.2hi=[]}};ke.41r=1b(a){g(ud)&&1F!==ud&&(ud.1Ni.22Q=a)};ke.5WM=1b(a,b){g(ud)&&1F!==ud&&(ud.1Ni.2ho[a]=b)};ke.5WL=1b(a,b){g(ud)&&1F!==ud&&(ud.1Ni.2hn[a]=b)};ke.5WK=1b(a,b){g(ud)&&1F!==ud&&(ud.1Ni.38D[a]=b)};Zm.1i.1M=1b(){1a.6X=1a.1dQ=1a.11h=1a.28e=1a.1zE=1F};Zm.1i.3XA=1b(a){2K.8n(a)||(a=[a]);1a.1dQ=1a.1dQ.9V(a)};Zm.1i.2H=1b(a,b,c,d){};Zm.1i.3t=1b(){1j(1d a in 1a.1dQ)!1===1a.1dQ[a].9s&&(1a.22Q=!0),1a.1dQ[a].1lY();1a.22Q&&(ke.41r(!0),1a.22Q=!1)};Zm.1i.5W7=1b(a){if(g(a)&&0!==1a.1dQ.1h){1j(1d b=[],c=0;c<1a.1dQ.1h;c++)1a.1dQ[c]===a?1===1a.1dQ[c].17D&&1a.1dQ[c].1sm():b.1q(1a.1dQ[c]);1a.1dQ=b}};Zm.1i.1fU=1b(){};Zm.1i.2nA=1b(a){};Zm.1i.2L7=1b(){};1L.2X(Zm.1i,{id:{1n:1b(){1f 1a.7R}}});ha.2If=1b(a){1j(1d b=a.1h,c=0;c<b-1;)1a.1lD(a[c].x,a[c+1].x)&&1a.1lD(a[c].y,a[c+1].y)&&1a.1lD(a[c].z,a[c+1].z)?(a.6z(c,1),b--):c++;1f a};ha.7VA=1b(a){1j(1d b=a.1h,c=0;c<b-1;)1a.1lD(a[c].x,a[c+1].x)&&1a.1lD(a[c].y,a[c+1].y)&&1a.1lD(a[c].z,a[c+1].z)?(a.6z(c,1),b--):c++;1f a};ha.5Xt=1b(a){1j(1d b=a.1h,c=0;c<b-1;)1a.1lD(a[c].x,a[c+1].x)&&1a.1lD(a[c].y,a[c+1].y)?(a.6z(c,1),b--):c++;1f a};ha.1lD=1b(a,b,c){m(c)||(c=1E-31);1f 1k.abs(a-b)<=c};ha.3s=1b(a,b){1f m(a)&&m(b)?1k.3Y((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)):0};ha.3ML=1b(a,b,c){1f 0>(c.x-b.x)*(a.y-b.y)-(a.x-b.x)*(c.y-b.y)};ha.7Vz=1b(a){a=1f2.1To.2Ib.2wI(a);1d b=a.1h;if(!(3>b)){1d c=a[0].y*(a[b-1].x-a[1].x);a.1q(a[0].1y());1j(1d d=1;d<b;++d)c+=a[d].y*(a[d-1].x-a[d+1].x);1f 0<c?!1:!0}};ha.30s=1b(a,b){1d c=[];if(!m(a)||2>a.1h)1f c;1d d=!1;3<a.1h&&a[0].x===a[a.1h-1].x&&a[0].y===a[a.1h-1].y&&a[0].z===a[a.1h-1].z&&(d=!0);d?(c[0]=1a.4Jt(a[a.1h-2],a[0],a[1],b),c[a.1h-1]=c[0]):(c[0]=1a.4Ju(a[0],a[1],b,90),c[a.1h-1]=1a.4Ju(a[a.1h-1],a[a.1h-2],-b,90));d=a[0];1j(1d e,f,h=1;h<a.1h-1;++h)e=a[h],a[h]!==a[h-1]&&(d=a[h-1]),a[h]!==a[h+1]&&(f=a[h+1],f=1a.4Jt(d,e,f,b),1a.5Xs(d,c[h-1],e,f)&&(f=c[h-1]),c[h]=f);1f c};ha.5Xs=1b(a,b,c,d){1d e=1g Ya(0,0,0);1f 1a.5Xr(a,b,c,d,e)&&e!==a&&e!==b&&e!==c&&e!==d?!0:!1};ha.5Xr=1b(a,b,c,d,e){if(1a.1lD(a.x,b.x)&&1a.1lD(a.y,b.y)&&1a.1lD(a.z,b.z))1f e.x=a.x,e.y=a.y,!1;if(1a.1lD(c.x,d.x)&&1a.1lD(c.y,d.y)&&1a.1lD(c.z,d.z))1f e.x=c.x,e.y=c.y,!1;1d f=a.x>b.x?a.x:b.x;1d h=a.x<b.x?a.x:b.x;if(1E-16<c.x-f&&1E-16<d.x-f||-1E-16>c.x-h&&-1E-16>d.x-h)1f!1;f=a.y>b.y?a.y:b.y;h=a.y<b.y?a.y:b.y;if(1E-16<c.y-f&&1E-16<d.y-f||-1E-16>c.y-h&&-1E-16>d.y-h)1f!1;f=b.x-a.x;h=b.y-a.y;1d g=d.x-c.x,k=d.y-c.y,n=a.x-c.x,m=a.y-c.y,w=f*k-g*h,x=w;1E-8<1k.abs(f)&&1E-8<1k.abs(g)&&(x/=f*g);if(1E-8>1k.abs(x))1f a===c?(e.x=a.x,e.y=a.y,!1a.3um(a,b,c,d)):b===d?(e.x=b.x,e.y=b.y,!1a.3um(a,b,c,d)):a===d?(e.x=a.x,e.y=a.y,1a.3um(a,b,c,d)):b===c?(e.x=b.x,e.y=b.y,1a.3um(a,b,c,d)):!1;x=(f*m-h*n)/w;n=(g*m-k*n)/w;if(0>x&&(1E-16<1k.abs(x*g)||1E-16<1k.abs(x*k))||1<x&&(1E-16<1k.abs((x-1)*g)||1E-16<1k.abs((x-1)*k))||0>n&&(1E-16<1k.abs(n*f)||1E-16<1k.abs(n*h))||1<n&&(1E-16<1k.abs((n-1)*f)||1E-16<1k.abs((n-1)*h)))1f!1;if(1E-8>1k.abs(x))1f e.x=c.x,e.y=c.y,!0;if(1E-8>1k.abs(x-1))1f e.x=d.x,e.y=d.y,!0;if(1E-8>1k.abs(n))1f e.x=a.x,e.y=a.y,!0;if(1E-8>1k.abs(n-1))1f e.x=b.x,e.y=b.y,!0;if(0>x&&(1E-16<1k.abs(x*g)||1E-16<1k.abs(x*k))||1<x&&(1E-16<1k.abs((x-1)*g)||1E-16<1k.abs((x-1)*k))||0>n&&(1E-16<1k.abs(n*f)||1E-16<1k.abs(n*h))||1<n&&(1E-16<1k.abs((n-1)*f)||1E-16<1k.abs((n-1)*h)))1f!1;e.x=x*g+c.x;e.y=x*k+c.y;1f!0};ha.5mc=1b(a,b,c){1f 1a.3s(a,b)*1k.2T(1a.5Xq(b,a,c))};ha.5Xq=1b(a,b,c){if(a===b||a===c)1f 0;1d d=1a.3s(a,b);a=1a.3s(a,c);b=1a.3s(b,c);d=(d*d+a*a-b*b)/(2*d*a);1<d&&1a.1lD(d,1)?d=1:1>d&&1a.1lD(d,-1)&&(d=-1);1f 1k.1cz(d)};ha.3um=1b(a,b,c,d){1d e=(b.x-a.x)*(d.x-c.x);a=(b.y-a.y)*(d.y-c.y);1f 1E-8>1k.abs(e)&&1E-8>1k.abs(a)?!1:(0<e||1E-8>1k.abs(e))&&(0<a||1E-8>1k.abs(a))?!0:!1};ha.4Ju=1b(a,b,c,d){if(a===b||1E-13>1k.abs(c))1f a;b=1a.1Te(a,b)+d*1k.PI/180;1f 1g Ya(a.x+c*1k.3i(b),a.y+c*1k.2T(b),a.z)};ha.1Ne=1b(a,b,c){1d d=ha.3s(a,b);1f 0===d?a:ha.40Y(c/d,a,b)};ha.40Y=1b(a,b,c){1d d=1g Ya(0,0,0);d.x=b.x+(c.x-b.x)*a;d.y=b.y+(c.y-b.y)*a;d.z=b.z+(c.z-b.z)*a;1f d};ha.40X=1b(a){if(!a||1F===a||0===a.1h)1f 1F;1j(1d b=0,c=0,d=0,e=0;e<a.1h;e++)b+=a[e].x,c+=a[e].y,d+=a[e].z;1f 1g Ya(b/a.1h,c/a.1h,d/a.1h)};ha.4Jt=1b(a,b,c,d){a=1a.1Te(b,a);c=1a.1Te(b,c);c=(a+c)/2;a=1k.3i(c-a+1k.PI/2);1d e=d;1a.4Jq(a,.15)||(e=d/a);1f 1g Ya(b.x+e*1k.3i(c),b.y+e*1k.2T(c),b.z)};ha.2dU=1b(a,b,c){1d d=1g Ya(0,0,0),e=1k.3i(b);b=1k.2T(b);1d f=c.x-a.x,h=c.y-a.y;c=c.z-a.z;d.x=f*e-h*b+a.x;d.y=f*b+h*e+a.y;d.z=c*b+c*e+a.z;1f d};ha.2HB=1b(a,b,c){m(c)||(c=72);1j(1d d=[],e=360/c,f=0;f<c-1;++f){1d h=B.8I(f*e);d.1q(1g Ya(b.x+a*1k.3i(h),b.y+a*1k.2T(h),b.z))}d.1q(d[0].1y());1f d};ha.1ZK=1b(a,b,c,d){d*=1k.PI/180;1f 1g Ya(a.x+b*1k.3i(d),a.y+c*1k.2T(d),0)};ha.3kb=1b(a){1d b=[],c=a.1h;if(3>c)1j(1d d=0;d!=c;++d)b[d]=a[d].1y();1s{1d e=0;1j(d=0;d<3*c-2;d+=3)b[d]="1b"===2h a[e].1y?a[e].1y():1g Ya(a[e].x,a[e].y,a[e].z),b[d+1]=1g Ya(0,0,0),b[d+2]=1g Ya(0,0,0),e++;1j(d=1;d<c-1;++d)1a.5Xp(8,3,a[d-1],a[d],a[d+1],b[3*d-1],b[3*d+1]);1a.3MK(.6,b[0],b[3],b[2],b[1]);1a.3MK(.6,b[3*c-3],b[3*c-6],b[3*c-5],b[3*c-4]);b[3*c-1]="1b"===2h a[c-1].1y?b[3*c-2]=a[c-1].1y():b[3*c-2]=1g Ya(a[c-1].x,a[c-1].y,a[c-1].z)}1f b};ha.3ka=1b(a){1d b=a.1h,c=[];if(3>a.1h)1j(1d d=0;d<b;++d)c[d]=a[d].1y();1s 1j(b/=3,d=0;d<3*b&&!(d+4>=3*b);d+=3){1d e=a[d].x,f=a[d].y,h=a[d].z,g=a[d+1].x,k=a[d+1].y,n=a[d+1].z,m=a[d+2].x,w=a[d+2].y,x=a[d+2].z,q=a[d+3].x,t=a[d+3].y,r=a[d+3].z;if(1a.1lD(e,g,1E-10)&&1a.1lD(f,k,1E-10)&&1a.1lD(m,q,1E-10)&&1a.1lD(w,t,1E-10))c.1q(1g Ya(e,f,h)),c.1q(1g Ya(m,w,x));1s 1j(1d u=0;1>=u;u+=.1tu){1d v=u*u;1d y=v*u;1d A=1-3*u+3*v-y;1d B=3*(u-2*v+y);v=3*(v-y);A=1g Ya(A*e+B*g+v*m+y*q,A*f+B*k+v*w+y*t,A*h+B*n+v*x+y*r);c.1q(A)}}1f c};ha.3tU=1b(a){a=ha.3kb(a);1f ha.3ka(a)};ha.5Xm=1b(a,b,c,d){1d e=[],f=a.x;a=a.y;1d h=b.x;b=b.y;1d g=c.x;c=c.y;1d k=d.x;d=d.y;if(1a.1lD(f,h,1E-10)&&1a.1lD(a,b,1E-10)&&1a.1lD(g,k,1E-10)&&1a.1lD(c,d,1E-10))e.1q(1g Ya(f,a,0)),e.1q(1g Ya(g,c,0));1s 1j(1d n=0;1>=n;n+=.1tu){1d m=n*n;1d w=m*n;1d x=1-3*n+3*m-w;1d q=3*(n-2*m+w);m=3*(m-w);x=1g Ya(x*f+q*h+m*g+w*k,x*a+q*b+m*c+w*d,0);e.1q(x)}1f e};ha.5Xp=1b(a,b,c,d,e,f,h){1a.5Xo(a,b,c.x,c.y,d.x,d.y,e.x,e.y,f,h)};ha.5Xo=1b(a,b,c,d,e,f,h,g,k,n){1d l=e+(h-c),p=f+(g-d);if(c==h){1d m=c;1d q=p}1s if(d==g)m=l,q=d;1s{q=(g-d)/(h-c);1d t=d-c*q;m=(p+l/q-t)/(q+1/q);q=q*m+t}t=1k.3Y((e-l)*(e-l)+(f-p)*(f-p));c=1k.3Y((c-e)*(c-e)+(d-f)*(d-f));h=1k.3Y((e-h)*(e-h)+(f-g)*(f-g));a=c+h?1+(h-c)*a/(h+c):1;l=m+(l-m)*a;p=q+(p-q)*a;0==t&&(t=1);k.x=e+(e-l)*c/(b*t);k.y=f+(f-p)*c/(b*t);n.x=e+(l-e)*h/(b*t);n.y=f+(p-f)*h/(b*t)};ha.3ul=1b(a,b,c,d,e){1d f=1g Ya(0,0,0);1d h=1a.3s(e,c);1d g=1a.3s(d,e);1==b&&(h*=2);2==b&&(g*=2);f.x=(h*d.x+g*c.x)/(h+g);f.y=(h*d.y+g*c.y)/(h+g);b=1a.4Js(a,c,f,e);a=1a.4Js(a,d,f,e);1f{pl:b,pr:a}};ha.4Js=1b(a,b,c,d){a=1a.3s(d,b)/a;d=1a.4Jp(a,c,d);c=1a.3s(b,d.4Jo);a=1a.3s(b,d.41X);1f c>=a?d.41X:d.4Jo};ha.3MK=1b(a,b,c,d,e){1a.4Ik(a,b.x,b.y,c.x,c.y,d.x,d.y,e)};ha.4Ik=1b(a,b,c,d,e,f,h,g){if(0===1k.abs(c-e)){1d l=b+d-f;1d k=h}1s if(0==1k.abs(b-d))l=f,k=c+e-h;1s{k=(c-e)/(b-d);1d m=h-k*f;l=((e+c)/2+(b+d)/(2*k)-m)/(k+1/k);k=k*l+m;l=2*l-f;k=2*k-h}f=1k.3Y((b-d)*(b-d)+(c-e)*(c-e));h=1k.3Y((b-l)*(b-l)+(c-k)*(c-k));0<f&&(b+=(d-b)*h/f,c+=(e-c)*h/f);g.x=b+(l-b)*a;g.y=c+(k-c)*a;1f g};ha.41L=1b(a,b,c){1d d={};d.1u3=1g Ya(0,0,0);d.2Ci=0;d.2Ch=0;d.2Cg=0;1d e=b.x-a.x,f=b.y-a.y;if(1E-9>1k.abs(e)){1d h=(b.y+a.y)/2;1d g=(b.x+c.x)/2;1d k=(b.y+c.y)/2;1d n=0;1E-9<=1k.abs(c.x-b.x)&&(n=(c.y-b.y)/(c.x-b.x));d.1u3.y=h;d.1u3.x=1E-9>1k.abs(n)?g:g-n*(h-k)}1s n=(b.x+a.x)/2,h=(b.y+a.y)/2,g=(b.x+c.x)/2,k=(b.y+c.y)/2,e=f/e,1E-9>1k.abs(e)?(d.1u3.x=n,d.1u3.y=1k.abs(1E-9>c.x-b.x)?k:-(c.x-b.x)/(c.y-b.y)*(d.1u3.x-g)+k):1E-9>1k.abs(c.x-b.x)?(d.1u3.y=k,d.1u3.x=-e*(d.1u3.y-h)+n):(f=(c.y-b.y)/(c.x-b.x),d.1u3.x=(e*f*(h-k)+f*n-e*g)/(f-e),d.1u3.y=(g-n+f*k-e*h)/(f-e));g=1k.12B(a.y-d.1u3.y,a.x-d.1u3.x);k=1k.12B(c.y-d.1u3.y,c.x-d.1u3.x);if(1a.2AT(a,b,c)){1j(;g>=2*1k.PI;)g-=2*1k.PI;1j(;0>g;)g+=2*1k.PI;1j(;k>2*1k.PI;)k-=2*1k.PI;1j(;k<g;)k+=2*1k.PI}1s{1j(;k>=2*1k.PI;)k-=2*1k.PI;1j(;0>k;)k+=2*1k.PI;1j(;g>2*1k.PI;)g-=2*1k.PI;1j(;k>g;)g+=2*1k.PI;b=g;g=k;k=b}d.2Ci=1k.3Y((d.1u3.x-a.x)*(d.1u3.x-a.x)+(d.1u3.y-a.y)*(d.1u3.y-a.y));d.2Cg=180*k/1k.PI;d.2Ch=180*g/1k.PI;1f d};ha.2AT=1b(a,b,c){1f 0<(c.x-b.x)*(a.y-b.y)-(a.x-b.x)*(c.y-b.y)};ha.3uf=1b(a,b,c,d,e,f,h){m(h)||(h=36);h=(f-e)/h;1d g=[];if(1E-9>1k.abs(h))1f g;1j(;f<e;)f+=2*1k.PI;1j(;f>e+2*1k.PI;)e+=2*1k.PI;1d k=1k.3i(d)*b,n=1k.2T(d)*b,z=1k.3i(d)*c;d=1k.2T(d)*c;e=1a.4Jr(e,b,c);b=1a.4Jr(f,b,c);1E-5>b-e&&(b+=2*1k.PI);c=1k.9p(1k.abs((b-e)/h)+1);if(2>c)1f g;1j(1d w=0;w<c-1;e+=h,w++)w===c-2&&(e=f),g.1q(1g Ya(a.x+k*1k.3i(e)-d*1k.2T(e),a.y+n*1k.3i(e)+z*1k.2T(e),0));0>g.1h&&(g[g.1h-1].x=a.x+k*1k.3i(b)-d*1k.2T(b),g[g.1h-1].y=a.y+n*1k.3i(b)+z*1k.2T(b));1f g};ha.4Jr=1b(a,b,c){1d d=a;b=1k.12B(b*1k.2T(a),c*1k.3i(a));if(a>1k.PI)1j(;d>1k.PI;)d-=2*1k.PI,b+=2*1k.PI;1s if(a<-1k.PI)1j(;d<-1k.PI;)d+=2*1k.PI,b-=2*1k.PI;1f b};ha.1Te=1b(a,b){a=1k.12B(b.y-a.y,b.x-a.x);0>a&&(a+=2*1k.PI);1f a};ha.3MJ=1b(a,b,c,d){1d e={3k9:!1};if(a.x===b.x&&a.y===b.y||c.x===d.x&&c.y===d.y)1f e;1d f=b.x-a.x,h=b.y-a.y;b=d.x-c.x;d=d.y-c.y;1d g=f*d-b*h;if(1a.4Jq(g))1f e;f=(f*(a.y-c.y)-h*(a.x-c.x))/g;h=1g Ya(0,0,0);h.x=f*b+c.x;h.y=f*d+c.y;h.z=a.z;e.3k9=!0;e.3MI=h;1f e};ha.4Jq=1b(a,b){b||(b=1E-18);1f a<b&&a>-b?!0:!1};ha.5Xn=1b(a){1d b=[],c=[],d=a.1h;if(0!==d)if(1===d)b.1q(a[0]);1s{if(2===d)d=1a.4Jn(a[0],a[1]),c.1q(a[0]),c.1q(a[1]),c.1q(d);1s{c.1q(a[0]);c.1q(a[1]);c.1q(a[2]);if(1a.1ZL(a[0],a[2])||1a.1ZL(a[1],a[2]))b.1q(a[0]),b.1q(a[1]);if(1a.1ZL(a[0],a[1])){b.1q(a[0]);b.1q(a[2]);1f}}c=1a.5Xl(c);d=1g Ya(0,0,0);a=1g Ya(0,0,0);d.x=.5*(c[0].x+c[1].x);d.y=.5*(c[0].y+c[1].y);a.x=d.x-.1*(c[2].x-d.x);a.y=d.y-.1*(c[2].y-d.y);d=1a.3ul(3,0,c[1],c[0],a);b.1q(d.pr);b.1q(a);b.1q(d.pl);a=1a.3ul(4,2,c[2],c[0],c[1]);b.1q(a.pr);b.1q(c[1]);b.1q(a.pl);a=1a.3ul(2,0,c[0],c[1],c[2]);b.1q(a.pr);b.1q(c[2]);b.1q(a.pl);a=1a.3ul(4,1,c[1],c[2],c[0]);b.1q(a.pr);b.1q(c[0]);b.1q(a.pl);1f b}};ha.5WJ=1b(a){1d b=[];if(2>a.1h)1f b;a=1a.5Xn(a);if(12!=a.1h)1f b;a.1q(a[0]);a.1q(a[1]);a.6z(0,1);1j(1d c=0;c<a.1h-3;c+=3){a.4h(c,c+4);1d d=1a.5Xm(a[c],a[c+1],a[c+2],a[c+3]);b=b.9V(d)}1f b};ha.4Jn=1b(a,b){1d c=1g Ya(0,0,0);c.x=.5*(a.x+b.x);c.y=.5*(a.y+b.y);b=ha.3s(b,a)/2.7;1f 1a.4Jp(b,a,c).41X};ha.4Jp=1b(a,b,c){1d d=1g Ya(0,0,0),e=1g Ya(0,0,0),f=1g Ya(0,0,0);1d h=1a.3s(b,c);0==h?(f.y=0,f.x=a):(f.x=a*(b.x-c.x)/h,f.y=a*(b.y-c.y)/h);d.x=-f.y+c.x;d.y=f.x+c.y;e.x=f.y+c.x;e.y=-f.x+c.y;1f{41X:d,4Jo:e}};ha.1ZL=1b(a,b){1f 1a.1lD(a.x,b.x)&&1a.1lD(a.y,b.y)&&1a.1lD(a.z,b.z)?!0:!1};ha.5Xl=1b(a){1d b=[];b.1q(1g Ya(0,0,0));b.1q(1g Ya(0,0,0));b.1q(1g Ya(0,0,0));1d c=a.1h;if(!(2>c)){if(2==c)b[0]=a[0],b[1]=a[1],b[2]=1a.4Jn(a[0],a[1]);1s{c=a[0];1d d=a[1];a=a[2];1d e=1a.3s(d,c);1d f=1a.3s(a,d);1d h=1a.3s(c,a);f>=e&&f>=h?(e=c.1y(),c=a.1y(),a=e.1y()):h>=e&&h>=f&&(e=a.1y(),a=d.1y(),d=e.1y());1a.3ML(a,c,d)||(e=c.1y(),c=d.1y(),d=e.1y());b[0]=c;b[1]=d;b[2]=a}1f b}};ha.5VC=1b(a,b,c){1d d=1g C(.5*(b.x+a.x),.5*(b.y+a.y));a=1g C(b.x-a.x,b.y-a.y);c=1g C(c.x-d.x,c.y-d.y);1f 0<a.x*c.x+a.y*c.y};ha.3uh=1b(a){if(a.1h){1d b=8>a.1h?1:8A(a.4h(7,9),16)/255;1d c=8A(a.4h(1,3),16)/255,d=8A(a.4h(3,5),16)/255;a=8A(a.4h(5,7),16)/255;1f 1g y(c,d,a,b)}1f a};ha.1Au=1b(a,b){if(m(b)){1d c=a.3w,d=a.10a.3c;if(5E5<T.12y(c.1K).1D){a=c.1vv(b,d);1d e=T.12y(a);a=B.10Q(e.3N);b=B.10Q(e.4k);e=1g Ya(a,b,e.1D)}1s a=a.1Gj(b),m(a)&&(e=T.12y(a),a=B.10Q(e.3N),b=B.10Q(e.4k),e=1g Ya(a,b,e.1D+.2));1f 1p 0===e||11I(e.x)||11I(e.y)||11I(e.z)?1F:e}};ha.4J5=1b(a,b){if(m(b)){1d c=a.3w,d=c.1bZ(b);d=a.10a.11P(d,a);m(d)||(d=c.1vv(b,a.10a.3c));if(d){d=T.12y(d);1d e=B.10Q(d.3N),f=B.10Q(d.4k);d=1g Ya(e,f,d.1D);0>d.z&&(a=c.1vv(b,a.10a.3c),a=T.12y(a),b=B.10Q(a.3N),c=B.10Q(a.4k),d=1g Ya(b,c,a.1D))}1f 1p 0===d?1F:d}};ha.41Q=1b(a,b){1d c=[],d=[];b*=ha.5Xk(a);1j(1d e=0;e<a.1h-1;e++){1d f=[];if(!ha.1lD(a[e].x,a[e+1].x)||!ha.1lD(a[e].y,a[e+1].y)){f.1q(a[e]);f.1q(a[e+1]);1d h=ha.30s(f,b);f=h[0];h=h[1];0!=c.1h?(c=ha.3MJ(f,h,c[0],c[1]),c.3k9&&(c=c.3MI,f=ha.3s(f,h),ha.3s(c,h)>2*f||(d[d.1h-1]=c))):d.1q(f);d.1q(h);c=[];c.1q(d[d.1h-2]);c.1q(d[d.1h-1])}}a[0].x===a[a.1h-1].x&&a[0].y===a[a.1h-1].y&&a[0].z===a[a.1h-1].z&&1<d.1h&&(a=ha.3MJ(d[0],d[1],d[d.1h-2],d[d.1h-1]),a.3k9&&(a=a.3MI,d[d.1h-1]=a,d[0]=a));1f d};ha.5Xk=1b(a){1b b(a,b){1b c(a){a=1k.12B(a.y,a.x);0>a&&(a+=2*1k.PI);1f a}a=c(b)-c(a);a<-1k.PI&&(a+=2*1k.PI);a>1k.PI&&(a-=2*1k.PI);1f a}a=ha.2If(a);if(3>a.1h)1f 1;1j(1d c=0,d={x:0,y:0},e={x:0,y:0},f=2;f<a.1h;f++)e.x=a[f].x-a[f-1].x,e.y=a[f].y-a[f-1].y,d.x=a[f-1].x-a[f-2].x,d.y=a[f-1].y-a[f-2].y,c+=b(d,e);e.x=a[1].x-a[0].x;e.y=a[1].y-a[0].y;d.x=a[0].x-a[a.1h-1].x;d.y=a[0].y-a[a.1h-1].y;c+=b(d,e);1f 0<=c?-1:1};ha.7Vy=1b(a,b){if(22===a)6U(b){1S 4Jm:1S 4In:1S 7Vx:1S 4Ip:1S 4Io:1S 7Vw:1S 7Vv:1S 5Xj:1f!0}1f 7Vu===b||7Vt===b?!0:!1};ha.5WZ=1b(a){if(!m(a)||wa.389!==a.17D)1f!1;6U(a.16A){1S 4Jm:1S 4In:1S 4Ip:1S 4Io:1S 5Xj:1S 5VM:1f!0}1f!1};ha.4jf=1b(a,b){a=k.8g(a.x,a.y,a.z);1d c=k.8g(b.x,b.y,b.z);b=T.12y(a);a=T.12y(c);c=1g ml;c.1Nh(b,a);1f c.1R1};ha.5Wx=1b(a,b){a=T.12y(a);b=T.12y(b);1d c=1g ml;c.1Nh(a,b);1f c.1R1};ha.5hQ=1b(a,b,c){1d d=1g C,e=1g C;if(-1==b)d.x=a.x,d.y=c.7b,e.x=a.x,e.y=c.5C;1s if(0==b)d.x=c.3B,d.y=a.y,e.x=c.2W,e.y=a.y;1s{1d f=0,h=[],g=c.3B,k=b*(g-a.x)+a.y;k>c.7b&&k<c.5C&&(h[2*f]=g,h[2*f+1]=k,f++);g=c.2W;k=b*(g-a.x)+a.y;k>c.7b&&k<c.5C&&(h[2*f]=g,h[2*f+1]=k,f++);2>f&&(k=c.7b,g=a.x- -1/b*(k-a.y),g>c.3B&&g<c.2W&&(h[2*f]=g,h[2*f+1]=k,f++));2>f&&(k=c.5C,g=a.x- -1/b*(k-a.y),2>f&&g>c.3B&&g<c.2W&&(h[2*f]=g,h[2*f+1]=k));d.x=h[0];d.y=h[1];e.x=h[2];e.y=h[3]}1f[d,e]};ha.7Vs=1b(a,b){if(!a||0===a.1h)1f!1;1j(1d c=0,d=a.1h,e=0;e<d;e++){1d f=a[e],h=a[(e+1)%d];if(f.y!==h.y){1d g=f.y>h.y?f.y:h.y;b.y<(f.y<h.y?f.y:h.y)||b.y>g||(b.y-f.y)*(h.x-f.x)/(h.y-f.y)+f.x>b.x&&c++}}1f 1===c%2};ha.2HG=1b(a,b,c){b=k.8g(b.x,b.y,b.z);b=ic.1yu(a,b);if(!m(b))1f 0;c=1g C(b.x+c,b.y);b=ha.1Au(a,b);a=ha.1Au(a,c);1f ha.3s(b,a)};ha.4IO=1b(a,b,c){a=k.8g(a.x,a.y,a.z);1d d=1g $b,e=Da.2Cf("4P","4o");c||(c=Da.1nq(a,d,ba.9y,e));1d f=1k.PI/180;d.8q=f*b.x;d.12C=f*b.y;d.8e=f*b.z;Da.1nq(a,d,ba.9y,e,c);1f c};ha.2Ck=1b(a,b){1f a.x*b.y-a.y*b.x};ha.5Xi=1b(a){1j(1d b=0,c=0,d=1,e=2;c<a.1h;c++,d++,e++){d>=a.1h&&(d-=a.1h);e>=a.1h&&(e-=a.1h);1d f=1g C(a[d].x-a[c].x,a[d].y-a[c].y),h=1g C(a[e].x-a[d].x,a[e].y-a[d].y);0<=ha.2Ck(f,h)?b++:b--}1f 0<=b};ha.5Wv=1b(a){1d b=[];if(3>a.1h)1f 1F;1j(1d c=ha.5Xi(a),d=[],e=0;e<a.1h;e++){1d f={7v:a[e],2P:e,4Jl:!1,29i:!1};c?d.1q(f):d.1po(f)}a=[];1j(c=0;c<d.1h;c++)ha.38C(d[c],d,c),d[c].29i&&a.1po({3uk:d[c],2K:d,1K7:c});1j(;3<=d.1h;){if(0===a.1h)1f 1F;f=a[0];a.1hN();1d h={2K:f.2K,1K7:m(f.2K[f.1K7-1])?f.1K7-1:f.2K.1h-1};c={2K:f.2K,1K7:m(f.2K[f.1K7+1])?f.1K7+1:0};1d g=m(f.2K[f.1K7])?f.2K[f.1K7]:f.2K[0],k=h.2K[h.1K7];e=c.2K[c.1K7];d.6z(f.1K7,1);b.1q(g.2P);b.1q(k.2P);b.1q(e.2P);k.29i?(ha.38C(k,h.2K,h.1K7),k.29i||(f=a.3f(h),a.6z(f,1))):(ha.38C(k,h.2K,h.1K7),k.29i&&a.1po(h));e.29i?(ha.38C(e,c.2K,c.1K7),e.29i||(f=a.3f(c),a.6z(f,1))):(ha.38C(e,c.2K,c.1K7),e.29i&&a.1po(c))}1f b};ha.38C=1b(a,b,c){1d d=m(b[c-1])?b[c-1]:b[b.1h-1];c=m(b[c+1])?b[c+1]:b[0];if(!a.4Jl){1d e=1g C,f=1g C;if(0<=ha.2Ck(C.3V(a.7v,d.7v,e),C.3V(c.7v,a.7v,f)))a.4Jl=!0;1s{a.29i=!1;1f}}1j(e=0;e<b.1h;e++)if(!C.2L(b[e].7v,a.7v)&&!C.2L(b[e].7v,d.7v)&&!C.2L(b[e].7v,c.7v)&&ha.5Xh(b[e].7v,a.7v,d.7v,c.7v)){a.29i=!1;1f}a.29i=!0};ha.5Xh=1b(a,b,c,d){1d e=1g C,f=1g C,h=1g C,g=1g C,k=1g C;C.3V(c,b,e);C.3V(d,b,f);C.3V(d,c,h);C.3V(a,b,g);b=0<=ha.2Ck(e,f);1f b^0>ha.2Ck(e,g)&&0<ha.2Ck(h,e)^0<=ha.2Ck(h,C.3V(a,c,k))&&b^0<=ha.2Ck(f,g)};IC.1i.5X7=1b(a,b){b||(b=1a);(1g 1f2.7Vr(1a.2I,{5Xg:{1A9:b,2ly:a,2lx:a}})).2lw();1f 1a};IC.1i.5X5=1b(a,b,c){c||(c=1a);(1g 1f2.7Vq(1a.2I,{5Xg:{1A9:c,2ly:b,2lx:b}})).2lw(a);1f 1a};Rf.1i.5Xf=1b(){if(1F===1a.1ms)1f!1;1a.4Jk(1a.1ms.4Ji)};Rf.1i.4Jk=1b(a,b){1j(b=0;b<a.7Vp;b++)"5Xa"===a.13P[b].4Jh?1a.4Jk(a.13P[b]):"7Vo"===a.13P[b].4Jh&&1a.2Oo.1q(a.13P[b].41U)};Rf.1i.1M=1b(){1a.1ms=1a.19C=1a.2I=1F};Rf.1i.4Jc=1b(){1b a(a){a.4D.3uj&&(b.4Jj(a.4D),0===b.2Oo.1h&&b.38A.5k({1LP:!0}))}1d b=1a;if(0===1a.2Oo.1h)1a.38A.5k({1LP:!0});1s{1j(1d c=1a.2Oo.4h(),d=0,e=c.1h;d<e;d++){1d f=1g 1f2.5lN;f.19C=1a.19C;f.16A=c[d];f=14y.1Zv(1a.19C,c[d]);if(!f)1f;f.1Zu.13U.on({2ly:a,2lx:a,1A9:b});f.1Zu.2lw(f.2HM)}1a.5Xe=!0}};Rf.1i.4Jj=1b(a){1d b=1f2.41T.3f(1a.2Oo,a.16A);-1!==b&&(1a.41W[a.16A]=1f2.1To.2Ib.5Xd(a),1a.2Oo.6z(b,1))};Rf.1i.7Vn=1b(){1f 1F===1a.1ms?1F:1a.1ms.7Vm};Rf.1i.7Vl=1b(){1f 1F===1a.1ms?1F:1a.1ms.7Vk};Rf.1i.7Vj=1b(){1f 1F===1a.1ms?1F:1a.1ms.7Vi};Rf.1i.7Vh=1b(){1f 1F===1a.1ms?1F:1a.1ms.7Vg};Rf.1i.5Xb=1b(){1f 1F===1a.1ms?1F:1a.1ms.7Vf};Rf.1i.5Xc=1b(){1f 1F===1a.1ms?1F:1a.1ms.4Ji};Rf.1i.7Ve=1b(){1f 1F===1a.1ms?1F:1a.1ms.7Vd};Rf.1i.25X=1b(a){1d b=1F;1a.41W.3p(a)&&(b=1f2.1To.2Ib.5Xd(1a.41W[a]));1f b};Rf.1i.3iV=1b(a){1a.4Jj(a)};Rf.1i.5X4=1b(){1f 1a.19C};Rf.1i.7Vc=1b(){1f 1F===1a.1ms?1F:1a.1ms.7Vb};Rf.1i.1tr=1b(a){if(1F===1a.1ms)1f"";1F===1a.41V&&(1a.41V={},1a.7Va(1a.1ms.4Ji));1f 1a.41V[a]};Rf.1i.7V9=1b(){1f 1F===1a.1ms?1F:1a.1ms.9G};Rf.1i.4Jd=1b(a){1f 1a.4Jg(a,1a.5Xc(),1a.5Xb())};Rf.1i.4Jg=1b(a,b,c){1d d=[];if("5Xa"===b.4Jh)1j(1d e=0;e<b.13P.1h;e++)1j(1d f=1a.4Jg(a,b.13P[e],c+"/"+b.1K6),h=0;h<f.1h;h++)d.1q(f[h]);1s a===b.41U.5s()?(b.6O=c+"/"+b.41U+".12H",d.1q(b)):-1!==b.1K6.3f(a)&&(b.6O=c+"/"+b.41U+".12H",d.1q(b));1f d};1d OX=1F;Te.1tm=1b(a){1F===OX&&(OX=1g Te(a));1f OX};Te.1i.5X9=1b(a){1d b="js/7V8/7V7.15l";g(a)&&""!==a&&(b=a);1d c=1a;if(1p 0===$.5X8())1t 1g r("2xA is 5Q3");$.5X8(b,1b(a){g(c.2HL)&&1F!==c.2HL||(c.2HL={});c.2HL[a.19C]=a})};Te.1i.6l=1b(a,b){1a.2I=a;1F===1a.1oN&&(1a.1oN=[]);1F===1a.1VM&&(1a.1VM=[]);1F===1a.38B&&(1a.38B=[]);b&&1f2.41T.1a3(1a,b)};Te.1i.1M=1b(){1a.2I=1F;1a.1oN=[];1a.1VM=[];1a.38B=[];1a.4Jf=1a.41S=!1;1a.2HL={}};Te.1i.7V6=1b(){1a.5X3()?1a.4Je.5k({1LP:!0,1oN:1a.1oN}):1a.4Jf||(1a.4Jf=!0,(1g IC(1a.2I)).5X7(1b(a){if(a.4D&&a.4D.3uj){if(1F!==1a.1oN&&0!==1a.1oN.1h)1j(1d b=0;b<1a.1oN.1h;b++){1j(1d c=!1,d=0;d<a.4D.1h;d++)if(1a.1oN[b]===a.4D[d]){c=!0;1W}!1===c&&1a.1oN.4h(b,1)}1s 1a.1oN=a.4D;1a.5X6()}1s 1t Te.1i.1oN=[],1g r("5gA 7V5 is 1X to 6l 4hX");},1a))};Te.1i.5X6=1b(){1j(1d a=1a.1oN.4h(),b=0,c=1a.1oN.1h;b<c;b++){1d d=1g 1f2.7V4;d.19C=1a.1oN[b];(1g IC(1a.2I)).5X5(d,1b(b){if(b.4D.3uj){1d c=1f2.41T.3f(a,b.4D.19C);-1!==c&&(a.6z(c,1),1a.38B.1q(b.4D),1a.1VM.1q(1g Rf({1ms:b.4D})),1a.1VM[1a.1VM.1h-1].2I=1a.2I,1a.1VM[1a.1VM.1h-1].4Jc());0===a.1h&&(1a.41S=!0,1a.4Je.5k({1LP:!0,1oN:1a.1oN}))}},1a)}};Te.1i.7V3=1b(a){1j(1d b=[],c=0;c<1a.1oN.1h;c++)1j(1d d=1a.2wJ(1a.1oN[c]).4Jd(a.5s()),e=0;e<d.1h;e++)b.1q(d[e]);1f b};Te.1i.7V2=1b(a){1j(1d b=[],c=0;c<1a.1oN.1h;c++)1j(1d d=1a.2wJ(1a.1oN[c]).4Jd(a),e=0;e<d.1h;e++)b.1q(d[e]);1f b};Te.1i.7V1=1b(a){1f a>=1a.1oN.1h?1F:1a.1VM[a]};Te.1i.2wJ=1b(a){1j(1d b=0;b<1a.1VM.1h;b++)if(a===1a.1VM[b].19C)1f 1a.1VM[b];1f 1F};Te.1i.5X4=1b(a){1f a>=1a.1oN.1h?-1:1a.1oN[a]};Te.1i.7V0=1b(a){1f a>=1a.1oN.1h?1F:1a.38B[a]};Te.1i.7UZ=1b(){1f 1a.1oN.1h};Te.1i.1tr=1b(a,b){a=1a.2wJ(a);1f 1F===a?"":a.1tr(b)};Te.1i.25X=1b(a,b){a=1a.2wJ(a);1f 1F===a?1F:a.25X(b)};Te.1i.3iV=1b(a,b){a=1a.2wJ(a);1f 1F!==a&&g(b)&&1F!==b?a.3iV(b):1F};Te.1i.5X3=1b(){1f 1a.41S};Te.1i.7UY=1b(a){1d b=1a;a=1a.2wJ(a);a.38A.7K(1b(a){b.38A.5k({1LP:!0})});1F!==a&&a.4Jc()};1d nF=7O.14y=7O.14y||{};g(1L.6F)&&(Sd.1i=1L.6F(Ef.1i),Sd.1i.7m=Sd);Sd.1i.1lY=1b(){if(!1a.9s||1a.1ef!==1a.8L.2R.3z){g(1a.8L)&&g(1a.8L.2R)&&(1a.1ef=1a.8L.2R.3z);1a.4J2();if(1a.1n2&&(1F===1a.19S&&(1a.19S=nF.5lQ({19C:1a.19C,16A:1a.16A}),0<1a.1zF.1h&&1a.1zF.4J6?1a.19S.1VG=1a.1zF:1a.4J7()),g(1a.19S))){1d a=1a.15O=ha.2If(1a.15O),b=1a.15O.1h;1a.1U4=0;1j(1d c=[],d=0;d<b;d++)0===d?1a.1U4=a[0].z:1a.1U4<a[d].z&&(1a.1U4=a[d].z),0!==1a.1VI&&(1a.1U4=a[d].z=1a.1VI),c.1q(1g Ya(a[d].x,a[d].y,a[d].z));1a.19S.38y=c;1a.5WU();1a.1Tf=[];1a.19S.2pR.1h<=1a.1qu.1h&&(1a.19S.2pR=1a.1qu);1a.19S.2r={1A:1a.15Z.19g};g(1a.19S.2C3)?1a.2C4=1a.19S.2C3:1a.19S.2C3=1a.2C4;1a.38z?(a=1a.41R.2P,b=1a.41R.1K,b.7UX=!0,1a.19S.26n=!0,1a.19S.7UW(a,b)):(1a.2pQ&&!1a.3u9?(1a.19S.5X2=20,1a.19S.2pP=1a.2HG(1a.19S.38y[0],1a.19S.5X2),1a.2Oh=1a.19S.2pP,1a.2pQ=!1,1a.4J7()):1a.19S.2pP=1a.2Oh,1a.3u9&&(1a.19S.26n=!0,1a.19S.2C3=1a.2C4),1a.1AC&&(1a.19S.26n=!0),1a.19S.1m4());a=1a.19S.1bw;1a.1Tf=1a.19S.3ui;1a.1qu=1a.19S.2pR;g(a)&&(a=2K.8n(a)?a:[a],1a.41E(a,1a.1U4),1a.4J1(1a.id))}1a.9s=!0}};Sd.1i.1ts=1b(){1f g(1a.19S)?1a.19S.5X0:0};Sd.1i.1uZ=1b(){1f g(1a.19S)?1a.19S.5X1:0};Sd.1i.1tr=1b(){1f g(1a.19S)?0!==1a.19S.1K6.1h?1a.19S.1K6:"":""};Sd.1i.41E=1b(a,b){1j(1d c=1a.5WV(a),d=[],e=1a.3iQ(a),f=0;f<a.1h;f++){1d h=a[f];if(0!==h.2r.1hF){2K.8n(h.1zH)||(h.1zH=[h.1zH]);1d l=h.5WY;if(!g(l))1W;0===1a.19C&&34===1a.16A&&(1a.19S.5X1=1,1a.19S.5X0=1,l=[h.1zH[0]]);if(1<l.1h){wa.2BS!==h.1I&&wa.1wL!==h.1I&&wa.2NZ!==h.1I&&wa.2BT!==h.1I&&wa.2dY!==h.1I&&wa.2BW!==h.1I&&wa.2BY!==h.1I&&wa.2BV!==h.1I&&wa.2BX!==h.1I&&wa.2O0!==h.1I&&wa.2wc!==h.1I||l.1q(l[0]);1j(1d p=[],n=[],m=[],w=0;w<l.1h;w++){1d x=l[w];11I(x.x)||11I(x.y)||(g(1a.8L)&&g(1a.8L.2R)&&1a.8L.2R.3z===O.10j&&(b=0,x.z=0),c&&0!==1a.19C?n.1q(1g Ya(x.x,x.y,x.z)):48===1a.16A||24===1a.16A||32===1a.16A?n.1q(1g Ya(x.x,x.y,x.z)):(x=1g Ya(x.x,x.y,b),n.1q(1g Ya(x.x,x.y,b))),p.1q(k.8g(x.x,x.y,x.z)),0<1a.22N&&m.1q(x.z+.1))}l=1a.16o.22I;if(h.2r&&h.2r.7UV)1j(w=1a.4Ja(n,p,e,h.2r.1LO),x=0;x<w.1h;x++)w[x]&&d.1q(w[x]);if(Iw.4J0!==1a.16o.22I)1j(w=1a.4Ja(n,p,e,l),x=0;x<w.1h;x++)w[x]&&d.1q(w[x]);if(1!==1a.16o.29d||h.2r.2Ce&&h.2r.4K||0===h.2r.15b&&h.2r.2Ce)wa.2BS===h.1I||wa.1wL===h.1I||wa.2NZ===h.1I||wa.2BT===h.1I||wa.2dY===h.1I||wa.2BW===h.1I||wa.2BY===h.1I||wa.2BV===h.1I||wa.2BX===h.1I||wa.2O0===h.1I||wa.2wc===h.1I||wa.4Jb===h.1I?1a.4J8(p,h.2r):ha.5WZ(1a)&&1a.4J8(p,h.2r);n=1a.16o.1gc;h.2r.3ud?(l=ha.3uh(h.2r.1A),l.2O=h.2r.7UU):(l=1a.16o.1hu,l.2O=1a.16o.1n8);h=nF.3jZ({19C:1a.19C,16A:1a.16A});h.1A&&(l=ha.3uh(h.1A),l.2O=1a.16o.1n8);h=1a.41P(p,n,l);1F!==h&&d.1q(h);0<1a.22N&&1<p.1h&&(l=1a.16o.1N6,1a.5WQ(p,m,1g y(l.5r,l.5t,l.5G,1-1a.16o.29c/100)))}1s 1===l.1h&&34===h.1I&&1a.41t(h,b);1a.4IH()}}1f d};Sd.1i.3iQ=1b(a){1d b=0,c=0,d=180,e=180,f=!1;g(a)||(a=1a.19S.1bw,f=!0);1j(1d h=0;h<a.1h;h++){1d l=a[h];if(0!==l.2r.1hF){2K.8n(l.1zH)||(l.1zH=[l.1zH]);1d k=nF.4lx(l.1I,l.1zH);l.5WY=k;if(g(k))1j(l=0;l<k.1h;++l)k[l].x<d&&(d=k[l].x),k[l].y<e&&(e=k[l].y),k[l].x>b&&(b=k[l].x),k[l].y>c&&(c=k[l].y)}}1a.3iE=1g Ya((b+d)/2,(e+c)/2,0);a=b-d;h=c-e;1f f?{x:d+a/2,y:e,z:0,1ey:b,1ex:c,1cW:d,1cV:e}:a>=h?a:h};Sd.1i.4Ja=1b(a,b,c,d){b=[];1d e=[],f=[],h=1a.15Z.22K;6U(d){1S Iw.5WX:1d g=1a.16o.1Nd/2+1a.16o.1gc/2;1a.41O&&(g=1a.2Ok*c);c=ha.41Q(a,g);1j(d=0;d<c.1h;++d)e.1q(1g k.8g(c[d].x,c[d].y,c[d].z));c=ha.41Q(a,-g);1j(a=c.1h-1;0<=a;--a)f.1q(1g k.8g(c[a].x,c[a].y,c[a].z));g=1a.16o.1Nd;1W;1S Iw.4J9:1S Iw.5WW:g=1a.16o.1Nd/2+1a.16o.1gc/2;1a.41O&&(g=1a.2Ok*c);d===Iw.4J9&&(g=-g);c=ha.41Q(a,g);1j(d=0;d<c.1h;++d)e.1q(1g k.8g(c[d].x,c[d].y,c[d].z));g=1a.16o.1Nd}if(2>e.1h)1f b;b.1q(1a.41P(e,g,h,!0));2<=f.1h&&b.1q(1a.41P(f,g,h,!0));1f b};Sd.1i.4J8=1b(a,b){a=tc.25R({3q:a,16U:!1a.4J3});b.2Ce?b=g(b.1b5)?ha.3uh(b.1b5):b.1A?y.1y(ha.3uh(b.1A)):y.1y(1a.16o.1hu):(b=y.1y(1a.16o.1N6),b.2O=1-1a.16o.29c/100);a=tc.14t(a);a=1g yb({3y:a,id:1a.id});a.2Cj=b.22A();a.7UT=1a.16o.29e.22A();1a.2ho.1q(a)};Sd.1i.7US=1b(){1d a=1a.3ug.1G=100,b=1a.3ug.1D=100;1a.13e=1a.3ug.1ft("2d");1d c=1F;6U(1a.16o.22L){1S 1:c=1a.13e.4IW(0,0,a,b);1W;1S 2:c=a/2,b/=2,a/=4,c=1a.13e.5WF(c,b,a,c,b,2*a)}c.3ue(0,1a.16o.1N6.1fY());c.3ue(1,1a.16o.29e.1fY());1a.13e.15b=c;1a.13e.1ZB(0,0,100,100);1f 1a.3ug};Sd.1i.5WV=1b(a){1j(1d b=!0,c=0;c<a.1h;c++)1j(1d d=a[c],e=0;e<d.1zH.1h;e++)if(1p 0===d.1zH[e].z){b=!1;1W}1f b};Sd.1i.4J7=1b(){0===1a.1zF.1h&&1a.19S&&(1a.1zF=4H.5N(4H.8s(1a.19S.1VG)));1j(1d a=0;a<1a.1zF.1h;a++)1a.1Zv(1a.1zF[a],a)};Sd.1i.1Zv=1b(a,b){1d c=1a,d=Te.1tm().25X(a.19C,a.16A);if(g(d)&&1F!==d){1d e=[];if(!g(d.1H1))1f;1j(1d f=0;f<d.1H1.1h;f++)d.1H1[f].2hj||e.1q(d.1H1[f]);d.1H1=e;a.4J6=d;c.19S.1VG[b]=a;c.9s=!1;1f!0}if(d=nF.1Zv(a.19C,a.16A))d.1Zu.13U.on({2ly:1b(d){d=d.4D;1d e=[];if(g(d.1H1)){1j(1d f=0;f<d.1H1.1h;f++)d.1H1[f].2hj||e.1q(d.1H1[f]);d.1H1=e;a.4J6=d;c.19S.1VG[b]=a;c.9s=!1;1f!0}},2lx:1b(a){},1A9:1a}),d.1Zu.2lw(d.2HM)};Sd.1i.2HG=1b(a,b){if(1p 0===a)1f 0;1d c=1a.8L.2R;a=k.8g(a.x,a.y,a.z);a=ic.1yu(c,a);if(!g(a))1f 0;b=1g C(a.x,a.y+b);a=ha.4J5(c,a);c=ha.4J5(c,b);1f ha.3s(a,c)};Sd.1i.5WU=1b(){1a.2pQ&&0===1a.19S.19C&&5WT===1a.19S.16A&&(1a.19S.1jw=0,1a.19S.21z=360);if(0===1a.19S.19C&&5WS===1a.19S.16A){g(1a.19S.3L)||(1a.19S.3L=[]);1d a=1a.15O;1a.19S.3L.1h<a.1h&&(a=1a.2HG(a[0],1a.19S.7UR),1a.19S.3L.1q(a))}};Sd.1i.41t=1b(a,b){if(g(a.8S)&&1F!==a.8S){0!==a.8S.1h||g(1a.8S)&&0!==1a.8S.1h||(1a.8S="7UQ");0!==a.8S.1h&&(1a.8S=a.8S);1d c=1a.8S;a=k.8g(a.1zH[0].x,a.1zH[0].y,b);b=1a.16p;1d d=1g y(b.1pM.5r,b.1pM.5t,b.1pM.5G,b.1pM.2O);1a.1AC&&(d=1g y(0,1,0,1));ke.5WR(1a,0===1a.19C&&34===1a.16A?{2r:b.8Y?qe.1R0:qe.1LX,5M:b.5M,5R:b.5R,1K:a,3l:c,9O:b.1xt+"px "+b.1GX,1b5:d,15P:oc.1dq,id:1a.7R}:{1K:a,3l:c,9O:1a.19S.2pP+"px "+b.1GX,1b5:y.1a7,15P:oc.1dq})}};Sd.1i.5WQ=1b(a,b,c){1d d=[],e=1k.2o.6c({},b);e=e>1a.22N?e-1a.22N:0;1j(1d f=0;f<b.1h;f++)d.1q(e);a=1g tl({3q:a,1lC:b,1lB:d});a=tl.14t(a);g(a)&&(b=Qb.1dc({2O:0,5r:1,5t:1,5G:0}),a=1g yb({3y:a,2w:{1A:b},id:1a.id}),a.2Cj=c.22A(),1a.2hn.1q(a))};1L.2X(Sd.1i,{1VG:{1n:1b(){1f 1a.1zF}}});Sd.1i.7UP=1b(a,b){if(0===1a.19S.1VG.1h&&0===1a.19C&&4J4!==1a.16A||a===1a.1zF[b])1f!1;1a.2pQ=!0;1a.1zF[b]=a;1a.9s=!1;1f!0};Sd.1i.41P=1b(a,b,c,d){1a.41N=[];if(!1a.4J3||1a.1Ev||1a.1AC){if(1a.41O)1f c={1G:b,3q:a,2q:va.1kk(va.1oL,{1A:c}),id:1a.id},ke.4It(1a,c,d),c;a=1g Mr({1Ng:a,1VL:[1g C(-.5*b,-.5*b),1g C(.5*b,-.5*b),1g C(.5*b,.5*b),1g C(-.5*b,.5*b)],1b8:2});a=Mr.14t(a);if(!g(a))1f 1F;c=1g yb({3y:a,id:1a.id,2w:{1A:c}});d&&(c.5WO=!0);1f c}1a.5WP(a,b,c,d);1a.41N=a;1f 1F};Sd.1i.5WP=1b(a,b,c,d){b=1E5*1a.2HG(1a.15O[0],b);a=1g jk({9S:za.1Gd,3q:a,1G:b});c=1g yb({3y:a,2w:{1A:Qb.1dc(c)},id:1a.7R});d&&(c.5WO=!0);1a.41M.1q(c)};Sd.1i.1sm=1b(){1a.4J2();ke.41r(!0)};Sd.1i.4J2=1b(){ke.4Ix(1a);ke.5WN(1a);1a.2ho=[];1a.2hn=[];1a.41M=[];1a.4J1(1a.id)};Sd.1i.4J1=1b(a){ke.5WM(a,1a.2ho);ke.5WL(a,1a.2hn);ke.5WK(a,1a.41M)};Sd.1i.1y=1b(){1d a=1g Sd({7r:1a.8L,19C:1a.1aF,16A:1a.1bq,15O:1a.15O,1Eu:1a.1yv});a.1aF=4H.5N(4H.8s(1a.1aF));a.1bq=4H.5N(4H.8s(1a.1bq));a.16v=4H.5N(4H.8s(1a.16v));a.1dB=4H.5N(4H.8s(1a.1dB));a.1n2=4H.5N(4H.8s(1a.1n2));a.7R=4H.5N(4H.8s(1a.7R));a.9s=4H.5N(4H.8s(!1));a.1AC=4H.5N(4H.8s(1a.1AC));a.38v=4H.5N(4H.8s(1a.38v));a.2pV=4H.5N(4H.8s(1a.2pV));a.1af=nF.2wI(1a.15O);a.16o=1a.16o.1y();a.16p=1a.16p.1y();a.1yv=4H.5N(4H.8s(1a.1yv));a.2Oj=4H.5N(4H.8s(1a.2Oj));a.22P=4H.5N(4H.8s(1a.22P));a.22N=4H.5N(4H.8s(1a.22N));a.1VI=4H.5N(4H.8s(1a.1VI));a.1qu=4H.5N(4H.8s(1a.1qu));a.2Oh=4H.5N(4H.8s(1a.2Oh));a.1zF=4H.5N(4H.8s(1a.1zF));a.7UO=4H.5N(4H.8s(1a.2pQ));a.3u9=!0;a.2C4=4H.5N(4H.8s(1a.2C4));1f a};Fy.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(2==a.1h&&ha.1ZL(a[0],a[1])||a.1h<1a.19k)1f 1F;a=ha.41L(a[0],a[1],a[2]);a.2Ch*=1k.PI/180;a.2Cg*=1k.PI/180;a=ha.3uf(a.1u3,a.2Ci,a.2Ci,0,a.2Ch,a.2Cg);1d b;0!==a.1h&&(b=1g nf({5I:a,17D:wa.2lV}));1f b};Fy.1i.1ts=1b(){1f 1a.19k};Fy.1i.1uZ=1b(){1f 1a.1fr};Fy.1i.1tr=1b(){1f 1a.16v};Gy.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(a.1h<1a.19k)1f 1F;a=ha.41L(a[0],a[1],a[2]);a.2Ch*=1k.PI/180;a.2Cg*=1k.PI/180;1d b=ha.3uf(a.1u3,a.2Ci,a.2Ci,0,a.2Ch,a.2Cg);b.1q(a.1u3);b.1q(b[0]);1d c;0!==b.1h&&(c=1g nf({17D:wa.1wL,5I:b}));1f c};Gy.1i.1uZ=1b(){1f 1a.1fr};Gy.1i.1ts=1b(){1f 1a.19k};Gy.1i.1tr=1b(){1f 1a.16v};Hy.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(a.1h<1a.19k)1f 1F;a=ha.3kb(a);a=ha.3ka(a);a=ha.2If(a);1f 1g nf({5I:a,17D:wa.2lV})};Hy.1i.1uZ=1b(){1f 1a.1fr};Hy.1i.1ts=1b(){1f 1a.19k};Hy.1i.1tr=1b(){1f 1a.16v};Iy.1i.1uZ=1b(){1f 1a.1fr};Iy.1i.1ts=1b(){1f 1a.19k};Iy.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(a.1h<1a.19k)1f 1F;1d b=ha.3s(a[0],a[2]);1d c=ha.3s(a[0],a[1]);1d d=ha.1Te(a[0],a[1]);a=ha.3uf(a[0],c,b,d,0,2*1k.PI);a.1q[a[0].1y()];1f 1g nf({17D:wa.1wL,5I:a})};Iy.1i.1tr=1b(){1f 1a.16v};Jy.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(a.1h<1a.19k)1f 1F;a.1h>1a.1fr&&a.6z(3,a.1h-3);1j(1d b=1g k(a[0].x+(a[2].x-a[1].x),a[0].y+(a[2].y-a[1].y),0),c=[],d=0;d<a.1h;++d)c.1q(a[d].1y());c.1q(b);c.1q(c[0].1y());1f 1g nf({17D:wa.1wL,5I:c})};Jy.1i.1uZ=1b(){1f 1a.1fr};Jy.1i.1ts=1b(){1f 1a.19k};Jy.1i.1tr=1b(){1f 1a.16v};Ky.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;1d b=a.5I;if(b.1h<1a.19k)1f 1F;a=1g C(b[0].x,b[0].y);1d c=1g C(b[1].x,b[1].y);b=a.1y();1d d=1g C(c.x,a.y),e=c.1y();a=1g C(a.x,c.y);a=[b,d,e,a,b.1y()];1f 1g nf({5I:a,17D:wa.1wL})};Ky.1i.1uZ=1b(){1f 1a.1fr};Ky.1i.1ts=1b(){1f 1a.19k};Ky.1i.1tr=1b(){1f 1a.16v};JC.1i.1uZ=1b(){1f 1a.1fr};JC.1i.1ts=1b(){1f 1a.19k};JC.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(2==a.1h&&ha.1ZL(a[0],a[1])||a.1h<1a.19k)1f 1F;a=ha.5WJ(a);1f 1g nf({5I:a,17D:wa.1wL})};JC.1i.1tr=1b(){1f 1a.16v};Ly.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(1F===a||a.1h<1a.19k)1f 1F;a.1h>1a.1fr&&a.6z(2,a.1h-1a.1fr);1d b=ha.3s(a[0],a[1]);a=ha.2HB(b,a[0]);1f 1g nf({17D:wa.1wL,5I:a})};Ly.1i.1uZ=1b(){1f 1a.1fr};Ly.1i.1ts=1b(){1f 1a.19k};Ly.1i.1tr=1b(){1f 1a.16v};My.1i.1uZ=1b(){1f 1a.1fr};My.1i.1ts=1b(){1f 1a.19k};My.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(2==a.1h&&ha.1ZL(a[0],a[1])||a.1h<1a.19k)1f 1F;a=ha.41L(a[0],a[1],a[2]);a.2Ch*=1k.PI/180;a.2Cg*=1k.PI/180;a=ha.3uf(a.1u3,a.2Ci,a.2Ci,0,a.2Ch,a.2Cg);a.1q(a[0].1y());1f 1g nf({5I:a,17D:wa.1wL})};My.1i.1tr=1b(){1f 1a.16v};1L.2X(wg.1i,{1VJ:{1n:1b(){1f 1a.12u},1C:1b(a){1a.12u=a}}});wg.1i.41B=1b(a){if(!g(1a.12u))1f 1F;1F!==1a.12u.1vL&&""!==1a.12u.1vL&&(1a.2hl=1a.13e.2FH(1a.12u.1vL).1G);1a.1wD=0!==1a.2hl?1a.12u.16p.1xt:0;1a.41H=a;a=1a.4IY();1a.4IZ(a);a=1a.10C.3ma("4d/12H");1a.2hm=0;1f{4d:a,41J:1a.29h}};wg.1i.4IY=1b(){1a.5Wz();1d a=[],b=1a.12u.41w;1a.41x=1a.12u.16o.1gc;1j(1d c=1a.5WA(b),d=0;d<b.1h;d++){1d e=b[d];if(!e.2hj||Iw.4J0!==1a.1VJ.15Z.1LO){1j(1d f=[],h=0;h<e.1zH.1h;h++){1d g=1g C(e.1zH[h].x,e.1zH[h].y);g.y=-g.y+c+1a.41x;1a.4IU()&&1a.41F&&0!==1a.2hl&&(g.y+=1a.1wD/1a.1oM);g.x+=1a.2hm;f.1q(g)}a.1q(1a.4IN({5I:f,2hk:e,2r:e.2r,1I:e.1I,4p8:e.2hj}))}}1f a};wg.1i.4IZ=1b(a){1j(1d b=0,c=[],d=[],e=[],f,h=0,g=0;g<a.1h;g++){1d k=a[g].5I;wa.1LH===a[g].1I&&(e.1q(k[0]),h=a[g].2hk.8S.1h,f=a[g].2hk.2Ca,f=f.38q*f.1Em*.7,k[0].y<f/2&&(1a.41K=f));1j(1d n=0;n<k.1h;n++)0!==1a.41K&&(k[n].y+=1a.41K),c.1q(k[n].x),d.1q(k[n].y)}g=1k.1V.6c({},c);d=1k.1V.6c({},d);k=1k.2o.6c({},c);c=(g+3)/2;1j(n=0;n<e.1h;n++){g-e[n].x<f/2&&(b=h*f/2);1d m=e[n].y-f/2;1a.4IV=0>m?f/2-m:0<=e[n].y-d?-f/2:f/2}1a.41J=!1;1a.41I&&(1a.41I=!1,8>1k.abs(k)&&(1a.29h=1a.41J=!0,1a.12u.3Lt=!0));if(1a.41J)1a.2hm=g-k+3/1a.1oM,0!==1a.2hl&&(1a.2hm+=2*1a.2hl/1a.1oM),1a.41B(1a.41H);1s if(0>k)1a.2hm=-k+3/1a.1oM,0!==1a.2hl&&(1a.2hm+=2*1a.2hl/1a.1oM),1a.4IZ(1a.4IY());1s{1a.1VK=(g-k)*1a.1oM;1a.5WI(g,d,k,b,3);if(1a.12u.2pU)1j(b=0;b<a.1h;b++)1j(e=0;e<a[b].5I.1h;e++)h=a[b].5I[e],h.x=2*c-h.x,a[b].5I[e]=h;1a.5WE(a);1a.41I=!0}};wg.1i.5WI=1b(a,b,c,d,e){1a.5WH=(a+d)*1a.1oM+2*e;1a.4IX=b*1a.1oM+2*e;1a.41F&&(1a.4IX=(b-1a.1wD/1a.1oM)*1a.1oM+2*e);a=1a.5WH+2*1a.2hl;b=1a.4IX;1a.4IU()&&0!==1a.2hl&&(b+=1a.1wD);1a.10C.8m("1G",a);1a.10C.8m("1D",b)};wg.1i.5WD=1b(a){1d b=a.5I;a=a.2hk.2r;1a.13e.1Ja();1a.13e.1FW(b[0].x*1a.1oM,b[0].y*1a.1oM);1j(1d c=1,d=b.1h;c<d;c++)1a.13e.1bT(b[c].x*1a.1oM,b[c].y*1a.1oM);1a.13e.2xg=a.2xg;1a.13e.2m5(a.41v);1a.13e.1ch=a.19g;1a.13e.11a=a.11a;1a.13e.15n()};wg.1i.2x0=1b(a){1d b=a.5I;a=a.2hk.2r;1a.13e.1Ja();1d c=b[0].x*1a.1oM,d=b[0].y*1a.1oM,e=d,f=d,h=c,g=c;1a.13e.1FW(c,d);1j(c=1;c<b.1h;c++){d=b[c].x*1a.1oM;1d k=b[c].y*1a.1oM;1a.13e.1bT(d,k);k<e&&(e=k);k>f&&(f=k);d>g&&(g=d);d<h&&(h=d)}1a.13e.1bT(b[0].x*1a.1oM,b[0].y*1a.1oM);0===a.4K&&(a.4IF?(b=1a.5WG({3z:1a.12u.16o.22L,2r:a,14S:{1cW:h,1cV:e,1ey:g,1ex:f}}),1a.13e.15b=b):1a.13e.15b=a.15b,1a.13e.4K());1a.13e.2xg=a.2xg;1a.13e.2m5(a.41v);1a.13e.1ch=a.19g;1a.13e.11a=a.11a;1a.13e.26x();1a.13e.15n()};wg.1i.5WG=1b(a){1d b=a.2r,c=a.14S.1cW,d=a.14S.1ey,e=a.14S.1cV,f=a.14S.1ex;6U(a.3z){1S 1:1d h=1a.13e.4IW(c,e,d,f);1W;1S 2:a=d-c,f-=e,c+=a/2,e+=f/2,f=a>f?a/4:f/4,h=1a.13e.5WF(c,e,f,c,e,2*f)}h.3ue(0,b.1sH);h.3ue(1,b.2ha);1f h};wg.1i.1ZP=1b(a){if(!(0>a.5I[0].x||0>a.5I[0].y)){1d b=a.2hk.8S,c=a.2hk.2Ca,d=c.1QV,e=c.38q*c.1Em*1a.1oM*.7;if(!(4>e)){1a.13e.9O=c.1M4?"1M4 "+e+"px "+d:c.1VC?"1VC "+e+"px "+d:e+"px "+d;1a.13e.1qy="2V";d=c.22G;if("7UN"===d||"7UM"===d||"7UL"===d)1a.13e.1v2="1y1";1a.13e.15b=1a.12u.22S(c.1QW);1a.13e.2m4(b,a.5I[0].x*1a.1oM,(a.5I[0].y+1a.4IV)*1a.1oM)}}};wg.1i.4IN=1b(a){1d b=a.2hk;wa.2BW===b.1I?(b=(1g Ky).1m4(a),a.5I=b.5I):wa.2BV===b.1I?(b=(1g Iy).1m4(a),a.5I=b.5I):wa.2dY===b.1I?(b=(1g Ly).1m4(a),a.5I=b.5I):wa.2BU===b.1I?(b=(1g Hy).1m4(a),a.5I=b.5I):wa.2BR===b.1I?(b=(1g Fy).1m4(a),a.5I=b.5I):wa.2BY===b.1I?(b=(1g Jy).1m4(a),a.5I=b.5I):wa.2BT===b.1I?(b=(1g Gy).1m4(a),a.5I=b.5I):wa.2BX===b.1I?(b=(1g 5fr).1m4(a),a.5I=b.5I):wa.2BS===b.1I&&(b=(1g My).1m4(a),a.5I=b.5I);1f a};wg.1i.5WE=1b(a){1j(1d b=0;b<a.1h;b++){1d c=a[b],d=c.2hk;1a.41H?wa.1LH===d.1I&&1a.1ZP(c):wa.2lV===d.1I||wa.2BU===d.1I||wa.2BR===d.1I?1a.5WD(c):wa.1LH===d.1I?1a.1ZP(c):1a.2x0(c)}1F!==1a.12u.1vL&&""!==1a.12u.1vL&&1a.5WC();g(1a.12u.8L.2Og)&&(1a.41H||1a.12u.id!==1a.12u.8L.2Og.id||1a.41D())};wg.1i.5WC=1b(){1d a=1F,b=1a.1wD,c=(1a.10C.1G-1a.1VK)/2,d=(1a.10C.1G+1a.1VK)/2,e=1a.10C.1D;1a.12u.1r1===hg.1Mj?(a={x:c,y:e/2,1qy:"2W",1v2:"1y1"},1a.29h&&(a.x=1a.10C.1G/2)):1a.12u.1r1===hg.1Dh?(a={x:d,y:e/2,1qy:"3B",1v2:"1y1"},1a.29h&&(a.x=1a.10C.1G/2+1a.1VK)):1a.12u.1r1===hg.Up?(a={x:1a.10C.1G/2,y:b/2,1qy:"2V",1v2:"1y1"},1a.29h&&(a.x=(1a.10C.1G+1a.1VK)/2)):1a.12u.1r1===hg.4IT?a={x:1a.10C.1G/2,y:e-b/2,1qy:"2V",1v2:"1y1"}:1a.12u.1r1===hg.41G?a={1qy:"2V",1v2:"1y1"}:1a.12u.1r1===hg.4IP?(a={x:c,y:b/2,1qy:"2W",1v2:"1y1"},1a.29h&&(a.x=1a.10C.1G/2)):1a.12u.1r1===hg.4IR?(a={x:c,y:e-b/2,1qy:"2W",1v2:"1y1"},1a.29h&&(a.x=1a.10C.1G/2)):1a.12u.1r1===hg.4IQ?(a={x:d,y:b/2,1qy:"3B",1v2:"1y1"},1a.29h&&(a.x=1a.10C.1G/2+1a.1VK)):1a.12u.1r1===hg.4IS&&(a={x:d,y:e-b/2,1qy:"3B",1v2:"1y1"},1a.29h&&(a.x=1a.10C.1G/2+1a.1VK));1a.5WB(a)};wg.1i.5WB=1b(a){1d b=1a.12u.1vL,c=1a.12u.16p,d=c.1QV,e=c.1xt;1a.13e.9O=c.1M4?"1M4 "+e+"px "+d:c.1VC?"1VC "+e+"px "+d:e+"px "+d;1a.13e.1qy=a.1qy;1a.13e.1v2=a.1v2;c.1ln?(1a.13e.1ch=1a.12u.22S(c.16O),1a.13e.3kM(b,a.x,a.y)):(1a.13e.15b=1a.12u.22S(c.1QW),1a.13e.2m4(b,a.x,a.y))};wg.1i.41D=1b(){1d a=1a.12u.16o.1gc,b=(1a.10C.1G-1a.1VK)/2,c=(1a.10C.1G+1a.1VK)/2,d=1a.1wD;1a.3iS&&(d=0);1a.13e.1Ja();1a.29h?1a.12u.2pU?(1a.13e.1FW(a/2,a/2),1a.13e.1bT(a/2,1a.10C.1D-a/2),1a.13e.1bT(1a.10C.1G/2+a,1a.10C.1D-a/2),1a.13e.1bT(1a.10C.1G/2+a,a/2),1a.13e.1bT(a/2,a/2)):1a.3iT||1a.3iS?(1a.13e.1FW(1a.10C.1G/2-a,a/2),1a.13e.1bT(1a.10C.1G/2-a,1a.10C.1D-a/2-d),1a.13e.1bT(1a.10C.1G/2+1a.1VK,1a.10C.1D-a/2-d),1a.13e.1bT(1a.10C.1G/2+1a.1VK,a/2),1a.13e.1bT(1a.10C.1G/2-a/2,a/2)):(1a.13e.1FW(1a.10C.1G/2-a,a/2+d),1a.13e.1bT(1a.10C.1G/2-a,1a.10C.1D-a/2),1a.13e.1bT(1a.10C.1G/2+1a.1VK,1a.10C.1D-a/2),1a.13e.1bT(1a.10C.1G/2+1a.1VK,a/2+d),1a.13e.1bT(1a.10C.1G/2-a/2,a/2+d)):1a.3iT?(1a.13e.1FW(b-a,a/2),1a.13e.1bT(b-a,1a.10C.1D-a/2-d),1a.13e.1bT(c,1a.10C.1D-a/2-d),1a.13e.1bT(c,a/2),1a.13e.1bT(b-a,a/2)):(1a.13e.1FW(b-a,a/2+d),1a.13e.1bT(b-a,1a.10C.1D-a/2),1a.13e.1bT(c,1a.10C.1D-a/2),1a.13e.1bT(c,a/2+d),1a.13e.1bT(b-a,a/2+d));1a.13e.1ch="15A(255, 255, 0, 255)";1a.13e.11a=3;1a.13e.2m5([]);1a.13e.26x();1a.13e.15n()};wg.1i.41C=1b(){g(1a.10C)||(1a.10C=3n.4O("3M"),1a.10C.1G=1a.1VH.x,1a.10C.1D=1a.1VH.y);1a.13e=1a.10C.1ft("2d");1a.13e.2lF(0,0,1a.10C.1G,1a.10C.1D);1a.13e.3b(1a.1oM,1a.1oM)};wg.1i.5WA=1b(a){1j(1d b=[],c=0;c<a.1h;c++)1j(1d d=a[c],e=0;e<d.1zH.1h;e++)b.1q(d.1zH[e].y);1f 1k.1V.6c({},b)};wg.1i.5Wz=1b(){1d a=1;1a.1VH=1g C(1a.12u.1xs.x,1a.12u.1xs.y);1d b=1a.12u.5Wy;0<b.x&&0<b.y&&(a=1a.1VH.x/b.x,b=1a.1VH.y/b.y,a=a>b?a:b);1a.1oM=1a.12u.13V.x*a*.5};wg.1i.4IU=1b(){1a.3iS=1a.3iT=1a.41F=!1;1d a;if(a=0===1a.12u.1vL.1h)a=1a.12u.1vL,a=1F===a||"7w"===2h a||""===a?!0:a.141(/^[ ]+$/);if(a)1f!1;if(1a.12u.1r1===hg.4IT||1a.12u.1r1===hg.4IS||1a.12u.1r1===hg.4IR)1f 1a.3iT=!0;if(1a.12u.1r1===hg.Up||1a.12u.1r1===hg.4IQ||1a.12u.1r1===hg.4IP)1f 1a.41F=!0;if(1a.12u.1r1===hg.1Mj||1a.12u.1r1===hg.1Dh)1a.3iS=!0;1f!1};1L.2X(Fo.1i,{1VJ:{1n:1b(){1f 1a.12u},1C:1b(a){1a.12u=a}}});Fo.1i.5Wl=1b(){if(g(1a.12u)){if(-1===1a.12u.29g){1d a=1a.12u.8L.2R.3w.1K,b=k.8g(1a.12u.15O[0].x,1a.12u.15O[0].y,1a.12u.15O[0].z);a=ha.5Wx(a,b);1a.12u.29g=a/1E3}1a.4a=ha.4IO(1a.12u.15O[0],1a.12u.25T,1a.4a);1f 1a.41E()}};Fo.1i.41E=1b(){1d a=1a.12u.1Nf,b=[],c,d=[],e=[],f=[],h=[];1a.4IL=!1;1j(1d l=0;l<a.1h;l++){1d p=a[l];if(!p.2hj||0!==1a.12u.15Z.1LO){1d n=1a.12u.1Zt.4IN({2hk:p,5I:p.1zH}).5I;wa.2lV!==p.1I&&wa.2BU!==p.1I&&wa.2BR!==p.1I&&wa.1LH!==p.1I&&n.1q(n[0]);if(wa.1LH===p.1I)1a.4IL=!0;1s{1d m=[];1j(c=0;c<n.1h;c++){1d w=1g C(n[c].x,n[c].y);w=1a.4IM(w,1a.4a);m.1q(1g k(w.1K.x,w.1K.y,w.1K.z));f.1q(n[c].x);h.1q(n[c].y);e.1q(w.8r.y);d.1q(w.8r.z)}c=1g lk({3q:m,5fp:za.1Gd,1G:1a.12u.15Z.11a});w=lk.14t(c);if(g(w)){c=p.2hj&&0!==1a.12u.15Z.1LO?1a.12u.15Z.22J:1a.12u.15Z.19g;if(a[l].3ud){1d x=a[l].2r.19g;c=1g y(x.5r/255,x.5t/255,x.5G/255,x.2O/255)}a[l].2Ce&&!p.2hj&&(a[l].3uc?(x=a[l].2r.1sH,p=1g y(x.5r/255,x.5t/255,x.5G/255,x.2O/255)):p=c,1a.5Ww(n,m,p,1a.12u.id));n=1g yb({3y:w,id:1a.12u.id,2w:{1A:Qb.1dc(c)}});b.1q(n)}}}}a=1k.1V.6c({},d);d=1k.2o.6c({},d);l=1k.1V.6c({},e);e=1k.2o.6c({},e);0>e&&(l-=e);0>d&&(a-=d);1a.4jA=a>l?a:l;1a.5Wt(f,h);1f b};Fo.1i.5Ww=1b(a,b,c,d){1d e=[],f=[];a=ha.5Wv(a);if(!a||3>a.1h)1f 1F;1j(1d h=0;h<a.1h;h+=3){f[0]=b[a[h]];f[1]=b[a[h+1]];f[2]=b[a[h+2]];1d g=1a.5Wu(f,c,d);g&&e.1q(g)}if(0===e.1h)1f 1F;b=1g va.1kk("1aV",{1A:c,4K:!0});e=1g Kb({13g:e,161:1g xe({2q:b,3iO:!0}),2p:1a.1n2,17X:!1});e.2HA=1a.12u.8L;1a.12u.7h.1q(e)};Fo.1i.5Wu=1b(a,b,c){a=1g bo(a,[]);a=1g tc({1ga:a,16U:!0});1f(a=tc.14t(a))?1g yb({3y:a,id:c}):1F};Fo.1i.5Ws=1b(a,b){1d c=[],d=[],e=1k.1V.6c({},a);a=1k.2o.6c({},a);1d f=1k.1V.6c({},b),h=1k.2o.6c({},b);b=(0>h?f-h:f)*1a.12u.25V*1a.12u.29g;d.1q(1g C(a,h));d.1q(1g C(e,h));e=[];a=[];1j(f=0;f<d.1h;f++)h=1a.4IM(d[f],1a.4a).1K,c.1q(1g k(h.x,h.y,h.z)),e.1q(1a.12u.15O[0].z+b),a.1q(1a.12u.15O[0].z);1f{5Wr:c,5Wq:e,5Wp:a}};Fo.1i.4IM=1b(a,b){1d c=1g k,d=1g k,e=1a.12u.25V*1a.12u.29g;d=k.4g(1g k(-1,-a.x,a.y),e,d);c=A.8P(b,d,c);1f{1K:c,8r:d}};Fo.1i.5Wt=1b(a,b){if(1a.4IL){a=1a.5Ws(a,b);a=1g tl({3q:a.5Wr,1lC:a.5Wq,1lB:a.5Wp});a=tl.14t(a);if(!a)1f 1F;a=1g yb({3y:a,id:1a.12u.id});b=1a.12u.1Zt.41B(!0);b=1g va.1kk("1ar",{4d:b.4d});a=1g Kb({13g:[a],161:1g xe({2q:b}),2p:1a.1n2,17X:!1});a.2HA=1a.12u.8L;1a.12u.7h.1q(a)}};1L.2X(Ny.1i,{1VJ:{1n:1b(){1f 1a.12u},1C:1b(a){1a.12u=a}}});Ny.1i.5Wo=1b(a){1d b=1a.12u.1FG.x,c=1a.12u.1FG.y;1a.10C.8m("1G",b+6);1a.10C.8m("1D",c+6);1a.13e.1DA(a,3,3,b,c);1a.12u.1AC&&1a.41D();1f 1a.10C.3ma("4d/12H")};Ny.1i.41D=1b(){1a.13e.1Ja();1a.13e.1FW(1.5,1.5);1a.13e.1bT(1.5,1a.10C.1D-1.5);1a.13e.1bT(1a.10C.1G-1.5,1a.10C.1D-1.5);1a.13e.1bT(1a.10C.1G-1.5,1.5);1a.13e.1bT(1.5,1.5);1a.13e.1ch="15A(255, 255, 0, 255)";1a.13e.11a=3;1a.13e.26x();1a.13e.15n()};Ny.1i.41C=1b(){g(1a.10C)||(1a.10C=3n.4O("3M"),1a.10C.1G=1a.12u.1FG.x,1a.10C.1D=1a.12u.7UK);1a.13e=1a.10C.1ft("2d");1a.13e.2lF(0,0,1a.10C.1G,1a.10C.1D)};g(1L.6F)&&(ee.1i=1L.6F(Ef.1i),ee.1i.7m=ee);ee.1i.1lY=1b(a){if(!1a.9s||a){1a.2hi=[];1a.5Wk();1a.9s=!0;1d b=1a;1a.7h=[];1a.41w=[];0!==1a.1VI&&(1a.15O[0].z=1a.1VI);1d c=1a.15O[0],d=k.8g(c.x,c.y,c.z);1F===1a.1Zt&&(1a.1Zt=1g wg({1VJ:1a}));6U(1a.1lA){1S jd.1IR:1S jd.2HI:if(jd.1IR===1a.1lA||p9(1a.22R)){if(g(1a.1Nf)&&0!==1a.1Nf.1h)1a.4IG();1s 1f;1a.1lA=jd.1IR;1a.4IK=1a.1Zt.41B();1a.10i=ke.4IJ(1a.41y(1a,d,1a.4IK.4d))}1s{1F===1a.41A&&(1a.41A=1g Ny({1VJ:1a}));1d e=1g 1ar;e.1bv=1a.22R;e.1w2=1b(){b.5Wn=b.41A.5Wo(e);b.10i=ke.4IJ(b.41y(b,d,b.5Wn))}}1W;1S jd.1LI:1d f=1g $b,h=1k.PI/180;f.8q=h*1a.1yt.x;f.12C=h*1a.1yt.y;f.8e=h*1a.1yt.z;h=Da.2Cf("4P","4o");f=Da.1nq(d,f,ba.9y,h);1a.13O=fg.41z({2I:1a.28X,4a:f,3b:1a.25U.x,id:1a.id,2p:!0,1A:1a.5Wm});1a.7h.1q(1a.13O);1W;1S jd.1Zp:1F===1a.3iN&&(1a.3iN=1g Fo({1VJ:1a}));if(g(1a.1Nf)&&0!==1a.1Nf.1h)1a.4IG();1s 1f;f=1a.3iN.5Wl();h=1g hf({11C:!1});1a.4II=1g Kb({13g:f,161:h,17X:!1,1od:!0,2p:1a.1n2});1a.4II.2HA=1a.8L;1a.7h.1q(1a.4II)}1a.41t(c);1a.4IH();a||1a.5Wj()}};ee.1i.41y=1b(a,b,c){1f{id:a.id,2p:a.1ka,1K:b,4d:c,14l:1g C(0,a.1Zt.41x),15P:oc.1dq,16l:fc.1Qm,11p:a.11p}};ee.1i.5Wk=1b(){1F!==1a.10i&&g(1a.10i)&&(ke.2On(1a.10i),1a.10i=1F)};ee.1i.5Wj=1b(){1d a=1a;g(1a.13O)&&1a.13O.9c.4b(1b(b){g(a.8L.2Og)&&a.id===a.8L.2Og.id&&jd.1LI===a.1lA&&a.8L.1n1.4jk(!0)});g(1a.8L.2Og)&&1a.id===1a.8L.2Og.id&&(jd.1IR!==a.1lA&&jd.2HI!==a.1lA||1a.8L.1n1.2Hw(1a),jd.1Zp===a.1lA&&a.8L.1n1.4jj(!0))};ee.1i.4IG=1b(){1j(1d a=0;a<1a.1Nf.1h;a++){1d b=1a.1Nf[a];1d c=1a.5Wi(b,1a.16o);1a.41w.1q({1zH:b.1zH,2hj:b.2hj,2r:c,1I:b.1I,2Ca:b.2Ca,8S:b.8S})}};ee.1i.5Wi=1b(a,b){1d c={};if(a.2hj)c.19g=1a.22S(b.22J),c.11a=1a.29f,c.41v=[];1s{c.11a=1a.1QS;1d d=b.19g;c.19g=1a.22S(d);1d e=y.1y(b.1sH);e.2O=1-b.29b/100;c.15b=1a.22S(e);c.4IF=!1;0!==b.2BM&&(c.4IF=!0,c.1sH=1a.22S(b.1sH),c.2ha=1a.22S(b.2ha));c.4K=b.2pH;e=1a.22C;if(g(e)&&""!==e)6U(e){1S 0:1d f=[];1W;1S 1:f=[20,5];1W;1S 2:f=[2,2];1W;1S 3:f=[10,2,2,2];1W;1S 4:f=[10,2,2,2,2,2]}1s f=[];c.41v=f;a.3ud&&(d=a.2r.19g,c.19g=1a.22S(d));a.41u&&(c.41u=!0);a.3uc&&(f=y.1y(a.2r.1sH),f.2O=a.2r.29b/100,c.15b=1a.22S(f));a.2Ce&&(c.4K=a.2r.2pH,c.2Ce=!0,a.3uc||(d=y.1y(d),d.2O=a.2r.29b/100,c.15b=1a.22S(d)))}c.38x=a.2r.38x;c.2xg=b.7z;1f c};ee.1i.22S=1b(a){1d b=a.2O;if(1<a.5r||1<a.5t||1<a.5G){1d c=8A(a.5r);1d d=8A(a.5t);a=8A(a.5G)}1s c=8A(255*a.5r),d=8A(255*a.5t),a=8A(255*a.5G);1f"15A("+c+","+d+","+a+","+b+")"};1L.2X(ee.1i,{38w:{1n:1b(){1f 1a.3ub},1C:1b(a){a!==1a.3ub&&(1a.3ub=a,1a.9s=!1)}}});ee.1i.7UJ=1b(a){1a.1lA=a};ee.1i.7UI=1b(){1f 1a.1lA};ee.1i.2m8=1b(a){jd.1Zp==1a.1lA?1a.13V=a:jd.1LI==1a.1lA&&(1a.25U=1g Ya(a,a,a))};ee.1i.1sj=1b(){1f jd.1Zp==1a.1lA?1a.13V:jd.1LI==1a.1lA?1a.25U:1g Ya(1,1,1)};ee.1i.7UH=1b(a){jd.1Zp==1a.1lA?1a.1si=a:jd.1LI==1a.1lA&&(1a.1yt=a)};ee.1i.7UG=1b(){if(jd.1Zp==1a.1lA)1f 1a.1si;if(jd.1LI==1a.1lA)1f 1a.1yt};ee.1i.7UF=1b(a){if(jd.1IR===1a.1lA){1d b=1a.1xs;if(b.x!==a.x&&b.y===a.y)a.y=b.y*a.x/b.x;1s if(b.x===a.x&&b.y!==a.y)a.x=b.x*a.y/b.y;1s if(b.x!==a.x&&b.y!==a.y){1d c=a.x/b.x,d=a.y/b.y;c=d>c?d:c;a.x=c*b.x;a.y=c*b.y}1a.1xs=a}};ee.1i.7UE=1b(){if(jd.1IR==1a.1lA)1f 1a.1xs};ee.1i.7UD=1b(){1f 1a.22R};ee.1i.7UC=1b(a){if(0===a.1h)1f!1;1a.22R=a;1f!0};ee.1i.1tr=1b(){1f 1a.1K6};ee.1i.7UB=1b(a,b,c){1a.2C7=1g Ya(a,b,c)};ee.1i.7UA=1b(a,b,c){1a.25T=1g Ya(a,b,c)};ee.1i.41t=1b(a){1d b=1a,c=b.1vL;if(g(c)&&0!==c.1h&&!p9(c)){1d d=b.16p,e=oc.1hc,f=fc.1dq;11I(d.1xt)&&(d.1xt=20);1d h=d.1xt+"px "+d.1GX,l=d.1pM;b.1r1===hg.Up&&jd.1Zp!==b.1lA&&jd.1LI===b.1lA&&b.13O.9c.4b(1b(d){1d g=k.4g(k.9v(d.2w6.z,d.2w6.x,d.2w6.y),d.3b,1g k);d=k.4g(k.9v(d.2w5.z,d.2w5.x,d.2w5.y),d.3b,1g k);g=k.8g(a.x,a.y,a.z+(0>=g.z?d.z:d.z-g.z));e=oc.1dq;f=fc.1Qm;b.2hi.1q({1K:g,3l:c,9O:h,1b5:l,15P:e,16l:f,id:b.7R});b.8L.22Q=!0})}};ee.1i.1sm=1b(){g(1a.10i)&&1F!==1a.10i&&(ke.2On(1a.10i),1a.10i.1sm(),1a.10i=1F)};ee.1i.1y=1b(){1d a=1g ee({7r:1a.8L,19C:1a.1aF,16A:1a.1bq,15O:1a.1af,1Eu:1a.1yv});a.1aF=4H.5N(4H.8s(1a.1aF));a.1bq=4H.5N(4H.8s(1a.1bq));a.16v=4H.5N(4H.8s(1a.16v));a.1dB=4H.5N(4H.8s(1a.1dB));a.1n2=4H.5N(4H.8s(1a.1n2));a.7R=4H.5N(4H.8s(1a.7R));a.9s=4H.5N(4H.8s(!1));a.1AC=4H.5N(4H.8s(1a.1AC));a.38v=4H.5N(4H.8s(1a.38v));a.2pV=4H.5N(4H.8s(1a.2pV));a.1af=14y.2wI(1a.15O);a.16o=1a.16o.1y();a.16p=1a.16p.1y();a.1yv=4H.5N(4H.8s(1a.1yv));a.2Oj=4H.5N(4H.8s(1a.2Oj));a.22P=4H.5N(4H.8s(1a.22P));a.1VI=4H.5N(4H.8s(1a.1VI));a.1lA=4H.5N(4H.8s(1a.1lA));a.13V=4H.5N(4H.8s(1a.13V));a.1si=4H.5N(4H.8s(1a.1si));a.25U=4H.5N(4H.8s(1a.25U));a.1yt=4H.5N(4H.8s(1a.1yt));a.2HF=4H.5N(4H.8s(1a.2HF));a.2Om=4H.5N(4H.8s(1a.2Om));a.2Cd=4H.5N(4H.8s(1a.2Cd));a.38u=4H.5N(4H.8s(1a.38u));a.22R=4H.5N(4H.8s(1a.22R));a.2pU=4H.5N(4H.8s(1a.2pU));a.2C5=4H.5N(4H.8s(1a.38t));a.22C=4H.5N(4H.8s(1a.22C));a.28X=4H.5N(4H.8s(1a.28X));a.1r1=4H.5N(4H.8s(1a.1r1));a.1QZ=4H.5N(4H.8s(1a.1VH));a.1xs=4H.5N(4H.8s(1a.1xs));a.2Ol=4H.5N(4H.8s(1a.2Ol));a.38s=4H.5N(4H.8s(1a.38s));a.1vL=4H.5N(4H.8s(1a.1vL));a.29f=4H.5N(4H.8s(1a.29f));a.1QS=4H.5N(4H.8s(1a.1QS));a.1Nf=4H.5N(4H.8s(1a.1Nf));a.22O=4H.5N(4H.8s(1a.22O));1f a};1L.2X(wS.1i,{8S:{1n:1b(){1f 1a.1vL}},2ZO:{1n:1b(){1f 1a.1IS}},2Ca:{1n:1b(){1f 1a.1Et}},1QV:{1n:1b(){1f 1a.1Et.1GX}},1QW:{1n:1b(){1f 1a.1Et.1pM}},1wD:{1n:1b(){1f 1a.1Et.1xt}},5R:{1n:1b(){1f 1a.1Et.16n}},5M:{1n:1b(){1f 1a.1Et.16O}},8Y:{1n:1b(){1f 1a.1Et.1ln}}});1d q9=7O.14y=7O.14y||{};rd.1i.5Wh=1b(a,b,c,d){1j(1d e=1a,f=[],h=Te.1tm(),l=0;l<c.1h;l++)f.1q(c[l].1y());1d k=1F;c=1F;if(h.2ZS)c=q9.1Zv(a,b);1s 1f k=e.41s(e,f,h.2HL[a][b]),"1b"===2h d&&d({7n:k}),!0;if(0===c)1f k=1g Sd({7r:1a,19C:a,16A:b,15O:f}),"1b"===2h d&&d({7n:k}),k.1dB=b,1a.19o.1q(k),!0;if(1F!==c){b=h.25X(a,b);if(g(b)&&1F!==b)1f k=e.41s(e,f,b),"1b"===2h d&&d({7n:k}),!0;c.1Zu.13U.on({2ly:1b(b){1d c=b.4D;h.3iV(a,b.4D);k=e.41s(e,f,c);"1b"===2h d&&d({7n:k});1f!0},2lx:1b(a){},1A9:1a});c.1Zu.2lw(c.2HM)}};rd.1i.41s=1b(a,b,c){1d d=1F;c.17D===wa.1lb?d=1g ee({7r:a,19C:c.19C,16A:c.16A,15O:b,1Eu:c}):c.17D!==wa.1lb&&c.17D!==wa.2Hx&&(d=1g Sd({7r:a,19C:c.19C,16A:c.16A,15O:b,1Eu:c}));g(d)&&1F!==d&&a.19o.1q(d);1f d};rd.1i.2H=1b(a,b,c,d){if(1a.1zE&&1a.2C2)1j(1d e in 1a.19o)1a.19o[e].2H(a,b,c,d)};rd.1i.3t=1b(){if(1a.1zE){1j(1d a in 1a.19o)!1===1a.19o[a].9s&&(1a.22Q=!0),1a.19o[a].1lY();1a.22Q&&(ke.41r(!0),1a.22Q=!1)}};rd.1i.7Uz=1b(a,b){1a.1zE&&!1!==1a.2C2&&(1a.19o[a].12F=b)};rd.1i.7Uy=1b(a,b){1a.1zE&&!1!==1a.2C2&&(b 2m 2K&&(b=1g y(b[0],b[1],b[2],b[3])),1a.19o[a].1yF(b))};rd.1i.7Ux=1b(){};rd.1i.2Hy=1b(a){if(!1a.1zE)1f 1F;1j(1d b=0;b<1a.19o.1h;++b)if(a===1a.19o[b].id||1a.19o[b]2m mf&&1a.19o[b].2Hy(a))1f 1a.19o[b]};rd.1i.3La=1b(a){if(!1a.1zE||""===a||!g(a))1f 1F;1j(1d b=0;b<1a.19o.1h;++b)if(a===1a.19o[b].id)1f{7n:1a.19o[b],2P:b};1f 1F};rd.1i.2p1=1b(a){1d b=a.id;if(!g(b))1f!1;1j(1d c=0;c<1a.19o.1h;++c)if(b===1a.19o[c].id)1f!1;a.8L=1a;1a.19o.1q(a);1f!0};rd.1i.7Uw=1b(a){if(1a.1zE)1j(1d b=0;b<1a.19o;++b)if(a===1a.19o[b]){1a.2pO=1a.19o[b];1W}};rd.1i.7Uv=1b(a){1a.1zE&&g(1a.19o[a])&&(1a.2pO=1a.19o[a])};rd.1i.4jo=1b(a){if(1a.1zE)1j(1d b=0;b<1a.19o.1h;++b)if(a===1a.19o[b].7R){1a.2pO=1a.19o[b];1W}};rd.1i.2ZN=1b(a){if(g(a)&&0!==1a.19o.1h)1j(1d b=0;b<1a.19o.1h;b++)if(1a.19o[b]===a||1a.19o[b]2m mf&&1a.19o[b].2Hy(a.id))1f 1a.19o[b].1sm(),1a.19o[b]=1F,1a.19o.6z(b,1),g(1a.1n1)&&(1a.1n1.1fU(),1a.1n1.3Ln.5k()),!0};rd.1i.7f=1b(){if(0!==1a.19o.1h){1j(1d a=0;a<1a.19o.1h;a++)1a.19o[a].1sm();g(1a.1n1)&&(1a.1n1.1fU(),1a.1n1.3Ln.5k());1a.19o=[]}};rd.1i.1M=1b(){1a.6X=1a.2pO=1a.19o=1a.2R=1a.28e=1a.7Uu=1F};rd.1i.4Y=1b(){1a.1n1.1fU();1a.2R.9Q.3S(1a.2i,!0)};rd.1i.7Ut=1b(a){1j(1d b=0;b<1a.19o.1h;++b)a===1a.19o[b].id&&1a.2ZN(1a.19o[b])};rd.1i.1fU=1b(){1a.1zE&&g(1a.2pO)&&!1a.2pO.1AC&&(1a.2pO=1p 0)};rd.1i.7Us=1b(a){if(!a||1>=a.1h)1f 1F;1j(1d b=0;b<a.1h;b++)if(!g(a[b])||1F===1a.3La(a[b].id))1f 1F;1j(b=0;b<a.1h;b++)1a.2ZN(a[b]);a=1g mf(a);1a.19o.1q(a);1f a};rd.1i.5Wg=1b(a){1d b=[],c;1j(c in a.2pT)a.2pT[c]2m mf?b=b.9V(1a.5Wg(a.2pT[c])):b.1q(a.2pT[c]);1f b};rd.1i.4IE=1b(a){if(!(a 2m mf))1f!1;1d b=a.4IE();1a.2ZN(a);1a.19o=1a.19o.9V(b);1f!0};rd.1i.4jd=1b(a,b){1d c=1a.3La(a.1Zn);c&&(1a.19o.6z(c.2P,1),g(1a.1n1)&&(1a.1n1.1fU(),1a.1n1.3Ln.5k()));c=1F;wa.381===8A(a.17D)?(c=1a.4ID(a),c=1g mf(c,a.1Zn)):c=1a.4IC(c,a);1a.19o.1q(c);c.2Cc=a;"1b"===2h b&&b({7n:c})};rd.1i.4ID=1b(a){1d b=[],c=1F;a=a.1zG;1j(1d d in a)wa.381===8A(a[d].17D)?(c=1a.4ID(a[d]),c=1g mf(c,a[d].id)):c=1a.4IC(c,a[d]),b.1q(c);1f b};rd.1i.4IC=1b(a,b){a=8A(b.19C);1j(1d c=8A(b.16A),d=[],e=b.2dq,f=0;f<e.1h;++f){1d h=e[f],l=7L(h.x),k=7L(h.y);h=g(h.z)?7L(h.z):0;d.1q(1g Ya(l,k,h))}c=a=8A(b.17D)===wa.1lb?1g ee({7r:1a,19C:a,16A:c,15O:d}):1g Sd({7r:1a,19C:a,16A:c,15O:d});d=8A(b.17D);c.1dB=d;c.1K6=b.1K6;""!==b.1Zn&&g(b.1Zn)?c.id=b.1Zn:c.id=Ld();c.26n=g(b.26n)?b.26n:!1;c.2Cb=g(b.2Cb)?b.2Cb:0;"1ka"===b.2r.1ka?c.1n2=!0:"1bs"===b.2r.1ka&&(c.1n2=!1);c.2Ok=g(b.41q)?b.41q:.30a;b.22J&&(c.16o.22J=Hs(b.22J));c.8S=b.8S;c.16o.1LO=b.1LO;c.16o.3tR=g(b.41p)?b.41p:3;c.16o.19g=Hs(b.2r.19g);c.16o.2pH=b.2r.2pH;c.16o.1sH=Hs(b.2r.1sH);c.16o.2ha=Hs(b.2r.2ha);c.16o.2BM=b.2r.2BM;c.16o.2NV=b.2r.2NV;c.16o.2NU=b.2r.2NU;c.16o.29b=100-b.2r.29b;c.16o.2NS=b.2r.2NS;c.16o.2NT=b.2r.2NT;c.16o.11a=g(b.2r.4IB)?b.2r.4IB:3;b.3p("38r")&&(c.2Oj=b.38r);if(b.3p("1AE"))1j(e=b.1AE,f=0;f<e.1h;f++)c.22P.1q(1g wS({8S:e[f].1vL,2ZO:e[f].1IS,2Ca:e[f].1Et}));b.1H2?(c.16p.10o=b.1H2.38q,c.16p.1pM=Hs(b.1H2.1QW),c.16p.5M=Hs(b.1H2.2NR),c.16p.8Y=b.1H2.8Y,c.16p.1GX=b.1H2.1QV,c.16p.1QU=b.1H2.1VC,c.16p.22H=b.1H2.1M4,c.16p.2h8=b.1H2.22G,c.16p.1xt=g(b.1H2.1wD)?b.1H2.1wD:20):(c.16p.29a=b.1kE.37Z,c.16p.295=b.1kE.1Gy,c.16p.1ME=b.1kE.2LE,c.16p.292=b.1kE.2NQ,c.16p.1dP=b.1kE.5S,c.16p.291=b.1kE.37Y,c.16p.22H=b.1kE.1M4,c.16p.2h8=b.1kE.22G,c.16p.1QU=b.1kE.1VC,c.16p.290=b.1kE.37X,c.16p.1GX=b.1kE.1QV,c.16p.1ln=b.1kE.8Y,c.16p.22F=b.1kE.3tQ,c.16p.16n=b.1kE.5R,c.16p.10o=b.1kE.38q,c.16p.2BL=b.1kE.37W,c.16p.28Z=b.1kE.2mY,c.16p.28Y=b.1kE.37V,c.16p.7Ur=b.1kE.1Em,c.16p.1QT=b.1kE.2NP,c.16p.16O=g(b.1kE.5M)?Hs(b.1kE.5M):y.9r,c.16p.1xt=g(b.1kE.1wD)?b.1kE.1wD:20,c.16p.1pM=Hs(b.1kE.1QW));wa.1lb===d?(b.2hh&&(c.2C9=1g C(b.2hh.x,b.2hh.y)),b.1QZ&&-1!==b.1QZ.x&&-1!==b.1QZ.y&&(c.1QZ=1g C(b.1QZ.x,b.1QZ.y)),b.1AF&&-1!==b.1AF.x&&-1!==b.1AF.y&&(c.1AF=1g C(b.1AF.x,b.1AF.y)),b.1FG&&-1!==b.1FG.x&&-1!==b.1FG.y&&(c.1FG=1g C(b.1FG.x,b.1FG.y)),b.41o?c.13V=1g Ya(b.41o.x,b.41o.y,b.41o.z):b.38p&&(c.13V=1g Ya(b.38p.x,b.38p.y,b.38p.z)),c.1si=b.41n?1g Ya(b.41n.x,b.41n.y,b.41n.z):1g Ya(1,1,1),b.1H1?c.1Nf=b.1H1:5Wf(b.19C,b.16A,c),b.3ua&&(c.41m=b.3ua),19j(/:/).1f4(b.2pS)||(c.2pS=1p 0===b.2pS?"":b.2pS),19j(/:/).1f4(b.1Eh)||(c.1Eh=1p 0===b.1Eh?"":b.1Eh),b.2C8&&(c.2C8=b.2C8),b.2C7&&(c.2C7=b.2C7),b.25V&&(c.25V=b.25V),b.25T&&(c.25T=b.25T),b.29g&&(c.29g=b.29g),b.2C6&&(c.22O=b.2C6),c.3Ls=b.4IA,c.1VB=g(b.1VB)?b.1VB:3,c.2C5=b.2C5,c.22D=b.2r.22D,c.41l=b.38o,c.4Iz=b.4Iy,c.2Oi=g(b.2Oi)?b.2Oi:3,c.1IP=g(b.41k)?b.41k:jd.1IR):(b.1VG&&(c.1zF=b.1VG),b.2pR&&(c.1qu=b.2pR),b.38n&&(c.22N=b.38n),c.2pQ=b.2pP&&c.2pQ?!1:!0,c.2Oh=b.2pP?b.2pP:0,b.2C3&&(c.2C4=b.2C3));1f a};rd.1i.2nA=1b(a){};rd.1i.2L7=1b(){};1L.2X(rd.1i,{id:{1n:1b(){1f 1a.7R}},12F:{1n:1b(){1f 1a.2C2},1C:1b(a){if(1a.2C2!==a){1a.2C2=a;1j(1d b in 1a.19o)1a.19o[b].12F=a}}},2i:{1n:1b(){1f 1a.6X},1C:1b(a){a!==1a.6X&&(1a.6X=a)}},3MA:{1n:1b(){1f 1a.19o}},2Og:{1n:1b(){1f 1a.2pO}},2lT:{1n:1b(){1f 1a.3iJ},1C:1b(a){a!==1a.3iJ&&(1a.3iJ=a)}},1Pi:{1n:1b(){1f 1a.1LL},1C:1b(a){a!==1a.1LL&&(1a.1LL=a)}},2lS:{1n:1b(){1f 1a.41j},1C:1b(a){a!==1a.41j&&(1a.41j=a)}}});1d Ti=1L.3F({1Ps:0,2Of:1,4Iw:2,2Oe:3,2A8:4}),Yh=1L.3F({7Uq:-1,40W:0,4Ij:1,4Ii:2,4Ih:3,4Ig:4,4If:5,40V:6});le.1i.1M=1b(){1a.3u8(!1);1a.5W8();1a.1oK=1F;1a.8M.1sm();1a.8M=1F;1a.6X="";1a.2BP=[];1a.3u7="";1a.1H0=Ti.1Ps;1a.1zD&&(ke.4Ix(1a.1zD),1a.1zD.1sm(),1a.1zD=1F)};le.1i.5VB=1b(a,b){if(1p 0===b||1F===b||1F===b.7r||1F===a.2NW)1f!1;1a.2h6=a;1a.1oK=b;b=1a.5We(1a.1oK);if(1F===1a.8M)1f!1;b||(1a.8M.8L=a.2NW,a.2NW.3XA(1a.8M));1a.3u8(!1);Yh.40V===1a.1K5()&&(1a.2BP=14y.2wI(1a.1oK.1af));1f!0};le.1i.20e=1b(){1d a=1g 16V;1a.1QY=1a.1H0===Ti.4Iw?1a.1QY+(a.1o3()/1E3-1a.38m):a.1o3()/1E3;1a.1VF=!1;1a.1H0=Ti.2Of;g(1a.1oK)&&1a.1oK.1fU();1a.3u8(!0)};le.1i.4U=1b(){1a.1H0=Ti.2Oe};le.1i.1TN=1b(){1a.1H0=Ti.4Iw;1a.38m=(1g 16V).1o3()/1E3};le.1i.1Pr=1b(){1a.1H0=Ti.2A8;1a.3u8(!1)};le.1i.5We=1b(a){1j(1d b=0;b<1a.2h6.1dp.1h;b++){1d c=1a.2h6.1dp[b];if(c.1oK.id===a.id)1f 1a.8M=c.8M}1a.8M=a.1y();1a.8M.7R=1a.6X;1a.8M.1AC=!1;1a.8M.1zE=!1;1a.8M.3u9=!0;1f 1F};le.1i.1Dn=1b(){if(1a.1H0!==Ti.2Of)1f!1;1d a=(1g 16V).1o3()/1E3;if(1a.1QY+1a.1GW>a)1f!1;a=1a.4Iu();1f 1<a&&1a.1VF||0>a?!1:!0};le.1i.4Iu=1b(){if(1a.1H0!==Ti.2Of)1f 0;1d a=(1g 16V).1o3()/1E3;if(1a.1QY+1a.1GW>a)1f 0;a=(a-1a.1QY-1a.1GW)/1a.1oi;1<=a&&!1a.1VF?1a.1qI?(1a.1QY=(1g 16V).1o3()/1E3,a=0,1a.1VF=!1,1a.1H0=Ti.2Of):(a=1,1a.1VF=!0,1a.1H0=Ti.2Oe):0>a&&(a=0);1f 1a.2hd=a};le.1i.3u8=1b(a){1F!==1a.8M&&1F!==1a.8M.16o&&(1a.2BQ(a),1a.8M.9s=!1,1a.8M.1n2=a);1F!==1a.1oK&&1F!==1a.1oK.16o&&(1a.1oK.1n2=!a,1a.1oK.9s=!1)};le.1i.2BQ=1b(a){1a.8M.16o=1a.1oK.16o.1y();1a.8M.1n2=a;g(1a.41i)&&1a.41i.1K5()===Yh.40W&&1a.41i.2BQ(a)};le.1i.7Up=1b(a){if(1a.2h6.40U(a))1f!1;1a.6X=a;1f!0};1L.2X(le.1i,{18M:{1n:1b(){1f 1a.1GW},1C:1b(a){a!==1a.1GW&&(1a.1GW=a)}},12G:{1n:1b(){1f 1a.1qI},1C:1b(a){a!==1a.1qI&&(1a.1qI=a)}},13k:{1n:1b(){1f 1a.1oi},1C:1b(a){a!==1a.1oi&&(1a.1oi=a)}},2i:{1n:1b(){1f 1a.6X},1C:1b(a){a!==1a.6X&&(1a.6X=a)}},5Wd:{1n:1b(){1f 1a.1H0},1C:1b(a){a!==1a.1H0&&(1a.1H0=a)}},3tX:{1n:1b(){1f 1a.1oK},1C:1b(a){a!==1a.1oK&&(1a.1oK=a)}},5Wc:{1n:1b(){1f 1a.8M},1C:1b(a){a!==1a.8M&&(1a.8M=a)}},5Wb:{1n:1b(){1f 1a.1QY},1C:1b(a){a!==1a.1QY&&(1a.1QY=a)}},5Wa:{1n:1b(){1f 1a.1VF},1C:1b(a){a!==1a.1VF&&(1a.1VF=a)}},4Iv:{1n:1b(){1f 1a.38m},1C:1b(a){a!==1a.38m&&(1a.38m=a)}},1iJ:{1n:1b(){1f 1a.2hd},1C:1b(a){a!==1a.2hd&&(1a.2hd=a)}},5W9:{1n:1b(){1f 1a.3u7},1C:1b(a){a!==1a.3u7&&(1a.3u7=a)}}});le.1i.5W8=1b(){if(1F!==1a.8M){1d a=1a.2h6.1dp,b=!1;if(1F!==a)1j(1d c=0;c<a.1h;c++){1d d=a[c];if(d!==1a&&d.8M===1a.8M){b=!0;1W}}b||1a.2h6.2NW.5W7(1a.8M)}};le.1i.2BO=1b(){1d a={};a.5Vx=1a.3tX.id;a.2i=1a.2i;a.18M=1a.18M;a.13k=1a.13k;a.12G=1a.12G;1f a};le.1i.2BN=1b(a){1a.18M=a.18M;1a.13k=a.13k;1a.12G=a.12G};1d xS=1L.3F({5W6:0,5W4:1}),KC=1L.3F({5W5:0,41h:1});g(1L.6F)&&(Ul.1i=1L.6F(le.1i),Ul.1i.7m=Ul);Ul.1i.1K5=1b(){1f Yh.4Ij};Ul.1i.5P=1b(){if(!1a.1Dn())1f!1===1a.1oK.1n2&&!1===1a.8M.1n2?1a.8M.1n2=!0:!1;1a.1oK.1ka&&(1a.1oK.1ka=!1);1d a=(1g 16V).1o3()/1E3,b=1a.38l/1E3;1a.3u6===xS.5W4&&(b=1a.38l=1a.1oi/1a.3u5);(a-1a.1QY)%b<=b/2?1a.2Od===KC.41h?1a.1yF(1a.20Q):1a.8M.1ka=!1:(1a.8M.1ka=!0,1a.2Od===KC.41h&&1a.1yF(1a.1Up));1a.1VF&&(1a.2Od===KC.41h&&(1a.8M.16o.1hu=1a.1Up,1a.8M.9s=!1),1a.8M.1n2=!0);1f!0};Ul.1i.4Iu=1b(){if(1a.1H0!==Ti.2Of)1f 0;1d a=(1g 16V).1o3()/1E3;if(1a.1QY+1a.1GW>a)1f 0;a=(a-1a.1QY-1a.1GW)/1a.1oi;1<=a&&!1a.1VF?1a.1qI?(1a.1QY=(1g 16V).1o3()/1E3,a=0,1a.1VF=!1,1a.1H0=Ti.2Of):(a=1,1a.1VF=!0,1a.1H0=Ti.2Oe):0>a&&(a=0);1f 1a.2hd=a};Ul.1i.1yF=1b(a){1a.8M.16o.1hu!==a&&(1a.8M.16o.1hu=a,1a.8M.9s=!1)};1L.2X(Ul.1i,{38j:{1n:1b(){1f 1a.38l},1C:1b(a){a!=1a.38l&&(1a.38l=a)}},38k:{1n:1b(){1f 1a.3u6},1C:1b(a){a!=1a.3u6&&(1a.3u6=a)}},38i:{1n:1b(){1f 1a.3u5},1C:1b(a){a!=1a.3u5&&(1a.3u5=a)}},38h:{1n:1b(){1f 1a.2Od},1C:1b(a){a!=1a.2Od&&(1a.2Od=a)}},1Jy:{1n:1b(){1f 1a.20Q},1C:1b(a){a!=1a.20Q&&(1a.20Q=a)}},1Jx:{1n:1b(){1f 1a.1Up},1C:1b(a){a!=1a.1Up&&(1a.1Up=a)}}});Ul.1i.2hc=1b(){1d a=1a.2BO();a.1I=1a.1K5();a.38k=1a.38k;a.38j=1a.38j;a.38i=1a.38i;a.38h=1a.38h;a.1Jy=1a.1Jy;a.1Jx=1a.1Jx;1f a};Ul.1i.2hb=1b(a){1a.2BN(a);1a.38k=a.38k;1a.38j=a.38j;1a.38i=a.38i;1a.38h=a.38h;1a.1Jy=a.1Jy;1a.1Jx=a.1Jx};g(1L.6F)&&(Vl.1i=1L.6F(le.1i),Vl.1i.7m=Vl);Vl.1i.1K5=1b(){1f Yh.4Ih};Vl.1i.5P=1b(){if(!1a.1Dn())1f!1;1d a=1a.2hd;1a.3u4?1a.5W2(a):1a.5W3(a);1f!0};Vl.1i.5W3=1b(a){1a.8M.1n2=1a.38g?.11t>1-a?!0:!1:.11t>1-a?!1:!0};Vl.1i.5W2=1b(a){1a.38g||(a=1-a);a=1<a?1:a;1a.8M.1n2=!0;1a.8M.16o.1n8=a;1F!==1a.8M.1fG&&(1a.8M.16p.1pM.2O=a);1a.8M.9s=!1};1L.2X(Vl.1i,{38f:{1n:1b(){1f 1a.3u4},1C:1b(a){a!=1a.3u4&&(1a.3u4=a)}},38e:{1n:1b(){1f 1a.38g},1C:1b(a){a!=1a.38g&&(1a.38g=a)}}});Vl.1i.2hc=1b(){1d a=1a.2BO();a.1I=1a.1K5();a.38f=1a.38f;a.38e=1a.38e;1f a};Vl.1i.2hb=1b(a){1a.2BN(a);1a.38f=a.38f;1a.38e=a.38e};1d yS=1L.3F({33C:0,7Uo:1});g(1L.6F)&&(me.1i=1L.6F(le.1i),me.1i.7m=me);me.1i.5P=1b(){if(1a.8M.1dB!==wa.1lb)1f 1F!==1a.1zD&&0!==1a.1zD.9h.1h&&(1a.1zD.2p=!1),!1;if(!1a.1Dn())1f!1;1a.38d&&1a.1zD&&!1a.1zD.10T&&(1a.1zD.2p=!0);1d a={};a=1a.2NX(1a.2hd,1a.1VD,a);1a.8M.1af[0]=1a.2pM(a.pt);1d b=a.2P;1a.2Ob&&(a=1a.5W1(1a.1VD,b,a.pt),b=1a.8M.1lA,jd.1LI===b?1a.8M.1yt=1g Ya(57.1Xq*a.x,57.1Xq*a.y,57.1Xq*a.z):jd.1Zp===b&&(1a.8M.1si=a));1a.8M.9s=!1;1f!0};me.1i.5W1=1b(a,b,c){if(1a.2Ob){c=1a.2pM(c);1d d=1a.2pM(a[b]),e=a[b];a=a[b+1];d=k.1iy([d.x,d.y,d.z+100]);b=1g k;b=k.3V(d[0],e,b);b=k.1T(b,b);d=1g k;d=k.3V(a,e,d);d=k.1T(d,d);e=1g k;e=k.4B(d,b,e);e=k.1T(e,e);a=1g k;a=k.4B(e,d,a);a=k.1T(a,a);d=1g k(d.y,d.z,d.x);e=1g k(e.y,e.z,e.x);a=1g k(a.y,a.z,a.x);e=1a.2Oc(e,.1qa*-c.x,1g k(0,1,0));e=1a.2Oc(e,.1qa*c.y,1g k(1,0,0));e=k.1T(e,e);d=1a.2Oc(d,.1qa*-c.x,1g k(0,1,0));d=1a.2Oc(d,.1qa*c.y,1g k(1,0,0));d=k.1T(d,d);a=1a.2Oc(a,.1qa*-c.x,1g k(0,1,0));a=1a.2Oc(a,.1qa*c.y,1g k(1,0,0));a=k.1T(a,a);c=1a.5W0(e,d,a);1f 1g k(-c.x,-c.y,c.z)}};me.1i.2Oc=1b(a,b,c){b*=.5;1d d=1k.2T(b);b=1k.3i(b);d=1g Ya(d*c.x,d*c.y,d*c.z);1d e=1g Ya;e=k.4B(d,a,e);c=1g Ya;c=k.4B(d,e,c);b=1g Ya(2*e.x*b,2*e.y*b,2*e.z*b);c=1g Ya(2*c.x,2*c.y,2*c.z);1f 1g Ya(a.x+b.x+c.x,a.y+b.y+c.y,a.z+b.z+c.z)};me.1i.5W0=1b(a,b,c){1d d=1k.17M(a.z);if(d<1k.PI/2){if(d>-1k.PI/2)1f b=1k.12B(-b.z,c.z),a=1k.12B(-a.y,a.x),1g Ya(b,d,a);b=1k.12B(b.x,b.y);a=0;1f 1g Ya(a-b,d,a)}b=1k.12B(b.x,b.y);a=0;1f 1g Ya(b-a,d,a)};me.1i.2BQ=1b(a){1a.8M.1si=1a.1oK.1si;1j(1d b=[],c=0;c<1a.1oK.1af.1h;c++){1d d=1a.1oK.1af[c].1y();b.1q(d)}1a.8M.1af=b;a&&(1F===1a.1zD||0===1a.1zD.9h.1h||1F===1a.1VD)&&1a.5VZ();1F!==1a.1zD&&(1a.1zD.2p=!1)};me.1i.5VZ=1b(){if(1F===1a.2hg||2>1a.2hg.1h)1f!1;1F===1a.1zD&&(1a.4Is(),1a.1zD=ke.4It(1F,1a.5VX(1a.1VD)));1a.41g=0;1j(1d a=1;a<1a.1VD.1h;a++)1a.41g+=ha.3s(1a.1VD[a-1],1a.1VD[a]);1f 1a.1zD};me.1i.2NX=1b(a,b,c){c=1a.5VW(b,a*1a.41g);if(!c.4D)1f!1;a=c.pt;1a.2Ob&&(c.8f=ha.1Te(a,b[c.2P])/1k.PI*180);1f c};me.1i.2pM=1b(a){1d b=1a.1oK.8L.2R.10a.3c;a=1g k(a.x,a.y,a.z);b=b.10Z(a);a=B.10Q(b.4k);1d c=B.10Q(b.3N);1f 1g Ya(c,a,b.1D)};me.1i.1K5=1b(){1f Yh.40W};me.1i.7Un=1b(a){1a.38d=a};me.1i.5VV=1b(a){if(!a||!2K.8n(a)||2>a.1h)1f!1;1a.2hg=a;1F!==1a.1zD&&(1a.4Is(),1a.1zD.9h=1a.1VD)};me.1i.7Um=1b(){1f 1a.2hg};me.1i.7Ul=1b(){1f 1a.5VY};me.1i.7Uk=1b(a){a&&(1a.2Oa=a,1a.1VE&&1F!==1a.1VE&&(1a.1VE.3v.1A=1a.2O9,1a.1VE.3l0(1a.1VE.3v)))};me.1i.7Uj=1b(){1f 1a.2Oa};me.1i.7Ui=1b(a){a&&(1a.2pN=a,1a.1VE&&1F!==1a.2pN&&(1a.1VE.3v.1hF=1a.2pN,1a.1VE.3l0(1a.1VE.3v)))};me.1i.7Uh=1b(){1f 1a.2C1};me.1i.7Ug=1b(a){1p 0!==a&&1F!==a&&1a.2C0!==a&&(1a.2C0=a,1F!==1a.1VE&&(1a.1VE.1M(),1a.1VE=1F))};me.1i.7Uf=1b(){1f 1a.38c};me.1i.3tU=1b(a){a=ha.3kb(a);1f ha.3ka(a)};me.1i.5VX=1b(a){0>=1a.2C1&&(1a.2C1=.5);1f{1G:1a.2C1,3q:a,2q:va.1kk(va.1oL,{1A:1a.2Oa}),id:1a.8M.7R+"7Ue",2p:!1}};me.1i.5VW=1b(a,b){1d c=a.1h,d={};if(0>b||2>c)1f d.4D=!1,d;1j(1d e=0,f=0;f!=c-1;++f)if(e+=ha.3s(a[f],a[f+1]),e>=b){c=ha.3s(a[f+1],a[f]);if(0==c)1f a[f+1];b=(e-b)/c;e=1g Ya(0,0,0);e.x=a[f+1].x+(a[f].x-a[f+1].x)*b;e.y=a[f+1].y+(a[f].y-a[f+1].y)*b;e.z=a[f+1].z+(a[f].z-a[f+1].z)*b;d.pt=e;d.4D=!0;d.2P=f;1f d}d.4D=!1;1f d};1L.2X(me.1i,{38b:{1n:1b(){1f 1a.38d},1C:1b(a){a!=1a.38d&&(1a.38d=a)}},38a:{1n:1b(){1f 1a.2Ob},1C:1b(a){a!=1a.2Ob&&(1a.2Ob=a)}},2C0:{1n:1b(){1f 1a.38c},1C:1b(a){a!=1a.38c&&(1a.38c=a)}},2pN:{1n:1b(){1f 1a.2C1},1C:1b(a){a==1a.2C1||0>=a||(1a.2C1=a)}},2O9:{1n:1b(){1f 1a.2Oa},1C:1b(a){a!=1a.2Oa&&(1a.2Oa=a)}},22M:{1n:1b(){1f 1a.2hg},1C:1b(a){a!==1a.2hg&&(1a.2hg=a)}}});me.1i.4Is=1b(){1a.1VD=1a.38c===yS.33C?1a.2hg:1a.3tU(1a.2hg);1j(1d a=[],b=0;b<1a.1VD.1h;b++){1d c=1a.1VD[b];a.1q(c.x);a.1q(c.y);a.1q(c.z)}1a.1VD=k.1iy(a)};me.1i.2hc=1b(){1d a=1a.2BO();a.1I=1a.1K5();a.38b=1a.38b;a.38a=1a.38a;a.2C0=1a.2C0;a.2pN=1a.2pN;a.2O9=1a.2O9;a.22M=[];1j(1d b=0;b<1a.22M.1h;b++)a.22M.1q({x:1a.22M[b].x,y:1a.22M[b].y,z:1a.22M[b].z});1f a};me.1i.2hb=1b(a){1a.2BN(a);1a.38b=a.38b;1a.38a=a.38a;1a.2C0=a.2C0;1a.2pN=a.2pN;1a.2O9=a.2O9;1j(1d b=[],c=0;c<a.22M.1h;c++)b.1q(1g Ya(a.22M[c].x,a.22M[c].y,a.22M[c].z));1a.5VV(b)};g(1L.6F)&&(Ui.1i=1L.6F(le.1i),Ui.1i.7m=Ui);Ui.1i.1K5=1b(){1f Yh.4Ii};Ui.1i.5P=1b(){if(!1a.1Dn())1f!1;1d a=1a.1iJ,b=1a.5VU(a),c=1a.5VT(a),d=1a.5VS(a);a=1a.5VR(a);1f b||c||d||a?(1a.8M.9s=!1,!0):!1};Ui.1i.5VU=1b(a){if(!1a.3u3)1f!1;1d b=1a.2O8,c=1a.2O7;1a.8M.16o.1hu=1g y(b.5r+(c.5r-b.5r)*a,b.5t+(c.5t-b.5t)*a,b.5G+(c.5G-b.5G)*a,b.2O+(c.2O-b.2O)*a);1f!0};Ui.1i.5VT=1b(a){if(!1a.2O6)1f!1;if(wa.1lb===1a.8M.17D)1f 1a.8M.1QS=1a.2hf+(1a.2BZ-1a.2hf)*a,!0;if(wa.389===1a.8M.17D)1f 1a.8M.16o.1gc=1a.2hf+(1a.2BZ-1a.2hf)*a,!0};Ui.1i.5VS=1b(a){if(!1a.2O5)1f!1;1d b=1a.2O4,c=1a.2O3;1a.8M.16o.22K=1g y(b.5r+(c.5r-b.5r)*a,b.5t+(c.5t-b.5t)*a,b.5G+(c.5G-b.5G)*a,b.2O+(c.2O-b.2O)*a);1f!0};Ui.1i.5VR=1b(a){if(!1a.2O2)1f!1;if(wa.1lb===1a.8M.17D)1f 1a.8M.29f=1a.2he+(1a.2O1-1a.2he)*a,!0;if(wa.389===1a.8M.17D)1f 1a.8M.16o.1Nd=1a.2he+(1a.2O1-1a.2he)*a,!0};Ui.1i.2BQ=1b(a){a&&(1a.8M.16o.1hu=1a.3u2,1a.8M.1QS=1a.3u1,1a.8M.16o.22K=1a.3u0,1a.8M.29f=1a.3tZ)};1L.2X(Ui.1i,{388:{1n:1b(){1f 1a.3u3},1C:1b(a){a!==1a.3u3&&(1a.3u3=a)}},2O8:{1n:1b(){1f 1a.3u2},1C:1b(a){a!==1a.3u2&&(1a.3u2=a)}},2O7:{1n:1b(){1f 1a.41f},1C:1b(a){a!==1a.41f&&(1a.41f=a)}},2O6:{1n:1b(){1f 1a.41e},1C:1b(a){a!==1a.41e&&(1a.41e=a)}},2hf:{1n:1b(){1f 1a.3u1},1C:1b(a){a!==1a.3u1&&(1a.3u1=a)}},2BZ:{1n:1b(){1f 1a.41d},1C:1b(a){a!=1a.41d&&(1a.41d=a)}},2O5:{1n:1b(){1f 1a.41c},1C:1b(a){a!=1a.41c&&(1a.41c=a)}},2O4:{1n:1b(){1f 1a.3u0},1C:1b(a){a!=1a.3u0&&(1a.3u0=a)}},2O3:{1n:1b(){1f 1a.41b},1C:1b(a){a!=1a.41b&&(1a.41b=a)}},2O2:{1n:1b(){1f 1a.41a},1C:1b(a){a!=1a.41a&&(1a.41a=a)}},2he:{1n:1b(){1f 1a.3tZ},1C:1b(a){a!=1a.3tZ&&(1a.3tZ=a)}},2O1:{1n:1b(){1f 1a.414},1C:1b(a){a!=1a.414&&(1a.414=a)}}});Ui.1i.2hc=1b(){1d a=1a.2BO();a.1I=1a.1K5();a.388=1a.388;a.2O8=1a.2O8;a.2O7=1a.2O7;a.2O6=1a.2O6;a.2hf=1a.2hf;a.2BZ=1a.2BZ;a.2O5=1a.2O5;a.2O4=1a.2O4;a.2O3=1a.2O3;a.2O2=1a.2O2;a.2he=1a.2he;a.2O1=1a.2O1;1f a};Ui.1i.2hb=1b(a){1a.2BN(a);1a.388=a.388;1a.2O8=a.2O8;1a.2O7=a.2O7;1a.2O6=a.2O6;1a.2hf=a.2hf;1a.2BZ=a.2BZ;1a.2O5=a.2O5;1a.2O4=a.2O4;1a.2O3=a.2O3;1a.2O2=a.2O2;1a.2he=a.2he;1a.2O1=a.2O1};1d zS=1L.3F({4Ir:0,7Ud:1});g(1L.6F)&&(Wl.1i=1L.6F(le.1i),Wl.1i.7m=Wl);Wl.1i.1K5=1b(){1f Yh.4Ig};Wl.1i.5P=1b(){if(1a.8M.17D!==wa.1lb||!1a.1Dn())1f!1;1d a=1a.2hd,b=1a.412(1a.1jw.x,1a.21z.x,a),c=1a.412(1a.1jw.y,1a.21z.y,a);a=1a.412(1a.1jw.z,1a.21z.z,a);1d d=1a.8M.1lA;jd.1Zp===d?1a.8M.1si=1g Ya(b,c,a):jd.1LI===d&&(1a.8M.1yt=1g Ya(b,c,a));1a.8M.9s=!1;1f!0};Wl.1i.412=1b(a,b,c){1d d=0,e=b-a,f=8A(1k.abs(e/360));a!==b&&(1a.3tY===zS.4Ir?(0>e&&(e+=360*(2*f+1)),d=a+e*c):(b=0>e?e+360*(f+1):e-360*f,d=a+(360-(0===b?360*f:360-b+360*f)*c)));1f d};Wl.1i.2BQ=1b(a){1a.8M.1si=1a.1oK.1si};1L.2X(Wl.1i,{387:{1n:1b(){1f 1a.3tY},1C:1b(a){a!=1a.3tY&&(1a.3tY=a)}},1jw:{1n:1b(){1f 1a.1v0},1C:1b(a){a!=1a.1v0&&(1a.1v0=a)}},21z:{1n:1b(){1f 1a.1tt},1C:1b(a){a!=1a.1tt&&(1a.1tt=a)}}});Wl.1i.2hc=1b(){1d a=1a.2BO();a.1I=1a.1K5();a.387=1a.387;a.1jw=1a.1jw;a.21z=1a.21z;1f a};Wl.1i.2hb=1b(a){1a.2BN(a);1a.387=a.387;1a.1jw=a.1jw;1a.21z=a.21z};g(1L.6F)&&($m.1i=1L.6F(le.1i),$m.1i.7m=$m);$m.1i.1K5=1b(){1f Yh.4If};$m.1i.5P=1b(){if(1a.8M.1dB!==wa.1lb||!1a.1Dn())1f!1;1a.382=1a.8M.13V.x;1d a=1a.1DV;0===a&&(a=.1);1d b=1a.1Gz;0===b&&(b=.1);a=1a.3tX.13V.x*(a+1a.1iJ*(b-a));jd.2HI===1a.8M.1IP?1a.8M.10i.3b=a:jd.1IR===1a.8M.1IP&&(1a.8M.13V.x=a,1a.8M.9s=!1);1f!0};$m.1i.2BQ=1b(a){1a.382=1F;1a.8M.13V.x=1a.3tX.3b.x};1L.2X($m.1i,{1uR:{1n:1b(){1f 1a.1DV},1C:1b(a){a!=1a.1DV&&(1a.1DV=a)}},1GA:{1n:1b(){1f 1a.1Gz},1C:1b(a){a!=1a.1Gz&&(1a.1Gz=a)}},5VQ:{1n:1b(){1f 1a.382},1C:1b(a){a!=1a.382&&(1a.382=a)}}});$m.1i.2hc=1b(){1d a=1a.2BO();a.1I=1a.1K5();a.1uR=1a.1uR;a.1GA=1a.1GA;1f a};$m.1i.2hb=1b(a){1a.2BN(a);1a.1uR=a.1uR;1a.1GA=a.1GA};g(1L.6F)&&(ue.1i=1L.6F(le.1i),ue.1i.7m=ue);ue.1i.1K5=1b(){1f Yh.40V};ue.1i.5P=1b(){if(2>1a.8M.1af.1h){1d a=1a.2BP;if(2>a.1h)1f!1;1a.8M.1af=a}if(!1a.1Dn())1f!1;a=(1g 16V).1o3();if(0<1a.411&&a-1a.5VP<1a.411)1f!1;1d b=1a.1DV+1a.2hd*(1a.1Gz-1a.1DV);1<=b&&(b=1);1a.411=a;1f 1a.5VO(b)};ue.1i.5VO=1b(a){1d b=1a.8M.1bq,c=1a.8M.1aF;0===1a.1GY.1h&&(1a.1GY=14y.2wI(1a.2BP));if(0===c)6U(b){1S wa.2O0:1S wa.2NZ:1S wa.2BY:1S wa.2BX:a=1a.40Z(a);1W;1S wa.2dY:a=1a.5VJ(a);1W;1S wa.2BW:a=1a.5VK(a);1W;1S wa.2wc:a=1a.5VI(a);1W;1S wa.2BV:a=1a.5VH(a);1W;1S wa.1wL:a=1a.4Il(a);1W;1S wa.4Iq:a=1a.5VG(a);1W;1S wa.2BU:a=1a.5VF(a);1W;1S wa.2BT:1S wa.2BS:1S wa.2BR:1f!1;1S wa.3tW:a=1a.5VE(a);1W;4T:a=1a.2NY(a)}1s if(22===c)6U(b){1S 4Ip:1S 5VN:1S 7Uc:a=1a.3tV(a);1W;1S 4Io:1S 7Ub:a=1a.4Im(a);1W;1S 4In:1S 7Ua:a=1a.5VL(a);1W;1S 32:1S 7U9:a=1a.4Il(a);1W;1S 390:a=1a.40Z(a);1W;1S 7U8:a=1a.40Z(a);1W;4T:a=1a.2NY(a)}1s if(100===c)6U(b){1S 5VM:a=1a.3tV(a);1W;4T:a=1a.2NY(a)}1s if(421===c)6U(b){1S 311:a=1a.3tV(a);1W;1S 317:a=1a.4Im(a);1W;4T:a=1a.2NY(a)}1s if(123===c)6U(b){1S 7U7:1S 7U6:a=1a.3tV(a);1W;4T:a=1a.2NY(a)}1s a=1a.2NY(a);1f a};ue.1i.2NY=1b(a){0===1a.1GZ&&(1a.10L=1a.1GY,1a.1GZ=14y.3jY(1a.10L));1d b=[],c=14y.2wI(1a.10L);a=1a.2NX(1a.1GZ*a,c);1j(1d d=0;d<=a.3h;d++)b.1q(c[d]);b.1q(a.3tT);if(14y.4lv(1a.8M.1aF,1a.8M.1bq)&&1a.8M.1ts()>b.1h)1f 1a.2pL(),!0;1a.8M.1af=[];1a.8M.1af=1a.8M.1af.9V(b);1a.8M.9s=!1;1f!0};ue.1i.2NX=1b(a,b){1d c=0,d;1j(d=1;d<b.1h;d++){1d e=ha.3s(b[d-1],b[d]);if(c+e>=a)1W;c+=e}e={};a=d<b.1h?ha.1Ne(b[d-1],b[d],a-c):b[d-1];e.3h=d-1;e.3tT=a;1f e};ue.1i.3tV=1b(a){if(0===1a.1GZ){1a.10L=1a.1GY;1d b=1g Ya((1a.10L[0].x+1a.10L[1].x)/2,(1a.10L[0].y+1a.10L[1].y)/2,(1a.10L[0].z+1a.10L[1].z)/2);1a.1GZ+=ha.3s(b,1a.10L[2]);1j(b=3;b<1a.10L.1h;b++)1a.1GZ+=ha.3s(1a.10L[b-1],1a.10L[b])}if(0===a)1f 1a.2pL(),!0;1d c=[],d=[];b=1g Ya((1a.10L[0].x+1a.10L[1].x)/2,(1a.10L[0].y+1a.10L[1].y)/2,(1a.10L[0].z+1a.10L[1].z)/2);d.1q(b);1j(b=2;b<1a.10L.1h;b++)d.1q(1a.10L[b].1y());c.1q(1a.10L[0]);c.1q(1a.10L[1]);a=1a.2NX(1a.1GZ*a,d);1j(b=1;b<=a.3h;b++)c.1q(d[b]);c.1q(a.3tT);1a.8M.1af=[];1a.8M.1af=1a.8M.1af.9V(c);1a.8M.9s=!1;1f!0};ue.1i.4Im=1b(a){0===1a.10L.1h&&(1a.10L=1a.1GY,1a.8M.7U5=!0);if(0===a)1f 1a.2pL(),!0;1d b=1a.5VD(1a.10L);if(4!==b.1h)1f!1;1j(1d c=[],d=0;d<b.1h;d++){1d e=k.8g(b[d].x,b[d].y,b[d].z);c.1q(e)}b=c[0];d=c[1];e=c[2];1d f=c[3],h=ha.3s(b,f);c=ha.3s(d,e);f=ha.1Ne(b,f,h*a);a=ha.1Ne(d,e,c*a);e=[];e.1q(1a.2pM(b));e.1q(1a.2pM(d));e.1q(1a.2pM(a));e.1q(1a.2pM(f));1a.8M.1af=[];1a.8M.1af=1a.8M.1af.9V(e);1a.8M.9s=!1;1f!0};ue.1i.2pM=1b(a){1d b=1a.1oK.8L.2R.10a.3c;a=1g k(a.x,a.y,a.z);b=b.10Z(a);a=B.10Q(b.4k);1d c=B.10Q(b.3N);1f 1g Ya(c,a,b.1D)};ue.1i.5VL=1b(a){0===1a.1GZ&&(1a.10L=1a.1GY,1a.1GZ=14y.3jY(1a.10L));if(0===a)1f 1a.2pL(),!0;1d b=1a.10L.1h,c=1k.8a(b/3),d=0===b%3?3:b%3;1===d&&(--c,d=3,1a.10L.9l());1d e=[];if(3===d)1j(d=1;d<c+1;d++){1d f=3*d,h=1a.10L[f-3],g=1a.10L[f-2];1d k=1a.10L[f-1];f=ha.3s(h,g);1d n=ha.3s(g,k);n=f+n;n*a>=f?(k=ha.1Ne(g,k,n*a-f),e.1q(h),e.1q(g)):(k=ha.1Ne(h,g,n*a),g=ha.1Ne(h,g,f*a),e.1q(h),e.1q(g));e.1q(k)}1s{1j(d=1;d<c;d++)f=3*d,h=1a.10L[f-3],g=1a.10L[f-2],k=1a.10L[f-1],f=ha.3s(h,g),n=ha.3s(g,k),n=f+n,n*a>=f?(k=ha.1Ne(g,k,n*a-f),e.1q(h),e.1q(g)):(k=ha.1Ne(h,g,n*a),g=ha.1Ne(h,g,f*a),e.1q(h),e.1q(g)),e.1q(k);h=1a.10L[b-2];g=1a.10L[b-1];n=ha.3s(h,g);k=ha.1Ne(h,g,n*a);e.1q(h);e.1q(k)}1a.8M.1af=[];1a.8M.1af=1a.8M.1af.9V(e);1a.8M.9s=!1;1f!0};ue.1i.5VK=1b(a){0===1a.10L.1h&&(1a.10L=1a.1GY);1d b=1g Ya((1a.10L[0].x+1a.10L[1].x)/2,(1a.10L[0].y+1a.10L[1].y)/2,(1a.10L[0].z+1a.10L[1].z)/2),c=1k.abs(1a.10L[0].x-1a.10L[1].x)/2*a,d=1k.abs(1a.10L[0].y-1a.10L[1].y)/2*a;a=1g Ya(b.x-c,b.y+d,b.z);b=1g Ya(b.x+c,b.y-d,b.z);1a.8M.1af=[a,b];1a.8M.9s=!1;1f!0};ue.1i.5VJ=1b(a){0===1a.10L.1h&&(1a.10L=1a.1GY);a*=ha.3s(1a.10L[0],1a.10L[1]);a=1g Ya(1a.10L[0].x+a,1a.10L[0].y,1a.10L[0].z);1a.8M.1af=[1a.10L[0],a];1a.8M.9s=!1;1f!0};ue.1i.40Z=1b(a){0===1a.10L.1h&&(1a.10L=1a.1GY);if(0===a)1f 1a.2pL(),!0;1d b=[],c=1a.10L.1h,d=ha.40X(1a.10L);if(1F===d)1f 1a.2pL(),!0;1j(1d e=0;e<c;e++){1d f=ha.3s(d,1a.10L[e]),h=f*a;if(h>f)1f!1;f=ha.1Ne(d,1a.10L[e],h);b.1q(f)}1a.8M.1af=[];1a.8M.1af=1a.8M.1af.9V(b);1a.8M.9s=!1;1f!0};ue.1i.5VI=1b(a){0===1a.10L.1h&&(1a.10L=1a.1GY);1a.10L=ha.2If(1a.10L);if(0===a)1f 1a.2pL(),!0;1d b=1a.10L.1h,c=ha.3s(1a.10L[0],1a.10L[b-1]),d=c*a;a=[];if(d>=c)a=1a.10L;1s{c=ha.1Ne(1a.10L[0],1a.10L[b-1],d);a.1q(1a.10L[0]);1j(d=1;d<b-1;d++)a.1q(1a.10L[d]);a.1q(c)}1a.8M.1af=[];1a.8M.1af=1a.8M.1af.9V(a);1a.8M.9s=!1;1f!0};ue.1i.5VH=1b(a){0===1a.10L.1h&&(1a.10L=1a.1GY);1d b=ha.40Y(a,1a.10L[0],1a.10L[1]);a=ha.40Y(a,1a.10L[0],1a.10L[2]);1a.8M.1af=[1a.10L[0],b,a];1a.8M.9s=!1;1f!0};ue.1i.4Il=1b(a){0===1a.10L.1h&&(1a.10L=1a.1GY);1d b=1a.10L.1h,c=ha.40X(1a.10L);if(1F===c)1f 1a.2pL(),!0;1j(1d d=[],e=0;e<b;e++){1d f=ha.3s(c,1a.10L[e])*a;f=ha.1Ne(c,1a.10L[e],f);d.1q(f)}1a.8M.1af=[];1a.8M.1af=1a.8M.1af.9V(d);1a.8M.9s=!1;1f!0};ue.1i.5VG=1b(a){if(0===1a.1GZ){1a.10L=1a.1GY;1j(1d b=2;b<1a.10L.1h;b++)1a.1GZ+=ha.3s(1a.10L[b-1],1a.10L[b])}1d c=[],d=[];1j(b=1;b<1a.10L.1h;b++)d.1q(1a.10L[b]);a=1a.2NX(1a.1GZ*a,d);c.1q(1a.10L[0]);1j(b=0;b<=a.3h;b++)c.1q(d[b]);c.1q(a.3tT);1a.8M.1af=[];1a.8M.1af=1a.8M.1af.9V(c);1a.8M.9s=!1;1f!0};ue.1i.5VF=1b(a){if(0===1a.1GZ){1a.10L=1a.1GY;1d b=ha.3tU(1a.10L);1a.1GZ+=14y.3jY(b)}1d c=[];b=ha.3tU(1a.10L,[]);a=1a.2NX(1a.1GZ*a,b);1j(1d d=0;d<=a.3h;d++)c.1q(b[d]);c.1q(a.3tT);1a.8M.1af=[];1a.8M.1af=1a.8M.1af.9V(c);1a.8M.9s=!1;1f!0};ue.1i.5VE=1b(a){0===1a.10L.1h&&(1a.10L=1a.1GY);1j(1d b=ha.40X(1a.10L),c=[],d=0;d<1a.10L.1h;d++){1d e=ha.3s(b,1a.10L[d])*a;e=ha.1Ne(b,1a.10L[d],e);c.1q(e)}1a.8M.1af=[];1a.8M.1af=1a.8M.1af.9V(c);1a.8M.9s=!1;1f!0};ue.1i.2pL=1b(){1a.8M.1af=[]};ue.1i.2BQ=1b(a){1a.1GZ=0;1a.10L=[];1a.1GY=[];1a.8M.1af=[];if(2<=1a.2BP.1h)1j(a=0;a<1a.2BP.1h;a++)1a.8M.1af.1q(1a.2BP[a].1y())};ue.1i.5VD=1b(a){1j(1d b=[],c=0;c<a.1h;c++)b.1q(a[c].1y());a=b.1h;3==a&&(c=1g Ya,c=ha.4Ik(1,b[0].x,b[0].y,b[1].x,b[1].y,b[2].x,b[2].y,c),b.1q(c));4<a&&b.6z(4,a-4);ha.3ML(b[2],b[0],b[1])&&(a=b[0].1y(),b[0]=b[1].1y(),b[1]=a);ha.5VC(b[0],b[1],b[2])||(a=b[2].1y(),b[2]=b[3].1y(),b[3]=a);1f b};1L.2X(ue.1i,{1uR:{1n:1b(){1f 1a.1DV},1C:1b(a){a!=1a.1DV&&(1a.1DV=a)}},1GA:{1n:1b(){1f 1a.1Gz},1C:1b(a){a!=1a.1Gz&&(1<=a&&(a=1),1a.1Gz=a)}}});ue.1i.2hc=1b(){1d a=1a.2BO();a.1I=1a.1K5();a.1uR=1a.1uR;a.1GA=1a.1GA;1f a};ue.1i.2hb=1b(a){1a.2BN(a);1a.1uR=a.1uR;1a.1GA=a.1GA};1d PX=1F;ze.1tm=1b(a){1F===PX&&(PX=1g ze(a));1f PX};ze.1i.5Vw=1b(a,b,c){a=1a.5Vz(a,b);1f 1F!==a&&1F!==c&&1p 0!==c&&c.17D!==wa.381&&1F!==c&&g(c)&&(0!==c.1aF||c.1bq!==wa.1LH)&&a.5VB(1a,c)?(1a.1dp.1q(a),a):1F};ze.1i.5VA=1b(a){1a.2NW=1g Zm("15R",a);a.2dV.add(1a.2NW)};ze.1i.5Vz=1b(a,b){if(1F===b||""===b||1F===1a.2NW||1F!==1a.40U(b))1f 1F;6U(a){1S Yh.40W:a=1g me;1W;1S Yh.4Ij:a=1g Ul;1W;1S Yh.4Ii:a=1g Ui;1W;1S Yh.4Ih:a=1g Vl;1W;1S Yh.4Ig:a=1g Wl;1W;1S Yh.4If:a=1g $m;1W;1S Yh.40V:a=1g ue;1W;4T:1f 1F}1F!==a&&(a.2i=b);1f a};ze.1i.40U=1b(a){if(1F===1a.1dp||1F===a||""===a)1f 1F;1j(1d b=1F,c=0;c<1a.1dp.1h;c++)if(1a.1dp[c].2i===a){b=1a.1dp[c];1W}1f b};ze.1i.5Vy=1b(a){1d b=[];if(0===1a.1dp.1h||1F===a||!g(a))1f b;1j(1d c=1a.1dp.1h,d=0;d<c;d++)1a.1dp[d].1oK.7R===a.7R&&b.1q(1a.1dp[d]);1f b};ze.1i.7U4=1b(a){if(0===1a.1dp.1h||"7w"===a||1F===a)1f[];a=1a.4Ib(a);1f 1a.5Vy(a)};ze.1i.5P=1b(){if(0===1a.1dp.1h)1f!1;1j(1d a=!1,b=0;b<1a.1dp.1h;b++)1a.1dp[b].5P()&&(a=!0);1f a};ze.1i.20e=1b(){if(0!==1a.1dp.1h)1j(1d a=0;a<1a.1dp.1h;a++)1a.1dp[a].20e()};ze.1i.4U=1b(){if(0!==1a.1dp.1h)1j(1d a=0;a<1a.1dp.1h;a++)1a.1dp[a].4U()};ze.1i.1TN=1b(){if(0!==1a.1dp.1h)1j(1d a=0;a<1a.1dp.1h;a++)1a.1dp[a].1TN()};ze.1i.1Pr=1b(){if(0!==1a.1dp.1h)1j(1d a=0;a<1a.1dp.1h;a++)1a.1dp[a].1Pr()};ze.1i.7U3=1b(a){if(0===1a.1dp.1h||1F===a||""===a)1f!1;a=1a.40U(a);1f 1a.4Ie(a)};ze.1i.7U2=1b(a){if(0===1a.1dp.1h||1F===a||!g(a))1f!1;1j(1d b=[],c=1a.1dp.1h,d=0;d<c;d++){1d e=1a.1dp[d];e.1oK.7R!==a.7R?b.1q(e):e.1M()}1a.1dp=b;1f!0};ze.1i.4Ie=1b(a){if(0===1a.1dp.1h||1F===a)1f!1;1j(1d b=0;b<1a.1dp.1h;b++)if(1a.1dp[b]===a){a.1Pr();a.1M();1a.1dp.6z(b,1);1W}1f!0};ze.1i.7U1=1b(){if(0!==1a.1dp.1h){1j(1d a=0;a<1a.1dp.1h;a++)1a.4Ie(1a.1dp[a]);1a.1dp=[]}};ze.1i.3k1=1b(){1j(1d a=[],b=1a.2R.2dV,c=0;c<b.17f.1h;++c){1d d=b.2Id(c);d 2m rd&&a.1q(d)}1f a};ze.1i.4Ib=1b(a){1j(1d b=1a.3k1(),c=0;c<b.1h;c++){1d d=b[c].2Hy(a);if(d)1f d}};ze.1i.1fU=1b(){1j(1d a=1a.3k1(),b=0;b<a.1h;b++)1p 0!=a[b].1n1&&a[b].1n1.1fU()};ze.1i.2hc=1b(){1j(1d a={1QX:[]},b=0;b<1a.1dp.1h;b++)a.1QX.1q(1a.1dp[b].2hc());1f a};ze.1i.2hb=1b(a){if(a.4Id)1j(1d b=0,c=0;c<a.4Id.1h;c++){1j(1d d=a.4Id[c],e=0,f=0;f<d.3tS.1h;f++){1d h=d.3tS[f];h=h.18M+h.13k;e=h>e?h:e}1a.4Ic(d.3tS,b);b+=e}1s 1a.4Ic(a.1QX,0)};ze.1i.4Ic=1b(a,b){1j(1d c=0;c<a.1h;c++){1d d=a[c],e=1a.4Ib(d.5Vx),f=d.2i,h=d.1I;e&&f&&-1!==h&&(e=1a.5Vw(h,f,e),1F!==e&&(d.18M+=b,e.2hb(d)))}};ze.1i.7U0=1b(a,b){1d c=1a,d=c.2hc(),e=c.1uS,f=e.13c(e.1h-1,1);e=e+("/"===f?"1Dw/":"/1Dw/")+(a+".15l?4lL=")+b;a=14y.1n4(d);1d h=1g 1J3;h.30p=1b(){4===h.2Ie&&201===h.1hM?c.5Vv.5k(1p 0):c.5Vu.5k(1p 0)};h.1pj("31A",e,!0);h.26m(a)};ze.1i.7TZ=1b(a){1d b=1a;a=1a.2wL(a);Fe(a).4b(1b(a){b.2hb(a);b.5Vt.5k()},1b(a){b.5Vs.5k()})};ze.1i.2wL=1b(a){1d b=1a.1uS,c=b.13c(b.1h-1,1);1f b+("/"===c?"1Dw/":"/1Dw/")+(a+".15l")};1d 5Vr=7O.14y=7O.14y||{};1L.2X(AS.1i,{19g:{1n:1b(){1f 1a.15Z.1hu},1C:1b(a){a!==1a.15Z.1hu&&(1a.15Z.19g=a)}},11a:{1n:1b(){1f 1a.15Z.1gc},1C:1b(a){a!==1a.15Z.1gc&&(1a.15Z.11a=a)}},2ha:{1n:1b(){1f 1a.15Z.29e},1C:1b(a){a!==1a.15Z.29e&&(1a.15Z.2ha=a)}},1sH:{1n:1b(){1f 1a.15Z.1N6},1C:1b(a){a!==1a.15Z.1N6&&(1a.15Z.1sH=a)}},2NV:{1n:1b(){1f 1a.15Z.2h9},1C:1b(a){a!==1a.15Z.2h9&&(1a.15Z.2NV=a)}},2NU:{1n:1b(){1f 1a.15Z.2pK},1C:1b(a){a!==1a.15Z.2pK&&(1a.15Z.2NU=a)}},2BM:{1n:1b(){1f 1a.15Z.22L},1C:1b(a){a!==1a.15Z.22L&&(1a.15Z.2BM=a)}},2NT:{1n:1b(){1f 1a.15Z.2pJ},1C:1b(a){a!==1a.15Z.2pJ&&(1a.15Z.2NT=a)}},2NS:{1n:1b(){1f 1a.15Z.2pI},1C:1b(a){a!==1a.15Z.2pI&&(1a.15Z.2NS=a)}},2pH:{1n:1b(){1f 1a.15Z.29d},1C:1b(a){a!==1a.15Z.29d&&(1a.15Z.2pH=a)}},29b:{1n:1b(){1f 1a.15Z.29c},1C:1b(a){a===1a.15Z.29c||100<a||0>a||(1a.15Z.29b=a)}},3tR:{1n:1b(){1f 1a.15Z.1Nd},1C:1b(a){a!==1a.15Z.1Nd&&(1a.15Z.3tR=a)}},22J:{1n:1b(){1f 1a.15Z.22K},1C:1b(a){a!==1a.15Z.22K&&(1a.15Z.22J=a)}},7z:{1n:1b(){1f 1a.15Z.1n8},1C:1b(a){a!==1a.15Z.1n8&&(1a.15Z.7z=a)}},1LO:{1n:1b(){1f 1a.15Z.22I},1C:1b(a){a!==1a.15Z.22I&&(1a.15Z.1LO=a)}},1D:{1n:1b(){1f 1a.14r.10o},1C:1b(a){a!==1a.14r.10o&&(1a.14r.1D=a)}},1QW:{1n:1b(){1f 1a.14r.1pM},1C:1b(a){a!==1a.14r.1pM&&(1a.14r.1QW=a)}},2NR:{1n:1b(){1f 1a.14r.1V8},1C:1b(a){a!==1a.14r.1V8&&(1a.14r.2NR=a)}},8Y:{1n:1b(){1f 1a.14r.1ln},1C:1b(a){a!==1a.14r.1ln&&(1a.14r.8Y=a)}},1QV:{1n:1b(){1f 1a.14r.1GX},1C:1b(a){a!==1a.14r.1GX&&(1a.14r.1QV=a)}},1VC:{1n:1b(){1f 1a.14r.1QU},1C:1b(a){a!==1a.14r.1QU&&(1a.14r.1VC=a)}},1M4:{1n:1b(){1f 1a.14r.22H},1C:1b(a){a!==1a.14r.22H&&(1a.14r.1M4=a)}},22G:{1n:1b(){1f 1a.14r.2h8},1C:1b(a){a!==1a.14r.1QU&&(1a.14r.22G=a)}},37Z:{1n:1b(){1f 1a.14r.29a},1C:1b(a){a!==1a.14r.29a&&(1a.14r.37Z=a)}},1Gy:{1n:1b(){1f 1a.14r.295},1C:1b(a){a!==1a.14r.295&&(1a.14r.1Gy=a)}},2LE:{1n:1b(){1f 1a.14r.1ME},1C:1b(a){a!==1a.14r.1ME&&(1a.14r.2LE=a)}},2NQ:{1n:1b(){1f 1a.14r.292},1C:1b(a){a!==1a.14r.292&&(1a.14r.2NQ=a)}},37Y:{1n:1b(){1f 1a.14r.291},1C:1b(a){a!==1a.14r.291&&(1a.14r.37Y=a)}},37X:{1n:1b(){1f 1a.14r.290},1C:1b(a){a!==1a.14r.290&&(1a.14r.37X=a)}},3tQ:{1n:1b(){1f 1a.22F},1C:1b(a){a!==1a.22F&&(1a.22F=a)}},5R:{1n:1b(){1f 1a.14r.16n},1C:1b(a){a!==1a.14r.16n&&(1a.14r.5R=a)}},37W:{1n:1b(){1f 1a.14r.2BL},1C:1b(a){a!==1a.14r.2BL&&(1a.14r.37W=a)}},2mY:{1n:1b(){1f 1a.14r.28Z},1C:1b(a){a!==1a.14r.28Z&&(1a.14r.2mY=a)}},37V:{1n:1b(){1f 1a.14r.28Y},1C:1b(a){a!==1a.14r.28Y&&(1a.14r.37V=a)}},40T:{1n:1b(){1f 1a.14r.2h7},1C:1b(a){a!==1a.14r.2h7&&(1a.14r.40T=a)}},2NP:{1n:1b(){1f 1a.14r.1QT},1C:1b(a){a!==1a.14r.1QT&&(1a.14r.2NP=a)}},1wD:{1n:1b(){1f 1a.14r.1xt},1C:1b(a){a!==1a.14r.1xt&&(1a.14r.1wD=a)}},5M:{1n:1b(){1f 1a.14r.16O},1C:1b(a){a!==1a.14r.16O&&(1a.14r.5M=a)}},1AF:{1n:1b(){1f 1a.1xs},1C:1b(a){0<a.x&&0<a.y&&(1a.1xs=a)}},22D:{1n:1b(){1f 1a.22C},1C:1b(a){1a.22C!==a&&(1a.22C=a)}},1VB:{1n:1b(){1f 1a.1QS},1C:1b(a){1a.1QS!==a&&(1a.1QS=a)}},1Eh:{1n:1b(){1f 1a.28X},1C:1b(a){1a.28X!==a&&(1a.28X=a)}}});5Vr.3L5=AS;1d r9=7O.14y=7O.14y||{},GM=1F;an.1i.1M=1b(){1a.2R.9Q.3S("15R",!0);GM=1a.2R=1a.4I9=1a.2h6=1a.3tP=1a.4Ia=1a.1uS=1F};an.1tm=1b(a,b){GM||(GM=1g an(a,b));1f GM};an.1i.7TY=1b(){1f 1a.4Ia};an.1i.5lI=1b(){1f 1a.3tP};an.1i.7TX=1b(){1f 1a.2h6};an.1i.5lO=1b(){1f 1a.1uS};an.1i.3jZ=1b(){1f 1a.4I9};1d oF,CA=1g Oa({6Z:Ja.11G}),QX=1g Ec({1A:1g y(0,0,0,0)});Oy.1i.5P=1b(a){v.2l("2xH",a);g(a.3rB)&&a.3rB(a);if(!g(a.5A)&&!g(a.2z))1t 1g r("2xH.5A or 2xH.2z is 1X.");v.2l("2xH.1v8",a.1v8);1d b=a.1v8,c=b.1G,d=b.1D,e=1a.4j,f=g(a.4c)?a.4c:e.4He(),h=g(a.2z)?a.2z:Ga.4t({1O:e,5O:"3Q 1m 1K;\\2J 1v 8u;\\1J 1v 2F;\\2s 2k()\\n{\\11u = 1K;\\1mN = 8u;\\n}\\n",5A:a.5A,7W:{1K:0,8u:1}}),l=1g eb({1O:e,13I:[b],16Y:!1});g(oF)&&oF.5q.1G===c&&oF.5q.1D===d||(oF=pa.4t({5q:1g Aa(0,0,c,d)}));c=oF;d=a.4J;QX.4Q=l;QX.4w=c;QX.5P(e);CA.4c=f;CA.4w=c;CA.2z=h;CA.4J=d;CA.4Q=l;CA.5P(e);l.1M();a.2xI||(h.1M(),g(a.4c)&&f.1M());g(a.2JI)&&a.2JI(b)};Oy.1i.3Z=1b(){1f!1};Oy.1i.1M=1b(){1f la(1a)};Py.5Vq=1b(){1f Ha.3O};Py.5Vp=1b(a){1f 1g 4A(a)};1d lr={3tO:H.3tO,9m:H.9m,40S:H.40S,37U:H.37U,2fK:H.2fK,37T:H.37T,40R:H.40R,1eF:H.1eF,1f6:1b(a){1f a===lr.3tO||a===lr.9m||a===lr.40S||a===lr.37U||a===lr.2fK||a===lr.37T||a===lr.40R||a===lr.1eF}},kh=1L.3F(lr);1L.2X(ig.1i,{8V:{1n:1b(){1f 1a.1JH}},1G:{1n:1b(){1f 1a.10V}},1D:{1n:1b(){1f 1a.10o}}});ig.1i.5Vo=1b(){1f 1a.40Q};ig.1i.3Z=1b(){1f!1};ig.1i.1M=1b(){1a.6M.4ms(1a.40Q);1f la(1a)};Go.1i.2H=1b(a){a=1a.4j;1d b=a.8j,c=a.7p;g(1a.1bA)&&1a.10V===b&&1a.10o===c||(1a.10V=b,1a.10o=c,1a.1bA=1a.1bA&&1a.1bA.1M(),1a.1bA=1g eb({1O:a,13I:[1g Ca({1O:a,1G:b,1D:c,10E:1a.1ov,10v:1g Eb({14A:nb.10U,15u:Rb.10U})})],1yY:1g ig({1O:a,8V:kh.1eF})}),1a.13Z.4Q=1a.1bA,1a.1ab.4Q=1a.1bA);1a.13Z.5P(a,1a.1ab)};Go.1i.1M=1b(){1a.1bA=1a.1bA&&1a.1bA.1M();1f la(1a)};1L.2X(Is.1i,{1yT:{1n:1b(){1f 1a.15z}},1cn:{1n:1b(){1f 1a.1jL}},19R:{1n:1b(){1f 1a.1mm},1C:1b(a){1a.1mm=a}},37v:{1n:1b(){1f!1}},2zl:{1n:1b(){1f!1}},1lr:{1n:1b(){1f 32},1C:1b(a){}},1mc:{1n:1b(){1f Ud.2n8}}});Is.1i.1jM=1b(a){1a.15z.2H(a);a=1a.4j;1d b=a.7p;1a.15z.1ab.5q.1G=a.8j;1a.15z.1ab.5q.1D=b;1f 1a.15z.1ab};Is.1i.9o=1b(a){1a.1mm=!0};Is.1i.2H=1b(a,b){};Is.1i.3Z=1b(){1f!1};Is.1i.1M=1b(){1a.15z=1a.15z&&1a.15z.1M();1f la(1a)};1d 5Vn=1g E,5Vm=1g E(1,1/255,1/1C7,1/2FP);kq.1i.9o=1b(a,b,c){1d d=a.4j,e=1a.40P,f=1a.40O,h=1k.1V(e,f);h*=h;1d g=1k.2t(b/d.8j*e),p=1k.2t(c/d.7p*f),n=0,m=0,w=0,x=-1;d=d.1tG({x:0,y:0,1G:e,1D:f,4Q:1a.2h5});1j(1d q=f=0;q<h&&!(-g<=n&&n<=g&&-p<=m&&m<=p&&(f=E.5f(d,4*((p-m)*e+n+g),5Vn),E.1eE(f,255,f),f=E.2A(f,5Vm),0<f&&1>f));++q){if(n===m||0>n&&-n===m||0<n&&n===1-m){1d t=w;w=-x;x=t}n+=w;m+=x}if(0<f&&1>f&&0<a.5Vl.1h)1f a.4j.13m.1Gg(a.5Vl[0]),b=1g C(b,c),ic.2lu(a,b,f,1g k)};kq.1i.2KL=1b(a,b){1a.1e9.5P(a,b)};kq.1i.2KL=1b(a,b){1a.1e9.5P(a,b)};kq.1i.9P=1b(a,b){1a.13Z.5P(a,b)};kq.1i.2H=1b(a,b){g(1a.2h5)&&g(1a.19m)||(s9(1a),t9(1a),1a.19m=1g Ca({1O:a,1G:1a.40P,1D:1a.40O,8b:ua.9m,10E:Ha.7U}),1a.2h5=1g eb({1O:a,13I:[1a.19m],16Y:!1}));5Vk(1a,a,b)};kq.1i.3Z=1b(){1f!1};kq.1i.1M=1b(){s9(1a);t9(1a);1a.1e9.2z=g(1a.1e9.2z)&&1a.1e9.2z.1M();1f la(1a)};1L.2X(Xl.1i,{5jO:{1n:1b(){1f 1a.40K}}});Xl.1i.5Vj=1b(a){g(a.2z)&&a.2z.1M();1f 1a.3oO(a)};Xl.1i.3oO=1b(a){1d b=a.5O,c=a.5A,d=a.7W,e=a.34c,f=a.34b;"4n"===2h b&&(b=1g ja({5p:[b]}));"4n"===2h c&&(c=1g ja({5p:[c]}));1d h=a.5O;1d l=a.5A;if("4n"!==2h h&&"4n"!==2h l&&g(h.2i)&&g(l.2i)){a=a.7W;1d k=h.2i+"10D"+l.2i+"10D",n;if("4n"!==2h h)1j(n=0;n<h.2N.1h;n++)k+=h.2N+"10D";if("4n"!==2h l)1j(n=0;n<l.2N.1h;n++)k+=l.2N+"10D";h=k+=4H.8s(a)}1s h=1p 0;if(!g(h)){1d m=b.40N(1a.4j);1d w=c.40M(1a.4j);h=m+w+4H.8s(d)}g(1a.2h4[h])?(b=1a.2h4[h],4Y 1a.3tN[h]):(g(m)||(m=b.40N(1a.4j)),g(w)||(w=c.40M(1a.4j)),l=1a.4j,c=1g Ga({gl:l.6M,37S:l.37S,37H:l.37H,5O:b,40L:m,5A:c,4I8:w,7W:d,34c:e,34b:f}),b={1au:1a,2z:c,28W:h,37R:[],7Z:0},c.2BK=b,1a.2h4[h]=b,++1a.40K);++b.7Z;1f b.2z};Xl.1i.7TW=1b(a,b,c){1d d=a.2BK,e=1a.2h4[b+d.28W];g(e)&&(BS(1a,e),e=d.37R.3f(b),-1<e&&d.37R.6z(e,1));1f 1a.1Gx(a,b,c)};Xl.1i.1Jv=1b(a,b){a=1a.2h4[b+a.2BK.28W];if(g(a))1f a.2z};Xl.1i.1Gx=1b(a,b,c){a=a.2BK;1d d=b+a.28W,e=c.5O,f=c.5A,h=c.7W,g=c.34c;c=c.34b;"4n"===2h e&&(e=1g ja({5p:[e]}));"4n"===2h f&&(f=1g ja({5p:[f]}));1d k=1a.4j,n=e.40N(k),m=f.40M(k);e=1g Ga({gl:k.6M,37S:k.37S,37H:k.37H,5O:e,40L:n,5A:f,4I8:m,7W:h,34c:g,34b:c});f={1au:1a,2z:e,28W:d,37R:[],7Z:0};a.37R.1q(b);e.2BK=f;1a.2h4[d]=f;1f e};Xl.1i.5tw=1b(){1d a=1a.3tN,b;1j(b in a)a.3p(b)&&(BS(1a,a[b]),--1a.40K);1a.3tN={}};Xl.1i.5Vi=1b(a){g(a)&&(a=a.2BK)&&0===--a.7Z&&(1a.3tN[a.28W]=a)};Xl.1i.3Z=1b(){1f!1};Xl.1i.1M=1b(){1d a=1a.2h4,b;1j(b in a)a.3p(b)&&a[b].2z.37Q();1f la(1a)};1L.2X(Js.1i,{7TV:{1n:1b(){1f 1a.40J}}});Js.1i.3sI=1b(a){1d b=1a.12s[a];if(g(b))1f 4Y 1a.2pG[a],++b.7Z,b.7y};Js.1i.5Vh=1b(a,b){1d c={7y:b,7Z:1};b.37Q=b.1M;1d d=1a;b.1M=1b(){0===--c.7Z&&(d.2pG[a]=c)};1a.12s[a]=c;++1a.40J};Js.1i.5tv=1b(){1d a=1a.2pG,b;1j(b in a)if(a.3p(b)){1d c=a[b];4Y 1a.12s[b];c.7y.37Q();--1a.40J}1a.2pG={}};Js.1i.3Z=1b(){1f!1};Js.1i.1M=1b(){1d a=1a.12s,b;1j(b in a)a.3p(b)&&a[b].7y.37Q();1f la(1a)};1L.2X(Ks.1i,{18Y:{1n:1b(){1f 1a.5Y}},5q:{1n:1b(){1f 1a.1ox},1C:1b(a){if(!Aa.2L(a,1a.1ox)){Aa.1y(a,1a.1ox);a=1a.1ox;1d b=1a.4I7;b.x=a.x;b.y=a.y;b.z=a.1G;b.w=a.1D;1a.40I=!0}}},40H:{1n:1b(){1f 1a.4I7}},5Vg:{1n:1b(){u9(1a);1f 1a.4I6}},3Zj:{1n:1b(){u9(1a);1f 1a.4I5}},12W:{1n:1b(){1f 1a.13O},1C:1b(a){A.1y(a,1a.13O);1a.3ty=1a.3tH=1a.3tG=1a.3tF=1a.3tE=1a.37K=1a.37M=1a.40C=1a.37L=1a.3tC=1a.3tB=1a.3tz=1a.40F=1a.40G=1a.3tD=1a.3tA=!0}},3tM:{1n:1b(){1a.40G&&(1a.40G=!1,A.12Z(1a.13O,1a.4I4));1f 1a.4I4}},5Vf:{1n:1b(){1d a=1a.5Ve;1a.40F&&(1a.40F=!1,A.1nf(1a.3tM,a),J.1z0(a,a));1f a}},11A:{1n:1b(){1f 1a.1by}},37O:{1n:1b(){DS(1a);1f 1a.3tL}},40q:{1n:1b(){DS(1a);1f 1a.4HK}},3tu:{1n:1b(){DS(1a);1f 1a.4I3}},37P:{1n:1b(){1f 1a.4HJ}},4yc:{1n:1b(){x9(1a);1f 1a.40E}},5Vd:{1n:1b(){1f 1a.4HI}},5Vc:{1n:1b(){x9(1a);1f 1a.4I2}},18T:{1n:1b(){1f 1a.16y}},3tK:{1n:1b(){1a.40t&&(1a.40t=!1,1a.8C===O.10j||1a.8C===O.1at||1a.40u?A.1y(A.6h,1a.40D):A.12Z(1a.16y,1a.40D));1f 1a.40D}},5Vb:{1n:1b(){1f 1a.40s}},2pF:{1n:1b(){1a.3tz&&(1a.3tz=!1,A.1oJ(1a.1by,1a.13O,1a.4I1));1f 1a.4I1}},4HX:{1n:1b(){1a.3tA&&(1a.3tA=!1,A.1oJ(1a.37O,1a.13O,1a.4I0));1f 1a.4I0}},4HQ:{1n:1b(){if(1a.3tB){1a.3tB=!1;1d a=1a.2pF,b=1a.4HZ;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=0;b[13]=0;b[14]=0;b[15]=a[15]}1f 1a.4HZ}},3tJ:{1n:1b(){1a.3tC&&(1a.3tC=!1,A.12Z(1a.2pF,1a.4HY));1f 1a.4HY}},40A:{1n:1b(){1a.3tD&&(1a.3tD=!1,A.12Z(1a.4HX,1a.4HW));1f 1a.4HW}},1Ue:{1n:1b(){1a.3tw&&(1a.3tw=!1,A.9b(1a.16y,1a.1by,1a.4HV));1f 1a.4HV}},3tl:{1n:1b(){1a.3tx&&(1a.3tx=!1,A.12Z(1a.1Ue,1a.4HU));1f 1a.4HU}},40B:{1n:1b(){1a.37L&&(1a.37L=!1,A.9b(1a.16y,1a.2pF,1a.4HT));1f 1a.4HT}},4HS:{1n:1b(){1a.40C&&(1a.40C=!1,A.12Z(1a.40B,1a.4HR));1f 1a.4HR}},5Va:{1n:1b(){1a.37M&&(1a.37M=!1,A.9b(1a.16y,1a.4HQ,1a.4HP));1f 1a.4HP}},5V9:{1n:1b(){1a.37K&&(1a.37K=!1,A.9b(1a.40s,1a.2pF,1a.4HO));1f 1a.4HO}},2U:{1n:1b(){if(1a.3tE){1a.3tE=!1;1d a=1a.1VA;A.1nf(1a.3tJ,a);J.1z0(a,a)}1f 1a.1VA}},5V8:{1n:1b(){if(1a.3tG){1a.3tG=!1;1d a=1a.4HN;A.1nf(1a.40A,a);J.1z0(a,a)}1f 1a.4HN}},5V7:{1n:1b(){1a.3tF&&(1a.3tF=!1,A.1nf(1a.3tJ,1a.4HM));1f 1a.4HM}},5V6:{1n:1b(){1a.3tH&&(1a.3tH=!1,A.1nf(1a.40A,1a.4HL));1f 1a.4HL}},5V5:{1n:1b(){1f 1a.40v}},37F:{1n:1b(){1f 1a.40r}},37N:{1n:1b(){1f 1a.37J}},5V4:{1n:1b(){1f 1a.4HF}},37D:{1n:1b(){1f 1a.4HE}},5V3:{1n:1b(){1f 1a.5UQ}},5V2:{1n:1b(){1f 1a.2BI}},2cg:{1n:1b(){1f 1a.40p}},4qd:{1n:1b(){1f 1a.4HB}},3tI:{1n:1b(){1f 1a.40o}},5V1:{1n:1b(){1f 1a.40n}},32c:{1n:1b(){1f 1a.2y0}},5V0:{1n:1b(){1f 1a.4HC}},2uu:{1n:1b(){1f 1a.2BH}},1jo:{1n:1b(){1f 1a.2f2}},18V:{1n:1b(){1f 1a.1r0}},5UZ:{1n:1b(){1f 1a.4HA}},5UY:{1n:1b(){v9(1a);1f 1a.40z.162}},5UX:{1n:1b(){v9(1a);1f 1a.40z.15r}},5UW:{1n:1b(){1f 1a.40k}},2dz:{1n:1b(){1f 1a.2dJ}},13S:{1n:1b(){1f 1a.4HD}},5UV:{1n:1b(){1f 1a.4Hv}},5UU:{1n:1b(){1f 1a.4Hu}},6t:{1n:1b(){1f 1a.1Er}},1a4:{1n:1b(){1f 1a.1vi}},1Oq:{1n:1b(){1f 1a.4Hz}},3tt:{1n:1b(){1f 1a.4Hy}},1mr:{1n:1b(){1f 1a.1K4}},1mq:{1n:1b(){1f 1a.22B}},5UT:{1n:1b(){1f 1a.4Hw}},37I:{1n:1b(){1f 1a.4Hx}},2y2:{1n:1b(){1f 1a.40j}},2y1:{1n:1b(){1f 1a.40i}},2mQ:{1n:1b(){1f 1a.27b}},28U:{1n:1b(){1f 1a.40l}},5US:{1n:1b(){1f 1a.40u}},40y:{1n:1b(){1f 1a.40h}}});1d pF=1g J,5UN=1g T;Ks.1i.3pm=1b(a){1d b=a.1on;A.1y(b,1a.1by);A.1nf(b,1a.4HK);1a.3tH=1a.3tG=1a.3tF=1a.3tE=1a.37K=1a.37M=1a.37L=1a.3tx=1a.3tw=1a.3tD=1a.3tC=1a.3tB=1a.3tA=1a.3tz=1a.40x=1a.40w=!0;b=a.1x3;A.1y(b,1a.4HJ);A.1nf(b,1a.4HI);k.1y(a.6K,1a.1Es);k.1y(a.18k,1a.4HH);k.1y(a.2f1,1a.4HG);k.1y(a.1je,1a.2Mn);1a.3ty=!0;1a.40v.x=a.3j.3I;1a.40v.y=a.3j.3W;1a.1Gg(a.3j);1a.40u=1a.8C!==O.10j&&a.3j 2m Jb};Ks.1i.1Gg=1b(a){A.1y(a.1pv,1a.16y);1d b=1a.5Y;if(g(b)&&b.5UR&&"2U"===b.19c.2i){1d c=1a.16y;c[8]+=b.4yf.x;c[9]+=b.4yf.y}1a.37M=1a.37L=1a.3tx=1a.3tw=1a.40t=!0;g(a.2ey)&&(A.1y(a.2ey,1a.40s),1a.37K=!0);1a.40r.x=a.3I;1a.40r.y=a.3W;1a.4HF=a.3W-a.3I+1;1a.4HE=B.1iK(1a.4HF);1a.5UQ=1/1a.4HE;g(a.1d3)&&(a=a.1d3);1a.37J.x=a.5C;1a.37J.y=a.7b;1a.37J.z=a.3B;1a.37J.w=a.2W};Ks.1i.1pA=1b(a){1a.1Er=a};Ks.1i.5UK=1b(a){if(g(a)){1d b=a.21F.2a,c=a.1JL.2a,d=a.21G.2a,e;1d f=0;1j(e=b.1h;f<e;f++){1d h=b[f];h.1ef=1a.5Y.3z;A.8P(1a.1by,h.1K,h.2BJ)}f=0;1j(e=c.1h;f<e;f++)h=c[f],h.1ef=1a.5Y.3z,A.8P(1a.1by,h.1K,h.2BJ),J.10r(1a.40q,h.1K,h.28V),k.1T(h.28V,h.28V);f=0;1j(e=d.1h;f<e;f++)h=d[f],h.1ef=1a.5Y.3z,J.10r(1a.40q,h.1K,h.28V),k.1T(h.28V,h.28V);a.5UP()}};1d 5UL=[],5UM=1g CS;Ks.1i.2H=1b(a){1a.8C=a.3z;1a.3ms=a.11s;1a.4HD=1a.2dJ=a.13S;1d b=a.3w;1a.3pm(b);a.3z===O.10j?(1a.3tv=b.3j.2W-b.3j.3B,1a.2BI.x=.5*1a.3tv,1a.2BI.y=1a.2BI.x*1a.2BI.x):(1a.3tv=0,1a.2BI.x=0,1a.2BI.y=0);g(Da.3nJ(a.6q,pF))||(pF=Da.2yN(a.6q,pF));1d c=tA.5UO(a.6q,1a.40p);J.10r(pF,c,c);k.1T(c,1a.40o);c=J.10r(1a.3tu,c,1a.40n);k.1T(c,c);c=tA.4ue(a.6q,1a.4HC);J.10r(pF,c,c);J.10r(1a.3tu,c,c);k.1T(c,c);c=a.11s;1d d=c.3c.10Z(1a.40p,5UN);c.12z(d,1a.4HB);c=m(a.1e8,5UM);c 2m CS?(1a.2BH=k.1y(1a.40o,1a.2BH),1a.2f2=k.1y(1a.40n,1a.2f2)):(1a.2BH=k.1T(k.11k(c.2G,1a.2BH),1a.2BH),1a.2f2=J.10r(1a.3tu,1a.2BH,1a.2f2));d=c.1A;d=k.9v(d.5r,d.5t,d.5G,1a.4HA);d=k.4g(d,c.12r,d);c=k.1xj(d);1<c?k.1eE(d,c,1a.1r0):k.1y(d,1a.1r0);1a.2y0=k.1y(a.32c,1a.2y0);c=a.40m;g(c)&&c.2H(a);1a.4Hz=g(c)?c.6T:1p 0;1a.4Hy=m(a.3tt,a.1O.4Ho);1a.1K4=m(a.1mr,5UL);1a.22B=a.1mq;1a.4Hx=a.37I;g(1a.22B)&&C.1y(1a.22B.6e,1a.4Hw);1a.4Hv=a.1ep.1DZ;1a.40l=a.28U;1a.5Y=a;1a.40k=Da.2yN(a.6q,1a.40k);1a.40j.x=a.2y2.x*a.1O.8j;1a.40j.y=a.2y2.y*a.1O.7p;1a.40i.x=a.2y1.x*a.1O.8j;1a.40i.y=a.2y1.y*a.1O.7p;b=b.3j.16X;c=1a.1ox;1a.4Hu=(c.1D>c.1G?2*1k.10n(.5*b)/c.1D:2*1k.10n(.5*b)/c.1G)*a.1ev;y.1y(a.1a4,1a.1vi);1a.27b=a.2mQ;1a.27b*=1a.27b;1a.27b===3a.19B&&(1a.27b=-1);1a.5UK(a.1hp);g(1a.1Ju)&&(1a.40h.x=1a.1Ju.1G,1a.40h.y=1a.1Ju.1D)};1d w9=1g k,5UJ=1g k,5UI=1g k,5UH=1g k,5UG=1g k,5UF=1g T,5UE=1g k,5UD=1g A;1L.2X(Ls.1i,{1yT:{1n:1b(){1f 1a.15z}},1cn:{1n:1b(){1f 1a.1jL}},19R:{1n:1b(){1f 1a.1mm},1C:1b(a){1a.1mm=a}},37v:{1n:1b(){1f!1}},2zl:{1n:1b(){1f!1}},1mc:{1n:1b(){1f Ud.3Pf}}});Ls.1i.1jM=1b(a){1a.15z.2H(a);1d b=1a.4j,c=a.3w,d=b.7p,e=1a.2BG;1a.15z.1ab.5q.1G=b.8j;1a.15z.1ab.5q.1D=d;c.5Ed(e);1a.5UC=a.1bz;a.1bz=!1;1f 1a.15z.1ab};Ls.1i.9o=1b(a){a.3w.5Ec();a.1bz=1a.5UC};Ls.1i.2H=1b(a,b){};Ls.1i.3Z=1b(){1f!1};Ls.1i.1M=1b(){1a.15z=1a.15z&&1a.15z.1M();1f la(1a)};1L.2X(Ms.1i,{1yT:{1n:1b(){1f 1a.15z}},1cn:{1n:1b(){1f 1a.1jL}},19R:{1n:1b(){1f 1a.1mm},1C:1b(a){1a.1mm=a}},37v:{1n:1b(){1f!1}},2zl:{1n:1b(){1f!1}},1lr:{1n:1b(){1f 8},1C:1b(a){}},1mc:{1n:1b(){1f Ud.1pe}}});Ms.1i.1jM=1b(a){1a.15z.2H(a);a=1a.4j;1d b=a.7p;1a.15z.1ab.5q.1G=a.8j;1a.15z.1ab.5q.1D=b;1f 1a.15z.1ab};Ms.1i.9o=1b(a){};Ms.1i.2H=1b(a,b){};Ms.1i.3Z=1b(){1f!1};Ms.1i.1M=1b(){1a.15z=1a.15z&&1a.15z.1M();1f la(1a)};1L.2X(Ns.1i,{1yT:{1n:1b(){1f 1a.15z}},1cn:{1n:1b(){1f 1a.1jL}},19R:{1n:1b(){1f 1a.1mm},1C:1b(a){1a.1mm=a}},37v:{1n:1b(){1f!1}},2zl:{1n:1b(){1f!1}},1lr:{1n:1b(){1f 16},1C:1b(a){}},1mc:{1n:1b(){1f Ud.33n}}});Ns.1i.1jM=1b(a){1a.15z.2H(a);a=1a.4j;1d b=a.7p;1a.15z.1ab.5q.1G=a.8j;1a.15z.1ab.5q.1D=b;1f 1a.15z.1ab};Ns.1i.9o=1b(a){};Ns.1i.2H=1b(a,b){};Ns.1i.3Z=1b(){1f!1};Ns.1i.1M=1b(){1a.15z=1a.15z&&1a.15z.1M();1f la(1a)};1L.2X(Os.1i,{1yT:{1n:1b(){1f 1a.15z}},1cn:{1n:1b(){1f 1a.1jL}},19R:{1n:1b(){1f 1a.1mm},1C:1b(a){1a.1mm=a}},37v:{1n:1b(){1f!1}},2zl:{1n:1b(){1f!1}},1mc:{1n:1b(){1f Ud.3Zg}}});Os.1i.1jM=1b(a){1a.15z.2H(a);a=1a.4j;1d b=a.7p;1a.15z.1ab.5q.1G=a.8j;1a.15z.1ab.5q.1D=b;1f 1a.15z.1ab};Os.1i.9o=1b(a){};Os.1i.2H=1b(a,b){};Os.1i.3Z=1b(){1f!1};Os.1i.1M=1b(){1a.15z=1a.15z&&1a.15z.1M();1f la(1a)};1d 5Uj={};1L.2X(kg.1i,{id:{1n:1b(){1f 1a.7R}},1py:{1n:1b(){1f 1a.1u2}},3M:{1n:1b(){1f 1a.10C}},1hf:{1n:1b(){1f 1a.409}},3Py:{1n:1b(){1f 1a.1jd}},13m:{1n:1b(){1f 1a.2Bx}},7TU:{1n:1b(){1f 1a.4Ht}},2h3:{1n:1b(){1f 8<=1a.4Ht}},2N4:{1n:1b(){1f 1a.5UB}},7TT:{1n:1b(){1f 1a.40g||1a.1u2}},7TS:{1n:1b(){1f 1a.5UA}},7TR:{1n:1b(){1f 1a.5Uz||1a.1u2}},1Pf:{1n:1b(){1f 1a.5Uy||1a.1u2}},8X:{1n:1b(){1f 1a.19m||1a.1u2}},2BF:{1n:1b(){1f 1a.1u2||1a.5Ux}},4Hs:{1n:1b(){1f 1a.5Uw}},20p:{1n:1b(){1f 1a.1u2||1a.5Uv}},40f:{1n:1b(){1f 1a.4Hq}},4Hr:{1n:1b(){1f 1a.1u2&&1a.4Hq||!1a.1u2&&1a.5Uu}},7TQ:{1n:1b(){1f!!1a.2h2}},1TY:{1n:1b(){1f 1a.5Ut}},27a:{1n:1b(){1f 1a.5Us}},279:{1n:1b(){1f 1a.5Ur}},5Uq:{1n:1b(){1f 1a.5Up||1a.1u2}},1Mb:{1n:1b(){1f 1a.40e||1a.1u2}},2Kf:{1n:1b(){1f 1a.5Uo||1a.1u2}},2K2:{1n:1b(){1f 1a.3TM}},2K1:{1n:1b(){1f 1a.1u2&&1a.3TM||!1a.1u2&&1a.4yi}},1QR:{1n:1b(){1f 1a.5Un||1a.1u2}},37H:{1n:1b(){1f 1a.40d}},7TP:{1n:1b(){1f 1a.4Hp},1C:1b(a){1a.4Hp=a;1a.6M=5Um(1a.5Ul,a?5Uk:1p 0)}},1np:{1n:1b(){1p 0===1a.1u0&&(1a.1u0=1g Ca({1O:1a,5j:{1G:1,1D:1,1a9:1g 4L([255,255,255,255])},13E:!1}));1f 1a.1u0}},3sH:{1n:1b(){1p 0===1a.2NN&&(1a.2NN=1g Ca({1O:1a,5j:{1G:1,1D:1,1a9:1g 4L([0,0,0,0])},13E:!1}));1f 1a.2NN}},4Ho:{1n:1b(){if(1p 0===1a.2NO){1d a={1G:1,1D:1,1a9:1g 4L([255,255,255,255])};1a.2NO=1g vl({1O:1a,5j:{1sp:a,1DI:a,1yN:a,1yM:a,1DH:a,1DG:a},13E:!1})}1f 1a.2NO}},7p:{1n:1b(){1f 1k.2t(1a.6M.7p*1a.3tp)}},8j:{1n:1b(){1f 1k.2t(1a.6M.8j*1a.3tp)}},4sE:{1n:1b(){1f 1a.6M.7p*1a.3na}},4sF:{1n:1b(){1f 1a.6M.8j*1a.3QH}},40c:{1n:1b(){1f 5Uj}}});1d FS;"7w"!==2h 4Hn&&(FS=[H.1sq]);1d 5Ui=1g Ec;kg.1i.9P=1b(a,b){a=m(a,5Ui);b=m(b,1a.4Hj);1d c=1a.6M,d=0,e=a.1A,f=a.4e,h=a.1gh;g(e)&&(y.2L(1a.2KB,e)||(y.1y(e,1a.2KB),c.20L(e.5r,e.5t,e.5G,e.2O)),d|=c.3Y5);g(f)&&(f!==1a.4Hm&&(1a.4Hm=f,c.36x(f)),d|=c.3Y4);g(h)&&(h!==1a.4Hl&&(1a.4Hl=h,c.2p3(h)),d|=c.4Hk);e=m(a.4w,1a.40b);y9(1a,e,b,!0);a=m(a.4Q,b.4Q);ES(1a,a);c.9P(d)};kg.1i.1Mm=1b(a,b,c,d){v.2l("1Vz",a);v.2l("1Vz.2z",a.1Q1);b=m(b,1a.4Hj);1d e=m(a.13p,b.4Q),f=m(a.1hT,1a.40b);c=m(c,a.1Q1);d=m(d,a.1cH);1d h=c;if(g(e)&&f.9J&&f.9J.3e&&!e.4Hi)1t 1g r("9B 4e 6S 1ag 2S be 3e (1Vz.4w.9J.3e) 2Jo 1Z 4Q (1Vz.4Q) 18f 2S 118 a 4e or 4e-1gh 2pE.");ES(1a,e);y9(1a,f,b,!1);h.1QJ();1a.3tq=1k.1V(1a.3tq,h.4Hh);1d l=d;d=a.1vl;e=a.1BB;f=a.1hs;b=a.1sK;h=a.1gC;if(!Ja.1f6(d))1t 1g r("1Vz.6Z is 1X and 2Q be 1eu.");v.2l("1Vz.4c",e);v.1N.2b.9Y("1Vz.2M",f,0);g(b)&&v.1N.2b.9Y("1Vz.7Z",b,0);v.1N.2b.9Y("1Vz.1gC",h,0);if(0<h&&!1a.2Kf)1t 1g r("5Uh 3Wv 6A is 2S 11J");1a.2Bx.12W=m(a.12t,A.8K);c.3ZN(l,1a.2Bx,1a.3ZM);e.1QJ();a=e.10X;g(a)?(f*=a.4Hg,b=m(b,a.3ts),0===h?1a.6M.4Eq(d,b,a.17P,f):1a.5Ug(d,b,a.17P,f,h)):(b=m(b,e.40a),0===h?1a.6M.3ZL(d,f,b):1a.5Uf(d,f,b,h));e.37G()};kg.1i.1sr=1b(){1d a=1a.6M;a.28B(1F);1a.28T=1p 0;a.1Bw(a.1JV,1F);1d b=FS;1a.1QR&&1a.3tr(b);b=1a.3tq;1j(1d c=1a.3tq=0;c<b;++c)a.1pR(a.1tW+c),a.1eg(a.17U,1F),a.1eg(a.4Hf,1F)};kg.1i.1tG=1b(a){1d b=1a.6M;a=m(a,m.4Z);1d c=1k.1V(m(a.x,0),0),d=1k.1V(m(a.y,0),0),e=m(a.1G,b.8j*1a.3tp),f=m(a.1D,b.7p*1a.3tp);a=a.4Q;v.1N.2b.1bP("5Ue.1G",e,0);v.1N.2b.1bP("5Ue.1D",f,0);1d h=Ha.7U;g(a)&&0<a.5Ud&&(h=a.167(0).10E);1d l=ua.9g(ua.9m,h,e,f);ES(1a,a);b.1tG(c,d,e,f,ua.9m,h,l);1f l};1d 4Hd={1K:0,8u:1};kg.1i.4He=1b(){1d a=1a.1au.5Uc;g(a)||(a=1g Pb({2w:{1K:1g Pa({3k:I.3O,2Z:2,2a:[-1,-1,1,-1,1,1,-1,1]}),8u:1g Pa({3k:I.3O,2Z:2,2a:[0,0,1,0,1,1,0,1]})},4N:1g 10Y([0,1,2,0,2,3]),6Z:Ja.11G}),a=Fb.1M5({1O:1a,3y:a,7W:4Hd,1tF:xa.7C,1qK:!0}),1a.1au.5Uc=a);1f a};kg.1i.1aL=1b(a,b){1f 1a.32O("3Q 1m 1K;\\2J 1v 8u;\\1J 1v 2F;\\2s 2k()\\n{\\11u = 1K;\\1mN = 8u;\\n}\\n",a,b)};kg.1i.32O=1b(a,b,c){c=m(c,m.4Z);1f 1g Oa({4c:1a.4He(),6Z:Ja.11G,4w:c.4w,2z:Ga.4t({1O:1a,5O:a,5A:b,7W:4Hd}),4J:c.4J,7H:c.7H,4Q:c.4Q,6t:c.6t})};kg.1i.5Ub=1b(){1f 1g Ls(1a)};kg.1i.5Ua=1b(){1f 1g Ms(1a)};kg.1i.5U9=1b(){1f 1g Ns(1a)};kg.1i.4sB=1b(){1f 1g Is(1a)};kg.1i.7TO=1b(){1f 1g kq(1a)};kg.1i.5U8=1b(){1f 1g Os(1a)};kg.1i.7TN=1b(a){v.2l("1fR",a);1f 1a.2pD[a.22A()]};kg.1i.2xU=1b(a){v.2l("1cI",a);1f 1a.2pD[a]};1L.2X(GS.1i,{2c:{1n:1b(){1f 1a.2pD[1a.10t]},1C:1b(a){1a.2pD[1a.10t]=a}}});GS.1i.1M=1b(){4Y 1a.2pD[1a.10t]};kg.1i.1Ga=1b(a){v.2l("2c",a);++1a.4Hc[0];1d b=1a.4Hc[0];if(0===b)1t 1g qa("1u1 of 3QL 3to 7TM.");1a.2pD[b]=a;1f 1g GS(1a.2pD,b,y.28S(b))};kg.1i.3Z=1b(){1f!1};kg.1i.1M=1b(){1d a=1a.1au,b;1j(b in a)if(a.3p(b)){1d c=a[b];g(c.1M)&&c.1M()}1a.409=1a.409.1M();1a.1jd=1a.1jd.1M();1a.1u0=1a.1u0&&1a.1u0.1M();1a.2NO=1a.2NO&&1a.2NO.1M();1a.2NN=1a.2NN&&1a.2NN.1M();1f la(1a)};1L.2X(lg.1i,{4Q:{1n:1b(){1f 1a.13p}},8X:{1n:1b(){1f 1a.19m}},1cn:{1n:1b(){1f 1a.1jL}},19R:{1n:1b(){1f 1a.1mm},1C:1b(a){1a.1mm=a}},4Hb:{1n:1b(){1f 1a.408},1C:1b(a){1a.408!==a&&(1a.408=a,1a.1mm=!0)}},1lr:{1n:1b(){1f 1},1C:1b(a){}},1mc:{1n:1b(){1f Ud.1Z1}}});lg.1i.1jM=1b(a){1d b=1a.4j,c=b.8j,d=b.7p;1a.1ab.5q.1G=c;1a.1ab.5q.1D=d;g(1a.13p)&&1a.1G===c&&1a.1D===d||(1a.1G=c,1a.1D=d,1a.19m=1a.19m&&1a.19m.1M(),1a.19m=1g Ca({1O:b,1G:c,1D:d,8b:ua.9m,10E:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})}),1a.13p=1a.13p&&1a.13p.1M(),1a.13p=1g eb({1O:b,13I:[1a.19m],16Y:!1}),b.8X||(1a.2pC=1a.2pC&&1a.2pC.1M(),1a.2pC=1g Ca({1O:b,1G:c,1D:d,8b:ua.9m,10E:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})}),1a.2BE=1a.2BE&&1a.2BE.1M(),1a.2BE=1g eb({1O:b,13I:[1a.2pC],1yY:1g ig({1O:b,1G:c,1D:d,8V:kh.1eF}),16Y:!1})));5U7(1a,b,c,d);1a.1vK&&1a.1vK(a);b.8X||(a.10s.4e=!0,a.10s.11P=!0,1a.1ab.4Q=1a.2BE);1f 1a.1ab};lg.1i.9o=1b(a){a.1O.8X||(a.10s.4e=!1,a.10s.11P=!1);1a.1vJ&&1a.1vJ(a)};lg.1i.2H=1b(a,b,c){1a.3tn=a.8X?c.1ku:1a.2pC;g(1a.13Z)&&1a.13Z.5P(a,b);g(1a.1e9)&&1a.1e9.5P(a,b)};lg.1i.1M=1b(){1a.19m=1a.19m&&1a.19m.1M();1a.13p=1a.13p&&1a.13p.1M();1a.2pC=1a.2pC&&1a.2pC.1M();1a.2BE=1a.2BE&&1a.2BE.1M();g(1a.1e9)&&(1a.1e9.2z=1a.1e9.2z.1M());1a.3tn=1p 0;1f la(1a)};LC.1i.1M=1b(){g(1a.10u)&&(1a.10u.4c=1a.10u.4c&&1a.10u.4c.1M(),1a.10u.2z=1a.10u.2z&&1a.10u.2z.1M(),1a.10u=1p 0);1a.3tk=1a.37C=1a.1BB=1p 0};LC.1i.6l=1b(a){if(!1a.9s){g(1a.10u)&&(1a.10u.4c=1a.10u.4c&&1a.10u.4c.1M(),1a.10u.2z=1a.10u.2z&&1a.10u.2z.1M(),1a.10u=1p 0);1a.7TL=1F;1a.9s=!0;1d b=1g tc({1ga:{3q:k.5U6(1a.9h)},9i:100,6f:1E-6}),c=tc.14t(b);A.1Bh(1a.3tm,c.7u.2V,1a.3tm);1a.1BB=c.2w.1K.2a;1a.37C=c.2w.2U.2a;1a.3tk=c.2w.st.2a;1a.10u=1g Oa({6Z:Ja.11G,4a:1a.3tm,6t:ma.1xr,6W:c.7u,8d:!1});b={4f:0};1a.10u.4c=Fb.1M5({1O:a,3y:c,7W:b,1tF:xa.7C,1qK:!0});c=1g ja({5p:["3Q 1m 4f;\\n\\1B 1m 15a;\\n\\1J 1m 4m;\\1J 1m 14u;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\n#1u\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   4m = 15a;\\n#1z 1db\\n   1b0 = 4f.1H;\\n#1u\\n}"]});1d d=1g ja({5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n\\1J 1m 4m;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\4i 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   2C = 4m;\\n#1z 1db\\n   1w 2U = 1T(1ju(1b0));\\n   1m 1uP = 9q * 1m(1b0.1H, 1.0);\\n   1w 19X = 1T(1HW - 1w(1uP));\\n   1o 18o = 1V(2A(19X, 2U), 0.0);\\n   1m 8t = 4m * 1j3 * 18o;\\n   1m 18A = 4m * 1j3;\\n   2C = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n#1u\\n}"]});c.2N.1q("1db");d.2N.1q("1db");1a.10u.2z=Ga.4t({1O:a,5O:c,5A:d,7W:b});1a.10u.4w=pa.4t({8d:{3e:!1},9J:{3e:!0}});1d e=1g E(128/255,1,235/255,1);1a.10u.4J={15a:1b(){1f e}}}};LC.1i.2H=1b(a,b){1a.6l(a);1d c=a.1tG({4Q:1a.4Ha.19d.4Q}),d=A.8K.1y();A.12Z(1a.3tm,d);1d e=B.10Q(b.19I.3N),f=B.10Q(b.19I.4k);b=b.19I.1D;1d h=1a.1BB.1h/3,g=1a.10u.4c.15o(0),p=1g 4A(8*h),n=1g E,m=1g E(1,1/255,1/1C7,1/2NG),w=a.13m,x=w.1Ue,q=w.3tl,t=w.37F,r=t.x;t=t.y;1j(1d u=0;u<h;u++){1d v=1g E(1a.1BB[3*u],1a.1BB[3*u+1],1a.1BB[3*u+2],1),y=T.12y(v);if(!(50>y.1D)){1d C=[],F=[],H=y,K=x,I=C,L=F,S=k.15i(H.3N,H.4k,0);H=k.15i(H.3N,H.4k,100);S=1g E(S.x,S.y,S.z,1);A.10r(K,S,S);E.1eE(S,S.w,S);I.1q(.5*S.x+.5);I.1q(.5*S.y+.5);S=1g E(H.x,H.y,H.z,1);A.10r(K,S,S);E.1eE(S,S.w,S);L.1q(.5*S.x+.5);L.1q(.5*S.y+.5);K=0;F[0]!=C[0]&&F[1]!=C[1]&&(K=(F[1]-C[1])/(F[0]-C[0]));F=1g E(0,0,0,1);S=0;1j(I=a.7p-1;-1<I;I--)if(L=0===K?1k.9p(C[0]*a.8j):1k.9p(((I/a.7p-C[1])/K+C[0])*a.8j),L=B.2Y(L,0,a.8j-1),S=E.5f(c,4*(a.8j*I+L),n),E.1eE(S,255,S),S=E.2A(S,m),0<S){F.x=L/a.8j*2-1;F.y=I/a.7p*2-1;1W}1a.4Ha.2R.18Y.1bz&&0<S&&(S=t*(1-r/(1k.3r(2,S*w.37D)-1+r))/(t-r));S=2*S-1;F.z=S;A.10r(q,F,F);E.1eE(F,F.w,F);C=T.12y(F);C.3N=B.10Q(C.3N);C.4k=B.10Q(C.4k);y.3N=B.10Q(y.3N);y.4k=B.10Q(y.4k);F=T.3VG(e,f,C.3N,C.4k);C=T.3VG(e,f,y.3N,y.4k)/F*(C.1D-b)+b;y=k.8g(y.3N,y.4k,C);v.x=y.x;v.y=y.y;v.z=y.z;v.w=1}A.10r(d,v,v);p[8*u]=v.x;p[8*u+1]=v.y;p[8*u+2]=v.z;p[8*u+3]=1a.3tk[2*u];p[8*u+4]=1a.3tk[2*u+1];p[8*u+5]=1a.37C[3*u];p[8*u+6]=1a.37C[3*u+1];p[8*u+7]=1a.37C[3*u+2]}g.7e.1jR(p,0)};1L.2X(lq.1i,{7TK:{1n:1b(){1f 1a.1sJ.1h}}});lq.1i.7TJ=1b(a){g(a)&&1a.1sJ.1q(a)};lq.1i.7TI=1b(a){if(1a.1sJ.1h<=a)1t 1g r("2P is 5U5.");1f 1a.1sJ[a]};lq.1i.7TH=1b(a,b){if(1a.1sJ.1h<=a)1t 1g r("2P is 5U5.");b?1a.1sJ[a].1M():1a.1sJ[a].9P();1a.1sJ.6z(a,1)};lq.1i.1M=1b(){1j(1d a=0;a<1a.1sJ.1h;a++)1a.1sJ[a].1M();1a.1sJ=[];1a.2R.1ck.3S(1a.6X,!0)};lq.1i.9P=1b(){1j(1d a=0;a<1a.1sJ.1h;a++)1a.1sJ[a].9P();1a.1sJ=[];1a.2R.1ck.3S(1a.6X,!1)};lq.1i.1x4=1b(){if(""===1a.6X&&!1a.27V){1j(1d a=0;a<1a.1sJ.1h;a++)""!=1a.1sJ[a].6X?1a.2R.1ck.add(1a.1sJ[a]):1a.1sJ[a].1x4();1a.6X="7TG"+1a.2R.1ck.1nr;1a.2R.1ck.add(1a)}};lq.1i.2H=1b(a,b,c){if("1Ge"!==b.19c.2i&&!b.10s.11P&&!b.3w.1Mx){b=[];c=[];1j(1d d=1a.1sJ,e=0;e<d.1h;e++){1j(1d f=[],h=[],g=d[e].5V,p=0;p<d.1h;p++){1d n;if(n=e!=p){n=d[p].5V;1d m=g.3L,w=n.3L;n=k.3s(g.2V,n.2V)<m+w?!0:!1}n&&(f.1q(d[p].6X),h.1q(p))}0<f.1h&&(f.1q(d[e].6X),h.1q(e));b.1q(f);c.1q(h)}d=1a.1sJ.1h;1j(e=0;e<d;e++)f=b[e],h=c[e],0<f.1h&&(1a.1sJ[e].5Tf(f),5U4(a,1a.1sJ[e],1a.1sJ,h))}};1d Pj=1L.3F({2y9:0,32g:1,4H9:2});1L.2X(mq.1i,{1hJ:{1n:1b(){1f 1a.4H8},1C:1b(a){1a.4H8=a;1a.13A=!0}},22z:{1n:1b(){1f 1a.4H7},1C:1b(a){1a.4H7=a;1a.13A=!0}},7TF:{1n:1b(){1f 1a.3tj},1C:1b(a){1a.3tj=a;1a.13A=!0}}});mq.1i.4DZ=1b(a){1a.9h=[];1a.37B=!0;1a.5U3=1b(b){a(b);1a.37B=!1};1a.13A=!0};mq.1i.2H=1b(a,b,c){if(!b.19c.3e&&1a.13A){1a.5Y=b;g(1a.19d)||(1a.19d=1g lg(a),1a.19d.1cn.1oA=!0,1a.19d.1cn.1kr=!0,1a.19d.11h=1a.11h,b.18w[1a.6X]=1a.19d);g(1a.1QQ)||(1a.1QQ=1g lg(a),1a.1QQ.1cn.1oA=!0,1a.1QQ.1cn.1kr=!0,1a.1QQ.11h=1a.11h,b.18w[1a.407]=1a.1QQ);g(1a.1QP)||(1a.1QP=1g lg(a),1a.1QP.1cn.1oA=!0,1a.1QP.1cn.1kr=!0,1a.1QP.11h=1a.11h,b.18w[1a.406]=1a.1QP);g(1a.1QO)||(1a.1QO=1g lg(a),1a.1QO.1cn.1oA=!0,1a.1QO.1cn.1kr=!0,1a.1QO.11h=1a.11h,b.18w[1a.402]=1a.1QO);g(1a.1QN)||(1a.1QN=1g lg(a,1a.2R.32X),1a.1QN.1cn.1oA=!0,1a.1QN.1cn.1kr=!0,1a.1QN.11h=1a.11h,b.18w[1a.3ZZ]=1a.1QN);g(1a.1Vw)||(1a.1Vw=1g lg(a),1a.1Vw.1cn.1oA=!0,1a.1Vw.11h=1a.11h,b.18w[1a.3ZY]=1a.1Vw);1a.13A=!1;c=.5*(1a.1hJ[2]+1a.22z[2])+1a.3tj;1d d=1g k;d.x=.5*(1a.22z[0]-1a.1hJ[0])+1a.1hJ[0];d.y=.5*(1a.22z[1]-1a.1hJ[1])+1a.1hJ[1];d.z=c;1a.2h1=k.1iy([d.x,d.y,c])[0];d=k.1iy([1a.1hJ[0],1a.1hJ[1],c])[0];c=k.1iy([1a.22z[0],1a.22z[1],c])[0];k.3V(c,d,1a.37A);c=1g k;1a.2h1.1y(c);k.1T(c,c);d=1g k;1a.37A.1y(d);k.1T(d,d);k.4B(d,c,1a.2pB);k.1T(1a.2pB,1a.2pB);A9(1a,a);c=.5*k.7t(1a.37A);d=1g k;d.x=.5*(1a.1hJ[0]+1a.22z[0]);d.y=.5*(1a.1hJ[1]+1a.22z[1]);d.z=.5*(1a.1hJ[2]+1a.22z[2])+1a.3tj;d=1g k;k.4g(1a.2pB,c,d);k.abs(d,d);d=[];1d e=[],f=1g k,h=1a.2pB.1y();e.1q(h);k.4g(1a.2pB,.5,f);k.add(1a.2h1,f,f);d.1q(f);f=1a.2pB.1y();f=k.11k(f,f);e.1q(f);h=1g k;k.4g(f,.5,h);k.add(1a.2h1,h,h);d.1q(h);d={2fc:d,1gm:e,3oH:"4vr"};Qy(1a,{1Vy:!1,1Vx:!1,2BD:!1,2BC:10*c,28R:1a.19d,2BB:d},a,b);Qy(1a,{1Vy:!0,1Vx:!1,2BD:!1,2BC:2*c*1k.3Y(2),28R:1a.1QQ,2BB:d},a,b);Qy(1a,{1Vy:!0,1Vx:!1,2BD:!0,2BC:2*c*1k.3Y(2),28R:1a.1QP,2BB:d},a,b);Qy(1a,{1Vy:!1,1Vx:!0,2BD:!1,2BC:2*c*1k.3Y(2),28R:1a.1QO,2BB:d},a,b);Qy(1a,{1Vy:!1,1Vx:!0,2BD:!0,2BC:2*c*1k.3Y(2),28R:1a.1QN,2BB:d},a,b);Qy(1a,{1Vy:!0,1Vx:!0,2BD:!1,2BC:c,28R:1a.1Vw,2BB:d},a,b)}};mq.1i.2pA=1b(a){1a.3ZX=a};mq.1i.1x4=1b(){""===1a.6X&&(1a.6X="27X"+1a.2R.1ck.1nr,1a.407=1a.6X+"7TE",1a.406=1a.6X+"7TD",1a.402=1a.6X+"18R",1a.3ZZ=1a.6X+"7TC",1a.3ZY=1a.6X+"2h0",1a.2R.1ck.add(1a))};mq.1i.1PK=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=1<<a;g(1a.19d)&&(1a.19d.11h=1a.11h);g(1a.1QQ)&&(1a.1QQ.11h=1a.11h);g(1a.1QP)&&(1a.1QP.11h=1a.11h);g(1a.1QO)&&(1a.1QO.11h=1a.11h);g(1a.1QN)&&(1a.1QN.11h=1a.11h);g(1a.1Vw)&&(1a.1Vw.11h=1a.11h)};mq.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};mq.1i.1M=1b(){g(1a.5Y)&&(g(1a.19d)&&4Y 1a.5Y.18w[1a.6X],g(1a.1QQ)&&4Y 1a.5Y.18w[1a.407],g(1a.1QP)&&4Y 1a.5Y.18w[1a.406],g(1a.1QO)&&4Y 1a.5Y.18w[1a.402],g(1a.1QN)&&4Y 1a.5Y.18w[1a.3ZZ],g(1a.1Vw)&&4Y 1a.5Y.18w[1a.3ZY],1a.5Y=1p 0);1a.19d=1a.19d&&1a.19d.1M();1a.1QQ=1a.1QQ&&1a.1QQ.1M();1a.1QP=1a.1QP&&1a.1QP.1M();1a.1QO=1a.1QO&&1a.1QO.1M();1a.1QN=1a.1QN&&1a.1QN.1M();1a.1Vw=1a.1Vw&&1a.1Vw.1M();1a.1gg=1a.37z=1F;1a.3ZX=1p 0;1a.2R.1ck.3S(1a.6X,!0);1f la(1a)};1d MC=1L.3F({4zO:0,4zN:1});1L.2X(Oj.1i,{2Bu:{1n:1b(){1f 1a.17k},1C:1b(a){1a.17k=a;1a.13A=!0}},2G:{1n:1b(){1f 1a.1b7},1C:1b(a){1a.1b7=a;1a.13A=!0}},8q:{1n:1b(){1f 1a.1Dx},1C:1b(a){1a.1Dx=a;1a.13A=!0}},5Tp:{1n:1b(){1f 1a.2gW},1C:1b(a){1a.2gW=a;1a.13A=!0}},5To:{1n:1b(){1f 1a.2gV},1C:1b(a){1a.2gV=a;1a.13A=!0}},3s:{1n:1b(){1f 1a.172},1C:1b(a){if(0>=a)1t 1g r("1Z 3s is 9U 6L 0.0");1a.172=a;1a.13A=!0}},5Tl:{1n:1b(){1d a=1g y;a.5r=1a.1zB.x;a.5t=1a.1zB.y;a.5G=1a.1zB.z;a.2O=1a.1zB.w;1f a},1C:1b(a){1a.1zB.x=a.5r;1a.1zB.y=a.5t;1a.1zB.z=a.5G;1a.1zB.w=a.2O}},7TB:{1n:1b(){1f 1a.3ZW},1C:1b(a){1a.3ZW=a}}});Oj.1i.2H=1b(a,b,c){if(!b.19c.3e){1d d=b.3w;if(!d.1Mx){A.9b(1a.2fG,d.1x3,1a.1GH);A.9b(1a.4H4,d.1x3,1a.4H6);g(1a.37y)&&2<=1a.37y.2Ie&&(g(1a.10q)&&1a.10q!==a.1np?1a.10q.1iq(1a.37y):1a.10q=1g Ca({1O:a,5j:1a.37y}));1a.13A&&(1a.5Y=b,g(1a.15H)||(1a.15H=1g lg(a),1a.15H.1cn.1kr=!0,1a.15H.1cn.1oA=!0,b.18w[1a.1JG]=1a.15H),1a.13A=!1,B9(1a),5U2(1a,a,b),5U1(1a,a));if(1a.2NM&&1a.2NM&&0!==1a.1Nc.2a.1h){1a.2NM=!1;b=1g Ec({1A:1g y(0,0,0,0),4e:1});b.4Q=1g eb({1O:a,13I:[1a.1vq],16Y:!1});b.4w=pa.4t();b.5P(a);1j(d=0;d<1a.1Nc.2a.1h;d++){1d e=1a.1Nc.2a[d],f=a,h=e,l=1a.1vq;if(g(h)&&!g(h.10u)){1d k=1g Oa({6Z:Ja.11G,4a:1a.1vH});h.10u=k;1d n={1K:0};k.4c=Fb.1M5({1O:f,3y:h.16b,7W:n,1tF:xa.7C,1qK:!0});h=1g ja({5p:["3Q 1m 1K;\\2s 2k()\\n{\\n    6I = 11o * 1m(1K.1H, 1.0);\\n}\\n"]});1d m=1g ja({5p:["1p 2k()\\n{\\n    2C = 1m(1.0);\\n}\\n"]});k.2z=Ga.4t({1O:f,5O:h,5A:m,7W:n});k.4Q=1g eb({1O:f,13I:[l],16Y:!1});k.4w=pa.4t({8d:{3e:!1}})}e.10u.5P(a)}b.4Q.1M()}g(1a.15H.8X)&&(g(1a.2gU)&&c.1q(1a.2gU),g(1a.15e)&&c.1q(1a.15e),g(1a.6g)&&c.1q(1a.6g),g(1a.1aO)&&1a.3ZW&&c.1q(1a.1aO))}}};Oj.1i.1PK=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=1<<a;g(1a.15H)&&(1a.15H.11h=1a.11h)};Oj.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};Oj.1i.1ZX=1b(a){if(!g(a))1t 1g r("3v is 1X.");if(!g(a.2I)&&!g(a.1qA)&&!g(a.4d))1t 1g r("3v.2I or 3v.1qA or 3v.4d are 1X.");if(g(a.2I)){1d b=1a;Z(gf(a.2I),1b(a){b.10q!==b.2R.4j.1np&&(b.10q=b.10q&&b.10q.1M());b.10q=1g Ca({1O:b.2R.4j,5j:a})})}1s g(a.4d)?g(1a.10q)?1a.10q.1iq(a.4d):1a.10q=1g Ca({1O:1a.2R.4j,5j:a.4d}):1a.37y=a.1qA};Oj.1i.5Tk=1b(a){if(a[0]===1a.17k[0]&&a[1]===1a.17k[1]&&a[2]===1a.17k[2])1t 1g r("1Z 1K is [3N, 4k ,1D] and is 2S 2L 2Bu");1d b=1a.2R.5Y.3w,c=b.16y;1a.2R.3z===O.6G?(b=k.1iy(a)[0],c=k.1iy(1a.17k)[0]):(b=T.8g(a[0],a[1],a[2]),b=c.12z(b,1g k),a=T.8g(1a.17k[0],1a.17k[1],1a.17k[2]),c=c.12z(a,1g k));1d d=1g k;k.3V(b,c,d);b=k.7t(d);k.1T(d,d);1a.3s=b;b=1a.2R.5Y.3w;a=b.8e;1d e=b.8q,f=b.12C,h=1g k;k.1y(b.1K,h);d=d.1y();1d g=c.1y();g=k.1T(g,g);1<=1k.abs(k.2A(g,d))&&(g=1>1k.abs(k.2A(d,k.1f5))?k.1y(k.1f5,g):k.1y(k.16a,g));1d p=1g k;k.4B(g,d,p);p=k.1T(p,p);k.4B(d,p,g);g=k.1T(g,g);b.1dG({16h:c,11f:{2G:d,up:g},1hk:!1});1a.2G=b.8e*B.1PS;1a.8q=b.8q*B.1PS;b.1dG({16h:h,11f:{8e:a,8q:e,12C:f},1hk:!1})};1d 5U0=1g E,5TZ=1g E(1,1/255,1/1C7,1/2FP);Oj.1i.7TA=1b(a,b){1d c=1a.2R.1O,d=1a.10q.1G;d=a/d*c.8j;b=c.7p-b/1a.10q.1D*c.7p;c=c.1tG({x:d,y:b,1G:1,1D:1,4Q:1a.15H.4Q});c=E.5f(c,0,5U0);E.1eE(c,255,c);c=E.2A(c,5TZ);a=A.12Z(1a.2fG,1g A);1d e=1g E,f=1a.2R.1by.1md.5q;e.x=(d-f.x)/f.1G*2-1;e.y=(b-f.y)/f.1D*2-1;e.z=2*c-1;e.w=1;b=A.10r(a,e,1g E);d=1/b.w;k.4g(b,d,b);1f k.1vu(b,1g k)};Oj.1i.1x4=1b(){""===1a.6X&&(1a.6X="7Tz"+1a.2R.1ck.1nr,1a.1JG=1a.6X+"1B5",1a.2R.1ck.add(1a))};Oj.1i.1M=1b(){g(1a.5Y)&&(g(1a.15H)&&4Y 1a.5Y.18w[1a.1JG],1a.5Y=1p 0);1a.15H=1a.15H&&1a.15H.1M();B9(1a);1a.2gU=1p 0;1a.10q!==1a.2R.4j.1np&&(1a.10q=1a.10q&&1a.10q.1M());1j(1d a=0;a<1a.1Nc.2a.1h;a++)1a.1Nc.2a[a].1M(),1a.1Nc.2a[a]=1F;g(1a.1vq)&&(1a.1vq.1M(),1a.1vq=1F);1a.2R.1ck.3S(1a.6X,!0);1f la(1a)};Oj.1i.7Ty=1b(a){1a.4H5=a};Oj.1i.7Tx=1b(a){1d b=a.2i;a=a.1K;if(!g(b)||!g(a))1f!1;1d c=1a.1Nc.1n(b);if(g(c))1f!1;c=1a.2R.4j.8j;1d d=1a.2R.4j.7p;g(1a.1vq)||(1a.1vq=1g Ca({1O:1a.2R.4j,1G:c,1D:d,8b:ua.9m}));d=k.1iy(a);c=1g tc({1ga:{3q:d},9S:{8T:!1,1A:!1,2U:!1,1K:!0,st:!1,8Q:!1},16U:!0});c=tc.14t(c);1j(1d e=[],f=1;f<d.1h-1;f++)e.1q(0),e.1q(f),e.1q(f+1);c.4N=e;d=1g A;A.12Z(1a.1vH,d);oe.21c(c,a,d);a=1g oe;a.16b=c;1a.1Nc.1C(b,a);1a.2NM=!0;b=1a.5Y.3w;A.9b(b.3j.1pv,b.1on,1a.4H4);HS(1a,!0);1f!0};Oj.1i.7Tw=1b(a){if(!1a.1Nc.3S(a))1f!1;1a.2NM=!0;0===1a.1Nc.2a.1h&&HS(1a,!1);1f!0};Oj.1i.7Tv=1b(){1j(1d a=0;a<1a.1Nc.2a.1h;a++)1a.1Nc.2a[a].1M(),1a.1Nc.2a[a]=1F;1a.1Nc.7f();1a.2NM=!0;HS(1a,!1)};1L.2X(bn.1i,{1yT:{1n:1b(){1f 1a.15z}},1cn:{1n:1b(){1f 1a.1jL}},19R:{1n:1b(){1f 1a.1mm},1C:1b(a){1a.1mm=a}},1lr:{1n:1b(){1f 1a.4H3<<2|1a.4H2<<1|1a.20N},1C:1b(a){1a.4H3=0<(a&4)?1:0;1a.4H2=0<(a&2)?1:0;1a.20N=a&1}},1mc:{1n:1b(){1f Ud.5TY}}});bn.1i.1jM=1b(a){1a.15z.2H(a);1d b=1a.4j,c=b.7p;1a.15z.1ab.5q.1G=b.8j;1a.15z.1ab.5q.1D=c;1a.1vK&&1a.1vK(a);1f 1a.15z.1ab};bn.1i.9o=1b(a){1a.1vJ&&1a.1vJ(a)};bn.1i.2H=1b(a,b){};bn.1i.3Z=1b(){1f!1};bn.1i.1M=1b(){1a.15z=1a.15z&&1a.15z.1M();1f la(1a)};Sv.5zY=1b(a,b){1d c=b.3oj,d=m(b.11a,1),e=m(b.19g,y.9r);b=c.1h;a.11a=d;a.1ch=e.1fY();a.1Ja();a.1FW(c[0].x,c[0].y);1j(d=1;d<b;d++)a.1bT(c[d].x,c[d].y);a.15n()};Sv.2x0=1b(a,b){1d c=b.3oj,d=m(b.11a,1),e=m(b.19g,y.9r),f=m(b.1b5,y.1PZ);b=c.1h;a.11a=d;a.1ch=e.1fY();a.15b=f.1fY();a.1Ja();a.1FW(c[0].x,c[0].y);1j(d=1;d<b;d++)a.1bT(c[d].x,c[d].y);a.26x();a.15n();a.4K()};Sv.1i.1M=1b(){1f la(1a)};1L.2X(nq.1i,{18M:{1n:1b(){1f 1a.1GW},1C:1b(a){1a.1GW=a.1y();1a.13A=!0}},4H1:{1n:1b(){1f 1a.3ZU},1C:1b(a){1a.3ZU=a.1y();1a.13A=!0}},3ZV:{1n:1b(){1f 1a.3ti},1C:1b(a){1a.3ti=a;1a.13A=!0}},1Im:{1n:1b(){1f 1a.2gZ},1C:1b(a){1a.2gZ=a;1a.13A=!0}},7Tu:{1n:1b(){1f 1a.4H0}}});nq.1i.2H=1b(a,b,c){if(!b.19c.3e&&!b.3w.1Mx){if(1a.13A){if(!1a.2R.17A.3e)1t 1g r("3JP 2Q be 1Gy.");if(1a.2R.3z!==O.6G)1t 1g r("7Tt 7Ts is 2S 11J 1j 26o-3D 2eA.");1a.5Y=b;g(1a.19d)||(1a.19d=1g lg(a),1a.19d.1cn.1Nb=!0,1a.19d.1cn.1kr=!0,1a.19d.1cn.1oA=!0,1a.19d.11h=1a.11h,b.18w[1a.1Bl]=1a.19d);1a.13A=!1;1a.3th=!0;1a.1vg=1;1j(1d d=1g M,e=0;;){M.4GZ(1a.1GW,e,d);e+=1a.3ti;if(M.1ib(1a.3ZU,d))1W;1a.1vg++}C9(1a);D9(1a);d=E9(1a);if(0<d.1h)1j(e=1a.15p.1h=0;e<=1a.2NL;e+=1a.2gZ)5TX(1a,a,d,1a.1zC+e);5TW(1a,a,b)}if(!1a.3th)1j(a=0;a<1a.1QM.1h;a++)c.1q(1a.1QM[a])}};nq.1i.1PK=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=1<<a;g(1a.19d)&&(1a.19d.11h=1a.11h)};nq.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};nq.1i.5TV=1b(a){if(!g(a)||1a.3th)1f-1;1d b=a.3N,c=a.4k,d=a.1D;if(!g(b)||!g(c)||!g(d))1f-1;b=B.10Q(b);c=B.10Q(c);if(b<1a.15x[0]||b>1a.15x[2]||c<1a.15x[1]||c>1a.15x[3])1f-1;1d e=!1;a=0;1j(1d f=.1*1a.2gZ,h=0;h<=1a.2NL;h+=1a.2gZ){if(1k.abs(1a.1zC+h-d)<f){e=!0;1W}a++}if(!e)1f-1;1d l=E9(1a);if(0>l.1h)1f-1;e=!1;1j(h=0;h<l.1h;h+=2){1d p=k.8g(b,c,d),n=k.8g(l[h+0],l[h+1],d);if(k.3s(p,n)<f){e=!0;1W}}if(!e)1f-1;e=1a.15x[2]-1a.15x[0];d=1a.15x[3]-1a.15x[1];f=1a.15x[0]-.2ku*e;h=1a.15x[1]-.2ku*d;d+=.1cN*d;b=8A((b-f)/(e+.1cN*e)*13j);c=8A((c-h)/d*13j);b=1>b?1:b;c=1>c?1:c;d=0;e=1g E(1,1/255,1/1C7,1/2NG);1j(h=-1;2>h;h++)1j(f=-1;2>f;f++)l=1a.2R.1O.1tG({x:b+h,y:c+f,1G:1,1D:1,4Q:1a.1K3[a].4Q}),l=E.5f(l,0),E.1eE(l,255,l),d=1k.1V(d,E.2A(l,e));1f.999<d?1:d};nq.1i.4xe=1b(a){if(!g(a)||!g(a.1K))1t 1g r("1Z 3v is 1X");1a.1E0=a.1K;1a.1zC=m(a.7b,1a.1zC);1a.2NL=m(a.1a3,1a.2NL);1a.13A=!0};nq.1i.1x4=1b(){""!==1a.6X||1a.27V||(1a.6X="3JP"+1a.2R.1ck.1nr,1a.1Bl=1a.6X+"2R",1a.2R.1ck.add(1a))};nq.1i.1M=1b(){g(1a.5Y)&&(g(1a.19d)&&4Y 1a.5Y.18w[1a.1Bl],1a.5Y=1p 0);1a.19d=1a.19d&&1a.19d.1M();C9(1a);D9(1a);1a.2R.1ck.3S(1a.6X,!0);1f la(1a)};1L.2X(Yl.1i,{2Bu:{1n:1b(){1f 1a.17k},1C:1b(a){1a.17k=a;1a.13A=!0}},7Tr:{1n:1b(){1d a=1g y;a.5r=1a.2gY.x;a.5t=1a.2gY.y;a.5G=1a.2gY.z;a.2O=1a.2gY.w;1f a},1C:1b(a){1a.2gY.x=a.5r;1a.2gY.y=a.5t;1a.2gY.z=a.5G;1a.2gY.w=a.2O}},7Tq:{1n:1b(){1d a=1g y;a.5r=1a.2gX.x;a.5t=1a.2gX.y;a.5G=1a.2gX.z;a.2O=1a.2gX.w;1f a},1C:1b(a){1a.2gX.x=a.5r;1a.2gX.y=a.5t;1a.2gX.z=a.5G;1a.2gX.w=a.2O}}});Yl.1i.7Tp=1b(a){1d b=a.2i;a=a.1K;if(!g(b)||!g(a))1f!1;1d c=1a.1N5.1n(b);if(g(c))1f!1;1a.1N5.1C(b,a);1a.4GY=b;1a.4GX=a;1a.13A=!0;1a.37w.1C(b,{});1f!0};Yl.1i.7To=1b(a){1a.37w.3S(a);if(!1a.1N5.3S(a))1f!1;1a.2NK.3S(a);1a.37x.3S(a);1d b=1a.1vI.1n(a);g(b)&&(b.1M(),1a.1vI.3S(a),4Y 1a.5Y.18w[a]);b=1a.1pu.1n(a);g(b)&&(b.2z=b.2z&&!b.2z.3Z()&&b.2z.1M(),b.4c=b.4c&&!b.4c.3Z()&&b.4c.1M(),1a.1pu.3S(a));1f 1a.13A=!0};Yl.1i.5TQ=1b(){1a.37w.7f();1a.1N5.7f();1j(1d a in 1a.1vI.15W)1a.1vI.15W.3p(a)&&(1a.1vI.15W[a].1M(),4Y 1a.5Y.18w[a],4Y 1a.5Y.18w[a]);1a.1vI.7f();a=0;1j(1d b=1a.1pu.1h;a<b;a++){1d c=1a.1pu.2a[a];c.2z=c.2z&&!c.2z.3Z()&&c.2z.1M();c.4c=c.4c&&!c.4c.3Z()&&c.4c.1M()}1a.1pu.7f();1a.2NK.7f();1a.37x.7f();1a.13A=!0};1d 5TU=1g A(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);Yl.1i.2H=1b(a,b,c){if(!b.19c.3e){1d d=b.3w,e;1j(e in 1a.2NK.15W)A.9b(1a.2NK.1n(e),d.1x3,1a.37x.1n(e));if(1a.13A){1a.13A=!1;1a.5Y=b;if(1>1a.1N5.2a.1h)1f;5TT(1a,a,b);5TS(1a,a,b)}if(!b.10s.11P)1j(a=1a.1pu.1h,b=0;b<a;b++)g(1a.1vI.2a[b].4Q)&&c.1q(1a.1pu.2a[b])}};Yl.1i.1PK=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=1<<a;g(1a.19d)&&(1a.19d.11h=1a.11h)};Yl.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};Yl.1i.4GN=1b(a,b){a=1a.37w.1n(a);g(b)&&b.7X(1F,a)();1f a};Yl.1i.5TN=1b(){1a.2R.4qr(1a.5TR);1j(1d a=1a.2R.1B2.1M7,b=1a.2R.4j,c=1L.9K(1a.1N5.15W),d,e=[],f=0,h=c.1h;f<h;f++)d=c[f],d=F9(1a,d),g(d)&&g(d.1K)&&g(d.st)&&e.1q(d.st);if(g(e)){c=e.1h;1j(f={};c--;)h=b.1tG({x:e[c].x,y:e[c].y,1G:1,1D:1,4Q:a.1bA}),d=y.2xV(h[0],h[1],h[2],h[3]),d=b.2xU(d),g(d)&&(h=d.9k.id,d=d.id,g(f[h])||(f[h]=[]),-1===f[h].3f(d)&&f[h].1q(d));1f f}};Yl.1i.1x4=1b(){""!==1a.6X||1a.27V||(1a.6X="7Tn"+1a.2R.1ck.1nr,1a.2R.1ck.add(1a))};Yl.1i.1M=1b(){1a.5TQ();1a.2R.1ck.3S(1a.6X,!0);1f la(1a)};1L.2X(Vi.1i,{2Bu:{1n:1b(){1f 1a.17k},1C:1b(a){1a.17k=a;1a.13A=!0}},1A:{1n:1b(){1d a=1g y;a.5r=1a.7a.x;a.5t=1a.7a.y;a.5G=1a.7a.z;a.2O=1a.7a.w;1f a},1C:1b(a){1a.7a.x=a.5r;1a.7a.y=a.5t;1a.7a.z=a.5G;1a.7a.w=a.2O}},2G:{1n:1b(){1f 1a.1b7},1C:1b(a){1a.1b7=a;1a.13A=!0}},8q:{1n:1b(){1f 1a.1Dx},1C:1b(a){1a.1Dx=a;1a.13A=!0}},7Tm:{1n:1b(){1f 1a.1N8}},7Tl:{1n:1b(){1f 1a.3ZT},1C:1b(a){1a.3ZT=a}},3L:{1n:1b(){1f 1a.1fx},1C:1b(a){1a.1fx=a}},11a:{1n:1b(){1f 1a.1gc},1C:1b(a){1a.1gc=a}}});Vi.1i.2H=1b(a,b,c){if(!b.19c.3e){1a.13A&&(g(1a.19d)||(1a.19d=1g lg(a),1a.19d.1cn.1kr=!0,1a.19d.1cn.1oA=!0,b.18w[1a.6X]=1a.19d,1a.5Y=b),1a.13A=!1,II(1a),IS(1a),5TP(1a,a,b),5TO(1a,a,b),G9(1a,a));1j(a=0;a<1a.22y.2a.1h;a++)b=1a.22y.2a[a],g(b)&&g(b.10u)&&c.1q(b.10u);g(1a.1Na);g(1a.1N9);1a.3ZT===1a.1N8.1TB?g(1a.1aO)&&2>1a.1gc&&c.1q(1a.1aO):g(1a.1N7)&&c.1q(1a.1N7)}};Vi.1i.1PK=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=1<<a;g(1a.19d)&&(1a.19d.11h=1a.11h)};Vi.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};Vi.1i.5TL=1b(){if(!1a.13A){1j(1d a=1a.2R.1O,b=a.1tG({4Q:1a.19d.4Q}),c=[],d=[],e=[],f=[],h=1g E,g=1g E(1,1/255,1/1C7,1/2NG),k=0;k<a.8j;k++)1j(1d n,m=a.7p-1;-1<m;m--)if(n=E.5f(b,4*(a.8j*m+k),h),E.1eE(n,255,n),n=E.2A(n,g),0<n){c.1q(k/a.8j);d.1q(m/a.7p);e.1q(k);f.1q(m);1W}1f{x:c,y:d,5TK:e,5TJ:f}}};Vi.1i.5TI=1b(){if(!1a.13A){1j(1d a=[],b=[],c=[],d,e=0,f=1a.15p.1h;e<f;e++)d=T.12y(1a.15p[e]),a.1q(d.3N*B.1PS),b.1q(d.4k*B.1PS),c.1q(d.1D);1f{x:a,y:b,z:c}}};Vi.1i.7Tk=1b(a){1d b=a.2i;a=a.1K;if(!g(b)||!g(a))1f!1;1d c=1a.22y.1n(b);if(g(c))1f!1;c=1g LC(a,1a);1a.22y.1C(b,c);g(1a.19d)&&(1a.19d.19R=!0)};Vi.1i.7Tj=1b(a){1f 1a.22y.3S(a)?!0:!1};Vi.1i.4GW=1b(){1j(1d a=0;a<1a.22y.2a.1h;a++)1a.22y.2a[a].1M(),1a.22y.2a[a]=1F;1a.22y.7f()};Vi.1i.9P=1b(){1a.4GW();1a.13A=!1;1a.3ZS.7f();II(1a);IS(1a)};Vi.1i.5TN=1b(){1a.2R.4qr(1a.5TM);1d a=1a.2R.1B2.1M7;if(g(a)){1d b=1a.2R.4j,c=b.8j;a=b.1tG({x:0,y:0,1G:c,1D:b.7p,4Q:a.1bA});1d d=1a.5TL();if(g(d)){1d e=d.5TK;d=d.5TJ;1j(1d f=e.1h,h,l,k={};f--;)h=e[f],l=d[f],h=E.7j(a,4*c*l+4*h),l=y.2xV(h.x,h.y,h.z,h.w),l=b.2xU(l),g(l)&&(h=l.9k.id,l=l.id,g(k[h])||(k[h]=[]),-1===k[h].3f(l)&&k[h].1q(l));1f k}}};Vi.1i.7Ti=1b(){1d a=1a.5TI();if(g(a)){1d b=a.x,c=a.y;a=a.z;1j(1d d,e,f,h=1g Ao,l=0,k=b.1h;l<k;l++)d=b[l],e=c[l],f=a[l],h.add(1g gi(d,e,f));b=1g Bo([h]);c=1g gi(1a.17k[0],1a.17k[1],1a.17k[2]);1f{7Th:b,9I:c}}};Vi.1i.1x4=1b(){""===1a.6X&&(1a.6X="7Tg"+1a.2R.1ck.1nr,1a.2R.1ck.add(1a))};Vi.1i.1M=1b(){g(1a.5Y)&&(g(1a.19d)&&4Y 1a.5Y.18w[1a.6X],1a.5Y=1p 0);1a.19d=1a.19d&&1a.19d.1M();II(1a);IS(1a);1a.4GW();1a.2R.1ck.3S(1a.6X,!0);1f la(1a)};1L.2X(oq.1i,{1yT:{1n:1b(){1f 1a.15z}},1cn:{1n:1b(){1f 1a.1jL}},19R:{1n:1b(){1f 1a.1mm},1C:1b(a){1a.1mm=a}},37v:{1n:1b(){1f!1}},2zl:{1n:1b(){1f!1}},1mc:{1n:1b(){1f 1a.1b4},1C:1b(a){1a.1b4=a}}});oq.1i.1jM=1b(a){1a.15z.2H(a);1d b=1a.4j,c=b.7p;1a.15z.1ab.5q.1G=b.8j;1a.15z.1ab.5q.1D=c;1a.1vK&&1a.1vK(a);1f 1a.15z.1ab};oq.1i.9o=1b(a){1a.1vJ&&1a.1vJ(a)};oq.1i.2H=1b(a,b){};oq.1i.3Z=1b(){1f!1};oq.1i.1M=1b(){1a.15z=1a.15z&&1a.15z.1M();1f la(1a)};1d xg=1L.3F({1nh:0,34Z:1,3q6:2});1L.2X(pq.1i,{3y:{1n:1b(){1f 1a.16b},1C:1b(a){1a.16b=a;1a.37u=!0;1a.3tg=!1}},9Q:{1n:1b(){1f 1a.8U},1C:1b(a){1a.8U=a;1a.2By=!0}},1b5:{1n:1b(){1f 1a.1pN},1C:1b(a){1a.1pN=a}},5M:{1n:1b(){1f 1a.16O},1C:1b(a){1a.16O=a}},4re:{1n:1b(){1f 1a.2BA},1C:1b(a){1a.2BA=a;1a.2By=!0}},15b:{1n:1b(){1f 1a.2NI},1C:1b(a){1a.2NI=a}}});pq.1i.1M=1b(){I9(1a);JS(1a);H9(1a);1a.2K5=1p 0;1a.1TZ=!1;1a.2R.1ck.3S(1a.6X,!0);1f la(1a)};pq.1i.9P=1b(){1a.2R.1ck.3S(1a.6X,!1)};pq.1i.1x4=1b(){""===1a.6X&&(1a.6X="7Tf"+1a.2R.1ck.1nr,1a.1Bl=1a.6X+"2R",1a.1JG=1a.6X+"1B5",1a.2R.1ck.add(1a))};pq.1i.2H=1b(a,b,c){if(!b.19c.3e&&g(1a.16b)&&(0!==1a.8U.1h||g(1a.2K5))){1d d=1a.16b;d=g(d)?d.2mS===Je.3ZR||d.2mS===Je.3ZQ||d.2mS===Je.1P5||d.2mS===Je.3ZP||d.2mS===Je.32i||d.2mS===Je.3ZO?!0:!1:!1;if(!d)1t 1g r("1Z 3y 1I is 2S 11J.");1a.16b.5TH&&(1a.3tg=!1);A.5T(1a.1pD,1a.16b.4a,B.1PW)?0==1a.5V.3L&&(1a.5V=1a.3y.2NJ().7u):(A.1y(1a.16b.4a,1a.1pD),P.5o(1a.3y.2NJ().7u,1a.1pD,1a.5V),1a.37u=!0);if(!1a.3tg){I9(1a);JS(1a);H9(1a);d=a.8j;1d e=a.7p;if(0===1a.12s.1h)1j(1d f=0;3>f;f++){1d h=1g Ca({1O:a,1G:d,1D:e,8b:ua.7U,10v:1g Eb({14A:nb.10U,15u:Rb.10U})});1a.12s.1q(h)}d=1g oq(a);d.19R=!1;1a.1QK=b.18w.5TG=d;d=1g oq(a);d.19R=!1;1a.22x=b.18w.5TF=d;5TE(1a,a,b);1j(d=0;d<1a.8U.1h;d++)1a.8U[d].2K4=!0,1a.8U[d].3UA(1a.12s),1a.8U[d].2JX=!0;1a.3tg=!0}1a.1TZ||1a.3mt(a,b);5TD(1a,a,b);!g(1a.6g)||1a.15b!==xg.1nh&&1a.15b!==xg.3q6||1a.1TZ||c.1q(1a.6g);!g(1a.1QL)||1a.15b!==xg.34Z&&1a.15b!==xg.3q6||c.1q(1a.1QL)}};pq.1i.7Te=1b(){if(!1a.3tf)1f 1a.2Bz;1j(1d a=1g Ia;;){1a.2By=!0;1a.1QK.19R=!0;1a.2R.3ju();1a.2R.4qp();1j(1d b=!1,c=0;c<1a.8U.1h;c++){1d d=1a.8U[c],e=d.2JO();0>=e.1h||(a.8h(d.id)&&(e=e.9V(a.1n(d.id).1a8)),a.1C(d.id,{1pk:d.2i,3Pk:c,1a8:e}),b=!0,d.1Ma([]),d.2xN(e,!1))}if(!b){1a.2By=!1;1a.1QK.19R=!1;1W}}1j(b=0;b<a.2a.1h;b++)d=1a.8U[a.2a[b].3Pk],d.2xN([],!1),1a.2Bz.1q({1pk:a.2a[b].1pk,1a8:a.2a[b].1a8});1a.3tf=!1;1f 1a.2Bz};pq.1i.3mt=1b(a,b){if(1a.37u&&!1a.1QK.19R&&!1a.22x.19R||1a.1TZ){b=b.3w;1j(1d c=0;c<1a.12s.1h;c++)1a.13Z.4Q=1a.1vI[c],1a.13Z.5P(a),1a.1K2[c].5P(a);g(1a.2K5)&&1a.2K5.3UA(1a.12s);1a.13Z.4Q=1p 0;A.1y(b.1on,1a.4GV);A.1y(a.13m.18T,1a.4GU);1j(c=0;c<1a.8U.1h;c++)1a.8U[c].5GR(1a.4GV,1a.4GU);1a.37u=!1;1a.2By=!0}};1d Vv=1b(){1a.1N6=1g y;1a.2NI=xg.1nh;1a.1hu=1g y;1a.1gc=1;1a.22w=0;1a.1Qf=1;1a.4GT=1g y;1a.2nD=bb.6i;1a.3Zo=1g y(1,1,1,1);1a.1fq=1p 0;1a.1g6=!1;1a.1iw=1p 0;1a.3tc=!0;1a.3te=y.1PZ;1a.3td=1};1L.2X(Vv.1i,{1sH:{1n:1b(){1f 1a.1N6},1C:1b(a){v.1N.2c("1sH 1Q",a);y.1y(a,1a.1N6)}},28L:{1n:1b(){1f 1a.22w},1C:1b(a){v.1N.2b("28L 1Q",a);1a.22w!==a&&(1a.22w=a,1a.1g6=!0)}},19L:{1n:1b(){1f 1a.2nD},1C:1b(a){v.1N.2b("19L 1Q",a);1a.2nD=a}},15b:{1n:1b(){1f 1a.2NI},1C:1b(a){v.1N.2b("15b 1Q",a);1d b=1a.2NI;1a.2NI=a;a!==b&&g(1a.1fq)&&1a.1fq.5GY()}},19g:{1n:1b(){1f 1a.1hu},1C:1b(a){v.1N.2c("6D 1A",a);y.1y(a,1a.1hu)}},11a:{1n:1b(){1f 1a.1gc},1C:1b(a){v.1N.2b("6D 1G",a);1a.1gc=a}},1i7:{1n:1b(){1f 1a.1Qf},1C:1b(a){v.1N.2b("7v 4V",a);1a.1Qf=a}},5TC:{1n:1b(){1f 1a.4GT},1C:1b(a){v.1N.2c("7v 1A",a);y.1y(a,1a.4GT)}},7Td:{1n:1b(){1f 1a.3Zo},1C:1b(a){v.1N.2c("17Y 1A",a);y.1y(a,1a.3Zo)}},4d:{1n:1b(){1f 1a.1iw},1C:1b(a){1a.3tc=!1;1a.1iw=a;"4n"===2h a?1a.2ym():1a.3tc=!0}},5R6:{1n:1b(){1f 1a.3tc}},7Tc:{1n:1b(){1f 1a.3te},1C:1b(a){1a.3te!==a&&(1a.3te=a)}},7Tb:{1n:1b(){1f 1a.3td},1C:1b(a){1a.3td!==a&&(1a.3td=a)}}});Vv.1i.2ym=1b(){1d a=1a.1iw;a=na.14m(a).1jN();1d b=1a;Z(a,1b(a){b.1iw=a;b.3tc=!0})};Wi.1i.5BR=1b(a,b,c,d){K9(a,b,c,d)};Wi.1i.5P=1b(a,b){1d c=a.6M;1a.6M=c;if(!1a.1Vv){1j(1d d=1a.16N.1h,e=0;e<d;++e)1a.5Tv(a,1a.16N[e]);1a.21t&&1a.5Tu(a);g(1a.2NH)||(1a.2NH=c.7Ta());1a.1Vv=!0}c=m(1a.13p,b.4Q);K9(a,c,1a,b);1a.5Tx(a);1a.4GR(a,!0);1a.5TA(a);1a.4xn(a,b);1a.4xq.5k(a,b);1a.4GR(a,!1);1a.3tb=1-1a.3tb};Wi.1i.4xn=1b(a,b){b=a.6M;1a.21s.1QJ();a.2Bx.12W=m(1a.12t,A.8K);1a.21s.3ZN(1a.5TB,a.2Bx,a.3ZM);1a.21t?(b.1z1(b.1GV,1a.1UZ),b.4Eq(1a.37t,1a.1lz.1h,b.1bt,0)):b.3ZL(1a.37t,0,1a.1Uu)};Wi.1i.5TA=1b(a){1d b=a.6M;b.7T9(b.5Tz,1a.2NH);1a.4GQ(a,!0);1a.2fF.1QJ();a.2Bx.12W=m(1a.12t,A.8K);1a.2fF.3ZN(1a.5Ty,a.2Bx,a.3ZM);b.5F(b.4GS);b.7T8(1a.37t);1a.21t?b.3ZL(1a.37t,0,4*1a.1Uu):b.3ZL(1a.37t,0,1a.1Uu);b.7T7();b.1Pw(b.4GS);1a.4GQ(a,!1)};Wi.1i.4GR=1b(a,b){a=a.6M;1j(1d c=0;c<1a.16N.1h;c++){1d d=1a.16N[c].2P;b?a.4Ei(d):a.36S(d)}};Wi.1i.5Tx=1b(a){a=a.6M;1j(1d b=0;b<1a.16N.1h;b++){1d c=1a.16N[b],d=c.2P;c=c.2Z;a.1z1(a.1Q4,1a.2pz[1a.3tb][d].33p());a.4Eh(d,c,a.3O,!1,0,0)}};Wi.1i.4GQ=1b(a,b){a=a.6M;1j(1d c=0;c<1a.16N.1h;c++){1d d=1a.16N[c].2P,e=b?1a.2pz[1-1a.3tb][d].33p():1F;a.7T6(a.5Tw,d,e)}};Wi.1i.5Tv=1b(a,b){1d c=b.2g;b=b.2P;1a.2pz[0][b]=1a.4GP(a,c);1a.2pz[1][b]=1a.4GP(a,c)};Wi.1i.4GP=1b(a,b){1f 1g Ra({1O:a,3ZK:H.1Q4,7Q:H.1UP,5b:b})};Wi.1i.5Tu=1b(a){a=a.6M;1a.1UZ=a.3Yf();a.1z1(a.1GV,1a.1UZ);a.3nX(a.1GV,1a.1lz,a.7C)};Wi.1i.3Z=1b(){1f!1};Wi.1i.1M=1b(){g(1a.21s)&&(1a.21s=1a.21s&&1a.21s.1M());g(1a.2fF)&&(1a.2fF=1a.2fF&&1a.2fF.1M());1j(1d a=0;a<1a.16N.1h;a++){1d b=1a.16N[a].2P;1a.2pz[0][b].1M();1a.2pz[1][b].1M()}g(1a.1UZ)&&1a.6M.33m(1a.1UZ);g(1a.2NH)&&(1a.6M.7T5(1a.2NH),1a.2NH=1p 0);1f la(1a)};1L.2X(Wi.1i,{6t:{1n:1b(){1f 1a.1Er},1C:1b(a){1a.1Er!==a&&(1a.1Er=a)}}});1d L9=1L.3F({7T4:0,7T3:1,5Tt:2}),5Ts=1g A(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);1L.2X(Ry.1i,{2Bu:{1n:1b(){1f 1a.17k},1C:1b(a){1a.17k=a;1a.2Bv=!0}},3s:{1n:1b(){1f 1a.172},1C:1b(a){if(0>=a)1t 1g r("1Z 3s is 9U 6L 0.0");1a.172=a;1a.2Bv=!0}},1jw:{1n:1b(){1f 1a.1v0},1C:1b(a){1a.1v0=a;1a.9s=!1;1a.2Bv=!0}},21z:{1n:1b(){1f 1a.1tt},1C:1b(a){1a.1tt=a;1a.9s=!1;1a.2Bv=!0}},5Tn:{1n:1b(){1d a=1g y;a.5r=1a.1xq.x;a.5t=1a.1xq.y;a.5G=1a.1xq.z;a.2O=1a.1xq.w;1f a},1C:1b(a){1a.1xq.x=a.5r;1a.1xq.y=a.5t;1a.1xq.z=a.5G;1a.1xq.w=a.2O}},5Tm:{1n:1b(){1d a=1g y;a.5r=1a.1xp.x;a.5t=1a.1xp.y;a.5G=1a.1xp.z;a.2O=1a.1xp.w;1f a},1C:1b(a){1a.1xp.x=a.5r;1a.1xp.y=a.5t;1a.1xp.z=a.5G;1a.1xp.w=a.2O}},7T2:{1n:1b(){1f 1a.3ZJ},1C:1b(a){1a.3ZJ=a}},3ZI:{1n:1b(){1f 1a.2Bw},1C:1b(a){1a.2Bw=a;1a.9s=!1;1a.37s=1a.2Bv=!0}}});Ry.1i.1M=1b(){M9(1a);g(1a.6g)&&(1a.6g.4c=1a.6g.4c&&1a.6g.4c.1M(),1a.6g.2z=1a.6g.2z&&1a.6g.2z.1M(),1a.6g=1p 0);1a.2R.32X=1E3;1a.2R.1ck.3S(1a.6X,!0);1f la(1a)};Ry.1i.1x4=1b(){if(""===1a.6X&&!1a.27V){1a.6X="5fo"+1a.2R.1ck.1nr;1a.1Bl=1a.6X+"2R";1j(1d a=0;5>a;a++)1a.1sI.1q(1a.6X+"1B5"+a);1a.2R.1ck.add(1a)}};Ry.1i.2H=1b(a,b,c){if("1Ge"!==b.19c.2i&&!b.10s.11P&&!b.19c.3e&&!b.3w.1Mx){if(!1a.9s){1a.5Y=b;1d d=1a.1v0,e=1a.1tt,f=(e-d)*B.15y/129,h=1k.PI/258,l=!1;!1a.2Bw||0==d&&360==e||(l=!0);1d p=0;e=I.9g(I.3O,3*(l?7T1:4GO));1j(1d n=0;129>n;n++){1d m=n*f+d*B.15y;1j(1d w=0;129>=w;w++){1d x=w*h;1d q=1*1k.2T(x)*1k.3i(m),t=1*1k.2T(x)*1k.2T(m);x=1*1k.3i(x);e[p++]=t;e[p++]=q;e[p++]=x}}l&&(e[p++]=0,e[p++]=0,e[p++]=0);h=1a.1v0;l=1a.1tt;m=1a.2Bw;d=[];p=0==h&&360==l?129:128;1j(f=0;129>f;f++)1j(n=0;n<p;n++)w=f+130*n,q=w+1,t=128==n?f+1:w+129+2,d.1q(w),d.1q(q),d.1q(t),d.1q(w),d.1q(t),d.1q(t-1);if(m&&(0!=h||360!=l))1j(h=130*p,f=0;129>f;f++)d.1q(f),d.1q(f+1),d.1q(4GO),d.1q(f+h+1),d.1q(f+h),d.1q(4GO);h=0;f=I.9g(I.10P,d.1h);1j(l=0;l<d.1h;l++)f[h++]=d[l];1a.2R.3z===O.6G?(d=k.8g(1a.17k[0],1a.17k[1],1a.17k[2]),h=1g $b(0,0,0),Da.1nq(d,h,ba.9y,Da.18N,1a.1pD)):180<1a.17k[0]||-180>1a.17k[0]||180<1a.17k[1]||-180>1a.17k[1]?7r.9M=1g k(7r.1tT,7r.1mp,1D):(d=1a.2R.5Y.3w.16y,h=k.8g(1a.17k[0],1a.17k[1],1a.17k[2]),h=d.3c.10Z(h),h=d.12z(h),A.1PY(h,1a.1pD),A.9b(5Ts,1a.1pD,1a.1pD));k.1y(k.6h,1a.5V.2V);1a.5V.3L=1a.172;P.5o(1a.5V,1a.1pD,1a.5V);N9(1a,a);5Tr(1a,a,e,f);1a.9s=!0;1a.37r=!1}1a.2Bv&&(1a.5Y=b,1a.37s&&(N9(1a),1a.37s=!1),5Tq(1a,a,1a.5Y),1a.2Bv=1a.13A=!1);g(1a.6g)&&1a.37r&&c.1q(1a.6g)}};Ry.1i.9P=1b(){1a.2R.1ck.3S(1a.6X,!1)};1L.2X(Zl.1i,{2Bu:{1n:1b(){1f 1a.17k},1C:1b(a){1a.17k=a;1a.13A=!0}},2G:{1n:1b(){1f 1a.1b7},1C:1b(a){1a.1b7=a;1a.13A=!0}},8q:{1n:1b(){1f 1a.1Dx},1C:1b(a){1a.1Dx=a;1a.13A=!0}},5Tp:{1n:1b(){1f 1a.2gW},1C:1b(a){1a.2gW=a;1a.13A=!0}},5To:{1n:1b(){1f 1a.2gV},1C:1b(a){1a.2gV=a;1a.13A=!0}},3s:{1n:1b(){1f 1a.172},1C:1b(a){if(0>=a)1t 1g r("1Z 3s is 9U 6L 0.0");1a.172=a;1a.13A=!0}},5Tn:{1n:1b(){1d a=1g y;a.5r=1a.1xq.x;a.5t=1a.1xq.y;a.5G=1a.1xq.z;a.2O=1a.1xq.w;1f a},1C:1b(a){1a.1xq.x=a.5r;1a.1xq.y=a.5t;1a.1xq.z=a.5G;1a.1xq.w=a.2O}},5Tm:{1n:1b(){1d a=1g y;a.5r=1a.1xp.x;a.5t=1a.1xp.y;a.5G=1a.1xp.z;a.2O=1a.1xp.w;1f a},1C:1b(a){1a.1xp.x=a.5r;1a.1xp.y=a.5t;1a.1xp.z=a.5G;1a.1xp.w=a.2O}},5Tl:{1n:1b(){1d a=1g y;a.5r=1a.1zB.x;a.5t=1a.1zB.y;a.5G=1a.1zB.z;a.2O=1a.1zB.w;1f a},1C:1b(a){1a.1zB.x=a.5r;1a.1zB.y=a.5t;1a.1zB.z=a.5G;1a.1zB.w=a.2O}},7T0:{1n:1b(){1f 1a.3ZH},1C:1b(a){1a.3ZH=a}}});Zl.1i.1M=1b(){g(1a.5Y)&&(g(1a.37q)&&4Y 1a.5Y.18w[1a.1Bl],g(1a.15H)&&4Y 1a.5Y.18w[1a.1JG],1a.5Y=1p 0);1a.37q=1a.37q&&1a.37q.1M();1a.15H=1a.15H&&1a.15H.1M();O9(1a);1a.2gU=1p 0;1a.2R.32X=1E3;1a.2R.1ck.3S(1a.6X,!0);1f la(1a)};Zl.1i.9P=1b(){1a.2R.1ck.3S(1a.6X,!1)};Zl.1i.1x4=1b(){""!==1a.6X||1a.27V||(1a.6X="7SZ"+1a.2R.1ck.1nr,1a.1Bl=1a.6X+"2R",1a.1JG=1a.6X+"1B5",1a.2R.1ck.add(1a))};Zl.1i.5Tk=1b(a){if(a[0]===1a.17k[0]&&a[1]===1a.17k[1]&&a[2]===1a.17k[2])1t 1g r("1Z 1K is [3N, 4k ,1D] and is 2S 2L 2Bu");1d b=1a.2R.5Y.3w,c=b.16y;if(1a.2R.3z===O.6G)a=k.1iy(a)[0],c=k.1iy(1a.17k)[0];1s{a=T.8g(a[0],a[1],a[2]);a=c.12z(a,1g k);1d d=T.8g(1a.17k[0],1a.17k[1],1a.17k[2]);c=c.12z(d,1g k)}1d e=1g k;k.3V(a,c,e);a=k.7t(e);k.1T(e,e);1a.3s=a;a=b.8e;d=b.8q;1d f=b.12C,h=1g k;k.1y(b.1K,h);e=e.1y();1d g=c.1y();g=k.1T(g,g);1<=1k.abs(k.2A(g,e))&&(g=1>1k.abs(k.2A(e,k.1f5))?k.1y(k.1f5,g):k.1y(k.16a,g));1d p=1g k;k.4B(g,e,p);p=k.1T(p,p);k.4B(e,p,g);g=k.1T(g,g);b.1dG({16h:c,11f:{2G:e,up:g},1hk:!1});1a.2G=b.8e*B.1PS;1a.8q=b.8q*B.1PS;b.1dG({16h:h,11f:{8e:a,8q:d,12C:f},1hk:!1})};Zl.1i.2H=1b(a,b,c){if("1Ge"!==b.19c.2i&&!b.10s.11P)if(!b.19c.3e||b.19c.2i!==1a.1Bl&&b.19c.2i!==1a.1JG){1d d=b.3w;d.1Mx||(A.9b(1a.2fG,d.1x3,1a.1GH),1a.13A&&(1a.5Y=b,g(1a.15H)||(1a.15H=1g lg(a),1a.15H.1cn.1oA=!0,1a.15H.1cn.1kr=!0,1a.15H.11h=1a.11h,b.18w[1a.1JG]=1a.15H),a.8X||g(1a.1QI)||(1a.1QI=1g lg(a),1a.1QI.1cn.1oA=!0,1a.1QI.1cn.1kr=!0,1a.1QI.11h=1a.11h,b.18w[1a.1JG+"7SY"]=1a.1QI),1a.13A=!1,O9(1a),5Tj(1a,a,b),5Ti(1a,a)),g(1a.15H.4Q)&&(a=c.9l(),g(1a.2gU)&&c.1q(1a.2gU),g(1a.15e)&&c.1q(1a.15e),g(1a.6g)&&c.1q(1a.6g),g(1a.1aO)&&1a.3ZH&&c.1q(1a.1aO),c.1q(a)))}1s b.19c.2i===1a.1Bl&&g(1a.15e)&&c.1q(1a.15e)};Zl.1i.1PK=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=1<<a;g(1a.15H)&&(1a.15H.11h=1a.11h)};Zl.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};Zl.1i.7SX=1b(){1j(1d a=[],b=1a.1vH,c=0,d=1a.1N5.1h;c<d;c++){1j(1d e=1a.1N5[c].1zA,f=1g Ao,h=0,l=e.1h;h<l;h++){1d p=1a.4GN(e[h]);g(p)?f.add(p):(p=A.8P(b,e[h],1g k),p=T.12y(p),f.add(1g gi(p.3N*B.1PS,p.4k*B.1PS,p.1D)))}a.1q(f)}1f{2Bu:1g gi(1a.17k[0],1a.17k[1],1a.17k[2]),7SW:a,3s:1a.172}};1d 5Tg=1g E(1/255,1/1C7,1/2NG,1/5Th);Zl.1i.4GN=1b(a){a=1g E(a.x,a.y,a.z,1);A.10r(1a.4GM,a,a);E.1eE(a,a.w,a);if(!(1<a.x||-1>a.x||1<a.y||-1>a.y)){1d b=1a.2R.1O,c=(.5*a.x+.5)*b.8j-.5,d=(.5*a.y+.5)*b.7p-.5;if(!(0>c||0>d)){1d e=1k.2t(c);c-=e;1d f=1k.2t(d);d-=f;b=b.1tG({4Q:1a.15H.4Q,x:e,y:f,1G:2,1D:2});e=1g E;f=[];1j(1d h=0;4>h;h++){1d g=E.5f(b,4*h,e);f[h]=2*E.2A(g,5Tg)-1;if(!(1>f[h]&&0<f[h]))1f}c=(1-d)*((1-c)*f[0]+c*f[1])+d*((1-c)*f[2]+c*f[3]);if(1E-6<a.z-c)1f d=1g A,A.12Z(1a.2fG,d),a.z=c,A.10r(d,a,a),E.1eE(a,a.w,a),a=T.12y(a),1g gi(a.3N*B.1PS,a.4k*B.1PS,a.1D)}}};Zl.1i.5Tf=1b(a){if(1a.2py.1h!=a.1h)1a.13A=!0,1a.2py=a;1s 1j(1d b=0;b<1a.2py.1h;b++)if(1a.2py[b]!=a[b]){1a.13A=!0;1a.2py=a;1W}};1d Jw=Qj.3ta=0,Kw=0,Lw={},Mw=1g Ia;Qj.12S=1b(a,b){if(g(Lw[a.id])){a=Lw[a.id];1j(1d c=b.10S,d=1L.9K(a.15W),e=!1,f,h=0,l=d.1h;h<l;h++)if(f=3a(d[h]),f>=c&&f<c+13j){e=!0;1W}if(e){c=a.1n(f);1d k=c.9l();k.37p=!1;k.1jR(b,0);Jw-=f;1>c.1h&&a.3S(f)}1f k}};Qj.17Q=1b(a,b){if(g(Mw[a.id])){a=Mw[a.id];1j(1d c=b.10S,d=1L.9K(a.15W),e=!1,f,h=0,l=d.1h;h<l;h++)if(f=3a(d[h]),f===c){e=!0;1W}if(e){c=a.1n(f);1d k=c.9l();k.37p=!1;k.1jR(b,0);Kw-=f;1>c.1h&&a.3S(f)}1f k}};Qj.33m=1b(a){if(g(Lw[a.id])){1d b=Lw[a.id],c;1d d=7SV.4*Qj.3ta;if(Jw>1yL*d){1d e=1yL*d;d=1L.9K(b.15W);1d f=d.1h;1j(c=0;c<f&&Jw>e;){1d h=d[c];1j(1d l=b.1n(h);l.1h&&Jw>e;)l.9l().1M(),Jw-=h;1>l.1h&&b.3S(h);++c}}if(g(Mw[a.id])&&(a=Mw[a.id],d=7SU.6*Qj.3ta,Kw>1yL*d))1j(b=1yL*d,d=1L.9K(a.15W),f=d.1h,c=0;c<f&&Kw>b;){h=d[c];1j(e=a.1n(h);e.1h&&Kw>b;)e.9l().1M(),Kw-=h;1>e.1h&&a.3S(h);++c}}};Qj.3YT=1b(a,b){g(Lw[a.id])||(Lw[a.id]=1g Ia);1d c=Lw[a.id];1j(1d d=b.16N,e=.9*Qj.3ta,f=0;f<d.1h;++f){1d h=d[f].7e;if(!(Jw>=e||h.37p||h.1hU)){1d l=h.18Q;c.8h(l)?c.1n(l).1q(h):c.1C(l,[h]);h.37p=!0;Jw+=l}}g(Mw[a.id])||(Mw[a.id]=1g Ia);a=Mw[a.id];c=b.1UZ;.1*Qj.3ta>Kw&&g(c)&&!c.37p&&!c.1hU&&(a.8h(c.18Q)?a.1n(c.18Q).1q(c):a.1C(c.18Q,[c]),c.37p=!0,Kw+=c.18Q);1f b.1M()};1d fp=1b(a,b,c,d,e,f,h,g,k){1a.4j=b;1a.6M=b.6M;1a.10V=c;1a.10o=d;1a.1sv=f;1a.10q=1F;1a.3ZF=e;1a.2Bs=m(g,Ka.11g);1a.2Br=m(k,Ka.11g);1a.3o=!1;1a.3rQ=h;1a.id=a;1a.22v=1a.6M.17U;1a.1eC=f.1h;1==1a.3rQ?1a.5Td():(1a.22v=1a.6M.17U,1a.5Te())};fp.1i.5Te=1b(){1d a=1a.6M;1a.10q=a.2fA();a.1eg(a.17U,1a.10q);1d b=1a.3ZF,c=1a.10V,d=1a.10o,e=1a.1sv,f=0,h=0;37o===b&&a.1gM(a.1By,!1);1d g=Q9(e,b,c,d);do{1d k=P9(b,c,d),n=1g 4L(e.3J,e.8o+f,k);273==b?(a.1oG(a.17U,0,a.1fB,c,d,0,a.1fB,a.2Bt,e),k/=2):3t7==b?a.1oG(a.17U,0,a.9m,c,d,0,a.9m,a.7U,n):37o===b?a.1oG(a.17U,0,a.1QH,c,d,0,a.1QH,a.7U,n):a.4GL(a.17U,h++,b,c,d,0,n);c=1k.1V(c>>1,1);d=1k.1V(d>>1,1);f+=k}14p(f<e.1h&&g);1<h?(a.1jj(a.17U,a.2go,a.11U),a.1jj(a.17U,a.28t,a.1Qv)):B.1Gu(1a.10V)&&B.1Gu(1a.10o)&&3t7==b?(1a.1zs(),a.1jj(a.17U,a.2go,a.11U),a.1jj(a.17U,a.28t,a.1Qv)):(a.1jj(a.17U,a.2go,a.11U),a.1jj(a.17U,a.28t,a.11U));a.1jj(a.17U,a.2MW,1a.2Bs);a.1jj(a.17U,a.2MV,1a.2Br);a.1eg(a.17U,1F);4Y 1a.1sv;1a.1sv=1F;1a.3o=!0};fp.1i.1zs=1b(){1d a=Ss.2MR;if(1<1a.10V&&!B.1Gu(1a.10V))1t 1g 2w2("1G 2Q be a 2jC of 1uk to 4G 1zs().");if(1<1a.10o&&!B.1Gu(1a.10o))1t 1g 2w2("1D 2Q be a 2jC of 1uk to 4G 1zs().");1d b=1a.6M,c=1a.22v;b.3t9(b.3ZG,a);b.1pR(b.1tW);b.1eg(c,1a.10q);b.1zs(c)};fp.1i.5T3=1b(a,b){1a.id=a;1a.1eC=b.1h;a=1a.6M;a.1eg(a.17U,1a.10q);1d c=1a.3ZF,d=1a.10V,e=1a.10o;1a.1sv=b;1d f=0,h=0;37o===c&&a.1gM(a.1By,!1);1d g=Q9(b,c,d,e);do{1d k=P9(c,d,e),n=1g 4L(b.3J,b.8o+f,k);273==c?(a.1oG(a.17U,0,a.1fB,d,e,0,a.1fB,a.2Bt,b),k/=2):3t7==c?a.1oG(a.17U,0,a.9m,d,e,0,a.9m,a.7U,n):37o===c?a.1oG(a.17U,0,a.1QH,d,e,0,a.1QH,a.7U,n):a.4GL(a.17U,h++,c,d,e,0,n);d=1k.1V(d>>1,1);e=1k.1V(e>>1,1);f+=k}14p(f<b.1h&&g);1<h?(a.1jj(a.17U,a.2go,a.11U),a.1jj(a.17U,a.28t,a.1Qv)):(a.1jj(a.17U,a.2go,a.11U),a.1jj(a.17U,a.28t,a.11U));a.1jj(a.17U,a.2MW,1a.2Bs);a.1jj(a.17U,a.2MV,1a.2Br);a.1eg(a.17U,1F);4Y 1a.1sv;1a.1sv=1F;1a.3o=!0};fp.1i.5Td=1b(){1d a=1a.1sv,b=1a.10V;1d c=1a.10o;1d d=a.1h,e=1k.8a(1k.3Y(d)),f=3n.4O("3M");f.1G=b*e;f.1D=c*e;1d h=f.1ft("2d");h.15b="#7ST";h.1ZB(0,0,f.1G,f.1D);1j(f=0;f<d;f++)h.1DA(a[f%d],f%e*b,1k.2t(f/e)*c);a=h.1LW(0,0,b*e,c*e);c=a.1G*a.1D*4;b=1g 4L(c);1j(d=0;d<c;d++)b[d]=a.2g[d];c=1a.6M;1a.10q=c.2fA();c.1pR(c.1tW);c.1eg(c.17U,1a.10q);c.1jj(c.17U,c.28t,c.11U);c.1oG(c.17U,0,c.9m,a.1G,a.1D,0,c.9m,c.7U,b);c.1eg(c.17U,1F);1a.3o=!0};fp.1i.7SS=1b(a,b,c,d){1j(1d e=1g 10Y(4),f=1g 10Y(c*d),h,g,k,n,m,w,x=c/4,q=d/4,t=0;t<q;t++)1j(1d r=0;r<x;r++)d=b+4*(t*x+r),e[0]=a[d],e[1]=a[d+1],h=e[0]&31,g=e[0]&2gT,k=e[0]&2pw,n=e[1]&31,m=e[1]&2gT,w=e[1]&2pw,e[2]=5*h+3*n>>3|5*g+3*m>>3&2gT|5*k+3*w>>3&2pw,e[3]=5*n+3*h>>3|5*m+3*g>>3&2gT|5*w+3*k>>3&2pw,h=a[d+2],g=4*t*c+4*r,f[g]=e[h&3],f[g+1]=e[h>>2&3],f[g+2]=e[h>>4&3],f[g+3]=e[h>>6&3],g+=c,f[g]=e[h>>8&3],f[g+1]=e[h>>10&3],f[g+2]=e[h>>12&3],f[g+3]=e[h>>14],h=a[d+3],g+=c,f[g]=e[h&3],f[g+1]=e[h>>2&3],f[g+2]=e[h>>4&3],f[g+3]=e[h>>6&3],g+=c,f[g]=e[h>>8&3],f[g+1]=e[h>>10&3],f[g+2]=e[h>>12&3],f[g+3]=e[h>>14];1f f};fp.1i.1M=1b(){1a.6M.3kt(1a.10q);1a.10q=1F;1a.3o=!1;1a.id=0};fp.1i.5F=1b(){1a.3o&&(1a.6M.1pR(1a.6M.1tW),1a.6M.1eg(1a.22v,1a.10q))};fp.1i.1Pw=1b(){1a.3o&&1a.6M.1eg(1a.22v,1F)};1d Vt=1L.3F({5T5:0,4Gv:14,5T9:19,5T8:20,5T7:21,5T6:22}),Rc=1b(){1a.1fb={};1a.22u={};1a.1Eq={};1a.2Bq=0;1a.5Ta=1a.5Tb=1a.5Tc=1F;1a.4GK=!1};Rc.5T2=50;Rc.22b=1b(a,b,c,d,e,f,h,l,k,n){1d p=b.6M;0==lc.4GK&&(lc.4GK=!0,lc.5Tc=KS(p,"4r3"),lc.5Tb=KS(p,"4r2"),lc.5Ta=KS(p,"4r1"));if(p=lc.1fb[a])lc.22u[a]++;1s{1d m=1F;6U(f){1S Vt.4Gv:m=e===Zj.3t8||e===Zj.1fB?ua.2NF:ua.2NE;1W;1S Vt.5T9:1S Vt.5T8:m=e===Zj.3t8||e===Zj.1fB?ua.37n:ua.37m;1W;1S Vt.5T7:m=ua.37l;1W;1S Vt.5T6:m=ua.37k;1W;1S Vt.5T5:m=e===Zj.3t8||e===Zj.1fB?273:e===Zj.1QH?ua.1QH:3t7}g(lc.1Eq[a])?(p=lc.1Eq[a],lc.2Bq-=p.1eC,4Y lc.1Eq[a]):(l||(p=1a.5T4(a,b,c,d,m,h,k,n)),1p 0==p&&(p=1g fp(a,b,c,d,m,h,l,k,n)));lc.22u[a]=1;lc.1fb[a]=p}1f p};Rc.5T4=1b(a,b,c,d,e,f,h,g){1d l=b.6M,k;1j(k in lc.1Eq)if(lc.1Eq[k].1eC==f.1h){1d z=lc.1Eq[k];if(z.4j.id!==b.id)1W;lc.2Bq-=z.1eC;4Y lc.1Eq[k];z.6M=l;z.10V=c;z.10o=d;z.3ZF=e;z.2Bs=m(h,Ka.11g);z.2Br=m(g,Ka.11g);z.3o=!1;z.22v=z.6M.17U;z.5T3(a,f);1f z}};Rc.4CH=1b(a,b,c,d,e){b=lc.1fb[a];1d f=nb.11U,h=Rb.11U;e===Cc.1qT.10U&&(f=nb.10U,h=Rb.10U);b&&!g(d.1tV)?(lc.22u[a]++,b.10v=1g Eb({14A:f,15u:h})):(e=d.2g9,d=d.1tV,b=1g Ca({1O:c,1G:e,1D:e,8b:ua.9m,13E:!1,10v:1g Eb({14A:f,15u:h})}),b.1iq({1G:e,1D:e,1a9:d}),lc.22u[a]=1,lc.1fb[a]=b);1f b};Rc.5IQ=1b(a,b,c,d,e){if(a=lc.1fb[a])b=d.2g9,a.1iq({1G:b,1D:b,1a9:d.1tV});1f a};Rc.2Mq=1b(a){lc.22u[a]++};Rc.4CG=1b(a){lc.22u[a]--};Rc.4CD=1b(a){--lc.22u[a];0==lc.22u[a]&&(lc.1fb[a].3rQ||g(lc.1fb[a].10v)?lc.1fb[a].1M():(lc.1Eq[a]=lc.1fb[a],lc.2Bq+=lc.1fb[a].1eC),4Y lc.1fb[a],4Y lc.22u[a])};Rc.5ze=1b(){1f lc.2Bq};Rc.5zd=1b(){1j(1d a in lc.1Eq)lc.1Eq[a].7SR&&(lc.2Bq-=lc.1Eq[a].1eC,lc.1Eq[a].1M(),4Y lc.1Eq[a]);1d b=1yL*Rc.5T2;1j(a in lc.1Eq){if(b>lc.2Bq)1W;lc.2Bq-=lc.1Eq[a].1eC;lc.1Eq[a].1M();4Y lc.1Eq[a]}};1d lc=1g Rc;Rc.3t3=lc;1L.2X(NC.1i,{3N:{1n:1b(){1f 1a.3ZE},1C:1b(a){1a.3ZE=a}},4k:{1n:1b(){1f 1a.3ZD},1C:1b(a){1a.3ZD=a}},1eD:{1n:1b(){1f 1a.3ZC},1C:1b(a){1a.3ZC=a}},3b:{1n:1b(){1f 1a.13V},1C:1b(a){1a.13V=a}},1A:{1n:1b(){1f 1a.7a},1C:1b(a){1a.7a=a}},8e:{1n:1b(){1f 1a.1Ef},1C:1b(a){1a.1Ef=a}},8q:{1n:1b(){1f 1a.1Dx},1C:1b(a){1a.1Dx=a}},12C:{1n:1b(){1f 1a.3ZB},1C:1b(a){1a.3ZB=a}},2Nz:{1n:1b(){1f 1a.3ZA},1C:1b(a){1a.3ZA=a}},2M:{1n:1b(){1f 1a.1hs},1C:1b(a){1a.1hs=a}},2ND:{1n:1b(){1f 1a.4GJ},1C:1b(a){1a.4GJ=a}},id:{1n:1b(){1f 1a.7R},1C:1b(a){1a.7R=a}},16G:{1n:1b(){1f 1a.3t6},1C:1b(a){1a.3t6=a}},28P:{1n:1b(){1f 1a.2NA},1C:1b(a){1a.2NA=a}}});NC.1y=1b(a){1f 1g NC({3N:a.3ZE,4k:a.3ZD,1eD:a.3ZC,3b:a.13V,1A:a.7a,8e:a.1Ef,8q:a.1Dx,12C:a.3ZB,2Nz:a.3ZA,2M:a.1hs,28P:a.2NA})};sd.3rv=1b(){sd.11K=!0;sd.35S.3t5({2Bp:"1Qq/2gS/5T1.js",2Bo:"1Qq/3Zz.1JQ",4GI:"1Qq/2gS/3Zz.js"}).4b(1b(){sd.35T=!0});sd.4Gw.3t5({2Bp:"1Qq/3t4.js",2Bo:"1Qq/3t4.1JQ"}).4b(1b(){sd.4Gx=!0})};sd.3r9=1g Vc("5iR");sd.35S=1g Vc("7SQ");sd.4CF=1g Vc("3X9");sd.4Gw=1g Vc("5T0",3a.19B);sd.35T=!1;sd.4Gx=!1;sd.11K=!1;fe.1i.1y=1b(a){g(a)||(a=1g fe({}));a.1LN=y.1y(1a.1LN);a.1se=y.1y(1a.1se);a.1Du=y.1y(1a.1Du);a.1GL=1a.1GL;a.1JK=1a.1JK;a.2oQ=A.1y(1a.2oQ);a.2NC=1a.2NC;a.2MO=1a.2MO;a.35R=1a.35R;1a.2NC&&(a.3Zt=1a.3Zt,a.4GH=1a.4GH,a.27g=y.1y(1a.27g),a.3sZ=1a.3sZ,a.4GG=1a.4GG,a.3Zs=1a.3Zs,a.3Zu=y.1y(1a.3Zu),a.3sV=1a.3sV,a.4GF=1a.4GF,a.3Zv=1a.3Zv,a.3Zw=1a.3Zw,a.3sX=1a.3sX,a.4GC=1a.4GC,a.3sY=1a.3sY,a.4GB=1a.4GB,a.4GA=1a.4GA,a.3sW=1a.3sW,a.4Gz=1a.4Gz,a.4Gy=1a.4Gy,a.3t0=1g OC,a.3t0.1y(1a.3t0),a.3t1=1g OC,a.3t1.1y(1a.3t1));1j(1d b in 1a.12s){1d c=1a.12s[b];g(c)&&(Rc.2Mq(c.id),a.12s[b]=1a.12s[b])}};fe.1i.4CI=1b(a,b,c,d,e){a=Ng(a);1d f=1a;a.4b(1b(a){1d c=1g 12X(a,0,6),h=c[0],g=c[1],k=c[2],m=c[3],x=c[4];a=1g 4L(a,24,c[5]);a=Dp.1pn(a).3J;x=1g 4L(a,0,x);h=Rc.22b(b,d,g,k,m,h,x,!1);0==e&&0<f.12s.1h?f.12s.6z(0,0,h):f.12s.1q(h)});1f a};fe.1i.4CL=1b(a,b,c,d,e,f,h,l,k){b=Rc.3t3.1fb[a];if(g(b))1f 1a.12s.1q(b),Rc.3t3.22u[a]++,b;b=e.1h;f=e.8o;h=1g 1dE(e.3J);1j(1d p=0,m=[];p<b;){1d w=h.9A(f,!0);f+=12X.12T;p+=12X.12T;1d x=e.1hl(p,p+w);f+=w;p+=w;w=CB({2f9:x,8V:"4d/3X8"});m.1q(w)}1d q=1a;1f Z.all(m,1b(b){1d e=b[0];if(g(e)){1d f=1g Ca({1O:c,5j:e,8b:ua.9m,13E:!1,10v:1g Eb({18i:l,18h:k,14A:nb.1Qv,15u:Rb.11U})});f.id=a;Rc.3t3.1fb[a]=f;Rc.3t3.22u[a]=1;0===d&&0<q.12s.1h?q.12s.6z(0,0,f):q.12s.1q(f)}e=c.6M;if(1<b.1h){e.1pR(e.1tW);e.1eg(e.17U,f.10q);f=1;1j(1d h=b.1h;f<h;f++)e.1oG(e.17U,f,e.9m,e.9m,e.7U,b[f]);e.1eg(e.17U,1F)}})};fe.1i.4Gk=1b(a){g(a.3Zy)&&(a=a.3Zy,1a.2NC=!0,1a.3Zt=a.3Zx,1a.4GH=a.2gR,1a.27g=1g y(a.1rL.x,a.1rL.y,a.1rL.z,a.1rL.w),1a.3sZ=a.7SP,1a.4GG=a.7SO,1a.3Zs=a.1QG,1a.3Zu=1g y(a.3t2.x,a.3t2.y,a.3t2.z,1),1a.3sV=a.7SN,1a.4GF=a.7SM,1a.3Zv=a.4GE,1a.3Zw=a.4GD,1a.3sX=a.7SL,1a.4GC=a.7SK,1a.3sY=a.7SJ,1a.4GB=a.7SI,1a.4GA=a.3gH,1a.3sW=a.7SH,1a.4Gz=a.7SG,1a.4Gy=a.7SF,1a.3t0=1g OC(a.7SE),1a.3t1=1g OC(a.7SD))};fe.1i.4CJ=1b(a,b,c,d,e,f,h){1d l;sd.4Gx&&(l=E1(sd.4Gw,e.1Ei,!0));if(g(l)){1d k=1a;l.4b(1b(b){b=Rc.22b(a,c,e.1G,e.1D,e.1vC,Vt.4Gv,b.11y,!1,f,h);0===d&&0<k.12s.1h?k.12s.6z(0,0,b):k.12s.1q(b)});1f l}};fe.1i.4Gl=1b(a){1d b=a.18A;1a.1LN=1g y(b.r,b.g,b.b,b.a);b=a.8t;1a.1se=1g y(b.r,b.g,b.b,b.a);b=a.16C;1a.1Du=1g y(b.r,b.g,b.b,b.a);1a.1JK=a.1rk;1a.1GL=a.4CX};1d xh=1g E;fe.1i.4Gu=1b(){1d a={};if(!1a.2NC)1f a;1d b=1a;a.1XR=1b(){1f b.3Zw};a.1XQ=1b(){1f b.3Zv};a.1XO=1b(){1f b.3Zu};a.1SD=1b(){1f b.27g};a.2Gd=1b(){1f b.3Zt};a.2jZ=1b(){1f b.12s[b.3sZ]};a.2tU=1b(){1f b.12s[b.3sX]};a.1Os=1b(){1f b.12s[b.3sY]};a.2tR=1b(){1f b.12s[b.3sW]};a.2tQ=1b(){1f b.12s[b.3sV]};1d c=b.3t1;a.1SA=1b(){1d a=1bR.14H()/1E3;if(0<c.2Bn){1d b=a%c.2Bn;xh.x=b*c.37j;xh.y=b*c.37i}1s xh.x=0,xh.y=0;0<c.2Bm?(a%=c.2Bm,xh.z=1+a*c.37h,xh.w=1+a*c.37g):(xh.z=1,xh.w=1);1f xh};1d d=b.3t0;a.1SE=1b(){1d a=1bR.14H()/1E3;if(0<d.2Bn){1d b=a%d.2Bn;xh.x=b*d.37j;xh.y=b*d.37i}1s xh.x=0,xh.y=0;0<d.2Bm?(a%=d.2Bm,xh.z=1+a*d.37h,xh.w=1+a*d.37g):(xh.z=1,xh.w=1);1f xh};1f a};fe.1i.4zm=1b(a,b){1a.2NC&&(a.2N.1q("2cZ"),b.2N.1q("2cZ"),0<=1a.3sZ&&b.2N.1q("4gB"),0<=1a.3sY&&b.2N.1q("4gD"),0<=1a.3sX&&b.2N.1q("4gA"),0<=1a.3sW&&b.2N.1q("4gz"),0<=1a.3sV&&b.2N.1q("4gy"),1a.3Zs&&b.2N.1q("4gC"))};fe.2lJ=1g fe;fe.1i.3Z=1b(){1f!1};fe.1i.1M=1b(){1a.1Du=1a.1se=1a.1LN=1F;1j(1d a in 1a.12s){1d b=1a.12s[a];g(b)&&Rc.4CD(b.id)}1f la(1a)};OC.1i.1y=1b(a){1a.2Bn=a.2Bn;1a.37j=a.37j;1a.37i=a.37i;1a.2Bm=a.2Bm;1a.37h=a.37h;1a.37g=a.37g};1d ra=1L.3F({1cB:"1cB",25A:"25A",1eW:"1eW",1kh:"1kh",25I:"25I",25J:"25J",2vF:"2vF",1l9:"1l9",25y:"25y",1wc:"1wc",1h6:"1h6",1o5:"1o5",1l8:"1l8",2da:"2da",1bn:"1bn",1bm:"1bm",2gP:"1mY",4G2:"1SY",1o6:"1o6",1SZ:"1SZ",2vz:"2vz",1mZ:"1mZ",1yn:"1yn",1pe:"1pe",1OY:"1OY",2d8:"2d8",1es:"1es",1Xs:"1Xs",1Ly:"1Ly",2t0:"2t0",1gn:"1gn ",1dY:"1dY ",19w:"19w ",1Z3:"1Z3",1II:"1II",2Ha:"2Ha",4G5:"1Cj",4G4:"1Xl",2H6:"2H6",2kR:"2kR",2H5:"2H5",2sV:"2sV",3sx:"3sx",3Z6:"3Z6",25z:"25z",2kW:"2kW"}),qq=1L.3F({3mj:"7SC",3mi:"7SB"}),Ak=1L.3F({2oO:0,35Q:1}),4Gp=1g y(.7,.7,1,1),zk={1he:0,1gu:1,1e5:2,21L:3,1cY:4,12D:5};1L.2X(yg.1i,{5SZ:{1n:1b(){1f 1a.3sU},1C:1b(a){1a.3sU=a}},13o:{1n:1b(){1f 1a.19O}},13z:{1n:1b(){1f 1a.1br},1C:1b(a){1a.1br=a}},21K:{1n:1b(){1f 1a.1JM},1C:1b(a){g(a)&&(1a.1JM=a)}},1I:{1n:1b(){1f 1a.1b4}},5SY:{1n:1b(){1f 1a.4Gt},1C:1b(a){1a.4Gt=a}},21J:{1n:1b(){1f 1a.34N},1C:1b(a){v.1N.2b("21J",a);1a.34N=a}},1x7:{1n:1b(){1f 1a.1B9},1C:1b(a){v.1N.2b("1x7",a);1a.1B9=a}},2fV:{1n:1b(){1f 1a.2op},1C:1b(a){v.1N.2b("2fV",a);1a.2op=a}}});yg.1i.3S1=1b(a,b,c){v.1N.4n("3sS 3Vf 2I",a);v.1N.2b("3sS 3Vf 8H",b);v.1N.2b("3sS 3Vf 13u",c);a=1a.19O[a];if(g(a)&&(a.1bB.8H!==b||a.1bB.13u!==c)&&(a.1bB={3e:!0,8H:m(b,0),13u:m(c,0)},a.3o))1j(1d d=0,e=a.1gJ.1h;d<e;d++){1d f=a.1gJ[d].14Z,h=pa.1PL(f.4w);h.1bB={3e:!0,8H:m(b,0),13u:m(c,0)};f.4w=pa.4t(h)}};yg.1i.2H=1b(a){if(1a.1br&&a.19c.1mc!==Ud.1pe){1d b=!0;-1<a.1g4&&(b=1a.1ks(a.1g4));1a.5Y=a;1a.1ss=a.10s.11P;1d c=a.3w.19I.1D<1a.1JM,d;1j(d in 1a.19O)if(1a.19O.3p(d)){1d e=1a.19O[d];if(e.3o){if(e.13z){if(!1a.1ss)a:{1d f=a,h=e;if(!(1>h.1K1.1h)){1d l=1a.4j,k=!1;0>h.3sT&&(k=!0,h.3sT=7O.1bR.14H());1d n=Kd()-h.3sT;1d m=1a.3sU;h.18B=n/m;h.18B=B.2Y(h.18B,0,1);if(k||n>=m){h.18B=0;n=M.14H();n=M.190(n,-1a.3sU/1E3,1g M);h.3sT=7O.1bR.14H();1d w=h.1K1;k=[];1j(1d x=0;x<w.1h;x++){1d q=w.2a[x];m=q.id;1d t=h.28Q.1n(m);if(h.3sR.8h(m))1W a;g(t)||(h.28Q.1C(m,1g JI(l,q,h,m)),t=h.28Q.1n(m));t.2H(f,q,n,k)}0<k.1h&&(f=P.1zi(k,1g P),P.1y(f,h.7u));h.1gC=k.1h;PC(1a,h)}}}if(!(1>e.1gC)&&c&&b)1j(h=0,f=e.1gJ.1h;h<f;h++)l=e.1gJ[h].14Z,l.1gC=e.1gC,l.6W=e.7u,a.13l.1q(l)}}1s 5SX(1a,d)}}};yg.1i.3UD=1b(a,b){v.1N.4n("3sS 3UD 2I",a);b=m(b,di.1sq);a=1a.19O[a];if(g(a)&&(!a.1vk||a.1Ee!==b)&&(a.1vk=!0,a.1Ee=b,a.3o))1j(1d c=0,d=a.1gJ.1h;c<d;c++){1d e=a.1gJ[c].14Z,f=pa.1PL(e.4w);f.8d.3e=!0;f.8d.18X=b;e.4w=pa.4t(f)}};yg.1i.5SW=1b(a){v.1N.4n("3sS 5SW 2I",a);a=1a.19O[a];if(g(a))1f a.1vk};yg.1i.9P=1b(a,b){ek("4iZ.1i.9P","9P() 1B4 be 2l9, 3it 14W 4Gq()");1a.4Gq(a,b)};yg.1i.4Gs=1b(){ek("4iZ.1i.4Gs","4Gs() 1B4 be 2l9, 3it 14W 4Gr()");1a.4Gr()};yg.1i.4Gr=1b(){1j(1d a in 1a.19O)1a.19O.3p(a)&&(1a.19O[a].1K1.7f(),1a.19O[a].28Q.7f(),PC(1a,1a.19O[a]))};yg.1i.4Gq=1b(a,b){v.1N.4n("3Zr.9P 2I",a);v.2l("3Zr.9P 1a8",b);2K.8n(b)||(b=[b]);a=1a.19O[a];if(g(a)){1d c=a.1K1,d=a.28Q;if(g(c)&&g(d)){1j(1d e,f=0,h=b.1h;f<h;f++)e=b[f],c.8h(e)&&c.3S(e),d.8h(e)&&d.3S(e);PC(1a,a)}}};yg.1i.7SA=1b(a,b){v.1N.4n("3Zr.4Y 2I",a);v.2l("3Zr.4Y 1a8",b);2K.8n(b)||(b=[b]);a=1a.19O[a];if(g(a)){1d c=a.28Q,d=a.3sR,e=a.1K1;if(g(c)&&g(d)&&g(e)){1j(1d f,h=0,l=b.1h;h<l;h++)f=b[h],e.3S(f),c.8h(f)&&(c.3S(f),d.1C(f,!0));PC(1a,a)}}};yg.1i.7Sz=1b(){1j(1d a in 1a.19O)if(1a.19O.3p(a)){1j(1d b=1a.19O[a],c=b.28Q,d=1L.9K(c.15W),e=d.1h;e--;)b.3sR.1C(d[e],!0);c.7f();b.1K1.7f();PC(1a,b)}};yg.1i.7Sy=1b(a,b){a=1a.19O[a];g(a)&&(a.13z=b)};yg.1i.7Sx=1b(a,b){1a.19O[a].2Bj=b};yg.1i.7Sw=1b(a,b){v.1N.4n("2I",a);if(2K.8n(b)&&(a=1a.19O[a],g(a))){g(a.1K1)||(a.1K1=1g Ia);1j(1d c,d=0,e=b.1h;d<e;d++)if(c=b[d],c 2m NC){1d f=c.id;if(!a.3sR.8h(f)){1d h=a.1K1.1n(f);g(h)||(a.2M=k.1y(c.2M,a.2M),a.1K1.1C(f,{1K:1g Qf,3b:1g Df(k),8e:1g Df(3a),8q:1g Df(3a),12C:1g Df(3a),1A:1g Df(y),2M:c.2M,16G:c.16G,28P:c.28P,id:f}),h=a.1K1.1n(f),h.1K.3sQ({2NB:10}),h.1K.22t=gg.1N4,h.1K.22s=gg.1N4,h.3b.22t=gg.1N4,h.3b.22s=gg.1N4,h.8e.22t=gg.1N4,h.8e.22s=gg.1N4,h.8q.22t=gg.1N4,h.8q.22s=gg.1N4,h.12C.22t=gg.1N4,h.12C.22s=gg.1N4,h.1A.22t=gg.1N4,h.1A.22s=gg.1N4,h.2Nz=c.2Nz);f=M.14H();1d l=k.8g(c.3N,c.4k,c.1eD);Sy(h.1K.1pU);Sy(h.8e);Sy(h.8q);Sy(h.12C);Sy(h.3b);Sy(h.1A);h.1K.2pv(f,l);h.8e.2pv(f,c.8e);h.8q.2pv(f,c.8q);h.12C.2pv(f,c.12C);h.3b.2pv(f,c.3b);h.1A.2pv(f,c.1A);h.28P=c.28P}}}};yg.1i.2eC=1b(){1d a=1a.19O;if(g(a))1j(1d b in a)if(a.3p(b)){1d c=a[b];if(g(c.28Q)&&!(1>c.1gC)&&c.2Bj){c=c.28Q;1j(1d d=0;d<c.1h;d++){1d e=c.2a[d];g(e)&&e.2eC()}}}};yg.1i.1ks=1b(a){1f 3<a?!1:1<<a&1a.11h};yg.1i.1PK=1b(a,b){3<a||(1a.11h=b?1<<a|1a.11h:~(1<<a)&1a.11h)};1d 5ST=1g ca,5SV=1g k;JI.1i.31Z=1b(){1d a=1a.12N;if(g(a)&&1a.1tS.2Bj&&!(0>a)&&(v.1N.2b.9Y("2M",a,0),!y.2L(1a.2Ny,4Gp))){1a.2Ny=y.1y(4Gp);1a.7a=y.9b(1a.2Ny,1a.37c,1a.7a);1d b=1g y;b.5r=xb.1tZ({x:1a.7a.5r,y:1a.7a.5t});b.5t=xb.1tZ({x:1a.7a.5G,y:1a.7a.2O});b.5G=xb.1tZ({x:1a.1Mc.5r,y:1a.1Mc.5t});b.2O=xb.1tZ({x:1a.1Mc.5G,y:1a.1Mc.2O});1d c=1a.1tS.1gJ;if(g(c)&&!(1>c.1h)){1j(1d d=0,e=c.1h;d<e;d++){1d f=c[d].14Z;f=f.4c.15o(f.2z.19h.1P4.2P);1d h=a*f.9t+f.9n,l=I.9g(f.3k,f.2Z);l[0]=b.5r;l[1]=b.5t;l[2]=b.5G;l[3]=b.2O;f.7e.1jR(l,h)}1a.1LL=!0}}};JI.1i.2eC=1b(){1d a=1a.12N;if(g(a)&&1a.1tS.2Bj&&!(0>a)&&1a.1LL){1a.1LL=!1;1a.2Ny=y.9r;1a.7a=y.1y(1a.37c);1d b=1g y;b.5r=xb.1tZ({x:1a.7a.5r,y:1a.7a.5t});b.5t=xb.1tZ({x:1a.7a.5G,y:1a.7a.2O});b.5G=xb.1tZ({x:1a.1Mc.5r,y:1a.1Mc.5t});b.2O=xb.1tZ({x:1a.1Mc.5G,y:1a.1Mc.2O});1d c=1a.1tS.1gJ;if(g(c)&&!(1>c.1h))1j(1d d=0,e=c.1h;d<e;d++){1d f=c[d].14Z;f=f.4c.15o(f.2z.19h.1P4.2P);1d h=a*f.9t+f.9n,l=I.9g(f.3k,f.2Z);l[0]=b.5r;l[1]=b.5t;l[2]=b.5G;l[3]=b.2O;f.7e.1jR(l,h)}}};JI.1i.2H=1b(a,b,c,d){1d e=F.8y(b.1K,c,5SV);if(g(e)){1d f=k.5T(e,1a.2Nx,B.1PW)||.5>k.3s(e,1a.2Nx);1a.13V=k.1y(b.3b.3K(c),1a.13V);1d h=k.1xj(b.3b.3K(c)),l=k.4g(1a.1hs,h,1g k),p=Da.1nq(e,1g $b,ba.9y,Da.18N,1g A);1a.37f=k.1y(1a.2Nx,1a.37f);A.8P(p,l,1a.2Nx);$b.1y(1a.37e,1a.3Zq);1a.37e.8e=b.8e.3K(c);1a.37e.8q=b.8q.3K(c);1a.37e.12C=b.12C.3K(c);1a.2NA=b.28P;ca.1y(1a.2Bl,1a.37d);1a.2NA||(f=f?1p 0:F.8y(1a.5SU,c,5ST),g(f)?(1a.1tY=ca.1y(f),ca.1y(1a.1tY,1a.2Bl)):g(1a.1tY)?ca.1y(1a.1tY,1a.2Bl):(p=A.1nf(p,1g J),ca.1UQ(p,1a.2Bl),p=Da.1nq(e,1g $b(b.2Nz,0,0),ba.9y,Da.18N,1g A),p=A.1nf(p,1g J),1a.2Bl=1a.37d=f=ca.1UQ(p)));b=b.1A.3K(c);1a.37c=y.1y(b);1a.7a=y.9b(1a.37c,1a.2Ny,1a.7a);k.1y(1a.2Nx,1a.5V.2V);1a.5V.3L=1a.1tS.4Go.3L*h;(a=a.1dj.1su(1a.5V)!==Lb.1gB)&&d.1q(1a.5V);1a.4y=a}1s 1a.4y=!1};yg.1i.3Z=1b(){1f!1};yg.1i.1M=1b(){1j(1d a in 1a.19O){1d b=1a.19O[a];if(b.3o){1j(1d c=0,d=b.1gJ.1h;c<d;c++){1d e=b.1gJ[c].14Z;e.4c=e.4c&&!e.4c.3Z()&&e.4c.1M();e.2z=e.2z&&e.2z.1M()}b.1gJ.1h=0;g(b.1K1)&&b.1K1.7f()}}1a.19O=1p 0;1f la(1a)};Bk.1i.31Z=1b(){if(g(1a.7r)&&1a.7r.2Bj){1d a=1a.2P;if(g(a)&&!(0>a)&&!y.2L(1a.1A,1a.1jp)){1a.1A=y.1y(1a.1jp,1a.1A);1d b=y.9b(1a.1A,1a.2pu,1g y),c=1a.28O;if(g(c)&&g(c.1b6)){1d d=c.2w[c.1Ep.1De];g(d)&&(a=a*d.9t+d.9n,d=I.9g(d.3k,d.2Z),d[0]=b.5r,d[1]=b.5t,d[2]=b.5G,d[3]=b.2O,c.1b6.1jR(d,a),1a.1Pi=!0)}}}};Bk.1i.2eC=1b(){1d a=1a.2P;if(g(a)&&!(0>a)&&1a.1Pi){1a.1Pi=!1;1a.1A=y.1y(1a.2pu,1a.1A);1d b=1a.28O;if(g(b)&&g(b.1b6)){1d c=b.2w[b.1Ep.1De];g(c)&&(a=a*c.9t+c.9n,c=I.9g(c.3k,c.2Z),c[0]=1a.2pu.5r,c[1]=1a.2pu.5t,c[2]=1a.2pu.5G,c[3]=1a.2pu.2O,b.1b6.1jR(c,a))}}};Bk.1i.5SS=1b(a){if(g(a)){1d b=1a.2P;1a.2M=k.1y(a,1a.2M);a=1a.28O;if(g(a)&&g(a.1b6)){1d c=a.2w[a.1Ep.2vU];g(c)&&(b=b*c.9t+c.9n,c=I.9g(c.3k,c.2Z),c[0]=1a.2M.x,c[1]=1a.2M.y,c[2]=1a.2M.z,a.1b6.1jR(c,b))}}};Bk.1i.3UJ=1b(a){if(g(a)){1d b=1a.2P;1a.1K=k.1y(a,1a.1K);1a.1Av=T.12y(1a.1K);if(g(1a.11H)&&g(1a.11H.2fR)&&(1a.2M=A.8P(1a.11H.2fR,1a.1K,1a.2M),a=1a.28O,g(a)&&g(a.1b6))){1d c=a.2w[a.1Ep.2vU];g(c)&&(b=b*c.9t+c.9n,c=I.9g(c.3k,c.2Z),c[0]=1a.2M.x,c[1]=1a.2M.y,c[2]=1a.2M.z,a.1b6.1jR(c,b))}}};Bk.1i.4zx=1b(a){if(g(a)){1d b=1a.2P;if(!$b.2L(1a.1oc,a)&&(1a.1oc=$b.1y(a,1a.1oc),1a.1zz=ca.28d(a,1a.1zz),a=1a.28O,g(a)&&g(a.1b6))){1d c=a.2w[a.1Ep.1OZ];g(c)&&(b=b*c.9t+c.9n,c=I.9g(c.3k,c.2Z),c[0]=1a.1zz.x,c[1]=1a.1zz.y,c[2]=1a.1zz.z,c[3]=1a.1zz.w,a.1b6.1jR(c,b))}}};Bk.1i.4zo=1b(a){if(g(a)){1d b=1a.2P;if(!y.2L(1a.1A,a)&&(1a.1A=y.1y(a,1a.1A),1a.2pu=y.1y(a,1a.2pu),a=1a.28O,g(a)&&g(a.1b6))){1d c=a.2w[a.1Ep.1De];g(c)&&(b=b*c.9t+c.9n,c=I.9g(c.3k,c.2Z),c[0]=1a.1A.5r,c[1]=1a.1A.5t,c[2]=1a.1A.5G,c[3]=1a.1A.2O,a.1b6.1jR(c,b))}}};Bk.1i.3UF=1b(a){if(g(a)){1d b=1a.2P;if(!k.2L(1a.3b,a)){k.1y(a,1a.3b);1d c=1a.28O;if(g(c)&&g(c.1b6)){1d d=c.2w[c.1Ep.1wz];g(d)&&(b=b*d.9t+d.9n,d=I.9g(d.3k,d.2Z),d[0]=a.x,d[1]=a.y,d[2]=a.z,c.1b6.1jR(d,b))}}}};Bk.1i.5Go=1b(a){1d b=A.1sj(a,1g k);1a.3UF(b);b=A.2m8(a,1g k(1,1,1),1g A);b=A.1nf(b,1g J);ca.1UQ(b,1a.1zz);b=$b.1fE(1a.1zz,1g $b);1a.4zx(b);a=A.1Um(a,1g k);k.add(1a.2M,a,1a.2M);1a.5SS(1a.2M)};Bk.1i.1G2=1b(a,b){1d c=1a.2M,d=1a.1zz,e=1a.3b,f=1a.1A,h=1a.1fR,g=0;a[b+g++]=c.x;a[b+g++]=c.y;a[b+g++]=c.z;a[b+g++]=d.x;a[b+g++]=d.y;a[b+g++]=d.z;a[b+g++]=d.w;a[b+g++]=e.x;a[b+g++]=e.y;a[b+g++]=e.z;a[b+g++]=f.5r;a[b+g++]=f.5t;a[b+g++]=f.5G;a[b+g++]=f.2O;a[b+g++]=h.x;a[b+g++]=h.y;a[b+g++]=h.z;a[b+g++]=h.w};Bk.1i.3Z=1b(){1f!1};Bk.1i.1M=1b(){la(1a)};Tv.1i.5SQ=1b(){1j(1d a=3a.6w,b=3a.1Mg,c=1a.18P.1h,d=0;d<c;d++){1d e=1a.18P[d];a=1k.2o(a,e.1Av.1D);b=1k.1V(b,e.1Av.1D)}1f{1Qh:a,1wE:b}};Tv.1i.2H=1b(a){g(1a.1b6)&&(1a.1b6=1a.1b6.1M());if(0<1a.18P.1h){1j(1d b=1a.18P,c=1a.14e,d=b.1h,e=1g 4A(d*c),f=0;f<d;f++){1d h=b[f];h.2P=f;h.1G2(e,f*c)}a=Ra.12S({1O:a,5b:e,7Q:xa.7C});a.1hU=!1;1a.1b6=a;if(g(1a.2w))1j(a=0,b=1a.2w.1h;a<b;a++)1a.2w[a].7e=1a.1b6;1s a=1a.1b6,b=1a.14e,c=I.1jh(I.3O),d=0,e=[],f=0,h={},h.2vU=f++,e.1q({2P:h.2vU,7e:a,2Z:3,3k:I.3O,1T:!1,9n:d,9t:c*b,19N:1}),d+=3,h.1OZ=f++,e.1q({2P:h.1OZ,7e:a,2Z:4,3k:I.3O,1T:!1,9n:c*d,9t:c*b,19N:1}),d+=4,h.1wz=f++,e.1q({2P:h.1wz,7e:a,2Z:3,3k:I.3O,1T:!1,9n:c*d,9t:c*b,19N:1}),d+=3,h.1De=f++,e.1q({2P:h.1De,7e:a,2Z:4,3k:I.3O,1T:!1,9n:c*d,9t:c*b,19N:1}),h.1Z6=f++,e.1q({2P:h.1Z6,7e:a,2Z:4,3k:I.3O,1T:!1,9n:c*(d+4),9t:c*b,19N:1}),1a.2w=e,1a.1Ep=h}1a.6s=!1};Tv.1i.3Z=1b(){1f!1};Tv.1i.1M=1b(){1a.1b6=1a.1b6&&!1a.1b6.3Z()&&1a.1b6.1M();1a.2fR=1a.1Ep=1a.2w=1a.18P=1F;la(1a)};1d zg=1L.3F({3sO:0,2Nu:1,2pt:2,4Gm:3,3Zp:4,7Sv:5,7Su:6});LS.1i.3Z=1b(){1f!1};LS.1i.1M=1b(){1a.sp=1a.sp&&!1a.sp.3Z()&&1a.sp.1M();1a.10X=1a.10X&&!1a.10X.3Z()&&1a.10X.1M();1j(1d a=0,b=1a.2w.1h;a<b;a++)1a.2w[a].7e.1M();1a.2w.1h=0;1a.3sP=1p 0;1f la(1a)};QC.1i.4Gj=1b(a,b,c,d,e,f){1j(1d h=a.4j,l=1g LS,k=d.19h,n=0,m=k.1h;n<m;n++){1d w=k[n];g(w.5b)&&(w.7e=Ra.12S({1O:h,5b:w.5b,7Q:xa.7C}),w.7e.1hU=!1,w.5b=1F,4Y w.5b)}l.2w=k;k=Ta.10P;(1===e.1IY||d.1f0>=B.1uW)&&h.1Pf&&(k=Ta.1bt);e=Ra.17Q({1O:h,5b:e.1m2,7Q:xa.7C,17P:k});e.1hU=!1;l.10X=e;l.1Ep=d.1oh;k=g(l.1Ep.7s)&&0<c.12s.1h;n=g(l.1Ep.13N);m=g(l.1Ep.11X);w=0===a.1gI;d=l.1Ep;e=1g ja({2i:"4ib",5p:["3Q 1m 4f;\\n#1z 1h6\\n    3Q 1w 13N;\\n#1s\\n    2n 1m 15a;\\n#1u\\2J 1m 7s;\\n#1z 14V\\2J 1m 11X;\\n#1u\\2J 1w 2vU;\\2J 1m 1OZ;\\2J 1w 1wz;\\2J 1m 1De;\\2J 1m 1Z6;\\n#1z 2kZ\\2J 1m 2db;\\2J 1m 2dc;\\n#1u\\1B 5w 2de;\\1J 1m 8l;\\1J 1w 1id;\\1J 1w 1ym;\\1J 1v 6r;\\1J 1m 4m;\\1J 1m 1th;\\1Sg 1Z7(1m q, 1m 14L)\\n{\\n    1o x2 = q.x * q.x;\\n    1o xy = q.x * q.y;\\n    1o xz = q.x * q.z;\\n    1o xw = q.x * q.w;\\n    1o y2 = q.y * q.y;\\n    1o yz = q.y * q.z;\\n    1o yw = q.y * q.w;\\n    1o z2 = q.z * q.z;\\n    1o zw = q.z * q.w;\\n    1o w2 = q.w * q.w;\\n    1o 1Zg = x2 - y2 - z2 + w2;\\n    1o 1Zd = 2.0 * (xy - zw);\\n    1o 1Za = 2.0 * (xz + yw);\\n    1o 1Zf = 2.0 * (xy + zw);\\n    1o 1Zc = -x2 + y2 - z2 + w2;\\n    1o 1Z9 = 2.0 * (yz - xw);\\n    1o 1Ze = 2.0 * (xz - yw);\\n    1o 1Zb = 2.0 * (yz + xw);\\n    1o 1Z8 = -x2 - y2 + z2 + w2;\\n    1f 5w(1Zg, 1Zf, 1Ze, 0.0, 1Zd, 1Zc, 1Zb, 0.0, 1Za, 1Z9, 1Z8, 0.0, 14L.x, 14L.y, 14L.z, 1.0);\\n}\\2s 2k()\\n{\\n   1m 6v = 1m(4f.1H, 1.0);\\n   1m 15C = 2de * 6v;\\n   6r = 7s.xy;\\n   14j 1yo = 14j(1Z7(1OZ, 1m(0.0)));\\n   5w 18r;\\n   18r[0] = 1m(1yo[0], 0.0);\\n   18r[1] = 1m(1yo[1], 0.0);\\n   18r[2] = 1m(1yo[2], 0.0);\\n   18r[3] = 1m(2vU, 1.0);\\n   5w 1n0;\\n   1w 3b = 1wz.1H;\\n   1n0[0] = 1m(3b.x,0,0,0.0);\\n   1n0[1] = 1m(0,3b.y,0,0.0);\\n   1n0[2] = 1m(0,0,3b.z,0.0);\\n   1n0[3] = 1m(0,0,0,1.0);\\n   5w 4a = 18r;\\n#1z 2kZ\\n   5w 2vK = 1Z7(2dc, 2db);\\n   4a *= 2vK;\\n#1u\\n   4a *= 1n0;\\n   14j 1h3 = 14j(4a);\\n   15C = 4a * 1m(15C.1H, 1.0);\\n   15C.w = 1.0;\\n   6I = 11o * 15C;\\n   8l.1H = 15C.1H;\\n   8l.w = 0.0;\\n   1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n   4m = 7x * 1De;\\n   1th = 1Z6 / 255.0;\\n#1z 1h6\\n    if(1h(13N) > 0.8)\\n    {\\n        1w 2U = 1h3 * 13N;\\n        1ym = 1T(11b * 2U);\\n        8l.w = 1.0;\\n        1id = (9q * 8l).1H;\\n#1bI 2cZ\\n        4m = 4m * 1Fa(1ym, -1id, 8l.1H);\\n#1u\\n    }\\n#1u\\n}"]});h=1g ja({2i:"3JV",5p:["#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1e0\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\n#1z 1uL\\1B 2v 18G;\\1J 1v 6r;\\n#1u\\1J 1m 4m;\\1J 1m 1th;3G 1m 8l;\\1J 1w 1id;\\1J 1w 1ym;\\n\\n#1z 1h5\\1B 2v 1Dc;\\1B 2v 1Db;\\1B 2v 1Da;\\1B 1o 1D9; \\n#1u\\n\\1r 2vt()\\n{\\n#1z 10B\\n    1f 1iK(1Sb) * 2ji;\\n#1s\\n    1f 4u.z;\\n#1u\\n}\\n#1z 1h5\\166 1Ix(1v 4M)\\n{\\n    7d 1jD = 16f;\\n    1m 1Iz = 1Y(1Dc,4M.xy);\\n    if(1Iz.r > 0.99 && 1Iz.g < 0.11t && 1Iz.b < 0.11t)\\n    {\\n        1o 1rY = 11N(1Y(1Db, 4M.xy)) - 0.1Ai;\\n        1o 1rX = 11N(1Y(1Da, 4M.xy)) + 0.1Ai;\\n        1o 1Z2 = 2vt();\\n        if(1Z2 > 1rY && 1Z2 < 1rX){\\n            1jD = 8O;\\n        }\\n    }\\n    1f 1D9 < 0.5 ? !1jD : 1jD;\\n}\\n#1u\\2s 2k()\\n{\\n#1z 1e0\\1Cz();\\n#1u\\n    1m 1A = 4m;\\n#1z 1e0\\n    2C = 1A;\\n    #1z 2Yi\\n        2C = 1th;\\n        2C.a = 1.0;\\n    #1u\\n#1s\\n        1v 1dZ = 1v(0.0);\\n     #1z 1h5\\n        1v 4M = 1v(4u.x / 9e.z, 4u.y / 9e.w);\\n        if(!1Ix(4M)) \\n        { \\n            7o; \\n        } \\n    #1u\\n\\t#1z 1uL\\n        #1z 2H2\\n            1dZ = 1v(6r.x,1.0-6r.y);\\n        #1s\\n            1dZ = 1v(6r.x,6r.y);\\n        #1u\\n    #1u\\n    #1z 2cZ\\n        2C = 1XU(1ym, 1id, 1dZ, 1m(1.0)) * 4m;\\n    #1s\\n        #1z 1uL\\n            1A = 1Y(18G, 1dZ.xy, 0.0) * 1A;\\n        #1u\\n            2C = 1A;\\n            2C *= 1O8(8l.1H, 8l.w);\\n        #1u\\n    #1u\\n#1u\\n    2C = 9D(2C);\\n    if(2C.a < 0.1)\\n    {\\n        7o;\\n    }\\n}"]});w&&h.2N.1q("2H2");k&&h.2N.1q("1uL");n&&(e.2N.1q(ra.1h6),h.2N.1q(ra.1h6));m&&e.2N.1q("14V");g(a.5Y.1hp)&&(k=a.5Y.1hp.21G,e.2N.1q(ra.1gn+k.1h),h.2N.1q(ra.1gn+k.1h),k=a.5Y.1hp.21F,e.2N.1q(ra.1dY+k.1h),h.2N.1q(ra.1dY+k.1h),k=a.5Y.1hp.1JL,e.2N.1q(ra.19w+k.1h),h.2N.1q(ra.19w+k.1h));c.4zm(e,h);d=Ga.4t({1O:a.4j,5O:e,5A:h,7W:d});l.sp=d;l.3sP=5SR(a,b,c,f);l.6W=P.1y(f);1a.2Nw.1q(l)};QC.1i.3Z=1b(){1f!1};QC.1i.1M=1b(){1j(1d a=0,b=1a.2Nw.1h;a<b;a++)1a.2Nw[a].1M();la(1a)};rq.1i.5SP=1b(a,b){1d c=1a.2Bi.1n(b.2I);if(g(c)&&c.3o){1d d=b.18P[0];if(g(d)){d=k.1xj(d.3b);1d e=1a.28N.1n(b.2I);g(e)||(e=2K(c.2Nw.1h),1a.28N.1C(b.2I,e));1j(1d f=0,h=c.2Nw.1h;f<h;f++){1d l=c.2Nw[f];e=1a.28N.1n(b.2I);1d p=e[f];g(p)||(p=Oa.15v(l.3sP),p.4a=A.1y(l.3sP.4a),e[f]=p);g(p.4c)&&!p.4c.3Z()&&p.4c.1M();1d n=l.2w;e=b.2w;1d m=n.1h;n=n.4h(0);1j(1d w=0,x=e.1h;w<x;w++)g(e[w].4Gn)&&e[w].4Gn||(e[w].2P+=m,e[w].4Gn=!0),n.1q(e[w]);e=n;m=1p 0;n=l.1Ep;w=b.1Ep;x={};1d q=0;1j(m in n)n.3p(m)&&(x[m]=n[m],++q);1j(m in w)w.3p(m)&&(x[m]=w[m]+q);m=x;p.4c=1g Fb({1O:a,2w:e,10X:l.10X});p.2z=Ga.4t({1O:a,2z:l.sp,5O:l.sp.5O,5A:l.sp.5A,7W:m});A.1y(1a.5o,p.4a);p.1gC=b.18P.1h;p.3L=l.6W.3L*d;p.6W=1a.6W}}}};rq.1i.5SO=1b(a,b){1a.6W=yc.21r(1a.3g,a,b)};rq.1i.3S=1b(a){1d b=1a.1QF.1n(a);g(b)&&(b.1M(),1a.1QF.3S(a));1a.2Bi.3S(a);b=1a.28N.1n(a);if(g(b)){1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c];e.4c=e.4c&&!e.4c.3Z()&&e.4c.1M();e.2z=e.2z&&!e.2z.3Z()&&e.2z.1M()}1a.28N.3S(a)}};rq.1i.2H=1b(a){1a.6s=!1;1d b=3a.6w,c=3a.1Mg,d;1j(d in 1a.1QF.15W)if(1a.1QF.15W.3p(d)){1d e=1a.1QF.1n(d);e.6s&&e.2H(a);1d f=e.5SQ();b=1k.2o(b,f.1Qh);c=1k.1V(c,f.1wE);1a.5SP(a,e)}1a.5SO(b,c)};rq.1i.3Z=1b(){1f!1};rq.1i.1M=1b(){1d a,b;1d c=0;1j(a=1a.1QF.1h;c<a;c++)1a.1QF.2a[c].1M();1a.1QF.7f();1a.2Bi.7f();c=0;1j(a=1a.28N.1h;c<a;c++){1d d=1a.28N.2a[c];1d e=0;1j(b=d.1h;e<b;e++){1d f=d[e];f.4c=f.4c&&!f.4c.3Z()&&f.4c.1M();f.2z=f.2z&&!f.2z.3Z()&&f.2z.1M()}}1a.28N.7f();la(1a)};1d 5SN=1g N;RC.1e4=1b(a,b){a=na.1kw({2I:b.2I});g(a)||(b.4F=zg.3sO);b.4F=zg.2Nu;a.4b(1b(a){b.4F=zg.2pt;b.2Bk=a},1b(a){b.4F=zg.21Z})};RC.5N=1b(a,b){1d c=sd.3r9.1fa({3J:b.2Bk,1V0:a.1gI},[b.2Bk]);g(c)?(b.2Bk=1p 0,b.4F=zg.4Gm,c.4b(1b(c){if(c.4D){1d d=a.4j,f=5SN.1dD(c.3ru).1gv,h=f.1fz,l=N.121(f,"3rt",h),p=N.2Nv(l,"2q",h);l={};1j(1d n=0,m=p.1h;n<m;n++){1d w=p[n],x=N.15X(w,"2i",h),q=1g fe({});l[x]=q;1d t=N.121(w,"3rs",h),r=N.6B(t,"3rr",h),u=N.6B(t,"3rq",h);x=N.6B(t,"3rp",h);t=N.6B(t,"3ro",h);q.1LN=1g y(r,u,x,t);t=N.121(w,"3rn",h);r=N.6B(t,"3rm",h);u=N.6B(t,"3rl",h);x=N.6B(t,"3rk",h);t=N.6B(t,"3rj",h);q.1se=1g y(r,u,x,t);t=N.121(w,"3ri",h);r=N.6B(t,"3rh",h);u=N.6B(t,"3rg",h);x=N.6B(t,"3rf",h);t=N.6B(t,"3re",h);q.1Du=1g y(r,u,x,t);r=N.6B(w,"3rd",h);q.1JK=r;N.121(w,"2oR",h);q.1GL=N.1Qi(w,"2oR",h)||1>q.1se.2O;r=N.121(w,"7y",h);w=N.15X(r,"2i",h);u=N.121(r,"3rc",h);r=N.15X(u,"u",h);x=N.15X(u,"v",h);r="2gj"===r?Ka.1av:Ka.11g;x="2gj"===x?Ka.1av:Ka.11g;u=c.2oP[w];g(u)&&(w=Rc.22b(w,d,u.1G,u.1D,u.1vC,u.1zq,u.1Ei,!1,r,x),q.12s.1q(w),0===u.1zq&&(a.1gI=0))}n=N.121(f,"3rb",h);d=N.1vx(n,"2MN",h);n=0;1j(m=d.1h;n<m;n++){q=d[n];f=N.15X(q,"2MM",h).7g(",");1j(p=0;16>p;p++)f[p]=7L(f[p]);f=A.5f(f,0);p=N.1vx(q,"2ML",h);w=[];r=0;1j(u=p.1h;r<u;r++){q=p[r].8S.1b2();w.1q(q);q=c.1oF[q];t=q.1dM;x=t;t=f;1d v=[];1d B=1g P,C=1g k,E=x.19h[0],F=E.2Z;E=1g 4A(E.5b.3J,E.5b.8o,E.5b.10S/4);1j(1d K=0;K<x.1f0;K++)k.7j(E,F*K,C),v.1q(k.1y(C));P.1aN(v,B);v.1h=0;P.5o(B,t,B);v=B;t=q.1dM;B=q.1lu[0];g(B)&&(x=B.1FJ,q=l[x],b.4Gj(a,f,q,t,B,v))}}b.3o=!0;b.4F=zg.3Zp;c=a.22r.1n(b.2I);n=0;1j(m=c.1h;n<m;n++)c[n].6s=!0;a.22r.3S(b.2I)}1s b.4F=zg.21Z}).10g(1b(a){11l.7k(a)})):b.4F=zg.2pt};KI.1e4=1b(a,b){a=na.1kw({2I:b.2I});g(a)||(b.4F=zg.3sO);b.4F=zg.2Nu;a.4b(1b(a){b.4F=zg.2pt;b.2Bk=a},1b(a){b.4F=zg.21Z})};KI.5N=1b(a,b){sd.11K||sd.3rv();if(sd.35T){1d c=sd.35S.1fa({3J:b.2Bk,1V0:a.1gI},[b.2Bk]);g(c)?(b.2Bk=1p 0,b.4F=zg.4Gm,c.4b(1b(c){if(c.4D){1j(1d d=a.4j,f={},h=0,l=c.3rx.2q.1h;h<l;h++){1d p=c.3rx.2q[h].2q,n=p.id,m=1g fe({});f[n]=m;m.4Gl(p);m.4Gk(p);p=p.3X3;1j(1d w=0;w<p.1h;w++){1d x=p[w].3X2,q=x.id,t=0===x.2AF.u?Ka.1av:Ka.11g,r=0===x.2AF.v?Ka.1av:Ka.11g;m.2oQ=A.5f(x.3X1);x=c.2oP[q];g(x)&&(q=Rc.22b(q,d,x.1G,x.1D,x.1vC,x.1zq,x.1Ei,!1,t,r),m.12s.1q(q),0===x.1zq&&(a.1gI=0))}}d=c.35Y.35X;if(g(d))1j(h=0,l=d.1h;h<l;h++){w=d[h].3rw[0];p=w.8W;1j(q=0;16>q;q++)p[q]=7L(p[q]);p=A.5f(p,0);w=w.35W;q=[];t=0;1j(r=w.1h;t<r;t++){m=w[t].1b2();q.1q(m);m=c.1oF[m];x=m.1dM;n=x;1d u=p;1d v=[],y=1g P,B=1g k,C=n.19h[0],E=C.2Z;C=1g 4A(C.5b.3J,C.5b.8o,C.5b.10S/4);1j(1d K=0;K<n.1f0;K++)k.7j(C,E*K,B),v.1q(k.1y(B));P.1aN(v,y);v.1h=0;P.5o(y,u,y);u=y;v=m.1lu[0];g(v)&&(n=v.1FJ,m=f[n],b.4Gj(a,p,m,x,v,u))}}b.3o=!0;b.4F=zg.3Zp;c=a.22r.1n(b.2I);h=0;1j(l=c.1h;h<l;h++)c[h].6s=!0;a.22r.3S(b.2I)}1s b.4F=zg.21Z}).10g(1b(a){11l.7k(a)})):b.4F=zg.2pt}};1L.2X(Lh.1i,{21I:{1n:1b(){1f 1a.21H},1C:1b(a){v.1N.2b("1T8 21I",a);1a.21H=a}},21K:{1n:1b(){1f 1a.1JM},1C:1b(a){v.1N.2b("1T8 21K",a);1a.1JM=a}},1x7:{1n:1b(){1f 1a.1B9},1C:1b(a){v.1N.2b("1T8 1x7",a);1a.1B9=a}},5SL:{1n:1b(){1f 1a.4Gi},1C:1b(a){v.1N.2b("1T8 2fV",a);1a.4Gi=a}},2fV:{1n:1b(){1f 1a.2op},1C:1b(a){v.1N.2b("1T8 2fV",a);1a.2op=a}},1jp:{1n:1b(){1f 1a.1V6},1C:1b(a){v.1N.2c("1T8 1jp",a);1a.1V6=y.1y(a,1a.1V6)}},2Bj:{1n:1b(){1f 1a.4Gh},1C:1b(a){v.1N.7d("1T8 2Bj",a);1a.4Gh=a}},16K:{1n:1b(){1f 1a.14Q},1C:1b(a){v.1N.2b("1T8 16K",a);1a.14Q=a;a=1a.4Gg(a);a!==1a.1hr&&(1a.1hr=a,1a.5SM())}}});Lh.1i.4Gg=1b(a){1d b=10,c=1a.6C.1d1(0,0,10),d=1a.6C.16y,e=Q.1tI(c);c=Q.1tH(c);e=d.12z(e);c=d.12z(c);1j(d=c.x-e.x;d>a;)++b,d*=.5;--b;1a.4Gf=7St.7Ss/(1<<b);1f b};Lh.1i.5SM=1b(){1d a,b;1d c=0;1j(a=1a.1BA.1h;c<a;c++)1a.1BA.2a[c].1M();1a.1BA.7f();1a.22r.7f();1d d=1a.6C;c=0;1j(a=1a.1Eo.1h;c<a;c++){1d e=1a.1Eo.2a[c];1d f=0;1j(b=e.1h;f<b;f++){1d h=e.2a[f];h.11H=1p 0;h.28O=1p 0;1d l=h.2I,k=d.1mi(h.1Av,1a.1hr),n=k.x+"10D"+k.y,m=1a.1BA.1n(n);g(m)||(m=1g rq(k.x,k.y),k=d.1d1(k.x,k.y,1a.1hr),m.3g=Q.1y(k),m.6W=yc.21r(k,0,0),m.5o=Da.18N(m.6W.2V,1p 0,1g A),m.2fR=A.12Z(m.5o,1g A),m.1Mq=1g rk({3Su:!1,3g:k,3c:d.3c,13w:0,12x:0}),1a.1BA.1C(n,m));h.2M=A.8P(m.2fR,h.1K,h.2M);m.6s=!0;n=1a.22r.1n(l);g(n)||(n=[],1a.22r.1C(l,n));n.1q(m);n=m.1QF.1n(l);g(n)||(n=1g Tv(l,Lh.4Ge),m.1QF.1C(l,n));n.18P.1q(h);h.28O=n;h.11H=m;n.6s=!0;h=m.2Bi.1n(l);g(h)||(h=1a.1QE.1n(l),m.2Bi.1C(l,h))}}c=0;1j(a=1a.1BA.1h;c<a;c++)m=1a.1BA.2a[c],m.6s&&m.2H(1a.4j)};Lh.1i.add=1b(a,b){v.1N.4n("2I",a);v.2l("2oo",b);2K.8n(b)||(b=[b]);1a.1QE.8h(a)||1a.1QE.1C(a,1g QC(a));1j(1d c=1a.6C,d=0,e=b.1h;d<e;d++){1d f=b[d],h=m(f.id,Ld());f=1g Bk(1a.4j,a,f,h);1d l=c.1mi(f.1Av,1a.1hr),k=l.x+"10D"+l.y,n=1a.1BA.1n(k);g(n)||(n=1g rq(l.x,l.y),l=1a.6C.1d1(l.x,l.y,1a.1hr),n.3g=Q.1y(l),n.6W=yc.21r(l,0,0),n.5o=Da.18N(n.6W.2V,1p 0,1g A),n.2fR=A.12Z(n.5o,1g A),n.1Mq=1g rk({3Su:!1,3g:l,3c:c.3c,13w:0,12x:0}),1a.1BA.1C(k,n));f.2M=A.8P(n.2fR,f.1K,f.2M);f.1jp=y.1y(1a.1V6,f.1jp);n.6s=!0;k=1a.22r.1n(a);g(k)||(k=[],1a.22r.1C(a,k));k.1q(n);k=n.1QF.1n(f.2I);g(k)||(k=1g Tv(f.2I,Lh.4Ge),n.1QF.1C(f.2I,k));k.18P.1q(f);f.28O=k;f.11H=n;f.7r=1a;k.6s=!0;k=n.2Bi.1n(f.2I);g(k)||(k=1a.1QE.1n(f.2I),n.2Bi.1C(f.2I,k));n=1a.1Eo.1n(a);g(n)||(n=1g Ia,1a.1Eo.1C(a,n));n.1C(h,f)}d=0;1j(e=1a.1BA.1h;d<e;d++)n=1a.1BA.2a[d],n.6s&&n.2H(1a.4j)};Lh.1i.1tm=1b(a,b){v.2l("1T8 1tm 2I",a);v.2l("1T8 1tm id",b);a=1a.1Eo.1n(a);if(g(a))1f a.1n(b)};Lh.1i.34M=1b(a,b){v.2l("1T8 34M 2I",a);v.2l("1T8 34M 1a8",b);2K.8n(b)||(b=[b]);1j(1d c=0,d=b.1h;c<d;c++){1d e=1a.1tm(a,b[c]);if(g(e)&&g(e.11H)){1d f=e.11H;f.6s=!0;f=f.1QF.1n(a);g(f)&&(f.6s=!0,f.18P.6z(e.2P,1),1a.1Eo.1n(a).3S(e.id))}}};Lh.1i.7f=1b(a){1d b;if(g(a)){if(1a.1QE.8h(a)){1a.1QE.1n(a).1M();1a.1QE.3S(a);1a.1Eo.3S(a);1a.22r.3S(a);1d c=0;1j(b=1a.1BA.1h;c<b;c++){1d d=1a.1BA.2a[c];d.3S(a);d.6s=!0}}}1s{c=0;1j(b=1a.1QE.1h;c<b;c++)1a.1QE.2a[c].1M();1a.1QE.7f();c=0;1j(b=1a.1BA.1h;c<b;c++)1a.1BA.2a[c].1M();1a.1BA.7f();1a.1Eo.7f();1a.22r.7f()}};Lh.1i.2eC=1b(){1d a=1a.1Eo;if(g(a)&&!(1>a.1h))1j(1d b=0,c=a.1h;b<c;b++)1j(1d d=a.2a[b],e=0,f=d.1h;e<f;e++)d.2a[e].2eC()};Lh.1i.1PK=1b(a,b){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=b?1<<a|1a.11h:~(1<<a)&1a.11h};Lh.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};Lh.1i.2H=1b(a){1d b=a.3w;if(!(b.19I.1D>1a.1JM||b.19I.1D<1a.21H)){1a.5Y=a;1j(1d c in 1a.1QE.15W)1a.1QE.15W.3p(c)&&(b=1a.1QE.1n(c),b.3o||(b.4F===zg.3sO?RC.1e4(1a,b):b.4F===zg.2pt&&(b.2I.36l("2ou")?KI.5N(1a,b):RC.5N(1a,b))));c=0;1j(b=1a.1BA.1h;c<b;c++){1d d=1a.1BA.2a[c];1d e=a;1d f=d;if(g(f.6W)&&e.1dj.1su(f.6W)!==Lb.1gB){1d h=f.1Mq.1w8(e);f.1w8=h;e.1ep.3e&&1<=B.1ep(h,e.1ep.1DZ)?e=!1:(f=1a.4Gf*e.1O.7p/(h*e.3w.3j.34D),e.1ep.3e&&(f-=B.1ep(h,e.1ep.1DZ)*e.1ep.3pc),e=2>f?!1:!0)}1s e=!1;if(e)1j(d.6s&&d.2H(1a.4j),e=a,h=0;h<d.28N.1h;h++){f=d.28N.2a[h];1j(1d l=0;l<f.1h;l++){1d k=f[l];if(1a.1B9===Ak.35Q){if(1k.8a(.5*1k.1V(e.1O.8j,e.1O.7p)/1k.10n(.5*e.3w.3j.16X)*k.3L/d.1w8)<1a.2fV)1aJ}1s if(d.1w8>1a.5SL)1aJ;e.13l.1q(k)}}}}};Lh.4Ge=18;Lh.1i.3Z=1b(){1f!1};Lh.1i.1M=1b(){1a.7f();la(1a)};cn.3qM={4B5:0,4B4:1};1d mi={1he:0,1gu:1,1e5:2,21L:3,2oB:4,3sN:5,1cY:6,5SK:7,5SJ:8};MS.1i.1C=1b(a,b,c){1a.1O=a;1a.1oF=b;1a.2P=c};MS.1i.5P=1b(){1d a=1a.1O,b=1a.1oF.1dM.19h[1a.2P];g(b.7e)||(b.7e=Ra.12S({1O:a,5b:b.5b,7Q:xa.7C}),4Y b.5b,b.7e.1hU=!1)};NS.1i.1C=1b(a,b,c){1a.1oF=b;1a.1O=a;1a.2P=c};NS.1i.5P=1b(){1d a=1a.1O,b=1a.1oF.1lu[0],c=1a.1oF.1dM.1f0,d=Ta.10P;(1===b.1IY||c>=B.1uW)&&a.1Pf&&(d=Ta.1bt);a=Ra.17Q({1O:a,5b:b.1m2,7Q:xa.7C,17P:d});a.1hU=!1;4Y b.1m2;b.10X=a};cn.1i.5SG=1b(a,b,c){b=b.35U;1d d=c.3f("#"),e=c;-1<d&&(e=c.11c(0,d));d=1a.28M.1n(e);g(d)||(d={4F:mi.1he,2oL:1p 0,3sM:1g Ia,3sL:1g Ia},1a.28M.1C(e,d));if(d.4F===mi.1he)5SI(a,d,c);1s if(d.4F===mi.1e5)5SH(a,d,d.3J);1s if(d.4F===mi.2oB){a=d;1d f=e;c=a.2oL.1oF;4Y c.28i;1j(1d h in c)if(c.3p(h)){1j(1d l=c[h],k=l.1dM.19h.1h,n=1g $f,m=0;m<k;m++)n.1vp(m);a.3sM.1C(h,n);g(l.1lu[0])&&(l=1g $f,l.1vp(0),a.3sL.1C(h,l));1a.4Gb[f+"10D"+h]=1}a.4F=mi.3sN}1s if(d.4F===mi.3sN){h=d;c=!0;1j(f in h.3sM.15W){1j(l=h.3sM.15W[f];l.1h;){k=l.1PE();1a.4Gd.1C(a.4j,h.2oL.1oF[f],k);if(!a.5Y.1Ul.5P(1a.4Gd,eh.2pr))1W;l.1xg()}c=c&&0===l.1h}1j(f in h.3sL.15W){1j(l=h.3sL.15W[f];l.1h;){k=l.1PE();1a.4Gc.1C(a.4j,h.2oL.1oF[f],k);if(!a.5Y.1Ul.5P(1a.4Gc,eh.2pr))1W;l.1xg()}c=c&&0===l.1h}c&&(h.3sM=1p 0,h.3sL=1p 0,h.4F=mi.1cY)}d.4F===mi.1cY&&(b.8h(e)||b.1C(e,d.2oL));1f d};cn.1i.3S=1b(a){1d b=1a.28M.1n(a);if(g(b)&&g(b.2oL)){b=b.2oL.1oF;1j(1d c in b)if(b.3p(c)){1j(1d d=b[c],e=d.1dM.19h,f=e.1h,h=0;h<f;h++){1d l=e[h];if(g(l.7e)){1d k=l.7e;l.7e.1hU=!0;g(k)&&!k.3Z()&&k.1hU&&k.1M();l.7e=1p 0}}d=d.1lu[0];g(d)&&(e=d.10X,e.1hU=!0,g(e)&&!e.3Z()&&e.1hU&&e.1M(),d.10X=1p 0);4Y 1a.4Gb[a+"10D"+c]}1a.28M.3S(a)}};cn.5N=1b(a,b){1d c=b.35K.1oF;4Y c.28i;1d d=!0;g(b.35U)||(b.35U=1g Ia);1j(1d e in c)c.3p(e)&&(d=a.3VD.5SG(a,b,e).4F===mi.1cY&&d);d&&(b.2My=cn.3qM.4B4)};Ck.1i.3W9=1b(a,b,c){if(1a.5V){1d d=a.6K,e=k.1y(1a.5V.2V);d=k.3s(e,d);a.8C==O.10j&&(d=a.19I.1D);1a.21R=d-1a.5V.3L;1a.2Mz==Ak.2oO?(a=d-1a.5V.3L,1a.35w=a>1a.2Ap*c,a=-a):(e=1a.5V,d=e.3L,e=k.3s(a.6K,e.2V),a.8C===O.10j&&(e=a.19I.1D),a=2*1k.8a(.5*b.7p/1k.10n(.5*B.3Uq)*d/e),1a.35w=a<=1a.2Ap*c);1a.4AX=a;1a.11d&&(1a.11d.3W7=a,1a.11d.21R=1a.21R)}};Ck.1i.2Mm=1b(){1j(1d a=0,b=1a.12a.1h;a<b;a++){1d c=1a.12a[a];c.3Z()||c.1M(!0)}1a.12a.1h=0;g(1a.11d)&&1a.11d.2Mm();1a.4y=!1};Ck.1i.3Z=1b(){1f!1};Ck.1i.1M=1b(a){1j(1d b=0,c=1a.12a.1h;b<c;b++)g(a)&&1a.12a[b].20V(a),1a.12a[b]=1a.12a[b]&&!1a.12a[b].3Z()&&1a.12a[b].1M();1a.12a.1h=0;1a.11d=1p 0;1f la(1a)};1L.2X(Uy.1i,{id:{1n:1b(){1f 1a.7R},1C:1b(a){v.2l("3KC id",a);1a.7R=a}},1I:{1n:1b(){1f 1a.1b4},1C:1b(a){v.2l("3KC 1I",a);1a.1b4=a}},5SF:{1n:1b(){1f 1a.4Ga},1C:1b(a){v.2l("3KC 5SF",a);1a.4Ga=a}}});Uy.1i.3Z=1b(){1f!1};Uy.1i.1M=1b(){1f la(1a)};1d DA=1L.3F({6i:0,1FC:1,7Sr:2});sq.1i.6l=1b(a,b){1a.9s||(1a.1EX(a,b),1a.9s=!0)};sq.1i.2H=1b(a,b,c){1a.6l(a,b);b.10s.11P||b.10s.4e||(b.19c.1mc==Ud.2n8?g(1a.22q)&&c.1q(1a.22q):g(1a.6g)&&c.1q(1a.6g))};1d qF=1g k;sq.1i.3QG=1b(a){1d b=I.9g(I.3O,9),c=0;b[c++]=1E3*(1a.2Bh.x-a.x);b[c++]=1E3*(1a.2Bh.y-a.y);b[c++]=1E3*(1a.2Bh.z-a.z);b[c++]=1E3*(1a.2Bg.x-a.x);b[c++]=1E3*(1a.2Bg.y-a.y);b[c++]=1E3*(1a.2Bg.z-a.z);b[c++]=1E3*(1a.2Bf.x-a.x);b[c++]=1E3*(1a.2Bf.y-a.y);b[c++]=1E3*(1a.2Bf.z-a.z);1f b};sq.1i.1EX=1b(a,b){LI(1a.6g);LI(1a.22q);1d c=I.9g(I.10P,3);c[0]=0;c[1]=1;c[2]=2;qF.x=(1a.2Bh.x+1a.2Bg.x+1a.2Bf.x)/3;qF.y=(1a.2Bh.y+1a.2Bg.y+1a.2Bf.y)/3;qF.z=(1a.2Bh.z+1a.2Bg.z+1a.2Bf.z)/3;1d d=1a.3QG(qF),e=Ra.12S({1O:a,5b:d,7Q:xa.7C});d=[];1a.12m.4f=0;d.1q({2P:1a.12m.4f,7e:e,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});c=Ra.17Q({1O:a,5b:c,7Q:xa.7C,17P:Ta.10P});e={};A.1yU(J.8K,qF,e);1a.1dI=e;1a.22q=1g Oa({6Z:Ja.11G,4a:1a.1dI,6W:1a.5V,6t:ma.1Bc,8d:!1});1a.22q.4c=1g Fb({1O:a,2w:d,10X:c});1a.22q.2z=Ga.4t({1O:a,5O:"3Q 1m 4f;\\2J 1v 1P2;\\1B 1o 2Hv;\\1J 1v 1Ao;\\2s 2k()\\n{\\n   1Ao = 1P2;\\n#1z 1P5\\n   1Ao.y = 4f.z / 2Hv;\\n#1u\\n   6I = 11o * 1m(4f.1H, 1.0);\\n}",5A:"1p 2k()\\n{\\3R = 1m(1.0);\\n}",7W:1a.12m});1a.22q.4w=pa.4t({8d:{3e:!1},9J:{3e:!0},13Q:!0,1fA:{5r:!1,5t:!1,5G:!1,2O:!1}});1a.5SE(a,b)};sq.1i.5SE=1b(a,b){1d c=Oa.15v(1a.22q),d=1a.22q.2z.5O.1y();c.2z=Ga.4t({1O:a,5O:d,5A:"2n 2v 3iC;\\1B 1m 3iB;\\1B 1o 3iA;\\2s 2k()\\n{\\2u 2V = 1v(4u.x / 9e.z, 4u.y / 9e.w);\\1P 2dp = 1Y(3iC, 2V);\\1U(2dp.r < 0.11t && 2dp.g < 0.11t && 2dp.b < 0.11t)\\n{\\n    7o;\\n}\\3R = 3T(2dp, 3iB, 3iA);\\n}",7W:1a.12m});1d e=1a;c.4J={3iC:1b(){1d c=b.18w.4qi;1f g(c)?c.1yT.1bA.167(0):a.1np},3iB:1b(){1f e.8L.2Mg},3iA:1b(){1f e.8L.3q4===DA.1FC?1:0}};c.4w=pa.4t({8d:{3e:!1},9J:{3e:!0},13Q:!0});c.6t=ma.1Bc-1;1a.6g=c};sq.1i.5H2=1b(a,b,c){1a.9s=!1;1a.2Bh=a;1a.2Bg=b;1a.2Bf=c};sq.1i.1M=1b(){LI(1a.6g);1a.6g=1p 0;LI(1a.22q);1a.22q=1p 0;1f la(1a)};1d kj=1L.3F({1ZI:0,1f1:1,4zG:2,4zF:3,5tN:4}),mr=1L.3F({4G6:20,4G7:35,4G9:17,4G8:29}),Pc=1L.3F({1vG:1,2gN:2,37b:4,7Sq:8,2gM:16,7Sp:32}),rF=1L.3F({1Dz:0,3sE:1}),HM=1L.3F({1hc:-1,1Qm:-1,6i:0,1sk:1,1g5:1}),La=1L.3F({2Ai:0,2M3:1,1GQ:2,20W:3,2g4:4,2Aa:5,35p:6,198:7,1MM:8,3qz:9,2Ab:10,2Mh:11,35n:12,2M8:13,1is:14}),MI=1L.3F({6i:0,5SD:1,1zj:2}),df=1L.3F({2A8:0,1pf:2,3qb:4,3V9:8,1es:16,2uW:32,1zj:255}),IM=1L.3F({1ZI:0,1f1:1}),EA=1L.3F({6i:0,5Im:1,5Il:2}),FA=1L.3F({3VI:0,3qo:1});SC.5S1=1b(a,b){1d c=b.7r,d="7So"+c.id,e="7Sn"+c.id;d=1g ja({2i:d,5p:["3Q 1m 4f;\\n#1z 1h6\\n    3Q 1w 13N;\\n#1u\\n#1z 1mY\\n    3Q 1m 7s;\\n    3G 1m 6r;\\n    3G 1v 1qp;\\n#1u\\n#1z 1IB\\n    3Q 1v 3hY;\\n    3Q 1v 3JY;\\n    3Q 1v 3JX;\\n    3Q 1v 3JW;\\n    3G 1m 1gq;\\n    3G 1m 1gp;\\n#1u\\n#1z 1SY\\n    3Q 1m 13x;\\n#1u\\1B 5w 1lW;\\n#1z 2H5\\1B 5w 3i4;\\n#1u\\1B 5w 1rA;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\n#1z 1o7\\n#1z 2d2\\2J 1o 4R;\\1B 1o 3i2;\\n#1u\\2J 1o 2H3;\\n#1s\\2J 1o 4R;\\n#1u\\n#1u\\1J 1m 11w;\\1B 5w 3i0;\\4i 1o 5fU = 1C6.0;\\4i 1o 5fT = 12v.0;\\4i 1o 5fS = 256.0;\\n#1z 1Cj\\n    3Q 1w 2Yl;\\n    3G 1w 2t2;\\n#1u\\n#1z 2vy\\n    3Q 1m 1O0;\\n    3Q 1m 1NZ;\\n    3Q 1m 2vC;\\n    3Q 1m 2cJ;\\n    3Q 1m 2Yo;\\n#1u\\n#1z 2vx\\n    3Q 1m 2b5;\\n    3Q 1m 1O0;\\n    3Q 1m 1NZ;\\n    3Q 1m 2vC;\\n    3Q 1m 3K6;\\n    3Q 1m 2Yo;\\n    3Q 1m 2d3;\\n    3Q 1m 2cJ;\\n    3Q 1m 5fR;\\n#1u\\n#1z 1mZ\\n#1z 1mY\\n    3Q 1m 2Yj;\\n    2n 1o 1Lz;\\n    2n 1v 1LA;\\n#1u\\n#1z 1SY\\n    3Q 1m 3K2;\\n    2n 1o 1T0;\\n    2n 1v 1T1;\\n#1u\\n#1u\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\n#1z 1SZ\\n    2n 1o 2kT;\\n#1u\\n#1z 25A\\n#1z 2H4\\n    2n 2v 3i6;\\n#1u\\n    2n 1m 1am;\\n    2n 1o 3i5;\\n#1u\\n#1z 1l9\\n    2n 1o 2kU;\\n    3G 1o 1bh;\\n#1u\\n#1z 25y\\n    2n 1o 25x;\\n    3G 1m 1h7;\\n    3G 1v 1Ay;\\n#1z 1SY\\n    2n 1o 25w;\\n    3G 1m 1o8;\\n#1u\\n#1u\\n#1z 1kh\\n    2n 1o 1kQ;\\n    2n 1m 13v;\\n    3G 1v 2bc;\\n#1u\\n#1z 1cB\\n    3G 1m 1rw;\\n#1u\\n#1z 1eW\\n    2n 1m 3i3;\\n    3G 1o 1IC;\\n    3G 1v 1OV;\\n#1u\\n#1z 1pe\\n    3G 1m 1eQ;\\n    3G 1w 1wu;\\n    3G 1o 2kQ;\\n#1u\\n#1z 1o5\\n    3G 1o 1ah;\\n#1u\\n#1z 1l8\\n    3G 1o 1wv;\\n#1u\\n    3G 1m 1k3;\\n#1z 1Ly\\n    3G 1w 13L;\\n    3G 1w 25v;\\n    3G 1m 3K1;\\n#1u\\n#1z 2kR\\n    2n 1o 3i1;\\n#1u\\n    2n 1o 1Az;\\n    2n 1m 1iX;\\n    2n 1o 1ws;\\n    2n 1m 15h;\\n    2n 1w 2kS;\\n    3G 1m 4m;\\n    3G 1m 8l;\\n    3G 1m 2d1;\\n#1z 1o7\\n    3G 1w 1ID;\\n#1u\\n#1z 1Z3\\n    2n 2v 2kO;\\n    2n 1o 3i7;\\n    2n 1o 2kP;\\n    2n 1o 1SX;\\n#1u\\n#1z 1h5\\1B 5w 3hZ;\\1J 1m 1uK;\\n#1u\\n    1v 2Yk(1m 6v, 1m 1mK, 9H 1o 2bg)\\n    {\\n        1m 2Yp = 1lW * 6v;\\n        1v 1Co = 1v(1mK.z - 1mK.x, 1mK.w - 1mK.y);\\n        1v 4M = 1v(2Yp.x - 1mK.x, 2Yp.y - 1mK.y);\\n        4M.x = 4M.x / 1Co.x;\\n        4M.y = 4M.y / 1Co.y;\\n        2bg = 7F(0.0, 4M.x) * 7F(0.0, 4M.y) * 7F(0.0, 1.0 - 4M.x) * 7F(0.0, 1.0 - 4M.y);\\n        4M = 2Y(4M, 1v(0.0), 1v(1.0));\\n        1f 4M;\\n    }\\n#1z 25A\\n#1z 2H4\\n    1m 3K5()\\n    {\\n        1v 1Co = 1v(1am.z - 1am.x, 1am.w - 1am.y);\\n        1v 1dZ = 1v(4f.x - 1am.x, 4f.y - 1am.y);\\n        1m 1IF = 4f;\\n        1dZ.x = 1dZ.x / 1Co.x;\\n        1dZ.y = 1dZ.y / 1Co.y;\\n        if(1dZ.x > 1.0 || 1dZ.x < 0.0 || 1dZ.y > 1.0 || 1dZ.y < 0.0)\\n        {\\n            1f 1IF;\\n        }\\n        1o 14o = 2jk(1Y(3i6, 1dZ.xy));\\n        14o = 14o - 1Az;\\n        if(1IF.z > 14o)\\n        {\\n            1o 3K7 = 2Y((3i5 - 14o - 1Az) * 0.1t2 * (1IF.z + 1Az - 14o), 0.17I, 3.0);\\n            1IF.z = 14o + 3K7;\\n            1IF.w = 1IF.z;\\n        }\\n        1f 1IF;\\n    }\\n#1u\\n#1u\\1r 2vA(1m 6v){\\n    1o 1IE = 6v.w;\\n#1z 2H6\\n    1IE = 7s.x;\\n#1u\\n#1z 1l9\\n    if(2kU > 0.1)\\n    {\\n        1bh = 1IE + 1Az;\\n    }\\n    1s\\n    {\\n        1bh = 6v.z + 1Az;\\n    }\\n#1u\\n    1f 1IE;\\n}\\1R 1aY;\\2s 2k()\\n{\\n#1z 1o6\\n    1m 6v = 1m(1.0);\\n    6v = 1tj + 4f * 1ti;\\n#1s\\n    1m 6v = 4f;\\n#1u\\n#1z 2H5\\n    6v = 3i4 * 1m(6v.1H, 1.0);\\n#1u\\n#1z 1mY\\n#1z 1mZ\\n    6r.xy = 1LA.xy + 7s.xy * 1Lz;\\n#1s\\n    6r.xy = 7s.xy;\\n#1u\\n#1u\\n#1z 1SY\\n#1z 1mZ\\n    6r.zw = 1T1.xy + 13x.xy * 1T0;\\n#1s\\n    6r.zw = 13x.xy;\\n#1u\\n#1u\\n#1z 1h6\\n    1aY = 13N;\\n#1z 1SZ\\n    1aY = 1gT(13N.xy, 2kT).1ca;\\n#1u\\n#1u\\n#1z 2vy\\n    5w 18r;\\n    18r[0] = 1O0;\\n    18r[1] = 1NZ;\\n    18r[2] = 2vC;\\n    18r[3] = 1m( 0, 0, 0, 1 );\\n    1ID = 6v.1H * 14j(18r);\\n    6v = 1m(6v.1H, 1.0) * 18r;\\n#1u\\n#1z 2vx\\n    5w 18r;\\n    5w 1OW;\\n    5w 1OX;\\n    1m 2Ym;\\n    1m 2Yn;\\n    1OW[0] = 2b5;\\n    1OW[1] = 1O0;\\n    1OW[2] = 1NZ;\\n    1OW[3] = 1m( 0, 0, 0, 1 );\\n    1OX[0] = 2vC;\\n    1OX[1] = 3K6;\\n    1OX[2] = 2Yo;\\n    1OX[3] = 1m( 0, 0, 0, 1 );\\n    1m 2d4 = 1m(6v.1H, 1.0);\\n    2d4.x = 2d4.x * 2d3.z;\\n    2Ym = 2d4 * 1OW;\\n    2Yn = 2d4 * 1OX;\\n#1z 1mY\\n    if(7s.y > 0.5)\\n    {\\n        1m 2vB = 1rA * 1m(2d3.y, 7s.x, 0.0, 1.0);\\n        6r.xy = 2vB.xy;\\n        6v = 2Yn;\\n        18r = 1OX;\\n    }\\n    1s\\n    {\\n        1m 2vB = 1rA * 1m(2d3.x, 7s.x, 0.0, 1.0);\\n        6r.xy = 2vB.xy;\\n        6v = 2Ym;\\n        18r = 1OW;\\n    }\\n#1z 1h6\\n    1aY.x = 1aY.x * 2d3.z;\\n#1u\\n#1u\\n    1ID = 6v.1H;\\n#1u\\n#1z 1Cj\\n    2t2 = 2Yl;\\n#1u\\n#1z 25A\\n#1z 2H4\\n    6v = 3K5();\\n#1u\\n#1u\\n    1o 2vw = 2vA(6v);\\n    6v.w = 1.0;\\n#1z 1kh\\n    if(1kQ > 0.1)\\n    {\\n        1o 2bg = 1.0;\\n        2bc = 2Yk(6v, 13v, 2bg);\\n    }\\n#1u\\n#1z 1cB\\n    1rw = 1lW * 6v;\\n#1u\\n#1z 1eW\\n    1IC = 1.0;\\n    1OV = 2Yk(6v, 3i3, 1IC);\\n#1u\\1P 7x = 1m(1.0);\\n#1z 14V\\n    #1z 2vz\\n        7x = 11X / 255.0;\\n    #1s\\n        7x = 11X;\\n    #1u\\n#1u\\n#1z 2vy\\n    7x *= 2cJ;\\n#1u\\n#1z 2vx\\n    7x *= 2cJ;\\n#1u\\n#1z 25z\\n    7x = 1iX;\\n#1s\\n    7x *= 1iX;\\n#1u\\n    1k3 = 1m(0.0);\\n#1z 18e\\n#1z 1o7\\1r 2P = 2H3;\\n#1s\\1r 2P = 4R;\\n#1u\\n#1z 2d2\\n    2P = 2H3 * 3i2 + 4R;\\n#1u\\n    11w = 1ki(2P);\\n    1m 14T = 1qo(2P);\\n    1m 19z = 1k9(2P);\\n#1z 1l8\\n    1wv = 0.0;\\n    1eo(14T, 19z, 7x, 6v, 1k3, 2kS, 1wv);\\n#1u\\n#1bI 1l8\\n#1z 1o5\\n    1ah = 0.0;\\n    1eo(14T, 19z, 15h, 7x, 6v, 1k3, 2kS, 1ah);\\n#1s\\n    1eo(14T, 19z, 15h, 7x, 6v, 1k3, 2kS);\\n#1u\\n#1u\\n#1u\\n    4m = 7x;\\n    8l.1H = 6v.1H;\\n    8l.w = 0.0;\\n#1z 2kR\\n    1m 4p = 9q * 6v;\\n    1o 3K4 = 1V(4f.w, 2.0);\\n    1o 3K3 = 3K4 / 1dv(4p);\\n    if(3K3 < 3i1){\\n        4p = 1m(0.0, 0.0, 0.0, 1.0);\\n    }\\n    6I = 17B * 4p;\\n#1s\\n    6I = 11o * 6v;\\n#1u\\n#1z 25y\\n    1qp.x = 7s.z;\\n#1z 1mZ\\n    1qp.x = 2Yj.x;\\n#1u\\n    1v 5fQ;\\n    1h7 = 1m(0.0,0.0,1.0,0.0);\\n    1Ay.x = 0.0;\\n    if(1qp.x < -5fP.0)\\n    {\\n        1h7.z = -1.0;\\n    }\\n#1bI 1o7\\n    2FT(2t(1qp.x), 1h7.x, 1h7.y, 1h7.z, 1Ay.x);\\n#1z 1SY\\n    1o8 = 1m(0.0,0.0,1.0,0.0);\\n    1Ay.y = 0.0;\\n    1qp.y = 13x.z;\\n#1z 1mZ\\n    1qp.y = 3K2.x;\\n#1u\\n    2FT(2t(1qp.y), 1o8.x, 1o8.y, 1o8.z, 1Ay.y);\\n#1u\\n#1u\\n    1h7.w = 1iK(25x * 1h7.z);\\n#1z 1SY\\n    1o8.w = 1iK(25w * 1h7.z);\\n#1u\\n#1u\\n#1z 1wc\\n    #1z 1Ly\\n        13L = (9q * 6v).1H;\\n        25v = (1Cp * 6v).1H;\\n        3K1 = 6v;\\n    #1s\\n        #1z 1h6\\n            if(1h(1aY) > 0.8)\\n            {\\n                8l.w = 1.0;\\n                1w 4p = (9q * 6v).1H;\\n                1w 4X = 1w(1.0);\\n                #1z 1o7\\n                    1w 3K0 = 1aY.1H * 14j(18r);\\n                    4X = 11b * 3K0;\\n                #1s\\n                    4X = 11b * 1aY;\\n                #1u\\n                4m = 4m * 1Fa(1T(4X), -4p, 6v.1H);\\n            }\\n        #1u\\n    #1u\\n#1u\\n#1z 1pe\\n    1eQ = 6v;\\n    1m 1K = 9q * 6v;\\n    2kQ = (1K.z - 1dx.3I) / (1dx.3W - 1dx.3I);\\n    1wu = 1w(0.0,0.0,0.0);\\n#1z 1h6\\n    if(1h(1aY) > 0.8)\\n    {\\n        1wu = 1T(11b * 1aY);\\n    }\\n#1u\\n#1u\\n#1z 1Z3\\n    1v 2vv = 1v(abs(2vw - 2kP) / 1SX + 0.5 /1SX , 0.5);\\n    1o 1jE = 1Y(2kO, 2vv).a;\\n    4m.a = 1.0 - 1jE;\\n#1u\\3JZ = 1Cp * 1m(4f.1H, 1.0);\\3JZ = 3i0 * 2d1;\\n#1z 1h5\\n    1uK = 3hZ * 1m(4f.1H, 1.0);\\n#1u\\n#1z 1IB\\n    1gq = 1m(3hY.xy,3JY.xy);\\n    1gp = 1m(3JX.xy,3JW.xy);\\n#1u\\n    1IA = 1ws;\\n}"]});e=1g ja({2i:e,5p:["#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 1l9\\n    3G 1o 1bh;\\n#1u\\n#1z 1mY\\n    3G 1m 6r;\\n#1u\\n#1z 1II\\n    2n 1o 2vE;\\n    2n 1o 2vD;\\n    2n 2v 25F;\\n    2n 1v 1T2;\\n#1u\\1J 1m 4m;\\1J 1m 8l;\\1J 1m 11w;\\n#1z 1o7\\n    3G 1w 1ID;\\n#1u\\n#1z 1eW\\n    2n 2v 25H;\\n    3G 1v 1OV;\\n    3G 1o 1IC;\\n#1u\\n#1z 1pe\\n    3G 1m 1eQ;\\n    3G 1w 1wu;\\n    3G 1o 2kQ;\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\1J 1m 1k3;\\n#1z 1l8\\1B 1m 15h;\\1B 7P 25G;\\1J 1o 1wv;\\n#1u\\n#1z 1yn\\n    2n 1m 1uM;\\n    2n 1o 1h8;\\n#1u\\n    2n 1m 1tk;\\n#1z 1OY\\n    2n 1o 25D;\\n#1u\\n    2n 1v 1wx;\\n    2n 1m 1iX;\\2s 2k()\\n{\\n#1z 1pe\\n#1z 1l8\\n    if(1wv < 0.9)\\n    {\\n         7o;\\n    }\\n#1u\\n    1w 2U = 1T(1wu);\\n    1o 2d9 = 1h(1wu);\\n    if(2d9 <= 0.5)\\n    {\\n        2U = 1w(11b*1ju(1eQ.1H));\\n    }\\n    2U = 1w(11b*1ju(1eQ.1H));\\n    2U = (2U + 1.0) * 0.5;\\n    2C = 1m(2U, 1.0);\\n#1z 5J\\n    1bp = 4u.z;\\n#1u\\n#1z 1dt\\n    1bp = 4u.z;\\n#1u\\n#1u\\n    1f;\\n#1u\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm\\n    1uC(4u.xy, 1fm);\\n#1u\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n\\9u(4m.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n    2C = 4m;\\n#1z 25I\\n\\14F.2y = 2bm(2C.2y);\\n#1u\\n#1z 1kh\\n    #1z 1Xl\\n        1m 1rv = 1Y(1KU, 1v(6r.x, 1.0 - 6r.y));\\n        2C = 1KV(2C, 1rv);\\n    #1s\\n        2C = 1KV(2C, 1bh);\\n    #1u\\n    2C *= 1iX;\\n#1u\\n#1z 1wc\\n#1z 1Ly\\n    1XU(2C, 1v(0.0));\\n#1s\\n#1z 1o7\\n    2C *= 2tc(1ID, 8l.1H, 8l.w);\\n#1s\\n    2C *= 1O8(8l.1H, 8l.w);\\n#1u\\n#1u\\n#1u\\n#1z 1eW\\n    if(1IC > 0.5)\\n    {\\n        1m 1qq = 1Y(25H, 1OV.xy);\\n        if(!(1qq.r > 0.999 && 1qq.g > 0.999 && 1qq.b > 0.999))\\n        {\\n            2C = 3T(2C, 1qq, 0.5);\\n        }\\n    }\\n#1u\\n#1z 2vF\\n    2C = 2t3(2C, 1bh);\\n#1u\\n\\9u(2C.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n#1z 2d8\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1k3.x);\\n#1s\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n#1u\\n#1z 1l8\\n    if(25G == 2)\\n    {\\n        if(1wv > 0.9)\\n        {\\n            2C = 1Cd(2C, 15h, 3.0);\\n        }\\n    }\\n    1s\\n    {\\n        2C = 1Cd(2C, 15h, 3.0);\\n    }\\n#1u\\n#1z 1yn\\n\\14F = 1Cd(2C, 1uM, 1h8);\\n\\9u(2C.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1u\\n#1z 1II\\n    // 3ig 3if 1a 3ie is on 1Z 5C 18X by 2U in 12W 1ww\\n    1w 1jA = 1T(1ju(8l.1H));\\n    1o 2d7 = 1.0 - 7F(0.95, 1jA.z);\\n    1o 3Ke = 1bh / (2vE - 2vD) + 11w.r * 10.0 + 1T2.y;\\n    1w 1LB = 1Y(25F, 1v(11w.r + 1T2.x, 3Ke)).2y;\\n    2C.2y += 1tk.2y * 1LB * 1LB * 2d7;\\n#1s\\n    2C.2y *= 1tk.2y;\\n#1u\\n#1z 1OY\\n    1o 1la = 12q(25D - 8l.z);\\n    1la = 2Y(1la, 0.0, 1.0);\\n    1la = 2o(1la, 1k3.y);\\n    2C = 3T(1m(0.0, 0.0, 0.0, 1.0), 2C, 1la);\\n#1u\\n    2C = 9D(2C);\\n}"]});6U(b.1Br){1S La.1MM:d="7Sm"+c.id;e="7Sl"+c.id;if(c.1V3.3lK==rF.3sE)d=1g ja({2i:d,5p:["3Q 1m 4f;\\n#1z 1mY\\n    3Q 1m 7s;\\n#1u\\2J 1m 11X;\\1J 1o 1mQ;\\1J 1m 1yi;\\1B 5w 1lW;\\n#1z 1cB\\n    3G 1m 1rw;\\n#1u\\n#1z 1kh\\n    2n 2v 1kS;\\n    2n 1o 1jr;\\n    2n 1o 16R;\\n    2n 1o 1dw;\\n    2n 1o 1kT;\\n    2n 1o 1fO;\\n    2n 1o 1jq;\\n    2n 1m 1Sm;\\n#1u\\n    2n 1o 25u;\\n    2n 1m 1iX;\\n    3G 1m 4m;\\n    3G 1m 8l;\\n#1z 1kh\\1P 1fj(1o 14M)\\n{\\n    1o 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\n    1o 1i5 = (14M - 1dw) / 19U;\\n    1o 1eP = 2Y(1i5, 0.0, 1.0);\\n    1o 7Z = 2t(1eP * 16.0);\\n    1o y = (7Z*2.0 + 1.0)/32.0;\\n    1o x = 8N(1eP*16.0);\\n    if(y > 1.0)\\n    {\\n        x = 1.0;\\n    }\\n    1v 1kR = 1v(x, y);\\n    1f 1Y(1kS, 1kR).15A;\\n}\\1P 2vu(1m 1cv, 1o 14M)\\n{\\n    1m 1aA = 1m(0.0);\\n    1o 17Z = 1jr;\\n    1aA = 1fj(14M);\\n    17Z *= 12q(16R);\\n    1m 1gW = 3T(1m(1.0,1.0,1.0,1.0), 1aA, 17Z);\\n    1f 1gW;\\n}\\n#1u\\n\\1r 1rB(1m 4p)\\n{\\n    1m 1Cs = 18a(4p);\\n    1o 1aT = 11N(1Y(1aB, 1Cs.xy / 9e.zw));\\n    if (1aT == 0.0)\\n    {\\n        1f 0.0; // 2S on 1Z 10a\\n    }\\n    1m 5Z = 1az(1Cs.xy, 1aT);\\n    1f 5Z.z / 5Z.w;\\n}\\n\\2s 2k()\\n{\\n    1m 6v = 4f;\\n    6v.w = 1.0;\\n    8l.1H = 6v.1H;\\n    8l.w = 0.0;\\n    4m = 11X;\\n    1o 1bh = 7s.x;\\n    6I = 11o * 6v;\\n#1z 1kh\\n    if(1bh > 1fO || 1bh < 1jq)\\n    {\\n        6I = 17B * 1m(0.0, 0.0, 0.0, 1.0);\\n    }\\n    4m = 2vu(4m, 1bh);\\n#1u\\n#1z 1cB\\n    1rw = 1lW * 6v;\\n#1u\\n    4m *= 1iX;\\n    1yi = 9q * 6v;\\n    1o 1HQ = 10.0;\\n    1o 1aT = 1rB(1yi);\\n    if (1aT != 0.0 && 1yi.z + 1HQ < 1aT)\\n    {\\n        6I = 17B * 1m(0.0, 0.0, 0.0, 1.0);\\n    }\\n    1o 1l3 = 1dv(1yi);\\n    1o 1i7 = 25u / 1l3;\\n    1mQ = 2.0 / 1i7;\\n    1IA = 1i7;\\n}"]}),e=1g ja({2i:e,5p:["#6A 2jD : 5F\\1J 1m 4m;\\1J 1m 1yi;\\1J 1m 8l;\\1J 1o 1mQ;\\2s 2k()\\n{\\n#1z 1es\\n    1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n    1m 1A = 4m;\\n    1o 1tc = 1h(1Ss - 1v(0.5));\\n    1o 1td = 1V(0.0, 0.5 - 1mQ);\\n    1o 1CL = 1.0 - 13f(1td, 0.5, 1tc);\\n    1A.a *= 1CL;\\n\\2d0 = 9D(1A);\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n#1z 2th\\n    1w Ci = 1A.2y * 1A.a;\\n    1o ai = 1A.a;\\n    1o 1Ff = 2jv(ai);\\n    1OU[0] = 1m(Ci * 1Ff, ai);\\n    1OU[1] = 1m(ai * 1Ff);\\n#1s\\n    2C = 1A;\\n#1u\\n}"]}),c.1Mt&&(d.2N.1q(ra.1l9),d.2N.1q(ra.1kh),e.2N.1q(ra.1kh),e.2N.1q(ra.1l9)),.95>c.1gb.1sH.2O&&e.2N.1q("2th");1s{d=1g ja({2i:d,5p:["3Q 1m 4f;\\n#1z 1h6\\n    3Q 1w 13N;\\n#1u\\n#1z 1mY\\n    3Q 1m 7s;\\n#1u\\n#1z 14V\\2J 1m 11X;\\n#1u\\1B 5w 1lW;\\1B 1o 25u;\\1J 1o 1mQ;\\1J 1m 1yi;\\n#1z 1mZ\\n#1z 1mY\\n    3Q 1m 2Yj;\\n    2n 1o 1Lz;\\n    2n 1v 1LA;\\n#1u\\n#1u\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\n#1z 1SZ\\n    2n 1o 2kT;\\n#1u\\n#1z 1l9\\n    2n 1o 2kU;\\n    3G 1o 1bh;\\n#1u\\n#1z 1kh\\n    2n 2v 1kS;\\n    2n 1o 1jr;\\n    2n 1o 16R;\\n    2n 1o 1dw;\\n    2n 1o 1kT;\\n    2n 1o 1fO;\\n    2n 1o 1jq;\\n    2n 1m 1Sm;\\n#1u\\n#1z 1cB\\n    3G 1m 1rw;\\n#1u\\n    2n 1o 1Az;\\n    2n 1m 1iX;\\n    3G 1m 4m;\\n    3G 1m 8l;\\n#1z 1Z3\\n    2n 2v 2kO;\\n    2n 1o 3i7;\\n    2n 1o 2kP;\\n    2n 1o 1SX;\\n#1u\\1r 2vA(1m 6v){\\n    1o 1IE = 6v.w;\\n#1z 2H6\\n    1IE = 7s.x;\\n#1u\\n#1z 1l9\\n    if(2kU > 0.1)\\n    {\\n        1bh = 1IE + 1Az;\\n    }\\n    1s\\n    {\\n        1bh = 6v.z + 1Az;\\n    }\\n#1u\\n    1f 1IE;\\n}\\n#1z 1kh\\1P 1fj(1o 14M)\\n{\\n    1o 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\n    1o 1i5 = (14M - 1dw) / 19U;\\n    1o 1eP = 2Y(1i5, 0.0, 1.0);\\n    1o 7Z = 2t(1eP * 16.0);\\n    1o y = (7Z*2.0 + 1.0)/32.0;\\n    1o x = 8N(1eP*16.0);\\n    if(y > 1.0)\\n    {\\n        x = 1.0;\\n    }\\n    1v 1kR = 1v(x, y);\\n    1f 1Y(1kS, 1kR).15A;\\n}\\1P 2vu(1m 1cv, 1o 14M)\\n{\\n    1m 1aA = 1m(0.0);\\n    1o 17Z = 1jr;\\n    if(14M > 1fO || 14M < 1jq)\\n    {\\n        1f 1Sm * 1cv;\\n    }\\n    1aA = 1fj(14M);\\n    17Z *= 12q(16R);\\n    1m 1gW = 3T(1m(1.0,1.0,1.0,1.0), 1aA, 17Z);\\n    1f 1gW;\\n}\\n#1u\\n\\1R 1aY;\\2s 2k()\\n{\\n#1z 1o6\\n    1m 6v = 1m(1.0);\\n    6v = 1tj + 4f * 1ti;\\n#1s\\n    1m 6v = 4f;\\n#1u\\n#1z 1h6\\n    1aY = 13N;\\n    #1z 1SZ\\n        1aY = 1gT(13N.xy, 2kT).1ca;\\n    #1u\\n#1u\\n    1o 2vw = 2vA(6v);\\n    6v.w = 1.0;\\n#1z 1cB\\n    1rw = 1lW * 6v;\\n#1u\\1P 7x = 1m(1.0);\\n#1z 14V\\n    #1z 2vz\\n        7x = 11X / 255.0;\\n    #1s\\n        7x = 11X;\\n    #1u\\n#1u\\n    4m = 7x*1iX;\\n    8l.1H = 6v.1H;\\n    8l.w = 0.0;\\n    6I = 11o * 6v;\\n#1z 1kh\\n    4m = 2vu(4m, 1bh);\\n#1u\\n#1z 1Z3\\n    1v 2vv = 1v(abs(2vw - 2kP) / 1SX + 0.5 /1SX , 0.5);\\n    1o 1jE = 1Y(2kO, 2vv).a;\\n    4m.a = 1.0 - 1jE;\\n#1u\\n    1mQ = 2.0 / 25u;\\n    1IA = 25u;\\n    1yi = 9q * 6v;\\n}"]});e=1g ja({2i:e,5p:["#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 1l9\\n    3G 1o 1bh;\\n#1u\\1J 1m 4m;\\1J 1m 8l;\\1J 1m 1yi;\\1J 1o 1mQ;\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\2s 2k()\\n{\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n\\9u(4m.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n    2C = 4m;\\n#1z 25I\\n\\14F.2y = 2bm(2C.2y);\\n#1u\\n    1o 1tc = 1h(1Ss - 1v(0.5));\\n    1o 1td = 1V(0.0, 0.5 - 1mQ);\\n    1o 1CL = 1.0 - 13f(1td, 0.5, 1tc);\\n    2C.a *= 1CL;\\n\\9u(2C.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n    2C = 9D(2C);\\n}"]});e.2N.1q(ra.2t0);d.2N.1q(ra.2t0);1d f=b.1Vb||b.2oM;if(c.1Mt||f&&c.1Mt)d.2N.1q(ra.1l9),d.2N.1q(ra.1kh),e.2N.1q(ra.1kh),e.2N.1q(ra.1l9);f=b.1dM;if(g(f.1pO)){1d h=f.1pO;(h&Pc.1vG)==Pc.1vG&&d.2N.1q(ra.1o6);(h&Pc.2gN)==Pc.2gN&&d.2N.1q(ra.1SZ);(h&Pc.37b)==Pc.37b&&d.2N.1q(ra.2vz);(h&Pc.2gM)==Pc.2gM&&d.2N.1q(ra.1mZ)}g(f.7Sk)&&b.3Zd&&d.2N.1q(ra.2H6)}c.1vo&&e.2N.1q("1es");c.1Us&&e.2N.1q("1Xs");1W;1S La.2Ai:1S La.2M3:1d l=b.2Bc.12s.1h;b.2Bc.35R?(e="5SC"+c.id,e=1g ja({2i:e,5p:["#1z 2jp\\n#6A 2jp : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 25J\\n    2n 1m 1T3;\\n    2n 1o 1IL;\\n#1u\\n#1z 1mY\\n    2n 2v 18G;\\n    3G 1m 6r;\\n    3G 1v 1qp;\\n#1u\\n#1z 25y\\n    2n 1o 25x;\\n    3G 1m 1h7;\\n    3G 1v 1Ay;\\n#1u\\n#1z 1l9\\n    3G 1o 1bh;\\n#1u\\n#1z 1II\\n    2n 1o 2vE;\\n    2n 1o 2vD;\\n    2n 2v 25F;\\n    2n 1v 1T2;\\n    2n 1v 2Hb;\\n#1u\\n#1z 2da\\n    2n 2v 25K;\\n    2n 1o 25w;\\n    3G 1m 1o8;\\n#1u\\n#1z 1eW\\n    2n 2v 25H;\\n    3G 1v 1OV;\\n    3G 1o 1IC;\\n#1u\\n#1z 1pe\\n    3G 1m 1eQ;\\n    3G 1w 1wu;\\n    3G 1o 2kQ;\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\n#1z 1bn\\n    2n 1o 12d;\\n    2n 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n#1z 1o5\\n    3G 1o 1ah;\\n#1u\\n#1z 1l8\\n    2n 1m 15h;\\n    2n 7P 25G;\\n    3G 1o 1wv;\\n#1u\\n#1z 1yn\\n    2n 1m 1uM;\\n    2n 1o 1h8;\\n#1u\\n    2n 1m 1tk;\\n#1z 1OY\\n    2n 1o 25D;\\n#1u\\n    2n 1v 1IK;\\n    2n 1v 1wx;\\n    3G 1m 1k3;\\n    3G 1m 4m;\\n    3G 1m 8l;\\n    3G 1m 11w;\\n#1z 1o7\\n    3G 1w 1ID;\\n#1u\\1B 1o 3Kf;\\1B 1m 1iX;\\n#1z 1IB\\1J 1m 1gq;\\1J 1m 1gp;\\1B 2v 1IJ[4];\\n#1u\\n#1bI 2kW\\n    1m 1IG(9H 1v 1w7)\\n    {\\n        if(1h7.z < 0.0)\\n        {\\n            1f 1m(1.0);\\n        }\\n        1o 2Yw = 1h7.z * 25x;\\n        1w 18U = 1w(6r.xy, 1qp.x);\\n        1m 2kX = 2jr(18G, 18U, 2Yw, 1h7.w, 1h7.z, 1h7.xy, 1Ay.x, 1w7);\\n#1z 2da\\n        1o 2Yv = 1o8.z * 25w;\\n        18U = 1w(6r.zw, 1qp.y);\\n        1m 1s2 = 2jr(25K, 18U, 2Yv, 1o8.w, 1o8.z, 1o8.xy, 1Ay.y, 1w7);\\n        1s2.r = 2Y(1s2.r * 1.275, 0.0, 1.0);\\n        1s2.g = 2Y(1s2.g * 1.275, 0.0, 1.0);\\n        1s2.b = 2Y(1s2.b * 1.275, 0.0, 1.0);\\n        1f 2kX * 1s2;\\n#1s\\n        1f 2kX;\\n#1u\\n    }\\n#1u\\2s 2k()\\n{\\n#1z 1pe\\n#1z 1l8\\n    if(1wv < 0.9)\\n    {\\n         7o;\\n    }\\n#1u\\n    1w 2U = 1T(1wu);\\n    1o 2d9 = 1h(1wu);\\n    if(2d9 <= 0.9)\\n    {\\n        2U = 1w(11b*1ju(1eQ.1H));\\n    }\\n    2U = (2U + 1.0) * 0.5;\\n    2C = 1m(2U, 1.0);\\n#1z 5J\\n    1bp = 4u.z;\\n#1u\\n#1z 1dt\\n    1bp = 4u.z;\\n#1u\\n    1f;\\n#1u\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n\\9u(4m.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n    1v 18U = 1v(0.0);\\n#1z 2kW\\n    1m 16T = 1m(0.5,0.5,0.5,1.0);\\n#1s\\n    1m 16T = 1IG(18U);\\n#1u\\n    2C = 16T;\\n#1z 25I\\n    2C.2y = 2bm(2C.2y);\\n#1u\\3R = 2C * 4m;\\n#1z 25J\\n    if(1IL > 0.11t)\\n    {\\n        1o 2cz = abs(1T3.r - 2C.r);\\n        1o 2cy = abs(1T3.g - 2C.g);\\n        1o 2cx = abs(1T3.b - 2C.b);\\n        if(2cz < 1IL && 2cy < 1IL && 2cx < 1IL)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 25z\\n    2C = 4m;\\n#1u\\n#1z 1o5\\n    if(1ah > 0.9)\\n    {\\n         2C = 4m;\\n    }\\n#1u\\n#1z 1kh\\n    #1z 1Xl\\n        1m 1rv = 1Y(1KU, 1v(6r.x, 1.0 - 6r.y));\\n        2C = 1KV(2C, 1rv);\\n    #1s\\n        2C = 1KV(2C, 1bh);\\n    #1u\\n    2C *= 1iX;\\n#1u\\n#1z 1wc\\n#1z 1Ly\\n    1XU(2C, 18U);\\n#1s\\n#1z 1o7\\n    2C *= 2tc(1ID, 8l.1H, 8l.w);\\n#1s\\n    2C *= 1O8(8l.1H, 8l.w);\\n#1u\\n#1u\\n#1u\\n#1z 1eW\\n    if(1IC > 0.5)\\n    {\\n        1m 1qq = 1Y(25H, 1OV.xy);\\n        if(!(1qq.r > 0.999 && 1qq.g > 0.999 && 1qq.b > 0.999))\\n        {\\n            2C = 3T(2C, 1qq, 0.5);\\n        }\\n    }\\n#1u\\n#1z 2vF\\n    2C = 2t3(2C, 1bh);\\n#1u \\n\\9u(2C.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n#1z 2d8\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1k3.x);\\n#1s\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n#1u\\n#1z 1l8\\n    if(25G == 2)\\n    {\\n        if(1wv > 0.9)\\n        {\\n            2C = 1Cd(2C, 15h, 3.0);\\n        }\\n    }\\n    1s\\n    {\\n        2C = 1Cd(2C, 15h, 3.0);\\n    }\\n#1u\\n#1z 1yn\\n    2C = 1Cd(2C, 1uM, 1h8);\\n    if(2C.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1u\\n#1z 1II\\n    // 3ig 3if 1a 3ie is on 1Z 5C 18X by 2U in 12W 1ww\\n    1w 1jA = 1T(1ju(8l.1H));\\n    1o 2d7 = 1.0 - 7F(0.95, 1jA.z);\\n    1v 2kV = 18U + 1T2;\\n    2kV *= 2Hb;\\n    1w 1LB = 1Y(25F, 2kV).2y;\\n    2C.2y += 1tk.2y * 1LB * 1LB * 2d7;\\n#1s\\n    2C.2y *= 1tk.2y;\\n#1u\\n#1z 2Ha\\n    2C.2y = 1tk.2y * 16T.2y;\\n#1u\\n#1z 1OY\\n    1o 1la = 12q(25D - 8l.z);\\n    1la = 2Y(1la, 0.0, 1.0);\\n    1la = 2o(1la, 1k3.y);\\n    2C = 3T(1m(0.0, 0.0, 0.0, 1.0), 2C, 1la);\\n#1u\\n#1z 10B\\n    if(1IK.x != 0.0 || 1IK.y != 0.0){\\n        1o 1w6 = 1.0 / 4u.w + 1.0;\\n        1o DZ = 1V(1cu(1w6), 1ct(1w6));\\n        1w6 += DZ * 1IK.x + 0.1KX * 1IK.y;\\n        1nO(1w6);\\n    }\\n    1s{\\n        1nO(1Sb);\\n    }\\n#1u\\n    2C = 9D(2C);\\n#1z 1IB\\1P 1wy;\\1U (1gq.x > 0.0 && 1gq.x < 1.0 && 1gq.y > 0.0 && 1gq.y < 1.0)\\n{\\n    1wy = 1Y(1IJ[0], 1gq.xy);\\n}\\5L if (1gq.z > 0.0 && 1gq.z < 1.0 && 1gq.w > 0.0 && 1gq.w < 1.0)\\n{\\n    1wy = 1Y(1IJ[1], 1gq.zw);\\n}\\5L if (1gp.x > 0.0 && 1gp.x < 1.0 && 1gp.y > 0.0 && 1gp.y < 1.0)\\n{\\n    1wy = 1Y(1IJ[2], 1gp.xy);\\n}\\5L if (1gp.z > 0.0 && 1gp.z < 1.0 && 1gp.w > 0.0 && 1gp.w < 1.0)\\n{\\n    1wy = 1Y(1IJ[3], 1gp.zw);\\n}\\1U(1wy.a > 0.9)\\n{\\n    2C = 1wy;\\n}\\n#1u\\n}"]}),e.2N.1q(ra.2kW)):b.3Zd&&0<l&&(e="5SC"+c.id,e=1g ja({2i:e,5p:["#1z 2jp\\n#6A 2jp : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 25J\\n    2n 1m 1T3;\\n    2n 1o 1IL;\\n#1u\\n#1z 1mY\\n    2n 2v 18G;\\n    3G 1m 6r;\\n    3G 1v 1qp;\\n#1u\\n#1z 25y\\n    2n 1o 25x;\\n    3G 1m 1h7;\\n    3G 1v 1Ay;\\n#1u\\n#1z 1l9\\n    3G 1o 1bh;\\n#1u\\n#1z 1II\\n    2n 1o 2vE;\\n    2n 1o 2vD;\\n    2n 2v 25F;\\n    2n 1v 1T2;\\n    2n 1v 2Hb;\\n#1u\\n#1z 2da\\n    2n 2v 25K;\\n    2n 1o 25w;\\n    3G 1m 1o8;\\n#1u\\n#1z 1eW\\n    2n 2v 25H;\\n    3G 1v 1OV;\\n    3G 1o 1IC;\\n#1u\\n#1z 1pe\\n    3G 1m 1eQ;\\n    3G 1w 1wu;\\n    3G 1o 2kQ;\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\n#1z 1bn\\n    2n 1o 12d;\\n    2n 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n#1z 1o5\\n    3G 1o 1ah;\\n#1u\\n#1z 1l8\\n    2n 1m 15h;\\n    2n 7P 25G;\\n    3G 1o 1wv;\\n#1u\\n#1z 1yn\\n    2n 1m 1uM;\\n    2n 1o 1h8;\\n#1u\\n    2n 1m 1tk;\\n#1z 1OY\\n    2n 1o 25D;\\n#1u\\n    2n 1v 1IK;\\n    2n 1v 1wx;\\n    3G 1m 1k3;\\n    3G 1m 4m;\\n    3G 1m 8l;\\n    3G 1m 11w;\\n#1z 1o7\\n    3G 1w 1ID;\\n#1u\\1B 1o 3Kf;\\1B 1m 1iX;\\n#1z 1IB\\1J 1m 1gq;\\1J 1m 1gp;\\1B 2v 1IJ[4];\\n#1u\\n#1bI 2kW\\n    1m 1IG(9H 1v 1w7)\\n    {\\n        if(1h7.z < 0.0)\\n        {\\n            1f 1m(1.0);\\n        }\\n        1o 2Yw = 1h7.z * 25x;\\n        1w 18U = 1w(6r.xy, 1qp.x);\\n        1m 2kX = 2jr(18G, 18U, 2Yw, 1h7.w, 1h7.z, 1h7.xy, 1Ay.x, 1w7);\\n#1z 2da\\n        1o 2Yv = 1o8.z * 25w;\\n        18U = 1w(6r.zw, 1qp.y);\\n        1m 1s2 = 2jr(25K, 18U, 2Yv, 1o8.w, 1o8.z, 1o8.xy, 1Ay.y, 1w7);\\n        1s2.r = 2Y(1s2.r * 1.275, 0.0, 1.0);\\n        1s2.g = 2Y(1s2.g * 1.275, 0.0, 1.0);\\n        1s2.b = 2Y(1s2.b * 1.275, 0.0, 1.0);\\n        1f 2kX * 1s2;\\n#1s\\n        1f 2kX;\\n#1u\\n    }\\n#1u\\2s 2k()\\n{\\n#1z 1pe\\n#1z 1l8\\n    if(1wv < 0.9)\\n    {\\n         7o;\\n    }\\n#1u\\n    1w 2U = 1T(1wu);\\n    1o 2d9 = 1h(1wu);\\n    if(2d9 <= 0.9)\\n    {\\n        2U = 1w(11b*1ju(1eQ.1H));\\n    }\\n    2U = (2U + 1.0) * 0.5;\\n    2C = 1m(2U, 1.0);\\n#1z 5J\\n    1bp = 4u.z;\\n#1u\\n#1z 1dt\\n    1bp = 4u.z;\\n#1u\\n    1f;\\n#1u\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n\\9u(4m.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n    1v 18U = 1v(0.0);\\n#1z 2kW\\n    1m 16T = 1m(0.5,0.5,0.5,1.0);\\n#1s\\n    1m 16T = 1IG(18U);\\n#1u\\n    2C = 16T;\\n#1z 25I\\n    2C.2y = 2bm(2C.2y);\\n#1u\\3R = 2C * 4m;\\n#1z 25J\\n    if(1IL > 0.11t)\\n    {\\n        1o 2cz = abs(1T3.r - 2C.r);\\n        1o 2cy = abs(1T3.g - 2C.g);\\n        1o 2cx = abs(1T3.b - 2C.b);\\n        if(2cz < 1IL && 2cy < 1IL && 2cx < 1IL)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 25z\\n    2C = 4m;\\n#1u\\n#1z 1o5\\n    if(1ah > 0.9)\\n    {\\n         2C = 4m;\\n    }\\n#1u\\n#1z 1kh\\n    #1z 1Xl\\n        1m 1rv = 1Y(1KU, 1v(6r.x, 1.0 - 6r.y));\\n        2C = 1KV(2C, 1rv);\\n    #1s\\n        2C = 1KV(2C, 1bh);\\n    #1u\\n    2C *= 1iX;\\n#1u\\n#1z 1wc\\n#1z 1Ly\\n    1XU(2C, 18U);\\n#1s\\n#1z 1o7\\n    2C *= 2tc(1ID, 8l.1H, 8l.w);\\n#1s\\n    2C *= 1O8(8l.1H, 8l.w);\\n#1u\\n#1u\\n#1u\\n#1z 1eW\\n    if(1IC > 0.5)\\n    {\\n        1m 1qq = 1Y(25H, 1OV.xy);\\n        if(!(1qq.r > 0.999 && 1qq.g > 0.999 && 1qq.b > 0.999))\\n        {\\n            2C = 3T(2C, 1qq, 0.5);\\n        }\\n    }\\n#1u\\n#1z 2vF\\n    2C = 2t3(2C, 1bh);\\n#1u \\n\\9u(2C.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n#1z 2d8\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1k3.x);\\n#1s\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n#1u\\n#1z 1l8\\n    if(25G == 2)\\n    {\\n        if(1wv > 0.9)\\n        {\\n            2C = 1Cd(2C, 15h, 3.0);\\n        }\\n    }\\n    1s\\n    {\\n        2C = 1Cd(2C, 15h, 3.0);\\n    }\\n#1u\\n#1z 1yn\\n    2C = 1Cd(2C, 1uM, 1h8);\\n    if(2C.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1u\\n#1z 1II\\n    // 3ig 3if 1a 3ie is on 1Z 5C 18X by 2U in 12W 1ww\\n    1w 1jA = 1T(1ju(8l.1H));\\n    1o 2d7 = 1.0 - 7F(0.95, 1jA.z);\\n    1v 2kV = 18U + 1T2;\\n    2kV *= 2Hb;\\n    1w 1LB = 1Y(25F, 2kV).2y;\\n    2C.2y += 1tk.2y * 1LB * 1LB * 2d7;\\n#1s\\n    2C.2y *= 1tk.2y;\\n#1u\\n#1z 2Ha\\n    2C.2y = 1tk.2y * 16T.2y;\\n#1u\\n#1z 1OY\\n    1o 1la = 12q(25D - 8l.z);\\n    1la = 2Y(1la, 0.0, 1.0);\\n    1la = 2o(1la, 1k3.y);\\n    2C = 3T(1m(0.0, 0.0, 0.0, 1.0), 2C, 1la);\\n#1u\\n#1z 10B\\n    if(1IK.x != 0.0 || 1IK.y != 0.0){\\n        1o 1w6 = 1.0 / 4u.w + 1.0;\\n        1o DZ = 1V(1cu(1w6), 1ct(1w6));\\n        1w6 += DZ * 1IK.x + 0.1KX * 1IK.y;\\n        1nO(1w6);\\n    }\\n    1s{\\n        1nO(1Sb);\\n    }\\n#1u\\n    2C = 9D(2C);\\n#1z 1IB\\1P 1wy;\\1U (1gq.x > 0.0 && 1gq.x < 1.0 && 1gq.y > 0.0 && 1gq.y < 1.0)\\n{\\n    1wy = 1Y(1IJ[0], 1gq.xy);\\n}\\5L if (1gq.z > 0.0 && 1gq.z < 1.0 && 1gq.w > 0.0 && 1gq.w < 1.0)\\n{\\n    1wy = 1Y(1IJ[1], 1gq.zw);\\n}\\5L if (1gp.x > 0.0 && 1gp.x < 1.0 && 1gp.y > 0.0 && 1gp.y < 1.0)\\n{\\n    1wy = 1Y(1IJ[2], 1gp.xy);\\n}\\5L if (1gp.z > 0.0 && 1gp.z < 1.0 && 1gp.w > 0.0 && 1gp.w < 1.0)\\n{\\n    1wy = 1Y(1IJ[3], 1gp.zw);\\n}\\1U(1wy.a > 0.9)\\n{\\n    2C = 1wy;\\n}\\n#1u\\n}"]}),d.2N.1q(ra.25y),e.2N.1q(ra.25y),1<l&&b.2No&&(d.2N.1q(ra.2da),e.2N.1q(ra.2da)));c.2oz===MI.6i&&(d.2N.1q("1db"),e.2N.1q("1db"));0<sb.2gQ&&d.2N.1q("2H4");if(c.1zk){if(b.1MQ===mr.4G9&&(d.2N.1q("2vy"),d.2N.1q("5SB")),b.1MQ===mr.4G8&&(d.2N.1q("2vx"),d.2N.1q("5SB")),b.1MQ===mr.4G9||b.1MQ===mr.4G8)d.2N.1q("1o7"),e.2N.1q("1o7")}1s if(b.1MQ===mr.4G6&&d.2N.1q("2vy"),b.1MQ===mr.4G7&&d.2N.1q("2vx"),b.1MQ===mr.4G7||b.1MQ===mr.4G6)d.2N.1q("1o7"),e.2N.1q("1o7");c.1vo&&e.2N.1q("1es");c.1Us&&e.2N.1q("1Xs");b.2oM?(d.2N.1q(ra.4G5),e.2N.1q(ra.4G5)):b.1Vb&&(d.2N.1q(ra.4G4),e.2N.1q(ra.4G4));1===c.2zD&&1===c.2zC&&0===c.2zA&&1===c.2zB&&1===c.27U||e.2N.1q(ra.25I);c.2mX&&(d.2N.1q(ra.1wc),e.2N.1q(ra.1wc));b.1Xr&&(d.2N.1q(ra.1h6),e.2N.1q(ra.1h6));c.2A5===kj.1f1?(d.2N.1q(ra.1o5),e.2N.1q(ra.1o5)):c.2yR()&&(d.2N.1q(ra.1l8),e.2N.1q(ra.1l8));(c.3q9&df.1es)===df.1es&&e.2N.1q(ra.2d8);c.3qq!==EA.6i&&(d.2N.1q(ra.1Ly),e.2N.1q(ra.1Ly));c.3V6&&d.2N.1q(ra.25A);c.4zK&&(d.2N.1q(ra.1eW),e.2N.1q(ra.1eW));c.1gb.15b!==xg.1nh&&c.2KV()&&(d.2N.1q(ra.1yn),e.2N.1q(ra.1yn));f=b.1Vb||b.2oM;if(c.1Mt||f&&c.1Mt)d.2N.1q(ra.1l9),e.2N.1q(ra.1l9),d.2N.1q(ra.1kh),e.2N.1q(ra.1kh);g(c.21M)&&(d.2N.1q(ra.1l9),e.2N.1q(ra.1l9),d.2N.1q(ra.1II),e.2N.1q(ra.1II));3<b.4FP&&g(c.35b)&&d.2N.1q(ra.1Z3);g(c.35g)&&c.35g===FA.3qo&&0<c.35h&&d.2N.1q(ra.2kR);f=b.1dM;g(f.1pO)&&(h=f.1pO,(h&Pc.1vG)==Pc.1vG&&d.2N.1q(ra.1o6),(h&Pc.2gN)==Pc.2gN&&d.2N.1q(ra.1SZ),(h&Pc.37b)==Pc.37b&&d.2N.1q(ra.2vz),(h&Pc.2gM)==Pc.2gM&&d.2N.1q(ra.1mZ));0<l&&g(b.2Bc.2MO)&&e.2N.1q(ra.2sV);-1<c.35d&&d.2N.1q("3sx");g(c.1Bt)&&g(b.7W.3hY)&&(d.2N.1q("1IB"),e.2N.1q("1IB"));1W;1S La.1GQ:1S La.20W:f=b.1dM;g(f.36Y)?(d="4G3"+c.id,e="3sK"+c.id,d=1g ja({2i:d,5p:["3Q 1m 4f;\\n#1z 14V\\n    3Q 1m 11X;\\n#1u\\n#1z 18e\\n    3Q 1o 4R;\\n#1u\\n    3Q 1m 7s;\\n    3Q 1m 13x;\\n    3Q 1m 1Dd;\\n    3Q 1m 2l7;\\n    3Q 1m 2l6;\\n    3Q 1m 2di;\\n    2n 1m 15h;\\n    3G 1m 1h2;\\n    3G 1m 1jy;\\n    3G 1m 18q;\\n    3G 1m 1kd;\\n    3G 1m 18D;\\n    3G 1m 1yp;\\n    3G 1m 11w;\\n    2n 1o 1h8;\\n    2n 1m 1uM;\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\n#1z 1mZ\\n    2n 1o 1Lz;\\n    2n 1o 1T0;\\n    2n 1o 2Hk;\\n    2n 1o 2Hi;\\n    2n 1o 2Hg;\\n    2n 1o 2Hm;\\n    2n 1m 1LA;\\n    2n 1m 1T1;\\n    2n 1m 2Hl;\\n    2n 1m 2Hj;\\n    2n 1m 2Hh;\\n    2n 1m 2Hn;\\n#1u\\n    1p 2k()\\n    {\\n        1w 1aU = 4f.1H;\\n        1m 1aD = 1m(1.0);\\n#1z 1o6\\n        1aD = 1tj + 4f * 1ti;\\n        1aU = 1aD.1H;\\n#1u\\n        1w 19W = 2di.1H;\\n#1z 1mZ\\n        1aD = 2Hn + 2di * 2Hm;\\n        19W = 1aD.1H;\\n#1u\\n        1m 1nZ = 7s;\\n        1m 1nY = 13x;\\n        1m 1nX = 1Dd;\\n        1m 1jx = 2l7;\\n        1m 1lS = 2l6;\\n#1z 1mZ\\n        1aD = 1LA + 7s * 1Lz;\\n        1nZ = 1aD;\\n        1aD = 1T1 + 13x * 1T0;\\n        1nY = 1aD;\\n        1aD = 2Hl + 1Dd * 2Hk;\\n        1nX = 1aD;\\n        1aD = 2Hj + 2l7 * 2Hi;\\n        1jx = 1aD;\\n        1aD = 2Hh + 2l6 * 2Hg;\\n        1lS = 1aD;\\n#1u\\n        1w 19Z = (15D * 16e(1nZ.1H, 1nY.1H)).1H;\\n        1w 2YK = 1w(1nZ.w, 1nY.w, 1nX.w);\\n        1w 2M = 11b * 2YK;\\n        1w 1Aq = 19Z + 2M;\\n        1w 1y5 = 1T(2M);\\n        // 4I 12w\\n        1m 1hE;\\n        1hE.1H = 11b * 1nX.1H;\\n        1hE.w = -2A(1hE.1H, 19Z);\\n        // 9o 12w\\n        1m 1hD;\\n        1hD.1H = 11b * 1jx.1H;\\n        1hD.w = -2A(1hD.1H, 1Aq);\\n        // 1Dh 12w\\n        18q.1H = 11b * 1lS.1H;\\n        18q.w = -2A(18q.1H, 19Z);\\n        18D.x = abs(1jx.w);\\n        18D.y = 1lS.w;\\n        1kd.1H = 1Aq;\\n        1kd.w = 19Z.x;\\n        18D.zw = 19Z.yz;\\n        1m 1Y4 = 16e(1aU, 19W);\\n        // 1ie 3s to 1Z 9o 12w and 4I 12w, 11P 1Z 12w 17m is 4ig\\n        1m 4p = 15D * 1Y4;\\n        1o 1I9 = abs(17c(1hE, 4p.1H));\\n        1o 1I8 = abs(17c(1hD, 4p.1H));\\n        1w 1qi = 15B(1I9 < 1I8, 1hE.1H, 1hD.1H);\\n        1w 1h1 = 1T(4B(18q.1H, 1qi));\\n        1w 4X = 1T(4B(1qi, 1h1));\\n        1h1 = 4B(1y5, 4X);\\n        1h1 = 1o(18D.y > 1.0 || 18D.y < 0.0) * 1h1;\\n        4p.1H += 1h1;\\n        18D.y = 15B(18D.y > 1.0, 0.0, abs(18D.y));\\n        1o 1G = 1h8;\\n        1h2.1H = 1hE.1H;\\n        1h2.w = 1G * 0.5;\\n        1jy.1H = 1hD.1H;\\n        1jy.w = 0.0;\\n        1G = 1G * 1V(0.0, 1dv(4p));\\n        1G = 1G / 2A(4X, 18q.1H);\\n        4X *= 12q(1jx.w);\\n        4p.1H += 1G * 4X;\\n        6I = 1wa(17B * 4p);\\n        1m 7x = 1m(1.0);\\n#1z 14V\\n        7x = 11X;\\n#1u\\n#1z 18e\\n        11w = 1ki(4R);\\n        1m 14T = 1qo(4R);\\n        1m 19z = 1k9(4R);\\n        1eo(14T, 19z, 15h, 7x);\\n#1u\\n        1yp = 7x * 1uM;\\n    }"]}),e=1g ja({2i:e,5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n    3G 1m 1h2;\\n    3G 1m 1jy;\\n    3G 1m 18q; // 4im 1ag 2Ho 3s 1j 1a 3is\\n    3G 1m 1kd;\\n    3G 1m 18D;\\n    3G 1m 1yp;\\n    3G 1m 11w;\\n    1p 2k(1p)\\n    {\\n        1o 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\n        1w 19Z = 1w(1kd.w, 18D.zw);\\n        // 4il 1j 3Kz\\n        if (17n == 0.0) {\\n            7o;\\n        }\\n        1m 5Z = 1az(4u.xy, 17n);\\n        5Z /= 5Z.w;\\n        1o 1y7 = 1h2.w * 1dv(5Z);\\n        // 1ie 3s of 1Z 2vS 25M 2YN 1Z 2W-4ik 12w\\n        1o 1Li = 17c(18q, 5Z.1H);\\n        // 1ie 2vS 25M 2YN 1Z 2YL 1Di\\n        1o 1ke = 17c(1h2.1H, -2A(19Z, 1h2.1H), 5Z.1H);\\n        1o 1rO = 17c(1jy.1H, -2A(1kd.1H, 1jy.1H), 5Z.1H);\\n        if (abs(1Li) > 1y7 || 1ke < 0.0 || 1rO < 0.0)\\n        {\\n            7o;\\n        }\\n        2C = 1yp;\\n        2C = 9D(2C);\\n//        1w 1cc;\\n//        // 4I 1T6 12w\\n//        1cc = 4B(18q.1H, 1h2.1H);\\n//        1cc = 1T(4B(1cc, 18q.1H));\\n//        1ke = 17c(1cc, -2A(1cc, 19Z), 5Z.1H);\\n//        // 9o 1T6 12w\\n//        1cc = 4B(18q.1H, 1jy.1H);\\n//        1cc = 1T(4B(1cc, 18q.1H));\\n//        1rO = 17c(1cc, -2A(1cc, 1kd.1H), 5Z.1H);\\n//        // 4ij - 3s to 1T6 1Di 3ir be 2YM 4ii to 2YL,\\n//        // so 1fo 7y 25M 4ih be 9H-of-14w.\\n//        1o s = 2Y(1ke / (1ke + 1rO), 0.0, 1.0);\\n//        s = (s * 18D.x) + 18D.y;\\n//        1o t = (1Li + 1y7) / (2.0 * 1y7);\\n//        1Sc();\\n    }\\n    "]})):(l=0<b.2Bc.12s.1h||b.4FQ,d="7Sj"+c.id,e="3sK"+c.id,d=1g ja({2i:d,5p:["3Q 1m 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hH;\\n\\1B 1v 2H8;\\1B 1w 3ic;\\1B 1w 3ib;\\1B 1w 3ia;\\1J 1m 1uw;\\1J 1m 1uv;\\1J 1v 1kY;\\1B 1m 15h;\\n#1z 1pf\\1J 1o 1ah;\\n#1u\\n\\1B 1o 1AA;\\1B 1o 2H9;\\1B 5w 1Z4;\\1B 1m 1FD;\\1B 1m 15a;\\n\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\n#1z 1mZ\\n    2n 1o 1Lz;\\n    2n 1o 1T0;\\n    2n 1m 1LA;\\n    2n 1m 1T1;\\n#1u\\n\\2s 3Kc()\\n{\\n    1w 1gY = (9q * 1m(3ic, 1.0)).1H;\\n    1w 1XL = 11b * 3ib + 1gY;\\n    1w 1XM = 11b * 3ia + 1gY;\\n    1w 1CB = 1XM - 1gY;\\n    1o 1XK = 1h(1CB);\\n    1CB /= 1XK;\\n    1w 1CA = 1XL - 1gY;\\n    1o 1XJ = 1h(1CA);\\n    1CA /= 1XJ;\\n    1uw = 1m(1CB, -2A(1CB, 1gY));\\n    1uv = 1m(1CA, -2A(1CA, 1gY));\\n    1kY = 1v(1.0 / 1XK, 1.0 / 1XJ);\\n}\\2s 2k()\\n{\\n#1z 1rZ\\n    3Kc();\\n#1u\\n    1m 1aD = 1m(1.0);\\n    1m 2d5 = 4f;\\n#1z 1o6\\n    1aD = 1tj + 4f * 1ti;\\n    2d5 = 1aD;\\n#1u\\n   1w 6v = 2d5.1H;\\n   1w 2Yr = 13x.1H;\\n   7d 2Yq = 16f;\\n   if(1h(2d5) > 0.1){\\n       2Yq = 8O;\\n   }\\n   1o 2d6 = 2A(2Yr, 1w(0.0, 0.0, 1.0)) > 0.0 ? 1.0 : -1.0;\\n   1w 3K8 = 2Yr * 2d6;\\n   1o 1IH = 0.0;\\n   if(1AA > 0.0){\\n       // \\3Kb\\3i8\\5ga\\5g9\\5g8\\3Ka\\3K9\\5g7\\3i9\\5g6\\5g5\\4i6\\3i9\\5g4\\5g3\\5g2\\3Kb\\3i8\\3Ka\\3K9\\5g1\\5g0\\5fZ\\4i5\\5fY\\5fX\\4i4\\5fW\\n       if(2Yq){\\n           1IH = 15B(2d6 < 0.0, -50.0, 100.0);\\n       }\\n       1s{\\n           1IH = 15B(2d6 < 0.0, 2H9 - 2.0, 2H9 + 10.0);\\n       }\\n   }\\n   1s{\\n       1IH = 15B(2d6 < 0.0, 2H8.x, 2H8.y);\\n   }\\n   6v.1H = 2d5.1H + 3K8 * 1IH;\\n   1m 18s = 11o * 1m(6v, 1.0);\\n   1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n#1z 1pf\\n   4m = 15h;\\n   1ah = 7s.x;\\n#1s\\n   4m = 7x * 15a;\\n#1u\\n   1hH = (0.5 * (18s.z / 18s.w) + 0.5) * 18s.w;\\n   18s.z = 2o(18s.z, 18s.w);\\n   6I = 18s;\\n}"]}),e=1g ja({2i:e,5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1J 1m 4m;\\1J 1o 1hH;\\1J 1o 1ah;\\1J 1m 11w;\\n\\n#1z 1rZ\\1B 2v 18G;\\1B 1v 25C;\\1B 1v 25B;\\1J 1m 1uw;\\1J 1m 1uv;\\1J 1v 1kY;\\n#1u\\n\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n#1z 1rZ\\1P 1IG()\\n{\\n    1o 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\n    1m 5Z = 1az(4u.xy, 17n);\\n    1m 1rG = 1Sy * 5Z;\\n    1w 1Om = 1rG.1H / 1rG.w;\\n    1v uv;\\n    uv.x = 17c(1uw, 5Z.1H / 5Z.w) * 1kY.x;\\n    uv.y = 17c(1uv, 5Z.1H / 5Z.w) * 1kY.y;\\n    1v st;\\n    st.x = 1Ag(1v(0.0), 1v(0.0, 1.0), uv);\\n    st.y = 1Ag(1v(0.0), 1v(1.0, 0.0), uv);\\n    st.xy *= 25C * 25B;\\n    1m 16T = 1Y(18G, st);\\n    if(16T.a < 0.11t) {\\n        16T.a = 1.0;\\n    }\\n    1f 16T;\\n}\\n#1u\\n\\2s 2k()\\n{\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n#1z 1pf\\n    if(1ah < 0.5)\\n    {\\n        7o;\\n    }\\n#1u\\n#1z 5J\\n    1bp = 2o(1hH * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n    1bp = 2o(1hH * 4u.w, 1.0);\\n#1u\\n    1m 16T = 1m(1.0);\\n#1z 1rZ\\n    16T = 1IG();\\n#1u\\n    2C = 4m * 16T;\\n    2C = 9D(2C);\\n}"]}),l&&(d.2N.1q("1rZ"),e.2N.1q("1rZ")));g(f.1pO)&&(h=f.1pO,(h&Pc.1vG)==Pc.1vG&&d.2N.1q(ra.1o6),(h&Pc.2gN)==Pc.2gN&&d.2N.1q(ra.1SZ),(h&Pc.2gM)==Pc.2gM&&d.2N.1q(ra.1mZ));1W;1S La.2Ab:d="7Si"+c.id;e="3sK"+c.id;d=1g ja({2i:d,5p:["3Q 1w 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hH;\\n\\1B 1o 1AA;\\1B 5w 1Z4;\\1B 1m 1FD;\\1B 1m 15a;\\1B 1m 15h;\\n#1z 1pf\\1J 1o 1ah;\\n#1u\\n\\2s 2k()\\n{\\n   1w 6v = 4f;\\n   6v.1H = 6v.1H + 13x.1H;\\n   1m 18s = 11o * 1m(6v, 1.0);\\n   if(1AA > 0.0)\\n   {\\n#1z 5gc\\n\\t\\7c 3Ki = 1Z4 * 1Cp * 1m(4f, 1.0);\\n\\t\\7c 3Kh = 1Z4 * 1Cp * 1m(6v, 1.0);\\n\\t\\9u(1FD.z < 3Ki.z || 1FD.z > 3Kh.z)\\n\\t\\t{\\n\\t\\t\\2vI.a = 0.0;\\n\\t\\t}\\n#1s\\n\\t\\2vG.1H = 4f.1H + 1T(13x.1H) * (1FD.z + 10.0);\\n\\t\\7c 18s = 11o * 1m(6v, 1.0);\\n#1u\\n   }\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n#1z 1pf\\n   4m = 15h;\\n   1ah = 7s.x;\\n#1s\\n   4m = 7x * 15a;\\n#1u\\n   1hH = (0.5 * (18s.z / 18s.w) + 0.5) * 18s.w;\\n   18s.z = 2o(18s.z, 18s.w);\\n   6I = 18s;\\n}"]});e=1g ja({2i:e,5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1J 1m 4m;\\1J 1o 1hH;\\1J 1o 1ah;\\1J 1m 11w;\\n\\n#1z 1rZ\\1B 2v 18G;\\1B 1v 25C;\\1B 1v 25B;\\1J 1m 1uw;\\1J 1m 1uv;\\1J 1v 1kY;\\n#1u\\n\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n#1z 1rZ\\1P 1IG()\\n{\\n    1o 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\n    1m 5Z = 1az(4u.xy, 17n);\\n    1m 1rG = 1Sy * 5Z;\\n    1w 1Om = 1rG.1H / 1rG.w;\\n    1v uv;\\n    uv.x = 17c(1uw, 5Z.1H / 5Z.w) * 1kY.x;\\n    uv.y = 17c(1uv, 5Z.1H / 5Z.w) * 1kY.y;\\n    1v st;\\n    st.x = 1Ag(1v(0.0), 1v(0.0, 1.0), uv);\\n    st.y = 1Ag(1v(0.0), 1v(1.0, 0.0), uv);\\n    st.xy *= 25C * 25B;\\n    1m 16T = 1Y(18G, st);\\n    if(16T.a < 0.11t) {\\n        16T.a = 1.0;\\n    }\\n    1f 16T;\\n}\\n#1u\\n\\2s 2k()\\n{\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n#1z 1pf\\n    if(1ah < 0.5)\\n    {\\n        7o;\\n    }\\n#1u\\n#1z 5J\\n    1bp = 2o(1hH * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n    1bp = 2o(1hH * 4u.w, 1.0);\\n#1u\\n    1m 16T = 1m(1.0);\\n#1z 1rZ\\n    16T = 1IG();\\n#1u\\n    2C = 4m * 16T;\\n    2C = 9D(2C);\\n}"]});1W;1S La.2g4:d="7Sh"+c.id;e="7Sg"+c.id;d=1g ja({2i:d,5p:["3Q 1m 4f;\\n\\2J 1m 7s;\\n\\2J 1m 13x;\\n\\2J 1m 1Dd;\\n\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1B 1o 1h8;\\1B 1o 1AA;\\1B 1m 1FD;\\1B 5w 1Z4;\\1B 1m 15a;\\1B 1m 15h;\\n#1z 1pf\\1J 1o 1ah;\\n#1u\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hH;\\n\\4i 1o 2Yt = 1.0 / (2.0 * 4i9.4i8);\\n\\1r 2Ys()\\n{\\n\\7c 2Yu = 1Cp * 4f;\\n\\11r 1h8 * 1h(1al - 2Yu.1H) * 2Yt;\\n}\\n\\2s 2k()\\n{\\n   1o 1Z5 = 2Ys();\\n   1m 6v = 4f;\\n   1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n   if(1AA > 0.0)\\n   {\\n\\t\\4i7 = 1Z5 * 3.0;\\n\\t\\2vG.1H = 6v.1H + 1Dd.1H * 1Z5 + 1T(13x.1H) * 1FD.z;\\n   }\\n   1s\\n   {\\n\\t\\2vG.1H = 6v.1H + 1Dd.1H * 1Z5 + 13x.1H;\\n   }\\n   1m 18s = 11o * 6v;\\n   4m = 7x * 15a;\\n#1z 1pf\\n   4m = 15h;\\n   1ah = 7s.x;\\n#1u\\n   1hH = (0.5 * (18s.z / 18s.w) + 0.5) * 18s.w;\\n   18s.z = 2o(18s.z, 18s.w);\\n   6I = 18s;\\n}"]});e=1g ja({2i:e,5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1J 1m 4m;\\1J 1o 1hH;\\1J 1o 1ah;\\1J 1m 11w;\\n\\n#1z 1rZ\\1B 2v 18G;\\1B 1v 25C;\\1B 1v 25B;\\1J 1m 1uw;\\1J 1m 1uv;\\1J 1v 1kY;\\n#1u\\n\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n#1z 1rZ\\1P 1IG()\\n{\\n    1o 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\n    1m 5Z = 1az(4u.xy, 17n);\\n    1m 1rG = 1Sy * 5Z;\\n    1w 1Om = 1rG.1H / 1rG.w;\\n    1v uv;\\n    uv.x = 17c(1uw, 5Z.1H / 5Z.w) * 1kY.x;\\n    uv.y = 17c(1uv, 5Z.1H / 5Z.w) * 1kY.y;\\n    1v st;\\n    st.x = 1Ag(1v(0.0), 1v(0.0, 1.0), uv);\\n    st.y = 1Ag(1v(0.0), 1v(1.0, 0.0), uv);\\n    st.xy *= 25C * 25B;\\n    1m 16T = 1Y(18G, st);\\n    if(16T.a < 0.11t) {\\n        16T.a = 1.0;\\n    }\\n    1f 16T;\\n}\\n#1u\\n\\2s 2k()\\n{\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n#1z 1pf\\n    if(1ah < 0.5)\\n    {\\n        7o;\\n    }\\n#1u\\n#1z 5J\\n    1bp = 2o(1hH * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n    1bp = 2o(1hH * 4u.w, 1.0);\\n#1u\\n    1m 16T = 1m(1.0);\\n#1z 1rZ\\n    16T = 1IG();\\n#1u\\n    2C = 4m * 16T;\\n    2C = 9D(2C);\\n}"]});1W;1S La.2M8:d="4G3"+c.id;e="3sK"+c.id;d=1g ja({2i:d,5p:["3Q 1m 4f;\\n#1z 14V\\n    3Q 1m 11X;\\n#1u\\n#1z 18e\\n    3Q 1o 4R;\\n#1u\\n    3Q 1m 7s;\\n    3Q 1m 13x;\\n    3Q 1m 1Dd;\\n    3Q 1m 2l7;\\n    3Q 1m 2l6;\\n    3Q 1m 2di;\\n    2n 1m 15h;\\n    3G 1m 1h2;\\n    3G 1m 1jy;\\n    3G 1m 18q;\\n    3G 1m 1kd;\\n    3G 1m 18D;\\n    3G 1m 1yp;\\n    3G 1m 11w;\\n    2n 1o 1h8;\\n    2n 1m 1uM;\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\n#1z 1mZ\\n    2n 1o 1Lz;\\n    2n 1o 1T0;\\n    2n 1o 2Hk;\\n    2n 1o 2Hi;\\n    2n 1o 2Hg;\\n    2n 1o 2Hm;\\n    2n 1m 1LA;\\n    2n 1m 1T1;\\n    2n 1m 2Hl;\\n    2n 1m 2Hj;\\n    2n 1m 2Hh;\\n    2n 1m 2Hn;\\n#1u\\n    1p 2k()\\n    {\\n        1w 1aU = 4f.1H;\\n        1m 1aD = 1m(1.0);\\n#1z 1o6\\n        1aD = 1tj + 4f * 1ti;\\n        1aU = 1aD.1H;\\n#1u\\n        1w 19W = 2di.1H;\\n#1z 1mZ\\n        1aD = 2Hn + 2di * 2Hm;\\n        19W = 1aD.1H;\\n#1u\\n        1m 1nZ = 7s;\\n        1m 1nY = 13x;\\n        1m 1nX = 1Dd;\\n        1m 1jx = 2l7;\\n        1m 1lS = 2l6;\\n#1z 1mZ\\n        1aD = 1LA + 7s * 1Lz;\\n        1nZ = 1aD;\\n        1aD = 1T1 + 13x * 1T0;\\n        1nY = 1aD;\\n        1aD = 2Hl + 1Dd * 2Hk;\\n        1nX = 1aD;\\n        1aD = 2Hj + 2l7 * 2Hi;\\n        1jx = 1aD;\\n        1aD = 2Hh + 2l6 * 2Hg;\\n        1lS = 1aD;\\n#1u\\n        1w 19Z = (15D * 16e(1nZ.1H, 1nY.1H)).1H;\\n        1w 2YK = 1w(1nZ.w, 1nY.w, 1nX.w);\\n        1w 2M = 11b * 2YK;\\n        1w 1Aq = 19Z + 2M;\\n        1w 1y5 = 1T(2M);\\n        // 4I 12w\\n        1m 1hE;\\n        1hE.1H = 11b * 1nX.1H;\\n        1hE.w = -2A(1hE.1H, 19Z);\\n        // 9o 12w\\n        1m 1hD;\\n        1hD.1H = 11b * 1jx.1H;\\n        1hD.w = -2A(1hD.1H, 1Aq);\\n        // 1Dh 12w\\n        18q.1H = 11b * 1lS.1H;\\n        18q.w = -2A(18q.1H, 19Z);\\n        18D.x = abs(1jx.w);\\n        18D.y = 1lS.w;\\n        1kd.1H = 1Aq;\\n        1kd.w = 19Z.x;\\n        18D.zw = 19Z.yz;\\n        1m 1Y4 = 16e(1aU, 19W);\\n        // 1ie 3s to 1Z 9o 12w and 4I 12w, 11P 1Z 12w 17m is 4ig\\n        1m 4p = 15D * 1Y4;\\n        1o 1I9 = abs(17c(1hE, 4p.1H));\\n        1o 1I8 = abs(17c(1hD, 4p.1H));\\n        1w 1qi = 15B(1I9 < 1I8, 1hE.1H, 1hD.1H);\\n        1w 1h1 = 1T(4B(18q.1H, 1qi));\\n        1w 4X = 1T(4B(1qi, 1h1));\\n        1h1 = 4B(1y5, 4X);\\n        1h1 = 1o(18D.y > 1.0 || 18D.y < 0.0) * 1h1;\\n        4p.1H += 1h1;\\n        18D.y = 15B(18D.y > 1.0, 0.0, abs(18D.y));\\n        1o 1G = 1h8;\\n        1h2.1H = 1hE.1H;\\n        1h2.w = 1G * 0.5;\\n        1jy.1H = 1hD.1H;\\n        1jy.w = 0.0;\\n        1G = 1G * 1V(0.0, 1dv(4p));\\n        1G = 1G / 2A(4X, 18q.1H);\\n        4X *= 12q(1jx.w);\\n        4p.1H += 1G * 4X;\\n        6I = 1wa(17B * 4p);\\n        1m 7x = 1m(1.0);\\n#1z 14V\\n        7x = 11X;\\n#1u\\n#1z 18e\\n        11w = 1ki(4R);\\n        1m 14T = 1qo(4R);\\n        1m 19z = 1k9(4R);\\n        1eo(14T, 19z, 15h, 7x);\\n#1u\\n        1yp = 7x * 1uM;\\n    }"]});e=1g ja({2i:e,5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n    3G 1m 1h2;\\n    3G 1m 1jy;\\n    3G 1m 18q; // 4im 1ag 2Ho 3s 1j 1a 3is\\n    3G 1m 1kd;\\n    3G 1m 18D;\\n    3G 1m 1yp;\\n    3G 1m 11w;\\n    1p 2k(1p)\\n    {\\n        1o 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\n        1w 19Z = 1w(1kd.w, 18D.zw);\\n        // 4il 1j 3Kz\\n        if (17n == 0.0) {\\n            7o;\\n        }\\n        1m 5Z = 1az(4u.xy, 17n);\\n        5Z /= 5Z.w;\\n        1o 1y7 = 1h2.w * 1dv(5Z);\\n        // 1ie 3s of 1Z 2vS 25M 2YN 1Z 2W-4ik 12w\\n        1o 1Li = 17c(18q, 5Z.1H);\\n        // 1ie 2vS 25M 2YN 1Z 2YL 1Di\\n        1o 1ke = 17c(1h2.1H, -2A(19Z, 1h2.1H), 5Z.1H);\\n        1o 1rO = 17c(1jy.1H, -2A(1kd.1H, 1jy.1H), 5Z.1H);\\n        if (abs(1Li) > 1y7 || 1ke < 0.0 || 1rO < 0.0)\\n        {\\n            7o;\\n        }\\n        2C = 1yp;\\n        2C = 9D(2C);\\n//        1w 1cc;\\n//        // 4I 1T6 12w\\n//        1cc = 4B(18q.1H, 1h2.1H);\\n//        1cc = 1T(4B(1cc, 18q.1H));\\n//        1ke = 17c(1cc, -2A(1cc, 19Z), 5Z.1H);\\n//        // 9o 1T6 12w\\n//        1cc = 4B(18q.1H, 1jy.1H);\\n//        1cc = 1T(4B(1cc, 18q.1H));\\n//        1rO = 17c(1cc, -2A(1cc, 1kd.1H), 5Z.1H);\\n//        // 4ij - 3s to 1T6 1Di 3ir be 2YM 4ii to 2YL,\\n//        // so 1fo 7y 25M 4ih be 9H-of-14w.\\n//        1o s = 2Y(1ke / (1ke + 1rO), 0.0, 1.0);\\n//        s = (s * 18D.x) + 18D.y;\\n//        1o t = (1Li + 1y7) / (2.0 * 1y7);\\n//        1Sc();\\n    }\\n    "]});1W;1S La.2Aa:d="4G3"+c.id;e="3sK"+c.id;d=1g ja({2i:d,5p:["3Q 1m 4f;\\n\\2J 1m 7s;\\n\\2J 1m 13x;\\n\\2J 1m 1Dd;\\n\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1B 1o 1h8;\\1B 1o 1AA;\\1B 1m 1FD;\\1B 5w 1Z4;\\1B 1m 15a;\\1B 1m 15h;\\n#1z 1pf\\1J 1o 1ah;\\n#1u\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hH;\\n\\4i 1o 2Yt = 1.0 / (2.0 * 4i9.4i8);\\n\\1r 2Ys()\\n{\\n\\7c 2Yu = 1Cp * 4f;\\n\\11r 1h8 * 1h(1al - 2Yu.1H) * 2Yt;\\n}\\n\\2s 2k()\\n{\\n   1o 1Z5 = 2Ys();\\n   1m 6v = 4f;\\n   1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n   if(1AA > 0.0)\\n   {\\n\\t\\4i7 = 1Z5 * 3.0;\\n\\t\\2vG.1H = 6v.1H + 1Dd.1H * 1Z5 + 1T(13x.1H) * 1FD.z;\\n   }\\n   1s\\n   {\\n\\t\\2vG.1H = 6v.1H + 1Dd.1H * 1Z5 + 13x.1H;\\n   }\\n   1m 18s = 11o * 6v;\\n   4m = 7x * 15a;\\n#1z 1pf\\n   4m = 15h;\\n   1ah = 7s.x;\\n#1u\\n   1hH = (0.5 * (18s.z / 18s.w) + 0.5) * 18s.w;\\n   18s.z = 2o(18s.z, 18s.w);\\n   6I = 18s;\\n}"]});e=1g ja({2i:e,5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1J 1m 4m;\\1J 1o 1hH;\\1J 1o 1ah;\\1J 1m 11w;\\n\\n#1z 1rZ\\1B 2v 18G;\\1B 1v 25C;\\1B 1v 25B;\\1J 1m 1uw;\\1J 1m 1uv;\\1J 1v 1kY;\\n#1u\\n\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n#1z 1rZ\\1P 1IG()\\n{\\n    1o 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\n    1m 5Z = 1az(4u.xy, 17n);\\n    1m 1rG = 1Sy * 5Z;\\n    1w 1Om = 1rG.1H / 1rG.w;\\n    1v uv;\\n    uv.x = 17c(1uw, 5Z.1H / 5Z.w) * 1kY.x;\\n    uv.y = 17c(1uv, 5Z.1H / 5Z.w) * 1kY.y;\\n    1v st;\\n    st.x = 1Ag(1v(0.0), 1v(0.0, 1.0), uv);\\n    st.y = 1Ag(1v(0.0), 1v(1.0, 0.0), uv);\\n    st.xy *= 25C * 25B;\\n    1m 16T = 1Y(18G, st);\\n    if(16T.a < 0.11t) {\\n        16T.a = 1.0;\\n    }\\n    1f 16T;\\n}\\n#1u\\n\\2s 2k()\\n{\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n#1z 1pf\\n    if(1ah < 0.5)\\n    {\\n        7o;\\n    }\\n#1u\\n#1z 5J\\n    1bp = 2o(1hH * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n    1bp = 2o(1hH * 4u.w, 1.0);\\n#1u\\n    1m 16T = 1m(1.0);\\n#1z 1rZ\\n    16T = 1IG();\\n#1u\\n    2C = 4m * 16T;\\n    2C = 9D(2C);\\n}"]});1W;1S La.35p:d="5SA"+c.id;e="5Sz"+c.id;d=1g ja({2i:d,5p:["3Q 1w 4f;\\n\\2J 1w 13N;\\n\\2J 1m 7s;\\n\\2J 1m 13x;\\n\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1J 1m 4m;\\1J 1m 11w;\\1J 1m 6r;\\1J 1m 14u;\\1B 1m 15h;\\1B 1o 1AA;\\1B 1m 15a;\\n\\1r 1CN()\\n{\\n\\7c 9I = 9q * 1m(4f, 1.0);\\n\\7c 1o1 = 17B * 9I;\\n\\4s 1CP = 1dv(9I);\\n\\3ii.x = 1o1.x - 2.0 * 1CP;\\n\\7c 1CO = 1k1 * 1o1;\\n\\11r 1h(9I - 1CO);\\n}\\n\\1P 1Fr(1w 1CM)\\n{\\n\\7c 9I = 9q * 1m(4f, 1.0);\\n\\2Yy.1H = 9I.1H + 1CM * 1CN();\\n\\2Yy.1H = 9I.1H * 0.9;\\n\\3ih = 9I;\\n\\7c 3h = 17B * 9I;\\n\\11r 3h;\\n}\\n\\2s 2k()\\n{\\n   6r.xy = 7s.xy;\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n   4m = 7x * 15a;\\n#1z 2Yx\\n   6I = 1Fr(13x.1H);\\n#1s\\n   6r.zw = 13x.xy;\\n   6I = 1Fr(13N);\\n#1u\\n}"]});e=1g ja({2i:e,5p:["2n 2v 18G;\\1J 1m 4m;\\1J 1m 6r;\\1J 1m 14u;\\1J 1m 11w;\\n#1z 1bn\\n    2n 1o 12d;\\n    2n 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n\\2s 2k()\\n{\\n\\9u(4m.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 4m * 1Y(18G, 6r.xy);\\n\\9u(2C.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n\\14F *= 1nT(14u, 1.0);\\n#1u\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n    2C = 9D(2C);\\n}"]});d.2N.1q("2Yx");c.1vo&&e.2N.1q("1es");c.1Us&&e.2N.1q("1Xs");1W;1S La.198:d="5SA"+c.id;d=1g ja({2i:d,5p:["3Q 1w 4f;\\n\\2J 1w 13N;\\n\\2J 1m 7s;\\n\\2J 1m 13x;\\n\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1J 1m 4m;\\1J 1m 11w;\\1J 1m 6r;\\1J 1m 14u;\\1B 1m 15h;\\1B 1o 1AA;\\1B 1m 15a;\\n\\1r 1CN()\\n{\\n\\7c 9I = 9q * 1m(4f, 1.0);\\n\\7c 1o1 = 17B * 9I;\\n\\4s 1CP = 1dv(9I);\\n\\3ii.x = 1o1.x - 2.0 * 1CP;\\n\\7c 1CO = 1k1 * 1o1;\\n\\11r 1h(9I - 1CO);\\n}\\n\\1P 1Fr(1w 1CM)\\n{\\n\\7c 9I = 9q * 1m(4f, 1.0);\\n\\2Yy.1H = 9I.1H + 1CM * 1CN();\\n\\2Yy.1H = 9I.1H * 0.9;\\n\\3ih = 9I;\\n\\7c 3h = 17B * 9I;\\n\\11r 3h;\\n}\\n\\2s 2k()\\n{\\n   6r.xy = 7s.xy;\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n   4m = 7x * 15a;\\n#1z 2Yx\\n   6I = 1Fr(13x.1H);\\n#1s\\n   6r.zw = 13x.xy;\\n   6I = 1Fr(13N);\\n#1u\\n}"]});1<b.2Bc.12s.1h?(e="7Sf"+c.id,e=1g ja({2i:e,5p:["2n 2v 18G;\\1B 2v 25K;\\1B 1m 1Aj;\\n\\1J 1m 4m;\\1J 1m 6r;\\1J 1m 14u;\\1J 1m 11w;\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\2s 2k()\\n{\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n\\9u(4m.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\7c 16T = 1m(4m.2y, 2o(1Y(18G, 6r.xy).a, 4m.a));\\n\\7c 2vH = 1m(1Aj.2y, 2o(1Y(25K, 6r.zw).a, 1Aj.a));\\n\\9u(16T.a + 2vH.a < 0.2)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\1qn 3Kg = 3T(2vH.2y, 16T.2y, 16T.a + 0.2);\\n\\14F = 1m(3Kg.2y, 2o(1.0, 16T.a + 2vH.a));\\n\\9u(2C.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n\\14F *= 1nT(14u, 1.0);\\n\\14F = 9D(2C);\\n#1u\\n}"]})):0<b.2Bc.12s.1h&&(e="5Sz"+c.id,e=1g ja({2i:e,5p:["2n 2v 18G;\\1J 1m 4m;\\1J 1m 6r;\\1J 1m 14u;\\1J 1m 11w;\\n#1z 1bn\\n    2n 1o 12d;\\n    2n 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n\\2s 2k()\\n{\\n\\9u(4m.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 4m * 1Y(18G, 6r.xy);\\n\\9u(2C.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n\\14F *= 1nT(14u, 1.0);\\n#1u\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n    2C = 9D(2C);\\n}"]}));c.1vo&&e.2N.1q("1es");b.7r.1Us&&e.2N.1q("1Xs");1W;1S La.3qz:d="7Se"+c.id;e="7Sd"+c.id;d=1g ja({2i:d,5p:["\\2J 1m 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\1J 1m 11w;\\1J 1v 2w1;\\1J 1m 4m;\\1J 1m 8l;\\1B 5w 1rA;\\2s 2k()\\n{\\n    1o 1IH = 13x.x;\\n\\1qn 2ZM = 4f.1H + (13N.1H * 1IH).1H;\\n\\4s u = 7s.x;\\n\\4s v = 7s.y;\\n    if ( 13x.y > 0.2 && 13x.y < 0.8)\\n    {\\n        if (1rA[0].x > 0.0)\\n        {\\n            1o 3L3 = 1rA[1].y;\\n            v = 1IH / 3L3;\\n        }\\n        1s\\n        {\\n            1o 3L2 = 1rA[1].y;\\n            v = 3L2;\\n        }\\n    }\\n    2w1 = 1v(u, v);\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n    4m = 7x;\\n\\1tg = 11o * 1m(2ZM, 1.0);\\n\\2YJ = 1m(2ZM, 0.0);\\n}"]});e=1g ja({2i:e,5p:["\\n#1z 1rZ\\1B 2v 18G;\\n#1u\\1J 1v 2w1;\\1J 1m 4m;\\1J 1m 8l;\\2s 2k()\\n{\\n\\7c 1gW = 1m(1.0);\\n#1z 1rZ\\n    1gW = 1gW * 1Y( 18G, 2w1 );\\n#1u\\n    2C = 1gW * 4m;\\n#1z 1wc\\n\\14F *= 1O8(8l.1H, 8l.w);\\n#1u\\n    2C = 9D(2C);\\n}"]});0<b.2Bc.12s.1h&&e.2N.1q("1rZ");c.2mX&&(d.2N.1q(ra.1wc),e.2N.1q(ra.1wc));1W;1S La.35n:d="7Sc"+c.id;e="7Sb"+c.id;d=1g ja({2i:d,5p:["\\2J 1m 4f;\\2J 1m 7s;\\2J 1m 11X;\\1J 1v 6r;\\1J 1m 2YE;\\1J 1w 1eQ;\\1J 1w 2cY;\\2s 2k()\\n{\\n    6r = 7s.xy;\\n    1eQ = 4f.1H;\\n\\7c 2cI = 1m(4f.1H, 1.0);\\n\\1tg = 11o * 2cI;\\n\\5gl = 1m(11X.2y, 1.0);\\n\\7c 4p = 9q * 2cI;\\n   2cY = -1T(4p.1H);\\n}"]});e=1g ja({2i:e,5p:["\\1B 1o 3im;\\1B 7P 1s3;\\1B 1m 1T4;\\1B 1m 25L;\\1B 1o 3ik;\\1B 1o 3ij;\\1B 1o 2Hf;\\1B 1o 3il;\\1B 1o 1T5;\\1B 1o 2l3;\\n\\1J 1w 1eQ;\\1J 1v 6r;\\1J 1m 2YE;\\1J 1w 2cY;\\4i 1o 1ia = 0.0;\\4i 1o PI = 3.3Ik;\\2u 3Ko(1v 1Xj)\\n{\\n\\4s 2dh  = 3im * PI;\\n\\10O n = 1v(3i(2dh),-2T(2dh));\\n\\10O t = 1v(2T(2dh),3i(2dh));\\n\\5gm 3Kr = 1bG(n,t);\\n\\11r 3Kr * 1Xj;\\n}\\1P 3Kk(1v 4M)\\n{\\n\\10O 1ql = 1v(1T5, 2l3);\\n\\10O 1uF = 1v(2Hf, 3il);\\n\\10O 1As = 1v(3ik, 3ij);\\n\\n    1o 1l2 = 8N(1ql.s * 4M.s - 1uF.s);\\n    1l2 = abs(1l2 - 2t(1l2 + 0.5));\\n\\n    1o 1ic = 8N(1ql.t * 4M.t - 1uF.t);\\n    1ic = abs(1ic - 2t(1ic + 0.5));\\n\\n    1o 1Q;\\n\\n    XR 1o 1uE = 1.2;\\n    1v 1mS = (1As * 1.0) - 1.0;\\n\\n    1v dx = abs(1cu(4M));\\n    1v dy = abs(1ct(4M));\\n    1v dF = 1v(1V(dx.s, dy.s), 1V(dx.t, dy.t)) * 1ql;\\n\\n\\9u(1T5 < 0.5)\\n\\t{\\n\\t\\2YG = 13f(dF.t * 1mS.t, dF.t * (1uE + 1mS.t), 1ic);\\n\\t}\\n\\1aC if(2l3 < 0.5)\\n\\t{\\n\\t\\2YG = 13f(dF.s * 1mS.s, dF.s * (1uE + 1mS.s), 1l2);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\2YG = 2o(\\n\\t\\t\\3Kq(dF.s * 1mS.s, dF.s * (1uE + 1mS.s), 1l2),\\n\\t\\t\\3Kq(dF.t * 1mS.t, dF.t * (1uE + 1mS.t), 1ic));\\n\\t}\\n\\n\\9u(1Q < 0.5)\\n\\t{\\n\\t\\11r 1T4;\\n\\t}\\n\\11r 25L;\\n}\\1P 3Kn(1v 4M)\\n{\\n\\4s 12G = 1T5;\\n\\4s 2M = 2Hf;\\n\\n    1o 16Q = 3T(4M.s, 4M.t, 1ia);\\n    1o 1Q = 8N((16Q - 2M) * (12G * 0.5));\\n\\n    1m 1aj = 3T(1T4, 25L, 7F(0.5, 1Q)); \\n\\n    1f 1aj;\\n}\\1P 3Km(1v 4M)\\n{\\n\\4s 3Kp = 1T5;\\n\\n    1o b = 13f(0.3, 0.32, 1h(8N(3Kp * 4M.st) - 0.5));\\n    1m 1A = 3T(1T4, 25L, b);\\n    1f 1A;\\n}\\1P 3Kl(1v 4M)\\n{\\n\\10O 2YF = 1v(1T5, 2l3); \\n\\n    1o b = 13R(2t(2YF.s * 4M.s) + 2t(2YF.t * 4M.t), 2.0);\\n    1m 1aj = 3T(1T4, 25L, b);\\n    1f 1aj;\\n}\\n\\2s 2k()\\n{\\n    1w 2vN = 1w( 11b * 1ju( 1eQ ) );\\n    2vN = 1T( 2vN );\\n\\7c 1gW = 1Fa(2vN,2cY,1eQ);\\n\\n\\10O 2dg = 3Ko(6r);\\n\\n    1m 1A = 1T4;\\n    if(1s3 == 1)\\n    {\\n    \\2d0 = 3Kn(2dg);\\n    }\\n    1s if(1s3 == 2)\\n    {\\n    \\2d0 = 3Km(2dg);\\n    }\\n    1s if(1s3 == 3)\\n    {\\n    \\2d0 = 3Kl(2dg);\\n    }\\n    1s if(1s3 == 4)\\n    {\\n    \\2d0 = 3Kk(2dg);\\n    }\\n    2C = 1A * 1gW * 2YE;\\n    2C = 9D(2C);\\n}"]});c.1vo&&e.2N.1q("1es");c.2M4&&(d.2N.1q(ra.1cB),e.2N.1q(ra.1cB));1W;1S La.2Mh:d="5Sy"+c.id;e="5Sx"+c.id;d=1g ja({2i:d,5p:["\\1B 1o 2l5;\\n\\2J 1m 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\1B 1m 15h;\\1B 5w 1lW;\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hC;\\1J 1v 9j;\\1J 1o 1iQ;\\1J 1o 1Y9;\\1J 1o 13i;\\1J 1m 8l;\\n#1z 1cB\\n    3G 1m 1rw;\\n#1u\\2s 25f(\\n    1w p0,\\n    1w p1,\\n    9H 1m 6K,\\n    9H 7d 12P,\\n    9H 7d 13D)\\n{\\n    13D = 16f;\\n    12P = 16f;\\n    1w 1iS = p1 - p0;\\n    1o 7t = 1h(1iS);\\n    1w 2G = 1T(1iS);\\n    1o 1iR =  -(18z.x + p0.z);\\n    1o 1aX = -2G.z;\\n    if (1iR < 0.0 && abs(1aX) < 1bg)\\n    {\\n        13D = 8O;\\n    }\\n    1s if (1iR < 0.0 && abs(1aX) > 1bg)\\n    {\\n        1o t = (18z.x + p0.z) / 1aX;\\n        if (t < 0.0 || t > 7t)\\n        {\\n            13D = 8O;\\n        }\\n        1s\\n        {\\n            p0 = p0 + t * 2G;\\n            12P = 8O;\\n        }\\n    }\\n    6K = 18a(1m(p0, 1.0));\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\n\\7c 16F, p0, p1;\\n\\1OR 13D, 12P;\\n\\7c 4p = 1K;\\n\\7c 17C = 18d;\\n\\7c 18F = 6k;\\n\\7c 1lT = 18a(4p);\\n\\7c 1CJ = 18a(17C);\\n\\7c 1CI = 18a(18F);\\n\\n\\10O 1o0;\\n\\9u (1er)\\n\\t{\\n\\t\\2vR = 1T(1lT.xy - 1CJ.xy);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\2vR = 1T(1CI.xy - 1lT.xy);\\n\\t}\\n\\2vQ = 16D(1o0.x, 1o0.y) - 1.2kb;\\n\\2vQ = 2t(8f / 1qb + 0.5) * 1qb;\\n\\n\\1Dg(17C.1H, 4p.1H, p0, 12P, 13D);\\n\\1Dg(18F.1H, 4p.1H, p1, 12P, 13D);\\n\\1Dg(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\n\\9u (13D)\\n\\t{\\n\\t\\11r 1m(0.0, 0.0, 0.0, 1.0);\\n\\t}\\n\\10O 14U = 1T(p0.xy - 16F.xy);\\n\\10O 12k = 1T(p1.xy - 16F.xy);\\n\\4s 1kf = 1G * 0.5;\\n\\10O 2G;\\n\\9u (1dX(18d.1H - 1K.1H, 1w(0.0), 1jt) || 1dX(14U, -12k, 1jt))\\n\\t{\\n\\t\\1s4 = 1v(-12k.y, 12k.x);\\n\\t}\\n\\1aC if (1dX(6k.1H - 1K.1H, 1w(0.0), 1jt) || 12P)\\n\\t{\\n\\t\\1s4 = 1v(14U.y, -14U.x);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\10O 2U = 1v(-12k.y, 12k.x);\\n\\t\\1s4 = 1T((12k + 14U) * 0.5);\\n\\t\\9u (2A(2G, 2U) < 0.0)\\n\\t\\t{\\n\\t\\t\\1s4 = -2G;\\n\\t\\t}\\n\\t\\4s 1gV = abs(2G.x * 12k.y - 2G.y * 12k.x);\\n\\t\\3Ky = 2Y(1kf / 1gV, 0.0, 1G * 2.0);\\n\\t}\\n\\10O 2M = 2G * 1jz * 1kf * 1Xu;\\n\\11r 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\2s 2k()\\n{\\n\\10O 15t = 13x.zw;\\n\\3Kx.y = 15t.y * 2l5;\\n\\4s u = abs(15t.x);\\n\\4s 1kU = 12q(15t.x);\\n#1z 2k8\\n\\4s w = 0.2 + 0.3*(1.0 - 3r(2.0*abs(u - 0.5), 2.0));\\n\\4s 1G = abs(15t.y*w) + 0.5;\\n#1s\\n\\4s 1G = abs(15t.y) + 0.5;\\n#1u\\n\\1OR 1mO = 15t.y < 0.0;\\n\\2YJ.1H = 4f.1H;\\n    8l.w = 0.0;\\n#1z 1cB\\n    1rw = 1lW * 1m(4f.1H, 1.0);\\n#1u\\n\\7c p = 9q * 4f;\\n\\7c 15E = 9q * 1m(13N, 1.0);\\n\\7c 6k = 9q * 7s;\\n\\3Kw = 13x.xy;\\n\\3Kv = 1G;\\n\\3Ku = u;\\n\\7c 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO, 1iQ);\\n\\7c 3h = 17B * p;\\n\\1AB = (0.5 * (3h.z / 3h.w) + 0.5);\\n\\1tg = 1t5 * 6K;\\n\\7c 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n\\2vI = 7x;\\n#1z 10B\\n    13i = 1.0 + 3h.w;\\n#1u\\n}"]});e=1g ja({2i:e,5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1J 1m 4m;\\1J 1o 13i;\\1J 1v 9j;\\1J 1o 1hC;\\1J 1o 1iQ;\\1J 1m 11w;\\4i 1o 2c2 = 16.0;\\1B 1m 1gr;\\1B 7P 1s3;\\1B 1m 2dk;\\1B 1o 2Hp;\\1B 1m 2Hq;\\1B 1o 2Hs;\\1B 1o 2Hr;\\1B 1o 2dl;\\1B 7P 1IN;\\1J 1m 8l;\\n\\1KZ 17b(1o 1Fp)\\n{\\n\\4s c = 3i(1Fp);\\n\\4s s = 2T(1Fp);\\n\\11r 1bG(\\n\\t\\tc, s,\\n\\t\\t-s, c\\n\\t);\\n}\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1r 1Lo(1v p0, 1v p1, 1o x)\\n{\\n\\4s 1rp = (p0.y - p1.y) / (p0.x - p1.x);\\n\\11r 1rp * (x - p0.x) + p0.y;\\n}\\2s 2k()\\n{\\n#1z 8p\\n\\4s 13T = 1.0 - abs(2Gl(9j.s)) * 10.0;\\n#1s\\n\\4s 13T = 0.99;\\n#1u\\n\\10O 2V = 1v(1.0, 0.5);\\n\\4s 1Ln = 1Lo(1v(13T, 1.0), 2V, 9j.s);\\n\\4s 1Lm = 1Lo(1v(13T, 0.0), 2V, 9j.s);\\n\\4s 18c = 0.15;\\n\\4s s = 7F(0.5 - 18c, 9j.t);\\n\\ts *= 1.0 - 7F(0.5 + 18c, 9j.t);\\n\\ts *= 1.0 - 7F(13T, 9j.s);\\n\\4s t = 7F(13T, 9j.s);\\n\\tt *= 1.0 - 7F(1Ln, 9j.t);\\n\\tt *= 7F(1Lm, 9j.t);\\n\\4s 6Y;\\n\\n\\7c 1iT = 1m(0.0);\\n\\7c 1aj;\\n\\9u (1IN == 0 || 9j.s < 13T)\\n\\t{\\n\\t\\9u(1s3 == 3)\\n\\t\\t{\\n\\t\\t\\4s 1An = 2dl / abs(9j.t - 0.3) - (2dl / 0.5);\\n\\t\\t\\1qn 17Y = 1V(1w(1An - 1.0 + 1gr.2y), 1gr.2y);\\n\\t\\t\\4s 2O = 2Y(0.0, 1.0, 1An) * 1gr.a;\\n\\t\\t\\7c 1cO = 1m(17Y, 2O);\\n\\t\\t\\9u(1IN != 0)\\n\\t\\t\\t{\\n\\t\\t\\t\\4s d1 = abs(9j.t - (0.5 - 18c));\\n\\t\\t\\t\\4s d2 = abs(9j.t - (0.5 + 18c));\\n\\t\\t\\t\\1Zh = 2o(d1, d2);\\n\\t\\t\\t\\1LC = 3T(1iT, 1cO, 2Y(s + t, 0.0, 1.0));\\n\\t\\t\\t\\14F = 1k5(1iT, 1cO, 1aj, 6Y, 0.1);\\n\\t\\t\\t}\\n\\t\\t\\1aC\\n\\t\\t\\t{\\n\\t\\t\\t\\14F = 1cO;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\1aC if(1s3 == 1)\\n\\t\\t{\\n\\t\\t\\10O 3h = 17b(1iQ) * 4u.xy;\\n\\t\\t\\4s 2c3 = 8N(3h.x / 2Hs);\\n\\t\\t\\4s 2c1 = 2t(2c3 * 2c2);\\n\\t\\t\\4s 2c0 = 2t(2Hr / 3r(2.0, 2c1));\\n\\t\\t\\7c 1cO = (13R(2c0, 2.0) < 1.0) ? 2Hq : 1gr;\\n\\t\\t\\9u (1cO.a < 0.1Am)\\n\\t\\t\\t{\\n\\t\\t\\t\\17O;\\n\\t\\t\\t}\\n\\t\\t\\9u(1IN != 0)\\n\\t\\t\\t{\\n\\t\\t\\t\\4s d1 = abs(9j.t - (0.5 - 18c));\\n\\t\\t\\t\\4s d2 = abs(9j.t - (0.5 + 18c));\\n\\t\\t\\t\\1Zh = 2o(d1, d2);\\n\\t\\t\\t\\1LC = 3T(1iT, 1cO, 2Y(s + t, 0.0, 1.0));\\n\\t\\t\\t\\14F = 1k5(1iT, 1cO, 1aj, 6Y, 0.1);\\n\\t\\t\\t}\\n\\t\\t\\1aC\\n\\t\\t\\t{\\n\\t\\t\\t\\14F = 1cO;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\1aC if(1s3 == 2)\\n\\t\\t{\\n\\t\\t\\4s 1l1 = 0.5 * (1hC - 2Hp) / 1hC;\\n\\t\\t\\4s b = 7F(0.5 - 1l1, 9j.t);\\n\\t\\t\\tb *= 1.0 - 7F(0.5 + 1l1, 9j.t);\\n\\t\\t\\4s d1 = abs(9j.t - (0.5 - 1l1));\\n\\t\\t\\4s d2 = abs(9j.t - (0.5 + 1l1));\\n\\t\\t\\4s 6Y = 2o(d1, d2);\\n\\t\\t\\1LC = 3T(2dk, 1gr, b);\\n\\t\\t\\14F = 1k5(2dk, 1gr, 1aj, 6Y, 0.1);\\n\\t\\t}\\n\\t\\1aC\\n\\t\\t{\\n\\t\\t\\9u(1IN != 0)\\n\\t\\t\\t{\\n\\t\\t\\t\\4s d1 = abs(9j.t - (0.5 - 18c));\\n\\t\\t\\t\\4s d2 = abs(9j.t - (0.5 + 18c));\\n\\t\\t\\t\\1Zh = 2o(d1, d2);\\n\\t\\t\\t\\1LC = 3T(1iT, 1gr, 2Y(s + t, 0.0, 1.0));\\n\\t\\t\\t\\14F = 1k5(1iT, 1gr, 1aj, 6Y, 0.1);\\n\\t\\t\\t}\\n\\t\\t\\1aC\\n\\t\\t\\t{\\n\\t\\t\\t\\14F = 1gr;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\4s d1 = 1Af;\\n\\t\\9u (9j.t < 0.5 - 18c && 9j.t > 0.5 + 18c)\\n\\t\\t{\\n\\t\\t\\4ip = abs(9j.s - 13T);\\n\\t\\t}\\n\\t\\4s d2 = abs(9j.t - 1Ln);\\n\\t\\4s d3 = abs(9j.t - 1Lm);\\n\\t\\1Zh = 2o(2o(d1, d2), d3);\\n\\t\\1LC = 3T(1iT, 1gr, 2Y(s + t, 0.0, 1.0));\\n\\t\\14F = 1k5(1iT, 1gr, 1aj, 6Y, 0.1);\\n\\t}\\n    2C = 2C * 4m;\\n    2C = 9D(2C);\\n    if(2C.a < 0.1){7o;}\\n#1z 5J\\n    1bp = 13i;\\n#1u\\n#1z 1dt\\n    1bp = 13i;\\n#1u\\n#1z 10B\\n    1nO(13i);\\n#1u\\n#1z 1es\\3R *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n}"]});c.1vo&&e.2N.1q("1es");c.2M4&&(d.2N.1q(ra.1cB),e.2N.1q(ra.1cB));1W;1S La.1is:e="7Sa"+c.id,e=1g ja({2i:e,5p:["#1z 1mY\\n    2n 2v 18G;\\n    3G 1m 6r;\\n#1u\\n    2n 1m 1tk;\\n    3G 1m 4m;\\n    3G 1m 11w;\\n#1z 1o5\\n    3G 1o 1ah;\\n#1u\\2s 2k()\\n{\\n\\9u(4m.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1mY\\n    1m 16T = 1Y(18G, 6r.xy);\\n    2C = 16T * 4m;\\n#1s\\n    2C = 4m;\\n#1u\\n#1z 1o5\\n    if(1ah > 0.9)\\n    {\\n        2C = 4m;\\n    }\\n#1u\\n\\9u(2C.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n    2C.2y *= 1tk.2y;\\n}"]}),d="7S9"+c.id,d=1g ja({2i:d,5p:["3Q 1m 4f;\\n#1u\\n#1z 1mY\\n    3G 1m 6r;\\n#1u\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\1J 1m 11w;\\n#1z 1o5\\1J 1o 1ah;\\n#1u\\1B 1m 15h;\\1B 1v 3hX;\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\1B 1m 1iX;\\1J 1m 4m;\\2s 2k()\\n{\\n#1z 1o6\\n    1m 6v = 1m(1.0);\\n    6v = 1tj + 4f * 1ti;\\n#1s\\n    1m 6v = 4f;\\n#1u\\n#1z 1mY\\n    6r.xy = 6v.xy * 3hX;\\n#1u\\n    6v.w = 1.0;\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n#1z 1o5\\n    1ah = 0.0;\\n    1eo(14T, 19z, 15h, 7x, 1ah);\\n#1s\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n#1u\\n    4m = 7x*1iX;\\n    6I = 11o * 6v;\\n}"]}),c.2A5===kj.1f1&&(d.2N.1q(ra.1o5),e.2N.1q(ra.1o5)),b.4FQ&&(d.2N.1q(ra.2gP),e.2N.1q(ra.2gP))}b.1Br===La.1is&&b.2No&&(d="5Sy"+c.id,e="5Sx"+c.id,d=1g ja({2i:d,5p:["\\1B 1o 2l5;\\n\\2J 1m 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\1B 1m 15h;\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hC;\\1J 1v 9j;\\1J 1o 1iQ;\\1J 1o 1Y9;\\1J 1o 13i;\\1J 1m 8l;\\2s 25f(\\n    1w p0,\\n    1w p1,\\n    9H 1m 6K,\\n    9H 7d 12P,\\n    9H 7d 13D)\\n{\\n    13D = 16f;\\n    12P = 16f;\\n    1w 1iS = p1 - p0;\\n    1o 7t = 1h(1iS);\\n    1w 2G = 1T(1iS);\\n    1o 1iR =  -(18z.x + p0.z);\\n    1o 1aX = -2G.z;\\n    if (1iR < 0.0 && abs(1aX) < 1bg)\\n    {\\n        13D = 8O;\\n    }\\n    1s if (1iR < 0.0 && abs(1aX) > 1bg)\\n    {\\n        1o t = (18z.x + p0.z) / 1aX;\\n        if (t < 0.0 || t > 7t)\\n        {\\n            13D = 8O;\\n        }\\n        1s\\n        {\\n            p0 = p0 + t * 2G;\\n            12P = 8O;\\n        }\\n    }\\n    6K = 18a(1m(p0, 1.0));\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\n\\7c 16F, p0, p1;\\n\\1OR 13D, 12P;\\n\\7c 4p = 1K;\\n\\7c 17C = 18d;\\n\\7c 18F = 6k;\\n\\7c 1lT = 18a(4p);\\n\\7c 1CJ = 18a(17C);\\n\\7c 1CI = 18a(18F);\\n\\n\\10O 1o0;\\n\\9u (1er)\\n\\t{\\n\\t\\2vR = 1T(1lT.xy - 1CJ.xy);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\2vR = 1T(1CI.xy - 1lT.xy);\\n\\t}\\n\\2vQ = 16D(1o0.x, 1o0.y) - 1.2kb;\\n\\2vQ = 2t(8f / 1qb + 0.5) * 1qb;\\n\\n\\1Dg(17C.1H, 4p.1H, p0, 12P, 13D);\\n\\1Dg(18F.1H, 4p.1H, p1, 12P, 13D);\\n\\1Dg(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\n\\9u (13D)\\n\\t{\\n\\t\\11r 1m(0.0, 0.0, 0.0, 1.0);\\n\\t}\\n\\10O 14U = 1T(p0.xy - 16F.xy);\\n\\10O 12k = 1T(p1.xy - 16F.xy);\\n\\4s 1kf = 1G * 0.5;\\n\\10O 2G;\\n\\9u (1dX(18d.1H - 1K.1H, 1w(0.0), 1bg) || 1dX(14U, -12k, 1bg))\\n\\t{\\n\\t\\1s4 = 1v(-12k.y, 12k.x);\\n\\t}\\n\\1aC if (1dX(6k.1H - 1K.1H, 1w(0.0), 1bg) || 12P)\\n\\t{\\n\\t\\1s4 = 1v(14U.y, -14U.x);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\10O 2U = 1v(-12k.y, 12k.x);\\n\\t\\1s4 = 1T((12k + 14U) * 0.5);\\n\\t\\9u (2A(2G, 2U) < 0.0)\\n\\t\\t{\\n\\t\\t\\1s4 = -2G;\\n\\t\\t}\\n\\t\\4s 1gV = abs(2G.x * 12k.y - 2G.y * 12k.x);\\n\\t\\3Ky = 2Y(1kf / 1gV, 0.0, 1G * 2.0);\\n\\t}\\n\\10O 2M = 2G * 1jz * 1kf * 1Xu;\\n\\11r 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\2s 2k()\\n{\\n\\10O 15t = 13x.zw;\\n\\3Kx.y = 15t.y * 2l5;\\n\\4s u = abs(15t.x);\\n\\4s 1kU = 12q(15t.x);\\n#1z 2k8\\n\\4s w = 0.2 + 0.3*(1.0 - 3r(2.0*abs(u - 0.5), 2.0));\\n\\4s 1G = abs(15t.y*w) + 0.5;\\n#1s\\n\\4s 1G = abs(15t.y) + 0.5;\\n#1u\\n\\1OR 1mO = 15t.y < 0.0;\\n\\2YJ.1H = 4f.1H;\\n    8l.w = 0.0;\\n\\7c p = 9q * 4f;\\n\\7c 15E = 9q * 1m(13N, 1.0);\\n\\7c 6k = 9q * 7s;\\n\\3Kw = 13x.xy;\\n\\3Kv = 1G;\\n\\3Ku = u;\\n\\7c 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO, 1iQ);\\n\\7c 3h = 17B * p;\\n\\1AB = (0.5 * (3h.z / 3h.w) + 0.5);\\n\\1tg = 1t5 * 6K;\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n\\2vI = 7x;\\n}"]}),e=1g ja({2i:e,5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1J 1m 4m;\\1J 1o 13i;\\1J 1v 9j;\\1J 1o 1hC;\\1J 1o 1iQ;\\1J 1m 11w;\\4i 1o 2c2 = 16.0;\\1B 1m 1gr;\\1B 7P 1s3;\\1B 1m 2dk;\\1B 1o 2Hp;\\1B 1m 2Hq;\\1B 1o 2Hs;\\1B 1o 2Hr;\\1B 1o 2dl;\\1B 7P 1IN;\\1J 1m 8l;\\n\\1KZ 17b(1o 1Fp)\\n{\\n\\4s c = 3i(1Fp);\\n\\4s s = 2T(1Fp);\\n\\11r 1bG(\\n\\t\\tc, s,\\n\\t\\t-s, c\\n\\t);\\n}\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1r 1Lo(1v p0, 1v p1, 1o x)\\n{\\n\\4s 1rp = (p0.y - p1.y) / (p0.x - p1.x);\\n\\11r 1rp * (x - p0.x) + p0.y;\\n}\\2s 2k()\\n{\\n#1z 8p\\n\\4s 13T = 1.0 - abs(2Gl(9j.s)) * 10.0;\\n#1s\\n\\4s 13T = 0.99;\\n#1u\\n\\10O 2V = 1v(1.0, 0.5);\\n\\4s 1Ln = 1Lo(1v(13T, 1.0), 2V, 9j.s);\\n\\4s 1Lm = 1Lo(1v(13T, 0.0), 2V, 9j.s);\\n\\4s 18c = 0.15;\\n\\4s s = 7F(0.5 - 18c, 9j.t);\\n\\ts *= 1.0 - 7F(0.5 + 18c, 9j.t);\\n\\ts *= 1.0 - 7F(13T, 9j.s);\\n\\4s t = 7F(13T, 9j.s);\\n\\tt *= 1.0 - 7F(1Ln, 9j.t);\\n\\tt *= 7F(1Lm, 9j.t);\\n\\4s 6Y;\\n\\n\\7c 1iT = 1m(0.0);\\n\\7c 1aj;\\n\\9u (1IN == 0 || 9j.s < 13T)\\n\\t{\\n\\t\\9u(1s3 == 3)\\n\\t\\t{\\n\\t\\t\\4s 1An = 2dl / abs(9j.t - 0.3) - (2dl / 0.5);\\n\\t\\t\\1qn 17Y = 1V(1w(1An - 1.0 + 1gr.2y), 1gr.2y);\\n\\t\\t\\4s 2O = 2Y(0.0, 1.0, 1An) * 1gr.a;\\n\\t\\t\\7c 1cO = 1m(17Y, 2O);\\n\\t\\t\\9u(1IN != 0)\\n\\t\\t\\t{\\n\\t\\t\\t\\4s d1 = abs(9j.t - (0.5 - 18c));\\n\\t\\t\\t\\4s d2 = abs(9j.t - (0.5 + 18c));\\n\\t\\t\\t\\1Zh = 2o(d1, d2);\\n\\t\\t\\t\\1LC = 3T(1iT, 1cO, 2Y(s + t, 0.0, 1.0));\\n\\t\\t\\t\\14F = 1k5(1iT, 1cO, 1aj, 6Y, 0.1);\\n\\t\\t\\t}\\n\\t\\t\\1aC\\n\\t\\t\\t{\\n\\t\\t\\t\\14F = 1cO;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\1aC if(1s3 == 1)\\n\\t\\t{\\n\\t\\t\\10O 3h = 17b(1iQ) * 4u.xy;\\n\\t\\t\\4s 2c3 = 8N(3h.x / 2Hs);\\n\\t\\t\\4s 2c1 = 2t(2c3 * 2c2);\\n\\t\\t\\4s 2c0 = 2t(2Hr / 3r(2.0, 2c1));\\n\\t\\t\\7c 1cO = (13R(2c0, 2.0) < 1.0) ? 2Hq : 1gr;\\n\\t\\t\\9u (1cO.a < 0.1Am)\\n\\t\\t\\t{\\n\\t\\t\\t\\17O;\\n\\t\\t\\t}\\n\\t\\t\\9u(1IN != 0)\\n\\t\\t\\t{\\n\\t\\t\\t\\4s d1 = abs(9j.t - (0.5 - 18c));\\n\\t\\t\\t\\4s d2 = abs(9j.t - (0.5 + 18c));\\n\\t\\t\\t\\1Zh = 2o(d1, d2);\\n\\t\\t\\t\\1LC = 3T(1iT, 1cO, 2Y(s + t, 0.0, 1.0));\\n\\t\\t\\t\\14F = 1k5(1iT, 1cO, 1aj, 6Y, 0.1);\\n\\t\\t\\t}\\n\\t\\t\\1aC\\n\\t\\t\\t{\\n\\t\\t\\t\\14F = 1cO;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\1aC if(1s3 == 2)\\n\\t\\t{\\n\\t\\t\\4s 1l1 = 0.5 * (1hC - 2Hp) / 1hC;\\n\\t\\t\\4s b = 7F(0.5 - 1l1, 9j.t);\\n\\t\\t\\tb *= 1.0 - 7F(0.5 + 1l1, 9j.t);\\n\\t\\t\\4s d1 = abs(9j.t - (0.5 - 1l1));\\n\\t\\t\\4s d2 = abs(9j.t - (0.5 + 1l1));\\n\\t\\t\\4s 6Y = 2o(d1, d2);\\n\\t\\t\\1LC = 3T(2dk, 1gr, b);\\n\\t\\t\\14F = 1k5(2dk, 1gr, 1aj, 6Y, 0.1);\\n\\t\\t}\\n\\t\\1aC\\n\\t\\t{\\n\\t\\t\\9u(1IN != 0)\\n\\t\\t\\t{\\n\\t\\t\\t\\4s d1 = abs(9j.t - (0.5 - 18c));\\n\\t\\t\\t\\4s d2 = abs(9j.t - (0.5 + 18c));\\n\\t\\t\\t\\1Zh = 2o(d1, d2);\\n\\t\\t\\t\\1LC = 3T(1iT, 1gr, 2Y(s + t, 0.0, 1.0));\\n\\t\\t\\t\\14F = 1k5(1iT, 1gr, 1aj, 6Y, 0.1);\\n\\t\\t\\t}\\n\\t\\t\\1aC\\n\\t\\t\\t{\\n\\t\\t\\t\\14F = 1gr;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\4s d1 = 1Af;\\n\\t\\9u (9j.t < 0.5 - 18c && 9j.t > 0.5 + 18c)\\n\\t\\t{\\n\\t\\t\\4ip = abs(9j.s - 13T);\\n\\t\\t}\\n\\t\\4s d2 = abs(9j.t - 1Ln);\\n\\t\\4s d3 = abs(9j.t - 1Lm);\\n\\t\\1Zh = 2o(2o(d1, d2), d3);\\n\\t\\1LC = 3T(1iT, 1gr, 2Y(s + t, 0.0, 1.0));\\n\\t\\14F = 1k5(1iT, 1gr, 1aj, 6Y, 0.1);\\n\\t}\\n    2C = 2C * 4m;\\n    2C = 9D(2C);\\n    if(2C.a < 0.1){7o;}\\n#1z 5J\\n    1bp = 13i;\\n#1u\\n#1z 1dt\\n    1bp = 13i;\\n#1u\\n#1z 10B\\n    1nO(13i);\\n#1u\\n#1z 1es\\3R *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n}"]}));b.3Zd&&(d.2N.1q(ra.2gP),e.2N.1q(ra.2gP));b.2No&&(d.2N.1q(ra.4G2),e.2N.1q(ra.4G2));c.5HX&&(d.2N.1q(ra.1l9),e.2N.1q(ra.1l9),e.2N.1q(ra.2vF));0<c.2Me&&e.2N.1q(ra.25J);c.1DW!==HM.6i&&e.2N.1q(ra.1bn);c.33A&&e.2N.1q(ra.1bm);g(a.1hp)&&(f=a.1hp.21G,d.2N.1q(ra.1gn+f.1h),e.2N.1q(ra.1gn+f.1h),f=a.1hp.21F,d.2N.1q(ra.1dY+f.1h),e.2N.1q(ra.1dY+f.1h),a=a.1hp.1JL,d.2N.1q(ra.19w+a.1h),e.2N.1q(ra.19w+a.1h));c.2M4&&(d.2N.1q(ra.1cB),e.2N.1q(ra.1cB));b.5S4&&d.2N.1q(ra.2H5);c.3Vz===IM.1f1&&(d.2N.1q(ra.25z),e.2N.1q(ra.25z));b.5S3&&d.2N.1q("14V");b.5S2&&d.2N.1q("2d2");1f Ga.4t({1O:b.1O,5O:d,5A:e,7W:b.7W})};SC.5S9=1b(a,b,c){1d d=1g ja({2i:"3ix",5p:["3Q 1m 4f;\\n\\2J 1w 13N;\\n\\2J 1m 7s;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1B 1o 2kz;\\1B 1o 2kB;\\1B 1o 3h6;\\1B 1o 3h5;\\1B 1v 2kA;\\1B 5w 1lW;\\n\\1J 1v 1Yr;\\1J 1w 1Ik;\\1J 1w 1Yq;\\1J 1w 1Ih;\\1J 1m 4m;\\1J 1o 3Kj;\\1J 1m 11w;\\1J 1m 14u;\\n#1z 1cB\\n    3G 1m 1rw;\\n#1u\\n\\2s 2k()\\n{\\n#1z 1cB\\n    1rw = 1lW * 1m(4f.1H, 1.0);\\n#1u\\n\\7c 1Yp = 11o * 4f;\\n\\5hd 2cA = 5w(0.5, 0.0, 0.0, 0.0,\\n\\t\\t\\t0.0, 0.5, 0.0, 0.0,\\n\\t\\t\\t0.0, 0.0, 0.5, 0.0,\\n\\t\\t\\t0.5, 0.5, 0.5, 1.0);\\n\\7c 1yh = 2cA * 1Yp;\\n\\5hc = 1yh.2tX;\\n\\5hb.xy = 7s.xy * 2kB + 2kA * 2kz;\\n\\7c 2uM = 3h4 * 1m(3h3, 1.0);\\n\\5ha = 4f.1H - 2uM.1H;\\n\\5h9 = 13N.1H;\\n\\1tg = 1Yp;\\n\\3ih = 9q * 4f;\\n\\7c 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n#1u\\n    4m = 7x;\\n\\5h8 = 4m.a;\\n}"]}),e=1g ja({2i:"3iy",5p:["2n 2v 2cC;\\1B 2v 2cG;\\1B 1m 2kD;\\1B 1m 1SU;\\1B 1m 1iX;\\1B 1o 2kE;\\1B 1o 1Fx;\\1B 1o 1Fy;\\1B 1o 2kF;\\1B 1o 2kC;\\1J 1v 1Yr;\\1J 1w 1Ik;\\1J 1w 1Yq;\\1J 1w 1Ih;\\1J 1m 4m;\\1J 1m 11w;\\n\\1P 2cB(in 1m 1gl, in 1o 1qm)\\n{\\n\\1qn 2cH = 1w(0.1NX, 0.1KS, 0.1NW);\\n\\1qn 12r = 1w(2A(1gl.2y, 2cH));\\n\\1qn 1uG = 3T(12r, 1gl.2y, 1qm);\\n\\11r 1m(1uG, 1.0);\\n}\\n\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\2s 2k()\\n{\\n    if(4m.a < 0.1)\\n    {\\n        7o;\\n    }\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n    2C = 4m;\\n    1v 1Lr = 1Ik.xy / 1Ik.z;\\n    1w 2cF = (1Y(2cG, (1Yr.xy / 5.0)).2y - 0.5).3h8 * 2kF;\\n    1Lr += 2cF.xz;\\n    1o 1Il, 1Yt;\\n    if(1Fx < 1Fy)\\n    {\\n        1Il = 1Fx;\\n        1Yt = 1Fy;\\n    }\\n    1s\\n    {\\n        1Il = 1Fy;\\n        1Yt = 1Fx;\\n    }\\n    1o 2cE = 1Il;\\n    1o 2cD = (1Yt - 1Il) / 1.0;\\n    1o 1Fw = 2cE + 2cD * 3r(1.0 + 2A(1T(1Yq), 1Ih), 2kE);\\n    1Fw = 2Y(1Fw, 0.1cN, 0.95);\\n    1m 1OH = 1Y(2cC, 1Lr);\\n    1m 3h7 = 1OH + 2kD;\\n    1m 1rU = 3T(1SU, 1OH, 1Fw);\\n    1rU = 2cB(1rU, 1.0);\\n    1rU = 1rU * 2kC;\\n    1rU.a = 1SU.a;\\n    1rU *= 1iX;\\n    2C = 2C * 1rU;\\n    if(2C.a < 0.1)\\n    {\\n        7o;\\n    }\\n    #1z 1bn\\n        if (12d > 1.5)\\n        {\\n            if(4u.x > 12c)\\n            {\\n                7o;\\n            }\\n        }\\n        1s if(12d > 0.5)\\n        {\\n            if(4u.x < 12c)\\n            {\\n                7o;\\n            }\\n        }\\n        1s if(12d < -1.5)\\n        {\\n            if(4u.y < 12c)\\n            {\\n                7o;\\n            }\\n        }\\n        1s if(12d < -0.5)\\n        {\\n            if(4u.y > 12c)\\n            {\\n                7o;\\n            }\\n        }\\n        #1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n    //2C = 9D(2C);\\n}"]});b.1vo&&e.2N.1q("1es");b.1Us&&e.2N.1q("1Xs");b.2M4&&(d.2N.1q(ra.1cB),e.2N.1q(ra.1cB));b.1DW!==HM.6i&&e.2N.1q(ra.1bn);b.33A&&e.2N.1q(ra.1bm);1f Ga.4t({1O:a,5O:d,5A:e,7W:c})};1d JM=1b(){1a.2P=1a.12W=1a.1O=1p 0};JM.1i.1C=1b(a,b,c){1a.1O=a;1a.12W=b;1a.2P=c};JM.1i.5P=1b(){1d a=1a.1O,b=1a.12W.1na,c=b.19h[1a.2P];if(!g(c))1t 1g r("3Q is 2S 3qY");if(-1!==b.2gk&&!g(1a.12W.3sG)){if(!g(b.1b6))1t 1g r("1bX 3J is 1F");1a.12W.3sG=Ra.12S({1O:a,5b:b.1b6,7Q:xa.7C});1a.12W.1qV+=1a.12W.3sG.18Q}1!==c.19N||g(c.5b)?g(c.7e)||(c.7e=Qj.12S(a,c.5b),g(c.7e)||(c.7e=Ra.12S({1O:a,5b:c.5b,7Q:xa.7C}),c.7e.1hU=!1),1a.12W.1qV+=c.7e.18Q,c.5b=1F,4Y c.5b):c.7e=1a.12W.3sG};1d KM=1b(){1a.1O=1a.12W=1p 0;1a.2P=0};KM.1i.1C=1b(a,b,c,d){1a.12W=b;1a.1O=a;1a.2P=c;1a.1f0=d};KM.1i.5P=1b(){1d a=1a.1O,b=1a.12W.1sd[1a.2P];if(!g(b))1t 1g r("2P 7S8 is 1F");if(!g(b.10X)){if(!g(b.1m2))1t 1g r("2P 3J is 1F");1d c=Ta.10P;(1===b.1IY||1a.1f0>=B.1uW)&&1a.1O.1Pf&&(c=Ta.1bt);b.10X=Qj.17Q(a,b.1m2);g(b.10X)||(b.10X=Ra.17Q({1O:a,5b:b.1m2,7Q:xa.7C,17P:c}),b.10X.1hU=!1);1a.12W.1qV+=b.10X.18Q;b.1m2=1F;4Y b.1m2}};dn.2fA=1b(a){1d b=a.2eJ,c=m(a.18i,Ka.1av),d=m(a.18h,Ka.1av),e=m(a.14A,nb.11U),f=m(a.15u,Rb.11U),h=m(a.8b,ua.9m),l=m(a.10E,Ha.7U);g(b)&&(cl.2Be[b]?cl.2Be[b]++:(cl.2Be[b]=1,Z(gf(b),1b(a){1d g=1g Eb({18i:c,18h:d,14A:e,15u:f});a=1g Ca({1O:cl.4j,5j:a,8b:h,10E:l,10v:g});a.1zs();cl.1fb[b]=a})))};dn.3sI=1b(a){if(g(a))1f cl.1fb[a]};dn.5Rc=1b(a){g(a)&&g(cl.2Be[a])&&(cl.2Be[a]--,0===cl.2Be[a]&&(cl.1fb[a].1M(),4Y cl.1fb[a],4Y cl.2Be[a]))};dn.2H=1b(a){cl.4j=a};1d cl=1g dn,4G1=1g A,RX=1g C,SX=1g C,TX=1g C,GA=1g C;Tb.5S0=1b(a,b,c){1f{1h8:1b(){1f b.1cJ.11a},1Z4:1b(){A.12Z(b.1dI,4G1);1f 4G1},1FD:1b(){1f b.2eD},2H9:1b(){1f b.4j.4qN},15a:1b(){1f g(a.4G0)?y.9b(a.4G0,b.1cJ.1sH,1g y):y.9b(c.1se,b.1cJ.1sH,1g y)},15h:1b(){1f b.1jp},3ic:1b(){1f a.3Zl},3ib:1b(){1f a.3Zk},3ia:1b(){1f a.3Zm},18G:1b(){if(g(a.2gK)){1d d=dn.3sI(a.2gK);1f g(d)?d:b.4j.1np}1f g(c.12s[0])?c.12s[0]:b.4j.1np},25C:1b(){1d a=4*1k.PI/(1<<b.5Y.4uO);RX.x=b.1DQ.1G/a;RX.y=b.1DQ.1D/a;1f RX},25B:1b(){SX.x=k.7t(a.3Zm)/b.4Ax;SX.y=k.7t(a.3Zk)/b.4Ax;1f SX}}};Tb.5Sb=1b(a,b){1f{2cC:1b(){1f b.5Y.18w.1Ge.1yT.1bA.167(0)},2cG:1b(){1f b.5Y.18w.1Ge.2gO},2kz:1b(){1d c=.11t*b.1oB.5Hz;a.3sJ=1<a.3sJ?c:a.3sJ+c;1f a.3sJ},2kB:1b(){1f b.1oB.3b},3h6:1b(){1f b.1oB.3IF},3h5:1b(){1f b.1oB.1ul},2kA:1b(){1f b.1oB.3ha},2kE:1b(){1f b.1oB.4hA},1Fx:1b(){1f b.1oB.3hb},1Fy:1b(){1f b.1oB.3hc},2kD:1b(){1f b.1oB.4hz},2kF:1b(){1f b.1oB.3hd},1SU:1b(){1f b.1oB.2XE},2kC:1b(){1f b.1oB.4hy}}};1d UX=1g C;Tb.3Zc=1b(a){1f{1AA:1b(){1f a.1ss},4i3:1b(){1f a.7R/255},15h:1b(){1f a.1jp},25G:1b(){1f a.20v},24K:1b(){1f g(a.35k)?a.35k:0},7S7:1b(){1f a.3q9},1Sn:1b(){1f a.2A3===a.2A4?0:a.2A3},2js:1b(){1f a.2A3===a.2A4?1:a.2A4},2H8:1b(){TX.x=a.3qf;TX.y=a.3qd;1f TX},1uJ:1b(){1f a.35j},3i1:1b(){1f a.35h},1wx:1b(){UX.x=a.5HH;UX.y=a.4Ab;1f UX},3id:1b(){1f a.3Vt},3i0:1b(){1f a.4qq},1IK:1b(){1d b=a.1V4.1bB;if(!g(b))1f GA.x=0,GA.y=0,GA;GA.x=b.8H;GA.y=b.13u;1f GA}}};Tb.5RZ=1b(a,b,c){1d d=c.1LN,e=c.1se,f=c.1Du,h=c.1JK,l=c.2oQ;1f{1rA:1b(){1f l},18G:1b(){if(g(a.2gK)){1d d=dn.3sI(a.2gK);1f g(d)?d:b.4j.1np}1f g(c.12s[0])?c.12s[0]:b.4j.1np},1IJ:1b(){1d c=[b.4j.3sH,b.4j.3sH,b.4j.3sH,b.4j.3sH];if(!g(a.1MP)||0===a.1MP.1h)1f c;1j(1d d=0;d<a.1MP.1h;d++)g(a.1MP[d].7y)&&(c[d]=a.1MP[d].7y);1f c},25K:1b(){1f c.12s[1]},1Aj:1b(){1f d},15a:1b(){1f e},2ta:1b(){1f f},2U8:1b(){1f h},25x:1b(){1f g(c.12s[0])?c.12s[0].10V:1},25w:1b(){1f g(c.12s[1])?c.12s[1].10V:1}}};Tb.5RY=1b(a){1f{3fj:1b(){1f a.2zD},3fi:1b(){1f a.2zC},3fh:1b(){1f a.2zA},3fg:1b(){1f a.2zB},3ff:1b(){1f 1/a.27U}}};Tb.5RX=1b(a){1f{3Kf:1b(){1f a.4zW}}};Tb.3Zb=1b(a,b){1f{1iX:1b(){1f b?a.19g:a.1sH},1uM:1b(){1f a.19g},1h8:1b(){1f a.11a},1ws:1b(){1f a.1i7},3eT:1b(){1f a.15b},1tk:1b(){1f a.3Zo},1Az:1b(){1f a.28L}}};Tb.5RW=1b(a){1f{1T3:1b(){1f a.3qs},1IL:1b(){1f a.2Me}}};Tb.5RV=1b(a){1f{1am:1b(){1f a.34Y},3i5:1b(){1f a.5Y.3w.19I.1D},3i6:1b(){1f a.1GE}}};Tb.4FM=1b(a){1f{2FV:1b(){1f a.21N},3f8:1b(){1f a.4zM},3f9:1b(){1f a.34X}}};Tb.5RU=1b(a,b){1d c=1g C(0,0),d=1g C(1,1);1f{1T2:1b(){if(g(a.6J)){1d b=a.6J.2ps,d=1bR.14H()/1E3;c.x=b.x*d;c.y=b.y*d}1f c},2Hb:1b(){if(g(a.6J)){1d b=a.6J.2Nt;d.x=b.x;d.y=b.y}1f d},1kS:1b(){1f a.1dk},1p5:1b(){1f a.1GF},1jr:1b(){1f g(a.6J)?a.6J.2zg:1},1t1:1b(){1f g(a.6J)?a.6J.3oX:100},1hA:1b(){1d b=1g E(0,1,1,1);g(a.6J)&&(b.x=a.6J.1MA.5r,b.y=a.6J.1MA.5t,b.z=a.6J.1MA.5G,b.w=a.6J.1MA.2O);1f b},16R:1b(){1d b=1;if(g(a.6J))6U(a.6J.1ml){1S Cc.1ml.6i:b=0;1W;1S Cc.1ml.2Bd:b=1;1W;1S Cc.1ml.1TB:b=2;1W;1S Cc.1ml.3oD:b=3}1f b},1dw:1b(){1f g(a.6J)?a.6J.2nN:0},1kT:1b(){1f g(a.6J)?a.6J.2nM:0},1fO:1b(){1f-a.1D+(g(a.6J)?a.6J.2fp:0)},1jq:1b(){1f-a.1D+(g(a.6J)?a.6J.2nO:0)},2kU:1b(){1f b},1kQ:1b(){1f a.2fz},13v:1b(){1f a.2fh},1Sm:1b(){1f g(a.6J)?a.6J.5Sw:y.9r}}};Tb.5RT=1b(a){1f{2kO:1b(){1f a.35b},3i7:1b(){1f a.2M5},2kP:1b(){1f a.2M6},2vE:1b(){1d b=a.2M5;!g(a.6J)||0==a.6J.1oq&&0==a.6J.1z7||(b=a.6J.1z7);g(b)||(b=100);1f b},2vD:1b(){1d b=a.2M6;!g(a.6J)||0==a.6J.1oq&&0==a.6J.1z7||(b=a.6J.1oq);g(b)||(b=0);1f b},1SX:1b(){1f 1k.abs(a.2M5-a.2M6+1)}}};Tb.5RS=1b(a){1f{7S6:1b(){1f g(a.2g0)?a.2g0:a.4j.1np},7S5:1b(){1f g(a.2fZ)?a.2fZ:a.4j.1np},7S4:1b(){1f a.3Vw},7S3:1b(){1f a.3Vv}}};Tb.4FL=1b(a){1f{1wb:1b(){1f a.1Mw},1lR:1b(){1f a.2zk},1Fc:1b(){1f a.2fv}}};Tb.3Za=1b(a){1f{12d:1b(){1f a.1DW},12c:1b(){1f a.1rR}}};1d sF=1g E;Tb.3Z9=1b(a){1f{1fm:1b(){sF.x=a.1Mr.x*a.5Y.1O.8j;sF.y=(1-a.1Mr.y)*a.5Y.1O.7p;sF.z=a.1Mr.z*a.5Y.1O.8j;sF.w=(1-a.1Mr.w)*a.5Y.1O.7p;1f sF}}};Tb.5RR=1b(a){1f{3f6:1b(){1f g(a.3qu)?a.3qu:0},3f5:1b(){1f g(g(a.2Mf))?a.2Mf:1g E(1,1,0,0)}}};Tb.5RQ=1b(a){1f{3i3:1b(){1f a.3V3},25H:1b(){1f a.358}}};Tb.5RP=1b(a,b){1f{7S2:1b(){1f a.1ad?a.1ad.1Vb:b.5Sv},1KU:1b(){1f"12H"===b.1gd||"21U"===b.1gd?a.2oK:a.1ad.1Vb},1um:1b(){1f a.1ad.2Mv},1HM:1b(){1f a.1ad.2Mu},1HL:1b(){1f a.1ad.2g9},1G:1b(){1f a.1ad.1Va},1D:1b(){1f a.1ad.1V9},4e:1b(){1f a.1ad.2Mt},7S1:1b(){1f a.1ad.1Va},7S0:1b(){1f a.1ad.1V9},1rr:1b(){1d a=0;g(b.6J)&&b.6J.1x7===Cc.1qT.10U&&(a=1);1f a},3f4:1b(){1f g(a.1ad.1vC)?5IS===a.1ad.1vC?0:g(b.6J)&&b.6J.1x7===Cc.1qT.11U?0:1:0}}};Tb.5RO=1b(a){1f{2l5:1b(){1f g(a.1ee)?a.1ee.1gc:a.1cJ.11a},1gr:1b(){1f g(a.1ee)?a.1ee.7a:a.1cJ.19g},1s3:1b(){1f g(a.1ee)?a.1ee.1b4:0},2dk:1b(){1f g(a.1ee)?a.1ee.16O:a.1cJ.19g},2Hp:1b(){1f g(a.1ee)?a.1ee.16n:0},2Hq:1b(){1f g(a.1ee)?a.1ee.2Am:a.1cJ.19g},2Hs:1b(){1f g(a.1ee)?a.1ee.2Al:0},2Hr:1b(){if(g(a.1ee)){if(a.1ee.4AL){159<a.1ee.2HW&&(a.1ee.2HW=0);1d b=1k.2t(a.1ee.2HW/10),c=a.1ee.2g6<<b;b=a.1ee.2g6>>16-b;a.1ee.2HW++;1f c+b}1f a.1ee.2g6}1f 0},2dl:1b(){1f g(a.1ee)?a.1ee.2Mk:0},1IN:1b(){1f g(a.1ee)?a.1ee.4AM:!1}}};Tb.5RN=1b(a){1f{3im:1b(){1f a.1ee.4AV},1s3:1b(){1f a.1ee.1b4},1T4:1b(){1f a.1ee.1pM},25L:1b(){1f a.1ee.1V8},3ik:1b(){1f a.1ee.4AU},3ij:1b(){1f a.1ee.4AT},1T5:1b(){1f a.1ee.4AQ},2l3:1b(){1f a.1ee.4AP},2Hf:1b(){1f a.1ee.4AS},3il:1b(){1f a.1ee.4AR}}};Tb.5RM=1b(a,b){1d c=a.1cJ;1f{25u:1b(){1f a.1V3.1FM||a.1V3.1bR?a.20m.1yW*c.1i7*b.2dz:c.1i7*b.2dz}}};Tb.5RK=1b(a){1d b={},c=a.1na;a=c.1pO;(a&Pc.1vG)==Pc.1vG&&(b.1tj=1b(){1f c.1zr},b.1ti=1b(){1f c.2oS});(a&Pc.2gN)==Pc.2gN&&(b.2kT=1b(){1f c.5Su});(a&Pc.2gM)==Pc.2gM&&(0<c.1Bz.1h&&(b.1LA=1b(){1f c.1QD[0]},b.1Lz=1b(){1f c.1Bz[0]}),1<c.1Bz.1h&&(b.1T1=1b(){1f c.1QD[1]},b.1T0=1b(){1f c.1Bz[1]}),2<c.1Bz.1h&&(b.2Hl=1b(){1f c.1QD[2]},b.2Hk=1b(){1f c.1Bz[2]}),3<c.1Bz.1h&&(b.2Hj=1b(){1f c.1QD[3]},b.2Hi=1b(){1f c.1Bz[3]}),4<c.1Bz.1h&&(b.2Hh=1b(){1f c.1QD[4]},b.2Hg=1b(){1f c.1Bz[4]}),5<c.1Bz.1h&&(b.2Hn=1b(){1f c.1QD[5]},b.2Hm=1b(){1f c.1Bz[5]}),6<c.1Bz.1h&&(b.7RZ=1b(){1f c.1QD[6]},b.7RY=1b(){1f c.1Bz[6]}),7<c.1Bz.1h&&(b.7RX=1b(){1f c.1QD[7]},b.7RW=1b(){1f c.1Bz[7]}));1f b};Tb.5RL=1b(a){1f{3hX:1b(){1f a.3Zn}}};1d Wt=1L.3F({4Au:0,5Sg:1,4zH:2,4zI:3}),ni=1L.3F({1v9:49,5Sr:1});1L.2X(en.1i,{2p:{1n:1b(){1f!0},1C:1b(a){}},1A:{1n:1b(){g(1a.7a)||(1a.7a=1g y);1f 1a.7a},1C:1b(a){1a.7a=a}},2eJ:{1n:1b(){1f 1a.2Kc},1C:1b(a){1a.2Kc=a}},id:{1n:1b(){1f 1a.7R},1C:1b(a){1a.7R=a}},4R:{1n:1b(){1f 1a.1oI},1C:1b(a){1a.1oI=a}},1xo:{1n:1b(){1f 1a.1lc},1C:1b(a){1a.1lc=a}}});en.1i.1qP=1b(a){1f 1a.1ae.1ac.1qP(1a.1oI,a)};en.1i.2Ns=1b(a){1f 1a.1ae.1ac.2Ns(1a.1oI,a)};en.1i.1vb=1b(a){1f 1a[a]};en.1i.2xB=1b(a,b){1a.1ae.1ac.2xB(1a.1oI,a,b);1a.1ae.1K0=!0};en.1i.5St=1b(a,b){1a.4FZ.1q({3pW:a,36y:b})};en.1i.5QV=1b(){1f 1a.4FZ};en.1i.5QW=1b(){1d a=1a.7a.1fY();1f 1a.2Kc+"10D"+a};Qa.1i.6l=1b(){1a.9s||(1a.5Ss(),1a.5Sq(),1a.11m===La.198?1a.4Fz():1a.11m===La.1GQ&&1a.5Sp(),g(1a.2gK)&&dn.2fA({2eJ:1a.2gK}),1a.5R9(),1a.9s=!0)};Qa.1i.5Ss=1b(){1d a=1a.2Ba;if(g(a)&&ni.5Sr===1a.1nw){1a.1vB=1g Ia;1j(1d b in a)!a.3p(b)||-1===1a.1na.2gk&&"0"===b||1a.1vB.1C(b,a[b])}};Qa.1i.5Sq=1b(){1d a=1a.1na;if(g(a)&&-1!==a.2gk&&g(a.35V)){1d b=a.35V,c=1g k(b[0],b[1],b[2]);b=1g k(b[3],b[4],b[5]);b=k.11x(c,b,.5,1g k);c=k.3s(b,c);1d d=1g k;A.8P(1a.1dI,b,d);1a.11S.2V=d;1a.11S.3L=c>1a.11S.3L?c:1a.11S.3L;a.35V=1p 0}};Qa.1i.5Sp=1b(){1d a=1a.2Nr.x,b=1a.2Nr.y,c=1a.2Nr.y+1a.2Nr.1D,d=1g k(1a.2Nr.x+1a.2Nr.1G,b,0);c=1g k(a,c,0);1a.3Zl=1g k(a,b,0);1a.3Zm=1g k;1a.3Zk=1g k;k.3V(d,1a.3Zl,1a.3Zm);k.3V(c,1a.3Zl,1a.3Zk)};Qa.1i.4Fz=1b(){1d a=1a.1vB.2a,b=1a.1na.19h[0].5b;b=1g 4A(b.3J,b.8o,b.10S/4);1d c=1a.1na.19h[1].5b,d=1g 4A(c.3J,c.8o,c.10S/4);c=3a.6w;1j(1d e=3a.1Mg,f=3a.6w,h=3a.1Mg,g=1g k,p=[],n=0;n<1a.1na.1f0;n++)k.7j(d,3*n,g),p.1q(k.1y(g));d=[];g=[];n=0;1j(1d m=a.1h;n<m;n++){1d w=a[n];1d x=w.3Z7;w=w.3sz;1j(1d q=x;q<x+w;q++){1d t=p[q];c=1k.2o(t.x,c);e=1k.1V(t.x,e);f=1k.2o(t.y,f);h=1k.1V(t.y,h)}w=1g Q(c,f,e,h);d.1q(w);x=1g k(b[3*x],b[3*x+1],b[3*x+2]);g.1q(x)}1a.4FY=d;1a.5So=g};Qa.1i.5Sm=1b(a,b){1d c=1a.1dI,d=b.1Ue;b=b.3Zj;1j(1d e=1L.9K(1a.2Ba),f=0,h=1a.4FY.1h;f<h;f++){1d g=1a.4FY[f],p=g.5a-g.4o;g=g.4P-g.4C;1d n=A.8P(c,1a.5So[f],1g k),m=1g C;Da.5Sn(d,b,n,m);p=1g Q(m.x,m.y,m.x+p,m.y-g);g=e[f];a.3qg.8h(g)||a.3qg.1C(g,p)}};1d Mh=1g E;Qa.1i.2H=1b(a,b,c,d){1a.6l();1a.4AZ(b,d);1a.3sF&&(d.11m===La.1MM&&g(d.21O)?g(1a.28K)?1a.3qE(b,c,d):g(1a.3qt)&&d.21O[1a.3qt]&&1a.3qE(b,c,d):1a.3qE(b,c,d));if(d.11m===La.1MM&&g(1a.6g))if(d.1V3.3lK==rF.3sE)1a.6g.4w=pa.4t({9J:{3e:!1}});1s if(d.1V3.1FM||d.1V3.1bR)1a.6g.4w=pa.4t({9J:{3e:!0}});d.11m===La.198&&1a.5Sm(d,a.13m);1a.8L.2g3&&1a.5R8(b);g(1a.6g)&&1a.2Nn&&0<1L.9K(1a.2Ba).1h&&R9(b,a,1a,d)};Qa.1i.4AZ=1b(a,b){if(!1a.3sF){1j(1d c=b.4j,d=1a.3Zi;d.1h;){1d e=d.1PE();4FU.1C(c,1a,e);if(!a.1Ul.5P(4FU,eh.2pr))1W;d.1xg()}g(1a.3sA)||b.1cJ.15b===xg.1nh||1!==1a.1sd.1h||(1a.3sA=1a.5S7(c));d=1a.1na.1f0;1j(e=1a.3Zh;e.1h;){1d f=e.1PE();4FT.1C(c,1a,f,d);if(!a.1Ul.5P(4FT,eh.2pr))1W;e.1xg()}0===1a.3Zi.1h&&0===1a.3Zh.1h&&(1a.3sF=!0,1a.3sG=1p 0)}1a.3sF&&(1a.5Sd(a,b),1a.5RA(b),1a.5Rz(b),1a.5S6(b),1a.5Ra(b))};Qa.1i.5Sh=1b(a,b,c){a=1a.6g;g(1a.4FI)&&1a.4FI?(c.11m===La.1GQ||c.11m===La.2g4?(a.6t=ma.1Bb+1,1a.15e.6t=ma.1Bb+1,1a.2Nm.6t=ma.1Bb+1,1a.2Nl.6t=ma.1Bb+1):c.11m===La.20W&&(a.6t=ma.1e0,1a.15e.6t=ma.1e0,1a.2Nm.6t=ma.1e0,1a.2Nl.6t=ma.1e0),b.1q(1a.15e),b.1q(a),b.1q(1a.2Nm),b.1q(1a.2Nl)):(c.11m===La.1GQ||c.11m===La.2g4?(a.6t=ma.1Bb+1,1a.15e.6t=ma.1Bb+1):c.11m===La.20W&&(a.6t=ma.1e0,1a.15e.6t=ma.1e0),b.1q(1a.15e),b.1q(a))};Qa.1i.5Si=1b(a){1f a.1gb.1sH.2O<a.4Ab&&a.1V3.3lK!==rF.3sE&&a.2mR};Qa.1i.5Sl=1b(a,b){g(1a.1Vu)&&(a.2yR()?g(1a.4FH)&&1a.4FH&&b.1q(1a.1Vu):b.1q(1a.1Vu))};Qa.1i.5Sk=1b(a,b){a.3nP&&g(1a.2Bb)&&1a.4FJ&&b.1q(1a.2Bb)};Qa.1i.5Sj=1b(a,b){1a.3sy&&g(1a.36Z)&&(b.1q(1a.3Z5),b.1q(1a.36Z))};Qa.1i.5Sf=1b(a,b,c){b==Ud.1pe?1a.5Sl(a,c):b==Ud.33n?1a.5Sk(a,c):b==Ud.2n8?1a.5Sj(a,c):b==Ud.3Zg?1a.5R3(a,c):b==Ud.1h5&&1a.5R2(a,c)};Qa.1i.3qE=1b(a,b,c){if(a.10s.11P&&g(1a.15e))b.1q(1a.15e),1a.1MF&&b.1q(1a.1MF);1s if(!a.10s.4e||c.11m!==La.35p&&c.11m!==La.198){1d d=a.19c.1mc;if(!g(d)||d!==Ud.1pe&&d!==Ud.33n&&d!==Ud.2n8&&d!==Ud.3Zg&&d!==Ud.1h5){if(c.1gb.15b!==xg.34Z||c.2KV()||c.11m===La.1GQ){d=1a.6g;1d e=ma.1Bc,f=1a.1uV,h=!1;if(c.5I8)1j(1d l in f){if(f[l].1GL){h=!0;1W}}1s 1j(l in f)if(f[l].1GL){e+=1;1W}if(1a.5Si(c)||h)e=c.2mR?ma.1bl:e;c.11m===La.35p||c.11m===La.198?e=ma.37a:c.1V3.3lK==rF.3sE&&(e=ma.2Ke);g(1a.15e)?1a.5Sh(a,b,c):(1a.4FR!==ma.1eW&&(d.6t=c.3nN?e:ma.3sD),c.11m===La.1is?(g(1a.1hr)&&(d.2nH={6b:1a.1hr,1sA:1a.3Zf,1Mv:1a.3Ze}),g(d)&&1a.2Nn&&0<1L.9K(1a.2Ba).1h&&R9(a,a.1O,1a,c),d&&a.2xW.1q(d)):(d.4w=c.1V4,d&&b.1q(d)))}if(c.1gb.15b!==xg.1nh&&0<1a.2gL.1h&&(c.27F===Wt.4Au||c.27F===Wt.5Sg||c.27F===Wt.4zI))1j(l=0;l<1a.2gL.1h;l++)b.1q(1a.2gL[l]);1a.27L||c.11m===La.1is&&1a.20V(a);1a.27L=!0}1s 1a.5Sf(c,d,b)}};1d 5Se=1g y;Qa.1i.5Sc=1b(a){1a.4FK=TC(a,1a);g(a.1Ql)&&(1a.4FX=a.4zJ({6W:1a.11S,3s:a.1D+a.1cJ.28L+a.1Ql[0].4FW}));a.3qn&&1a.353(a,!a.3qn);if(a.28k){1d b=a.28k;if(g(b.1A)){1d c=1a.2Ba,d=[];1j(f in c)if(c.3p(f)&&"0"!==f){1d e=1g en(1a,f);1L.1AU(e,a.15V.16N[f]);e.id=f;e.4R=c[f].4R;e.1xo=c[f].1xo;d.1q(e)}1j(c=0;c<d.1h;c++){1d f=d[c];e=b.1A.1FL(f,5Se);e=m(e,y.28g);1a.3Z8.1C(f.id,{4R:f.4R,1xo:f.1xo,1A:y.1y(e),6s:!0});1a.2pp.1C(f.id,{4R:f.4R,1xo:f.1xo,1zy:1g E(1,0,0,0),6s:!0})}}}0<a.1JO.1h&&1a.1V1(a.1JO);0<a.1GP.1h&&1a.2A7(a.1GP)};Qa.1i.7RV=1b(a){1a.4FK=TC(a,1a);g(a.1Ql)&&(1a.4FX=a.4zJ({6W:1a.11S,3s:a.1D+a.1cJ.28L+a.1Ql[0].4FW}));a.3qn&&1a.353(!a.3qn);if(a.20v===kj.1f1){1d b=a.1V2,c=a.1JO,d=a.4FV,e=1g Ia,f=Ia.1y(d);1j(l in c.15W)if(c.15W.3p(l)){1d h=c.15W[l];y.2L(y.9r,h)?f.1C(l,h):e.1C(l,h)}1j(l in b.15W)b.15W.3p(l)&&(h=b.15W[l],y.2L(y.9r,h)?f.1C(l,h):e.1C(l,h));1j(l in e.15W)e.15W.3p(l)&&d.8h(l)&&(b=e.1n(l),h=d.1n(l),h=y.9b(b,h,1g y),e.1C(l,h),f.3S(l));0<f.1h&&1a.1V1(f,kj.1ZI,!0);0<e.1h&&1a.1V1(e,kj.1f1,!0)}1s if(a.20v===kj.1ZI){1d l=a.1V2;h=a.1JO;f=a.4FV;e=1g Ia;Ia.1y(h,e);1j(d in f.15W)f.15W.3p(d)&&(b=f.1n(d),h=m(e.1n(d),1g y),h=y.9b(h,b,1g y),e.1C(d,h));1j(d in l.15W)l.15W.3p(d)&&(f=l.15W[d],h=m(e.1n(d),1g y),f=y.9b(f,h,1g y),e.1C(d,f));0<e.1h&&1a.1V1(e,a.20v,!0)}1s{1a.1V1(a.1V2,a.20v,!0);d=a.1V2;h=a.1JO;l=a.4FV;f=1g Ia;Ia.1y(h,f);1j(e in l.15W)l.15W.3p(e)&&(h=l.1n(e),b=m(f.1n(e),1g y),h=y.9b(b,h,1g y),f.1C(e,h));0<f.1h&&1a.1V1(f,kj.1ZI,!0);0<d.1h&&1a.1V1(d,a.20v,!0)}0<a.2M7.1h&&1a.7RU(a.2M7,a.2M7.2a[0]);g(a.2g2)&&0<a.2g2.1h&&1a.3q7(a.2g2);0<a.1GP.1h&&1a.2A7(a.1GP,1k.1V(1k.abs(a.2A6.x),1k.abs(a.2A6.y),1k.abs(a.2A6.z)))};Qa.1i.5Sd=1b(a,b){g(1a.6g)||(g(b.1Ql)?1a.5Sa(b):1a.1EX(a,b),b.11m!==La.1GQ&&b.11m!==La.20W&&b.11m!==La.2g4&&b.11m!==La.2Ab||1a.5RB(b),1a.5Sc(b))};1d 4FU=1g JM,4FT=1g KM;Qa.1i.5S8=1b(a,b){1d c=1a,d={1lW:1b(){1f c.4FO}};d=fb(d,Tb.5Sb(1a,b));d=fb(d,Tb.3Zc(b));d=fb(d,Tb.3Zb(b.1cJ,!1));d=fb(d,Tb.4FL(b));d=fb(d,Tb.3Za(b));d=fb(d,Tb.3Z9(b));d=fb(d,Tb.4FM(b));a.4J=d};Qa.1i.5Sa=1b(a){1d b=a.4j,c=1a.1na,d=c.19h;1a.1N3=c.1gC;1a.3sv=c.1MQ;1a.12m=c.1oh;1d e=ma.1Bc;c=pa.4t({8d:{3e:!0},9J:{3e:!0},12e:Dc.1bQ});1d f=1a.1sd[0];if(g(f)){1d h=Ja.11G;6U(f.6Z){1S 1:h=Ja.1wF;1W;1S 2:h=Ja.1ao;1W;1S 4:h=Ja.11G}e=1g Oa({6Z:h,4a:1a.1dI,6W:1a.11S,6t:e,7Z:f.1Jn,8d:!0});e.1cI="11w";e.4c=1g Fb({1O:b,2w:d,10X:f.10X});e.2z=SC.5S9(b,a,1a.12m);1a.5S8(e,a);e.4w=c;e.1hR=!1;e.1fC=!1;e.4FF=!1;1a.6g=e}1a.1na=1F;1a.1sd.1h=0};Qa.1i.5S7=1b(a){1d b=1a.1sd[0];if(g(b)&&g(b.1m2))1f b=0===b.1IY?1g 10Y(b.1m2.3J,b.1m2.8o,b.1Jn):1g 12X(b.1m2),b={4N:b,6Z:Ja.11G},Sc.3oN(b),Ra.17Q({1O:a,5b:b.4N,7Q:xa.7C,17P:Ta.10P})};Qa.1i.5RH=1b(a){1j(1d b=1a.2pq.1dM,c=b.19h.1h,d=0;d<c;d++){1d e=b.19h[d];e.7e=Ra.12S({1O:a,5b:e.5b,7Q:xa.7C});e.5b=1F;4Y e.5b}b=1a.2pq.2po;c=Ta.10P;1===b.1IY&&(c=Ta.1bt);b.10X=Ra.17Q({1O:a,5b:b.1m2,7Q:xa.7C,17P:c});b.1m2=1F};Qa.1i.5RJ=1b(a,b){a=Oa.15v(a);a.4w=b;1a.15e=a};Qa.1i.5S6=1b(a){1d b=1a.6g;if(a.3q5()&&!g(1a.36Z)){1a.3sy=1a.4FG(a);1d c=Oa.15v(b);c.4w=a.5HB;1a.36Z=c;b=Oa.15v(b);b.4w=a.4A0;1a.3Z5=b}};1d 5S5=1g Q;Qa.1i.2Np=1b(a,b){1d c=Q.17d(b,a.7T,5S5);g(c)&&(a.27L=!1);g(a.1UE)&&1a.2Np(a.1UE,b);g(a.1UD)&&1a.2Np(a.1UD,b);g(a.1UC)&&1a.2Np(a.1UC,b);g(a.1UB)&&1a.2Np(a.1UB,b)};Qa.1i.2Nq=1b(a,b,c,d){1d e=!1;if(a.1hr>=b){1d f=1k.3r(2,a.1hr-b),h=1k.2t(a.y/f);f=1k.2t(a.x/f);h===c&&f===d&&(e=!0)}1s f=1k.3r(2,b-a.1hr),h=1k.2t(c/f),f=1k.2t(d/f),h===a.y&&f===a.x&&(e=!0);e&&(a.27L=!1,g(a.1UE)&&1a.2Nq(a.1UE,b,c,d),g(a.1UD)&&1a.2Nq(a.1UD,b,c,d),g(a.1UC)&&1a.2Nq(a.1UC,b,c,d),g(a.1UB)&&1a.2Nq(a.1UB,b,c,d))};Qa.1i.20V=1b(a,b){g(1a.1hr)&&!g(b)?(1a.2Nq(a.1qL.1qF[0],1a.1hr,1a.3Zf,1a.3Ze),1a.2Nq(a.1qL.1qF[1],1a.1hr,1a.3Zf,1a.3Ze)):(b=1g Q(1a.11S.2V.x-1a.11S.3L,1a.11S.2V.y-1a.11S.3L,1a.11S.2V.x+1a.11S.3L,1a.11S.2V.y+1a.11S.3L),b.4o=B.8I(b.4o),b.4P=B.8I(b.4P),b.5a=B.8I(b.5a),b.4C=B.8I(b.4C),1a.2Np(a.1qL.1qF[0],b),1a.2Np(a.1qL.1qF[1],b))};Qa.1i.1EX=1b(a,b){1d c=b.4j,d=1a.1na,e=d.19h;1a.1N3=d.1gC;1a.3sv=d.1MQ;1a.12m=d.1oh;1d f=ma.1Bc,h=1a.4FS?b.5HA:b.1V4,l=b.11m,k=1a.1sd[0],n=fe.2lJ,m=d.1f0,w=Ja.1wF;if(g(k)){n=1a.1uV[k.1FJ];!0===n.1GL&&(f=ma.1Bc+1);m=k.1Jn;1d x=k.10X;6U(k.6Z){1S 1:w=Ja.1wF;1W;1S 2:w=Ja.1ao;1W;1S 4:w=Ja.11G}}1s if(g(1a.28K)){1d q=0;1j(v in 1a.28K)if(1a.28K.3p(v)&&(k=b.4Ay[v],b.21O[k])){1d t=1a.28K[v].4I;k=1a.28K[v].9o;q+=k-t+1}if(0<q){x=Ta.9g(d.1f0,q);q=0;1j(v in 1a.28K)if(1a.28K.3p(v)&&(k=b.4Ay[v],b.21O[k]))1j(t=1a.28K[v].4I,k=1a.28K[v].9o;t<=k;)x[q++]=t++;x=Ra.17Q({1O:c,5b:x,7Q:xa.7C,17P:d.1f0>=B.1uW&&c.1Pf?Ta.1bt:Ta.10P})}1s m=1}1a.4FR=f=!c.8X||a.3sC||1a.11m!==La.2Mh||a.1O.2yp.2Kz?f:ma.1eW;f=1g Oa({6Z:w,4a:1a.1dI,6W:P.1y(1a.11S),6t:f,7Z:g(x)?1p 0:m,8d:!0});b.11m===La.1is&&(f.33I=b.id);f.1cI="11w";l===La.1MM&&(f.1cI="1yi");f.1gC=1a.1N3;f.4c=1g Fb({1O:c,2w:e,10X:x});m={};m.1O=c;m.1Br=l;m.7r=b;m.1MQ=1a.3sv;m.2oM=1a.1ad;m.1Vb=1a.2oK;m.2Bc=n;m.7W=1a.12m;m.4FP=e[0].2Z;m.1dM=d;m.1Xr=g(1a.12m.13N)&&!b.2Ag;m.3Zd=g(1a.12m.7s);m.2No=g(1a.12m.13x);m.4FQ=g(1a.2gK);m.5S4=g(1a.4FN);m.5S3=g(1a.12m.11X);m.5S2=1a.3sB;f.2z=SC.5S1(a,m);1d r=1g C(0,0),u=1a;d={};if(TC(b,1a)){if(b.11m===La.1GQ||b.11m===La.20W||b.11m===La.2g4||b.11m===La.2Ab)f.1cI=1p 0;d=Tb.5S0(1a,b,n);d=fb(d,Tb.3Zc(b));d=fb(d,Tb.3Za(b));d=fb(d,Tb.3Z9(b));d=fb(d,Tb.3Zb(b.1cJ))}1s{1d v=4===m.4FP;d={1lW:1b(){1f u.4FO},3i4:1b(){1f u.4FN},2kS:1b(){1f b.2A6},24C:1b(){1f b.5Y.18w.4qj.1yT.1bA.167(0)},25F:1b(){1f g(b.21M)?b.21M:b.4j.1np},2jq:1b(){1d a=1bR.14H()/1E3;r.x=b.2Mb.x*a;r.y=b.2Mb.y*a;1f r},25D:1b(){1f b.2Md.5KW},3i2:1b(){1f u.2MP}};d=fb(d,Tb.3Zc(b));d=fb(d,Tb.5RZ(1a,b,n));n=!1;if(1===w||l===La.1is&&m.2No)n=!0;d=fb(d,Tb.3Zb(b.1cJ,n));d=fb(d,Tb.5RY(b));d=fb(d,Tb.5RX(b));d=fb(d,Tb.5RW(b));d=fb(d,Tb.4FM(b));d=fb(d,Tb.5RV(b));d=fb(d,Tb.4FL(b));d=fb(d,Tb.5RU(b,v));d=fb(d,Tb.5RT(b));d=fb(d,Tb.5RS(b));d=fb(d,Tb.3Za(b));d=fb(d,Tb.3Z9(b));d=fb(d,Tb.5RR(b));d=fb(d,Tb.5RQ(b));d=fb(d,Tb.5RP(1a,b));l===La.2Mh||l===La.1is&&m.2No?d=fb(d,Tb.5RO(b)):l===La.35n?d=fb(d,Tb.5RN(b)):l===La.1MM&&(d=fb(d,Tb.5RM(b,c.13m)));l!==La.1is||m.2No||(d=fb(d,Tb.5RL(1a)))}d=fb(d,Tb.5RK(1a));d=fb(d,a.1hp.20K());d.7RT=1b(){1f b.3Vx};f.4w=h;f.4J=d;TC(b,1a)&&1a.5RJ(f,b.4A0);a=S9(b);f.1hR=a;f.1fC=a;f.4FF=!0;if(l==La.35p||l===La.198)f.8d=!1;1a.6g=f;b.1cJ.15b!==xg.1nh&&(b.3UX()?1a.5RI(b):1a.5RF(b,e));1a.1sd=1a.1na=1F};Qa.1i.5RI=1b(a){if(g(1a.2pq)){1d b=a.4j;1a.5RH(b);1d c=1g Oa({6Z:Ja.11G,4a:1a.1dI,6W:1a.11S,6t:ma.18W+1,7H:1a,8d:!0}),d=1a.2pq.1dM;c.4c=1g Fb({1O:b,2w:d.19h,10X:1a.2pq.2po.10X});1d e="5RG"+a.id,f=1g ja({2i:"5RG"+a.id,5p:["\\1B 1o 1h8;\\2J 1m 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\1J 1o 2vT;\\2s 25f(\\n    1w p0,\\n    1w p1,\\n    9H 1m 6K,\\n    9H 7d 12P,\\n    9H 7d 13D)\\n{\\n    13D = 16f;\\n    12P = 16f;\\n    1w 1iS = p1 - p0;\\n    1o 7t = 1h(1iS);\\n    1w 2G = 1T(1iS);\\n    1o 1iR =  -(18z.x + p0.z);\\n    1o 1aX = -2G.z;\\n    if (1iR < 0.0 && abs(1aX) < 1bg)\\n    {\\n        13D = 8O;\\n    }\\n    1s if (1iR < 0.0 && abs(1aX) > 1bg)\\n    {\\n        1o t = (18z.x + p0.z) / 1aX;\\n        if (t < 0.0 || t > 7t)\\n        {\\n            13D = 8O;\\n        }\\n        1s\\n        {\\n            p0 = p0 + t * 2G;\\n            12P = 8O;\\n        }\\n    }\\n    6K = 18a(1m(p0, 1.0));\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er)\\n{\\n\\7c 16F, p0, p1;\\n\\1OR 13D, 12P;\\n\\7c 4p = 1K;\\n\\7c 17C = 18d;\\n\\7c 18F = 6k;\\n\\7c 1lT = 18a(4p);\\n\\1Dg(17C.1H, 4p.1H, p0, 12P, 13D);\\n\\1Dg(18F.1H, 4p.1H, p1, 12P, 13D);\\n\\1Dg(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\n\\9u (13D)\\n\\t{\\n\\t\\11r 1m(0.0, 0.0, 0.0, 1.0);\\n\\t}\\n\\10O 14U = 1T(p0.xy - 16F.xy);\\n\\10O 12k = 1T(p1.xy - 16F.xy);\\n\\4s 1kf = 1G * 0.5;\\n\\10O 2G;\\n\\9u (1dX(18d.1H - 1K.1H, 1w(0.0), 1jt) || 1dX(14U, -12k, 1jt))\\n\\t{\\n\\t\\1s4 = 1v(-12k.y, 12k.x);\\n\\t}\\n\\1aC if (1dX(6k.1H - 1K.1H, 1w(0.0), 1jt) || 12P)\\n\\t{\\n\\t\\1s4 = 1v(14U.y, -14U.x);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\10O 2U = 1v(-12k.y, 12k.x);\\n\\t\\1s4 = 1T((12k + 14U) * 0.5);\\n\\t\\1s4 = 1Of(2G, 2U, -2G);\\n\\t}\\n\\10O 2M = 2G * 1jz * 1kf * 1Xu;\\n\\11r 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\2s 2k()\\n{\\n\\10O 15t = 13x.xy;\\n\\4s 1kU = 12q(15t.x);\\n    1o 1G = abs(15t.y) + 0.5;\\n    1G *= 1h8;\\n\\1OR 1mO = 15t.y < 0.0;\\n\\7c p = 9q * 4f;\\n    2vT = 1h(p);\\n\\7c 15E = 9q * 1m(13N, 1.0);\\n\\7c 6k = 9q * 7s;\\n\\7c 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO);\\n\\1tg = 1t5 * 6K;\\n#1z 10B\\n    1Se(11o * 4f);\\n#1u\\n}"]});e=1g ja({2i:e,5p:["2n 1m 1uM;\\n    3G 1o 2vT;\\4i 1o 3KH = 500.0;\\4i 1o 3KG = 5gP.0;\\2s 2k()\\n{\\n    2C = 1uM;\\n    1o t = 1.0 - 13f(3KH, 3KG, 2vT);\\n    2C.a = t;\\n}"]});c.2z=Ga.4t({1O:b,5O:f,5A:e,7W:d.1oh});c.4w=pa.4t({9J:{3e:!0},12e:Dc.1bQ});c.4J={};c.4J.1uM=1b(){1f a.1cJ.19g};c.4J.1h8=1b(){1f 1k.1V(a.1cJ.11a,1.5)};1a.2pq.1dM=1F;1a.2pq=1a.2pq.2po=1F;1a.2gL[0]=c}};Qa.1i.5RD=1b(a,b){1d c=a.4j,d=1g Oa({6Z:Ja.1ao,4a:1a.1dI,6W:1a.11S,6t:ma.18W+1,7H:1a,8d:!0});d.4c=1g Fb({1O:c,2w:b,10X:1a.3sA});1a.3sA=1F;b=1a.6g.2z.5O.1y();1d e=1a.6g.2z.5A.1y();d.2z=Ga.4t({1O:c,5O:b,5A:e,7W:1a.12m});d.4w=1a.6g.4w;d.4J=fb(1a.6g.4J,{15a:1b(){1f a.1cJ.19g}});1a.2gL[0]=d};Qa.1i.5RE=1b(a,b,c){1d d=a.4j,e=1g Oa({6Z:2===c.6Z?Ja.1ao:Ja.22n,4a:1a.1dI,6W:1a.11S,6t:d.1py||!d.8X||d.2yp.2Kz?ma.18W:ma.1eW,7H:1a,8d:!0});e.4c=1g Fb({1O:d,2w:b,10X:c.10X});b=1a.6g.2z.5O.1y();c=1a.6g.2z.5A.1y();1d f=b.2N.3f(ra.1yn);0<f&&b.2N.6z(f,1);f=c.2N.3f(ra.1yn);0<f&&c.2N.6z(f,1);e.2z=Ga.4t({1O:d,5O:b,5A:c,7W:1a.12m});e.4w=pa.4t({8d:{3e:!0},9J:{3e:!0},1bB:{3e:!0,8H:1,13u:1}});e.4J=fb({15a:1b(){1f a.1cJ.19g}},1a.6g.4J);1a.2gL.1q(e)};Qa.1i.5RF=1b(a,b){if(!1a.4FK&&a.11m!==La.1GQ)if(1<1a.1sd.1h)1j(1d c=1,d=1a.1sd.1h;c<d;c++)1a.5RE(a,b,1a.1sd[c]);1s 1a.5RD(a,b)};Qa.1i.1V1=1b(a){if(1a.9s&&g(1a.1vB)&&ni.1v9!==1a.1nw&&!(1>1a.1vB.1h)&&g(1a.6g)){1d b=1a.1vB.15W,c;1j(c in b)if(b.3p(c)&&a.8h(c)){1d d=b[c];1a.2Nn=!0;1d e=a.1n(c),f=d.4R;d=d.1xo;1a.3Z8.1C(c,{4R:f,1xo:d,1A:e,6s:!0});1d h=1a.2pp.1n(c);g(h)||(h={4R:f,1xo:d,1zy:1g E,6s:!0});h.6s=!0;h.1zy.x=e===y.28g?h.1zy.x&254:h.1zy.x|1;1a.2pp.1C(c,h)}}};Qa.1i.353=1b(a,b){if(1a.9s&&g(1a.1vB)&&ni.1v9!==1a.1nw&&!(1>1a.1vB.1h)&&g(1a.6g)){1d c=1a.1vB.15W,d;1j(d in c)if(c.3p(d)&&!a.2M7.8h(d)){1d e=c[d];1a.2Nn=!0;1d f=e.4R;e=e.1xo;1d h=1a.2pp.1n(d);g(h)||(h={4R:f,1xo:e,1zy:1g E,6s:!0});h.6s=!0;h.1zy.x=b?h.1zy.x&(df.1zj^df.3qb):h.1zy.x|df.3qb;1a.2pp.1C(d,h);h.1zy.x===df.2A8?a.1GP.3S(d):a.1GP.1C(d,h.1zy.x)}}};Qa.1i.3V0=1b(){1a.9s&&g(1a.28J)&&g(1a.6g)&&1a.6g.4c.15o(1a.12m.13x).7e.1jR(1a.28J)};Qa.1i.3V1=1b(a){if(1a.9s&&g(1a.28J)&&!(1>1a.1vB.1h)&&g(1a.6g)){1d b=1a.1vB.15W,c;1j(c in b)if(b.3p(c)&&-1!=a.3f(8A(c))){1d d=b[c];1d e=1a.6g.4c.15o(1a.12m.13x);1d f=d.3Z7*e.2Z;1d h=f*I.1jh(e.3k);d=1a.28J.4h(f,d.3sz*e.2Z);e.7e.1jR(d,h)}}};Qa.1i.3q7=1b(a){if(1a.9s&&g(1a.28J)&&!(1>1a.1vB.1h)&&g(1a.6g)){1d b=1a.1vB.15W,c;1j(c in b)if(b.3p(c)&&a.8h(c)){1d d=b[c],e=a.1n(c);1d f=1a.6g.4c.15o(1a.12m.13x);1d h=d.3Z7*f.2Z;1d l=h*I.1jh(f.3k);1j(1d k=I.9g(f.3k,d.3sz*f.2Z),n=0;n<d.3sz;n++).3<1a.28J[2*n+1+h]&&.8>1a.28J[2*n+1+h]?(k[2*n]=e,k[2*n+1]=.5):.8<1a.28J[2*n+1+h]?(k[2*n]=e,k[2*n+1]=1):(k[2*n]=1a.28J[2*n+h],k[2*n+1]=0);f.7e.1jR(k,l)}}};Qa.1i.2A7=1b(a,b){if(1a.9s&&g(1a.1vB)&&ni.1v9!==1a.1nw&&!(1>1a.1vB.1h)&&g(1a.6g)){1d c=1a.1vB.15W,d=!1,e=TC(1a.8L,1a),f=!1,h=1a.8L.2yR(),l=!1,k;1j(k in c)if(c.3p(k)&&a.8h(k)){1d n=c[k];1a.2Nn=!0;1d m=1a.8L.35d,w=-1<m?k+"10D"+m:k,x=n.4R;n=n.1xo;1d q=a.1n(k),t=1a.2pp.1n(w);g(t)||(t={4R:x,1xo:n,3nO:m,1zy:1g E,6s:!0});t.6s=!0;t.1zy.x=t.1zy.x&1|q;1a.2pp.1C(w,t);0<(t.1zy.x&df.2uW)&&(d=!0);e&&t.1zy.x&0<df.1pf&&(f=!0);h&&0<(t.1zy.x&df.1pf)&&(l=!0);g(b)&&g(b.13a)&&b.13a.3WX(1k.1V(1k.abs(1a.8L.1Qk.x),1k.abs(1a.8L.1Qk.y),1k.abs(1a.8L.1Qk.z)))}1a.4FJ=d;1a.4FI=f;1a.4FH=l}};1d 5RC=1g Cb(1g k(1,0,0),0);Qa.1i.4FG=1b(a){1f a.3q5()?1a.11S.1tE(Cb.1vu(a.1iA[0],5RC))===Lb.1wT:!1};Qa.1i.2nA=1b(a,b){1d c=a.4j,d=1a.6g;if(g(d)){1d e=d.2z.5A.1y(),f=d.2z.5O.1y();if(b)1a.3sy=1a.4FG(a),-1===e.2N.3f(ra.1es)&&e.2N.1q(ra.1es),a.1Us&&-1===e.2N.3f(ra.1Xs)&&e.2N.1q(ra.1Xs);1s{e.2N.1h=0;1j(1d h in d.2z.5A.2N)d.2z.5A.2N.3p(h)&&"1es"!=d.2z.5A.2N[h]&&"1Xs"!=d.2z.5A.2N[h]&&e.2N.1q(d.2z.5A.2N[h]);1a.3sy=!1}d.2z=Ga.4t({1O:c,5O:f,5A:e,7W:1a.12m})}};Qa.1i.3UY=1b(a){1d b=S9(1a),c=1a.6g;g(c)&&(c.1hR=b,c.1fC=b,c.4FF=!g(a.1Ql))};Qa.1i.5RB=1b(a){1d b=a.4j,c=1g ja({2i:"5fV",5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\1B 1o 4i3;\\1B 1o 1uJ;\\n\\1J 1m 4m;\\1J 1m 11w;\\1J 1m 8l;\\n#1z 2H7\\1J 1o 1hH;\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n    #1z 2H7\\n\\t    1bp = 2o(1hH * 4u.w, 1.0);\\n    #1u\\n#1u\\n#1z 1dt\\n    #1z 2H7\\n\\t    1bp = 2o(1hH * 4u.w, 1.0);\\n    #1u\\n#1u\\n\\9u(4m.a < 1uJ)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n\\14F *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n    2C = 11w;\\n}"]});a.1vo&&c.2N.1q("1es");c.2N.1q("2H7");1d d=1a.6g;if(g(d)){1d e=d.2z.5O.1y();d=Oa.15v(d,1p 0);d.4J.1uJ=1b(){1f a.35j};d.2z=Ga.4t({1O:b,5O:e,5A:c,7W:1a.12m});1a.1MF=d;1a.1MF.6t=ma.1e0;g(1a.15e)&&(c=1a.15e.2z.5O.1y(),e=1a.15e.2z.5A.1y(),c.2N.1q("1pf"),e.2N.1q("1pf"),1a.2Nm=Oa.15v(1a.15e),1a.2Nm.2z=Ga.4t({1O:b,5O:c,5A:e,7W:1a.12m}),1a.2Nl=Oa.15v(1a.6g),1a.2Nl.2z=Ga.4t({1O:b,5O:c,5A:e,7W:1a.12m}))}};Qa.1i.5RA=1b(a){1d b=a.4j,c=1a.6g;if((a.2KV()||a.2yR())&&g(c)&&!g(1a.1Vu)){1d d=c.2z.5O.1y(),e=c.2z.5A.1y();d.2N.1q(ra.1pe);e.2N.1q(ra.1pe);a.2yR()&&(d.2N.1q(ra.1l8),e.2N.1q(ra.1l8));a=Oa.15v(c,1p 0);a.2z=Ga.4t({1O:b,5O:d,5A:e,7W:1a.12m});1a.1Vu=a}};Qa.1i.5Rz=1b(a){1d b=a.4j,c=1a.6g;if(a.3nP&&g(c)&&!g(1a.2Bb)){a=c.2z.5O.1y();1d d=c.2z.5A.1y();a.2N.1q(ra.1OY);d.2N.1q(ra.1OY);c=Oa.15v(c,1p 0);c.2z=Ga.4t({1O:b,5O:a,5A:d,7W:1a.12m});c.6t=ma.1Bc;1a.2Bb=c}};Qa.1i.5Ry=1b(a){1a.1pL(a,!1,!0,ra.25J)};Qa.1i.5Rx=1b(a){1a.1pK(a,!1,!0,ra.25J)};Qa.1i.5Rw=1b(a){1a.1pL(a,!1,!0,ra.25I)};Qa.1i.5Rv=1b(a){1a.1pL(a,!0,!0,ra.1cB)};Qa.1i.5Ru=1b(a){1a.1pK(a,!0,!0,ra.1cB)};Qa.1i.5Rt=1b(a){1a.1pL(a,!0,!1,ra.25A)};Qa.1i.5Rs=1b(a){1a.1pL(a,!0,!0,ra.1eW)};Qa.1i.7RS=1b(a){1a.1pK(a,!0,!1,ra.1eW)};Qa.1i.5Rr=1b(a){1a.1pK(a,!0,!1,ra.25A)};Qa.1i.5Rq=1b(a){1a.1pL(a,!0,!0,ra.1l9);1a.1pL(a,!0,!0,ra.1kh)};Qa.1i.5Rp=1b(a){1a.1pK(a,!0,!1,ra.1l9);1a.1pK(a,!0,!0,ra.1kh)};Qa.1i.5Ro=1b(a){a.5F?1a.1pL(a,!0,!0,ra.1wc):1a.1pK(a,!0,!0,ra.1wc)};Qa.1i.7RR=1b(a){a.5F?1a.1pL(a,!0,!0,ra.3sx):1a.1pK(a,!0,!0,ra.3sx)};Qa.1i.3Vy=1b(a){a.5F?1a.1pL(a,!0,!0,ra.3Z6):1a.1pK(a,!0,!0,ra.3Z6)};Qa.1i.5Rn=1b(a){a.20v==kj.1f1?(1a.1pL(a,!0,!0,ra.1o5),1a.1pK(a,!0,!0,ra.1l8)):a.20v==kj.4zG||a.20v==kj.4zF?(1a.1pL(a,!0,!0,ra.1l8),1a.1pK(a,!0,!0,ra.1o5)):(1a.1pK(a,!0,!0,ra.1o5),1a.1pK(a,!0,!0,ra.1l8))};Qa.1i.5Rm=1b(a){a.3Vz===IM.1f1?1a.1pL(a,!0,!0,ra.25z):1a.1pK(a,!0,!0,ra.25z)};Qa.1i.5Rl=1b(a){a.5HQ?1a.1pL(a,!1,!0,ra.1bn):1a.1pK(a,!1,!0,ra.1bn)};Qa.1i.5Rk=1b(a){a.5HG?1a.1pL(a,!1,!0,ra.1bm):1a.1pK(a,!1,!0,ra.1bm)};Qa.1i.5Rj=1b(a){a.7r.1gb.15b!==xg.1nh&&a.7r.2KV()?(1a.1pL(a,!1,!0,ra.1yn),1a.373(1a.2Bb,a,!1,!0,ra.1yn)):(1a.1pK(a,!1,!0,ra.1yn),1a.4FE(1a.2Bb,a,!1,!0,ra.1yn))};Qa.1i.5Ri=1b(a){a.5HM===EA.6i?1a.1pK(a,!0,!0,ra.1Ly):1a.1pL(a,!0,!0,ra.1Ly)};Qa.1i.5Rh=1b(a){a.5F?(1a.1pL(a,!0,!0,ra.1l9),1a.1pL(a,!0,!0,ra.1II)):1a.1pK(a,!0,!0,ra.1II)};Qa.1i.5Rg=1b(a){a.5F?1a.1pL(a,!0,!0,ra.2Ha):1a.1pK(a,!0,!0,ra.2Ha)};Qa.1i.5Rf=1b(a){a.5F?1a.1pL(a,!0,!1,ra.2kR):1a.1pK(a,!0,!1,ra.2kR)};Qa.1i.5Re=1b(a){a.5F?1a.1pL(a,!1,!0,ra.2d8):1a.1pK(a,!1,!0,ra.2d8)};Qa.1i.1pL=1b(a,b,c,d){1a.373(1a.6g,a,b,c,d)};Qa.1i.373=1b(a,b,c,d,e){if(g(a)){b=b.7r.4j;1d f=a.2z.5A,h=a.2z.5O;c&&T9(h,e);d&&T9(f,e);a.2z.1M();a.2z=Ga.4t({1O:b,5O:h,5A:f,7W:1a.12m});g(1a.15e)&&(1a.15e.2z=a.2z)}};Qa.1i.1pK=1b(a,b,c,d){1a.4FE(1a.6g,a,b,c,d)};Qa.1i.4FE=1b(a,b,c,d,e){if(g(a)){b=b.7r.4j;1d f=a.2z.5A,h=a.2z.5O;c&&U9(h,e);d&&U9(f,e);a.2z.1M();a.2z=Ga.4t({1O:b,5O:h,5A:f,7W:1a.12m});g(1a.15e)&&(1a.15e.2z=a.2z)}};Qa.1i.33i=1b(a){1d b=a.7Z;6U(a.5GW){1S Qi.3sw:1a.373(1a.6g,a,!0,!0,ra.1gn+b);1W;1S Qi.1Dz:1a.373(1a.6g,a,!0,!0,ra.1dY+b);1W;1S Qi.379:1a.373(1a.6g,a,!0,!0,ra.19w+b)}};Qa.1i.5Rd=1b(a){1a.1pL(a,!0,!1,ra.1Z3)};Qa.1i.3Z=1b(){1f!1};Qa.1i.1M=1b(){1d a=1a.4j,b;1j(b in 1a.1uV)if(1a.1uV.3p(b)){1d c=1a.1uV[b];!c.3Z()&&c.1M()}1a.1uV=1p 0;if(0<1a.3sv)g(1a.6g)&&(a=1a.6g,a.4c=a.4c&&!a.4c.3Z()&&a.4c.1M(),a.2z=a.2z&&!a.2z.3Z()&&a.2z.1M(),a.4w=1p 0,1a.6g=a.4J=1p 0);1s{Ps(a,1a.6g);1a.6g=1p 0;1j(b=0;b<1a.2gL.1h;b++)Ps(a,1a.2gL[b]);1a.2gL.1h=0;Ps(a,1a.1MF);1a.15e=1a.1MF=1p 0;Ps(a,1a.2Nm);1a.2Nm=1p 0;Ps(a,1a.2Nl);1a.2Nl=1p 0;Ps(a,1a.1Vu);1a.1Vu=1p 0;Ps(a,1a.2Bb);1a.2Bb=1p 0;Ps(a,1a.2Nk);1a.2Nk=1p 0}1a.3Z5=1a.36Z=1p 0;g(1a.1vB)&&1a.1vB.7f();1a.1sd=1a.7RQ=1a.28J=1a.7RP=1a.1na=1p 0;g(1a.1ad)&&(1a.1ad=1p 0);g(1a.2oK)&&(1a.2oK=1p 0);g(1a.2gK)&&dn.5Rc(1a.2gK);1a.5Rb&&(1a.5Rb=1F);g(1a.6y)&&(1a.6y=1a.6y.1M());if(g(1a.1MP)){a=1a.1MP;b=0;1j(c=a.1h;b<c;++b)a[b].1UJ();1a.1MP.1h=0}1f la(1a)};Qa.1i.5Ra=1b(a){if(!g(1a.2Nk)&&"3ix"!==1a.6g.2z.5O.2i&&"3iy"!==1a.6g.2z.5A.2i&&a.4A9){1d b=a.4j,c=1g ja({2i:"5gb",5p:["2n 1o 1uJ; \\1B 1m 3id; \\1J 1m 11w; \\1J 1m 2d1; \\1J 1m 4m;\\166 3Kd(1m 7v, 1m 1wl)\\n{ \\n    1f (7v.x - 1wl.x > 0.1t2 && 7v.x - 1wl.z < -0.1t2\\n        && 7v.y - 1wl.y > 0.1t2 && 7v.y - 1wl.w < -0.1t2); \\n} \\2s 2k() \\n{\\n    1m 1bO = 2d1 / 2d1.w; \\n    1bO.xy = 1bO.xy * 0.5 + 0.5; \\n    if(!3Kd(1bO, 3id)) \\n    { \\n        7o; \\n    } \\n\\9u(4m.a < 1uJ)\\n\\t{\\n\\t\\17O;\\n\\t}\\n    2C = 11w; \\n}"]});c.2N.1q("7RO");1d d=1a.6g;if(g(d)){1d e=d.2z.5O.1y();d=Oa.15v(d,1p 0);d.4J.1uJ=1b(){1f a.35j};d.2z=Ga.4t({1O:b,5O:e,5A:c,7W:1a.12m});1a.2Nk=d}}};Qa.1i.5R9=1b(){if(!1a.4FD){1d a=1a.2Ba,b=1a.1na;if(g(a)&&1L.9K(a).1h===b.1f0&&"2d2"!==1a.8L.21P){1j(1d c in a)a.3p(c)&&"0"!==c&&(1a.3su.1q(c),1a.3Z4[c]=!1);a=1g k;1d d=b.19h[0];c=d.2Z;1d e=g(b.1pO)&&(b.1pO&Pc.1vG)===Pc.1vG,f=1;if(e){f=b.2oS;1d h=1g k(b.1zr.x,b.1zr.y,b.1zr.z);d=1g 10Y(d.5b.3J,d.5b.8o,d.5b.10S/2)}1s d=1g 4A(d.5b.3J,d.5b.8o,d.5b.10S/4);1j(1d l=1a.1dI,p=0;p<b.1f0;p++)k.7j(d,c*p,a),e&&(a=k.4g(a,f,a),a=k.add(a,h,a)),A.8P(l,a,a),1a.2B9.1q(k.1y(a));1a.3Z3=2K(1a.2B9.1h);1a.4FD=!0}}};Qa.1i.5R7=1b(){1d a=1a.8L.16k;if(0===a.1fG.1h)1f!0;1j(1d b=!0,c=0;c<1a.2B9.1h;c++)if(a.1N2.3p(1a.3su[c])){b=!1;1W}1f b};1d 4FA=1g C;Qa.1i.5R8=1b(a){1a.5R7()&&g(1a.21S)&&0<1L.9K(1a.21S).1h&&(1a.21S={});if(g(1a.8L.15V.12Y)&&0!==1a.3su.1h&&0!==1a.2B9.1h&&!(1a.2B9.1h<=1L.9K(1a.21S).1h)){1d b=1a.8L,c=b.16k;a=[];1d d=b.1qR,e=[],f=bb.28I;if(b.4A2){if(!g(b.1cJ)||!b.1cJ.5R6)1f;f=b.1cJ.19L;b.2g3&&(4FA.y=-b.1cJ.4d.1D/2,f=b.2ox.6N)}1j(1d h=0;h<1a.2B9.1h;h++){1d l=1a.3su[h];l=3a(l);if(1a.3Z4[l]){1d k=1a.2B9[h],n=1a.3Z3[h];if(c.5R5(l))1a.21S.3p(l)||(1a.21S[l]=!0);1s{1d m=d.add({1K:k,id:l,4d:b.1cJ.4d,4FC:b.1cJ,6N:f,2p:!0});e.1q(m.12N);k=c.add({1K:k,id:l,3l:n,4FB:b.2ox,14l:4FA,2p:!1});a.1q(k.12N)}}1s 5R4(b,l,1a,h)}b=0;1j(a=a.1h;b<a;b++)1a.21S[l]=!0}};Qa.1i.5R3=1b(a,b){"3ix"!==1a.6g.2z.5O.2i&&"3iy"!==1a.6g.2z.5A.2i&&g(1a.2Nk)&&b.1q(1a.2Nk)};Qa.1i.5R2=1b(a,b,c){if(a.2K4&&"3ix"!==1a.6g.2z.5O.2i&&"3iy"!==1a.6g.2z.5A.2i){if(!g(1a.2ol)){1d d=1a.6g;c=d.2z.5O.1y();c.2N.1q("1h5");1d e=1g ja({2i:"3JK",5p:["2n 1o 1uJ; \\n#1z 1h5\\1B 2v 1Dc;\\1B 2v 1Db;\\1B 2v 1Da;\\1B 1o 1D9; \\1J 1m 11w; \\1J 1m 4m;\\1J 1m 1uK; \\n#1u\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1Z1\\1J 1m 1uK; \\n#1u\\n#1z 1h5\\166 1Ix(1m 1bO)\\n{\\n    7d 1jD = 16f;\\n    1m 1A = 1Y(1Dc,1bO.xy);\\n    if(1A.r > 0.99 && 1A.g < 0.11t && 1A.b < 0.11t)\\n    {\\n        1o 1rY = 11N(1Y(1Db,1bO.xy));\\n        1rY = 1rn(1rY);\\n        1o 1rX = 11N(1Y(1Da,1bO.xy));\\n        1rX = 1rn(1rX);\\n        if(1bO.z - 1rY > -0.1KX  && 1rX - 1bO.z > -0.1KX)\\n        {\\n            1jD = 8O;\\n        }\\n    }\\n    1f 1D9 < 0.5 ? !1jD : 1jD;\\n}\\n#1u\\2s 2k() \\n{\\n#1z 1h5\\n    1m 1bO = 1uK / 1uK.w; \\n    1bO.1H = 1bO.1H * 0.5 + 0.5; \\n    if(!1Ix(1bO)) \\n    { \\n        7o; \\n    } \\n    if(4m.a < 1uJ)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 11w; \\n#1u\\n#1z 1Z1\\n    #1z 10B\\n        1nO();\\n        2C = 1lP(1bp);\\n    #1s\\n        2C = 1lP(4u.z);\\n    #1u\\n#1u\\n#1z 1FC\\n    2C = 1m(1.0,0.0,0.0,1.0);\\n#1u\\n}"]});e.2N.1q("1h5");d=Oa.15v(d);d.4J.1uJ=1b(){1f a.35j};d.4J.1Db=1b(){1f a.2fT[0]};d.4J.1Da=1b(){1f a.2fT[1]};d.4J.1Dc=1b(){1f a.2fT[2]};d.4J.1D9=1b(){1f a.34J};1d f=1g A,h=1a.1dI;d.4J.3hZ=1b(){1d b=1g A;A.9b(a.4zE,h,b);A.9b(a.4zD,b,f);1f f};d.2z=Ga.4t({1O:1a.4j,5O:c,5A:e,7W:1a.12m});1a.2ol=d}b.1q(1a.2ol)}};Rj.7RN=1b(a,b){1f-1<b.2gk?V9(b):g(b.36Y)?NI(b):a>=La.1GQ&&a<=La.2Aa?X9(b):a==La.2M8?NI(b):W9(b)};Rj.35P=1b(a,b,c){a=a.11m;b=-1<b.2gk?V9(b):g(b.36Y)?NI(b):a>=La.1GQ&&a<=La.2Aa?X9(b):a==La.2M8?NI(b):W9(b);P.5o(b,c,b);1f b};Rj.3ra=1b(a,b){if(a.11m===La.1GQ){a=g(b.1pO)&&(b.1pO&Pc.1vG)===Pc.1vG;1d c=1g Aa;1d d=b.19h[0],e=d.2Z,f=1;if(a){f=b.2oS;1d h=1g k(b.1zr.x,b.1zr.y,b.1zr.z);d=1g 10Y(d.5b.3J,d.5b.8o,d.5b.10S/2)}1s d=1g 4A(d.5b.3J,d.5b.8o,d.5b.10S/4);1j(1d l=[],p=0;p<b.1f0;p++){1d n=d[e*p],m=d[e*p+1];a&&(n=f*n+h.x,m=f*m+h.y);l.1q(1g C(n,m))}Aa.1aN(l,c);l.1h=0}1f c};Rj.3WY=1b(a,b){if(!(1>b.1h)){1j(1d c=[],d=b.1h,e=0;e<d;e++){1d f=OS(b[e].6Z);f!==Ja.1ao&&f!==Ja.22n||c.1q(b[e])}if(0!=c.1h){b=0;d=c.1h;1j(e=0;e<d;e++){f=c[e];1d h=OS(f.6Z);h==Ja.1ao?b+=f.1Jn/2:h==Ja.22n&&b++}e=a.19h[a.1oh.4f];f=g(a.1pO)&&(a.1pO&Pc.1vG)===Pc.1vG;d=e.2Z;f?(d=3,e=Y9(a,e)):e=1g 4A(e.5b.3J,e.5b.8o,e.5b.10S/4);a=0;f=c.1h;1j(h=0;h<f;h++)a+=c[h].1Jn;f=d;d=[];h=c.1h;1j(1d l=0;l<h;l++){1d p=c[l];1d n=0===p.1IY?1g 10Y(p.1m2.3J,p.1m2.8o,p.1m2.10S/2):1g 12X(p.1m2.3J,p.1m2.8o,p.1m2.10S/4);1d m=OS(p.6Z);if(m==Ja.1ao)1j(m=0;m<p.1Jn;m+=2){1d w=[],x=1g k;x.x=e[n[m]*f];x.y=e[n[m]*f+1];x.z=e[n[m]*f+2];w.1q(x);x=1g k;x.x=e[n[m+1]*f];x.y=e[n[m+1]*f+1];x.z=e[n[m+1]*f+2];w.1q(x);d.1q(w)}1s if(m==Ja.22n){w=[];1j(m=0;m<p.1Jn;m++)x=1g k,x.x=e[n[m]*f],x.y=e[n[m]*f+1],x.z=e[n[m]*f+2],w.1q(x);d.1q(w)}}c=4*a-4*b;e=1g 4A(3*c);f=1g 4A(3*c);h=1g 4A(3*c);l=1g 1G4(2*c);1j(n=p=0;n<b;n++){m=d[n].1h;1j(w=0;w<m;w++){x=4*p-4*n;1d q=3*x+12*w,t=d[n][w];0!=w&&(e[q-6]=t.x,e[q-5]=t.y,e[q-4]=t.z,e[q-3]=t.x,e[q-2]=t.y,e[q-1]=t.z);w!=m-1&&(e[q]=t.x,e[q+1]=t.y,e[q+2]=t.z,e[q+3]=t.x,e[q+4]=t.y,e[q+5]=t.z);1d r=t;w+1<m&&(r=d[n][w+1]);0!=w&&(h[q-6]=r.x,h[q-5]=r.y,h[q-4]=r.z,h[q-3]=r.x,h[q-2]=r.y,h[q-1]=r.z);w!=m-1&&(h[q]=r.x,h[q+1]=r.y,h[q+2]=r.z,h[q+3]=r.x,h[q+4]=r.y,h[q+5]=r.z);1<=w&&(t=d[n][w-1]);0!=w&&(f[q-6]=t.x,f[q-5]=t.y,f[q-4]=t.z,f[q-3]=t.x,f[q-2]=t.y,f[q-1]=t.z);w!=m-1&&(f[q]=t.x,f[q+1]=t.y,f[q+2]=t.z,f[q+3]=t.x,f[q+4]=t.y,f[q+5]=t.z);q=2*x+8*w;0!=w&&(l[q-4]=-1,l[q-3]=-1,l[q-2]=1,l[q-1]=-1);w!=m-1&&(l[q]=-1,l[q+1]=1,l[q+2]=1,l[q+3]=1)}p+=d[n].1h}p={19h:[],1oh:{}};n=p.19h;m=p.1oh;p.1gC=0;p.1MQ=0;m.4f=0;n.1q({2P:m.4f,5b:e,2Z:3,3k:I.3O,9n:0,9t:3*4A.12T,1T:!1});m.13N=1;n.1q({2P:m.13N,5b:f,2Z:3,3k:I.3O,9n:0,9t:3*4A.12T,1T:!1});m.7s=2;n.1q({2P:m.7s,5b:h,2Z:3,3k:I.3O,9n:0,9t:3*4A.12T,1T:!1});m.13x=3;n.1q({2P:m.13x,5b:l,2Z:2,3k:I.1MX,9n:0,9t:2*1G4.12T,1T:!1});e=[];1j(f=0;f<d.1h;f++)e.1q(d[f].1h);d={};d.1Jn=6*(a-b);d.1IY=1a6<c?1:0;d.6Z=Ja.11G;a=0===d.1IY?1g 10Y(d.1Jn):1g 12X(d.1Jn);1j(f=c=0;f<b;f++){1j(h=0;h<e[f]-1;h++)a[6*(c-f+h)]=4*(c-f+h),a[6*(c-f+h)+1]=4*(c-f+h)+2,a[6*(c-f+h)+2]=4*(c-f+h)+1,a[6*(c-f+h)+3]=4*(c-f+h)+1,a[6*(c-f+h)+4]=4*(c-f+h)+2,a[6*(c-f+h)+5]=4*(c-f+h)+3;c+=e[f]}d.1m2=a;1f{1dM:p,2po:d}}}};1d Mb=1L.3F({1he:0,1gu:1,1e5:2,3We:3,21L:4,2oB:5,2dF:6,2Mw:7,12D:8,4B3:9}),Xt=1L.3F({5J0:0,4Am:1,3qF:2}),5R0=1g y,5QZ=y.9r;Uv.35M=1b(a,b){1d c=b.28k,d=a.1Qu,e=a.1lu;1a.11m===La.198&&1a.4Fz();if(!g(c)||!g(d))1f[1g Qa(a)];if(g(c.4d)){d=5R1(d,b);b=1g Ia;1j(1d f=0;f<d.1h;f++){1d h=d[f],l=g(c.1A)?c.1A.1FL(h,5R0):5QZ,k=g(c.4d)?c.4d.3x(h):1p 0,n=g(c.5QY)?c.5QY.3x(h):600,m=g(c.5QX)?c.5QX.3x(h):600;g(n)||(n=600);g(m)||(m=600);n=1g C(n,m);h.1A=l;h.2eJ=k;m=h.5QW();b.8h(m)||(1g y,l=y.1y(l),b.1C(m,{1A:l,2eJ:k,4Fx:n,4Fy:[],1kl:[],3Z2:[]}));b.1n(m).4Fy.1q(h)}b=c=b.1gN;1j(d=0;d<b.1h;d++)if(f=b[d],h=f.4Fy,g(h)&&!(1>h.1h))1j(k=0;k<h.1h;k++)f.1kl=f.1kl.9V(h[k].5QV());e=e[0];if(1==c.1h)c[0].2po=e;1s{f=e.1Jn;d=0===e.1IY?10Y:12X;h=1g d(e.1m2.3J,e.1m2.8o,f);1j(b=0;b<f;b++){k=h[b];l=c;n=l.1h;m=!1;1j(1d w=0;w<n&&!m;w++)1j(1d x=l[w],q=x.1kl,t=0;t<q.1h;t++){1d r=q[t],u=r.36y+r.3pW;if(k>=r.36y&&k<u){x.3Z2.1q(k);m=!0;1W}}}1j(b=0;b<c.1h;b++){f=c[b];h=f.3Z2.1h;k=1g d(h);1j(l=0;l<h;l++)k[l]=f.3Z2[l];f.2po={1IY:e.1IY,1Jn:h,1m2:k,1FJ:e.1FJ,6Z:e.6Z}}}e=[];1j(b=0;b<c.1h;b++)a.5QU=c[b].2eJ,a.5QT=c[b].1A,a.1lu=[c[b].2po],a.5QS=c[b].4Fx,d=1g Qa(a),e.1q(d);1f e}};UC.1i.1Mu=1b(){g(1a.1mk)&&1a.1mk.1UJ();g(1a.1jO)&&1a.1jO.1UJ()};UC.1i.1UA=1b(a,b,c){1d d=1a.1jO,e=d.1ec;d.1UA(b,!1a.1UF,c);if(d.4F===Sb.1cY)1f g(1a.1mk)&&1a.1mk.1UJ(),1a.1mk=1a.1jO,1a.1jO=1p 0,1a.21o=e.2Lk(a,1a),!0;1j(1d f=d.12f,h;g(f)&&(f.4F!==Sb.1cY||!1a.1UF&&!g(f.7y));)f.4F!==Sb.12D&&f.4F!==Sb.1My&&(h=h||f),f=f.12f;1a.1mk!==f&&(g(1a.1mk)&&1a.1mk.1UJ(),1a.1mk=f,g(f)&&(f.2zh(),1a.21o=e.2Lk(a,1a)));1f d.4F===Sb.12D||d.4F===Sb.1My?g(h)?(h.1UA(b,!1a.1UF,c),!1):!0:!1};VC.5QR=1b(a){if(!(g(a)&&a 2m 2K))1f 1F;1d b=[];if(Z9(a[0])){1d c=PS(a);g(c)&&b.1q(c)}1s 1j(1d d=0;d<a.1h;d++)if(a[d]2m 2K)if(3!==a[d].1h)1j(1d e=0;e<a[d].1h;e++)a[d][e]2m 2K&&3===a[d][e].1h&&(c=PS(a[d][e]),g(c)&&b.1q(c));1s c=PS(a[d]),g(c)&&b.1q(c);1f b};VC.2dd=1b(a,b){1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c];if(!5QN[e.5QQ](a,e.5QP,e.5QO))1f!1}1f!0};1d 5QN={"==":$9,"===":$9,">":1b(a,b,c){1f a[b]>c},"<":1b(a,b,c){1f a[b]<c},">=":1b(a,b,c){1f a[b]>=c},"<=":1b(a,b,c){1f a[b]<=c},"!=":1b(a,b,c){1f a[b]!=c},14d:1b(a,b){1f g(a[b])}};1L.2X(Qs.1i,{1aQ:{1n:1b(){}}});Qs.1i.313=1b(){1d a=1a.2gI,b=1g a.2r.1nh({1A:""});b.1yF("#2AR");1d c=1g a.2r.1m6({1A:"",1G:1});c.3O0(1);c.1yF("#1Qx");1f 1g a.2r.18O({4K:b,15n:c})};Qs.1i.3Z1=1b(a){1d b=1a.2gI,c=a.1I,d=a.14I;a=a.11e;if(!g(c)||!g(d))1f 1a.313();if("4K"==c){a=1g b.2r.18O({});1d e=1g b.2r.1nh({1A:"[255,255,255,1]"});a.3NS(e);c=d["4K-7z"];if(g(d["4K-1A"])){1d f=OI(d["4K-1A"]);g(c)&&(f[3]*=c);e.1yF(f)}g(d["4K-8Y-1A"])&&(b=1g b.2r.1m6({1A:"",1G:1}),b.1yF(d["4K-8Y-1A"]),a.2IJ(b));g(d["4K-1jV"])&&(a.4Ft=d["4K-1jV"]);1f a}if("6D"==c)1f c=1g b.2r.18O({}),b=1g b.2r.1m6({1A:"#1Qx",1G:1}),c.2IJ(b),f=d["6D-7z"],g(d["6D-1A"])&&(e=OI(d["6D-1A"]),g(f)&&(e[3]*=f)),g(d["6D-1G"])&&b.3O0(d["6D-1G"]),g(d["6D-2AK"])&&b.2m5(d["6D-2AK"]),g(a)&&(g(a["6D-1S4"])&&b.5oq(a["6D-1S4"]),g(a["6D-14G"])&&b.5op(a["6D-14G"]),g(a["6D-1Ac-1C4"])&&b.5oo(a["6D-1Ac-1C4"])),b.1yF(e),c;if("1ap"==c)1f d=1g b.2r.18O({}),g(a)&&g(a["6O-4d"])&&(d.3Z0=!0),g(a)&&g(a["3l-1bF"])&&(d.5QJ=!0),d;if("12O"==c){a=d["12O-1A"];e=d["12O-15n-1A"];c=d["12O-7z"];f=d["12O-15n-7z"];1d h=d["12O-15n-1G"];d=1g b.2r.1LU({3L:d["12O-3L"],15n:0===h?1p 0:1g b.2r.1m6({1G:h,1A:a$(e,f)}),4K:1g b.2r.1nh({1A:a$(a,c)})});b=1g b.2r.18O({});b.1ZX(d);1f b}1f 1a.313()};1d tF=1g y;Qs.1i.5QF=1b(a,b,c,d,e,f){c=1a.2gI;1d h=1k.2t(b/12v);b-=12v*h;1d l=1k.2t(b/256);tF.5r=(b-256*l)/256;tF.5t=l/256;tF.5G=h/256;tF.2O=1;h=tF.1fY();if("1b1"==a||"2me"==a||"1hi"==a)1f a=4,g(d)&&(a=2*d+f),d=1g c.2r.1m6({1A:"",1G:a}),d.1yF(h),1g c.2r.18O({15n:d});if("18H"==a||"1oj"==a)1f d=1g c.2r.1LU({3L:e-.5,4K:1g c.2r.1nh({1A:h})}),c=1g c.2r.18O({}),c.1ZX(d),c;f=1g c.2r.1nh({1A:""});f.1yF(h);f=1g c.2r.18O({4K:f});g(d)&&(d=1g c.2r.1m6({1A:"",1G:g(d)?2*d:4}),d.1yF(h),f.2IJ(d));1f f};1d 5QM=/^([^]*)\\{(.*)\\}([^]*)$/;Qs.1i.5QI=1b(a,b,c){1d d=1a.2gI,e=c.14I,f=c.11e;c=f["3l-1bF"];b=b.2IZ();1d h;do(h=c.141(5QM))&&(c=h[1]+(b[h[2]]||"")+h[3]);14p(h);1d l=c;if(g(l)){c=1g d.2r.18O;b=1g d.2r.198;c.3NR(b);h=f["3l-4V"];1d k=m(f["3l-9O"],["30r 5Mn 36h","4qc 4Cv MS 36h"]),n=f["3l-5o"];"4DN"==n?l=l.1G9():"3rP"==n&&(l=l.18v());m(f["3l-1V-1G"],10);b.3NR(l);b.5oh(k);b.4nA(0);l=m(f["3l-1cs"],"2V");k=m(f["1ap-1fJ"],"7v");b.5oe(k);"7v"==k?(k="2V",-1!==l.3f("3B")?k="3B":-1!==l.3f("2W")&&(k="2W"),b.4nz(k)):b.4nz();k="1y1";0==l.3f("7b")?k="7b":0==l.3f("5C")&&(k="5C");b.5od(k);l=m(f["3l-2M"],[0,0]);f=m(f["3l-11v"],[0,0]);b.5og(l[0]*h+f[0]);b.5of(l[1]*h+f[1]);f=1g d.2r.1nh;l=e["3l-1A"];g(l)&&(l=OI(l),f.1yF(l));b.3NS(f);f=e["3l-1nC-1A"];g(f)?(d=1g d.2r.1m6,f=OI(f),d.1yF(f),d.3O0(e["3l-1nC-1G"]),b.2IJ(d)):b.2IJ(1p 0);c.30V(a.1AP());c.3Z0=a.3Z0;c.4rg=h;1f c}};1d 4Fw={};Qs.1i.5QH=1b(a,b,c){1d d=1a.2gI;1d e=c.14I;1d f=c.11e;c=m(f["6O-4V"],1);1d h=e["6O-1A"],l=m(e["6O-11v"],[0,0]),k=m(e["6O-11v-1cs"],"5d"),n=m(f["6O-1cs"],"2V");1d z=n;e=[.5,.5];["5C-3B","5C-2W","7b-3B","7b-2W"].2J9(z)&&(e=[0,0]);"3B"===z&&(z="5C-3B",e=[0,.5]);"2W"===z&&(z="5C-3B",e=[1,.5]);"7b"===z&&(z="5C-3B",e=[.5,1]);"5C"===z&&(z="5C-3B",e=[.5,0]);1d w=m(f.7RM,[0,0]),x=m(f["6O-7z"],1),q=f["6O-4d"];g(a[q])?(f=q+"."+c+"."+l+"."+k+"."+n+"."+w,g(h)&&(f+="."+h),h=4Fw[f],g(h)||(h=a[q],1a.5QL?a=1g 3Ol(h.1G,h.1D):(a=3n.4O("3M"),a.1G=h.1G,a.1D=h.1D),a.1ft("2d").2mb(h,0,0),l=[l[0]/h.1G,l[1]/h.1D],h=1g d.2r.1pq({1kp:a,3NX:z,1cs:[w[0]+e[0]+l[0],w[1]+e[1]-l[1]],4nN:[a.1G,a.1D],3b:c}),h.3O1(x),4Fw[f]=h),b.1ZX(h)):11l.7k("5QD 6O-4d "+q)};1d 4Fu="2lJ 14x 1b1 1ar 1gy 198".7g(" ");Vy.1i.4Fr=1b(a){1d b=a.4Fp,c=a.5o,d=a.9Q,e=a.1jG,f=a.4Fo,h=a.4Fn,l=a.4Fl,k=a.4Fi,n=a.4Fk,m=a.4Fh,w=a.4Fg,x=a.4Fv,q=1a.2gI;a=a.4Fq.1ft("2d");1d t=[],r=[],u=[],v=q.1wV.2sc(9);v=1g q.3t.3M.1f3(0,[0,0,18C,18C],8,2,!0,v);1j(1d y=e.1h,A=0;A<y;A++){1d B=e[A],C=B.2IZ().7r;B.2P=C+B.3lk();1d E=!1;C=d[C];1d F=0,L;1j(L in C){1d S=C[L];1d H=S.2B8.1Qy;if(!(f<S.2B8.22i||f>H)){H=S.5QK;if(g(H)){1d R=B.2IZ();if(VC.2dd(R,H))H=1a.2gJ.3Z1(S.2B8);1s 1aJ}1s H=1a.2gJ.3Z1(S.2B8);if(g(H)){1a.5QE(H,h,l,a);g(H.5QJ)&&(R=1a.2gJ.5QI(H,B,S.2B8),R.30V(F),n?u.1q({7n:B,2r:R}):w&&q.1fs.8r.3kC(v,B,R,-1));if(g(H.3Z0)&&!g(H.1tw()))if(n){r.1q({7n:B,2r:S.2B8});1aJ}1s 1a.2gJ.5QH(l,H,S.2B8);H.30V(F);1a.5QC(B,H);F++;w&&q.1fs.8r.3kC(v,B,H,-1);E=!0}}}E&&t.1q(B)}w&&(v.26t(),d={},v.1ne(a,c,0,{},4Fu,d),d&&q.3t.3M.1f3.4mT(d,a,0));m&&1a.5QG(c,b,t,0,k,x);1f{7RL:t,2yd:r,2yb:u}};Vy.1i.5QG=1b(a,b,c,d,e,f){e=1a.2gI;b=b.1ft("2d");1d h=e.1wV.2sc(9);h=1g e.3t.3M.1f3(0,[0,0,18C,18C],8,2,!0,h);1j(1d g=c.1h,k=0;k<g;k++){1d n=c[k];1d m=n.3lk();m-=1C6*1k.2t(m/1C6);m=1a.2gJ.5QF(n.1TE().1bu(),m,d,n.11a,n.3L,f);m.30V(n.13G);e.1fs.8r.3kC(h,n,m,-1)}h.26t();c={};h.1ne(b,a,0,{},4Fu,c);c&&e.3t.3M.1f3.4mT(c,b,0)};Vy.1i.5QE=1b(a,b,c,d){if(g(a.4Ft)){1d e=a.4Ft;if(g(b[e]))c=b[e];1s{1d f=c[e];if(!g(f)){11l.7k("5QD 28s "+e);1f}c=3n.4O("3M");c.1G=f.1G;c.1D=f.1D;c.1ft("2d").2mb(f,0,0);b[e]=c}a.1wS.1ni=d.7RK(c,"12G")}};Vy.1i.5QC=1b(a,b){1d c=1a.2gI;a.13G=b.1AP();if(g(b.1wP())){1d d=b.1wP().26u();g(a.11a)?a.11a=1k.1V(a.11a,d):a.11a=d}g(b.1tw())&&(b=b.1tw(),d=1,b 2m c.2r.1pq?(c=b.3l5(),d=1k.1V(c[0],c[1])/2,--d):b 2m c.2r.1LU&&(d=b.3le()),g(a.3L)?a.3L=1k.1V(a.3L,d):a.3L=d)};1d 5QB=[1.3Qq-9,3.3mT-9,6.3mS-9,1.3mR-8,2.3Qp-8,5.3mQ-8,1.3Qo-7,2.3Qn-7,4.3Qm-7,8.3Ql-7,1.3Qk-6,3.3Qj-6,6.3Qi-6,1.3Qh-5,2.3Qg-5,5.3Qf-5,1.3Qe-4,2.3Qd-4,4.3Qc-4,8.3Qb-4,.3Qa,.3Q9],5QA=1g Vc("3X9",1E4);1L.2X(Xi.1i,{1aQ:{1n:1b(){}},16K:{1n:1b(){1f 1a.14Q}},17g:{1n:1b(){1f 1a.16J}},16j:{1n:1b(){if(!1a.4y)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 18<1a.17G?1a.17G:18}},16i:{1n:1b(){if(!1a.4y)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1jK}},8c:{1n:1b(){1f 1a.6C}},3g:{1n:1b(){if(!1a.4y)1t 1g r("3g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.7T}},19b:{1n:1b(){}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f 1a.4y&&1a.22d}},9c:{1n:1b(){1f 1a.7S}},9L:{1n:1b(){}},1mb:{1n:1b(){1f!0}},2r:{1n:1b(){1f 1a.14N},1C:1b(a){1a.14N=a}},2eG:{1n:1b(){1f 1a.1xm},1C:1b(a){if(g(1a.12Y)&&!0===1a.17F.1dF){1a.17F.1dF=!1;1d b=1a;1a.12Y.9P(1a.13Y).4b(1b(){b.17F.1dF=!0})}1a.1xm=a;g(1a.1xm)&&(QI(1a,1a.1xm),QS(1a,1a.1xm))}},5Qz:{1n:1b(){1f 1a.3st},1C:1b(a){1a.3st=a}}});Xi.1i.1om=1b(a,b,c){};Xi.1i.2H=1b(){};Xi.1i.4D9=1b(a,b,c){a=4H.8s([a,b,c]);a=1a.1Bn[a];g(a)&&g(a.1MZ)&&4Y a.1MZ;g(a)&&g(a.2Nj)&&(a.2Nj.1M(),a.2Nj=1F)};Xi.1i.1hQ=1b(a,b,c,d,e){1d f=1a,h=1a.2pn,l=c+1;a+=1k.9p(1k.3r(2,l)*f.36X);b+=1k.9p(1k.3r(2,l)*f.36W);1d k=1a;d.1b3=f$(a,b,l);1a.1pw===ik.1U9&&(d.1I=Jd.20D,d.1U7=1a.6X,d.1j8=!0);if(d.1Gc&&g(1a.12Y)&&!0===1a.17F.1dF){1d n=Z.12L();h=1a.12Y.20n(1a.13Y,d.1b3);g(h)?Z(h,1b(d){if(g(d)){1d e=1g 1ar;e.1G=k.1i0;e.1D=k.1i0;e.1bv=d.5Qy;1d f=1g 1ar;f.1G=k.1i0;f.1D=k.1i0;f.1bv=d.5Qx;e.1w2=1b(){369(e,{3rC:"13E"}).4b(1b(e){1d h=1g Ca({1O:k.4j,5j:e,8b:ua.9m,10v:1g Eb({14A:nb.11U,15u:Rb.11U})});f.1w2=1b(){369(f,{3rC:"13E"}).4b(1b(e){if(k.1Bs){1d f=SS(a,b,c,k.1Bn),l=k.1i0/k.14Q;l=[k.14Q/18C*l,0,0,k.16J/18C*l,0,0];if(!g(f)){f={};1d p=4H.8s([a,b,c]);k.1Bn[p]=f}f.1N1=a;f.1N0=b;f.1tX=c;f.14w=Q.1y(d.14w);f.5o=l;e=RS(k,e);f.2Nj=1g eb({1O:k.4j,13I:[e],16Y:!1})}1s e=e$(k);n.5h({1Ej:!0,6T:h,2nU:e})})}})}}1s n.5h("1so")},1b(a){n.5h("1so")}):n.5h("1so");1f n}if(l>f.17G)1f 5Qw(f,a,b,c,e);h=h.3X("{x}",a).3X("{y}",b).3X("{z}",l);g(Ba.12M)&&(h=g(Ba.12M.1e7[1a.10z])?Ba.1oo(1a.10z,h):Ba.1cl(h));h=1a.12o.16M({2I:h,7M:d,1PR:{}}).1kw();1f g(h)?h.4b(1b(h){if(f.1pw===ik.1U9)a:{1d p=d.1Vg;1d n=1g 1dE(h),m=0,t=n.9A(m,!0);if(p>t-1)1t 1g r("5n 8v 2P 16w");m+=4;1d z=[],q;1j(q=0;q<t;q++){1d u=n.9A(m,!0);z.1q(u);m+=4}1j(q=0;q<t;q++){u=z[q];if(q===p){if(0===u){p=1F;1W a}p=(1g 4L(h)).4h(m,m+u).3J;1W a}m+=u}p=1p 0}1s p=h;if(k.1U0)1f 1F;h=SS(a,b,c,f.1Bn);n=f.1i0/f.14Q;n=[f.14Q/18C*n,0,0,f.16J/18C*n,0,0];g(h)||(h={},m=4H.8s([a,b,c]),f.1Bn[m]=h);h.1N1=a;h.1N0=b;h.1tX=c;h.14w=Q.1y(e);h.5o=n;if(g(h)&&g(h.1MZ))1f RI(f,h,n,h.1MZ);p=f.36V.2IX(p,{312:f.2B7});if(f.4Ff||!f.1Bs||l==f.17G)h.1MZ=p,l==f.17G&&j$(p,h.14w,n,f.1i0);1f RI(f,h,n,p)}).10g(1b(a){}):1F};Xi.1i.1lk=1b(a,b,c,d,e){};Xi.1i.5Qt=1b(a){if(1a.1Vt.1N1!=a.1N1||1a.1Vt.1N0!=a.1N0||1a.1Vt.1tX!=a.1tX){1a.1Vt.1N1=a.1N1;1a.1Vt.1N0=a.1N0;1a.1Vt.1tX=a.1tX;1a.1Vt.2Ni=1F;1d b=1a,c=1a.2pn;if(a.1tX+1>1a.17G){1d d=g$(a.1N1,a.1N0,a.1tX,1a);g(d)&&(g(d.1MZ)?b.1Vt.2Ni=d.1MZ:(c=c.3X("{x}",d.1N1).3X("{y}",d.1N0).3X("{z}",d.1tX+1),1a.2B6=na.14m(c).1kw(),g(1a.2B6)&&1a.2B6.4b(1b(a){a=b.36V.2IX(a,{312:b.2B7});d.1MZ=a;1f b.1Vt.2Ni=a}).10g(1b(a){1f 1F})))}1s c=c.3X("{x}",a.1N1).3X("{y}",a.1N0).3X("{z}",a.1tX+1),1a.2B6=na.14m(c).1kw(),g(1a.2B6)&&1a.2B6.4b(1b(a){a=b.36V.2IX(a,{312:b.2B7});1f b.1Vt.2Ni=a})}};Xi.1i.5Qs=1b(a,b,c){a={};1d d=0,e=22,f;1j(f in 1a.1Bn){1d h=[],l=1a.1Bn[f],k=l.5o,n=l.14w,m=l.1MZ;if(g(m)){1j(1d w=0,x=m.1h;w<x;w++)d$(m[w])===b&&h.1q(m[w]);if(0!=h.1h)1j(m=0;m<h.1h;m++){w=h[m].1TE();if(!g(w.3YZ)){w.3YZ=[];w.5Qv=[];x=w.1li();1j(1d q=w.1ZT(),t,r=0,u=0;u<q.1h;u++){t=r;r=q[u];1d v=x.4h(t,r);if("14x"==w.1bu()||"1dC"==w.1bu()){t=!1;ol.3u.8z.1AT.3lh(v,0,v.1h,2)&&(t=!0);1d y=[];if(c){1d A=v,B=w.1Pp(),C=A.1h;y=[];1j(1d E=0;E<C-2;E+=2){v=A[E];1d F=A[E+1],L=E+2,S=A[L];L=A[L+1];1d H=B[0],R=B[1],V=B[2],W=B[3];0>H&&v==H&&S==H||18C<V&&v==V&&S==V||0>R&&F==R&&L==R||18C<W&&F==W&&L==W||y.1q([[v,F],[S,L]])}if(0==y.1h)y=[];1s{A=[];B=[];1j(E=0;E<y.1h-1;E++)if(C=y[E],v=y[E+1],B.1q(C[0][0]),B.1q(C[0][1]),C[1][0]!=v[0][0]||C[1][1]!=v[0][1])B.1q(C[1][0]),B.1q(C[1][1]),A.1q(B),B=[];y=y[y.1h-1];B.1q(y[0][0]);B.1q(y[0][1]);B.1q(y[1][0]);B.1q(y[1][1]);A.1q(B);y=A}}1s y.1q(v);1j(v=0;v<y.1h;v++){E=[];F=y[v];A=0;1j(B=F.1h;A<B-1;A+=2)C=SI(F[A],F[A+1],n,k,1a.1i0),E.1q(C[0]),E.1q(C[1]);t?w.5Qv.1q(E):w.3YZ.1q(E)}}1s{E=[];A=0;1j(B=v.1h;A<B-1;A+=2)C=SI(v[A],v[A+1],n,k,1a.1i0),E.1q(C[0]),E.1q(C[1]);w.3YZ.1q(E)}}}w.6b=l.1tX;g(a[l.1tX])||(a[l.1tX]=[]);d=1k.1V(d,l.1tX);e=1k.2o(e,l.1tX);a[l.1tX].1q(w)}}}1f{7RJ:e,7RI:d,7RH:a}};Xi.1i.11P=1b(a,b){1d c=1a.1Bn;1d d=1F;1j(f in c){1d e=c[f];Q.8h(e.14w,a)&&(1F==d?d=e:e.14w.1G<d.14w.1G&&g(e.2Nj)&&(d=e))}c=d;if(1F==c)1f 1F;d=c.14w;e=1a.1i0/1a.14Q;1d f=(a.3N-d.4o)/d.1G*1a.14Q*e;e*=(1-(d.4P-a.4k)/d.1D)*1a.16J;f=1k.2t(f+.5);e=1k.2t(e+.5);if(1a.1Bs)d=c.2Nj;1s{d=1a.36V.2IX(c.1MZ,{312:1a.2B7});1d h=3n.4O("3M");h.1G=1a.1i0;h.1D=1a.1i0;1d l=3n.4O("3M");l.1G=1a.1i0;l.1D=1a.1i0;h.1ft("2d");1a.4Fs.4Fr({4Fq:h,4Fp:l,5o:c.5o,9Q:1a.8U,1jG:d,4Fo:c.1tX,4Fn:1a.4Fm,4Fl:1a.32j,4Fk:1a.4Fj,4Fi:0,4Fh:!0,4Fg:!1});d=RS(1a,l);d=1g eb({1O:1a.4j,13I:[d],16Y:!0})}h=1+1a.5Qu;f-=1k.2t(.5*h);e-=1k.2t(.5*h);e=1a.4j.1tG({x:f,y:e,1G:h,1D:h,4Q:d});f={};1j(h=0;h<e.1h;h+=4)l=[e[h],e[h+1],e[h+2],e[h+3]],"0,0,0,0"!==l.5s()&&(g(f[l])?f[l]+=1:f[l]=1);e=0;h=1F;1j(1d k in f)f[k]>e&&(h=k,e=f[k]);k=1F===h?[0,0,0,0]:h.7g(",");1a.1Bs||d.1M();d=8A(k[0]);f=8A(k[1]);e=8A(k[2]);8A(k[3]);k=d+256*f+12v*e;b.36U=0==k?1g y(1,1,1,1):1g y(d/255,f/255,e/255,1);1a.5Qt(c);c=1F;1a.4Ff&&(c=1a.5Qs(a,k,1a.5Qr),b.36U=1g y(1,1,1,1));1f{4Da:k,3Xb:1a.7R,1ht:c}};Xi.1i.1vb=1b(a){if(g(1a.1Vt.2Ni)){1d b=Z.12L(),c=k$(1a.1Vt.2Ni,a);g(c)?b.5h(c.2IZ()):b.7N()}1s 1f 1a.2B6.4b(1b(b){b=k$(b,a);1f g(b)?b.2IZ():1F});1f b};1d Ho=1b(a,b,c){1a.5F=a;1a.3z=b;1a.1GT=c};Ho.1nk=1g Ho(!1,4Fe,4Fd);Ho.7RG=1g Ho(!0,4Fe,4Fd);1d oi=1b(a,b,c){1a.14R=a;1a.11q=b;1a.11D=c};oi.36T=!1;oi.5Qq=!0;oi.1nk=1g oi(519,oi.36T,[0,1]);1d Rs=1b(a,b,c,d,e,f){1a.6S=a;1a.2p9=b;1a.11q=c;1a.15w=d;1a.5Nd=e;1a.6t=f};Rs.1nk=1g Rs({14R:519,11q:0},0,0,3YY,3YY,3YY);1d Na={},Nw=1b(a,b){1a.gl=a.gl;1a.17J=b};Na.1qZ=1b(a){1b b(b,d){a.4G(1a,b,d);1a.11L=0}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1C=1b(a){1a.11L!==a&&(1a.11L=a,1a.gl.3YX(1a.17J,a))};1f b}(Nw);Na.19n=1b(a){1b b(b,d){a.4G(1a,b,d);1a.11L=0}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1C=1b(a){1a.11L!==a&&(1a.11L=a,1a.gl.5Qp(1a.17J,a))};1f b}(Nw);Na.1ly=1b(a){1b b(b,d){a.4G(1a,b,d);1a.11L=[0,0]}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1C=1b(a){if(a[0]!==1a.11L[0]||a[1]!==1a.11L[1])1a.11L=a,1a.gl.5Qo(1a.17J,a[0],a[1])};1f b}(Nw);Na.7RF=1b(a){1b b(b,d){a.4G(1a,b,d);1a.11L=[0,0,0]}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1C=1b(a){if(a[0]!==1a.11L[0]||a[1]!==1a.11L[1]||a[2]!==1a.11L[2])1a.11L=a,1a.gl.4Fc(1a.17J,a[0],a[1],a[2])};1f b}(Nw);Na.3s1=1b(a){1b b(b,d){a.4G(1a,b,d);1a.11L=[0,0,0,0]}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1C=1b(a){if(a[0]!==1a.11L[0]||a[1]!==1a.11L[1]||a[2]!==1a.11L[2]||a[3]!==1a.11L[3])1a.11L=a,1a.gl.3YW(1a.17J,a[0],a[1],a[2],a[3])};1f b}(Nw);Na.4Ec=1b(a){1b b(b,d){a.4G(1a,b,d);1a.11L=Rd.18b}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1C=1b(a){if(a.r!==1a.11L.r||a.g!==1a.11L.g||a.b!==1a.11L.b||a.a!==1a.11L.a)1a.11L=a,1a.gl.3YW(1a.17J,a.r,a.g,a.b,a.a)};1f b}(Nw);1d 5Qn=1g 4A(16);Na.1vE=1b(a){1b b(b,d){a.4G(1a,b,d);1a.11L=5Qn}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1C=1b(a){1a.gl.4Fb(1a.17J,!1,a)};1f b}(Nw);1d TS={5O8:1b(a,b){1f{1kN:1g Na.19n(a,b.1kN),2jg:1g Na.1qZ(a,b.2jg),1xL:1g Na.1qZ(a,b.1xL),1xK:1g Na.1ly(a,b.1xK),1aS:1g Na.19n(a,b.1aS),9W:1g Na.1vE(a,b.9W)}},5Qm:1b(a,b,c){if("5d"===c.14I.1n("12O-8q-1ew")){1d d=Pv(b,1);a=!0;d=[d,d]}1s a=!1,d=[2/b.1AO,-2/b.1AO];c=+("5d"===c.14I.1n("12O-8q-3b"));b=A.1MY(b.1Ue,5Ql);1f{1kN:1,2jg:c,9W:b,1xL:+a,1aS:1,1xK:d}}},5Ql=1g 4A(16);vc.5MO=1b(a){if(0>=a)1f 0;if(1<=a)1f 1;1d b=a*a,c=b*a;1f 4*(.5>a?c:3*(a-b)+c-.75)};vc.5MN=1b(a,b,c){if(!a.1h)1f c(1F,[]);1d d=a.1h,e=2K(a.1h),f=1F;a.12I(1b(a,g){b(a,1b(a,b){a&&(f=a);e[g]=b;0===--d&&c(f,e)})})};vc.1a3=1b(a){1j(1d b=[],c=5m.1h-1;0<c--;)b[c]=5m[c+1];1j(c=0;c<b.1h;c+=1){1d d=b[c],e;1j(e in d)a[e]=d[e]}1f a};1d $Ra=1;vc.5MM=1b(){1f $Ra++};vc.1Zn=1b(){1b a(b){1f b?(b^16*1k.1ps()>>b/4).5s(16):"5MK-3Fy-5MJ-5MI-5MH".3X(/[5MG]/g,a)}1f a()};vc.5MF=1b(a){1f a?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[5ME][0-9a-f]{3}-[0-9a-f]{12}$/i.6S(a):!1};vc.5MD=1b(a,b){a.12I(1b(a){b[a]&&(b[a]=b[a].7X(b))})};vc.36l=1b(a,b){1f-1!==a.3f(b,a.1h-b.1h)};vc.3rF=1b(a,b,c){1d d={},e;1j(e in a)d[e]=b.4G(c||1a,a[e],e,a);1f d};vc.3Xf=1b(a,b,c){1d d={},e;1j(e in a)b.4G(c||1a,a[e],e,a)&&(d[e]=a[e]);1f d};vc.1y=1b(a){1f 2K.8n(a)?a.5d(vc.1y):"2c"===2h a&&a?vc.3rF(a,vc.1y):a};vc.2oU=1b(a,b){if(2K.8n(a)){if(!2K.8n(b)||a.1h!==b.1h)1f!1;1j(1d c=0;c<a.1h;c++)if(!vc.2oU(a[c],b[c]))1f!1;1f!0}if("2c"===2h a&&1F!==a&&1F!==b){if("2c"!==2h b||1L.9K(a).1h!==1L.9K(b).1h)1f!1;1j(c in a)if(!vc.2oU(a[c],b[c]))1f!1;1f!0}1f a===b};vc.4mw=1b(a,b){1j(1d c=0;c<a.1h;c++)if(0<=b.3f(a[c]))1f!0;1f!1};vc.2AT=1b(a,b,c){1f(c.y-a.y)*(b.x-a.x)>(b.y-a.y)*(c.x-a.x)};vc.5MC=1b(){1f"7w"!==2h 3XN&&"7w"!==2h 1KQ&&1KQ 2m 3XN};1d VX=1F;vc.4DV=1b(a){if(1F==VX){1d b=a.1Pu?a.1Pu.1LZ:1F;VX=!!a.4oM||!(!b||!(/\\b(5MB|5MA|5Mz)\\b/.6S(b)||b.141("3OR")&&!b.141("3OS")))}1f VX};vc.4Ds=1b(a,b){1f b.3X(/{([^{}]+)}/g,1b(b,d){1f d in a?10J(a[d]):""})};1d fn={5O6:1b(a,b){1f{9W:1g Na.1vE(a,b.9W),1mF:1g Na.19n(a,b.1mF),1aS:1g Na.19n(a,b.1aS),1uj:1g Na.1ly(a,b.1uj)}},5O5:1b(a,b){1f{9W:1g Na.1vE(a,b.9W),1mF:1g Na.19n(a,b.1mF),1aS:1g Na.19n(a,b.1aS),1uj:1g Na.1ly(a,b.1uj),1ax:1g Na.1qZ(a,b.1ax)}},5O4:1b(a,b){1f{9W:1g Na.1vE(a,b.9W),18n:1g Na.1ly(a,b.18n),1mF:1g Na.19n(a,b.1mF),1aS:1g Na.19n(a,b.1aS),1ax:1g Na.1qZ(a,b.1ax),1uj:1g Na.1ly(a,b.1uj),1fh:1g Na.3s1(a,b.1fh),1xJ:1g Na.19n(a,b.1xJ)}},5O3:1b(a,b){1f{9W:1g Na.1vE(a,b.9W),1mF:1g Na.19n(a,b.1mF),1aS:1g Na.19n(a,b.1aS),1uj:1g Na.1ly(a,b.1uj),2jb:1g Na.1ly(a,b.2jb),2ja:1g Na.1ly(a,b.2ja),2jc:1g Na.19n(a,b.2jc),1ax:1g Na.1qZ(a,b.1ax),2FL:1g Na.19n(a,b.2FL),2FK:1g Na.19n(a,b.2FK),24x:1g Na.19n(a,b.24x)}},3YV:1b(a,b,c){a=[2/b.1AO,-2/b.1AO];1f{9W:A.1MY(b.1Ue,4Fa),1mF:1/Pv(b,1),1aS:1,1uj:[1/a[0],1/a[1]]}},5Qk:1b(a,b,c){1f vc.1a3(fn.3YV(a,b,c),{1ax:0})},5Qj:1b(a,b,c,d){a=1/Pv(b,1);1f{9W:A.1MY(b.1Ue,4Fa),18n:b.2pm.4V,1mF:1/Pv(b,1),1aS:1,1ax:0,1fh:[1Pk.1Ve.3Mg,a,d.1oY,d.1EW],1xJ:d.t,1uj:[2/b.1AO,-2/b.1AO]}},5Qi:1b(a,b,c,d,e){1d f=a.2AU,h=1/Pv(b,1),g="9p"===c.11e.1n("6D-1S4"),k=f.4De(d.19f,g);d=f.4De(d.to,g);g=k.1G*e.1oY;1d n=d.1G*e.1EW;1f vc.1a3(fn.3YV(a,b,c),{2jb:[h/g,-k.1D/2],2ja:[h/n,-d.1D/2],2jc:f.1G/(256*1k.2o(g,n))/2,1ax:0,2FL:k.y,2FK:d.y,24x:e.t})}},4Fa=1g 4A(16),gn={5Oc:1b(a,b){1f{9W:1g Na.1vE(a,b.9W)}},5Ob:1b(a,b){1f{9W:1g Na.1vE(a,b.9W),1ax:1g Na.1qZ(a,b.1ax),18n:1g Na.1ly(a,b.18n),1q8:1g Na.1ly(a,b.1q8),1q7:1g Na.1ly(a,b.1q7),1fh:1g Na.3s1(a,b.1fh),1xJ:1g Na.19n(a,b.1xJ)}},5Oa:1b(a,b){1f{9W:1g Na.1vE(a,b.9W),1HB:1g Na.1ly(a,b.1HB)}},5O9:1b(a,b){1f{9W:1g Na.1vE(a,b.9W),1HB:1g Na.1ly(a,b.1HB),1ax:1g Na.1qZ(a,b.1ax),18n:1g Na.1ly(a,b.18n),1q8:1g Na.1ly(a,b.1q8),1q7:1g Na.1ly(a,b.1q7),1fh:1g Na.3s1(a,b.1fh),1xJ:1g Na.19n(a,b.1xJ)}},4F9:1b(a){1f{9W:a}},4F8:1b(a,b,c,d){1f vc.1a3(gn.4F9(a),5Qh(c,b,d))},5Qg:1b(a,b){1f{9W:a,1HB:b}},5Qf:1b(a,b,c,d,e){1f vc.1a3(gn.4F8(a,b,c,d),{1HB:e})}},5Qe=1g 4A(16),LM=1b(){};LM.7RE=1b(a,b,c,d,e){};LM.7RD=1b(a,b,c,d,e){};LM.7RC=1b(a,b,c,d,e,f,h,g){};1d HA={5O1:1b(a,b){1f{1JZ:1g Na.1qZ(a,b.1JZ),1JY:1g Na.1qZ(a,b.1JY),1Vs:1g Na.19n(a,b.1Vs),1Cx:1g Na.19n(a,b.1Cx),1kN:1g Na.19n(a,b.1kN),2gD:1g Na.19n(a,b.2gD),1Vq:1g Na.1qZ(a,b.1Vq),1Vp:1g Na.19n(a,b.1Vp),1JW:1g Na.19n(a,b.1JW),9W:1g Na.1vE(a,b.9W),1Vo:1g Na.1vE(a,b.1Vo),1Vn:1g Na.1vE(a,b.1Vn),1QC:1g Na.19n(a,b.1QC),1xL:1g Na.1qZ(a,b.1xL),18n:1g Na.1ly(a,b.18n),16S:1g Na.1qZ(a,b.16S)}},5NZ:1b(a,b){1f{1JZ:1g Na.1qZ(a,b.1JZ),1JY:1g Na.1qZ(a,b.1JY),1Vs:1g Na.19n(a,b.1Vs),1Cx:1g Na.19n(a,b.1Cx),1kN:1g Na.19n(a,b.1kN),2gD:1g Na.19n(a,b.2gD),1Vq:1g Na.1qZ(a,b.1Vq),1Vp:1g Na.19n(a,b.1Vp),1JW:1g Na.19n(a,b.1JW),9W:1g Na.1vE(a,b.9W),1Vo:1g Na.1vE(a,b.1Vo),1Vn:1g Na.1vE(a,b.1Vn),1QC:1g Na.19n(a,b.1QC),1xL:1g Na.1qZ(a,b.1xL),18n:1g Na.1ly(a,b.18n),16S:1g Na.1qZ(a,b.16S),28E:1g Na.19n(a,b.28E),1aS:1g Na.19n(a,b.1aS),2pj:1g Na.19n(a,b.2pj)}},5NX:1b(a,b){1f{1JZ:1g Na.1qZ(a,b.1JZ),1JY:1g Na.1qZ(a,b.1JY),1Vs:1g Na.19n(a,b.1Vs),1Cx:1g Na.19n(a,b.1Cx),1kN:1g Na.19n(a,b.1kN),2gD:1g Na.19n(a,b.2gD),1Vq:1g Na.1qZ(a,b.1Vq),1Vp:1g Na.19n(a,b.1Vp),1JW:1g Na.19n(a,b.1JW),9W:1g Na.1vE(a,b.9W),1Vo:1g Na.1vE(a,b.1Vo),1Vn:1g Na.1vE(a,b.1Vn),1QC:1g Na.19n(a,b.1QC),1xL:1g Na.1qZ(a,b.1xL),18n:1g Na.1ly(a,b.18n),3sa:1g Na.1ly(a,b.3sa),16S:1g Na.1qZ(a,b.16S),3sh:1g Na.1qZ(a,b.3sh),28E:1g Na.19n(a,b.28E),1aS:1g Na.19n(a,b.1aS),2pj:1g Na.19n(a,b.2pj)}},5Qd:1b(a,b,c,d,e,f,h,g,k,n){1d l=e.5o;1f{1JZ:+("10p"===a||"5j"===a),1JY:+("10p"===a||"3w"===a),1Vs:b?b.4F7:0,1Cx:b?b.4F6:0,1kN:l.3km,2gD:l.8q/360*2*1k.PI,1Vq:+c,1Vp:l.1G/l.1D,1JW:e.3v.1Ts?e.3MT:1,9W:f,1Vo:h,1Vn:g,1QC:+k,1xL:+d,18n:n,16S:0}},5Qc:1b(a,b,c,d,e,f,h,g,k,n,m){1d l=e.5o;1f vc.1a3(HA.5Qd(a,b,c,d,e,f,h,g,k,n),{28E:d?1k.3i(l.1Dx)*l.3km:1,1aS:1,2pj:+m})},7RB:1b(a,b,c,d,e,f,h,g,k,n){1f vc.1a3(HA.5Qc(a,b,c,d,e,f,h,g,!0,k,!0),{3sa:n,3sh:1})}};(1b(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;1f a})(1g 4A(16));1d uF=1b(){1a.4F4=1a.4F5=1F;1a.3YU=[];1a.1Vk=1a.4F1=1a.4F2=1a.4F3=1F};uF.1i.7X=1b(a,b,c,d,e,f,h,g){1a.1O=a;1j(1d l=1a.3YU.1h!==d.1h,k=0;!l&&k<d.1h;k++)1a.3YU[k]!==d[k]&&(l=!0);l=!1a.1Vk||1a.4F5!==b||1a.4F4!==c||l||1a.4F3!==e||1a.4F2!==f||1a.4F1!==h||1a.5Q8!==g;!a.2N9&&!a.1py||l?1a.5Qb(b,c,d,e,f,h,g):(a.2p8.1C(1a.1Vk),h&&h.7X(),e&&e.2Na&&e.7X(),g&&g.7X())};uF.1i.5Qb=1b(a,b,c,d,e,f,h){1d g=a.4Eu,k=1a.1O,n=k.gl;if(k.2N9||k.1py)1a.1Vk&&1a.1M(),1a.1Vk=k.1py?n.5Qa():k.2N9.5Q9(),k.2p8.1C(1a.1Vk),1a.4F5=a,1a.4F4=b,1a.3YU=c,1a.4F3=d,1a.4F2=e,1a.4F1=f,1a.5Q8=h;1s{1d m=k.5Q7||0;1j(1d w=g;w<m;w++)n.36S(w)}b.3s6(n,a);1j(m=0;m<c.1h;m+=1)c[m].3s6(n,a);f&&f.3s6(n,a);h&&h.3s6(n,a);b.7X();b.3s5(n,a,e);1j(b=0;b<c.1h;b+=1)m=c[b],m.7X(),m.3s5(n,a,e);f&&(f.7X(),f.3s5(n,a,e));d&&d.7X();h&&(h.7X(),h.3s5(n,a,e));k.5Q7=g};uF.1i.1M=1b(){1a.1Vk&&(1a.1O.1py?1a.1O.gl.3YT(1a.1Vk):1a.1O.2N9.5Q6(1a.1Vk),1a.1Vk=1F)};Kh([{2i:"13t",1I:"1gf",1bw:2}]);1d 5OL=Ue("#1z 4EL\\1Fi 10f 1o;\\n#1s\\n\\n#if !2l(5v)\\n#2f 5v\\n#1u\\n\\n#if !2l(10f)\\n#2f 10f\\n#1u\\n\\n#if !2l(6V)\\n#2f 6V\\n#1u\\n\\n#1u\\n","#1z 4EL\\1Fi 6V 1o;\\n#1s\\n\\n#if !2l(5v)\\n#2f 5v\\n#1u\\n\\n#if !2l(10f)\\n#2f 10f\\n#1u\\n\\n#if !2l(6V)\\n#2f 6V\\n#1u\\n\\n#1u\\n\\n// 4EW a 3YQ of 2a 17m 118 26N 3YR 1KP a 5Q5 1o.\\n// 9B 3YR 2a are 7RA to be 8-2aK 3ss 3YS, and are\\n// 3YR 3lB so:\\n// 2aZ = 2t(15d[0]) * 256 + 15d[1],\\2u 4EY(XR 1o 2aZ) {\\n    7P 4F0 = 7P(2aZ);\\n    7P v0 = 4F0 / 256;\\n    1f 1v(v0, 4F0 - v0 * 256);\\n}\\n\\2u 3Yu(XR 1o 4EZ) {\\n    7P 5Q4 = 7P(4EZ) / 2;\\n    1f 1v(1o(5Q4) / 127.0, 13R(4EZ, 2.0));\\n}\\n\\n// To 7Rz 1Z 2b of 2w 5Q3, we 1pT a 4-26M\\n// 1A 1KP a 3YQ of 4EU (i.e. a 1v) as 7Ry:\\n// [ 2t(1A.r * 255) * 256 + 1A.g * 255,\\n//   2t(1A.b * 255) * 256 + 1A.g * 255 ]\\1P 4EV(XR 1v 4EX) {\\n    1f 1m(\\n        4EY(4EX[0]) / 255.0,\\n        4EY(4EX[1]) / 255.0\\n    );\\n}\\n\\n// 4EW a 3YQ of 14I 2a and 1d9 1pS 24v.\\1r 7Rx(XR 1v 2aZ, XR 1o t) {\\n    1f 3T(2aZ[0], 2aZ[1], t);\\n}\\n\\n// 4EW a 3YQ of 14I 2a and 1d9 1pS 24v.\\1P 7Rw(XR 1m 3sr, XR 1o t) {\\n    1m 5Q2 = 4EV(1v(3sr[0], 3sr[1]));\\n    1m 5Q1 = 4EV(1v(3sr[2], 3sr[3]));\\n    1f 3T(5Q2, 5Q1, t);\\n}\\n\\n// 9B 2M 7Rv on 2j7 3sq 11n are 1pS 1Z 2pl 9X and 1Z 1Hy of 1Z 11H:\\n// 1v 2M = 13R(3YP, 4V)\\n//\\n// At 162 5K 28H 2aN are a 7Ru of 11n 1pS 1Z 2pl 9X and 1Z 1Hy of 1Z 11H.\\n// 9B 3sp 1SG 1cF 7Rt 16 1vF of 1k7 1j 6V 4EU. We 1dS 1v5 6L 17m.\\n//\\n// 9B 3YP is 4pW in as 1uk 16 2aK 2a:\\n// 4ET = 2t(3YP / 2^16)\\n// 4ES = 13R(3YP, 2^16)\\n//\\n// 9B 2M is 4EE in a 7Rs of 7Rr 17m 1tD 5P5 1a 1k7:\\2u 1S8(XR 1v 4ET, XR 1v 4ES,\\n    XR 1v 3so, XR 1o 5Q0, XR 1v 3h) {\\n\\n    1v 2M = 13R(13R(13R(4ET, 3so) * 256.0, 3so) * 256.0 + 4ES, 3so);\\n    1f (5Q0 * 3h + 2M) / 3so;\\n}\\n"),5OK=Ue("2n 1m 2Nb;\\1B 1o 1rP;\\n\\2s 2k() {\\n    2C = 2Nb * 1rP;\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","3Q 1v 13t;\\n\\1B 5w 9W;\\n\\2s 2k() {\\n    6I = 9W * 1m(13t, 0, 1);\\n}\\n"),5OJ=Ue("2n 1v 3Yo;\\1B 1v 3Yn;\\1B 1v 3Ym;\\1B 1v 3Yl;\\1B 1v 18n;\\1B 1o 24x;\\1B 1o 1rP;\\n\\1B 2v 1ax;\\n\\1J 1v 1rf;\\1J 1v 1re;\\n\\2s 2k() {\\n    1v 1X5 = 13R(1rf, 1.0);\\n    1v 3h = 3T(3Yo / 18n, 3Yn / 18n, 1X5);\\n    1m 1dT = 1Y(1ax, 3h);\\n\\n    1v 1X4 = 13R(1re, 1.0);\\n    1v 1HA = 3T(3Ym / 18n, 3Yl / 18n, 1X4);\\n    1m 1mG = 1Y(1ax, 1HA);\\n\\n    2C = 3T(1dT, 1mG, 24x) * 1rP;\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","2n 5w 9W;\\1B 1v 3Yk;\\1B 1v 3Yj;\\1B 1v 1q8;\\1B 1v 1q7;\\1B 1o 3Yi;\\1B 1o 3Yh;\\1B 1o 3s7;\\n\\2J 1v 13t;\\n\\1J 1v 1rf;\\1J 1v 1re;\\n\\2s 2k() {\\n    6I = 9W * 1m(13t, 0, 1);\\n\\n    1rf = 1S8(1q8, 1q7, 3Yi * 3Yk, 3s7, 13t);\\n    1re = 1S8(1q8, 1q7, 3Yh * 3Yj, 3s7, 13t);\\n}\\n"),5OI=Ue("3G 1w 2aS;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 10f 1o 3L\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 6V 1m 2aW\\n#3U 3H: 2f 10f 1o 1rh\\n#3U 3H: 2f 5v 1o 2aV\\n\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 10f 1o 3L\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 6V 1m 2aW\\n    #3U 3H: 6l 10f 1o 1rh\\n    #3U 3H: 6l 5v 1o 2aV\\n\\n        1v 19r = 2aS.xy;\\n        1o 2sp = 1h(19r);\\n\\n        5v 1o 2sm = 2aS.z;\\n        1o 2T7 = -1V(16B, 2sm);\\n\\n        1o 2T6 = 13f(0.0, 2T7, 2sp - 1.0);\\n\\n        1o 3CG = 1rh < 0.11t ? 0.0 : 13f(\\n            2T7,\\n            0.0,\\n            2sp - 3L / (3L + 1rh)\\n        );\\n\\n        2C = 2T6 * 3T(1A * 7z, 2aW * 2aV, 3CG);\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n    ","2n 5w 9W;\\n    2n 7d 2jg;\\n    2n 7d 1xL;\\n    2n 1v 1xK;\\n    2n 5v 1o 1aS;\\n    2n 6V 1o 1kN;\\n\\n    3Q 1v 13t;\\n\\n    3G 1w 2aS;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 10f 1o 3L\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 6V 1m 2aW\\n#3U 3H: 2f 10f 1o 1rh\\n#3U 3H: 2f 5v 1o 2aV\\n\\n    1p 2k(1p) {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 10f 1o 3L\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 6V 1m 2aW\\n    #3U 3H: 6l 10f 1o 1rh\\n    #3U 3H: 6l 5v 1o 2aV\\n\\n        // 4fI 1Z 1iI 8r 17m we 4fH 1KP 1Z 13t 8r\\n        1v 19r = 1v(13R(13t, 2.0) * 2.0 - 1.0);\\n\\n        // 9b 13t by 0.5, 1WY we 4fG it * 2 in 1HC to 4fF\\n        // in 1iI 2g\\n        1v 2sn = 2t(13t * 0.5);\\n        if (1xL) {\\n            1v 2so = 2sn;\\n            if (2jg) {\\n                2so += 19r * (3L + 1rh) * 1xK;\\n            } 1s {\\n                // 58J 1Z 12O 10M 1Z 5d 4fE 2aU it 10M 1Z 5d\\n                // To 2T5 1Z 1F0 1j 8q-3b: 5q, we 58I 1Z\\n                // 58H 12O 24y on 1Z 8q 58G 1F0 at 2aT 58F 7v\\n                1m 3CF = 9W * 1m(2sn, 0, 1);\\n                2so += 19r * (3L + 1rh) * 1xK * (3CF.w / 1kN);\\n            }\\n\\n            6I = 9W * 1m(2so, 0, 1);\\n        } 1s {\\n            6I = 9W * 1m(2sn, 0, 1);\\n\\n            if (2jg) {\\n                6I.xy += 19r * (3L + 1rh) * 1xK * 1kN;\\n            } 1s {\\n                6I.xy += 19r * (3L + 1rh) * 1xK * 6I.w;\\n            }\\n        }\\n\\n        // 18m is a 13b 16B 3s 17m 58D as a 58C-2sl 1j\\n        // 1Z 12O. 1WY 16B is a 1iJ of 1Z 12O\'s 4V and 1Z 58B is\\n        // to 1eL 1Z 16B at 58A 1px, 1Z 1uk are 58z 58y.\\n        5v 1o 2sm = 1.0 / 1aS / (3L + 1rh);\\n\\n        2aS = 1w(19r.x, 19r.y, 2sm);\\n    }\\n"),5OH=Ue("1p 2k() {\\n    2C = 1m(1.0);\\n}\\n","3Q 1v 13t;\\n\\1B 5w 9W;\\n\\2s 2k() {\\n    6I = 9W * 1m(13t, 0, 1);\\n}\\n"),5OG=Ue("2n 6V 1o 36R;\\n\\1J 1v 2gH;\\n\\n#3U 3H: 2f 6V 1o 1hF\\n\\n// 4EQ 2Ng 5PY: 1 / 3Y(2 * PI)\\n#2f 36Q 0.5PX\\n\\2s 2k() {\\n    #3U 3H: 6l 6V 1o 1hF\\n\\n    // 7Rq 1DZ 7Rp 10M a 4EQ 2Ng of 4V 5x5\\n    1o d = -0.5 * 3.0 * 3.0 * 2A(2gH, 2gH);\\n    1o 2eq = 1hF * 36R * 36Q * 108(d);\\n\\n    2C = 1m(2eq, 1.0, 1.0, 1.0);\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","\\1B 5w 9W;\\1B 1o 1xK;\\1B 1o 1rP;\\1B 1o 36R;\\n\\2J 1v 13t;\\n\\1J 1v 2gH;\\n\\n#3U 3H: 2f 6V 1o 1hF\\n#3U 3H: 2f 10f 1o 3L\\n\\n// 7Ro \\"0\\" in 1Z 2Ng 1DZ 7y to 5PZ 1Z 2Ng 4V to;\\n// 1a 7Rn 7Rm 2b 7Rl 7Rk on 4ER 7Rj\\n// 1j 7Ri 22f 2Nh (7Rh 1En 5j)\\4i 6V 1o 6h = 1.0 / 255.0 / 16.0;\\n\\n// 4EQ 2Ng 5PY: 1 / 3Y(2 * PI)\\n#2f 36Q 0.5PX\\n\\2s 2k(1p) {\\n    #3U 3H: 6l 6V 1o 1hF\\n    #3U 3H: 6l 10f 1o 3L\\n\\n    // 4fI 1Z 1iI 8r 17m we 4fH 1KP 1Z 13t 8r\\n    1v 5PU = 1v(13R(13t, 2.0) * 2.0 - 1.0);\\n\\n    // 18m \'19r\' 7Rg in 7Rf 19f [-1, -1], to [1, 1].  We\'ll 14W\\n    // it to 5PT 1Z 1co of a 4DC 13q 7Re 1Z 7v 7n\\n    // we\'re 3eO to 1Z 2Ng 1DZ 7y.  We\'ll 1S5 6t it as\\n    // a 3G, so 17m 1Z 1fo 1d8 1ag 5PW 1Z 3s of\\n    // 30y 1fo 19f 1Z 7v 7n.\\n    // 7Rd we do so, we 1dS to 3b it up 7Rc so 17m 1Z\\n    // 2Ng 7Rb 4fE to 16m at 1Z 1Hy of 1Z 13q.\\n    // 7Ra is, we 3P1 to 7R9 S 7R8 17m\\n    // 1hF * 36R * 36Q * 108(-0.5 * 3.0^2 * S^2) == 6h\\n    // 7R7 7R6 to:\\n    // S = 3Y(-2.0 * 7k(6h / (1hF * 36R * 36Q))) / 3.0\\n    1o S = 3Y(-2.0 * 7k(6h / 1hF / 36R / 36Q)) / 3.0;\\n\\n    // 4iv 1Z 3G in 13u of 3L\\n    2gH = S * 5PU;\\n\\n    // 1S2 by 3L and 1Z 5K-24y 3b 8H to 5PT 1C1\\n    // 13q 1K\\n    1v 19r = 2gH * 3L * 1xK;\\n\\n    // 9b 13t by 0.5, 1WY we 4fG it * 2 in 1HC to 4fF\\n    // in 1iI 2g\\n    1m 3h = 1m(2t(13t * 0.5) + 19r, 0, 1);\\n\\n    6I = 9W * 3h;\\n}\\n"),5OF=Ue("2n 2v 1ax;\\1B 2v 5PS;\\1B 1o 1rP;\\1J 1v 1fM;\\n\\2s 2k() {\\n    1o t = 1Y(1ax, 1fM).r;\\n    1m 1A = 1Y(5PS, 1v(t, 0.5));\\n    2C = 1A * 1rP;\\n\\n#1z 1kM\\n    2C = 1m(0.0);\\n#1u\\n}\\n","2n 5w 9W;\\1B 1v 1HB;\\2J 1v 13t;\\1J 1v 1fM;\\n\\2s 2k() {\\n    6I = 9W * 1m(13t * 1HB, 0, 1);\\n\\n    1fM.x = 13t.x;\\n    1fM.y = 1.0 - 13t.y;\\n}\\n"),5OD=Ue("\\1J 1o 2B5;\\1J 1o 2B4;\\n\\2s 2k() {\\n\\n    1o 2O = 0.5;\\n\\n    // 5PR = 3YO, 5PQ 17R\\n    2C = 1m(1.0, 0.0, 0.0, 1.0) * 2O;\\n\\n    // 3sn = no 3YO, 17R is 5PP\\n    if (2B5 > 0.5) {\\n        2C = 1m(0.0, 0.0, 1.0, 0.5) * 2O;\\n    }\\n\\n    if (2B4 > 0.5) {\\n        // 18m 13F 2S 1rd, 1ay it 9H\\n        2C *= .1;\\n    }\\n}","3Q 1v 13t;\\2J 1v 36P;\\2J 1v 1oX;\\2J 1v 2Nf;\\2J 1v 4EP;\\n\\1B 5w 9W;\\1B 1v 1xK;\\1B 1o 1kN;\\n\\1J 1o 2B5;\\1J 1o 2B4;\\n\\2s 2k() {\\n    1m 1JX = 9W * 1m(36P, 0, 1);\\n    6V 1o 1Vr = 1JX.w;\\n    6V 1o 3sm = 2Y(\\n        0.5 + 0.5 * (1kN / 1Vr),\\n        0.0, // 3sd 3sc 3I-1bF 28G in 28D/3sb 17v\\n        4.0);\\n\\n    6I = 9W * 1m(13t, 0.0, 1.0);\\n    6I.xy += (1oX + 4EP) * 1xK * 6I.w * 3sm;\\n\\n    2B5 = 2Nf.x;\\n    2B4 = 2Nf.y;\\n}\\n"),5OC=Ue("2n 1o 5PO;\\n\\1J 1o 2B5;\\1J 1o 2B4;\\1J 1o 3YM;\\1J 1v 2gH;\\1J 1v 3YL;\\n\\2s 2k() {\\n    1o 2O = 0.5;\\n\\n    // 5PR = 3YO, 5PQ 17R\\n    1m 1A = 1m(1.0, 0.0, 0.0, 1.0) * 2O;\\n\\n    // 3sn = no 3YO, 17R is 5PP\\n    if (2B5 > 0.5) {\\n        1A = 1m(0.0, 0.0, 1.0, 0.5) * 2O;\\n    }\\n\\n    if (2B4 > 0.5) {\\n        // 18m 13F 2S 1rd, 1ay it 9H\\n        1A *= .2;\\n    }\\n\\n    1o 3YN = 1h(3YL);\\n    1o 2sp = 1h(2gH) * 3YN;\\n    1o 1rh = 15.0 * 3YN / 5PO;\\n    1o 3L = 3YM * 3YN;\\n\\n    1o 5PN = abs(2sp - 3L);\\n    1o 2T6 = 13f(-1rh, 0.0, -5PN);\\n\\n    2C = 2T6 * 1A;\\n}\\n","3Q 1v 13t;\\2J 1v 36P;\\2J 1v 1oX;\\2J 1v 2Nf;\\n\\1B 5w 9W;\\1B 1v 1xK;\\1B 1o 1kN;\\n\\1J 1o 2B5;\\1J 1o 2B4;\\1J 1o 3YM;\\n\\1J 1v 2gH;\\1J 1v 3YL;\\n\\2s 2k() {\\n    1m 1JX = 9W * 1m(36P, 0, 1);\\n    6V 1o 1Vr = 1JX.w;\\n    6V 1o 3sm = 2Y(\\n        0.5 + 0.5 * (1kN / 1Vr),\\n        0.0, // 3sd 3sc 3I-1bF 3MW in 28D/3sb 17v\\n        4.0);\\n\\n    6I = 9W * 1m(13t, 0.0, 1.0);\\n\\n    6V 1o 4EO = 1.2; // 7R5 1Z 1co 7R4 to 35H 5PM 1j 7R3-7R2 16B\\n    6I.xy += 1oX * 1xK * 4EO * 6I.w * 3sm;\\n\\n    2B5 = 2Nf.x;\\n    2B4 = 2Nf.y;\\n    3YM = abs(1oX.y); // We 3P3\'t 8q 1Z 3MW, so 1oE 13u of 1Z 1iI 8r are 14B in 7t to 1Z 3L\\n\\n    2gH = 1oX * 4EO;\\n    3YL = 1xK * 1kN * 3sm;\\n}\\n"),5OB=Ue("2n 6V 1m 2Nb;\\n\\2s 2k() {\\n    2C = 2Nb;\\n}\\n","3Q 1v 13t;\\n\\1B 5w 9W;\\n\\2s 2k() {\\n    6I = 9W * 1m(13t, 0, 1);\\n}\\n"),5OA=Ue("#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 7z\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 5v 1o 7z\\n        2C = 1A * 7z;\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n","3Q 1v 13t;\\n    2n 5w 9W;\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 7z\\n    1p 2k() {\\n#3U 3H: 6l 6V 1m 1A\\n#3U 3H: 6l 5v 1o 7z\\n        6I = 9W * 1m(13t.x, 13t.y, 0, 1);\\n    }\\n"),5Oz=Ue("3G 1v 1fM;\\n#3U 3H: 2f 6V 1m 2aP\\n#3U 3H: 2f 5v 1o 7z\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 2aP\\n    #3U 3H: 6l 5v 1o 7z\\n\\n        1o 6Y = 1h(1fM - 4u.xy);\\n        1o 2O = 1.0 - 13f(0.0, 1.0, 6Y);\\n        2C = 2aP * (2O * 7z);\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n","3Q 1v 13t;\\n    2n 5w 9W;\\n    2n 1v 1HB;\\n    3G 1v 1fM;\\n#3U 3H: 2f 6V 1m 2aP\\n#3U 3H: 2f 5v 1o 7z\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 2aP\\n    #3U 3H: 6l 5v 1o 7z\\n        6I = 9W * 1m(13t, 0, 1);\\n        1fM = (6I.xy / 6I.w + 1.0) / 2.0 * 1HB;\\n    }\\n"),5Oy=Ue("2n 1v 18n;\\n    2n 2v 1ax;\\n    2n 1o 1xJ;\\n\\n    3G 1v 1rf;\\n    3G 1v 1re;\\n    3G 1v 1fM;\\n\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\n    1p 2k() {\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n        1v 1lM = 1be.xy;\\n        1v 1lN = 1be.zw;\\n        1v 1lK = 1bd.xy;\\n        1v 1lL = 1bd.zw;\\n\\n        1v 1X5 = 13R(1rf, 1.0);\\n        1v 3h = 3T(1lM / 18n, 1lN / 18n, 1X5);\\n        1m 1dT = 1Y(1ax, 3h);\\n\\n        1v 1X4 = 13R(1re, 1.0);\\n        1v 1HA = 3T(1lK / 18n, 1lL / 18n, 1X4);\\n        1m 1mG = 1Y(1ax, 1HA);\\n\\n        // 1oZ 3s to 8Y 1j 2O 1w3\\n\\n        1o 6Y = 1h(1fM - 4u.xy);\\n        1o 2O = 1.0 - 13f(0.0, 1.0, 6Y);\\n        2C = 3T(1dT, 1mG, 1xJ) * 2O * 7z;\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n","2n 5w 9W;\\n    2n 1v 1HB;\\n    2n 1v 1q8;\\n    2n 1v 1q7;\\n    2n 1m 1fh;\\n\\n    3Q 1v 13t;\\n\\n    3G 1v 1rf;\\n    3G 1v 1re;\\n    3G 1v 1fM;\\n\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\n    1p 2k() {\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n        1v 1lM = 1be.xy;\\n        1v 1lN = 1be.zw;\\n        1v 1lK = 1bd.xy;\\n        1v 1lL = 1bd.zw;\\n\\n        1o 13S = 1fh.x;\\n        1o 2aQ = 1fh.y;\\n        1o 1oY = 1fh.z;\\n        1o 1EW = 1fh.w;\\n\\n        6I = 9W * 1m(13t, 0, 1);\\n\\n        1v 1S9 = 1v((1lN.x - 1lM.x) / 13S, (1lN.y - 1lM.y) / 13S);\\n        1v 1S7 = 1v((1lL.x - 1lK.x) / 13S, (1lL.y - 1lK.y) / 13S);\\n\\n        1rf = 1S8(1q8, 1q7, 1oY * 1S9, 2aQ, 13t);\\n        1re = 1S8(1q8, 1q7, 1EW * 1S7, 2aQ, 13t);\\n\\n        1fM = (6I.xy / 6I.w + 1.0) / 2.0 * 1HB;\\n    }\\n"),5Ox=Ue("2n 1v 18n;\\n    2n 1o 1xJ;\\n\\n    2n 2v 1ax;\\n\\n    3G 1v 1rf;\\n    3G 1v 1re;\\n\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\n    1p 2k() {\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n        1v 1lM = 1be.xy;\\n        1v 1lN = 1be.zw;\\n        1v 1lK = 1bd.xy;\\n        1v 1lL = 1bd.zw;\\n\\n        1v 1X5 = 13R(1rf, 1.0);\\n        1v 3h = 3T(1lM / 18n, 1lN / 18n, 1X5);\\n        3h.y = 1.0 - 3h.y;\\n        1m 1dT = 1Y(1ax, 3h);\\n\\n        1v 1X4 = 13R(1re, 1.0);\\n        1v 1HA = 3T(1lK / 18n, 1lL / 18n, 1X4);\\n        1HA.y = 1.0 - 1HA.y;\\n        1m 1mG = 1Y(1ax, 1HA);\\n\\n        2C = 3T(1dT, 1mG, 1xJ) * 7z;\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n","2n 5w 9W;\\n    2n 1v 1q8;\\n    2n 1v 1q7;\\n    2n 1m 1fh;\\n\\n    3Q 1v 13t;\\n\\n    3G 1v 1rf;\\n    3G 1v 1re;\\n\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\n    1p 2k() {\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n        1v 1lM = 1be.xy;\\n        1v 1lN = 1be.zw;\\n        1v 1lK = 1bd.xy;\\n        1v 1lL = 1bd.zw;\\n\\n        1o 13S = 1fh.x;\\n        1o 2je = 1fh.y;\\n        1o 1oY = 1fh.z;\\n        1o 1EW = 1fh.w;\\n\\n        1v 1S9 = 1v((1lN.x - 1lM.x) / 13S, (1lN.y - 1lM.y) / 13S);\\n        1v 1S7 = 1v((1lL.x - 1lK.x) / 13S, (1lL.y - 1lK.y) / 13S);\\n        6I = 9W * 1m(13t, 0, 1);\\n\\n        1rf = 1S8(1q8, 1q7, 1oY * 1S9, 2je, 13t);\\n        1re = 1S8(1q8, 1q7, 1EW * 1S7, 2je, 13t);\\n    }\\n"),5Ow=Ue("3G 1m 15g;\\n\\2s 2k() {\\n    2C = 15g;\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","2n 5w 9W;\\1B 1w 2gG;\\1B 5v 1w 3YK;\\1B 5v 1o 2B3;\\1B 1o 36O;\\1B 5v 1o 1rP;\\n\\2J 1v 13t;\\2J 1m 3sl;\\n\\1J 1m 15g;\\n\\n#3U 3H: 2f 6V 1o 13T\\n#3U 3H: 2f 6V 1o 1D\\n\\n#3U 3H: 2f 6V 1m 1A\\n\\2s 2k() {\\n    #3U 3H: 6l 6V 1o 13T\\n    #3U 3H: 6l 6V 1o 1D\\n    #3U 3H: 6l 6V 1m 1A\\n\\n    1w 2U = 3sl.1H;\\n\\n    13T = 1V(0.0, 13T);\\n    1D = 1V(0.0, 1D);\\n\\n    1o t = 13R(2U.x, 2.0);\\n\\n    6I = 9W * 1m(13t, t > 0.0 ? 1D : 13T, 1);\\n\\n    // 5PL 1Fj (2j7 7R1/7R0 is 1Z 2bw 1A?)\\n    1o 5PJ = 1A.r * 0.4gM + 1A.g * 0.4gL + 1A.b * 0.4gJ;\\n\\n    15g = 1m(0.0, 0.0, 0.0, 1.0);\\n\\n    // 2Mr 7QZ 18A 4EN so no 7QY are 7QX 2p4\\n    1m 5PK = 1m(0.25l, 0.25l, 0.25l, 1.0);\\n    1A += 5PK;\\n\\n    // 1Ab 3i(1Df), 4EK 1Df is 1Z 8f 1pS 2bw 2U and 8t 1e8 11j\\n    1o 1oH = 2Y(2A(2U / 1xn.0, 3YK), 0.0, 1.0);\\n\\n    // 7QW 1oH so 17m\\n    // 1Z 11D of 2a 1j 2lI/2xE is 7QV\\n    // 10M 1wp 1e8 12r\\n    // and 10M 4EM/7QU 2bw 1Bd\\n    1oH = 3T((1.0 - 2B3), 1V((1.0 - 5PJ + 2B3), 1.0), 1oH);\\n\\n    // 2Mr 1tl 4EB z 1Dm of 1NR 7QT\\n    if (2U.y != 0.0) {\\n        // 18m 5PE 1KN 5PD 5PC, 19T 5PB by a 10p of 0.84 if no 1km 1tl,\\n        // and 10g 5PA 1Z 1tl 24y on 13T + 1D\\n        1oH *= (\\n            (1.0 - 36O) +\\n            (36O * 2Y((t + 13T) * 3r(1D / 150.0, 0.5), 3T(0.7, 0.98, 1.0 - 2B3), 1.0)));\\n    }\\n\\n    // 7QS 1Lr 1A 24y on 2bw + 18A 1e8 1A, 8t 1e8 1oH, and 1e8 1A\\n    // 10M 1wp 14w 7QR to 1lQ of 1e8\\n    // so 17m 2xE is 7QQ 10M 1Z 7QP (2bf) 1A to 1Z 1e8 1A\\n    15g.r += 2Y(1A.r * 1oH * 2gG.r, 3T(0.0, 0.3, 1.0 - 2gG.r), 1.0);\\n    15g.g += 2Y(1A.g * 1oH * 2gG.g, 3T(0.0, 0.3, 1.0 - 2gG.g), 1.0);\\n    15g.b += 2Y(1A.b * 1oH * 2gG.b, 3T(0.0, 0.3, 1.0 - 2gG.b), 1.0);\\n    15g *= 1rP;\\n}\\n"),5Ov=Ue("2n 1v 18n;\\1B 1o 1xJ;\\n\\1B 2v 1ax;\\n\\1J 1v 1rf;\\1J 1v 1re;\\1J 1m 36N;\\n\\n#3U 3H: 2f 5v 1o 13T\\n#3U 3H: 2f 5v 1o 1D\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\2s 2k() {\\n    #3U 3H: 6l 5v 1o 13T\\n    #3U 3H: 6l 5v 1o 1D\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n    1v 1lM = 1be.xy;\\n    1v 1lN = 1be.zw;\\n    1v 1lK = 1bd.xy;\\n    1v 1lL = 1bd.zw;\\n\\n    1v 1X5 = 13R(1rf, 1.0);\\n    1v 3h = 3T(1lM / 18n, 1lN / 18n, 1X5);\\n    1m 1dT = 1Y(1ax, 3h);\\n\\n    1v 1X4 = 13R(1re, 1.0);\\n    1v 1HA = 3T(1lK / 18n, 1lL / 18n, 1X4);\\n    1m 1mG = 1Y(1ax, 1HA);\\n\\n    1m 5PI = 3T(1dT, 1mG, 1xJ);\\n\\n    2C = 5PI * 36N;\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","2n 5w 9W;\\1B 1v 1q8;\\1B 1v 1q7;\\1B 1o 5PG;\\1B 1m 1fh;\\1B 1o 36O;\\1B 5v 1o 1rP;\\n\\1B 1w 2gG;\\1B 5v 1w 3YK;\\1B 5v 1o 2B3;\\n\\2J 1v 13t;\\2J 1m 3sl;\\n\\1J 1v 1rf;\\1J 1v 1re;\\1J 1m 36N;\\n\\n#3U 3H: 2f 5v 1o 13T\\n#3U 3H: 2f 5v 1o 1D\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\2s 2k() {\\n    #3U 3H: 6l 5v 1o 13T\\n    #3U 3H: 6l 5v 1o 1D\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n    1v 1lM = 1be.xy;\\n    1v 1lN = 1be.zw;\\n    1v 1lK = 1bd.xy;\\n    1v 1lL = 1bd.zw;\\n\\n    1o 13S = 1fh.x;\\n    1o 2aQ = 1fh.y;\\n    1o 1oY = 1fh.z;\\n    1o 1EW = 1fh.w;\\n\\n    1w 2U = 3sl.1H;\\n    1o 5PH = 3sl.w;\\n\\n    1v 1S9 = 1v((1lN.x - 1lM.x) / 13S, (1lN.y - 1lM.y) / 13S);\\n    1v 1S7 = 1v((1lL.x - 1lK.x) / 13S, (1lL.y - 1lK.y) / 13S);\\n\\n    13T = 1V(0.0, 13T);\\n    1D = 1V(0.0, 1D);\\n\\n    1o t = 13R(2U.x, 2.0);\\n    1o z = t > 0.0 ? 1D : 13T;\\n\\n    6I = 9W * 1m(13t, z, 1);\\n\\n    1v 3h = 2U.x == 1.0 && 2U.y == 0.0 && 2U.z == 1xn.0\\n        ? 13t // 1iI 5C\\n        : 1v(5PH, z * 5PG); // 1iI 1NR\\n\\n    1rf = 1S8(1q8, 1q7, 1oY * 1S9, 2aQ, 3h);\\n    1re = 1S8(1q8, 1q7, 1EW * 1S7, 2aQ, 3h);\\n\\n    36N = 1m(0.0, 0.0, 0.0, 1.0);\\n    1o 1oH = 2Y(2A(2U / 5PF.0, 3YK), 0.0, 1.0);\\n    1oH = 3T((1.0 - 2B3), 1V((0.5 + 2B3), 1.0), 1oH);\\n\\n    if (2U.y != 0.0) {\\n        // 18m 5PE 1KN 5PD 5PC, 19T 5PB by a 10p of 0.84 if no 1km 1tl,\\n        // and 10g 5PA 1Z 1tl 24y on 13T + 1D\\n        1oH *= (\\n            (1.0 - 36O) +\\n            (36O * 2Y((t + 13T) * 3r(1D / 150.0, 0.5), 3T(0.7, 0.98, 1.0 - 2B3), 1.0)));\\n    }\\n\\n    36N.2y += 2Y(1oH * 2gG, 3T(1w(0.0), 1w(0.3), 1.0 - 2gG), 1w(1.0));\\n    36N *= 1rP;\\n}\\n"),5Ou=Ue("#1z 4EL\\1Fi 6V 1o;\\n#1u\\n\\1B 2v 1ax;\\1J 1v 1fM;\\1B 1v 36M;\\1B 1o 2B2;\\1B 1o 4EJ;\\1B 1m 5Py;\\n\\1r 2gF(1v 16Q, 1o 1l0) {\\n    // 7QO 1eO 5Pz 1Q to 36g\\n    1m 2g = 1Y(1ax, 16Q) * 255.0;\\n    2g.a = -1.0;\\n    1f 2A(2g, 5Py) / 4.0;\\n}\\n\\2s 2k() {\\n    1v 1fk = 1.0 / 36M;\\n\\n    // 7QN 11n:\\n    // +-----------+\\n    // |   |   |   |\\n    // | a | b | c |\\n    // |   |   |   |\\n    // +-----------+\\n    // |   |   |   |\\n    // | d | e | f |\\n    // |   |   |   |\\n    // +-----------+\\n    // |   |   |   |\\n    // | g | h | i |\\n    // |   |   |   |\\n    // +-----------+\\n\\n    1o a = 2gF(1fM + 1v(-1fk.x, -1fk.y), 0.0);\\n    1o b = 2gF(1fM + 1v(0, -1fk.y), 0.0);\\n    1o c = 2gF(1fM + 1v(1fk.x, -1fk.y), 0.0);\\n    1o d = 2gF(1fM + 1v(-1fk.x, 0), 0.0);\\n    1o e = 2gF(1fM, 0.0);\\n    1o f = 2gF(1fM + 1v(1fk.x, 0), 0.0);\\n    1o g = 2gF(1fM + 1v(-1fk.x, 1fk.y), 0.0);\\n    1o h = 2gF(1fM + 1v(0, 1fk.y), 0.0);\\n    1o i = 2gF(1fM + 1v(1fk.x, 1fk.y), 0.0);\\n\\n    // 3is we 3Rh 1Z x and y 7QM by 8 * 17W 4V\\n    // 4EK 17W 4V (aka 36g/17W) is:\\n    // 7QL of 1Z 2pl / (11n 2pi 11H * 2b of 17v)\\n    // 1nN is 7QK to: 8 * 7QJ.7QI / (512 * 3r(2, 2B2))\\n    // 1nN 1ag be 7QH to: 3r(2, 19.7QG - 2B2)\\n    // we 3P1 to 7QF 7QE 1Z 5Ps 7QD, 2Jo 10g\\n    // it is 7QC 7QB at 15r 7QA. to do 1a, we 9b 1a by 2Ne\\n    // 3b 8H 3r(2, (2B2 - 4EJ) * a) 4EK a is an 5Pv 1Q\\n    // 7Qz we 14W a=0.3 1nN 5Px 9H to 1Z 6d 4Cb. 15q \\n    // 7Qy\'s 7Qx 7Qw 1j 1v5 2Ax\\n    // 1bU://31k.11Y/3H/3H-gl-js/7Qv/7Qu#7Qt\\n    1o 1MU = 2B2 < 2.0 ? 0.4 : 2B2 < 4.5 ? 0.35 : 0.3;\\n\\n    1v 2pk = 1v(\\n        (c + f + f + i) - (a + d + d + g),\\n        (g + h + h + i) - (a + b + b + c)\\n    ) /  3r(2.0, (2B2 - 4EJ) * 1MU + 19.5Pw - 2B2);\\n\\n    2C = 2Y(1m(\\n        2pk.x / 2.0 + 0.5,\\n        2pk.y / 2.0 + 0.5,\\n        1.0,\\n        1.0), 0.0, 1.0);\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","2n 5w 9W;\\1B 1v 36M;\\n\\2J 1v 13t;\\2J 1v 36K;\\n\\1J 1v 1fM;\\n\\2s 2k() {\\n    6I = 9W * 1m(13t, 0, 1);\\n\\n    6V 1v 1fk = 1.0 / 36M;\\n    1o 3b = (36M.x - 2.0) / 36M.x;\\n    1fM = (36K / 1c8.0) * 3b + 1fk;\\n}\\n"),5Ot=Ue("2n 2v 1ax;\\1J 1v 1fM;\\n\\1B 1v 3YI;\\1B 1v 4EH;\\1B 1m 5Pp;\\1B 1m 5Po;\\1B 1m 5Pq;\\n\\n#2f PI 3.24J\\n\\2s 2k() {\\n    1m 17W = 1Y(1ax, 1fM);\\n\\n    1v 2pk = ((17W.rg * 2.0) - 1.0);\\n\\n    // We 3Rh 1Z 1rp by a 3b 8H 24y on 1Z 7Qs of 1Z 17W\'s 7Qr 4k\\n    // to 2B1 1j 2zy 18T 1mR. 15q #7Qq 1j 1Tm\\n    1o 4EI = 3i(3YJ((3YI[0] - 3YI[1]) * (1.0 - 1fM.y) + 3YI[1]));\\n    // We 1S5 9b 1Z 1rp by an 5Pv z-8H of 1.25\\n    1o 1rp = 16D(1.25 * 1h(2pk) / 4EI);\\n    1o 3Jv = 2pk.x != 0.0 ? 16D(2pk.y, -2pk.x) : PI / 2.0 * (2pk.y > 0.0 ? 1.0 : -1.0);\\n\\n    1o 12r = 4EH.x;\\n    // We add PI to 35H 1a 5i 141 1Z 1ii 1e8 2c, 1nN 7Qp PI/2 to 1Z 1e8\'s 5Pt\\n    // 1K 5i to 2B1 1j 7Qo 7Qn to 4P/1Z 5C of 1Z 5q in 1Z 2r 1SG\\n    // and 1Z 2GP 1d8 9x 7Qm to 5Pu (-7Ql - 90) as 1Z 5Pt.\\n    1o 3sk = 4EH.y + PI;\\n\\n    // We 3b 1Z 1rp 7Qk 24y on 12r, 1nl a 7Qj 7Qi to\\n    // 1Z 22h 1w3 1b in 1Z 2r 1SG:\\n    // 1bU://31k.11Y/3H/3H-gl-js/1i3/4EG/1bv/2r-1SG/6d/4EF/1d9.js#7Qh-7Qg\\n    // so 17m 5Jn 12r 2a 6F 1v5 1xU 5Ps.\\n    1o 13T = 1.875 - 12r * 1.75;\\n    1o 1bj = 0.5 * PI;\\n    1o 4ED = 12r != 0.5 ? ((3r(13T, 1rp) - 1.0) / (3r(13T, 1bj) - 1.0)) * 1bj : 1rp;\\n\\n    // 9B 2p2 1A is 4EE 10M 1Z 7Qf of 1Z 1rp 14p 1Z 1SN 1A is 4EE 10M 1Z 7Qe\\n    // so 17m 1Z 2p2 1A\'s 3gy of 1v3 5Pr in 14p 1Z 1SN 1A\'s 5Pr 9H.\\n    1o 2p2 = 3i(4ED);\\n    // We 9b 1oE 1Z 2p2 and 1SN 1A by a 7Qd 12r 1Q\\n    // so 17m 7Qc >= 0.5 do 2S 7Qb 7Qa 1Z 1A 2a\\n    // 14p 12r 2a < 0.5 35H 1Z 7Q9 1A 1v5 18b.\\n    1m 5Pn = (1.0 - 2p2) * 5Pq * 2Y(12r * 2.0, 0.0, 1.0);\\n    1o 1SN = abs(13R((3Jv + 3sk) / PI + 0.5, 2.0) - 1.0);\\n    1m 4EC = 3T(5Pp, 5Po, 1SN) * 2T(4ED) * 2Y(12r * 2.0, 0.0, 1.0);\\n    2C = 5Pn * (1.0 - 4EC.a) + 4EC;\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","2n 5w 9W;\\n\\2J 1v 13t;\\2J 1v 36K;\\n\\1J 1v 1fM;\\n\\2s 2k() {\\n    6I = 9W * 1m(13t, 0, 1);\\n    1fM = 36K / 1c8.0;\\n}\\n"),5Os=Ue("2n 5v 1o 1aS;\\n\\n    3G 1v 1aR;\\n    3G 1v 1fL;\\n    3G 1o 1rb;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n\\n        // 1Ab 1Z 3s of 1Z 17W 19f 1Z 6D in 11n.\\n        1o 6Y = 1h(1fL) * 1aR.s;\\n\\n        // 1Ab 1Z 2sl 1ay 8H. 18m is 1X3 16r 1X2 in\\n        // 1Z 6D in 1S of an 2M 6D (1aR.t) or 16r 1X2 9H\\n        // (1aR.s)\\n        1o 1C5 = (16B + 1.0 / 1aS) * 1rb;\\n        1o 2O = 2Y(2o(6Y - (1aR.t - 1C5), 1aR.s - 6Y) / 1C5, 0.0, 1.0);\\n\\n        2C = 1A * (2O * 7z);\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n","// 2t(127 / 2) == 63.0\\n// 1Z 14S 2T2 1Ac 1C4 is 2.0 at 1Z 2T1. 1Z 19r 2U is\\n// 2sj in a 1Hz (-128..127). we 3b 2FJ 1q6 up to 1h 63, 19T\\n// 2aN are 1S5 2T0 1q6 17m 118 a 2SZ 1h (of up to 126 in\\n// 1a 1S).\\n// #2f 3b 63.0\\n    #2f 3b 0.2SY\\n\\n    3Q 1v 1q5;\\n    3Q 1m 1em;\\n\\n    2n 5w 9W;\\n    2n 10f 1o 1mF;\\n    2n 1v 1uj;\\n    2n 5v 1o 1aS;\\n\\n    3G 1v 1fL;\\n    3G 1v 1aR;\\n    3G 1o 1rb;\\n    3G 6V 1o 2j8;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 10f 1o 1bc\\n#3U 3H: 2f 5v 1o 2M\\n#3U 3H: 2f 10f 1o 1G\\n\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1o 1bc\\n    #3U 3H: 6l 5v 1o 2M\\n    #3U 3H: 6l 10f 1o 1G\\n\\n        // 1Z 3s 2aM 1nN 1Z 6D 1Hy 2SX 9H.\\n        // 2SW 2si 1dS a 2sh 3s to 2j9 2SV.\\n        1o 1C2 = 1.0 / 1aS / 2.0;\\n\\n        1v 1oX = 1em.xy - 128.0;\\n        1o 1C0 = 13R(1em.z, 4.0) - 1.0;\\n\\n        2j8 = (2t(1em.z / 4.0) + 1em.w * 64.0) * 2.0;\\n\\n        1v 3h = 2t(1q5 * 0.5);\\n\\n        // x is 1 if it\'s a 9p 1S4, 0 10g\\n        // y is 1 if 1Z 2U 5I up, and -1 if it 5I 1fK\\n        // We 2aL 1S3 in 1Z 1gR 2sg 2aK of 1q5\\n        10f 1v 2U = 1q5 - 2.0 * 3h;\\n        2U.y = 2U.y * 2.0 - 1.0;\\n        1fL = 2U;\\n\\n        // 1S3 2SU 1rd to be 2ST in 1Z JS and 2SS 16A 2SR.\\n        // 24w 24v 1KP 1Z 1d8 1j 2SQ and 2SP.\\n        1bc = 1bc / 2.0;\\n        1o 1C3 = 1G / 2.0;\\n        2M = -1.0 * 2M;\\n\\n        1o 1WU = 1bc + (1bc > 0.0 ? 1C2 : 0.0);\\n        1o 1Aa = 1bc + 1C3 * (1bc > 0.0 ? 2.0 : 1.0) + (1C3 == 0.0 ? 0.0 : 1C2);\\n\\n        // 1S2 1Z 1iI 8r 1fK to a 2U and 4b up by 1Z 6D 1G\\n        // of 1a 1rc.\\n        10f 1v 6Y = 1Aa * 1oX * 3b;\\n\\n        // 1Ab 1Z 2M 16r 1WZ a 6D 17m is to 1Z 1NR of 1Z 1C1 6D.\\n        // We do 1a by 2sf a 8r 17m 5I 2SO 1Z 19r, 19T 17b\\n        // it 16r we\'re 1WZ 9p 9o 5I (1C0 = -1 or 1) 1WY 2SN\\n        // 19r 8r 5I in 1KN 2G.\\n        10f 1o u = 0.5 * 1C0;\\n        10f 1o t = 1.0 - abs(u);\\n        10f 1v 1WX = 2M * 1oX * 3b * 2U.y * 1bG(t, -u, u, t);\\n\\n        1m 1BZ = 9W * 1m(6Y / 1mF, 0.0, 0.0);\\n        6I = 9W * 1m(3h + 1WX / 1mF, 0.0, 1.0) + 1BZ;\\n\\n        // 2SM 2j7 2se 1Z 1S1 11A 2SL or 2SK 1Z 19r\\n        1o 1WW = 1h(6Y);\\n        1o 1WV = 1h(1BZ.xy / 6I.w * 1uj);\\n        1rb = 1WW / 1WV;\\n\\n        1aR = 1v(1Aa, 1WU);\\n    }\\n"),5Or=Ue("2n 5v 1o 1aS;\\1B 2v 1ax;\\n\\1J 1v 1aR;\\1J 1v 1fL;\\1J 1o 1rb;\\1J 6V 1o 3sj;\\n\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n\\2s 2k() {\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n\\n    // 1Ab 1Z 3s of 1Z 17W 19f 1Z 6D in 11n.\\n    1o 6Y = 1h(1fL) * 1aR.s;\\n\\n    // 1Ab 1Z 2sl 1ay 8H. 18m is 1X3 16r 1X2 in\\n    // 1Z 6D in 1S of an 2M 6D (1aR.t) or 16r 1X2 9H\\n    // (1aR.s)\\n    1o 1C5 = (16B + 1.0 / 1aS) * 1rb;\\n    1o 2O = 2Y(2o(6Y - (1aR.t - 1C5), 1aR.s - 6Y) / 1C5, 0.0, 1.0);\\n\\n    // 22p 1tl 36L, 3sj is 1Z 1iJ 4EB 1Z 7Q8 6D,\\n    // 2t5 to [0, 2^15), and 1Z 1tl 3XE is 2sj in a 7y.\\n    1m 1A = 1Y(1ax, 1v(3sj, 0.5));\\n\\n    2C = 1A * (2O * 7z);\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","\\n// 1Z 3Q 7Q7 1MV 4EB a 6D is 2t5 to [0, 2^15)\\n#2f 5Pm 2Je.0\\n\\n// 2t(127 / 2) == 63.0\\n// 1Z 14S 2T2 1Ac 1C4 is 2.0 at 1Z 2T1. 1Z 19r 2U is\\n// 2sj in a 1Hz (-128..127). we 3b 2FJ 1q6 up to 1h 63, 19T\\n// 2aN are 1S5 \\"2T0\\" 1q6 17m 118 a 2SZ 1h (of up to 126 in\\n// 1a 1S).\\n// #2f 3b 63.0\\n#2f 3b 0.2SY\\n\\2J 1v 1q5;\\2J 1m 1em;\\n\\1B 5w 9W;\\1B 10f 1o 1mF;\\1B 5v 1o 1aS;\\1B 1v 1uj;\\n\\1J 1v 1fL;\\1J 1v 1aR;\\1J 1o 1rb;\\1J 6V 1o 3sj;\\n\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 10f 1o 1bc\\n#3U 3H: 2f 5v 1o 2M\\n#3U 3H: 2f 10f 1o 1G\\n\\2s 2k() {\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1o 1bc\\n    #3U 3H: 6l 5v 1o 2M\\n    #3U 3H: 6l 10f 1o 1G\\n\\n    // 1Z 3s 2aM 1nN 1Z 6D 1Hy 2SX 9H.\\n    // 2SW 2si 1dS a 2sh 3s to 2j9 2SV.\\n    1o 1C2 = 1.0 / 1aS / 2.0;\\n\\n    1v 1oX = 1em.xy - 128.0;\\n    1o 1C0 = 13R(1em.z, 4.0) - 1.0;\\n\\n    3sj = (2t(1em.z / 4.0) + 1em.w * 64.0) * 2.0 / 5Pm;\\n\\n    1v 3h = 2t(1q5 * 0.5);\\n\\n    // x is 1 if it\'s a 9p 1S4, 0 10g\\n    // y is 1 if 1Z 2U 5I up, and -1 if it 5I 1fK\\n    // We 2aL 1S3 in 1Z 1gR 2sg 2aK of 1q5\\n    10f 1v 2U = 1q5 - 2.0 * 3h;\\n    2U.y = 2U.y * 2.0 - 1.0;\\n    1fL = 2U;\\n\\n    // 1S3 2SU 1rd to be 2ST in 1Z JS and 2SS 16A 2SR.\\n    // 24w 24v 1KP 1Z 1d8 1j 2SQ and 2SP.\\n    1bc = 1bc / 2.0;\\n    1o 1C3 = 1G / 2.0;\\n    2M = -1.0 * 2M;\\n\\n    1o 1WU = 1bc + (1bc > 0.0 ? 1C2 : 0.0);\\n    1o 1Aa = 1bc + 1C3 * (1bc > 0.0 ? 2.0 : 1.0) + (1C3 == 0.0 ? 0.0 : 1C2);\\n\\n    // 1S2 1Z 1iI 8r 1fK to a 2U and 4b up by 1Z 6D 1G\\n    // of 1a 1rc.\\n    10f 1v 6Y = 1Aa * 1oX * 3b;\\n\\n    // 1Ab 1Z 2M 16r 1WZ a 6D 17m is to 1Z 1NR of 1Z 1C1 6D.\\n    // We do 1a by 2sf a 8r 17m 5I 2SO 1Z 19r, 19T 17b\\n    // it 16r we\'re 1WZ 9p 9o 5I (1C0 = -1 or 1) 1WY 2SN\\n    // 19r 8r 5I in 1KN 2G.\\n    10f 1o u = 0.5 * 1C0;\\n    10f 1o t = 1.0 - abs(u);\\n    10f 1v 1WX = 2M * 1oX * 3b * 2U.y * 1bG(t, -u, u, t);\\n\\n    1m 1BZ = 9W * 1m(6Y / 1mF, 0.0, 0.0);\\n    6I = 9W * 1m(3h + 1WX / 1mF, 0.0, 1.0) + 1BZ;\\n\\n    // 2SM 2j7 2se 1Z 1S1 11A 2SL or 2SK 1Z 19r\\n    1o 1WW = 1h(6Y);\\n    1o 1WV = 1h(1BZ.xy / 6I.w * 1uj);\\n    1rb = 1WW / 1WV;\\n\\n    1aR = 1v(1Aa, 1WU);\\n}\\n"),5Oq=Ue("2n 5v 1o 1aS;\\1B 1v 18n;\\1B 1o 1xJ;\\1B 10f 1m 1fh;\\n\\1B 2v 1ax;\\n\\1J 1v 1fL;\\1J 1v 1aR;\\1J 1o 2j8;\\1J 1o 1rb;\\n\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n\\2s 2k() {\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n\\n    1v 1lM = 1be.xy;\\n    1v 1lN = 1be.zw;\\n    1v 1lK = 1bd.xy;\\n    1v 1lL = 1bd.zw;\\n\\n    1o 13S = 1fh.x;\\n    1o 2je = 1fh.y;\\n    1o 1oY = 1fh.z;\\n    1o 1EW = 1fh.w;\\n\\n    1v 1S9 = 1v((1lN.x - 1lM.x) / 13S, (1lN.y - 1lM.y) / 13S);\\n    1v 1S7 = 1v((1lL.x - 1lK.x) / 13S, (1lL.y - 1lK.y) / 13S);\\n\\n    1v 3YG = 1v(1S9.x * 1oY / 2je, 1S9.y);\\n    1v 3YF = 1v(1S7.x * 1EW / 2je, 1S7.y);\\n\\n    // 1Ab 1Z 3s of 1Z 17W 19f 1Z 6D in 11n.\\n    1o 6Y = 1h(1fL) * 1aR.s;\\n\\n    // 1Ab 1Z 2sl 1ay 8H. 18m is 1X3 16r 1X2 in\\n    // 1Z 6D in 1S of an 2M 6D (1aR.t) or 16r 1X2 9H\\n    // (1aR.s)\\n    1o 1C5 = (16B + 1.0 / 1aS) * 1rb;\\n    1o 2O = 2Y(2o(6Y - (1aR.t - 1C5), 1aR.s - 6Y) / 1C5, 0.0, 1.0);\\n\\n    1o 5Pj = 13R(2j8 / 3YG.x, 1.0);\\n    1o 5Ph = 13R(2j8 / 3YF.x, 1.0);\\n\\n    // 1fL.y is 0 at 1Z 28F of 1Z 6D, -1 at 1Z 1wp 1Hy, 1 at 1Z 3YH 1Hy\\n    // we 2Y 1Z 6D 1G 1Aa to be 1pS 0 and 5Pl 1Z 1jV 1D 2eI 1fT (2.0)\\n    // to 7Q6 we 3P3\'t 7Q5 5Pk 1Z 7Q4 1ap on 1Z 28s 5mg.\\n    // 0.5 is 2mm to 1hN 1Z 26M to be 7Q3 1pS 0 and 1 1j 1w3 of\\n    // 1Z 7y 25M\\n    1o 5Pi = 0.5 + (1fL.y * 2Y(1aR.s, 0.0, (3YG.y + 2.0) / 2.0) / 3YG.y);\\n    1o 5Pg = 0.5 + (1fL.y * 2Y(1aR.s, 0.0, (3YF.y + 2.0) / 2.0) / 3YF.y);\\n    1v 5Pf = 3T(1lM / 18n, 1lN / 18n, 1v(5Pj, 5Pi));\\n    1v 5Pe = 3T(1lK / 18n, 1lL / 18n, 1v(5Ph, 5Pg));\\n\\n    1m 1A = 3T(1Y(1ax, 5Pf), 1Y(1ax, 5Pe), 1xJ);\\n\\n    2C = 1A * 2O * 7z;\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","// 2t(127 / 2) == 63.0\\n// 1Z 14S 2T2 1Ac 1C4 is 2.0 at 1Z 2T1. 1Z 19r 2U is\\n// 2sj in a 1Hz (-128..127). we 3b 2FJ 1q6 up to 1h 63, 19T\\n// 2aN are 1S5 \\"2T0\\" 1q6 17m 118 a 2SZ 1h (of up to 126 in\\n// 1a 1S).\\n// #2f 3b 63.0\\n#2f 3b 0.2SY\\n\\n// We 3b 1Z 3s 8w 3eO it to 1Z 1ds so 17m we 1ag 2aL\\n// 2aO 3Cw 1j 2aO 1eK. 1c7 1a 1Q to 4fp 1Z 3s.\\n#2f 2T3 2.0\\n\\2J 1v 1q5;\\2J 1m 1em;\\n\\1B 5w 9W;\\1B 1v 1uj;\\1B 10f 1o 1mF;\\1B 5v 1o 1aS;\\n\\1J 1v 1fL;\\1J 1v 1aR;\\1J 1o 2j8;\\1J 1o 1rb;\\n\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1o 2M\\n#3U 3H: 2f 10f 1o 1bc\\n#3U 3H: 2f 10f 1o 1G\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\2s 2k() {\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 5v 1o 2M\\n    #3U 3H: 6l 10f 1o 1bc\\n    #3U 3H: 6l 10f 1o 1G\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n    // 1Z 3s 2aM 1nN 1Z 6D 1Hy 2SX 9H.\\n    // 2SW 2si 1dS a 2sh 3s to 2j9 2SV.\\n    1o 1C2 = 1.0 / 1aS / 2.0;\\n\\n    1v 1oX = 1em.xy - 128.0;\\n    1o 1C0 = 13R(1em.z, 4.0) - 1.0;\\n    1o 2sk = (2t(1em.z / 4.0) + 1em.w * 64.0) * 2T3;\\n    // 1o 2aQ = 1fh.y;\\n    1v 3h = 2t(1q5 * 0.5);\\n\\n    // x is 1 if it\'s a 9p 1S4, 0 10g\\n    // y is 1 if 1Z 2U 5I up, and -1 if it 5I 1fK\\n    // We 2aL 1S3 in 1Z 1gR 2sg 2aK of 1q5\\n    10f 1v 2U = 1q5 - 2.0 * 3h;\\n    2U.y = 2U.y * 2.0 - 1.0;\\n    1fL = 2U;\\n\\n    // 1S3 2SU 1rd to be 2ST in 1Z JS and 2SS 16A 2SR.\\n    // 24w 24v 1KP 1Z 1d8 1j 2SQ and 2SP.\\n    1bc = 1bc / 2.0;\\n    1o 1C3 = 1G / 2.0;\\n    2M = -1.0 * 2M;\\n\\n    1o 1WU = 1bc + (1bc > 0.0 ? 1C2 : 0.0);\\n    1o 1Aa = 1bc + 1C3 * (1bc > 0.0 ? 2.0 : 1.0) + (1C3 == 0.0 ? 0.0 : 1C2);\\n\\n    // 1S2 1Z 1iI 8r 1fK to a 2U and 4b up by 1Z 6D 1G\\n    // of 1a 1rc.\\n    10f 1v 6Y = 1Aa * 1oX * 3b;\\n\\n    // 1Ab 1Z 2M 16r 1WZ a 6D 17m is to 1Z 1NR of 1Z 1C1 6D.\\n    // We do 1a by 2sf a 8r 17m 5I 2SO 1Z 19r, 19T 17b\\n    // it 16r we\'re 1WZ 9p 9o 5I (1C0 = -1 or 1) 1WY 2SN\\n    // 19r 8r 5I in 1KN 2G.\\n    10f 1o u = 0.5 * 1C0;\\n    10f 1o t = 1.0 - abs(u);\\n    10f 1v 1WX = 2M * 1oX * 3b * 2U.y * 1bG(t, -u, u, t);\\n\\n    1m 1BZ = 9W * 1m(6Y / 1mF, 0.0, 0.0);\\n    6I = 9W * 1m(3h + 1WX / 1mF, 0.0, 1.0) + 1BZ;\\n\\n    // 2SM 2j7 2se 1Z 1S1 11A 2SL or 2SK 1Z 19r\\n    1o 1WW = 1h(6Y);\\n    1o 1WV = 1h(1BZ.xy / 6I.w * 1uj);\\n    1rb = 1WW / 1WV;\\n\\n    2j8 = 2sk;\\n    1aR = 1v(1Aa, 1WU);\\n}\\n"),5Op=Ue("2n 5v 1o 1aS;\\n    2n 2v 1ax;\\n    2n 1o 2jc;\\n    2n 1o 24x;\\n\\n    3G 1v 1fL;\\n    3G 1v 1aR;\\n    3G 1v 1X1;\\n    3G 1v 1X0;\\n    3G 1o 1rb;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 10f 1o 1G\\n#3U 3H: 2f 5v 1o 1EV\\n\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1o 1G\\n    #3U 3H: 6l 5v 1o 1EV\\n\\n        // 1Ab 1Z 3s of 1Z 17W 19f 1Z 6D in 11n.\\n        1o 6Y = 1h(1fL) * 1aR.s;\\n\\n        // 1Ab 1Z 2sl 1ay 8H. 18m is 1X3 16r 1X2 in\\n        // 1Z 6D in 1S of an 2M 6D (1aR.t) or 16r 1X2 9H\\n        // (1aR.s)\\n        1o 1C5 = (16B + 1.0 / 1aS) * 1rb;\\n        1o 2O = 2Y(2o(6Y - (1aR.t - 1C5), 1aR.s - 6Y) / 1C5, 0.0, 1.0);\\n\\n        1o 3Cz = 1Y(1ax, 1X1).a;\\n        1o 3Cy = 1Y(1ax, 1X0).a;\\n        1o 3Cx = 3T(3Cz, 3Cy, 24x);\\n        2O *= 13f(0.5 - 2jc / 1EV, 0.5 + 2jc / 1EV, 3Cx);\\n\\n        2C = 1A * (2O * 7z);\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n","// 2t(127 / 2) == 63.0\\n// 1Z 14S 2T2 1Ac 1C4 is 2.0 at 1Z 2T1. 1Z 19r 2U is\\n// 2sj in a 1Hz (-128..127). we 3b 2FJ 1q6 up to 1h 63, 19T\\n// 2aN are 1S5 2T0 1q6 17m 118 a 2SZ 1h (of up to 126 in\\n// 1a 1S).\\n// #2f 3b 63.0\\n    #2f 3b 0.2SY\\n\\n// We 3b 1Z 3s 8w 3eO it to 1Z 1ds so 17m we 1ag 2aL\\n// 2aO 3Cw 1j 2aO 1eK. 1c7 1a 1Q to 4fp 1Z 3s.\\n    #2f 2T3 2.0\\n\\n    3Q 1v 1q5;\\n    3Q 1m 1em;\\n\\n    2n 5w 9W;\\n    2n 10f 1o 1mF;\\n    2n 5v 1o 1aS;\\n    2n 1v 2jb;\\n    2n 1o 2FL;\\n    2n 1v 2ja;\\n    2n 1o 2FK;\\n    2n 1v 1uj;\\n\\n    3G 1v 1fL;\\n    3G 1v 1aR;\\n    3G 1v 1X1;\\n    3G 1v 1X0;\\n    3G 1o 1rb;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 10f 1o 1bc\\n#3U 3H: 2f 5v 1o 2M\\n#3U 3H: 2f 10f 1o 1G\\n#3U 3H: 2f 5v 1o 1EV\\n\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1o 1bc\\n    #3U 3H: 6l 5v 1o 2M\\n    #3U 3H: 6l 10f 1o 1G\\n    #3U 3H: 6l 5v 1o 1EV\\n\\n        // 1Z 3s 2aM 1nN 1Z 6D 1Hy 2SX 9H.\\n        // 2SW 2si 1dS a 2sh 3s to 2j9 2SV.\\n        1o 1C2 = 1.0 / 1aS / 2.0;\\n\\n        1v 1oX = 1em.xy - 128.0;\\n        1o 1C0 = 13R(1em.z, 4.0) - 1.0;\\n        1o 2sk = (2t(1em.z / 4.0) + 1em.w * 64.0) * 2T3;\\n\\n        1v 3h = 2t(1q5 * 0.5);\\n\\n        // x is 1 if it\'s a 9p 1S4, 0 10g\\n        // y is 1 if 1Z 2U 5I up, and -1 if it 5I 1fK\\n        // We 2aL 1S3 in 1Z 1gR 2sg 2aK of 1q5\\n        10f 1v 2U = 1q5 - 2.0 * 3h;\\n        2U.y = 2U.y * 2.0 - 1.0;\\n        1fL = 2U;\\n\\n        // 1S3 2SU 1rd to be 2ST in 1Z JS and 2SS 16A 2SR.\\n        // 24w 24v 1KP 1Z 1d8 1j 2SQ and 2SP.\\n        1bc = 1bc / 2.0;\\n        1o 1C3 = 1G / 2.0;\\n        2M = -1.0 * 2M;\\n\\n        1o 1WU = 1bc + (1bc > 0.0 ? 1C2 : 0.0);\\n        1o 1Aa = 1bc + 1C3 * (1bc > 0.0 ? 2.0 : 1.0) + (1C3 == 0.0 ? 0.0 : 1C2);\\n\\n        // 1S2 1Z 1iI 8r 1fK to a 2U and 4b up by 1Z 6D 1G\\n        // of 1a 1rc.\\n        10f 1v 6Y =1Aa * 1oX * 3b;\\n\\n        // 1Ab 1Z 2M 16r 1WZ a 6D 17m is to 1Z 1NR of 1Z 1C1 6D.\\n        // We do 1a by 2sf a 8r 17m 5I 2SO 1Z 19r, 19T 17b\\n        // it 16r we\'re 1WZ 9p 9o 5I (1C0 = -1 or 1) 1WY 2SN\\n        // 19r 8r 5I in 1KN 2G.\\n        10f 1o u = 0.5 * 1C0;\\n        10f 1o t = 1.0 - abs(u);\\n        10f 1v 1WX = 2M * 1oX * 3b * 2U.y * 1bG(t, -u, u, t);\\n\\n        1m 1BZ = 9W * 1m(6Y / 1mF, 0.0, 0.0);\\n        6I = 9W * 1m(3h + 1WX / 1mF, 0.0, 1.0) + 1BZ;\\n\\n        // 2SM 2j7 2se 1Z 1S1 11A 2SL or 2SK 1Z 19r\\n        1o 1WW = 1h(6Y);\\n        1o 1WV = 1h(1BZ.xy / 6I.w * 1uj);\\n        1rb = 1WW / 1WV;\\n\\n        1X1 = 1v(2sk * 2jb.x / 1EV, 2U.y * 2jb.y + 2FL);\\n        1X0 = 1v(2sk * 2ja.x / 1EV, 2U.y * 2ja.y + 2FK);\\n        1X1.y = 1.0 - 1X1.y;\\n        1X0.y = 1.0 - 1X0.y;\\n\\n        1aR = 1v(1Aa, 1WU);\\n    }\\n"),5Oo=Ue("2n 1o 5Pb;\\1B 1o 1rP;\\1B 2v 5Pd;\\1B 2v 5Pc;\\1J 1v 3si;\\1J 1v 3YB;\\n\\1B 1o 3YD;\\1B 1o 3YC;\\n\\1B 1o 5P9;\\1B 1o 5P8;\\1B 1w 3YE;\\n\\2s 2k() {\\n\\n    // 1dD and 4B-1ay 1Bd 19f 1Z 2k and 12f 17v\\n    1m 1Fz = 1Y(5Pd, 3si);\\n    1m 1dT = 1Y(5Pc, 3YB);\\n    if (1Fz.a > 0.0) {\\n        1Fz.2y = 1Fz.2y / 1Fz.a;\\n    }\\n    if (1dT.a > 0.0) {\\n        1dT.2y = 1dT.2y / 1dT.a;\\n    }\\n    1m 1A = 3T(1Fz, 1dT, 5Pb);\\n    1A.a *= 1rP;\\n    1w 2y = 1A.2y;\\n\\n    // 7Q2\\n    2y = 1w(\\n        2A(2y, 3YE.1H),\\n        2A(2y, 3YE.1ca),\\n        2A(2y, 3YE.3g7));\\n\\n    // 1qm\\n    1o 5Pa = (1A.r + 1A.g + 1A.b) / 3.0;\\n    2y += (5Pa - 2y) * 5P9;\\n\\n    // 1wq\\n    2y = (2y - 0.5) * 5P8 + 0.5;\\n\\n    // 1hG\\n    1w 5P7 = 1w(3YD, 3YD, 3YD);\\n    1w 5P6 = 1w(3YC, 3YC, 3YC);\\n\\n    2C = 1m(3T(5P7, 5P6, 2y) * 1A.a, 1A.a);\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","2n 5w 9W;\\1B 1v 5P2;\\1B 1o 5P3;\\1B 1o 5P4;\\n\\2J 1v 13t;\\2J 1v 36K;\\n\\1J 1v 3si;\\1J 1v 3YB;\\n\\2s 2k() {\\n    6I = 9W * 1m(13t, 0, 1);\\n    // We are 1nl 1gf 1j 7y 1K 9R to 7Q1 us 4Ca 1k7 1j\\n    // 7Q0 9R. We 14W 1c8 to 3b 1Z 7y 9R in 1Z 3J\\n    // as an 7PZ 162 2b to 5P5 7PY 1k7 16r 2gE.\\n    // 18m is 1S5 1Z 1ik 1Q as 1Z 7PX we are 1nl 1j 7PW 11H 3J 3h 9R,\\n    // so 1pp 1j 7PV 1X3 is 7PU.\\n    3si = (((36K / 1c8.0) - 0.5) / 5P4 ) + 0.5;\\n    3YB = (3si * 5P3) + 5P2;\\n}\\n"),5On=Ue("2n 2v 16S;\\n\\1J 1v 3YA;\\1J 1o 3Yz;\\n\\n#3U 3H: 2f 5v 1o 7z\\n\\2s 2k() {\\n    #3U 3H: 6l 5v 1o 7z\\n\\n    5v 1o 2O = 7z * 3Yz;\\n    2C = 1Y(16S, 3YA) * 2O;\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","XR 1o PI = 3.24J;\\n\\2J 1m 2gC;\\2J 1m 1em;\\2J 1m 36J;\\2J 1w 2gA;\\2J 1o 2AY;\\n\\1B 7d 1JZ;\\1B 7d 1JY;\\1B 6V 1o 1Vs; // 1rd to 1d9 1pS 5K 1BY 16r 4V is a 1sh 1b\\1B 6V 1o 1Cx; // 1rd 16r 4V is 1oE 5K and 7n 10p\\1B 6V 1o 1kN;\\1B 6V 1o 2gD;\\1B 7d 1Vq;\\1B 6V 1o 1Vp;\\1B 1o 1JW;\\n\\1B 5w 9W;\\1B 5w 1Vo;\\1B 5w 1Vn;\\n\\1B 7d 1QC;\\1B 7d 1xL;\\n\\1B 1v 18n;\\n\\1J 1v 3YA;\\1J 1o 3Yz;\\n\\n#3U 3H: 2f 5v 1o 7z\\n\\2s 2k() {\\n    #3U 3H: 6l 5v 1o 7z\\n\\n    1v 13t = 2gC.xy;\\n    1v 36B = 2gC.zw;\\n\\n    1v 2Nd = 1em.xy;\\n    1v 1QB = 1em.zw;\\n\\n    1o 2gB = 2t(1QB[0] * 0.5);\\n    1v 3Yy = 36J.xy;\\n    1v 5OZ = 36J.zw / 256.0;\\n\\n    6V 1o 2pg = -2gA[2];\\n    1o 4V;\\n\\n    if (!1JZ && !1JY) {\\n        4V = 3T(2gB, 1QB[1], 1Vs) / 128.0;\\n    } 1s if (1JZ && !1JY) {\\n        4V = 2gB / 128.0;\\n    } 1s {\\n        4V = 1Cx;\\n    }\\n\\n    1m 1JX = 9W * 1m(13t, 0, 1);\\n    6V 1o 1Vr = 1JX.w;\\n    // 31l 5P1 in 5P0.1rc\\n    6V 1o 36F = 1xL ?\\n        1Vr / 1kN :\\n        1kN / 1Vr;\\n    6V 1o 36D = 2Y(\\n            0.5 + 0.5 * 36F,\\n            0.0, // 3sd 3sc 3I-1bF 3Yw in 28D/3sb 17v\\n            4.0);\\n\\n    4V *= 36D;\\n\\n    1o 1Em = 1QC ? 4V / 24.0 : 4V;\\n\\n    6V 1o 22o = 0.0;\\n    if (1Vq) {\\n        // 31l 5P1 in 5P0.1rc\\n        1m 2ph = 9W * 1m(13t + 1v(1, 0), 0, 1);\\n\\n        1v a = 1JX.xy / 1JX.w;\\n        1v b = 2ph.xy / 2ph.w;\\n\\n        22o = 16D((b.y - a.y) / 1Vp, b.x - a.x);\\n    }\\n\\n    6V 1o 2pf = 2T(2pg + 22o);\\n    6V 1o 2pe = 3i(2pg + 22o);\\n    1bG 36C = 1bG(2pe, -1.0 * 2pf, 2pf, 2pe);\\n\\n    1m 2pd = 1Vo * 1m(2gA.xy, 0.0, 1.0);\\n    6I = 1Vn * 1m(2pd.xy / 2pd.w + 36C * (36B / 32.0 * 1V(5OZ, 1Em) + 3Yy / 16.0), 0.0, 1.0);\\n\\n    3YA = 2Nd / 18n;\\n    1v 1QA = 3Yu(2AY);\\n    1o 36A = 1QA[1] > 0.5 ? 1JW : -1JW;\\n    3Yz = 1V(0.0, 2o(1.0, 1QA[0] + 36A));\\n}\\n"),5Om=Ue("#2f 36H 8.0\\n\\1B 7d 2pj;\\1B 2v 16S;\\1B 6V 1o 28E;\\1B 5v 1o 1aS;\\1B 7d 1QC;\\n\\1J 1v 2gz;\\1J 1w 1Vm;\\n\\n#3U 3H: 2f 6V 1m 22m\\n#3U 3H: 2f 6V 1m 22l\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1o 22j\\n#3U 3H: 2f 5v 1o 22k\\n\\2s 2k() {\\n    #3U 3H: 6l 6V 1m 22m\\n    #3U 3H: 6l 6V 1m 22l\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 5v 1o 22j\\n    #3U 3H: 6l 5v 1o 22k\\n\\n    1o 36I = 0.105 / 1aS;\\n\\n    1v 9f = 2gz.xy;\\n    1o 2AX = 1Vm.x;\\n    1o 4V = 1Vm.y;\\n    1o 1QA = 1Vm[2];\\n\\n    1o 1Em = 1QC ? 4V / 24.0 : 4V;\\n\\n    5v 1m 1A = 22m;\\n    6V 1o 1iP = 36I / (1Em * 28E);\\n    5v 1o 2B0 = (256.0 - 64.0) / 256.0;\\n    if (2pj) {\\n        1A = 22l;\\n        1iP = (22k * 1.19 / 36H + 36I) / (1Em * 28E);\\n        2B0 = (6.0 - 22j / 1Em) / 36H;\\n    }\\n\\n    5v 1o 6Y = 1Y(16S, 9f).a;\\n    6V 1o 36G = 1iP * 2AX;\\n    6V 1o 2O = 13f(2B0 - 36G, 2B0 + 36G, 6Y);\\n\\n    2C = 1A * (2O * 7z * 1QA);\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","XR 1o PI = 3.24J;\\n\\2J 1m 2gC;\\2J 1m 1em;\\2J 1m 36J;\\2J 1w 2gA;\\2J 1o 2AY;\\n\\n// 5OX of 1QB 5OW 24y on 1Z 1I of 5i 1Q\\n// 1rd 1j {3l,6O}-4V.\\n// 22p 3sg, 1QB is 1nk.\\n// 22p 5j 26C, we 7X 1cF 1bS 1Q 2pi 1rc: 1Z 1Q of {3l,6O}-4V 3sf 1j 1Z 11L 7n.\\n// 22p 1sh 26C:\\n// [ 3l-4V(5OV, 7n),\\n//   3l-4V(5OU, 7n) ]\\1B 7d 1JZ;\\1B 7d 1JY;\\1B 6V 1o 1Vs; // 1rd to 1d9 1pS 5K 1BY 16r 4V is a 1sh 1b\\1B 6V 1o 1Cx; // 1rd 16r 4V is 1oE 5K and 7n 10p\\1B 5w 9W;\\1B 5w 1Vo;\\1B 5w 1Vn;\\1B 7d 1QC;\\1B 7d 1xL;\\1B 6V 1o 2gD;\\1B 7d 1Vq;\\1B 6V 1o 1Vp;\\1B 6V 1o 1kN;\\1B 1o 1JW;\\1B 1v 18n;\\n\\1J 1v 2gz;\\1J 1w 1Vm;\\n\\n#3U 3H: 2f 6V 1m 22m\\n#3U 3H: 2f 6V 1m 22l\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1o 22j\\n#3U 3H: 2f 5v 1o 22k\\n\\2s 2k() {\\n    #3U 3H: 6l 6V 1m 22m\\n    #3U 3H: 6l 6V 1m 22l\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 5v 1o 22j\\n    #3U 3H: 6l 5v 1o 22k\\n\\n    1v 13t = 2gC.xy;\\n    1v 36B = 2gC.zw;\\n\\n    1v 2Nd = 1em.xy;\\n    1v 1QB = 1em.zw;\\n\\n    1o 2gB = 2t(1QB[0] * 0.5);\\n    1v 3Yy = 36J.xy;\\n\\n    6V 1o 2pg = -2gA[2];\\n    1o 4V;\\n\\n    if (!1JZ && !1JY) {\\n        4V = 3T(2gB, 1QB[1], 1Vs) / 128.0;\\n    } 1s if (1JZ && !1JY) {\\n        4V = 2gB / 128.0;\\n    } 1s {\\n        4V = 1Cx;\\n    }\\n\\n    1m 1JX = 9W * 1m(13t, 0, 1);\\n    6V 1o 1Vr = 1JX.w;\\n    // If 1Z 17R is 28D 10M 1Z 5d, 11e is 1qU in 28D 1ww,\\n    // 1nN 3Yx 1kD in 1Z 3s 2sh 2AZ to 5q 1ww.\\n    // We 2T5 3se of 17m 1F0 by 5OT by 1Z 1S1 1iJ.\\n    // If 1Z 17R 5OS\'t 28D 10M 1Z 5d, we do 11e in 5q 1ww,\\n    // 1nN 3Yx 1kD in 1Z 3s 3qX 2AZ to 1Z 1jG 5OR\\n    // 24v. We 2T5 3se of 17m 1F0 by 5OQ by 1Z 1S1 1iJ.\\n    6V 1o 36F = 1xL ?\\n        1Vr / 1kN :\\n        1kN / 1Vr;\\n    6V 1o 36D = 2Y(\\n        0.5 + 0.5 * 36F,\\n        0.0, // 3sd 3sc 3I-1bF 3Yw in 28D/3sb 17v\\n        4.0);\\n\\n    4V *= 36D;\\n\\n    1o 1Em = 1QC ? 4V / 24.0 : 4V;\\n\\n    6V 1o 22o = 0.0;\\n    if (1Vq) {\\n        // 18H 1kD 10M \'5S-1ew: 5d\' are 1ia 10M 5OP to 11H 13u\\n        // To 4EA 9H 17m 8f in 3Yv 1ww, we 1Mm a 5OO 1ia 6D in 11H\\n        // 1ww, 12z it, and 5ON 2aT 8f in 3Yv 1ww.\\n        1m 2ph = 9W * 1m(13t + 1v(1, 0), 0, 1);\\n\\n        1v a = 1JX.xy / 1JX.w;\\n        1v b = 2ph.xy / 2ph.w;\\n\\n        22o = 16D((b.y - a.y) / 1Vp, b.x - a.x);\\n    }\\n\\n    6V 1o 2pf = 2T(2pg + 22o);\\n    6V 1o 2pe = 3i(2pg + 22o);\\n    1bG 36C = 1bG(2pe, -1.0 * 2pf, 2pf, 2pe);\\n\\n    1m 2pd = 1Vo * 1m(2gA.xy, 0.0, 1.0);\\n    6I = 1Vn * 1m(2pd.xy / 2pd.w + 36C * (36B / 32.0 * 1Em + 3Yy), 0.0, 1.0);\\n    1o 2AX = 6I.w;\\n\\n    1v 1QA = 3Yu(2AY);\\n    1o 36A = 1QA[1] > 0.5 ? 1JW : -1JW;\\n    1o 3Yt = 1V(0.0, 2o(1.0, 1QA[0] + 36A));\\n\\n    2gz = 2Nd / 18n;\\n    1Vm = 1w(2AX, 4V, 3Yt);\\n}\\n"),5Ol=Ue("#2f 36H 8.0\\n\\n#2f 1D2 1.0\\n#2f 2Yx 0.0\\n\\1B 7d 2pj;\\1B 2v 16S;\\1B 2v 3sh;\\1B 6V 1o 28E;\\1B 5v 1o 1aS;\\n\\1J 1m 2gz;\\1J 1m 1Vm;\\n\\n#3U 3H: 2f 6V 1m 22m\\n#3U 3H: 2f 6V 1m 22l\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1o 22j\\n#3U 3H: 2f 5v 1o 22k\\n\\2s 2k() {\\n    #3U 3H: 6l 6V 1m 22m\\n    #3U 3H: 6l 6V 1m 22l\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 5v 1o 22j\\n    #3U 3H: 6l 5v 1o 22k\\n\\n    1o 1QA = 1Vm[2];\\n\\n    if (1Vm.w == 2Yx) {\\n        1v 5OY = 2gz.zw;\\n        5v 1o 2O = 7z * 1QA;\\n        2C = 1Y(3sh, 5OY) * 2O;\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n        1f;\\n    }\\n\\n    1v 9f = 2gz.xy;\\n\\n    1o 36I = 0.105 / 1aS;\\n\\n    1o 2AX = 1Vm.x;\\n    1o 4V = 1Vm.y;\\n\\n    1o 1Em = 4V / 24.0;\\n\\n    5v 1m 1A = 22m;\\n    6V 1o 1iP = 36I / (1Em * 28E);\\n    5v 1o 2B0 = (256.0 - 64.0) / 256.0;\\n    if (2pj) {\\n        1A = 22l;\\n        1iP = (22k * 1.19 / 36H + 36I) / (1Em * 28E);\\n        2B0 = (6.0 - 22j / 1Em) / 36H;\\n    }\\n\\n    5v 1o 6Y = 1Y(16S, 9f).a;\\n    6V 1o 36G = 1iP * 2AX;\\n    6V 1o 2O = 13f(2B0 - 36G, 2B0 + 36G, 6Y);\\n\\n    2C = 1A * (2O * 7z * 1QA);\\n\\n#1z 1kM\\n    2C = 1m(1.0);\\n#1u\\n}\\n","XR 1o PI = 3.24J;\\n\\2J 1m 2gC;\\2J 1m 1em;\\2J 1w 2gA;\\2J 1o 2AY;\\n\\n// 5OX of 1QB 5OW 24y on 1Z 1I of 5i 1Q\\n// 1rd 1j {3l,6O}-4V.\\n// 22p 3sg, 1QB is 1nk.\\n// 22p 5j 26C, we 7X 1cF 1bS 1Q 2pi 1rc: 1Z 1Q of {3l,6O}-4V 3sf 1j 1Z 11L 7n.\\n// 22p 1sh 26C:\\n// [ 3l-4V(5OV, 7n),\\n//   3l-4V(5OU, 7n) ]\\1B 7d 1JZ;\\1B 7d 1JY;\\1B 6V 1o 1Vs; // 1rd to 1d9 1pS 5K 1BY 16r 4V is a 1sh 1b\\1B 6V 1o 1Cx; // 1rd 16r 4V is 1oE 5K and 7n 10p\\1B 5w 9W;\\1B 5w 1Vo;\\1B 5w 1Vn;\\1B 7d 1QC;\\1B 7d 1xL;\\1B 6V 1o 2gD;\\1B 7d 1Vq;\\1B 6V 1o 1Vp;\\1B 6V 1o 1kN;\\1B 1o 1JW;\\1B 1v 18n;\\1B 1v 3sa;\\n\\1J 1m 2gz;\\1J 1m 1Vm;\\n\\n#3U 3H: 2f 6V 1m 22m\\n#3U 3H: 2f 6V 1m 22l\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1o 22j\\n#3U 3H: 2f 5v 1o 22k\\n\\2s 2k() {\\n    #3U 3H: 6l 6V 1m 22m\\n    #3U 3H: 6l 6V 1m 22l\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 5v 1o 22j\\n    #3U 3H: 6l 5v 1o 22k\\n\\n    1v 13t = 2gC.xy;\\n    1v 36B = 2gC.zw;\\n\\n    1v 2Nd = 1em.xy;\\n    1v 1QB = 1em.zw;\\n\\n    1o 2gB = 2t(1QB[0] * 0.5);\\n    1o 5OM = 1QB[0] - 2.0 * 2gB;\\n\\n    6V 1o 2pg = -2gA[2];\\n    1o 4V;\\n\\n    if (!1JZ && !1JY) {\\n        4V = 3T(2gB, 1QB[1], 1Vs) / 128.0;\\n    } 1s if (1JZ && !1JY) {\\n        4V = 2gB / 128.0;\\n    } 1s {\\n        4V = 1Cx;\\n    }\\n\\n    1m 1JX = 9W * 1m(13t, 0, 1);\\n    6V 1o 1Vr = 1JX.w;\\n    // If 1Z 17R is 28D 10M 1Z 5d, 11e is 1qU in 28D 1ww,\\n    // 1nN 3Yx 1kD in 1Z 3s 2sh 2AZ to 5q 1ww.\\n    // We 2T5 3se of 17m 1F0 by 5OT by 1Z 1S1 1iJ.\\n    // If 1Z 17R 5OS\'t 28D 10M 1Z 5d, we do 11e in 5q 1ww,\\n    // 1nN 3Yx 1kD in 1Z 3s 3qX 2AZ to 1Z 1jG 5OR\\n    // 24v. We 2T5 3se of 17m 1F0 by 5OQ by 1Z 1S1 1iJ.\\n    6V 1o 36F = 1xL ?\\n        1Vr / 1kN :\\n        1kN / 1Vr;\\n    6V 1o 36D = 2Y(\\n        0.5 + 0.5 * 36F,\\n        0.0, // 3sd 3sc 3I-1bF 3Yw in 28D/3sb 17v\\n        4.0);\\n\\n    4V *= 36D;\\n\\n    1o 1Em = 4V / 24.0;\\n\\n    6V 1o 22o = 0.0;\\n    if (1Vq) {\\n        // 18H 1kD 10M \'5S-1ew: 5d\' are 1ia 10M 5OP to 11H 13u\\n        // To 4EA 9H 17m 8f in 3Yv 1ww, we 1Mm a 5OO 1ia 6D in 11H\\n        // 1ww, 12z it, and 5ON 2aT 8f in 3Yv 1ww.\\n        1m 2ph = 9W * 1m(13t + 1v(1, 0), 0, 1);\\n\\n        1v a = 1JX.xy / 1JX.w;\\n        1v b = 2ph.xy / 2ph.w;\\n\\n        22o = 16D((b.y - a.y) / 1Vp, b.x - a.x);\\n    }\\n\\n    6V 1o 2pf = 2T(2pg + 22o);\\n    6V 1o 2pe = 3i(2pg + 22o);\\n    1bG 36C = 1bG(2pe, -1.0 * 2pf, 2pf, 2pe);\\n\\n    1m 2pd = 1Vo * 1m(2gA.xy, 0.0, 1.0);\\n    6I = 1Vn * 1m(2pd.xy / 2pd.w + 36C * (36B / 32.0 * 1Em), 0.0, 1.0);\\n    1o 2AX = 6I.w;\\n\\n    1v 1QA = 3Yu(2AY);\\n    1o 36A = 1QA[1] > 0.5 ? 1JW : -1JW;\\n    1o 3Yt = 1V(0.0, 2o(1.0, 1QA[0] + 36A));\\n\\n    2gz.xy = 2Nd / 18n;\\n    2gz.zw = 2Nd / 3sa;\\n    1Vm = 1m(2AX, 4V, 3Yt, 5OM);\\n}\\n"),MM=1L.3F({14Y:1F,4Ex:5OL,1Ds:5OK,5NV:5OJ,12O:5OI,3XW:5OH,22f:5OG,7PT:5OF,5OE:5OD,7PS:5OC,4Ez:5OB,4K:5OA,4En:5Oz,3Yg:5Oy,4Eo:5Ox,7PR:5Ow,7PQ:5Ov,7PP:5Ou,2AQ:5Ot,6D:5Os,4Em:5Or,4El:5Oq,4Ek:5Op,1Vj:5Oo,5O2:5On,5O0:5Om,5NY:5Ol}),WX=1b(a,b,c,d,e){1d f=a.gl;1a.1bb=f.5Ok();1d h=c.2N();e&&h.1q("#2f 1kM;");e=h.9V(MM.4Ex.4Ey,b.4Ey).14G("\\n");b=h.9V(MM.4Ex.4Ew,b.4Ew).14G("\\n");h=f.3Ys(f.2Nc);if(f.5Oj())1a.4Es=!0;1s if(f.1hP(h,e),f.3Yr(h),f.3Yq(1a.1bb,h),e=f.3Ys(f.3s9),f.5Oj())1a.4Es=!0;1s{f.1hP(e,b);f.3Yr(e);f.3Yq(1a.1bb,e);e=c.3XO||[];1j(b=0;b<e.1h;b++)f.5Oi(1a.1bb,b,e[b].2i);f.5Oh(1a.1bb);1a.4Eu=f.36z(1a.1bb,f.4Ev);1a.2w={};e={};1j(b=0;b<1a.4Eu;b++)(h=f.5Og(1a.1bb,b))&&(1a.2w[h.2i]=f.5Of(1a.1bb,h.2i));b=f.36z(1a.1bb,f.4Et);1j(h=0;h<b;h++){1d g=f.5Oe(1a.1bb,h);g&&(e[g.2i]=f.3Yp(1a.1bb,g.2i))}1a.4Er=d(a,e);1a.5Od=c.5N9(a,e)}};WX.1i.1Mm=1b(a,b,c,d,e,f,h,g,k,n,m,w,x,q,t,r){1d l;d=a.gl;if(!1a.4Es){a.1bb.1C(1a.1bb);a.4E9(c);a.4Ea(e);a.5Ne(f);1j(1d p in 1a.4Er)1a.4Er[p].1C(h[p]);q&&q.2AW(a,1a.5Od,w,{5K:x});c=(l={},l[d.1ao]=2,l[d.11G]=3,l[d.22n]=1,l)[b];l=0;1j(m=m.1n();l<m.1h;l+=1)e=m[l],f=e.3s8||(e.3s8={}),(f[g]||(f[g]=1g uF)).7X(a,1a,k,q?q.5Na():[],n,e.36y,t,r),d.4Eq(b,e.2gq*c,d.10P,e.4Ep*c*2)}};1d NM={5O7:1b(a,b){1f{9W:1g Na.1vE(a,b.9W)}},4E8:1b(a){1f{9W:a}}},XX={5NW:1b(a,b){1f{9W:1g Na.1vE(a,b.9W),1rP:1g Na.19n(a,b.1rP),2Nb:1g Na.4Ec(a,b.2Nb)}},5NU:1b(a,b){1f{9W:1g Na.1vE(a,b.9W),1rP:1g Na.19n(a,b.1rP),1ax:1g Na.1qZ(a,b.1ax),3Yo:1g Na.1ly(a,b.3Yo),3Yn:1g Na.1ly(a,b.3Yn),3Ym:1g Na.1ly(a,b.3Ym),3Yl:1g Na.1ly(a,b.3Yl),18n:1g Na.1ly(a,b.18n),24x:1g Na.19n(a,b.24x),3Yk:1g Na.1ly(a,b.3Yk),3Yj:1g Na.1ly(a,b.3Yj),3Yi:1g Na.19n(a,b.3Yi),3Yh:1g Na.19n(a,b.3Yh),1q8:1g Na.1ly(a,b.1q8),1q7:1g Na.1ly(a,b.1q7),3s7:1g Na.19n(a,b.3s7)}},7PO:1b(a,b,c){1f{9W:a,1rP:b,2Nb:c}},7PN:1b(a,b,c,d,e,f){1f vc.1a3(7PM(d,f,c,e),{9W:a,1rP:b})}},4fi={4K:gn.5Oc,4Eo:gn.5Ob,4En:gn.5Oa,3Yg:gn.5O9,12O:TS.5O8,3XW:NM.5O7,6D:fn.5O6,4Em:fn.5O5,4El:fn.5O4,4Ek:fn.5O3,5O2:HA.5O1,5O0:HA.5NZ,5NY:HA.5NX,1Ds:XX.5NW,5NV:XX.5NU},Zh=1b(a,b,c){1a.4Ed=a;1a.1HO=b;1a.11q=c};Zh.3jS=[1,0];Zh.1nk=1g Zh(Zh.3jS,Rd.18b,[!1,!1,!1,!1]);Zh.5N2=1g Zh(Zh.3jS,Rd.18b,[!0,!0,!0,!0]);Zh.5N1=1g Zh([1,771],Rd.18b,[!0,!0,!0,!0]);1d vF=1b(a,b,c){1a.1O=a;1d d=a.gl;1a.3J=d.3Yf();1a.2Na=!!c;1a.1O.3rV();a.3Y6.1C(1a.3J);d.3nX(d.1GV,b.15U,1a.2Na?d.1UP:d.7C);1a.2Na||4Y b.15U};vF.1i.7X=1b(){1a.1O.3Y6.1C(1a.3J)};vF.1i.36t=1b(a){1d b=1a.1O.gl;1a.1O.3rV();1a.7X();b.4Ej(b.1GV,0,a.15U)};vF.1i.1M=1b(){1d a=1a.1O.gl;1a.3J&&(a.33m(1a.3J),4Y 1a.3J)};1d 5NR={5NT:"1MX",2AN:"7U",1gf:"1Vl",1qX:"10P",5NS:"1El",2pc:"1bt",28C:"3O"},Ow=1b(a,b,c,d){1a.1h=b.1h;1a.2w=c;1a.3Ye=b.1Dy;1a.2Na=d;1a.1O=a;c=a.gl;1a.3J=c.3Yf();a.3Y7.1C(1a.3J);c.3nX(c.1Q4,b.15U,1a.2Na?c.1UP:c.7C);1a.2Na||4Y b.15U};Ow.1i.7X=1b(){1a.1O.3Y7.1C(1a.3J)};Ow.1i.36t=1b(a){1d b=1a.1O.gl;1a.7X();b.4Ej(b.1Q4,0,a.15U)};Ow.1i.3s6=1b(a,b){1j(1d c=0;c<1a.2w.1h;c++){1d d=b.2w[1a.2w[c].2i];1p 0!==d&&a.4Ei(d)}};Ow.1i.3s5=1b(a,b,c){1j(1d d=0;d<1a.2w.1h;d++){1d e=1a.2w[d],f=b.2w[e.2i];1p 0!==f&&a.4Eh(f,e.1bw,a[5NR[e.1I]],!1,1a.3Ye,e.2M+1a.3Ye*(c||0))}};Ow.1i.1M=1b(){1d a=1a.1O.gl;1a.3J&&(a.33m(1a.3J),4Y 1a.3J)};1d Cd=1b(a){1a.gl=a.gl;1a.11L=1a.4T=1a.1hZ();1a.6s=!1};Cd.1i.1n=1b(){1f 1a.11L};Cd.1i.1C=1b(a){};Cd.1i.1hZ=1b(){1f 1a.4T};Cd.1i.1hY=1b(){1a.1C(1a.4T)};1d Gb={};Gb.5NM=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f Rd.18b};b.1i.1C=1b(a){1a.gl.20L(a.r,a.g,a.b,a.a);1a.11L=a;1a.6s=!1};1f b}(Cd);Gb.5NL=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.36x(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5NK=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 0};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.2p3(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5NJ=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f[!0,!0,!0,!0]};b.1i.1C=1b(a){1d b=1a.11L;if(a[0]!==b[0]||a[1]!==b[1]||a[2]!==b[2]||a[3]!==b[3]||1a.6s)1a.gl.1fA(a[0],a[1],a[2],a[3]),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5NI=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f!0};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.13Q(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5NH=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 255};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.1lq(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5NG=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f{14R:1a.gl.1jW,2p9:0,11q:255}};b.1i.1C=1b(a){1d b=1a.11L;if(a.14R!==b.14R||a.2p9!==b.2p9||a.11q!==b.11q||1a.6s)1a.gl.36v(a.14R,a.2p9,a.11q),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5NF=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1d a=1a.gl;1f[a.10w,a.10w,a.10w]};b.1i.1C=1b(a){1d b=1a.11L;if(a[0]!==b[0]||a[1]!==b[1]||a[2]!==b[2]||1a.6s)1a.gl.3s3(a[0],a[1],a[2]),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5NE=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f!1};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;a?b.5F(b.3Yd):b.1Pw(b.3Yd);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.5ND=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f[0,1]};b.1i.1C=1b(a){1d b=1a.11L;if(a[0]!==b[0]||a[1]!==b[1]||1a.6s)1a.gl.1qY(a[0],a[1]),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5NC=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f!1};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;a?b.5F(b.3Yc):b.1Pw(b.3Yc);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.5NB=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1a.gl.1PP};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.36w(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.2jF=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f!1};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;a?b.5F(b.24Z):b.1Pw(b.24Z);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.5NA=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1d a=1a.gl;1f[a.1ip,a.6h]};b.1i.1C=1b(a){1d b=1a.11L;if(a[0]!==b[0]||a[1]!==b[1]||1a.6s)1a.gl.3s2(a[0],a[1]),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5Nz=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f Rd.18b};b.1i.1C=1b(a){1d b=1a.11L;if(a.r!==b.r||a.g!==b.g||a.b!==b.b||a.a!==b.a||1a.6s)1a.gl.1HO(a.r,a.g,a.b,a.a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.4j7=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1a.gl.28A};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.2N6(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.4j0=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f!1};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;a?b.5F(b.3s4):b.1Pw(b.3s4);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.5Ny=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1a.gl.1sq};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.1Ee(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5Nx=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1a.gl.4Eg};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.1GT(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.2MK=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1F};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.28B(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5Nw=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1a.gl.1tW};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.1pR(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5Nv=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1d a=1a.gl;1f[0,0,a.8j,a.7p]};b.1i.1C=1b(a){1a.gl.5q(a[0],a[1],a[2],a[3]);1a.11L=a;1a.6s=!1};1f b}(Cd);Gb.5Nu=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1F};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;b.1Bw(b.1JV,a);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.5Nt=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1F};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;b.2N8(b.2pa,a);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.5Ns=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1F};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;b.1eg(b.17U,a);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.5Nr=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1F};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;b.1z1(b.1Q4,a);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.5Nq=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1F};b.1i.1C=1b(a){1d b=1a.gl;b.1z1(b.1GV,a);1a.11L=a;1a.6s=!1};1f b}(Cd);Gb.5No=1b(a){1b b(b){a.4G(1a,b);1a.1Vk=b.2N9}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1F};b.1i.1C=1b(a){1a.1Vk&&(a!==1a.11L||1a.6s)&&(1a.1Vk.5NQ(a),1a.11L=a,1a.6s=!1)};1f b}(Cd);Gb.5Np=1b(a){1b b(b){a.4G(1a,b)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1F};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s)1a.gl.2p8(a),1a.11L=a,1a.6s=!1};1f b}(Cd);Gb.5Nn=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 4};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;b.1gM(b.3Yb,a);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.5Nm=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f!1};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;b.1gM(b.1GU,a);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.5Nl=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f!1};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1d b=1a.gl;b.1gM(b.1By,a);1a.11L=a;1a.6s=!1}};1f b}(Cd);Gb.4Ef=1b(a){1b b(b,d){a.4G(1a,b);1a.1O=b;1a.12f=d}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1hZ=1b(){1f 1F};1f b}(Cd);Gb.5n2=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.5Ng=1b(){1a.6s=!0};b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1a.1O.1Bw.1C(1a.12f);1d b=1a.gl;b.5NP(b.1JV,b.3Ya,b.17U,a,0);1a.11L=a;1a.6s=!1}};1f b}(Gb.4Ef);Gb.5n1=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1C=1b(a){if(a!==1a.11L||1a.6s){1a.1O.1Bw.1C(1a.12f);1d b=1a.gl;b.5NO(b.1JV,b.3Y9,b.2pa,a);1a.11L=a;1a.6s=!1}};1f b}(Gb.4Ef);1d ak=1b(a){1d b=a.6M;1a.1py=a.1py;1a.gl=b;1a.2N9=1a.gl.2pb("5NN");1a.20L=1g Gb.5NM(1a);1a.36x=1g Gb.5NL(1a);1a.2p3=1g Gb.5NK(1a);1a.1fA=1g Gb.5NJ(1a);1a.13Q=1g Gb.5NI(1a);1a.1lq=1g Gb.5NH(1a);1a.36v=1g Gb.5NG(1a);1a.3s3=1g Gb.5NF(1a);1a.12h=1g Gb.5NE(1a);1a.1qY=1g Gb.5ND(1a);1a.9J=1g Gb.5NC(1a);1a.36w=1g Gb.5NB(1a);1a.36u=1g Gb.2jF(1a);1a.3s2=1g Gb.5NA(1a);1a.1HO=1g Gb.5Nz(1a);1a.2N6=1g Gb.4j7(1a);1a.1Ee=1g Gb.4j0(1a);1a.3Y3=1g Gb.5Ny(1a);1a.1GT=1g Gb.5Nx(1a);1a.1bb=1g Gb.2MK(1a);1a.1pR=1g Gb.5Nw(1a);1a.5q=1g Gb.5Nv(1a);1a.1Bw=1g Gb.5Nu(1a);1a.2N8=1g Gb.5Nt(1a);1a.1eg=1g Gb.5Ns(1a);1a.3Y7=1g Gb.5Nr(1a);1a.3Y6=1g Gb.5Nq(1a);1a.2p8=1a.1py?1g Gb.5Np(1a):1a.2N9&&1g Gb.5No(1a);1a.3rU=1g Gb.5Nn(1a);1a.3rT=1g Gb.5Nm(1a);1a.3rS=1g Gb.5Nl(1a);if(1a.5Ni=b.2pb("5Nk")||b.2pb("7PL")||b.2pb("5Nj"))1a.7PK=b.1Bx(1a.5Ni.4Ee);(1a.7PJ=b.2pb("3Y8"))&&b.2pb("5Nh");1a.7PI=b.2pb("7PH")};ak.1i.1hY=1b(){1a.3rV();1a.20L.1hY();1a.36x.1hY();1a.2p3.1hY();1a.1fA.1hY();1a.13Q.1hY();1a.1lq.1hY();1a.36v.1hY();1a.3s3.1hY();1a.12h.1hY();1a.1qY.1hY();1a.9J.1hY();1a.36w.1hY();1a.36u.1hY();1a.3s2.1hY();1a.1HO.1hY();1a.2N6.1hY();1a.1Ee.1hY();1a.3Y3.1hY();1a.1GT.1hY();1a.1bb.1hY();1a.1pR.1hY();1a.1Bw.1hY();1a.3rU.1hY();1a.3rT.1hY();1a.3rS.1hY()};ak.1i.5Ng=1b(){1a.20L.6s=!0;1a.36x.6s=!0;1a.2p3.6s=!0;1a.1fA.6s=!0;1a.13Q.6s=!0;1a.1lq.6s=!0;1a.36v.6s=!0;1a.3s3.6s=!0;1a.12h.6s=!0;1a.1qY.6s=!0;1a.9J.6s=!0;1a.36w.6s=!0;1a.36u.6s=!0;1a.3s2.6s=!0;1a.1HO.6s=!0;1a.2N6.6s=!0;1a.1Ee.6s=!0;1a.3Y3.6s=!0;1a.1GT.6s=!0;1a.1bb.6s=!0;1a.1pR.6s=!0;1a.5q.6s=!0;1a.1Bw.6s=!0;1a.2N8.6s=!0;1a.1eg.6s=!0;1a.3Y7.6s=!0;1a.3Y6.6s=!0;1a.2p8&&(1a.2p8.6s=!0);1a.3rU.6s=!0;1a.3rT.6s=!0;1a.3rS.6s=!0};ak.1i.17Q=1b(a,b){1f 1g vF(1a,a,b)};ak.1i.12S=1b(a,b,c){1f 1g Ow(1a,a,b,c)};ak.1i.3XQ=1b(a,b,c){1d d=1a.gl,e=d.3XQ();1a.2N8.1C(e);d.5Nf(d.2pa,a,b,c);1a.2N8.1C(1F);1f e};ak.1i.4mt=1b(a,b){1f 1g 2dn(1a,a,b)};ak.1i.9P=1b(a){1d b=a.1A;a=a.4e;1d c=1a.gl,d=0;b&&(d|=c.3Y5,1a.20L.1C(b),1a.1fA.1C([!0,!0,!0,!0]));"7w"!==2h a&&(d|=c.3Y4,1a.1qY.1C([0,1]),1a.36x.1C(a),1a.13Q.1C(!0));c.9P(d)};ak.1i.5Ne=1b(a){!1===a.5F?1a.1Ee.1C(!1):(1a.1Ee.1C(!0),1a.3Y3.1C(a.3z),1a.1GT.1C(a.1GT))};ak.1i.4E9=1b(a){a.14R!==1a.gl.1jW||a.11q?(1a.9J.1C(!0),1a.36w.1C(a.14R),1a.13Q.1C(a.11q),1a.1qY.1C(a.11D)):1a.9J.1C(!1)};ak.1i.7PG=1b(a){a.6S.14R!==1a.gl.1jW||a.11q?(1a.12h.1C(!0),1a.1lq.1C(a.11q),1a.3s3.1C([a.15w,a.5Nd,a.6t]),1a.36v.1C({14R:a.6S.14R,2p9:a.2p9,11q:a.6S.11q})):1a.12h.1C(!1)};ak.1i.4Ea=1b(a){US(a.4Ed,Zh.3jS)?1a.36u.1C(!1):(1a.36u.1C(!0),1a.3s2.1C(a.4Ed),1a.1HO.1C(a.1HO));1a.1fA.1C(a.11q)};ak.1i.3rV=1b(){1a.2p8&&1a.2p8.1C(1F)};1d dl=1b(a,b,c){1a.5i=a;1a.1Q=b;1a.7V=c};dl.1i.5g=1b(){1f"10p"===1a.1Q.5x};dl.1i.1AK=1b(a){1f"10p"===1a.1Q.5x?1a.1Q.1Q:a};dl.1i.3x=1b(a,b,c){1f 1a.5i.3x(1a.1Q,1a.7V,a,b,c)};WC.5Nb=1b(a){1f"2g-17H"===a["5i-1I"]||"4B-28x-2g-17H"===a["5i-1I"]};WC.7PF=1b(a){1f!!a.6d&&-1<a.6d.7V.3f("5K")};WC.5Nc=1b(a){1f!!a.6d&&a.6d.9z};1d tq=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.1qw=1g 10Y(1a.15U)};b.1i.15T=1b(a,b,e,f,h,g,k,n){1d c=1a.1h;1a.1ce(c+1);1f 1a.1nc(c,a,b,e,f,h,g,k,n)};b.1i.1nc=1b(a,b,e,f,h,g,k,n,m){1d c=8*a;1a.1qw[c+0]=b;1a.1qw[c+1]=e;1a.1qw[c+2]=f;1a.1qw[c+3]=h;1a.1qw[c+4]=g;1a.1qw[c+5]=k;1a.1qw[c+6]=n;1a.1qw[c+7]=m;1f a};1f b}(wh);tq.1i.1Dy=16;jc.19l("5fu",tq);1d XC=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.26H=1g 4A(1a.15U)};b.1i.15T=1b(a,b){1d c=1a.1h;1a.1ce(c+1);1f 1a.1nc(c,a,b)};b.1i.1nc=1b(a,b,e){1d c=2*a;1a.26H[c+0]=b;1a.26H[c+1]=e;1f a};1f b}(wh);XC.1i.1Dy=8;jc.19l("5fB",XC);1d TI=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.26H=1g 4A(1a.15U)};b.1i.15T=1b(a,b,e,f){1d c=1a.1h;1a.1ce(c+1);1f 1a.1nc(c,a,b,e,f)};b.1i.1nc=1b(a,b,e,f,h){1d c=4*a;1a.26H[c+0]=b;1a.26H[c+1]=e;1a.26H[c+2]=f;1a.26H[c+3]=h;1f a};1f b}(wh);TI.1i.1Dy=16;jc.19l("5fw",TI);1d UI=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.26H=1g 4A(1a.15U)};b.1i.15T=1b(a){1d b=1a.1h;1a.1ce(b+1);1f 1a.1nc(b,a)};b.1i.1nc=1b(a,b){1a.26H[1*a]=b;1f a};1f b}(wh);UI.1i.1Dy=4;jc.19l("5fD",UI);1d bk=1b(a,b,c){1a.1Q=a;1a.1c3=b;1a.36n=1a.1c3.5d(1b(a){1f"1gL"+a});1a.1I=c;1a.1bj=-12g};bk.1i.2N=1b(){1f 1a.1c3.5d(1b(a){1f"#2f 2gy"+a})};bk.1i.2p6=1b(){};bk.1i.36p=1b(){};bk.1i.36o=1b(){};bk.1i.1zv=1b(){};bk.1i.1M=1b(){};bk.1i.2AW=1b(a,b,c,d){b.1C(d.1AK(1a.1Q))};bk.1i.36m=1b(a,b){1f"1A"===1a.1I?1g Na.4Ec(a,b):1g Na.19n(a,b)};bk.13W=1b(a){1d b=a.1c3,c=a.1I;1f{1Q:jc.13W(a.1Q),1c3:b,1I:c}};bk.1Pm=1b(a){1d b=a.1c3,c=a.1I;1f 1g bk(jc.1Pm(a.1Q),b,c)};1d Kn=1b(a,b,c){1a.1Q=a;1a.1c3=b;1a.36n=1a.1c3.5d(1b(a){1f"1gL"+a});1a.1I=c;1a.1bj=-12g;1a.2gx={3Y1:1F,3Y0:1F}};Kn.1i.2N=1b(){1f 1a.1c3.5d(1b(a){1f"#2f 2gy"+a})};Kn.1i.36p=1b(){};Kn.1i.36o=1b(){};Kn.1i.1zv=1b(){};Kn.1i.1M=1b(){};Kn.1i.2p6=1b(a,b){1a.2gx.3Y1=a.3Y2;1a.2gx.3Y0=b.3Y2};Kn.1i.2AW=1b(a,b,c,d,e){a=1a.2gx;"7PE"===e&&a.3Y1&&b.1C(a.3Y1);"7PD"===e&&a.3Y0&&b.1C(a.3Y0)};Kn.1i.36m=1b(a,b){1f 1g Na.3s1(a,b)};1d vm=1b(a,b,c,d){1a.6d=a;1a.1c3=b;1a.1I=c;1a.36n=1a.1c3.5d(1b(a){1f"1zx"+a});1a.1bj=-12g;1a.2N7=b.5d(1b(a){1f{2i:"1zx"+a,1I:"28C",1bw:"1A"===c?2:1,2M:0}});1a.1Qz=1g d};vm.1i.2N=1b(){1f[]};vm.1i.2p6=1b(){};vm.1i.36p=1b(a,b,c,d){c=1a.1Qz;1d e=c.1h;c.1Tx(a);b=1a.6d.3x(1g 36f(0),b,{},[],d);if("1A"===1a.1I)1j(b=Xy(b);e<a;e++)c.15T(b[0],b[1]);1s{1j(;e<a;e++)c.15T(b);1a.1bj=1k.1V(1a.1bj,b)}};vm.1i.36o=1b(a,b,c,d){1d e=1a.1Qz;c=1a.6d.3x({5K:0},c,d);if("1A"===1a.1I)1j(c=Xy(c);a<b;a++)e.1nc(a,c[0],c[1]);1s{1j(;a<b;a++)e.1nc(a,c);1a.1bj=1k.1V(1a.1bj,c)}};vm.1i.1zv=1b(a){1a.1Qz&&1a.1Qz.15U&&(1a.1JU&&1a.1JU.3J?1a.1JU.36t(1a.1Qz):1a.1JU=a.12S(1a.1Qz,1a.2N7,1a.6d.2gs))};vm.1i.1M=1b(){1a.1JU&&1a.1JU.1M()};vm.1i.2AW=1b(a,b){b.1C(0)};vm.1i.36m=1b(a,b){1f 1g Na.19n(a,b)};1d el=1b(a,b,c,d,e,f){1a.6d=a;1a.1c3=b;1a.36n=1a.1c3.5d(1b(a){1f"1gL"+a+"36s"});1a.1I=c;1a.3rI=d;1a.5K=e;1a.1bj=-12g;1a.2N7=b.5d(1b(a){1f{2i:"1zx"+a,1I:"28C",1bw:"1A"===c?4:2,2M:0}});1a.1Qz=1g f};el.1i.2N=1b(){1f[]};el.1i.2p6=1b(){};el.1i.36p=1b(a,b,c,d){c=1a.1Qz;1d e=c.1h;c.1Tx(a);1d f=1a.6d.3x(1g 36f(1a.5K),b,{},[],d);b=1a.6d.3x(1g 36f(1a.5K+1),b,{},[],d);if("1A"===1a.1I)1j(f=Xy(f),b=Xy(b);e<a;e++)c.15T(f[0],f[1],b[0],b[1]);1s{1j(;e<a;e++)c.15T(f,b);1a.1bj=1k.1V(1a.1bj,f,b)}};el.1i.36o=1b(a,b,c,d){1d e=1a.1Qz,f=1a.6d.3x({5K:1a.5K},c,d);c=1a.6d.3x({5K:1a.5K+1},c,d);if("1A"===1a.1I)1j(f=Xy(f),c=Xy(c);a<b;a++)e.1nc(a,f[0],f[1],c[0],c[1]);1s{1j(;a<b;a++)e.1nc(a,f,c);1a.1bj=1k.1V(1a.1bj,f,c)}};el.1i.1zv=1b(a){1a.1Qz&&1a.1Qz.15U&&(1a.1JU&&1a.1JU.3J?1a.1JU.36t(1a.1Qz):1a.1JU=a.12S(1a.1Qz,1a.2N7,1a.6d.2gs))};el.1i.1M=1b(){1a.1JU&&1a.1JU.1M()};el.1i.2p7=1b(a){1a.3rI&&(a=1k.2t(a));a=1a.6d.2p7(a,1a.5K,1a.5K+1);1f 1k.2o(1,1k.1V(0,a))};el.1i.2AW=1b(a,b,c){b.1C(1a.2p7(c.5K))};el.1i.36m=1b(a,b){1f 1g Na.19n(a,b)};1d Ln=1b(a,b,c,d,e,f,h){1a.6d=a;1a.1c3=b;1a.1I=c;1a.36n=1a.1c3.5d(1b(a){1f"1gL"+a+"36s"});1a.3rI=d;1a.5K=e;1a.1bj=-12g;1a.33I=h;1a.2N7=b.5d(1b(a){1f{2i:"1zx"+a,1I:"1qX",1bw:4,2M:0}});1a.36r=1g f;1a.36q=1g f};Ln.1i.2N=1b(){1f[]};Ln.1i.2p6=1b(){};Ln.1i.36p=1b(a,b,c){1d d=1a.36r,e=1a.36q,f=1a.33I,h=d.1h;d.1Tx(a);e.1Tx(a);if(c&&b.1Bv&&b.1Bv[f]){1d g=b.1Bv[f];b=c[g.2o];f=c[g.25t];c=c[g.1V];if(b&&f&&c)1j(;h<a;h++)d.15T(f.tl[0],f.tl[1],f.br[0],f.br[1],b.tl[0],b.tl[1],b.br[0],b.br[1]),e.15T(f.tl[0],f.tl[1],f.br[0],f.br[1],c.tl[0],c.tl[1],c.br[0],c.br[1])}};Ln.1i.36o=1b(a,b,c,d,e){d=1a.36r;1d f=1a.36q,h=1a.33I;if(e&&c.1Bv&&c.1Bv[h]){1d g=c.1Bv[h];c=e[g.2o];h=e[g.25t];e=e[g.1V];if(c&&h&&e)1j(;a<b;a++)d.1nc(a,h.tl[0],h.tl[1],h.br[0],h.br[1],c.tl[0],c.tl[1],c.br[0],c.br[1]),f.1nc(a,h.tl[0],h.tl[1],h.br[0],h.br[1],e.tl[0],e.tl[1],e.br[0],e.br[1])}};Ln.1i.1zv=1b(a){1a.36r&&1a.36r.15U&&1a.36q&&1a.36q.15U&&(1a.3XZ=a.12S(1a.36r,1a.2N7,1a.6d.2gs),1a.3XY=a.12S(1a.36q,1a.2N7,1a.6d.2gs))};Ln.1i.1M=1b(){1a.3XY&&1a.3XY.1M();1a.3XZ&&1a.3XZ.1M()};Ln.1i.2AW=1b(a,b){b.1C(0)};Ln.1i.36m=1b(a,b){1f 1g 19n(a,b)};1d Bi=1b(){1a.1pQ={};1a.1jc="";1a.2gw=[]};Bi.5MR=1b(a,b,c){1d d=1g Bi,e=[],f;1j(f in a.14I.14z)if(c(f)){1d h=a.14I.1n(f);if(h 2m dl&&WC.5Nb(h.5i.1zt)){1d g={"3l-7z":["7z"],"6O-7z":["7z"],"3l-1A":["22m"],"6O-1A":["22m"],"3l-1nC-1A":["22l"],"6O-1nC-1A":["22l"],"3l-1nC-16B":["22k"],"6O-1nC-16B":["22k"],"3l-1nC-1G":["22j"],"6O-1nC-1G":["22j"],"6D-2N0-1G":["1bc"],"6D-1jV":["1bd","1be"],"4K-1jV":["1bd","1be"],"4K-1iI-1jV":["1bd","1be"]}[f]||[f.3X(a.1I+"-","").3X(/-/g,"10D")];1d k=h.5i.1zt.1I,n=h.5i.3rI;if("4B-28x"===h.5i.1zt["5i-1I"]||"4B-28x-2g-17H"===h.5i.1zt["5i-1I"])if("10p"===h.1Q.5x)d.1pQ[f]=1g Kn(h.1Q.1Q,g,k),e.1q("/1gL"+f);1s{1d m=VS(f,k,"5j");d.1pQ[f]=1g Ln(h.1Q,g,k,n,b,m,a.id);e.1q("/1zx"+f)}1s"10p"===h.1Q.5x?(d.1pQ[f]=1g bk(h.1Q.1Q,g,k),e.1q("/1gL"+f)):"5j"===h.1Q.5x?(n=VS(f,k,"5j"),d.1pQ[f]=1g vm(h.1Q,g,k,n),e.1q("/1zx"+f)):(m=VS(f,k,"1sh"),d.1pQ[f]=1g el(h.1Q,g,k,n,b,m),e.1q("/3L8"+f))}}d.1jc=e.15F().14G("");1f d};Bi.1i.2p0=1b(a,b,c,d,e){1j(1d f in 1a.1pQ)1a.1pQ[f].36p(a,b,d,e)};Bi.1i.2p6=1b(a,b){1j(1d c in 1a.1pQ)1a.1pQ[c].2p6(a,b)};Bi.1i.2AM=1b(a,b,c,d,e){1d f=!1,h;1j(h in a)1j(1d g=0,k=b.4DZ(+h);g<k.1h;g+=1){1d n=k[g],m=c.7n(n.2P),w;1j(w in 1a.1pQ){1d x=1a.1pQ[w];x 2m bk||x 2m Kn||!0!==x.6d.2gs||(f=d.14I.1n(w),x.6d=f.1Q,x.36o(n.4I,n.9o,m,a[h],e),f=!0)}}1f f};Bi.1i.2N=1b(){1d a=[],b;1j(b in 1a.1pQ)a.1q.6c(a,1a.1pQ[b].2N());1f a};Bi.1i.5Na=1b(){1f 1a.2gw};Bi.1i.5N9=1b(a,b){1d c=[],d;1j(d in 1a.1pQ)1j(1d e=1a.1pQ[d],f=0,h=e.36n;f<h.1h;f+=1){1d g=h[f];if(b[g]){1d k=e.36m(a,b[g]);c.1q({2i:g,5i:d,26J:k})}}1f c};Bi.1i.2AW=1b(a,b,c,d){1j(1d e=0;e<b.1h;e+=1){1d f=b[e],h=f.2i,g=f.5i;1a.1pQ[g].2AW(a,f.26J,d,c.1n(g),h)}};Bi.1i.4Eb=1b(a){1d b=[],c;1j(c in 1a.1pQ){1d d=1a.1pQ[c];d 2m Ln?(d=2===a.1oY?d.3XZ:d.3XY)&&b.1q(d):(d 2m vm||d 2m el)&&d.1JU&&b.1q(d.1JU)}1a.2gw=b};Bi.1i.1zv=1b(a){1j(1d b in 1a.1pQ)1a.1pQ[b].1zv(a);a=[];1j(1d c in 1a.1pQ)b=1a.1pQ[c],(b 2m vm||b 2m el)&&b.1JU&&a.1q(b.1JU);1a.2gw=a};Bi.1i.1M=1b(){1j(1d a in 1a.1pQ)1a.1pQ[a].1M()};jc.19l("7PC",bk);jc.19l("7PB",Kn);jc.19l("7PA",vm);jc.19l("7Pz",Ln);jc.19l("7Py",el);jc.19l("7Px",Bi,{1ZO:["2gw"]});1d OM=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.1qw=1g 10Y(1a.15U)};b.1i.15T=1b(a){1d b=1a.1h;1a.1ce(b+1);1f 1a.1nc(b,a)};b.1i.1nc=1b(a,b){1a.1qw[1*a]=b;1f a};1f b}(wh);OM.1i.1Dy=2;jc.19l("5fC",OM);1d Yt=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.26r=1g 1FS(1a.15U)};b.1i.15T=1b(a,b){1d c=1a.1h;1a.1ce(c+1);1f 1a.1nc(c,a,b)};b.1i.1nc=1b(a,b,e){1d c=2*a;1a.26r[c+0]=b;1a.26r[c+1]=e;1f a};1f b}(wh);Yt.1i.1Dy=4;jc.19l("5fA",Yt);1d 4E0={12O:l$,6D:m$,4K:o$,1ap:p$},YX=Kh([{2i:"13t",1I:"1gf",1bw:2}]),Hf=1b(a,b){1a.1O=1g ak(a);1a.1D=1a.1G=b;1a.3XP={};1a.4Ch();1a.3XS=1;1a.3XR=1/1k.3r(2,16);1a.7Pw=!0;1a.5MT=1g Bi};Hf.1i.1ce=1b(a,b){1d c=1a.1O.gl;1a.1G=a;1a.1D=b;1a.1O.5q.1C([0,0,1a.1G,1a.1D]);if(1a.2r)1j(a=0,b=1a.2r.1nA;a<b.1h;a+=1)1a.2r.8U[b[a]].1ce();1a.3rX&&(c.4ms(1a.3rX),1a.3rX=1F)};Hf.1i.4Ch=1b(){1d a=1a.1O,b=1g Yt;b.15T(0,0);b.15T(1c8,0);b.15T(0,1c8);b.15T(1c8,1c8);1a.5N4=a.12S(b,YX.2gt);1a.5N3=Ug.3XX(0,0,4,2);b=1g Yt;b.15T(0,0);b.15T(1c8,0);b.15T(0,1c8);b.15T(1c8,1c8);1a.7Pv=a.12S(b,YX.2gt);1a.7Pu=Ug.3XX(0,0,4,5);b=1g Yt;b.15T(0,0);b.15T(1,0);b.15T(0,1);b.15T(1,1);1a.5N7=a.12S(b,YX.2gt);1a.5N6=Ug.3XX(0,0,4,2);b=1g OM;b.15T(0);b.15T(1);b.15T(3);b.15T(2);b.15T(0);1a.7Pt=a.17Q(b);b=1g Ut;b.15T(0,1,2);b.15T(2,1,3);1a.4E6=a.17Q(b);a=1a.1O.gl;1a.5N8=1g Rs({14R:a.1jW,11q:0},0,255,a.6h,a.6h,a.6h)};Hf.1i.2p3=1b(){1d a=1a.1O,b=a.gl;1a.3s0=1;1a.3XV=1p 0;1d c=1g 4A(16);c[0]=1;c[5]=1;c[10]=1;c[15]=1;1d d=1a.1G,e=1a.1D,f=1/(0-d),h=1/(e-0);c[0]=-2*f;c[1]=0;c[2]=0;c[3]=0;c[4]=0;c[5]=-2*h;c[6]=0;c[7]=0;c[8]=0;c[9]=0;c[10]=-2;c[11]=0;c[12]=(0+d)*f;c[13]=(0+e)*h;c[14]=-1;c[15]=1;f=[1a.1G,1a.1D,0];d=f[0];e=f[1];f=f[2];c[0]*=d;c[1]*=d;c[2]*=d;c[3]*=d;c[4]*=e;c[5]*=e;c[6]*=e;c[7]*=e;c[8]*=f;c[9]*=f;c[10]*=f;c[11]*=f;c[12]=c[12];c[13]=c[13];c[14]=c[14];c[15]=c[15];1a.28B("3XW").1Mm(a,b.11G,oi.1nk,1a.5N8,Zh.1nk,Ho.1nk,NM.4E8(c),"$5N5",1a.5N7,1a.4E6,1a.5N6)};Hf.1i.4E4=1b(a,b){if(1a.3XV!==a.5j&&a.3Xt()&&b&&b.1h){1a.3XV=a.5j;a=1a.1O;1d c=a.gl;256<1a.3s0+b.1h&&1a.2p3();a.4Ea(Zh.1nk);a.4E9(oi.1nk);1d d=1a.28B("3XW");1a.4E5={};1j(1d e=0;e<b.1h;e+=1){1d f=b[e],h=1a.4E5[f.10t]=1a.3s0++;d.1Mm(a,c.11G,oi.1nk,1g Rs({14R:c.1jW,11q:0},h,255,c.10w,c.10w,c.1f1),Zh.1nk,Ho.1nk,NM.4E8(f.7Ps),"$5N5",1a.5N4,1a.4E6,1a.5N3)}}};Hf.1i.7Pr=1b(){1a.3XV=1p 0;256<1a.3s0+1&&1a.2p3();1d a=1a.3s0++,b=1a.1O.gl;1f 1g Rs({14R:b.2AV,11q:255},a,255,b.10w,b.10w,b.1f1)};Hf.1i.7Pq=1b(a){1d b=1a.1O.gl;1f 1g Rs({14R:b.1Be,11q:255},1a.4E5[a.10t],0,b.10w,b.10w,b.1f1)};Hf.1i.3XU=1b(){1d a=1a.1O.gl;1f 1a.3rW?1g Zh([a.3rZ,a.1ip],1g Rd(.125,.125,.125,0),[!0,!0,!0,!0]):"1xU"===1a.2gv?Zh.5N2:Zh.5N1};Hf.1i.3rY=1b(a,b,c){if(!1a.5N0())1f oi.1nk;a=1-((1+1a.1Ek)*1a.3XS+a)*1a.3XR;1f 1g oi(c||1a.1O.gl.2p5,b,[a,a])};Hf.1i.5N0=1b(){1f 1a.1Ek<1a.3XT};Hf.1i.5MZ=1b(a,b,c){1a.2r=a;1a.3v=c;1a.2AU=a.2AU;1a.1MR=a.1MR;c=1a.2r.1nA;1a.1O.9P({1A:Rd.18b,4e:1});1a.3rW=!1;1a.5MV=[0,1-(a.1nA.1h+2)*1a.3XS*1a.3XR];1a.3XT=12g;1a.2gv="1xU";1j(1a.1Ek=c.1h-1;0<=1a.1Ek;1a.1Ek--)1a.4E2(1a,b,1a.2r.8U[c[1a.1Ek]]);1a.2gv="11C";1j(1a.1Ek=0;1a.1Ek<c.1h;1a.1Ek++)1a.4E2(1a,b,1a.2r.8U[c[1a.1Ek]]);1a.1O.1hY()};Hf.1i.3t=1b(a,b){1a.2r=a;1a.3v=b;1a.2AU=a.2AU;1a.1MR=a.1MR;1a.5MY=a.5MY;1a.3MT=a.1fJ.3MT(1Pk.1Ve.14H());1a.1MR.2z1();1d c=1a.2r.1nA,d=1a.2r.3rE;1j(f in d){1d e=d[f];e.1rd&&e.7Pp(1a.1O)}1d f={};e={};1d h={},g;1j(g in d){1d k=d[g];f[g]=k.5MX();e[g]=f[g].4h().1e1();h[g]=k.5MX(!0).1e1()}1a.3XT=12g;1j(g=0;g<c.1h;g++)if(1a.2r.8U[c[g]].3rQ()){1a.3XT=g;1W}1a.1O.1Bw.1C(1F);1a.1O.9P({1A:b.5MW?Rd.2p4:Rd.18b,4e:1});1a.2p3();1a.3rW=b.5MW;1a.5MV=[0,1-(a.1nA.1h+2)*1a.3XS*1a.3XR];1a.2gv="1xU";1j(1a.1Ek=c.1h-1;0<=1a.1Ek;1a.1Ek--)a=1a.2r.8U[c[1a.1Ek]],b=d[a.5j],g=f[a.5j],1a.4E4(a,g),1a.4E1(1a,b,a,g);1a.2gv="11C";1j(1a.1Ek=0;1a.1Ek<c.1h;1a.1Ek++)a=1a.2r.8U[c[1a.1Ek]],b=d[a.5j],g=("1ap"===a.1I?h:e)[a.5j],1a.4E4(a,f[a.5j]),1a.4E1(1a,b,a,g);1a.1O.1hY()};Hf.1i.7Po=1b(){1d a=1a.1O;1a.3rX||(1a.3rX=a.3XQ(a.gl.2fK,1a.1G,1a.1D))};Hf.1i.4E2=1b(a,b,c){1p 0==c||c.3XM(b.6b)||(1a.id=c.id,4E0[c.1I](a,b,c))};Hf.1i.4E1=1b(a,b,c,d){c.3XM(1a.5o.5K)||"1Ds"!==c.1I&&"2Jn"!==c.1I&&!d.1h||(1a.id=c.id,4E0[c.1I](a,b,c,d,1a.2r.1fJ.3kf))};Hf.1i.7Pn=1b(a,b,c,d,e){if(!c[0]&&!c[1])1f a;1d f=e?"5d"===d?1a.5o.8f:0:"5q"===d?-1a.5o.8f:0;f&&(d=1k.2T(f),f=1k.3i(f),c=[c[0]*f-c[1]*d,c[0]*d+c[1]*f]);b=[e?c[0]:5MU(b,c[0],1a.5o.5K),e?c[1]:5MU(b,c[1],1a.5o.5K),0];c=1g 4A(16);1Pk.11v(c,a,b);1f c};Hf.1i.7Pm=1b(a){1d b=1a.3XP[a.4V[0]];b?b.1q(a):1a.3XP[a.4V[0]]=[a]};Hf.1i.7Pl=1b(a){1f(a=1a.3XP[a])&&0<a.1h?a.9l():1F};Hf.1i.7Pk=1b(a){if(!a)1f!1;1d b=1a.1MR.4Dg(a.19f.5s());a=1a.1MR.4Dg(a.to.5s());1f!b||!a};Hf.1i.28B=1b(a,b){1p 0===b&&(b=1a.5MT);1a.1au=1a.1au||{};1d c=""+a+(b.1jc||"")+(1a.3rW?"/7Pj":"");1a.1au[c]||(1a.1au[c]=1g WX(1a.1O,MM[a],b,4fi[a],1a.3rW));1f 1a.1au[c]};Hf.1i.7Pi=1b(){1a.1O.3rV();1a.1O.1Ee.1hY();1a.1O.1pR.1hY();1a.1O.3rU.1hY();1a.1O.3rT.1hY();1a.1O.3rS.1hY()};Hf.1i.7Ph=1b(){1d a=1a.1O.gl;1a.1O.1Ee.1C(!1);1a.1O.5q.1C([0,0,1a.1G,1a.1D]);1a.1O.2N6.1C(a.28A)};1d Zt=1b(){1a.1a8=[];1a.3q=[];1a.5MS=!1};Zt.1i.add=1b(a,b,c,d){1a.1a8.1q(a);1a.3q.1q(b,c,d)};Zt.1i.4DZ=1b(a){1j(1d b=0,c=1a.1a8.1h-1;b<c;){1d d=b+c>>1;1a.1a8[d]>=a?c=d:b=d+1}1j(c=[];1a.1a8[b]===a;)c.1q({2P:1a.3q[3*b],4I:1a.3q[3*b+1],9o:1a.3q[3*b+2]}),b++;1f c};Zt.13W=1b(a,b){1d c=1g 13X(a.1a8);a=1g 12X(a.3q);WS(c,a,0,c.1h-1);b&&b.1q(c.3J,a.3J);1f{1a8:c,3q:a}};Zt.1Pm=1b(a){1d b=1g Zt;b.1a8=a.1a8;b.3q=a.3q;b.5MS=!0;1f b};jc.19l("7Pg",Zt);1d gp=1b(a,b,c,d){1p 0===d&&(d=1b(){1f!0});1a.1dO={};1j(1d e=0;e<b.1h;e+=1){1d f=b[e];1a.1dO[f.id]=Bi.5MR(f,c,d);1a.1dO[f.id].3XO=a}1a.28v=!1;1a.4DX=1g Zt;1a.4DY=0};gp.1i.2p0=1b(a,b,c,d,e){1j(1d f in 1a.1dO)1a.1dO[f].2p0(a,b,c,d,e);1p 0!==b.id&&1a.4DX.add(+b.id,c,1a.4DY,a);1a.4DY=a;1a.28v=!0};gp.1i.2AM=1b(a,b,c,d){1j(1d e=0;e<c.1h;e+=1){1d f=c[e];1a.28v=1a.1dO[f.id].2AM(a,1a.4DX,b,f,d)||1a.28v}};gp.1i.1n=1b(a){1f 1a.1dO[a]};gp.1i.1zv=1b(a){if(1a.28v){1j(1d b in 1a.1dO)1a.1dO[b].1zv(a);1a.28v=!1}};gp.1i.1M=1b(){1j(1d a in 1a.1dO)1a.1dO[a].1M()};jc.19l("7Pf",gp);1d 4DW=Kh([{2i:"13t",1bw:2,1I:"1gf"}],4).2gt,hp=1b(a){1a.5K=a.5K;1a.1J6=a.1J6;1a.9Q=a.9Q;1a.2lZ=1a.9Q.5d(1b(a){1f a.id});1a.2P=a.2P;1a.2jd=!1;1a.1ge=1g Yt;1a.1jk=1g Ut;1a.1eK=1g Ug;1a.1dO=1g gp(4DW,a.9Q,a.5K);1a.3XC=1a.9Q.14O(1b(a){1f a.2gs()}).5d(1b(a){1f a.id})};hp.1i.3XB=1b(a,b){1d c=1a.9Q[0],d=[],e=1F;"12O"===c.1I&&(e=c.11e.1n("12O-15F-10t"));1j(c=0;c<a.1h;c+=1){1d f=a[c],h=f.7n,g=f.2P;f=f.1AN;if(1a.9Q[0].3ks(1g Lf(0),h)){1d k=Ey(h),n=e?e.3x(h,{}):1p 0;d.1q({id:h.id,5U:h.5U,1I:h.1I,1AN:f,2P:g,3y:k,1Bv:{},1zw:n})}}e&&d.15F(1b(a,b){1f a.1zw-b.1zw});1j(e=0;e<d.1h;e+=1)f=c=d[e],h=f.3y,g=f.2P,f=f.1AN,k=a[g].7n,1a.2p1(c,h,g),b.1hh.1v1(k,h,g,f,1a.2P)};hp.1i.2H=1b(a,b,c){1a.2N3.1h&&1a.1dO.2AM(a,b,1a.2N3,c)};hp.1i.1kn=1b(){1f 0===1a.1ge.1h};hp.1i.3Xz=1b(){1f!1a.2gr||1a.1dO.28v};hp.1i.1zv=1b(a){1a.2gr||(1a.1zu=a.12S(1a.1ge,4DW),1a.10X=a.17Q(1a.1jk));1a.1dO.1zv(a);1a.2gr=!0};hp.1i.1M=1b(){1a.1zu&&(1a.1zu.1M(),1a.10X.1M(),1a.1dO.1M(),1a.1eK.1M())};hp.1i.2p1=1b(a,b,c){1j(1d d=0;d<b.1h;d+=1)1j(1d e=0,f=b[d];e<f.1h;e+=1){1d h=f[e],g=h.x;h=h.y;if(!(0>g||1c8<=g||0>h||1c8<=h)){1d k=1a.1eK.2N2(4,1a.1ge,1a.1jk,a.1zw),n=k.1MS;WI(1a.1ge,g,h,-1,-1);WI(1a.1ge,g,h,1,-1);WI(1a.1ge,g,h,1,1);WI(1a.1ge,g,h,-1,1);1a.1jk.15T(n,n+1,n+2);1a.1jk.15T(n,n+3,n+2);k.1MS+=4;k.2gq+=2}}1a.1dO.2p0(1a.1ge.1h,a,c,{})};jc.19l("7Pe",hp,{1ZO:["9Q"]});1d Tc=1b(a){1a.1zt=a};Tc.1i.1nb=1b(a,b){1f a.6d.3x(b)};Tc.1i.1d9=1b(a,b,c){1d d=1d9[1a.1zt.1I];1f d?d(a,b,c):a};jc.19l("7Pd",Tc);1d qc=1b(a,b){1a.1zt=a;1a.4Dq=b};qc.1i.1nb=1b(a,b,c){1f"10p"===a.6d.5x||"3w"===a.6d.5x?1g dl(1a,{5x:"10p",1Q:a.6d.3x(b,1F,{},c)},b):1g dl(1a,a.6d,b)};qc.1i.1d9=1b(a,b,c){if("10p"!==a.1Q.5x||"10p"!==b.1Q.5x)1f a;if(1p 0===a.1Q.1Q||1p 0===b.1Q.1Q)1f 1g dl(1a,{5x:"10p",1Q:1p 0},a.7V);1d d=1d9[1a.1zt.1I];1f d?1g dl(1a,{5x:"10p",1Q:d(a.1Q.1Q,b.1Q.1Q,c)},a.7V):a};qc.1i.3x=1b(a,b,c,d,e){1f"10p"===a.5x?a.1Q:a.3x(b,c,d,e)};jc.19l("5LZ",qc);1d Pw=1b(a,b){1a.5i=a;1a.1Q=b;1a.6d=Ds.5MQ(1p 0===b?a.1zt.4T:b,a.1zt)};Pw.1i.2MY=1b(){1f"5j"===1a.6d.5x||"1sh"===1a.6d.5x};Pw.1i.1nb=1b(a,b){1f 1a.5i.1nb(1a,a,b)};1d PM=1b(a,b,c,d,e){1a.5i=a;1a.1Q=b;1a.1jM=e+d.1Jr||0;1a.9o=1a.1jM+d.13k||0;a.1zt.11O&&(d.1Jr||d.13k)&&(1a.36k=c)};PM.1i.1nb=1b(a,b){1d c=a.14H||0,d=1a.1Q.1nb(a,b),e=1a.36k;if(e){if(c>1a.9o||1a.1Q.2MY())1f 1a.36k=1F,d;if(c<1a.1jM)1f e.1nb(a,b);c=(c-1a.1jM)/(1a.9o-1a.1jM);1f 1a.5i.1d9(e.1nb(a,b),d,5MP(c))}1f d};Ff.5MO=1b(a){if(0>=a)1f 0;if(1<=a)1f 1;1d b=a*a,c=b*a;1f 4*(.5>a?c:3*(a-b)+c-.75)};Ff.5MN=1b(a,b,c){if(!a.1h)1f c(1F,[]);1d d=a.1h,e=2K(a.1h),f=1F;a.12I(1b(a,g){b(a,1b(a,b){a&&(f=a);e[g]=b;0===--d&&c(f,e)})})};Ff.1a3=1b(a){1j(1d b=[],c=5m.1h-1;0<c--;)b[c]=5m[c+1];1j(c=0;c<b.1h;c+=1){1d d=b[c],e;1j(e in d)a[e]=d[e]}1f a};1d 5ML=1;Ff.5MM=1b(){1f 5ML++};Ff.1Zn=1b(){1b a(b){1f b?(b^16*1k.1ps()>>b/4).5s(16):"5MK-3Fy-5MJ-5MI-5MH".3X(/[5MG]/g,a)}1f a()};Ff.5MF=1b(a){1f a?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[5ME][0-9a-f]{3}-[0-9a-f]{12}$/i.6S(a):!1};Ff.5MD=1b(a,b){a.12I(1b(a){b[a]&&(b[a]=b[a].7X(b))})};Ff.36l=1b(a,b){1f-1!==a.3f(b,a.1h-b.1h)};Ff.3rF=1b(a,b,c){1d d={},e;1j(e in a)d[e]=b.4G(c||1a,a[e],e,a);1f d};Ff.3Xf=1b(a,b,c){1d d={},e;1j(e in a)b.4G(c||1a,a[e],e,a)&&(d[e]=a[e]);1f d};Ff.1y=1b(a){1f 2K.8n(a)?a.5d(Ff.1y):"2c"===2h a&&a?Ff.3rF(a,Ff.1y):a};Ff.2oU=1b(a,b){if(2K.8n(a)){if(!2K.8n(b)||a.1h!==b.1h)1f!1;1j(1d c=0;c<a.1h;c++)if(!Ff.2oU(a[c],b[c]))1f!1;1f!0}if("2c"===2h a&&1F!==a&&1F!==b){if("2c"!==2h b||1L.9K(a).1h!==1L.9K(b).1h)1f!1;1j(c in a)if(!Ff.2oU(a[c],b[c]))1f!1;1f!0}1f a===b};Ff.4mw=1b(a,b){1j(1d c=0;c<a.1h;c++)if(0<=b.3f(a[c]))1f!0;1f!1};Ff.2AT=1b(a,b,c){1f(c.y-a.y)*(b.x-a.x)>(b.y-a.y)*(c.x-a.x)};Ff.5MC=1b(){1f"7w"!==2h 3XN&&"7w"!==2h 1KQ&&1KQ 2m 3XN};1d ZX=1F;Ff.4DV=1b(a){if(1F==ZX){1d b=a.1Pu?a.1Pu.1LZ:1F;ZX=!!a.4oM||!(!b||!(/\\b(5MB|5MA|5Mz)\\b/.6S(b)||b.141("3OR")&&!b.141("3OS")))}1f ZX};Ff.4Ds=1b(a,b){1f b.3X(/{([^{}]+)}/g,1b(b,d){1f d in a?10J(a[d]):""})};1d IA=1b(a){1a.5i=a;1a.1Q=1g Pw(a,1p 0)};IA.1i.3XL=1b(a,b){1f 1g PM(1a.5i,1a.1Q,b,Ff.1a3({},a.11O,1a.11O),a.14H)};IA.1i.3rR=1b(){1f 1g PM(1a.5i,1a.1Q,1F,{},0)};1d nr=1b(a){1a.5U=a;1a.4DT={};1a.4DR={};1a.4DS={};1a.4DU={};1a.3Xp=[];1j(1d b in a){1d c=a[b];c.1zt.5M9&&1a.3Xp.1q(b);1d d=1a.4DT[b]=1g Pw(c,1p 0);c=1a.4DR[b]=1g IA(c);1a.4DS[b]=c.3rR();1a.4DU[b]=d.1nb({})}};Yi.36c=1b(a,b,c){1d d=b.14I.1n(a).1Q;1f"10p"===d.5x?d.1Q:c.1dO.1n(b.id).1pQ[a].1bj};Yi.3Xu=1b(a){1f 1k.3Y(a[0]*a[0]+a[1]*a[1])};Yi.11v=1b(a,b,c,d,e){if(!b[0]&&!b[1])1f a;b=Yc.1hk(b).1Tw(e);"5q"===c&&b.1si(-d);c=[];1j(d=0;d<a.1h;d++)c.1q(a[d].1LT(b));1f c};1d QM=1b(a){1a.1tp=a;1a.14z=1L.6F(a.4DU)};QM.1i.1n=1b(a){1f 1a.14z[a]};1d Yy=1b(a){1a.1tp=a;1a.14z=1L.6F(a.4DT)};Yy.1i.3K=1b(a){1f vc.1y(1a.14z[a].1Q)};Yy.1i.1cf=1b(a,b){1a.14z[a]=1g Pw(1a.14z[a].5i,1F===b?1p 0:vc.1y(b))};Yy.1i.13W=1b(){1j(1d a={},b=0,c=1L.9K(1a.14z);b<c.1h;b+=1){1d d=c[b],e=1a.3K(d);1p 0!==e&&(a[d]=e)}1f a};Yy.1i.1nb=1b(a,b){1j(1d c=1g QM(1a.1tp),d=0,e=1L.9K(1a.14z);d<e.1h;d+=1){1d f=e[d];c.14z[f]=1a.14z[f].1nb(a,b)}1f c};1d wF=1b(a){1a.1tp=a;1a.14z=1L.6F(a.4DS)};wF.1i.1nb=1b(a,b){1j(1d c=1g QM(1a.1tp),d=0,e=1L.9K(1a.14z);d<e.1h;d+=1){1d f=e[d];c.14z[f]=1a.14z[f].1nb(a,b)}1f c};wF.1i.4DP=1b(){1j(1d a=0,b=1L.9K(1a.14z);a<b.1h;a+=1)if(1a.14z[b[a]].36k)1f!0;1f!1};1d uq=1b(a){1a.1tp=a;1a.14z=1L.6F(a.4DR)};uq.1i.3K=1b(a){1f vc.1y(1a.14z[a].1Q.1Q)};uq.1i.1cf=1b(a,b){1a.14z.3p(a)||(1a.14z[a]=1g IA(1a.14z[a].5i));1a.14z[a].1Q=1g Pw(1a.14z[a].5i,1F===b?1p 0:vc.1y(b))};uq.1i.4DQ=1b(a){1f vc.1y(1a.14z[a].11O)};uq.1i.5My=1b(a,b){1a.14z.3p(a)||(1a.14z[a]=1g IA(1a.14z[a].5i));1a.14z[a].11O=vc.1y(b)||1p 0};uq.1i.13W=1b(){1j(1d a={},b=0,c=1L.9K(1a.14z);b<c.1h;b+=1){1d d=c[b],e=1a.3K(d);1p 0!==e&&(a[d]=e);e=1a.4DQ(d);1p 0!==e&&(a[d+"-11O"]=e)}1f a};uq.1i.3XL=1b(a,b){1j(1d c=1g wF(1a.1tp),d=0,e=1L.9K(1a.14z);d<e.1h;d+=1){1d f=e[d];c.14z[f]=1a.14z[f].3XL(a,b.14z[f])}1f c};uq.1i.3rR=1b(){1j(1d a=1g wF(1a.1tp),b=0,c=1L.9K(1a.14z);b<c.1h;b+=1){1d d=c[b];a.14z[d]=1a.14z[d].3rR()}1f a};Gf.1i.36j=1b(){1f 1a.5Mx};Gf.1i.363=1b(a){1f"12F"===a?1a.12F:1a.26p.3K(a)};Gf.1i.364=1b(a,b,c){"12F"===a?1a.12F=b:1a.26p.1cf(a,b)};Gf.1i.2AG=1b(a){1f-1!==a.3f("-11O",a.1h-11)?1a.22e.4DQ(a.4h(0,-11)):1a.22e.3K(a)};Gf.1i.362=1b(a,b,c){if(-1!==a.3f("-11O",a.1h-11))1f 1a.22e.5My(a.4h(0,-11),b||1p 0),!1;1d d=1a.22e.14z[a];c="4B-28x-2g-17H"===d.5i.1zt["5i-1I"];1d e=d.1Q.2MY();d=d.1Q;1a.22e.1cf(a,b);1a.4Dx(a);b=1a.22e.14z[a].1Q;1f b.2MY()||e||c||1a.4Dr(a,d,b)};Gf.1i.4Dx=1b(a){};Gf.1i.4Dr=1b(a,b,c){1f!1};Gf.1i.3XM=1b(a){1f 1a.22i&&a<1a.22i||1a.1Qy&&a>=1a.1Qy?!0:"1bs"===1a.12F};Gf.1i.5Lx=1b(a){1a.36d=1a.22e.3XL(a,1a.36d)};Gf.1i.4DP=1b(){1f 1a.36d.4DP()};Gf.1i.2oW=1b(a,b){a.36j&&(1a.5Mx=a.36j());1a.26p&&(1a.11e=1a.26p.1nb(a,b));1a.14I=1a.36d.1nb(a,b)};Gf.1i.13W=1b(){1d a={id:1a.id,1I:1a.1I,5j:1a.5j,"5j-7r":1a.3MX,1lv:1a.1lv,22i:1a.22i,1Qy:1a.1Qy,14O:1a.14O,11e:1a.26p&&1a.26p.13W(),14I:1a.22e&&1a.22e.13W()};1a.12F&&(a.11e=a.11e||{},a.11e.12F=1a.12F);1f vc.3Xf(a,1b(a,c){1f 1p 0!==a&&!("11e"===c&&!1L.9K(a).1h)&&!("14I"===c&&!1L.9K(a).1h)})};Gf.1i.4Dm=1b(a,b,c,d,e){1f!0};Gf.1i.3rQ=1b(){1f!1};Gf.1i.3Xt=1b(){1f!1};Gf.1i.7Pc=1b(){1f!1};Gf.1i.1ce=1b(){};Gf.1i.2gs=1b(){1f!0};1d hb={$9G:8,$1ro:{9G:{1X:!0,1I:"19Q",2a:[8]},2i:{1I:"4n"},1lv:{1I:"*"},2V:{1I:"4x",1Q:"2b"},5K:{1I:"2b"},4Dd:{1I:"2b","4T":0,1ze:360,13u:"2gu"},8q:{1I:"2b","4T":0,13u:"2gu"},1e8:{1I:"1e8"},5p:{1X:!0,1I:"5p"},28s:{1I:"4n"},3Xe:{1I:"4n"},11O:{1I:"11O"},9Q:{1X:!0,1I:"4x",1Q:"7r"}},5p:{"*":{1I:"5j"}},5j:"5Mw 5Mv 5Mu 5Mt 5Ms 5Mr".7g(" "),5Mw:{1I:{1X:!0,1I:"19Q",2a:{8r:{}}},2I:{1I:"4n"},17v:{1I:"4x",1Q:"4n"},14w:{1I:"4x",1Q:"2b",1h:4,"4T":[-180,-85.36i,180,85.36i]},1c2:{1I:"19Q",2a:{1H:{},4DO:{}},"4T":"1H"},22i:{1I:"2b","4T":0},1Qy:{1I:"2b","4T":22},2AS:{1I:"4n"},"*":{1I:"*"}},5Mv:{1I:{1X:!0,1I:"19Q",2a:{1Vj:{}}},2I:{1I:"4n"},17v:{1I:"4x",1Q:"4n"},14w:{1I:"4x",1Q:"2b",1h:4,"4T":[-180,-85.36i,180,85.36i]},22i:{1I:"2b","4T":0},1Qy:{1I:"2b","4T":22},1AO:{1I:"2b","4T":512,13u:"11n"},1c2:{1I:"19Q",2a:{1H:{},4DO:{}},"4T":"1H"},2AS:{1I:"4n"},"*":{1I:"*"}},5Mu:{1I:{1X:!0,1I:"19Q",2a:{"1Vj-7Pb":{}}},2I:{1I:"4n"},17v:{1I:"4x",1Q:"4n"},14w:{1I:"4x",1Q:"2b",1h:4,"4T":[-180,-85.36i,180,85.36i]},22i:{1I:"2b","4T":0},1Qy:{1I:"2b","4T":22},1AO:{1I:"2b","4T":512,13u:"11n"},2AS:{1I:"4n"},19F:{1I:"19Q",2a:{7Pa:{},3H:{}},"4T":"3H"},"*":{1I:"*"}},5Mt:{1I:{1X:!0,1I:"19Q",2a:{4DL:{}}},2g:{1I:"*"},1Qy:{1I:"2b","4T":18},2AS:{1I:"4n"},3J:{1I:"2b","4T":128,14S:512,13b:0},2xd:{1I:"2b","4T":.375},7P9:{1I:"11T","4T":!1},7P8:{1I:"2b","4T":50,13b:0},7P7:{1I:"2b"},7P6:{1I:"*"},5Md:{1I:"11T","4T":!1},7P5:{1I:"11T","4T":!1}},5Ms:{1I:{1X:!0,1I:"19Q",2a:{1qA:{}}},28z:{1X:!0,1I:"4x",1Q:"4n"},9R:{1X:!0,1I:"4x",1h:4,1Q:{1I:"4x",1h:2,1Q:"2b"}}},5Mr:{1I:{1X:!0,1I:"19Q",2a:{4d:{}}},2I:{1X:!0,1I:"4n"},9R:{1X:!0,1I:"4x",1h:4,1Q:{1I:"4x",1h:2,1Q:"2b"}}},7r:{id:{1I:"4n",1X:!0},1I:{1I:"19Q",2a:{4K:{},6D:{},1ap:{},12O:{},22f:{},"4K-1iI":{},1Vj:{},2AQ:{},1Ds:{}},1X:!0},1lv:{1I:"*"},5j:{1I:"4n"},"5j-7r":{1I:"4n"},22i:{1I:"2b",13b:0,14S:24},1Qy:{1I:"2b",13b:0,14S:24},14O:{1I:"14O"},11e:{1I:"11e"},14I:{1I:"14I"}},11e:"3rL 2N1 4DI 5Mp 3rL-1iI 1dN 5Mm 5Ml 5Mq".7g(" "),5Mq:{12F:{1I:"19Q",2a:{13z:{},1bs:{}},"4T":"13z","5i-1I":"10p"}},3rL:{"4K-15F-10t":{1I:"2b",6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},12F:{1I:"19Q",2a:{13z:{},1bs:{}},"4T":"13z","5i-1I":"10p"}},4DI:{"12O-15F-10t":{1I:"2b",6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},12F:{1I:"19Q",2a:{13z:{},1bs:{}},"4T":"13z","5i-1I":"10p"}},5Mp:{12F:{1I:"19Q",2a:{13z:{},1bs:{}},"4T":"13z","5i-1I":"10p"}},"3rL-1iI":{12F:{1I:"19Q",2a:{13z:{},1bs:{}},"4T":"13z","5i-1I":"10p"}},2N1:{"6D-1S4":{1I:"19Q",2a:{3Xx:{},9p:{},4DC:{}},"4T":"3Xx",6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"6D-14G":{1I:"19Q",2a:{3rK:{},9p:{},1Ac:{}},"4T":"1Ac",6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},"6D-1Ac-1C4":{1I:"2b","4T":2,9N:[{"6D-14G":"1Ac"}],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"6D-9p-1C4":{1I:"2b","4T":1.1cN,9N:[{"6D-14G":"9p"}],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"6D-15F-10t":{1I:"2b",6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},12F:{1I:"19Q",2a:{13z:{},1bs:{}},"4T":"13z","5i-1I":"10p"}},1dN:{"1ap-1fJ":{1I:"19Q",2a:{7v:{},6D:{},"6D-2V":{}},"4T":"7v",6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"1ap-1Im":{1I:"2b","4T":250,13b:1,13u:"11n",9N:[{"1ap-1fJ":"6D"}],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"1ap-2j9-24Y":{1I:"11T","4T":!1,6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"1ap-15F-10t":{1I:"2b",6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},"1ap-z-1HC":{1I:"19Q",2a:{1sg:{},"5q-y":{},5j:{}},"4T":"1sg",6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"6O-28u-2oY":{1I:"11T","4T":!1,9N:["6O-4d"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"6O-26c-1fJ":{1I:"11T","4T":!1,9N:["6O-4d"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"6O-2JS":{1I:"11T","4T":!1,9N:["6O-4d","3l-1bF"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"6O-5S-1ew":{1I:"19Q",2a:{5d:{},5q:{},1sg:{}},"4T":"1sg",9N:["6O-4d"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"6O-4V":{1I:"2b","4T":1,13b:0,13u:"8H of 1Z 2GP 6O 4V",9N:["6O-4d"],6d:{9z:!0,7V:["5K","7n"]},"5i-1I":"2g-17H"},"6O-3l-1TM":{1I:"19Q",2a:{1bs:{},1G:{},1D:{},1oE:{}},"4T":"1bs",9N:["6O-4d","3l-1bF"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"6O-3l-1TM-1fT":{1I:"4x",1Q:"2b",1h:4,"4T":[0,0,0,0],13u:"11n",9N:["6O-4d","3l-1bF",{"6O-3l-1TM":["1oE","1G","1D"]}],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"6O-4d":{1I:"1GS",5Mo:!0,6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},"6O-17b":{1I:"2b","4T":0,1ze:360,13u:"2gu",9N:["6O-4d"],6d:{9z:!0,7V:["5K","7n"]},"5i-1I":"2g-17H"},"6O-1fT":{1I:"2b","4T":2,13b:0,13u:"11n",9N:["6O-4d"],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"6O-1eL-2Ih":{1I:"11T","4T":!1,9N:["6O-4d",{"6O-5S-1ew":"5d"},{"1ap-1fJ":["6D","6D-2V"]}],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"6O-2M":{1I:"4x",1Q:"2b",1h:2,"4T":[0,0],9N:["6O-4d"],6d:{9z:!0,7V:["5K","7n"]},"5i-1I":"2g-17H"},"6O-1cs":{1I:"19Q",2a:{2V:{},3B:{},2W:{},5C:{},7b:{},"5C-3B":{},"5C-2W":{},"7b-3B":{},"7b-2W":{}},"4T":"2V",9N:["6O-4d"],6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},"6O-8q-1ew":{1I:"19Q",2a:{5d:{},5q:{},1sg:{}},"4T":"1sg",9N:["6O-4d"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"3l-8q-1ew":{1I:"19Q",2a:{5d:{},5q:{},1sg:{}},"4T":"1sg",9N:["3l-1bF"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"3l-5S-1ew":{1I:"19Q",2a:{5d:{},5q:{},1sg:{}},"4T":"1sg",9N:["3l-1bF"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"3l-1bF":{1I:"1S6","4T":"",5Mo:!0,6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},"3l-9O":{1I:"4x",1Q:"4n","4T":["30r 5Mn 36h","4qc 4Cv MS 36h"],9N:["3l-1bF"],6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},"3l-4V":{1I:"2b","4T":16,13b:0,13u:"11n",9N:["3l-1bF"],6d:{9z:!0,7V:["5K","7n"]},"5i-1I":"2g-17H"},"3l-1V-1G":{1I:"2b","4T":10,13b:0,13u:"3rO",9N:["3l-1bF"],6d:{9z:!0,7V:["5K","7n"]},"5i-1I":"2g-17H"},"3l-6D-1D":{1I:"2b","4T":1.2,13u:"3rO",9N:["3l-1bF"],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"3l-2wQ-1Im":{1I:"2b","4T":0,13u:"3rO",9N:["3l-1bF"],6d:{9z:!0,7V:["5K","7n"]},"5i-1I":"2g-17H"},"3l-3MO":{1I:"19Q",2a:{1sg:{},3B:{},2V:{},2W:{}},"4T":"2V",9N:["3l-1bF"],6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},"3l-2Ig-2M":{1I:"2b",13u:"3rO","4T":0,9N:["3l-1bF"],"5i-1I":"2g-17H",6d:{9z:!0,7V:["5K","7n"]}},"3l-2dZ-1cs":{1I:"4x",1Q:"19Q",2a:{2V:{},3B:{},2W:{},5C:{},7b:{},"5C-3B":{},"5C-2W":{},"7b-3B":{},"7b-2W":{}},9N:["3l-1bF",{"1ap-1fJ":["7v"]}],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"3l-1cs":{1I:"19Q",2a:{2V:{},3B:{},2W:{},5C:{},7b:{},"5C-3B":{},"5C-2W":{},"7b-3B":{},"7b-2W":{}},"4T":"2V",9N:["3l-1bF",{"!":"3l-2dZ-1cs"}],6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},"3l-1V-8f":{1I:"2b","4T":45,13u:"2gu",9N:["3l-1bF",{"1ap-1fJ":["6D","6D-2V"]}],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"3l-2gp-3z":{1I:"4x",1Q:"19Q",2a:{1ia:{},1km:{}},9N:["3l-1bF",{"1ap-1fJ":["7v"]}],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"3l-17b":{1I:"2b","4T":0,1ze:360,13u:"2gu",9N:["3l-1bF"],6d:{9z:!0,7V:["5K","7n"]},"5i-1I":"2g-17H"},"3l-1fT":{1I:"2b","4T":2,13b:0,13u:"11n",9N:["3l-1bF"],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"3l-1eL-2Ih":{1I:"11T","4T":!0,9N:["3l-1bF",{"3l-5S-1ew":"5d"},{"1ap-1fJ":["6D","6D-2V"]}],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"3l-5o":{1I:"19Q",2a:{1bs:{},4DN:{},3rP:{}},"4T":"1bs",9N:["3l-1bF"],6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"2g-17H"},"3l-2M":{1I:"4x",1Q:"2b",13u:"3rO",1h:2,"4T":[0,0],9N:["3l-1bF",{"!":"3l-2Ig-2M"}],6d:{9z:!0,7V:["5K","7n"]},"5i-1I":"2g-17H"},"3l-28u-2oY":{1I:"11T","4T":!1,9N:["3l-1bF"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"3l-26c-1fJ":{1I:"11T","4T":!1,9N:["3l-1bF"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"3l-2JS":{1I:"11T","4T":!1,9N:["3l-1bF","6O-4d"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},12F:{1I:"19Q",2a:{13z:{},1bs:{}},"4T":"13z","5i-1I":"10p"}},5Mm:{12F:{1I:"19Q",2a:{13z:{},1bs:{}},"4T":"13z","5i-1I":"10p"}},5Ml:{12F:{1I:"19Q",2a:{13z:{},1bs:{}},"4T":"13z","5i-1I":"10p"}},14O:{1I:"4x",1Q:"*"},7P4:{1I:"19Q",2a:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},all:{},any:{},1bs:{},14d:{},"!14d":{}}},7P3:{1I:"19Q",2a:{18H:{},1b1:{},14x:{}}},"1b":{6d:{1I:"6d"},1BY:{1I:"4x",1Q:"5Mj"},13T:{1I:"2b","4T":1,13b:0},5i:{1I:"4n","4T":"$5K"},1I:{1I:"19Q",2a:{3XK:{},22h:{},18B:{},5Mk:{}},"4T":"22h"},3rN:{1I:"19Q",2a:{2y:{},2du:{},25Y:{}},"4T":"2y"},"4T":{1I:"*",1X:!1}},5Mj:{1I:"4x",13b:0,14S:24,1Q:["2b","1A"],1h:2},6d:{1I:"4x",1Q:"*",13b:1},7P2:{1I:"19Q",2a:{2FM:{13o:"3XJ 26J"},"1d":{13o:"3XJ 26J"},1nM:{13o:"1MW"},4x:{13o:"1MW"},at:{13o:"3rM"},"in":{13o:"3rM"},"1S":{13o:"22g"},141:{13o:"22g"},3CE:{13o:"22g"},7F:{13o:"3XI, 2aU, 3XH"},1d9:{13o:"3XI, 2aU, 3XH"},"1d9-25Y":{13o:"3XI, 2aU, 3XH"},"1d9-2du":{13o:"3XI, 2aU, 3XH"},5Mi:{13o:"1k"},pi:{13o:"1k"},e:{13o:"1k"},"2h":{13o:"1MW"},4n:{13o:"1MW"},2b:{13o:"1MW"},11T:{13o:"1MW"},2c:{13o:"1MW"},1EZ:{13o:"1MW"},8V:{13o:"1MW"},4d:{13o:"1MW"},"2b-8V":{13o:"1MW"},"to-4n":{13o:"1MW"},"to-2b":{13o:"1MW"},"to-11T":{13o:"1MW"},"to-15A":{13o:"1aV"},"to-1A":{13o:"1MW"},2y:{13o:"1aV"},15A:{13o:"1aV"},1n:{13o:"3rM"},14d:{13o:"3rM"},1h:{13o:"3rM"},5U:{13o:"19E 2g"},"7n-4F":{13o:"19E 2g"},"3y-1I":{13o:"19E 2g"},id:{13o:"19E 2g"},5K:{13o:"4DM"},"22f-1DZ":{13o:"7P1"},"6D-1MV":{13o:"19E 2g"},3XG:{13o:"19E 2g"},"+":{13o:"1k"},"*":{13o:"1k"},"-":{13o:"1k"},"/":{13o:"1k"},"%":{13o:"1k"},"^":{13o:"1k"},3Y:{13o:"1k"},5Mh:{13o:"1k"},ln:{13o:"1k"},1iK:{13o:"1k"},2T:{13o:"1k"},3i:{13o:"1k"},10n:{13o:"1k"},17M:{13o:"1k"},1cz:{13o:"1k"},16D:{13o:"1k"},2o:{13o:"1k"},1V:{13o:"1k"},9p:{13o:"1k"},abs:{13o:"1k"},8a:{13o:"1k"},2t:{13o:"1k"},"==":{13o:"22g"},"!=":{13o:"22g"},">":{13o:"22g"},"<":{13o:"22g"},">=":{13o:"22g"},"<=":{13o:"22g"},all:{13o:"22g"},any:{13o:"22g"},"!":{13o:"22g"},"is-11J-1G5":{13o:"10J"},5Mg:{13o:"10J"},5Mf:{13o:"10J"},9V:{13o:"10J"},"5Me-1nD":{13o:"10J"}}},1e8:{1cs:{1I:"19Q","4T":"5q",2a:{5d:{},5q:{}},"5i-1I":"2g-10p",11O:!1,6d:{9z:!1,7V:["5K"]}},1K:{1I:"4x","4T":[1.15,210,30],1h:3,1Q:"2b","5i-1I":"2g-10p",11O:!0,6d:{9z:!0,7V:["5K"]}},1A:{1I:"1A","5i-1I":"2g-10p","4T":"#2AR",6d:{9z:!0,7V:["5K"]},11O:!0},12r:{1I:"2b","5i-1I":"2g-10p","4T":.5,13b:0,14S:1,6d:{9z:!0,7V:["5K"]},11O:!0}},14I:"28w 1Vh 1Vi 5Mc 28w-1iI 1JT 5M8 5M7 5M4".7g(" "),28w:{"4K-2N4":{1I:"11T","4T":!0,6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"4K-7z":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"4K-1A":{1I:"1A","4T":"#1Qx",11O:!0,9N:[{"!":"4K-1jV"}],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"4K-8Y-1A":{1I:"1A",11O:!0,9N:[{"!":"4K-1jV"},{"4K-2N4":!0}],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"4K-11v":{1I:"4x",1Q:"2b",1h:2,"4T":[0,0],11O:!0,13u:"11n",6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"4K-11v-1cs":{1I:"19Q",2a:{5d:{},5q:{}},"4T":"5d",9N:["4K-11v"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"4K-1jV":{1I:"1GS",11O:!0,6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"4B-28x-2g-17H"}},"28w-1iI":{"4K-1iI-7z":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"4K-1iI-1A":{1I:"1A","4T":"#1Qx",11O:!0,9N:[{"!":"4K-1iI-1jV"}],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"4K-1iI-11v":{1I:"4x",1Q:"2b",1h:2,"4T":[0,0],11O:!0,13u:"11n",6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"4K-1iI-11v-1cs":{1I:"19Q",2a:{5d:{},5q:{}},"4T":"5d",9N:["4K-1iI-11v"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"4K-1iI-1jV":{1I:"1GS",11O:!0,6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"4B-28x-2g-17H"},"4K-1iI-1D":{1I:"2b","4T":0,13b:0,13u:"36g",11O:!0,6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"4K-1iI-13T":{1I:"2b","4T":0,13b:0,13u:"36g",11O:!0,9N:["4K-1iI-1D"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"4K-1iI-1km-1tl":{1I:"11T","4T":!0,11O:!1,6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"}},1Vh:{"6D-7z":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6D-1A":{1I:"1A","4T":"#1Qx",11O:!0,9N:[{"!":"6D-1jV"}],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6D-11v":{1I:"4x",1Q:"2b",1h:2,"4T":[0,0],11O:!0,13u:"11n",6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"6D-11v-1cs":{1I:"19Q",2a:{5d:{},5q:{}},"4T":"5d",9N:["6D-11v"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"6D-1G":{1I:"2b","4T":1,13b:0,11O:!0,13u:"11n",6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6D-2N0-1G":{1I:"2b","4T":0,13b:0,11O:!0,13u:"11n",6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6D-2M":{1I:"2b","4T":0,11O:!0,13u:"11n",6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6D-16B":{1I:"2b","4T":0,13b:0,11O:!0,13u:"11n",6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6D-2AK":{1I:"4x",1Q:"2b",13b:0,11O:!0,13u:"6D 3XF",9N:[{"!":"6D-1jV"}],6d:{9z:!1,7V:["5K"]},"5i-1I":"4B-28x"},"6D-1jV":{1I:"1GS",11O:!0,6d:{9z:!1,7V:["5K","7n"]},"5i-1I":"4B-28x-2g-17H"},"6D-1tl":{1I:"1A",11O:!1,9N:[{"!":"6D-2AK"},{"!":"6D-1jV"},{5j:"4DL",14d:{5Md:!0}}],6d:{9z:!0,7V:["6D-1MV"]},"5i-1I":"1A-3XE"}},1Vi:{"12O-3L":{1I:"2b","4T":5,13b:0,11O:!0,13u:"11n",6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"12O-1A":{1I:"1A","4T":"#1Qx",11O:!0,6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"12O-16B":{1I:"2b","4T":0,11O:!0,6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"12O-7z":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"12O-11v":{1I:"4x",1Q:"2b",1h:2,"4T":[0,0],11O:!0,13u:"11n",6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"12O-11v-1cs":{1I:"19Q",2a:{5d:{},5q:{}},"4T":"5d",9N:["12O-11v"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"12O-8q-3b":{1I:"19Q",2a:{5d:{},5q:{}},"4T":"5d",6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"12O-8q-1ew":{1I:"19Q",2a:{5d:{},5q:{}},"4T":"5q",6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"12O-15n-1G":{1I:"2b","4T":0,13b:0,11O:!0,13u:"11n",6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"12O-15n-1A":{1I:"1A","4T":"#1Qx",11O:!0,6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"12O-15n-7z":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"}},5Mc:{"22f-3L":{1I:"2b","4T":30,13b:1,11O:!0,13u:"11n",6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"22f-1hF":{1I:"2b","4T":1,13b:0,11O:!1,6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"22f-12r":{1I:"2b","4T":1,13b:0,11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"22f-1A":{1I:"1A","4T":["1d9",["28y"],["22f-1DZ"],0,"15A(0, 0, 255, 0)",.1,"5Mb",.3,"2vs",.5,"5Ma",.7,"2vr",1,"5r"],11O:!1,6d:{9z:!0,7V:["22f-1DZ"]},"5i-1I":"1A-3XE"},"22f-7z":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"}},1JT:{"6O-7z":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,9N:["6O-4d"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6O-1A":{1I:"1A","4T":"#1Qx",11O:!0,9N:["6O-4d"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6O-1nC-1A":{1I:"1A","4T":"15A(0, 0, 0, 0)",11O:!0,9N:["6O-4d"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6O-1nC-1G":{1I:"2b","4T":0,13b:0,11O:!0,13u:"11n",9N:["6O-4d"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6O-1nC-16B":{1I:"2b","4T":0,13b:0,11O:!0,13u:"11n",9N:["6O-4d"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"6O-11v":{1I:"4x",1Q:"2b",1h:2,"4T":[0,0],11O:!0,13u:"11n",9N:["6O-4d"],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"6O-11v-1cs":{1I:"19Q",2a:{5d:{},5q:{}},"4T":"5d",9N:["6O-4d","6O-11v"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"3l-7z":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,9N:["3l-1bF"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"3l-1A":{1I:"1A","4T":"#1Qx",11O:!0,5M9:!0,9N:["3l-1bF"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"3l-1nC-1A":{1I:"1A","4T":"15A(0, 0, 0, 0)",11O:!0,9N:["3l-1bF"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"3l-1nC-1G":{1I:"2b","4T":0,13b:0,11O:!0,13u:"11n",9N:["3l-1bF"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"3l-1nC-16B":{1I:"2b","4T":0,13b:0,11O:!0,13u:"11n",9N:["3l-1bF"],6d:{9z:!0,7V:["5K","7n","7n-4F"]},"5i-1I":"2g-17H"},"3l-11v":{1I:"4x",1Q:"2b",1h:2,"4T":[0,0],11O:!0,13u:"11n",9N:["3l-1bF"],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"3l-11v-1cs":{1I:"19Q",2a:{5d:{},5q:{}},"4T":"5d",9N:["3l-1bF","3l-11v"],6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"}},5M8:{"1Vj-7z":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"1Vj-1lQ-17b":{1I:"2b","4T":0,1ze:360,11O:!0,13u:"2gu",6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"1Vj-1hG-2o":{1I:"2b","4T":0,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"1Vj-1hG-1V":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"1Vj-1qm":{1I:"2b","4T":0,13b:-1,14S:1,11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"1Vj-1wq":{1I:"2b","4T":0,13b:-1,14S:1,11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"1Vj-7P0":{1I:"19Q",2a:{28y:{},7OZ:{}},"4T":"28y",6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"1Vj-1ay-13k":{1I:"2b","4T":300,13b:0,11O:!1,13u:"4DK",6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"}},5M7:{"2AQ-5M6-2G":{1I:"2b","4T":335,13b:0,14S:359,11O:!1,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"2AQ-5M6-1cs":{1I:"19Q",2a:{5d:{},5q:{}},"4T":"5q",6d:{9z:!1,7V:["5K"]},"5i-1I":"2g-10p"},"2AQ-1MU":{1I:"2b","4T":.5,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"2AQ-1Gy-1A":{1I:"1A","4T":"#1Qx",11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"2AQ-2lI-1A":{1I:"1A","4T":"#5M5",11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"2AQ-2p2-1A":{1I:"1A","4T":"#1Qx",11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"}},5M4:{"1Ds-1A":{1I:"1A","4T":"#1Qx",11O:!0,9N:[{"!":"1Ds-1jV"}],6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"},"1Ds-1jV":{1I:"1GS",11O:!0,6d:{9z:!1,7V:["5K"]},"5i-1I":"4B-28x"},"1Ds-7z":{1I:"2b","4T":1,13b:0,14S:1,11O:!0,6d:{9z:!0,7V:["5K"]},"5i-1I":"2g-10p"}},11O:{13k:{1I:"2b","4T":300,13b:0,13u:"4DK"},1Jr:{1I:"2b","4T":0,13b:0,13u:"4DK"}},"5i-1I":{"2g-17H":{1I:"5i-1I"},"4B-28x":{1I:"5i-1I"},"4B-28x-2g-17H":{1I:"5i-1I"},"1A-3XE":{1I:"5i-1I"},"2g-10p":{1I:"5i-1I"},10p:{1I:"5i-1I"}}};hn.5mP=1b(a,b){1j(1d c=0;c<a.1h;c++)if(YC(b,a[c]))1f!0;1j(c=0;c<b.1h;c++)if(YC(a,b[c]))1f!0;1f XS(a,b)?!0:!1};hn.5M0=1b(a,b,c){1f YC(a,b)||YS(b,a,c)?!0:!1};hn.5LW=1b(a,b){if(1===a.1h)1f r$(b,a[0]);1j(1d c=0;c<b.1h;c++)1j(1d d=b[c],e=0;e<d.1h;e++)if(YC(a,d[e]))1f!0;1j(c=0;c<a.1h;c++)if(r$(b,a[c]))1f!0;1j(c=0;c<b.1h;c++)if(XS(a,b[c]))1f!0;1f!1};hn.5LK=1b(a,b,c){1j(1d d=0;d<b.1h;d++){1d e=b[d];if(3<=a.1h)1j(1d f=0;f<e.1h;f++)if(YC(a,e[f]))1f!0;a:{f=a;1d h=c;if(1<f.1h){if(XS(f,e)){f=!0;1W a}1j(1d g=0;g<e.1h;g++)if(YS(e[g],f,h)){f=!0;1W a}}1j(g=0;g<f.1h;g++)if(YS(f[g],e,h)){f=!0;1W a}f=!1}if(f)1f!0}1f!1};hn.4DJ=1b(a,b,c){1d d=b.2AP(c);if(0===d)1f a.2AP(b);d=((a.x-b.x)*(c.x-b.x)+(a.y-b.y)*(c.y-b.y))/d;1f 0>d?a.2AP(b):1<d?a.2AP(c):a.2AP(c.1LT(b).1Tw(d).1LQ(b))};1d 5M3=1g nr({"12O-15F-10t":1g qc(hb.4DI["12O-15F-10t"])}),5M2={14I:1g nr({"12O-3L":1g qc(hb.1Vi["12O-3L"]),"12O-1A":1g qc(hb.1Vi["12O-1A"]),"12O-16B":1g qc(hb.1Vi["12O-16B"]),"12O-7z":1g qc(hb.1Vi["12O-7z"]),"12O-11v":1g Tc(hb.1Vi["12O-11v"]),"12O-11v-1cs":1g Tc(hb.1Vi["12O-11v-1cs"]),"12O-8q-3b":1g Tc(hb.1Vi["12O-8q-3b"]),"12O-8q-1ew":1g Tc(hb.1Vi["12O-8q-1ew"]),"12O-15n-1G":1g qc(hb.1Vi["12O-15n-1G"]),"12O-15n-1A":1g qc(hb.1Vi["12O-15n-1A"]),"12O-15n-7z":1g qc(hb.1Vi["12O-15n-7z"])}),11e:5M3},4fJ=1b(a){1b b(b){a.4G(1a,b,5M2)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.3Xs=1b(a){1f 1g hp(a)};b.1i.3Xr=1b(a){1f Yi.36c("12O-3L",1a,a)+Yi.36c("12O-15n-1G",1a,a)+Yi.3Xu(1a.14I.1n("12O-11v"))};b.1i.3kv=1b(a,b,e,f,h,g,k,n){n=1g 4A(16);n[0]=1;n[5]=1;n[10]=1;n[15]=1;a=Yi.11v(a,1a.14I.1n("12O-11v"),1a.14I.1n("12O-11v-1cs"),0,k);h=1a.14I.1n("12O-3L").3x(b,e);b=1a.14I.1n("12O-15n-1G").3x(b,e);h+=b;e=(b="5d"===1a.14I.1n("12O-8q-1ew"))?a:5M1(a,n);k=b?h*k:h;1j(a=0;a<f.1h;a+=1)1j(h=0,g=f[a];h<g.1h;h+=1){1d c=g[h],d=b?c:s$(c,n),l=k;t$([],[c.x,c.y,0,1],n);"5q"===1a.14I.1n("12O-8q-3b")&&"5d"===1a.14I.1n("12O-8q-1ew")||"5d"!==1a.14I.1n("12O-8q-3b")||1a.14I.1n("12O-8q-1ew");l*=10;if(hn.5M0(e,d,l))1f!0}1f!1};1f b}(Gf),RM=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.1qw=1g 10Y(1a.15U)};b.1i.15T=1b(a,b){1d c=1a.1h;1a.1ce(c+1);1f 1a.1nc(c,a,b)};b.1i.1nc=1b(a,b,e){1d c=2*a;1a.1qw[c+0]=b;1a.1qw[c+1]=e;1f a};1f b}(wh);RM.1i.1Dy=4;jc.19l("5fy",RM);1d 4DH=Kh([{2i:"13t",1bw:2,1I:"1gf"}],4).2gt,wm=1b(a){1a.5K=a.5K;1a.1J6=a.1J6;1a.9Q=a.9Q;1a.2lZ=1a.9Q.5d(1b(a){1f a.id});1a.2P=a.2P;1a.2jd=!1;1a.2e2=[];1a.1ge=1g Yt;1a.1jk=1g Ut;1a.2N5=1g RM;1a.1dO=1g gp(4DH,a.9Q,a.5K);1a.1eK=1g Ug;1a.3XD=1g Ug;1a.3XC=1a.9Q.14O(1b(a){1f a.2gs()}).5d(1b(a){1f a.id})};wm.1i.3XB=1b(a,b){1a.2jd=u$("4K",1a.9Q,b);1j(1d c=[],d=0;d<a.1h;d+=1){1d e=a[d],f=e.7n,h=e.2P;e=e.1AN;if(1a.9Q[0].3ks(1g Lf(0),f)){1d g=Ey(f);c.1q({id:f.id,5U:f.5U,1I:f.1I,1AN:e,2P:h,3y:g,1Bv:{},1zw:1p 0})}}1j(d=0;d<c.1h;d+=1)g=e=c[d],f=g.3y,h=g.2P,g=g.1AN,1a.2jd?(e=$S("4K",1a.9Q,e,1a.5K,b),1a.2e2.1q(e)):1a.2p1(e,f,h,{}),b.1hh.1v1(a[h].7n,f,h,g,1a.2P)};wm.1i.2H=1b(a,b,c){1a.2N3.1h&&1a.1dO.2AM(a,b,1a.2N3,c)};wm.1i.3XA=1b(a,b){a=0;1j(1d c=1a.2e2;a<c.1h;a+=1){1d d=c[a];1a.2p1(d,d.3y,d.2P,b)}};wm.1i.1kn=1b(){1f 0===1a.1ge.1h};wm.1i.3Xz=1b(){1f!1a.2gr||1a.1dO.28v};wm.1i.1zv=1b(a){1a.2gr||(1a.1zu=a.12S(1a.1ge,4DH),1a.10X=a.17Q(1a.1jk),1a.4DG=a.17Q(1a.2N5));1a.1dO.1zv(a);1a.2gr=!0};wm.1i.1M=1b(){1a.1zu&&(1a.1zu.1M(),1a.10X.1M(),1a.4DG.1M(),1a.1dO.1M(),1a.1eK.1M(),1a.3XD.1M())};wm.1i.9P=1b(){pi(1a.1ge)&&(1a.1ge=1F);pi(1a.1jk)&&(1a.1jk=1F);pi(1a.2N5)&&(1a.2N5=1F)};wm.1i.2p1=1b(a,b,c,d){1d e=0;1j(b=ZS(b,500);e<b.1h;e+=1){1j(1d f=b[e],h=0,g=0,k=f;g<k.1h;g+=1)h+=k[g].1h;g=1a.1eK.2N2(h,1a.1ge,1a.1jk);k=g.1MS;1j(1d n=[],m=[],w=0,x=f;w<x.1h;w+=1){1d q=x[w];if(0!==q.1h){q!==f[0]&&m.1q(n.1h/2);1d t=1a.3XD.2N2(q.1h,1a.1ge,1a.2N5),r=t.1MS;1a.1ge.15T(q[0].x,q[0].y);1a.2N5.15T(r+q.1h-1,r);n.1q(q[0].x);n.1q(q[0].y);1j(1d u=1;u<q.1h;u++)1a.1ge.15T(q[u].x,q[u].y),1a.2N5.15T(r+u-1,r+u),n.1q(q[u].x),n.1q(q[u].y);t.1MS+=q.1h;t.2gq+=q.1h}}f=tB(n,m);1j(n=0;n<f.1h;n+=3)1a.1jk.15T(k+f[n],k+f[n+1],k+f[n+2]);g.1MS+=h;g.2gq+=f.1h/3}1a.1dO.2p0(1a.1ge.1h,a,c,d)};jc.19l("7OY",wm,{1ZO:["9Q","2e2"]});1d $X=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1nb=1b(a,b,e){1f 1p 0===a.1Q?1g dl(1a,{5x:"10p",1Q:1p 0},b):"10p"===a.6d.5x?(e=a.6d.3x(b,1F,{},e),a="1GS"===a.5i.1zt.1I&&"4n"!==2h e?e.2i:e,a=1a.2AL(a,a,a,b),1g dl(1a,{5x:"10p",1Q:a},b)):"3w"===a.6d.5x?(a=1a.2AL(a.6d.3x({5K:b.5K-1}),a.6d.3x({5K:b.5K}),a.6d.3x({5K:b.5K+1}),b),1g dl(1a,{5x:"10p",1Q:a},b)):1g dl(1a,a.6d,b)};b.1i.3x=1b(a,b,e,f,h){1f"5j"===a.5x?(a=a.3x(b,e,f,h),1a.2AL(a,a,a,b)):"1sh"===a.5x?1a.2AL(a.3x({5K:1k.2t(b.5K)-1},e,f),a.3x({5K:1k.2t(b.5K)},e,f),a.3x({5K:1k.2t(b.5K)+1},e,f),b):a.1Q};b.1i.2AL=1b(a,b,e,f){1f f.5K>f.2oZ.36e?{19f:a,to:b}:{19f:e,to:b}};b.1i.1d9=1b(a){1f a};1f b}(qc);jc.19l("5LZ",qc);1d 5LY=1g nr({"4K-15F-10t":1g qc(hb.3rL["4K-15F-10t"])}),5LX={14I:1g nr({"4K-2N4":1g Tc(hb.28w["4K-2N4"]),"4K-7z":1g qc(hb.28w["4K-7z"]),"4K-1A":1g qc(hb.28w["4K-1A"]),"4K-8Y-1A":1g qc(hb.28w["4K-8Y-1A"]),"4K-11v":1g Tc(hb.28w["4K-11v"]),"4K-11v-1cs":1g Tc(hb.28w["4K-11v-1cs"]),"4K-1jV":1g $X(hb.28w["4K-1jV"])}),11e:5LY},4fx=1b(a){1b b(b){a.4G(1a,b,5LX)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.2oW=1b(b,d){a.1i.2oW.4G(1a,b,d);b=1a.14I.14z["4K-8Y-1A"];"10p"===b.1Q.5x&&1p 0===b.1Q.1Q&&(1a.14I.14z["4K-8Y-1A"]=1a.14I.14z["4K-1A"])};b.1i.3Xs=1b(a){1f 1g wm(a)};b.1i.3Xr=1b(){1f Yi.3Xu(1a.14I.1n("4K-11v"))};b.1i.3kv=1b(a,b,e,f,h,g,k){a=Yi.11v(a,1a.14I.1n("4K-11v"),1a.14I.1n("4K-11v-1cs"),0,k);1f hn.5LW(a,f)};b.1i.3Xt=1b(){1f!0};1f b}(Gf),SM=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.26r=1g 1FS(1a.15U)};b.1i.15T=1b(a,b,e,f,h,g){1d c=1a.1h;1a.1ce(c+1);1f 1a.1nc(c,a,b,e,f,h,g)};b.1i.1nc=1b(a,b,e,f,h,g,k){1d c=4*a,d=8*a;1a.26r[c+0]=b;1a.26r[c+1]=e;1a.1AL[d+4]=f;1a.1AL[d+5]=h;1a.1AL[d+6]=g;1a.1AL[d+7]=k;1f a};1f b}(wh);SM.1i.1Dy=8;jc.19l("5fz",SM);1d 5LS=["1jJ","18H","1b1","14x"],4DF=Kh([{2i:"1q5",1bw:2,1I:"1gf"},{2i:"1em",1bw:4,1I:"2AN"}],4).2gt,5LQ=1k.3i(1k.PI/180*37.5),4Dz=1k.3r(2,14)/.5,Ci=1b(a){1a.5K=a.5K;1a.1J6=a.1J6;1a.9Q=a.9Q;1a.2lZ=1a.9Q.5d(1b(a){1f a.id});1a.2P=a.2P;1a.2jd=!1;1a.2e2=[];1a.1ge=1g SM;1a.1jk=1g Ut;1a.1dO=1g gp(4DF,a.9Q,a.5K);1a.1eK=1g Ug;1a.3XC=1a.9Q.14O(1b(a){1f a.2gs()}).5d(1b(a){1f a.id})};Ci.1i.3XB=1b(a,b){1a.2jd=!1;1j(1d c=1a.9Q[0].11e.1n("6D-15F-10t"),d=[],e=0;e<a.1h;e+=1){1d f=a[e],h=f.7n,g=f.2P;f=f.1AN;if(1a.9Q[0].3ks(1g Lf(0),h)){1d k=Ey(h),n=c?c.3x(h,{}):1p 0;d.1q({id:h.id,5U:h.5U,1I:h.1I,1AN:f,2P:g,3y:k,1Bv:{},1zw:n})}}c&&d.15F(1b(a,b){1f a.1zw-b.1zw});1j(c=0;c<d.1h;c+=1)f=g=d[c],e=f.3y,h=f.2P,f=f.1AN,1a.2jd?(g=$S("6D",1a.9Q,g,1a.5K,b),1a.2e2.1q(g)):1a.2p1(g,e,h,{}),b.1hh.1v1(a[h].7n,e,h,f,1a.2P)};Ci.1i.2H=1b(a,b,c){1a.2N3.1h&&1a.1dO.2AM(a,b,1a.2N3,c)};Ci.1i.3XA=1b(a,b){a=0;1j(1d c=1a.2e2;a<c.1h;a+=1){1d d=c[a];1a.2p1(d,d.3y,d.2P,b)}};Ci.1i.1kn=1b(){1f 0===1a.1ge.1h};Ci.1i.3Xz=1b(){1f!1a.2gr||1a.1dO.28v};Ci.1i.1zv=1b(a){1a.2gr||(1a.1zu=a.12S(1a.1ge,4DF),1a.10X=a.17Q(1a.1jk));1a.1dO.1zv(a);1a.2gr=!0};Ci.1i.1M=1b(){1a.1zu&&(1a.1zu.1M(),1a.10X.1M(),1a.1dO.1M(),1a.1eK.1M())};Ci.1i.9P=1b(){pi(1a.1ge)&&(1a.1ge=1F);pi(1a.1jk)&&(1a.1jk=1F)};Ci.1i.2p1=1b(a,b,c,d){1d e=1a.9Q[0].11e,f=e.1n("6D-14G").3x(a,{}),h=e.1n("6D-1S4"),g=e.1n("6D-1Ac-1C4");e=e.1n("6D-9p-1C4");1j(1d k=0;k<b.1h;k+=1)1a.5LV(b[k],a,f,h,g,e,c,d)};Ci.1i.5LV=1b(a,b,c,d,e,f,h,g){1a.3rJ=1a.4DB=1a.3s=0;if(b.5U&&b.5U.3p("5LU")&&b.5U.3p("5LT")){1a.4DA=+b.5U.5LU;1a.5LO=+b.5U.5LT;1j(1d l=0;l<a.1h-1;l++)1a.3rJ+=a[l].6Y(a[l+1])}l="14x"===5LS[b.1I];1j(1d k=a.1h;2<=k&&a[k-1].2L(a[k-2]);)k--;1j(1d m=0;m<k-1&&a[m].2L(a[m+1]);)m++;if(!(k<(l?3:2))){"3rK"===c&&(e=1.1cN);1d w=16>=1a.1J6?5LR/(512*1a.1J6):0,q=1a.1eK.2N2(10*k,1a.1ge,1a.1jk),r=1p 0,t=1p 0,u=1p 0;1a.e1=1a.e2=-1;if(l){1d v=a[k-2];u=a[m].1LT(v).2e1().2MZ()}1j(1d y=m;y<k;y++){1d A=l&&y===k-1?a[m+1]:a[y+1];if(!A||!a[y].2L(A)){u&&(t=u);v&&(r=v);v=a[y];u=A?A.1LT(v).2e1().2MZ():t;t=t||u;1d B=t.add(u);0===B.x&&0===B.y||B.2e1();1d C=t.x*u.x+t.y*u.y,E=B.x*u.x+B.y*u.y,K=0!==E?1/E:12g,F=2*1k.3Y(2-2*E);E=E<5LQ&&r&&A;1d L=0<t.x*u.y-t.y*u.x;if(E&&y>m){1d H=v.6Y(r);H>2*w&&(H=v.1LT(v.1LT(r).1Tw(w/H).1LS()),1a.3Xv(r,H),1a.1MT(H,t,0,0,q),r=H)}1d U=r&&A;H=U?c:l?"3Xx":d;U&&"9p"===H&&(K<f?H="1Ac":2>=K&&(H="4DD"));"1Ac"===H&&K>e&&(H="3rK");"3rK"===H&&(2<K&&(H="5LP"),K<e&&(H="1Ac"));r&&1a.3Xv(r,v);if("1Ac"===H)B.1Tw(K),1a.1MT(v,B,0,0,q);1s if("5LP"===H)100<K?B=u.4DE(-1):(C=K*t.add(u).3Xy()/t.1LT(u).3Xy(),B.2MZ().1Tw(C*(L?-1:1))),1a.1MT(v,B,0,0,q),1a.1MT(v,B.4DE(-1),0,0,q);1s if("3rK"===H||"4DD"===H){K=-1k.3Y(K*K-1);B=L?K:0;K=L?0:K;r&&1a.1MT(v,t,B,K,q);if("4DD"===H)1j(F=1k.9p(180*F/1k.PI/20),H=1;H<F;H++){U=H/F;if(.5!==U){1d R=U-.5;U+=U*R*(U-1)*((1.7OX+C*(-3.7OW+C*(3.7OV-1.7OU*C)))*R*R+(.7OT+C*(-1.7OS+.7OR*C)))}U=u.1LT(t).1Tw(U).1LQ(t).2e1().1Tw(L?-1:1);1a.3Xw(v,U.x,U.y,!1,L,0,q)}A&&1a.1MT(v,u,-B,-K,q)}1s"3Xx"===H?1a.1MT(v,B,0,0,q):"4DC"===H?(C=r?1:-1,1a.1MT(v,B,C,C,q)):"9p"===H&&(r&&(1a.1MT(v,t,0,0,q),1a.1MT(v,t,1,1,q,!0)),A&&(1a.1MT(v,u,-1,-1,q,!0),1a.1MT(v,u,0,0,q)));E&&y<k-1&&(E=v.6Y(A),E>2*w&&(A=v.add(A.1LT(v).1Tw(w/E).1LS()),1a.3Xv(v,A),1a.1MT(A,u,0,0,q),v=A))}}1a.1dO.2p0(1a.1ge.1h,b,h,g)}};Ci.1i.1MT=1b(a,b,c,d,e,f){1p 0===f&&(f=!1);1d h=-b.x+b.y*d,g=-b.y-b.x*d;1a.3Xw(a,b.x+b.y*c,b.y-b.x*c,f,!1,c,e);1a.3Xw(a,h,g,f,!0,-d,e);1a.3s>4Dz/2&&0===1a.3rJ&&(1a.3s=0,1a.1MT(a,b,c,d,e,f))};Ci.1i.3Xw=1b(a,b,c,d,e,f,h){1d g=.5*1a.4DB;1a.1ge.15T((a.x<<1)+(d?1:0),(a.y<<1)+(e?1:0),1k.9p(63*b)+128,1k.9p(63*c)+128,(0===f?0:0>f?-1:1)+1|(g&63)<<2,g>>6);a=h.1MS++;0<=1a.e1&&0<=1a.e2&&(1a.1jk.15T(1a.e1,1a.e2,a),h.2gq++);e?1a.e2=a:1a.e1=a};Ci.1i.3Xv=1b(a,b){1a.3s+=a.6Y(b);1a.4DB=0<1a.3rJ?(1a.4DA+(1a.5LO-1a.4DA)*1a.3s/1a.3rJ)*(4Dz-1):1a.3s};jc.19l("7OQ",Ci,{1ZO:["9Q","2e2"]});1d JA=1b(a){1a.1zt=a};JA.1i.1nb=1b(a,b,c){if(1p 0!==a.1Q)1f"10p"===a.6d.5x?(a=a.6d.3x(b,1F,{},c),1a.2AL(a,a,a,b)):1a.2AL(a.6d.3x(1g 36f(1k.2t(b.5K-1),b)),a.6d.3x(1g 36f(1k.2t(b.5K),b)),a.6d.3x(1g 36f(1k.2t(b.5K+1),b)),b)};JA.1i.2AL=1b(a,b,c,d){1f d.5K>d.2oZ.36e?{19f:a,to:b}:{19f:c,to:b}};JA.1i.1d9=1b(a){1f a};jc.19l("7OP",JA);1d xF=1b(a){1a.1zt=a};xF.1i.1nb=1b(a,b,c){1f!!a.6d.3x(b,1F,{},c)};xF.1i.1d9=1b(){1f!1};jc.19l("7OO",xF);1d 5LN=1g nr({"6D-1S4":1g Tc(hb.2N1["6D-1S4"]),"6D-14G":1g qc(hb.2N1["6D-14G"]),"6D-1Ac-1C4":1g Tc(hb.2N1["6D-1Ac-1C4"]),"6D-9p-1C4":1g Tc(hb.2N1["6D-9p-1C4"]),"6D-15F-10t":1g qc(hb.2N1["6D-15F-10t"])}),4Dy={14I:1g nr({"6D-7z":1g qc(hb.1Vh["6D-7z"]),"6D-1A":1g qc(hb.1Vh["6D-1A"]),"6D-11v":1g Tc(hb.1Vh["6D-11v"]),"6D-11v-1cs":1g Tc(hb.1Vh["6D-11v-1cs"]),"6D-1G":1g qc(hb.1Vh["6D-1G"]),"6D-2N0-1G":1g qc(hb.1Vh["6D-2N0-1G"]),"6D-2M":1g qc(hb.1Vh["6D-2M"]),"6D-16B":1g qc(hb.1Vh["6D-16B"]),"6D-2AK":1g JA(hb.1Vh["6D-2AK"]),"6D-1jV":1g $X(hb.1Vh["6D-1jV"]),"6D-1tl":1g xF(hb.1Vh["6D-1tl"])}),11e:5LN},4Dv=1g(1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1nb=1b(b,d){d=1g Lf(1k.2t(d.5K),{14H:d.14H,1Ts:d.1Ts,2oZ:d.2oZ,11O:d.11O});1f a.1i.1nb.4G(1a,b,d)};b.1i.3x=1b(b,d,e,f){d=1a3({},d,{5K:1k.2t(d.5K)});1f a.1i.3x.4G(1a,b,d,e,f)};1f b}(qc))(4Dy.14I.5U["6D-1G"].1zt);4Dv.3rI=!0;1d 4fo=1b(a){1b b(b){a.4G(1a,b,4Dy)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.4Dx=1b(a){"6D-1tl"===a&&1a.5LM()};b.1i.5LM=1b(){1a.1tl=7ON(1a.22e.14z["6D-1tl"].1Q.6d,"5LL");1a.4Dw=1F};b.1i.2oW=1b(b,d){a.1i.2oW.4G(1a,b,d);1a.14I.14z["6D-1EV"]=4Dv.1nb(1a.36d.14z["6D-1G"].1Q,b)};b.1i.3Xs=1b(a){1f 1g Ci(a)};b.1i.3Xr=1b(a){1d b=Yi.36c("6D-1G",1a,a);1d c=Yi.36c("6D-2N0-1G",1a,a);b=0<c?c+2*b:b;a=Yi.36c("6D-2M",1a,a);1f b/2+1k.abs(a)+Yi.3Xu(1a.14I.1n("6D-11v"))};b.1i.3kv=1b(a,b,e,f,h,g,k){a=Yi.11v(a,1a.14I.1n("6D-11v"),1a.14I.1n("6D-11v-1cs"),0,k);h=1a.14I.1n("6D-1G").3x(b,e);g=1a.14I.1n("6D-2N0-1G").3x(b,e);h=k/2*(0<g?g+2*h:h);if(b=1a.14I.1n("6D-2M").3x(b,e)){k*=b;b=[];e=1g Yc(0,0);1j(g=0;g<f.1h;g++){1j(1d c=f[g],d=[],l=0;l<c.1h;l++){1d p=c[l-1],m=c[l],t=c[l+1];p=0===l?e:m.1LT(p).2e1().2MZ();t=l===c.1h-1?e:t.1LT(m).2e1().2MZ();p=p.1LQ(t).2e1();p.1Tw(1/(p.x*t.x+p.y*t.y));d.1q(p.1Tw(k).1LQ(m))}b.1q(d)}f=b}1f hn.5LK(a,f,h)};b.1i.3Xt=1b(){1f!0};1f b}(Gf),5LG={5x:"1S6"},5LJ=1g nr({"1ap-1fJ":1g Tc(hb.1dN["1ap-1fJ"]),"1ap-1Im":1g Tc(hb.1dN["1ap-1Im"]),"1ap-2j9-24Y":1g Tc(hb.1dN["1ap-2j9-24Y"]),"1ap-15F-10t":1g qc(hb.1dN["1ap-15F-10t"]),"1ap-z-1HC":1g Tc(hb.1dN["1ap-z-1HC"]),"6O-28u-2oY":1g Tc(hb.1dN["6O-28u-2oY"]),"6O-26c-1fJ":1g Tc(hb.1dN["6O-26c-1fJ"]),"6O-2JS":1g Tc(hb.1dN["6O-2JS"]),"6O-5S-1ew":1g Tc(hb.1dN["6O-5S-1ew"]),"6O-4V":1g qc(hb.1dN["6O-4V"]),"6O-3l-1TM":1g Tc(hb.1dN["6O-3l-1TM"]),"6O-3l-1TM-1fT":1g Tc(hb.1dN["6O-3l-1TM-1fT"]),"6O-4d":1g qc(hb.1dN["6O-4d"]),"6O-17b":1g qc(hb.1dN["6O-17b"]),"6O-1fT":1g Tc(hb.1dN["6O-1fT"]),"6O-1eL-2Ih":1g Tc(hb.1dN["6O-1eL-2Ih"]),"6O-2M":1g qc(hb.1dN["6O-2M"]),"6O-1cs":1g qc(hb.1dN["6O-1cs"]),"6O-8q-1ew":1g Tc(hb.1dN["6O-8q-1ew"]),"3l-8q-1ew":1g Tc(hb.1dN["3l-8q-1ew"]),"3l-5S-1ew":1g Tc(hb.1dN["3l-5S-1ew"]),"3l-1bF":1g qc(hb.1dN["3l-1bF"]),"3l-9O":1g qc(hb.1dN["3l-9O"]),"3l-4V":1g qc(hb.1dN["3l-4V"]),"3l-1V-1G":1g qc(hb.1dN["3l-1V-1G"]),"3l-6D-1D":1g Tc(hb.1dN["3l-6D-1D"]),"3l-2wQ-1Im":1g qc(hb.1dN["3l-2wQ-1Im"]),"3l-3MO":1g qc(hb.1dN["3l-3MO"]),"3l-2Ig-2M":1g qc(hb.1dN["3l-2Ig-2M"]),"3l-2dZ-1cs":1g Tc(hb.1dN["3l-2dZ-1cs"]),"3l-1cs":1g qc(hb.1dN["3l-1cs"]),"3l-1V-8f":1g Tc(hb.1dN["3l-1V-8f"]),"3l-2gp-3z":1g Tc(hb.1dN["3l-2gp-3z"]),"3l-17b":1g qc(hb.1dN["3l-17b"]),"3l-1fT":1g Tc(hb.1dN["3l-1fT"]),"3l-1eL-2Ih":1g Tc(hb.1dN["3l-1eL-2Ih"]),"3l-5o":1g qc(hb.1dN["3l-5o"]),"3l-2M":1g qc(hb.1dN["3l-2M"]),"3l-28u-2oY":1g Tc(hb.1dN["3l-28u-2oY"]),"3l-26c-1fJ":1g Tc(hb.1dN["3l-26c-1fJ"]),"3l-2JS":1g Tc(hb.1dN["3l-2JS"])}),TM={14I:1g nr({"6O-7z":1g qc(hb.1JT["6O-7z"]),"6O-1A":1g qc(hb.1JT["6O-1A"]),"6O-1nC-1A":1g qc(hb.1JT["6O-1nC-1A"]),"6O-1nC-1G":1g qc(hb.1JT["6O-1nC-1G"]),"6O-1nC-16B":1g qc(hb.1JT["6O-1nC-16B"]),"6O-11v":1g Tc(hb.1JT["6O-11v"]),"6O-11v-1cs":1g Tc(hb.1JT["6O-11v-1cs"]),"3l-7z":1g qc(hb.1JT["3l-7z"]),"3l-1A":1g qc(hb.1JT["3l-1A"],{7OM:{5x:"1A"},7OL:1b(a){1f a.1GR},5LH:1b(a){1f!!a.1GR}}),"3l-1nC-1A":1g qc(hb.1JT["3l-1nC-1A"]),"3l-1nC-1G":1g qc(hb.1JT["3l-1nC-1G"]),"3l-1nC-16B":1g qc(hb.1JT["3l-1nC-16B"]),"3l-11v":1g Tc(hb.1JT["3l-11v"]),"3l-11v-1cs":1g Tc(hb.1JT["3l-11v-1cs"])}),11e:5LJ},4fd=1b(a){1b b(b){a.4G(1a,b,TM)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.2oW=1b(b,d){a.1i.2oW.4G(1a,b,d);"1sg"===1a.11e.1n("6O-5S-1ew")&&("7v"!==1a.11e.1n("1ap-1fJ")?1a.11e.14z["6O-5S-1ew"]="5d":1a.11e.14z["6O-5S-1ew"]="5q");"1sg"===1a.11e.1n("3l-5S-1ew")&&("7v"!==1a.11e.1n("1ap-1fJ")?1a.11e.14z["3l-5S-1ew"]="5d":1a.11e.14z["3l-5S-1ew"]="5q");"1sg"===1a.11e.1n("3l-8q-1ew")&&(1a.11e.14z["3l-8q-1ew"]=1a.11e.1n("3l-5S-1ew"));"1sg"===1a.11e.1n("6O-8q-1ew")&&(1a.11e.14z["6O-8q-1ew"]=1a.11e.1n("6O-5S-1ew"));if("7v"===1a.11e.1n("1ap-1fJ"))if(b=1a.11e.1n("3l-2gp-3z")){d=[];1j(1d c=0;c<b.1h;c+=1){1d f=b[c];0>d.3f(f)&&d.1q(f)}1a.11e.14z["3l-2gp-3z"]=d}1s 1a.11e.14z["3l-2gp-3z"]=["1ia"];1a.5LI()};b.1i.4Du=1b(a,b,e){e=1a.11e.1n(a).3x(b,{},e);a=1a.26p.14z[a];1f a.2MY()||Ds.4Dt(a.1Q)||!e?e:vc.4Ds(b.5U,e)};b.1i.3Xs=1b(a){1f 1g Xd(a)};b.1i.3Xr=1b(){1f 0};b.1i.3kv=1b(){2oX(!1);1f!1};b.1i.5LI=1b(){1j(1d a=0,d=TM.14I.3Xp;a<d.1h;a+=1){1d e=d[a];if(b.3Xo(1a.11e,e)){1d f=1a.14I.1n(e),h=1g 7OK(f);h=1g 5fs(h,f.5i.1zt);h="10p"===f.1Q.5x||"5j"===f.1Q.5x?1g 7OJ("5j",h):1g 7OI("1sh",h,f.1Q.3Xq,f.1Q.7OH);1a.14I.14z[e]=1g 7OG(f.5i,h,f.7V)}}};b.1i.4Dr=1b(a,d,e){1f!1a.11e||d.2MY()||e.2MY()?!1:b.3Xo(1a.11e,a)};b.3Xo=1b(a,b){a=a.1n("3l-1bF");1d c=TM.14I.5U[b],d=!1,h=1b(a){1j(1d b=0;b<a.1h;b+=1){1d e=a[b];if(c.4Dq&&c.4Dq.5LH(e)){d=!0;1W}}};if("10p"===a.1Q.5x&&a.1Q.1Q 2m vh)h(a.1Q.1Q.1lx);1s if("5j"===a.1Q.5x){1d g=1b(a){d||(a 2m jr&&vg.1N(a.1Q)===5LG?h(a.1Q.1lx):a 2m ir?h(a.1lx):a.1nB(g))};b=a.1Q;b.5LF&&g(b.5LF.6d)}1f d};b.4Dp=1b(a){1j(1d c=0,e=TM.14I.3Xp;c<e.1h;c+=1)if(b.3Xo(a,e[c]))1f!0;1f!1};1f b}(Gf),v$={12O:4fJ,4K:4fx,6D:4fo,1ap:4fd};Tf.1i.4Dj=1b(){1f 1a.1aw};Tf.1i.4Do=1b(a){if(1a.1aw!==a&&(1a.1aw=a)){a=0;1j(1d b=1a.3Xl;a<b.1h;a+=1){1d c=b[a];1a.4Di(c.1a8,c.1Jg)}1a.3Xl=[]}};Tf.1i.1tw=1b(a){1f 1a.1lw[a]};Tf.1i.2y8=1b(a,b){1a.4Dm(a,b)&&(1a.1lw[a]=b,1a.36b++)};Tf.1i.4Dn=1b(a){if(!g(1a.1lw[a]))1f 1F;if(!g(1a.3Xn[a])){1d b=3n.4O("3M"),c=1a.1lw[a].2g;b.1G=c.1G;b.1D=c.1D;1j(1d d=b.1ft("2d"),e=d.5sE(c.1G,c.1D),f=c.1G*c.1D,h=0;h<f;h++)e.2g[4*h]=c.2g[4*h],e.2g[4*h+1]=c.2g[4*h+1],e.2g[4*h+2]=c.2g[4*h+2],e.2g[4*h+3]=c.2g[4*h+3];d.2mb(e,0,0);1a.3Xn[a]=b}1f 1a.3Xn[a]};Tf.1i.4Dm=1b(a,b){a=!0;1a.4Dl(b.2lX,b.2g&&b.2g.1G)||(a=!1);1a.4Dl(b.2lW,b.2g&&b.2g.1D)||(a=!1);1a.5LE(b.15k,b)||(a=!1);1f a};Tf.1i.4Dl=1b(a,b){if(!a)1f!0;1j(1d c=0,d=0;d<a.1h;d+=1){1d e=a[d];if(e[0]<c||e[1]<e[0]||b<e[1])1f!1;c=e[1]}1f!0};Tf.1i.5LE=1b(a,b){1f a?4!==a.1h||0>a[0]||b.2g.1G<a[0]||0>a[1]||b.2g.1D<a[1]||0>a[2]||b.2g.1G<a[2]||0>a[3]||b.2g.1D<a[3]||a[2]<a[0]||a[3]<a[1]?!1:!0:!0};Tf.1i.5Lz=1b(a,b){b.9G=1a.1lw[a].9G+1;1a.1lw[a]=b;1a.4Dk[a]=!0};Tf.1i.7OF=1b(a){1d b=1a.1lw[a];4Y 1a.1lw[a];4Y 1a.1Bv[a];1a.36b--;0>1a.36b&&(1a.36b=0);if(b.2MX&&b.2MX.3Xh)b.2MX.3Xh()};Tf.1i.5Lw=1b(){1a.3Xm.1h!=1a.36b&&(1a.3Xm=1L.9K(1a.1lw));1f 1a.3Xm};Tf.1i.7OE=1b(a,b){1d c=!0;if(!1a.4Dj())1j(1d d=0;d<a.1h;d+=1)1a.1lw[a[d]]||(c=!1);1a.4Dj()||c?1a.4Di(a,b):1a.3Xl.1q({1a8:a,1Jg:b})};Tf.1i.4Di=1b(a,b){1j(1d c={},d=0;d<a.1h;d+=1){1d e=a[d];1a.1lw[e]||11l.7k("5LD",{id:e});1d f=1a.1lw[e];f?c[e]={2g:f.2g.1y(),13S:f.13S,1D1:f.1D1,9G:f.9G,2lX:f.2lX,2lW:f.2lW,15k:f.15k,4Dh:!(!f.2MX||!f.2MX.3t)}:11l.2ep(\'1ar "\'+e+\'" 5r7 2S be 1aw. 2Jg 35H 3WR 18g 118 2mm 1Z 4d 10M 5d.2y8() or a "28s" 5i in 1DE 2r. 2mr 1ag 3qW 4Cw 1lw by 7OD 1j 1Z "5LD" 5d 2dG.\')}b(1F,c)};Tf.1i.5LC=1b(a){1d b={},c;1j(c in 1a.1lw){1d d=1a.1lw[c],e=d.2g.1y();a.1q(e.2g.3J);b[c]={2g:e,13S:d.13S,4Dh:!(!d.2MX||!d.2MX.3t)}}1f b};Tf.1i.2wq=1b(){1d a=1a.3rH;1f{1G:a.1G,1D:a.1D}};Tf.1i.4Dg=1b(a){1d b=1a.1Bv[a],c=1a.1tw(a);if(!c)1f 1F;if(b&&b.1K.9G===c.9G)1f b.1K;b?b.1K.9G=c.9G:(b={w:c.2g.1G+2,h:c.2g.1D+2,x:0,y:0},c=1g hF(b,c),1a.1Bv[a]={4Df:b,1K:c});1a.5LB();1f 1a.1Bv[a].1K};Tf.1i.7X=1b(a){1d b=a.gl;1a.3Xk?1a.6s&&(1a.3Xk.2H(1a.3rH),1a.6s=!1):1a.3Xk=1g Hw(a,1a.3rH,b.9m);1a.3Xk.7X(b.11U,b.11g)};Tf.1i.5LB=1b(){1d a=[];1j(b in 1a.1Bv)a.1q(1a.1Bv[b].4Df);1d b=DI(a);a=1a.3rH;a.1ce({1G:b.w||1,1D:b.h||1});1j(1d c in 1a.1Bv){1d d=1a.1Bv[c].4Df;b=d.x+1;d=d.y+1;1d e=1a.1lw[c].2g,f=e.1G,h=e.1D;Uf.1hI(e,a,{x:0,y:0},{x:b,y:d},{1G:f,1D:h});Uf.1hI(e,a,{x:0,y:h-1},{x:b,y:d-1},{1G:f,1D:1});Uf.1hI(e,a,{x:0,y:0},{x:b,y:d+h},{1G:f,1D:1});Uf.1hI(e,a,{x:f-1,y:0},{x:b-1,y:d},{1G:1,1D:h});Uf.1hI(e,a,{x:0,y:0},{x:b+f,y:d},{1G:1,1D:h})}1a.6s=!0};Tf.1i.2z1=1b(){1a.3Xj={}};Tf.1i.5LA=1b(a){1j(1d b=0;b<a.1h;b+=1){1d c=a[b];if(!1a.3Xj[c]){1a.3Xj[c]=!0;1d d=1a.1lw[c];7OC(d)&&1a.5Lz(c,d)}}};1d ZC=1b(a,b){1a.1G=a;1a.1D=b;1a.3rG=0;1a.1tC=4;1a.2g=1g 4L(1a.1G*1a.1D*1a.1tC);1a.3q={}};ZC.1i.4De=1b(a,b){1d c=a.14G(",")+10J(b);1a.3q[c]||(1a.3q[c]=1a.5Ly(a,b));1f 1a.3q[c]};ZC.1i.5Ly=1b(a,b){1d c=b?7:0,d=2*c+1;if(1a.3rG+d>1a.1D)1f 1F;1j(1d e=0,f=0;f<a.1h;f++)e+=a[f];f=1a.1G/e;1j(1d h=f/2,g=1===a.1h%2,k=-c;k<=c;k++)1j(1d n=1a.1G*(1a.3rG+c+k),m=g?-a[a.1h-1]:0,w=a[0],q=1,r=0;r<1a.1G;r++){1j(;w<r/f;)m=w,w+=a[q],g&&q===a.1h-1&&(w+=a[0]),q++;1d t=1k.2o(1k.abs(r-m*f),1k.abs(r-w*f)),u=1===q%2;if(b){1d v=c?k/c*(h+1):0;u?(u=h-1k.abs(v),t=1k.3Y(t*t+u*u)):t=h-1k.3Y(t*t+v*v)}1s t*=u?1:-1;1a.2g[3+4*(n+r)]=1k.1V(0,1k.2o(255,t+128))}a={y:(1a.3rG+c+.5)/1a.1D,1D:2*c/1a.1D,1G:e};1a.3rG+=d;1a.6s=!0;1f a};ZC.1i.7X=1b(a){a=a.gl;1a.7y?(a.1eg(a.17U,1a.7y),1a.6s&&(1a.6s=!1,a.2AJ(a.17U,0,0,0,1a.1G,1a.1D,a.9m,a.7U,1a.2g))):(1a.7y=a.2fA(),a.1eg(a.17U,1a.7y),a.1jj(a.17U,a.2MW,a.1av),a.1jj(a.17U,a.2MV,a.1av),a.1jj(a.17U,a.28t,a.11U),a.1jj(a.17U,a.2go,a.11U),a.1oG(a.17U,0,a.9m,1a.1G,1a.1D,0,a.9m,a.7U,1a.2g))};Vf.1i.30q=1b(a){1a.3Xi=!0;1a.1Qw=a;1j(1d b in a.5p);a=1a.1Qw.9Q;1a.1nA=a.5d(1b(a){1f a.id});1a.8U={};1j(b=0;b<a.1h;b+=1){1d c=a[b],d=c;c=XI(c);1F!=c&&(c.1nn=d,d=1g Lf(0),c.2oW(d),1a.8U[c.id]=c)}};Vf.1i.2H=1b(a){if(1a.3Xi){1d b=1g Lf(0);if(1a.1lt){1d c=1L.9K(1a.3Xc),d=1L.9K(1a.4Db);(c.1h||d.1h)&&1a.5Lv(a,c,d);1j(1d e in 1a.3Xd)1a.8U[e].5Lx(b);1a.4Dc()}1j(1d f in 1a.3rE)1a.3rE[f].1rd=!1;a=0;1j(c=1a.1nA;a<c.1h;a+=1)d=1a.8U[c[a]],1F!=d&&1p 0!=d&&d.2oW(b,1a.1MR.5Lw())}};Vf.1i.5Lv=1b(a,b,c){1j(1d d=[],e=0;e<b.1h;e++){1d f=1a.8U[b[e]];pi(f)&&d.1q(f.1nn)}1j(1d h in a)a[h].5Lu(d,c,1a.2gn);1a.2gn=!1};Vf.1i.3kk=1b(a,b,c){c=a.id;if(1a.2ov(c))11l.7k(\'2oV 10M id "\'+c+\'" 1A8 2yQ on 1a 5d\');1s{1d d=XI(a);d.1nn=a;a=b?1a.1nA.3f(b):1a.1nA.1h;b&&-1===a?11l.7k(\'2oV 10M id "\'+b+\'" 18f 2S 1GM on 1a 5d.\'):(1a.1nA.6z(a,0,c),1a.2fw=!0,1a.8U[c]=d,1a.3rD(d))}};Vf.1i.7OB=1b(a,b){1a.1lt=!0;if(!1a.8U[a])11l.7k("9B 7r \'"+a+"\' 18f 2S 1GM in 1Z 5d\'s 2r and 1il be 24w.");1s if(a!==b){1d c=1a.1nA.3f(a);1a.1nA.6z(c,1);c=b?1a.1nA.3f(b):1a.1nA.1h;b&&-1===c?11l.7k(\'2oV 10M id "\'+b+\'" 18f 2S 1GM on 1a 5d.\'):(1a.1nA.6z(c,0,a),1a.2fw=!0)}};Vf.1i.1aw=1b(){if(!1a.3Xi)1f!1;if(id!==8w){1d a=1a.1nA.3f(id);1a.1nA.6z(a,1);a=8w?1a.1nA.3f(8w):1a.1nA.1h;8w&&-1===a?1a.5Lt(1g 1Pk.7OA(6u(\'2oV 10M id "\'+8w+\'" 18f 2S 1GM on 1a 5d.\'))):(1a.1nA.6z(a,0,id),1a.2fw=!0)}};Vf.1i.3rz=1b(a){1d b=1a.8U[a];if(b){1d c=1a.1nA.3f(a);1a.1nA.6z(c,1);1a.1lt=1a.2fw=!0;1a.4Db[a]=b;4Y 1a.8U[a];4Y 1a.3Xc[a];4Y 1a.3Xd[a];if(b.3Xh)b.3Xh(1a.5d)}1s 11l.7k("9B 7r \'"+a+"\' 18f 2S 1GM in 1Z 5d\'s 2r and 1il be 1JR.")};Vf.1i.2ov=1b(a){1f 1a.8U[a]};Vf.1i.3X4=1b(a,b,c){c=1a.2ov(a);c?vc.2oU(c.14O,b)||(1F===b||1p 0===b?(c.14O=1p 0,c.1nn.14O=1F):(c.14O=vc.1y(b),c.1nn.14O=c.14O),1a.3rD(c)):11l.7k("9B 7r \'"+a+"\' 18f 2S 1GM in 1Z 5d\'s 2r and 1il be 1Sw.")};Vf.1i.4CY=1b(a){1f vc.1y(1a.2ov(a).14O)};Vf.1i.364=1b(a,b,c,d){1p 0===d&&(d={});1d e=1a.2ov(a);e?vc.2oU(e.363(b),c)||(e.364(b,c,d),1a.3rD(e)):11l.7k("9B 7r \'"+a+"\' 18f 2S 1GM in 1Z 5d\'s 2r and 1il be 3Xg.")};Vf.1i.363=1b(a,b){1d c=1a.2ov(a);if(c)1f c.363(b);11l.7k("9B 7r \'"+a+"\' 18f 2S 1GM in 1Z 5d\'s 2r.")};Vf.1i.362=1b(a,b,c,d){1p 0===d&&(d={});1d e=1a.2ov(a);e?vc.2oU(e.2AG(b),c)||(e.362(b,c,d),1a.3rD(e),1a.1lt=!0,1a.3Xd[a]=!0):11l.7k("9B 7r \'"+a+"\' 18f 2S 1GM in 1Z 5d\'s 2r and 1il be 3Xg.")};Vf.1i.2AG=1b(a,b){1f 1a.2ov(a).2AG(b)};Vf.1i.5Ls=1b(a){1j(1d b=[],c=0;c<a.1h;c+=1){1d d=1a.8U[a[c]];pi(d)&&"2Jn"!==d.1I&&b.1q(d.13W())}1f b};Vf.1i.13W=1b(){1f vc.3Xf({9G:1a.1Qw.9G,2i:1a.1Qw.2i,1lv:1a.1Qw.1lv,1e8:1a.1Qw.1e8,2V:1a.1Qw.2V,5K:1a.1Qw.5K,4Dd:1a.1Qw.4Dd,8q:1a.1Qw.8q,28s:1a.1Qw.28s,3Xe:1a.1Qw.3Xe,11O:1a.1Qw.11O,5p:vc.3rF(1a.3rE,1b(a){1f a.13W()}),9Q:1a.5Ls(1a.1nA)},1b(a){1f 1p 0!==a})};Vf.1i.4Dc=1b(){1a.1lt=!1;1a.3Xc={};1a.4Db={};1a.7Oz={};1a.3Xd={}};Vf.1i.3rD=1b(a){1a.1lt=1a.3Xc[a.id]=!0};Vf.1i.5Lm=1b(a){1d b=1a.5Lr(a);if(pi(b)){a.4Da=b.id;a.3Xb=b.7r.id;a=b.7r;1d c=a["5j-7r"]+"10D"+a.1I+"7Oy";if(!pi(1a.8U[c])){1d d={};d["5j-7r"]=a["5j-7r"];d.5j=a.5j;d.id=c;1d e={};"12O"==a.1I?(d.1I="12O",e["12O-1A"]="15A(0, 0, 255,1.3Xa)",e["12O-3L"]=10):(d.1I="6D",e["6D-1A"]="15A(0, 0, 255,1.3Xa)",e["6D-1G"]=2);d.14I=e;1a.3kk(d)}1a.3X4(c,["in","$id",b.id]);pi(1a.2MU)&&1a.2MU!==c&&1a.3rz(1a.2MU);1a.2MU=c;1a.2gn=!0}1s pi(1a.2MU)&&(1a.3rz(1a.2MU),1a.2MU=1F,1a.2gn=!0)};Vf.1i.5Lr=1b(a){1j(1d b={},c=0;c<1a.1nA.1h;c++)b[1a.1nA[c]]=c;c=1F;1d d=0,e;1j(e in a)1j(1d f=a[e],h=0;h<f.1h;h++){1d g=f[h].7n;if(1==g.1I||2==g.1I||3==g.1I){1d k=b[g.7r.id];k>=d&&(c=g,d=k)}}1f c};1d axa=[1.3Qq-9,3.3mT-9,6.3mS-9,1.3mR-8,2.7Ox-8,5.3mQ-8,1.3Qo-7,2.3Qn-7,4.3Qm-7,8.3Ql-7,1.3Qk-6,3.3Qj-6,6.3Qi-6,1.3Qh-5,2.3Qg-5,5.3Qf-5,1.3Qe-4,2.3Qd-4,4.3Qc-4,8.3Qb-4,.3Qa,.3Q9],aJ=0;1L.2X(Zi.1i,{1aQ:{1n:1b(){}},16K:{1n:1b(){1f 1a.14Q}},17g:{1n:1b(){1f 1a.16J}},16j:{1n:1b(){if(!1a.4y)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 18<1a.17G?1a.17G:18}},16i:{1n:1b(){if(!1a.4y)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1jK}},8c:{1n:1b(){1f 1a.6C}},3g:{1n:1b(){if(!1a.4y)1t 1g r("3g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.7T}},19b:{1n:1b(){}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f 1a.4y&&1a.22d}},9c:{1n:1b(){1f 1a.7S}},9L:{1n:1b(){}},1mb:{1n:1b(){1f!0}},2eG:{1n:1b(){1f 1a.1xm},1C:1b(a){1a.1xm=a;g(1a.1xm)&&$I(1a,1a.1xm)}}});Zi.1i.1om=1b(a,b,c){};Zi.1i.5Lq=1b(){1j(1d a=[],b=1a.1pP,c=0;c<b.1nA.1h;c++){1d d=b.8U[b.1nA[c]];g(d)&&a.1q(d.1nn)}1f a};Zi.1i.2H=1b(a,b,c){1d d=1a.2xO.20y;1a.1pP.2H(d);1d e=[],f;1j(f in d)e.1q(d[f]);e.15F(1b(a,b){1f a.6b<b.6b?1:a.6b>b.6b?-1:0});d=e.1h;1j(f=0;f<d;f++)e[f].2H();e=1a.16k;d=1a.1qR;g(e)&&g(d)&&5Lp(e,d,b,a,c)};Zi.1i.4D9=1b(a,b,c){};Zi.1i.1hQ=1b(a,b,c,d,e,f){5Lo(d);1d h=1a;e=c+1;1a.4D8&&(e+=1);if(c>h.17G){1d l=5Ln(f,h.17G-1);1f g(l)&&!g(l.1M0)?(a=x$(d,l.x,l.y,h.17G,h),g(a)?a.4b(1b(a){a=h.1pw===ik.1U9?z$(a,d.1Vg):a;l.1M0=a;1f $C(h,1F)}).10g(1b(a){1f $C(h,1F)}):$C(h,1F)):$C(h,1F)}a=x$(d,a,b,e,h);1f g(a)?a.4b(1b(a){a=h.1pw===ik.1U9?z$(a,d.1Vg):a;1f $C(h,a)}).10g(1b(a){1f 1F}):1F};Zi.1i.11P=1b(a){1d b=1a.2xO.20y;1d c=1F;1j(f in b){1d d=b[f];Q.8h(d.3g,a)&&(1F==c?c=d:d.3g.1G<c.3g.1G&&(c=d))}1j(;g(c)&&!g(c.1hh);)c=c.12f;b=c;if(1F!=b&&g(b.1hh)){c=[];c.1q(y$(a.3N,a.4k,b));a={};1j(1d e in 1a.1pP.8U){1d f=1a.1pP.8U[e];g(f)&&(g(f.12F)?"1bs"!=f.12F&&(a[e]=f):a[e]=f)}e=b.35Z(a,c);1a.1pP.5Lm(e);1f"{}"!==4H.8s(e)?e:1p 0}};Zi.1i.35Z=1b(a,b){1d c=[],d=1a.2xO.20y,e;1j(n in d){1d f=d[n],h=[];1d g=0;1j(e=a.1h;g<e;g++)h.1q(y$(a[g].3N,a[g].4k,f));g=f.35Z(1a.1pP.8U,h,b);1F!=g&&c.1q(g)}b=[];g=0;1j(e=c.1h;g<e;g++){d=c[g];1j(1d k in d){1d n=d[k];1j(a=0;a<n.1h;a++)b.1q(n[a])}}1f b};Zi.1i.3ry=1b(a){1d b=[],c=1a.2xO.20y,d;1j(d in c)c[d].3ry(a,b);1f b};1d bJ=1g Vc("3X9");1L.2X(Ac.1i,{1jf:{1n:1b(){1f 1a.14f}},3g:{1n:1b(){1f 1a.7T}},3mA:{1n:1b(){1f 1a.17F},1C:1b(a){g(a)&&"11T"===2h a.1dF&&(1a.17F.1dF=a.1dF)}},1Mr:{1n:1b(){1f 1a.1Ux},1C:1b(a){if(g(a)){if(!(a 2m Aa))1t 1g r("1Mr 2Q be a 1bX of 3iD.");E.9v(a.x,a.y,a.x+a.1G,a.y+a.1D,1a.1Ux)}}},33A:{1n:1b(){1f 1a.1Uw},1C:1b(a){a!==1a.1Uw&&(a?C.9v(0,0,1a.1DW):E.9v(0,0,1,1,1a.1Ux),1a.1Uw=a)}}});Ac.4w8=1;Ac.4w7=1;Ac.4w6=0;Ac.4w5=1;Ac.4w4=1;Ac.5Ll=y.1a7;Ac.5Lk=0;Ac.4D7=HM.6i;Ac.5Lj=nb.11U;Ac.5Li=Rb.11U;Ac.5Lh=.2kd;Ac.1i.36a=1b(){1f 1a.3ox};Ac.1i.3Z=1b(){1f!1};Ac.1i.1M=1b(){1f la(1a)};1d 4D2=1g Q,4D3=1g Q,aY=1g Q,4D1=1g Q;Ac.1i.3Sl=1b(){1d a=1a.14f,b=1a.7T;1f a.9c.4b(1b(){1f Q.17d(a.3g,b)})};Ac.1i.2nL=1b(a,b,c){1d d=a.2g;if(g(1a.4D6)&&a.6b<1a.4D6||g(1a.4D5)&&a.6b>1a.4D5)1f!1;1d e=1a.14f;g(c)||(c=d.8v.1h);if(!e.3o)1f 1a.4D4.1jO.2zh(),d.8v.6z(c,0,1a.4D4),!0;1d f=e.8c.18T 2m Uc&&a.3g.4P<Uc.2nK&&a.3g.4C>-Uc.2nK,h=Q.17d(e.3g,1a.7T,4D2),l=Q.17d(a.3g,h,4D3);if(!g(l)){if(!1a.36a()||e 2m Xi)1f!1;1d k=a.3g;l=4D3;k.4C>=h.4P?l.4P=l.4C=h.4P:k.4P<=h.4C?l.4P=l.4C=h.4C:(l.4C=1k.1V(k.4C,h.4C),l.4P=1k.2o(k.4P,h.4P));k.4o>=h.5a?l.4o=l.5a=h.5a:k.5a<=h.4o?l.4o=l.5a=h.4o:(l.4o=1k.1V(k.4o,h.4o),l.5a=1k.2o(k.5a,h.5a))}k=0;0<l.4C?k=l.4C:0>l.4P&&(k=l.4P);b=1*b.1DR(a.6b);1d n=g(1a.14f.1ko)?1a.14f.1ko:1,q=1a.14f,w=q.8c;k=w.3c.17i*w.3g.1G*(1a.14f.8c.18T 2m Td?1:1k.3i(k))/(q.16K*w.1ou(0)/n);k=1k.9p(1k.7k(k/b)/1k.7k(2))|0;k=1k.1V(0,k);b=e.16j;k>b&&(k=b);g(e.16i)&&(b=e.16i,k<b&&(k=b));q=e.8c;e=q.1mi(Q.21k(l),k);l=q.1mi(Q.2fk(l),k);b=a.3g.1G/512;n=a.3g.1D/512;w=q.1d1(e.x,e.y,k);1k.abs(w.4C-a.3g.4P)<n&&e.y<l.y&&++e.y;1k.abs(w.5a-a.3g.4o)<b&&e.x<l.x&&++e.x;w=q.1d1(l.x,l.y,k);1k.abs(w.4P-a.3g.4C)<n&&l.y>e.y&&--l.y;1k.abs(w.4o-a.3g.5a)<b&&l.x>e.x&&--l.x;a=Q.1y(a.3g,4D1);1d x=q.1d1(e.x,e.y,k),r=Q.17d(x,h,aY);f?(q.1JD(a,a),q.1JD(x,x),q.1JD(r,r),q.1JD(h,h),q=q.1JE.7X(q),b=a.1G/512,n=a.1D/512):q=q.1d1.7X(q);1d t=0,u=1;!1a.36a()&&1k.abs(r.4o-a.4o)>=b&&(t=1k.2o(1,(r.4o-a.4o)/a.1G));!1a.36a()&&1k.abs(r.4P-a.4P)>=n&&(u=1k.1V(0,(r.4P-a.4C)/a.1D));1j(1d v=u,y=m(1a.14f.13E,!1),A=e.x;A<=l.x;A++)if(w=t,x=q(A,e.y,k),r=Q.2Lm(x,h,aY),g(r)){t=1k.2o(1,(r.5a-a.4o)/a.1G);A===l.x&&(1a.36a()||1k.abs(r.5a-a.5a)<b)&&(t=1);u=v;1j(1d B=e.y;B<=l.y;B++){1d C=u;x=q(A,B,k);r=Q.2Lm(x,h,aY);g(r)&&(u=1k.1V(0,(r.4C-a.4C)/a.1D),B===l.y&&(1a.36a()||1k.abs(r.4C-a.4C)<n)&&(u=0),x=1g E(w,u,t,C),r=1a.3rA(A,B,k),d.8v.6z(c,0,1g UC(r,x,f,y)),++c)}}1f!0};Ac.1i.2Lk=1b(a,b){1d c=b.1mk.3g;a=a.3g;b.1UF&&(b=b.1mk.1ec.1jf.8c,c=b.1JD(c,4D2),a=b.1JD(a,4D1));b=a.1G;1d d=a.1D,e=b/c.1G,f=d/c.1D;1f 1g E(e*(a.4o-c.4o)/b,f*(a.4C-c.4C)/d,e,f)};1d 5Le={3X8:"4d/3X8",12H:"4d/12H"};Ac.1i.4D0=1b(a){1b b(b){if(!a.3Z()){if(!g(b))1f c();if(-1===b)a.4F=Sb.12D;1s if("1so"===b)d(!1);1s{if(b 2m 1aq&&g(e.1Gr)&&0<e.1Gr.1h){1d h=5Lg(b,e.1Gr);b=a.7M.1I===Jd.20D||a.7M.1I===Jd.2n5?h:1g 1JN([1g 4L(h,0,h.10S)],{1I:e.2Kj||"4d/12H"})}if(a.7M.1I!==Jd.20D&&!b.1Ej&&a.7M.1I!==Jd.2n5){if(b 2m 1JN){!0===f.17F.1dF&&!a.7M.1Gc&&g(f.14f.12Y)&&(a.1b3=a.7M.1b3,h={1i3:b,10t:a.1b3,13Y:f.14f.13Y,1sG:f.14f.12Y.1sG,2oT:30},bJ.1fa(h,[]));na.2MT().4b(1b(c){if(c)na.2MS(b,{13E:!0,22c:!1}).4b(1b(b){a.4d=b;a.4F=Sb.1sB;a.7M=1p 0;Lc.1Vf(f.2AI)});1s{1d d=7O.1ui.2FI(b);gf(d,!1).4b(1b(a){7O.1ui.1WT(d);1f a},1b(a){7O.1ui.1WT(d);1f Z.7N(a)}).4b(1b(b){a.4d=b;a.4F=Sb.1sB;a.7M=1p 0;Lc.1Vf(f.2AI)})}});1f}!0===f.17F.1dF&&!a.7M.1Gc&&g(f.14f.12Y)&&(a.1b3=a.7M.1b3,369(b,{3rC:"13E",22c:"1bs"}).4b(1b(b){5Lf(b,1b(b){bJ.1fa({1i3:b,10t:a.1b3,13Y:f.14f.13Y,1sG:f.14f.12Y.1sG,2oT:30},[])})}))}1d k=5Le[e.2Kj];if(a.7M.1I!==Jd.20D||b.1Ej)if(a.7M.1I===Jd.2n5){1d n=e.1U6[a.7M.1b3];g(n)||(n=1g qB(e,a.7M.1b3,b),e.1U6[a.7M.1b3]=n,!0===f.17F.1dF&&!a.7M.1Gc&&g(f.14f.12Y)&&(h={1i3:b.4h(0),10t:a.7M.1b3,13Y:f.14f.13Y,1sG:f.14f.12Y.1sG,2oT:30},bJ.1fa(h,[])));e.20C.1Jo(n);e.20C.1b2(e.32v);h=5Ld(b,a.7M.2Ki,k);g(h)||(a.4F=Sb.12D);h.4b(1b(b){a.4d=b;a.4F=Sb.1sB}).10g(1b(b){a.4F=Sb.12D})}1s a.4d=b,a.4F=Sb.1sB;1s{if(b 2m 1JN&&a.7M.1Gc&&!0===f.17F.1dF){na.2MT().4b(1b(c){if(c)na.2MS(b,{13E:!0,22c:!1}).4b(1b(b){a.4d=b;a.4F=Sb.1sB;a.7M=1p 0;Lc.1Vf(f.2AI)});1s{1d d=7O.1ui.2FI(b);gf(d,!1).4b(1b(a){7O.1ui.1WT(d);1f a},1b(a){7O.1ui.1WT(d);1f Z.7N(a)}).4b(1b(b){a.4d=b;a.4F=Sb.1sB;a.7M=1p 0;Lc.1Vf(f.2AI)})}});1f}a.1b3=a.7M.1b3;k=m(k,"4d/12H");h=5Lc(b,a.7M.1Vg,f,a,k);g(h)||(a.4F=Sb.12D);h.4b(1b(b){a.4d=b;a.4F=Sb.1sB}).10g(1b(b){a.4F=Sb.12D})}a.7M=1p 0;Lc.1Vf(f.2AI)}}}1b c(b){a.3Z()||(a.7M.4F===$d.21n?(a.4F=Sb.1vn,a.7M=1p 0):(a.4F=Sb.12D,a.7M=1p 0,f.2AI=Lc.1ir(f.2AI,e,e.1cG,"21Z to 5Lb 4d 11H X: "+a.x+" Y: "+a.y+" 1PV: "+a.6b+".",a.x,a.y,a.6b,d,b)))}1b d(d){1d f=1g Ke({1j8:!1,1mj:!0,1I:Jd.1IB});f.1Gc=d;a.7M=f;a.4F=Sb.27M;d=e.1hQ(a.x,a.y,a.6b,f,a.3g,a);g(d)?(g(e.1om)&&(a.1mn=e.1om(a.x,a.y,a.6b)),Z(d,b,c)):(a.4F=Sb.1vn,a.7M=1p 0)}1d e=1a.14f,f=1a;d(!0)};aT.1i.1C=1b(a,b,c){1a.1O=a;1a.1ec=b;1a.8v=c};aT.1i.5P=1b(){1d a=1a.1ec,b=a.1jf,c=1a.8v,d=c.4d;a=a.5La(1a.1O,c);g(d.1Ej)&&(c.2K7=!0,c.2nU=d.2nU,c.2yd=d.2yd,c.2yb=d.2yb,c.11H=d.11H,c.5o=d.5o,c.3mz=!1,c.1M0=d.1M0);b.8c.18T 2m Uc?c.21p=a:c.7y=a;c.4d=1p 0;c.4F=Sb.3r6};1d 4CZ=1g aT;Ac.1i.5La=1b(a,b){1d c=1g Eb({14A:1a.14A,15u:1a.15u});b=b.4d;1f g(b.2gm)?1g Ca({1O:a,8b:b.2gm,1G:b.1G,1D:b.1D,5j:{1a9:b.11y},10v:c}):g(b.1Ej)?b.6T:1g Ca({1O:a,5j:b,8b:1a.14f.1mb?ua.9m:ua.1fB,10v:c})};Ac.1i.3oF=1b(a,b,c){1d d=1a.14f,e=b.4d;if(g(d.19b)&&(d=d.19b,g(d))){if(!d.2Jq()){b.4F=Sb.1sB;1f}if(d.2xF(e)){b.4F=Sb.1My;1f}}if(1a.14A!==nb.10U&&1a.14A!==nb.11U)1t 1g r("5h0 7Ow 14O 2Q be 10U or 11U");4CZ.1C(a,1a,b);c.1Ul.5P(4CZ,eh.1uL)};Ac.1i.3X7=1b(a,b){1d c=1a.14A,d=1a.15u;if(c===nb.11U&&d===Rb.11U&&!ua.2gl(b.8b)&&B.1Gu(b.1G)&&B.1Gu(b.1D)){c=nb.1Qv;1d e=sb.5L9;e=1k.2o(e,m(1a.368,e));1d f=c+":"+d+":"+e,h=a.1au.5L8;g(h)||(h={},a.1au.5L8=h);a=h[f];g(a)||(a=h[f]=1g Eb({18i:Ka.11g,18h:Ka.11g,14A:c,15u:d,2AH:e}));b.1zs(Ss.2MR);b.10v=a}1s e=c+":"+d+":0",f=a.1au.5L7,g(f)||(f={},a.1au.5L7=f),a=f[e],g(a)||(a=f[e]=1g Eb({18i:Ka.11g,18h:Ka.11g,14A:c,15u:d})),b.10v=a};Ac.1i.5L5=1b(a,b,c){1d d=b.21p||b.7y,e=b.3g,f=a.1O;if((c=m(c,!0))&&!(1a.14f.8c.18T 2m Td)&&1E-5<e.1G/d.1G){1d h=1a;b.2zh();a=1g lv({2xI:!0,7H:1a,3rB:1b(a){5L4(a,f,d,b.3g)},2JI:1b(a){b.7y=a;h.3X7(f,a);b.4F=Sb.1cY;b.1UJ()}});1a.3X6.1q(a)}1s c&&(b.7y=d),1a.3X7(f,d),b.4F=Sb.1cY};Ac.1i.3oy=1b(a){1j(1d b=1a.3X6,c=b.1h,d=0;d<c;++d)a.13l.1q(b[d]);b.1h=0};Ac.1i.2Le=1b(){1a.3X6.1h=0};Ac.1i.3rA=1b(a,b,c,d){1d e=4H.8s([a,b,c]),f=1a.20y[e];g(f)||(f=1a.14f 2m Zi?1g NX(1a,a,b,c,d):1g Ri(1a,a,b,c,d),1a.20y[e]=f);f.2zh();1f f};Ac.1i.5L3=1b(a){a=4H.8s([a.x,a.y,a.6b]);4Y 1a.20y[a]};1d cJ={3g5:1b(){1f 1a.3X5},16S:1b(){1f 1a.7y},3X5:1g C,7y:1p 0},5L2=Nc.2zu()?1g 4A(128):1p 0;Ac.1i.1PK=1b(a,b){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=b?1<<a|1a.11h:~(1<<a)&1a.11h};Ac.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};1L.2X(of.1i,{16K:{1n:1b(){1f 1a.16x.14Q}},17g:{1n:1b(){1f 1a.16x.16J}},16j:{1n:1b(){1f 1a.16x.4y?1a.16x.17G:-1}},16i:{1n:1b(){1f 1a.16x.4y?1a.16x.1jK:-1}},8c:{1n:1b(){1f 1a.16x.6C}},3g:{1n:1b(){1f 1a.16x.4y?1a.16x.7T:1F}},19b:{1n:1b(){}},1cG:{1n:1b(){1f 1a.16x.14P}},3o:{1n:1b(){1f 1a.16x.4y}},9c:{1n:1b(){1f 1a.16x.9c}},1mb:{1n:1b(){1f!0}},2p:{1n:1b(){1f 1a.1ll.2p},1C:1b(a){1a.1ll.2p=a}},2eG:{1n:1b(){1f 1a.16x 2m Zi?1a.16x.1pP.13W():1a.16x.2eG},1C:1b(a){1a.16x.2eG=a}},2O:{1n:1b(){1f 1a.1ll.2O},1C:1b(a){1a.1ll.2O=a}},2cv:{1n:1b(){1f 1a.1ll.32k},1C:1b(a){1a.1ll.32k=a}},2i:{1n:1b(){1f 1a.6X},1C:1b(a){1a.6X=a}},5u5:{1n:1b(){1f 1a.1ll.1U0},1C:1b(a){1a.1ll.1U0=a;1a.16x.1U0=a}},3mA:{1n:1b(){1f 1a.16x.17F},1C:1b(a){g(a)&&"11T"===2h a.1dF&&(1a.16x.17F.1dF=a.1dF)}},2JQ:{1n:1b(){1f 1a.5L1}},2JX:{1n:1b(){1f 1a.1Bs},1C:1b(a){1a.1Bs=a;1a.16x.1Bs=a}},2Ac:{1n:1b(){1f 1a.7Ov},1C:1b(a){1a.1qR.2Ac=a}},1cJ:{1n:1b(){1f 1a.1gb},1C:1b(a){1a.1gb=a;1a.16x.1gb=1a.1gb;1a.1qR.1cJ=1a.1gb}}});of.1i.3kk=1b(a,b,c){1a.16x.1pP.3kk(a,b,c)};of.1i.3rz=1b(a){1a.16x.1pP.3rz(a)};of.1i.3X4=1b(a,b){1a.16x.1pP.3X4(a,b);1a.20z()};of.1i.4CY=1b(a){1a.16x.1pP.4CY(a)};of.1i.364=1b(a,b,c,d){1a.16x.1pP.364(a,b,c,d)};of.1i.363=1b(a,b){1f 1a.16x.1pP.363(a,b)};of.1i.362=1b(a,b,c,d){1a.16x.1pP.362(a,b,c,d)};of.1i.2AG=1b(a,b){1f 1a.16x.1pP.2AG(a,b)};of.1i.35Z=1b(a,b){1j(1d c=[],d=0,e=a.1h;d<e;d++){1d f=T.12y(a[d]);c.1q(f)}1f 1a.16x.35Z(c,b)};of.1i.3ry=1b(a){1f 1a.16x.3ry(a)};of.1i.2H=1b(a,b){};of.1i.1vb=1b(a){1f 1a.16x.1vb(a)};of.1i.20z=1b(){1d a=1a.1ll.20y,b;1j(b in a)a[b].3mz=!1;1a.2ya.3S(1a.1ll);1a.1ll=1a.2ya.2mG(1a.16x);1a.16x.2xO=1a.1ll};of.1i.3Z=1b(){1f!1};of.1i.1M=1b(){1a.16x.16k=1F;1a.16x.1qR=1F;g(1a.16k)&&(1a.16k.1M(),1a.16k=1F);g(1a.1qR)&&(1a.1qR.1M(),1a.1qR=1F);1a.2ya.3S(1a.1ll);1f la(1a)};jn.35y=1b(a,b,c){b.1nw=a.9G;1d d=a.35Y,e=a.1oF,f=a.3rx.2q,h={},l=[],k=b.4j,n=c.1fF.7g("10D"),m=8A(n[1]),w=8A(n[2]);m=1k.3r(2,b.1hr)-m-1;n=0;1j(1d q=f.1h;n<q;n++){1d r=f[n].2q,t=r.id,u=1g fe({});h[t]=u;t=r.18A;u.1LN=1g y(t.r,t.g,t.b,t.a);t=r.8t;u.1se=1g y(t.r,t.g,t.b,t.a);t=r.16C;u.1Du=1g y(t.r,t.g,t.b,t.a);u.1JK=r.1rk;u.1GL=r.4CX;r=r.3X3;0===r.1h&&b.11m===La.2Ai&&(u.35R=!0);1j(t=0;t<r.1h;t++){1d v=r[t].3X2,B=v.id,C=0===v.2AF.u?Ka.1av:Ka.11g,E=0===v.2AF.v?Ka.1av:Ka.11g;u.2oQ=A.5f(v.3X1);1d F=a.2oP[B];v=B+b.7R+b.4j.7R+c.1hX.9w;if(g(F)&&0<F.1G&&0<F.1D&&0<F.1Ei.1h)6U(0===F.1zq&&(b.1gI=0),F.1zq){1S Zj.2sV:B=u.4CL(v,B,k,t,F.1Ei,F.1G,F.1D);l.1q(B);u.2MO=!0;1W;1S Zj.4CK:B=u.4CJ(v,B,k,t,F,C,E);g(B)&&l.1q(B);1W;4T:B=Rc.22b(v,k,F.1G,F.1D,F.1vC,F.1zq,F.1Ei,!1,C,E),u.12s.1q(B)}1s b.4Az&&(C=b.1vy+"2GX/"+B,g(Ba.12M)&&(C=Ba.1cl(C)),B=u.4CI(C,v,B,k,t),l.1q(B))}}Z.all(l,1b(){1j(1d f=b.1dI,l=d.35X,k=!0,p=0;p<l.1h;p++){1d n=1g Ck,t=l[p];""===t.2MQ?n.1Qo=!0:k=!1;n.2Mz=0===t.3Wf?Ak.2oO:Ak.35Q;n.1Qn=t.2MQ;n.2Ap=t.5KZ;-1===t.7u.3L&&(t.7u.3L=16t);n.1Qo||(n.5V=1g P(t.7u.2V,t.7u.3L),P.5o(n.5V,b.1dI,n.5V));1j(1d q=t.3rw,z=[],x=0;x<q.1h;x++){1d r=q[x],u=r.8W,v=A.9b(f,u,1g A);r=r.35W;1j(1d y=0;y<r.1h;y++){1d D=r[y],B=e[D],G=B.1dM;1d C=B.1dM;if(1>C.1f0)C=!1;1s if(b.11m===La.1GQ){1d E=b.1cJ.15b;C=E===xg.34Z?B$(C):E===xg.1nh?!B$(C):!0}1s C=!0;if(C){if(n.1Qo){1d aa=G.7u;g(aa)?(aa=1g P(aa.2V,aa.3L),P.5o(aa,v,aa)):aa=Rj.35P(b,G,v);z.1q(aa)}C=Rj.3ra(b,G);E=B.1lu;1j(1d oa=B.1Qu,ka={},F=0;F<E.1h;F++){1d H=E[F];if(g(H)){H=H.1FJ;1d I=h[H],Ub=1g fe({});g(I)&&I.1y(Ub);ka[H]=Ub}}B={1O:b.4j,1dM:G,1lu:E,2oN:B.2oN,1Qu:oa,9G:a.9G,1Qt:ka,7r:b,2gi:v,6W:n.5V?n.5V:aa,22a:C,2oM:1F,1Br:b.11m,2fW:b.1zk,35O:u,2dX:b.21P,6b:b.1hr,1sA:m,1Mv:w,35N:D};if(b.11m===La.1MM)if(C=D.7g("#"),0<C.1h&&"7Ou"===C[0]){D={};1j(E=1;E<C.1h;E++)ka=C[E].7g("%"),2===ka.1h&&(oa=ka[0],ka=ka[1].7g("10D"),2===ka.1h&&(F=ka[1],D[oa]={4I:8A(ka[0]),9o:8A(F)}));B.5L0=D}1s-1<D.1sl("10D")&&(D=D.11c(0,D.1sl("10D")),B.2oy=D);g(b.28k)?(G=Uv.35M(B,b),n.12a=n.12a.9V(G)):(G=C$(b,G,v),D=1g Qa(B),D.1MP=G,n.12a.1q(D))}}}n.1Qo&&(n.5V=P.1zi(z,1g P));g(c.2oG[t.2MQ])?(c.2oG[t.2MQ].12a=n.12a,c.2oG[t.2MQ].4y=!0):(c.15I.1q(n),b.2Ah===Xt.3qF&&(n.1Qo=!0))}c.1MO=k;if(!g(c.5V)||c.1MO){f=[];1j(l=c.15I.1h;l--;)f.1q(c.15I[l].5V);c.5V=P.1zi(f);c.2Aq=P.1y(c.5V)}1j(1d J in h)h.3p(J)&&(f=h[J],g(f)&&(f.1M(),h[J]=1F));c.4y=!0;c.1dL=Mb.2oB})};jn.5IT=1b(a,b){1d c=b.35K,d=b.35U;a.1nw=c.9G;1d e={},f=a.4j,h=c.35Y,l,p;1j(l=0;l<d.1h;l++){1d n=d.2a[l],m=n.3rx.2q;1j(p=0;p<m.1h;p++){1d w=m[p].2q;1d q=w.id,r=1g fe({});e[q]=r;1d t=w.18A;r.1LN=1g y(t.r,t.g,t.b,t.a);t=w.8t;r.1se=1g y(t.r,t.g,t.b,t.a);t=w.16C;r.1Du=1g y(t.r,t.g,t.b,t.a);r.1JK=w.1rk;r.1GL=w.4CX;t=w.3X3;1j(w=0;w<t.1h;w++){1d u=t[w].3X2,v=u.id,B=0===u.2AF.u?Ka.1av:Ka.11g,C=0===u.2AF.v?Ka.1av:Ka.11g;r.2oQ=A.5f(u.3X1);u=n.2oP[v];v=v+a.7R+a.4j.7R;g(u)&&0<u.1G&&0<u.1D&&0<u.1Ei.1h&&(0===u.1zq&&(a.1gI=0),B=Rc.22b(v,f,u.1G,u.1D,u.1vC,u.1zq,u.1Ei,!1,B,C),r.12s.1q(B))}}}f=a.1dI;h=h.35X;m=!0;1j(l=0;l<h.1h;l++){t=1g Ck;p=h[l];""===p.2MQ?t.1Qo=!0:m=!1;t.2Mz=0===p.3Wf?Ak.2oO:Ak.35Q;t.1Qn=p.2MQ;t.2Ap=p.5KZ;-1===p.7u.3L&&(p.7u.3L=16t);t.1Qo||(t.5V=1g P(p.7u.2V,p.7u.3L),P.5o(t.5V,a.1dI,t.5V));B=p.3rw;C=[];1j(p=0;p<B.1h;p++){n=B[p];v=n.8W;u=A.9b(f,v,1g A);1j(1d E=n.35W,F=0;F<E.1h;F++){1d H=E[F],K=H;n=H.3f("#");-1<n&&(K=H.11c(0,n));n=d.1n(K);if(g(n)){1d I=[],L={};1j(w=0;w<n.35Y.35X.1h;w++){1d S=n.35Y.35X[w].3rw;1j(r=0;r<S.1h;r++){1d U=S[r],R=A.5f(U.8W,0,1g A);1j(q=0;q<U.35W.1h;q++){1d V=U.35W[q];L[V]=R;I.1q(V)}}}1j(w=0;w<I.1h;w++)if(S=I[w],U=L[S],q=n.1oF[S],g(q)){r=c.1oF[H];R=wc(r.1Qu);1d W=g(q.1Qu)?1L.9K(q.1Qu):[];V=W.1h;1j(1d da in R)R.3p(da)&&(R[da].3X0=W);W=r.1dM;1d ea=q.1dM,Sa=[],J=ea.19h.1h;1j(r=0;r<ea.19h.1h;r++){1d M=ea.19h[r];M=fb({},M);Sa.1q(M)}1j(r=0;r<W.19h.1h;r++)M=W.19h[r],0<M.19N&&(M=fb({},M),M.2P=J++,Sa.1q(M));J=ea.19h.1h;4Y W.1oh.11X;r=fb({},ea.1oh);1j(1d N in W.1oh)r[N]=W.1oh[N]+J;V={1oh:r,1zr:ea.1zr,1pO:ea.1pO,2oS:ea.2oS,19h:Sa,7x:ea.7x,1f0:ea.1f0,2MP:V};V.2gk=W.2gk;V.1gC=W.1gC;V.1MQ=W.1MQ;V.1b6=W.1b6;V.35V=W.35V;4Y W.1oh.11X;if(t.1Qo){1d Ob=V.7u;g(Ob)?(Ob=1g P(Ob.2V,Ob.3L),P.5o(Ob,u,Ob)):Ob=Rj.35P(a,V,u);C.1q(Ob);Rj.3ra(a,V)}W=q.1lu;ea={};q=W[0].1FJ;r=e[q];Sa=1g fe({});g(r)&&r.1y(Sa);ea[q]=Sa;r={1O:a.4j,9G:c.9G,1dM:V,1lu:W,1Qu:R,1Qt:ea,7r:a,2gi:u,6W:t.5V?t.5V:Ob,1Br:a.11m,2fW:a.1zk,35O:v,5KY:U,2dX:a.21P,3VD:a.3VD,35N:S,7Ot:K};g(a.28k)?(r=Uv.35M(r,a),t.12a=t.12a.9V(r)):(S=C$(a,V,u),r=1g Qa(r),r.1MP=S,t.12a.1q(r))}}}}if(t.1Qo)1j(t.5V=P.1zi(C,1g P),p=0;p<t.12a.1h;p++)t.12a[p].11S=t.5V;b.15I.1q(t)}b.1MO=m;if(!g(b.5V)||b.1MO){c=[];1j(d=b.15I.1h;d--;)c.1q(b.15I[d].5V);b.5V=P.1zi(c)}k.2L(a.1Qk,k.6h)||b.3WX(1k.1V(1k.abs(a.1Qk.x),1k.abs(a.1Qk.y),1k.abs(a.1Qk.z)));1j(1d O in e)e.3p(O)&&(a=e[O],g(a)&&(a.1M(),e[O]=1F));b.4y=!0;b.1dL=Mb.2oB;b.35K=1p 0;b.35U=1p 0;b.2My=1p 0};jn.2g7=1b(a,b,c,d){if(b.3Z())c=1F,b.1dL=Mb.2dF;1s{1d e={3J:c,34P:a.3VJ,1Br:a.11m,1V0:a.1gI,28i:a.2Ag,5KX:a.4As,3WY:a.3UX()};c=[c];g(d)&&(e.2A2=!0,e.5KF=d,c.1q(d));sd.11K||sd.3rv();sd.35T&&(d=sd.35S.1fa(e,c),g(d)&&(b.1dL=Mb.21L,a.15V.15Y.2Mx=0,a.15V.15Y.1zo++,b.1Qp=1F,b.21T=1F,d.4b(1b(c){if(g(7O.2Ae)&&!0===a.17F.2Af&&g(a.15V.12Y)){1d d=b.1hX.5s()+b.1fF;if(g(a.15V.12Y.1qW)&&g(a.15V.12Y.1qW[a.15V.13Y])&&(1===a.15V.12Y.1qW[a.15V.13Y][d]||2===a.15V.12Y.1qW[a.15V.13Y][d]))1f;sd.4CF.1fa({1i3:c,10t:d,13Y:a.15V.13Y,1sG:a.15V.12Y.1sG},[])}a.15V.15Y.1zo--;"2d2"===a.21P?(b.2My=cn.3qM.4B5,b.35K=c):jn.35y(c,a,b)}).10g(1b(b){a.15V.15Y.1zo--;7O.11l.7k(b)})))}};1L.2X(dJ.1i,{5F:{1n:1b(){1f 1a.3WZ},1C:1b(a){a!=1a.3WZ&&(1a.3WZ=a,1a.8L.5GZ(a))}},1sx:{1n:1b(){1f 1a.1MI},1C:1b(a){1a.1MI=a}},1ze:{1n:1b(){1f 1a.1x6/1E3},1C:1b(a){1a.1x6=1E3*a}},5KW:{1n:1b(){if(0==1a.1x6)1f 3a.6w;1d a=1bR.14H()%1a.1x6;1f 1a.1MI*a/1E3}}});if("7w"!==2h 1zn){1d KA=1b(a){if(Ua.3WW)Ua.3WW(a);4CU=!0},bY=1b(a){1b b(){if(!Ua.2ga&&(Ua.2ga=!0,!4CU)){4CR||(4CR=!0,UM(5KQ));UM(5KP);if(Ua.3r5)Ua.3r5();if(Ua.1Qr)1j("1b"==2h Ua.1Qr&&(Ua.1Qr=[Ua.1Qr]);Ua.1Qr.1h;)4CS.1po(Ua.1Qr.1hN());UM(4CS)}}if(!(0<Qw)){if(Ua.1Qs)1j("1b"==2h Ua.1Qs&&(Ua.1Qs=[Ua.1Qs]);Ua.1Qs.1h;)4CT.1po(Ua.1Qs.1hN());UM(4CT);0<Qw||Ua.2ga||(Ua.35J?(Ua.35J("5Ks..."),1if(1b(){1if(1b(){Ua.35J("")},1);b()},1)):b())}},VM=1b(a){1a.2i="5Kr";1a.19s="2MK 5Kq 10M 3qY("+a+")";1a.1hM=a},5KM=1b(a){a=cY(a,12v);1d b=fl.10S;10G{1f-1!==WM.3Ww((a-b)/12v)?(fl=WM.3J,!0):!1}11B(c){1f!1}},4CP=1b(){1f dY.1h},5KN=1b(a){1b b(a,b){Ua.asm=a.1cr;Qw--;Ua.2AD&&Ua.2AD(Qw);0==Qw&&(1F!==eY&&(3kZ(eY),eY=1F),yF&&(a=yF,yF=1F,a()))}1b c(a){b(a.1bX)}1b d(a){1f 5KV().4b(1b(a){1f 1zn.3r4(a,e)}).4b(a,1b(a){})}1d e={5Kn:a,1ii:{1hO:1hO,12g:12g},"1ii.1k":1k,5Km:5KS};Qw++;Ua.2AD&&Ua.2AD(Qw);if(Ua.3WV)10G{1f Ua.3WV(e,b)}11B(f){1f!1}(1b(){if(Ua.28r||"1b"!==2h 1zn.3WU||4CQ($t)||"1b"!==2h 1zb)1f d(c);1zb($t,{35I:"1ik-9X"}).4b(1b(a){1f 1zn.3WU(a,e).4b(c,1b(a){d(c)})})})();1f{}},5KV=1b(){1f Ua.28r||!zF&&!Rw||"1b"!==2h 1zb?1g 2xD(1b(a,b){a(4CW())}):1zb($t,{35I:"1ik-9X"}).4b(1b(a){if(!a.ok)1t"1bf to 1e4 1JQ 2gf 1ol at \'"+$t+"\'";1f a.15U()}).11B(1b(){1f 4CW()})},4CW=1b(){10G{if(Ua.28r)1f 1g 4L(Ua.28r);if(Ua.2gd)1f Ua.2gd($t);1t"1oE 3r3 and 5Kk 5Kj of 1Z 1JQ 1bf";}11B(a){KA(a)}},4CQ=1b(a){1f 10J.1i.3WT?a.3WT("2g:1aM/2MJ-2gh;1G3,"):0===a.3f("2g:1aM/2MJ-2gh;1G3,")},UM=1b(a){1j(;0<a.1h;){1d b=a.1hN();if("1b"==2h b)b();1s{1d c=b.14R;"2b"===2h c?1p 0===b.arg?Ua.4CB(c):Ua.4CA(c,b.arg):c(1p 0===b.arg?1F:b.arg)}}},4CO=1b(){Ua.5Kf=dY=1g 1G4(fl);Ua.5Ke=1g 1FS(fl);Ua.5Kd=fY=1g 1fZ(fl);Ua.2MH=gY=1g 4L(fl);Ua.5Kc=1g 10Y(fl);Ua.5Kb=1g 12X(fl);Ua.3r2=1g 4A(fl);Ua.5Ka=1g 13X(fl)},cY=1b(a,b){0<a%b&&(a+=b-a%b);1f a},5KI=1b(a,b,c,d,e){e={4n:1b(a){1d b=0;if(1F!==a&&1p 0!==a&&0!==a){1d c=(a.1h<<2)+1;b=4CN(c);1d d=gY,e=b;if(0<c){c=e+c-1;1j(1d f=0;f<a.1h;++f){1d h=a.19a(f);if(1v4<=h&&2Ja>=h){1d g=a.19a(++f);h=12v+((h&1yG)<<10)|g&1yG}if(127>=h){if(e>=c)1W;d[e++]=h}1s{if(3lx>=h){if(e+1>=c)1W;d[e++]=192|h>>6}1s{if(1a6>=h){if(e+2>=c)1W;d[e++]=224|h>>12}1s{if(e+3>=c)1W;d[e++]=240|h>>18;d[e++]=128|h>>12&63}d[e++]=128|h>>6&63}d[e++]=128|h&63}}d[e]=0}}1f b},4x:1b(a){1d b=4CN(a.1h);dY.1C(a,b);1f b}};1d f=$ka(a),h=[];a=0;if(d)1j(1d g=0;g<d.1h;g++){1d k=e[c[g]];k?(0===a&&(a=5KJ()),h[g]=k(d[g])):h[g]=d[g]}c=f.6c(1F,h);c=1b(a){if("4n"===b)if(a){1d c=gY;1j(1d d=a+1p 0,e=a;c[e]&&!(e>=d);)++e;if(16<e-a&&c.1hl&&ala)c=ala.1AM(c.1hl(a,e));1s{1j(d="";a<e;){1d f=c[a++];if(f&128){1d h=c[a++]&63;if(192==(f&224))d+=10J.1gx((f&31)<<6|h);1s{1d g=c[a++]&63;f=224==(f&240)?(f&15)<<12|h<<6|g:(f&7)<<18|h<<12|g<<6|c[a++]&63;12v>f?d+=10J.1gx(f):(f-=12v,d+=10J.1gx(1v4|f>>10,1AV|f&1yG))}}1s d+=10J.1gx(f)}c=d}}1s c="";1s c="11T"===b?!!a:a;1f c}(c);0!==a&&5KK(a);1f c},$ka=1b(a){1d b=Ua["10D"+a];hY(b,"1e6 4G 1G7 1b "+a+", 35H 3WR it is 15J");1f b},hY=1b(a,b){a||KA("5K3 1bf: "+b)},5KO=1b(a){1f Ua.2AB?Ua.2AB(a,or):or+a},Ua="7w"!==2h Ua?Ua:{},AF={},au;1j(au in Ua)Ua.3p(au)&&(AF[au]=Ua[au]);Ua.5m=[];Ua.3WP="./1a.1bb";Ua.2ge=1b(a,b){1t b;};Ua.1Qs=[];Ua.1Qr=[];1d zF=!1,Rw=!1,iY=!1,5KU=!1,4CV=!1;zF="2c"===2h 7O;Rw="1b"===2h 4Ct;iY=(5KU="2c"===2h 1pt&&"1b"===2h 1v7)&&!zF&&!Rw;4CV=!zF&&!iY&&!Rw;1d or="";if(iY){or=5K1+"/";1d jY,kY;Ua.1dD=1b(a,b){jY||(jY=1v7("fs"));kY||(kY=1v7("9w"));a=kY.1T(a);a=jY.5K0(a);1f b?a:a.5s()};Ua.2gd=1b(a){a=Ua.1dD(a,!0);a.3J||(a=1g 4L(a));hY(a.3J);1f a};1<1pt.35G.1h&&(Ua.3WP=1pt.35G[1].3X(/\\\\/g,"/"));Ua.5m=1pt.35G.4h(2);"7w"!==2h 2eH&&(2eH.1cr=Ua);1pt.on("5JZ",1b(a){if(!(a 2m VM))1t a;});1pt.on("5JY",KA);Ua.2ge=1b(a){1pt.3qY(a)};Ua.4ri=1b(){1f"[5JX 1LD 2c]"}}1s if(4CV)"7w"!=2h 1dD&&(Ua.1dD=1b(a){1f 1dD(a)}),Ua.2gd=1b(a){if("1b"===2h 3WO)1f 1g 4L(3WO(a));a=1dD(a,"2gf");hY("2c"===2h a);1f a},"7w"!=2h 3WN?Ua.5m=3WN:"7w"!=2h 5m&&(Ua.5m=5m),"1b"===2h 2ge&&(Ua.2ge=1b(a){2ge(a)});1s if(zF||Rw)Rw?or=1KQ.17J.17S:3n.3WM&&(or=3n.3WM.1bv),or=0!==or.3f("1i3:")?or.13c(0,or.1sl("/")+1):"",Ua.1dD=1b(a){1d b=1g 1J3;b.1pj("1Tq",a,!1);b.26m(1F);1f b.2ME},Rw&&(Ua.2gd=1b(a){1d b=1g 1J3;b.1pj("1Tq",a,!1);b.1f8="2AC";b.26m(1F);1f 1g 4L(b.1pa)}),Ua.5JW=1b(a,b,c){1d d=1g 1J3;d.1pj("1Tq",a,!0);d.1f8="2AC";d.1w2=1b(){200==d.1hM||0==d.1hM&&d.1pa?b(d.1pa):c()};d.1ra=c;d.26m(1F)},Ua.5JV=1b(a){3n.17s=a};1d 5KT=Ua.2oI||("7w"!==2h 11l?11l.7k.7X(11l):"7w"!==2h 2oI?2oI:1F),5KR=Ua.2oH||("7w"!==2h 2oH?2oH:"7w"!==2h 11l&&11l.2ep.7X(11l)||5KT);1j(au in AF)AF.3p(au)&&(Ua[au]=AF[au]);AF=1p 0;1d 5KS={"5JN-5JM":1b(a,b){1f a%b},"3WL":1b(){3WL}},4CU=!1,ala="7w"!==2h 21W?1g 21W("2AA"):1p 0;"7w"!==2h 21W&&1g 21W("35C-5JL");1d dY,gY,fY,XM=Ua.3qQ||1C6;2wO>XM&&5KR("3qQ 1tD be 3qX 6L 35F, 9x "+XM+"! (35F=2wO)");if(Ua.3J)1d fl=Ua.3J;1s if("2c"===2h 1zn&&"1b"===2h 1zn.2gc){1d WM=1g 1zn.2gc({3WH:XM/12v});fl=WM.3J}1s fl=1g 1aq(XM);4CO();fY[772]=7Os;1d 4CT=[],5KQ=[],5KP=[],4CS=[],4CR=!1,Qw=0,eY=1F,yF=1F;Ua.5JG={};Ua.5JF={};1d $t="1Qq/1LD.1JQ";4CQ($t)||($t=5KO($t));Ua.asm=1b(a,b,c){b.2Aw=WM;b.1j9=1g 1zn.4Ci({3WH:23,14S:23,1ij:"5Jz"});b.5Jy=13j;b.5Jx=0;1f 5KN(b)};1d 4CM=Ua.asm({},{b:KA,c:1b(a){Ua.2oJ&&(fY[Ua.2oJ()>>2]=a);1f a},f:4CP,e:1b(a){1d b=4CP();if(3qS<a)1f!1;1j(b=1k.1V(b,1C6);b<a;)b=5Jq>=b?cY(2*b,12v):1k.2o(cY((3*b+2Jd)/4,12v),3qS);if(!5KM(b))1f!1;4CO();1f!0},d:1b(a){KA("5Jo")},a:5KL},fl);Ua.asm=4CM;Ua.2oJ=1b(){1f Ua.asm.g.6c(1F,5m)};Ua.7Or=1b(){1f Ua.asm.h.6c(1F,5m)};Ua.2Au=1b(){1f Ua.asm.i.6c(1F,5m)};Ua.7Oq=1b(){1f Ua.asm.j.6c(1F,5m)};Ua.28p=1b(){1f Ua.asm.k.6c(1F,5m)};1d 4CN=Ua.2Ar=1b(){1f Ua.asm.n.6c(1F,5m)},5KK=Ua.2As=1b(){1f Ua.asm.o.6c(1F,5m)},5KJ=Ua.2At=1b(){1f Ua.asm.p.6c(1F,5m)};Ua.4CB=1b(){1f Ua.asm.l.6c(1F,5m)};Ua.4CA=1b(){1f Ua.asm.m.6c(1F,5m)};Ua.asm=4CM;Ua.35A=1b(a,b,c,d){c=c||[];1d e=c.2el(1b(a){1f"2b"===a});1f"4n"!==b&&e&&!d?$ka(a):1b(){1f 5KI(a,b,c,5m)}};VM.1i=6u();VM.1i.7m=VM;yF=1b b(){Ua.2ga||bY();Ua.2ga||(yF=b)};Ua.3Wi=bY;Ua.28m=KA;if(Ua.21X)1j("1b"==2h Ua.21X&&(Ua.21X=[Ua.21X]);0<Ua.21X.1h;)Ua.21X.9l()();Ua.5J1=!0;bY()}1s Ua=1F;1d Sj=Ua,Ts=1F,E$=1F;1F!==Sj&&(Ts=Sj.35A("7Op","2b","2b 2b 2b 2b 2b 2b 2b".7g(" ")),E$=Sj.35A("7Oo",1F,["2b"]));1d 5KH=1g N;Dk.5IR=1b(a,b,c){c===Cc.1qT.10U?1F===Ts?fJ(a.1tV,b):a.1tV=eJ(a.1tV,b):gJ(a.1tV)};Dk.5IO=1b(a,b,c){1f c===Cc.1qT.11U?G$(a.1tV,b,!0):1F===Ts?D$(a.1tV,b):bT(a.1tV,b)};Dk.35y=1b(a,b,c,d){if(c.3Z())c.1dL=Mb.2dF;1s{d=c.1fF.7g("10D");1d e=8A(d[1]),f=8A(d[2]);e=1k.3r(2,b.1hr)-e-1;b.1nw=a.9G;1d h=b.6M,l=5KH.1dD(a.3ru).1gv,p=l.1fz;d=Io(l,"3rt",p);d=vq(d,"2q",p);1j(1d n={},q=[],w=b.4j,x=0,r=d.1h;x<r;x++){1d t=d[x],u=kn(t,"2i",p),v=1g fe({});n[u]=v;1d B=Io(t,"3rs",p);u=m(re(B,"3rr",p),re(B,"R",p));1d C=m(re(B,"3rq",p),re(B,"G",p)),E=m(re(B,"3rp",p),re(B,"B",p));B=m(re(B,"3ro",p),re(B,"A",p));v.1LN=1g y(u,C,E,B);B=Io(t,"3rn",p);u=m(re(B,"3rm",p),re(B,"R",p));C=m(re(B,"3rl",p),re(B,"G",p));E=m(re(B,"3rk",p),re(B,"B",p));B=m(re(B,"3rj",p),re(B,"A",p));v.1se=1g y(u,C,E,B);B=Io(t,"3ri",p);u=m(re(B,"3rh",p),re(B,"R",p));C=m(re(B,"3rg",p),re(B,"G",p));E=m(re(B,"3rf",p),re(B,"B",p));B=m(re(B,"3re",p),re(B,"A",p));v.1Du=1g y(u,C,E,B);u=re(t,"3rd",p);v.1JK=u;v.1GL=5KG(t,"2oR",p);t=vq(t,"7y",p);0===t.1h&&b.11m===La.2Ai&&(v.35R=!0);1j(u=0;u<t.1h;u++){C=t[u];E=kn(C,"2i",p);B=kn(C,"7On",p);1d F=Io(C,"3rc",p),H=kn(F,"u",p);F=kn(F,"v",p);H="2gj"===H?Ka.1av:Ka.11g;F="2gj"===F?Ka.1av:Ka.11g;C=kn(C,"7Om",p).7g(",");1j(1d K=16;K--;)C[K]=7L(C[K]);v.2oQ=A.5f(C);K=a.2oP[E];C=E+b.7R+w.7R+c.1hX.9w;if(g(K)&&0<K.1G&&0<K.1D&&g(K.1Ei)&&0<K.1Ei.10S)6U(0===K.1zq&&(b.1gI=0),c.35L+=K.1Ei.1h,K.1zq){1S Zj.2sV:B=v.4CL(C,B,w,u,K.1Ei,K.1G,K.1D);q.1q(B);v.2MO=!0;1W;1S Zj.4CK:B=v.4CJ(C,B,w,u,K,H,F);q.1q(B);1W;4T:B=Rc.22b(C,w,K.1G,K.1D,K.1vC,K.1zq,K.1Ei,!1,H,F),v.12s.1q(B)}1s b.4Az&&(H=b.1vy+"2GX/"+B,g(Ba.12M)&&(H=Ba.1cl(H)),B=v.4CI(H,E,B,w,u),q.1q(B));if("12H"===b.1gd||"21U"===b.1gd){E=E+"10D"+c.1fF;E=""!==b.1V5?E+"10D"+b.1V5:E;E="21U"===b.1gd?E+".2oD":E+".12H";E=c.1hX.5h(b.1vy)+E;if(0!=b.26Z){K=b.35r;B=E.3f("1x2")+5;H=K.2g8;F=E.11c(E.3f("/9w/")+6).7g("/");K=K.21V;1d I=F[0],L=F[1].11c(0,F[1].3f("."));F=F[1].11c(F[1].3f(".")+1,F[1].1h);E=E.11c(0,B)+"?1pk="+H+"&3qH="+I+"&11H="+L+"&2K9="+F+"&21V="+K+"&2g8="+H}B=1p 0;"21U"===b.1gd?(B=Ng(E,1p 0),g(B)&&1b(a,d,e){a.4b(1b(a){if(g(a)){1d f=1p 0;a=1g 4L(a,8);a=Dp.1pn(a).3J;if(1===(1g 13X(a,0,1))[0]){1d h=1g 12X(a,8,4);f=h[0];1d l=h[1];1d k=h[2];h=h[3];a=1g 4A(a,24,l*k);f={1vC:f,1Va:l,1V9:k,5IP:h,1tV:a}}g(f)&&(l=nb.11U,k=Rb.11U,g(b.6J)&&b.6J.1x7===Cc.1qT.10U&&(l=nb.10U,k=Rb.10U),a=b.6J.1x7===Cc.1qT.11U?G$(f.1tV,b.6J,!0):1F===Ts?D$(f.1tV,b.6J):bT(f.1tV,b.6J),l=1g Ca({1O:b.4j,1G:f.1Va,1D:f.1V9,8b:ua.9m,13E:!1,10v:1g Eb({14A:l,15u:k})}),l.1iq({1G:f.1Va,1D:f.1V9,1a9:a}),c.1yR[d]=l,e.2AE=d)}},1b(a){})}(B,C,v)):"12H"===b.1gd&&(B=gf(E),g(B)&&1b(a,d,e){a.4b(1b(a){if(g(a)){1d f=nb.11U;1d h=Rb.11U;g(b.6J)&&b.6J.1x7===Cc.1qT.10U&&(f=nb.10U,h=Rb.10U);1d l=b.6J.1x7===Cc.1qT.11U?gJ(Hu(a),b.6J,!0):1F===Ts?fJ(Hu(a),b.6J):eJ(Hu(a),b.6J);f=1g Ca({1O:b.4j,1G:a.1G,1D:a.1D,8b:ua.9m,13E:!1,10v:1g Eb({14A:f,15u:h})});f.1iq({1G:a.1G,1D:a.1D,1a9:l});c.1yR[d]=f;e.2AE=d}},1b(a){})}(B,C,v));q.1q(B)}}}Z.all(q,1b(){if(g(b.1ky)){1d d=b.1ky.5GS;1d m=b.4j.7R+"10D"+b.id+"7Ol";1d t=Cc.1qT.11U;g(b.6J)&&b.6J.1x7===Cc.1qT.10U&&(t=Cc.1qT.10U);g(b.6J)&&g(b.1ky.1hW)&&(t===Cc.1qT.10U?1F===Ts?fJ(b.1ky.1hW,b.6J):b.1ky.1hW=eJ(b.1ky.1hW,b.6J):gJ(b.1ky.1hW,b.6J));1d w={};w.2g9=b.1ky.1U5;w.1tV=b.1ky.1hW;t=Rc.4CH(m,h,b.4j,w,t);4Y b.1ky.1hW;b.1ky.1hW=1p 0;m={1Vb:t,1vC:3qJ,2Mv:b.1ky.2yk,2Mu:b.1ky.2eM,2g9:b.1ky.1U5,1Va:b.1ky.10V,1V9:b.1ky.10o,2Mt:b.1ky.1Qj,id:m,4B2:b.1ky.5GT,4B1:b.1ky.5GU,3qI:d};c.1ad=m}1s"2oD"===b.1gd&&(a.1JS?(d=a.3qI,m=b.4j.7R+"10D"+b.id+"10D"+c.1fF,t=Cc.1qT.11U,g(b.6J)&&b.6J.1x7===Cc.1qT.10U&&(t=Cc.1qT.10U),3qJ===a.1JS.1vC&&g(b.6J)&&(t===Cc.1qT.10U?1F===Ts?fJ(a.1JS.1tV,b.6J):a.1JS.1tV=eJ(a.1JS.1tV,b.6J):gJ(a.1JS.1tV,b.6J)),t=Rc.4CH(m,h,b.4j,a.1JS,t),m={1Vb:t,1vC:a.1JS.1vC,2Mv:a.1JS.2Mv,2Mu:a.1JS.2Mu,2g9:a.1JS.2g9,1Va:a.1JS.1Va,1V9:a.1JS.1V9,2Mt:a.1JS.2Mt,id:m,4B2:b.2A3,4B1:b.2A4,3qI:d},4Y a.1JS.1tV,a.1JS.1tV=1F,g(c.1ad)&&Rc.4CG(c.1ad.id),c.1ad=m):b.35l&&(m=c.1ad,g(m)&&(d=c.1ad.3qI)));1d q=Io(l,"3rb",p),z=vq(q,"5gD",p);w=b.1dI;if(0<z.1h){1j(1d x=0;x<z.1h;x++){1d r=1g Ck,u=z[x],v=kn(u,"7Ok",p);v?v=v.3X(/.2zY$/,"").3X(/.1j4$/,""):c.1MO=!0;1d y=kn(u,"5gn",p),D=re(u,"7Oj",p),B=Io(u,"3L9",p),G=re(B,"x",p),C=re(B,"y",p),E=re(B,"z",p);B=re(B,"3L",p);G=1g k(G,C,E);r.2Mz="2oO"==y?Ak.2oO:Ak.35Q;r.1Qn=v;0===r.1Qn.3f("7Oi")&&(r.3W8=1);r.2Ap=D;r.5V=1g P(G,B);P.5o(r.5V,b.1dI,r.5V);G=vq(u,"2MN",p);u=[];1j(y=0;y<G.1h;y++){E=G[y];D=kn(E,"2MM",p).7g(",");1j(C=0;16>C;C++)D[C]=7L(D[C]);C=A.9b(w,D,1g A);1j(1d K=vq(E,"2ML"),aa=0;aa<K.1h;aa++){B=K[aa].8S.1b2();1d ka=a.1oF[B];E=ka.1dM;if(!(1>E.1f0)){1d F=ka.1lu,oa=ka.1Qu,H={};1j(y=0;y<F.1h;y++){1d L=F[y];if(g(L)){L=L.1FJ;1d I=n[L],J=1g fe({});g(I)&&I.1y(J);H[L]=J;"12H"!==b.1gd&&"21U"!==b.1gd||!g(I.2AE)||(t=c.1yR[I.2AE])}}m&&(cT(E,C,d),Rc.2Mq(c.1fF));L=r.5V;0>r.5V.3L&&(L=Rj.35P(b,E,C),u.1q(L));B={1O:b.4j,1dM:E,1lu:F,2oN:ka.2oN,1Qu:oa,9G:a.9G,1Qt:H,7r:b,2gi:C,6W:L,2oM:m,1Vb:t,1Br:b.11m,35O:D,6b:b.1hr,1sA:e,1Mv:f,35N:B};g(b.28k)&&g(b.28k.1iw)?(E=Uv.35M(B,b),r.12a=r.12a.9V(E)):(E=H$(b,E,C),B=1g Qa(B),B.1MP=E,r.12a.1q(B))}}}0>r.5V.3L&&(r.5V=P.1zi(u,1g P));g(c.2oG[v])?(c.2oG[v].12a=r.12a,c.2oG[v].4y=!0):(c.15I.1q(r),b.2Ah===Xt.3qF&&(r.1Qo=!0))}G=vq(q,"2MN",p);if(0<G.1h){u=[];r=1g Ck;r.1Qo=!0;1j(y=0;y<G.1h;y++){E=G[y];D=kn(E,"2MM",p).7g(",");1j(C=0;16>C;C++)D[C]=7L(D[C]);C=A.9b(w,D,1g A);q=vq(E,"2ML",p);1j(z=0;z<q.1h;z++)if(B=q[z].8S.1b2(),ka=a.1oF[B],E=ka.1dM,!(1>E.1f0)){oa=ka.1Qu;v=Rj.35P(b,E,C);u.1q(v);K=Rj.3ra(b,E);F=ka.1lu;H={};1j(1d Ub in F)L=F[Ub],g(L)&&(L=L.1FJ,I=n[L],J=1g fe({}),g(I)&&I.1y(J),H[L]=J,"12H"!==b.1gd&&"21U"!==b.1gd||!g(I.2AE)||(t=c.1yR[I.2AE]));m&&(cT(E,C,d),Rc.2Mq(c.1fF));B={1O:b.4j,1dM:E,1lu:F,2oN:ka.2oN,1Qu:oa,9G:a.9G,1Qt:H,7r:b,2gi:C,6W:v,22a:K,2oM:m,1Vb:t,1Br:b.11m,35O:D,6b:b.1hr,1sA:e,1Mv:f,35N:B};g(b.28k)?(E=Uv.35M(B,b),r.12a=r.12a.9V(E)):(B=1g Qa(B),r.12a.1q(B))}}r.5V=P.1zi(u,1g P);r.4y=!0;c.15I.1q(r)}}1s{c.1MO=!0;r=1g Ck;Ub=vq(q,"2MN");u=[];1j(x=0;x<Ub.1h;x++){E=Ub[x];D=kn(E,"2MM",p).7g(",");1j(C=0;16>C;C++)D[C]=7L(D[C]);C=A.9b(w,D,1g A);q=vq(E,"2ML",p);1j(z=0;z<q.1h;z++)if(B=q[z].8S.1b2(),ka=a.1oF[B],E=ka.1dM,!(1>E.1f0)){oa=ka.1Qu;v=Rj.35P(b,E,C);u.1q(v);K=Rj.3ra(b,E);F=ka.1lu;H={};1j(y=0;y<F.1h;y++)L=F[y],g(L)&&(L=L.1FJ,I=n[L],J=1g fe({}),g(I)&&I.1y(J),H[L]=J,"12H"!==b.1gd&&"21U"!==b.1gd||!g(I.2AE)||(t=c.1yR[I.2AE]));m&&(cT(E,C,d),Rc.2Mq(c.1fF));B={1O:b.4j,1dM:E,1lu:F,2oN:ka.2oN,1Qu:oa,9G:a.9G,1Qt:H,7r:b,2gi:C,6W:v,22a:K,2oM:m,1Vb:t,1Br:b.11m,35O:D,6b:b.1hr,1sA:e,1Mv:f,35N:B};g(b.28k)&&g(b.28k.1iw)?(E=Uv.35M(B,b),r.12a=r.12a.9V(E)):(E=H$(b,E,C),B=1g Qa(B),B.1MP=E,r.12a.1q(B))}}r.5V=P.1zi(u,1g P);r.4y=!0;c.15I.1q(r)}if(!g(c.5V)||c.1MO){d=[];1j(Ub=0;Ub<c.15I.1h;Ub++)d.1q(c.15I[Ub].5V);c.5V=P.1zi(d);c.2Aq=P.1y(c.5V)}k.2L(b.1Qk,k.6h)||c.3WX(1k.1V(1k.abs(b.1Qk.x),1k.abs(b.1Qk.y),1k.abs(b.1Qk.z)));1j(1d M in n)d=n[M],g(d)&&(d.1M(),n[M]=1F);m&&Rc.4CG(c.1fF);c.4y=!0;c.1dL=Mb.2oB;c.4B0=!0;b.2Ah===Xt.3qF&&c.3qD&&c.5Ku(!1)})}};Dk.2g7=1b(a,b,c,d){if(b.3Z())c=1F,b.1dL=Mb.2dF;1s{1d e={3J:c,1V0:a.1gI,28i:a.2Ag,2A2:!1,3WY:a.3UX()};c=[c];g(d)&&"2oD"===a.1gd&&(e.2A2=!0,e.5KF=d,c.1q(d));e=sd.3r9.1fa(e,c);g(e)&&(b.1dL=Mb.21L,a.15V.15Y.2Mx=0,a.15V.15Y.1zo++,b.1Qp=1F,b.21T=1F,e.4b(1b(c){if(g(7O.2Ae)){1d e=b.1hX.5s()+b.1fF;if((!0===a.17F.2Af||a.17F.2Ma&&a.15V.4B6(e))&&g(a.15V.12Y)){if(g(a.15V.12Y.1qW)&&g(a.15V.12Y.1qW[a.15V.13Y])&&(1===a.15V.12Y.1qW[a.15V.13Y][e]||2===a.15V.12Y.1qW[a.15V.13Y][e]))1f;sd.4CF.1fa({1i3:c,10t:e,13Y:a.15V.13Y,1sG:a.15V.12Y.1sG},[])}}a.15V.15Y.1zo--;Dk.35y(c,a,b,d)}).10g(1b(c){a.15V.15Y.1zo--;b.1dL=Mb.2dF;7O.11l.7k(c)}))}};1d Od;dT.7Oh=1b(a,b,c,d,e){Od=a;a=1g Od.5KC;1j(1d f=["1nz","1zp","1FC"],h=0;h<f.1h;++h)a.5KB(Od[f[h]]);f=1g Od.5KA;f.5Kz(b,c);if(a.5Ky(f)!==Od.5KD)1t 1g qa("5KE 3y 1I 2Q be 5KD.");b=1g Od.5gx;c=a.7Og(f,b);if(!c.ok()||0===b.1bV)1t 1g qa("6u 4CE 3r8 7v 3j1: "+c.5Kx());Od.1M(f);I$(b,a,d,e);Od.1M(b);Od.1M(a)};dT.7Of=1b(a,b,c,d,e,f){Od=a;a=1g Od.5KC;1j(1d h=["1nz","1zp","1FC","7Oe"],g=0;g<h.1h;++g)a.5KB(Od[h[g]]);h=1g Od.5KA;h.5Kz(b,c);if(a.5Ky(h)!==Od.7Od)1t 1g qa("1Mp 3r8 13q 3y 1I.");b=1g Od.7Oc;c=a.7Ob(h,b);if(!c.ok()||0===b.1bV)1t 1g qa("6u 4CE 3r8 13q 3y: "+c.5Kx());Od.1M(h);I$(b,a,d,f);h=b.5Kw();c=b.7Oa();d=1g Od.5Kv;f=3*c;h=Ta.9g(h,f);1j(1d k=g=0;k<c;++k)a.7O9(b,k,d),h[g+0]=d.3r7(0),h[g+1]=d.3r7(1),h[g+2]=d.3r7(2),g+=3;c=Ta.10P;h 2m 12X&&(c=Ta.1bt);Od.1M(d);e.1m2=h;e.1Jn=f;e.1IY=c;e.6Z=Ja.11G;Od.1M(b);Od.1M(a)};Ek.1i.4AW=1b(){1j(1d a=1a.35L,b=0;b<1a.15I.1h;b++)1j(1d c=0;c<1a.15I[b].12a.1h;c++)a+=1a.15I[b].12a[c].1qV;1f a};Ek.1i.5Ku=1b(a){1j(1d b=[1a];b.1h;){1d c=b.9l();c.3qD=a;1j(1d d=0,e=c.15I.1h;d<e;d++){1d f=c.15I[d];g(f.11d)&&f.11d.3qD&&b.1q(f.11d)}}};Ek.1i.5Kt=1b(a){1j(1d b=0,c=1a.15I.1h;b<c;b++){1d d=1a.15I[b];a(d);d.11d&&(d.11d.1dL===Mb.1gu||d.11d.1dL===Mb.2Mw?d.11d.1dL=Mb.2dF:d.11d.5Kt(a))}};Ek.1i.2Mm=1b(){1j(1d a=0,b=1a.15I.1h;a<b;a++)1a.15I[a].2Mm();1a.4y=!1;1a.1dL=Mb.1he;1a.1JP=1p 0};Ek.1i.3Z=1b(){1f!1};Ek.1i.1M=1b(a){if(1a.1dL===Mb.1gu||1a.1dL===Mb.2Mw)1a.1dL=Mb.1he;1j(1d b=0,c=1a.15I.1h;b<c;b++)1a.15I[b]=1a.15I[b]&&!1a.15I[b].3Z()&&1a.15I[b].1M(a);1a.15I.1h=0;1a.4y=!1;1a.1dL=Mb.1he;1a.21R=1a.3W7=0;1a.1JP=1a.3qL=1a.21T=1a.1Qp=1F;1a.35K=1a.2oL=1a.2My=1p 0;g(1a.1ad)&&Rc.4CD(1a.1ad.id);1a.1ad=1F;g(1a.2oK)&&1a.2oK.1M();1a.2oK=1F;1j(1d d in 1a.1yR)1a.1yR.3p(d)&&(a=1a.1yR[d],g(a)&&a.1M());1a.1yR={}};Ek.1i.5ID=1b(a){if(!g(a.1Bt))1f!0;a=!0;1j(1d b=1a.15I.1h,c=0;c<b;c++)1j(1d d=1a.15I[c].12a,e=d.1h,f=0;f<e;f++){1d h=d[f].1MP;if(g(h))1j(1d l=h.1h,k=0;k<l;k++)h[k]2m NX?h[k].4F!==Sb.1xf&&h[k].4F!==Sb.1cY&&h[k].4F!==Sb.12D&&(a=!1):h[k].4F<Sb.3r6&&(a=!1)}1f a};Ek.1i.3WX=1b(a){a*=1.5;1a.5V.3L=1a.2Aq.3L+a;1j(1d b=0,c=1a.15I.1h;b<c;b++){1d d=1a.15I[b];d.5V.3L=1a.2Aq.3L+a;1j(1d e=0;e<d.12a.1h;e++){1d f=d.12a[e];f.11S.3L=1a.2Aq.3L+a;g(f.6g)&&(f.6g.11S.3L=1a.2Aq.3L+a)}}};Ek.1i.3qC=1b(a,b){if(g(a.1Bt)){a=1a.15I.1h;1j(1d c=0;c<a;c++)1j(1d d=1a.15I[c].12a,e=d.1h,f=0;f<e;f++){1d h=d[f].1MP;if(g(h))1j(1d l=h.1h,k=0;k<l;k++)h[k].1UA(b,!1)}}};if("7w"!==2h 1zn){1d mb=1b(a){if(X.3WW)X.3WW(a);a=1p 0!==a?\'"\'+a+\'"\':"";lY=!0;1d b="28m("+a+") at "+$Sa();4Bb&&4Bb.12I(1b(c){b=c(b,a)});1t b;},mY=1b(a){1b b(){if(!X.2ga&&(X.2ga=!0,!lY)){YM();Yd||(Yd=!0,ZM(5JI));YM();ZM(5JH);if(X.3r5)X.3r5();kb(!X.7O8,\'5JP 3OZ a 2k, 19T 1bS is 5r5. if 18g 2mm it 19f JS, 14W 1LD["3r5"]\');YM();if(X.1Qr)1j("1b"==2h X.1Qr&&(X.1Qr=[X.1Qr]);X.1Qr.1h;)4Co.1po(X.1Qr.1hN());ZM(4Co)}}if(!(0<Sw)){kb(!0);Tw[4Cy]=5Kh;Tw[4Cz]=5Kg;if(X.1Qs)1j("1b"==2h X.1Qs&&(X.1Qs=[X.1Qs]);X.1Qs.1h;)4Cp.1po(X.1Qs.1hN());ZM(4Cp);0<Sw||X.2ga||(X.35J?(X.35J("5Ks..."),1if(1b(){1if(1b(){X.35J("")},1);b()},1)):b(),YM())}},$M=1b(a){1a.2i="5Kr";1a.19s="2MK 5Kq 10M 3qY("+a+")";1a.1hM=a},4C8=1b(a){a=nY(a,12v);1d b=Di.10S;10G{1f-1!==aN.3Ww((a-b)/12v)?(Di=aN.3J,!0):!1}11B(c){1f 11l.7A("5Jm: 4Cd to 3Ww 19f "+b+" 1tC to "+a+" 1tC, 19T 5Kp 7A: "+c),!1}},4Cc=1b(){1f Uw.1h},5Jw=1b(a){1b b(a,b){X.asm=a.1cr;Sw--;X.2AD&&X.2AD(Sw);kb(bN["1JQ-3r4"]);4Y bN["1JQ-3r4"];0==Sw&&(1F!==Vw&&(3kZ(Vw),Vw=1F),BF&&(a=BF,BF=1F,a()))}1b c(a){kb(X===f,"1Z 1LD 2c 1tD 2S be 7O7 4pV 3r3 7O6 - 7O5 1Z 1HC of 7O4 26L is 5Ko?");f=1F;b(a.1bX)}1b d(a){1f 5Kl().4b(1b(a){1f 1zn.3r4(a,e)}).4b(a,1b(a){})}1d e={5Kn:a,1ii:{1hO:1hO,12g:12g},"1ii.1k":1k,5Km:5JO};5Ki("1JQ-3r4");1d f=X;if(X.3WV)10G{1f X.3WV(e,b)}11B(h){1f!1}(1b(){if(X.28r||"1b"!==2h 1zn.3WU||4Cj(bu)||"1b"!==2h 1zb)1f d(c);1zb(bu,{35I:"1ik-9X"}).4b(1b(a){1f 1zn.3WU(a,e).4b(c,1b(a){d(c)})})})();1f{}},5Kl=1b(){1f X.28r||!CF&&!Ww||"1b"!==2h 1zb?1g 2xD(1b(a,b){a(4CC())}):1zb(bu,{35I:"1ik-9X"}).4b(1b(a){if(!a.ok)1t"1bf to 1e4 1JQ 2gf 1ol at \'"+bu+"\'";1f a.15U()}).11B(1b(){1f 4CC()})},4CC=1b(){10G{if(X.28r)1f 1g 4L(X.28r);if(X.2gd)1f X.2gd(bu);1t"1oE 3r3 and 5Kk 5Kj of 1Z 1JQ 1bf";}11B(a){mb(a)}},4Cj=1b(a){1f 10J.1i.3WT?a.3WT("2g:1aM/2MJ-2gh;1G3,"):0===a.3f("2g:1aM/2MJ-2gh;1G3,")},5Ki=1b(a){Sw++;X.2AD&&X.2AD(Sw);a&&(kb(!bN[a]),bN[a]=1,1F===Vw&&"7w"!==2h 2II&&(Vw=2II(1b(){lY&&(3kZ(Vw),Vw=1F)},1E4)))},ZM=1b(a){1j(;0<a.1h;){1d b=a.1hN();if("1b"==2h b)b();1s{1d c=b.14R;"2b"===2h c?1p 0===b.arg?X.4CB(c):X.4CA(c,b.arg):c(1p 0===b.arg?1F:b.arg)}}},YM=1b(){5Kh==Tw[4Cy]&&5Kg==Tw[4Cz]||mb("4Ce 1Tn! 4Ce 2MI 14d 26N 7O3, 1SV 7O2 7O1 7O0 and 7NZ, 19T 7NY 3r0"+Tw[4Cz].5s(16)+" "+Tw[4Cy].5s(16));5JK!==ip[0]&&mb("5JJ 7A: 9B 1aM 14d 7NX 2aT 3qR 2Aw 207 (2gg 16m)!")},4C9=1b(){X.5Kf=Uw=1g 1G4(Di);X.5Ke=oY=1g 1FS(Di);X.5Kd=ip=1g 1fZ(Di);X.2MH=pr=1g 4L(Di);X.5Kc=1g 10Y(Di);X.5Kb=Tw=1g 12X(Di);X.3r2=4C3=1g 4A(Di);X.5Ka=4C1=1g 13X(Di)},nY=1b(a,b){0<a%b&&(a+=b-a%b);1f a},$Sa=1b(){a:{1d a=6u();if(!a.1fi){10G{1t 6u(0);}11B(b){a=b}if(!a.1fi){a="(no 1fi 7NW 1IZ)";1W a}}a=a.1fi.5s()}X.5K9&&(a+="\\n"+X.5K9());1f 5K8(a)},5K8=1b(a){1f a.3X(/7NV[\\w\\3r1]+/g,1b(a){1f a===a?a:a+" ["+a+"]"})},pY=1b(a,b,c){1d d=b+c;1j(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.1hl&&4Cq)1f 4Cq.1AM(a.1hl(b,c));1j(d="";b<c;){1d e=a[b++];if(e&128){1d f=a[b++]&63;if(192==(e&224))d+=10J.1gx((e&31)<<6|f);1s{1d h=a[b++]&63;224==(e&240)?e=(e&15)<<12|f<<6|h:(240!=(e&248)&&Xw("13H 4Cu-8 4Cx 1Hz 3r0"+e.5s(16)+" 5K6 16r 7NU a 4Cu-8 4n on 1Z asm.js/1JQ 3qR to a JS 4n!"),e=(e&7)<<18|f<<12|h<<6|a[b++]&63);12v>e?d+=10J.1gx(e):(e-=12v,d+=10J.1gx(1v4|e>>10,1AV|e&1yG))}}1s d+=10J.1gx(e)}1f d},4C4=1b(a,b,c,d,e){e={4n:1b(a){1d b=0;if(1F!==a&&1p 0!==a&&0!==a){1d c=(a.1h<<2)+1,d=b=qY(c);kb("2b"==2h c,"3Wo(1F6, 7NT, 7NS) is 4Cw 1Z 5K7 2eu 17m 4xY 1Z 1h of 1Z 1jU 3J!");1d e=pr;if(0<c){c=d+c-1;1j(1d f=0;f<a.1h;++f){1d h=a.19a(f);if(1v4<=h&&2Ja>=h){1d g=a.19a(++f);h=12v+((h&1yG)<<10)|g&1yG}if(127>=h){if(d>=c)1W;e[d++]=h}1s{if(3lx>=h){if(d+1>=c)1W;e[d++]=192|h>>6}1s{if(1a6>=h){if(d+2>=c)1W;e[d++]=224|h>>12}1s{if(d+3>=c)1W;3WS<=h&&Xw("13H 4Cv 16A 7v 3r0"+h.5s(16)+" 5K6 16r 7NR a JS 4n to an 4Cu-8 4n on 1Z asm.js/1JQ 3qR! (3qZ 5K5 16A 5I 1tD be in 11D 0-7NQ).");e[d++]=240|h>>18;e[d++]=128|h>>12&63}e[d++]=128|h>>6&63}e[d++]=128|h&63}}e[d]=0}}1f b},4x:1b(a){1d b=qY(a.1h);kb(0<=a.1h,"3Wn 4x 2Q 118 a 1h (1tD be an 4x or 3WK 4x)");Uw.1C(a,b);1f b}};1d f=5K4(a),h=[];a=0;kb("4x"!==b,\'7NP 1I 1tD 2S be "4x".\');if(d)1j(1d g=0;g<d.1h;g++){1d k=e[c[g]];k?(0===a&&(a=rY()),h[g]=k(d[g])):h[g]=d[g]}c=f.6c(1F,h);c=1b(a){1f"4n"===b?a?pY(pr,a,1p 0):"":"11T"===b?!!a:a}(c);0!==a&&4C7(a);1f c},5K4=1b(a){1d b=X["10D"+a];kb(b,"1e6 4G 1G7 1b "+a+", 35H 3WR it is 15J");1f b},kb=1b(a,b){a||mb("5K3 1bf: "+b)},Xw=1b(a){Xw.3WQ||(Xw.3WQ={});Xw.3WQ[a]||(Xw.3WQ[a]=1)},5JA=1b(a){1f X.2AB?X.2AB(a,qr):qr+a},X="7w"!==2h X?X:{},DF={},cu;1j(cu in X)X.3p(cu)&&(DF[cu]=X[cu]);X.5m=[];X.3WP="./1a.1bb";X.2ge=1b(a,b){1t b;};X.1Qs=[];X.1Qr=[];1d CF=!1,Ww=!1,sY=!1,5K2=!1,4Cs=!1;CF="2c"===2h 7O;Ww="1b"===2h 4Ct;sY=(5K2="2c"===2h 1pt&&"1b"===2h 1v7)&&!CF&&!Ww;4Cs=!CF&&!sY&&!Ww;if(X.2MF)1t 6u("1LD.2MF 14d 26N 2l9. To 5JD 1Z 5JU, 14W 1Z 2MF 2gb-6q 1PC (1j 7NO, -s 2MF=2MG or -s 2MF=17t)");1d qr="";if(sY){qr=5K1+"/";1d tY,uY;X.1dD=1b(a,b){tY||(tY=1v7("fs"));uY||(uY=1v7("9w"));a=uY.1T(a);a=tY.5K0(a);1f b?a:a.5s()};X.2gd=1b(a){a=X.1dD(a,!0);a.3J||(a=1g 4L(a));kb(a.3J);1f a};1<1pt.35G.1h&&(X.3WP=1pt.35G[1].3X(/\\\\/g,"/"));X.5m=1pt.35G.4h(2);"7w"!==2h 2eH&&(2eH.1cr=X);1pt.on("5JZ",1b(a){if(!(a 2m $M))1t a;});1pt.on("5JY",mb);X.2ge=1b(a){1pt.3qY(a)};X.4ri=1b(){1f"[5JX 1LD 2c]"}}1s if(4Cs)"7w"!=2h 1dD&&(X.1dD=1b(a){1f 1dD(a)}),X.2gd=1b(a){if("1b"===2h 3WO)1f 1g 4L(3WO(a));a=1dD(a,"2gf");kb("2c"===2h a);1f a},"7w"!=2h 3WN?X.5m=3WN:"7w"!=2h 5m&&(X.5m=5m),"1b"===2h 2ge&&(X.2ge=1b(a){2ge(a)});1s if(CF||Ww)Ww?qr=1KQ.17J.17S:3n.3WM&&(qr=3n.3WM.1bv),qr=0!==qr.3f("1i3:")?qr.13c(0,qr.1sl("/")+1):"",X.1dD=1b(a){1d b=1g 1J3;b.1pj("1Tq",a,!1);b.26m(1F);1f b.2ME},Ww&&(X.2gd=1b(a){1d b=1g 1J3;b.1pj("1Tq",a,!1);b.1f8="2AC";b.26m(1F);1f 1g 4L(b.1pa)}),X.5JW=1b(a,b,c){1d d=1g 1J3;d.1pj("1Tq",a,!0);d.1f8="2AC";d.1w2=1b(){200==d.1hM||0==d.1hM&&d.1pa?b(d.1pa):c()};d.1ra=c;d.26m(1F)},X.5JV=1b(a){3n.17s=a};1s 1t 6u("5JU 7NN 7A");1d 4Cg=X.2oI||("7w"!==2h 11l?11l.7k.7X(11l):"7w"!==2h 2oI?2oI:1F),gl=X.2oH||("7w"!==2h 2oH?2oH:"7w"!==2h 11l&&11l.2ep.7X(11l)||4Cg);1j(cu in DF)DF.3p(cu)&&(X[cu]=DF[cu]);DF=1p 0;kb("7w"===2h X.5JT,"1LD.5JT 1PC 9x 1JR, 14W 1LD.2AB 1gK");kb("7w"===2h X.5JS,"1LD.5JS 1PC 9x 1JR, 14W 1LD.2AB 1gK");kb("7w"===2h X.5JR,"1LD.5JR 1PC 9x 1JR, 14W 1LD.2AB 1gK");kb("7w"===2h X.5JQ,"1LD.5JQ 1PC 9x 1JR, 14W 1LD.2AB 1gK");rY=4C7=qY=1b(){mb("1il 14W 1Z 1fi 8w 5JP 16A is 3o to 3Wi, and 14d 20i 1fi 2MD")};1d 5JO={"5JN-5JM":1b(a,b){1f a%b},"3WL":1b(){3WL}},4Cf=0;"2c"!==2h 1zn&&mb("No 1zn 19G 1ji. 3qT 10M -s 7NM=0 to 15s 4Cr 1gK.");1d lY=!1,4Cq="7w"!==2h 21W?1g 21W("2AA"):1p 0;"7w"!==2h 21W&&1g 21W("35C-5JL");1d Uw,pr,oY,ip,Tw,4C3,4C1;kb(!0,"1fi 2Q 4I 1T6");kb(!0,"3qR 2Q 4I 1T6");X.35F&&kb(2wO===X.35F,"1Z 1fi 4V 1ag no 3Pp be 7NL at 17a");1d du=X.3qQ||1C6;2wO>du&&gl("3qQ 1tD be 3qX 6L 35F, 9x "+du+"! (35F=2wO)");kb("7w"!==2h 1fZ&&"7w"!==2h 13X&&1p 0!==1fZ.1i.1hl&&1p 0!==1fZ.1i.1C,"JS 3lJ 18f 2S 3qW 3qV 3WK 4x 19G");if(X.3J){1d Di=X.3J;kb(Di.10S===du,"20i 3J 1tD be "+du+" 1tC, 19T it is "+Di.10S)}1s{if("2c"===2h 1zn&&"1b"===2h 1zn.2gc){kb(0===du%12v);1d aN=1g 1zn.2gc({3WH:du/12v});Di=aN.3J}1s Di=1g 1aq(du);kb(Di.10S===du)}4C9();ip[7NK]=5Jv;ip[0]=5JK;oY[1]=7NJ;if(115!==pr[2]||99!==pr[3])1t"5JJ 7A: 1SV 1Z 3Ow to be 7NI-5pU!";1d 4Cp=[],5JI=[],5JH=[],4Co=[],Yd=!1;kb(1k.4Cn,"18m 1Ve 18f 2S 19G 1k.4Cn(), 1x4 10M 3WJ or 3WI to add in a 1iE");kb(1k.4Cm,"18m 1Ve 18f 2S 19G 1k.4Cm(), 1x4 10M 3WJ or 3WI to add in a 1iE");kb(1k.4Cl,"18m 1Ve 18f 2S 19G 1k.4Cl(), 1x4 10M 3WJ or 3WI to add in a 1iE");kb(1k.4Ck,"18m 1Ve 18f 2S 19G 1k.4Ck(), 1x4 10M 3WJ or 3WI to add in a 1iE");1d Sw=0,Vw=1F,BF=1F,bN={};X.5JG={};X.5JF={};1d yh={7A:1b(){mb("7NH 19G (FS) 9x 2S 5JE. 9B 7NG is 17m 18g are 1nl 24u 19f JS, 19T 24u 7NF 2S 1rd 19f C/C++, so 1Vd 19G 9x 2S 1sg-5JE. 2mr 1ag 5JD-2cK 1Vd 19G 10M  -s 21Y=1")},11K:1b(){yh.7A()},5JC:1b(){yh.7A()},5JB:1b(){yh.7A()},7NE:1b(){yh.7A()},1pj:1b(){yh.7A()},7ND:1b(){yh.7A()},7NC:1b(){yh.7A()},7NB:1b(){yh.7A()},7NA:1b(){yh.7A()},3Wy:1b(){yh.7A()}};X.3Wm=yh.5JC;X.3Wl=yh.5JB;1d bu="1Qq/2SI.1JQ";4Cj(bu)||(bu=5JA(bu));X.asm=1b(a,b,c){b.2Aw=aN;b.1j9=1g 1zn.4Ci({3WH:22,14S:22,1ij:"5Jz"});b.5Jy=13j;b.5Jx=0;a=5Jw(b);kb(a,"7Nz 4Ch 1bf (no 1JQ 19G?)");1f a};kb(!0);1d ef={1ds:[1F,[],[]],3Wu:1b(a,b){1d c=ef.1ds[a];kb(c);0===b||10===b?((1===a?4Cg:gl)(pY(c,0)),c.1h=0):c.1q(b)},2MB:0,1n:1b(a){ef.2MB+=4;1f ip[ef.2MB-4>>2]},7Ny:1b(){1d a=ef.1n();1f a?pY(pr,a,1p 0):""},7Nx:1b(){1d a=ef.1n(),b=ef.1n();0<=a?kb(0===b):kb(-1===b);1f a},7Nw:1b(){kb(0===ef.1n())}},Ye=X.asm({},{28m:mb,3Wj:1b(a){4Cf=a},3Wk:1b(){1f 4Cf},7Nv:1b(a){mb("4Ce 1Tn! 4Cd to 3Wp "+a+" 1tC on 1Z 1fi, 19T 1fi 14d 1cF "+(5Jv-rY()+a)+" 1tC 1IZ!")},7Nu:1b(a){gl("13H 1b 229 7I 10M 3WG \'ii\'. 3lY 1a is an 16w 1Q (e.g. 3qU by 1Jf a 3lU 1tq on a 3qP 229)? Or 1Jf a 1b 10M an 2Az 1I, 1nN 1B4 15w? (it is 3WF 3WE 1DE 5j 24u 10M -3WD (2Ay are 28q), as 2Ay 1ag 2MC 7w 3WC 1nN 1ag 3WB 1a)");gl("3qT 10M 3WA=2 1j 1v5 2Ax.");mb(a)},7Nt:1b(a){gl("13H 1b 229 7I 10M 3WG \'7Ns\'. 3lY 1a is an 16w 1Q (e.g. 3qU by 1Jf a 3lU 1tq on a 3qP 229)? Or 1Jf a 1b 10M an 2Az 1I, 1nN 1B4 15w? (it is 3WF 3WE 1DE 5j 24u 10M -3WD (2Ay are 28q), as 2Ay 1ag 2MC 7w 3WC 1nN 1ag 3WB 1a)");gl("3qT 10M 3WA=2 1j 1v5 2Ax.");mb(a)},7Nr:1b(a){gl("13H 1b 229 7I 10M 3WG \'7Nq\'. 3lY 1a is an 16w 1Q (e.g. 3qU by 1Jf a 3lU 1tq on a 3qP 229)? Or 1Jf a 1b 10M an 2Az 1I, 1nN 1B4 15w? (it is 3WF 3WE 1DE 5j 24u 10M -3WD (2Ay are 28q), as 2Ay 1ag 2MC 7w 3WC 1nN 1ag 3WB 1a)");gl("3qT 10M 3WA=2 1j 1v5 2Ax.");mb(a)},7Np:1b(a){gl("13H 1b 229 7I 10M 3WG \'7No\'. 3lY 1a is an 16w 1Q (e.g. 3qU by 1Jf a 3lU 1tq on a 3qP 229)? Or 1Jf a 1b 10M an 2Az 1I, 1nN 1B4 15w? (it is 3WF 3WE 1DE 5j 24u 10M -3WD (2Ay are 28q), as 2Ay 1ag 2MC 7w 3WC 1nN 1ag 3WB 1a)");gl("3qT 10M 3WA=2 1j 1v5 2Ax.");mb(a)},7Nn:1b(){},7Nm:1b(a){X.2oJ?ip[X.2oJ()>>2]=a:gl("1bf to 1C 3Wx 19f JS");1f a},7Nl:1b(a,b){ef.2MB=b;10G{1f ef.5Ju(),ef.1n(),ef.1n(),ef.1n(),ef.1n(),mb("it 1tD 2S be 3Wz to 5Jt on 5Js 16r !5Jr"),0}11B(c){1f"7w"!==2h yh&&c 2m yh.3Wy||mb(c),-c.3Wx}},7Nk:1b(a,b){ef.2MB=b;10G{1d c=ef.1n(),d=ef.1n(),e=ef.1n();1j(b=a=0;b<e;b++){1j(1d f=ip[d+8*b>>2],h=ip[d+(8*b+4)>>2],g=0;g<h;g++)ef.3Wu(c,pr[f+g]);a+=h}1f a}11B(p){1f"7w"!==2h yh&&p 2m yh.3Wy||mb(p),-p.3Wx}},7Nj:1b(a,b){ef.2MB=b;1f 0},7Ni:1b(a,b){ef.2MB=b;10G{1f ef.5Ju(),mb("it 1tD 2S be 3Wz to 5Jt on 5Js 16r !5Jr"),0}11B(c){1f"7w"!==2h yh&&c 2m yh.3Wy||mb(c),-c.3Wx}},7Nh:1b(){},7Ng:4Cc,7Nf:1b(a,b,c){pr.1C(pr.1hl(b,b+c),a)},7Ne:1b(a){1d b=4Cc();kb(a>b);if(3qS<a)1f gl("1e6 5Jp 2Aw, 7Nd to go up to "+a+" 1tC, 19T 1Z 1C4 is 3qS 1tC!"),!1;1j(1d c=1k.1V(b,1C6);c<a;)c=5Jq>=c?nY(2*c,12v):1k.2o(nY((3*c+2Jd)/4,12v),3qS),c===b&&Xw("1e6 ask 1j 1v5 2Aw 1WY we 7Nc 1Z 7Nb 1C4 in 5rP (1nN is 7Na 4Cb 2GB), so 1Z 7M 7N9 118 1bf. 7N8 1cF "+Uw.1h);if(!4C8(c))1f gl("21Z to 3Ww 1Z 3qR 19f "+b+" 1tC to "+c+" 1tC, 2S 4Ca 2Aw!"),!1;4C9();1f!0},7N7:1b(a){mb("1e6 5Jp 2Aw 3Wv to 4V "+a+" 1tC (5Jo). 2Av (1) 2gb 10M  -s 3qQ=X  10M X 5Jn 6L 1Z 11L 1Q "+Uw.1h+", (2) 2gb 10M  -s 7N6=1  1nN 7N5 7N4 1Z 4V at 17a, or (3) if 18g 3P1 7N3 to 1f 3qP (0) 1gK of 1a 28m, 2gb 10M  -s 7N2=0 ")},5Jm:4C8,7N1:1b(){1d a=X.3qO;a&&a(0);a=ef.1ds;a[1].1h&&ef.3Wu(1,10);a[2].1h&&ef.3Wu(2,10)},7N0:7MZ,7MY:7MX},Di),5Jl=Ye.2oJ;Ye.2oJ=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Jl.6c(1F,5m)};1d 5Jk=Ye.3qO;Ye.3qO=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Jk.6c(1F,5m)};1d 5Jj=Ye.2Au;Ye.2Au=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Jj.6c(1F,5m)};1d 5Ji=Ye.3Wt;Ye.3Wt=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Ji.6c(1F,5m)};1d 5Jh=Ye.3Ws;Ye.3Ws=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Jh.6c(1F,5m)};1d 5Jg=Ye.28p;Ye.28p=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Jg.6c(1F,5m)};1d 5Jf=Ye.3Wr;Ye.3Wr=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Jf.6c(1F,5m)};1d 5Je=Ye.3Wq;Ye.3Wq=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Je.6c(1F,5m)};1d 5Jd=Ye.2MA;Ye.2MA=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Jd.6c(1F,5m)};1d 5Jc=Ye.2Ar;Ye.2Ar=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Jc.6c(1F,5m)};1d 5Jb=Ye.2As;Ye.2As=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Jb.6c(1F,5m)};1d 5Ja=Ye.2At;Ye.2At=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f 5Ja.6c(1F,5m)};X.asm=Ye;X.2oJ=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.2oJ.6c(1F,5m)};X.5J9=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.5J9.6c(1F,5m)};X.3qO=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.3qO.6c(1F,5m)};X.2Au=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.2Au.6c(1F,5m)};X.3Wt=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.3Wt.6c(1F,5m)};X.3Ws=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.3Ws.6c(1F,5m)};X.28p=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.28p.6c(1F,5m)};X.5J8=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.5J8.6c(1F,5m)};X.5J7=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.5J7.6c(1F,5m)};X.3Wr=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.3Wr.6c(1F,5m)};X.3Wq=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.3Wq.6c(1F,5m)};X.2MA=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.2MA.6c(1F,5m)};1d qY=X.2Ar=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.2Ar.6c(1F,5m)},4C7=X.2As=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.2As.6c(1F,5m)},rY=X.2At=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.2At.6c(1F,5m)};X.5J6=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.5J6.6c(1F,5m)};X.5J5=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.5J5.6c(1F,5m)};X.5J4=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.5J4.6c(1F,5m)};X.5J3=1b(){kb(Yd,"18g 1dS to 11i 1j 1Z 17a to be 3o (e.g. 11i 1j 2k() to be 7I)");kb(!0,"1Z 17a 9x 1kC (14W 1kB to 1eL it 1kA 1eB 2k() 1kz)");1f X.asm.5J3.6c(1F,5m)};X.asm=Ye;X.4C6||(X.4C6=1b(){mb("\'4C6\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4C5||(X.4C5=1b(){mb("\'4C5\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.7MW=4C4;X.35A=1b(a,b,c,d){1f 1b(){1f 4C4(a,b,c,5m)}};X.1cf||(X.1cf=1b(){mb("\'1cf\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.3K=1b(a,b,c){b=b||"i8";"*"===b.1as(b.1h-1)&&(b="5J2");6U(b){1S"i1":1f Uw[a>>0];1S"i8":1f Uw[a>>0];1S"7MV":1f oY[a>>1];1S"5J2":1f ip[a>>2];1S"7MU":1f ip[a>>2];1S"1o":1f 4C3[a>>2];1S"4C2":1f 4C1[a>>3];4T:mb("16w 1I 1j 3K: "+b)}1f 1F};X.3Wp||(X.3Wp=1b(){mb("\'3Wp\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4C0||(X.4C0=1b(){mb("\'4C0\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.4BZ||(X.4BZ=1b(){mb("\'4BZ\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BY||(X.4BY=1b(){mb("\'4BY\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BX||(X.4BX=1b(){mb("\'4BX\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BW||(X.4BW=1b(){mb("\'4BW\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BV||(X.4BV=1b(){mb("\'4BV\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.3Wo||(X.3Wo=1b(){mb("\'3Wo\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BU||(X.4BU=1b(){mb("\'4BU\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BT||(X.4BT=1b(){mb("\'4BT\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BS||(X.4BS=1b(){mb("\'4BS\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BR||(X.4BR=1b(){mb("\'4BR\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BQ||(X.4BQ=1b(){mb("\'4BQ\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BP||(X.4BP=1b(){mb("\'4BP\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BO||(X.4BO=1b(){mb("\'4BO\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BN||(X.4BN=1b(){mb("\'4BN\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BM||(X.4BM=1b(){mb("\'4BM\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BL||(X.4BL=1b(){mb("\'4BL\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BK||(X.4BK=1b(){mb("\'4BK\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BJ||(X.4BJ=1b(){mb("\'4BJ\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BI||(X.4BI=1b(){mb("\'4BI\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BH||(X.4BH=1b(){mb("\'4BH\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BG||(X.4BG=1b(){mb("\'4BG\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.3Wn||(X.3Wn=1b(){mb("\'3Wn\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BF||(X.4BF=1b(){mb("\'4BF\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BE||(X.4BE=1b(){mb("\'4BE\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.4BD||(X.4BD=1b(){mb("\'4BD\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.4BC||(X.4BC=1b(){mb("\'4BC\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.FS||(X.FS=1b(){mb("\'FS\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4BB||(X.4BB=1b(){mb("\'4BB\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.4BA||(X.4BA=1b(){mb("\'4BA\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.3Wm||(X.3Wm=1b(){mb("\'3Wm\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.3Wl||(X.3Wl=1b(){mb("\'3Wl\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.4Bz||(X.4Bz=1b(){mb("\'4Bz\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.4By||(X.4By=1b(){mb("\'4By\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.4Bx||(X.4Bx=1b(){mb("\'4Bx\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.4Bw||(X.4Bw=1b(){mb("\'4Bw\' 9x 2S 15J. add it to 16d (15q 1Z 16c). 28o, 28n 1Vd 19G (-s 21Y=1) 1ag 1Vc 1a 1j 18g")});X.GL||(X.GL=1b(){mb("\'GL\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bv||(X.4Bv=1b(){mb("\'4Bv\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bu||(X.4Bu=1b(){mb("\'4Bu\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bt||(X.4Bt=1b(){mb("\'4Bt\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bs||(X.4Bs=1b(){mb("\'4Bs\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Br||(X.4Br=1b(){mb("\'4Br\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bq||(X.4Bq=1b(){mb("\'4Bq\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bp||(X.4Bp=1b(){mb("\'4Bp\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bo||(X.4Bo=1b(){mb("\'4Bo\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bn||(X.4Bn=1b(){mb("\'4Bn\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bm||(X.4Bm=1b(){mb("\'4Bm\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bl||(X.4Bl=1b(){mb("\'4Bl\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bk||(X.4Bk=1b(){mb("\'4Bk\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bj||(X.4Bj=1b(){mb("\'4Bj\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bi||(X.4Bi=1b(){mb("\'4Bi\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bh||(X.4Bh=1b(){mb("\'4Bh\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.2At||(X.2At=1b(){mb("\'2At\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.2As||(X.2As=1b(){mb("\'2As\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.2Ar||(X.2Ar=1b(){mb("\'2Ar\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.2MA||(X.2MA=1b(){mb("\'2MA\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.2oI||(X.2oI=1b(){mb("\'2oI\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.2oH||(X.2oH=1b(){mb("\'2oH\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.3Wk||(X.3Wk=1b(){mb("\'3Wk\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.3Wj||(X.3Wj=1b(){mb("\'3Wj\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bg||(X.4Bg=1b(){mb("\'4Bg\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")});X.4Bf||1L.12U(X,"4Bf",{1n:1b(){mb("\'4Bf\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")}});X.4Be||1L.12U(X,"4Be",{1n:1b(){mb("\'4Be\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")}});X.4Bd||1L.12U(X,"4Bd",{1n:1b(){mb("\'4Bd\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")}});X.4Bc||1L.12U(X,"4Bc",{1n:1b(){mb("\'4Bc\' 9x 2S 15J. add it to 16d (15q 1Z 16c)")}});$M.1i=6u();$M.1i.7m=$M;BF=1b b(){X.2ga||mY();X.2ga||(BF=b)};X.3Wi=mY;1d 4Bb=[];X.28m=mb;if(X.21X)1j("1b"==2h X.21X&&(X.21X=[X.21X]);0<X.21X.1h;)X.21X.9l()();X.5J1=!0;mY()}1s X=1F;1d ln=X,oJ={3VE:0,2Mr:1},Zd=1b(a){a=a||{};1a.6M=a.gl;1a.8L=a.7r;1a.1g2=a.1x1;1a.1vz=[];1a.1ot=1g Ia;1a.1d4=[];1a.3W5=1g k;1a.2Mo=1g k;1a.2Mn=1g k;1a.7MT=m(a.4Aq,0);1a.177=O.6G;1a.16y=1F;1a.5IV(a.2zV);1a.3Wh=Xt.4Am;1a.3qK=J$;1a.3W6=0;1a.1vA=1g Xn;1a.2An=1a.1vA.add();1a.1Gr=a.1jc;1d b=1a.8L.1vy.5s(),c=b.11c(0,b.3f("/1x2"));1a.13Y=b.11c(b.3f("1x2/")+6,b.3f("/2g/"));1a.17F=1a.8L.17F;1d d=1a;d.16N={35B:0,3qN:0,3qp:0,4Ba:!1};1a.2oF=a.3qx;g(7O.2Ae)&&(d.5IY=(1g Dh({2i:c+1a.13Y})).4b(1b(a){a.1PU(d.13Y)?d.12Y=a:a.1Uc(d.13Y).4b(1b(){d.12Y=a})}));1a.3Wc=0;1a.15Y={1oD:0,1zm:0,1zo:0,2Mx:0,35E:{6q:16V.14H(),1qU:!1},2oE:0,3qG:0,28l:0,35D:{6q:16V.14H(),1qU:!1}};1a.3Wd=fb({},1a.15Y);1a.1pw=!1;1a.3Wb=[];1a.3Wa=[]};1L.2X(Zd.1i,{2Ah:{1n:1b(){1f 1a.3Wh},1C:1b(a){1a.3Wh=a;1a.3qK=1a.3Wh===Xt.5J0?5IZ:J$}}});Zd.1i.3Vr=1b(){1d a=1a;g(1a.12Y)?a.12Y.1PU("2w")||kJ(a,a.8L.1zk):1a.5IY.4b(1b(){a.12Y.1PU("2w")||kJ(a,a.8L.1zk)})};Zd.1i.3UW=1b(a){1d b=1g 21W("35C-8"),c=Z.12L();if(g(1a.16N[a]))1f c.5h(1a.16N[a]),c.10l;if(!1a.17F.28h&&!1a.8L.2g3||!1a.12Y.1PU("2w"))1f c.5h(1F),c.10l;1d d=1a;1a.12Y.20n("2w",a.5s()).4b(1b(e){1F!==e?(e=e.7g(256),e=1g 4L(e),e=b.1AM(e),e=4H.5N(e)):(d.16N.35B++,3<d.16N.35B&&(kJ(d,d.8L.1zk),d.16N.35B=0));d.16N[a]=e;c.5h(e)},1b(a){d.16N.35B++;3<d.16N.35B&&!d.16N.4Ba&&(kJ(d,d.8L.1zk),d.16N.4Ba=!0);c.5h(1F)});1f c.10l};Zd.1i.5I0=1b(){1j(1d a=[],b=Z.12L(),c=1a.8L.1zk?".5IX":".5IW",d=1a,e=0,f=1a.1d4.1h;e<f;e++){1d h=1a.1d4[e].1hX.5h(1a.8L.1vy).5s()+1a.1d4[e].1hX.5s().3X(".","").3X(/\\//g,"")+c;a.1q(Ng(h))}Z.all(a,1b(a){1j(1d c=[],e=0,f=a.1h;e<f;e++)c.1q(lJ(a[e],d.8L.1zk));1j(a=0;a<c.1h;a++)jJ(c[a],d);b.5h(!0)},1b(a){a=0;1j(1d e=d.1d4.1h;a<e;a++){1d f=d.1d4[a].1hX.5h(d.8L.1vy).5s()+d.1d4[a].1hX.5s().3X(".","").3X(/\\//g,"")+c;Ng(f).4b(1b(a){1d c=[];c.1q(lJ(a,d.8L.1zk));jJ(c[0],d);b.5h(!0)})}});1f b.10l};1d aD=1F,mJ=1F;g(1zn)&&g(ln)&&(aD=ln.35A("2SI","2b",["2b","2b","2b","2b"]),mJ=ln.35A("7MS",1F,["2b"]));Zd.1i.5IV=1b(a){if(g(a)){1a.3Wg=[];1d b=1a.8L,c=b.11m;c=c===La.1GQ||c===La.20W||c===La.2g4||c===La.2Aa;1j(1d d=0,e=a.1h;d<e;d++){1d f=a[d],h=1g Ek;h.1fF=f.2i;h.1hX=f.2zX;h.2Ml=!0;h.35v=0;1a.3Wg.1q(h.1hX.5s()+h.1fF);g(f.2ot)&&0<f.2ot.3L&&(h.4B9=f.2ot,h.5V=P.5o(f.2ot,b.1dI,1g P),h.2Aq=P.1y(h.5V));c&&g(h.5V)&&(h.5V.3L+=9E3);if(g(b.3VC)){f=h.1hX.5h(1a.8L.1vy).5s()+h.1hX.5s().3X(".","").3X(/\\//g,"")+".2L2";1d l=b.3VC,k=l.14G(";");f=f+"?4B8=3qi;"+k;1d n=1a;Ng(f).4b(1b(a){1d b=1g 1fZ(a,0,1);b=b[0];1j(1d c=1g 1fZ(a,4,b),d=[],e=0;e<b;e++)d.1q(c[e]);c=1g 1fZ(a,4*(b+1),d[0]/4);1d f=4*(b+1)+d[0],h=[];1j(e=1;e<b;e++)a=1g 4A(a,f,d[e]/4),f+=d[e],h.1q(a);1j(e=0;e<c.1h;e++){a={};1j(b=0;b<h.1h;b++)a[l[b]]=h[b][e];n.16N[c[e]]=a}})}1a.1d4.1q(h)}}};Zd.1i.4B6=1b(a){1f g(1a.3Wg)?-1!==1a.3Wg.3f(a):!1};Zd.1i.5II=1b(a){if(a.35z===Mb.1he){1d b=1a.8L,c=a.1hX.5h(b.1vy)+a.1fF+".15l";c=c.3X(/\\+/g,"%2B");g(Ba.12M)&&(c=g(Ba.12M.1e7[1a.2oF])?Ba.1oo(1a.2oF,c):Ba.1cl(c));a.7M=1g Ke({2I:c,1j8:!1,1mj:!0,1vD:qb.2Ao(c)});c=Fe(c,1p 0,a.7M);g(c)?(a.35z=Mb.1gu,a.7M=1F,c.4b(1b(c){1d d=b.1dI;a.4AY=!0;a.35z=Mb.1e5;1j(1d f=a.1hX,h=0,g=c.4B7.1ny.9d.1h;h<g;h++){a.5V=fT(c.4B7.1ny.1Bu,d);1d k=c.4B7.1ny.9d[h],n=1g Ck;n.2Ap=k.1ny.5IU;n.1Qn=k.1ny.1Eh;n.1Qn=n.1Qn.3X(/.1j4*/g,"");n.2Mz=k.1ny.3Wf;n.5V=fT(k.1ny.1Bu,d);a.15I.1q(n);a.2oG[n.1Qn]=n;L$(n,k.1ny,d,f)}},1b(b){g(b)?a.35z=Mb.12D:(a.35z=Mb.1he,a.7M=1F)})):a.7M=1F}};Zd.1i.2Mp=1b(a){1d b=a.1dL,c=1a.8L,d=1a;if(Mb.1he===b){if(!g(a.7M)){1d e=".1j4";1d f="1j4";c.1zk&&(e=c.3VJ?".2zZ":".2ou",f=c.3VJ?"2zZ":"2ou");1d h=a.1hX.5h(c.1vy)+a.1fF+e;h=h.3X(/\\+/g,"%2B");if(c.2oA===Br.35x){e=a.1hX.9w.3X(/\\//g,"").3X(".","");1d l=c.35r;1d k=l.21V;l=l.2g8;e=Kg({1pk:c.2i,3qH:e,11H:a.1fF,2K9:f,21V:k,2g8:l});k=h.141(/(\\S*)\\/1x2/);0<k.1h&&(h=k[0]+"?"+e)}g(Ba.12M)&&(h=g(Ba.12M.1e7[1a.2oF])?Ba.1oo(1a.2oF,h):Ba.1cl(h));a.7M=1g Ke({2I:h,1j8:!a.2Ml,1mj:!0,1vD:qb.2Ao(h),1xd:1a.3qK(a,1a)})}e=a.1hX.5s()+a.1fF;g(7O.2Ae)&&(!0===1a.17F.2Af||1a.17F.2Ma&&1a.4B6(e))?g(1a.12Y)&&(e=1a.12Y.20n(1a.13Y,e),g(e)?(a.1dL=Mb.1gu,e.4b(1b(b){g(b)?(a.1dL=Mb.21L,a.1Qp=1F,a.21T=1F,c.1zk?jn.35y(b,d.8L,a):Dk.35y(b,d.8L,a,a.21T)):(a.1dL=Mb.1he,nJ(a,d))},1b(b){a.1dL=Mb.1he;nJ(a,d)})):(a.1dL=Mb.1he,nJ(a,d))):1a.1pw?1a.3Wb.1q(a):nJ(a,d)}Mb.21L===b&&"2d2"===c.21P&&(a.2My===cn.3qM.4B5?cn.5N(c,a):a.2My===cn.3qM.4B4&&jn.5IT(c,a));Mb.1e5===b&&(!1!==c.35l&&c.3qm?a.1dL=a.1dL===Mb.2dF?Mb.1he:Mb.2Mw:1a.1pw?1a.3Wa.1q(a):c.1zk?jn.2g7(c,a,a.1Qp,a.21T):Dk.2g7(c,a,a.1Qp,a.21T),c.4A8.5k(a.5V));Mb.2Mw===b&&"2oD"===c.1gd?(""===c.1V5?(h=a.1hX.5h(c.1vy)+a.1fF+"."+c.1gd,f=a.1fF):(h=a.1hX.5h(c.1vy)+a.1fF+"10D"+c.1V5+"."+c.1gd,f=a.1fF+"10D"+c.1V5),c.2oA===Br.35x&&(e=a.1hX.9w.3X(/\\//g,"").3X(".",""),l=c.35r,k=l.21V,l=l.2g8,e=Kg({1pk:c.2i,3qH:e,11H:f,2K9:c.1gd,21V:k,2g8:l}),k=h.141(/(\\S*)\\/1x2/),0<k.1h&&(h=k[0]+"?"+e)),g(Ba.12M)&&(h=g(Ba.12M.1e7[1a.2oF])?Ba.1oo(1a.2oF,h):Ba.1cl(h)),g(a.7M)||(a.7M=1g Ke({2I:h,1j8:!a.2Ml,1mj:!0,1vD:qb.2Ao(h),1xd:1a.3qK(a,1a)})),e="12H"===c.1gd?gf(a.7M.2I,1a.1g2,a.7M):Ng(a.7M.2I,1a.1g2,a.7M),g(e)&&(a.1dL=Mb.1gu,1a.15Y.1oD++,a.7M=1F,e.4b(1b(b){a.1dL=Mb.3We;"12H"===c.1gd?a.3qL=b:a.21T=b;d.15Y.1oD--;d.15Y.2Mx++},1b(b){g(b)?(d.15Y.1oD--,a.1dL=Mb.4B3):(d.15Y.1zm++,d.15Y.1oD--,a.1dL=Mb.2Mw)}))):Mb.2Mw!==b||"12H"!==c.1gd&&"21U"!==c.1gd||(a.1dL=Mb.3We);if(Mb.3We===b||Mb.4B3===b)"12H"===c.1gd||"21U"===c.1gd?c.1zk?jn.2g7(c,a,a.1Qp,a.3qL):Dk.2g7(c,a,a.1Qp,a.3qL):c.1zk?jn.2g7(c,a,a.1Qp,a.21T):Dk.2g7(c,a,a.1Qp,a.21T)};Zd.1i.5IN=1b(a){1d b=1a.8L;if("2oD"===b.1gd){if(""===b.1V5){1d c=a.1hX.5h(b.1vy)+a.1fF+"."+b.1gd;1d d=a.1fF}1s c=a.1hX.5h(b.1vy)+a.1fF+"10D"+b.1V5+"."+b.1gd,d=a.1fF+"10D"+b.1V5;if(b.2oA===Br.35x){1d e=a.1hX.9w.3X(/\\//g,"").3X(".","");1d f=b.35r;1d h=f.21V;f=f.2g8;e=Kg({1pk:b.2i,3qH:e,11H:d,2K9:b.1gd,21V:h,2g8:f});h=c.141(/(\\S*)\\/1x2/);0<h.1h&&(c=h[0]+"?"+e)}g(Ba.12M)&&(c=g(Ba.12M.1e7[1a.2oF])?Ba.1oo(1a.2oF,c):Ba.1cl(c));g(a.7M)||(a.7M=1g Ke({2I:c,1j8:!0,1mj:!0,1vD:qb.2Ao(c),1xd:1a.3qK(a,1a)}));c="12H"===b.1gd?gf(a.7M.2I,1a.1g2,a.7M):Ng(a.7M.2I,1a.1g2,a.7M);1a.15Y.28l++;if(g(c)){a.7M=1F;a.2Ms=!1;1a.15Y.2oE++;1d l=1a;c.4b(1b(c){l.15Y.2oE--;if("2oD"===b.1gd&&g(c)&&7<c.10S&&g(a.1ad)){c=1g 4L(c,8);c=1F!=aD?eT(c):Dp.1pn(c).3J;1d d=1g 13X(c,0,1),e=1g 12X(c,48,1);if(0===d[0]||5IS===e[0]||3qJ===e[0]){e=0;0===d[0]&&(e=8);1d f=1g 13X(c,e,6);d=f[0];1d h=f[1],k=f[2],p=f[3],m=f[4]<f[5]?f[4]:f[5];f=f[4]>f[5]?f[4]:f[5];d={3B:d,5C:h,2W:k,7b:p,1Qh:m,1wE:f,1G:k-d,1h:h-p,1D:f-m};1d q=1g 12X(c,48+e,7);h=q[0];k=q[1];p=q[2];m=q[3];f=q[4];1d r=q[5];q=q[6];c=1g 4L(c,76+e,m*m*4);c={1vC:h,2Mv:k,2Mu:p,2g9:m,1Va:f,1V9:r,2Mt:q,1tV:c};e=b.4j.7R+"10D"+b.id+"10D"+a.1fF;h=Cc.1qT.11U;g(b.6J)&&b.6J.1x7===Cc.1qT.10U&&(h=Cc.1qT.10U);3qJ===c.1vC&&g(b.6J)&&Dk.5IR(c,b.6J,h);h=Rc.5IQ(e,b.6M,b.4j,c,h);a.1ad.1Vb=h;a.1ad.1vC=c.1vC;a.1ad.2Mv=c.2Mv;a.1ad.2Mu=c.2Mu;a.1ad.2g9=c.2g9;a.1ad.1Va=c.1Va;a.1ad.1V9=c.1V9;a.1ad.2Mt=c.2Mt;a.1ad.id=e;a.1ad.4B2=b.2A3;a.1ad.4B1=b.2A4;a.1ad.3qI=d}}l.15Y.28l--},1b(b){g(b)||(l.15Y.3qG++,a.2Ms=!0);l.15Y.2oE--;l.15Y.28l--})}1s 1a.15Y.28l--}};Zd.1i.5IM=1b(a){1d b=1a.8L;if("21U"===b.1gd){1d c=b.4j,d;1j(d in a.1yR){1a.15Y.28l++;1d e=d,f=a.1yR[e];e=e.11c(0,e.1h-(b.7R+c.7R).1h)+"10D"+a.1fF;e=""!==b.1V5?e+"10D"+b.1V5:e;e+=".2oD";e=a.1hX.5h(b.1vy)+e;if(0!=b.26Z){1d h=b.35r,l=e.3f("1x2")+5,k=h.2g8,n=e.11c(e.3f("/9w/")+6).7g("/");h=h.21V;1d m=n[0],w=n[1].11c(0,n[1].3f("."));n=n[1].11c(n[1].3f(".")+1,n[1].1h);e=e.11c(0,l)+"?1pk="+k+"&3qH="+m+"&11H="+w+"&2K9="+n+"&21V="+h+"&2g8="+k}e=Ng(e,1a.1g2);if(g(e)){1a.15Y.2oE++;1d q=1a;(1b(c,d){c.4b(1b(c){q.15Y.2oE--;if(g(c)){1d d=1p 0;c=1g 4L(c,8);c=1F!=aD?eT(c):Dp.1pn(c).3J;if(1===(1g 13X(c,0,1))[0]){1d e=1g 12X(c,8,4);d=e[0];1d h=e[1],l=e[2];e=e[3];c=1g 4A(c,24,h*l);d={1vC:d,1Va:h,1V9:l,5IP:e,1tV:c}}g(d)&&(c=Dk.5IO(d,b.6J,b.6J.1x7),f.1iq({1G:d.1Va,1D:d.1V9,1a9:c}));q.15Y.28l--;a.2Ms=!1}},1b(a){q.15Y.2oE--;q.15Y.3qG++;q.15Y.28l--})})(e)}1s 1a.15Y.28l--}}};Zd.1i.3Vu=1b(){g(1a.12Y)&&1a.12Y.9P(1a.13Y)};Zd.1i.352=1b(){if(1a.8L.35l){1d a=[],b={};if("2oD"===1a.8L.1gd){1j(1d c=0,d=1a.1d4.1h;c<d;c++){1d e=1a.1d4[c];g(e)&&g(e.1fF)&&(b[e.1fF]=e,a.1q(e))}1j(1d f;f=a.9l();)1j(c=0,d=f.15I.1h;c<d;c++){1d h=f.15I[c];g(h.11d)&&g(h.11d.1fF)&&(e=h.11d.1fF,g(b[e])||(b[e]=h.11d),a.1q(h.11d))}}1s if("21U"===1a.8L.1gd){c=0;1j(d=1a.1d4.1h;c<d;c++)e=1a.1d4[c],g(e.1yR)&&(b[e.2i]=e,a.1q(e));1j(;f=a.9l();)1j(c=0,d=f.15I.1h;c<d;c++)h=f.15I[c],g(h.11d)&&g(h.11d.1yR)&&(b[e.2i]=h.11d,a.1q(h.11d))}if(1a.8L.352){1a.8L.352=!1;1j(1d l in b)b[l].2Ms=!0}if("2oD"===1a.8L.1gd)1j(l in b)f=b[l],g(f)&&f.4B0&&g(f.1ad)&&f.2Ms&&f.1ad.id.1sl(f.1fF)+f.1fF.1h===f.1ad.id.1h&&1a.5IN(f);1s if("21U"===1a.8L.1gd)1j(l in b)b[l].2Ms&&1a.5IM(b[l]);a.1h=0}};Zd.1i.2H=1b(a,b,c){1a.5Ix(b.3w);1d d=b.10s.11P;1a.15Y.1zm=0;1a.15Y.3qG=0;d||b.19c.3e||(1a.2Ah===Xt.3qF?1a.5IJ(b):1a.5IG(b));1a.8L.11m===La.198&&1a.8L.3qg.7f();1a.352();1a.5IK(a,b,c);b.10s.3t&&5IL(1a,b);1a.3Wd=fb({},1a.15Y)};Zd.1i.5IK=1b(a,b,c){if(1a.8L.11m===La.1is){a=!1;1a.3Wc++;40==1a.3Wc&&(a=!0,1a.3Wc=0);1j(1d d=0,e=1a.1vz.1h;d<e;d++){1d f=1a.1vz[d];f.6l();f.4AZ(b,1a.8L);(f.27L||a)&&f.3qE(b,c,1a.8L)}}1s 1j(d=0,e=1a.1vz.1h;d<e;d++)f=1a.1vz[d],f.2H(a,b,c,1a.8L)};1d cN=1b(a,b){1f a.21R-b.21R};Zd.1i.5IJ=1b(a){1d b=a.3w,c=b.6K;a=a.1dj;1d d=1a.8L,e=1a.6M,f=P$(d,b),h=[];1a.1vz.1h=0;if(f){1a.1vA.6z(1a.1vA.1fD,1a.2An);1d l;f=0;1j(l=1a.1d4.1h;f<l;f++){1d k=1a.1d4[f];if(g(k.5V)){k.1cA=a.1su(k.5V)!==Lb.1gB;d.11m===La.1is&&(k.1cA=!0);if(!Q$(k,d,c))1aJ;if(!k.1cA)1aJ}k.4AY?h.1q(k):1a.5II(k)}1j(h.15F(cN);c=h.9l();)if(a.1su(c.5V)!==Lb.1gB||d.11m===La.1is)if(g(c.1JP)?1a.1vA.6z(1a.2An,c.1JP):c.1JP=1a.1vA.add(c),c.1MO)M$(c,1a.1vz);1s 1j(l=c.15I.1h,f=0;f<l;f++){k=c.15I[f];1d n=k.11d;if(k.1Qo)gT(k,1a.1vz);1s if(k.3W9(b,e,d.2A9),k.35w)if(c.4y)gT(k,1a.1vz);1s{1a.2Mp(c);k=1a.1vz;1j(1d m=1a.1vA,w=1a.2An,q=[n];n=q.9l();)if(g(n.1JP)?m.6z(w,n.1JP):n.1JP=m.add(n),!n.1MO)if(n.4y)M$(n,k);1s 1j(1d r=0,t=n.15I.1h;r<t;r++)q.1q(n.15I[r].11d)}1s m=n.3qD&&2>n.15I.1h?!0:!1,m?h.1q(n):n.4y?h.1q(n):(gT(k,1a.1vz),1a.2Mp(n))}1a.2Mm()}1s 1j(b=1a.1d4.1h;b--;)1a.1d4[b].1M()};Zd.1i.5IA=1b(){1d a=1a.3Wb,b=a.1h;if(!(1>b)){a.15F(cN);1j(1d c=0;c<b;c++)5IH(1a,a[c]);1a.3Wb.1h=0}};Zd.1i.5Iz=1b(){1d a=1a.3Wa,b=a.1h;if(!(1>b)){a.15F(cN);1j(1d c=1a.8L,d=c.1zk?jn.2g7:Dk.2g7,e=0;e<b;e++){1d f=a[e];d(c,f,f.1Qp,f.21T)}1a.3Wa.1h=0}};Zd.1i.5IG=1b(a){1d b=a.3w,c=b.6K,d=a.1dj,e=1a.8L,f=1a.6M,h=P$(e,b),l=[];1a.1vz.1h=0;if(h){h=0;1j(1d k=1a.1d4.1h;h<k;h++){1d n=1a.1d4[h];if(g(n.5V)){n.1cA=d.1su(n.5V)!==Lb.1gB;e.11m===La.1is&&(n.1cA=!0);if(!Q$(n,e,c))1aJ;if(!n.1cA)1aJ}n.4y?l.1q(n):1a.2Mp(n)}e.4Aw==oJ.2Mr&&1==e.3VB&&1a.5Iy(b);l.15F(cN);1a.1vA.6z(1a.1vA.1fD,1a.2An);n=[];1j(1d m;m=l.9l();)if(m.4y){if(g(m.5V)&&!m.2Ml&&(m.2oC=d.1su(m.5V)!==Lb.1gB,!m.2oC)){1a.8L.3qr&&(1F!=m.1JP?1a.1vA.5IF(1a.1vA.13r,m.1JP):m.1JP=1a.1vA.5IE(m));h=0;1j(k=m.15I.1h;h<k;h++)1j(1d w=m.15I[h],q=0;q<w.12a.1h;q++){1d r=w.12a[q];w.1zl[r.1sF]=!1}1aJ}1F!=m.1JP?1a.1vA.6z(1a.1vA.1fD,m.1JP):m.1JP=1a.1vA.add(m);1d t=m.35v;h=0;1j(k=m.15I.1h;h<k;h++)if(w=m.15I[h],O$(w,e,c))if(d.1su(w.5V)===Lb.1gB&&e.11m!=La.1is)1j(q=0;q<w.12a.1h;q++)r=w.12a[q],w.1zl[r.1sF]=!1;1s if(m.1MO)1j(q=0;q<w.12a.1h;q++){if(r=w.12a[q],d.1su(r.11S)!==Lb.1gB||e.11m==La.1is){1a.1vz.1q(r);1j(1d u in r.21S)if(r.21S.3p(u)){1d v=u;n.1q(v)}}}1s if(w.1Qo)1j(q=0;q<w.12a.1h;q++){if(r=w.12a[q],d.1su(r.11S)!=Lb.1gB)1j(u in 1a.1vz.1q(r),r.21S)r.21S.3p(u)&&(v=u,n.1q(v))}1s if(w.3W9(b,f,e.2A9),w.35w)1j(q=0;q<w.12a.1h;q++)1a.1vz.1q(w.12a[q]),r=w.12a[q],w.1zl[r.1sF]=!0;1s if(g(w.11d))if(w.11d.1dL===Mb.2oB&&w.11d.5ID(e)){if(e.4Aw===oJ.2Mr)1j(q=0;q<w.12a.1h;q++)1a.1vz.1q(w.12a[q]);1s{1j(q=0;q<w.12a.1h;q++)r=w.12a[q],w.1zl[r.1sF]=!1;if(w.3W8===oJ.2Mr&&(N$(w,a,1a),q=w,r=1a.1vz,g(q)&&g(q.11d))){v=q.11d;1j(1d y={},A=0,B=v.15I.1h;A<B;A++){1d C=v.15I[A];if(0===1L.9K(C.1zl).1h)1j(1d E=0;E<C.12a.1h;E++){1d K=C.12a[E];y[K.1sF]=!0}1s 1j(E=0;E<C.12a.1h;E++)K=C.12a[E],y[K.1sF]=C.1zl[K.1sF]}if(0!==1L.9K(y).1h)1j(E=0;E<q.12a.1h;E++)K=q.12a[E],y[K.1sF]?(r.1q(K),q.1zl[K.1sF]=!0):q.1zl[K.1sF]=!1}}l.1q(w.11d)}1s{1j(q=0;q<w.12a.1h;q++)1a.1vz.1q(w.12a[q]),r=w.12a[q],w.1zl[r.1sF]=!0;!g(w.11d.1ad)&&g(m.1ad)&&(w.11d.1ad=m.1ad,Rc.2Mq(m.1ad.id));g(w.11d.5V)?d.1su(w.11d.5V)!==Lb.1gB&&1a.2Mp(w.11d):1a.2Mp(w.11d)}1s 1j(q=1g Ek,!g(q.1ad)&&g(m.1ad)&&(q.1ad=m.1ad,Rc.2Mq(m.1ad.id)),r=w.1Qn,-1<r.3f("/")?(v=r.1sl("/"),y=r.11c(0,v+1),q.1fF=r.11c(v+1),q.1hX=(1g zb(y)).5h(m.1hX)):(q.1hX=m.1hX,q.1fF=r),q.3W7=w.4AX,q.21R=w.21R,q.35v=t+1,1a.3W6=1k.1V(1a.3W6,q.35v),1a.2Mp(q),w.11d=q,q=0;q<w.12a.1h;q++)1a.1vz.1q(w.12a[q]),r=w.12a[q],w.1zl[r.1sF]=!0;1s 1j(q=0;q<w.12a.1h;q++)r=w.12a[q],w.1zl[r.1sF]=!1}e.2g3&&1a.8L.16k.5IC(n);e.3qh&&1a.8L.1qR.5IB(n);1a.1pw&&(1a.5IA(),1a.5Iz());a.10s.1Tt||1a.5Iw()}1s 1j(e.11m===La.1is&&1a.20V(a),1a.1vA=1g Xn,1a.2An=1a.1vA.add(),a=1a.1d4.1h;a--;)1a.1d4[a].1M()};Zd.1i.3qC=1b(a,b){1j(1d c=[],d=0,e=1a.1d4.1h;d<e;d++)c.1q(1a.1d4[d]);1j(1d f;f=c.9l();)1j(f.3qC(a,b),d=0,e=f.15I.1h;d<e;d++){1d h=f.15I[d];g(h.11d)&&(h.11d.3qC(a,b),c.1q(h.11d))}};Zd.1i.5Iy=1b(a){1d b=!k.2L(1a.3W5,a.6K)||!k.2L(1a.2Mo,a.18k)||!k.2L(1a.2Mn,a.1je);1a.3W5=k.1y(a.1K,1a.3W5);1a.2Mo=k.1y(a.2G,1a.2Mo);1a.2Mn=k.1y(a.up,1a.2Mn);b?a.4Av=(1g 16V).1o3():200>(1g 16V).1o3()-a.4Av&&(b=!0);1f b};Zd.1i.20z=1b(){1j(1d a=1a.1vz.1h=0,b=1a.1d4.1h;a<b;a++){1j(1d c=1a.1d4[a],d=0;d<c.15I.1h;d++){1d e=c.15I[d];e&&!e.3Z()&&e.1M()}c.15I.1h=0;c.3W4=c.3W4&&!c.3W4.3Z()&&c.3W4.1M();c.4y=!1;c.1dL=Mb.1he}};Zd.1i.5Hp=1b(){1f 1a.1vz.1h};Zd.1i.5Ix=1b(a){if(a.8C!==1a.177){1d b=1a.8L,c=1g A;A.12Z(b.1dI,c);1a.177=a.8C;1a.16y=a.16y;b.20z();a=0;1j(1d d=1a.1d4.1h;a<d;a++){1d e=1a.1d4[a];g(e)&&g(e.5V)&&(P.5o(e.5V,c,e.5V),P.5o(e.5V,b.1dI,e.5V))}}};Zd.1i.1bE=1b(a,b){1j(1d c=[],d=0,e=1a.1d4.1h;d<e;d++){1d f=1a.1d4[d];f.4y&&c.1q(f)}1j(;f=c.9l();)1j(d=0,e=f.15I.1h;d<e;d++){1j(1d h=f.15I[d],l=0;l<h.12a.1h;l++)g(h.12a[l])&&(a.13a=f,b(h.12a[l],a));f.1MO||h.11d&&c.1q(h.11d)}};Zd.1i.4zV=1b(a,b){1j(1d c=[],d=0,e=1a.1d4.1h;d<e;d++){1d f=1a.1d4[d];f.4y&&c.1q(f)}1j(;f=c.9l();)1j(d=0,e=f.15I.1h;d<e;d++){1j(1d h=f.15I[d],l=0;l<h.12a.1h;l++)if(g(h.12a[l])){1d k=h.12a[l].1vB;if(g(k))1j(1d n in k.15W){k=8A(n);1d m=8A(a);if(k===m){h.12a[l].20V(b,!0);1W}}}f.1MO||h.11d&&c.1q(h.11d)}};Zd.1i.20V=1b(a){1j(1d b=[],c=0,d=1a.1d4.1h;c<d;c++){1d e=1a.1d4[c];e.4y&&b.1q(e)}1j(;e=b.9l();)1j(c=0,d=e.15I.1h;c<d;c++){1j(1d f=e.15I[c],h=0;h<f.12a.1h;h++)g(f.12a[h])&&f.12a[h].20V(a,!0);e.1MO||f.11d&&b.1q(f.11d)}};Zd.1i.5Iv=1b(){1j(1d a=0,b=1a.1vA.13r;g(b)&&(g(b.1jI)||g(b.6k));){1d c=b.1jI;g(c)&&(a+=c.4AW());b=b.6k}1f a};Zd.1i.2Mm=1b(){1j(1d a=1a.1vA.13r;g(a)&&a!==1a.2An;){1d b=a.1jI;1a.1vA.3S(a);b.2Mm();a=a.6k}};Zd.1i.5Iw=1b(){1j(1d a=1a.5Iv(),b=1yL*1a.8L.2Mc,c=1a.1vA.13r;c!==1a.2An&&(1a.8L.3qr||a>b);){1d d=c.1jI;c=c.6k;if(!d.2Ml||!1a.8L.4A5){1a.1vA.3S(d.1JP);1d e=d.4AW(),f=1p 0;1a.8L.11m===La.1is&&(f=1a.8L.5Y);d.1M(f);a-=e}}};Zd.1i.3Z=1b(){1f!1};Zd.1i.1M=1b(){1j(1d a=1a.1vz.1h=0,b=1a.1d4.1h;a<b;a++)1a.1d4[a]=1a.1d4[a]&&!1a.1d4[a].3Z()&&1a.1d4[a].1M();1f la(1a)};1L.2X(hT.1i,{9O:{1n:1b(){1f 1a.1Bp},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1Bp!==a&&(1a.1Bp=a)}},1b5:{1n:1b(){1f 1a.1pN},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1pN=a}},5M:{1n:1b(){1f 1a.16O},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.16O=a}},5R:{1n:1b(){1f 1a.16n},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.16n!==a&&(1a.16n=a)}},1oC:{1n:1b(){1f 1a.1MN},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1MN!==a&&(1a.1MN=a)}},1a4:{1n:1b(){1f 1a.1vi},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1vi=a}},15b:{1n:1b(){1f 1a.14N},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.14N!==a&&(1a.14N=a)}},14l:{1n:1b(){1f 1a.1qS},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1qS=a}},3b:{1n:1b(){1f 1a.13V},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.13V!==a&&(1a.13V=a)}},5Iu:{1n:1b(){1f 1a.2Ad},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.2Ad!==a?(1a.2Ad=a,1a.3Vq=!0):1a.3Vq=!1}},6N:{1n:1b(){1f 1a.1c1},1C:1b(a){1a.1c1=a}}});1d vY=1L.3F({5Hh:0,4zP:1,5Hi:2}),dN=1L.3F({6i:0,1hc:1,1sk:2,1g5:-1,1Qm:-2}),iT={6i:0,7MR:1,4AN:2,7MQ:3,7MP:4};pJ.1i.1cf=1b(a,b){"3W3"===a&&(1a.1pM=b);"3W2"===a&&(1a.1V8=b);"4AO"===a&&(1a.1b4=b);"3qA"===a&&(1a.4AV=b);"3W1"===a&&(1a.4AU=b);"3W0"===a&&(1a.4AT=b);"3VZ"===a&&(1a.4AS=b);"3VY"===a&&(1a.4AR=b);"3VX"===a&&(1a.4AQ=b);"3VW"===a&&(1a.4AP=b)};pJ.1i.5Iq=1b(){1f[{2i:"3W3",1Q:1g E(1,1,0,1),16G:"21Q 7MO 1aV",1V:1g E(1,1,1,1),2o:1g E(0,0,0,0),1I:E},{2i:"3W2",1Q:1g E(1,0,1,1),16G:"21Q 3qB 1aV",1V:1g E(1,1,1,1),2o:1g E(0,0,0,0),1I:E},{2i:"4AO",1Q:iT.4AN,16G:"21Q 5It 1tU",1V:4,2o:0,1I:iT},{2i:"3qA",1Q:0,16G:"21Q 3qA",1V:0,2o:1,1I:3a},{2i:"3W1",1Q:2,16G:"21Q 1ia 2l8 1V7",1V:20,2o:1,1I:3a},{2i:"3W0",1Q:2,16G:"21Q 1km 2l8 1V7",1V:20,2o:1,1I:3a},{2i:"3VZ",1Q:0,16G:"21Q 1ia 5Is",1V:20,2o:0,1I:3a},{2i:"3VY",1Q:0,16G:"21Q 1km 5Is",1V:20,2o:0,1I:3a},{2i:"3VX",1Q:20,16G:"21Q 1ia 5Ir",1V:20,2o:1,1I:3a},{2i:"3VW",1Q:20,16G:"21Q 1km 5Ir",1V:20,2o:1,1I:3a}]};1d jT={6i:0,5Ip:1,3VV:2,7MN:3};bD.1i.1cf=1b(a,b){"1aV"===a&&(1a.7a=b);"1V7"===a&&(1a.1gc=b);"4AK"===a&&(1a.1b4=b);"3VU"===a&&(1a.16O=b);"3VT"===a&&(1a.16n=b);"3VS"===a&&(1a.2Am=b);"3VR"===a&&(1a.2Al=b);"3VQ"===a&&(1a.2g6=b);"3VP"===a&&(1a.2Mk=b);"3VO"===a&&(1a.4AM=b);"3VN"===a&&(1a.4AL=b)};bD.1i.5Iq=1b(){1f[{2i:"1aV",1Q:1g E(1,1,1,1),16G:"1T7 1aV",1V:1g E(1,1,1,1),2o:1g E(0,0,0,0),1I:E},{2i:"1V7",1Q:5,16G:"1T7 1V7",1V:20,2o:1,1I:3a},{2i:"4AK",1Q:jT.5Ip,16G:"1T7 1tU",1V:3,2o:0,1I:jT},{2i:"3VU",1Q:1g E(0,0,0,1),16G:"1T7 5Io 1aV",1V:1g E(1,1,1,1),2o:1g E(0,0,0,0),1I:E},{2i:"3VT",1Q:1,16G:"1T7 5Io 1V7",1V:10,2o:1,1I:3a},{2i:"3VS",1Q:1g E(1,1,1,0),16G:"1T7 4AI 1aV",1V:1g E(1,1,1,1),2o:1g E(0,0,0,0),1I:E},{2i:"3VR",1Q:16,16G:"1T7 4AI 5In 4AJ",1V:64,2o:1,1I:3a},{2i:"3VQ",1Q:255,16G:"1T7 4AI 5In 7MM",1V:1a6,2o:0,1I:3a},{2i:"3VP",1Q:.25,16G:"1T7 7ML 7MK",1V:1,2o:0,1I:3a},{2i:"3VO",1Q:!1,16G:"1T7 Is 7MJ 7MI",1V:!0,2o:!1,1I:17L},{2i:"3VN",1Q:!1,16G:"1T7 Is 7MH",1V:!0,2o:!1,1I:17L}]};1d wY="",xY="",yY="",4AD="",4AC="",4AB="";kT.35i=1b(a){a===EA.5Im?(wY="4AH/4AG-7MG.12H",xY="4AH/4AG-7MF.12H",yY="4AH/4AG-7ME.12H"):a===EA.5Il&&(wY="4AF/7MD.1Ui",xY="4AF/7MC.1Ui",yY="4AF/7MB.1Ui");4AD=cb("1ja/1or/4AE/"+wY);4AC=cb("1ja/1or/4AE/"+xY);4AB=cb("1ja/1or/4AE/"+yY);1f{5HO:4AD,5HN:4AC,7MA:4AB}};1d Us=.5,qJ=1g k,R$=1g C;$y.1op=S$;1d Wv=1g Aa;$y.1i.2H=1b(a,b,c){if(S$(a.1O)){1a.35u=c.26k;1a.1fx=c.26j;1a.2yJ=c.1bR;1a.3VL=c.1FM;1a.1yW=Us=c.1bR?.5:1;1d d=a.1O;1d e=d.8j*Us,f=d.7p*Us;Wv.1G=e;Wv.1D=f;1d h=pf.4AA(),l=!1,k=g(h)&&(h.1G!==e||h.1D!==f);if(!g(h)||k)pf.5Ia(),pf.5Ih(d);h=1a.3VM!=1a.3VL;1a.3VM=1a.3VL;1d n=1a.1Eg;k=1a.1U2!==e||1a.1U1!==f;if(!g(n)||k||h)1a.1Eg=pf.4AA(),1a.19m=pf.5Ig(),1a.13p=pf.5If(),1a.2Mj=pf.5Ie(),1a.2Mi=pf.5Id(),1a.2Ak=pf.5Ic(),1a.2Aj=pf.5Ib(),5Ik(1a,d),l=!0;1a.1U2=e;1a.1U1=f;d=l;a=a.13l;1j(e=a.1h;b<e;++b)if(l=a[b],l.6Z===Ja.1wF&&l.6t!==ma.1bl){f=l.10K.3VK;if(!g(f)||l.6s||d||f.4Q!==1a.13p)f=Oa.15v(l),l.10K.3VK=f,f.4Q=1a.13p,l=f,k=1a.32l,h=f.4w,n=k[h.id],g(n)&&n.5q.1G==Wv.1G&&n.5q.1D==Wv.1D||(n=pa.1PL(h),n.5q=Wv,n=pa.4t(n),k[h.id]=n),l.4w=n,f.1hR=!1,f.1fC=!1,f.20m=!0;a[b]=f}b=1a.13Z;d=1a.1bx;c.1bR&&(a.1q(1a.1Ea),a.1q(1a.1E2));a.1q(d);a.1q(b)}};$y.1i.3Z=1b(){1f!1};$y.1i.1M=1b(){pf.5Ii();1f la(1a)};pf.5Ij=1b(){1a.35t++};pf.5Ii=1b(){1a.35t--;if(0==1a.35t){1d a=Ze.13p;if(!g(a))1f;Ze.1Eg.1M();Ze.19m.1M();a.1M()}1a.35t=1k.1V(0,1a.35t)};pf.5Ih=1b(a){1d b=a.8j*Us,c=a.7p*Us,d=1g Ca({1O:a,1G:b,1D:c,8b:ua.9m,10E:Ha.7U,10v:cD(nb.11U)});1g Ca({1O:a,1G:b,1D:c,8b:ua.9m,10E:Ha.7U,10v:cD(nb.10U)});1d e=1g Ca({1O:a,1G:b,1D:c,8b:ua.1eF,10E:Ha.1Jw,10v:cD(nb.10U)});Ze.13p=1g eb({1O:a,13I:[d],1ku:e,16Y:!1});Ze.1Eg=d;Ze.19m=e;Ze.2Ak=1g Ca({1O:a,1G:b,1D:c,8b:ua.9m,10E:Ha.7U,10v:cD(nb.11U)});Ze.2Mj=1g eb({1O:a,13I:[Ze.2Ak],16Y:!1});Ze.2Aj=1g Ca({1O:a,1G:b,1D:c,8b:ua.9m,10E:Ha.7U,10v:cD(nb.11U)});Ze.2Mi=1g eb({1O:a,13I:[Ze.2Aj],16Y:!1})};pf.4AA=1b(){1f Ze.1Eg};pf.5Ig=1b(){1f Ze.19m};pf.5If=1b(){1f Ze.13p};pf.5Ie=1b(){1f Ze.2Mj};pf.5Id=1b(){1f Ze.2Mi};pf.5Ic=1b(){1f Ze.2Ak};pf.5Ib=1b(){1f Ze.2Aj};pf.5Ia=1b(){1d a=Ze.13p;g(a)&&(Ze.1Eg.1M(),Ze.19m.1M(),a.1M(),Ze.2Ak.1M(),Ze.2Aj.1M(),Ze.2Mj.1M(),Ze.2Mi.1M())};1d Ze=1g pf,5I9=1g A(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),Wa=1b(a){a=a||{};1d b=a.gl,c=a.2i,d=a.1K;1a.1zk=a.2fW;1a.3VJ=a.34P;1a.4j=a.1O;1a.6M=b;1a.6X=c;1a.3qt=a.2oy;1a.7R=-1;1a.1nw=1p 0;1a.1vy=a.2zW;1a.21P=a.2dX;1a.4Az=m(a.34Q,!1);1a.5I8=m(a.34O,!1);if(g(a.2LZ))6U(a.2LZ){1S"3VI":1a.35g=FA.3VI;1W;1S"3qo":1a.35g=FA.3qo;1W;4T:1a.35g=FA.3VI}1a.35h=0;1a.2oA=m(a.26Z,Br.35s);1a.35r=a.3VH;1a.11m=La.2Ai;1a.4A8=1g sa;1a.4A6=1g sa;1a.3Vs=1g sa;if(a.35q&&0<a.35q.1h){1a.21O={};b=0;1j(c=a.35q.1h;b<c;b++)1a.21O[a.35q[b]]=!0;1a.4Ay=a.35q.4h(0)}if(g(a.1Br))6U(a.1Br){1S "7Mz":1a.11m=La.2g4;1W;1S"7My":1a.11m=La.2Aa;1W;1S"7Mx":1a.11m=La.1GQ;1W;1S"7Mw":1a.11m=La.20W;1W;1S"2Ab":1a.11m=La.2Ab;1W;1S"7Mv":1a.11m=La.35p;1W;1S"7Mu":1a.11m=La.198;1W;1S"1MM":1a.11m=La.1MM;1W;1S"2M3":1a.11m=La.2M3;1W;1S"7Mt":1a.11m=La.3qz;1W;1S"35n":1a.11m=La.35n;1W;1S"2Mh":1a.11m=La.2Mh;1W;1S"2M8":1a.11m=La.2M8;1W;1S"1is":1a.11m=La.1is}1a.1gI=a.1V0;1a.1tT=d.1tT;1a.1mp=d.1mp;1a.1D=d.1D;1a.1DQ=a.1TW;d=.5*(1a.1DQ.4P+1a.1DQ.4C);1a.4Ax=T.3VG(B.10Q(1a.1DQ.5a),B.10Q(d),B.10Q(1a.1DQ.4o),B.10Q(d));1a.1gb=m(a.1cJ,1g Vv);1a.1gb.1fq=1a;1a.2A9=m(a.27B,1);1a.2A5=kj.1ZI;1a.35k=IM.1ZI;1a.2zD=m(a.1hG,1);1a.2zC=m(a.35o,1);1a.2zA=m(a.1lQ,0);1a.2zB=m(a.1qm,1);1a.27U=m(a.1iP,1);1a.3qw=m(a.21J,3a.6w);1a.3qv=m(a.2oq,0);1a.21H=m(a.21I,0);1a.1JM=m(a.21K,3a.6w);1a.2mX=1a.11m===La.2Ai||1a.11m===La.1MM?!1:!0;1a.1Bs=m(a.3VF,!0);1a.1Ef=m(a.8e,0);1a.2z8=m(a.1vk,!1);1a.3VA=m(a.2oz,MI.6i);1a.11h=15;1a.1br=m(a.1cA,!0);1a.177=m(a.1ef,O.6G);1a.1V2=[];1a.4Aj=!1;1a.1V6=1g y(.7,.7,1,1);1a.3Vx=1g y(1,0,0,1);1a.3qa=1g k(0,0,0);1a.1JO=1g Ia;1a.2M7=1g Ia;1a.1GP=1g Ia;1a.3q9=df.2A8;1a.11m===La.3qz&&(1a.2g2=1g Ia);g(a.1F0)?1a.1ee=a.1F0:1a.11m===La.35n?1a.1ee=1g pJ:1a.11m===La.2Mh&&(1a.1ee=1g bD);1a.2Md=1g dJ(1a);1a.1Ql=a.1Ql;1a.7Ms=cb("1ja/1or/1ul.12H");1a.21M=1a.3UV=1p 0;1a.1vj=13j;1a.3V6=!1;1a.34Y=1g E;1a.1GE=1p 0;1a.1GO=1g Ia;1a.2M4=1a.35a=!1;1a.34X=1g E;1a.21N=1p 0;1a.1GN=1g Ia;1a.355=!1;1a.4zM=MC.4zO;1a.4zK=!1;1a.3V3=1g E;1a.28f=1g Ia;1a.3V4=1g Ia;1a.358=1p 0;1a.7Mr=!1;1a.1jg=1a.1GF=1a.1dk=1a.6J=1p 0;1a.2fh=1g E;1a.2z7=1a.2fz=1a.1Mt=!1;1a.1Uy=Cc.2fg.2L9;1a.5I7=a.34S;1a.5I6=a.34R;1a.4Ap=a.1wE;1a.4Ao=a.1Qh;1a.2M5=a.1Mn;1a.2M6=a.1Mo;1a.4An=!0;1a.35b=1p 0;1a.35c=1g Ia;1a.3qu=a.3qy;1a.1iA=[];1a.2ow=1g Ia;1a.2zk=[];1j(b=0;6>b;b++)1a.2zk[b]=1g E(0,0,0,0),1a.1iA[b]=1g E(0,0,0,0);1a.1Mw=0;1a.2fv=1g E(1,0,0,0);1a.1Us=1a.1vo=!1;1a.3q4=DA.6i;1a.2Mg=1g E(1,0,0,1);1a.1dI=1g A;1a.4Al=m(a.5HY,!1);1a.2Ag=1a.11m===La.2Ai||1a.11m===La.2M3?m(a.28i,!1):!1;1a.4Aw="3VE"===m(a.3q0,"3VE")?0:1;1a.3VB=1;1a.4Av=0;1a.3Vl=a.1bB;1a.27F=Wt.4Au;1a.35l=!1;g(a.2A1)&&(1a.35l=a.2A1.2A2,1a.4Ag=a.2A1.4At,1a.3qj=a.2A1.2M1,1a.4Ai=a.2A1.1y4,1a.4Ah=a.2A1.1AX,1a.1V5=1a.3qj[0],1a.2A4=1a.4Ai[0],1a.2A3=1a.4Ah[0],1a.1gd=1a.4Ag[0]);1a.1ky=1p 0;1a.21f=m(a.1DW,dN.6i);1a.4Af=m(a.1rR,.5*1a.4j.8j);1a.2eD=1g E;1a.4Ae=.11t;1a.3Vm=!0;1a.6l();if(g(7O.2Ae)){1d e=1a;1a.17F=1g 2Ae({28h:!1,2Af:!1,2Ma:!1,9P:1b(){e.15V.3Vu()}},{1n:1b(a,b){1f a[b]},1C:1b(a,b,c){"28h"===b&&!1===a.28h&&!0===c&&0==e.15V.16N.3qp&&e.15V.3Vr();a[b]=c;1f!0}});1a.4As=a.5I5||!1}1a.3VC=a.4Ar;1a.15V=1g Zd({gl:1a.6M,7r:1a,2zV:a.2zV,4Aq:a.4Aq,1jc:m(a.1jc,""),1x1:a.1x1,3qx:a.3qx});1a.3qr=!0;1a.31B=0;1a.2Mc=512;1a.3qq=EA.6i;1a.2fZ=1a.2g0=1p 0;1a.3Vv=1a.3Vw=0;1a.11m===La.198&&(1a.3qg=1g Ia);1a.2Mb=1g C(0,0);1a.20m=1g $y;1a.1V3=1g sv({1iM:!0,1J0:1,1yB:8,1FM:!0});1a.35e=1p 0;1a.28j=1g xv;1a.3qe=-1E3;1a.3qc=9E3;1a.3qf=-1E3;1a.3qd=9E3;"2d2"===1a.21P&&(1a.3VD=1g cn);1a.1hr=a.6b;1a.352=!1;1a.4Ad=m(a.2M9,!1);1a.4zS=a.5I4;1a.4Ak=!1;1a.35d=-1;1a.4Ac=.1;1a.4Aa=.98;1a.3Vt=1p 0;1a.4A9=!1;1a.4qq=1g A;1a.32e=!0;1a.2g3=!1;1a.2ox=1g hT;1a.16k=1g de({4r:a.4r,5I3:!0,1jp:1a.1V6});1a.2R=a.4r;1a.3qs=m(a.1jB,Wa.5I2);1a.2Me=m(a.3oV,Wa.5I1);1a.4zW=.5;1a.2K4=!1;1a.2fT=[];1a.4zE=1g A;1a.4zD=1g A;1a.34J=Pj.2y9;1a.1Ux=1g E(0,0,1,1);1a.4A4=1a.3Va=1a.1Uw=!1;1a.5HE=m(a.3Vo,"3qi");1a.1Bt=1p 0;1a.1qR=1g xd({4r:a.4r,1cJ:1a.1gb});1a.3qh=m(a.4A2,!1);1a.1Qk=k.6h;1a.4A3=m(a.3qm,!0)};Wa.5I2=y.1a7;Wa.5I1=0;1L.2X(Wa.1i,{26Z:{1n:1b(){1f 1a.2oA},1C:1b(a){1a.2oA=a}},21I:{1n:1b(){1f 1a.21H},1C:1b(a){v.1N.2b("2o 13z 1eD",a);1a.21H=a}},21K:{1n:1b(){1f 1a.1JM},1C:1b(a){v.1N.2b("1V 13z 1eD",a);1a.1JM=a}},8e:{1n:1b(){1f 1a.1Ef},1C:1b(a){v.1N.2b("8e",a);1a.1Ef=a;1a.6l()}},27B:{1n:1b(){1f 1a.2A9},1C:1b(a){1a.2A9=a}},1x1:{1n:1b(){1f 1a.15V.1g2},1C:1b(a){1a.15V.1g2=a}},1cJ:{1n:1b(){1f 1a.1gb},1C:1b(a){a&&(1a.1gb=a,1a.1gb.1fq=1a,1a.1qR.1cJ=1a.1gb)}},28k:{1n:1b(){1f 1a.28j.2r},1C:1b(a){1d b=1a;g(1a.3VC)||0!==b.15V.16N.3qp?b.28j.2r=a:b.15V.5I0().4b(1b(){b.28j.2r=a})}},5HV:{1n:1b(){1f 1a.27F},1C:1b(a){if(a!==1a.27F){1d b={7r:1a,5GX:a};1a.27F=a;1a.1bE(b,$$);1a.2KV()?1a.4j.2g5++:(1a.4j.2g5--,1a.4j.2g5=1k.1V(1a.4j.2g5,0))}}},13z:{1n:1b(){1f 1a.1br},1C:1b(a){1a.11m===La.1is&&1a.1br!=a&&1a.15V.20V(1a.5Y);1a.1br=a}},4vp:{1n:1b(){1f g(1a.2M5)?1a.2M5:1a.4Ap}},4vo:{1n:1b(){1f g(1a.2M6)?1a.2M6:1a.4Ao}},7Mq:{1C:1b(a){1a.4An=a}},21g:{1n:1b(){1f{21g:1a.6J,2Lb:1a.1Uy}},1C:1b(a){1a.1Mt=!1;1a.2z7=!0;g(1a.1jg)&&(1a.1jg.1M(),1a.1jg=1F);g(1a.1GF)||(1a.1GF=1g Ca({1O:1a.4j,1G:1a.1vj,1D:1a.1vj,8b:ua.9m}));g(1a.1dk)||(1a.1dk=1g Ca({1O:1a.4j,1G:13j,1D:64,8b:ua.9m,13E:!1}));1d b={7r:1a};if(g(a)&&g(a.21g)){1a.1Uy=a.2Lb||1a.1Uy;1a.6J=Jr.1y(a.21g,1a.6J);1a.6J.35m=!0;g(1a.6J.1FE)&&(1a.6J.1FE.2yj(),g(1a.1dk)&&1a.1dk.1iq({1G:13j,1D:64,1a9:1a.6J.1FE.1sv}));1a.1Uy!==Cc.2fg.2L9?(1a.1Mt=!0,1a.1bE(b,5HZ)):1a.1bE(b,Z$);if(1a.6J.3oh&&1a.1Uy===Cc.2fg.3S9&&0<1a.6J.2fb.1h){b=1a.6J.2fb;a=1g tc({1ga:{3q:k.1iy(b)}});a=tc.14t(a);1d c=1g A;A.12Z(1a.1dI,c);oe.21c(a,b,c,1a.5Y.3z===O.15j);b=oe.2yY(a);c=.11t*(b.z-b.x);1a.1jg=1g oe;1a.1jg.16b=a;1a.1jg.15x.x=b.x-c;1a.1jg.15x.y=b.y-c;1a.1jg.15x.z=b.z+c;1a.1jg.15x.w=b.w+c;E.1y(1a.1jg.15x,1a.2fh)}1a.35l||1a.3Vs.5k()}1s g(1a.6J)&&(1a.6J.1M(),1a.6J=1p 0),1a.1bE(b,Z$)}},1TW:{1n:1b(){1f 1a.1DQ},1C:1b(a){1a.1DQ=a}},7Mp:{1n:1b(){1f 1a.3VB},1C:1b(a){1a.3VB=a}},2Ah:{1n:1b(){1f g(1a.15V)?1a.15V.2Ah:Xt.4Am},1C:1b(a){g(1a.15V)&&(1a.15V.2Ah=a)}},5HY:{1n:1b(){1f 1a.4Al},1C:1b(a){1a.4Al=a}},28i:{1n:1b(){1f 1a.2Ag},1C:1b(a){1a.2Ag!==a&&(1a.2Ag=a,1a.20z())}},7Mo:{1n:1b(){1f 1a.3qw},1C:1b(a){1a.3qw=a}},7Mn:{1n:1b(){1f 1a.3qv},1C:1b(a){1a.3qv=a}},21b:{1n:1b(){1f 1g y(1a.2fv.x,1a.2fv.y,1a.2fv.z,1a.2fv.w)},1C:1b(a){a 2m y&&(1a.2fv=1g E(a.5r,a.5t,a.5G,a.2O))}},7Mm:{1n:1b(){1f 1g y(1a.2Mg.x,1a.2Mg.y,1a.2Mg.z,1a.2Mg.w)},1C:1b(a){a 2m y&&(1a.2Mg=1g E(a.5r,a.5t,a.5G,a.2O))}},2oz:{1n:1b(){1f 1a.3VA},1C:1b(a){1a.3VA!==a&&(1a.3VA=a,1a.3UY())}},5HX:{1n:1b(){1f 1a.3qu},1C:1b(a){1a.3qu=a}},7Ml:{1n:1b(){1f 1g y(1a.2Mf.x,1a.2Mf.y,1a.2Mf.z,1a.2Mf.w)},1C:1b(a){a 2m y&&(1a.2Mf=1g E(a.5r,a.5t,a.5G,a.2O))}},5ut:{1n:1b(){1f 1a.2mX},1C:1b(a){if(g(a)){1a.2mX=a;1d b={7r:1a};b.5F=a;1a.1bE(b,5HW)}}},1vk:{1n:1b(){1f 1a.2z8},1C:1b(a){if(a!==1a.2z8){1a.2z8=a;1d b=pa.1PL(1a.1V4);b.8d.3e=a;1a.1V4=pa.4t(b);1a.20z()}}},20v:{1n:1b(){1f 1a.2A5},1C:1b(a){if(1a.2A5!==a){1a.2A5=a;1a.2yR()||1a.5HV===Wt.4zH?1a.4j.2g5++:(1a.4j.2g5--,1a.4j.2g5=1k.1V(1a.4j.2g5,0));1d b={7r:1a};b.20v=a;1a.1bE(b,5HU)}}},3Vz:{1n:1b(){1f 1a.35k},1C:1b(a){1a.35k!==a&&(1a.35k=a,1a.1bE({7r:1a,3Vz:a},5HT))}},id:{1n:1b(){1f 1a.7R}},2i:{1n:1b(){1f 1a.6X}},2oy:{1n:1b(){1f 1a.3qt}},2JX:{1n:1b(){1f 1a.1Bs},1C:1b(a){v.2l("1Q",a);v.1N.7d("1Q",a);1a.1Bs=a}},3Vy:{1n:1b(){1f 1a.4Ak},1C:1b(a){v.2l("1Q",a);v.1N.7d("1Q",a);1a.4Ak=a;1a.20z()}},1jp:{1n:1b(){1f 1a.1V6},1C:1b(a){v.2l("1jp 1Q",a);1a.1V6=y.1y(a);1a.16k.1jp=y.1y(a)}},5HS:{1n:1b(){1f 1a.3Vx},1C:1b(a){v.2l("5HS 1Q",a);1a.3Vx=y.1y(a)}},7Mk:{1n:1b(){1f 1a.35d},1C:1b(a){v.2l("7Mj 1Q",a);1a.35d=a}},3Vc:{1n:1b(){1f 1a.4Aj},1C:1b(a){v.2l("3Vc",a);v.1N.7d("3Vc",a);1a.4Aj=a}},1hG:{1n:1b(){1f 1a.2zD},1C:1b(a){1a.2zD=a;1a.1bE({7r:1a},dD)}},1wq:{1n:1b(){1f 1a.2zC},1C:1b(a){1a.2zC=a;1a.1bE({7r:1a},dD)}},1lQ:{1n:1b(){1f 1a.2zA},1C:1b(a){1a.2zA=a;1a.1bE({7r:1a},dD)}},1qm:{1n:1b(){1f 1a.2zB},1C:1b(a){1a.2zB=a;1a.1bE({7r:1a},dD)}},1iP:{1n:1b(){1f 1a.27U},1C:1b(a){1a.27U=a;1a.1bE({7r:1a},dD)}},1jB:{1n:1b(){1f 1a.3qs},1C:1b(a){1a.3qs!==a&&(1a.3qs=a,1a.1bE({7r:1a},X$))}},3oV:{1n:1b(){1f 1a.2Me},1C:1b(a){1a.2Me!==a&&(1a.2Me=a,a={7r:1a},0===1a.2Me?1a.1bE(a,5HR):1a.1bE(a,X$))}},7Mi:{1n:1b(){1f 1a.1V5},1C:1b(a){1j(1d b=0;b<1a.3qj.1h;b++)1a.3qj[b]==a&&(1a.1V5=a,1a.2A4=1a.4Ai[b],1a.2A3=1a.4Ah[b],1a.1gd=1a.4Ag[b],1a.5H3())}},7Mh:{1n:1b(){1f 1a.1Bt},1C:1b(a){1a.1Bt=a}},1DW:{1n:1b(){1f 1a.21f},1C:1b(a){v.1N.2b("1DW",a);1a.21f!==a&&(1a.21f=a,1a.1bE({7r:1a,5HQ:a!==dN.6i},5HP))}},1rR:{1n:1b(){1f 1a.4Af},1C:1b(a){v.1N.2b("1rR",a);1a.4Af=a}},35j:{1n:1b(){1f 1a.4Ae},1C:1b(a){v.1N.2b("35j 1Q",a);1a.4Ae=a}},1F0:{1n:1b(){1f 1a.1ee},1C:1b(a){1a.1ee=a}},1va:{1n:1b(){g(1a.2Md)||(1a.2Md=1g dJ);1f 1a.2Md}},3nP:{1n:1b(){1f g(1a.2Md)?1a.2Md.5F:!1}},2A6:{1n:1b(){1f 1a.3qa},1C:1b(a){v.1N.2c("1bM 11v",a);k.2L(a,1a.3qa)||(1a.3qa=a)}},7Mg:{1n:1b(){1f 1a.3qr},1C:1b(a){1a.3qr=a}},2Jp:{1n:1b(){1f 1a.2Mc},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.2Mc=a}},5gG:{1n:1b(){1f 1a.3qq},1C:1b(a){if(1a.3qq!==a){1a.3qq=a;1d b=kT.35i(a),c=1a;g(1a.2g0)&&(1a.2g0.1M(),1a.2g0=1F);g(1a.2fZ)&&(1a.2fZ.1M(),1a.2fZ=1F);Z(gf(b.5HO),1b(a){c.2g0=1g Ca({1O:c.5Y.1O,5j:a,8b:ua.1UO,10E:Ha.7U})});Z(gf(b.5HN),1b(a){c.2fZ=1g Ca({1O:c.5Y.1O,5j:a,8b:ua.1UO,10E:Ha.7U})});b={7r:1a};b.5HM=a;1a.1bE(b,5HL)}}},7Mf:{1n:1b(){1f 1a.3Vw},1C:1b(a){1a.3Vw=a}},7Me:{1n:1b(){1f 1a.3Vv},1C:1b(a){1a.3Vv=a}},5HK:{1n:1b(){1f 1a.2Mb},1C:1b(a){v.1N.2c("5HK 1Q",a);C.1y(a,1a.2Mb);a={7r:1a};a.5F=0!==1a.2Mb.x||0!==1a.2Mb.y;1a.1bE(a,5HJ)}},3mA:{1n:1b(){1f 1a.17F},1C:1b(a){if(g(7O.2Ae)){1d b=1a;if(g(a)&&"11T"===2h a.2Af&&"11T"===2h a.28h&&"11T"===2h a.2Ma){1d c={};c.2Af=a.2Af;c.28h=a.28h;c.2Ma=a.2Ma;c.9P=1b(){b.15V.3Vu()};c={28h:!1,2Af:!1,2Ma:!1,9P:1b(){b.15V.3Vu()}};1a.17F=1g 2Ae(c,{1n:1b(a,b){1f a[b]},1C:1b(a,c,f){"28h"===c&&!1===a.28h&&!0===f&&0==b.15V.16N.3qp&&b.15V.3Vr();a[c]=f}});1a.15V.17F=1a.17F}}1s 1a.17F=1p 0,1a.15V.17F=1p 0}},1uY:{1n:1b(){1f 1a.1V3}},7Md:{1n:1b(){1f 1a.3qc},1C:1b(a){1a.3qc=a}},7Mc:{1n:1b(){1f 1a.3qe},1C:1b(a){1a.3qe=a}},7Mb:{1n:1b(){1f 1a.35h},1C:1b(a){1d b=7L(a),c=0<1a.35h;a=0<b;1a.35h=b;1a.35g===FA.3qo&&c!=a&&(b={7r:1a},b.5F=a,1a.1bE(b,5HI))}},2M9:{1n:1b(){1f 1a.4Ad},1C:1b(a){1a.4Ad=a;1a.20z()}},5HH:{1n:1b(){1f 1a.4Ac},1C:1b(a){1a.4Ac=a}},4Ab:{1n:1b(){1f 1a.4Aa},1C:1b(a){1a.4Aa=a}},5sF:{1n:1b(){1f 1a.3Vt},1C:1b(a){1a.3Vt=a;1a.1Bs=1a.4A9=!0}},7Ma:{1n:1b(){1f 1a.4A8}},4A7:{1n:1b(){1f 1a.4A6}},7M9:{1n:1b(){1f 1a.3Vs}},3nN:{1n:1b(){1f 1a.3Vm},1C:1b(a){1a.3Vm=a;1d b=pa.1PL(1a.1V4);b.12h=Oe.3n5(a);1a.1V4=pa.4t(b)}},2mR:{1n:1b(){1f 1a.32e},1C:1b(a){v.1N.7d("1Q",a);1a.32e=a}},7M8:{1n:1b(){1f 1a.2g3},1C:1b(a){v.2l("1Q",a);v.1N.7d("1Q",a);(1a.2g3=a)&&0===1L.9K(1a.15V.16N).1h&&1a.15V.3Vr()}},21B:{1n:1b(){1f 1a.2ox},1C:1b(a){v.2l("1Q",a);(1a.2ox.3Vq||g(a.2Ad)&&1a.2ox.2Ad!==a.2Ad)&&1a.16k.7f();1a.2ox=a;g(1a.16k)&&1a.16k.3Vp(1a.2ox)}},1Mr:{1n:1b(){1f 1a.1Ux},1C:1b(a){if(g(a)){if(!(a 2m Aa))1t 1g r("1Mr 2Q be a 1bX of 3iD.");E.9v(a.x,a.y,a.x+a.1G,a.y+a.1D,1a.1Ux)}}},33A:{1n:1b(){1f 1a.1Uw},1C:1b(a){a!==1a.1Uw&&(a?1a.1DW=dN.6i:E.9v(0,0,1,1,1a.1Ux),1a.1Uw=a,1a.1bE({7r:1a,5HG:a},5HF))}},3qn:{1n:1b(){1f 1a.3Va}},4A5:{1n:1b(){1f 1a.4A4},1C:1b(a){v.1N.7d("4A5",a);1a.4A4=a}},3Vo:{1n:1b(){1f 1a.5HE}},3qm:{1n:1b(){1f 1a.4A3},1C:1b(a){1a.4A3=a}},4A2:{1n:1b(){1f 1a.3qh},1C:1b(a){v.2l("1Q",a);v.1N.7d("1Q",a);1a.3qh=a}},2Ac:{1n:1b(){1f 1a.1qR.2Ac},1C:1b(a){v.2l("1Q",a);v.1N.7d("1Q",a);1a.1qR.2Ac=a}},2uN:{1n:1b(){1f 1a.1oB&&1a.1oB.2XE},1C:1b(a){if(!g(1a.1oB))1t 1g r("No 1Ge 2yQ in 1a 7r");v.2l("1Q",a);if(!(a 2m y))1t 1g r("19P 2uN to be 2h 1A");1a.1oB.2XE=a}},5HD:{1n:1b(){1f 1a.1oB&&1a.1oB.3ha},1C:1b(a){if(!1a.1oB)1t 1g r("No 1Ge 2yQ in 1a 7r");v.2l("1Q",a);if(!(a 2m C))1t 1g r("19P 5HD to be 2h 5hq");1a.1oB.3ha=a}},7M7:{1n:1b(){1f 1a.1oB&&1a.1oB.3hd},1C:1b(a){if(!1a.1oB)1t 1g r("No 1Ge 2yQ in 1a 7r");v.2l("1Q",a);v.1N.2b("1Q",a);1a.1oB.3hd=a}}});Wa.1i.6l=1b(){T$(1a);1d a=1a.11m,b=Oe.3Vn();a===La.2g4||a===La.1GQ||a===La.2Ab?(a=Oe.3Vk(),b=Oe.3Vn()):a===La.20W||a===La.2Aa?(a=Oe.3pV(),b=Oe.3UB()):a===La.2M8?a=Oe.4A1():(a=Oe.5HC(1a.1vk),a.12h=Oe.3n5(1a.3Vm));g(1a.3Vl)&&!0===1a.3Vl.3e&&(a.1bB=1a.3Vl);1a.1V4=pa.4t(a);1a.5HB=pa.4t(Oe.3Vk());1a.5HA=pa.4t(Oe.4A1());1a.4A0=pa.4t(b);if(g(1a.1Ql))1j(1a.28e=1g Ia,1a.1oB=[],b=0;b<1a.1Ql[0].3Vj.1h;b++){a=1a.1Ql[0].3Vj[b];1j(1d c=0;c<a.3Vi.1h;c++){1d d=a.3Vi[c];if("5Hz"===d.2i){1a.1oB[d.2i]=d.5Hy;1W}}1j(c=0;c<a.3Vh.1h;c++){d=a.3Vh[c];1d e=1F;6U(d.5Hx){1S 1:e=d.35f[0];1W;1S 2:e=1g C;C.5f(d.35f,0,e);1W;1S 3:e=1g k;k.5f(d.35f,0,e);1W;1S 4:e=1g E,E.5f(d.35f,0,e)}g(e)&&(1a.1oB[d.2i]=e)}}};Wa.1i.7M6=1b(){if(g(1a.35e))1f 1a.35e;if(1a.1zk){1d a=(1g zb("./3Q.15l")).5h(1a.1vy).5s();a=Fe(a);1d b=1a;1f a.4b(1b(a){1d c=[];if(!g(a.3ql))1f b.35e=c;1j(1d e=0,f=a.3ql.1h;e<f;e++)c.1q(1g Uy(a.3ql[e].id,a.3ql[e].2i,a.3ql[e].4xs));1f b.35e=c}).10g(1b(a){11l.7k(a)})}a=(1g zb("./5Ht.4zX")).5h(1a.1vy).5s();a=zj(a);b=1a;1f a.4b(1b(a){a=a.1gv;a=N.1vx(a,"7M5",a.1fz);1j(1d c=[],e=0,f=a.1h;e<f;e++){1d h=a[e],g=N.4zZ(h,"ID"),k=N.4zZ(h,"2fY");h=N.3Vg(h,"7M4");c.1q(1g Uy(g,k,h))}1f b.35e=c}).10g(1b(a){11l.7k(a)})};Wa.1i.3Vf=1b(a,b){1a.1V4.3qk.1h=0;if(1a.1V4.1bB.8H!==a||1a.1V4.1bB.13u!==b){1d c=pa.1PL(1a.1V4);c.1bB={3e:!0,8H:m(a,0),13u:m(b,0)};1a.1V4=pa.4t(c)}};Wa.1i.7M3=1b(){1f 1a.3qj};Wa.1i.7M2=1b(a){a=a||{};if(!g(a.2I))1t 1g r("3v.2I is 1X!");if(!g(a.3RG))1t 1g r("3v.3RG is 1X!");if(!g(a.3nL)&&!0!==a.3RJ)1t 1g r("3v.3nL is 1X or 3RJ 2Q be 8O!");a.5Hw=m(a.5Hw,"3qi");a.2yP=m(a.2yP,!1);1a.2KU=wc(a);if(!g(1a.2KU.3nL)&&1==1a.2KU.3RJ){1d b=1a;1a.5Hv().4b(1b(a){b.2KU.3RI=a})}};Wa.1i.7M1=1b(){1f 1a.2KU};Wa.1i.5Hv=1b(){1d a=Z.12L();if(1a.1zk){1d b=1a.1vy+"3Q.15l";g(Ba.12M)&&(b=Ba.1cl(b));Fe(b).4b(1b(b){b=b.4zY;1j(1d c=[],e=0;e<b.1h;e++){1d f=b[e],h={};h.33k=f.1pk;h.3RH=8A(f.5Hu.7M0);h.4ul=8A(f.5Hu.7LZ);c.1q(h)}a.5h(c)})}1s b=1a.1vy+"5Ht.4zX",g(Ba.12M)&&(b=Ba.1cl(b)),a=Z.12L(),Z(zj(b),1b(b){1d c=N.1Gs(b,"*","7LY");b=N.1Gs(b,"*","7LX");1j(1d e=[],f=0;f<c.1h;f++){1d h={};h.33k=c[f].1dd;1d g=b[f].1dd,k=g.3f("10D");h.3RH=8A(g.13c(0,k));h.4ul=8A(g.13c(k+1,g.1h-k-1));e.1q(h)}a.5h(e)});1f a.10l};Wa.1i.7LW=1b(){1f 1a.2A9};Wa.1i.7LV=1b(a){1a.2A9=a};Wa.1i.20V=1b(){1d a=1a.5Y.1qL.1qF;a[0]&&az(1a,a[0]);a[1]&&az(1a,a[1])};Wa.1i.1UI=1b(a,b){1f!g(a)||!g(b)||!1a.1br||g(1a.1Ql)&&b.19c.3e&&"1Ge"===b.19c.2i?!1:!0};1d eN=[];Wa.1i.2H=1b(a,b,c){if(1a.1UI(a,b)){1a.1gb.1g6&&T$(1a);5Hs(1a,a);1d d=b.3w;1a.177=d.8C;1a.16y=d.16y;1a.1ss=b.10s.11P;1a.5Y=b;d=c.1h;1a.15V.2H(a,b,c);1a.4zW=b.5Hr;1a.3qh&&0<1a.1qR.1h&&1a.1qR.2H(b,a,c);1a.2g3&&(1a.16k.5Hq=1a.7R,1a.16k.2H(b,a,c));1d e;1d f=0;1j(e=1a.2ow.1h;f<e;f++)1a.2ow.2a[f].2H(a,b,c);if(1a.11m===La.198&&!0!==1a.3Va){a=1a.3qg;eN.1h=0;f=1L.9K(a.15W);e=[];1j(1d h=0,g=f.1h;h<g;h++){1j(1d k=f[h],n=a.1n(k),m=!1,q=0,x=eN.1h;q<x;q++){1d r=eN[q],t=1k.1V(n.4o,r.4o),u=1k.2o(n.5a,r.5a);if(!(1k.2o(n.4C,r.4C)<=1k.1V(n.4P,r.4P)||t>=u)){e.1q(k);m=!0;1W}}m||eN.1q(n)}1a.2xN(e,!1)}1a.11m===La.1MM&&b.10s.3t&&0<c.1h-d&&(1a.1V3.1FM||1a.1V3.1bR)&&1a.20m.2H(b,d,1a.1V3);1a.11m===La.1is&&(b.2Lg=1a.1cJ.11a);-1E3===1a.3qe&&9E3===1a.3qc?0===b.3Ve&&0===b.3Vd?(1a.3qf=-1E3,1a.3qd=9E3):(1a.3qf=b.3Ve-10,1a.3qd=b.3Vd+10):(1a.3qf=1a.3qe,1a.3qd=1a.3qc)}};1d jp=1g E;Wa.1i.3t=1b(a,b){if(g(a)&&g(b)){if(b.10s.11P){jp.x=a.2eD[0];jp.y=a.2eD[1];jp.z=a.2eD[2];jp.w=1;1d c=1g A;A.12Z(1a.1dI,c);A.10r(c,jp,jp);jp.z=0>jp.z+1a.1D?2:jp.z+1a.1D;E.1y(jp,1a.2eD)}0<1a.15V.5Hp()&&(1a.1ss=b.10s.11P,1a.5Hc(a,b),1a.5Ha(a,b),1a.3SR(a,b),1a.5Hb(a,b));if(1a.1vo)1j(b=b.3w.1x3,a=1g A,A.1z0(b,a),b=0;6>b;b++)A.10r(a,1a.1iA[b],1a.2zk[b])}};Wa.1i.1Ma=1b(a,b){if(ni.1v9!==1a.1nw&&(v.2l("1Ma 1a8",a),1a.1Bs)){2K.8n(a)||(a=[a]);1a.3Vc||1a.1fU();1a.35d=m(b,-1);if(1a.11m===La.1is){b=0;1j(1d c=a.1h;b<c;b++)1a.15V.4zV(a[b],1a.5Y)}1a.1V2=1a.1V2.9V(a);1a.3V8(a,df.1pf)}};Wa.1i.2JO=1b(){1f[].9V(1a.1V2)};Wa.1i.1fU=1b(){if(ni.1v9!==1a.1nw&&(1a.2g3&&1a.16k.1fU(),!(1>1a.1V2.1h))){if(1a.11m===La.1is)1j(1d a=0,b=1a.1V2.1h;a<b;a++)1a.15V.4zV(1a.1V2[a],1a.5Y);1a.3V7(1a.1V2,df.1pf);1a.1V2.1h=0}};Wa.1i.7LU=1b(a){};Wa.1i.7LT=1b(a){1d b={7r:1a};b.5F=a;1a.1bE(b,5Ho)};Wa.1i.3Vb=1b(a,b){if(ni.1v9!==1a.1nw){v.2l("3Vb 1a8",a);v.2l("3Vb 1A",b);v.1N.2c("3Vb 1A",b);2K.8n(a)||(a=[a]);1j(1d c=1g Ia,d=0,e=a.1h;d<e;d++){1d f=a[d];g(f)&&(1a.1JO.1C(f,b),c.1C(f,b))}0<c.1h&&1a.1V1(c)}};Wa.1i.7LS=1b(){if(ni.1v9===1a.1nw)1f 1F;1d a=1a.1JO.15W,b={},c;1j(c in a)g(a[c])&&(b[c]=y.1y(a[c]));1f b};Wa.1i.5Hn=1b(a){v.2l("5Hn 1a8",a);2K.8n(a)||(a=[a]);if(!(1>1a.1JO.1h)){1j(1d b=1g Ia,c=0,d=a.1h;c<d;c++){1d e=a[c];1a.1JO.8h(e)&&(1a.1JO.3S(e),b.1C(e,y.28g))}0<b.1h&&1a.1V1(b)}};Wa.1i.7LR=1b(){if(!(1>1a.1JO.1h)){1d a=1g Ia,b;1j(b in 1a.1JO.15W)1a.1JO.15W.3p(b)&&a.1C(b,y.28g);1a.1JO.7f();1a.1V1(a)}};Wa.1i.4zU=1b(a,b){if(ni.1v9!=1a.1nw&&g(1a.2g2)){v.2l("4zU 1a8",a);v.2l("4zU 1D",b);2K.8n(a)||(a=[a]);1j(1d c=1g Ia,d=0,e=a.1h;d<e;d++){1d f=a[d];1a.2g2.1C(f,b);c.1C(f,b)}1a.3q7(c)}};Wa.1i.7LQ=1b(){g(1a.2g2)&&(1a.2g2.7f(),1a.3V0())};Wa.1i.5Hm=1b(a){if(g(1a.2g2)){v.2l("5Hm 1a8",a);2K.8n(a)||(a=[a]);1j(1d b=0,c=a.1h;b<c;b++)1a.2g2.3S(a[b]);1a.3V1(a)}};Wa.1i.2g1=1b(a,b){if(ni.1v9===1a.1nw)1f 1F;v.2l("2g1 1a8",a);v.1N.7d("2g1 1cA",b);2K.8n(a)||(a=[a]);if(0===a.1h)1a.3Va=b,1a.2M7.7f(),1a.353(!b);1s{1d c=1a.2M7;b?(a.5d(1b(a){c.1C(a,!0)}),1a.3V7(a,df.3qb)):(a.5d(1b(a){c.3S(a)}),1a.3V8(a,df.3qb))}};Wa.1i.2xN=1b(a,b){0===a.1h?1a.2g1([],b):(1a.2g1([],b),1a.2g1(a,b))};Wa.1i.4zT=1b(a,b){if(1a.11m===La.1MM&&g(1a.21O)){v.2l("4zT 7LP",a);v.1N.7d("4zT 1cA",b);2K.8n(a)||(a=[a]);1j(1d c=0,d=a.1h;c<d;c++)1a.21O.3p(a[c])&&(1a.21O[a[c]]=b)}};Wa.1i.7LO=1b(){if(1a.11m!==La.1MM||!g(1a.21O))1f[];1d a=[],b;1j(b in 1a.21O)1a.21O.3p(b)&&a.1q(b);1f a};Wa.1i.7LN=1b(a){if(1a.11m===La.1MM&&g(1a.4zS))1f 1a.4zS.1n(a)};Wa.1i.7LM=1b(a){if(!1a.13z)1f!1;if(ni.1v9===1a.1nw)1f!0;a=1a.1JO.1n(a);1d b=!0;g(a)&&(b&=a.2O);1f b};Wa.1i.7LL=1b(a){1a.1Qk=k.1y(1a.3qa);1a.3V8(a,df.3V9)};Wa.1i.7LK=1b(a){1a.3V7(a,df.3V9)};Wa.1i.7LJ=1b(){1a.1Qk=k.6h;1a.5Hk(df.3V9)};Wa.1i.3V8=1b(a,b){if(ni.1v9!==1a.1nw){v.2l("1C 4zR 4zQ 1a8",a);v.2l("1C 4zR 4zQ 14T",b);2K.8n(a)||(a=[a]);b===df.1es&&(1a.3q9&df.1es)===df.2A8&&(1a.3q9|=b,1a.1bE({7r:1a,5F:!0},5Hl));1j(1d c=1g Ia,d,e=0,f=a.1h;e<f;e++)if(d=a[e],g(d)){1d h=m(1a.1GP.1n(d),0);h!==b&&(h|=b,1a.1GP.1C(d,h),c.1C(d,h))}0<c.1h&&1a.2A7(c)}};Wa.1i.3V7=1b(a,b){if(ni.1v9!==1a.1nw){v.2l("1C 4zR 4zQ 1a8",a);2K.8n(a)||(a=[a]);b^=df.1zj;1j(1d c=1g Ia,d,e=0,f=a.1h;e<f;e++){d=a[e];1d h=1a.1GP.1n(d);g(h)&&(h&=b,h===df.2A8?1a.1GP.3S(d):1a.1GP.1C(d,h),c.1C(d,h))}0<c.1h&&1a.2A7(c)}};Wa.1i.5Hk=1b(a){if(ni.1v9!==1a.1nw&&!(1>1a.1GP.1h)){a^=df.1zj;1d b=1g Ia,c=1a.1GP.15W,d;1j(d in c)if(c.3p(d)){1d e=1a.1GP.1n(d);g(e)&&(e&=a,e===df.2A8?1a.1GP.3S(d):1a.1GP.1C(d,e),b.1C(d,e))}0<b.1h&&1a.2A7(b)}};Wa.1i.7LI=1b(a,b){v.2l("1C 7LH 4zP",a);2K.8n(a)||(a=[a]);1d c=1a.2M6,d=1k.8a(1a.2M5-c+1);g(1a.35b)||(1a.35b=1g Ca({1O:1a.4j,8b:ua.9m,10E:Ha.7U,1G:d,1D:1,10v:1g Eb({14A:nb.10U,15u:Rb.10U})}),1a.1bE({7r:1a},5Hj));1d e=1g 4L(4*d);if(b!==vY.5Hi){1d f;if(b===vY.5Hh)1j(b=0,f=a.1h;b<f;b++){1d h=a[b];1a.35c.1C(h,h)}1s 1j(b=0,f=a.1h;b<f;b++)h=a[b],1a.35c.8h(h)&&1a.35c.3S(h);1j(b=0;b<1a.35c.2a.1h;b++)h=1a.35c.2a[b],a=h-c,e[4*a]=255,e[4*a+1]=255,e[4*a+2]=255,e[4*a+3]=255}1a.35b.1iq({1G:d,1D:1,1a9:e})};Wa.1i.7LG=1b(a){1d b=a.2i;a=a.1K;if(!g(b)||!g(a))1f!1;1d c=1a.1GO.1n(b);if(g(c))1f!1;g(1a.1GE)||(1a.1GE=1g Ca({1O:1a.4j,1G:1a.1vj,1D:1a.1vj,8b:ua.9m}));a=1a.4zL(a);1a.1GO.1C(b,a);1a.35a=!0;1===1a.1GO.2a.1h&&1a.1bE({7r:1a},5Hg);1f!0};Wa.1i.7LF=1b(a){if(!1a.1GO.3S(a))1f!1;1a.35a=!0;0===1a.1GO.2a.1h&&1a.1bE({7r:1a},Y$);1f!0};Wa.1i.7LE=1b(){1j(1d a=0;a<1a.1GO.2a.1h;a++)1a.1GO.2a[a].1M(),1a.1GO.2a[a]=1F;1a.1GO.7f();1a.35a=!0;1a.1bE({7r:1a},Y$)};Wa.1i.7LD=1b(a){a=m(a,{});1d b=a.2i,c=a.14w,d=a.4d;if(!g(b)||!g(c)||!g(a.4d))1f!1;a=1a.28f.1n(b);if(g(a))1f!1;g(1a.358)||(1a.358=1g Ca({1O:1a.4j,1G:1a.1vj,1D:1a.1vj,8b:ua.9m}));d=1g Ca({1O:1a.4j,1G:d.1G,1D:d.1D,8b:ua.9m,5j:d});1a.3V4.1C(b,d);a=1a.5Hd(c);1a.28f.1C(b,a);1a.3V5=!0;1===1a.28f.2a.1h&&1a.1bE({7r:1a},W$);1f!0};Wa.1i.7LC=1b(a){if(!g(a))1f!1;1d b=1a.28f.1n(a);if(!g(b))1f!1;1a.3V4.3S(a);1a.28f.3S(a);1a.3V5=!0;1===1a.28f.2a.1h&&1a.1bE({7r:1a},W$);1f!0};Wa.1i.7LB=1b(a,b){1a.5Hf();if(b==MC.4zO||b==MC.4zN)1j(1d c=a.1h,d=0;d<c;d++)1a.4uM({1K:a[d],2i:"7LA"+d});1a.4zM=b};Wa.1i.5Hf=1b(){1a.33t()};Wa.1i.4uM=1b(a){1d b=a.2i;a=a.1K;if(!g(b)||!g(a))1f!1;1d c=1a.1GN.1n(b);if(g(c))1f!1;g(1a.21N)||(1a.21N=1g Ca({1O:1a.4j,1G:1a.1vj,1D:1a.1vj,8b:ua.9m}));a=1a.4zL(a);1a.1GN.1C(b,a);1a.355=!0;1===1a.1GN.2a.1h&&1a.1bE({7r:1a},5He);1f!0};Wa.1i.5zG=1b(a){if(!1a.1GN.3S(a))1f!1;1a.355=!0;0===1a.1GN.2a.1h&&1a.1bE({7r:1a},V$);1f!0};Wa.1i.33t=1b(){1j(1d a=0;a<1a.1GN.2a.1h;a++)1a.1GN.2a[a].1M(),1a.1GN.2a[a]=1F;1a.1GN.7f();1a.355=!0;1a.1bE({7r:1a},V$)};Wa.1i.4zL=1b(a){1d b=k.1iy(a);if(1a.177!==O.6G)1j(1d c=0;c<b.1h;c++)b[c]=bz(1a,b[c]);b=1g tc({1ga:{3q:b},16U:!0});b=tc.14t(b);c=1g A;A.12Z(1a.1dI,c);oe.21c(b,a,c);a=1g oe;a.16b=b;a.15x=oe.2yY(b);1f a};Wa.1i.5Hd=1b(a){a=1g Hi({3g:a});a=Hi.14t(a);1d b=1g A;A.12Z(1a.1dI,b);if(1a.177===O.15j)1j(1d c=0;c<a.2w.1K.2a.1h;c+=a.2w.1K.2Z){1d d=1g k(a.2w.1K.2a[c],a.2w.1K.2a[c+1],a.2w.1K.2a[c+2]);d=T.12y(d);1d e=1g k;1a.16y.12z(d,e);a.2w.1K.2a[c]=e.z;a.2w.1K.2a[c+1]=e.x;a.2w.1K.2a[c+2]=e.y}oe.21c(a,1p 0,b);b=1g oe;b.16b=a;b.15x=oe.2yY(a);1f b};Wa.1i.3V2=1b(a){1j(1d b=1g E(3a.6w,3a.6w,-3a.6w,-3a.6w),c=0;c<a.1h;c++){1d d=a[c].15x;b.x=1k.2o(d.x,b.x);b.y=1k.2o(d.y,b.y);b.z=1k.1V(d.z,b.z);b.w=1k.1V(d.w,b.w)}1f b};Wa.1i.3q8=1b(a,b,c,d){if(g(b)&&!g(b.10u)){1d e=1g Oa({6Z:Ja.11G});b.10u=e;1d f={1K:0};e.4c=Fb.1M5({1O:a,3y:b.16b,7W:f,1tF:xa.7C,1qK:!0});b=1g ja({5p:["#1z 2vO\\1J 1o 14o;\\n#1u\\n#1z 1eW\\n   3G 1v 6r;\\n   2n 2v 18G;\\n#1u\\n\\2s 2k()\\n{\\n   2C = 1m(1.0);\\n#1z 2vO\\n   2C = 2sJ(14o);\\n#1u\\n#1z 1eW\\n   2C = 1Y(18G,6r);\\n#1u\\n}"]});0==d?(b.2N.1q("2vO"),e.2z=Ga.4t({1O:a,5O:"3Q 1m 1K;\\n\\1B 1m 1am;\\n\\1J 1o 14o;\\n\\2s 2k()\\n{\\n   1m 1fn = 1K;\\n   1v 1IM = 1am.zw - 1am.xy;\\n   1fn.xy = (1fn.xy - 1am.xy) / 1IM.xy * 2.0 - 1.0;\\n   6I = 1m(1fn.xy, 0.5, 1.0);\\n   14o = 1fn.z;\\n}",5A:b,7W:f})):2==d?(b.2N.1q("1eW"),e.2z=Ga.4t({1O:a,5O:"3Q 1m 1K;\\1B 1m 1am;\\1B 1m 2l2;\\1J 1o 14o;\\1J 1v 6r;\\n\\2s 2k()\\n{\\n   1m 1fn = 1K;\\n   1v 1IM = 1am.zw - 1am.xy;\\n   6r = (1fn.xy - 2l2.xy) / (2l2.zw - 2l2.xy);\\n   1fn.xy = (1fn.xy - 1am.xy) / 1IM.xy * 2.0 - 1.0;\\n   6I = 1m(1fn.xy, 0.5, 1.0);\\n   14o = 1fn.z;\\n}",5A:b,7W:f})):e.2z=Ga.4t({1O:a,5O:"3Q 1m 1K;\\n\\1B 1m 1am;\\n\\2s 2k()\\n{\\n   1m 1fn = 1K;\\n   1v 1IM = 1am.zw - 1am.xy;\\n   1fn.xy = (1fn.xy - 1am.xy) / 1IM.xy * 2.0 - 1.0;\\n   6I = 1m(1fn.xy, 0.0, 1.0);\\n}",5A:b,7W:f});e.4Q=1g eb({1O:a,13I:[c],16Y:!1});e.4w=pa.4t({5q:1g Aa(0,0,1a.1vj,1a.1vj)})}};Wa.1i.3SR=1b(a,b){if(1a.2z7)if(g(1a.1jg)){1a.2fz=!0;1a.2z7=!1;b=1g Ec({1A:1g y(0,0,0,0),4e:1});b.4Q=1g eb({1O:a,13I:[1a.1GF],16Y:!1});b.4w=pa.4t();b.5P(a);1a.3q8(a,1a.1jg,1a.1GF,1);1d c=1a;1a.1jg.10u.4J={1am:1b(){1f c.2fh}};1a.1jg.10u.5P(a);b.4Q.1M()}1s 1a.2fz=!1};Wa.1i.5Hc=1b(a,b){if(1a.35a){1a.3V6=!0;1a.35a=!1;1a.34Y=1a.3V2(1a.1GO.2a);b=1g Ec({1A:1g y(1,1,1,1),4e:1});g(1a.1GE)||(1a.1GE=1g Ca({1O:1a.4j,1G:1a.1vj,1D:1a.1vj,8b:ua.9m}));b.4Q=1g eb({1O:a,13I:[1a.1GE],16Y:!1});b.4w=pa.4t();b.5P(a);1d c=1a.1GO.2a.1h;1>c&&(1a.3V6=!1);1j(1d d=0;d<c;d++){1d e=1a.1GO.2a[d];1a.3q8(a,e,1a.1GE,0);1d f=1a;e.10u.4J={1am:1b(){1f f.34Y}};e.10u.5P(a)}b.4Q.1M()}};Wa.1i.5Hb=1b(a,b){1b c(a,b,c){1f{1am:1b(){1f a},18G:1b(){1f b},2l2:1b(){1f c}}}if(1a.3V5){1a.3V5=!1;1a.3V3=1a.3V2(1a.28f.2a);1a.4zK=0<1a.28f.1h;b=1g Ec({1A:1g y(1,1,1,1),4e:1});b.4Q=1g eb({1O:a,13I:[1a.358],16Y:!1});b.4w=pa.4t();b.5P(a);1j(1d d=1a.28f.2a.1h,e=0;e<d;e++){1d f=1a.28f.2a[e],h=1a.3V4.2a[e];1a.3q8(a,f,1a.358,2);f.10u.4J=c(1a.3V3,h,f.15x);f.10u.5P(a)}b.4Q.1M()}};Wa.1i.5Ha=1b(a,b){if(1a.355&&(b=1a.1GN.2a.1h,1a.2M4=0<b,1a.355=!1,1a.34X=1a.3V2(1a.1GN.2a),0!=b)){1d c=1g Ec({1A:1g y(0,0,0,0),4e:1});c.4Q=1g eb({1O:a,13I:[1a.21N],16Y:!1});c.4w=pa.4t();c.5P(a);1j(1d d=0;d<b;d++){1d e=1a.1GN.2a[d];1a.3q8(a,e,1a.21N,1);1d f=1a;e.10u.4J={1am:1b(){1f f.34X}};e.10u.5P(a)}c.4Q.1M()}};Wa.1i.353=1b(a){1a.1bE({7r:1a,1cA:a},5H9)};Wa.1i.1V1=1b(a){1a.1bE({1a8:a},5H8)};Wa.1i.3q7=1b(a){1a.1bE({1a8:a},5H7)};Wa.1i.3V1=1b(a){1a.1bE({1a8:a},5H6)};Wa.1i.3V0=1b(){1a.1bE({},5H5)};Wa.1i.2A7=1b(a){1a.1bE({1a8:a,2M:1k.1V(1k.abs(1a.2A6.x),1k.abs(1a.2A6.y),1k.abs(1a.2A6.z))},5H4)};Wa.1i.20z=1b(){1a.15V.20z();1a.6l()};Wa.1i.5H3=1b(){1a.352=!0};Wa.1i.2L7=1b(){1a.3q5()&&1a.4j.351--;1j(1d a=0,b=1a.2ow.2a.1h;a<b;a++)1a.2ow.2a[a].1M(),1a.2ow.2a[a]=1F;1a.2ow.7f();1a.1Us=1a.1vo=!1;1a.1bE({7r:1a,5F:!1},rJ)};Wa.1i.2nA=1b(a){a=a||{};if(!(a.6e&&a.1K||a.2fc&&a.1gm))1t 1g r("6e 1K is 1X to 6F 4vs");1a.1Mw=2;if(g(a.3oH))6U(a.3oH){1S"4vr":1a.1Mw=1;1W;1S"5An":1a.1Mw=2;1W;1S"5Am":1a.1Mw=3}if(a.6e){1d b=1g A,c=a.1K;1d d=a.8e||0;1d e=a.8q||0;1d f=a.12C||0;1d h=1g $b(d,e,f);1a.177===O.6G?b=Da.1nq(c,h,ba.9y):(h=1g $b(e,-f,-d),c=bz(1a,c),A.1Bh(A.1y(A.8K),c,b),h=J.28d(h),A.3UZ(b,h,b));1a.177===O.6G?(h=.5*a.6e.x,c=.5*a.6e.y,d=.5*a.6e.z):(h=.5*a.6e.z,c=.5*a.6e.x,d=.5*a.6e.y);a=[];a[0]=1g E;a[0].x=-h;a[0].y=c;a[0].z=d;a[0].w=1;a[1]=1g E;a[1].x=h;a[1].y=c;a[1].z=d;a[1].w=1;a[2]=1g E;a[2].x=h;a[2].y=-c;a[2].z=d;a[2].w=1;a[3]=1g E;a[3].x=-h;a[3].y=-c;a[3].z=d;a[3].w=1;a[4]=1g E;a[4].x=-h;a[4].y=c;a[4].z=-d;a[4].w=1;a[5]=1g E;a[5].x=h;a[5].y=c;a[5].z=-d;a[5].w=1;a[6]=1g E;a[6].x=h;a[6].y=-c;a[6].z=-d;a[6].w=1;a[7]=1g E;a[7].x=-h;a[7].y=-c;a[7].z=-d;a[7].w=1;1j(h=0;8>h;h++)A.10r(b,a[h],a[h]);1a.1iA[0]=E.1y($l(a[0],a[1],a[2]));1a.1iA[1]=E.1y($l(a[0],a[4],a[1]));1a.1iA[2]=E.1y($l(a[0],a[3],a[4]));1a.1iA[3]=E.1y($l(a[6],a[2],a[5]));1a.1iA[4]=E.1y($l(a[6],a[7],a[2]));1a.1iA[5]=E.1y($l(a[6],a[5],a[7]))}1s 1j(h=0;h<a.2fc.1h;h++)b=a.2fc[h],c=a.1gm[h],1a.1iA[h].x=c.x,1a.1iA[h].y=c.y,1a.1iA[h].z=c.z,1a.1iA[h].w=-k.2A(b,c);1a.1vo||(a={7r:1a,5F:!0},1a.1bE(a,rJ));1a.1vo=!0};Wa.1i.5H1=1b(a,b,c,d){d=m(d,DA.6i);1a.3q4!==d&&(d!==DA.6i?1a.4j.351++:1a.4j.351--);1a.3q4=d;1a.3q5()&&(d=1a.2ow.1n(0),g(d)||(d=1g sq(1a),1a.2ow.1C(0,d)),d.5H2(a,b,c),1a.1Us||1a.4j.351++)};Wa.1i.7Lz=1b(a,b,c,d){1a.177===O.15j&&(a=bz(1a,a),b=bz(1a,b),c=bz(1a,c));1a.5H1(a,b,c,d);1a.1iA[0]=$l(a,b,c);1a.1Mw=2;1a.1Us=!0;1a.1vo||1a.1bE({7r:1a,5F:!0},rJ);1a.1vo=!0};Wa.1i.7Ly=1b(a){a=a||{};if(!a.6e||!a.1K)1t 1g r("6e 1K is 1X to 6F 4vs");1a.1Mw=2;1d b=1g A,c=a.1K;1d d=a.8e||0;1d e=a.8q||0;1d f=a.12C||0;1d h=m(a.7Lx,.1);d=1g $b(B.8I(d),B.8I(e),B.8I(f));1a.177===O.6G?b=Da.1nq(c,d,ba.9y):(c=bz(1a,c),A.1Bh(A.1y(A.8K),c,b),c=J.28d(d),A.3UZ(b,c,b));c=.5*a.6e.x;d=.5*a.6e.y;a=[];a[0]=1g E;a[0].x=-c;a[0].y=d;a[0].z=h;a[0].w=1;a[1]=1g E;a[1].x=c;a[1].y=d;a[1].z=h;a[1].w=1;a[2]=1g E;a[2].x=c;a[2].y=-d;a[2].z=h;a[2].w=1;a[3]=1g E;a[3].x=-c;a[3].y=-d;a[3].z=h;a[3].w=1;a[4]=1g E;a[4].x=-c;a[4].y=d;a[4].z=-h;a[4].w=1;a[5]=1g E;a[5].x=c;a[5].y=d;a[5].z=-h;a[5].w=1;a[6]=1g E;a[6].x=c;a[6].y=-d;a[6].z=-h;a[6].w=1;a[7]=1g E;a[7].x=-c;a[7].y=-d;a[7].z=-h;a[7].w=1;1j(h=0;8>h;h++)A.10r(b,a[h],a[h]);1a.1iA[1]=E.1y($l(a[0],a[4],a[1]));1a.1iA[2]=E.1y($l(a[0],a[3],a[4]));1a.1iA[3]=E.1y($l(a[6],a[2],a[5]));1a.1iA[4]=E.1y($l(a[6],a[7],a[2]));1a.1iA[5]=E.1y($l(a[6],a[5],a[7]));1a.1vo||1a.1bE({7r:1a,5F:!0},rJ);1a.1vo=!0};Wa.1i.7Lw=1b(){if(1a.1vo){1d a=Cb.1vu(1a.1iA[0]),b=1a.1DQ;if(g(b)){1d c=Q.1tI(b),d=Q.21k(b),e=Q.1tH(b),f=Q.2fk(b);c=k.15i(c.3N,c.4k,c.1D);d=k.15i(d.3N,d.4k,d.1D);e=k.15i(e.3N,e.4k,e.1D);f=k.15i(f.3N,f.4k,f.1D);b=1g k(0,0,0);c=k.1T(c,1g k);d=k.1T(d,1g k);e=k.1T(e,1g k);f=k.1T(f,1g k);c=1g rb(b,c);d=1g rb(b,d);e=1g rb(b,e);b=1g rb(b,f);f=ib.1xl(c,a);c=ib.1xl(d,a);e=ib.1xl(e,a);a=ib.1xl(b,a);if(g(f)&&g(c)&&g(e)&&g(a))1f{12i:{1iD:[f,c,e,a],2q:y.9r.2on(.5),16U:!0}}}}};Wa.1i.4zJ=1b(a){a=a||{};if(!a.6W)1t 1g r("1K 3L 3s is 1X to add 1Z 12w");1d b=1a.28e.1h;1a.28e.1C(b,a);1f b};Wa.1i.7Lv=1b(a){1a.28e.3S(a)};Wa.1i.1PK=1b(a,b){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=b?1<<a|1a.11h:~(1<<a)&1a.11h};Wa.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};Wa.1i.3UY=1b(){1a.1bE({7r:1a},5H0)};Wa.1i.3UX=1b(){1f 1a.11m!==La.2M3?!1:(1a.1cJ.15b===xg.34Z||1a.1cJ.15b===xg.3q6)&&1a.27F===Wt.4zI};Wa.1i.2KV=1b(){1f 1a.27F===Wt.4zH};Wa.1i.2yR=1b(){1f 1a.2A5===kj.4zG||1a.2A5===kj.4zF};Wa.1i.3q5=1b(){1f 1a.3q4!==DA.6i};Wa.1i.5GZ=1b(a){a?1a.4j.3pS++:1a.4j.3pS--};Wa.1i.5GY=1b(){1a.1bE({7r:1a,5GX:1a.27F},$$)};Wa.1i.33i=1b(a,b){1a.1bE({5GW:a,7Z:b,7r:1a},5GV)};Wa.1i.3UW=1b(a){if(!8A(a))1t 1g r("id 2Q be a 2b!");1f 1a.15V.3UW(a)};Wa.1i.1bE=1b(a,b){1a.15V.1bE(a,b)};Wa.1i.3Z=1b(){1f!1};Wa.1i.1M=1b(){g(1a.15V)&&(1a.15V.1M(),1a.15V=1F);1j(1d a=0;a<1a.1GO.2a.1h;a++)1a.1GO.2a[a].1M(),1a.1GO.2a[a]=1F;1a.1GO.7f();4Y 1a.34Y;1a.34Y=1F;g(1a.1GE)&&(1a.1GE.1M(),1a.1GE=1F);1j(a=0;a<1a.1GN.2a.1h;a++)1a.1GN.2a[a].1M(),1a.1GN.2a[a]=1F;1a.1GN.7f();4Y 1a.34X;1a.34X=1F;g(1a.21N)&&(1a.21N.1M(),1a.21N=1F);g(1a.21N)&&(1a.21N.1M(),1a.21N=1F);g(1a.1dk)&&(1a.1dk.1M(),1a.1dk=1F);g(1a.1GF)&&(1a.1GF.1M(),1a.1GF=1F);g(1a.6J)&&(1a.6J.1M(),1a.6J=1F);g(1a.1jg)&&(1a.1jg.1M(),1a.1jg=1F);g(1a.3UV)&&(1a.3UV.1M(),1a.3UV=1F);g(1a.2g0)&&(1a.2g0.1M(),1a.2g0=1F);g(1a.2fZ)&&(1a.2fZ.1M(),1a.2fZ=1F);g(1a.21M)&&(1a.21M.1M(),1a.21M=1F);1a.11m===La.1is&&1a.20V();1f la(1a)};Wa.1i.7Lu=1b(a){if(!(g(a.2a)&&g(a.1G)&&g(a.1D)&&g(a.4e)&&g(a.1bj)&&g(a.1k6)&&g(a.1wE)&&g(a.1Qh)&&g(a.14w)))1t 1g r("16w 2M2 2c");1a.1ky={};1d b=a.1G,c=a.1D,d=a.4e,e=1k.8a(1k.3Y(d));1a.1ky.2yk=e;1d f=1k.1V(b,c)+2;1a.1ky.2eM=f;1j(1d h,l=1;l<f*e-2;)l<<=1;h=l;1a.1ky.1U5=h;l=a.1bj;1d k=a.1k6;1a.1ky.5GU=l;1a.1ky.5GT=k;1a.1ky.10V=b;1a.1ky.10o=c;1a.1ky.1Qj=d;1d n=a.14w.3UT.x,m=a.14w.3UU.y,q=a.14w.3UU.x,x=a.14w.3UT.y;1a.1ky.5GS={3B:n,5C:m,2W:q,7b:x,1Qh:a.1Qh,1wE:a.1wE,1G:q-n,1h:m-x,1D:a.1wE-a.1Qh};n=h*h;m=2K(n);m.4K(-1);q=l-k;1j(x=0;x<d;x++)1j(1d u=8A(x/e)*f,t=x%e*f,v=0;v<f-2;v++)1j(1d y=0;y<f-2;y++){1d A=x*c*b+(c-1-1k.2o(v,c-1))*b+1k.2o(y,b-1),B=a.2a[A];-1Ax!=B&&(B=(B-k)/q,A=(u+v)*h+t+y,m[A]=B)}a=1g 4A(m,0,n);1a.1ky.1hW=1g 4L(a.3J,0,4*n);1a.2A4=l;1a.2A3=k};Wa.1i.3UA=1b(a){1a.2fT=a};Wa.1i.5GR=1b(a,b){1a.4zE=a;1a.4zD=b};Wa.1i.3pU=1b(a){1a.34J=a};1d 5GQ=1g N,Yw=1b(a){a=a||{};1a.2R=a.4r;1a.6X=a.2i;1a.2os=[];1j(1d b=a.2I,c=0;c<a.9Q.1h;c++){1d d=a.9Q[c].9w;d=d.13c(d.3f("/"),d.1sl("/"));1d e=a.9Q[c].1I,f=1g 1fZ(a.9Q[c].15k);f=1g 4L(f.3J,4);f=Dp.1pn(f).3J;f=1g 4L(f);f=Me(f);f=5GQ.1dD(f);"5GP"===e?1a.5GA(f,b,d):"1v9"===e&&1a.3me(f,b,d)}};1L.2X(Yw.1i,{4V:{1n:1b(){1f 1a.2os.1h}}});Yw.1i.2ov=1b(a){1f 1a.2os[a]};Yw.1i.3me=1b(a,b,c){1d d=a.1gv,e=d.3pZ;a=N.15X(d,"2M0",e);1d f=N.1Qi(d,"34W",e),h=N.121(d,"5GO",e),l=N.6B(h,"4zC",e);h=N.6B(h,"4zB",e);1d p=N.121(d,"3pY",e),n=N.6B(p,"3q3",e);p=N.6B(p,"3q2",e);1d m=N.121(d,"3UN",e),q=N.6B(m,"3UM",e);m=N.6B(m,"3UL",e);1d x=N.15X(d,"3q1",e),r=N.121(d,"2A0",e),t=N.6B(r,"X",e),u=N.6B(r,"Y",e);r=N.6B(r,"Z",e);1d v=N.15X(d,"34V",e),y=N.15X(d,"2GW",e),A=N.121(d,"2yo",e),B=N.121(d,"4zA",e);if(g(A)){B=N.6B(A,"1Mj",e);1d C=N.6B(A,"2eV",e),E=N.6B(A,"1Dh",e);A=N.6B(A,"2eU",e);B=Q.8g(B,A,E,C)}1s if(g(B)){A=N.6B(B,"5GN",e);C=N.6B(B,"5GM",e);N.6B(B,"5GL",e);E=N.6B(B,"5GK",e);1d K=N.6B(B,"5GJ",e);N.6B(B,"5GI",e);A=180*1k.abs(A)/(16t*1k.PI);C=180*1k.abs(C)/(16t*1k.PI);E=180*1k.abs(E)/(16t*1k.PI);K=180*1k.abs(K)/(16t*1k.PI);B=Q.8g(t-A,u-C,t+E,u+K)}1s B=Q.8g(t-1E-5,u-1E-5,t+1E-5,u+1E-5);A=1p 0;K=N.1vx(d,"5GH",e);if(g(K)&&0<K.1h){1d F=[],H=[],I=[];C=0;1j(E=K.1h;C<E;C++){1d U=K[C];A=N.15X(U,"2fY",e);F.1q(A);A=N.15X(U,"3UP",e);1d R=N.121(U,"3US",e);g(R)&&(U=N.6B(R,"3UR",e),R=N.6B(R,"3UQ",e),H.1q(R),I.1q(U));A={2A2:!0,5GG:A,2M1:F,1y4:H,1AX:I}}}C=N.121(d,"3US",e);g(C)&&(U=N.6B(C,"3UR",e),R=N.6B(C,"3UQ",e),C=N.15X(d,"3UP",e),g(A)?(A.2M1.1q(""),A.1y4.1q(R),A.1AX.1q(U)):A={2A2:!0,5GG:C,2M1:[""],1y4:[R],1AX:[U]});C=b.7g("?");1<C.1h&&(4fg(C[1]),b=C[0]);b=b.3X(/1nn$/g,"2g/9w")+c;b=1g zb(b);c=[];K=/\\\\+/g;C=N.121(d,"5GF",e);d=N.1vx(C,"5GE",e);if(0<d.1h)1j(C=0,E=d.1h;C<E;C++)I=d[C],F=N.15X(I,"3UO",e),F=F.3X(K,"/"),F=F.3X(/(\\.1j4)|(\\.2zY)/gi,""),H=qp(F),U=kk(F),F={},F.2zX=1g zb(H),F.2i=U,R=N.121(I,"3L9",e),g(R)&&R.13P.1h&&(H=N.6B(R,"5GD",e),I=N.6B(R,"5GC",e),U=N.6B(R,"5GB",e),R=N.6B(R,"1Qg",e),H=1g k(H,I,U),F.2ot=1g P(H,R)),c.1q(F);1s 1j(e=N.1vx(C,"3UO",e),C=0,E=e.1h;C<E;C++)F=e[C].8S,F=F.3X(K,"/"),F=F.3X(/(\\.1j4)|(\\.2zY)/gi,""),H=qp(F),U=kk(F),F={},F.2zX=1g zb(H),F.2i=U,c.1q(F);a=1g Wa({1O:1a.2R.1O,gl:1a.2R.1O.6M,1K:{1tT:t,1mp:u,1D:r},1Br:a,1V0:1a.2R.1gI,34S:h,34R:l,1wE:p,1Qh:n,1Mn:q,1Mo:m,3q0:x,1TW:B,2A1:A,2zW:b,2zV:c,34Q:f,2fW:!1,34O:v,2LZ:y});1a.2os.1q(a)};Yw.1i.5GA=1b(a,b,c){1d d=a.1gv;a=d.3pZ;N.15X(d,"5Gz",a);N.15X(d,"1PD",a);N.15X(d,"5Gy",a);N.15X(d,"5Gx",a);N.15X(d,"5Gw",a);1d e=N.121(d,"2A0",a),f=N.6B(e,"X",a),h=N.6B(e,"Y",a);e=N.6B(e,"Z",a);1d l=N.121(d,"5Gv",a);if(g(l)){1d p=N.6B(l,"1Mj",a);1d n=N.6B(l,"2eV",a),m=N.6B(l,"1Dh",a);l=N.6B(l,"2eU",a);p=Q.8g(p,l,m,n)}n=N.121(d,"3pY",a);l=N.6B(n,"1XF",a);n=N.6B(n,"1L2",a);1d q=N.121(d,"3UN",a);m=N.6B(q,"3UM",a);q=N.6B(q,"3UL",a);1d x=N.121(d,"5Gu",a);x=N.121(x,"5Gt",a);N.6B(x,"1XF",a);N.6B(x,"1L2",a);1d r=N.121(d,"3UK",a);x=N.15X(r,"2M0",a);N.15X(r,"4zz",a);r=N.1Qi(r,"34W",a);1d t=N.15X(d,"34V",a),u=N.15X(d,"2GW",a),v=b.7g("?");1<v.1h&&(4fg(v[1]),b=v[0]);b=b.3X(/1nn$/g,"2g/9w")+c;b=1g zb(b);c=[];v=/\\\\+/g;d=N.121(d,"34U",a);d=N.1vx(d,"2wE",a);1j(1d y=!1,A=0,B=d.1h;A<B;A++){1d C=d[A],E=N.15X(C,"34T",a),K=E.1sl(".");".2zZ"===E.11c(K,E.1h)&&(y=!0);E=E.3X(v,"/");E=E.3X(/(\\.2zZ)|(\\.2ou)|(\\.2zY)/gi,"");K=qp(E);1d F=kk(E);E={};E.2zX=1g zb(K);E.2i=F;C=N.121(C,"5Gs",a);F=N.121(C,"1XF",a);1d H=N.121(C,"1L2",a);C=N.6B(F,"X",a);K=N.6B(F,"Y",a);F=N.6B(F,"Z",a);1d I=N.6B(H,"X",a),U=N.6B(H,"Y",a);H=N.6B(H,"Z",a);1d R=1g P;P.2fX(1g k(C,K,F),1g k(I,U,H),R);E.2ot=R;c.1q(E)}a=1g Wa({1O:1a.2R.1O,gl:1a.2R.1O.6M,1K:{1tT:f,1mp:h,1D:e},1Br:x,1V0:1a.2R.1gI,34S:0,34R:0,1wE:n,1Qh:l,1Mn:m,1Mo:q,1TW:p,2zW:b,2zV:c,34Q:r,2fW:!0,34P:y,34O:t,2LZ:u});1a.2os.1q(a)};Yw.1i.2H=1b(a,b,c){1j(1d d=0;d<1a.2os.1h;d++)1a.2os[d].2H(a,b,c)};Yw.1i.3t=1b(a,b){1j(1d c=0;c<1a.2os.1h;c++)1a.2os[c].3t(a,b)};1d 4zt=1g y(.7,.7,1,1);1L.2X(mn.1i,{1I:{1n:1b(){1f 1a.1b4}},1K:{1n:1b(){1f 1a.9M}},1A:{1n:1b(){1f 1a.7a}},3b:{1n:1b(){1f 1a.13V}},1oc:{1n:1b(){1f 1a.3UG}},13z:{1n:1b(){1f 1a.1br},1C:1b(a){v.1N.7d("1v9 1o7 13z",a);a!==1a.1br&&(1a.1br=a,1a.3UJ(1a.9M))}},2p:{1n:1b(){1f 1a.13z},1C:1b(a){1a.13z=a}},5Gr:{1n:1b(){1f 1a.3pX},1C:1b(a){v.1N.7d("1v9 1o7 5Gr",a);a!==1a.3pX&&(1a.3pX=a,1a.3UJ(1a.9M))}},2M:{1n:1b(){1f 1a.1hs}},7n:{1n:1b(){1f 1a.2lO}},1Pi:{1n:1b(){1f 1a.1LL}},2fU:{1n:1b(){1f 1a.3jn},1C:1b(a){g(a)&&(1a.3jn=a)}},1ZC:{1n:1b(){1f 1a.3UH},1C:1b(a){g(a)&&(1a.3UH=a)}},7u:{1n:1b(){1f 1a.5V},1C:1b(a){g(a)&&(1a.5V=a)}},2P:{1n:1b(){1f 1a.12N},1C:1b(a){1a.12N=a}},id:{1n:1b(){1f 1a.7R},1C:1b(a){g(a)&&(1a.7R=a)}},5Gg:{1n:1b(){1f 1a.3UI},1C:1b(a){g(a)&&(1a.3UI=a)}},34K:{1n:1b(){1f 1a.4zw}},5Gq:{1n:1b(){1f 1a.4zv}},5Gp:{1n:1b(){1f 1a.4zu}}});mn.1i.3UJ=1b(a){if(g(a)){1d b=1a.12N;1a.9M=k.1y(a);1d c=T.12y(1a.9M);c.3N+=1a.1hs.x;c.4k+=1a.1hs.y;c.1D+=1a.1hs.z;1a.4zy=k.15i(c.3N,c.4k,c.1D);c=1a.1tS.1gJ;if(g(c)&&!(1>c.1h)){1j(1d d=k.4g(a,1a.1br&&1a.3pX?1:0,1g k),e=0,f=c.1h;e<f;e++){1d h=c[e];h=h.6g.4c.15o(h.12m.2Hd);1d l=b*h.9t+h.9n,p=I.9g(h.3k,2*h.2Z),n=bc.12y(d),m=n.162;n=n.15r;p[0]=m.x;p[1]=m.y;p[2]=m.z;p[3]=n.x;p[4]=n.y;p[5]=n.z;h.7e.1jR(p,l)}k.1y(a,1a.5V.2V)}}};mn.1i.4zo=1b(a){if(g(a)&&!1a.3UI){1d b=1a.12N;if(!y.2L(1a.7a,a)){1a.7a=y.1y(a);1a.2zU=y.1y(a);1d c=1a.1tS.1gJ;if(g(c)&&!(1>c.1h))1j(1d d=0,e=c.1h;d<e;d++){1d f=c[d];f=f.6g.4c.15o(f.12m.1De);1d h=b*f.9t+f.9n,l=I.9g(f.3k,f.2Z);l[0]=a.5r;l[1]=a.5t;l[2]=a.5G;l[3]=a.2O;f.7e.1jR(l,h)}}}};mn.1i.3UF=1b(a){if(g(a)){1d b=1a.12N;if(!k.2L(1a.13V,a)){1a.13V=k.1y(a);1d c=1a.1tS.1gJ;if(g(c)&&!(1>c.1h)){1j(1d d=0,e=c.1h;d<e;d++){1d f=c[d];f=f.6g.4c.15o(f.12m.2l0);1d h=b*f.9t+f.9n,l=I.9g(f.3k,f.2Z);l[0]=a.x;l[1]=a.y;l[2]=a.z;l[3]=1a.3UH;f.7e.1jR(l,h)}a=k.1xj(a);1a.5V.3L=1a.1ZC*a}}}};mn.1i.4zx=1b(a){if(g(a)){1d b=1a.12N;if(!$b.2L(1a.3UG,a)&&(1a.3UG=$b.1y(a),1a.2LX=Da.2LY(1a.9M,a),a=1a.1tS.1gJ,g(a)&&!(1>a.1h)))1j(1d c=0,d=a.1h;c<d;c++){1d e=a[c];e=e.6g.4c.15o(e.12m.1OZ);1d f=b*e.9t+e.9n,h=I.9g(e.3k,e.2Z);h[0]=1a.2LX.x;h[1]=1a.2LX.y;h[2]=1a.2LX.z;h[3]=1a.2LX.w;e.7e.1jR(h,f)}}};mn.1i.5Go=1b(a){1d b=A.1sj(a,1g k);1a.3UF(b);1a.4zw=A.1y(a);1a.4zv=A.1Um(a,1g k);a=A.2m8(a,1g k(1,1,1),1g A);a=A.1nf(a,1g J);1a.4zu=ca.1UQ(a,1g ca)};mn.1i.31Z=1b(){1d a=1a.12N;if(g(a)&&!(0>a)&&!y.2L(1a.7a,4zt)){1a.7a=y.1y(4zt);1d b=y.9b(1a.7a,1a.2zU,1g y),c=1a.1tS.1gJ;if(g(c)&&!(1>c.1h)){1j(1d d=0,e=c.1h;d<e;d++){1d f=c[d];f=f.6g.4c.15o(f.12m.1De);1d h=a*f.9t+f.9n,l=I.9g(f.3k,f.2Z);l[0]=b.5r;l[1]=b.5t;l[2]=b.5G;l[3]=b.2O;f.7e.1jR(l,h)}1a.1LL=!0}}};mn.1i.2eC=1b(){1d a=1a.12N;if(g(a)&&!(0>a)&&1a.1LL){1a.1LL=!1;1a.7a=y.1y(1a.2zU);1d b=1a.1tS.1gJ;if(g(b)&&!(1>b.1h))1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c];e=e.6g.4c.15o(e.12m.1De);1d f=a*e.9t+e.9n,h=I.9g(e.3k,e.2Z);h[0]=1a.2zU.5r;h[1]=1a.2zU.5t;h[2]=1a.2zU.5G;h[3]=1a.2zU.2O;e.7e.1jR(h,f)}}};1d fN={5Gi:1b(a,b){b=-12g;1j(1d c=0,d=0,e=0,f=0;f<a.1h;f++){1d h=0;a[f].1Q&&(h=a[f].1Q[3]);if(h<b){if(e&&e!==d)1t 6u("13H 2g. 2g 1tD be a 1sA 7Lt 2d 4x.");e=d;d=0;c++}b=h;d++}1f{1sA:c+1,2or:d}}},zY=[],AY=[],BY=[];fN.5Gh=1b(a,b,c){c=!0;1j(1d d=1g 4A(3*a.1h),e=-900,f=900,h=-900,g=900,k=-900,n=900,m=0;m<a.1h;m+=3)e=1k.1V(a[m].1Q[0],e),f=1k.2o(a[m].1Q[0],f),h=1k.1V(a[m].1Q[1],h),g=1k.2o(a[m].1Q[1],g),k=1k.1V(a[m].1Q[2],k),n=1k.2o(a[m].1Q[2],n);m=lT(f,e);zY=mT(f,e,m);m=lT(g,h);AY=mT(g,h,m);m=lT(n,k);BY=mT(n,k,m);1d q=0;a.12I(1b(a){if(a.1Q&&a.1Q 2m 2K){1d b=q;a=[a.1Q[0],a.1Q[1],a.1Q[2]];1d c=[];c[0]=cz(a[0],1p 0,[-50,50],zY);c[1]=cz(a[1],1p 0,[50,-50],AY);c[2]=cz(a[2],1p 0,[-50,50],BY);a=c;d[3*b]=a[0];d[3*b+1]=a[1];d[3*b+2]=a[2]}q++});k=cz(0,1F,[-50,50],zY);n=cz(0,1F,[50,-50],AY);h=cz(0,1F,[-50,50],BY);1d x=f=e=g=1F,r=1F,t=b.1sA,u=b.2or;b=(t-1)*(u-1)*4;g=1g 4A(3*b);c&&(x=1g 4A(4*b));r=1g 4A(4*b);f=1g 4A(2*b);1d v=[0,3,1,1,3,2],y=[[1,1,0,0],[0,1,0,1],[1,0,0,1],[1,0,1,0]],A=1g(1a6<b?12X:10Y)((t-1)*(u-1)*6),B=1b(a,b,c){c[1]=a*u+b;c[0]=a*u+b+1;c[3]=(a+1)*u+b+1;c[2]=(a+1)*u+b},C=[],E=[],K=0;e=1g 4A(3*b);1d F=[[],[],[]],H=[],I=[],U=[0,0,0],R=1b(a,b,c){b*=3;c[0]=a[b];c[1]=a[b+1];c[2]=a[b+2];1f c},V=1g 4A(d.1h),W=1g 4A(d.1h/3*4),da=[0,0,0,1];1j(m=0;m<a.1h;m++){1d ea;a[m].4zs&&"4n"===2h a[m].4zs.1A?da=ea=5Gn(a[m].4zs.1A):ea=da;ea[3]*=1;1j(1d J=0;4>J;J++)W[4*m+J]=ea[J]}1j(m=0;m<t-1;m++)1j(a=0;a<u-1;a++){1d M=m*(u-1)+a,N=12*M;B(m,a,C);1j(J=0;4>J;J++)R(d,C[J],E);1j(J=0;4>J;J++)R(d,C[J],E),g.1C(E,N+3*J),c&&x.1C(y[J],N/3*4+J);1j(J=0;6>J;J++)A[K++]=v[J]+N/3;1j(J=0;2>J;J++){ea=3*J;1j(da=0;3>da;da++){1d P=C[v[ea]+da];R(d,P,F[da])}da=1b(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];1f a};da(H,F[0],F[1]);da(I,F[1],F[2]);(1b(a,b,c){1d d=b[0],e=b[1];b=b[2];1d f=c[0],h=c[1];c=c[2];a[0]=e*c-b*h;a[1]=b*f-d*c;a[2]=d*h-e*f;1f a})(U,H,I);1j(da=0;3>da;da++)P=3*C[v[ea]+da],V[P]+=U[0],V[P+1]+=U[1],V[P+2]+=U[2]}}1j(m=0;m<V.1h/3;m++)R(V,m,U),1b(a,b){1d c=b[0],d=b[1],e=b[2];c=c*c+d*d+e*e;0<c&&(c=1/1k.3Y(c),a[0]=b[0]*c,a[1]=b[1]*c,a[2]=b[2]*c);1f a}(U,U),V[3*m]=U[0],V[3*m+1]=U[1],V[3*m+2]=U[2];ea=[];c=[];1j(m=0;m<t-1;m++)1j(a=0;a<u-1;a++){M=m*(u-1)+a;N=16*M;B(m,a,C);1j(J=0;4>J;J++){1j(da=0;4>da;da++)ea[da]=W[4*C[J]+da];r.1C(ea,N+4*J);R(V,C[J],U);e.1C(U,N/4*3+3*J);P=C[J];c[0]=P%u/(u-1);c[1]=1k.2t(P/u)/(t-1);f.1C(c,N/4*2+2*J)}M++}1j(m=0;m<g.1h;m+=3)g[m]-=k,g[m+1]-=n,g[m+2]-=h,c=g[m+2],g[m+2]=g[m+1],g[m+1]=c;1f{4zr:g,5Gm:e,7Ls:f,7Lr:x,5Gl:r,4N:A,7Lq:W,7Lp:V,3pW:b}};1d 5Gk=[0,1],$i={1he:0,1gu:1,1e5:2,21L:3,1cY:4,2dF:5},5Gj=1g N;1L.2X(qi.1i,{1I:{1n:1b(){1f 1a.1b4}},13o:{1n:1b(){1f 1a.19O}},13z:{1n:1b(){1f 1a.1br},1C:1b(a){v.1N.7d("1Q",a);1a.1br=a}},21K:{1n:1b(){1f 1a.1JM},1C:1b(a){v.1N.2b("21K",a);1a.1JM=a}},21J:{1n:1b(){1f 1a.34N},1C:1b(a){v.1N.2b("21J",a);1a.34N=a}},2oq:{1n:1b(){1f 1a.4zq},1C:1b(a){v.1N.2b("2oq",a);1a.4zq=a}},21I:{1n:1b(){1f 1a.21H},1C:1b(a){v.1N.2b("21I",a);1a.21H=a}},1x7:{1n:1b(){1f 1a.1B9},1C:1b(a){v.1N.2b("1x7",a);1a.1B9=a}},2fV:{1n:1b(){1f 1a.2op},1C:1b(a){v.1N.2b("2fV",a);1a.2op=a}},7Lo:{1n:1b(){1f 1a.34L},1C:1b(a){v.1N.7d("1Q",a);1a.34L=a}},3mu:{1n:1b(){1f 1a.2om},1C:1b(a){v.1N.7d("1Q",a);if(1a.2om!==a){1a.2om=a;1d b=1a.19O,c;1j(c in b)if(b.3p(c)){1d d=b[c];if(d.3o)1j(1d e=0,f=d.1gJ.1h;e<f;e++){1d h=d.1gJ[e];if(1a.1TZ){1d l=a;g(h.1Ed)||h.5Gb(1a);h.1Ed.10K={};l?(l=Oe.3pV(),h.1Ed.4w=pa.4t(l),h.1Ed.6t=ma.1e0,g(h.15e)||h.3UC()):(h.1Ed.4w=pa.4t({8d:{3e:13o.1vk,18X:13o.1Ee},9J:{3e:!0},12e:Dc.1bQ}),h.1pK(!0,!0,"1e0",!0))}1s g(h.6g)&&(h.6g.10K={},h.4zj(d,a),a?(h.6g.6t=ma.1e0,g(h.15e)||h.3UC(),h.1pL(!0,!0,"1e0",!1)):h.1pK(!0,!0,"1e0",!1))}}}}}});qi.1i.add=1b(a,b,c,d){v.2l("2I",a);v.1N.4n("2I",a);v.2l("2oo",b);2K.8n(b)||(b=[b]);g(1a.19O[a])||(1a.19O[a]={18P:1g Ia,3o:!1,4F:$i.1he,1gC:0,1b6:1p 0,1gJ:[],1vk:!1,1Ee:di.1sq,2fU:1p 0,1ZC:1p 0,6s:!1,2I:a});1j(1d e=1a.19O[a],f=1a.4j,h=0,l=b.1h;h<l;h++){1d k=b[h],n=m(k.id,e.18P.1h);e.18P.8h(n)?11l.7k("id "+n+" 1GM"):(k=1g mn(f,n,e,k),e.18P.1C(n,k))}if(g(c))if(d=m(d,!0),c 2m 1JN){1a.19O[a].4F=$i.1e5;1d q=1g 2sb,w=1a;q.7K("1e4",1b(){if(d){1d b=(1g 4L(q.4D)).4h(4).3J;w.19O[a].2zT=b}1s w.19O[a].2zT=q.4D});q.7K("7A",1b(){});q.4zp(c)}1s c 2m 1aq?(1a.19O[a].4F=$i.1e5,d?(c=(1g 4L(c)).4h(4).3J,1a.19O[a].2zT=c):1a.19O[a].2zT=c):(1a.19O[a].4F=$i.1e5,e=fN.5Gi(c),e=fN.5Gh(c,e,!0),1a.19O[a].3UE=e);e.6s=!0};qi.1i.1PK=1b(a,b){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=b?1<<a|1a.11h:~(1<<a)&1a.11h};qi.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};qi.1i.3PN=1b(a){v.2l("3PN 2I",a);1d b=1a.19O[a];if(!g(b))1f!1;1j(1d c=0,d=b.1gJ.1h;c<d;c++)b.1gJ[c].1M();b.1gJ.1h=0;b.18P.7f();1a.19O[a]=1F;4Y 1a.19O[a];1f!0};qi.1i.1tm=1b(a,b){v.2l("2YD 1tm 2I",a);v.2l("2YD 1tm id",b);a=1a.19O[a];if(g(a))1f a.18P.1n(b)};qi.1i.34M=1b(a,b){v.2l("34M 2I",a);v.2l("34M 1a8",b);2K.8n(b)||(b=[b]);1d c=1a.19O[a];if(!g(c))1f!1;1j(1d d,e=0,f=b.1h;e<f;e++){1d h=b[e];d=c.18P.1n(h);g(d)&&(d.4zo(y.9r.2on(0),d.id),d.5Gg=!0,c.18P.3S(h),1a.19O[a].6s=!0)}1f!0};qi.1i.3UD=1b(a,b){v.1N.4n("2YD 3UD 2I",a);b=m(b,di.1sq);a=1a.19O[a];if(g(a)&&(!a.1vk||a.1Ee!==b)&&(a.1vk=!0,a.1Ee=b,a.3o))1j(1d c=0,d=a.1gJ.1h;c<d;c++){1d e=a.1gJ[c],f=pa.1PL(e.6g.4w);f.8d.3e=!0;f.8d.18X=b;e.6g.4w=pa.4t(f)}};qi.1i.2eC=1b(){1d a=1a.19O;if(g(a))1j(1d b in a){1d c=a[b];if(g(c.18P)&&!(1>c.18P.1h))1j(1d d=0,e=c.18P.1h;d<e;d++)c.18P.2a[d].2eC()}};qi.1i.2H=1b(a){if((!(-1<a.1g4)||1a.1ks(a.1g4))&&1a.1br){1d b=a.3w;if(!(b.19I.1D>1a.1JM||b.19I.1D<1a.21H)){1a.5Y=a;b=a.13l;1d c=1a.19O;1a.1ss=a.10s.11P;1j(1d d in c){1d e=c[d];5Gf(1a,d);if(e.3o){if(e.6s){1d f=e,h=1a.4j,l=f.18P.1h,p=f.1gJ;if(p&&!(1>p.1h)&&0!==l){1d n=f.18P.2a[0];if(g(n)){1d m=g(n.34K)?33:25;n=f.2fU;1d q=f.1ZC;f.1b6&&f.1b6.1M();1j(1d x=1g 4A(l*m),r=0;r<l;r++){1d t=f.18P.2a[r];t.2P=r;4zn(x,t,r*m)}f.1b6=Ra.12S({1O:h,5b:x,7Q:xa.7C});f.1b6.1hU=!1;r=0;1j(m=p.1h;r<m;r++){t=p[r];x=t.6g;x.4c.1M();1j(1d u=0;u<t.2w.1h;u++){1d v=t.2w[u];g(v.19N)&&0<v.19N&&(v.7e=f.1b6)}x.4c=1g Fb({1O:h,2w:t.2w,10X:t.10X});x.1gC=l;1j(x=0;x<l;x++)t=f.18P.2a[x],t.2P=x,t.2fU=n,t.1ZC=q,g(t.7u)||(t.7u=1g P,u=k.1xj(t.3b),t.7u.3L=q*u,u=Da.18N(t.1K,ba.9y,1g A),A.8P(u,n,t.7u.2V))}f.1gC=l;f.6s=!1}}}f=[];1j(h=0;h<e.18P.1h;h++)f.1q(e.18P.2a[h].7u);f=P.1zi(f,1g P);h=0;1j(l=e.1gJ.1h;h<l;h++)p=e.1gJ[h],1a.2om&&1a.1TZ?a.19c.1mc===Ud.2n8?(p.15e.6W=f,b.1q(p.15e),p.1Ed.6W=f,p.1Ed.1gC=e.1gC,p.1Ed.6t=ma.1e0,b.1q(p.1Ed)):1a.2K4&&(g(p.2ol)||p.5Ga(1a),p=p.2ol,p.6W=f,p.1gC=e.1gC,p.6t=1a.34L?ma.3nl:ma.18W,b.1q(p)):(1a.2om&&(p.15e.6W=f,b.1q(p.15e)),p.6g.6W=f,p.6g.1gC=e.1gC,p.6g.6t=1a.34L?ma.3nl:1a.2om?ma.1e0:ma.18W,b.1q(p.6g))}}}}};qi.1i.3Z=1b(){1f!1};qi.1i.1M=1b(){1j(1d a in 1a.19O){1d b=1a.19O[a];if(b.3o){1j(1d c=0;c<b.1gJ.1h;c++){1d d=b.1gJ[c].6g;if(g(d.4c)&&!d.4c.3Z()){d.4c.1UZ.1hU=!0;1j(1d e=0;e<d.4c.16N.1h;e++)d.4c.16N[e].7e.1hU=!0;d.4c=d.4c.1M()}d.2z=d.2z&&d.2z.1M()}b.1b6=b.1b6&&!b.1b6.3Z()&&b.1b6.1M()}}1a.19O=1p 0;1f la(1a)};Fk.1i.6l=1b(a){1a.9s||(1a.1EX(a),1a.9s=!0)};Fk.1i.3M1=1b(a){1j(1d b=1a.1na.19h,c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.5b)&&(e.7e=Ra.12S({1O:a,5b:e.5b,7Q:xa.7C}),e.7e.1hU=!1,e.5b=1F,4Y e.5b)}if(!g(1a.1tS.1b6)){d=1a.1tS.18P;1d f=1p 0;0<d.1h&&(f=d.2a[0].34K);e=d.1h;1a.1tS.1gC=e;1d h=g(f)?33:25,l=1g 4A(e*h);1j(c=0;c<e;c++){1d k=d.2a[c];k.2P=c;4zn(l,k,c*h)}1a.1tS.1b6=Ra.12S({1O:a,5b:l,7Q:xa.7C})}1a.12m=1a.1na.1oh;c=1L.9K(1a.12m).1h;a=1a.12m;d=1a.1tS;e=g(f)?33:25;h=I.1jh(I.3O);l=0;a.2Hd=c++;b.1q({2P:a.2Hd,7e:d.1b6,2Z:3,3k:I.3O,1T:!1,9n:l,9t:h*e,19N:1});l+=3;a.2YB=c++;b.1q({2P:a.2YB,7e:d.1b6,2Z:3,3k:I.3O,1T:!1,9n:h*l,9t:h*e,19N:1});l+=3;a.1OZ=c++;b.1q({2P:a.1OZ,7e:d.1b6,2Z:4,3k:I.3O,1T:!1,9n:h*l,9t:h*e,19N:1});l+=4;a.2l0=c++;b.1q({2P:a.2l0,7e:d.1b6,2Z:4,3k:I.3O,1T:!1,9n:h*l,9t:h*e,19N:1});l+=4;a.1De=c++;b.1q({2P:a.1De,7e:d.1b6,2Z:4,3k:I.3O,1T:!1,9n:h*l,9t:h*e,19N:1});l+=4;a.1Z6=c++;b.1q({2P:a.1Z6,7e:d.1b6,2Z:4,3k:I.3O,1T:!1,9n:h*l,9t:h*e,19N:1});l+=4;a.2YC=c++;b.1q({2P:a.2YC,7e:d.1b6,2Z:3,3k:I.3O,1T:!1,9n:h*l,9t:h*e,19N:1});l+=3;g(f)&&(a.2db=c++,b.1q({2P:a.2db,7e:d.1b6,2Z:4,3k:I.3O,1T:!1,9n:h*l,9t:h*e,19N:1}),a.2dc=c++,b.1q({2P:a.2dc,7e:d.1b6,2Z:4,3k:I.3O,1T:!1,9n:h*(l+4),9t:h*e,19N:1}));1f b};Fk.1i.1EX=1b(a){1d b=a.4j,c=1a.3M1(b),d=ma.1Bc+2;if(g(1a.1sd)&&g(1a.1sd[0])){1d e=1a.1sd[0],f=1a.1na.1f0,h=Ta.10P;(1===e.1IY||f>=B.1uW)&&b.1Pf&&(h=Ta.1bt);h=Ra.17Q({1O:b,5b:e.1m2,7Q:xa.7C,17P:h});h.1hU=!1;1a.10X=h;1a.2w=c;f=1a.1uV[e.1FJ]||fe.2lJ;1a.1sd[0]=1F;!0===f.1GL&&(d=ma.1Bc+3);1d l=Ja.11G;6U(e.6Z){1S 1:l=Ja.1wF;1W;1S 2:l=Ja.1ao;1W;1S 4:l=Ja.11G}d=a.34L?ma.3nl:d;d=1g Oa({6Z:l,6W:1a.11S,6t:d,7H:1a,8d:!0});d.1hR=!0;d.1fC=!0;d.1cI="1th";d.1gC=1a.1tS.18P.1h;d.4c=1g Fb({1O:b,2w:c,10X:h});c=1g ja({2i:"4ib",5p:["3Q 1m 4f;\\n#1z 1h6\\n    3Q 1w 13N;\\n#1u\\1B 1m 2vJ;\\2J 1m 7s;\\n#1z 14V\\2J 1m 11X;\\n#1u\\2J 1w 2Hd;\\2J 1w 2YB;\\2J 1m 1OZ;\\2J 1m 2l0;\\2J 1m 1De;\\2J 1m 1Z6;\\2J 1w 2YC;\\n#1z 2kZ\\2J 1m 2db;\\2J 1m 2dc;\\n#1u\\1B 5w 2de;\\1B 1o 1rr;\\1B 1v 2He;\\1B 1o 2df;\\1J 1m 8l;\\1J 1w 1id;\\1J 1w 1ym;\\1J 1v 6r;\\1J 1m 4m;\\1J 1m 1th;\\n\\1Sg 1Z7(1m q, 1m 14L)\\n{\\n    1o x2 = q.x * q.x;\\n    1o xy = q.x * q.y;\\n    1o xz = q.x * q.z;\\n    1o xw = q.x * q.w;\\n    1o y2 = q.y * q.y;\\n    1o yz = q.y * q.z;\\n    1o yw = q.y * q.w;\\n    1o z2 = q.z * q.z;\\n    1o zw = q.z * q.w;\\n    1o w2 = q.w * q.w;\\n    1o 1Zg = x2 - y2 - z2 + w2;\\n    1o 1Zd = 2.0 * (xy - zw);\\n    1o 1Za = 2.0 * (xz + yw);\\n    1o 1Zf = 2.0 * (xy + zw);\\n    1o 1Zc = -x2 + y2 - z2 + w2;\\n    1o 1Z9 = 2.0 * (yz - xw);\\n    1o 1Ze = 2.0 * (xz - yw);\\n    1o 1Zb = 2.0 * (yz + xw);\\n    1o 1Z8 = -x2 - y2 + z2 + w2;\\n    1f 5w(1Zg, 1Zf, 1Ze, 0.0, 1Zd, 1Zc, 1Zb, 0.0, 1Za, 1Z9, 1Z8, 0.0, 14L.x, 14L.y, 14L.z, 1.0);\\n}\\1r 2dd(1w 1jF, 1o 3L)\\n{\\n    if(1rr > 0.0)\\n    {\\n        1o 3s = 1h(1jF);\\n        1o 1Df = 1qb * 0.5;\\n        1o 2vM = 1V(2l1.x, 2l1.y) * 0.5;\\n        1o 2vL = 2vM / 10n(1Df);\\n        1f 2vL * 3L / 3s > 2df ? 1.0 : 0.0;\\n    }\\n    1f 1h(1jF) < 2He.x && 1h(1jF) > 2He.y ? 1.0 : 0.0;\\n}\\2s 2k()\\n{\\n   1m 6v = 1m(4f.1H, 1.0) - 1m(2YC.1H,0.0);\\n   1m 15C = 2de*6v;\\n   1m 1jF = 16e(2Hd,2YB);\\n   6r = 7s.xy;\\n   1o 2p = 2dd(1jF.1H, 2l0.w);\\n   5w 1yo = 1Z7(1OZ, 1m(0.0));\\n   5w 18r;\\n   18r[0] = 1m(1yo[0].1H,0.0);\\n   18r[1] = 1m(1yo[1].1H,0.0);\\n   18r[2] = 1m(1yo[2].1H,0.0);\\n   18r[3] = 1m(1jF.x,1jF.y,1jF.z,1.0);\\n   5w 1n0;\\n   1w 3b = 2l0.1H;\\n   1n0[0] = 1m(3b.x,0,0,0.0);\\n   1n0[1] = 1m(0,3b.y,0,0.0);\\n   1n0[2] = 1m(0,0,3b.z,0.0);\\n   1n0[3] = 1m(0,0,0,1.0);\\n   5w 4a = 18r;\\n#1z 2kZ\\n   5w 2vK = 1Z7(2dc, 2db);\\n   4a *= 2vK;\\n#1u\\n   4a *= 1n0;\\n   14j 1h3 = 14j(4a);\\n   15C = 4a * 1m(15C.1H, 1.0);\\n   15C.w = 1.0;\\n   6I = 2p * 1kV * 15C;\\n   8l.1H = 15C.1H;\\n   8l.w = 0.0;\\n   1m 7x = 1m(1.0);\\n#1z 14V\\n   7x = 11X;\\n#1u\\n   4m = 7x * 1De;\\n   1th = 1Z6 / 255.0;\\n#1z 1h6\\n    if(1h(13N) > 0.8)\\n    {\\n        1w 2U = 1h3 * 13N;\\n        1ym = 1T(11b * 13N);\\n        8l.w = 1.0;\\n        1id = (9q * 8l).1H;\\n#1bI 2cZ\\n        4m = 4m * 1Fa(1ym, -1id, 8l.1H);\\n#1u\\n    }\\n#1u\\n#1z 1e0\\n    6I = 1wa(1kV*15C);\\n    4m = 4m * 2vJ;\\n#1u\\n}"]});e=1g ja({2i:"3JV",5p:["#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1e0\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\n#1z 1uL\\1B 2v 18G;\\1J 1v 6r;\\n#1u\\1J 1m 4m;\\1J 1m 1th;3G 1m 8l;\\1J 1w 1id;\\1J 1w 1ym;\\n\\n#1z 1h5\\1B 2v 1Dc;\\1B 2v 1Db;\\1B 2v 1Da;\\1B 1o 1D9; \\n#1u\\n\\1r 2vt()\\n{\\n#1z 10B\\n    1f 1iK(1Sb) * 2ji;\\n#1s\\n    1f 4u.z;\\n#1u\\n}\\n#1z 1h5\\166 1Ix(1v 4M)\\n{\\n    7d 1jD = 16f;\\n    1m 1Iz = 1Y(1Dc,4M.xy);\\n    if(1Iz.r > 0.99 && 1Iz.g < 0.11t && 1Iz.b < 0.11t)\\n    {\\n        1o 1rY = 11N(1Y(1Db, 4M.xy)) - 0.1Ai;\\n        1o 1rX = 11N(1Y(1Da, 4M.xy)) + 0.1Ai;\\n        1o 1Z2 = 2vt();\\n        if(1Z2 > 1rY && 1Z2 < 1rX){\\n            1jD = 8O;\\n        }\\n    }\\n    1f 1D9 < 0.5 ? !1jD : 1jD;\\n}\\n#1u\\2s 2k()\\n{\\n#1z 1e0\\1Cz();\\n#1u\\n    1m 1A = 4m;\\n#1z 1e0\\n    2C = 1A;\\n    #1z 2Yi\\n        2C = 1th;\\n        2C.a = 1.0;\\n    #1u\\n#1s\\n        1v 1dZ = 1v(0.0);\\n     #1z 1h5\\n        1v 4M = 1v(4u.x / 9e.z, 4u.y / 9e.w);\\n        if(!1Ix(4M)) \\n        { \\n            7o; \\n        } \\n    #1u\\n\\t#1z 1uL\\n        #1z 2H2\\n            1dZ = 1v(6r.x,1.0-6r.y);\\n        #1s\\n            1dZ = 1v(6r.x,6r.y);\\n        #1u\\n    #1u\\n    #1z 2cZ\\n        2C = 1XU(1ym, 1id, 1dZ, 1m(1.0)) * 4m;\\n    #1s\\n        #1z 1uL\\n            1A = 1Y(18G, 1dZ.xy, 0.0) * 1A;\\n        #1u\\n            2C = 1A;\\n            2C *= 1O8(8l.1H, 8l.w);\\n        #1u\\n    #1u\\n#1u\\n    2C = 9D(2C);\\n    if(2C.a < 0.1)\\n    {\\n        7o;\\n    }\\n}"]});0===1a.1DS.1gI&&e.2N.1q("2H2");g(1a.12m.11X)&&c.2N.1q("14V");g(1a.12m.7s)&&0<f.12s.1h&&e.2N.1q("1uL");g(1a.12m.13N)&&(c.2N.1q(ra.1h6),e.2N.1q(ra.1h6));1a.1DS.3mu&&(c.2N.1q("1e0"),e.2N.1q("1e0"));g(a.5Y.1hp)&&(h=a.5Y.1hp.21G,c.2N.1q(ra.1gn+h.1h),e.2N.1q(ra.1gn+h.1h),h=a.5Y.1hp.21F,c.2N.1q(ra.1dY+h.1h),e.2N.1q(ra.1dY+h.1h),a=a.5Y.1hp.1JL,c.2N.1q(ra.19w+a.1h),e.2N.1q(ra.19w+a.1h));0<1a.1tS.18P.1h&&g(1a.1tS.18P.2a[0].34K)&&c.2N.1q("2kZ");f.4zm(c,e);a=g(1a.12m.13N);d.2z=Ga.4t({1O:b,5O:c,5A:e,7W:1a.12m});5Ge(d,{7y:f.12s[0],1Xr:a,5Gd:f.1se,1Fl:f.1se,1Fk:f.1Du,1rk:f.1JK,7r:1a.1DS,5Gc:1a.1dI},f);1a.6g=d;1a.1na=1p 0;1a.1sd.1h=0;1a.4zj(1a.1tS,1a.1DS.2om);1a.1DS.2om&&(d.6t=ma.1e0,1a.3UC())}};Fk.1i.1pL=1b(a,b,c,d){1d e=1a.1DS.4j;d=d?1a.1Ed:1a.6g;if(g(d)){1d f=d.2z.5A,h=d.2z.5O;a&&4zl(h,c);b&&4zl(f,c);d.2z.1M();d.2z=Ga.4t({1O:e,5O:h,5A:f,7W:1a.12m});g(1a.15e)&&(1a.15e.2z=d.2z)}};Fk.1i.1pK=1b(a,b,c,d){1d e=1a.1DS.4j;d=d?1a.1Ed:1a.6g;if(g(d)){1d f=d.2z.5A,h=d.2z.5O;a&&4zk(h,c);b&&4zk(f,c);d.2z.1M();d.2z=Ga.4t({1O:e,5O:h,5A:f,7W:1a.12m})}};Fk.1i.4zj=1b(a,b){b?(a=Oe.3pV(),1a.6g.4w=pa.4t(a)):1a.6g.4w=pa.4t({8d:{3e:a.1vk,18X:a.1Ee},9J:{3e:!0},12e:Dc.1bQ})};Fk.1i.3UC=1b(){if(!g(1a.15e)){1d a=Oe.3UB(),b=g(1a.1Ed)?1a.1Ed:1a.6g;b=Oa.15v(b);b.4w=pa.4t(a);1a.15e=b}};Fk.1i.5Gb=1b(a){if(!g(1a.1Ed)){1d b=1a.6g,c=b.2z.5O.1y(),d=b.2z.5A.1y();c.2N.1q("1e0");d.2N.1q("1e0");c.2N.1q("2Yi");d.2N.1q("2Yi");b=Oa.15v(b);b.2z=Ga.4t({1O:a.4j,5O:c,5A:d,7W:1a.12m});1a.1Ed=b}};Fk.1i.5Ga=1b(a){if(!g(1a.2ol)){1d b=1a.6g,c=b.2z.5O.1y(),d=b.2z.5A.1y();c.2N.1q("1h5");d.2N.1q("1h5");a.5Y.1bz&&d.2N.1q("10B");b=Oa.15v(b);b.4J.1Db=1b(){1f a.2fT[0]};b.4J.1Da=1b(){1f a.2fT[1]};b.4J.1Dc=1b(){1f a.2fT[2]};b.4J.1D9=1b(){1f a.34J};b.2z=Ga.4t({1O:a.4j,5O:c,5A:d,7W:1a.12m});1a.2ol=b}};Fk.1i.1M=1b(){1j(1d a in 1a.1uV)1a.1uV.3p(a)&&(1a.1uV[a]=1a.1uV[a]&&!1a.1uV[a].3Z()&&1a.1uV[a].1M());1a.1uV=1p 0;a=1a.6g;g(a)&&(a.4c=a.4c&&a.4c.1M(),a.2z=a.2z&&a.2z.1M(),1a.6g=1p 0);a=1a.15e;g(a)&&(a.4c=a.4c&&!a.4c.3Z()&&a.4c.1M(),a.2z=a.2z&&!a.2z.3Z()&&a.2z.1M(),1a.15e=1p 0);a=1a.1Ed;g(a)&&(a.4c=a.4c&&!a.4c.3Z()&&a.4c.1M(),a.2z=a.2z&&!a.2z.3Z()&&a.2z.1M(),1a.1Ed=1p 0);1a.1na=1F;1a.1sd.1h=0};qi.1i.3UA=1b(a){1a.2fT=a};qi.1i.3pU=1b(a){1a.34J=a};fD.1i.2Jq=1b(){1f 1a.3pT};fD.1i.2xF=1b(a){if(!1a.3pT)1t 1g r("2xF 2Q 2S be 7I 8w 1Z 7o 7Ln is 3o.");1d b=1a.5G9,c=1a.3Uz;if(!g(c)||g(a.1i3)&&a.1i3.4V!==1a.4zi)1f!1;1d d=Hu(a);a=a.1G;1j(1d e=0,f=b.1h;e<f;++e){1d h=b[e];h=4*h.x+h.y*a;1j(1d l=0;4>l;++l){1d k=h+l;if(d[k]!==c[k])1f!1}}1f!0};Jo.1i.3Uy=1b(a){1d b=10,c;1j(c in a)if(a.3p(c)&&a[c]){1d d=c.18v();if(1<b&&"2i"===d){b=1;1d e=c}1s 2<b&&"17s"===d?(b=2,e=c):3<b&&/2i/i.6S(c)?(b=3,e=c):4<b&&/17s/i.6S(c)&&(b=4,e=c)}g(e)&&(1a.2i=a[e])};Jo.1i.34w=1b(a){1b b(a){1d c=\'<1j9 11F="3P-1Dq-3Ux">\',e;1j(e in a)if(a.3p(e)){1d f=a[e];g(f)&&(c="2c"===2h f?c+("<tr><td>"+e+"</td><td>"+b(f)+"</td></tr>"):c+("<tr><td>"+e+"</td><td>"+f+"</td></tr>"))}1f c+"</1j9>"}1a.16G=b(a)};1L.2X(Hk.1i,{3o:{1n:r.8i},9c:{1n:r.8i},3g:{1n:r.8i},16K:{1n:r.8i},17g:{1n:r.8i},16j:{1n:r.8i},16i:{1n:r.8i},8c:{1n:r.8i},19b:{1n:r.8i},1cG:{1n:r.8i},9L:{1n:r.8i},1aQ:{1n:r.8i},1mb:{1n:r.8i}});Hk.1i.1om=r.8i;Hk.1i.1hQ=r.8i;Hk.1i.1lk=r.8i;1d 5G8=/\\.32t$/i,5G7=/\\.32s$/i,5G6=/\\.5uO$/i;Hk.2j6=1b(a,b,c){v.2l("2I",b);b=na.14m(b);if(g(c))1f b.1kw();if(5G8.6S(b.2I))1f Iu(b);if(5G7.6S(b.2I))1f Mx(b);if(5G6.6S(b.2I))1f a.13E=!0,mP(b);if(g(a.19b))1f b.1jN({2LW:!0,1UY:!0,13E:!0});g(a.1g2)&&(b.1iB=fb(b.1iB,a.1g2));1f b.2ok()};1L.2X(wq.1i,{2I:{1n:1b(){1f 1a.12o.10z}},1pI:{1n:1b(){1f 1a.12o.1kx.1pI}},1aQ:{1n:1b(){1f 1a.12o.1aQ}},16K:{1n:1b(){if(!1a.4y)1t 1g r("16K 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14Q}},17g:{1n:1b(){if(!1a.4y)1t 1g r("17g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.16J}},16j:{1n:1b(){if(!1a.4y)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.17G}},16i:{1n:1b(){if(!1a.4y)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 0}},8c:{1n:1b(){if(!1a.4y)1t 1g r("8c 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C}},3g:{1n:1b(){if(!1a.4y)1t 1g r("3g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.7T}},19b:{1n:1b(){if(!1a.4y)1t 1g r("19b 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1nm}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},9L:{1n:1b(){1f 1a.1dh}},5DV:{1n:1b(){1f 1a.21A}},1mb:{1n:1b(){1f!0}},9Q:{1n:1b(){1f 1a.8U}}});wq.1i.1om=1b(a,b,c){};wq.1i.1hQ=1b(a,b,c,d){if(!1a.4y)1t 1g r("1hQ 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1d e=4zh(1a,a,b,c,d);g(Ba.12M)&&(g(Ba.12M.1e7[1a.1os])?e.2I=Ba.1oo(1a.1os,e.2I):e.2I=Ba.1cl(e.2I));d.1b3=5G5(a,b,c);1f!0===1a.17F.1dF&&!0===d.1Gc&&g(1a.12Y)&&(a=1a.12Y.20n(1a.13Y,d.1b3),g(a))?Z(a,1b(a){1f g(a)?a:"1so"},1b(a){1f"1so"}):Hk.2j6(1a,e)};wq.1i.1lk=1b(a,b,c,d,e){if(!1a.4y)1t 1g r("1lk 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");if(1a.1Bm)1f a=1a.6C.1JE(a,b,c),1a.6C.18T 2m Td?(d=B.10Q(d),e=B.10Q(e),b="1zf"):(e=1a.6C.18T.12z(1g T(d,e,0)),d=e.x,e=e.y,b="1Bo"),c="13z",g(1a.8U)&&(c+=":"+1a.8U),1a.12o.16M({2I:"5DT",1kx:{f:"15l",2xd:2,1DX:"3TO",3y:d+","+e,5DS:a.4o+","+a.4C+","+a.5a+","+a.4P,5DR:1a.14Q+","+1a.16J+",96",sr:b,9Q:c}}).1vs().4b(1b(a){1d b=[];a=a.4yj;if(!g(a))1f b;1j(1d c=0;c<a.1h;++c){1d d=a[c],e=1g Jo;e.2g=d;e.2i=d.1Q;e.5U=d.2w;e.34w(d.2w);if("3TO"===d.1DX&&d.3y){1d f=d.3y.1jS&&d.3y.1jS.1mo?d.3y.1jS.1mo:1zf;if(1zf===f||5DQ===f)e.1K=T.8g(d.3y.x,d.3y.y,d.3y.z);1s if(34v===f||1PF===f||1Bo===f)f=1g Uc,e.1K=f.1cZ(1g k(d.3y.x,d.3y.y,d.3y.z))}b.1q(e)}1f b})};1L.2X(Vs.1i,{3o:{1n:1b(){1f 1a.4y}},2i:{1n:1b(){1f 1a.6X}},1v8:{1n:1b(){1d a=1a.1Gt;if(g(a))1f a[a.1h-1].167(0)}}});Vs.1i.9P=1b(a){1d b=1a.1Gt;if(g(b)){1d c=1a.13Z;g(c)||(c=1a.13Z=1g Ec({1A:1g y(0,0,0,0),4Q:1p 0}));1j(1d d=b.1h,e=0;e<d;++e)c.4Q=b[e],c.5P(a)}};Vs.1i.2H=1b(a){1d b=a.8j,c=a.7p;if(b!==1a.10V||c!==1a.10o){1a.10V=b;1a.10o=c;4zg(1a);1d d=1a.10V,e=1a.10o;b=ua.9m;c=a.20p?Ha.1kq:Ha.3O;1j(1d f=1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U}),h=1k.8a(1k.7k(1k.1V(d,e))/1k.7k(3)),g=2K(h),k=0;k<h;++k)d=1k.1V(1k.8a(d/3),1),e=1k.1V(1k.8a(e/3),1),g[k]=1g eb({1O:a,13I:[1g Ca({1O:a,1G:d,1D:e,8b:b,10E:c,10v:f})]});d=g[h-1].167(0);1a.2zS=1g eb({1O:a,13I:[1g Ca({1O:a,1G:d.1G,1D:d.1D,8b:b,10E:c,10v:f})]});1a.1Gt=g;4zf(1a);b=1a.1Gt;c=b.1h;f=2K(c);1j(g=0;g<c;++g)f[g]=a.1aL(5G4(g,c),{4Q:b[g],4J:$xa(1a,g)});1a.1pu=f;1a.4y||(1a.4y=!0)}1a.3Uw.x=1a.5G3;1a.3Uw.y=1a.5G2;a=1a.1Gt;b=a[a.1h-1];a[a.1h-1]=1a.2zS;1a.1pu[1a.1pu.1h-1].4Q=1a.2zS;1a.2zS=b};Vs.1i.5P=1b(a,b){1a.1dn=b;b=1a.1pu;if(g(b))1j(1d c=b.1h,d=0;d<c;++d)b[d].5P(a)};Vs.1i.3Z=1b(){1f!1};Vs.1i.1M=1b(){4zg(1a);4zf(1a);1f la(1a)};1d 4j8=1L.3F({3pp:"4ze",4xN:"7Lm",7Ll:"7Lk",4xM:"7Lj",7Li:"7Lh",7Lg:"7Lf",7Le:"7Ld",7Lc:"7Lb",7La:"7L9",7L8:"7L7"});Xv.1i.2Jq=1b(){1f!0};Xv.1i.2xF=1b(a){1f Xv.4za===a};1d gN;1L.2X(Xv,{4za:{1n:1b(){g(gN)||(gN=1g 1ar,gN.1bv="2g:4d/12H;1G3,7L6=");1f gN}}});1L.2X(Vg.1i,{2I:{1n:1b(){1f 1a.12o.2I}},1aQ:{1n:1b(){1f 1a.12o.1aQ}},10t:{1n:1b(){1f 1a.2dI}},3Pb:{1n:1b(){1f 1a.20o}},4zd:{1n:1b(){1f 1a.4zc}},16K:{1n:1b(){if(!1a.4y)1t 1g r("16K 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14Q}},17g:{1n:1b(){if(!1a.4y)1t 1g r("17g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.16J}},16j:{1n:1b(){if(!1a.4y)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.17G}},16i:{1n:1b(){if(!1a.4y)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 0}},8c:{1n:1b(){if(!1a.4y)1t 1g r("8c 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C}},3g:{1n:1b(){if(!1a.4y)1t 1g r("3g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C.3g}},19b:{1n:1b(){if(!1a.4y)1t 1g r("19b 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1nm}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},9L:{1n:1b(){1f 1a.1dh}},1mb:{1n:1b(){1f!1}}});1d 5G1=1g Q;Vg.1i.1om=1b(a,b,c){if(!1a.4y)1t 1g r("1om 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");a=1a.6C.1d1(a,b,c,5G1);b=1a.4zb;++c;1j(1d d=[],e=0,f=b.1h;e<f;++e){1j(1d h=b[e],l=h.3Uv,k=!1,n=0,m=h.3Uv.1h;!k&&n<m;++n){1d q=l[n];c>=q.7L5&&c<=q.5G0&&(q=Q.17d(a,q.1bD,5FX),g(q)&&(k=!0))}k&&d.1q(h.9L)}1f d};Vg.1i.1hQ=1b(a,b,c,d){if(!1a.4y)1t 1g r("1hQ 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");a=Hk.2j6(1a,5FZ(1a,a,b,c,d));if(g(a))1f a.10g(1b(a){1f g(a.1i3)&&0===a.1i3.4V?Xv.4za:Z.7N(a)})};Vg.1i.1lk=1b(a,b,c,d,e){};Vg.2nv=1b(a,b,c){1j(1d d="";0<=c;--c){1d e=1<<c,f=0;0!==(a&e)&&(f|=1);0!==(b&e)&&(f|=2);d+=f}1f d};Vg.5FY=1b(a){1j(1d b=0,c=0,d=a.1h-1,e=d;0<=e;--e){1d f=1<<e,h=+a[d-e];0!==(h&1)&&(b|=f);0!==(h&2)&&(c|=f)}1f{x:b,y:c,6b:d}};Vg.2fI=1p 0;1L.2X(Vg,{3Ts:{1n:1b(){g(Vg.2fI)||(Vg.2fI=cb("1ja/1eX/7L4.12H"));1f Vg.2fI},1C:1b(a){v.2l("1Q",a);Vg.2fI=a}}});1d 5FX=1g Q;Vg.4z9={};1L.2X(Nh.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){a!==1a.10T&&(g(1a.1fq)&&1a.1fq.5Dp(a),1a.10T=a)}},7L3:{1n:1b(){1f 1a.1pH},1C:1b(a){1a.1pH=a}},7L2:{1n:1b(){1f 1a.3Us},1C:1b(a){1a.3Us=a}},19U:{1n:1b(){1f 1a.3Uu},1C:1b(a){1a.3Uu=a}}});Nh.1i.9P=1b(a,b){1j(1d c=0;c<1a.2fS;c++){1d d=1a.13Z;d.4Q=1a.1zh[c].2zP;y.1y(m(b,y.1a7),d.1A);d.5P(a);d.4Q=1a.1zh[c].3Ur;y.1y(m(b,y.1a7),d.1A);d.5P(a)}};1d rr=1g C;Nh.1i.5P=1b(a,b){1d c=1a,d=1a.1d0;g(1a.4j)&&0<1a.4j.3pS&&(d=1a.2R.2mA.1yT.1bA);1j(b=0;b<1a.2fS;b++){1d e=1a.1zh[b].4z7;rr.x=1/d.167(0).1G;rr.y=1/d.167(0).1D;e.4J.1OJ=1b(){1f d.167(0)};e.4J.1OI=1b(){1f rr};e.4J.3hx=1b(){1f c.3Uu};e.4J.4hG=1b(){1f c.3pR};e.5P(a,1a.2o3);d=1a.1zh[b].2zP}1d f=1a.1zh[1a.2fS-1].2zP;1j(b=1a.2fS-2;0<=b;b--){1d h=1a.1zh[b].2zP;e=1a.1zh[b].3Ur;1d l=1a.1zh[b].4z8;rr.x=1/f.167(0).1G;rr.y=1/f.167(0).1D;l.4J.3hw=1b(){1f h.167(0)};l.4J.1OJ=1b(){1f f.167(0)};l.4J.1OI=1b(){1f rr};l.4J.3hv=1b(){1f c.3Ut};l.5P(a,1a.2o3);f=e}1a.3pQ=f};1d 5FT=1g Aa;Nh.1i.2H=1b(a,b,c){1a.4j=b.1O;1a.2o3.1O=b.1O;1a.1tK.1O=b.1O;1a.2R=c;b=a.8j;c=a.7p;1d d=1a;g(1a.2zR)||Z(gf(d.5FW),1b(b){d.2zR=1g Ca({1O:a,5j:b,8b:ua.1fB,10E:Ha.7U})});1d e=B.2Y(1a.5FV,-1,1);b=1k.2t(b/(2-(0>e?-e:0)));c=1k.2t(c/(2-(0<e?e:0)));1d f=1k.7k(1k.1V(b,c))/1k.7k(2)+1k.2o(1a.5FU,10)-10,h=1k.2t(f),l=B.2Y(h,1,16);e=!1;l!=1a.2fS&&(1a.2fS=l,e=!0);1a.3Ut=.5+f-h;f=1;g(1a.2zR)&&(f=1a.2zR.1G/1a.2zR.1D);h=a.8j/a.7p;f>h?(1a.2zQ.x=h/f,1a.2zQ.z=.5*(1-1a.2zQ.x)):h>f&&(1a.2zQ.y=f/h,1a.2zQ.w=.5*(1-1a.2zQ.y));f=1k.108(1a.1pH/10*.7L1)-1;1a.3pP.x=1a.3Ut;1a.3pP.y=f;1a.3pP.z=1a.3Us;f=1a.1zh[0].2zP;f=g(f)&&f.167(0)||1p 0;if(!g(f)||f.1G!==b||f.1D!==c||e)1j(1a.32M(),e=0;e<1a.2fS;e++){h={};f=0==e?a.1aL("2n 2v 1OJ;\\1B 1v 1OI;\\1B 1o 3hx;\\1B 1o 4hG;\\1J 1v 2F;\\4i 1w 3Jb = 1w(0.1NX, 0.1KS, 0.1NW);\\1P 2uZ(2v 10h, 1v uv, 1v 14v)\\n{\\1P A = 1Y(10h, uv + 14v * 1v(-1.0, -1.0));\\1P B = 1Y(10h, uv + 14v * 1v( 0.0, -1.0));\\1P C = 1Y(10h, uv + 14v * 1v( 1.0, -1.0));\\1P D = 1Y(10h, uv + 14v * 1v(-0.5, -0.5));\\1P E = 1Y(10h, uv + 14v * 1v( 0.5, -0.5));\\1P F = 1Y(10h, uv + 14v * 1v(-1.0,  0.0));\\1P G = 1Y(10h, uv                               );\\1P H = 1Y(10h, uv + 14v * 1v( 1.0,  0.0));\\1P I = 1Y(10h, uv + 14v * 1v(-0.5,  0.5));\\1P J = 1Y(10h, uv + 14v * 1v( 0.5,  0.5));\\1P K = 1Y(10h, uv + 14v * 1v(-1.0,  1.0));\\1P L = 1Y(10h, uv + 14v * 1v( 0.0,  1.0));\\1P M = 1Y(10h, uv + 14v * 1v( 1.0,  1.0));\\2u 5u = (1.0 / 4.0) * 1v(0.5, 0.125);\\1P o = (D + E + I + J) * 5u.x;\\no += (A + B + G + F) * 5u.y;\\no += (B + C + H + G) * 5u.y;\\no += (F + G + L + K) * 5u.y;\\no += (G + H + M + L) * 5u.y;\\2j o;\\n}\\1P 5eR(1m 1A, 1o 19U, 1w 2v0)\\n{\\1r br = 1V(1V(1A.r, 1A.g), 1A.b);\\1r rq = 2Y(br - 2v0.x, 0.0, 2v0.y);\\5eQ = 2v0.z * rq * rq;\\6p *= 1V(rq, br - 19U) / 1V(br, 1.1Al-4);\\2j 1A;\\n}\\1P 3Ja(1m 1A, 1v uv)\\n{\\1r br = 1V(1V(1A.r, 1A.g), 1A.b);\\1U(br < 3hx)\\n{\\6p = 1m(0.0);\\n}\\2j 1A;\\n}\\1P 3J9(1m c)\\n{\\2j 2o(c, 5eP.0);\\n}\\2s 2k()\\n{\\1P 1A = 2uZ(1OJ, 2F, 1OI.xy);\\3R = 3Ja(3J9(1A), 2F);\\n}\\n",{4J:h,7H:1a}):a.1aL("2n 2v 1OJ;\\1B 1v 1OI;\\1J 1v 2F;\\1P 2uZ(2v 10h, 1v uv, 1v 14v)\\n{\\1P A = 1Y(10h, uv + 14v * 1v(-1.0, -1.0));\\1P B = 1Y(10h, uv + 14v * 1v( 0.0, -1.0));\\1P C = 1Y(10h, uv + 14v * 1v( 1.0, -1.0));\\1P D = 1Y(10h, uv + 14v * 1v(-0.5, -0.5));\\1P E = 1Y(10h, uv + 14v * 1v( 0.5, -0.5));\\1P F = 1Y(10h, uv + 14v * 1v(-1.0,  0.0));\\1P G = 1Y(10h, uv                               );\\1P H = 1Y(10h, uv + 14v * 1v( 1.0,  0.0));\\1P I = 1Y(10h, uv + 14v * 1v(-0.5,  0.5));\\1P J = 1Y(10h, uv + 14v * 1v( 0.5,  0.5));\\1P K = 1Y(10h, uv + 14v * 1v(-1.0,  1.0));\\1P L = 1Y(10h, uv + 14v * 1v( 0.0,  1.0));\\1P M = 1Y(10h, uv + 14v * 1v( 1.0,  1.0));\\2u 5u = (1.0 / 4.0) * 1v(0.5, 0.125);\\1P o = (D + E + I + J) * 5u.x;\\no += (A + B + G + F) * 5u.y;\\no += (B + C + H + G) * 5u.y;\\no += (F + G + L + K) * 5u.y;\\no += (G + H + M + L) * 5u.y;\\2j o;\\n}\\1P 5eS(2v 10h, 1v uv, 1v 14v)\\n{\\1P d = 14v.1gZ * 1m(-1.0, -1.0, 1.0, 1.0);\\1P s;\\ns =  1Y(10h, uv + d.xy);\\ns += 1Y(10h, uv + d.zy);\\ns += 1Y(10h, uv + d.xw);\\ns += 1Y(10h, uv + d.zw);\\2j s * (1.0 / 4.0);\\n}\\2s 2k()\\n{\\1P 1A = 2uZ(1OJ, 2F, 1OI.xy);\\3R = 1A;\\n}\\n",{4J:h,7H:1a});h=a.1aL("2n 2v 1OJ;\\1B 2v 3hw;\\1B 1v 1OI;\\1B 1o 3hv;\\1J 1v 2F;\\1P 3J8(1m 1o4, 1v uv)\\n{\\1P 1A = 1Y(3hw, uv);\\2j 1o4 + 1A;\\n}\\1P 2uV(2v 10h, 1v uv, 1v 14v, 1m 1Yz)\\n{\\1P d = 14v.1gZ * 1m(1.0, 1.0, -1.0, 0.0) * 1Yz;\\1P s;\\ns =  1Y(10h, uv - d.xy);\\ns += 1Y(10h, uv - d.wy) * 2.0;\\ns += 1Y(10h, uv - d.zy);\\ns += 1Y(10h, uv + d.zw) * 2.0;\\ns += 1Y(10h, uv       ) * 4.0;\\ns += 1Y(10h, uv + d.xw) * 2.0;\\ns += 1Y(10h, uv + d.zy);\\ns += 1Y(10h, uv + d.wy) * 2.0;\\ns += 1Y(10h, uv + d.xy);\\2j s * (1.0 / 16.0);\\n}\\1P 5eO(2v 10h, 1v uv, 1v 14v, 1m 1Yz)\\n{\\1P d = 14v.1gZ * 1m(-1.0, -1.0, 1.0, 1.0) * (1Yz * 0.5);\\1P s;\\ns =  1Y(10h, uv + d.xy);\\ns += 1Y(10h, uv + d.zy);\\ns += 1Y(10h, uv + d.xw);\\ns += 1Y(10h, uv + d.zw);\\2j s * (1.0 / 4.0);\\n}\\2s 2k()\\n{\\1P 1o4 = 2uV(1OJ, 2F, 1OI.xy, 1m(3hv));\\3R = 3J8(1o4, 2F);\\n}\\n",{4J:h,7H:1a});1a.1zh[e].4z7=f;1a.1zh[e].4z8=h;l=5FT;l.1G=b;l.1D=c;l=pa.4t({5q:l});f.4w=l;h.4w=l;l=1g eb({1O:a,13I:[1g Ca({1O:a,1G:b,1D:c,10E:Ha.3O})]});1d k=1g eb({1O:a,13I:[1g Ca({1O:a,1G:b,1D:c,10E:Ha.3O})]});1a.1zh[e].2zP=l;1a.1zh[e].3Ur=k;f.4Q=l;h.4Q=k;b/=2;b=1k.1V(b,1);c=1k.1V(c/2,1)}};Nh.1i.7L0=1b(a){1f a*(a*(.7KZ*a+.7KY)+.7KX)};Nh.1i.27Z=1b(a){1a.1d0=a};Nh.1i.5DB=1b(){1f 1a.3pQ.167(0)};Nh.1i.5DA=1b(){1f g(1a.2zR)?1a.2zR:1a.4j.1np};Nh.1i.5Dz=1b(){rr.x=1/1a.3pQ.167(0).1G;rr.y=1/1a.3pQ.167(0).1D;1f rr};Nh.1i.5Dy=1b(){1f 1a.2zQ};Nh.1i.5Dx=1b(){1f 1a.3pP};Nh.1i.5Dw=1b(){1f 1a.5FS};Nh.1i.3Z=1b(){1f!1};Nh.1i.32M=1b(){1j(1d a=0;a<1a.2fS;a++)if(g(1a.1zh[a].2zP)){1d b=1a.1zh[a].3Ur;1a.1zh[a].2zP.1M();b.1M()}};Nh.1i.1M=1b(){1a.32M();1j(1d a=0;a<1a.2fS;a++){1d b=1a.1zh[a].4z8;1a.1zh[a].4z7.2z.1M();b.2z.1M()}1f la(1a)};1d 5FR=1g k(1,1,1);1L.2X(nT.1i,{6e:{1n:1b(){1f 1a.1US},1C:1b(a){v.2l("1Q",a);v.1N.2b.9Y("1Q.x",a.x,0);v.1N.2b.9Y("1Q.y",a.y,0);v.1N.2b.9Y("1Q.z",a.z,0);k.1y(a,1a.1US)}}});1d 5FQ=1g k;nT.1i.1Uk=1b(a){1d b=k.4g(1a.1US,.5,5FQ),c=B.1xb(-b.x,b.x),d=B.1xb(-b.y,b.y);b=B.1xb(-b.z,b.z);a.1K=k.9v(c,d,b,a.1K);a.1c9=k.1T(a.1K,a.1c9)};1L.2X(dz.1i,{6T:{1n:1b(){1f 1a.1dn}}});dz.1i.2H=1b(a){if(!g(1a.1dn)){a=a.1O;1d b=1g Ca({1O:a,1G:256,1D:256,8b:ua.9m,10E:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})});1a.1dn=b;1a.13p=1g eb({1O:a,13I:[b],16Y:!1});1a.1bx=a.1aL("3G 1v 2F;\\4i 1o 1SF = 3.24J;\\1r 3J6(7P i)\\n{\\1r r;\\1r 13T = 2.0;\\1r 1Q = 0.0;\\1r 2uY = 1.0 / 13T;\\1r 3J7 = 2uY;\\14D (7P x = 0; x < 100; x++)\\n{\\1U (i <= 0)\\n{\\1Yw;\\n}\\nr = 13R(1o(i), 13T);\\1ak += r * 3J7;\\5eN *= 2uY;\\ni = 7P(1o(i) * 2uY);\\n}\\2j 1Q;\\n}\\2u 3J3(7P i, 7P N)\\n{\\2j 1v(1o(i) / 1o(N), 3J6(i));\\n}\\1R 3J2(1v xi, 1o 12V, 1w N)\\n{\\1r a = 12V * 12V;\\1r 2XU = 2.0 * 1SF * xi.x;\\1r 1ux = 3Y((1.0 - xi.y) / (1.0 + (a * a - 1.0) * xi.y));\\1r 1YA = 3Y(1.0 - 1ux * 1ux);\\1R H = 1w(1YA * 3i(2XU), 1YA * 2T(2XU), 1ux);\\1R 3J5 = abs(N.z) < 0.999 ? 1w(0.0, 0.0, 1.0) : 1w(1.0, 0.0, 0.0);\\1R 2XT = 1T(4B(3J5, N));\\1R 3J4 = 4B(N, 2XT);\\2j 2XT * H.x + 3J4 * H.y + N * H.z;\\n}\\1r 2XS(1o 1cb, 1o k)\\n{\\2j 1cb / (1cb * (1.0 - k) + k);\\n}\\1r 3J1(1o 12V, 1o 1cb, 1o 1uB)\\n{\\1r k = 12V * 12V / 2.0;\\2j 2XS(1cb, k) * 2XS(1uB, k);\\n}\\2u 3J0(1o 12V, 1o 1cb)\\n{\\1R V = 1w(3Y(1.0 - 1cb * 1cb), 0.0, 1cb);\\1r A = 0.0;\\1r B = 0.0;\\4i 7P 2uX = 13j;\\14D (7P i = 0; i < 2uX; i++)\\n{\\2u xi = 3J3(i, 2uX);\\1R H = 3J2(xi, 12V, 1w(0.0, 0.0, 1.0));\\1R L = 2.0 * 2A(V, H) * H - V;\\1r 1uB = 2Y(L.z, 0.0, 1.0);\\1r 1uA = 2Y(H.z, 0.0, 1.0);\\1r 1y3 = 2Y(2A(V, H), 0.0, 1.0);\\1U (1uB > 0.0)\\n{\\1r G = 3J1(12V, 1cb, 1uB);\\1r 2XR = G * 1y3 / (1uA * 1cb);\\1r Fc = 3r(1.0 - 1y3, 5.0);\\nA += (1.0 - Fc) * 2XR;\\nB += Fc * 2XR;\\n}\\n}\\2j 1v(A, B) / 1o(2uX);\\n}\\2s 2k()\\n{\\3R = 1m(3J0(2F.y, 2F.x), 0.0, 1.0);\\n}\\n",{4Q:1a.13p,4w:pa.4t({5q:1g Aa(0,0,256,256)})});1a.1bx.5P(a);1a.13p=1a.13p&&1a.13p.1M();1a.1bx.2z=1a.1bx.2z&&1a.1bx.2z.1M()}};dz.1i.3Z=1b(){1f!1};dz.1i.1M=1b(){1a.1dn=1a.1dn&&1a.1dn.1M();1f la(1a)};1d CY={},5FP=1g k,4z6=1g k,4z5=1g k,5FO=1g T,5FN=1g T,4z4=1g T,5FM=1g k;CY.5Ep=1b(a,b){b=m(b,m.4Z);1d c=b.16h;if(!g(a))1t 1g r("4r is 1X.");if(!g(c))1t 1g r("16h is 1X.");1d d=a.3z;if(d===O.1at)1f pT();1d e=m(b.1hk,!0),f=a.11s,h=f.3c,l=b.12x,p=b.3pF,n=b.3pE,q=b.3pD,w=b.1lZ,x=b.4yE,u=b.4yD,t=b.3pI,v=b.3Uk,y=b.3Uj;e&&d!==O.6G&&(h.10Z(c,4z4),c=f.12z(4z4,5FM));f=a.3w;e=b.1MJ;g(e)&&f.1dm(e);e=b.13k;g(e)||(e=1k.8a(k.3s(f.1K,c)/1E6)+2,e=1k.2o(e,3));1d A=m(b.8e,0),E=m(b.8q,-B.10k),F=m(b.12C,0),H=m(b.3pL,!1),I=m(b.3pK,!1),K=m(b.3pJ,!1),J=m(b.3Ul,!1),L=a.1Do;L.2zO=b.3pL||b.3pK||b.3pJ;1d S=4z3(L,b.1aH);b=4z3(L,b.1hm);L=f.3j;1d U=a.3z===O.10j;if(U=(U=(U=(U=U&&C.5T(f.1K,c,B.1g9))&&B.5T(1k.1V(L.2W-L.3B,L.5C-L.7b),c.z,B.1g9))||a.3z!==O.10j&&k.5T(c,f.1K,B.1io))&&B.5T(B.1vw(A),B.1vw(f.8e),B.1io)&&B.5T(B.1vw(E),B.1vw(f.8q),B.1io)&&B.5T(B.1vw(F),B.1vw(f.12C),B.1io))1f pT(S,b);1d R=2K(4);R[O.10j]=5FL;R[O.6G]=5FK;R[O.15j]=5FJ;if(0>=e)1f pT(1b(){R[d](a,1,c,A,E,F,l,p,n,q)({6q:1});"1b"===2h S&&S()},b);x=R[d](a,e,c,A,E,F,l,p,n,q,H,I,K,x,u,J,t,v,y);g(w)||(w=f.19I.1D,h=d===O.6G?h.10Z(c).1D:c.z,w=w>h&&33y<w?jh.5FI:jh.5FH);1f{13k:e,1lZ:w,1Jt:{6q:0},1Js:{6q:e},2H:x,1aH:S,1hm:b}};1d Ws=1L.3F({2Kr:0,5FG:1});ab.20I=1g A(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);ab.34I=A.1yQ(ab.20I,1g A);ab.3Um=Q.8g(70,0,140,60);ab.4yU=.5;ab.5FF=1g Bp(0,-B.3Uq,0);ab.1i.5FE=1b(){1f g(1a.2fQ)&&1a.8C!==O.10j};ab.1i.5tu=1b(){if(g(1a.2LV)){1a.4z2=1a.34H;1d a=k.3V(1a.6K,1a.2LV,1a.2LV);1a.34H=k.7t(a);1a.2LV=k.1y(1a.6K,1a.2LV);0<1a.34H?(1a.4z1=0,1a.5FD=Kd()):1a.4z1=1k.1V(Kd()-1a.5FD,0)/1E3}1s 1a.2LV=k.1y(1a.6K,1a.2LV);1a.3pe=!1;if(0!==1a.1lt.2mw){a=1a.5FC;1d b=1a.5FB;if(1a.8C===O.10j)if(g(1a.2zN)){1d c=1a.1K,d=1a.1ML,e=1a.3j,f=1a.2zN,h=c.x+e.3B,l=c.x+e.2W,p=d.x+f.3B,n=d.x+f.2W,m=c.y+e.7b;c=c.y+e.5C;1d q=d.y+f.7b;d=d.y+f.5C;1d x=1k.1V(h,p),r=1k.2o(l,n),t=1k.1V(m,q),u=1k.2o(c,d);x>=r||t>=c?e=1:(h<p&&l>n&&m<q&&c>d&&(f=e),e=1-(r-x)*(u-t)/((f.2W-f.3B)*(f.5C-f.7b)));e>a&&(1a.1lt.5k(e),1a.1ML=k.1y(1a.1K,1a.1ML),1a.2zN=1a.3j.1y(1a.2zN));e>b&&(1a.3pe=!0,1a.1ML=k.1y(1a.1K,1a.1ML),1a.2zN=1a.3j.1y(1a.2zN))}1s 1a.1ML=k.1y(1a.1K,1a.1ML),1a.2zN=1a.3j.1y();1s if(g(1a.2oj)){e=B.1UX(k.2A(1a.18k,1a.2oj));e=g(1a.3j.1MK)?e/(.5*1a.3j.1MK):e;h=k.3s(1a.6K,1a.1ML)/1a.19I.1D;if(e>a||h>a)1a.1lt.5k(1k.1V(e,h)),1a.1ML=k.1y(1a.6K,1a.1ML),1a.2oj=k.1y(1a.18k,1a.2oj);if(e>b||h>b)1a.1lt.5k(1k.1V(e,h)),1a.3pe=!0,1a.1ML=k.1y(1a.6K,1a.1ML),1a.2oj=k.1y(1a.18k,1a.2oj)}1s 1a.1ML=k.1y(1a.6K,1a.1ML),1a.2oj=k.1y(1a.18k,1a.2oj)}};1d 5Fz=1g A,eu=1g T;ab.1i.2LT=1b(){1d a=1a.2R,b=a.1Do,c=b.5FA,d=b.4rY;b=b.2LU;if(!1a.3pO&&c){c=1a.8C;1d e=a.10a;if(g(e)&&c!==O.10j&&c!==O.1at){1d f=e.3c;a=a.11s;if(!A.2L(1a.5o,A.8K)){1d h=A.1y(1a.5o,5Fz);1d l=k.7t(1a.1K);1a.1dm(A.8K)}c===O.6G?f.10Z(1a.1K,eu):a.1cZ(1a.1K,eu);1d p=!1;eu.1D<d&&(d=e.1sc(eu),g(d)&&(d+=b,eu.1D<d&&(eu.1D=d,c===O.6G?f.13B(eu,1a.1K):a.12z(eu,1a.1K),p=!0)));g(h)&&(1a.1dm(h),p&&(k.1T(1a.1K,1a.1K),k.11k(1a.1K,1a.2G),k.4g(1a.1K,1k.1V(l,b),1a.1K),k.1T(1a.2G,1a.2G),k.4B(1a.2G,1a.up,1a.2W),k.4B(1a.2W,1a.2G,1a.up)))}}};1d 5Fy=1g T,5Fx=1g k,sJ=1g k,5Fw=1g E,5Fv=1g E,5Fu=1g E,5Ft=1g E,5Fs=1g E,qT=1g k,tJ=1g A,uJ=1g A;1L.2X(ab.1i,{5o:{1n:1b(){1f 1a.1GK}},2fR:{1n:1b(){lh(1a);1f 1a.4z0}},1on:{1n:1b(){lh(1a);1f 1a.21D}},1x3:{1n:1b(){lh(1a);1f 1a.4yZ}},19I:{1n:1b(){lh(1a);1f 1a.21E}},6K:{1n:1b(){lh(1a);1f 1a.2my}},18k:{1n:1b(){lh(1a);1f 1a.34G}},1je:{1n:1b(){lh(1a);1f 1a.34F}},2f1:{1n:1b(){lh(1a);1f 1a.34E}},8e:{1n:1b(){if(1a.8C!==O.1at){1d a=1a.16y.3c,b=A.1y(1a.1GK,tJ);a=Da.18N(1a.6K,a,uJ);1a.1dm(a);a=4yY(1a.2G,1a.up);1a.1dm(b);1f a}}},8q:{1n:1b(){if(1a.8C!==O.1at){1d a=1a.16y.3c,b=A.1y(1a.1GK,tJ);a=Da.18N(1a.6K,a,uJ);1a.1dm(a);a=B.10k-B.1UX(1a.2G.z);1a.1dm(b);1f a}}},12C:{1n:1b(){if(1a.8C!==O.1at){1d a=1a.16y.3c,b=A.1y(1a.1GK,tJ);a=Da.18N(1a.6K,a,uJ);1a.1dm(a);a=4yX(1a.2G,1a.up,1a.2W);1a.1dm(b);1f a}}},5xR:{1n:1b(){1f 1a.5Fr}},5xP:{1n:1b(){1f 1a.5Fq}},1pr:{1n:1b(){1f 1a.1lt}},7KW:{1C:1b(a){1a.34A!==a&&(1a.3Uf=!0);1a.34A=a},1n:1b(){1f 1a.34A}},7KV:{1n:1b(){1f 1a.3Ue},1C:1b(a){1a.3Ue=a}},4yE:{1C:1b(a){1a.3Ui=a},1n:1b(){1f 1a.3Ui}},4yD:{1C:1b(a){1a.3Uh=a},1n:1b(){1f 1a.3Uh}},7KU:{1C:1b(a){1a.3Uo=B.2Y(a,0,1)},1n:1b(){1f 1a.3Uo}},7KT:{1C:1b(a){1a.4yW=a},1n:1b(){1f 1a.4yW}}});1d DY=1g C,EY=1g C;ab.1i.2H=1b(a){if(!g(a))1t 1g r("3z is 1X.");if(a===O.10j&&!(1a.3j 2m Ee))1t 1g r("An 5gH is 1X in 2D.");if(!(a!==O.6G&&a!==O.15j||1a.3j 2m Qc||1a.3j 2m Jb))1t 1g r("A 5gC or 5gI is 1X in 3D and 5Fp 11A");1d b=!1;a!==1a.8C&&(1a.8C=a,1a.3Up=a!==O.1at,b=1a.8C===O.10j);if(b){a=1a.5Fo=1a.3j.1y();if(!(a 2m Ee))1t 1g r("9B 3w 3j is 1SV to be 4rb 1j 2D 3w 3Om.");b=a.5C/a.2W;a.2W=2*1a.28a.x;a.3B=-a.2W;a.5C=b*a.2W;a.7b=-a.5C}1a.8C===O.10j&&4yQ(1a,1a.1K);a=1a.2R.10a;a=!g(a)||a.7G.1oy.3o&&0===a.7G.27J.1h&&0===a.7G.21h.1h&&0===a.7G.2fi.1h&&0===a.7G.1JC.2zc;1a.3pO&&(1a.3pO=!a);a&&1a.2LT();1a.34z&&1a.4yu(1a.4yt);if(0<1a.3Uo){a=1a.2R.3M;EY.x=a.18L/2;EY.y=a.1gt/2;b=1a.1bZ(EY);1d c=ib.1TV(b,ba.9y);if(g(c)){DY.x=a.18L/2;DY.y=0;1d d=1a.1bZ(DY);d=ib.1TV(d,ba.9y);g(d)?1a.3Un=rb.1n3(b,c.4I):(c=k.7t(1a.1K),c=c<B.1Qg?B.10k:1k.17M(B.1Qg/c),d=1g rb(1a.1K,1g k(-1a.1K.x,-1a.1K.y,-1a.1K.z)),d=1g k(d.9X.x+d.2G.x,d.9X.y+d.2G.y,d.9X.z+d.2G.z),b=1g k(b.9X.x+b.2G.x,b.9X.y+b.2G.y,b.9X.z+b.2G.z),b=k.3s(d,b),b=(.5*1a.3j.16X-(c-2*1k.17M(.5*b)))/1a.3j.16X,b=a.1gt*(1+b)*.5,a=1g C(.5*a.18L,b),a=1a.1bZ(a),b=ib.1TV(a,ba.9y),1a.3Un=rb.1n3(a,b.4I))}1s 1a.3Un=1p 0}if(1a.2R.327&&(b=1a.2R.18Y,a=b.1qL,g(a))){b=b.1O.7p;c=1a.3j.34D;d=1a.21E.1D;1d e;1j(e=0;22>e&&!(a.7Y.1DR(e)*b/(d*c)<(4>e?.5*a.1ev:a.1ev));e++);1a.3on=e}};1d 5Fn=1g k,5Fm=1g k,5Fl=1g k;ab.1i.1dm=1b(a){1d b=k.1y(1a.6K,5Fn),c=k.1y(1a.1je,5Fm),d=k.1y(1a.18k,5Fl);A.1y(a,1a.1GK);1a.3pC=!0;lh(1a);a=1a.2zL;A.8P(a,b,1a.1K);A.1gE(a,d,1a.2G);A.1gE(a,c,1a.up);k.4B(1a.2G,1a.up,1a.2W);lh(1a)};1d hN=1g C,5Fj=1g rb,5Fi=1g k,5Fh=1g k;ab.1i.2fP=1b(a){if(1a.3j 2m Jb&&(a||!(5Fk>1a.21E.1D)))if(A.2L(A.8K,1a.5o)){1d b=1a.2R;a=b.10a;1d c;if(g(a)){hN.x=b.8j/2;hN.y=b.7p/2;1d d=1a.1bZ(hN,5Fj);d=a.3oe(d,b,5Fi);b.2K3&&(c=b.271(hN,5Fh));if(g(d)&&g(c)){b=g(c)?k.3s(c,1a.6K):3a.19B;1d e=g(d)?k.3s(d,1a.6K):3a.19B;1a.3j.1G=1k.2o(b,e)}1s g(c)?1a.3j.1G=k.3s(c,1a.6K):g(d)&&(1a.3j.1G=k.3s(d,1a.6K))}g(a)&&(g(d)||g(c))||(1a.3j.1G=1k.1V(1a.19I.1D,0))}1s 1a.3j.1G=k.7t(1a.1K)};1d iN=1g k,FY=1g A,5Fd=1g A,GY=1g ca,HY=1g J,4yV=1g T,5Fg=1g k,5Ff=1g k,5Fe=1g k,sr={16h:1p 0,11f:{2G:1p 0,up:1p 0,8e:1p 0,8q:1p 0,12C:1p 0},1hk:1p 0,1MJ:1p 0},ck=1g $b;ab.1i.1dG=1b(a){a=m(a,m.4Z);1d b=m(a.11f,m.4Z),c=1a.8C;if(c!==O.1at){g(a.1MJ)&&1a.1dm(a.1MJ);1d d=m(a.1hk,!0);a=m(a.16h,k.1y(1a.6K,iN));g(a)&&g(a.4o)&&(a=1a.3pM(a,iN),d=!1);g(b.2G)&&(b=4yF(1a,a,b,sr.11f));ck.8e=m(b.8e,0);ck.8q=m(b.8q,-B.10k);ck.12C=m(b.12C,0);1a.3pO=!0;if(c===O.6G)b=a,d=A.1y(1a.5o,FY),b=Da.18N(b,1a.16y.3c,5Fd),1a.1dm(b),k.1y(k.6h,1a.1K),ck.8e-=B.10k,b=ca.28d(ck,GY),b=J.1fE(b,HY),J.1ed(b,0,1a.2G),J.1ed(b,2,1a.up),k.4B(1a.2G,1a.up,1a.2W),1a.1dm(d),1a.2fP(!0);1s if(c===O.10j){b=a;c=d;d=A.1y(1a.5o,FY);1a.1dm(A.8K);if(!k.2L(b,1a.6K)&&(c&&(c=1a.16y,b=c.3c.10Z(b,4yV),b=c.12z(b,iN)),C.1y(b,1a.1K),b=.5*-b.z,c=-b,a=1a.3j,c>b)){1d e=a.5C/a.2W;a.2W=c;a.3B=b;a.5C=a.2W*e;a.7b=-a.5C}1a.2R.27c===Ws.2Kr&&(ck.8e-=B.10k,ck.8q=-B.10k,ck.12C=0,b=ca.28d(ck,GY),b=J.1fE(b,HY),J.1ed(b,2,1a.up),k.4B(1a.2G,1a.up,1a.2W));1a.1dm(d)}1s b=a,c=d,d=A.1y(1a.5o,FY),1a.1dm(A.8K),k.2L(b,1a.6K)||(c&&(c=1a.16y,b=c.3c.10Z(b,4yV),b=c.12z(b,iN)),k.1y(b,1a.1K)),ck.8e-=B.10k,b=ca.28d(ck,GY),b=J.1fE(b,HY),J.1ed(b,0,1a.2G),J.1ed(b,2,1a.up),k.4B(1a.2G,1a.up,1a.2W),1a.1dm(d),1a.2fP(!0)}};1d 5Fb=1g k;ab.1i.5Fc=1b(a){1d b=1a.8C;b===O.1at&&1a.2R.3Po();if(b===O.10j)1a.1AG({16h:ab.3Um,13k:a,1MJ:A.8K});1s if(b===O.6G){b=1a.3pM(ab.3Um);1d c=k.7t(b);c+=c*ab.4yU;k.1T(b,b);k.4g(b,c,b);1a.1AG({16h:b,13k:a,1MJ:A.8K})}1s b===O.15j&&(b=1a.16y.3c.17i,c=1g k(0,-1,1),c=k.4g(k.1T(c,c),5*b,c),1a.1AG({16h:c,13k:a,11f:{8e:0,8q:-1k.1cz(k.1T(c,5Fb).z),12C:0},1MJ:A.8K,1hk:!1}))};ab.1i.4yT=1b(a,b){if(!g(a))1t 1g r("16L is 1X.");g(b)||(b=1g E);lh(1a);1f A.10r(1a.2zL,a,b)};ab.1i.4yS=1b(a,b){if(!g(a))1t 1g r("16L is 1X.");g(b)||(b=1g k);lh(1a);1f A.8P(1a.2zL,a,b)};ab.1i.5Ev=1b(a,b){if(!g(a))1t 1g r("16L is 1X.");g(b)||(b=1g k);lh(1a);1f A.1gE(1a.2zL,a,b)};ab.1i.7KS=1b(a,b){if(!g(a))1t 1g r("16L is 1X.");g(b)||(b=1g E);lh(1a);1f A.10r(1a.1Ec,a,b)};ab.1i.4yG=1b(a,b){if(!g(a))1t 1g r("16L is 1X.");g(b)||(b=1g k);lh(1a);1f A.8P(1a.1Ec,a,b)};ab.1i.7KR=1b(a,b){if(!g(a))1t 1g r("16L is 1X.");g(b)||(b=1g k);lh(1a);1f A.1gE(1a.1Ec,a,b)};1d 4yR=1g k;ab.1i.1tJ=1b(a,b){if(!g(a))1t 1g r("2G is 1X.");1d c=1a.1K;k.4g(a,b,4yR);k.add(c,4yR,c);1a.8C===O.10j&&4yQ(1a,c);1a.2fP(!0)};ab.1i.3mY=1b(a){a=m(a,1a.2LS);1a.8C===O.10j?vJ(1a,a):1a.1tJ(1a.2G,a)};ab.1i.3mX=1b(a){a=m(a,1a.2LS);1a.8C===O.10j?vJ(1a,-a):1a.1tJ(1a.2G,-a)};ab.1i.5Fa=1b(a){a=m(a,1a.2LS);1a.1tJ(1a.up,a)};ab.1i.5F9=1b(a){a=m(a,1a.2LS);1a.1tJ(1a.up,-a)};ab.1i.3mV=1b(a){a=m(a,1a.2LS);1a.1tJ(1a.2W,a)};ab.1i.3mW=1b(a){a=m(a,1a.2LS);1a.1tJ(1a.2W,-a)};ab.1i.5F8=1b(a){a=m(a,1a.2zM);1a.8C!==O.10j&&1a.28c(1a.up,-a)};ab.1i.7KQ=1b(a){a=m(a,1a.2zM);1a.8C!==O.10j&&1a.28c(1a.up,a)};ab.1i.5F7=1b(a){a=m(a,1a.2zM);1a.8C!==O.10j&&1a.28c(1a.2W,-a)};ab.1i.7KP=1b(a){a=m(a,1a.2zM);1a.8C!==O.10j&&1a.28c(1a.2W,a)};1d 5F6=1g ca,5F5=1g J;ab.1i.28c=1b(a,b){if(!g(a))1t 1g r("1Dm is 1X.");b=m(b,1a.2zM);a=ca.1gG(a,-b,5F6);a=J.1fE(a,5F5);b=1a.2G;1d c=1a.up,d=1a.2W;J.10r(a,b,b);J.10r(a,c,c);J.10r(a,d,d)};ab.1i.7KO=1b(a){a=m(a,1a.2zM);1a.28c(1a.2G,a)};ab.1i.4yP=1b(a){a=m(a,1a.2zM);1a.28c(1a.2G,-a)};1d 5F4=1g ca,5F3=1g J;ab.1i.17b=1b(a,b){if(!g(a))1t 1g r("1Dm is 1X.");b=m(b,1a.34C);a=ca.1gG(a,-b,5F4);a=J.1fE(a,5F3);J.10r(a,1a.1K,1a.1K);J.10r(a,1a.2G,1a.2G);J.10r(a,1a.up,1a.up);k.4B(1a.2G,1a.up,1a.2W);k.4B(1a.2W,1a.2G,1a.up);1a.2fP(!1)};ab.1i.7KN=1b(a){a=m(a,1a.34C);4yO(1a,a)};ab.1i.5F2=1b(a){a=m(a,1a.34C);4yO(1a,-a)};1d 5F1=1g k,5F0=1g k,5EZ=1g k,4yN=1g k;ab.1i.3pz=1b(a){a=m(a,1a.34C);4yM(1a,-a)};ab.1i.5EY=1b(a){a=m(a,1a.34C);4yM(1a,a)};ab.1i.2wy=1b(a){a=m(a,1a.4yL);1a.8C===O.10j?vJ(1a,a):1a.1tJ(1a.2G,a)};ab.1i.3M5=1b(a){a=m(a,1a.4yL);1a.8C===O.10j?vJ(1a,-a):1a.1tJ(1a.2G,-a)};ab.1i.4yK=1b(){if(1a.8C===O.6G)1f k.7t(1a.1K);if(1a.8C===O.15j)1f 1k.abs(1a.1K.z);if(1a.8C===O.10j)1f 1k.1V(1a.3j.2W-1a.3j.3B,1a.3j.5C-1a.3j.7b)};1d 5EX=1g A;ab.1i.3pH=1b(a,b){if(!g(a))1t 1g r("15s is 1X");if(!g(b))1t 1g r("2M is 1X");if(1a.8C===O.1at)1t 1g r("3pH is 2S 11J 14p 4yC.");a=Da.18N(a,ba.9y,5EX);1a.1Pa(a,b)};1d 5EW=1g k,5EV=1g ca,5EU=1g ca,5ET=1g J;ab.1i.1Pa=1b(a,b){if(!g(a))1t 1g r("5o is 1X");if(1a.8C===O.1at)1t 1g r("1Pa is 2S 11J 14p 4yC.");1a.1dm(a);if(g(b))if(b=g(b.8e)?4yA(b.8e,b.8q,b.11D):b,1a.8C===O.10j){C.1y(C.6h,1a.1K);k.11k(b,1a.up);1a.up.z=0;k.17j(1a.up)<B.1io&&k.1y(k.1f5,1a.up);k.1T(1a.up,1a.up);1a.1dm(A.8K);k.11k(k.16a,1a.2G);k.4B(1a.2G,1a.up,1a.2W);k.1T(1a.2W,1a.2W);1d c=1a.3j,d=c.5C/c.2W;c.2W=.5*k.7t(b);c.3B=-c.2W;c.5C=d*c.2W;c.7b=-c.5C;1a.1dm(a)}1s k.1y(b,1a.1K),k.11k(1a.1K,1a.2G),k.1T(1a.2G,1a.2G),k.4B(1a.2G,k.16a,1a.2W),k.17j(1a.2W)<B.1io&&k.1y(k.1dl,1a.2W),k.1T(1a.2W,1a.2W),k.4B(1a.2W,1a.2G,1a.up),k.1T(1a.up,1a.up),1a.2fP(!0)};1d hD=1g T,5ES=1g T,5ER=1g k,5EQ=1g k,5EP=1g k,5EO=1g k,5EN=1g k,5EM=1g k,5EL=1g k,rT=1g k,5EK={2G:1g k,2W:1g k,up:1g k},4yJ,LA=1g T,5EJ=1g k,5EI=1g k,5EH=1g T,5EG=1g k,5EF=1g k;ab.1i.3pM=1b(a,b){if(!g(a))1t 1g r("3g is 1X");1d c=1a.8C;g(b)||(b=1g k);if(c===O.6G)1f 4yI(1a,a,b);if(c===O.15j){c=a;1d d=1a.16y;c.4o>c.5a&&(c=Q.6w);1d e=1a.1Ec,f=1a.2zL;LA.3N=c.5a;LA.4k=c.4P;a=d.12z(LA,5EJ);A.8P(e,a,a);A.8P(f,a,a);LA.3N=c.4o;LA.4k=c.4C;c=d.12z(LA,5EI);A.8P(e,c,c);A.8P(f,c,c);b.x=.5*(a.x-c.x)+c.x;b.y=.5*(a.y-c.y)+c.y;g(1a.3j.1MK)?(e=1k.10n(.5*1a.3j.1MK),b.z=.5*1k.1V((a.x-c.x)/(1a.3j.13n*e),(a.y-c.y)/e)):b.z=1k.1V(a.x-c.x,a.y-c.y);1f b}if(c===O.10j){f=a;a=1a.16y;f.4o>f.5a&&(f=Q.6w);c=5EH;c.3N=f.5a;c.4k=f.4P;e=a.12z(c,5EG);c.3N=f.4o;c.4k=f.4C;f=a.12z(c,5EF);1d h=.5*1k.abs(e.x-f.x),l=.5*1k.abs(e.y-f.y);d=1a.3j.2W/1a.3j.5C;1d p=l*d;h>p?(p=h,d=p/d):d=l;l=1k.1V(2*p,2*d);b.x=.5*(e.x-f.x)+f.x;b.y=.5*(e.y-f.y)+f.y;c=a.1cZ(b,c);c.1D=l;1f b=a.12z(c,b)}};1d 5EE=1g rb,5ED=1g rb,$Ta=1g rb;ab.1i.1vv=1b(a,b,c){if(!g(a))1t 1g r("2mJ is 1X.");1d d=1a.2R.3M;if(0!==d.18L&&0!==d.1gt){g(c)||(c=1g k);b=m(b,ba.9y);if(1a.8C===O.6G)b=m(b,ba.9y),a=1a.1bZ(a,5EE),c=(b=ib.1TV(a,b))?rb.1n3(a,0<b.4I?b.4I:b.4U,c):1p 0;1s if(1a.8C===O.10j)b=1a.16y,a=1a.1bZ(a,5ED).9X,a.z=0,a=b.1cZ(a),c=a.4k<-B.10k||a.4k>B.10k?1p 0:b.3c.13B(a,c);1s if(1a.8C===O.15j)b=1a.16y,a=1a.1bZ(a,$Ta),rb.1n3(a,-a.9X.x/a.2G.x,c),a=b.1cZ(1g k(c.y,c.z,0)),c=a.4k<-B.10k||a.4k>B.10k||a.3N<-1k.PI||a.3N>1k.PI?1p 0:b.3c.13B(a,c);1s 1f;1f c}};1d 5EC=1g k,5EB=1g k,5EA=1g k,jN=1g k;ab.1i.1bZ=1b(a,b){if(!g(a))1t 1g r("2mJ is 1X.");g(b)||(b=1g rb);1d c=1a.3j;if(g(c.13n)&&g(c.16X)&&g(c.3I)){1d d=1a.2R.3M,e=d.1gt;c=1k.10n(.5*1a.3j.1MK);1d f=1a.3j.13n*c,h=1a.3j.3I;d=2/d.18L*a.x-1;1d l=2/e*(e-a.y)-1;a=1a.6K;k.1y(a,b.9X);e=k.4g(1a.18k,h,5EC);k.add(a,e,e);f=k.4g(1a.2f1,d*h*f,5EB);c=k.4g(1a.1je,l*h*c,5EA);h=k.add(e,f,b.2G);k.add(h,c,h);k.3V(h,a,h);k.1T(h,h);1f b}c=1a.2R.3M;h=c.18L;f=c.1gt;c=1a.3j;g(c.1d3)&&(c=c.1d3);h=2/h*a.x-1;h*=.5*(c.2W-c.3B);a=2/f*(f-a.y)-1;a*=.5*(c.5C-c.7b);c=b.9X;k.1y(1a.1K,c);k.4g(1a.2W,h,jN);k.add(jN,c,c);k.4g(1a.up,a,jN);k.add(jN,c,c);k.1y(1a.18k,b.2G);1a.8C===O.15j&&k.9v(b.9X.z,b.9X.x,b.9X.y,b.9X);1f b};1d 5Ez=1g k,5Ey=1g k;ab.1i.5Ex=1b(a){if(!g(a))1t 1g r("7u is 1X.");1d b=k.3V(1a.6K,a.2V,5Ez);b=k.4g(1a.18k,k.2A(b,1a.18k),5Ey);1f 1k.1V(0,k.7t(b)-a.3L)};1d 5Ew=1g C;ab.1i.2wq=1b(a,b,c){if(!g(a))1t 1g r("7u is 1X.");if(!g(b))1t 1g r("8j is 1X.");if(!g(c))1t 1g r("7p is 1X.");a=1a.5Ex(a);b=1a.3j.28b(b,c,a,1a.2R.13S,5Ew);1f 1k.1V(b.x,b.y)};1d 5Eu=1g k,4yH=1g k,5Et=1g k,5Es=1g k;ab.1i.5v3=1b(a){if(!g(a))1t 1g r("13k is 1X.");if(1a.8C===O.15j){a:{1d b=1a.1K,c=1a.2G,d=1a.5Ev(k.1dl,5Eu);d=-k.2A(d,b)/k.2A(d,c);c=k.add(b,k.4g(c,d,4yH),4yH);1a.4yG(c,c);b=1a.4yG(1a.1K,5Et);d=1k.10n(.5*1a.3j.1MK);1d e=1a.3j.13n*d,f=k.7t(k.3V(b,c,5Es)),h=1a.28a.x,l=1a.28a.y;e=1k.1V(e*f-h,h);d=1k.1V(d*f-l,l);if(b.z<-e||b.z>e||b.y<-d||b.y>d)if(f=c.z<-d||c.z>d,c.y<-e||c.y>e||f){a=5Er(1a,b,c,e,d,a);1W a}a=1p 0}1f a}};1d 5Eq=1g k,wf={16h:1p 0,8e:1p 0,8q:1p 0,12C:1p 0,13k:1p 0,1aH:1p 0,1hm:1p 0,1MJ:1p 0,12x:1p 0,1lZ:1p 0};ab.1i.3pN=1b(){g(1a.2fQ)&&(1a.2fQ.3QA(),1a.2fQ=1p 0)};ab.1i.1AG=1b(a){a=m(a,m.4Z);1d b=a.16h;if(!g(b))1t 1g r("16h is 1X.");if(1a.8C!==O.1at){1a.3pN();1d c=m(a.11f,m.4Z);g(c.2G)&&(c=4yF(1a,b,c,sr.11f));if(g(a.13k)&&0>=a.13k)sr.16h=a.16h,sr.11f.8e=c.8e,sr.11f.8q=c.8q,sr.11f.12C=c.12C,sr.1hk=a.1hk,sr.1MJ=a.1MJ,1a.1dG(sr),"1b"===2h a.1aH&&a.1aH();1s{1d d=g(b.4o);d&&(b=1a.3pM(b,5Eq));1d e=1a,f;wf.16h=b;wf.8e=c.8e;wf.8q=c.8q;wf.12C=c.12C;wf.13k=a.13k;wf.1aH=1b(){f===e.2fQ&&(e.2fQ=1p 0);g(a.1aH)&&a.1aH()};wf.1hm=a.1hm;wf.1MJ=a.1MJ;wf.1hk=d?!1:a.1hk;wf.12x=a.12x;wf.3pD=a.3pD;wf.3pF=a.3pF;wf.3pE=a.3pE;wf.1lZ=a.1lZ;wf.3pL=m(a.3pL,!1);wf.3pK=m(a.3pK,!1);wf.3pJ=m(a.3pJ,!1);wf.3Ul=m(a.3Ul,!1);wf.3pI=m(a.3pI,BC.6i);wf.3Uk=a.3Uk;wf.3Uj=a.3Uj;wf.4yE=1a.3Ui;wf.4yD=1a.3Uh;b=1a.2R;1a.2fQ=f=b.20x.add(CY.5Ep(b,wf))}}};ab.1i.34B=1b(a,b){if(!g(a))1t 1g r("7u is 1X.");if(1a.8C===O.1at)1t 1g r("34B is 2S 11J 14p 4yC.");b=4yB(1a,a,b);1a.3pH(a.2V,b)};1d 5En=1g A,5Eo=1g k,5Em=1g k,5El=1g k,5Eh=1g k,5Ei=1g E,5Ek=1g ca,5Ej=1g J;ab.1i.3pG=1b(a,b){if(!g(a))1t 1g r("7u is 1X.");b=m(b,m.4Z);1d c=1a.8C===O.10j||1a.8C===O.15j;1a.1dm(A.8K);1d d=4yB(1a,a,b.2M);1d e=c?k.4g(k.16a,d.11D,5Eo):4yA(d.8e,d.8q,d.11D);1d f=Da.18N(a.2V,ba.9y,5En);A.8P(f,e,e);if(!c){1d h=k.3V(a.2V,e,5Em);k.1T(h,h);1d l=A.1gE(f,k.16a,5El);1-1k.abs(k.2A(h,l))<B.1g9&&(a=ca.1gG(h,d.8e,5Ek),a=J.1fE(a,5Ej),k.1vu(A.1ed(f,1,5Ei),l),J.10r(a,l,l));f=k.4B(h,l,5Eh);k.4B(f,h,l);k.1T(l,l)}1a.1AG({16h:e,11f:{2G:h,up:l},13k:b.13k,1aH:b.1aH,1hm:b.1hm,1MJ:b.1MJ,12x:b.12x,1lZ:b.1lZ,3pF:b.3pF,3pE:b.3pE,3pD:b.3pD})};1d 4yx=1g k,4yw=1g k,IY=1g k,4yy=1g k,fu=[1g k,1g k,1g k,1g k],sT=1g C,5Eg=1g k,Xs=[1g T,1g T,1g T,1g T];ab.1i.4yz=1b(a,b){a=m(a,ba.9y);1d c=1a.3j.1tM(1a.6K,1a.18k,1a.1je),d=1g P(k.6h,a.17i);if(c.1su(d)!==Lb.1gB){d=1a.2R.3M;c=d.18L;d=d.1gt;1d e=0,f=a.10N,h=k.1oz(a.2zt,1a.6K,4yx),g=k.7t(h),p=k.1T(h,4yw);if(k.5T(p,k.16a,B.1io)){1d n=1g k(0,1,0);1d q=1g k(0,0,1)}1s n=k.1T(k.4B(k.16a,p,IY),IY),q=k.1T(k.4B(p,n,4yy),4yy);h=1k.3Y(k.17j(h)-1);p=k.4g(p,1/g,4yx);g=h/g;n=k.4g(n,g,4yw);q=k.4g(q,g,IY);g=k.add(p,q,fu[0]);k.3V(g,n,g);k.1oz(f,g,g);g=k.3V(p,q,fu[1]);k.3V(g,n,g);k.1oz(f,g,g);g=k.3V(p,q,fu[2]);k.add(g,n,g);k.1oz(f,g,g);p=k.add(p,q,fu[3]);k.add(p,n,p);k.1oz(f,p,p);e+=wJ(0,0,0,1a,a,fu);e+=wJ(0,d,1,1a,a,fu);e+=wJ(c,d,2,1a,a,fu);e+=wJ(c,0,3,1a,a,fu);if(2>e)1f Q.6w;b=Q.3Sb(Xs,b);a=0;e=Xs[3].3N;1j(c=0;4>c;++c)d=Xs[c].3N,e=1k.abs(d-e),a=e>B.PI?a+(B.14C-e):a+e,e=d;B.5T(1k.abs(a),B.14C,B.2oi)&&(b.4o=-B.PI,b.5a=B.PI,0<=Xs[0].4k?b.4P=B.10k:b.4C=-B.10k);1f b}};ab.1i.5Ef=1b(){if(!(1a.8C===O.10j||1a.3j 2m Qc)){1d a=1a.2R;1a.3j=1g Qc;1a.3j.13n=a.8j/a.7p;1a.3j.16X=B.8I(60)}};ab.1i.5Ee=1b(){if(!(1a.8C===O.10j||1a.3j 2m Jb)){1d a=1a.2R;1a.3j=1g Jb;1a.3j.13n=a.8j/a.7p;1a.3j.1G=k.7t(1a.1K);g(1a.3j.1pv)&&1a.2fP(!0)}};ab.1y=1b(a,b){g(b)||(b=1g ab(a.2R));k.1y(a.1K,b.1K);k.1y(a.2G,b.2G);k.1y(a.up,b.up);k.1y(a.2W,b.2W);A.1y(a.1GK,b.5o);b.3pC=!0;b.3j=a.3j.1y();1f b};ab.1i.5Ed=1b(a){1a.1Mx=!0;1d b=1a.4yv,c=a.3s,d=a.2U;b[0]=-2*d.x*d.x+1;b[1]=-2*d.y*d.x;b[2]=-2*d.z*d.x;b[3]=0;b[4]=-2*d.x*d.y;b[5]=-2*d.y*d.y+1;b[6]=-2*d.z*d.y;b[7]=0;b[8]=-2*d.x*d.z;b[9]=-2*d.y*d.z;b[10]=-2*d.z*d.z+1;b[11]=0;b[12]=-2*d.x*c;b[13]=-2*d.y*c;b[14]=-2*d.z*c;b[15]=1;lh(1a);1a.3j.1Ck=!0;1a.3j.3pB=a;1a.3j.3pA=1a.21D};ab.1i.5Ec=1b(){1a.1Mx=!1;1a.3j.1Ck=!1;1a.3j 2m Qc&&1a.3j.3Ug();lh(1a)};1d 5Ea=1g A,5Eb=1g A,Zw=0,kN=!1;ab.1i.7KM=1b(a){Zw=0;1a.34z=kN=!1;1a.4yu(a)};ab.1i.4yu=1b(a){if(!1a.34A&&kN)Zw=0;1s{if(!1a.34z||1a.3Uf)Kd(),Zw=0,kN=!1,1a.4yt=k.1y(a),1a.34z=!0,1a.3Uf=!1;1d b=1a.1zg,c=A.1y(1a.5o,5Eb);a=Da.18N(a,ba.9y,5Ea);1a.1dm(a);1a.1zg=k.16a;Kd();a=.11t*1a.3Ue;1d d=2*1k.PI-1k.abs(Zw);0>Zw&&(d*=-1);!1a.34A&&1k.abs(Zw)>=2*1k.PI&&(a=d,kN=!0);Zw+=a;1a.3pz(-a);1a.1zg=b;1a.1dm(c)}};ab.1i.7KL=1b(){1a.34z=!1};1d Wd=1L.3F({2zK:0,34y:1,3py:2,1TL:3,3Ud:4});1L.2X(Ik.1i,{3Lw:{1n:1b(){1f 1a.3Ua}},3Qv:{1n:1b(){1d a=!1a.13A[si(Wd.1TL)]||!1a.13A[si(Wd.1TL,mk.3Uc)]||!1a.13A[si(Wd.1TL,mk.34x)]||!1a.13A[si(Wd.1TL,mk.4ys)];1f 0<1a.2zJ||a}}});Ik.1i.5E9=1b(a,b){if(!g(a))1t 1g r("1I is 1X.");a=si(a,b);1f!1a.13A[a]};Ik.1i.4yr=1b(a,b){if(!g(a))1t 1g r("1I is 1X.");a=si(a,b);1f 1a.2oh[a]};Ik.1i.7KK=1b(a,b){if(!g(a))1t 1g r("1I is 1X.");a=si(a,b);a=1a.2fO[a];if(a.1eu)1f a};Ik.1i.5E2=1b(a,b){if(!g(a))1t 1g r("1I is 1X.");a=si(a,b);1f 1a.2lA[a]};Ik.1i.3Ub=1b(a,b){if(!g(a))1t 1g r("1I is 1X.");if(a===Wd.1TL)1f 1a.3Ua;a=si(a,b);1f 1a.3U9[a]};Ik.1i.5E1=1b(a,b){if(!g(a))1t 1g r("1I is 1X.");a=si(a,b);1f 1a.3U8[a]};Ik.1i.5E0=1b(a,b){if(!g(a))1t 1g r("1I is 1X.");a=si(a,b);1f 1a.3U7[a]};Ik.1i.1Pr=1b(){1j(1d a in 1a.13A)1a.13A.3p(a)&&(1a.13A[a]=!0)};Ik.1i.3Z=1b(){1f!1};Ik.1i.1M=1b(){1a.1wI=1a.1wI&&1a.1wI.1M();1f la(1a)};1L.2X(xq.1i,{17z:{1n:1b(){r.8i()}},1Eb:{1n:1b(){r.8i()}},1qQ:{1n:1b(){r.8i()}},1iC:{1n:1b(){r.8i()}},1tR:{1n:1b(){r.8i()}},1Bq:{1n:1b(){r.8i()}},289:{1n:1b(){r.8i()}},9c:{1n:1b(){r.8i()}},15c:{1n:1b(){r.8i()}},11H:{1n:1b(){r.8i()}},2I:{1n:1b(){r.8i()}},1ac:{1n:1b(){r.8i()}}});xq.1i.1qP=1b(a,b){r.8i()};xq.1i.287=1b(a){r.8i()};xq.1i.1vt=1b(a,b){r.8i()};xq.1i.1nx=1b(a){r.8i()};xq.1i.2H=1b(a,b){r.8i()};xq.1i.3Z=1b(){r.8i()};xq.1i.1M=1b(){r.8i()};1d MA=1g dh,JY=0;4j5.3U6=1b(a,b){a.2fN.1h=0;a.2of.1h=0;a.2LR=!1;1d c=!0,d=a.1ro;d.2LQ(b);if(!d.1br||!d.2zI)1f c;1j(MA.1q(a.1ro);0<MA.1h;){JY=1k.1V(JY,MA.1h);d=MA.9l();1d e=d.1sE===hh.1m8,f=d.1sE===hh.1f1,h=0===d.9d.1h?!1:d.1sD?!d.2og:!0;if(h)1j(1d g=MA,k=b,n=d.9d,m=n.1h,q=0;q<m;++q){1d x=n[q];x.2LQ(k);x.1br&&x.2zI&&g.1q(x)}if(e||f&&!h){e=a;h=f=d;if(!h.1GJ&&!h.1sD&&h.3px||f.2og)f.2LP=0,e.2of.1q(f);e=a;f=d;f.21C&&f.3U5(b)!==Lb.1gB&&e.2fN.1q(f);d.1GJ||d.1sD||d.21C||(c=!1)}++a.1DB.2oe;a.1ot.1Jo(d)}MA.1b2(JY);1f c};1L.2X(fz.1i,{4yq:{1n:1b(){1f 1a.5DZ}}});fz.1i.3x=1b(a,b){1d c=1a.3pw;if(g(c))1j(1d d=c.1h,e=0;e<d;++e){1d f=c[e];if(f.3U4.3x(a))1f f.6d.3x(a,b)}};fz.1i.1FL=1b(a,b){1d c=1a.3pw;if(g(c))1j(1d d=c.1h,e=0;e<d;++e){1d f=c[e];if(f.3U4.3x(a))1f f.6d.1FL(a,b)}};fz.1i.31G=1b(a,b,c,d){1d e=1a.3pw;if(g(e)&&0!==e.1h){1j(1d f="",h=e.1h,l=0;l<h;++l){1d k=e[l],n=k.3U4.2fM(b,c);k=k.6d.2fM(b,c);f+="    "+(0===l?"if":"1s if")+" ("+n+") \\n    { \\n        1f "+k+"; \\n    } \\n"}1f d+" "+a+"() \\n{ \\n"+f+"    1f "+d+"(1.0); \\n} \\n"}};1L.2X(gz.1i,{2r:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.14N}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S}},2p:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.10T},1C:1b(a){1a.10T=Ve(1a,a);1a.14N.2p=We(1a.10T);1a.3TR=!1}},1A:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.7a},1C:1b(a){1a.7a=Ve(1a,a);1a.14N.1A=We(1a.7a);1a.3TT=!1}},1i7:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.1Qf},1C:1b(a){1a.1Qf=Ve(1a,a);1a.14N.1i7=We(1a.1Qf);1a.3TQ=!1}},2od:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.2oc},1C:1b(a){1a.2oc=Ve(1a,a);1a.14N.2od=We(1a.2oc)}},2ob:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.2zH},1C:1b(a){1a.2zH=Ve(1a,a);1a.14N.2ob=We(1a.2zH)}},2oa:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.3U3},1C:1b(a){1a.3U3=Ve(1a,a);1a.14N.2oa=We(1a.3U3)}},2o9:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.3U2},1C:1b(a){1a.3U2=Ve(1a,a);1a.14N.2o9=We(1a.3U2)}},2o8:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.3U1},1C:1b(a){1a.3U1=Ve(1a,a);1a.14N.2o8=We(1a.3U1)}},9O:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.1Bp},1C:1b(a){1a.1Bp=Ve(1a,a);1a.14N.9O=We(1a.1Bp)}},21B:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.3U0},1C:1b(a){1a.3U0=Ve(1a,a);1a.14N.21B=We(1a.3U0)}},26s:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.3TZ},1C:1b(a){1a.3TZ=Ve(1a,a);1a.14N.26s=We(1a.3TZ)}},1a4:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.1vi},1C:1b(a){1a.1vi=Ve(1a,a);1a.14N.1a4=We(1a.1vi)}},1pJ:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.1Qe},1C:1b(a){1a.1Qe=Ve(1a,a);1a.14N.1pJ=We(1a.1Qe)}},2o7:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.3TY},1C:1b(a){1a.3TY=Ve(1a,a);1a.14N.2o7=We(1a.3TY)}},13h:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.1hV},1C:1b(a){1a.1hV=Ve(1a,a);1a.14N.13h=We(1a.1hV)}},15M:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.1gH},1C:1b(a){1a.1gH=Ve(1a,a);1a.14N.15M=We(1a.1gH)}},4S:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.17y},1C:1b(a){1a.17y=Ve(1a,a);1a.14N.4S=We(1a.17y)}},1xk:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.2zG},1C:1b(a){1a.2zG=Ve(1a,a);1a.14N.1xk=We(1a.2zG)}},2o6:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.3TX},1C:1b(a){1a.3TX=Ve(1a,a);1a.14N.2o6=We(1a.3TX)}},2o5:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.3TW},1C:1b(a){1a.3TW=Ve(1a,a);1a.14N.2o5=We(1a.3TW)}},4d:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.1iw},1C:1b(a){1a.1iw=Ve(1a,a);1a.14N.4d=We(1a.1iw)}},11p:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.1f9},1C:1b(a){1a.1f9=Ve(1a,a);1a.14N.11p=We(1a.1f9)}},15P:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.1qO},1C:1b(a){1a.1qO=Ve(1a,a);1a.14N.15P=We(1a.1qO)}},16l:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.1jT},1C:1b(a){1a.1jT=Ve(1a,a);1a.14N.16l=We(1a.1jT)}},1Lv:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.2zF},1C:1b(a){1a.2zF=Ve(1a,a);1a.14N.1Lv=We(1a.2zF)}},2o4:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.3TV},1C:1b(a){1a.3TV=Ve(1a,a);1a.14N.2o4=We(1a.3TV)}},4yp:{1n:1b(){if(!1a.4y)1t 1g r("9B 2r is 2S 1aw.  1c7 18K.9c or 11i 1j 18K.3o to be 8O.");1f 1a.3TU},1C:1b(a){1a.3TU=a}}});gz.1i.5DY=1b(a,b,c){if(1a.3TT)1f c.11C=1a.4yo,1a.3TS;1a.3TT=!0;1a.3TS=g(1a.1A)?1a.1A.31G(a,b,c,"1m"):1p 0;1a.4yo=c.11C;1f 1a.3TS};gz.1i.5DX=1b(a,b,c){if(1a.3TR)1f 1a.4yn;1a.3TR=!0;1f 1a.4yn=g(1a.2p)?1a.2p.31G(a,b,c,"7d"):1p 0};gz.1i.5DW=1b(a,b,c){if(1a.3TQ)1f 1a.4ym;1a.3TQ=!0;1f 1a.4ym=g(1a.1i7)?1a.1i7.31G(a,b,c,"1o"):1p 0};1L.2X(iD.1i,{2I:{1n:1b(){1f 1a.12o.10z}},1pI:{1n:1b(){1f 1a.12o.1kx.1pI}},1aQ:{1n:1b(){1f 1a.12o.1aQ}},16K:{1n:1b(){if(!1a.4y)1t 1g r("16K 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14Q}},17g:{1n:1b(){if(!1a.4y)1t 1g r("17g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.16J}},16j:{1n:1b(){if(!1a.4y)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.17G}},16i:{1n:1b(){if(!1a.4y)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 0}},8c:{1n:1b(){if(!1a.4y)1t 1g r("8c 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C}},3g:{1n:1b(){if(!1a.4y)1t 1g r("3g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.7T}},19b:{1n:1b(){if(!1a.4y)1t 1g r("19b 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1nm}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},9L:{1n:1b(){1f 1a.1dh}},5DV:{1n:1b(){1f 1a.21A}},1mb:{1n:1b(){1f!0}},9Q:{1n:1b(){1f 1a.8U}},3TP:{1n:1b(){1f 1a.4yl}}});iD.1i.1om=1b(a,b,c){};iD.1i.1hQ=1b(a,b,c,d){if(!1a.4y)1t 1g r("1hQ 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1d e=4yk(1a,a,b,c,d);g(Ba.12M)&&(g(Ba.12M.1e7[1a.1os])?e.2I=Ba.1oo(1a.1os,e.2I):e.2I=Ba.1cl(e.2I));d.1b3=5DU(a,b,c);1f!0===1a.17F.1dF&&!0===d.1Gc&&g(1a.12Y)&&(a=1a.12Y.20n(1a.13Y,d.1b3),g(a))?Z(a,1b(a){1f g(a)?a:"1so"},1b(a){1f"1so"}):Hk.2j6(1a,e)};iD.1i.1lk=1b(a,b,c,d,e){if(!1a.4y)1t 1g r("1lk 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");if(1a.1Bm)1f a=1a.6C.1JE(a,b,c),1a.6C.18T 2m Td?(d=B.10Q(d),e=B.10Q(e),b="1zf"):(e=1a.6C.18T.12z(1g T(d,e,0)),d=e.x,e=e.y,b="1Bo"),c="13z",g(1a.8U)&&(c+=":"+1a.8U),1a.12o.16M({2I:"5DT",1kx:{f:"15l",2xd:2,1DX:"3TO",3y:d+","+e,5DS:a.4o+","+a.4C+","+a.5a+","+a.4P,5DR:1a.14Q+","+1a.16J+",96",sr:b,9Q:c}}).1vs().4b(1b(a){1d b=[];a=a.4yj;if(!g(a))1f b;1j(1d c=0;c<a.1h;++c){1d d=a[c],e=1g Jo;e.2g=d;e.2i=d.1Q;e.5U=d.2w;e.34w(d.2w);if("3TO"===d.1DX&&d.3y){1d f=d.3y.1jS&&d.3y.1jS.1mo?d.3y.1jS.1mo:1zf;if(1zf===f||5DQ===f)e.1K=T.8g(d.3y.x,d.3y.y,d.3y.z);1s if(34v===f||1PF===f||1Bo===f)f=1g Uc,e.1K=f.1cZ(1g k(d.3y.x,d.3y.y,d.3y.z))}b.1q(e)}1f b})};1L.2X(xJ.1i,{3L:{1n:1b(){1f 1a.1fx},1C:1b(a){v.1N.2b.1bP("1Q",a,0);1a.1fx=a}},1wh:{1n:1b(){1f 1a.3TN},1C:1b(a){v.1N.2b.1bP("1Q",a,0);1a.3TN=a}},1jw:{1n:1b(){1f 1a.1v0},1C:1b(a){1a.1v0=a}},21z:{1n:1b(){1f 1a.1tt},1C:1b(a){1a.1tt=a}},1I:{1n:1b(){1f"1LU"}}});xJ.1i.1Uk=1b(a){1d b=1a.1v0,c=1a.1tt;b>c&&(b=1a.1tt,c=1a.1v0);b=B.1xb(b,c);c=B.1xb(1a.3TN,1a.1fx);a.1K=k.9v(c*1k.3i(b),c*1k.2T(b),0,a.1K);a.1c9=k.1y(k.16a,a.1c9)};1d $s=1L.3F({32h:1,4wH:2});1L.2X(jD.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){1a.1O.3TM||1a.1O.4yi?a!==1a.10T&&(g(1a.1fq)&&1a.1fq.5Do(a),1a.10T=a):11l.2ep("1aV 7KJ is 2S 2zE 11J on 1Z 34h.")}},1hG:{1n:1b(){1f 1a.2zD},1C:1b(a){1a.2zD=a}},1wq:{1n:1b(){1f 1a.2zC},1C:1b(a){1a.2zC=a}},1qm:{1n:1b(){1f 1a.2zB},1C:1b(a){1a.2zB=a}},1lQ:{1n:1b(){1f 1a.2zA},1C:1b(a){1a.2zA=a}}});jD.1i.3Z=1b(){1f!1};jD.1i.1M=1b(){1f la(1a)};1L.2X(Jk.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){1a.10T=a}},1rV:{1n:1b(){1f 1a.3TL},1C:1b(a){1a.3TL=a}},2uS:{1n:1b(){1f 1a.3TK},1C:1b(a){1a.3TK=a}},7KI:{1n:1b(){1f 1a.3TJ},1C:1b(a){1a.3TJ=a}},2XJ:{1n:1b(){1f 1a.3TI},1C:1b(a){1a.3TI=a}}});Jk.1i.5P=1b(a){1a.1GI.5P(a,1a.1tK);1a.1JJ.5P(a,1a.1tK);1a.1ea.5P(a,1a.1tK)};1d KY=1g Aa;Jk.1i.2H=1b(a,b,c,d){a=b.1O;b=a.8j;1d e=a.7p;1a.2R=c;g(1a.1GI)&&d!==1a.1hq&&(1a.1hq=d,1a.1E1(d,"10B"));g(1a.1GI)||1a.1EX(a);c=1a.284;c=g(c)&&c.167(0)||1p 0;g(c)&&1a.1xc.x===b&&1a.1xc.y===e||(1a.1xc.x=b,1a.1xc.y=e,1a.32N(b,e,a),KY.1G=b,KY.1D=e,b=pa.4t({5q:KY}),1a.1GI.4w=b,1a.1JJ.4w=b,1a.1ea.4w=b);1a.1tK.1O=a};Jk.1i.32N=1b(a,b,c){1a.285=1a.285&&1a.285.1M();1a.284=1a.284&&1a.284.1M();1a.2fL=1a.2fL&&1a.2fL.1M();1a.285=1g eb({1O:c,13I:[1g Ca({1O:c,1G:a,1D:b})]});1a.284=1g eb({1O:c,13I:[1g Ca({1O:c,1G:a,1D:b,8b:ua.9m,10E:Ha.3O})]});1a.2fL=1g eb({1O:c,13I:[1g Ca({1O:c,1G:a,1D:b})]});g(1a.1GI)&&g(1a.1JJ)&&g(1a.1ea)&&(1a.1GI.4Q=1a.285,1a.1JJ.4Q=1a.284,1a.1ea.4Q=1a.2fL)};Jk.1i.1EX=1b(a){1d b={},c=1g ja({2i:"7KH",5p:["2n 1o 1rV;\\1B 1o 2uS;\\1B 1o 25s;\\1B 1o 3hg;\\1J 1v 2F;\\2s 2k()\\n{\\1r 17n = 11N(1Y(1aB, 2F));\\1P 9I = 1az(2F.xy * 9e.zw, 17n);\\1Cv /= 9I.w;\\1r 6Y = abs(9I.z);\\1r 3IK = 25s / 3hg;\\1r 1rW;\\1r 2uR = 1rV + 2uS;\\1r 1wp = 1rV - 2uS;\\1U (6Y <= 2uR && 6Y >= 1wp)\\n{\\1Yx = 0.5;\\1Yx = 1rW * 0.5 + 0.5;\\n}\\5L\\n{\\1r 2XK = 6Y > 2uR ? 2uR : 1wp;\\1Yx = abs(3IK * (25s * (6Y - 2XK)) / (6Y * (2XK - 25s)));\\1Yx = 2Y(1rW, 0.0, 2.0) / 2.1Ai;\\1U (6Y < 1wp)\\n{\\1Yx = -1rW;\\n}\\1Yx = 1rW * 0.5 + 0.5;\\n}\\3R = 1lP(1rW);\\n}\\n"]});1a.1hq&&c.2N.1q("10B");1a.1GI=a.1aL(c,{4J:b,7H:1a});1a.1JJ=a.1aL("2n 2v 7y;\\1B 2v 1rW;\\1J 1v 2F;\\1B 1o 2XJ;\\1B 1v 1en;\\1B 1v 3he[16];\\4i 1o 3gl = 0.11t;\\1r 3II(in 1v n)\\n{\\2j 8N(2T(2A(n.xy ,1v(12.3H5,78.233))) * 3gk.3H4);\\n}\\2s 2k()\\n{\\2u 2M = 2XJ / 1en;\\1r 2XI = 6.5eC * 3II(2F + 0.4hC * 3gl );\\1r 2XH = 3i(2XI);\\1r 2GO = 2T(2XI);\\1P 2XG = 1m(2XH, -2GO, 2GO, 2XH);\\1Xk *= abs(11N(1Y(1rW, 2F)) * 2.0 - 1.0);\\1P 1A = 1m(0.0);\\1r 1Io = 0.0;\\14D (7P i = 0; i < 16; i++)\\n{\\2u 2uQ = 3he[i];\\5eB = 1v(2A(2uQ, 2XG.xy), 2A(2uQ, 2XG.zw));\\2u uv = 2F + 2uQ * 2M;\\1P 2cL = 1Y(7y, uv);\\1r w = 1.0;\\1r 2cM = 11N(1Y(1rW, uv)) * 2.0 - 1.0;\\nw *= abs(2cM);\\5eA.2y *= 2cL.a;\\6p += 2cL * w;\\2XF += w;\\n}\\6p /= 1Io;\\6p.2y /= (1A.a + 0.1t2);\\3R = 1A;\\n}\\n",{4J:b,7H:1a});1a.1ea=a.1aL("2n 2v 2GP;\\1B 2v 3hf;\\1B 2v 1rW;\\1J 1v 2F;\\2s 2k()\\n{\\1P 3IJ = 1Y(3hf, 2F);\\1P 2cf = 1Y(2GP, 2F);\\1r 2cM = 11N(1Y(1rW, 2F));\\5eD = abs(2cM * 2.0 - 1.0);\\1r 1hF = 13f(0.0, 1.0, 2cM);\\3R = 3T(2cf, 3IJ, 1hF);\\n}\\n",{4J:b,7H:1a});1a.20K()};Jk.1i.20K=1b(){if(g(1a.1GI)&&g(1a.1JJ)&&g(1a.1ea)){1d a=1a;1a.1GI.4J.1rV=1b(){1f a.3TL};1a.1GI.4J.2uS=1b(){1f a.3TK};1a.1GI.4J.25s=1b(){1f a.5DP};1a.1GI.4J.3hg=1b(){1f a.3TJ};1a.1JJ.4J.7y=1b(){1f a.1d0.167(0)};1a.1JJ.4J.1rW=1b(){1f a.285.167(0)};1a.1JJ.4J.2XJ=1b(){1f a.3TI};1a.1JJ.4J.1en=1b(){1f a.1xc};1a.1JJ.4J.3he=1b(){1f a.4yh};1a.1ea.4J.2GP=1b(){1f a.1d0.167(0)};1a.1ea.4J.3hf=1b(){1f a.284.167(0)};1a.1ea.4J.1rW=1b(){1f a.285.167(0)}}};Jk.1i.27Z=1b(a){1a.1d0=a};Jk.1i.5DD=1b(){1f 1a.2fL.167(0)};Jk.1i.3Z=1b(){1f!1};Jk.1i.1M=1b(){1a.285=1a.285&&1a.285.1M();1a.284=1a.284&&1a.284.1M();1a.2fL=1a.2fL&&1a.2fL.1M();1a.1GI=1a.1GI&&1a.1GI.2z&&1a.1GI.2z.1M();1a.1JJ=1a.1JJ&&1a.1JJ.2z&&1a.1JJ.2z.1M();1a.1ea=1a.1ea&&1a.1ea.2z&&1a.1ea.2z.1M();1f la(1a)};Jk.1i.1E1=1b(a,b){1d c=1a.1pG;if(g(c)){1d d=c.2z.5A,e=c.2z.5O;if(a){a=!1;1j(1d f in d.2N)if(d.2N[f]===b){a=!0;1W}a||d.2N.1q(b)}1s{f=-1;1j(a=0;a<d.2N.1h;a++)if(d.2N[a]===b){f=a;1W}0<=f&&d.2N.6z(f,1)}c.2z.1M();c.2z=3JT.4t({1O:1a.4j,5O:e,5A:d})}};1L.2X(Kk.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){a!==1a.10T&&(g(1a.1fq)&&1a.1fq.5Dn(a),1a.10T=a)}},12r:{1n:1b(){1f 1a.1pH},1C:1b(a){1a.1pH=a}},1D7:{1n:1b(){1f 1a.3TG},1C:1b(a){1a.3TG=a}},1l0:{1n:1b(){1f 1a.3TH},1C:1b(a){1a.3TH=a}},1bo:{1n:1b(){1f 1a.3TF},1C:1b(a){1a.3TF=a}},1OP:{1n:1b(){1f 1a.3TE},1C:1b(a){1a.3TE=a}}});Kk.1i.9P=1b(a,b){1d c=1a.3TD;y.1y(m(b,y.1a7),c.1A);c.5P(a);c=1a.3TC;y.1y(m(b,y.1a7),c.1A);c.5P(a)};Kk.1i.5DN=1b(){1f g(1a.2R)&&0<1a.2R.2LO.1h};Kk.1i.5P=1b(a,b){1a.21x.5P(a,1a.2o3);1a.1Ea.5P(a,1a.2o3);1a.1E2.5P(a,1a.2o3)};Kk.1i.5DO=1b(a){1j(1d b=1g 4L(4sG),c=0;4sG>c;c+=3)b[c]=1k.2t(255*1k.1ps());1a.27s=1g Ca({1O:a,8b:ua.1fB,10E:Ha.7U,5j:{1a9:b,1G:256,1D:256},10v:1g Eb({18i:Ka.1av,18h:Ka.1av,14A:nb.10U,15u:Rb.10U})})};1d LY=1g Aa;Kk.1i.2H=1b(a,b,c,d){1a.2R=c;a=1a.4j=b.1O;b=a.8j;c=a.7p;1d e=1a;g(1a.27s)||1a.5DO(a);g(1a.21x)&&d!==1a.1hq&&(1a.1hq=d,1a.1E1(d,"10B"));if(!g(1a.21x)){1a.3TD=1g Ec({1A:1g y});1a.3TC=1g Ec({1A:1g y});d={1OO:1b(){1f e.27s},12r:1b(){1f e.1pH},1l0:1b(){1f e.3TH},1D7:1b(){1f e.3TG},1bo:1b(){1f e.3TF},1OP:1b(){1f e.3TE}};1d f=1g ja({2i:"2yq",5p:["2n 2v 1OO;\\1B 1o 12r;\\1B 1o 1l0;\\1B 1o 1D7;\\1B 1o 1bo;\\1B 1o 1OP;\\1J 1v 2F;\\1P 1mV(1v uv, 1o 4e)\\n{\\2u xy = 1v((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\\1P 1Iw = 1k1 * 1m(xy, 4e, 1.0);\\3JA = 1Iw / 1Iw.w;\\2j 1Iw;\\n}\\1r 19x(in 1m 4e)\\n{\\1r 1kg = 11N(4e);\\1r 1iU = 1dx.3I;\\1r 1iV = 1dx.3W;\\2j (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\n}\\1R 2ve(1w 1bN, 1o 1Iv, 1o 1Iu, 1o 1It, 1o 1Is, 1v 12Q)\\n{\\1P 2vi = 1mV(2F - 1v(0.0, 12Q.y), 1Iv);\\1P 2vh = 1mV(2F + 1v(0.0, 12Q.y), 1Iu);\\1P 2vg = 1mV(2F - 1v(12Q.x, 0.0), 1It);\\1P 2vf = 1mV(2F + 1v(12Q.x, 0.0), 1Is);\\1R up = 1bN.1H - 2vi.1H;\\1R 1fK = 2vh.1H - 1bN.1H;\\1R 3B = 1bN.1H - 2vg.1H;\\1R 2W = 2vf.1H - 1bN.1H;\\1R DX = 1h(3B) < 1h(2W) ? 3B : 2W;\\1R DY = 1h(up) < 1h(1fK) ? up : 1fK;\\2j 1T(4B(DY, DX));\\n}\\2s 2k(1p)\\n{\\1r 4e = 19x(1Y(1aB, 2F));\\1P 1bN = 1mV(2F, 4e);\\1U (1bN.z > 1OP)\\n{\\3R = 1m(1.0);\\2j;\\n}\\2u 12Q = 1.0 / 9e.zw;\\1r 1Iv = 19x(1Y(1aB, 2F- 1v(0.0, 12Q.y)));\\1r 1Iu = 19x(1Y(1aB, 2F+ 1v(0.0, 12Q.y)));\\1r 1It = 19x(1Y(1aB, 2F- 1v(12Q.x, 0.0)));\\1r 1Is = 19x(1Y(1aB, 2F+ 1v(12Q.x, 0.0)));\\1R 2v9 = 2ve(1bN.1H, 1Iv, 1Iu, 1It, 1Is, 12Q);\\1r ao = 0.0;\\2u 1yk = 1v(1.0, 0.0);\\1r 2vd = 90.0 * 2FR;\\1r 2vc = 19x(1Y(1OO, 2F));\\1r 3JD = 1.0 / 9e.z;\\1r 3JC = 1.0 / 9e.w;\\14D (7P i = 0; i < 4; i++)\\n{\\1r 1YN = 2vd * (1o(i) + 2vc);\\1r 1YL = 3i(1YN);\\1r 1YM = 2T(1YN);\\2u 2cV = 1v(1YL * 1yk.x - 1YM * 1yk.y, 1YM * 1yk.x + 1YL * 1yk.y);\\1r 1YI = 0.0;\\1r 2cU = 1bo;\\14D (7P j = 0; j < 6; j++)\\n{\\2u 3JB = 1v(2cV.x * 2cU * 3JD, 2cV.y * 2cU * 3JC);\\2u 1mU = 3JB + 2F;\\1U(1mU.x > 1.0 || 1mU.y > 1.0 || 1mU.x < 0.0 || 1mU.y < 0.0)\\n{\\1Yw;\\n}\\1r 2vb = 19x(1Y(1aB, 1mU));\\1P 2va = 1mV(1mU, 2vb);\\1R 1YK = 2va.1H - 1bN.1H;\\1r 1aZ = 1h(1YK);\\1U (1aZ > 1D7)\\n{\\1Yw;\\n}\\1r 1YJ = 2Y(2A(2v9, 1T(1YK)), 0.0, 1.0 );\\1r 1hF = 1aZ / 1D7;\\3Jz = 1.0 - 1hF * 1hF;\\1U (1YJ < 1l0)\\n{\\3Jy = 0.0;\\n}\\3Jx = 1V(1YI, 1YJ * 1hF);\\3Jw += 1bo;\\n}\\1Ir += 1YI;\\n}\\1Ir /= 4.0;\\1Ir = 1.0 - 2Y(ao, 0.0, 1.0);\\1Ir = 3r(ao, 12r);\\3R = 1m(1w(ao), 1.0);\\n}\\n"]});1a.1hq&&f.2N.1q("10B");1a.21x=a.1aL(f,{4J:d,7H:1a});d={2G:1b(){1f 0}};1a.1Ea=a.1aL("2n 1o 25r;\\1B 1o 1OF;\\1B 1o 2G;\\1B 2v 16S;\\1B 1v 1ST;\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\2u 1nP = 1ST * 16g;\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 1OF);\\ng.y = 108((-0.5 * 25r * 25r) / (1OF * 1OF));\\ng.z = g.y * g.y;\\1P 4D = 1Y(16S, st) * g.x;\\14D (7P i = 1; i < 8; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 1ST;\\19v += 1Y(16S, st - 2M) * g.x;\\19v += 1Y(16S, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n",{4J:d,7H:1a});d={2G:1b(){1f 1}};1a.1E2=a.1aL("2n 1o 25r;\\1B 1o 1OF;\\1B 1o 2G;\\1B 2v 16S;\\1B 1v 1ST;\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\2u 1nP = 1ST * 16g;\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 1OF);\\ng.y = 108((-0.5 * 25r * 25r) / (1OF * 1OF));\\ng.z = g.y * g.y;\\1P 4D = 1Y(16S, st) * g.x;\\14D (7P i = 1; i < 8; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 1ST;\\19v += 1Y(16S, st - 2M) * g.x;\\19v += 1Y(16S, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n",{4J:d,7H:1a})}d=1k.1V(1,1k.3r(2,1k.8a(1k.7k(b)/1k.7k(2))-2),1k.3r(2,1k.8a(1k.7k(c)/1k.7k(2))-2));LY.1G=d;LY.1D=d;b=1a.1Qd;b=g(b)&&b.167(0)||1p 0;g(b)&&b.1G===d&&b.1D===d||(1a.1Qd=1a.1Qd&&1a.1Qd.1M(),1a.283=1a.283&&1a.283.1M(),1a.21y.x=1a.21y.y=2/d,1a.1Qd=1g eb({1O:a,13I:[1g Ca({1O:a,1G:d,1D:d})]}),1a.283=1g eb({1O:a,13I:[1g Ca({1O:a,1G:d,1D:d})]}),1a.3TD.4Q=1a.1Qd,1a.3TC.4Q=1a.283,1a.21x.4Q=1a.1Qd,1a.1Ea.4Q=1a.283,1a.1E2.4Q=1a.1Qd,d=pa.4t({5q:LY}),1a.21x.4J.8X=1b(){1f 0<e.2R.2LO.1h&&g(e.2R.2LO[0].19m)?e.2R.2LO[0].19m:e.4j.1np},1a.21x.4w=d,1a.1Ea.4J.16S=1b(){1f e.1Qd.167(0)},1a.1Ea.4J.1ST=1b(){1f e.21y},1a.1Ea.4J.25r=1b(){1f 1},1a.1Ea.4J.1OF=1b(){1f 2},1a.1Ea.4w=d,1a.1E2.4J.16S=1b(){1f e.283.167(0)},1a.1E2.4J.1ST=1b(){1f e.21y},1a.1E2.4J.25r=1b(){1f 1},1a.1E2.4J.1OF=1b(){1f 2},1a.1E2.4w=d);1a.2o3.1O=a;1a.1tK.1O=a};Kk.1i.27Z=1b(a){1a.1d0=a};Kk.1i.5Dv=1b(){1f 1a.1Qd.167(0)};Kk.1i.1E1=1b(a,b){1d c=1a.1pG;if(g(c)){1d d=c.2z.5A,e=c.2z.5O;if(a){a=!1;1j(1d f in d.2N)if(d.2N[f]===b){a=!0;1W}a||d.2N.1q(b)}1s{f=-1;1j(a=0;a<d.2N.1h;a++)if(d.2N[a]===b){f=a;1W}0<=f&&d.2N.6z(f,1)}c.2z.1M();c.2z=3JT.4t({1O:1a.4j,5O:e,5A:d})}};Kk.1i.3Z=1b(){1f!1};Kk.1i.1M=1b(){1a.1Qd=1a.1Qd&&1a.1Qd.1M();1a.283=1a.283&&1a.283.1M();1a.21x=1a.21x&&1a.21x.2z&&1a.21x.2z.1M();1a.1Ea=1a.1Ea&&1a.1Ea.2z&&1a.1Ea.2z.1M();1a.1E2=1a.1E2&&1a.1E2.2z&&1a.1E2.2z.1M();1f la(1a)};1d yJ=1L.3F({1Oo:{3pv:"1Oo"},1TB:{3pv:"1TB"}});1L.2X(Oh.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){a!==1a.10T&&(g(1a.1fq)&&1a.1fq.5Dr(a),1a.10T=a)}},3z:{1n:1b(){1f 1a.8C},1C:1b(a){1a.1E1(!1,1a.8C.3pv);1a.8C=a;1a.1E1(!0,1a.8C.3pv)}},1A:{1n:1b(){1f 1a.7a},1C:1b(a){1a.7a=a}},7KG:{1n:1b(){1f 1a.1UW},1C:1b(a){1a.1UW=a;g(1a.1JI)||1a.5DM()}},1ze:{1n:1b(){1f 1a.1x6/1E3},1C:1b(a){1a.1x6=1E3*a}},1sx:{1n:1b(){1f 1a.1MI},1C:1b(a){1a.1MI=a}},7KF:{1n:1b(){1f 1a.1JI},1C:1b(a){1a.1JI=a;1a.1JI=k.1T(1a.1JI,1a.1JI)}},11a:{1n:1b(){1f 1a.1gc},1C:1b(a){1a.1gc=a}},3RF:{1n:1b(){1f 1a.34u},1C:1b(a){1a.3TB=!0;1a.34u=a;g(a)&&""!==a||1a.1E1(!1,"2tI")}}});Oh.1i.5DN=1b(){1f g(1a.2R)&&0<1a.2R.2LO.1h};Oh.1i.5P=1b(a){1a.1pG.5P(a,1a.1tK)};1d MY=1g Aa,NY=1g E(0,0,0,1),lN=1g E(0,0,0,1),Ae=1g E,EF=1g E,$w=1g k;Oh.1i.5DM=1b(){1a.1JI=1g k;1a.1JI=k.4B(1g k(0,0,1),1a.1UW,1a.1JI);1a.1JI=k.1T(1a.1JI,1a.1JI)};Oh.1i.5DL=1b(a){1d b=a.5Y.3w;a.3z===O.10j&&(lN.x=1a.1UW.x,lN.y=1a.1UW.y,lN.z=1a.1UW.z-1E3);NY=A.10r(b.1on,lN,NY);EF=E.3V(1a.1Qc,NY,EF);$w.x=EF.x;$w.y=EF.y;$w.z=EF.z;$w=k.1T($w,$w);1d c=Cb.1zd(1g k(1a.1Qc.x,1a.1Qc.y,1a.1Qc.z),$w,c);1a.34t.x=c.2U.x;1a.34t.y=c.2U.y;1a.34t.z=c.2U.z;1a.34t.w=c.3s};Oh.1i.5DI=1b(a){1d b=a.5Y.3w;Ae.x=1a.1UW.x;Ae.y=1a.1UW.y;Ae.z=1a.1UW.z;Ae.w=1;1a.1Qc=A.10r(b.1on,Ae,1a.1Qc);1a.5DL(a);b=1bR.14H()%1a.1x6;b=1a.1MI*b/1E3;1a.8C===yJ.1Oo?1a.1fx=b:1a.8C===yJ.1TB&&(1a.5DK(a),1a.5DJ(a,b))};Oh.1i.5DK=1b(a){1d b=a.5Y.3w;1a.1UV=a.3z===O.10j?k.4B(1a.1JI,1g k(0,0,1),1a.1UV):k.4B(1a.1JI,1a.1UW,1a.1UV);k.1T(1a.1UV,1a.1UV);a=1g k;a=k.4g(1a.1UV,10,a);a=k.add(1a.1UW,a,a);Ae.x=a.x;Ae.y=a.y;Ae.z=a.z;Ae.w=1;Ae=A.10r(b.1on,Ae,Ae);1a.1UV.x=Ae.x-1a.1Qc.x;1a.1UV.y=Ae.y-1a.1Qc.y;1a.1UV.z=Ae.z-1a.1Qc.z;k.1T(1a.1UV,1a.1UV)};Oh.1i.5DJ=1b(a,b){a=a.5Y.3w;1a.1UU=k.4g(1a.1JI,b,1a.1UU);1a.1UU=k.add(1a.1UW,1a.1UU,1a.1UU);Ae.x=1a.1UU.x;Ae.y=1a.1UU.y;Ae.z=1a.1UU.z;Ae.w=1;Ae=A.10r(a.1on,Ae,Ae);1a.1UU.x=Ae.x;1a.1UU.y=Ae.y;1a.1UU.z=Ae.z;1a.2LN.x=Ae.x-1a.1Qc.x;1a.2LN.y=Ae.y-1a.1Qc.y;1a.2LN.z=Ae.z-1a.1Qc.z;k.1T(1a.2LN,1a.2LN)};Oh.1i.2H=1b(a,b,c,d){a=1a.4j=b.1O;b=a.8j;1d e=a.7p;1a.2R=c;1a.5DI(c);1d f=1a;1a.3TB&&(g(1a.34u)&&""!==1a.34u&&Z(gf(f.34u),1b(b){g(f.2o2)&&f.2o2.1M();f.2o2=1g Ca({1O:a,5j:b,8b:ua.1fB,10E:Ha.7U});f.1E1(!0,"2tI")}),1a.3TB=!1);g(1a.1pG)&&d!==1a.1hq&&(1a.1hq=d,1a.1E1(d,"10B"));g(1a.1pG)||(c=1g ja({2i:"7KE",5p:["2n 2v 1L1;\\1B 2v 2G5;\\1B 1m 2G9;\\1B 1m 2G8;\\1B 1o 1Ld;\\1B 1w 2G6;\\1B 1w 3fX;\\1B 1w 2G7;\\1B 1o 1Sz;\\1B 1m 2tH;\\1J 1v 2F;\\1R 3FH(1w 1gm, 1w 1XN, 1w 1rq)\\n{\\1R 2V6 = 1rq - 1XN;\\5cK = 1T(2V6);\\1R 3FK = 1T(1gm);\\1U (2V6 == 3FK)\\n{\\2j 1XN;\\n}\\1r d = (1gm.x * (1rq.x - 1XN.x) + 1gm.y * (1rq.y - 1XN.y) + 1gm.z * (1rq.z - 1XN.z)) / 2A(1gm, 1gm);\\1R 3FJ;\\5cJ = 1rq - 1gm * d;\\2j 3FJ;\\n}\\1r 3FG(1w 2V5, 1w 3FI, 1w 2V4)\\n{\\1R v = 3FI;\\1R w = 2V4 - 2V5;\\1r c1 = 2A(w, v);\\1r c2 = 2A(v, v);\\1r b = c1 / c2;\\1R Pb = 2V5 + b * v;\\2j 1h(2V4 - Pb);\\n}\\2s 2k()\\n{\\1r 17n = 11N(1Y(1aB, 2F));\\n#1z 10B\\1r 3b = 17n;\\n#1s\\1r 3b = 3r(17n * 0.5 + 0.5, 8.0);\\n#1u\\1U(3b < 0.1t2)\\n{\\3R.r = 0.0;\\2j;\\n}\\1P 9I = 1az(2F.xy * 9e.zw, 17n);\\1Cv /= 9I.w;\\1R 2tK = 3FH(2G8.1H, 2G9.1H, 9I.1H);\\1r 3FD = 0.0;\\1P 3FE = 1m(1.0);\\2u 2V1 = 1v(0.0);\\n#1z 1Oo\\1R 1I4 = 2tK.1H - 2G9.1H;\\1r 2bL = 1h(1I4);\\n#1z 2tI\\1R 1Ap = 2G8.1H;\\1R 4W = 1w(1.0, 0.0, 0.0);\\1R 1CF = 1T(4B(4W, 1Ap));\\1R 1Le = 1T(4B(1Ap, 1CF));\\1r 1ux = 2A(1T(1I4), 1CF);\\1r 2tL = 2A(1T(1I4), 1Le);\\2tM.x = (2bL * 1ux / 1Ld + 1.0) * 0.5;\\2tM.y = (2bL * 2tL / 1Ld + 1.0) * 0.5;\\3FF = 1Y(2G5, 2V1);\\n#1s\\1U(2bL < 1Ld)\\n{\\1r f = 1.0 - abs(1Ld - 2bL) / 1Ld;\\nf = 3r(f, 8.0);\\2tJ = f;\\n}\\5L\\n{\\2tJ = 0.0;\\n}\\n#1u\\n#1s\\n#1z 2tI\\1R 1I4 = 2tK.1H - 2G7;\\1r 1ux = 2A(2G6, 1T(1I4));\\1r 2tL = 2A(3fX, 1T(1I4));\\1r 2V3 = 1h(1I4);\\2tM.x = (2V3 * 1ux / 1Sz + 1.0) * 0.5;\\2tM.y = (2V3 * 2tL / 1Sz + 1.0) * 0.5;\\n#1s\\1r 2V2 = 3FG(2G7, 2G6, 2tK.1H);\\1U(2V2 < 1Sz)\\n{\\1r f = abs(1Sz - 2V2) / 1Sz;\\nf = 3r(f, 8.0);\\2tJ = f;\\n}\\5L\\n{\\2tJ = 0.0;\\n}\\n#1u\\n#1u\\1P 1A = 1Y(1L1, 2F);\\n#1z 2tI\\3FF = 1Y(2G5, 2V1);\\3R.2y = 1A.2y + 3FE.2y * 2tH.2y;\\n#1s\\3R = 3T(1A, 2tH, 3FD);\\n#1u\\n}\\n"]}),c.2N.1q(1a.8C.3pv),d&&c.2N.1q("10B"),1a.1pG=a.1aL(c,{4J:{},7H:1a}),1a.1pG.4J.7KD=1b(){1f f.2R.2LO[0].19m},1a.1pG.4J.1L1=1b(){1f f.4yg.167(0)},1a.1pG.4J.2G5=1b(){1f g(f.2o2)?f.2o2:f.4j.1np},1a.1pG.4J.2G9=1b(){1f f.1Qc},1a.1pG.4J.1Ld=1b(){1f f.1fx},1a.1pG.4J.2G8=1b(){1f f.34t},1a.1pG.4J.2G6=1b(){1f f.1UV},1a.1pG.4J.3fX=1b(){1f f.2LN},1a.1pG.4J.2G7=1b(){1f f.1UU},1a.1pG.4J.1Sz=1b(){1f f.1gc},1a.1pG.4J.2tH=1b(){1f f.7a});d=1a.1d0;d=g(d)&&d.167(0)||1p 0;g(d)&&d.1G===b&&d.1D===e||(1a.1d0=1a.1d0&&1a.1d0.1M(),1a.1d0=1g eb({1O:a,13I:[1g Ca({1O:a,1G:b,1D:e})]}),1a.1pG.4Q=1a.1d0,MY.1G=b,MY.1D=e,b=pa.4t({5q:MY}),1a.1pG.4w=b);1a.1tK.1O=a};Oh.1i.27Z=1b(a){1a.4yg=a};Oh.1i.5DC=1b(){1f 1a.1d0.167(0)};Oh.1i.5Ds=1b(){1f 1a.1d0};Oh.1i.1E1=1b(a,b){1d c=1a.1pG;if(g(c)){1d d=c.2z.5A,e=c.2z.5O;if(a){a=!1;1j(1d f in d.2N)if(d.2N[f]===b){a=!0;1W}a||d.2N.1q(b)}1s{f=-1;1j(a=0;a<d.2N.1h;a++)if(d.2N[a]===b){f=a;1W}0<=f&&d.2N.6z(f,1)}c.2z.1M();c.2z=Ga.4t({1O:1a.4j,5O:e,5A:d})}};Oh.1i.3Z=1b(){1f!1};Oh.1i.1M=1b(){1a.1d0=1a.1d0&&1a.1d0.1M();1a.1pG=1a.1pG&&1a.1pG.2z&&1a.1pG.2z.1M();g(1a.2o2)&&(1a.2o2.1M(),1a.2o2=1F);1f la(1a)};1d 5DH=[0,-.5,.5,-.75,.25,-.25,.75,-.875],5DG=[-1/3,1/3,-7/9,-1/9,5/9,-5/9,1/9,7/9],OY=[1g C(-1,-1),1g C(0,-1),1g C(1,-1),1g C(-1,0),1g C(0,0),1g C(1,0),1g C(-1,1),1g C(0,1),1g C(1,1)];1L.2X(Tj.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){a!==1a.10T&&(1a.10T=a)}}});Tj.1i.5P=1b(a,b){g(a.13m)&&g(a.13m.1Ju)&&(1a.1ea.4Q=1a.1UT[1a.2LL],1a.1ea.5P(a,1a.1tK),1a.34s++,8===1a.34s&&(1a.34s=0))};1d PY=1g Aa;Tj.1i.2H=1b(a,b,c,d){1d e=d.1bz;a=b.1O;1a.4yd=b=a.13m;b.1Ue.1y(1a.4ye);1d f=a.8j;b=a.7p;1a.2R=c;g(1a.1ea)&&e!==1a.1hq&&(1a.1hq=e,1a.1E1(e,"10B"));g(1a.1ea)||1a.1EX(a);c=!1;0==1a.1UT.1h?c=!0:(e=1a.1UT[0],e=g(e)&&e.167(0)||1p 0,g(e)&&e.1G===f&&e.1D===b||(c=!0));c&&(1a.32N(f,b,a),PY.1G=f,PY.1D=b,c=pa.4t({5q:PY}),1a.1ea.4w=c);1a.1tK.1O=a;1a.2LL=(1a.2LL+1)%2;d.7KC=1a.34s;a=1a.34s%8;c=5DH[a];a=2*1k.PI*5DG[a];c=.47*1k.3Y(-2*1k.7k((1-c)*1k.108(.5/.47*-.5*(.5/.47))+c));e=c*1k.2T(a);1a.2LM.x=c*1k.3i(a);1a.2LM.y=e;f=1a.2LM.x/f;b=1a.2LM.y/b;QY.x=f;QY.y=b;d.4yf=QY;1a.3TA.x=-f/2;1a.3TA.y=-b/2;d=[];b=[];1j(a=f=0;9>a;a++)c=OY[a].x-1a.2LM.x,e=OY[a].y-1a.2LM.y,d[a]=1k.108(-2.29*(c*c+e*e)),f+=d[a];b[0]=d[1];b[1]=d[3];b[2]=d[4];b[3]=d[5];b[4]=d[7];c=d[1]+d[3]+d[4]+d[5]+d[7];1j(a=0;9>a;a++)d[a]/=f;1j(a=0;5>a;a++)b[a]/=c;1a.4ya=d;1a.5DF=b};1d QY=1g C;Tj.1i.32N=1b(a,b,c){1d d=Ha.3O,e;1j(e=0;e<1a.1UT.1h;e++)1a.1UT[e].1M();1a.1UT=[];1j(e=0;2>e;e++){1d f=1g eb({1O:c,13I:[1g Ca({1O:c,1G:a,1D:b,10E:d})]});1a.1UT.1q(f)}};Tj.1i.1EX=1b(a){1d b=1g ja({2i:"7KB",5p:["#2f 1HV 9\\n#2f 3Ff 1\\n#2f 2UB 0\\n#2f 5bR 1\\1B 2v 3fz;\\1B 2v 3fu;\\1B 5w 3fv;\\1B 1v 2G0;\\1B 1o 3fx[1HV];\\1B 1v 3fy[1HV];\\1J 1v 2F;\\1R 2Ux(1w 1XG){\\1r Y = 2A(1XG, 1w(1.0, 2.0, 1.0));\\1r Co = 2A(1XG, 1w(2.0, 0.0, -2.0));\\1r Cg = 2A(1XG, 1w(-1.0, 2.0, -1.0));\\1R 1XH = 1w(Y, Co, Cg);\\2j 1XH;\\n}\\1R 3F3(1w 1XH){\\1r Y = 1XH.x * 0.25;\\1r Co = 1XH.y * 0.25;\\1r Cg = 1XH.z * 0.25;\\1r R =  Y + Co - Cg;\\1r G = Y + Cg;\\1r B = Y - Co - Cg;\\1R 1XG = 1w(R, G, B);\\2j 1XG;\\n}\\1r 2UN(1w 1A){\\2j 1A.r;\\n}\\1R 2Uy(1w 1A){\\2j 1A / (1.0 + 2UN(1A));\\n}\\1R 3F2(1w 1A){\\2j 1A / (1.0 - 2UN(1A));\\n}\\1R 3Fd(1v 2M, 1v uv){\\1r fx = 2M.x;\\1r fy = 2M.y;\\2u 1us = 1v(fx / 9e.z, fy / 9e.w);\\2u 2UM = uv + 1us;\\5bQ = 2Y(2UM, 0.0, 1.0);\\1R 2bv = 1Y(3fz, 2UM).2y;\\2UL = 1V(2bv, 0.0);\\2UL = 2Uy(2bv);\\2UL = 2Ux(2bv);\\2j 2bv;\\n}\\1r 3Fn(1o 1aV){\\1r 1p8 = 1.0;\\2j 1.0 / (1aV * 1p8 + 4.0);\\n}\\1r 2tq(1w 2tx){\\2j 2tx.x;\\n}\\1r 2tp(1w 2tx)\\n{\\2j 3Fn(2tx.x);\\n}\\2u 3F7(1o 3Fm, 1o 3Fl, 1o 2jF)\\n{\\1r 2UJ = (1.0 - 2jF) * 3Fm;\\1r 2UI =        2jF  * 3Fl;\\1r 2UK = 1.0 / (2UJ + 2UI);\\5bP *= 2UK;\\5bO *= 2UK;\\2j 1v(2UJ, 2UI);\\n}\\2s 5bN(in 1w 1fP[1HV], 9H 1w 5bM, 9H 1w 5bL)\\n{\\1R 1i9;\\1R 1i8;\\2tw = 2o( 2o(1fP[1], 1fP[3]), 1fP[4] );\\2tw = 2o( 2o(1i9,  1fP[5]), 1fP[7] );\\2tv = 1V( 1V(1fP[1], 1fP[3]), 1fP[4] );\\2tv = 1V( 1V(1i8,  1fP[5]), 1fP[7] );\\1R 5bK = 1i9;\\1R 5bJ = 1i8;\\2tw = 2o( 2o(1i9, 1fP[0]), 1fP[2] );\\2tw = 2o( 2o(1i9, 1fP[6]), 1fP[8] );\\2tv = 1V( 1V(1i8, 1fP[0]), 1fP[2] );\\2tv = 1V( 1V(1i8, 1fP[6]), 1fP[8] );\\5bI = 1i9;\\5bH = 1i8;\\n}\\1r 3Fk(1w 1XE, 1w 2bt, 1w 2bu){\\1R 2UH = 1w(1.0 / 1XE.x, 1.0 / 1XE.y, 1.0 / 1XE.z);\\1R 2tu = (  2bu  - 2bt) * 2UH;\\1R 2tt = ((-2bu) - 2bt) * 2UH;\\2j 1V(1V(2o(2tu.x, 2tt.x), 2o(2tu.y, 2tt.y)), 2o(2tu.z, 2tt.z));\\n}\\1r 3Fe(1w 1xV, 1w 1Oh, 1w 1i9, 1w 1i8){\\n#if 0\\1R 1XF = 2o(1Oh, 2o(1i9, 1i8));\\1R 1L2 = 1V(1Oh, 1V(1i9, 1i8));\\1R 2UG = 1L2 + 1XF;\\1R 1XE = 1Oh - 1xV;\\1R 2bt = 1xV - 2UG * 0.5;\\1R 1S2 = 1L2 - 2UG * 0.5;\\2j 2Y(3Fk(1XE, 2bt, 1S2), 0.0, 1.0);\\n#1s\\1R 3Fj = 1i9;\\1R 3Fi = 1i8;\\1R 2UF = 1xV;\\1R 1XD = 1Oh - 1xV;\\5bG = all(1Xm(abs(1XD), 1w(1.0/12v.0))) ? 1w(1.0/12v.0) : 1XD;\\1R 2UE = 1w( 1.0 / 1XD.x, 1.0 / 1XD.y, 1.0 / 1XD.z );\\1R 3Fh = (3Fj - 2UF) * 2UE;\\1R 3Fg = (3Fi - 2UF) * 2UE;\\1R 2ts = 2o( 3Fh, 3Fg );\\2j 1V( 1V(2ts.x, 2ts.y), 2ts.z );\\n#1u\\n}\\1R 3F8(1w 1Oh, 1w 1xV, 1w 1i9, 1w 1i8)\\n{\\n#if !3Ff\\2j 1xV;\\n#1Cw 2UB\\1R 2UD = 1Oh;\\1R 2tr = 1xV;\\1r 2UC = 3Fe( 2tr.2y, 2UD.2y, 1i9.2y, 1i8.2y );\\5bF = 2Y( 2UC, 0.0, 1.0 );\\5bE = 3T( 2tr, 2UD, 2UC );\\2j 2tr;\\n#1s //!2UB\\5bD = 2Y(1xV, 1i9, 1i8);\\2j 1xV;\\n#1u\\n}\\1R 3Fa(in 1v uv, 1du 1w 1XB[1HV]){\\14D(7P i = 0; i < 1HV; i++){\\5bC[i] = 3Fd(3fy[i], uv);\\n}\\1r 3Fb = 0.0;\\1R 3fw = 1w(0.0);\\14D(7P i = 0; i < 1HV; i++){\\1r 3Fc = 2tp(1XB[i]);\\1r 2UA = 3Fc * 3fx[i];\\5bB += 2UA;\\5bA += 1XB[i] * 2UA;\\n}\\1R 1Sw = 3fw / 3Fb;\\2j 1Sw;\\n}\\2s 2k()\\n{\\1r 5bz = 0.0;\\2u 3F9 = 2F + 2G0;\\1r 17n = 11N(1Y(1aB, 2F));\\1P 9I = 1az(2F.xy * 9e.zw, 17n);\\1Cv /= 9I.w;\\1P 1XC = 3fv * 9I;\\2Uz = 1XC / 1XC.w;\\2Uz.xy = 1XC.xy * 0.5 + 0.5;\\2Uz.xy = 1XC.xy + 2G0;\\1R 1Og = 1Y(3fu, 1XC.xy).2y;\\2Uw = 2Uy(1Og);\\2Uw = 2Ux(1Og);\\1R 1XB[1HV];\\1R 1Sw = 3Fa(3F9, 1XB);\\1R 1i9;\\1R 1i8;\\5by(1XB, 1i9, 1i8);\\1r 5bx     = 2tq(1i9);\\1r 5bw     = 2tq(1i8);\\1r 5bv = 2tq(1Og);\\2Uw = 3F8(1Sw, 1Og, 1i9, 1i8);\\1r 3F4 = 0.1HU;\\1r 3F5 = 2tp(1Sw);\\1r 3F6 = 2tp(1Og);\\2u 2Uv = 3F7(3F6, 3F5, 3F4);\\1R 1A = 1Og * 2Uv.x + 1Sw * 2Uv.y;\\6p = 3F3(1A);\\6p = 3F2(1A);\\3R.2y = 1A;\\3R.a = 1.0;\\n}\\n"]});1a.1hq&&b.2N.1q("10B");1a.1ea=a.1aL(b,{4J:{},7H:1a});1a.20K()};Tj.1i.20K=1b(){if(g(1a.1ea)){1d a=1a;1a.1ea.4J.3fz=1b(){1f a.1d0.167(0)};1a.1ea.4J.3fu=1b(){1f a.1UT[(a.2LL+1)%2].167(0)};1a.1ea.4J.3fv=1b(){A.9b(a.4ye,a.4yd.4yc,a.4yb);1f a.4yb};1a.1ea.4J.2G0=1b(){1f a.3TA};1a.1ea.4J.3fx=1b(){1f a.4ya};1a.1ea.4J.3fy=1b(){1f OY}}};Tj.1i.27Z=1b(a){1a.1d0=a};Tj.1i.5DE=1b(){1f 1a.1UT[1a.2LL].167(0)};Tj.1i.5Dt=1b(){1f 1a.1UT[1a.2LL]};Tj.1i.1E1=1b(a,b){1d c=1a.1pG;if(g(c)){1d d=c.2z.5A,e=c.2z.5O;if(a){a=!1;1j(1d f in d.2N)if(d.2N[f]===b){a=!0;1W}a||d.2N.1q(b)}1s{f=-1;1j(a=0;a<d.2N.1h;a++)if(d.2N[a]===b){f=a;1W}0<=f&&d.2N.6z(f,1)}c.2z.1M();c.2z=3JT.4t({1O:1a.4j,5O:e,5A:d})}};Tj.1i.3Z=1b(){1f!1};Tj.1i.1M=1b(){1j(1d a=0;a<1a.1UT.1h;a++)1a.1UT[a].1M();1a.1ea=1a.1ea&&1a.1ea.2z&&1a.1ea.2z.1M();1f la(1a)};1L.2X(If.1i,{3PG:{1n:1b(){1f 1a.34r},1C:1b(a){a!==1a.34r&&(1a.5Dm(a),1a.34r=a)}},3nb:{1n:1b(){1f 1a.4y9},1C:1b(a){1a.4y9=a}}});If.1i.3QI=1b(){1f 1a.34q()||1a.2LK()||1a.4y8()||1a.3pt()||1a.2yx()||1a.3pu()||1a.34r};If.1i.2LK=1b(){1f g(1a.1va)&&1a.1va.2p};If.1i.4y8=1b(){1f g(1a.1PJ)&&1a.1PJ.2p};If.1i.3pt=1b(){1f g(1a.2mP)&&1a.2mP.2p};If.1i.3pu=1b(){1f g(1a.1SW)&&1a.1SW.2p};If.1i.2yx=1b(){1f g(1a.20w)&&1a.20w.2p};If.1i.34q=1b(){1f g(1a.27Y)&&1a.27Y.2p};If.1i.9P=1b(a,b){1a.2LK()&&1a.1va.9P(a,b)};If.1i.1hI=1b(a,b){1a.3Tz=b;1a.21w.4Q=1a.1d0;1a.21w.5P(a);1a.3Tz=1p 0};If.1i.5P=1b(a,b){1a.34q()&&1a.27Y.5P(a);1a.3pt()&&1a.2mP.5P(a);1a.2yx()&&1a.20w.5P(a);1a.2LK()&&1a.1va.5P(a,b);1a.3pu()&&1a.1SW.5P(a,b);1a.3QI()&&(1a.21w.4Q=b,1a.1pF.4Q=b,1a.21w.5P(a),1a.1pF.5P(a,1a.1tK))};1d RY=1g Aa;If.1i.2H=1b(a,b,c,d){1d e=d.1bz;1a.34q()&&1a.27Y.2H(a,b,c,d);1a.3pt()&&1a.2mP.2H(a,b,c,e);1a.2yx()&&1a.20w.2H(a,b,c,e);1a.2LK()&&1a.1va.2H(a,b,c);1a.3pu()&&1a.1SW.2H(a,b,c,e);a=b.1O;b=a.8j;c=a.7p;g(1a.1pF)||(d=1g ja({2i:"7KA",5p:["2n 2v 2GR;\\n#1z 2uW\\1B 1v 3hp;\\1B 1m 2GQ;\\1B 1w 2kJ;\\1B 1w 3hn;\\1B 2v 3hq;\\1B 2v 3ho;\\n#1u\\n#1z 2XL\\1B 1o 3hk;\\1B 1o 3hj;\\1B 1o 3hh;\\1B 1o 3hi;\\n#1u\\n#1z 2XM\\1B 2v 3hm;\\n#1u\\n#1z 2uU\\1B 1o 3hl;\\1B 1o 3hr;\\n#1u\\1J 1v 2F;\\1P 2uV(2v 10h, 1v uv, 1v 14v, 1m 1Yz)\\n{\\1P d = 14v.1gZ * 1m(1.0, 1.0, -1.0, 0.0) * 1Yz;\\1P s;\\ns =  1Y(10h, uv - d.xy);\\ns += 1Y(10h, uv - d.wy) * 2.0;\\ns += 1Y(10h, uv - d.zy);\\ns += 1Y(10h, uv + d.zw) * 2.0;\\ns += 1Y(10h, uv       ) * 4.0;\\ns += 1Y(10h, uv + d.xw) * 2.0;\\ns += 1Y(10h, uv + d.zy);\\ns += 1Y(10h, uv + d.wy) * 2.0;\\ns += 1Y(10h, uv + d.xy);\\2j s * (1.0 / 16.0);\\n}\\n#1z 2uU\\1R 3IO(1w 1gl)\\n{\\2j 2Y((1gl * (2.51 * 1gl + 0.25l)) / (1gl * (2.43 * 1gl + 0.59) + 0.14), 0.0, 1.0);\\n}\\1R 2XN(1w x)\\n{\\1r A = 0.22;\\1r B = 0.3;\\1r C = 0.1;\\1r D = 0.2;\\1r E = 0.11t;\\1r F = 0.3;\\2j ((x * (A * x + C * B) + D * E) / (x * (A * x + B) + D * F)) - E / F;\\n}\\1R 5eL(1w x)\\n{\\1R 9r = 1w(3hr);\\2j 2XN(1.6 * x) / 2XN(9r);\\n}\\1R 5eK(1w 1A)\\n{\\2j 3r(1A, 1w(1.0 / 2.2));\\n}\\1R 3IP(1w 1Q)\\n{\\2j 1w(3T(3r(1Q.2y * 0.5eJ + 1w(0.5eI), 1w(2.4)), 1Q.2y * 0.5eH, 1w(1Xm(1Q.2y, 1w(0.3IS)))));\\n}\\1R 3IM(1w 1Q)\\n{\\2j 1w(3T(3r(1Q.2y, 1w(0.5eG)) * 1.1Yy - 1w(0.1Yy), 1Q.2y * 12.92, 1w(1Xm(1Q.2y, 1w(0.3IR)))));\\n}\\n#1u\\2s 2k()\\n{\\1P 1Fz = 1Y(2GR, 2F);\\3R = 1Fz;\\n#1z 2uW\\1P 1o4 = 2uV(3hq, 2F, 3hp.xy, 1m(2kJ.x));\\1P 3IQ = 1m(1Y(3ho, 2F * 2GQ.xy + 2GQ.zw).2y, 0.0);\\5eF *= 2kJ.y;\\5eE *= 2kJ.z;\\3R += 1o4 * 1m(3hn, 1.0);\\3R += 3IQ * 1o4;\\n#1u\\n#1z 2XM\\1R ao = 1Y(3hm, 2F).2y;\\3R.2y *= ao;\\n#1u\\n#1z 2uU\\1R 3IN = 3IP(2C.2y);\\1R 3IL = 3IO(3IN * 3hl);\\3R.2y = 3IM(3IL);\\n#1u\\n#1z 2XL\\3R.2y = 3T(1w(0.0), 2C.2y, 3hk);\\3R.2y = 3T(1w(0.5), 2C.2y, 3hj);\\3R.2y = 2jm(2C.2y, 3hi);\\3R.2y = 24G(2C.2y, 3hh);\\n#1u\\n}\\n"]}),1a.2yx()&&d.2N.1q("5Dq"),1a.2LK()&&d.2N.1q("2uW"),1a.4y8()&&d.2N.1q("2XL"),1a.3pu()&&d.2N.1q("2XM"),1a.34r&&d.2N.1q("2uU"),e={},1a.1pF=a.1aL(d,{4J:e,7H:1a}),e={},1a.21w=a.1aL("2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(16S, 2F);\\n}\\n",{4J:e,7H:1a}));1d f=1a.1d0;d=g(f)&&f.167(0)||1p 0;if(!g(d)||d.1G!==b||d.1D!==c){f=f&&f.1M();d=[1g Ca({1O:a,1G:b,1D:c,10E:a.2K1?Ha.1kq:Ha.3O})];f=a.8X?1a.1d0=1g eb({1O:a,13I:d,8X:1g Ca({1O:a,1G:b,1D:c,8b:ua.1zc,10E:Ha.10P})}):1a.1d0=1g eb({1O:a,13I:d,2o1:1g ig({1O:a,8V:kh.2fK})});RY.1G=b;RY.1D=c;b=pa.4t({5q:RY});1d h=1a;1a.1pF.4J.2GR=1b(){1f h.34q()?h.27Y.5DE():h.3pt()?h.2mP.5DD():h.2yx()?h.20w.5DC():f.167(0)};1a.1pF.4J.2tH=1b(){1f h.20w.1A};1a.1pF.4J.3hq=1b(){1f h.1va.5DB()};1a.1pF.4J.3ho=1b(){1f h.1va.5DA()};1a.1pF.4J.3hp=1b(){1f h.1va.5Dz()};1a.1pF.4J.2GQ=1b(){1f h.1va.5Dy()};1a.1pF.4J.2kJ=1b(){1f h.1va.5Dx()};1a.1pF.4J.3hn=1b(){1f h.1va.5Dw()};1a.1pF.4J.3hm=1b(){1f h.1SW.5Dv()};1a.1pF.4J.3hk=1b(){1f h.1PJ.1hG};1a.1pF.4J.3hj=1b(){1f h.1PJ.1wq};1a.1pF.4J.3hh=1b(){1f h.1PJ.1qm};1a.1pF.4J.3hi=1b(){1f h.1PJ.1lQ};1a.1pF.4J.3hl=1b(){1f h.1p8};1a.1pF.4J.3hr=1b(){1f h.5Du};1a.1pF.4w=b;1a.21w.4J.16S=1b(){1f m(h.3Tz,f.167(0))};1a.21w.4w=b}1a.27Y.27Z(f);1a.34q()&&(f=1a.27Y.5Dt());1a.2mP.27Z(f);1a.1SW.27Z(f);1a.2yx()?1a.1va.27Z(1a.20w.5Ds()):1a.1va.27Z(f);1a.20w.27Z(f);1a.1tK.1O=a;1f 1a.1d0};If.1i.7Kz=1b(){1f 1a.1d0};If.1i.3Z=1b(){1f!1};If.1i.1M=1b(){1a.1d0=1a.1d0&&1a.1d0.1M();1a.1pF=1a.1pF&&1a.1pF.2z&&1a.1pF.2z.1M();1a.21w=1a.21w&&1a.21w.2z&&1a.21w.2z.1M();g(1a.1va)&&(1a.1va.1M(),1a.1va=1F);g(1a.1PJ)&&(1a.1PJ.1M(),1a.1PJ=1F);g(1a.1SW)&&(1a.1SW.1M(),1a.1SW=1F);g(1a.3L4)&&(1a.3L4.1M(),1a.3L4=1F);g(1a.3JU)&&(1a.3JU.1M(),1a.3JU=1F);g(1a.27Y)&&(1a.27Y.1M(),1a.27Y=1F);1f la(1a)};If.1i.5Dr=1b(a){1a.1E1(a,"5Dq")};If.1i.5Dp=1b(a){1a.1E1(a,"2uW")};If.1i.5Do=1b(a){1a.1E1(a,"2XL")};If.1i.5Dn=1b(a){1a.1E1(a,"2XM")};If.1i.5Dm=1b(a){1a.1E1(a,"2uU")};If.1i.1E1=1b(a,b){1d c=1a.1pF;if(g(c)){1d d=c.2z.5A,e=c.2z.5O;if(a){a=!1;1j(1d f in d.2N)if(d.2N[f]===b){a=!0;1W}a||d.2N.1q(b)}1s{f=-1;1j(a=0;a<d.2N.1h;a++)if(d.2N[a]===b){f=a;1W}0<=f&&d.2N.6z(f,1)}c.2z.1M();c.2z=Ga.4t({1O:1a.1O,5O:e,5A:d})}};kD.5Dl=BP;1d 5Dk=B.8I(30);1L.2X(zJ.1i,{8f:{1n:1b(){1f 1a.2o0},1C:1b(a){v.1N.2b("1Q",a);1a.2o0=a}}});zJ.1i.1Uk=1b(a){1d b=1k.10n(1a.2o0),c=B.1xb(0,B.14C);b=B.1xb(0,b);a.1c9=k.9v(b*1k.3i(c),b*1k.2T(c),1,a.1c9);k.1T(a.1c9,a.1c9);a.1K=k.1y(k.6h,a.1K)};1d 4y7=/{[^}]+}/g,4y5={x:1b(a,b,c,d){1f hz(a,"{x}",b)},y:1b(a,b,c,d){1f hz(a,"{y}",c)},z:1b(a,b,c,d){1f hz(a,"{z}",d)},s:1b(a,b,c,d){1f a.1tQ[(b+c+d)%a.1tQ.1h]},5Dj:1b(a,b,c,d){b=a.8c.1ou(d)-b-1;1f hz(a,"{5Dj}",b)},34m:1b(a,b,c,d){b=a.8c.1Bj(d)-c-1;1f hz(a,"{34m}",b)},5Di:1b(a,b,c,d){b=a.16j;d=g(b)&&d<b?b-d-1:d;1f hz(a,"{5Di}",d)},7Ky:1b(a,b,c,d){CJ(a,b,c,d);1f Lk.4o},7Kx:1b(a,b,c,d){CJ(a,b,c,d);1f Lk.4C},7Kw:1b(a,b,c,d){CJ(a,b,c,d);1f Lk.5a},7Kv:1b(a,b,c,d){CJ(a,b,c,d);1f Lk.4P},5Dh:1b(a,b,c,d){DJ(a,b,c,d);1f lD.4o},5Dg:1b(a,b,c,d){DJ(a,b,c,d);1f lD.4C},5Df:1b(a,b,c,d){DJ(a,b,c,d);1f lD.5a},5De:1b(a,b,c,d){DJ(a,b,c,d);1f lD.4P},1G:1b(a,b,c,d){1f a.16K},1D:1b(a,b,c,d){1f a.17g}},5Dc=fb(4y5,{i:1b(a,b,c,d,e,f,h){EJ(a,b,c,d,e,f);1f jz.x},j:1b(a,b,c,d,e,f,h){EJ(a,b,c,d,e,f);1f jz.y},7Ku:1b(a,b,c,d,e,f,h){EJ(a,b,c,d,e,f);1f a.16K-jz.x-1},7Kt:1b(a,b,c,d,e,f,h){EJ(a,b,c,d,e,f);1f a.17g-jz.y-1},7Ks:1b(a,b,c,d,e,f,h){1f B.10Q(e)},7Kr:1b(a,b,c,d,e,f,h){1f B.10Q(f)},7Kq:1b(a,b,c,d,e,f,h){vT(a,b,c,d,e,f);1f iz.x},7Kp:1b(a,b,c,d,e,f,h){vT(a,b,c,d,e,f);1f iz.y},8V:1b(a,b,c,d,e,f,h){1f h}});1L.2X(ti.1i,{2I:{1n:1b(){1f 1a.12o.2I}},34p:{1n:1b(){1f 1a.4y3}},4y4:{1n:1b(){1f 1a.2LF.2I}},1aQ:{1n:1b(){1f 1a.12o.1aQ}},16K:{1n:1b(){if(!1a.3o)1t 1g r("16K 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14Q}},17g:{1n:1b(){if(!1a.3o)1t 1g r("17g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.16J}},16j:{1n:1b(){if(!1a.3o)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.17G}},16i:{1n:1b(){if(!1a.3o)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1jK}},8c:{1n:1b(){if(!1a.3o)1t 1g r("8c 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C}},3g:{1n:1b(){if(!1a.3o)1t 1g r("3g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.7T}},19b:{1n:1b(){if(!1a.3o)1t 1g r("19b 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1nm}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f g(1a.12o)}},9c:{1n:1b(){1f 1a.7S}},9L:{1n:1b(){if(!1a.3o)1t 1g r("9L 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1dh}},1mb:{1n:1b(){if(!1a.3o)1t 1g r("1mb 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.4y1}}});ti.1i.5Dd=1b(a){1d b=1a;b.7S=Z(a).4b(1b(c){if(!g(c))1t 1g r("3v is 1X.");if(!g(c.2I))1t 1g r("3v.2I is 1X.");b.1os=a.4y6;1d d=c.7Ko,e=fb(4y5,d);d=fb(5Dc,d);1d f=na.14m(c.2I),h=na.14m(c.4y4);b.1Bm=m(c.1Bm,b.1Bm);b.4y3=m(c.34p,b.34p);b.1nm=c.19b;b.3Ty=c.4y2;b.1tQ=c.3ps;2K.8n(b.1tQ)?b.1tQ=b.1tQ.4h():g(b.1tQ)&&0<b.1tQ.1h?b.1tQ=b.1tQ.7g(""):b.1tQ=["a","b","c"];b.14Q=m(c.16K,256);b.16J=m(c.17g,256);b.1jK=m(c.16i,0);b.17G=c.16j;b.6C=m(c.8c,1g Le({3c:c.3c}));b.7T=m(c.3g,b.6C.3g);b.7T=Q.17d(b.7T,b.6C.3g);b.4y1=m(c.1mb,!0);1d l=c.9L;"4n"===2h l&&(l=1g Zb(l));b.1dh=l;b.12o=f;b.4y0=e;b.2LF=h;b.4xZ=d;e=c.2I;b.13Y=c.2I;(1g Dh({2i:e})).4b(1b(a){a.1PU(b.13Y)?b.12Y=a:a.1Uc(b.13Y).4b(1b(){b.12Y=a})});b.17F={1dF:!1,9P:1b(){b.12Y.9P(b.13Y)},1au:[]};1f!0})};ti.1i.1om=1b(a,b,c){if(!1a.3o)1t 1g r("1om 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");};ti.1i.1hQ=1b(a,b,c,d){if(!1a.3o)1t 1g r("1hQ 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1d e=5Db(1a,a,b,c,d);g(Ba.12M)&&(g(Ba.12M.1e7[1a.1os])?e.2I=Ba.1oo(1a.1os,e.2I):e.2I=Ba.1cl(e.2I));g(1a.1g2)&&(e.1iB=fb(e.1iB,1a.1g2));d.1b3=5Da(a,b,c);1f!0===1a.17F.1dF&&!0===d.1Gc&&g(1a.12Y)&&(a=1a.12Y.20n(1a.13Y,d.1b3),g(a))?Z(a,1b(a){1f g(a)?a:"1so"},1b(a){1f"1so"}):Hk.2j6(1a,e)};ti.1i.1lk=1b(a,b,c,d,e){1b f(a,b){1f a.1Jg(b)}1b h(){if(l>=k.3Ty.1h)1f Z([]);1d g=k.3Ty[l],p=5D9(k,a,b,c,d,e,g.8V);++l;1f"15l"===g.1I?p.1vs().4b(g.1Jg).10g(h):"1g3"===g.1I?p.2zz().4b(g.1Jg).10g(h):"3l"===g.1I||"1jH"===g.1I?p.34o().4b(g.1Jg).10g(h):p.1zb({1f8:g.8V}).4b(f.7X(1p 0,g)).10g(h)}if(!1a.3o)1t 1g r("1lk 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");if(1a.1Bm&&g(1a.2LF)&&0!==1a.3Ty.1h){1d l=0,k=1a;1f h()}};1d BJ=!1,Lk=1g Q,AJ=!1,lD=1g Q,uT=!1,jz=1g C,tT=!1,5D8=1g Q,iz=1g k,5D7=1g T,5D6=1g Zb("4rO, 30r 3RE 33c and 5yW, CC-BY-SA");g(1L.6F)&&(yq.1i=1L.6F(ti.1i),yq.1i.7m=yq);yq.1i.2fJ=1b(){1a.3Tw.2zz().4b(1a.3Tx).10g(1a.3Tu)};yq.1i.3Tx=1b(a){1d b=/5D5/i,c=/15c/i,d=/32W/i,e=/2nZ/i,f,h=[],l=1a.3Tw,k=1a.3Tv,n=1a.34l,q=1a.2fJ;a=a.13P[0].13P;1j(1d w=0;w<a.1h;w++)if(b.6S(a.1jI(w).1yI))1d x=a.1jI(w);1s if(d.6S(a.1jI(w).1yI)){1d r=a.1jI(w);1j(1d t=a.1jI(w).13P,u=0;u<t.1h;u++)c.6S(t.1jI(u).1yI)&&h.1q(t.1jI(u))}1s e.6S(a.1jI(w).1yI)&&(f=a.1jI(w));if(g(r)&&g(f)){b=1a.14n;d=m(b.2eT,x.15o("6A"));c=m(b.16K,8A(x.15o("1G"),10));x=m(b.17g,8A(x.15o("1D"),10));e=m(b.16i,8A(h[0].15o("1HC"),10));h=m(b.16j,8A(h[h.1h-1].15o("1HC"),10));a=r.15o("27X");r=b.8c;if(!g(r))if("34n"===a||"1ii-34n"===a)r=1g gd({3c:b.3c});1s if("2zy"===a||"1ii-2zy"===a)r=1g Le({3c:b.3c});1s{f=l.2I+"4xY an 1Pt 27X 3Q, "+a+".";k=Lc.1ir(k,1a,1a.1cG,f,1p 0,1p 0,1p 0,q);k.2LG||n.7N(1g qa(f));1a.3Tv=k;1f}k=Q.1y(b.3g);g(k)||(m(b.5D4,!1)?(k=1g C(7L(f.15o("2LJ")),7L(f.15o("21v"))),f=1g C(7L(f.15o("2LH")),7L(f.15o("2LI")))):(k=1g C(7L(f.15o("21v")),7L(f.15o("2LJ"))),f=1g C(7L(f.15o("2LI")),7L(f.15o("2LH")))),r.18T 2m Td||"34n"===a||"2zy"===a?(k=T.8g(k.x,k.y),f=T.8g(f.x,f.y)):(q=r.18T,k=q.1cZ(k),f=q.1cZ(f)),k=1g Q(k.3N,k.4k,f.3N,f.4k));k.4o<r.3g.4o&&(k.4o=r.3g.4o);k.5a>r.3g.5a&&(k.5a=r.3g.5a);k.4C<r.3g.4C&&(k.4C=r.3g.4C);k.4P>r.3g.4P&&(k.4P=r.3g.4P);f=r.1mi(Q.1tI(k),e);q=r.1mi(Q.1tH(k),e);4<(1k.abs(q.x-f.x)+1)*(1k.abs(q.y-f.y)+1)&&(e=0);f=1a.3Tt.16M({2I:"{z}/{x}/{34m}."+d});n.5h({2I:f,8c:r,3g:k,16K:c,17g:x,16i:e,16j:h,19b:b.19b,9L:b.9L})}1s f="2mq to 1oZ 1SV 32W or 1bD 2w in "+l.2I+".",k=Lc.1ir(k,1a,1a.1cG,f,1p 0,1p 0,1p 0,q),k.2LG||n.7N(1g qa(f)),1a.3Tv=k};yq.1i.3Tu=1b(a){a=1a.14n;1d b=m(a.2eT,"12H"),c=m(a.16K,256),d=m(a.17g,256),e=m(a.16i,0),f=a.16j,h=g(a.8c)?a.8c:1g Le({3c:a.3c}),l=m(a.3g,h.3g);b=1a.3Tt.16M({2I:"{z}/{x}/{34m}."+b});1a.34l.5h({2I:b,8c:h,3g:l,16K:c,17g:d,16i:e,16j:f,19b:a.19b,9L:a.9L})};1L.2X(Mk.1i,{2I:{1n:1b(){1f 1a.10z}},9w:{1n:1b(){1f 1a.34k}},1aQ:{1n:1b(){1f 1a.12o.1aQ}},1yj:{1n:1b(){1f 1a.34i}},16K:{1n:1b(){if(!1a.4y)1t 1g r("16K 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14Q}},17g:{1n:1b(){if(!1a.4y)1t 1g r("17g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.16J}},16j:{1n:1b(){if(!1a.4y)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.17G}},16i:{1n:1b(){if(!1a.4y)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 0}},8c:{1n:1b(){if(!1a.4y)1t 1g r("8c 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C}},9G:{1n:1b(){if(!1a.4y)1t 1g r("9G 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1nw}},2zx:{1n:1b(){if(!1a.4y)1t 1g r("2zx 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.34j}},3g:{1n:1b(){if(!1a.4y)1t 1g r("3g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C.3g}},19b:{1n:1b(){if(!1a.4y)1t 1g r("19b 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1nm}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},9L:{1n:1b(){1f 1a.1dh}},1mb:{1n:1b(){1f!0}}});Mk.1i.1om=1b(a,b,c){};Mk.1i.1hQ=1b(a,b,c,d){if(!1a.4y)1t 1g r("1hQ 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");a=1a.12o.16M({2I:"16H",7M:d,1kx:{7M:1a.34j,1yj:1a.34i,9G:1a.1nw,x:a,y:b,z:c+1}});1f Hk.2j6(1a,a)};Mk.1i.1lk=1b(a,b,c,d,e){};Mk.2fI=1p 0;1L.2X(Mk,{3Ts:{1n:1b(){g(Mk.2fI)||(Mk.2fI=cb("1ja/1eX/7Kn.12H"));1f Mk.2fI},1C:1b(a){v.2l("1Q",a);Mk.2fI=a}}});1d $ya=/\\/$/,4xX=1g Zb(\'&1hI; <a 17S="1bU://10y.3H.11Y/4uh/1PT/">20U</a> &1hI; <a 17S="10R://10y.33h.1m9/5za">3nK</a> <1dH><a 17S="1bU://10y.3H.11Y/5d-4ug/">5z9 1a 5d</a></1dH>\');1L.2X(Ko.1i,{2I:{1n:1b(){1f 1a.14f.2I}},3o:{1n:1b(){1f 1a.14f.3o}},9c:{1n:1b(){1f 1a.14f.9c}},3g:{1n:1b(){1f 1a.14f.3g}},16K:{1n:1b(){1f 1a.14f.16K}},17g:{1n:1b(){1f 1a.14f.17g}},16j:{1n:1b(){1f 1a.14f.16j}},16i:{1n:1b(){1f 1a.14f.16i}},8c:{1n:1b(){1f 1a.14f.8c}},19b:{1n:1b(){1f 1a.14f.19b}},1cG:{1n:1b(){1f 1a.14f.1cG}},9L:{1n:1b(){1f 1a.14f.9L}},1aQ:{1n:1b(){1f 1a.14f.1aQ}},1mb:{1n:1b(){1f 1a.14f.1mb}}});Ko.1i.1om=1b(a,b,c){if(g(1a.33g))1f[1a.33g]};Ko.1i.1hQ=1b(a,b,c,d){1f 1a.14f.1hQ(a,b,c,d)};Ko.1i.1lk=1b(a,b,c,d,e){1f 1a.14f.1lk(a,b,c,d,e)};Ko.33f=4xX;1L.2X(Yv.1i,{2I:{1n:1b(){1f 1a.12o.2I}},1aQ:{1n:1b(){1f 1a.12o.1aQ}},16K:{1n:1b(){if(!1a.4y)1t 1g r("16K 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14Q}},17g:{1n:1b(){if(!1a.4y)1t 1g r("17g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.16J}},16j:{1n:1b(){if(!1a.4y)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 0}},16i:{1n:1b(){if(!1a.4y)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 0}},8c:{1n:1b(){if(!1a.4y)1t 1g r("8c 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C}},3g:{1n:1b(){1f 1a.6C.3g}},19b:{1n:1b(){if(!1a.4y)1t 1g r("19b 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S.10l}},9L:{1n:1b(){1f 1a.1dh}},1mb:{1n:1b(){1f!0}}});Yv.1i.1om=1b(a,b,c){};Yv.1i.1hQ=1b(a,b,c,d){if(!1a.4y)1t 1g r("1hQ 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1iw};Yv.1i.1lk=1b(a,b,c,d,e){};1d wT="10R://10y.7Km.11Y/7Kl",5D3="10R://10y.3Tr.11Y/7Kk",5D2="10R://10y.3Tq.2fH/7Kj",5D1="10R://10y.3Tq.2fH/7Ki",5D0=/<1hg>\\s*<\\/1hg>/im,5CZ=/<4xW([\\s\\S]*)<\\/4xW>/im,5CY=/<17s>([\\s\\S]*)<\\/17s>/im;1L.2X(Zv.1i,{14c:{1n:1b(){1f 1a.1aG},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1aG!==a&&(1a.1aG=a,1a.3pr(a),1a.3Tp())}},12K:{1n:1b(){1f 1a.1f7},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1f7!==a&&(1a.1f7=a,1a.3pr(1a.1aG),1a.3Tp())}},3Tn:{1n:1b(){1f 1a.1f7.1n(1a.3pq)}}});Zv.1i.4xS=1b(a,b,c,d){a=a+"-"+b+"-"+c;b=1a.1Bn[1a.3pq];if(g(b)&&g(b[a])){1d e=b[a];1d f=e.10l.10g(1b(a){d.4F=e.7M.4F;1t a;});4Y b[a]}1f f};Zv.1i.4xR=1b(a,b,c,d){c=a+"-"+b+"-"+c;a=1a.3To;b=4xV(1a);d={10t:c,1xd:d.1xd};g(b)&&4xU(1a,d,b)||a.1q(d);512<=a.1h&&a.6z(0,256)};Zv.1i.3pr=1b(a){a=1a.1f7.3f(a.1a2);1d b=1a.3pq;if(a!==b){1d c=1a.1Bn[b];1j(d in c)c.3p(d)&&c[d].7M.1hm();4Y 1a.1Bn[b];1a.3To=[];1a.3pq=a;1a.3Tp()}1s{1d d=4xV(1a);if(g(d))1j(a=1a.3To,b=!0;b&&0!==a.1h;)c=a.9l(),(b=4xU(1a,c,d))||a.1q(c)}};1L.2X(am.1i,{2I:{1n:1b(){1f 1a.12o.10z}},1aQ:{1n:1b(){1f 1a.12o.1aQ}},9Q:{1n:1b(){1f 1a.8U}},16K:{1n:1b(){1f 1a.7Y.16K}},17g:{1n:1b(){1f 1a.7Y.17g}},16j:{1n:1b(){1f 1a.7Y.16j}},16i:{1n:1b(){1f 1a.7Y.16i}},8c:{1n:1b(){1f 1a.7Y.8c}},3g:{1n:1b(){1f 1a.7Y.3g}},19b:{1n:1b(){1f 1a.7Y.19b}},1cG:{1n:1b(){1f 1a.7Y.1cG}},3o:{1n:1b(){1f 1a.7Y.3o}},9c:{1n:1b(){1f 1a.7Y.9c}},9L:{1n:1b(){1f 1a.7Y.9L}},1mb:{1n:1b(){1f 1a.7Y.1mb}},1Bm:{1n:1b(){1f 1a.7Y.1Bm},1C:1b(a){1a.7Y.1Bm=a}},14c:{1n:1b(){1f 1a.1UR.14c},1C:1b(a){1a.1UR.14c=a}},12K:{1n:1b(){1f 1a.1UR.12K},1C:1b(a){1a.1UR.12K=a}},1x1:{1n:1b(){1f 1a.1g2},1C:1b(a){1a.1g2=a}}});am.1i.1om=1b(a,b,c){1f 1a.7Y.1om(a,b,c)};am.1i.1hQ=1b(a,b,c,d){1d e=1a.1UR;if(g(e)){1d f=e.3Tn;1d h=e.4xS(a,b,c,d)}g(h)||(h=4xT(1a,a,b,c,d,f));g(h)&&g(e)&&e.4xR(a,b,c,d);1f h};am.1i.1lk=1b(a,b,c,d,e){1d f=1a.1UR;f=g(f)?f.3Tn:1p 0;f=g(f)?f.2g:1p 0;1d h=1a.7Y;g(f)&&h.2LF.1qN(f);1f h.1lk(a,b,c,d,e)};am.5CX=1L.3F({2mx:"4xQ",9G:"1.1.1",7M:"7Kh",5CW:"",8V:"4d/2L3"});am.5CV=1L.3F({2mx:"4xQ",9G:"1.1.1",7M:"7Kg"});am.5CU=1L.3F([1L.3F(1g GJ("15l","1aM/15l")),1L.3F(1g GJ("1g3","3l/1g3")),1L.3F(1g GJ("3l","3l/1jH"))]);1d 5CT=1L.3F({2mx:"2ex",9G:"1.0.0",7M:"3m6"});1L.2X(kz.1i,{2I:{1n:1b(){1f 1a.12o.2I}},1aQ:{1n:1b(){1f 1a.12o.1aQ}},16K:{1n:1b(){1f 1a.14Q}},17g:{1n:1b(){1f 1a.16J}},16j:{1n:1b(){1f 1a.17G}},16i:{1n:1b(){1f 1a.1jK}},8c:{1n:1b(){1f 1a.6C}},3g:{1n:1b(){1f 1a.7T}},19b:{1n:1b(){1f 1a.1nm}},1cG:{1n:1b(){1f 1a.14P}},8V:{1n:1b(){1f 1a.1JH}},3o:{1Q:!0},9c:{1n:1b(){1f 1a.7S}},9L:{1n:1b(){1f 1a.1dh}},1mb:{1n:1b(){1f!0}},14c:{1n:1b(){1f 1a.1UR.14c},1C:1b(a){1a.1UR.14c=a}},12K:{1n:1b(){1f 1a.1UR.12K},1C:1b(a){1a.1UR.12K=a}},6e:{1n:1b(){1f 1a.1US},1C:1b(a){1a.1US!==a&&(1a.1US=a,g(1a.21q)&&1a.21q())}}});kz.1i.1om=1b(a,b,c){};kz.1i.1hQ=1b(a,b,c,d){1d e=1a.1UR;if(g(e)){1d f=e.3Tn;1d h=e.4xS(a,b,c,d)}d.1b3=5CS(a,b,c);if(!0===1a.17F.1dF&&!g(h)&&!0===d.1Gc)1f g(1a.12Y)?(h=1a.12Y.20n(1a.13Y,d.1b3),g(h)?h.4b(1b(a){1f g(a)?a:"1so"},1b(a){1f"1so"}):IJ(1a,a,b,c,d,f)):IJ(1a,a,b,c,d,f);g(h)||(d.1Gc=!1,h=IJ(1a,a,b,c,d,f));g(h)&&g(e)&&e.4xR(a,b,c,d);1f h};kz.1i.1lk=1b(a,b,c,d,e){};1d 5CR={7Kf:zq(wq),7Ke:zq(Vg),7Kd:zq(Mk),7Kc:zq(Ko),7Kb:zq(Yv),7Ka:zq(yq),7K9:zq(ti),4xQ:zq(am),2ex:zq(kz)};1L.2X(bm.1i,{3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S}},3g:{1n:1b(){if(!1a.4y)1t 1g r("17g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.3g}},16K:{1n:1b(){if(!1a.4y)1t 1g r("16K 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.16K}},17g:{1n:1b(){if(!1a.4y)1t 1g r("17g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.17g}},16j:{1n:1b(){if(!1a.4y)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.16j}},16i:{1n:1b(){if(!1a.4y)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.16i}},8c:{1n:1b(){if(!1a.4y)1t 1g r("8c 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.8c}},19b:{1n:1b(){if(!1a.4y)1t 1g r("19b 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.19b}},1cG:{1n:1b(){1f 1a.14P}},9L:{1n:1b(){if(!1a.4y)1t 1g r("9L 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.9L}},1mb:{1n:1b(){if(!1a.4y)1t 1g r("1mb 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.1mb}}});bm.1i.1om=1b(a,b,c){if(!1a.4y)1t 1g r("1om 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");a=1a.14f.1om(a,b,c);1f g(a)?1a.27W.9V(a):1a.27W};bm.1i.1hQ=1b(a,b,c,d){if(!1a.4y)1t 1g r("1hQ 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.1hQ(a,b,c,d)};bm.1i.1lk=1b(a,b,c,d,e){if(!1a.4y)1t 1g r("1lk 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14f.1lk(a,b,c,d,e)};bm.4xO={};1d mD=1L.3F({3pp:2,4xN:3,4xM:4});qf.1i.2nT=1b(a){v.2l("9L",a);a.5CQ?(g(1a.33f)||(1a.33f=Zb.1y(4xE())),1a.3Th=1a.33f):a.3Tm?1a.34g.3Tj.1C(a.id,a):1a.34g.3Ti.1C(a.id,a)};qf.1i.5CP=1b(a){v.2l("9L",a);1d b=1a.3Tk;a:{1d c=b.1h;1j(1d d=0;d<c;d++)if(Zb.2L(b[d],a)){c=!0;1W a}c=!1}c||b.1q(a)};qf.1i.7K8=1b(a){v.2l("9L",a);1d b=1a.3Tk;a=b.3f(a);-1!==a&&b.6z(a,1)};qf.1i.5CO=1b(){1a.3pn.2r.1ka="2es";1a.3Tl=!0};qf.1i.4xL=1b(){1a.3pn.2r.1ka="1bs";1a.3Tl=!1};qf.1i.2H=1b(){if(1a.3Tl){1d a=1a.5CN,b=1a.5q.18L,c=1a.5q.1gt;b!==1a.4xK&&(576>b?(a.8k="3P-9L-1tP 3P-9L-1tP-34h",a.2r.3Ok="0"):(a.8k="3P-9L-1tP 3P-9L-1tP-5CM",a.2r.3Ok=1k.2t(.5*(c-a.1gt))+"px"),1a.4xK=b);576<=b&&c!==1a.4xJ&&(a.2r.3Ok=1k.2t(.5*(c-a.1gt))+"px",1a.4xJ=c)}};qf.1i.2z1=1b(){1d a=1a.34g,b=a.3Tj;b.7f();1j(1d c=1a.3Tk,d=0;d<c.1h;++d){1d e=c[d];b.1C(e.id,e)}a.3Ti.7f();Zb.2L(qf.3Tf,1a.2zw)||(1a.2zw=Zb.1y(qf.3Tf));1a.3Th=1a.2zw};qf.1i.1sr=1b(){4xI(1a.4xG,1a.34g.3Tj.2a,1a.5CL,1p 0);1d a=1a.34g.3Ti.2a;1a.4xF.2r.1ka=0<a.1h?"3po":"1bs";4xI(1a.5CK,a,1p 0,"li");a=1a.4xH;1d b=1a.3Th;Zb.2L(b,a)||(g(a)&&1a.3Tg.18Z(a.1ij),g(b)&&1a.3Tg.3A(b.1ij),1a.4xH=b)};qf.1i.1M=1b(){1a.3pn.12R("1aI",1a.5CJ,!1);1a.11z.18Z(1a.3Tg);1a.11z.18Z(1a.4xG);1a.11z.18Z(1a.4xF);1a.5q.18Z(1a.3pn);1f la(1a)};qf.1i.3Z=1b(){1f!1};qf.2zw=1p 0;qf.3Te=!1;1d KJ;1L.2X(qf,{3Tf:{1n:1b(){4xE();1f qf.2zw},1C:1b(a){qf.2zw=a;qf.3Te=!0}}});1L.2X($v.1i,{7K7:{1n:1b(){1f 1a.4xD},1C:1b(a){1a.4xD=a;1a.13A=!0}},5BQ:{1n:1b(){1f 1a.2fE},1C:1b(a){1a.2fE=a;1a.13A=!0}}});$v.1i.1M=1b(){4xC(1a);1f la(1a)};$v.1i.1x4=1b(){""!==1a.6X||1a.27V||(1a.6X="7K6"+1a.2R.1ck.1nr,1a.1Bl=1a.6X+"2R",1a.1JG=1a.6X+"1B5",1a.2R.1ck.add(1a))};$v.1i.4xe=1b(a){if(!g(a)||!g(a.1K))1t 1g r("1Z 3v is 1X");1a.1E0=a.1K;1a.13A=!0};$v.1i.7K5=1b(a){};$v.1i.2H=1b(a,b,c){if("1Ge"!==b.19c.2i&&!b.10s.11P)if(!b.19c.3e||b.19c.2i!==1a.1Bl&&b.19c.2i!==1a.1JG){1d d=b.3w;d.1Mx||(A.9b(1a.2fG,d.1x3,1a.1GH),1a.13A&&(1a.5Y=b,g(1a.15H)||(1a.15H=1g lg(a),1a.15H.1cn.1oA=!0,1a.15H.1cn.1kr=!0,1a.15H.11h=1a.11h,b.18w[1a.1JG]=1a.15H),1a.13A=!1,4xC(1a),3pm(1a,a,b),7K4(1a,a,b)),g(1a.15H.4Q)&&c.1q(7K3))}1s b.19c.2i===1a.1Bl&&g(1a.15e)&&c.1q(1a.15e)};1L.2X(nD.1i,{5O:{1n:1b(){1f 1a.1za}},5A:{1n:1b(){1f 1a.1z9}},4w:{1n:1b(){1f 1a.1hT}},1ph:{1n:1b(){1f 1a.1z8}},2zv:{1n:1b(){1f 1a.5CI}},4xB:{1n:1b(){1f 1a.5CH}}});nD.1i.1MH=pe.1i.1MH;nD.1i.1pE=pe.1i.1pE;nD.1i.1MG=pe.1i.1MG;1d 5CA=1g k,ax=1g J,5Cz=1g ca,5CF=1g Qc,5CE=1g Mg,5CD=1g Jb,5CC=1g Ee,5Cy=1g y,5CB=[1,1E5];Aq.1i.2H=1b(a){if(1a.2p){1d b=1a.34f,c=1a.3pl,d;if(1a.5CG){1d e=b.1h;1j(d=0;d<e;++d)c[d]=c[d]&&c[d].1M(),b[d]=b[d]&&b[d].1M();b.1h=0;c.1h=0}if(0===b.1h){d=1a.1B5;1d f=d.3j;e=f 2m Qc?5CF:f 2m Mg?5CE:f 2m Jb?5CD:5CC;e=f.1y(e);f=a.4tk;1d h=f.1h-1;0>=h&&(f=5CB,f[0]=1a.1B5.3j.3I,f[1]=1a.1B5.3j.3W,h=1);1d g=d.6K,p=d.18k,n=d.1je;d=d.2f1;d=k.11k(d,5CA);J.1vr(ax,0,d,ax);J.1vr(ax,1,n,ax);J.1vr(ax,2,p,ax);p=ca.1UQ(ax,5Cz);b.1h=c.1h=h;1j(d=0;d<h;++d)e.3I=f[d],e.3W=f[d+1],b[d]=1g Kb({13g:1g yb({3y:1g zp({9X:g,11f:p,3j:e,1Qb:0===d}),2w:{1A:Qb.1dc(y.4xA(1a.7a,.1,5Cy))},id:1a.id,1FK:1a}),161:1g zc({11C:!0,8z:!0}),17X:!1}),c[d]=1g Kb({13g:1g yb({3y:1g Kx({9X:g,11f:p,3j:e,1Qb:0===d}),2w:{1A:Qb.1dc(1a.7a)},id:1a.id,1FK:1a}),161:1g zc({11C:!1,8z:!0}),17X:!1})}e=b.1h;1j(d=0;d<e;++d)c[d].2H(a),b[d].2H(a)}};Aq.1i.3Z=1b(){1f!1};Aq.1i.1M=1b(){1j(1d a=1a.34f.1h,b=0;b<a;++b)1a.3pl[b]=1a.3pl[b]&&1a.3pl[b].1M(),1a.34f[b]=1a.34f[b]&&1a.34f[b].1M();1f la(1a)};oD.1i.2H=1b(a){if(1a.2p){if(!g(1a.7h)||!A.2L(1a.12t,1a.4a)||1a.1bC!==1a.1h||1a.10V!==1a.1G||1a.7R!==1a.id){1a.12t=A.1y(1a.4a,1a.12t);1a.1bC=1a.1h;1a.10V=1a.1G;1a.7R=1a.id;g(1a.7h)&&1a.7h.1M();0===1a.4a[12]&&0===1a.4a[13]&&0===1a.4a[14]&&(1a.4a[14]=.11t);1d b=1g yb({3y:1g lk({3q:[k.6h,k.1dl],1G:1a.1G,9S:hf.1sC,1Bd:[y.1PZ,y.1PZ],14g:Ib.6i}),4a:A.2HS(1a.4a,1a.1h,1g A),id:1a.id,1FK:1a}),c=1g yb({3y:1g lk({3q:[k.6h,k.1f5],1G:1a.1G,9S:hf.1sC,1Bd:[y.3Ra,y.3Ra],14g:Ib.6i}),4a:A.2HS(1a.4a,1a.1h,1g A),id:1a.id,1FK:1a}),d=1g yb({3y:1g lk({3q:[k.6h,k.16a],1G:1a.1G,9S:hf.1sC,1Bd:[y.2f3,y.2f3],14g:Ib.6i}),4a:A.2HS(1a.4a,1a.1h,1g A),id:1a.id,1FK:1a});1a.7h=1g Kb({13g:[b,c,d],161:1g hf,17X:!1})}1a.7h.2H(a)}};oD.1i.3Z=1b(){1f!1};oD.1i.1M=1b(){1a.7h=1a.7h&&1a.7h.1M();1f la(1a)};1d NA=Nc.2zu()?1g 4A(12):[],4xz=1g k,4xy=1g k,SY=1g k,OA=1g k;lz.1i.2H=1b(a){1a.8C=a.3z;if(a.3z===O.6G){1d b=a.1O,c=a.11s.3c,d=a.1bz;g(1a.10u)||(1a.1gz=pa.4t({8d:{3e:!0},9J:{3e:!0},1fA:{5r:!1,5t:!1,5G:!1,2O:!1}}),1a.10u=1g Oa({4w:1a.1gz,6W:1g P(k.6h,c.17i),6t:ma.18W,7H:1a}));if(!g(1a.11V)||1a.1hq!==d){1a.1hq=d;1d e=1g ja({5p:["3Q 1m 1K;\\1J 1m 4p;\\2s 2k()\\n{\\1eR = 9q * 1K;\\11u = 17B * 4p;\\1we();\\n}\\n"]}),f=1g ja({5p:["3G 1m 4p;\\2s 2k()\\n{\\1R 2G = 1T(4p.1H);\\2Gy 11j = 1F5(1w(0.0), 2G);\\1R 1Xd = 1p3[3].1H;\\1F4 17d = 2b3(11j, 1Xd, 2FW);\\1U (!2sO(17d))\\n{\\3R = 1m(1.0, 1.0, 0.0, 1.0);\\n}\\5L\\n{\\10W;\\n}\\1ri();\\n}\\n"]});d&&(f.5p.1q("#1z 5J \\n#6A 5J : 5F \\n#1u \\n\\n"),f.2N.1q("10B"),e.2N.1q("10B"));1a.11V=Ga.1sw({2z:1a.11V,1O:b,5O:e,5A:f,7W:{1K:0}});1a.10u.2z=1a.11V}d=c.10N;1d h=k.1oz(c.2zt,a.3w.6K,4xz);f=k.7t(h);a=k.1T(h,4xy);e=k.1T(k.4B(k.16a,h,SY),SY);c=k.1T(k.4B(a,e,OA),OA);h=1k.3Y(k.17j(h)-1);a=k.4g(a,1/f,4xz);f=h/f;e=k.4g(e,f,4xy);c=k.4g(c,f,SY);f=k.add(a,c,OA);k.3V(f,e,f);k.1oz(d,f,f);k.5n(f,NA,0);f=k.3V(a,c,OA);k.3V(f,e,f);k.1oz(d,f,f);k.5n(f,NA,3);f=k.add(a,c,OA);k.add(f,e,f);k.1oz(d,f,f);k.5n(f,NA,6);a=k.3V(a,c,OA);k.add(a,e,a);k.1oz(d,a,a);k.5n(a,NA,9);g(1a.16z)?1a.16z.15o(0).7e.1jR(NA):(d=1g Pb({2w:{1K:1g Pa({3k:I.3O,2Z:3,2a:NA})},4N:[0,1,2,2,1,3],6Z:Ja.11G}),1a.16z=Fb.1M5({1O:b,3y:d,7W:{1K:0},1tF:xa.1UP}),1a.10u.4c=1a.16z)}};lz.1i.5P=1b(a,b){1a.8C===O.6G&&1a.10u.5P(a,b)};lz.1i.3Z=1b(){1f!1};lz.1i.1M=1b(){1a.11V=1a.11V&&1a.11V.1M();1a.16z=1a.16z&&1a.16z.1M()};1d 4xx=/\\7K2\\b/,4xw=/\\5Cx\\b/;Nk.5Cw=1b(a,b,c,d){g(d)||(d={});if(g(d.1Qa)){1d e=d.1Qa.2z;1d f=d.1Qa.4w}d.1Qa=Oa.15v(b,d.1Qa);if(g(e)&&d.1Q2===b.2z.id)d.1Qa.2z=e,d.1Qa.4w=f;1s{e=d.1Qa;f=b.2z;1d h=c.1hf.1Jv(f,"5Cu");if(!g(h)){h=f.12m;1d l=f.5A,k,n=!1,m=l.5p,q=m.1h;1j(k=0;k<q;++k)if(4xx.6S(m[k])||4xw.6S(m[k])){n=!0;1W}1d r=!1,u=l.2N;q=u.1h;1j(k=0;k<q;++k)if("10B"===u[k]){r=!0;1W}if(c.8X)n||r?!n&&r&&(l=1g ja({2N:["10B"],5p:["#1z 5J \\n#6A 5J : 5F \\n#1u \\n\\2s 2k() \\n{ \\n    2C = 1m(1.0); \\n    1nO(); \\n} \\n"]})):l=1g ja({5p:["1p 2k() \\n{ \\n    2C = 1m(1.0); \\n} \\n"]});1s if(n||r)if(!n&&r)l=1g ja({2N:["10B"],5p:["#1z 5J \\n#6A 5J : 5F \\n#1u \\n\\2s 2k() \\n{ \\n    2C = 1lP(4u.z);\\n    1nO(); \\n} \\n"]});1s{q=m.1h;n=2K(q+1);1j(k=0;k<q;++k)n[k]=ja.1gF(m[k],"5Cv");n[q]="1p 2k() \\n{ \\n    5Cv(); \\n    if (2C.a == 0.0) { \\n        7o; \\n    } \\n    2C = "+(r?"1lP(1bp)":"1lP(4u.z)")+";\\n} \\n";k=[];1j(m=0;m<u.1h;m++)k.1q(l.2N[m]);l=1g ja({5p:n,2N:k})}1s l=1g ja({5p:["1p 2k() \\n{ \\n    2C = 1lP(4u.z);\\n} \\n"]});h=c.1hf.1Gx(f,"5Cu",{5O:f.5O,5A:l,7W:h})}e.2z=h;c=d.1Qa;e=b.4w;f=d.1Qa.20m;h=a.5Ct;l=h[e.id];g(l)||(l=pa.1PL(e),l.13Q=!0,a.4j.8X&&(l.1fA={5r:!1,5t:!1,5G:!1,2O:!1}),g(f)&&(l.5q=1p 0),l=pa.4t(l),h[e.id]=l);c.4w=l;d.1Q2=b.2z.id}d.1Qa.20m&&(d.1Qa.4Q=1p 0);1f d};1d 5Cr=/\\s+1nO\\(/,5Cs=/\\s+1Se\\(/,5Cq=/\\s*#6A\\s+5J\\s*:\\s*5F/;Nk.4r0=1b(a,b,c){g(c)||(c={});if(g(c.14Z))1d d=c.14Z.2z;c.14Z=Oa.15v(a,c.14Z);if(g(d)&&c.1Q2===a.2z.id)c.14Z.2z=d;1s{d=c.14Z;1d e=a.2z,f=b.1hf.1Jv(e,"1Gm");if(!g(f)){f=e.12m;1d h=e.5O.1y(),l=e.5A.1y();h.2N=g(h.2N)?h.2N.4h(0):[];h.2N.1q("10B");l.2N=g(l.2N)?l.2N.4h(0):[];l.2N.1q("10B");1d k,n=!1,m=h.5p,q=m.1h;1j(k=0;k<q;++k)if(5Cs.6S(m[k])){n=!0;1W}if(!n){1j(k=0;k<q;++k)m[k]=ja.1gF(m[k],"2zr");m.1q("\\n\\2s 2k() \\n{ \\n    2zr(); \\n    1Se(); \\n} \\n")}1d r=!0;n=!1;m=l.5p;q=m.1h;1j(k=0;k<q;++k)5Cr.6S(m[k])&&(n=!0),5Cq.6S(m[k])&&(r=!1);1d u="";r&&(u+="#1z 5J \\n#6A 5J : 5F \\n#1u \\n\\n");if(!n){1j(k=0;k<q;k++)m[k]=ja.1gF(m[k],"2zr");u+="\\2s 2k() \\n{ \\n    2zr(); \\n    1nO(); \\n} \\n"}m.1q(u);f=b.1hf.1Gx(e,"1Gm",{5O:h,5A:l,7W:f})}d.2z=f;c.1Q2=a.2z.id}1f c};Nk.4qJ=1b(a,b,c,d){g(d)||(d={});if(g(d.1TX)){1d e=d.1TX.2z;1d f=d.1TX.4w}d.1TX=Oa.15v(b,d.1TX);if(g(e)&&d.1Q2===b.2z.id)d.1TX.2z=e,d.1TX.4w=f;1s{e=d.1TX;f=b.2z;1d h=b.1cI,l=c.1hf.1Jv(f,"11P");if(!g(l)){l=f.12m;1d k=f.5A,n=k.5p,m=n.1h;h="11w"===h?"2n 1o 1uJ;\\2s 2k() \\n{ \\n    2nY(); \\n    if (2C.a < 1uJ) { \\n        7o; \\n    } \\n    2C = "+h+"; \\n} \\n":"1p 2k() \\n{ \\n    2nY(); \\n    if (2C.a == 0.0) { \\n        7o; \\n    } \\n    2C = "+h+"; \\n} \\n";1j(1d q=2K(m+1),r=0;r<m;++r)q[r]=ja.1gF(n[r],"2nY");q[m]=h;k=1g ja({5p:q,2N:k.2N});l=c.1hf.1Gx(f,"11P",{5O:f.5O,5A:k,7W:l})}e.2z=l;c=d.1TX;e=b.4w;a=a.5Cp;f=a[e.id];g(f)||(f=pa.1PL(e),f.12e.3e=!1,f.13Q=!0,f=pa.4t(f),a[e.id]=f);c.4w=f;d.1Q2=b.2z.id}1f d};Nk.5Co=1b(a,b,c){g(c)||(c={});if(g(c.14Z))1d d=c.14Z.2z;c.14Z=Oa.15v(a,c.14Z);if(g(d)&&c.1Q2===a.2z.id)c.14Z.2z=d;1s{d=c.14Z;1d e=a.2z,f=b.1hf.1Jv(e,"1js");if(!g(f)){f=e.12m;1d h=e.5O.1y(),l=e.5A.1y();h.2N=g(h.2N)?h.2N.4h(0):[];h.2N.1q("1js");l.2N=g(l.2N)?l.2N.4h(0):[];l.2N.1q("1js");f=b.1hf.1Gx(e,"1js",{5O:h,5A:l,7W:f})}d.2z=f;c.1Q2=a.2z.id}1f c};Nk.5Cn=1b(a,b,c){g(c)||(c={});if(g(c.14Z))1d d=c.14Z.2z;c.14Z=Oa.15v(a,c.14Z);if(g(d)&&c.1Q2===a.2z.id)c.14Z.2z=d;1s{d=c.14Z;1d e=a.2z,f=b.1hf.1Jv(e,"11q");if(!g(f)){f=e.12m;1d h=e.5A,l,k=h.5p,n=k.1h;1j(l=0;l<n&&!4xx.6S(k[l])&&!4xw.6S(k[l]);++l);h=h.2N;n=h.1h;1j(l=0;l<n&&"10B"!==h[l];++l);h=1g ja({2N:["10B"],5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\1B 2v 7K1;\\1J 1m 4m;\\2s 2k() {\\n   if(4m.a < 0.1){7o;}\\n\\4s 4e = 11N(1Y(5Cm, 4u.xy / 9e.zw));\\n   4e = 1rn(4e);\\n   1m 4p = 1az(4u);\\n   1o 3I = 18z.x;\\n   1o 3W = 18z.y;\\n   1o 3n9 = -( 3I * 3W ) / ( ( 3W - 3I ) * 4e - 3W );\\n   1o 9J = (-4p.z > 3n9) && (4e > 0.1Ai) ? 1.0 : 0.0;\\n\\14F = 1m(0.0, 9J, 1.0, 1.0);\\n   1nO();\\n}"]});f=b.1hf.1Gx(e,"11q",{5O:e.5O,5A:h,7W:f})}d.2z=f;c.1Q2=a.2z.id}1f c};1d 5Cl=1g ca,4xv=1g ca,5Ck=1g J;mz.1i.2H=1b(){if(g(1a.2fj)){g(1a.3pk)||(1a.3pk=1a.2fj,1a.3Td=1a.34e,1a.3Tc=1a.27U);1d a=1a.2R.3w,b=-(1a.3pk-1a.2fj),c=1a.3Tc-1a.27U,d=a.2G,e=a.2W;a=a.up;1d f=ca.1gG(d,1a.3Td-1a.34e,4xv);c=ca.1gG(e,c,5Cl);c=ca.9b(c,f,c);b=ca.1gG(a,b,4xv);ca.9b(b,c,c);b=J.1fE(c,5Ck);J.10r(b,e,e);J.10r(b,a,a);J.10r(b,d,d);1a.3pk=1a.2fj;1a.3Td=1a.34e;1a.3Tc=1a.27U}};mz.1i.3Z=1b(){1f!1};mz.1i.1M=1b(){1a.5Cj();1f la(1a)};yT.1i.2Jq=1b(){1f!0};yT.1i.2xF=1b(a){1f a.1i3.4V===1a.26F?!0:!1};1d TY={1K:0};pD.1i.2H=1b(a){if(1a.2p&&a.3z===O.6G&&g(1a.2V)&&g(1a.10N)){if(!g(1a.2q))1t 1g r("1a.2q 2Q be 2l.");1d b=a.1O,c=1a.2q.1pE(),d=1a.34d!==c;if(!g(1a.1gz)||d)1a.34d=c,1a.1gz=pa.4t({8d:{3e:!0,18X:di.1TU},9J:{3e:1a.5Ci},13Q:!c&&b.1Mb,12e:c?Dc.1bQ:1p 0});if(!g(1a.16z)){1d e=b.1au.5Ch;g(e)||(e=yf.14t(yf.25S({6e:1g k(2,2,2),9S:za.1Gd})),e=Fb.1M5({1O:b,3y:e,7W:TY,1tF:xa.7C,1qK:!0}),b.1au.5Ch=e);1a.16z=e}1d f=!1;e=1a.10N;k.2L(1a.1jQ,e)||(k.1y(e,1a.1jQ),f=1a.4xu,f.x=1/(e.x*e.x),f.y=1/(e.y*e.y),f.z=1/(e.z*e.z),f=!0);A.2L(1a.4a,1a.12t)&&k.2L(1a.2V,1a.19J)||(A.1y(1a.4a,1a.12t),k.1y(1a.2V,1a.19J),A.3pj(1a.4a,1a.2V,1a.27T),f=!0);f&&(k.1y(k.6h,1a.5V.2V),1a.5V.3L=k.1xj(e),P.5o(1a.5V,1a.27T,1a.5V));e=1a.17u!==1a.2q;1a.17u=1a.2q;1a.17u.2H(b);f=1a.2f6!==1a.4xt;1a.4xt=1a.2f6;1d h=a.1bz,l=1a.1hq!==h;1a.1hq=h;h=1a.6g;if(e||f||d||l){1d p=1g ja({5p:["3Q 1w 1K;\\1B 1w 1go;\\1J 1w 13L;\\2s 2k()\\n{\\1P p = 1m(1go * 1K, 1.0);\\1t6 = (9q * p).1H;\\11u = 11o * p;\\11u.z = 2Y(6I.z, 1dx.3I, 1dx.3W);\\1we();\\n}\\n"]});1d n=1g ja({5p:[1a.2q.1hP,"#1z 2uO\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\1B 1w 1go;\\1B 1w 2GM;\\1J 1w 13L;\\1P 2kH(1F5 11j, 1o 17d, 1o 1NR)\\n{\\1R 4p = 24I(11j, 17d);\\1R 15C = (1Xe * 1m(4p, 1.0)).1H;\\1R 2Xv = 1T(2be(15C, 1w(0.0), 2GM));\\1R 2Xu = 1T(15C / 1go);\\1R 1jA = 2Xv * 1NR;\\1R 4X = 1T(11b * 1jA);\\2u st = 2bh(2Xu);\\1R 11E = -4p;\\1jv 5y;\\10m.s = st.s;\\10m.st = st;\\10m.1F6 = (15C + 1go) / 1go;\\10m.4X = 4X;\\10m.1p2 = 1Sp(15C, 4X);\\10m.11E = 11E;\\10I 2q = 16E(5y);\\2j 1nR(1T(11E), 2q, 1qd);\\n}\\2s 2k()\\n{\\1r 2kI = 1V(1go.x, 1V(1go.y, 1go.z)) * 1.5;\\1R 2G = 1T(13L);\\1R 1Ah = 9q[3].1H;\\1r t1 = -1.0;\\1r t2 = -1.0;\\1r b = -2.0 * 2A(2G, 1Ah);\\1r c = 2A(1Ah, 1Ah) - 2kI * 2kI;\\1r 1xQ = b * b - 4.0 * c;\\1U (1xQ >= 0.0) {\\4ht = (-b - 3Y(1xQ)) * 0.5;\\4hs = (-b + 3Y(1xQ)) * 0.5;\\n}\\1U (t1 < 0.0 && t2 < 0.0) {\\10W;\\n}\\1r t = 2o(t1, t2);\\1U (t < 0.0) {\\nt = 0.0;\\n}\\2Gy 11j = 1F5(t * 2G, 2G);\\1R 1Cg = 1w(1.0 / 1go.x, 1.0 / 1go.y, 1.0 / 1go.z);\\1F4 17d = 2b3(11j, 1Ah, 1Cg);\\1U (2sO(17d))\\n{\\10W;\\n}\\1P 1Ls = (17d.4I != 0.0) ? 2kH(11j, 17d.4I, 1.0) : 1m(0.0);\\1P 2kG = (1Ls.a < 1.0) ? 2kH(11j, 17d.4U, -1.0) : 1m(0.0);\\3R = 3T(2kG, 1Ls, 1Ls.a);\\3R.a = 1.0 - (1.0 - 2kG.a) * (1.0 - 1Ls.a);\\n#1z 2uO\\n#1z 5J\\nt = (17d.4I != 0.0) ? 17d.4I : 17d.4U;\\1R 4p = 24I(11j, t);\\1P 1Yv = 17B * 1m(4p, 1.0);\\n#1z 10B\\1ri(1.0 + 1Yv.w);\\n#1s\\1r z = 1Yv.z / 1Yv.w;\\1r n = 1dx.3I;\\1r f = 1dx.3W;\\1F2 = (z * (f - n) + f + n) * 0.5;\\n#1u\\n#1u\\n#1u\\n}\\n"]});1a.2f6&&n.2N.1q("5Cg");!c&&b.1Mb&&n.2N.1q("2uO");1a.1hq&&(p.2N.1q("10B"),n.2N.1q("10B"),n.5p.1q("#1z 5J \\n#6A 5J : 5F \\n#1u \\n\\n"));1a.11V=Ga.1sw({1O:b,2z:1a.11V,5O:p,5A:n,7W:TY});h.4c=1a.16z;h.4w=1a.1gz;h.2z=1a.11V;h.4J=fb(1a.1dg,1a.2q.1dg);h.3nk=c}d=a.13l;a=a.10s;a.3t&&(h.6W=1a.5V,h.15S=1a.15S,h.4a=1a.27T,h.6t=c?ma.1bl:ma.18W,d.1q(h));if(a.11P){a=1a.1MF;g(1a.16I)&&1a.7R===1a.id||(1a.7R=1a.id,1a.16I=1a.16I&&1a.16I.1M(),1a.16I=b.1Ga({9k:1a,id:1a.id}));if(e||f||!g(1a.27S)||l)p=1g ja({5p:["3Q 1w 1K;\\1B 1w 1go;\\1J 1w 13L;\\2s 2k()\\n{\\1P p = 1m(1go * 1K, 1.0);\\1t6 = (9q * p).1H;\\11u = 11o * p;\\11u.z = 2Y(6I.z, 1dx.3I, 1dx.3W);\\1we();\\n}\\n"]}),n=1g ja({5p:[1a.2q.1hP,"#1z 2uO\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\1B 1w 1go;\\1B 1w 2GM;\\1J 1w 13L;\\1P 2kH(1F5 11j, 1o 17d, 1o 1NR)\\n{\\1R 4p = 24I(11j, 17d);\\1R 15C = (1Xe * 1m(4p, 1.0)).1H;\\1R 2Xv = 1T(2be(15C, 1w(0.0), 2GM));\\1R 2Xu = 1T(15C / 1go);\\1R 1jA = 2Xv * 1NR;\\1R 4X = 1T(11b * 1jA);\\2u st = 2bh(2Xu);\\1R 11E = -4p;\\1jv 5y;\\10m.s = st.s;\\10m.st = st;\\10m.1F6 = (15C + 1go) / 1go;\\10m.4X = 4X;\\10m.1p2 = 1Sp(15C, 4X);\\10m.11E = 11E;\\10I 2q = 16E(5y);\\2j 1nR(1T(11E), 2q, 1qd);\\n}\\2s 2k()\\n{\\1r 2kI = 1V(1go.x, 1V(1go.y, 1go.z)) * 1.5;\\1R 2G = 1T(13L);\\1R 1Ah = 9q[3].1H;\\1r t1 = -1.0;\\1r t2 = -1.0;\\1r b = -2.0 * 2A(2G, 1Ah);\\1r c = 2A(1Ah, 1Ah) - 2kI * 2kI;\\1r 1xQ = b * b - 4.0 * c;\\1U (1xQ >= 0.0) {\\4ht = (-b - 3Y(1xQ)) * 0.5;\\4hs = (-b + 3Y(1xQ)) * 0.5;\\n}\\1U (t1 < 0.0 && t2 < 0.0) {\\10W;\\n}\\1r t = 2o(t1, t2);\\1U (t < 0.0) {\\nt = 0.0;\\n}\\2Gy 11j = 1F5(t * 2G, 2G);\\1R 1Cg = 1w(1.0 / 1go.x, 1.0 / 1go.y, 1.0 / 1go.z);\\1F4 17d = 2b3(11j, 1Ah, 1Cg);\\1U (2sO(17d))\\n{\\10W;\\n}\\1P 1Ls = (17d.4I != 0.0) ? 2kH(11j, 17d.4I, 1.0) : 1m(0.0);\\1P 2kG = (1Ls.a < 1.0) ? 2kH(11j, 17d.4U, -1.0) : 1m(0.0);\\3R = 3T(2kG, 1Ls, 1Ls.a);\\3R.a = 1.0 - (1.0 - 2kG.a) * (1.0 - 1Ls.a);\\n#1z 2uO\\n#1z 5J\\nt = (17d.4I != 0.0) ? 17d.4I : 17d.4U;\\1R 4p = 24I(11j, t);\\1P 1Yv = 17B * 1m(4p, 1.0);\\n#1z 10B\\1ri(1.0 + 1Yv.w);\\n#1s\\1r z = 1Yv.z / 1Yv.w;\\1r n = 1dx.3I;\\1r f = 1dx.3W;\\1F2 = (z * (f - n) + f + n) * 0.5;\\n#1u\\n#1u\\n#1u\\n}\\n"],2zs:"2n"}),1a.2f6&&n.2N.1q("5Cg"),!c&&b.1Mb&&n.2N.1q("2uO"),1a.1hq&&(p.2N.1q("10B"),n.2N.1q("10B"),n.5p.1q("#1z 5J \\n#6A 5J : 5F \\n#1u \\n\\n")),1a.27S=Ga.1sw({1O:b,2z:1a.27S,5O:p,5A:n,7W:TY}),a.4c=1a.16z,a.4w=1a.1gz,a.2z=1a.27S,a.4J=fb(fb(1a.1dg,1a.5Cf),1a.2q.1dg),a.3nk=c;a.6W=1a.5V;a.4a=1a.27T;a.6t=c?ma.1bl:ma.18W;d.1q(a)}}};pD.1i.3Z=1b(){1f!1};pD.1i.1M=1b(){1a.11V=1a.11V&&1a.11V.1M();1a.27S=1a.27S&&1a.27S.1M();1a.16I=1a.16I&&1a.16I.1M();1f la(1a)};1d 5C3=1g A(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);1L.2X(rf.1i,{7K0:{1n:1b(){1f 1a.3T4},1C:1b(a){1a.3T4=a}},2LE:{1n:1b(){1f 1a.1ME},1C:1b(a){1a.1ME=a;1a.21u=!1}},4xr:{1n:1b(){1f 1a.21t},1C:1b(a){1a.21t=a;1a.21u=!1}},7JZ:{1n:1b(){1f 1a.3pi},1C:1b(a){1a.3pi=a;1a.2nW=1p 0}},2p:{1n:1b(){1f 1a.10T},1C:1b(a){1a.10T=a}},14O:{1n:1b(){1f 1a.3T9},1C:1b(a){1a.3T9=a;1a.21u=!1}},7JY:{1n:1b(){1f 1a.3T6},1C:1b(a){1a.3T6=a}},7JX:{1n:1b(){1f 1a.3T5},1C:1b(a){1a.3T5=a}},7JW:{1n:1b(){1f 1a.1xi},1C:1b(a){1a.1xi=a;1a.21u=!1}},7JV:{1n:1b(){1f 1a.1MD},1C:1b(a){1a.1MD=a;1a.21u=!1}},2cc:{1n:1b(){1f 1a.3T7},1C:1b(a){1a.3T7=a}},7JU:{1n:1b(){1f 1a.2KR},1C:1b(a){1a.2KR=a}},1t4:{1n:1b(){1f 1a.3ph},1C:1b(a){1a.3ph=a}},25i:{1n:1b(){1f 1a.17h},1C:1b(a){if(g(a))if(1a.17h=bh.1y(a,1a.17h),a=1a.17h.7Z(),1>a)1a.2mW=0;1s{g(1a.1dk)||(1a.1dk=1g Ca({1O:1a.4j,1G:13j,1D:64,8b:ua.9m}));g(1a.17h)&&(1a.17h.2yj(),g(1a.1dk)&&1a.1dk.1iq({1G:13j,1D:64,1a9:1a.17h.1sv}));1d b=0,c=0,d=1a.17h.2eK(0);g(d)&&g(d.1eD)&&(b=7L(d.1eD));d=1a.17h.2eK(a-1);g(d)&&g(d.1eD)&&(c=7L(d.1eD));1a.1z7=1k.1V(b,c);1a.1oq=1k.2o(b,c);1a.2mW=1}1s g(1a.17h)&&(1a.17h.1M(),1a.17h=1F),1a.2mW=0}}});rf.1i.2H=1b(a){if(1a.10T&&g(1a.3Tb)){1a.177!==a.3w.8C&&(1a.177=a.3w.8C,1a.21u=!1);if(1a.21t&&g(1a.3pi)&&!g(1a.2nW)){1d b=1a;Z(gf(1a.3pi),1b(a){b.2nW=1g Ca({1O:b.4j,5j:a,10v:1g Eb({18i:Ka.1av,18h:Ka.1av})});b.21u=!1})}1a.3Ta||(1a.5BU(1a.4j,1a.3Tb),1a.3Ta=!0);1a.21u||(1a.5Ce(1a.4j,a),1a.21u=!0);g(1a.1dk)||(1a.1dk=1g Ca({1O:1a.4j,1G:1,1D:13j,8b:ua.9m}));1d c=(1g 16V).1o3(),d=c-1a.1vg;1a.1vg=c;1a.3T3=d;g(1a.1MC)&&a.13l.1q(1a.1MC)}};rf.1i.4xh=1b(a){1a.3Tb=a;1a.3Ta=!1};rf.1i.3PX=1b(a){1a.18x=a;1a.21u=!1};rf.1i.3PW=1b(a){1a.1fy=a;1a.21u=!1};1d 5Cc=/\\s+1nO\\(/,5Cd=/\\s+1Se\\(/,5Cb=/\\s*#6A\\s+5J\\s*:\\s*5F/;rf.1i.5Ce=1b(a,b){g(1a.1MC)&&1a.1MC.1M();if(1a.177!==O.6G){1d c=1g ja({5p:["1k7 6V 1o;\\1ur(17J=0) in 1w 3h;\\1ur(17J=1) in 1w 1Xw;\\1ur(17J=2) in 1v 1iN;\\1eq 1w 2tk;\\1eq 1w 2Uq;\\1eq 1v 2Up;\\1B 2v 1p7;\\1B 1o 1t4;\\1B 1o 1mM;\\1B 1m 1fS;\\1B 1v 1CQ;\\1B 1o 1Oy;\\2s 2k()\\n{\\2u 2up;\\1Id.x = (3h.x - 1fS.x) / (1fS.z - 1fS.x);\\1Id.y = (3h.y - 1fS.y) / (1fS.w - 1fS.y);\\1r 2ur = 3h.z / (1CQ.y - 1CQ.x);\\1r 1Yf = 1.0 / 1Oy;\\1r 2uq = 2t(2ur / 1Yf);\\1Id.x /= 1Oy;\\1Id.x += 1Yf * 2uq;\\1R 1c9 = 7y(1p7, 2up).1H;\\1U(1iN.x > 1iN.y)\\n{\\2tl = 1Xw;\\1HS.x = 0.0;\\1HS.y = 1iN.y;\\n}\\5L\\n{\\2tl.1H = 3h.1H + 1c9.1H * 1mM * 1t4;\\1HS.x += 1iN.x + 1mM;\\1HS.y = 1iN.y;\\n}\\3ES = 1Xw;\\n}\\n"]});1d d=1g ja({5p:["11e(17J=0) in 1w 3h;\\1ur(17J=3) in 1v 4M;\\1B 1o 1i7;\\1B 1o 1SP;\\1B 1o 2kh;\\1B 1o 2kg;\\1B 1m 2cc;\\1B 2v 1p7;\\1B 2v 25i;\\1B 1o 2ki;\\1B 1o 2kj;\\1B 1o 1SO;\\1B 1o 1t4;\\1B 1o 1mM;\\1B 1m 1fS;\\1B 1v 1CQ;\\1B 1o 1Oy;\\1eq 1m 2cd;\\1eq 1v 1w7;\\1r 1CN()\\n{\\1P 9I = 9q * 1m(3h, 1.0);\\1P 1o1 = 17B * 9I;\\1r 1CP = 1dv(9I);\\3GS.x = 1o1.x - 2.0 * 1CP;\\1P 1CO = 1k1 * 1o1;\\2j 1h(9I - 1CO);\\n}\\1P 1Fr(1w 1CM)\\n{\\1P 9I = 9q * 1m(3h, 1.0);\\n#1z 3gg\\1Cv.1H = 9I.1H + 1CM * 1CN() * 1SP;\\n#1s\\1Cv.1H = 9I.1H + 1CM * 1SP;\\n#1u\\1Cv.1H = 9I.1H * 0.9;\\2j 17B * 9I;\\n}\\2s 2k()\\n{\\2u 2up;\\1Id.x = (3h.x - 1fS.x) / (1fS.z - 1fS.x);\\1Id.y = (3h.y - 1fS.y) / (1fS.w - 1fS.y);\\1r 2ur = 3h.z / (1CQ.y - 1CQ.x);\\1r 1Yf = 1.0 / 1Oy;\\1r 2uq = 2t(2ur / 1Yf);\\1Id.x /= 1Oy;\\1Id.x += 1Yf * 2uq;\\1R 1c9 = 7y(1p7, 2up).1H;\\1r 1Ic = 1h(1c9);\\1r 19U = abs(2kj - 1SO);\\1r 1i5 = (1Ic - 1SO) / 19U;\\1r 1eP = 2Y(1i5, 0.0, 1.0);\\2cb = 3T(2cc, 7y(25i, 1v(0.0, 1eP)).15A, 2ki);\\1Xi= 4M;\\n#1z 3gf\\1U(1Ic > 2kh || 1Ic < 2kg)\\n{\\2cb.a = 0.0;\\n}\\n#1u\\1U(3h.x > 1fS.z || 3h.x < 1fS.x || 3h.y > 1fS.w || 3h.y < 1fS.y || 3h.z < 1CQ.x || 3h.z > 1CQ.y)\\n{\\2cb.a = 0.0;\\n}\\n#1z 2uo\\1R 3H6 = 3h.1H + 1c9.1H * 1mM * 1t4;\\1P 2un = 11o * 1m(3H6, 1.0);\\1P 2um = 11o * 1m(3h, 1.0);\\2u 2G = 1T(2un.xy - 2um.xy);\\1r 1yb = 2A(2G, 1v(1.0, 0.0));\\1r 2ul = 2A(2G, 1v(0.0, 1.0));\\1r 1Ye = 3Y(1.0- 1yb*1yb);\\1r 1Yd = 12q(2ul);\\1KZ 1Fs = 1bG(1yb, 1Ye * 1Yd, -1Ye * 1Yd, 1yb);\\2u 1aY = 1Fs * 4M.xy;\\11u = 1Fr(1w(1aY.xy, 0.0));\\n#1s\\2jz = 1i7;\\11u = 11o * 1m(3h, 1);\\n#1u\\n}\\n"]});1d e=["2tk","2Uq","2Up"]}1s c=1g ja({5p:["1k7 6V 1o;\\1ur(17J=0) in 1w 3h;\\1ur(17J=1) in 1w 1Xw;\\1ur(17J=2) in 1v 1Xy;\\1ur(17J=3) in 1v 1iN;\\1eq 1w 2tk;\\1eq 1w 2Uq;\\1eq 1v 4gu;\\1eq 1v 2Up;\\1B 2v 1p7;\\1B 1o 1t4;\\1B 1o 1mM;\\1B 1v 2jE;\\1r 3EW(1o y, 1o x)\\n{\\1r ax = abs(x);\\1r ay = abs(y);\\1r a = 2o(ax, ay) / (1V(ax, ay) + 1e-18);\\1r r = ((-0.5bk * a * a + 0.5bj) * a * a - 0.5bi) * a * a * a + a;\\1U(ay > ax){\\nr = 1.5bh - r;\\n}\\1U(x < 0.0){\\nr = 3.5bg - r;\\n}\\1U(y < 0.0){\\nr = -r;\\n}\\2j r;\\n}\\1R 3ER(1w 3h)\\n{\\1r 2to = 3Y(3h.x * 3h.x + 3h.y * 3h.y + 3h.z * 3h.z);\\1U (2to < 0.1Ai)\\n{\\2j 1w(0.0);\\n}\\1r 3N = 3EW(3h.y, 3h.x);\\1r 4k = 17M(3h.z / 2to);\\2j 1w(3N,4k,2to);\\n}\\2u 3EV(XR 1v uv)\\n{\\2u px = 1.0 / 2jE;\\2u vc = (2t(uv * 2jE)) * px;\\2u f = 8N(uv * 2jE);\\2u tl = 7y(1p7, vc).rg;\\2u tr = 7y(1p7, vc + 1v(px.x, 0)).rg;\\2u bl = 7y(1p7, vc + 1v(0, px.y)).rg;\\2u br = 7y(1p7, vc + px).rg;\\2j 3T(3T(tl, tr, f.x), 3T(bl, br, f.x), f.y);\\n}\\2s 2k()\\n{\\2u 2tm;\\2tn.x = (1Xy.x + 1eN) / 1w4;\\2tn.y = (1Xy.y + 1Sj) / 1eN;\\2u 1c9 = 3EV(2tm);\\1R 1wf = 1T(3h);\\1R 1HT = 4B(1w(0.0, 0.0, 1.0), 1wf);\\3EU = 1T(1HT);\\1R 1Xx = 4B(1wf, 1HT);\\3ET = 1T(1Xx);\\1U(1iN.x > 1iN.y)\\n{\\2tl = 1Xw;\\1HS.x = 0.0;\\1HS.y = 1iN.y;\\n}\\5L\\n{\\2tl = 3h + 1Xx * 1c9.y * 1mM * 1t4 + 1HT * 1c9.x * 1mM * 1t4;\\1HS.x += 1iN.x + 1mM;\\1HS.y = 1iN.y;\\n}\\3ES = 1Xw;\\5bf = 3ER(2tk).xy;\\n}\\n"]}),d=1g ja({5p:["11e(17J=0) in 1w 3h;\\1ur(17J=2) in 1v 1Xy;\\1ur(17J=3) in 1v 1iN;\\1ur(17J=4) in 1v 4M;\\1B 1o 1i7;\\1B 1o 1SP;\\1B 1o 2kh;\\1B 1o 2kg;\\1B 1m 2cc;\\1B 2v 1p7;\\1B 2v 25i;\\1B 1o 2ki;\\1B 1o 2kj;\\1B 1o 1SO;\\1B 1o 1t4;\\1B 1o 1mM;\\1eq 1m 2cd;\\1eq 1v 1w7;\\1r 1CN()\\n{\\1P 9I = 9q * 1m(3h, 1.0);\\1P 1o1 = 17B * 9I;\\1r 1CP = 1dv(9I);\\3GS.x = 1o1.x - 2.0 * 1CP;\\1P 1CO = 1k1 * 1o1;\\2j 1h(9I - 1CO);\\n}\\1P 1Fr(1w 1CM)\\n{\\1P 9I = 9q * 1m(3h, 1.0);\\n#1z 3gg\\1Cv.1H = 9I.1H + 1CM * 1CN() * 1SP;\\n#1s\\1Cv.1H = 9I.1H + 1CM * 1SP;\\n#1u\\1Cv.1H = 9I.1H * 0.9;\\2j 17B * 9I;\\n}\\2s 2k()\\n{\\2u 2tm;\\2tn.x = (1Xy.x + 1eN) / 1w4;\\2tn.y = (1Xy.y + 1Sj) / 1eN;\\2u 1c9 = 7y(1p7, 2tm).xy;\\1r 1Ic = 1h(1c9);\\1r 19U = abs(2kj - 1SO);\\1r 1i5 = (1Ic - 1SO) / 19U;\\1r 1eP = 2Y(1i5, 0.0, 1.0);\\2cb = 3T(2cc, 7y(25i, 1v(0.0, 1eP)).15A, 2ki);\\1Xi= 4M;\\1R 1wf = 1T(3h);\\1R 1HT = 4B(1w(0.0, 0.0, 1.0), 1wf);\\3EU = 1T(1HT);\\1R 1Xx = 4B(1wf, 1HT);\\3ET = 1T(1Xx);\\n#1z 3gf\\1U(1Ic > 2kh || 1Ic < 2kg){\\2cb.a = 0.0;\\n}\\n#1u\\n#1z 2uo\\1R 3GR = 3h + 1Xx * 1c9.y * 1mM * 1t4 + 1HT * 1c9.x * 1mM * 1t4;\\1P 2un = 11o * 1m(3GR, 1.0);\\1P 2um = 11o * 1m(3h, 1.0);\\2u 2G = 1T(2un.xy - 2um.xy);\\1r 1yb = 2A(2G, 1v(1.0, 0.0));\\1r 2ul = 2A(2G, 1v(0.0, 1.0));\\1r 1Ye = 3Y(1.0- 1yb*1yb);\\1r 1Yd = 12q(2ul);\\1KZ 1Fs = 1bG(1yb, 1Ye * 1Yd, -1Ye * 1Yd, 1yb);\\2u 1aY = 1Fs * 4M.xy;\\11u = 1Fr(1w(1aY.xy, 0.0));\\n#1s\\2jz = 1i7;\\11u = 11o * 1m(3h, 1);\\n#1u\\n}\\n"]}),e=["2tk","2Uq","4gu","2Up"];1d f=1g ja({5p:["1k7 10f 1o;\\3GU 1m 2cd;\\3GU 1v 1w7;\\1eq 1m 3F1;\\1B 2v 3gh;\\2s 2k()\\n{\\3GT = 2cd;\\n#1z 2uo\\3GT = 7y(3gh, 1w7) * 2cd;\\n#1u\\n}\\n"]});1a.21t&&(d.2N.1q("2uo"),f.2N.1q("2uo"));1a.3T9&&d.2N.1q("3gf");1a.1ME&&d.2N.1q("3gg");1a.21s=Ga.4t({1O:a,5O:d,5A:f});if(b.1bz){b=1a.21s;d=a.1hf.1Jv(b,"1Gm");if(!g(d)){d=b.12m;f=b.5O.1y();1d h=b.5A.1y();f.2N=g(f.2N)?f.2N.4h(0):[];f.2N.1q("10B");h.2N=g(h.2N)?h.2N.4h(0):[];h.2N.1q("10B");1d l,k=!1,n=f.5p,m=n.1h;1j(l=0;l<m;++l)if(5Cd.6S(n[l])){k=!0;1W}if(!k){1j(l=0;l<m;++l)n[l]=ja.1gF(n[l],"2zr");n.1q("\\n\\2s 2k() \\n{ \\n    2zr(); \\n    1Se(); \\n} \\n")}k=!1;n=h.5p;m=n.1h;1j(l=0;l<m;++l)5Cc.6S(n[l])&&(k=!0),5Cb.6S(n[l]);1d q="";if(!k){1j(l=0;l<m;l++)n[l]=ja.1gF(n[l],"2zr");q+="\\2s 2k() \\n{ \\n    2zr(); \\n    1nO(); \\n} \\n"}n.1q(q);d=a.1hf.1Gx(b,"1Gm",{5O:f,5A:h,7W:d})}1a.21s=d}1a.2fF=Ga.4t({1O:a,5O:c,5A:"1k7 6V 1o;\\1eq 1m 3F1;\\2s 2k() {}\\n",34c:e,34b:H.5Ca});a=1a.21t?1a.177!==O.6G?1a.5BY():1a.5BZ():1a.177!==O.6G?1a.5C0():1a.5C1();c=1a.5BW();e=1a.5BV();b=pa.4t({9J:{3e:!0},13Q:!1,12e:Dc.1bQ});d=1a.5BX();1a.1MC=1g Wi({4xs:d,4N:1a.3T8,4xr:1a.21t,2w:a,5C9:1a.21t?H.11G:H.1wF,4w:b,5C8:1a.2fF,5C7:1a.21s,5C6:e,5C4:c,4a:1a.177===O.6G?A.8K:5C3,7JT:1a.4xo});1a.1MC.4xq.7K(1a.5BS,1a)};rf.1i.5C1=1b(){1d a=B.10Q(1a.18x.1G);1d b=B.10Q(1a.18x.1D);1d c=1a.1fy.y-1a.1fy.x;1d d=B.10Q(1a.18x.4o);1d e=B.10Q(1a.18x.4C);1d f=1a.1fy.x;1d h=1k.8a(1a.1xi*a);1d g=1k.8a(1a.1xi*b);1d p=1k.8a(1a.1xi*c);1d n=h*g*p,m=1g 4A(3*n),q=1g 4A(3*n),r=1g 4A(2*n);n=1g 4A(2*n);1j(1d u=0,t=0;t<g;t++)1j(1d v=0;v<h;v++)1j(1d y=0;y<p;y++,u++){1d A=d+a/(h-1)*v,C=e+b/(g-1)*t,E=1g k.8g(A,C,f+c/p*y);m[3*u]=E.x;m[3*u+1]=E.y;m[3*u+2]=E.z;q[3*u]=E.x;q[3*u+1]=E.y;q[3*u+2]=E.z;r[2*u]=B.8I(A);r[2*u+1]=B.8I(C);A=(1a.1MD[1]-1a.1MD[0])*1k.1ps()+1a.1MD[0];n[2*u]=0;n[2*u+1]=A}a=[];a.1q({2P:0,2Z:3,2g:m});a.1q({2P:1,2Z:3,2g:q});a.1q({2P:2,2Z:2,2g:r});a.1q({2P:3,2Z:2,2g:n});1f a};rf.1i.5C0=1b(){1d a=1a.18x.1G;1d b=1a.18x.1D;1d c=1a.1fy.y-1a.1fy.x;1d d=1a.18x.4o;1d e=1a.18x.4C;1d f=1a.1fy.x;1d h=1k.8a(1a.1xi*a);1d g=1k.8a(1a.1xi*b);1d k=1k.8a(1a.1xi*c);1d n=h*g*k,m=1g 4A(3*n),q=1g 4A(3*n);n=1g 4A(2*n);1j(1d r=0,u=0;u<g;u++)1j(1d t=0;t<h;t++)1j(1d v=0;v<k;v++,r++){1d y=d+a/(h-1)*t,A=e+b/(g-1)*u,B=f+c/k*v;m[3*r]=y;m[3*r+1]=A;m[3*r+2]=B;q[3*r]=y;q[3*r+1]=A;q[3*r+2]=B;y=(1a.1MD[1]-1a.1MD[0])*1k.1ps()+1a.1MD[0];n[2*r]=0;n[2*r+1]=y}a=[];a.1q({2P:0,2Z:3,2g:m});a.1q({2P:1,2Z:3,2g:q});a.1q({2P:2,2Z:2,2g:n});1f a};rf.1i.5BZ=1b(){1d a=B.10Q(1a.18x.1G),b=B.10Q(1a.18x.1D),c=1a.1fy.y-1a.1fy.x,d=B.10Q(1a.18x.4o),e=B.10Q(1a.18x.4C),f=1a.1fy.x,h=1k.8a(1a.1xi*b),g=1k.8a(1a.1xi*a),p=1k.8a(1a.1xi*c),n=h*g*p*4,m=1g 12X(n/4*6),q=1g 4A(2*n),r=1g 4A(3*n),u=1g 4A(3*n),t=1g 4A(2*n);n=1g 4A(2*n);1j(1d v=0,y=0;y<h;y++)1j(1d A=0;A<g;A++)1j(1d C=0;C<p;C++,v++){1j(1d E=d+a/(g-1)*A,F=e+b/(h-1)*y,H=1g k.8g(E,F,f+c/p*C),K=0;12>K;K+=3)r[12*v+K]=H.x,r[12*v+K+1]=H.y,r[12*v+ +K+2]=H.z;1j(K=0;12>K;K+=3)u[12*v+K]=H.x,u[12*v+K+1]=H.y,u[12*v+ +K+2]=H.z;1j(K=0;8>K;K+=2)t[8*v+K]=B.8I(E),t[8*v+K+1]=B.8I(F);E=(1a.1MD[1]-1a.1MD[0])*1k.1ps()+1a.1MD[0];n[8*v]=0;n[8*v+1]=E;n[8*v+2]=0;n[8*v+3]=E;n[8*v+4]=0;n[8*v+5]=E;n[8*v+6]=0;n[8*v+7]=E}1j(A=0;A<m.1h;A++)m[6*A]=4*A,m[6*A+1]=4*A+1,m[6*A+2]=4*A+2,m[6*A+3]=4*A,m[6*A+4]=4*A+2,m[6*A+5]=4*A+3;1a.3T8=m;1j(C=v=0;C<q.1h;C+=8,v++)q[8*v]=0,q[8*v+1]=0,q[8*v+2]=0,q[8*v+3]=1,q[8*v+4]=1,q[8*v+5]=1,q[8*v+6]=1,q[8*v+7]=0;a=[];a.1q({2P:0,2Z:3,2g:r});a.1q({2P:1,2Z:3,2g:u});a.1q({2P:2,2Z:2,2g:t});a.1q({2P:3,2Z:2,2g:n});a.1q({2P:4,2Z:2,2g:q});1f a};rf.1i.5BY=1b(){1d a=1a.18x.1G,b=1a.18x.1D,c=1a.1fy.y-1a.1fy.x,d=1a.18x.4o,e=1a.18x.4C,f=1a.1fy.x,h=1k.8a(1a.1xi*a),g=1k.8a(1a.1xi*b),k=1k.8a(1a.1xi*c),n=g*h*k*4,m=1g 12X(n/4*6),q=1g 4A(2*n),r=1g 4A(3*n),u=1g 4A(3*n);n=1g 4A(2*n);1j(1d t=0,v=0;v<g;v++)1j(1d y=0;y<h;y++)1j(1d A=0;A<k;A++,t++){1j(1d B=d+a/(h-1)*y,C=e+b/(g-1)*v,E=f+c/k*A,F=0;12>F;F+=3)r[12*t+F]=B,r[12*t+F+1]=C,r[12*t+ +F+2]=E;1j(F=0;12>F;F+=3)u[12*t+F]=B,u[12*t+F+1]=C,u[12*t+ +F+2]=E;B=(1a.1MD[1]-1a.1MD[0])*1k.1ps()+1a.1MD[0];n[8*t]=0;n[8*t+1]=B;n[8*t+2]=0;n[8*t+3]=B;n[8*t+4]=0;n[8*t+5]=B;n[8*t+6]=0;n[8*t+7]=B}1j(y=0;y<m.1h;y++)m[6*y]=4*y,m[6*y+1]=4*y+1,m[6*y+2]=4*y+2,m[6*y+3]=4*y,m[6*y+4]=4*y+2,m[6*y+5]=4*y+3;1a.3T8=m;1j(A=t=0;A<q.1h;A+=8,t++)q[8*t]=0,q[8*t+1]=0,q[8*t+2]=0,q[8*t+3]=1,q[8*t+4]=1,q[8*t+5]=1,q[8*t+6]=1,q[8*t+7]=0;a=[];a.1q({2P:0,2Z:3,2g:r});a.1q({2P:1,2Z:3,2g:u});a.1q({2P:2,2Z:2,2g:n});a.1q({2P:3,2Z:2,2g:q});1f a};rf.1i.5BX=1b(){if(1a.177!==O.6G){1d a=1a.18x.1G,b=1a.18x.1D,c=1a.1fy.y-1a.1fy.x;a=1k.8a(1a.1xi*a);b=1k.8a(1a.1xi*b);c=1k.8a(1a.1xi*c)}1s a=B.10Q(1a.18x.1G),b=B.10Q(1a.18x.1D),c=1a.1fy.y-1a.1fy.x,a=1k.8a(1a.1xi*a),b=1k.8a(1a.1xi*b),c=1k.8a(1a.1xi*c);1f a*b*c};1d kp=1g E;rf.1i.5BW=1b(){1d a=1a;1f{1p7:1b(){1f a.2nX},1t4:1b(){1f a.3ph},2jE:1b(){1f a.3T2},1mM:1b(){1f a.3T3},1fS:1b(){kp.x=a.18x.4o;kp.y=a.18x.4C;kp.z=a.18x.5a;kp.w=a.18x.4P;1f kp},1CQ:1b(){1f a.1fy},1Oy:1b(){1f a.4xp}}};rf.1i.5BV=1b(){1d a=1a;1f{2cc:1b(){1f a.3T7},1i7:1b(){1f a.2KR},2kh:1b(){1f a.3T6},2kg:1b(){1f a.3T5},3gh:1b(){1f g(a.2nW)?a.2nW:1g Ca({1O:a.4j,1G:1,1D:1})},1SP:1b(){1f a.3T4},1p7:1b(){1f a.2nX},25i:1b(){1f a.1dk},1SO:1b(){1f a.1oq},2kj:1b(){1f a.1z7},2ki:1b(){1f a.2mW},1t4:1b(){1f a.3ph},1mM:1b(){1f a.3T3},1fS:1b(){kp.x=a.18x.4o;kp.y=a.18x.4C;kp.z=a.18x.5a;kp.w=a.18x.4P;1f kp},1CQ:1b(){1f a.1fy},1Oy:1b(){1f a.4xp}}};rf.1i.5BU=1b(a,b){g(1a.2nX)&&1a.2nX.1M();1d c=0,d=0;if(b 2m 2K){1d e=1a.5BT(b);c=e.1G;d=e.1D;if(!e)1f!1}1a.3T2.x=c;1a.3T2.y=d;1a.2nX=1g Ca({1O:a,1G:c,1D:d,8b:ua.1fB,10E:Ha.3O});1a.2nX.1iq({1G:c,1D:d,1a9:e.3nZ})};rf.1i.5BT=1b(a){1d b=a.1h;if(!(a[0]2m 2K))1f 1F;1d c=a[0].1h;if(!(a[0][0]2m 2K))1f 1F;1d d,e,f,h;if(a[0][0][0]2m 2K){1d g=a[0][0].1h;1a.4xp=g;1d k=1g 4A(b*c*g*3);1j(d=h=0;d<c;d++)1j(e=0;e<g;e++)1j(f=0;f<b;f++){1d n=a[f][d][e];1d m=1F==n.x?n[0]:n.x,q=1F==n.y?n[1]:n.y;n=1F==n.z?n[2]:n.z;k[h++]=m;k[h++]=q;k[h++]=n}a={1D:c,1G:g*b,3nZ:k}}1s{k=1g 4A(b*c*3);1j(e=h=0;e<b;e++)1j(d=0;d<c;d++)n=a[e][d],f=1F==n.x?n[0]:n.x,n=1F==n.y?n[1]:n.y,k[h++]=f,k[h++]=n,k[h++]=0;a={1D:b,1G:c,3nZ:k}}1f a};rf.1i.4xl=1b(a,b){if(1a.3pg&&(!g(1a.1GG)||1a.1GG.1G!==a.8j||1a.1GG.1D!==a.7p)){!g(1a.1GG)||1a.1GG.1G===a.8j&&1a.1GG.1D===a.7p||1a.3T0();1d c=Ha.7U;1a.3T1&&(c=Ha.3O);1a.2LD=1g Ca({1O:a,1G:a.8j,1D:a.7p,10E:c,8b:ua.9m});1a.1GG=1g Ca({1O:a,1G:a.8j,1D:a.7p,10E:c,8b:ua.9m});1a.2LC=1g Ca({1O:a,1G:a.8j,1D:a.7p,10E:c,8b:ua.9m});b=m(1a.1MC.13p,b.4Q);1a.2zq=1g eb({1O:a,13I:[1a.2LD],1ku:b.19K,16Y:!1});1a.2LB=1g eb({1O:a,13I:[1a.1GG],16Y:!1});1a.2LA=1g eb({1O:a,13I:[1a.2LC],16Y:!1});1a.13Z=1g Ec({1A:1g y(0,0,0,0),4w:pa.4t()});1d d=1a.1GG;1a.3pf=a.1aL("2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n",{4J:{6T:1b(){1f d}},4Q:1a.2LA});1d e=1a.2LC,f=1a.2LD,h=1a.4xo;1a.1vd=a.1aL("2n 2v 3ge;\\1B 2v 1L1;\\1B 1o 1rP;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1A = 1Y(1L1, 2F);\\1P 3GQ = 1Y(3ge, 2F);\\1P 1bk = 1A*1A.a + 3GQ * (1.0 - 1A.a);\\3R = 1m(2t(255.0 * 1bk * 1rP) / 255.0);\\n}\\n",{4J:{3ge:1b(){1f e},1L1:1b(){1f f},1rP:1b(){1f h}},4Q:1a.2LB})}};rf.1i.3T0=1b(){g(1a.2LD)&&(1a.2LD.1M(),1a.2LD=1p 0);g(1a.1GG)&&(1a.1GG.1M(),1a.1GG=1p 0);g(1a.2LC)&&(1a.2LC.1M(),1a.2LC=1p 0);g(1a.2zq)&&(1a.2zq.1M(),1a.2zq=1p 0);g(1a.2LB)&&(1a.2LB.1M(),1a.2LB=1p 0);g(1a.2LA)&&(1a.2LA.1M(),1a.2LA=1p 0);1a.3pf=1a.1vd=1a.13Z=1p 0};rf.1i.5BS=1b(a,b){1a.3pg&&(1a.4xl(a,b),g(1a.3pf)&&1a.3pf.5P(a,b),g(1a.1vd)&&1a.1vd.5P(a,b),1a.13Z.4Q=1a.2zq,1a.13Z.5P(a,b),1a.1MC.5BR(a,1a.2zq,1a.1MC,b),1a.1MC.4xn(a,b))};rf.1i.4xm=1b(a,b,c,d){g(b)&&1a.3T1!==b?(1a.3T1=b,1a.3T0(),1a.4xl(b,c,d)):a.3pe&&1a.4xg(c,d)};rf.1i.4xg=1b(a,b){1a.13Z.4Q=1a.2LB;1a.13Z.5P(a,b);1a.13Z.4Q=1a.2zq;1a.13Z.5P(a,b);1a.13Z.4Q=1a.2LA;1a.13Z.5P(a,b)};rf.1i.3Z=1b(){1f!1};rf.1i.1M=1b(){g(1a.2nX)&&(1a.2nX.1M(),1a.2nX=1p 0);g(1a.17h)&&(1a.17h.1M(),1a.17h=1F);g(1a.1dk)&&(1a.1dk.1M(),1a.1dk=1F);g(1a.1MC)&&(1a.1MC.1M(),1a.1MC=1p 0);g(1a.2nW)&&(1a.2nW.1M(),1a.2nW=1p 0);1a.3T0();1f la(1a)};1L.2X(nz.1i,{13z:{1n:1b(){1f 1a.1br},1C:1b(a){1a.1br=a}},1I:{1n:1b(){1f 1a.1b4}},7JS:{1n:1b(){1f 1a.3SZ},1C:1b(a){1a.3SZ=a;g(1a.1z6)&&1a.1z6.4xh(a)}},7JR:{1n:1b(){1f 1a.3SX},1C:1b(a){if(!g(a.3N)||!g(a.4k))1t 1g r("9R are 1X.");if(!g(a.4xk)||!g(a.4xj))1t 1g r("4xk or 4xj is 1X.");a.4xi=m(a.4xi,0);if(g(1a.2JP)){1d b=1a.2JP,c=b.3SY(a.3N),d=b.3SY(a.4k),e=b.3SY(a.4xk);b=b.3SY(a.4xj);1j(1d f=0,h=[],l=0;l<d.1h;l++){h[l]=[];1j(1d k=0;k<c.1h;k++,f++){1d n=d.1h*c.1h*a.4xi;h[l][k]=[e[f+n],b[f+n]]}}1a.3SX=h;g(1a.1z6)&&1a.1z6.4xh(h)}}},4qs:{1n:1b(){1f 1a.3SW},1C:1b(a){1a.3SW=a}},1TW:{1n:1b(){1f 1a.1DQ},1C:1b(a){1a.1DQ=a;g(1a.1z6)&&1a.1z6.3PX(a)}},5uv:{1n:1b(){1f 1a.1fy},1C:1b(a){1a.1fy=a;g(1a.1z6)&&1a.1z6.3PW(a)}},7JQ:{1n:1b(){1f 1a.1z6}}});nz.1i.2H=1b(a){1a.1br?g(1a.1z6)&&1a.1z6.2H(a):g(1a.1z6)&&g(1a.1z6.1MC)&&1a.1z6.4xg(1a.4j,a)};nz.1i.3Z=1b(){1f!1};nz.1i.1M=1b(){g(1a.1z6)&&(1a.1z6.1M(),1a.1z6=1p 0);1f la(1a)};1L.2X(aw.1i,{7JP:{1n:1b(){1f 1a.3pd},1C:1b(a){1a.3pd=a;1a.2Lz=!0}},5BQ:{1n:1b(){1f 1a.2fE},1C:1b(a){1a.2fE=a;1a.2Lz=!0}}});aw.1i.1M=1b(){4xf(1a);4xd(1a);1f la(1a)};aw.1i.1x4=1b(){""===1a.6X&&(1a.6X="5BP"+1a.2R.1ck.1nr,1a.1Bl=1a.6X+"2R",1a.1JG=1a.6X+"1B5",1a.2R.1ck.add(1a))};aw.1i.4xe=1b(a){if(!g(a)||!g(a.1K))1t 1g r("1Z 3v is 1X");1a.1E0=a.1K;1a.15p.1h=0;a=1a.1E0.1h/2;1j(1d b=0;b<a;b++){1d c=1g k(1a.1E0[2*b],1a.1E0[2*b+1],0);1a.15p.1q(c)}1a.9s=!1;1a.2Lz=!0};aw.1i.7JO=1b(a){1a.4xc=a};aw.1i.2H=1b(a,b,c){1a.5Y=b;if(!1a.9s){if(0!==1a.15p.1h){1j(1d d=b=3a.6w,e=-3a.6w,f=-3a.6w,h=0;h<1a.15p.1h;h++)b=1k.2o(1a.15p[h].x,b),d=1k.2o(1a.15p[h].y,d),e=1k.1V(1a.15p[h].x,e),f=1k.1V(1a.15p[h].y,f);1a.1xh.1h=0;1a.1xh.1q(b);1a.1xh.1q(d);1a.1xh.1q(e);1a.1xh.1q(f)}b=k.8g(.5*(1a.1xh[2]+1a.1xh[0]),.5*(1a.1xh[3]+1a.1xh[1]),0);d=1g $b(0,0,0);Da.1nq(b,d,ba.9y,Da.18N,1a.1pD);4xd(1a);1a.1vq=1g Ca({1O:a,1G:13j,1D:13j,8b:ua.1UO,10E:Ha.3O,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U}),13E:!1});if(0!=1a.15p.1h){e=1a.15p.1h;b=I.9g(I.3O,3*e);d=I.9g(I.3O,2*e);1d l=1g A;A.12Z(1a.1pD,l);1d p=[];1j(f=0;f<1a.1E0.1h/2;f++)p[3*f]=1a.1E0[2*f],p[3*f+1]=1a.1E0[2*f+1],p[3*f+2]=0;f=1g tc({1ga:{3q:k.1iy(p)}});h=tc.14t(f);oe.21c(h,p,l);1a.5V=h.7u;1j(f=0;f<h.2w.1K.2a.1h/3;f++)b[3*f]=h.2w.1K.2a[3*f],b[3*f+1]=h.2w.1K.2a[3*f+1],b[3*f+2]=h.2w.1K.2a[3*f+2],d[2*f]=h.2w.st.2a[2*f],d[2*f+1]=h.2w.st.2a[2*f+1];l=Ta.10P;1a6>e?e=I.9g(I.10P,h.4N.1h):(e=I.9g(I.1bt,h.4N.1h),l=Ta.1bt);1j(f=0;f<h.4N.1h;f++)e[f]=h.4N[f];5BO(1a,a,b,d,e,l)}5BN(1a,1a.4xc,1a.1xh);1a.9s=!0}if(1a.2Lz&&1p 0!=1a.34a&&1p 0!=1a.1MB){if(1p 0!=1a.34a&&1p 0!=1a.1MB){a=[];1j(d=0;13j>d;d++){b=[];1j(e=0;13j>e;e++)b.1q(!1);a.1q(b)}b=1g 4A(1yL);1j(d=0;13j>d;d++)1j(e=0;13j>e;e++)b[d+13j*e]=0;d=(1a.1xh[2]-1a.1xh[0])/13j;e=(1a.1xh[3]-1a.1xh[1])/13j;f=1k.2t((1a.3pd.x-1a.1xh[0])/d);h=1k.2t((1a.1xh[3]-1a.3pd.y)/e);if(!(0>f||13j<=f||0>h||13j<=h)){a[f][1yG-h]=!0;b[f+13j*(1yG-h)]=2;if(!(13j<=f||13j<=h||0>f||0>h))1j(l=!0,p=1;l;){l=!1;1j(1d n=f-p;n<=f+p;n+=p)if(!(13j<=n||0>n))1j(1d m=h-p;m<=h+p;m++){1d q=1yG-m;if(!(13j<=m||0>m||a[n][q])){a[n][q]=!0;1d r=1a.1xh[0]+d*n,u=1a.1xh[3]-e*m;r=4xb(1a,r,u);-1I6!=r?r<=1a.2fE&&4xa(n,m,13j,13j,b)?(b[n+13j*q]=1,l=!0):b[n+13j*q]=0:b[n+13j*q]=0}}1j(m=h-p;m<=h+p;m+=p)if(!(13j<=m||0>m))1j(q=1yG-m,n=f-p+1;n<f+p;n++)13j<=n||0>n||a[n][q]||(a[n][q]=!0,r=1a.1xh[0]+d*n,u=1a.1xh[3]-e*m,r=4xb(1a,r,u),-1I6!=r?r<=1a.2fE&&4xa(n,m,13j,13j,b)?(b[n+13j*q]=1,l=!0):b[n+13j*q]=0:b[n+13j*q]=0);p++}1a.1vq.1iq({1G:13j,1D:13j,1a9:b})}}1a.2Lz=!1}g(1a.1JF)&&1p 0!=1a.34a&&1p 0!=1a.1MB&&c.1q(1a.1JF)};1j(1d LJ=[359.393,800.749,7JN.7JM,7JL.4gK,7JK.7JJ,7JI.7JH,7JG.7JF,7JE.307,7JD.765,7JC.7JB,7JA.7Jz,7Jy.7Jx,7Jw.7Jv,7Ju.4x9,7Jt.7Js,7Jr.7Jq,7Jp.7Jo,7Jn.5BM,7Jm.7Jl,7Jk.7Jj],Mn=[2E-5,2E-4,1E-4,7E-5,5E-5,4E-5,3E-5,1.9E-5,1E-5,8.5E-6,6.2E-6,5.8E-6,5.3E-6,5.2E-6,5.1E-6,4.2E-6,4E-6,3.4E-6,2.6E-6,2.2E-6],mN=0;mN<Mn.1h;++mN)Mn[mN]*=1E6;1j(1d 4x8=Mn[1],UY=Mn[Mn.1h-1],nN=0;nN<Mn.1h;++nN)Mn[nN]=(Mn[nN]-UY)/(4x8-UY);1d aj=0,5BK=1g k;zT.1i.2H=1b(a){if(a.1ep.3e=1a.3e){1d b=a.3w,c=b.19I;if(!g(c)||8E5<c.1D||a.3z!==O.6G)a.1ep.3e=!1;1s{1d d=c.1D;c=5BL(d);d=B.2Y((d-LJ[c])/(LJ[c+1]-LJ[c]),0,1);c=B.11x(Mn[c],Mn[c+1],d);d=1E6*1a.1DZ;c=c*(d-d/4x8*UY)*1E-6;d=k.1T(b.6K,5BK);b=1k.abs(k.2A(b.18k,d));a.1ep.1DZ=c*(1-b);a.1ep.3pc=1a.5BJ;a.1ep.3pb=1a.3pb}}};bj.349={348:5,3pa:2,3p9:5,3p8:4,3p7:8};bj.5BI=1b(a){if(!g(a))1t 1g r("4r is 1X.");if(!g(a.3p6)||a.3p6.3Z())a.3p6=1g bj({4r:a});1f a.3p6};1L.2X(bj.1i,{4r:{1n:1b(){1f 1a.2R}},4x7:{1n:1b(){1f 1a.5BH}},4x6:{1n:1b(){1f 1a.5BG}},7Ji:{1n:1b(){1f 1a.347}}});bj.1i.1TN=1b(){++1a.2Ly;1===1a.2Ly&&(1a.27R.1h=0,1a.347=1p 0)};bj.1i.5BF=1b(){--1a.2Ly;0>=1a.2Ly&&(1a.2Ly=0,1a.343=!0)};bj.1i.3Z=1b(){1f!1};bj.1i.1M=1b(){1a.5BE();g(1a.3SV)&&1a.3SV();1f la(1a)};MJ.1i.3oO=1b(a){1d b=a.18Y,c=a.33N,d=a.3oL,e=a.4vL,f=a.4vK,h=a.4vJ,l=a.4vI,k=a.4vH,n=a.4vG,m=a.4vF,q=a.4vE,r=a.5AZ,u=a.4vD,t=a.4vC,v=a.2nC,y=a.2z4,A=a.2z3,B=a.2nB,C=a.4vB,E=a.1lp,F=a.4vA,K=a.4vz,H=a.4vy,L=a.1cj,I=a.2Lr,J=a.4vx,R=a.1SS,V=a.5AX,W=a.5AW,da=a.5AV,ea=a.2zl,M=a.5AU,N=a.5AT,P=a.5AS,O=a.5AR,Ob=a.5AY,T=a.3oP,uc=a.3oK,sc=a.3oJ,cd=a.5AQ,mc=0,Xb="";a=c.1PX.19F;a.1nv===gk.2nV&&(mc=1,Xb="2Gr");1d Q=0,Z="";g(c.1ix)&&c.1ix.2Lx&&(Q=1,Z="7Jh");1d X=0,ba="";I&&(X=1,ba="3gL");1d Y=0,ha="";J&&(Y=1,ha="4hl");I=b.3z;mc=(I|e<<2|f<<3|h<<4|l<<5|k<<6|n<<7|u<<8|t<<9|v<<10|B<<11|C<<12|E<<13|F<<14|K<<15|mc<<16|m<<17|H<<18|Q<<19|X<<20|Y<<21|R<<22|V<<23|W<<24|da<<25|ea<<26|M<<27|N<<28|O<<29|Ob<<30)+"10D"+(Ob|P<<1|q<<2|r<<3|cd<<4);Q=0;g(L)&&0<L.1h&&(Q=H?L.3m0:0);Y=c.4x0;if(g(Y)&&Y.3oL===d&&Y.1qM===mc&&Y.2q===1a.2q&&Y.4x5===Q&&4x4(Y.3oP,T)&&Y.3oK===uc&&Y.3oJ===sc)1f Y.2z;X=1a.3SU[d+uc];g(X)||(X=1a.3SU[d+uc]={});Y=X[mc];if(!g(Y)||Y.2q!==1a.2q||Y.4x5!==Q||!4x4(Y.3oP,T)||sc){Y=1a.4x3.1y();1d ca=1a.4x2.1y();0!==Q&&ca.5p.1po(MH(L,b.1O));Y.2N.1q(Xb,Z);ca.2N.1q("1bL "+d,ba,ha);ca.2N.1q("25q "+uc,ba,ha);e&&ca.2N.1q("3gW");f&&ca.2N.1q("3gV");h&&ca.2N.1q("3gU");l&&ca.2N.1q("3gT");k&&ca.2N.1q("2GJ");n&&ca.2N.1q("4hm");u&&(ca.2N.1q("1OD"),Y.2N.1q("1OD"));t&&ca.2N.1q("2Gu");cd&&ca.2N.1q("2jh");v&&(Y.2N.1q("3I0"),ca.2N.1q("3I0"),E?(Y.2N.1q("1wn"),ca.2N.1q("1wn")):(Y.2N.1q("1At"),ca.2N.1q("1At")));y&&(ca.2N.1q("2Gz"),A&&ca.2N.1q("4hf"));N&&(ca.2N.1q("2cm"),Y.2N.1q("2cm"));B&&(Y.2N.1q("1yd"),ca.2N.1q("1yd"),C&&ca.2N.1q("4hc"));Y.2N.1q("2cn");ca.2N.1q("2cn");K&&(Y.2N.1q("1OC"),ca.2N.1q("1OC"));m&&ca.2N.1q("1bn");q&&ca.2N.1q("1bm");Ob&&ca.2N.1q("3gR");r&&ca.2N.1q("3gQ");H&&ca.2N.1q("2GD");R&&ca.2N.1q("1Oj");V&&ca.2N.1q("3gP");W&&ca.2N.1q("3gN");da&&ca.2N.1q("3gM");ea&&(Y.2N.1q("3HP"),ca.2N.1q("3HP"));M&&Y.2N.1q("7Jg");P&&ca.2N.1q("2GA");O&&N&&(ca.2N.1q("1Yi"),Y.2N.1q("1Yi"));r="1m 3gK(1m 2GI, 1w 8u)\\n{\\n    1m 1A = 2GI;\\n";J&&(r+="    1m 2zp;\\n    7d 4x1;\\n");1j(u=0;u<d;++u){a:{t=T;v=u;if(g(t)&&0!=t.1h)1j(y=t.1h,A=0;A<y;A++)if(t[A].3SE===v){t=t[A].2cv;1W a}t=1F}g(t)?(v=u+1,v==d&&(v=u),r+="    1A = 4hi(\\n        1A,\\n        2Xp["+u+"],\\n        2Xp["+v+"],\\n        3h0["+u+"] ? 8u.xz : 8u.xy,\\n        3gX["+u+"],\\n        3h1["+u+"],\\n        1m"+t.5s()+",\\n        "+(n?"3gZ["+u+"]":"1.0")+",\\n        "+(k?"3gY["+u+"]":"0.0")+"\\n        );\\n",u++):(r=J?r+("    2zp = 3Il["+u+"];\\n    4x1 = 2F.x < 2zp.x || 2zp.z < 2F.x || 2F.y < 2zp.y || 2zp.w < 2F.y;\\n    2zp = 3Ij(\\n"):r+"    1A = 3Ij(\\n",r+="        1A,\\n        2Xp["+u+"],\\n        3h0["+u+"] ? 8u.xz : 8u.xy,\\n        3gX["+u+"],\\n        3h1["+u+"],\\n        3Is["+u+"],\\n        3It["+u+"],\\n        "+(n?"3gZ["+u+"]":"1.0")+",\\n        "+(e?"3Ip["+u+"]":"0.0")+",\\n        "+(f?"3Io["+u+"]":"0.0")+",\\n        "+(h?"3In["+u+"]":"0.0")+",\\n        "+(l?"3Im["+u+"]":"0.0")+",\\n        "+(k?"3gY["+u+"]":"0.0")+",\\n        "+(m?"3Ir["+u+"]":"1v(0.0,0.0)")+",\\n        "+(q?"3Iq["+u+"]":"1m(0.0,0.0,0.0,0.0)")+"\\n    );\\n",J&&(r+="    1A = 15B(4x1, 2zp, 1A);\\n"))}1j(u=0;u<uc;++u)r+="            1A = 4hh(\\n            1A,\\n            3Ix["+u+"],\\n            3Iv["+u+"] ? 8u.xz : 8u.xy,\\n            3Iu["+u+"],\\n            3Iw["+u+"]);\\n";ca.5p.1q(r+"    1f 1A;\\n}");Y.5p.1q(5BD(I));Y.5p.1q(F?"1o 2ux(1v 8u) { 1f 4h9(8u); }":"1o 2ux(1v 8u) { 1f 4h8(8u); }");b=Ga.4t({1O:b.1O,5O:Y,5A:ca,7W:a.5BC()});Y=X[mc]=1g 5BB(d,mc,1a.2q,b,Q,T,uc,sc)}c.4x0=Y;1f Y.2z};MJ.1i.1M=1b(){1d a,b=1a.3SU,c;1j(c in b)if(b.3p(c)){1d d=b[c];if(g(d))1j(a in d)if(d.3p(a)){1d e=d[a];g(e)&&e.2z.1M()}}1f la(1a)};1d vi=1L.3F({31D:0,1gu:1,1k0:2,12D:3}),Zc=1L.3F({12D:0,1vn:1,3oG:2,4wX:3,5BA:4,1sB:5,4wZ:6,4wW:7,1cY:8,1My:9});1L.2X(Ge.1i,{3Sh:{1n:1b(){1d a=1a.19M,b=!(a===Zc.3oG||a===Zc.4wZ);a=1a.8v;1j(1d c=0,d=a.1h;b&&c<d;++c)b=a[c],b=!g(b.1jO)||b.1jO.4F!==Sb.27M;1f b}},1PX:{1n:1b(){if(g(1a.4c))1f 1a.13q;if(g(1a.4K))1f 1a.4K.13q}}});1d 5Bz=1g k,5By=1g k,5Bx=1g k;Ge.1i.11P=1b(a,b,c,d,e){1d f=1a.1PX;if(g(f)){1d h=f.1co,l=f.4N;f=f.19F;1j(1d k=l.1h,n=3a.6w,m=0;m<k;m+=3){1d q=l[m+1],r=l[m+2],u=AT(f,b,c,h,l[m],5Bz);q=AT(f,b,c,h,q,5By);r=AT(f,b,c,h,r,5Bx);u=ib.2ZR(a,u,q,r,d);g(u)&&u<n&&0<=u&&(n=u)}1f n!==3a.6w?rb.1n3(a,n,e):1p 0}};Ge.1i.1Mu=1b(){g(1a.1pC)&&(--1a.1pC.1d2,0===1a.1pC.1d2&&1a.1pC.1M(),1a.1pC=1p 0);g(1a.1ns)&&(--1a.1ns.1d2,0===1a.1ns.1d2&&1a.1ns.1M(),1a.1ns=1p 0);1a.1ix=1p 0;1a.19M=Zc.1vn;1a.13q=1p 0;1a.4K=1a.4K&&1a.4K.1M();1j(1d a=1a.8v,b=0,c=a.1h;b<c;++b)a[b].1Mu();1a.8v.1h=0;1a.5Bw()};Ge.1i.5Bw=1b(){Ge.3p2(1a.4c);1a.4c=1p 0;Ge.3p2(1a.2fx);1a.2fx=1p 0};Ge.6l=1b(a,b,c){g(a.2g)||(a.2g=1g Ge);if(a.4F===vi.31D){1d d=b.2fl(a.x,a.y,a.6b);if(!g(d)&&g(a.12f)){1d e=a.12f,f=e.2g;g(f)&&g(f.1ix)&&(d=f.1ix.33D(e.x,e.y,a.x,a.y))}!1===d&&(a.2g.19M=Zc.12D);d=0;1j(e=c.1h;d<e;++d)f=c.1n(d),f.2p&&f.2nL(a,b);a.4F=vi.1gu}};Ge.1UA=1b(a,b,c,d,e,f){Ge.6l(a,c,d);1d h=a.2g;if(a.4F===vi.1gu){1d l=a.2g,k=a.12f;l.19M!==Zc.12D||1p 0===k||1p 0!==k.2g&&1p 0!==k.2g.1ix&&!1!==k.2g.1ix.4wY||Ge.1UA(k,b,c,d,!0);l.19M===Zc.12D&&5Bv(l,a,b,c,a.x,a.y,a.6b);l.19M===Zc.1vn&&(d=1p 0,g(a.12f)&&g(a.12f.2zo)&&(d=0===a.x%a.12f.x?0===a.y%a.12f.y?a.12f.2zo[0]:a.12f.2zo[2]:0===a.y%a.12f.y?a.12f.2zo[1]:a.12f.2zo[3]),5Bu(l,c,a.x,a.y,a.6b,d));l.19M===Zc.4wX&&5Bt(l,c,a.x,a.y,a.6b);l.19M===Zc.1sB&&(g(l.1ix)&&(a.2zo=l.1ix.2zo),5Bs(l,b,c,a.x,a.y,a.6b));l.19M===Zc.4wW&&(4wR.1C(b.1O,l,l.13q,c),b.1Ul.5P(4wR,2)&&(l.19M=Zc.1cY,l.4K=l.4K&&l.4K.1M(e)));if(l.19M!==Zc.1My){if(l.19M>=Zc.1sB&&1p 0===l.1pC&&c.1z3)if(e=l.1ix,1p 0!==e.1UM)b:{e=b.1O;d=l.1ix.1UM;k=5Br(e);1d n=d.1h;if(1===n)if(0!==d[0])e=k.4wV;1s 1W b;1s n=1k.3Y(n),e=Ca.6F({1O:e,8b:ua.1UO,10E:Ha.7U,5j:{1G:n,1D:n,1a9:d},10v:k.10v,13E:!1}),e.1d2=0;++e.1d2;l.1pC=e;E.9v(0,0,1,1,l.2fy)}1s e=l.3ST(a),g(e)&&g(e.2g.1pC)&&(l.1pC=e.2g.1pC,++l.1pC.1d2,l.4wP(a,e,l.2fy));l.19M>=Zc.1sB&&1p 0===l.1ns&&c.4wU&&(e=l.1ix,1p 0!==e.3p5?(e=b.1O,d=l.1ns,g(d)&&(--d.1d2,0===d.1d2&&d.1M(),l.1ns=1p 0),g(l.1ix)&&(d=l.1ix.1ns,g(d)&&(k=5Bq(e),n=1k.3Y(d.1h/3),e=1g Ca({1O:e,8b:ua.1fB,10E:Ha.7U,5j:{1G:n,1D:n,1a9:d},10v:k.10v}),e.1d2=0,++e.1d2,l.1ns=e,E.9v(0,0,1,1,l.2Lw)))):(e=l.3ST(a),g(e)&&g(e.2g.1ns)&&(l.1ns=e.2g.1ns,++l.1ns.1d2,l.5Bm(a,e,l.2Lw))))}}if(!f){f=a.1jP;a.1jP=g(h.4c)||!1===c.2KG&&g(h.13q)&&h.13q.16w;l=h.19M===Zc.1cY;a.2nI=g(h.1ix)&&h.1ix.342();c=h.4wT(a,c,b);b=h.5Bp(a,b);if(l&&c&&b||h.19M===Zc.1My){h=a.2Ls;b={};1j(1d m in h)h.3p(m)&&(h[m](a)||(b[m]=h[m]));a.2Ls=b;a.4F=vi.1k0}f&&(a.1jP=!0)}};Ge.1i.4wT=1b(a,b,c,d){1d e=a.2nI,f=!1,h=!0,l=a.2g.8v,k,n=!1,m=!1;1d q=0;1j(k=l.1h;q<k;++q){1d r=l[q];if(g(r.1jO)){if(r.1jO.4F===Sb.4wS){1d u=r.1jO.1ec;if(u.1jf.3o){r.1Mu();l.6z(q,1);u.2nL(a,b,q);--q;k=l.1h;1aJ}1s e=!1}u=1p 0;if(r.1jO.1ec.14f 2m Xi||r.1jO.1ec.14f 2m Zi)u=r.1jO.1ec.14f,n=!0;if(c.3w.2R.327){1d t=c.3w.2R.3mm;!g(u)||a.1hr>c.3w.3on-t?(t=r.1UA(a,c,d))&&g(u)&&(m=!0):t=!0}1s t=r.1UA(a,c,d);h=h&&t;f=f||t||g(r.1mk);e=e&&g(r.1jO)&&(r.1jO.4F===Sb.12D||r.1jO.4F===Sb.1My)}1s e=!1}if(!n||m)a.3om=!0;a.2nI=e;a.1jP=a.1jP&&(f||h);1f h};BT.1i.1C=1b(a,b,c,d){1a.1O=a;1a.33N=b;1a.13q=c;1a.16u=d};BT.1i.5P=1b(){1d a=1a.1O,b=1a.13q;1a.33N.4c=!1===1a.16u.2KG&&b.16w?1p 0:Ge.4wQ(a,b)};1d 4wR=1g BT;Ge.1i.5Bp=1b(a,b,c){1j(1d d=!0,e=a.2g.2Ll,f=0;f<e.1h;f++){1d h=e[f].3Sm(a,b,c);d=d&&h}1f d};Ge.4wQ=1b(a,b){1d c=Ra.12S({1O:a,5b:b.1co,7Q:xa.7C});c=b.19F.5Bo(c);1d d=b.4N.5Bn||{},e=d[a.id];!g(e)||e.3Z()?(e=b.4N,e=Ra.17Q({1O:a,5b:e,7Q:xa.7C,17P:Ta.4vY(e.12T)}),e.1hU=!1,e.1d2=1,d[a.id]=e,b.4N.5Bn=d):++e.1d2;1f 1g Fb({1O:a,2w:c,10X:e})};Ge.3p2=1b(a){if(g(a)){1d b=a.10X;a.1M();g(b)&&!b.3Z()&&g(b.1d2)&&(--b.1d2,0===b.1d2&&b.1M())}};Ge.1i.3ST=1b(a){1j(a=a.12f;g(a)&&(!g(a.2g)||!g(a.2g.1ix)||a.2g.1ix.342());)a=a.12f;1f a};Ge.1i.4wP=1b(a,b,c){b=b.3g;a=a.3g;1d d=a.1G,e=a.1D,f=d/b.1G,h=e/b.1D;c.x=f*(a.4o-b.4o)/d;c.y=h*(a.4C-b.4C)/e;c.z=f;c.w=h;1f c};Ge.1i.5Bm=1b(a,b,c){b=b.3g;a=a.3g;1d d=a.1G,e=a.1D,f=d/b.1G,h=e/b.1D;c.x=f*(a.4o-b.4o)/d;c.y=h*(a.4C-b.4C)/e;c.z=f;c.w=h;1f c};1d $c={6i:0,3p4:1,1xf:2,31V:3,5Bk:6,7Jf:7,3ol:9,5Bl:1b(a){1f a>=$c.5Bk},3p3:1b(a){1f a&3},5Bj:1b(a){1f a|4}};bw.1i.2H=1b(a,b,c){1a.1z5&&(4wO(a,b,1a.11H,c),1a.1z5=!1)};bw.1i.1M=1b(a){g(1a.4c)&&(g(a)?a.1q(1a.4c):Ge.3p2(1a.4c,a),1a.4c=1p 0);g(1a.1pC)&&(--1a.1pC.1d2,0===1a.1pC.1d2&&1a.1pC.1M(),1a.1pC=1p 0)};1d xm=1g $f;bw.5B5=1b(a,b,c,d){1d e=a.1qL,f=e.1qF;e=e.2nF;xm.9P();1j(1d h=0;h<b.1h;++h)g(b[h].2g.4c)&&xm.1vp(b[h]);1j(b=xm.1xg();1p 0!==b;){1d l=b.4va(f),k=b.3ow(f);h=b.4v9(f);1d n=b.3ou(f);Ag(a,c,b,l,e,kc.27Q,!1,xm,d);Ag(a,c,b,k,e,kc.2fD,!1,xm,d);Ag(a,c,b,h,e,kc.27P,!1,xm,d);Ag(a,c,b,n,e,kc.2fC,!1,xm,d);k=l.3ou(f);l=l.3ow(f);n=h.3ou(f);h=h.3ow(f);Ag(a,c,b,k,e,kc.3p1,!1,xm,d);Ag(a,c,b,n,e,kc.3p0,!1,xm,d);Ag(a,c,b,l,e,kc.3oZ,!1,xm,d);Ag(a,c,b,h,e,kc.341,!1,xm,d);b=xm.1xg()}};1d Zs=1g T,5Bi=1g T,cw=1g k,4wN=1g k,CT=1g C,DT=1g C,Ok=1g C,5Bh={13w:0,12x:0},aba=1g NJ,4wM=1g NJ,$aa=1g NJ,3SS=1g NJ,5Bg="7w"!==2h 4L?1g 4L(81):1p 0,SJ=1g Q,5Bf=1g C,5Be=1g C,5Bd=1g k,5Bc=[1g k,1g k,1g k,1g k];1L.2X(ad.1i,{1rL:{1n:1b(){1f 1a.27g},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.27g=a;1a.3SN=E.1dc(a,1a.3SN)}},2eX:{1n:1b(){1f 1a.1qL},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");1a.1qL=a}},3o:{1n:1b(){1f 1a.1Bi.3o&&(0===1a.1Mz.1h||1a.1Mz.1n(0).1jf.3o)}},8c:{1n:1b(){1f 1a.1Bi.8c}},1cG:{1n:1b(){1f 1a.14P}},4uW:{1n:1b(){1f 1a.4vX}},3PM:{1n:1b(){1f 1a.33O}},16u:{1n:1b(){1f 1a.1Bi},1C:1b(a){if(1a.1Bi!==a||a.2fB){if(!g(a))1t 1g r("16u is 1X.");1a.1Bi=a;1a.1Bi 2m Pr&&(1a.1Bi.1qL=1a.1qL);g(1a.1qL)&&1a.1qL.5Ab()}}},1cj:{1n:1b(){1f 1a.1cX},1C:1b(a){Cf.3m2(a,1a,"1cX")}},1DW:{1n:1b(){1f 1a.21f},1C:1b(a){1a.21f.x=a.x;1a.21f.y=a.y}}});ad.1i.2H=1b(a){1a.1Mz.13A();1a.16u.2fB&&(1a.16u=1a.16u,1a.16u.2fB=!1)};ad.1i.6l=1b(a){1a.1Mz.3oy(a);1a.2fw&&(1a.2fw=!1,1a.1qL.2zd(1b(a){a.2g.8v.15F(5Bb)}));5Ba(1a,a);1j(1d b=1a.3oM,c=b.1h,d=0;d<c;++d)5B9(b[d]);b.1h=0;a.1qL=1a.1qL};ad.1i.4sz=1b(a){1j(1d b=1a.33P,c=0,d=b.1h;c<d;++c){1d e=b[c];g(e)&&(e.1h=0)}b=1a.1cX;g(b)&&b.3e&&b.2H(a);1a.2Lv=0};ad.1i.2fA=1b(a){g(1a.1dk)||(1a.1dk=1g Ca({1O:a,1G:13j,1D:64,8b:ua.9m,13E:!1}),g(1a.6J)&&1a.1dk.1iq({1G:13j,1D:64,1a9:1a.6J.1FE.1sv}));g(1a.2La)||(1a.2La=1g Ca({1O:a,1G:13j,1D:64,8b:ua.9m,13E:!1}),g(1a.1pB)&&1a.2La.1iq({1G:13j,1D:64,1a9:1a.1pB.1FE.1sv}));if(!g(1a.2fr)&&(1a.2fr=1a.2fr&&1a.2fr.1M(),g(1a.3oY))){1d b=1a;Z(gf(1a.3oY),1b(c){b.3oY===b.3oY&&(b.2fr=1g Ca({1O:a,5j:c,10v:1g Eb({18i:Ka.1av,18h:Ka.1av})}))})}};ad.1i.3SR=1b(a){g(1a.1GF)||(1a.1GF=1g Ca({1O:a.1O,1G:1a.1vj,1D:1a.1vj,8b:ua.9m}),1a.4wL=1g eb({1O:a.1O,13I:[1a.1GF],16Y:!1}));g(1a.1GE)||(1a.1GE=1g Ca({1O:a.1O,1G:1a.1vj,1D:1a.1vj,8b:ua.9m,13E:!0}));if(1a.2z7)if(g(1a.1jg)){1a.2fz=!0;1a.2z7=!1;1d b=1g Ec({1A:1g y(0,0,0,0),4e:1});b.4Q=1a.4wL;b.4w=pa.4t();b.5P(a.1O);b=1a.1GF;"4wK"==1a.1gb.2nD&&(b=1a.1GE);UJ(a.1O,1a.1jg,1a.1jg.15x,b,0,1a.4wL);1a.1jg.10u.5P(a.1O)}1s 1a.2fz=!1};ad.1i.5B8=1b(a){g(1a.33Y)||(1a.33Y=1g Ca({1O:a.1O,1G:1a.1vj,1D:1a.1vj,8b:ua.9m}),1a.4wJ=1g eb({1O:a.1O,13I:[1a.33Y],16Y:!1}));if(1a.3Sa)if(g(1a.1Ms)){1a.3SJ=!0;1a.3Sa=!1;1d b=1g Ec({1A:1g y(0,0,0,0),4e:1});b.4Q=1a.4wJ;b.4w=pa.4t();b.5P(a.1O);b=1a.33Y;"4wK"==1a.1gb.2nD&&(b=1a.1GE);UJ(a.1O,1a.1Ms,1a.1Ms.15x,b,0,1a.4wJ);1a.1Ms.10u.5P(a.1O)}1s 1a.3SJ=!1};ad.1i.4sy=1b(a){g(1a.1hT)||(1a.1hT=pa.4t({8d:{3e:1a.2z8},9J:{3e:!0,14R:go.1PP}}),1a.3SP=pa.4t({8d:{3e:!0},9J:{3e:!0,14R:go.340},12e:Dc.1bQ}));if(a.19c.1mc!=Ud.2n8){if(!1a.1JB&&!g(1a.3SO)){1d b=wc(1a.1hT,!0);b.8d.3e=!1;1a.3SO=pa.4t(b);b=wc(1a.3SP,!0);b.8d.3e=!1;1a.4wI=pa.4t(b)}1a.2fA(a.1O);1a.3SR(a);1a.5B8(a);1a.5Av(a);1a.5Au(a);if(!(0<1a.33J.1h))1j(1d c=0;c<1a.2zf.1h;c++)1a.33J.1q(3SQ(1a.2zf[c],a));5B7(1a,a);if(1<a.2Lg&&g(a.2xW)&&0<a.2xW.1h){if(!(0<1a.2Lh.1h))1j(1d d=0;d<1a.2zf.1h;d++)1a.2Lh.1q(3SQ(1a.2zf[d],a));5B6(1a,a)}1a.4vR&&1a.4vS&&!1!==1a.16u.2KG&&bw.5B5(1a,1a.1qL.1tN,a,1a.3oM);1j(1d e=1a.33P,f=0,h=e.1h;f<h;++f){1d l=e[f];if(g(l)){1d p=0;0<l.1h&&(p=l[l.1h-1].1hr);1j(1d n=0,q=l.1h;n<q;++n){l[n].5Af(a,1a);l[n].5Ad(a,1a);1d w=l[n],x=w.2g.1Mq;if(w.2g.19M!==Zc.1My)a:{1d u=1p 0,t=w,v=p,G=a,F=t.2g;if(F.19M!==Zc.1My&&(!1!==1a.16u.2KG||g(F.13q)&&!F.13q.16w)){if(!g(F.4c)&&(1p 0===F.4K&&(F.4K=1g bw(t)),F.4K.2H(1a,G),!g(t.2g.4K.4c)))1W a;1d H=G.1DJ,I=F.1ix;if(g(I)&&g(I.1mn))1j(1d J=I.1mn,M=0,K=J.1h;M<K;++M)H.2nT(J[M]);1d N=sb.5B4,L=F.1pC,S=F.2fy;!g(L)&&g(F.4K)&&(L=F.4K.1pC,S=F.4K.2fy);1d U=1a.1z3&&g(L),R=1a.33v,V=U&&g(R),W=1a.16u.3o&&1a.16u.1lp,da=G.1ep.3e,ea=1a.2nB,Sa=ed.1hR(1a.6x),T=ed.1fC(1a.6x),dc=1a.31L,X=1a.31K,Ob=1a.31J,Z=!(B.5T(dc,0,B.1hn)&&B.5T(X,0,B.1hn)&&B.5T(Ob,0,B.1hn)),uc=!1;if(ea){1d sc=G.3z,cd=G.3w;u=sc===O.10j||sc===O.15j?cd.19I.1D:k.7t(cd.6K);1d mc=1a.3o6;sc!==O.6G&&(mc-=G.11s.3c.17i);uc=u>mc}1d Xb=F.1ns,ld=g(Xb),ae=g(1a.1pB)&&1a.1pB.1ml!==MP.1ml.6i&&1a.3oi,Y=g(1a.6J)&&1a.6J.1ml!==Cc.1ml.6i&&1a.1Mt;U&&--N;V&&--N;ld&&--N;ae&&(N-=3);Y&&(N-=2);0<G.272.1h&&--N;1d ba=F.1PX,ca=ba.2V,ha=ba.19F,fa=5AJ,ia=0,ja=0,la=0,na=0,qa=!1;if(G.3z!==O.6G){1d sa=G.11s,ta=sa.12z(Q.1tI(t.3g),5AG),ua=sa.12z(Q.1tH(t.3g),5AF);fa.x=ta.x;fa.y=ta.y;fa.z=ua.x;fa.w=ua.y;G.3z!==O.1at&&(ca=5AH,ca.x=0,ca.y=.5*(fa.z+fa.x),ca.z=.5*(fa.w+fa.y),fa.x-=ca.y,fa.y-=ca.z,fa.z-=ca.y,fa.w-=ca.z);if(G.3z===O.10j&&ha.1nv===gk.2nV){1d va=1/(1k.3r(2,12)-1)*.5,wa=(fa.z-fa.x)*va,ya=(fa.w-fa.y)*va;fa.x-=wa;fa.y-=ya;fa.z+=wa;fa.w+=ya}sa 2m Uc&&(ia=t.3g.4C,ja=t.3g.4P,la=Uc.1UN(ia),na=1/(Uc.1UN(ja)-la),qa=!0)}1d ra=5Ay;ra.18Y=G;ra.33N=F;ra.4vD=U;ra.4vC=V;ra.2nC=1a.2nC;ra.2z4=1a.2z4;ra.2z3=1a.2z3;ra.2nB=ea;ra.4vB=uc;ra.1lp=W;ra.4vA=qa;ra.2Lr=F.2Lr;1d za=F.8v,Aa=0,Ba=0,Ca=za.1h,Da=F.2Ll,Ga=Da.1h,Ha=[],Ia=[],Ka=[];g(t.2fo)&&(Ha.1q(t.2fo),Ia.1q(1g E(0,0,0,0)),Ka.1q(1),Ca+=1);g(t.21l)&&(Ha.1q(t.21l),Ia.1q(1g E(0,0,0,.1)),Ka.1q(t.21l.1pb),Ca+=1);1d La=Ha.1h,Ma=1a.1JB?1a.3SP:1a.4wI,Na=1a.1JB?1a.1hT:1a.3SO,Pa=1a.3SN,Ua=G.1O;g(1a.1JC.3SM)||oN();1g E(t.3g.4o,t.3g.4C,t.3g.5a,t.3g.4P);1d Va=!(G.1lr&6)&&0<1a.1GB.2a.1h?1:0;(Va=!!Va&&1a.5AP)&&--N;1d Wa=!1,Ya=!1;!(G.1lr&6)&&0<1a.1GC.2a.1h&&(--N,Wa=1a.2K6===$s.32h,Ya=1a.2K6===$s.4wH);1d Za=0<(G.1lr&4)?1:0;Za&&--N;1d Xa=0<(G.1lr&2)?1:0;Xa&&--N;g(G.3mf)&&0<G.3mf&&N--;1d bb=-1<G.1g4;do{1d Ea=0;if(1a.1Q9.1h<=1a.2Lv){1d Qa=1g Oa;Qa.7H=t;Qa.8d=!1;Qa.6W=1g P;Qa.1ls=1p 0;1d ab=5B3(G,1a);1a.1Q9.1q(Qa);1a.2zn.1q(ab)}1s Qa=1a.1Q9[1a.2Lv],ab=1a.2zn[1a.2Lv];Qa.7H=t;++1a.2Lv;t===1a.1JC.3SM&&(g(F.1ls)?4vN(F.1ls,y.1PZ).2H(G):g(F.21e)&&4vM(F.21e,y.1PZ).2H(G));1d $a=ab.5U;$a.2eE=1a.2eE;E.1y(Pa,$a.2GI);$a.33v=R;$a.3SL.x=1a.3o8;$a.3SL.y=1a.3o7;$a.3SK.x=1a.3o6;$a.3SK.y=1a.3S7;$a.33w=1a.33w;$a.33Z.x=t.3g.4o;$a.33Z.y=t.3g.4C;$a.33Z.z=t.3g.5a;$a.33Z.w=t.3g.4P;g(1a.6J)&&($a.4wG=1a.6J.1ml,$a.5B2=1a.6J.3oX,$a.4wF=1a.6J.2nN,$a.4wE=1a.6J.2nM,$a.4wD=1a.6J.2zg,$a.4wC=1a.6J.1MA,$a.4wB=1a.1dk,$a.4wA=1a.1GF,$a.4wz=1a.2fz,$a.1Sl=1a.1Uv,$a.4wy=1a.6J.2fp,$a.4wx=1a.6J.2nO,$a.4ww=1a.1Mt&&!Xa);g(1a.1pB)&&($a.4wv=1a.1pB.1ml,$a.4wu=1a.2z6,$a.4wt=B.8I(1a.1pB.2nN),$a.4ws=B.8I(1a.1pB.2nM),$a.4wr=1a.1pB.2zg,$a.4wq=1a.2La,$a.4wp=1a.33Y,$a.4wo=1a.2fr,$a.4wn=1a.3SJ,$a.4wm=B.8I(1a.1pB.2fp),$a.4wl=B.8I(1a.1pB.2nO),$a.4wk=1a.3oi,$a.6b=t.6b,$a.1i4=v);$a.4wj=1a.4wi;$a.4wh=1a.2zj;$a.4wg=1a.3oI;$a.4wf=1a.2fu;$a.1wb=1a.1Mw;$a.1lR=1a.2zk;$a.1Fc=1a.2fv;$a.3SI=1a.1GE;1d cb=!g(F.4c)&&g(1a.2ff)&&0<1a.2ff.2O;cb&&y.1y(1a.2ff,$a.2ff);$a.4we=ba.2V;k.1y(ca,$a.3SH);E.1y(fa,$a.4wd);$a.3SG.x=ia;$a.3SG.y=ja;$a.3SF.x=la;$a.3SF.y=na;$a.5B1=1a.1DW;$a.3oW=1a.1Ux;$a.1bB=1a.1xe.1Q;1d eb=5AI,gb=GT(t.3g,1a.33B);k.9v(dc,X,Ob,$a.4wc);1d db=t.3g,hb=1/db.1G,jb=1/db.1D;eb.x=(gb.4o-db.4o)*hb;eb.y=(gb.4C-db.4C)*jb;eb.z=(gb.5a-db.4o)*hb;eb.w=(gb.4P-db.4C)*jb;E.1y(eb,$a.4wb);1d mb=da&&B.1ep(t.172,G.1ep.1DZ)>B.2zm;Z=Z&&(mb||ea);1j(1d kb=!1,nb=!1,ob=!1,pb=!1,qb=!1,rb=!1,tb=!1,ub=!1,vb=!1,xb=!1,zb=!C.2L(1a.1DW,C.6h),Db=1a.1Uw,Cb=[],Eb=1a.1xe.3e;Ea<N&&Aa<Ca;)if(Aa!=Ca-La||0==La){1d yb=za[Aa],wb=yb.1mk;++Aa;if(g(wb)&&0!==wb.1ec.2O&&(wb.4wa(!0),!bb||wb.1ec.3ox||wb.1ec.1ks(G.1g4))){if(G.3w.2R.327){1d Gb=G.3w.2R.3mm;if(g(wb.2K7)&&wb.2K7&&!(t.1hr>G.3w.3on-Gb))1aJ}1d Ab=yb.1UF?wb.21p:wb.7y;if(!g(Ab))1t 1g r("1mk is 2S 5B0 3o!");1d ib=wb.1ec;g(wb.2K7)&&wb.2K7&&Cb.1q({3SE:Ea,2cv:wb.1ec.32k});g(yb.21o)||(yb.21o=ib.2Lk(t,yb));$a.33Q[Ea]=Ab;$a.3oU[Ea]=yb.21o;$a.3oT[Ea]=yb.1o2;$a.3oS[Ea]=yb.1UF;$a.4w9[Ea]=yb.13E;1d Bb=1g E;Bb.x=ib.1jB.5r;Bb.y=ib.1jB.5t;Bb.z=ib.1jB.5G;Bb.w=ib.3oV;$a.1jB[Ea]=Bb;$a.33X[Ea]=ib.2O;rb=rb||1!==$a.33X[Ea];$a.33W[Ea]=ib.1hG;kb=kb||$a.33W[Ea]!==Ac.4w8;$a.33V[Ea]=ib.1wq;nb=nb||$a.33V[Ea]!==Ac.4w7;$a.33U[Ea]=ib.1lQ;ob=ob||$a.33U[Ea]!==Ac.4w6;$a.33T[Ea]=ib.1qm;pb=pb||$a.33T[Ea]!==Ac.4w5;$a.33S[Ea]=1/ib.1iP;qb=qb||$a.33S[Ea]!==1/Ac.4w4;$a.33R[Ea]=ib.1DW;FF.x=ib.1Mr.x*G.1O.8j;FF.y=(1-ib.1Mr.y)*G.1O.7p;FF.z=ib.1Mr.z*G.1O.8j;FF.w=(1-ib.1Mr.w)*G.1O.7p;$a.3oR[Ea]=E.1y(FF,1g E);tb=tb||!C.2L($a.33R[Ea],C.6h);ub=ib.33A;1d Ib=$a.3SD[Ea];g(Ib)||(Ib=$a.3SD[Ea]=1g E);E.1y(E.6h,Ib);if(g(ib.3SC)){1d Kb=GT(db,ib.3SC),Pb=Q.2Lm(Kb,db,4vW);vb=g(Pb)||vb;Ib.x=(Kb.4o-db.4o)*hb;Ib.y=(Kb.4C-db.4C)*jb;Ib.z=(Kb.5a-db.4o)*hb;Ib.w=(Kb.4P-db.4C)*jb}1d Jb=$a.4w3[Ea];g(Jb)||(Jb=$a.4w3[Ea]=1g E);1d Qb=g(ib.3oQ)&&0<ib.3SB;xb=xb||Qb;if(Qb){1d Rb=ib.3oQ;Jb.x=Rb.5r;Jb.y=Rb.5t;Jb.z=Rb.5G;Jb.w=ib.3SB}1s Jb.w=-1;++Ea;g(wb.2nU)&&($a.33Q[Ea]=wb.2nU,$a.3oU[Ea]=yb.21o,$a.3oT[Ea]=yb.1o2,$a.3oS[Ea]=yb.1UF,Bb=1g E,Bb.x=ib.1jB.5r,Bb.y=ib.1jB.5t,Bb.z=ib.1jB.5G,Bb.w=ib.1jB,$a.1jB[Ea]=Bb,$a.33X[Ea]=ib.2O,$a.33W[Ea]=ib.1hG,$a.33V[Ea]=ib.1wq,$a.33U[Ea]=ib.1lQ,$a.33T[Ea]=ib.1qm,$a.33S[Ea]=1/ib.1iP,$a.33R[Ea]=ib.1DW,$a.3oR[Ea]=ib.1Mr,Ea++);if(g(wb.1mn))1j(1d Wb=wb.1mn,Sb=0,Yb=Wb.1h;Sb<Yb;++Sb)H.2nT(Wb[Sb])}}1s{++Aa;Ab=Ha[Ba];if(!g(Ab))1t 1g r("1mk is 2S 5B0 3o!");$a.33Q[Ea]=Ab;$a.3oU[Ea]=1g E(0,0,1,1);$a.1jB[Ea]=Ia[Ba];$a.3oT[Ea]=1g E(0,0,1,1);$a.3oS[Ea]=!1;$a.33X[Ea]=Ka[Ba];rb=rb||1!==Ka[Ba];$a.33W[Ea]=1;kb=!1;$a.33V[Ea]=1;nb=!1;$a.33U[Ea]=0;ob=!1;$a.33T[Ea]=1;pb=!1;$a.33S[Ea]=1;qb=!1;$a.33R[Ea]=1g C(0,0);$a.3oR[Ea]=1g E(0,G.1O.7p,G.1O.8j,0);ub=tb=!0;Ba++;++Ea}1j(1d Lb=0,Vb=0,cc=!1;Lb<N-Ea&&Vb<Ga;){1d Nb=Da[Vb],Tb=Nb.21m;++Vb;if(1p 0!=Tb&&(!bb||Tb.2nR.1ks(G.1g4))&&(Ab=Nb.1UF?Tb.21p:Tb.7y,1p 0!=Ab)){Tb.3SA&&(cc=!0,Tb.3SA=!1);1d hc=Tb.2nR;g(Nb.21o)||(Nb.21o=hc.2Lk(t,Nb));$a.3Sz[Lb]=Ab;$a.4w2[Lb]=Nb.21o;$a.4w1[Lb]=Nb.1o2;$a.4w0[Lb]=Nb.1UF;Lb++}}$a.3Sz.1h=Lb;$a.33Q.1h=Ea;$a.1UM=L;E.1y(S,$a.2fy);$a.3Sy.x=ha.13w;$a.3Sy.y=ha.12x;A.1y(ha.8W,$a.4vZ);1d $b=1a.1cX,fc=g($b)&&$b.3e&&t.26S;fc&&($a.25m=y.1y($b.2yu,$a.25m),$a.2kx=$b.33s);g(1a.4J)&&(ab=fb(ab,1a.4J));ra.3oL=Ea;ra.4vL=kb;ra.4vK=nb;ra.4vJ=ob;ra.4vI=pb;ra.4vH=qb;ra.4vG=rb;ra.4vF=tb;ra.4vE=ub;ra.5AZ=Db;ra.5AY=zb;ra.4vz=mb;ra.4vy=fc;ra.1cj=$b;ra.4vx=vb;ra.1SS=Z;ra.5AX=Va;ra.5AW=Wa;ra.5AV=Ya;ra.2zl=Za;ra.5AU=Xa;ra.5AT=ld;ra.5AS=Y;ra.5AR=ae;ra.7Je=cb;ra.3oQ=xb;ra.3oP=Cb;ra.3oK=Lb;ra.3oJ=cc;ra.5AQ=Eb;1d gc=F.1PX.4N.1h;1a.2z2||(gc=F.1PX.27O);$a.1ns=Xb;E.1y(F.2Lw,$a.2Lw);Qa.2z=1a.2fe.3oO(ra);Qa.1hR=Sa;Qa.1fC=T;Qa.4w=1>1a.2eE&&1E4>G.3w.19I.1D?Ma:Na;Qa.6Z=Ja.11G;Qa.4c=F.4c||F.4K.4c;Qa.7Z=gc;Qa.4J=ab;Qa.6t=1>1a.2eE&&1E4>G.3w.19I.1D?ma.1bl:ma.1Bb;if(1a.1JC.1ZH){b:{1d ec=1p 0,Zb=1p 0,jc=Ua,Mb=t.2g;g(Mb.4c)?(Zb=Mb.13q,ec=Mb.4c):g(Mb.4K)&&g(Mb.4K.4c)&&(Zb=Mb.4K.13q,ec=Mb.4K.4c);if(g(Zb)&&g(ec)){if(g(Mb.2fx)){if(Mb.2fx.13q===Zb)1W b;Mb.2fx.1M();Mb.2fx=1p 0}1d ic=jc,nc=ec,kc={4N:Zb.4N,6Z:Ja.11G};Sc.3oN(kc);1d lc=kc.4N,oc=Ra.17Q({1O:ic,5b:lc,7Q:xa.7C,17P:Ta.4vY(lc.12T)});1d qc=1g Fb({1O:ic,2w:nc.16N,10X:oc});Mb.2fx=qc;Mb.2fx.13q=Zb}}g(F.2fx)&&(Qa.4c=F.2fx,Qa.6Z=Ja.1ao)}1d bc=Qa.6W,tc=Qa.1ls;if(G.3z!==O.6G){1d rc=F.1Mq;P.33z(t.3g,G.11s,rc.13w,rc.12x,bc);k.9v(bc.2V.z,bc.2V.x,bc.2V.y,bc.2V);G.3z===O.1at&&(bc=P.1nu(ba.21e,bc,bc))}1s Qa.6W=P.1y(ba.21e,bc),Qa.1ls=yc.1y(F.1ls,tc);Qa.6s=!0;Qa.16w=m(t.16w,!1);G.13l.1q(Qa);Na=Ma;Pa=5Az}14p(Aa<Ca)}}a.1UL=1k.2o(a.1UL,x.13w)}}}a.2xW.1h=0;if(!(a.1lr&6)){1j(1d pc=1a.27I.2a.1h,ac=0,xc=0;ac<pc;){1d vc=1a.27I.2a[ac];if(1a.1GB.2a[xc].2Lq.1mm)1W;1s a.13l.1q(vc),a.13l.1q(1a.27I.2a[ac+1]),xc++,ac+=2,1a.5AP=!0}if(1a.3o5)1j(pc=1a.2fd.2a.1h,ac=0;ac<pc;ac++)vc=1a.2fd.2a[ac],a.13l.1q(vc)}if(1a.1vo){1d Bc=a.3w.1x3,zc=1g A;A.1z0(Bc,zc);1j(ac=0;6>ac;ac++)A.10r(zc,1a.1iA[ac],1a.2zk[ac])}}};ad.1i.5A7=1b(a){1j(1d b=1a.1Q9,c=0,d=1a.2Lv;c<d;++c)a.13l.1q(b[c])};ad.1i.2Le=1b(){1a.1Mz.2Le()};ad.1i.1DR=1b(a){1f 1a.1Bi.1DR(a)};ad.1i.4sx=1b(a,b){1d c=b.12f,d=b.2g;if(g(c)&&g(c.2g)&&c.2g.19M===Zc.1My)d.19M=Zc.1My,b.4F=vi.1k0;1s{c=!0;if(g(d)){c=d.2Lt!==b||b.1qE===$c.3ol;1d e=d.19M}Ge.1UA(b,a,1a.16u,1a.1Mz,1a.3oM,c);d=b.2g;c&&e!==b.2g.19M&&1a.3QC(b,a,1a.2eX.5Ac)&&d.2Lt===b&&Ge.1UA(b,a,1a.16u,1a.1Mz,1a.3oM,!1);b.1jP&&1a.4vX.5k(b)}};1d 5AM=1g P,4vW=1g Q,5AO=1g Q,5AN=1g T;ad.1i.3QC=1b(a,b,c){1d d=1a.4sv(a,b);a.172=d;if(b.1ep.3e&&1<=B.1ep(d,b.1ep.1DZ))1f dj.6i;1d e=a.2g;d=e.1Mq;if(1p 0===e.2Lt)1f dj.3Sx;1d f=b.1dj,h=e.1ls;!g(h)&&g(e.1PX)&&(h=e.1PX.21e);e.2Lr=!1;1d l=GT(a.3g,1a.33B);l=Q.2Lm(l,a.3g,4vW);if(!g(l))1f dj.6i;Q.2L(l,a.3g)||(e.2Lr=!0);b.3z!==O.6G&&(h=5AM,P.33z(a.3g,b.11s,d.13w,d.12x,h),k.9v(h.2V.z,h.2V.x,h.2V.y,h.2V),b.3z===O.1at&&g(e.1PX)&&(h=P.1nu(e.1PX.21e,h,h)));l=1a.1cX;if(g(l)&&l.3e&&g(h)&&(l=l.3Sw(h),a.26S=l!==Lb.27N,l===Lb.1gB))1f dj.6i;a=Lb.1wT;if(g(h)&&(a=f.1su(h),a===Lb.1gB))1f dj.6i;f=b.3z===O.6G&&b.3w.3j 2m Jb;1f b.3z===O.6G&&!f&&g(c)?(b=e.1UK,!g(b)||c.3c.5AL(b,d.13w)?a:dj.6i):a};ad.1i.5AK=1b(a){1f g(a.2g.1ix)?!0:1p 0!==1a.16u.2fl(2*a.x,2*a.y,a.6b+1)};1d PA=[],GF=[];ad.1i.4vV=1b(a,b){1d c=a.2g;PA.1h=1a.1Mz.1h;1d d=b=!1;if(g(c)){b=c.19M===Zc.1cY;d=!0;1d e=c.8v}1d f;c=0;1j(f=PA.1h;c<f;++c)PA[c]=d;if(g(e))1j(c=0,f=e.1h;c<f;++c){d=e[c];1d h=d.1jO;h=!g(h)||h.4F===Sb.12D||h.4F===Sb.1My;d=(d.1jO||d.1mk).1ec.1nr;PA[d]=h&&PA[d]}e=1a.2eX.2nF;GF.1h=0;1j(GF.1q(a.1wJ,a.1yy,a.1yz,a.1AI);0<GF.1h;)if(c=GF.9l(),f=c.1Uz===e?c.1qE:$c.6i,f===$c.1xf){if(g(c.2g)){if(!b&&c.2g.19M===Zc.1cY)1f!1;a=c.2g.8v;c=0;1j(f=a.1h;c<f;++c)if(d=a[c],h=d.1jO,h=!g(h)||h.4F===Sb.12D||h.4F===Sb.1My,d=(d.1jO||d.1mk).1ec.1nr,h&&!PA[d])1f!1}}1s f===$c.31V&&GF.1q(c.1wJ,c.1yy,c.1yz,c.1AI);1f!0};1d $Ua=1g k;ad.1i.3Sv=1b(a,b){1d c=a.2g;if(1p 0===c)1f 0;1d d=c.1ls;if(1p 0===d)1f 0;c=b.3w.18k;b=k.3V(d.2V,b.3w.6K,$Ua);d=k.7t(b);if(d<B.1tO)1f 0;k.1eE(b,d,b);1f(1-k.2A(b,c))*a.172};1d 4vU=1g A,VJ=1g A,5AJ=1g E,5AI=1g E,5AH=1g k,4vT=1g k,5AG=1g k,5AF=1g k;ad.1i.4sw=1b(a,b){b=0;1j(1d c=a.2g.8v,d=0,e=c.1h;d<e;++d){1d f=c[d];g(f.1mk)&&0!==f.1mk.1ec.2O&&++b}c=1a.33P[b];g(c)||(c=[],1a.33P[b]=c);c.1q(a);g(a.2g.4c)?1a.4vS=!0:1a.4vR=!0;a=1a.1JC;++a.2Lu;a.7Jd+=b};1d HF=[1g k,1g k,1g k,1g k];ad.1i.4sv=1b(a,b){a:{1d c=a.2g;1p 0===c&&(c=a.2g=1g Ge);1p 0===c.1Mq&&(c.1Mq=1g rk({3Su:!1,3g:a.3g,3c:a.8c.3c,13w:0,12x:0}));1d d=c.1ix;1d e=c.13q;c=c.1Mq;if(1p 0!==e&&1p 0!==e.13w&&1p 0!==e.12x)c.13w=e.13w,c.12x=e.12x,e=a;1s if(1p 0!==d&&1p 0!==d.1GD&&1p 0!==d.1DY)c.13w=d.1GD*b.1DM,c.12x=d.1DY*b.1DM,e=a;1s{c.13w=3a.1hO;c.12x=3a.1hO;1j(d=a.12f;1p 0!==d;){e=d.2g;if(1p 0!==e){1d f=e.13q;if(1p 0!==f&&1p 0!==f.13w&&1p 0!==f.12x){c.13w=f.13w;c.12x=f.12x;e=d;1W a}e=e.1ix;if(1p 0!==e&&1p 0!==e.1GD&&1p 0!==e.1DY){c.13w=e.1GD*b.1DM;c.12x=e.1DY*b.1DM;e=d;1W a}}d=d.12f}e=1p 0}}d=a.2g;c=d.1Mq;if(1p 0===e)1f 7Jc;if(d.2Lt!==e&&(d.2Lt=e,g(a.3g))){d.1ls=yc.21r(a.3g,c.13w,c.12x,a.8c.3c,d.1ls);e=d.1ls.2V;f=a.3g;1d h=c.13w,l=c.12x,p=d.1UK,n=1a.2eX.2Lc.3c,m=n.3c;k.15i(f.4o,f.4C,l,m,HF[0]);k.15i(f.5a,f.4C,l,m,HF[1]);k.15i(f.4o,f.4P,l,m,HF[2]);k.15i(f.5a,f.4P,l,m,HF[3]);e=n.3St(e,HF,h,p);d.1UK=e}e=c.13w;f=c.12x;d.2Lt!==a&&(a=b.3w.19I.1D,1k.abs(a-e)>1k.abs(a-f)?(c.13w=e,c.12x=e):(c.13w=f,c.12x=f));b=c.1w8(b);c.13w=e;c.12x=f;1f b};ad.1i.4vQ=1b(a,b){a.2p&&(1a.5AC(a,b),1a.5AB(a,b))};ad.1i.4vP=1b(a,b){g(a.1jf)&&(1a.1qL.2zd(1b(b){b=b.2g.8v;1j(1d c=-1,e=0,f=0,h=b.1h;f<h;++f){1d l=b[f],k=l.1jO;g(k)||(k=l.1mk);if(k.1ec===a)-1===c&&(c=f),l.1Mu(),++e;1s if(-1!==c)1W}-1!==c&&b.6z(c,e)}),g(a.1jf)&&(a.1jf.21q=1p 0),1a.33O.5k());g(a.1Q7)&&(1a.1qL.2zd(1b(b){b=b.2g.2Ll;1j(1d c=-1,e=0,f=0,h=b.1h;f<h;++f){1d l=b[f],k=l.2zi;g(k)||(k=l.21m);if(k.2nR===a)-1===c&&(c=f),l.1Mu(),++e;1s if(-1!==c)1W}-1!==c&&b.6z(c,e)}),g(a.1Q7)&&(a.1Q7.21q=1p 0))};ad.1i.5AE=1b(a,b,c){1a.2fw=!0;1a.33O.5k()};ad.1i.5AD=1b(a,b,c){c?1a.4vQ(a,b):1a.4vP(a,b)};ad.1i.5AC=1b(a,b){1d c=1a.1Bi,d=1a;b=a.1jf;if(g(b)){1d e=1a.33O;b.21q=1b(){a.20y={};d.1qL.2zd(1b(b){if(!g(b.2Ls[a.1nr])){1d d,e=b.2g.8v,f=e.1h,k=-1,q=0;1j(d=0;d<f;++d){1d w=e[d];if(m(w.1mk,w.1jO).1ec===a)-1===k&&(k=d),++q;1s if(-1!==k)1W}-1!==k&&a.2nL(b,c,k+q)&&(b.2Ls[a.1nr]=4vO(q,a,c),b.4F=vi.1gu)}})};1a.1qL.2zd(1b(b){a.2nL(b,c)&&(b.4F=vi.1gu,0===b.6b||b.1Uz===d.2eX.2nF&&b.1qE===$c.1xf||(b.1jP=!1))});1a.2fw=!0;e.5k()}};ad.1i.5AB=1b(a,b){1d c=1a.1Bi,d=1a;b=a.1Q7;if(g(b)){1d e=1a.33O;b.21q=1b(){a.2nQ={};d.1qL.2zd(1b(b){if(!g(b.2Ls[a.1nr])){1d d,e=b.2g.2Ll,f=e.1h,k=-1,q=0;1j(d=0;d<f;++d){1d w=e[d];if(m(w.21m,w.2zi).2nR===a)-1===k&&(k=d),++q;1s if(-1!==k)1W}-1!==k&&a.2nL(b,c,k+q)&&(b.2Ls[a.1nr]=4vO(q,a,c),b.4F=vi.1gu)}})};1a.1qL.2zd(1b(b){a.2nL(b,c)&&(b.4F=vi.1gu,0===b.6b||b.1Uz===d.2eX.2nF&&b.1qE===$c.1xf||(b.1jP=!1))});1a.2fw=!0;e.5k()}};1d 5AA=1g A,rD=1g E,4vN,4vM,oN;(1b(){1b a(a){1f 1g Kb({13g:a,161:1g zc({11C:!1,8z:!0}),17X:!1})}1d b=1g yb({3y:ai.25S({6e:1g k(2,2,2)})}),c=1g yb({3y:1g Ep({3L:1})}),d=1g A,e,f;4vN=1b(c,g){if(c===e)1f f;oN();e=c;d=A.1yU(c.1dK,c.2V,d);b.4a=d;b.2w.1A=Qb.1dc(g);1f f=a(b)};4vM=1b(b,g){if(b===e)1f f;oN();e=b;d=A.1PY(b.2V,d);d=A.2HS(d,b.3L,d);c.4a=d;c.2w.1A=Qb.1dc(g);1f f=a(c)};oN=1b(){g(f)&&(f.1M(),e=f=1p 0)}})();1d 5Az=1g E(0,0,0,0),5Ay={18Y:1p 0,33N:1p 0,3oL:1p 0,4vL:1p 0,4vK:1p 0,4vJ:1p 0,4vI:1p 0,4vH:1p 0,4vG:1p 0,4vF:1p 0,4vE:1p 0,4vD:1p 0,4vC:1p 0,2nC:1p 0,2z4:1p 0,2z3:1p 0,2nB:1p 0,4vB:1p 0,1lp:1p 0,4vA:1p 0,4vz:1p 0,4vy:1p 0,1cj:1p 0,2Lr:1p 0,4vx:1p 0,1SS:1p 0,3oK:1p 0,3oJ:!1},FF=1g E,oz=1g Jb,5Ax=1g Qc,5Aw=1g k;ad.1i.5Av=1b(a){if(!a.3w.1Mx&&g(1a.1dk)&&(0<1a.1GB.2a.1h&&g(1a.2zj)&&!1a.2L8&&3Sr(1a,a),1a.2L8)){g(1a.2zj)||(1a.2zj=1g Ca({1O:a.1O,1G:1tA,1D:1tA,8b:ua.9m,10v:1g Eb({14A:nb.10U,15u:Rb.10U})}));g(1a.3Ss)||(1a.3Ss=1g eb({1O:a.1O,13I:[1a.2zj],16Y:!1}));1a.2L8=!1;3Sr(1a,a);1d b=a.1O,c=1a.1GB,d=1a.27I;1j(q in c.15W)if(c.15W.3p(q)&&!d.8h(q+"3S5")){1j(1d e=c.1n(q),f=e.3o2,h=1g E,l=1g 4A(f.2w.1K.2a.1h),p=f.2w.1K.2a,n=0;n<p.1h;n+=3)h.x=p[n],h.y=p[n+1],h.z=p[n+2],h.w=1,l[n]=h.x,l[n+1]=h.y,l[n+2]=h.z;h=e.16b.2w.1K.2a.1h!==l.1h;e.16b.2w.1K.2a=l;h&&(e.16b.2w.st.2a=f.2w.st.2a,e.16b.2w.2U.2a=f.2w.2U.2a,e.16b.4N=f.4N);f={4f:0,7s:1};l=1g Oa({6Z:Ja.11G,4a:1a.2z0,6W:P.1aN(k.1iy(e.9M)),6t:ma.1Bk,7H:1a,8d:!1});d.1C(q+"3S5",l);h=1g bn(b);h.1lr=2;h.1cn.1kr=!0;a.18w[q+"7Jb"]=h;e.2Lq=h;HT(a,e.1Uv,h);h=1g bn(b);h.1lr=4;h.1cn.1kr=!0;a.18w[q+"2nS"]=h;e.2nS=h;HT(a,e.1Uv,h);l.4c=Fb.1M5({1O:b,3y:e.16b,7W:f,1tF:xa.7C,1qK:!0});h=1g ja({2i:"5gO",5p:["3Q 1m 4f;\\2J 1v 7s;\\n#1z 1Iy\\1B 1o 1ws;\\n#1u\\n\\1J 1m 14u;\\1J 1o 13i;\\1J 1v 6r;\\1J 1o 14o;\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   6r = 7s.xy;\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   14o = 4f.w;\\n#1z 1Iy\\n   1IA = 1ws;\\n#1u\\n}"]});l.2z=Ga.4t({1O:b,5O:h,5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 2v 1IO;\\1B 2v 1kS;\\1B 2v 1p5;\\1B 1o 1Fu;\\1B 1o 16R;\\1B 1o 1t1;\\1B 1o 1jr;\\1B 1o 1fO;\\1B 1o 1jq;\\1B 1o 1dw;\\1B 1o 1kT;\\1B 1m 1hA;\\1B 1o 1kQ;\\1B 1m 1gs;\\1B 1m 13v;\\n\\1J 1o 13i;\\1J 1v 6r;\\1J 1o 14o;\\n\\n\\1r 1k4(1o 1D)\\n{\\n\\4s 1mJ = 13R(1D - 0.2jt, 1t1);\\n\\4s 1dW = abs(1cu(1D));\\n\\4s 1dV = abs(1ct(1D));\\n\\4s dF = 1V(1dW, 1dV);\\n\\11r (1mJ < dF) ? 1.0 : 0.0;\\n}\\n\\1P 1fj(1o 1D)\\n{\\n\\4s 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\n\\4s 1i5 = (1D - 1dw) / 19U;\\n\\4s 1eP = 2Y(1i5, 0.0, 1.0);\\n\\10O 1kR = 1v(0.0, 1eP);\\n\\11r 1Y(1kS, 1kR).15A;\\n}\\n\\2s 2k()\\n{\\n#1z 5J\\n    1bp = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n    1bp = 2o(13i * 4u.w, 1.0);\\n#1u\\n   1v 8R = 6r.xy;\\n   2C = 1Y(1IO, 8R);\\n   if(1Fu > 0.1)\\n    {\\n        1o 1rQ = 1.0;\\n        if(1kQ > 0.1)\\n        {\\n            1v 8G = 6r.xy;\\n            8G.x = 8G.x * (1gs.z - 1gs.x) + 1gs.x;\\n            8G.y = 8G.y * (1gs.w - 1gs.y) + 1gs.y;\\n            if(8G.x>13v.x && 8G.x<13v.z && 8G.y> 13v.y&& 8G.y < 13v.w)\\n            {\\n                8G.xy = 8G.xy - 1v(13v.x, 13v.w);\\n                8G.x = 8G.x / (13v.z - 13v.x);\\n                8G.y = 1.0 - 8G.y / (13v.y - 13v.w);\\n                1m 1p4 = 1Y(1p5, 8G);\\n                if(1p4.r < 0.1)\\n                {\\n                    1rQ = 0.0;\\n                }\\n            }\\n            1s\\n            {\\n                1rQ = 0.0;\\n            }\\n        }\\n        if(1rQ > 0.2)\\n        {\\n            1m 1aA = 1m(1.0);\\n            1o 17Z = 1jr;\\n            if(14o <= 1fO && 14o >= 1jq)\\n            {\\n#1z 8p\\n                if(16R > 2.9)\\n                {\\n                    1o 1uo = 1k4(14o);\\n                    1aA = 3T(1fj(14o), 1hA, 1uo);\\n                }\\n                1s if(16R > 1.9)\\n                {\\n                    17Z = 1k4(14o);\\n                    1aA = 1hA;\\n                }\\n                1s if(16R > 0.9)\\n#1s\\n                if(16R > 0.9)\\n#1u\\n                {\\n                    1aA = 1fj(14o);\\n                }\\n                1s\\n                {\\n                    17Z = 0.0;\\n                }\\n            }\\n            1s\\n            {\\n                17Z = 0.5;\\n            }\\n            2C = 3T(2C, 1aA, 17Z);\\n        }\\n    }\\n}",7W:f});l.4w=pa.4t({8d:{3e:!1,18X:H.1sq},9J:{3e:!0}});l.4J=4vw(1a,e)}a=a.1O;b=1a.1GB;c=1a.27I;1j(1d m in b.15W)if(b.15W.3p(m)&&!c.8h(m+"3S4")){d=b.1n(m);1d q={4f:0,7s:1};e=1g Oa({6Z:Ja.11G,4a:1a.2z0,6t:ma.1Bk,7H:1a,8d:!1});c.1C(m+"3S4",e);e.4c=Fb.1M5({1O:a,3y:d.3S6,7W:q,1tF:xa.7C,1qK:!0});e.2z=Ga.4t({1O:a,5O:"3Q 1m 4f;\\2J 1v 1P2;\\1B 1v 4iz;\\1J 1v 6r;\\1B 2v 2dm;\\2s 2k()\\n{\\n    1o 1yq = 2jk(1Y(2dm, 1P2));\\n    1o 1D = 4f.z + 1yq;\\n    1m 6v = 1m(4f.xy, 1D, 1.0);\\n    6I = 11o * 6v;\\n    6r = 1P2;\\n}",5A:"3G 1v 6r;\\1B 2v 1IO;\\2s 2k()\\n{\\n    2C = 1Y(1IO, 6r);\\n}",7W:q});e.4w=pa.4t({8d:{3e:!1,18X:H.1sq},9J:{3e:!0}});e.4J=4vw(1a,d)}}};ad.1i.5At=1b(a){1a.2fu=1g Ca({1O:a.1O,1G:1tA,1D:1tA,8b:ua.9m,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U})});1a.5As=1g eb({1O:a.1O,13I:[1a.2fu],16Y:!1})};ad.1i.5Aq=1b(a){if(1a.3Sq!==1a.2Lp&&(1a.2Lp=1a.3Sq,1a.2ft=1a.2ft&&1a.2ft.1M(),g(1a.2Lp))){1d b=1a;Z(gf(b.2Lp),1b(c){b.2Lp===b.3Sq&&(b.2ft=1g Ca({1O:a.1O,5j:c,10v:1g Eb({18i:Ka.1av,18h:Ka.1av})}))})}};ad.1i.5Ap=1b(a){if(1a.3Sp!==1a.2Lo&&(1a.2Lo=1a.3Sp,1a.2fs=1a.2fs&&1a.2fs.1M(),g(1a.2Lo))){1d b=1a;Z(gf(b.2Lo),1b(c){b.2Lo===b.3Sp&&(b.2fs=1g Ca({1O:a.1O,5j:c,10v:1g Eb({18i:Ka.1av,18h:Ka.1av})}))})}};ad.1i.5Ar=1b(a){1a.2Ln=1g Ca({1O:a.1O,5j:{1G:1,1D:1,1a9:1g 4L([0,0,0,255])}})};ad.1i.4vu=1b(a,b){1d c=1g Ec({1A:1g y(0,0,0,1),4e:1});c.4Q=1g eb({1O:a.1O,13I:[b],16Y:!1});c.4w=pa.4t();c.5P(a.1O);c.4Q.1M()};ad.1i.5Au=1b(a){if(!a.3w.1Mx&&1a.33u&&g(1a.1dk)){1a.33u=!1;g(1a.2fu)||1a.5At(a);1j(1d b=3a.6w,c=1a.1GC.2a,d=0;d<c.1h;d++)1j(1d e=c[d].9M,f=0;f<e.1h;f+=3)b=1k.2o(b,e[f+2]);1a.3So=b-1a.4uK;c=1a.1GC;b=1g E(3a.6w,3a.6w,-3a.6w,-3a.6w);c=c.2a;1j(d=0;d<c.1h;d++){e=c[d].9M;f=1g E(3a.6w,3a.6w,-3a.6w,-3a.6w);1j(1d h=0;h<e.1h;h+=3){1d l=e[h],p=e[h+1];f.x=1k.2o(l,f.x);f.y=1k.2o(p,f.y);f.z=1k.1V(l,f.z);f.w=1k.1V(p,f.w)}E.4g(f,1k.PI/180,f);e=f;c[d].1Uv=e;b.x=1k.2o(e.x,b.x);b.y=1k.2o(e.y,b.y);b.z=1k.1V(e.z,b.z);b.w=1k.1V(e.w,b.w)}1a.3oI=b;b=4vv(1a.1GC);1a.4vu(a,1a.2fu);c=1a.1GC.2a.1h;1j(d=0;d<c;d++)e=1a.1GC.2a[d],UJ(a.1O,e,b,1a.2fu,"",1a.5As),e.10u.5P(a.1O);if(!(1>c||(g(1a.2Ln)||1a.5Ar(a),1a.4uL))){1a.5Aq(a);1a.5Ap(a);b=a.1O;c=1a.2yZ;d=1a.1GC;e=1a.2fd;f=1a.3So;h=1a.3oI;l=1g A;A.12Z(c,l);1j(1d n in d.15W)if(d.15W.3p(n)&&!e.8h(n+"3S2")){p=d.1n(n);1d m=p.3o2;1d q=[];1j(1d r=0;r<p.9M.1h;r+=3)q.1q(p.9M[r]),q.1q(p.9M[r+1]),q.1q(f);1d u=k.1iy(q);k.1iy(q);1d t=1g E;if(!0!==p.5Ao){q=m.2w.1K;1d v=q.2a.1h/q.2Z,y=1g 4A(4*v);1j(r=0;r<v;r++)t.x=q.2a[3*r],t.y=q.2a[3*r+1],t.z=q.2a[3*r+2],t.w=1,t=T.12y(t),t=k.15i(t.3N,t.4k,f),A.8P(l,t,t),y[4*r]=t.x,y[4*r+1]=t.y,y[4*r+2]=t.z,y[4*r+3]=t.z;q.2a=y;q.2Z=4;q.3k=I.3O;p.5Ao=!0}r={4f:0,7s:1};u=1g Oa({6Z:Ja.11G,4a:c,6W:P.1aN(u),6t:ma.1Bk,7H:1a,8d:!1});e.1C(n+"3S2",u);u.4c=Fb.1M5({1O:b,3y:m,7W:r,1tF:xa.7C,1qK:!0});u.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\2J 1v 7s;\\n#1z 1Iy\\1B 1o 1ws;\\n#1u\\n\\1J 1m 14u;\\1J 1o 13i;\\1J 1v 6r;\\1J 1o 14o;\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   6r = 7s.xy;\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   14o = 4f.w;\\n#1z 1Iy\\n   1IA = 1ws;\\n#1u\\n}",5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 2v 1IO;\\1B 2v 1kS;\\1B 2v 1p5;\\1B 1o 1Fu;\\1B 1o 16R;\\1B 1o 1t1;\\1B 1o 1jr;\\1B 1o 1fO;\\1B 1o 1jq;\\1B 1o 1dw;\\1B 1o 1kT;\\1B 1m 1hA;\\1B 1o 1kQ;\\1B 1m 1gs;\\1B 1m 13v;\\n\\1J 1o 13i;\\1J 1v 6r;\\1J 1o 14o;\\n\\n\\1r 1k4(1o 1D)\\n{\\n\\4s 1mJ = 13R(1D - 0.2jt, 1t1);\\n\\4s 1dW = abs(1cu(1D));\\n\\4s 1dV = abs(1ct(1D));\\n\\4s dF = 1V(1dW, 1dV);\\n\\11r (1mJ < dF) ? 1.0 : 0.0;\\n}\\n\\1P 1fj(1o 1D)\\n{\\n\\4s 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\n\\4s 1i5 = (1D - 1dw) / 19U;\\n\\4s 1eP = 2Y(1i5, 0.0, 1.0);\\n\\10O 1kR = 1v(0.0, 1eP);\\n\\11r 1Y(1kS, 1kR).15A;\\n}\\n\\2s 2k()\\n{\\n#1z 5J\\n    1bp = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n    1bp = 2o(13i * 4u.w, 1.0);\\n#1u\\n   1v 8R = 6r.xy;\\n   2C = 1Y(1IO, 8R);\\n   if(1Fu > 0.1)\\n    {\\n        1o 1rQ = 1.0;\\n        if(1kQ > 0.1)\\n        {\\n            1v 8G = 6r.xy;\\n            8G.x = 8G.x * (1gs.z - 1gs.x) + 1gs.x;\\n            8G.y = 8G.y * (1gs.w - 1gs.y) + 1gs.y;\\n            if(8G.x>13v.x && 8G.x<13v.z && 8G.y> 13v.y&& 8G.y < 13v.w)\\n            {\\n                8G.xy = 8G.xy - 1v(13v.x, 13v.w);\\n                8G.x = 8G.x / (13v.z - 13v.x);\\n                8G.y = 1.0 - 8G.y / (13v.y - 13v.w);\\n                1m 1p4 = 1Y(1p5, 8G);\\n                if(1p4.r < 0.1)\\n                {\\n                    1rQ = 0.0;\\n                }\\n            }\\n            1s\\n            {\\n                1rQ = 0.0;\\n            }\\n        }\\n        if(1rQ > 0.2)\\n        {\\n            1m 1aA = 1m(1.0);\\n            1o 17Z = 1jr;\\n            if(14o <= 1fO && 14o >= 1jq)\\n            {\\n#1z 8p\\n                if(16R > 2.9)\\n                {\\n                    1o 1uo = 1k4(14o);\\n                    1aA = 3T(1fj(14o), 1hA, 1uo);\\n                }\\n                1s if(16R > 1.9)\\n                {\\n                    17Z = 1k4(14o);\\n                    1aA = 1hA;\\n                }\\n                1s if(16R > 0.9)\\n#1s\\n                if(16R > 0.9)\\n#1u\\n                {\\n                    1aA = 1fj(14o);\\n                }\\n                1s\\n                {\\n                    17Z = 0.0;\\n                }\\n            }\\n            1s\\n            {\\n                17Z = 0.5;\\n            }\\n            2C = 3T(2C, 1aA, 17Z);\\n        }\\n    }\\n}",7W:r});u.4w=pa.4t({8d:{3e:!1,18X:H.1sq},9J:{3e:!0}});u.4J=4vt(1a,h,p,!0,!0)}n=a.1O;b=1a.2yZ;c=1a.1GC;d=1a.2fd;e=1a.3So;f=1a.3oI;h=1g A;A.12Z(b,h);l=1g E;1j(1d C in c.15W)if(c.15W.3p(C)&&(p=c.1n(C),!d.8h(C))){v=c.1n(C).9M;y=v.1h/3;m=k.1iy(v);t=1g 4A(8*y);q=1g 4A(6*y);u=1g 4A(4*y);r=1g 10Y(6*y);1j(1d F=0;F<y-1;F++)r[6*F]=2*F,r[6*F+1]=2+2*F,r[6*F+2]=3+2*F,r[6*F+3]=2*F,r[6*F+4]=3+2*F,r[6*F+5]=1+2*F;r[6*(y-1)]=2*(y-1);r[6*(y-1)+1]=0;r[6*(y-1)+2]=1;r[6*(y-1)+3]=2*(y-1);r[6*(y-1)+4]=1;r[6*(y-1)+5]=1+2*(y-1);1d J=p.1Uv,M=J.z-J.x,N=J.w-J.y;1j(F=0;F<y;F++){q[6*F]=q[6*F+3]=(B.8I(v[3*F])-J.x)/M;q[6*F+1]=q[6*F+4]=(B.8I(v[3*F+1])-J.y)/N;q[6*F+2]=q[6*F+5]=e;u[4*F]=F;u[4*F+1]=1;u[4*F+2]=F;u[4*F+3]=0;1d K=k.8g(v[3*F],v[3*F+1],-1E4),O=k.8g(v[3*F],v[3*F+1],1E4);l.x=K.x;l.y=K.y;l.z=K.z;l.w=1;A.10r(h,l,l);K.x=l.x;K.y=l.y;K.z=l.z;l.x=O.x;l.y=O.y;l.z=O.z;l.w=1;A.10r(h,l,l);O.x=l.x;O.y=l.y;O.z=l.z;t[8*F]=O.x;t[8*F+1]=O.y;t[8*F+2]=O.z;t[8*F+3]=1E4;t[8*F+4]=K.x;t[8*F+5]=K.y;t[8*F+6]=K.z;t[8*F+7]=-1E4}y=Ra.12S({1O:n,5b:t,7Q:xa.7C});t=Ra.12S({1O:n,5b:q,7Q:xa.7C});q=[];v={4f:0,7s:1};q.1q({2P:v.4f,7e:y,2Z:4,3k:I.3O,9n:0,9t:16,1T:!1});q.1q({2P:v.7s,7e:t,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});r=Ra.17Q({1O:n,5b:r,7Q:xa.7C,17P:Ta.10P});y=1g ja({5p:["3Q 1m 4f;\\2J 1m 7s;\\2J 1m 13x;\\n\\1B 2v 1OS;\\1J 1v 1yl;\\1J 1o 14o;\\1J 1o 1D;\\1J 1o 1Zj;\\n#1z 1Zi\\1J 1v 2YP;\\n#1u\\n\\2s 2k()\\n{\\n\\3JO = 7s.xy;\\n#1z 1Zi\\n\\5gM = 13x.xy;\\n#1u\\n\\1tg = 1wa(11o * 1m(4f.1H, 1.0));\\n\\5gL = 4f.w;\\n\\5gK = 7s.z;\\n}"]});t=1g ja({5p:["#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 2v 2dm;\\1B 2v 1IO;\\n\\1B 2v 1kS;\\1B 2v 1p5;\\1B 1o 1Fu;\\1B 1o 16R;\\1B 1o 1t1;\\1B 1o 1jr;\\1B 1o 1fO;\\1B 1o 1jq;\\1B 1o 1dw;\\1B 1o 1kT;\\1B 1m 1hA;\\1B 1o 1kQ;\\1B 1m 1gs;\\1B 1m 13v;\\1J 1v 1yl;\\1J 1o 14o;\\1J 1o 1D;\\1J 1o 1Zj;\\n#1z 1Zi\\1J 1v 2YP;\\n#1u\\n\\1r 1k4(1o 1D)\\n{\\n\\4s 1mJ = 13R(1D - 0.2jt, 1t1);\\n\\4s 1dW = abs(1cu(1D));\\n\\4s 1dV = abs(1ct(1D));\\n\\4s dF = 1V(1dW, 1dV);\\n\\11r (1mJ < dF) ? 1.0 : 0.0;\\n}\\n\\1P 1fj(1o 1D)\\n{\\n\\4s 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\n\\4s 1i5 = (1D - 1dw) / 19U;\\n\\4s 1eP = 2Y(1i5, 0.0, 1.0);\\n\\10O 1kR = 1v(0.0, 1eP);\\n\\11r 1Y(1kS, 1kR).15A;\\n}\\n\\2s 2k()\\n{\\1Cz();\\n\\10O 8R = 1yl;\\n#1z 1Zi\\n\\5gN = 2YP;\\n#1u\\1r 1yq = 1V(2jk(1Y(2dm, 1yl)), 0.0);\\1U(1yq < -2UT.0 || 1yq > 1F7.0){\\n    1yq = 0.0;\\n}\\n#1bI 1Zi\\n   if(1Zj > 1yq)\\n   {\\n        if(1D > 1Zj|| 1D < 1yq - 500.0)\\n        {\\n             7o;\\n        }\\n   }\\n   1s\\n   {\\n        if(1D > 1yq || 1D < 1Zj - 500.0)\\n        {\\n            7o;\\n        }\\n    }\\n#1s\\n        if(1D > 1yq || 1D < 1Zj)\\n        {\\n           7o;\\n        }\\n#1u\\n\\14F = 1m(1Y(1IO, 8R).2y, 1.0);\\n\\9u(1Fu > 0.1)\\n    {\\n        1o 1rQ = 1.0;\\n        if(1kQ > 0.1)\\n        {\\n            1v 8G = 1yl.xy;\\n            8G.x = 8G.x * (1gs.z - 1gs.x) + 1gs.x;\\n            8G.y = 8G.y * (1gs.w - 1gs.y) + 1gs.y;\\n            if(8G.x>13v.x && 8G.x<13v.z && 8G.y> 13v.y&& 8G.y < 13v.w)\\n            {\\n                8G.xy = 8G.xy - 1v(13v.x, 13v.w);\\n                8G.x = 8G.x / (13v.z - 13v.x);\\n                8G.y = 1.0 - 8G.y / (13v.y - 13v.w);\\n                1m 1p4 = 1Y(1p5, 8G);\\n                if(1p4.r < 0.1)\\n                {\\n                    1rQ = 0.0;\\n                }\\n            }\\n            1s\\n            {\\n                1rQ = 0.0;\\n            }\\n        }\\n        if(1rQ > 0.2)\\n        {\\n            1m 1aA = 1m(1.0);\\n            1o 17Z = 1jr;\\n            if(14o <= 1fO && 14o >= 1jq)\\n            {\\n#1z 8p\\n                if(16R > 2.9)\\n                {\\n                    1o 1uo = 1k4(14o);\\n                    1aA = 3T(1fj(14o), 1hA, 1uo);\\n                }\\n                1s if(16R > 1.9)\\n                {\\n                    17Z = 1k4(14o);\\n                    1aA = 1hA;\\n                }\\n                1s if(16R > 0.9)\\n#1s\\n                if(16R > 0.9)\\n#1u\\n                {\\n                    1aA = 1fj(14o);\\n                }\\n                1s\\n                {\\n                    17Z = 0.0;\\n                }\\n            }\\n            1s\\n            {\\n                17Z = 0.5;\\n            }\\n            2C = 3T(2C, 1aA, 17Z);\\n        }\\n    }\\n}"]});t.2N.1q("1Zi");y.2N.1q("1Zi");v.13x=2;u=Ra.12S({1O:n,5b:u,7Q:xa.7C});q.1q({2P:v.13x,7e:u,2Z:2,3k:I.3O,9n:0,9t:8,1T:!1});m=P.1aN(m);m.3L=1E4;m=1g Oa({6Z:Ja.11G,4a:b,6W:m,6t:ma.1Bk,7H:1a,8d:!1});d.1C(C,m);u=1g bn(a.1O);u.1lr=4;u.1cn.1kr=!0;a.18w[C+"7Ja"]=u;HT(a,p.1Uv,u);p.2nS=u;m.4c=1g Fb({1O:n,2w:q,10X:r});m.2z=Ga.4t({1O:n,5O:y,5A:t,7W:v});m.4w=pa.4t({8d:{3e:!1,18X:H.1sq},9J:{3e:!0},1bB:{3e:!0,8H:2,13u:2}});m.4J=4vt(1a,f,p,!0,!1)}}}};ad.1i.2L7=1b(){1a.1vo=!1;1a.1Mw=0};ad.1i.2nA=1b(a){a=a||{};if(!(a.6e&&a.1K||a.2fc&&a.1gm))1t 1g r("6e 1K is 1X to 6F 4vs");1a.1Mw=2;if(g(a.3oH))6U(a.3oH){1S"4vr":1a.1Mw=1;1W;1S"5An":1a.1Mw=2;1W;1S"5Am":1a.1Mw=3}a.21b&&a.21b 2m y&&(1a.2fv=1g E(a.21b.5r,a.21b.5t,a.21b.5G,a.21b.2O));if(a.6e){1d b=1g A,c=a.1K,d=1g $b(a.8e||0,a.8q||0,a.12C||0);Da.1nq(c,d,ba.9y,b);c=.5*a.6e.x;d=.5*a.6e.y;1d e=.5*a.6e.z;a=[];a[0]=1g E;a[0].x=-c;a[0].y=d;a[0].z=e;a[0].w=1;a[1]=1g E;a[1].x=c;a[1].y=d;a[1].z=e;a[1].w=1;a[2]=1g E;a[2].x=c;a[2].y=-d;a[2].z=e;a[2].w=1;a[3]=1g E;a[3].x=-c;a[3].y=-d;a[3].z=e;a[3].w=1;a[4]=1g E;a[4].x=-c;a[4].y=d;a[4].z=-e;a[4].w=1;a[5]=1g E;a[5].x=c;a[5].y=d;a[5].z=-e;a[5].w=1;a[6]=1g E;a[6].x=c;a[6].y=-d;a[6].z=-e;a[6].w=1;a[7]=1g E;a[7].x=-c;a[7].y=-d;a[7].z=-e;a[7].w=1;1j(c=0;8>c;c++)A.10r(b,a[c],a[c]);1a.1iA[0]=E.1y(pz(a[0],a[1],a[2]));1a.1iA[1]=E.1y(pz(a[0],a[4],a[1]));1a.1iA[2]=E.1y(pz(a[0],a[3],a[4]));1a.1iA[3]=E.1y(pz(a[6],a[2],a[5]));1a.1iA[4]=E.1y(pz(a[6],a[7],a[2]));1a.1iA[5]=E.1y(pz(a[6],a[5],a[7]))}1s 1j(c=0;c<a.2fc.1h;c++)b=a.2fc[c],d=a.1gm[c],1a.1iA[c].x=d.x,1a.1iA[c].y=d.y,1a.1iA[c].z=d.z,1a.1iA[c].w=-k.2A(b,d);1a.1vo=!0};ad.1i.3S3=1b(){1j(1d a=1a.1GB.2a,b=0,c=a.1h;b<c;b++)a[b].1M();1a.1GB.7f();a=1a.27I;b=0;1j(c=a.1h;b<c;b++){1d d=a.2a[b];d.4c=d.4c&&!d.4c.3Z()&&d.4c.1M();d.2z=d.2z&&!d.2z.3Z()&&d.2z.1M()}1a.27I.7f();1a.2z0=1p 0;1a.2L8=!1};ad.1i.33t=1b(){1j(1d a=1a.1GC.2a,b=0,c=a.1h;b<c;b++)a[b].1M();1a.1GC.7f();a=1a.2fd;b=0;1j(c=a.1h;b<c;b++){1d d=a.2a[b];d.4c=d.4c&&!d.4c.3Z()&&d.4c.1M();d.2z=d.2z&&!d.2z.3Z()&&d.2z.1M()}1a.2fd.7f();1a.2fu=1a.2fu&&1a.2fu.1M();1a.2ft=1a.2ft&&1a.2ft.1M();1a.2Lp=1p 0;1a.2fs=1a.2fs&&1a.2fs.1M();1a.2Lo=1p 0;1a.2Ln=1a.2Ln&&1a.2Ln.1M();1a.33u=!1;1a.2yZ=1p 0};ad.1i.3Z=1b(){1f!1};ad.1i.1M=1b(){1a.7Y=1a.7Y&&1a.7Y.1M();1a.1cX=1a.1cX&&1a.1cX.1M();1a.33t();1a.3S3();1a.1dk=1a.1dk&&1a.1dk.1M();1a.2fr=1a.2fr&&1a.2fr.1M();1j(1d a=0;a<1a.2zf.1h;a++)g(1a.2Lh[a])&&1a.2Lh[a].1M(),1a.33J[a].1M();1f la(1a)};1d Bg=1L.3F({12D:0,1vn:1,27M:2,1sB:3,7J9:4,1cY:5,3Sn:6});sD.1i.2zh=1b(){++1a.1d2};sD.1i.1UJ=1b(){--1a.1d2;1f 0===1a.1d2?(1a.2nR.5Al(1a),g(1a.12f)&&1a.12f.1UJ(),g(1a.4vq)&&g(1a.4vq.1M)&&1a.4vq.1M(),g(1a.7y)&&1a.7y.1M(),g(1a.21p)&&1a.7y!==1a.21p&&1a.21p.1M(),la(1a),0):1a.1d2};sD.1i.3Sm=1b(a,b,c){1a.4F!==Bg.1vn||c||(1a.4F=Bg.27M,1a.2nR.3RR(1a));if(1a.4F===Bg.1sB||1a.4F===Bg.3Sn)1a.4F=Bg.27M,1a.2nR.3oF(a.1O,1a);1f!0};WJ.1i.1Mu=1b(){g(1a.1mk)&&1a.1mk.1UJ();g(1a.1jO)&&1a.1jO.1UJ()};WJ.1i.3Sm=1b(a,b,c){1d d=1a.2zi;if(1p 0==d)if(g(1a.21m)&&1a.21m.4F==Bg.3Sn)1a.2zi=1a.21m,1a.21m=1p 0,d=1a.2zi;1s 1f!1;1d e=d.2nR;d.3Sm(b,!1a.1UF,c);1f d.4F===Bg.1cY?(g(1a.21m)&&1a.21m.1UJ(),1a.21m=1a.2zi,1a.2zi=1p 0,1a.21o=e.2Lk(a,1a),!0):!1};1L.2X(cj.1i,{1Q7:{1n:1b(){1f 1a.1vm}},3g:{1n:1b(){1f 1a.7T}},4vp:{1n:1b(){if(1a.1UI)if(1a.1vm.3o)1a.2nP=1a.1vm.1Mn,1a.1UI=!1;1s 1t 1g 2w2("4vp 2Q 2S be 7I 8w 1Z 1FR 9Z is 3o");1s 1f 1a.2nP}},4vo:{1n:1b(){if(1a.1UI)if(1a.1vm.3o)1a.2fq=1a.1vm.1Mo,1a.1UI=!1;1s 1t 1g 2w2("4vo 2Q 2S be 7I 8w 1Z 1FR 9Z is 3o");1s 1f 1a.2fq}},21g:{1n:1b(){1f{21g:1a.6J,2Lb:1a.1Uy}},1C:1b(a){4vn(1a,a)}}});cj.1i.1M=1b(){1f la(1a)};cj.1i.2Le=1b(){};cj.1i.3oy=1b(a){};cj.1i.3Sl=1b(){1d a=1a.1vm,b=1a.7T;1f a.9c.4b(1b(){1f Q.17d(a.3g,b)})};cj.1i.4vg=1b(a,b,c,d){1d e=4H.8s([a,b,c]),f=1a.2nQ[e];g(f)||(f=1g sD(1a,a,b,c,d),1a.2nQ[e]=f);f.2zh();1f f};cj.1i.7J8=1b(a){1j(1d b=1L.2a(1a.2nQ),c=1p 0,d=0;d<b.1h;d++){1d e=b[d];if(e.4F==Bg.1cY&&4vm(e,a)){c=4vl(1a,e.x,e.y,e.6b,a);c=g(c)?c:e;1W}}if(!g(c))1f-1;e=(a.3N-c.3g.4o)/c.3g.1G;a=(c.3g.4P-a.4k)/c.3g.1D;e=1k.1V(1k.2t(e*1a.1vm.20Y),0);a=1k.1V(1k.2t(a*1a.1vm.2yW),0);1f 4vk(1a.1vm,c.3oE,e,a,1a.1B9)};cj.1i.5Al=1b(a){a=4H.8s([a.x,a.y,a.6b]);4Y 1a.2nQ[a]};cj.1i.3RR=1b(a){1b b(b){if(!g(b))1f c();a.3oE=b;a.4F=Bg.1sB}1b c(){a.7M.4F===$d.21n?(a.3oE=1p 0,a.4F=Bg.1vn):a.4F=Bg.12D;a.7M=1p 0}1d d=1a.1vm;(1b(){1d e=1g Ke({1j8:!1,1mj:!0,1I:Jd.1Q8});a.7M=e;e=d.3RR(a.x,a.y,a.6b,e);g(e)?(a.4F=Bg.3oG,Z(e,b,c)):(a.4F=Bg.1vn,a.7M=1p 0)})()};cj.1i.3oF=1b(a,b){1d c=1a.1vm,d=b.3oE;if(1p 0==d||1p 0==c||!c.3o)1f!1;1a.1UI&&1a.1vm.3o&&(1a.2fq=1a.1vm.1Mo,1a.2nP=1a.1vm.1Mn,1a.1UI=!1);1a.4j=a;if(1p 0==1a.6J&&(1a.1UI&&1a.1vm.3o&&(1a.2fq=1a.1vm.1Mo,1a.2nP=1a.1vm.1Mn,1a.1UI=!1),1p 0==1a.6J)){a=1g bh;1a.6J=1g Jr;1a.6J.2fp=0;1j(1d e=[y.5X("#7J7"),y.5X("#7J6"),y.5X("#7J5"),y.5X("#7J4"),y.5X("#7J3"),y.5X("#7J2"),y.5X("#7J1"),y.5X("#7J0"),y.5X("#7IZ"),y.5X("#7IY"),y.5X("#7IX"),y.5X("#7IW"),y.5X("#7IV"),y.5X("#7IU"),y.5X("#7IT"),y.5X("#7IS"),y.5X("#7IR"),y.5X("#7IQ"),y.5X("#7IP"),y.5X("#7IO"),y.5X("#7IN"),y.5X("#7IM"),y.5X("#7IL"),y.5X("#7IK"),y.5X("#7IJ"),y.5X("#7II"),y.5X("#7IH"),y.5X("#7IG"),y.5X("#7IF"),y.5X("#7IE"),y.5X("#7ID"),y.5X("#7IC")],f=(1a.2nP-1a.2fq)/31,h=0;32>h;h++)a.1v1(1a.2fq+f*h,e[h]);1a.6J.1FE=a;1a.6J.1ml=Cc.1ml.3oD;1a.6J.2zg=.618;1a.6J.2nM=1a.2nP;1a.6J.2nN=1a.2fq;1a.6J.2fp=1a.2nP;1a.6J.2nO=1a.2fq;1a.6J.1FE.2yj()}1p 0==b.7y&&(b.7y=1g Ca({1O:1a.4j,1G:c.20Y,1D:c.2yW,8b:ua.9m,13E:!1}));a=1g 4L(c.20Y*c.2yW*4);1j(e=0;e<c.2yW;e++)1j(f=0;f<c.20Y;f++){h=(c.2yW-1-e)*c.20Y+f;1d g=4vk(c,d,f,e,1a.1B9);g<1a.6J.2nO||g>1a.6J.2fp||g<1a.6J.2nN||g>1a.6J.2nM?(a[4*h]=0,a[4*h+1]=0,a[4*h+2]=0,a[4*h+3]=0):(g=1a.6J.1FE.1eV(g),a[4*h]=255*g.5r,a[4*h+1]=255*g.5t,a[4*h+2]=255*g.5G,a[4*h+3]=255*g.2O)}b.7y.1iq({1G:c.20Y,1D:c.2yW,1a9:a});b.4F=Bg.1cY};1d 4vf=1g Q,5Ak=1g Q,VY=1g Q,4ve=1g Q;cj.1i.2nL=1b(a,b,c){1d d=a.2g,e=1a.1vm;if(!1a.2p||!e.3o)1f!1;g(c)||(c=d.2Ll.1h);1d f=e.8c.18T 2m Uc&&a.3g.4P<Uc.2nK&&a.3g.4C>-Uc.2nK,h=Q.17d(e.3g,1a.7T,4vf),l=Q.17d(a.3g,h,5Ak);if(1p 0==l)1f!1;1d k=0;0<l.4C?k=l.4C:0>l.4P&&(k=l.4P);1d n=1a.1vm;1d m=1*b.1DR(a.6b),q=g(n.1ko)?n.1ko:1;b=b.8c.14Q;1d r=1a.1vm,u=r.8c;k=u.3c.17i*u.3g.1G*(r.8c.18T 2m Td?1:1k.3i(k))/(r.20Y*u.1ou(0)/q);m=1k.9p(1k.7k(k/m*(r.20Y/b))/1k.7k(2))|0;m=1k.1V(0,m);k=n.3nY;m>k&&(m=k);g(n.4uz)&&(n=n.4uz,m<n&&(m=n));n=m;k=a.3g;q=e.8c;m=q.1mi(Q.21k(l),n);l=q.1mi(Q.2fk(l),n);b=k.1G/512;r=k.1D/512;u=q.1d1(m.x,m.y,n);1k.abs(u.4C-k.4P)<r&&m.y<l.y&&++m.y;1k.abs(u.5a-k.4o)<b&&m.x<l.x&&++m.x;q=q.1d1(l.x,l.y,n);1k.abs(q.4P-k.4C)<r&&l.y>m.y&&--l.y;1k.abs(q.4o-k.5a)<b&&l.x>m.x&&--l.x;k=a.3g.1G/512;q=a.3g.1D/512;e=e.8c;a=Q.1y(a.3g,4ve);b=e.1d1(m.x,m.y,n);r=Q.17d(b,h,VY);f?(e.1JD(a,a),e.1JD(b,b),e.1JD(r,r),e.1JD(h,h),e=e.1JE.7X(e),k=a.1G/512,q=a.1D/512):e=e.1d1.7X(e);a={4vj:k,4vh:q,1UG:a,3oC:b,1UH:r,4vi:e};k=0;q=1;1k.abs(a.1UH.4o-a.1UG.4o)>=a.4vj&&(k=1k.2o(1,(a.1UH.4o-a.1UG.4o)/a.1UG.1G));1k.abs(a.1UH.4P-a.1UG.4P)>=a.4vh&&(q=1k.1V(0,(a.1UH.4P-a.1UG.4C)/a.1UG.1D));b=q;1j(r=m.x;r<=l.x;r++)if(e=k,a.3oC=a.4vi(r,m.y,n),a.1UH=Q.2Lm(a.3oC,h,VY),g(a.1UH))1j(k=1k.2o(1,(a.1UH.5a-a.1UG.4o)/a.1UG.1G),r===l.x&&1k.abs(a.1UH.5a-a.1UG.5a)<a.4vj&&(k=1),q=b,u=m.y;u<=l.y;u++){1d t=q;a.3oC=a.4vi(r,u,n);a.1UH=Q.2Lm(a.3oC,h,VY);if(g(a.1UH)){q=1k.1V(0,(a.1UH.4C-a.1UG.4C)/a.1UG.1D);u===l.y&&1k.abs(a.1UH.4C-a.1UG.4C)<a.4vh&&(q=0);t=1g E(e,q,k,t);1d v=1a.4vg(r,u,n);d.2Ll.6z(c,0,1g WJ(v,t,f));++c}}1f!0};cj.1i.2Lk=1b(a,b){1d c=b.21m.3g;a=a.3g;b.1UF&&(b=b.7IB.1Q7.8c,c=b.1JD(c,4vf),a=b.1JD(a,4ve));b=a.1G;1d d=a.1D,e=b/c.1G,f=d/c.1D;1f 1g E(e*(a.4o-c.4o)/b,f*(a.4C-c.4C)/d,e,f)};1L.2X(Wf.1i,{1h:{1n:1b(){1f 1a.8U.1h}}});Wf.1i.add=1b(a,b){1d c=g(b);if(!g(a))1t 1g r("7r is 1X.");if(c){if(0>b)1t 1g r("2P 2Q be 9U 6L or 14B to 16m.");if(b>1a.8U.1h)1t 1g r("2P 2Q be 1do 6L or 14B to 1Z 2b of 9Q.");}c?1a.8U.6z(b,0,a):(b=1a.8U.1h,1a.8U.1q(a));1a.13A();1a.4vd.5k(a,b)};Wf.1i.2mG=1b(a,b){if(!g(a))1t 1g r("1jf is 1X.");a=1g Ac(a);1a.add(a,b);1f a};Wf.1i.5sK=1b(a,b){if(!g(a))1t 1g r("1jf is 1X.");a=1g Ac(a,{2Lj:a.2Lj,2Li:a.2Li});1a.add(a,b);1f a};Wf.1i.5Aj=1b(a,b){if(!g(a))1t 1g r("1Q7 is 1X.");a=1g cj(a);1a.add(a,b);1f a};Wf.1i.3S=1b(a,b){b=m(b,!0);1d c=1a.8U.3f(a);1f-1!==c?(1a.8U.6z(c,1),1a.13A(),1a.3Sk.5k(a,c),b&&a.1M(),!0):!1};Wf.1i.7f=1b(a){a=m(a,!0);1j(1d b=1a.8U,c=0,d=b.1h;c<d;c++){1d e=b[c];1a.3Sk.5k(e,c);a&&e.1M()}1a.8U=[]};Wf.1i.8h=1b(a){1f-1!==1a.3f(a)};Wf.1i.3f=1b(a){1f 1a.8U.3f(a)};Wf.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.","2P");1f 1a.8U[a]};Wf.1i.2yO=1b(a){a=XJ(1a.8U,a);4vc(1a,a,a+1)};Wf.1i.1wp=1b(a){a=XJ(1a.8U,a);4vc(1a,a,a-1)};Wf.1i.3oB=1b(a){1d b=XJ(1a.8U,a);b!==1a.8U.1h-1&&(1a.8U.6z(b,1),1a.8U.1q(a),1a.13A(),1a.3oz.5k(a,1a.8U.1h-1,b))};Wf.1i.3oA=1b(a){1d b=XJ(1a.8U,a);0!==b&&(1a.8U.6z(b,1),1a.8U.6z(0,0,a),1a.13A(),1a.3oz.5k(a,0,b))};1d 5Ah=1g Q;Wf.1i.5Ai=1b(a,b){a=b.10a.11P(a,b);if(g(a)){1d c=b.10a.3c.10Z(a);b=b.10a.7G.1tN;1d d;1j(a=0;!g(d)&&a<b.1h;++a){1d e=b[a];Q.8h(e.3g,c)&&(d=e)}if(g(d)){b=d.2g.8v;a=[];1d f=[];1j(e=b.1h-1;0<=e;--e){1d h=b[e],l=h.1mk;if(g(l)){1d k=l.1ec.1jf;if(g(k.1lk)&&Q.8h(l.3g,c)){1d n=5Ah,m=1/13j;n.4o=B.11x(d.3g.4o,d.3g.5a,h.1o2.x-m);n.5a=B.11x(d.3g.4o,d.3g.5a,h.1o2.z+m);n.4C=B.11x(d.3g.4C,d.3g.4P,h.1o2.y-m);n.4P=B.11x(d.3g.4C,d.3g.4P,h.1o2.w+m);Q.8h(n,c)&&(h=k.1lk(l.x,l.y,l.6b,c.3N,c.4k),g(h)&&(a.1q(h),f.1q(l.1ec)))}}}if(0!==a.1h)1f Z.all(a,1b(a){1j(1d b=[],d=0;d<a.1h;++d){1d e=a[d],h=f[d];if(g(e)&&0<e.1h)1j(1d l=0;l<e.1h;++l){1d k=e[l];k.1ec=h;g(k.1K)||(k.1K=c);b.1q(k)}}1f b})}}};Wf.1i.3oy=1b(a){1j(1d b=1a.8U,c=0,d=b.1h;c<d;++c)b[c].3oy(a)};Wf.1i.2Le=1b(){1j(1d a=1a.8U,b=0,c=a.1h;b<c;++b)a[b].2Le()};Wf.1i.3Z=1b(){1f!1};Wf.1i.1M=1b(){1a.7f(!0);1f la(1a)};Wf.1i.13A=1b(){1d a=!0,b=1a.8U,c,d;1d e=0;1j(d=b.1h;e<d;++e){1d f=b[e];f.1nr=e;g(f.14f)&&(f.14f.7R=f.1nr);f.2p?(f.3ox=a,a=!1):f.3ox=!1;f.2p!==f.10T&&(g(f.10T)&&(g(c)||(c=[]),c.1q(f)),f.10T=f.2p)}if(g(c))1j(e=0,d=c.1h;e<d;++e)f=c[e],1a.4vb.5k(f,f.1nr,f.2p)};1L.2X(IT.1i,{3c:{1n:1b(){1f 1a.5W}}});Wg.5A9=1b(a){if(!g(a))1t 1g r("8c is 1X.");1j(1d b=a.1ou(0),c=a.1Bj(0),d=2K(b*c),e=0,f=0;f<c;++f)1j(1d h=0;h<b;++h)d[e++]=1g Wg({8c:a,x:h,y:f,6b:0});1f d};Wg.1i.4v1=1b(a,b,c){1d d=1a.33F,e;if(g(b)&&g(c)){1a.33L=d=d.14O(1b(a){1f-1===c.3f(a)});1d f=1a.7T;1j(e=0;e<b.1h;++e){1d h=b[e];Q.8h(f,h.19I)&&d.1q(h)}1a.33M=a}1s if(a=1a.2nJ,g(a)&&1a.33M!==a.33M){d.1h=0;f=1a.7T;b=a.33F;1j(e=0;e<b.1h;++e)h=b[e],Q.8h(f,h.19I)&&d.1q(h);1a.33M=a.33M}};1L.2X(Wg.1i,{8c:{1n:1b(){1f 1a.6C}},x:{1n:1b(){1f 1a.3Sj}},y:{1n:1b(){1f 1a.3Si}},6b:{1n:1b(){1f 1a.1hr}},12f:{1n:1b(){1f 1a.2nJ}},3g:{1n:1b(){1f 1a.7T}},9d:{1n:1b(){1f[1a.1yz,1a.1AI,1a.1wJ,1a.1yy]}},1wJ:{1n:1b(){g(1a.1UE)||(1a.1UE=1g Wg({8c:1a.8c,x:2*1a.x,y:2*1a.y+1,6b:1a.6b+1,12f:1a}));1f 1a.1UE}},1yy:{1n:1b(){g(1a.1UD)||(1a.1UD=1g Wg({8c:1a.8c,x:2*1a.x+1,y:2*1a.y+1,6b:1a.6b+1,12f:1a}));1f 1a.1UD}},1yz:{1n:1b(){g(1a.1UC)||(1a.1UC=1g Wg({8c:1a.8c,x:2*1a.x,y:2*1a.y,6b:1a.6b+1,12f:1a}));1f 1a.1UC}},1AI:{1n:1b(){g(1a.1UB)||(1a.1UB=1g Wg({8c:1a.8c,x:2*1a.x+1,y:2*1a.y,6b:1a.6b+1,12f:1a}));1f 1a.1UB}},33F:{1n:1b(){1f 1a.33L}},5Ag:{1n:1b(){1f 1a.4F<vi.1k0}},3Sh:{1n:1b(){1d a=!0;g(1a.2g)&&(a=1a.2g.3Sh,g(a)||(a=!0));1f a}}});Wg.1i.3ov=1b(a,b,c){1d d=1a.8c.1ou(0);0>b?b+=d:b>=d&&(b-=d);if(!(0>c||c>=1a.8c.1Bj(0)))1f a.14O(1b(a){1f a.x===b&&a.y===c})[0]};Wg.1i.4va=1b(a){1d b=1a.12f;if(1p 0===b)1f 1a.3ov(a,1a.x-1,1a.y);if(b.1yy===1a)1f b.1wJ;if(b.1AI===1a)1f b.1yz;a=b.4va(a);if(1p 0!==a)1f b.1wJ===1a?a.1yy:a.1AI};Wg.1i.4v9=1b(a){1d b=1a.12f;if(1p 0===b)1f 1a.3ov(a,1a.x+1,1a.y);if(b.1wJ===1a)1f b.1yy;if(b.1yz===1a)1f b.1AI;a=b.4v9(a);if(1p 0!==a)1f b.1yy===1a?a.1wJ:a.1yz};Wg.1i.3ow=1b(a){1d b=1a.12f;if(1p 0===b)1f 1a.3ov(a,1a.x,1a.y+1);if(b.1yz===1a)1f b.1wJ;if(b.1AI===1a)1f b.1yy;a=b.3ow(a);if(1p 0!==a)1f b.1wJ===1a?a.1yz:a.1AI};Wg.1i.3ou=1b(a){1d b=1a.12f;if(1p 0===b)1f 1a.3ov(a,1a.x,1a.y-1);if(b.1wJ===1a)1f b.1yz;if(b.1yy===1a)1f b.1AI;a=b.3ou(a);if(1p 0!==a)1f b.1yz===1a?a.1wJ:a.1yy};Wg.1i.1Mu=1b(){1a.4F=vi.31D;1a.2nI=1a.1jP=!1;g(1a.2g)&&g(1a.2g.1Mu)&&1a.2g.1Mu();YJ(1a.1UE);1a.1UE=1p 0;YJ(1a.1UD);1a.1UD=1p 0;YJ(1a.1UC);1a.1UC=1p 0;YJ(1a.1UB);1a.1UB=1p 0;1a.2fo=1a.2fo&&!1a.2fo.3Z()&&1a.2fo.1M();1a.2fn&&!1a.2fn.3Z()&&1a.2fn.1M();1a.2fn=1p 0;1a.27L=!1;1a.21l=1a.21l&&!1a.21l.3Z()&&1a.21l.1M();1a.3om=1a.3or=!1};1d 4v5=1g Q,QA=1g Aa;Wg.1i.5Ae=1b(a){1a.2fo=1g Ca({1O:a.1O,1G:1a.33K,1D:1a.33K,8b:ua.9m,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U})});1a.2fn=1g eb({1O:a.1O,13I:[1a.2fo],16Y:!1})};1d 4v8=1g k,4v7=1g k,4v6=1g k;Wg.1i.5Af=1b(a,b){if(!(1a.27L||2>1a.6b)){1d c=0;2===1a.1hr&&(c=1);b.3ot=c;1a.33K=b.2zf[c];1a.27L=!0;QA.1G=1a.33K;QA.1D=1a.33K;1j(1d d=a.2xW,e=[],f=[],h=0;h<d.1h;h++){1d l=!1;if(g(d[h].2nH))if(1a.1hr>=d[h].2nH.6b){1d p=1k.3r(2,1a.1hr-d[h].2nH.6b),n=1k.2t(1a.y/p);p=1k.2t(1a.x/p);n===d[h].2nH.1sA&&p===d[h].2nH.1Mv&&(l=!0)}1s p=1k.3r(2,d[h].2nH.6b-1a.1hr),n=1k.2t(d[h].2nH.1sA/p),p=1k.2t(d[h].2nH.1Mv/p),n===1a.y&&p===1a.x&&(l=!0);1s n=1g Q(d[h].11S.2V.x-d[h].11S.3L,d[h].11S.2V.y-d[h].11S.3L,d[h].11S.2V.x+d[h].11S.3L,d[h].11S.2V.y+d[h].11S.3L),n.4o=B.8I(n.4o),n.4P=B.8I(n.4P),n.5a=B.8I(n.5a),n.4C=B.8I(n.4C),n=Q.17d(n,1a.7T,4v5),g(n)&&(l=!0);l&&(d[h].1vl===Ja.11G?e.1q(d[h]):f.1q(d[h]))}if(0===e.1h&&0===f.1h)g(1a.2fn)&&(1a.13Z.4Q=1a.2fn,1a.13Z.5P(a.1O));1s{g(1a.2fo)||1a.5Ae(a);d=!1;l=b.2Lh[c];c=b.33J[c];1<a.2Lg&&0<f.1h&&(d=!0,1a.13Z.4Q=l,1a.13Z.5P(a.1O));1a.13Z.4Q=c;1a.13Z.5P(a.1O);1a.13Z.4Q=1a.2fn;1a.13Z.5P(a.1O);n=Aa.1y(a.1O.13m.1ox);h=B.10Q(1a.7T.4o);p=B.10Q(1a.7T.5a);1d m=B.10Q(1a.7T.4P),q=B.10Q(1a.7T.4C),r=a.3w;k.1y(r.1K,4v8);k.1y(r.2G,4v7);k.1y(r.up,4v6);r.1dG({16h:1g k(.5*(h+p),.5*(m+q),50),11f:{2G:1g k(0,0,-1),up:1g k(0,1,0)},1hk:!1});h=1g Jb({1G:p-h,13n:1,3I:1,3W:100});a.1O.13m.2H(a);a.1O.13m.1Gg(h);p={};m={};1j(h=0;h<e.1h;h++)q=e[h].33I,g(p[q])?p[q].1q(e[h]):p[q]=[e[h]];1j(h=0;h<f.1h;h++)q=f[h].33I,g(m[q])?m[q].1q(f[h]):m[q]=[f[h]];if(g(a.3os))1j(e=a.3os.1h-1;0<=e;e--){h=a.3os[e];f=p[h];q=m[h];if(g(f))1j(h=0;h<f.1h;h++)f[h].4w=pa.4t({5q:QA}),f[h].4Q=c,f[h].5P(a.1O);if(g(q))1j(h=0;h<q.1h;h++)q[h].4w=pa.4t({5q:QA}),q[h].4Q=d?l:c,q[h].5P(a.1O)}e=a.3w;e.1dG({16h:4v8,11f:{2G:4v7,up:4v6},1hk:!1});a.1O.13m.2H(a);a.1O.13m.1Gg(e.3j);a.1O.13m.5q=n;d&&(b.2ze.4Q=c,b.2ze.4w=pa.4t({5q:QA}),b.2ze.5P(a.1O));b.2Lf.4Q=1a.2fn;b.2Lf.4w=pa.4t({5q:QA});b.2Lf.5P(a.1O)}}};Wg.1i.5Ad=1b(a,b){b=a.2mK;1d c=b.14w;if(g(c)){1d d=!1;c=Q.17d(c,1a.7T,4v5);g(c)&&(d=!0);d&&!1a.3or&&(1a.3or=!0,g(1a.21l)||(1a.21l=1g Ca({1O:a.1O,1G:b.3Sc,1D:b.5A0,8b:ua.9m,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})})),a=b.1Mm(1a.7T),1a.21l.1iq(a),1a.21l.1pb=b.2O)}};1L.2X(Pk.1i,{1oy:{1n:1b(){1f 1a.7Y}},4uT:{1n:1b(){1f 1a.4v4}},5Ac:{1n:1b(){1f 1a.2Lc}}});Pk.1i.5Ab=1b(){1a.3oq=!0;1a.2zb=!1};Pk.1i.2zd=1b(a){1j(1d b=1a.1Q6.13r;g(b);)b.4F!==vi.31D&&a(b),b=b.2fm};Pk.1i.7IA=1b(a){1j(1d b=1a.1tN,c=0,d=b.1h;c<d;++c)a(b[c])};Pk.1i.3Sg=1b(a,b,c){1d d=1a,e={33E:1p 0,19I:a,6b:-1,1Jg:b,4r:c,4v0:1b(){1j(1d a=d.33H,b=a.1h,c=0;c<b;++c)if(a[c]===e){a.6z(c,1);1W}d.4v2.1q(e)}};d.33H.1q(e);1f e.4v0};Pk.1i.2H=1b(a){g(1a.7Y.2H)&&1a.7Y.2H(a)};Pk.1i.2z1=1b(a){if(a.10s.3t){if(1a.3oq){1d b=1a.1Q6;b.13r=1p 0;b.1fD=1p 0;b.7Z=0;4v3(1a);b=1a.1qF;if(g(b))if(1a.2zb)1j(1d c=1a.33G.1h=0;c<b.1h;++c){1j(1d d=b[c].33F,e=d.1h,f=0;f<e;++f){1d h=d[f];h.6b=0;1a.33H.1q(h)}b[c].1Mu()}1s 1a.33G=1a.1tN.4h(0),1a.3Sf=1a.1qF.4h(0);1a.1qF=1p 0;1a.7Y.2Le();1a.3oq=!1}if(1a.3Sd){if(1a.2zb){1a.33G.1h=0;b=1a.3Sf;1j(c=0;c<b.1h;++c){d=b[c];e=d.33F;f=e.1h;1j(h=0;h<f;++h){1d l=e[h];l.6b=0;1a.33H.1q(l)}d.1Mu()}1a.3Sf.1h=0}1a.3Sd=!1}1a.7Y.6l(a);4v3(1a);1a.1JC.3op||1a.1Q6.5Aa()}};Pk.1i.3t=1b(a){1d b=a.10s,c=1a.7Y;if(b.3t){c.4sz(a);a:{1d d=1a.1JC;if(!d.3op){1d e=1a.1tN;e.1h=0;1d f,h=1a.7Y;if(!g(1a.1qF))if(h.3o){1a.1qF=Wg.5A9(h.8c);1d l=1a.1qF.1h;if(IF.1h<l)1j(IF=2K(l),f=0;f<l;++f)1p 0===IF[f]&&(IF[f]=1g uD)}1s 1W a;1a.2Lc.3c.2Ld=a.3w.6K;l=1a.1qF;1d k=1<l.1h?1a.2Lc:1p 0;tD=a.3w.19I;l.15F(5A8);1d n=1a.33H,m=1a.4v2,q=a.1gA,r;if(0<n.1h||0<m.1h){f=0;1j(r=l.1h;f<r;++f){1d u=l[f];u.4v1(q,n,m)}n.1h=0;m.1h=0}f=a.3w;1a.3Se=f.19I;f=A.1Um(f.5o,5A2);1a.3oo=1a.1oy.8c.3c.10Z(f,1a.3oo);f=0;1j(r=l.1h;f<r;++f)u=l[f],1a.1Q6.2nG(u),u.1jP?Ph(1a,u,h,a,k,!1,IF[f]):(Bq(1a,1a.27J,u,a),++d.2zc);1a.2zb||(0<1a.33G.1h?2<e.1h&&(1a.3Sd=1a.2zb=!0):1a.2zb=!0);1a.2nF=q}}d=1a.7Y;e=1a.2zb?1a.1tN:1a.33G;h=0;1j(l=e.1h;h<l;++h)d.4sw(e[h],a);c.4sy(a)}b.11P&&0<1a.1tN.1h&&c.5A7(a)};Pk.1i.1sr=1b(a){if(a.10s.3t&&a.3z!==O.1at){if(a.3w.2R.327)1j(1d b=a.3w.2R.3mm,c=1a.1Q6.13r;g(c);){if(!1===c.3om&&c.1hr>a.3w.3on-b&&g(c.2g)&&g(c.2g.8v))1j(1d d=c.2g.8v,e=0;e<d.1h;e++)if(g(d[e].1jO)){1d f=d[e].1jO.1ec.14f;if(f 2m Xi||f 2m Zi)c.3om=d[e].1UA(c,a)}c=c.2fm}f=1a.27J;b=1a.21h;c=1a.2fi;if(0!==f.1h||0!==b.1h||0!==c.1h)1a.1Q6.5A6(1a.33x),d=Kd()+1a.5A5,e=1a.7Y,f=JT(1a,a,e,d,f,!1),f=JT(1a,a,e,d,b,f),JT(1a,a,e,d,c,f);if(1a.1oy.3o){b=5A1;b.1h=0;c=1a.2za;d=1a.7Y.16u;e=Kd()+1a.5A4;f=a.3z;1j(1d h=a.11s,l=1a.1oy.8c.3c,p;0<c.1h;){1d n=c[0];if(g(n.2g)&&g(n.2g.13q)){1d q=n.33F,r=q.1h,x=!1,u=!1;1j(p=1a.3ok;p<r;++p){1d t=q[p];if(n.6b>t.6b){g(t.33E)||(t.33E=k.15i(t.19I.3N,t.19I.4k,0,l));if(f===O.6G){1d v=l.17N(t.33E,RA.2G),y=l.4uQ(t.33E,33y,RA.9X);g(y)||(y=1k.2o(m(n.2g.13w,0),-33y),v=k.4g(v,1k.abs(y)+1,gu),k.3V(t.33E,v,RA.9X))}1s T.1y(t.19I,WY),WY.1D=-33y,h.12z(WY,gu),k.9v(gu.z,gu.x,gu.y,gu),k.1y(gu,RA.9X),k.1y(k.1dl,RA.2G);v=n.2g.11P(RA,f,h,!1,gu);g(v)&&(g(t.4r)?1E3>k.3s(t.4r.3w.1K,v)?(v=m(t.4r.2xR(v),v),t.6b=n.6b):u=!0:t.6b=n.6b,t.1Jg(v))}1s if(n.6b===t.6b){v=n.9d;y=v.1h;1j(1d A,B=0;B<y&&(A=v[B],!Q.8h(A.3g,t.19I));++B);v=d.2fl(A.x,A.y,A.6b);y=n.12f;(g(v)&&!v||g(y)&&g(y.2g)&&g(y.2g.1ix)&&!y.2g.1ix.33D(y.x,y.y,A.x,A.y))&&t.4v0()}if(Kd()>=e){x=!0;1W}}if(x||u){1a.3ok=p;1W}1s 1a.3ok=0,c.1hN()}1s p=n.1Uz===1a.2nF?n.1qE:$c.6i,p!==$c.1xf&&p!==$c.3ol||b.1q(n),c.1hN(),1a.3ok=0}1j(p=0;p<b.1h;p++)c.1q(b[p])}5A3(1a,a)}};Pk.1i.3Z=1b(){1f!1};Pk.1i.1M=1b(){1a.7Y=1a.7Y&&1a.7Y.1M()};1d tD,4uZ=1g T,5A2=1g k,IF=[];4uY.1i.3CD=1b(a){1d b=1a.1tI,c=1a.2fk,d=1a.21k,e=1a.1tH;a.21j=b.21j&&c.21j&&d.21j&&e.21j;a.1Q5=b.1Q5||c.1Q5||d.1Q5||e.1Q5;a.21i=b.21i+c.21i+d.21i+e.21i};1j(1d ZJ=2K(30),XY=0;XY<ZJ.1h;++XY)ZJ[XY]=1g 4uY;1d RA=1g rb,WY=1g T,gu=1g k,5A1=[];1L.2X(pn.1i,{14w:{1n:1b(){1f 1a.15x}},3Sc:{1n:1b(){1f 1a.10C.1G}},5A0:{1n:1b(){1f 1a.10C.1D}},2O:{1n:1b(){1f 1a.2fj},1C:1b(a){1a.2fj=a}}});1d KT=1g Q;pn.1i.add=1b(a){1d b=a.2i,c=a.3q,d=1g Q,e=m(a.1DX,Ew.1wO),f=m(a.1cI,0);Q.3Sb(c,d);a={1cI:f,3q:c,14w:d,1b5:a.1b5,19g:a.19g,11a:a.11a};e==Ew.33C?1a.1dJ.1C(b,a):e==Ew.1wO?1a.1iz.1C(b,a):e==Ew.5zZ&&1a.2z9.1C(b,a);b=1a.1iz;e=b.2a.1h;1j(a=0;a<e;a++){1d h=b.2a[a].14w;g(1a.15x)?1a.15x=Q.1nu(h,1a.15x):1a.15x=h}b=1a.2z9;e=b.2a.1h;1j(a=0;a<e;a++)g(1a.15x)?1a.15x=Q.1nu(h,1a.15x):1a.15x=h;b=1a.1dJ;e=b.2a.1h;1j(a=0;a<e;a++)g(1a.15x)?1a.15x=Q.1nu(h,1a.15x):1a.15x=h;cm(1a.2nE.1qF[0],d);cm(1a.2nE.1qF[1],d)};pn.1i.3S=1b(a){if(1a.1iz.8h(a)){1d b=1a.1iz.1n(a);if(g(b))1d c=b.14w;1a.1iz.3S(a)}if(1a.2z9.8h(a)){1d d=1a.2z9.1n(a);g(d)&&(c=b.14w);1a.2z9.3S(a)}1a.1dJ.8h(a)&&(d=1a.1dJ.1n(a),g(d)&&(c=b.14w),1a.1dJ.3S(a));cm(1a.2nE.1qF[0],c);cm(1a.2nE.1qF[1],c)};pn.1i.7f=1b(){1a.1dJ.7f();1a.1iz.7f();1a.2z9.7f();cm(1a.2nE.1qF[0],1a.15x);cm(1a.2nE.1qF[1],1a.15x)};pn.1i.1Mm=1b(a){1d b=1a.10C.1ft("2d");b.2lF(0,0,1a.10C.1G,1a.10C.1D);4uX(b,1a.1iz,a,1a.10C.1G,1a.10C.1D,!1);4uX(b,1a.2z9,a,1a.10C.1G,1a.10C.1D,!0);1d c=1a.1dJ,d=1a.10C.1G,e=1a.10C.1D,f=c.2a.1h,h;1j(h=0;h<f;h++){1d l=c.2a[h],k=Q.17d(l.14w,a,KT);g(k)&&(k=LT(l.3q,a,d,e),Sv.5zY(b,{3oj:k,19g:l.19g,11a:l.11a}))}1f b.1LW(0,0,1a.10C.1G,1a.10C.1D)};1d hl=1g Q;pn.1i.5t7=1b(a){1d b=1a.1iz,c=b.2a.1h,d,e=[],f=0;1j(d=0;d<c;d++){1d h=b.2a[d].14w;Q.8h(h,a)&&(0==f?Q.1y(h,hl):hl=Q.1nu(h,hl),f++,e.1q(b.2a[d]))}if(0==f)1f-1;b=1a.27K.1ft("2d");c=e.1h;1j(d=0;d<c;d++){h=e[d];f=LT(h.3q,hl,1a.27K.1G,1a.27K.1D);1d l=h.1cI;h=1k.2t(l/12v);1d k=l-12v*h;l=1k.2t(k/256);k-=256*l;1d n=1;g(1p 0)&&(n=1hO);h=1g y(k/256,l/256,h/256,n);Sv.2x0(b,{3oj:f,1b5:h,19g:h})}c=(a.3N-hl.4o)/hl.1G*1a.27K.1G;a=(hl.4P-a.4k)/hl.1D*1a.27K.1D;c=1k.2t(c+.5);a=1k.2t(a+.5);a=4*(a*1a.27K.1G+c);c=b.1LW(0,0,1a.27K.1G,1a.27K.1D);1f c.2g[a]+256*c.2g[a+1]+12v*c.2g[a+2]};pn.1i.1Ma=1b(a){1d b=1a.1iz,c=b.2a.1h,d,e=0;1j(d=0;d<c;d++){1d f=b.2a[d],h=f.1cI,l=f.14w;1d k=!1;h===a?k=f.1bM=!0:(g(f.1bM)&&f.1bM&&(k=!0),f.1bM=!1);k&&(0==e?Q.1y(l,hl):hl=Q.1nu(l,hl),e++)}cm(1a.2nE.1qF[0],hl);cm(1a.2nE.1qF[1],hl)};pn.1i.3Z=1b(){1f!1};pn.1i.1M=1b(){1f la(1a)};1d 5zW=1g A(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);1L.2X(He.1i,{3c:{1n:1b(){1f 1a.5W}},1uU:{1n:1b(){1f 1a.5zX}},3PM:{1n:1b(){1f 1a.7G.1oy.3PM}},4uW:{1n:1b(){1f 1a.7G.1oy.4uW}},4uV:{1n:1b(){1f g(1a.7G)?1a.7G.1oy.3o&&0===1a.7G.27J.1h&&0===1a.7G.21h.1h&&0===1a.7G.2fi.1h:!0}},1rL:{1n:1b(){1f 1a.7G.1oy.1rL},1C:1b(a){1a.7G.1oy.1rL=a}},1cj:{1n:1b(){1f 1a.7G.1oy.1cj},1C:1b(a){1a.7G.1oy.1cj=a}},33B:{1n:1b(){1f 1a.7G.1oy.33B},1C:1b(a){g(a)||(a=Q.1y(Q.6w));1a.7G.1oy.33B=a}},7Iz:{1n:1b(){1f 1a.3oc.2I},1C:1b(a){1a.3oc.2I=a;1a.3S8=!0}},16u:{1n:1b(){1f 1a.1Bi},1C:1b(a){a!==1a.1Bi&&(1a.1Bi=a,1a.4uU.5k(a),g(1a.17u)&&MT(1a))}},27d:{1n:1b(){1f 1a.4uU}},4uT:{1n:1b(){1f 1a.7G.4uT}},2q:{1n:1b(){1f 1a.17u},1C:1b(a){1a.17u!==a&&(1a.17u=a,MT(1a))}},2eE:{1n:1b(){1f 1a.4uS},1C:1b(a){g(a)&&0<=a&&1>=a&&(1a.4uS=a,1a.7G.1oy.2eE=a)}},1vk:{1n:1b(){1f 1a.7G.7Y.2z8},1C:1b(a){v.1N.7d("1vk",a);if(g(a)&&(1a.7G.7Y.2z8=a,g(1a.7G.7Y.1hT))){1d b=pa.1PL(1a.7G.7Y.1hT);b.8d.3e=a;1a.7G.7Y.1hT=pa.4t(b)}}},5h2:{1n:1b(){1f{21g:1a.7G.7Y.6J,2Lb:1a.7G.7Y.1Uy,19L:1a.7G.7Y.1gb.2nD}},1C:1b(a){1a.7G.7Y.1Mt=!1;1a.7G.7Y.2z7=!0;g(1a.7G.7Y.1jg)&&(1a.7G.7Y.1jg.1M(),1a.7G.7Y.1jg=1F);if(g(a)&&g(a.21g)){if(1a.7G.7Y.1Uy=a.2Lb||1a.7G.7Y.1Uy,1a.7G.7Y.6J=Jr.1y(a.21g,1a.7G.7Y.6J),1a.7G.7Y.6J.1FE.2yj(),g(1a.7G.7Y.1dk)&&1a.7G.7Y.1dk.1iq({1G:13j,1D:64,1a9:1a.7G.7Y.6J.1FE.1sv}),1a.7G.7Y.1Uy!=Cc.2fg.2L9&&(1a.7G.7Y.1Mt=!0),1a.7G.7Y.6J.3oh&&1a.7G.7Y.1Uy==Cc.2fg.3S9&&0<1a.7G.7Y.6J.2fb.1h){1d b=1a.7G.7Y.6J.2fb,c=1g Td,d=c.3c,e=1g k,f=1g T,h=1g tc({1ga:{3q:k.1iy(b)}});h=tc.14t(h);1d l=k.8g(b[0],b[1],0),p=1g $b(0,0,0),n=1g A;1a.177===O.15j?(d.10Z(l,f),c.12z(f,e),A.1Bh(A.1y(A.8K),e,n),A.9b(5zW,n,n)):n=Da.1nq(l,p,ba.9y);d=1g A;A.12Z(n,d);oe.21c(h,b,d,1a.177===O.15j);1a.7G.7Y.1dI=n;b=oe.2yY(h);d=.11t*(b.z-b.x);1a.7G.7Y.1jg=1g oe;1a.7G.7Y.1jg.16b=h;1a.7G.7Y.1jg.15x.x=b.x-d;1a.7G.7Y.1jg.15x.y=b.y-d;1a.7G.7Y.1jg.15x.z=b.z+d;1a.7G.7Y.1jg.15x.w=b.w+d;E.1y(1a.7G.7Y.1jg.15x,1a.7G.7Y.2fh);h=1g E;h.x=1a.7G.7Y.2fh.x;h.y=1a.7G.7Y.2fh.y;h.z=0;h.w=1;A.10r(1a.7G.7Y.1dI,h,h);b=T.12y(1g k(h.x,h.y,h.z));1a.177===O.15j&&(b=c.1cZ(1g k(h.y,h.z,h.x)));h.x=b.3N;h.y=b.4k;d=1g E;d.x=1a.7G.7Y.2fh.z;d.y=1a.7G.7Y.2fh.w;d.z=0;d.w=1;A.10r(1a.7G.7Y.1dI,d,d);b=T.12y(1g k(d.x,d.y,d.z));1a.177===O.15j&&(b=c.1cZ(1g k(d.y,d.z,d.x)));h.z=b.3N;h.w=b.4k;E.1y(h,1a.7G.7Y.1Uv);1a.7G.7Y.1vj=m(a.5zV,13j);a.19L&&(1a.7G.7Y.1gb.2nD=a.19L)}}1s g(1a.7G.7Y.6J)&&(1a.7G.7Y.6J.1M(),1a.7G.7Y.6J=1p 0)}},5fG:{1n:1b(){1f{4uR:1a.7G.7Y.1pB,2Lb:1a.7G.7Y.3og,19L:1a.7G.7Y.1gb.2nD}},1C:1b(a){1a.7G.7Y.3oi=!1;1a.7G.7Y.3Sa=!0;g(1a.7G.7Y.1Ms)&&(1a.7G.7Y.1Ms.1M(),1a.7G.7Y.1Ms=1F);if(g(a)&&g(a.4uR)){if(1a.7G.7Y.3og=a.2Lb,1a.7G.7Y.1pB=Vx.1y(a.4uR,1a.7G.7Y.1pB),1a.7G.7Y.1pB.1FE.2yj(),g(1a.7G.7Y.2La)&&1a.7G.7Y.2La.1iq({1G:13j,1D:64,1a9:1a.7G.7Y.1pB.1FE.1sv}),1a.7G.7Y.3og!=Cc.2fg.2L9&&(1a.7G.7Y.3oi=!0),1a.7G.7Y.1pB.3oh&&1a.7G.7Y.3og==Cc.2fg.3S9&&0<1a.7G.7Y.1pB.2fb.1h){1d b=1a.7G.7Y.1pB.2fb,c=1g tc({1ga:{3q:k.1iy(b)}});c=tc.14t(c);1d d=k.8g(b[0],b[1],0),e=1g $b(0,0,0);1g A;d=Da.1nq(d,e,ba.9y);e=1g A;A.12Z(d,e);oe.21c(c,b,e);1a.7G.7Y.1dI=d;b=oe.2yY(c);d=.11t*(b.z-b.x);1a.7G.7Y.1Ms=1g oe;1a.7G.7Y.1Ms.16b=c;1a.7G.7Y.1Ms.15x.x=b.x-d;1a.7G.7Y.1Ms.15x.y=b.y-d;1a.7G.7Y.1Ms.15x.z=b.z+d;1a.7G.7Y.1Ms.15x.w=b.w+d;E.1y(1a.7G.7Y.1Ms.15x,1a.7G.7Y.2z6);c=1g E;c.x=1a.7G.7Y.2z6.x;c.y=1a.7G.7Y.2z6.y;c.z=0;c.w=1;A.10r(1a.7G.7Y.1dI,c,c);b=T.12y(1g k(c.x,c.y,c.z));c.x=b.3N;c.y=b.4k;b=1g E;b.x=1a.7G.7Y.2z6.z;b.y=1a.7G.7Y.2z6.w;b.z=0;b.w=1;A.10r(1a.7G.7Y.1dI,b,b);b=T.12y(1g k(b.x,b.y,b.z));c.z=b.3N;c.w=b.4k;E.1y(c,1a.7G.7Y.2z6);1a.7G.7Y.1vj=m(a.5zV,13j);a.19L&&(1a.7G.7Y.1gb.2nD=a.19L)}}1s g(1a.7G.7Y.1pB)&&(1a.7G.7Y.1pB.1M(),1a.7G.7Y.1pB=1p 0)}},1DW:{1n:1b(){1f 1a.21f},1C:1b(a){C.1y(a,1a.21f);C.1y(a,1a.7G.7Y.21f)}},1Mr:{1n:1b(){1f 1a.7G.7Y.1Ux},1C:1b(a){if(g(a)){if(!(a 2m 3iD))1t 1g r("1Mr 2Q be a 1bX of 3iD.");E.9v(a.x,a.y,a.x+a.1G,a.y+a.1D,1a.7G.7Y.1Ux)}}},33A:{1n:1b(){1f 1a.7G.7Y.1Uw},1C:1b(a){a!==1a.1Uw&&(a?1a.1DW=1g C(0,0):E.9v(0,0,1,1,1a.7G.7Y.1Ux),1a.7G.7Y.1Uw=a)}}});1d JF=[],5zU={4I:0,4U:0};He.1i.3oe=1b(a,b,c){if(!g(a))1t 1g r("11j is 1X");if(!g(b))1t 1g r("4r is 1X");1d d=b.3z,e=b.11s;JF.1h=0;1d f=1a.7G.1tN,h=f.1h,l;1j(l=0;l<h;++l){1d p=f[l];1d n=p.2g;if(g(n)){1d m=n.3of;if(d!==O.6G)n.3of=m=P.33z(p.3g,e,n.1Mq.13w,n.1Mq.12x,m),k.9v(m.2V.z,m.2V.x,m.2V.y,m.2V);1s if(g(n.1PX))P.1y(n.1PX.21e,m);1s 1aJ;p=ib.2z5(a,m,5zU);g(p)&&JF.1q(n)}}JF.15F(5zT(a.9X));h=JF.1h;1j(l=0;l<h;++l){1d q=JF[l].11P(a,b.3z,b.11s,!0,c);if(g(q))1W}1f q};1d YY=1g k,ZY=1g k,$Y=1g k;He.1i.7Iy=1b(a,b,c){a=a.1z4.3q;if(!g(c)){1d d=3a.6w;1d e=-3a.6w;1j(1d f=3a.6w,h=-3a.6w,l=0;l<a.1h;l++){1d p=T.12y(a[l]);d=1k.2o(p.3N,d);e=1k.1V(p.3N,e);f=1k.2o(p.4k,f);h=1k.1V(p.4k,h)}d=T.1g8(1g T(d,f,0));e=T.1g8(1g T(e,h,0));e=k.1B3(d,e)}c=tc.25R({3q:a,6f:g(c)?c:e/32});c=tc.14t(c);1j(e=a=0;e<c.4N.1h;e+=3){h=c.4N[e];h=1g k(c.2w.1K.2a[3*h],c.2w.1K.2a[3*h+1],c.2w.1K.2a[3*h+2]);h=T.12y(h);d=1a.1sc(h);if(!g(d))1t 1g r("1ag 2S 1n 1Z 7v 1D");h=T.15i(h.3N,h.4k,d);h=T.1g8(h,b);d=c.4N[e+1];d=1g k(c.2w.1K.2a[3*d],c.2w.1K.2a[3*d+1],c.2w.1K.2a[3*d+2]);d=T.12y(d);f=1a.1sc(d);if(!g(f))1t 1g r("1ag 2S 1n 1Z 7v 1D");d=T.15i(d.3N,d.4k,f);d=T.1g8(d,b);f=c.4N[e+2];f=1g k(c.2w.1K.2a[3*f],c.2w.1K.2a[3*f+1],c.2w.1K.2a[3*f+2]);f=T.12y(f);l=1a.1sc(f);if(!g(l))1t 1g r("1ag 2S 1n 1Z 7v 1D");f=T.15i(f.3N,f.4k,l);f=T.1g8(f,b);YY=k.3V(d,h,YY);ZY=k.3V(f,h,ZY);$Y=k.4B(YY,ZY,$Y);a+=.5*k.7t($Y)}1f a};He.1i.7Ix=1b(){1j(1d a=[],b=1a.7G.1tN,c=0;c<b.1h;c++)a.1q({x:b[c].x,y:b[c].y,6b:b[c].6b});1f a};He.1i.7Iw=1b(a,b){a=a.9h;1j(1d c=3a.6w,d=-3a.6w,e=3a.6w,f=-3a.6w,h=0;h<a.1h;h++){1d l=T.12y(a[h]);c=1k.2o(l.3N,c);d=1k.1V(l.3N,d);e=1k.2o(l.4k,e);f=1k.1V(l.4k,f)}h=T.1g8(1g T(c,e,0));d=T.1g8(1g T(d,f,0));d=1k.8a(k.3s(h,d)/128);1j(c=f=0;c<a.1h-1;c++)1j(e=a[c],l=a[c+1],h=0;h<d;h++){1d p=1g k,n=1g k;p=k.11x(e,l,h/d,p);p=T.12y(p);1d m=1a.1sc(p);if(!g(m))1t 1g r("1ag 2S 1n 1Z 7v 1D");p=T.15i(p.3N,p.4k,m);p=T.1g8(p,b);n=k.11x(e,l,(h+1)/d,n);n=T.12y(n);m=1a.1sc(n);if(!g(m))1t 1g r("1ag 2S 1n 1Z 7v 1D");n=T.15i(n.3N,n.4k,m);n=T.1g8(n,b);f+=k.3s(p,n)}1f f};1d 5zS=1g T;He.1i.11P=1b(a,b,c){c=1a.3oe(a,b,c);g(c)&&b.3z!==O.6G&&(c=k.9v(c.y,c.z,c.x,c),a=b.11s.1cZ(c,5zS),c=b.10a.3c.13B(a,c));1f c};1d 5zR=1g k,4uP=1g k,5zQ=1g T,pN=1g rb;He.1i.1sc=1b(a){if(!g(a))1t 1g r("3od is 1X");1d b=1a.7G.1qF;if(g(b)){1d c,d=b.1h;1j(c=0;c<d;++c){1d e=b[c];if(Q.8h(e.3g,a))1W}if(!(c>=d)){1j(;e.1qE===$c.31V;)e=qz(e.1wJ,a)||qz(e.1yy,a)||qz(e.1yz,a)||e.1AI;if(g(e.2g)&&g(e.2g.1PX)&&(b=1a.7G.7Y.8c.3c,a=k.15i(a.3N,a.4k,0,b,5zR),c=b.17N(a,pN.2G),d=b.4uQ(a,33y,pN.9X),g(d)||(d=1k.2o(m(e.2g.13w,0),-33y),c=k.4g(c,1k.abs(d)+1,4uP),k.3V(a,c,pN.9X)),e=e.2g.11P(pN,1p 0,1p 0,!1,4uP),g(e)))1f b.10Z(e,5zQ).1D}}};He.1i.2H=1b(a){1a.2p&&(a.10s.3t&&1a.7G.2H(a),a.2mK=1a.4r6,1a.5zP(a))};He.1i.5zP=1b(a){1d b=512/1k.10n(.5*a.3w.3j.16X),c=a.3w.1K,d=1g T.12y(c),e=1g k.15i(d.3N,d.4k,0);c=k.3s(c,e);b/=c;1j(e=c=0;22>e;e++){1d f=1k.PI/(1<<e),h=k.15i(d.3N+.5*f,d.4k+.5*f),g=k.15i(d.3N+.5*f,d.4k-.5*f),p=k.15i(d.3N-.5*f,d.4k-.5*f),n=k.15i(d.3N-.5*f,d.4k+.5*f);f=k.3s(h,g);g=k.3s(g,p);p=k.3s(p,n);h=k.3s(n,h);if(32>1k.1V(1k.1V(1k.1V(f,g),p),h)/8*b||21==e){c=e;1W}}a.4uO=c};He.1i.2z1=1b(a){1d b=1a.7G,c=b.1oy,d=1a.16u;d=1a.5zO&&d.3o&&d.1z3;1a.177=a.3z;if(d&&1a.3S8){1a.3S8=!1;1d e=1a.3oc,f=e.2I;if(g(f)){1d h=1a;Z(e.1jN(),1b(b){f===h.3oc.2I&&(h.21d=h.21d&&h.21d.1M(),h.21d=1g Ca({1O:a.1O,5j:b}))})}1s 1a.21d=1a.21d&&1a.21d.1M()}e=a.3z;a.10s.3t&&(1a.4uN=1a.2nB?.4:.5,b.1ev=1a.1ev,b.33x=1a.33x,b.3ob=1a.3ob,b.3oa=1a.3oa,b.3o9=1a.3o9,c.16u=1a.16u,c.3o8=1a.3o8,c.3o7=1a.3o7,c.3o6=1a.3o6,c.3S7=1a.3S7,c.33w=e===O.6G?1a.4uN:0,c.1z3=d,c.33v=1a.21d,c.2nC=1a.2nC,c.2z4=1a.2z4,c.2z3=1a.2z3,c.2nB=1a.2nB,c.6x=1a.6x,c.31L=1a.5zN,c.31K=1a.5zM,c.31J=1a.5zL,c.2ff=1a.2ff,c.2z2=1a.2z2,c.1JB=1a.1JB,c.2K6=1a.2K6,c.3o5=1a.3o5,b.2z1(a))};He.1i.3t=1b(a){if(1a.2p){g(1a.17u)&&1a.17u.2H(a.1O);1d b=1a.7G,c=a.10s;c.3t&&b.3t(a);c.11P&&b.3t(a)}};He.1i.1sr=1b(a){1a.2p&&a.10s.3t&&1a.7G.1sr(a)};He.1i.3Z=1b(){1f!1};He.1i.1M=1b(){1a.2fe=1a.2fe&&1a.2fe.1M();1a.7G=1a.7G&&1a.7G.1M();1a.21d=1a.21d&&1a.21d.1M();1f la(1a)};1d 5zK=1g k,aZ=1g k;He.1i.7Iv=1b(a){1d b=a.2i;a=a.1K;if(!g(b)||!g(a))1f!1;1d c=1a.7G.7Y;if(c.1GB.8h(b))1f!1;1d d=1g oe;c.1GB.1C(b,d);if(!g(c.2z0)){b=k.8g(a[0],a[1],0);1d e=1g $b(0,0,0);c.2z0=1g A;c.2z0=Da.1nq(b,e,ba.9y);b=1g A;c.3o3=A.12Z(c.2z0,b)}b=3a.6w;e=3a.1Mg;1j(1d f=2,h=a.1h;f<h;f+=3){1d l=a[f];b=1k.2o(b,l);e=1k.1V(e,l)}l=1k.1V(e-b,100);f=k.1iy(a);h=[];1j(1d p,n=f[0],m=f[f.1h-1],q=k.3V(m,n,1g k),r=k.3V(f[1],n,1g k),u=k.4B(q,r,1g k),t=0,v=f.1h;t<v;t++){1d y=f[t],B=0===t?f[v-1]:f[t-1],C=t===v-1?f[0]:f[t+1];0===t?(q=k.3V(n,m,q),r=k.3V(C,n,r)):t===v-1?(q=k.3V(m,B,q),r=k.3V(n,m,r)):(q=k.3V(y,B,q),r=k.3V(C,y,r));aZ=k.4B(q,r,aZ);1d F=0<k.2A(aZ,u)?-5:5,H=k.3V(y,C,5zK);k.1T(H,H);C=k.4g(H,F,1g k);k.add(y,C,C);H=k.3V(y,B,H);H=k.1T(H,H);B=k.4g(H,F,1g k);k.add(y,B,B);y=k.add(C,B,1g k);k.4g(y,.5,y);h.1q(y);0===t&&(p=k.1y(y))}h.1q(p);d.3o2=tc.14t(1g tc({1ga:{3q:f},9i:-l,16U:!0}));oe.21c(d.3o2,a,c.3o3);d.16b=tc.14t(1g tc({1ga:{3q:f},9i:-1E3}));oe.21c(d.16b,a,c.3o3);p=Q.3o4(f);.1Am>p.1G&&(d.3S6=tc.14t(1g tc({1ga:{3q:h,1nt:[{3q:f}]},9i:-1E3,1z2:!1,5zJ:!1,6f:1E-6})),oe.21c(d.3S6,a,c.3o3),d.15x=oe.2yY(d.3S6));d.1Uv=1g E(p.4o,p.4C,p.5a,p.4P);d.7T=p;d.9M=a;d.5zI=b;d.5zH=e;d.11S=1g rk({3g:p,13w:b,12x:e});1f c.2L8=!0};He.1i.7Iu=1b(a){1d b=1a.7G.7Y,c=b.1GB,d=b.27I;c.8h(a)&&(c=c.1n(a),g(c)&&c.1M(),b.1GB.3S(a),c=d.1n(a+"3S5"),g(c)&&(c.4c=c.4c&&!c.4c.3Z()&&c.4c.1M(),c.2z=c.2z&&!c.2z.3Z()&&c.2z.1M()),b.27I.3S(a+"3S5"),d=d.1n(a+"3S4"),g(d)&&(d.4c=d.4c&&!d.4c.3Z()&&d.4c.1M(),d.2z=d.2z&&!d.2z.3Z()&&d.2z.1M()),b.27I.3S(a+"3S4"),b.2L8=!0)};He.1i.3S3=1b(){1a.7G.7Y.3S3()};He.1i.4uM=1b(a){1d b=a.2i,c=a.1K,d=a.1D;if(!g(b)||!g(c)||!g(d))1f!1;1d e=1a.7G.7Y,f=e.1GC.1n(b);if(g(f))1f!1;1d h=1g tc({1ga:{3q:k.1iy(c)}});f=tc.14t(h);if(!g(e.2yZ)){1d l=k.8g(c[0],c[1],0),p=1g $b(0,0,0);e.2yZ=1g A;e.2yZ=Da.1nq(l,p,ba.9y)}l=1g A;A.12Z(e.2yZ,l);oe.21c(f,c,l);h=tc.14t(h);l=1g oe;l.16b=f;l.3o2=h;l.15x=oe.2yY(f);l.9M=c;e.1GC.1C(b,l);e.33u=!0;e.4uL=m(a.18b,!0);e.4uK=d;1f!0};He.1i.5zG=1b(a){1d b=1a.7G.7Y,c=b.1GC,d=b.2fd;c.8h(a)&&(c=c.1n(a),g(c)&&c.1M(),b.1GC.3S(a),c=d.1n(a),g(c)&&(c.4c=c.4c&&!c.4c.3Z()&&c.4c.1M(),c.2z=c.2z&&!c.2z.3Z()&&c.2z.1M()),b.2fd.3S(a),d=d.1n(a+"3S2"),g(d)&&(d.4c=d.4c&&!d.4c.3Z()&&d.4c.1M(),d.2z=d.2z&&!d.2z.3Z()&&d.2z.1M()),b.2fd.3S(a+"3S2"),b.33u=!0)};He.1i.33t=1b(){1a.7G.7Y.33t()};He.1i.2L7=1b(){1a.1cj=1p 0};He.1i.2nA=1b(a){if(!(a.6e&&a.1K||a.2fc&&a.1gm))1t 1g r("10a 13F 1Ii, 1K and 6e is 1X!");if(a.6e){1d b=a.1K,c=g(a.8e)?a.8e:0,d=g(a.8q)?a.8q:0,e=g(a.12C)?a.12C:0;c=1g $b(c,d,e);b=Da.1nq(b,c,ba.9y,Da.18N,1g A);d=-.5*a.6e.x;e=-.5*a.6e.y;1d f=-.5*a.6e.z;c=g(a.21b)?a.21b:y.9r;d=[1g ei(1g k(1,0,0),d),1g ei(1g k(-1,0,0),d),1g ei(1g k(0,1,0),e),1g ei(1g k(0,-1,0),e),1g ei(1g k(0,0,1),f),1g ei(1g k(0,0,-1),f)]}1s 1j(d=[],e=0;e<a.2fc.1h;e++){f=a.1gm[e];1d h=k.2A(f,a.2fc[e]);d.1q(1g ei(f,h))}1a.1cj=1g Cf({4a:b,1Di:d,33s:1,2yu:c,3o1:!g(a.6e),3e:!0});1f!0};He.1i.3S1=1b(a,b){0!=a||0!=b?(1a.7G.7Y.1xe.3e=!0,C.9v(a,b,1a.7G.7Y.1xe.1Q)):(1a.7G.7Y.1xe.3e=!1,C.9v(0,0,1a.7G.7Y.1xe.1Q))};He.1i.7It=1b(){if(!g(1a.7G)||!g(1a.7G.7Y))1f!1;1d a=1a.7G.7Y;1f g(a.1GC)&&0<a.1GC.2a.1h||g(a.1GB)&&0<a.1GB.2a.1h||g(a.6J)&&0<a.6J.2fb.1h||g(a.1pB)&&0<a.1pB.2fb.1h?!0:!1};He.1i.7Is=1b(a){if(!g(1a.7G)||!g(1a.7G.7Y))1f 0;1d b=1a.7G.7Y;if(g(1a.1pB)&&0<b.1GB.2a.1h)1f 0;b=1a.7G.1qF;if(!g(b))1f 0;1d c,d=b.1h;1j(c=0;c<d;++c){1d e=b[c];if(Q.8h(e.3g,a))1W}if(c>=d)1f 0;1j(;e.1qE===$c.31V;)e=qz(e.1wJ,a)||qz(e.1yy,a)||qz(e.1yz,a)||e.1AI;d=e.2g;b=d.1ns;if(!g(b))1f 0;c=8A((a.3N-e.3g.4o)/(e.3g.5a-e.3g.4o)*b.1G);e=8A((e.3g.4P-a.4k)/(e.3g.4P-e.3g.4C)*b.1D);a=d.1ix.1ns;if(!g(a))1f 0;e=c+e*b.1G;b=1g k;b.x=2*(a[3*e]/255-.5);b.y=2*(a[3*e+1]/255-.5);b.z=2*(a[3*e+2]/255-.5);k.1T(b,b);1f 1k.1cz(1k.abs(b.z))*B.1PS};1L.2X(Qk.1i,{4Q:{1n:1b(){1f 1a.2nx?1a.2nw:1a.27H}},33r:{1n:1b(){1f 1a.27H}},1ku:{1n:1b(){1f 1a.19K}}});Qk.1i.5zF=1b(a,b,c){5zE(1a,a,b,c)};Qk.1i.2H=1b(a,b,c,d){1d e=c.1G;c=c.1D;1<a.2fa&&(1a.2nx=!0);1d f=1a.1dn;f=!g(f)||f.1G!==e||f.1D!==c||d!==1a.20q;if(!g(1a.27H)||f)4uI(1a),4uH(1a),1a.1dn=1g Ca({1O:a,1G:e,1D:c,8b:ua.9m,10E:d?a.20p?Ha.1kq:Ha.3O:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})}),1a.19K=1g Ca({1O:a,1G:e,1D:c,8b:ua.1eF,10E:Ha.1Jw}),1a.1Bg=1g Ca({1O:a,1G:e,1D:c,8b:ua.9m,10E:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})}),1a.2nx&&(1a.2L4=1g ig({1O:a,1G:e,1D:c,10E:d?a.20p?Ha.1kq:Ha.3O:Ha.7U,8V:ua.9m,2yX:a.2fa}),1a.1yZ=1g ig({1O:a,1G:e,1D:c,8V:kh.1eF,2yX:a.2fa})),1a.2nx&&(1a.2nw=1g eb({1O:a,3S0:[1a.2L4],1yY:1a.1yZ,16Y:!1})),1a.27H=1g eb({1O:a,13I:[1a.1dn],1ku:1a.19K,16Y:!1}),1a.2L6=1g eb({1O:a,13I:[1a.1Bg],16Y:!1});OT(1a,a,e,c,b);a.13m.1Ju=1p 0;1a.20q=d};Qk.1i.2KL=1b(a,b){g(1a.1e9)&&(1a.2ny(a,!1,!0,!1),1a.1e9.5P(a,b),a.13m.1Ju=1a.1Bg)};Qk.1i.33q=1b(a,b,c){1d d=b.4Q.1ku;if(g(d)&&(c||d!==1a.19K)){if(g(1a.2nz)){if(!g(1a.21a)||1a.21a.1ku!==d||1a.21a.167(0)!==1a.1Bg){c=1a.1Bg.1G;1d e=1a.1Bg.1D;NT(1a);4uJ(1a,a,c,e,b);OT(1a,a,c,e,b)}1a.3RZ=d;1a.2L5.5P(a,b);1a.2nz.5P(a,b);a.13m.1Ju=1a.1Bg}}1s 1a.2nx&&c?g(1a.2nz)&&(g(1a.21a)&&1a.21a.167(0)===1a.1Bg||(c=1a.1Bg.1G,e=1a.1Bg.1D,NT(1a),4uJ(1a,a,c,e,b),OT(1a,a,c,e,b)),1a.2ny(a,!1,!0,!1),1a.3RZ=1a.19K,1a.2L5.5P(a,b),1a.2nz.5P(a,b),a.13m.1Ju=1a.1Bg):g(1a.1e9)&&(1a.2ny(a,!1,!0,!1),1a.1e9.5P(a,b),a.13m.1Ju=1a.1Bg)};Qk.1i.5zD=1b(a,b){g(1a.1vd)&&1a.1vd.5P(a,b)};Qk.1i.2ny=1b(a,b,c,d){1a.2nx&&eb.5zC(a,1a.2nw,1a.27H,b,c,d)};Qk.1i.9P=1b(a,b,c){1d d=1a.1Gk;g(d)&&(y.1y(c,d.1A),d.5P(a,b))};Qk.1i.3Z=1b(){1f!1};Qk.1i.1M=1b(){4uI(1a);1a.2L4=1a.2L4&&!1a.2L4.3Z()&&1a.2L4.1M();1a.1yZ=1a.1yZ&&!1a.1yZ.3Z()&&1a.1yZ.1M();4uH(1a);NT(1a);g(1a.1vd)&&(1a.1vd.2z=1a.1vd.2z.1M());g(1a.1e9)&&(1a.1e9.2z=1a.1e9.2z.1M());1d a=1a.3o0;g(a)&&(a.2z=a.2z.1M());1f la(1a)};PT.1i.2Jq=1b(){1f!0};PT.1i.2xF=1b(a){1f a===1a.1iw};1L.2X(vD.1i,{2I:{1n:1b(){1f 1a.20Z.2I}},1aQ:{1n:1b(){1f 1a.20Z.1aQ}},16K:{1n:1b(){if(!1a.4y)1t 1g r("16K 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14Q}},17g:{1n:1b(){if(!1a.4y)1t 1g r("17g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.16J}},16j:{1n:1b(){if(!1a.4y)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.17G}},16i:{1n:1b(){if(!1a.4y)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 0}},8c:{1n:1b(){if(!1a.4y)1t 1g r("8c 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C}},3g:{1n:1b(){if(!1a.4y)1t 1g r("3g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C.3g}},19b:{1n:1b(){if(!1a.4y)1t 1g r("19b 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1nm}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S}},9L:{1n:1b(){1f 1a.1dh}},1mb:{1n:1b(){1f!1}}});vD.1i.1om=1b(a,b,c){if(!1a.4y)1t 1g r("1om 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1d d=1a.20Z;a=d.3RY(a,b,c);if(g(a)&&(d=d.217[a.1jf],g(d)))1f[d]};vD.1i.1hQ=1b(a,b,c,d){if(!1a.4y)1t 1g r("1hQ 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1d e=1a.1nm.1iw,f=1a.20Z,h=Eh.2nv(a,b,c),l=f.3RY(a,b,c);if(!g(l)){if(f.2nu(h)){d=1g Ke({1j8:d.1j8,1mj:d.1mj,1I:d.1I,1xd:d.1xd});f.4uG(a,b,c,d);1f}1f e}if(!l.5zB())1f e;a=5zA(1a,l,a,b,c,d).1kw();if(g(a))1f a.4b(1b(a){aH(f.10t,a);a=1g 4L(a);1d b=f.3RX;if(!g(b)||!b){1d c=a;c=74===c[6]&&70===c[7]&&73===c[8]&&70===c[9]?"4d/2L3":80===c[1]&&78===c[2]&&71===c[3]?"4d/12H":1p 0}if(!g(c)&&(!g(b)||b)){c=eP.3RW.6F(a);b=c.1aZ;1j(a={};c.3h<b;){1d d=c.1pl();6U(d>>>3){1S 1:a.1yH=c.1pl();1W;1S 2:a.3nZ=c.1tC();1W;1S 3:a.4uE=c.1pl();1W;1S 4:a.5zy=c.1tC();1W;1S 5:1d h=a.5zz;g(h)||(h=a.5zz=[]);if(2===(d&7))1j(d=c.1pl()+c.3h;c.3h<d;)h.1q(c.1pl());1s h.1q(c.1pl());1W;4T:c.4uF(d&7)}}c=a.1yH;if(g(c))6U(c){1S 0:a.1yH="4d/2L3";1W;1S 4:a.1yH="4d/12H";1W;4T:1t 1g qa("4iI: 1Mp 4d 1I.");}c=a.4uE;g(c)&&0!==c&&(11l.7k("4iI: 7Ir 2O 2S 11J."),4Y a.4uE,4Y a.5zy);c=a.1yH;a=a.3nZ}1f g(c)&&g(a)?CB({2f9:a,8V:c,13E:!0}):e})};vD.1i.1lk=1b(a,b,c,d,e){};1d 5zx=1g y(1,1,1,.4),5zw=1g y(0,1,0,.1cN),5zv=1g y(0,.5,0,.2);1L.2X(dw.1i,{1aQ:{1n:1b(){}},16K:{1n:1b(){1f 1a.14Q}},17g:{1n:1b(){1f 1a.16J}},16j:{1n:1b(){}},16i:{1n:1b(){}},8c:{1n:1b(){1f 1a.6C}},3g:{1n:1b(){1f 1a.6C.3g}},19b:{1n:1b(){}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f!0}},9c:{1n:1b(){1f 1a.7S}},9L:{1n:1b(){}},1mb:{1n:1b(){1f!0}}});dw.1i.3RU=1b(a){1j(1d b=1a.3RV,c=0;c<=1a.4uD;++c){1d d=1+c/1a.4uD*(b-1);a.1FW(d,0);a.1bT(d,b);a.1FW(0,d);a.1bT(b,d)}a.15n()};dw.1i.5zu=1b(){1d a=3n.4O("3M");a.1G=1a.3RV;1d b=a.1D=1a.3RV,c=a.1ft("2d"),d=1a.1vi.1fY();c.15b=d;c.1ZB(0,0,b,b);d=1a.5zt.1fY();c.1ch=d;c.11a=1a.4uC;c.3P7(0,0,b,b);1a.3RU(c);c.11a=.5*1a.4uC;c.3P7(0,0,b,b);1a.3RU(c);d=1a.7a.1fY();c.1ch=d;c.11a=2;c.3P7(0,0,b,b);c.11a=1;1a.3RU(c);1f a};dw.1i.1om=1b(a,b,c){};dw.1i.1hQ=1b(a,b,c,d){1f 1a.10C};dw.1i.1lk=1b(a,b,c,d,e){};1d wD={2nt:0,2L2:1,4uB:2,4uA:3};1L.2X($J.1i,{2I:{1n:1b(){1f 1a.10z}},9L:{1n:1b(){1f 1a.1dh}},8c:{1n:1b(){if(!1a.3o)1t 1g r("1Bf 2Q 2S be 7I 8w 3o 20k 8O.");1f 1a.6C}},3o:{1n:1b(){1f 1a.4y}},9c:{1n:1b(){1f 1a.7S}},3g:{1n:1b(){if(!1a.4y)1t 1g r("3g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.7T}},1cG:{1n:1b(){1f 1a.14P}},20Y:{1n:1b(){1f 1a.2L1}},2yW:{1n:1b(){1f 1a.2L0}},4uz:{1n:1b(){1f 0<1a.1iv.1h?1k.2o(1a.1iv[0],1a.1iv[1a.1iv.1h-1]):-1}},3nY:{1n:1b(){1f 0<1a.1iv.1h?1k.1V(1a.1iv[0],1a.1iv[1a.1iv.1h-1]):-1}},1Mo:{1n:1b(){if(!1a.4y)1t 1g r("1Mo 2Q 2S be 7I 8w 1Z 1FR 9Z is 3o");1f 1a.3RT}},1Mn:{1n:1b(){if(!1a.4y)1t 1g r("1Mn 2Q 2S be 7I 8w 1Z 1FR 9Z is 3o");1f 1a.3RS}}});$J.1i.1om=1b(a,b,c){};1d 5zs=1g Q;$J.1i.3RR=1b(a,b,c,d){if(!1a.3o)1t 1g r("7Iq 2Q 2S be 7I 8w 3o 20k 8O.");d=[];1d e=1a.6C.1d1(a,b,c),f=1a;e=Q.17d(1a.7T,e,5zs);g(e)&&(e=1a.1iv[0],c<=1a.1iv[1a.1iv.1h-1]&&c>=e&&(e=c+"10D"+a+"10D"+b,a=f.10z+"2g/2P/"+b+"/"+a+".4uy?6b="+c,b=Ng(a),g(b)&&(b.id=e,b.2I=a,d.1q(b))));1f Z.all(d,1b(a){1j(;0<a.1h;){1d b=f;a=a[0];a="3RQ"===b.2yV?Dp.1pn(a).3J:a[i];if(2===a.10S/(b.2L1*b.2L0)){a=1g 1FS(a,0,b.2L1*b.2L0);b=[];1j(1d c=0;c<a.1h;c++)b.1q(7L(a[c]))}1s b=1g 4A(a,0,b.2L1*b.2L0);1f b}},1b(a){1f Z.7N(a)})};1L.2X(Mo.1i,{7y:{1n:1b(){1f 1a.2yT.167(0)}},14w:{1C:1b(a){1a.15x=a},1n:1b(){1f 1a.15x}},7Ip:{1C:1b(a){1a.3RN=a},1n:1b(){1f 1a.3RN}}});Mo.1i.2KZ=1b(a,b,c,d,e){1a.27G[1a.2f8++]=a;1a.27G[1a.2f8++]=b;1a.27G[1a.2f8++]=c;1a.27G[1a.2f8++]=d;1a.27G[1a.2f8++]=e;1a.27G[1a.2f8++]=e;1a.27G[1a.2f8++]=e;1a.27G[1a.2f8++]=e};Mo.1i.3RM=1b(a,b,c,d){1a.1Uu>=1a.3RP-1&&1a.1Mm(1a.4j);d=m(d,50);c=m(c,.2);d*=.5;1a.2KZ(a,b,-d,-d,c);1a.2KZ(a,b,+d,-d,c);1a.2KZ(a,b,-d,+d,c);1a.2KZ(a,b,-d,+d,c);1a.2KZ(a,b,+d,-d,c);1a.2KZ(a,b,+d,+d,c);1a.1Uu++};Mo.1i.7Io=1b(a){1a.2yS=a};Mo.1i.5zp=1b(a){g(1a.2yU)||(1a.2yU=4ux(a,1a.10V,1a.10o,Ha.1kq));g(1a.3nW)||(1a.3nW=5zr(a,1a));1a.3nW.7Z=6*1a.1Uu;if(g(1a.16z)){1d b=1a.16z.15o(0).7e,c=b.33p();b=b.6M;b.1z1(H.1Q4,c);b.3nX(H.1Q4,1a.3nV[1a.1Uu],xa.20X);b.1z1(H.1Q4,1F)}1a.3nW.5P(a)};Mo.1i.5zo=1b(a){1a.13Z.4Q=1a.2yT;1a.13Z.5P(a);g(1a.3RO)||(1a.3RO=5zq(a,1a));1a.3RO.5P(a)};Mo.1i.1Mm=1b(a){1a.5zp(a);1a.5zo(a);1a.1Uu=1a.2f8=0};Mo.1i.2H=1b(a){1a.4j=a.1O;if(g(1a.2yS)){1j(1d b=1k.2o(1a.2yS.1h,1a.27e+1a.3RN),c=.30a*1a.15x.1G,d=1a.27e;d<b;d++){1d e=1a.2yS[d],f=m(e.12r,.1);f=(f-1a.5zn)/1a.5zm;1a.3RM(e.x,e.y,f,c)}1a.27e=b;1a.27e>=1a.2yS.1h&&(1a.2yS=1p 0,1a.27e=0)}1>1a.1Uu||1a.1Mm(a.1O)};Mo.1i.1M=1b(){1a.2yU=1a.2yU&&1a.2yU.1M();1a.2yT=1a.2yT&&1a.2yT.1M();1a.11V=1a.11V&&1a.11V.1M();1a.16z=1a.16z&&1a.16z.1M();1a.2yS=1a.3nV=1a.27G=1p 0;1f la(1a)};1L.2X(qn.1i,{2KS:{1n:1b(){1f 1a.1Ut}}});qn.5zl=1b(a){1f a.8X&&a.1Mb};1d 5zk={13Q:!1,12h:{3e:!0,1iu:Jc.1Be,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.10w},1it:Jc.2f7,1bY:0,11q:Mc.1Jz},12e:Dc.1bQ},5zj={13Q:!1,12h:{3e:!0,1iu:Jc.1JA,1eb:{15w:Ma.10w,17x:Ma.10w,17w:Ma.10w},1it:Jc.2f7,1bY:0,11q:Mc.1Jz},12e:Dc.1bQ},5zi={13Q:!0,9J:{3e:!0},12h:Mc.33o(),1lq:Mc.1vh,12e:Dc.1bQ};qn.1i.2H=1b(a){1d b=1a.10q,c=!g(b)||1a.3RL!==1a.1Q3;1a.1Q3=1a.3RL;1d d=a.8j,e=a.7p;if((b=!g(b)||b.1G!==d||b.1D!==e)||c)1a.10q=1a.10q&&1a.10q.1M(),1a.2KY=1a.2KY&&1a.2KY.1M(),1a.19K=1a.19K&&1a.19K.1M(),1a.10q=1g Ca({1O:a,1G:d,1D:e,8b:ua.9m,10E:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U})}),g(1a.1Q3)||(1a.2KY=1g Ca({1O:a,1G:d,1D:e,8b:ua.9m,10E:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U})}),1a.19K=1g Ca({1O:a,1G:d,1D:e,8b:ua.1eF,10E:Ha.1Jw}));if(!g(1a.1d0)||b||c){1a.1d0=1a.1d0&&1a.1d0.1M();1a.2KX=1a.2KX&&1a.2KX.1M();if(g(1a.1Q3)){d=1a.1Q3.1ku;1d f=1a.1Q3.1yY}1s d=1a.19K;1a.1d0=1g eb({1O:a,13I:[1a.10q],1ku:d,1yY:f,16Y:!1});g(1a.1Q3)||(1a.2KX=1g eb({1O:a,13I:[1a.2KY],1ku:d,16Y:!1}))}g(1a.3nU)||(1a.3nU=pa.4t(5zk),1a.4ur=pa.4t(5zj),1a.4uq=pa.4t(5zi));if(!g(1a.1Ut)||c)g(1a.1Ut)&&(1a.1Ut.2z=1a.1Ut.2z&&1a.1Ut.2z.1M(),1a.2ns.2z=1a.2ns.2z&&1a.2ns.2z.1M()),f=g(1a.1Q3)?"2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\n    1m 1A = 1Y(6T, 2F);\\n    if (1A.a == 0.0)\\n    {\\n        7o;\\n    }\\n#1z 4us\\n    2C = 1A * 4uv;\\n#1s\\n    2C = 1A;\\n#1u\\n}\\n":"#6A 5J : 5F\\1B 2v 6T;\\1B 2v 8X;\\1B 2v 4uw;\\1J 1v 2F;\\2s 2k()\\n{\\n    1m 1A = 1Y(6T, 2F);\\n    if (1A.a == 0.0)\\n    {\\n        7o;\\n    }\\n    7d 4uu = all(14B(1Y(4uw, 2F), 1m(0.0)));\\n#1z 4us\\n    1m 4ut = 4uv;\\n    if (4uu)\\n    {\\n        7o;\\n    }\\n#1s\\n    1m 4ut = 1m(1.0);\\n    if (!4uu)\\n    {\\n        7o;\\n    }\\n#1u\\n    2C = 1A * 4ut;\\n    1bp = 1Y(8X, 2F).r;\\n}\\n",c=1g ja({2N:["4us"],5p:[f]}),f=1g ja({5p:[f]}),1a.1Ut=a.1aL(c,{4w:g(1a.1Q3)?1a.3nU:1a.4uq,4J:1a.1cH,7H:1a}),1a.2ns=a.1aL(f,{4w:g(1a.1Q3)?1a.4ur:1a.4uq,4J:1a.1cH,7H:1a}),g(1a.2KW)&&(1a.2KW.2z=1a.2KW.2z&&1a.2KW.2z.1M()),g(1a.1Q3)||(1a.2KW=a.1aL("2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n",{4w:1a.3nU,4J:1a.1cH,7H:1a}))};qn.1i.9P=1b(a,b){1d c=b.4Q;g(1a.1Q3)?(b.4Q=1a.1d0,1a.1Gk.5P(a,b)):(b.4Q=1a.1d0,1a.13Z.5P(a,b),b.4Q=1a.2KX,1a.13Z.5P(a,b));b.4Q=c};qn.1i.5zh=1b(a,b){if(!g(1a.1Q3)){1d c=b.4Q;b.4Q=1a.2KX;1a.2KW.5P(a,b);b.4Q=c}1a.2ns.5P(a,b)};qn.1i.5zg=1b(a,b){1a.1Ut.5P(a,b)};qn.1i.3Z=1b(){1f!1};qn.1i.1M=1b(){1a.1d0=1a.1d0&&1a.1d0.1M();1a.10q=1a.10q&&1a.10q.1M();1a.19K=1a.19K&&1a.19K.1M();g(1a.1Ut)&&(1a.1Ut.2z=1a.1Ut.2z&&1a.1Ut.2z.1M(),1a.2ns.2z=1a.2ns.2z&&1a.2ns.2z.1M());1f la(1a)};1L.2X(aK.1i,{1J5:{1n:1b(){1f 1a.5zf}}});Cq.3CB=Kd;1L.2X(Cq.1i,{7In:{1n:1b(){1f 1a.3RK}}});Cq.1i.31X=1b(){1a.3nS=1a.3RK};Cq.1i.4qS=1b(){1j(1d a=1a.4up,b=a.1h,c=0;c<b;++c){1d d=a[c];d.4uo=d.3nT;d.3nT=!1;d.3nQ=0;d.3nR=0}1a.3nS=0};Cq.1i.5P=1b(a,b){1d c=1a.4up,d=c[b],e=1a.4un[b];if(1a.3nS>=1a.3RK&&e)1f d.3nT=!0,!1;if(d.3nQ+d.3nR>=d.1J5){1d f=c.1h,h;1j(h=0;h<f;++h){1d g=c[h];if(g.3nQ+g.3nR<g.1J5&&!g.4uo)1W}if(h===f&&e)1f!1;e&&(d.3nT=!0)}c=Cq.3CB();a.5P();a=Cq.3CB()-c;1a.3nS+=a;g?g.3nR+=a:d.3nQ+=a;1f 1a.4un[b]=!0};1d mg=1b(){1a.8U=1g Ia;1a.17f=[];1a.1nr=3;1a.33j=1p 0;1a.3nM=3a.6w};1L.2X(mg.1i,{1DL:{1n:1b(){1f 1a.17f}}});mg.1i.2H=1b(a,b,c,d){dn.2H(a);1d e=1a.17f,f=1a.17f.1h,h,l=[];1j(h=0;h<f;h++){1d k=e[h];if(g(k)){if(g(d)&&!0===d){if(k.11m!=La.1is)1aJ;l.1q(k.id)}1s if(k.11m===La.1is)1aJ;if(!(-1<b.1g4)||k.1ks(b.1g4)){1d n=b.19c.1mc;if(n==Ud.1pe){if(!g(k.27F)||!k.2KV()&&!k.2yR())1aJ}1s if(n==Ud.33n){if(!g(k.3nP)||!k.3nP)1aJ}1s if(!(n!=Ud.2n8||g(k.1Us)&&k.1Us))1aJ;k.2H(a,b,c)}}}1f l};mg.1i.1sr=1b(a){0<Rc.5ze()&&Rc.5zd();Qj.33m(a.1O);if(a.1hp.4um()){a=a.1hp.33l.15W;1j(1d b in a)if(a.3p(b)){1d c=a[b];1a.33i(c.1I,c.7Z)}}};mg.1i.3t=1b(a,b){1d c=1a.17f,d=1a.17f.1h,e;1j(e=0;e<d;e++){1d f=c[e];g(f)&&(-1<b.1g4&&!f.1ks(b.1g4)||f.3t(a,b))}};mg.1i.4qF=1b(a){1d b=a.9k.id,c=a.id;a=a.3nO;1d d=1a.17f,e=1a.17f.1h,f,h=1p 0;1j(f=0;f<e;f++){1d g=d[f];g.id===b?(g.1Ma(c,a),h=g):g.1fU()}1a.4ui(h)};mg.1i.1fU=1b(){1d a=1a.17f,b=1a.17f.1h,c;1j(c=0;c<b;c++){1d d=a[c];g(d)&&d.1fU()}};mg.1i.1oZ=1b(a){if(!g(a))1t 1g r("2i is 1X.");1f 1a.8U.1n(a)};mg.1i.2Id=1b(a){if(!g(a))1t 1g r("2P is 1X.");if(a>1a.17f.1h-1)1t 1g r("2P is 9H of 14w.");1f 1a.17f[a]};mg.1i.add=1b(a,b){if(!g(a))1t 1g r("7r is 1X.");1d c=a.6X;if(!g(c)||""==c)1t 1g r("2i is 1X.");1d d=1a.8U;if(d.8h(c))1t 1g 1uN("An 7r 10M 2i "+c+" 1A8 2yQ in 1a 4i2.");a.7R=1a.1nr++;1d e=1a.17f.1h;d.1C(c,a);b=m(b,e);a.2P=b;1a.17f.1q(a);1a.17f.15F(1b(a,b){1f a.2P-b.2P});a.11m===La.20W?1a.3nM=b:b>1a.3nM&&(a.3nN=!1)};mg.1i.3S=1b(a,b){b=m(b,!0);if(!g(a))1f!1;1d c=1a.1oZ(a);if(!c||!1a.8U.3S(a))1f!1;1a.17f.6z(1a.17f.3f(c),1);b&&c.1M();c.11m===La.20W&&(1a.3nM=3a.6w);1f!0};mg.1i.7f=1b(a){if(a=m(a,!0)){a=1a.17f;1d b=1a.17f.1h,c;1j(c=0;c<b;c++){1d d=a[c];g(d)&&d.1M()}}1a.8U.7f();1a.17f.1h=0;1a.3nM=3a.6w};mg.1i.1lk=1b(a,b){a=b.4j;b=a.11n;b=y.2xV(b[0],b[1],b[2],b[3]);b=a.2xU(b);if(g(b)&&g(b.9k)&&b.9k 2m Wa&&(a=b.id,b=b.9k,g(b.2KU)&&b.2JX)){b=b.2KU;1d c=b.2I+"/5zc/{4uk}/7Im/{33k}/1jG/{id}.2HZ?2yP={2yP}";if(g(b.3nL))1f c=c.3X("{4uk}",b.3RG).3X("{33k}",b.3nL).3X("{id}",a).3X("{2yP}",b.2yP),g(Ba.12M)&&(c=Ba.1cl(c)),Km(c);if(1==b.3RJ&&g(b.3RI)){1j(1d d,e=0,f=b.3RI.1h;e<f;e++){1d h=b.3RI[e];if(a>=h.3RH&&a<=h.4ul){a=a-h.3RH+1;d=h.33k;1W}}if(g(d))1f c=c.3X("{4uk}",b.3RG).3X("{33k}",d).3X("{id}",a).3X("{2yP}",b.2yP),g(Ba.12M)&&(c=Ba.1cl(c)),Km(c)}}};mg.1i.2yO=1b(a){if(g(a)){1d b=a.2P;4uj(1a.17f,b,b+1)&&(a.2P+=1);if(a.11m===La.1is)1j(a=0;a<1a.17f.1h;a++)1a.17f[a].11m===La.1is&&1a.17f[a].15V.20V(1a.17f[a].5Y)}};mg.1i.1wp=1b(a){if(g(a)){1d b=a.2P;4uj(1a.17f,b,b-1)&&--a.2P;if(a.11m===La.1is)1j(a=0;a<1a.17f.1h;a++)1a.17f[a].11m===La.1is&&1a.17f[a].15V.20V(1a.17f[a].5Y)}};mg.1i.4ui=1b(a){1a.33j=a};mg.1i.2JY=1b(){1f 1a.33j};mg.1i.33i=1b(a,b){1j(1d c=0,d=1a.17f.1h;c<d;c++)1a.17f[c].33i(a,b)};1L.2X(4iB.1i,{1A:{1n:r.8i},12r:{1n:r.8i}});1d BK=1L.3F({4r5:0,5tL:1}),5zb=/\\/$/,4uf=1g Zb(\'&1hI; <a 17S="1bU://10y.3H.11Y/4uh/1PT/">20U</a> &1hI; <a 17S="10R://10y.33h.1m9/5za">3nK</a> <1dH><a 17S="1bU://10y.3H.11Y/5d-4ug/">5z9 1a 5d</a></1dH>\');1L.2X(rz.1i,{2I:{1n:1b(){1f 1a.14f.2I}},3o:{1n:1b(){1f 1a.14f.3o}},9c:{1n:1b(){1f 1a.14f.9c}},3g:{1n:1b(){1f 1a.14f.3g}},16K:{1n:1b(){1f 1a.14f.16K}},17g:{1n:1b(){1f 1a.14f.17g}},16j:{1n:1b(){1f 1a.14f.16j}},16i:{1n:1b(){1f 1a.14f.16i}},8c:{1n:1b(){1f 1a.14f.8c}},19b:{1n:1b(){1f 1a.14f.19b}},1cG:{1n:1b(){1f 1a.14f.1cG}},9L:{1n:1b(){1f 1a.14f.9L}},1aQ:{1n:1b(){1f 1a.14f.1aQ}},1mb:{1n:1b(){1f 1a.14f.1mb}}});rz.1i.1om=1b(a,b,c){if(g(1a.33g))1f[1a.33g]};rz.1i.1hQ=1b(a,b,c,d){1f 1a.14f.1hQ(a,b,c,d)};rz.1i.1lk=1b(a,b,c,d,e){1f 1a.14f.1lk(a,b,c,d,e)};rz.33f=4uf;1L.2X(sz.1i,{3c:{1n:1b(){1f 1a.5W}}});1d qN=1g J,5z7=1g J,5z6=1g k,rN=[];sz.1i.2H=1b(a){if(1a.2p){1d b=1a.33e;b.2q.6H.4d=1a.3RF;b.2f6=1a.2f6;1d c=a.6q;g(Da.3nJ(c,qN))||Da.2yN(c,qN);1d d=1a.5z8.3x(c,5z7);J.1z0(d,d);J.9b(qN,d,d);c=tA.4ue(c,5z6);J.10r(qN,c,c);A.1yU(d,c,b.4a);d=a.13l;a.13l=rN;rN.1h=0;b.2H(a);a.13l=d;1f 1===rN.1h?rN[0]:1p 0}};sz.1i.3Z=1b(){1f!1};sz.1i.1M=1b(){1a.33e=1a.33e&&1a.33e.1M();1f la(1a)};1d Jf=1L.3F({6i:0,3mq:1,4r9:2,5tU:3,5tT:4,5tS:5});QT.1i.2Jq=1b(){1f!0};QT.1i.2xF=1b(a){1f!1};rn.1i.2H=1b(a,b,c,d){if(1a.1op()){1a.3nI=c;1a.2yf=c.167(0);1a.19K=c.1ku;c=1a.2yf.1G;1d e=1a.2yf.1D,f=1a.1x5;(f=!g(f)||f.1G!==c||f.1D!==e||d!==1a.4ud)&&5z5(1a,a,c,e);if(g(1a.1Ur)&&!f||5z4(1a,a)){1a.4ud=d;1d h=1a;g(1a.1ea)||(d=1g ja({5p:["2n 2v 2bs;\\1B 2v 2br;\\1B 2v 2bq;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1xU = 1Y(2bs, 2F);\\1P 1HR = 1Y(2br, 2F);\\1r r = 1Y(2bq, 2F).r;\\n#1z 2cO\\1P 18b = 1m(1HR.2y / 2Y(r, 1e-4, 5e4), 1HR.a);\\n#1s\\1P 18b = 1m(1HR.2y / 2Y(1HR.a, 1e-4, 5e4), r);\\n#1u\\3R = (1.0 - 18b.a) * 18b + 18b.a * 1xU;\\1U (1xU != 4hD)\\n{\\3R.a = 1.0;\\n}\\n}\\n"]}),1a.20S&&d.2N.1q("2cO"),f={2bs:1b(){1f h.2yf},2br:1b(){1f h.1x5},2bq:1b(){1f h.1DP}},1a.1ea=a.1aL(d,{4J:f,7H:1a}));g(1a.20R)||(1a.20S?(d=1g ja({2N:["2cO"],5p:["#1z 2cO\\n#6A 2jD : 5F\\n#1u\\1B 1m 1Lw;\\1B 2v 1qj;\\1J 1v 2F;\\2s 2k()\\n{\\1U (1Y(1qj, 2F).r < 1.0)\\n{\\n#1z 2cO\\2bp[0] = 1Lw;\\2bp[1] = 1m(1Lw.a);\\n#1s\\3R = 1Lw;\\n#1u\\2j;\\n}\\10W;\\n}\\n"]}),f={1Lw:1b(){1f h.4ua.1A},1qj:1b(){1f h.19K}},1a.20R=a.1aL(d,{4J:f,7H:1a})):1a.33d&&(d=1g ja({5p:["#1z 2cO\\n#6A 2jD : 5F\\n#1u\\1B 1m 1Lw;\\1B 2v 1qj;\\1J 1v 2F;\\2s 2k()\\n{\\1U (1Y(1qj, 2F).r < 1.0)\\n{\\n#1z 2cO\\2bp[0] = 1Lw;\\2bp[1] = 1m(1Lw.a);\\n#1s\\3R = 1Lw;\\n#1u\\2j;\\n}\\10W;\\n}\\n"]}),f={1Lw:1b(){1f h.4u9.1A},1qj:1b(){1f h.19K}},1a.20R=a.1aL(d,{4J:f,7H:1a}),f={1Lw:1b(){1f h.4u8.1A},1qj:1b(){1f h.19K}},1a.2no=a.1aL(d,{4J:f,7H:1a})));1a.1ox.1G=c;1a.1ox.1D=e;a=!Aa.2L(1a.1ox,b.5q);c=a!==1a.2nr;1a.2nr=a;Aa.2L(1a.27D,b.5q)||(1a.27D=Aa.1y(b.5q,1a.27D),c=!0);g(1a.1gz)&&Aa.2L(1a.1ox,1a.1gz.5q)&&!c||(1a.1gz=pa.4t({5q:1a.1ox,1g1:{3e:1a.2nr,3g:1a.27D}}));g(1a.1ea)&&(1a.1ea.4w=1a.1gz);1a.20R&&(1a.20R.4w=1a.1gz);g(1a.2no)&&(1a.2no.4w=1a.1gz)}}};1d 5z3={3e:!0,1A:1g y(0,0,0,0),1Gq:$g.1m8,1Gp:$g.1m8,1Go:Bd.1ip,1B7:Bd.1ip,1Gn:Bd.6h,1B6:Bd.20A},5z2={3e:!0,1A:1g y(0,0,0,0),1Gq:$g.1m8,1Gp:$g.1m8,1Go:Bd.1ip,1B7:Bd.1ip,1Gn:Bd.1ip,1B6:Bd.1ip},5z1={3e:!0,1A:1g y(0,0,0,0),1Gq:$g.1m8,1Gp:$g.1m8,1Go:Bd.6h,1B7:Bd.20A,1Gn:Bd.6h,1B6:Bd.20A};rn.1i.2ye=1b(a,b,c){g(c)||(c={});if(1a.20S){if(g(c.1kv)){1d d=c.1kv.2z;1d e=c.1kv.4w}c.1kv=Oa.15v(a,c.1kv);g(d)&&c.1Q2===a.2z.id?(c.1kv.2z=d,c.1kv.4w=e):(c.1kv.2z=TT(b,a.2z,"7Il","    1w Ci = 2nq.2y * 2nq.a;\\n    1o ai = 2nq.a;\\n    1o 1Ff = 2jv(ai);\\n    1OU[0] = 1m(Ci * 1Ff, ai);\\n    1OU[1] = 1m(ai * 1Ff);\\n"),c.1kv.4w=ST(b,5z3,1a.4uc,a.4w),c.1Q2=a.2z.id)}1s{if(g(c.1kv)){1d f=c.1kv.2z;1d h=c.1kv.4w;1d l=c.20T.2z;1d k=c.20T.4w}c.1kv=Oa.15v(a,c.1kv);c.20T=Oa.15v(a,c.20T);g(f)&&c.1Q2===a.2z.id?(c.1kv.2z=f,c.1kv.4w=h,c.20T.2z=l,c.20T.4w=k):(c.1kv.2z=TT(b,a.2z,"7Ik","    1w Ci = 2nq.2y * 2nq.a;\\n    1o ai = 2nq.a;\\n    1o 1Ff = 2jv(ai);\\n    2C = 1m(Ci, ai) * 1Ff;\\n"),c.1kv.4w=ST(b,5z2,1a.4uc,a.4w),c.20T.2z=TT(b,a.2z,"7Ij","    1o ai = 2nq.a;\\n    2C = 1m(ai);\\n"),c.20T.4w=ST(b,5z1,1a.5z0,a.4w),c.1Q2=a.2z.id)}1f c};rn.1i.5yZ=1b(a,b,c,d,e){if(1a.20S){1d f=a.1O,h=a.18Y.1bz,l=a.1qG,k=c.4Q,n=d.1h,m=a.18Y.1fv.2KT;c.4Q=1a.27C;1a.20R.5P(f,c);1d q=1a.3nI;c.4Q=1a.1Ur;1j(1d r,u=0;u<n;++u)r=d[u],r=h?r.10K.1Gm.14Z:r,r=l?r.10K.274.14Z:r,r=m&&r.1fC?r.10K.1lo.6x.1kv:r.10K.1lo.1kv,b(r,a,f,c,q);g(e)&&(r=e.2KS,r=m&&r.1fC?r.10K.1lo.6x.1kv:r.10K.1lo.1kv,b(r,a,f,c,q));c.4Q=k}1s{h=a.1O;l=a.18Y.1bz;k=a.1qG;n=c.4Q;m=d.1h;q=a.18Y.1fv.2KT;c.4Q=1a.27C;1a.20R.5P(h,c);c.4Q=1a.2yM;1a.2no.5P(h,c);u=1a.3nI;c.4Q=1a.1Ur;1j(f=0;f<m;++f)r=d[f],r=l?r.10K.1Gm.14Z:r,r=k?r.10K.274.14Z:r,r=q&&r.1fC?r.10K.1lo.6x.1kv:r.10K.1lo.1kv,b(r,a,h,c,u);g(e)&&(r=e.2KS,r=q&&r.1fC?r.10K.1lo.6x.1kv:r.10K.1lo.1kv,b(r,a,h,c,u));c.4Q=1a.2np;1j(f=0;f<m;++f)r=d[f],r=l?r.10K.1Gm.14Z:r,r=k?r.10K.274.14Z:r,r=q&&r.1fC?r.10K.1lo.6x.20T:r.10K.1lo.20T,b(r,a,h,c,u);g(e)&&(r=e.2KS,r=q&&r.1fC?r.10K.1lo.6x.20T:r.10K.1lo.20T,b(r,a,h,c,u));c.4Q=n}};rn.1i.5P=1b(a,b){1a.1ea.5P(a,b)};rn.1i.9P=1b(a,b,c){1d d=b.4Q;b.4Q=1a.3nI;y.1y(c,1a.4ub.1A);1a.4ub.5P(a,b);b.4Q=1a.1Ur;(1a.20S?1a.4ua:1a.4u9).5P(a,b);1a.33d&&(b.4Q=1a.2np,1a.4u8.5P(a,b));b.4Q=d};rn.1i.1op=1b(){1f 1a.20S||1a.33d};rn.1i.5yY=1b(a){1a.2yf=a};rn.1i.3Z=1b(){1f!1};rn.1i.1M=1b(){RT(1a);bK(1a);g(1a.1ea)&&(1a.1ea.2z=1a.1ea.2z&&1a.1ea.2z.1M());g(1a.20R)&&(1a.20R.2z=1a.20R.2z&&1a.20R.2z.1M());g(1a.2no)&&(1a.2no.2z=1a.2no.2z&&1a.2no.2z.1M());1f la(1a)};1d 5yX=1g Zb("4rO, 30r 3RE 33c and 5yW, CC-BY-SA");g(1L.6F)&&(cK.1i=1L.6F(ti.1i),cK.1i.7m=cK);1d 5yV=1g C(1,1);1L.2X(xD.1i,{age:{1n:1b(){1f 1a.339}},33b:{1n:1b(){1f 1a.3Rq}}});1d 4u7=1g k;xD.1i.2H=1b(a,b){k.4g(1a.1c9,a,4u7);k.add(1a.1K,4u7,1a.1K);g(b)&&b(1a,a);1a.339+=a;1a.3Rq=1a.1iN===3a.6w?0:1a.339/1a.1iN;1f 1a.339<=1a.1iN};1L.2X(4ix.1i,{1aH:{1n:1b(){1f 1a.1Tl}}});4iw.1i.1Uk=1b(a){r.8i()};1d 5yU={3e:!0,1A:1g y(0,0,0,0),1Gq:$g.1m8,1Gp:$g.1m8,1Go:Bd.3nH,1B7:Bd.20A,1Gn:Bd.1ip,1B6:Bd.1ip},KF=1g Aa;No.1op=4u6;No.1i.2H=1b(a){if(4u6(a.1O)&&1a.5F){1d b=a.1O;1a.1U2=1k.2t(b.8j*1a.3RD);1a.1U1=1k.2t(b.7p*1a.3RD);KF.1G=1a.1U2;KF.1D=1a.1U1;1a.1hq=a.1bz;1d c=1a.1U2,d=1a.1U1;a=1a.1dn;c=g(a)&&(a.1G!==c||a.1D!==d);if(!g(a)||c)4u4(1a),a=1a.1U2,c=1a.1U1,1a.1dn=1g Ca({1O:b,1G:a,1D:c,8b:ua.9m,10E:Ha.7U,10v:4u5()}),1a.2yL=1g Ca({1O:b,1G:a,1D:c,8b:ua.9m,10E:Ha.3O,10v:4u5()}),1a.2nn=1g eb({1O:b,13I:[1a.1dn],16Y:!1}),1a.2yK=1g eb({1O:b,13I:[1a.2yL],16Y:!1}),5yT(1a,b)}};No.1i.5P=1b(a,b){g(1a.1bx)&&1a.5F&&g(a.13m)&&g(a.13m.1Ju)&&1a.1bx.5P(a,b)};No.1i.5yS=1b(a,b,c,d,e){if(0!=e){1d f,h=a.1O,l=a.18Y.1bz,k=a.1qG,n=c.4Q;c.4Q=1a.2nn;1j(f=0;f<e;++f){1d m=d[f];m=l?m.10K.1Gm.14Z:m;m=k?m.10K.274.14Z:m;b(m,a,h,c)}c.4Q=1a.2yK;1j(f=0;f<e;++f){m=d[f];m=l?m.10K.1Gm.14Z:m;m=k?m.10K.274.14Z:m;if(!g(1a.3RC)){1d q=m.2z.5A,r=m.2z.5O;q.2N.1q("4hH");1a.3RC=Ga.4t({1O:h,5O:r,5A:q})}q=m.2z;m.1Q1=1a.3RC;b(m,a,h,c);m.1Q1=q}c.4Q=n}};No.1i.9P=1b(a,b){g(1a.13Z)&&1a.5F&&(1a.13Z.4Q=1a.2nn,1a.13Z.5P(a,b),1a.13Z.4Q=1a.2yK,1a.13Z.5P(a,b))};No.1i.2ye=1b(a){if(g(a)&&(1a.5F=!0,g(1a.2nn))){1d b=1a.32l,c=a.4w,d=b[c.id];g(d)&&d.5q.1G==KF.1G&&d.5q.1D==KF.1D||(d=pa.1PL(c),d.5q=KF,d=pa.4t(d),b[c.id]=d);a.4w=d}};No.1i.3Z=1b(){1f!1};No.1i.1M=1b(){4u4(1a);1f la(1a)};1d yD=1L.3F({4u1:0,5yC:1,5yB:2});1L.2X(dK.1i,{3L:{1n:1b(){1f 1a.1fx},1C:1b(a){v.1N.2b.1bP("1Q",a,0);1a.1fx=a}},1I:{1n:1b(){1f"5yR"}}});dK.1i.1Uk=1b(a){1d b=B.1xb(0,B.14C),c=B.1xb(0,B.PI),d=B.1xb(0,1a.1fx);a.1K=k.9v(d*1k.3i(b)*1k.2T(c),d*1k.2T(b)*1k.2T(c),d*1k.3i(c),a.1K);a.1c9=k.1T(a.1K,a.1c9)};1d 4u3=1g C(1,1);1L.2X(tz.1i,{5yQ:{1n:1b(){1f 1a.1Uq},1C:1b(a){v.2l("1Q",a);1a.1Uq=a}},2yI:{1n:1b(){1f 1a.3RA},1C:1b(a){1a.3RA=a;1a.33a=!0}},4a:{1n:1b(){1f 1a.12t},1C:1b(a){v.2l("1Q",a);1a.2KQ=1a.2KQ||!A.2L(1a.12t,a);A.1y(a,1a.12t)}},3Rx:{1n:1b(){1f 1a.3RB},1C:1b(a){v.2l("1Q",a);1a.2KQ=1a.2KQ||!A.2L(1a.3RB,a);A.1y(a,1a.3RB)}},1Jy:{1n:1b(){1f 1a.20Q},1C:1b(a){v.2l("1Q",a);y.1y(a,1a.20Q)}},1Jx:{1n:1b(){1f 1a.1Up},1C:1b(a){v.2l("1Q",a);y.1y(a,1a.1Up)}},1uR:{1n:1b(){1f 1a.1DV},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.1DV=a}},1GA:{1n:1b(){1f 1a.1Gz},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.1Gz=a}},4u2:{1n:1b(){1f 1a.2f5},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.2f5=a;1a.33a=!0}},5yP:{1n:1b(){1f 1a.2KO},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.2KO=a}},5yO:{1n:1b(){1f 1a.2KN},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.2KN=a}},5yN:{1n:1b(){1f 1a.3Rs},1C:1b(a){1a.3Rs=a}},5yM:{1n:1b(){1f 1a.3Rr},1C:1b(a){1a.3Rr=a}},5yL:{1n:1b(){1f 1a.2KP},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.2KP=a}},5yK:{1n:1b(){1f 1a.2nm},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.2nm=a;1a.33a=!0}},5yJ:{1n:1b(){1f 1a.3Rv},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.3Rv=a}},5yI:{1n:1b(){1f 1a.3Ru},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.3Ru=a}},5yH:{1n:1b(){1f 1a.3nF},1C:1b(a){v.1N.2c("1Q",a);v.1N.2b.9Y("1Q.x",a.x,0);v.1N.2b.9Y("1Q.y",a.y,0);1a.3nF=a}},5yG:{1n:1b(){1f 1a.3nE},1C:1b(a){v.1N.2c("1Q",a);v.1N.2b.9Y("1Q.x",a.x,0);v.1N.2b.9Y("1Q.y",a.y,0);1a.3nE=a}},5yF:{1n:1b(){1f 1a.2KM},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.2KM=a}},1I:{1n:1b(){1f 1a.5yE},1C:1b(a){v.1N.2b.9Y("1Q",a,0);1a.5yE=a;1a.5yD(a)}},1aH:{1n:1b(){1f 1a.1Tl}},7Ii:{1n:1b(){1f 1a.3Ro}}});1d 5yz=1g P,bZ=1g A,sN=1g k;tz.1i.5yD=1b(a){6U(a){1S yD.4u1:1a.1Uq=1g zJ(B.8I(45));1a.2f5=150;1a.2KR=2;1a.2KP=1.5;1a.2nm=1.8;1a.2KO=7;1a.2KN=9;1a.1DV=3;1a.1Gz=1.5;1a.20Q=1g y(1,1,1,1);1a.1Up=1g y(1,0,0,0);1a.4u0=6;1a.2yJ=1a.1Q0=!0;1W;1S yD.5yC:1a.1Uq=1g C(1,1);1a.2f5=40;1a.2KR=1;1a.2KP=6;1a.2nm=7;1a.2KN=1a.2KO=10;1a.1DV=1;1a.1Gz=30;1a.20Q=1g y(1,1,1,.6);1a.1Up=1g y(.8,.86,1,.4);1a.4u0=16;1a.2yJ=1a.1Q0=!0;1W;1S yD.5yB:1a.1Uq=1g dK(5E3),1a.2f5=8E3,1a.2KR=30,1a.2nm=1a.2KP=6,1a.2KN=1a.2KO=0,1a.1Gz=1a.1DV=1,1a.20Q=1g y(1,1,1,.8),1a.1Up=1g y(1,1,1,.8),1a.4u0=10,1a.1Q0=!0,1a.2yJ=!1}};tz.1i.2H=1b(a){if(1a.2p){g(1a.13d)||(1a.13d=1g xd({5yA:1a.2yJ,4tZ:!0}));if(1a.33a){1d b=1a.2f5,c=1a.2nm,d=0,e=1a.3RA;if(g(e))1j(1d f=e.1h,h=0;h<f;++h)d+=e[h].14S;e=1a.13d;f=1a.4d;b=1k.8a(b*c+d);c=1a.3nD;d=1k.1V(b-1a.3Rp.1h-c.1h,0);1j(h=0;h<d;++h){1d l=1g xD;l.1ow=e.add({4d:f,1jC:1a.1Q0});c.1q(l)}1a.4tV=b;1a.33a=!1}e=a.1dj;g(1a.1Uq)&&"14x"==1a.1Uq.1I?1a.5V=1a.1Uq.7u:(f=1a.3Rz*1a.2nm,bZ=A.9b(1a.4a,1a.3Rx,bZ),P.5o(5yz,bZ,1a.5V),1a.5V.3L=f+10+1a.1Uq.3L);a.3z===O.15j&&ic.31F(a,1a.5V.2V,1a.5V.2V);if(e.1su(1a.5V)!=Lb.1gB){e=k.3s(a.3w.6K,1a.5V.2V)-1a.5V.3L;e>1E3*1a.27B?e=0:e>200*1a.27B?(e=1a.2f5/8,e=1k.1V(2,e)):e>50*1a.27B?(e=1a.2f5/2,e=1k.1V(2,e)):e=1a.2f5;1a.4tX=e;e=0;1a.2f4&&(e=M.1dA(a.6q,1a.2f4));0>e&&(e=0);1a.3Rz=0;d=1a.3Rp;f=1a.1Uq;h=1a.4tY;l=d.1h;1j(b=0;b<l;++b)if(c=d[b],c.2H(e,h))4tW(1a,c),1a.3Rz=1k.1V(1a.3Rz,k.7t(c.1c9));1s{1d p=c;g(p.1ow)&&(p.1ow.2p=!1);1a.3nD.1q(c);d[b]=d[l-1];--b;--l}d.1h=l;b=e;if(1a.3Ro)d=0;1s{b=B.13R(b,1a.2KM);c=b*1a.4tX;b=1k.2t(c);1a.3Ry+=c-b;1<1a.3Ry&&(b++,--1a.3Ry);if(g(1a.2yI))1j(c=1a.2yI.1h,d=0;d<c;d++)h=1a.2yI[d],l=1a.1vg,g(h)&&!h.1Tl&&l>h.6q&&(b+=B.1xb(h.13b,h.14S),h.1Tl=!0);d=b}if(0<d&&g(f))1j(1a.2KQ&&(1a.3Rw=A.9b(1a.4a,1a.3Rx,1a.3Rw),1a.2KQ=!1),f=1a.3Rw,b=0;b<d;b++)c=1a.3nD.9l(),g(c)||(c=1g xD),1a.1Uq.1Uk(c),"14x"!==1a.1Uq.1I&&(k.add(c.1K,c.1c9,sN),A.8P(f,sN,sN),c.1K=A.8P(f,c.1K,c.1K),k.3V(sN,c.1K,c.1c9),k.1T(c.1c9,c.1c9)),h=c,h.1Jy=y.1y(1a.20Q,h.1Jy),h.1Jx=y.1y(1a.1Up,h.1Jx),h.1uR=1a.1DV,h.1GA=1a.1Gz,h.4d=1a.4d,h.1iN=B.1xb(1a.2KP,1a.2nm),h.3nG=B.1xb(1a.3Rv,1a.3Ru),h.1cM.x=B.1xb(1a.3nF.x,1a.3nE.x),h.1cM.y=B.1xb(1a.3nF.y,1a.3nE.y),h.3Rt=B.1xb(1a.3Rs,1a.3Rr),h.3Rq=0,h.339=0,l=B.1xb(1a.2KO,1a.2KN),k.4g(h.1c9,l,h.1c9),1a.3Rp.1q(h),4tW(1a,c);1a.13d.2H(a);1a.2f4=M.1y(a.6q,1a.2f4);1a.1vg+=e;if(1a.2KM!==3a.6w&&1a.1vg>1a.2KM)if(1a.1qB){if(1a.1vg=B.13R(1a.1vg,1a.2KM),1a.2yI)1j(e=1a.2yI.1h,b=0;b<e;b++)1a.2yI[b].1Tl=!1}1s 1a.3Ro=!0,1a.1Tl.5k(1a);if(0===a.1gA%60){a=1a.3nD;e=1a.13d;f=a.1h;1j(c=b=1a.4tV;c<f;++c)d=a[c],g(d)&&e.3S(d.1ow);a.1h=b}}}};tz.1i.3Z=1b(){1f!1};tz.1i.1M=1b(){1a.13d=1a.13d&&1a.13d.1M();1f la(1a)};ew.1op=4tU;ew.1i.2H=1b(a){1a.5F=!0;4tU(a.1O)&&1a.5F&&(a=a.1O,1a.1PM||(1a.13Z=1a.1bx=1p 0,5yy(1a,a),1a.1PM=!0))};ew.1i.5P=1b(a,b){g(1a.1bx)&&1a.5F&&g(a.13m)&&g(a.13m.1Ju)&&1a.1bx.5P(a,b)};ew.1i.3Z=1b(){1f!1};ew.1i.1M=1b(){1a.13Z=1a.1bx=1p 0;1f la(1a)};1L.2X(fw.1i,{3Pv:{1n:1b(){1f 1a.3Rn},1C:1b(a){1a.3Rn!==a&&(1a.4tT.20j=a?"(3Pv)":"",1a.3Rn=a)}}});fw.1i.2H=1b(a){1d b=Kd();a=m(a,!0);1a.3Rm++;1d c=b-1a.4tR;if(1E3<c){1d d="N/A";a&&(d=1E3*1a.3Rm/c|0);1a.4tS.20j=d+" 7Ih";1a.4tR=b;1a.3Rm=0}1a.3Rl++;c=b-1a.4tP;200<c&&(d="N/A",a&&(d=(c/1a.3Rl).1mf(2)),1a.4tQ.20j=d+" MS",1a.4tP=b,1a.3Rl=0)};fw.1i.1M=1b(){1f la(1a)};at.1i.5yx=1b(a,b,c){5yw(1a,a,b,c)};at.1i.2H=1b(a,b){1d c=b.1G,d=b.1D,e=1a.19m;e=!g(e)||e.1G!==c||e.1D!==d;if(!g(1a.13p)||e)4tO(1a),4tN(1a),1a.19m=1g Ca({1O:a,1G:c,1D:d,8b:ua.9m,10E:Ha.7U}),1a.13p=1g eb({1O:a,13I:[1a.19m],16Y:!1});5yv(1a,a,b)};1d 5yu=1g E(1,1/255,1/1C7,1/2FP);at.1i.19x=1b(a,b,c,d){1d e=1;g(d)&&(e+=d);b-=1k.2t(.5*e);c-=1k.2t(.5*e);b=a.1tG({x:b,y:c,1G:e,1D:e,4Q:1a.13p});a=[];E.338(b,a);b=3a.19B;1j(c=0;c<a.1h;c++)d=a[c],E.1eE(d,255,d),b=1k.2o(b,E.2A(d,5yu));1f b};at.1i.2KL=1b(a,b){1a.1e9.5P(a,b)};at.1i.3Z=1b(){1f!1};at.1i.1M=1b(){4tO(1a);4tN(1a);1a.1e9.2z=g(1a.1e9.2z)&&1a.1e9.2z.1M();1f la(1a)};zD.1i.2H=1b(a,b,c){1d d=c.1G;c=c.1D;if(!g(1a.13p)||d!==1a.19K.1G||c!==1a.19K.1D){4tM(1a);1d e=a.8j,f=a.7p;a.8X?(1a.19K=1g Ca({1O:a,1G:e,1D:f,8b:ua.1eF,10E:Ha.1Jw}),1a.13p=1g eb({1O:a,1ku:1a.19K,16Y:!1})):(1a.19K=1g Ca({1O:a,1G:e,1D:f,8b:ua.9m,10E:Ha.7U}),1a.13p=1g eb({1O:a,13I:[1a.19K],1yY:1g ig({1O:a,1G:e,1D:f,8V:kh.1eF}),16Y:!1}));a=1g Sf(a);a.1Jm=!1;a.1g1={3e:!0,3g:1g Aa};a.5q=1g Aa;1a.1ab=a}a=1a.1ab;a.4Q=1a.13p;a.5q.1G=d;a.5q.1D=c;a.1g1.3g.x=b.x;a.1g1.3g.y=c-b.y;a.1g1.3g.1G=1;a.1g1.3g.1D=1;1f a};zD.1i.3Z=1b(){1f!1};zD.1i.1M=1b(){4tM(1a);1f la(1a)};uz.1i.1jM=1b(a,b,c){1d d=1a.4j,e=b.1G;b=b.1D;Aa.1y(a,1a.1ab.1g1.3g);1a.1ab.1g1.3e=!c;g(1a.1bA)&&1a.10V===e&&1a.10o===b||(1a.10V=e,1a.10o=b,1a.1bA=1a.1bA&&1a.1bA.1M(),1a.1bA=1g eb({1O:d,13I:[1g Ca({1O:d,1G:e,1D:b})],1yY:1g ig({1O:d,1G:e,1D:b,8V:kh.1eF})}),1a.1ab.4Q=1a.1bA);1a.1ab.5q.1G=e;1a.1ab.5q.1D=b;1f 1a.1ab};uz.1i.9o=1b(a){1d b=m(a.1G,1),c=m(a.1D,1),d=1a.4j;a=d.1tG({x:a.x,y:a.y,1G:b,1D:c,4Q:1a.1bA});d.11n=a;1d e=1k.1V(b,c);e*=e;1d f=1k.2t(.5*b);c=1k.2t(.5*c);1j(1d h=0,l=0,k=0,n=-1,q=0;q<e;++q){if(-f<=h&&h<=f&&-c<=l&&l<=c){1d r=4*((c-l)*b+h+f);r=y.2xV(a[r],a[r+1],a[r+2],a[r+3]);r=d.2xU(r);if(g(r))1f r}if(h===l||0>h&&-h===l||0<h&&h===1-l)r=k,k=-n,n=r;h+=k;l+=n}};uz.1i.3Z=1b(){1f!1};uz.1i.1M=1b(){1a.1bA=1a.1bA&&1a.1bA.1M();1f la(1a)};Dq.1i.2H=1b(a,b,c){1d d=b.1G;b=b.1D;1d e=1a.1dn;g(e)&&e.1G===d&&e.1D===b&&c===1a.20q||(4tK(1a),1a.20q=c,1a.1dn=1g Ca({1O:a,1G:d,1D:b,8b:ua.9m,10E:c?a.20p?Ha.1kq:Ha.3O:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})}),1a.2eZ=1g Ca({1O:a,1G:d,1D:b,8b:ua.9m,10E:Ha.7U,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})}),a.8X?(1a.19K=1g Ca({1O:a,1G:d,1D:b,8b:ua.1eF,10E:Ha.1Jw,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})}),1a.337=1g Ca({1O:a,1G:d,1D:b,8b:ua.1eF,10E:Ha.1Jw,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})})):(1a.1yZ=1g ig({1O:a,1G:d,1D:b,8V:kh.1eF}),1a.3nC=1g ig({1O:a,1G:d,1D:b,8V:kh.1eF})),1a.13p=1g eb({1O:a,13I:[1a.1dn],1ku:1a.19K,1yY:1a.1yZ,16Y:!1}),1a.2yH=1g eb({1O:a,13I:[1a.2eZ],1ku:1a.337,1yY:1a.3nC,16Y:!1}))};Dq.1i.9P=1b(a,b,c){1d d=b.4Q;b.4Q=1a.13p;y.1y(c,1a.13Z.1A);1a.13Z.5P(a,b);b.4Q=1a.2yH;y.1y(1a.5yt,1a.13Z.1A);1a.13Z.5P(a,b);b.4Q=d};Dq.1i.2eW=1b(){1f 1a.13p};Dq.1i.4tL=1b(){1f 1a.2yH};Dq.1i.3Z=1b(){1f!1};Dq.1i.1M=1b(){4tK(1a);1f la(1a)};vz.1i.1jM=1b(a,b){1d c=1a.4j,d=b.1G;b=b.1D;Aa.1y(a,1a.1ab.1g1.3g);g(1a.1bA)&&1a.10V===d&&1a.10o===b||(1a.10V=d,1a.10o=b,1a.1bA=1a.1bA&&1a.1bA.1M(),1a.1bA=1g eb({1O:c,13I:[1g Ca({1O:c,1G:d,1D:b,8b:ua.1fB,10E:Ha.3O})],1yY:1g ig({1O:c,1G:d,1D:b,8V:kh.1eF})}),1a.1ab.4Q=1a.1bA);1a.1ab.5q.1G=d;1a.1ab.5q.1D=b;1f 1a.1ab};vz.1i.9o=1b(a){1d b=m(a.1G,1),c=m(a.1D,1),d=1a.4j;a=d.1tG({x:a.x,y:a.y,1G:b,1D:c,4Q:1a.1bA});d.11n=a;d=1k.1V(b,c);d*=d;1d e=1k.2t(.5*b);c=1k.2t(.5*c);1j(1d f=0,h=0,g=0,k=-1,n=0;n<d;++n){if(-e<=f&&f<=e&&-c<=h&&h<=c){1d q=4*((c-h)*b+f+e);q=1g E(a[q],a[q+1],a[q+2],1);if(q.z<-B.1io)1f q}if(f===h||0>f&&-f===h||0<f&&f===1-h)q=g,g=-k,k=q;f+=g;h+=k}};vz.1i.3Z=1b(){1f!1};vz.1i.1M=1b(){1a.1bA=1a.1bA&&1a.1bA.1M();1f la(1a)};Rk.5xX=1b(a,b,c,d){1f"7Ig "+a+" "+b+" "+c+" "+d};Rk.5xW=1b(a,b,c){1d d=a.2N.4h(0),e=a.5p.4h(0);d.1q("2Td");c&&d.1q("3Hv");a=ja.3Rj(a);a=g(a);if(b&&!a){b=e.1h;1j(a=0;a<b;++a)e[a]=ja.1gF(e[a],"3Rk");e.1q("3G 1w 13L; \\2s 2k() \\n{ \\n    3Rk(); \\n    13L = (1k1 * 6I).1H; \\n}")}1f 1g ja({2N:d,5p:e})};Rk.5xV=1b(a,b,c,d,e){1d f=a.2N.4h(0),h=a.5p.4h(0);a=ja.3Rj(a);1d l=g(a);l||(a="13L");1j(1d k=h.1h,n=0;n<k;++n)h[n]=ja.1gF(h[n],"3Rk");k="";b&&(l||(k+="3G 1w 13L; \\n"),k+="2n 1m 2nl; \\n");k=d?k+"1p 2k() \\n{ \\n":k+"1p 2k() \\n{ \\n    3Rk(); \\n    if (2C.a == 0.0) \\n    { \\n       7o; \\n    } \\n";b?k+="    1o 3s = 1h("+a+"); \\n    if (3s >= 2nl.w) \\n    { \\n        7o; \\n    } \\n    3s /= 2nl.w; // 3L \\n    2C = 1lP(3s); \\n":c?(g(e.1cI)&&"11w"===e.1cI&&(k+="   if(4m.a < 0.1)\\n   {\\n       7o;\\n   }\\n"),k+="   2C = 1m(1.0); \\n"):k+="    2C = 1lP(4u.z); \\n";h.1q(k+"} \\n");1f 1g ja({2N:f,5p:h})};Rk.5y2=1b(a,b,c,d){1f"7If "+a.2f0+a.4tJ+a.1DU+a.3Ri+(1<a.2ng)+a.4tE+a.3Rd+b+c+d};Rk.5y1=1b(a,b,c){1d d=a.2N.4h(0);a=a.5p.4h(0);d.1q("2Td");b&&(c?d.1q("25j"):d.1q("3Hv"));1f 1g ja({2N:d,5p:a})};Rk.5y0=1b(a,b,c,d,e,f){1d h=ja.5ys(a);e=!d&&g(h)||d&&e;1d l=ja.3Rj(a),k=g(l),n=b.2f0,m=b.4tJ,q=b.1DU,r=b.3Ri,u=1<b.2ng,t=b.4tE,v=b.3Rd;b=q?b.3nu:d?b.3nw:b.3nv;1j(1d y=a.2N.4h(0),A=a.5p.4h(0),B=A.1h,C=0;C<B;++C)A[C]=ja.1gF(A[C],"5yr");q?y.1q("3eU"):n&&y.1q("4fV");v&&!q&&y.1q("4fS");u&&c&&d&&(e?y.1q("1wn"):y.1q("1At"));c&&b.1Uo&&(e||f)&&(y.1q("4fU"),0<b.1rl&&y.1q("4fT"));c="";c=q?c+"2n 1HF 2KK; \\n":c+"2n 2v 1OT; \\n";a=-1<a.2N.3f("10B");c+="2n 5w 3nx; \\1B 1w 3ny; \\1B 1m 2nl; \\1B 1m 3nz; \\1B 1m 3nB; \\n"+(a?"3G 1w 3CJ; \\n":"\\n")+"1m 5yq() \\n{ \\n"+(k?"    1f 1m("+l+", 1.0); \\n":a?"    1f 1m(3CJ, 1.0); \\n":"    1f 1az(4u); \\n")+"} \\1R 5yp() \\n{ \\n"+(e?"    1f 1T("+h+"); \\n":f?"    1f 1T(11b*1ju(8l.1H)); \\n":"    1f 1w(1.0); \\n")+"} \\2s 3Rf(1du 1m 4p, 1w 4X, 1o 18o) \\n{ \\n"+(b.27z&&e||f?"    1o 27z = 3nz.x; \\n    1o 336 = 1.0 - 18o; \\n    1w 2M = 27z * 336 * 4X; \\n    4p.1H += 2M; \\n":"")+"} \\n";c+="1p 2k() \\n{ \\n    5yr(); \\n    1m 4p = 5yq(); \\n    1w 4X = 5yp(); \\n    1o 4e = -4p.z; \\n    2sA 19u; \\n    19u.1KR = 3nB.xy; \\n    19u.1p0 = 3nB.z; \\n    19u.1rl = 3nB.w; \\n    19u.1k2 = 3nz.w; \\n";d?c+="    19u.1p0 *= 1V(4e * 0.11t, 1.0); \\n":m||(c+="    19u.1p0 *= 3T(1.0, 100.0, 4e * 0.2bF); \\n");A.1q((q?c+"    1w 1Un = 4p.1H - 2nl.1H; \\n    1o 3s = 1h(1Un); \\n    1Un = 1T(1Un); \\n    1o 3L = 2nl.w; \\n    // 27A 3Re if 1Z 1fo is 7Ie 1Z 7v 1e8 3L \\n    if (3s > 3L) \\n    { \\n        1f; \\n    } \\n    1w 18k  = 25a * 1Un; \\n    19u.4e = 3s / 3L; \\n    19u.18o = 2Y(2A(4X, -1Un), 0.0, 1.0); \\n    19u.1HE = 18k; \\n    1o 12F = 2jl(2KK, 19u); \\n":r?c+"    1w 1Un = 1T(4p.1H - 2nl.1H); \\n    1o 18o = 2Y(2A(4X, -1Un), 0.0, 1.0); \\n    3Rf(4p, 4X, 18o); \\n    1m 1wt = 3nx * 4p; \\n    // 7Id 1e8 2yG a 1S1 18T, so 7Ic 1Z 1S1 3Rh \\n    1wt /= 1wt.w; \\n    // 27A 3Re if 1Z 1fo is 2S in 1Z 1Gy 14w \\n    if (any(1ib(1wt.1H, 1w(0.0))) || any(1bP(1wt.1H, 1w(1.0)))) \\n    { \\n        1f; \\n    } \\n    19u.1HE = 1wt.xy; \\n    19u.4e = 1wt.z; \\n    19u.18o = 18o; \\n    1o 12F = 2jl(1OT, 19u); \\n":u?c+("    1o 2yF = 24P[1].w; \\n    // 27A 3Re if 1Z 2vS 4e 3nA 1Z 2wU 3Rg \\n    if (4e > 2yF) \\n    { \\n        1f; \\n    } \\n    // 5yo 1Z 3Rg 24y on 1Z 2vS-1ww 4e \\n    1m 1cx = 2Ue(4e); \\n    // 7Ib 2U 2M \\n    1o 18o = 2Y(2A(4X, 3ny), 0.0, 1.0); \\n    3Rf(4p, 4X, 18o); \\n    // 331 1K 1KP 1Z 3Rg \\n    1m 1wt = 2Uh(1cx) * 4p; \\n    // 5yo 12F \\n    19u.1HE = 1wt.xy; \\n    19u.4e = 1wt.z; \\n    19u.18o = 18o; \\n    19u.1p0 = 0.1t2 * (1.0 - 18o); \\n    1o 12F = 2jl(1OT, 19u); \\n    // 5yn 9H 6x 17m are 3W 7Ia \\n    1o 4tI = 3nz.z; \\n    1o 1ay = 1V((4e - 4tI * 0.8) / (4tI * 0.2), 0.0); \\n    12F = 3T(12F, 1.0, 1ay); \\n"+(t?"    // 7I9 3Rg 1Bd 1j 7I8 \\n    2C *= 3EC(1cx); \\n":"")):c+"    1o 18o = 2Y(2A(4X, 3ny), 0.0, 1.0); \\n    3Rf(4p, 4X, 18o); \\n    1m 1wt = 3nx * 4p; \\n    // 27A 3Re if 1Z 1fo is 2S in 1Z 1Gy 14w \\n    if (any(1ib(1wt.1H, 1w(0.0))) || any(1bP(1wt.1H, 1w(1.0)))) \\n    { \\n        1f; \\n    } \\n    19u.1HE = 1wt.xy; \\n    19u.4e = 1wt.z; \\n    19u.18o = 18o; \\n    1o 12F = 2jl(1OT, 19u); \\n")+"    2C.2y *= 12F; \\n} \\n");1f 1g ja({2N:y,5p:A})};Uj.5xO=2E4;Uj.1i.7I7=1b(){UT(1a)};1L.2X(Uj.1i,{3e:{1n:1b(){1f 1a.1wK},1C:1b(a){1a.6s=1a.1wK!==a;1a.1wK=a}},27z:{1n:1b(){1f 1a.2KJ},1C:1b(a){1a.6s=1a.2KJ!==a;1a.2KJ=a;1a.3nw.27z=a;1a.3nv.27z=a;1a.3nu.27z=a}},3Rd:{1n:1b(){1f 1a.3Rc},1C:1b(a){1a.6s=1a.3Rc!==a;1a.3Rc=a}},4V:{1n:1b(){1f 1a.1eC},1C:1b(a){1d b=a;1a.1eC=b;a=1a.1yX;1d c=a.1h,d=1a.1xc;1a.1DU?(b=sb.2y5>=b?b:sb.2y5,d.x=b,d.y=b,b=1g Aa(0,0,b,b),a[0].1md.5q=b,a[1].1md.5q=b,a[2].1md.5q=b,a[3].1md.5q=b,a[4].1md.5q=b,a[5].1md.5q=b):1===c?(b=sb.1Ml>=b?b:sb.1Ml,d.x=b,d.y=b,a[0].1md.5q=1g Aa(0,0,b,b)):4===c&&(b=sb.1Ml>=2*b?b:sb.1Ml/2,d.x=2*b,d.y=2*b,a[0].1md.5q=1g Aa(0,0,b,b),a[1].1md.5q=1g Aa(b,0,b,b),a[2].1md.5q=1g Aa(0,b,b,b),a[3].1md.5q=1g Aa(b,b,b,b));1a.4tH.5q=1g Aa(0,0,d.x,d.y);1j(b=0;b<c;++b){1d e=a[b],f=e.1md.5q;e.4tw=1g A(f.1G/d.x,0,0,f.x/d.x,0,f.1D/d.y,0,f.y/d.y,0,0,1,0,0,0,0,1)}}},4tG:{1n:1b(){1f 1a.2nk}},5ym:{1n:1b(){1f 1a.3R6}},10s:{1n:1b(){1f 1a.1yX}},4tF:{1n:1b(){1f 1a.1DU}},4tE:{1n:1b(){1f 1a.3Rb},1C:1b(a){1a.6s=1a.3Rb!==a;1a.3Rb=a}}});1d SA=1g Aa,lp=2K(8);lp[0]=1g E(-1,-1,-1,1);lp[1]=1g E(1,-1,-1,1);lp[2]=1g E(1,1,-1,1);lp[3]=1g E(-1,1,-1,1);lp[4]=1g E(-1,-1,1,1);lp[5]=1g E(1,-1,1,1);lp[6]=1g E(1,1,1,1);lp[7]=1g E(-1,1,1,1);1j(1d hu=1g A,cZ=2K(8),dZ=0;8>dZ;++dZ)cZ[dZ]=1g E;1d 5y6=[y.1PZ,y.3Ra,y.2f3,y.5yl],5y5=1g k;eK.1i.1y=1b(a){A.1y(a.1on,1a.1on);A.1y(a.1x3,1a.1x3);1a.3j=a.3j.1y(1a.3j);T.1y(a.19I,1a.19I);k.1y(a.6K,1a.6K);k.1y(a.18k,1a.18k);k.1y(a.1je,1a.1je);k.1y(a.2f1,1a.2f1)};1d 5yk=1g A(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);eK.1i.3R5=1b(){A.9b(1a.3j.1pv,1a.1on,1a.3nt);A.9b(5yk,1a.3nt,1a.3nt);1f 1a.3nt};1d mp=2K(5),5y9=1g Qc,LF=2K(4),4ty=1g k,4tx=1g k,5yb=1g A,5yd=1g k,5yc=1g k,MF=1g k,5yg=[1g k(-1,0,0),1g k(0,-1,0),1g k(0,0,-1),1g k(1,0,0),1g k(0,1,0),1g k(0,0,1)],5yf=[1g k(0,-1,0),1g k(0,0,-1),1g k(0,-1,0),1g k(0,-1,0),1g k(0,0,1),1g k(0,-1,0)],5ye=[1g k(0,0,1),1g k(1,0,0),1g k(-1,0,0),1g k(0,0,-1),1g k(1,0,0),1g k(1,0,0)],5yi=1g k,5yh=1g k,iu=1g P,4tB=iu.2V;Uj.1i.2H=1b(a){1d b=a.3w,c=1a.4tD,d=1a.27x,e=1a.20P;1a.2KI?k.1y(c.18k,e.18k):1a.1DU?k.1y(c.6K,e.6K):e.1y(c);c=1a.2f2;A.1gE(b.1on,e.18k,c);k.1T(c,c);k.11k(c,c);A.8P(b.1on,e.6K,1a.3ns);1a.3ns.w=1a.3np;1a.5yj?(e=1k.2o(a.1fv.3nj,1a.1Yu),c=1k.2o(a.1fv.3ni,1a.1Yu+1)):(e=b.3j.3I,c=1a.1Yu);1a.27x=ab.1y(b,d);b.3j.1y(1a.27x.3j);1a.27x.3j.3I=e;1a.27x.3j.3W=c;1a.172=c-e;d=1a.27x;b=1a.20P;1a.2KI?d.3j.3I>=1a.1Yu?(1a.2nk=!0,1a.2nj=!1):(d=a.11s.3c.17N(d.6K,5yi),b=k.11k(b.18k,5yh),b=k.2A(d,b),d=B.2Y(b/.1,0,1),1a.4tC=B.11x(1,1a.1k2,d),0>b?(1a.2nk=!0,1a.2nj=!1):(1a.2nj=!0,1a.2nk=!1)):(1a.1DU?(iu.2V=b.6K,iu.3L=1a.3np):(d=b.3j.3W/2,b=k.add(b.6K,k.4g(b.18k,d,4tB),4tB),iu.2V=b,iu.3L=d),1a.2nk=a.1dj.1su(iu)===Lb.1gB,1a.2nj=!1a.2nk&&!1a.5V.2L(iu),P.1y(iu,1a.5V));!1a.4tA&&1a.2nk&&(1a.2nj=!0);1a.4tA=1a.2nk;if(1a.2nj){b=a.1O;g(1a.1yX[0].4Q)&&1a.27y.1G===1a.1xc.x||(WT(1a),4tz(1a,b),1a.2f0&&1a.1yX[0].4Q.1hM!==H.3nr&&(1a.2f0=!1,UT(1a),WT(1a),4tz(1a,b)),4tt(1a,b));if(1a.1DU)1j(b=1g Qc,b.16X=B.10k,b.3I=1,b.3W=1a.3np,b.13n=1,d=0;6>d;++d)e=1a.1yX[d].3w,e.6K=1a.20P.6K,e.19I=a.11s.3c.10Z(e.6K,e.19I),e.18k=5yg[d],e.1je=5yf[d],e.2f1=5ye[d],A.32Z(e.6K,e.18k,e.1je,e.2f1,e.1on),A.12Z(e.1on,e.1x3),e.3j=b;if(1a.2KI){b=1a.20P;e=1a.27x;d=A.9b(e.3j.1pv,e.1on,hu);1d f=A.12Z(d,hu);d=b.18k;e=e.18k;c=k.4B(d,e,5yd);e=k.4B(c,d,5yc);k.1T(e,e);k.1T(c,c);1d h=k.9v(0,0,0,MF);h=A.32Z(h,d,e,c,5yb);1d l=A.9b(h,f,hu);f=k.9v(3a.6w,3a.6w,3a.6w,4ty);1j(1d p=k.9v(-3a.6w,-3a.6w,-3a.6w,4tx),n=0;8>n;++n){1d m=E.1y(lp[n],cZ[n]);A.10r(l,m,m);k.1eE(m,m.w,m);k.2yE(m,f,f);k.2yD(m,p,p)}p.z+=1E3;f.z-=10;MF.x=-(.5*(f.x+p.x));MF.y=-(.5*(f.y+p.y));MF.z=-p.z;l=A.1PY(MF,hu);h=A.9b(l,h,h);l=.5*(p.x-f.x);n=.5*(p.y-f.y);f=p.z-f.z;p=b.3j;p.3B=-l;p.2W=l;p.7b=-n;p.5C=n;p.3I=.11t;p.3W=f;A.1y(h,b.1on);A.12Z(h,b.1x3);A.1Um(b.1x3,b.6K);a.11s.3c.10Z(b.6K,b.19I);k.1y(d,b.18k);k.1y(e,b.1je);k.1y(c,b.2f1);if(1<1a.2ng){b=1a.20P;d=1a.27x;h=d.3j.3I;c=d.3j.3W;e=1a.2ng;f=c-h;p=c/h;l=.9;n=!1;200>a.1fv.3nh&&(n=!0,l=.9);mp[0]=h;mp[e]=c;1j(c=0;c<e;++c)m=(c+1)/e,m=B.11x(h+f*m,h*1k.3r(p,m),l),mp[c+1]=m,LF[c]=m-mp[c];if(n){1j(c=0;c<e;++c)LF[c]=1k.2o(LF[c],1a.5ya[c]);h=mp[0];1j(c=0;c<e-1;++c)h+=LF[c],mp[c+1]=h}E.5f(mp,0,1a.3nq[0]);E.5f(mp,1,1a.3nq[1]);E.5f(LF,0,1a.3R9);c=b.3j;h=c.3B;f=c.2W;p=c.7b;l=c.5C;n=c.3I;m=c.3W;1d q=b.6K,r=b.18k,u=b.1je,t=d.3j.1y(5y9),v=b.3R5();1j(c=0;c<e;++c){t.3I=mp[c];t.3W=mp[c+1];1d C=A.9b(t.1pv,d.1on,hu);C=A.12Z(C,hu);1d F=A.9b(v,C,hu);C=k.9v(3a.6w,3a.6w,3a.6w,4ty);1j(1d ka=k.9v(-3a.6w,-3a.6w,-3a.6w,4tx),I=0;8>I;++I){1d J=E.1y(lp[I],cZ[I]);A.10r(F,J,J);k.1eE(J,J.w,J);k.2yE(J,C,C);k.2yD(J,ka,ka)}C.x=1k.1V(C.x,0);C.y=1k.1V(C.y,0);C.z=0;ka.x=1k.2o(ka.x,1);ka.y=1k.2o(ka.y,1);ka.z=1k.2o(ka.z,1);F=1a.1yX[c];I=F.3w;I.1y(b);J=I.3j;J.3B=h+C.x*(f-h);J.2W=h+ka.x*(f-h);J.7b=p+C.y*(l-p);J.5C=p+ka.y*(l-p);J.3I=n+C.z*(m-n);J.3W=n+ka.z*(m-n);F.1dj=I.3j.1tM(q,r,u);C=1a.3R8[c];A.9b(I.3R5(),d.1x3,C);A.9b(F.4tw,C,C)}}}1a.1DU?1a.3R6=ag.3R7(1a.5V):(b=1a.20P,1a.3R6=b.3j.1tM(b.6K,b.18k,b.1je),1===1a.1yX.1h&&1a.1yX[0].3w.1y(b))}1===1a.1yX.1h&&(b=1a.27x.1x3,A.9b(1a.20P.3R5(),b,1a.3R4));if(1a.5y8){b=a.1O;d=a.1O.8j;e=.3*1k.2o(d,a.1O.7p);SA.x=d-e;SA.y=0;SA.1G=e;SA.1D=e;d=1a.2yA;g(d)||(1a.2yA=d=5y7(1a,b));g(d.4w)&&Aa.2L(d.4w.5q,SA)||(d.4w=pa.4t({5q:Aa.1y(SA)}));a.13l.1q(1a.2yA);b=1a.2yC&&!1a.4tv;if(1a.4tv=1a.2yC)b&&(1a.2nh=1a.2nh&&1a.2nh.1M(),1a.2nh=1g Aq({3w:1a.27x,1A:y.4tu,32Y:!1})),1a.2nh.2H(a);if(1a.2KI){if(1a.2yC)1j(b&&(1a.1Gw=1a.1Gw&&1a.1Gw.1M(),1a.1Gw=1g Aq({3w:1a.20P,1A:y.1Zs,32Y:!1})),1a.1Gw.2H(a),d=0;d<1a.2ng;++d)b&&(1a.2nf[d]=1a.2nf[d]&&1a.2nf[d].1M(),1a.2nf[d]=1g Aq({3w:1a.1yX[d].3w,1A:5y6[d],32Y:!1})),1a.2nf[d].2H(a)}1s{if(1a.1DU){if(!g(1a.1Gw)||1a.2nj)b=1a.20P.6K,d=ca.8K,e=2*1a.3np,e=k.9v(e,e,e,5y5),b=A.2yB(b,d,e,hu),1a.1Gw=1a.1Gw&&1a.1Gw.1M(),e=y.1Zs,d=1g yb({3y:1g ai({13b:1g k(-.5,-.5,-.5),14S:1g k(.5,.5,.5)}),2w:{1A:Qb.1dc(e)}}),e=1g yb({3y:1g Ep({3L:.5}),2w:{1A:Qb.1dc(e)}}),1a.1Gw=1g Kb({13g:[d,e],161:1g zc({11C:!1,8z:!0}),17X:!1,4a:b})}1s if(!g(1a.1Gw)||1a.2nj)1a.1Gw=1g Aq({3w:1a.20P,1A:y.1Zs,32Y:!1});1a.1Gw.2H(a)}}};Uj.1i.1pA=1b(a,b){4tt(1a,a,b)};1d 5y4=1g C;Uj.5y3=1b(a,b,c,d,e){g(e)||(e={});1d f=0<a.1h,h=b.2z,l=h.5O,k=h.5A,n=b.6t===ma.1Bb,m=b.6t===ma.1Bc,q=!1;n&&(q=b.7H.2g.1PX.19F.1lp);if(b.1fC&&f){if(g(e.2ni)){1d r=e.2ni.2z;1d u=e.2ni.4J}e.2ni=Oa.15v(b,e.2ni);e.1hR=!1;e.1fC=!0;f=e.5xY!==b.1hR;1d t=e.5xZ!==b.2z.id;if(!g(r)||t||c||f)c=Rk.5y2(a[0],b.1hR,n,q),r=d.1hf.1Jv(h,c),g(r)||(l=Rk.5y1(l,n,q),k=Rk.5y0(k,a[0],b.1hR,n,q,m),r=d.1hf.1Gx(h,c,{5O:l,5A:k,7W:h.12m})),u=4to(a[0],b.4J,n);e.2ni.2z=r;e.2ni.4J=u;e.5xZ=b.2z.id;e.5xY=b.1hR}1f e};Uj.5tI=1b(a,b,c,d,e){g(e)||(e={});if(b.1hR){1d f=e.4ts;g(f)||(f=e.4ts=[]);1d h=e.5xU,l=a.1h;f.1h=l;1j(1d k=0;k<l;++k){1d n=f,m=k,q=1p 0,r=1p 0,u=1p 0,t=a[k],v=c,y=b,A=d,B=h,C=f[k];g(C)&&(u=C.2z,r=C.4w,q=C.4J);C=Oa.15v(y,C);C.1hR=!0;C.1fC=!1;if(!g(u)||B!==y.2z.id||v){r=y.2z;q=y.6t===ma.1Bb;1d E=y.6t!==ma.1bl;v=t.1DU;1d F=t.2f0;B=Rk.5xX(v,q,F,E);u=A.1hf.1Jv(r,B);if(!g(u)){1d K=r.5A;u=Rk.5xW(r.5O,v,q);E=Rk.5xV(K,v,F,E,C);u=A.1hf.1Gx(r,B,{5O:u,5A:E,7W:r.12m})}r=t.4tr;v?r=t.4tq:q&&(r=t.4tp);y.4w.8d.3e||(r=wc(r,!1),r.8d=wc(r.8d,!1),r.8d.3e=!1,r=pa.4t(r));q=4to(t,y.4J,q)}C.2z=u;C.4w=r;C.4J=q;n[m]=C}e.5xU=b.2z.id}1f e};Uj.1i.3Z=1b(){1f!1};Uj.1i.1M=1b(){WT(1a);1a.1Gw=1a.1Gw&&1a.1Gw.1M();1a.2nh=1a.2nh&&1a.2nh.1M();1a.2yA=1a.2yA&&1a.2yA.2z&&1a.2yA.2z.1M();1j(1d a=0;a<1a.2ng;++a)1a.2nf[a]=1a.2nf[a]&&1a.2nf[a].1M();1f la(1a)};1d $la=1g k,ama=1g k;bt.1i.5ts=1b(a){1d b=1a.3w,c=1a.5xT,d=B.1g9,e=1/1k.1V(1,5xS(b.1K,c.1K));k.4g(b.1K,e,$la);k.4g(c.1K,e,ama);if(!(k.5T($la,ama,d)&&k.5T(b.2G,c.2G,d)&&k.5T(b.up,c.up,d)&&k.5T(b.2W,c.2W,d)&&A.5T(b.5o,c.5o,d)&&b.3j.5T(c.3j,d)))1f 1a.3no||(b.5xR.5k(),1a.3no=!0),1a.4tn=Kd(),ab.1y(b,c),!0;1a.3no&&Kd()-1a.4tn>a.5xQ&&(b.5xP.5k(),1a.3no=!1);1f!1};1d 4tm=1g ag,lj=1g pp;bt.1i.3ng=1b(a){1d b=a.18Y,c=b.3w,d=c.18k,e=c.6K,f=a.3R3,h=a.3nn,l=a.3nm,k=b.13l;a.2yy&&(1a.2I2={4kR:0,4kS:{}});1j(1d n=1a.1Jl,m=n.1h,q=ma.2KH,r=0;r<m;++r)1j(1d u=0;u<q;++u)n[r].4N[u]=0;f.1h=0;h.1h=0;l.1h=0;q=3a.6w;r=-3a.6w;u=!1;1j(1d t=b.1fv.2mN,v=3a.6w,y=-3a.6w,A=3a.6w,C=b.3z===O.6G?b.2yz:1p 0,E=b.1dj,F=4tm.1Di,H=0;5>H;++H)F[H]=E.1Di[H];E=4tm;F=k.1h;1j(H=0;H<F;++H){1d K=k[H];if(a.16u.2KG||!0!==K.16w){1d I=K.6t;if(I===ma.3R2)f.1q(K);1s if(I===ma.1eW)h.1q(K),a.3ml(K);1s if(I===ma.3nl)l.1q(K),a.3ml(K);1s{1d L=K.6W;if(g(L)){if(!a.1cA(K,E,C))1aJ;lj=L.2KF(e,d,lj);q=1k.2o(q,lj.4I);r=1k.1V(r,lj.4U);t&&K.1fC&&lj.4I<Uj.5xO&&!(I===ma.1Bb&&-100>lj.4I&&100<lj.4U)&&(L=lj.4U-lj.4I,I!==ma.1Bb&&100>lj.4I&&(A=1k.2o(A,L)),v=1k.2o(v,lj.4I),y=1k.1V(y,lj.4U))}1s lj.4I=c.3j.3I,lj.4U=c.3j.3W,u=!(K 2m Ec);I=a;L=lj;I.2yy&&(K.2ne=0);1j(1d J=1a.1Jl,U=J.1h,R=0;R<U;++R){1d V=J[R];if(!(L.4I>V.3W)){if(L.4U<V.3I)1W;1d W=K.6t,da=V.4N[W]++;V.1qJ[W][da]=K;I.2yy&&(K.2ne|=1<<R);if(K.3nk)1W}}I.2yy&&(L=1a.2I2.4kS,L[K.2ne]=g(L[K.2ne])?L[K.2ne]+1:1,++1a.2I2.4kR);I.3ml(K)}}}u?(q=c.3j.3I,r=c.3j.3W):(q=1k.2o(1k.1V(q,c.3j.3I),c.3j.3W),q=b.1bz?q:1k.1V(q,1),r=1k.1V(1k.2o(r,c.3j.3W),q),t&&(v=1k.2o(1k.1V(v,c.3j.3I),c.3j.3W),y=1k.1V(1k.2o(y,c.3j.3W),v+1)));t&&(b.1fv.3nj=1k.1V(v,1),b.1fv.3ni=y,b.1fv.3nh=A);d=a.3z===O.10j;f=(e=b.1bz)?a.3R1:a.32X;!b.1bz&&b.1O.8X&&(b.10s.20O||b.20N||a.1yP.2yx())&&(f=a.3R1,q=1k.1V(q,1));d?(r=1k.2o(r,c.1K.z+a.3R0),q=1k.2o(q,r),c=1k.8a(1k.1V(1,r-q)/a.3R0)):c=1k.8a(1k.7k(r/q)/1k.7k(f));if(1a.3mr||q!==3a.6w&&(c!==m||0!==n.1h&&(q<n[0].3I||r>n[m-1].3W&&(e||!B.5T(r,n[m-1].3W,B.1PW)))))1a.3mr=!1,4tl(q,r,f,c,e,n,d,a.3R0),1a.3ng(a);a=b.4tk;a.1h=c+1;1j(b=0;b<c;++b)a[b]=n[b].3I,b===c-1&&(a[b+1]=n[b].3W)};bt.1i.1M=1b(){1a.1M7=1a.1M7&&1a.1M7.1M();1a.31W=1a.31W&&1a.31W.1M();1a.2JN=1a.2JN&&1a.2JN.1M();1a.27w=1a.27w&&1a.27w.1M();1a.1aT=1a.1aT&&1a.1aT.1M();1a.1lo=1a.1lo&&1a.1lo.1M();1d a,b=1a.4ti,c=1a.4tj;1d d=b.1h;1j(a=0;a<d;++a)b[a].1M();d=c.1h;1j(a=0;a<d;++a)c[a].1M()};1d 5xz=1g on({6t:ug.3PB}),5xN=1g on({6t:ug.3PA}),ZT=1g on({6t:ug.1Ol});mh.1i.2H=1b(){1a.2xT=!0};mh.1i.26Y=1b(a,b){a=a.11A.4ti;1d c=a[b];g(c)||(c=1g at,a[b]=c);1f c};1d 5xM=1g Ee,5xL=1g k,fK=1g k,5xK=1g C,5xJ=1g A,5xI=1g Mg,5xH=1g C,TA=3,NF=3,Eq=1g Aa(0,0,TA,NF),4th=1g C,$T=1g y(0,0,0,0);mh.1i.11P=1b(a,b,c,d){if(!g(b))1t 1g r("2mJ is 7w.");TA=m(c,3);NF=m(d,TA);c=a.1O;d=c.13m;1d e=a.18Y,f=a.26Q;a.11A=f;1d h=f.5q;h.x=0;h.y=0;h.1G=c.8j;h.1D=c.7p;1d l=f.1md;l.5q=Aa.1y(h,l.5q);b=ic.2ds(a,b,4th);a.1Ul.31X();a.4td();e.1dj=4tg(a,b,TA,NF,h);e.1M8=!1;e.10s.11P=!0;e.2mL=ZT;d.2H(e);a.3QZ();Eq.x=b.x-.5*(TA-1);Eq.y=a.7p-b.y-.5*(NF-1);Eq.1G=TA;Eq.1D=NF;l=f.1M7.1jM(Eq,f.5q);a.4tf(l,$T);a.4te(l);a=f.1M7.9o(Eq);c.1sr();1f a};1d 5xG=1g Qc,5xF=1g Mg,5xE=1g Jb,5xD=1g Ee;mh.1i.271=1b(a,b,c){if(a.3Pr){if(!g(b))1t 1g r("2mJ is 7w.");if(!a.1O.8X)1t 1g r("4it 19f 1Z 4e 3J is 2S 11J. 1ie 2K3.");1d d=b.5s();if(1a.2xT)1a.20u={},1a.2xT=!1;1s if(1a.20u.3p(d))1f k.1y(1a.20u[d],c);1d e=a.18Y,f=a.1O,h=f.13m,l=a.26Q;a.11A=l;b=ic.2ds(a,b,4th);if(a.4qE){1d p=a.1O,n=a.18Y,m=a.7I6,q=a.26Q;a.11A=q;1d u=q.5q;u.x=0;u.y=0;u.1G=p.8j;u.1D=p.7p;1d v=q.1md;v.5q=Aa.1y(u,v.5q);a.7I5(n.10s);n.10s.11P=!0;n.10s.4e=!0;n.1dj=4tg(a,b,1,1,u);n.2mL=ZT;a.3QZ();m.2KE=!0;v=q.2JN.2H(p,b,u);a.4tf(v,$T);a.4te(v);p.1sr()}1s a.4td(),h.2H(e),a.3QZ();b.y=a.7p-b.y;p=a.3w;n=g(p.3j.16X)?p.3j.1y(5xG):g(p.3j.2ey)?p.3j.1y(5xF):g(p.3j.1G)?p.3j.1y(5xE):p.3j.1y(5xD);q=l.1Jl;u=q.1h;1j(l=0;l<u;++l)if(m=1a.26Y(a,l).19x(f,b.x,b.y),0<m&&1>m){f=q[l];if(a.3z===O.10j){1d t=p.1K.z;p.1K.z=t-f.3I+1;n.3W=1k.1V(1,f.3W-f.3I);n.3I=1;h.2H(e)}1s n.3I=f.3I*(0!==l?a.2mD:1),n.3W=f.3W;h.1Gg(n);c=ic.2lu(a,b,m,c);a.3z===O.10j&&(p.1K.z=t,h.2H(e));1a.20u[d]=k.1y(c);1f c}1a.20u[d]=1p 0}};1d 5xC=1g T;mh.1i.1Gj=1b(a,b,c){c=1a.271(a,b,c);g(c)&&a.3z!==O.6G&&(k.9v(c.y,c.z,c.x,c),b=a.11s,a=b.3c,b=b.1cZ(c,5xC),a.13B(b,c));1f c};mh.1i.3Lk=1b(a,b,c,d,e){1d f=1a;1f 4tc(c,1b(){1d c=f.11P(a,b,d,e);if(g(c))1f{2c:c,1K:1p 0,31U:!1}}).5d(1b(a){1f a.2c})};1d 4tb=1g k,5xB=1g k;mh.1i.5xA=1b(a){1j(1d b=1a.4ta,c=0;c<b.1h;++c){1d d=a,e=b[c],f=d.18Y,h=e.32W,g=1a.20s.3w,k=4t9(1a,e.11j,e.1G,g),n=5xz;n.3w=g;n.1dj=k;g=!0;k=h.1h;1j(1d m=0;m<k;++m){1d q=h[m];q.2p&&d.13y.8h(q)&&(q.2nd(f,n),g=g&&n.3o)}g&&e.1ma.5h();g&&b.6z(c--,1)}};mh.1i.5t4=1b(a,b,c,d){v.2l("11j",b);if(a.3z!==O.6G)1t 1g r("2l4 2xS are 1cF 11J in 3D 3z.");1f wz(1a,a,b,c,d,!1,!1)};mh.1i.5t3=1b(a,b,c,d,e){v.2l("11j",b);if(a.3z!==O.6G)1t 1g r("2l4 2xS are 1cF 11J in 3D 3z.");1f YT(1a,a,b,c,d,e,!1,!1)};mh.1i.5t2=1b(a,b,c,d){v.2l("11j",b);if(a.3z!==O.6G)1t 1g r("2l4 2xS are 1cF 11J in 3D 3z.");1d e=1a;b=rb.1y(b);c=g(c)?c.4h():c;1f hK(a,gK(e,a,b,c,d,1b(){1f wz(e,a,b,c,d,!1,!0)}))};mh.1i.5t1=1b(a,b,c,d,e){v.2l("11j",b);if(a.3z!==O.6G)1t 1g r("2l4 2xS are 1cF 11J in 3D 3z.");1d f=1a;b=rb.1y(b);d=g(d)?d.4h():d;1f hK(a,gK(f,a,b,d,e,1b(){1f YT(f,a,b,c,d,e,!1,!0)}))};1d 5xy=1g k,5xx=1g k,5xw=1g rb,$ba=1g T;mh.1i.2JT=1b(a,b,c,d){v.2l("1K",b);if(a.3z!==O.6G)1t 1g r("2JT is 1cF 11J in 3D 3z.");if(!a.2mI)1t 1g r("2JT 9N 4e 7y 19G. 1ie 2mI.");b=aU(a,b);c=wz(1a,a,b,c,d,!0,!1);if(g(c))1f aca(a,c.1K)};mh.1i.2xR=1b(a,b,c,d,e){v.2l("16L",b);if(a.3z!==O.6G)1t 1g r("2xR is 1cF 11J in 3D 3z.");if(!a.2mH)1t 1g r("2xR 9N 4e 7y 19G. 1ie 2mH.");b=4t8(a,b);a=wz(1a,a,b,c,d,!0,!1);if(g(a))1f k.1y(a.1K,e)};mh.1i.31T=1b(a,b,c,d){v.2l("3q",b);if(a.3z!==O.6G)1t 1g r("31T is 1cF 11J in 3D 3z.");if(!a.2mI)1t 1g r("31T 9N 4e 7y 19G. 1ie 2mI.");c=g(c)?c.4h():c;1j(1d e=b.1h,f=2K(e),h=0;h<e;++h)f[h]=5xv(1a,a,b[h],c,d);1f hK(a,Z.all(f).4b(1b(a){1j(1d c=a.1h,d=0;d<c;++d)b[d].1D=a[d];1f b}))};mh.1i.31S=1b(a,b,c,d){v.2l("2xP",b);if(a.3z!==O.6G)1t 1g r("31S is 1cF 11J in 3D 3z.");if(!a.2mH)1t 1g r("31S 9N 4e 7y 19G. 1ie 2mH.");c=g(c)?c.4h():c;1j(1d e=b.1h,f=2K(e),h=0;h<e;++h)f[h]=5xu(1a,a,b[h],c,d,b[h]);1f hK(a,Z.all(f).4b(1b(a){1j(1d c=a.1h,d=0;d<c;++d)b[d]=a[d];1f b}))};mh.1i.1M=1b(){1a.20s=1a.20s&&1a.20s.1M()};1L.2X(bU.1i,{1I:{1n:1b(){1f"14x"}},3q:{1n:1b(){1f 1a.9h},1C:1b(a){if(g(a)){1a.9h=a;1d b=tc.25R({3q:1a.9h,16U:!0});1a.16b=tc.14t(b);1a.3QY=4t7(1a.16b);1a.7u=P.1aN(a)}}}});1d iK=1g k,jK=1g k,kK=1g k,cU=1g k,dU=1g k,eU=1g k;bU.1i.1Uk=1b(a){if(g(1a.16b)){1d b=1k.2t(B.1xb(0,1a.3QY.1h));b=1a.3QY[b];1d c=1a.16b.4N[3*b],d=1a.16b.4N[3*b+1],e=1a.16b.4N[3*b+2],f=1a.16b.2w.1K.2a,h=f[3*c];b=f[3*c+1];c=f[3*c+2];1d l=f[3*d],p=f[3*d+1];d=f[3*d+2];1d n=f[3*e],m=f[3*e+1];e=f[3*e+2];f=B.1xb(0,1);1d q=B.1xb(0,1);h=fU(f,q,h,l,n);b=fU(f,q,b,p,m);c=fU(f,q,c,d,e);a.1K=k.9v(h,b,c,a.1K);a.1c9=k.1T(a.1K,a.1c9)}};1d Vj={10U:0,11U:1};1L.2X(kd.1i,{3o:{1n:1b(){1f 1a.4y}},2i:{1n:1b(){1f 1a.6X}},1cm:{1n:1b(){1f 1a.3QW}},6H:{1n:1b(){1f 1a.1dg}},1yW:{1n:1b(){1f 1a.4sU}},2nc:{1n:1b(){1f 1a.4sT}},1Uh:{1n:1b(){1f 1a.4t3}},8b:{1n:1b(){1f 1a.1vf}},10E:{1n:1b(){1f 1a.1ov}},20L:{1n:1b(){1f 1a.2KB}},2Km:{1n:1b(){1f 1a.1ab.1g1.3g}},1v8:{1n:1b(){if(g(1a.1jd)){1d a=1a.1jd.2eW(1a.6X);if(g(a))1f a.167(0)}}},1bM:{1n:1b(){1f 1a.1sz},1C:1b(a){1a.1sz=a}},4sZ:{1n:1b(){1f 1a.1pz},1C:1b(a){1a.1pz=a}}});1d 5xt=/2n\\s+2v\\s+8X/g;kd.1i.1Ba=1b(a){1f!5xt.6S(1a.3QW)||a.8X};kd.1i.2H=1b(a,b){1a.3e===1a.1wK||1a.3e||4t0(1a);if(1a.1wK=1a.3e){1a.3QX=b!==1a.1hq;1a.1hq=b;a:{b=g(1a.1sz)?1a.1sz.1h:0;1d c=g(1a.1pz)?1a.1pz:0,d=1a.1sz!==1a.32U||b!==1a.32S;d=d||1a.1pz!==1a.32T||c!==1a.32R;g(1a.1sz)&&g(1a.1pz)?1a.1DT=1a.1sz.9V(1a.1pz):g(1a.1pz)?1a.1DT=1a.1pz:1a.1DT=1a.1sz;if(!d&&g(1a.1DT)){if(!g(1a.2yw)){b=!0;1W a}b=1a.1DT.1h;1j(c=0;c<b;++c)if(1a.1DT[c]!==1a.2yw[c]){b=!0;1W a}}b=d}1a.2yv=b;1a.32U=1a.1sz;1a.32T=1a.1pz;1a.2yw=1a.1DT;1a.32S=g(1a.1sz)?1a.1sz.1h:0;1a.32R=g(1a.1pz)?1a.1pz.1h:0;if(1a.2yv&&(1a.1Uj&&1a.1Uj.1M(),1a.1Uj=1p 0,b=1a.1DT,g(b))){c=0;1d e=b.1h;1j(d=0;d<e;++d){1d f=b[d];g(f.32V)?c+=f.32V.1h:g(f.1cI)&&++c}if(0===e||0===c)b=1g 4L(4),b[0]=255,b[1]=255,b[2]=255,b[3]=255,1a.1Uj=1g Ca({1O:a,8b:ua.9m,10E:Ha.7U,5j:{1a9:b,1G:1,1D:1},10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})});1s{1d h=0,l=1g 4L(4*c);1j(d=0;d<e;++d)if(f=b[d],g(f.32V))1j(1d k=f.32V,n=k.1h,m=0;m<n;++m)f=k[m].1A,l[h]=y.10F(f.5r),l[h+1]=y.10F(f.5t),l[h+2]=y.10F(f.5G),l[h+3]=y.10F(f.2O),h+=4;1s g(f.1cI)&&(f=f.1cI.1A,l[h]=y.10F(f.5r),l[h+1]=y.10F(f.5t),l[h+2]=y.10F(f.5G),l[h+3]=y.10F(f.2O),h+=4);1a.1Uj=1g Ca({1O:a,8b:ua.9m,10E:Ha.7U,5j:{1a9:l,1G:c,1D:1},10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})})}}5xs(1a);5xr(1a,a);if(!g(1a.10u)||1a.3QX||1a.2yv)b=1a.3QW,g(1a.1Uj)&&(d=1a.1Uj.1G,b=b.3X(/3G\\s+1v\\s+2F;/g,""),b="#2f 2GN \\1B 2v 4t6; \\1B 2v 4t5; \\1B 1o 4t4; \\1J 1v 2F; \\166 1Lt(1v 2M) \\n{ \\n    7d 1bM = 16f;\\n    1m id = 1Y(4t6, 2F + 2M); \\n    1j (7P i = 0; i < "+d+"; ++i) \\n    { \\n        1m 5xq = 1Y(4t5, 1v(1o(i) * 4t4, 0.5)); \\n        if (all(14B(id, 5xq))) \\n        { \\n            1f 8O; \\n        } \\n    } \\n    1f 16f; \\n} \\n\\166 1Lt() \\n{ \\n    1f 1Lt(1v(0.0)); \\n} \\n\\n"+b),b=1g ja({2N:[1a.1hq?"10B":""],5p:[b]}),1a.10u=a.1aL(b,{4J:1a.1cH,7H:1a});1a.4t3===Vj.11U?(b=nb.11U,d=Rb.11U):(b=nb.10U,d=Rb.10U);c=1a.2eY;g(c)&&c.14A===b&&c.15u===d||(1a.2eY=1g Eb({18i:Ka.11g,18h:Ka.11g,14A:b,15u:d}));1a.2yv=!1;if(1a.4y&&(b=1a.1jd.2eW(1a.6X),1a.10u.4Q=b,g(b))){b=b.167(0);if(b.1G!==a.8j||b.1D!==a.7p||g(1a.4t2)){1d q=1a.1hT;g(q)&&b.1G===q.5q.1G&&b.1D===q.5q.1D||(1a.1hT=pa.4t({5q:1g Aa(0,0,b.1G,b.1D),12e:1a.4t2}))}1a.10u.4w=q}}};kd.1i.5P=1b(a,b,c,d){g(1a.10u)&&g(1a.10u.4Q)&&1a.4y&&1a.1wK&&(1a.1dn=b,1a.19m=c,1a.2eZ=d,Eb.2L(1a.1dn.10v,1a.2eY)||(1a.1dn.4t1=!0,1a.1dn.10v=1a.2eY),b=0<1a.2Km.1G&&0<1a.2Km.1D?1a.1ab:1p 0,g(b)&&(b.1O=a),1a.10u.5P(a,b))};kd.1i.3Z=1b(){1f!1};kd.1i.1M=1b(){4t0(1a);1f la(1a)};1L.2X(nh.1i,{3o:{1n:1b(){1j(1d a=1a.1kt,b=a.1h,c=0;c<b;++c)if(!a[c].3o)1f!1;1f!0}},2i:{1n:1b(){1f 1a.6X}},3e:{1n:1b(){1f 1a.1kt[0].3e},1C:1b(a){1j(1d b=1a.1kt,c=b.1h,d=0;d<c;++d)b[d].3e=a}},6H:{1n:1b(){1f 1a.1dg}},27u:{1n:1b(){1f 1a.5xp}},1h:{1n:1b(){1f 1a.1kt.1h}},1bM:{1n:1b(){1f 1a.1sz},1C:1b(a){1a.1sz=a}},4sZ:{1n:1b(){1f 1a.1pz},1C:1b(a){1a.1pz=a}}});nh.1i.1Ba=1b(a){1j(1d b=1a.1kt,c=b.1h,d=0;d<c;++d)if(!b[d].1Ba(a))1f!1;1f!0};nh.1i.1n=1b(a){v.1N.2b.9Y("2P",a,0);v.1N.2b.1ib("2P",a,1a.1h);1f 1a.1kt[a]};nh.1i.2H=1b(a,b){a:{1d c=g(1a.1sz)?1a.1sz.1h:0;1d d=g(1a.1pz)?1a.1pz:0,e=1a.1sz!==1a.32U||c!==1a.32S;e=e||1a.1pz!==1a.32T||d!==1a.32R;g(1a.1sz)&&g(1a.1pz)?1a.1DT=1a.1sz.9V(1a.1pz):g(1a.1pz)?1a.1DT=1a.1pz:1a.1DT=1a.1sz;if(!e&&g(1a.1DT)){if(!g(1a.2yw)){c=!0;1W a}c=1a.1DT.1h;1j(d=0;d<c;++d)if(1a.1DT[d]!==1a.2yw[d]){c=!0;1W a}}c=e}1a.2yv=c;1a.32U=1a.1sz;1a.32T=1a.1pz;1a.2yw=1a.1DT;1a.32S=g(1a.1sz)?1a.1sz.1h:0;1a.32R=g(1a.1pz)?1a.1pz.1h:0;c=1a.1kt;e=c.1h;1j(d=0;d<e;++d){1d f=c[d];1a.2yv&&(f.4sZ=1a.1DT);f.2H(a,b)}};nh.1i.3Z=1b(){1f!1};nh.1i.1M=1b(){1j(1d a=1a.1kt,b=a.1h,c=0;c<b;++c)a[c].1M();1f la(1a)};1d tn={7I4:1b(){1f lK("7I3")},7I2:1b(){1d a=lK("7I1"),b=1g kd({2i:"7I0",1cm:"2n 2v 6T;\\1B 2v 3h9;\\1B 2v 8X;\\1B 1o 1rV;\\1J 1v 2F;\\1P 1HD(1v uv, 1o 4e)\\n{\\2u xy = 1v((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\\1P 1bN = 1k1 * 1m(xy, 4e, 1.0);\\5em = 1bN / 1bN.w;\\2j 1bN;\\n}\\1r 3ID(1o 4e)\\n{\\1r f;\\1U (4e < 1rV)\\n{\\nf = (1rV - 4e) / (1rV - 18z.x);\\n}\\5L\\n{\\nf = (4e - 1rV) / (18z.y - 1rV);\\nf = 3r(f, 0.1);\\n}\\nf *= f;\\nf = 2Y(f, 0.0, 1.0);\\2j 3r(f, 0.5);\\n}\\2s 2k(1p)\\n{\\1r 4e = 1Ae(8X, 2F);\\1P 1bN = 1HD(2F, 4e);\\1r d = 3ID(-1bN.z);\\3R = 3T(1Y(6T, 2F), 1Y(3h9, 2F), d);\\n}\\n",6H:{1rV:5,3h9:a.2i}}),c={};1L.2X(c,{1rV:{1n:1b(){1f b.6H.1rV},1C:1b(a){b.6H.1rV=a}},14k:{1n:1b(){1f a.6H.14k},1C:1b(b){a.6H.14k=b}},15N:{1n:1b(){1f a.6H.15N},1C:1b(b){a.6H.15N=b}},1bo:{1n:1b(){1f a.6H.1bo},1C:1b(b){a.6H.1bo=b}}});1f 1g nh({2i:"7HZ",1yV:[a,b],27u:!1,6H:c})},7HY:1b(a){1f a.1O.8X},5xo:1b(){1d a=Ld();1f 1g kd({2i:"7HX"+a,1cm:"2n 2v 8X;\\1B 1o 1h;\\1B 1m 1A;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1r 2Xy[3];\\2XA[0] = -1.0;\\2XA[1] = 0.0;\\2XA[2] = 1.0;\\1r 3IC[3];\\2Xz[0] = 3.0;\\2Xz[1] = 10.0;\\2Xz[2] = 3.0;\\1r 1D0 = 1gU / 9e.z;\\1r 1CZ = 1gU / 9e.w;\\n#1z 2GN\\166 1bM = 16f;\\14D (7P i = 0; i < 3; ++i)\\n{\\1r 16g = 2Xy[i];\\2uP = 1bM || 1Lt(1v(-1D0, 16g * 1CZ));\\2uP = 1bM || 1Lt(1v(1D0, 16g * 1CZ));\\2uP = 1bM || 1Lt(1v(16g * 1D0, -1CZ));\\2uP = 1bM || 1Lt(1v(16g * 1D0, 1CZ));\\1U (1bM)\\n{\\1Yw;\\n}\\n}\\1U (!1bM)\\n{\\3R = 1m(1A.2y, 0.0);\\2j;\\n}\\n#1u\\1r 2Xx = 0.0;\\1r 2Xw = 0.0;\\14D (7P i = 0; i < 3; ++i)\\n{\\1r 16g = 2Xy[i];\\1r 3b = 3IC[i];\\3IB -= 1Y(8X, 2F + 1v(-1D0, 16g * 1CZ)).x * 3b;\\3IB += 1Y(8X, 2F + 1v(1D0, 16g * 1CZ)).x * 3b;\\3IA -= 1Y(8X, 2F + 1v(16g * 1D0, -1CZ)).x * 3b;\\3IA += 1Y(8X, 2F + 1v(16g * 1D0, 1CZ)).x * 3b;\\n}\\1r 1aZ = 3Y(2Xx * 2Xx + 2Xw * 2Xw);\\3R = 1m(1A.2y, 1aZ > 1h ? 1A.a : 0.0);\\n}\\n",6H:{1h:.25,1A:y.1y(y.1a7)}})},7HW:1b(a){1f a.1O.8X},7HV:1b(a){if(g(a)){1d b=1g nh({2i:"7HU",1yV:a,27u:!1});1j(1d c={},d="",e="",f=0;f<a.1h;++f)d+="2n 2v 4sY"+f+"; \\n",e+="        1m 1Hy"+f+" = 1Y(4sY"+f+", 2F); \\n        if (1Hy"+f+".a > 0.0) \\n        { \\n            1A = 1Hy"+f+"; \\n            1W; \\n        } \\n",c["4sY"+f]=a[f].2i;a=1g kd({2i:"7HT",1cm:d+"3G 1v 2F; \\2s 2k() { \\n    1m 1A = 1m(0.0); \\n    1j (7P i = 0; i < "+a.1h+"; i++) \\n    { \\n"+e+"    } \\n    2C = 1A; \\n} \\n",6H:c});b=1g nh({2i:"7HS",1yV:[b,a]})}1s b=tn.5xo();a=1g kd({2i:"7HR",1cm:"2n 2v 6T;\\1B 2v 3fQ;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1P 1rE = 1Y(3fQ, 2F);\\1P 1A = 1Y(6T, 2F);\\3R = 3T(1A, 1rE, 1rE.a);\\n}\\n",6H:{3fQ:b.2i}});1f 1g nh({2i:"7HQ",1yV:[b,a],27u:!1,6H:b.6H})},7HP:1b(a){1f a.1O.8X},5xn:1b(){1d a=1g kd({2i:"7HO",1cm:"2n 2v 6T;\\1B 1o 1wq;\\1B 1o 1hG;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1R 2cN = 1Y(6T, 2F).1H;\\2uT = 24U(2cN);\\2uT.z += 1hG;\\2uT = 24T(2cN);\\1r 8H = (259.0 * (1wq + 255.0)) / (255.0 * (259.0 - 1wq));\\2uT = 8H * (2cN - 1w(0.5)) + 1w(0.5);\\3R = 1m(2cN, 1.0);\\n}\\n",6H:{1wq:128,1hG:-.3}}),b=lK("7HN"),c=1g nh({2i:"7HM",1yV:[a,b]}),d=1g kd({2i:"7HL",1cm:"2n 2v 6T;\\1B 2v 3hy;\\1B 7d 2v1;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1P 1A = 1Y(6T, 2F);\\n#1z 2GN\\1U (1Lt()) {\\3R = 1A;\\2j;\\n}\\n#1u\\1P 1o4 = 1Y(3hy, 2F);\\3R = 2v1 ? 1o4 : 1o4 + 1A;\\n}\\n",6H:{2v1:!1,3hy:c.2i}}),e={};1L.2X(e,{2v1:{1n:1b(){1f d.6H.2v1},1C:1b(a){d.6H.2v1=a}},1wq:{1n:1b(){1f a.6H.1wq},1C:1b(b){a.6H.1wq=b}},1hG:{1n:1b(){1f a.6H.1hG},1C:1b(b){a.6H.1hG=b}},14k:{1n:1b(){1f b.6H.14k},1C:1b(a){b.6H.14k=a}},15N:{1n:1b(){1f b.6H.15N},1C:1b(a){b.6H.15N=a}},1bo:{1n:1b(){1f b.6H.1bo},1C:1b(a){b.6H.1bo=a}}});1f 1g nh({2i:"7HK",1yV:[c,d],27u:!1,6H:e})},5xm:1b(){1d a=1g kd({2i:"7HJ",1cm:"2n 2v 1OO;\\1B 2v 8X;\\1B 1o 12r;\\1B 1o 1l0;\\1B 1o 1D7;\\1B 1o 1bo;\\1B 1o 1OP;\\1J 1v 2F;\\1P 1mV(1v uv, 1o 4e)\\n{\\2u xy = 1v((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\\1P 1Iw = 1k1 * 1m(xy, 4e, 1.0);\\3JA = 1Iw / 1Iw.w;\\2j 1Iw;\\n}\\1R 2ve(1w 1bN, 1o 1Iv, 1o 1Iu, 1o 1It, 1o 1Is, 1v 12Q)\\n{\\1P 2vi = 1mV(2F - 1v(0.0, 12Q.y), 1Iv);\\1P 2vh = 1mV(2F + 1v(0.0, 12Q.y), 1Iu);\\1P 2vg = 1mV(2F - 1v(12Q.x, 0.0), 1It);\\1P 2vf = 1mV(2F + 1v(12Q.x, 0.0), 1Is);\\1R up = 1bN.1H - 2vi.1H;\\1R 1fK = 2vh.1H - 1bN.1H;\\1R 3B = 1bN.1H - 2vg.1H;\\1R 2W = 2vf.1H - 1bN.1H;\\1R DX = 1h(3B) < 1h(2W) ? 3B : 2W;\\1R DY = 1h(up) < 1h(1fK) ? up : 1fK;\\2j 1T(4B(DY, DX));\\n}\\2s 2k(1p)\\n{\\1r 4e = 1Ae(8X, 2F);\\1P 1bN = 1mV(2F, 4e);\\1U (1bN.z > 1OP)\\n{\\3R = 1m(1.0);\\2j;\\n}\\2u 12Q = 1gU / 9e.zw;\\1r 1Iv = 1Ae(8X, 2F - 1v(0.0, 12Q.y));\\1r 1Iu = 1Ae(8X, 2F + 1v(0.0, 12Q.y));\\1r 1It = 1Ae(8X, 2F - 1v(12Q.x, 0.0));\\1r 1Is = 1Ae(8X, 2F + 1v(12Q.x, 0.0));\\1R 2v9 = 2ve(1bN.1H, 1Iv, 1Iu, 1It, 1Is, 12Q);\\1r ao = 0.0;\\2u 1yk = 1v(1.0, 0.0);\\1r 2vd = 90.0 * 2FR;\\1r 2vc = 1Y(1OO, 2F).x;\\14D (7P i = 0; i < 4; i++)\\n{\\1r 1YN = 2vd * (1o(i) + 2vc);\\1r 1YL = 3i(1YN);\\1r 1YM = 2T(1YN);\\2u 2cV = 1v(1YL * 1yk.x - 1YM * 1yk.y, 1YM * 1yk.x + 1YL * 1yk.y);\\1r 1YI = 0.0;\\1r 2cU = 1bo;\\14D (7P j = 0; j < 6; j++)\\n{\\2u 1mU = 2F + 2cV * 2cU * 12Q;\\1U(1mU.x > 1.0 || 1mU.y > 1.0 || 1mU.x < 0.0 || 1mU.y < 0.0)\\n{\\1Yw;\\n}\\1r 2vb = 1Ae(8X, 1mU);\\1P 2va = 1mV(1mU, 2vb);\\1R 1YK = 2va.1H - 1bN.1H;\\1r 1aZ = 1h(1YK);\\1U (1aZ > 1D7)\\n{\\1Yw;\\n}\\1r 1YJ = 2Y(2A(2v9, 1T(1YK)), 0.0, 1.0 );\\1r 1hF = 1aZ / 1D7;\\3Jz = 1.0 - 1hF * 1hF;\\1U (1YJ < 1l0)\\n{\\3Jy = 0.0;\\n}\\3Jx = 1V(1YI, 1YJ * 1hF);\\3Jw += 1bo;\\n}\\1Ir += 1YI;\\n}\\1Ir /= 4.0;\\1Ir = 1.0 - 2Y(ao, 0.0, 1.0);\\1Ir = 3r(ao, 12r);\\3R = 1m(1w(ao), 1.0);\\n}\\n",6H:{12r:3,1l0:.1,1D7:.26,1bo:1.95,1OP:1E3,1OO:1p 0}}),b=lK("7HI");b.6H.1bo=.86;1d c=1g nh({2i:"7HH",1yV:[a,b]}),d=1g kd({2i:"7HG",1cm:"2n 2v 6T;\\1B 2v 3hB;\\1B 7d 2v8;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1R 1A = 1Y(6T, 2F).2y;\\1R ao = 1Y(3hB, 2F).2y;\\3R.2y = 2v8 ? ao : ao * 1A;\\n}\\n",6H:{2v8:!1,3hB:c.2i}}),e={};1L.2X(e,{12r:{1n:1b(){1f a.6H.12r},1C:1b(b){a.6H.12r=b}},1l0:{1n:1b(){1f a.6H.1l0},1C:1b(b){a.6H.1l0=b}},1D7:{1n:1b(){1f a.6H.1D7},1C:1b(b){a.6H.1D7=b}},1bo:{1n:1b(){1f a.6H.1bo},1C:1b(b){a.6H.1bo=b}},1OP:{1n:1b(){1f a.6H.1OP},1C:1b(b){a.6H.1OP=b}},1OO:{1n:1b(){1f a.6H.1OO},1C:1b(b){a.6H.1OO=b}},14k:{1n:1b(){1f b.6H.14k},1C:1b(a){b.6H.14k=a}},15N:{1n:1b(){1f b.6H.15N},1C:1b(a){b.6H.15N=a}},7HF:{1n:1b(){1f b.6H.1bo},1C:1b(a){b.6H.1bo=a}},2v8:{1n:1b(){1f d.6H.2v8},1C:1b(a){d.6H.2v8=a}}});1f 1g nh({2i:"7HE",1yV:[c,d],27u:!1,6H:e})},7HD:1b(a){1f a.1O.8X},5xl:1b(){1f 1g kd({2i:"7HC",1cm:"#2f 1a0 39 \\n#if (1a0 == 10)\\n#2f 14b 3\\n#2f 17r 1.5\\n#2f 17q 3.0\\n#2f 17p 12.0\\n#1u\\n#if (1a0 == 11)\\n#2f 14b 4\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 3.0\\n#2f 18J 12.0\\n#1u\\n#if (1a0 == 12)\\n#2f 14b 5\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 4.0\\n#2f 1aE 12.0\\n#1u\\n#if (1a0 == 13)\\n#2f 14b 6\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 4.0\\n#2f 1cP 12.0\\n#1u\\n#if (1a0 == 14)\\n#2f 14b 7\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 4.0\\n#2f 1fp 12.0\\n#1u\\n#if (1a0 == 15)\\n#2f 14b 8\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 4.0\\n#2f 1j2 12.0\\n#1u\\n#if (1a0 == 20)\\n#2f 14b 3\\n#2f 17r 1.5\\n#2f 17q 2.0\\n#2f 17p 8.0\\n#1u\\n#if (1a0 == 21)\\n#2f 14b 4\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 8.0\\n#1u\\n#if (1a0 == 22)\\n#2f 14b 5\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 8.0\\n#1u\\n#if (1a0 == 23)\\n#2f 14b 6\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 8.0\\n#1u\\n#if (1a0 == 24)\\n#2f 14b 7\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 3.0\\n#2f 1fp 8.0\\n#1u\\n#if (1a0 == 25)\\n#2f 14b 8\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 4.0\\n#2f 1j2 8.0\\n#1u\\n#if (1a0 == 26)\\n#2f 14b 9\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 4.0\\n#2f 1o9 8.0\\n#1u\\n#if (1a0 == 27)\\n#2f 14b 10\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 4.0\\n#2f 1s6 8.0\\n#1u\\n#if (1a0 == 28)\\n#2f 14b 11\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 2.0\\n#2f 1s6 4.0\\n#2f 1wA 8.0\\n#1u\\n#if (1a0 == 29)\\n#2f 14b 12\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 2.0\\n#2f 1s6 2.0\\n#2f 1wA 4.0\\n#2f 1Dj 8.0\\n#1u\\n#if (1a0 == 39)\\n#2f 14b 12\\n#2f 17r 1.0\\n#2f 17q 1.0\\n#2f 17p 1.0\\n#2f 18J 1.0\\n#2f 1aE 1.0\\n#2f 1cP 1.5\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 2.0\\n#2f 1s6 2.0\\n#2f 1wA 4.0\\n#2f 1Dj 8.0\\n#1u\\n#2f 4iX 7d\\n#2f 4iW 1o\\n#2f 4iV 1v\\n#2f 4iU 1w\\n#2f 2la 1m\\n#2f 4iT 1o\\n#2f 4iS 1v\\n#2f 4iR 1w\\n#2f 4iQ 1m\\n#2f 1oa 1v\\n#2f 4iP 2v\\n#2f 2Zc(x) 2Y(x, 0.0, 1.0)\\n#2f 146(t, p) 1Y(t, p)\\n#2f 1ob(t, p, o, r) 1Y(t, p + (o * r))\\6a 11Q(2la 15A) { 1f 15A.y; }\\2ZC 2Gh(\\1wC 3h,\\4iO 9f,\\1wC 1dz,\\6a 2bU,\\6a 2bT,\\6a 2bS\\n) {\\1wC 18I;\\2ZD.x = 3h.x;\\2ZD.y = 3h.y;\\2ZC 2lp = 146(9f, 18I);\\n#2f 1h9 2lp.y\\6a 1s7 = 11Q(1ob(9f, 18I, 1oa( 0, 1), 1dz.xy));\\6a 1Dk = 11Q(1ob(9f, 18I, 1oa( 1, 0), 1dz.xy));\\6a 1s8 = 11Q(1ob(9f, 18I, 1oa( 0,-1), 1dz.xy));\\6a 1Dl = 11Q(1ob(9f, 18I, 1oa(-1, 0), 1dz.xy));\\6a 2ZB = 1V(1s7, 1h9);\\6a 2ZA = 2o(1s7, 1h9);\\6a 2Zy = 1V(1Dk, 2ZB);\\6a 2Zw = 2o(1Dk, 2ZA);\\6a 2Zz = 1V(1s8, 1Dl);\\6a 2Zx = 2o(1s8, 1Dl);\\6a 2do = 1V(2Zz, 2Zy);\\6a 2Zv = 2o(2Zx, 2Zw);\\6a 2Zu = 2do * 2bT;\\6a 11D = 2do - 2Zv;\\6a 2Zt = 1V(2bS, 2Zu);\\1iY 2Zs = 11D < 2Zt;\\1U(2Zs)\\2j 2lp;\\6a 2ll = 11Q(1ob(9f, 18I, 1oa(-1,-1), 1dz.xy));\\6a 2lj = 11Q(1ob(9f, 18I, 1oa( 1, 1), 1dz.xy));\\6a 2lm = 11Q(1ob(9f, 18I, 1oa( 1,-1), 1dz.xy));\\6a 2lk = 11Q(1ob(9f, 18I, 1oa(-1, 1), 1dz.xy));\\6a 2lo = 1s8 + 1s7;\\6a 2ln = 1Dl + 1Dk;\\6a 2Za = 1.0/11D;\\6a 2Zf = 2lo + 2ln;\\6a 2Zq = (-2.0 * 1h9) + 2lo;\\6a 2Zo = (-2.0 * 1h9) + 2ln;\\6a 2lh = 2lm + 2lj;\\6a 2Zr = 2ll + 2lm;\\6a 2Zp = (-2.0 * 1Dk) + 2lh;\\6a 2Zn = (-2.0 * 1s8) + 2Zr;\\6a 2li = 2ll + 2lk;\\6a 2Zm = 2lk + 2lj;\\6a 2Zk = (abs(2Zq) * 2.0) + abs(2Zp);\\6a 2Zi = (abs(2Zo) * 2.0) + abs(2Zn);\\6a 2Zl = (-2.0 * 1Dl) + 2li;\\6a 2Zj = (-2.0 * 1s7) + 2Zm;\\6a 2Zh = abs(2Zl) + 2Zk;\\6a 2Zg = abs(2Zj) + 2Zi;\\6a 2Ze = 2li + 2lh;\\6a 1s5 = 1dz.x;\\1iY 1ha = 2Zh >= 2Zg;\\6a 2Zd = 2Zf * 2.0 + 2Ze;\\1U(!1ha) 1s8 = 1Dl;\\1U(!1ha) 1s7 = 1Dk;\\1U(1ha) 1s5 = 1dz.y;\\6a 2Zb = (2Zd * (1.0/12.0)) - 1h9;\\6a 2lg = 1s8 - 1h9;\\6a 2lf = 1s7 - 1h9;\\6a 14a = 1s8 + 1h9;\\6a 2Z5 = 1s7 + 1h9;\\1iY 2le = abs(2lg) >= abs(2lf);\\6a 1tl = 1V(abs(2lg), abs(2lf));\\1U(2le) 1s5 = -1s5;\\6a 1Zl = 2Zc(abs(2Zb) * 2Za);\\1wC 1wB;\\2Z9.x = 18I.x;\\2Z9.y = 18I.y;\\1wC 7J;\\2Z8.x = (!1ha) ? 0.0 : 1dz.x;\\2Z8.y = ( 1ha) ? 0.0 : 1dz.y;\\1U(!1ha) 1wB.x += 1s5 * 0.5;\\1U( 1ha) 1wB.y += 1s5 * 0.5;\\1wC 10c;\\2Z7.x = 1wB.x - 7J.x * 17r;\\2Z7.y = 1wB.y - 7J.y * 17r;\\1wC 10b;\\2Z6.x = 1wB.x + 7J.x * 17r;\\2Z6.y = 1wB.y + 7J.y * 17r;\\6a 2Z4 = ((-2.0)*1Zl) + 3.0;\\6a 8F = 11Q(146(9f, 10c));\\6a 2Z3 = 1Zl * 1Zl;\\6a 8D = 11Q(146(9f, 10b));\\1U(!2le) 14a = 2Z5;\\6a 14X = 1tl * 1.0/4.0;\\6a 2Z2 = 1h9 - 14a * 0.5;\\6a 2lc = 2Z4 * 2Z3;\\1iY 2ld = 2Z2 < 0.0;\\4iN -= 14a * 0.5;\\4iM -= 14a * 0.5;\\1iY 6R = abs(8F) >= 14X;\\1iY 6Q = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 17q;\\1U(!6R) 10c.y -= 7J.y * 17q;\\1iY 1hb = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 17q;\\1U(!6Q) 10b.y += 7J.y * 17q;\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 17p;\\1U(!6R) 10c.y -= 7J.y * 17p;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 17p;\\1U(!6Q) 10b.y += 7J.y * 17p;\\n#if (14b > 3)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 18J;\\1U(!6R) 10c.y -= 7J.y * 18J;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 18J;\\1U(!6Q) 10b.y += 7J.y * 18J;\\n#if (14b > 4)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1aE;\\1U(!6R) 10c.y -= 7J.y * 1aE;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1aE;\\1U(!6Q) 10b.y += 7J.y * 1aE;\\n#if (14b > 5)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1cP;\\1U(!6R) 10c.y -= 7J.y * 1cP;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1cP;\\1U(!6Q) 10b.y += 7J.y * 1cP;\\n#if (14b > 6)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1fp;\\1U(!6R) 10c.y -= 7J.y * 1fp;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1fp;\\1U(!6Q) 10b.y += 7J.y * 1fp;\\n#if (14b > 7)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1j2;\\1U(!6R) 10c.y -= 7J.y * 1j2;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1j2;\\1U(!6Q) 10b.y += 7J.y * 1j2;\\n#if (14b > 8)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1o9;\\1U(!6R) 10c.y -= 7J.y * 1o9;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1o9;\\1U(!6Q) 10b.y += 7J.y * 1o9;\\n#if (14b > 9)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1s6;\\1U(!6R) 10c.y -= 7J.y * 1s6;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1s6;\\1U(!6Q) 10b.y += 7J.y * 1s6;\\n#if (14b > 10)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1wA;\\1U(!6R) 10c.y -= 7J.y * 1wA;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1wA;\\1U(!6Q) 10b.y += 7J.y * 1wA;\\n#if (14b > 11)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1Dj;\\1U(!6R) 10c.y -= 7J.y * 1Dj;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1Dj;\\1U(!6Q) 10b.y += 7J.y * 1Dj;\\n#if (14b > 12)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1Zk;\\1U(!6R) 10c.y -= 7J.y * 1Zk;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1Zk;\\1U(!6Q) 10b.y += 7J.y * 1Zk;\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\6a 1LG = 18I.x - 10c.x;\\6a 1LF = 10b.x - 18I.x;\\1U(!1ha) 1LG = 18I.y - 10c.y;\\1U(!1ha) 1LF = 10b.y - 18I.y;\\1iY 2YZ = (8F < 0.0) != 2ld;\\6a 2Z1 = (1LF + 1LG);\\1iY 2YY = (8D < 0.0) != 2ld;\\6a 2YW = 1.0/2Z1;\\1iY 2Z0 = 1LG < 1LF;\\6a 2YX = 2o(1LG, 1LF);\\1iY 2YU = 2Z0 ? 2YZ : 2YY;\\6a 2YV = 2lc * 2lc;\\6a 14l = (2YX * (-2YW)) + 0.5;\\6a 2YS = 2YV * 2bU;\\6a 2YT = 2YU ? 14l : 0.0;\\6a 2lb = 1V(2YT, 2YS);\\1U(!1ha) 18I.x += 2lb * 1s5;\\1U( 1ha) 18I.y += 2lb * 1s5;\\2j 2la(146(9f, 18I).1H, 1h9);\\n}\\n\\1J 1v 2F;\\1B 2v 6T;\\4i 1o 2bU = 0.5;\\4i 1o 2bT = 0.125;\\4i 1o 2bS = 0.3Gc;\\2s 2k()\\n{\\2u 1dz = 1v(1.0) / 9e.zw;\\1P 1A = 2Gh(\\1mN,\\3Gb,\\3Ga,\\3G9,\\3G8,\\3G7);\\1r 2O = 1Y(6T, 2F).a;\\3R = 1m(1A.2y, 2O);\\n}\\n",1Uh:Vj.11U})},5wW:1b(a){1f 1g kd({2i:"7HB",1cm:(a?"#2f 1uD\\n":"")+"2n 2v 6T;\\1J 1v 2F;\\n#1z 1uD\\1B 2v 1ta;\\n#1u\\2s 2k()\\n{\\1P 1nV = 1Y(6T, 2F);\\1R 1A = 1nV.2y;\\n#1z 1uD\\6p /= 1Y(1ta, 1v(0.5)).r;\\n#1u\\1r g = 0.985;\\1r a = 0.3fk;\\1r b = 0.1t2;\\1r c = 0.433;\\1r d = 0.238;\\6p = (1A * (1A + a) - b) / (1A * (g * 1A + c) + d);\\6p = 2Y(1A, 0.0, 1.0);\\6p = 1Xg(1A);\\3R = 1m(1A, 1nV.a);\\n}\\n",6H:{1ta:1p 0}})},5wX:1b(a){1f 1g kd({2i:"7HA",1cm:(a?"#2f 1uD\\n":"")+"2n 2v 6T;\\1J 1v 2F;\\n#1z 1uD\\1B 2v 1ta;\\n#1u\\2s 2k()\\n{\\1P 1nV = 1Y(6T, 2F);\\1R 1A = 1nV.2y;\\n#1z 1uD\\1r 1p8 = 1Y(1ta, 1v(0.5)).r;\\6p /= 1p8;\\n#1u\\4i 1o A = 0.22;\\4i 1o B = 0.30;\\4i 1o C = 0.10;\\4i 1o D = 0.20;\\4i 1o E = 0.11t;\\4i 1o F = 0.30;\\4i 1o 1Ar = 11.2;\\1R c = ((1A * (A * 1A + C * B) + D * E) / (1A * ( A * 1A + B) + D * F)) - E / F;\\1r w = ((1Ar * (A * 1Ar + C * B) + D * E) / (1Ar * ( A * 1Ar + B) + D * F)) - E / F;\\nc = 1Xg(c / w);\\3R = 1m(c, 1nV.a);\\n}\\n",6H:{1ta:1p 0}})},5wZ:1b(a){1f 1g kd({2i:"7Hz",1cm:(a?"#2f 1uD\\n":"")+"2n 2v 6T;\\1J 1v 2F;\\n#1z 1uD\\1B 2v 1ta;\\n#1u\\2s 2k()\\n{\\1P 1nV = 1Y(6T, 2F);\\1R 1A = 1nV.2y;\\n#1z 1uD\\1r 1p8 = 1Y(1ta, 1v(0.5)).r;\\6p /= 1p8;\\n#1u\\6p = 1A / (1.0 + 1A);\\6p = 1Xg(1A);\\3R = 1m(1A, 1nV.a);\\n}\\n",6H:{1ta:1p 0}})},5wY:1b(a){1f 1g kd({2i:"7Hy",1cm:(a?"#2f 1uD\\n":"")+"2n 2v 6T;\\1B 1w 1Ar;\\1J 1v 2F;\\n#1z 1uD\\1B 2v 1ta;\\n#1u\\2s 2k()\\n{\\1P 1nV = 1Y(6T, 2F);\\1R 1A = 1nV.2y;\\n#1z 1uD\\1r 1p8 = 1Y(1ta, 1v(0.5)).r;\\6p /= 1p8;\\n#1u\\6p = (1A * (1.0 + 1A / 1Ar)) / (1.0 + 1A);\\6p = 1Xg(1A);\\3R = 1m(1A, 1nV.a);\\n}\\n",6H:{1Ar:y.9r,1ta:1p 0}})},5xk:1b(){1f 1g Vs},7Hx:1b(){1f 1g kd({2i:"7Hw",1cm:"2n 2v 6T;\\1B 1o 2GT;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1R 2y = 1Y(6T, 2F).2y;\\n#1z 2GN\\1U (1Lt()) {\\3R = 1m(2y, 1.0);\\2j;\\n}\\n#1u\\1r 1Fj = 2Ty(2y);\\1r 1k2 = 1Fj * 2GT;\\5eU = (1k2 - 8N(1k2)) / 2GT;\\3R = 1m(1w(1k2), 1.0);\\n}\\n",6H:{2GT:5}})},7Hv:1b(){1f 1g kd({2i:"7Hu",1cm:"2n 2v 6T;\\1B 1o 1hG;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1R 2y = 1Y(6T, 2F).2y;\\1R 15s = 1w(0.0);\\3R = 1m(3T(15s, 2y, 1hG), 1.0);\\n}\\n",6H:{1hG:.5}})},7Ht:1b(){1f 1g kd({2i:"7Hs",1cm:"2n 2v 6T;\\1J 1v 2F;\\1r 3H3(1v co)\\n{\\2j 8N(2T(2A(co.xy ,1v(12.3H5, 78.233))) * 3gk.3H4);\\n}\\2s 2k(1p)\\n{\\1r 3H2 = 3H3(2F + 2T(2jx)) * 0.1;\\1R 2y = 1Y(6T, 2F).2y;\\1R 5t = 1w(0.0, 1.0, 0.0);\\3R = 1m((3H2 + 2y) * 5t, 1.0);\\n}\\n"})},7Hr:1b(){1f 1g kd({2i:"7Hq",1cm:"2n 2v 8X;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1r 4e = 1Ae(8X, 2F);\\3R = 1m(1w(4e), 1.0);\\n}\\n"})},7Hp:1b(){1f 1g kd({2i:"7Ho",1cm:"2n 2v 6T;\\1B 2v 3gn;\\1B 2v 3gm;\\1B 1v 3He;\\1B 1o 1mR;\\1B 1o 3gp;\\1B 1o 3go;\\1B 1o 3Hc;\\1B 1o 2kk;\\1B 1o 12r;\\1J 1v 2F;\\n#2f 3Hi 5dH.0\\1P 2Wq(1w WC, 1o 2kk)\\n{\\1P 4p = 1p3 * 1m(WC, 1.0);\\1eR = 1m(4p.x + 2kk, 4p.y, 4p.z, 1.0);\\1P 6K = 18a(4p);\\2j 1t5 * 1m(6K.xy, -6K.z, 1.0);\\n}\\1r 2ut(1v 8R, 1v 1Ie)\\n{\\2u 2Wp = 8R * 2.0 - 1.0;\\1P 3Hk = 2Wq(1w(0.0), 0.0);\\1P 3Hj = 2Wq(1w(0.0), 2kk * 1.5);\\5dG.xy -= 3Hk.xy;\\1r X = abs(2Wp.x) * 1Ie.x;\\1r Y = abs(2Wp.y) * 1Ie.y;\\2j 2Y(0.0, 1.0, 1V(3Y(X * X + Y * Y) / 1V(abs(3Hj.x * 1Ie.x), 1.0) - 0.8 , 0.0));\\n}\\1P 2Wo(2v 9f, 1v 8R, 1v 2G, 1w 1mR, 7d 1Oz)\\n{\\2u 1Ie = 9e.zw;\\1R 1A;\\1U(1Oz)\\n{\\6p.r = 2ut(8R + 2G * 1mR.r, 1Ie) * 1Y(9f, 8R + 2G * 1mR.r).r;\\6p.g = 2ut(8R + 2G * 1mR.g, 1Ie) * 1Y(9f, 8R + 2G * 1mR.g).g;\\6p.b = 2ut(8R + 2G * 1mR.b, 1Ie) * 1Y(9f, 8R + 2G * 1mR.b).b;\\n}\\5L\\n{\\6p.r = 1Y(9f, 8R + 2G * 1mR.r).r;\\6p.g = 1Y(9f, 8R + 2G * 1mR.g).g;\\6p.b = 1Y(9f, 8R + 2G * 1mR.b).b;\\n}\\2j 1m(2Y(1A, 0.0, 1.0), 0.0);\\n}\\2s 2k(1p)\\n{\\1P 2cf = 1Y(6T, 2F);\\1R 2y = 2cf.2y;\\166 1Oz = 1h(1al.1H) > 3Hi;\\1P 1OA = 1iO == 1.0 ? 1m(1HW, 1.0) : 1m(3fA.1ca, 1.0);\\1P 3Hh = 1p3 * 1OA;\\1P 2cg = 18a(3Hh);\\5dF = 1t5 * 1m(2cg.xy, -2cg.z, 1.0);\\1U(!1Oz || !((1OA.x >= -1.1 && 1OA.x <= 1.1) && (1OA.y >= -1.1 && 1OA.y <= 1.1)))\\n{\\3R = 2cf;\\2j;\\n}\\2u 8R = 1v(1.0) - 2F;\\2u 12Q = 1gU / 9e.zw;\\2u 3Hf = 1.0 / 12Q;\\1R 2Wm = 12Q.x * 1w(-1mR, 0.0, 1mR);\\2u 2us = (1v(0.5) - 8R) * 3gp;\\1R 2G = 1T(1w(2us, 0.0));\\1P 4D = 1m(0.0);\\1P 3Hg = 1m(0.0);\\14D (7P i = 0; i < 4; ++i)\\n{\\2u 2M = 8N(8R + 2us * 1o(i));\\5dE += 2Wo(6T, 2M, 2G.xy, 2Wm, 1Oz);\\n}\\19v += 3Hg;\\2u 2Wn = 1T(2us) * 3go;\\1r 2Wl = 1h(1v(0.5) - 8N(8R + 2Wn)) / 1h(1v(0.5));\\5dD = 3r(1.0 - 2Wl, 5.0);\\19v += 2Wo(6T, 8R + 2Wn, 2G.xy, 2Wm, 1Oz) * 2Wl * 1.5;\\2u 1yc = (2F * 3Hf) / 3He;\\1U (1yc.x > 1.0)\\n{\\3Hd.x = 13R(2t(1yc.x), 2.0) == 1.0 ? 1.0 - 8N(1yc.x) :  8N(1yc.x);\\n}\\1U (1yc.y > 1.0)\\n{\\3Hd.y = 13R(2t(1yc.y), 2.0) == 1.0 ? 1.0 - 8N(1yc.y) :  8N(1yc.y);\\n}\\19v += 3Hc * 1Y(3gn, 1yc);\\1r 2Wk = 1p3[0].z + 1p3[1].y;\\1r 3Ha = 3i(2Wk);\\1r 3Hb = 2T(2Wk);\\1NS 5S = 14j(\\5dC, -3Hb, 0.0,\\5dB, 3Ha, 0.0,\\n0.0, 0.0, 1.0\\n);\\1R 2Wh = 1w(2F * 2.0 - 1v(1.0), 1.0);\\1R 3H9 = 1w((5S * 2Wh).xy, 1.0);\\1R 3H8 = 3H9 * 0.5 + 1w(0.5);\\2u 3H7 = 3H8.xy;\\1r 2Wi = 1h(1w(1OA.xy, 0.0));\\1r 2Wj = 1V(1.0 - 2Wi, 0.0);\\1U (!1Oz)\\n{\\19v *= 2Wj * 12r * 0.2;\\n}\\5L\\n{\\19v *= 2Wj * 12r;\\19v *= 1Y(3gm, 3H7) * 3r(2Wi, 1.0) * 1V((1.0 - 1h(1w(2Wh.xy, 0.0))), 0.0) * 2.0;\\n}\\19v += 1Y(6T, 2F);\\3R = 4D;\\n}\\n",6H:{3gn:cb("1ja/1or/5xj/7Hn.1Ui"),3gm:cb("1ja/1or/5xj/7Hm.1Ui"),12r:2,1mR:10,3gp:.4,3go:.4,2kk:ba.9y.17i}})},5xi:1b(){1d a=1g kd({2i:"7Hl",1cm:"2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n"}),b=1g kd({2i:"7Hk",1cm:"3G 1v 2F;\\2s 2k()\\n{\\3R = 1Y(4sX, 2F);\\n}",1yW:.5}),c=1g kd({2i:"7Hj",1cm:"3G 1v 2F;\\1B 2v 6T;\\1B 1v 1Gv;\\1B 1w 2KD;\\1B 1w 2KC;\\2s 2k() {\\2u 27v = 1.0 / 1v(1Gv.x, 1Gv.y);\\1P 1sy = 1m(1.0, 0.0, 0.0, 1.0) * 1m(27v, 27v);\\1P c1 = 1Y( 6T, 2F + 1sy.xy);\\1P c2 = 1Y( 6T, 2F - 1sy.xy);\\1P c3 = 1Y( 6T, 2F + 1sy.yw);\\1P c4 = 1Y( 6T, 2F - 1sy.yw);\\1r 5xh = (c1.r - c2.r)*0.5;\\1r 5xg = (c3.r - c4.r)*0.5;\\1r d = 1h( 1v(5xh, 5xg) );\\1r a1 = 2o(c1.g, c2.g);\\1r a2 = 2o(c3.g, c4.g);\\1r 5xf = 2o(a1, a2);\\1R 2yu = 1.0 - 5xf > 0.17I ? 2KD : 2KC;\\7Hi += 1w(10.0);\\3R = 1m(2yu, 1.0) * 1m(d);\\n}",1yW:.5,6H:{2KD:1g y(1,1,1),2KC:1g y(.1,.1HU,.3LY)},1Uh:Vj.11U});c.2KD=1g y;c.2KC=1g y;1d d=1g kd({2i:"7Hh",1cm:"3G 1v 2F;\\1B 2v 6T;\\1B 1v 1Gv;\\1B 1v 2G;\\1B 1o 1tL;\\1r 20M(in 1o x, in 1o 15N) {\\2j 0.3QV * 108( -0.5 * x * x/( 15N * 15N))/15N;\\n}\\2s 2k() {\\2u 27v = 1.0 / 1Gv;\\1r 1Io = 20M(0.0, 1tL);\\1R 2yr = 1Y( 6T, 2F).2y * 1Io;\\2u 14k = 2G * 27v * 1tL/1o(4);\\2u 1sy = 14k;\\14D( 7P i = 1; i <= 4; i ++ ) {\\1r w = 20M(1sy.x, 1tL);\\1R 2yt = 1Y( 6T, 2F + 1sy).2y;\\1R 2ys = 1Y( 6T, 2F - 1sy).2y;\\3QU += ((2yt + 2ys) * w);\\2XF += (2.0 * w);\\3QT += 14k;\\n}\\3R = 1m(2yr/1Io, 1.0);\\n}",1yW:.5,6H:{2G:{x:1,y:0},1tL:1},1Uh:Vj.11U}),e=1g kd({2i:"5xa",1cm:"3G 1v 2F;\\1B 2v 6T;\\1B 1v 1Gv;\\1B 1v 2G;\\1B 1o 1tL;\\1r 20M(in 1o x, in 1o 15N) {\\2j 0.3QV * 108( -0.5 * x * x/( 15N * 15N))/15N;\\n}\\2s 2k() {\\2u 27v = 1.0 / 1Gv;\\1r 1Io = 20M(0.0, 1tL);\\1R 2yr = 1Y( 6T, 2F).2y * 1Io;\\2u 14k = 2G * 27v * 1tL/1o(4);\\2u 1sy = 14k;\\14D( 7P i = 1; i <= 4; i ++ ) {\\1r w = 20M(1sy.x, 1tL);\\1R 2yt = 1Y( 6T, 2F + 1sy).2y;\\1R 2ys = 1Y( 6T, 2F - 1sy).2y;\\3QU += ((2yt + 2ys) * w);\\2XF += (2.0 * w);\\3QT += 14k;\\n}\\3R = 1m(2yr/1Io, 1.0);\\n}",1yW:.5,6H:{2G:{x:0,y:1},1tL:1},1Uh:Vj.11U}),f=1g kd({2i:"7Hg",1cm:"3G 1v 2F;\\1B 2v 6T;\\1B 1v 1Gv;\\1B 1v 2G;\\1B 1o 1tL;\\1r 20M(in 1o x, in 1o 15N) {\\2j 0.3QV * 108( -0.5 * x * x/( 15N * 15N))/15N;\\n}\\2s 2k() {\\2u 27v = 1.0 / 1Gv;\\1r 1Io = 20M(0.0, 1tL);\\1R 2yr = 1Y( 6T, 2F).2y * 1Io;\\2u 14k = 2G * 27v * 1tL/1o(4);\\2u 1sy = 14k;\\14D( 7P i = 1; i <= 4; i ++ ) {\\1r w = 20M(1sy.x, 1tL);\\1R 2yt = 1Y( 6T, 2F + 1sy).2y;\\1R 2ys = 1Y( 6T, 2F - 1sy).2y;\\3QU += ((2yt + 2ys) * w);\\2XF += (2.0 * w);\\3QT += 14k;\\n}\\3R = 1m(2yr/1Io, 1.0);\\n}",1yW:.25,6H:{2G:{x:1,y:0},1tL:4},1Uh:Vj.11U}),h=1g kd({2i:"5x9",1cm:"3G 1v 2F;\\1B 2v 6T;\\1B 1v 1Gv;\\1B 1v 2G;\\1B 1o 1tL;\\1r 20M(in 1o x, in 1o 15N) {\\2j 0.3QV * 108( -0.5 * x * x/( 15N * 15N))/15N;\\n}\\2s 2k() {\\2u 27v = 1.0 / 1Gv;\\1r 1Io = 20M(0.0, 1tL);\\1R 2yr = 1Y( 6T, 2F).2y * 1Io;\\2u 14k = 2G * 27v * 1tL/1o(4);\\2u 1sy = 14k;\\14D( 7P i = 1; i <= 4; i ++ ) {\\1r w = 20M(1sy.x, 1tL);\\1R 2yt = 1Y( 6T, 2F + 1sy).2y;\\1R 2ys = 1Y( 6T, 2F - 1sy).2y;\\3QU += ((2yt + 2ys) * w);\\2XF += (2.0 * w);\\3QT += 14k;\\n}\\3R = 1m(2yr/1Io, 1.0);\\n}",1yW:.25,6H:{2G:{x:0,y:1},1tL:4},1Uh:Vj.11U}),g=1g kd({2i:"7Hf",1cm:"3G 1v 2F;\\1B 2v 4sW;\\1B 2v 4sV;\\1B 1o 32Q;\\1B 1o 32P;\\2s 2k() {\\1P 5xe = 1Y(4sW, 2F);\\1P 5xd = 1Y(4sV, 2F);\\1P 5xc = 1Y(4sX, 2F);\\1P 5xb = 5xe + 5xd * 32P;\\1P 1bJ = 32Q * 5xc.r * 5xb;\\3R = 1bJ;\\n}",6H:{32Q:3,32P:0,4sW:"5xa",4sV:"5x9"},5x8:Dc.5x7,1Uh:Vj.11U}),k={};1L.2X(k,{2KD:{1n:1b(){1f c.6H.2KD},1C:1b(a){c.6H.2KD=y.1y(a)}},2KC:{1n:1b(){1f c.2KC},1C:1b(a){c.6H.2KC=y.1y(a)}},32Q:{1n:1b(){1f g.6H.32Q},1C:1b(a){g.6H.32Q=a}},32P:{1n:1b(){1f g.6H.32P},1C:1b(a){g.6H.32P=a}},7He:{1n:1b(){1f d.6H.1tL},1C:1b(a){d.6H.1tL=a;e.6H.1tL=a}}});1f 1g nh({2i:"7Hd",1yV:[a,b,c,d,e,f,h,g],27u:!0,6H:k})}};sn.1i.5wV=1b(){1a.3QS=!0};sn.1i.2H=1b(a){1d b=1a.1DS,c=1a.3QS,d=g(b.2yq)&&b.2yq.3e&&b.2yq.1Ba(a),e=g(b.1o4)&&b.1o4.3e&&b.1o4.1Ba(a),f=g(b.1Mk)&&b.1Mk.3e&&b.1Mk.1Ba(a),h=g(b.32L)&&b.32L.3e&&b.32L.1Ba(a);b=!g(b.32J)||0<b.32J.1h||d||e||f||h;if(c||!b&&0<1a.1Gt.1h)hU(1a),1a.1Gt.1h=0,1a.3QQ={},1a.10o=1a.10V=1p 0;if(c||b){if(0===1a.1Gt.1h){d=1a.1DS;b={};if(g(d.2yq)){e=d.1o4;f=d.1Mk;h=d.32L;1d l=BD(d,a,b,d.2yq,1p 0);l=BD(d,a,b,e,l);l=gU(d,a,b,f,l);l=BD(d,a,b,d,l);gU(d,a,b,h,l)}1s BD(d,a,b,d,1p 0);1j(1d k in b)if(b.3p(k)){d=1a.3QQ;e=k;f=1p 0;h=k;l=b[k];1d n=1a.1DS.27r(h);1d m=n.4sU,q=n.4sT,r=n.1vf,u=n.1ov,t=n.2KB,v=1a.1Gt,A=v.1h;1j(n=0;n<A;++n)if(f=v[n],m===f.1yW&&q===f.2nc&&r===f.8b&&u===f.10E&&y.2L(t,f.20L)){1j(1d C=f.1yV,E=C.1h,F=!1,H=0;H<E;++H)if(l[C[H]]){F=!0;1W}if(!F)1W}g(f)&&n<A?f.1yV.1q(h):(f={1yW:m,2nc:q,8b:r,10E:u,20L:t,1yV:[h],3J:1p 0,9P:1p 0},v.1q(f));d[e]=f}}k=a.8j;b=a.7p;d=1a.10V!==k||1a.10o!==b;if(c||d)1j(1a.10V=k,1a.10o=b,1a.3QS=!1,hU(1a),c=1a.10V,k=1a.10o,b=1a.1Gt,d=b.1h,e=0;e<d;++e)f=b[e],l=f.1yW,h=1k.8a(c*l),l=1k.8a(k*l),m=1k.2o(h,l),f.2nc&&(B.1Gu(m)||(m=B.3QR(m)),l=h=m),f.3J=1g eb({1O:a,13I:[1g Ca({1O:a,1G:h,1D:l,8b:f.8b,10E:f.10E})]}),f.9P=1g Ec({1A:f.20L,4Q:f.3J})}};sn.1i.9P=1b(a){1j(1d b=1a.1Gt,c=0;c<b.1h;++c)b[c].9P.5P(a)};sn.1i.27r=1b(a){1f 1a.1DS.27r(a)};sn.1i.2n9=1b(a){1f 1a.1DS.2n9(a)};sn.1i.2eW=1b(a){a=1a.3QQ[a];if(g(a))1f a.3J};sn.1i.3Z=1b(){1f!1};sn.1i.1M=1b(){hU(1a);1f la(1a)};1d OF={4sQ:0,4sP:1,4sO:2,4sS:3,1f6:1b(a){1f a===OF.4sQ||a===OF.4sP||a===OF.4sO||a===OF.4sS}},xz=1L.3F(OF);Wj.1i.5P=1b(a){1d b=1a.13Z;b.4Q=1a.27t;b.5P(a);b.4Q=1a.2nb;b.5P(a);b.4Q=1a.2na;b.5P(a);1a.1Ug.4Q=1a.27t;1a.1Ug.5P(a,1a.1tK);1a.1Uf.4Q=1a.2nb;1a.1Uf.5P(a,1a.1tK);1a.20J.4Q=1a.2na;1a.20J.5P(a,1a.1tK)};1d eZ=1g Aa;Wj.1i.2H=1b(a){if(1a.3e){1a.4j=a;1d b=a.8j,c=a.7p;1a.27m.x=1/b;1a.27m.y=1/c;1d d=1a;if(!g(1a.3ne)){1d e=1g 1ar;e.1bv=1a.5x2();e.1w2=1b(){d.3ne=1g Ca({1O:a,5j:1a,8b:ua.9m,10E:Ha.7U,13E:!1,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.10U,15u:Rb.10U})})}}g(1a.3nf)||(e=1g 1ar,e.1bv=1a.5x6(),e.1w2=1b(){d.3nf=1g Ca({1O:a,5j:1a,8b:ua.1fB,10E:Ha.7U,13E:!1})});g(1a.1Ug)||1a.1EX(a);e=1a.27t;e=g(e)&&e.167(0)||1p 0;g(e)&&e.1G===b&&e.1D===c||(1a.32N(b,c,a),eZ.1G=b,eZ.1D=c,b=pa.4t({5q:eZ}),1a.1Ug.4w=b,1a.1Uf.4w=b,1a.20J.4w=b);1a.1tK.1O=a}};Wj.1i.1EX=1b(a){1a.1Ug=a.32O("1k7 6V 1o;\\1Fi 6V 7P;\\2J 1m 1K;\\2J 1v 8u;\\1B 1v 13M;\\1J 1v 2F;\\1J 1m 1uy[3];\\2s 5cR(1v 8R) {\\1I5[0] = 8R.1gZ + 13M.1gZ * 1m( -1.0, 0.0, 0.0,  1.0 );\\1I5[1] = 8R.1gZ + 13M.1gZ * 1m(  1.0, 0.0, 0.0, -1.0 );\\1I5[2] = 8R.1gZ + 13M.1gZ * 1m( -2.0, 0.0, 0.0,  2.0 );\\n}\\2s 2k()\\n{\\11u = 1K;\\1mN = 8u;\\5cQ(8u);\\n}\\n","1k7 6V 1o;\\1Fi 6V 7P;\\n#2f 2Vb 0.1cN\\n#2f 3FO 2\\n#2f 5cU 1\\1B 2v 3fZ;\\1J 1v 2F;\\1J 1m 1uy[3];\\1P 3FN( 1v 8R, 1m 2M[3], 2v 1rH ) {\\2u 19U = 1v( 2Vb, 2Vb );\\1P 14k;\\1R C = 1Y( 1rH, 8R ).2y;\\1R 3FU = 1Y( 1rH, 2M[0].xy ).2y;\\1R t = abs( C - 3FU );\\1Lb.x = 1V( 1V( t.r, t.g ), t.b );\\1R 3FT = 1Y( 1rH, 2M[0].zw ).2y;\\nt = abs( C - 3FT );\\1Lb.y = 1V( 1V( t.r, t.g ), t.b );\\2u 24Y = 7F( 19U, 14k.xy );\\1U ( 2A( 24Y, 1v( 1.0, 1.0 ) ) == 0.0 )\\10W;\\1R 3FS = 1Y( 1rH, 2M[1].xy ).2y;\\nt = abs( C - 3FS );\\1Lb.z = 1V( 1V( t.r, t.g ), t.b );\\1R 3FR  = 1Y( 1rH, 2M[1].zw ).2y;\\nt = abs( C - 3FR );\\1Lb.w = 1V( 1V( t.r, t.g ), t.b );\\1r 2Va = 1V( 1V( 1V( 14k.x, 14k.y ), 14k.z ), 14k.w );\\1R 3FQ  = 1Y( 1rH, 2M[2].xy ).2y;\\nt = abs( C - 3FQ );\\1Lb.z = 1V( 1V( t.r, t.g ), t.b );\\1R 3FP = 1Y( 1rH, 2M[2].zw ).2y;\\nt = abs( C - 3FP );\\1Lb.w = 1V( 1V( t.r, t.g ), t.b );\\5cT = 1V( 1V( 2Va, 14k.z ), 14k.w );\\5cS.xy *= 7F( 2Va, 1o(3FO) * 14k.xy );\\2j 1m( 24Y, 0.0, 0.0 );\\n}\\2s 2k()\\n{\\3R = 3FN( 2F, 1uy, 3fZ );\\n}\\n",{4J:{},7H:1a});1d b=1g ja({2i:"7Hc",5p:["1k7 6V 1o;\\1Fi 6V 7P;\\n#2f 1Op 8\\n#2f 3G2 16\\n#2f 2Vh ( 1.0 / 1v( 160.0, 560.0 ) )\\n#2f 3G1 ( 1.0 / 7.0 )\\1B 2v 3g3;\\1B 2v 3g2;\\1B 2v 3g1;\\1B 1v 13M;\\1J 1v 2F;\\1J 1m 1uy[3];\\1J 1v 2Vc;\\1P 2Vf(2v 9f, 1v 16Q, 2Gb 2M ){\\2j 1Y( 9f, 16Q + 1o( 2M ) * 13M, 0.0 );\\n}\\n#1bI 1dt\\2u 9p( 1v x ) {\\2j 12q( x ) * 2t( abs( x ) + 0.5 );\\n}\\n#1u\\1r 2bN( 2v 1kZ, 1v e, 1o 1l0, 1o 3b ) {\\ne.r = 1l0 + e.r * 3b;\\2j 255.0 * 1Y( 1kZ, e, 0.0 ).r;\\n}\\1r 3G0( 2v 1h0, 2v 1kZ, 1v 8R, 1o 9o ) {\\2u e = 1v( 0.0, 1.0 );\\14D ( 7P i = 0; i < 1Op; i ++ ) {\\ne = 1Y( 1h0, 8R, 0.0 ).rg;\\1cy -= 1v( 2.0, 0.0 ) * 13M;\\1U ( ! ( 8R.x > 9o && e.g > 0.2tP && e.r == 0.0 ) ) 1W;\\n}\\1cy.x += 0.25 * 13M.x;\\1cy.x += 13M.x;\\1cy.x += 2.0 * 13M.x;\\1cy.x -= 13M.x * 2bN(1kZ, e, 0.0, 0.5);\\2j 8R.x;\\n}\\1r 3FZ( 2v 1h0, 2v 1kZ, 1v 8R, 1o 9o ) {\\2u e = 1v( 0.0, 1.0 );\\14D ( 7P i = 0; i < 1Op; i ++ ) {\\ne = 1Y( 1h0, 8R, 0.0 ).rg;\\1cy += 1v( 2.0, 0.0 ) * 13M;\\1U ( ! ( 8R.x < 9o && e.g > 0.2tP && e.r == 0.0 ) ) 1W;\\n}\\1cy.x -= 0.25 * 13M.x;\\1cy.x -= 13M.x;\\1cy.x -= 2.0 * 13M.x;\\1cy.x += 13M.x * 2bN( 1kZ, e, 0.5, 0.5 );\\2j 8R.x;\\n}\\1r 3FY( 2v 1h0, 2v 1kZ, 1v 8R, 1o 9o ) {\\2u e = 1v( 1.0, 0.0 );\\14D ( 7P i = 0; i < 1Op; i ++ ) {\\ne = 1Y( 1h0, 8R, 0.0 ).rg;\\1cy += 1v( 0.0, 2.0 ) * 13M;\\1U ( ! ( 8R.y > 9o && e.r > 0.2tP && e.g == 0.0 ) ) 1W;\\n}\\1cy.y -= 0.25 * 13M.y;\\1cy.y -= 13M.y;\\1cy.y -= 2.0 * 13M.y;\\1cy.y += 13M.y * 2bN( 1kZ, e.gr, 0.0, 0.5 );\\2j 8R.y;\\n}\\1r 3FX( 2v 1h0, 2v 1kZ, 1v 8R, 1o 9o ) {\\2u e = 1v( 1.0, 0.0 );\\14D ( 7P i = 0; i < 1Op; i ++ ) {\\ne = 1Y( 1h0, 8R, 0.0 ).rg;\\1cy -= 1v( 0.0, 2.0 ) * 13M;\\1U ( ! ( 8R.y < 9o && e.r > 0.2tP && e.g == 0.0 ) ) 1W;\\n}\\1cy.y += 0.25 * 13M.y;\\1cy.y += 13M.y;\\1cy.y += 2.0 * 13M.y;\\1cy.y -= 13M.y * 2bN( 1kZ, e.gr, 0.5, 0.5 );\\2j 8R.y;\\n}\\2u 2Ve( 2v 2bM, 1v 6Y, 1o e1, 1o e2, 1o 2M ) {\\2u 8R = 1o( 3G2 ) * 9p( 4.0 * 1v( e1, e2 ) ) + 6Y;\\1cy = 2Vh * 8R + ( 0.5 * 2Vh );\\1cy.y += 3G1 * 2M;\\2j 1Y( 2bM, 8R, 0.0 ).rg;\\n}\\1P 3FV( 1v 8R, 1v 2Vg, 1m 2M[ 3 ], 2v 1h0, 2v 2bM, 2v 1kZ, 3g0 2Vd ) {\\1P 1cx = 1m( 0.0, 0.0, 0.0, 0.0 );\\2u e = 1Y( 1h0, 8R ).rg;\\1U ( e.g > 0.0 ) {\\2u d;\\2u 19t;\\1xM.x = 3G0( 1h0, 1kZ, 2M[ 0 ].xy, 2M[ 2 ].x );\\1xM.y = 2M[ 1 ].y;\\nd.x = 19t.x;\\1r e1 = 1Y( 1h0, 19t, 0.0 ).r;\\1xM.x = 3FZ( 1h0, 1kZ, 2M[ 0 ].zw, 2M[ 2 ].y );\\nd.y = 19t.x;\\nd = d / 13M.x - 2Vg.x;\\2u 2tO = 3Y( abs( d ) );\\1xM.y -= 1.0 * 13M.y;\\1r e2 = 2Vf( 1h0, 19t, 2Gb( 1, 0 ) ).r;\\3FW.rg = 2Ve( 2bM, 2tO, e1, e2, 1o( 2Vd.y ) );\\n}\\1U ( e.r > 0.0 ) {\\2u d;\\2u 19t;\\1xM.y = 3FY( 1h0, 1kZ, 2M[ 1 ].xy, 2M[ 2 ].z );\\1xM.x = 2M[ 0 ].x;\\nd.x = 19t.y;\\1r e1 = 1Y( 1h0, 19t, 0.0 ).g;\\1xM.y = 3FX( 1h0, 1kZ, 2M[ 1 ].zw, 2M[ 2 ].w );\\nd.y = 19t.y;\\nd = d / 13M.y - 2Vg.y;\\2u 2tO = 3Y( abs( d ) );\\1xM.y -= 1.0 * 13M.y;\\1r e2 = 2Vf( 1h0, 19t, 2Gb( 0, 1 ) ).g;\\3FW.ba = 2Ve( 2bM, 2tO, e1, e2, 1o( 2Vd.x ) );\\n}\\2j 1cx;\\n}\\2s 2k()\\n{\\3R = 3FV(2F, 2Vc, 1uy, 3g3, 3g2, 3g1, 3g0(0.0));\\n}\\n"]});a.1py&&b.2N.1q("1dt");1a.1Uf=a.32O("1k7 6V 1o;\\1Fi 6V 7P;\\n#2f 1Op 8\\2J 1m 1K;\\2J 1v 8u;\\1B 1v 13M;\\1J 1v 2F;\\1J 1m 1uy[3];\\1J 1v 2Vc;\\2s 5cY( 1v 8R ) {\\5cX = 8R / 13M;\\1I5[ 0 ] = 8R.1gZ + 13M.1gZ * 1m( -0.25, 0.125, 1.25, 0.125 );\\1I5[ 1 ] = 8R.1gZ + 13M.1gZ * 1m( -0.125, 0.25, -0.125, -1.25 );\\1I5[ 2 ] = 1m( 1uy[ 0 ].xz, 1uy[ 1 ].yw ) + 1m( -2.0, 2.0, -2.0, 2.0 ) * 13M.5cW * 1o( 1Op );\\n}\\2s 2k()\\n{\\11u = 1K;\\1mN = 8u;\\5cV( 8u );\\n}\\n",b,{4J:{},7H:1a});1a.20J=a.32O("1k7 6V 1o;\\1Fi 6V 7P;\\2J 1m 1K;\\2J 1v 8u;\\1B 1v 13M;\\1J 1v 2F;\\1J 1m 1uy[2];\\2s 5cM( 1v 8R ) {\\1I5[ 0 ] = 8R.1gZ + 13M.1gZ * 1m( -1.0, 0.0, 0.0, 1.0 );\\1I5[ 1 ] = 8R.1gZ + 13M.1gZ * 1m( 1.0, 0.0, 0.0, -1.0 );\\n}\\2s 2k()\\n{\\11u = 1K;\\1mN = 8u;\\5cL(8u);\\n}\\n","1k7 6V 1o;\\1Fi 6V 7P;\\n#2f 3FL 0\\1B 1v 13M;\\1B 2v 3fY;\\1B 2v 2Ga;\\1J 1v 2F;\\1J 1m 1uy[2];\\1P 3FM( 1v 8R, 1m 2M[ 2 ], 2v 1rH, 2v 2tN ) {\\1P a;\\na.xz = 1Y( 2tN, 8R ).xz;\\na.y = 1Y( 2tN, 2M[ 1 ].zw ).g;\\na.w = 1Y( 2tN, 2M[ 1 ].xy ).a;\\1U ( 2A(a, 1m( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) {\\2j 1Y( 1rH, 8R, 0.0 );\\n} 1s {\\2u 2M;\\1Xk.x = a.a > a.b ? a.a : -a.b;\\1Xk.y = a.g > a.r ? -a.g : a.r;\\1U ( abs( 2M.x ) > abs( 2M.y )) {\\1Xk.y = 0.0;\\n} 1s {\\1Xk.x = 0.0;\\n}\\1P C = 1Y( 1rH, 8R, 0.0 );\\1cy += 12q( 2M ) * 13M;\\1P 2V9 = 1Y( 1rH, 8R, 0.0 );\\1r s = abs( 2M.x ) > abs( 2M.y ) ? abs( 2M.x ) : abs( 2M.y );\\nC.1H = 3r(C.1H, 1w(2.2));\\5cP.1H = 3r(2V9.1H, 1w(2.2));\\1P 2V8 = 3T(C, 2V9, s);\\5cO.1H = 3r(2V8.1H, 1w(1.0 / 2.2));\\2j 2V8;\\n}\\n}\\2s 2k()\\n{\\3R = 3FM( 2F, 1uy, 2Ga, 3fY );\\n#if 3FL // 7g 1Z 11A in 1Z 1y1 and 1ka 1Z 5cN 4d on 1Z 2W\\1U (2F.x > 0.5)\\n{\\1U (2F.x < 0.5 + (5.0 / 9e.z))\\n{\\3R = 1m(0, 0, 1, 1);\\n} 1s\\n{\\3R = 1Y(2Ga, 2F);\\n}\\n}\\n#1u // 2V7\\n}\\n",{4J:{},7H:1a});1a.20K()};Wj.1i.20K=1b(){if(g(1a.1Ug)){1d a=1a;1a.1Ug.4J.3fZ=1b(){1f a.3QP};1a.1Ug.4J.13M=1b(){1f a.27m};1a.1Uf.4J.3g3=1b(){1f a.27t.167(0)};1a.1Uf.4J.3g2=1b(){1f g(a.3nf)?a.3nf:a.4j.1np};1a.1Uf.4J.3g1=1b(){1f g(a.3ne)?a.3ne:a.4j.1np};1a.1Uf.4J.13M=1b(){1f a.27m};1a.20J.4J.2Ga=1b(){1f a.3QP};1a.20J.4J.3fY=1b(){1f a.2nb.167(0)};1a.20J.4J.13M=1b(){1f a.27m}}};Wj.1i.32N=1b(a,b,c){g(1a.27t)||1a.32M();1d d=Ha.7U;1a.27t=1g eb({1O:c,13I:[1g Ca({1O:c,1G:a,1D:b,10E:d,8b:ua.1fB})]});1a.2nb=1g eb({1O:c,13I:[1g Ca({1O:c,1G:a,1D:b,10E:d,8b:ua.9m})]});1a.2na=1g eb({1O:c,13I:[1g Ca({1O:c,1G:a,1D:b,10E:d,8b:ua.9m})]})};Wj.1i.5wU=1b(a){1a.3QP=a};Wj.1i.5x0=1b(){1f 1a.2na.167(0)};Wj.1i.3Z=1b(){1f!1};Wj.1i.32M=1b(){1a.27t=1a.27t&&!1a.27t.3Z()&&1a.27t.1M();1a.2nb=1a.2nb&&!1a.2nb.3Z()&&1a.2nb.1M();1a.2na=1a.2na&&!1a.2na.3Z()&&1a.2na.1M()};Wj.1i.1M=1b(){1a.32M();1a.1Ug=1a.1Ug&&1a.1Ug.2z&&1a.1Ug.2z.1M();1a.1Uf=1a.1Uf&&1a.1Uf.2z&&1a.1Uf.2z.1M();1a.20J=1a.20J&&1a.20J.2z&&1a.20J.2z.1M();1f la(1a)};Wj.1i.5x6=1b(){1f"2g:4d/12H;1G3,7Hb/7Ha/7H9+7H8/7H7+EX+cV+7H6//7H5/y/7H4/PP/7H3/7H2/25/7H1/Z+97f/SW+/7H0+K+7GZ/i/7GY+7GX/7GW+q6+7GV/7GU+7GT+7GS+7GR+7GQ/7GP/7GO/VS+7GN/7GM+7GL+7GK/7GJ/7GI+7GH+7GG/7GF/7GE/7GD+7GC/7GB+/7GA//7Gz+7Gy/7Gx+7Gw/7Gv/7Gu+7Gt+7Gs+7Gr/7Gq/7Gp/7Go/7Gn/7Gm+7Gl+7Gk+7Gj+7Gi/7Gh+7Gg+7Gf/7Ge+7Gd/7Gc+7Gb+7Ga/d7+7G9/Z+7G8+7G7/7G6/+7G5/7G4+7G3/63X+7G2+/7G1+7G0+7FZ/7FY+7FX/Y+/7FW+7FV+7FU+7FT+7FS+7FR/7FQ+p+7FP+7FO+7FN+7FM+y+7FL/7FK/7FJ+f/7FI+7FH+7FG/7FF/7FE+7FD/7FC+7FB+r+7FA+7Fz/7Fy+U/7Fx/7Fw+7Fv/7Fu//7Ft/7Fs+7Fr+7Fq/7Fp/6n/ym/BC/7Fo+7Fn+7Fm/7Fl/7Fk+7Fj+7Fi+7Fh/7Fg/7Ff+7Fe+7Fd/7Fc/7Fb+/7Fa+a1+7F9/7F8/7F7/7F6/7F5/7F4/x0/7F3+7F2/7F1/7F0+7EZ++7EY/mj/7EX+7EW+7EV+7EU+PB/7ET+7ES+7ER+7EQ/7EP/7EO+7EN/7EM+7EL+7EK+7EJ/7EI/7EH/7EG/7EF+7EE+7ED/7EC/7EB+7EA/7Ez/PN++7Ey+7Ex+7Ew/7Ev/7Eu//7Et/7Es+7Er+7Eq+7Ep//7Eo/7En+7Em/7El+7Ek/7Ej+7Ei+7Eh+7Eg/7Ef/7Ee+bm+6P/7Ed+eL/7Ec/7Eb/7Ea/Mo/5H+4z+7E9/7E8/7E7+MB/7E5+7E4+7E3+7E2+7E1+7E0/7DZ+7DY/7DX/7DW+7DV+7DU+7DT/7DS/7DR/7DQ+7DP/7DO+/7DN/+7DM+AM/7DL/7DK/7DJ/7DI+7DH+7DG+7DF+7DE+7DD+7DC+7DB+7DA/7Dz/7Dy/7Dx+7Dw/7Dv+7Du+7Dt/7Ds/7Dr/7Dq/+7Dp/7Do/7Dn/9p3+7Dm+F+7Dl+7Dk/7Dj+yi/7Di/AK/7Dh/7Dg/7Df+7De/7Dd+7Dc+/y+7Db/7Da+7D9+7D8/7D7/DV+7D6+7D5//7D4+7D3/7D2/7D1+7D0/7CZ/7CY/7CX/+7CW+7CV/7CU/7CT/7CS/7CR/7CQ+7CP/c+7CO/7CN/7CM+7CL/7CK++7CJ/7CI/7CH+7CG/7CF+7CE/7CD/7CC/7CB+7CA+7Cz/7Cy/7Cx/7Cw/7Cv+7Cu+7Ct/7Cs+7Cr/7Cq/7Cp+7Co+7Cn+7Cm/7Cl/7Ck/7Cj/7Ci/7Ch/7Cg/7Cf+7Ce/N/7Cd+7Cc/7Cb+7Ca/7C9+7C8+l/7C7+7C6/A1+7C5+7C4+VO+7C3+7C2+7C1/7C0/7BZ/7BY/7BX++7BW/7BV/7BU/7BT/7BS/0/7BR/7BQ+7BP/7BO+7BN/y/7BM+7BL+1vM+7BK/7BJ/7BI/7BH+7BG+7BF/7BE+7BD+7BC+7BB+7BA+7Bz/7By/7Bx+7Bw+7Bv/7Bu+7Bt/7Bs/7Br/d/7Bq+7Bp+7Bo/7Bn+7Bm+7Bl+7Bk+7Bj+7Bi/7Bh/W+7Bg/7Bf/7Be+7Bd/akp/7Bc/7Bb/7Ba+7B9+7B8/C8/7B7+7B6/7B5/7B4/7B3+7B2+7B1/7B0+7AZ/7AY/7AX+P+7AW+7AV+VJ/7AU+7AT+7AS+R/7AR/7AQ+7AP/7AO/7AN/7AM+ix+7AL+7AK/7AJ//7AI+7AH+7AG/7AF/7AE/7AD/7AC//+7AB+7AA/7Az/7Ay+7Ax+7Aw+7Av+7Au+7At/7As/7Ar+7Aq/7Ap+7Ao//7An/91/7Am+7Al/507/E/7Ak+7Aj/7Ai/7Ah/7Ag/7Af//7Ae+7Ad/Ob/7Ac/7Ab+4+7Aa/7A9+7A8+eQ/7A7+7A6/7A5+7A4/7A3+7A2+7A1/7A0/7zZ+7zY+7zX+7zW/7zV+7zU/7zT/7zS+7zR/7zQ/7zP+7zO+7zN+7zM+7zL+7zK/f+7zJ/7zI/7zH/7zG+7zF/7zE+yU/7zD+7zC+7zB+7zA+7zz/7zy/7zx/7zw+7zv/7zu/7zt+7zs/7zr/+7zq/7zp+7zo+7zn/7zm+7zl/7zk+7zj/7zi/7zh/7zg+7zf/7ze+7zd+7zc/7zb+7za+7z9/7z8+7z7+7z6/7z5/7z4+7z3/7z2+7z1+5+7z0/7yZ/7yY+7yX+7yW/7yV/7yU/7yT/7yS/7yR/7yQ/7yP+7yO/7yN+7yM+7yL/q+7yK/7yJ+7yI/7yH/7yG+7yF/7yE+/7yD+Lt++7yC/+7yB+7yA+7yz+7yy/P+7yx+7yw+7yv/7yu+7yt/7ys/7yr/7yq/7yp+7yo/H/+7yn/7ym+I+7yl+7yk+7yj/7yi/7yh/7yg/7yf+7ye/7yd+7yc/7yb+7ya/7y9/7y8+7y7/7y6+7y5/7y4+7y3+7y2+7y1+7y0+7xZ+7xY/7xX/7xW+7xV+7xU+7xT/7xS/7xR/rT+7xQ+7xP/7xO/7xN+7xM+7xL+7xK/7xJ/7xI/7xH+a/7xG+7xF/7xE/7xD/7xC+7xB/M/7xA+7xz/7xy+7xx/7xw/+7xv+7xu+7xt/7xs/7xr/7xq+7xp//7xo/7xn+N/7xm/7xl+7xk/7xj+7xi/7xh/7xg+7xf//7xe/7xd/7xc+7xb+7xa+7x9+/7x8/+7x7/7x6/7x5+5+7x4/7x3/7x2+BH+7x1/7x0/7wZ+7wY/7wX/7wW//+L/7wV/7wU/7wT/4v/7wS/v3/r+/x/7wR//7wQ+7wP/7wO+7wN/j+7wM/7wL/7wK/7wJ+7wI+7wH+AZ/7wG/7wF+7wE+7wD/7wC+7wB+7wA/7wz/7wy+7wx/7ww+7wv/7wu/7wt/7ws/7wr/7wq/7wp+7wo+7wn+7wm/7wl++7wk+7wj/7wi/7wh/7wg+7wf/7we+/7wd/7wc+7wb/7wa/7w9/7w8/+7w7+7w6+7w5+7w4/7w3/7w2/7w1/7w0/7vZ/9kX+7vY/+7vX+7vW/7vV/7vU/7vT/7vS/7vR+7vQ+7vP+7vO+7vN+7vM/7vL+7vK//7vJ+7vI+7vH/7vG+7vF+7vE+7vD/7vC+7vB/E2+c/7vA/7vz+7vy/7vx/7vw/7vv/Y+7vu+7vt/7vs+7vr+7vq/7vp+7vo+7vn+7vm/0+7vl/7vk+7vj/7vi/7vh+7vg/7vf/7ve/7vd/7vc+7vb+7va/7v9/+7v8+7v7/7v6/7v5+7v4+7v3/7v2+7v1+7v0/7uZ+5/7uY+7uX+7uW/7uV/7uU+7uT/7uS+7uR/7uQ/7uP/7uO/7uN+am/KB/7uM/9BU+7uL/+/7uK+7uJ/7uI/7uH/7uG+7uF/7uE/7uD/7uC/G3+7uB/7uA+Mo+7uz++7uy/7ux+7uw/7uv/7uu/7ut+7us/7ur+7uq+7up+7uo+7un+7um+7ul+7uk+7uj/7ui/7uh/7ug+7uf+7ue+7ud/7uc/7ub+7ua+7u9+7u8+7u7+7u6/7u5/7u4/7u3/7u2/mi+7u1+7u0+7tZ+7tY+7tX+7tW+7tV+7tU+7tT/7tS+7tR+7tQ/7tP+7tO+7tN/7tM+7tL+7tK+B+7tJ/7tI/7tH+7tG+7tF+7tE/7tD+7tC+7tB+7tA+B4+7tz/7ty+7tx+7tw/7tv+7tu/7tt/7ts/7tr+7tq/7tp+7to+7tn+7tm/7tl/7tk/7tj+7ti/7th/7tg/7tf/7te+7td/7tc/7tb/7ta/7t9/7t8/7t7+7t6+FL+5+7t5+7t4/A/7t3+7t2/7t1+T/7t0/Z//7sZ/7sY+5//7sX/7sW/7sV//7sU/7sT/bx//7sS/z7//7sR+7sQ/7sP/7sO+7sN+7sM/7sL+7sK+7sJ+7sI+7sH+7sG/7sF+7sE+go+7sD+7sC+7sB+7sA+7sz+7sy+7sx+7sw+7sv+7su+7st+7ss/7sr+7sq/7sp/7so/7sn/7sm+7sl+7sk/7sj/7si+7sh/7sg/7sf+7se/7sd/7sc+7sb+7sa+7s9/+7s8/7s7+7s6+5PV/7s5/7s4/7s3/7s2/7s1+7s0+7rZ+7rY+7rX+7rW/+P+7rV+8Z/7rU/7rT/7rS/7rR+7rQ/7rP/7rO/7rN+7rM+7rL+7rK+7rJ/7rI+7rH+7rG/7rF+7rE+7rD/7rC+7rB/7rA+7rz+7ry+7rx/7rw/7rv/7ru+7rt+7rs+7rr+7rq/7rp+C+7ro/7rn+7rm+7rl+7rk+7rj/7ri+7rh/7rg/7rf+7re/7rd/7rc+7rb+7ra+7r9+7r8/7r7/7r6+7r5/7r4+7r3/7r2/7r1/+TP+7r0+I+7qZ+7qY+7qX/7qW/7qV/7qU+7qT+7qS+7qR+7qQ/7qP+7qO+7qN+7qM+7qL/7qK/G/9LK/7qJ/7qI/4xP+7qH+7qG+7qF+7qE+7qD+7qC/7qB/7qA/7qz+7qy+j/7qx+Dw/7qw/7qv/7qu+7qt/7qs+7qr/7qq/7qp/7qo/7qn/7qm/7ql/7qk/7qj+7qi+7qh+7qg/7qf/7qe+7qd/7qc+7qb+7qa+7q9+7q8+7q7+7q6+7q5/7q4+7q3+7q2/7q1/7q0/7pZ/8bn/7pY/7pX+7pW+7pV/7pU+7pT+7pS/7pR/7pQ+7pP/7pO/7pN/7pM/M/7pL+7pK/7pJ/7pI+7pH+7pG+7pF+7pE/7pD+7pC/7pB//7pA+7pz+7py+7px/+7pw/7pv+//7pu+7pt+7ps+7pr/7pq/7pp+7po/7pn/7pm+7pl+7pk+7pj/7pi/M/7ph+7pg+7pf+7pe/7pd/7pc+8/7pb+7pa/7p9//7p8/7p6+7p5/7p4/7p3/G/7p2/7p1/7p0+8x/7oZ/7oY+7oX/AF+7oW+1x+7oV/7oU/7oT+7oS/d9/7oR/7oQ/7oP/7oO/7oN/Ag+7oM+7oL+7oK/7oJ/7oI+7oH+7oG/7oF+7oE/7oD+7oC/7oB++7oA+7oz/7oy+7ox+7ow/7ov/7ou/7ot+7os+3QO/w/5x4/2AO+3QO/7or+7oq+7op/7oo/7on/7om/7ol+7ok/7oj+7oi/7oh/7og/7of+7oe/7od+7oc/7ob/7oa/3+7o9+7o8+ER/7o7+7o6+7o5/7o4/7o3+7o2/u/7o1+7o0/7nZ+7nY+7nX+KK/f+7nW/7nV+/7nU+7nT+7nS/7nR+7nQ/7nP+7nO/7nN/7nM/7nL/7nK/7nJ+7nI/7nH/7nG/7nF+7nE+7nD+7nC/7nB/7nA/7nz/7ny+Zw/7nx/+3QN/+3QN/+3QN/+3nd/+5x3/7nw/7nv/7nu/u+7nt/+7ns/7nr//7nq+7np+50+Bi+7no/7nn/7nm/7nl/7nk/7nj/7ni+7nh/7ng++7nf/7ne+7nd+7nc++7nb/7na/7n9+7n8+7n7+Tb+7n6+7n5+7n4/7n3/7n2+7n1/7n0/7mZ+A/7mY+7mX+7mW/7mV+7mU/7mT/7mS/7mR+3QO/w/5x4/2AO+3QO/w/7mQ/7mP+7mO+Pv/7mN+7mM+L/7mL/7mK/7mJ+7mI/7mH/7mG+7mF+r/7mE/rZ+7mD/7mC/7mB/7mA+7mz+7my/7mx++7mw/7mv/7mu+7mt+7ms/7mr+7mq+7mp/7mo+7mn+7mm+7ml+7mk/7mj+7p7/+7mi/+3QN/+3nd/+3nd/+3nd/+3nd/+5x3/7mh+y/7mg+7mf//7me/7md/3/7mc++7mb/7ma/3fM/7m9+7m8//7m7/8/7m6="};Wj.1i.5x2=1b(){1f"2g:4d/12H;1G3,7m5="};1d iU=[];1L.2X(wi.1i,{3o:{1n:1b(){1j(1d a=!1,b=1a.1kt,c=b.1h-1;0<=c;--c){1d d=b[c];a=a||d.3o&&d.3e}b=1a.2Ky;c=1a.2Kx;d=1a.2Kw;1d e=1a.1Mk;1f a=(a=(a=(a=a||b.3o&&b.3e)||c.3o&&c.3e)||d.3o&&d.3e)||e.3o&&e.3e}},32L:{1n:1b(){1f 1a.2Ky}},5x1:{1n:1b(){1f 1a.32I}},2yq:{1n:1b(){1f 1a.2Kx}},1o4:{1n:1b(){1f 1a.2Kw}},8Y:{1n:1b(){1f 1a.1ln}},1h:{1n:1b(){jU(1a);1f 1a.1kt.1h}},1v8:{1n:1b(){1d a=1a.32I;if(a.3e)1f a.5x0();a=1a.2Ky;if(a.3e&&a.3o)1f 1a.2n9(a.2i);a=1a.1kt;1j(1d b=a.1h-1;0<=b;--b){1d c=a[b];if(g(c)&&c.3o&&c.3e)1f 1a.2n9(c.2i)}a=1a.1Mk;if(a.3e&&a.3o)1f 1a.2n9(a.2i);a=1a.2Kw;if(a.3e&&a.3o)1f 1a.2n9(a.2i);a=1a.2Kx;if(a.3e&&a.3o)1f 1a.2n9(a.2i)}},3Pj:{1n:1b(){1j(1d a=De(1a.1kt);0<a.1h;){1d b=a.9l();if(g(b)){if(g(b.1bM))1f!0;1d c=b.1h;if(g(c))1j(1d d=0;d<c;++d)a.1q(b.1n(d))}}1f!1}},4sR:{1n:1b(){1f 1a.3QM},1C:1b(a){if(1a.3QM!==a){if(!xz.1f6(a))1t 1g r("4sR 9x 1C to an 16w 1Q.");g(1a.1Mk)&&(4Y 1a.2KA[1a.1Mk.2i],1a.1Mk.1M());1d b=1a.3nc;6U(a){1S xz.4sQ:1d c=tn.5wZ(b);1W;1S xz.4sP:c=tn.5wY(b);1W;1S xz.4sO:c=tn.5wX(b);1W;4T:c=tn.5wW(b)}if(b){1d d=1a.32H;c.6H.1ta=1b(){1f d.1v8}}1a.3QM=a;1a.1Mk=c;g(1a.2KA)&&(1a.2KA[c.2i]=c,c.1jd=1a.1jd);1a.32K=!0}}}});wi.1i.add=1b(a){v.1N.2c("7m4",a);1d b=1a.2KA,c=iU;1j(c.1q(a);0<c.1h;){1d d=c.9l();if(g(b[d.2i]))1t 1g r(d.2i+" 14d 1A8 26N 2mm to 1Z 1ho or 18f 2S 118 a 3QL 2i.");b[d.2i]=d;d.1jd=1a.1jd;1d e=d.1h;if(g(e))1j(1d f=0;f<e;++f)c.1q(d.1n(f))}b=1a.1kt;a.12N=b.1h;b.1q(a);1a.32K=!0;1f a};wi.1i.3S=1b(a){if(!1a.8h(a))1f!1;1d b=1a.2KA,c=iU;1j(c.1q(a);0<c.1h;){1d d=c.9l();4Y b[d.2i];1d e=d.1h;if(g(e))1j(1d f=0;f<e;++f)c.1q(d.1n(f))}1a.1kt[a.12N]=1p 0;1a.32K=1a.3QK=!0;a.12N=1p 0;a.1jd=1p 0;a.1M();1f!0};wi.1i.8h=1b(a){1f g(a)&&g(a.12N)&&a.1jd===1a.1jd};wi.1i.1n=1b(a){jU(1a);1d b=1a.1kt,c=b.1h;v.1N.2b.9Y("1yV 1h",c,0);v.1N.2b.9Y("2P",a,0);v.1N.2b.1ib("2P",a,c);1f b[a]};wi.1i.7f=1b(){1j(1d a=1a.1kt,b=a.1h,c=0;c<b;++c)1a.3S(a[c]);a.1h=0};wi.1i.27r=1b(a){1f 1a.2KA[a]};wi.1i.2H=1b(a,b,c){jU(1a);1d d=1a.32J,e=1a.32J=1a.4sN;1a.4sN=d;1d f=1a.1kt,h=e.1h=f.1h,l,k=0;1j(l=0;l<h;++l){1d n=f[l];n.3o&&n.3e&&n.1Ba(a)&&(e[k++]=n)}e.1h=k;h=k!==d.1h;if(!h)1j(l=0;l<k;++l)if(e[l]!==d[l]){h=!0;1W}d=1a.2Kx;e=1a.2Kw;n=1a.32H;1d m=1a.1Mk,q=1a.2Ky,r=1a.32I,u=1a.1ln;m.3e=c;l=d.3e&&d.1Ba(a);c=e.3e&&e.1Ba(a);1d t=m.3e&&m.1Ba(a),v=q.3e&&q.1Ba(a),y=r.3e;if(h||1a.32K||k!==1a.4sM||l!==1a.4sL||c!==1a.4sK||t!==1a.4sJ||v!==1a.4sI||y!==1a.4sH)1a.1jd.5wV(),1a.4sM=k,1a.4sL=l,1a.4sK=c,1a.4sJ=t,1a.4sI=v,1a.4sH=y,1a.32K=!1;g(1a.27s)&&!l&&(1a.27s.1M(),1a.27s=1p 0);if(!g(1a.27s)&&l){h=4sG;k=1g 4L(h);1j(l=0;l<h;l+=3)k[l]=1k.2t(255*1k.1ps());1a.27s=1g Ca({1O:a,8b:ua.1fB,10E:Ha.7U,5j:{1a9:k,1G:256,1D:256},10v:1g Eb({18i:Ka.1av,18h:Ka.1av,14A:nb.10U,15u:Rb.10U})})}1a.1jd.2H(a);q.2H(a,b);r.2H(a,b);d.2H(a,b);e.2H(a,b);m.2H(a,b);u.2H(a,b);1a.3nc&&n.2H(a,b);h=f.1h;1j(l=0;l<h;++l)f[l].2H(a,b)};wi.1i.9P=1b(a){1a.1jd.9P(a);1a.3nc&&1a.32H.9P(a)};wi.1i.2n9=1b(a){a=1a.27r(a);if(g(a))1f ct(a)};wi.1i.5P=1b(a,b,c,d){1d e=1a.32J,f=e.1h,h=1a.2Ky,l=1a.32I,k=1a.2Kx,n=1a.2Kw,m=1a.32H,q=1a.1Mk,r=1a.1ln,u=1a.1yP,t=k.3e&&k.1Ba(a),v=n.3e&&n.1Ba(a),y=1a.3nc,A=q.3e&&q.1Ba(a),B=h.3e&&h.1Ba(a),C=l.3e,E=r.3e;if(E||C||B||t||v||A||0!==f){E&&r.3o&&g(a.13m.3QJ)&&(un(r,a,b,c,d),b=ct(r));g(u)&&u.3QI()&&(u.1hI(a,b),u.5P(a,u.3nb),b=u.3nb.167(0));t&&k.3o&&(un(k,a,b,c,d),b=ct(k));v&&n.3o&&(un(n,a,b,c,d),b=ct(n));y&&m.3o&&un(m,a,b,c,d);A&&q.3o&&(un(q,a,b,c,d),b=ct(q));k=b;if(0<f){un(e[0],a,b,c,d);1j(k=1;k<f;++k)un(e[k],a,ct(e[k-1]),c,d);k=ct(e[f-1])}B&&h.3o&&un(h,a,k,c,d);C&&(l.5wU(k),l.5P(a))}};1d tr=1g Aa;wi.1i.1hI=1b(a,b,c){tr.1G=a.4sF;tr.1D=a.4sE;tr.x=0;tr.y=0;tr.x+=-a.5wT/a.3QH*a.4sF;tr.y+=-(a.3na-a.5wS-1)/a.3na*a.4sE;if(!g(1a.1vd)){1d d=1a;c=!a.1py&&a.1Mb&&a.8X&&!a.2yp.2Kz?1g ja({5p:["#6A 5J : 5F\\n#6A 8p : 5F\\1B 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\1r 17n = 11N(1Y(1aB, 2F));\\1U(17n < 3fa){\\1F2 = 1.0 - 3fa;\\3R = 1Y(6T, 2F);\\2j ;\\n}\\7m3 = 1rn(17n);\\1r 3I = 18z.x;\\1r 3W = 18z.y;\\1r 3n9 = ( 3I * 3W ) / ( ( 3W - 3I ) * 17n - 3W );\\1r 1l0 = 5.0 * 1Xu * 1dv(1m(0.0, 0.0, 3n9, 1.0));\\7m2 -= 1l0;\\1r 4e = (3W + 3W * 3I / 3n9) / (3W - 3I);\\1F2 = 2o(4e, 1.0);\\3R = 1Y(6T, 2F);\\n}"],2N:c?["10B"]:[]}):"2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n";1a.1vd=a.1aL(c,{4J:{6T:1b(){1f d.1v8}},7H:1a})}c=pa.4t({5q:tr,9J:{3e:!a.2yp.2Kz}});1a.1vd.4w=c;1a.1vd.4Q=b;(a.1Mb&&g(a.13m.1Ju)||!a.1Mb||!a.8X)&&1a.1vd.5P(a)};wi.1i.3Z=1b(){1f!1};wi.1i.1M=1b(){1a.2Ky.1M();1a.32I.1M();1a.2Kx.1M();1a.2Kw.1M();1a.32H.1M();1a.1Mk.1M();1a.7f();1a.1jd=1a.1jd&&1a.1jd.1M();1f la(1a)};dt.1i.3QG=1b(a){1d b=I.9g(I.3O,12),c=0;b[c++]=1a.2Kv.x-a.x;b[c++]=1a.2Kv.y-a.y;b[c++]=1a.2Kv.z-a.z;b[c++]=1a.2Ku.x-a.x;b[c++]=1a.2Ku.y-a.y;b[c++]=1a.2Ku.z-a.z;b[c++]=1a.3n7.x-a.x;b[c++]=1a.3n7.y-a.y;b[c++]=1a.3n7.z-a.z;b[c++]=1a.3n6.x-a.x;b[c++]=1a.3n6.y-a.y;b[c++]=1a.3n6.z-a.z;1f b};dt.1i.5wQ=1b(){1d a=I.9g(I.3O,8);a[0]=0;a[1]=0;a[2]=1;a[3]=0;a[4]=0;a[5]=1;a[6]=1;a[7]=1;1f a};dt.1i.5wR=1b(){1f I.9g(I.3O,12)};dt.1i.11K=1b(){1a.2Kv=1a.3n8[0];1a.2Ku=1a.3n8[1];1d a=T.12y(1a.3n8[0]),b=T.12y(1a.3n8[1]),c=T.1y(a),d=T.1y(b);a.1D+=1E4;b.1D+=1E4;c.1D-=1E4;d.1D-=1E4;1a.2Kv=T.1g8(a);1a.2Ku=T.1g8(b);1a.3n7=T.1g8(c);1a.3n6=T.1g8(d);1a.4sD=k.3s(1a.2Kv,1a.2Ku);1a.4sC=2E4;a=[];a.1q(1a.2Kv);a.1q(1a.2Ku);a.1q(1a.3n7);a.1q(1a.3n6);1a.7u=P.1aN(a);1d e=a.1h,f=1a;a.5d(1b(a){f.19J.x+=a.x/e;f.19J.y+=a.y/e;f.19J.z+=a.z/e});a={};A.1yU(J.8K,1a.19J,a);1a.4a=a};dt.1i.3QF=1b(a){1d b=1a.3QG(1a.19J);b=Ra.12S({1O:a,5b:b,7Q:xa.7C});1d c=1a.5wR(1a.19J),d=Ra.12S({1O:a,5b:c,7Q:xa.7C});c=1a.5wQ();1d e=Ra.12S({1O:a,5b:c,7Q:xa.7C});c=[];c.1q({2P:0,7e:b,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});c.1q({2P:1,7e:d,2Z:3,3k:I.3O,9n:0,9t:12,1T:!1});c.1q({2P:2,7e:e,2Z:2,3k:I.3O,9n:0,9t:8,1T:!1});b=I.9g(I.10P,6);b[0]=0;b[1]=1;b[2]=3;b[3]=0;b[4]=3;b[5]=2;b=Ra.17Q({1O:a,5b:b,7Q:xa.7C,17P:Ta.10P});1f 1g Fb({1O:a,2w:c,10X:b})};dt.1i.1M=1b(){1f la(1a)};Fq.1i.1EX=1b(a){1d b=A.1y(1a.16b.4a);b=1g Oa({6Z:Ja.11G,4a:b,6t:ma.18W,8d:!1,6W:1a.16b.7u});b.4c=1a.16b.3QF(a);1d c=1g ja({2i:"5ho",5p:["3Q 1m 4f;\\2J 1v 1P2;\\1B 1o 2Hv;\\1J 1v 1Ao;\\2s 2k()\\n{\\n   1Ao = 1P2;\\n#1z 1P5\\n   1Ao.y = 4f.z / 2Hv;\\n#1u\\n   6I = 11o * 1m(4f.1H, 1.0);\\n}"]}),d=1g ja({2i:"5fF",5p:["2n 2v 3hS;\\1B 2v 3hP;\\1B 1m 2GZ;\\1B 1m 3hO;\\1B 1w 2GY;\\1B 1v 3hQ;\\1B 1m 2kN;\\1B 1m 3hR;\\1B 7d 2H0;\\1B 1m 3hN;\\1J 1v 1Ao;\\2s 2k()\\n{\\2u 4M = 1v(4u.x / 9e.z, 4u.y / 9e.w);\\1P 1Ij = 1Y(3hS, 4M) * 255.0;\\1U(1Ij.r != 2kN.r || 1Ij.g != 2kN.g || 1Ij.b != 2kN.b)\\n{\\n    7o;\\n}\\1U(2H0){\\n    2C = 3hR;\\n    1f;\\n}\\1So = 1Ao;\\1So = 13R(4M * 3hQ, 1v(1.0));\\2u 12Q = 2GY.yz;\\1So = 2Y(4M, 12Q, 1.0 - 12Q);\\2u 3JL = 3T(2GZ.xy, 2GZ.zw, 4M);\\1P 16T = 1Y(3hP, 3JL);\\3R = 3T(3hO, 16T, 2GY.x) * 3hN;\\n}"]});1a.16b.1I==Je.1P5&&(c.2N.1q("1P5"),d.2N.1q("1P5"));b.2z=Ga.4t({1O:a,5O:c,5A:d,7W:1a.12m});b.4w=pa.4t({8d:{3e:!1},9J:{3e:!0},13Q:{3e:!0}});1a.32E=b;1j(1d e in 1a.2eF)1a.5wP(e,1a.2eF[e],1a.32E,a);1a.5wM(b,a);1a.5wL(1a.32F,a)};1d tN=1g k,PF=1g E,bx=1g C,uN=1g k,ju=1g y;Fq.1i.5wP=1b(a,b,c,d){c=Oa.15v(c);1d e=1a;c.4J={3hS:1b(){1d a=e.1Jk;1f g(a)?a.1yT.1bA.167(0):d.1np},3hO:1b(){1f b.1A},2GY:1b(){uN.x=0<=b.3mv?1:0;if(g(e.18j)){1d a=e.18j.7y.1G,c=e.18j.7y.1D,d=e.18j.8u[b.3mv];g(d)&&(c*=d.1D,uN.y=1/(d.1G*a),uN.z=1/c)}1f uN},3hP:1b(){1f g(e.18j)?e.18j.7y:d.1np},2GZ:1b(){if(g(e.18j)){1d a=e.18j.8u[b.3mv];g(a)&&(PF.x=a.x,PF.y=a.y,PF.z=a.x+a.1G,PF.w=a.y+a.1D)}1f PF},3hQ:1b(){"5wO"==e.16b.1I?(bx.x=e.16b.4sD/b.3QE,bx.y=e.16b.4sC/b.3QD):e.16b.1I==Je.1P5?(bx.x=2*1k.PI*e.16b.5wN/b.3QE,bx.y=e.16b.32G/b.3QD):e.16b.1I==Je.32i&&(bx.x=1,bx.y=1);1f bx},2Hv:1b(){1f e.16b.1I==Je.1P5?e.16b.32G:1},2kN:1b(){tN.x=b.1fR.x;tN.y=b.1fR.y;tN.z=b.1fR.z;1f tN},3hR:1b(){1f b.5u0.1A},2H0:1b(){1f e.1ss},3hN:1b(){1d a=e.1fq.32f;if(0==a.1h)ju.5r=1,ju.5t=1;1s{1d c=!1;a.5d(1b(a){b.id==a&&(c=!0)});c?(ju.5r=.7,ju.5t=.7):(ju.5r=1,ju.5t=1)}ju.5G=1;1f ju}};1a.3n3[a]=c};Fq.1i.5wM=1b(a,b){a=Oa.15v(a);a.6t=ma.18W;a.4w=pa.4t({8d:{3e:!1},9J:{3e:!0},13Q:!0,1fA:{5r:!1,5t:!1,5G:!1,2O:!1},12h:Oe.3n5(!0)});a.4J={15a:1b(){1f y.9r}};a.2z=Ga.4t({1O:b,5O:"3Q 1m 4f;\\n\\1B 1m 15a;\\n\\1J 1m 4m;\\1J 1m 14u;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\n#1u\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   4m = 15a;\\n#1z 1db\\n   1b0 = 4f.1H;\\n#1u\\n}",5A:"#1z 5J\\n#6A 5J : 5F\\n#1u\\n\\1J 1m 4m;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\4i 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   2C = 4m;\\n#1z 1db\\n   1w 2U = 1T(1ju(1b0));\\n   1m 1uP = 9q * 1m(1b0.1H, 1.0);\\n   1w 19X = 1T(1HW - 1w(1uP));\\n   1o 18o = 1V(2A(19X, 2U), 0.0);\\n   1m 8t = 4m * 1j3 * 18o;\\n   1m 18A = 4m * 1j3;\\n   2C = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n#1u\\n}",7W:1a.12m});1a.32F=a};Fq.1i.5wL=1b(a){1a.3n4=Oa.15v(a);1a.3n4.4w=pa.4t({8d:{3e:!1},9J:{3e:!0},13Q:!1,1fA:{5r:!0,5t:!0,5G:!0,2O:!0},12h:!1})};Fq.1i.5wK=1b(a,b){g(1a.1Jk)||(1a.5Y=b,g(b.18w[1a.6X])?1a.1Jk=b.18w[1a.6X]:(1a.1Jk=a.4sB(),b.18w[1a.6X]=1a.1Jk))};Fq.1i.2H=1b(a,b,c){1a.1ss=b.10s.11P;1a.5Y=b;g(1a.32E)||(1a.1EX(a,b),1a.5wK(a,b));if(b.19c.1mc==Ud.2n8)b.19c.2i==1a.6X&&c.1q(1a.32F);1s{1a.16b.1I==Je.1P5&&c.1q(1a.3n4);1j(1d d in 1a.3n3)c.1q(1a.3n3[d])}};Fq.1i.1M=1b(){4sA(1a.32F);1a.32F=1p 0;4sA(1a.32E);1a.3n4=1a.32E=1p 0;1a.3n3={};g(1a.1Jk)&&(1a.1Jk.1M(),1a.5Y.18w[1a.6X]=1p 0);g(1a.16b)&&(1a.16b=1F);1f la(1a)};Sk.7m1=1b(a){1f 2*a.3c.17i*1k.PI*.25/(65*a.1ou(0))};1L.2X(Sk.1i,{2eX:{1n:r.8i,1C:r.8i},3o:{1n:r.8i},8c:{1n:r.8i},1cG:{1n:r.8i}});Sk.1i.2H=r.8i;Sk.1i.4sz=r.8i;Sk.1i.4sy=r.8i;Sk.1i.1DR=r.8i;Sk.1i.4sx=r.8i;Sk.1i.3QC=r.8i;Sk.1i.4sw=r.8i;Sk.1i.4sv=r.8i;Sk.1i.3Z=r.8i;Sk.1i.1M=r.8i;1d 5gp=1L.3F({7m0:13j,7lZ:1tA,7lY:18C});et.1i.3Po=1b(){g(1a.1ve)&&1a.1ve()};et.1i.2ws=1b(a,b){g(1a.1ve)&&1a.1ve();1d c=1a.2R;1a.1yS=c.3z;1a.32D=c.3w.3j 2m Jb;1a.1yS!==O.10j&&1a.1yS!==O.1at&&(1a.2R.32C.5k(1a,1a.1yS,O.10j,!0),c.8C=O.1at,c.3w.1dm(A.8K),1a.1yS===O.15j?5wJ(1a,a):5wI(1a,a,b),0===a&&g(1a.1ve)&&1a.1ve())};1d 5wH=1g k,ur=1g k,cx=1g k,5wz=1g k,5wy=1g k,5wx=1g k,5wG=1g k,5wE=1g T,5wF=1g A,5wC=1g Qc,5wD=1g Jb,np={1K:1p 0,2G:1p 0,up:1p 0,1O9:1p 0,3n2:1p 0,3n1:1p 0,3j:1p 0};et.1i.2wr=1b(a,b){g(1a.1ve)&&1a.1ve();1d c=1a.2R;1a.1yS=c.3z;if(1a.1yS!==O.15j&&1a.1yS!==O.1at){1a.2R.32C.5k(1a,1a.1yS,O.15j,!0);c.3w.1dm(A.8K);1d d=5wH;if(0<a)d.x=0,d.y=-1,d.z=1,d=k.4g(k.1T(d,d),5*b.17i,d),k.11k(k.1T(d,ur),ur),k.4B(k.1dl,ur,cx);1s{1d e=c.3w;1a.1yS===O.10j?(k.1y(e.1K,d),d.z=e.3j.2W-e.3j.3B,k.11k(k.16a,ur),k.1y(k.1f5,cx)):(k.1y(e.6K,d),k.1y(e.18k,ur),k.1y(e.1je,cx),e=b.1fI(d,5wG),e=Da.18N(e,b,5wF),A.1yQ(e,e),c.11s.12z(b.10Z(d,5wE),d),A.1gE(e,ur,ur),A.1gE(e,cx,cx))}1a.32D?(b=5wD,b.1G=c.3w.3j.2W-c.3w.3j.3B,b.13n=c.8j/c.7p):(b=5wC,b.13n=c.8j/c.7p,b.16X=B.8I(60));np.1K=d;np.2G=ur;np.up=cx;np.3j=b;b=5wB(np);CD(1a,b);1a.1yS===O.10j?5wA(1a,a,np,b):(np.1O9=A.8P(ab.20I,d,5wz),np.3n2=A.1gE(ab.20I,ur,5wy),np.3n1=A.1gE(ab.20I,cx,5wx),c.8C=O.1at,4su(1a,a,np,b));0===a&&g(1a.1ve)&&1a.1ve()}};1d kU={1K:1g k,2G:1g k,up:1g k,3j:1p 0},4ss=1g Qc;et.1i.2HT=1b(a,b){g(1a.1ve)&&1a.1ve();1d c=1a.2R;1a.1yS=c.3z;if(1a.1yS!==O.6G&&1a.1yS!==O.1at){1a.2R.32C.5k(1a,1a.1yS,O.6G,!0);c.8C=O.1at;c.3w.1dm(A.8K);if(1a.1yS===O.10j)5ww(1a,a,b);1s{if(0<a){1d d=kU;k.8g(0,0,5*b.17i,b,d.1K);k.11k(d.1K,d.2G);k.1T(d.2G,d.2G);k.1y(k.16a,d.up)}1s d=4st(1a,b);b=c.3w;b.3j 2m Jb?b=b.3j.1y():(b=4ss,b.13n=c.8j/c.7p,b.16X=B.8I(60));d.3j=b;c=4sr(d);CD(1a,c);lU(1a,a,d,c)}0===a&&g(1a.1ve)&&1a.1ve()}};et.1i.3Z=1b(){1f!1};et.1i.1M=1b(){mK(1a);1f la(1a)};1d 5wv=1g T,5wu=1g k,5wt=1g A,5ws=1g k,5wr=1g k,5wq=1g k,5wp=1g k,5wo=1g k,5wn=1g k,5wm=1g Jb,4sq=1g k,4sp=1g k,4so=1g k,mU=1g k,4sn=1g k,4sm=1g k,5wl=1g k,5wk=1g k,5wj=1g k,nU=1g k,$Aa=1g k,5wi=1g k,5wh=1g Ee,5wg=1g rb,5wf=1g k,5we={1K:1p 0,2G:1p 0,up:1p 0,3j:1p 0},4sl=1g T,5wd={1K:1g k,2G:1g k,up:1g k,1O9:1g k,3n2:1g k,3n1:1g k,3j:1g Ee},5wc={1K:1g k,2G:1g k,up:1g k,3j:1p 0},5wb=1g k,5wa=1g rb,5w9=1g A,5w8=1g k;1L.2X(nK.1i,{1Jt:{1n:1b(){1f 1a.5w7}},1Js:{1n:1b(){1f 1a.5w6}},13k:{1n:1b(){1f 1a.1oi}},1Jr:{1n:1b(){1f 1a.3QB}},1lZ:{1n:1b(){1f 1a.5w5}},2H:{1n:1b(){1f 1a.13A}},1aH:{1n:1b(){1f 1a.1Tl}},32B:{1n:1b(){1f 1a.5w4}}});nK.1i.3QA=1b(){1a.1sa.3S(1a)};1L.2X(Tk.1i,{1h:{1n:1b(){1f 1a.1sa.1h}}});Tk.1i.add=1b(a){a=m(a,m.4Z);if(!g(a.1Jt)||!g(a.1Js))1t 1g r("3v.1Jt and 3v.1Js are 1X.");if(!g(a.13k)||0>a.13k)1t 1g r("3v.13k is 1X and 2Q be 2HU.");if(0===a.13k)1f g(a.1aH)&&a.1aH(),1g nK(1a);1d b=a.13k/Ed.2n7,c=m(a.1Jr,0),d=c/Ed.2n7,e=m(a.1lZ,jh.3Qz),f=a.1Jt,h=1g Gc.4hV(f);h.to(wc(a.1Js),b);h.1Jr(d);h.5w3(e);if(g(a.2H))h.5w2(1b(){a.2H(f)});h.5w1(m(a.1aH,1F));h.12G(m(a.1qI,0));b=1g nK(1a,h,a.1Jt,a.1Js,a.13k,c,e,a.2H,a.1aH,a.1hm);1a.1sa.1q(b);1f b};Tk.1i.1Dr=1b(a){a=m(a,m.4Z);1d b=a.2c,c=a.5i,d=a.2lE,e=a.2lD;if(!g(b)||!g(a.5i))1t 1g r("3v.2c and 3v.5i are 1X.");if(!g(b[c]))1t 1g r("3v.2c 2Q 118 1Z 2xC 5i.");if(!g(d)||!g(e))1t 1g r("3v.2lE and 3v.2lD are 1X.");1f 1a.add({1Jt:{1Q:d},1Js:{1Q:e},13k:m(a.13k,3),1Jr:a.1Jr,1lZ:a.1lZ,2H:1b(a){b[c]=a.1Q},1aH:a.1aH,1hm:a.1hm,1qI:a.1qI})};Tk.1i.7lX=1b(a){a=m(a,m.4Z);1d b=a.2q;if(!g(b))1t 1g r("3v.2q is 1X.");1d c=[],d;1j(d in b.6H)b.6H.3p(d)&&g(b.6H[d])&&g(b.6H[d].2O)&&c.1q(d);if(0===c.1h)1t 1g r("2q 14d no 5U 10M 2O 1bw.");1f 1a.add({1Jt:{2O:m(a.2lE,0)},1Js:{2O:m(a.2lD,1)},13k:m(a.13k,3),1Jr:a.1Jr,1lZ:a.1lZ,2H:1b(a){1j(1d d=c.1h,e=0;e<d;++e)b.6H[c[e]].2O=a.2O},1aH:a.1aH,1hm:a.1hm})};Tk.1i.7lW=1b(a){a=m(a,m.4Z);1d b=a.2q;if(!g(b))1t 1g r("2q is 1X.");if(!g(b.6H.2M))1t 1g r("2q.6H 2Q 118 an 2M 5i.");b=b.6H;1f 1a.1Dr({2c:b,5i:"2M",2lE:b.2M,2lD:b.2M+1,13k:a.13k,1Jr:a.1Jr,1lZ:a.1lZ,2H:a.2H,1hm:a.1hm,1qI:12g})};Tk.1i.3S=1b(a){if(!g(a))1f!1;1d b=1a.1sa.3f(a);1f-1!==b?(a.32B.4U(),g(a.1hm)&&a.1hm(),1a.1sa.6z(b,1),!0):!1};Tk.1i.7f=1b(){1j(1d a=1a.1sa,b=0;b<a.1h;++b){1d c=a[b];c.32B.4U();g(c.1hm)&&c.1hm()}a.1h=0};Tk.1i.8h=1b(a){1f g(a)&&-1!==1a.1sa.3f(a)};Tk.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.");1f 1a.1sa[a]};Tk.1i.2H=1b(a){1d b=1a.1sa,c=0;1j(a=g(a)?a/Ed.2n7:Kd();c<b.1h;){1d d=b[c],e=d.32B;d.4sk?(d.4sk=!1,e.4I(a)):e.2H(a)?c++:(e.4U(),b.6z(c,1))}};1L.2X(yz.1i,{7lV:{1n:1b(){1f 1a.2Kt},1C:1b(a){1a.2Kt=a}}});1d oK=!1,3Qy=[],pK=1g rb,5w0=1g k,5vZ=1g C,5vY=1g k,5vX=1g C,5vW=1g k,5vV=1g k,5vU=1g k,5vT=1g k,5vS=1g k,5vR=1g k,5vQ=1g k,5vP=1g k,5vO=1g k,5vN=1g k,5vM=1g k,5vL=1g k,5vK=1g k,5vJ=1g k,5vI=1g k,gw=1g k,4sj=1g k,4si=1g k,pU={11f:1g $b},5vH=1g rb,5vG=1g rb,5vF=1g k,5vE=1g C,5vD=1g C,4sh=1g rb,5vC=1g k,rK=1g k,qK=1g C,4sg=1g rb,5vB=1g rb,4sf=1g k,5vA=1g k,5vz=1g k,5vy=1g k,5vx=1g Cb(k.1dl,0),5vw=1g C,5vv=1g C,4se=1g C,qU=1g rb,tK=1g k,$Ba=1g k,4sd=1g A,5vu=1g A,5vt=1g k,5vs=1g Cb(k.1dl,0),sU=1g k,rU=1g T,4sc=1g A,5vr=1g ca,5vq=1g J,5vp=1g k,5vo=1g C,5vn=1g rb,uK=1g k;1g rb;1d 5vm=1g Cb(k.1dl,0),uU=1g k,4sb=1g k,5vl=1g T,4sa=1g k,4s9=1g ba,5vk=1g k,vU=E.1y(E.1xa),4s8=E.1y(E.1xa),5vj=1g C,5vi=1g C,4s7=1g k,5vh=1g T,5vg=1g C,4s6=1g rb,DD=1g k,4s5=1g A,4s4=1g A,4s3=1g ca,vK=1g J,4s2=1g T,4s1=1g k,5vf=1g T,5ve=1g k,5vd=1g C,5vc=1g C,wU=1g rb,xU=1g rb,5vb=1g k,5va=1g k,Qo=1g k,4s0=1g k;yz.1i.2H=1b(){A.2L(1a.2R.3w.5o,A.8K)?(1a.1cD=1a.2R.10a,1a.5W=g(1a.1cD)?1a.1cD.3c:1a.2R.11s.3c):(1a.1cD=1p 0,1a.5W=ba.1x9);1a.4rZ=1a.4rY*1a.2R.1DM;1a.2Ks=1a.5v9*1a.2R.1DM;1a.3Qx=1a.5v8*1a.2R.1DM;1d a=1a.5W.17i;1a.20H=1/a;1a.20G=a;a=1a.2R.3z;if(a===O.10j)a=1a.2R.27c===Ws.2Kr,A.2L(A.8K,1a.2R.3w.5o)?(ej(1a,1a.2wd,1a.3Qw,5v7,1a.4rV,"3n0"),ej(1a,1a.2JZ,1a.32A,4rX,1a.32z,"20F"),a&&ej(1a,1a.1Zo,1a.2ZW,4rW,1a.2Kq,"2Kp")):(ej(1a,1a.2JZ,1a.32A,4rX,1a.32z,"20F"),a&&ej(1a,1a.1Zo,1a.3Qw,4rW,1a.2Kq,"3Qt"));1s if(a===O.15j){1a.3Qu=k.16a;1d b=1a.2R.3w;A.2L(A.8K,b.5o)?(a=1a.1sa,1a.1P9.3Qv&&a.7f(),ej(1a,1a.2ZT,1a.2ZW,5v6,1a.2Kq,"2Kp"),ej(1a,1a.2wd,1a.3Qw,5v5,1a.4rV,"3n0"),ej(1a,1a.2JZ,1a.32A,5v4,1a.32z,"20F"),ej(1a,1a.3mo,1a.4rS,dm),1a.1P9.3Qv||g(1a.20F)&&1a.20F.1ih||g(1a.3n0)&&1a.3n0.1ih||a.8h(1a.4rU)||(b=b.5v3(1a.5v2),g(b)&&(1a.4rU=a.add(b))),a.2H()):(ej(1a,1a.1Zo,1a.3LB,Po,1a.2Kq,"3Qt"),ej(1a,1a.2JZ,1a.32A,4rT,1a.32z,"20F"));if(1a.2xZ){a=1a.2R.3w;b=1a.1P9.3mZ;1d c=a.1K,d=1a.3Qs.7lU;if(b.3mY){1d e=xK(a.2G,c);a.1tJ(e,d)}b.3mX&&(e=xK(a.2G,c),a.1tJ(e,-d));b.3mW&&(e=xK(a.2W,c),a.1tJ(e,-d));b.3mV&&(e=xK(a.2W,c),a.1tJ(e,d))}}1s if(a===O.6G&&(1a.3Qu=1p 0,ej(1a,1a.1Zo,1a.3LB,5v1,1a.2Kq,"3Qt"),ej(1a,1a.2JZ,1a.32A,4rT,1a.32z,"20F"),ej(1a,1a.2ZT,1a.2ZW,5v0,1a.2Kq,"2Kp"),ej(1a,1a.3mo,1a.4rS,dm),1a.2xZ)){a=1a.2R;b=a.3w;c=1a.1P9.3mZ;d=b.1K;e=1a.3Qs.1sx;1d f=1a.3Qs.1D;if(c.3mY){1d h=wK(b.2G,d);b.1tJ(h,e);b.1K=yK(a.10a,b,f)}c.3mX&&(h=wK(b.2G,d),b.1tJ(h,-e),b.1K=yK(a.10a,b,f));c.3mW&&(h=wK(b.2W,d),b.1tJ(h,-e),b.1K=yK(a.10a,b,f));c.3mV&&(h=wK(b.2W,d),b.1tJ(h,e),b.1K=yK(a.10a,b,f))}1a.1P9.1Pr()};yz.1i.3Z=1b(){1f!1};yz.1i.1M=1b(){1a.1sa.7f();1a.1P9=1a.1P9&&1a.1P9.1M();1f la(1a)};Ro.1i.1n=1b(a){1f 1a.1kt.1n(a)};Ro.1i.27r=1b(a){1j(1d b=1a.1kt.1h,c=0;c<b;++c){1d d=1a.1kt.1n(c);if(d.2i===a)1f d}};1d 5uZ=1g E,4rP=1g C,ym=1g C,4rQ=1g A;Ro.1i.9P=1b(a,b,c){1a.3mU.9P(a,b,c);1a.1jd.9P(a)};Ro.1i.2H=1b(a){1d b=a.1O,c=a.5q;a=1a.3mU;a.2H(b,c);a=a.2eW();1a.1jd.2H(b);1a.1kt.2H(b,!1);1d d=b.13m,e=d.2cg,f=d.11A,h=d.1Ue,g=d.18T;d=A.2Ko(c,0,1,4rQ);f=A.8P(f,e,5uZ);c=Da.2Kn(h,d,e,4rP);f.x+=B.3m7;d=Da.2Kn(g,d,f,f);d=60*C.7t(C.3V(d,c,d));ym.x=d;ym.y=d;1a.3Qr=C.1y(c,1a.3Qr);1a.4rR=.15*1k.1V(ym.x,ym.y);g=b.8j;f=b.7p;b=1a.1kt;1d k=b.1n(0),n=k.1v8.1G,m=k.1v8.1D;c=1g Aa;c.1G=n;c.1D=m;d=A.2Ko(c,0,1,4rQ);c=Da.2Kn(h,d,e,4rP);ym.x*=n/g;ym.y*=m/f;e=k.2Km;e.x=1k.1V(c.x-.5*ym.x,0);e.y=1k.1V(c.y-.5*ym.y,0);e.1G=1k.2o(ym.x,g);e.1D=1k.2o(ym.y,f);1j(h=1;4>h;++h)Aa.1y(e,b.1n(h).2Km);1f a};Ro.1i.5P=1b(a){1d b=1a.3mU.2eW().167(0),c=1a.1kt,d=c.1h;c.1n(0).5P(a,b);1j(b=1;b<d;++b)c.1n(b).5P(a,c.1n(b-1).1v8)};Ro.1i.1hI=1b(a,b){if(!g(1a.1vd)){1d c=1a;1a.1vd=a.1aL("2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n",{4J:{6T:1b(){1f c.1kt.1n(c.1kt.1h-1).1v8}},7H:1a})}1a.1vd.4Q=b;1a.1vd.5P(a)};Ro.1i.3Z=1b(){1f!1};Ro.1i.1M=1b(){1a.1jd.1M();1a.1kt.1M();1f la(1a)};1d 5uW=1g Zb("4rO, 1f2 31R 25O"),4rG=[1.3Qq-9,3.3mT-9,6.3mS-9,1.3mR-8,2.3Qp-8,5.3mQ-8,1.3Qo-7,2.3Qn-7,4.3Qm-7,8.3Ql-7,1.3Qk-6,3.3Qj-6,6.3Qi-6,1.3Qh-5,2.3Qg-5,5.3Qf-5,1.3Qe-4,2.3Qd-4,4.3Qc-4,8.3Qb-4,.3Qa,.3Q9],UA=1b(a){1b b(){if(l.3mK){1d b=a.2I+".2HZ";g(Ba.12M)&&(b=g(Ba.12M.1e7[l.1os])?Ba.1oo(l.1os,b):Ba.1cl(b));b=Km(b,{7V:{f:"15l"}});Z(b,d,e)}1s b=f+"1nn",g(Ba.12M)&&(b=g(Ba.12M.1e7[l.1os])?Ba.1oo(l.1os,b):Ba.1cl(b)),Z(xu(b,l.1g2),c,e)}1b c(b){b=n.27q(b,"1aM/1g3");b=b.13P[0];hw(b,"1PD","10R://10y.1gD.11Y/1g7/1hS");a:{1d c=ED(b,"4rN","10R://10y.1gD.11Y/1g7/1hS");if(g(c)&&(c=c.15o("4rM"),1F!==c)){c=7L(c);c=11I(c)?1p 0:c;1W a}c=1p 0}"2b"===2h c&&(l.1Jp=!0,l.1Ub=c);1d d=ED(b,"2Kl","10R://10y.1gD.11Y/1g7/1hS");if(g(d)){c=[];d=d.1Gs("*","1PV");1j(1d e=d.1h,f=0;f<e;f++){1d h=d[f];"1PV"===h.16Z&&-1!=="10R://10y.1gD.11Y/1g7/1hS".3f(h.1fz)&&c.1q(h)}}1s c=1p 0;d=[];e=0;1j(f=c.1h;e<f;e++)d.1q(8A(c[e].8S,10));f=ED(b,"2yo","10R://10y.1gD.11Y/1g7/1hS");h=hw(f,"1Mj","10R://10y.1gD.11Y/1g7/1hS");e=hw(f,"1Dh","10R://10y.1gD.11Y/1g7/1hS");c=hw(f,"2eV","10R://10y.1gD.11Y/1g7/1hS");f=hw(f,"2eU","10R://10y.1gD.11Y/1g7/1hS");1d k=4rL(b,"3Q8","10R://10y.1gD.11Y/1g7/1hS"),p=hw(b,"3mP","10R://10y.1gD.11Y/1g7/1hS"),q=hw(b,"3mO","10R://10y.1gD.11Y/1g7/1hS");b=4rL(b,"4rK","10R://10y.1gD.11Y/1g7/1hS");l.6X||(l.6X=b||"");l.2Kj=m(k,"12H");l.14Q=m(p,256);l.16J=m(q,256);b=d.1h;l.1jK=m(d[0],0);l.17G=m(d[b-1],b-1);g(l.6C)||(l.6C=1g gd({3c:a.3c}));b=l.6C;!g(l.7T)&&h&&e&&c&&f&&(d=B.8I(h),e=B.8I(e),f=B.8I(f),c=B.8I(c),l.7T=1g Q(d,f,e,c));l.7T.4o<b.3g.4o&&(l.7T.4o=b.3g.4o);l.7T.5a>b.3g.5a&&(l.7T.5a=b.3g.5a);l.7T.4C<b.3g.4C&&(l.7T.4C=b.3g.4C);l.7T.4P>b.3g.4P&&(l.7T.4P=b.3g.4P);c=b.1mi(Q.1tI(l.7T),l.1jK);d=b.1mi(Q.1tH(l.7T),l.1jK);4<(1k.abs(d.x-c.x)+1)*(1k.abs(d.y-c.y)+1)&&(l.1jK=0);l.6C=b;l.1x8=l.10z+"2g/2P/{y}/{x}.{2eT}?6b={6b}";l.4y=!0;l.7S.5h(!0)}1b d(b){1d c=b.32y.3Q7;l.2yn=c;1d d=b.14w;b=b.2Kk;if("2eS"==c){1d e=l.27m;l.6C=1g gd({27p:2*e,27o:e});d.3B=B.2Y(d.3B,-180,180);d.7b=B.2Y(d.7b,-90,90);d.2W=B.2Y(d.2W,-180,180);d.5C=B.2Y(d.5C,-90,90);l.7T=Q.8g(d.3B,d.7b,d.2W,d.5C);l.1x8=l.10z+"3mN."+l.3mL+\'?18b={18b}&4rJ=8O&1ot={1ot}&1G=256&1D=256&x={x}&y={y}&3b={3b}&4rI=16f&4rH=16f&9X={"x":-180,"y":90}{2eR}\'}1s{1d f=1g k(d.3B,d.7b,0);f.x=1k.1V(-2.20E,f.x);f.y=1k.1V(-2.20E,f.y);e=1g k(d.2W,d.5C,0);e.x=1k.2o(2.20E,e.x);e.y=1k.2o(2.20E,e.y);g(l.6C)?l.1x8=l.10z+"3mN."+l.3mL+\'?18b={18b}&4rJ=8O&1ot={1ot}&1G=256&1D=256&x={x}&y={y}&3b={3b}&4rI=16f&4rH=16f&9X={"x":\'+d.3B+\',"y":\'+d.5C+"}{2eR}":(l.6C=1g Le,l.1x8=l.10z+"3mN."+l.3mL+\'?18b={18b}&4rJ=8O&1ot={1ot}&1G=256&1D=256&x={x}&y={y}&3b={3b}&4rI=16f&4rH=16f&9X={"x":-5uY.7lT ,"y":5uY.7lS}{2eR}\');d=l.6C.16y.1cZ(f);e=l.6C.16y.1cZ(e);l.7T=1g Q(d.3N,d.4k,e.3N,e.4k)}if(g(b)&&2K.8n(b)&&1<b.1h&&!g(l.17G))if("2eS"!==c&&l.6C 2m Td)l.1U8=b,l.17G=b.1h-1;1s{b=b[b.1h-1];c=l;a:{1j(d=l.1U8.1h;d--;)if(l.1U8[d]<=b){b=d;1W a}b=1p 0}c.17G=b}1s g(l.17G)||(l.17G=l.1U8.1h-1);l.1x8=l.1x8.3X("{18b}",l.27l);l.1x8=l.1x8.3X("{1ot}",l.1ot);g(l.3Q4)&&(l.1x8+="&3Q5={3Q5}");l.3mM&&(l.1x8=l.1x8+"&3mM="+l.3mM);l.7T||(l.7T=m(a.3g,l.6C.3g));l.4y=!0;l.7S.5h(!0)}1b e(a){a="An 7A 1Jq 14p 1Ud "+l.10z+".";p=Lc.1ir(p,l,l.14P,a,1p 0,1p 0,1p 0,b);l.7S.7N(1g qa(a))}a=m(a,{});if(!g(a.2I))1t 1g r("3v.2I is 1X.");1d f=1a.1os=a.2I,h=f.11c(0,f.3f("/1x2"));1a.13Y=f.11c(f.3f("1x2/")+6,f.1h);1d l=1a;(1g Dh({2i:h+1a.13Y})).4b(1b(a){a.1PU(l.13Y)?l.12Y=a:a.1Uc(l.13Y).4b(1b(){l.12Y=a})});1a.17F={1dF:!1,9P:1b(){l.12Y.9P(l.13Y)},1au:[]};1a.3mK=1a.5uX=!1;f=gb(a.2I);1a.1pw=a.2n6;-1<f.3f("26f/1PT")?(1a.3mK=!0,1a.3mM=a.3mM):-1<f.3f("26f/2eB")&&(1a.5uX=!0);1a.10z=f;1a.12o=na.14m(f);1a.27m=g(a.7lR)?2:1;1a.27l=m(a.18b,!0);1a.6X=a.2i||"";1a.1x8=1p 0;1a.14P=1g sa;1a.2Kj="12H";1a.16J=1a.14Q=256;1a.3mL=a.5uV||"12H";1a.1U8=4rG;1a.3Q4=m(a.3Q5,1p 0);1a.1ot=m(a.1ot,!0);1a.1Jp=!1;1a.32x={};1a.32w=1g sx;1a.32u=100;1a.1Ub=0;1a.3Q6=m(a.2eR,"");1a.1jK=m(a.16i,0);1a.17G=a.16j;1a.7T=1p 0;1a.6C=a.8c;if(g(a.8c)&&g(a.8c.1Ua))1j(1a.1U8=[],h=0;h<a.8c.1Ua.1h;h++)1a.1U8[h]=1/a.8c.1Ua[h];1a.2eQ=!1;1a.1nm=a.19b;1a.4rF=m(a.1iJ,B.1PS/ba.9y.17i);1a.2yn="2eS";1a.1g2=a.1x1;h=m(a.9L,5uW);1a.1Gr=m(a.1jc,"");"4n"===2h h&&(h=1g Zb(h));1a.1dh=h;1a.4y=!1;1a.7S=Z.12L();l=1a;1d p;b();1d n=1g 27n};1L.2X(UA.1i,{2I:{1n:1b(){1f 1a.10z}},2i:{1n:1b(){1f 1a.6X},1C:1b(a){1a.6X=a}},1x1:{1n:1b(){1f 1a.1g2},1C:1b(a){1a.1g2=a}},16K:{1n:1b(){if(!1a.4y)1t 1g r("16K 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.14Q}},17g:{1n:1b(){if(!1a.4y)1t 1g r("17g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.16J}},5uV:{1n:1b(){1f 1a.3mL}},2eR:{1n:1b(){1f 1a.3Q6}},16j:{1n:1b(){if(!1a.4y)1t 1g r("16j 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1===1a.1ko?1a.17G:1a.17G-1}},16i:{1n:1b(){if(!1a.4y)1t 1g r("16i 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.1jK}},8c:{1n:1b(){if(!1a.4y)1t 1g r("8c 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.6C}},3g:{1n:1b(){if(!1a.4y)1t 1g r("3g 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1f 1a.7T}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f 1a.4y}},9L:{1n:1b(){1f 1a.1dh}},1mb:{1n:1b(){1f!0}},9c:{1n:1b(){1f 1a.7S}},1iJ:{1n:1b(){1f 1a.4rF},1C:1b(a){1a.4rF=a}},19b:{1n:1b(){1f 1a.1nm}},1ko:{1n:1b(){1f 1a.27m}},13E:{1n:1b(){1f 1a.2eQ},1C:1b(a){1a.2eQ=a}},2n6:{1n:1b(){1f 1a.1pw}},5uU:{1n:1b(){1f 1a.1Jp}},1U6:{1n:1b(){1f 1a.32x}},20C:{1n:1b(){1f 1a.32w}},32v:{1n:1b(){1f 1a.32u}}});UA.1i.1om=1b(a,b,c){};UA.1i.1hQ=1b(a,b,c,d){if(!1a.4y)1t 1g r("1hQ 2Q 2S be 7I 8w 1Z 8v 9Z is 3o.");1d e=4rE(1a,a,b,c);g(Ba.12M)&&(e=g(Ba.12M.1e7[1a.1os])?Ba.1oo(1a.1os,e):Ba.1cl(e));1d f={};g(1a.3Q4)&&(f.3Q5=4H.8s(1a.3Q4));e=1a.12o.16M({2I:e,7M:d,1PR:f});d.1b3=yU(a,b,c);if(1a.1pw===ik.1U9)d.1I=Jd.20D,d.1b3=1a.3mK?1a.1U8[c]+":"+a+":"+b:yU(a,b,c),d.1U7=1a.2I,d.1j8=!0;1s if(1a.1Jp&&(d.1I=Jd.2n5,a=5uT(1a,a,b,c),e.2I=a.2I,d.2Ki=a,d.1b3=yU(a.x,a.y,a.6b),d.1U7=1a.2I,a=1a.1U6[d.1b3],g(a)))1f 1a.20C.1Jo(a),a.2g;1f!0===1a.17F.1dF&&!0===d.1Gc&&g(1a.12Y)&&(d=1a.12Y.20n(1a.13Y,d.1b3),g(d))?Z(d,1b(a){1f g(a)?a:"1so"},1b(a){1f"1so"}):5uS(1a,e)};1d 5uR=/\\.32t$/i,5uQ=/\\.32s$/i,5uP=/\\.5uO$/i;UA.1i.1lk=1b(){};1d CU=1L.3F({5uN:0,5ux:1}),$Va=wb.2Kh,4rB=wb.2Kg,So,5uL={1xT:0,1Cr:1,2bo:3},5uM={2G:0,1xT:1,1Cr:2,2bo:3};1L.2X(em.1i,{1h:{1n:1b(){zU(1a);1f 1a.17T.1h}},3mJ:{1n:1b(){1f 1a.18j},1C:1b(a){1a.18j!==a&&(1a.2eN&&1a.18j&&1a.18j.1M(),1a.18j=a,1a.1jb=!0)}},3Q3:{1n:1b(){1f 1a.2eN},1C:1b(a){1a.2eN=a}}});em.1i.add=1b(a){a=1g wb(a,1a);a.12N=1a.17T.1h;1a.17T.1q(a);1a.1jb=!0;1f a};em.1i.3S=1b(a){1f 1a.8h(a)?(1a.17T[a.12N]=1F,1a.1jb=1a.2eP=!0,a.1sm(),!0):!1};em.1i.7f=1b(){4rz(1a.17T);1a.17T=[];1a.2eO=[];1a.1PQ=0;1a.2eP=!1;1a.1jb=!0};em.1i.4rD=1b(a,b){a.1g6||(1a.2eO[1a.1PQ++]=a);++1a.1vc[b]};em.1i.8h=1b(a){1f g(a)&&a.13d===1a};em.1i.1n=1b(a){if(!g(a))1t 1g r("2P is 1X.");zU(1a);1f 1a.17T[a]};1d fZ,AU=1g bc,QF=[];em.1i.2H=1b(a){zU(1a);1d b=1a.17T,c=b.1h,d=a.1O;So=(1a.1mh=d.2Kf)?5uM:5uL;fZ=1a.1mh?5uK:5uJ;1d e=1a.18j;if(!g(e)){e=1a.18j=1g Om({1O:d});1j(1d f=0;f<c;++f)b[f].2ym()}f=e.8u;if(0!==f.1h){c=a.3z;b=1a.17T;1d h=1a.2eO,l=1a.12t;1a.1jb||1a.8C!==c||c!==O.6G&&!A.2L(l,1a.4a)?(1a.8C=c,A.1y(1a.4a,l),1a.1jb=!0,c!==O.6G&&c!==O.10j&&c!==O.15j||BU(1a,b,b.1h,a,l,!0)):c===O.1at?BU(1a,b,b.1h,a,l,!0):(c===O.10j||c===O.15j)&&BU(1a,h,1a.1PQ,a,l,!1);b=1a.17T;c=b.1h;b=1a.2eO;h=1a.1PQ;l=1a.1vc;e=e.4rC;1d k=1a.1jb||1a.32r!==e;1a.32r=e;e=a.10s;if(k){1a.1jb=!1;1j(k=0;k<4rB;++k)l[k]=0;1a.1aa=1a.1aa&&1a.1aa.1M();if(0<c){l=c;k=1a.1mh;1d n=1a.6y,m=[{2P:So.1xT,2Z:4,3k:I.3O,7Q:xa.7C},{2P:So.1Cr,2Z:4,3k:I.3O,7Q:xa.7C},{2P:So.2bo,2Z:4,3k:I.3O,7Q:xa.7C}];k&&m.1q({2P:So.2G,2Z:2,3k:I.3O,7e:5uI(d)});g(n)&&m.1q({2P:So.1k8,2Z:1,5uH:I.3O,1tF:xa.7C});1a.1aa=1g Of(d,m,k?l:4*l,k);l=1a.1aa.2n4;1j(k=0;k<c;++k){n=1a.17T[k];n.1g6=!1;m=l;4rA(1a,d,f,m,n);m=m[So.2bo];1d q=0,r=0,u=0;g(n.2yl)&&(q=n.2yl.x,r=n.2yl.y,u=n.2yl.z);1a.1mh?(n=n.12N,m(n,q,r,u,0)):(n=4*n.12N,m(n+0,q,r,u,0),m(n+1,q,r,u,0),m(n+2,q,r,u,0),m(n+3,q,r,u,0))}1a.1aa.2wS(fZ(d))}1a.1PQ=0}1s if(0<h){QF.1h=0;l[$Va]&&QF.1q(4rA);k=QF.1h;l=1a.1aa.2n4;if(.1<h/c){1j(n=0;n<h;++n)1j(m=b[n],m.1g6=!1,q=0;q<k;++q)QF[q](1a,d,f,l,m);1a.1aa.2wS(fZ(d))}1s{1j(n=0;n<h;++n){m=b[n];m.1g6=!1;1j(q=0;q<k;++q)QF[q](1a,d,f,l,m);1a.1mh?1a.1aa.32q(m.12N,1):1a.1aa.32q(4*m.12N,4)}1a.1aa.3Q2()}1a.1PQ=0}h>1.5*c&&(b.1h=c);if(g(1a.1aa)&&g(1a.1aa.va)){1a.1Mi&&(1a.1Mi=!1,P.5o(1a.1Mh,1a.4a,1a.2n3));b=A.8K;a.3z===O.6G?(b=1a.4a,f=P.1y(1a.2n3,1a.11S)):f=P.1y(1a.2n2,1a.11S);h=1a.27l!==1a.18b;1a.27l=1a.18b;a:if(l=1a.3mI,k=1a.32o,g(l)&&l.1h===k.1h){1j(n=0;n<k.1h;n++)if(l[n]!=k[n]){l=!0;1W a}l=!1}1s l=!0;1a.3mI=1a.32o;h&&(1a.2n1=pa.4t({9J:{3e:!1,14R:H.1PP},13Q:!1a.27l,12e:Dc.1bQ}));if(h||l)h=1g ja({2N:1a.3mI,5p:["#1z 2tg\\2J 1v 2G;\\n#1u\\2J 1m 1xT;\\2J 1m 1Cr;\\1B 1m 2FZ;\\2J 1m 2bo;\\1J 1m 1Ct;\\1J 1v 2F;\\1r 1rB(1m 4p){\\1P 1Cs = 18a(4p);\\1r 1aT = 11N(1Y(1aB, 1Cs.xy / 9e.zw));\\1U (1aT == 0.0){\\2j 0.0;\\n}\\1P 5Z = 1az(1Cs.xy, 1aT);\\2j 5Z.z / 5Z.w;\\n}\\1P 1Oc(1m 4p, 1v 1cM, 1o 3b, 1v 2G)\\n{\\2u 1xS = 1cM * 3b * 1Xu * 0.5;\\2bn *= ((2G * 2.0) - 1.0);\\1eR.xy += 1xS;\\2j 4p;\\n}\\2s 2k()\\n{\\1R 1Su = 1xT.1H;\\1R 1St = 1Cr.1H;\\1r 3b = 1xT.w;\\2u 8u = 2G;\\2u 1cM = 2FZ.zw;\\1P p = 16e(1Su, 1St);\\1P 4p = 15D * p;\\1r 1HQ = 10.0;\\1r 1aT = 1rB(4p);\\1U (1aT != 0.0 && 4p.z + 1HQ < 1aT)\\n{\\1eR.1H = 1w(0.0);\\n}\\5L{\\1eR = 1Oc(4p, 1cM, 3b, 2G);\\n}\\11u = 17B * 4p;\\1mN = 8u;\\n#1z 10B\\1we();\\n#1u\\3EN = 2bo;\\2u 1xS = 1cM * 3b * 1Xu * 0.5 / 2FZ.xy;\\2bn *= ((2G * 2.0) - 1.0);\\3EN.xy += 1xS;\\n}\\n"]}),1a.1mh&&h.2N.1q("2tg"),l=1g ja({2N:1a.3mI,5p:["#6A 2jD : 5F\\1B 2v 1Xv;\\1B 1m 3fr;\\1B 2v 2jB;\\1B 1m 1wd;\\1B 1w 1Fe;\\1B 1w 1Fd;\\1J 1m 1Ct;\\1J 1v 2F;\\166 3EP(1o 1Ob, 9H 1m 2ti)\\n{\\1r 1k6 = 1wd.x;\\1r 1bj = 1wd.y;\\1r 24R = 1wd.z;\\1r 24S = 1wd.w;\\3EQ = 1m(1.0);\\1r 2tj = 1k6 + 1Ob * (1bj - 1k6);\\1U(2tj > 24S || 2tj < 24R)\\n{\\2j 16f;\\n}\\n#1z 3fs\\3EQ = 1Y(2jB,  1v(0.0, 1.0 - 2tj)).15A;\\n#1u\\2j 8O;\\n}\\2s 2k()\\n{\\1P 1A = 1Y(1Xv, 2F);\\6p = 9D(1A);\\1U (1A.a < 0.1Am)\\n{\\10W;\\n}\\n#1z 4gt\\1U(1Ct.x > 1Fe.x || 1Ct.x < 1Fd.x\\n|| 1Ct.y > 1Fe.y || 1Ct.y < 1Fd.y\\n|| 1Ct.z > 1Fe.z || 1Ct.z < 1Fd.z)\\n{\\10W;\\n}\\n#1u\\1P 1O2 = 1m(1.0);\\1r 1mI;\\1r 1Ob = 2b8(1Ct.1H, 1mI);\\1P 2ti = 1m(1.0);\\1U(!3EP(1Ob, 2ti))\\n{\\10W;\\n}\\n#1z 3fs\\2TW = 2ti;\\n#1s\\1r 2jC = 1Ob * 40.0 - 30.0;\\1R 3EO = 3fr.2y * 3r(2.0, 2jC);\\2TW.2y = 3EO;\\n#1u\\6p.2y *= 1O2.2y;\\1ri();\\n#1z 2th\\1R Ci = 1A.2y * 1A.a;\\1r ai = 1A.a;\\1r 1Ff = 2jv(ai);\\2bp[0] = 1m(Ci * 1Ff, ai);\\2bp[1] = 1m(ai * 1Ff);\\n#1s\\3R = 1A;\\n#1u\\n}\\n"]}),1a.27l&&l.2N.1q("2th"),1a.11V=Ga.1sw({1O:d,2z:1a.11V,5O:h,5A:l,7W:So});a=a.13l;if(e.3t||e.11P)1j(d=1a.27k,e=1a.1aa.va,h=e.1h,l=1a.1dg,d.1h=h,k=0;k<h;++k)n=d[k],g(n)||(n=d[k]=1g Oa),n.6t=ma.2Ke,n.6W=f,n.4a=b,n.7Z=e[k].1Jn,n.2z=1a.11V,n.4J=l,n.4c=e[k].va,n.4w=1a.2n1,n.15S=1a.15S,1a.1mh&&(n.7Z=6,n.1gC=c),a.1q(n)}}};em.1i.3Z=1b(){1f!1};em.1i.1M=1b(){g(1a.1lm)&&(1a.1lm(),1a.1lm=1p 0);1a.18j=1a.2eN&&1a.18j&&1a.18j.1M();1a.11V=1a.11V&&1a.11V.1M();1a.1aa=1a.1aa&&1a.1aa.1M();4rz(1a.17T);1f la(1a)};1L.2X(Xg.1i,{1bj:{1n:1b(){1f 1a.3mH}},1k6:{1n:1b(){1f 1a.1oq}},3Q1:{1n:1b(){1f 1a.27j},1C:1b(a){1a.27j=a}}});Xg.1i.5uG=1b(a,b,c,d){1d e=1a.1U5*1a.1U5*4,f=2K(e);f.4K(0);1j(1d h=c-b,g=b,m=0;m<a.z;m++)1j(1d n=8A(m/1a.2yk)*1a.2eM,q=m%1a.2yk*1a.2eM,r=0;r<1a.2eM-2;r++)1j(1d u=0;u<1a.2eM-2;u++){1d v=m*a.y*a.x+(a.y-1-1k.2o(r,a.y-1))*a.x+1k.2o(u,a.x-1),t=d[v];v=1g E(0,0,0,0);if(-1Ax!=t){t<b||t>c?t=g:g=t;1d y=t=(t-b)/h;t=1g k(1,255,1C7);t=k.4g(t,y,t);t.x-=1k.2t(t.x);t.y-=1k.2t(t.y);t.z-=1k.2t(t.z);y=1g k;1d A=1g k(1/255,1/255,0);y.x=t.y*A.x;y.y=t.z*A.y;y.z=t.z*A.z;t=k.3V(t,y,t);v.x=t.x;v.y=t.y;v.z=t.z;v.w=1}t=255*v.x;y=255*v.y;A=255*v.z;1d B=255*v.w;v=(n+r)*1a.1U5+q+u;f[4*v]=8A(t);f[4*v+1]=8A(y);f[4*v+2]=8A(A);f[4*v+3]=8A(B)}1f 1g 4L(f,0,e)};Xg.1i.5uD=1b(a){1d b=a.1Pg,c=a.3J;a={};1j(1d d=0;d<b.6e.1h;d++)a[b.6e[d].2i]=b.6e[d].4V;b=[];1d e;d=3a.1Mg;1d f=3a.6w;1a.2eL=m(a.6q,1);1j(e=0;e<1a.2eL;e++)b[e]=[];1j(1d h=0;h<a.x;h++)1j(1d g=0;g<a.y;g++)1j(1d k=0;k<a.z;k++)1j(e=0;e<1a.2eL;e++){1d n=c.7lQ();7lP<n&&(n=0);d=1k.1V(d,n);f=1k.2o(f,n);b[e][k*a.x*a.y+g*a.x+h]=n}1a.1oq=f;1a.3mH=d;a.z=4;1a.4rw=a.x;1a.4rv=a.y;1a.4ru=a.z;1a.2yk=1k.8a(1k.3Y(a.z));1a.2eM=1k.1V(a.x,a.y)+2;1j(c=1;c<1a.2eM*1a.2yk-2;)c<<=1;1a.1U5=c;c=[];1j(e=0;e<1a.2eL;e++)c.1q(1a.5uG(a,f,d,b[e]));1f c};Xg.1i.5uC=1b(a){1j(1d b=a.1h,c=0;c<b;c++){1d d=1g Ca({1O:1a.4j,1G:1a.1U5,1D:1a.1U5,8b:ua.9m,13E:!1});d.1iq({1G:1a.1U5,1D:1a.1U5,1a9:a[c]});1a.1yR.1q(d)}};Xg.1i.5uB=1b(){1d a=1g k(.5*(1a.18x.4o+1a.18x.5a),.5*(1a.18x.4P+1a.18x.4C),1a.1fy.x);1a.5uF=k.8g(a.x,a.y,a.z);a=1g $b;1a.2n0=1g A;Da.1nq(1a.5uF,a,ba.9y,Da.18N,1a.2n0);1a.4ry=1g A;A.12Z(1a.2n0,1a.4ry);a=[];a[0]=k.8g(1a.18x.4o,1a.18x.4C,1a.1fy.x);a[1]=k.8g(1a.18x.5a,1a.18x.4C,1a.1fy.x);a[2]=k.8g(1a.18x.5a,1a.18x.4P,1a.1fy.x);a[3]=k.8g(1a.18x.4o,1a.18x.4P,1a.1fy.x);a[4]=k.8g(1a.18x.4o,1a.18x.4C,1a.1fy.y);a[5]=k.8g(1a.18x.5a,1a.18x.4C,1a.1fy.y);a[6]=k.8g(1a.18x.5a,1a.18x.4P,1a.1fy.y);a[7]=k.8g(1a.18x.4o,1a.18x.4P,1a.1fy.y);1a.2Kd=k.3s(a[1],a[0]);1a.1U4=k.3s(a[3],a[0]);1a.32p=k.3s(a[4],a[0]);1a.5V=1g P;A.8P(1a.2n0,k.6h,1a.5V.2V);1a.5V.3L=.5*1k.3Y(1a.2Kd*1a.2Kd+1a.1U4*1a.1U4+1a.32p*1a.32p)};Xg.1i.5uA=1b(a){g(1a.13d)||(1a.13d=1g em({4a:1a.2n0,32o:4rt(1a,a)}));a=1k.2t(1a.2Kd/1a.1U4*100);1j(1d b=(1a.18x.5a-1a.18x.4o)/a,c=(1a.18x.4P-1a.18x.4C)/100,d=0;d<a;d++)1j(1d e=b*(.5+d)+1a.18x.4o,f=0;100>f;f++)1j(1d h=c*(.5+f)+1a.18x.4C,l=0;16>l;l++){1d m=(2*d+1)/(2*a),n=(2*f+1)/200,q=(2*l+1)/32,r=1g k(e,h,1a.32p*(l/16+(l+1)/16)*.5);r=k.8g(r.x,r.y,r.z);A.8P(1a.4ry,r,r);m=1g k(m,n,q);1a.4rx=cb("1ja/1or/5uE.12H");1a.13d.add({1K:r,2bo:m,4d:1a.4rx,1jC:!0})}};Xg.1i.5uz=1b(){1d a=I.9g(I.3O,12),b=I.9g(I.3O,12),c=I.9g(I.3O,12);a[0]=0;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=1;a[8]=0;a[9]=0;a[10]=1;a[11]=1;b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=1;b[6]=1;b[7]=0;b[8]=0;b[9]=1;b[10]=0;b[11]=1;c[0]=0;c[1]=0;c[2]=0;c[3]=0;c[4]=1;c[5]=0;c[6]=1;c[7]=0;c[8]=0;c[9]=1;c[10]=1;c[11]=0;1d d=Ra.12S({1O:1a.4j,5b:a,7Q:xa.7C}),e=Ra.12S({1O:1a.4j,5b:b,7Q:xa.7C}),f=Ra.12S({1O:1a.4j,5b:c,7Q:xa.7C});c=[];b=[];a=[];1d h=1a.12m;h.4f=0;c.1q({2P:h.4f,7e:d,2Z:3,3k:I.3O,9n:0,9t:3*4A.12T,1T:!1});b.1q({2P:h.4f,7e:e,2Z:3,3k:I.3O,9n:0,9t:3*4A.12T,1T:!1});a.1q({2P:h.4f,7e:f,2Z:3,3k:I.3O,9n:0,9t:3*4A.12T,1T:!1});h.7s=1;c.1q({2P:h.7s,7e:d,2Z:3,3k:I.3O,9n:0,9t:3*4A.12T,1T:!1});b.1q({2P:h.7s,7e:e,2Z:3,3k:I.3O,9n:0,9t:3*4A.12T,1T:!1});a.1q({2P:h.7s,7e:f,2Z:3,3k:I.3O,9n:0,9t:3*4A.12T,1T:!1});d=I.9g(I.10P,6);d[0]=0;d[1]=1;d[2]=2;d[3]=1;d[4]=2;d[5]=3;d=Ra.17Q({1O:1a.4j,5b:d,7Q:xa.7C,17P:Ta.10P});e=1g ja({5p:["3Q 1m 4f;\\2J 1w 7s;\\1J 1m 6r;\\1J 1m 2Uo;\\n#1z 1wc\\1J 1m 8l;\\n#1u\\1B 5w 1rA;\\1B 1w 2jy;\\1B 1w 3b;\\1B 1w 1HP;\\2s 2k()\\n{\\1R 24Q = 4f.1H + 1HP;\\1R 3h = 1w((24Q.x-0.5)*2jy.x, (24Q.y-0.5)*2jy.y, 24Q.z*2jy.z);\\5b8 = 3b * 3h;\\n#1z 1wc\\3EK.1H = 3h;\\3EK.w = 0.0;\\n#1u\\11u = 11o * 1m(3h, 1.0);\\2Un = 1rA*1m(24Q.1H, 1.0);\\5b7 = 1rA*1m(7s + 1HP, 1.0);\\n}\\n"]});f=1g ja({5p:["3G 1m 6r;\\1J 1m 2Uo;\\1B 2v 2jB;\\1B 1m 1wd;\\1B 1w 1Fe;\\1B 1w 1Fd;\\1B 1o 2tf;\\1P 3fq(1w 3h)\\n{\\1U(6r.x > 1Fe.x || 6r.x < 1Fd.x\\n|| 6r.y > 1Fe.y || 6r.y < 1Fd.y\\n|| 6r.z > 1Fe.z || 6r.z < 1Fd.z)\\n{\\10W;\\n}\\1r 1k6 = 1wd.x;\\1r 1bj = 1wd.y;\\1r 24R = 1wd.z;\\1r 24S = 1wd.w;\\1r 1mI;\\1r 1Q = 2b8(3h, 1mI);\\1P 1A = 1m(1.0,1.0,1.0,1Q);\\1ak = 1k6 + 1Q * (1bj - 1k6);\\1U(1Q > 24S || 1Q < 24R)\\n{\\10W;\\n}\\1ak = (1Q - 1k6) / (1bj - 1k6);\\1ak = 2Y(1Q, 0.0, 1.0);\\1r y = 2t(1Q * 15.0)/15.0;\\1r x = 8N(1Q*15.0);\\2u 1kR = 1v(x, 1.0-y);\\6p = 1Y(2jB, 1kR).15A;\\2j 1A;\\n}\\2s 2k()\\n{\\1R 3EM = 6r.1H;\\1U(1rr > 0.5)\\n{\\5be = 2Uo.1H;\\n}\\3R = 3fq(3EM);\\3R.a = 2tf;\\3R = 9D(2C);\\n}\\n"]});e.2N.1q("1Cj");f.2N.1q("1Cj");1<1a.2eL&&f.2N.1q("2TH");1a.1Mf=1g Oa({6Z:Ja.11G,4a:1a.2n0,6W:1a.5V,6t:ma.18W,8d:!0});1a.27i=1g Oa({6Z:Ja.11G,4a:1a.2n0,6W:1a.5V,6t:ma.18W,8d:!0});1a.27h=1g Oa({6Z:Ja.11G,4a:1a.2n0,6W:1a.5V,6t:ma.18W,8d:!0});1a.1Mf.4c=1g Fb({1O:1a.4j,2w:c,10X:d});1a.27i.4c=1g Fb({1O:1a.4j,2w:b,10X:d});1a.27h.4c=1g Fb({1O:1a.4j,2w:a,10X:d});1a.1Mf.2z=Ga.4t({1O:1a.4j,5O:e,5A:f,7W:h});1a.27i.2z=1a.1Mf.2z;1a.27h.2z=1a.1Mf.2z;1a.1Mf.4w=pa.4t({8d:{3e:!1},9J:{3e:!0},13Q:{3e:!0}});1a.27i.4w=1a.1Mf.4w;1a.27h.4w=1a.1Mf.4w};1d RF=1g E,vN=1g k,SF=1g E;Xg.1i.5uy=1b(a){1d b=1a,c={1rA:1b(){1f A.8K},1G:1b(){1f b.4rw},1D:1b(){1f b.4rv},4e:1b(){1f b.4ru},1um:1b(){1f b.2yk},1HM:1b(){1f b.2eM},1HL:1b(){1f b.1U5},1Fe:1b(){1f b.27j.1PO},1Fd:1b(){1f b.27j.1PN},1wd:1b(){SF.x=b.1oq;SF.y=b.3mH;SF.z=a.3mE;SF.w=a.3mF;1f SF},1KU:1b(){1f b.1yR[b.2mZ]},3f2:1b(){1d a=b.2mZ+1;b.2mZ+1==b.2eL&&(a=b.2mZ);1f b.1yR[a]},3f1:1b(){1f a.3PZ},2jB:1b(){1f g(a.1dk)?a.1dk:b.4j.1np},2tf:1b(){1f a.3mG},2jy:1b(){vN.x=b.2Kd;vN.y=b.1U4;vN.z=b.32p;1f vN},3b:1b(){1f a.13V},1rr:1b(){1f a.1B9},2FZ:1b(){RF.x=b.2Kd;RF.y=b.1U4;RF.z=a.3mD.x;RF.w=a.3mD.y;1f RF},3fr:1b(){1f a.7a}};g(1a.13d)&&(1a.13d.1dg=fb(c,1a.13d.1dg));1a.1Mf.4J=fb(c,{1HP:1b(){1f 1g k(a.32n.x,0,0)}});1a.27i.4J=fb(c,{1HP:1b(){1f 1g k(0,a.32n.y,0)}});1a.27h.4J=fb(c,{1HP:1b(){1f 1g k(0,0,a.32n.z)}})};Xg.1i.9s=1b(a,b){g(1a.13d)||(b=1a.5uD(b),1a.5uC(b),1a.5uB(),1a.5uA(a),1a.5uz(),1a.5uy(a),1a.1PM=!0)};Xg.1i.2H=1b(a,b){a.3Q0===CU.5ux?(g(1a.1Mf)&&b.13l.1q(1a.1Mf),g(1a.27i)&&b.13l.1q(1a.27i),g(1a.27h)&&b.13l.1q(1a.27h)):g(1a.13d)&&(1a.13d.32o=4rt(1a,a),1a.13d.7lO=a.3PP,1a.13d.2H(b));1<1a.2eL?(a.3PY&&1a.2mZ++,1a.2mZ==1a.2eL&&(1a.2mZ=0)):1a.2mZ=0};Xg.1i.3PX=1b(a){1a.18x=a};Xg.1i.3PW=1b(a){1a.1fy=a};Xg.1i.5uw=1b(a){g(1a.13d)&&(1a.13d.18b=.99>a.2mY)};Xg.1i.7lN=1b(a,b,c,d){if(g(a)){1d e=1a.4j,f=a.2z.5A,h=a.2z.5O;b&&4rs(h,d);c&&4rs(f,d);a.2z.1M();a.2z=Ga.4t({1O:e,5O:h,5A:f,7W:1a.12m})}};Xg.1i.7lM=1b(a,b,c,d){if(g(a)){1d e=1a.4j,f=a.2z.5A,h=a.2z.5O;b&&4rr(h,d);c&&4rr(f,d);a.2z.1M();a.2z=Ga.4t({1O:e,5O:h,5A:f,7W:1a.12m})}};Xg.1i.3Z=1b(){1f!1};Xg.1i.1M=1b(){1j(1d a=1a.1yR.1h,b=0;b<a;b++)1a.1yR[b].1M();g(1a.1a.1Mf)&&(1a.1a.1Mf.1M(),1a.1a.1Mf=1p 0);g(1a.1a.27i)&&(1a.1a.27i.1M(),1a.1a.27i=1p 0);g(1a.1a.27h)&&(1a.1a.27h.1M(),1a.1a.27h=1p 0);g(1a.13d)&&(1a.13d.1M(),1a.13d=1p 0);1f la(1a)};1L.2X(Gq.1i,{13z:{1n:1b(){1f 1a.1br},1C:1b(a){1a.1br=a}},1I:{1n:1b(){1f 1a.1b4}},1TW:{1n:1b(){1f 1a.1DQ},1C:1b(a){1a.1DQ=a}},5uv:{1n:1b(){1f 1a.1fy},1C:1b(a){1a.1fy=a}},2i:{1n:1b(){1f 1a.6X}},24S:{1n:1b(){1f 1a.3mF},1C:1b(a){1a.3mF=a}},24R:{1n:1b(){1f 1a.3mE},1C:1b(a){1a.3mE=a}},2mY:{1n:1b(){1f 1a.3mG},1C:1b(a){1a.3mG!==a&&(1a.3mG=a,1a.5us({7r:1a,2mY:a},5uu))}},1x7:{1n:1b(){1f 1a.1B9},1C:1b(a){1a.1B9!==a&&(1a.1B9=a)}},1bj:{1n:1b(){1f 1a.1Me.1bj}},1k6:{1n:1b(){1f 1a.1Me.1k6}},3Q1:{1n:1b(){1f 1a.1Me.3Q1},1C:1b(a){1a.1Me.3Q1=a}},3b:{1n:1b(){1f 1a.13V},1C:1b(a){1a.13V=a}},7lL:{1n:1b(){1f 1a.3Q0},1C:1b(a){1a.3Q0=a}},7lK:{1n:1b(){1f 1a.32n},1C:1b(a){1a.32n=a}},5ut:{1n:1b(){1f 1a.2mX},1C:1b(a){1a.2mX!==a&&(1a.2mX=a)}},25i:{1n:1b(){1f 1a.17h},1C:1b(a){if(g(a))if(1a.17h=bh.1y(a,1a.17h),a=1a.17h.7Z(),1>a)1a.2mW=0;1s{1a.17h.2yj();g(1a.1dk)||(1a.1dk=1g Ca({1O:1a.4j,1G:13j,1D:64,8b:ua.9m,13E:!1}));1a.1dk.1iq({1G:13j,1D:64,1a9:1a.17h.1sv});1a.2mW=1;1d b=0,c=0,d=1a.17h.2eK(0);g(d)&&g(d.1eD)&&(b=7L(d.1eD));d=1a.17h.2eK(a-1);g(d)&&g(d.1eD)&&(c=7L(d.1eD));1a.3mF=1k.1V(b,c);1a.3mE=1k.2o(b,c)}1s g(1a.17h)&&(1a.17h.1M(),1a.17h=1F),1a.2mW=0}},1A:{1n:1b(){1f 1a.7a},1C:1b(a){1a.7a=a}},2eJ:{1n:1b(){1f 1a.2Kc},1C:1b(a){1a.2Kc=a}},1cM:{1n:1b(){1f 1a.3mD},1C:1b(a){1a.3mD=a}}});Gq.1i.2H=1b(a,b,c){1a.1br&&(1a.3PY=!1,a=1bR.14H(),c=a-1a.4rq,1a.3PZ=c/1a.1x6,c>1a.1x6&&(1a.4rq=a,1a.3PZ=0,1a.3PY=!0),g(1a.1Me)&&(1a.1Me.1PM||(1a.1Me.3PX(1a.1DQ),1a.1Me.3PW(1a.1fy),1a.1Me.9s(1a,1a.2JP)),1a.1Me.2H(1a,b)))};Gq.1i.3t=1b(a,b){};Gq.1i.1fU=1b(a,b){};Gq.1i.3Z=1b(){1f!1};Gq.1i.1M=1b(){g(1a.17h)&&(1a.17h.1M(),1a.17h=1F);g(1a.1dk)&&(1a.1dk.1M(),1a.1dk=1F);g(1a.1Me)&&(1a.1Me.1M(),1a.1Me=1p 0);1f la(1a)};Gq.1i.5us=1b(a,b){b(1a.1Me,a)};1L.2X(FD.1i,{2p:{1n:1b(){1f 1a.10T},1C:1b(a){v.2l("3JI 2p",a);1a.10T=a}},3L:{1n:1b(){1f 1a.1fx},1C:1b(a){v.2l("3JI 3L",a);if(1a.1fx!==a){1d b=1a.10u;g(b)&&(b.4c=b.4c&&b.4c.1M(),b.2z=b.2z&&b.2z.1M());1a.5W=ba.1mg(1g k(1a.1fx,1a.1fx,1a.1fx))}1a.1fx=a}},3c:{1n:1b(){1f 1a.5W}},1rL:{1n:1b(){1f 1a.27g},1C:1b(a){v.2l("3JI 1rL",a);1a.27g=a}}});FD.1i.2H=1b(a){1d b=a.3w.19I.1D;if(1a.10T&&a.10s.3t&&!(1E4<b)&&(b=a.3z,b===O.6G||b===O.1at)){b=1a.10u;1d c=1a;if(!g(b.4c)){a=a.1O;1d d=$e.14t(1g $e({10N:1g k(1a.1fx,1a.1fx,1a.1fx),1in:256,1im:256,9S:za.1Gd}));b.4c=Fb.1M5({1O:a,3y:d,7W:Sc.2JJ(d),1tF:xa.7C});b.4w=pa.4t({8d:{3e:!0}});b.4J={4rp:1b(){1f c.27g}};d=1g ja({5p:["3Q 1m 1K;\\2s 2k(1p)\\n{\\11u = 11o * 1K;\\n}"]});1d e=1g ja({5p:["2n 1m 4rp;\\2s 2k (1p)\\n{\\3R = 4rp;\\n}"]});b.2z=Ga.4t({1O:a,5O:d,5A:e})}1f b}};FD.1i.1M=1b(){1d a=1a.10u;a.4c=a.4c&&a.4c.1M();a.2z=a.2z&&a.2z.1M();1f la(1a)};1d Bz=1b(a){1b b(a){1b l(a,b){1d c,d,e,h,g=1a;if(!(g 2m l))1f 1g l(a,b);if(1F==b){if(a&&!0===a.4rj){g.s=a.s;!a.c||a.e>F?g.c=g.e=1F:a.e<E?g.c=[g.e=0]:(g.e=a.e,g.c=a.c.4h());1f}if((e="2b"==2h a)&&0==0*a){g.s=0>1/a?(a=-a,-1):1;if(a===~~a){1d k=0;1j(d=a;10<=d;d/=10,k++);k>F?g.c=g.e=1F:(g.e=k,g.c=[a]);1f}1d m=10J(a)}1s{if(!n.6S(m=10J(a)))1f P(g,m,e);g.s=45==m.19a(0)?(m=m.4h(1),-1):1}-1<(k=m.3f("."))&&(m=m.3X(".",""));0<(d=m.1qs(/e/i))?(0>k&&(k=d),k+=+m.4h(d+1),m=m.11c(0,d)):0>k&&(k=m.1h)}1s{f(b,2,oa.1h,"4rk");if(10==b)1f g=1g l(a),x(g,A+g.e+1,B);m=10J(a);if(e="2b"==2h a){if(0!=0*a)1f P(g,m,e,b);g.s=0>1/a?(m=m.4h(1),-1):1;if(l.2V7&&15<m.3X(/^0\\.0*|\\./,"").1h)1t 6u("[1B8 6u] 3a 9k 14d 1v5 6L 15 2sg 2mV: "+a);}1s g.s=45===m.19a(0)?(m=m.4h(1),-1):1;1d p=oa.4h(0,b);k=d=0;1j(h=m.1h;d<h;d++)if(0>p.3f(c=m.1as(d))){if("."==c){if(d>k){k=h;1aJ}}1s if(!t&&(m==m.1G9()&&(m=m.18v())||m==m.18v()&&(m=m.1G9()))){1d t=!0;d=-1;k=0;1aJ}1f P(g,10J(a),e,b)}e=!1;m=M(m,b,10,g.s);-1<(k=m.3f("."))?m=m.3X(".",""):k=m.1h}1j(d=0;48===m.19a(d);d++);1j(h=m.1h;48===m.19a(--h););if(m=m.4h(d,++h)){h-=d;if(e&&l.2V7&&15<h&&(3PS<a||a!==r(a)))1t 6u("[1B8 6u] 3a 9k 14d 1v5 6L 15 2sg 2mV: "+g.s*a);if((k=k-d-1)>F)g.c=g.e=1F;1s if(k<E)g.c=[g.e=0];1s{g.e=k;g.c=[];d=(k+1)%14;0>k&&(d+=14);if(d<h){d&&g.c.1q(+m.4h(0,d));1j(h-=14;d<h;)g.c.1q(+m.4h(d,d+=14));d=14-(m=m.4h(d)).1h}1s d-=h;1j(;d--;m+="0");g.c.1q(+m)}}1s g.c=[g.e=0]}1b p(a,b,c,e){1F==c?c=B:f(c,0,8);if(!a.c)1f a.5s();1d h=a.c[0];1d n=a.e;if(1F==b){1d m=d(a.c);m=1==e||2==e&&(n<=D||n>=C)?g(m,n):k(m,n,"0")}1s{a=x(1g l(a),b,c);c=a.e;m=d(a.c);1d p=m.1h;if(1==e||2==e&&(b<=c||c<=D)){1j(;p<b;m+="0",p++);m=g(m,c)}1s if(b-=n,m=k(m,c,"0"),c+1>p){if(0<--b)1j(m+=".";b--;m+="0");}1s if(b+=c-p,0<b)1j(c+1==p&&(m+=".");b--;m+="0");}1f 0>a.s&&h?"-"+m:m}1b t(a,b){1j(1d c,d=1,e=1g l(a[0]);d<a.1h;d++)if(c=1g l(a[d]),c.s)b.4G(e,c)&&(e=c);1s{e=c;1W}1f e}1b w(a,b,c){1j(1d d=1,e=b.1h;!b[--e];b.9l());1j(e=b[0];10<=e;e/=10,d++);(c=d+14*c-1)>F?a.c=a.e=1F:c<E?a.c=[a.e=0]:(a.e=c,a.c=b);1f a}1b x(a,b,c,d){1d e,f,h=a.c,g=u;if(h){a:{1d l=1;1j(e=h[0];10<=e;e/=10,l++);1d k=b-l;if(0>k){k+=14;1d n=b;1d m=h[f=0];e=m/g[l-n-1]%10|0}1s if(f=q((k+1)/14),f>=h.1h)if(d){1j(;h.1h<=f;h.1q(0));m=e=0;l=1;k%=14;n=k-14+1}1s 1W a;1s{m=e=h[f];1j(l=1;10<=e;e/=10,l++);k%=14;n=k-14+l;e=0>n?0:m/g[l-n-1]%10|0}d=d||0>b||1F!=h[f+1]||(0>n?m:m%g[l-n-1]);d=4>c?(e||d)&&(0==c||c==(0>a.s?3:2)):5<e||5==e&&(4==c||d||6==c&&(0<k?0<n?m/g[l-n]:0:h[f-1])%10&1||c==(0>a.s?8:7));if(1>b||!h[0])1f h.1h=0,d?(b-=a.e+1,h[0]=g[(14-b%14)%14],a.e=-b||0):h[0]=a.e=0,a;0==k?(h.1h=f,e=1,f--):(h.1h=f+1,e=g[14-k],h[f]=0<n?r(m/g[l-n]%g[n])*e:0);if(d)1j(;;)if(0==f){k=1;1j(n=h[0];10<=n;n/=10,k++);n=h[0]+=e;1j(e=1;10<=n;n/=10,e++);k!=e&&(a.e++,1Md==h[0]&&(h[0]=1));1W}1s{h[f]+=e;if(1Md!=h[f])1W;h[f--]=0;e=1}1j(k=h.1h;0===h[--k];h.9l());}a.e>F?a.c=a.e=1F:a.e<E&&(a.c=[a.e=0])}1f a}1b z(a){1d b=a.e;if(1F===b)1f a.5s();1d c=d(a.c);c=b<=D||b>=C?g(c,b):k(c,b,"0");1f 0>a.s?"-"+c:c}1d v=l.1i={7m:l,5s:1F,3mB:1F},y=1g l(1),A=20,B=4,D=-7,C=21,E=-1E7,F=1E7,da=!1,H=1,I=0,J={2mU:"",5ug:3,5uf:0,5ue:",",5ud:".",5uc:0,5ub:"\\7lJ",2K9:""},oa="7lI";l.1y=b;l.7lH=0;l.7lG=1;l.7lF=2;l.7lE=3;l.7lD=4;l.7lC=5;l.7lB=6;l.7lA=7;l.7lz=8;l.7ly=9;l.1nn=l.1C=1b(a){1d b;if(1F!=a)if("2c"==2h a){if(a.3p(b="5ur")){1d c=a[b];f(c,0,1E9,b);A=c}a.3p(b="5uq")&&(c=a[b],f(c,0,8,b),B=c);a.3p(b="5up")&&((c=a[b])&&c.9l?(f(c[0],-1E9,0,b),f(c[1],0,1E9,b),D=c[0],C=c[1]):(f(c,-1E9,1E9,b),D=-(C=0>c?-c:c)));if(a.3p(b="5uo"))if((c=a[b])&&c.9l)f(c[0],-1E9,-1,b),f(c[1],1,1E9,b),E=c[0],F=c[1];1s if(f(c,-1E9,1E9,b),c)E=-(F=0>c?-c:c);1s 1t 6u("[1B8 6u] "+b+" 1il be 16m: "+c);if(a.3p(b="5un"))if(c=a[b],c===!!c)if(c)if("7w"!=2h 20B&&20B&&(20B.3PU||20B.3PT))da=c;1s 1t da=!c,6u("[1B8 6u] 20B 3mC");1s da=c;1s 1t 6u("[1B8 6u] "+b+" 2S 8O or 16f: "+c);a.3p(b="5um")&&(c=a[b],f(c,0,9,b),H=c);a.3p(b="5ul")&&(c=a[b],f(c,0,1E9,b),I=c);if(a.3p(b="3PV"))if(c=a[b],"2c"==2h c)J=c;1s 1t 6u("[1B8 6u] "+b+" 2S an 2c: "+c);if(a.3p(b="5uk")){c=a[b];if("4n"!=2h c||/^.$|[+-.\\s]|(.).*\\1/.6S(c))1t 6u("[1B8 6u] "+b+" 16w: "+c);oa=c}}1s 1t 6u("[1B8 6u] 1L 1SV: "+a);1f{5ur:A,5uq:B,5up:[D,C],5uo:[E,F],5un:da,5um:H,5ul:I,3PV:J,5uk:oa}};l.7lx=1b(a){if(!a||!0!==a.4rj)1f!1;if(!l.2V7)1f!0;1d b=a.c;1d c=a.e;1d d=a.s;a:if("[2c 2K]"=={}.5s.4G(b)){if((1===d||-1===d)&&-1E9<=c&&1E9>=c&&c===r(c))if(0===b[0]){if(0===c&&1===b.1h)1f!0}1s if(c=(c+1)%14,1>c&&(c+=14),10J(b[0]).1h==c){1j(c=0;c<b.1h;c++){1d e=b[c];if(0>e||1Md<=e||e!==r(e))1W a}if(0!==e)1f!0}}1s if(1F===b&&1F===c&&(1F===d||1===d||-1===d))1f!0;1t 6u("[1B8 6u] 13H 1B8: "+a);};l.14S=l.1V=1b(){1f t(5m,v.lt)};l.13b=l.2o=1b(){1f t(5m,v.gt)};l.1ps=1b(){1d a=5ui*1k.1ps()&5uj?1b(){1f r(5ui*1k.1ps())}:1b(){1f 2Kb*(7lw*1k.1ps()|0)+(2Kb*1k.1ps()|0)};1f 1b(b){1d c,d=0,e=[],h=1g l(y);1F==b?b=A:f(b,0,1E9);1d g=q(b/14);if(da)if(20B.3PU){1j(c=20B.3PU(1g 12X(g*=2));d<g;){1d k=2Ka*c[d]+(c[d+1]>>>11);4ro<=k?(k=20B.3PU(1g 12X(2)),c[d]=k[0],c[d+1]=k[1]):(e.1q(k%1Md),d+=2)}d=g/2}1s if(20B.3PT){1j(c=20B.3PT(g*=7);d<g;)k=7lv*(c[d]&31)+7lu*c[d+1]+1AW*c[d+2]+1C6*c[d+3]+(c[d+4]<<16)+(c[d+5]<<8)+c[d+6],4ro<=k?20B.3PT(7).1hI(c,d):(e.1q(k%1Md),d+=7);d=g/7}1s 1t da=!1,6u("[1B8 6u] 20B 3mC");if(!da)1j(;d<g;)k=a(),4ro>k&&(e[d++]=k%1Md);g=e[--d];b%=14;g&&b&&(k=u[14-b],e[d]=r(g/k)*k);1j(;0===e[d];e.9l(),d--);if(0>d)e=[b=0];1s{1j(b=-1;0===e[0];e.6z(0,1),b-=14);d=1;1j(k=e[0];10<=k;k/=10,d++);14>d&&(b-=14-d)}h.e=b;h.c=e;1f h}}();l.3fw=1b(){1j(1d a=1,b=5m,c=1g l(b[0]);a<b.1h;)c=c.2eI(b[a++]);1f c};1d M=1b(){1b a(a,b,c,d){1j(1d e,f=[0],h=0,g=a.1h;h<g;){1j(e=f.1h;e--;f[e]*=b);f[0]+=d.3f(a.1as(h++));1j(e=0;e<f.1h;e++)f[e]>c-1&&(1F==f[e+1]&&(f[e+1]=0),f[e+1]+=f[e]/c|0,f[e]%=c)}1f f.1e1()}1f 1b(b,c,e,f,h){1d g,n=b.3f("."),m=A,p=B;if(0<=n){1d t=I;I=0;b=b.3X(".","");1d q=1g l(c);1d r=q.3r(b.1h-n);I=t;q.c=a(k(d(r.c),r.e,"0"),10,e,"4rn");q.e=q.c.1h}h=a(b,c,e,h?(g=oa,"4rn"):(g="4rn",oa));1j(c=t=h.1h;0==h[--t];h.9l());if(!h[0])1f g.1as(0);if(0>n)--c;1s{r.c=h;r.e=c;r.s=f;r=N(r,q,m,p,e);h=r.c;1d w=r.r;c=r.e}b=c+m+1;n=h[b];t=e/2;w=w||0>b||1F!=h[b+1];w=4>p?(1F!=n||w)&&(0==p||p==(0>r.s?3:2)):n>t||n==t&&(4==p||w||6==p&&h[b-1]&1||p==(0>r.s?8:7));if(1>b||!h[0])b=w?k(g.1as(1),-m,g.1as(0)):g.1as(0);1s{h.1h=b;if(w)1j(--e;++h[--b]>e;)h[b]=0,b||(++c,h=[1].9V(h));1j(t=h.1h;!h[--t];);n=0;1j(b="";n<=t;b+=g.1as(h[n++]));b=k(b,c,g.1as(0))}1f b}}();1d N=1b(){1b a(a,b,c){1d d=0,e=a.1h,f=b%1E7,h=b/1E7|0;1j(a=a.4h();e--;){1d g=a[e]%1E7;1d l=a[e]/1E7|0;b=h*g+l*f;g=f*g+b%1E7*1E7+d;d=(g/c|0)+(b/1E7|0)+h*l;a[e]=g%c}d&&(a=[d].9V(a));1f a}1b b(a,b,c,d){if(c!=d)1d e=c>d?1:-1;1s 1j(d=e=0;d<c;d++)if(a[d]!=b[d]){e=a[d]>b[d]?1:-1;1W}1f e}1b d(a,b,c,d){1j(1d e=0;c--;)a[c]-=e,e=a[c]<b[c]?1:0,a[c]=e*d+a[c]-b[c];1j(;!a[0]&&1<a.1h;a.6z(0,1));}1f 1b(e,f,h,g,k){1d n,m=e.s==f.s?1:-1;1d p=e.c;1d t=f.c;if(!(p&&p[0]&&t&&t[0]))1f 1g l(e.s&&f.s&&(p?!t||p[0]!=t[0]:t)?p&&0==p[0]||!t?0*m:m/0:1hO);1d q=1g l(m);1d w=q.c=[];1d u=e.e-f.e;m=h+u+1;k||(k=1Md,u=c(e.e/14)-c(f.e/14),m=m/14|0);1j(e=0;t[e]==(p[e]||0);e++);t[e]>(p[e]||0)&&u--;if(0>m)w.1q(1),p=!0;1s{1d z=p.1h;1d v=t.1h;e=0;m+=2;1d y=r(k/(t[0]+1));1<y&&(t=a(t,y,k),p=a(p,y,k),v=t.1h,z=p.1h);1d A=v;1d B=p.4h(0,v);1j(n=B.1h;n<v;B[n++]=0);1d D=t.4h();D=[0].9V(D);1d C=t[0];t[1]>=k/2&&C++;do{y=0;f=b(t,B,v,n);if(0>f){y=B[0];v!=n&&(y=y*k+(B[1]||0));y=r(y/C);if(1<y){y>=k&&(y=k-1);1d G=a(t,y,k);1d E=G.1h;1j(n=B.1h;1==b(G,B,E,n);)y--,d(G,v<E?D:t,E,k),E=G.1h,f=1}1s 0==y&&(f=y=1),G=t.4h(),E=G.1h;E<n&&(G=[0].9V(G));d(B,G,n,k);n=B.1h;if(-1==f)1j(;1>b(t,B,v,n);)y++,d(B,v<n?D:t,n,k),n=B.1h}1s 0===f&&(y++,B=[0]);w[e++]=y;B[0]?B[n++]=p[A]||0:(B=[p[A]],n=1)}14p((A++<z||1F!=B[0])&&m--);p=1F!=B[0];w[0]||w.6z(0,1)}if(1Md==k){e=1;1j(m=w[0];10<=m;m/=10,e++);x(q,h+(q.e=e+14*u-1)+1,g,p)}1s q.e=u,q.r=+p;1f q}}();1d P=1b(){1d a=/^(-?)0([7lt])(?=\\w[\\w.]*$)/i,b=/^([^.]+)\\.$/,c=/^\\.([^.]+)$/,d=/^-?(12g|1hO)$/,e=/^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;1f 1b(f,h,g,k){1d n=g?h:h.3X(e,"");if(d.6S(n))f.s=11I(n)?1F:0>n?-1:1;1s{if(!g){n=n.3X(a,1b(a,b,c){m="x"==(c=c.18v())?16:"b"==c?2:8;1f k&&k!=m?a:b});if(k){1d m=k;n=n.3X(b,"$1").3X(c,"0.$1")}if(h!=n)1f 1g l(n,m)}if(l.2V7)1t 6u("[1B8 6u] 3md a"+(k?" 13T "+k:"")+" 2b: "+h);f.s=1F}f.c=f.e=1F}}();v.7ls=v.abs=1b(){1d a=1g l(1a);0>a.s&&(a.s=1);1f a};v.3PR=1b(a,b){1f e(1a,1g l(a,b))};v.7lr=v.dp=1b(a,b){1d d;if(1F!=a)1f f(a,0,1E9),1F==b?b=B:f(b,0,8),x(1g l(1a),a+1a.e+1,b);if(!(a=1a.c))1f 1F;b=14*((d=a.1h-1)-c(1a.e/14));if(d=a[d])1j(;0==d%10;d/=10,b--);0>b&&(b=0);1f b};v.5uh=v.5u=1b(a,b){1f N(1a,1g l(a,b),A,B)};v.7lq=v.7lp=1b(a,b){1f N(1a,1g l(a,b),0,1)};v.7lo=v.3r=1b(a,b){1d c,d=1a;a=1g l(a);if(a.c&&!a.2mT())1t 6u("[1B8 6u] 7ln 2S an 32m: "+z(a));1F!=b&&(b=1g l(b));1d e=14<a.e;if(!d.c||!d.c[0]||1==d.c[0]&&!d.e&&1==d.c.1h||!a.c||!a.c[0]){1d f=1g l(1k.3r(+z(d),e?2-h(a):+z(a)));1f b?f.13R(b):f}1d g=0>a.s;if(b){if(b.c?!b.c[0]:!b.s)1f 1g l(1hO);(c=!g&&d.2mT()&&b.2mT())&&(d=d.13R(b))}1s{if(9<a.e&&(0<d.e||-1>d.e||(0==d.e?1<d.c[0]||e&&7lm<=d.c[1]:7ll>d.c[0]||e&&7lk>=d.c[0]))){1d k=0>d.s&&h(a)?-0:0;-1<d.e&&(k=1/k);1f 1g l(g?1/k:k)}I&&(k=q(I/14+2))}if(e){1d n=1g l(.5);g&&(a.s=1);e=h(a)}1s{1d m=1k.abs(+z(a));e=m%2}1j(f=1g l(y);;){if(e){f=f.12K(d);if(!f.c)1W;k?f.c.1h>k&&(f.c.1h=k):c&&(f=f.13R(b))}if(m){m=r(m/2);if(0===m)1W;e=m%2}1s if(a=a.12K(n),x(a,a.e+1,1),14<a.e)e=h(a);1s{m=+z(a);if(0===m)1W;e=m%2}d=d.12K(d);k?d.c&&d.c.1h>k&&(d.c.1h=k):c&&(d=d.13R(b))}if(c)1f f;g&&(f=y.5u(f));1f b?f.13R(b):k?x(f,I,B,1p 0):f};v.7lj=1b(a){1d b=1g l(1a);1F==a?a=B:f(a,0,8);1f x(b,b.e+1,a)};v.7li=v.eq=1b(a,b){1f 0===e(1a,1g l(a,b))};v.1AJ=1b(){1f!!1a.c};v.7lh=v.gt=1b(a,b){1f 0<e(1a,1g l(a,b))};v.7lg=v.7lf=1b(a,b){1f 1===(b=e(1a,1g l(a,b)))||0===b};v.2mT=1b(){1f!!1a.c&&c(1a.e/14)>1a.c.1h-2};v.7le=v.lt=1b(a,b){1f 0>e(1a,1g l(a,b))};v.7ld=v.7lc=1b(a,b){1f-1===(b=e(1a,1g l(a,b)))||0===b};v.11I=1b(){1f!1a.s};v.7lb=1b(){1f 0>1a.s};v.7la=1b(){1f 0<1a.s};v.7l9=1b(){1f!!1a.c&&0==1a.c[0]};v.2yi=1b(a,b){1d d,e=1a.s;a=1g l(a,b);b=a.s;if(!e||!b)1f 1g l(1hO);if(e!=b)1f a.s=-b,1a.2eI(a);1d f=1a.e/14;1d h=a.e/14,g=1a.c,k=a.c;if(!f||!h){if(!g||!k)1f g?(a.s=-b,a):1g l(k?1a:1hO);if(!g[0]||!k[0])1f k[0]?(a.s=-b,a):1g l(g[0]?1a:3==B?-0:0)}f=c(f);h=c(h);g=g.4h();if(e=f-h){(d=0>e)?(e=-e,f=g):(h=f,f=k);f.1e1();1j(b=e;b--;f.1q(0));f.1e1()}1s 1j(f=(d=(e=g.1h)<(b=k.1h))?e:b,e=b=0;b<f;b++)if(g[b]!=k[b]){d=g[b]<k[b];1W}d&&(f=g,g=k,k=f,a.s=-a.s);b=(f=k.1h)-(d=g.1h);if(0<b)1j(;b--;g[d++]=0);1j(b=1Md-1;f>e;){if(g[--f]<k[f]){1j(d=f;d&&!g[--d];g[d]=b);--g[d];g[f]+=1Md}g[f]-=k[f]}1j(;0==g[0];g.6z(0,1),--h);1f g[0]?w(a,g,h):(a.s=3==B?-1:1,a.c=[a.e=0],a)};v.4oe=v.13R=1b(a,b){a=1g l(a,b);if(!1a.c||!a.s||a.c&&!a.c[0])1f 1g l(1hO);if(!a.c||1a.c&&!1a.c[0])1f 1g l(1a);if(9==H){1d c=a.s;a.s=1;b=N(1a,a,0,3);a.s=c;b.s*=c}1s b=N(1a,a,0,H);a=1a.2yi(b.12K(a));a.c[0]||1!=H||(a.s=1a.s);1f a};v.4rm=v.12K=1b(a,b){1d d=1a.c,e=(a=1g l(a,b)).c;if(!(d&&e&&d[0]&&e[0]))1f!1a.s||!a.s||d&&!d[0]&&!e||e&&!e[0]&&!d?a.c=a.e=a.s=1F:(a.s*=1a.s,d&&e?(a.c=[0],a.e=0):a.c=a.e=1F),a;b=c(1a.e/14)+c(a.e/14);a.s*=1a.s;1d f=d.1h;1d h=e.1h;if(f<h){1d g=d;d=e;e=g;1d k=f;f=h;h=k}k=f+h;1j(g=[];k--;g.1q(0));1j(k=h;0<=--k;){1d n=0;1d m=e[k]%1E7;1d p=e[k]/1E7|0;1d t=f;1j(h=k+t;h>k;){1d q=d[--t]%1E7;1d r=d[t]/1E7|0;1d u=p*q+r*m;q=m*q+u%1E7*1E7+g[h]+n;n=(q/1Md|0)+(u/1E7|0)+p*r;g[h--]=q%1Md}g[h]=n}n?++b:g.6z(0,1);1f w(a,g,b)};v.7l8=1b(){1d a=1g l(1a);a.s=-a.s||1F;1f a};v.2eI=1b(a,b){1d d=1a.s;a=1g l(a,b);b=a.s;if(!d||!b)1f 1g l(1hO);if(d!=b)1f a.s=-b,1a.2yi(a);b=1a.e/14;1d e=a.e/14,f=1a.c,h=a.c;if(!b||!e){if(!f||!h)1f 1g l(d/0);if(!f[0]||!h[0])1f h[0]?a:1g l(f[0]?1a:0*d)}b=c(b);e=c(e);f=f.4h();if(d=b-e){0<d?(e=b,b=h):(d=-d,b=f);1j(b.1e1();d--;b.1q(0));b.1e1()}d=f.1h;b=h.1h;0>d-b&&(b=h,h=f,f=b,b=d);1j(d=0;b;)d=(f[--b]=f[b]+h[b]+d)/1Md|0,f[b]=1Md===f[b]?0:f[b]%1Md;d&&(f=[d].9V(f),++e);1f w(a,f,e)};v.1k7=v.sd=1b(a,b){if(1F!=a&&a!==!!a)1f f(a,1,1E9),1F==b?b=B:f(b,0,8),x(1g l(1a),a,b);if(!(b=1a.c))1f 1F;1d c=b.1h-1;1d d=14*c+1;if(c=b[c]){1j(;0==c%10;c/=10,d--);1j(c=b[0];10<=c;c/=10,d++);}a&&1a.e+1>d&&(d=1a.e+1);1f d};v.7l7=1b(a){f(a,-3PS,3PS);1f 1a.12K("1e"+a)};v.7l6=v.3Y=1b(){1d a=1a.c;1d b=1a.s,e=1a.e,f=A+4,h=1g l("0.5");if(1!==b||!a||!a[0])1f 1g l(!b||0>b&&(!a||a[0])?1hO:a?1a:1/0);b=1k.3Y(+z(1a));if(0==b||b==1/0){a=d(a);0==(a.1h+e)%2&&(a+="0");b=1k.3Y(+a);e=c((e+1)/2)-(0>e||e%2);b==1/0?a="1e"+e:(a=b.4rl(),a=a.4h(0,a.3f("e")+1)+e);1d g=1g l(a)}1s g=1g l(b+"");if(g.c[0])1j(e=g.e,b=e+f,3>b&&(b=0);;){1d k=g;g=h.12K(k.2eI(N(1a,k,f,1)));if(d(k.c).4h(0,b)===(a=d(g.c)).4h(0,b))if(g.e<e&&--b,a=a.4h(b-3,b+1),"1Ax"==a||!n&&"7l5"==a){if(!n&&(x(k,k.e+A+2,0),k.12K(k).eq(1a))){g=k;1W}f+=4;b+=4;1d n=1}1s{if(!+a||!+a.4h(1)&&"5"==a.1as(0)){x(g,g.e+A+2,1);1d m=!g.12K(g).eq(1a)}1W}}1f x(g,g.e+A+1,B,m)};v.4rl=1b(a,b){1F!=a&&(f(a,0,1E9),a++);1f p(1a,a,b,1)};v.1mf=1b(a,b){1F!=a&&(f(a,0,1E9),a=a+1a.e+1);1f p(1a,a,b)};v.7l4=1b(a,b,c){if(1F==c)1F!=a&&b&&"2c"==2h b?(c=b,b=1F):a&&"2c"==2h a?(c=a,a=b=1F):c=J;1s if("2c"!=2h c)1t 6u("[1B8 6u] 27f 2S an 2c: "+c);b=1a.1mf(a,b);if(1a.c){1d d=b.7g(".");b=+c.5ug;a=+c.5uf;1d e=c.5ue||"",f=d[0],h=d[1],g=0>1a.s,l=g?f.4h(1):f,k=l.1h;a&&(d=b,b=a,a=d,k-=d);if(0<b&&0<k){d=k%b||b;1j(f=l.13c(0,d);d<k;d+=b)f+=e+l.13c(d,b);0<a&&(f+=e+l.4h(d));g&&(f="-"+f)}b=h?f+(c.5ud||"")+((a=+c.5uc)?h.3X(1g 19j("\\\\d{"+a+"}\\\\B","g"),"$&"+(c.5ub||"")):h):f}1f(c.2mU||"")+b+(c.2K9||"")};v.7l3=1b(a){1d b,c,e;1d f=1a.c;if(1F!=a){1d h=1g l(a);if(!h.2mT()&&(h.c||1!==h.s)||h.lt(y))1t 6u("[1B8 6u] 27f "+(h.2mT()?"9H of 11D: ":"2S an 32m: ")+z(h));}if(!f)1f 1g l(1a);1d g=1g l(y);1d k=b=1g l(y);1d n=e=1g l(y);1d m=d(f);f=g.e=m.1h-1a.e-1;g.c[0]=u[0>(c=f%14)?14+c:c];a=!a||0<h.3PR(g)?0<f?g:k:h;c=F;F=1/0;h=1g l(m);1j(e.c[0]=0;;){1d p=N(h,g,0,1);m=b.2eI(p.12K(n));if(1==m.3PR(a))1W;b=n;n=m;k=e.2eI(p.12K(m=k));e=m;g=h.2yi(p.12K(m=g));h=m}m=N(a.2yi(b),n,0,1);e=e.2eI(m.12K(k));b=b.2eI(m.12K(n));e.s=k.s=1a.s;f*=2;a=1>N(k,n,f,B).2yi(1a).abs().3PR(N(e,b,f,B).2yi(1a).abs())?[k,n]:[e,b];F=c;1f a};v.2yh=1b(){1f+z(1a)};v.5ua=1b(a,b){1F!=a&&f(a,1,1E9);1f p(1a,a,b,2)};v.5s=1b(a){1d b=1a,c=b.s,e=b.e;1F===e?c?(a="12g",0>c&&(a="-"+a)):a="1hO":(1F==a?a=e<=D||e>=C?g(d(b.c),e):k(d(b.c),e,"0"):10===a?(b=x(1g l(b),A+e+1,B),a=k(d(b.c),b.e,"0")):(f(a,2,oa.1h,"4rk"),a=M(k(d(b.c),e,"0"),10,a,c,!0)),0>c&&b.c[0]&&(a="-"+a));1f a};v.3mB=v.1n4=1b(){1f z(1a)};v.4rj=!0;m&&($9C.1lY(),v[1gy.7l2]="1B8",$9C.1lY(),v[1gy.1j("7l1.3Cv.4ri.2Jn")]=v.3mB);1F!=a&&l.1C(a);1f l}1b c(a){1d b=a|0;1f 0<a||a===b?b:b-1}1b d(a){1j(1d b,c,d=1,e=a.1h,f=a[0]+"";d<e;){b=a[d++]+"";1j(c=14-b.1h;c--;b="0"+b);f+=b}1j(e=f.1h;48===f.19a(--e););1f f.4h(0,e+1||1)}1b e(a,b){1d c=a.c,d=b.c,e=a.s,f=b.s;a=a.e;1d h=b.e;if(!e||!f)1f 1F;b=c&&!c[0];1d g=d&&!d[0];if(b||g)1f b?g?0:-f:e;if(e!=f)1f e;b=0>e;g=a==h;if(!c||!d)1f g?0:!c^b?1:-1;if(!g)1f a>h^b?1:-1;f=(a=c.1h)<(h=d.1h)?a:h;1j(e=0;e<f;e++)if(c[e]!=d[e])1f c[e]>d[e]^b?1:-1;1f a==h?0:a>h^b?1:-1}1b f(a,b,c,d){if(a<b||a>c||a!==r(a))1t 6u("[1B8 6u] "+(d||"27f")+("2b"==2h a?a<b||a>c?" 9H of 11D: ":" 2S an 32m: ":" 2S a 9k 2b: ")+10J(a));}1b h(a){1d b=a.c.1h-1;1f c(a.e/14)==b&&0!=a.c[b]%2}1b g(a,b){1f(1<a.1h?a.1as(0)+"."+a.4h(1):a)+(0>b?"e":"e+")+b}1b k(a,b,c){1d d;if(0>b){1j(d=c+".";++b;d+=c);a=d+a}1s{1d e=a.1h;if(++b>e){d=c;1j(b-=e;--b;d+=c);a+=d}1s b<e&&(a=a.4h(0,b)+"."+a.4h(b))}1f a}$9C.1lY();$9C.1lY();$9C.2yg();1d n=/^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,m="1b"==2h 1gy&&"1ap"==2h 1gy.1U3,q=1k.8a,r=1k.2t,u=[1,10,100,1E3,1E4,1E5,1E6,1E7,1E8,1E9,3PQ,5u9,5iN,7l0];1d t=b();t["4T"]=t.1B8=t;"1b"==2h 2f&&2f.amd?2f(1b(){1f t}):"7w"!=2h 2eH&&2eH.1cr?2eH.1cr=t:(a||(a="7w"!=2h 1KQ&&1KQ?1KQ:7O),a.1B8=t);1f t}(),5u6={3e:!0,1A:1g y(0,0,0,0),1Gq:$g.1m8,1Gp:$g.1m8,1Go:Bd.1ip,1B7:Bd.1ip,1Gn:Bd.6h,1B6:Bd.20A},TF=1g Aa;To.1op=ada;To.1i.5u8=1b(){1f 1a.2K8};To.1i.2H=1b(a,b,c){if(ada(a.1O)&&1a.5F){a=a.1O;1a.1U2=1k.2t(a.8j*1a.3PP);1a.1U1=1k.2t(a.7p*1a.3PP);TF.1G=1a.1U2;TF.1D=1a.1U1;1a.2yf=b.167(0);1a.1qG=c;c=1a.1U2;1d d=1a.1U1;b=1a.1x5;c=g(b)&&(b.1G!==c||b.1D!==d);if(!g(b)||c)$ca(1a),b=1a.1U2,c=1a.1U1,1a.2K8=1g eb({1O:a,13I:[1g Ca({1O:a,1G:a.8j,1D:a.7p,8b:ua.9m,10E:1a.1qG?a.20p?Ha.1kq:Ha.3O:Ha.7U})],16Y:!0}),1a.1x5=1g Ca({1O:a,1G:b,1D:c,8b:ua.9m,10E:Ha.3O}),d=1g 4A(b*c*4),1a.1DP=1g Ca({1O:a,8b:ua.9m,10E:Ha.3O,5j:{1a9:d,1G:b,1D:c},13E:!1}),1a.13p=1g eb({1O:a,13I:[1a.1x5,1a.1DP],16Y:!1}),5u7(1a,a)}};To.1i.5P=1b(a,b){g(1a.1bx)&&1a.5F&&1a.1bx.5P(a,b)};To.1i.9P=1b(a,b){g(1a.13Z)&&1a.5F&&1a.13Z.5P(a,b)};To.1i.2ye=1b(a){if(g(a)){1a.5F=!0;a.4Q=1a.13p;1d b=1a.32l,c=a.4w,d=b[c.id];g(d)&&d.5q.1G==TF.1G&&d.5q.1D==TF.1D||(d=pa.1PL(c),d.13Q=!1,d.12e=5u6,d.5q=TF,d=pa.4t(d),b[c.id]=d);a.4w=d}};To.1i.3Z=1b(){1f!1};To.1i.1M=1b(){$ca(1a);1f la(1a)};1L.2X(Hq.1i,{16K:{1n:1b(){1f 1a.16x.14Q}},17g:{1n:1b(){1f 1a.16x.16J}},16j:{1n:1b(){1f 1a.16x.4y?1a.16x.17G:-1}},16i:{1n:1b(){1f 1a.16x.4y?1a.16x.1jK:-1}},8c:{1n:1b(){1f 1a.16x.6C}},3g:{1n:1b(){1f 1a.16x.4y?1a.16x.7T:1F}},19b:{1n:1b(){}},1cG:{1n:1b(){1f 1a.16x.14P}},3o:{1n:1b(){1f 1a.16x.4y}},9c:{1n:1b(){1f 1a.16x.9c}},1mb:{1n:1b(){1f!0}},2p:{1n:1b(){1f 1a.1ll.2p},1C:1b(a){1a.1ll.2p=a}},2eG:{1n:1b(){1f 1a.16x.2eG},1C:1b(a){1a.16x.2eG=a}},2O:{1n:1b(){1f 1a.1ll.2O},1C:1b(a){1a.1ll.2O=a}},2cv:{1n:1b(){1f 1a.1ll.32k},1C:1b(a){1a.1ll.32k=a}},2i:{1n:1b(){1f 1a.6X},1C:1b(a){1a.6X=a}},5u5:{1n:1b(){1f 1a.1ll.1U0},1C:1b(a){1a.1ll.1U0=a;1a.16x.1U0=a}},3mA:{1n:1b(){1f 1a.16x.17F},1C:1b(a){g(a)&&"11T"===2h a.1dF&&(1a.16x.17F.1dF=a.1dF)}}});1d VA=1g C,4rh=1g k,op=1g Db;Hq.1i.7kZ=1b(a){if(g(a.2yd))1j(1d b=a.3g,c=a.5o,d=0,e=a.2yd.1h;d<e;d++){1d f=a.2yd[d],h=f.7n,l=h.2P;if(g(1a.3my[l]))l=1a.3my[l],a.6b>l.6b&&(l.1K=zK(1a.16x,h,c,b),l.6b=a.6b);1s{1d k=f.2r.11e;if(g(k)&&g(k["6O-4d"])){f=k["6O-4d"];1d n=m(k["6O-4V"],1);if(g(1a.2yc[f]))1d q=1a.2yc[f];1s{k=1a.16x.32j[f];if(!g(k))1aJ;q=3n.4O("3M");q.1G=k.1G;q.1D=k.1D;q.1ft("2d").2mb(k,0,0);1a.2yc[f]=q}}VA.x=0;VA.y=-q.1D/2;op.3I=3PO;op.1DO=1.5;op.3W=8E6;op.1DN=0;f=1a.13d.add({4d:q,3b:n,11p:3a.19B,6N:bb.1me,14l:VA,13h:op,id:5u4(h)});f.1K=zK(1a.16x,h,c,b);f.6b=a.6b;1a.3my[l]=f}}};Hq.1i.7kY=1b(a){if(g(a.2yb))1j(1d b=a.3g,c=a.5o,d=0;d<a.2yb.1h;d++){1d e=a.2yb[d],f=e.7n,h=f.2P;if(g(1a.3mx[h]))h=1a.3mx[h],a.6b>h.6b&&(h.1K=zK(1a.16x,f,c,b),h.6b=a.6b);1s{1d l=e.2r;e=l.1FU();l=l.4rg;1d k=e.1FU(),n=e.3kG(n),m=e.3Ni(),q=3n.4O("3M"),r=q.1ft("2d"),u=l+"px "+n;r.9O=u;r.1v2="5C";r.1qy=m;m=r.2FH(k).1G+2;q.1G=m;q.1D=l+1;r.9O=u;u=e.1FV();e=e.1wP();g(e)&&(r.1ch=4rf(e.1eV()),r.11a=e.26u(),r.3kM(k,0,l-3));g(u)&&(r.15b=4rf(u.1eV()),r.2m4(k,0,l-3));VA.x=0;VA.y=-q.1D/2;op.3I=3PO;op.1DO=2;op.3W=1E6;op.1DN=0;e=1a.13d.add({4d:q,5u3:k,11p:3a.19B,6N:bb.1me,14l:VA,13h:op,16l:fc.1g5,15P:oc.1hc});e.1K=zK(1a.16x,f,c,b);e.6b=a.6b;1a.3mx[h]=e}}};Hq.1i.2H=1b(a,b){if(g(1a.13d)){1d c=1a.1ll.20y;a=[];1j(1d d in c)a.1q(c[d]);a.15F(5u2);1j(d=0;d<a.1h;d++)c=a[d],c.2K7&&!c.3mz&&(c.3mz=!0);1a.13d.2H(b)}};Hq.1i.1vb=1b(a){1f 1a.16x.1vb(a)};Hq.1i.20z=1b(){g(1a.13d)&&1a.13d.7f();1d a=1a.1ll.20y,b;1j(b in a)a[b].3mz=!1;1a.3my={};1a.3mx={};1a.2ya.3S(1a.1ll);1a.1ll=1a.2ya.2mG(1a.16x)};Hq.1i.3Z=1b(){1f!1};Hq.1i.1M=1b(){1a.2ya.3S(1a.1ll);g(1a.13d)&&(1a.13d.1M(),1a.13d=1F);1f la(1a)};1d DU=1L.3F({6i:0,5tP:1});1L.2X(Xf.1i,{7kX:{1n:1b(){1f 1a.32f}},2K6:{1n:1b(){1f 1a.3mw},1C:1b(a){1a.3mw=a;1j(a=0;a<1a.2y6.1h;a++)1a.2y6[a].4re=1a.3mw===$s.32h?Pj.2y9:Pj.32g}}});Xf.1i.7kW=1b(a){if(g(a)){1d b=a;2K.8n(a)&&(b=1g dt(a));1a.2y7.1q(1g Fq(1a,1a.2y7.1h,1a.2eF,b))}};Xf.1i.7kV=1b(){1a.2y7.5d(1b(a){a.1M()});1a.2y7=[];1a.1qH.1TZ=!1;1a.1qH.3mu=!1};Xf.1i.7kU=1b(a){};Xf.1i.7kT=1b(a){};Xf.1i.7kS=1b(a){if(a.2mS!==Je.32i&&a.2mS!==Je.1P5)1f!1;1d b=1g pq(1a.2R);b.3y=a;b.4re=1a.3mw===$s.32h?Pj.2y9:Pj.32g;1a.1qH.7kR=1;b.2K5=1a.1qH;1a.1qH.2K4=!0;b.1TZ=!0;1a.2y6.1q(b)};Xf.1i.7kQ=1b(a){1d b=1a;a.5d(1b(a){1d c=1g 5u1(a);c.5u0=b.4j.1Ga({id:c.id,9k:b});b.2eF[a.12W]=c;b.1hQ(a.12W,a.7y);b.5tZ(a.12W,a.1A)})};Xf.1i.1hQ=1b(a,b){if(g(b)){1d c=1a;g(1a.18j)||(1a.18j=1g Om({1O:1a.2R.4j}));1a.18j.2y8(b,b).4b(1b(b){c.2eF[a].3mv=b})}};Xf.1i.5tZ=1b(a){1d b=1a;Fe(a).4b(1b(c){if(1F!=c.3y){1d d=1g 4L(c.3y.12W);b.1qH.add(a,{1K:k.8g(c.3y.1K.x,c.3y.1K.y,c.3y.1K.z),id:b.27e},d.3J);c=b.1qH.1tm(a,b.27e);d=b.2eF[a].1fR;d.x=c.1Mc.x;d.y=c.1Mc.y;d.z=c.1Mc.z;b.27e++}})};Xf.1i.1x4=1b(){1a.1qH.1TZ=!0;1a.1qH.3mu=!0};Xf.1i.31Z=1b(a){1a.32f=[];1a.32f.1q(a)};Xf.1i.1fU=1b(){1a.32f=[]};Xf.1i.1PK=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1a.11h=1<<a};Xf.1i.1ks=1b(a){if(3<a)1t 1g r("1Z 2P is 0~3");1f 1<<a&1a.11h};Xf.1i.9P=1b(){g(1a.18j)&&(1a.18j.1M(),1a.18j=1F);1a.2y7.5d(1b(a){a.1M()});1a.2y7=[];1a.1qH.2K4=!1;1a.2y6.5d(1b(a){a.1M()});1a.2y6=[];1j(1d a in 1a.2eF)1a.1qH.3PN(a);1a.1qH.3mu=!1;1a.2eF={};1a.27e=0};Xf.1i.1M=1b(){1a.9P();1a.2R.1ck.3S(1a.6X,!0);1a.2R.13y.3S(1a.1qH);1a.1qH.1M();1f la(1a)};Xf.1i.2H=1b(a,b,c){1a.2y6.5d(1b(d){d.2H(a,b,c)});1a.2y7.5d(1b(d){d.2H(a,b,c)})};Xf.1i.3mt=1b(a,b){1a.2y6.5d(1b(c){c.3mt(a,b)})};1d AK=1b(a){1f 1b(){a.18Y.1sn.1q(1b(){a.1e2()})}};1L.2X(gc.1i,{3M:{1n:1b(){1f 1a.10C}},7p:{1n:1b(){1f 1a.4j.7p}},8j:{1n:1b(){1f 1a.4j.8j}},13S:{1n:1b(){1f 1a.5Y.13S},1C:1b(a){1a.5Y.13S=a}},2HD:{1n:1b(){1f sb.2HD}},2y5:{1n:1b(){1f sb.2y5}},2K3:{1n:1b(){1f!0}},2mI:{1n:1b(){1f 1a.4j.8X}},2mH:{1n:1b(){1f 1a.4j.8X}},7kP:{1n:1b(){1f 1a.4j.8X}},10a:{1n:1b(){g(1a.1cD)&&(1a.3PH=1a.5tR.2p=!(1a.1cD.2p&&1===1a.1cD.2eE));1f 1a.1cD},1C:1b(a){1a.1cD&&1a.1cD.1M();1a.1cD=a;1j(1d b=0;b<1a.2xK.1h;++b)1a.2xK[b]();1a.2xK.1h=0;b=[];g(a)&&(b.1q(a.3PM.7K(AK(1a))),b.1q(a.27d.7K(AK(1a))));1a.2xK=b}},13y:{1n:1b(){1f 1a.15G}},2y4:{1n:1b(){1f 1a.1yO}},3w:{1n:1b(){1f 1a.1by.3w},1C:1b(a){1a.1by.3w=a}},11A:{1n:1b(){1f 1a.1by},1C:1b(a){1a.1by=a}},26Q:{1n:1b(){1f 1a.1B2}},1Gl:{1n:1b(){1f 1a.1ss}},1Do:{1n:1b(){1f 1a.1Zw}},11s:{1n:1b(){1f 1a.3ms}},18Y:{1n:1b(){1f 1a.5Y}},20x:{1n:1b(){1f 1a.1sa}},1uU:{1n:1b(){if(g(1a.10a))1f 1a.10a.1uU}},16u:{1n:1b(){if(g(1a.10a))1f 1a.10a.16u},1C:1b(a){g(1a.10a)&&(1a.10a.16u=a)}},27d:{1n:1b(){if(g(1a.10a))1f 1a.10a.27d}},5tY:{1n:1b(){1f 1a.4qR}},5tX:{1n:1b(){1f 1a.4qQ}},5tW:{1n:1b(){1f 1a.4rd}},4rc:{1n:1b(){1f 1a.4qP}},2lL:{1n:1b(){1f 1a.2we}},7kO:{1n:1b(){1f 1a.323}},1O:{1n:1b(){1f 1a.4j}},2I2:{1n:1b(){1f 1a.1by.2I2}},1fw:{1n:1b(){1f 1a.5Y.1fw}},2mR:{1n:1b(){1f 1a.32e}},1x1:{1n:1b(){1f 1a.1g2},1C:1b(a){1a.1g2=a}},id:{1n:1b(){1f 1a.7R}},3z:{1n:1b(){1f 1a.8C},1C:1b(a){if(1a.1fw&&a!==O.6G)1t 1g r("1Jh 4i1.6G is 1eu 16r 1fw is 8O.");if(a===O.10j)1a.2ws(0);1s if(a===O.6G)1a.2HT(0);1s if(a===O.15j)1a.2wr(0);1s 1t 1g r("1Q 2Q be a 1eu 4i1 7kN.");1a.8C=a}},1Jl:{1n:1b(){1f 1a.1by.1Jl}},5jP:{1n:1b(){1f 1a.1by.1Jl.1h}},1DM:{1n:1b(){1f 1a.3PL},1C:1b(a){1a.3PL=a}},2y3:{1n:1b(){1f 1a.32b},1C:1b(a){if(1a.3w.3j 2m Jb)1t 1g r("VR is 1Pt 10M an 4rb 18T.");(1a.32b=a)?(1a.5Y.1DJ.11z.2r.12F="1qr",1a.3PK=1g ab(1a),g(1a.1DK)||(1a.1DK=1g mz(1a)),1a.3PI=1a.3w.3j.13n):(1a.5Y.1DJ.11z.2r.12F="13z",1a.3PK=1p 0,1a.1DK=1a.1DK&&!1a.1DK.3Z()&&1a.1DK.1M(),1a.3w.3j.13n=1a.3PI,1a.3w.3j.1qc=0)}},27c:{1n:1b(){1f 1a.4ra}},2y2:{1n:1b(){1f 1a.5Y.2y2},1C:1b(a){1a.5Y.2y2=a}},2y1:{1n:1b(){1f 1a.5Y.2y1},1C:1b(a){1a.5Y.2y1=a}},2mQ:{1n:1b(){1f 1a.27b},1C:1b(a){if(!g(a)||0>a)1t 1g r("2mQ 2Q be 9U 6L or 14B to 0.0.");1a.27b=a}},3PJ:{1n:1b(){1f 1a.32d},1C:1b(a){a=1a.4j.1Mb&&a;1a.32d!==a&&(1a.32d=a,1a.3Pw=!0,1a.1B2.3mr=!0)}},1iP:{1n:1b(){1f 1a.4j.13m.1iP},1C:1b(a){1a.4j.13m.1iP=a}},5tV:{1n:1b(){1f 1a.1qG},1C:1b(a){1d b=1a.4j;a=a&&b.8X&&(b.2K2||b.2K1);1a.3Px=a!==1a.1qG;1a.1qG=a}},7kM:{1n:1b(){1d a=1a.4j;1f a.8X&&(a.2K2||a.2K1)}},32c:{1n:1b(){1f 1a.2y0},1C:1b(a){1a.2y0=a}},2mD:{1n:1b(){1f 1a.5Y.1bz?.9:.1Ax}},9Q:{1n:1b(){1f 1a.8U}},2dV:{1n:1b(){1f 1a.31O}},7kL:{1n:1b(){1f 1a.1Gi},1C:1b(a){1a.1no.1h=0;6U(a){1S Jf.6i:1W;1S Jf.3mq:1a.1no[0]=1g Aa(0,0,.5,1);1a.1no[1]=1g Aa(.5,0,.5,1);1W;1S Jf.4r9:1a.1no[0]=1g Aa(0,.5,1,.5);1a.1no[1]=1g Aa(0,0,1,.5);1W;1S Jf.5tU:1a.1no[0]=1g Aa(0,.5,.5,.5);1a.1no[1]=1g Aa(.5,.5,.5,.5);1a.1no[2]=1g Aa(.5,0,.5,.5);1a.1no[3]=1g Aa(0,0,.5,.5);1W;1S Jf.5tT:1a.1no[2]=1g Aa(0,.5,.5,.5);1a.1no[1]=1g Aa(.5,.5,.5,.5);1a.1no[0]=1g Aa(0,0,1,.5);1W;1S Jf.5tS:1a.1no[2]=1g Aa(2/3,0,1/3,1);1a.1no[1]=1g Aa(1/3,0,1/3,1);1a.1no[0]=1g Aa(0,0,1/3,1);1W;4T:1t 1g r("1Z 3z is 7A");}a!==Jf.6i&&1a.1Gi===Jf.6i?(1a.5Y.1DJ.11z.2r.12F="1qr",!g(1a.1DK)&&1a.32b&&(1a.1DK=1g mz(1a),1a.3PI=1a.1B5.3j.13n)):a===Jf.6i&&1a.1Gi!==Jf.6i&&(1a.5Y.1DJ.11z.2r.12F="13z",1a.1DK=1a.1DK&&!1a.1DK.3Z()&&1a.1DK.1M(),1a.3w.3j.13n=1a.8j/1a.7p);1a.1Gi=a}},3PH:{1n:1b(){1f 1a.3Pz},1C:1b(a){g(a)&&(1a.3Pz=a)}},5tR:{1n:1b(){1f 1a.2K0}},7kK:{1n:1b(){1f 1a.3mp},1C:1b(a){a!==1a.3mp&&g(1a.2K0)&&(1a.2K0.3L=16t-a);1a.3mp=a}},1hp:{1n:1b(){1f 1a.2ez}},7kJ:{1n:1b(){1f 1a.5tQ},1C:1b(a){1a.5tQ=a}},1va:{1n:1b(){1f 1a.1yP.1va}},20w:{1n:1b(){1f 1a.1yP.20w}},2mP:{1n:1b(){1f 1a.1yP.2mP}},7kI:{1n:1b(){1f 1a.1yP.1SW}},1PJ:{1n:1b(){1f 1a.1yP.1PJ}},4r4:{1n:1b(){1f 1a.1qG},1C:1b(a){1a.1qG=a}},3PG:{1n:1b(){1f 1a.1yP.3PG},1C:1b(a){1f 1a.1yP.3PG=a}},3Lz:{1n:1b(){1f 1a.2JU}},3LA:{1n:1b(){1f 1a.4r8},1C:1b(a){1a.4r8=a}},5i6:{1n:1b(){1f 1a.4r7},1C:1b(a){1a.4r7=a}},7kH:{1n:1b(){1f 1a.3Ps},1C:1b(a){1a.3Ps=a}},7kG:{1n:1b(){1f 1a.3Pq},1C:1b(a){1a.3Pq=a}},2mK:{1n:1b(){1f 1a.10a.4r6}},7kF:{1n:1b(){1f 1a.3PF},1C:1b(a){if(a!==1a.3PF){1a.3PF=a;1d b=1a.1Zw;a===DU.5tP?(b.2xZ=!0,b.3mo=!1,1a.3z===O.6G?b.2wd=!1:1a.3z===O.15j&&(b.2wd=!0)):(b.2xZ=!1,b.2wd=!0,b.2JZ=!0,b.2ZT=!0,b.3mo=!0)}}},5tO:{1n:1b(){1d a=1a.9Q.2JY();1f g(a)?a.20v===kj.5tN:!1}},5tM:{1n:1b(){1f 1a.326}},7kE:{1n:1b(){1f 1a.3PE},1C:1b(a){if(a!==1a.3PE){1a.3PE=a;1j(1d b=0;b<1a.329.1h;b++)1a.3Pi(1a.329[b]);1a.329.1h=0;a===BK.4r5?(1a.4r4=!1,1a.1PI.2p=!0,1a.2ez.3mn=1g y(.76,.76,.76,1)):a===BK.5tL&&(1a.4r4=!1,1a.1PI.2p=!1,1a.2ez.3mn=1g y(.5,.5,.5,1),a=1g k.8g(116.7kD,40.7kC,450),b={32a:1g k.8g(116.5tK,40.5tJ,430),1A:1g y(.9,.9,.9,1),12r:.78},a=1g BI(a,b),1a.3mb(a),1a.329.1q(a),a=1g k.8g(116.7kB,40.7kA,490),b={32a:1g k.8g(116.5tK,40.5tJ,430),1A:1g y(.9,.9,.9,1),12r:.25},a=1g BI(a,b),1a.3mb(a),1a.329.1q(a))}}}});gc.1i.7kz=1b(a,b){1a.327=a;1a.3mm=b};gc.1i.7ky=1b(a){1d b=1a.1O;1f("4r3"===a||"1TY"===a)&&b.1TY||("4r2"===a||"27a"===a)&&b.27a||("4r1"===a||"279"===a)&&b.279};gc.1i.3ml=1b(a){if(g(a.10K)){1d b=1a.5Y,c=1a.4j,d=!1,e=b.1fv.2mO;a.2mO!==e&&(a.2mO=e,d=a.6s=!0);1d f=b.1bz,h=1a.1qG,l=1a.326;e=a.10K;1d k=g(e.1Gm),n=g(e.274),m=g(e.11q),q=g(e.3PD),r=f&&!k;f=(!f||!h)&&!q;a.6s=a.6s||r||h&&!n||f||l&&!m;if(a.6s){a.6s=!1;h=b.1fv.272;b.1fv.2mN&&a.1hR&&(e.6x=Uj.5tI(h,a,d,c,e.6x));if(k||r)e.1Gm=Nk.4r0(a,c,e.1Gm),4qZ(1a,e.1Gm.14Z,d);(q||f)&&4qZ(1a,a,d)}}};1d 5tH=1g on({6t:ug.4qY}),HU=1g on({6t:ug.3mk}),IU=1g on({6t:ug.325}),5tG=1g on({6t:ug.3PC});1g on({6t:ug.3PB});1g on({6t:ug.3PA});1d 5tb=1g on({6t:ug.1Ol}),4qX=1g P,4qW,4qV=1g ag;gc.1i.1cA=1b(a,b,c){1f g(a)&&(!g(a.6W)||!a.8d||b.1su(a.6W)!==Lb.1gB&&(!g(c)||!(a.4qU&&!1a.3Pz)||!a.6W.2mM(c)))};1d CK=1g A(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);CK=A.1yQ(CK,CK);1d EK=1g Qc,FK=1g Mg,GK=1g Jb,HK=1g Ee,5tF=1g k,5tE=1g T(1k.PI,B.10k),5tD=1g k,5tC=1g k,5tB=1g A,5tA=1g A,5tz=1g k,5ty=1g k,5tx=1g Aa;gc.1i.3ju=1b(){120===1a.4qT++&&(1a.4qT=0,1a.4j.1hf.5tw(),1a.4j.3Py.5tv());1a.1sa.2H();1a.1Zw.2H();g(1a.1DK)&&1a.1DK.2H();1a.3w.2H(1a.8C);1a.3w.5tu()};1d 5tt=1g y;gc.1i.3t=1b(a){g(a)||(a=M.14H());1d b=1a.5Y;1a.2JV.4qS();1d c=1a.1by.5ts(1a);c=!1a.2xX||1a.321||c||1a.3Pw||1a.3Px||1a.3z===O.1at;if(!c&&g(1a.2xY)&&g(1a.323)){1d d=1k.abs(M.1dA(1a.323,a));c=c||d>1a.2xY}c&&(1a.323=M.1y(a,1a.323),1a.3Px=1a.3Pw=1a.321=!1,b=B.5tr(b.1gA,5tq,1),d=1a.5Y,d.1gA=b,d.6q=M.1y(a,d.6q));1a.4qR.5k(1a,a);iw(1a,5tp);iw(1a,$Ca);1a.13y.2p&&(iw(1a,5to),iw(1a,5tn),iw(1a,5tm),c||iw(1a,5tl));1a.4qQ.5k(1a,a);c&&(1a.4qP.5k(1a,a),iw(1a,5tk),qb.2H());b=c;1a.5tj?(g(1a.1Dv)||(d=3n.4O("5u"),d.8k="3P-322-7kx",1a.10C.1eZ.3A(d),1a.1Dv=1g fw({11z:d}),1a.26i=d),1a.1Dv.3Pv=1a.2xX,1a.1Dv.2H(b)):g(1a.1Dv)&&(1a.1Dv=1a.1Dv&&1a.1Dv.1M(),1a.26i.1eZ.18Z(1a.26i));4qO(1a);c&&1a.2we.5k(1a,a)};gc.1i.7kw=1b(a){1a.321=!0;1a.3t(a)};gc.1i.1e2=1b(){1a.321=!0};gc.1i.3Pu=1b(a){1f 1k.1V(sb.3Pt,1k.2o(a,sb.2HD))};1d 5ti=1g Ee,5th=1g k,KK=1g k,5tg=1g C,5tf=1g A,5te=1g Mg,5td=1g C,Nn=3,vr=3,Dg=1g Aa(0,0,Nn,vr),zz=1g y(0,0,0,0),wN=1g C,WA=1g k;gc.1i.11P=1b(a,b,c,d){if(!g(a))1t 1g r("2mJ is 7w.");if(5>1k.abs(1a.5Y.1gA-1a.3mh.4qK)&&!g(d))1f 1a.3mh.31Y;Nn=m(b,1a.5tc);vr=m(c,Nn);c=1a.4j;1d e=c.13m;b=1a.5Y;1a.1by=d=1a.1B2;1d f=d.5q;f.x=0;f.y=0;f.1G=c.8j;f.1D=c.7p;1d h=d.1md;h.5q=Aa.1y(f,h.5q);h=ic.2ds(1a,a,wN);if(1a.1Gi!==Jf.6i){1d l=LK(1a,h);h.y=c.7p-h.y;-1<l&&(b.1g4=l,l=1a.1no[l],xf.x=c.8j*l.x,xf.y=c.7p*l.y,xf.1G=c.8j*l.1G,xf.1D=c.7p*l.1D,l=(h.y-xf.y)/xf.1D,h.x=(h.x-xf.x)/xf.1G*c.8j,h.y=l*c.7p,h.y=c.7p-zm.y)}1d k=d.1Jl.1h;1j(l=0;l<k;++l){1d n=1a.1ss.26Y(1a,l).19x(c,h.x,h.y);0<n&&1>n&&(WA=ic.2lu(1a,h,n,WA))}c.2eD[0]=WA.x;c.2eD[1]=WA.y;c.2eD[2]=WA.z;l=T.12y(WA);g(l)&&(c.4qN=l.1D);1a.2JV.31X();Uo(1a);b.1dj=JK(1a,h,Nn,vr,f);b.1M8=!1;b.10s.11P=!0;b.2mL=5tb;e.2H(b);vn(1a);l=!1;e=1a.26W;if(1a.20r.5F||e.5F)l=!0;Dg.x=h.x-.5*(Nn-1);Dg.y=1a.7p-h.y-.5*(vr-1);Dg.1G=Nn;Dg.1D=vr;h=d.1M7.1jM(Dg,d.5q,l);Iq(1a,h,zz);4qM(1a,h);Vo(1a,h);d=d.1M7.9o(Dg);c.1sr();l=0;1j(c=1a.15G.1h;l<c;l++)h=1a.15G.15G[l],h.1I==qq.3mj&&h.2eC();e=1a.1ck.1DL;l=0;1j(c=e.1h;l<c;l++)h=e[l],h 2m Xf&&h.1fU();e=1a.31O.1DL;l=0;1j(c=e.1h;l<c;l++)h=e[l],h 2m rd&&h.1fU();g(d)&&g(d.9k)&&(d.9k.1I===qq.3mi||d.9k 2m Xf)&&d.9k.31Z(d.id);(c=g(d)&&g(d.9k)&&d.9k 2m Wa)?(1a.8U.4qF(d),g(d.9k)&&!1===d.9k.2JX&&(d=1p 0)):1a.8U.1fU();if(!c&&1a.3Lm(a))b.2xW.1h=0;1s{1j(1d q in 1a.2mF)a=1a.2mF[q],g(a.16k)&&a.16k.1fU();g(d)&&g(d.1ho)&&(g(d.1ho.4qL)&&d.1ho.4qL||d.1ho.2JW)&&g(d.1ho.1Ma)&&d.1ho.1Ma(d.id);1a.3mh.4qK=1a.5Y.1gA;1f 1a.3mh.31Y=d}};1d ku=1g Q,4qI=1g k,4qH=1g k,4qG=1g k,xN=1g k,5ta=1g k(0,0,-1),5t9=1g k(0,1,0),5t8=1g Aa(0,0,1,1);gc.1i.3Lm=1b(a,b,c){if(!g(a))1t 1g r("2mJ is 7w.");b=1a.5Y;c=b.2xW;if(0===c.1h)1f!1;a=1a.1Gj(a);a=T.12y(a);1d d=B.10Q(a.3N),e=B.10Q(a.4k);a=[];1j(1d f=0;f<c.1h;f++)ku.4o=c[f].11S.2V.x-c[f].11S.3L,ku.4C=c[f].11S.2V.y-c[f].11S.3L,ku.5a=c[f].11S.2V.x+c[f].11S.3L,ku.4P=c[f].11S.2V.y+c[f].11S.3L,d<ku.5a&&d>ku.4o&&e<ku.4P&&e>ku.4C&&a.1q(c[f]);if(0===a.1h)1f!1;g(1a.2xJ)||(1a.2xJ=1g Ca({1O:b.1O,1G:1,1D:1,8b:ua.9m,10v:1g Eb({18i:Ka.11g,18h:Ka.11g,14A:nb.11U,15u:Rb.11U})}),1a.2mz=1g eb({1O:b.1O,13I:[1a.2xJ],16Y:!1}));c=1a.1Gk.4Q;1a.1Gk.4Q=1a.2mz;1a.1Gk.5P(b.1O);1d h=b.3w;k.1y(h.1K,4qI);k.1y(h.2G,4qH);k.1y(h.up,4qG);f=d-1E-4;d+=1E-4;xN.x=.5*(f+d);xN.y=.5*(e+1E-4+(e-1E-4));xN.z=5;h.1dG({16h:xN,11f:{2G:5ta,up:5t9},1hk:!1});d=1g Jb({1G:d-f,13n:1,3I:1,3W:10});b.1O.13m.2H(b);b.1O.13m.1Gg(d);1j(f=a.1h-1;0<=f;f--)a[f].4w=pa.4t({5q:5t8}),a[f].4Q=1a.2mz,d=a[f].10K,d.1Gl=Nk.4qJ(1a,a[f],b.1O,d.1Gl),a[f].10K.1Gl.1TX.5P(b.1O);h.1dG({16h:4qI,11f:{2G:4qH,up:4qG},1hk:!1});b.1O.13m.2H(b);b.1O.13m.1Gg(h.3j);a=b.1O.1tG({x:0,y:0,1G:1,1D:1,4Q:1a.2mz});b.1O.11n=a;a=y.2xV(a[0],a[1],a[2],a[3]);a=b.1O.2xU(a);(h=g(a)&&g(a.9k)&&a.9k 2m Wa)?1a.8U.4qF(a):1a.8U.1fU();1a.1Gk.5P(b.1O);1a.1Gk.4Q=c;1f h};gc.1i.7kv=1b(a,b,c){a=1a.1Gj(a);b=T.12y(a);a=1a.5Y.2mK;b=a.5t7(b);a.1Ma(b)};gc.1i.5i5=1b(a){if(!g(a))1t 1g r("2mJ is 7w.");1d b=1a.3Ps;Nn=m(b,3);vr=m(b,Nn);b=1a.4j;1d c=b.13m,d=1a.5Y,e=1a.1B2;1a.1by=e;1d f=e.5q;f.x=0;f.y=0;f.1G=b.8j;f.1D=b.7p;1d h=e.1md;h.5q=Aa.1y(f,h.5q);a=ic.2ds(1a,a,wN);1a.1Gi!==Jf.6i&&(h=LK(1a,a),a.y=b.7p-a.y,-1<h&&(d.1g4=h,h=1a.1no[h],xf.x=b.8j*h.x,xf.y=b.7p*h.y,xf.1G=b.8j*h.1G,xf.1D=b.7p*h.1D,h=(a.y-xf.y)/xf.1D,a.x=(a.x-xf.x)/xf.1G*b.8j,a.y=h*b.7p,a.y=b.7p-zm.y));1a.2JV.31X();Uo(1a);d.1dj=JK(1a,a,Nn,vr,f);d.1M8=!1;d.10s.11P=!0;c.2H(d);vn(1a);Dg.x=a.x-.5*(Nn-1);Dg.y=1a.7p-a.y-.5*(vr-1);Dg.1G=Nn;Dg.1D=vr;h=e.31W.1jM(Dg,e.5q);Iq(1a,h,zz);Vo(1a,h);c=e.31W.9o(Dg);b.1sr();if(g(c))if(c.z>-B.1io)1a.2JU=1p 0;1s 1f 1a.2JU=1g E,A.10r(d.3w.1x3,c,1a.2JU),1a.2JU;1s 1a.2JU=1p 0};1d xf=1g Aa,zm=1g C,yN=1g C;gc.1i.271=1b(a,b,c){if(1a.3Pr){if(!g(a))1t 1g r("2mJ is 7w.");1d d=a.5s();if(1a.2xT)1a.20u={},1a.2xT=!1;1s if(1a.20u.3p(d))1f k.1y(1a.20u[d],b);1d e=1a.5Y,f=1a.4j,h=f.13m,l=1a.1B2;1a.1by=l;a=ic.2ds(1a,a,wN);C.1y(a,yN);if(1a.4qE){if(1a.1Gi!==Jf.6i){1d m=LK(1a,a);C.1y(a,zm);zm.y=f.7p-zm.y;-1<m&&(e.1g4=m,m=1a.1no[m],xf.x=f.8j*m.x,xf.y=f.7p*m.y,xf.1G=f.8j*m.1G,xf.1D=f.7p*m.1D,m=(zm.y-xf.y)/xf.1D,zm.x=(zm.x-xf.x)/xf.1G*f.8j,zm.y=m*f.7p,yN.x=zm.x,yN.y=f.7p-zm.y,Uo(1a,e.1gA,e.6q))}4ql(1a,yN)}1s Uo(1a,e.1gA,e.6q),h.2H(e),vn(1a);1a.1Gi!==Jf.6i?a=zm:a.y=1a.7p-a.y;m=1a.3w;1d n=g(m.3j.16X)?m.3j.1y(EK):g(m.3j.2ey)?m.3j.1y(FK):g(m.3j.1G)?m.3j.1y(GK):m.3j.1y(HK);1d q=l.1Jl,w=q.1h;1j(l=0;l<w;++l){1d u=1a.1ss.26Y(1a,l).19x(f,a.x,a.y,g(c)&&c?1a.3Pq:0);if(0<u&&1>u){c=q[l];if(1a.3z===O.10j){1d v=m.1K.z;m.1K.z=v-c.3I+1;n.3W=1k.1V(1,c.3W-c.3I);n.3I=1;h.2H(e)}1s n.3I=c.3I*(0!==l?1a.2mD:1),n.3W=c.3W;h.1Gg(n);b=ic.2lu(1a,a,u,b);1a.3z===O.10j&&(m.1K.z=v,h.2H(e));1a.20u[d]=k.1y(b);1f b}}1a.20u[d]=1p 0}};1d 5t6=1g T;gc.1i.1Gj=1b(a,b){b=1a.271(a,b);if(g(b)&&1a.3z!==O.6G){k.9v(b.y,b.z,b.x,b);1d c=1a.11s;a=c.3c;c=c.1cZ(b,5t6);a.13B(c,b)}1f b};gc.1i.7ku=1b(a){1b b(a,b){1f Q.8h(a.3g,b)?a:1p 0}if(!g(a))1t 1g r("2mJ is 1X");1d c=1a.10a.7G.1qF;if(g(c)){10G{1d d=1a.1Gj(a,1g k);1d e=T.12y(d)}11B(f){1f}a=e.3N;d=e.4k;1j(c=b(c[0],e)||b(c[1],e);c.1qE===$c.31V;)c=b(c.1wJ,e)||b(c.1yy,e)||b(c.1yz,e)||c.1AI;e=c.3g;1f{x:c.x,y:c.y,6b:c.6b,4qD:(a-e.4o)/e.1G,4qC:(e.4P-d)/e.1D}}};gc.1i.3Lk=1b(a,b,c,d){1d e=1a;1f 4qB(b,1b(){1d b=e.11P(a,c,d,!0);if(g(b))1f{2c:b,1K:1p 0,31U:!1}}).5d(1b(a){1f a.2c})};1d 4qA=1g k,5t5=1g k;gc.1i.5t4=1b(a,b,c){v.2l("11j",a);if(1a.8C!==O.6G)1t 1g r("2l4 2xS are 1cF 11J in 3D 3z.");1f Az(1a,a,b,c,!1,!1)};gc.1i.5t3=1b(a,b,c,d){v.2l("11j",a);if(1a.8C!==O.6G)1t 1g r("2l4 2xS are 1cF 11J in 3D 3z.");1f JU(1a,a,b,c,d,!1,!1)};gc.1i.5t2=1b(a,b,c){v.2l("11j",a);if(1a.8C!==O.6G)1t 1g r("2l4 2xS are 1cF 11J in 3D 3z.");1d d=1a;a=rb.1y(a);b=g(b)?b.4h():b;1f MK(1a,a,b,c,1b(){1f Az(d,a,b,c,!1,!0)})};gc.1i.5t1=1b(a,b,c,d){v.2l("11j",a);if(1a.8C!==O.6G)1t 1g r("2l4 2xS are 1cF 11J in 3D 3z.");1d e=1a;a=rb.1y(a);c=g(c)?c.4h():c;1f MK(1a,a,c,d,1b(){1f JU(e,a,b,c,d,!1,!0)})};1d 5t0=1g k,5sZ=1g k,5sY=1g rb,4qz=1g T;gc.1i.2JT=1b(a,b,c){v.2l("1K",a);if(1a.8C!==O.6G)1t 1g r("2JT is 1cF 11J in 3D 3z.");if(!1a.2mI)1t 1g r("2JT 9N 4e 7y 19G. 1ie 2mI.");a=KU(1a,a);b=Az(1a,a,b,c,!0,!1);if(g(b))1f 4qy(1a,b.1K)};gc.1i.2xR=1b(a,b,c,d){v.2l("16L",a);if(1a.8C!==O.6G)1t 1g r("2JT is 1cF 11J in 3D 3z.");if(!1a.2mH)1t 1g r("2xR 9N 4e 7y 19G. 1ie 2mH.");c 2m k&&(d=c,c=1p 0,ek("2xR-2eu-1v3","2xR 14H 7kt an 2JS 1G 1aK 8w 1Z 4D 1aK in 1di 1.54.  9B 18d 1b 3OY 1B4 no 3Pp 2xQ in 1.56."));a=4qx(1a,a);b=Az(1a,a,b,c,!0,!1);if(g(b))1f k.1y(b.1K,d)};gc.1i.31T=1b(a,b,c){v.2l("3q",a);if(1a.8C!==O.6G)1t 1g r("31T is 1cF 11J in 3D 3z.");if(!1a.2mI)1t 1g r("31T 9N 4e 7y 19G. 1ie 2mI.");b=g(b)?b.4h():b;1j(1d d=a.1h,e=2K(d),f=0;f<d;++f)e[f]=5sX(1a,a[f],b,c);1f Z.all(e).4b(1b(b){1j(1d c=b.1h,d=0;d<c;++d)a[d].1D=b[d];1f a})};gc.1i.31S=1b(a,b,c){v.2l("2xP",a);if(1a.8C!==O.6G)1t 1g r("31S is 1cF 11J in 3D 3z.");if(!1a.2mH)1t 1g r("31S 9N 4e 7y 19G. 1ie 2mH.");b=g(b)?b.4h():b;1j(1d d=a.1h,e=2K(d),f=0;f<d;++f)e[f]=5sW(1a,a[f],b,c,a[f]);1f Z.all(e).4b(1b(b){1j(1d c=b.1h,d=0;d<c;++d)a[d]=b[d];1f a})};gc.1i.7ks=1b(a,b){1f ic.1yu(1a,a,b)};gc.1i.3Po=1b(){1a.2xM.3Po()};gc.1i.2ws=1b(a){1d b=1a.10a;b=g(b)?b.3c:1a.11s.3c;a=m(a,2);1a.2xM.2ws(a,b)};gc.1i.2wr=1b(a){1d b=1a.10a;b=g(b)?b.3c:1a.11s.3c;a=m(a,2);1a.2xM.2wr(a,b)};gc.1i.2HT=1b(a){1d b=1a.10a;b=g(b)?b.3c:1a.11s.3c;a=m(a,2);1a.2xM.2HT(a,b)};gc.1i.3Lr=1b(a){if(1a.1Gi!==Jf.6i){a=ic.2ds(1a,a,wN);1d b=LK(1a,a);if(-1<b){a=1a.4j;1d c=1g Aa;b=1a.1no[b];c.x=a.8j*b.x;c.y=a.7p*b.y;c.1G=a.8j*b.1G;c.1D=a.7p*b.1D;1f c}}c=1g Aa;c.x=0;c.y=0;c.1G=1a.10C.18L;c.1D=1a.10C.1gt;1f c};1d lu={},dk={},Jq={31R:0,2JR:1};gc.1i.3me=1b(a,b,c){if(!g(a))1t 1g r("add 1j4 17v 7r,2I is 1X.");b=b||{};1d d=Z.12L();1d e=-1!==a.3f("7kr")||-1!==a.3f("2JR-cn")?Jq.2JR:Jq.31R;1d f;e===Jq.31R&&(f=1===b.26Z?a+"&7kq=4qw":a.11c(0,a.3f("26f/2eB")+14));1d h=a;g(Ba.12M)&&(h=g(Ba.12M.1e7[h])?Ba.1oo(h,h):Ba.1cl(h));1d l=m(b.2i,kk(h)),k=1a;e===Jq.31R?(b.3Pn=Jq.31R,g(lu[f])?(0===lu[f]&&(g(dk[f])||(dk[f]={}),g(dk[f][h])||(dk[f][h]={5sU:k,1ma:d,3v:b,1pk:l,2P:c})),1===lu[f]&&NK(h,k,d,b,l,c,a),2===lu[f]&&d.7N("add 1j4 7r 1bf,"+h)):(lu[f]=0,5sV(f,b.26Z,b.1x1,h).4b(1b(){lu[f]=1;NK(h,k,d,b,l,c,a);if(g(dk[f]))1j(1d e in dk[f])NK(e,dk[f][e].5sU,dk[f][e].1ma,dk[f][e].3v,dk[f][e].1pk,dk[f][e].2P),4Y dk[f][e]},1b(a){lu[f]=2;4Y dk[f];d.7N("add 1j4 7r 1bf,"+a.2I)}).10g(1b(a){lu[f]=2;4Y dk[f];d.7N(1hO&a.2I)}))):(b.3Pn=Jq.2JR,NK(h,k,d,b,l,c,a));1f d.10l};gc.1i.5sM=1b(a,b,c){if(!g(a))1t 1g r("add 3Pm 7r,2I is 1X.");b=b||{};1d d=a;g(Ba.12M)&&(d=Ba.1cl(d));1d e=m(b.2i,kk(d)),f=1a,h=Z.12L();Fe(d).4b(1b(a){a=1g 5gh({2i:e,2I:d,1TW:a.7kp,9Q:a.9Q,4r:f});f.8U.add(a,c)}).10g(1b(a){h.7N("add 3Pm 7r 1bf,"+a)});1f h.10l};1d 5sT=/^15A?\\(\\s*([0-9.]+%?)\\s*,\\s*([0-9.]+%?)\\s*,\\s*([0-9.]+%?)(?:\\s*,\\s*([0-9.]+))?\\s*\\)$/i,4qv=/^15A?\\(\\s*([0-9.]+%?)\\s*,\\s*([0-9.]+%?)\\s*,\\s*([0-9.]+%?)(?:\\s*,\\s*([0-9.]+))?\\s*\\)\\)$/i;gc.1i.1pj=1b(a,b){if("2eB"!=a.4h(-9))1t 1g r("1pj 4r 2I 7A!");1d c=a+"/2eA.15l";g(Ba.12M)&&(c=Ba.1cl(c));1d d=1a,e=1a.3w,f=Z.12L();5sS(c,b,d.1g2).4b(1b(b){if(g(b)){1d c=b.9w+".15l";g(Ba.12M)&&(c=Ba.1cl(c));5sR(c,d.1g2).4b(1b(b){10G{if("7ko"===b.7kn){d.3z=O.15j;b.3w.1tn-=1k.PI;1d c=1g k(b.3w.3N,b.3w.4k,b.3w.1eD);e.1dG({16h:c,11f:{8e:b.3w.8e,8q:b.3w.1tn,12C:0},1hk:!1})}1s{b.3w.1tn-=90;c=k.8g(b.3w.3N,b.3w.4k,b.3w.1eD);e.1dG({16h:c,11f:{8e:B.8I(b.3w.8e),8q:B.8I(b.3w.1tn),12C:0},1hk:!1});1d h=-1!==a.3f("/4kH")?a.11c(0,a.3f("/4kH")+8)+"/5sQ.15l":a.11c(0,a.3f("/2eB")+10)+"/5sQ.15l";Fe(h).4b(1b(a){if((!g(a.5sO)||0<5sP(a.5sO))&&-90!==b.3w.1tn){a=1g rb(c,e.2G);1d d=ib.1TV(a,ba.9y);if(d){1d f=k.1T(c,1g k);k.11k(f,f);f=1g rb(c,f);1d h=ib.1TV(f,ba.9y);h&&(a=rb.1n3(a,0<d.4I?d.4I:d.4U,1g k),f=rb.1n3(f,0<h.4I?h.4I:h.4U,1g k),d=k.4B(a,f,1g k),a=k.1B3(a,f),e.17b(d,-a))}}})}}11B(w){f.7N("3w 1C 11A 1bf,"+w)}}).10g(1b(a){f.7N("1n 4r 1nn 1bf,"+a)});5sN(b.9w,d.1g2).4b(1b(c){1d e=c.1j4,h=c.8v,l=c.1st,k=c.4qu,m=b.9w+"/9Q/",p=[],q=e.1h-1;1j(c=q;0<=c;c--){1d r=e[c],u=m+1Gh(r.2i)+"/3Pl.1g3";g(Ba.12M)&&(u=Ba.1cl(u));(1b(b){1d c=LU(u).4b(1b(c){10G{1d e=a+"/1x2/"+1Gh(c.2i)+"/1nn";c.1x1=d.1g2;1f d.3me(e,c,b)}11B(Fa){f.7N("add 1v9 7r"+c.2i+" 1bf,"+Fa)}}).10g(1b(a){f.7N("1n 1v9 7r 1nn 1bf,"+a+",7r 2i is "+r.2i)});p.1q(c)})(q-c)}1j(c=k.1h-1;0<=c;c--)r=k[c],u=m+1Gh(r.2i)+"/3Pl.1g3",g(Ba.12M)&&(u=Ba.1cl(u)),1b(b){1d c=LU(u).4b(1b(c){10G{1d e=a+"/1x2/"+1Gh(c.2i)+"/1nn";1f d.5sM(e,c,b)}11B(Fa){f.7N("add 3Pm 7r"+c.2i+" 1bf,"+Fa)}}).10g(1b(a){f.7N("1n 3Pm 7r 1nn 1bf,"+a+",7r 2i is "+r.2i)});p.1q(c)}(k.1h-1-c);1j(c=h.1h-1;0<=c;c--){e=a+"/1x2/"+1Gh(h[c].2i);e=1g UA({2I:e});10G{1d v=d.1uU.2mG(e);p.1q(v)}11B(Ub){f.7N("add 8v 7r "+h[c].2i+" 1bf,"+Ub)}}if(g(l)){h=a+"/1x2/"+1Gh(l.2i);10G{d.16u=1g Gm({2I:h,31Q:!0}),p.1q(d.16u)}11B(Ub){f.7N("add 1st 7r "+l.2i+" 1bf,"+Ub)}}Z.all(p,1b(a){f.5h(a)},1b(a){f.7N("add all 9Q 1bf,"+a)})}).10g(1b(a){f.7N("1n 7r 3mg 1bf,"+a)})}1s f.7N("4r 3mg 1pa 1F!")}).10g(1b(a){f.7N("1n 4r 3mg 1bf,"+a)});1f f.10l};gc.1i.7km=1b(a){a.1fs="3M";1f 1a.5sL(a)};gc.1i.7kl=1b(a){1f 1a.5sJ(a)};gc.1i.7kk=1b(a){1f 1a.5sI(a)};gc.1i.5sL=1b(a){if(!g(a.2I))1t 1g r("2I is 1X!");1d b=a.2i||Ld();if(g(a.1fs)&&"3M"==a.1fs)1d c=Xi;1s c=Zi,b=a.2I;1d d=1a.2mF[b];g(d)||(1a.2mF[b]=d=1g c(1a.4j,a));b=1a.1uU.5sK(d);d.2xO=b;g(1a.5Y.3mf)?1a.5Y.3mf++:1a.5Y.3mf=1;a=1g of({9Z:d,7r:d.2xO,4qt:1a.1uU,4r:1a,6o:a.6o,2i:a.2i||Ld(),2JQ:a.2JQ});d.2xO.1M9=a.1M9;1a.2JM.add(a);1f a};gc.1i.5sJ=1b(a){if(!g(a))1t 1g r("2i is 1X!");1f 1a.2JM.1oZ(a)};gc.1i.5sI=1b(a){1d b=1a.2JM.1oZ(a);if(!g(b))1f!1;1a.2JM.3S(a);1f!0};gc.1i.7kj=1b(a,b,c){if(!g(a)||!g(b)||!g(c))1t 1g r("2I and 7ki and 1pk is 1X!");if("2eB"!=a.4h(-9))1t 1g r("1pj 4r 2I 7A!");1d d=1a;b=a+"/2eA/"+1Gh(b)+"/9Q/"+1Gh(c)+"/3Pl.1g3";g(Ba.12M)&&(b=Ba.1cl(b));1d e=Z.12L();LU(b).4b(1b(b){10G{1d c=a+"/1x2/"+1Gh(b.2i)+"/1nn";b.1x1=d.1g2;1d f=d.3me(c,b);e.5h(f)}11B(p){e.7N("add 1v9 7r"+b.2i+" 1bf,"+p)}}).10g(1b(a){e.7N("1n 1v9 7r 1nn 1bf,"+a+",7r 2i is "+c)});1f e.10l};gc.1i.7kh=1b(a,b){a=1g 2YD({2I:a,7kg:b,gl:1a.4j.6M,1O:1a.4j});1a.13y.add(a);1f a};gc.1i.7kf=1b(a){if(!g(a))1t 1g r("2I is 1X!");1d b=1a;if(-1<a.3f(".nc")){1d c=Z.12L();Z(Ng(a),1b(a){a=1g 4fk(a);1d d=1g nz(b.4j);d.2JP=a;d.4qs=a.1Pg;b.8U.add(d);c.5h(d)}).10g(1b(a){1t 1g r("3md a 1eu 5sH 1ol!");});1f c.10l}};gc.1i.7ke=1b(a,b){if(!g(a))1t 1g r("2I is 1X!");1d c=1a;if(-1<a.3f(".nc")){1d d=Z.12L();Z(Ng(a),1b(a){a=1g 4fk(a);1d e=1g Gq(c.4j);e.2JP=a;e.4qs=a.1Pg;e.6X=b;c.8U.add(e);c.26X.5F=!0;d.5h(e)}).10g(1b(a){1t 1g r("3md a 1eu 5sH 1ol!");});1f d.10l}};gc.1i.4qr=1b(a){1d b=1a.4j,c=1a.1B2;1a.1by=c;1d d=c.5q;d.x=0;d.y=0;d.1G=b.8j;d.1D=b.7p;Dg.x=0;Dg.y=0;Dg.1G=b.8j;Dg.1D=b.7p;1d e=b.13m,f=1a.5Y;Uo(1a);f.1M8=!1;f.10s.11P=!0;e.2H(f);c=c.1M7.1jM(Dg,d);d=1a.1jL.1kr;1a.1jL.1kr=!1;1a.1jL.2mE=!0;e=1a.3w;f=k.1y(e.1K);1d h=e.8e,g=e.8q,m=e.12C;1a.3w.1dG(a);vn(1a);Iq(1a,c,zz);Vo(1a,c);b.1sr();1a.1jL.1kr=d;1a.1jL.2mE=!1;e.1dG({16h:f,11f:{8e:h,8q:g,12C:m}})};gc.1i.7kd=1b(a,b){1d c=1a.4j.7p-a.y,d=1a.4j.7p-b.y,e=1k.2o(a.x,b.x),f=1k.2o(c,d);a=1k.1V(a.x,b.x);d=1k.1V(c,d);c=1g E;c.x=e/1a.4j.8j;c.y=f/1a.4j.7p;c.z=a/1a.4j.8j;c.w=d/1a.4j.7p;1a.31P=!0;1a.5sG=1g E(e,f,a,d);e=0;1j(f=1a.8U.1DL.1h;e<f;e++)d=1a.8U.1DL[e],d.5sF=c,A.9b(1a.3w.3j.1pv,1a.3w.1on,d.4qq)};gc.1i.7kc=1b(){1j(1d a=1g Ia,b=1a.8U.1DL,c=0;10>c;c++){1a.31P=!0;1a.3ju();1a.4qp();1j(1d d=!1,e=0;e<b.1h;e++){1d f=b[e],h=f.2JO();0>=h.1h||(a.8h(f.id)&&(h=h.9V(a.1n(f.id).1a8)),a.1C(f.id,{1pk:f.2i,3Pk:e,1a8:h}),d=!0,f.1fU(),f.2xN(h,!1))}if(!d)1W}d=[];1a.31P=!1;1j(c=0;c<a.2a.1h;c++)f=b[a.2a[c].3Pk],f.2xN([],!1),d.1q({1pk:a.2a[c].1pk,1a8:a.2a[c].1a8});1f d};gc.1i.4qp=1b(){1d a=1a.1O,b=a.13m,c=1a.5Y,d=1a.1B2;1a.1by=d;Uo(1a);c.10s.3t=!0;c.10s.3mc=1a.26a.3Pj;c.1a4=m(1a.1a4,y.1a7);b.2H(c);b=d.5q;b.x=0;b.y=0;b.1G=a.8j;b.1D=a.7p;d=d.1md;d.4Q=1p 0;d.1Jm=1p 0;d.1g1=1p 0;d.5q=Aa.1y(b,d.5q);4qo(1a);4qn(1a);vn(1a);Vo(1a,d);d.4Q=1p 0;4qm(1a);a.1sr()};gc.1i.1sc=1b(a,b){1d c=1a.4j,d=c.13m,e=1a.5Y,f=1a.1B2;1a.1by=f;1d h=f.5q;h.x=0;h.y=0;h.1G=c.8j;h.1D=c.7p;1d l=1g C(.5*c.8j,.5*c.7p),m=f.1md;m.5q=Aa.1y(h,m.5q);EU(e.10s);e.10s.11P=!0;e.10s.4e=!0;vn(1a);m=f.2JN.2H(c,l,h);e=1a.3w;h=k.1y(e.6K);1d n=k.1y(e.2G),q=k.1y(e.up);e.1dG({16h:k.8g(a,b,9E3)});Iq(1a,m,zz);Vo(1a,m);c.1sr();a=g(e.3j.16X)?e.3j.1y(EK):g(e.3j.2ey)?e.3j.1y(FK):g(e.3j.1G)?e.3j.1y(GK):e.3j.1y(HK);1d r=f.1Jl,u=r.1h;f=1g k;1j(b=0;b<u;++b)if(m=1a.1ss.26Y(1a,b).19x(c,l.x,l.y),0<m&&1>m){c=r[b];a.3I=c.3I*(0!==b?1a.2mD:1);a.3W=c.3W;d.1Gg(a);f=ic.2lu(1a,l,m,f);1d v=T.12y(f).1D;1W}e.1dG({16h:h,11f:{2G:n,up:q}});1f v};gc.1i.3mb=1b(a){g(a)&&1a.2ez.3mb(a)};gc.1i.3Pi=1b(a){g(a)&&1a.2ez.3Pi(a)};gc.1i.7kb=1b(){1d a=1a,b=Z.12L(),c=!1;1a.2lL.7K(1b(){if(!c){c=!0;1d d=a.1O.1tG({}),e=3n.4O("3M");e.1D=a.1O.7p;e.1G=a.1O.8j;1d f=e.1ft("2d"),h=f.5sE(e.1G,e.1D);h.2g.1C(d);f.2mb(h,0,0);d=f.1LW(0,0,e.1G,e.1D);1j(h=0;h<d.1D/2;++h)1j(1d g=0;g<d.1G;++g){1d k=4*h*d.1G+4*g,n=4*(d.1D-h)*d.1G+4*g,m=d.2g[k],q=d.2g[k+1],r=d.2g[k+2],u=d.2g[k+3];d.2g[k]=d.2g[n];d.2g[k+1]=d.2g[n+1];d.2g[k+2]=d.2g[n+2];d.2g[k+3]=d.2g[n+3];d.2g[n]=m;d.2g[n+1]=q;d.2g[n+2]=r;d.2g[n+3]=u}f.2lF(0,0,d.1G,d.1D);f.2mb(d,0,0);e=e.3ma();b.5h(e)}});1f b.10l};gc.1i.5sD=1b(a){if(1a.3z===O.6G){1d b=1a.4j,c=1a.1B2;1a.1by=c;1d d=1a.3w,e=b.13m,f=k.1y(d.2G),h=k.1y(d.up),l=k.4B(a,d.2W,1g k);d.1dG({1K:d.1K,11f:{2G:a,up:l}});a=1g C(.5*b.8j,.5*b.7p);4ql(1a,a);1a.3w.1dG({1K:1a.3w.1K,11f:{2G:f,up:h}});d=g(d.3j.16X)?d.3j.1y(EK):g(d.3j.2ey)?d.3j.1y(FK):g(d.3j.1G)?d.3j.1y(GK):d.3j.1y(HK);l=c.1Jl;1d m=l.1h;c=1g k;1j(f=0;f<m;++f)if(h=1a.1ss.26Y(1a,f).19x(b,a.x,a.y),0<h&&1>h)1f b=l[f],d.3I=b.3I*(0!==f?1a.2mD:1),d.3W=b.3W,e.1Gg(d),ic.2lu(1a,a,h,c)}};gc.1i.3Z=1b(){1f!1};gc.1i.1M=1b(){1a.9Q.7f();1a.9Q.1sr(1a.5Y);1a.1ck.7f();1a.2JM.7f();1a.31O.7f();1a.1yP.1M();1a.1sa.7f();1a.31N=1a.31N&&1a.31N.1M();1a.1Zw=1a.1Zw&&1a.1Zw.1M();1a.1DK=1a.1DK&&!1a.1DK.3Z()&&1a.1DK.1M();1a.15G=1a.15G&&1a.15G.1M();1a.1yO=1a.1yO&&1a.1yO.1M();1a.1cD=1a.1cD&&1a.1cD.1M();1a.20t=1a.20t&&1a.20t.1M();1a.2mC=1a.2mC&&1a.2mC.1M();1a.4qk=1a.4qk&&1a.4qk.1M();1a.1PI=1a.1PI&&1a.1PI.1M();1a.1M6=1a.1M6&&1a.1M6.1M();1a.31M=1a.31M&&1a.31M.1M();1a.2xM=1a.2xM&&1a.2xM.1M();1a.2mB=1a.2mB&&1a.2mB.1M();1a.3m9=1a.3m9&&1a.3m9.1M();1a.1B2=1a.1B2&&1a.1B2.1M();1a.20s=1a.20s&&1a.20s.1M();1a.1by=1p 0;1a.5sC&&1a.10C.1eZ.18Z(1a.3jv);g(1a.1Gf)&&(1a.1Gf.1M(),1a.5Y.18w.1Ge=1p 0);g(1a.2xL)&&(1a.2xL.1M(),1a.5Y.18w.4qj=1p 0);g(1a.2mA)&&(1a.2mA.1M(),1a.5Y.18w.5sB=1p 0);g(1a.1Jk)&&(1a.1Jk.1M(),1a.5Y.18w.4qi=1p 0);g(1a.1PH)&&(1a.1PH.1M(),1a.5Y.18w.5sA=1p 0);1a.26a=1a.26a&&1a.26a.1M();1a.4j=1a.4j&&1a.4j.1M();1a.5Y.1DJ=1a.5Y.1DJ&&1a.5Y.1DJ.1M();g(1a.1Dv)&&(1a.1Dv=1a.1Dv&&1a.1Dv.1M(),1a.26i.1eZ.18Z(1a.26i));1a.5sz();1a.5sy();1j(1d a=0;a<1a.2xK.1h;++a)1a.2xK[a]();1a.2xK.1h=0;1a.2xJ=1a.2xJ&&!1a.2xJ.3Z()&&1a.2xJ.1M();1a.2mz=1a.2mz&&!1a.2mz.3Z()&&1a.2mz.1M();g(1a.26X)&&1a.26X.1M();1a.26X=1p 0;g(1a.20r)&&1a.20r.1M();1a.20r=1p 0;g(1a.26W)&&1a.26W.1M();1a.26W=1p 0;g(1a.3Ph)&&1a.3Ph.1M();g(1a.3Pg)&&1a.3Pg.1M();1f la(1a)};1L.2X(jw.1i,{3c:{1n:1b(){1f 1a.5W}}});jw.1i.5sx=1b(a){1a.3m8.w=a?1:0};jw.1i.2H=1b(a){if(1a.2p){1d b=a.3z;if((b===O.6G||b===O.1at)&&a.10s.3t){b=1a.10u;if(!g(b.4c)){1d c=a.1O,d=$e.14t(1g $e({10N:k.4g(1a.5W.10N,1.2ku,1g k),1in:256,1im:256,9S:za.1Gd}));b.4c=Fb.1M5({1O:c,3y:d,7W:Sc.2JJ(d),1tF:xa.7C});1a.1gz=pa.4t({8d:{3e:!0,18X:di.1TU},12e:Dc.1bQ,13Q:!1});1a.5sw=pa.4t({8d:{3e:!0,18X:di.1sq},12e:Dc.1bQ,13Q:!1});b.4w=1a.1gz;d=1g ja({2N:["2G2"],5p:["3Q 1m 1K;\\1B 1m 1aW;\\4i 1o Kr = 0.2tA;\\4i 1o 2bC = Kr * 4.0 * 1eN;\\4i 1o Km = 0.2bF;\\4i 1o 2bB = Km * 4.0 * 1eN;\\4i 1o 1rD = 15.0;\\4i 1o 2by = Km * 1rD;\\4i 1o 2bx = Kr * 1rD;\\4i 1w 1L4 = 1w(\\n5.3fP,\\n9.3fO,\\3fN.3fL);\\4i 1o 1qe = 0.25;\\4i 7P 1I0 = 2;\\4i 1o 1I1 = 2.0;\\1J 1w 1La;\\1J 1w 1L9;\\1J 1w 1Fg;\\1r 3b(1o 1ai)\\n{\\1r x = 1.0 - 1ai;\\2j 1qe  * 108(-0.2tz + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\\n}\\2s 2k(1p)\\n{\\1r 1xZ = 1aW.x;\\1r 1qf = 1aW.y;\\1r 1wh = 1aW.z;\\1R 1L3 = 1K.1H;\\1R 11j = 1L3 - 1al;\\1r 3W = 1h(11j);\\3fK /= 3W;\\1r 1xY = 1.0 / (1qf - 1wh);\\n#1z 2G2\\1r B = 2.0 * 2A(1al, 11j);\\1r C = 1xZ * 1xZ - 1qf * 1qf;\\1r 2bE = 1V(0.0, B*B - 4.0 * C);\\1r 3I = 0.5 * (-B - 3Y(2bE));\\1R 4I = 1al + 11j * 3I;\\3fJ -= 3I;\\1r 1jw = 2A(11j, 4I) / 1qf;\\1r 2bD = 108(-1.0 / 1qe );\\1r 1L7 = 2bD*3b(1jw);\\n#1s // 2G1\\1R 4I = 1al;\\1r 1D = 1h(4I);\\1r 4e = 108((1xY / 1qe ) * (1wh - 1xZ));\\1r 1jw = 2A(11j, 4I) / 1D;\\1r 1L7 = 4e*3b(1jw);\\n#1u\\1r 1eS = 1aW.w;\\1R 19X =\\2jK * 1o(1eS == 0.0) +\\2jJ * 1o(1eS == 1.0) +\\2jI * 1o(1eS == 2.0);\\2jH = 1T(19X);\\1r 1L8 = 3W / 1I1;\\1r 2bz = 1L8 * 1xY;\\1R 1L6 = 11j * 1L8;\\1R 1xX = 4I + 1L6 * 0.5;\\1R 1L5 = 1w(0.0, 0.0, 0.0);\\14D(7P i=0; i<1I0; i++)\\n{\\1r 1D = 1h(1xX);\\1r 4e = 108((1xY / 1qe ) * (1wh - 1D));\\1r 1HZ = 2A(19X, 1xX) / 1D;\\1r 1HY = 2A(11j, 1xX) / 1D;\\1r 1HX = (1L7 + 4e*(3b(1HZ) - 3b(1HY)));\\1R 2bA = 108(-1HX * (1L4 * 2bC + 2bB));\\3fI += 2bA * (4e * 2bz);\\3fH += 1L6;\\n}\\3fG = 1L5 * 2by;\\3fF = 1L5 * (1L4 * 2bx);\\3fE = 1al - 1L3;\\11u = 11o * 1K;\\n}\\n"]});1a.31I=Ga.4t({1O:c,5O:d,5A:"#1z 1Oj\\1B 1w 1p9;\\n#1u\\1B 1m 1aW;\\4i 1o g = -0.95;\\4i 1o g2 = g * g;\\1J 1w 1La;\\1J 1w 1L9;\\1J 1w 1Fg;\\1J 1w 13L;\\2s 2k (1p)\\n{\\1r 1eS = 1aW.w;\\1R 19X =\\2jK * 1o(1eS == 0.0) +\\2jJ * 1o(1eS == 1.0) +\\2jI * 1o(1eS == 2.0);\\2jH = 1T(19X);\\1r 1ai = 2A(19X, 1T(1Fg)) / 1h(1Fg);\\1r 2tE = 0.75 * (1.0 + 1ai * 1ai);\\1r 2tD = 1.5 * ((1.0 - g2) / (2.0 + g2)) * (1.0 + 1ai * 1ai) / 3r(1.0 + g2 - 2.0 * g * 1ai, 1.5);\\1R 2y = 2tE * 1La + 2tD * 1L9;\\n#1bI 1js\\4i 1o 1p8 = 2.0;\\2bG = 1w(1.0) - 108(-1p8 * 2y);\\n#1u\\n#1z 1Oj\\1R 1fQ = 24U(2y);\\1Cy.x += 1p9.x;\\1Cy.y = 2Y(1fQ.y + 1p9.y, 0.0, 1.0);\\1Cy.z = 1fQ.z > 1bg ? 1fQ.z + 1p9.z : 0.0;\\2bG = 24T(1fQ);\\n#1u\\1r 2tB = 2Y((1aW.y - 1aW.x) / (1aW.y - 1aW.z), 0.0, 1.0);\\1r 2tC = (1eS != 0.0) ? 2Y(2A(1T(1al), 19X), 0.0, 1.0) : 1.0;\\3Fp *= 3r(2tC, 0.5);\\3R = 1m(2y, 3T(2y.b, 1.0, 2tB) * 13f(0.0, 1.0, 1iO));\\n}\\n"});d=1g ja({2N:["2G1"],5p:["3Q 1m 1K;\\1B 1m 1aW;\\4i 1o Kr = 0.2tA;\\4i 1o 2bC = Kr * 4.0 * 1eN;\\4i 1o Km = 0.2bF;\\4i 1o 2bB = Km * 4.0 * 1eN;\\4i 1o 1rD = 15.0;\\4i 1o 2by = Km * 1rD;\\4i 1o 2bx = Kr * 1rD;\\4i 1w 1L4 = 1w(\\n5.3fP,\\n9.3fO,\\3fN.3fL);\\4i 1o 1qe = 0.25;\\4i 7P 1I0 = 2;\\4i 1o 1I1 = 2.0;\\1J 1w 1La;\\1J 1w 1L9;\\1J 1w 1Fg;\\1r 3b(1o 1ai)\\n{\\1r x = 1.0 - 1ai;\\2j 1qe  * 108(-0.2tz + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\\n}\\2s 2k(1p)\\n{\\1r 1xZ = 1aW.x;\\1r 1qf = 1aW.y;\\1r 1wh = 1aW.z;\\1R 1L3 = 1K.1H;\\1R 11j = 1L3 - 1al;\\1r 3W = 1h(11j);\\3fK /= 3W;\\1r 1xY = 1.0 / (1qf - 1wh);\\n#1z 2G2\\1r B = 2.0 * 2A(1al, 11j);\\1r C = 1xZ * 1xZ - 1qf * 1qf;\\1r 2bE = 1V(0.0, B*B - 4.0 * C);\\1r 3I = 0.5 * (-B - 3Y(2bE));\\1R 4I = 1al + 11j * 3I;\\3fJ -= 3I;\\1r 1jw = 2A(11j, 4I) / 1qf;\\1r 2bD = 108(-1.0 / 1qe );\\1r 1L7 = 2bD*3b(1jw);\\n#1s // 2G1\\1R 4I = 1al;\\1r 1D = 1h(4I);\\1r 4e = 108((1xY / 1qe ) * (1wh - 1xZ));\\1r 1jw = 2A(11j, 4I) / 1D;\\1r 1L7 = 4e*3b(1jw);\\n#1u\\1r 1eS = 1aW.w;\\1R 19X =\\2jK * 1o(1eS == 0.0) +\\2jJ * 1o(1eS == 1.0) +\\2jI * 1o(1eS == 2.0);\\2jH = 1T(19X);\\1r 1L8 = 3W / 1I1;\\1r 2bz = 1L8 * 1xY;\\1R 1L6 = 11j * 1L8;\\1R 1xX = 4I + 1L6 * 0.5;\\1R 1L5 = 1w(0.0, 0.0, 0.0);\\14D(7P i=0; i<1I0; i++)\\n{\\1r 1D = 1h(1xX);\\1r 4e = 108((1xY / 1qe ) * (1wh - 1D));\\1r 1HZ = 2A(19X, 1xX) / 1D;\\1r 1HY = 2A(11j, 1xX) / 1D;\\1r 1HX = (1L7 + 4e*(3b(1HZ) - 3b(1HY)));\\1R 2bA = 108(-1HX * (1L4 * 2bC + 2bB));\\3fI += 2bA * (4e * 2bz);\\3fH += 1L6;\\n}\\3fG = 1L5 * 2by;\\3fF = 1L5 * (1L4 * 2bx);\\3fE = 1al - 1L3;\\11u = 11o * 1K;\\n}\\n"]});1a.31H=Ga.4t({1O:c,5O:d,5A:"#1z 1Oj\\1B 1w 1p9;\\n#1u\\1B 1m 1aW;\\4i 1o g = -0.95;\\4i 1o g2 = g * g;\\1J 1w 1La;\\1J 1w 1L9;\\1J 1w 1Fg;\\1J 1w 13L;\\2s 2k (1p)\\n{\\1r 1eS = 1aW.w;\\1R 19X =\\2jK * 1o(1eS == 0.0) +\\2jJ * 1o(1eS == 1.0) +\\2jI * 1o(1eS == 2.0);\\2jH = 1T(19X);\\1r 1ai = 2A(19X, 1T(1Fg)) / 1h(1Fg);\\1r 2tE = 0.75 * (1.0 + 1ai * 1ai);\\1r 2tD = 1.5 * ((1.0 - g2) / (2.0 + g2)) * (1.0 + 1ai * 1ai) / 3r(1.0 + g2 - 2.0 * g * 1ai, 1.5);\\1R 2y = 2tE * 1La + 2tD * 1L9;\\n#1bI 1js\\4i 1o 1p8 = 2.0;\\2bG = 1w(1.0) - 108(-1p8 * 2y);\\n#1u\\n#1z 1Oj\\1R 1fQ = 24U(2y);\\1Cy.x += 1p9.x;\\1Cy.y = 2Y(1fQ.y + 1p9.y, 0.0, 1.0);\\1Cy.z = 1fQ.z > 1bg ? 1fQ.z + 1p9.z : 0.0;\\2bG = 24T(1fQ);\\n#1u\\1r 2tB = 2Y((1aW.y - 1aW.x) / (1aW.y - 1aW.z), 0.0, 1.0);\\1r 2tC = (1eS != 0.0) ? 2Y(2A(1T(1al), 19X), 0.0, 1.0) : 1.0;\\3Fp *= 3r(2tC, 0.5);\\3R = 1m(2y, 3T(2y.b, 1.0, 2tB) * 13f(0.0, 1.0, 1iO));\\n}\\n"})}if((c=!(B.5T(1a.31L,0,B.1hn)&&B.5T(1a.31K,0,B.1hn)&&B.5T(1a.31J,0,B.1hn)))&&(!g(1a.2JL)||!g(1a.2JK))){d=a.1O;1d e=1g ja({2N:["2G2"],5p:["3Q 1m 1K;\\1B 1m 1aW;\\4i 1o Kr = 0.2tA;\\4i 1o 2bC = Kr * 4.0 * 1eN;\\4i 1o Km = 0.2bF;\\4i 1o 2bB = Km * 4.0 * 1eN;\\4i 1o 1rD = 15.0;\\4i 1o 2by = Km * 1rD;\\4i 1o 2bx = Kr * 1rD;\\4i 1w 1L4 = 1w(\\n5.3fP,\\n9.3fO,\\3fN.3fL);\\4i 1o 1qe = 0.25;\\4i 7P 1I0 = 2;\\4i 1o 1I1 = 2.0;\\1J 1w 1La;\\1J 1w 1L9;\\1J 1w 1Fg;\\1r 3b(1o 1ai)\\n{\\1r x = 1.0 - 1ai;\\2j 1qe  * 108(-0.2tz + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\\n}\\2s 2k(1p)\\n{\\1r 1xZ = 1aW.x;\\1r 1qf = 1aW.y;\\1r 1wh = 1aW.z;\\1R 1L3 = 1K.1H;\\1R 11j = 1L3 - 1al;\\1r 3W = 1h(11j);\\3fK /= 3W;\\1r 1xY = 1.0 / (1qf - 1wh);\\n#1z 2G2\\1r B = 2.0 * 2A(1al, 11j);\\1r C = 1xZ * 1xZ - 1qf * 1qf;\\1r 2bE = 1V(0.0, B*B - 4.0 * C);\\1r 3I = 0.5 * (-B - 3Y(2bE));\\1R 4I = 1al + 11j * 3I;\\3fJ -= 3I;\\1r 1jw = 2A(11j, 4I) / 1qf;\\1r 2bD = 108(-1.0 / 1qe );\\1r 1L7 = 2bD*3b(1jw);\\n#1s // 2G1\\1R 4I = 1al;\\1r 1D = 1h(4I);\\1r 4e = 108((1xY / 1qe ) * (1wh - 1xZ));\\1r 1jw = 2A(11j, 4I) / 1D;\\1r 1L7 = 4e*3b(1jw);\\n#1u\\1r 1eS = 1aW.w;\\1R 19X =\\2jK * 1o(1eS == 0.0) +\\2jJ * 1o(1eS == 1.0) +\\2jI * 1o(1eS == 2.0);\\2jH = 1T(19X);\\1r 1L8 = 3W / 1I1;\\1r 2bz = 1L8 * 1xY;\\1R 1L6 = 11j * 1L8;\\1R 1xX = 4I + 1L6 * 0.5;\\1R 1L5 = 1w(0.0, 0.0, 0.0);\\14D(7P i=0; i<1I0; i++)\\n{\\1r 1D = 1h(1xX);\\1r 4e = 108((1xY / 1qe ) * (1wh - 1D));\\1r 1HZ = 2A(19X, 1xX) / 1D;\\1r 1HY = 2A(11j, 1xX) / 1D;\\1r 1HX = (1L7 + 4e*(3b(1HZ) - 3b(1HY)));\\1R 2bA = 108(-1HX * (1L4 * 2bC + 2bB));\\3fI += 2bA * (4e * 2bz);\\3fH += 1L6;\\n}\\3fG = 1L5 * 2by;\\3fF = 1L5 * (1L4 * 2bx);\\3fE = 1al - 1L3;\\11u = 11o * 1K;\\n}\\n"]}),f=1g ja({2N:["1Oj"],5p:["#1z 1Oj\\1B 1w 1p9;\\n#1u\\1B 1m 1aW;\\4i 1o g = -0.95;\\4i 1o g2 = g * g;\\1J 1w 1La;\\1J 1w 1L9;\\1J 1w 1Fg;\\1J 1w 13L;\\2s 2k (1p)\\n{\\1r 1eS = 1aW.w;\\1R 19X =\\2jK * 1o(1eS == 0.0) +\\2jJ * 1o(1eS == 1.0) +\\2jI * 1o(1eS == 2.0);\\2jH = 1T(19X);\\1r 1ai = 2A(19X, 1T(1Fg)) / 1h(1Fg);\\1r 2tE = 0.75 * (1.0 + 1ai * 1ai);\\1r 2tD = 1.5 * ((1.0 - g2) / (2.0 + g2)) * (1.0 + 1ai * 1ai) / 3r(1.0 + g2 - 2.0 * g * 1ai, 1.5);\\1R 2y = 2tE * 1La + 2tD * 1L9;\\n#1bI 1js\\4i 1o 1p8 = 2.0;\\2bG = 1w(1.0) - 108(-1p8 * 2y);\\n#1u\\n#1z 1Oj\\1R 1fQ = 24U(2y);\\1Cy.x += 1p9.x;\\1Cy.y = 2Y(1fQ.y + 1p9.y, 0.0, 1.0);\\1Cy.z = 1fQ.z > 1bg ? 1fQ.z + 1p9.z : 0.0;\\2bG = 24T(1fQ);\\n#1u\\1r 2tB = 2Y((1aW.y - 1aW.x) / (1aW.y - 1aW.z), 0.0, 1.0);\\1r 2tC = (1eS != 0.0) ? 2Y(2A(1T(1al), 19X), 0.0, 1.0) : 1.0;\\3Fp *= 3r(2tC, 0.5);\\3R = 1m(2y, 3T(2y.b, 1.0, 2tB) * 13f(0.0, 1.0, 1iO));\\n}\\n"]});1a.2JL=Ga.4t({1O:d,5O:e,5A:f});e=1g ja({2N:["2G1"],5p:["3Q 1m 1K;\\1B 1m 1aW;\\4i 1o Kr = 0.2tA;\\4i 1o 2bC = Kr * 4.0 * 1eN;\\4i 1o Km = 0.2bF;\\4i 1o 2bB = Km * 4.0 * 1eN;\\4i 1o 1rD = 15.0;\\4i 1o 2by = Km * 1rD;\\4i 1o 2bx = Kr * 1rD;\\4i 1w 1L4 = 1w(\\n5.3fP,\\n9.3fO,\\3fN.3fL);\\4i 1o 1qe = 0.25;\\4i 7P 1I0 = 2;\\4i 1o 1I1 = 2.0;\\1J 1w 1La;\\1J 1w 1L9;\\1J 1w 1Fg;\\1r 3b(1o 1ai)\\n{\\1r x = 1.0 - 1ai;\\2j 1qe  * 108(-0.2tz + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\\n}\\2s 2k(1p)\\n{\\1r 1xZ = 1aW.x;\\1r 1qf = 1aW.y;\\1r 1wh = 1aW.z;\\1R 1L3 = 1K.1H;\\1R 11j = 1L3 - 1al;\\1r 3W = 1h(11j);\\3fK /= 3W;\\1r 1xY = 1.0 / (1qf - 1wh);\\n#1z 2G2\\1r B = 2.0 * 2A(1al, 11j);\\1r C = 1xZ * 1xZ - 1qf * 1qf;\\1r 2bE = 1V(0.0, B*B - 4.0 * C);\\1r 3I = 0.5 * (-B - 3Y(2bE));\\1R 4I = 1al + 11j * 3I;\\3fJ -= 3I;\\1r 1jw = 2A(11j, 4I) / 1qf;\\1r 2bD = 108(-1.0 / 1qe );\\1r 1L7 = 2bD*3b(1jw);\\n#1s // 2G1\\1R 4I = 1al;\\1r 1D = 1h(4I);\\1r 4e = 108((1xY / 1qe ) * (1wh - 1xZ));\\1r 1jw = 2A(11j, 4I) / 1D;\\1r 1L7 = 4e*3b(1jw);\\n#1u\\1r 1eS = 1aW.w;\\1R 19X =\\2jK * 1o(1eS == 0.0) +\\2jJ * 1o(1eS == 1.0) +\\2jI * 1o(1eS == 2.0);\\2jH = 1T(19X);\\1r 1L8 = 3W / 1I1;\\1r 2bz = 1L8 * 1xY;\\1R 1L6 = 11j * 1L8;\\1R 1xX = 4I + 1L6 * 0.5;\\1R 1L5 = 1w(0.0, 0.0, 0.0);\\14D(7P i=0; i<1I0; i++)\\n{\\1r 1D = 1h(1xX);\\1r 4e = 108((1xY / 1qe ) * (1wh - 1D));\\1r 1HZ = 2A(19X, 1xX) / 1D;\\1r 1HY = 2A(11j, 1xX) / 1D;\\1r 1HX = (1L7 + 4e*(3b(1HZ) - 3b(1HY)));\\1R 2bA = 108(-1HX * (1L4 * 2bC + 2bB));\\3fI += 2bA * (4e * 2bz);\\3fH += 1L6;\\n}\\3fG = 1L5 * 2by;\\3fF = 1L5 * (1L4 * 2bx);\\3fE = 1al - 1L3;\\11u = 11o * 1K;\\n}\\n"]});1a.2JK=Ga.4t({1O:d,5O:e,5A:f})}d=k.7t(a.3w.6K);1a.3m8.x=d;b.2z=d>1a.3m8.y?c?1a.2JL:1a.31I:c?1a.2JK:1a.31H;b.4w=a.19c.1mc===Ud.3Pf?1a.5sw:1a.1gz;1f b}}};jw.1i.3Z=1b(){1f!1};jw.1i.1M=1b(){1d a=1a.10u;a.4c=a.4c&&a.4c.1M();1a.31I=1a.31I&&1a.31I.1M();1a.31H=1a.31H&&1a.31H.1M();1a.2JL=1a.2JL&&1a.2JL.1M();1a.2JK=1a.2JK&&1a.2JK.1M();1f la(1a)};GD.1i.2H=1b(a,b){1d c=1a;if(1a.2p&&(a.3z===O.6G||a.3z===O.1at)&&a.10s.3t){1d d=a.1O;if(1a.3Pe!==1a.5p){1d e=1a.3Pe=1a.5p;if(!(g(e.1sp)&&g(e.1DI)&&g(e.1yN)&&g(e.1yM)&&g(e.1DH)&&g(e.1DG)))1t 1g r("1a.5p is 1X and 2Q 118 1sp, 1DI, 1yN, 1yM, 1DH, and 1DG 5U.");if(2h e.1sp!==2h e.1DI||2h e.1sp!==2h e.1yN||2h e.1sp!==2h e.1yM||2h e.1sp!==2h e.1DH||2h e.1sp!==2h e.1DG)1t 1g r("1a.5p 5U 2Q all be 1Z 1ik 1I.");"4n"===2h e.1sp?z9(d,1a.3Pe).4b(1b(a){c.1PG&&c.1PG.1M();c.1PG=a}):(1a.1PG=1a.1PG&&1a.1PG.1M(),1a.1PG=1g vl({1O:d,5j:e}))}1d f=1a.10u;f.4a=Da.18N(a.3w.2my);g(f.4c)||(f.4J={3fD:1b(){1f c.1PG},3fC:1b(){1f A.1nf(f.4a,1g J)},2UQ:1b(){1f c.2O}},a=yf.14t(yf.25S({6e:1g k(2,2,2),9S:za.1Gd})),e=1a.12m=Sc.2JJ(a),f.4c=Fb.1M5({1O:d,3y:a,7W:e,1tF:xa.7C}),f.4w=pa.4t({12e:Dc.1bQ}));g(f.2z)&&1a.20q===b||(a=1g ja({2N:[b?"1js":""],5p:["2n 1HF 3fD;\\1B 1o 2UQ;\\1J 1w 1Ao;\\2s 2k()\\n{\\1P 1A = 24F(3fD, 1T(1Ao));\\3R = 1m(9D(1A).2y, 2UQ * 1iO);\\n}\\n"]}),f.2z=Ga.4t({1O:d,5O:"3Q 1w 1K;\\1B 14j 3fC;\\1J 1w 1Ao;\\2s 2k()\\n{\\1R p = 4gw * 3fC * (2UP * (4gv.y * 1K));\\11u = 17B * 1m(p, 1.0);\\5c4 = 1K.1H;\\n}\\n",5A:a,7W:1a.12m}),1a.20q=b);if(g(1a.1PG))1f f}};GD.1i.3Z=1b(){1f!1};GD.1i.1M=1b(){1d a=1a.10u;a.4c=a.4c&&a.4c.1M();a.2z=a.2z&&a.2z.1M();1a.1PG=1a.1PG&&1a.1PG.1M();1f la(1a)};OK.1i.3x=1b(a,b){r.8i()};OK.1i.1FL=1b(a,b){r.8i()};OK.1i.31G=1b(a,b,c,d){r.8i()};1L.2X(Cz.1i,{5sv:{1n:1b(){1f 1a.4qf},1C:1b(a){1a.4qf=a=1k.1V(a,0);1a.3Pd=!0}}});1d 5su=1g C,5st=1g C,dx=1g E,UF=1g E;Cz.1i.2H=1b(a,b,c){if(1a.2p){1d d=a.3z;if(d!==O.10j&&d!==O.1at&&a.10s.3t){1d e=a.1O,f=b.5q.1G,h=b.5q.1D;if(!g(1a.10q)||f!==1a.4qh||h!==1a.4qg||1a.3Pd||c!==1a.20q){1a.10q=1a.10q&&1a.10q.1M();1a.4qh=f;1a.4qg=h;1a.3Pd=!1;1a.20q=c;f=1k.1V(f,h);f=1k.3r(2,1k.8a(1k.7k(f)/1k.7k(2))-2);f=1k.1V(1,f);1a.10q=1g Ca({1O:e,1G:f,1D:f,8b:ua.9m,10E:c?e.20p?Ha.1kq:Ha.3O:Ha.7U});1a.3Pc=5*1a.4qf;1a.4qe=1/(1+2*1a.3Pc)*.5;1d l=1a;1a.1pu.2xH=1g lv({5A:"2n 1o 3fB;\\1J 1v 2F;\\2u 17b(1v p, 1v 2G)\\n{\\2j 1v(p.x * 2G.x - p.y * 2G.y, p.x * 2G.y + p.y * 2G.x);\\n}\\1P 1Oi(1v 1K, 1v 2G, 1o 1xW)\\n{\\2u 3Fo = 17b(1K, 2G) * 1v(25.0, 0.75);\\1r 3L = 1h(3Fo) * 1xW;\\1r 2ty = 1.0 - 13f(0.0, 0.55, 3L);\\2j 1m(2ty);\\n}\\2s 2k()\\n{\\1r 1xW = 2.0 / 3Y(2.0);\\2u 1K = 2F - 1v(0.5);\\1r 3L = 1h(1K) * 1xW;\\1r 2bw = 7F(3L, 3fB);\\1P 1A = 1m(1v(1.0), 2bw + 0.2, 2bw);\\1r 1An = 1.0 - 13f(0.0, 0.55, 3L);\\6p.ba += 3T(1v(0.0), 1v(1.0), 1An) * 0.75;\\1P 2ty = 1m(0.0);\\1XI += 0.4 * 1Oi(1K, 1v(0.5c3,  0.5c2), 1xW);\\1XI += 0.4 * 1Oi(1K, 1v(0.5c1,  0.5c0), 1xW);\\1XI += 0.4 * 1Oi(1K, 1v(0.5bZ, -0.5bY), 1xW);\\1XI += 0.3 * 1Oi(1K, 1v(0.5bX,  0.5bW), 1xW);\\1XI += 0.3 * 1Oi(1K, 1v(0.5bV,  0.5bU), 1xW);\\1XI += 0.3 * 1Oi(1K, 1v(0.5bT, -0.5bS), 1xW);\\6p += 2Y(2ty, 1m(0.0), 1m(1.0)) * 0.15;\\3R = 2Y(1A, 1m(0.0), 1m(1.0));\\n}\\n",1v8:1a.10q,4J:{3fB:1b(){1f l.4qe}},2xI:!1,7H:1a,2JI:1b(){l.1pu.2xH=1p 0}})}c=1a.1bx;if(!g(c.4c)){f={2G:0};h=1g 4L(8);h[0]=0;h[1]=0;h[2]=255;h[3]=0;h[4]=255;h[5]=255;h[6]=0;h[7]=255;h=Ra.12S({1O:e,5b:h,7Q:xa.7C});h=[{2P:f.2G,7e:h,2Z:2,1T:!0,3k:I.7U}];1d m=Ra.17Q({1O:e,5b:1g 10Y([0,1,2,0,2,3]),7Q:xa.7C,17P:Ta.10P});c.4c=1g Fb({1O:e,2w:h,10X:m});c.2z=Ga.4t({1O:e,5O:"3Q 1v 2G;\\1B 1o 1Cx;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1K;\\1U (1iO == 1.0)\\n{\\2jG = 1m(1HW, 1.0);\\n}\\5L\\n{\\2jG = 1m(3fA.1ca, 1.0);\\n}\\1P 4p = 1p3 * 1K;\\1P 6K = 18a(4p);\\2u 1xS = 1v(1Cx * 0.5);\\2bn *= ((2G * 2.0) - 1.0);\\11u = 1t5 * 1m(6K.xy + 1xS, -6K.z, 1.0);\\1mN = 2G;\\n}\\n",5A:"2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1A = 1Y(16S, 2F);\\3R = 9D(1A);\\n}\\n",7W:f});c.4w=pa.4t({12e:Dc.1bQ});c.4J=1a.1cH}f=e.13m.2cg;h=e.13m.4qd;m=1a.11S;1d n=1a.1B1;k.1y(f,m.2V);n.2V.x=h.z;n.2V.y=h.x;n.2V.z=h.y;m.3L=B.3m7+B.3m7*1a.3Pc;n.3L=m.3L;d===O.6G?P.1y(m,c.6W):d===O.15j&&P.1y(n,c.6W);d=ic.31F(a,f,UF);a=k.7t(k.3V(d,a.3w.1K,UF));e=e.13m.18T;dx.x=0;dx.y=0;dx.z=-a;dx.w=1;a=A.10r(e,dx,UF);a=ic.2JH(b.5q,a,5su);dx.x=B.3m7;e=A.10r(e,dx,UF);b=ic.2JH(b.5q,e,5st);1a.1eC=C.7t(C.3V(b,a,UF));1a.1eC=2*1a.1eC*(1+2*1a.3Pc);1a.1eC=1k.8a(1a.1eC);1f 1a.1pu}}};Cz.1i.3Z=1b(){1f!1};Cz.1i.1M=1b(){1d a=1a.1bx;a.4c=a.4c&&a.4c.1M();a.2z=a.2z&&a.2z.1M();1a.10q=1a.10q&&1a.10q.1M();1f la(1a)};1d Ea=1L.3F({2xG:"5sp",2JG:"5so",2JF:"5sn",2JE:"5sm",2JD:"5sl",2JC:"5sk",2JB:"5sj",2JA:"5si",2Jz:"5sh",2Jy:"5sg",2Jx:"5sf",2Jw:"5se",2Jv:"5sd",2Ju:"5sc",2Jt:"5sb",2Js:"5sa"});1L.2X(PK.1i,{2I:{1n:1b(){1f 1a.10z}},3Pb:{1n:1b(){1f 1a.20o}},16K:{1n:1b(){1f 1a.14Q}},17g:{1n:1b(){1f 1a.16J}},16j:{1n:1b(){1f 1a.17G}},16i:{1n:1b(){1f 1a.1jK}},8c:{1n:1b(){1f 1a.6C}},3g:{1n:1b(){1f 1a.7T}},1cG:{1n:1b(){1f 1a.14P}},3o:{1Q:!0},9c:{1n:1b(){1f 1a.7S.10l}},9L:{1n:1b(){1f 1a.1dh}},1mb:{1n:1b(){1f!0}},19b:{1n:1b(){1f 1a.1nm}}});PK.1i.1hQ=1b(a,b,c,d){1d e=5ss(1a,a,b,c);a=5sr(a,b,c);d.1b3=a;1f!0===1a.17F.1dF&&d.1Gc&&g(1a.12Y)&&(d=1a.12Y.20n(1a.13Y,a),g(d))?Z(d,1b(a){1f g(a)?a:"1so"},1b(a){1f"1so"}):Hk.2j6(1a,e)};1d 5sq=1L.3F({2mx:"2ex",9G:"1.0.0",7M:"3m6"});PK.1i.1lk=1b(){};1d Qh={};Qh[Ea.2xG]="10R://[1DF].1Jj.1Gb.cn/5sp/1B0";Qh[Ea.2JG]="10R://[1DF].1Jj.1Gb.cn/5so/1B0";Qh[Ea.2JF]="10R://[1DF].1Jj.1Gb.cn/5sn/1B0";Qh[Ea.2JE]="10R://[1DF].1Jj.1Gb.cn/5sm/1B0";Qh[Ea.2JD]="10R://[1DF].1Jj.1Gb.cn/5sl/1B0";Qh[Ea.2JC]="10R://[1DF].1Jj.1Gb.cn/5sk/1B0";Qh[Ea.2JB]="10R://[1DF].1Jj.1Gb.cn/5sj/1B0";Qh[Ea.2JA]="10R://[1DF].1Jj.1Gb.cn/5si/1B0";Qh[Ea.2Jz]="10R://[1DF].1Jj.1Gb.cn/5sh/1B0";Qh[Ea.2Jy]="10R://[1DF].1Jj.1Gb.cn/5sg/1B0";Qh[Ea.2Jx]="10R://[1DF].1Jj.1Gb.cn/5sf/1B0";Qh[Ea.2Jw]="10R://[1DF].1Jj.1Gb.cn/5se/1B0";Qh[Ea.2Jv]="10R://[1DF].1Jj.1Gb.cn/5sd/1B0";Qh[Ea.2Ju]="10R://[1DF].1Jj.1Gb.cn/5sc/1B0";Qh[Ea.2Jt]="10R://[1DF].1Jj.1Gb.cn/5sb/1B0";Qh[Ea.2Js]="10R://[1DF].1Jj.1Gb.cn/5sa/1B0";1d Rh={};Rh[Ea.2xG]="1kp";Rh[Ea.2JG]="1kp";Rh[Ea.2JF]="3m5";Rh[Ea.2JE]="3m5";Rh[Ea.2JD]="1Ji";Rh[Ea.2JC]="1Ji";Rh[Ea.2JB]="5s9";Rh[Ea.2JA]="5s9";Rh[Ea.2Jz]="3Pa";Rh[Ea.2Jy]="3Pa";Rh[Ea.2Jx]="3P9";Rh[Ea.2Jw]="3P9";Rh[Ea.2Jv]="3m4";Rh[Ea.2Ju]="3m4";Rh[Ea.2Jt]="3P8";Rh[Ea.2Js]="3P8";1d Sh={};Sh[Ea.2xG]="w";Sh[Ea.2JG]="c";Sh[Ea.2JF]="w";Sh[Ea.2JE]="c";Sh[Ea.2JD]="w";Sh[Ea.2JC]="c";Sh[Ea.2JB]="w";Sh[Ea.2JA]="c";Sh[Ea.2Jz]="w";Sh[Ea.2Jy]="c";Sh[Ea.2Jx]="w";Sh[Ea.2Jw]="c";Sh[Ea.2Jv]="w";Sh[Ea.2Ju]="c";Sh[Ea.2Jt]="w";Sh[Ea.2Js]="c";1d Th={};Th[Ea.2xG]="17v";Th[Ea.2JG]="17v";Th[Ea.2JF]="17v";Th[Ea.2JE]="17v";Th[Ea.2JD]="17v";Th[Ea.2JC]="17v";Th[Ea.2JB]="17v";Th[Ea.2JA]="17v";Th[Ea.2Jz]="17v";Th[Ea.2Jy]="17v";Th[Ea.2Jx]="17v";Th[Ea.2Jw]="17v";Th[Ea.2Jv]="17v";Th[Ea.2Ju]="17v";Th[Ea.2Jt]="17v";Th[Ea.2Js]="17v";1d Uh={};Uh[Ea.2xG]="1PF";Uh[Ea.2JG]="26V";Uh[Ea.2JF]="1PF";Uh[Ea.2JE]="26V";Uh[Ea.2JD]="1PF";Uh[Ea.2JC]="26V";Uh[Ea.2JB]="1PF";Uh[Ea.2JA]="26V";Uh[Ea.2Jz]="1PF";Uh[Ea.2Jy]="26V";Uh[Ea.2Jx]="1PF";Uh[Ea.2Jw]="26V";Uh[Ea.2Jv]="1PF";Uh[Ea.2Ju]="26V";Uh[Ea.2Jt]="1PF";Uh[Ea.2Js]="26V";1d oh={};oh[Ea.2xG]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18".7g(" ");oh[Ea.2JG]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18".7g(" ");oh[Ea.2JF]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18".7g(" ");oh[Ea.2JE]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18".7g(" ");oh[Ea.2JD]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19".7g(" ");oh[Ea.2JC]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19".7g(" ");oh[Ea.2JB]="1 2 3 4 5 6 7 8 9 10 11 12 13 14".7g(" ");oh[Ea.2JA]="1 2 3 4 5 6 7 8 9 10 11 12 13 14".7g(" ");oh[Ea.2Jz]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19".7g(" ");oh[Ea.2Jy]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19".7g(" ");oh[Ea.2Jx]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18".7g(" ");oh[Ea.2Jw]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18".7g(" ");oh[Ea.2Jv]="1 2 3 4 5 6 7 8 9 10".7g(" ");oh[Ea.2Ju]="1 2 3 4 5 6 7 8 9 10".7g(" ");oh[Ea.2Jt]="1 2 3 4 5 6 7 8 9 10".7g(" ");oh[Ea.2Js]="1 2 3 4 5 6 7 8 9 10".7g(" ");Dz.1i.6W=1p 0;Dz.1i.7u=1p 0;Dz.1i.1w8=1b(a){r.8i()};Dz.1i.1tE=1b(a){r.8i()};Dz.1i.2Jr=1b(a){r.8i()};1L.2X(Ez.1i,{1aQ:{1n:1b(){}},16K:{1n:1b(){1f 1a.14Q}},17g:{1n:1b(){1f 1a.16J}},16j:{1n:1b(){}},16i:{1n:1b(){}},8c:{1n:1b(){1f 1a.6C}},3g:{1n:1b(){1f 1a.6C.3g}},19b:{1n:1b(){}},1cG:{1n:1b(){1f 1a.14P}},3o:{1n:1b(){1f!0}},9c:{1n:1b(){1f 1a.7S}},9L:{1n:1b(){}},1mb:{1n:1b(){1f!0}}});Ez.1i.1om=1b(a,b,c){};Ez.1i.1hQ=1b(a,b,c,d){d=3n.4O("3M");d.1G=256;d.1D=256;1d e=d.1ft("2d"),f=1a.7a.1fY();e.1ch=f;e.11a=2;e.3P7(1,1,255,255);e.9O="1M4 3m3 4qc";e.1qy="2V";e.15b=f;e.2m4("L: "+c,124,86);e.2m4("X: "+a,124,136);e.2m4("Y: "+b,124,186);1f d};Ez.1i.1lk=1b(a,b,c,d,e){};MU.1i.2Jq=r.8i;MU.1i.2xF=r.8i;1d 5fq=1L.3F({31D:0,1gu:1,1cY:2,7ka:3});1L.2X(Kq.1i,{1cj:{1n:1b(){1f 1a.1cX},1C:1b(a){Cf.3m2(a,1a,"1cX")}},4qb:{1n:1b(){1f 1a.31B}},7u:{1n:1b(){if(g(1a.2mv))1f 1a.2mv.2ew.7u}},9c:{1n:1b(){1f 1a.7S.10l}}});Kq.1i.4qa=1b(){1a.1TS=!0};Kq.1i.5s8=1b(){1f 0===1a.3m1?.1cN:1a.4q9};1d 5s7=1g M,5s6=1g A,5s5=1g sv,XA={31C:0,26S:!1,1TT:!1};Kq.1i.2H=1b(a){if(a.3z!==O.1at&&1a.2p){g(1a.16I)||(1a.16I=a.1O.1Ga({9k:1a}));g(1a.26U)||(1a.26U=M.1y(a.6q));1d b=1k.1V(1E3*M.1dA(a.6q,1a.26U),0),c=1a.1cX,d=0,e=!1,f=g(c)&&c.3e;f&&(c.2H(a),d=c.3m0);1a.26T!==d&&(1a.26T=d,e=!0);c=1a.1TS;1a.1TS=!1;(e||c)&&5s4(1a,e,c);XA.31C=b;XA.26S=f;b=1a.2xE;e=1a.20m;c=a.13l;f=c.1h;d=1a.4q5;1d h=1a.4q4,l=5s3(1a);if(g(l)){1d k=!1,n=NU(1a),m=0===n;n!==1a.4q8&&(k=!0,1a.4q8=n);if(!g(d)||m)d=l;if(!g(h)||k||5s2(1a,l,h))h=5s1(1a,l);d=5s0(1a,d,l,XA,a);l=5rZ(1a,d);g(l)||(OU(1a,d,XA,a),l=1a.2mv);g(l)&&4q7(1a,l,XA,a);g(h)&&OU(1a,h,XA,a);1d q=1a;g(l)&&!g(1a.2mv)&&a.1sn.1q(1b(){q.7S.5h(q)});g(l)&&l!==1a.2mv&&0<q.4q6.2mw&&a.1sn.1q(1b(){q.4q6.5k(q)});1a.4q5=d;1a.4q4=h;1a.2mv=l;1a.31B>1yL*1a.2Jp&&4q3(1a,5rY(a));c=c.1h-f;g(b)&&b.1iM&&b.1FM&&0<c&&e.2H(a,f,b)}}};Kq.1i.3Z=1b(){1f!1};Kq.1i.1M=1b(){4q3(1a);1a.1cX=1a.1cX&&1a.1cX.1M();1a.16I=1a.16I&&1a.16I.1M();1f la(1a)};QK.1i.2H=1b(a){if(1a.2p){if(!g(1a.2q))1t 1g r("1a.2q 2Q be 2l.");if(!g(1a.3g))1t 1g r("1a.3g 2Q be 2l.");1d b=1a.1gz;g(b)&&Aa.2L(b.5q,1a.3g)||(1a.1gz=pa.4t({12e:Dc.1bQ,5q:1a.3g}));if(a.10s.3t){b=a.1O;if(1a.17u!==1a.2q||!g(1a.20l)){1a.17u=1a.2q;g(1a.20l)&&1a.20l.2z.1M();1d c=1g ja({5p:[1a.17u.1hP,"3G 1v 2F;\\2s 2k()\\n{\\1jv 5y;\\10m.s = 2F.s;\\10m.st = 2F;\\10m.1F6 = 1w(2F, 0.0);\\10m.4X = 1w(0.0, 0.0, -1.0);\\10I 2q = 16E(5y);\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n}\\n"]});1a.20l=b.1aL(c,{4w:1a.1gz,4J:1a.17u.1dg,7H:1a});1a.20l.6t=ma.1eW}1a.17u.2H(b);1a.20l.4J=1a.17u.1dg;a.13l.1q(1a.20l)}}};QK.1i.3Z=1b(){1f!1};QK.1i.1M=1b(){g(1a.20l)&&(1a.20l.2z=1a.20l.2z&&1a.20l.2z.1M());1f la(1a)};1d VF;"7w"!==2h ko&&(VF=ko);(1b(){(1b(){(1b(a){1d b=1a||(0,5rX)("1a"),c=b.3n,d=b.1Pu,e=b.2xA,f=b.4H;e||"7w"===2h 2xA||(e=2xA);(1b(h,g){1b l(a,b){1f 1F===a||2h a in v?a===b:!1}1b k(b,c){1d d;1f 1b(){d||(d=t.a.1if(1b(){d=a;b()},c))}}1b m(a,b){1d c;1f 1b(){2Jm(c);c=t.a.1if(a,b)}}1b q(a,b){b&&"1v3"!==b?"3lW"===b?1a.pc(a):1a.gb(a,b):1a.qc(a)}1b r(a,b){1F!==b&&b.s&&b.s()}1b u(a,b){1d c=1a.qd,d=c[E];d.ra||(1a.Qb&&1a.mb[b]?(c.uc(b,a,1a.mb[b]),1a.mb[b]=1F,--1a.Qb):d.I[b]||c.uc(b,a,d.J?{da:a}:c.$c(a)),a.Ja&&a.gd())}1d t="7w"!==2h h?h:{};t.b=1b(a,b){a=a.7g(".");1j(1d c=t,d=0;d<a.1h-1;d++)c=c[a[d]];c[a[a.1h-1]]=b};t.L=1b(a,b,c){a[b]=c};t.9G="3.5.1";t.b("9G",t.9G);t.3v={4pU:!1,4q1:!1,5qC:!1};t.a=1b(){1b h(a,b){1j(1d c in a)n.4G(a,c)&&b(c,a[c])}1b g(a,b){if(b)1j(1d c in b)n.4G(b,c)&&(a[c]=b[c]);1f a}1b l(a,b){a.14Y=b;1f a}1b k(a,b,c,d){1d e=a[b].141(x)||[];t.a.D(c.141(x),1b(a){t.a.Na(e,a,d)});a[b]=e.14G(" ")}$9C.1lY();1d n=1L.1i.3p,m={14Y:[]}2m 2K,p="1b"===2h 1gy,q={},r={};q[d&&/4pA\\/2/i.6S(d.1LZ)?"7k9":"7k8"]=["3iR","2dt","4oy"];q.7k7="1aI 4oB 1m1 1ZA 2wo 7k6 5pi 7k5 7k4".7g(" ");h(q,1b(a,b){if(b.1h)1j(1d c=0,d=b.1h;c<d;c++)r[b[c]]=a});1d w={3lu:!0},u=c&&1b(){1j(1d b=3,d=c.4O("5u"),e=d.1cE("i");d.1dd="\\1wY!--[if gt IE "+ ++b+"]><i></i><![1u]--\\1yJ",e[0];);1f 4<b?b:a}(),x=/\\S+/g,v;1f{Jc:["7k3",/^7k2(10D.*)?$/],D:1b(a,b,c){1j(1d d=0,e=a.1h;d<e;d++)b.4G(c,a[d],d,a)},A:"1b"==2h 2K.1i.3f?1b(a,b){1f 2K.1i.3f.4G(a,b)}:1b(a,b){1j(1d c=0,d=a.1h;c<d;c++)if(a[c]===b)1f c;1f-1},Lb:1b(b,c,d){1j(1d e=0,f=b.1h;e<f;e++)if(c.4G(d,b[e],e,b))1f b[e];1f a},Pa:1b(a,b){b=t.a.A(a,b);0<b?a.6z(b,1):0===b&&a.1hN()},wc:1b(a){1d b=[];a&&t.a.D(a,1b(a){0>t.a.A(b,a)&&b.1q(a)});1f b},Mb:1b(a,b,c){1d d=[];if(a)1j(1d e=0,f=a.1h;e<f;e++)d.1q(b.4G(c,a[e],e));1f d},jb:1b(a,b,c){1d d=[];if(a)1j(1d e=0,f=a.1h;e<f;e++)b.4G(c,a[e],e)&&d.1q(a[e]);1f d},Nb:1b(a,b){if(b 2m 2K)a.1q.6c(a,b);1s 1j(1d c=0,d=b.1h;c<d;c++)a.1q(b[c]);1f a},Na:1b(a,b,c){1d d=t.a.A(t.a.bc(a),b);0>d?c&&a.1q(b):c||a.6z(d,1)},Ba:m,1a3:g,26P:l,Ab:m?l:g,P:h,Ga:1b(a,b,c){if(!a)1f a;1d d={},e;1j(e in a)n.4G(a,e)&&(d[e]=b.4G(c,a[e],e,a));1f d},Tb:1b(a){1j(;a.1gv;)t.2ej(a.1gv)},Yb:1b(a){a=t.a.la(a);1j(1d b=(a[0]&&a[0].1G6||c).4O("5u"),d=0,e=a.1h;d<e;d++)b.3A(t.oa(a[d]));1f b},Ca:1b(a,b){1j(1d c=0,d=a.1h,e=[];c<d;c++){1d f=a[c].3OF(!0);e.1q(b?t.oa(f):f)}1f e},va:1b(a,b){t.a.Tb(a);if(b)1j(1d c=0,d=b.1h;c<d;c++)a.3A(b[c])},Xc:1b(a,b){a=a.1a5?[a]:a;if(0<a.1h){1j(1d c=a[0],d=c.1eZ,e=0,f=b.1h;e<f;e++)d.2ms(b[e],c);e=0;1j(f=a.1h;e<f;e++)t.2ej(a[e])}},Ua:1b(a,b){if(a.1h){1j(b=8===b.1a5&&b.1eZ||b;a.1h&&a[0].1eZ!==b;)a.6z(0,1);1j(;1<a.1h&&a[a.1h-1].1eZ!==b;)a.1h--;if(1<a.1h){b=a[0];1d c=a[a.1h-1];1j(a.1h=0;b!==c;)a.1q(b),b=b.1qD;a.1q(c)}}1f a},Zc:1b(a,b){7>u?a.8m("1bM",b):a.1bM=b},Db:1b(b){1f 1F===b||b===a?"":b.1b2?b.1b2():b.5s().3X(/^[\\s\\5rW]+|[\\s\\5rW]+$/g,"")},Ud:1b(a,b){a=a||"";1f b.1h>a.1h?!1:a.11c(0,b.1h)===b},vd:1b(a,b){if(a===b)1f!0;if(11===a.1a5)1f!1;if(b.8h)1f b.8h(1!==a.1a5?a.1eZ:a);if(b.5rV)1f 16==(b.5rV(a)&16);1j(;a&&a!=b;)a=a.1eZ;1f!!a},Sb:1b(a){1f t.a.vd(a,a.1G6.1AZ)},kd:1b(a){1f!!t.a.Lb(a,t.a.Sb)},R:1b(a){1f a&&a.12J&&a.12J.18v()},Ac:1b(a){1f t.3lZ?1b(){10G{1f a.6c(1a,5m)}11B(mc){1t t.3lZ&&t.3lZ(mc),mc;}}:a},1if:1b(a,b){1f 1if(t.a.Ac(a),b)},Gc:1b(a){1if(1b(){t.3lZ&&t.3lZ(a);1t a;},0)},B:1b(a,b,c){1d d=t.a.Ac(c);c=w[b];if(t.3v.4q1||c||!e)if(c||"1b"!=2h a.7K)if("7w"!=2h a.4q2){1d f=1b(b){d.4G(a,b)},h="on"+b;a.4q2(h,f);t.a.K.za(a,1b(){a.7k1(h,f)})}1s 1t 6u("5rS 2en\'t 19G 7K or 4q2");1s a.7K(b,d,!1);1s v||(v="1b"==2h e(a).on?"on":"7X"),e(a)[v](b,d)},Fb:1b(a,d){if(!a||!a.1a5)1t 6u("1ij 2Q be a 4pu 17t 16r 1Jf 5rM");1d f;"15d"===t.a.R(a)&&a.1I&&"1aI"==d.18v()?(f=a.1I,f="3N4"==f||"3OP"==f):f=!1;if(t.3v.4q1||!e||f)if("1b"==2h c.3LQ)if("1b"==2h a.2wk)f=c.3LQ(r[d]||"7k0"),f.4ke(d,!0,!0,b,0,0,0,0,0,!1,!1,!1,!1,0,a),a.2wk(f);1s 1t 6u("9B 5rU 1ij 2en\'t 19G 2wk");1s if(f&&a.1aI)a.1aI();1s if("7w"!=2h a.5rT)a.5rT("on"+d);1s 1t 6u("5rS 2en\'t 19G 7jZ 13U");1s e(a).7jY(d)},f:1b(a){1f t.O(a)?a():a},bc:1b(a){1f t.O(a)?a.v():a},Eb:1b(a,b,c){1d d;b&&("2c"===2h a.3P5?(d=a.3P5[c?"add":"3S"],t.a.D(b.141(x),1b(b){d.4G(a.3P5,b)})):"4n"===2h a.8k.5rR?k(a.8k,"5rR",b,c):k(a,"8k",b,c))},Bb:1b(b,c){c=t.a.f(c);if(1F===c||c===a)c="";1d d=t.h.1gv(b);!d||3!=d.1a5||t.h.1qD(d)?t.h.va(b,[b.1G6.1wH(c)]):d.2g=c;t.a.Ad(b)},Yc:1b(a,b){a.2i=b;if(7>=u)10G{1d d=a.2i.3X(/[&<>\'"]/g,1b(a){1f"&#"+a.19a(0)+";"});a.7jX(c.4O("<15d 2i=\'"+d+"\'/>"),!1)}11B(ld){}},Ad:1b(a){9<=u&&(a=1==a.1a5?a:a.1eZ,a.2r&&(a.2r.5K=a.2r.5K))},wd:1b(a){if(u){1d b=a.2r.1G;a.2r.1G=0;a.2r.1G=b}},Pd:1b(a,b){a=t.a.f(a);b=t.a.f(b);1j(1d c=[];a<=b;a++)c.1q(a);1f c},la:1b(a){1j(1d b=[],c=0,d=a.1h;c<d;c++)b.1q(a[c]);1f b},Da:1b(a){$9C.1lY();1f p?1gy(a):a},Zd:6===u,$d:7===u,W:u,Lc:1b(a,b){a=t.a.la(a.1cE("15d")).9V(t.a.la(a.1cE("2Jk")));1j(1d c="4n"==2h b?1b(a){1f a.2i===b}:1b(a){1f b.6S(a.2i)},d=[],e=a.1h-1;0<=e;e--)c(a[e])&&d.1q(a[e]);1f d},Nd:1b(a){1f"4n"==2h a&&(a=t.a.Db(a))?f&&f.5N?f.5N(a):(1g 1wM("1f "+a))():1F},hc:1b(a,b,c){if(!f||!f.8s)1t 6u("1e6 1oZ 4H.8s(). 5rQ 5rP (e.g., IE < 8) 3P3\'t 19G it 7jW, 19T 18g 1ag 7jV 1a by 3eO a 1G5 1bY to 5rO.js, 7jU 19f 10R://10y.15l.1m9/5rO.js");1f f.8s(t.a.f(a),b,c)},Od:1b(a,b,d){d=d||{};1d e=d.2wW||{},f=d.7jT||1a.Jc,g=a;if("2c"==2h a&&"2Jl"===t.a.R(a)){g=a.3P6;1j(1d l=f.1h-1;0<=l;l--)1j(1d k=t.a.Lc(a,f[l]),n=k.1h-1;0<=n;n--)e[k[n].2i]=k[n].1Q}b=t.a.f(b);1d m=c.4O("2Jl");m.2r.1ka="1bs";m.3P6=g;m.1tq="31A";1j(1d p in b)a=c.4O("15d"),a.1I="1qr",a.2i=p,a.1Q=t.a.hc(t.a.f(b[p])),m.3A(a);h(e,1b(a,b){1d d=c.4O("15d");d.1I="1qr";d.2i=a;d.1Q=b;m.3A(d)});c.1hg.3A(m);d.5rN?d.5rN(m):m.3lO();1if(1b(){m.1eZ.18Z(m)},0)}}}();t.b("1df",t.a);t.b("1df.7jS",t.a.D);t.b("1df.7jR",t.a.Lb);t.b("1df.7jQ",t.a.jb);t.b("1df.7jP",t.a.wc);t.b("1df.7jO",t.a.A);t.b("1df.7jN",t.a.Mb);t.b("1df.7jM",t.a.Nb);t.b("1df.7jL",t.a.Pa);t.b("1df.7jK",t.a.Ca);t.b("1df.7jJ",t.a.Da);t.b("1df.1a3",t.a.1a3);t.b("1df.7jI",t.a.Jc);t.b("1df.7jH",t.a.Lc);t.b("1df.7jG",t.a.Ga);t.b("1df.7jF",t.a.bc);t.b("1df.7jE",t.a.Od);t.b("1df.7jD",t.a.Nd);t.b("1df.7jC",t.a.B);t.b("1df.7jB",t.a.hc);t.b("1df.11D",t.a.Pd);t.b("1df.7jA",t.a.Eb);t.b("1df.5rM",t.a.Fb);t.b("1df.7jz",t.a.f);t.b("1df.7jy",t.a.P);t.b("1df.7jx",t.a.Na);t.b("1df.7jw",t.a.Bb);t.b("31u",t.a.f);1wM.1i.7X||(1wM.1i.7X=1b(a){1d b=1a;if(1===5m.1h)1f 1b(){1f b.6c(a,5m)};1d c=2K.1i.4h.4G(5m,1);1f 1b(){1d d=c.4h(0);d.1q.6c(d,5m);1f b.6c(a,d)}});t.a.g=1g 1b(){1d b=0,c="7jv"+(1g 16V).1o3(),d={},e,f;t.a.W?(e=1b(e,f){1d h=e[c];if(!h||"1F"===h||!d[h]){if(!f)1f a;h=e[c]="ko"+b++;d[h]={}}1f d[h]},f=1b(a){1d b=a[c];1f b?(4Y d[b],a[c]=1F,!0):!1}):(e=1b(a,b){1d d=a[c];!d&&b&&(d=a[c]={});1f d},f=1b(a){1f a[c]?(4Y a[c],!0):!1});1f{1n:1b(a,b){1f(a=e(a,!1))&&a[b]},1C:1b(b,c,d){(b=e(b,d!==a))&&(b[c]=d)},Ub:1b(a,b,c){a=e(a,!0);1f a[b]||(a[b]=c)},9P:f,Z:1b(){1f b++ +c}}};t.b("1df.5rL",t.a.g);t.b("1df.5rL.9P",t.a.g.9P);t.a.K=1g 1b(){1b b(b,c){1d d=t.a.g.1n(b,f);d===a&&c&&(d=[],t.a.g.1C(b,f,d));1f d}1b c(a){1d c=b(a,!1);if(c){c=c.4h(0);1j(1d e=0;e<c.1h;e++)c[e](a)}t.a.g.9P(a);t.a.K.5rK(a);g[a.1a5]&&d(a.13P,!0)}1b d(a,b){1j(1d d=[],e,f=0;f<a.1h;f++)if(!b||8===a[f].1a5)if(c(d[d.1h]=e=a[f]),a[f]!==e)1j(;f--&&-1==t.a.A(d,a[f]););}1d f=t.a.g.Z(),h={1:!0,8:!0,9:!0},g={1:!0,9:!0};1f{za:1b(a,c){if("1b"!=2h c)1t 6u("7ju 2Q be a 1b");b(a,!0).1q(c)},yb:1b(c,d){1d e=b(c,!1);e&&(t.a.Pa(e,d),0==e.1h&&t.a.g.1C(c,f,a))},oa:1b(a){t.u.G(1b(){h[a.1a5]&&(c(a),g[a.1a5]&&d(a.1cE("*")))});1f a},2ej:1b(a){t.oa(a);a.1eZ&&a.1eZ.18Z(a)},5rK:1b(a){e&&"1b"==2h e.5rJ&&e.5rJ([a])}}};t.oa=t.a.K.oa;t.2ej=t.a.K.2ej;t.b("1IU",t.oa);t.b("2ej",t.2ej);t.b("1df.4q0",t.a.K);t.b("1df.4q0.7jt",t.a.K.za);t.b("1df.4q0.7js",t.a.K.yb);(1b(){1d d=[0,"",""],f=[1,"<1j9>","</1j9>"],h=[3,"<1j9><26R><tr>","</tr></26R></1j9>"],g=[1,"<26K 1yK=\'1yK\'>","</26K>"],l={5rI:f,26R:f,5rH:f,tr:[2,"<1j9><26R>","</26R></1j9>"],td:h,th:h,1PC:g,5rG:g},k=8>=t.a.W;t.a.ua=1b(a,f){if(e)if(e.5rF)1d h=e.5rF(a,f)||[];1s{if((h=e.7jr([a],f))&&h[0]){1j(f=h[0];f.1eZ&&11!==f.1eZ.1a5;)f=f.1eZ;f.1eZ&&f.1eZ.18Z(f)}}1s{(h=f)||(h=c);f=h.7jq||h.26Q||b;1d g=t.a.Db(a).18v(),n=h.4O("5u");1d m=(g=g.141(/^(?:\\1wY!--.*?--\\1yJ\\s*?)*?<([a-z]+)[\\s>]/))&&l[g[1]]||d;g=m[0];m="2mu<5u>"+m[1]+a+m[2]+"</5u>";1j("1b"==2h f.5rE?n.3A(f.5rE(m)):(k&&h.1hg.3A(n),n.1dd=m,k&&n.1eZ.18Z(n));g--;)n=n.3ja;h=t.a.la(n.3ja.13P)}1f h};t.a.Md=1b(a,b){a=t.a.ua(a,b);1f a.1h&&a[0].7jp||t.a.Yb(a)};t.a.fc=1b(b,c){t.a.Tb(b);c=t.a.f(c);if(1F!==c&&c!==a)if("4n"!=2h c&&(c=c.5s()),e)e(b).1jH(c);1s{c=t.a.ua(c,b.1G6);1j(1d d=0;d<c.1h;d++)b.3A(c[d])}}})();t.b("1df.7jo",t.a.ua);t.b("1df.7jn",t.a.fc);t.aa=1b(){1b b(a,c){if(a)if(8==a.1a5){1d d=t.aa.Uc(a.20j);1F!=d&&c.1q({ud:a,Kd:d})}1s if(1==a.1a5){d=0;a=a.13P;1j(1d e=a.1h;d<e;d++)b(a[d],c)}}1d c={};1f{Xb:1b(a){if("1b"!=2h a)1t 6u("2mr 1ag 1cF 6t a 1b to ko.31z.5rB()");1d b=(1AW*(1+1k.1ps())|0).5s(16).11c(1)+(1AW*(1+1k.1ps())|0).5s(16).11c(1);c[b]=a;1f"\\1wY!--[5rC:"+b+"]--\\1yJ"},bd:1b(b,d){1d e=c[b];if(e===a)1t 6u("5rD\'t 1oZ any 7jm 10M ID "+b+". 3lY it\'s 1A8 26N 7jl.");10G{1f e.6c(1F,d||[]),!0}2mn{4Y c[b]}},cd:1b(a,c){1d d=[];b(a,d);a=0;1j(1d e=d.1h;a<e;a++){1d f=d[a].ud,h=[f];c&&t.a.Nb(h,c);t.aa.bd(d[a].Kd,h);f.20j="";f.1eZ&&f.1eZ.18Z(f)}},Uc:1b(a){1f(a=a.141(/^\\[5rC:(.*?)\\]$/))?a[1]:1F}}}();t.b("31z",t.aa);t.b("31z.5rB",t.aa.Xb);t.b("31z.7jk",t.aa.bd);t.b("31z.7jj",t.aa.Uc);t.b("31z.7ji",t.aa.cd);t.na=1b(){1b a(){if(h)1j(1d a=h,b=0,c;l<h;)if(c=f[l++]){if(l>a){if(5E3<=++b){l=h;t.a.Gc(6u("\'4pZ 2se 7jh\' 1eB 7jg "+b+" 7jf 7je."));1W}a=h}10G{c()}11B(vd){t.a.Gc(vd)}}}1b d(){a();l=h=f.1h=0}1d e,f=[],h=0,g=1,l=0;b.4l9?e=1b(a){1d b=c.4O("5u");(1g 4l9(a)).5kV(b,{2w:!0});1f 1b(){b.3P5.7jd("5rA")}}(d):e=c&&"30p"in c.4O("1G5")?1b(a){1d b=c.4O("1G5");b.30p=1b(){b.30p=1F;c.1AZ.18Z(b);b=1F;a()};c.1AZ.3A(b)}:1b(a){1if(a,0)};1f{5rz:e,zb:1b(a){h||t.na.5rz(d);f[h++]=a;1f g++},1hm:1b(a){a-=g-h;a>=l&&a<h&&(f[a]=1F)},7jc:1b(){1d a=h-l;l=h=f.1h=0;1f a},Sd:a}}();t.b("4pY",t.na);t.b("4pY.7jb",t.na.zb);t.b("4pY.7ja",t.na.Sd);t.Ta={1j8:1b(a,b){a.5rs=b;1d c=1F;1f t.$({1dD:a,1G2:1b(d){2Jm(c);c=t.a.1if(1b(){a(d)},b)}})},7j9:1b(a,b){1d c,d;"2b"==2h b?c=b:(c=b.2wM,d=b.1tq);a.Hb=!1;1d e="1b"==2h d?d:"7j8"==d?m:k;a.ub(1b(a){1f e(a,c,b)})},1ma:1b(b,c){if(!0!==c)1t 6u("9B \'1ma\' 7j7 1cF 7j6 1Z 1Q \'8O\', 2Jo it is 2S 11J to 7j5 7j4 1nP 5ph 3e.");b.Hb||(b.Hb=!0,b.ub(1b(c){1d d,e=!1;1f 1b(){if(!e){t.na.1hm(d);d=t.na.zb(c);10G{e=!0,b.1x0(a,"6s")}2mn{e=!1}}}}))},3On:1b(a,b){a.2ev="2aR"==b?1F:l}};1d v={7w:1,"11T":1,2b:1,4n:1};t.b("7j3",t.Ta);t.ic=1b(a,b,c){1a.da=a;1a.lc=b;1a.mc=c;1a.Ib=!1;1a.fb=1a.Jb=1F;t.L(1a,"1n6",1a.s);t.L(1a,"4ph",1a.l)};t.ic.1i.s=1b(){1a.Ib||(1a.fb&&t.a.K.yb(1a.Jb,1a.fb),1a.Ib=!0,1a.mc(),1a.da=1a.lc=1a.mc=1a.Jb=1a.fb=1F)};t.ic.1i.l=1b(a){1a.Jb=a;t.a.K.za(a,1a.fb=1a.s.7X(1a))};t.T=1b(){t.a.Ab(1a,y);y.qb(1a)};1d y={qb:1b(a){a.U={1v3:[]};a.sc=1},1bW:1b(a,b,c){1d d=1a;c=c||"1v3";1d e=1g t.ic(d,b?a.7X(b):a,1b(){t.a.Pa(d.U[c],e);d.hb&&d.hb(c)});d.Qa&&d.Qa(c);d.U[c]||(d.U[c]=[]);d.U[c].1q(e);1f e},1x0:1b(a,b){b=b||"1v3";"1v3"===b&&1a.Gb();if(1a.Wa(b)){b="1v3"===b&&1a.ed||1a.U[b].4h(0);10G{t.u.xc();1j(1d c=0,d;d=b[c];++c)d.Ib||d.lc(a)}2mn{t.u.9o()}}},ob:1b(){1f 1a.sc},Dd:1b(a){1f 1a.ob()!==a},Gb:1b(){++1a.sc},ub:1b(a){1d b=1a,c=t.O(b),d,e,f,h,g;b.gb||(b.gb=b.1x0,b.1x0=q);1d l=a(1b(){b.Ja=!1;c&&h===b&&(h=b.nc?b.nc():b());1d a=e||g&&b.sb(f,h);g=e=d=!1;a&&b.gb(f=h)});b.qc=1b(a,c){c&&b.Ja||(g=!c);b.ed=b.U.1v3.4h(0);b.Ja=d=!0;h=a;l()};b.pc=1b(a){d||(f=a,b.gb(a,"3lW"))};b.rc=1b(){g=!0};b.gd=1b(){b.sb(f,b.v(!0))&&(e=!0)}},Wa:1b(a){1f 1a.U[a]&&1a.U[a].1h},Bd:1b(a){if(a)1f 1a.U[a]&&1a.U[a].1h||0;1d b=0;t.a.P(1a.U,1b(a,c){"6s"!==a&&(b+=c.1h)});1f b},sb:1b(a,b){1f!1a.2ev||!1a.2ev(a,b)},5s:1b(){1f"[2c 1L]"},1a3:1b(a){1d b=1a;a&&t.a.P(a,1b(a,c){a=t.Ta[a];"1b"==2h a&&(b=a(b,c)||b)});1f b}};t.L(y,"11K",y.qb);t.L(y,"1bW",y.1bW);t.L(y,"1a3",y.1a3);t.L(y,"7j2",y.Bd);t.a.Ba&&t.a.26P(y,1wM.1i);t.T.fn=y;t.Qc=1b(a){1f 1F!=a&&"1b"==2h a.1bW&&"1b"==2h a.1x0};t.b("4pX",t.T);t.b("7j1",t.Qc);t.S=t.u=1b(){1b a(a){c.1q(d);d=a}1b b(){d=c.9l()}1d c=[],d,e=0;1f{xc:a,9o:b,cc:1b(a){if(d){if(!t.Qc(a))1t 6u("1Jh 4pX 7j0 1ag act as 7iZ");d.od.4G(d.pd,a,a.fd||(a.fd=++e))}},G:1b(c,d,e){10G{1f a(),c.6c(d,e||[])}2mn{b()}},qa:1b(){if(d)1f d.o.qa()},Va:1b(){if(d)1f d.o.Va()},Ya:1b(){if(d)1f d.Ya},o:1b(){if(d)1f d.o}}}();t.b("3lX",t.S);t.b("3lX.5rq",t.S.qa);t.b("3lX.5rp",t.S.Va);t.b("3lX.7iY",t.S.Ya);t.b("3lX.7iX",t.S.cc);t.b("7iW",t.Yd=t.u.G);1d A=t.a.Da("7iV");t.ta=1b(a){1b b(){if(0<5m.1h)1f b.sb(b[A],5m[0])&&(b.ya(),b[A]=5m[0],b.xa()),1a;t.u.cc(b);1f b[A]}b[A]=a;t.a.Ba||t.a.1a3(b,t.T.fn);t.T.fn.qb(b);t.a.Ab(b,B);t.3v.4pU&&t.Ta.1ma(b,!0);1f b};1d B={2ev:l,v:1b(){1f 1a[A]},xa:1b(){1a.1x0(1a[A],"4pS");1a.1x0(1a[A])},ya:1b(){1a.1x0(1a[A],"3lW")}};t.a.Ba&&t.a.26P(B,t.T.fn);1d C=t.ta.Ma="7iU";B[C]=t.ta;t.O=1b(a){if((a="1b"==2h a&&a[C])&&a!==B[C]&&a!==t.o.fn[C])1t 6u("13H 2c 17m 7iT 3lB an 19H; 7iS 19f 1KN 7iR 1bX");1f!!a};t.Za=1b(a){1f"1b"==2h a&&(a[C]===B[C]||a[C]===t.o.fn[C]&&a.Nc)};t.b("19H",t.ta);t.b("5ry",t.O);t.b("5rx",t.Za);t.b("7iQ",t.Za);t.b("19H.fn",B);t.L(B,"1PE",B.v);t.L(B,"4pi",B.xa);t.L(B,"7iP",B.ya);t.Ha=1b(a){a=a||[];if("2c"!=2h a||!("1h"in a))1t 6u("9B 1aK 4pW 16r 7iO an 19H 4x 2Q be an 4x, or 1F, or 7w.");a=t.ta(a);t.a.Ab(a,t.Ha.fn);1f a.1a3({5rt:!0})};t.Ha.fn={3S:1b(a){1j(1d b=1a.v(),c=[],d="1b"!=2h a||t.O(a)?1b(b){1f b===a}:a,e=0;e<b.1h;e++){1d f=b[e];if(d(f)){0===c.1h&&1a.ya();if(b[e]!==f)1t 6u("2K 5rw 4pV 3S; 1il 3S 1jI");c.1q(f);b.6z(e,1);e--}}c.1h&&1a.xa();1f c},7f:1b(b){if(b===a){1d c=1a.v(),d=c.4h(0);1a.ya();c.6z(0,c.1h);1a.xa();1f d}1f b?1a.3S(1b(a){1f 0<=t.a.A(b,a)}):[]},1M:1b(a){1d b=1a.v(),c="1b"!=2h a||t.O(a)?1b(b){1f b===a}:a;1a.ya();1j(1d d=b.1h-1;0<=d;d--){1d e=b[d];c(e)&&(e.1sm=!0)}1a.xa()},5rv:1b(b){1f b===a?1a.1M(1b(){1f!0}):b?1a.1M(1b(a){1f 0<=t.a.A(b,a)}):[]},3f:1b(a){1d b=1a();1f t.a.A(b,a)},3X:1b(a,b){a=1a.3f(a);0<=a&&(1a.ya(),1a.v()[a]=b,1a.xa())},7iN:1b(a){1d b=1a().4h(0);1f a?b.15F(a):b.15F()},5ru:1b(){1f 1a().4h(0).1e1()}};t.a.Ba&&t.a.26P(t.Ha.fn,t.ta.fn);t.a.D("9l 1q 1e1 1hN 15F 6z 1po".7g(" "),1b(a){t.Ha.fn[a]=1b(){1d b=1a.v();1a.ya();1a.zc(b,a,5m);1d c=b[a].6c(b,5m);1a.xa();1f c===b?1a:c}});t.a.D(["4h"],1b(a){t.Ha.fn[a]=1b(){1d b=1a();1f b[a].6c(b,5m)}});t.Pc=1b(a){1f t.O(a)&&"1b"==2h a.3S&&"1b"==2h a.1q};t.b("3P4",t.Ha);t.b("7iM",t.Pc);t.Ta.5rt=1b(b,c){1b d(){1b a(){if(l){1d a=[].9V(b.v()||[]);if(b.Wa("31y")){if(!f||1<l)f=t.a.Pb(k,a,b.Ob);1d c=f}k=a;f=1F;l=0;c&&c.1h&&b.1x0(c,"31y")}}e?a():(e=!0,g=b.1bW(1b(){++l},1F,"4pS"),k=[].9V(b.v()||[]),f=1F,h=b.1bW(a))}b.Ob={};c&&"2c"==2h c&&t.a.1a3(b.Ob,c);b.Ob.4pq=!0;if(!b.zc){1d e=!1,f=1F,h,g,l=0,k,n=b.Qa,m=b.hb;b.Qa=1b(a){n&&n.4G(b,a);"31y"===a&&d()};b.hb=1b(c){m&&m.4G(b,c);"31y"!==c||b.Wa("31y")||(h&&h.s(),g&&g.s(),g=h=1F,e=!1,k=a)};b.zc=1b(a,b,c){1b d(a,b,c){1f h[h.1h]={1hM:a,1Q:b,2P:c}}if(e&&!l){1d h=[],g=a.1h,k=c.1h,n=0;6U(b){1S"1q":n=g;1S"1po":1j(b=0;b<k;b++)d("2mm",c[b],n+b);1W;1S "9l":n=g-1;1S "1hN":g&&d("3lI",a[n],n);1W;1S "6z":b=1k.2o(1k.1V(0,0>c[0]?g+c[0]:c[0]),g);g=1===k?g:1k.2o(b+(c[1]||0),g);k=b+k-2;n=1k.1V(g,k);1j(1d m=[],p=[],q=2;b<n;++b,++q)b<g&&p.1q(d("3lI",a[b],b)),b<k&&m.1q(d("2mm",c[q],b));t.a.Kc(p,m);1W;4T:1f}f=h}}}};1d E=t.a.Da("19i");t.o=t.$=1b(b,c,d){1b e(){if(0<5m.1h){if("1b"===2h f)f.6c(h.nb,5m);1s 1t 6u("1e6 1G2 a 1Q to a ko.1AY 7iL 18g 2mt a \'1G2\' 1PC. If 18g 7iK to 1dD 1Z 11L 1Q, 3P3\'t 6t any 7V.");1f 1a}h.ra||t.u.cc(e);(h.ka||h.J&&e.Xa())&&e.ha();1f h.X}"2c"===2h b?d=b:(d=d||{},b&&(d.1dD=b));if("1b"!=2h d.1dD)1t 6u("4iv a 1b 17m 20k 1Z 1Q of 1Z ko.1AY");1d f=d.1G2,h={X:a,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:d.1dD,nb:c||d.7H,l:d.4ph||d.l||1F,Sa:d.7iJ||d.Sa,Rb:1F,I:{},V:0,Ic:1F};e[E]=h;e.Nc="1b"===2h f;t.a.Ba||t.a.1a3(e,t.T.fn);t.T.fn.qb(e);t.a.Ab(e,F);d.3P2?(h.wb=!0,h.J=!0,t.a.1a3(e,H)):d.4pT&&t.a.1a3(e,I);t.3v.4pU&&t.Ta.1ma(e,!0);h.l&&(h.jc=!0,h.l.1a5||(h.l=1F));h.J||d.4pT||e.ha();h.l&&e.ja()&&t.a.K.za(h.l,h.Rb=1b(){e.s()});1f e};1d F={2ev:l,qa:1b(){1f 1a[E].V},Va:1b(){1d a=[];t.a.P(1a[E].I,1b(b,c){a[c.Ka]=c.da});1f a},Vb:1b(a){if(!1a[E].V)1f!1;1d b=1a.Va();1f-1!==t.a.A(b,a)?!0:!!t.a.Lb(b,1b(b){1f b.Vb&&b.Vb(a)})},uc:1b(a,b,c){if(1a[E].wb&&b===1a)1t 6u("A \'3P2\' 1AY 2Q 2S be 7I 7iI");1a[E].I[a]=c;c.Ka=1a[E].V++;c.La=b.ob()},Xa:1b(){1d a,b,c=1a[E].I;1j(a in c)if(1L.1i.3p.4G(c,a)&&(b=c[a],1a.Ia&&b.da.Ja||b.da.Dd(b.La)))1f!0},Jd:1b(){1a.Ia&&!1a[E].rb&&1a.Ia(!1)},ja:1b(){1d a=1a[E];1f a.ka||0<a.V},Rd:1b(){1a.Ja?1a[E].ka&&(1a[E].sa=!0):1a.Hc()},$c:1b(a){if(a.Hb){1d b=a.1bW(1a.Jd,1a,"6s"),c=a.1bW(1a.Rd,1a);1f{da:a,s:1b(){b.s();c.s()}}}1f a.1bW(1a.Hc,1a)},Hc:1b(){1d a=1a,b=a.5rs;b&&0<=b?(2Jm(1a[E].Ic),1a[E].Ic=t.a.1if(1b(){a.ha(!0)},b)):a.Ia?a.Ia(!0):a.ha(!0)},ha:1b(a){1d b=1a[E],c=b.Sa,d=!1;if(!b.rb&&!b.ra){if(b.l&&!t.a.Sb(b.l)||c&&c()){if(!b.jc){1a.s();1f}}1s b.jc=!1;b.rb=!0;10G{d=1a.zd(a)}2mn{b.rb=!1}1f d}},zd:1b(b){1d c=1a[E],d=c.wb?a:!c.V;1d e={qd:1a,mb:c.I,Qb:c.V};t.u.xc({pd:e,od:u,o:1a,Ya:d});c.I={};c.V=0;1d f=1a.yd(c,e);c.V?e=1a.sb(c.X,f):(1a.s(),e=!0);e&&(c.J?1a.Gb():1a.1x0(c.X,"3lW"),c.X=f,1a.1x0(c.X,"4pS"),!c.J&&b&&1a.1x0(c.X),1a.rc&&1a.rc());d&&1a.1x0(c.X,"5rr");1f e},yd:1b(a,b){10G{1d c=a.Wc;1f a.nb?c.4G(a.nb):c()}2mn{t.u.9o(),b.Qb&&!a.J&&t.a.P(b.mb,r),a.sa=a.ka=!1}},v:1b(a){1d b=1a[E];(b.ka&&(a||!b.V)||b.J&&1a.Xa())&&1a.ha();1f b.X},ub:1b(a){t.T.fn.ub.4G(1a,a);1a.nc=1b(){1a[E].J||(1a[E].sa?1a.ha():1a[E].ka=!1);1f 1a[E].X};1a.Ia=1b(a){1a.pc(1a[E].X);1a[E].ka=!0;a&&(1a[E].sa=!0);1a.qc(1a,!a)}},s:1b(){1d b=1a[E];!b.J&&b.I&&t.a.P(b.I,1b(a,b){b.s&&b.s()});b.l&&b.Rb&&t.a.K.yb(b.l,b.Rb);b.I=a;b.V=0;b.ra=!0;b.sa=!1;b.ka=!1;b.J=!1;b.l=a;b.Sa=a;b.Wc=a;1a.Nc||(b.nb=a)}},H={Qa:1b(a){1d b=1a,c=b[E];if(!c.ra&&c.J&&"1v3"==a){c.J=!1;if(c.sa||b.Xa())c.I=1F,c.V=0,b.ha()&&b.Gb();1s{1d d=[];t.a.P(c.I,1b(a,b){d[b.Ka]=a});t.a.D(d,1b(a,d){1d e=c.I[a],f=b.$c(e.da);f.Ka=d;f.La=e.La;c.I[a]=f});b.Xa()&&b.ha()&&b.Gb()}c.ra||b.1x0(c.X,"5rr")}},hb:1b(b){1d c=1a[E];c.ra||"1v3"!=b||1a.Wa("1v3")||(t.a.P(c.I,1b(a,b){b.s&&(c.I[a]={da:b.da,Ka:b.Ka,La:b.La},b.s())}),c.J=!0,1a.1x0(a,"7iH"))},ob:1b(){1d a=1a[E];a.J&&(a.sa||1a.Xa())&&1a.ha();1f t.T.fn.ob.4G(1a)}},I={Qa:1b(a){"1v3"!=a&&"3lW"!=a||1a.v()}};t.a.Ba&&t.a.26P(F,t.T.fn);1d L=t.ta.Ma;F[L]=t.o;t.Oc=1b(a){1f"1b"==2h a&&a[L]===F[L]};t.Fd=1b(a){1f t.Oc(a)&&a[E]&&a[E].wb};t.b("1AY",t.o);t.b("7iG",t.o);t.b("7iF",t.Oc);t.b("7iE",t.Fd);t.b("1AY.fn",F);t.L(F,"1PE",F.v);t.L(F,"1n6",F.s);t.L(F,"2ls",F.ja);t.L(F,"5rq",F.qa);t.L(F,"5rp",F.Va);t.xb=1b(a,b){if("1b"===2h a)1f t.o(a,b,{3P2:!0});a=t.a.1a3({},a);a.3P2=!0;1f t.o(a,b)};t.b("4pR",t.xb);(1b(){1b b(e,f,h){h=h||1g d;e=f(e);if("2c"!=2h e||1F===e||e===a||e 2m 19j||e 2m 16V||e 2m 10J||e 2m 3a||e 2m 17L)1f e;1d g=e 2m 2K?[]:{};h.2x4(e,g);c(e,1b(c){1d d=f(e[c]);6U(2h d){1S"11T":1S"2b":1S"4n":1S"1b":g[c]=d;1W;1S"2c":1S"7w":1d l=h.1n(d);g[c]=l!==a?l:b(d,f,h)}});1f g}1b c(a,b){if(a 2m 2K){1j(1d c=0;c<a.1h;c++)b(c);"1b"==2h a.1n4&&b("1n4")}1s 1j(c in a)b(c)}1b d(){1a.9K=[];1a.2a=[]}t.ad=1b(a){if(0==5m.1h)1t 6u("1M3 1Jf ko.5ro, 6t 1Z 2c 18g 3P1 to 1hk.");1f b(a,1b(a){1j(1d b=0;t.O(a)&&10>b;b++)a=a();1f a})};t.1n4=1b(a,b,c){a=t.ad(a);1f t.a.hc(a,b,c)};d.1i={7m:d,2x4:1b(a,b){1d c=t.a.A(1a.9K,a);0<=c?1a.2a[c]=b:(1a.9K.1q(a),1a.2a.1q(b))},1n:1b(b){b=t.a.A(1a.9K,b);1f 0<=b?1a.2a[b]:a}}})();t.b("5ro",t.ad);t.b("1n4",t.1n4);t.Wd=1b(a,b,c){1b d(b){1d d=t.xb(a,c).1a3({ma:"2aR"}),e=d.1bW(1b(a){a&&(e.s(),b(a))});d.1x0(d.v());1f e}1f"1b"!==2h 2xD||b?d(b.7X(c)):1g 2xD(d)};t.b("16r",t.Wd);(1b(){t.w={M:1b(b){6U(t.a.R(b)){1S"1PC":1f!0===b.3P0?t.a.g.1n(b,t.c.3v.$b):7>=t.a.W?b.4pQ("1Q")&&b.4pQ("1Q").2xC?b.1Q:b.3l:b.1Q;1S"26K":1f 0<=b.2mo?t.w.M(b.3v[b.2mo]):a;4T:1f b.1Q}},cb:1b(b,c,d){6U(t.a.R(b)){1S"1PC":"4n"===2h c?(t.a.g.1C(b,t.c.3v.$b,a),"3P0"in b&&4Y b.3P0,b.1Q=c):(t.a.g.1C(b,t.c.3v.$b,c),b.3P0=!0,b.1Q="2b"===2h c?c:"");1W;1S"26K":if(""===c||1F===c)c=a;1j(1d e=-1,f=0,h=b.3v.1h,g;f<h;++f)if(g=t.w.M(b.3v[f]),g==c||""===g&&c===a){e=f;1W}if(d||0<=e||c===a&&1<b.4V)b.2mo=e,6===t.a.W&&t.a.1if(1b(){b.2mo=e},0);1W;4T:if(1F===c||c===a)c="";b.1Q=c}}}})();t.b("4pP",t.w);t.b("4pP.7iD",t.w.M);t.b("4pP.7iC",t.w.cb);t.m=1b(){1b a(a){a=t.a.Db(a);123===a.19a(0)&&(a=a.4h(1,-1));a+="\\n,";1d b=[],c=a.141(d),h=[],g=0;if(1<c.1h){1j(1d l=0,k;k=c[l];++l){1d n=k.19a(0);if(44===n){if(0>=g){b.1q(m&&h.1h?{10t:m,1Q:h.14G("")}:{1G7:m||h.14G("")});1d m=g=0;h=[];1aJ}}1s if(58===n){if(!g&&!m&&1===h.1h){m=h.9l();1aJ}}1s if(47===n&&1<k.1h&&(47===k.19a(1)||42===k.19a(1)))1aJ;1s 47===n&&l&&1<k.1h?(n=c[l-1].141(e))&&!f[n[0]]&&(a=a.13c(a.3f(k)+1),c=a.141(d),l=-1,k="/"):40===n||123===n||91===n?++g:41===n||125===n||93===n?--g:m||h.1h||34!==n&&39!==n||(k=k.4h(1,-1));h.1q(k)}if(0<g)1t 6u("7iB 7iA, 7iz, or 4pO");}1f b}1d b=["8O","16f","1F","7w"],c=/^(?:[$5rn-z][$\\w]*|(.+)(\\.\\s*[$5rn-z][$\\w]*|\\[.+\\]))$/i,d=/"(?:\\\\.|[^"])*"|\'(?:\\\\.|[^\'])*\'|`(?:\\\\.|[^`])*`|\\/\\*(?:[^*]|\\*+[^*/])*\\*+\\/|\\/\\/.*\\n|\\/(?:\\\\.|[^/])+\\/w*|[^\\s:,/][^,"\'`{}()/:[\\]]*[^\\s,"\'`{}()/:[\\]]|[^\\s]/g,e=/[\\])"\'A-Za-z0-31m$]+$/,f={"in":1,"1f":1,"2h":1},h={};1f{Ra:[],wa:h,ac:a,vb:1b(d,e){1b f(a,d){if(!n){1d e=t.4pK(a);if(e&&e.4pz&&!(d=e.4pz(d,a,f)))1f;if(e=h[a]){1d m=d;0<=t.a.A(b,m)?m=!1:(e=m.141(c),m=1F===e?!1:e[1]?"1L("+e[1]+")"+e[2]:m);e=m}e&&l.1q("\'"+("4n"==2h h[a]?h[a]:a)+"\':1b(5rm){"+m+"=5rm}")}k&&(d="1b(){1f "+d+" }");g.1q("\'"+a+"\':"+d)}e=e||{};1d g=[],l=[],k=e.3lL,n=e.5qZ;d="4n"===2h d?a(d):d;t.a.D(d,1b(a){f(a.10t||a.1G7,a.1Q)});l.1h&&f("5rl","{"+l.14G(",")+" }");1f g.14G(",")},Id:1b(a,b){1j(1d c=0;c<a.1h;c++)if(a[c].10t==b)1f!0;1f!1},eb:1b(a,b,c,d,e){if(a&&t.O(a))!t.Za(a)||e&&a.v()===d||a(d);1s if((a=b.1n("5rl"))&&a[c])a[c](d)}}}();t.b("3lV",t.m);t.b("3lV.7iy",t.m.Ra);t.b("3lV.7ix",t.m.ac);t.b("3lV.7iw",t.m.vb);t.b("3lV.7iv",t.m.wa);t.b("5rk",t.m);t.b("5rk.7iu",t.m.vb);(1b(){1b a(a){1f 8==a.1a5&&h.6S(f?a.3l:a.20j)}1b b(a){1f 8==a.1a5&&g.6S(f?a.3l:a.20j)}1b d(c,d){1j(1d e=c,f=1,h=[];e=e.1qD;){if(b(e)&&(t.a.g.1C(e,k,!0),f--,0===f))1f h;h.1q(e);a(e)&&f++}if(!d)1t 6u("1e6 1oZ 7it 1G8 3lF to 141: "+c.20j);1f 1F}1b e(a,b){1f(b=d(a,b))?0<b.1h?b[b.1h-1].1qD:a.1qD:1F}1d f=c&&"\\1wY!--6S--\\1yJ"===c.7is("6S").3l,h=f?/^\\1wY!--\\s*ko(?:\\s+([\\s\\S]+))?\\s*--\\1yJ$/:/^\\s*ko(?:\\s+([\\s\\S]+))?\\s*$/,g=f?/^\\1wY!--\\s*\\/ko\\s*--\\1yJ$/:/^\\s*\\/ko\\s*$/,l={ul:!0,ol:!0},k="7ir";t.h={ea:{},13P:1b(b){1f a(b)?d(b):b.13P},Ea:1b(b){if(a(b)){b=t.h.13P(b);1j(1d c=0,d=b.1h;c<d;c++)t.2ej(b[c])}1s t.a.Tb(b)},va:1b(b,c){if(a(b)){t.h.Ea(b);b=b.1qD;1j(1d d=0,e=c.1h;d<e;d++)b.1eZ.2ms(c[d],b)}1s t.a.va(b,c)},Vc:1b(b,c){1d d;a(b)?(d=b.1qD,b=b.1eZ):d=b.1gv;d?c!==d&&b.2ms(c,d):b.3A(c)},Wb:1b(b,c,d){d?(d=d.1qD,a(b)&&(b=b.1eZ),d?c!==d&&b.2ms(c,d):b.3A(c)):t.h.Vc(b,c)},1gv:1b(c){if(a(c))1f!c.1qD||b(c.1qD)?1F:c.1qD;if(c.1gv&&b(c.1gv))1t 6u("5rj 16w 9o 1G8, as 1Z 1lf 4pN of "+c);1f c.1gv},1qD:1b(c){a(c)&&(c=e(c));if(c.1qD&&b(c.1qD)){1d d=c.1qD;if(b(d)&&!t.a.g.1n(d,k))1t 6u("5rj 9o 1G8 3OZ a 1TR 7iq 1G8, as 4pN of "+c);1f 1F}1f c.1qD},Cd:a,Vd:1b(a){1f(a=(f?a.3l:a.20j).141(h))?a[1]:1F},Sc:1b(c){if(l[t.a.R(c)]){1d d=c.1gv;if(d){do if(1===d.1a5){1d f=d.1gv;1d h=1F;if(f){do if(h)h.1q(f);1s if(a(f)){1d g=e(f,!0);g?f=g:h=[f]}1s b(f)&&(h=[f]);14p(f=f.1qD)}if(f=h)1j(h=d.1qD,g=0;g<f.1h;g++)h?c.2ms(f[g],h):c.3A(f[g])}14p(d=d.1qD)}}}}})();t.b("2xy",t.h);t.b("2xy.5qr",t.h.ea);t.b("2xy.7ip",t.h.Ea);t.b("2xy.7io",t.h.Wb);t.b("2xy.7in",t.h.Vc);t.b("2xy.5qt",t.h.va);(1b(){t.ga=1b(){1a.nd={}};t.a.1a3(t.ga.1i,{5rh:1b(a){6U(a.1a5){1S 1:1f 1F!=a.15o("2g-7X")||t.j.4pF(a);1S 8:1f t.h.Cd(a);4T:1f!1}},5ri:1b(a,b){1d c=1a.4pM(a,b);c=c?1a.3OW(c,b,a):1F;1f t.j.tc(c,a,b,!1)},5rd:1b(a,b){1d c=1a.4pM(a,b);c=c?1a.3OW(c,b,a,{3lL:!0}):1F;1f t.j.tc(c,a,b,!0)},4pM:1b(a){6U(a.1a5){1S 1:1f a.15o("2g-7X");1S 8:1f t.h.Vd(a);4T:1f 1F}},3OW:1b(a,b,c,d){10G{1d e=1a.nd,f=a+(d&&d.3lL||""),h;if(!(h=e[f])){1d g="10M($1O){10M($2g||{}){1f{"+t.m.vb(a,d)+"}}}";1d l=1g 1wM("$1O","$1ij",g);h=e[f]=l}1f h(b,c)}11B(Ob){1t Ob.19s="2mq to 5N 1M2.\\7im 1Q: "+a+"\\5ra: "+Ob.19s,Ob;}}});t.ga.1bX=1g t.ga})();t.b("7il",t.ga);(1b(){1b d(a){1d b=(a=t.a.g.1n(a,A))&&a.N;b&&(a.N=1F,b.Tc())}1b f(a,b,c){1a.17t=a;1a.yc=b;1a.kb=[];1a.H=!1;b.N||t.a.K.za(a,d);c&&c.N&&(c.N.kb.1q(a),1a.Kb=c)}1b h(a){1f 1b(){1f a}}1b g(a){1f a()}1b l(a){1f t.a.Ga(t.u.G(a),1b(b,c){1f 1b(){1f a()[c]}})}1b k(a,b,c){1f"1b"===2h a?l(a.7X(1F,b,c)):t.a.Ga(a,h)}1b n(a,b){1f l(1a.5ri.7X(1a,a,b))}1b m(a,b){1d c=t.h.1gv(b);if(c){1d d,e=t.ga.1bX,f=e.5qE;if(f){1j(;d=c;)c=t.h.1qD(d),f.4G(e,d);c=t.h.1gv(b)}1j(;d=c;)c=t.h.1qD(d),p(a,d)}t.i.ma(b,t.i.H)}1b p(a,b){1d c=a,d=1===b.1a5;d&&t.h.Sc(b);if(d||t.ga.1bX.5rh(b))c=r(b,1F,a).5r9;c&&!z[t.a.R(b)]&&m(c,b)}1b q(a){1d b=[],c={},d=[];t.a.P(a,1b 5re(e){if(!c[e]){1d f=t.4pK(e);f&&(f.1eB&&(d.1q(e),t.a.D(f.1eB,1b(b){if(a[b]){if(-1!==t.a.A(d,b))1t 6u("1e6 3CD 1Z 5rg 1M2, 2Jo 5rf 118 a 7ik 4pL: "+d.14G(", "));5re(b)}}),d.1h--),b.1q({10t:e,Mc:f}));c[e]=!0}});1f b}1b r(b,c,d){1d e=t.a.g.Ub(b,A,{}),f=e.hd;if(!c){if(f)1t 6u("2mr 1il 6c 1M2 1yK 12K to 1Z 1ik 1ij.");e.hd=!0}f||(e.1O=d);e.Zb||(e.Zb={});if(c&&"1b"!==2h c)1d h=c;1s{1d l=t.ga.1bX,k=l.5rd||n,m=t.$(1b(){if(h=c?c(d,b):k.4G(l,b,d)){if(d[u])d[u]();if(d[v])d[v]()}1f h},1F,{l:b});h&&m.ja()||(m=1F)}1d p=d,r;if(h){1d w=1b(){1f t.a.Ga(m?m():h,g)},x=m?1b(a){1f 1b(){1f(0,m()[a])()}}:1b(a){1f h[a]};w.1n=1b(a){1f h[a]&&x(a)()};w.14d=1b(a){1f a in h};t.i.H in h&&t.i.1bW(b,t.i.H,1b(){1d a=(0,h[t.i.H])();if(a){1d c=t.h.13P(b);c.1h&&a(c,t.Ec(c[0]))}});t.i.pa in h&&(p=t.i.Cb(b,d),t.i.1bW(b,t.i.pa,1b(){1d a=(0,h[t.i.pa])();a&&t.h.1gv(b)&&a(b)}));e=q(h);t.a.D(e,1b(c){1d d=c.Mc.11K,e=c.Mc.2H,f=c.10t;if(8===b.1a5&&!t.h.ea[f])1t 6u("9B 26J \'"+f+"\' 1il be 1rd 10M 3lU 26L");10G{"1b"==2h d&&t.u.G(1b(){1d c=d(b,x(f),w,p.$2g,p);if(c&&c.2et){if(r!==a)1t 6u("5rc 1M2 ("+r+" and "+f+") are 5rb to 3Om 7ij 1M2 of 1Z 1ik 1ij. 2mr 1il 14W 1S3 1M2 7ii on 1Z 1ik 1ij.");r=f}}),"1b"==2h e&&t.$(1b(){e(b,x(f),w,p.$2g,p)},1F,{l:b})}11B(Kc){1t Kc.19s=\'2mq to 1pt 26J "\'+f+": "+h[f]+\'"\\5ra: \'+Kc.19s,Kc;}})}e=r===a;1f{7ih:e,5r9:e&&p}}1b w(b,c){1f b&&b 2m t.fa?b:1g t.fa(b,a,a,c)}1d u=t.a.Da("7ig"),x=t.a.Da("7if"),v=t.a.Da("7ie");t.c={};1d z={1G5:!0,2Jk:!0,1qC:!0};t.4pK=1b(a){1f t.c[a]};1d y={};t.fa=1b(b,c,d,e,f){1b h(){1d a=n?k():k,b=t.a.f(a);c?(t.a.1a3(g,c),x in c&&(g[x]=c[x])):(g.$26O=[],g.$1ro=b,g.ko=t);g[u]=m;l?b=g.$2g:(g.$1M0=a,g.$2g=b);d&&(g[d]=b);e&&e(g,c,b);if(c&&c[u]&&!t.S.o().Vb(c[u]))c[u]();p&&(g[v]=p);1f g.$2g}1d g=1a,l=b===y,k=l?a:b,n="1b"==2h k&&!t.O(k),m,p=f&&f.5qR;f&&f.3OJ?h():(m=t.xb(h),m.v(),m.ja()?m.2ev=1F:g[u]=a)};t.fa.1i.31x=1b(a,b,c,d){!d&&b&&"2c"==2h b&&(d=b,b=d.as,c=d.1a3);if(b&&d&&d.26I){1d e="1b"==2h a&&!t.O(a);1f 1g t.fa(y,1a,1F,1b(d){c&&c(d);d[b]=e?a():a},d)}1f 1g t.fa(a,1a,b,1b(a,b){a.$7id=b;a.$12f=b.$2g;a.$26O=(b.$26O||[]).4h(0);a.$26O.1po(a.$12f);c&&c(a)},d)};t.fa.1i.1a3=1b(a,b){1f 1g t.fa(y,1a,1F,1b(b){t.a.1a3(b,"1b"==2h a?a(b):a)},b)};1d A=t.a.g.Z();f.1i.Tc=1b(){1a.Kb&&1a.Kb.N&&1a.Kb.N.sd(1a.17t)};f.1i.sd=1b(a){t.a.Pa(1a.kb,a);!1a.kb.1h&&1a.H&&1a.Cc()};f.1i.Cc=1b(){1a.H=!0;1a.yc.N&&!1a.kb.1h&&(1a.yc.N=1F,t.a.K.yb(1a.17t,d),t.i.ma(1a.17t,t.i.pa),1a.Tc())};t.i={H:"7ic",pa:"5r8",1bW:1b(a,b,c,d,e){1d f=t.a.g.Ub(a,A,{});f.Fa||(f.Fa=1g t.T);e&&e.4pw&&f.Zb[b]&&t.u.G(c,d,[a]);1f f.Fa.1bW(c,d,b)},ma:1b(b,c){1d d=t.a.g.1n(b,A);if(d&&(d.Zb[c]=!0,d.Fa&&d.Fa.1x0(b,c),c==t.i.H))if(d.N)d.N.Cc();1s if(d.N===a&&d.Fa&&d.Fa.Wa(t.i.pa))1t 6u("5r8 2dG 2S 11J 1j 1M2 on 1a 17t");},Cb:1b(a,b){1d c=t.a.g.Ub(a,A,{});c.N||(c.N=1g f(a,c,b[x]));1f b[x]==c?b:b.1a3(1b(a){a[x]=c})}};t.Td=1b(a){1f(a=t.a.g.1n(a,A))&&a.1O};t.ib=1b(a,b,c){1===a.1a5&&t.h.Sc(a);1f r(a,b,w(c))};t.ld=1b(a,b,c){c=w(c);1f t.ib(a,k(b,c,a),c)};t.Oa=1b(a,b){1!==b.1a5&&8!==b.1a5||m(w(a),b)};t.vc=1b(a,d,f){!e&&b.2xA&&(e=b.2xA);if(2>5m.1h){if(d=c.1hg,!d)1t 6u("ko.1AH: 5r7 2S 1oZ 3n.1hg; 14d 1Z 3n 26N 1aw?");}1s if(!d||1!==d.1a5&&8!==d.1a5)1t 6u("ko.1AH: 1lf 2eu 1tD be 1DE 11A 12W; 1hd 2eu 1tD be a 4pu 17t");p(w(a,f),d)};t.Dc=1b(b){1f!b||1!==b.1a5&&8!==b.1a5?a:t.Td(b)};t.Ec=1b(b){1f(b=t.Dc(b))?b.$2g:a};t.b("5qu",t.c);t.b("4pJ",t.i);t.b("4pJ.1bW",t.i.1bW);t.b("4pJ.7ib",t.i.Cb);t.b("1AH",t.vc);t.b("7ia",t.Oa);t.b("7i9",t.ib);t.b("7i8",t.ld);t.b("7i7",t.Dc);t.b("7i6",t.Ec)})();(1b(a){1b b(b,d){1d h=1L.1i.3p.4G(e,b)?e[b]:a,g;h?h.1bW(d):(h=e[b]=1g t.T,h.1bW(d),c(b,1b(a,c){c=!(!c||!c.4pI);f[b]={3OY:a,Gd:c};4Y e[b];g||c?h.1x0(a):t.na.zb(1b(){h.1x0(a)})}),g=!0)}1b c(a,b){d("5r4",[a],1b(c){c?d("5r3",[a,c],1b(a){b(a,c)}):b(1F,1F)})}1b d(b,c,e,f){f||(f=t.j.3OX.4h(0));1d h=f.1hN();if(h){1d g=h[b];if(g){1d l=!1;if(g.6c(h,c.9V(1b(a){l?e(1F):1F!==a?e(a):d(b,c,e,f)}))!==a&&(l=!0,!h.7i5))1t 6u("3OV 3OX 2Q 5r6 2a by 7i4 1Z 1Jg, 2S by 7i3 2a 7i2.");}1s d(b,c,e,f)}1s e(1F)}1d e={},f={};t.j={1n:1b(c,d){1d e=1L.1i.3p.4G(f,c)?f[c]:a;e?e.Gd?t.u.G(1b(){d(e.3OY)}):t.na.zb(1b(){d(e.3OY)}):b(c,d)},Bc:1b(a){4Y f[a]},oc:d};t.j.3OX=[];t.b("1bw",t.j);t.b("1bw.1n",t.j.1n);t.b("1bw.7i1",t.j.Bc)})();(1b(){1b a(a,b,c,d){1b e(){0===--g&&d(f)}1d f={},g=2,l=c.1qC;c=c.1fW;l?h(b,l,1b(b){t.j.oc("5r2",[a,b],1b(a){f.1qC=a;e()})}):e();c?h(b,c,1b(b){t.j.oc("5r0",[a,b],1b(a){f[n]=a;e()})}):e()}1b d(a,b,c){if("1b"===2h b)c(1b(a){1f 1g b(a)});1s if("1b"===2h b[n])c(b[n]);1s if("1bX"in b){1d e=b.1bX;c(1b(){1f e})}1s"1fW"in b?d(a,b.1fW,c):a("1jJ 1fW 1Q: "+b)}1b e(a){6U(t.a.R(a)){1S"1G5":1f t.a.ua(a.3l);1S"2Jk":1f t.a.ua(a.1Q);1S"1qC":if(f(a.15k))1f t.a.Ca(a.15k.13P)}1f t.a.Ca(a.13P)}1b f(a){1f b.4pH?a 2m 4pH:a&&11===a.1a5}1b h(a,c,d){"4n"===2h c.1v7?g||b.1v7?(g||b.1v7)([c.1v7],1b(a){a&&"2c"===2h a&&a.Xd&&a["4T"]&&(a=a["4T"]);d(a)}):a("7i0 1v7, 19T no 7hZ 7hY is 5r5"):d(c)}1b l(a){1f 1b(b){1t 6u("3OV \'"+a+"\': "+b);}}1d k={};t.j.19l=1b(a,b){if(!b)1t 6u("13H 7hX 1j "+a);if(t.j.tb(a))1t 6u("3OV "+a+" is 1A8 3lT");k[a]=b};t.j.tb=1b(a){1f 1L.1i.3p.4G(k,a)};t.j.4pG=1b(a){4Y k[a];t.j.Bc(a)};t.j.Fc={5r4:1b(a,b){b(t.j.tb(a)?k[a]:1F)},5r3:1b(b,c,d){1d e=l(b);h(e,c,1b(c){a(b,e,c,d)})},5r2:1b(a,d,h){a=l(a);if("4n"===2h d)h(t.a.ua(d));1s if(d 2m 2K)h(d);1s if(f(d))h(t.a.la(d.13P));1s if(d.1ij)if(d=d.1ij,b.5r1?d 2m 5r1:d&&d.12J&&1===d.1a5)h(e(d));1s if("4n"===2h d){1d g=c.2wN(d);g?h(e(g)):a("1e6 1oZ 1ij 10M ID "+d)}1s a("1jJ 1ij 1I: "+d);1s a("1jJ 1qC 1Q: "+d)},5r0:1b(a,b,c){d(l(a),b,c)}};1d n="5qY";t.b("1bw.19l",t.j.19l);t.b("1bw.7hW",t.j.tb);t.b("1bw.4pG",t.j.4pG);t.b("1bw.7hV",t.j.Fc);t.j.3OX.1q(t.j.Fc);t.j.dd=k})();(1b(){1b a(a,c){1d d=a.15o("2wW");1f d?(d=b.3OW(d,c,a,{3lL:!0,5qZ:!0}),d=t.a.Ga(d,1b(b){1f t.o(b,1F,{l:a})}),c=t.a.Ga(d,1b(b){1d c=b.v();1f b.ja()?t.o({1dD:1b(){1f t.a.f(b())},1G2:t.Za(c)&&1b(a){b()(a)},l:a}):c}),1L.1i.3p.4G(c,"$2mp")||(c.$2mp=d),c):{$2mp:{}}}t.j.4pF=1b(a){1d b=t.a.R(a);if(t.j.tb(b)&&(-1!=b.3f("-")||"[2c 7hU]"==""+a||8>=t.a.W&&a.12J===b))1f b};t.j.tc=1b(b,c,d,e){if(1===c.1a5){1d f=t.j.4pF(c);if(f){b=b||{};if(b.26M)1t 6u(\'1e6 14W 1Z "26M" 26J on a 2Jn 1ij 1TR a 26M\');1d h={2i:f,2wW:a(c,d)};b.26M=e?1b(){1f h}:h}}1f b};1d b=1g t.ga;9>t.a.W&&(t.j.19l=1b(a){1f 1b(b){1f a.6c(1a,5m)}}(t.j.19l),c.3Mb=1b(a){1f 1b(){1f a()}}(c.3Mb))})();(1b(){1b a(a,b,c){b=b.1qC;if(!b)1t 6u("3OV \'"+a+"\' 14d no 1qC");a=t.a.Ca(b);t.h.va(c,a)}1b b(a,b,c){1d d=a.5qY;1f d?d.4G(a,b,c):b}1d c=0;t.c.26M={11K:1b(d,e,f,h,g){1b l(){1d a=k&&k.1n6;"1b"===2h a&&a.4G(k);m&&m.s();n=k=m=1F}1d k,n,m,p=t.a.la(t.h.13P(d));t.h.Ea(d);t.a.K.za(d,l);t.o(1b(){1d f=t.a.f(e()),h,q;"4n"===2h f?h=f:(h=t.a.f(f.2i),q=t.a.f(f.2wW));if(!h)1t 6u("No 26M 2i 2xC");1d r=t.i.Cb(d,g),w=n=++c;t.j.1n(h,1b(c){if(n===w){l();if(!c)1t 6u("1jJ 26M \'"+h+"\'");a(h,c,d);1d e=b(c,q,{1ij:d,7hT:p});c=r.31x(e,{1a3:1b(a){a.$26M=e;a.$7hS=p}});e&&e.5qX&&(m=t.i.1bW(d,t.i.pa,e.5qX,e));k=e;t.Oa(c,d)}})},1F,{l:d});1f{2et:!0}}};t.h.ea.26M=!0})();1d J={"11F":"8k","1j":"7hR"};t.c.1wZ={2H:1b(b,c){c=t.a.f(c())||{};t.a.P(c,1b(c,d){d=t.a.f(d);1d e=c.3f(":");e="5qW"in b&&0<e&&b.5qW(c.13c(0,e));1d f=!1===d||1F===d||d===a;f?e?b.7hQ(e,c):b.3lR(c):d=d.5s();8>=t.a.W&&c in J?(c=J[c],f?b.3lR(c):b[c]=d):f||(e?b.3lS(e,c,d):b.8m(c,d));"2i"===c&&t.a.Yc(b,f?"":d)})}};(1b(){t.c.2wZ={1eB:["1Q","1wZ"],11K:1b(b,c,d){1b e(){1d e=b.2wZ,f=h();if(!t.S.Ya()&&(e||!l&&!t.S.qa())){1d k=t.u.G(c);if(n){1d p=m?k.v():k,r=q;q=f;r!==f?e&&(t.a.Na(p,f,!0),t.a.Na(p,r,!1)):t.a.Na(p,f,e);m&&t.Za(k)&&k(p)}1s g&&(f===a?f=e:e||(f=a)),t.m.eb(k,d,"2wZ",f,!0)}}1b f(){1d d=t.a.f(c()),e=h();n?(b.2wZ=0<=t.a.A(d,e),q=e):b.2wZ=g&&e===a?!!d:h()===d}1d h=t.xb(1b(){if(d.14d("3ON"))1f t.a.f(d.1n("3ON"));if(p)1f d.14d("1Q")?t.a.f(d.1n("1Q")):b.1Q}),g="3N4"==b.1I,l="3OP"==b.1I;if(g||l){1d k=c(),n=g&&t.a.f(k)2m 2K,m=!(n&&k.1q&&k.6z),p=l||n,q=n?h():a;l&&!b.2i&&t.c.3OQ.11K(b,1b(){1f!0});t.o(e,1F,{l:b});t.a.B(b,"1aI",e);t.o(f,1F,{l:b});k=a}}};t.m.wa.2wZ=!0;t.c.3ON={2H:1b(a,b){a.1Q=t.a.f(b())}}})();t.c["11F"]={2H:1b(a,b){b=t.a.Db(t.a.f(b()));t.a.Eb(a,a.5qV,!1);a.5qV=b;t.a.Eb(a,b,!0)}};t.c.1cg={2H:1b(a,b){1d c=t.a.f(b());1F!==c&&"2c"==2h c?t.a.P(c,1b(b,c){c=t.a.f(c);t.a.Eb(a,b,c)}):t.c["11F"].2H(a,b)}};t.c.5F={2H:1b(a,b){(b=t.a.f(b()))&&a.1nk?a.3lR("1nk"):b||a.1nk||(a.1nk=!0)}};t.c.1Pw={2H:1b(a,b){t.c.5F.2H(a,1b(){1f!t.a.f(b())})}};t.c.2dG={11K:1b(a,b,c,d,e){1d f=b()||{};t.a.P(f,1b(f){"4n"==2h f&&t.a.B(a,f,1b(a){1d h=b()[f];if(h){10G{1d g=t.a.la(5m);d=e.$2g;g.1po(d);1d l=h.6c(d,g)}2mn{!0!==l&&(a.1yA?a.1yA():a.5qM=!1)}!1===c.1n(f+"7hP")&&(a.7hO=!0,a.31i&&a.31i())}})})}};t.c.1TQ={Rc:1b(a){1f 1b(){1d b=a(),c=t.a.bc(b);if(!c||"2b"==2h c.1h)1f{1TQ:b,2Jj:t.ba.Ma};t.a.f(b);1f{1TQ:c.2g,as:c.as,26I:c.26I,3OK:c.3OK,4pn:c.4pn,2Jh:c.2Jh,1sn:c.1sn,4pp:c.4pp,4po:c.4po,2Jj:t.ba.Ma}}},11K:1b(a,b){1f t.c.1qC.11K(a,t.c.1TQ.Rc(b))},2H:1b(a,b,c,d,e){1f t.c.1qC.2H(a,t.c.1TQ.Rc(b),c,d,e)}};t.m.Ra.1TQ=!1;t.h.ea.1TQ=!0;t.c.3lQ={11K:1b(a,b,c){1b d(d){a.4pE=!0;1d e=a.1G6;if("3lH"in e){10G{1d f=e.3lH}11B(Ob){f=e.1hg}d=f===a}e=b();t.m.eb(e,c,"3lQ",d,!0);a.3OU=d;a.4pE=!1}1d e=d.7X(1F,!0),f=d.7X(1F,!1);t.a.B(a,"31w",e);t.a.B(a,"5qU",e);t.a.B(a,"16B",f);t.a.B(a,"5qT",f);a.3OU=!1},2H:1b(a,b){b=!!t.a.f(b());a.4pE||a.3OU===b||(b?a.31w():a.16B(),!b&&a.3OU&&a.1G6.1hg.31w(),t.u.G(t.a.Fb,1F,[a,b?"5qU":"5qT"]))}};t.m.wa.3lQ=!0;t.c.5qS=t.c.3lQ;t.m.wa.5qS="3lQ";t.c.1jH={11K:1b(){1f{2et:!0}},2H:1b(a,b){t.a.fc(a,b())}};(1b(){1b a(a,b,c){t.c[a]={11K:1b(a,d,e,f,h){1d g,l,k={},n;if(b){f=e.1n("as");1d m=e.1n("26I");1d p=!(f&&m);k={as:f,26I:m,3OJ:p}}1d q=(n="3t"==e.1n("7hN"))||e.14d(t.i.pa);t.o(1b(){1d e=t.a.f(d()),f=!c!==!e,m=!l;if(p||f!==g){q&&(h=t.i.Cb(a,h));if(f){if(!b||p)k.5qR=t.S.o();1d r=b?h.31x("1b"==2h e?e:d,k):t.S.qa()?h.1a3(1F,k):h}m&&t.S.qa()&&(l=t.a.Ca(t.h.13P(a),!0));f?(m||t.h.va(a,t.a.Ca(l)),t.Oa(r,a)):(t.h.Ea(a),n||t.i.ma(a,t.i.H));g=f}},1F,{l:a});1f{2et:!0}}};t.m.Ra[a]=!1;t.h.ea[a]=!0}a("if");a("4ps",!1,!0);a("10M",!0)})();t.c.2FM={11K:1b(a,b,c,d,e){b=e.1a3(b);t.Oa(b,a);1f{2et:!0}}};t.h.ea.2FM=!0;1d U={};t.c.3v={11K:1b(a){if("26K"!==t.a.R(a))1t 6u("3v 26J 5qO 1cF to 5qN 26L");1j(;0<a.1h;)a.3S(0);1f{2et:!0}},2H:1b(b,c,d){1b e(){1f t.a.jb(b.3v,1b(a){1f a.1bM})}1b f(a,b,c){1d d=2h b;1f"1b"==d?b(a):"4n"==d?a[b]:c}1b h(a,c){r&&n?t.i.ma(b,t.i.H):q.1h&&(a=0<=t.a.A(q,t.w.M(c[0])),t.a.Zc(c[0],a),r&&!a&&t.u.G(t.a.Fb,1F,[b,"1v3"]))}1d g=b.1yK,l=0!=b.1h&&g?b.3lP:1F,k=t.a.f(c()),n=d.1n("4px")&&d.14d("1Q"),m=d.1n("7hM");c={};1d p,q=[];n||(g?q=t.a.Mb(e(),t.w.M):0<=b.2mo&&q.1q(t.w.M(b.3v[b.2mo])));k&&("7w"==2h k.1h&&(k=[k]),p=t.a.jb(k,1b(b){1f m||b===a||1F===b||!t.a.f(b.1sm)}),d.14d("4pC")&&(k=t.a.f(d.1n("4pC")),1F!==k&&k!==a&&p.1po(U)));1d r=!1;c.2Jh=1b(a){b.18Z(a)};k=h;d.14d("4pD")&&"1b"==2h d.1n("4pD")&&(k=1b(b,c){h(0,c);t.u.G(d.1n("4pD"),1F,[c[0],b!==U?b:a])});t.a.ec(b,p,1b(c,e,h){h.1h&&(q=!n&&h[0].1bM?[t.w.M(h[0])]:[],r=!0);e=b.1G6.4O("1PC");c===U?(t.a.Bb(e,d.1n("4pC")),t.w.cb(e,a)):(h=f(c,d.1n("5qQ"),c),t.w.cb(e,t.a.f(h)),c=f(c,d.1n("5qP"),h),t.a.Bb(e,c));1f[e]},c,k);if(!n){1d w;g?w=q.1h&&e().1h<q.1h:w=q.1h&&0<=b.2mo?t.w.M(b.3v[b.2mo])!==q[0]:q.1h||0<=b.2mo;w&&t.u.G(t.a.Fb,1F,[b,"1v3"])}(n||t.S.Ya())&&t.i.ma(b,t.i.H);t.a.wd(b);l&&20<1k.abs(l-b.3lP)&&(b.3lP=l)}};t.c.3v.$b=t.a.g.Z();t.c.3OT={11K:1b(a,b,c){1b d(){1d d=b(),e=[];t.a.D(a.1cE("1PC"),1b(a){a.1bM&&e.1q(t.w.M(a))});t.m.eb(d,c,"3OT",e)}1b e(){1d c=t.a.f(b()),d=a.3lP;c&&"2b"==2h c.1h&&t.a.D(a.1cE("1PC"),1b(a){1d b=0<=t.a.A(c,t.w.M(a));a.1bM!=b&&t.a.Zc(a,b)});a.3lP=d}if("26K"!=t.a.R(a))1t 6u("3OT 26J 5qO 1cF to 5qN 26L");1d f;t.i.1bW(a,t.i.H,1b(){f?d():(t.a.B(a,"1v3",d),f=t.o(e,1F,{l:a}))},1F,{4pw:!0})},2H:1b(){}};t.m.wa.3OT=!0;t.c.2r={2H:1b(b,c){c=t.a.f(c()||{});t.a.P(c,1b(c,d){d=t.a.f(d);if(1F===d||d===a||!1===d)d="";if(e)e(b).1cg(c,d);1s if(/^--/.6S(c))b.2r.2xB(c,d);1s{c=c.3X(/-(\\w)/g,1b(a,b){1f b.1G9()});1d f=b.2r[c];b.2r[c]=d;d===f||b.2r[c]!=f||11I(d)||(b.2r[c]=d+"px")}})}};t.c.3lO={11K:1b(a,b,c,d,e){if("1b"!=2h b())1t 6u("9B 1Q 1j a 3lO 26J 2Q be a 1b");t.a.B(a,"3lO",1b(c){1d d=b();10G{1d f=d.4G(e.$2g,a)}2mn{!0!==f&&(c.1yA?c.1yA():c.5qM=!1)}})}};t.c.3l={11K:1b(){1f{2et:!0}},2H:1b(a,b){t.a.Bb(a,b())}};t.h.ea.3l=!0;(1b(){if(b&&b.1Pu){1d c=1b(a){if(a)1f 7L(a[1])},d=b.1Pu.1LZ,e,f,h,g,l;(e=b.4pB&&b.4pB.9G&&8A(b.4pB.9G()))||(l=c(d.141(/5qL\\/([^ ]+)$/)))||c(d.141(/3OS\\/([^ ]+)/))||(f=c(d.141(/1PD\\/([^ ]+) 3OR/)))||(h=c(d.141(/4pA\\/([^ ]+)/)))||(g=t.a.W||c(d.141(/5qK ([^ ]+)/)))||(g=c(d.141(/rv:([^ )]+)/)))}if(8<=g&&10>g)1d k=t.a.g.Z(),n=t.a.g.Z(),m=1b(a){1d b=1a.3lH;(b=b&&t.a.g.1n(b,n))&&b(a)},p=1b(a,b){1d c=a.1G6;t.a.g.1n(c,k)||(t.a.g.1C(c,k,!0),t.a.B(c,"7hL",m));t.a.g.1C(a,n,b)};t.c.3lM={11K:1b(b,c,d){1b k(a,c){t.a.B(b,a,c)}1b n(){1d d=t.a.f(c());if(1F===d||d===a)d="";u!==a&&d===u?t.a.1if(n,4):b.1Q!==d&&(v=!0,b.1Q=d,v=!1,r=b.1Q)}1b m(){w||(u=b.1Q,w=t.a.1if(q,4))}1b q(){2Jm(w);u=w=a;1d e=b.1Q;r!==e&&(r=e,t.m.eb(c(),d,"3lM",e))}1d r=b.1Q,w,u,x=9==t.a.W?m:q,v=!1;g&&k("4oy",q);11>g&&k("3lu",1b(a){v||"1Q"!==a.3lN||x(a)});8==g&&(k("3iR",q),k("2dt",q));p&&(p(b,x),k("7hK",m));(!g||9<=g)&&k("15d",x);5>f&&"2Jk"===t.a.R(b)?(k("2dt",m),k("5hw",m),k("5hx",m)):11>e?k("2dt",m):4>h?(k("7hJ",q),k("7hI",q),k("3Op",q)):l&&"2b"===b.1I&&k("2dt",m);k("1v3",q);k("16B",q);t.o(n,1F,{l:b})}};t.m.wa.3lM=!0;t.c.7hH={4pz:1b(a,b,c){c("3lM",a)}}})();t.c.3OQ={11K:1b(a,b){b()&&(b="7hG"+ ++t.c.3OQ.rd,t.a.Yc(a,b))}};t.c.3OQ.rd=0;t.c.1nl={11K:1b(a,b,c,d,e){1d f;c.14d("as")&&(f={as:c.1n("as"),26I:c.1n("26I")});b=e.31x(b,f);t.Oa(b,a);1f{2et:!0}}};t.h.ea.1nl=!0;t.c.1Q={11K:1b(b,c,d){1d e=t.a.R(b),f="15d"==e;if(!f||"3N4"!=b.1I&&"3OP"!=b.1I){1d h=[],g=d.1n("4py"),l=!1,k=1F;g&&("4n"==2h g?h=[g]:h=t.a.wc(g),t.a.Pa(h,"1v3"));1d n=1b(){k=1F;l=!1;1d a=c(),e=t.w.M(b);t.m.eb(a,d,"1Q",e)};!t.a.W||!f||"3l"!=b.1I||"1nP"==b.3OO||b.2Jl&&"1nP"==b.2Jl.3OO||-1!=t.a.A(h,"3lu")||(t.a.B(b,"3lu",1b(){l=!0}),t.a.B(b,"31w",1b(){l=!1}),t.a.B(b,"16B",1b(){l&&n()}));t.a.D(h,1b(a){1d c=n;t.a.Ud(a,"1eB")&&(c=1b(){k=t.w.M(b);t.a.1if(n,0)},a=a.11c(5));t.a.B(b,a,c)});1d m=f&&"1ol"==b.1I?1b(){1d d=t.a.f(c());1F===d||d===a||""===d?b.1Q="":t.u.G(n)}:1b(){1d f=t.a.f(c()),h=t.w.M(b);if(1F!==k&&f===k)t.a.1if(m,0);1s if(f!==h||h===a)"26K"===e?(h=d.1n("4px"),t.w.cb(b,f,h),h||f===t.w.M(b)||t.u.G(n)):t.w.cb(b,f)};if("26K"===e){1d p;t.i.1bW(b,t.i.H,1b(){p?d.1n("4px")?m():n():(t.a.B(b,"1v3",n),p=t.o(m,1F,{l:b}))},1F,{4pw:!0})}1s t.a.B(b,"1v3",n),t.o(m,1F,{l:b})}1s t.ib(b,{3ON:c})},2H:1b(){}};t.m.wa.1Q=!0;t.c.13z={2H:1b(a,b){b=t.a.f(b());1d c="1bs"!=a.2r.1ka;b&&!c?a.2r.1ka="":!b&&c&&(a.2r.1ka="1bs")}};t.c.1qr={2H:1b(a,b){t.c.13z.2H(a,1b(){1f!t.a.f(b())})}};(1b(a){t.c[a]={11K:1b(b,c,d,e,f){1f t.c.2dG.11K.4G(1a,b,1b(){1d b={};b[a]=c();1f b},d,e,f)}}})("1aI");t.ca=1b(){};t.ca.1i.3lG=1b(){1t 6u("5qJ 3lG");};t.ca.1i.3OE=1b(){1t 6u("5qJ 3OE");};t.ca.1i.3OM=1b(a,b){if("4n"==2h a){b=b||c;b=b.2wN(a);if(!b)1t 6u("1e6 1oZ 1qC 10M ID "+a);1f 1g t.C.F(b)}if(1==a.1a5||8==a.1a5)1f 1g t.C.ia(a);1t 6u("1jJ 1qC 1I: "+a);};t.ca.1i.3OH=1b(a,b,c,d){a=1a.3OM(a,d);1f 1a.3lG(a,b,c,d)};t.ca.1i.5qH=1b(a,b){1f!1===1a.5qz?!0:1a.3OM(a,b).2g("5qI")};t.ca.1i.5qG=1b(a,b,c){a=1a.3OM(a,c);b=b(a.3l());a.3l(b);a.2g("5qI",!0)};t.b("2Jj",t.ca);t.kc=1b(){1b a(a,b,c,d){a=t.m.ac(a);1j(1d e=t.m.Ra,f=0;f<a.1h;f++){1d h=a[f].10t;if(1L.1i.3p.4G(e,h)){1d g=e[h];if("1b"===2h g){if(h=g(a[f].1Q))1t 6u(h);}1s if(!g)1t 6u("18m 1qC 3lJ 18f 2S 19G 1Z \'"+h+"\' 26J 4pr 2aT 3OI");}}c="ko.5qF(1b($1O,$1ij){1f(1b(){1f{ "+t.m.vb(a,{3lL:!0})+" } })()},\'"+c.18v()+"\')";1f d.3OE(c)+b}1d b=/(<([a-z]+\\d*)(?:\\s+(?!2g-7X\\s*=\\s*)[a-z0-9\\-]+(?:=(?:"[^"]*"|\'[^\']*\'|[^>]*))?)*\\s+)2g-7X\\s*=\\s*(["\'])([\\s\\S]*?)\\3/gi,c=/\\1wY!--\\s*ko\\b\\s*([\\s\\S]*?)\\s*--\\1yJ/g;1f{xd:1b(a,b,c){b.5qH(a,c)||b.5qG(a,1b(a){1f t.kc.Ld(a,b)},c)},Ld:1b(d,e){1f d.3X(b,1b(b,c,d,f,h){1f a(h,c,d,e)}).3X(c,1b(b,c){1f a(c,"\\1wY!-- ko --\\1yJ","#1G8",e)})},md:1b(a,b){1f t.aa.Xb(1b(c,d){(c=c.1qD)&&c.1yI.18v()===b&&t.ib(c,a,d)})}}}();t.b("5qF",t.kc.md);(1b(){t.C={};t.C.F=1b(a){if(1a.F=a){1d b=t.a.R(a);1a.ab="1G5"===b?1:"2Jk"===b?2:"1qC"==b&&a.15k&&11===a.15k.1a5?3:4}};t.C.F.1i.3l=1b(){1d a=1===1a.ab?"3l":2===1a.ab?"1Q":"1dd";if(0==5m.1h)1f 1a.F[a];1d b=5m[0];"1dd"===a?t.a.fc(1a.F,b):1a.F[a]=b};1d b=t.a.g.Z()+"10D";t.C.F.1i.2g=1b(a){if(1===5m.1h)1f t.a.g.1n(1a.F,b+a);t.a.g.1C(1a.F,b+a,5m[1])};1d c=t.a.g.Z();t.C.F.1i.1ci=1b(){1d b=1a.F;if(0==5m.1h){1d d=t.a.g.1n(b,c)||{},e=d.lb||(3===1a.ab?b.15k:4===1a.ab?b:a);if(!e||d.jd){1d f=1a.3l();f&&f!==d.bb&&(e=t.a.Md(f,b.1G6),t.a.g.1C(b,c,{lb:e,bb:f,jd:!0}))}1f e}d=5m[0];1a.ab!==a&&1a.3l("");t.a.g.1C(b,c,{lb:d})};t.C.ia=1b(a){1a.F=a};t.C.ia.1i=1g t.C.F;t.C.ia.1i.7m=t.C.ia;t.C.ia.1i.3l=1b(){if(0==5m.1h){1d b=t.a.g.1n(1a.F,c)||{};b.bb===a&&b.lb&&(b.bb=b.lb.1dd);1f b.bb}t.a.g.1C(1a.F,c,{bb:5m[0]})};t.b("4pv",t.C);t.b("4pv.7hF",t.C.F);t.b("4pv.7hE",t.C.ia)})();(1b(){1b b(a,b,c){1d d;1j(b=t.h.1qD(b);a&&(d=a)!==b;)a=t.h.1qD(d),c(d,a)}1b c(a,c){if(a.1h){1d d=a[0],e=a[a.1h-1],f=d.1eZ,h=t.ga.1bX,g=h.5qE;if(g){b(d,e,1b(a,b){1d c=a.7hD,f=g.4G(h,a);f&&(a===d&&(d=f[0]||b),a===e&&(e=f[f.1h-1]||c))});a.1h=0;if(!d)1f;d===e?a.1q(d):(a.1q(d,e),t.a.Ua(a,f))}b(d,e,1b(a){1!==a.1a5&&8!==a.1a5||t.vc(c,a)});b(d,e,1b(a){1!==a.1a5&&8!==a.1a5||t.aa.cd(a,[c])});t.a.Ua(a,f)}}1b d(a){1f a.1a5?a:0<a.1h?a[0]:1F}1b e(a,b,e,f,g){g=g||{};1d l=(a&&d(a)||e||{}).1G6,k=g.2Jj||h;t.kc.xd(e,k,l);e=k.3OH(e,f,g,l);if("2b"!=2h e.1h||0<e.1h&&"2b"!=2h e[0].1a5)1t 6u("7hC 3lJ 2Q 1f an 4x of 4pu 1ci");l=!1;6U(b){1S"4pt":t.h.va(a,e);l=!0;1W;1S"3lp":t.a.Xc(a,e);l=!0;1W;1S"5qD":1W;4T:1t 6u("1jJ 3lK: "+b);}l&&(c(e,f),g.1sn&&t.u.G(g.1sn,1F,[e,f[g.as||"$2g"]]),"4pt"==b&&t.i.ma(a,t.i.H));1f e}1b f(a,b,c){1f t.O(a)?a():"1b"===2h a?a(b,c):a}1d h;t.gc=1b(b){if(b!=a&&!(b 2m t.ca))1t 6u("2Jj 2Q 7hB 19f ko.2Jj");h=b};t.dc=1b(b,c,g,l,k){g=g||{};if((g.2Jj||h)==a)1t 6u("7hA a 1qC 3lJ 8w 1Jf 3OH");k=k||"4pt";if(l){1d n=d(l);1f t.$(1b(){1d a=c&&c 2m t.fa?c:1g t.fa(c,1F,1F,1F,{3OJ:!0}),h=f(b,a.$2g,a);a=e(l,k,h,a,g);"3lp"==k&&(l=a,n=d(l))},1F,{Sa:1b(){1f!n||!t.a.Sb(n)},l:n&&"3lp"==k?n.1eZ:n})}1f t.aa.Xb(1b(a){t.dc(b,c,g,a,"3lp")})};t.Qd=1b(b,d,h,g,l){1b k(a,b){t.u.G(t.a.ec,1F,[g,a,m,h,n,b]);t.i.ma(g,t.i.H)}1b n(a,b){c(b,p);h.1sn&&h.1sn(b,a);p=1F}1b m(a,c){p=l.31x(a,{as:q,26I:h.26I,1a3:1b(a){a.$2P=c;q&&(a[q+"3OL"]=c)}});a=f(b,a,p);1f e(g,"5qD",a,p,h)}1d p,q=h.as,r=!1===h.3OK||t.3v.5qC&&!h.3OK;if(r||h.2Jh||!t.Pc(d))1f t.$(1b(){1d b=t.a.f(d)||[];"7w"==2h b.1h&&(b=[b]);r&&(b=t.a.jb(b,1b(b){1f b===a||1F===b||!t.a.f(b.1sm)}));k(b)},1F,{l:g});k(d.v());1d w=d.1bW(1b(a){k(d(),a)},1F,"31y");w.l(g);1f w};1d g=t.a.g.Z(),l=t.a.g.Z();t.c.1qC={11K:1b(a,b){b=t.a.f(b());if("4n"==2h b||"2i"in b)t.h.Ea(a);1s if("1ci"in b){b=b.1ci||[];if(t.O(b))1t 6u(\'9B "1ci" 1PC 2Q be a 2Ji, 26o-19H 4x.\');1d c=b[0]&&b[0].1eZ;c&&t.a.g.1n(c,l)||(c=t.a.Yb(b),t.a.g.1C(c,l,!0));(1g t.C.ia(a)).1ci(c)}1s if(b=t.h.13P(a),0<b.1h)c=t.a.Yb(b),(1g t.C.ia(a)).1ci(c);1s 1t 6u("5qB 1qC 2l, 19T no 1qC 15k 9x 20i");1f{2et:!0}},2H:1b(b,c,d,e,f){1d h=c();c=t.a.f(h);d=!0;e=1F;"4n"==2h c?c={}:(h="2i"in c?c.2i:b,"if"in c&&(d=t.a.f(c["if"])),d&&"4ps"in c&&(d=!t.a.f(c.4ps)),d&&!h&&(d=!1));"1TQ"in c?e=t.Qd(h,d&&c.1TQ||[],c,b,f):d?(d=f,"2g"in c&&(d=f.31x(c.2g,{as:c.as,26I:c.26I,3OJ:!0})),e=t.dc(h,d,c,b)):t.h.Ea(b);f=e;(c=t.a.g.1n(b,g))&&"1b"==2h c.s&&c.s();t.a.g.1C(b,g,!f||f.ja&&!f.ja()?a:f)}};t.m.Ra.1qC=1b(a){a=t.m.ac(a);1f 1==a.1h&&a[0].1G7||t.m.Id(a,"2i")?1F:"18m 1qC 3lJ 18f 2S 19G 7hz 3OI 7hy 4pr 2aT 3OI"};t.h.ea.1qC=!0})();t.b("7hx",t.gc);t.b("3OH",t.dc);t.a.Kc=1b(a,b,c){if(a.1h&&b.1h){1d d,e,f,h,g;1j(d=e=0;(!c||d<c)&&(h=a[e]);++e){1j(f=0;g=b[f];++f)if(h.1Q===g.1Q){h.24w=g.2P;g.24w=h.2P;b.6z(f,1);d=f=0;1W}d+=f}}};t.a.Pb=1b(){1b a(a,b,c,d,e){1d f=1k.2o,h=1k.1V,g=[],l,k=a.1h,n,m=b.1h,p=m-k||1,q=k+m+1,r;1j(l=0;l<=k;l++){1d w=r;g.1q(r=[]);1d u=f(m,l+p);1j(n=h(0,l-1);n<=u;n++)r[n]=n?l?a[l-1]===b[n-1]?w[n-1]:f(w[n]||q,r[n-1]||q)+1:n+1:l+1}f=[];h=[];p=[];l=k;1j(n=m;l||n;)m=g[l][n]-1,n&&m===g[l][n-1]?h.1q(f[f.1h]={1hM:c,1Q:b[--n],2P:n}):l&&m===g[l-1][n]?p.1q(f[f.1h]={1hM:d,1Q:a[--l],2P:l}):(--n,--l,e.4pq||f.1q({1hM:"7hw",1Q:b[n]}));t.a.Kc(p,h,!e.3OG&&10*k);1f f.1e1()}1f 1b(b,c,d){d="11T"===2h d?{3OG:d}:d||{};b=b||[];c=c||[];1f b.1h<c.1h?a(b,c,"2mm","3lI",d):a(c,b,"3lI","2mm",d)}}();t.b("1df.7hv",t.a.Pb);(1b(){1b b(b,c,d,e,f){1d h=[],g=t.$(1b(){1d a=c(d,f,t.a.Ua(h,b))||[];0<h.1h&&(t.a.Xc(h,a),e&&t.u.G(e,1F,[d,a,f]));h.1h=0;t.a.Nb(h,a)},1F,{l:b,Sa:1b(){1f!t.a.kd(h)}});1f{Y:h,$:g.ja()?g:a}}1d c=t.a.g.Z(),d=t.a.g.Z();t.a.ec=1b(e,f,h,g,l,k){1b n(a){C={Aa:a,pb:t.ta(x++)};w.1q(C);r||B.1q(C)}1b m(a){C=q[a];x!==C.pb.v()&&A.1q(C);C.pb(x++);t.a.Ua(C.Y,e);w.1q(C)}1b p(a,b){if(a)1j(1d c=0,d=b.1h;c<d;c++)t.a.D(b[c].Y,1b(d){a(d,c,b[c].Aa)})}f=f||[];"7w"==2h f.1h&&(f=[f]);g=g||{};1d q=t.a.g.1n(e,c),r=!q,w=[],u=0,x=0,v=[],z=[],y=[],A=[],B=[],C,D=0;if(r)t.a.D(f,n);1s{if(!k||q&&q.5qA){1d G=t.a.Mb(q,1b(a){1f a.Aa});k=t.a.Pb(G,f,{3OG:g.3OG,4pq:!0})}G=0;1j(1d E,F,H;E=k[G];G++)6U(F=E.24w,H=E.2P,E.1hM){1S"3lI":1j(;u<H;)m(u++);F===a&&(C=q[u],C.$&&(C.$.s(),C.$=a),t.a.Ua(C.Y,e).1h&&(g.2Jh&&(w.1q(C),D++,C.Aa===d?C=1F:y.1q(C)),C&&v.1q.6c(v,C.Y)));u++;1W;1S "2mm":1j(;x<H;)m(u++);F!==a?(z.1q(w.1h),m(F)):n(E.1Q)}1j(;x<f.1h;)m(u++);w.5qA=D}t.a.g.1C(e,c,w);p(g.4pp,A);t.a.D(v,g.2Jh?t.oa:t.2ej);1d K,L;10G{1d I=e.1G6.3lH}11B(Mf){}if(z.1h)1j(;(G=z.1hN())!=a;){C=w[G];1j(K=a;G;)if((L=w[--G].Y)&&L.1h){K=L[L.1h-1];1W}1j(f=0;u=C.Y[f];K=u,f++)t.h.Wb(e,u,K)}1j(G=0;C=w[G];G++){C.Y||t.a.1a3(C,b(e,h,C.Aa,l,C.pb));1j(f=0;u=C.Y[f];K=u,f++)t.h.Wb(e,u,K);!C.Ed&&l&&(l(C.Aa,C.Y,C.pb),C.Ed=!0,K=C.Y[C.Y.1h-1])}I&&e.1G6.3lH!=I&&I.31w();p(g.2Jh,y);1j(G=0;G<y.1h;++G)y[G].Aa=d;p(g.4po,A);p(g.4pn,B)}})();t.b("1df.7hu",t.a.ec);t.ba=1b(){1a.5qz=!1};t.ba.1i=1g t.ca;t.ba.1i.7m=t.ba;t.ba.1i.3lG=1b(a,b,c,d){if(b=(9>t.a.W?0:a.1ci)?a.1ci():1F)1f t.a.la(b.3OF(!0).13P);a=a.3l();1f t.a.ua(a,d)};t.ba.Ma=1g t.ba;t.gc(t.ba.Ma);t.b("7ht",t.ba);(1b(){t.$a=1b(){1d a=1a.Hd=1b(){if(!e||!e.2xz)1f 0;10G{if(0<=e.2xz.3lF.2xz.1pj.5s().3f("4pm"))1f 2}11B(W){}1f 1}();1a.3lG=1b(b,d,f,h){h=h||c;f=f||{};if(2>a)1t 6u("7hs 9G of 2xA.2xz is 31v 7hr. 2Jg 7hq to 2xA.2xz 1.0.7hp or 7ho.");1d g=b.2g("5qy");g||(g=b.3l()||"",g=e.1qC(1F,"{{4pl $1jI.5qx}}"+g+"{{/4pl}}"),b.2g("5qy",g));b=[d.$2g];d=e.1a3({5qx:d},f.7hn);d=e.2xz(g,b,d);d.7hm(h.4O("5u"));e.7hl={};1f d};1a.3OE=1b(a){1f"{{5qw ((1b() { 1f "+a+" })()) }}"};1a.7hk=1b(a,b){c.1G2("<1G5 1I=\'3l/1jH\' id=\'"+a+"\'>"+b+"\\1wY/1G5>")};0<a&&(e.2xz.3lF.5qw={1pj:"4pm.1q($1 || \'\');"},e.2xz.3lF.4pl={1pj:"10M($1) {",1TP:"} "})};t.$a.1i=1g t.ca;t.$a.1i.7m=t.$a;1d a=1g t.$a;0<a.Hd&&t.gc(a);t.b("7hj",t.$a)})()})(b.ko={})})()})()})();1d ta=ko;"7w"!==2h 7O?(ko=7O.ko,"7w"!==2h VF?7O.ko=VF:4Y 7O.ko):(ko=1ii.ko,"7w"!==2h VF?1ii.ko=VF:4Y 1ii.ko);1d 4fq={5qq:1b(a){a.1uX=4pk;a.1sf=4pj;a.4pi=5qv;a.12U=$Da}},4hY={19l:1b(a){a.5qu.1DD={11K:1b(b,c){1d d=3n.1M1("10R://10y.w3.1m9/1PB/1fu","1fu:1fu");d.8m("11F","3P-5qs-1fu");1d e=3n.1M1("10R://10y.w3.1m9/1PB/1fu","9w");d.3A(e);a.2xy.5qt(b,[d]);a.1AY({1dD:1b(){1d b=a.31u(c());e.8m("d",a.31u(b.9w));1d h=a.31u(b.1G),g=a.31u(b.1D);d.8m("1G",h);d.8m("1D",g);d.8m("4lk","0 0 "+h+" "+g);b.1cg&&d.8m("11F","3P-5qs-1fu "+a.31u(b.1cg))},4ph:b});1f{2et:!0}}};a.2xy.5qr.1DD=!0}};4fq.5qq(ta);4hY.19l(ta);1d 4p1;(1b(){1d a=1b(){1d a={5qp:-3.4pc,1AM:1b(b,c){c=c||{};1d d=c.2Jc||0,e=c.31o||1F===c.31o,f={},g=1g 4L(b,d,10);f.2er=10J.1gx.6c(1F,g);if("5pT"!==f.2er.1b2())1t"1Py 1ol 26E 4n: "+f.2er;d+=10;g=1g 1dE(b,d,24);f.2xw=g.1PA(0,!0);f.1yH=g.1PA(4,!0);f.1D=g.9A(8,!0);f.1G=g.9A(12,!0);f.2mk=g.1DC(16,!0);d+=24;if(!e)if(g=1g 1dE(b,d,16),f.11q={},f.11q.1TO=g.9A(0,!0),f.11q.20h=g.9A(4,!0),f.11q.1v6=g.9A(8,!0),f.11q.1bj=g.2xx(12,!0),d+=16,0<f.11q.1v6){e=1g 4L(1k.8a(f.1G*f.1D/8));g=1g 1dE(b,d,f.11q.1v6);1d k=g.2ml(0,!0),m=2,q=0;do{if(0<k)1j(;k--;)e[q++]=g.1wX(m++);1s{1d r=g.1wX(m++);1j(k=-k;k--;)e[q++]=r}k=g.2ml(m,!0);m+=2}14p(m<f.11q.1v6);if(-1Aw!==k||q<e.1h)1t"1Py 9o of 11q 5qm 19F";f.11q.2Jf=e;d+=f.11q.1v6}1s 0===(f.11q.1v6|f.11q.1TO|f.11q.1bj)&&(f.11q.2Jf=1g 4L(1k.8a(f.1G*f.1D/8)));g=1g 1dE(b,d,16);f.11n={};f.11n.1TO=g.9A(0,!0);f.11n.20h=g.9A(4,!0);f.11n.1v6=g.9A(8,!0);f.11n.1bj=g.2xx(12,!0);d+=16;e=f.11n.20h;g=f.11n.1TO;e+=0<f.1G%e?1:0;k=g+(0<f.1D%g?1:0);f.11n.3OD=2K(e*k);1j(q=m=0;q<k;q++)1j(r=0;r<e;r++){1d t=0;g=1g 1dE(b,d,1k.2o(10,b.10S-d));1d u={};f.11n.3OD[m++]=u;1d v=g.1wX(0);t++;u.19F=v&63;if(3<u.19F)1t"13H 2es 19F ("+u.19F+")";if(2===u.19F)d++;1s{if(0!==v&&2!==v){v>>=6;u.7hi=v;if(2===v)u.2M=g.4pb(1),t++;1s if(1===v)u.2M=g.2ml(1,!0),t+=2;1s if(0===v)u.2M=g.2xx(1,!0),t+=4;1s 1t"13H 2es 2M 1I";if(1===u.19F)if(v=g.1wX(t),t++,u.3OC=v&63,v>>=6,u.7hh=v,2===v)u.31t=g.1wX(t),t++;1s if(1===v)u.31t=g.20g(t,!0),t+=2;1s if(0===v)u.31t=g.9A(t,!0),t+=4;1s 1t"13H 1eu 17W 7Z 1I";}d+=t;if(3!==u.19F)if(0===u.19F){v=(f.11n.1v6-1)/4;if(v!==1k.2t(v))1t"3Oy 2es 14d 16w 1h";g=1g 1aq(4*v);t=1g 4L(g);t.1C(1g 4L(b,d,4*v));g=1g 4A(g);u.1M0=g;d+=4*v}1s 1===u.19F&&(v=1k.8a(u.31t*u.3OC/8),g=1g 1aq(4*1k.8a(v/4)),t=1g 4L(g),t.1C(1g 4L(b,d,v)),u.3OA=1g 12X(g),d+=v)}}f.2mi=d;b=1F!==c.1Px?c.1Px:a.5qp;e=c.31o;v=c.5pS;k=0;m=f.11n.20h;q=f.11n.1TO;r=1k.2t(f.1G/m);u=1k.2t(f.1D/q);t=2*f.2mk;d=3a.6w;1d y;e=e||(f.11q?f.11q.2Jf:1F);1d A;g=1g(c.2mh||4A)(f.1G*f.1D);v&&e&&(A=1g 4L(f.1G*f.1D));v=1g 4A(r*u);1j(1d B,C,E=0;E<=q;E++){1d F=E!==q?u:f.1D%q;if(0!==F)1j(1d H=0;H<=m;H++){1d L=H!==m?r:f.1G%m;if(0!==L){1d I=E*f.1G*u+H*r,J=f.1G-L,R=f.11n.3OD[k];if(2>R.19F){if(0===R.19F)1d M=R.1M0;1s{M=1p 0;B=R.3OA;C=R.3OC;1d N=R.31t,P=R.2M,O=t,T=v,Q=f.11n.1bj,X=(1<<C)-1,Z=0,Y=0,ba=1k.8a((Q-P)/O);B[B.1h-1]<<=8*(4*B.1h-1k.8a(C*N/8));1j(y=0;y<N;y++){0===Y&&(M=B[Z++],Y=32);if(Y>=C){1d ca=M>>>Y-C&X;Y-=C}1s Y=C-Y,ca=(M&X)<<Y&X,M=B[Z++],Y=32-Y,ca+=M>>>Y;T[y]=ca<ba?P+ca*O:Q}M=v}ca=0}1s 1d fa=2===R.19F?0:R.2M;if(e)1j(C=0;C<F;C++){if(I&7){1d ha=e[I>>3];ha<<=I&7}1j(B=0;B<L;B++)I&7||(ha=e[I>>3]),ha&128?(A&&(A[I]=1),y=2>R.19F?M[ca++]:fa,d=d>y?y:d,g[I++]=y):(A&&(A[I]=0),g[I++]=b),ha<<=1;I+=J}1s if(2>R.19F)1j(C=0;C<F;C++){1j(B=0;B<L;B++)y=M[ca++],d=d>y?y:d,g[I++]=y;I+=J}1s 1j(d=d>fa?fa:d,C=0;C<F;C++){1j(B=0;B<L;B++)g[I++]=fa;I+=J}if(1===R.19F&&ca!==R.31t)1t"7hg and 7hf do 2S 141";k++}}}fa=A;A={1G:f.1G,1D:f.1D,3Ov:g,1k6:d,1bj:f.11n.1bj,1Px:b};fa&&(A.2xv=fa);c.5pR&&f.11q&&(A.31o=f.11q.2Jf?f.11q.2Jf:1F);if(c.4p4&&(A.2Jb={2er:f.2er,2xw:f.2xw,1yH:f.1yH,1D:f.1D,1G:f.1G,2mk:f.2mk,2mi:f.2mi,11q:f.11q?{20h:f.11q.20h,1TO:f.11q.1TO,1v6:f.11q.1v6,1bj:f.11q.1bj}:1F,11n:{20h:f.11n.20h,1TO:f.11n.1TO,1v6:f.11n.1v6,1bj:f.11n.1bj,1Px:f.1Px}},c.7he)){c=A.2Jb;fa=f.11n.20h*f.11n.1TO;ha={};1j(M=0;M<fa;M++)ca=f.11n.3OD[M],0===ca.19F?ha.26H=!0:1===ca.19F?ha[ca.3OC]=!0:ha[0]=!0;f=1L.9K(ha);c.7hd=f}1f A}};1f a}(),b=1b(){1d a={4pe:1b(a,b,c,d,e,f,g,k){1d h=(1<<c)-1,l=0,n,m=0;a[a.1h-1]<<=8*(4*a.1h-1k.8a(c*d/8));if(e)1j(n=0;n<d;n++){if(0===m){1d p=a[l++];m=32}if(m>=c){1d q=p>>>m-c&h;m-=c}1s m=c-m,q=(p&h)<<m&h,p=a[l++],m=32-m,q+=p>>>m;b[n]=e[q]}1s 1j(e=1k.8a((k-f)/g),n=0;n<d;n++)0===m&&(p=a[l++],m=32),m>=c?(q=p>>>m-c&h,m-=c):(m=c-m,q=(p&h)<<m&h,p=a[l++],m=32-m,q+=p>>>m),b[n]=q<e?f+q*g:k},5qd:1b(a,b,c,d,e,f){1d h=(1<<b)-1,g=0,l;1d k=0;1d m=[];a[a.1h-1]<<=8*(4*a.1h-1k.8a(b*c/8));1d n=1k.8a((f-d)/e);1j(l=0;l<c;l++){if(0===k){1d p=a[g++];k=32}if(k>=b){1d q=p>>>k-b&h;k-=b}1s k=b-k,q=(p&h)<<k&h,p=a[g++],k=32-k,q+=p>>>k;m[l]=q<n?d+q*e:f}m.1po(d);1f m},4pf:1b(a,b,c,d,e,f,g,k){1d h=(1<<c)-1,l=0,m,n=0,p=0;if(e)1j(m=0;m<d;m++){if(0===n){1d q=a[l++];n=32;p=0}if(n>=c){1d r=q>>>p&h;n-=c;p+=c}1s{1d w=c-n;r=q>>>p&h;q=a[l++];n=32-w;r|=(q&(1<<w)-1)<<c-w;p=w}b[m]=e[r]}1s 1j(e=1k.8a((k-f)/g),m=0;m<d;m++)0===n&&(q=a[l++],n=32,p=0),n>=c?(r=q>>>p&h,n-=c,p+=c):(w=c-n,r=q>>>p&h,q=a[l++],n=32-w,r|=(q&(1<<w)-1)<<c-w,p=w),b[m]=r<e?f+r*g:k;1f b},5qe:1b(a,b,c,d,e,f){1d h=(1<<b)-1,g=0,l,k=0,m=0,n=[],p=1k.8a((f-d)/e);1j(l=0;l<c;l++){if(0===k){1d q=a[g++];k=32;m=0}if(k>=b){1d r=q>>>m&h;k-=b;m+=b}1s{1d w=b-k;r=q>>>m&h;q=a[g++];k=32-w;r|=(q&(1<<w)-1)<<b-w;m=w}n[l]=r<p?d+r*e:f}n.1po(d);1f n},5qb:1b(a,b,c,d){1d e=(1<<c)-1,f=0,h,g=0;a[a.1h-1]<<=8*(4*a.1h-1k.8a(c*d/8));1j(h=0;h<d;h++){if(0===g){1d l=a[f++];g=32}if(g>=c){1d k=l>>>g-c&e;g-=c}1s g=c-g,k=(l&e)<<g&e,l=a[f++],g=32-g,k+=l>>>g;b[h]=k}1f b},5qc:1b(a,b,c,d){1d e=(1<<c)-1,f=0,h,g=0,l=0;1j(h=0;h<d;h++){if(0===g){1d k=a[f++];g=32;l=0}if(g>=c){1d m=k>>>l&e;g-=c;l+=c}1s{1d n=c-g;m=k>>>l&e;k=a[f++];g=32-n;m|=(k&(1<<n)-1)<<c-n;l=n}b[h]=m}1f b}},b={5ql:12,5qo:1b(a){1j(1d b=1a6,c=1a6,d=a.1h,e=1k.2t(d/2),f=0;e;){1d h=359<=e?359:e;e-=h;do b+=a[f++]<<8,c+=b+=a[f++];14p(--h);b=(b&1a6)+(b>>>16);c=(c&1a6)+(c>>>16)}d&1&&(c+=b+=a[f]<<8);1f((c&1a6)+(c>>>16)<<16|(b&1a6)+(b>>>16))>>>0},4p6:1b(a,b){1d c=b.1bV,d=1g 4L(a,c,6),e={};e.2er=10J.1gx.6c(1F,d);if(0!==e.2er.1sl("4p5",0))1t"1Py 1ol 26E 4n (7hc 4p5 ): "+e.2er;c+=6;d=1g 1dE(a,c,8);1d f=d.1PA(0,!0);e.2xw=f;c+=4;3<=f&&(e.5qn=d.9A(4,!0),c+=4);d=1g 1dE(a,c,12);e.1D=d.9A(0,!0);e.1G=d.9A(4,!0);c+=8;4<=f?(e.20f=d.9A(8,!0),c+=4):e.20f=1;d=1g 1dE(a,c,40);e.2mj=d.9A(0,!0);e.3Oz=d.1PA(4,!0);e.26F=d.1PA(8,!0);e.1yH=d.1PA(12,!0);e.2mk=d.1DC(16,!0);e.3Ox=d.1DC(24,!0);e.31p=d.1DC(32,!0);c+=40;b.1j7=e;b.1bV=c;if(3<=f&&(a=1a.5qo(1g 4L(a,c-(4<=f?52:48),e.26F-14)),a!==e.5qn))1t"7hb 1bf.";1f!0},5q1:1b(a,b){1d c=b.1j7,d=1a.4pa(c.1yH),e=c.20f*1a.3lD(c.1yH),f=1a.4pg(a,b.1bV,d,e);a=1a.4pg(a,b.1bV+e,d,e);b.1bV+=2*e;e=!0;1j(b=0;b<c.20f;b++)if(f[b]!==a[b]){e=!1;1W}c.1AX=f;c.1y4=a;1f e},4pg:1b(a,b,c,d){if(c===4L)a=1g 4L(a,b,d);1s{1d e=1g 1aq(d);(1g 4L(e)).1C(1g 4L(a,b,d));a=1g c(e)}1f a},5q5:1b(a,b){1d c=b.1bV,d=b.1j7,e=d.1G*d.1D,f=d.2mj,h=1g 1dE(a,c,4);d={};d.1v6=h.9A(0,!0);c+=4;if((0===f||e===f)&&0!==d.1v6)1t"16w 11q";if(0===f)f=1g 4L(1k.8a(e/8)),d.2Jf=f,h=1g 4L(e),b.11n.26G=h,c+=d.1v6;1s if(0<d.1v6){f=1g 4L(1k.8a(e/8));h=1g 1dE(a,c,d.1v6);a=h.2ml(0,!0);1d g=2,l=0;do{if(0<a)1j(;a--;)f[l++]=h.1wX(g++);1s{1d k=h.1wX(g++);1j(a=-a;a--;)f[l++]=k}a=h.2ml(g,!0);g+=2}14p(g<d.1v6);if(-1Aw!==a||l<f.1h)1t"1Py 9o of 11q 5qm 19F";h=1g 4L(e);1j(g=0;g<e;g++)g&7?(a=f[g>>3],a<<=g&7):a=f[g>>3],a&128&&(h[g]=1);b.11n.26G=h;d.2Jf=f;c+=d.1v6}b.1bV=c;b.11q=d;1f!0},5q0:1b(a,c,d){1d e=c.1bV,f=c.1j7,h=f.20f,g=f.1G*f.1D;f=f.2mj*b.3lD(f.1yH)*h;1d l=c.11n.26G;if(d===4L)a=1g 4L(a,e,f);1s{1d k=1g 1aq(f);(1g 4L(k)).1C(1g 4L(a,e,f));a=1g d(k)}if(a.1h===g*h)c.11n.1Pz=a;1s{c.11n.1Pz=1g d(g*h);d=0;1d m;if(1<h)1j(m=0;m<h;m++){1d p=m*g;1j(k=0;k<g;k++)l[k]&&(c.11n.1Pz[p+k]=a[d++])}1s 1j(k=0;k<g;k++)l[k]&&(c.11n.1Pz[k]=a[d++])}c.1bV=e+f;1f!0},5qk:1b(a,d){1d e=1a.5ql,f=1g 1dE(a,d.1bV,16);d.1bV+=16;if(2>f.1PA(0,!0))1t"1Pt 5pY 9G";1d h=f.1PA(4,!0),g=f.1PA(8,!0);f=f.1PA(12,!0);if(g>=f)1f!1;1d k=1g 12X(f-g);b.4pd(a,d,k);1d l=[],m;1j(m=g;m<f;m++){1d q=m-(m<h?0:h);l[q]={1lf:k[m-g],1hd:1F}}m=a.10S-d.1bV;k=1g 1aq(4*1k.8a(m/4));(1g 4L(k)).1C(1g 4L(a,d.1bV,m));a=1g 12X(k);d=0;k=0;1d r=a[0];1j(m=g;m<f;m++){q=m-(m<h?0:h);1d u=l[q].1lf;0<u&&(l[q].1hd=r<<d>>>32-u,32-d>=u?(d+=u,32===d&&(d=0,k++,r=a[k])):(d+=u-32,k++,r=a[k],l[q].1hd|=r>>>32-d))}r=0;1d v=1g c;1j(m=0;m<l.1h;m++)1p 0!==l[m]&&(r=1k.1V(r,l[m].1lf));e=r>=e?e:r;30<=r&&11l.7k("7ha, 3lE 7h9 7h8 7h7 IS "+r);1d y=[],A;1j(m=g;m<f;m++)if(q=m-(m<h?0:h),u=l[q].1lf,0<u)if(g=[u,q],u<=e){q=l[q].1hd<<e-u;1d B=1<<e-u;1j(u=0;u<B;u++)y[q|u]=g}1s 1j(q=l[q].1hd,B=v,--u;0<=u;u--)(A=q>>>u&1)?(B.2W||(B.2W=1g c),B=B.2W):(B.3B||(B.3B=1g c),B=B.3B),0!==u||B.2eq||(B.2eq=g[1]);1f{5qj:y,5qg:e,5qf:r,3OB:v,3OA:a,5qi:k,5qh:d}},5pX:1b(a,b,c){1d d=b.1j7,e=d.20f,f=b.1j7.1D,h=b.1j7.1G,g=h*f,k=1a.5qk(a,b);a=k.5qj;1d l=k.3OB,m=k.3OA,p=k.5qi,q=k.5qh,r=k.5qg;k=k.5qf;1d u=0===b.1j7.1yH?128:0,v=b.11n.26G,y,A,B,C,E,F,H=0;0<q&&(p++,q=0);1d I=m[p],J=1===b.5pZ,M=1g c(g*e),N=M,P;1j(P=0;P<d.20f;P++){1<e&&(N=1g c(M.3J,g*P,g),H=0);if(b.1j7.2mj===h*f)1j(B=E=0;B<f;B++)1j(C=0;C<h;C++,E++){1d O=0;1d Q=y=I<<q>>>32-r;32-q<r&&(Q=y|=m[p+1]>>>64-q-r);if(a[Q])O=a[Q][1],q+=a[Q][0];1s 1j(y=I<<q>>>32-k,32-q<k&&(y|=m[p+1]>>>64-q-k),Q=l,F=0;F<k;F++)if(Q=(A=y>>>k-F-1&1)?Q.2W:Q.3B,!Q.3B&&!Q.2W){O=Q.2eq;q=q+F+1;1W}32<=q&&(q-=32,p++,I=m[p]);O-=u;J?(O=0<C?O+H:0<B?O+N[E-h]:O+H,O&=255,H=N[E]=O):N[E]=O}1s 1j(B=E=0;B<f;B++)1j(C=0;C<h;C++,E++)if(v[E]){O=0;Q=y=I<<q>>>32-r;32-q<r&&(Q=y|=m[p+1]>>>64-q-r);if(a[Q])O=a[Q][1],q+=a[Q][0];1s 1j(y=I<<q>>>32-k,32-q<k&&(y|=m[p+1]>>>64-q-k),Q=l,F=0;F<k;F++)if(Q=(A=y>>>k-F-1&1)?Q.2W:Q.3B,!Q.3B&&!Q.2W){O=Q.2eq;q=q+F+1;1W}32<=q&&(q-=32,p++,I=m[p]);O-=u;J?(O=0<C&&v[E-1]?O+H:0<B&&v[E-h]?O+N[E-h]:O+H,O&=255,H=N[E]=O):N[E]=O}b.1bV=b.1bV+4*(p+1)+(0<q?4:0)}b.11n.1Pz=M},4pd:1b(b,c,d,e,f){1d h=c.1j7,g=h.2xw,k=0,l=1g 1dE(b,c.1bV,5<=b.10S-c.1bV?5:b.10S-c.1bV),m=l.1wX(0);k++;1d n=m>>6;n=0===n?4:3-n;1d p=0<(m&32)?!0:!1;m&=31;if(1===n)n=l.1wX(k),k++;1s if(2===n)n=l.20g(k,!0),k+=2;1s if(4===n)n=l.9A(k,!0),k+=4;1s 1t"13H 1eu 17W 7Z 1I";1d q=2*h.2mk;f=1<h.20f?h.1y4[f]:h.31p;if(p){c.31q.5q4++;p=l.1wX(k);k++;h=1k.8a((p-1)*m/8);1d r=1k.8a(h/4);r=1g 1aq(4*r);1d u=1g 4L(r);c.1bV+=k;u.1C(1g 4L(b,c.1bV,h));k=1g 12X(r);c.1bV+=h;1j(l=0;p-1>>>l;)l++;h=1k.8a(n*l/8);r=1k.8a(h/4);r=1g 1aq(4*r);u=1g 4L(r);u.1C(1g 4L(b,c.1bV,h));b=1g 12X(r);c.1bV+=h;c=3<=g?a.5qe(k,m,p-1,e,q,f):a.5qd(k,m,p-1,e,q,f);3<=g?a.4pf(b,d,l,n,c):a.4pe(b,d,l,n,c)}1s c.31q.5q3++,l=m,c.1bV+=k,0<l&&(h=1k.8a(n*l/8),r=1k.8a(h/4),r=1g 1aq(4*r),u=1g 4L(r),u.1C(1g 4L(b,c.1bV,h)),b=1g 12X(r),c.1bV+=h,3<=g?1F===e?a.5qc(b,d,l,n):a.4pf(b,d,l,n,!1,e,q,f):1F===e?a.5qb(b,d,l,n):a.4pe(b,d,l,n,!1,e,q,f))},4p7:1b(a,c,d){1d e=c.1j7,f=e.1G,h=e.1D,g=e.3Oz,k=e.1yH,l=b.3lD(k),m=1k.8a(f/g),p=1k.8a(h/g);c.11n.1TO=p;c.11n.20h=m;c.11n.1bV=0;1d q,r=1g d(g*g),u=h%g||g,v=f%g||g,y=e.20f,A,B=c.11n.26G,C=c.11n.1Pz;1j(e=0;e<p;e++){1d E=e!==p-1?g:u;1j(q=0;q<m;q++){1d F=q!==m-1?g:v;1d H=e*f*g+q*g;1d I=f-F;1j(A=0;A<y;A++){1<y&&(C=1g d(c.11n.1Pz.3J,f*h*A*l,f*h));1d J=a.10S-c.1bV;1d M=1g 1dE(a,c.1bV,1k.2o(10,J));1d N={};J=0;1d O=M.1wX(0);J++;1d P=O>>6&255;1d Q=O>>2&15;if(Q!==(q*g>>3&15))1t"5qa 7h6";O&=3;if(3<O)1t c.1bV+=J,"13H 2es 19F ("+O+")";if(2===O)c.31q.10p++,c.1bV+=J;1s if(0===O){c.31q.3Oy++;c.1bV+=J;J=E*F*l;M=a.10S-c.1bV;J=J<M?J:M;M=1g 1aq(0===J%l?J:J+l-J%l);N=1g 4L(M);N.1C(1g 4L(a,c.1bV,J));P=1g d(M);J=0;if(B)1j(M=0;M<E;M++){1j(N=0;N<F;N++)B[H]&&(C[H]=P[J++]),H++;H+=I}1s 1j(M=0;M<E;M++){1j(N=0;N<F;N++)C[H++]=P[J++];H+=I}c.1bV+=J*l}1s if(P=b.5q7(k,P),Q=b.5q6(N,J,P,M),J+=b.3lD(P),3===O)if(c.1bV+=J,c.31q.5q2++,B)1j(M=0;M<E;M++){1j(N=0;N<F;N++)B[H]&&(C[H]=Q),H++;H+=I}1s 1j(M=0;M<E;M++){1j(N=0;N<F;N++)C[H++]=Q;H+=I}1s if(c.1bV+=J,b.4pd(a,c,r,Q,A),J=0,B)1j(M=0;M<E;M++){1j(N=0;N<F;N++)B[H]&&(C[H]=r[J++]),H++;H+=I}1s 1j(M=0;M<E;M++){1j(N=0;N<F;N++)C[H++]=r[J++];H+=I}}}}},5pV:1b(a){1f{2er:a.1j7.2er,2xw:a.1j7.2xw,1yH:a.1j7.1yH,1D:a.1j7.1D,1G:a.1j7.1G,2mj:a.1j7.2mj,3Oz:a.1j7.3Oz,26F:a.1j7.26F,2mk:a.1j7.2mk,2mh:b.5q9(a.1j7.1yH),2mi:a.2mi,11q:a.11q?{1v6:a.11q.1v6}:1F,11n:{20h:a.11n.20h,1TO:a.11n.1TO,1bj:a.1j7.31p,1k6:a.1j7.3Ox,1Px:a.1Px}}},4p9:1b(a){1d b=a.1j7.31p,c=a.1j7.20f,d=a.1j7.1D*a.1j7.1G,e=d*c,f,h=a.11n.26G;if(h)if(1<c)1j(e=0;e<c;e++){1d g=e*d;1j(f=0;f<d;f++)h[f]&&(a.11n.1Pz[g+f]=b)}1s 1j(f=0;f<d;f++)h[f]&&(a.11n.1Pz[f]=b);1s if(a.11n.1Pz.4K)a.11n.1Pz.4K(b);1s 1j(f=0;f<e;f++)a.11n.1Pz[f]=b},4pa:1b(a){6U(a){1S 0:a=1G4;1W;1S 1:a=4L;1W;1S 2:a=1FS;1W;1S 3:a=10Y;1W;1S 4:a=1fZ;1W;1S 5:a=12X;1W;1S 6:a=4A;1W;1S 7:a=13X;1W;4T:a=4A}1f a},5q9:1b(a){6U(a){1S 0:a="S8";1W;1S 1:a="U8";1W;1S 2:a="7h5";1W;1S 3:a="7h4";1W;1S 4:a="7h3";1W;1S 5:a="7h2";1W;1S 6:a="5q8";1W;1S 7:a="7h1";1W;4T:a="5q8"}1f a},5pW:1b(a,b){if(1F===b)1f!1;6U(a){1S 0:a=-128<=b&&127>=b;1W;1S 1:a=0<=b&&255>=b;1W;1S 2:a=-1Aw<=b&&2Je>=b;1W;1S 3:a=0<=b&&12v>=b;1W;1S 4:a=-2Jd<=b&&31s>=b;1W;1S 5:a=0<=b&&1AW>=b;1W;1S 6:a=-3.4pc<=b&&3.4pc>=b;1W;1S 7:a=4.9E-324<=b&&1.31r>=b;1W;4T:a=!1}1f a},3lD:1b(a){6U(a){1S 0:1S 1:a=1;1W;1S 2:1S 3:a=2;1W;1S 4:1S 5:1S 6:a=4;1W;1S 7:a=8}1f a},5q7:1b(a,b){6U(a){1S 2:1S 4:a-=b;1W;1S 3:1S 5:a-=2*b;1W;1S 6:a=0===b?a:1===b?2:1;1W;1S 7:a=0===b?a:a-2*b+1}1f a},5q6:1b(a,b,c,d){6U(c){1S 0:a=d.4pb(b);1W;1S 1:a=d.1wX(b);1W;1S 2:a=d.2ml(b,!0);1W;1S 3:a=d.20g(b,!0);1W;1S 4:a=d.1PA(b,!0);1W;1S 5:a=d.7h0(b,!0);1W;1S 6:a=d.2xx(b,!0);1W;1S 7:a=d.1DC(b,!0);1W;4T:1t"1Z 7gZ 18f 2S 7gY 1a 17W 1I";}1f a}},c=1b(a,b,c){1a.2eq=a;1a.3B=b;1a.2W=c};1f{1AM:1b(a,c){c=c||{};1d d=c.1Px,e={};e.1bV=c.2Jc||0;e.11n={};if(b.4p6(a,e)){1d f=e.1j7;1d h=f.2xw,g=b.4pa(f.1yH);b.5q5(a,e);f.2mj===f.1G*f.1D||e.11n.26G||(e.11n.26G=c.2xv);1d k=f.1G*f.1D;e.11n.1Pz=1g g(k*f.20f);e.31q={7gX:0,3Oy:0,5q4:0,5q3:0,10p:0,5q2:0};if(0!==f.2mj)if(f.31p===f.3Ox)b.4p9(e);1s if(4<=h&&b.5q1(a,e))b.4p9(e);1s{1d l=1g 1dE(a,e.1bV,2),m=l.1wX(0);e.1bV++;if(m)b.5q0(a,e,g);1s if(1<h&&1>=f.1yH&&1E-5>1k.abs(f.2mk-.5)){l=l.1wX(1);e.1bV++;e.5pZ=l;if(2<l||4>h&&1<l)1t"13H 5pY 4p8 "+l;l?b.5pX(a,e,g):b.4p7(a,e,g)}1s b.4p7(a,e,g)}e.2mi=e.1bV;c.2Jc?(a=e.1j7.26F+c.2Jc-e.1bV,1<=1k.abs(a)&&(e.2mi=c.2Jc+e.1j7.26F)):(a=e.1j7.26F-e.1bV,1<=1k.abs(a)&&(e.2mi=e.1j7.26F));a={1G:f.1G,1D:f.1D,3Ov:e.11n.1Pz,1k6:f.3Ox,1bj:f.31p,7gW:f.2mj,4p3:f.20f,4p2:{1AX:f.1AX,1y4:f.1y4},2xv:e.11n.26G};if(e.11n.26G&&b.5pW(f.1yH,d)){h=e.11n.26G;1j(f=0;f<k;f++)h[f]||(a.3Ov[f]=d);a.1Px=d}e.1Px=d;c.4p4&&(a.2Jb=b.5pV(e));1f a}},7gV:1b(a){1j(1d c=0,d=0,e={1bV:0,11n:{}};d<a.10S-58;)b.4p6(a,e),d+=e.1j7.26F,c++,e.1bV=d;1f c}}}(),c=1b(){1d a=1g 1aq(4),b=1g 4L(a);(1g 12X(a))[0]=1;1f 1===b[0]}();4p1={1AM:1b(d,e){if(!c)1t"7gU 5pU 3Ow is 2S 11J.";e=e||{};1d f=e.2Jc||0,h=1g 4L(d,f,10);h=10J.1gx.6c(1F,h);if("5pT"===h.1b2()){1d g=a;1d k=1}1s if("4p5"===h.11c(0,5))g=b,k=2;1s 1t"1Py 1ol 26E 4n: "+h;1d m=0,q=d.10S-10;h=[];1j(1d r,u={1G:0,1D:0,11n:[],2mh:e.2mh,11q:1F,1DB:[]};f<q;){1d v=g.1AM(d,{2Jc:f,31o:t,2xv:r,5pS:0===m?!0:!1,5pR:0===m?!0:!1,4p4:!0,2mh:e.2mh||1F,1Px:e.1Px||1F});f=v.2Jb.2mi;if(0===m){1d t=v.31o;r=v.2xv;u.1G=v.1G;u.1D=v.1D;u.4p3=v.4p3||1;u.2mh=v.2mh||v.2Jb.2mh;u.11q=v.2xv}1<k&&v.2Jb.11q&&0<v.2Jb.11q.1v6&&h.1q(v.2xv);m++;u.11n.1q(v.3Ov);u.1DB.1q({1k6:v.1k6,1bj:v.1bj,1Px:v.1Px,4p2:v.4p2})}if(1<k&&1<h.1h){t=u.1G*u.1D;u.7gT=h;r=1g 4L(t);r.1C(h[0]);1j(e=1;e<h.1h;e++)1j(d=h[e],f=0;f<t;f++)r[f]&=d[f];u.2xv=r}1f u}}})();1d 5gT=4p1,4oZ={};(1b(a,b){a.2YO=b()})(4oZ,1b(){1f 1b(a){1b b(d){if(c[d])1f c[d].1cr;1d e=c[d]={i:d,l:!1,1cr:{}};a[d].4G(e.1cr,e,e.1cr,b);e.l=!0;1f e.1cr}1d c={};b.m=a;b.c=c;b.d=1b(a,c,f){b.o(a,c)||1L.12U(a,c,{1Pl:!1,3lC:!0,1n:f})};b.n=1b(a){1d c=a&&a.4fb?1b(){1f a["4T"]}:1b(){1f a};b.d(c,"a",c);1f c};b.o=1b(a,b){1f 1L.1i.3p.4G(a,b)};b.p="";1f b(b.s=0)}([1b(a,b,c){1d d=1b(){1b a(a,b){1j(1d c=0;c<b.1h;c++){1d d=b[c];d.3lC=d.3lC||!1;d.1Pl=!0;"1Q"in d&&(d.31n=!0);1L.12U(a,d.10t,d)}}1f 1b(b,c,d){c&&a(b.1i,c);d&&a(b,d);1f b}}();b=c(1);1d e=b.3Ou,f=b.2xu,h="7w"!==2h 1Pu&&10>7L((""+(/5pQ.*OS ([0-31m]{3,4})[0-31m]{0,1}|(5pQ 3lB).*5pP.*7gS/i.1f4(1Pu.1LZ)||[0,""])[1]).3X("7w","7gR").3X("10D",".").3X("10D",""))&&!7O.7gQ;b=1b(){1b a(){1d b=1a;if(!(1a 2m a))1t 1g 1LY("1e6 4G a 11F as a 1b");h?1a.3lz=1F:(1a.1Pv=3n.4O("1qA"),1a.1Pv.8m("7gP",""),1a.1Pv.8m("17s","No 7gO"),1a.1Pv.8m("7gN",""),1a.4p0(1a.1Pv,"3Ou",e),1a.4p0(1a.1Pv,"2xu",f),1a.1Pv.7K("7gM",1b(){1>=b.1Pv.13k?b.1Pv.8m("1qB",""):b.1Pv.7K("7gL",1b(){.5<b.1Pv.1a2&&(b.1Pv.1a2=1k.1ps())})}))}d(a,[{10t:"4p0",1Q:1b(a,b,c){1d d=3n.4O("5j");d.1bv=c;d.1I="1qA/"+b;a.3A(d)}},{10t:"5F",1Q:1b(){h?(1a.1Pw(),11l.2ep("\\n        2YO 3e 1j 1Jc 5pL 2si. 18m 1ag 7gK\\n        1ih or 2aO-7gJ 5pO 3lA 19f 7gI 7gH.\\n        31l 1bU://31k.11Y/7gG/2YO.js/5pN/15 1j 1v5 1Tm.\\n      "),1a.3lz=7O.2II(1b(){3n.1qr||(7O.17J.17S=7O.17J.17S.7g("#")[0],7O.1if(7O.4U,0))},5pM)):1a.1Pv.20e()}},{10t:"1Pw",1Q:1b(){h?1a.3lz&&(11l.2ep("\\n          2YO 14H 1nk 1j 1Jc 5pL 2si.\\n        "),7O.3kZ(1a.3lz),1a.3lz=1F):1a.1Pv.1TN()}}]);1f a}();a.1cr=b},1b(a,b,c){a.1cr={3Ou:"2g:1qA/3Ou;1G3,7gF/7gE=",2xu:"2g:1qA/2xu;1G3,7gD///7gC//p+7gB+7gA/7gz/+7gy/7gx/7gw/7gv/7gu/3ly+7gt/7gs/7gr/+7gq/7gp/7go/7gn//7gm/7gl/7gk/7gj/7gi/3ly+7gh/7gg/7gf/+7ge+7gd/7gc+7gb/7ga/7g9//7g8/7g7+5pK/7g6/7g5/7g4/7g3/3ly+7g2/7g1/7g0/7fZ/+7fY/7fX/7fW/7fV//7fU/7fT/7fS/7fR/7fQ/3ly+7fP/7fO/7fN/+7fM/7fL/7fK/7fJ//7fI/7fH/7fG/7fF//7fE/3ly+7fD/7fC+7fB/7fA/+7fz/7fy/7fx+5pK/7fw/7fv////v7/7fu+7ft+7fs/7fr//7fq/7fp+7fo/7fn/7fm+7fl/7fk/7fj/7fi+7fh+7fg/7ff="}}])});1d 4iy=4oZ.2YO,zN={1dD:1b(a,b,c,d,e){1d f=8*e-d-1;1d h=(1<<f)-1,g=h>>1,k=-7;e=c?e-1:0;1d m=c?-1:1,q=a[b+e];e+=m;c=q&(1<<-k)-1;q>>=-k;1j(k+=f;0<k;c=256*c+a[b+e],e+=m,k-=8);f=c&(1<<-k)-1;c>>=-k;1j(k+=d;0<k;f=256*f+a[b+e],e+=m,k-=8);if(0===c)c=1-g;1s{if(c===h)1f f?1hO:12g*(q?-1:1);f+=1k.3r(2,d);c-=g}1f(q?-1:1)*f*1k.3r(2,c-d)},1G2:1b(a,b,c,d,e,f){1d h,g=8*f-e-1,k=(1<<g)-1,m=k>>1,q=23===e?1k.3r(2,-24)-1k.3r(2,-77):0;f=d?0:f-1;1d r=d?1:-1,u=0>b||0===b&&0>1/b?1:0;b=1k.abs(b);11I(b)||12g===b?(b=11I(b)?1:0,d=k):(d=1k.2t(1k.7k(b)/1k.1ZN),1>b*(h=1k.3r(2,-d))&&(d--,h*=2),b=1<=d+m?b+q/h:b+q*1k.3r(2,1-m),2<=b*h&&(d++,h/=2),d+m>=k?(b=0,d=k):1<=d+m?(b=(b*h-1)*1k.3r(2,e),d+=m):(b=b*1k.3r(2,m-1)*1k.3r(2,e),d=0));1j(;8<=e;a[c+f]=b&255,f+=r,b/=256,e-=8);d=d<<e|b;1j(g+=e;0<g;a[c+f]=d&255,f+=r,d/=256,g-=8);a[c+f-r]|=128*u}};sf.3Oq=0;sf.3lv=1;sf.31j=2;sf.3lw=5;1d 3Ot=1/1AW;sf.1i={1M:1b(){1a.14q=1F},2xp:1b(a,b,c){1j(c=c||1a.1h;1a.3h<c;){1d d=1a.1ez(),e=d>>3,f=1a.3h;1a.1I=d&7;a(e,b,1a);1a.3h===f&&1a.2xt(d)}1f b},7fe:1b(a,b){1f 1a.2xp(a,b,1a.1ez()+1a.3h)},5pI:1b(){1d a=RK(1a.14q,1a.3h);1a.3h+=4;1f a},5pH:1b(){1d a=4oY(1a.14q,1a.3h);1a.3h+=4;1f a},5pG:1b(){1d a=RK(1a.14q,1a.3h)+1AW*RK(1a.14q,1a.3h+4);1a.3h+=8;1f a},5pF:1b(){1d a=RK(1a.14q,1a.3h)+1AW*4oY(1a.14q,1a.3h+4);1a.3h+=8;1f a},3O6:1b(){1d a=zN.1dD(1a.14q,1a.3h,!0,23,4);1a.3h+=4;1f a},3O5:1b(){1d a=zN.1dD(1a.14q,1a.3h,!0,52,8);1a.3h+=8;1f a},1ez:1b(a){1d b=1a.14q;1d c=b[1a.3h++];1d d=c&127;if(128>c)1f d;c=b[1a.3h++];d|=(c&127)<<7;if(128>c)1f d;c=b[1a.3h++];d|=(c&127)<<14;if(128>c)1f d;c=b[1a.3h++];d|=(c&127)<<21;if(128>c)1f d;c=b[1a.3h];1f 5pJ(d|(c&15)<<28,a,1a)},4o3:1b(){1f 1a.1ez(!0)},2ei:1b(){1d a=1a.1ez();1f 1===a%2?(a+1)/-2:a/2},3O4:1b(){1f!!1a.1ez()},2IY:1b(){1j(1d a=1a.1ez()+1a.3h,b=1a.14q,c="",d=1a.3h;d<a;){1d e=b[d],f=1F,h=239<e?4:223<e?3:191<e?2:1;if(d+h>a)1W;if(1===h)128>e&&(f=e);1s if(2===h){1d g=b[d+1];128===(g&192)&&(f=(e&31)<<6|g&63,127>=f&&(f=1F))}1s if(3===h){g=b[d+1];1d k=b[d+2];128===(g&192)&&128===(k&192)&&(f=(e&15)<<12|(g&63)<<6|k&63,3lx>=f||1v4<=f&&2Ja>=f)&&(f=1F)}1s if(4===h){g=b[d+1];k=b[d+2];1d m=b[d+3];128===(g&192)&&128===(k&192)&&128===(m&192)&&(f=(e&15)<<18|(g&63)<<12|(k&63)<<6|m&63,1a6>=f||7fd<=f)&&(f=1F)}1F===f?(f=4oX,h=1):1a6<f&&(f-=12v,c+=10J.1gx(f>>>10&1yG|1v4),f=1AV|f&1yG);c+=10J.1gx(f);d+=h}1a.3h=a;1f c},7fc:1b(){1d a=1a.1ez()+1a.3h,b=1a.14q.1hl(1a.3h,a);1a.3h=a;1f b},7fb:1b(a,b){1d c=Lq(1a);1j(a=a||[];1a.3h<c;)a.1q(1a.1ez(b));1f a},7fa:1b(a){1d b=Lq(1a);1j(a=a||[];1a.3h<b;)a.1q(1a.2ei());1f a},7f9:1b(a){1d b=Lq(1a);1j(a=a||[];1a.3h<b;)a.1q(1a.3O4());1f a},7f8:1b(a){1d b=Lq(1a);1j(a=a||[];1a.3h<b;)a.1q(1a.3O6());1f a},7f7:1b(a){1d b=Lq(1a);1j(a=a||[];1a.3h<b;)a.1q(1a.3O5());1f a},7f6:1b(a){1d b=Lq(1a);1j(a=a||[];1a.3h<b;)a.1q(1a.5pI());1f a},7f5:1b(a){1d b=Lq(1a);1j(a=a||[];1a.3h<b;)a.1q(1a.5pH());1f a},7f4:1b(a){1d b=Lq(1a);1j(a=a||[];1a.3h<b;)a.1q(1a.5pG());1f a},7f3:1b(a){1d b=Lq(1a);1j(a=a||[];1a.3h<b;)a.1q(1a.5pF());1f a},2xt:1b(a){a&=7;if(a===sf.3Oq)1j(;127<1a.14q[1a.3h++];);1s if(a===sf.31j)1a.3h=1a.1ez()+1a.3h;1s if(a===sf.3lw)1a.3h+=4;1s if(a===sf.3lv)1a.3h+=8;1s 1t 6u("7f2 1I: "+a);},20c:1b(a,b){1a.2mg(a<<3|b)},20d:1b(a){1j(1d b=1a.1h||16;b<1a.3h+a;)b*=2;b!==1a.1h&&(a=1g 4L(b),a.1C(1a.14q),1a.14q=a,1a.1h=b)},26t:1b(){1a.1h=1a.3h;1a.3h=0;1f 1a.14q.1hl(0,1a.1h)},4oU:1b(a){1a.20d(4);Gz(1a.14q,a,1a.3h);1a.3h+=4},4oT:1b(a){1a.20d(4);Gz(1a.14q,a,1a.3h);1a.3h+=4},4oS:1b(a){1a.20d(8);Gz(1a.14q,a&-1,1a.3h);Gz(1a.14q,1k.2t(a*3Ot),1a.3h+4);1a.3h+=8},4oR:1b(a){1a.20d(8);Gz(1a.14q,a&-1,1a.3h);Gz(1a.14q,1k.2t(a*3Ot),1a.3h+4);1a.3h+=8},2mg:1b(a){a=+a||0;if(5pE<a||0>a){if(0<=a){1d b=a%1AW|0;1d c=a/1AW|0}1s b=~(-a%1AW),c=~(-a/1AW),b^2eo?b=b+1|0:(b=0,c=c+1|0);if(1.5pD<=a||-1.5pD>a)1t 6u("7f1 4oW 2en\'t 1TM 1KP 10 1tC");1a.20d(10);a=b;1a.14q[1a.3h++]=a&127|128;a>>>=7;1a.14q[1a.3h++]=a&127|128;a>>>=7;1a.14q[1a.3h++]=a&127|128;a>>>=7;1a.14q[1a.3h++]=a&127|128;1a.14q[1a.3h]=a>>>7&127;1a.14q[1a.3h++]|=(c&7)<<4|((c>>>=3)?128:0);c&&(1a.14q[1a.3h++]=c&127|((c>>>=7)?128:0),c&&(1a.14q[1a.3h++]=c&127|((c>>>=7)?128:0),c&&(1a.14q[1a.3h++]=c&127|((c>>>=7)?128:0),c&&(1a.14q[1a.3h++]=c&127|((c>>>=7)?128:0),c&&(1a.14q[1a.3h++]=c&127)))))}1s 1a.20d(4),1a.14q[1a.3h++]=a&127|(127<a?128:0),127>=a||(1a.14q[1a.3h++]=(a>>>=7)&127|(127<a?128:0),127>=a||(1a.14q[1a.3h++]=(a>>>=7)&127|(127<a?128:0),127>=a||(1a.14q[1a.3h++]=a>>>7&127)))},4oQ:1b(a){1a.2mg(0>a?2*-a-1:2*a)},5pC:1b(a){1a.2mg(!!a)},5po:1b(a){a=10J(a);1a.20d(4*a.1h);1a.3h++;1j(1d b=1a.3h,c=1a.14q,d=1a.3h,e=0,f,h;e<a.1h;e++){f=a.19a(e);if(5pB<f&&3Os>f)if(h)if(1AV>f){c[d++]=239;c[d++]=191;c[d++]=189;h=f;1aJ}1s f=h-1v4<<10|f-1AV|12v,h=1F;1s{3Or<f||e+1===a.1h?(c[d++]=239,c[d++]=191,c[d++]=189):h=f;1aJ}1s h&&(c[d++]=239,c[d++]=191,c[d++]=189,h=1F);128>f?c[d++]=f:(1tA>f?c[d++]=f>>6|192:(12v>f?c[d++]=f>>12|224:(c[d++]=f>>18|240,c[d++]=f>>12&63|128),c[d++]=f>>6&63|128),c[d++]=f&63|128)}1a.3h=d;c=1a.3h-b;128<=c&&4oV(b,c,1a);1a.3h=b-1;1a.2mg(c);1a.3h+=c},4oP:1b(a){1a.20d(4);zN.1G2(1a.14q,a,1a.3h,!0,23,4);1a.3h+=4},4oO:1b(a){1a.20d(8);zN.1G2(1a.14q,a,1a.3h,!0,52,8);1a.3h+=8},5pp:1b(a){1d b=a.1h;1a.2mg(b);1a.20d(b);1j(1d c=0;c<b;c++)1a.14q[1a.3h++]=a[c]},5pA:1b(a,b){1a.3h++;1d c=1a.3h;a(b,1a);a=1a.3h-c;128<=a&&4oV(c,a,1a);1a.3h=c-1;1a.2mg(a);1a.3h+=a},2em:1b(a,b,c){1a.20c(a,sf.31j);1a.5pA(b,c)},7f0:1b(a,b){1a.2em(a,5pz,b)},7eZ:1b(a,b){1a.2em(a,5py,b)},7eY:1b(a,b){1a.2em(a,5pw,b)},7eX:1b(a,b){1a.2em(a,5pv,b)},7eW:1b(a,b){1a.2em(a,5pu,b)},7eV:1b(a,b){1a.2em(a,5pt,b)},7eU:1b(a,b){1a.2em(a,5ps,b)},7eT:1b(a,b){1a.2em(a,5pr,b)},7eS:1b(a,b){1a.2em(a,5pq,b)},7eR:1b(a,b){1a.20c(a,sf.31j);1a.5pp(b)},7eQ:1b(a,b){1a.20c(a,sf.3lw);1a.4oU(b)},7eP:1b(a,b){1a.20c(a,sf.3lw);1a.4oT(b)},7eO:1b(a,b){1a.20c(a,sf.3lv);1a.4oS(b)},7eN:1b(a,b){1a.20c(a,sf.3lv);1a.4oR(b)},5pn:1b(a,b){1a.20c(a,sf.3Oq);1a.2mg(b)},7eM:1b(a,b){1a.20c(a,sf.3Oq);1a.4oQ(b)},7eL:1b(a,b){1a.20c(a,sf.31j);1a.5po(b)},7eK:1b(a,b){1a.20c(a,sf.3lw);1a.4oP(b)},7eJ:1b(a,b){1a.20c(a,sf.3lv);1a.4oO(b)},7eI:1b(a,b){1a.5pn(a,!!b)}};u.4x={};u.4x.4fL=1b(a,b,c){1j(1d d,e=c||u.4x.30A,f=0,h=a.1h,g=!1;f<h;)c=f+(h-f>>1),d=+e(a[c],b),0>d?f=c+1:(h=c,g=!d);1f g?f:~f};u.4x.30A=1b(a,b){1f a>b?1:a<b?-1:0};u.4x.2J9=1b(a,b){1f 0<=a.3f(b)};u.4x.4oN=1b(a,b,c){1d d=a.1h;if(a[0]<=b)1f 0;if(!(b<=a[d-1]))if(0<c)1j(c=1;c<d;++c){if(a[c]<b)1f c-1}1s if(0>c)1j(c=1;c<d;++c){if(a[c]<=b)1f c}1s 1j(c=1;c<d;++c){if(a[c]==b)1f c;if(a[c]<b)1f a[c-1]-b<b-a[c]?c-1:c}1f d-1};u.4x.5nX=1b(a,b,c){1j(;b<c;){1d d=a[b];a[b]=a[c];a[c]=d;++b;--c}};u.4x.1a3=1b(a,b){1d c=2K.8n(b)?b:[b],d=c.1h;1j(b=0;b<d;b++)a[a.1h]=c[b]};u.4x.3S=1b(a,b){b=a.3f(b);1d c=-1<b;c&&a.6z(b,1);1f c};u.4x.1oZ=1b(a,b){1j(1d c=a.1h>>>0,d,e=0;e<c;e++)if(d=a[e],b(d,e,a))1f d;1f 1F};u.4x.2L=1b(a,b){1d c=a.1h;if(c!==b.1h)1f!1;1j(1d d=0;d<c;d++)if(a[d]!==b[d])1f!1;1f!0};u.4x.7eH=1b(a,b){1d c=a.1h,d=2K(a.1h),e;1j(e=0;e<c;e++)d[e]={2P:e,1Q:a[e]};d.15F(1b(a,c){1f b(a.1Q,c.1Q)||a.2P-c.2P});1j(e=0;e<a.1h;e++)a[e]=d[e].1Q};u.4x.5pm=1b(a,b){1d c;1f a.2el(1b(d,e){c=e;1f!b(d,e,a)})?-1:c};u.4x.7eG=1b(a,b,c){1d d=b||u.4x.30A;1f a.2el(1b(b,f){if(0===f)1f!0;b=d(a[f-1],b);1f!(0<b||c&&0===b)})};u.7eF=!1;u.7eE=42;u.7eD=0;u.7eC=.5;u.7eB=256;u.7eA="1.3.0";u.7ez=!0;u.7ey=!0;u.7ex=!0;u.7ew=!0;u.7ev=!0;u.7eu=256;u.7et=-1;u.7es=1;u.7er=.75;u.7eq=.1;u.7ep=100;u.7eo=10;u.7en=.25;u.5no=.5;u.7em=13j;u.2kM="";u.1pm=1b(a,b){a.1i=1L.6F(b.1i);a.1i.7m=a};u.3kR=1b(){};u.2e5=1b(a){1f a.5pl||(a.5pl=++u.5pg)};u.26y={};u.26y.1ZW=1b(a,b){};u.14d={};1d YA="7w"!==2h 1Pu?1Pu.1LZ.18v():"";u.14d.7el=-1!==YA.3f("7ek");u.14d.5nH=-1!==YA.3f("4oM")&&-1==YA.3f("7ej");u.14d.7ei=-1!==YA.3f("3jo")&&-1==YA.3f("1Hy");u.14d.7eh=-1!==YA.3f("7eg");u.14d.7ef=1;u.14d.3Nt=!0;u.1wU={};u.7ee={1m8:"add",7ed:"3S"};u.7ec={7eb:"3lu"};u.13U={};u.13U.5pk=1b(a){1d b=1b(b){1d c=a.3ls,e=a.4oL||a.15s;a.4oK&&u.13U.2IS(a);1f c.4G(e,b)};1f a.4oI=b};u.13U.4oJ=1b(a,b,c,d){1j(1d e,f=0,h=a.1h;f<h;++f)if(e=a[f],e.3ls===b&&e.4oL===c)1f d&&(e.4oH=f),e};u.13U.3lr=1b(a,b){1f(a=a.3lt)?a[b]:1p 0};u.13U.4oG=1b(a){1d b=a.3lt;b||(b=a.3lt={});1f b};u.13U.4oF=1b(a,b){1d c=u.13U.3lr(a,b);if(c){1j(1d d=0,e=c.1h;d<e;++d)a.12R(b,c[d].4oI),u.1Po.9P(c[d]);c.1h=0;if(c=a.3lt)4Y c[b],0===1L.9K(c).1h&&4Y a.3lt}};u.13U.2IK=1b(a,b,c,d,e){1d f=u.13U.4oG(a),h=f[b];h||(h=f[b]=[]);(f=u.13U.4oJ(h,c,d,!1))?e||(f.4oK=!1):(f={4oL:d,4oK:!!e,3ls:c,15s:a,1I:b},a.7K(b,u.13U.5pk(f)),h.1q(f));1f f};u.13U.3l6=1b(a,b,c,d){1f u.13U.2IK(a,b,c,d,!0)};u.13U.3l2=1b(a,b,c,d){(a=u.13U.3lr(a,b))&&(c=u.13U.4oJ(a,c,d,!0))&&u.13U.2IS(c)};u.13U.2IS=1b(a){if(a&&a.15s){a.15s.12R(a.1I,a.4oI);1d b=u.13U.3lr(a.15s,a.1I);if(b){1d c="4oH"in a?a.4oH:b.3f(a);-1!==c&&b.6z(c,1);0===b.1h&&u.13U.4oF(a.15s,a.1I)}u.1Po.9P(a)}};u.13U.5pj=1b(a){1d b=u.13U.4oG(a),c;1j(c in b)u.13U.4oF(a,c)};u.31h=1b(){};u.31h.1i.4oE=!1;u.31h.1i.1n6=1b(){1a.4oE||(1a.4oE=!0,1a.4oC())};u.31h.1i.4oC=u.3kR;u.13U.1P3={};u.13U.1P3=1b(a){1a.4oD;1a.1I=a;1a.15s=1F};u.13U.1P3.1i.1yA=u.13U.1P3.1i.31i=1b(){1a.4oD=!0};u.13U.1P3.31i=1b(a){a.31i()};u.13U.1P3.1yA=1b(a){a.1yA()};u.13U.1Pq={};u.13U.1Pq=1b(){u.31h.4G(1a);1a.31g={};1a.2J8={};1a.2mf={}};u.1pm(u.13U.1Pq,u.31h);u.13U.1Pq.1i.7K=1b(a,b){1d c=1a.2mf[a];c||(c=1a.2mf[a]=[]);-1===c.3f(b)&&c.1q(b)};u.13U.1Pq.1i.2wk=1b(a){1d b="4n"===2h a?1g u.13U.1P3(a):a;a=b.1I;b.15s=1a;1d c=1a.2mf[a];if(c){a in 1a.2J8||(1a.2J8[a]=0,1a.31g[a]=0);++1a.2J8[a];1j(1d d=0,e=c.1h;d<e;++d)if(!1===c[d].4G(1a,b)||b.4oD){1d f=!1;1W}--1a.2J8[a];if(0===1a.2J8[a]){b=1a.31g[a];1j(4Y 1a.31g[a];b--;)1a.12R(a,u.3kR);4Y 1a.2J8[a]}1f f}};u.13U.1Pq.1i.4oC=1b(){u.13U.5pj(1a)};u.13U.1Pq.1i.3lr=1b(a){1f 1a.2mf[a]};u.13U.1Pq.1i.5ox=1b(a){1f a?a in 1a.2mf:0<1L.9K(1a.2mf).1h};u.13U.1Pq.1i.12R=1b(a,b){1d c=1a.2mf[a];c&&(b=c.3f(b),a in 1a.31g?(c[b]=u.3kR,++1a.31g[a]):(c.6z(b,1),0===c.1h&&4Y 1a.2mf[a]))};u.13U.2xi={3l1:"1v3",5ob:"9P",7ea:"1aI",7e9:"4oB",7e8:"4oA",7e7:"4oz",7e6:"3Op",3kD:"7A",7e5:"2dt",7e4:"4oy",5om:"1e4",7e3:"1m1",7e2:"2wo",7e1:"5pi",7e0:"1ZA",7dZ:"3LW",7dY:"7dX",7dW:"1ce",7dV:"1n9",7dU:"2wn",7dT:"2lH",1TL:"4ox"};u.2ek=1b(){1a.4ow=0};u.1pm(u.2ek,u.13U.1Pq);u.2ek.7dS=1b(a){if(2K.8n(a))1j(1d b=0,c=a.1h;b<c;++b)u.13U.2IS(a[b]);1s u.13U.2IS(a)};u.2ek.1i.1pr=1b(){++1a.4ow};u.2ek.1i.1tB=1b(){1f 1a.4ow};u.2ek.1i.on=1b(a,b,c){if(2K.8n(a)){1j(1d d=a.1h,e=2K(d),f=0;f<d;++f)e[f]=u.13U.2IK(1a,a[f],b,c);1f e}1f u.13U.2IK(1a,a,b,c)};u.2ek.1i.5ph=1b(a,b,c){if(2K.8n(a)){1j(1d d=a.1h,e=2K(d),f=0;f<d;++f)e[f]=u.13U.3l6(1a,a[f],b,c);1f e}1f u.13U.3l6(1a,a,b,c)};u.2ek.1i.un=1b(a,b,c){if(2K.8n(a))1j(1d d=0,e=a.1h;d<e;++d)u.13U.3l2(1a,a[d],b,c);1s u.13U.3l2(1a,a,b,c)};u.5pg=0;u.1L=1b(a){u.2ek.4G(1a);u.2e5(1a);1a.26D={};1p 0!==a&&1a.3O3(a)};u.1pm(u.1L,u.2ek);u.1L.3Oo={};u.1L.4o5=1b(a){1f u.1L.3Oo.3p(a)?u.1L.3Oo[a]:u.1L.3Oo[a]="1v3:"+a};u.1L.1i.1n=1b(a){1d b;1a.26D.3p(a)&&(b=1a.26D[a]);1f b};u.1L.1i.5o9=1b(){1f 1L.9K(1a.26D)};u.1L.1i.2IZ=1b(){1f u.1Po.1AU({},1a.26D)};u.1L.1i.3On=1b(a,b){};u.1L.1i.1C=1b(a,b,c){c?1a.26D[a]=b:(c=1a.26D[a],1a.26D[a]=b,c!==b&&1a.3On(a,c))};u.1L.1i.3O3=1b(a,b){1j(1d c in a)1a.1C(c,a[c],b)};u.1L.1i.7dR=1b(a,b){if(a in 1a.26D){1d c=1a.26D[a];4Y 1a.26D[a];b||1a.3On(a,c)}};u.1L.1P3=1b(a,b,c){u.13U.1P3.4G(1a,a);1a.10t=b;1a.7dQ=c};u.1pm(u.1L.1P3,u.13U.1P3);u.26C={};u.26C.4ov=1b(){1f!0};u.26C.4om=1b(){1f!1};u.1pp={};u.1pp.2Y=1b(a,b,c){1f 1k.2o(1k.1V(a,b),c)};u.1pp.31f=1b(){1f"31f"in 1k?1k.31f:1b(a){a=1k.108(a);1f(a+1/a)/2}}();u.1pp.7dP=1b(a){u.26y.1ZW(0<a,29);1f 1k.3r(2,1k.8a(1k.7k(a)/1k.1ZN))};u.1pp.5p4=1b(a,b,c,d,e,f){1d h=e-c,g=f-d;if(0!==h||0!==g){1d k=((a-c)*h+(b-d)*g)/(h*h+g*g);1<k?(c=e,d=f):0<k&&(c+=h*k,d+=g*k)}1f u.1pp.3ll(a,b,c,d)};u.1pp.3ll=1b(a,b,c,d){a=c-a;b=d-b;1f a*a+b*b};u.1pp.7dO=1b(a){1j(1d b=a.1h,c=0;c<b;c++){1j(1d d=c,e=1k.abs(a[c][c]),f=c+1;f<b;f++){1d h=1k.abs(a[f][c]);h>e&&(e=h,d=f)}if(0===e)1f 1F;e=a[d];a[d]=a[c];a[c]=e;1j(d=c+1;d<b;d++)1j(e=-a[d][c]/a[c][c],f=c;f<b+1;f++)a[d][f]=c==f?0:a[d][f]+e*a[c][f]}c=2K(b);1j(d=b-1;0<=d;d--)1j(c[d]=a[d][b]/a[d][d],e=d-1;0<=e;e--)a[e][b]-=a[e][d]*c[d];1f c};u.1pp.10Q=1b(a){1f 180*a/1k.PI};u.1pp.8I=1b(a){1f a*1k.PI/180};u.1pp.4oe=1b(a,b){a%=b;1f 0>a*b?a+b:a};u.1pp.11x=1b(a,b,c){1f a+c*(b-a)};u.1Pn={3N8:0,1gu:1,1e5:2,3kD:3};u.1A={};u.1A.5pc=/^#(?:[0-9a-f]{3,4}){1,2}$/i;u.1A.5pe=/^([a-z]*)$/i;u.1A.5oj=1b(a){1f 2K.8n(a)?a:u.1A.1TK(a)};u.1A.2IA=1b(a){1f"4n"===2h a?a:u.1A.5s(a)};u.1A.5pd=1b(a){1d b=3n.4O("5u");b.2r.1A=a;3n.1hg.3A(b);a=1Zy(b).1A;3n.1hg.18Z(b);1f a};u.1A.1TK=1b(){1d a={},b=0;1f 1b(c){if(a.3p(c))1d d=a[c];1s{if(13j<=b){d=0;1j(1d e in a)0===(d++&3)&&(4Y a[e],--b)}d=u.1A.5pf(c);a[c]=d;++b}1f d}}();u.1A.5pf=1b(a){u.1A.5pe.1f4(a)&&(a=u.1A.5pd(a));if(u.1A.5pc.1f4(a)){1d b=a.1h-1;1d c=4>=b?1:2;1d d=4===b||8===b;b=8A(a.13c(1+0*c,c),16);1d e=8A(a.13c(1+1*c,c),16);1d f=8A(a.13c(1+2*c,c),16);a=d?8A(a.13c(1+3*c,c),16):255;1==c&&(b=(b<<4)+b,e=(e<<4)+e,f=(f<<4)+f,d&&(a=(a<<4)+a));c=[b,e,f,a/255]}1s 0==a.3f("15A(")?(a=a.4h(5,-1).7g(",").5d(3a),c=u.1A.1T(a)):0==a.3f("2y(")?(a=a.4h(4,-1).7g(",").5d(3a),a.1q(1),c=u.1A.1T(a)):u.26y.1ZW(!1,14);1f c};u.1A.1T=1b(a,b){b=b||[];b[0]=u.1pp.2Y(a[0]+.5|0,0,255);b[1]=u.1pp.2Y(a[1]+.5|0,0,255);b[2]=u.1pp.2Y(a[2]+.5|0,0,255);b[3]=u.1pp.2Y(a[3],0,1);1f b};u.1A.5s=1b(a){1d b=a[0];b!=(b|0)&&(b=b+.5|0);1d c=a[1];c!=(c|0)&&(c=c+.5|0);1d d=a[2];d!=(d|0)&&(d=d+.5|0);1f"15A("+b+","+c+","+d+","+(1p 0===a[3]?1:a[3])+")"};u.2e8={};u.2e8.2Iv=1b(a){1f u.2e8.5pb(a)?a:u.1A.2IA(a)};u.2e8.5pb=1b(a){1f"4n"===2h a||a 2m 5os||a 2m 5or};u.1cg={};u.1cg.7dN="ol-1qr";u.1cg.7dM="ol-4ou";u.1cg.7dL="ol-7dK";u.1cg.7dJ="ol-1Pt";u.1cg.7dI="ol-3Om";u.1cg.5o3=1b(){1d a,b={};1f 1b(c){a||(a=3n.4O("5u").2r);if(!(c in b)){a.9O=c;1d d=a.5pa;a.9O="";if(!d)1f 1F;b[c]=d.7g(/,\\s?/)}1f b[c]}}();u.1TA={};u.1TA.2Ix=1b(a,b){1f(a&&b?1g 3Ol(a,b):1g 3Ol(1,1)).1ft("2d")};u.1TA.3lq=1b(a){1d b=a.4kf;a=1Zy(a);1f b+=8A(a.7dH,10)+8A(a.7dG,10)};u.1TA.7dF=1b(a){1d b=a.7dE;a=1Zy(a);1f b+=8A(a.3Ok,10)+8A(a.7dD,10)};u.1TA.3lp=1b(a,b){1d c=b.1eZ;c&&c.3Mr(a,b)};u.1TA.2ej=1b(a){1f a&&a.1eZ?a.1eZ.18Z(a):1F};u.1TA.7dC=1b(a){1j(;a.3ja;)a.18Z(a.3ja)};u.7l={};u.7l.3lo={3l3:"7b-3B",2IM:"7b-2W",2IO:"5C-3B",3l4:"5C-2W"};u.7l.1AQ={1Ps:0,1wT:1,3Oj:2,1sk:4,3Oi:8,1hc:16};u.7l.7dB=1b(a){1j(1d b=u.7l.2x6(),c=0,d=a.1h;c<d;++c)u.7l.2x5(b,a[c]);1f b};u.7l.5p5=1b(a,b,c){1d d=1k.2o.6c(1F,a),e=1k.2o.6c(1F,b);a=1k.1V.6c(1F,a);b=1k.1V.6c(1F,b);1f u.7l.30N(d,e,a,b,c)};u.7l.3J=1b(a,b,c){1f c?(c[0]=a[0]-b,c[1]=a[1]-b,c[2]=a[2]+b,c[3]=a[3]+b,c):[a[0]-b,a[1]-b,a[2]+b,a[3]+b]};u.7l.1y=1b(a,b){1f b?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b):a.4h()};u.7l.31c=1b(a,b,c){b=b<a[0]?a[0]-b:a[2]<b?b-a[2]:0;a=c<a[1]?a[1]-c:a[3]<c?c-a[3]:0;1f b*b+a*a};u.7l.7dA=1b(a,b){1f u.7l.2md(a,b[0],b[1])};u.7l.7dz=1b(a,b){1f a[0]<=b[0]&&b[2]<=a[2]&&a[1]<=b[1]&&b[3]<=a[3]};u.7l.2md=1b(a,b,c){1f a[0]<=b&&b<=a[2]&&a[1]<=c&&c<=a[3]};u.7l.3NH=1b(a,b){1d c=a[1],d=a[2],e=a[3],f=b[0];b=b[1];1d h=u.7l.1AQ.1Ps;f<a[0]?h|=u.7l.1AQ.1hc:f>d&&(h|=u.7l.1AQ.1sk);b<c?h|=u.7l.1AQ.3Oi:b>e&&(h|=u.7l.1AQ.3Oj);h===u.7l.1AQ.1Ps&&(h=u.7l.1AQ.1wT);1f h};u.7l.2x6=1b(){1f[12g,12g,-12g,-12g]};u.7l.30N=1b(a,b,c,d,e){1f e?(e[0]=a,e[1]=b,e[2]=c,e[3]=d,e):[a,b,c,d]};u.7l.30L=1b(a){1f u.7l.30N(12g,12g,-12g,-12g,a)};u.7l.5oV=1b(a,b){1d c=a[0];a=a[1];1f u.7l.30N(c,a,c,a,b)};u.7l.7dy=1b(a,b){b=u.7l.30L(b);1f u.7l.4ot(b,a)};u.7l.4ob=1b(a,b,c,d,e){e=u.7l.30L(e);1f u.7l.5p9(e,a,b,c,d)};u.7l.7dx=1b(a,b){b=u.7l.30L(b);1f u.7l.5p8(b,a)};u.7l.2L=1b(a,b){1f a[0]==b[0]&&a[2]==b[2]&&a[1]==b[1]&&a[3]==b[3]};u.7l.1a3=1b(a,b){b[0]<a[0]&&(a[0]=b[0]);b[2]>a[2]&&(a[2]=b[2]);b[1]<a[1]&&(a[1]=b[1]);b[3]>a[3]&&(a[3]=b[3]);1f a};u.7l.2x5=1b(a,b){b[0]<a[0]&&(a[0]=b[0]);b[0]>a[2]&&(a[2]=b[0]);b[1]<a[1]&&(a[1]=b[1]);b[1]>a[3]&&(a[3]=b[1])};u.7l.4ot=1b(a,b){1d c;1d d=0;1j(c=b.1h;d<c;++d)u.7l.2x5(a,b[d]);1f a};u.7l.5p9=1b(a,b,c,d,e){1j(;c<d;c+=e)u.7l.5p7(a,b[c],b[c+1]);1f a};u.7l.5p8=1b(a,b){1d c;1d d=0;1j(c=b.1h;d<c;++d)u.7l.4ot(a,b[d]);1f a};u.7l.5p7=1b(a,b,c){a[0]=1k.2o(a[0],b);a[1]=1k.2o(a[1],c);a[2]=1k.1V(a[2],b);a[3]=1k.1V(a[3],c)};u.7l.7dw=1b(a,b,c){1d d;1f(d=b.4G(c,u.7l.4os(a)))||(d=b.4G(c,u.7l.4or(a)))||(d=b.4G(c,u.7l.4op(a)))?d:(d=b.4G(c,u.7l.4oq(a)))?d:!1};u.7l.3Oa=1b(a){1d b=0;u.7l.1kn(a)||(b=u.7l.26u(a)*u.7l.1sc(a));1f b};u.7l.4os=1b(a){1f[a[0],a[1]]};u.7l.4or=1b(a){1f[a[2],a[1]]};u.7l.2m6=1b(a){1f[(a[0]+a[2])/2,(a[1]+a[3])/2]};u.7l.7dv=1b(a,b){1d c;b===u.7l.3lo.3l3?c=u.7l.4os(a):b===u.7l.3lo.2IM?c=u.7l.4or(a):b===u.7l.3lo.2IO?c=u.7l.4oq(a):b===u.7l.3lo.3l4?c=u.7l.4op(a):u.26y.1ZW(!1,13);1f c};u.7l.7du=1b(a,b){1f(1k.1V(a[2],b[2])-1k.2o(a[0],b[0]))*(1k.1V(a[3],b[3])-1k.2o(a[1],b[1]))};u.7l.7dt=1b(a,b,c,d,e){1d f=b*d[0]/2;d=b*d[1]/2;b=1k.3i(c);1d h=1k.2T(c);c=f*b;f*=h;b*=d;1d g=d*h,k=a[0],m=a[1];a=k-c+g;d=k-c-g;h=k+c-g;c=k+c+g;g=m-f-b;k=m-f+b;1d q=m+f+b;f=m+f-b;1f u.7l.30N(1k.2o(a,d,h,c),1k.2o(g,k,q,f),1k.1V(a,d,h,c),1k.1V(g,k,q,f),e)};u.7l.1sc=1b(a){1f a[3]-a[1]};u.7l.7ds=1b(a,b){a=u.7l.5p6(a,b);1f u.7l.3Oa(a)};u.7l.5p6=1b(a,b,c){c=c?c:u.7l.2x6();u.7l.3Nw(a,b)&&(c[0]=a[0]>b[0]?a[0]:b[0],c[1]=a[1]>b[1]?a[1]:b[1],c[2]=a[2]<b[2]?a[2]:b[2],c[3]=a[3]<b[3]?a[3]:b[3]);1f c};u.7l.7dr=1b(a){1f u.7l.26u(a)+u.7l.1sc(a)};u.7l.26w=1b(a){1f[a[2]-a[0],a[3]-a[1]]};u.7l.4oq=1b(a){1f[a[0],a[3]]};u.7l.4op=1b(a){1f[a[2],a[3]]};u.7l.26u=1b(a){1f a[2]-a[0]};u.7l.3Nw=1b(a,b){1f a[0]<=b[2]&&a[2]>=b[0]&&a[1]<=b[3]&&a[3]>=b[1]};u.7l.1kn=1b(a){1f a[2]<a[0]||a[3]<a[1]};u.7l.5p2=1b(a,b){1f b?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b):a};u.7l.7dq=1b(a,b){1d c=(a[2]-a[0])/2*(b-1);b=(a[3]-a[1])/2*(b-1);a[0]-=c;a[2]+=c;a[1]-=b;a[3]+=b};u.7l.7dp=1b(a,b,c){1d d=!1,e=u.7l.3NH(a,b),f=u.7l.3NH(a,c);if(e===u.7l.1AQ.1wT||f===u.7l.1AQ.1wT)d=!0;1s{1d h=a[0],g=a[1],k=a[2];a=a[3];1d m=c[0];c=c[1];b=(c-b[1])/(m-b[0]);f&u.7l.1AQ.3Oj&&!(e&u.7l.1AQ.3Oj)&&(d=m-(c-a)/b,d=d>=h&&d<=k);d||!(f&u.7l.1AQ.1sk)||e&u.7l.1AQ.1sk||(d=c-(m-k)*b,d=d>=g&&d<=a);d||!(f&u.7l.1AQ.3Oi)||e&u.7l.1AQ.3Oi||(d=m-(c-g)/b,d=d>=h&&d<=k);d||!(f&u.7l.1AQ.1hc)||e&u.7l.1AQ.1hc||(d=c-(m-h)*b,d=d>=g&&d<=a)}1f d};u.7l.3li=1b(a,b,c){a=[a[0],a[1],a[0],a[3],a[2],a[1],a[2],a[3]];b(a,a,2);1f u.7l.5p5([a[0],a[2],a[4],a[6]],[a[1],a[3],a[5],a[7]],c)};u.1Po={};u.1Po.1AU="1b"===2h 1L.1AU?1L.1AU:1b(a,b){if(1p 0===a||1F===a)1t 1g 1LY("1e6 1hk 7w or 1F to 2c");1j(1d c=1L(a),d=1,e=5m.1h;d<e;++d){1d f=5m[d];if(1p 0!==f&&1F!==f)1j(1d h in f)f.3p(h)&&(c[h]=f[h])}1f c};u.1Po.9P=1b(a){1j(1d b in a)4Y a[b]};u.1Po.5o8=1b(a){1d b=[],c;1j(c in a)b.1q(a[c]);1f b};u.1Po.1kn=1b(a){1j(1d b in a)1f!1;1f!b};u.5o={};u.5o.3Oh=2K(6);u.5o.6F=1b(){1f[1,0,0,1,0,0]};u.5o.1Pr=1b(a){1f u.5o.1C(a,1,0,0,1,0,0)};u.5o.9b=1b(a,b){1d c=a[0],d=a[1],e=a[2],f=a[3],h=a[4],g=a[5],k=b[0],m=b[1],q=b[2],r=b[3],u=b[4];b=b[5];a[0]=c*k+e*m;a[1]=d*k+f*m;a[2]=c*q+e*r;a[3]=d*q+f*r;a[4]=c*u+e*b+h;a[5]=d*u+f*b+g;1f a};u.5o.1C=1b(a,b,c,d,e,f,h){a[0]=b;a[1]=c;a[2]=d;a[3]=e;a[4]=f;a[5]=h;1f a};u.5o.5o0=1b(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];1f a};u.5o.6c=1b(a,b){1d c=b[0],d=b[1];b[0]=a[0]*c+a[2]*d+a[4];b[1]=a[1]*c+a[3]*d+a[5];1f b};u.5o.17b=1b(a,b){1d c=1k.3i(b);b=1k.2T(b);1f u.5o.9b(a,u.5o.1C(u.5o.3Oh,c,b,-b,c,0,0))};u.5o.3b=1b(a,b,c){1f u.5o.9b(a,u.5o.1C(u.5o.3Oh,b,0,0,c,0,0))};u.5o.11v=1b(a,b,c){1f u.5o.9b(a,u.5o.1C(u.5o.3Oh,1,0,0,1,b,c))};u.5o.3Nb=1b(a,b,c,d,e,f,h,g){1d k=1k.2T(f);f=1k.3i(f);a[0]=d*f;a[1]=e*k;a[2]=-d*k;a[3]=e*f;a[4]=h*d*f-g*d*k+b;a[5]=h*e*k+g*e*f+c;1f a};u.5o.2xs=1b(a){1d b=u.5o.3Og(a),c=a[0],d=a[1],e=a[2],f=a[3],h=a[4],g=a[5];a[0]=f/b;a[1]=-d/b;a[2]=-e/b;a[3]=c/b;a[4]=(e*g-f*h)/b;a[5]=-(c*g-d*h)/b;1f a};u.5o.3Og=1b(a){1f a[0]*a[3]-a[1]*a[2]};u.3u={};u.3u.8z={};u.3u.8z.2V={};u.3u.8z.1e1={};u.3u.8z.1AT={};u.3u.8z.5o={};u.3u.8z.5o.30B=1b(a,b,c,d,e,f){1j(1d h=f?f:[],g=0;b<c;b+=d){1d k=a[b],m=a[b+1];h[g++]=e[0]*k+e[2]*m+e[4];h[g++]=e[1]*k+e[3]*m+e[5]}f&&h.1h!=g&&(h.1h=g);1f h};u.3u.8z.5o.17b=1b(a,b,c,d,e,f,h){1d g=h?h:[],k=1k.3i(e);e=1k.2T(e);1d m=f[0];f=f[1];1j(1d q=0;b<c;b+=d){1d r=a[b]-m,u=a[b+1]-f;g[q++]=m+r*k-u*e;g[q++]=f+r*e+u*k;1j(r=b+2;r<b+d;++r)g[q++]=a[r]}h&&g.1h!=q&&(g.1h=q);1f g};u.3u.8z.5o.3b=1b(a,b,c,d,e,f,h,g){1d k=g?g:[],l=h[0];h=h[1];1j(1d m=0;b<c;b+=d){1d q=a[b]-l,r=a[b+1]-h;k[m++]=l+e*q;k[m++]=h+f*r;1j(q=b+2;q<b+d;++q)k[m++]=a[q]}g&&k.1h!=m&&(k.1h=m);1f k};u.3u.1m7={XY:"XY",3Of:"3Of",2J5:"2J5",31d:"31d"};u.3u.8z.1e1.9R=1b(a,b,c,d){1j(;b<c-d;){1d e;1j(e=0;e<d;++e){1d f=a[b+e];a[b+e]=a[c-d+e];a[c-d+e]=f}b+=d;c-=d}};u.3u.8z.1AT.3lh=1b(a,b,c,d){1j(1d e=0,f=a[c-d],h=a[c-d+1];b<c;b+=d){1d g=a[b],k=a[b+1];e+=(g-f)*(k+h);f=g;h=k}1f 0<e};u.3u.8z.1AT.4oh=1b(a,b,c,d,e){e=1p 0!==e?e:!1;1d f;1d h=0;1j(f=c.1h;h<f;++h){1d g=c[h];b=u.3u.8z.1AT.3lh(a,b,g,d);if(0===h){if(e&&b||!e&&!b)1f!1}1s if(e&&!b||!e&&b)1f!1;b=g}1f!0};u.3u.8z.1AT.5oQ=1b(a,b,c,d,e){1d f;1d h=0;1j(f=c.1h;h<f;++h)if(!u.3u.8z.1AT.4oh(a,b,c[h],d,e))1f!1;1f!0};u.3u.8z.1AT.3Oe=1b(a,b,c,d,e){e=1p 0!==e?e:!1;1d f;1d h=0;1j(f=c.1h;h<f;++h){1d g=c[h],k=u.3u.8z.1AT.3lh(a,b,g,d);(0===h?e&&k||!e&&!k:e&&!k||!e&&k)&&u.3u.8z.1e1.9R(a,b,g,d);b=g}1f b};u.3u.8z.1AT.4o8=1b(a,b,c,d,e){1d f;1d h=0;1j(f=c.1h;h<f;++h)b=u.3u.8z.1AT.3Oe(a,b,c[h],d,e);1f b};u.3u.8z.1m5={};u.3u.8z.1m5.1ZS=1b(a,b,c,d,e,f,h){h=1p 0!==h?h:[];f||(c=u.3u.8z.1m5.5p3(a,b,c,d,e,h,0),a=h,b=0,d=2);h.1h=u.3u.8z.1m5.3Oc(a,b,c,d,e,h,0);1f h};u.3u.8z.1m5.3Oc=1b(a,b,c,d,e,f,h){1d g=(c-b)/d;if(3>g){1j(;b<c;b+=d)f[h++]=a[b],f[h++]=a[b+1];1f h}1d k=2K(g);k[0]=1;k[g-1]=1;c=[b,c-d];1j(1d m=0,q;0<c.1h;){1d r=c.9l(),v=c.9l(),y=0,t=a[v],A=a[v+1],B=a[r],C=a[r+1];1j(q=v+d;q<r;q+=d){1d E=u.1pp.5p4(a[q],a[q+1],t,A,B,C);E>y&&(m=q,y=E)}y>e&&(k[(m-b)/d]=1,v+d<m&&c.1q(v,m),m+d<r&&c.1q(m,r))}1j(q=0;q<g;++q)k[q]&&(f[h++]=a[b+q*d],f[h++]=a[b+q*d+1]);1f h};u.3u.8z.1m5.4oc=1b(a,b,c,d,e,f,h,g){1d k;1d l=0;1j(k=c.1h;l<k;++l){1d m=c[l];h=u.3u.8z.1m5.3Oc(a,b,m,d,e,f,h);g.1q(h);b=m}1f h};u.3u.8z.1m5.7do=1b(a,b,c,d,e,f,h,g){1d k;1d l=0;1j(k=c.1h;l<k;++l){1d m=c[l],q=[];h=u.3u.8z.1m5.4oc(a,b,m,d,e,f,h,q);g.1q(q);b=m[m.1h-1]}1f h};u.3u.8z.1m5.5p3=1b(a,b,c,d,e,f,h){if(c<=b+d){1j(;b<c;b+=d)f[h++]=a[b],f[h++]=a[b+1];1f h}1d g=a[b],k=a[b+1];f[h++]=g;f[h++]=k;1d m=g,q=k;1j(b+=d;b<c;b+=d)m=a[b],q=a[b+1],u.1pp.3ll(g,k,m,q)>e&&(f[h++]=m,f[h++]=q,g=m,k=q);if(m!=g||q!=k)f[h++]=m,f[h++]=q;1f h};u.3u.8z.1m5.2xc=1b(a,b){1f b*1k.9p(a/b)};u.3u.8z.1m5.4oo=1b(a,b,c,d,e,f,h){if(b==c)1f h;1d g=u.3u.8z.1m5.2xc(a[b],e),k=u.3u.8z.1m5.2xc(a[b+1],e);b+=d;f[h++]=g;f[h++]=k;do{1d m=u.3u.8z.1m5.2xc(a[b],e);1d q=u.3u.8z.1m5.2xc(a[b+1],e);b+=d;if(b==c)1f f[h++]=m,f[h++]=q,h}14p(m==g&&q==k);1j(;b<c;){1d r=u.3u.8z.1m5.2xc(a[b],e);1d v=u.3u.8z.1m5.2xc(a[b+1],e);b+=d;if(r!=m||v!=q){1d y=m-g,t=q-k,A=r-g,B=v-k;y*B==t*A&&(0>y&&A<y||y==A||0<y&&A>y)&&(0>t&&B<t||t==B||0<t&&B>t)||(f[h++]=m,f[h++]=q,g=m,k=q);m=r;q=v}}f[h++]=m;f[h++]=q;1f h};u.3u.8z.1m5.4og=1b(a,b,c,d,e,f,h,g){1d k;1d l=0;1j(k=c.1h;l<k;++l){1d m=c[l];h=u.3u.8z.1m5.4oo(a,b,m,d,e,f,h);g.1q(h);b=m}1f h};u.3u.8z.1m5.5oP=1b(a,b,c,d,e,f,h,g){1d k;1d l=0;1j(k=c.1h;l<k;++l){1d m=c[l],q=[];h=u.3u.8z.1m5.4og(a,b,m,d,e,f,h,q);g.1q(q);b=m[m.1h-1]}1f h};u.3u.19A={1Dz:"18H",1LV:"1b1",7dn:"2me",1wO:"14x",2Iz:"1oj",2xb:"1hi",30F:"1dC",4mO:"1qx",1Oo:"1LU"};u.3u.1pg=1b(){u.1L.4G(1a);1a.2IW=u.7l.2x6();1a.4on=-1;1a.3ln={};1a.4ol=1a.3lm=0;1a.5p1=u.5o.6F()};u.1pm(u.3u.1pg,u.1L);u.3u.1pg.1i.1y=1b(){};u.3u.1pg.1i.2xr=1b(a,b,c,d){};u.3u.1pg.1i.5oX=1b(a,b){b=b?b:[1hO,1hO];1a.2xr(a[0],a[1],b,12g);1f b};u.3u.1pg.1i.7dm=1b(a){1f 1a.2md(a[0],a[1])};u.3u.1pg.1i.3Ob=1b(a){};u.3u.1pg.1i.2md=u.26C.4om;u.3u.1pg.1i.1Pp=1b(a){1a.4on!=1a.1tB()&&(1a.2IW=1a.3Ob(1a.2IW),1a.4on=1a.1tB());1f u.7l.5p2(1a.2IW,a)};u.3u.1pg.1i.17b=1b(a,b){};u.3u.1pg.1i.3b=1b(a,b,c){};u.3u.1pg.1i.1m5=1b(a){1f 1a.3N6(a*a)};u.3u.1pg.1i.3N6=1b(a){};u.3u.1pg.1i.1bu=1b(){};u.3u.1pg.1i.3li=1b(a){};u.3u.1pg.1i.2J4=1b(a){};u.3u.1pg.1i.11v=1b(a,b){};u.3u.1pg.1i.5o=1b(a,b){1d c=1a.5p1;a=u.1yh.1n(a);1d d=a.7dl()==u.1yh.7dk.7dj?1b(d,f,h){1d e=a.1Pp(),g=a.7di();e=u.7l.1sc(g)/u.7l.1sc(e);u.5o.3Nb(c,g[0],g[3],e,-e,0,0,0);u.3u.8z.5o.30B(d,0,d.1h,h,c,f);1f u.1yh.2J7(a,b)(d,f,h)}:u.1yh.2J7(a,b);1a.3li(d);1f 1a};u.3u.1gw=1b(){u.3u.1pg.4G(1a);1a.11e=u.3u.1m7.XY;1a.14e=2;1a.10d=1F};u.1pm(u.3u.1gw,u.3u.1pg);u.3u.1gw.5p0=1b(a){if(2==a)1d b=u.3u.1m7.XY;1s 3==a?b=u.3u.1m7.3Of:4==a&&(b=u.3u.1m7.31d);1f b};u.3u.1gw.4ok=1b(a){1d b;a==u.3u.1m7.XY?b=2:a==u.3u.1m7.3Of||a==u.3u.1m7.2J5?b=3:a==u.3u.1m7.31d&&(b=4);1f b};u.3u.1gw.1i.2md=u.26C.4om;u.3u.1gw.1i.3Ob=1b(a){1f u.7l.4ob(1a.10d,0,1a.10d.1h,1a.14e,a)};u.3u.1gw.1i.2J6=1b(){};u.3u.1gw.1i.7dh=1b(){1f 1a.10d.4h(0,1a.14e)};u.3u.1gw.1i.1li=1b(){1f 1a.10d};u.3u.1gw.1i.7dg=1b(){1f 1a.10d.4h(1a.10d.1h-1a.14e)};u.3u.1gw.1i.2J0=1b(){1f 1a.11e};u.3u.1gw.1i.3N6=1b(a){1a.4ol!=1a.1tB()&&(u.1Po.9P(1a.3ln),1a.3lm=0,1a.4ol=1a.1tB());if(0>a||0!==1a.3lm&&a<=1a.3lm)1f 1a;1d b=a.5s();if(1a.3ln.3p(b))1f 1a.3ln[b];1d c=1a.31a(a);if(c.1li().1h<1a.10d.1h)1f 1a.3ln[b]=c;1a.3lm=a;1f 1a};u.3u.1gw.1i.31a=1b(a){1f 1a};u.3u.1gw.1i.1ng=1b(){1f 1a.14e};u.3u.1gw.1i.2J1=1b(a,b){1a.14e=u.3u.1gw.4ok(a);1a.11e=a;1a.10d=b};u.3u.1gw.1i.1TJ=1b(a,b){};u.3u.1gw.1i.2J3=1b(a,b,c){if(a)b=u.3u.1gw.4ok(a);1s{1j(a=0;a<c;++a){if(0===b.1h){1a.11e=u.3u.1m7.XY;1a.14e=2;1f}b=b[0]}b=b.1h;a=u.3u.1gw.5p0(b)}1a.11e=a;1a.14e=b};u.3u.1gw.1i.3li=1b(a){1a.10d&&(a(1a.10d,1a.10d,1a.14e),1a.1pr())};u.3u.1gw.1i.17b=1b(a,b){1d c=1a.1li();if(c){1d d=1a.1ng();u.3u.8z.5o.17b(c,0,c.1h,d,a,b,c);1a.1pr()}};u.3u.1gw.1i.3b=1b(a,b,c){1p 0===b&&(b=a);c||(c=u.7l.2m6(1a.1Pp()));1d d=1a.1li();if(d){1d e=1a.1ng();u.3u.8z.5o.3b(d,0,d.1h,e,a,b,c,d);1a.1pr()}};u.3u.1gw.1i.11v=1b(a,b){1d c=1a.1li();if(c){1d d=1a.1ng();u.3u.8z.5o.11v(c,0,c.1h,d,a,b,c);1a.1pr()}};u.3u.1gw.30B=1b(a,b,c){1d d=a.1li();1f d?(a=a.1ng(),u.3u.8z.5o.30B(d,0,d.1h,a,b,c)):1F};u.3u.14x=1b(a,b){u.3u.1gw.4G(1a);1a.1eA=[];1a.4oj=-1;1a.4oi=1F;1a.31b=1a.20b=1a.20a=-1;1a.1ZZ=1F;1a.1TJ(a,b)};u.1pm(u.3u.14x,u.3u.1gw);u.3u.14x.1i.7df=1b(a){1a.10d?u.4x.1a3(1a.10d,a.1li()):1a.10d=a.1li().4h();1a.1eA.1q(1a.10d.1h);1a.1pr()};u.3u.14x.1i.1y=1b(){1d a=1g u.3u.14x(1F);a.1g0(1a.11e,1a.10d.4h(),1a.1eA.4h());1f a};u.3u.14x.1i.2xr=1b(a,b,c,d){if(d<u.7l.31c(1a.1Pp(),a,b))1f d;1a.20b!=1a.1tB()&&(1a.20a=1k.3Y(u.3u.8z.2xq.5oU(1a.10d,0,1a.1eA,1a.14e,0)),1a.20b=1a.1tB());1f u.3u.8z.2xq.5oT(1a.10d,0,1a.1eA,1a.14e,1a.20a,!0,a,b,c,d)};u.3u.14x.1i.2md=1b(a,b){1f u.3u.8z.8h.7de(1a.1FY(),0,1a.1eA,1a.14e,a,b)};u.3u.14x.1i.3Oa=1b(){1f u.3u.8z.207.4of(1a.1FY(),0,1a.1eA,1a.14e)};u.3u.14x.1i.2J6=1b(a){if(1p 0!==a){1d b=1a.1FY().4h();u.3u.8z.1AT.3Oe(b,0,1a.1eA,1a.14e,a)}1s b=1a.10d;1f u.3u.8z.1pn.3kY(b,0,1a.1eA,1a.14e)};u.3u.14x.1i.1ZT=1b(){1f 1a.1eA};u.3u.14x.1i.4n6=1b(){if(1a.4oj!=1a.1tB()){1d a=u.7l.2m6(1a.1Pp());1a.4oi=u.3u.8z.5oR.4of(1a.1FY(),0,1a.1eA,1a.14e,a,0);1a.4oj=1a.1tB()}1f 1a.4oi};u.3u.14x.1i.7dd=1b(){1f 1g u.3u.18H(1a.4n6(),u.3u.1m7.2J5)};u.3u.14x.1i.7dc=1b(){1f 1a.1eA.1h};u.3u.14x.1i.7db=1b(a){if(0>a||1a.1eA.1h<=a)1f 1F;1d b=1g u.3u.2me(1F);b.1g0(1a.11e,1a.10d.4h(0===a?0:1a.1eA[a-1],1a.1eA[a]));1f b};u.3u.14x.1i.7da=1b(){1d a=1a.11e,b=1a.10d,c=1a.1eA,d=[],e=0,f;1d h=0;1j(f=c.1h;h<f;++h){1d g=c[h],k=1g u.3u.2me(1F);k.1g0(a,b.4h(e,g));d.1q(k);e=g}1f d};u.3u.14x.1i.1FY=1b(){if(1a.31b!=1a.1tB()){1d a=1a.10d;u.3u.8z.1AT.4oh(a,0,1a.1eA,1a.14e)?1a.1ZZ=a:(1a.1ZZ=a.4h(),1a.1ZZ.1h=u.3u.8z.1AT.3Oe(1a.1ZZ,0,1a.1eA,1a.14e));1a.31b=1a.1tB()}1f 1a.1ZZ};u.3u.14x.1i.31a=1b(a){1d b=[],c=[];b.1h=u.3u.8z.1m5.4og(1a.10d,0,1a.1eA,1a.14e,1k.3Y(a),b,0,c);a=1g u.3u.14x(1F);a.1g0(u.3u.1m7.XY,b,c);1f a};u.3u.14x.1i.1bu=1b(){1f u.3u.19A.1wO};u.3u.14x.1i.2J4=1b(a){1f u.3u.8z.3O9.4of(1a.1FY(),0,1a.1eA,1a.14e,a)};u.3u.14x.1i.1TJ=1b(a,b){a?(1a.2J3(b,a,2),1a.10d||(1a.10d=[]),a=u.3u.8z.2J2.3kY(1a.10d,0,a,1a.14e,1a.1eA),1a.10d.1h=0===a.1h?0:a[a.1h-1]):1a.1g0(u.3u.1m7.XY,1F,1a.1eA)};u.3u.14x.1i.1g0=1b(a,b,c){1a.2J1(a,b);1a.1eA=c};u.3u.14x.5oZ=1b(a,b,c,d){1d e=d?d:32;d=[];1d f;1j(f=0;f<e;++f)u.4x.1a3(d,a.2M(b,c,2*1k.PI*f/e));d.1q(d[0],d[1]);a=1g u.3u.14x(1F);a.1g0(u.3u.1m7.XY,d,[d.1h]);1f a};u.3u.14x.7d9=1b(a){1d b=a[0],c=a[1],d=a[2];a=a[3];b=[b,c,b,a,d,a,d,c,b,c];c=1g u.3u.14x(1F);c.1g0(u.3u.1m7.XY,b,[b.1h]);1f c};u.3u.14x.7d8=1b(a,b,c){1d d=b?b:32,e=a.1ng();b=a.2J0();1d f=1g u.3u.14x(1F,b);d=e*(d+1);e=2K(d);1j(1d h=0;h<d;h++)e[h]=0;f.1g0(b,e,[e.1h]);u.3u.14x.5oY(f,a.2m6(),a.3le(),c);1f f};u.3u.14x.5oY=1b(a,b,c,d){1d e=a.1li(),f=a.2J0(),h=a.1ng(),g=a.1ZT(),k=e.1h/h-1;d=d?d:0;1j(1d m,q,r=0;r<=k;++r)q=r*h,m=d+2*u.1pp.4oe(r,k)*1k.PI/k,e[q]=b[0]+c*1k.3i(m),e[q+1]=b[1]+c*1k.2T(m);a.1g0(f,e,g)};u.3u.1b1=1b(a,b){u.3u.1gw.4G(1a);1a.3Od=1F;1a.20b=1a.20a=1a.4od=-1;1a.1TJ(a,b)};u.1pm(u.3u.1b1,u.3u.1gw);u.3u.1b1.1i.7d7=1b(a){1a.10d?u.4x.1a3(1a.10d,a):1a.10d=a.4h();1a.1pr()};u.3u.1b1.1i.1y=1b(){1d a=1g u.3u.1b1(1F);a.1g0(1a.11e,1a.10d.4h());1f a};u.3u.1b1.1i.2xr=1b(a,b,c,d){if(d<u.7l.31c(1a.1Pp(),a,b))1f d;1a.20b!=1a.1tB()&&(1a.20a=1k.3Y(u.3u.8z.2xq.7d6(1a.10d,0,1a.10d.1h,1a.14e,0)),1a.20b=1a.1tB());1f u.3u.8z.2xq.5oX(1a.10d,0,1a.10d.1h,1a.14e,1a.20a,!1,a,b,c,d)};u.3u.1b1.1i.7d5=1b(a,b){1f u.3u.8z.1eK.12I(1a.10d,0,1a.10d.1h,1a.14e,a,b)};u.3u.1b1.1i.5oS=1b(a,b){1f 1a.11e!=u.3u.1m7.2J5&&1a.11e!=u.3u.1m7.31d?1F:u.3u.8z.1d9.7d4(1a.10d,0,1a.10d.1h,1a.14e,a,1p 0!==b?b:!1)};u.3u.1b1.1i.2J6=1b(){1f u.3u.8z.1pn.9R(1a.10d,0,1a.10d.1h,1a.14e)};u.3u.1b1.1i.5oW=1b(a,b){1f u.3u.8z.1d9.1ZS(1a.10d,0,1a.10d.1h,1a.14e,a,b)};u.3u.1b1.1i.7d3=1b(){1f u.3u.8z.1h.1ZS(1a.10d,0,1a.10d.1h,1a.14e)};u.3u.1b1.1i.5nM=1b(){1a.4od!=1a.1tB()&&(1a.3Od=1a.5oW(.5,1a.3Od),1a.4od=1a.1tB());1f 1a.3Od};u.3u.1b1.1i.31a=1b(a){1d b=[];b.1h=u.3u.8z.1m5.3Oc(1a.10d,0,1a.10d.1h,1a.14e,a,b,0);a=1g u.3u.1b1(1F);a.1g0(u.3u.1m7.XY,b);1f a};u.3u.1b1.1i.1bu=1b(){1f u.3u.19A.1LV};u.3u.1b1.1i.2J4=1b(a){1f u.3u.8z.3O9.1ZS(1a.10d,0,1a.10d.1h,1a.14e,a)};u.3u.1b1.1i.1TJ=1b(a,b){a?(1a.2J3(b,a,1),1a.10d||(1a.10d=[]),1a.10d.1h=u.3u.8z.2J2.9R(1a.10d,0,a,1a.14e),1a.1pr()):1a.1g0(u.3u.1m7.XY,1F)};u.3u.1b1.1i.1g0=1b(a,b){1a.2J1(a,b);1a.1pr()};u.3u.18H=1b(a,b){u.3u.1gw.4G(1a);1a.1TJ(a,b)};u.1pm(u.3u.18H,u.3u.1gw);u.3u.18H.1i.1y=1b(){1d a=1g u.3u.18H(1F);a.1g0(1a.11e,1a.10d.4h());1f a};u.3u.18H.1i.2xr=1b(a,b,c,d){1d e=1a.10d;a=u.1pp.3ll(a,b,e[0],e[1]);if(a<d){d=1a.14e;1j(b=0;b<d;++b)c[b]=e[b];c.1h=d;1f a}1f d};u.3u.18H.1i.2J6=1b(){1f 1a.10d?1a.10d.4h():[]};u.3u.18H.1i.3Ob=1b(a){1f u.7l.5oV(1a.10d,a)};u.3u.18H.1i.1bu=1b(){1f u.3u.19A.1Dz};u.3u.18H.1i.2J4=1b(a){1f u.7l.2md(a,1a.10d[0],1a.10d[1])};u.3u.18H.1i.1TJ=1b(a,b){a?(1a.2J3(b,a,0),1a.10d||(1a.10d=[]),1a.10d.1h=u.3u.8z.2J2.25M(1a.10d,0,a,1a.14e),1a.1pr()):1a.1g0(u.3u.1m7.XY,1F)};u.3u.18H.1i.1g0=1b(a,b){1a.2J1(a,b);1a.1pr()};u.3u.1hi=1b(a,b){u.3u.1gw.4G(1a);1a.1eA=[];1a.20b=1a.20a=-1;1a.1TJ(a,b)};u.1pm(u.3u.1hi,u.3u.1gw);u.3u.1hi.1i.7d2=1b(a){1a.10d?u.4x.1a3(1a.10d,a.1li().4h()):1a.10d=a.1li().4h();1a.1eA.1q(1a.10d.1h);1a.1pr()};u.3u.1hi.1i.1y=1b(){1d a=1g u.3u.1hi(1F);a.1g0(1a.11e,1a.10d.4h(),1a.1eA.4h());1f a};u.3u.1hi.1i.2xr=1b(a,b,c,d){if(d<u.7l.31c(1a.1Pp(),a,b))1f d;1a.20b!=1a.1tB()&&(1a.20a=1k.3Y(u.3u.8z.2xq.5oU(1a.10d,0,1a.1eA,1a.14e,0)),1a.20b=1a.1tB());1f u.3u.8z.2xq.5oT(1a.10d,0,1a.1eA,1a.14e,1a.20a,!1,a,b,c,d)};u.3u.1hi.1i.5oS=1b(a,b,c){1f 1a.11e!=u.3u.1m7.2J5&&1a.11e!=u.3u.1m7.31d||0===1a.10d.1h?1F:u.3u.8z.1d9.7d1(1a.10d,0,1a.1eA,1a.14e,a,1p 0!==b?b:!1,1p 0!==c?c:!1)};u.3u.1hi.1i.2J6=1b(){1f u.3u.8z.1pn.3kY(1a.10d,0,1a.1eA,1a.14e)};u.3u.1hi.1i.1ZT=1b(){1f 1a.1eA};u.3u.1hi.1i.7d0=1b(a){if(0>a||1a.1eA.1h<=a)1f 1F;1d b=1g u.3u.1b1(1F);b.1g0(1a.11e,1a.10d.4h(0===a?0:1a.1eA[a-1],1a.1eA[a]));1f b};u.3u.1hi.1i.7cZ=1b(){1d a=1a.10d,b=1a.1eA,c=1a.11e,d=[],e=0,f;1d h=0;1j(f=b.1h;h<f;++h){1d g=b[h],k=1g u.3u.1b1(1F);k.1g0(c,a.4h(e,g));d.1q(k);e=g}1f d};u.3u.1hi.1i.5nL=1b(){1d a=[],b=1a.10d,c=0,d=1a.1eA,e=1a.14e,f;1d g=0;1j(f=d.1h;g<f;++g){1d k=d[g];c=u.3u.8z.1d9.1ZS(b,c,k,e,.5);u.4x.1a3(a,c);c=k}1f a};u.3u.1hi.1i.31a=1b(a){1d b=[],c=[];b.1h=u.3u.8z.1m5.4oc(1a.10d,0,1a.1eA,1a.14e,a,b,0,c);a=1g u.3u.1hi(1F);a.1g0(u.3u.1m7.XY,b,c);1f a};u.3u.1hi.1i.1bu=1b(){1f u.3u.19A.2xb};u.3u.1hi.1i.2J4=1b(a){1f u.3u.8z.3O9.7cY(1a.10d,0,1a.1eA,1a.14e,a)};u.3u.1hi.1i.1TJ=1b(a,b){a?(1a.2J3(b,a,2),1a.10d||(1a.10d=[]),a=u.3u.8z.2J2.3kY(1a.10d,0,a,1a.14e,1a.1eA),1a.10d.1h=0===a.1h?0:a[a.1h-1],1a.1pr()):1a.1g0(u.3u.1m7.XY,1F,1a.1eA)};u.3u.1hi.1i.1g0=1b(a,b,c){1a.2J1(a,b);1a.1eA=c;1a.1pr()};u.3u.1hi.1i.7cX=1b(a){1d b=1a.2J0(),c=[],d=[],e;1d f=0;1j(e=a.1h;f<e;++f){1d g=a[f];0===f&&(b=g.2J0());u.4x.1a3(c,g.1li());d.1q(c.1h)}1a.1g0(b,c,d)};u.3u.1oj=1b(a,b){u.3u.1gw.4G(1a);1a.1TJ(a,b)};u.1pm(u.3u.1oj,u.3u.1gw);u.3u.1oj.1i.7cW=1b(a){1a.10d?u.4x.1a3(1a.10d,a.1li()):1a.10d=a.1li().4h();1a.1pr()};u.3u.1oj.1i.1y=1b(){1d a=1g u.3u.1oj(1F);a.1g0(1a.11e,1a.10d.4h());1f a};u.3u.1oj.1i.2xr=1b(a,b,c,d){if(d<u.7l.31c(1a.1Pp(),a,b))1f d;1d e=1a.10d,f=1a.14e,g;1d k=0;1j(g=e.1h;k<g;k+=f){1d m=u.1pp.3ll(a,b,e[k],e[k+1]);if(m<d){d=m;1j(m=0;m<f;++m)c[m]=e[k+m];c.1h=f}}1f d};u.3u.1oj.1i.2J6=1b(){1f u.3u.8z.1pn.9R(1a.10d,0,1a.10d.1h,1a.14e)};u.3u.1oj.1i.1n3=1b(a){1d b=1a.10d?1a.10d.1h/1a.14e:0;if(0>a||b<=a)1f 1F;b=1g u.3u.18H(1F);b.1g0(1a.11e,1a.10d.4h(a*1a.14e,(a+1)*1a.14e));1f b};u.3u.1oj.1i.4nY=1b(){1d a=1a.10d,b=1a.11e,c=1a.14e,d=[],e;1d f=0;1j(e=a.1h;f<e;f+=c){1d g=1g u.3u.18H(1F);g.1g0(b,a.4h(f,f+c));d.1q(g)}1f d};u.3u.1oj.1i.1bu=1b(){1f u.3u.19A.2Iz};u.3u.1oj.1i.2J4=1b(a){1d b=1a.10d,c=1a.14e,d;1d e=0;1j(d=b.1h;e<d;e+=c){1d f=b[e];1d g=b[e+1];if(u.7l.2md(a,f,g))1f!0}1f!1};u.3u.1oj.1i.1TJ=1b(a,b){a?(1a.2J3(b,a,1),1a.10d||(1a.10d=[]),1a.10d.1h=u.3u.8z.2J2.9R(1a.10d,0,a,1a.14e),1a.1pr()):1a.1g0(u.3u.1m7.XY,1F)};u.3u.1oj.1i.1g0=1b(a,b){1a.2J1(a,b);1a.1pr()};u.3u.8z.2V.319={};u.3u.8z.2V.319=1b(a,b,c,d){1d e=[],f;u.7l.2x6();1d g=0;1j(f=c.1h;g<f;++g){1d k=c[g];b=u.7l.4ob(a,b,k[0],d);e.1q((b[0]+b[2])/2,(b[1]+b[3])/2);b=k[k.1h-1]}1f e};u.3u.1dC=1b(a,b){u.3u.1gw.4G(1a);1a.1qz=[];1a.4oa=-1;1a.4o9=1F;1a.31b=1a.20b=1a.20a=-1;1a.1ZZ=1F;1a.1TJ(a,b)};u.1pm(u.3u.1dC,u.3u.1gw);u.3u.1dC.1i.7cV=1b(a){if(1a.10d){1d b=1a.10d.1h;u.4x.1a3(1a.10d,a.1li());a=a.1ZT().4h();1d c;1d d=0;1j(c=a.1h;d<c;++d)a[d]+=b}1s 1a.10d=a.1li().4h(),a=a.1ZT().4h(),1a.1qz.1q();1a.1qz.1q(a);1a.1pr()};u.3u.1dC.1i.1y=1b(){1j(1d a=1g u.3u.1dC(1F),b=1a.1qz.1h,c=2K(b),d=0;d<b;++d)c[d]=1a.1qz[d].4h();a.1g0(1a.11e,1a.10d.4h(),c);1f a};u.3u.1dC.1i.2xr=1b(a,b,c,d){if(d<u.7l.31c(1a.1Pp(),a,b))1f d;1a.20b!=1a.1tB()&&(1a.20a=1k.3Y(u.3u.8z.2xq.7cU(1a.10d,0,1a.1qz,1a.14e,0)),1a.20b=1a.1tB());1f u.3u.8z.2xq.7cT(1a.1FY(),0,1a.1qz,1a.14e,1a.20a,!0,a,b,c,d)};u.3u.1dC.1i.2md=1b(a,b){1f u.3u.8z.8h.7cS(1a.1FY(),0,1a.1qz,1a.14e,a,b)};u.3u.1dC.1i.3Oa=1b(){1f u.3u.8z.207.319(1a.1FY(),0,1a.1qz,1a.14e)};u.3u.1dC.1i.2J6=1b(a){if(1p 0!==a){1d b=1a.1FY().4h();u.3u.8z.1AT.4o8(b,0,1a.1qz,1a.14e,a)}1s b=1a.10d;1f u.3u.8z.1pn.4nl(b,0,1a.1qz,1a.14e)};u.3u.1dC.1i.3Nv=1b(){1f 1a.1qz};u.3u.1dC.1i.4n5=1b(){if(1a.4oa!=1a.1tB()){1d a=u.3u.8z.2V.319(1a.10d,0,1a.1qz,1a.14e);1a.4o9=u.3u.8z.5oR.319(1a.1FY(),0,1a.1qz,1a.14e,a);1a.4oa=1a.1tB()}1f 1a.4o9};u.3u.1dC.1i.7cR=1b(){1d a=1g u.3u.1oj(1F);a.1g0(u.3u.1m7.2J5,1a.4n5().4h());1f a};u.3u.1dC.1i.1FY=1b(){if(1a.31b!=1a.1tB()){1d a=1a.10d;u.3u.8z.1AT.5oQ(a,0,1a.1qz,1a.14e)?1a.1ZZ=a:(1a.1ZZ=a.4h(),1a.1ZZ.1h=u.3u.8z.1AT.4o8(1a.1ZZ,0,1a.1qz,1a.14e));1a.31b=1a.1tB()}1f 1a.1ZZ};u.3u.1dC.1i.31a=1b(a){1d b=[],c=[];b.1h=u.3u.8z.1m5.5oP(1a.10d,0,1a.1qz,1a.14e,1k.3Y(a),b,0,c);a=1g u.3u.1dC(1F);a.1g0(u.3u.1m7.XY,b,c);1f a};u.3u.1dC.1i.7cQ=1b(a){if(0>a||1a.1qz.1h<=a)1f 1F;if(0===a)1d b=0;1s b=1a.1qz[a-1],b=b[b.1h-1];a=1a.1qz[a].4h();1d c=a[a.1h-1];if(0!==b){1d d;1d e=0;1j(d=a.1h;e<d;++e)a[e]-=b}e=1g u.3u.14x(1F);e.1g0(1a.11e,1a.10d.4h(b,c),a);1f e};u.3u.1dC.1i.7cP=1b(){1d a=1a.11e,b=1a.10d,c=1a.1qz,d=[],e=0,f,g;1d k=0;1j(f=c.1h;k<f;++k){1d m=c[k].4h(),n=m[m.1h-1];if(0!==e){1d q=0;1j(g=m.1h;q<g;++q)m[q]-=e}q=1g u.3u.14x(1F);q.1g0(a,b.4h(e,n),m);d.1q(q);e=n}1f d};u.3u.1dC.1i.1bu=1b(){1f u.3u.19A.30F};u.3u.1dC.1i.2J4=1b(a){1f u.3u.8z.3O9.319(1a.1FY(),0,1a.1qz,1a.14e,a)};u.3u.1dC.1i.1TJ=1b(a,b){a?(1a.2J3(b,a,3),1a.10d||(1a.10d=[]),a=u.3u.8z.2J2.4nl(1a.10d,0,a,1a.14e,1a.1qz),0===a.1h?1a.10d.1h=0:(a=a[a.1h-1],1a.10d.1h=0===a.1h?0:a[a.1h-1]),1a.1pr()):1a.1g0(u.3u.1m7.XY,1F,1a.1qz)};u.3u.1dC.1i.1g0=1b(a,b,c){1a.2J1(a,b);1a.1qz=c;1a.1pr()};u.3u.1dC.1i.7cO=1b(a){1d b=1a.2J0(),c=[],d=[],e;1d f=0;1j(e=a.1h;f<e;++f){1d g=a[f];0===f&&(b=g.2J0());1d k=c.1h;1d m=g.1ZT();1d n;1d q=0;1j(n=m.1h;q<n;++q)m[q]+=k;u.4x.1a3(c,g.1li());d.1q(m)}1a.1g0(b,c,d)};u.19E=1b(a){u.1L.4G(1a);1a.26B=1p 0;1a.2eh="3y";1a.4o6=1F;1a.4o7=1p 0;1a.3lj=1F;1p 0!==a&&(a 2m u.3u.1pg||!a?1a.30X(a):1a.3O3(a))};u.1pm(u.19E,u.1L);u.19E.1i.1y=1b(){1d a=1g u.19E(1a.2IZ());a.4o2(1a.5oO());1d b=1a.1TE();b&&a.30X(b.1y());(b=1a.313())&&a.3l0(b);1f a};u.19E.1i.1TE=1b(){1f 1a.1n(1a.2eh)};u.19E.1i.3lk=1b(){1f 1a.26B};u.19E.1i.5oO=1b(){1f 1a.2eh};u.19E.1i.313=1b(){1f 1a.4o6};u.19E.1i.7cN=1b(){1f 1a.4o7};u.19E.1i.5oN=1b(){1a.1pr()};u.19E.1i.3O8=1b(){1a.3lj&&(u.13U.2IS(1a.3lj),1a.3lj=1F);1d a=1a.1TE();a&&(1a.3lj=u.13U.2IK(a,u.13U.2xi.3l1,1a.5oN,1a));1a.1pr()};u.19E.1i.30X=1b(a){1a.1C(1a.2eh,a)};u.19E.1i.3l0=1b(a){1a.4o7=(1a.4o6=a)?u.19E.5oM(a):1p 0;1a.1pr()};u.19E.1i.5oB=1b(a){1a.26B=a;1a.1pr()};u.19E.1i.4o2=1b(a){u.13U.3l2(1a,u.1L.4o5(1a.2eh),1a.3O8,1a);1a.2eh=a;u.13U.2IK(1a,u.1L.4o5(1a.2eh),1a.3O8,1a);1a.3O8()};u.19E.5oM=1b(a){if("1b"===2h a)1d b=2==a.1h?1b(b){1f a(1a,b)}:a;1s{if(2K.8n(a))1d c=a;1s u.26y.1ZW(a 2m u.2r.18O,41),c=[a];b=1b(){1f c}}1f b};u.8V={};u.8V.19E=1b(){1a.5oK=1a.5oL=1F};u.8V.19E.1i.7cM=1b(a,b){1d c;b&&(c={3O7:b.3O7?b.3O7:1a.5oJ(a),4o4:b.4o4});1f 1a.4o1(c)};u.8V.19E.1i.4o1=1b(a){1f u.1Po.1AU({3O7:1a.5oL,4o4:1a.5oK},a)};u.8V.19E.1i.7cL=1b(){1f 1F};u.8V.19E.1i.1bu=1b(){};u.8V.19E.1i.7cK=1b(a,b){};u.8V.19E.1i.2IX=1b(a,b){};u.8V.19E.1i.7cJ=1b(a,b){};u.8V.19E.1i.5oJ=1b(a){};u.8V.19E.1i.7cI=1b(a,b){};u.8V.19E.1i.7cH=1b(a,b){};u.8V.19E.1i.7cG=1b(a,b){};u.8V.19E.5oC=1b(a,b,c){1d d=a;if(b&&c&&1p 0!==c.5oI){1d e=1k.3r(10,c.5oI);d===a&&(d=d.1y());d.3li(1b(a){1j(1d b=0,c=a.1h;b<c;++b)a[b]=1k.9p(a[b]*e)/e;1f a})}1f d};u.8V.1D4=1b(a){u.8V.19E.4G(1a);a=a?a:{};1a.5oD=a.5oH?a.5oH:u.3t.19E;1a.2eh=a.7cF;1a.5oG=a.1pk?a.1pk:"7r";1a.5oA=a.9Q?a.9Q:1F;1a.2IW=1F};u.1pm(u.8V.1D4,u.8V.19E);u.8V.1D4.3O2={9Q:1b(a,b,c){if(3===a){a={9K:[],2a:[],1jG:[]};1d d=c.1ez()+c.3h;c.2xp(u.8V.1D4.3O2.7r,a,d);a.1h=a.1jG.1h;a.1h&&(b[a.2i]=a)}},7r:1b(a,b,c){if(15===a)b.9G=c.1ez();1s if(1===a)b.2i=c.2IY();1s if(5===a)b.7l=c.1ez();1s if(2===a)b.1jG.1q(c.3h);1s if(3===a)b.9K.1q(c.2IY());1s if(4===a){a=1F;1j(1d d=c.1ez()+c.3h;c.3h<d;)a=c.1ez()>>3,a=1===a?c.2IY():2===a?c.3O6():3===a?c.3O5():4===a?c.4o3():5===a?c.1ez():6===a?c.2ei():7===a?c.3O4():1F;b.2a.1q(a)}},7n:1b(a,b,c){if(1==a)b.id=c.1ez();1s if(2==a)1j(a=c.1ez()+c.3h;c.3h<a;){1d d=b.7r.9K[c.1ez()],e=b.7r.2a[c.1ez()];b.5U[d]=e}1s 3==a?b.1I=c.1ez():4==a&&(b.3y=c.3h)}};u.8V.1D4.5oz=1b(a,b,c){a.3h=b.1jG[c];c=a.1ez()+a.3h;b={7r:b,1I:0,5U:{}};a.2xp(u.8V.1D4.3O2.7n,b,c);1f b};u.8V.1D4.5oF=1b(a,b,c,d){a.3h=b.3y;b=a.1ez()+a.3h;1j(1d e=1,f=0,g=0,k=0,m=0,n=0;a.3h<b;)f||(f=a.1ez(),e=f&7,f>>=3),f--,1===e||2===e?(g+=a.2ei(),k+=a.2ei(),1===e&&m>n&&(d.1q(m),n=m),c.1q(g,k),m+=2):7===e?m>n&&(c.1q(c[n],c[n+1]),m+=2):u.26y.1ZW(!1,59);m>n&&d.1q(m)};u.8V.1D4.5oE=1b(a,b){if(1===a)1d c=1===b?u.3u.19A.1Dz:u.3u.19A.2Iz;1s 2===a?c=1===b?u.3u.19A.1LV:u.3u.19A.2xb:3===a&&(c=u.3u.19A.1wO);1f c};u.8V.1D4.1i.5oy=1b(a,b,c){1d d=b.1I;if(0===d)1f 1F;1d e=b.id,f=b.5U;f[1a.5oG]=b.7r.2i;1d g=[];1d k=[];u.8V.1D4.5oF(a,b,g,k);a=u.8V.1D4.5oE(d,k.1h);if(a==u.3u.19A.1wO){a=[];1j(1d m=d=b=0,n=k.1h;m<n;++m){1d q=k[m];u.3u.8z.1AT.3lh(g,b,q,2)||(a.1q(k.4h(d,m+1)),d=m+1);b=q}1<a.1h?(k=a,a=1g u.3u.1dC(1F)):a=1g u.3u.14x(1F)}1s a=a===u.3u.19A.1Dz?1g u.3u.18H(1F):a===u.3u.19A.1LV?1g u.3u.1b1(1F):a===u.3u.19A.1wO?1g u.3u.14x(1F):a===u.3u.19A.2Iz?1g u.3u.1oj(1F):a===u.3u.19A.2xb?1g u.3u.1hi(1F):1F;a.1g0(u.3u.1m7.XY,g,k);g=1g 1a.5oD;1a.2eh&&g.4o2(1a.2eh);c=u.8V.19E.5oC(a,!1,1a.4o1(c));g.30X(c);g.5oB(e);g.3O3(f);1f g};u.8V.1D4.1i.2IX=1b(a,b){1d c=1a.5oA;a=1g sf(a);1d d=a.2xp(u.8V.1D4.3O2.9Q,{}),e=[],f;1j(f in d)if(!c||-1!=c.3f(f)){if(1p 0!==b){1d g=b.312;if(1p 0!==g&&1p 0===g[f])1aJ}g=d[f];1j(1d k,m=0,n=g.1h;m<n;++m)k=u.8V.1D4.5oz(a,g,m),e.1q(1a.5oy(a,k));1a.2IW=g?[0,0,g.7l,g.7l]:1F}1f e};u.2r={};u.2r.2eg=1b(){1a.2xo={};1a.3lg=0;1a.4o0=32};u.2r.2eg.2IV=1b(a,b,c){c=c?u.1A.2IA(c):"1F";1f b+":"+a+":"+c};u.2r.2eg.1i.9P=1b(){1a.2xo={};1a.3lg=0};u.2r.2eg.1i.4nZ=1b(){if(1a.3lg>1a.4o0){1d a=0,b;1j(b in 1a.2xo){1d c=1a.2xo[b];0!==(a++&3)||c.5ox()||(4Y 1a.2xo[b],--1a.3lg)}}};u.2r.2eg.1i.1n=1b(a,b,c){a=u.2r.2eg.2IV(a,b,c);1f a in 1a.2xo?1a.2xo[a]:1F};u.2r.2eg.1i.1C=1b(a,b,c,d){a=u.2r.2eg.2IV(a,b,c);1a.2xo[a]=d;++1a.3lg};u.2r.2eg.1i.7cE=1b(a){1a.4o0=a;1a.4nZ()};u.2r.5on=1g u.2r.2eg;u.2r.1ar=1b(a){1a.2eb=a.7z;1a.1ZV=a.26z;1a.1TD=a.5S;1a.1TC=a.3b;1a.2ea=a.1ZY};u.2r.1ar.1i.3kP=1b(){1f 1a.2eb};u.2r.1ar.1i.2Iq=1b(){1f 1a.1ZV};u.2r.1ar.1i.1nf=1b(){1f 1a.1TD};u.2r.1ar.1i.1sj=1b(){1f 1a.1TC};u.2r.1ar.1i.3kO=1b(){1f 1a.2ea};u.2r.1ar.1i.3NB=1b(){};u.2r.1ar.1i.1tw=1b(a){};u.2r.1ar.1i.30I=1b(a){};u.2r.1ar.1i.2m2=1b(){};u.2r.1ar.1i.3l5=1b(){};u.2r.1ar.1i.4nI=1b(){};u.2r.1ar.1i.3NA=1b(){};u.2r.1ar.1i.26w=1b(){};u.2r.1ar.1i.3O1=1b(a){1a.2eb=a};u.2r.1ar.1i.7cD=1b(a){1a.1ZV=a};u.2r.1ar.1i.4nA=1b(a){1a.1TD=a};u.2r.1ar.1i.2m8=1b(a){1a.1TC=a};u.2r.1ar.1i.7cC=1b(a){1a.2ea=a};u.2r.1ar.1i.3N7=1b(a,b){};u.2r.1ar.1i.1e4=1b(){};u.2r.1ar.1i.3N9=1b(a,b){};u.2r.1nj=1b(a){1a.30Z=1a.1TI=1a.2ee=1F;1a.1wS=1p 0!==a.4K?a.4K:1F;1a.2IL=[0,0];1a.2xm=a.5I;1a.1Je=1p 0!==a.3L?a.3L:a.7cB;1a.2ef=a.5ow;1a.2xn=1p 0!==a.8f?a.8f:0;1a.1yE=1p 0!==a.15n?a.15n:1F;1a.3lf=1a.4nW=1a.1Jd=1a.2m9=1F;1a.3lc=a.3ld;1a.4nT(1a.3lc);u.2r.1ar.4G(1a,{7z:1,26z:1p 0!==a.26z?a.26z:!1,5S:1p 0!==a.5S?a.5S:0,3b:1,1ZY:1p 0!==a.1ZY?a.1ZY:!0})};u.1pm(u.2r.1nj,u.2r.1ar);u.2r.1nj.1i.1y=1b(){1d a=1g u.2r.1nj({4K:1a.1FV()?1a.1FV().1y():1p 0,5I:1a.4nY(),3L:1a.3le(),5ow:1a.5ou(),8f:1a.5ov(),1ZY:1a.3kO(),15n:1a.1wP()?1a.1wP().1y():1p 0,5S:1a.1nf(),26z:1a.2Iq(),3ld:1a.3lc});a.3O1(1a.3kP());a.2m8(1a.1sj());1f a};u.2r.1nj.1i.3NB=1b(){1f 1a.2m9};u.2r.1nj.1i.5ov=1b(){1f 1a.2xn};u.2r.1nj.1i.1FV=1b(){1f 1a.1wS};u.2r.1nj.1i.30I=1b(a){1f 1a.30Z};u.2r.1nj.1i.1tw=1b(a){1f 1a.1TI};u.2r.1nj.1i.3l5=1b(){1f 1a.4nW};u.2r.1nj.1i.4nI=1b(){1f 1a.3lf};u.2r.1nj.1i.2m2=1b(){1f u.1Pn.1e5};u.2r.1nj.1i.3NA=1b(){1f 1a.2IL};u.2r.1nj.1i.4nY=1b(){1f 1a.2xm};u.2r.1nj.1i.3le=1b(){1f 1a.1Je};u.2r.1nj.1i.5ou=1b(){1f 1a.2ef};u.2r.1nj.1i.26w=1b(){1f 1a.1Jd};u.2r.1nj.1i.1wP=1b(){1f 1a.1yE};u.2r.1nj.1i.3N7=1b(a,b){};u.2r.1nj.1i.1e4=1b(){};u.2r.1nj.1i.3N9=1b(a,b){};u.2r.1nj.1i.4nT=1b(a){1d b="",c="",d=0,e=1F,f=0,g=0;if(1a.1yE){1d k=1a.1yE.1eV();1F===k&&(k=u.3t.3M.3Nj);k=u.2e8.2Iv(k);g=1a.1yE.26u();1p 0===g&&(g=u.3t.3M.3Nl);e=1a.1yE.30E();f=1a.1yE.3kK();u.14d.3Nt||(e=1F,f=0);c=1a.1yE.3kH();1p 0===c&&(c=u.3t.3M.3Nm);b=1a.1yE.3kI();1p 0===b&&(b=u.3t.3M.3Nn);d=1a.1yE.3kJ();1p 0===d&&(d=u.3t.3M.3Nk)}1d m=2*(1a.1Je+g)+1;b={1ch:k,2IU:g,4V:m,1wR:b,1tx:e,1tz:f,1ty:c,1wQ:d};if(1p 0===a){1d n=u.1TA.2Ix(m,m);1a.1TI=n.3M;a=m=1a.1TI.1G;1a.4nV(b,n,0,0);1a.5ot(b)}1s m=1k.9p(m),(c=!1a.1wS)&&(n=1a.4nU.7X(1a,b)),d=1a.30Y(),n=a.add(d,m,m,1a.4nV.7X(1a,b),n),1a.1TI=n.4d,1a.2IL=[n.2k5,n.2tW],a=n.4d.1G,c?(1a.30Z=n.4nX,1a.3lf=[n.4nX.1G,n.4nX.1D]):(1a.30Z=1a.1TI,1a.3lf=[a,a]);1a.2m9=[m/2,m/2];1a.1Jd=[m,m];1a.4nW=[a,a]};u.2r.1nj.1i.4nV=1b(a,b,c,d){b.3kX(1,0,0,1,0,0);b.11v(c,d);b.1Ja();1d e=1a.2xm;if(12g===e)b.arc(a.4V/2,a.4V/2,1a.1Je,0,2*1k.PI,!0);1s{1d f=1p 0!==1a.2ef?1a.2ef:1a.1Je;f!==1a.1Je&&(e*=2);1j(c=0;c<=e;c++){d=2*c*1k.PI/e-1k.PI/2+1a.2xn;1d g=0===c%2?1a.1Je:f;b.1bT(a.4V/2+g*1k.3i(d),a.4V/2+g*1k.2T(d))}}1a.1wS&&(c=1a.1wS.1eV(),1F===c&&(c=u.3t.3M.2x8),b.15b=u.2e8.2Iv(c),b.4K());1a.1yE&&(b.1ch=a.1ch,b.11a=a.2IU,a.1tx&&(b.2m5(a.1tx),b.1tz=a.1tz),b.1wR=a.1wR,b.1ty=a.1ty,b.1wQ=a.1wQ,b.15n());b.26x()};u.2r.1nj.1i.5ot=1b(a){1a.3lf=[a.4V,a.4V];if(1a.1wS)1a.30Z=1a.1TI;1s{1d b=u.1TA.2Ix(a.4V,a.4V);1a.30Z=b.3M;1a.4nU(a,b,0,0)}};u.2r.1nj.1i.4nU=1b(a,b,c,d){b.3kX(1,0,0,1,0,0);b.11v(c,d);b.1Ja();c=1a.2xm;if(12g===c)b.arc(a.4V/2,a.4V/2,1a.1Je,0,2*1k.PI,!0);1s{d=1p 0!==1a.2ef?1a.2ef:1a.1Je;d!==1a.1Je&&(c*=2);1d e;1j(e=0;e<=c;e++){1d f=2*e*1k.PI/c-1k.PI/2+1a.2xn;1d g=0===e%2?1a.1Je:d;b.1bT(a.4V/2+g*1k.3i(f),a.4V/2+g*1k.2T(f))}}b.15b=u.3t.3M.2x8;b.4K();1a.1yE&&(b.1ch=a.1ch,b.11a=a.2IU,a.1tx&&(b.2m5(a.1tx),b.1tz=a.1tz),b.15n());b.26x()};u.2r.1nj.1i.30Y=1b(){1d a=1a.1yE?1a.1yE.30Y():"-",b=1a.1wS?1a.1wS.30Y():"-";1a.2ee&&a==1a.2ee[1]&&b==1a.2ee[2]&&1a.1Je==1a.2ee[3]&&1a.2ef==1a.2ee[4]&&1a.2xn==1a.2ee[5]&&1a.2xm==1a.2ee[6]||(1a.2ee=["r"+a+b+(1p 0!==1a.1Je?1a.1Je.5s():"-")+(1p 0!==1a.2ef?1a.2ef.5s():"-")+(1p 0!==1a.2xn?1a.2xn.5s():"-")+(1p 0!==1a.2xm?1a.2xm.5s():"-"),a,b,1a.1Je,1a.2ef,1a.2xn,1a.2xm]);1f 1a.2ee[0]};u.2r.1LU=1b(a){a=a||{};u.2r.1nj.4G(1a,{5I:12g,4K:a.4K,3L:a.3L,1ZY:a.1ZY,15n:a.15n,3ld:a.3ld})};u.1pm(u.2r.1LU,u.2r.1nj);u.2r.1LU.1i.1y=1b(){1d a=1g u.2r.1LU({4K:1a.1FV()?1a.1FV().1y():1p 0,15n:1a.1wP()?1a.1wP().1y():1p 0,3L:1a.3le(),1ZY:1a.3kO(),3ld:1a.3lc});a.3O1(1a.3kP());a.2m8(1a.1sj());1f a};u.2r.1LU.1i.7cA=1b(a){1a.1Je=a;1a.4nT(1a.3lc)};u.2r.1nh=1b(a){a=a||{};1a.1ni=1p 0!==a.1A?a.1A:1F;1a.1wW=1p 0};u.2r.1nh.1i.1y=1b(){1d a=1a.1eV();1f 1g u.2r.1nh({1A:a&&a.4h?a.4h():a||1p 0})};u.2r.1nh.1i.1eV=1b(){1f 1a.1ni};u.2r.1nh.1i.1yF=1b(a){1a.1ni=a;1a.1wW=1p 0};u.2r.1nh.1i.30Y=1b(){1p 0===1a.1wW&&(1a.1wW=1a.1ni 2m 5os||1a.1ni 2m 5or?u.2e5(1a.1ni).5s():"f"+(1a.1ni?u.1A.2IA(1a.1ni):"-"));1f 1a.1wW};u.2r.1m6=1b(a){a=a||{};1a.1ni=1p 0!==a.1A?a.1A:1F;1a.3lb=a.1wR;1a.3la=1p 0!==a.1tx?a.1tx:1F;1a.3l9=a.1tz;1a.3l8=a.1ty;1a.3l7=a.1wQ;1a.1ZU=a.1G;1a.1wW=1p 0};u.2r.1m6.1i.1y=1b(){1d a=1a.1eV();1f 1g u.2r.1m6({1A:a&&a.4h?a.4h():a||1p 0,1wR:1a.3kI(),1tx:1a.30E()?1a.30E().4h():1p 0,1tz:1a.3kK(),1ty:1a.3kH(),1wQ:1a.3kJ(),1G:1a.26u()})};u.2r.1m6.1i.1eV=1b(){1f 1a.1ni};u.2r.1m6.1i.3kI=1b(){1f 1a.3lb};u.2r.1m6.1i.30E=1b(){1f 1a.3la};u.2r.1m6.1i.3kK=1b(){1f 1a.3l9};u.2r.1m6.1i.3kH=1b(){1f 1a.3l8};u.2r.1m6.1i.3kJ=1b(){1f 1a.3l7};u.2r.1m6.1i.26u=1b(){1f 1a.1ZU};u.2r.1m6.1i.1yF=1b(a){1a.1ni=a;1a.1wW=1p 0};u.2r.1m6.1i.5oq=1b(a){1a.3lb=a;1a.1wW=1p 0};u.2r.1m6.1i.2m5=1b(a){1a.3la=a;1a.1wW=1p 0};u.2r.1m6.1i.7cz=1b(a){1a.3l9=a;1a.1wW=1p 0};u.2r.1m6.1i.5op=1b(a){1a.3l8=a;1a.1wW=1p 0};u.2r.1m6.1i.5oo=1b(a){1a.3l7=a;1a.1wW=1p 0};u.2r.1m6.1i.3O0=1b(a){1a.1ZU=a;1a.1wW=1p 0};u.2r.1m6.1i.30Y=1b(){1p 0===1a.1wW&&(1a.1wW="s",1a.1wW=1a.1ni?"4n"===2h 1a.1ni?1a.1wW+1a.1ni:1a.1wW+u.2e5(1a.1ni).5s():1a.1wW+"-",1a.1wW+=","+(1p 0!==1a.3lb?1a.3lb.5s():"-")+","+(1a.3la?1a.3la.5s():"-")+","+(1p 0!==1a.3l9?1a.3l9:"-")+","+(1p 0!==1a.3l8?1a.3l8:"-")+","+(1p 0!==1a.3l7?1a.3l7.5s():"-")+","+(1p 0!==1a.1ZU?1a.1ZU.5s():"-"));1f 1a.1wW};u.2r.2IR={2IQ:"2mc",7cy:"11n"};u.2r.1G1=1b(a,b,c,d,e,f){u.13U.1Pq.4G(1a);1a.2ec=1F;1a.1ok=a?a:1g 1ar;1F!==d&&(1a.1ok.2ma=d);1a.1TI=f?3n.4O("7cx"):1F;1a.1ni=f;1a.3NY=1F;1a.2IT=e;1a.1Jd=c;1a.4nQ=b;1a.3NZ=!1;1a.2IT==u.1Pn.1e5&&1a.4nS()};u.1pm(u.2r.1G1,u.13U.1Pq);u.2r.1G1.1n=1b(a,b,c,d,e,f){1d g=u.2r.5on,k=g.1n(b,d,f);k||(k=1g u.2r.1G1(a,b,c,d,e,f),g.1C(b,d,f,k));1f k};u.2r.1G1.1i.4nS=1b(){1d a=u.1TA.2Ix(1,1);10G{a.1DA(1a.1ok,0,0),a.1LW(0,0,1,1)}11B(b){1a.3NZ=!0}};u.2r.1G1.1i.4nR=1b(){1a.2wk(u.13U.2xi.3l1)};u.2r.1G1.1i.4nP=1b(){1a.2IT=u.1Pn.3kD;1a.4nO();1a.4nR()};u.2r.1G1.1i.5ol=1b(){1a.2IT=u.1Pn.1e5;1a.1Jd&&(1a.1ok.1G=1a.1Jd[0],1a.1ok.1D=1a.1Jd[1]);1a.1Jd=[1a.1ok.1G,1a.1ok.1D];1a.4nO();1a.4nS();1a.5ok();1a.4nR()};u.2r.1G1.1i.1tw=1b(a){1f 1a.1TI?1a.1TI:1a.1ok};u.2r.1G1.1i.2m2=1b(){1f 1a.2IT};u.2r.1G1.1i.30I=1b(a){if(!1a.2ec)if(1a.3NZ){a=1a.1Jd[0];1d b=1a.1Jd[1],c=u.1TA.2Ix(a,b);c.1ZB(0,0,a,b);1a.2ec=c.3M}1s 1a.2ec=1a.1ok;1f 1a.2ec};u.2r.1G1.1i.26w=1b(){1f 1a.1Jd};u.2r.1G1.1i.3NT=1b(){1f 1a.4nQ};u.2r.1G1.1i.1e4=1b(){if(1a.2IT==u.1Pn.3N8){1a.2IT=u.1Pn.1gu;1a.3NY=[u.13U.3l6(1a.1ok,u.13U.2xi.3kD,1a.4nP,1a),u.13U.3l6(1a.1ok,u.13U.2xi.5om,1a.5ol,1a)];10G{1a.1ok.1bv=1a.4nQ}11B(a){1a.4nP()}}};u.2r.1G1.1i.5ok=1b(){if(!1a.3NZ&&1F!==1a.1ni){1a.1TI.1G=1a.1ok.1G;1a.1TI.1D=1a.1ok.1D;1d a=1a.1TI.1ft("2d");a.1DA(1a.1ok,0,0);1j(1d b=a.1LW(0,0,1a.1ok.1G,1a.1ok.1D),c=b.2g,d=1a.1ni[0]/255,e=1a.1ni[1]/255,f=1a.1ni[2]/255,g=0,k=c.1h;g<k;g+=4)c[g]*=d,c[g+1]*=e,c[g+2]*=f;a.2mb(b,0,0)}};u.2r.1G1.1i.4nO=1b(){1a.3NY.12I(u.13U.2IS);1a.3NY=1F};u.2r.1TH={3l3:"7b-3B",2IM:"7b-2W",2IO:"5C-3B",3l4:"5C-2W"};u.2r.1pq=1b(a){a=a||{};1a.2m9=1p 0!==a.1cs?a.1cs:[.5,.5];1a.3NU=1F;1a.2IP=1p 0!==a.3NX?a.3NX:u.2r.1TH.2IO;1a.3NW=1p 0!==a.4nM?a.4nM:u.2r.2IR.2IQ;1a.3NV=1p 0!==a.4nL?a.4nL:u.2r.2IR.2IQ;1a.4nK=1p 0!==a.2ma?a.2ma:1F;1d b=1p 0!==a.1kp?a.1kp:1F,c=1p 0!==a.4nN?a.4nN:1F,d=a.1bv;1p 0!==d&&0!==d.1h||!b||(d=b.1bv||u.2e5(b).5s());1d e=1p 0!==a.1bv?u.1Pn.3N8:u.1Pn.1e5;1a.1ni=1p 0!==a.1A?u.1A.5oj(a.1A):1F;1a.26A=u.2r.1G1.1n(b,d,c,1a.4nK,e,1a.1ni);1a.4nH=1p 0!==a.2M?a.2M:[0,0];1a.2IN=1p 0!==a.4nJ?a.4nJ:u.2r.1TH.2IO;1a.2IL=1F;1a.1Jd=1p 0!==a.4V?a.4V:1F;u.2r.1ar.4G(1a,{7z:1p 0!==a.7z?a.7z:1,5S:1p 0!==a.5S?a.5S:0,3b:1p 0!==a.3b?a.3b:1,1ZY:1p 0!==a.1ZY?a.1ZY:!0,26z:1p 0!==a.26z?a.26z:!1})};u.1pm(u.2r.1pq,u.2r.1ar);u.2r.1pq.1i.1y=1b(){1f 1g u.2r.1pq({1cs:1a.2m9.4h(),3NX:1a.2IP,4nM:1a.3NW,4nL:1a.3NV,2ma:1a.4nK,1A:1a.1ni&&1a.1ni.4h?1a.1ni.4h():1a.1ni||1p 0,1bv:1a.3NT(),2M:1a.4nH.4h(),4nJ:1a.2IN,4V:1F!==1a.1Jd?1a.1Jd.4h():1p 0,7z:1a.3kP(),3b:1a.1sj(),1ZY:1a.3kO(),5S:1a.1nf(),26z:1a.2Iq()})};u.2r.1pq.1i.3NB=1b(){if(1a.3NU)1f 1a.3NU;1d a=1a.2m9,b=1a.26w();if(1a.3NW==u.2r.2IR.2IQ||1a.3NV==u.2r.2IR.2IQ){if(!b)1f 1F;a=1a.2m9.4h();1a.3NW==u.2r.2IR.2IQ&&(a[0]*=b[0]);1a.3NV==u.2r.2IR.2IQ&&(a[1]*=b[1])}if(1a.2IP!=u.2r.1TH.2IO){if(!b)1f 1F;a===1a.2m9&&(a=1a.2m9.4h());if(1a.2IP==u.2r.1TH.3l4||1a.2IP==u.2r.1TH.2IM)a[0]=-a[0]+b[0];if(1a.2IP==u.2r.1TH.3l3||1a.2IP==u.2r.1TH.2IM)a[1]=-a[1]+b[1]}1f 1a.3NU=a};u.2r.1pq.1i.1eV=1b(){1f 1a.1ni};u.2r.1pq.1i.1tw=1b(a){1f 1a.26A.1tw(a)};u.2r.1pq.1i.3l5=1b(){1f 1a.26A.26w()};u.2r.1pq.1i.4nI=1b(){1f 1a.3l5()};u.2r.1pq.1i.2m2=1b(){1f 1a.26A.2m2()};u.2r.1pq.1i.30I=1b(a){1f 1a.26A.30I(a)};u.2r.1pq.1i.3NA=1b(){if(1a.2IL)1f 1a.2IL;1d a=1a.4nH;if(1a.2IN!=u.2r.1TH.2IO){1d b=1a.26w(),c=1a.26A.26w();if(!b||!c)1f 1F;a=a.4h();if(1a.2IN==u.2r.1TH.3l4||1a.2IN==u.2r.1TH.2IM)a[0]=c[0]-b[0]-a[0];if(1a.2IN==u.2r.1TH.3l3||1a.2IN==u.2r.1TH.2IM)a[1]=c[1]-b[1]-a[1]}1f 1a.2IL=a};u.2r.1pq.1i.3NT=1b(){1f 1a.26A.3NT()};u.2r.1pq.1i.26w=1b(){1f 1a.1Jd?1a.1Jd:1a.26A.26w()};u.2r.1pq.1i.3N7=1b(a,b){1f u.13U.2IK(1a.26A,u.13U.2xi.3l1,a,b)};u.2r.1pq.1i.1e4=1b(){1a.26A.1e4()};u.2r.1pq.1i.3N9=1b(a,b){u.13U.3l2(1a.26A,u.13U.2xi.3l1,a,b)};u.2r.198=1b(a){a=a||{};1a.4nF=a.9O;1a.1TD=a.5S;1a.1ZV=a.26z;1a.1TC=a.3b;1a.1ZR=a.3l;1a.4ny=a.1qy;1a.4nx=a.1v2;1a.1wS=1p 0!==a.4K?a.4K:1g u.2r.1nh({1A:u.2r.198.5oi});1a.4nE=1p 0!==a.2Iu?a.2Iu:1k.PI/4;1a.4nB=1p 0!==a.1fJ?a.1fJ:u.2r.4n9.1Dz;1d b=1p 0===a.1Tn?a.7cw:a.1Tn;1a.4nG=1p 0!==b?b:!1;1a.1yE=1p 0!==a.15n?a.15n:1F;1a.4nD=1p 0!==a.2k5?a.2k5:0;1a.4nC=1p 0!==a.2tW?a.2tW:0;1a.4nw=a.2It?a.2It:1F;1a.4nv=a.2Is?a.2Is:1F;1a.4nu=1p 0===a.1fT?1F:a.1fT};u.2r.198.5oi="#333";u.2r.198.1i.1y=1b(){1f 1g u.2r.198({9O:1a.3kG(),1fJ:1a.4mX(),2Iu:1a.4mY(),1Tn:1a.4mZ(),5S:1a.1nf(),26z:1a.2Iq(),3b:1a.1sj(),3l:1a.1FU(),1qy:1a.3Ni(),1v2:1a.4mW(),4K:1a.1FV()?1a.1FV().1y():1p 0,15n:1a.1wP()?1a.1wP().1y():1p 0,2k5:1a.4mV(),2tW:1a.4mU()})};u.2r.198.1i.4mZ=1b(){1f 1a.4nG};u.2r.198.1i.3kG=1b(){1f 1a.4nF};u.2r.198.1i.4mY=1b(){1f 1a.4nE};u.2r.198.1i.4mX=1b(){1f 1a.4nB};u.2r.198.1i.4mV=1b(){1f 1a.4nD};u.2r.198.1i.4mU=1b(){1f 1a.4nC};u.2r.198.1i.1FV=1b(){1f 1a.1wS};u.2r.198.1i.2Iq=1b(){1f 1a.1ZV};u.2r.198.1i.1nf=1b(){1f 1a.1TD};u.2r.198.1i.1sj=1b(){1f 1a.1TC};u.2r.198.1i.1wP=1b(){1f 1a.1yE};u.2r.198.1i.1FU=1b(){1f 1a.1ZR};u.2r.198.1i.3Ni=1b(){1f 1a.4ny};u.2r.198.1i.4mW=1b(){1f 1a.4nx};u.2r.198.1i.5nC=1b(){1f 1a.4nw};u.2r.198.1i.5nB=1b(){1f 1a.4nv};u.2r.198.1i.5nA=1b(){1f 1a.4nu};u.2r.198.1i.7cv=1b(a){1a.4nG=a};u.2r.198.1i.5oh=1b(a){1a.4nF=a};u.2r.198.1i.7cu=1b(a){1a.4nE=a};u.2r.198.1i.5og=1b(a){1a.4nD=a};u.2r.198.1i.5of=1b(a){1a.4nC=a};u.2r.198.1i.5oe=1b(a){1a.4nB=a};u.2r.198.1i.3NS=1b(a){1a.1wS=a};u.2r.198.1i.4nA=1b(a){1a.1TD=a};u.2r.198.1i.2m8=1b(a){1a.1TC=a};u.2r.198.1i.2IJ=1b(a){1a.1yE=a};u.2r.198.1i.3NR=1b(a){1a.1ZR=a};u.2r.198.1i.4nz=1b(a){1a.4ny=a};u.2r.198.1i.5od=1b(a){1a.4nx=a};u.2r.198.1i.7ct=1b(a){1a.4nw=a};u.2r.198.1i.7cs=1b(a){1a.4nv=a};u.2r.198.1i.7cr=1b(a){1a.4nu=a};u.2r.18O=1b(a){a=a||{};1a.4ns=1F;1a.30W=u.2r.18O.4nq;1p 0!==a.3y&&1a.30X(a.3y);1a.1wS=1p 0!==a.4K?a.4K:1F;1a.1ok=1p 0!==a.4d?a.4d:1F;1a.4nt=1p 0!==a.1fs?a.1fs:1F;1a.1yE=1p 0!==a.15n?a.15n:1F;1a.1ZR=1p 0!==a.3l?a.3l:1F;1a.4nr=a.13G};u.2r.18O.1i.1y=1b(){1d a=1a.1TE();a&&a.1y&&(a=a.1y());1f 1g u.2r.18O({3y:a,4K:1a.1FV()?1a.1FV().1y():1p 0,4d:1a.1tw()?1a.1tw().1y():1p 0,15n:1a.1wP()?1a.1wP().1y():1p 0,3l:1a.1FU()?1a.1FU().1y():1p 0,13G:1a.1AP()})};u.2r.18O.1i.4mL=1b(){1f 1a.4nt};u.2r.18O.1i.7cq=1b(a){1a.4nt=a};u.2r.18O.1i.1TE=1b(){1f 1a.4ns};u.2r.18O.1i.5nn=1b(){1f 1a.30W};u.2r.18O.1i.1FV=1b(){1f 1a.1wS};u.2r.18O.1i.3NS=1b(a){1a.1wS=a};u.2r.18O.1i.1tw=1b(){1f 1a.1ok};u.2r.18O.1i.1ZX=1b(a){1a.1ok=a};u.2r.18O.1i.1wP=1b(){1f 1a.1yE};u.2r.18O.1i.2IJ=1b(a){1a.1yE=a};u.2r.18O.1i.1FU=1b(){1f 1a.1ZR};u.2r.18O.1i.3NR=1b(a){1a.1ZR=a};u.2r.18O.1i.1AP=1b(){1f 1a.4nr};u.2r.18O.1i.30X=1b(a){"1b"===2h a?1a.30W=a:"4n"===2h a?1a.30W=1b(b){1f b.1n(a)}:a?1p 0!==a&&(1a.30W=1b(){1f a}):1a.30W=u.2r.18O.4nq;1a.4ns=a};u.2r.18O.1i.30V=1b(a){1a.4nr=a};u.2r.18O.7cp=1b(a){if("1b"!==2h a){if(2K.8n(a))1d b=a;1s u.26y.1ZW(a 2m u.2r.18O,41),b=[a];a=1b(){1f b}}1f a};u.2r.18O.3NQ=1F;u.2r.18O.7co=1b(a,b){u.2r.18O.3NQ||(a=1g u.2r.1nh({1A:"15A(255,255,255,0.4)"}),b=1g u.2r.1m6({1A:"#7cn",1G:1.25}),u.2r.18O.3NQ=[1g u.2r.18O({4d:1g u.2r.1LU({4K:a,15n:b,3L:5}),4K:a,15n:b})]);1f u.2r.18O.3NQ};u.2r.18O.7cm=1b(){1d a={},b=[255,255,255,1],c=[0,153,255,1];a[u.3u.19A.1wO]=[1g u.2r.18O({4K:1g u.2r.1nh({1A:[255,255,255,.5]})})];a[u.3u.19A.30F]=a[u.3u.19A.1wO];a[u.3u.19A.1LV]=[1g u.2r.18O({15n:1g u.2r.1m6({1A:b,1G:5})}),1g u.2r.18O({15n:1g u.2r.1m6({1A:c,1G:3})})];a[u.3u.19A.2xb]=a[u.3u.19A.1LV];a[u.3u.19A.1Oo]=a[u.3u.19A.1wO].9V(a[u.3u.19A.1LV]);a[u.3u.19A.1Dz]=[1g u.2r.18O({4d:1g u.2r.1LU({3L:6,4K:1g u.2r.1nh({1A:c}),15n:1g u.2r.1m6({1A:b,1G:1.5})}),13G:12g})];a[u.3u.19A.2Iz]=a[u.3u.19A.1Dz];a[u.3u.19A.4mO]=a[u.3u.19A.1wO].9V(a[u.3u.19A.1LV],a[u.3u.19A.1Dz]);1f a};u.2r.18O.4nq=1b(a){1f a.1TE()};u.1wV={};u.1wV.2sc=1b(){};(1b(){(1b(a){1b b(a,b,d,f,g){c(a,b,d||0,f||a.1h-1,g||e)}1b c(a,b,e,f,g){1j(;f>e;){if(600<f-e){1d h=f-e+1,k=b-e+1,l=1k.7k(h),m=.5*1k.108(2*l/3);l=.5*1k.3Y(l*m*(h-m)/h)*(0>k-h/2?-1:1);c(a,b,1k.1V(e,1k.2t(b-k*m/h+l)),1k.2o(f,1k.2t(b+(h-k)*m/h+l)),g)}h=a[b];k=e;m=f;d(a,e,b);1j(0<g(a[f],h)&&d(a,e,f);k<m;){d(a,k,m);k++;1j(m--;0>g(a[k],h);)k++;1j(;0<g(a[m],h);)m--}0===g(a[e],h)?d(a,e,m):(m++,d(a,m,f));m<=b&&(e=m+1);b<=m&&(f=m-1)}}1b d(a,b,c){1d d=a[b];a[b]=a[c];a[c]=d}1b e(a,b){1f a<b?-1:a>b?1:0}1b f(a,b){if(!(1a 2m f))1f 1g f(a,b);1a.2xl=1k.1V(4,a||9);1a.30R=1k.1V(2,1k.8a(.4*1a.2xl));b&&1a.3NJ(b);1a.9P()}1b g(a,b){k(a,0,a.9d.1h,b,a)}1b k(a,b,c,d,e){e||(e=y(1F));e.1cW=12g;e.1cV=12g;e.1ey=-12g;e.1ex=-12g;1j(1d f;b<c;b++)f=a.9d[b],m(e,a.1hj?d(f):f);1f e}1b m(a,b){a.1cW=1k.2o(a.1cW,b.1cW);a.1cV=1k.2o(a.1cV,b.1cV);a.1ey=1k.1V(a.1ey,b.1ey);a.1ex=1k.1V(a.1ex,b.1ex);1f a}1b n(a,b){1f a.1cW-b.1cW}1b q(a,b){1f a.1cV-b.1cV}1b r(a){1f(a.1ey-a.1cW)*(a.1ex-a.1cV)}1b u(a){1f a.1ey-a.1cW+(a.1ex-a.1cV)}1b v(a,b){1f a.1cW<=b.1cW&&a.1cV<=b.1cV&&b.1ey<=a.1ey&&b.1ex<=a.1ex}1b t(a,b){1f b.1cW<=a.1ey&&b.1cV<=a.1ex&&b.1ey>=a.1cW&&b.1ex>=a.1cV}1b y(a){1f{9d:a,1D:1,1hj:!0,1cW:12g,1cV:12g,1ey:-12g,1ex:-12g}}1b A(a,b,c,d,e){1j(1d f=[b,c],g;f.1h;)c=f.9l(),b=f.9l(),c-b<=d||(g=b+1k.8a((c-b)/d/2)*d,B(a,g,b,c,e),f.1q(b,g,g,c))}1d B=b;B.4T=b;f.1i={all:1b(){1f 1a.30U(1a.2g,[])},1qs:1b(a){1d b=1a.2g,c=[],d=1a.1lj;if(!t(a,b))1f c;1j(1d e=[],f,g,h,k;b;){f=0;1j(g=b.9d.1h;f<g;f++)h=b.9d[f],k=b.1hj?d(h):h,t(a,k)&&(b.1hj?c.1q(h):v(a,k)?1a.30U(h,c):e.1q(h));b=e.9l()}1f c},30M:1b(a){1d b=1a.2g,c=1a.1lj;if(!t(a,b))1f!1;1j(1d d=[],e,f,g,h;b;){e=0;1j(f=b.9d.1h;e<f;e++)if(g=b.9d[e],h=b.1hj?c(g):g,t(a,h)){if(b.1hj||v(a,h))1f!0;d.1q(g)}b=d.9l()}1f!1},1e4:1b(a){if(!a||!a.1h)1f 1a;if(a.1h<1a.30R){1j(1d b=0,c=a.1h;b<c;b++)1a.1v1(a[b]);1f 1a}a=1a.30T(a.4h(),0,a.1h-1,0);1a.2g.9d.1h?1a.2g.1D===a.1D?1a.30Q(1a.2g,a):(1a.2g.1D<a.1D&&(b=1a.2g,1a.2g=a,a=b),1a.30S(a,1a.2g.1D-a.1D-1,!0)):1a.2g=a;1f 1a},1v1:1b(a){a&&1a.30S(a,1a.2g.1D-1);1f 1a},9P:1b(){1a.2g=y([]);1f 1a},3S:1b(a,b){if(!a)1f 1a;1j(1d c=1a.2g,d=1a.1lj(a),e=[],f=[],g,h,k,l;c||e.1h;){c||(c=e.9l(),h=e[e.1h-1],g=f.9l(),l=!0);if(c.1hj){a:{k=a;1d m=c.9d,n=b;if(n){1j(1d p=0;p<m.1h;p++)if(n(k,m[p])){k=p;1W a}k=-1}1s k=m.3f(k)}if(-1!==k){c.9d.6z(k,1);e.1q(c);1a.3NK(e);1W}}l||c.1hj||!v(c,d)?h?(g++,c=h.9d[g],l=!1):c=1F:(e.1q(c),f.1q(g),g=0,h=c,c=c.9d[0])}1f 1a},1lj:1b(a){1f a},2xk:n,2xj:q,1n4:1b(){1f 1a.2g},3MC:1b(a){1a.2g=a;1f 1a},30U:1b(a,b){1j(1d c=[];a;)a.1hj?b.1q.6c(b,a.9d):c.1q.6c(c,a.9d),a=c.9l();1f b},30T:1b(a,b,c,d){1d e=c-b+1,f=1a.2xl;if(e<=f){1d h=y(a.4h(b,c+1));g(h,1a.1lj);1f h}d||(d=1k.8a(1k.7k(e)/1k.7k(f)),f=1k.8a(e/1k.3r(f,d-1)));h=y([]);h.1hj=!1;h.1D=d;e=1k.8a(e/f);f=e*1k.8a(1k.3Y(f));1d k;1j(A(a,b,c,f,1a.2xk);b<=c;b+=f){1d l=1k.2o(b+f-1,c);A(a,b,l,e,1a.2xj);1j(k=b;k<=l;k+=e){1d m=1k.2o(k+e-1,l);h.9d.1q(1a.30T(a,k,m,d-1))}}g(h,1a.1lj);1f h},3NP:1b(a,b,c,d){1j(1d e,f,g,h,k,l,m,n;;){d.1q(b);if(b.1hj||d.1h-1===c)1W;m=n=12g;e=0;1j(f=b.9d.1h;e<f;e++)g=b.9d[e],k=r(g),l=(1k.1V(g.1ey,a.1ey)-1k.2o(g.1cW,a.1cW))*(1k.1V(g.1ex,a.1ex)-1k.2o(g.1cV,a.1cV))-k,l<n?(n=l,m=k<m?k:m,h=g):l===n&&k<m&&(m=k,h=g);b=h||b.9d[0]}1f b},30S:1b(a,b,c){1d d=1a.1lj;c=c?a:d(a);d=[];1d e=1a.3NP(c,1a.2g,b,d);e.9d.1q(a);1j(m(e,c);0<=b;)if(d[b].9d.1h>1a.2xl)1a.3NO(d,b),b--;1s 1W;1a.3NL(c,d,b)},3NO:1b(a,b){1d c=a[b],d=c.9d.1h,e=1a.30R;1a.3NM(c,e,d);d=1a.3NN(c,e,d);d=y(c.9d.6z(d,c.9d.1h-d));d.1D=c.1D;d.1hj=c.1hj;g(c,1a.1lj);g(d,1a.1lj);b?a[b-1].9d.1q(d):1a.30Q(c,d)},30Q:1b(a,b){1a.2g=y([a,b]);1a.2g.1D=a.1D+1;1a.2g.1hj=!1;g(1a.2g,1a.1lj)},3NN:1b(a,b,c){1d d,e;1d f=e=12g;1j(d=b;d<=c-b;d++){1d g=k(a,0,d,1a.1lj);1d h=k(a,d,c,1a.1lj);1d l=1k.1V(0,1k.2o(g.1ey,h.1ey)-1k.1V(g.1cW,h.1cW))*1k.1V(0,1k.2o(g.1ex,h.1ex)-1k.1V(g.1cV,h.1cV));g=r(g)+r(h);if(l<f){f=l;1d m=d;e=g<e?g:e}1s l===f&&g<e&&(e=g,m=d)}1f m},3NM:1b(a,b,c){1d d=a.1hj?1a.2xk:n,e=a.1hj?1a.2xj:q,f=1a.30P(a,b,c,d);b=1a.30P(a,b,c,e);f<b&&a.9d.15F(d)},30P:1b(a,b,c,d){a.9d.15F(d);d=1a.1lj;1d e=k(a,0,b,d),f=k(a,c-b,c,d),g=u(e)+u(f),h;1j(h=b;h<c-b;h++){1d l=a.9d[h];m(e,a.1hj?d(l):l);g+=u(e)}1j(h=c-b-1;h>=b;h--)l=a.9d[h],m(f,a.1hj?d(l):l),g+=u(f);1f g},3NL:1b(a,b,c){1j(;0<=c;c--)m(b[c],a)},3NK:1b(a){1j(1d b=a.1h-1,c;0<=b;b--)0===a[b].9d.1h?0<b?(c=a[b-1].9d,c.6z(c.3f(a[b]),1)):1a.9P():g(a[b],1a.1lj)},3NJ:1b(a){1d b=["1f a"," - b",";"];1a.2xk=1g 1wM("a","b",b.14G(a[0]));1a.2xj=1g 1wM("a","b",b.14G(a[1]));1a.1lj=1g 1wM("a","1f {1cW: a"+a[0]+", 1cV: a"+a[1]+", 1ey: a"+a[2]+", 1ex: a"+a[3]+"};")}};a["4T"]=f})(1a.2sc=1a.2sc||{})}).4G(u.1wV);u.1wV.2sc=u.1wV.2sc.4T;u.3t={};u.3t.1AR=1b(){};u.3t.1AR.1i.4mM=1b(a,b,c){};u.3t.1AR.1i.7cl=1b(a){};u.3t.1AR.1i.3l0=1b(a){};u.3t.1AR.1i.4mP=1b(a,b){};u.3t.1AR.1i.7ck=1b(a,b){};u.3t.1AR.1i.7cj=1b(a,b){};u.3t.1AR.1i.4mK=1b(a,b){};u.3t.1AR.1i.4mJ=1b(a,b){};u.3t.1AR.1i.4mG=1b(a,b){};u.3t.1AR.1i.4mI=1b(a,b){};u.3t.1AR.1i.4mH=1b(a,b){};u.3t.1AR.1i.2x0=1b(a,b){};u.3t.1AR.1i.1ZP=1b(a,b){};u.3t.1AR.1i.2x1=1b(a,b){};u.3t.1AR.1i.3N5=1b(a,b){};u.3t.1AR.1i.2m1=1b(a,b){};u.3t.1f3={};u.3t.1f3=1b(){};u.3t.1f3.1i.1FT=1b(a,b){};u.3t.1f3.1i.1kn=1b(){};u.3t.1nd={1Oo:"1LU",1yD:"2lJ",2Ip:"1ar",1LV:"1b1",1wO:"14x",1ZQ:"198"};u.3u.8z.1h={};u.3u.8z.1h.1ZS=1b(a,b,c,d){1d e=a[b],f=a[b+1],g=0;1j(b+=d;b<c;b+=d){1d k=a[b],m=a[b+1];g+=1k.3Y((k-e)*(k-e)+(m-f)*(m-f));e=k;f=m}1f g};u.3u.8z.1h.7ci=1b(a,b,c,d){1d e=u.3u.8z.1h.1ZS(a,b,c,d),f=a[c-d]-a[b];a=a[c-d+1]-a[b+1];1f e+=1k.3Y(f*f+a*a)};u.3u.8z.3NE={};u.3u.8z.3NE.1ZS=1b(a,b,c,d,e,f,g,k){1d h=[],l=a[b]>a[c-d],m=e.1h,q=a[b],r=a[b+1];b+=d;1j(1d v=a[b],t=a[b+1],y=0,A=1k.3Y(1k.3r(v-q,2)+1k.3r(t-r,2)),B="",C=0,E,F,H,I=0;I<m;++I){F=l?m-I-1:I;F=e.1as(F);B=l?F+B:B+F;1d J=f(B)-C;C+=J;1j(1d L=g+J/2;b<c-d&&y+A<L;)q=v,r=t,b+=d,v=a[b],t=a[b+1],y+=A,A=1k.3Y(1k.3r(v-q,2)+1k.3r(t-r,2));1d M=L-y;L=1k.12B(t-r,v-q);l&&(L+=0<L?-1k.PI:1k.PI);if(1p 0!==H){1d N=L-H;N+=N>1k.PI?-2*1k.PI:N<-1k.PI?2*1k.PI:0;if(1k.abs(N)>k)1f 1F}N=M/A;M=u.1pp.11x(q,v,N);N=u.1pp.11x(r,t,N);H==L?(l&&(E[0]=M,E[1]=N,E[2]=J/2),E[4]=B):(B=F,C=J,E=[M,N,J/2,L,B],l?h.1po(E):h.1q(E),H=L);g+=J}1f h};u.1wU.1AS=1b(a){u.13U.1Pq.4G(1a);1a.5oc=1p 0!==a?a:1tA;1a.2xh=0;1a.2ed={};1a.1FZ=1a.1Jb=1F};u.1pm(u.1wU.1AS,u.13U.1Pq);u.1wU.1AS.1i.5o7=1b(){1f 1a.5oa()>1a.5oc};u.1wU.1AS.1i.9P=1b(){1a.2xh=0;1a.2ed={};1a.1FZ=1a.1Jb=1F;1a.2wk(u.13U.2xi.5ob)};u.1wU.1AS.1i.5nK=1b(a){1f 1a.2ed.3p(a)};u.1wU.1AS.1i.12I=1b(a,b){1j(1d c=1a.1Jb;c;)a.4G(b,c.2m7,c.30O,1a),c=c.1G0};u.1wU.1AS.1i.1n=1b(a){a=1a.2ed[a];u.26y.1ZW(1p 0!==a,15);if(a===1a.1FZ)1f a.2m7;a===1a.1Jb?(1a.1Jb=1a.1Jb.1G0,1a.1Jb.1Jc=1F):(a.1G0.1Jc=a.1Jc,a.1Jc.1G0=a.1G0);a.1G0=1F;a.1Jc=1a.1FZ;1a.1FZ=1a.1FZ.1G0=a;1f a.2m7};u.1wU.1AS.1i.3S=1b(a){1d b=1a.2ed[a];u.26y.1ZW(1p 0!==b,15);if(b===1a.1FZ){if(1a.1FZ=b.1Jc)1a.1FZ.1G0=1F}1s if(b===1a.1Jb){if(1a.1Jb=b.1G0)1a.1Jb.1Jc=1F}1s b.1G0.1Jc=b.1Jc,b.1Jc.1G0=b.1G0;4Y 1a.2ed[a];--1a.2xh;1f b.2m7};u.1wU.1AS.1i.5oa=1b(){1f 1a.2xh};u.1wU.1AS.1i.5o9=1b(){1d a=2K(1a.2xh),b=0,c;1j(c=1a.1FZ;c;c=c.1Jc)a[b++]=c.30O;1f a};u.1wU.1AS.1i.5o8=1b(){1d a=2K(1a.2xh),b=0,c;1j(c=1a.1FZ;c;c=c.1Jc)a[b++]=c.2m7;1f a};u.1wU.1AS.1i.7ch=1b(){1f 1a.1Jb.2m7};u.1wU.1AS.1i.7cg=1b(){1f 1a.1Jb.30O};u.1wU.1AS.1i.7cf=1b(){1f 1a.1FZ.30O};u.1wU.1AS.1i.9l=1b(){1d a=1a.1Jb;4Y 1a.2ed[a.30O];a.1G0&&(a.1G0.1Jc=1F);1a.1Jb=a.1G0;1a.1Jb||(1a.1FZ=1F);--1a.2xh;1f a.2m7};u.1wU.1AS.1i.3X=1b(a,b){1a.1n(a);1a.2ed[a].2m7=b};u.1wU.1AS.1i.1C=1b(a,b){u.26y.1ZW(!(a in 1a.2ed),16);b={30O:a,1G0:1F,1Jc:1a.1FZ,2m7:b};1a.1FZ?1a.1FZ.1G0=b:1a.1Jb=b;1a.1FZ=b;1a.2ed[a]=b;++1a.2xh};u.1wU.1AS.1i.5nN=1b(){1j(;1a.5o7();)1a.9l()};u.3t.3M={};u.3t.3M.5nE="4np 1TG-1TF";u.3t.3M.2x8=[0,0,0,1];u.3t.3M.3Nn="9p";u.3t.3M.4n1=[];u.3t.3M.4n0=0;u.3t.3M.3Nm="9p";u.3t.3M.3Nk=10;u.3t.3M.3Nj=[0,0,0,1];u.3t.3M.3Nr="2V";u.3t.3M.5nD="1y1";u.3t.3M.2Ir=[0,0,0,0];u.3t.3M.3Nl=1;u.3t.3M.3Nu=1g u.1wU.1AS;u.3t.3M.5o4={};u.3t.3M.3NI=1F;u.3t.3M.4nn={};u.3t.3M.7ce=1b(){1b a(a){1d b=u.3t.3M.4nm();b.9O="5o6 4no";f=b.2FH("5o5@#/&?$%10").1G;1d c=!0;"4no"!=a&&(b.9O="5o6 "+a+",4no",c=b.2FH("5o5@#/&?$%10").1G!=f);1f c}1b b(){1d b=!0,f;1j(f in c)60>c[f]&&(a(f)?(c[f]=60,u.1Po.9P(u.3t.3M.4nn),u.3t.3M.3NI=1F,d.9P()):(++c[f],b=!1));b&&(7O.3kZ(e),e=1p 0)}1d c=u.3t.3M.5o4,d=u.3t.3M.3Nu,e,f;1f 1b(d){if(d=u.1cg.5o3(d))1j(1d f=0,g=d.1h;f<g;++f){1d h=d[f];h in c||(c[h]=60,a(h)||(c[h]=0,1p 0===e&&(e=7O.2II(b,32))))}}}();u.3t.3M.4nm=1b(){1d a=u.3t.3M.3NI;a||(a=u.3t.3M.3NI=u.1TA.2Ix(1,1));1f a};u.3t.3M.5nI=1b(){1d a=u.3t.3M.4nn;1f 1b(b){1d c=a[b];1p 0==c&&(c=a[b]=19);1f c}}();u.3t.3M.3No=1b(a,b){1d c=u.3t.3M.4nm();a!=c.9O&&(c.9O=a);1f c.2FH(b).1G};u.3t.3M.7cd=1b(a,b,c,d){0!==b&&(a.11v(c,d),a.17b(b),a.11v(-c,-d))};u.3t.3M.3NG=u.5o.6F();u.3t.3M.1DA=1b(a,b,c,d,e,f,g,k,m,n,q){if(1!=c){1d h=a.2xg;a.2xg=h*c}b&&a.3kX.6c(a,b);a.1DA(d,e,f,g,k,m,n,g*q,k*q);h&&(a.2xg=h);b&&a.3kX.6c(a,u.3t.3M.3NG)};u.3t.3M.18u={3kU:0,2IB:1,1Oo:2,4nb:3,30J:4,3Np:5,2x9:6,3NC:7,1LX:8,3Nz:9,30G:10,2xe:11,2xf:12};u.3t.1ne={};u.3t.1ne.3Na=[u.3t.1nd.1wO,u.3t.1nd.1Oo,u.3t.1nd.1LV,u.3t.1nd.2Ip,u.3t.1nd.1ZQ,u.3t.1nd.1yD];u.3t.1ne.1FX={};u.3t.1ne.1FX.3B=0;u.3t.1ne.1FX.9o=0;u.3t.1ne.1FX.2V=.5;u.3t.1ne.1FX.2W=1;u.3t.1ne.1FX.4I=1;u.3t.1ne.1FX.5C=0;u.3t.1ne.1FX.1y1=.5;u.3t.1ne.1FX.7cc=.2;u.3t.1ne.1FX.7cb=.8;u.3t.1ne.1FX.7ca=.8;u.3t.1ne.1FX.7b=1;u.3t.3M.1ig=1b(a,b,c,d,e,f){u.3t.1AR.4G(1a);1a.4nj=f;1a.5o1=u.7l.2x6();1a.2xd=a;1a.5nO=b;1a.5nY=e;1a.13S=d;1a.3kQ=0;1a.1ko=c;1a.2IH=1a.3kS=1a.3kT=1F;1a.1lh=[];1a.9R=[];1a.5nZ={};1a.3NF=u.5o.6F();1a.1lg=[];1a.30K=1F;1a.4F={};1a.3kV=0;1a.5o2=u.5o.6F();1a.3NG=u.5o.6F()};u.1pm(u.3t.3M.1ig,u.3t.1AR);u.3t.3M.1ig.1i.4ni=1b(a,b,c,d,e,f,g){a.1Ja();a.1FW.6c(a,b);a.1bT.6c(a,c);a.1bT.6c(a,d);a.1bT.6c(a,e);a.1bT.6c(a,b);f&&(1a.3kW=f[2],1a.1wS(a));g&&(1a.4ng(a,g),a.15n())};u.3t.3M.1ig.1i.3ND=1b(a,b,c,d,e,f,g,k,m,n,q,r,v,y,t,A,B,C){1d h=B||C,l=1a.5o2;e*=v;f*=v;b-=e;c-=f;y&&(b=1k.9p(b),c=1k.9p(c));y=t+n>d.1G?d.1G-n:t;k=k+q>d.1D?d.1D-q:k;t=1a.5o1;1d p=A[3]+y*v+A[1],w=A[0]+k*v+A[2],x=b-A[3],z=c-A[0];if(h||0!==r){1d D=[x,z];1d G=[x+p,z];1d E=[x+p,z+w];1d F=[x,z+w]}A=1F;0!==r?(e=b+e,f=c+f,A=u.5o.3Nb(l,e,f,1,1,r,-e,-f),u.7l.30L(t),u.7l.2x5(t,u.5o.6c(l,D)),u.7l.2x5(t,u.5o.6c(l,G)),u.7l.2x5(t,u.5o.6c(l,E)),u.7l.2x5(t,u.5o.6c(l,F))):u.7l.30N(x,z,x+p,z+w,t);r=a.3M;r=t[0]<=r.1G&&0<=t[2]&&t[1]<=r.1D&&0<=t[3];if(g){if(r||1!=g[4])u.7l.1a3(g,t),(a=r?[a,A?A.4h(0):1F,m,d,n,q,y,k,b,c,v]:1F)&&h&&a.1q(B,C,D,G,E,F),g.1q(a)}1s r&&(h&&1a.4ni(a,D,G,E,F,B,C),u.3t.3M.1DA(a,A,m,d,n,q,y,k,b,c,v))};u.3t.3M.1ig.1i.5nW=1b(a){1d b=1a.13S;1f 1==b?a:a.5d(1b(a){1f a*b})};u.3t.3M.1ig.1i.2xa=1b(a,b,c,d,e,f){1d g=1a.9R.1h,k=1a.4n8();f&&(b+=d);f=[a[b],a[b+1]];1d m=[1hO,1hO],n=!0,q;1j(q=b+d;q<c;q+=d){m[0]=a[q];m[1]=a[q+1];1d r=u.7l.3NH(k,m);r!==v?(n&&(1a.9R[g++]=f[0],1a.9R[g++]=f[1]),1a.9R[g++]=m[0],1a.9R[g++]=m[1],n=!1):r===u.7l.1AQ.1wT?(1a.9R[g++]=m[0],1a.9R[g++]=m[1],n=!1):n=!0;f[0]=m[0];f[1]=m[1];1d v=r}if(e&&n||q===b+d)1a.9R[g++]=f[0],1a.9R[g++]=f[1];1f g};u.3t.3M.1ig.1i.4nk=1b(a,b,c,d,e){1j(1d f=0,g=c.1h;f<g;++f){1d k=c[f];b=1a.2xa(a,b,k,d,!1,!1);e.1q(b);b=k}1f b};u.3t.3M.1ig.1i.4mM=1b(a,b,c){1a.26v(a,b);1d d=a.1bu(),e=a.1ng(),f=1a.9R.1h,g;if(d==u.3u.19A.30F){d=a.1FY();1d k=[];1j(1d m=a.3Nv(),n=g=0,q=m.1h;n<q;++n){1d r=[];g=1a.4nk(d,g,m[n],e,r);k.1q(r)}1a.1lh.1q([u.3t.3M.18u.30J,f,k,a,c,u.3u.8z.1pn.4nl])}1s d==u.3u.19A.1wO||d==u.3u.19A.2xb?(k=[],d=d==u.3u.19A.1wO?a.1FY():a.1li(),1a.4nk(d,0,a.1ZT(),e,k),1a.1lh.1q([u.3t.3M.18u.30J,f,k,a,c,u.3u.8z.1pn.3kY])):d==u.3u.19A.1LV||d==u.3u.19A.2Iz?(d=a.1li(),e=1a.2xa(d,0,d.1h,e,!1,!1),1a.1lh.1q([u.3t.3M.18u.30J,f,e,a,c,u.3u.8z.1pn.9R])):d==u.3u.19A.1Dz&&(d=a.1li(),1a.9R.1q(d[0],d[1]),e=1a.9R.1h,1a.1lh.1q([u.3t.3M.18u.30J,f,e,a,c]));1a.2e9(a,b)};u.3t.3M.1ig.1i.26v=1b(a,b){1a.3kT=[u.3t.3M.18u.3kU,b,0];1a.1lh.1q(1a.3kT);1a.3kS=[u.3t.3M.18u.3kU,b,0];1a.1lg.1q(1a.3kS)};u.3t.3M.1ig.1i.1wS=1b(a){if(1a.3kW){1d b=u.5o.6c(1a.3NF,1a.3kW.4h());a.11v(b[0],b[1]);a.17b(1a.3kV)}a.4K();1a.3kW&&a.3kX.6c(a,u.3t.3M.3NG)};u.3t.3M.1ig.1i.4ng=1b(a,b){a.1ch=b[1];a.11a=b[2];a.1wR=b[3];a.1ty=b[4];a.1wQ=b[5];u.14d.3Nt&&(a.1tz=b[7],a.2m5(b[6]))};u.3t.3M.1ig.1i.4nh=1b(a,b){if(a&&5<a.1h){1d c=a[4];if(1==c||c==a.1h-5){b={1cW:a[0],1cV:a[1],1ey:a[2],1ex:a[3],1Q:b};if(!1a.4nj.30M(b)){1a.4nj.1v1(b);b=u.3t.3M.1DA;c=5;1j(1d d=a.1h;c<d;++c){1d e=a[c];e&&(11<e.1h&&1a.4ni(e[0],e[13],e[14],e[15],e[16],e[11],e[12]),b.6c(1p 0,e))}}a.1h=5;u.7l.30L(a)}}};u.3t.3M.1ig.1i.4nf=1b(a,b,c,d,e,f){if(1a.30K&&u.4x.2L(b,1a.3NF))1d g=1a.30K;1s 1a.30K||(1a.30K=[]),g=u.3u.8z.5o.30B(1a.9R,0,1a.9R.1h,2,b,1a.30K),u.5o.5o0(1a.3NF,b);b=!u.1Po.1kn(c);1j(1d k=0,m=d.1h,n,q,r,v,y,t,A,B,C,E=0,F=0,H=1F,I=1F,K=1a.5nZ,J=1a.3kV,L={1O:a,13S:1a.13S,1ko:1a.1ko,5S:J},M=1a.1lh!=d||1a.5nY?0:200;k<m;)6U(B=d[k],B[0]){1S u.3t.3M.18u.3kU:1d N=B[1];b&&c[u.2e5(N).5s()]||!N.1TE()?k=B[2]:1p 0===f||u.7l.3Nw(f,N.1TE().1Pp())?++k:k=B[2]+1;1W;1S u.3t.3M.18u.2IB:E>M&&(1a.1wS(a),E=0);F>M&&(a.15n(),F=0);E||F||(a.1Ja(),y=t=1hO);++k;1W;1S u.3t.3M.18u.1Oo:n=B[1];A=g[n];B=g[n+1];r=g[n+2]-A;v=g[n+3]-B;r=1k.3Y(r*r+v*v);a.1FW(A+r,B);a.arc(A,B,r,0,2*1k.PI,!0);++k;1W;1S u.3t.3M.18u.4nb:a.26x();++k;1W;1S u.3t.3M.18u.30J:n=B[1];q=B[2];A=B[4];r=6==B.1h?B[5]:1p 0;L.3y=B[3];L.7n=N;k in K||(K[k]=[]);B=K[k];r?r(g,n,q,2,B):(B[0]=g[n],B[1]=g[n+1],B.1h=2);A(B,L);++k;1W;1S u.3t.3M.18u.2x9:n=B[1];q=B[2];C=B[3];r=B[4];v=B[5];A=e?1F:B[6];1d O=B[7],P=B[8],Q=B[9],T=B[10],X=B[11],Z=B[12],Y=B[13],ba=B[14],ca=B[15];if(16<B.1h){1d fa=B[16];1d ha=B[17];B=B[18]}1s fa=u.3t.3M.2Ir,ha=B=!1;1j(X&&(Z+=J);n<q;n+=2)1a.3ND(a,g[n],g[n+1],C,r,v,A,O,P,Q,T,Z,Y,ba,ca,fa,ha?H:1F,B?I:1F);1a.4nh(A,N);++k;1W;1S u.3t.3M.18u.3Np:r=B[1];v=B[2];n=B[3];A=e?1F:B[4];T=B[5];q=B[6];X=B[7];Z=B[8];C=B[9];O=B[10];P=B[11];Y=B[12];Q=B[13];B=B[14];ba=u.3u.8z.1h.1ZS(g,r,v,2);ca=Z(Y);if(T||ca<=ba)if(T=u.3u.8z.3NE.1ZS(g,r,v,2,Y,Z,(ba-ca)*u.3t.1ne.1FX[1a.3kL[Q].1qy],X)){if(O)1j(X=0,Z=T.1h;X<Z;++X)Y=T[X],r=Y[4],ba=1a.1tw(r,Q,"",O),r=Y[2]+P,v=n*ba.1D+2*(.5-n)*P-C,1a.3ND(a,Y[0],Y[1],ba,r,v,A,ba.1D,1,0,0,Y[3],B,!1,ba.1G,u.3t.3M.2Ir,1F,1F);if(q)1j(X=0,Z=T.1h;X<Z;++X)Y=T[X],r=Y[4],ba=1a.1tw(r,Q,q,""),r=Y[2],v=n*ba.1D-C,1a.3ND(a,Y[0],Y[1],ba,r,v,A,ba.1D,1,0,0,Y[3],B,!1,ba.1G,u.3t.3M.2Ir,1F,1F)}1a.4nh(A,N);++k;1W;1S u.3t.3M.18u.3NC:if(1p 0!==e&&(N=B[1],A=e(N)))1f A;++k;1W;1S u.3t.3M.18u.1LX:M?E++:1a.1wS(a);++k;1W;1S u.3t.3M.18u.3Nz:n=B[1];q=B[2];r=g[n];v=g[n+1];A=r+.5|0;B=v+.5|0;if(A!==y||B!==t)a.1FW(r,v),y=A,t=B;1j(n+=2;n<q;n+=2)if(r=g[n],v=g[n+1],A=r+.5|0,B=v+.5|0,n==q-2||A!==y||B!==t)a.1bT(r,v),y=A,t=B;++k;1W;1S u.3t.3M.18u.30G:H=B;1a.3kW=B[2];E&&(1a.1wS(a),E=0,F&&(a.15n(),F=0));a.15b=B[1];++k;1W;1S u.3t.3M.18u.2xe:I=B;F&&(a.15n(),F=0);1a.4ng(a,B);++k;1W;1S u.3t.3M.18u.2xf:M?F++:a.15n();++k;1W;4T:++k}E&&1a.1wS(a);F&&a.15n()};u.3t.3M.1ig.1i.1ne=1b(a,b,c,d){1a.3kV=c;1a.4nf(a,b,d,1a.1lh,1p 0,1p 0)};u.3t.3M.1ig.1i.5nw=1b(a,b,c,d,e,f){1a.3kV=c;1f 1a.4nf(a,b,d,1a.1lg,e,f)};u.3t.3M.1ig.1i.3Ny=1b(){1d a=1a.1lg;a.1e1();1d b,c=a.1h,d=-1;1j(b=0;b<c;++b){1d e=a[b];1d f=e[0];f==u.3t.3M.18u.3NC?d=b:f==u.3t.3M.18u.3kU&&(e[2]=b,u.4x.5nX(1a.1lg,d,b),d=-1)}};u.3t.3M.1ig.1i.2x1=1b(a,b){1d c=1a.4F;a?(a=a.1eV(),c.15b=u.2e8.2Iv(a?a:u.3t.3M.2x8)):c.15b=1p 0;b?(a=b.1eV(),c.1ch=u.2e8.2Iv(a?a:u.3t.3M.3Nj),a=b.3kI(),c.1wR=1p 0!==a?a:u.3t.3M.3Nn,a=b.30E(),c.1tx=a?a.4h():u.3t.3M.4n1,a=b.3kK(),c.1tz=a?a:u.3t.3M.4n0,a=b.3kH(),c.1ty=1p 0!==a?a:u.3t.3M.3Nm,a=b.26u(),c.11a=1p 0!==a?a:u.3t.3M.3Nl,b=b.3kJ(),c.1wQ=1p 0!==b?b:u.3t.3M.3Nk,c.11a>1a.3kQ&&(1a.3kQ=c.11a,1a.2IH=1F)):(c.1ch=1p 0,c.1wR=1p 0,c.1tx=1F,c.1tz=1p 0,c.1ty=1p 0,c.11a=1p 0,c.1wQ=1p 0)};u.3t.3M.1ig.1i.4n3=1b(a,b){1d c=a.15b;a=[u.3t.3M.18u.30G,c];"4n"!==2h c&&(b=b.1Pp(),a.1q([b[0],b[3]]));1a.1lh.1q(a)};u.3t.3M.1ig.1i.2Iy=1b(a){1a.1lh.1q([u.3t.3M.18u.2xe,a.1ch,a.11a*1a.13S,a.1wR,a.1ty,a.1wQ,1a.5nW(a.1tx),a.1tz*1a.13S])};u.3t.3M.1ig.1i.4n4=1b(a,b,c){1d d=a.15b;if("4n"!==2h d||a.5nV!=d)b.4G(1a,a,c),a.5nV=d};u.3t.3M.1ig.1i.3kN=1b(a,b){1d c=a.1ch,d=a.1wR,e=a.1tx,f=a.1tz,g=a.1ty,k=a.11a,m=a.1wQ;if(a.5nU!=c||a.5nT!=d||e!=a.4ne&&!u.4x.2L(a.4ne,e)||a.5nS!=f||a.5nR!=g||a.5nQ!=k||a.5nP!=m)b.4G(1a,a),a.5nU=c,a.5nT=d,a.4ne=e,a.5nS=f,a.5nR=g,a.5nQ=k,a.5nP=m};u.3t.3M.1ig.1i.2e9=1b(a,b){1a.3kT[2]=1a.1lh.1h;1a.3kT=1F;1a.3kS[2]=1a.1lg.1h;1a.3kS=1F;a=[u.3t.3M.18u.3NC,b];1a.1lh.1q(a);1a.1lg.1q(a)};u.3t.3M.1ig.1i.26t=u.3kR;u.3t.3M.1ig.1i.4n8=1b(){1a.2IH||(1a.2IH=u.7l.1y(1a.5nO),0<1a.3kQ&&u.7l.3J(1a.2IH,1a.1ko*(1a.3kQ+1)/2,1a.2IH));1f 1a.2IH};u.3t.3M.2x3=1b(a,b,c,d,e,f){u.3t.3M.1ig.4G(1a,a,b,c,d,e,f);1a.1ok=1a.2ec=1a.1Tz=1F;1a.1ZU=1a.2ea=1a.1TC=1a.1TD=1a.1ZV=1a.2IC=1a.2ID=1a.2eb=1a.2IE=1a.2IF=1a.2IG=1p 0};u.1pm(u.3t.3M.2x3,u.3t.3M.1ig);u.3t.3M.2x3.1i.4nd=1b(a,b,c,d){1f 1a.2xa(a,b,c,d,!1,!1)};u.3t.3M.2x3.1i.4mH=1b(a,b){if(1a.1ok){1a.26v(a,b);1d c=a.1li(),d=a.1ng(),e=1a.9R.1h;c=1a.4nd(c,0,c.1h,d);1a.1lh.1q([u.3t.3M.18u.2x9,e,c,1a.1ok,1a.2IG,1a.2IF,1a.1Tz,1a.2IE,1a.2eb,1a.2ID,1a.2IC,1a.1ZV,1a.1TD,1a.1TC*1a.13S,1a.2ea,1a.1ZU]);1a.1lg.1q([u.3t.3M.18u.2x9,e,c,1a.2ec,1a.2IG,1a.2IF,1a.1Tz,1a.2IE,1a.2eb,1a.2ID,1a.2IC,1a.1ZV,1a.1TD,1a.1TC,1a.2ea,1a.1ZU]);1a.2e9(a,b)}};u.3t.3M.2x3.1i.4mG=1b(a,b){if(1a.1ok){1a.26v(a,b);1d c=a.1li(),d=a.1ng(),e=1a.9R.1h;c=1a.4nd(c,0,c.1h,d);1a.1lh.1q([u.3t.3M.18u.2x9,e,c,1a.1ok,1a.2IG,1a.2IF,1a.1Tz,1a.2IE,1a.2eb,1a.2ID,1a.2IC,1a.1ZV,1a.1TD,1a.1TC*1a.13S,1a.2ea,1a.1ZU]);1a.1lg.1q([u.3t.3M.18u.2x9,e,c,1a.2ec,1a.2IG,1a.2IF,1a.1Tz,1a.2IE,1a.2eb,1a.2ID,1a.2IC,1a.1ZV,1a.1TD,1a.1TC,1a.2ea,1a.1ZU]);1a.2e9(a,b)}};u.3t.3M.2x3.1i.26t=1b(){1a.3Ny();1a.2IF=1a.2IG=1p 0;1a.1ok=1a.2ec=1F;1a.1ZU=1a.2ea=1a.1TD=1a.1ZV=1a.2IC=1a.2ID=1a.2eb=1a.1TC=1a.2IE=1p 0};u.3t.3M.2x3.1i.3N5=1b(a,b){1d c=a.3NB(),d=a.26w(),e=a.30I(1),f=a.1tw(1),g=a.3NA();1a.2IG=c[0];1a.2IF=c[1];1a.1Tz=b;1a.2ec=e;1a.1ok=f;1a.2IE=d[1];1a.2eb=a.3kP();1a.2ID=g[0];1a.2IC=g[1];1a.1ZV=a.2Iq();1a.1TD=a.1nf();1a.1TC=a.1sj();1a.2ea=a.3kO();1a.1ZU=d[0]};u.3t.3M.2x2=1b(a,b,c,d,e,f){u.3t.3M.1ig.4G(1a,a,b,c,d,e,f)};u.1pm(u.3t.3M.2x2,u.3t.3M.1ig);u.3t.3M.2x2.1i.4nc=1b(a,b,c,d){1d e=1a.9R.1h;a=1a.2xa(a,b,c,d,!1,!1);e=[u.3t.3M.18u.3Nz,e,a];1a.1lh.1q(e);1a.1lg.1q(e);1f c};u.3t.3M.2x2.1i.4mK=1b(a,b){1d c=1a.4F,d=c.11a;1p 0!==c.1ch&&1p 0!==d&&(1a.3kN(c,1a.2Iy),1a.26v(a,b),1a.1lg.1q([u.3t.3M.18u.2xe,c.1ch,c.11a,c.1wR,c.1ty,c.1wQ,c.1tx,c.1tz],[u.3t.3M.18u.2IB]),c=a.1li(),d=a.1ng(),1a.4nc(c,0,c.1h,d),1a.1lg.1q([u.3t.3M.18u.2xf]),1a.2e9(a,b))};u.3t.3M.2x2.1i.4mJ=1b(a,b){1d c=1a.4F,d=c.11a;if(1p 0!==c.1ch&&1p 0!==d){1a.3kN(c,1a.2Iy);1a.26v(a,b);1a.1lg.1q([u.3t.3M.18u.2xe,c.1ch,c.11a,c.1wR,c.1ty,c.1wQ,c.1tx,c.1tz],[u.3t.3M.18u.2IB]);c=a.1ZT();d=a.1li();1d e=a.1ng(),f=0,g;1d k=0;1j(g=c.1h;k<g;++k)f=1a.4nc(d,f,c[k],e);1a.1lg.1q([u.3t.3M.18u.2xf]);1a.2e9(a,b)}};u.3t.3M.2x2.1i.26t=1b(){1d a=1a.4F;1p 0!=a.30H&&a.30H!=1a.9R.1h&&1a.1lh.1q([u.3t.3M.18u.2xf]);1a.3Ny();1a.4F=1F};u.3t.3M.2x2.1i.2Iy=1b(a){1p 0!=a.30H&&a.30H!=1a.9R.1h&&(1a.1lh.1q([u.3t.3M.18u.2xf]),a.30H=1a.9R.1h);a.30H=0;u.3t.3M.1ig.1i.2Iy.4G(1a,a);1a.1lh.1q([u.3t.3M.18u.2IB])};u.3t.3M.2e7=1b(a,b,c,d,e,f){u.3t.3M.1ig.4G(1a,a,b,c,d,e,f)};u.1pm(u.3t.3M.2e7,u.3t.3M.1ig);u.3t.3M.2e7.1i.4na=1b(a,b,c,d){1d e=1a.4F,f=1p 0!==e.15b;e=1p 0!=e.1ch;1d g=c.1h,k=[u.3t.3M.18u.2IB];1a.1lh.1q(k);1a.1lg.1q(k);1j(k=0;k<g;++k){1d m=c[k],n=1a.9R.1h;b=1a.2xa(a,b,m,d,!0,!e);b=[u.3t.3M.18u.3Nz,n,b];1a.1lh.1q(b);1a.1lg.1q(b);e&&(b=[u.3t.3M.18u.4nb],1a.1lh.1q(b),1a.1lg.1q(b));b=m}a=[u.3t.3M.18u.1LX];1a.1lg.1q(a);f&&1a.1lh.1q(a);e&&(f=[u.3t.3M.18u.2xf],1a.1lh.1q(f),1a.1lg.1q(f));1f b};u.3t.3M.2e7.1i.4mP=1b(a,b){1d c=1a.4F,d=c.1ch;if(1p 0!==c.15b||1p 0!==d){1a.3Nx(a);1a.26v(a,b);1a.1lg.1q([u.3t.3M.18u.30G,u.1A.2IA(u.3t.3M.2x8)]);1p 0!==c.1ch&&1a.1lg.1q([u.3t.3M.18u.2xe,c.1ch,c.11a,c.1wR,c.1ty,c.1wQ,c.1tx,c.1tz]);1d e=a.1li(),f=a.1ng();d=1a.9R.1h;1a.2xa(e,0,e.1h,f,!1,!1);e=[u.3t.3M.18u.2IB];d=[u.3t.3M.18u.1Oo,d];1a.1lh.1q(e,d);1a.1lg.1q(e,d);d=[u.3t.3M.18u.1LX];1a.1lg.1q(d);1p 0!==c.15b&&1a.1lh.1q(d);1p 0!==c.1ch&&(c=[u.3t.3M.18u.2xf],1a.1lh.1q(c),1a.1lg.1q(c));1a.2e9(a,b)}};u.3t.3M.2e7.1i.2x0=1b(a,b){1d c=1a.4F;1a.3Nx(a);1a.26v(a,b);1a.1lg.1q([u.3t.3M.18u.30G,u.1A.2IA(u.3t.3M.2x8)]);1p 0!==c.1ch&&1a.1lg.1q([u.3t.3M.18u.2xe,c.1ch,c.11a,c.1wR,c.1ty,c.1wQ,c.1tx,c.1tz]);c=a.1ZT();1d d=a.1FY(),e=a.1ng();1a.4na(d,0,c,e);1a.2e9(a,b)};u.3t.3M.2e7.1i.4mI=1b(a,b){1d c=1a.4F,d=c.1ch;if(1p 0!==c.15b||1p 0!==d){1a.3Nx(a);1a.26v(a,b);1a.1lg.1q([u.3t.3M.18u.30G,u.1A.2IA(u.3t.3M.2x8)]);1p 0!==c.1ch&&1a.1lg.1q([u.3t.3M.18u.2xe,c.1ch,c.11a,c.1wR,c.1ty,c.1wQ,c.1tx,c.1tz]);c=a.3Nv();d=a.1FY();1d e=a.1ng(),f=0,g;1d k=0;1j(g=c.1h;k<g;++k)f=1a.4na(d,f,c[k],e);1a.2e9(a,b)}};u.3t.3M.2e7.1i.26t=1b(){1a.3Ny();1a.4F=1F;1d a=1a.2xd;if(0!==a){1d b=1a.9R,c;1d d=0;1j(c=b.1h;d<c;++d)b[d]=u.3u.8z.1m5.2xc(b[d],a)}};u.3t.3M.2e7.1i.3Nx=1b(a){1d b=1a.4F;1p 0!==b.15b&&1a.4n4(b,1a.4n3,a);1p 0!==b.1ch&&1a.3kN(b,1a.2Iy)};u.3u.8z.4n7={};u.3u.8z.4n7.1ZS=1b(a,b,c,d,e){1j(1d f=c,g=c,k=0,m=0,n=c,q,r,u,v,t,y;c<d;c+=e){1d A=b[c],B=b[c+1];1p 0!==u&&(u=A-u,v=B-v,r=1k.3Y(u*u+v*v),1p 0!==t&&(m+=q,q=1k.1cz((t*u+y*v)/(q*r)),q>a&&(m>k&&(k=m,f=n,g=c),m=0,n=c-e)),q=r,t=u,y=v);u=A;v=B}1f m+r>k?[n,c]:[f,g]};u.2r.4n9={1Dz:"7v",1TB:"6D"};u.3t.3M.2e6=1b(a,b,c,d,e,f){u.3t.3M.1ig.4G(1a,a,b,c,d,e,f);1a.7c9=1F;1a.1ZR="";1a.3kF=1a.3Nh=0;1a.3Ng=1p 0;1a.3Nf=0;1a.2Iw=1F;1a.3Nq={};1a.2x7=1F;1a.3Ns={};1a.30D={};1a.3kL={};1a.3Ne=1a.3Nd=1a.30C="";1a.4n2={};u.3t.3M.3Nu.5nN()};u.1pm(u.3t.3M.2e6,u.3t.3M.1ig);u.3t.3M.2e6.5nJ=1b(a,b,c){1d d=b.1h,e=0,f;1j(f=0;f<d;++f){1d g=u.3t.3M.3No(a,b[f]);e=1k.1V(e,g);c.1q(g)}1f e};u.3t.3M.2e6.1i.1ZP=1b(a,b){1d c=1a.2Iw,d=1a.2x7,e=1a.30D;if(""!==1a.1ZR&&e&&(c||d)){c=1a.9R.1h;1d f=a.1bu();d=1F;1d g=2,k=2;if(e.1fJ===u.2r.4n9.1TB){if(!u.7l.3Nw(1a.4n8(),a.1Pp()))1f;d=a.1li();k=a.1ng();if(f==u.3u.19A.1LV)1d m=[d.1h];1s if(f==u.3u.19A.2xb)m=a.1ZT();1s if(f==u.3u.19A.1wO)m=a.1ZT().4h(0,1);1s if(f==u.3u.19A.30F){1d n=a.3Nv();m=[];g=0;1j(f=n.1h;g<f;++g)m.1q(n[g][0])}1a.26v(a,b);f=e.1qy;1d q=0;n=0;1j(1d r=m.1h;n<r;++n){if(1p 0==f){g=u.3u.8z.4n7.1ZS(e.2Iu,d,q,m[n],k);q=g[0];1d v=g[1]}1s v=m[n];1j(g=q;g<v;g+=k)1a.9R.1q(d[g],d[g+1]);g=1a.9R.1h;q=m[n];1a.5nF(c,g,1a.1Tz);c=g}}1s{m=1a.1tw(1a.1ZR,1a.30C,1a.3Nd,1a.3Ne);n=m.1G/1a.13S;6U(f){1S u.3u.19A.1Dz:1S u.3u.19A.2Iz:d=a.1li();g=d.1h;1W;1S u.3u.19A.1LV:d=a.5nM();1W;1S u.3u.19A.1Oo:d=a.2m6();1W;1S u.3u.19A.2xb:d=a.5nL();g=d.1h;1W;1S u.3u.19A.1wO:d=a.4n6();if(!e.1Tn&&d[2]/1a.1ko<n)1f;k=3;1W;1S u.3u.19A.30F:r=a.4n5();d=[];g=0;1j(f=r.1h;g<f;g+=3)(e.1Tn||r[g+2]/1a.1ko>=n)&&d.1q(r[g],r[g+1]);g=d.1h;if(0==g)1f}g=1a.2xa(d,0,g,k,!1,!1);1a.26v(a,b);if(e.2It||e.2Is)1a.2x1(e.2It,e.2Is),1a.4n4(1a.4F,1a.4n3,a),1a.3kN(1a.4F,1a.2Iy);1a.5nG(m,c,g)}1a.2e9(a,b)}};u.3t.3M.2e6.1i.1tw=1b(a,b,c,d){1d e=d+b+a+c+1a.13S,f=u.3t.3M.3Nu;if(!f.5nK(e)){1d g=d?1a.3Ns[d]||1a.2x7:1F,k=c?1a.3Nq[c]||1a.2Iw:1F,m=1a.3kL[b]||1a.30D,n=m.3b*1a.13S,q=u.3t.1ne.1FX[m.1qy||u.3t.3M.3Nr];b=d&&g.11a?g.11a:0;a=a.7g("\\n");1d r=a.1h,v=[],y=u.3t.3M.2e6.5nJ(m.9O,a,v),t=u.3t.3M.5nI(m.9O);y=u.1TA.2Ix(1k.8a((y+b)*n),1k.8a((t*r+b)*n));1d A=y.3M;f.1C(e,A);1!=n&&y.3b(n,n);y.9O=m.9O;d&&(y.1ch=g.1ch,y.11a=b*(u.14d.5nH?n:1),y.1wR=g.1wR,y.1ty=g.1ty,y.1wQ=g.1wQ,u.14d.3Nt&&g.1tx.1h&&(y.2m5(g.1tx),y.1tz=g.1tz));c&&(y.15b=k.15b);y.1v2="1y1";y.1qy="2V";g=.5-q;k=q*A.1G/n+g*b;if(d)1j(d=0;d<r;++d)y.3kM(a[d],k+g*v[d],.5*(b+t)+d*t);if(c)1j(d=0;d<r;++d)y.2m4(a[d],k+g*v[d],.5*(b+t)+d*t)}1f f.1n(e)};u.3t.3M.2e6.1i.5nG=1b(a,b,c){1d d=1a.30D,e=1a.2x7,f=1a.13S,g=u.3t.1ne.1FX[d.1qy||u.3t.3M.3Nr],k=u.3t.1ne.1FX[d.1v2];e=e&&e.11a?e.11a:0;g=g*a.1G/f+2*(.5-g)*e;k=k*a.1D/f+2*(.5-k)*e;1a.1lh.1q([u.3t.3M.18u.2x9,b,c,a,(g-1a.3Nh)*f,(k-1a.3kF)*f,1a.1Tz,a.1D,1,0,0,1a.3Ng,1a.3Nf,1,!0,a.1G,d.1fT==u.3t.3M.2Ir?u.3t.3M.2Ir:d.1fT.5d(1b(a){1f a*f}),!!d.2It,!!d.2Is]);1a.1lg.1q([u.3t.3M.18u.2x9,b,c,a,(g-1a.3Nh)*f,(k-1a.3kF)*f,1a.1Tz,a.1D,1,0,0,1a.3Ng,1a.3Nf,1/f,!0,a.1G,d.1fT,!!d.2It,!!d.2Is])};u.3t.3M.2e6.1i.5nF=1b(a,b,c){1d d=1a.2x7,e=1a.30D,f=1a.2Iw,g=1a.3Ne;d&&(g in 1a.3Ns||(1a.3Ns[g]={1ch:d.1ch,1wR:d.1wR,1tz:d.1tz,11a:d.11a,1ty:d.1ty,1wQ:d.1wQ,1tx:d.1tx}));1d k=1a.30C;1a.30C in 1a.3kL||(1a.3kL[1a.30C]={9O:e.9O,1qy:e.1qy||u.3t.3M.3Nr,3b:e.3b});1d m=1a.3Nd;f&&(m in 1a.3Nq||(1a.3Nq[m]={15b:f.15b}));1d n=1a.13S;f=u.3t.1ne.1FX[e.1v2];1d q=1a.3kF*n,r=1a.1ZR,v=e.9O,y=e.3b;d=d?d.11a*y/2:0;1d t=1a.4n2[v];t||(1a.4n2[v]=t={});1a.1lh.1q([u.3t.3M.18u.3Np,a,b,f,c,e.1Tn,m,e.2Iu,1b(a){1d b=t[a];b||(b=t[a]=u.3t.3M.3No(v,a));1f b*y*n},q,g,d*n,r,k,1]);1a.1lg.1q([u.3t.3M.18u.3Np,a,b,f,c,e.1Tn,m,e.2Iu,1b(a){1d b=t[a];b||(b=t[a]=u.3t.3M.3No(v,a));1f b*y},q,g,d,r,k,1/n])};u.3t.3M.2e6.1i.2m1=1b(a,b){1d c,d;if(a){1a.1Tz=b;(d=a.1FV())?(b=1a.2Iw,b||(b=1a.2Iw={}),b.15b=u.2e8.2Iv(d.1eV()||u.3t.3M.2x8)):b=1a.2Iw=1F;if(c=a.1wP()){d=1a.2x7;d||(d=1a.2x7={});1d e=c.30E(),f=c.3kK(),g=c.26u(),k=c.3kJ();d.1wR=c.3kI()||u.3t.3M.3Nn;d.1tx=e?e.4h():u.3t.3M.4n1;d.1tz=1p 0===f?u.3t.3M.4n0:f;d.1ty=c.3kH()||u.3t.3M.3Nm;d.11a=1p 0===g?u.3t.3M.3Nl:g;d.1wQ=1p 0===k?u.3t.3M.3Nk:k;d.1ch=u.2e8.2Iv(c.1eV()||u.3t.3M.3Nj)}1s d=1a.2x7=1F;c=1a.30D;e=a.3kG()||u.3t.3M.5nE;f=a.1sj();c.1Tn=a.4mZ();c.9O=e;c.2Iu=a.4mY();c.1fJ=a.4mX();c.1qy=a.3Ni();c.1v2=a.4mW()||u.3t.3M.5nD;c.2It=a.5nC();c.2Is=a.5nB();c.1fT=a.5nA()||u.3t.3M.2Ir;c.3b=1p 0===f?1:f;e=a.4mV();f=a.4mU();g=a.2Iq();k=a.1nf();1a.1ZR=a.1FU()||"";1a.3Nh=1p 0===e?0:e;1a.3kF=1p 0===f?0:f;1a.3Ng=1p 0===g?!1:g;1a.3Nf=1p 0===k?0:k;1a.3Ne=d?("4n"==2h d.1ch?d.1ch:u.2e5(d.1ch))+d.1wR+d.1tz+"|"+d.11a+d.1ty+d.1wQ+"["+d.1tx.14G()+"]":"";1a.30C=c.9O+c.3b+(c.1qy||"?");1a.3Nd=b?"4n"==2h b.15b?b.15b:"|"+u.2e5(b.15b):""}1s 1a.1ZR=""};u.3t.3M.1f3=1b(a,b,c,d,e,f,g){u.3t.1f3.4G(1a);1a.3kE=f;1a.1Tz=1F;1a.5nu=a;1a.4mR=b;1a.5nr=e;1a.5ns=d;1a.5nt=c;1a.4mS=g;1a.1Ty={};1a.5ny=1F;1a.5nz=u.5o.6F()};u.1pm(u.3t.3M.1f3,u.3t.1f3);u.3t.3M.1f3.3Nc={0:[[!0]]};u.3t.3M.1f3.2m3=1b(a,b,c){1d d,e=1k.2t(a.1h/2);if(b>=e)1j(d=e;d<b;d++)a[d][c]=!0;1s if(b<e)1j(d=b+1;d<e;d++)a[d][c]=!0};u.3t.3M.1f3.5nx=1b(a){if(1p 0!==u.3t.3M.1f3.3Nc[a])1f u.3t.3M.1f3.3Nc[a];1j(1d b=2*a+1,c=2K(b),d=0;d<b;d++)c[d]=2K(b);b=a;1j(1d e=d=0;b>=d;)u.3t.3M.1f3.2m3(c,a+b,a+d),u.3t.3M.1f3.2m3(c,a+d,a+b),u.3t.3M.1f3.2m3(c,a-d,a+b),u.3t.3M.1f3.2m3(c,a-b,a+d),u.3t.3M.1f3.2m3(c,a-b,a-d),u.3t.3M.1f3.2m3(c,a-d,a-b),u.3t.3M.1f3.2m3(c,a+d,a-b),u.3t.3M.1f3.2m3(c,a+b,a-d),d++,e+=1+2*d,0<2*(e-b)+1&&(--b,e+=1-2*b);1f u.3t.3M.1f3.3Nc[a]=c};u.3t.3M.1f3.4mT=1b(a,b,c){1j(1d d=1L.9K(a).5d(3a).15F(u.4x.30A),e={},f=0,g=d.1h;f<g;++f)1j(1d k=a[d[f].5s()],m=0,n=k.1h;m<n;){1d q=k[m++],r=k[m++];q.1ne(b,r,c,e)}};u.3t.3M.1f3.1i.2e4=1b(a){1d b=1F;1a.3kE&&(a?(b=1a.1Tz,b[4]++):(b=1a.1Tz=u.7l.2x6(),b.1q(1)));1f b};u.3t.3M.1f3.1i.1Ii=1b(a,b){b=1a.5nv(b);a.1Ja();a.1FW(b[0],b[1]);a.1bT(b[2],b[3]);a.1bT(b[4],b[5]);a.1bT(b[6],b[7]);a.1Ii()};u.3t.3M.1f3.1i.7c8=1b(a){1j(1d b in 1a.1Ty)1j(1d c=1a.1Ty[b],d=0,e=a.1h;d<e;++d)if(a[d]in c)1f!0;1f!1};u.3t.3M.1f3.1i.26t=1b(){1j(1d a in 1a.1Ty){1d b=1a.1Ty[a],c;1j(c in b)b[c].26t()}};u.3t.3M.1f3.1i.7c7=1b(a,b,c,d,e,f,g){1b h(a){1j(1d b=q.1LW(0,0,k,k).2g,c=0;c<k;c++)1j(1d d=0;d<k;d++)if(v[c][d]&&0<b[4*(d*k+c)+3]){if(!y||B!=u.3t.1nd.2Ip&&B!=u.3t.1nd.1ZQ||-1!==y.3f(a))1d e=f(a);if(e)1f e;q.2lF(0,0,k,k);1f}}d=1k.9p(d);1d k=2*d+1,m=u.5o.3Nb(1a.5nz,d+.5,d+.5,1/b,-1/b,-c,-a[0],-a[1]),q=1a.5ny;q.3M.1G!==k||q.3M.1D!==k?(q.3M.1G=k,q.3M.1D=k):q.2lF(0,0,k,k);if(1p 0!==1a.4mS){1d r=u.7l.2x6();u.7l.2x5(r,a);u.7l.3J(r,b*(1a.4mS+d),r)}1d v=u.3t.3M.1f3.5nx(d),y;1a.3kE&&(y=1a.3kE.all().5d(1b(a){1f a.1Q}));a=1L.9K(1a.1Ty).5d(3a);a.15F(u.4x.30A);1j(b=a.1h-1;0<=b;--b){1d t=a[b].5s();1d A=1a.1Ty[t];1j(d=u.3t.1ne.3Na.1h-1;0<=d;--d){1d B=u.3t.1ne.3Na[d];1d C=A[B];if(1p 0!==C)if(!g||B!=u.3t.1nd.2Ip&&B!=u.3t.1nd.1ZQ){if(C=C.5nw(q,m,c,e,h,r))1f C}1s{1d E=g[t];E?E.1q(C,m.4h(0)):g[t]=[C,m.4h(0)]}}}};u.3t.3M.1f3.1i.5nv=1b(a){1d b=1a.4mR,c=b[0],d=b[1],e=b[2];b=b[3];c=[c,d,c,b,e,b,e,d];u.3u.8z.5o.30B(c,0,8,2,a,c);1f c};u.3t.3M.1f3.1i.1FT=1b(a,b){1d c=1p 0!==a?a.5s():"0";a=1a.1Ty[c];1p 0===a&&(a={},1a.1Ty[c]=a);c=a[b];1p 0===c&&(c=1g u.3t.3M.1f3.5nq[b](1a.5nu,1a.4mR,1a.5nt,1a.5ns,1a.5nr,1a.3kE),a[b]=c);1f c};u.3t.3M.1f3.1i.7c6=1b(){1f 1a.1Ty};u.3t.3M.1f3.1i.1kn=1b(){1f u.1Po.1kn(1a.1Ty)};u.3t.3M.1f3.1i.1ne=1b(a,b,c,d,e,f){1d g=1L.9K(1a.1Ty).5d(3a);g.15F(u.4x.30A);a.2x4();1a.1Ii(a,b);e=e?e:u.3t.1ne.3Na;1d k,m;1d n=0;1j(k=g.1h;n<k;++n){1d q=g[n].5s();1d r=1a.1Ty[q];1d v=0;1j(m=e.1h;v<m;++v){1d y=e[v];1d t=r[y];1p 0!==t&&(!f||y!=u.3t.1nd.2Ip&&y!=u.3t.1nd.1ZQ?t.1ne(a,b,c,d):(y=f[q])?y.1q(t,b.4h(0)):f[q]=[t,b.4h(0)])}}a.4mQ()};u.3t.3M.1f3.5nq={1LU:u.3t.3M.2e7,2lJ:u.3t.3M.1ig,1ar:u.3t.3M.2x3,1b1:u.3t.3M.2x2,14x:u.3t.3M.2e7,198:u.3t.3M.2e6};u.1fs={};u.1fs.8r={};u.1fs.8r.7c5=1b(a,b){1f u.2e5(a)-u.2e5(b)};u.1fs.8r.7c4=1b(a,b){a=u.1fs.8r.5np(a,b);1f a*a};u.1fs.8r.5np=1b(a,b){1f u.5no*a/b};u.1fs.8r.5nf=1b(a,b,c,d){1d e=c.1FV(),f=c.1wP();if(e||f){1d g=a.1FT(c.1AP(),u.3t.1nd.1Oo);g.2x1(e,f);g.4mP(b,d)}if(e=c.1FU())c=a.1FT(c.1AP(),u.3t.1nd.1ZQ),c.2m1(e,a.2e4(!1)),c.1ZP(b,d)};u.1fs.8r.7c3=1b(a,b,c,d,e,f){1d g=!1,k;if(k=c.1tw()){1d m=k.2m2();m==u.1Pn.1e5||m==u.1Pn.3kD?k.3N9(e,f):(m==u.1Pn.3N8&&k.1e4(),k.2m2(),k.3N7(e,f),g=!0)}u.1fs.8r.3kC(a,b,c,d);1f g};u.1fs.8r.3kC=1b(a,b,c,d){1d e=c.5nn()(b);if(e)if(d=e.3N6(d),c.4mL())u.1fs.8r.4mN(a,d,c,b);1s(0,u.1fs.8r.4mF[d.1bu()])(a,d,c,b)};u.1fs.8r.4mN=1b(a,b,c,d){if(b.1bu()==u.3u.19A.4mO){b=b.7c2();1j(1d e=0,f=b.1h;e<f;++e)u.1fs.8r.4mN(a,b[e],c,d)}1s a.1FT(c.1AP(),u.3t.1nd.1yD).4mM(b,d,c.4mL())};u.1fs.8r.5ng=1b(a,b,c,d){b=b.7c1();1d e;1d f=0;1j(e=b.1h;f<e;++f)(0,u.1fs.8r.4mF[b[f].1bu()])(a,b[f],c,d)};u.1fs.8r.5nl=1b(a,b,c,d){1d e=c.1wP();if(e){1d f=a.1FT(c.1AP(),u.3t.1nd.1LV);f.2x1(1F,e);f.4mK(b,d)}if(e=c.1FU())c=a.1FT(c.1AP(),u.3t.1nd.1ZQ),c.2m1(e,a.2e4(!1)),c.1ZP(b,d)};u.1fs.8r.5ni=1b(a,b,c,d){1d e=c.1wP();if(e){1d f=a.1FT(c.1AP(),u.3t.1nd.1LV);f.2x1(1F,e);f.4mJ(b,d)}if(e=c.1FU())c=a.1FT(c.1AP(),u.3t.1nd.1ZQ),c.2m1(e,a.2e4(!1)),c.1ZP(b,d)};u.1fs.8r.5nh=1b(a,b,c,d){1d e=c.1FV(),f=c.1wP();if(f||e){1d g=a.1FT(c.1AP(),u.3t.1nd.1wO);g.2x1(e,f);g.4mI(b,d)}if(e=c.1FU())c=a.1FT(c.1AP(),u.3t.1nd.1ZQ),c.2m1(e,a.2e4(!1)),c.1ZP(b,d)};u.1fs.8r.5nm=1b(a,b,c,d){1d e=c.1tw();if(e){if(e.2m2()!=u.1Pn.1e5)1f;1d f=a.1FT(c.1AP(),u.3t.1nd.2Ip);f.3N5(e,a.2e4(!1));f.4mH(b,d)}if(f=c.1FU())c=a.1FT(c.1AP(),u.3t.1nd.1ZQ),c.2m1(f,a.2e4(!!e)),c.1ZP(b,d)};u.1fs.8r.5nj=1b(a,b,c,d){1d e=c.1tw();if(e){if(e.2m2()!=u.1Pn.1e5)1f;1d f=a.1FT(c.1AP(),u.3t.1nd.2Ip);f.3N5(e,a.2e4(!1));f.4mG(b,d)}if(f=c.1FU())c=a.1FT(c.1AP(),u.3t.1nd.1ZQ),c.2m1(f,a.2e4(!!e)),c.1ZP(b,d)};u.1fs.8r.5nk=1b(a,b,c,d){1d e=c.1FV(),f=c.1wP();if(e||f){1d g=a.1FT(c.1AP(),u.3t.1nd.1wO);g.2x1(e,f);g.2x0(b,d)}if(e=c.1FU())c=a.1FT(c.1AP(),u.3t.1nd.1ZQ),c.2m1(e,a.2e4(!1)),c.1ZP(b,d)};u.1fs.8r.4mF={18H:u.1fs.8r.5nm,1b1:u.1fs.8r.5nl,14x:u.1fs.8r.5nk,1oj:u.1fs.8r.5nj,1hi:u.1fs.8r.5ni,1dC:u.1fs.8r.5nh,1qx:u.1fs.8r.5ng,1LU:u.1fs.8r.5nf};1L.2X(Hz.1i,{14c:{1n:1b(){1f 1a.1aG}}});Hz.1i.2e3=1b(){1d a=1a.1aG;1a.3kB=M.14H();1a.18M=a.18M;1a.1cU=a.1cU;1a.1a2=a.1a2;1a.16W=a.16W;1a.1j6=a.1j6;1a.1le=a.1le;1a.1Tg=a.1Tg;1a.1tv=a.1tv};Hz.1i.3Z=1b(){1f!1};Hz.1i.1M=1b(){1a.1n5.7f();la(1a)};1d UD={4mE:1b(a,b,c){v.1N.4n("26s",a);v.1N.4n("7c0",b);1d d=3n.4O("5u"),e=3n.4O("17R"),f=3n.4O("15d");f.1I="3N4";b="2wZ: "+b;g(c)&&(b+=", 5F: "+c);f.8m("2g-7X",b);e.3A(f);e.3A(3n.1wH(a));d.3A(e);1f d},4mD:1b(a,b,c,d){v.2l("7bZ",a);v.1N.4n("7bY",b);v.1N.4n("7bX",c);v.1N.4n("7bW",d);1d e=3n.4O("5u");e.8k="3P-1c6-30z";e.8m("2g-7X",\'1cg: { "3P-1c6-30z-7bV": !\'+c+" }");a.3A(e);a=3n.4O("h3");a.8k="3P-1c6-7bU";a.3A(3n.1wH(b));a.8m("2g-7X","1aI: "+d);e.3A(a);b=3n.4O("5u");b.8k="3P-1c6-7bT";e.3A(b);1f b}};1L.2X(Iz.1i,{14Z:{1n:1b(){1f 1a.10u}}});1d mu=1b(){1a.2wY=!1;1a.1J9=-1;1a.1ce(0)};mu.13W=1b(a,b){a.2wY&&11l.7k("3N2 4x.2wY.");a.3N3();b&&(a.2wY=!0,b.1q(a.15U));1f{1h:a.1h,15U:a.15U}};mu.1Pm=1b(a){1d b=1L.6F(1a.1i);b.15U=a.15U;b.1h=a.1h;b.1J9=a.15U.10S/b.1Dy;b.1wN();1f b};mu.1i.3N3=1b(){1a.1h!==1a.1J9&&(1a.1J9=1a.1h,1a.15U=1a.15U.4h(0,1a.1h*1a.1Dy),1a.1wN())};mu.1i.9P=1b(){1a.1h=0};mu.1i.1ce=1b(a){1a.1Tx(a);1a.1h=a};mu.1i.1Tx=1b(a){a>1a.1J9&&(1a.1J9=1k.1V(a,1k.2t(5*1a.1J9),128),1a.15U=1g 1aq(1a.1J9*1a.1Dy),a=1a.1AL,1a.1wN(),a&&1a.1AL.1C(a))};mu.1i.1wN=1b(){1t 6u("1wN() 2Q be 5ne by 30y 5nd 3N2 11e");};1d 4mA=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.1pl=1g 12X(1a.15U);1a.1qw=1g 10Y(1a.15U)};b.1i.15T=1b(a,b,e){1d c=1a.1h;1a.1ce(c+1);1f 1a.1nc(c,a,b,e)};b.1i.1nc=1b(a,b,e,f){1d c=4*a;1a.1pl[2*a]=b;1a.1qw[c+2]=e;1a.1qw[c+3]=f;1f a};1f b}(mu);4mA.1i.1Dy=8;1d 4mB=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;1d c={1hh:{1Pl:!0},1AN:{1Pl:!0},3kw:{1Pl:!0}};c.1hh.1n=1b(){1f 1a.2Io.1pl[1a.4mC+0]};c.1hh.1C=1b(a){1a.2Io.1pl[1a.4mC+0]=a};c.1AN.1n=1b(){1f 1a.2Io.1qw[1a.3kA+2]};c.1AN.1C=1b(a){1a.2Io.1qw[1a.3kA+2]=a};c.3kw.1n=1b(){1f 1a.2Io.1qw[1a.3kA+3]};c.3kw.1C=1b(a){1a.2Io.1qw[1a.3kA+3]=a};1L.2X(b.1i,c);1f b}(1b(a,b){1a.2Io=a;1a.3N1=b*1a.4V;1a.3kA=1a.3N1/2;1a.4mC=1a.3N1/4;1a.7bS=1a.3N1/8});4mB.1i.4V=8;1d 4mz=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1n=1b(a){1f 1g 4mB(1a,a)};1f b}(4mA);jc.19l("4mx",4mz,{1ZO:["9Q","2e2"]});1d 4fM={4mx:4mz};Xj.1i.1v1=1b(a,b,c,d,e){1a.4my(b,c,d,e,1a.5na,1a.5nc++);1a.9K.1q(a);1a.2m0.1q(b);1a.2m0.1q(c);1a.2m0.1q(d);1a.2m0.1q(e)};Xj.1i.5nb=1b(){1t"1e6 1v1 1KP a 5n8 3kz 19f an 1aq.";};Xj.1i.5na=1b(a,b,c,d,e,f){1a.2wX[e].1q(f)};Xj.1i.16H=1b(a,b,c,d,e){1d f=1a.2o,g=1a.1V;if(a<=f&&b<=f&&g<=c&&g<=d&&!e)1f 2K.1i.4h.4G(1a.9K);f=[];1a.4my(a,b,c,d,1a.5n9,f,{},e);1f f};Xj.1i.5n9=1b(a,b,c,d,e,f,g,k){e=1a.2wX[e];if(1F!==e)1j(1d h=1a.9K,l=1a.2m0,m=0;m<e.1h;m++){1d q=e[m];if(1p 0===g[q]){1d r=4*q;(k?k(l[r+0],l[r+1],l[r+2],l[r+3]):a<=l[r+2]&&b<=l[r+3]&&c>=l[r+0]&&d>=l[r+1])?(g[q]=!0,f.1q(h[q])):g[q]=!1}}};Xj.1i.4my=1b(a,b,c,d,e,f,g,k){1j(1d h=1a.3kx(a),l=1a.3kx(b),m=1a.3kx(c),q=1a.3kx(d);h<=m;h++)1j(1d r=l;r<=q;r++){1d u=1a.d*r+h;if((!k||k(1a.3ky(h),1a.3ky(r),1a.3ky(h+1),1a.3ky(r+1)))&&e.4G(1a,a,b,c,d,u,f,g,k))1f}};Xj.1i.3ky=1b(a){1f(a-1a.1fT)/1a.3b};Xj.1i.3kx=1b(a){1f 1k.1V(0,1k.2o(1a.d-1,1k.2t(a*1a.3b)+1a.1fT))};Xj.1i.7bR=1b(){if(1a.15U)1f 1a.15U;1j(1d a=1a.2wX,b=3+1a.2wX.1h+1+1,c=0,d=0;d<1a.2wX.1h;d++)c+=1a.2wX[d].1h;c=1g 1fZ(b+c+1a.9K.1h+1a.2m0.1h);c[0]=1a.7l;c[1]=1a.n;c[2]=1a.1fT;1j(d=0;d<a.1h;d++){1d e=a[d];c[3+d]=b;c.1C(e,b);b+=e.1h}c[3+a.1h]=b;c.1C(1a.9K,b);b+=1a.9K.1h;c[3+a.1h+1]=b;c.1C(1a.2m0,b);1f c.3J};jc.19l("5n8",Xj,{1ZO:["9Q","2e2"]});1d 5n7=4fM.4mx,nu=1b(a,b,c){1a.x=a.x;1a.y=a.y;1a.z=a.z;1a.1FR=b||1g Xj(1c8,16,0);1a.3N0=c||1g 5n7};nu.1i.1v1=1b(a,b,c,d,e,f){a=1a.3N0.1h;1a.3N0.15T(c,d,e);c=1a.1FR;1j(d=0;d<b.1h;d++){e=b[d];f=[12g,12g,-12g,-12g];1j(1d g=0;g<e.1h;g++){1d k=e[g];f[0]=1k.2o(f[0],k.x);f[1]=1k.2o(f[1],k.y);f[2]=1k.1V(f[2],k.x);f[3]=1k.1V(f[3],k.y)}1c8>f[0]&&1c8>f[1]&&0<=f[2]&&0<=f[3]&&c.1v1(a,f[0],f[1],f[2],f[3])}};nu.1i.3MZ=1b(){1a.2In||(1a.2In=(1g n9(1g sf(1a.3ku))).9Q,1a.4mu=1g CI(1a.2In?1L.9K(1a.2In).15F():["7bQ"]));1f 1a.2In};nu.1i.16H=1b(a,b,c){1d d=1a;1a.3MZ();1d e=a.2wW||{},f=1c8/a.1AO,g=Es.3kr(e.14O),k=a.5n6;c=5n5(k);1d m=1a.1FR.16H(c.1cW-5,c.1cV-5,c.1ey+5,c.1ex+5);m.15F(5n4);1d n={},q;c=1b(c){c=m[c];if(c!==q){q=c;c=d.3N0.1n(c);1d h=1F;d.4mv(n,c.3kw,c.1AN,c.1hh,g,e.9Q,b,1b(b,c){h||(h=Ey(b));1f c.3kv(k,b,{},h,d.z,a.5o,f,a.7bP)})}};1j(1d r=0;r<m.1h;r++)c(r);1f n};nu.1i.4mv=1b(a,b,c,d,e,f,g,k){if(pi(b)&&pi(c)&&pi(d)&&(b=1a.5n3[b],!f||vc.4mw(f,b))&&(c=1a.4mu.1AM(c),c=1a.2In[c].7n(d),e(1g Lf(1a.z),c)))1j(e=0;e<b.1h;e++){1d h=b[e];if(!(f&&0>f.3f(h))){1d l=g[h];if(l){1d m=!k||k(c,l);m&&(c.7r=l.13W(),l=a[h],1p 0===l&&(l=a[h]=[]),l.1q({1hh:d,7n:c,7bO:m}))}}}};nu.1i.7bN=1b(a,b,c,d,e,f){1d g={};1a.3MZ();d=3kr(d);1j(1d k=0;k<a.1h;k+=1)1a.4mv(g,b,c,a[k],d,e,f);1f g};nu.1i.7bM=1b(a){1j(1d b=0,c=1a.5n3;b<c.1h;b+=1)1j(1d d=0,e=c[b];d<e.1h;d+=1)if(a===e[d])1f!0;1f!1};jc.19l("7bL",nu,{1ZO:["3ku","4mu","2In"]});1d gZ=1b(a){1b b(){a.6c(1a,5m)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1wN=1b(){1a.1AL=1g 4L(1a.15U);1a.26r=1g 1FS(1a.15U)};b.1i.15T=1b(a,b,e,f){1d c=1a.1h;1a.1ce(c+1);1f 1a.1nc(c,a,b,e,f)};b.1i.1nc=1b(a,b,e,f,g){1d c=4*a;1a.26r[c+0]=b;1a.26r[c+1]=e;1a.26r[c+2]=f;1a.26r[c+3]=g;1f a};1f b}(wh);gZ.1i.1Dy=8;jc.19l("5fv",gZ);1d 4fv=1b(a,b,c){1a.1O=a;1a.1G=b;1a.1D=c;b=1a.4Q=a.gl.4mt();1a.5n0=1g 5n2(a,b);1a.5mZ=1g 5n1(a,b)};4fv.1i.1M=1b(){1d a=1a.1O.gl,b=1a.5n0.1n();b&&a.3kt(b);(b=1a.5mZ.1n())&&a.4ms(b);a.5mY(1a.4Q)};1d ou=1b(a,b){4mr(1a,a,1,b)};ou.1i.1ce=1b(a){1d b=a.1G;a=a.1D;if(b!==1a.1G||a!==1a.1D){1d c=4mr({},{1G:b,1D:a},1);4mq(1a,c,{x:0,y:0},{x:0,y:0},{1G:1k.2o(1a.1G,b),1D:1k.2o(1a.1D,a)},1);1a.1G=b;1a.1D=a;1a.2g=c.2g}};ou.1i.1y=1b(){1f 1g ou({1G:1a.1G,1D:1a.1D},1g 4L(1a.2g))};ou.1hI=1b(a,b,c,d,e){4mq(a,b,c,d,e,1)};jc.19l("5hv",ou);1d 4ft=1b(a){1d b={},c=[];1j(n in a){1d d=a[n],e=b[n]={},f;1j(f in d){1d g=d[+f];if(g&&0!==g.2wV.1G&&0!==g.2wV.1D){1d k={x:0,y:0,w:g.2wV.1G+2,h:g.2wV.1D+2};c.1q(k);e[f]={2wR:k,30w:g.30w}}}}c=DI(c);c=1g ou({1G:c.w||1,1D:c.h||1});1j(1d m in a){1d n=a[m];1j(1d q in n)(d=n[+q])&&0!==d.2wV.1G&&0!==d.2wV.1D&&(e=b[m][q].2wR,ou.1hI(d.2wV,c,{x:0,y:0},{x:e.x+1,y:e.y+1},d.2wV))}1a.4d=c;1a.3q=b};jc.19l("7bK",4ft);1d hZ=1b(a){1a.3kq={};a&&1a.3X(a)};hZ.1i.3X=1b(a){1a.3MY={};1a.8U={};1a.2H(a,[])};hZ.1i.2H=1b(a,b){1j(1d c=1a,d=0;d<a.1h;d+=1){1d e=a[d];1a.3MY[e.id]=e;1d f=XI(e);1F!=f&&(1a.8U[e.id]=f,f.3ks=Es.3kr(f.14O),1a.3kq[e.id]&&4Y 1a.3kq[e.id])}1j(a=0;a<b.1h;a+=1)d=b[a],4Y 1a.3kq[d],4Y 1a.3MY[d],4Y 1a.8U[d];1a.4mp={};b=0;1j(a=Q8(5mX(1a.3MY),1a.3kq);b<a.1h;b+=1)if(d=a[b].5d(1b(a){1f c.8U[a.id]}),f=d[0],1p 0!=f&&"1bs"!==f.12F){1d g=f.5j||"";(e=1a.4mp[g])||(e=1a.4mp[g]={});f=f.3MX;(g=e[f])||(g=e[f]=[]);g.1q(d)}};1d kw=1b(a){1b b(b,d,e,f){a.4G(1a,b,d);1a.8f=e;1p 0!==f&&(1a.1S0=f)}a&&(b.14Y=a);b.1i=1L.6F(a&&a.1i);b.1i.7m=b;b.1i.1y=1b(){1f 1g b(1a.x,1a.y,1a.8f,1a.1S0)};1f b}(Yc);jc.19l("7bJ",kw);1d Mz=1b(a,b,c,d,e,f,g,k,m,n,q,r){1d h=g.5C*k-m,l=g.7b*k+m,p=g.3B*k-m;m=g.2W*k+m;if(g=g.5mW)p-=g[0]*k,h-=g[1]*k,m+=g[2]*k,l+=g[3]*k;1a.3kp=a.1h;n?(r=l-h,0<r&&(r=1k.1V(10*k,r),1a.5mV(a,b,c,c.1S0,m-p,r,d,e,f,q))):(r&&(b=1g Yc(p,h),k=1g Yc(m,h),q=1g Yc(p,l),l=1g Yc(m,l),p=r*1k.PI/180,b.1si(p),k.1si(p),q.1si(p),l.1si(p),p=1k.2o(b.x,k.x,q.x,l.x),m=1k.1V(b.x,k.x,q.x,l.x),h=1k.2o(b.y,k.y,q.y,l.y),l=1k.1V(b.y,k.y,q.y,l.y)),a.15T(c.x,c.y,p,h,m,l,d,e,f,0,0));1a.3ko=a.1h};Mz.1i.5mV=1b(a,b,c,d,e,f,g,k,m,n){1d h=f/2,l=1k.2t(e/h)||1;n=1k.2t(l*(1+.4*1k.7k(n)/1k.1ZN)/2);1d p=-f/2,q=c;d+=1;c=p;1d r=-e/2,u=r-e/4;do if(d--,0>d){if(c>r)1f;d=0;1W}1s c-=b[d].6Y(q),q=b[d];14p(c>u);q=b[d].6Y(b[d+1]);1j(u=-n;u<l+n;u++){1d v=u*h,y=r+v;0>v&&(y+=v);v>e&&(y+=v-e);if(!(y<c)){1j(;c+q<y;){c+=q;d++;if(d+1>=b.1h)1f;q=b[d].6Y(b[d+1])}v=y-c;1d A=b[d];v=b[d+1].1LT(A).2e1().1Tw(v).1LQ(A).1LS();a.15T(v.x,v.y,-f/2,-f/2,f/2,f/2,g,k,m,f/2,1k.abs(y-p)<h?0:.8*(y-p))}}};1d il=1b(a,b,c){1p 0===b&&(b=1g Xj(a.1G+200,a.1D+200,25));1p 0===c&&(c=1g Xj(a.1G+200,a.1D+200,25));1a.5o=a;1a.1FR=b;1a.3kn=c;1a.5mU=1k.3i(a.1Dx)*a.3km;1a.5mL=a.1G+100;1a.5mK=a.1D+100;1a.5mJ=a.1G+200;1a.5mI=a.1D+200};il.1i.4ma=1b(a,b,c,d,e){d=1a.5mM(d,a.1Tv,a.1Tu);1d f=c*d.3MV;c=a.x1*f+d.7v.x;1d g=a.y1*f+d.7v.y,k=a.x2*f+d.7v.x;a=a.y2*f+d.7v.y;1f!1a.4mk(c,g,k,a)||!b&&1a.1FR.7bI(c,g,k,a,e)?{13F:[],1Tt:!1}:{13F:[c,g,k,a],1Tt:1a.4ml(c,g,k,a)}};il.1i.4mo=1b(a,b,c,d,e){c*=a.7bH;1f a.7bG+c+((e?1:d/1a.5mU)-1)*c*1k.abs(1k.2T(b))};il.1i.7bF=1b(a,b,c,d,e,f,g,k,m,n,q,r,u){1d h=[],l=1a.5mO(m,e.2Im,e.2Il),p=k/24,v=e.5mT*k;k*=e.5mS;1d w=1g 1Pk.18H(e.2Im,e.2Il),x=12z(w,n).7v;e=7bE(p,g,v,k,!1,x,w,e,f,n,{},!0);g=f=!1;n=!0;p=l.3MV*d;v=1/(d*c);d=c=0;e&&(c=1a.4mo(e.1lf.5mR,e.1lf.8f,v,l.4mn,r),d=1a.4mo(e.2wU.5mR,e.2wU.8f,v,l.4mn,r));1j(r=0;r<a.1h;r+=5)if(l=a[r],k=a[r+1],v=a[r+2],w=a[r+3],!e||w<-c||w>d)a[r+4]=0;1s{l=1a.5mN(m,l,k);v*=p;if(0<h.1h&&(k=l.x-h[h.1h-4],w=l.y-h[h.1h-3],v*v*2>k*k+w*w&&r+8<a.1h&&(k=a[r+8],k>-c&&k<d))){a[r+4]=0;1aJ}h.1q(l.x,l.y,v,r/5);a[r+4]=1;k=l.x-v;w=l.y-v;x=l.x+v;1d y=l.y+v;n=n&&1a.4ml(k,w,x,y);g=g||1a.4mk(k,w,x,y);if(!b&&1a.1FR.7bD(l.x,l.y,v,u))if(q)f=!0;1s 1f{3MW:[],1Tt:!1}}1f{3MW:f||!g?[]:h,1Tt:n}};il.1i.7bC=1b(a){if(0===a.1h||0===1a.1FR.5mQ()&&0===1a.3kn.5mQ())1f{};1j(1d b=[],c=12g,d=12g,e=-12g,f=-12g,g=0;g<a.1h;g+=1){1d k=a[g];k=1g 1Pk.18H(k.x+100,k.y+100);c=1k.2o(c,k.x);d=1k.2o(d,k.y);e=1k.1V(e,k.x);f=1k.1V(f,k.y);b.1q(k)}a={};g={};k=0;1j(c=1a.1FR.16H(c,d,e,f).9V(1a.3kn.16H(c,d,e,f));k<c.1h;k+=1)e=c[k],d=e.10t,1p 0===a[d.1FO]&&(a[d.1FO]={}),a[d.1FO][d.1hh]||(e=[1g 1Pk.18H(e.x1,e.y1),1g 1Pk.18H(e.x2,e.y1),1g 1Pk.18H(e.x2,e.y2),1g 1Pk.18H(e.x1,e.y2)],1Pk.5mP(b,e)&&(a[d.1FO][d.1hh]=!0,1p 0===g[d.1FO]&&(g[d.1FO]=[]),g[d.1FO].1q(d.1hh)));1f g};il.1i.7bB=1b(a,b,c,d,e){(b?1a.3kn:1a.1FR).1v1({1FO:c,1hh:d,4md:e},a[0],a[1],a[2],a[3])};il.1i.7bA=1b(a,b,c,d,e){b=b?1a.3kn:1a.1FR;c={1FO:c,1hh:d,4md:e};1j(d=0;d<a.1h;d+=4)b.7bz(c,a[d],a[d+1],a[d+2])};il.1i.5mO=1b(a,b,c){b=[b,c,0,1];4mm(b,b,a);1f{3MV:.5+1a.5o.3km/b[3]*.5,4mn:b[3]}};il.1i.5mN=1b(a,b,c){b=[b,c,0,1];4mm(b,b,a);1f 1g 1Pk.18H((b[0]/b[3]+1)/2*1a.5o.1G+100,(-b[1]/b[3]+1)/2*1a.5o.1D+100)};il.1i.5mM=1b(a,b,c){b=[b,c,0,1];4mm(b,b,a);1f{7v:1g 1Pk.18H((b[0]/b[3]+1)/2*1a.5o.1G+100,(-b[1]/b[3]+1)/2*1a.5o.1D+100),3MV:.5+1a.5o.3km/b[3]*.5}};il.1i.4ml=1b(a,b,c,d){1f 100>c||a>=1a.5mL||100>d||b>1a.5mK};il.1i.4mk=1b(a,b,c,d){1f 0<=c&&a<1a.5mJ&&0<=d&&b<1a.5mI};1d iZ=1b(a,b,c){1a.26q=a;1a.2Ik={};1a.1FO=c;1j(c=0;c<b.1h;c++){1d d=b.1n(c),e=d.10t;1a.2Ik[e]||(1a.2Ik[e]=[]);1a.2Ik[e].1q({1yC:d.1yC,16Q:1a.4mj(d,a)})}};iZ.1i.4mj=1b(a,b){1d c=.1tu/1k.3r(2,b.2wT.z-1a.26q.2wT.z);1f{x:1k.2t((1c8*b.2wT.x+a.2Im)*c),y:1k.2t((1c8*b.2wT.y+a.2Il)*c)}};iZ.1i.4mi=1b(a,b,c){1j(1d d=1a.26q.2wT.z<b.2wT.z?1:1k.3r(2,1a.26q.2wT.z-b.2wT.z),e=0;e<a.1h;e++){1d f=a.1n(e);if(!f.1yC){1d g=1a.2Ik[f.10t];if(g)1j(1d k=1a.4mj(f,b),m=0;m<g.1h;m+=1){1d n=g[m];if(1k.abs(n.16Q.x-k.x)<=d&&1k.abs(n.16Q.y-k.y)<=d&&!c[n.1yC]){c[n.1yC]=!0;f.1yC=n.1yC;1W}}}}};1d 4mg=1b(){1a.5mH=0};4mg.1i.5mG=1b(){1f++1a.5mH};1d WF=1b(){1a.1FP={};1a.3kl={};1a.30x=0};WF.1i.5mF=1b(a){1d b=1k.9p((a-1a.30x)/360);if(0!==b)1j(1d c in 1a.1FP){1d d=1a.1FP[c],e={},f;1j(f in d){1d g=d[f];g.26q=g.26q.7by(g.26q.1FQ+b);e[g.26q.10t]=g}1a.1FP[c]=e}1a.30x=a};WF.1i.5mD=1b(a,b,c){if(1a.1FP[a.1ZM]&&1a.1FP[a.1ZM][a.10t]){if(1a.1FP[a.1ZM][a.10t].1FO===b.1FO)1f!1;1a.4mh(a.1ZM,1a.1FP[a.1ZM][a.10t])}1j(1d d=0;d<b.1J8.1h;d++)b.1J8.1n(d).1yC=0;1a.3kl[a.1ZM]||(1a.3kl[a.1ZM]={});d=1a.3kl[a.1ZM];1j(1d e in 1a.1FP){1d f=1a.1FP[e];if(3a(e)>a.1ZM)1j(1d g in f){1d k=f[g];k.26q.7bx(a)&&k.4mi(b.1J8,a,d)}1s k=a.7bw(3a(e)),(f=f[k.10t])&&f.4mi(b.1J8,a,d)}1j(e=0;e<b.1J8.1h;e++)g=b.1J8.1n(e),g.1yC||(g.1yC=c.5mG(),d[g.1yC]=!0);1p 0===1a.1FP[a.1ZM]&&(1a.1FP[a.1ZM]={});1a.1FP[a.1ZM][a.10t]=1g iZ(a,b.1J8,b.1FO);1f!0};WF.1i.4mh=1b(a,b){1j(1d c in b.2Ik)1j(1d d=0,e=b.2Ik[c];d<e.1h;d+=1)4Y 1a.3kl[a][e[d].1yC]};WF.1i.5mB=1b(a){1d b=!1,c;1j(c in 1a.1FP){1d d=1a.1FP[c],e;1j(e in d)a[d[e].1FO]||(1a.4mh(c,d[e]),4Y d[e],b=!0)}1f b};1d jZ=1b(){1a.3ki={};1a.5mC=1g 4mg;1a.5mE=0;1a.7bv={}};jZ.1i.3kk=1b(a,b,c){1d d=1a.3ki[a.id];1p 0===d&&(d=1a.3ki[a.id]=1g WF);1d e=!1,f={};d.5mF(c);1j(c=0;c<b.1h;c+=1){1d g=b[c],k=g.3kj(a);k&&a.id===k.2lZ[0]&&(k.1FO||(k.1FO=++1a.5mE),d.5mD(g.26q,k,1a.5mC)&&(e=!0),f[k.1FO]=!0)}d.5mB(f)&&(e=!0);1f e};jZ.1i.7bu=1b(a){1d b={};a.12I(1b(a){b[a]=!0});1j(1d c in 1a.3ki)b[c]||4Y 1a.3ki[c]};1d HD=1b(){};HD.5mA=1b(a,b,c,d,e,f){e=c?.6*e*f:0;c=1k.1V(c?c.2W-c.3B:0,d?d.2W-d.3B:0)*f;1d g=0,k=4mf(a)/2;1j(d=0;d<a.1h-1;d++){f=a[d];1d m=a[d+1],n=f.6Y(m);if(g+n>k){k=(k-g)/n;g=2b(f.x,m.x,k);k=2b(f.y,m.y,k);d=1g kw(g,k,m.3kh(f),d);d.1LS();if(!e||PU(a,d,c,e,b))1f d;1W}g+=n}};HD.5mz=1b(a,b,c,d,e,f,g,k,m){e=1k.1V(d?d.2W-d.3B:0,e?e.2W-e.3B:0);1d h=e*g,l=0===a[0].x||a[0].x===m||0===a[0].y||a[0].y===m;b-h<b/4&&(b=h+b/4);1f 4me(a,l?b/2*k%b:(e/2+2*f)*g*k%b,b,d?.6*f*g:0,c,h,l,!1,m)};1d 4mc=1b(a){1a.5my=a;1a.5mx=0;1a.3kg={}};4mc.1i.1n=1b(a){if(1a.5my)1f{ID:0,3MU:1F};if(!1a.3kg[a]){1d b=++1a.5mx;1a.3kg[a]={ID:b,3MU:1b(a){1f a.4md===b}}}1f 1a.3kg[a]};1d Am=1b(a,b,c,d){1a.5o=a.1y();1a.4mb=1g il(1a.5o);1a.4m8={};1a.7bt={};1a.3kf={};1a.4m6=!1;1a.4m7=0;1a.1Ts=b;1a.7bs={};1a.3kg=1g 4mc(c);if(1a.2Ij=d)d.2Ij=1p 0;1a.5mu={}};Am.1i.7br=1b(a,b,c,d){};Am.1i.7bq=1b(a,b,c,d,e,f,g,k,m,n,q,r,u,v,t){1d h=[r.7bp,r.7bo],l=1g Yc(0,0);b=1a.4mb.4ma(4m9(b,l.x,l.y,f,g,1a.5o.8f),q,k,m,n.3MU);if((!t||0!==1a.4mb.4ma(4m9(t,l.x,l.y,f,g,1a.5o.8f),q,k,m,n.3MU).13F.1h)&&0<b.13F.1h){if(1a.2Ij&&1a.2Ij.3kf[r.1yC]&&1a.2Ij.4m8[r.1yC]&&1a.2Ij.4m8[r.1yC].3l)1d p=1a.2Ij.3kf[r.1yC].1cs;1a.3kf[r.1yC]={5mw:h,1G:c,1D:d,1cs:a,5mv:e,7bn:p};1a.7bm(u,a,r,v);u.2wP&&(1a.5mt(u,v,r),1a.5mu[r.1yC]=v);1f{1hN:l,7bl:b}}};Am.1i.7bk=1b(a,b,c,d,e,f,g,k,m,n){};Am.1i.5mt=1b(a,b,c){};Am.1i.2wS=1b(a){};Am.1i.7bj=1b(a,b,c){};Am.1i.3MT=1b(a){1f 0===1a.1Ts?1:(a-1a.4m7)/1a.1Ts+1a.7bi};Am.1i.5ms=1b(a){1f 1k.1V(0,(1a.5o.5K-a)/1.5)};Am.1i.7bh=1b(a){1f 1a.4m6||a-1a.7bg<1a.1Ts};Am.1i.7bf=1b(a,b){1d c=1a.5mr===b?1-1a.5ms(b):1;1a.5mr=b;1f 1a.4m7+1a.1Ts*c>a};Am.1i.7be=1b(){1a.4m6=!0};1d Kz=1b(){};Kz.4m5=1b(a,b,c,d){1d e=[],f=a.4d,g=f.13S,k=f.1LR.w-2,m=f.1LR.h-2,n=a.2W-a.3B,q=a.7b-a.5C,r=f.2lX||[[0,k]],u=f.2lW||[[0,m]],v=1b(a,b){1f a+b[1]-b[0]},t=r.2lY(v,0),y=u.2lY(v,0),A=k-t,B=m-y,C=0,E=t,F=0,H=y,I=0,J=A,L=0,M=B;f.15k&&d&&(v=f.15k,C=SK(r,0,v[0]),F=SK(u,0,v[1]),E=SK(r,v[0],v[2]),H=SK(u,v[1],v[3]),I=v[0]-C,L=v[1]-F,J=v[2]-v[0]-E,M=v[3]-v[1]-H);v=1b(d,e,h,k){1d l=(d.1qv-C)/E*n+a.3B,m=d.1J7-I-J*d.1qv/t,p=(e.1qv-F)/H*q+a.5C,r=e.1J7-L-M*e.1qv/y,u=(h.1qv-C)/E*n+a.3B,v=h.1J7-I-J*h.1qv/t,w=(k.1qv-F)/H*q+a.5C,x=k.1J7-L-M*k.1qv/y,z=1g Yc(l,p);p=1g Yc(u,p);u=1g Yc(u,w);l=1g Yc(l,w);m=1g Yc(m/g,r/g);v=1g Yc(v/g,x/g);if(r=b*1k.PI/180)x=1k.2T(r),r=1k.3i(r),x=[r,-x,x,r],z.2e0(x),p.2e0(x),l.2e0(x),u.2e0(x);d=d.1qv+d.1J7;e=e.1qv+e.1J7;1f{tl:z,tr:p,bl:l,br:u,9f:{x:f.1LR.x+1+d,y:f.1LR.y+1+e,w:h.1qv+h.1J7-d,h:k.1qv+k.1J7-e},3ke:1p 0,3kd:[0,0],1Pj:0,4m3:m,4m2:v,4m1:J/g/n,4m0:M/g/q,30t:c}};if(d&&(f.2lX||f.2lW))1j(d=4m4(r,A,t),u=4m4(u,B,y),k=0;k<d.1h-1;k++)1j(m=d[k],r=d[k+1],B=0;B<u.1h-1;B++)e.1q(v(m,u[B],r,u[B+1]));1s e.1q(v({1J7:0,1qv:-1},{1J7:0,1qv:-1},{1J7:0,1qv:k+1},{1J7:0,1qv:m+1}));1f e};Kz.5mq=1b(a,b,c,d,e,f,g,k){a=d.11e.1n("3l-17b").3x(f,{})*1k.PI/180;d=[];f=0;1j(1d h=b.3MN;f<h.1h;f+=1)1j(1d l=h[f],m=0,q=l.5mp;m<q.1h;m+=1){1d r=q[m];if(r.2wR){1d u=r.2wR||{},t=4,v=!0,y=1,A=0,B=(e||k)&&r.1km,C=r.30w.7bd*r.3b/2;if(k&&b.5mo){1d E=24*(r.3b-1);A=(24-r.30w.1G*r.3b)/2;A=l.1uF/2-(r.30v?-A:E)}r.30v&&(E=g[r.30v],v=E.1D1,y=E.13S,t=1/y);E=e?[r.x+C,r.y]:[0,0];1d F=e?[0,0]:[r.x+C+c[0],r.y+c[1]-A],H=[0,0];B&&(H=F,F=[0,0]);A=(r.30w.3B-t)*r.3b-C+F[0];t=(-r.30w.5C-t)*r.3b+F[1];F=A+u.w*r.3b/y;1d I=t+u.h*r.3b/y;y=1g Yc(A,t);t=1g Yc(F,t);A=1g Yc(A,I);F=1g Yc(F,I);B&&(B=1g Yc(-C,C- -17),I=-1k.PI/2,C=12-C,C=1g Yc(22-C,-(r.30v?C:0)),H=1g(1wM.1i.7X.6c(Yc,[1F].9V(H))),y.30u(I,B).1LQ(C).1LQ(H),t.30u(I,B).1LQ(C).1LQ(H),A.30u(I,B).1LQ(C).1LQ(H),F.30u(I,B).1LQ(C).1LQ(H));a&&(C=1k.2T(a),B=1k.3i(a),C=[B,-C,C,B],y.2e0(C),t.2e0(C),A.2e0(C),F.2e0(C));C=1g Yc(0,0);B=1g Yc(0,0);d.1q({tl:y,tr:t,bl:A,br:F,9f:u,3ke:b.3ke,3kd:E,1Pj:r.1Pj,30t:v,4m3:C,4m2:B,4m1:0,4m0:0})}}1f d};1d ex=1b(){},QU=3a.19B;ex.5mi=1b(a,b){1b c(a,b){1d c=0,d=0;0>b&&(b=0);1d e=b/1k.3Y(2);6U(a){1S"5C-2W":1S"5C-3B":d=e-7;1W;1S"7b-2W":1S"7b-3B":d=-e+7;1W;1S"7b":d=-b+7;1W;1S"5C":d=b-7}6U(a){1S"5C-2W":1S"7b-2W":c=-e;1W;1S"5C-3B":1S"7b-3B":c=e;1W;1S"3B":c=b;1W;1S"2W":c=-b}1f[c,d]}1b d(a,b,c){1d d=0,e=0;b=1k.abs(b);c=1k.abs(c);6U(a){1S"5C-2W":1S"5C-3B":1S"5C":e=c-7;1W;1S"7b-2W":1S"7b-3B":1S"7b":e=-c+7}6U(a){1S"5C-2W":1S"7b-2W":1S"2W":d=-b;1W;1S"5C-3B":1S"7b-3B":1S"3B":d=b}1f[d,e]}1f b[1]!==QU?d(a,b[0],b[1]):c(a,b[0])};ex.7bc=1b(a,b,c,d,e,f){a.5mn();a.2Ii=1c8/(512*a.1J6);a.4lZ={};a.4lV=!1;1d g=a.9Q[0].11e,k=a.9Q[0].26p.14z,m={};if("1sh"===a.3MS.5x){1d n=a.3MS,q=n.3MQ;m.4lY=[k["3l-4V"].1nb(1g Lf(n.3MP)),k["3l-4V"].1nb(1g Lf(q))]}"1sh"===a.3MR.5x&&(n=a.3MR,q=n.3MQ,m.4lX=[k["6O-4V"].1nb(1g Lf(n.3MP)),k["6O-4V"].1nb(1g Lf(q))]);m.5ml=k["3l-4V"].1nb(1g Lf(a.5K+1));m.5mk=k["6O-4V"].1nb(1g Lf(a.5K+1));m.5mm=k["3l-4V"].1nb(1g Lf(18));1d r=24*g.1n("3l-6D-1D"),u="5d"===g.1n("3l-5S-1ew")&&"7v"!==g.1n("1ap-1fJ"),v=g.1n("3l-1eL-2Ih"),t=g.1n("3l-4V");k=1b(){1d f=A[y],h=g.1n("3l-9O").3x(f,{}).14G(","),k=t.3x(f,{}),l=m.5ml.3x(f,{}),n=m.5mk.3x(f,{}),p={1ia:{},1km:1p 0},q=f.3l,w=[0,0];if(q){1d x=q.5s(),z=24*g.1n("3l-2wQ-1Im").3x(f,{}),B=hq.5mj(x)?z:0,C=g.1n("3l-1cs").3x(f,{}),D=g.1n("3l-2dZ-1cs");D||(w=(z=g.1n("3l-2Ig-2M").3x(f,{}))?ex.5mi(C,[24*z,QU]):g.1n("3l-2M").3x(f,{}).5d(1b(a){1f 24*a}));1d E=u?"2V":g.1n("3l-3MO").3x(f,{}),G=g.1n("1ap-1fJ"),F="7v"===G?24*g.1n("3l-1V-1G").3x(f,{}):0;z=1b(){a.2wP&&hq.3MM(x)&&(p.1km=tf.3kc(q,b,c,e,h,F,r,C,"3B",B,w,tf.1Tr.1km,!0,G,l,k))};if(!u&&D){D="1sg"===E?D.5d(1b(a){1f ex.4lS(a)}):[E];E=!1;1j(1d H=0;H<D.1h;H++){1d I=D[H];if(!p.1ia[I])if(E)p.1ia[I]=p.1ia[0];1s{1d J=tf.3kc(q,b,c,e,h,F,r,"2V",I,B,w,tf.1Tr.1ia,!1,G,l,k);J&&(p.1ia[I]=J,E=1===J.3MN.1h)}}z()}1s"1sg"===E&&(E=ex.4lS(C)),(D=tf.3kc(q,b,c,e,h,F,r,C,E,B,w,tf.1Tr.1ia,!1,G,l,k))&&(p.1ia[E]=D),z(),hq.3MM(x)&&u&&v&&(p.1km=tf.3kc(q,b,c,e,h,F,r,C,E,B,w,tf.1Tr.1km,!1,G,l,k))}z=1p 0;D=!1;f.6O&&f.6O.2i&&(E=d[f.6O.2i])&&(z=tf.5mh(e[f.6O.2i],g.1n("6O-2M").3x(f,{}),g.1n("6O-1cs").3x(f,{})),D=E.1D1,1p 0===a.4lW?a.4lW=E.1D1:a.4lW!==E.1D1&&11l.7k("18O 5mg 7bb: 1e6 3T 1D2 and 26o-1D2 5mf in 1bS 3J"),E.13S!==a.13S?a.4lV=!0:0!==g.1n("6O-17b").1AK(1)&&(a.4lV=!0));E=4lU(p.1ia)||p.1km;a.4lT=E?E.4lT:!1;(E||z)&&5me(a,f,p,z,d,m,l,n,w,D)};1j(1d y=0,A=a.1jG;y<A.1h;y+=1)k();f&&a.5md()};ex.4lS=1b(a){6U(a){1S "2W":1S "5C-2W":1S "7b-2W":1f"2W";1S"3B":1S"5C-3B":1S"7b-3B":1f"3B"}1f"2V"};1d ID=255,Lz=128*ID;JD.1i.1ts=1b(){1f 1a.19k};JD.1i.1uZ=1b(){1f 1a.1fr};JD.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(a.1h<1a.19k)1f 1F;1j(1d b=[],c=0;c<a.1h;++c)b.1q(a[c].1y());b.1q(a[0].1y());1f 1g nf({17D:1a.1dB,5I:b})};JD.1i.1tr=1b(){1f 1a.16v};Nz.1i.1uZ=1b(){1f 1a.1fr};Nz.1i.1ts=1b(){1f 1a.19k};Nz.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(a.1h<1a.19k||2===a.1h&&ha.1ZL(a[0],a[1]))1f 1F;1j(1d b=[],c=0;c<a.1h;++c)b.1q(a[c].1y());a=b[0];1d d=b[1],e=ha.3s(a,d);2>1a.1qu.1h&&(1a.1qu=[],1a.1qu.1q(.1),1a.1qu.1q(.1));1d f=1a.1qu[0],h=1a.1qu[1],l=1g k(e*f,e*f,0),m=1g k(e*(.5-h/2),0,0);b=1g k(.5*e,-e*h,0);1d n=1g k(e*(.5+h/2),0,0),q=1g k(e*(1-f),e*f,0);h=[];c=180*1k.PI/180;1j(1d r=270*1k.PI/180,u=3*1k.PI/180;c<=r;c+=u){1d v=1g k(l.x+e*f,l.y,0);v=ha.2dU(l,c,v);h.1q(v)}h.1q(m);h.1q(b);h.1q(n);c=270*1k.PI/180;1j(r=360*1k.PI/180;c<=r;c+=u)v=1g k(q.x+e*f,q.y,0),v=ha.2dU(q,c,v),h.1q(v);c=ha.1Te(a,d);d=[];1j(l=0;l<h.1h;l++)m=1g k(h[l].x+a.x,h[l].y+a.y,0),m=ha.2dU(a,c,m),d.1q(m);h=1g nf({5I:d,17D:wa.2lV});e=1g k(e*f,0,0);e=1g k(e.x+a.x,e.y+a.y,0);e=ha.2dU(a,c,e);1a.1Tf.1q(e);b=1g k(b.x+a.x,b.y+a.y,0);b=ha.2dU(a,c,b);1a.1Tf.1q(b);1f h};Nz.1i.5ma=1b(a,b,c){a=a.5I;1d d=ha.3s(a[0],a[1]);0===b?(c=ha.3s(a[0],c)/d,0<c&&.4>c&&(1a.1qu[0]=c)):1===b&&(b=1g k((a[0].x+a[1].x)/2,(a[0].y+a[1].y)/2,0),1g k(c.x,b.y,0),c=ha.3s(c,b)/d,0<c&&.2>c&&(1a.1qu[1]=c));1f 1a.1m4({5I:a})};Nz.1i.1tr=1b(){1f 1a.16v};KD.1i.1uZ=1b(){1f 1a.1fr};KD.1i.1ts=1b(){1f 1a.19k};KD.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;1j(1d b=[],c=0;c<a.5I.1h;++c)b.1q(a.5I[c].1y());if(b.1h<1a.19k||2===b.1h&&ha.1ZL(b[0],b[1]))1f 1F;1j(2===b.1h&&b.1q(b[1].1y());360<1a.1v0;)1a.1v0-=360;1j(;0>1a.1v0;)1a.1v0+=360;1j(;360<1a.1tt;)1a.1tt-=360;1j(;0>1a.1tt;)1a.1tt+=360;1j(;1a.1tt<1a.1v0;)1a.1tt+=360;1d d=ha.3s(b[0],b[1]),e=ha.3s(b[0],b[2]),f=[];c=[];a=[];1j(1d h=1k.PI/180,l=(1a.1tt-1a.1v0)/72,m=1a.1v0;m<1a.1tt+l/2;m+=l){1d n=b[0].x+e*1k.3i(m*h),q=b[0].y+e*1k.2T(m*h);f.1q(1g k(b[0].x+d*1k.3i(m*h),b[0].y+d*1k.2T(m*h),0));c.1q(1g k(n,q,0))}f.1q(f[0].1y());c.1q(c[0].1y());b=1g nf({5I:f,17D:wa.1wL});a.1q(b);b=1g nf({5I:c,17D:wa.1wL});a.1q(b);1f a};KD.1i.1tr=1b(){1f 1a.16v};LD.1i.1uZ=1b(){1f 1a.1fr};LD.1i.1ts=1b(){1f 1a.19k};LD.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;1d b=a.5I;if(b.1h<1a.19k||2==b.1h&&ha.1ZL(b[0],b[1]))1f 1F;a=[];if(2===b.1h){1d c=b[0].1y(),d=b[1].1y();b=ha.3s(c,d)/2;1d e=180*ha.1Te(c,d)/1k.PI;1d f=1g k((c.x+d.x)/2,(c.y+d.y)/2,0);1d h=ha.1ZK(f,b,b,e+90);h=ha.2HB(b,h);a=[];h=1g nf({5I:h,17D:wa.2dY});a.1q(h);f=ha.1ZK(f,3*b,3*b,e+90);b=ha.2HB(b,f);b=1g nf({5I:b,17D:wa.2dY});a.1q(b)}1s{c=b[0];d=b[1];1d l=b[2];e=ha.3ML(l,c,d)?180*ha.1Te(d,c)/1k.PI+90:180*ha.1Te(c,d)/1k.PI+90;b=ha.3s(c,d)/2;f=1g k((c.x+d.x)/2,(c.y+d.y)/2,0);h=ha.1ZK(f,b,b,e);c=ha.5mc(l,c,d);if(c<=4*b)f=ha.1ZK(f,3*b,3*b,e),h=ha.2HB(b,h),a.1q(1g nf({5I:h,17D:wa.5mb})),b=ha.2HB(b,f),a.1q(1g nf({5I:b,17D:wa.5mb}));1s{f=ha.1ZK(f,c-b,c-b,e);1d m=180*1k.1cz(b/(c-2*b))/1k.PI,n=e-m;d=e-180+m;l=e-180-m+360;c=[];1j(e=e+m-360;e<=n;e+=4)m=ha.1ZK(h,b,b,e),c.1q(m);h=ha.1ZK(h,b,b,n);c.1q(h);h=[];1j(e=d;e<l;e+=4)m=ha.1ZK(f,b,b,e),h.1q(m);b=ha.1ZK(f,b,b,l);h.1q(b);b=[];b=b.9V(c);1j(e=h.1h-1;0<=e;e--)b.1q(h[e]);b.1q(b[0].1y());a.1q(1g nf({5I:b,17D:wa.1wL}))}}1f a};LD.1i.1tr=1b(){1f 1a.16v};MD.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;1d b=a.1h;if(2==b&&ha.1ZL(a[0],a[1])||b<1a.19k)1f 1F;1j(1d c=[],d=0;d<b;++d)c.1q(a[d].1y());c.1q(a[0].1y());a=ha.3kb(c);a=ha.3ka(a);a=ha.2If(a);1f 1g nf({5I:a,17D:wa.1wL})};MD.1i.1uZ=1b(){1f 1a.1fr};MD.1i.1ts=1b(){1f 1a.19k};MD.1i.1tr=1b(){1f 1a.16v};ND.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;1f 1F===a||a.1h<1a.19k||a.1h<1a.19k?1F:1g nf({17D:1a.1dB,5I:a})};ND.1i.1uZ=1b(){1f 1a.1fr};ND.1i.1ts=1b(){1f 1a.19k};ND.1i.1tr=1b(){1f 1a.16v};OD.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;a=a.5I;if(1F===a||a.1h<1a.19k)1f 1F;1d b=[],c=a.1h,d=2*1k.PI/(c+1),e=1k.PI/2,f=ha.3s(a[0],a[c-1]);f=(1g k(a[0].x+f,a[0].y,a[0].z)).1y();f=ha.2dU(a[0],e,f);b.1q(f.1y());1j(e=1;e<c+1;++e)f=ha.2dU(a[0],d,f),b.1q(f.1y());b.1q(b[0]);1f 1g nf({17D:wa.1wL,5I:b})};OD.1i.1uZ=1b(){1f 1a.1fr};OD.1i.1ts=1b(){1f 1a.19k};OD.1i.1tr=1b(){1f 1a.16v};Oz.1i.1uZ=1b(){1f 1a.1fr};Oz.1i.1ts=1b(){1f 1a.19k};Oz.1i.1tr=1b(){1f 1a.16v};Oz.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;1d b=a.5I;if(b.1h<1a.19k||2===b.1h&&ha.1ZL(b[0],b[1]))1f 1F;1d c=b[0].1y(),d=b[1].1y(),e=ha.3s(c,d)*1a.1qu[0];a=ha.30s(b,e/2);1d f=ha.30s(b,-e/2),h=180*ha.1Te(c,d)/1k.PI;b=[];1j(1d l=h+90;l<=h+270;l+=10){1d m=ha.1ZK(c,e/2,e/2,l);b.1q(m)}c=[];1j(l=h-90;l<=h+90;l+=10)m=ha.1ZK(d,e/2,e/2,l),c.1q(m);d=[];d=d.9V(b);d=d.9V(f);d=d.9V(c);d=d.9V(a);d=ha.2If(d);a=1g nf({5I:d,17D:wa.1wL});b=1g k(b[0].x,b[0].y,b[0].z);1a.1Tf.1q(b);1f a};Oz.1i.5ma=1b(a,b,c){0==b&&(b=ha.3s(c,a.5I[0]),a=ha.3s(a.5I[0],a.5I[1]),1a.1Tf[0]=2*b/a)};PD.1i.1m4=1b(a){if(!g(a)||!g(a.5I))1f 1F;1d b=a.5I;if(b.1h<1a.19k)1f 1F;a=[];1d c=b[0].1y(),d=b[1].1y(),e=b[2].1y();b=1g k(0,0,0);ha.3MK(1,e,d,c,b);a.1q(c);a.1q(d);a.1q(e);a.1q(b);e=ha.3MJ(c,d,e,b);1d f=e.3MI;e.3k9&&(f.x>c.x&&f.x<d.x||f.y>c.y&&f.y<d.y||f.x<c.x&&f.x>d.x||f.y<c.y&&f.y>d.y)&&(a[0]=b,a[3]=c);if(4===a.1h){a.1q(a[0].1y());1d h=1g nf({17D:wa.1wL,5I:a})}1f h};PD.1i.1uZ=1b(){1f 1a.1fr};PD.1i.1ts=1b(){1f 1a.19k};PD.1i.1tr=1b(){1f 1a.16v};lw.1n4=1b(a){if(1F==a)1f 1F;6U(a.7m){1S 10J:1f a=\'"\'+a.3X(/(["\\\\])/g,"\\\\$1")+\'"\',a=a.3X(/\\n/g,"\\\\n"),a=a.3X(/\\r/g,"\\\\r"),a=a.3X("<","&lt;"),a=a.3X(">","&gt;"),a=a.3X(/%/g,"%7ba"),a=a.3X(/&/g,"%26");1S 2K:1j(1d b=[],c=0,d=a.1h;c<d;c++)b.1q(1a.1n4(a[c]));1f"["+b.14G(",")+"]";1S 3a:1f 1AJ(a)?10J(a):1F;1S 17L:1f 10J(a);1S 16V:1f"{\'7b9\':\\"4lR.7b8\\",\'7b7\':"+a.5m9()+",\'7b6\':"+(a.5m8()+1)+",\'7b5\':"+a.5m7()+",\'7b4\':"+a.5m6()+",\'7b3\':"+a.5m5()+",\'4lQ\':"+a.5m4()+",\'7b2\':"+a.7b1()+",\'7b0\':"+a.5m3()+"}";4T:if(1F!=a.1n4&&"1b"===2h a.1n4)1f a.1n4();if("2c"===2h a){if(a.1h){b=[];c=0;1j(d=a.1h;c<d;c++)b.1q(1a.1n4(a[c]));1f"["+b.14G(",")+"]"}b=[];1j(c in a)"1b"!==2h a[c]&&"4lP"!==c&&"12f"!==c&&b.1q(\'"\'+c+\'":\'+1a.1n4(a[c]));1f 0<b.1h?"{"+b.14G(",")+"}":"{}"}1f a.5s()}};lw.4lM=1b(a,b){1f g(a)?a.25X():1F};lw.5lR=1b(a,b){b.4jd(a)};TK.1i.7aZ=1b(){1a.1Tp=1a.2lU=1a.2wK=1F};QD.1i.3MC=1b(a){1a.3k3=a.5m2;1a.3k4=a.5m1;1a.3k6=a.5m0;1a.3k7=a.5lZ;1a.3k5=a.5lY;1a.3k8=a.5lX};QD.1i.1n4=1b(){1f\'{"5m2":\'+14y.1n4(1a.3k3)+\',"5m1":\'+14y.1n4(1a.3k4)+\',"5m0":\'+14y.1n4(1a.3k6)+\',"5lZ":\'+14y.1n4(1a.3k7)+\',"5lY":\'+14y.1n4(1a.3k5)+\',"5lX":\'+14y.1n4(1a.3k8)+"}"};QD.1i.1M=1b(){1a.3k8=1a.3k7=1a.3k6=1a.3k5=1a.3k4=1a.3k3=""};1d AN=7O.14y=7O.14y||{},kZ=1F;Xe.1tm=1b(a){kZ||(kZ=1g AN.3JM(a));1f kZ};Xe.1i.7aY=1b(a,b){g(a)&&1F!==a&&(g(b)&&""!==b||(b="5lW"),1a.3MD(a,b))};Xe.1i.7aX=1b(a,b){1d c=1a,d=3n.2wN(a).1Q;if(g(d)){1d e=c.1uS,f=e.13c(e.1h-1,1);e+="/"===f?"1Dw/":"/1Dw/";d=d.7g("\\\\");1d h=d[d.1h-1];""!==h&&$.3MH({2I:e+h,3MG:!1,3MF:a,2dX:"15l",2wM:3ME,1LP:1b(){c.5lT(h,b)},7A:1b(){c.3Mz.5k()}})}};Xe.1i.7aW=1b(a){if(7O.2sb){1d b=1a,c=3n.2wN(a).24u;if(0!==c.1h){1d d=1g 2sb;d.3Cu(c[0]);d.7aV=1b(a){(2wO<=a.1J5||0>=a.1J5)&&b.3My.5k()};d.1ra=1b(a){b.3My.5k()};d.7aU=1b(){b.4lC.5k()};d.1w2=1b(c){1f b.3MD(4H.5N(c.15s.4D),a)}}}};Xe.1i.7aT=1b(a,b){1d c=1a,d=c.1uS,e=d.13c(d.1h-1,1);d+="/"===e?"1Dw/":"/1Dw/";e=3n.2wN(a).1Q.7g("\\\\");1d f=e[e.1h-1];""!==f&&$.3MH({2I:d+f,3MG:!1,3MF:a,2dX:"15l",2wM:3ME,1LP:1b(a,d){c.5lV(f,b)},7A:1b(a,b,d){c.3k0.5k()}})};Xe.1i.7aS=1b(a,b){1d c=1a.1uS,d=c.13c(c.1h-1,1);c+="/"===d?"1Dw/":"/1Dw/";d=3n.2wN(a).1Q.7g("\\\\");d=d[d.1h-1];""!==d&&$.3MH({2I:c+d,3MG:!1,3MF:a,2dX:"15l",2wM:3ME,1LP:1b(a,c){b({1LP:!0,19s:"1LP"})},7A:1b(a,c,d){b({1LP:!1,19s:"1bf"})}})};Xe.1i.7aR=1b(a,b){1d c=1a,d=c.1uS,e=d.13c(d.1h-1,1);d+="/"===e?"1Dw/":"/1Dw/";e=3n.2wN(a).1Q.7g("\\\\");1d f=e[e.1h-1];""!==f&&$.3MH({2I:d+f,3MG:!1,3MF:a,2dX:"15l",2wM:3ME,1LP:1b(a,d){c.5lU(f,b)},7A:1b(a,b,d){c.3Mx.5k()}})};Xe.1i.5lV=1b(a,b){1d c=1a,d=1a.2R;a=1a.2wL({26l:a,1tq:"1Tq"});Fe(a).4b(1b(a){if(g(a)){a=a.1Tp;1j(1d e=1F,h=0;h<a.1h;++h)if(1F!==a[h].1pk){1d k=c.2R.2dV;e=k.1oZ(a[h].1pk);b&&!g(e)&&(e=1g rd(d,a[h].1pk),k.add(e));g(e)&&c.30q(a[h],e)}1F!==e?c.4lA.5k():c.3k0.5k()}},1b(a){c.3k0.5k()})};Xe.1i.5lU=1b(a,b){1d c=1a,d=1a.2R;a=c.2wL({26l:a,1tq:"1Tq"});Fe(a).4b(1b(a){if(g(a)){a=a.1Tp;1d e=d.2dV;1d h=e.1oZ(b);g(h)||(h=1g rd(d,b),e.add(h));1j(e=0;e<a.1h;++e)c.30q(a[e],h);c.4lB.5k()}},1b(a){c.3Mx.5k()})};Xe.1i.7aQ=1b(a){1f"7aP/"+a+".1m3"};Xe.1i.5lT=1b(a,b){1d c=1a,d=1a.2wL({26l:a});Fe(d).4b(1b(d){c.3MD(d,a);c.4lJ.5k();"1b"===2h b&&b({1LP:!0,26l:a,7aO:c.3k1()})},1b(a){c.3Mz.5k();"1b"===2h b&&b({1LP:!1,19s:"30r 1bf"})})};Xe.1i.7aN=1b(a){1d b=1a,c=1a.2wL({26l:a}),d=AN.5lM(c+"?4lL=16f");d&&(c=d.5lL,c.13U.on({2ly:1b(a){b.4lz.5k()},2lx:1b(a){b.4ly.5k()},1A9:1a}),d=d.5lK,d.1tq="5lS",d.26l=a,c.2lw(d))};Xe.1i.7aM=1b(a){if(g(1a.2dW)&&g(1a.2dW.1Tp))1j(1d b=0;b<1a.2dW.1Tp.1h;++b)if(a.6X==1a.2dW.1Tp[b].1pk){1j(1d c=1a.2dW.1Tp[b],d=[],e=a.3MA,f=0;f<e.1h;++f){1d h=e[f];h=lw.4lM(h,h.7n);d.1q(h)}c.1jG=d;c.2lT=a.2lT;c.2lS=a.2lS;c.1Pi=a.1Pi;c.7aL=a.12F}};Xe.1i.7aK=1b(a,b){1d c=1a;a*=b;1d d=c.1uS,e=d.13c(d.1h-1,1);d=d+("/"===e?"1Dw":"/1Dw")+".15l?4I="+(a+"&7Z="+b);Fe(d).4b(1b(a){c.4lG.5k(a)},1b(a){c.4lF.5k(a)})};Xe.1i.7aJ=1b(a){1b b(a){1a.4lE.5k(a.2wK)}1b c(a){1a.4lD.5k(1F)}a=1a.2wL({26l:a});Fe(a).4b(1b(a){b(a)},1b(a){c()})};Xe.1i.7aI=1b(a){1a.4lO(a,!1)};Xe.1i.7aH=1b(){1a.30o="";1a.2Ic.1M();1j(1d a,b=1a.2R.2dV,c=0;c<b.17f.1h;++c)a=b.2Id(c),a 2m rd&&b.3S(a.6X)};Xe.1i.3MD=1b(a,b){1a.30o=b;1a.2Ic.3MC(a.2wK);a.2lU&&(1a.2dW.2lU=a.2lU);a=1a.2dW.1Tp=a.1Tp;b=1a.2R;1d c=b.2dV;1d d=c.17f.1h;1j(1d e=0;e<d;){1d f=c.2Id(e);f 2m rd?(f.7f(),c.3S(f.6X),d--):e++}1j(e=0;e<a.1h;++e)d=1g rd(b,a[e].1pk),c.add(d),1a.30q(a[e],d),1p 0!==a[e].2lT&&1F!==a[e].2lT&&(d.2lT=a[e].2lT),1p 0!==a[e].1Pi&&1F!==a[e].1Pi&&(d.1Pi=a[e].1Pi),1p 0!==a[e].2lS&&1F!==a[e].2lS&&(d.2lS=a[e].2lS),1p 0!==a[e].12F&&1F!==a[e].12F&&(d.12F=a[e].12F)};Xe.1i.30q=1b(a,b){1j(1d c=0,d=a.1jG.1h;c<d;++c){1d e=a.1jG[c];1F!==e&&(e.3p("26n")||(e.26n=!0),lw.5lR(e,b))}};Xe.1i.7aG=1b(){1a.4lO(1a.26l,!0)};Xe.1i.4lO=1b(a,b){1d c=1a,d=c.2R,e=1g TK;e.2wK=1a.2Ic;e.2lU=c.2dW.2lU?c.2dW.2lU:{5K:4,1J4:112.5,3k2:36.5};e.1Tp=[];d=d.2dV;1j(1d f,g,k=0;k<d.17f.1h;++k)if(f=d.2Id(k),f 2m rd){g=1g 4iD;g.1pk=f.6X;g.3MB=m(f.3MB,1F);g.4lN=!0;g.2lT=f.2lT;g.2lS=f.2lS;g.1Pi=f.1Pi;g.12F=f.12F;1j(1d p=0;p<f.3MA.1h;++p){1d n=lw.4lM(f.3MA[p]);g.1jG.1q(n)}e.1Tp.1q(g)}d=c.1uS;f=d.13c(d.1h-1,1);d=d+("/"===f?"1Dw/":"/1Dw/")+(a+".15l?4lL=")+b;a=1F;a=AN.1n4(e);1d q=1g 1J3;q.30p=1b(){4==q.2Ie&&201==q.1hM?c.4lH.5k(1p 0):4==q.2Ie&&201!=q.1hM&&c.4lI.5k(1p 0)};q.1pj("4lK",d,!0);q.26m(a)};Xe.1i.3k1=1b(){1j(1d a=[],b=1a.2R.2dV,c=0;c<b.17f.1h;++c){1d d=b.2Id(c);d 2m rd&&a.1q(d)}1f a};Xe.1i.2wL=1b(a){1d b=1a.1uS,c=b.13c(b.1h-1,1);b+="/"===c?"1Dw/":"/1Dw/";a=a.26l;a.141(19j(/./))&&(a=a.7g(".")[0]);1f b+(a+".15l")};1L.2X(Xe.1i,{4r:{1n:1b(){1f 1a.2R}},2HK:{1n:1b(){1f 1a.1uS}},2wK:{1n:1b(){1f 1a.2Ic},1C:1b(a){a!==1a.2Ic&&(1a.2Ic=a)}},26l:{1n:1b(){1f 1a.30o},1C:1b(a){a!==1a.30o&&(1a.30o=a)}},7aF:{1n:1b(){1f 1a.4lJ}},7aE:{1n:1b(){1f 1a.3Mz}},7aD:{1n:1b(){1f 1a.4lI}},7aC:{1n:1b(){1f 1a.4lH}},7aB:{1n:1b(){1f 1a.4lG}},7aA:{1n:1b(){1f 1a.4lF}},7az:{1n:1b(){1f 1a.4lE}},7ay:{1n:1b(){1f 1a.4lD}},7ax:{1n:1b(){1f 1a.4lC}},7aw:{1n:1b(){1f 1a.3My}},7av:{1n:1b(){1f 1a.4lB}},7au:{1n:1b(){1f 1a.3Mx}},7at:{1n:1b(){1f 1a.4lA}},7as:{1n:1b(){1f 1a.3k0}},7ar:{1n:1b(){1f 1a.4lz}},7aq:{1n:1b(){1f 1a.4ly}}});AN.3JM=Xe;1d mj=7O.14y=7O.14y||{};mj.5lQ=1b(a){if(1p 0!==1f2)1f 1f2.1To.4lw.7ap({19C:a.19C,16A:a.16A})};mj.3jZ=1b(a){if(1p 0!==1f2)1f 1f2.1To.4lw.3jZ(a.19C,a.16A)};mj.4lx=1b(a,b){if(1p 0!==1f2)1f 1f2.1To.5lP.4lx(a,b)};mj.1Zv=1b(a,b,c){1p 0===c&&(c=an.1tm(1F,1F).5lO());if(1p 0===1f2||0===a||mj.4lu().2wJ(1a.19C))1f 0===a?a:1F;1d d=1g 1f2.5lN;d.19C=a;d.16A=b;d.1LO=1;a=1g 1f2.7ao(c);1f{2HM:d,1Zu:a}};mj.1n4=1b(a){1f 1p 0!==1f2?1f2.1To.2Ib.1n4(a):""};mj.5lM=1b(a){if(1p 0!==1f2){a=1g 1f2.7an(a);1d b=1g 1f2.7am;1f{5lL:a,5lK:b}}};mj.2wI=1b(a){1f 1p 0!==1f2?1f2.1To.2Ib.2wI(a):[]};mj.4lv=1b(a,b){1f 1p 0!==1f2?1f2.1To.4lw.4lv(a,b):!1};mj.3jY=1b(a){1f 1p 0!==1f2?1f2.1To.2Ib.3jY(a):0};mj.5lJ=1b(a){if(1p 0!==1f2)1f 1f2.1To.7al.5lJ(a)};mj.2dU=1b(a,b,c){1p 0!==1f2&&1f2.1To.2Ib.2dU(a,b,c)};mj.1de=1b(a){if(1p 0!==1f2)1f 1f2.1de(a)};mj.4lu=1b(){1f an.1tm().5lI()};mj.5lH=1b(a,b){1f 1g 1f2.1To.4if(a,b)};1d 4lt=7O.14y=7O.14y||{};Mq.1i.1Dr=1b(a,b){1d c=1a.5lG(a);1F===c?1a.5U.1q(4lt.5lH(a,b)):c.1cf(b);1f!0};Mq.1i.7ak=1b(a){1j(1d b=0;b<1a.5U.1h;b++)if(1a.5U[b].10t===a)1f 1a.5U.4h(b,1),!0;1f!1};Mq.1i.5lG=1b(a){1j(1d b=0;b<1a.5U.1h;b++)if(1a.5U[b].10t===a)1f 1a.5U[b];1f 1F};Mq.1i.2Ia=1b(a){1j(1d b=0;b<1a.5U.1h;b++)if(1a.5U[b].10t===a)1f 1a.5U[b].1Q;1f 1F};Mq.1i.7aj=1b(a){1f a<1a.5U.1h?1a.5U[a]:1F};Mq.1i.7ai=1b(){1f 1a.5U.1h};Mq.1i.1M=1b(){1a.5U=1F};4lt.3KM=Mq;1d VK,XF=y.5X("15A(247,250,255,0.384)"),BN=y.5X("15A(143,191,255,0.216)"),lZ=y.5X("15A(153,197,255,0.7ah)"),CN=y.5X("15A(255,255,255,0.7ag)"),5ln=y.5X("15A(255,255,255,0.267)"),5lm=y.5X("15A(255,255,255,0)"),3jX=y.5X("15A(66,67,68,0.3)"),4lf=y.5X("15A(0,0,0,0.5)"),UK=1g y;Nq.1i.1M=1b(){1a.1ZJ.12R("1aI",1a.4ls,!0);1j(1d a=1a.1J2,b=0,c=a.1h;b<c;b++)a[b].1n6();la(1a)};Nq.1i.3Z=1b(){1f!1};Nq.1i.5lF=1b(a){1a.1wK!==a&&((1a.1wK=a)?1a.3Mw?1a.1ZJ.8m("11F","3P-15R-2lR 3P-15R-4lr"):1a.1ZJ.8m("11F","3P-15R-2lR"):1a.1ZJ.8m("11F","3P-15R-5lE"))};Nq.1i.5lD=1b(a){1a.3Mw!==a&&(1a.3Mw=a,1a.1wK&&(a?1a.1ZJ.8m("11F","3P-15R-2lR 3P-15R-4lr"):1a.1ZJ.8m("11F","3P-15R-2lR")))};Nq.1i.5lC=1b(a){1a.1ZJ.1cE("17s")[0].8S=a};1L.2X(mw.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});mw.1i.3Z=1b(){1f!1};mw.1i.1M=1b(){g(1a.2wG)&&(1a.2wG.5kW(),1a.2wG=1p 0);1d a=1a.5lB;1a.4lq.12R("1m1",a,!0);1a.4lq.12R("1n9",a,!0);1a.4lp.12R("1m1",a,!0);1a.4lp.12R("1n9",a,!0);3n.12R("2wo",a,!0);3n.12R("2wn",a,!0);3n.12R("1ZA",a,!0);3n.12R("2lH",a,!0);3n.12R("3jh",a,!0);1a.2dT.12R("1m1",a,!0);1a.2dT.12R("1n9",a,!0);1a.2I9.12R("1m1",a,!0);1a.2I9.12R("1n9",a,!0);1a.15Q.18Z(1a.2I7);1a.15Q.18Z(1a.5lA);1a.4lo.1M();1a.4ln.1M();1a.4lm.1M();1a.4ll.1M();a=1a.1J2;1j(1d b=0,c=a.1h;b<c;b++)a[b].1n6();1f la(1a)};mw.1i.1ce=1b(){1d a=1a.15Q.18L,b=1a.15Q.1gt;if(a!==1a.268||b!==1a.2dy){1d c=1a.2I7,d=a,e=b;0===a&&0===b?(d=200,e=132):0===a?(e=b,d=b/132*200):0===b&&(d=a,e=a/200*132);1d f=d/200,g=e/132;c.2r.7af="1G: "+d+"px; 1D: "+e+"px; 1K: 1J1; 7b: 0; 3B: 0; 1Tn: 1qr;";c.8m("1G",d);c.8m("1D",e);c.8m("4lk","0 0 "+d+" "+e);1a.4lj.8m("5o","3b("+f+","+g+")");1a.4li=1k.1V(1,100*f);1a.4lh=1k.1V(1,100*g);1a.2dy=a;1a.268=b}};mw.1i.4l8=1b(){if(3n.1hg.8h(1a.15Q)){1d a=gt(1a.5lz),b=gt(1a.5ly),c=gt(1a.5lx),d=gt(1a.5lw),e=gt(1a.5lv),f=gt(1a.5lu),h=gt(1a.5lt),k=gt(1a.5ls);a=wn({12J:"4lg",9d:[{id:"5lr",12J:"2dS",x1:"50%",y1:"0%",x2:"50%",y2:"100%",9d:[{12J:"4U",2M:"0%","4U-1A":Yf(a,XF)},{12J:"4U",2M:"12%","4U-1A":Yf(a,BN)},{12J:"4U",2M:"46%","4U-1A":Yf(a,lZ)},{12J:"4U",2M:"81%","4U-1A":Yf(a,CN)}]},{id:"5lq",12J:"2dS",x1:"50%",y1:"0%",x2:"50%",y2:"100%",9d:[{12J:"4U",2M:"0%","4U-1A":Yf(b,XF)},{12J:"4U",2M:"12%","4U-1A":Yf(b,BN)},{12J:"4U",2M:"46%","4U-1A":Yf(b,lZ)},{12J:"4U",2M:"81%","4U-1A":Yf(b,CN)}]},{id:"5lp",12J:"2dS",x1:"50%",y1:"0%",x2:"50%",y2:"100%",9d:[{12J:"4U",2M:"0%","4U-1A":Yf(c,XF)},{12J:"4U",2M:"12%","4U-1A":Yf(c,BN)},{12J:"4U",2M:"46%","4U-1A":Yf(c,lZ)},{12J:"4U",2M:"81%","4U-1A":Yf(c,CN)}]},{id:"5lo",12J:"2dS",x1:"50%",y1:"0%",x2:"50%",y2:"100%",9d:[{12J:"4U",2M:"0%","4U-1A":Yf(d,5ln)},{12J:"4U",2M:"75%","4U-1A":Yf(d,5lm)}]},{id:"5ll",12J:"14O",1G:"200%",1D:"200%",x:"-50%",y:"-50%",9d:[{12J:"5lk",7ae:4,"in":"7ad"}]},{id:"5lj",12J:"2dS",x1:"50%",y1:"0%",x2:"50%",y2:"100%",9d:[{12J:"4U",2M:"0%","4U-7z":.2,"4U-1A":h.1fY()},{12J:"4U",2M:"85%","4U-7z":.85,"4U-1A":h.1fY()},{12J:"4U",2M:"95%","4U-7z":.1cN,"4U-1A":h.1fY()}]},{id:"5li",12J:"2dS",x1:"50%",y1:"0%",x2:"50%",y2:"100%",9d:[{12J:"4U",2M:"0%","4U-7z":.2,"4U-1A":k.1fY()},{12J:"4U",2M:"85%","4U-7z":.85,"4U-1A":k.1fY()},{12J:"4U",2M:"95%","4U-7z":.1cN,"4U-1A":k.1fY()}]},{id:"5lh",12J:"2dS",x1:"0%",y1:"50%",x2:"100%",y2:"50%",9d:[{12J:"4U",2M:"0%","4U-1A":f.1fY()},{12J:"4U",2M:"40%","4U-1A":f.1fY()},{12J:"4U",2M:"60%","4U-1A":Yf(f,4lf)},{12J:"4U",2M:"100%","4U-1A":Yf(f,4lf)}]},{id:"5lg",12J:"2dS",x1:"0%",y1:"50%",x2:"100%",y2:"50%",9d:[{12J:"4U",2M:"0%","4U-1A":"#5lf"},{12J:"4U",2M:"40%","4U-1A":"#5lf"},{12J:"4U",2M:"60%","4U-1A":"#555"},{12J:"4U",2M:"100%","4U-1A":"#555"}]},{id:"5le",12J:"2dS",x1:"20%",y1:"0%",x2:"90%",y2:"100%",9d:[{12J:"4U",2M:"5%","4U-1A":Yf(e,XF)},{12J:"4U",2M:"60%","4U-1A":Yf(e,3jX)},{12J:"4U",2M:"85%","4U-1A":Yf(e,BN)}]},{id:"5ld",12J:"2dS",x1:"20%",y1:"0%",x2:"90%",y2:"100%",9d:[{12J:"4U",2M:"5%","4U-1A":Yf(e,3jX)},{12J:"4U",2M:"60%","4U-1A":Yf(e,XF)},{12J:"4U",2M:"85%","4U-1A":Yf(e,CN)}]},{id:"7ac",12J:"9w",5o:"11v(16,16) 3b(0.85) 11v(-16,-16)",d:"4ld.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.4le"},{id:"5lc",12J:"9w",5o:"11v(16,16) 3b(0.85) 11v(-16,-16)",d:"7ab,5.5,7.5,5.5,7.5,25.5,13,25.7aa.5,5.5,19,5.5,19,25.5,24.5,25.5z"},{id:"5lb",12J:"9w",5o:"11v(16,16) 3b(0.85) 11v(-16,-16)",d:"M6.684,25.5l9.316,15.5L6.684,5.5l8.4le"},{id:"5la",12J:"9w",5o:"11v(16,16) 3b(-0.85,0.85) 11v(-16,-16)",d:"M6.684,25.5l9.316,15.5L6.684,5.5l8.4le"},{id:"7a9",12J:"9w",5o:"11v(16,16) 3b(0.85) 11v(-16,-16)",d:"4ld.249,15.7a8-0.7a7,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.7a6-6.365-2.7a5.5l7-1.7a4-7.901-3.7a3.744,8.7a2.193-1.7a1.244,2.594,5.562,4.242,9.26,4.7a0.767,0,12.249-5.482,12.249-12.79Z.79Y.499,6.79X.516,0,4.769,1.3fk,6.367,2.79W-2.5l7,1.79V.901,3.79U-0.746-8.79T-2.192,1.79S-2.245-2.594-5.562-4.245-9.262-4.79R.734,3.25,3.25,8.734,3.249,15.79Q.79P.758,10.668,10.668,6.758,15.499,6.75z"},{id:"5l6",12J:"9w",5o:"11v(16,16) 3b(0.85) 11v(-16,-15.5)",d:"79O.5,2.79N.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.79M.249-0.2kd,13.124-5.879,13.125-13.79L.624,8.251,22.749,2.375,15.5,2.79K.5,25.79J.909,25.615,5.385,21.30n,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.79I.59,0.11t,10.115,4.535,10.124,10.79H.615,21.30n,21.3Mu,25.615,15.5,25.79G.625,15.5c-0.17I-0.552-0.448-0.999-1.17I-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.3Mt,8.625,15.79F.179,18.5l4-0.478,0.277-0.642,0.889-0.365,1.4lc.275,0.479,0.889,0.641,1.365,0.3Ms.479-0.275,0.643-0.887,0.367-1.79D.27,18.461,8.658,18.297,8.179,18.79C.18,10.79B-0.479-0.276-1.30n-0.112-1.366,0.5l5-0.111,1.30n,0.365,1.79A.479,0.276,1.30n,0.113,1.367-0.79z.821,11.584,9.657,10.973,9.18,10.79y.822,12.79x.478-0.275,0.643-0.888,0.366-1.3Mv-0.275-0.478-0.89-0.642-1.366-0.3Mv-0.479,0.278-0.642,0.89-0.366,1.79w.732,12.54,22.344,12.705,22.822,12.79v.2I8,21.5l2-0.478-0.275-1.3jW-0.111-1.366,0.79u-0.275,0.479-0.111,1.30n,0.366,1.3Ms.478,0.277,1.3Mu,0.111,1.365-0.79t.704,22.344,12.54,21.732,12.2I8,21.79s.2I8,9.79r.479-0.276,0.642-0.888,0.366-1.3Mv-0.276-0.478-0.888-0.642-1.366-0.5l5-0.642,0.888-0.366,1.79q.973,9.658,11.584,9.822,12.2I8,9.79p.823,18.5l4-0.48-0.275-1.5l3-0.111-1.367,0.79o-0.275,0.479-0.112,1.5l3,0.367,1.4lc.477,0.275,1.3jW,0.113,1.365-0.79n.464,19.461,23.3,18.848,22.823,18.79m.938,7.79l-0.477-0.276-1.3Mu-0.111-1.365,0.3Mv-0.275,0.48-0.111,1.3Mu,0.366,1.79k.3jW,0.112,1.366-0.79j.581,8.702,20.418,8.3jW,19.938,7.79i.378,14.5c-0.554,0.30a-1.17I,0.45-1.17I,1c0.17I,0.552,0.448,1,1.17I,1c0.551,0,1-0.447,1-79h.378,14.949,23.929,14.5,23.378,14.79g.501,6.79f-0.552,0-1,0.448-1,1l-0.466,7.79e-3.2kd,1.96c-0.478,0.277-0.642,0.889-0.365,1.3Ms.275,0.479,0.889,0.643,1.365,0.79d.305-1.79c.39,16.99,15.444,17,15.501,79b.828,0,1.5-0.671,1.5-1.5l-0.5-7.79a.501,7.799,16.3Mt,6.624,15.501,6.798.501,22.797-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-795.3Mt,22.377,15.501,22.793.939,21.5l2-0.479,0.277-0.643,0.889-0.366,1.4lc.275,0.477,0.888,0.643,1.366,0.3Ms.478-0.275,0.642-0.889,0.366-1.792.791,21.344,19.417,21.18,18.939,21.790"},{id:"4lb",12J:"9w",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.2wH,0 C 22.78Z,27.78Y 27.78X,22.78W 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},{id:"5l1",12J:"9w",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},{id:"4la",12J:"9w",d:"m 85,0 c 0,16.617 -4.78V,35.356 -13.78U,48.78T h 6.78S c 8.78R,-13.78Q 13.5l0,-28.78P 13.5l0,-45.78O 0,-46.78N -38.78M,-85.5kZ -85.78L,-85.5kZ -1.78K,0 -2.78J,0.5kY -3.78I,0.78H 45.78G,1.78F 82.5kX,35.78E 82.5kX,81.78D z"}]});g(1a.3Mq)?1a.2I7.3Mr(a,1a.3Mq):1a.2I7.3A(a);1a.3Mq=a}1s if(!g(1a.2wG)){1d m=1a;m.2wG=1g 4l9(1b(){3n.1hg.8h(m.15Q)&&(m.2wG.5kW(),m.2wG=1p 0,m.4l8())});m.2wG.5kV(3n,{78C:!0,78B:!0})}};1d 5kT="5iG 5iF 5iE 5iD 5iC 5iB 5iA 5iz 5iy 5ix 5iw 5iv".7g(" ");Wk.5kU=1b(a,b){a=M.2lG(a);1f 5kT[a.1Pc-1]+" "+a.1IW+" "+a.1Dt};Wk.5kS=[.17I,.30a,.1Am,.11t,.3LY,.1cN,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,5iM,2HR,5iL,5iK,5iJ,3jk,309,5iI,5iH,4kp];Wk.5kR=1b(a,b){a=M.2lG(a);1d c=1k.9p(a.1Ti);1f 1>1k.abs(b.1uT.16W)?kx("%1FN:%1FN:%1FN.%78A",a.1Pe,a.1Pd,a.1hd,c):kx("%1FN:%1FN:%1FN 1IX",a.1Pe,a.1Pd,a.1hd)};Wk.1i.78z=1b(){1f 1a.4l7.4h(0)};Wk.1i.5kQ=1b(a){if(!g(a))1t 1g r("78y is 1X.");1d b,c={},d=1a.4l7;1d e=d.1h=0;1j(b=a.1h;e<b;++e){1d f=a[e];c.3p(f)||(c[f]=!0,d.1q(f))}d.15F(4l6);a=[];b=d.1h;1j(e=b-1;0<=e;--e)f=d[e],0!==f&&a.1q(-f);2K.1i.1q.6c(a,d);1a.2I6=a};1L.2X(Wk.1i,{5kP:{1n:1b(){1f 1a.5kO}},5kN:{1n:1b(){1f 1a.5kM}},3j6:{1n:1b(){1f 1a.1uT}},4l5:{1n:1b(){1f 1a.5kL}},5kK:{1n:1b(){1f 1a.5kJ}},5kI:{1n:1b(){1f 1a.5kH}},5kG:{1n:1b(){1f 1a.5kF}},5kE:{1n:1b(){1f 1a.3jV},1C:1b(a){if("1b"!==2h a)1t 1g r("5kE 2Q be a 1b");1a.3jV=a}},5kD:{1n:1b(){1f 1a.3jU},1C:1b(a){if("1b"!==2h a)1t 1g r("5kD 2Q be a 1b");1a.3jU=a}}});Wk.78x=105;Wk.78w=15;1L.2X(UU.1i,{2wu:{1n:1b(){1f 1a.2wt}},10a:{1n:1b(){1f 1a.1cD}}});1L.2X(RD.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});RD.1i.3Z=1b(){1f!1};RD.1i.1M=1b(){Nc.1Tj()?3n.12R("26e",1a.1wG,!0):(3n.12R("1m1",1a.1wG,!0),3n.12R("1n9",1a.1wG,!0));ta.1IU(1a.17e);ta.1IU(1a.4l4);1a.15Q.18Z(1a.17e);1a.15Q.18Z(1a.4l4);1f la(1a)};1L.2X(Eg.1i,{3jT:{1n:1b(){1f 1a.5kC}},1jE:{1n:1b(){1f 1a.5kB}}});1d 5kA={4l3:3},5kw=[{3l:"78v",1Q:Wp.2dR},{3l:"3jS",1Q:Wp.1f1},{3l:"78u",1Q:Wp.1ZI}],4l1=1g y(1,1,0,.4),5ku=1g y,DN=1g y;1L.2X(Yg.1i,{4r:{1n:1b(){1f 1a.2R}},3Mo:{1n:1b(){1f 1a.26i}},5kz:{1n:1b(){1f 1a.3jA}},5ky:{1n:1b(){1f 1a.3jz}},5kx:{1n:1b(){1f 5kw}},5kv:{1n:1b(){1f 1a.3jC}},15c:{1n:1b(){1f 1a.9F},1C:1b(a){1a.9F=a;1a.14N=1p 0;1a.2lN="{}";1a.11H=1a.7n=1p 0;if(g(a)){1d b=1a;a.9c.4b(1b(a){b.3Z()||b.1tp(a.5U)});1j(1d c="2wF 1ZH 3jR 3jQ 3jP 3jO 3jN 3jM 3jL 3jK 3jJ".7g(" "),d=c.1h,e=0;e<d;++e){1d f=c[e];1a[f]=1a[f]}1a.1ev=a.1ev;1a.1ZG=a.1ZG;1a.2lQ=a.2lQ;1a.2lP=a.2lP;1a.1qt=a.1qt;1a.2dQ=a.2dQ;1a.2dP=a.2dP;1a.2dO=a.2dO;1a.2dN=a.2dN;1a.1ZF=a.1ZF;1a.2dM=a.2dM;c=a.1uY;1a.1uY=c.1iM;1a.1J0=c.1J0;1a.1yB=c.1yB?c.1yB:0;1a.1Ph=c.1Ph?c.1Ph:0;1a.1FM=c.1FM;1a.26k=c.26k;1a.26j=c.26j;1a.2R.1e2()}1s 1a.1tp({});1a.3jA=SD(a,!1);1a.3jz=SD(a,!0);4l2(1a,!1)}},7n:{1n:1b(){1f 1a.2lO},1C:1b(a){if(1a.2lO!==a){1d b=1a.2lO;g(b)&&!b.15k.3Z()&&(!1a.2wF&&g(1a.14N)?b.1A=g(1a.14N.1A)?1a.14N.1A.1FL(b,5ku):y.9r:b.1A=DN,1a.2R.1e2());g(a)&&(y.1y(a.1A,DN),a.1A=4l1,1a.2R.1e2());1a.2lO=a}}},11H:{1n:1b(){1f 1a.1cC},1C:1b(a){if(1a.1cC!==a){1d b=1a.1cC;!g(b)||b.3Z()||WU(b.15k)||(b.1A=DN,1a.2R.1e2());g(a)&&!WU(a.15k)&&(y.1y(a.1A,DN),a.1A=4l1,1a.2R.1e2());1a.1cC=a}}}});Yg.1i.5kt=1b(){1a.2I5=!1a.2I5};Yg.1i.5ks=1b(){1a.30m=!1a.30m};Yg.1i.5kr=1b(){1a.3jI=!1a.3jI};Yg.1i.5kq=1b(){1a.3jH=!1a.3jH};Yg.1i.5kp=1b(){1a.2I4=!1a.2I4};Yg.1i.5ko=1b(){1a.3jG=!1a.3jG};Yg.1i.5kn=1b(){1a.3jF=!1a.3jF};Yg.1i.5km=1b(){1a.3jE=!1a.3jE};Yg.1i.5kl=1b(){1a.3jD=!1a.3jD};Yg.1i.5kk=1b(){g(1a.9F)&&1a.9F.5kj()};Yg.1i.4l0=1b(){1d a=1a.9F;if(g(a)&&1a.2lN!==4H.8s(a.2r)){1a.3jC="";10G{0===1a.2lN.1h&&(1a.2lN="{}"),1a.14N=1g gz(4H.5N(1a.2lN)),1a.3Mp=!0,1a.2R.1e2()}11B(b){1a.3jC=b.5s()}1a.7n=1a.2lO;1a.11H=1a.1cC}};Yg.1i.5ki=1b(a,b){if(9===b.2HH){b.1yA();a=b.15s;1d c=a.5kg,d=a.5kf,e=d,f=a.1Q.4h(c,d).7g("\\n"),g=f.1h;if(b.5kh)1j(b=0;b<g;++b)" "===f[b][0]&&(" "===f[b][1]?(f[b]=f[b].13c(2),e-=2):(f[b]=f[b].13c(1),--e));1s 1j(b=0;b<g;++b)f[b]="  "+f[b],e+=2;b=f.14G("\\n");a.1Q=a.1Q.4h(0,c)+b+a.1Q.4h(d);a.5kg=c!==d?c:e;a.5kf=e}1s!b.5ke||10!==b.2HH&&13!==b.2HH||1a.4l0();1f!0};Yg.1i.13A=1b(){1d a=1a.9F;1a.1bR&&1a.1Dv.2H();if(g(a)){if(a.3Z()){1a.15c=1a.7n=1a.11H=1p 0;1f}1d b=a.2r;1a.14N!==a.2r&&(1a.3Mp?(a.2r=1a.14N,1a.3Mp=!1):(1a.14N=b,1a.2lN=4H.8s(b.2r,1F,"  ")))}1a.3jB&&(1a.3jA=SD(a,!1),1a.3jz=SD(a,!0))};Yg.1i.3Z=1b(){1f!1};Yg.1i.1M=1b(){1a.1wI.1M();1a.3Mi();1d a=1a;1a.5kd.12I(1b(b){ta.1sf(a,b).1n6()});1f la(1a)};Yg.78t=SD;1L.2X(TD.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});TD.1i.3Z=1b(){1f!1};TD.1i.1M=1b(){ta.1IU(1a.17e);1a.15Q.18Z(1a.17e);1a.1fW.1M();1f la(1a)};1L.2X(Pz.1i,{4r:{1n:1b(){1f 1a.2R}},3Mo:{1n:1b(){1f 1a.26i}},2wu:{1n:1b(){1f 1a.2wt}},5jU:{1n:1b(){1f 1a.4kZ}},5jT:{1n:1b(){1f 1a.4kY}},5jS:{1n:1b(){1f 1a.4kX}},5kc:{1n:1b(){1f 1a.5kb}},5ka:{1n:1b(){1f 1a.5k9}},78s:{1n:1b(){1f 1a.4kW}},5jR:{1n:1b(){1f 1a.4kV}},4kT:{1n:1b(){1f 1a.5k8}},5k7:{1n:1b(){1f 1a.5k6}},5k5:{1n:1b(){1f 1a.5k4}},5k3:{1n:1b(){1f 1a.5k2}},1FK:{1n:1b(){1f 1a.26h}},5k1:{1n:1b(){1f 1a.5k0}},5jZ:{1n:1b(){1d a=1a;1f bd(1b(){a.11H=a.11H.12f})}},5jY:{1n:1b(){1d a=1a;1f bd(1b(){a.11H=a.11H.1yz})}},5jX:{1n:1b(){1d a=1a;1f bd(1b(){a.11H=a.11H.1AI})}},5jW:{1n:1b(){1d a=1a;1f bd(1b(){a.11H=a.11H.1wJ})}},5jV:{1n:1b(){1d a=1a;1f bd(1b(){a.11H=a.11H.1yy})}},9k:{1n:1b(){1f 1a.7h},1C:1b(a){1d b=1a.7h;a!==b&&(1a.30l=!0,g(b)&&(b.15S=!1),1a.2R.3jy=1p 0,g(1a.1ZE)&&(1a.2R.13y.3S(1a.1ZE),1a.1ZE=1p 0),1a.7h=a,a.2p=!1,1if(1b(){a.2p=!0},50),1a.5jU(),1a.5jT(),1a.5jS())}},11H:{1n:1b(){1f 1a.1cC},1C:1b(a){if(g(a)){1a.2I3=!0;if(a!==1a.1cC){1a.2lM="L: "+a.6b+" X: "+a.x+" Y: "+a.y;1a.2lM+="<br>SW 4kU: "+a.3g.4o+", "+a.3g.4C;1a.2lM+="<br>NE 4kU: "+a.3g.5a+", "+a.3g.4P;1d b=a.2g;g(b)?1a.2lM+="<br>1XF: "+b.13w+" 1L2: "+b.12x:1a.2lM+="<br>(2wE is 2S 1aw)"}1a.1cC=a;1a.5jR();1a.4kT()}1s 1a.2I3=!1,1a.1cC=1p 0}}});Pz.1i.13A=1b(){if(1a.30k){1d a=1a.2R.2I2;if(g(a)){1d b="5hm 3Mn";1d c=a.4kS,d;1j(d in c)if(c.3p(d)){1d e=8A(d,10);if(7===e)e="1, 2 and 3";1s{1j(1d f=[],h=2;0<=h;h--){1d k=1k.3r(2,h);e>=k&&(f.1q(h+1),e-=k)}e=f.1e1().14G(" and ")}b+="<br>&2dL;&2dL;&2dL;&2dL;"+c[d]+" in 3j "+e}b+="<br>5jQ: "+a.4kR}1a.3Mm=b}1a.3Ml=a=1a.2R.5jP;1a.2dK=YU(1,a,1a.2dK);1a.3Mk=1a.2dK+" of "+a;1a.1bR&&1a.1Dv.2H();1a.30j&&(1a.1ZE.4a=1a.7h.4a);1a.3Mj="78r 1xI: "+1a.2R.1O.1hf.5jO};Pz.1i.3Z=1b(){1f!1};Pz.1i.1M=1b(){1a.1wI.1M();1a.3Mi();1a.5jN.1n6();1a.5jM.1n6();1a.5jL.1n6();1a.5jK.1n6();1a.5jJ.1n6();1a.5jI.1n6();1a.5jH.1n6();1a.5jG.1n6();1a.5jF.1n6();1a.5jE.1n6();1a.5jD.1n6();1a.5jC.1n6();1a.5jB.1n6();1a.5jA.1n6();1a.5jz.1n6();1a.5jy.1n6();1f la(1a)};1L.2X(VD.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});VD.1i.3Z=1b(){1f!1};VD.1i.1M=1b(){ta.1IU(1a.17e);1a.15Q.18Z(1a.17e);1a.1fW.1M();1f la(1a)};1L.2X(ht.1i,{11z:{1n:1b(){1f 1a.15Q}},3M:{1n:1b(){1f 1a.10C}},2wD:{1n:1b(){1f 1a.3jv}},2I1:{1n:1b(){1f 1a.5jx}},4r:{1n:1b(){1f 1a.2R}},1uU:{1n:1b(){1f 1a.2R.1uU}},16u:{1n:1b(){1f 1a.2R.16u},1C:1b(a){1a.2R.16u=a}},3w:{1n:1b(){1f 1a.2R.3w}},14c:{1n:1b(){1f 1a.1aG}},1hL:{1n:1b(){1f 1a.5jw}},2lC:{1n:1b(){1f 1a.3Mh},1C:1b(a){if(0>=a)1t 1g r("2lC 2Q be 9U 6L 0, or 7w.");1a.3Mh=a}},2wi:{1n:1b(){1f 1a.30i},1C:1b(a){1a.30i!==a&&(1a.30i=a)&&!1a.3jx&&5jv(1a)}},2dz:{1n:1b(){1f 1a.2dJ},1C:1b(a){if(0>=a)1t 1g r("2dz 2Q be 9U 6L 0.");1a.2dJ=a;1a.2lB=!0}},2HQ:{1n:1b(){1f 1a.3jw},1C:1b(a){1a.3jw!==a&&(1a.3jw=a,1a.2lB=!0)}}});ht.1i.4kQ=1b(a,b,c){1b d(){m.2r.1wE=1k.1V(1k.9p(.9*e.1gt-100),30)+"px"}1d e=1a.17e,f=3n.4O("5u");f.8k="3P-26g-2I0";1d h=3n.4O("5u");h.8k="3P-26g-2I0-15k";f.3A(h);1d k=3n.4O("5u");k.8k="3P-26g-2I0-1Pg";k.3A(3n.1wH(a));h.3A(k);1d m=3n.4O("5u");m.8k="3P-26g-2I0-3IF";h.3A(m);d();g(7O.7K)&&7O.7K("1ce",d,!1);g(b)&&(k=3n.4O("5u"),k.8k="3P-26g-2I0-19s",k.1dd="<p>"+b+"</p>",m.3A(k));k="(no 7A 1Tm 1IZ)";g(c)&&(k=wG(c));c=3n.4O("5u");c.8k="3P-26g-2I0-19s";c.3A(3n.1wH(k));m.3A(c);c=3n.4O("5u");c.8k="3P-26g-2I0-78q";h.3A(c);h=3n.4O("12n");h.8m("1I","12n");h.8k="3P-12n";h.3A(3n.1wH("OK"));h.4kP=1b(){g(d)&&g(7O.12R)&&7O.12R("1ce",d,!1);e.18Z(f)};c.3A(h);e.3A(f);"7w"!==2h 11l&&11l.7A(a+"\\n"+b+"\\n"+k)};ht.1i.3Z=1b(){1f!1};ht.1i.1M=1b(){1a.2R=1a.2R&&1a.2R.1M();1a.15Q.18Z(1a.17e);1a.3jv.18Z(1a.5ju);la(1a)};ht.1i.1ce=1b(){1d a=1a.10C,b=a.18L;a=a.1gt;if(1a.2lB||1a.4kO!==b||1a.4kN!==a||1a.4kM!==7O.3Mg)1a.2lB=!1,4kL(1a),4kK(1a),1a.2R.1e2()};ht.1i.3t=1b(){if(1a.4kJ){1a.2R.3ju();1d a=1a.1aG.4kI();1a.2R.3t(a)}1s 1a.1aG.4kI()};1L.2X(WD.1i,{2wC:{1n:1b(){1f 1a.3Mf},1C:1b(a){if(!(a 2m 3j8))1t 1g r("1Q 2Q be a 1eu 3j8.");1a.3Mf=a}},14Z:{1n:1b(){1f 1a.10u}}});WD.1i.3Z=1b(){1f!1};WD.1i.1M=1b(){3n.12R(ge.3j7,1a.1Zz);la(1a)};1L.2X(XD.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});XD.1i.3Z=1b(){1f!1};XD.1i.1M=1b(){1a.1cT.1M();ta.1IU(1a.17e);1a.15Q.18Z(1a.17e);1f la(1a)};1L.2X(ZU.1i,{2I:{1n:1b(){1f 1a.10z}},10t:{1n:1b(){1f 1a.2dI}},1aH:{1n:1b(){1f 1a.1Tl}},4r:{1n:1b(){1f 1a.2R}},1qs:{1n:1b(){1f 1a.5jt}},30h:{1n:1b(){1f 1a.3Me}}});1d 5js="10R://10y.78p.11Y/4kH/2wB/78o/26f/78n/78m/78l.2HZ";1L.2X(YD.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});YD.1i.3Z=1b(){1f!1};YD.1i.1M=1b(){Nc.1Tj()?(3n.12R("26e",1a.2HY,!0),3n.12R("3Md",1a.2HX,!0)):(3n.12R("1m1",1a.2HY,!0),3n.12R("1ZA",1a.2HX,!0),3n.12R("1n9",1a.2HY,!0),3n.12R("2lH",1a.2HX,!0));ta.1IU(1a.4kG);1a.15Q.18Z(1a.4kG);1f la(1a)};1L.2X($U.1i,{4r:{1n:1b(){1f 1a.2R}},14Z:{1n:1b(){1f 1a.10u}},13k:{1n:1b(){1f 1a.1oi},1C:1b(a){if(g(a)&&0>a)1t 1g r("1Q 2Q be 2HU.");1a.1oi=a}}});1L.2X(ZD.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});ZD.1i.3Z=1b(){1f!1};ZD.1i.1M=1b(){ta.1IU(1a.17e);1a.15Q.18Z(1a.17e);1f la(1a)};WK.1i.5jr=1b(a){1f 1a.1wE-a+"px"};1L.2X(WK.1i,{4kF:{1n:1b(){1f 1a.5jq}},4kE:{1n:1b(){1f 1a.5jp}}});1L.2X($D.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}},3Mc:{1n:1b(){1f 1a.2HW}}});$D.1i.3Z=1b(){1f!1};$D.1i.1M=1b(){1d a=1a.15Q;ta.1IU(1a.17e);a.18Z(1a.17e);g(1a.3jt)&&1a.3jt.1n6();1f la(1a)};1d 4fA=1b(a){1d b=3n.4O("5u");b.1dd=a;1j(a=3n.3Mb();b.1gv;)a.3A(b.1gv);1f a},4fl=1b(a,b,c){b=Ie(b);1d d=4fA(a);a=[];1d e;1j(e=0;e<d.13P.1h;++e)a.1q(d.13P[e]);b.3A(d);1j(e=0;e<a.1h;++e)b=a[e],1!==b.1a5&&8!==b.1a5||ta.1AH(c,b);1f a},fx=1b(a,b){1b c(){g(d.6o)?(d.2wA&&(d.2wA(),d.2wA=1p 0),d.3jp=!0,d.2wA=d.4r.2lL.7K(1b(){1d a=1k.abs(d.4r.3w.8e-d.8e);if(a<B.10k||a>3*B.10k)d.8e=d.4r.3w.8e;d.30g||(a=1k.2t((d.4r.3w.8q+B.10k)/(B.10k/20)),a=19<a?19:a,a=0>a?0:a,d.30f=aE[a].x,d.30e=aE[a].y)})):(d.2wA&&(d.2wA(),d.2wA=1p 0),d.3jp=!1)}if(!g(a)||!g(a.6o)||!g(a.4r))1t 1g r("3v and 3v.6o and 78k.4r is 1X.");1a.6o=a.6o;1a.6o.5jm=1g sa;1a.6o.78j=1g sa;1a.4r=a.4r;1a.3M8=1g xj;1a.8e=(1a.3jp=g(1a.4r))?1a.4r.3w.8e:0;1a.5jo=!1;1a.5jn=0;1a.3M9=!1;1a.2wA=1a.3js=1a.3jr=1a.3jq=1a.4kD=1p 0;1a.30f=56;1a.30e=3;1a.30g=!1;1a.2wv=65;1a.3Ma=0;1a.1hL=1g Ne(b);1a.3M2=1F;ta.1uX(1a,"3jp 8e 5jo 5jn 3M9 30f 30e 30g 2wv".7g(" "));1d d=1a;1a.3M8.add(1a.6o.5jm,c,1a);(1b(){1d b=1k.2t((B.10k+a.4r.3w.8q)/(1k.PI/2/20));b=19<b?19:b;b=0>b?0:b;d.30f=aE[b].x;d.30e=aE[b].y})();c()},XK=1g C;fx.1i.4kv=1b(a,b){a.1hL.1cQ(Va.1lX);a.1hL.1cQ(Va.1kj);g(a.2wz)&&a.6o.14c.1yw.12R(a.2wz);a.3M7=1p 0;a.2wz=1p 0;a.5jl=!0;1d c=a.6o.4r.3w;a.2wz=1b(b){b=a.2wv-65;0<b?a.6o.4r.3z===O.15j?c.3M5():Rz(a,-1):0>b&&(a.6o.4r.3z===O.15j?c.2wy():Rz(a,1))};a.4kC=1b(b,e){e=a.2wv;b=b.11R.y-b.18t.y+e;b=0>b?0:b;a.2wv=120<b?120:b;0<a.2wv-e?a.6o.4r.3z===O.15j?c.3M5():Rz(a,-1):a.6o.4r.3z===O.15j?c.2wy():Rz(a,1)};a.3M7=1b(b){a.5jl=!1;a.1hL.1cQ(Va.1lX);a.1hL.1cQ(Va.1kj);g(a.2wz)&&a.6o.14c.1yw.12R(a.2wz);a.3M7=1p 0;a.4kC=1p 0;a.2wz=1p 0;a.2wv=65};a.1hL.1a1(a.3M7,Va.1lX);a.1hL.1a1(a.4kC,Va.1kj);a.6o.14c.1yw.7K(a.2wz)};fx.1i.4kx=1b(a,b){a.1hL.1cQ(Va.1lX);g(a.2wx)&&a.6o.14c.1yw.12R(a.2wx);a.3M6=1p 0;a.2wx=1p 0;a.5jk=!0;a.78i=Kd();1d c=a.6o.4r.3w;a.2wx=1b(b){a.6o.4r.3z===O.15j?c.2wy():Rz(a,1)};a.3M6=1b(b){a.5jk=!1;a.1hL.1cQ(Va.1lX);g(a.2wx)&&a.6o.14c.1yw.12R(a.2wx);a.3M6=1p 0;a.2wx=1p 0};a.1hL.1a1(a.3M6,Va.1lX);a.6o.14c.1yw.7K(a.2wx)};fx.1i.4kw=1b(a,b){a.1hL.1cQ(Va.1lX);g(a.2ww)&&a.6o.14c.1yw.12R(a.2ww);a.3M4=1p 0;a.2ww=1p 0;a.5jj=!0;a.78h=Kd();1d c=a.6o.4r.3w;a.2ww=1b(b){a.6o.4r.3z===O.15j?c.3M5():Rz(a,-1)};a.3M4=1b(b){a.5jj=!1;a.1hL.1cQ(Va.1lX);g(a.2ww)&&a.6o.14c.1yw.12R(a.2ww);a.3M4=1p 0;a.2ww=1p 0};a.1hL.1a1(a.3M4,Va.1lX);a.6o.14c.1yw.7K(a.2ww)};fx.1i.4kz=1b(a,b){a=b.4kB;1d c=b.4kB.1ZD(),d=1g C((c.2W-c.3B)/2,(c.7b-c.5C)/2);c="1m1"===b.1I?1g C(b.1ld-c.3B,b.2dH-c.5C):1g C(b.3M3.1to[0].1ld-c.3B,b.3M3.1to[0].2dH-c.5C);d=C.3V(c,d,XK);1a.3M2=1g C(b.1ld,b.2dH);b=C.7t(d);if(30<b&&45>b)5ji(1a,a,d);1s if(50<b&&70>b)b=B.10k-1k.12B(-d.y,d.x),0<=b&&b<=B.10k&&5jh(1a,a,d);1s 1f 5jg(1a,a,d)};fx.1i.4ky=1b(a,b){1d c=b.4kB.1ZD(),d=1g C((c.2W-c.3B)/2,(c.7b-c.5C)/2);c="1ZA"===b.1I?1g C(b.1ld-c.3B,b.2dH-c.5C):1g C(b.3M3.1to[0].1ld-c.3B,b.3M3.1to[0].2dH-c.5C);d=C.3V(c,d,XK);c=C.7t(d);30<c&&45>c&&(d=B.10Q(1k.12B(-d.y,d.x)),c=1g C(b.1ld,b.2dH),b=c.x-1a.3M2.x,c=c.y-1a.3M2.y,5<1k.3Y(b*b+c*c)||(b=B.10Q(a.8e),c=1k.abs(d-b),a=a.6o.4r,(0<d&&0<b&&90>b&&80<c&&100>c||260<c&&280>c)&&a.3w.1AG({16h:a.3w.1K,11f:{8e:0,8q:a.3w.8q}})))};1d cV=1g A,bV=1g A,aV=1g k,4kA=1g C,aE=[{x:56,y:3},{x:59,y:4},{x:64,y:5},{x:69,y:6},{x:74,y:7},{x:79,y:9},{x:84,y:12},{x:89,y:15},{x:92,y:19},{x:94,y:20},{x:99,y:25},{x:104,y:34},{x:106,y:40},{x:107,y:44},{x:107,y:46},{x:107,y:48},{x:107,y:50},{x:107,y:52},{x:107,y:54},{x:107,y:56}],5jf=1k.PI/40,5je=1g rb,5jd=1g k,5jc=1g k,hV=1b(a){if(!g(a)||!g(a.11z))1t 1g r("3v.11z is 1X.");if(!g(a.4r))1t 1g r("3v.4r is 1X.");if(!g(a.6o))1t 1g r("3v.6o is 1X.");1d b=Ie(a.11z);1a.1cT=1g fx(a,b);4fl(\'<5u 11F="sm-2lz" 2g-7X="13z: 3jp, 2dG: { 1m1: 4kz , 1n9 : 4kz, 1ZA: 4ky, 2lH: 4ky}"><5u 11F="sm-2lz-1tn"></5u><5u 11F="sm-2lz-5jb" 2g-7X = "2r : { 3B :  + 30f + \\\'px\\\',5C : + 30e + \\\'px\\\'}"></5u><5u 11F="sm-2lz-5ja"></5u><5u 11F="sm-2lz-78g-78f" 2g-7X="2r: { 5o: \\\'17b(-\\\' + 8e + \\\'1Fp)\\\', \\\'-3jo-5o\\\': \\\'17b(-\\\' + 8e + \\\'1Fp)\\\' }"></5u><5u 11F="78e"></5u><5u 11F="78d"></5u><5u 11F="78c"></5u><5u 11F="78b"></5u></5u><5u 11F="sm-5K"><5u 11F="sm-78a" 2g-7X="2dG : {1m1 : 4kx,1n9 : 4kx}"></5u><5u 11F="sm-788" 2g-7X="2dG : {1m1 : 4kw, 1n9 : 4kw}"></5u><5u 11F="sm-787" 2g-7X="2dG : {1m1 : 4kv, 1n9 : 4kv},2r : {5C : + 2wv + \\\'px\\\' }"></5u> </5u>\',b,1a.1cT);Nc.4ku()||(3n.30d(".sm-5K").2r.12F="13z",3n.30d(".sm-2lz-5jb").2r.12F="13z",3n.30d(".sm-2lz-5ja").2r.12F="13z",3n.30d(".sm-2lz-1tn").2r.12F="13z")};1L.2X(hV.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});1L.2X(dV.1i,{14Z:{1n:1b(){1f 1a.10u}},5j9:{1n:1b(){1f 1a.5j8}},5j7:{1n:1b(){1f 1a.5j6}}});1L.2X(bE.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});bE.1i.3Z=1b(){1f!1};bE.1i.1M=1b(){Nc.1Tj()?3n.12R("26e",1a.2HV,!0):(3n.12R("1m1",1a.2HV,!0),3n.12R("1n9",1a.2HV,!0));ta.1IU(1a.2lK);1a.15Q.18Z(1a.2lK);1f la(1a)};1L.2X(YK.1i,{4r:{1n:1b(){1f 1a.2R}},5j5:{1n:1b(){1f 1a.5j4}}});YK.1i.1M=1b(){1a.5j3();1a.5j2();1f la(1a)};1L.2X(cE.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});cE.1i.3Z=1b(){1f!1};cE.1i.1M=1b(){1a.1cT.1M();ta.1IU(1a.17e);1a.15Q.18Z(1a.17e);1f la(1a)};1L.2X(dE.1i,{4r:{1n:1b(){1f 1a.2R}},2wu:{1n:1b(){1f 1a.2wt}},5j1:{1n:1b(){1f 1a.5j0}},5iZ:{1n:1b(){1f 1a.5iY}},786:{1n:1b(){1f 1a.1Tk}}});dE.1i.3Z=1b(){1f!1};dE.1i.1M=1b(){1a.1n5.7f();la(1a)};1L.2X(eE.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});eE.1i.3Z=1b(){1f!1};eE.1i.1M=1b(){1a.1cT.1M();Nc.1Tj()?3n.12R("26e",1a.1wG,!0):(3n.12R("1m1",1a.1wG,!0),3n.12R("1n9",1a.1wG,!0));ta.1IU(1a.2lK);1a.15Q.18Z(1a.2lK);1f la(1a)};1L.2X(fE.1i,{4r:{1n:1b(){1f 1a.2R}},13k:{1n:1b(){1f 1a.1oi},1C:1b(a){if(0>a)1t 1g r("13k 1Q 2Q be 2HU.");1a.1oi=a}},2wu:{1n:1b(){1f 1a.2wt}},2ws:{1n:1b(){1f 1a.5iX}},2HT:{1n:1b(){1f 1a.5iW}},2wr:{1n:1b(){1f 1a.5iV}}});fE.1i.3Z=1b(){1f!1};fE.1i.1M=1b(){1a.1n5.7f();la(1a)};1L.2X(gE.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});gE.1i.3Z=1b(){1f!1};gE.1i.1M=1b(){1a.1cT.1M();Nc.1Tj()?3n.12R("26e",1a.1wG,!0):(3n.12R("1m1",1a.1wG,!0),3n.12R("1n9",1a.1wG,!0));ta.1IU(1a.2lK);1a.15Q.18Z(1a.2lK);1f la(1a)};1d 5iU=1g C;Sz.1i.2H=1b(){if(1a.2dx&&g(1a.1K)){1d a=1a.26d(1a.1K,5iU);if(g(a)){1d b=1a.15Q,c=b.1eZ.1gt,d=1a.4ks.18L,e=.5*d;a.x=1k.2o(1k.1V(a.x,-d),b.1eZ.18L+d)-e;a.y=1k.2o(1k.1V(a.y,-d),c+d)-e;1a.2dB=1k.2t(a.x+.25)+"px";1a.2dA=1k.2t(a.y+.25)+"px"}1s 1a.2dA=1a.2dB="-4kt"}};Sz.1i.4k7=1b(){1a.1sa.1Dr({2c:1a,5i:"13V",2lE:2,2lD:1,13k:.8,1lZ:jh.304})};Sz.1i.3LJ=1b(){1a.1sa.1Dr({2c:1a,5i:"13V",2lE:1a.13V,2lD:1.5,13k:.8,1lZ:jh.304})};1L.2X(Sz.1i,{11z:{1n:1b(){1f 1a.15Q}},5iT:{1n:1b(){1f 1a.4ks}},4r:{1n:1b(){1f 1a.2R}}});1L.2X(hE.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});hE.1i.3Z=1b(){1f!1};hE.1i.1M=1b(){1d a=1a.15Q;ta.1IU(1a.17e);a.18Z(1a.17e);1f la(1a)};1d nw={1he:0,1gu:1,1e5:2,2dF:3},5iS=1g Vc("5iR",1E4);1L.2X(it.1i,{13z:{1C:1b(a){1a.1br=a},1n:1b(){1f 1a.1br}},1K:{1n:1b(){1f 1a.9M}},3b:{1n:1b(){1f 1a.13V}}});1d mZ=1g P;it.1i.5i9=1b(a,b){1a.9M=k.1y(b);1d c=1a.1ZC;mZ.2V=1a.9M;mZ.3L=c;a=50*a.3w.2wq(mZ,a.1O.8j,a.1O.7p)/(2*1a.1ZC);a=1k.1V(a,.1cN);b=Da.18N(b,1p 0,1g A);A.2HS(b,a,1a.12t);b=1a.30c;a=0;1j(c=b.1h;a<c;a++){1d d=b[a],e=d.3jn;d=d.6g;g(d)&&A.8P(1a.12t,e,d.6W.2V)}};it.1i.1e4=1b(){1d a=1a;if(nw.1he==1a.19i){1d b=Wx(1a.10z,1b(a){1f Ng(a)});g(b)&&(1a.19i=nw.1gu,b.4b(1b(b){5iQ(a,b)},1b(a){1a.19i=nw.1he}))}};it.1i.2H=1b(a){if(1a.1br)if(1a.4y){1d b=1a.30c;if(b&&0!=b.1h)1j(1d c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.6g)&&!k.2L(e.6g.6W.2V,k.6h)&&a.13l.1q(e.6g)}}1s 1a.1e4()};it.1i.3Z=1b(){1f!1};it.1i.1M=1b(){1j(1d a=1a.30c,b=0,c=a.1h;b<c;b++)a[b].1M();1a.30c.1h=0;1f la(1a)};1d 5iP=1g N;Tz.1i.6l=1b(a){1a.9s||(1a.1EX(a),1a.9s=!0)};Tz.1i.3M1=1b(a){1j(1d b=1a.1na.19h,c=0,d=b.1h;c<d;c++){1d e=b[c];g(e.5b)&&(e.7e=Ra.12S({1O:a,5b:e.5b,7Q:xa.7C}),e.5b=1F,4Y e.5b)}1a.12m=1a.1na.1oh;1f b};Tz.1i.1EX=1b(a){1d b=1a.3M1(a),c=ma.18W,d=pa.4t({8d:{3e:!1},9J:{3e:!1},12e:Dc.1bQ}),e=1a.1na.1f0,f=1a.1sd[0];if(g(f)){1d h=Ta.10P;(1===f.1IY||e>=B.1uW)&&a.1Pf&&(h=Ta.1bt);e=Ra.17Q({1O:a,5b:f.1m2,7Q:xa.7C,17P:h});1d k=1a.1uV[f.1FJ]||fe.2lJ;h=Ja.11G;6U(f.6Z){1S 1:h=Ja.1wF;1W;1S 2:h=Ja.1ao;1W;1S 4:h=Ja.11G}c=1g Oa({6Z:h,6W:1a.11S,6t:c,7H:1a,8d:!1,4a:1a.1fq.12t});c.4c=1g Fb({1O:a,2w:b,10X:e});b=1g ja({5p:["3Q 1m 4f;\\n        3Q 1w 13N;\\n        3Q 1m 7s;\\n        #1z 14V\\n            3Q 1m 11X;\\n        #1u\\n        2n 1m 1Aj;\\n        2n 1m 15a;\\n        2n 1m 2ta;\\n        3G 1v 6r;\\n        3G 1m 4m;\\n        XR 1o 16P = 256.0;\\n        XR 1o 16s = 1.0 / 256.0;\\n        XR 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n        1m 7x = 1m(1.0);\\n        #1z 14V\\n            7x = 11X;\\n        #1u\\n        1p 2k()\\n        {\\n            1m 6v = 4f;\\n            6r = 7s.xy;\\n            6v.w = 1.0;\\n            6I = 11o * 6v;\\n            4m = 7x;\\n            1m 1uP = 9q * 6v;\\n            1w 2U = 1T(13N);\\n            1w 19X = 1T(1HW - 1w(1uP));\\n            1o 18o = 1V(2A(19X, 2U), 0.0);\\n            1m 8t = 15a * 1j3 * 18o;\\n            1m 18A = 1Aj * 1j3;\\n            1m 5iO = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n            4m = 4m * 5iO;\\n        }"]});f=1g ja({5p:["#1z 4kr\\n            2n 2v 18G;\\n        #1u\\n        3G 1v 6r;\\n        3G 1m 4m;\\n        1p 2k()\\n        {\\n            #1z 4kr\\n                1v 1dZ = 1v(6r.x,1.0-6r.y);\\n                2C = 1Y(18G, 1dZ.xy, 0.0) * 4m;\\n            #1s\\n                2C = 4m;\\n            #1u\\n            if(2C.a < 0.1)\\n            {\\n                7o;\\n            }\\n        }"]});g(1a.12m.7s)&&0<k.12s.1h&&f.2N.1q("4kr");g(1a.12m.11X)&&b.2N.1q("14V");c.2z=Ga.4t({1O:a,5O:b,5A:f,7W:1a.12m});c.4J={18G:1b(){1f k.12s[0]},1Aj:1b(){1f k.1LN},15a:1b(){1f k.1se},2ta:1b(){1f k.1Du}};c.4w=d;1a.6g=c;1a.1na=1F;1a.1sd.1h=0}};Tz.1i.3Z=1b(){1f!1};Tz.1i.1M=1b(){1j(1d a in 1a.1uV)1a.1uV.3p(a)&&1a.1uV[a].1M();1a.1uV.1h=0;g(1a.6g)&&(1a.6g.4c=1a.6g.4c&&!1a.6g.4c.3Z()&&1a.6g.4c.1M(),1a.6g.2z=1a.6g.2z&&!1a.6g.2z.3Z()&&1a.6g.2z.1M(),1a.6g=1p 0);1a.1na=1F;1a.1sd.1h=0;1a.12m=1p 0;1f la(1a)};jt.1i.1sc=1b(){1f 1a.10o};jt.1i.785=1b(){1f 1a.4kq};jt.1i.783=1b(){1f 1a.1yx};jt.1i.782=1b(){1f 1a.3M0};jt.1i.781=1b(a,b){1a.1yx=a;1a.3M0=b};jt.1i.3t=1b(a){1d b="";if(1a.1yx&&1a.3M0&&1a.7a){1d c=M.1dA(1a.1yx,a.3LU);c=1k.9p(a.2dD*a.4ki(c));1d d=M.1dA(1a.3M0,a.3LU);d=1k.9p(a.2dD*a.4ki(d))-c;0>c&&(d+=c,c=0);c+d>a.2dD&&(d=a.2dD-c);0<d&&(b=\'<1kl 11F="3P-1FH-2lI" 2r="3B: \'+c.5s()+"px; 1G: "+d.5s()+"px; 7b: "+1a.4kq.5s()+"px; 1D: "+1a.10o+"px; 1Ds-1A: "+1a.7a+\';"></1kl>\')}1f b};eV.1i.3t=1b(a,b){1d c=1a.18B.4I,d=1a.18B.4U,e=b.3jd,f=M.190(b.3jd,b.13k,1g M);if(M.1ib(c,e)&&M.1bP(d,f))a.15b=1a.1A.1fY(),a.1ZB(0,b.y,b.2dD,1a.1D);1s if(M.19D(c,f)&&M.9Y(d,e)){1d h,k;1j(e=0;e<b.2dD;++e)f=M.190(b.3jd,e/b.2dD*b.13k,1g M),!g(h)&&M.9Y(f,c)?h=e:!g(k)&&M.9Y(f,d)&&(k=e);a.15b=1a.1a4.1fY();a.1ZB(0,b.y,b.2dD,1a.1D);g(h)&&(g(k)||(k=b.2dD),a.15b=1a.1A.1fY(),a.1ZB(h,b.y,1k.1V(k-h,1),1a.1D))}};1d gV=5iN,fm={1bs:0,2wp:1,30b:2,5K:3,3jm:4},fj={1bs:0,2wp:1,3jl:2,3LZ:3,26c:4},pu=[.17I,.30a,.1Am,.11t,.3LY,.1cN,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,5iM,2HR,5iL,5iK,5iJ,3jk,309,5iI,5iH,4kp,780,77Z,77Y,77X,77W,5ir,77V,77U,77T,5is,77S,77R,77Q,77P,77O,77N,77M,3LV],5it="5iG 5iF 5iE 5iD 5iC 5iB 5iA 5iz 5iy 5ix 5iw 5iv".7g(" ");xi.1i.7K=1b(a,b,c){1a.1m0.7K(a,b,c)};xi.1i.12R=1b(a,b,c){1a.1m0.12R(a,b,c)};xi.1i.3Z=1b(){1f!1};xi.1i.1M=1b(){1a.1aG.1yw.12R(1a.3j9,1a);3n.12R("1ZA",1a.4ko,!1);3n.12R("2wo",1a.3LX,!1);1d a=1a.3je;a.12R("1m1",1a.4kn,!1);a.12R("4km",1a.3jj,!1);a.12R("3LW",1a.3jj,!1);a.12R("1n9",1a.4kl,!1);a.12R("2wn",1a.3ji,!1);a.12R("2lH",1a.3jg,!1);a.12R("3jh",1a.3jg,!1);1a.11z.18Z(1a.1m0);la(1a)};xi.1i.77L=1b(a,b,c){a=1g jt(a,b,c);1a.4kh.1q(a);1a.1ce();1f a};xi.1i.77K=1b(a,b,c,d){a=1g eV(a,b,c,d);1a.3LP.1q(a);1a.2dy=1p 0;1a.1ce();1f a};xi.1i.261=1b(a,b){if(!g(a))1t 1g r("18M is 1X.");if(!g(b))1t 1g r("1cU is 1X");if(M.19D(b,a))1t 1g r("77J 6q 2Q 5iu 8w 9o 6q.");1a.1sb=a;1a.1IV=b;1a.1j5=M.1dA(b,a);if(1a.1aG&&1a.1aG.1le!==qj.3jf){a=1a.1aG.18M;b=1a.1aG.1cU;1d c=M.1dA(b,a),d=M.1dA(a,1a.1sb),e=M.1dA(b,1a.1IV);1a.1j5>=c?(1a.1j5=c,1a.1sb=1a.1aG.18M,1a.1IV=1a.1aG.1cU):0<d?(1a.1IV=M.190(1a.1IV,d,1g M),1a.1sb=a,1a.1j5=M.1dA(1a.1IV,1a.1sb)):0>e&&(1a.1sb=M.190(1a.1sb,e,1g M),1a.1IV=b,1a.1j5=M.1dA(1a.1IV,1a.1sb))}1a.4kd();a=3n.3LQ("1P3");a.4ke("77I",!0,!0);a.3jd=1a.1sb;a.77H=1a.1IV;a.3LU=1a.4kj;a.77G=1a.1j5;a.77F=1a.3LT;1a.1m0.2wk(a)};xi.1i.4kk=1b(a){1d b=M.1dA(1a.2wl,1a.1sb);b=1<a||0>b||b>1a.1j5?.5*1a.1j5:b+(b-.5*1a.1j5);1d c=1a.1j5-b;1a.261(M.190(1a.1sb,b-b*a,1g M),M.190(1a.1IV,c*a-c,1g M))};xi.1i.4kg=1b(a){a=M.2lG(a);1d b=a.1Ti,c=" 1IX";if(0<b&&2HR>1a.1j5){1j(c=1k.2t(b).5s();3>c.1h;)c="0"+c;c="."+c}1f 5it[a.1Pc-1]+" "+a.1IW+" "+a.1Dt+" "+fV(a.1Pe)+":"+fV(a.1Pd)+":"+fV(a.1hd)+c};xi.1i.5iq=7;xi.1i.4kd=1b(){1b a(a){1f(a-v)/m}1b b(a,b){1f a-b*1k.9p(a/b)}1d c=1a.3je,d=M.1dA(1a.2wl,1a.1sb),e=1k.9p(d*1a.1m0.18L/1a.1j5);d=e-8;1d f=1a;1a.3LR.2r.3B=e.5s()+"px";1d g="";1d k=0;1d m=1a.1j5;.11t>m?(1a.1j5=m=.11t,1a.1IV=M.190(1a.1sb,.11t,1g M)):3LV<m&&(1a.1j5=m=3LV,1a.1IV=M.190(1a.1sb,3LV,1g M));e=1a.3je.18L;10>e&&(e=10);1d n=1a.1sb,q=1k.2o(m/e*1E-5,.4),r=M.2lG(n);1d u=5is<m?M.2dE(1g 16V(16V.1IX(100*1k.2t(r.1Dt/100),0))):5ir<m?M.2dE(1g 16V(16V.1IX(10*1k.2t(r.1Dt/10),0))):309<m?M.2dE(1g 16V(16V.1IX(r.1Dt,0))):M.2dE(1g 16V(16V.1IX(r.1Dt,r.1Pc,r.1IW)));1d v=M.1dA(1a.1sb,M.190(u,q,1g M));q=v+m;1a.4kj=u;1a.3jb.1dd=1a.4kg(M.190(1a.1IV,-.11t,1g M));r=1a.3jb.4kf+20;30>r&&(r=180);1d t=k;k-=1E-10;1d y={18M:v,3jd:n,3LU:u,13k:m,2dD:e,4ki:a};1a.4kh.12I(1b(a){g+=a.3t(y)});1d A=0,B=0,C=0,E=r/e;1<E&&(E=1);E*=1a.1j5;1d F=-1,H=-1,I,J=pu.1h;1j(I=0;I<J;++I){1d L=pu[I];++F;A=L;if(L>E&&L>k)1W;0>H&&L/1a.1j5*e>=1a.5iq&&(H=F)}if(0<F){1j(;0<F;)if(--F,1E-5>1k.abs(b(A,pu[F]))){pu[F]>=k&&(B=pu[F]);1W}if(0<=H)1j(;H<F;){if(1E-5>1k.abs(b(B,pu[H]))&&pu[H]>=k){C=pu[H];1W}++H}}k=t;1E-10<k&&1E-5>C&&1E-10<1k.abs(k-A)&&(C=k,k<=A+1E-10&&(B=0));t=-77E;if(3<=C/1a.1j5*e)1j(k=1k.2t(v/C)*C;k<=q;k=1k.8a(k/C+.5)*C)g+=\'<1kl 11F="3P-1FH-77D" 2r="3B: \'+1k.9p(e*a(k)).5s()+\'px;"></1kl>\';if(3<=B/1a.1j5*e)1j(k=1k.2t(v/B)*B;k<=q;k=1k.8a(k/B+.5)*B)g+=\'<1kl 11F="3P-1FH-5ip" 2r="3B: \'+1k.9p(e*a(k)).5s()+\'px;"></1kl>\';if(2<=A/1a.1j5*e)1j(1a.3LT=A,q+=A,k=1k.2t(v/A)*A,u=M.3jc(u);k<=q;)C=M.190(n,k-v,1g M),2.1<A&&(B=M.3jc(C),.1<1k.abs(B-u)&&(k+=B-u,C=M.190(n,k-v,1g M))),B=1k.9p(e*a(k)),E=1a.4kg(C),1a.3jb.1dd=E,C=1a.3jb.4kf,10>C&&(C=r),F=B-(C/2-1),F>t?(t=F+C+5,g+=\'<1kl 11F="3P-1FH-77C" 2r="3B: \'+B.5s()+\'px;"></1kl><1kl 11F="3P-1FH-77B" 2r="3B: \'+F.5s()+\'px;">\'+E+"</1kl>"):g+=\'<1kl 11F="3P-1FH-5ip" 2r="3B: \'+B.5s()+\'px;"></1kl>\',k=1k.8a(k/A+.5)*A;1s 1a.3LT=-1;g+=\'<1kl 11F="3P-1FH-77A" 2r="3B:\'+d+\'px;7b:0;1Ds-1K: 0 0;"></1kl>\';c.1dd=g;1a.1Pb=c.3ja;1a.4j.2lF(0,0,1a.2wj.1G,1a.2wj.1D);y.y=0;1a.3LP.12I(1b(a){a.3t(f.4j,y);y.y+=a.1D})};xi.1i.3j9=1b(){1a.2wl=1a.1aG.1a2;1d a=1a.1Pb;if(g(1a.1Pb)){1d b=M.1dA(1a.2wl,1a.1sb);b=1k.9p(b*1a.1m0.18L/1a.1j5);1a.3LO!==b&&(1a.3LO=b,a.2r.3B=b-8+"px",1a.3LR.2r.3B=b+"px")}g(1a.2wm)&&(1a.3LS(1a.2wm,1a.2wm*1a.1j5/1a.1m0.18L),1a.261(M.190(1a.1sb,1a.306,1g M),M.190(1a.1IV,1a.306,1g M)))};xi.1i.3LS=1b(a,b){a=1k.9p(a);1a.2wl=M.190(1a.1sb,b,1g M);1a.1Pb&&(1a.1Pb.2r.3B=(a-8).5s()+"px",1a.3LR.2r.3B=a.5s()+"px");1d c=3n.3LQ("1P3");c.4ke("4k4",!0,!0);c.1ld=a;c.77z=b;c.5io=1a.2wl;c.14c=1a.1aG;1a.1m0.2wk(c)};xi.1i.1ce=1b(){1d a=1a.11z.18L,b=1a.11z.1gt;if(a!==1a.268||b!==1a.2dy){1a.5in.2r.1D=b+"px";1d c=1;1a.3LP.12I(1b(a){c+=a.1D});1a.2wj.2r.1D=c.5s()+"px";1a.2wj.1G=1a.2wj.18L;1a.2wj.1D=c;1a.4kd();1a.3LO=1p 0;1a.268=a;1a.2dy=b}};1L.2X(jE.1i,{77y:{1n:1b(){1f 1a.3LN},1C:1b(a){if(!(a 2m 3j8))1t 1g r("1Q 2Q be a 1eu 3j8.");1a.3LN=a}},14Z:{1n:1b(){1f 1a.10u}}});jE.1i.3Z=1b(){1f!1};jE.1i.1M=1b(){1a.1n5.7f();3n.12R(ge.3j7,1a.1Zz);la(1a)};1L.2X(kE.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});kE.1i.3Z=1b(){1f!1};kE.1i.1M=1b(){1a.1cT.1M();ta.1IU(1a.17e);1a.15Q.18Z(1a.17e);1f la(1a)};Uz.1i.2H=1b(){1d a=1a.4r.1Zw;if(a.4kc){a.4kc=!1;1d b=1a.15Q,c=b.1eZ.18L;b=b.1eZ.1gt;a=C.1y(a.2dC);a.x=1k.2o(1k.1V(a.x,-48),c+48)-24;a.y=1k.2o(1k.1V(a.y,-48),b+48)-24;1a.2dB=1k.2t(a.x+.25)+"px";1a.2dA=1k.2t(a.y+.25)+"px";1a.1n8=1;1a.2dx=!0;1a.3LJ()}};Uz.1i.4k7=1b(){1a.1sa.1Dr({2c:1a,5i:"13V",2lE:2,2lD:1,13k:.8,1lZ:jh.304})};Uz.1i.3LJ=1b(){1a.1sa.1Dr({2c:1a,5i:"1n8",2lE:1a.1n8,2lD:0,13k:1,1lZ:jh.304})};1L.2X(Uz.1i,{11z:{1n:1b(){1f 1a.15Q}},5im:{1n:1b(){1f 1a.5il}},4r:{1n:1b(){1f 1a.2R}}});1L.2X(lE.1i,{11z:{1n:1b(){1f 1a.15Q}},1fW:{1n:1b(){1f 1a.1cT}}});lE.1i.3Z=1b(){1f!1};lE.1i.1M=1b(){1d a=1a.15Q;ta.1IU(1a.17e);a.18Z(1a.17e);1f la(1a)};1d kt=1g P,4kb=1g k;1L.2X(zd.1i,{11z:{1n:1b(){1f 1a.15Q}},58l:{1n:1b(){1f 1a.3LI}},77x:{1n:1b(){1f 1a.1Dp}},4ka:{1n:1b(){1f 1a.265}},1Dq:{1n:1b(){1f 1a.264}},26b:{1n:1b(){1f 1a.302}},1fX:{1n:1b(){1f 1a.5ik}},4k9:{1n:1b(){1f 1a.301}},1n7:{1n:1b(){1f 1a.2ZZ}},1IT:{1n:1b(){1f 1a.2ZY}},1og:{1n:1b(){1f 1a.2ZX}},3LM:{1n:1b(){1f 1a.5ij}},15R:{1n:1b(){1f 1a.1Th}},1FH:{1n:1b(){1f 1a.1Zx}},3LL:{1n:1b(){1f 1a.2wh}},4k8:{1n:1b(){1f 1a.2wg}},77w:{1n:1b(){1f 1a.25Z}},13K:{1n:1b(){1f 1a.25Z.3LH.13K}},2j5:{1n:1b(){1f 1a.266}},3M:{1n:1b(){1f 1a.1Dp.3M}},5ii:{1n:1b(){1f 1a.1Dp.5ii}},4r:{1n:1b(){1f 1a.1Dp.4r}},6x:{1n:1b(){1f 1a.4r.17A.3e},1C:1b(a){1a.4r.17A.3e=a}},3LK:{1n:1b(){1f 1a.4r.10a.6x},1C:1b(a){1a.4r.10a.6x=a}},17A:{1n:1b(){1f 1a.4r.17A}},1uU:{1n:1b(){1f 1a.4r.1uU}},16u:{1n:1b(){1f 1a.4r.16u},1C:1b(a){1a.4r.16u=a}},3w:{1n:1b(){1f 1a.4r.3w}},26a:{1n:1b(){1f 1a.4r.26a}},14c:{1n:1b(){1f 1a.1uT.14c}},3j6:{1n:1b(){1f 1a.1uT}},1hL:{1n:1b(){1f 1a.1Dp.1hL}},2lC:{1n:1b(){1f 1a.1Dp.2lC},1C:1b(a){1a.1Dp.2lC=a}},2wi:{1n:1b(){1f 1a.1Dp.2wi},1C:1b(a){1a.1Dp.2wi=a}},2dz:{1n:1b(){1f 1a.1Dp.2dz},1C:1b(a){1a.1Dp.2dz=a;1a.2lB=!0}},2HQ:{1n:1b(){1f 1a.1Dp.2HQ},1C:1b(a){1a.1Dp.2HQ=a}},77v:{1n:1b(){1f 1a.3LE},1C:1b(a){1a.3LE=a}},1FI:{1n:1b(){1f 1a.2HN},1C:1b(a){if(1a.2HN!==a){1a.2HN=a;iV(1a);1d b=1a.4r,c=b.3z;if(g(a)&&g(a.1K))1a.3iW=!0;1s{1a.3iW=!1;if(c===O.15j||c===O.10j)b.1Do.2wd=!0;if(c===O.15j||c===O.6G)b.1Do.2ZT=!0;1a.3iX=1p 0;1a.3w.1Pa(A.8K)}1a.4k5.5k(a);1a.4r.1e2()}}},1pi:{1n:1b(){1f 1a.3j5},1C:1b(a){if(1a.3j5!==a){1a.3j5=a;1d b=g(1a.265)?1a.265.1fW:1p 0;g(a)?g(b)&&b.4k7():g(b)&&b.3LJ();1a.4k6.5k(a)}}},77u:{1n:1b(){1f 1a.4k6}},77t:{1n:1b(){1f 1a.4k5}},3iY:{1n:1b(){1f 1a.303},1C:1b(a){1a.303!==a&&(1a.303=a,4jX(1a.1Zx,1a.14c,a))}}});zd.1i.1a3=1b(a,b){if(!g(a))1t 1g r("2SH is 1X.");a(1a,b)};zd.1i.1ce=1b(){1d a=1a.1Dp,b=1a.15Q,c=b.18L;b=b.1gt;1d d=g(1a.1Th),e=g(1a.1Zx);if(1a.2lB||c!==1a.268||b!==1a.2dy){a.1ce();1a.2lB=!1;a=b-125;1d f=1a.5ih;g(f)&&(f.2r.1wE=a+"px");g(1a.264)&&(1a.264.1fW.1wE=a);a=1a.1Zx;1d h,k=h=f=0;if(d&&"1qr"!==7O.1Zy(1a.1Th.11z).12F){d=1a.268;h=1a.1Th.11z;if(900<c)f=169,900>=d&&(h.2r.1G="77s",h.2r.1D="77r",1a.1Th.1ce());1s if(600<=c){if(f=136,600>d||900<d)h.2r.1G="77q",h.2r.1D="77p",1a.1Th.1ce()}1s if(f=106,600<d||0===d)h.2r.1G="77o",h.2r.1D="77n",1a.1Th.1ce();h=f+5}if(e&&"1qr"!==7O.1Zy(1a.1Zx.11z).12F){e=1a.2wh;d=1a.2wg;k=a.11z;1d m=k.2r;k=k.1gt+3;m.3B=f+"px";f=0;g(e)&&(f+=e.11z.18L);g(d)&&(f+=d.11z.18L);m.2W=f+"px";a.1ce()}1a.3LI.2r.3B=h+"px";1a.3LI.2r.7b=k+"px";1a.268=c;1a.2dy=b}};zd.1i.5ig=1b(){1a.268=0;1a.1ce()};zd.1i.3t=1b(){1a.1Dp.3t()};zd.1i.3Z=1b(){1f!1};zd.1i.1M=1b(){1d a;1a.1hL.1cQ(Va.1yr);1a.1hL.1cQ(Va.3j4);1d b=1a.2j5,c=b.1h;1j(a=0;a<c;a++)1a.2wf(b,b.1n(a));1a.2wf(1p 0,1a.25Z.3LH);1a.15Q.18Z(1a.17e);1a.17e.18Z(1a.5if);1a.1n5.7f();g(1a.302)&&(1a.302=1a.302.1M());g(1a.301)&&(1a.301=1a.301.1M());g(1a.2ZZ)&&(1a.2ZZ=1a.2ZZ.1M());g(1a.2ZY)&&(1a.2ZY=1a.2ZY.1M());g(1a.2ZX)&&(1a.2ZX=1a.2ZX.1M());g(1a.1Th)&&(1a.17e.18Z(1a.1Th.11z),1a.1Th=1a.1Th.1M());g(1a.1Zx)&&(1a.1Zx.12R("4k4",3LG,!1),1a.17e.18Z(1a.1Zx.11z),1a.1Zx=1a.1Zx.1M());g(1a.2wh)&&(1a.5ie.1n6(),1a.17e.18Z(1a.2wh.11z),1a.2wh=1a.2wh.1M());g(1a.2wg)&&(1a.5id.1n6(),1a.5ic.1n6(),1a.17e.18Z(1a.2wg.11z),1a.2wg=1a.2wg.1M());g(1a.264)&&(1a.17e.18Z(1a.264.11z),1a.264=1a.264.1M());g(1a.265)&&(1a.17e.18Z(1a.265.11z),1a.265=1a.265.1M());1a.5ib&&(1a.1uT=1a.1uT.1M());1a.25Z=1a.25Z.1M();1a.1Dp=1a.1Dp.1M();1a.5ia&&(1a.266=1a.266.1M());1f la(1a)};zd.1i.2HP=1b(a,b){b.13K.1s9.7K(zd.1i.4jZ,1a)};zd.1i.2wf=1b(a,b){a=b.13K;a.1s9.12R(zd.1i.4jZ,1a);g(1a.1FI)&&a.1of(1a.1FI.id)===1a.1FI&&(1a.1FI=1p 0);g(1a.1pi)&&a.1of(1a.1pi.id)===1a.1pi&&(1a.1pi=1p 0)};1d EN=!1,YF,4k0=0;zd.1i.3LF=1b(a){a=a.1a2;1d b=1a.25Z.2H(a);1a.3LE&&(1a.1uT.1Tg=b);b=1a.3iX;g(b)&&1a.25Z.1cS(1a.2HN,!1,kt)===tb.1k0&&b.2H(a,kt);1d c;b=!1;1d d=1a.1pi,e=g(d)&&1a.3LD;e=1a.77m;if(g(e))if(1a.3LD=!1,g(d)&&g(d.4k3)){1d f=1a.4r.3M.1D,h=d.4k3,l=1g C;ic.1yu(1a.4r,h,l);e.2r.7b=f-l.y+45+"px";e.2r.3B=l.x-70+"px";e.2r.12F="13z"}1s e.2r.12F="1qr";(e=g(d)&&1a.3LD)&&d.17K&&d.1hK(a)&&(1a.25Z.1cS(d,!0,kt)!==tb.12D?c=kt.2V:g(d.1K)&&(c=d.1K.3K(a,c)),b=g(c));f=g(1a.265)?1a.265.1fW:1p 0;g(f)&&(f.1K=k.1y(c,f.1K),f.2dx=e&&b,f.2H());c=g(1a.264)?1a.264.1fW:1p 0;g(c)&&(c.3LC=e,c.3j3=b,c.3iZ=1a.1FI===1a.1pi,e?(c.3j2=m(d.2i,d.id),c.16G=F.7q(d.16G,a,"")):(c.3j2="",c.16G=""));1a.4k2.1cT.2H();1d p=1a.4r.1Zw;a=p.1P9.2lA;a[p.2ZW[0]]&&3==1a.4r.3z?(g(1a.2HO)?1a.2HO.5i9(1a.4r.18Y,p.2dw):(1a.2HO=1g it(1a.4r.1O,cb("1fV/1eX/2lz.1j4"),p.2dw),1a.4r.13y.add(1a.2HO)),1a.2HO.1br=!0):g(1a.2HO)&&(1a.2HO.1br=!1);g(1a.5i8)&&0==1a.5i8||(""==1a.17e.2r.1LK&&(1a.17e.2r.1LK=1a.4k1),a[p.3LB]?EN||(EN=!0,1a.17e.2r.1LK=1a.5i7):EN&&(EN=!1,1a.17e.2r.1LK=1a.4k1));p.2R.3LA?(g(1a.3j0)||(1a.3j0=1a.13K.add({id:"77l-3j1-77k",1K:1g Vd(1b(){1f p.2R.3Lz},!1),7v:{12Q:1a.3Ly,1A:1a.3Lx}})),1a.3j0.2p=!0,a=p.1P9,g(YF)||(YF=C.1y(a.3Lw)),c=Kd(),c-4k0>p.2R.5i6&&(4k0=c,c=C.1y(a.3Lw),b=c.x-YF.x,d=c.y-YF.y,b=1k.3Y(b*b+d*d),YF=C.1y(a.3Lw),5<b&&p.2R.5i5(c))):g(1a.3j0)&&(1a.3j0.2p=!1)};zd.1i.4jZ=1b(a,b,c){a=c.1h;1j(b=0;b<a;b++){1d d=c[b];1a.1FI===d&&(1a.1FI=1p 0);1a.1pi===d&&(1a.1pi=1p 0)}};zd.1i.5i4=1b(a){a.3iZ&&1a.1FI===1a.1pi?1a.1FI=1p 0:g(1a.1pi.1K)?1a.1FI=1a.1pi:1a.261(1a.1pi)};zd.1i.4jY=1b(){1a.1FI=1p 0};zd.1i.5i3=1b(a){1a.1pi=1p 0};zd.1i.5i2=1b(){1a.1pi=1a.1FI=1p 0};zd.1i.5i1=1b(a){1a.3iY===a&&4jX(1a.1FH,1a.14c,a)};zd.1i.2ZV=1b(a,b){1a.4jW&&(1a.3iY=b);a=b.13K.id;b=1a.1n5.add(b.2dv,zd.1i.5i1,1a);1a.3Lv[a]=b};zd.1i.2ZU=1b(a,b){1d c=1a.3iY===b;b=b.13K.id;1a.3Lv[b]();1a.3Lv[b]=1p 0;c&&(c=a.1h,1a.3iY=1a.4jW&&0<c?a.1n(c-1):1p 0)};zd.1i.261=1b(a,b){1f 4jV(1a,a,{2M:b},!1)};zd.1i.1AG=1b(a,b){1f 4jV(1a,a,b,!0)};zd.1i.2we=1b(){5i0(1a);if(1a.3iW){1d a=1a.2HN,b=1a.14c.1a2,c=F.8y(a.1K,b);if(g(c)){c=1a.4r;1d d=1a.25Z.1cS(a,!1,kt);if(d!==tb.1rg){1d e=c.3z;if(e===O.15j||e===O.10j)c.1Do.2wd=!1;if(e===O.15j||e===O.6G)c.1Do.2ZT=!1;d=d!==tb.12D?kt:1p 0;1a.3iX=1g uy(a,c,c.11s.3c);1a.3iX.2H(b,d);1a.3iW=!1}}}};1d 4fe=1b(a){1a.2i="77j";1a.19s=a};4fe.1i.1n4=1b(){1f 1a.19s};1d 4jU=4/29,Vz=6/29,4jT=3*Vz*Vz,5hZ=Vz*Vz*Vz,5hX=1k.PI/180,5hY=180/1k.PI,58x=1L.3F({14Y:1F,2du:{1et:4jS,1e1:4jR,1d9:1b(a,b,c){1f{l:2b(a.l,b.l,c),a:2b(a.a,b.a,c),b:2b(a.b,b.b,c),2O:2b(a.2O,b.2O,c)}}},25Y:{1et:1b(a){1d b=4jS(a),c=b.a,d=b.b,e=1k.12B(d,c)*5hY;1f{h:0>e?e+360:e,c:1k.3Y(c*c+d*d),l:b.l,2O:a.a}},1e1:1b(a){1d b=a.h*5hX,c=a.c;1f 4jR({l:a.l,a:1k.3i(b)*c,b:1k.2T(b)*c,2O:a.2O})},1d9:1b(a,b,c){1d d=a.h,e=b.h-d;1f{h:d+c*(180<e||-180>e?e-360*1k.9p(e/360):e),c:2b(a.c,b.c,c),l:2b(a.l,b.l,c),2O:2b(a.2O,b.2O,c)}}}}),4jQ=4/29,Wz=6/29,4jP=3*Wz*Wz,$Ea=Wz*Wz*Wz,5hV=1k.PI/180,5hW=180/1k.PI,58s=1L.3F({14Y:1F,2du:{1et:4jO,1e1:4jN,1d9:1b(a,b,c){1f{l:2b(a.l,b.l,c),a:2b(a.a,b.a,c),b:2b(a.b,b.b,c),2O:2b(a.2O,b.2O,c)}}},25Y:{1et:1b(a){1d b=4jO(a),c=b.a,d=b.b,e=1k.12B(d,c)*5hW;1f{h:0>e?e+360:e,c:1k.3Y(c*c+d*d),l:b.l,2O:a.a}},1e1:1b(a){1d b=a.h*5hV,c=a.c;1f 4jN({l:a.l,a:1k.3i(b)*c,b:1k.2T(b)*c,2O:a.2O})},1d9:1b(a,b,c){1d d=a.h,e=b.h-d;1f{h:d+c*(180<e||-180>e?e-360*1k.9p(e/360):e),c:2b(a.c,b.c,c),l:2b(a.l,b.l,c),2O:2b(a.2O,b.2O,c)}}}});lt.1i.2Hz=1b(){1a.1Tb=!0;1a.2R.10C.2r.1LK="77i";1a.2R.1Do.1Zo=!1;if(1F===1a.1yv||!g(1a.1yv)){1d a=Te.1tm();0!==1a.1aF&&a.2ZS?1a.1Zv(1a.1aF,1a.1bq):0===1a.1aF||a.2ZS||1a.5hU(a,1a.1aF,1a.1bq)}};lt.1i.77h=1b(a,b){g(a)&&g(b)&&1F!==a&&1F!==b&&(1a.1aF=a,1a.1bq=b,1a.1Zv(1a.1aF,1a.1bq))};lt.1i.1Zv=1b(a,b){1d c=1a,d=Te.1tm(),e=d.25X(a,b);if(g(e)&&1F!==e)c.1yv=e;1s if(b=14y.1Zv(a,b))b.1Zu.13U.on({2ly:1b(b){c.1yv=b.4D;d.3iV(a,b.4D);1f!0},2lx:1b(){},1A9:c}),b.1Zu.2lw(b.2HM)};lt.1i.5hU=1b(a,b,c){1a.1yv=a.2HL[b][c]};1L.2X(lt.1i,{19C:{1n:1b(){1f 1a.1aF},1C:1b(a){a!==1a.1aF&&(1a.1aF=a)}},16A:{1n:1b(){1f 1a.1bq},1C:1b(a){a!==1a.1bq&&(1a.1bq=a)}},2HK:{1n:1b(){1f 1a.1uS},1C:1b(a){a!==1a.1uS&&(1a.1uS=a)}},77g:{1n:1b(){1f 1a.4jM}},77f:{1n:1b(){1f 1a.4jL}},2HA:{1n:1b(){1f 1a.8L},1C:1b(a){a!==1a.8L&&(1a.8L=a)}}});lt.1i.5hE=1b(a){1f a?(1a.8L=a,!0):!1};lt.1i.1LJ=1b(){1a.25W=1a.1Tb=!1;1a.1bq=1a.1aF=-1;4Y 1a.1oe;1a.2R.10C.2r.1LK="";1a.2R.1Do.1Zo=!0};1d Fg=1L.3F({2wb:0,2lv:1,3iU:2,77e:4});ph.1i.3Lu=1b(a,b){if(g(a)){1d c=1a;1a.1Td={1uQ:{2w8:1b(a,b){c.2lt&&(c.1LM=!0);tV(0,c,a,b);1j(b=0;b<c.1IQ.1h;++b){1d d=c.1IQ.1n(b);if(d.2P!==a.2P||d.1I!==a.1I)d.2p=!1}},2wa:1b(a,b){tV(1,c,a,b)},2w9:1b(a,b){tV(2,c,a,b);c.2Hw(c.12l)}}};1d d=a.17D,e=1F,f=1g k(0,0,0),h=[];b===Fg.2wb?(e=1a.4ju,0===a.19C&&wa.2wc===a.16A?(h.1q(a.15O[0]),h.1q(a.15O[a.15O.1h-1]),1a.77d=!0):0===a.19C&&wa.1LH===a.16A?h.1q(a.15O[0]):h=a.15O):b===Fg.2lv?(e=1a.3Lo,d===wa.1lb?(f=c.5hR(a),h=a.15O):d!==wa.1lb&&d!==wa.1LH&&(h=a.1Tf)):b===Fg.3iU&&(e=1a.4jt,h.1q(c.4jG(a)),d=c.4jG(a),c.2HJ=d);1j(d=0;d<h.1h;++d){1d l=1a.1IQ.add({2p:!0,1K:1g k.8g(h[d].x,h[d].y,h[d].z),3b:2,4d:e,id:a.id,14l:f,11p:3a.19B});l.2P=d;l.1I=b;if(0!==f.x||0!==f.y)l.4jK=f.x,l.4jJ=f.y;1a.1Zq(l,c.1Td)}}};ph.1i.2Hw=1b(a){if(a){1a.7f();1a.12l=a;1d b=a.17D;if(b!==wa.1lb||a.1IP!==jd.1LI)1a.3Lu(a,Fg.2wb),1a.3Lu(a,Fg.2lv),b!==wa.1lb&&b!==wa.1LH&&1a.3Lu(a,Fg.3iU),1a.5hT(a)}};ph.1i.5hT=1b(a){if(a&&0<a.1AE.1h)1j(1d b=0;b<a.1AE.1h;b++)1a.4jl(a.1AE[b],b)};ph.1i.4jl=1b(a,b){1a.12l&&(a=a.1IS,a=1a.1IQ.add({2p:!0,1K:1g k.8g(a.x,a.y,a.z),3b:2,4d:1a.3Lo,id:1a.12l.id,15P:oc.1hc}),a.2dr=b,a.1I=Fg.2wb,1a.1Zq(a,1a.1Td))};ph.1i.1Zq=1b(a,b){1b c(a){e.1Zo=a;d.2R.3w.2H(d.2R.3z);e.2H()}1d d=1a,e=d.2R.1Do;b.1uQ&&(sV(a,"3Lh",1b(e,g){1b f(e,f){d.12l.5hS=!0;c(!1);1p 0!==a.2P&&b.1uQ.2wa&&b.1uQ.2wa(e,f);1p 0!==a.2dr&&b.1uQ.2wa&&b.1uQ.2wa(e,f)}1b h(e,f){d.12l.5hS=!1;g.1cQ(Va.1kj);g.1cQ(Va.1lX);c(!0);1p 0!==a.2P&&b.1uQ.2w9&&b.1uQ.2w9(e,f);1p 0!==a.2dr&&b.1uQ.2w9&&b.1uQ.2w9(e,f)}g.1a1(1b(b){if(d.12l){1d c=ha.1Au(d.2R,b.11R);d.1LM||a.1I===Fg.2lv&&d.12l.17D===wa.1lb?f(a,b.11R):f(a,c)}},Va.1kj);g.1a1(1b(b){d.1LM||a.1I===Fg.2lv?h(a,b.1K):h(a,ha.1Au(d.2R,b.1K))},Va.1lX);1p 0!==a.2P&&b.1uQ.2w8&&b.1uQ.2w8(a,e);1p 0!==a.2dr&&b.1uQ.2w8&&b.1uQ.2w8(a,e)}),sV(a,"3Li",1b(b){c(!1);d.1LM||(d.2R.10C.2r.1LK=d.2lt&&0===a.1I?"n-1ce":"4T")}),sV(a,"3Lj",1b(a){c(!0);d.1LM||(d.2R.10C.2r.1LK="")}))};ph.1i.5hR=1b(a){1d b=1g k(0,0,0);if(a.1IP===jd.2HI){1d c=a.1FG.x+3;1d d=a.1FG.y+3;b=1g k(c/2,-d,0)}1s if(a.1IP===jd.1IR){c=.5*a.1AF.x+3;d=a.1Zt.10C.1D-a.1Zt.1wD;if(a.1Zt.3iT||a.1Zt.3iS)d=a.1Zt.10C.1D;b=1g k(.5*c,-d,0);a.3Lt&&(b=1g k(c,-d,0));a.3Lt&&a.3Ls&&(b=1g k(0,-d,0))}1f b};ph.1i.4jI=1b(a,b){1j(1d c=0;c<1a.1IQ.1h;c++){1d d=1a.1IQ.1n(c);if(d.1I===a&&b===d.2P)1f 1a.1IQ.1n(c)}1f 1F};ph.1i.7f=1b(){1a.1IQ.7f();1a.12l=1F};ph.1i.4jH=1b(a,b){if(1a.12l){if(!g(a))1f a=1a.12l.10i.3b;1d c=1a.12l.15O[0];c=ic.1yu(1a.2R,k.8g(c.x,c.y,c.z));b=ha.3s(c,b);1f ha.3s(c,a)/b}};ph.1i.5hD=1b(){1d a=1a;a.2ZQ.4jr.7K(1b(){g(a.1IQ)&&a.1IQ.7f()});a.3iK=1b(b){72===b.2HH&&(a.2lt=!0)};a.3iL=1b(b){72===b.2HH&&(a.2lt=!1,a.1LM=!1)};3n.7K("2dt",a.3iK);3n.7K("3iR",a.3iL)};ph.1i.5hA=1b(){3n.12R("2dt",1a.3iK);3n.12R("3iR",1a.3iL)};ph.4jF=1b(a,b,c){1d d=T.12y(a);d.1D+=1;d=k.15i(d.3N,d.4k,d.1D);1d e=ic.1yu(c,a),f=ic.1yu(c,d);if(f){f.x===e.x?e=0:f.y===e.y?e=-1:(e=(f.y-e.y)/(f.x-e.x),e=-1/e);f=c.3Lr(b);b=ha.5hQ(b,e,{3B:f.x,2W:f.x+f.1G,7b:f.y,5C:f.y+f.1D});f=b[0];1d g=b[1];b=1g k;e=1g k;ic.2lu(c,f,1,b);ic.2lu(c,g,1,e);c=c.3w.1K;f=1g k;k.3V(a,d,f);g=1g k;k.11k(f,g);k.1T(f,f);k.1T(g,g);d=1g rb(a,f);a=1g rb(a,g);if(f=ib.2ZR(d,b,e,c))1f rb.1n3(d,f);if(f=ib.2ZR(a,b,e,c))1f rb.1n3(a,f)}};ph.1i.4jG=1b(a){if(g(a)||"1b"!==a.3iQ){a=a.3iQ();1d b=1a.2HG(a,3);1f 1g k(a.x,a.y-b,a.z)}};ph.1i.2HG=1b(a,b){1d c=1a.2R;a=k.8g(a.x,a.y,a.z);a=ic.1yu(c,a);if(!g(a))1f 0;b=1g k(a.x+b,a.y,0);a=ha.1Au(c,a);c=ha.1Au(c,b);1f ha.3s(a,c)};ng.1i.5hP=1b(){1a.1Td={1uQ:{2w8:1b(a,b,c,d){if("1ys"===b.1lc[0]){if(!c)1f;a.5hO=d;a.4jE=a.1cR.1yt.z}"2HC"===b.1lc[0]&&(a.5hN=d,a.12W?a.1uR=a.1cR.25U.x:a.8r&&(a.1uR=a.1cR.25V))},2wa:1b(a,b,c){a:if(g(c)){1d d=a.2R;if("1AD"===b.1lc[0]){ZK(a);1d e=ic.2ds(d,c);e.y=d.7p-e.y;1d f=k.8g(a.1hJ.x,a.1hJ.y,0);e=ph.4jF(f,e,d);if(!g(e))1W a;f=k.3s(f,e);f=1g Ya(a.1hJ.x,a.1hJ.y,f-a.25Q);if(0>f.z)1W a;a.1cR.15O[0]=f;a.12W&&vV(a.1cR.15O[0],a.1cR.1yt,a.1cR.13O.4a,a.2HE);a.8r&&a.1cR.1lY(!0)}"1P7"===b.1lc[0]&&(ZK(a),a.1cR.15O[0].x=c.x,a.1cR.15O[0].y=c.y,a.12W?vV(a.1cR.15O[0],a.1cR.1yt,a.1cR.13O.4a,a.2HE):a.8r&&a.1cR.1lY(!0));"1ys"===b.1lc[0]&&(f=ic.1yu(d,a.4jB),e=ha.1Te(f,a.5hO),f=ha.1Te(f,c)-e,a.12W&&(a.1cR.1yt.z=a.4jE+180*f/1k.PI,vV(a.1cR.15O[0],a.1cR.1yt,a.1cR.13O.4a,a.2HE)),a.8r&&(a.1cR.25T.z=a.4jE+180*f/1k.PI,a.1cR.1lY(!0)));"2HC"===b.1lc[0]&&(b=a.1cR.15O[0],d=ic.1yu(d,k.8g(b.x,b.y,b.z)),b=ha.3s(d,a.5hN),c=ha.3s(d,c)/b,a.12W&&(a.1cR.13O.3b=a.1uR*c),a.8r&&(a.1cR.2HF=a.1uR*c,a.1cR.1lY(!0)))}},2w9:1b(a,b,c){a.12W?(a.3Lq(a),a.1cR.25U.x=a.12W.3b):a.8r&&(ZK(a),a.3Lp(a));a.1cR.9s=!1}}}};ng.1i.1Zq=1b(a,b){1b c(a){e.1Zo=a;d.2R.3w.2H(d.2R.3z);e.2H()}1d d=1a,e=d.2R.1Do;b.1uQ&&(uV(a,"3Lh",1b(e,g){1b f(a,e){c(!1);1p 0!==a.1I&&b.1uQ.2wa&&b.1uQ.2wa(d,a,e)}g.1a1(1b(b){"1AD"===a.1lc[0]||"2HC"===a.1lc[0]||"1ys"===a.1lc[0]?f(a,b.11R):(b=ha.1Au(d.2R,b.11R),f(a,b))},Va.1kj);g.1a1(1b(e){e=ha.1Au(d.2R,e.1K);g.1cQ(Va.1kj);g.1cQ(Va.1lX);g.1cQ(Va.25P);c(!0);1p 0!==a.1I&&b.1uQ.2w9&&b.1uQ.2w9(d,a,e)},Va.1lX);if("1ys"===a.1lc[0]||"2HC"===a.1lc[0]){1d h=ha.1Au(d.2R,e);b.1uQ.2w8&&b.1uQ.2w8(d,a,h,e)}"1AD"===a.1lc[0]&&(d.1hJ=d.1cR.15O[0])}),uV(a,"3Li",1b(b){c(!1);if(!d.1LM)if(d.2R.10C.2r.1LK="4T",b=a.1bH("1AD"))d.2R.10C.2r.1LK="n-1ce",b.1A=Qb.1an(1g y(1,0,0,1));1s if(b=a.1bH("1ys"))b.1A=Qb.1an(1g y(1,0,0,1));1s if(b=a.1bH("2HC"))a.1bH("4jC").1A=Qb.1an(1g y(1,0,0,1)),b.1A=Qb.1an(1g y(1,0,0,1))}),uV(a,"3Lj",1b(b){c(!0);if(!d.1LM)if(d.2R.10C.2r.1LK="",b=a.1bH("1AD"))b.1A=Qb.1an(1g y(0,0,1,1));1s if(b=a.1bH("1ys"))b.1A=Qb.1an(1g y(1,1,0,1));1s if(b=a.1bH("2HC"))a.1bH("4jC").1A=Qb.1an(1g y(0,1,0,1)),b.1A=Qb.1an(1g y(0,1,0,1))}))};ng.1i.4ji=1b(a){g(1a.1Zr)&&1F!==1a.1Zr&&(1a.2w4.2p=a,1a.1ys.2p=a,1a.1AD.2p=a,1a.1Zr.2p=a,1a.1P7.2p=a)};ng.1i.5hz=1b(a){a&&!g(1a.1Zr)?1a.3Lq(1a):a&&g(1a.1Zr)&&1a.3Lq(1a)};ng.1i.3Lq=1b(a){1a.8r=1F;1a.1cR=a.2ZQ.12l;1d b=a.1cR.15O[0];1a.12W=a.1cR.13O;1a.4a=1a.12W.4a;1d c=a.12W.5V.2V;1a.1P8=c.x>c.y?c.x:c.y;1a.1P8=(1a.1P8>c.z?1a.1P8:c.z)*a.12W.3b;1a.25Q=a.12W.2w7*a.12W.3b;c=1g k(a.25Q+1a.1P8,a.25Q+1a.1P8,a.25Q+1a.1P8);1d d=1g Ya(b.x,b.y,b.z),e=k.4g(k.9v(a.12W.2w6.z,a.12W.2w6.x,a.12W.2w6.y),a.12W.3b,1g k),f=k.4g(k.9v(a.12W.2w5.z,a.12W.2w5.x,a.12W.2w5.y),a.12W.3b,1g k),g=1g zh(e,f);1a.5hK=g.2V;a.1Zr=a.3iF(d,c,g);b=a.4jz(b,f,e,1a.4a);a.1P7=a.4jy(b.1P7,1g y(1,1,0,.3),"1P7");a.2w4=a.4jx(b.3iM[0],b.3iM[1]);a.1ys=a.4jw(b.1ys);a.1AD=a.4jv(b.1AD);a.1cR.7h.1q(a.2w4);a.1cR.7h.1q(a.1ys);a.1cR.7h.1q(a.1AD);a.1cR.7h.1q(a.1P7);a.1cR.7h.1q(a.1Zr);a.1Zq(a.2w4,a.1Td);a.1Zq(a.1ys,a.1Td);a.1Zq(a.1AD,a.1Td);a.1Zq(a.1P7,a.1Td)};ng.1i.3iF=1b(a,b,c){if(1F===a||1F===b)1f 1F;1d d=[];a=1a.12W?wV(a,1a.1cR.1yt,1a.4a.1y(),1a.2HE):1a.8r?wV(a,1a.1cR.25T,1a.4a.1y(),1a.2HE):wV(a,1g k(0,0,0),1g A,1a.2HE);b=g(c)?ai.4jD(c):ai.25S({6e:b});d.1q(1g yb({3y:b,4a:a,2w:{1A:Qb.1dc(y.1Zs)}}));1f 1g Kb({13g:d,161:1g zc({8z:!0,11C:!1,4w:{11a:1k.2o(3,1a.2R.2HD)}})})};ng.1i.4jx=1b(a,b){1d c=[],d=1g y(0,1,0);c.1q(1a.3iP(a,6,d,"2HC"));c.1q(1a.3iP(b,6,d,"4jC"));1f 1a.1eY(c)};ng.1i.4jw=1b(a){1d b=[],c=1g y(1,1,0);b.1q(1a.3iP(a,3,c,"1ys"));1f 1a.1eY(b)};ng.1i.4jv=1b(a){1d b=[],c=1g y(0,0,1);b.1q(1a.3iP(a,2,c,"1AD"));1f 1a.1eY(b)};ng.1i.1eY=1b(a){1d b=va.1kk("1aV",{1A:1g y(1,1,0,1),4K:!0});b=1g hf({11C:!0,1ph:!0,2q:b});a=1g Kb({13g:a,161:b,17X:!1,1od:!0,2p:!0});a.1I="5hM";1f a};ng.1i.3iP=1b(a,b,c,d){a=1g lk({3q:a,1G:b});a=lk.14t(a);c=Qb.1dc(c);1f 1g yb({3y:a,id:d,2w:{1A:c}})};ng.1i.4jz=1b(a,b,c,d){1d e=[],f=[],h=[],l=[],m=0,n=0;g(b)&&g(c)?(m=1k.abs(b.x-c.x)/2,n=1k.abs(b.y-c.y)/2,b=0>=c.z?b.z:b.z-c.z,c=m>n?n:m):(c=(1a.1P8+1a.25Q)/2,b=1.5*1a.1P8+1a.25Q/2);1a.4jB=k.8g(a.x,a.y,b+a.z);h.1q(1a.4jB);h.1q(k.8g(a.x,a.y,a.z+b+c));a=1a.5hL(m,n,c,b,d);e.1q(a[0]);e.1q(a[1]);e.1q(a[2]);f.1q(a[3]);f.1q(a[4]);1a.77c=a[1];1a.1ys=1a.5hI(c,b);a=1a.5hJ(c,b);l.1q(a[0]);l.1q(a[1]);l.1q(a[2]);l.1q(a[3]);1f{3iM:[e,f],1ys:1a.1ys,1AD:h,1P7:l}};ng.1i.4jy=1b(a,b,c){a=tc.25R({3q:a,16U:!0});a=tc.14t(a);c=1g yb({3y:a,id:c});b=1g va.1kk("1aV",{1A:b,4K:!0});b=1g Kb({13g:[c],161:1g iq({2q:b,3iO:!0}),2p:1a.1n2,17X:!1});b.1I="5hM";1f b};ng.1i.77b=1b(a,b,c,d){g(b)&&g(c)&&g(d)||(d=0);b=1k.3Y(a.x*a.x+a.y*a.y);c=1k.3Y(b*b+a.z*a.z);1d e=1k.1cz((c*c+b*b-a.z*a.z)/(2*c*b));c+=d;d=1k.3i(e)*c;1f 1g k(d*a.x/b,d*a.y/b,1k.2T(e)*c)};ng.1i.5hL=1b(a,b,c,d,e){1d f=[],g=1g k,l=1g k,m=0,n=0;0!==a&&0!==b?(c=a,m=(b+1a.5hK.y)/c,n=d/c):0!==c&&(m=1,n=d/c);l=k.4g(1g k(m,-.8,n),c,l);g=A.8P(e,l,g);f.1q(1g k(g.x,g.y,g.z));l=k.4g(1g k(m,-1,n),c,l);g=A.8P(e,l,g);f.1q(1g k(g.x,g.y,g.z));l=k.4g(1g k(.8*m,-1,n),c,l);g=A.8P(e,l,g);f.1q(1g k(g.x,g.y,g.z));l=k.4g(1g k(m,-1,n),c,l);g=A.8P(e,l,g);f.1q(1g k(g.x,g.y,g.z));l=k.4g(1g k(m,-1,.8*n),c,l);g=A.8P(e,l,g);f.1q(1g k(g.x,g.y,g.z));1f f};ng.1i.5hJ=1b(a,b){1d c=[],d=1g k,e=1g k;b/=a;e=k.4g(1g k(.2,.2,b),a,e);d=A.8P(1a.4a,e,d);c.1q(1g k(d.x,d.y,d.z));e=k.4g(1g k(-.2,.2,b),a,e);d=A.8P(1a.4a,e,d);c.1q(1g k(d.x,d.y,d.z));e=k.4g(1g k(-.2,-.2,b),a,e);d=A.8P(1a.4a,e,d);c.1q(1g k(d.x,d.y,d.z));e=k.4g(1g k(.2,-.2,b),a,e);d=A.8P(1a.4a,e,d);c.1q(1g k(d.x,d.y,d.z));1f c};ng.1i.5hI=1b(a,b){1d c=[],d=1g k,e=1g k;b/=a;1j(1d f=ha.2HB(1,1g k(0,0,0),72),g=0;g<f.1h;g++)e=k.4g(1g k(f[g].x,f[g].y,2*b),.5*a,e),d=A.8P(1a.4a,e,d),c.1q(1g k(d.x,d.y,d.z));1f c};ng.1i.5hy=1b(a){a&&!g(1a.1Zr)?1a.3Lp(1a):a&&g(1a.1Zr)&&(ZK(1a),1a.3Lp(1a))};ng.1i.3Lp=1b(a){1a.12W=1F;1a.1cR=1a.2ZQ.12l;1d b=1a.1cR.15O[0];1a.8r=1a.1cR.3iN;1a.4a=1a.8r.4a;1a.1P8=1a.8r.4jA/2;1a.25Q=1a.8r.4jA/2;1d c=1g k(a.25Q+1a.1P8,a.25Q+1a.1P8,a.25Q+1a.1P8),d=1g Ya(b.x,b.y,1a.1P8+b.z);a.1Zr=a.3iF(d,c);b=a.4jz(b,1p 0,1p 0,1a.8r.4a);a.1P7=a.4jy(b.1P7,1g y(1,1,0,.3),"1P7");a.2w4=a.4jx(b.3iM[0],b.3iM[1]);a.1ys=a.4jw(b.1ys);a.1AD=a.4jv(b.1AD);a.1cR.7h.1q(a.2w4);a.1cR.7h.1q(a.1ys);a.1cR.7h.1q(a.1AD);a.1cR.7h.1q(a.1P7);a.1cR.7h.1q(a.1Zr);a.1Zq(a.2w4,a.1Td);a.1Zq(a.1ys,a.1Td);a.1Zq(a.1AD,a.1Td);a.1Zq(a.1P7,a.1Td)};Gg.1i.6l=1b(){1a.12l=1p 0;1a.1Tc=1g Ne(1a.2R.3M);1a.1IQ=1g xd;1a.2R.13y.add(1a.1IQ);1a.4ju=cb("1fV/1eX/2ZP/5hH.12H");1a.3Lo=cb("1fV/1eX/2ZP/5hG.12H");1a.4jt=cb("1fV/1eX/2ZP/5hF.12H");1a.3Lg=1g sa;1a.4js=1g sa;1a.4jp=1g sa;1a.4jr=1g sa;1a.2lt=!1;1a.3iL=1a.3iK=1p 0;1a.1LM=!1;1a.4jq=1g Ne(1a.2R.3M)};Gg.1i.5hE=1b(a){1f a?(1a.1fU(),1a.1FF=a,a.1n1=1a,!0):!1};1L.2X(Gg.1i,{2HA:{1n:1b(){1f 1a.1FF},1C:1b(a){a!==1a.1FF&&(1a.1FF=a)}},77a:{1n:1b(){1f 1a.3Lg}},779:{1n:1b(){1f 1a.4js}},76Z:{1n:1b(){1f 1a.4jp}},3Ln:{1n:1b(){1f 1a.4jr}}});Gg.1i.1fU=1b(){g(1a.12l)&&(1a.1T9.7f(),1a.12l.9s=!1,1a.12l.1AC=!1,1a.1FF.1fU(),1a.12l 2m mf&&1a.4jh(1a.12l,!1),jd.1LI===1a.12l.1IP&&1a.4jk(!1),jd.1Zp===1a.12l.1IP&&1a.4jj(!1),1a.12l=1p 0)};Gg.1i.2Hz=1b(){1b a(a,d){if(("3Ll"!==a||c.1FF.1LL)&&d&&("3Lh"!==a||g(c.12l))){1d e=[];1d f=b;f.3Lm(d)?f=!1:(f=f.11P(d),f=g(f)&&m(f.id,f.9k.id)2m wd?!0:!1);f||(e=b.3Lk(d,1p 0,10,10));f=!1;1j(1d p=0;p<e.1h;p++)if("1AD"===e[p].id){f=!0;1W}1j(p=0;p<e.1h;p++){1d n=e[p];if(n&&n.9k&&n.9k[a]){if(0===n.9k.1I&&c.1T9.2lt)if(1p 0!==n.9k.2P){1d q=c.12l.15O[n.9k.2P];k.8g(q.x,q.y,0);c.1T9.1hJ=q}1s 1p 0!==n.9k.2dr&&(q=c.12l.1AE[n.9k.2dr].2ZO,k.8g(q.x,q.y,0),c.1T9.1hJ=q);if(f){if("1AD"===n.id)n.9k[a](d,c.4jq)}1s n.9k[a](d,c.4jq)}1s if(n&&n.9k&&n.id)6U(a){1S"3Ll":q=c.1FF.2Hy(n.id);if(q 2m mf){c.1fU();c.4jh(q,!0);c.12l=q;c.12l.1AC=!0;c.1FF.4jo(q.7R);c.3Lg.5k(c.12l);1f}if(g(c.12l)){if(c.12l.id===n.id)1f;c.1fU();c.12l=c.1FF.2Hy(n.id);if(!g(c.12l))1f}1s if(!q)1f;c.5hC(c,q)}}"3Ll"!==a||g(e)&&0!==e.1h||!g(c.12l)||(c.1fU(),c.4jp.5k())}}if(1a.1FF.1LL&&!1a.2ls()){1d b=1a.2R,c=1a;1a.1Tb=!0;1a.1T9.5hD();1a.1Tc=1g Ne(b.3M);1a.1Tc.1a1(1b(b){a("3Ll",b.1K)},Va.1yr);1d d=1F;1a.1Tc.1a1(1b(a){if(g(c.12l)){1j(1d e=b.3Lk(a.11R,1F,10,10),h=0;h<e.1h;h++){1d k=e[h];!d||k&&d===k.9k||(d.3Z&&d.3Z()||d.3Lj(a.11R),d=1F);if(k&&k.9k&&(k=k.9k,k.3Lj&&(d=k),k.3Li)){k.3Li(a.11R);1W}}g(e)&&0!==e.1h||(a=c.2R.1Do,a.1Zo=!0,c.2R.3w.2H(c.2R.3z),a.2H(),c.2R.10C.2r.1LK="")}},Va.1kj);1a.1Tc.1a1(1b(b){a("3Lh",b.1K)},Va.25P)}};Gg.1i.4jn=1b(a,b){a.1FF.3iJ&&(a.12l=b,a.12l.1AC=!0,a.1FF.4jo(b.id),a.12l.9s=!1,a.3Lg.5k(a.12l))};Gg.1i.5hC=1b(a,b){a.4jn(a,b);a.12l.3iI.7K(1b(b){a.4jn(a,b)});a.4jm(b)};Gg.1i.4jm=1b(a){1d b=a.17D;wa.2Hx!==b&&wa.1lb!==b&&1a.2Hw(a)};Gg.1i.5hB=1b(a,b){1a.1T9.4jl(a,b)};Gg.1i.1LJ=1b(){1a.1fU();1a.1Tc.1cQ(Va.1yr);1a.1Tc.1cQ(Va.1kj);1a.1Tc.1cQ(Va.25P);1a.1T9.5hA();1a.1Tb=!1};Gg.1i.2ls=1b(){1f 1a.1Tb};Gg.1i.2Hw=1b(a){1a.1T9.2Hw(a);1a.2Hu.4ji(!1)};Gg.1i.4jk=1b(a){1a.1T9.7f();jd.1LI===1a.12l.1IP&&1a.2Hu.5hz(a)};Gg.1i.4jj=1b(a){1a.2Hu.4ji(!1);1a.1T9.7f();1a.2Hu.5hy(a)};Gg.1i.4jh=1b(a,b){if(a 2m mf)if(b&&!1a.3Lb){1d c=a.3Lf();a=.5*(c.3Le+c.3iG);b=.5*(c.3iH+c.3Ld);1d d=.5*(c.3Lc+c.4jg),e=1g k(c.3iG,c.3iH,0),f=1g k(c.3Le,c.3iH,0),g=1g k(c.3iG,c.3Ld,0);f=ha.4jf(e,f);e=ha.4jf(e,g);c=1g k(f,e,c.3Lc);a=1a.2Hu.3iF(1g k(a,b,d),c);1a.3Lb=1a.2R.13y.add(a)}1s b||(1a.2R.13y.3S(1a.3Lb),1a.3Lb=1F)};Gg.1i.5hx=1b(){1F!==1a.12l&&(1a.2w3=Ef.4je(1a.12l,1a.2w3),1a.1FF.2ZN(1a.12l))};Gg.1i.1hI=1b(){1F!==1a.12l&&(1a.2w3=Ef.4je(1a.12l,1a.2w3))};Gg.1i.5hw=1b(a){if(1F!==1a.2w3&&1F!=1a.1FF){1d b=4H.5N(1a.2w3);1a.1FF.3La(b.1Zn)&&(b.1Zn=Ld());if(g(a))if(8A(b.17D)===wa.1lb||8A(b.17D)===wa.1LH)b.2dq[0].x=a.x,b.2dq[0].y=a.y,b.2dq[0].z=a.z;1s 1j(1d c=a.x-b.3iE.x,d=a.y-b.3iE.y,e=0;e<b.2dq.1h;++e)b.2dq[e].x+=c,b.2dq[e].y+=d,b.2dq[e].z=a.z;1a.1FF.4jd(b)}};Gg.1i.76Y=1b(){1a.2w3=1F};q.76X=1b(){};q.76W=Sd;q.5hv=ou;q.76V=mw;q.76U=Wk;q.4jc=pe;q.4jb=nd;q.5hu=qx;q.76T=Cm;q.76S=wq;q.2lr=Ib;q.76R=Ia;q.76Q=xb;q.76P=Mp;q.76O=Vs;q.4ja=aka;q.76N=PB;q.76M=Pe;q.76L=zh;q.4j9=RD;q.76K=UU;q.18e=xl;q.76J=Ki;q.5ht=wb;q.76I=xd;q.76H=ul;q.76G=Fp;q.76F=nB;q.76E=tO;q.76D=Vg;q.76C=4j8;q.4j7=$g;q.76B=Bd;q.76A=jf;q.76z=Dc;q.76y=xS;q.76x=KC;q.76w=sx;q.76v=qB;q.76u=Nh;q.3iD=Aa;q.3L9=P;q.76t=tb;q.76s=EC;q.5hs=nT;q.76r=yf;q.76q=Dj;q.76p=Xu;q.76o=ai;q.76n=dz;q.1P6=Ra;q.76m=Qj;q.76l=xa;q.76k=iD;q.76j=Vd;q.5hr=ab;q.76i=Ik;q.76h=Wd;q.76g=CY;q.5hq=C;q.4j6=k;q.76f=E;q.76e=T;q.76d=3L8;q.76c=vY;q.76b=zy;q.76a=Em;q.766=Qe;q.764=Nd;q.763=Wp;q.762=xq;q.761=wM;q.760=fi;q.75Z=Jh;q.75Y=dv;q.75X=vv;q.75W=jX;q.75V=ug;q.75U=on;q.75T=Pf;q.75S=hh;q.18K=gz;q.75R=xv;q.75Q=TD;q.75P=Yg;q.1Ta=tg;q.75O=4j5;q.75N=fs;q.75M=by;q.75L=oC;q.75K=TH;q.75J=Pm;q.75I=es;q.75H=Xp;q.75G=VD;q.75F=Pz;q.75E=Gm;q.3L7=ht;q.1ie=v;q.75D=gs;q.5hp=xJ;q.75C=vp;q.75B=xx;q.75A=Is;q.75y=Xc;q.4j4=jv;q.75x=Ip;q.75w=te;q.75v=Ec;q.75u="1p 2k()\\n{\\3R = 1m(1.0);\\n}";q.75t="2n 2v 3iC;\\1B 1m 3iB;\\1B 1o 3iA;\\2s 2k()\\n{\\2u 2V = 1v(4u.x / 9e.z, 4u.y / 9e.w);\\1P 2dp = 1Y(3iC, 2V);\\1U(2dp.r < 0.11t && 2dp.g < 0.11t && 2dp.b < 0.11t)\\n{\\n    7o;\\n}\\3R = 3T(2dp, 3iB, 3iA);\\n}";q.75s=DA;q.5ho="3Q 1m 4f;\\2J 1v 1P2;\\1B 1o 2Hv;\\1J 1v 1Ao;\\2s 2k()\\n{\\n   1Ao = 1P2;\\n#1z 1P5\\n   1Ao.y = 4f.z / 2Hv;\\n#1u\\n   6I = 11o * 1m(4f.1H, 1.0);\\n}";q.75r=ei;q.5hn=Cf;q.75q=$s;q.75p=Cu;q.75o=qj;q.75n=zf;q.75m=Hz;q.75l=kq;q.1aV=y;q.75k=Qp;q.75j=jD;q.75i=Qb;q.75h=cc;q.1FE=bh;q.5hm=1b(){1a.4j3=1a.3L6=1a.1Dn=1p 0;r.8i()};q.75g="3Q 1m 4f;\\n\\1B 1m 15a;\\n\\1J 1m 4m;\\1J 1m 14u;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\n#1u\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   4m = 15a;\\n#1z 1db\\n   1b0 = 4f.1H;\\n#1u\\n}";q.75f="3Q 1m 4f;\\2J 1v 7s;\\n#1z 1Iy\\1B 1o 1ws;\\n#1u\\n\\1J 1m 14u;\\1J 1o 13i;\\1J 1v 6r;\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   6r = 7s.xy;\\n   14u = 9q * 1m(4f.1H, 1.0);\\n#1z 1Iy\\n   1IA = 1ws;\\n#1u\\n}";q.75e="3G 1m 4m;\\1J 1w 4X;\\1J 1w 4p;\\2s 2k()\\n{\\n    1w 11E = -4p;\\n    1m 1A = 9D(4m);\\n    1cK 5y;\\n    5y.4X = 1T(4X);\\n    5y.11E = 11E;\\n    1Ad 2q = 1bi(5y);\\n    2q.8t = 4m.2y;\\n    2q.2O = 4m.a;\\n    2C = 1nR(1T(11E), 2q, 1qd);\\n}";q.75d="#1z 5J\\n#6A 5J : 5F\\n#1u\\n\\1J 1m 4m;\\1J 1o 13i;\\n\\n#1z 1db\\1J 1w 1b0;\\4i 1m 1j3 = 1m(0.8, 0.8, 0.8, 1.0);\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   2C = 4m;\\n#1z 1db\\n   1w 2U = 1T(1ju(1b0));\\n   1m 1uP = 9q * 1m(1b0.1H, 1.0);\\n   1w 19X = 1T(1HW - 1w(1uP));\\n   1o 18o = 1V(2A(19X, 2U), 0.0);\\n   1m 8t = 4m * 1j3 * 18o;\\n   1m 18A = 4m * 1j3;\\n   2C = 2Y(8t + 18A, 1m(0.0), 1m(1.0));\\n#1u\\n}";q.75b="3Q 1m 4f;\\2J 1m 13N;\\1B 1m 15a;\\1J 1m 4m;\\1J 1w 4X;\\1J 1w 4p;\\2s 2k()\\n{\\n   4X = 11b * 13N.1H;\\n   4p = (9q * 4f).1H;\\n   4m = 15a;\\n   6I = 11o * 1m(4f.1H, 1.0);\\n}";q.75a="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 2v 1OS;\\n\\1J 1o 13i;\\1J 1v 6r;\\n\\2s 2k()\\n{\\n#1z 5J\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n\\1uO = 2o(13i * 4u.w, 1.0);\\n#1u\\n   1v 8R = 6r.xy;\\n   2C = 1Y(1OS, 8R);\\n}";q.4j2=I;q.759=lo;q.757=kf;q.756=uo;q.755=Rg;q.754=hi;q.753=If;q.752=Vn;q.751=lv;q.750=Oy;q.74Z=fz;q.5hl=zJ;q.74Y=Ji;q.74X=od;q.4j1=kg;q.74W=sb;q.74V=Dr;q.74U=Vq;q.74T=Er;q.74S=ie;q.74R=jk;q.74Q=Pd;q.74P=Jl;q.74O=Yu;q.74N=Fx;q.5hk=Ba;q.74M=Fm;q.5hj=Zb;q.74L=qf;q.1T9=ph;q.74K=Fg;q.74J=vl;q.74I=co;q.74H=iG;q.4j0=di;q.74G=ag;q.74F=ER;q.74E=$G;q.74D=vj;q.74C=rW;q.74B=Gj;q.74A=Zu;q.74z=Fu;q.74y=Hj;q.74x=fp;q.74w=Rc;q.74v=k1;q.74u=$v;q.74t=La;q.74s=ih;q.74r=Qm;q.74q=li;q.74p=yk;q.74o=nD;q.74n=Aq;q.74m=oD;q.74l=h1;q.3L5=AS;q.74k=lg;q.74j=go;q.74i="3Q 1m 4f;\\2J 1v 7s;\\1B 5w 1Lx;\\1J 1m 1mW;\\1J 1o 2vq;\\n#1z 10B\\1J 1o 5hi;\\n#1u\\1J 1m 1id;\\2s 2k()\\n{\\n   6I = 11o * 1m(4f.1H, 1.0);\\n   1m 9I = 9q * 1m(4f.1H, 1.0);\\n   1id = 9I;\\n   1mW = 1Lx * 9I;\\n   2vq = 7s.x;\\n}";q.3L4=Jk;q.74h=lz;q.74g=Nk;q.2w2=r;q.74f=mz;q.74e=CI;q.74d=BI;q.74c=yT;q.74b=Xv;q.74a=fD;q.745=ob;q.742=Qd;q.740=jd;q.73Z=Xn;q.73Y=md;q.73X=Oa;q.3KA=Ht;q.73W=Wh;q.73V="\\n#1z 1rZ\\1B 2v 18G;\\n#1u\\1J 1v 2w1;\\1J 1m 4m;\\1J 1m 8l;\\2s 2k()\\n{\\n\\7c 1gW = 1m(1.0);\\n#1z 1rZ\\n    1gW = 1gW * 1Y( 18G, 2w1 );\\n#1u\\n    2C = 1gW * 4m;\\n#1z 1wc\\n\\14F *= 1O8(8l.1H, 8l.w);\\n#1u\\n    2C = 9D(2C);\\n}";q.73U="\\2J 1m 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\1J 1m 11w;\\1J 1v 2w1;\\1J 1m 4m;\\1J 1m 8l;\\1B 5w 1rA;\\2s 2k()\\n{\\n    1o 1IH = 13x.x;\\n\\1qn 2ZM = 4f.1H + (13N.1H * 1IH).1H;\\n\\4s u = 7s.x;\\n\\4s v = 7s.y;\\n    if ( 13x.y > 0.2 && 13x.y < 0.8)\\n    {\\n        if (1rA[0].x > 0.0)\\n        {\\n            1o 3L3 = 1rA[1].y;\\n            v = 1IH / 3L3;\\n        }\\n        1s\\n        {\\n            1o 3L2 = 1rA[1].y;\\n            v = 3L2;\\n        }\\n    }\\n    2w1 = 1v(u, v);\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n    4m = 7x;\\n\\1tg = 11o * 1m(2ZM, 1.0);\\n\\2YJ = 1m(2ZM, 0.0);\\n}";q.73T=rs;q.1Zm=Fd;q.4iZ=yg;q.5hh="3Q 1m 4f;\\n#1z 1h6\\n    3Q 1w 13N;\\n#1u\\2J 1m 7s;\\n#1z 14V\\2J 1m 11X;\\n#1u\\2J 1m 2w0;\\2J 1m 2vZ;\\2J 1m 2vY;\\2J 1m 2ZH;\\2J 1m 2ZG;\\2J 1m 1P4;\\2J 1w 2ZK;\\2J 1w 2ZJ;\\2J 1w 1wz;\\1B 1w 1HP;\\1B 5w 1lW;\\1B 1o 2lq;\\1B 1o 1rr;\\1B 1o 3iz;\\1B 1o 2df;\\1B 1o 1YY;\\1J 1m 8l;\\1J 1v 6r;\\1J 1m 4m;\\1J 1m 1th;\\n\\1P 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\1P 2vX(1w 1Dm, 1o 8f)\\n{\\n    1o 2ZL = 8f * 0.5;\\n    1o s = 2T(2ZL);\\n    1w 3L1 = 1T(1Dm);\\n    1f 1m(3L1 * s, 3i(2ZL));\\n}\\1P 2ZI(1m 3B, 1m 2W)\\n{\\n    1o x = 3B.w * 2W.x + 3B.x * 2W.w + 3B.y * 2W.z - 3B.z * 2W.y;\\n    1o y = 3B.w * 2W.y - 3B.x * 2W.z + 3B.y * 2W.w + 3B.z * 2W.x;\\n    1o z = 3B.w * 2W.z + 3B.x * 2W.y - 3B.y * 2W.x + 3B.z * 2W.w;\\n    1o w = 3B.w * 2W.w - 3B.x * 2W.x - 3B.y * 2W.y - 3B.z * 2W.z;\\n    1f 1m(x, y, z, w);\\n}\\1Sg 2ZF(1m q)\\n{\\n    1o x2 = q.x * q.x;\\n    1o xy = q.x * q.y;\\n    1o xz = q.x * q.z;\\n    1o xw = q.x * q.w;\\n    1o y2 = q.y * q.y;\\n    1o yz = q.y * q.z;\\n    1o yw = q.y * q.w;\\n    1o z2 = q.z * q.z;\\n    1o zw = q.z * q.w;\\n    1o w2 = q.w * q.w;\\n    1o 1Zg = x2 - y2 - z2 + w2;\\n    1o 1Zd = 2.0 * (xy - zw);\\n    1o 1Za = 2.0 * (xz + yw);\\n    1o 1Zf = 2.0 * (xy + zw);\\n    1o 1Zc = -x2 + y2 - z2 + w2;\\n    1o 1Z9 = 2.0 * (yz - xw);\\n    1o 1Ze = 2.0 * (xz - yw);\\n    1o 1Zb = 2.0 * (yz + xw);\\n    1o 1Z8 = -x2 - y2 + z2 + w2;\\n    1f 5w(1Zg, 1Zf, 1Ze, 0.0, 1Zd, 1Zc, 1Zb, 0.0, 1Za, 1Z9, 1Z8, 0.0, 0.0, 0.0, 0.0, 1.0);\\n}\\1P 11x(1m 4I, 1m 9o, 1o t)\\n{\\n    1m 3L0 = 9o * t;\\n    1m 4D = 4I * (1.0 - t);\\n    1f 4D + 3L0;\\n}\\1P 2vW(1m 4I, 1m 9o, 1o t)\\n{\\n    1o 2A = 2A(4I, 9o);\\n    1m r = 9o;\\n    if(2A < 0.0){\\n        2A = -2A;\\n        r = 9o * -1.0;\\n    }\\n    if(1.0 - 2A < 0.1F8){\\n        1f 3T(4I, r, t);\\n    }\\n    1o 1Df = 1cz(2A);\\n    1o 8f = (1.0 - t) * 1Df;\\n    1m 3KZ = 4I * 2T(8f);\\n    1m 3KY = r * (2T(t * 1Df));\\n    1m 4D = 3KZ + 3KY;\\n    1f 4D * (1.0 / 2T(1Df));\\n}\\1r 2dd(1w 1jF, 1o 3L)\\n{\\n    if(1rr > 0.0)\\n    {\\n        1o 3s = 1h(1jF);\\n        1o 1Df = 1qb * 0.5;\\n        1o 2vM = 1V(2l1.x, 2l1.y) * 0.5;\\n        1o 2vL = 2vM / 10n(1Df);\\n        1f 2vL * 3L / 3s > 2df ? 1.0 : 0.0;\\n    }\\n    1f 1h(1jF) < 3iz ? 1.0 : 0.0;\\n}\\2s 2k()\\n{\\n    1w 3KX = 2w0.1H;\\n    1w 3KW = 1w(2w0.w, 2vZ.xy);\\n    1w 3KV = 1w(2vZ.zw, 2vY.x);\\n    1w 3KU = 2vY.5hg;\\n    6r = 7s.xy;\\n    1m 6v = 4f - 1m(1HP.1H,0.0);\\n    //6v.1H *= 1wz;\\n    1m 15C = 1lW * 6v;\\n    1m 3KT = 16e(3KX,3KW);\\n    1m 3KS = 16e(3KV,3KU);\\n    1m 1jF = 3T(3KT, 3KS, 2lq);\\n    1o 2p = 2dd(1jF.1H, 1YY * 1wz.x);\\n    1w 1oc = 3T(2ZK, 2ZJ, 2lq);\\n    1m 3KR = 2vX(1w(1.0, 0.0, 0.0), 1oc.z);\\n    1m 3KQ = 2vX(1w(0.0, 1.0, 0.0), -1oc.y);\\n    1m 3KP = 2vX(1w(0.0, 0.0, 1.0), -1oc.x);\\n    1m q = 2ZI(3KR, 3KQ);\\n    q = 2ZI(3KP, q);\\n    5w 1yo = 2ZF(q);\\n    1m 11f = 2vW(2ZH, 2ZG, 2lq);\\n    14j 3KO = 14j(2ZF(11f));    14j 1h3 = 3KO * 14j(1yo);    5w 1n0 = 5w(1wz.x, 0, 0, 0, 0, 1wz.y, 0, 0, 0, 0, 1wz.z, 0, 0, 0, 0, 1);\\n    5w 18r;\\n    18r[0] = 1m(1h3[0], 0.0);\\n    18r[1] = 1m(1h3[1], 0.0);\\n    18r[2] = 1m(1h3[2], 0.0);\\n    18r[3] = 1m(1jF.1H, 1.0);\\n    6v = 18r * 1n0 * 15C;\\n    6v.w = 1.0;\\n    8l.1H = 1h3 * 15C.1H;\\n    8l.w = 0.0;\\n    6I = 2p * 1kV * 6v;\\n    1m 1A, 1fR;    1A.xy = 1mL(1P4.x);    1A.zw = 1mL(1P4.y);    1fR.xy = 1mL(1P4.z);    1fR.zw = 1mL(1P4.w);    4m = 7x * 1A;\\n#1z 1h6\\n    if(1h(13N) > 0.8)\\n    {\\n        1w 2U = 1h3 * 13N;\\n        1w 4X = 1T(11b * 2U);\\n        8l.w = 1.0;\\n        1w 4p = 1jF.1H;\\n        4m = 4m * 1Fa(4X, -4p, 8l.1H);\\n    }\\n#1u\\n   1th = 1fR;\\n}";q.73S=NC;q.73R=gB;q.73Q=jG;q.73P=jh;q.73O=It;q.73N=rg;q.73M=ll;q.73L=Nl;q.73K=$u;q.73J=pj;q.2ZE=ba;q.73I=ml;q.73H=$e;q.73G=Ij;q.73F=av;q.73E=wj;q.73D=pD;q.3KN=ch;q.73C=iq;q.73B=Zf;q.73A=yp;q.73z=fk;q.73y=ty;q.73x=so;q.73w=bc;q.2vV=wd;q.73v=Mi;q.73u=Se;q.73t=uy;q.1P3=sa;q.73s=xj;q.4iY=Al;q.5hf=jb;q.3KM=Mq;q.73r=gg;q.73q="#if (1a0 == 10)\\n#2f 14b 3\\n#2f 17r 1.5\\n#2f 17q 3.0\\n#2f 17p 12.0\\n#1u\\n#if (1a0 == 11)\\n#2f 14b 4\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 3.0\\n#2f 18J 12.0\\n#1u\\n#if (1a0 == 12)\\n#2f 14b 5\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 4.0\\n#2f 1aE 12.0\\n#1u\\n#if (1a0 == 13)\\n#2f 14b 6\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 4.0\\n#2f 1cP 12.0\\n#1u\\n#if (1a0 == 14)\\n#2f 14b 7\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 4.0\\n#2f 1fp 12.0\\n#1u\\n#if (1a0 == 15)\\n#2f 14b 8\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 4.0\\n#2f 1j2 12.0\\n#1u\\n#if (1a0 == 20)\\n#2f 14b 3\\n#2f 17r 1.5\\n#2f 17q 2.0\\n#2f 17p 8.0\\n#1u\\n#if (1a0 == 21)\\n#2f 14b 4\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 8.0\\n#1u\\n#if (1a0 == 22)\\n#2f 14b 5\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 8.0\\n#1u\\n#if (1a0 == 23)\\n#2f 14b 6\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 8.0\\n#1u\\n#if (1a0 == 24)\\n#2f 14b 7\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 3.0\\n#2f 1fp 8.0\\n#1u\\n#if (1a0 == 25)\\n#2f 14b 8\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 4.0\\n#2f 1j2 8.0\\n#1u\\n#if (1a0 == 26)\\n#2f 14b 9\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 4.0\\n#2f 1o9 8.0\\n#1u\\n#if (1a0 == 27)\\n#2f 14b 10\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 4.0\\n#2f 1s6 8.0\\n#1u\\n#if (1a0 == 28)\\n#2f 14b 11\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 2.0\\n#2f 1s6 4.0\\n#2f 1wA 8.0\\n#1u\\n#if (1a0 == 29)\\n#2f 14b 12\\n#2f 17r 1.0\\n#2f 17q 1.5\\n#2f 17p 2.0\\n#2f 18J 2.0\\n#2f 1aE 2.0\\n#2f 1cP 2.0\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 2.0\\n#2f 1s6 2.0\\n#2f 1wA 4.0\\n#2f 1Dj 8.0\\n#1u\\n#if (1a0 == 39)\\n#2f 14b 12\\n#2f 17r 1.0\\n#2f 17q 1.0\\n#2f 17p 1.0\\n#2f 18J 1.0\\n#2f 1aE 1.0\\n#2f 1cP 1.5\\n#2f 1fp 2.0\\n#2f 1j2 2.0\\n#2f 1o9 2.0\\n#2f 1s6 2.0\\n#2f 1wA 4.0\\n#2f 1Dj 8.0\\n#1u\\n#2f 4iX 7d\\n#2f 4iW 1o\\n#2f 4iV 1v\\n#2f 4iU 1w\\n#2f 2la 1m\\n#2f 4iT 1o\\n#2f 4iS 1v\\n#2f 4iR 1w\\n#2f 4iQ 1m\\n#2f 1oa 1v\\n#2f 4iP 2v\\n#2f 2Zc(x) 2Y(x, 0.0, 1.0)\\n#2f 146(t, p) 1Y(t, p)\\n#2f 1ob(t, p, o, r) 1Y(t, p + (o * r))\\6a 11Q(2la 15A) { 1f 15A.y; }\\2ZC 2Gh(\\1wC 3h,\\4iO 9f,\\1wC 1dz,\\6a 2bU,\\6a 2bT,\\6a 2bS\\n) {\\1wC 18I;\\2ZD.x = 3h.x;\\2ZD.y = 3h.y;\\2ZC 2lp = 146(9f, 18I);\\n#2f 1h9 2lp.y\\6a 1s7 = 11Q(1ob(9f, 18I, 1oa( 0, 1), 1dz.xy));\\6a 1Dk = 11Q(1ob(9f, 18I, 1oa( 1, 0), 1dz.xy));\\6a 1s8 = 11Q(1ob(9f, 18I, 1oa( 0,-1), 1dz.xy));\\6a 1Dl = 11Q(1ob(9f, 18I, 1oa(-1, 0), 1dz.xy));\\6a 2ZB = 1V(1s7, 1h9);\\6a 2ZA = 2o(1s7, 1h9);\\6a 2Zy = 1V(1Dk, 2ZB);\\6a 2Zw = 2o(1Dk, 2ZA);\\6a 2Zz = 1V(1s8, 1Dl);\\6a 2Zx = 2o(1s8, 1Dl);\\6a 2do = 1V(2Zz, 2Zy);\\6a 2Zv = 2o(2Zx, 2Zw);\\6a 2Zu = 2do * 2bT;\\6a 11D = 2do - 2Zv;\\6a 2Zt = 1V(2bS, 2Zu);\\1iY 2Zs = 11D < 2Zt;\\1U(2Zs)\\2j 2lp;\\6a 2ll = 11Q(1ob(9f, 18I, 1oa(-1,-1), 1dz.xy));\\6a 2lj = 11Q(1ob(9f, 18I, 1oa( 1, 1), 1dz.xy));\\6a 2lm = 11Q(1ob(9f, 18I, 1oa( 1,-1), 1dz.xy));\\6a 2lk = 11Q(1ob(9f, 18I, 1oa(-1, 1), 1dz.xy));\\6a 2lo = 1s8 + 1s7;\\6a 2ln = 1Dl + 1Dk;\\6a 2Za = 1.0/11D;\\6a 2Zf = 2lo + 2ln;\\6a 2Zq = (-2.0 * 1h9) + 2lo;\\6a 2Zo = (-2.0 * 1h9) + 2ln;\\6a 2lh = 2lm + 2lj;\\6a 2Zr = 2ll + 2lm;\\6a 2Zp = (-2.0 * 1Dk) + 2lh;\\6a 2Zn = (-2.0 * 1s8) + 2Zr;\\6a 2li = 2ll + 2lk;\\6a 2Zm = 2lk + 2lj;\\6a 2Zk = (abs(2Zq) * 2.0) + abs(2Zp);\\6a 2Zi = (abs(2Zo) * 2.0) + abs(2Zn);\\6a 2Zl = (-2.0 * 1Dl) + 2li;\\6a 2Zj = (-2.0 * 1s7) + 2Zm;\\6a 2Zh = abs(2Zl) + 2Zk;\\6a 2Zg = abs(2Zj) + 2Zi;\\6a 2Ze = 2li + 2lh;\\6a 1s5 = 1dz.x;\\1iY 1ha = 2Zh >= 2Zg;\\6a 2Zd = 2Zf * 2.0 + 2Ze;\\1U(!1ha) 1s8 = 1Dl;\\1U(!1ha) 1s7 = 1Dk;\\1U(1ha) 1s5 = 1dz.y;\\6a 2Zb = (2Zd * (1.0/12.0)) - 1h9;\\6a 2lg = 1s8 - 1h9;\\6a 2lf = 1s7 - 1h9;\\6a 14a = 1s8 + 1h9;\\6a 2Z5 = 1s7 + 1h9;\\1iY 2le = abs(2lg) >= abs(2lf);\\6a 1tl = 1V(abs(2lg), abs(2lf));\\1U(2le) 1s5 = -1s5;\\6a 1Zl = 2Zc(abs(2Zb) * 2Za);\\1wC 1wB;\\2Z9.x = 18I.x;\\2Z9.y = 18I.y;\\1wC 7J;\\2Z8.x = (!1ha) ? 0.0 : 1dz.x;\\2Z8.y = ( 1ha) ? 0.0 : 1dz.y;\\1U(!1ha) 1wB.x += 1s5 * 0.5;\\1U( 1ha) 1wB.y += 1s5 * 0.5;\\1wC 10c;\\2Z7.x = 1wB.x - 7J.x * 17r;\\2Z7.y = 1wB.y - 7J.y * 17r;\\1wC 10b;\\2Z6.x = 1wB.x + 7J.x * 17r;\\2Z6.y = 1wB.y + 7J.y * 17r;\\6a 2Z4 = ((-2.0)*1Zl) + 3.0;\\6a 8F = 11Q(146(9f, 10c));\\6a 2Z3 = 1Zl * 1Zl;\\6a 8D = 11Q(146(9f, 10b));\\1U(!2le) 14a = 2Z5;\\6a 14X = 1tl * 1.0/4.0;\\6a 2Z2 = 1h9 - 14a * 0.5;\\6a 2lc = 2Z4 * 2Z3;\\1iY 2ld = 2Z2 < 0.0;\\4iN -= 14a * 0.5;\\4iM -= 14a * 0.5;\\1iY 6R = abs(8F) >= 14X;\\1iY 6Q = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 17q;\\1U(!6R) 10c.y -= 7J.y * 17q;\\1iY 1hb = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 17q;\\1U(!6Q) 10b.y += 7J.y * 17q;\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 17p;\\1U(!6R) 10c.y -= 7J.y * 17p;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 17p;\\1U(!6Q) 10b.y += 7J.y * 17p;\\n#if (14b > 3)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 18J;\\1U(!6R) 10c.y -= 7J.y * 18J;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 18J;\\1U(!6Q) 10b.y += 7J.y * 18J;\\n#if (14b > 4)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1aE;\\1U(!6R) 10c.y -= 7J.y * 1aE;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1aE;\\1U(!6Q) 10b.y += 7J.y * 1aE;\\n#if (14b > 5)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1cP;\\1U(!6R) 10c.y -= 7J.y * 1cP;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1cP;\\1U(!6Q) 10b.y += 7J.y * 1cP;\\n#if (14b > 6)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1fp;\\1U(!6R) 10c.y -= 7J.y * 1fp;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1fp;\\1U(!6Q) 10b.y += 7J.y * 1fp;\\n#if (14b > 7)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1j2;\\1U(!6R) 10c.y -= 7J.y * 1j2;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1j2;\\1U(!6Q) 10b.y += 7J.y * 1j2;\\n#if (14b > 8)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1o9;\\1U(!6R) 10c.y -= 7J.y * 1o9;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1o9;\\1U(!6Q) 10b.y += 7J.y * 1o9;\\n#if (14b > 9)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1s6;\\1U(!6R) 10c.y -= 7J.y * 1s6;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1s6;\\1U(!6Q) 10b.y += 7J.y * 1s6;\\n#if (14b > 10)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1wA;\\1U(!6R) 10c.y -= 7J.y * 1wA;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1wA;\\1U(!6Q) 10b.y += 7J.y * 1wA;\\n#if (14b > 11)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1Dj;\\1U(!6R) 10c.y -= 7J.y * 1Dj;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1Dj;\\1U(!6Q) 10b.y += 7J.y * 1Dj;\\n#if (14b > 12)\\1U(1hb) {\\1U(!6R) 8F = 11Q(146(9f, 10c.xy));\\1U(!6Q) 8D = 11Q(146(9f, 10b.xy));\\1U(!6R) 8F = 8F - 14a * 0.5;\\1U(!6Q) 8D = 8D - 14a * 0.5;\\1j1 = abs(8F) >= 14X;\\1j0 = abs(8D) >= 14X;\\1U(!6R) 10c.x -= 7J.x * 1Zk;\\1U(!6R) 10c.y -= 7J.y * 1Zk;\\1iZ = (!6R) || (!6Q);\\1U(!6Q) 10b.x += 7J.x * 1Zk;\\1U(!6Q) 10b.y += 7J.y * 1Zk;\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\n#1u\\n}\\6a 1LG = 18I.x - 10c.x;\\6a 1LF = 10b.x - 18I.x;\\1U(!1ha) 1LG = 18I.y - 10c.y;\\1U(!1ha) 1LF = 10b.y - 18I.y;\\1iY 2YZ = (8F < 0.0) != 2ld;\\6a 2Z1 = (1LF + 1LG);\\1iY 2YY = (8D < 0.0) != 2ld;\\6a 2YW = 1.0/2Z1;\\1iY 2Z0 = 1LG < 1LF;\\6a 2YX = 2o(1LG, 1LF);\\1iY 2YU = 2Z0 ? 2YZ : 2YY;\\6a 2YV = 2lc * 2lc;\\6a 14l = (2YX * (-2YW)) + 0.5;\\6a 2YS = 2YV * 2bU;\\6a 2YT = 2YU ? 14l : 0.0;\\6a 2lb = 1V(2YT, 2YS);\\1U(!1ha) 18I.x += 2lb * 1s5;\\1U( 1ha) 18I.y += 2lb * 1s5;\\2j 2la(146(9f, 18I).1H, 1h9);\\n}\\n";q.73p=Nc;q.3KL=nz;q.73o=vS;q.5he=xg;q.73n=oe;q.73m=aw;q.73l=BC;q.73k=Iv;q.73j=hS;q.73i=zT;q.73h=ia;q.73g=Ud;q.73f=bj;q.73e=4iL;q.2dn=eb;q.3iy="2n 2v 2cC;\\1B 2v 2cG;\\1B 1m 2kD;\\1B 1m 1SU;\\1B 1m 1iX;\\1B 1o 2kE;\\1B 1o 1Fx;\\1B 1o 1Fy;\\1B 1o 2kF;\\1B 1o 2kC;\\1J 1v 1Yr;\\1J 1w 1Ik;\\1J 1w 1Yq;\\1J 1w 1Ih;\\1J 1m 4m;\\1J 1m 11w;\\n\\1P 2cB(in 1m 1gl, in 1o 1qm)\\n{\\n\\1qn 2cH = 1w(0.1NX, 0.1KS, 0.1NW);\\n\\1qn 12r = 1w(2A(1gl.2y, 2cH));\\n\\1qn 1uG = 3T(12r, 1gl.2y, 1qm);\\n\\11r 1m(1uG, 1.0);\\n}\\n\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\2s 2k()\\n{\\n    if(4m.a < 0.1)\\n    {\\n        7o;\\n    }\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n    2C = 4m;\\n    1v 1Lr = 1Ik.xy / 1Ik.z;\\n    1w 2cF = (1Y(2cG, (1Yr.xy / 5.0)).2y - 0.5).3h8 * 2kF;\\n    1Lr += 2cF.xz;\\n    1o 1Il, 1Yt;\\n    if(1Fx < 1Fy)\\n    {\\n        1Il = 1Fx;\\n        1Yt = 1Fy;\\n    }\\n    1s\\n    {\\n        1Il = 1Fy;\\n        1Yt = 1Fx;\\n    }\\n    1o 2cE = 1Il;\\n    1o 2cD = (1Yt - 1Il) / 1.0;\\n    1o 1Fw = 2cE + 2cD * 3r(1.0 + 2A(1T(1Yq), 1Ih), 2kE);\\n    1Fw = 2Y(1Fw, 0.1cN, 0.95);\\n    1m 1OH = 1Y(2cC, 1Lr);\\n    1m 3h7 = 1OH + 2kD;\\n    1m 1rU = 3T(1SU, 1OH, 1Fw);\\n    1rU = 2cB(1rU, 1.0);\\n    1rU = 1rU * 2kC;\\n    1rU.a = 1SU.a;\\n    1rU *= 1iX;\\n    2C = 2C * 1rU;\\n    if(2C.a < 0.1)\\n    {\\n        7o;\\n    }\\n    #1z 1bn\\n        if (12d > 1.5)\\n        {\\n            if(4u.x > 12c)\\n            {\\n                7o;\\n            }\\n        }\\n        1s if(12d > 0.5)\\n        {\\n            if(4u.x < 12c)\\n            {\\n                7o;\\n            }\\n        }\\n        1s if(12d < -1.5)\\n        {\\n            if(4u.y < 12c)\\n            {\\n                7o;\\n            }\\n        }\\n        1s if(12d < -0.5)\\n        {\\n            if(4u.y > 12c)\\n            {\\n                7o;\\n            }\\n        }\\n        #1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n    //2C = 9D(2C);\\n}";q.3ix="3Q 1m 4f;\\n\\2J 1w 13N;\\n\\2J 1m 7s;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1B 1o 2kz;\\1B 1o 2kB;\\1B 1o 3h6;\\1B 1o 3h5;\\1B 1v 2kA;\\1B 5w 1lW;\\n\\1J 1v 1Yr;\\1J 1w 1Ik;\\1J 1w 1Yq;\\1J 1w 1Ih;\\1J 1m 4m;\\1J 1o 3Kj;\\1J 1m 11w;\\1J 1m 14u;\\n#1z 1cB\\n    3G 1m 1rw;\\n#1u\\n\\2s 2k()\\n{\\n#1z 1cB\\n    1rw = 1lW * 1m(4f.1H, 1.0);\\n#1u\\n\\7c 1Yp = 11o * 4f;\\n\\5hd 2cA = 5w(0.5, 0.0, 0.0, 0.0,\\n\\t\\t\\t0.0, 0.5, 0.0, 0.0,\\n\\t\\t\\t0.0, 0.0, 0.5, 0.0,\\n\\t\\t\\t0.5, 0.5, 0.5, 1.0);\\n\\7c 1yh = 2cA * 1Yp;\\n\\5hc = 1yh.2tX;\\n\\5hb.xy = 7s.xy * 2kB + 2kA * 2kz;\\n\\7c 2uM = 3h4 * 1m(3h3, 1.0);\\n\\5ha = 4f.1H - 2uM.1H;\\n\\5h9 = 13N.1H;\\n\\1tg = 1Yp;\\n\\3ih = 9q * 4f;\\n\\7c 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n#1u\\n    4m = 7x;\\n\\5h8 = 4m.a;\\n}";q.73d=4iK;q.73c=zp;q.73b=Kx;q.73a=ge;q.739=XD;q.738=WD;q.737=uH;q.736=le;q.735=Ui;q.733=Ul;q.731=ue;q.730=ze;q.72Z=Wl;q.72Y=$m;q.72X=Vl;q.72W=Ti;q.72V=Yh;q.72U=me;q.72T=By;q.72S=wo;q.72R=Bs;q.72Q=xo;q.72P=yo;q.72O=zo;q.72N=Ef;q.72M=lw;q.72L=vs;q.72K=Bo;q.72J=Lv;q.72I=Mv;q.72H=DC;q.72G=Co;q.72F=Do;q.72E=4iJ;q.72D=YD;q.72C=m1;q.72B=ZU;q.72A=Td;q.5h7=gd;q.1pg=Pb;q.72z=Re;q.72y=mo;q.72x=Je;q.72w=Pa;q.72v=ce;q.72u=yb;q.5h6=Fi;q.2YR=ac;q.72t=Sc;q.19A=wu;q.72s=fd;q.72r=xk;q.72q=GJ;q.72p=He;q.72o=Qk;q.72n=MJ;q.72m=Ge;q.72l=ad;q.4iI=vD;q.72k=Mk;q.72j=Eh;q.72i=Ap;q.72h=Lx;q.72g=Jm;q.5h5=lx;q.72f=sD;q.72e=dw;q.72d=cj;q.72c=is;q.72b=$J;q.72a=Bg;q.729=WJ;q.728=nc;q.726=Zn;q.5h4=ok;q.3KK=bf;q.5h3=mf;q.725=Bp;q.4iH=$b;q.723=rp;q.722=Mo;q.721=bb;q.71Z=kB;q.71Y=Ch;q.71X=jl;q.71W=GW;q.71V=bi;q.71U=ZD;q.71T=$U;q.71S=oc;q.5h2=Jr;q.71R=Cc;q.71Q=lP;q.71P=lG;q.71O=eO;q.71N=kP;q.71M=A1;q.71L=eo;q.5h1=hF;q.25O=Ri;q.5h0=Ac;q.71K=Wf;q.71J=Jo;q.71I=Hk;q.71H=HM;q.71G=Sb;q.3KJ=Ta;q.71F=Dh;q.5gZ=$D;q.71E=WK;q.71D=UD;q.1o7=Bk;q.71C=Tv;q.1T8=Lh;q.71B=mr;q.71A=cn;q.71z=rq;q.71y="3Q 1m 4f;\\n#1z 1h6\\n    3Q 1w 13N;\\n#1s\\n    2n 1m 15a;\\n#1u\\2J 1m 7s;\\n#1z 14V\\2J 1m 11X;\\n#1u\\2J 1w 2vU;\\2J 1m 1OZ;\\2J 1w 1wz;\\2J 1m 1De;\\2J 1m 1Z6;\\n#1z 2kZ\\2J 1m 2db;\\2J 1m 2dc;\\n#1u\\1B 5w 2de;\\1J 1m 8l;\\1J 1w 1id;\\1J 1w 1ym;\\1J 1v 6r;\\1J 1m 4m;\\1J 1m 1th;\\1Sg 1Z7(1m q, 1m 14L)\\n{\\n    1o x2 = q.x * q.x;\\n    1o xy = q.x * q.y;\\n    1o xz = q.x * q.z;\\n    1o xw = q.x * q.w;\\n    1o y2 = q.y * q.y;\\n    1o yz = q.y * q.z;\\n    1o yw = q.y * q.w;\\n    1o z2 = q.z * q.z;\\n    1o zw = q.z * q.w;\\n    1o w2 = q.w * q.w;\\n    1o 1Zg = x2 - y2 - z2 + w2;\\n    1o 1Zd = 2.0 * (xy - zw);\\n    1o 1Za = 2.0 * (xz + yw);\\n    1o 1Zf = 2.0 * (xy + zw);\\n    1o 1Zc = -x2 + y2 - z2 + w2;\\n    1o 1Z9 = 2.0 * (yz - xw);\\n    1o 1Ze = 2.0 * (xz - yw);\\n    1o 1Zb = 2.0 * (yz + xw);\\n    1o 1Z8 = -x2 - y2 + z2 + w2;\\n    1f 5w(1Zg, 1Zf, 1Ze, 0.0, 1Zd, 1Zc, 1Zb, 0.0, 1Za, 1Z9, 1Z8, 0.0, 14L.x, 14L.y, 14L.z, 1.0);\\n}\\2s 2k()\\n{\\n   1m 6v = 1m(4f.1H, 1.0);\\n   1m 15C = 2de * 6v;\\n   6r = 7s.xy;\\n   14j 1yo = 14j(1Z7(1OZ, 1m(0.0)));\\n   5w 18r;\\n   18r[0] = 1m(1yo[0], 0.0);\\n   18r[1] = 1m(1yo[1], 0.0);\\n   18r[2] = 1m(1yo[2], 0.0);\\n   18r[3] = 1m(2vU, 1.0);\\n   5w 1n0;\\n   1w 3b = 1wz.1H;\\n   1n0[0] = 1m(3b.x,0,0,0.0);\\n   1n0[1] = 1m(0,3b.y,0,0.0);\\n   1n0[2] = 1m(0,0,3b.z,0.0);\\n   1n0[3] = 1m(0,0,0,1.0);\\n   5w 4a = 18r;\\n#1z 2kZ\\n   5w 2vK = 1Z7(2dc, 2db);\\n   4a *= 2vK;\\n#1u\\n   4a *= 1n0;\\n   14j 1h3 = 14j(4a);\\n   15C = 4a * 1m(15C.1H, 1.0);\\n   15C.w = 1.0;\\n   6I = 11o * 15C;\\n   8l.1H = 15C.1H;\\n   8l.w = 0.0;\\n   1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n   4m = 7x * 1De;\\n   1th = 1Z6 / 255.0;\\n#1z 1h6\\n    if(1h(13N) > 0.8)\\n    {\\n        1w 2U = 1h3 * 13N;\\n        1ym = 1T(11b * 2U);\\n        8l.w = 1.0;\\n        1id = (9q * 8l).1H;\\n#1bI 2cZ\\n        4m = 4m * 1Fa(1ym, -1id, 8l.1H);\\n#1u\\n    }\\n#1u\\n}";q.71x=Dl;q.71w=qq;q.71v=VL;q.71u=Lb;q.71t=ib;q.71s=xE;q.71r=pp;q.71q=qn;q.4iG=Cp;q.71p=B1;q.5gY=bm;q.71o=Lg;q.71n=mD;q.71m=Za;q.71l=Cq;q.5gX=eh;q.71k=M;q.71j=mk;q.71i=f8;q.5gW=Sg;q.71h=g8;q.71g=xC;q.5gV=yC;q.5gU=pI;q.71f=Fj;q.71e=de;q.71d=Kp;q.4iF=qe;q.71c=aq;q.71b=4iE;q.71a=4iD;q.717=mg;q.716=he;q.715=5gT;q.4iC=4iB;q.714=BK;q.713=Eo;q.712=Qi;q.711=LC;q.710=po;q.70Z="\\2J 1m 4f;\\2J 1m 7s;\\2J 1o 11X;\\1B 1o 1h8;\\1J 1o 4m;\\n\\1r 1CN()\\n{\\n\\7c 9I = 9q * 1m(4f.1H, 1.0);\\n\\7c 1o1 = 17B * 9I;\\n\\4s 1CP = 1dv(9I);\\n\\3ii.x = 1o1.x - 2.0 * 1CP;\\n\\7c 1CO = 1k1 * 1o1;\\n\\11r 1h(9I - 1CO);\\n}\\2s 2k()\\n{\\n    7d 3KI = 7s.x < 0.1;\\n    1o 2M = 3KI ? -1h8 : 1h8;\\n    1m 2YQ = 9q * 1m(4f.1H, 1.0);\\n\\5gS.x = 2YQ.x + 2M * 1CN();\\n\\1tg = 17B * 2YQ;\\n\\2vI = 11X;\\n}";q.70Y=HR;q.70X=up;q.70W=Mb;q.70V=Xt;q.5gR=NX;q.70U=GC;q.70T=dh;q.70S=Ws;q.70R=hH;q.4iA=Lo;q.70Q=Ko;q.70P=rz;q.70O=va;q.70N=xe;q.70M=fe;q.70L=cg;q.1k=B;q.70K=ub;q.70J=J;q.5gQ=A;q.70I=Fw;q.70H=Xh;q.70G=Ss;q.70F=IM;q.25N=fg;q.70E=CQ;q.70D=$r;q.70C=io;q.70B=kv;q.70A=gy;q.70z="2n 1m 1uM;\\n    3G 1o 2vT;\\4i 1o 3KH = 500.0;\\4i 1o 3KG = 5gP.0;\\2s 2k()\\n{\\n    2C = 1uM;\\n    1o t = 1.0 - 13f(3KH, 3KG, 2vT);\\n    2C.a = t;\\n}";q.70y="\\1B 1o 1h8;\\2J 1m 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\1J 1o 2vT;\\2s 25f(\\n    1w p0,\\n    1w p1,\\n    9H 1m 6K,\\n    9H 7d 12P,\\n    9H 7d 13D)\\n{\\n    13D = 16f;\\n    12P = 16f;\\n    1w 1iS = p1 - p0;\\n    1o 7t = 1h(1iS);\\n    1w 2G = 1T(1iS);\\n    1o 1iR =  -(18z.x + p0.z);\\n    1o 1aX = -2G.z;\\n    if (1iR < 0.0 && abs(1aX) < 1bg)\\n    {\\n        13D = 8O;\\n    }\\n    1s if (1iR < 0.0 && abs(1aX) > 1bg)\\n    {\\n        1o t = (18z.x + p0.z) / 1aX;\\n        if (t < 0.0 || t > 7t)\\n        {\\n            13D = 8O;\\n        }\\n        1s\\n        {\\n            p0 = p0 + t * 2G;\\n            12P = 8O;\\n        }\\n    }\\n    6K = 18a(1m(p0, 1.0));\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er)\\n{\\n\\7c 16F, p0, p1;\\n\\1OR 13D, 12P;\\n\\7c 4p = 1K;\\n\\7c 17C = 18d;\\n\\7c 18F = 6k;\\n\\7c 1lT = 18a(4p);\\n\\1Dg(17C.1H, 4p.1H, p0, 12P, 13D);\\n\\1Dg(18F.1H, 4p.1H, p1, 12P, 13D);\\n\\1Dg(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\n\\9u (13D)\\n\\t{\\n\\t\\11r 1m(0.0, 0.0, 0.0, 1.0);\\n\\t}\\n\\10O 14U = 1T(p0.xy - 16F.xy);\\n\\10O 12k = 1T(p1.xy - 16F.xy);\\n\\4s 1kf = 1G * 0.5;\\n\\10O 2G;\\n\\9u (1dX(18d.1H - 1K.1H, 1w(0.0), 1jt) || 1dX(14U, -12k, 1jt))\\n\\t{\\n\\t\\1s4 = 1v(-12k.y, 12k.x);\\n\\t}\\n\\1aC if (1dX(6k.1H - 1K.1H, 1w(0.0), 1jt) || 12P)\\n\\t{\\n\\t\\1s4 = 1v(14U.y, -14U.x);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\10O 2U = 1v(-12k.y, 12k.x);\\n\\t\\1s4 = 1T((12k + 14U) * 0.5);\\n\\t\\1s4 = 1Of(2G, 2U, -2G);\\n\\t}\\n\\10O 2M = 2G * 1jz * 1kf * 1Xu;\\n\\11r 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\2s 2k()\\n{\\n\\10O 15t = 13x.xy;\\n\\4s 1kU = 12q(15t.x);\\n    1o 1G = abs(15t.y) + 0.5;\\n    1G *= 1h8;\\n\\1OR 1mO = 15t.y < 0.0;\\n\\7c p = 9q * 4f;\\n    2vT = 1h(p);\\n\\7c 15E = 9q * 1m(13N, 1.0);\\n\\7c 6k = 9q * 7s;\\n\\7c 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO);\\n\\1tg = 1t5 * 6K;\\n#1z 10B\\n    1Se(11o * 4f);\\n#1u\\n}";q.2Hu=ng;q.70x=Ur;q.70w=PQ;q.70v=nv;q.70u=Nm;q.70t=ZB;q.70s=EQ;q.70r=OH;q.70q=Xa;q.70p=bq;q.70o="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 2v 1IO;\\1B 2v 1kS;\\1B 2v 1p5;\\1B 1o 1Fu;\\1B 1o 16R;\\1B 1o 1t1;\\1B 1o 1jr;\\1B 1o 1fO;\\1B 1o 1jq;\\1B 1o 1dw;\\1B 1o 1kT;\\1B 1m 1hA;\\1B 1o 1kQ;\\1B 1m 1gs;\\1B 1m 13v;\\n\\1J 1o 13i;\\1J 1v 6r;\\1J 1o 14o;\\n\\n\\1r 1k4(1o 1D)\\n{\\n\\4s 1mJ = 13R(1D - 0.2jt, 1t1);\\n\\4s 1dW = abs(1cu(1D));\\n\\4s 1dV = abs(1ct(1D));\\n\\4s dF = 1V(1dW, 1dV);\\n\\11r (1mJ < dF) ? 1.0 : 0.0;\\n}\\n\\1P 1fj(1o 1D)\\n{\\n\\4s 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\n\\4s 1i5 = (1D - 1dw) / 19U;\\n\\4s 1eP = 2Y(1i5, 0.0, 1.0);\\n\\10O 1kR = 1v(0.0, 1eP);\\n\\11r 1Y(1kS, 1kR).15A;\\n}\\n\\2s 2k()\\n{\\n#1z 5J\\n    1bp = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n    1bp = 2o(13i * 4u.w, 1.0);\\n#1u\\n   1v 8R = 6r.xy;\\n   2C = 1Y(1IO, 8R);\\n   if(1Fu > 0.1)\\n    {\\n        1o 1rQ = 1.0;\\n        if(1kQ > 0.1)\\n        {\\n            1v 8G = 6r.xy;\\n            8G.x = 8G.x * (1gs.z - 1gs.x) + 1gs.x;\\n            8G.y = 8G.y * (1gs.w - 1gs.y) + 1gs.y;\\n            if(8G.x>13v.x && 8G.x<13v.z && 8G.y> 13v.y&& 8G.y < 13v.w)\\n            {\\n                8G.xy = 8G.xy - 1v(13v.x, 13v.w);\\n                8G.x = 8G.x / (13v.z - 13v.x);\\n                8G.y = 1.0 - 8G.y / (13v.y - 13v.w);\\n                1m 1p4 = 1Y(1p5, 8G);\\n                if(1p4.r < 0.1)\\n                {\\n                    1rQ = 0.0;\\n                }\\n            }\\n            1s\\n            {\\n                1rQ = 0.0;\\n            }\\n        }\\n        if(1rQ > 0.2)\\n        {\\n            1m 1aA = 1m(1.0);\\n            1o 17Z = 1jr;\\n            if(14o <= 1fO && 14o >= 1jq)\\n            {\\n#1z 8p\\n                if(16R > 2.9)\\n                {\\n                    1o 1uo = 1k4(14o);\\n                    1aA = 3T(1fj(14o), 1hA, 1uo);\\n                }\\n                1s if(16R > 1.9)\\n                {\\n                    17Z = 1k4(14o);\\n                    1aA = 1hA;\\n                }\\n                1s if(16R > 0.9)\\n#1s\\n                if(16R > 0.9)\\n#1u\\n                {\\n                    1aA = 1fj(14o);\\n                }\\n                1s\\n                {\\n                    17Z = 0.0;\\n                }\\n            }\\n            1s\\n            {\\n                17Z = 0.5;\\n            }\\n            2C = 3T(2C, 1aA, 17Z);\\n        }\\n    }\\n}";q.5gO="3Q 1m 4f;\\2J 1v 7s;\\n#1z 1Iy\\1B 1o 1ws;\\n#1u\\n\\1J 1m 14u;\\1J 1o 13i;\\1J 1v 6r;\\1J 1o 14o;\\n\\1P 1gX(1m 9T)\\n{\\n\\1AB = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\n\\1LE.z = 2o(9T.z, 9T.w);\\n\\11r 9T;\\n}\\2s 2k()\\n{\\n   1m 3h = 11o * 1m(4f.1H, 1.0);\\n   6I = 1gX(3h);\\n   6r = 7s.xy;\\n   14u = 9q * 1m(4f.1H, 1.0);\\n   14o = 4f.w;\\n#1z 1Iy\\n   1IA = 1ws;\\n#1u\\n}";q.70n=MC;q.70m="3G 1v 6r;\\1B 2v 1IO;\\2s 2k()\\n{\\n    2C = 1Y(1IO, 6r);\\n}";q.70l="3Q 1m 4f;\\2J 1v 1P2;\\1B 1v 4iz;\\1J 1v 6r;\\1B 2v 2dm;\\2s 2k()\\n{\\n    1o 1yq = 2jk(1Y(2dm, 1P2));\\n    1o 1D = 4f.z + 1yq;\\n    1m 6v = 1m(4f.xy, 1D, 1.0);\\n    6I = 11o * 6v;\\n    6r = 1P2;\\n}";q.70k="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 2v 2dm;\\1B 2v 1IO;\\n\\1B 2v 1kS;\\1B 2v 1p5;\\1B 1o 1Fu;\\1B 1o 16R;\\1B 1o 1t1;\\1B 1o 1jr;\\1B 1o 1fO;\\1B 1o 1jq;\\1B 1o 1dw;\\1B 1o 1kT;\\1B 1m 1hA;\\1B 1o 1kQ;\\1B 1m 1gs;\\1B 1m 13v;\\1J 1v 1yl;\\1J 1o 14o;\\1J 1o 1D;\\1J 1o 1Zj;\\n#1z 1Zi\\1J 1v 2YP;\\n#1u\\n\\1r 1k4(1o 1D)\\n{\\n\\4s 1mJ = 13R(1D - 0.2jt, 1t1);\\n\\4s 1dW = abs(1cu(1D));\\n\\4s 1dV = abs(1ct(1D));\\n\\4s dF = 1V(1dW, 1dV);\\n\\11r (1mJ < dF) ? 1.0 : 0.0;\\n}\\n\\1P 1fj(1o 1D)\\n{\\n\\4s 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\n\\4s 1i5 = (1D - 1dw) / 19U;\\n\\4s 1eP = 2Y(1i5, 0.0, 1.0);\\n\\10O 1kR = 1v(0.0, 1eP);\\n\\11r 1Y(1kS, 1kR).15A;\\n}\\n\\2s 2k()\\n{\\1Cz();\\n\\10O 8R = 1yl;\\n#1z 1Zi\\n\\5gN = 2YP;\\n#1u\\1r 1yq = 1V(2jk(1Y(2dm, 1yl)), 0.0);\\1U(1yq < -2UT.0 || 1yq > 1F7.0){\\n    1yq = 0.0;\\n}\\n#1bI 1Zi\\n   if(1Zj > 1yq)\\n   {\\n        if(1D > 1Zj|| 1D < 1yq - 500.0)\\n        {\\n             7o;\\n        }\\n   }\\n   1s\\n   {\\n        if(1D > 1yq || 1D < 1Zj - 500.0)\\n        {\\n            7o;\\n        }\\n    }\\n#1s\\n        if(1D > 1yq || 1D < 1Zj)\\n        {\\n           7o;\\n        }\\n#1u\\n\\14F = 1m(1Y(1IO, 8R).2y, 1.0);\\n\\9u(1Fu > 0.1)\\n    {\\n        1o 1rQ = 1.0;\\n        if(1kQ > 0.1)\\n        {\\n            1v 8G = 1yl.xy;\\n            8G.x = 8G.x * (1gs.z - 1gs.x) + 1gs.x;\\n            8G.y = 8G.y * (1gs.w - 1gs.y) + 1gs.y;\\n            if(8G.x>13v.x && 8G.x<13v.z && 8G.y> 13v.y&& 8G.y < 13v.w)\\n            {\\n                8G.xy = 8G.xy - 1v(13v.x, 13v.w);\\n                8G.x = 8G.x / (13v.z - 13v.x);\\n                8G.y = 1.0 - 8G.y / (13v.y - 13v.w);\\n                1m 1p4 = 1Y(1p5, 8G);\\n                if(1p4.r < 0.1)\\n                {\\n                    1rQ = 0.0;\\n                }\\n            }\\n            1s\\n            {\\n                1rQ = 0.0;\\n            }\\n        }\\n        if(1rQ > 0.2)\\n        {\\n            1m 1aA = 1m(1.0);\\n            1o 17Z = 1jr;\\n            if(14o <= 1fO && 14o >= 1jq)\\n            {\\n#1z 8p\\n                if(16R > 2.9)\\n                {\\n                    1o 1uo = 1k4(14o);\\n                    1aA = 3T(1fj(14o), 1hA, 1uo);\\n                }\\n                1s if(16R > 1.9)\\n                {\\n                    17Z = 1k4(14o);\\n                    1aA = 1hA;\\n                }\\n                1s if(16R > 0.9)\\n#1s\\n                if(16R > 0.9)\\n#1u\\n                {\\n                    1aA = 1fj(14o);\\n                }\\n                1s\\n                {\\n                    17Z = 0.0;\\n                }\\n            }\\n            1s\\n            {\\n                17Z = 0.5;\\n            }\\n            2C = 3T(2C, 1aA, 17Z);\\n        }\\n    }\\n}";q.70j="3Q 1m 4f;\\2J 1m 7s;\\2J 1m 13x;\\n\\1B 2v 1OS;\\1J 1v 1yl;\\1J 1o 14o;\\1J 1o 1D;\\1J 1o 1Zj;\\n#1z 1Zi\\1J 1v 2YP;\\n#1u\\n\\2s 2k()\\n{\\n\\3JO = 7s.xy;\\n#1z 1Zi\\n\\5gM = 13x.xy;\\n#1u\\n\\1tg = 1wa(11o * 1m(4f.1H, 1.0));\\n\\5gL = 4f.w;\\n\\5gK = 7s.z;\\n}";q.1LD=Sj;q.70i=sz;q.70h=lq;q.70g="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 1m 1FB;\\1B 1m 1FA;\\1B 1v 1wr;\\n#if 1bL > 0\\1B 2v 3iw[1bL];\\1B 5w 3iv[1bL];\\n#1u\\1B 2v 2cX;\\1B 1v 1uI;\\1B 7P 3iu;\\1J 1m 1l7;\\n\\1r 19x(in 1m 4e)\\n{\\n\\4s 1kg = 11N(4e);\\n\\4s 1iU = 1dx.3I;\\n\\4s 1iV = 1dx.3W;\\n\\11r (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\n}\\n\\1r 1YO(in 2v 1D8, in 1m 4M)\\n{\\n\\10O 1h4;\\n    1h4 = 4M.xy * 1wr - 0.5;\\n\\4s x0 = 2t(1h4.x);\\n\\4s x1 = 8a(1h4.x);\\n\\4s y0 = 2t(1h4.y);\\n\\4s y1 = 8a(1h4.y);\\n\\10O 19y = 1.0 / 1wr;\\n\\10O 1YW = 1v((x0 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YU = 1v((x1 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YV = 1v((x0 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\10O 1YT = 1v((x1 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\4s 1YS = 19x(1Y(1D8, 1YW));\\n\\4s 1YQ = 19x(1Y(1D8, 1YV));\\n\\4s 1YR = 19x(1Y(1D8, 1YU));\\n\\4s 1YP = 19x(1Y(1D8, 1YT));\\n\\4s 4e = 1V(1V(1YS, 1YR), 1V(1YQ, 1YP));\\n\\11r 4e;\\n}\\n\\1r 3KE(in 2v 1D8, in 1m 9I, in 5w 3KF)\\n{\\n    1m 1mW = 3KF * 9I;\\n\\7c 4M = 1mW / 1mW.w;\\n\\2cW.1H = 4M.1H * 0.5 + 0.5;\\n\\n    if (4M.x<0.0 || 4M.x>1.0\\n        || 4M.y<0.0 || 4M.y>1.0)\\n    {\\n        1f 1.0;\\n    }\\n\\n    1o 4e = 1YO(1D8, 4M);\\n    4e = 4e * 0.5 + 0.5;\\n    1o 1dW = abs(1cu(4M.z));\\n    1o 1dV = abs(1ct(4M.z));\\n    1o dF = 1V(1dW, 1dV);\\n    1o 1l0 = 1.1Al-6 + dF;\\n    1o c = 1o(4e+1l0 < 4M.z);\\n    1f c;\\n}\\n\\1r 3KD(in 1m 9I)\\n{\\n    1o c = 1.0;\\n#if 1bL > 0\\n    1j(7P i = 0; i < 1bL; i++)\\n    {\\n        1o c = 3KE(3iw[i], 9I, 3iv[i]);\\n        if(c == 0.0 || 3iu == 1)\\n        {\\n            1f c;\\n        }\\n    }\\n#1u\\n    1f c;\\n}\\n\\2s 2k()\\n{\\n    1Sc();\\n\\7c 1pd = 1l7 / 1l7.w;\\n\\1OQ.xy = 1pd.xy * 0.5 + 0.5;\\n\\1OQ.x = 1pd.x * 9e.z / 1uI.x + 9e.x / 1uI.x;\\n\\1OQ.y = 1pd.y * 9e.w / 1uI.y + 9e.y / 1uI.y;\\n\\4s 1mX = 11N(1Y(2cX, 1pd.xy));\\n    1mX = 1rn(1mX);\\n\\2vj = 1mX * 2.0 - 1.0;\\n\\7c 3h = 1l7;\\n\\2Yh.z = 1mX * 3h.w;\\n\\7c 9I = 1k1 * 3h;\\n    1o c = 3KD(9I);\\n\\7c 1rI = 3T(1FB, 1FA, 1m(c));\\n\\9u(1rI.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 1rI;\\n\\14F = 9D(2C);\\n}";q.70f=Jf;q.70e=VC;q.70d=Xi;q.70c=Zi;q.70b=Vy;q.70a=Qs;q.5gJ=hV;q.709=bE;q.708=dV;q.707=fx;q.706=Db;q.703=QT;q.2YO=4iy;q.701=bv;q.6ZZ=Ms;q.2th=rn;q.6ZY=df;q.6ZX=Fh;q.6ZW=Cl;q.6ZV=af;q.6ZU=rP;q.6ZT=cK;q.6ZS=Sm;q.6ZR=yc;q.5gI=Jb;q.5gH=Ee;q.6ZQ=XB;q.5gG=EA;q.6ZP=5gF;q.6ZO=5gE;q.6ZN=ik;q.5gD=Ck;q.2Ht=xD;q.6ZM=4ix;q.6ZL=4iw;q.6ZK=No;q.6ZJ=tz;q.6ZI=yD;q.6ZH=ew;q.6ZG=rf;q.4iv=ma;q.6ZF=Sf;q.6ZE=Vr;q.6ZD=cq;q.6ZC=fH;q.4iu=zc;q.6ZB=fw;q.6ZA=cE;q.6Zz=YK;q.5gC=Qc;q.6Zy=Mg;q.6Zx=at;q.6Zw=zD;q.6Zv=uz;q.6Zu=vz;q.6Zt=Os;q.4it=mh;q.6Zs=Ku;q.6Zr=Ha;q.6Zq=ua;q.6Zp=Cb;q.6Zo=Lu;q.6Zn=tk;q.6Zm=cy;q.6Zl=Mu;q.6Zk=Zm;q.5gB=jq;q.6Zj=ke;q.6Zi=lt;q.6Zh=Gg;q.6Zg=Uk;q.6Zf=Ya;q.5gA=an;q.5gz=rd;q.5gy=gi;q.6Ze=Ao;q.5gx=pv;q.6Zd=no;q.3KC=Uy;q.6Zc=ds;q.6Zb=rF;q.6Za=sv;q.6Z9=Wr;q.4is=1b(a){ek("4is","4is is 2l9,3it 14W 3KA.");a=1g Ht(a,Wh.18H,Xc.1P1);a.4in=a.2dj;1f a};q.4ir=lS;q.5gw=yd;q.6Z8=Li;q.6Z7=dq;q.6Z6=bU;q.6Z5=tc;q.6Z4=xc;q.6Z3=Jj;q.6Z2=yl;q.4iq=1b(a){ek("4iq","4iq is 2l9,3it 14W 3KA.");a=1g Ht(a,Wh.14x,Xc.1P1);a.4in=a.2dj;1f a};q.6Z1=bo;q.6Z0=Lr;q.6YZ=Ad;q.1T7=Nf;q.6YY=js;q.6YX=Bf;q.5gv=hf;q.6YW=ks;q.6YV=xy;q.6YU="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1J 1m 4m;\\1J 1o 13i;\\1J 1v 9j;\\1J 1o 1hC;\\1J 1o 1iQ;\\1J 1m 11w;\\4i 1o 2c2 = 16.0;\\1B 1m 1gr;\\1B 7P 1s3;\\1B 1m 2dk;\\1B 1o 2Hp;\\1B 1m 2Hq;\\1B 1o 2Hs;\\1B 1o 2Hr;\\1B 1o 2dl;\\1B 7P 1IN;\\1J 1m 8l;\\n\\1KZ 17b(1o 1Fp)\\n{\\n\\4s c = 3i(1Fp);\\n\\4s s = 2T(1Fp);\\n\\11r 1bG(\\n\\t\\tc, s,\\n\\t\\t-s, c\\n\\t);\\n}\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1r 1Lo(1v p0, 1v p1, 1o x)\\n{\\n\\4s 1rp = (p0.y - p1.y) / (p0.x - p1.x);\\n\\11r 1rp * (x - p0.x) + p0.y;\\n}\\2s 2k()\\n{\\n#1z 8p\\n\\4s 13T = 1.0 - abs(2Gl(9j.s)) * 10.0;\\n#1s\\n\\4s 13T = 0.99;\\n#1u\\n\\10O 2V = 1v(1.0, 0.5);\\n\\4s 1Ln = 1Lo(1v(13T, 1.0), 2V, 9j.s);\\n\\4s 1Lm = 1Lo(1v(13T, 0.0), 2V, 9j.s);\\n\\4s 18c = 0.15;\\n\\4s s = 7F(0.5 - 18c, 9j.t);\\n\\ts *= 1.0 - 7F(0.5 + 18c, 9j.t);\\n\\ts *= 1.0 - 7F(13T, 9j.s);\\n\\4s t = 7F(13T, 9j.s);\\n\\tt *= 1.0 - 7F(1Ln, 9j.t);\\n\\tt *= 7F(1Lm, 9j.t);\\n\\4s 6Y;\\n\\n\\7c 1iT = 1m(0.0);\\n\\7c 1aj;\\n\\9u (1IN == 0 || 9j.s < 13T)\\n\\t{\\n\\t\\9u(1s3 == 3)\\n\\t\\t{\\n\\t\\t\\4s 1An = 2dl / abs(9j.t - 0.3) - (2dl / 0.5);\\n\\t\\t\\1qn 17Y = 1V(1w(1An - 1.0 + 1gr.2y), 1gr.2y);\\n\\t\\t\\4s 2O = 2Y(0.0, 1.0, 1An) * 1gr.a;\\n\\t\\t\\7c 1cO = 1m(17Y, 2O);\\n\\t\\t\\9u(1IN != 0)\\n\\t\\t\\t{\\n\\t\\t\\t\\4s d1 = abs(9j.t - (0.5 - 18c));\\n\\t\\t\\t\\4s d2 = abs(9j.t - (0.5 + 18c));\\n\\t\\t\\t\\1Zh = 2o(d1, d2);\\n\\t\\t\\t\\1LC = 3T(1iT, 1cO, 2Y(s + t, 0.0, 1.0));\\n\\t\\t\\t\\14F = 1k5(1iT, 1cO, 1aj, 6Y, 0.1);\\n\\t\\t\\t}\\n\\t\\t\\1aC\\n\\t\\t\\t{\\n\\t\\t\\t\\14F = 1cO;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\1aC if(1s3 == 1)\\n\\t\\t{\\n\\t\\t\\10O 3h = 17b(1iQ) * 4u.xy;\\n\\t\\t\\4s 2c3 = 8N(3h.x / 2Hs);\\n\\t\\t\\4s 2c1 = 2t(2c3 * 2c2);\\n\\t\\t\\4s 2c0 = 2t(2Hr / 3r(2.0, 2c1));\\n\\t\\t\\7c 1cO = (13R(2c0, 2.0) < 1.0) ? 2Hq : 1gr;\\n\\t\\t\\9u (1cO.a < 0.1Am)\\n\\t\\t\\t{\\n\\t\\t\\t\\17O;\\n\\t\\t\\t}\\n\\t\\t\\9u(1IN != 0)\\n\\t\\t\\t{\\n\\t\\t\\t\\4s d1 = abs(9j.t - (0.5 - 18c));\\n\\t\\t\\t\\4s d2 = abs(9j.t - (0.5 + 18c));\\n\\t\\t\\t\\1Zh = 2o(d1, d2);\\n\\t\\t\\t\\1LC = 3T(1iT, 1cO, 2Y(s + t, 0.0, 1.0));\\n\\t\\t\\t\\14F = 1k5(1iT, 1cO, 1aj, 6Y, 0.1);\\n\\t\\t\\t}\\n\\t\\t\\1aC\\n\\t\\t\\t{\\n\\t\\t\\t\\14F = 1cO;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\1aC if(1s3 == 2)\\n\\t\\t{\\n\\t\\t\\4s 1l1 = 0.5 * (1hC - 2Hp) / 1hC;\\n\\t\\t\\4s b = 7F(0.5 - 1l1, 9j.t);\\n\\t\\t\\tb *= 1.0 - 7F(0.5 + 1l1, 9j.t);\\n\\t\\t\\4s d1 = abs(9j.t - (0.5 - 1l1));\\n\\t\\t\\4s d2 = abs(9j.t - (0.5 + 1l1));\\n\\t\\t\\4s 6Y = 2o(d1, d2);\\n\\t\\t\\1LC = 3T(2dk, 1gr, b);\\n\\t\\t\\14F = 1k5(2dk, 1gr, 1aj, 6Y, 0.1);\\n\\t\\t}\\n\\t\\1aC\\n\\t\\t{\\n\\t\\t\\9u(1IN != 0)\\n\\t\\t\\t{\\n\\t\\t\\t\\4s d1 = abs(9j.t - (0.5 - 18c));\\n\\t\\t\\t\\4s d2 = abs(9j.t - (0.5 + 18c));\\n\\t\\t\\t\\1Zh = 2o(d1, d2);\\n\\t\\t\\t\\1LC = 3T(1iT, 1gr, 2Y(s + t, 0.0, 1.0));\\n\\t\\t\\t\\14F = 1k5(1iT, 1gr, 1aj, 6Y, 0.1);\\n\\t\\t\\t}\\n\\t\\t\\1aC\\n\\t\\t\\t{\\n\\t\\t\\t\\14F = 1gr;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\4s d1 = 1Af;\\n\\t\\9u (9j.t < 0.5 - 18c && 9j.t > 0.5 + 18c)\\n\\t\\t{\\n\\t\\t\\4ip = abs(9j.s - 13T);\\n\\t\\t}\\n\\t\\4s d2 = abs(9j.t - 1Ln);\\n\\t\\4s d3 = abs(9j.t - 1Lm);\\n\\t\\1Zh = 2o(2o(d1, d2), d3);\\n\\t\\1LC = 3T(1iT, 1gr, 2Y(s + t, 0.0, 1.0));\\n\\t\\14F = 1k5(1iT, 1gr, 1aj, 6Y, 0.1);\\n\\t}\\n    2C = 2C * 4m;\\n    2C = 9D(2C);\\n    if(2C.a < 0.1){7o;}\\n#1z 5J\\n    1bp = 13i;\\n#1u\\n#1z 1dt\\n    1bp = 13i;\\n#1u\\n#1z 10B\\n    1nO(13i);\\n#1u\\n#1z 1es\\3R *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n}";q.3KB=lk;q.6YT=Tl;q.6YS=ls;q.6YR=pk;q.4io=1b(a){ek("4io","4io is 2l9,3it 14W 3KA.");a=1g Ht(a,Wh.2l8,Xc.1P1);a.4in=a.2dj;1f a};q.6YQ=Og;q.6YP=ms;q.6YO=dd;q.6YN="\\1B 1o 2l5;\\n\\2J 1m 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\1B 1m 15h;\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hC;\\1J 1v 9j;\\1J 1o 1iQ;\\1J 1o 1Y9;\\1J 1o 13i;\\1J 1m 8l;\\2s 25f(\\n    1w p0,\\n    1w p1,\\n    9H 1m 6K,\\n    9H 7d 12P,\\n    9H 7d 13D)\\n{\\n    13D = 16f;\\n    12P = 16f;\\n    1w 1iS = p1 - p0;\\n    1o 7t = 1h(1iS);\\n    1w 2G = 1T(1iS);\\n    1o 1iR =  -(18z.x + p0.z);\\n    1o 1aX = -2G.z;\\n    if (1iR < 0.0 && abs(1aX) < 1bg)\\n    {\\n        13D = 8O;\\n    }\\n    1s if (1iR < 0.0 && abs(1aX) > 1bg)\\n    {\\n        1o t = (18z.x + p0.z) / 1aX;\\n        if (t < 0.0 || t > 7t)\\n        {\\n            13D = 8O;\\n        }\\n        1s\\n        {\\n            p0 = p0 + t * 2G;\\n            12P = 8O;\\n        }\\n    }\\n    6K = 18a(1m(p0, 1.0));\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\n\\7c 16F, p0, p1;\\n\\1OR 13D, 12P;\\n\\7c 4p = 1K;\\n\\7c 17C = 18d;\\n\\7c 18F = 6k;\\n\\7c 1lT = 18a(4p);\\n\\7c 1CJ = 18a(17C);\\n\\7c 1CI = 18a(18F);\\n\\n\\10O 1o0;\\n\\9u (1er)\\n\\t{\\n\\t\\2vR = 1T(1lT.xy - 1CJ.xy);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\2vR = 1T(1CI.xy - 1lT.xy);\\n\\t}\\n\\2vQ = 16D(1o0.x, 1o0.y) - 1.2kb;\\n\\2vQ = 2t(8f / 1qb + 0.5) * 1qb;\\n\\n\\1Dg(17C.1H, 4p.1H, p0, 12P, 13D);\\n\\1Dg(18F.1H, 4p.1H, p1, 12P, 13D);\\n\\1Dg(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\n\\9u (13D)\\n\\t{\\n\\t\\11r 1m(0.0, 0.0, 0.0, 1.0);\\n\\t}\\n\\10O 14U = 1T(p0.xy - 16F.xy);\\n\\10O 12k = 1T(p1.xy - 16F.xy);\\n\\4s 1kf = 1G * 0.5;\\n\\10O 2G;\\n\\9u (1dX(18d.1H - 1K.1H, 1w(0.0), 1bg) || 1dX(14U, -12k, 1bg))\\n\\t{\\n\\t\\1s4 = 1v(-12k.y, 12k.x);\\n\\t}\\n\\1aC if (1dX(6k.1H - 1K.1H, 1w(0.0), 1bg) || 12P)\\n\\t{\\n\\t\\1s4 = 1v(14U.y, -14U.x);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\10O 2U = 1v(-12k.y, 12k.x);\\n\\t\\1s4 = 1T((12k + 14U) * 0.5);\\n\\t\\9u (2A(2G, 2U) < 0.0)\\n\\t\\t{\\n\\t\\t\\1s4 = -2G;\\n\\t\\t}\\n\\t\\4s 1gV = abs(2G.x * 12k.y - 2G.y * 12k.x);\\n\\t\\3Ky = 2Y(1kf / 1gV, 0.0, 1G * 2.0);\\n\\t}\\n\\10O 2M = 2G * 1jz * 1kf * 1Xu;\\n\\11r 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\2s 2k()\\n{\\n\\10O 15t = 13x.zw;\\n\\3Kx.y = 15t.y * 2l5;\\n\\4s u = abs(15t.x);\\n\\4s 1kU = 12q(15t.x);\\n#1z 2k8\\n\\4s w = 0.2 + 0.3*(1.0 - 3r(2.0*abs(u - 0.5), 2.0));\\n\\4s 1G = abs(15t.y*w) + 0.5;\\n#1s\\n\\4s 1G = abs(15t.y) + 0.5;\\n#1u\\n\\1OR 1mO = 15t.y < 0.0;\\n\\2YJ.1H = 4f.1H;\\n    8l.w = 0.0;\\n\\7c p = 9q * 4f;\\n\\7c 15E = 9q * 1m(13N, 1.0);\\n\\7c 6k = 9q * 7s;\\n\\3Kw = 13x.xy;\\n\\3Kv = 1G;\\n\\3Ku = u;\\n\\7c 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO, 1iQ);\\n\\7c 3h = 17B * p;\\n\\1AB = (0.5 * (3h.z / 3h.w) + 0.5);\\n\\1tg = 1t5 * 6K;\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n\\2vI = 7x;\\n}";q.6YM="#1z 5J\\n#6A 5J : 5F\\n#1u\\n    3G 1m 1h2;\\n    3G 1m 1jy;\\n    3G 1m 18q; // 4im 1ag 2Ho 3s 1j 1a 3is\\n    3G 1m 1kd;\\n    3G 1m 18D;\\n    3G 1m 1yp;\\n    3G 1m 11w;\\n    1p 2k(1p)\\n    {\\n        1o 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\n        1w 19Z = 1w(1kd.w, 18D.zw);\\n        // 4il 1j 3Kz\\n        if (17n == 0.0) {\\n            7o;\\n        }\\n        1m 5Z = 1az(4u.xy, 17n);\\n        5Z /= 5Z.w;\\n        1o 1y7 = 1h2.w * 1dv(5Z);\\n        // 1ie 3s of 1Z 2vS 25M 2YN 1Z 2W-4ik 12w\\n        1o 1Li = 17c(18q, 5Z.1H);\\n        // 1ie 2vS 25M 2YN 1Z 2YL 1Di\\n        1o 1ke = 17c(1h2.1H, -2A(19Z, 1h2.1H), 5Z.1H);\\n        1o 1rO = 17c(1jy.1H, -2A(1kd.1H, 1jy.1H), 5Z.1H);\\n        if (abs(1Li) > 1y7 || 1ke < 0.0 || 1rO < 0.0)\\n        {\\n            7o;\\n        }\\n        2C = 1yp;\\n        2C = 9D(2C);\\n//        1w 1cc;\\n//        // 4I 1T6 12w\\n//        1cc = 4B(18q.1H, 1h2.1H);\\n//        1cc = 1T(4B(1cc, 18q.1H));\\n//        1ke = 17c(1cc, -2A(1cc, 19Z), 5Z.1H);\\n//        // 9o 1T6 12w\\n//        1cc = 4B(18q.1H, 1jy.1H);\\n//        1cc = 1T(4B(1cc, 18q.1H));\\n//        1rO = 17c(1cc, -2A(1cc, 1kd.1H), 5Z.1H);\\n//        // 4ij - 3s to 1T6 1Di 3ir be 2YM 4ii to 2YL,\\n//        // so 1fo 7y 25M 4ih be 9H-of-14w.\\n//        1o s = 2Y(1ke / (1ke + 1rO), 0.0, 1.0);\\n//        s = (s * 18D.x) + 18D.y;\\n//        1o t = (1Li + 1y7) / (2.0 * 1y7);\\n//        1Sc();\\n    }\\n    ";q.6YL="3Q 1m 4f;\\n#1z 14V\\n    3Q 1m 11X;\\n#1u\\n#1z 18e\\n    3Q 1o 4R;\\n#1u\\n    3Q 1m 7s;\\n    3Q 1m 13x;\\n    3Q 1m 1Dd;\\n    3Q 1m 2l7;\\n    3Q 1m 2l6;\\n    3Q 1m 2di;\\n    2n 1m 15h;\\n    3G 1m 1h2;\\n    3G 1m 1jy;\\n    3G 1m 18q;\\n    3G 1m 1kd;\\n    3G 1m 18D;\\n    3G 1m 1yp;\\n    3G 1m 11w;\\n    2n 1o 1h8;\\n    2n 1m 1uM;\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\n#1z 1mZ\\n    2n 1o 1Lz;\\n    2n 1o 1T0;\\n    2n 1o 2Hk;\\n    2n 1o 2Hi;\\n    2n 1o 2Hg;\\n    2n 1o 2Hm;\\n    2n 1m 1LA;\\n    2n 1m 1T1;\\n    2n 1m 2Hl;\\n    2n 1m 2Hj;\\n    2n 1m 2Hh;\\n    2n 1m 2Hn;\\n#1u\\n    1p 2k()\\n    {\\n        1w 1aU = 4f.1H;\\n        1m 1aD = 1m(1.0);\\n#1z 1o6\\n        1aD = 1tj + 4f * 1ti;\\n        1aU = 1aD.1H;\\n#1u\\n        1w 19W = 2di.1H;\\n#1z 1mZ\\n        1aD = 2Hn + 2di * 2Hm;\\n        19W = 1aD.1H;\\n#1u\\n        1m 1nZ = 7s;\\n        1m 1nY = 13x;\\n        1m 1nX = 1Dd;\\n        1m 1jx = 2l7;\\n        1m 1lS = 2l6;\\n#1z 1mZ\\n        1aD = 1LA + 7s * 1Lz;\\n        1nZ = 1aD;\\n        1aD = 1T1 + 13x * 1T0;\\n        1nY = 1aD;\\n        1aD = 2Hl + 1Dd * 2Hk;\\n        1nX = 1aD;\\n        1aD = 2Hj + 2l7 * 2Hi;\\n        1jx = 1aD;\\n        1aD = 2Hh + 2l6 * 2Hg;\\n        1lS = 1aD;\\n#1u\\n        1w 19Z = (15D * 16e(1nZ.1H, 1nY.1H)).1H;\\n        1w 2YK = 1w(1nZ.w, 1nY.w, 1nX.w);\\n        1w 2M = 11b * 2YK;\\n        1w 1Aq = 19Z + 2M;\\n        1w 1y5 = 1T(2M);\\n        // 4I 12w\\n        1m 1hE;\\n        1hE.1H = 11b * 1nX.1H;\\n        1hE.w = -2A(1hE.1H, 19Z);\\n        // 9o 12w\\n        1m 1hD;\\n        1hD.1H = 11b * 1jx.1H;\\n        1hD.w = -2A(1hD.1H, 1Aq);\\n        // 1Dh 12w\\n        18q.1H = 11b * 1lS.1H;\\n        18q.w = -2A(18q.1H, 19Z);\\n        18D.x = abs(1jx.w);\\n        18D.y = 1lS.w;\\n        1kd.1H = 1Aq;\\n        1kd.w = 19Z.x;\\n        18D.zw = 19Z.yz;\\n        1m 1Y4 = 16e(1aU, 19W);\\n        // 1ie 3s to 1Z 9o 12w and 4I 12w, 11P 1Z 12w 17m is 4ig\\n        1m 4p = 15D * 1Y4;\\n        1o 1I9 = abs(17c(1hE, 4p.1H));\\n        1o 1I8 = abs(17c(1hD, 4p.1H));\\n        1w 1qi = 15B(1I9 < 1I8, 1hE.1H, 1hD.1H);\\n        1w 1h1 = 1T(4B(18q.1H, 1qi));\\n        1w 4X = 1T(4B(1qi, 1h1));\\n        1h1 = 4B(1y5, 4X);\\n        1h1 = 1o(18D.y > 1.0 || 18D.y < 0.0) * 1h1;\\n        4p.1H += 1h1;\\n        18D.y = 15B(18D.y > 1.0, 0.0, abs(18D.y));\\n        1o 1G = 1h8;\\n        1h2.1H = 1hE.1H;\\n        1h2.w = 1G * 0.5;\\n        1jy.1H = 1hD.1H;\\n        1jy.w = 0.0;\\n        1G = 1G * 1V(0.0, 1dv(4p));\\n        1G = 1G / 2A(4X, 18q.1H);\\n        4X *= 12q(1jx.w);\\n        4p.1H += 1G * 4X;\\n        6I = 1wa(17B * 4p);\\n        1m 7x = 1m(1.0);\\n#1z 14V\\n        7x = 11X;\\n#1u\\n#1z 18e\\n        11w = 1ki(4R);\\n        1m 14T = 1qo(4R);\\n        1m 19z = 1k9(4R);\\n        1eo(14T, 19z, 15h, 7x);\\n#1u\\n        1yp = 7x * 1uM;\\n    }";q.6YK=Cv;q.6YJ=Vm;q.6YI=Mr;q.6YH=Zk;q.6YG=Ol;q.6YF=cv;q.6YE=Px;q.6YD="\\1B 1o 2l5;\\n\\2J 1m 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\1B 1m 15h;\\1B 5w 1lW;\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hC;\\1J 1v 9j;\\1J 1o 1iQ;\\1J 1o 1Y9;\\1J 1o 13i;\\1J 1m 8l;\\n#1z 1cB\\n    3G 1m 1rw;\\n#1u\\2s 25f(\\n    1w p0,\\n    1w p1,\\n    9H 1m 6K,\\n    9H 7d 12P,\\n    9H 7d 13D)\\n{\\n    13D = 16f;\\n    12P = 16f;\\n    1w 1iS = p1 - p0;\\n    1o 7t = 1h(1iS);\\n    1w 2G = 1T(1iS);\\n    1o 1iR =  -(18z.x + p0.z);\\n    1o 1aX = -2G.z;\\n    if (1iR < 0.0 && abs(1aX) < 1bg)\\n    {\\n        13D = 8O;\\n    }\\n    1s if (1iR < 0.0 && abs(1aX) > 1bg)\\n    {\\n        1o t = (18z.x + p0.z) / 1aX;\\n        if (t < 0.0 || t > 7t)\\n        {\\n            13D = 8O;\\n        }\\n        1s\\n        {\\n            p0 = p0 + t * 2G;\\n            12P = 8O;\\n        }\\n    }\\n    6K = 18a(1m(p0, 1.0));\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\n\\7c 16F, p0, p1;\\n\\1OR 13D, 12P;\\n\\7c 4p = 1K;\\n\\7c 17C = 18d;\\n\\7c 18F = 6k;\\n\\7c 1lT = 18a(4p);\\n\\7c 1CJ = 18a(17C);\\n\\7c 1CI = 18a(18F);\\n\\n\\10O 1o0;\\n\\9u (1er)\\n\\t{\\n\\t\\2vR = 1T(1lT.xy - 1CJ.xy);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\2vR = 1T(1CI.xy - 1lT.xy);\\n\\t}\\n\\2vQ = 16D(1o0.x, 1o0.y) - 1.2kb;\\n\\2vQ = 2t(8f / 1qb + 0.5) * 1qb;\\n\\n\\1Dg(17C.1H, 4p.1H, p0, 12P, 13D);\\n\\1Dg(18F.1H, 4p.1H, p1, 12P, 13D);\\n\\1Dg(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\n\\9u (13D)\\n\\t{\\n\\t\\11r 1m(0.0, 0.0, 0.0, 1.0);\\n\\t}\\n\\10O 14U = 1T(p0.xy - 16F.xy);\\n\\10O 12k = 1T(p1.xy - 16F.xy);\\n\\4s 1kf = 1G * 0.5;\\n\\10O 2G;\\n\\9u (1dX(18d.1H - 1K.1H, 1w(0.0), 1jt) || 1dX(14U, -12k, 1jt))\\n\\t{\\n\\t\\1s4 = 1v(-12k.y, 12k.x);\\n\\t}\\n\\1aC if (1dX(6k.1H - 1K.1H, 1w(0.0), 1jt) || 12P)\\n\\t{\\n\\t\\1s4 = 1v(14U.y, -14U.x);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\10O 2U = 1v(-12k.y, 12k.x);\\n\\t\\1s4 = 1T((12k + 14U) * 0.5);\\n\\t\\9u (2A(2G, 2U) < 0.0)\\n\\t\\t{\\n\\t\\t\\1s4 = -2G;\\n\\t\\t}\\n\\t\\4s 1gV = abs(2G.x * 12k.y - 2G.y * 12k.x);\\n\\t\\3Ky = 2Y(1kf / 1gV, 0.0, 1G * 2.0);\\n\\t}\\n\\10O 2M = 2G * 1jz * 1kf * 1Xu;\\n\\11r 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\2s 2k()\\n{\\n\\10O 15t = 13x.zw;\\n\\3Kx.y = 15t.y * 2l5;\\n\\4s u = abs(15t.x);\\n\\4s 1kU = 12q(15t.x);\\n#1z 2k8\\n\\4s w = 0.2 + 0.3*(1.0 - 3r(2.0*abs(u - 0.5), 2.0));\\n\\4s 1G = abs(15t.y*w) + 0.5;\\n#1s\\n\\4s 1G = abs(15t.y) + 0.5;\\n#1u\\n\\1OR 1mO = 15t.y < 0.0;\\n\\2YJ.1H = 4f.1H;\\n    8l.w = 0.0;\\n#1z 1cB\\n    1rw = 1lW * 1m(4f.1H, 1.0);\\n#1u\\n\\7c p = 9q * 4f;\\n\\7c 15E = 9q * 1m(13N, 1.0);\\n\\7c 6k = 9q * 7s;\\n\\3Kw = 13x.xy;\\n\\3Kv = 1G;\\n\\3Ku = u;\\n\\7c 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO, 1iQ);\\n\\7c 3h = 17B * p;\\n\\1AB = (0.5 * (3h.z / 3h.w) + 0.5);\\n\\1tg = 1t5 * 6K;\\n\\7c 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n\\2vI = 7x;\\n#1z 10B\\n    13i = 1.0 + 3h.w;\\n#1u\\n}";q.6YC=Pj;q.6YB=Jp;q.6YA=sk;q.6Yz=Ns;q.6Yy=kd;q.6Yx=wi;q.6Yw=nh;q.6Yv=tn;q.6Yu=Vj;q.6Yt=sn;q.5gu=Kb;q.6Ys=cf;q.6Yr=RB;q.6Yq=bg;q.2YI=Ja;q.6Yp=mq;q.6Yo=dt;q.6Yn=Fq;q.6Ym=ra;q.3iq=Oj;q.6Yl="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 5w 1Lx;\\1B 1v 1wr;\\1B 2v 1pc;\\1B 2v 3in;\\n#1z 2vP\\1B 2v 1Ys;\\1B 5w 3io;\\1B 1o 3ip;\\n#1u\\n\\1J 1m 1l7;\\n\\1r 19x(in 1m 4e)\\n{\\n\\4s 1kg = 11N(4e);\\n\\4s 1iU = 1dx.3I;\\n\\4s 1iV = 1dx.3W;\\n\\11r (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\n}\\n\\1r 1YO(in 2v 1D8, in 1m 4M)\\n{\\n\\10O 1h4;\\n    1h4 = 4M.xy * 1wr - 0.5;\\n\\4s x0 = 2t(1h4.x);\\n\\4s x1 = 8a(1h4.x);\\n\\4s y0 = 2t(1h4.y);\\n\\4s y1 = 8a(1h4.y);\\n\\10O 19y = 1.0 / 1wr;\\n\\10O 1YW = 1v((x0 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YU = 1v((x1 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YV = 1v((x0 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\10O 1YT = 1v((x1 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\4s 1YS = 19x(1Y(1pc, 1YW));\\n\\4s 1YQ = 19x(1Y(1pc, 1YV));\\n\\4s 1YR = 19x(1Y(1pc, 1YU));\\n\\4s 1YP = 19x(1Y(1pc, 1YT));\\n\\4s 4e = 1V(1V(1YS, 1YR), 1V(1YQ, 1YP));\\n\\11r 4e;\\n}\\n#1z 2vP\\166 3Ks(1v 8R)\\n{\\n    7d 3Kt = (3ip < 0.5);\\n    if(3Kt)\\n    {\\n        1f 1Y(1Ys, 8R).r > 0.5;\\n    }\\n    1s\\n    {\\n    1f 1Y(1Ys, 8R).r < 0.5;\\n    }\\n}\\n#1u\\n\\2s 2k()\\n{\\n    1Sc();\\n\\7c 1pd = 1l7 / 1l7.w;\\n\\1OQ.xy = 1pd.xy * 0.5 + 0.5;\\n\\4s 1mX = 11N(1Y(1aB, 1pd.xy));\\n\\2vj = 1rn(1mX);\\n\\2vj = 1mX * 2.0 - 1.0;\\n\\7c 3h = 1l7;\\n\\2Yh.z = 1mX * 3h.w;\\n\\7c 9I = 1k1 * 3h;\\n\\7c 1mW = 1Lx * 9I;\\n\\7c 4M = 1mW / 1mW.w;\\n\\2cW.1H = 4M.1H * 0.5 + 0.5;\\n\\9u(4M.x < 0.0 || 4M.x > 1.0 || 4M.y < 0.0 || 4M.y > 1.0)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 2vP\\n    1m 2YH = 3io * 9I;\\n\\7c 1P0 = 2YH / 2YH.w;\\n\\5gt.1H = 1P0.1H * 0.5 + 0.5;\\n\\9u(1P0.x < 0.0 || 1P0.x > 1.0 || 1P0.y < 0.0 || 1P0.y > 1.0)\\n\\t{\\n\\t\\17O;\\n    }\\n\\9u(!3Ks(1P0.xy))\\n    {\\n        7o;\\n    }\\n#1u\\n\\4s 4e = 1YO(1pc, 4M);\\n\\3JF = 4e * 0.5 + 0.5;\\n\\4s 1dW = abs(1cu(4M.z));\\n\\4s 1dV = abs(1ct(4M.z));\\n\\4s dF = 1V(1dW, 1dV) * 3.0;\\n\\4s 1l0 = 1.1Al-6 + dF;\\n\\9u(4e + 0.3JE < 4M.z)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 1Y(3in, 4M.xy);\\n\\14F = 9D(2C);\\n}";q.6Yk=5gs;q.6Yj=eE;q.6Yi=dE;q.4if=F;q.6Yh=Yp;q.6Yg=Oi;q.6Yf=Eg;q.6Ye=Rn;q.6Yd=IT;q.5gr=Pk;q.6Yc=Wg;q.6Yb=vi;q.5gq=Sk;q.6Ya=5gp;q.6Y9=Sn;q.6Y8=4ie;q.6Y7=ca;q.6Y6=Nu;q.6Y5=$f;q.5go=Uf;q.5gn=Ak;q.6Y4=bn;q.6Y3=Ew;q.6Y2=pn;q.2l4=rb;q.4id=Q;q.6Y1=IB;q.6Y0=Hi;q.6XZ=Gh;q.6XY=Pl;q.6XX=Lp;q.6XW=Nr;q.6XV=dg;q.6XU=ji;q.6XT=Ls;q.6XS="3Q 1m 1K;\\n\\1B 1m 1am;\\n\\1J 1o 14o;\\n\\2s 2k()\\n{\\n   1m 1fn = 1K;\\n   1v 1IM = 1am.zw - 1am.xy;\\n   1fn.xy = (1fn.xy - 1am.xy) / 1IM.xy * 2.0 - 1.0;\\n   6I = 1m(1fn.xy, 0.5, 1.0);\\n   14o = 1fn.z;\\n}";q.6XR="#1z 2vO\\1J 1o 14o;\\n#1u\\n#1z 1eW\\n   3G 1v 6r;\\n   2n 2v 18G;\\n#1u\\n\\2s 2k()\\n{\\n   2C = 1m(1.0);\\n#1z 2vO\\n   2C = 2sJ(14o);\\n#1u\\n#1z 1eW\\n   2C = 1Y(18G,6r);\\n#1u\\n}";q.6XQ="\\1B 1o 3im;\\1B 7P 1s3;\\1B 1m 1T4;\\1B 1m 25L;\\1B 1o 3ik;\\1B 1o 3ij;\\1B 1o 2Hf;\\1B 1o 3il;\\1B 1o 1T5;\\1B 1o 2l3;\\n\\1J 1w 1eQ;\\1J 1v 6r;\\1J 1m 2YE;\\1J 1w 2cY;\\4i 1o 1ia = 0.0;\\4i 1o PI = 3.3Ik;\\2u 3Ko(1v 1Xj)\\n{\\n\\4s 2dh  = 3im * PI;\\n\\10O n = 1v(3i(2dh),-2T(2dh));\\n\\10O t = 1v(2T(2dh),3i(2dh));\\n\\5gm 3Kr = 1bG(n,t);\\n\\11r 3Kr * 1Xj;\\n}\\1P 3Kk(1v 4M)\\n{\\n\\10O 1ql = 1v(1T5, 2l3);\\n\\10O 1uF = 1v(2Hf, 3il);\\n\\10O 1As = 1v(3ik, 3ij);\\n\\n    1o 1l2 = 8N(1ql.s * 4M.s - 1uF.s);\\n    1l2 = abs(1l2 - 2t(1l2 + 0.5));\\n\\n    1o 1ic = 8N(1ql.t * 4M.t - 1uF.t);\\n    1ic = abs(1ic - 2t(1ic + 0.5));\\n\\n    1o 1Q;\\n\\n    XR 1o 1uE = 1.2;\\n    1v 1mS = (1As * 1.0) - 1.0;\\n\\n    1v dx = abs(1cu(4M));\\n    1v dy = abs(1ct(4M));\\n    1v dF = 1v(1V(dx.s, dy.s), 1V(dx.t, dy.t)) * 1ql;\\n\\n\\9u(1T5 < 0.5)\\n\\t{\\n\\t\\2YG = 13f(dF.t * 1mS.t, dF.t * (1uE + 1mS.t), 1ic);\\n\\t}\\n\\1aC if(2l3 < 0.5)\\n\\t{\\n\\t\\2YG = 13f(dF.s * 1mS.s, dF.s * (1uE + 1mS.s), 1l2);\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\2YG = 2o(\\n\\t\\t\\3Kq(dF.s * 1mS.s, dF.s * (1uE + 1mS.s), 1l2),\\n\\t\\t\\3Kq(dF.t * 1mS.t, dF.t * (1uE + 1mS.t), 1ic));\\n\\t}\\n\\n\\9u(1Q < 0.5)\\n\\t{\\n\\t\\11r 1T4;\\n\\t}\\n\\11r 25L;\\n}\\1P 3Kn(1v 4M)\\n{\\n\\4s 12G = 1T5;\\n\\4s 2M = 2Hf;\\n\\n    1o 16Q = 3T(4M.s, 4M.t, 1ia);\\n    1o 1Q = 8N((16Q - 2M) * (12G * 0.5));\\n\\n    1m 1aj = 3T(1T4, 25L, 7F(0.5, 1Q)); \\n\\n    1f 1aj;\\n}\\1P 3Km(1v 4M)\\n{\\n\\4s 3Kp = 1T5;\\n\\n    1o b = 13f(0.3, 0.32, 1h(8N(3Kp * 4M.st) - 0.5));\\n    1m 1A = 3T(1T4, 25L, b);\\n    1f 1A;\\n}\\1P 3Kl(1v 4M)\\n{\\n\\10O 2YF = 1v(1T5, 2l3); \\n\\n    1o b = 13R(2t(2YF.s * 4M.s) + 2t(2YF.t * 4M.t), 2.0);\\n    1m 1aj = 3T(1T4, 25L, b);\\n    1f 1aj;\\n}\\n\\2s 2k()\\n{\\n    1w 2vN = 1w( 11b * 1ju( 1eQ ) );\\n    2vN = 1T( 2vN );\\n\\7c 1gW = 1Fa(2vN,2cY,1eQ);\\n\\n\\10O 2dg = 3Ko(6r);\\n\\n    1m 1A = 1T4;\\n    if(1s3 == 1)\\n    {\\n    \\2d0 = 3Kn(2dg);\\n    }\\n    1s if(1s3 == 2)\\n    {\\n    \\2d0 = 3Km(2dg);\\n    }\\n    1s if(1s3 == 3)\\n    {\\n    \\2d0 = 3Kl(2dg);\\n    }\\n    1s if(1s3 == 4)\\n    {\\n    \\2d0 = 3Kk(2dg);\\n    }\\n    2C = 1A * 1gW * 2YE;\\n    2C = 9D(2C);\\n}";q.6XP="\\2J 1m 4f;\\2J 1m 7s;\\2J 1m 11X;\\1J 1v 6r;\\1J 1m 2YE;\\1J 1w 1eQ;\\1J 1w 2cY;\\2s 2k()\\n{\\n    6r = 7s.xy;\\n    1eQ = 4f.1H;\\n\\7c 2cI = 1m(4f.1H, 1.0);\\n\\1tg = 11o * 2cI;\\n\\5gl = 1m(11X.2y, 1.0);\\n\\7c 4p = 9q * 2cI;\\n   2cY = -1T(4p.1H);\\n}";q.6XO="3Q 1m 1K;\\1B 1m 1am;\\1B 1m 2l2;\\1J 1o 14o;\\1J 1v 6r;\\n\\2s 2k()\\n{\\n   1m 1fn = 1K;\\n   1v 1IM = 1am.zw - 1am.xy;\\n   6r = (1fn.xy - 2l2.xy) / (2l2.zw - 2l2.xy);\\n   1fn.xy = (1fn.xy - 1am.xy) / 1IM.xy * 2.0 - 1.0;\\n   6I = 1m(1fn.xy, 0.5, 1.0);\\n   14o = 1fn.z;\\n}";q.6XN="3Q 1m 1K;\\n\\1B 1m 1am;\\n\\2s 2k()\\n{\\n   1m 1fn = 1K;\\n   1v 1IM = 1am.zw - 1am.xy;\\n   1fn.xy = (1fn.xy - 1am.xy) / 1IM.xy * 2.0 - 1.0;\\n   6I = 1m(1fn.xy, 0.0, 1.0);\\n}";q.6XM=sq;q.6XL=Qa;q.6XK=pa;q.6XJ=Go;q.6XI=ig;q.6XH=kh;q.6XG=Sv;q.4ic=Ke;q.6XF=wr;q.6XE=qb;q.5gk=$d;q.6XD=Jd;q.5gj=na;q.6XC=zS;q.6XB=Zp;q.6XA=zs;q.6Xz=yy;q.5gi=xs;q.1uN=qa;q.6Xy=jn;q.6Xx=KI;q.6Xw=dJ;q.6Xv=Vt;q.6Xu=KM;q.6Xt=JM;q.6Xs=Dk;q.6Xr=dT;q.6Xq=Ek;q.6Xp=en;q.5gh=Yw;q.6Xo=mn;q.2YD=qi;q.4ib="3Q 1m 4f;\\n#1z 1h6\\n    3Q 1w 13N;\\n#1u\\1B 1m 2vJ;\\2J 1m 7s;\\n#1z 14V\\2J 1m 11X;\\n#1u\\2J 1w 2Hd;\\2J 1w 2YB;\\2J 1m 1OZ;\\2J 1m 2l0;\\2J 1m 1De;\\2J 1m 1Z6;\\2J 1w 2YC;\\n#1z 2kZ\\2J 1m 2db;\\2J 1m 2dc;\\n#1u\\1B 5w 2de;\\1B 1o 1rr;\\1B 1v 2He;\\1B 1o 2df;\\1J 1m 8l;\\1J 1w 1id;\\1J 1w 1ym;\\1J 1v 6r;\\1J 1m 4m;\\1J 1m 1th;\\n\\1Sg 1Z7(1m q, 1m 14L)\\n{\\n    1o x2 = q.x * q.x;\\n    1o xy = q.x * q.y;\\n    1o xz = q.x * q.z;\\n    1o xw = q.x * q.w;\\n    1o y2 = q.y * q.y;\\n    1o yz = q.y * q.z;\\n    1o yw = q.y * q.w;\\n    1o z2 = q.z * q.z;\\n    1o zw = q.z * q.w;\\n    1o w2 = q.w * q.w;\\n    1o 1Zg = x2 - y2 - z2 + w2;\\n    1o 1Zd = 2.0 * (xy - zw);\\n    1o 1Za = 2.0 * (xz + yw);\\n    1o 1Zf = 2.0 * (xy + zw);\\n    1o 1Zc = -x2 + y2 - z2 + w2;\\n    1o 1Z9 = 2.0 * (yz - xw);\\n    1o 1Ze = 2.0 * (xz - yw);\\n    1o 1Zb = 2.0 * (yz + xw);\\n    1o 1Z8 = -x2 - y2 + z2 + w2;\\n    1f 5w(1Zg, 1Zf, 1Ze, 0.0, 1Zd, 1Zc, 1Zb, 0.0, 1Za, 1Z9, 1Z8, 0.0, 14L.x, 14L.y, 14L.z, 1.0);\\n}\\1r 2dd(1w 1jF, 1o 3L)\\n{\\n    if(1rr > 0.0)\\n    {\\n        1o 3s = 1h(1jF);\\n        1o 1Df = 1qb * 0.5;\\n        1o 2vM = 1V(2l1.x, 2l1.y) * 0.5;\\n        1o 2vL = 2vM / 10n(1Df);\\n        1f 2vL * 3L / 3s > 2df ? 1.0 : 0.0;\\n    }\\n    1f 1h(1jF) < 2He.x && 1h(1jF) > 2He.y ? 1.0 : 0.0;\\n}\\2s 2k()\\n{\\n   1m 6v = 1m(4f.1H, 1.0) - 1m(2YC.1H,0.0);\\n   1m 15C = 2de*6v;\\n   1m 1jF = 16e(2Hd,2YB);\\n   6r = 7s.xy;\\n   1o 2p = 2dd(1jF.1H, 2l0.w);\\n   5w 1yo = 1Z7(1OZ, 1m(0.0));\\n   5w 18r;\\n   18r[0] = 1m(1yo[0].1H,0.0);\\n   18r[1] = 1m(1yo[1].1H,0.0);\\n   18r[2] = 1m(1yo[2].1H,0.0);\\n   18r[3] = 1m(1jF.x,1jF.y,1jF.z,1.0);\\n   5w 1n0;\\n   1w 3b = 2l0.1H;\\n   1n0[0] = 1m(3b.x,0,0,0.0);\\n   1n0[1] = 1m(0,3b.y,0,0.0);\\n   1n0[2] = 1m(0,0,3b.z,0.0);\\n   1n0[3] = 1m(0,0,0,1.0);\\n   5w 4a = 18r;\\n#1z 2kZ\\n   5w 2vK = 1Z7(2dc, 2db);\\n   4a *= 2vK;\\n#1u\\n   4a *= 1n0;\\n   14j 1h3 = 14j(4a);\\n   15C = 4a * 1m(15C.1H, 1.0);\\n   15C.w = 1.0;\\n   6I = 2p * 1kV * 15C;\\n   8l.1H = 15C.1H;\\n   8l.w = 0.0;\\n   1m 7x = 1m(1.0);\\n#1z 14V\\n   7x = 11X;\\n#1u\\n   4m = 7x * 1De;\\n   1th = 1Z6 / 255.0;\\n#1z 1h6\\n    if(1h(13N) > 0.8)\\n    {\\n        1w 2U = 1h3 * 13N;\\n        1ym = 1T(11b * 13N);\\n        8l.w = 1.0;\\n        1id = (9q * 8l).1H;\\n#1bI 2cZ\\n        4m = 4m * 1Fa(1ym, -1id, 8l.1H);\\n#1u\\n    }\\n#1u\\n#1z 1e0\\n    6I = 1wa(1kV*15C);\\n    4m = 4m * 2vJ;\\n#1u\\n}";q.6Xn=Zd;q.6Xm=kT;q.6Xl=Zj;q.6Xk=$y;q.5gg="#1z 5J\\n#6A 5J : 5F\\n#1u\\1B 2v 2ca;\\1B 2v 2Hc;\\1B 1w 2kY;\\1J 1v 2F;\\n\\2u 1ya(1o 1gS, 1v 1fT)\\n{\\1r 1rj = 1Y(2Hc, 2F + 1fT).r;\\1U (1rj == 1.0) {\\2j 1v(0.0);\\n}\\1P 5Z = 1az(2F + 1fT, 1rj);\\2j 1v(1V(0.0, 1gS - 1iK(-5Z.z / 5Z.w)), 1.0);\\n}\\2s 2k()\\n{\\1r 1rj = 1Y(2Hc, 2F).r;\\1P 5Z = 1az(4u.xy, 1rj);\\2aX /= 5Z.w;\\1r 1gS = 1iK(-5Z.z);\\1U (1rj == 1.0)\\n{\\10W;\\n}\\1P 1A = 1Y(2ca, 2F);\\n#1z 4ia\\1r 2Yz = 2kY.x;\\1r 2YA = 2kY.y;\\2u 1Yc = 1v(0.0);\\1Ib += 1ya(1gS, 1v(0, 2YA));\\1Ib += 1ya(1gS, 1v(2Yz, 0));\\1Ib += 1ya(1gS, 1v(0, -2YA));\\1Ib += 1ya(1gS, 1v(-2Yz, 0));\\1r 1pa = 1Yc.x / 1Yc.y;\\1r 1SN = 108(-1pa * 300.0 * 2kY.z);\\6p.2y *= 1SN;\\n#1u\\3R = 1m(1A);\\3R.a = 1.0;\\n#1z 10B\\1ri(1.0 + (17B * 1m(5Z.1H, 1.0)).w);\\n#1s\\1F2 = 18a(1m(5Z.1H, 1.0)).z;\\n#1u\\n}\\n";q.6Xj="#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 1l9\\n    3G 1o 1bh;\\n#1u\\1J 1m 4m;\\1J 1m 8l;\\1J 1m 1yi;\\1J 1o 1mQ;\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\2s 2k()\\n{\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n\\9u(4m.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n    2C = 4m;\\n#1z 25I\\n\\14F.2y = 2bm(2C.2y);\\n#1u\\n    1o 1tc = 1h(1Ss - 1v(0.5));\\n    1o 1td = 1V(0.0, 0.5 - 1mQ);\\n    1o 1CL = 1.0 - 13f(1td, 0.5, 1tc);\\n    2C.a *= 1CL;\\n\\9u(2C.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n    2C = 9D(2C);\\n}";q.6Xi="3Q 1m 4f;\\n#1z 1h6\\n    3Q 1w 13N;\\n#1u\\n#1z 1mY\\n    3Q 1m 7s;\\n#1u\\n#1z 14V\\2J 1m 11X;\\n#1u\\1B 5w 1lW;\\1B 1o 25u;\\1J 1o 1mQ;\\1J 1m 1yi;\\n#1z 1mZ\\n#1z 1mY\\n    3Q 1m 2Yj;\\n    2n 1o 1Lz;\\n    2n 1v 1LA;\\n#1u\\n#1u\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\n#1z 1SZ\\n    2n 1o 2kT;\\n#1u\\n#1z 1l9\\n    2n 1o 2kU;\\n    3G 1o 1bh;\\n#1u\\n#1z 1kh\\n    2n 2v 1kS;\\n    2n 1o 1jr;\\n    2n 1o 16R;\\n    2n 1o 1dw;\\n    2n 1o 1kT;\\n    2n 1o 1fO;\\n    2n 1o 1jq;\\n    2n 1m 1Sm;\\n#1u\\n#1z 1cB\\n    3G 1m 1rw;\\n#1u\\n    2n 1o 1Az;\\n    2n 1m 1iX;\\n    3G 1m 4m;\\n    3G 1m 8l;\\n#1z 1Z3\\n    2n 2v 2kO;\\n    2n 1o 3i7;\\n    2n 1o 2kP;\\n    2n 1o 1SX;\\n#1u\\1r 2vA(1m 6v){\\n    1o 1IE = 6v.w;\\n#1z 2H6\\n    1IE = 7s.x;\\n#1u\\n#1z 1l9\\n    if(2kU > 0.1)\\n    {\\n        1bh = 1IE + 1Az;\\n    }\\n    1s\\n    {\\n        1bh = 6v.z + 1Az;\\n    }\\n#1u\\n    1f 1IE;\\n}\\n#1z 1kh\\1P 1fj(1o 14M)\\n{\\n    1o 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\n    1o 1i5 = (14M - 1dw) / 19U;\\n    1o 1eP = 2Y(1i5, 0.0, 1.0);\\n    1o 7Z = 2t(1eP * 16.0);\\n    1o y = (7Z*2.0 + 1.0)/32.0;\\n    1o x = 8N(1eP*16.0);\\n    if(y > 1.0)\\n    {\\n        x = 1.0;\\n    }\\n    1v 1kR = 1v(x, y);\\n    1f 1Y(1kS, 1kR).15A;\\n}\\1P 2vu(1m 1cv, 1o 14M)\\n{\\n    1m 1aA = 1m(0.0);\\n    1o 17Z = 1jr;\\n    if(14M > 1fO || 14M < 1jq)\\n    {\\n        1f 1Sm * 1cv;\\n    }\\n    1aA = 1fj(14M);\\n    17Z *= 12q(16R);\\n    1m 1gW = 3T(1m(1.0,1.0,1.0,1.0), 1aA, 17Z);\\n    1f 1gW;\\n}\\n#1u\\n\\1R 1aY;\\2s 2k()\\n{\\n#1z 1o6\\n    1m 6v = 1m(1.0);\\n    6v = 1tj + 4f * 1ti;\\n#1s\\n    1m 6v = 4f;\\n#1u\\n#1z 1h6\\n    1aY = 13N;\\n    #1z 1SZ\\n        1aY = 1gT(13N.xy, 2kT).1ca;\\n    #1u\\n#1u\\n    1o 2vw = 2vA(6v);\\n    6v.w = 1.0;\\n#1z 1cB\\n    1rw = 1lW * 6v;\\n#1u\\1P 7x = 1m(1.0);\\n#1z 14V\\n    #1z 2vz\\n        7x = 11X / 255.0;\\n    #1s\\n        7x = 11X;\\n    #1u\\n#1u\\n    4m = 7x*1iX;\\n    8l.1H = 6v.1H;\\n    8l.w = 0.0;\\n    6I = 11o * 6v;\\n#1z 1kh\\n    4m = 2vu(4m, 1bh);\\n#1u\\n#1z 1Z3\\n    1v 2vv = 1v(abs(2vw - 2kP) / 1SX + 0.5 /1SX , 0.5);\\n    1o 1jE = 1Y(2kO, 2vv).a;\\n    4m.a = 1.0 - 1jE;\\n#1u\\n    1mQ = 2.0 / 25u;\\n    1IA = 25u;\\n    1yi = 9q * 6v;\\n}";q.6Xh=bD;q.5gf=pJ;q.6Xg=Oe;q.6Xf=QC;q.6Xe=RC;q.6Xd=sd;q.6Xc=dn;q.6Xb=Uv;q.6Xa="3Q 1w 4f;\\n\\2J 1w 13N;\\n\\2J 1m 7s;\\n\\2J 1m 13x;\\n\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1J 1m 4m;\\1J 1m 11w;\\1J 1m 6r;\\1J 1m 14u;\\1B 1m 15h;\\1B 1o 1AA;\\1B 1m 15a;\\n\\1r 1CN()\\n{\\n\\7c 9I = 9q * 1m(4f, 1.0);\\n\\7c 1o1 = 17B * 9I;\\n\\4s 1CP = 1dv(9I);\\n\\3ii.x = 1o1.x - 2.0 * 1CP;\\n\\7c 1CO = 1k1 * 1o1;\\n\\11r 1h(9I - 1CO);\\n}\\n\\1P 1Fr(1w 1CM)\\n{\\n\\7c 9I = 9q * 1m(4f, 1.0);\\n\\2Yy.1H = 9I.1H + 1CM * 1CN();\\n\\2Yy.1H = 9I.1H * 0.9;\\n\\3ih = 9I;\\n\\7c 3h = 17B * 9I;\\n\\11r 3h;\\n}\\n\\2s 2k()\\n{\\n   6r.xy = 7s.xy;\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n   4m = 7x * 15a;\\n#1z 2Yx\\n   6I = 1Fr(13x.1H);\\n#1s\\n   6r.zw = 13x.xy;\\n   6I = 1Fr(13N);\\n#1u\\n}";q.6X9="3Q 1w 4f;\\n\\2J 1w 13N;\\n\\2J 1m 7s;\\n\\2J 1m 13x;\\n\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1J 1m 4m;\\1J 1o 3Kj;\\1J 1m 11w;\\1J 1m 5gd;\\1J 1v 6r;\\1J 1v 5ge;\\1J 1m 14u;\\n\\1B 1o 1AA;\\1B 1m 15a;\\1B 1m 1Aj;\\n\\2s 2k()\\n{\\n   6r = 7s.xy;\\n   5ge = 13x.xy;\\n\\7c 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n   4m = 7x * 15a;\\n   3Kj = 7x.a;\\n   1m 9I = 9q * 1m(4f, 1.0);\\n   9I.1H = 9I.1H + 13N;\\n   14u = 9I;\\n   6I = 17B * 9I;\\n   5gd = 1Aj;\\n}";q.6X8="2n 2v 18G;\\1J 1m 4m;\\1J 1m 6r;\\1J 1m 14u;\\1J 1m 11w;\\n#1z 1bn\\n    2n 1o 12d;\\n    2n 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n\\2s 2k()\\n{\\n\\9u(4m.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 4m * 1Y(18G, 6r.xy);\\n\\9u(2C.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n\\14F *= 1nT(14u, 1.0);\\n#1u\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n    2C = 9D(2C);\\n}";q.6X7="3Q 1w 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hH;\\n\\1B 1o 1AA;\\1B 5w 1Z4;\\1B 1m 1FD;\\1B 1m 15a;\\1B 1m 15h;\\n#1z 1pf\\1J 1o 1ah;\\n#1u\\n\\2s 2k()\\n{\\n   1w 6v = 4f;\\n   6v.1H = 6v.1H + 13x.1H;\\n   1m 18s = 11o * 1m(6v, 1.0);\\n   if(1AA > 0.0)\\n   {\\n#1z 5gc\\n\\t\\7c 3Ki = 1Z4 * 1Cp * 1m(4f, 1.0);\\n\\t\\7c 3Kh = 1Z4 * 1Cp * 1m(6v, 1.0);\\n\\t\\9u(1FD.z < 3Ki.z || 1FD.z > 3Kh.z)\\n\\t\\t{\\n\\t\\t\\2vI.a = 0.0;\\n\\t\\t}\\n#1s\\n\\t\\2vG.1H = 4f.1H + 1T(13x.1H) * (1FD.z + 10.0);\\n\\t\\7c 18s = 11o * 1m(6v, 1.0);\\n#1u\\n   }\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n#1z 1pf\\n   4m = 15h;\\n   1ah = 7s.x;\\n#1s\\n   4m = 7x * 15a;\\n#1u\\n   1hH = (0.5 * (18s.z / 18s.w) + 0.5) * 18s.w;\\n   18s.z = 2o(18s.z, 18s.w);\\n   6I = 18s;\\n}";q.6X6="2n 2v 18G;\\1B 2v 25K;\\1B 1m 1Aj;\\n\\1J 1m 4m;\\1J 1m 6r;\\1J 1m 14u;\\1J 1m 11w;\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\2s 2k()\\n{\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n\\9u(4m.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\7c 16T = 1m(4m.2y, 2o(1Y(18G, 6r.xy).a, 4m.a));\\n\\7c 2vH = 1m(1Aj.2y, 2o(1Y(25K, 6r.zw).a, 1Aj.a));\\n\\9u(16T.a + 2vH.a < 0.2)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\1qn 3Kg = 3T(2vH.2y, 16T.2y, 16T.a + 0.2);\\n\\14F = 1m(3Kg.2y, 2o(1.0, 16T.a + 2vH.a));\\n\\9u(2C.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n\\14F *= 1nT(14u, 1.0);\\n\\14F = 9D(2C);\\n#1u\\n}";q.6X5="#1z 2jp\\n#6A 2jp : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 25J\\n    2n 1m 1T3;\\n    2n 1o 1IL;\\n#1u\\n#1z 1mY\\n    2n 2v 18G;\\n    3G 1m 6r;\\n    3G 1v 1qp;\\n#1u\\n#1z 25y\\n    2n 1o 25x;\\n    3G 1m 1h7;\\n    3G 1v 1Ay;\\n#1u\\n#1z 1l9\\n    3G 1o 1bh;\\n#1u\\n#1z 1II\\n    2n 1o 2vE;\\n    2n 1o 2vD;\\n    2n 2v 25F;\\n    2n 1v 1T2;\\n    2n 1v 2Hb;\\n#1u\\n#1z 2da\\n    2n 2v 25K;\\n    2n 1o 25w;\\n    3G 1m 1o8;\\n#1u\\n#1z 1eW\\n    2n 2v 25H;\\n    3G 1v 1OV;\\n    3G 1o 1IC;\\n#1u\\n#1z 1pe\\n    3G 1m 1eQ;\\n    3G 1w 1wu;\\n    3G 1o 2kQ;\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\n#1z 1bn\\n    2n 1o 12d;\\n    2n 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n#1z 1o5\\n    3G 1o 1ah;\\n#1u\\n#1z 1l8\\n    2n 1m 15h;\\n    2n 7P 25G;\\n    3G 1o 1wv;\\n#1u\\n#1z 1yn\\n    2n 1m 1uM;\\n    2n 1o 1h8;\\n#1u\\n    2n 1m 1tk;\\n#1z 1OY\\n    2n 1o 25D;\\n#1u\\n    2n 1v 1IK;\\n    2n 1v 1wx;\\n    3G 1m 1k3;\\n    3G 1m 4m;\\n    3G 1m 8l;\\n    3G 1m 11w;\\n#1z 1o7\\n    3G 1w 1ID;\\n#1u\\1B 1o 3Kf;\\1B 1m 1iX;\\n#1z 1IB\\1J 1m 1gq;\\1J 1m 1gp;\\1B 2v 1IJ[4];\\n#1u\\n#1bI 2kW\\n    1m 1IG(9H 1v 1w7)\\n    {\\n        if(1h7.z < 0.0)\\n        {\\n            1f 1m(1.0);\\n        }\\n        1o 2Yw = 1h7.z * 25x;\\n        1w 18U = 1w(6r.xy, 1qp.x);\\n        1m 2kX = 2jr(18G, 18U, 2Yw, 1h7.w, 1h7.z, 1h7.xy, 1Ay.x, 1w7);\\n#1z 2da\\n        1o 2Yv = 1o8.z * 25w;\\n        18U = 1w(6r.zw, 1qp.y);\\n        1m 1s2 = 2jr(25K, 18U, 2Yv, 1o8.w, 1o8.z, 1o8.xy, 1Ay.y, 1w7);\\n        1s2.r = 2Y(1s2.r * 1.275, 0.0, 1.0);\\n        1s2.g = 2Y(1s2.g * 1.275, 0.0, 1.0);\\n        1s2.b = 2Y(1s2.b * 1.275, 0.0, 1.0);\\n        1f 2kX * 1s2;\\n#1s\\n        1f 2kX;\\n#1u\\n    }\\n#1u\\2s 2k()\\n{\\n#1z 1pe\\n#1z 1l8\\n    if(1wv < 0.9)\\n    {\\n         7o;\\n    }\\n#1u\\n    1w 2U = 1T(1wu);\\n    1o 2d9 = 1h(1wu);\\n    if(2d9 <= 0.9)\\n    {\\n        2U = 1w(11b*1ju(1eQ.1H));\\n    }\\n    2U = (2U + 1.0) * 0.5;\\n    2C = 1m(2U, 1.0);\\n#1z 5J\\n    1bp = 4u.z;\\n#1u\\n#1z 1dt\\n    1bp = 4u.z;\\n#1u\\n    1f;\\n#1u\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n\\9u(4m.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n    1v 18U = 1v(0.0);\\n#1z 2kW\\n    1m 16T = 1m(0.5,0.5,0.5,1.0);\\n#1s\\n    1m 16T = 1IG(18U);\\n#1u\\n    2C = 16T;\\n#1z 25I\\n    2C.2y = 2bm(2C.2y);\\n#1u\\3R = 2C * 4m;\\n#1z 25J\\n    if(1IL > 0.11t)\\n    {\\n        1o 2cz = abs(1T3.r - 2C.r);\\n        1o 2cy = abs(1T3.g - 2C.g);\\n        1o 2cx = abs(1T3.b - 2C.b);\\n        if(2cz < 1IL && 2cy < 1IL && 2cx < 1IL)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 25z\\n    2C = 4m;\\n#1u\\n#1z 1o5\\n    if(1ah > 0.9)\\n    {\\n         2C = 4m;\\n    }\\n#1u\\n#1z 1kh\\n    #1z 1Xl\\n        1m 1rv = 1Y(1KU, 1v(6r.x, 1.0 - 6r.y));\\n        2C = 1KV(2C, 1rv);\\n    #1s\\n        2C = 1KV(2C, 1bh);\\n    #1u\\n    2C *= 1iX;\\n#1u\\n#1z 1wc\\n#1z 1Ly\\n    1XU(2C, 18U);\\n#1s\\n#1z 1o7\\n    2C *= 2tc(1ID, 8l.1H, 8l.w);\\n#1s\\n    2C *= 1O8(8l.1H, 8l.w);\\n#1u\\n#1u\\n#1u\\n#1z 1eW\\n    if(1IC > 0.5)\\n    {\\n        1m 1qq = 1Y(25H, 1OV.xy);\\n        if(!(1qq.r > 0.999 && 1qq.g > 0.999 && 1qq.b > 0.999))\\n        {\\n            2C = 3T(2C, 1qq, 0.5);\\n        }\\n    }\\n#1u\\n#1z 2vF\\n    2C = 2t3(2C, 1bh);\\n#1u \\n\\9u(2C.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n#1z 2d8\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1k3.x);\\n#1s\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n#1u\\n#1z 1l8\\n    if(25G == 2)\\n    {\\n        if(1wv > 0.9)\\n        {\\n            2C = 1Cd(2C, 15h, 3.0);\\n        }\\n    }\\n    1s\\n    {\\n        2C = 1Cd(2C, 15h, 3.0);\\n    }\\n#1u\\n#1z 1yn\\n    2C = 1Cd(2C, 1uM, 1h8);\\n    if(2C.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1u\\n#1z 1II\\n    // 3ig 3if 1a 3ie is on 1Z 5C 18X by 2U in 12W 1ww\\n    1w 1jA = 1T(1ju(8l.1H));\\n    1o 2d7 = 1.0 - 7F(0.95, 1jA.z);\\n    1v 2kV = 18U + 1T2;\\n    2kV *= 2Hb;\\n    1w 1LB = 1Y(25F, 2kV).2y;\\n    2C.2y += 1tk.2y * 1LB * 1LB * 2d7;\\n#1s\\n    2C.2y *= 1tk.2y;\\n#1u\\n#1z 2Ha\\n    2C.2y = 1tk.2y * 16T.2y;\\n#1u\\n#1z 1OY\\n    1o 1la = 12q(25D - 8l.z);\\n    1la = 2Y(1la, 0.0, 1.0);\\n    1la = 2o(1la, 1k3.y);\\n    2C = 3T(1m(0.0, 0.0, 0.0, 1.0), 2C, 1la);\\n#1u\\n#1z 10B\\n    if(1IK.x != 0.0 || 1IK.y != 0.0){\\n        1o 1w6 = 1.0 / 4u.w + 1.0;\\n        1o DZ = 1V(1cu(1w6), 1ct(1w6));\\n        1w6 += DZ * 1IK.x + 0.1KX * 1IK.y;\\n        1nO(1w6);\\n    }\\n    1s{\\n        1nO(1Sb);\\n    }\\n#1u\\n    2C = 9D(2C);\\n#1z 1IB\\1P 1wy;\\1U (1gq.x > 0.0 && 1gq.x < 1.0 && 1gq.y > 0.0 && 1gq.y < 1.0)\\n{\\n    1wy = 1Y(1IJ[0], 1gq.xy);\\n}\\5L if (1gq.z > 0.0 && 1gq.z < 1.0 && 1gq.w > 0.0 && 1gq.w < 1.0)\\n{\\n    1wy = 1Y(1IJ[1], 1gq.zw);\\n}\\5L if (1gp.x > 0.0 && 1gp.x < 1.0 && 1gp.y > 0.0 && 1gp.y < 1.0)\\n{\\n    1wy = 1Y(1IJ[2], 1gp.xy);\\n}\\5L if (1gp.z > 0.0 && 1gp.z < 1.0 && 1gp.w > 0.0 && 1gp.w < 1.0)\\n{\\n    1wy = 1Y(1IJ[3], 1gp.zw);\\n}\\1U(1wy.a > 0.9)\\n{\\n    2C = 1wy;\\n}\\n#1u\\n}";q.6X4="#1z 1mY\\n    2n 2v 18G;\\n    3G 1m 6r;\\n#1u\\n    2n 1m 1tk;\\n    3G 1m 4m;\\n    3G 1m 11w;\\n#1z 1o5\\n    3G 1o 1ah;\\n#1u\\2s 2k()\\n{\\n\\9u(4m.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1mY\\n    1m 16T = 1Y(18G, 6r.xy);\\n    2C = 16T * 4m;\\n#1s\\n    2C = 4m;\\n#1u\\n#1z 1o5\\n    if(1ah > 0.9)\\n    {\\n        2C = 4m;\\n    }\\n#1u\\n\\9u(2C.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n    2C.2y *= 1tk.2y;\\n}";q.6X3=hT;q.6X2=Wa;q.6X1="3Q 1m 4f;\\n\\2J 1m 7s;\\n\\2J 1m 13x;\\n\\2J 1m 1Dd;\\n\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1B 1o 1h8;\\1B 1o 1AA;\\1B 1m 1FD;\\1B 5w 1Z4;\\1B 1m 15a;\\1B 1m 15h;\\n#1z 1pf\\1J 1o 1ah;\\n#1u\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hH;\\n\\4i 1o 2Yt = 1.0 / (2.0 * 4i9.4i8);\\n\\1r 2Ys()\\n{\\n\\7c 2Yu = 1Cp * 4f;\\n\\11r 1h8 * 1h(1al - 2Yu.1H) * 2Yt;\\n}\\n\\2s 2k()\\n{\\n   1o 1Z5 = 2Ys();\\n   1m 6v = 4f;\\n   1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n   if(1AA > 0.0)\\n   {\\n\\t\\4i7 = 1Z5 * 3.0;\\n\\t\\2vG.1H = 6v.1H + 1Dd.1H * 1Z5 + 1T(13x.1H) * 1FD.z;\\n   }\\n   1s\\n   {\\n\\t\\2vG.1H = 6v.1H + 1Dd.1H * 1Z5 + 13x.1H;\\n   }\\n   1m 18s = 11o * 6v;\\n   4m = 7x * 15a;\\n#1z 1pf\\n   4m = 15h;\\n   1ah = 7s.x;\\n#1u\\n   1hH = (0.5 * (18s.z / 18s.w) + 0.5) * 18s.w;\\n   18s.z = 2o(18s.z, 18s.w);\\n   6I = 18s;\\n}";q.6X0="#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 1l9\\n    3G 1o 1bh;\\n#1u\\n#1z 1mY\\n    3G 1m 6r;\\n#1u\\n#1z 1II\\n    2n 1o 2vE;\\n    2n 1o 2vD;\\n    2n 2v 25F;\\n    2n 1v 1T2;\\n#1u\\1J 1m 4m;\\1J 1m 8l;\\1J 1m 11w;\\n#1z 1o7\\n    3G 1w 1ID;\\n#1u\\n#1z 1eW\\n    2n 2v 25H;\\n    3G 1v 1OV;\\n    3G 1o 1IC;\\n#1u\\n#1z 1pe\\n    3G 1m 1eQ;\\n    3G 1w 1wu;\\n    3G 1o 2kQ;\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\1J 1m 1k3;\\n#1z 1l8\\1B 1m 15h;\\1B 7P 25G;\\1J 1o 1wv;\\n#1u\\n#1z 1yn\\n    2n 1m 1uM;\\n    2n 1o 1h8;\\n#1u\\n    2n 1m 1tk;\\n#1z 1OY\\n    2n 1o 25D;\\n#1u\\n    2n 1v 1wx;\\n    2n 1m 1iX;\\2s 2k()\\n{\\n#1z 1pe\\n#1z 1l8\\n    if(1wv < 0.9)\\n    {\\n         7o;\\n    }\\n#1u\\n    1w 2U = 1T(1wu);\\n    1o 2d9 = 1h(1wu);\\n    if(2d9 <= 0.5)\\n    {\\n        2U = 1w(11b*1ju(1eQ.1H));\\n    }\\n    2U = 1w(11b*1ju(1eQ.1H));\\n    2U = (2U + 1.0) * 0.5;\\n    2C = 1m(2U, 1.0);\\n#1z 5J\\n    1bp = 4u.z;\\n#1u\\n#1z 1dt\\n    1bp = 4u.z;\\n#1u\\n#1u\\n    1f;\\n#1u\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm\\n    1uC(4u.xy, 1fm);\\n#1u\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n\\9u(4m.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n    2C = 4m;\\n#1z 25I\\n\\14F.2y = 2bm(2C.2y);\\n#1u\\n#1z 1kh\\n    #1z 1Xl\\n        1m 1rv = 1Y(1KU, 1v(6r.x, 1.0 - 6r.y));\\n        2C = 1KV(2C, 1rv);\\n    #1s\\n        2C = 1KV(2C, 1bh);\\n    #1u\\n    2C *= 1iX;\\n#1u\\n#1z 1wc\\n#1z 1Ly\\n    1XU(2C, 1v(0.0));\\n#1s\\n#1z 1o7\\n    2C *= 2tc(1ID, 8l.1H, 8l.w);\\n#1s\\n    2C *= 1O8(8l.1H, 8l.w);\\n#1u\\n#1u\\n#1u\\n#1z 1eW\\n    if(1IC > 0.5)\\n    {\\n        1m 1qq = 1Y(25H, 1OV.xy);\\n        if(!(1qq.r > 0.999 && 1qq.g > 0.999 && 1qq.b > 0.999))\\n        {\\n            2C = 3T(2C, 1qq, 0.5);\\n        }\\n    }\\n#1u\\n#1z 2vF\\n    2C = 2t3(2C, 1bh);\\n#1u\\n\\9u(2C.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n#1z 2d8\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1k3.x);\\n#1s\\n    2C *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n#1u\\n#1z 1l8\\n    if(25G == 2)\\n    {\\n        if(1wv > 0.9)\\n        {\\n            2C = 1Cd(2C, 15h, 3.0);\\n        }\\n    }\\n    1s\\n    {\\n        2C = 1Cd(2C, 15h, 3.0);\\n    }\\n#1u\\n#1z 1yn\\n\\14F = 1Cd(2C, 1uM, 1h8);\\n\\9u(2C.a < 1wx.x)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1u\\n#1z 1II\\n    // 3ig 3if 1a 3ie is on 1Z 5C 18X by 2U in 12W 1ww\\n    1w 1jA = 1T(1ju(8l.1H));\\n    1o 2d7 = 1.0 - 7F(0.95, 1jA.z);\\n    1o 3Ke = 1bh / (2vE - 2vD) + 11w.r * 10.0 + 1T2.y;\\n    1w 1LB = 1Y(25F, 1v(11w.r + 1T2.x, 3Ke)).2y;\\n    2C.2y += 1tk.2y * 1LB * 1LB * 2d7;\\n#1s\\n    2C.2y *= 1tk.2y;\\n#1u\\n#1z 1OY\\n    1o 1la = 12q(25D - 8l.z);\\n    1la = 2Y(1la, 0.0, 1.0);\\n    1la = 2o(1la, 1k3.y);\\n    2C = 3T(1m(0.0, 0.0, 0.0, 1.0), 2C, 1la);\\n#1u\\n    2C = 9D(2C);\\n}";q.5gb="2n 1o 1uJ; \\1B 1m 3id; \\1J 1m 11w; \\1J 1m 2d1; \\1J 1m 4m;\\166 3Kd(1m 7v, 1m 1wl)\\n{ \\n    1f (7v.x - 1wl.x > 0.1t2 && 7v.x - 1wl.z < -0.1t2\\n        && 7v.y - 1wl.y > 0.1t2 && 7v.y - 1wl.w < -0.1t2); \\n} \\2s 2k() \\n{\\n    1m 1bO = 2d1 / 2d1.w; \\n    1bO.xy = 1bO.xy * 0.5 + 0.5; \\n    if(!3Kd(1bO, 3id)) \\n    { \\n        7o; \\n    } \\n\\9u(4m.a < 1uJ)\\n\\t{\\n\\t\\17O;\\n\\t}\\n    2C = 11w; \\n}";q.6WZ="3Q 1m 4f;\\2J 1w 13N;\\2J 1m 7s;\\2J 1m 13x;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\n\\1J 1m 4m;\\1J 1m 11w;\\1J 1o 1hH;\\n\\1B 1v 2H8;\\1B 1w 3ic;\\1B 1w 3ib;\\1B 1w 3ia;\\1J 1m 1uw;\\1J 1m 1uv;\\1J 1v 1kY;\\1B 1m 15h;\\n#1z 1pf\\1J 1o 1ah;\\n#1u\\n\\1B 1o 1AA;\\1B 1o 2H9;\\1B 5w 1Z4;\\1B 1m 1FD;\\1B 1m 15a;\\n\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\n#1z 1mZ\\n    2n 1o 1Lz;\\n    2n 1o 1T0;\\n    2n 1m 1LA;\\n    2n 1m 1T1;\\n#1u\\n\\2s 3Kc()\\n{\\n    1w 1gY = (9q * 1m(3ic, 1.0)).1H;\\n    1w 1XL = 11b * 3ib + 1gY;\\n    1w 1XM = 11b * 3ia + 1gY;\\n    1w 1CB = 1XM - 1gY;\\n    1o 1XK = 1h(1CB);\\n    1CB /= 1XK;\\n    1w 1CA = 1XL - 1gY;\\n    1o 1XJ = 1h(1CA);\\n    1CA /= 1XJ;\\n    1uw = 1m(1CB, -2A(1CB, 1gY));\\n    1uv = 1m(1CA, -2A(1CA, 1gY));\\n    1kY = 1v(1.0 / 1XK, 1.0 / 1XJ);\\n}\\2s 2k()\\n{\\n#1z 1rZ\\n    3Kc();\\n#1u\\n    1m 1aD = 1m(1.0);\\n    1m 2d5 = 4f;\\n#1z 1o6\\n    1aD = 1tj + 4f * 1ti;\\n    2d5 = 1aD;\\n#1u\\n   1w 6v = 2d5.1H;\\n   1w 2Yr = 13x.1H;\\n   7d 2Yq = 16f;\\n   if(1h(2d5) > 0.1){\\n       2Yq = 8O;\\n   }\\n   1o 2d6 = 2A(2Yr, 1w(0.0, 0.0, 1.0)) > 0.0 ? 1.0 : -1.0;\\n   1w 3K8 = 2Yr * 2d6;\\n   1o 1IH = 0.0;\\n   if(1AA > 0.0){\\n       // \\3Kb\\3i8\\5ga\\5g9\\5g8\\3Ka\\3K9\\5g7\\3i9\\5g6\\5g5\\4i6\\3i9\\5g4\\5g3\\5g2\\3Kb\\3i8\\3Ka\\3K9\\5g1\\5g0\\5fZ\\4i5\\5fY\\5fX\\4i4\\5fW\\n       if(2Yq){\\n           1IH = 15B(2d6 < 0.0, -50.0, 100.0);\\n       }\\n       1s{\\n           1IH = 15B(2d6 < 0.0, 2H9 - 2.0, 2H9 + 10.0);\\n       }\\n   }\\n   1s{\\n       1IH = 15B(2d6 < 0.0, 2H8.x, 2H8.y);\\n   }\\n   6v.1H = 2d5.1H + 3K8 * 1IH;\\n   1m 18s = 11o * 1m(6v, 1.0);\\n   1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n#1z 1pf\\n   4m = 15h;\\n   1ah = 7s.x;\\n#1s\\n   4m = 7x * 15a;\\n#1u\\n   1hH = (0.5 * (18s.z / 18s.w) + 0.5) * 18s.w;\\n   18s.z = 2o(18s.z, 18s.w);\\n   6I = 18s;\\n}";q.5fV="#1z 5J\\n#6A 5J : 5F\\n#1u\\1B 1o 4i3;\\1B 1o 1uJ;\\n\\1J 1m 4m;\\1J 1m 11w;\\1J 1m 8l;\\n#1z 2H7\\1J 1o 1hH;\\n#1u\\n\\2s 2k()\\n{\\n#1z 5J\\n    #1z 2H7\\n\\t    1bp = 2o(1hH * 4u.w, 1.0);\\n    #1u\\n#1u\\n#1z 1dt\\n    #1z 2H7\\n\\t    1bp = 2o(1hH * 4u.w, 1.0);\\n    #1u\\n#1u\\n\\9u(4m.a < 1uJ)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 1es\\n\\14F *= 1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n    2C = 11w;\\n}";q.6WY="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1J 1m 4m;\\1J 1o 1hH;\\1J 1o 1ah;\\1J 1m 11w;\\n\\n#1z 1rZ\\1B 2v 18G;\\1B 1v 25C;\\1B 1v 25B;\\1J 1m 1uw;\\1J 1m 1uv;\\1J 1v 1kY;\\n#1u\\n\\n#1z 1bn\\1B 1o 12d;\\1B 1o 12c;\\n#1u\\n#1z 1bm\\n    2n 1m 1fm;\\n#1u\\n#1z 1rZ\\1P 1IG()\\n{\\n    1o 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\n    1m 5Z = 1az(4u.xy, 17n);\\n    1m 1rG = 1Sy * 5Z;\\n    1w 1Om = 1rG.1H / 1rG.w;\\n    1v uv;\\n    uv.x = 17c(1uw, 5Z.1H / 5Z.w) * 1kY.x;\\n    uv.y = 17c(1uv, 5Z.1H / 5Z.w) * 1kY.y;\\n    1v st;\\n    st.x = 1Ag(1v(0.0), 1v(0.0, 1.0), uv);\\n    st.y = 1Ag(1v(0.0), 1v(1.0, 0.0), uv);\\n    st.xy *= 25C * 25B;\\n    1m 16T = 1Y(18G, st);\\n    if(16T.a < 0.11t) {\\n        16T.a = 1.0;\\n    }\\n    1f 16T;\\n}\\n#1u\\n\\2s 2k()\\n{\\n#1z 1bn\\n    if (12d > 1.5)\\n    {\\n        if(4u.x > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d > 0.5)\\n    {\\n        if(4u.x < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -1.5)\\n    {\\n        if(4u.y < 12c)\\n        {\\n            7o;\\n        }\\n    }\\n    1s if(12d < -0.5)\\n    {\\n        if(4u.y > 12c)\\n        {\\n            7o;\\n        }\\n    }\\n#1u\\n#1z 1bm \\n    1uC(4u.xy, 1fm);\\n#1u\\n#1z 1pf\\n    if(1ah < 0.5)\\n    {\\n        7o;\\n    }\\n#1u\\n#1z 5J\\n    1bp = 2o(1hH * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n    1bp = 2o(1hH * 4u.w, 1.0);\\n#1u\\n    1m 16T = 1m(1.0);\\n#1z 1rZ\\n    16T = 1IG();\\n#1u\\n    2C = 4m * 16T;\\n    2C = 9D(2C);\\n}";q.6WX="3Q 1m 4f;\\n#1z 1h6\\n    3Q 1w 13N;\\n#1u\\n#1z 1mY\\n    3Q 1m 7s;\\n    3G 1m 6r;\\n    3G 1v 1qp;\\n#1u\\n#1z 1IB\\n    3Q 1v 3hY;\\n    3Q 1v 3JY;\\n    3Q 1v 3JX;\\n    3Q 1v 3JW;\\n    3G 1m 1gq;\\n    3G 1m 1gp;\\n#1u\\n#1z 1SY\\n    3Q 1m 13x;\\n#1u\\1B 5w 1lW;\\n#1z 2H5\\1B 5w 3i4;\\n#1u\\1B 5w 1rA;\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\n#1z 1o7\\n#1z 2d2\\2J 1o 4R;\\1B 1o 3i2;\\n#1u\\2J 1o 2H3;\\n#1s\\2J 1o 4R;\\n#1u\\n#1u\\1J 1m 11w;\\1B 5w 3i0;\\4i 1o 5fU = 1C6.0;\\4i 1o 5fT = 12v.0;\\4i 1o 5fS = 256.0;\\n#1z 1Cj\\n    3Q 1w 2Yl;\\n    3G 1w 2t2;\\n#1u\\n#1z 2vy\\n    3Q 1m 1O0;\\n    3Q 1m 1NZ;\\n    3Q 1m 2vC;\\n    3Q 1m 2cJ;\\n    3Q 1m 2Yo;\\n#1u\\n#1z 2vx\\n    3Q 1m 2b5;\\n    3Q 1m 1O0;\\n    3Q 1m 1NZ;\\n    3Q 1m 2vC;\\n    3Q 1m 3K6;\\n    3Q 1m 2Yo;\\n    3Q 1m 2d3;\\n    3Q 1m 2cJ;\\n    3Q 1m 5fR;\\n#1u\\n#1z 1mZ\\n#1z 1mY\\n    3Q 1m 2Yj;\\n    2n 1o 1Lz;\\n    2n 1v 1LA;\\n#1u\\n#1z 1SY\\n    3Q 1m 3K2;\\n    2n 1o 1T0;\\n    2n 1v 1T1;\\n#1u\\n#1u\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\n#1z 1SZ\\n    2n 1o 2kT;\\n#1u\\n#1z 25A\\n#1z 2H4\\n    2n 2v 3i6;\\n#1u\\n    2n 1m 1am;\\n    2n 1o 3i5;\\n#1u\\n#1z 1l9\\n    2n 1o 2kU;\\n    3G 1o 1bh;\\n#1u\\n#1z 25y\\n    2n 1o 25x;\\n    3G 1m 1h7;\\n    3G 1v 1Ay;\\n#1z 1SY\\n    2n 1o 25w;\\n    3G 1m 1o8;\\n#1u\\n#1u\\n#1z 1kh\\n    2n 1o 1kQ;\\n    2n 1m 13v;\\n    3G 1v 2bc;\\n#1u\\n#1z 1cB\\n    3G 1m 1rw;\\n#1u\\n#1z 1eW\\n    2n 1m 3i3;\\n    3G 1o 1IC;\\n    3G 1v 1OV;\\n#1u\\n#1z 1pe\\n    3G 1m 1eQ;\\n    3G 1w 1wu;\\n    3G 1o 2kQ;\\n#1u\\n#1z 1o5\\n    3G 1o 1ah;\\n#1u\\n#1z 1l8\\n    3G 1o 1wv;\\n#1u\\n    3G 1m 1k3;\\n#1z 1Ly\\n    3G 1w 13L;\\n    3G 1w 25v;\\n    3G 1m 3K1;\\n#1u\\n#1z 2kR\\n    2n 1o 3i1;\\n#1u\\n    2n 1o 1Az;\\n    2n 1m 1iX;\\n    2n 1o 1ws;\\n    2n 1m 15h;\\n    2n 1w 2kS;\\n    3G 1m 4m;\\n    3G 1m 8l;\\n    3G 1m 2d1;\\n#1z 1o7\\n    3G 1w 1ID;\\n#1u\\n#1z 1Z3\\n    2n 2v 2kO;\\n    2n 1o 3i7;\\n    2n 1o 2kP;\\n    2n 1o 1SX;\\n#1u\\n#1z 1h5\\1B 5w 3hZ;\\1J 1m 1uK;\\n#1u\\n    1v 2Yk(1m 6v, 1m 1mK, 9H 1o 2bg)\\n    {\\n        1m 2Yp = 1lW * 6v;\\n        1v 1Co = 1v(1mK.z - 1mK.x, 1mK.w - 1mK.y);\\n        1v 4M = 1v(2Yp.x - 1mK.x, 2Yp.y - 1mK.y);\\n        4M.x = 4M.x / 1Co.x;\\n        4M.y = 4M.y / 1Co.y;\\n        2bg = 7F(0.0, 4M.x) * 7F(0.0, 4M.y) * 7F(0.0, 1.0 - 4M.x) * 7F(0.0, 1.0 - 4M.y);\\n        4M = 2Y(4M, 1v(0.0), 1v(1.0));\\n        1f 4M;\\n    }\\n#1z 25A\\n#1z 2H4\\n    1m 3K5()\\n    {\\n        1v 1Co = 1v(1am.z - 1am.x, 1am.w - 1am.y);\\n        1v 1dZ = 1v(4f.x - 1am.x, 4f.y - 1am.y);\\n        1m 1IF = 4f;\\n        1dZ.x = 1dZ.x / 1Co.x;\\n        1dZ.y = 1dZ.y / 1Co.y;\\n        if(1dZ.x > 1.0 || 1dZ.x < 0.0 || 1dZ.y > 1.0 || 1dZ.y < 0.0)\\n        {\\n            1f 1IF;\\n        }\\n        1o 14o = 2jk(1Y(3i6, 1dZ.xy));\\n        14o = 14o - 1Az;\\n        if(1IF.z > 14o)\\n        {\\n            1o 3K7 = 2Y((3i5 - 14o - 1Az) * 0.1t2 * (1IF.z + 1Az - 14o), 0.17I, 3.0);\\n            1IF.z = 14o + 3K7;\\n            1IF.w = 1IF.z;\\n        }\\n        1f 1IF;\\n    }\\n#1u\\n#1u\\1r 2vA(1m 6v){\\n    1o 1IE = 6v.w;\\n#1z 2H6\\n    1IE = 7s.x;\\n#1u\\n#1z 1l9\\n    if(2kU > 0.1)\\n    {\\n        1bh = 1IE + 1Az;\\n    }\\n    1s\\n    {\\n        1bh = 6v.z + 1Az;\\n    }\\n#1u\\n    1f 1IE;\\n}\\1R 1aY;\\2s 2k()\\n{\\n#1z 1o6\\n    1m 6v = 1m(1.0);\\n    6v = 1tj + 4f * 1ti;\\n#1s\\n    1m 6v = 4f;\\n#1u\\n#1z 2H5\\n    6v = 3i4 * 1m(6v.1H, 1.0);\\n#1u\\n#1z 1mY\\n#1z 1mZ\\n    6r.xy = 1LA.xy + 7s.xy * 1Lz;\\n#1s\\n    6r.xy = 7s.xy;\\n#1u\\n#1u\\n#1z 1SY\\n#1z 1mZ\\n    6r.zw = 1T1.xy + 13x.xy * 1T0;\\n#1s\\n    6r.zw = 13x.xy;\\n#1u\\n#1u\\n#1z 1h6\\n    1aY = 13N;\\n#1z 1SZ\\n    1aY = 1gT(13N.xy, 2kT).1ca;\\n#1u\\n#1u\\n#1z 2vy\\n    5w 18r;\\n    18r[0] = 1O0;\\n    18r[1] = 1NZ;\\n    18r[2] = 2vC;\\n    18r[3] = 1m( 0, 0, 0, 1 );\\n    1ID = 6v.1H * 14j(18r);\\n    6v = 1m(6v.1H, 1.0) * 18r;\\n#1u\\n#1z 2vx\\n    5w 18r;\\n    5w 1OW;\\n    5w 1OX;\\n    1m 2Ym;\\n    1m 2Yn;\\n    1OW[0] = 2b5;\\n    1OW[1] = 1O0;\\n    1OW[2] = 1NZ;\\n    1OW[3] = 1m( 0, 0, 0, 1 );\\n    1OX[0] = 2vC;\\n    1OX[1] = 3K6;\\n    1OX[2] = 2Yo;\\n    1OX[3] = 1m( 0, 0, 0, 1 );\\n    1m 2d4 = 1m(6v.1H, 1.0);\\n    2d4.x = 2d4.x * 2d3.z;\\n    2Ym = 2d4 * 1OW;\\n    2Yn = 2d4 * 1OX;\\n#1z 1mY\\n    if(7s.y > 0.5)\\n    {\\n        1m 2vB = 1rA * 1m(2d3.y, 7s.x, 0.0, 1.0);\\n        6r.xy = 2vB.xy;\\n        6v = 2Yn;\\n        18r = 1OX;\\n    }\\n    1s\\n    {\\n        1m 2vB = 1rA * 1m(2d3.x, 7s.x, 0.0, 1.0);\\n        6r.xy = 2vB.xy;\\n        6v = 2Ym;\\n        18r = 1OW;\\n    }\\n#1z 1h6\\n    1aY.x = 1aY.x * 2d3.z;\\n#1u\\n#1u\\n    1ID = 6v.1H;\\n#1u\\n#1z 1Cj\\n    2t2 = 2Yl;\\n#1u\\n#1z 25A\\n#1z 2H4\\n    6v = 3K5();\\n#1u\\n#1u\\n    1o 2vw = 2vA(6v);\\n    6v.w = 1.0;\\n#1z 1kh\\n    if(1kQ > 0.1)\\n    {\\n        1o 2bg = 1.0;\\n        2bc = 2Yk(6v, 13v, 2bg);\\n    }\\n#1u\\n#1z 1cB\\n    1rw = 1lW * 6v;\\n#1u\\n#1z 1eW\\n    1IC = 1.0;\\n    1OV = 2Yk(6v, 3i3, 1IC);\\n#1u\\1P 7x = 1m(1.0);\\n#1z 14V\\n    #1z 2vz\\n        7x = 11X / 255.0;\\n    #1s\\n        7x = 11X;\\n    #1u\\n#1u\\n#1z 2vy\\n    7x *= 2cJ;\\n#1u\\n#1z 2vx\\n    7x *= 2cJ;\\n#1u\\n#1z 25z\\n    7x = 1iX;\\n#1s\\n    7x *= 1iX;\\n#1u\\n    1k3 = 1m(0.0);\\n#1z 18e\\n#1z 1o7\\1r 2P = 2H3;\\n#1s\\1r 2P = 4R;\\n#1u\\n#1z 2d2\\n    2P = 2H3 * 3i2 + 4R;\\n#1u\\n    11w = 1ki(2P);\\n    1m 14T = 1qo(2P);\\n    1m 19z = 1k9(2P);\\n#1z 1l8\\n    1wv = 0.0;\\n    1eo(14T, 19z, 7x, 6v, 1k3, 2kS, 1wv);\\n#1u\\n#1bI 1l8\\n#1z 1o5\\n    1ah = 0.0;\\n    1eo(14T, 19z, 15h, 7x, 6v, 1k3, 2kS, 1ah);\\n#1s\\n    1eo(14T, 19z, 15h, 7x, 6v, 1k3, 2kS);\\n#1u\\n#1u\\n#1u\\n    4m = 7x;\\n    8l.1H = 6v.1H;\\n    8l.w = 0.0;\\n#1z 2kR\\n    1m 4p = 9q * 6v;\\n    1o 3K4 = 1V(4f.w, 2.0);\\n    1o 3K3 = 3K4 / 1dv(4p);\\n    if(3K3 < 3i1){\\n        4p = 1m(0.0, 0.0, 0.0, 1.0);\\n    }\\n    6I = 17B * 4p;\\n#1s\\n    6I = 11o * 6v;\\n#1u\\n#1z 25y\\n    1qp.x = 7s.z;\\n#1z 1mZ\\n    1qp.x = 2Yj.x;\\n#1u\\n    1v 5fQ;\\n    1h7 = 1m(0.0,0.0,1.0,0.0);\\n    1Ay.x = 0.0;\\n    if(1qp.x < -5fP.0)\\n    {\\n        1h7.z = -1.0;\\n    }\\n#1bI 1o7\\n    2FT(2t(1qp.x), 1h7.x, 1h7.y, 1h7.z, 1Ay.x);\\n#1z 1SY\\n    1o8 = 1m(0.0,0.0,1.0,0.0);\\n    1Ay.y = 0.0;\\n    1qp.y = 13x.z;\\n#1z 1mZ\\n    1qp.y = 3K2.x;\\n#1u\\n    2FT(2t(1qp.y), 1o8.x, 1o8.y, 1o8.z, 1Ay.y);\\n#1u\\n#1u\\n    1h7.w = 1iK(25x * 1h7.z);\\n#1z 1SY\\n    1o8.w = 1iK(25w * 1h7.z);\\n#1u\\n#1u\\n#1z 1wc\\n    #1z 1Ly\\n        13L = (9q * 6v).1H;\\n        25v = (1Cp * 6v).1H;\\n        3K1 = 6v;\\n    #1s\\n        #1z 1h6\\n            if(1h(1aY) > 0.8)\\n            {\\n                8l.w = 1.0;\\n                1w 4p = (9q * 6v).1H;\\n                1w 4X = 1w(1.0);\\n                #1z 1o7\\n                    1w 3K0 = 1aY.1H * 14j(18r);\\n                    4X = 11b * 3K0;\\n                #1s\\n                    4X = 11b * 1aY;\\n                #1u\\n                4m = 4m * 1Fa(1T(4X), -4p, 6v.1H);\\n            }\\n        #1u\\n    #1u\\n#1u\\n#1z 1pe\\n    1eQ = 6v;\\n    1m 1K = 9q * 6v;\\n    2kQ = (1K.z - 1dx.3I) / (1dx.3W - 1dx.3I);\\n    1wu = 1w(0.0,0.0,0.0);\\n#1z 1h6\\n    if(1h(1aY) > 0.8)\\n    {\\n        1wu = 1T(11b * 1aY);\\n    }\\n#1u\\n#1u\\n#1z 1Z3\\n    1v 2vv = 1v(abs(2vw - 2kP) / 1SX + 0.5 /1SX , 0.5);\\n    1o 1jE = 1Y(2kO, 2vv).a;\\n    4m.a = 1.0 - 1jE;\\n#1u\\3JZ = 1Cp * 1m(4f.1H, 1.0);\\3JZ = 3i0 * 2d1;\\n#1z 1h5\\n    1uK = 3hZ * 1m(4f.1H, 1.0);\\n#1u\\n#1z 1IB\\n    1gq = 1m(3hY.xy,3JY.xy);\\n    1gp = 1m(3JX.xy,3JW.xy);\\n#1u\\n    1IA = 1ws;\\n}";q.6WW="3Q 1m 4f;\\n#1u\\n#1z 1mY\\n    3G 1m 6r;\\n#1u\\n#1z 14V\\2J 1m 11X;\\n#1u\\n#1z 18e\\2J 1o 4R;\\n#1u\\1J 1m 11w;\\n#1z 1o5\\1J 1o 1ah;\\n#1u\\1B 1m 15h;\\1B 1v 3hX;\\n#1z 1o6\\n    2n 1m 1tj;\\n    2n 1o 1ti;\\n#1u\\1B 1m 1iX;\\1J 1m 4m;\\2s 2k()\\n{\\n#1z 1o6\\n    1m 6v = 1m(1.0);\\n    6v = 1tj + 4f * 1ti;\\n#1s\\n    1m 6v = 4f;\\n#1u\\n#1z 1mY\\n    6r.xy = 6v.xy * 3hX;\\n#1u\\n    6v.w = 1.0;\\n    1m 7x = 1m(1.0);\\n#1z 14V\\n    7x = 11X;\\n#1u\\n#1z 18e\\n    11w = 1ki(4R);\\n    1m 14T = 1qo(4R);\\n    1m 19z = 1k9(4R);\\n#1z 1o5\\n    1ah = 0.0;\\n    1eo(14T, 19z, 15h, 7x, 1ah);\\n#1s\\n    1eo(14T, 19z, 15h, 7x);\\n#1u\\n#1u\\n    4m = 7x*1iX;\\n    6I = 11o * 6v;\\n}";q.6WV=Tb;q.6WU=ni;q.6WT=Rj;q.6WS="#6A 2jD : 5F\\1J 1m 4m;\\1J 1m 1yi;\\1J 1m 8l;\\1J 1o 1mQ;\\2s 2k()\\n{\\n#1z 1es\\n    1nT(9q * 1m(8l.1H, 1.0), 1.0);\\n#1u\\n    1m 1A = 4m;\\n    1o 1tc = 1h(1Ss - 1v(0.5));\\n    1o 1td = 1V(0.0, 0.5 - 1mQ);\\n    1o 1CL = 1.0 - 13f(1td, 0.5, 1tc);\\n    1A.a *= 1CL;\\n\\2d0 = 9D(1A);\\n#1z 1cB\\n    if(1F9())\\n    {\\n        7o;\\n    }\\n#1u\\n#1z 2th\\n    1w Ci = 1A.2y * 1A.a;\\n    1o ai = 1A.a;\\n    1o 1Ff = 2jv(ai);\\n    1OU[0] = 1m(Ci * 1Ff, ai);\\n    1OU[1] = 1m(ai * 1Ff);\\n#1s\\n    2C = 1A;\\n#1u\\n}";q.6WR="3Q 1m 4f;\\n#1z 1mY\\n    3Q 1m 7s;\\n#1u\\2J 1m 11X;\\1J 1o 1mQ;\\1J 1m 1yi;\\1B 5w 1lW;\\n#1z 1cB\\n    3G 1m 1rw;\\n#1u\\n#1z 1kh\\n    2n 2v 1kS;\\n    2n 1o 1jr;\\n    2n 1o 16R;\\n    2n 1o 1dw;\\n    2n 1o 1kT;\\n    2n 1o 1fO;\\n    2n 1o 1jq;\\n    2n 1m 1Sm;\\n#1u\\n    2n 1o 25u;\\n    2n 1m 1iX;\\n    3G 1m 4m;\\n    3G 1m 8l;\\n#1z 1kh\\1P 1fj(1o 14M)\\n{\\n    1o 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\n    1o 1i5 = (14M - 1dw) / 19U;\\n    1o 1eP = 2Y(1i5, 0.0, 1.0);\\n    1o 7Z = 2t(1eP * 16.0);\\n    1o y = (7Z*2.0 + 1.0)/32.0;\\n    1o x = 8N(1eP*16.0);\\n    if(y > 1.0)\\n    {\\n        x = 1.0;\\n    }\\n    1v 1kR = 1v(x, y);\\n    1f 1Y(1kS, 1kR).15A;\\n}\\1P 2vu(1m 1cv, 1o 14M)\\n{\\n    1m 1aA = 1m(0.0);\\n    1o 17Z = 1jr;\\n    1aA = 1fj(14M);\\n    17Z *= 12q(16R);\\n    1m 1gW = 3T(1m(1.0,1.0,1.0,1.0), 1aA, 17Z);\\n    1f 1gW;\\n}\\n#1u\\n\\1r 1rB(1m 4p)\\n{\\n    1m 1Cs = 18a(4p);\\n    1o 1aT = 11N(1Y(1aB, 1Cs.xy / 9e.zw));\\n    if (1aT == 0.0)\\n    {\\n        1f 0.0; // 2S on 1Z 10a\\n    }\\n    1m 5Z = 1az(1Cs.xy, 1aT);\\n    1f 5Z.z / 5Z.w;\\n}\\n\\2s 2k()\\n{\\n    1m 6v = 4f;\\n    6v.w = 1.0;\\n    8l.1H = 6v.1H;\\n    8l.w = 0.0;\\n    4m = 11X;\\n    1o 1bh = 7s.x;\\n    6I = 11o * 6v;\\n#1z 1kh\\n    if(1bh > 1fO || 1bh < 1jq)\\n    {\\n        6I = 17B * 1m(0.0, 0.0, 0.0, 1.0);\\n    }\\n    4m = 2vu(4m, 1bh);\\n#1u\\n#1z 1cB\\n    1rw = 1lW * 6v;\\n#1u\\n    4m *= 1iX;\\n    1yi = 9q * 6v;\\n    1o 1HQ = 10.0;\\n    1o 1aT = 1rB(1yi);\\n    if (1aT != 0.0 && 1yi.z + 1HQ < 1aT)\\n    {\\n        6I = 17B * 1m(0.0, 0.0, 0.0, 1.0);\\n    }\\n    1o 1l3 = 1dv(1yi);\\n    1o 1i7 = 25u / 1l3;\\n    1mQ = 2.0 / 1i7;\\n    1IA = 1i7;\\n}";q.3JV="#1z 8p\\n#6A 8p : 5F\\n#1u\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1e0\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\n#1z 1uL\\1B 2v 18G;\\1J 1v 6r;\\n#1u\\1J 1m 4m;\\1J 1m 1th;3G 1m 8l;\\1J 1w 1id;\\1J 1w 1ym;\\n\\n#1z 1h5\\1B 2v 1Dc;\\1B 2v 1Db;\\1B 2v 1Da;\\1B 1o 1D9; \\n#1u\\n\\1r 2vt()\\n{\\n#1z 10B\\n    1f 1iK(1Sb) * 2ji;\\n#1s\\n    1f 4u.z;\\n#1u\\n}\\n#1z 1h5\\166 1Ix(1v 4M)\\n{\\n    7d 1jD = 16f;\\n    1m 1Iz = 1Y(1Dc,4M.xy);\\n    if(1Iz.r > 0.99 && 1Iz.g < 0.11t && 1Iz.b < 0.11t)\\n    {\\n        1o 1rY = 11N(1Y(1Db, 4M.xy)) - 0.1Ai;\\n        1o 1rX = 11N(1Y(1Da, 4M.xy)) + 0.1Ai;\\n        1o 1Z2 = 2vt();\\n        if(1Z2 > 1rY && 1Z2 < 1rX){\\n            1jD = 8O;\\n        }\\n    }\\n    1f 1D9 < 0.5 ? !1jD : 1jD;\\n}\\n#1u\\2s 2k()\\n{\\n#1z 1e0\\1Cz();\\n#1u\\n    1m 1A = 4m;\\n#1z 1e0\\n    2C = 1A;\\n    #1z 2Yi\\n        2C = 1th;\\n        2C.a = 1.0;\\n    #1u\\n#1s\\n        1v 1dZ = 1v(0.0);\\n     #1z 1h5\\n        1v 4M = 1v(4u.x / 9e.z, 4u.y / 9e.w);\\n        if(!1Ix(4M)) \\n        { \\n            7o; \\n        } \\n    #1u\\n\\t#1z 1uL\\n        #1z 2H2\\n            1dZ = 1v(6r.x,1.0-6r.y);\\n        #1s\\n            1dZ = 1v(6r.x,6r.y);\\n        #1u\\n    #1u\\n    #1z 2cZ\\n        2C = 1XU(1ym, 1id, 1dZ, 1m(1.0)) * 4m;\\n    #1s\\n        #1z 1uL\\n            1A = 1Y(18G, 1dZ.xy, 0.0) * 1A;\\n        #1u\\n            2C = 1A;\\n            2C *= 1O8(8l.1H, 8l.w);\\n        #1u\\n    #1u\\n#1u\\n    2C = 9D(2C);\\n    if(2C.a < 0.1)\\n    {\\n        7o;\\n    }\\n}";q.6WQ=Pr;q.6WP=qk;q.6WO=Wj;q.6WN=oq;q.1SW=Kk;q.6WM="6WL";q.6WK=Qf;q.6WJ=Df;q.6WI=Eb;q.6WH=Sl;q.3JU=Oh;q.6WG=yJ;q.4i2=gc;q.6WF=Dq;q.4i1=O;q.6WE=gE;q.6WD=fE;q.6WC=ic;q.6WB=et;q.6WA=yz;q.6Wz=Ne;q.6Wy=Va;q.6Wx=kj;q.6Ww=hE;q.6Wv=Sz;q.6Wu=Xl;q.3JT=Ga;q.6Wt=SC;q.6Ws=ja;q.6Wr="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 2v 1OS;\\n\\1J 1o 13i;\\1J 1v 6r;\\n\\1r 1ay(in 1o 15r, in 1o 162, in 1o 1Q)\\n{\\n\\4s 25t = (15r + 162) * 0.5;\\n\\4s 11D = (162 - 15r) * 0.5;\\n\\4s x = 1.0 - 2Y(abs(25t - 1Q) / 11D, 0.0, 1.0);\\n\\11r x;\\n}\\n\\1R 1eV(in 1o 12r)\\n{\\n\\1qn 5G = 1w(0.0, 0.0, 1.0);\\n\\1qn 2vs = 1w(0.0, 1.0, 1.0);\\n\\1qn 5t = 1w(0.0, 1.0, 0.0);\\n\\1qn 2vr = 1w(1.0, 1.0, 0.0);\\n\\1qn 5r = 1w(1.0, 0.0, 0.0);\\n\\1qn 1A = 1ay(-0.25, 0.25, 12r) * 5G + 1ay(0.0, 0.5, 12r) * 2vs + 1ay(0.25, 0.75, 12r) * 5t + \\n\\t\\t\\t\\5fO(0.5, 1.0, 12r) * 2vr + 13f(0.75, 1.0, 12r) * 5r;\\n\\11r 1A;\\n}\\n\\2s 2k()\\n{\\n\\10O 3JS = (1Ss - 0.5) * 2.0;\\n    1o 6Y = 1.0 - 1h(3JS);\\n\\9u(6Y < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n#1z 5J\\n    1bp = 2o(13i * 4u.w, 1.0);\\n#1u\\n#1z 1dt\\n    1bp = 2o(13i * 4u.w, 1.0);\\n#1u\\n\\10O 8R = 6r.xy * 0.5 + 0.5;\\n\\4s 3JR = 11N(1Y(1OS, 8R.xy));\\n\\14F = 1m(1eV(3JR), 1.0);\\n}";q.6Wq=Uj;q.6Wp=Rk;q.6Wo=ed;q.6Wn="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 1o 3hV;\\1B 2v 1OT;\\1B 2v 3hW;\\n\\1J 1m 1id;\\1J 1v 1yl;\\n\\2s 2k()\\n{\\n\\14F = 1Y(3hW, 1yl);\\n\\7c 4p = 1id;\\n\\4s 4e = -4p.z;\\n\\9u(4e > 24P[1].w)\\n\\t{\\n\\t\\11r;\\n\\t}\\n\\7c 1cx = 2Ue(4e);\\n\\7c 1wt = 2Uh(1cx) * 4p;\\n\\4s 12F = 24D(1OT, 1wt.xy, 1wt.z);\\n\\9u(12F < 0.17I)\\n\\t{\\n\\t\\11r;\\n\\t}\\n\\4s 3JQ = 11N(2C);\\n\\4s 12r = 3JQ + 3hV;\\n\\5fN = 2Y(12r, 0.0, 0.1Ax);\\n\\14F = 1lP(12r);\\n}";q.3JP=nq;q.6Wm="3Q 1m 4f;\\2J 1v 7s;\\n\\n#1z 1Iy\\1B 1o 1ws;\\n#1u\\n\\1J 1m 1id;\\1J 1v 1yl;\\n\\2s 2k()\\n{\\n\\3JO = 7s.xy * 0.5 + 0.5;\\n\\t//1yl.y = 1.0 - 1yl.y;\\n\\5fM = 1p3 * 1Cp * 1m(4f.1H, 1.0);\\n\\1tg = 1m(7s.xy, 0.5, 1.0);\\n#1z 1Iy\\n\\5fL = 1ws;\\n#1u\\n}";q.5fK=MI;q.6Wl=Pg;q.6Wk=Wc;q.6Wj=Yl;q.5fJ="2n 2v 1OS;\\1B 1m 3hU;\\1B 1m 3hT;\\n\\1J 1m 1mW;\\1J 1o 2vq;\\1J 1m 1id;1p 2k()\\n{\\n   1m 1rI = 1m(3hU.2y, 1.0);\\n   1m 4M = 1mW / 1mW.w;\\n   1o 4e = 4M.z * 0.5 + 0.5;\\n   // 1o 1p0 = 0.5fI * 1V(-1id.z * 0.11t, 1.0);\\n   // 4e -= 1p0;\\n   4M.xy = 4M.xy * 0.5 + 0.5;\\n   if(abs(2vq - 1.0) < 0.1t2)\\n   {\\n\\t\\4s 1kg = 11N(1Y(1OS, 4M.xy));\\n\\t\\9u(1kg < 4e)\\n\\t\\t{\\n\\t\\t\\3JN = 1m(3hT.2y, 1.0);\\n\\t\\t}\\n   }\\n   1s\\n   {\\n\\t\\3JN = 1m(0.4, 0.4, 0.4, 1.0);\\n   }\\n   2C = 1rI;\\n}";q.6Wi=tA;q.6Wh=LB;q.6Wg=Yv;q.3JM=Xe;q.6Wf=TK;q.6We=zg;q.6Wd=jw;q.5fH=GD;q.6Wc=Vi;q.6Wb="2n 1m 2H1;\\n\\2s 2k()\\n{\\n   2C = 2H1;\\n}";q.6Wa="3Q 1m 4f;\\2J 1m 7s;\\n\\2s 2k()\\n{\\n   6I = 11o * 4f;\\n}";q.5fG=Vx;q.6W9=MP;q.6W8=QD;q.6W7=Xf;q.5fF="2n 2v 3hS;\\1B 2v 3hP;\\1B 1m 2GZ;\\1B 1m 3hO;\\1B 1w 2GY;\\1B 1v 3hQ;\\1B 1m 2kN;\\1B 1m 3hR;\\1B 7d 2H0;\\1B 1m 3hN;\\1J 1v 1Ao;\\2s 2k()\\n{\\2u 4M = 1v(4u.x / 9e.z, 4u.y / 9e.w);\\1P 1Ij = 1Y(3hS, 4M) * 255.0;\\1U(1Ij.r != 2kN.r || 1Ij.g != 2kN.g || 1Ij.b != 2kN.b)\\n{\\n    7o;\\n}\\1U(2H0){\\n    2C = 3hR;\\n    1f;\\n}\\1So = 1Ao;\\1So = 13R(4M * 3hQ, 1v(1.0));\\2u 12Q = 2GY.yz;\\1So = 2Y(4M, 12Q, 1.0 - 12Q);\\2u 3JL = 3T(2GZ.xy, 2GZ.zw, 4M);\\1P 16T = 1Y(3hP, 3JL);\\3R = 3T(3hO, 16T, 2GY.x) * 3hN;\\n}";q.6W6=pq;q.3JK="2n 1o 1uJ; \\n#1z 1h5\\1B 2v 1Dc;\\1B 2v 1Db;\\1B 2v 1Da;\\1B 1o 1D9; \\1J 1m 11w; \\1J 1m 4m;\\1J 1m 1uK; \\n#1u\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1Z1\\1J 1m 1uK; \\n#1u\\n#1z 1h5\\166 1Ix(1m 1bO)\\n{\\n    7d 1jD = 16f;\\n    1m 1A = 1Y(1Dc,1bO.xy);\\n    if(1A.r > 0.99 && 1A.g < 0.11t && 1A.b < 0.11t)\\n    {\\n        1o 1rY = 11N(1Y(1Db,1bO.xy));\\n        1rY = 1rn(1rY);\\n        1o 1rX = 11N(1Y(1Da,1bO.xy));\\n        1rX = 1rn(1rX);\\n        if(1bO.z - 1rY > -0.1KX  && 1rX - 1bO.z > -0.1KX)\\n        {\\n            1jD = 8O;\\n        }\\n    }\\n    1f 1D9 < 0.5 ? !1jD : 1jD;\\n}\\n#1u\\2s 2k() \\n{\\n#1z 1h5\\n    1m 1bO = 1uK / 1uK.w; \\n    1bO.1H = 1bO.1H * 0.5 + 0.5; \\n    if(!1Ix(1bO)) \\n    { \\n        7o; \\n    } \\n    if(4m.a < 1uJ)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 11w; \\n#1u\\n#1z 1Z1\\n    #1z 10B\\n        1nO();\\n        2C = 1lP(1bp);\\n    #1s\\n        2C = 1lP(4u.z);\\n    #1u\\n#1u\\n#1z 1FC\\n    2C = 1m(1.0,0.0,0.0,1.0);\\n#1u\\n}";q.5fE=dK;q.6W5=Qr;q.6W4=Ep;q.4i0=Hh;q.6W3=pg;q.6W2=dN;q.4hZ=mS;q.6W1=uk;q.6W0=wk;q.6VZ=ts;q.6VY=Bv;q.6VX=Dv;q.6VW=us;q.6VV=Mc;q.6VU=Jc;q.6VT=Ma;q.6VS=ys;q.6VR=ns;q.6VQ=zv;q.5fD=UI;q.5fC=OM;q.5fB=XC;q.5fA=Yt;q.5fz=SM;q.5fy=RM;q.5fx=Ut;q.5fw=TI;q.5fv=gZ;q.5fu=tq;q.5ft=Vv;q.5fs=OK;q.6VP=hZ;q.6VO=Cz;q.6VN=CS;q.6VM=Ro;q.6VL=UA;q.6VK=u2;q.6VJ=Iw;q.6VI=4hY;q.6VH=ha;q.6VG=wS;q.6VF=JD;q.6VE=Fy;q.6VD=Nz;q.6VC=nf;q.6VB=My;q.6VA=Ly;q.6Vz=KD;q.6Vy=LD;q.6Vx=ee;q.6Vw=wg;q.6Vv=Ny;q.6Vu=Fo;q.6Vt=Iy;q.6Vs=JC;q.6Vr=Rf;q.4hX=Te;q.6Vq=IC;q.6Vp=Jy;q.6Vo=Gy;q.6Vn=Hy;q.6Vm=MD;q.6Vl=ND;q.6Vk=Ky;q.6Vj=OD;q.6Vi=Oz;q.6Vh=Rv;q.6Vg=Fs;q.5fr=PD;q.6Vf=wa;q.6Ve=Vc;q.6Vd=Tj;q.6Vc=Qu;q.6Vb=Bh;q.6Va=bw;q.6V9=nx;q.6V8=Yr;q.6V7=we;q.6V6=gk;q.6V5=Zc;q.6V4=hg;q.2GX=Ca;q.6V3=Om;q.6V2=Js;q.6V1=Rb;q.6V0=nb;q.6UZ=Ka;q.6UY=fN;q.6UX=PK;q.6UW=Ea;q.6UV=hk;q.6UU=rk;q.6UT=to;q.6US=Dz;q.6UR=Ez;q.6UQ=MU;q.6UP=kc;q.6UO=UC;q.6UN=yq;q.6UM=Hl;q.3JJ=Lc;q.6UL=pB;q.6UK=$c;q.6UJ=5fq;q.6UI=oo;q.6UH=Rr;q.6UG=it;q.6UF=Ed;q.6UE=Zv;q.6UD=Kq;q.6UC=Ab;q.6UB=Md;q.6UA=Ll;q.6Uz=Rm;q.6Uy=hd;q.6Ux=xi;q.6Uw=jt;q.6Uv=eV;q.6Uu=4hW;q.6Ut=Iz;q.6Us=xz;q.6Ur=Wi;q.6Uq=Da;q.6Up=eC;q.6Uo=dW;q.6Un=tp;q.4hV=Gc;q.6Um=Tk;q.3JI=FD;q.6Ul=Ks;q.6Uk=zb;q.6Uj=ti;q.6Ui=Br;q.2kM="1.67";q.6Uh=kE;q.6Ug=jE;q.6Uf=Xx;q.6Ue=hv;q.6Ud=ro;q.6Uc=gh;q.6Ub=Up;q.6Ua=qo;q.6U9=Vp;q.6U8=Bl;q.6U7=Hq;q.6U6=of;q.6U5=ps;q.6U4=os;q.6U3=Fb;q.6U2=Of;q.6U1=Pc;q.5fp=za;q.2GW=FA;q.6U0=fc;q.6TZ=Ru;q.4hU=bt;q.5fo=Ry;q.5fn="\\1B 5w 4hT;\\1B 5w 4hS;\\1B 5w 4hR;\\1B 5w 4hQ;\\1B 5w 4hP;\\n\\1B 5w 4hO;\\1B 5w 4hN;\\1B 5w 4hM;\\1B 5w 4hL;\\1B 5w 4hK;\\1B 2v 3hM;\\1B 2v 3hL;\\1B 2v 3hK;\\1B 2v 3hJ;\\1B 2v 3hI;\\1B 7P 2GV;\\1B 1o 1YY;\\1B 1m 1FB;\\1B 1m 1FA;\\n\\1J 1m 2vp;\\1J 1m 2vo;\\1J 1m 2vn;\\1J 1m 2vm;\\1J 1m 2vl;\\n\\1J 1m 2vk;\\n\\166 1Z0(1m 4M)\\n{\\n\\9u ((4M.x<=1.0)&&(4M.x>=0.0)&&(4M.y<=1.0)&&(4M.y>=0.0)&&(4M.z<=1.0)&&(4M.z>=0.0))\\n\\t{\\n\\t\\11r 8O;\\n\\t}\\n\\1aC\\n\\t{\\n\\t\\11r 16f;\\n\\t}\\n}\\n\\166 1YZ(2v 17A, 1m uv)\\n{\\n    7d 1cA = 8O;\\n\\4s 4e = 11N(1Y(17A, uv.xy));\\n\\9u(4e < 0.1Ai)\\n    {\\n        1f 1cA;\\n    }\\n\\9u(uv.z > (4e + 0.1Ai))\\n    {\\n        1cA = 16f;\\n    }\\n\\11r 1cA;\\n}\\n\\166 3JH()\\n{\\n\\9u(1Z0(2vp))\\n\\t{\\n\\t\\11r 1YZ(3hM, 2vp);\\n\\t}\\n\\t\\n\\9u(1Z0(2vo))\\n\\t{\\n\\t\\11r 1YZ(3hL, 2vo);\\n\\t}\\n\\t\\n\\9u(1Z0(2vn))\\n\\t{\\n\\t\\11r 1YZ(3hK, 2vn);\\n\\t}\\n\\t\\n\\9u(1Z0(2vm))\\n\\t{\\n\\t\\11r 1YZ(3hJ, 2vm);\\n\\t}\\n\\t\\n\\9u(1Z0(2vl))\\n\\t{\\n\\t\\11r 1YZ(3hI, 2vl);\\n\\t}\\n\\11r 8O;\\n}\\n\\2s 2k()\\n{\\n\\1OR 1cA = 3JH();\\n\\9u(2GV == 0)\\n\\t{\\n        if (!1cA)\\n        {\\n            7o;\\n        }\\n        1s\\n        {\\n            2C = 1FB;\\n        }\\n\\t}\\n\\1aC if(2GV == 1)\\n\\t{\\n\\t\\9u (!1cA)\\n\\t\\t{\\n\\t\\t\\14F = 1FA;\\n\\t\\t}\\n\\t\\1aC\\n\\t\\t{\\n\\t\\t\\17O;\\n\\t\\t}\\n\\t}\\n\\1aC\\n\\t{\\n\\t    if (!1cA)\\n\\t\\t{\\n\\t\\t\\14F = 1FA;\\n\\t\\t}\\n\\t\\1aC\\n\\t\\t{\\n\\t\\t\\14F = 1FB;\\n\\t\\t}\\n\\t}\\n}";q.6TY=L9;q.5fm="\\2J 1m 4f;\\1B 5w 3hH;\\1B 5w 3hG;\\1B 5w 3hF;\\1B 5w 3hE;\\1B 5w 3hD;\\n\\1B 5w 3IE;\\1B 5w 5fl;\\1B 1o 1YY;\\n\\1J 1m 2vp;\\1J 1m 2vo;\\1J 1m 2vn;\\1J 1m 2vm;\\1J 1m 2vl;\\n\\1J 1m 2vk;\\1J 1w 2cY;\\n\\1P 1YX(XR 5w 3JG)\\n{\\n\\7c 4M = 3JG * 1m(2vk.1H, 1.0);\\n\\2cW = 4M / 4M.w;\\n\\2cW.1H = 4M.1H * 0.5 + 0.5;\\n\\11r 4M;\\n}\\n\\2s 2k()\\n{\\t\\n    1w 1OG = 1w(4f.1H);\\n\\5fk = 1OG * 1YY;\\n\\5fj = 1m(1OG.1H, 1.0);\\n\\5fi = 1YX(3hH);\\n\\5fh = 1YX(3hG);\\n\\5fg = 1YX(3hF);\\n\\5ff = 1YX(3hE);\\n\\5fe = 1YX(3hD);\\n\\n\\1tg = 11o * 2vk;\\n\\t\\n}";q.6TX=Zl;q.6TW="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n\\1B 1m 1FB;\\1B 1m 1FA;\\1B 5w 1Lx;\\1B 1v 1wr;\\1B 2v 1pc;\\1B 2v 2cX;\\1B 1v 1uI;\\1J 1m 1l7;\\n\\1r 19x(in 1m 4e)\\n{\\n\\4s 1kg = 11N(4e);\\n\\4s 1iU = 1dx.3I;\\n\\4s 1iV = 1dx.3W;\\n\\11r (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\n}\\n\\1r 1YO(in 2v 1D8, in 1m 4M)\\n{\\n\\10O 1h4;\\n    1h4 = 4M.xy * 1wr - 0.5;\\n\\4s x0 = 2t(1h4.x);\\n\\4s x1 = 8a(1h4.x);\\n\\4s y0 = 2t(1h4.y);\\n\\4s y1 = 8a(1h4.y);\\n\\10O 19y = 1.0 / 1wr;\\n\\10O 1YW = 1v((x0 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YU = 1v((x1 + 0.5) * 19y.x, (y0 + 0.5) * 19y.y);\\n\\10O 1YV = 1v((x0 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\10O 1YT = 1v((x1 + 0.5) * 19y.x, (y1 + 0.5) * 19y.y);\\n\\4s 1YS = 19x(1Y(1pc, 1YW));\\n\\4s 1YQ = 19x(1Y(1pc, 1YV));\\n\\4s 1YR = 19x(1Y(1pc, 1YU));\\n\\4s 1YP = 19x(1Y(1pc, 1YT));\\n\\4s 4e = 1V(1V(1YS, 1YR), 1V(1YQ, 1YP));\\n\\11r 4e;\\n}\\n\\2s 2k()\\n{\\n    1Sc();\\n\\7c 1pd = 1l7 / 1l7.w;\\n\\1OQ.xy = 1pd.xy * 0.5 + 0.5;\\n\\1OQ.x = 1pd.x * 9e.z / 1uI.x + 9e.x / 1uI.x;\\n\\1OQ.y = 1pd.y * 9e.w / 1uI.y + 9e.y / 1uI.y;\\n\\4s 1mX = 11N(1Y(2cX, 1pd.xy));\\n    1mX = 1rn(1mX);\\n\\2vj = 1mX * 2.0 - 1.0;\\n\\7c 3h = 1l7;\\n\\2Yh.z = 1mX * 3h.w;\\n\\7c 9I = 1k1 * 3h;\\n\\7c 1mW = 1Lx * 9I;\\n\\7c 4M = 1mW / 1mW.w;\\n\\2cW.1H = 4M.1H * 0.5 + 0.5;\\n\\4s 4e = 1YO(1pc, 4M);\\n\\3JF = 4e * 0.5 + 0.5;\\n\\4s 1dW = abs(1cu(4M.z));\\n\\4s 1dV = abs(1ct(4M.z));\\n\\4s dF = 1V(1dW, 1dV) * 3.0;\\n\\4s 1l0 = 1.1Al-6 + dF;\\n\\4s c = 1o(4e + 0.3JE < 4M.z);\\n\\7c 1rI = 3T(1FB, 1FA, 1m(c));\\n\\9u(1rI.a < 0.1)\\n\\t{\\n\\t\\17O;\\n\\t}\\n\\14F = 1rI;\\n\\14F = 9D(2C);\\n}";q.4hJ="3Q 1m 4f;\\n\\1J 1m 1l7;\\2s 2k()\\n{\\n\\4hI = 11o * 1m(4f.1H, 1.0);\\n\\1tg = 1wa(1l7);\\n}";q.6TV=zd;q.6TU=QK;q.6TT=dj;q.6TS=AC;q.6TR=em;q.6TQ=CU;q.5fd=Gq;q.6TP=To;q.6TO=Xg;q.6TN=DU;q.6TM=tl;q.6TL=fM;q.6TK=Rl;q.6TJ=Xr;q.6TI=Sr;q.6TH=yS;q.6TG=H;q.6TF=am;q.6TE=kz;q.6TD=Uc;q.5fc=Le;q.6TC=Su;q.6TB=Aj;q.6TA=Wt;q.6Tz=N;q.5fb=lE;q.6Ty=Uz;q.6Tx="2n 2v 6T;\\1J 1v 2F;\\n#1z 1uD\\1B 2v 1ta;\\n#1u\\2s 2k()\\n{\\1P 1nV = 1Y(6T, 2F);\\1R 1A = 1nV.2y;\\n#1z 1uD\\6p /= 1Y(1ta, 1v(0.5)).r;\\n#1u\\1r g = 0.985;\\1r a = 0.3fk;\\1r b = 0.1t2;\\1r c = 0.433;\\1r d = 0.238;\\6p = (1A * (1A + a) - b) / (1A * (g * 1A + c) + d);\\6p = 2Y(1A, 0.0, 1.0);\\6p = 1Xg(1A);\\3R = 1m(1A, 1nV.a);\\n}\\n";q.6Tw="2n 2v 6T;\\1J 1v 2F;\\n#1z 1uD\\1B 2v 1ta;\\n#1u\\2s 2k()\\n{\\1P 1nV = 1Y(6T, 2F);\\1R 1A = 1nV.2y;\\n#1z 1uD\\6p /= 1Y(1ta, 1v(0.5)).r;\\n#1u\\6p = 3EH(1A);\\6p = 1Xg(1A);\\3R = 1m(1A, 1nV.a);\\n}\\n";q.6Tv="2n 2v 2GR;\\1B 2v 5fa;\\1B 1v 5f9;\\1B 1o 1Ld;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1Fz = 1Y(2GR, 2F);\\1P 1dT = 1Y(5fa, 2F);\\1r x = 1h(4u.xy - 5f9) / 1Ld;\\1r t = 13f(0.5, 0.8, x);\\3R = 3T(1Fz + 1dT, 1Fz, t);\\n}\\n";q.6Tu="2n 2v 6T;\\1B 2v 3hC;\\1B 1v 2V;\\1B 1o 3L;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1Fz = 1Y(6T, 2F);\\1P 1dT = 1Y(3hC, 2F);\\1r x = 1h(4u.xy - 2V) / 3L;\\1r t = 13f(0.5, 0.8, x);\\3R = 3T(1Fz + 1dT, 1dT, t);\\n}\\n";q.6Tt="#1z 2cO\\n#6A 2jD : 5F\\n#1u\\1B 1m 1Lw;\\1B 2v 1qj;\\1J 1v 2F;\\2s 2k()\\n{\\1U (1Y(1qj, 2F).r < 1.0)\\n{\\n#1z 2cO\\2bp[0] = 1Lw;\\2bp[1] = 1m(1Lw.a);\\n#1s\\3R = 1Lw;\\n#1u\\2j;\\n}\\10W;\\n}\\n";q.6Ts="3G 1w 13L;\\1J 1w 1dy;\\1J 1w 2Yg;\\1J 1w 2Yf;\\1J 1v 9j;\\2s 2k()\\n{\\1R 11E = -13L;\\1NS 1p2 = 3eR(1dy, 2Yg, 2Yf);\\1R 4X = 1T(1dy);\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\1jv 5y;\\10m.4X = 4X;\\10m.1p2 = 1p2;\\10m.11E = 11E;\\10m.st = 9j;\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s\\3R = 1nR(1T(11E), 2q, 1qd);\\n#1u\\n}\\n";q.6Tr="3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 2U;\\2J 1w 8Q;\\2J 1w 8T;\\2J 1v st;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\1J 1w 2Yg;\\1J 1w 2Yf;\\1J 1v 9j;\\2s 2k()\\n{\\1P p = 1nS();\\1t6 = (15D * p).1H;\\1Oe = 11b * 2U;\\5f8 = 11b * 8Q;\\5f7 = 11b * 8T;\\1XA = st;\\11u = 1kV * p;\\n}\\n";q.6Tq="2n 2v 1OO;\\1B 1o 12r;\\1B 1o 1l0;\\1B 1o 1D7;\\1B 1o 1bo;\\1B 1o 1OP;\\1J 1v 2F;\\1P 1mV(1v uv, 1o 4e)\\n{\\2u xy = 1v((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\\1P 1Iw = 1k1 * 1m(xy, 4e, 1.0);\\3JA = 1Iw / 1Iw.w;\\2j 1Iw;\\n}\\1r 19x(in 1m 4e)\\n{\\1r 1kg = 11N(4e);\\1r 1iU = 1dx.3I;\\1r 1iV = 1dx.3W;\\2j (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\n}\\1R 2ve(1w 1bN, 1o 1Iv, 1o 1Iu, 1o 1It, 1o 1Is, 1v 12Q)\\n{\\1P 2vi = 1mV(2F - 1v(0.0, 12Q.y), 1Iv);\\1P 2vh = 1mV(2F + 1v(0.0, 12Q.y), 1Iu);\\1P 2vg = 1mV(2F - 1v(12Q.x, 0.0), 1It);\\1P 2vf = 1mV(2F + 1v(12Q.x, 0.0), 1Is);\\1R up = 1bN.1H - 2vi.1H;\\1R 1fK = 2vh.1H - 1bN.1H;\\1R 3B = 1bN.1H - 2vg.1H;\\1R 2W = 2vf.1H - 1bN.1H;\\1R DX = 1h(3B) < 1h(2W) ? 3B : 2W;\\1R DY = 1h(up) < 1h(1fK) ? up : 1fK;\\2j 1T(4B(DY, DX));\\n}\\2s 2k(1p)\\n{\\1r 4e = 19x(1Y(1aB, 2F));\\1P 1bN = 1mV(2F, 4e);\\1U (1bN.z > 1OP)\\n{\\3R = 1m(1.0);\\2j;\\n}\\2u 12Q = 1.0 / 9e.zw;\\1r 1Iv = 19x(1Y(1aB, 2F- 1v(0.0, 12Q.y)));\\1r 1Iu = 19x(1Y(1aB, 2F+ 1v(0.0, 12Q.y)));\\1r 1It = 19x(1Y(1aB, 2F- 1v(12Q.x, 0.0)));\\1r 1Is = 19x(1Y(1aB, 2F+ 1v(12Q.x, 0.0)));\\1R 2v9 = 2ve(1bN.1H, 1Iv, 1Iu, 1It, 1Is, 12Q);\\1r ao = 0.0;\\2u 1yk = 1v(1.0, 0.0);\\1r 2vd = 90.0 * 2FR;\\1r 2vc = 19x(1Y(1OO, 2F));\\1r 3JD = 1.0 / 9e.z;\\1r 3JC = 1.0 / 9e.w;\\14D (7P i = 0; i < 4; i++)\\n{\\1r 1YN = 2vd * (1o(i) + 2vc);\\1r 1YL = 3i(1YN);\\1r 1YM = 2T(1YN);\\2u 2cV = 1v(1YL * 1yk.x - 1YM * 1yk.y, 1YM * 1yk.x + 1YL * 1yk.y);\\1r 1YI = 0.0;\\1r 2cU = 1bo;\\14D (7P j = 0; j < 6; j++)\\n{\\2u 3JB = 1v(2cV.x * 2cU * 3JD, 2cV.y * 2cU * 3JC);\\2u 1mU = 3JB + 2F;\\1U(1mU.x > 1.0 || 1mU.y > 1.0 || 1mU.x < 0.0 || 1mU.y < 0.0)\\n{\\1Yw;\\n}\\1r 2vb = 19x(1Y(1aB, 1mU));\\1P 2va = 1mV(1mU, 2vb);\\1R 1YK = 2va.1H - 1bN.1H;\\1r 1aZ = 1h(1YK);\\1U (1aZ > 1D7)\\n{\\1Yw;\\n}\\1r 1YJ = 2Y(2A(2v9, 1T(1YK)), 0.0, 1.0 );\\1r 1hF = 1aZ / 1D7;\\3Jz = 1.0 - 1hF * 1hF;\\1U (1YJ < 1l0)\\n{\\3Jy = 0.0;\\n}\\3Jx = 1V(1YI, 1YJ * 1hF);\\3Jw += 1bo;\\n}\\1Ir += 1YI;\\n}\\1Ir /= 4.0;\\1Ir = 1.0 - 2Y(ao, 0.0, 1.0);\\1Ir = 3r(ao, 12r);\\3R = 1m(1w(ao), 1.0);\\n}\\n";q.6Tp="2n 2v 1OO;\\1B 2v 8X;\\1B 1o 12r;\\1B 1o 1l0;\\1B 1o 1D7;\\1B 1o 1bo;\\1B 1o 1OP;\\1J 1v 2F;\\1P 1mV(1v uv, 1o 4e)\\n{\\2u xy = 1v((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\\1P 1Iw = 1k1 * 1m(xy, 4e, 1.0);\\3JA = 1Iw / 1Iw.w;\\2j 1Iw;\\n}\\1R 2ve(1w 1bN, 1o 1Iv, 1o 1Iu, 1o 1It, 1o 1Is, 1v 12Q)\\n{\\1P 2vi = 1mV(2F - 1v(0.0, 12Q.y), 1Iv);\\1P 2vh = 1mV(2F + 1v(0.0, 12Q.y), 1Iu);\\1P 2vg = 1mV(2F - 1v(12Q.x, 0.0), 1It);\\1P 2vf = 1mV(2F + 1v(12Q.x, 0.0), 1Is);\\1R up = 1bN.1H - 2vi.1H;\\1R 1fK = 2vh.1H - 1bN.1H;\\1R 3B = 1bN.1H - 2vg.1H;\\1R 2W = 2vf.1H - 1bN.1H;\\1R DX = 1h(3B) < 1h(2W) ? 3B : 2W;\\1R DY = 1h(up) < 1h(1fK) ? up : 1fK;\\2j 1T(4B(DY, DX));\\n}\\2s 2k(1p)\\n{\\1r 4e = 1Ae(8X, 2F);\\1P 1bN = 1mV(2F, 4e);\\1U (1bN.z > 1OP)\\n{\\3R = 1m(1.0);\\2j;\\n}\\2u 12Q = 1gU / 9e.zw;\\1r 1Iv = 1Ae(8X, 2F - 1v(0.0, 12Q.y));\\1r 1Iu = 1Ae(8X, 2F + 1v(0.0, 12Q.y));\\1r 1It = 1Ae(8X, 2F - 1v(12Q.x, 0.0));\\1r 1Is = 1Ae(8X, 2F + 1v(12Q.x, 0.0));\\1R 2v9 = 2ve(1bN.1H, 1Iv, 1Iu, 1It, 1Is, 12Q);\\1r ao = 0.0;\\2u 1yk = 1v(1.0, 0.0);\\1r 2vd = 90.0 * 2FR;\\1r 2vc = 1Y(1OO, 2F).x;\\14D (7P i = 0; i < 4; i++)\\n{\\1r 1YN = 2vd * (1o(i) + 2vc);\\1r 1YL = 3i(1YN);\\1r 1YM = 2T(1YN);\\2u 2cV = 1v(1YL * 1yk.x - 1YM * 1yk.y, 1YM * 1yk.x + 1YL * 1yk.y);\\1r 1YI = 0.0;\\1r 2cU = 1bo;\\14D (7P j = 0; j < 6; j++)\\n{\\2u 1mU = 2F + 2cV * 2cU * 12Q;\\1U(1mU.x > 1.0 || 1mU.y > 1.0 || 1mU.x < 0.0 || 1mU.y < 0.0)\\n{\\1Yw;\\n}\\1r 2vb = 1Ae(8X, 1mU);\\1P 2va = 1mV(1mU, 2vb);\\1R 1YK = 2va.1H - 1bN.1H;\\1r 1aZ = 1h(1YK);\\1U (1aZ > 1D7)\\n{\\1Yw;\\n}\\1r 1YJ = 2Y(2A(2v9, 1T(1YK)), 0.0, 1.0 );\\1r 1hF = 1aZ / 1D7;\\3Jz = 1.0 - 1hF * 1hF;\\1U (1YJ < 1l0)\\n{\\3Jy = 0.0;\\n}\\3Jx = 1V(1YI, 1YJ * 1hF);\\3Jw += 1bo;\\n}\\1Ir += 1YI;\\n}\\1Ir /= 4.0;\\1Ir = 1.0 - 2Y(ao, 0.0, 1.0);\\1Ir = 3r(ao, 12r);\\3R = 1m(1w(ao), 1.0);\\n}\\n";q.6To="2n 2v 6T;\\1B 2v 3hB;\\1B 7d 2v8;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1R 1A = 1Y(6T, 2F).2y;\\1R ao = 1Y(3hB, 2F).2y;\\3R.2y = 2v8 ? ao : ao * 1A;\\n}\\n";q.6Tn="2n 2v 4d;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1P 1rC = 1Y(4d, 1v(5y.3Jv / (2.0 * 1eN), 0.5));\\2UO = 9D(1rC);\\10H.8t = 1rC.2y;\\10H.2O = 1rC.a;\\2j 2q;\\n}\\n";q.6Tm="3G 1w 13L;\\1J 1w 1dy;\\2s 2k()\\n{\\1R 11E = -13L;\\1R 4X = 1T(1dy);\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\1jv 5y;\\10m.4X = 4X;\\10m.11E = 11E;\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s\\3R = 1nR(1T(11E), 2q, 1qd);\\n#1u\\n}\\n";q.6Tl="3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 2U;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\2s 2k()\\n{\\1P p = 1nS();\\1t6 = (15D * p).1H;\\1Oe = 11b * 2U;\\11u = 1kV * p;\\n}\\n";q.6Tk="3Q 1w 1K;\\2J 1w 2U;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\1J 1v 9j;\\2s 2k()\\n{\\1P p = 1m(1K, 1.0);\\1t6 = (9q * p).1H;\\1Oe = 11b * 2U;\\11u = 11o * p;\\n}\\n";q.6Tj="#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 2v 1Xv;\\n#1z 1mP\\1B 1m 1nU;\\n#1u\\1J 1o 2Y8;\\1J 1v 2F;\\1J 1m 1nW;\\1J 1m 15g;\\n#1z 1D2\\1J 1m 1CK;\\1J 1o 2Y6;\\n#1u\\n#1z 1tf\\1J 1m 1OL;\\1J 1m 1YH;\\1J 1m 1YG;\\1J 1bG 2Y7;\\4i 1o 1uH = 18C.0;\\4i 1o 1YB = 2.0;\\4i 1o 2cR = 1.0 / 18C.0;\\4i 1o 2v5 = 1.0 / 2.0;\\1r 1rB(1v 1OM, 1v 2Ye, 7d 1Ip, 1v 6e, 1v 1cM)\\n{\\2u 2Yd = 1cM * (2Ye - 1OM);\\5f6 = 2Y7 * 2Yd;\\2u 3Ju = (6e - 1cM) * (2Ye - 1v(0.0, 1YH.y));\\2u 14L = 1YH.zw;\\1U (1Ip)\\n{\\5f5 += (6e * 1YH.xy * 1v(1.0, 0.0));\\n}\\2u st = ((2Yd - 14L + 3Ju) + 4u.xy) / 9e.zw;\\1r 17n = 11N(1Y(1aB, st));\\1U (17n == 0.0)\\n{\\2j 0.0;\\n}\\1P 5Z = 1az(4u.xy, 17n);\\2j 5Z.z / 5Z.w;\\n}\\n#1u\\n#1z 1D2\\1r 2Ya(1v 1K)\\n{\\2j 1Y(1Xv, 1K).r;\\n}\\1P 1ON(1v 1K, 1o 5R, 1m 5M, 1o 1l6)\\n{\\1r 3s = 2Ya(1K);\\1U (5R > 0.0)\\n{\\1r 2Yc = 2Y(1Iq - 5R, 0.0, 1Iq);\\1r 3Jt = 13f(1Iq - 1l6, 1Iq + 1l6, 3s);\\1P 2Yb = 3T(5M, 15g, 3Jt);\\1r 2O = 13f(2Yc - 1l6, 2Yc + 1l6, 3s);\\2j 1m(2Yb.2y, 2Yb.a * 2O);\\n}\\5L\\n{\\1r 2O = 13f(1Iq - 1l6, 1Iq + 1l6, 3s);\\2j 1m(15g.2y, 15g.a * 2O);\\n}\\n}\\n#1u\\2s 2k()\\n{\\1P 1A = 1Y(1Xv, 2F);\\n#1z 1D2\\1r 5R = 2Y6;\\1P 5M = 1CK;\\1r 3s = 2Ya(2F);\\n#if 2l(8p) || 2l(1dt)\\1r 1l6 = 2Gl(3s);\\2u 1us = 0.354 * 1v(1cu(2F) + 1ct(2F));\\1P 2V = 1ON(2F, 5R, 5M, 1l6);\\1P 1dT = 1ON(2F + 1v(1us.x, 1us.y), 5R, 5M, 1l6);\\1P 1mG = 1ON(2F + 1v(-1us.x, 1us.y), 5R, 5M, 1l6);\\1P 2sD = 1ON(2F + 1v(-1us.x, -1us.y), 5R, 5M, 1l6);\\1P 2sE = 1ON(2F + 1v(1us.x, -1us.y), 5R, 5M, 1l6);\\6p = (2V + 1dT + 1mG + 2sD + 2sE)/5.0;\\n#1s\\1r 1l6 = 1.0/32.0;\\6p = 1ON(2F, 5R, 5M, 1l6);\\n#1u\\6p = 9D(1A);\\n#1s\\6p = 9D(1A);\\6p *= 9D(15g);\\n#1u\\n#if !2l(18W) && !2l(1bl)\\1U (1A.a < 0.1Am)\\n{\\10W;\\n}\\n#1s\\n#1z 18W\\1U (1A.a < 0.995)\\n{\\10W;\\n}\\n#1s\\1U (1A.a >= 0.995)\\n{\\10W;\\n}\\n#1u\\n#1u\\n#1z 1mP\\6p *= 1nU;\\n#1u\\n#1z 4hH\\n#1z 10B\\1r 1qk = 1iK(2Y8) * 2ji;\\n#1s\\1r 1qk = 4u.z;\\n#1u\\3R = 1m(1qk, 1qk * 1qk, 1.0, 1.0);\\n#1s\\3R = 1A;\\n#1u\\n#1z 10B\\1ri();\\n#1u\\n#1z 1tf\\1r 4W = 1YG.y;\\15L = 4W * 2v5;\\1r 2cS = (4W - 2t(4W)) * 1YB;\\166 2Y9 = 2cS != 0.0;\\166 1Ip = 2t(4W) != 0.0;\\1U (2Y9) {\\15L = 1YG.z;\\15L = 4W * 2cR;\\2u 6e;\\2cQ.y = (4W - 2t(4W)) * 1uH;\\2cQ.x = 2t(4W);\\15L = 1YG.w;\\15L = 4W * 2cR;\\2u 1cM;\\2XW.y = (4W - 2t(4W)) * 1uH;\\2XW.x = 2t(4W);\\2u 1OM = 2F - 1OL.xy;\\5f4 = 1OM / 1v(1OL.z - 1OL.x, 1OL.w - 1OL.y);\\1r 2v7 = 1YG.x + 1jt;\\1r 1YF = 1rB(1OM, 1YH.xy, 1Ip, 6e, 1cM);\\1U (1YF != 0.0 && 1YF > 2v7)\\n{\\1r 1YE = 1rB(1OM, 1v(0.0, 1.0), 1Ip, 6e, 1cM);\\1U (1YE != 0.0 && 1YE > 2v7)\\n{\\1r 1YD = 1rB(1OM, 1v(1.0, 1.0), 1Ip, 6e, 1cM);\\1U (1YD != 0.0 && 1YD > 2v7)\\n{\\10W;\\n}\\n}\\n}\\n}\\n#1u\\n}\\n";q.6Ti="#1z 2tg\\2J 1v 2G;\\n#1u\\2J 1m 1xT;\\2J 1m 1Cr;\\2J 1m 1lU;\\2J 1m 1lV;\\2J 1m 1D5;\\2J 1m 19V;\\2J 1m 13h;\\2J 1m 1cd;\\2J 1m 1OK;\\2J 1v 1D1;\\n#if 2l(1Lu) || 2l(1tf)\\2J 1m 2cP;\\n#1u\\n#1z 1mP\\2J 1o 1k8;\\n#1u\\1B 1o 3hA;\\1J 1o 2Y8;\\1J 1v 2F;\\n#1z 1tf\\1J 1m 1OL;\\1J 1m 1YH;\\1J 1m 1YG;\\1J 1bG 2Y7;\\n#1u\\1J 1m 1nW;\\1J 1m 15g;\\n#1z 1D2\\1J 1m 1CK;\\1J 1o 2Y6;\\n#1u\\4i 1o 2cT = 1Aw.0;\\4i 1o 2st = 12v.0;\\4i 1o 1uH = 18C.0;\\4i 1o 16P = 256.0;\\4i 1o 2Y1 = 128.0;\\4i 1o 3Jp = 32.0;\\4i 1o 3Jn = 8.0;\\4i 1o 2Y3 = 4.0;\\4i 1o 1YB = 2.0;\\4i 1o 2cR = 1.0 / 18C.0;\\4i 1o 16s = 1.0 / 256.0;\\4i 1o 3Jq = 1.0 / 128.0;\\4i 1o 2Y2 = 1.0 / 32.0;\\4i 1o 3Jo = 1.0 / 8.0;\\4i 1o 2Y4 = 1.0 / 4.0;\\4i 1o 2v5 = 1.0 / 2.0;\\1P 1Oc(1m 4p, 1v 1cM, 1o 3b, 1v 2G, 1v 9X, 1v 11v, 1v 14l, 1w 1l5, 7d 1D3, 1o 5S, 7d 1jC, 9H 1bG 1h3, 9H 1o 1l3)\\n{\\2u 1xS = 1cM * 3b * 0.5;\\2bn *= ((2G * 2.0) - 1.0);\\2u 3Jr = 9X * abs(1xS);\\n#if 2l(2GU) || 2l(2kL)\\1U (1D3 || 5S != 0.0)\\n{\\1r 8f = 5S;\\1U (1D3)\\n{\\1P 1D6 = 11o * 1m(1l5, 0.0);\\18p += 12q(-1D6.x) * 1cz(12q(1D6.y) * (1D6.y * 1D6.y) /\\n(1D6.x * 1D6.x + 1D6.y * 1D6.y));\\n}\\1r 1ux = 3i(8f);\\1r 1YA = 2T(8f);\\3Js = 1bG(1ux, 1YA, -1YA, 1ux);\\2bn = 1h3 * 1xS;\\n}\\5L\\n{\\3Js = 1bG(1.0, 0.0, 0.0, 1.0);\\n}\\n#1u\\5f3 = 1dv(4p);\\1eR.xy += (3Jr + 1xS) * 15B(1jC, 1.0, 1l3);\\1eR.xy += (11v + 14l) * 1l3;\\2j 4p;\\n}\\n#1z 1Lu\\1r 1rB(1m 4p)\\n{\\1P 1Cs = 18a(4p);\\1r 1aT = 11N(1Y(1aB, 1Cs.xy / 9e.zw));\\1U (1aT == 0.0)\\n{\\2j 0.0;\\n}\\1P 5Z = 1az(1Cs.xy, 1aT);\\2j 5Z.z / 5Z.w;\\n}\\n#1u\\2s 2k()\\n{\\1R 1Su = 1xT.1H;\\1R 1St = 1Cr.1H;\\1r 3b = 1xT.w;\\n#if 2l(2GU) || 2l(2kL)\\1r 5S = 1Cr.w;\\n#1s\\1r 5S = 0.0;\\n#1u\\1r 1iW = 1lU.x;\\2u 14l;\\2v4.x = 2t(1iW * 3Jq);\\2v6 -= 14l.x * 2Y1;\\2v4.x -= 2cT;\\2u 9X;\\2Y5.x = 2t(1iW * 2Y2);\\2v6 -= 9X.x * 3Jp;\\2Y5.y = 2t(1iW * 3Jo);\\2v6 -= 9X.y * 3Jn;\\n#1z 1tf\\2u 2XV = 9X.xy;\\n#1u\\2Y5 -= 1v(1.0);\\1r 2p = 2t(1iW * 2Y4);\\2v6 -= 2p * 2Y3;\\n#1z 2tg\\2u 3Jm = 1mL(1lU.w);\\2u 3Jl = 1mL(19V.w);\\2u 8u = 3Jm + 2G * 3Jl;\\n#1s\\2u 2G;\\1fN.x = 2t(1iW * 2v5);\\1fN.y = 1iW - 2G.x * 1YB;\\2u 8u = 1mL(1lU.w);\\n#1u\\1r 4W = 1lU.y  * 16s;\\2v4.y = -(2t(4W) - 2cT);\\2u 11v;\\1YC.y = (4W - 2t(4W)) * 2st;\\15L = 1lU.z * 16s;\\1YC.x = 2t(4W) - 2cT;\\1YC.y += (4W - 2t(4W)) * 16P;\\1YC.y -= 2cT;\\15L = 1lV.x * 16s;\\1r 2cS = 2t(1D5.w * 2Y4);\\2u 1cM = 1v(2t(4W), 2cS);\\n#1z 1tf\\1r 1Lv = 2t(1D5.w - (2cS * 2Y3));\\1r 1Ip = 0.0;\\1U (1Lv != 0.0)\\n{\\5f2 = 1.0;\\5f1 -= 2.0;\\3Jk.x = 1Lv + 1.0;\\n}\\3Jk = 1v(1.0) - (2XV * 0.5);\\n#1u\\n#1z 1Ox\\1P 15M;\\1Ia.x = 1lV.z;\\1Ia.z = 1lV.w;\\1Ia.y = ((4W - 2t(4W)) * 16P) / 255.0;\\15L = 1lV.y * 16s;\\1Ia.w = ((4W - 2t(4W)) * 16P) / 255.0;\\n#1u\\n#if 2l(1Lu) || 2l(1tf)\\15L = 1OK.w;\\15L = 4W * 2cR;\\2u 6e;\\2cQ.y = (4W - 2t(4W)) * 1uH;\\2cQ.x = 2t(4W);\\n#1u\\n#1z 2kL\\1R 1l5 = 1gT(2t(1lV.y * 16s));\\15L = 1D5.z * 2Y2;\\166 1D3 = (4W - 2t(4W)) * 1YB > 0.0;\\n#1s\\1R 1l5 = 1w(0.0);\\166 1D3 = 16f;\\n#1u\\1P 1fR;\\1P 1A;\\15L = 1D5.y;\\15L = 4W * 16s;\\1y9.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\1y9.g = (4W - 2t(4W)) * 16P;\\1y9.r = 2t(4W);\\15L = 1D5.x;\\15L = 4W * 16s;\\6p.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\6p.g = (4W - 2t(4W)) * 16P;\\6p.r = 2t(4W);\\15L = 1D5.z * 16s;\\166 1jC = 2t((4W - 2t(4W)) * 2Y1) > 0.0;\\15L = 2t(4W) * 16s;\\1y9.a = (4W - 2t(4W)) * 16P;\\1y9 /= 255.0;\\6p.a = 2t(4W);\\6p /= 255.0;\\1P p = 16e(1Su, 1St);\\1P 4p = 15D * p;\\n#if 2l(1tf) || 2l(1Lu)\\1r 3Je = 4p.z;\\n#1u\\n#1z 1D4\\1R 3Jh = 19V.1H;\\1r 3Jj = 1dv(4p);\\3Ji.y = 3Jj * 19V.y;\\3Ji.z = 3hA;\\1eR = 2FU(4p, 3Jh.1H);\\n#1s\\1eR = 2FU(4p, 19V.1H);\\n#1u\\1eR.1H *= 2p;\\n#if 2l(2c8) || 2l(1Ox) || 2l(3hz) || 2l(1Fm) || 2l(1Ow)\\1r 1eT;\\1U (1kO == 1HG)\\n{\\1XV = 2tZ.y;\\n}\\5L\\n{\\1XV = 2A(4p.1H, 4p.1H);\\n}\\n#1u\\n#1z 2c8\\1r 2Y0 = 1Sk(13h, 1eT);\\3DU *= 2Y0;\\1YC *= 2Y0;\\1U (3b == 0.0)\\n{\\1eR.1H = 1w(0.0);\\n}\\n#1u\\1r 1Ov = 1.0;\\n#1z 1Ox\\3GL = 1Sk(15M, 1eT);\\1U (1Ov == 0.0)\\n{\\1eR.1H = 1w(0.0);\\n}\\n#1u\\n#1z 3hz\\1r 3Jg = 1Sk(1cd, 1eT);\\2v4 *= 3Jg;\\n#1u\\n#1z 1Fm\\1r 1Ou = 1OK.x;\\1r 1Ot = 1OK.y;\\1U (1eT < 1Ou || 1eT > 1Ot)\\n{\\1eR.1H = 1w(0.0);\\n}\\n#1u\\1KZ 1h3;\\1r 1l3;\\n#1z 1Ow\\1r 11p = 1OK.z;\\n#1u\\n#1z 1Lu\\1U (1eT < 11p) {\\1r 1HQ = 10.0;\\2u 2v3 = 2cP.xy;\\1P 2XZ = 1Oc(4p, 6e, 3b, 1v(0.0), 9X, 2v3, 14l, 1l5, 1D3, 5S, 1jC, 1h3, 1l3);\\1r 1YF = 1rB(2XZ);\\1U (1YF != 0.0 && 2XZ.z + 1HQ < 1YF)\\n{\\1P 2XY = 1Oc(4p, 6e, 3b, 1v(0.0, 1.0), 9X, 2v3, 14l, 1l5, 1D3, 5S, 1jC, 1h3, 1l3);\\1r 1YE = 1rB(2XY);\\1U (1YE != 0.0 && 2XY.z + 1HQ < 1YE)\\n{\\1P 2XX = 1Oc(4p, 6e, 3b, 1v(1.0), 9X, 2v3, 14l, 1l5, 1D3, 5S, 1jC, 1h3, 1l3);\\1r 1YD = 1rB(2XX);\\1U (1YD != 0.0 && 2XX.z + 1HQ < 1YD)\\n{\\1eR.1H = 1w(0.0);\\n}\\n}\\n}\\n}\\n#1u\\1eR = 1Oc(4p, 1cM, 3b, 2G, 9X, 11v, 14l, 1l5, 1D3, 5S, 1jC, 1h3, 1l3);\\11u = 17B * 4p;\\1mN = 8u;\\n#1z 10B\\1we();\\5f0 = 1.0 - 18z.x + 6I.w;\\n#1u\\n#1z 1Ow\\1U (11p == 0.0 && 2kc != 0.0)\\n{\\3GK = 2kc;\\n}\\1U (11p != 0.0)\\n{\\1r 1Yb = 6I.z / 6I.w;\\166 12P = (1Yb < -1.0 || 1Yb > 1.0);\\1U (!12P && (11p < 0.0 || (1eT > 0.0 && 1eT < 11p)))\\n{\\11u.z = -6I.w;\\n#1z 10B\\2Tc = 1.0;\\n#1u\\n}\\n}\\n#1u\\n#1z 1tf\\1U (1jC) {\\1YC /= 1l3;\\2cQ /= 1l3;\\2XW /= 1l3;\\n}\\n#if 2l(2GU) || 2l(2kL)\\3Jf = 1h3;\\n#1s\\3Jf = 1bG(1.0, 0.0, 0.0, 1.0);\\n#1u\\1r 3Jd = 0.0;\\1U (1eT < 11p)\\n{\\5eZ = 1.0;\\n}\\1r dw = 2t(2Y(6e.x, 0.0, 1uH));\\1r dh = 2t(2Y(6e.y, 0.0, 1uH));\\1r iw = 2t(2Y(1cM.x, 0.0, 1uH));\\1r ih = 2t(2Y(1cM.y, 0.0, 1uH));\\2v2.x = 3Je;\\2v2.y = 1Ip * 1YB + 3Jd;\\2v2.z = dw * 1uH + dh;\\2v2.w = iw * 1uH + ih;\\3Jc.xy = 2XV;\\3Jc.zw = 11v;\\5eY = 2cP;\\n#1u\\n#1z 1D2\\1P 5M;\\1r 5R;\\15L = 1D1.x;\\15L = 4W * 16s;\\1y8.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\1y8.g = (4W - 2t(4W)) * 16P;\\1y8.r = 2t(4W);\\15L = 1D1.y;\\15L = 4W * 16s;\\1r 5eX = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\5eW = (4W - 2t(4W)) * 16P;\\1y8.a = 2t(4W);\\1y8 /= 255.0;\\5eV = 5R / 255.0;\\2W8 = 5M;\\n#1u\\2VR = 1fR;\\1wi = 1A;\\1wi.a *= 1Ov;\\n}\\n";q.6Th="2n 2v 6T;\\1B 1o 2GT;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1R 2y = 1Y(6T, 2F).2y;\\n#1z 2GN\\1U (1Lt()) {\\3R = 1m(2y, 1.0);\\2j;\\n}\\n#1u\\1r 1Fj = 2Ty(2y);\\1r 1k2 = 1Fj * 2GT;\\5eU = (1k2 - 8N(1k2)) / 2GT;\\3R = 1m(1w(1k2), 1.0);\\n}\\n";q.6Tg="2n 2v 16S;\\1B 1o 3IZ;\\1J 1v 2F;\\4i 1w 3Jb = 1w(0.1NX, 0.1KS, 0.1NW);\\2s 2k()\\n{\\1P 2cL = 1Y(16S, 2F);\\1r 5eT = 2A(2cL.2y, 3Jb);\\1P 1A;\\1U(5eT > 3IZ && 2cL.a > 0.0)\\n{\\6p = 2cL * 4.0;\\n}\\5L\\n{\\6p = 1m(0.0);\\n}\\3R = 1A;\\n}\\n";q.6Tf="2n 2v 6T;\\1B 2v 3hy;\\1B 7d 2v1;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1P 1A = 1Y(6T, 2F);\\n#1z 2GN\\1U (1Lt()) {\\3R = 1A;\\2j;\\n}\\n#1u\\1P 1o4 = 1Y(3hy, 2F);\\3R = 2v1 ? 1o4 : 1o4 + 1A;\\n}\\n";q.6Te="2n 2v 1OJ;\\1B 1v 1OI;\\1J 1v 2F;\\1P 2uZ(2v 10h, 1v uv, 1v 14v)\\n{\\1P A = 1Y(10h, uv + 14v * 1v(-1.0, -1.0));\\1P B = 1Y(10h, uv + 14v * 1v( 0.0, -1.0));\\1P C = 1Y(10h, uv + 14v * 1v( 1.0, -1.0));\\1P D = 1Y(10h, uv + 14v * 1v(-0.5, -0.5));\\1P E = 1Y(10h, uv + 14v * 1v( 0.5, -0.5));\\1P F = 1Y(10h, uv + 14v * 1v(-1.0,  0.0));\\1P G = 1Y(10h, uv                               );\\1P H = 1Y(10h, uv + 14v * 1v( 1.0,  0.0));\\1P I = 1Y(10h, uv + 14v * 1v(-0.5,  0.5));\\1P J = 1Y(10h, uv + 14v * 1v( 0.5,  0.5));\\1P K = 1Y(10h, uv + 14v * 1v(-1.0,  1.0));\\1P L = 1Y(10h, uv + 14v * 1v( 0.0,  1.0));\\1P M = 1Y(10h, uv + 14v * 1v( 1.0,  1.0));\\2u 5u = (1.0 / 4.0) * 1v(0.5, 0.125);\\1P o = (D + E + I + J) * 5u.x;\\no += (A + B + G + F) * 5u.y;\\no += (B + C + H + G) * 5u.y;\\no += (F + G + L + K) * 5u.y;\\no += (G + H + M + L) * 5u.y;\\2j o;\\n}\\1P 5eS(2v 10h, 1v uv, 1v 14v)\\n{\\1P d = 14v.1gZ * 1m(-1.0, -1.0, 1.0, 1.0);\\1P s;\\ns =  1Y(10h, uv + d.xy);\\ns += 1Y(10h, uv + d.zy);\\ns += 1Y(10h, uv + d.xw);\\ns += 1Y(10h, uv + d.zw);\\2j s * (1.0 / 4.0);\\n}\\2s 2k()\\n{\\1P 1A = 2uZ(1OJ, 2F, 1OI.xy);\\3R = 1A;\\n}\\n";q.6Td="2n 2v 1OJ;\\1B 1v 1OI;\\1B 1o 3hx;\\1B 1o 4hG;\\1J 1v 2F;\\4i 1w 3Jb = 1w(0.1NX, 0.1KS, 0.1NW);\\1P 2uZ(2v 10h, 1v uv, 1v 14v)\\n{\\1P A = 1Y(10h, uv + 14v * 1v(-1.0, -1.0));\\1P B = 1Y(10h, uv + 14v * 1v( 0.0, -1.0));\\1P C = 1Y(10h, uv + 14v * 1v( 1.0, -1.0));\\1P D = 1Y(10h, uv + 14v * 1v(-0.5, -0.5));\\1P E = 1Y(10h, uv + 14v * 1v( 0.5, -0.5));\\1P F = 1Y(10h, uv + 14v * 1v(-1.0,  0.0));\\1P G = 1Y(10h, uv                               );\\1P H = 1Y(10h, uv + 14v * 1v( 1.0,  0.0));\\1P I = 1Y(10h, uv + 14v * 1v(-0.5,  0.5));\\1P J = 1Y(10h, uv + 14v * 1v( 0.5,  0.5));\\1P K = 1Y(10h, uv + 14v * 1v(-1.0,  1.0));\\1P L = 1Y(10h, uv + 14v * 1v( 0.0,  1.0));\\1P M = 1Y(10h, uv + 14v * 1v( 1.0,  1.0));\\2u 5u = (1.0 / 4.0) * 1v(0.5, 0.125);\\1P o = (D + E + I + J) * 5u.x;\\no += (A + B + G + F) * 5u.y;\\no += (B + C + H + G) * 5u.y;\\no += (F + G + L + K) * 5u.y;\\no += (G + H + M + L) * 5u.y;\\2j o;\\n}\\1P 5eR(1m 1A, 1o 19U, 1w 2v0)\\n{\\1r br = 1V(1V(1A.r, 1A.g), 1A.b);\\1r rq = 2Y(br - 2v0.x, 0.0, 2v0.y);\\5eQ = 2v0.z * rq * rq;\\6p *= 1V(rq, br - 19U) / 1V(br, 1.1Al-4);\\2j 1A;\\n}\\1P 3Ja(1m 1A, 1v uv)\\n{\\1r br = 1V(1V(1A.r, 1A.g), 1A.b);\\1U(br < 3hx)\\n{\\6p = 1m(0.0);\\n}\\2j 1A;\\n}\\1P 3J9(1m c)\\n{\\2j 2o(c, 5eP.0);\\n}\\2s 2k()\\n{\\1P 1A = 2uZ(1OJ, 2F, 1OI.xy);\\3R = 3Ja(3J9(1A), 2F);\\n}\\n";q.6Tc="2n 2v 1OJ;\\1B 2v 3hw;\\1B 1v 1OI;\\1B 1o 3hv;\\1J 1v 2F;\\1P 3J8(1m 1o4, 1v uv)\\n{\\1P 1A = 1Y(3hw, uv);\\2j 1o4 + 1A;\\n}\\1P 2uV(2v 10h, 1v uv, 1v 14v, 1m 1Yz)\\n{\\1P d = 14v.1gZ * 1m(1.0, 1.0, -1.0, 0.0) * 1Yz;\\1P s;\\ns =  1Y(10h, uv - d.xy);\\ns += 1Y(10h, uv - d.wy) * 2.0;\\ns += 1Y(10h, uv - d.zy);\\ns += 1Y(10h, uv + d.zw) * 2.0;\\ns += 1Y(10h, uv       ) * 4.0;\\ns += 1Y(10h, uv + d.xw) * 2.0;\\ns += 1Y(10h, uv + d.zy);\\ns += 1Y(10h, uv + d.wy) * 2.0;\\ns += 1Y(10h, uv + d.xy);\\2j s * (1.0 / 16.0);\\n}\\1P 5eO(2v 10h, 1v uv, 1v 14v, 1m 1Yz)\\n{\\1P d = 14v.1gZ * 1m(-1.0, -1.0, 1.0, 1.0) * (1Yz * 0.5);\\1P s;\\ns =  1Y(10h, uv + d.xy);\\ns += 1Y(10h, uv + d.zy);\\ns += 1Y(10h, uv + d.xw);\\ns += 1Y(10h, uv + d.zw);\\2j s * (1.0 / 4.0);\\n}\\2s 2k()\\n{\\1P 1o4 = 2uV(1OJ, 2F, 1OI.xy, 1m(3hv));\\3R = 3J8(1o4, 2F);\\n}\\n";q.6Tb="3G 1v 2F;\\4i 1o 1SF = 3.24J;\\1r 3J6(7P i)\\n{\\1r r;\\1r 13T = 2.0;\\1r 1Q = 0.0;\\1r 2uY = 1.0 / 13T;\\1r 3J7 = 2uY;\\14D (7P x = 0; x < 100; x++)\\n{\\1U (i <= 0)\\n{\\1Yw;\\n}\\nr = 13R(1o(i), 13T);\\1ak += r * 3J7;\\5eN *= 2uY;\\ni = 7P(1o(i) * 2uY);\\n}\\2j 1Q;\\n}\\2u 3J3(7P i, 7P N)\\n{\\2j 1v(1o(i) / 1o(N), 3J6(i));\\n}\\1R 3J2(1v xi, 1o 12V, 1w N)\\n{\\1r a = 12V * 12V;\\1r 2XU = 2.0 * 1SF * xi.x;\\1r 1ux = 3Y((1.0 - xi.y) / (1.0 + (a * a - 1.0) * xi.y));\\1r 1YA = 3Y(1.0 - 1ux * 1ux);\\1R H = 1w(1YA * 3i(2XU), 1YA * 2T(2XU), 1ux);\\1R 3J5 = abs(N.z) < 0.999 ? 1w(0.0, 0.0, 1.0) : 1w(1.0, 0.0, 0.0);\\1R 2XT = 1T(4B(3J5, N));\\1R 3J4 = 4B(N, 2XT);\\2j 2XT * H.x + 3J4 * H.y + N * H.z;\\n}\\1r 2XS(1o 1cb, 1o k)\\n{\\2j 1cb / (1cb * (1.0 - k) + k);\\n}\\1r 3J1(1o 12V, 1o 1cb, 1o 1uB)\\n{\\1r k = 12V * 12V / 2.0;\\2j 2XS(1cb, k) * 2XS(1uB, k);\\n}\\2u 3J0(1o 12V, 1o 1cb)\\n{\\1R V = 1w(3Y(1.0 - 1cb * 1cb), 0.0, 1cb);\\1r A = 0.0;\\1r B = 0.0;\\4i 7P 2uX = 13j;\\14D (7P i = 0; i < 2uX; i++)\\n{\\2u xi = 3J3(i, 2uX);\\1R H = 3J2(xi, 12V, 1w(0.0, 0.0, 1.0));\\1R L = 2.0 * 2A(V, H) * H - V;\\1r 1uB = 2Y(L.z, 0.0, 1.0);\\1r 1uA = 2Y(H.z, 0.0, 1.0);\\1r 1y3 = 2Y(2A(V, H), 0.0, 1.0);\\1U (1uB > 0.0)\\n{\\1r G = 3J1(12V, 1cb, 1uB);\\1r 2XR = G * 1y3 / (1uA * 1cb);\\1r Fc = 3r(1.0 - 1y3, 5.0);\\nA += (1.0 - Fc) * 2XR;\\nB += Fc * 2XR;\\n}\\n}\\2j 1v(A, B) / 1o(2uX);\\n}\\2s 2k()\\n{\\3R = 1m(3J0(2F.y, 2F.x), 0.0, 1.0);\\n}\\n";q.6Ta="2n 2v 16S;\\1B 1o 4hF;\\1B 1o 3IZ;\\1B 1o 5eM;\\1J 1v 2F;\\1r 10t(1o avg)\\n{\\1r 2XQ = 1.5 - (1.5 / (avg * 0.1 + 1.0));\\2j 1V(0.0, 2XQ) + 0.1;\\n}\\2s 2k()\\n{\\1P 1A = 1Y(16S, 2F);\\1R 1H = 2VP(1A.2y);\\1r 1Fj = 1H.r;\\1r 2XP = 10t(4hF) * 1Fj / 4hF;\\1r 2kK = 1V(2XP - 3IZ, 0.0);\\1r 1hG = 2kK / (5eM + 2kK);\\2jw.r = 1hG;\\3R = 1m(2Um(1H), 1.0);\\n}\\n";q.6T9="2n 2v 6T;\\1B 1o 2GS;\\1B 1o 19U;\\1B 1o 2M;\\1J 1v 2F;\\1r 10t(1o avg)\\n{\\1r 2XQ = 1.5 - (1.5 / (avg * 0.1 + 1.0));\\2j 1V(0.0, 2XQ) + 0.1;\\n}\\2s 2k()\\n{\\1P 1A = 1Y(6T, 2F);\\1R 1H = 2VP(1A.2y);\\1r 1Fj = 1H.r;\\1r 2XP = 10t(2GS) * 1Fj / 2GS;\\1r 2kK = 1V(2XP - 19U, 0.0);\\1r 1hG = 2kK / (2M + 2kK);\\2jw.r = 1hG;\\3R = 1m(2Um(1H), 1.0);\\n}\\n";q.6T8="2n 2v 6T;\\1B 1o 1hG;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1R 2y = 1Y(6T, 2F).2y;\\1R 15s = 1w(0.0);\\3R = 1m(3T(15s, 2y, 1hG), 1.0);\\n}\\n";q.6T7="2n 2v 4d;\\1B 1o 1xN;\\1B 1v 12G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\2u 3IY = 8N(12G * st);\\1r 2XO = 1Y(4d, 3IY).1yj;\\1r 3hu = 1o(3IW.x);\\2u 3IX = 8N(12G * (st + 1v(1.0 / 3hu, 0.0)));\\1r 3IU = 1Y(4d, 3IX).1yj;\\1r 3ht = 1o(3IW.y);\\2u 3IV = 8N(12G * (st + 1v(0.0, 1.0 / 3ht)));\\1r 3IT = 1Y(4d, 3IV).1yj;\\1R 1i6 = 1T(1w(2XO - 3IU, 2XO - 3IT, 2Y(1.0 - 1xN, 0.1, 1.0)));\\1R 4X = 5y.1p2 * 1i6;\\10H.2U = 4X;\\10H.8t = 1w(0.11t);\\2j 2q;\\n}\\n";q.6T6="2n 2v 3hs;\\2s 2k()\\n{\\1r 1C1 = 1Y(3hs, 1v(0.5, 0.5)).r;\\1r 1SV = 4hE.0;\\3R = 1m(abs(1C1 - 1SV), 0.0, 0.0, 1.0);\\n}\\n";q.6T5="2n 1m 18V;\\1B 1m 1In;\\1B 1v 12G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r b = 13R(2t(12G.s * st.s) + 2t(12G.t * st.t), 2.0);\\1r 1l2 = 8N(12G.s * st.s);\\3Hq = abs(1l2 - 2t(1l2 + 0.5));\\1r 1ic = 8N(12G.t * st.t);\\3Hp = abs(1ic - 2t(1ic + 0.5));\\1r 1Q = 2o(1l2, 1ic);\\1P 1aj = 3T(18V, 1In, b);\\1P 1A = 1k5(18V, 1In, 1aj, 1Q, 0.25l);\\6p = 9D(1A);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\2j 2q;\\n}\\n";q.6T4="2n 2v 2bs;\\1B 2v 2br;\\1B 2v 2bq;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1xU = 1Y(2bs, 2F);\\1P 1HR = 1Y(2br, 2F);\\1r r = 1Y(2bq, 2F).r;\\n#1z 2cO\\1P 18b = 1m(1HR.2y / 2Y(r, 1e-4, 5e4), 1HR.a);\\n#1s\\1P 18b = 1m(1HR.2y / 2Y(1HR.a, 1e-4, 5e4), r);\\n#1u\\3R = (1.0 - 18b.a) * 18b + 18b.a * 1xU;\\1U (1xU != 4hD)\\n{\\3R.a = 1.0;\\n}\\n}\\n";q.6T3="2n 2v 2GR;\\n#1z 2uW\\1B 1v 3hp;\\1B 1m 2GQ;\\1B 1w 2kJ;\\1B 1w 3hn;\\1B 2v 3hq;\\1B 2v 3ho;\\n#1u\\n#1z 2XL\\1B 1o 3hk;\\1B 1o 3hj;\\1B 1o 3hh;\\1B 1o 3hi;\\n#1u\\n#1z 2XM\\1B 2v 3hm;\\n#1u\\n#1z 2uU\\1B 1o 3hl;\\1B 1o 3hr;\\n#1u\\1J 1v 2F;\\1P 2uV(2v 10h, 1v uv, 1v 14v, 1m 1Yz)\\n{\\1P d = 14v.1gZ * 1m(1.0, 1.0, -1.0, 0.0) * 1Yz;\\1P s;\\ns =  1Y(10h, uv - d.xy);\\ns += 1Y(10h, uv - d.wy) * 2.0;\\ns += 1Y(10h, uv - d.zy);\\ns += 1Y(10h, uv + d.zw) * 2.0;\\ns += 1Y(10h, uv       ) * 4.0;\\ns += 1Y(10h, uv + d.xw) * 2.0;\\ns += 1Y(10h, uv + d.zy);\\ns += 1Y(10h, uv + d.wy) * 2.0;\\ns += 1Y(10h, uv + d.xy);\\2j s * (1.0 / 16.0);\\n}\\n#1z 2uU\\1R 3IO(1w 1gl)\\n{\\2j 2Y((1gl * (2.51 * 1gl + 0.25l)) / (1gl * (2.43 * 1gl + 0.59) + 0.14), 0.0, 1.0);\\n}\\1R 2XN(1w x)\\n{\\1r A = 0.22;\\1r B = 0.3;\\1r C = 0.1;\\1r D = 0.2;\\1r E = 0.11t;\\1r F = 0.3;\\2j ((x * (A * x + C * B) + D * E) / (x * (A * x + B) + D * F)) - E / F;\\n}\\1R 5eL(1w x)\\n{\\1R 9r = 1w(3hr);\\2j 2XN(1.6 * x) / 2XN(9r);\\n}\\1R 5eK(1w 1A)\\n{\\2j 3r(1A, 1w(1.0 / 2.2));\\n}\\1R 3IP(1w 1Q)\\n{\\2j 1w(3T(3r(1Q.2y * 0.5eJ + 1w(0.5eI), 1w(2.4)), 1Q.2y * 0.5eH, 1w(1Xm(1Q.2y, 1w(0.3IS)))));\\n}\\1R 3IM(1w 1Q)\\n{\\2j 1w(3T(3r(1Q.2y, 1w(0.5eG)) * 1.1Yy - 1w(0.1Yy), 1Q.2y * 12.92, 1w(1Xm(1Q.2y, 1w(0.3IR)))));\\n}\\n#1u\\2s 2k()\\n{\\1P 1Fz = 1Y(2GR, 2F);\\3R = 1Fz;\\n#1z 2uW\\1P 1o4 = 2uV(3hq, 2F, 3hp.xy, 1m(2kJ.x));\\1P 3IQ = 1m(1Y(3ho, 2F * 2GQ.xy + 2GQ.zw).2y, 0.0);\\5eF *= 2kJ.y;\\5eE *= 2kJ.z;\\3R += 1o4 * 1m(3hn, 1.0);\\3R += 3IQ * 1o4;\\n#1u\\n#1z 2XM\\1R ao = 1Y(3hm, 2F).2y;\\3R.2y *= ao;\\n#1u\\n#1z 2uU\\1R 3IN = 3IP(2C.2y);\\1R 3IL = 3IO(3IN * 3hl);\\3R.2y = 3IM(3IL);\\n#1u\\n#1z 2XL\\3R.2y = 3T(1w(0.0), 2C.2y, 3hk);\\3R.2y = 3T(1w(0.5), 2C.2y, 3hj);\\3R.2y = 2jm(2C.2y, 3hi);\\3R.2y = 24G(2C.2y, 3hh);\\n#1u\\n}\\n";q.6T2="2n 2v 6T;\\1B 1o 1wq;\\1B 1o 1hG;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1R 2cN = 1Y(6T, 2F).1H;\\2uT = 24U(2cN);\\2uT.z += 1hG;\\2uT = 24T(2cN);\\1r 8H = (259.0 * (1wq + 255.0)) / (255.0 * (259.0 - 1wq));\\2uT = 8H * (2cN - 1w(0.5)) + 1w(0.5);\\3R = 1m(2cN, 1.0);\\n}\\n";q.6T1=jM;q.6T0="2n 1o 1rV;\\1B 1o 2uS;\\1B 1o 25s;\\1B 1o 3hg;\\1J 1v 2F;\\2s 2k()\\n{\\1r 17n = 11N(1Y(1aB, 2F));\\1P 9I = 1az(2F.xy * 9e.zw, 17n);\\1Cv /= 9I.w;\\1r 6Y = abs(9I.z);\\1r 3IK = 25s / 3hg;\\1r 1rW;\\1r 2uR = 1rV + 2uS;\\1r 1wp = 1rV - 2uS;\\1U (6Y <= 2uR && 6Y >= 1wp)\\n{\\1Yx = 0.5;\\1Yx = 1rW * 0.5 + 0.5;\\n}\\5L\\n{\\1r 2XK = 6Y > 2uR ? 2uR : 1wp;\\1Yx = abs(3IK * (25s * (6Y - 2XK)) / (6Y * (2XK - 25s)));\\1Yx = 2Y(1rW, 0.0, 2.0) / 2.1Ai;\\1U (6Y < 1wp)\\n{\\1Yx = -1rW;\\n}\\1Yx = 1rW * 0.5 + 0.5;\\n}\\3R = 1lP(1rW);\\n}\\n";q.6SZ="2n 2v 2GP;\\1B 2v 3hf;\\1B 2v 1rW;\\1J 1v 2F;\\2s 2k()\\n{\\1P 3IJ = 1Y(3hf, 2F);\\1P 2cf = 1Y(2GP, 2F);\\1r 2cM = 11N(1Y(1rW, 2F));\\5eD = abs(2cM * 2.0 - 1.0);\\1r 1hF = 13f(0.0, 1.0, 2cM);\\3R = 3T(2cf, 3IJ, 1hF);\\n}\\n";q.6SY="2n 2v 7y;\\1B 2v 1rW;\\1J 1v 2F;\\1B 1o 2XJ;\\1B 1v 1en;\\1B 1v 3he[16];\\4i 1o 3gl = 0.11t;\\1r 3II(in 1v n)\\n{\\2j 8N(2T(2A(n.xy ,1v(12.3H5,78.233))) * 3gk.3H4);\\n}\\2s 2k()\\n{\\2u 2M = 2XJ / 1en;\\1r 2XI = 6.5eC * 3II(2F + 0.4hC * 3gl );\\1r 2XH = 3i(2XI);\\1r 2GO = 2T(2XI);\\1P 2XG = 1m(2XH, -2GO, 2GO, 2XH);\\1Xk *= abs(11N(1Y(1rW, 2F)) * 2.0 - 1.0);\\1P 1A = 1m(0.0);\\1r 1Io = 0.0;\\14D (7P i = 0; i < 16; i++)\\n{\\2u 2uQ = 3he[i];\\5eB = 1v(2A(2uQ, 2XG.xy), 2A(2uQ, 2XG.zw));\\2u uv = 2F + 2uQ * 2M;\\1P 2cL = 1Y(7y, uv);\\1r w = 1.0;\\1r 2cM = 11N(1Y(1rW, uv)) * 2.0 - 1.0;\\nw *= abs(2cM);\\5eA.2y *= 2cL.a;\\6p += 2cL * w;\\2XF += w;\\n}\\6p /= 1Io;\\6p.2y /= (1A.a + 0.1t2);\\3R = 1A;\\n}\\n";q.6SX="#if 2XC\\n#2cK <2XD/5ew.3IH>\\n#1u\\n#if 1es\\n#2cK <2XD/6SW.3IH>\\n#1u\\n#if 5eu\\1B 1o 5et;\\n#1u\\1J 1w 4hx;\\1J 1m 3IG;\\1J 1w 4hw;\\1J 1w 4hv;\\1B 2v 2Wg;\\1B 2v 2Wf;\\1B 2v 2We;\\1B 2v 5ev;\\1J 1m 4M;\\1J 1m 1gW;\\n#2cK <2XD/6SV.3IH>\\1P 2cB(in 1m 1gl,in 1o 1qm)\\n{\\1R 2cH = 1w(0.1NX, 0.1KS, 0.1NW);\\1R 12r = 1w(2A(1gl.2y, 2cH));\\1R 1uG = 3T(12r, 1gl.2y, 1qm);\\2j 1m(1uG, 1.0);\\n}\\1P 2Xq()\\n{\\2u 1Lr = 3IG.xy / 3IG.w;\\1P 4hz = 1m(0,0.1cN,0.1cN,1);\\1P 2XE = 1m(0.4hr,0.4hq,0.4hp,1);\\1r 3hd = 0.1cN;\\1r 3hb = 0.3;\\1r 3hc = 0.7;\\1r 4hA = 1.8;\\1r 4hy = 0.95;\\1R 2cF = (1Y(2Wg, (4hx.xy / 5.0)).2y - 0.5).3h8 * 3hd;\\4ho += 2cF.xz;\\1r 4hB, 5ex;\\1U(3hb < 3hc)\\n{\\5ez = 3hb;\\5ey = 3hc;\\n}\\5L\\n{\\5ez = 3hc;\\5ey = 3hb;\\n}\\1r 2cE = 4hB;\\1r 2cD = (5ex - 4hB) / 1.0;\\1r 1Fw = 2cE + 2cD * 3r(1.0 + 2A(1T(4hw), 4hv), 4hA);\\4hn = 2Y(1Fw, 0.1cN, 0.95);\\1P 1OH = 1Y(2Wf, 1Lr);\\1P 3h7 = 1Y(2We, 1Lr) + 4hz;\\1P 1rI = 3T(2XE, 1OH, 1Fw);\\2Gc = 2cB(1rI, 1.0);\\2Gc = 1rI * 4hy;\\2Gc.a = 2XE.a;\\2j 1rI;\\n}\\2s 2k()\\n{\\n#if 2XC\\1U(!5ew())\\n{\\10W;\\n}\\n#1u\\n#if 1es\\n#2cK <2XD/6SU.3IH>\\n#1u\\1P 2uN = 2Xq();\\1P 2GK = 1Y(5ev, 4M.xy);\\1U(2GK.x < 0.5)\\n{\\3R = 1m(0.0,1.0,0.0,1.0);\\2j;\\n}\\5L if(2GK.x > 1.5)\\n{\\3R = 1m(1.0,0.0,0.0,1.0);\\n}\\5L\\n{\\3R = 2uN;\\n}\\1r 5es = 0.2;\\n#if 5eu\\6ST = 5et;\\n#1u\\1U(2C.a < 5es)\\n{\\10W;\\n}\\n#if 10B\\1ri();\\n#1u\\n}\\n";q.6SS="3Q 1m 1rc;\\2J 1m 2jn;\\2J 1m 2cJ;\\1B 5w 5en;\\1B 5w 3IE;\\1B 5w 6SR;\\1B 5w 5ep;\\1B 5w 6SQ;\\1B 1o 5eo;\\1B 1w 5eq;\\1J 1w 4hx;\\1J 1m 3IG;\\1J 1w 4hw;\\1J 1w 4hv;\\1J 1m 4M;\\1J 1m 1gW;\\1J 1m 6SP;\\n#if 2XC\\1J 1m 1yi;\\n#1u\\n#if 1es\\1J 1m 14u;\\n#1u\\2s 6SO(in 1m 1Yp)\\n{\\1r 4hu = 0.1cN;\\1r 3b = 80;\\1r 3IF = 1;\\1r 1ul = 1;\\2u 3ha = 1v(3.0 -3.0);\\1Sg 2cA = 5w(0.5, 0.0, 0.0, 0.0,\\n0.0, -0.5, 0.0, 0.0,\\n0.0, 0.0, 0.5, 0.0,\\n0.5, 0.5, 0.5, 1.0);\\6SN = 2cA * 1Yp;\\5er.xy = 2jn.xy * 3b + 3ha.xy * 4hu;\\5er.z = 1ul * 4hu;\\6SM = 1rc.1H - 5eq;\\6SL = 1w(0.0,0.0,1.0);\\n}\\2s 2k()\\n{\\6SK = 2cJ;\\1So.xy = 1v(5ep * 2jn);\\1P 2cI = 1m(1rc.1H, 1.0);\\6SJ.z = 2cI.z + 5eo;\\11u = 5en * 2cI;\\6SI(6I);\\n#if 2XC\\6SH = 6I;\\n#1u\\n#if 1es\\3gt = 3IE * 2cI;\\n#1u\\2jz = 10.0;\\n}\\n";q.6SG="2n 2v 6T;\\1B 2v 3h9;\\1B 2v 8X;\\1B 1o 1rV;\\1J 1v 2F;\\1P 1HD(1v uv, 1o 4e)\\n{\\2u xy = 1v((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\\1P 1bN = 1k1 * 1m(xy, 4e, 1.0);\\5em = 1bN / 1bN.w;\\2j 1bN;\\n}\\1r 3ID(1o 4e)\\n{\\1r f;\\1U (4e < 1rV)\\n{\\nf = (1rV - 4e) / (1rV - 18z.x);\\n}\\5L\\n{\\nf = (4e - 1rV) / (18z.y - 1rV);\\nf = 3r(f, 0.1);\\n}\\nf *= f;\\nf = 2Y(f, 0.0, 1.0);\\2j 3r(f, 0.5);\\n}\\2s 2k(1p)\\n{\\1r 4e = 1Ae(8X, 2F);\\1P 1bN = 1HD(2F, 4e);\\1r d = 3ID(-1bN.z);\\3R = 3T(1Y(6T, 2F), 1Y(3h9, 2F), d);\\n}\\n";q.6SF="3G 1m 4p;\\2s 2k()\\n{\\1R 2G = 1T(4p.1H);\\2Gy 11j = 1F5(1w(0.0), 2G);\\1R 1Xd = 1p3[3].1H;\\1F4 17d = 2b3(11j, 1Xd, 2FW);\\1U (!2sO(17d))\\n{\\3R = 1m(1.0, 1.0, 0.0, 1.0);\\n}\\5L\\n{\\10W;\\n}\\1ri();\\n}\\n";q.6SE="3Q 1m 1K;\\1J 1m 4p;\\2s 2k()\\n{\\1eR = 9q * 1K;\\11u = 17B * 4p;\\1we();\\n}\\n";q.6SD="2n 2v 8X;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1r 4e = 1Ae(8X, 2F);\\3R = 1m(1w(4e), 1.0);\\n}\\n";q.6SC="2n 2v 1qj;\\1J 1v 2F;\\2s 2k()\\n{\\1r 1kg = 11N(1Y(1qj, 2F));\\6SB = 1rn(1kg);\\1r 1iU = 1dx.3I;\\1r 1iV = 1dx.3W;\\1r 2XB = (2.0 * 1kg - 1iU - 1iV) / (1iV - 1iU);\\1r 3b = 3r(2XB * 0.5 + 0.5, 8.0);\\3R = 1m(3T(1w(0.0), 1w(1.0), 3b), 1.0);\\n}\\n";q.6SA="2n 1m 18V;\\1B 1m 1In;\\1B 1v 12G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r b = 13f(0.3, 0.32, 1h(8N(12G * 5y.st) - 0.5));\\1P 1A = 3T(18V, 1In, b);\\6p = 9D(1A);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\2j 2q;\\n}\\n";q.6Sz="2n 2v 8X;\\1B 1o 1h;\\1B 1m 1A;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1r 2Xy[3];\\2XA[0] = -1.0;\\2XA[1] = 0.0;\\2XA[2] = 1.0;\\1r 3IC[3];\\2Xz[0] = 3.0;\\2Xz[1] = 10.0;\\2Xz[2] = 3.0;\\1r 1D0 = 1gU / 9e.z;\\1r 1CZ = 1gU / 9e.w;\\n#1z 2GN\\166 1bM = 16f;\\14D (7P i = 0; i < 3; ++i)\\n{\\1r 16g = 2Xy[i];\\2uP = 1bM || 1Lt(1v(-1D0, 16g * 1CZ));\\2uP = 1bM || 1Lt(1v(1D0, 16g * 1CZ));\\2uP = 1bM || 1Lt(1v(16g * 1D0, -1CZ));\\2uP = 1bM || 1Lt(1v(16g * 1D0, 1CZ));\\1U (1bM)\\n{\\1Yw;\\n}\\n}\\1U (!1bM)\\n{\\3R = 1m(1A.2y, 0.0);\\2j;\\n}\\n#1u\\1r 2Xx = 0.0;\\1r 2Xw = 0.0;\\14D (7P i = 0; i < 3; ++i)\\n{\\1r 16g = 2Xy[i];\\1r 3b = 3IC[i];\\3IB -= 1Y(8X, 2F + 1v(-1D0, 16g * 1CZ)).x * 3b;\\3IB += 1Y(8X, 2F + 1v(1D0, 16g * 1CZ)).x * 3b;\\3IA -= 1Y(8X, 2F + 1v(16g * 1D0, -1CZ)).x * 3b;\\3IA += 1Y(8X, 2F + 1v(16g * 1D0, 1CZ)).x * 3b;\\n}\\1r 1aZ = 3Y(2Xx * 2Xx + 2Xw * 2Xw);\\3R = 1m(1A.2y, 1aZ > 1h ? 1A.a : 0.0);\\n}\\n";q.6Sy="#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 1m 1A;\\1B 1o 1Im;\\1B 1o 1G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r 1mJ = 13R(5y.1D, 1Im);\\n#1z 8p\\1r 1dW = abs(1cu(5y.1D));\\1r 1dV = abs(1ct(5y.1D));\\1r dF = 1V(1dW, 1dV) * 1gU * 1G;\\1r 2O = (1mJ < dF) ? 1.0 : 0.0;\\n#1s\\1r 2O = (1mJ < (1gU * 1G)) ? 1.0 : 0.0;\\n#1u\\1P 1bk = 9D(1m(1A.2y, 2O));\\10H.8t = 1bk.2y;\\10H.2O = 1bk.a;\\2j 2q;\\n}\\n";q.6Sx="2n 2v 4d;\\1B 1o 13w;\\1B 1o 12x;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r 1ic = 2Y((5y.1D - 13w) / (12x - 13w), 0.0, 1.0);\\1P 1rC = 1Y(4d, 1v(1ic, 0.5));\\2UO = 9D(1rC);\\10H.8t = 1rC.2y;\\10H.2O = 1rC.a;\\2j 2q;\\n}\\n";q.6Sw="#1z 2uO\\n#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1u\\1B 1w 1go;\\1B 1w 2GM;\\1J 1w 13L;\\1P 2kH(1F5 11j, 1o 17d, 1o 1NR)\\n{\\1R 4p = 24I(11j, 17d);\\1R 15C = (1Xe * 1m(4p, 1.0)).1H;\\1R 2Xv = 1T(2be(15C, 1w(0.0), 2GM));\\1R 2Xu = 1T(15C / 1go);\\1R 1jA = 2Xv * 1NR;\\1R 4X = 1T(11b * 1jA);\\2u st = 2bh(2Xu);\\1R 11E = -4p;\\1jv 5y;\\10m.s = st.s;\\10m.st = st;\\10m.1F6 = (15C + 1go) / 1go;\\10m.4X = 4X;\\10m.1p2 = 1Sp(15C, 4X);\\10m.11E = 11E;\\10I 2q = 16E(5y);\\2j 1nR(1T(11E), 2q, 1qd);\\n}\\2s 2k()\\n{\\1r 2kI = 1V(1go.x, 1V(1go.y, 1go.z)) * 1.5;\\1R 2G = 1T(13L);\\1R 1Ah = 9q[3].1H;\\1r t1 = -1.0;\\1r t2 = -1.0;\\1r b = -2.0 * 2A(2G, 1Ah);\\1r c = 2A(1Ah, 1Ah) - 2kI * 2kI;\\1r 1xQ = b * b - 4.0 * c;\\1U (1xQ >= 0.0) {\\4ht = (-b - 3Y(1xQ)) * 0.5;\\4hs = (-b + 3Y(1xQ)) * 0.5;\\n}\\1U (t1 < 0.0 && t2 < 0.0) {\\10W;\\n}\\1r t = 2o(t1, t2);\\1U (t < 0.0) {\\nt = 0.0;\\n}\\2Gy 11j = 1F5(t * 2G, 2G);\\1R 1Cg = 1w(1.0 / 1go.x, 1.0 / 1go.y, 1.0 / 1go.z);\\1F4 17d = 2b3(11j, 1Ah, 1Cg);\\1U (2sO(17d))\\n{\\10W;\\n}\\1P 1Ls = (17d.4I != 0.0) ? 2kH(11j, 17d.4I, 1.0) : 1m(0.0);\\1P 2kG = (1Ls.a < 1.0) ? 2kH(11j, 17d.4U, -1.0) : 1m(0.0);\\3R = 3T(2kG, 1Ls, 1Ls.a);\\3R.a = 1.0 - (1.0 - 2kG.a) * (1.0 - 1Ls.a);\\n#1z 2uO\\n#1z 5J\\nt = (17d.4I != 0.0) ? 17d.4I : 17d.4U;\\1R 4p = 24I(11j, t);\\1P 1Yv = 17B * 1m(4p, 1.0);\\n#1z 10B\\1ri(1.0 + 1Yv.w);\\n#1s\\1r z = 1Yv.z / 1Yv.w;\\1r n = 1dx.3I;\\1r f = 1dx.3W;\\1F2 = (z * (f - n) + f + n) * 0.5;\\n#1u\\n#1u\\n#1u\\n}\\n";q.6Sv="3G 1w 1If;\\1J 1w 13L;\\1J 1v 9j;\\2s 2k()\\n{\\1jv 5y;\\1R 4X = 1T(1Xn * 2be(1If, 1w(0.0), 1w(1.0)));\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\10m.s = 9j.s;\\10m.st = 9j;\\10m.1F6 = 1w(9j, 0.0);\\10m.4X = 4X;\\10m.1p2 = 1Sp(1If, 5y.4X);\\1R 11E = -13L;\\10m.11E = 11E;\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s\\3R = 1nR(1T(11E), 2q, 1qd);\\n#1u\\n}\\n";q.6Su="3Q 1w 1aU;\\2J 1w 19W;\\2J 1v st;\\2J 1o 4R;\\1J 1w 1If;\\1J 1w 13L;\\1J 1v 9j;\\2s 2k()\\n{\\1P p = 1nS();\\2WK = 1aU + 19W;\\1t6 = (15D * p).1H;\\1XA = st;\\11u = 1kV * p;\\n}\\n";q.6St="3Q 1w 1K;\\1B 1w 1go;\\1J 1w 13L;\\2s 2k()\\n{\\1P p = 1m(1go * 1K, 1.0);\\1t6 = (9q * p).1H;\\11u = 11o * p;\\11u.z = 2Y(6I.z, 1dx.3I, 1dx.3W);\\1we();\\n}\\n";q.6Ss="2n 1m 1A;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\10H.8t = 1A.2y;\\10H.2O = 1.0;\\2j 2q;\\n}\\n";q.6Sr="3G 1v 2F;\\1B 2v 6T;\\4i 1o 2bU = 0.5;\\4i 1o 2bT = 0.125;\\4i 1o 2bS = 0.3Gc;\\2s 2k()\\n{\\2u 1dz = 1v(1.0) / 9e.zw;\\1P 1A = 2Gh(\\1mN,\\3Gb,\\3Ga,\\3G9,\\3G8,\\3G7);\\1r 2O = 1Y(6T, 2F).a;\\3R = 1m(1A.2y, 2O);\\n}\\n";q.6Sq="2n 1m 2Xt;\\1B 1m 2Xs;\\1B 1o 1Yu;\\1B 7d 12G;\\1B 1v 2GL;\\1B 1v 6q;\\1r 1o3(1o t, 1o 16Q)\\n{\\1r 1iL = 1.0 / 1Yu;\\1r q  = 3s(t, 16Q) * 1iL;\\1U (12G)\\n{\\1r r = 3s(t, 16Q + 1.0) * 1iL;\\1r s = 3s(t, 16Q - 1.0) * 1iL;\\nq = 2o(2o(r, s), q);\\n}\\2j 2Y(q, 0.0, 1.0);\\n}\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r s = 1o3(6q.x, st.s) * 2GL.s;\\1r t = 1o3(6q.y, st.t) * 2GL.t;\\1r u = 1h(1v(s, t));\\1P 1A = 3T(2Xt, 2Xs, u);\\6p = 9D(1A);\\10H.17Y = 1A.2y;\\10H.2O = 1A.a;\\2j 2q;\\n}\\n";q.6Sp="2n 2v 6T;\\1J 1v 2F;\\n#1z 1uD\\1B 2v 1ta;\\n#1u\\2s 2k()\\n{\\1P 1nV = 1Y(6T, 2F);\\1R 1A = 1nV.2y;\\n#1z 1uD\\1r 1p8 = 1Y(1ta, 1v(0.5)).r;\\6p /= 1p8;\\n#1u\\4i 1o A = 0.22;\\4i 1o B = 0.30;\\4i 1o C = 0.10;\\4i 1o D = 0.20;\\4i 1o E = 0.11t;\\4i 1o F = 0.30;\\4i 1o 1Ar = 11.2;\\1R c = ((1A * (A * 1A + C * B) + D * E) / (1A * ( A * 1A + B) + D * F)) - E / F;\\1r w = ((1Ar * (A * 1Ar + C * B) + D * E) / (1Ar * ( A * 1Ar + B) + D * F)) - E / F;\\nc = 1Xg(c / w);\\3R = 1m(c, 1nV.a);\\n}\\n";q.6So="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 2v 1Ys;\\1B 2v 2cC;\\1B 2v 2cG;\\1J 1v 1Yr;\\1J 1w 1Ik;\\1J 1w 1Yq;\\1J 1w 1Ih;\\1J 1o 13i;\\1J 1v 6r;\\1P 2cB(in 1m 1gl, in 1o 1qm)\\n{\\1R 2cH = 1w(0.1NX, 0.1KS, 0.1NW);\\1R 12r = 1w(2A(1gl.2y, 2cH));\\1R 1uG = 3T(12r, 1gl.2y, 1qm);\\2j 1m(1uG, 1.0);\\n}\\1P 2Xq()\\n{\\1P 2kD = 1m(0,0.1cN,0.1cN,1);\\1P 1SU = 1m(0.4hr,0.4hq,0.4hp,1);\\1r 2kF = 0.1cN;\\1r 1Fx = 0.3;\\1r 1Fy = 0.7;\\1r 2kE = 1.8;\\1r 2kC = 0.95;\\2u 1Lr = 1Ik.xy / 1Ik.z;\\1R 2cF = (1Y(2cG, (1Yr.xy / 5.0)).2y - 0.5).3h8 * 2kF;\\4ho += 2cF.xz;\\1r 1Il, 1Yt;\\1U(1Fx < 1Fy)\\n{\\3Iz = 1Fx;\\3Iy = 1Fy;\\n}\\5L\\n{\\3Iz = 1Fy;\\3Iy = 1Fx;\\n}\\1r 2cE = 1Il;\\1r 2cD = (1Yt - 1Il) / 1.0;\\1r 1Fw = 2cE + 2cD * 3r(1.0 + 2A(1T(1Yq), 1Ih), 2kE);\\4hn = 2Y(1Fw, 0.1cN, 0.95);\\1P 1OH = 1Y(2cC, 1Lr);\\1P 3h7 = 1OH + 2kD;\\1P 1rU = 3T(1SU, 1OH, 1Fw);\\2Xr = 2cB(1rU, 1.0);\\2Xr = 1rU * 2kC;\\2Xr.a = 1SU.a;\\2j 1rU;\\n}\\2s 2k()\\n{\\n#if 2l(5J) || 2l(1dt)\\1F2 = 2o(13i * 4u.w, 1.0);\\n#1u\\2u 4M = 6r.xy;\\1P 2uN = 2Xq();\\1P 2GK = 1Y(1Ys, 4M.xy);\\1U(2GK.x < 0.5)\\n{\\10W;\\n}\\5L\\n{\\3R = 2uN;\\n}\\n}\\n";q.6Sn="3Q 1m 4f;\\2J 1v 7s;\\1B 1o 3h2;\\1J 1v 1Yr;\\1J 1w 1Ik;\\1J 1w 1Yq;\\1J 1w 1Ih;\\1J 1m 14u;\\1J 1o 13i;\\1J 1v 6r;\\1P 1gX(1m 9T)\\n{\\5el = (0.5 * (9T.z / 9T.w) + 0.5) * 9T.w;\\5ek.z = 2o(9T.z, 9T.w);\\2j 9T;\\n}\\2s 5ej(1m 1Yp)\\n{\\1r 2kz = 0.1cN;\\1r 2kB = 80.0;\\1r 3h6 = 1.0;\\1r 3h5 = 1.0;\\2u 2kA = 1v(3.0 -3.0);\\1Sg 2cA = 5w(0.5, 0.0, 0.0, 0.0,\\n0.0, 0.5, 0.0, 0.0,\\n0.0, 0.0, 0.5, 0.0,\\n0.5, 0.5, 0.5, 1.0);\\1P 1yh = 2cA * 1Yp;\\5ei = 1yh.2tX;\\5eh.xy = 7s.xy * 2kB + 2kA * 2kz;\\1P 2uM = 3h4 * 1m(3h3, 1.0);\\5eg = 4f.1H - 2uM.1H;\\5ef = 1w(0.0,0.0,1.0);\\n}\\2s 2k()\\n{\\1P 1OG = 1m(4f.1H, 1.0);\\5ee.z = 1OG.z + 3h2;\\1P 3h = 11o * 1OG;\\11u = 1gX(3h);\\2Un = 7s.xy;\\5ed(3h);\\3gt = 9q * 1OG;\\n}\\n";q.6Sm="#2f 1Fv 8\\1B 1o 14k;\\1B 1o 15N;\\1B 1o 2G;\\1B 2v 16S;\\1B 1v 1ST;\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 15N);\\ng.y = 108((-0.5 * 14k * 14k) / (15N * 15N));\\ng.z = g.y * g.y;\\1P 4D = 1Y(16S, st) * g.x;\\14D (7P i = 1; i < 1Fv; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 1ST;\\19v += 1Y(16S, st - 2M) * g.x;\\19v += 1Y(16S, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n";q.6Sl="#2f 1Fv 8\\1B 1o 14k;\\1B 1o 15N;\\1B 1o 2G;\\1B 2v 6T;\\n#1z 1CY\\1B 1o 1bo;\\n#1s\\1B 1v 7F;\\n#1u\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\n#1z 1CY\\2u 7F = 1v(1bo * (1gU / 9e.zw));\\n#1s\\2u 7F = 7F;\\n#1u\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 15N);\\ng.y = 108((-0.5 * 14k * 14k) / (15N * 15N));\\ng.z = g.y * g.y;\\1P 4D = 1Y(6T, st) * g.x;\\14D (7P i = 1; i < 1Fv; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 7F;\\19v += 1Y(6T, st - 2M) * g.x;\\19v += 1Y(6T, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n";q.6Sk="2n 1o 25r;\\1B 1o 1OF;\\1B 1o 2G;\\1B 2v 16S;\\1B 1v 1ST;\\1J 1v 2F;\\2s 2k()\\n{\\2u st = 2F;\\2u 16g = 1v(1.0 - 2G, 2G);\\2u 1nP = 1ST * 16g;\\1R g;\\ng.x = 1.0 / (3Y(1w4) * 1OF);\\ng.y = 108((-0.5 * 25r * 25r) / (1OF * 1OF));\\ng.z = g.y * g.y;\\1P 4D = 1Y(16S, st) * g.x;\\14D (7P i = 1; i < 8; ++i)\\n{\\ng.xy *= g.yz;\\2u 2M = 1o(i) * 16g * 1ST;\\19v += 1Y(16S, st - 2M) * g.x;\\19v += 1Y(16S, st + 2M) * g.x;\\n}\\3R = 4D;\\n}\\n";q.6Sj="#1z 5J\\n#6A 5J : 5F\\n#1u\\1B 1m 3gJ;\\1B 1o 3gE;\\1B 1m 2ky;\\n#1z 8p\\n#6A 8p : 5F\\n#1u\\n#if 25q > 0\\1B 2v 3Ix[25q];\\1B 1m 3Iw[25q];\\1B 7d 3Iv[25q];\\1B 1m 3Iu[25q];\\n#1u\\n#if 1bL > 0\\1B 2v 2Xp[1bL];\\1B 1m 3h1[1bL];\\1B 7d 3h0[1bL];\\1B 7d 3It[1bL];\\1B 1m 3Is[1bL];\\n#1z 4hm\\1B 1o 3gZ[1bL];\\n#1u\\n#1z 1bn\\1B 1v 3Ir[1bL];\\n#1u\\n#1z 1bm\\1B 1m 3Iq[1bL];\\n#1u\\n#1z 3gR\\1B 1v 25p;\\n#1u\\n#1z 3gQ\\1B 1m 25o;\\n#1u\\n#1z 3gW\\1B 1o 3Ip[1bL];\\n#1u\\n#1z 3gV\\1B 1o 3Io[1bL];\\n#1u\\n#1z 3gU\\1B 1o 3In[1bL];\\n#1u\\n#1z 3gT\\1B 1o 3Im[1bL];\\n#1u\\n#1z 2GJ\\1B 1o 3gY[1bL];\\n#1u\\n#1z 4hl\\1B 1m 3Il[1bL];\\n#1u\\1B 1m 3gX[1bL];\\n#1u\\n#1z 1OD\\1B 2v 3gI;\\1B 1m 2GF;\\1B 1o 3gv;\\n#1u\\n#1z 2Gu\\1B 2v 2Gv;\\n#1u\\n#if 2l(1At) || 2l(1yd)\\1B 1v 2GG;\\n#1u\\n#1z 3gL\\1B 1m 25n;\\n#1u\\n#1z 1yd\\1B 1v 2Gx;\\n#1u\\n#1z 2GD\\1B 2v 2uG;\\1B 5w 2uF;\\1B 1m 2cr;\\n#1u\\n#if 2l(1OC) && 2l(2Gz) && (2l(1wn) || 2l(1At))\\1B 1o 3gG;\\n#1u\\n#1z 1Oj\\1B 1w 1p9;\\n#1u\\n#1z 2cm\\1B 2v 1Os;\\1B 1m 2GE;\\1J 1w 2co;\\n#1u\\n#1z 1Yi\\1B 2v 3gx;\\1B 2v 3gS;\\1B 2v 3gC;\\1B 1o 4hk;\\1B 1o 2kw;\\1B 1o 3gw;\\1B 1o 2Gw;\\1B 1o 3gz;\\1B 1o 3gB;\\1B 1o 3gA;\\1B 1o 3gD;\\1B 1m 1te;\\4i 1o PI = 3.3Ik;\\1J 1v 2WR;\\n#1u\\1J 1w 1If;\\1J 1w 13L;\\1J 1w 2F;\\1J 1w 2WL;\\1J 1w 1dy;\\n#1z 1Lq\\1J 1o 2WU;\\1J 1o 2WV;\\n#1u\\n#if 2l(1OC) || 2l(1yd)\\1J 1o 2uy;\\1J 1w 2WS;\\1J 1w 2WT;\\n#1u\\n#1z 1yd\\1J 1w 1La;\\1J 1w 1L9;\\n#1u\\1J 1o 1CU;\\n#1z 2GA\\1B 2v 1kS;\\1B 2v 1p5;\\1B 1o 1Fu;\\1B 1o 16R;\\1B 1o 1t1;\\1B 1o 1jr;\\1B 1o 1fO;\\1B 1o 1jq;\\1B 1o 1dw;\\1B 1o 1kT;\\1B 1m 1hA;\\1B 1o 1kQ;\\1B 1m 13v;\\n#1u\\1B 1m 17o;\\n#1z 3gP\\1B 1m 1wo;\\1B 2v 3gO;\\n#1u\\n#if 2l(3gN) || 2l(3gM)\\1B 1m 1fl;\\1B 2v 2GH;\\n#1u\\1P 3Ij(\\1P 1rS,\\2uJ 1Ym,\\2u 1rT,\\1P 1o2,\\1P 1CX,\\1P 1jB,\\166 13E,\\1r 1pb,\\1r 3Ii,\\1r 3Ih,\\1r 3Ig,\\1r 3If,\\1r 2uL,\\2u 7g,\\1P 2cw)\\n{\\2u 1l4 = 7F(1o2.st, 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2Xj = 7F(1v(0.0), 1o2.pq - 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2u 14L = 1CX.xy;\\2u 3b = 1CX.zw;\\2u 8u = 1rT * 3b + 14L;\\1U(13E)\\n{\\5ec.y = 1.0 - 8u.y;\\n}\\1P 1Q = 1Y(1Ym, 8u);\\1R 1A = 1Q.2y;\\1r 2O = 1Q.a;\\1U(1jB.a > 0.11t)\\n{\\1r 2cz = abs(1jB.r - 1A.r);\\1r 2cy = abs(1jB.g - 1A.g);\\1r 2cx = abs(1jB.b - 1A.b);\\1U(2cz < 1jB.a && 2cy < 1jB.a && 2cx < 1jB.a)\\n{\\1wm = 0.0;\\n}\\n}\\n#if !2l(2GJ)\\1P 1uG = 9D(1m(1A, 2O));\\6p = 1uG.2y;\\1wm = 1uG.a;\\n#1s\\6p = 3r(1A, 1w(2uL));\\n#1u\\n#1z 1bn\\2u 1rR = 4hj;\\1U (7g.x < 0.0 && 4u.x > 1rR.x) {\\1wm = 0.0;\\n}\\5L if (7g.x > 0.0 && 4u.x < 1rR.x) {\\1wm = 0.0;\\n}\\1U(7g.y < 0.0 && 4u.y > 1rR.y) {\\1wm = 0.0;\\n}\\5L if(7g.y > 0.0 && 4u.y < 1rR.y) {\\1wm = 0.0;\\n}\\n#if 1bL < 2\\1U(2O == 0.0)\\n{\\10W;\\n}\\n#1u\\n#1u\\n#1z 1bm\\1U (4u.x < 2cw.x || 4u.y > 2cw.y) {\\1wm = 0.0;\\n}\\5L if (4u.x > 2cw.z || 4u.y < 2cw.w) {\\1wm = 0.0;\\n}\\n#if 1bL < 2\\1U(2O == 0.0)\\n{\\10W;\\n}\\n#1u\\n#1u\\n#1z 3gW\\6p = 3T(1w(0.0), 1A, 3Ii);\\n#1u\\n#1z 3gV\\6p = 3T(1w(0.5), 1A, 3Ih);\\n#1u\\n#1z 3gU\\6p = 2jm(1A, 3Ig);\\n#1u\\n#1z 3gT\\6p = 24G(1A, 3If);\\n#1u\\1r 1CW = 2O * 1pb;\\1r 1CV = 3T(1rS.a, 1.0, 1CW);\\1R 1bk = 3T(1rS.2y * 1rS.a, 1A, 1CW) / 1CV;\\2j 1m(1bk, 1CV);\\n}\\1R 1SS(1w 2y) {\\n#1z 1Oj\\1R 1fQ = 24U(2y);\\1Cy.x += 1p9.x;\\1Cy.y = 2Y(1fQ.y + 1p9.y, 0.0, 1.0);\\1Cy.z = 1fQ.z > 1bg ? 1fQ.z + 1p9.z : 0.0;\\2bG = 24T(1fQ);\\n#1u\\2j 2y;\\n}\\1P 4hi(\\1P 1rS,\\2uJ 1Ym,\\2uJ 3Ie,\\2u 1rT,\\1P 1o2,\\1P 1CX,\\1P 2cv,\\1r 1pb,\\1r 2uL)\\n{\\2u 1l4 = 7F(1o2.st, 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2Xj = 7F(1v(0.0), 1o2.pq - 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2u 14L = 1CX.xy;\\2u 3b = 1CX.zw;\\2u 8u = 1rT * 3b + 14L;\\1P 1Q = 1Y(1Ym, 8u);\\1P 1Ij = 1Y(3Ie, 8u);\\1U(1Ij.r == 2ky.r && 1Ij.g == 2ky.g && 1Ij.b == 2ky.b){\\1ak.2y = 2cv.2y;\\n}\\1R 1A = 1Q.2y;\\1r 2O = 1Q.a;\\n#if !2l(2GJ)\\1P 1uG = 9D(1m(1A, 2O));\\6p = 1uG.2y;\\1wm = 1uG.a;\\n#1s\\6p = 3r(1A, 1w(2uL));\\n#1u\\1r 1CW = 2O * 1pb;\\1r 1CV = 3T(1rS.a, 1.0, 1CW);\\1R 1bk = 3T(1rS.2y * 1rS.a, 1A, 1CW) / 1CV;\\2j 1m(1bk, 1CV);\\n}\\1P 3gK(1m 2GI, 1w 8u);\\1P 2X3(1w 2X2, 1v 8u, 14j 2cp, 1m 1Yj, 1o 1Xt, 1o 1ay);\\n#1z 2GA\\1r 1k4()\\n{\\1r 1mJ = 13R(1CU - 0.2jt, 1t1);\\1r 1dW = abs(1cu(1CU));\\1r 1dV = abs(1ct(1CU));\\1r dF = 1V(1dW, 1dV);\\2j (1mJ < dF) ? 1.0 : 0.0;\\n}\\1P 1fj()\\n{\\1r 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\1r 1i5 = (1CU - 1dw) / 19U;\\1r 1eP = 2Y(1i5, 0.0, 1.0);\\2u 1kR = 1v(0.0, 1eP);\\2j 1Y(1kS, 1kR).15A;\\n}\\n#1u\\n#1z 1Yi\\1P 2X7(in 1o 1Ig,in 1w 1aY)\\n{\\1U (1Ig <= PI/180.0)\\n{\\2j 1m(0.0);\\n}\\2u 3Id = 8N(2WR);\\2u 2uK = 1aY.xy;\\1P 1yf = 1m(0.0);\\1r 2Xk = 0.0;\\1r 3s = 1h(2uK);\\1r 2Xo = 1cz(2uK.x/3s);\\1r 2cu = 2Xo;\\1U(2uK.y<0.0)\\n{\\5eb = 2.0 * PI - 2Xo;\\n}\\2u n = 1v(3i(2cu),-2T(2cu));\\2u t = 1v(2T(2cu),3i(2cu));\\1KZ 3Ic = 1bG(n,t);\\2u 1Yo = 3Id - 1v(0.5,0.5);\\2Xn = 3Ic * 1Yo ;\\2Xn += 1v(0.5,0.5);\\2Xn = 13f(0.0,1.0,1Yo);\\3Ia = 1Y(3gS, 1Yo);\\3Ib = 1yf.a;\\1r 2Xm = 2t(1Yo.x * 64.0);\\1r 2Xl = 2t(1Yo.y * 64.0);\\1U ((2Xm<=2.0||2Xm>=61.0||2Xl<=2.0||2Xl>=61.0)&&2Xk<1.0)\\n{\\3Ib = 0.0;\\n}\\3Ia = 1m(1yf.2y,2Xk);\\2j 1yf;\\n}\\n#1u\\1P 4hh(\\1P 1rS,\\2uJ 1Ym,\\2u 1rT,\\1P 1o2,\\1P 1CX)\\n{\\1r 1pb = 1.0;\\2u 1l4 = 7F(1o2.st, 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2Xj = 7F(1v(0.0), 1o2.pq - 1rT);\\1Yn = 1pb * 1l4.x * 1l4.y;\\2u 14L = 1CX.xy;\\2u 3b = 1CX.zw;\\2u 8u = 1rT * 3b + 14L;\\1P 1Q = 1Y(1Ym, 8u);\\1R 1A = 1Q.2y;\\1r 2O = 1Q.a;\\1r 1CW = 2O * 1pb;\\1r 1CV = 3T(1rS.a, 1.0, 1CW);\\1R 1bk = 3T(1rS.2y * 1rS.a, 1A, 1CW) / 1CV;\\2j 1m(1bk, 1CV);\\n}\\2s 2k()\\n{\\n#1z 3gR\\2u 1rR = 4hg;\\1U (25p.x < 0.0 && 4u.x > 1rR.x) {\\10W;\\n}\\5L if (25p.x > 0.0 && 4u.x < 1rR.x) {\\10W;\\n}\\1U(25p.y < 0.0 && 4u.y > 1rR.y) {\\10W;\\n}\\5L if(25p.y > 0.0 && 4u.y < 1rR.y) {\\10W;\\n}\\n#1u\\n#1z 3gQ\\1U (4u.x < 25o.x || 4u.y > 25o.y) {\\10W;\\n}\\5L if (4u.x > 25o.z || 4u.y < 25o.w) {\\10W;\\n}\\n#1u\\n#1z 3gP\\2u 1Av;\\3I9.x = 2F.x * (17o.z - 17o.x) + 17o.x;\\3I9.y = 2F.y * (17o.w - 17o.y) + 17o.y;\\1U(1Av.x>1wo.x && 1Av.x<1wo.z && 1Av.y> 1wo.y&& 1Av.y < 1wo.w)\\n{\\2u 2uI;\\2Xi.xy = 1Av.xy - 1wo.xy;\\2Xi.x = 2uI.x / (1wo.z - 1wo.x);\\2Xi.y = 2uI.y / (1wo.w - 1wo.y);\\1P 3I8 = 1Y(3gO, 2uI);\\1U(3I8.r > 0.9)\\n{\\10W;\\n}\\n}\\n#1u\\n#1z 3gN\\2u 1eU = 2F.xy;\\1yg.x = 1eU.x * (17o.z - 17o.x) + 17o.x;\\1yg.y = 1eU.y * (17o.w - 17o.y) + 17o.y;\\1U(1eU.x>1fl.x && 1eU.x<1fl.z && 1eU.y> 1fl.y&& 1eU.y < 1fl.w)\\n{\\1yg.xy = 1eU.xy - 1v(1fl.x, 1fl.w);\\1yg.x = 1eU.x / (1fl.z - 1fl.x);\\1yg.y = 1.0 - 1eU.y / (1fl.y - 1fl.w);\\1P 2uH = 1Y(2GH, 1eU);\\1U(2uH.r > 0.5)\\n{\\10W;\\n}\\n}\\n#1u\\n#1z 3gM\\2u 1eU = 2F.xy;\\1yg.x = 1eU.x * (17o.z - 17o.x) + 17o.x;\\1yg.y = 1eU.y * (17o.w - 17o.y) + 17o.y;\\1r 2cs = 1.0;\\2u 2ct = 7F(1fl.xy, 1eU);\\3I7 = 2cs * 2ct.x * 2ct.y;\\1U(2cs < 0.1)\\n{\\10W;\\n}\\5ea = 7F(1eU, 1fl.zw);\\3I7 = 2cs * 2ct.x * 2ct.y;\\1U(2cs < 0.1)\\n{\\10W;\\n}\\1yg.xy = 1eU.xy - 1v(1fl.x, 1fl.w);\\1yg.x = 1eU.x / (1fl.z - 1fl.x);\\1yg.y = 1.0 - 1eU.y / (1fl.y - 1fl.w);\\1P 2uH = 1Y(2GH, 1eU);\\1U(2uH.r < 0.1)\\n{\\10W;\\n}\\n#1u\\n#1z 3gL\\1U (2F.x < 25n.x || 25n.z < 2F.x ||\\1mN.y < 25n.y || 25n.w < 2F.y)\\n{\\10W;\\n}\\n#1u\\n#1z 2GD\\1r 2GC = 1Ii(4u, 2uG, 2uF);\\n#1u\\1P 1A = 3gK(3gJ, 2Y(2F, 0.0, 1.0));\\n#1z 5e9\\1U (2F.x < (1.0/256.0) || 2F.x > (255.0/256.0) ||\\1mN.y < (1.0/256.0) || 2F.y > (255.0/256.0))\\n{\\6p = 1m(1.0, 0.0, 0.0, 1.0);\\n}\\n#1u\\n#if 2l(1OD) || 2l(1At) || 2l(1js)\\1R 1jA = 2be(1If, 1w(0.0), 1w(1.0));\\1R 4X = 1Xn * 1jA;\\n#1u\\n#if 2l(1At) || 2l(1yd)\\1r 2Xb;\\1U (1kO == 1HG)\\n{\\2Xh = 1V(1q9.x - 1q9.y, 1q9.w - 1q9.z) * 0.5;\\n}\\5L if (1kO == 3eV)\\n{\\2Xh = -1p3[3].z;\\n}\\5L\\n{\\2Xh = 1h(1p3[3]);\\n}\\1r 2cq = 2GG.x;\\1r 2Xa = 2GG.y;\\1U (1kO != 1F3) {\\1R 10N = 2TB().10N;\\1r 2Xg = 1V(10N.x, 1V(10N.y, 10N.z));\\3HW -= 2Xg;\\3HX -= 2Xg;\\n}\\1r 1ay = 2Y((2Xb - 2cq) / (2Xa - 2cq), 0.0, 1.0);\\n#1s\\1r 1ay = 0.0;\\n#1u\\n#1z 1OD\\2u 3I5 = 2GF.xy;\\2u 3I6 = 2GF.zw;\\2u 2Xf = 2F.xy * 3I6 + 3I5;\\5e8.y = 1.0 - 2Xf.y;\\1r 11q = 1Y(3gI, 2Xf).r;\\1U (11q > 0.0)\\n{\\1NS 2cp = 1Sp(1If, 4X);\\2u 3I4 = 2bh(1jA);\\2u 3I3 = 2bh(1jA.3E2);\\2u 8u = 3T(3I4, 3I3, 1iO * 13f(0.9, 0.95, 1jA.z));\\6p = 2X3(13L, 8u, 2cp, 1A, 11q, 1ay);\\n}\\n#1u\\n#1z 1Lq\\1jv 5y;\\10m.st = 2F.st;\\10m.4X = 1T(1dy);\\10m.1rp = 2WV;\\10m.1D = 2WU;\\10I 2q = 16E(5y);\\6p.1H = 3T(1A.1H, 2q.8t, 2q.2O);\\n#1u\\n#1z 1wn\\1r 1ye = 2Y(1Ca(1t3, 1T(1dy)) * 0.9 + 0.3, 0.0, 1.0);\\1P 1bJ = 1m(1A.2y * 1ye, 1A.a);\\n#1Cw 2l(2cm)\\2u 3I2 = 2GE.xy;\\2u 3gH = 2GE.zw;\\2u 3I1 = 2F.xy * 3gH + 3I2;\\1R 1aY = 1Y(1Os, 3I1.xy).1H;\\5e7 = (1aY - 0.5) * 2.0;\\n#1z 3I0\\1R 1Ap = 1T(2co);\\1R 1CF = 1T(1w(-2co.y, 2co.x, 0));\\1R 1Le = 1T(4B(1Ap, 1CF));\\1NS 8W = 14j(1CF, 1Le, 1Ap);\\1R 1Ih = 1Xn * 8W * 1aY;\\1r 1ye = 2Y(1Ca(1t3, 1T(1Ih)) * 0.9 + 0.3, 0.0, 1.0);\\1P 1bJ = 1m(1A.2y * 1ye, 1A.a);\\n#1s\\1P 1bJ = 1A;\\n#1u\\n#1Cw 2l(1At)\\1r 1ye = 2Y(1Ca(1t3, 4X) * 5.0 + 0.3, 0.0, 1.0);\\5e6 = 3T(1.0, 1ye, 1ay);\\1P 1bJ = 1m(1A.2y * 1ye, 1A.a);\\n#1s\\1P 1bJ = 1A;\\n#1u\\n#1z 2GD\\1P 25m = 1m(1.0);\\5e5.2y = 2cr.2y;\\1r 2kx = 2cr.a;\\1U (2GC < 2kx)\\n{\\1un = 25m;\\n}\\n#1u\\n#if 2l(1OC) || 2l(1yd)\\1R 1xR = 1SS(2WT) + 1bJ.2y * 1SS(2WS);\\n#1bI 1js\\4i 1o 2Xc = 2.0;\\3HZ = 1w(1.0) - 108(-2Xc * 1xR);\\n#1u\\n#1u\\n#if 2l(4hf)\\1R 2uD = 4he;\\n#1s\\1R 2uD = 4hd;\\n#1u\\n#1z 1OC\\n#if 2l(2Gz) && (2l(1wn) || 2l(1At))\\1r 3gF = 2Y(2A(1T(1al), 2uD), 3gG, 1.0);\\3HZ *= 3gF;\\n#1u\\n#1z 1js\\4i 1o 2uE = 0.15;\\1un = 1m(2ju(2uy, 1bJ.2y, 1xR, 2uE), 1bJ.a);\\n#1s\\1un = 1m(2ju(2uy, 1bJ.2y, 1xR), 1bJ.a);\\n#1u\\n#1u\\n#1z 2GA\\1U(1Fu > 0.1)\\n{\\1r 1rQ = 1.0;\\1U(1kQ > 0.1)\\n{\\2u 8G = 2F.xy;\\1ru.x = 8G.x * (17o.z - 17o.x) + 17o.x;\\1ru.y = 8G.y * (17o.w - 17o.y) + 17o.y;\\1U(8G.x>13v.x && 8G.x<13v.z && 8G.y> 13v.y&& 8G.y < 13v.w)\\n{\\1ru.xy = 8G.xy - 1v(13v.x, 13v.w);\\1ru.x = 8G.x / (13v.z - 13v.x);\\1ru.y = 1.0-8G.y / (13v.y - 13v.w);\\1P 1p4 = 1Y(1p5, 8G);\\1U(1p4.r < 0.1)\\n{\\3HY = 0.0;\\n}\\n}\\5L\\n{\\3HY = 0.0;\\n}\\n}\\1U(1rQ > 0.2)\\n{\\1P 1aA = 1m(1.0);\\1r 17Z = 1jr;\\1U(1CU <= 1fO && 1CU >= 1jq)\\n{\\n#1z 8p\\1U(16R > 2.9)\\n{\\1r 1uo = 1k4();\\1Cm = 3T(1fj(), 1hA, 1uo);\\n}\\5L if(16R > 1.9)\\n{\\1Cl = 1k4();\\1Cm = 1hA;\\n}\\5L if(16R > 0.9)\\n#1s\\1U(16R > 0.9)\\n#1u\\n{\\1Cm = 1fj();\\n}\\5L\\n{\\1Cl = 0.0;\\n}\\1un = 3T(1bJ, 1aA, 17Z);\\n}\\5L\\n{\\1Cl = 0.5;\\n}\\n}\\n}\\n#1u\\n#1z 1yd\\1U (1kO != 1F3)\\n{\\3R = 1bJ;\\2j;\\n}\\n#if 2l(4hc) && 2l(2Gz) && (2l(1At) || 2l(1wn))\\1r 1l3 = 1dv(1m(0.0, 0.0, -18z.x, 1.0), 1.0);\\2u xy = 4u.xy / 9e.zw * 2.0 - 1v(1.0);\\5e3 *= 9e.zw * 1l3 * 0.5;\\1R 2G = 1T(1w(xy, -18z.x));\\2Gy 11j = 1F5(1w(0.0), 2G);\\1R 1Xd = 1p3[3].1H;\\1F4 17d = 2b3(11j, 1Xd, 2FW);\\1R 2Xe = 24I(11j, 17d.4I);\\5e2 = (1Sy * 1m(2Xe, 1.0)).1H;\\2ck 2Xd = 2Gp(2Xe, 8O, 2uD);\\1R 1Yl = 1SS(2Xd.2cj) + 1bJ.2y * 1SS(2Xd.2ci);\\n#1bI 1js\\2X9 = 1w(1.0) - 108(-2Xc * 1Yl);\\n#1u\\3HX = 2Gx.x;\\3HW = 2Gx.y;\\1r 2uC = 2Y((2Xb - 2cq) / (2Xa - 2cq), 0.0, 1.0);\\n#1z 1js\\5e1 = 1V(2uC * 2uC, 0.25l);\\n#1u\\2X9 = 3T(1Yl, 1xR, 2uC);\\n#1s\\1R 1Yl = 1xR;\\n#1u\\n#1z 1js\\2X9 = 24G(1Yl, 1.6);\\n#1u\\1un = 1m(3T(1bJ.2y, 1Yl, 1ay), 1bJ.a * 3gE);\\n#1u\\n#1z 1Yi\\1r 3HT = 1.0;\\1U(3gD > 0.1)\\n{\\2u 8G = 2F.xy;\\1ru.x = 8G.x * (17o.z - 17o.x) + 17o.x;\\1ru.y = 8G.y * (17o.w - 17o.y) + 17o.y;\\1U(8G.x>1te.x && 8G.x<1te.z && 8G.y> 1te.y&& 8G.y < 1te.w)\\n{\\1ru.xy = 8G.xy - 1v(1te.x, 1te.w);\\1ru.x = 8G.x / (1te.z - 1te.x);\\1ru.y = 1.0-8G.y / (1te.y - 1te.w);\\1P 3HV = 1Y(3gC, 8G);\\1U(3HV.r < 0.1)\\n{\\3HU = 0.0;\\n}\\n}\\5L\\n{\\3HU = 0.0;\\n}\\n}\\1U(3HT > 0.1)\\n{\\1r 3HS = abs(1T(1aY).z);\\1r 1Ig = 1cz(3HS);\\1U (1Ig < 3gB || 1Ig > 3gA)\\n{\\2j;\\n}\\1r 19U = 2Y(abs(3gz-2Gw),0.1KX,PI/2.0);\\1r 3gy = (1Ig-2Gw)/19U;\\1r 2X8 = 2Y(3gy,0.0,1.0);\\1r 7Z = 2t(2X8 * 16.0);\\1r y = (7Z*2.0 + 1.0)/32.0;\\1r x = 8N(2X8*16.0);\\1U(y > 1.0)\\n{\\nx = 1.0;\\n}\\2u 3HR = 1v(x, y);\\1P 2X5 = 1Y(3gx, 3HR);\\1r 17Z = 3gw;\\1P 3HQ = 1m(0.0);\\1U(2kw > 2.9)\\n{\\1P 1yf = 2X7(1Ig, 1aY);\\2X6 = 3T(2X5, 1yf, 1yf.a);\\n}\\5L if(2kw > 1.9)\\n{\\1P 1yf = 2X7(1Ig, 1aY);\\2X6 = 1yf;\\1Cl = 1yf.a;\\n}\\5L if(2kw > 0.9)\\n{\\2X6 = 2X5;\\n}\\5L\\n{\\1Cl = 0.0;\\n}\\1un = 3T(1bJ, 3HQ, 17Z);\\n}\\n#1u\\3R = 1bJ;\\n#1z 3HP\\3R = 2sJ(1CU);\\n#1u\\n}\\n#1z 1OD\\1r 3HO(1o 1Yk, 1o 2uB, 1o x)\\n{\\1r y = 2Y((x - 1Yk) / (2uB - 1Yk), 0.0, 1.0);\\2j 3r(1.0 - y, 5.0);\\n}\\1r 2X1(1o 1Yk, 1o 2uB, 1o x)\\n{\\2j 2Y((x - 1Yk) / (2uB - 1Yk), 0.0, 1.0);\\n}\\4i 1o 3HJ = 5e0.0;\\4i 1o 3HK = 0.2kd;\\4i 1o 3HI = 1.0 / 2.0;\\4i 1o 3HD = 0.5;\\4i 1o 3HM = 5dZ.0;\\4i 1o 3HN = 0.2X4;\\4i 1o 3HL = 1.0 / 2.0;\\1P 2X3(1w 2X2, 1v 8u, 14j 2cp, 1m 1Yj, 1o 2WX, 1o 1ay)\\n{\\1R 11E = -2X2;\\1r 2uA = 1h(11E);\\1R 2WZ = 1T(1T(11E));\\1r 2WY = 3HO(5dY.0, 3Fx.0, 2uA);\\n#1z 2Gu\\1r 6q = 2jx * 3HN;\\1P 1ul = 2jo(2Gv, 8u * 3HM, 6q, 0.0);\\1R 3HG = 1w(1ul.xy, 1ul.z * 3HL);\\5dX = 2jx * 3HK;\\5dW = 2jo(2Gv, 8u * 3HJ, 6q, 0.0);\\1R 3HE = 1w(1ul.xy, 1ul.z * 3HI);\\1r 3HH = 2X1(0.0, 3fl.0, 2uA);\\1r 3HF = 1.0 - 2X1(1F7.0, 3fl.0, 2uA);\\1R 1i6 =\\n(3HH * 3HG) +\\n(3HF * 3HE);\\1Cq = 1T(1i6);\\1Cq.xy *= 2WY;\\1Cq = 1T(1i6);\\n#1s\\1R 1i6 = 1w(0.0, 0.0, 1.0);\\n#1u\\1R 4X = 2cp * 1i6;\\4i 1w 2X0 = 1w(0.3, 0.45, 0.6);\\1r 1ye = 1Ca(1t3, 4X) * 2WX;\\1R 2WW = 2X0 * 1ye * (1.0 - 1ay);\\n#1z 2Gu\\1r 2td = 1i6.z;\\1R 2uz = 3T(2X0 * 5.0 * (1.0 - 2td), 1w(0.0), 1ye);\\n#1s\\1R 2uz = 1w(0.0);\\n#1u\\1r 1L0 = 24B(1t3, 2WZ, 4X, 10.0) + 0.25 * 24B(4hb, 2WZ, 4X, 10.0);\\1r 3HC = 3T(0.0, 3T(3gv, 3HD, 2WY), 2WX);\\1r 16C = 1L0 * 3HC;\\n#1z 1js\\5dV *= 1.4;\\1r e = 0.2;\\1r d = 3.3;\\1r c = 1.7;\\1R 1A = 1Yj.2y + (c * (1w(e) + 1Yj.2y * d) * (2WW + 2uz + 16C));\\n#1s\\1R 1A = 1Yj.2y + 2WW + 2uz + 16C;\\n#1u\\2j 1m(1A, 1Yj.a);\\n}\\n#1u // #1z 1OD\\n";q.6Si="#1z 2Gr\\2J 1m 1Ft;\\2J 1o 2WM;\\n#1s\\2J 1m 2uv;\\2J 1m 1OE;\\n#1u\\1B 1w 2Gq;\\1B 5w 1wg;\\1B 5w 1Od;\\1B 1m 25k;\\1B 1v 2Gt;\\1B 1v 2Gs;\\1J 1o 1CU;\\1J 1w 1If;\\1J 1w 13L;\\1J 1w 2F;\\1J 1w 2WL;\\1J 1w 1dy;\\n#1z 1Lq\\1J 1o 2WV;\\1J 1o 2WU;\\n#1u\\n#if 2l(1OC) || 2l(1yd)\\1J 1o 2uy;\\1J 1w 2WT;\\1J 1w 2WS;\\n#1u\\n#1z 2cm\\1J 1w 2co;\\n#1u\\n#1z 1Yi\\1B 1o 3gr;\\1B 1o 3gs;\\1J 1v 2WR;\\n#1u\\1J 1m 14u;\\1P 1Au(1w 1K, 1o 1D, 1v 8u);\\1r 2ux(1v 8u);\\1P 4ha(1w 1K, 1o 1D, 1v 8u)\\n{\\2j 1Od * 1m(1K, 1.0);\\n}\\1r 4h9(1v 8u)\\n{\\4i 1o 3HB = 0.5dU;\\1r 3HA = 8u.y;\\1r 2WQ = 2Gt.x;\\1r 2WP = 2Gt.y;\\1U (2WP - 2WQ > 3HB)\\n{\\1r 2sN = 2Gs.x;\\1r 2sM = 2Gs.y;\\1r 2WO = 3T(2WQ, 2WP, 8u.y);\\5dT = 2Y(2WO, -2FO, 2FO);\\5dS = 3f0(2WO, 2sN, 2sM);\\n}\\2j 3HA;\\n}\\1r 4h8(1v 8u)\\n{\\2j 8u.y;\\n}\\1P 2WN(1w 1K, 1o 1D, 1v 8u)\\n{\\1r 2uw = 2ux(8u);\\1P 3Hz = 1m(1D, 3T(25k.st, 25k.pq, 1v(8u.x, 2uw)), 1.0);\\2j 1Od * 3Hz;\\n}\\1P 5dR(1w 1K, 1o 1D, 1v 8u)\\n{\\2j 2WN(1K, 0.0, 8u);\\n}\\1P 4h7(1w 1K, 1o 1D, 1v 8u)\\n{\\2j 2WN(1K, 1D, 8u);\\n}\\1P 4h6(1w 1K, 1o 1D, 1v 8u)\\n{\\1R 1CT = 1K + 2Gq;\\1r 2uw = 2ux(8u);\\1P 3Hy = 1m(1D, 3T(25k.st, 25k.pq, 1v(8u.x, 2uw)), 1.0);\\1P 3Hx = 1Fb(3Hy, 1m(1CT, 1.0), 1iO);\\2j 11o * 3Hx;\\n}\\n#1z 2Gr\\1B 1v 2kv;\\1B 5w 3gu;\\n#1u\\2s 2k()\\n{\\n#1z 2Gr\\2u xy = 1mL(1Ft.x);\\2u zh = 1mL(1Ft.y);\\1R 1K = 1w(xy, zh.x);\\1r 1D = zh.y;\\2u 8u = 1mL(1Ft.z);\\5dQ = 1D * (2kv.y - 2kv.x) + 2kv.x;\\3Hw = 1D;\\2jG = (3gu * 1m(1K, 1.0)).1H;\\n#if (2l(1wn) || 2l(25j)) && 2l(2cn)\\1r 1rM = 1mL(1Ft.w).x;\\1r 1mT = 2WM;\\n#1Cw 2l(2cn)\\1r 1rM = 1mL(1Ft.w).x;\\1r 1mT = 0.0;\\n#1Cw 2l(1wn) || 2l(25j)\\1r 1rM = 8u.y;\\1r 1mT = 1Ft.w;\\n#1s\\1r 1rM = 8u.y;\\1r 1mT = 0.0;\\n#1u\\n#1s\\1R 1K = 2uv.1H;\\1r 1D = 2uv.w;\\3Hw = 1D;\\2u 8u = 1OE.xy;\\n#if (2l(1wn) || 2l(25j) || 2l(1Lq)) && 2l(2cn)\\1r 1rM = 1OE.z;\\1r 1mT = 1OE.w;\\n#1Cw 2l(1wn) || 2l(25j) || 2l(1Lq)\\1r 1rM = 8u.y;\\1r 1mT = 1OE.z;\\n#1Cw 2l(2cn)\\1r 1rM = 1OE.z;\\1r 1mT = 0.0;\\n#1s\\1r 1rM = 8u.y;\\1r 1mT = 0.0;\\n#1u\\n#1u\\1R 1CT = 1K + 2Gq;\\11u = 1Au(1K, 1D, 8u);\\1mN = 1w(8u, 1rM);\\n#if 2l(1wn) || 2l(25j) || 2l(1Lq)\\1t6 = (1wg * 1m(1K, 1.0)).1H;\\2WK = 1CT;\\1R 1jA = 1gT(1mT);\\5dP = 1jA;\\1Oe = 1Xn * 2WL;\\n#1Cw 2l(1OD) || 2l(1At) || 2l(3Hv) || 2l(1js)\\1t6 = (1wg * 1m(1K, 1.0)).1H;\\2WK = 1CT;\\n#1u\\n#if 2l(1OC) || 2l(1yd)\\2ck 2WJ = 2Gp(1CT, 16f, 1w(0.0));\\5dO = 2WJ.2cj;\\5dN = 2WJ.2ci;\\5dM = 1h((4h5 * 1m(1CT, 1.0)).1H);\\n#1u\\n#1z 1Lq\\1R 3Ht = 1jA;\\1R 3Hu = 1T(1CT.1H);\\5dL = abs(2A(3Hu, 3Ht));\\5dK = 1D;\\n#1u\\3gt = 1k1 * 6I;\\n#1z 2cm\\1t6 = (1wg * 1m(1K.1H, 1.0)).1H;\\5dJ = 1T(1CT);\\n#1u\\n#1z 1Yi\\1r 3Hs = 2o(3gs - 3gr, 2.0);\\1r 3Hr = 3r(2.0,3Hs);\\5dI = 2F.xy * 3Hr;\\n#1u\\n}\\n";q.6Sh="#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 1m 1A;\\1B 1o 1SR;\\1B 1v 1ql;\\1B 1v 1As;\\1B 1v 1uF;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r 1l2 = 8N(1ql.s * st.s - 1uF.s);\\3Hq = abs(1l2 - 2t(1l2 + 0.5));\\1r 1ic = 8N(1ql.t * st.t - 1uF.t);\\3Hp = abs(1ic - 2t(1ic + 0.5));\\1r 1Q;\\n#1z 8p\\4i 1o 1uE = 1.2;\\2u 1mS = (1As * 1gU) - 1.0;\\2u dx = abs(1cu(st));\\2u dy = abs(1ct(st));\\2u dF = 1v(1V(dx.s, dy.s), 1V(dx.t, dy.t)) * 1ql;\\1ak = 2o(\\3Ho(dF.s * 1mS.s, dF.s * (1uE + 1mS.s), 1l2),\\3Ho(dF.t * 1mS.t, dF.t * (1uE + 1mS.t), 1ic));\\n#1s\\4i 1o 1uE = 0.1cN;\\2u 11D = 0.5 - (1As * 0.1cN);\\1ak = 2o(\\n1.0 - 13f(11D.s, 11D.s + 1uE, 1l2),\\n1.0 - 13f(11D.t, 11D.t + 1uE, 1ic));\\n#1u\\1r 3Hn = 1.0 - abs(2A(5y.4X, 1T(5y.11E)));\\1r 3Hm = 13f(0.8, 1.0, 3Hn);\\1ak *= (1.0 - 3Hm);\\1P 2cl;\\2WI.2y = 1A.2y * 0.5;\\2WI.a = 1A.a * (1.0 - ((1.0 - 1SR) * 1Q));\\2WI = 9D(2cl);\\10H.8t = 2cl.2y;\\10H.17Y = 2cl.2y;\\10H.2O = 2cl.a;\\2j 2q;\\n}\\n";q.6Sg="XR 1o 1Yg = 16t.0;\\4i 1o 1Lp = 16t.0 * 1.2ku;\\4i 1o 2WF = 1Lp * 1Lp;\\4i 1o Kr = 0.2tA;\\4i 1o Km = 0.2bF;\\4i 1o 1rD = 15.0;\\4i 1o 2Ws = Kr * 1rD;\\4i 1o 2Wr = Km * 1rD;\\4i 1o 2Ww = Kr * 4.0 * 1eN;\\4i 1o 2Wv = Km * 4.0 * 1eN;\\4i 1o 2kp = 1.0 / (1Lp - 1Yg);\\4i 1o 1Yh = 0.25;\\4i 1o 2Wz = 2kp / 1Yh;\\4h4 4h3\\n{\\1R 2cj;\\1R 2ci;\\n};\\4i 7P 1I0 = 2;\\4i 1o 1I1 = 2.0;\\1r 3b(1o 2WH)\\n{\\1r x = 1.0 - 2WH;\\2j 1Yh * 108(-0.2tz + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\\n}\\2ck 2Gp(1w 1CS, 7d 2WD, 1w 2uu)\\n{\\1R 2km = 1w(1.0 / 3r(0.650, 4.0), 1.0 / 3r(0.570, 4.0), 1.0 / 3r(0.475, 4.0));\\1R 1CR = 1CS - 1al;\\1r 2kq = 1h(1CR);\\4h2 /= 2kq;\\1r 2kt = 1h(1al);\\1r 2WG = 2kt * 2kt;\\1r B = 2.0 * 1h(1al) * 2A(1T(1al), 1CR);\\1r C = 2WG - 2WF;\\1r 2WE = 1V(0.0, B*B - 4.0 * C);\\1r 2ks = 0.5 * (-B - 3Y(2WE));\\1R 2WB = 1al + 1CR * 2ks;\\4h1 -= 2ks;\\1r 1qk = 108((1Yg - 1Lp) / 1Yh);\\1r 1HZ = 15B(2WD, 2A(2uu, 1CS) / 1h(1CS), 1.0);\\1r 1HY = 2A(-1CR, 1CS) / 1h(1CS);\\1r 2kr = 3b(1HY);\\1r 2WC = 3b(1HZ);\\1r 2Wx = 1qk*2kr;\\1r 2Wy = (2WC + 2kr);\\1r 2ko = 2kq / 1I1;\\1r 2Wu = 2ko * 2kp;\\1R 2kn = 1CR * 2ko;\\1R 2WA = 2WB + 2kn * 0.5;\\1R 2Wt = 1w(0.0);\\1R 2kl = 1w(0.0);\\14D(7P i=0; i<1I0; i++)\\n{\\1r 14o = 1h(2WA);\\1r 1qk = 108(2Wz * (1Yg - 14o));\\1r 1HX = 1qk*2Wy - 2Wx;\\4h0 = 108(-1HX * (2km * 2Ww + 2Wv));\\4gZ += 2kl * (1qk * 2Wu);\\4gY += 2kn;\\n}\\2ck 1A;\\6p.2cj = 2Wt * (2km * 2Ws + 2Wr);\\6p.2ci = 2kl;\\2j 1A;\\n}\\n";q.6Sf="XR 1m 2ch = 1m(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\1R 24T(1w 1fQ)\\n{\\1R p = abs(8N(1fQ.2Go + 2ch.1H) * 6.0 - 2ch.10y);\\2j 1fQ.z * 3T(2ch.2Go, 2Y(p - 2ch.2Go, 0.0, 1.0), 1fQ.y);\\n}\\n";q.6Se="1w 3Hl(1o 1lQ)\\n{\\1r r = abs(1lQ * 6.0 - 3.0) - 1.0;\\1r g = 2.0 - abs(1lQ * 6.0 - 2.0);\\1r b = 2.0 - abs(1lQ * 6.0 - 4.0);\\2j 2Y(1w(r, g, b), 0.0, 1.0);\\n}\\1R 3gq(1w 1OB)\\n{\\1R 2y = 3Hl(1OB.x);\\1r c = (1.0 - abs(2.0 * 1OB.z - 1.0)) * 1OB.y;\\2j (2y - 0.5) * c + 1OB.z;\\n}\\n";q.6Sd="2n 2v 6T;\\1B 2v 3gn;\\1B 2v 3gm;\\1B 1v 3He;\\1B 1o 1mR;\\1B 1o 3gp;\\1B 1o 3go;\\1B 1o 3Hc;\\1B 1o 2kk;\\1B 1o 12r;\\1J 1v 2F;\\n#2f 3Hi 5dH.0\\1P 2Wq(1w WC, 1o 2kk)\\n{\\1P 4p = 1p3 * 1m(WC, 1.0);\\1eR = 1m(4p.x + 2kk, 4p.y, 4p.z, 1.0);\\1P 6K = 18a(4p);\\2j 1t5 * 1m(6K.xy, -6K.z, 1.0);\\n}\\1r 2ut(1v 8R, 1v 1Ie)\\n{\\2u 2Wp = 8R * 2.0 - 1.0;\\1P 3Hk = 2Wq(1w(0.0), 0.0);\\1P 3Hj = 2Wq(1w(0.0), 2kk * 1.5);\\5dG.xy -= 3Hk.xy;\\1r X = abs(2Wp.x) * 1Ie.x;\\1r Y = abs(2Wp.y) * 1Ie.y;\\2j 2Y(0.0, 1.0, 1V(3Y(X * X + Y * Y) / 1V(abs(3Hj.x * 1Ie.x), 1.0) - 0.8 , 0.0));\\n}\\1P 2Wo(2v 9f, 1v 8R, 1v 2G, 1w 1mR, 7d 1Oz)\\n{\\2u 1Ie = 9e.zw;\\1R 1A;\\1U(1Oz)\\n{\\6p.r = 2ut(8R + 2G * 1mR.r, 1Ie) * 1Y(9f, 8R + 2G * 1mR.r).r;\\6p.g = 2ut(8R + 2G * 1mR.g, 1Ie) * 1Y(9f, 8R + 2G * 1mR.g).g;\\6p.b = 2ut(8R + 2G * 1mR.b, 1Ie) * 1Y(9f, 8R + 2G * 1mR.b).b;\\n}\\5L\\n{\\6p.r = 1Y(9f, 8R + 2G * 1mR.r).r;\\6p.g = 1Y(9f, 8R + 2G * 1mR.g).g;\\6p.b = 1Y(9f, 8R + 2G * 1mR.b).b;\\n}\\2j 1m(2Y(1A, 0.0, 1.0), 0.0);\\n}\\2s 2k(1p)\\n{\\1P 2cf = 1Y(6T, 2F);\\1R 2y = 2cf.2y;\\166 1Oz = 1h(1al.1H) > 3Hi;\\1P 1OA = 1iO == 1.0 ? 1m(1HW, 1.0) : 1m(3fA.1ca, 1.0);\\1P 3Hh = 1p3 * 1OA;\\1P 2cg = 18a(3Hh);\\5dF = 1t5 * 1m(2cg.xy, -2cg.z, 1.0);\\1U(!1Oz || !((1OA.x >= -1.1 && 1OA.x <= 1.1) && (1OA.y >= -1.1 && 1OA.y <= 1.1)))\\n{\\3R = 2cf;\\2j;\\n}\\2u 8R = 1v(1.0) - 2F;\\2u 12Q = 1gU / 9e.zw;\\2u 3Hf = 1.0 / 12Q;\\1R 2Wm = 12Q.x * 1w(-1mR, 0.0, 1mR);\\2u 2us = (1v(0.5) - 8R) * 3gp;\\1R 2G = 1T(1w(2us, 0.0));\\1P 4D = 1m(0.0);\\1P 3Hg = 1m(0.0);\\14D (7P i = 0; i < 4; ++i)\\n{\\2u 2M = 8N(8R + 2us * 1o(i));\\5dE += 2Wo(6T, 2M, 2G.xy, 2Wm, 1Oz);\\n}\\19v += 3Hg;\\2u 2Wn = 1T(2us) * 3go;\\1r 2Wl = 1h(1v(0.5) - 8N(8R + 2Wn)) / 1h(1v(0.5));\\5dD = 3r(1.0 - 2Wl, 5.0);\\19v += 2Wo(6T, 8R + 2Wn, 2G.xy, 2Wm, 1Oz) * 2Wl * 1.5;\\2u 1yc = (2F * 3Hf) / 3He;\\1U (1yc.x > 1.0)\\n{\\3Hd.x = 13R(2t(1yc.x), 2.0) == 1.0 ? 1.0 - 8N(1yc.x) :  8N(1yc.x);\\n}\\1U (1yc.y > 1.0)\\n{\\3Hd.y = 13R(2t(1yc.y), 2.0) == 1.0 ? 1.0 - 8N(1yc.y) :  8N(1yc.y);\\n}\\19v += 3Hc * 1Y(3gn, 1yc);\\1r 2Wk = 1p3[0].z + 1p3[1].y;\\1r 3Ha = 3i(2Wk);\\1r 3Hb = 2T(2Wk);\\1NS 5S = 14j(\\5dC, -3Hb, 0.0,\\5dB, 3Ha, 0.0,\\n0.0, 0.0, 1.0\\n);\\1R 2Wh = 1w(2F * 2.0 - 1v(1.0), 1.0);\\1R 3H9 = 1w((5S * 2Wh).xy, 1.0);\\1R 3H8 = 3H9 * 0.5 + 1w(0.5);\\2u 3H7 = 3H8.xy;\\1r 2Wi = 1h(1w(1OA.xy, 0.0));\\1r 2Wj = 1V(1.0 - 2Wi, 0.0);\\1U (!1Oz)\\n{\\19v *= 2Wj * 12r * 0.2;\\n}\\5L\\n{\\19v *= 2Wj * 12r;\\19v *= 1Y(3gm, 3H7) * 3r(2Wi, 1.0) * 1V((1.0 - 1h(1w(2Wh.xy, 0.0))), 0.0) * 2.0;\\n}\\19v += 1Y(6T, 2F);\\3R = 4D;\\n}\\n";q.6Sc="11e(17J=0) in 1w 3h;\\1ur(17J=3) in 1v 4M;\\1B 1o 1i7;\\1B 1o 1SP;\\1B 1o 2kh;\\1B 1o 2kg;\\1B 1m 2cc;\\1B 2v 1p7;\\1B 2v 25i;\\1B 1o 2ki;\\1B 1o 2kj;\\1B 1o 1SO;\\1B 1o 1t4;\\1B 1o 1mM;\\1B 1m 1fS;\\1B 1v 1CQ;\\1B 1o 1Oy;\\1eq 1m 2cd;\\1eq 1v 1w7;\\1r 1CN()\\n{\\1P 9I = 9q * 1m(3h, 1.0);\\1P 1o1 = 17B * 9I;\\1r 1CP = 1dv(9I);\\3GS.x = 1o1.x - 2.0 * 1CP;\\1P 1CO = 1k1 * 1o1;\\2j 1h(9I - 1CO);\\n}\\1P 1Fr(1w 1CM)\\n{\\1P 9I = 9q * 1m(3h, 1.0);\\n#1z 3gg\\1Cv.1H = 9I.1H + 1CM * 1CN() * 1SP;\\n#1s\\1Cv.1H = 9I.1H + 1CM * 1SP;\\n#1u\\1Cv.1H = 9I.1H * 0.9;\\2j 17B * 9I;\\n}\\2s 2k()\\n{\\2u 2up;\\1Id.x = (3h.x - 1fS.x) / (1fS.z - 1fS.x);\\1Id.y = (3h.y - 1fS.y) / (1fS.w - 1fS.y);\\1r 2ur = 3h.z / (1CQ.y - 1CQ.x);\\1r 1Yf = 1.0 / 1Oy;\\1r 2uq = 2t(2ur / 1Yf);\\1Id.x /= 1Oy;\\1Id.x += 1Yf * 2uq;\\1R 1c9 = 7y(1p7, 2up).1H;\\1r 1Ic = 1h(1c9);\\1r 19U = abs(2kj - 1SO);\\1r 1i5 = (1Ic - 1SO) / 19U;\\1r 1eP = 2Y(1i5, 0.0, 1.0);\\2cb = 3T(2cc, 7y(25i, 1v(0.0, 1eP)).15A, 2ki);\\1Xi= 4M;\\n#1z 3gf\\1U(1Ic > 2kh || 1Ic < 2kg)\\n{\\2cb.a = 0.0;\\n}\\n#1u\\1U(3h.x > 1fS.z || 3h.x < 1fS.x || 3h.y > 1fS.w || 3h.y < 1fS.y || 3h.z < 1CQ.x || 3h.z > 1CQ.y)\\n{\\2cb.a = 0.0;\\n}\\n#1z 2uo\\1R 3H6 = 3h.1H + 1c9.1H * 1mM * 1t4;\\1P 2un = 11o * 1m(3H6, 1.0);\\1P 2um = 11o * 1m(3h, 1.0);\\2u 2G = 1T(2un.xy - 2um.xy);\\1r 1yb = 2A(2G, 1v(1.0, 0.0));\\1r 2ul = 2A(2G, 1v(0.0, 1.0));\\1r 1Ye = 3Y(1.0- 1yb*1yb);\\1r 1Yd = 12q(2ul);\\1KZ 1Fs = 1bG(1yb, 1Ye * 1Yd, -1Ye * 1Yd, 1yb);\\2u 1aY = 1Fs * 4M.xy;\\11u = 1Fr(1w(1aY.xy, 0.0));\\n#1s\\2jz = 1i7;\\11u = 11o * 1m(3h, 1);\\n#1u\\n}\\n";q.6Sb="1k7 6V 1o;\\1ur(17J=0) in 1w 3h;\\1ur(17J=1) in 1w 1Xw;\\1ur(17J=2) in 1v 1iN;\\1eq 1w 2tk;\\1eq 1w 2Uq;\\1eq 1v 2Up;\\1B 2v 1p7;\\1B 1o 1t4;\\1B 1o 1mM;\\1B 1m 1fS;\\1B 1v 1CQ;\\1B 1o 1Oy;\\2s 2k()\\n{\\2u 2up;\\1Id.x = (3h.x - 1fS.x) / (1fS.z - 1fS.x);\\1Id.y = (3h.y - 1fS.y) / (1fS.w - 1fS.y);\\1r 2ur = 3h.z / (1CQ.y - 1CQ.x);\\1r 1Yf = 1.0 / 1Oy;\\1r 2uq = 2t(2ur / 1Yf);\\1Id.x /= 1Oy;\\1Id.x += 1Yf * 2uq;\\1R 1c9 = 7y(1p7, 2up).1H;\\1U(1iN.x > 1iN.y)\\n{\\2tl = 1Xw;\\1HS.x = 0.0;\\1HS.y = 1iN.y;\\n}\\5L\\n{\\2tl.1H = 3h.1H + 1c9.1H * 1mM * 1t4;\\1HS.x += 1iN.x + 1mM;\\1HS.y = 1iN.y;\\n}\\3ES = 1Xw;\\n}\\n";q.6Sa="2n 2v 6T;\\1B 1w 1Ar;\\1J 1v 2F;\\n#1z 1uD\\1B 2v 1ta;\\n#1u\\2s 2k()\\n{\\1P 1nV = 1Y(6T, 2F);\\1R 1A = 1nV.2y;\\n#1z 1uD\\1r 1p8 = 1Y(1ta, 1v(0.5)).r;\\6p /= 1p8;\\n#1u\\6p = (1A * (1.0 + 1A / 1Ar)) / (1.0 + 1A);\\6p = 1Xg(1A);\\3R = 1m(1A, 1nV.a);\\n}\\n";q.6S9="2n 2v 5dA;\\1B 2v 5dz;\\1B 1o 3gl;\\1J 1v 6r;\\2s 2k()\\n{\\1P 5dy = 1Y(5dA, 6r);\\1P 5dx = 1Y(5dz, 6r);\\3R = 5dy * 0.997 + 5dx;\\n}\\n";q.6S8="3Q 1m 4f;\\1J 1v 6r;\\2s 2k()\\n{\\11u = 4f;\\2Un = (4f.xy+1.0)* 0.5;\\n}\\n";q.6S7="2n 2v 6T;\\1J 1v 2F;\\1r 3H3(1v co)\\n{\\2j 8N(2T(2A(co.xy ,1v(12.3H5, 78.233))) * 3gk.3H4);\\n}\\2s 2k(1p)\\n{\\1r 3H2 = 3H3(2F + 2T(2jx)) * 0.1;\\1R 2y = 1Y(6T, 2F).2y;\\1R 5t = 1w(0.0, 1.0, 0.0);\\3R = 1m((3H2 + 2y) * 5t, 1.0);\\n}\\n";q.6S6="2n 2v 4d;\\1B 1o 1xN;\\1B 1v 12G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1P 2ce = 1Y(4d, 8N(12G * 5y.st));\\1R 1i6 = 2ce.1SQ;\\1Cq.xy = 1i6.xy * 2.0 - 1.0;\\1Cq.z = 2Y(1.0 - 1xN, 0.1, 1.0);\\1Cq = 1T(1i6);\\1R 4X = 5y.1p2 * 1i6;\\10H.2U = 4X;\\2j 2q;\\n}\\n";q.6S5="3G 1v 2F;\\1B 1o 2Gn;\\1B 2v 2Wg;\\1B 2v 2Wf;\\1B 2v 2We;\\1B 2v 3GX;\\1B 2v 3GW;\\1B 2v 3GV;\\4i 1o 3H1 = 1.0 - (1.0 / 3r(2.0, 1.0));\\4i 1o 3H0 = 1.0 - (1.0 / 3r(2.0, 2.0));\\4i 1o 3GZ = 1.0 - (1.0 / 3r(2.0, 3.0));\\4i 1o 3GY = 1.0 - (1.0 / 3r(2.0, 4.0));\\2s 2k()\\n{\\2u uv = 2F;\\2u 1en = 1v(2Gn * 1.5 + 2.0, 2Gn);\\2u 17W = 1.0 / 1en;\\1r 1dU = 0.0;\\1U (uv.x - 17W.x > (1en.y / 1en.x))\\n{\\1O6 = 1.0;\\1U (uv.y - 17W.y > 3H1)\\n{\\1O6 = 2.0;\\1U (uv.y - 17W.y * 3.0 > 3H0)\\n{\\1O6 = 3.0;\\1U (uv.y - 17W.y * 5.0 > 3GZ)\\n{\\1O6 = 4.0;\\1U (uv.y - 17W.y * 7.0 > 3GY)\\n{\\1O6 = 5.0;\\n}\\n}\\n}\\n}\\n}\\1U (1dU > 0.0)\\n{\\1r 3b = 3r(2.0, 1dU);\\1rF.y -= (17W.y * (1dU - 1.0) * 2.0);\\1rF.x *= ((1en.x - 2.0) / 1en.y);\\1rF.x -= 1.0 + 17W.x;\\1rF.y -= (1.0 - (1.0 / 3r(2.0, 1dU - 1.0)));\\1rF *= 3b;\\n}\\5L\\n{\\1rF.x *= (1en.x / 1en.y);\\n}\\1U(1dU == 0.0)\\n{\\3R = 1Y(2Wg, uv);\\n}\\5L if(1dU == 1.0)\\n{\\3R = 1Y(2Wf, uv);\\n}\\5L if(1dU == 2.0)\\n{\\3R = 1Y(2We, uv);\\n}\\5L if(1dU == 3.0)\\n{\\3R = 1Y(3GX, uv);\\n}\\5L if(1dU == 4.0)\\n{\\3R = 1Y(3GW, uv);\\n}\\5L if(1dU == 5.0)\\n{\\3R = 1Y(3GV, uv);\\n}\\5L\\n{\\3R = 1m(0.0);\\n}\\n}\\n";q.6S4="3G 1w 2Wc;\\1B 1HF 3gj;\\2s 2k()\\n{\\1P 2Wd = 24F(3gj, 2Wc);\\1r m = 2Wd.a * 16.0;\\1R r = 2Wd.2y * m;\\3R = 1m(r * r, 1.0);\\n}\\n";q.6S3="3Q 1m 1K;\\2J 1w 3gi;\\1J 1w 2Wc;\\2s 2k()\\n{\\11u = 1K;\\5dw = 3gi;\\n}\\n";q.6S2="1k7 10f 1o;\\3GU 1m 2cd;\\3GU 1v 1w7;\\1eq 1m 3F1;\\1B 2v 3gh;\\2s 2k()\\n{\\3GT = 2cd;\\n#1z 2uo\\3GT = 7y(3gh, 1w7) * 2cd;\\n#1u\\n}\\n";q.6S1="11e(17J=0) in 1w 3h;\\1ur(17J=2) in 1v 1Xy;\\1ur(17J=3) in 1v 1iN;\\1ur(17J=4) in 1v 4M;\\1B 1o 1i7;\\1B 1o 1SP;\\1B 1o 2kh;\\1B 1o 2kg;\\1B 1m 2cc;\\1B 2v 1p7;\\1B 2v 25i;\\1B 1o 2ki;\\1B 1o 2kj;\\1B 1o 1SO;\\1B 1o 1t4;\\1B 1o 1mM;\\1eq 1m 2cd;\\1eq 1v 1w7;\\1r 1CN()\\n{\\1P 9I = 9q * 1m(3h, 1.0);\\1P 1o1 = 17B * 9I;\\1r 1CP = 1dv(9I);\\3GS.x = 1o1.x - 2.0 * 1CP;\\1P 1CO = 1k1 * 1o1;\\2j 1h(9I - 1CO);\\n}\\1P 1Fr(1w 1CM)\\n{\\1P 9I = 9q * 1m(3h, 1.0);\\n#1z 3gg\\1Cv.1H = 9I.1H + 1CM * 1CN() * 1SP;\\n#1s\\1Cv.1H = 9I.1H + 1CM * 1SP;\\n#1u\\1Cv.1H = 9I.1H * 0.9;\\2j 17B * 9I;\\n}\\2s 2k()\\n{\\2u 2tm;\\2tn.x = (1Xy.x + 1eN) / 1w4;\\2tn.y = (1Xy.y + 1Sj) / 1eN;\\2u 1c9 = 7y(1p7, 2tm).xy;\\1r 1Ic = 1h(1c9);\\1r 19U = abs(2kj - 1SO);\\1r 1i5 = (1Ic - 1SO) / 19U;\\1r 1eP = 2Y(1i5, 0.0, 1.0);\\2cb = 3T(2cc, 7y(25i, 1v(0.0, 1eP)).15A, 2ki);\\1Xi= 4M;\\1R 1wf = 1T(3h);\\1R 1HT = 4B(1w(0.0, 0.0, 1.0), 1wf);\\3EU = 1T(1HT);\\1R 1Xx = 4B(1wf, 1HT);\\3ET = 1T(1Xx);\\n#1z 3gf\\1U(1Ic > 2kh || 1Ic < 2kg){\\2cb.a = 0.0;\\n}\\n#1u\\n#1z 2uo\\1R 3GR = 3h + 1Xx * 1c9.y * 1mM * 1t4 + 1HT * 1c9.x * 1mM * 1t4;\\1P 2un = 11o * 1m(3GR, 1.0);\\1P 2um = 11o * 1m(3h, 1.0);\\2u 2G = 1T(2un.xy - 2um.xy);\\1r 1yb = 2A(2G, 1v(1.0, 0.0));\\1r 2ul = 2A(2G, 1v(0.0, 1.0));\\1r 1Ye = 3Y(1.0- 1yb*1yb);\\1r 1Yd = 12q(2ul);\\1KZ 1Fs = 1bG(1yb, 1Ye * 1Yd, -1Ye * 1Yd, 1yb);\\2u 1aY = 1Fs * 4M.xy;\\11u = 1Fr(1w(1aY.xy, 0.0));\\n#1s\\2jz = 1i7;\\11u = 11o * 1m(3h, 1);\\n#1u\\n}\\n";q.6S0="2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(16S, 2F);\\n}\\n";q.6RZ="2n 2v 6T;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(6T, 2F);\\n}\\n";q.6RY="2n 2v 1qj;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1lP(1Y(1qj, 2F).r);\\n}\\n";q.6RX="2n 2v 3ge;\\1B 2v 1L1;\\1B 1o 1rP;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1A = 1Y(1L1, 2F);\\1P 3GQ = 1Y(3ge, 2F);\\1P 1bk = 1A*1A.a + 3GQ * (1.0 - 1A.a);\\3R = 1m(2t(255.0 * 1bk * 1rP) / 255.0);\\n}\\n";q.6RW="#1z 8p\\n#6A 8p : 5F\\n#1u\\1J 1w 13L;\\1J 1w 1dy;\\1J 1m 15g;\\2s 2k()\\n{\\1R 11E = -13L;\\1R 4X = 1T(1dy);\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\1P 1A = 9D(15g);\\1jv 5y;\\10m.4X = 4X;\\10m.11E = 11E;\\10I 2q = 1bi(5y);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\3R = 1nR(1T(11E), 2q, 1qd);\\n}\\n";q.6RV="3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 2U;\\2J 1m 1A;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\1J 1m 15g;\\2s 2k()\\n{\\1P p = 1nS();\\1t6 = (15D * p).1H;\\1Oe = 11b * 2U;\\1wi = 1A;\\11u = 1kV * p;\\n}\\n";q.6RU="3G 1m 15g;\\2s 2k()\\n{\\3R = 9D(15g);\\n}\\n";q.6RT="3Q 1w 1aU;\\2J 1w 19W;\\2J 1m 1A;\\2J 1o 4R;\\1J 1m 15g;\\2s 2k()\\n{\\1P p = 1nS();\\1wi = 1A;\\11u = 1kV * p;\\n}\\n";q.6RS="#6A 5J : 5F\\1B 2v 2ca;\\1B 2v 2kf;\\1B 1v 2Gm;\\1J 1v 2F;\\2u 1ya(1o 1gS, 1v 2M)\\n{\\1r 6Y = 2Gm.x;\\2u 3GN = 2F + 2M * 6Y;\\2u 3GP = 2F + 2M * 2t(6Y);\\2u 3GO = 2F + 2M * 8a(6Y);\\1r 2Wb = 11N(1Y(2kf, 3GP));\\1r 2Wa = 11N(1Y(2kf, 3GO));\\1U (2Wb == 0.0 || 2Wa == 0.0) {\\2j 1v(0.0);\\n}\\1r 3GM = 3T(2Wb, 2Wa, 8N(6Y));\\1P 5Z = 1az(3GN, 3GM);\\2j 1v(1V(0.0, 1gS - 1iK(-5Z.z / 5Z.w)), 1.0);\\n}\\2s 2k()\\n{\\1r 1rj = 11N(1Y(2kf, 2F));\\1P 5Z = 1az(4u.xy, 1rj);\\2aX /= 5Z.w;\\1r 1gS = 1iK(-5Z.z);\\1U (1rj == 0.0)\\n{\\10W;\\n}\\1P 1A = 1Y(2ca, 2F);\\2u 14v = 1.0 / 9e.zw;\\2u 1Yc = 1v(0.0);\\1Ib += 1ya(1gS, 1v(-14v.x, 0.0));\\1Ib += 1ya(1gS, 1v(+14v.x, 0.0));\\1Ib += 1ya(1gS, 1v(0.0, -14v.y));\\1Ib += 1ya(1gS, 1v(0.0, +14v.y));\\1r 1pa = 1Yc.x / 1Yc.y;\\1r 1xN = 2Gm.y;\\1r 1SN = 108(-1pa * 300.0 * 1xN);\\6p.2y *= 1SN;\\3R = 1m(1A);\\n#1z 10B\\1ri(1.0 + (17B * 1m(5Z.1H, 1.0)).w);\\n#1s\\1F2 = 18a(1m(5Z.1H, 1.0)).z;\\n#1u\\n}\\n";q.6RR="3G 1m 15g;\\1J 1m 1CK;\\1J 1o 1Fq;\\1J 1o 1mQ;\\1J 1m 1nW;\\2s 2k()\\n{\\1r 1tc = 1h(1Ss - 1v(0.5));\\1r 1td = 1V(0.0, 0.5 - 1mQ);\\1r 1CL = 1.0 - 13f(1td, 0.5, 1tc);\\1r 2c9 = 1.0 - 13f(1td * 1Fq, 0.5 * 1Fq, 1tc);\\1P 1A = 3T(1CK, 15g, 2c9);\\6p.a *= 1CL;\\n#if !2l(18W) && !2l(1bl)\\1U (1A.a < 0.1Am)\\n{\\10W;\\n}\\n#1s\\n#1z 18W\\1U (1A.a < 0.995)\\n{\\10W;\\n}\\n#1s\\1U (1A.a >= 0.995)\\n{\\10W;\\n}\\n#1u\\n#1u\\3R = 9D(1A);\\1ri();\\n}\\n";q.6RQ="2n 1o 3gd;\\2J 1m 2ke;\\2J 1m 2uk;\\2J 1m 1lU;\\2J 1m 1lV;\\2J 1m 13h;\\2J 1w 25g;\\1J 1m 15g;\\1J 1m 1CK;\\1J 1o 1Fq;\\1J 1o 1mQ;\\1J 1m 1nW;\\4i 1o 16P = 256.0;\\4i 1o 16s = 1.0 / 256.0;\\2s 2k()\\n{\\1R 1Su = 2ke.1H;\\1R 1St = 2uk.1H;\\1r 2W9 = 2.0 * 2uk.w;\\1r 1Ya = 2ke.w + 2W9;\\1r 3GJ = 2W9 / 1Ya;\\2c7 *= 1gU;\\2c7 += 3.0;\\1r 4W = 1lV.x * 16s;\\1r 2p = 2t(4W);\\n#1z 1Ox\\1P 15M;\\1Ia.x = 1lV.z;\\1Ia.z = 1lV.w;\\1Ia.y = ((4W - 2t(4W)) * 16P) / 255.0;\\15L = 1lV.y * 16s;\\1Ia.w = ((4W - 2t(4W)) * 16P) / 255.0;\\n#1u\\1P 1A;\\1P 5M;\\1P 1fR;\\15L = 1lU.z * 16s;\\1y9.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\1y9.g = (4W - 2t(4W)) * 16P;\\1y9.r = 2t(4W);\\15L = 1lU.x * 16s;\\6p.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\6p.g = (4W - 2t(4W)) * 16P;\\6p.r = 2t(4W);\\15L = 1lU.y * 16s;\\1y8.b = (4W - 2t(4W)) * 16P;\\15L = 2t(4W) * 16s;\\1y8.g = (4W - 2t(4W)) * 16P;\\1y8.r = 2t(4W);\\15L = 1lU.w * 16s;\\1y9.a = (4W - 2t(4W)) * 16P;\\1y9 = 1fR / 255.0;\\15L = 2t(4W) * 16s;\\1y8.a = (4W - 2t(4W)) * 16P;\\1y8 /= 255.0;\\6p.a = 2t(4W);\\6p /= 255.0;\\1P p = 16e(1Su, 1St);\\1P 4p = 15D * p;\\n#if 2l(2c8) || 2l(1Ox) || 2l(1Fm) || 2l(1Ow)\\1r 1eT;\\1U (1kO == 1HG)\\n{\\1XV = 2tZ.y;\\n}\\5L\\n{\\1XV = 2A(4p.1H, 4p.1H);\\n}\\n#1u\\n#1z 2c8\\2c7 *= 1Sk(13h, 1eT);\\n#1u\\2c7 = 2o(1Ya, 3gd);\\1U (1Ya < 1.0)\\n{\\1eR.1H = 1w(0.0);\\2c7 = 1.0;\\n}\\1r 1Ov = 1.0;\\n#1z 1Ox\\3GL = 1Sk(15M, 1eT);\\1U (1Ov < 0.2kd)\\n{\\1eR.1H = 1w(0.0);\\n}\\n#1u\\n#1z 1Fm\\1r 1Ou = 25g.x;\\1r 1Ot = 25g.y;\\1U (1eT < 1Ou || 1eT > 1Ot) {\\1eR.1H = 1w(0.0, 0.0, 1.0);\\n}\\n#1u\\11u = 17B * 4p;\\1we();\\n#1z 1Ow\\1r 11p = 25g.z;\\1U (11p == 0.0 && 2kc != 0.0)\\n{\\3GK = 2kc;\\n}\\1U (11p != 0.0)\\n{\\1r 1Yb = 6I.z / 6I.w;\\166 12P = (1Yb < -1.0 || 1Yb > 1.0);\\1U (!12P && (11p < 0.0 || (1eT > 0.0 && 1eT < 11p)))\\n{\\11u.z = -6I.w;\\n#1z 10B\\1we(1m(18z.x));\\n#1u\\n}\\n}\\n#1u\\1wi = 1A;\\1wi.a *= 1Ov * 2p;\\2W8 = 5M;\\2W8.a *= 1Ov * 2p;\\5dv = 1.0 - 3GJ;\\5du = 2.0 / 1Ya;\\2jz = 1Ya * 2p;\\11u *= 2p;\\2VR = 1fR;\\n}\\n";q.6RP="#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 1m 1A;\\1J 1o 1hC;\\1r 1Lo(1v p0, 1v p1, 1o x)\\n{\\1r 1rp = (p0.y - p1.y) / (p0.x - p1.x);\\2j 1rp * (x - p0.x) + p0.y;\\n}\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\n#1z 8p\\1r 13T = 1.0 - abs(2Gl(st.s)) * 10.0 * 1gU;\\n#1s\\1r 13T = 0.975;\\n#1u\\2u 2V = 1v(1.0, 0.5);\\1r 1Ln = 1Lo(1v(13T, 1.0), 2V, st.s);\\1r 1Lm = 1Lo(1v(13T, 0.0), 2V, st.s);\\1r 18c = 0.15;\\1r s = 7F(0.5 - 18c, st.t);\\ns *= 1.0 - 7F(0.5 + 18c, st.t);\\ns *= 1.0 - 7F(13T, st.s);\\1r t = 7F(13T, 5y.st.s);\\nt *= 1.0 - 7F(1Ln, st.t);\\nt *= 7F(1Lm, st.t);\\1r 6Y;\\1U (st.s < 13T)\\n{\\1r d1 = abs(st.t - (0.5 - 18c));\\1r d2 = abs(st.t - (0.5 + 18c));\\2c6 = 2o(d1, d2);\\n}\\5L\\n{\\1r d1 = 1Af;\\1U (st.t < 0.5 - 18c && st.t > 0.5 + 18c)\\n{\\5dt = abs(st.s - 13T);\\n}\\1r d2 = abs(st.t - 1Ln);\\1r d3 = abs(st.t - 1Lm);\\2c6 = 2o(2o(d1, d2), d3);\\n}\\1P 1iT = 1m(0.0);\\1P 1aj = 3T(1iT, 1A, 2Y(s + t, 0.0, 1.0));\\1P 1bk = 1k5(1iT, 1A, 1aj, 6Y);\\2jA = 9D(1bk);\\10H.8t = 1bk.2y;\\10H.2O = 1bk.a;\\2j 2q;\\n}\\n";q.6RO="3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 1Y1;\\2J 1w 1Y0;\\2J 1w 1XY;\\2J 1w 1XX;\\2J 1v 15t;\\2J 1m 1A;\\2J 1o 4R;\\1J 1m 15g;\\2s 2k()\\n{\\1r 1kU = 15t.x;\\1r 1G = abs(15t.y) + 0.5;\\166 1mO = 15t.y < 0.0;\\1P p = 1nS();\\1P 15E = 3GI();\\1P 6k = 3GH();\\1wi = 1A;\\1r 8f;\\1P 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO, 8f);\\11u = 1t5 * 6K;\\n#1z 10B\\1we(1kV * p);\\n#1u\\n}\\n";q.6RN="1p 25f(\\1R p0,\\1R p1,\\1eq 1m 6K,\\1eq 7d 12P,\\1eq 7d 13D)\\n{\\1Ll = 16f;\\2c5 = 16f;\\1R 1iS = p1 - p0;\\1r 7t = 1h(1iS);\\1R 2G = 1T(1iS);\\1r 1iR =  -(18z.x + p0.z);\\1r 1aX = -2G.z;\\1U (1iR < 0.0 && abs(1aX) < 1bg)\\n{\\1Ll = 8O;\\n}\\5L if (1iR < 0.0 && abs(1aX) > 1bg)\\n{\\1r t = (18z.x + p0.z) / 1aX;\\1U (t < 0.0 || t > 7t)\\n{\\1Ll = 8O;\\n}\\5L\\n{\\3gc = p0 + t * 2G;\\2c5 = 8O;\\n}\\n}\\3gb = 18a(1m(p0, 1.0));\\n}\\1P 1Xz(1m 4p, 1m 17C, 1m 18F, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\1P 16F, p0, p1;\\166 13D, 12P;\\n#1z 2Gk\\1P 1lT = 18a(4p);\\1P 1CJ = 18a(17C);\\1P 1CI = 18a(18F);\\2u 1o0;\\1U (1er) {\\2c4 = 1T(1lT.xy - 1CJ.xy);\\n}\\5L {\\2c4 = 1T(1CI.xy - 1lT.xy);\\n}\\18p = 16D(1o0.x, 1o0.y) - 1.2kb;\\18p = 2t(8f / 1qb + 0.5) * 1qb;\\n#1u\\1Lk(17C.1H, 4p.1H, p0, 12P, 13D);\\1Lk(18F.1H, 4p.1H, p1, 12P, 13D);\\1Lk(4p.1H, 1er ? 17C.1H : 18F.1H, 16F, 12P, 13D);\\1U (13D)\\n{\\2j 1m(0.0, 0.0, 0.0, 1.0);\\n}\\2u 14U = 1T(p0.xy - 16F.xy);\\2u 12k = 1T(p1.xy - 16F.xy);\\1r 1kf = 1G * 0.5;\\2u 2G;\\n#1z 2ka\\1U (12P)\\n{\\1U (17C.z - 4p.z < 0.0)\\n{\\1fN = 1v(14U.y, -14U.x);\\n}\\5L\\n{\\1fN = 1v(-14U.y, 14U.x);\\n}\\n}\\5L\\n#1u\\1U (1dX(17C.1H - 4p.1H, 1w(0.0), 1jt) || 1dX(14U, -12k, 1jt))\\n{\\1fN = 1v(-12k.y, 12k.x);\\n}\\5L if (1dX(18F.1H - 4p.1H, 1w(0.0), 1jt))\\n{\\1fN = 1v(14U.y, -14U.x);\\n}\\5L\\n{\\2u 2U = 1v(-12k.y, 12k.x);\\1fN = 1T((12k + 14U) * 0.5);\\1U (2A(2G, 2U) < 0.0)\\n{\\1fN = -2G;\\n}\\1r 1gV = abs(2G.x * 12k.y - 2G.y * 12k.x);\\3ga = 2Y(1kf / 1gV, 0.0, 1G * 2.0);\\n}\\2u 2M = 2G * 1jz * 1kf * 1gU;\\2j 1m(16F.xy + 2M, -16F.z, 1.0);\\n}\\1P 1tb(1m 1K, 1m 18d, 1m 6k, 1o 1jz, 1o 1G, 7d 1er, 9H 1o 8f)\\n{\\1P 4p = 15D * 1K;\\1P 17C = 15D * 18d;\\1P 18F = 15D * 6k;\\2j 1Xz(4p, 17C, 18F, 1jz, 1G, 1er, 8f);\\n}\\n";q.6RM="2n 1m 1A;\\1B 1m 1SK;\\1B 1o 1SM;\\1B 1o 1SL;\\1J 1o 1iQ;\\4i 1o 2c2 = 16.0;\\1KZ 17b(1o 1Fp) {\\1r c = 3i(1Fp);\\1r s = 2T(1Fp);\\2j 1bG(\\nc, s,\\n-s, c\\n);\\n}\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u 3h = 17b(1iQ) * 4u.xy;\\1r 2c3 = 8N(3h.x / (1SM * 1gU));\\1r 2c1 = 2t(2c3 * 2c2);\\1r 2c0 = 2t(1SL / 3r(2.0, 2c1));\\1P 1cO = (13R(2c0, 2.0) < 1.0) ? 1SK : 1A;\\1U (1cO.a < 0.1Am) {\\10W;\\n}\\2uj = 9D(1cO);\\10H.17Y = 1cO.2y;\\10H.2O = 1cO.a;\\2j 2q;\\n}\\n";q.6RL="#1z 1mP\\1B 1m 1nU;\\n#1u\\1J 1v 9j;\\1J 1o 1Y9;\\n#1z 1Y8\\1B 1o 2k9;\\1J 1o 1Fn;\\1J 1o 2ui;\\n#1u\\2s 2k()\\n{\\1jv 5y;\\10m.s = 9j.s;\\10m.st = 9j;\\10m.1F6 = 1w(9j, 0.0);\\10I 2q = 16E(5y);\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1z 1mP\\3R *= 1nU;\\n#1u\\n#1z 2k8\\1r 2O = 1Y9;\\1U(4gX != 1.0){\\1wm = 0.0;\\n}\\3R.a = 3r(1V(0.0, 2T(3.4gW * (2O + (1.0 - 2.0*4gV)))), 3.5);\\n#1u\\n#1z 1Y8\\1U(1Fn > 1.0 || 1Fn < 0.0)\\n{\\10W;\\n}\\1r 1ay = 1Fn;\\1U(1Fn > (1.0 - 2ui))\\n{\\3R.2y *= 4gU;\\n}\\3R.a *= 1ay;\\n#1u\\1ri();\\n}\\n";q.6RK="2n 1m 1A;\\1B 1o 1Lj;\\1B 1o 1Fo;\\1J 1o 1hC;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r 1An = 1Lj / abs(st.t - 0.5) - (1Lj / 0.5);\\1U (1Fo <= 0.1I6) {\\5ds *= 2o(1.0, 1Fo / (0.5 - st.s * 0.5) - (1Fo / 0.5));\\n}\\1P 1cO;\\2uj.2y = 1V(1w(1An - 1.0 + 1A.2y), 1A.2y);\\2uj.a = 2Y(0.0, 1.0, 1An) * 1A.a;\\2uj = 9D(1cO);\\10H.17Y = 1cO.2y;\\10H.2O = 1cO.a;\\2j 2q;\\n}\\n";q.6RJ="3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 1Y1;\\2J 1w 1Y0;\\2J 1w 1XY;\\2J 1w 1XX;\\2J 1v 15t;\\2J 1v st;\\2J 1o 4R;\\n#1z 1Y8\\1B 1o 2W6;\\1B 1o 3GE;\\1B 1o 2W7;\\1B 1o 1Y7;\\1B 1o 3GG;\\2J 1w 6Y;\\1J 1o 1Fn;\\1J 1o 2ui;\\n#1u\\1J 1o 1hC;\\1J 1v 9j;\\1J 1o 1iQ;\\1J 1o 1Y9;\\2s 2k()\\n{\\1r u = abs(15t.x);\\1r 1kU = 15t.x;\\1r 1G = abs(15t.y) + 0.5;\\166 1mO = 15t.y < 0.0;\\1P p = 1nS();\\1P 15E = 3GI();\\1P 6k = 3GH();\\2tY = 1G;\\1XA = st;\\5dr = u;\\1P 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO, 1iQ);\\11u = 1t5 * 6K;\\n#1z 1Y8\\1r t = 0.0;\\1U(abs(2W7) > 1bg)\\n{\\nt = 13R((2W7 * 2W6 + 6Y.z) / 6Y.y, 1.0 + 1Y7) - 1Y7;\\n}\\5L\\n{\\nt = 13R((2W6 + 6Y.z) / 3GG, 1.0 + 1Y7) - 1Y7;\\n}\\1r 3GF = 6Y.y * 1Y7;\\5dq = (6Y.x - t * 6Y.y) / 3GF;\\5dp = 3GE / 6Y.y;\\n#1u\\n#1z 10B\\1we(1kV * p);\\n#1u\\n}\\n";q.6RI="2n 1m 1A;\\1B 1m 5M;\\1B 1o 5R;\\1J 1o 1hC;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\2u st = 5y.st;\\1r 1l1 =  0.5 * (1hC - 5R) / 1hC;\\1r b = 7F(0.5 - 1l1, st.t);\\nb *= 1.0 - 7F(0.5 + 1l1, st.t);\\1r d1 = abs(st.t - (0.5 - 1l1));\\1r d2 = abs(st.t - (0.5 + 1l1));\\1r 6Y = 2o(d1, d2);\\1P 1aj = 3T(5M, 1A, b);\\1P 1bk = 1k5(5M, 1A, 1aj, 6Y);\\2jA = 9D(1bk);\\10H.8t = 1bk.2y;\\10H.2O = 1bk.a;\\2j 2q;\\n}\\n";q.6RH="#1z 5J\\n#6A 5J : 5F\\n#1u\\1J 1m 1h2;\\1J 1m 1jy;\\1J 1m 18q;\\1J 1m 1kd;\\1J 1m 18D;\\n#1z 19Y\\1J 1m 15g;\\n#1u\\2s 2k(1p)\\n{\\1r 17n = 15B(1kO == 1HG, 4u.z, 11N(1Y(1aB, 4u.xy / 9e.zw)));\\1R 19Z = 1w(1kd.w, 18D.zw);\\1U (17n == 0.0) {\\n#1z 1SJ\\3R = 1m(1.0, 0.0, 0.0, 0.5);\\2j;\\n#1s // 1SJ\\10W;\\n#1u // 1SJ\\n}\\1P 5Z = 1az(4u.xy, 17n);\\2aX /= 5Z.w;\\1r 1y7 = 1h2.w * 1dv(5Z);\\1r 1Li = 17c(18q, 5Z.1H);\\1r 1ke = 17c(1h2.1H, -2A(19Z, 1h2.1H), 5Z.1H);\\1r 1rO = 17c(1jy.1H, -2A(1kd.1H, 1jy.1H), 5Z.1H);\\1U (abs(1Li) > 1y7 || 1ke < 0.0 || 1rO < 0.0) {\\n#1z 1SJ\\3R = 1m(1.0, 0.0, 0.0, 0.5);\\2j;\\n#1s // 1SJ\\10W;\\n#1u // 1SJ\\n}\\1R 1cc;\\2uh = 4B(18q.1H, 1h2.1H);\\2uh = 1T(4B(1cc, 18q.1H));\\3GD = 17c(1cc, -2A(1cc, 19Z), 5Z.1H);\\2uh = 4B(18q.1H, 1jy.1H);\\2uh = 1T(4B(1cc, 18q.1H));\\3GC = 17c(1cc, -2A(1cc, 1kd.1H), 5Z.1H);\\n#1z 19Y\\3R = 9D(15g);\\n#1s // 19Y\\1r s = 2Y(1ke / (1ke + 1rO), 0.0, 1.0);\\ns = (s * 18D.x) + 18D.y;\\1r t = (1Li + 1y7) / (2.0 * 1y7);\\1jv 5y;\\10m.s = s;\\10m.st = 1v(s, t);\\10m.1F6 = 1w(s, t, 0.0);\\10I 2q = 16E(5y);\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1u // 19Y\\1Cz();\\n}\\n";q.6RG="3G 1w 1y6;\\1J 1w 2ug;\\1J 1o 3g9;\\n#1z 19Y\\1J 1m 15g;\\n#1s\\1J 1v 2uf;\\1J 1o 2ue;\\n#1u\\1r 2W5(1w 9X, 1w 2G, 1w 1gm, 1o 2sG) {\\2j (-2sG - 2A(1gm, 9X)) / 2A(1gm, 2G);\\n}\\2s 2k(1p)\\n{\\1P 5Z = 4u;\\2aX /= 5Z.w;\\n#1z 19Y\\3R = 9D(15g);\\n#1s // 19Y\\1r 1ke = 2W5(5Z.1H, -1y6, 1y6.1H, 2uf.x);\\1r 1rO = 2W5(5Z.1H, 1y6, -1y6.1H, 2uf.y);\\3GD = 1V(0.0, 1ke);\\3GC = 1V(0.0, 1rO);\\1r s = 1ke / (1ke + 1rO);\\ns = (s * 2ug.x) + 2ug.y;\\1jv 5y;\\10m.s = s;\\10m.st = 1v(s, 2ue);\\10m.1F6 = 1w(s, 2ue, 0.0);\\10I 2q = 16E(5y);\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1u // 19Y\\n}\\n";q.6RF="3Q 1w 1aU;\\2J 1w 19W;\\2J 1m 1nZ;\\2J 1m 1nY;\\2J 1m 1nX;\\2J 1m 1jx;\\2J 1m 1lS;\\2J 1m 1SI;\\2J 1m 1Lh;\\2J 1m 1SH;\\2J 1v 1qh;\\2J 1o 4R;\\1J 1w 1y6;\\1J 1w 2ug;\\1J 1o 3g9;\\n#1z 2k7\\1J 1o 1hC;\\n#1u\\n#1z 2k6\\1J 1o 1iQ;\\n#1u\\n#1z 19Y\\1J 1m 15g;\\n#1s\\1J 1v 2uf;\\1J 1o 2ue;\\n#1u\\2s 2k()\\n{\\5do = 4R;\\1P 1Y6 = 16e(1w(0.0, 1SI.xy), 1w(0.0, 1SI.zw));\\1P 1Y5 = 16e(1nZ.1H, 1nY.1H);\\1P 2W4 = 1Fb(1Y6, 1Y5, 1iO);\\1R 2ud = (15D * 1Y6).1H;\\1R 2uc = (15D * 1Y5).1H;\\1R 2W2 = (15D * 2W4).1H;\\1P 2u8;\\1P 2ua;\\3GB.1H = 11b * 1w(0.0, 1SH.xy);\\3GA.1H = 11b * 1nX.1H;\\3GB.w = -2A(2u8.1H, 2ud);\\3GA.w = -2A(2ua.1H, 2uc);\\1P 2VY;\\1P 2VZ;\\3Gz.1H = 11b * 1w(0.0, 1Lh.zw);\\3Gy.1H = 11b * 1lS.1H;\\3Gz.w = -2A(2VY.1H, 2ud);\\3Gy.w = -2A(2VZ.1H, 2uc);\\5dn = 1Y6 + 1m(0.0, 1Lh.xy, 0.0);\\5dm = 1Y5 + 1m(1nZ.w, 1nY.w, 1nX.w, 0.0);\\5dl = 1Fb(1Y6, 1Y5, 1iO);\\5dk = (15D * 1Y6).1H;\\5dj = (15D * 1Y5).1H;\\1R 2W1 = (15D * 2W4).1H;\\1R 3Gs = 11b * 1T(1w(1nZ.w, 1nY.w, 1nX.w));\\1R 3Gq = 11b * 1T(1w(0.0, 1Lh.xy));\\1P 2u7;\\1P 2u9;\\3Gx.1H = 11b * 1w(0.0, 1SH.zw);\\3Gw.1H = 11b * 1jx.1H;\\3Gx.w = -2A(2u7.1H, 2ud);\\3Gw.w = -2A(2u9.1H, 2uc);\\5di = 1T(2W1 - 2W2);\\2u 3Gu;\\3Gv.x = abs(1qh.x);\\3Gv.y = 15B(1qh.y > 1.0, 0.0, abs(1qh.y));\\2u 2ub;\\2W3.x = abs(1jx.w);\\2W3.y = 1lS.w;\\2W3.y = 15B(2ub.y > 1.0, 0.0, abs(2ub.y));\\2W0.xy = 3T(3Gu, 2ub, 1iO);\\n#1z 19Y\\1wi = 1k9(4R);\\n#1s // 19Y\\3Gt.x = -2A(1y6, 2W2);\\3Gt.y = -2A(-1y6, 2W1);\\n#1u // 19Y\\n#1z 2k7\\1r 1G = 2VX(4R);\\1r 18c = 1G * 0.5;\\2tY = 1G;\\2W0.z = 18c;\\n#1s\\1r 18c = 0.5 * 2VX(4R);\\2W0.z = 18c;\\n#1u\\1P 2bX = 15D * 16e(1aU, 19W);\\1r 1I9 = abs(17c(2ua, 2bX.1H));\\1r 1I8 = abs(17c(2u9, 2bX.1H));\\1R 1qi = 15B(1I9 < 1I8, 2ua.1H, 2u9.1H);\\1R 1h1 = 1T(4B(2VZ.1H, 1qi));\\1R 4X = 1T(4B(1qi, 1h1));\\1R 17N = 1T(4B(4X, 3Gs));\\2bZ *= 1o(0.0 <= 1lS.w && 1lS.w <= 1.0);\\2bZ *= 3g8;\\3Gr.1H += 17N;\\1rx *= 12q(1jx.w);\\3Gr.1H += 18c * 1V(0.0, 1dv(2bX)) * 4X;\\1P 2bY = 15D * 16e(25d.1ca, 25c.1ca);\\5dh = abs(17c(2u8, 2bY.1H));\\5dg = abs(17c(2u7, 2bY.1H));\\5df = 15B(1I9 < 1I8, 2u8.1H, 2u7.1H);\\2bW = 1T(4B(2VY.1H, 1qi));\\1rx = 1T(4B(1qi, 1h1));\\2bZ = 1T(4B(4X, 3Gq));\\2bZ *= 1o(0.0 <= 1qh.y && 1qh.y <= 1.0);\\2bZ *= 3g8;\\3Gp.1H += 17N;\\1rx *= 12q(1qh.x);\\n#1bI 19Y\\5de = 2Y(12q(1qh.x), 0.0, 1.0);\\n#1u\\3Gp.1H += 18c * 1V(0.0, 1dv(2bY)) * 4X;\\11u = 17B * 3T(2bY, 2bX, 1iO);\\n#1z 2k6\\2u 1rN = 1T(1v(1y6.x, -1y6.y));\\3Gk.y = 15B(1rN.x == 0.0 && 1rN.y == 0.0, -1.0, 1rN.y);\\3Gj = 1KW(1rN.x, 1rN.y);\\n#1u\\n}\\n";q.6RE="3Q 1w 1aU;\\2J 1w 19W;\\n#1bI 1y0\\2J 1m 1nZ;\\2J 1m 1nY;\\2J 1m 1nX;\\2J 1m 1jx;\\2J 1m 1lS;\\n#1s\\2J 1m 1SI;\\2J 1m 1Lh;\\2J 1m 1SH;\\2J 1v 1qh;\\n#1u\\2J 1o 4R;\\1J 1m 1h2;\\1J 1m 1jy;\\1J 1m 18q;\\1J 1m 1kd;\\1J 1m 18D;\\n#1z 2k7\\1J 1o 1hC;\\n#1u\\n#1z 2k6\\1J 1o 1iQ;\\n#1u\\n#1z 19Y\\1J 1m 15g;\\n#1u\\2s 2k()\\n{\\n#1z 1y0\\1R 19Z = (15D * 16e(1w(0.0, 1SI.xy), 1w(0.0, 1SI.zw))).1H;\\1R 1y5 = 11b * 1w(0.0, 1Lh.xy);\\1R 1Aq = 1y5 + 19Z;\\5dd = 1T(1y5);\\2u4.1H = 11b * 1w(0.0, 1Lh.zw);\\2u4.w = -2A(18q.1H, 19Z);\\1P 1hE;\\2u6.1H =  11b * 1w(0.0, 1SH.xy);\\2u6.w = -2A(1hE.1H, 19Z);\\1P 1hD;\\2u5.1H =  11b * 1w(0.0, 1SH.zw);\\2u5.w = -2A(1hD.1H, 1Aq);\\1Y3.x = abs(1qh.x);\\1Y3.y = 1qh.y;\\n#1s // 1y0\\1R 19Z = (15D * 16e(1nZ.1H, 1nY.1H)).1H;\\1R 2M = 11b * 1w(1nZ.w, 1nY.w, 1nX.w);\\1R 1Aq = 19Z + 2M;\\1R 1y5 = 1T(2M);\\1P 1hE;\\2u6.1H = 11b * 1nX.1H;\\2u6.w = -2A(1hE.1H, 19Z);\\1P 1hD;\\2u5.1H = 11b * 1jx.1H;\\2u5.w = -2A(1hD.1H, 1Aq);\\2u4.1H = 11b * 1lS.1H;\\2u4.w = -2A(18q.1H, 19Z);\\1Y3.x = abs(1jx.w);\\1Y3.y = 1lS.w;\\n#1u // 1y0\\3Go.1H = 1Aq;\\3Go.w = 19Z.x;\\1Y3.zw = 19Z.yz;\\n#1z 19Y\\1wi = 1k9(4R);\\n#1u // 19Y\\1P 1Y4 = 1nS();\\1P 4p = 15D * 1Y4;\\1r 1I9 = abs(17c(1hE, 4p.1H));\\1r 1I8 = abs(17c(1hD, 4p.1H));\\1R 1qi = 15B(1I9 < 1I8, 1hE.1H, 1hD.1H);\\1R 1h1 = 1T(4B(18q.1H, 1qi));\\1R 4X = 1T(4B(1qi, 1h1));\\2bW = 4B(1y5, 4X);\\2bW = 1o(1kO == 1F3) * 1h1;\\2bW = 1o(18D.y > 1.0 || 18D.y < 0.0) * 1h1;\\2bW = 2o(4gT, 2UR * 1h(1Y4.1H)) * 1h1;\\1eR.1H += 1h1;\\1Y3.y = 15B(18D.y > 1.0, 0.0, abs(18D.y));\\1r 1G = 2VX(4R);\\n#1z 2k7\\2tY = 1G;\\n#1u\\3Gn.1H = 1hE.1H;\\3Gn.w = 1G * 0.5;\\3Gm.1H = 1hD.1H;\\3Gm.w = 4R;\\3Gl = 1G * 1V(0.0, 1dv(4p));\\3Gl = 1G / 2A(4X, 18q.1H);\\n#1z 1y0\\1rx *= 12q(1qh.x);\\n#1s\\1rx *= 12q(1jx.w);\\n#1u\\1eR.1H += 1G * 4X;\\11u = 1wa(17B * 4p);\\n#1z 2k6\\2u 1rN = 1T(1v(1y5.x, -1y5.y));\\3Gk.y = 15B(1rN.x == 0.0 && 1rN.y == 0.0, -1.0, 1rN.y);\\3Gj = 1KW(1rN.x, 1rN.y);\\n#1u\\n}\\n";q.6RD="3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 25d;\\2J 1w 25c;\\2J 1w 1Y1;\\2J 1w 1Y0;\\2J 1w 2u3;\\2J 1w 2u2;\\2J 1w 1XY;\\2J 1w 1XX;\\2J 1w 2u1;\\2J 1w 2u0;\\2J 1m 1Y2;\\1J 1v  9j;\\1J 1o 1hC;\\1J 1m 1nW;\\1J 1o 1iQ;\\2s 2k()\\n{\\1r 4M = 1Y2.x;\\1r 1kU = 1Y2.y;\\166 1mO = 1Y2.z < 0.0;\\1r 1XW = 1Y2.w;\\2u 2VW = 4gS(1XW);\\1r 1G = 2VW.x + 0.5;\\1r 2p = 2VW.y;\\1U (1G < 1.0)\\n{\\3Gg = 0.0;\\n}\\1P 1fR = 4gR(1XW);\\1P p, 15E, 6k;\\1U (1iO == 1.0)\\n{\\np = 16e(1aU.1H, 19W.1H);\\2VV = 16e(1Y1.1H, 1Y0.1H);\\2VU = 16e(1XY.1H, 1XX.1H);\\n}\\5L if (1iO == 0.0)\\n{\\np = 16e(25d.1ca, 25c.1ca);\\2VV = 16e(2u3.1ca, 2u2.1ca);\\2VU = 16e(2u1.1ca, 2u0.1ca);\\n}\\5L\\n{\\np = 1Fb(\\1XZ(25d.1ca, 25c.1ca),\\1XZ(1aU.1H, 19W.1H),\\2VT);\\2VV = 1Fb(\\1XZ(2u3.1ca, 2u2.1ca),\\1XZ(1Y1.1H, 1Y0.1H),\\2VT);\\2VU = 1Fb(\\1XZ(2u1.1ca, 2u0.1ca),\\1XZ(1XY.1H, 1XX.1H),\\2VT);\\n}\\n#1z 1Fm\\1R 3Gi = 4gQ(1XW);\\1P 2VS = 4gP(1XW);\\1R 3Gh = 2VS.1H;\\1r 3L = 2VS.w;\\2u 4S = 4gO(1XW);\\1r 1eT;\\1U (1kO == 1HG)\\n{\\1XV = 2tZ.y;\\n}\\5L\\n{\\1P 2V = 16e(3Gi.1H, 3Gh.1H);\\1XV = 1V(0.0, 2A(2V.1H, 2V.1H) - 3L * 3L);\\n}\\1r 1Ou = 4S.x * 4S.x;\\1r 1Ot = 4S.y * 4S.y;\\1U (1eT < 1Ou || 1eT > 1Ot)\\n{\\3Gg = 0.0;\\n}\\n#1u\\1P 6K = 1tb(p, 15E, 6k, 1kU, 1G, 1mO, 1iQ);\\11u = 1t5 * 6K * 2p;\\1XA = 1v(4M, 2Y(1kU, 0.0, 1.0));\\2tY = 1G;\\2VR = 1fR;\\n#1z 10B\\1we(1kV * p);\\n#1u\\n}\\n";q.6RC="XR 1m 2VQ = 1m(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\1R 24U(1w 2y)\\n{\\1P p = 3T(1m(2y.bg, 2VQ.wz), 1m(2y.gb, 2VQ.xy), 7F(2y.b, 2y.g));\\1P q = 3T(1m(p.2tX, 2y.r), 1m(2y.r, p.3g7), 7F(p.x, 2y.r));\\1r d = q.x - 2o(q.w, q.y);\\2j 1w(abs(q.z + (q.w - q.y) / (6.0 * d + 1bg)), d / (q.x + 1bg), q.x);\\n}\\n";q.6RB="1w 3Gf(1w 2y)\\n{\\1P p = (2y.g < 2y.b) ? 1m(2y.bg, -1.0, 2.0 / 3.0) : 1m(2y.gb, 0.0, -1.0 / 3.0);\\1P q = (2y.r < p.x) ? 1m(p.2tX, 2y.r) : 1m(2y.r, p.3g7);\\1r c = q.x - 2o(q.w, q.y);\\1r h = abs((q.w - q.y) / (6.0 * c + 1bg) + q.z);\\2j 1w(h, c, q.x);\\n}\\1R 4gN(1w 2y)\\n{\\1R 2bV = 3Gf(2y);\\1r l = 2bV.z - 2bV.y * 0.5;\\1r s = 2bV.y / (1.0 - abs(l * 2.0 - 1.0) + 1bg);\\2j 1w(2bV.x, s, l);\\n}\\n";q.6RA="1w 2VP(1w 2y)\\n{\\4i 14j 3Ge = 14j(0.5dc, 0.4gM, 0.5db,\\n0.5da, 0.4gL, 0.4gK,\\n0.5d9, 0.4gJ, 0.5d8);\\1R 1H = 3Ge * 2y;\\1R 1uq;\\3Gd.r = 1H.g;\\1r 4W = 2A(1w(1.0), 1H);\\3Gd.gb = 1H.rg / 4W;\\2j 1uq;\\n}\\n";q.6Rz="2n 2v 3g6;\\1B 1o 2Gi;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1y4 = 1m(0.0);\\1r 2VO = 1o(2Gj) / 2.0;\\14D(7P y = 0; y < 2Gj; y++){\\14D(7P x = 0; x < 2Gj; x++){\\1r 2k5 = (-2VO + 1o(x)) * 2Gi;\\1r 2tW = (-2VO + 1o(y)) * 2Gi;\\2u 18U = 2F + 1v(2k5, 2tW);\\1U(18U.x > 1.0 || 18U.x < 0.0 || 18U.y > 1.0 || 18U.y < 0.0){\\1HN;\\n}\\1P 1A = 1Y(3g6, 18U);\\5d7 = 1V(1y4, 1A);\\n}\\n}\\1U(1y4.a < 0.11t){\\10W;\\n}\\3R = 1y4;\\n}\\n";q.6Ry="3G 1v 2F;\\1B 2v 6T;\\4i 1o 2bU = 0.5;\\4i 1o 2bT = 0.125;\\4i 1o 2bS = 0.3Gc;\\2s 2k()\\n{\\2u 1dz = 1v(1.0) / 9e.zw;\\1P 1A = 2Gh(\\1mN,\\3Gb,\\3Ga,\\3G9,\\3G8,\\3G7);\\1r 2O = 1Y(6T, 2F).a;\\3R = 1m(1A.2y, 2O);\\n}\\n";q.6Rx="2n 2v 6T;\\1J 1v 2F;\\n#1z 1uD\\1B 2v 1ta;\\n#1u\\2s 2k()\\n{\\1P 1nV = 1Y(6T, 2F);\\1R 1A = 1nV.2y;\\n#1z 1uD\\1r 1p8 = 1Y(1ta, 1v(0.5)).r;\\6p /= 1p8;\\n#1u\\6p = 1A / (1.0 + 1A);\\6p = 1Xg(1A);\\3R = 1m(1A, 1nV.a);\\n}\\n";q.6Rw="2n 2v 5d6;\\1B 1m 1A;\\2s 2k()\\n{\\3R = 1A * 1Y(5d6, 1Ss);\\n}\\n";q.6Rv="3Q 1m 4f;\\1B 2v 3EJ;\\1B 1o 5d5;\\2s 2k()\\n{\\1P p = 1Y(3EJ, 4f.xy);\\1U (p.w > 0.0)\\n{\\11u = 1m(p.xy * 2.0 - 1.0, 0.0, 1.0);\\n}\\5L\\n{\\11u = 1m(4gI.0, 4gI.0, 4gI.0, 1.0);\\n}\\2jz = 5d5 * p.z;\\n}\\n";q.6Ru="2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\3R = 1Y(16S, 2F);\\n}\\n";q.6Rt="3Q 1m 1K;\\2J 1o 1rM;\\1B 1v 3g5;\\1J 1v 2F;\\2s 2k()\\n{\\1mN = 1v(1K.x, 1rM);\\11u = 1t5 * (1K * 1m(3g5, 1.0, 1.0));\\n}\\n";q.6Rs="2n 1m 1A;\\1B 1m 2VN;\\1B 1o 1G;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r d = 1.0 - 2A(5y.4X, 1T(5y.11E));\\1r s = 13f(1.0 - 1G, 1.0, d);\\1P 1bk = 9D(1A);\\1P 2VM = 9D(2VN);\\10H.8t = 1bk.2y;\\10H.17Y = 2VM.2y * s;\\10H.2O = 3T(1bk.a, 2VM.a, s);\\2j 2q;\\n}\\n";q.6Rr="1p 1uC(1v 16Q, 1m 1wl)\\n{\\2u f = 7F(1wl.xw, 16Q);\\2u s = 7F(16Q, 1wl.zy);\\1U (f.x * f.y * s.x * s.y < 1.0)\\n{\\10W;\\n};\\n}\\n";q.6Rq="2n 1o 1XR;\\1B 1o 1XQ;\\1B 1m 1XO;\\1B 1m 1SD;\\1B 1o 2Gd;\\1B 2v 2jZ;\\1B 2v 2tU;\\1B 2v 1Os;\\1B 2v 2tR;\\1B 2v 2tQ;\\1B 1m 1SE;\\1B 1m 1SA;\\1B 1o 24O;\\n#if 1gn > 0\\1B 1w 2Gg[ 1gn ];\\1B 1w 24N[ 1gn ];\\n#1u\\n#if 1dY > 0\\1B 1w 24M[ 1dY ];\\1B 1w 1Sr[ 1dY ];\\1B 1w 1w9[ 1dY ];\\n#1u\\n#if 19w > 0\\1B 1w 1Sq[ 19w ];\\1B 1w 24L[ 19w ];\\1B 1w 2Gf[ 19w ];\\1B 1w 1p6[ 19w ];\\1B 1w 2t9[ 19w ];\\n#1u\\4i 1o 1SF = 3.24J;\\1R 4gH(1w 1Fl)\\n{\\2j 1Fl / 1SF;\\n}\\1R 3G6(1w f0, 1w 2VL, 1o 1y3)\\n{\\2j f0 + (2VL - f0) * 3r(2Y(1.0 - 1y3, 0.0, 1.0), 5.0);\\n}\\1R 4gG(1o 1t9, 1o 1y3)\\n{\\2j 1t9 + (1w(1.0) - 1t9) * 3r(1.0 - 1y3, 5.0);\\n}\\1R 2VC(1o 2VK, 1w 1SG)\\n{\\2j 1SG + (1w(1.0) - 1SG) * 3r(1.0 - 2VK, 5.0);\\n}\\1r 2VH(1o g, 1o 2VJ)\\n{\\1r a = 3r(1c8.0, g);\\2j (a + 2.0) / 8.0 * 3r(2VJ, a);\\n}\\1r 2k4(1o 1cb, 1o 12V)\\n{\\1r k = (12V + 1.0) * (12V + 1.0) / 8.0;\\2j 1cb / (1cb * (1.0 - k) + k);\\n}\\1r 4gF(1o 12V, 1o 1uB, 1o 1cb)\\n{\\2j 2k4(1uB, 12V) * 2k4(1cb, 12V);\\n}\\1r 4gE(1o 12V, 1o 1uA)\\n{\\1r 2k3 = 12V * 12V;\\1r f = (1uA * 2k3 - 1uA) * 1uA + 1.0;\\2j 2k3 / (1SF * f * f);\\n}\\2s 2VI(1w 2k2, 1w 25b, 1w 2U, 1w 18V, 1w 1y2, 1o 12V, 9H 1w 1SC, 9H 1w 1SB)\\n{\\1R h = 1T(25b + 2k2);\\1r 1uB = 2Y(2A(2U, 2k2), 0.17I, 1.0);\\1r 1uA = 2Y(2A(2U, h), 0.0, 1.0);\\1R li = 18V * 1uB;\\2bR = li;\\2bQ = li * 1y2 * 2VH(1.0 - 12V, 1uA);\\n}\\1R 2jR(1w 1Lg)\\n{\\2j 3r(1Lg, 1w(2.2));\\n}\\1P 2k0(1m 1Lg)\\n{\\1R 2VG = 3r(1Lg.2y, 1w(2.2));\\2j 1m(2VG, 1Lg.a);\\n}\\1R 2Vj(1w 2k1)\\n{\\n#1bI 1js\\2j 3r(2k1, 1w(1.0/2.2));\\n#1s\\2j 2k1;\\n#1u\\n}\\1r 1KY(1o 1up, 1o 1O7, 1o 1Xp)\\n{\\2j 3r(2Y(1.0 - 1up / 1O7, 0.0, 1.0), 1Xp);\\n}\\1P 1XU(1w 4X, 1w 4p, 1v 4M, 1m 7x)\\n{\\1R ng = 1T(4X);\\1R 6K = (1Sy * 1m(4p, 1.0)).1H;\\n#1z 4gD\\1R 2VF = 1cu(4p);\\1R 2VE = 1ct(4p);\\1R 1XS = 1cu(1w(4M, 0.0));\\1R 1XT = 1ct(1w(4M, 0.0));\\1R t = (1XT.t * 2VF - 1XS.t * 2VE) / (1XS.s * 1XT.t - 1XT.s * 1XS.t);\\nt = 1T(t - ng * 2A(ng, t));\\1R b = 1T(4B(ng, t));\\1NS 2tV = 14j(t, b, ng);\\1R n = 1Y(1Os, 4M).2y;\\nn = 1T(2tV * (2.0 * n - 1.0));\\n#1s\\1R n = ng;\\n#1u\\1R v = -1T(4p);\\n#1z 4gC\\1U (2A(n, v) < 0.0) {\\nn = -n;\\n}\\n#1u\\n#1z 4gB\\2u 2VD = 4M;\\5d4 = 2VD * 1SE.zw + 1SE.xy;\\1P 1CG = 2k0(1Y(2jZ, 2VD));\\3G5 *= 1SD;\\n#1s\\1P 1CG = 1SD;\\n#1u\\3G5 *= 7x;\\1R 1rL = 1CG.2y;\\n#1z 4gA\\1R 2jY = 1Y(2tU, 4M).2y;\\1r 1t9 = 2Y(2jY.b, 0.0, 1.0);\\1r 12V = 2Y(2jY.g, 0.1HU, 1.0);\\5d3 *= 1XR;\\5d2 *= 1XQ;\\n#1s\\1r 1t9 = 2Y(1XR, 0.0, 1.0);\\1r 12V = 2Y(1XQ, 0.1HU, 1.0);\\n#1u\\1R f0 = 1w(0.1HU);\\1R 1Fl = 1rL * (1.0 - 1t9) * (1.0 - f0);\\1R 1Fk = 3T(f0, 1rL, 1t9);\\1r 1cb = abs(2A(n, v)) + 0.17I;\\1R 1SC = 1w(0.0);\\1R 1SB = 1w(0.0);\\1R 1y2 = 2VC(1cb, 1Fk);\\1R 1A = 1w(0.0);\\1R 1kc = 1w(0.0);\\1R 1kb = 1w(0.0);\\2tT(1t3, v, n, 1w(0.8), 1y2, 12V, 1kc, 1kb);\\2bR +=1kc * 24O;\\2bQ += 1kb * 24O;\\n#if 1gn > 0\\14D (7P i = 0; i < 1gn; i++) {\\2tT(2Gg[i], v, n, 24N[i], 1y2, 12V, 1kc, 1kb);\\2bR +=1kc;\\2bQ += 1kb;\\n}\\n#1u\\n#if 1dY > 0\\14D (7P i = 0; i < 1dY; i++) {\\1U(1w9[i].z < 0.1) {\\1HN;\\n}\\1R 1cL = 24M[i] - 13L;\\1r 1up = 1h(1cL);\\1r 1CH = 1KY(1up, 1w9[i].x, 1w9[i].y);\\1U(1CH < 0.17I) {\\1HN;\\n}\\1R 2VB = 1Sr[i] * 1CH;\\1R 1kc = 1w(0.0);\\1R 1kb = 1w(0.0);\\2tT(1T(1cL), v, n, 2VB, 1y2, 12V, 1kc, 1kb);\\2bR +=1kc;\\2bQ += 1kb;\\n}\\n#1u\\n#if 19w > 0\\14D (7P i = 0; i < 19w; i++) {\\1U(1p6[i].w < 0.1) {\\1HN;\\n}\\1R 1cL = 24L[i] - 13L;\\1r 1up = 1h(1cL);\\1r 1CH = 1KY(1up, 1p6[i].x, 1p6[i].y);\\1U(1CH < 0.17I) {\\1HN;\\n}\\1r 1Ak = 2A(2Gf[i], 1T(1cL));\\1U(1Ak > 1p6[i].z) {\\1R 2VA = 1Sq[i] * 1CH * 1Ak;\\1R 1kc = 1w(0.0);\\1R 1kb = 1w(0.0);\\2tT(1T(1cL), v, n, 2VA, 1y2, 12V, 1kc, 1kb);\\2bR +=1kc;\\2bQ += 1kb;\\n}\\n}\\n#1u\\6p = 1rL;\\6p *= 1V(1SC, 1w(0.0));\\6p += 1V(1SB, 1w(0.0));\\n#1z 2tS\\1R r = 1T(25a * 1T(1Ck(v, n)));\\1r 2Vz = 1h(6K);\\1r 1rK = 1.0 - 2o(1.0, 16t.0 / 2Vz);\\1r 1wj = 2A(r, 1T(6K));\\nr.x = -r.x;\\nr = -1T(2UP * r);\\nr.x = -r.x;\\1r 1uz = 1.1HU - 12V;\\5d1 *= 1uz;\\1R 2Vv = 24F(3G4, r).2y * 1uz;\\1r 2Vx = 0.1cN;\\1r 1wk = 0.1 * ((1.0 - 1uz) * 8.0 + 1.1 - 1rK);\\1r 2Vy = 12V * -1.0;\\1r 2Vq = 2Y(1rK - 1wk * 0.5 + 2Vy, 1.1Al-10 - 1wk, 0.1I6);\\1r 2jW = 2Y(1rK + 1wk * 0.5, 1.1Al-10 - 1wk, 0.1I6);\\1r 2jV = 2Y(1rK + 1wk * 1.5, 1.1Al-10 - 1wk, 0.1I6);\\1r 1Lf = 13f(0.0, 2Vx, 1rK);\\1R 1XP = 3T(1w(0.1, 0.15, 0.25), 1w(0.4, 0.7, 0.9), 1Lf);\\1R 2Vo = 1XP * 0.5;\\1R 2jX = 3T(1w(0.9, 1.0, 1.2), 1XP, 12V * 0.5);\\1R 2Vw = 3T(1w(0.18, 0.26, 0.48), 2jX, 1wj * 1uz * 0.5 + 0.75);\\1R 2Vr = 3T(2Vw, 2Vv, 1Lf);\\1R 2Vu = 1w(0.7, 0.85, 0.9);\\1r 2Vt = (1.0 - 1rK) * (1wj * 0.25 + 0.75) * 1Lf;\\1r 2Vs = (1.0 - 1Lf) * (1.0 - (1wj * 0.25 + 0.25));\\1R 2bP = 2Vu * 2Y(2Vt + 2Vs, 0.0, 1.0);\\1r 2Vp = (1.0 - 1rK * 12V * 0.8);\\1R 1Or = 3T(2Vr, 2jX, 13f(2Vq, 2jW, 1wj) * 2Vp);\\3G3 = 3T(1Or, 1XP, 13f(2jW, 2jV, 1wj) * 1uz);\\3G3 = 3T(1Or, 2Vo, 13f(2jV, 1.0, 1wj) * 1uz);\\2u 2Vl = 1v(1.0);\\1r 1rJ = 0.5;\\n#1z 2bO\\1r 2jT = 2Y(2A(1T(25a * 1t3), 1T(6K * -1.0)), 0.17I, 1.0);\\1r S = 1cz(2jT);\\1r 2Vn = 2Y(2A(1T(25a * n), 1T(6K * -1.0)), 0.17I, 1.0);\\1r 2jU = 2Y(2A(n, 1t3), 0.17I, 1.0);\\1r 1iP = 1cz(2jU);\\1r 2Vm = ((0.91 + 10.0 * 108(-3.0 * 1iP) + 0.45 * 3r(2jU, 2.0)) * (1.0 - 108(-0.32 / 2Vn)));\\1r 1aX = (0.91 + 10.0 * 108(-3.0 * S) + 0.45 * 3r(2jT,2.0)) * (1.0 - 108(-0.32));\\1r 1Fj = 1rJ * (2Vm / 1aX);\\n#1u\\2u 1Oq = 1Y(3g4, 1v(1cb, 1.0 - 12V)).rg;\\1R 2jS = (2bP * 1Fl * 2Vl.x) + (1Or * 2jR(1Fk * 1Oq.x + 1Oq.y) * 2Vl.y);\\n#1z 2bO\\6p += 2jS * 1Fj;\\n#1s\\6p += 2jS;\\n#1u // 9o of 2bO\\n#1u // 9o of 2tS\\n#1z 4gz\\6p *= 1Y(2tR, 4M).r;\\n#1u\\n#1z 4gy\\2u 2Vk = 4M;\\5d0 = 2Vk * 1SA.zw + 1SA.xy;\\1R 2Ge = 2jR(1Y(2tQ, 2Vk).2y);\\5cZ *= 1XO.2y;\\6p += 2Ge;\\n#1s\\6p += 1XO.2y;\\n#1u\\6p = 2Vj(1A);\\1P 1rI = 1m(1A, 1.0);\\n#1z 2Vi\\1U (1CG.a < 2Gd)\\n{\\10W;\\n}\\2Gc = 1m(1A, 1.0);\\n#1u\\n#1z 24Z\\2Gc = 1m(1A, 1CG.a);\\n#1u\\2j 1rI;\\n}\\n";q.6Rp="1k7 6V 1o;\\1Fi 6V 7P;\\n#2f 1Op 8\\n#2f 3G2 16\\n#2f 2Vh ( 1.0 / 1v( 160.0, 560.0 ) )\\n#2f 3G1 ( 1.0 / 7.0 )\\1B 2v 3g3;\\1B 2v 3g2;\\1B 2v 3g1;\\1B 1v 13M;\\1J 1v 2F;\\1J 1m 1uy[3];\\1J 1v 2Vc;\\1P 2Vf(2v 9f, 1v 16Q, 2Gb 2M ){\\2j 1Y( 9f, 16Q + 1o( 2M ) * 13M, 0.0 );\\n}\\n#1bI 1dt\\2u 9p( 1v x ) {\\2j 12q( x ) * 2t( abs( x ) + 0.5 );\\n}\\n#1u\\1r 2bN( 2v 1kZ, 1v e, 1o 1l0, 1o 3b ) {\\ne.r = 1l0 + e.r * 3b;\\2j 255.0 * 1Y( 1kZ, e, 0.0 ).r;\\n}\\1r 3G0( 2v 1h0, 2v 1kZ, 1v 8R, 1o 9o ) {\\2u e = 1v( 0.0, 1.0 );\\14D ( 7P i = 0; i < 1Op; i ++ ) {\\ne = 1Y( 1h0, 8R, 0.0 ).rg;\\1cy -= 1v( 2.0, 0.0 ) * 13M;\\1U ( ! ( 8R.x > 9o && e.g > 0.2tP && e.r == 0.0 ) ) 1W;\\n}\\1cy.x += 0.25 * 13M.x;\\1cy.x += 13M.x;\\1cy.x += 2.0 * 13M.x;\\1cy.x -= 13M.x * 2bN(1kZ, e, 0.0, 0.5);\\2j 8R.x;\\n}\\1r 3FZ( 2v 1h0, 2v 1kZ, 1v 8R, 1o 9o ) {\\2u e = 1v( 0.0, 1.0 );\\14D ( 7P i = 0; i < 1Op; i ++ ) {\\ne = 1Y( 1h0, 8R, 0.0 ).rg;\\1cy += 1v( 2.0, 0.0 ) * 13M;\\1U ( ! ( 8R.x < 9o && e.g > 0.2tP && e.r == 0.0 ) ) 1W;\\n}\\1cy.x -= 0.25 * 13M.x;\\1cy.x -= 13M.x;\\1cy.x -= 2.0 * 13M.x;\\1cy.x += 13M.x * 2bN( 1kZ, e, 0.5, 0.5 );\\2j 8R.x;\\n}\\1r 3FY( 2v 1h0, 2v 1kZ, 1v 8R, 1o 9o ) {\\2u e = 1v( 1.0, 0.0 );\\14D ( 7P i = 0; i < 1Op; i ++ ) {\\ne = 1Y( 1h0, 8R, 0.0 ).rg;\\1cy += 1v( 0.0, 2.0 ) * 13M;\\1U ( ! ( 8R.y > 9o && e.r > 0.2tP && e.g == 0.0 ) ) 1W;\\n}\\1cy.y -= 0.25 * 13M.y;\\1cy.y -= 13M.y;\\1cy.y -= 2.0 * 13M.y;\\1cy.y += 13M.y * 2bN( 1kZ, e.gr, 0.0, 0.5 );\\2j 8R.y;\\n}\\1r 3FX( 2v 1h0, 2v 1kZ, 1v 8R, 1o 9o ) {\\2u e = 1v( 1.0, 0.0 );\\14D ( 7P i = 0; i < 1Op; i ++ ) {\\ne = 1Y( 1h0, 8R, 0.0 ).rg;\\1cy -= 1v( 0.0, 2.0 ) * 13M;\\1U ( ! ( 8R.y < 9o && e.r > 0.2tP && e.g == 0.0 ) ) 1W;\\n}\\1cy.y += 0.25 * 13M.y;\\1cy.y += 13M.y;\\1cy.y += 2.0 * 13M.y;\\1cy.y -= 13M.y * 2bN( 1kZ, e.gr, 0.5, 0.5 );\\2j 8R.y;\\n}\\2u 2Ve( 2v 2bM, 1v 6Y, 1o e1, 1o e2, 1o 2M ) {\\2u 8R = 1o( 3G2 ) * 9p( 4.0 * 1v( e1, e2 ) ) + 6Y;\\1cy = 2Vh * 8R + ( 0.5 * 2Vh );\\1cy.y += 3G1 * 2M;\\2j 1Y( 2bM, 8R, 0.0 ).rg;\\n}\\1P 3FV( 1v 8R, 1v 2Vg, 1m 2M[ 3 ], 2v 1h0, 2v 2bM, 2v 1kZ, 3g0 2Vd ) {\\1P 1cx = 1m( 0.0, 0.0, 0.0, 0.0 );\\2u e = 1Y( 1h0, 8R ).rg;\\1U ( e.g > 0.0 ) {\\2u d;\\2u 19t;\\1xM.x = 3G0( 1h0, 1kZ, 2M[ 0 ].xy, 2M[ 2 ].x );\\1xM.y = 2M[ 1 ].y;\\nd.x = 19t.x;\\1r e1 = 1Y( 1h0, 19t, 0.0 ).r;\\1xM.x = 3FZ( 1h0, 1kZ, 2M[ 0 ].zw, 2M[ 2 ].y );\\nd.y = 19t.x;\\nd = d / 13M.x - 2Vg.x;\\2u 2tO = 3Y( abs( d ) );\\1xM.y -= 1.0 * 13M.y;\\1r e2 = 2Vf( 1h0, 19t, 2Gb( 1, 0 ) ).r;\\3FW.rg = 2Ve( 2bM, 2tO, e1, e2, 1o( 2Vd.y ) );\\n}\\1U ( e.r > 0.0 ) {\\2u d;\\2u 19t;\\1xM.y = 3FY( 1h0, 1kZ, 2M[ 1 ].xy, 2M[ 2 ].z );\\1xM.x = 2M[ 0 ].x;\\nd.x = 19t.y;\\1r e1 = 1Y( 1h0, 19t, 0.0 ).g;\\1xM.y = 3FX( 1h0, 1kZ, 2M[ 1 ].zw, 2M[ 2 ].w );\\nd.y = 19t.y;\\nd = d / 13M.y - 2Vg.y;\\2u 2tO = 3Y( abs( d ) );\\1xM.y -= 1.0 * 13M.y;\\1r e2 = 2Vf( 1h0, 19t, 2Gb( 0, 1 ) ).g;\\3FW.ba = 2Ve( 2bM, 2tO, e1, e2, 1o( 2Vd.x ) );\\n}\\2j 1cx;\\n}\\2s 2k()\\n{\\3R = 3FV(2F, 2Vc, 1uy, 3g3, 3g2, 3g1, 3g0(0.0));\\n}\\n";q.6Ro="1k7 6V 1o;\\1Fi 6V 7P;\\n#2f 1Op 8\\2J 1m 1K;\\2J 1v 8u;\\1B 1v 13M;\\1J 1v 2F;\\1J 1m 1uy[3];\\1J 1v 2Vc;\\2s 5cY( 1v 8R ) {\\5cX = 8R / 13M;\\1I5[ 0 ] = 8R.1gZ + 13M.1gZ * 1m( -0.25, 0.125, 1.25, 0.125 );\\1I5[ 1 ] = 8R.1gZ + 13M.1gZ * 1m( -0.125, 0.25, -0.125, -1.25 );\\1I5[ 2 ] = 1m( 1uy[ 0 ].xz, 1uy[ 1 ].yw ) + 1m( -2.0, 2.0, -2.0, 2.0 ) * 13M.5cW * 1o( 1Op );\\n}\\2s 2k()\\n{\\11u = 1K;\\1mN = 8u;\\5cV( 8u );\\n}\\n";q.6Rn="1k7 6V 1o;\\1Fi 6V 7P;\\n#2f 2Vb 0.1cN\\n#2f 3FO 2\\n#2f 5cU 1\\1B 2v 3fZ;\\1J 1v 2F;\\1J 1m 1uy[3];\\1P 3FN( 1v 8R, 1m 2M[3], 2v 1rH ) {\\2u 19U = 1v( 2Vb, 2Vb );\\1P 14k;\\1R C = 1Y( 1rH, 8R ).2y;\\1R 3FU = 1Y( 1rH, 2M[0].xy ).2y;\\1R t = abs( C - 3FU );\\1Lb.x = 1V( 1V( t.r, t.g ), t.b );\\1R 3FT = 1Y( 1rH, 2M[0].zw ).2y;\\nt = abs( C - 3FT );\\1Lb.y = 1V( 1V( t.r, t.g ), t.b );\\2u 24Y = 7F( 19U, 14k.xy );\\1U ( 2A( 24Y, 1v( 1.0, 1.0 ) ) == 0.0 )\\10W;\\1R 3FS = 1Y( 1rH, 2M[1].xy ).2y;\\nt = abs( C - 3FS );\\1Lb.z = 1V( 1V( t.r, t.g ), t.b );\\1R 3FR  = 1Y( 1rH, 2M[1].zw ).2y;\\nt = abs( C - 3FR );\\1Lb.w = 1V( 1V( t.r, t.g ), t.b );\\1r 2Va = 1V( 1V( 1V( 14k.x, 14k.y ), 14k.z ), 14k.w );\\1R 3FQ  = 1Y( 1rH, 2M[2].xy ).2y;\\nt = abs( C - 3FQ );\\1Lb.z = 1V( 1V( t.r, t.g ), t.b );\\1R 3FP = 1Y( 1rH, 2M[2].zw ).2y;\\nt = abs( C - 3FP );\\1Lb.w = 1V( 1V( t.r, t.g ), t.b );\\5cT = 1V( 1V( 2Va, 14k.z ), 14k.w );\\5cS.xy *= 7F( 2Va, 1o(3FO) * 14k.xy );\\2j 1m( 24Y, 0.0, 0.0 );\\n}\\2s 2k()\\n{\\3R = 3FN( 2F, 1uy, 3fZ );\\n}\\n";q.6Rm="1k7 6V 1o;\\1Fi 6V 7P;\\2J 1m 1K;\\2J 1v 8u;\\1B 1v 13M;\\1J 1v 2F;\\1J 1m 1uy[3];\\2s 5cR(1v 8R) {\\1I5[0] = 8R.1gZ + 13M.1gZ * 1m( -1.0, 0.0, 0.0,  1.0 );\\1I5[1] = 8R.1gZ + 13M.1gZ * 1m(  1.0, 0.0, 0.0, -1.0 );\\1I5[2] = 8R.1gZ + 13M.1gZ * 1m( -2.0, 0.0, 0.0,  2.0 );\\n}\\2s 2k()\\n{\\11u = 1K;\\1mN = 8u;\\5cQ(8u);\\n}\\n";q.6Rl="1k7 6V 1o;\\1Fi 6V 7P;\\n#2f 3FL 0\\1B 1v 13M;\\1B 2v 3fY;\\1B 2v 2Ga;\\1J 1v 2F;\\1J 1m 1uy[2];\\1P 3FM( 1v 8R, 1m 2M[ 2 ], 2v 1rH, 2v 2tN ) {\\1P a;\\na.xz = 1Y( 2tN, 8R ).xz;\\na.y = 1Y( 2tN, 2M[ 1 ].zw ).g;\\na.w = 1Y( 2tN, 2M[ 1 ].xy ).a;\\1U ( 2A(a, 1m( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) {\\2j 1Y( 1rH, 8R, 0.0 );\\n} 1s {\\2u 2M;\\1Xk.x = a.a > a.b ? a.a : -a.b;\\1Xk.y = a.g > a.r ? -a.g : a.r;\\1U ( abs( 2M.x ) > abs( 2M.y )) {\\1Xk.y = 0.0;\\n} 1s {\\1Xk.x = 0.0;\\n}\\1P C = 1Y( 1rH, 8R, 0.0 );\\1cy += 12q( 2M ) * 13M;\\1P 2V9 = 1Y( 1rH, 8R, 0.0 );\\1r s = abs( 2M.x ) > abs( 2M.y ) ? abs( 2M.x ) : abs( 2M.y );\\nC.1H = 3r(C.1H, 1w(2.2));\\5cP.1H = 3r(2V9.1H, 1w(2.2));\\1P 2V8 = 3T(C, 2V9, s);\\5cO.1H = 3r(2V8.1H, 1w(1.0 / 2.2));\\2j 2V8;\\n}\\n}\\2s 2k()\\n{\\3R = 3FM( 2F, 1uy, 2Ga, 3fY );\\n#if 3FL // 7g 1Z 11A in 1Z 1y1 and 1ka 1Z 5cN 4d on 1Z 2W\\1U (2F.x > 0.5)\\n{\\1U (2F.x < 0.5 + (5.0 / 9e.z))\\n{\\3R = 1m(0, 0, 1, 1);\\n} 1s\\n{\\3R = 1Y(2Ga, 2F);\\n}\\n}\\n#1u // 2V7\\n}\\n";q.6Rk="1k7 6V 1o;\\1Fi 6V 7P;\\2J 1m 1K;\\2J 1v 8u;\\1B 1v 13M;\\1J 1v 2F;\\1J 1m 1uy[2];\\2s 5cM( 1v 8R ) {\\1I5[ 0 ] = 8R.1gZ + 13M.1gZ * 1m( -1.0, 0.0, 0.0, 1.0 );\\1I5[ 1 ] = 8R.1gZ + 13M.1gZ * 1m( 1.0, 0.0, 0.0, -1.0 );\\n}\\2s 2k()\\n{\\11u = 1K;\\1mN = 8u;\\5cL(8u);\\n}\\n";q.6Rj="2n 2v 1L1;\\1B 2v 2G5;\\1B 1m 2G9;\\1B 1m 2G8;\\1B 1o 1Ld;\\1B 1w 2G6;\\1B 1w 3fX;\\1B 1w 2G7;\\1B 1o 1Sz;\\1B 1m 2tH;\\1J 1v 2F;\\1R 3FH(1w 1gm, 1w 1XN, 1w 1rq)\\n{\\1R 2V6 = 1rq - 1XN;\\5cK = 1T(2V6);\\1R 3FK = 1T(1gm);\\1U (2V6 == 3FK)\\n{\\2j 1XN;\\n}\\1r d = (1gm.x * (1rq.x - 1XN.x) + 1gm.y * (1rq.y - 1XN.y) + 1gm.z * (1rq.z - 1XN.z)) / 2A(1gm, 1gm);\\1R 3FJ;\\5cJ = 1rq - 1gm * d;\\2j 3FJ;\\n}\\1r 3FG(1w 2V5, 1w 3FI, 1w 2V4)\\n{\\1R v = 3FI;\\1R w = 2V4 - 2V5;\\1r c1 = 2A(w, v);\\1r c2 = 2A(v, v);\\1r b = c1 / c2;\\1R Pb = 2V5 + b * v;\\2j 1h(2V4 - Pb);\\n}\\2s 2k()\\n{\\1r 17n = 11N(1Y(1aB, 2F));\\n#1z 10B\\1r 3b = 17n;\\n#1s\\1r 3b = 3r(17n * 0.5 + 0.5, 8.0);\\n#1u\\1U(3b < 0.1t2)\\n{\\3R.r = 0.0;\\2j;\\n}\\1P 9I = 1az(2F.xy * 9e.zw, 17n);\\1Cv /= 9I.w;\\1R 2tK = 3FH(2G8.1H, 2G9.1H, 9I.1H);\\1r 3FD = 0.0;\\1P 3FE = 1m(1.0);\\2u 2V1 = 1v(0.0);\\n#1z 1Oo\\1R 1I4 = 2tK.1H - 2G9.1H;\\1r 2bL = 1h(1I4);\\n#1z 2tI\\1R 1Ap = 2G8.1H;\\1R 4W = 1w(1.0, 0.0, 0.0);\\1R 1CF = 1T(4B(4W, 1Ap));\\1R 1Le = 1T(4B(1Ap, 1CF));\\1r 1ux = 2A(1T(1I4), 1CF);\\1r 2tL = 2A(1T(1I4), 1Le);\\2tM.x = (2bL * 1ux / 1Ld + 1.0) * 0.5;\\2tM.y = (2bL * 2tL / 1Ld + 1.0) * 0.5;\\3FF = 1Y(2G5, 2V1);\\n#1s\\1U(2bL < 1Ld)\\n{\\1r f = 1.0 - abs(1Ld - 2bL) / 1Ld;\\nf = 3r(f, 8.0);\\2tJ = f;\\n}\\5L\\n{\\2tJ = 0.0;\\n}\\n#1u\\n#1s\\n#1z 2tI\\1R 1I4 = 2tK.1H - 2G7;\\1r 1ux = 2A(2G6, 1T(1I4));\\1r 2tL = 2A(3fX, 1T(1I4));\\1r 2V3 = 1h(1I4);\\2tM.x = (2V3 * 1ux / 1Sz + 1.0) * 0.5;\\2tM.y = (2V3 * 2tL / 1Sz + 1.0) * 0.5;\\n#1s\\1r 2V2 = 3FG(2G7, 2G6, 2tK.1H);\\1U(2V2 < 1Sz)\\n{\\1r f = abs(1Sz - 2V2) / 1Sz;\\nf = 3r(f, 8.0);\\2tJ = f;\\n}\\5L\\n{\\2tJ = 0.0;\\n}\\n#1u\\n#1u\\1P 1A = 1Y(1L1, 2F);\\n#1z 2tI\\3FF = 1Y(2G5, 2V1);\\3R.2y = 1A.2y + 3FE.2y * 2tH.2y;\\n#1s\\3R = 3T(1A, 2tH, 3FD);\\n#1u\\n}\\n";q.6Ri="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1qg\\n#1z 1hB\\1J 1m 1Fh;\\n#1s // 1hB\\1J 1v 1kY;\\1J 1m 1uw;\\1J 1m 1uv;\\n#1u // 1hB\\1J 1w 1Ok;\\1J 1w 24X;\\1J 1w 24W;\\n#1u // 1qg\\n#1z 19Y\\1J 1m 15g;\\n#1u\\n#1z 2bJ\\1R 2jO(1v 2bK, 1o 17n)\\n{\\1P 5Z = 1az(2bK, 17n);\\2j 5Z.1H / 5Z.w;\\n}\\1R 2jM(1m 5Z, 1v 1CD)\\n{\\2u 1CE = 4u.xy;\\1r 2jP = 11N(1Y(1aB, (1CE + 1CD) / 9e.zw));\\1r 2V0 = 11N(1Y(1aB, (1CE - 1CD) / 9e.zw));\\4gx 2jQ = 1ib(1CE + 1CD, 9e.zw);\\1r 2jN = 1o(2jP > 0.0 && 2jQ.x && 2jQ.y);\\1r 2UX = 1o(2jN == 0.0);\\1R 2UZ = 2jO(1CE + 1CD, 2jP);\\1R 2UY = 2jO(1CE - 1CD, 2V0);\\2j (2UZ - (5Z.1H / 5Z.w)) * 2jN + ((5Z.1H / 5Z.w) - 2UY) * 2UX;\\n}\\n#1u // 2bJ\\2s 2k(1p)\\n{\\n#1z 3fW\\1r 17n = 11N(1Y(1aB, 4u.xy / 9e.zw));\\1P 5Z = 1az(4u.xy, 17n);\\n#1u\\n#1z 3fV\\1P 1rG = 1Sy * 5Z;\\1R 1Om = 1rG.1H / 1rG.w;\\n#1u\\n#1z 1qg\\2u uv;\\n#1z 1hB\\2u 1CC = 2Uj(1Om);\\2UW.y += 1Ok.z;\\2UW.y = 15B(1CC.y < 1eN, 1CC.y, 1CC.y - 1w4);\\1rF.x = (1CC.y - 1Fh.y) * 1Fh.w;\\1rF.y = (1CC.x - 1Fh.x) * 1Fh.z;\\n#1s // 1hB\\1rF.x = 17c(1uw, 5Z.1H / 5Z.w) * 1kY.x;\\1rF.y = 17c(1uv, 5Z.1H / 5Z.w) * 1kY.y;\\n#1u // 1hB\\n#1u // 1qg\\n#1z 1Ol\\n#1z 1On\\1U (0.0 <= uv.x && uv.x <= 1.0 && 0.0 <= uv.y && uv.y <= 1.0)\\n{\\3R.a = 1.0;\\1Cz();\\n}\\n#1s // 1On\\3R.a = 1.0;\\n#1u // 1On\\n#1s // 1Ol\\n#1z 1On\\1U (uv.x <= 0.0 || 1.0 <= uv.x || uv.y <= 0.0 || 1.0 <= uv.y)\\n{\\10W;\\n}\\n#1u\\n#1z 2bJ\\1R 2UU = 2jM(5Z, 1v(0.0, 1.0));\\1R 2UV = 2jM(5Z, 1v(1.0, 0.0));\\1R 4X = 1T(4B(2UV, 2UU));\\n#1u\\n#1z 19Y\\1P 1A = 9D(15g);\\n#1z 1kW\\3R = 1A;\\n#1s // 1kW\\1jv 5y;\\10m.4X = 4X;\\10m.11E = -5Z.1H;\\10I 2q = 1bi(5y);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\3R = 1nR(1T(-5Z.1H), 2q, 1qd);\\n#1u // 1kW\\n#1s // 19Y\\1jv 5y;\\n#1z 3FC\\10m.4X = 4X;\\n#1u\\n#1z 3FB\\10m.11E = -5Z.1H;\\n#1u\\n#1z 3FA\\10m.1p2 = 1Sp(1Om, 4X);\\n#1u\\n#1z 3Fz\\10m.st.x = 1Ag(1Ok.xy, 24X.xy, uv) * 24X.z;\\10m.st.y = 1Ag(1Ok.xy, 24W.xy, uv) * 24W.z;\\n#1u\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s // 1kW\\3R = 1nR(1T(-5Z.1H), 2q, 1qd);\\n#1u // 1kW\\n#1u // 19Y\\1Cz();\\n#1u // 1Ol\\n}\\n";q.6Rh="3Q 1w 1aU;\\2J 1w 19W;\\2J 1o 4R;\\n#1z 2jL\\2J 1w 1t8;\\1B 1o 2G3;\\n#1u // 2jL\\n#1z 19Y\\1J 1m 15g;\\n#1u // 19Y\\n#1z 1qg\\n#1z 1hB\\1J 1m 1Fh;\\n#1s // 1hB\\1J 1v 1kY;\\1J 1m 1uw;\\1J 1m 1uv;\\n#1u // 1hB\\1J 1w 1Ok;\\1J 1w 24X;\\1J 1w 24W;\\n#1u // 1qg\\n#if 2l(1qg) && !2l(1hB) && 2l(1Lc)\\1P 2tG(1m sd)\\n{\\1P d = sd;\\nd.x = 15B(sd.x < 128.0, d.x, (255.0 - sd.x));\\nd.x = 2t(0.5 + d.x);\\nd.y = 2t(0.5 + d.y);\\nd.z = 2t(0.5 + d.z);\\nd.w = 2t(0.5 + d.w);\\2j d;\\n}\\1r 1I2(1m sd)\\n{\\1P d = 2tG(sd);\\2j (3Fy.0 * d.x + 10.0 * d.y + 0.1 * d.z + 0.17I * d.w) * 15B(sd.x < 128.0, 1.0, -1.0);\\n}\\1R 3Fs(1m x, 1m y, 1m z)\\n{\\1R 1Q;\\1ak.x = 1I2(x);\\1ak.y = 1I2(y);\\1ak.z = 1I2(z);\\2j 1Q;\\n}\\1r 1I3(1m sd)\\n{\\1P d = 2tG(sd);\\2j (3Fx.0 * d.x + 2UT.0 * d.y + 100.0 * d.z + d.w) * 15B(sd.x < 128.0, 1.0, -1.0);\\n}\\1R 3Fr(1m x, 1m y, 1m z)\\n{\\1R 1Q;\\1ak.x = 1I3(x);\\1ak.y = 1I3(y);\\1ak.z = 1I3(z);\\2j 1Q;\\n}\\n#1z 1y0\\1P 3Fw(1m x, 1m y, 1m z, 1m w)\\n{\\1P 1Q;\\1ak.x = 1I3(x);\\1ak.y = 1I3(y);\\1ak.z = 1I3(z);\\1ak.w = 1I3(w);\\2j 1Q;\\n}\\1P 3Fv(1m x, 1m y, 1m z, 1m w)\\n{\\1P 1Q;\\1ak.x = 1I2(x);\\1ak.y = 1I2(y);\\1ak.z = 1I2(z);\\1ak.w = 1I2(w);\\2j 1Q;\\n}\\n#1s\\1r 2tF(1m sd)\\n{\\1P d = 2tG(sd);\\2j (2UT.0 * d.x + 100.0 * d.y + d.z + 0.11t * d.w) * 15B(sd.x < 128.0, 1.0, -1.0);\\n}\\1R 2US(1m x, 1m y, 1m z)\\n{\\1R 1Q;\\1ak.x = 2tF(x);\\1ak.y = 2tF(y);\\1ak.z = 2tF(z);\\2j 1Q;\\n}\\n#1u\\n#1u\\2s 2k()\\n{\\1P 1K = 1nS();\\n#1z 2jL\\1r 14k = 2o(2G3, 2UR * 1h(1K.1H));\\1Lb *= 1kO == 1F3 ? 1.0 : 0.0;\\2jG = 1K + 1m(1t8 * 14k, 0.0);\\n#1u\\n#1z 1qg\\n#1z 1hB\\5cI = 5cH(4R);\\3Fq.z = 5cG(4R);\\n#1s // 1hB\\n#1z 1y0\\n#1z 1Lc\\1P 1kX = 3Fw(5cF(4R),\\5cE(4R),\\5cD(4R),\\5cC(4R));\\1P 1uu = 3Fv(5cB(4R),\\5cA(4R),\\5cz(4R),\\5cy(4R));\\n#1s // 1Lc\\1P 1kX = 5cx(4R);\\1P 1uu = 5cw(4R);\\n#1u // 1Lc\\2u 2bH = 1v(3fT - (3fU - 1kX.w), 3fR - (3fS - 1uu.w));\\166 2bI = 1kX.x > 1kX.w && 19W.y > 0.0;\\3Fu.w = 15B(2bI, 2bH.x, 1kX.w);\\3Ft.w = 15B(2bI, 2bH.y, 1uu.w);\\5cv = 1kX.x > 1kX.w && 19W.y < 0.0;\\5cu = 1v(3fU - (3fT - 1kX.x), 3fS - (3fR - 1uu.x));\\3Fu.x = 15B(2bI, 2bH.x, 1kX.x);\\3Ft.x = 15B(2bI, 2bH.y, 1uu.x);\\1R 1gY = (15D * 16e(1w(0.0, 1kX.xy), 1w(0.0, 1uu.xy))).1H;\\1R 1XL = (15D * 16e(1w(0.0, 1kX.x, 1kX.z), 1w(0.0, 1uu.x, 1uu.z))).1H;\\1R 1XM = (15D * 16e(1w(0.0, 1kX.w, 1kX.y), 1w(0.0, 1uu.w, 1uu.y))).1H;\\n#1s // 1y0\\n#1z 1Lc\\1R 15r = 3Fs(5ct(4R), 5cs(4R), 5cr(4R));\\1R 162 = 3Fr(5cq(4R), 5cp(4R), 5co(4R));\\1R 1gY = (15D * 16e(162, 15r)).1H;\\1R 1XL = 11b * 2US(\\5cn(4R),\\5cm(4R),\\5cl(4R)) + 1gY;\\1R 1XM = 11b * 2US(\\5ck(4R),\\5cj(4R),\\5ci(4R)) + 1gY;\\n#1s // 1Lc\\1R 1gY = (15D * 16e(5ch(4R), 5cg(4R))).1H;\\1R 1XL = 11b * 5cf(4R) + 1gY;\\1R 1XM = 11b * 5ce(4R) + 1gY;\\n#1u // 1Lc\\n#1u // 1y0\\1R 1CB = 1XM - 1gY;\\1r 1XK = 1h(1CB);\\5cd /= 1XK;\\1R 1CA = 1XL - 1gY;\\1r 1XJ = 1h(1CA);\\5cc /= 1XJ;\\5cb = 1m(1CB, -2A(1CB, 1gY));\\5ca = 1m(1CA, -2A(1CA, 1gY));\\5c9 = 1v(1.0 / 1XK, 1.0 / 1XJ);\\n#1u // 1hB\\1P 1Sx = 5c8(4R);\\1P 24V = 5c7(4R);\\5c6 = 1w(24V.xy, 1Sx.z);\\5c5 = 1w(24V.zw, 1Sx.w);\\3Fq.xy = 1Sx.xy;\\n#1u // 1qg\\n#1z 19Y\\1wi = 1k9(4R);\\n#1u\\11u = 1wa(1kV * 1K);\\n}\\n";q.6Rg="#1z 5J\\n#6A 5J : 5F\\n#1u\\n#1z 1mP\\1B 1m 1nU;\\n#1u\\2s 2k(1p)\\n{\\n#1z 1mP\\3R = 9D(1nU);\\n#1s\\3R = 1m(1.0);\\n#1u\\1Cz();\\n}\\n";q.6Rf="3Q 1w 1aU;\\2J 1w 19W;\\2J 1m 1A;\\2J 1o 4R;\\n#1z 2jL\\2J 1w 1t8;\\1B 1o 2G3;\\n#1u\\1J 1o 24z;\\1J 1m 15g;\\1P 1gX(1m 2G4)\\n{\\4go = (0.5 * (2G4.z / 2G4.w) + 0.5) * 2G4.w;\\6Re.z = 2o(2G4.z, 2G4.w);\\2j 2G4;\\n}\\2s 2k()\\n{\\1wi = 1A;\\1P 1K = 1nS();\\n#1z 2jL\\1r 14k = 2o(2G3, 2UR * 1h(1K.1H));\\1Lb *= 1kO == 1F3 ? 1.0 : 0.0;\\2jG = 1K + 1m(1t8 * 14k, 0.0);\\n#1u\\11u = 1gX(1kV * 1K);\\n}\\n";q.6Rd="2n 2v 6T;\\1B 2v 3fQ;\\1J 1v 2F;\\2s 2k(1p)\\n{\\1P 1rE = 1Y(3fQ, 2F);\\1P 1A = 1Y(6T, 2F);\\3R = 3T(1A, 1rE, 1rE.a);\\n}\\n";q.6Rc="#1z 1Oj\\1B 1w 1p9;\\n#1u\\1B 1m 1aW;\\4i 1o g = -0.95;\\4i 1o g2 = g * g;\\1J 1w 1La;\\1J 1w 1L9;\\1J 1w 1Fg;\\1J 1w 13L;\\2s 2k (1p)\\n{\\1r 1eS = 1aW.w;\\1R 19X =\\2jK * 1o(1eS == 0.0) +\\2jJ * 1o(1eS == 1.0) +\\2jI * 1o(1eS == 2.0);\\2jH = 1T(19X);\\1r 1ai = 2A(19X, 1T(1Fg)) / 1h(1Fg);\\1r 2tE = 0.75 * (1.0 + 1ai * 1ai);\\1r 2tD = 1.5 * ((1.0 - g2) / (2.0 + g2)) * (1.0 + 1ai * 1ai) / 3r(1.0 + g2 - 2.0 * g * 1ai, 1.5);\\1R 2y = 2tE * 1La + 2tD * 1L9;\\n#1bI 1js\\4i 1o 1p8 = 2.0;\\2bG = 1w(1.0) - 108(-1p8 * 2y);\\n#1u\\n#1z 1Oj\\1R 1fQ = 24U(2y);\\1Cy.x += 1p9.x;\\1Cy.y = 2Y(1fQ.y + 1p9.y, 0.0, 1.0);\\1Cy.z = 1fQ.z > 1bg ? 1fQ.z + 1p9.z : 0.0;\\2bG = 24T(1fQ);\\n#1u\\1r 2tB = 2Y((1aW.y - 1aW.x) / (1aW.y - 1aW.z), 0.0, 1.0);\\1r 2tC = (1eS != 0.0) ? 2Y(2A(1T(1al), 19X), 0.0, 1.0) : 1.0;\\3Fp *= 3r(2tC, 0.5);\\3R = 1m(2y, 3T(2y.b, 1.0, 2tB) * 13f(0.0, 1.0, 1iO));\\n}\\n";q.6Rb="3Q 1m 1K;\\1B 1m 1aW;\\4i 1o Kr = 0.2tA;\\4i 1o 2bC = Kr * 4.0 * 1eN;\\4i 1o Km = 0.2bF;\\4i 1o 2bB = Km * 4.0 * 1eN;\\4i 1o 1rD = 15.0;\\4i 1o 2by = Km * 1rD;\\4i 1o 2bx = Kr * 1rD;\\4i 1w 1L4 = 1w(\\n5.3fP,\\n9.3fO,\\3fN.3fL);\\4i 1o 1qe = 0.25;\\4i 7P 1I0 = 2;\\4i 1o 1I1 = 2.0;\\1J 1w 1La;\\1J 1w 1L9;\\1J 1w 1Fg;\\1r 3b(1o 1ai)\\n{\\1r x = 1.0 - 1ai;\\2j 1qe  * 108(-0.2tz + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\\n}\\2s 2k(1p)\\n{\\1r 1xZ = 1aW.x;\\1r 1qf = 1aW.y;\\1r 1wh = 1aW.z;\\1R 1L3 = 1K.1H;\\1R 11j = 1L3 - 1al;\\1r 3W = 1h(11j);\\3fK /= 3W;\\1r 1xY = 1.0 / (1qf - 1wh);\\n#1z 2G2\\1r B = 2.0 * 2A(1al, 11j);\\1r C = 1xZ * 1xZ - 1qf * 1qf;\\1r 2bE = 1V(0.0, B*B - 4.0 * C);\\1r 3I = 0.5 * (-B - 3Y(2bE));\\1R 4I = 1al + 11j * 3I;\\3fJ -= 3I;\\1r 1jw = 2A(11j, 4I) / 1qf;\\1r 2bD = 108(-1.0 / 1qe );\\1r 1L7 = 2bD*3b(1jw);\\n#1s // 2G1\\1R 4I = 1al;\\1r 1D = 1h(4I);\\1r 4e = 108((1xY / 1qe ) * (1wh - 1xZ));\\1r 1jw = 2A(11j, 4I) / 1D;\\1r 1L7 = 4e*3b(1jw);\\n#1u\\1r 1eS = 1aW.w;\\1R 19X =\\2jK * 1o(1eS == 0.0) +\\2jJ * 1o(1eS == 1.0) +\\2jI * 1o(1eS == 2.0);\\2jH = 1T(19X);\\1r 1L8 = 3W / 1I1;\\1r 2bz = 1L8 * 1xY;\\1R 1L6 = 11j * 1L8;\\1R 1xX = 4I + 1L6 * 0.5;\\1R 1L5 = 1w(0.0, 0.0, 0.0);\\14D(7P i=0; i<1I0; i++)\\n{\\1r 1D = 1h(1xX);\\1r 4e = 108((1xY / 1qe ) * (1wh - 1D));\\1r 1HZ = 2A(19X, 1xX) / 1D;\\1r 1HY = 2A(11j, 1xX) / 1D;\\1r 1HX = (1L7 + 4e*(3b(1HZ) - 3b(1HY)));\\1R 2bA = 108(-1HX * (1L4 * 2bC + 2bB));\\3fI += 2bA * (4e * 2bz);\\3fH += 1L6;\\n}\\3fG = 1L5 * 2by;\\3fF = 1L5 * (1L4 * 2bx);\\3fE = 1al - 1L3;\\11u = 11o * 1K;\\n}\\n";q.6Ra="2n 1HF 3fD;\\1B 1o 2UQ;\\1J 1w 1Ao;\\2s 2k()\\n{\\1P 1A = 24F(3fD, 1T(1Ao));\\3R = 1m(9D(1A).2y, 2UQ * 1iO);\\n}\\n";q.6R9="3Q 1w 1K;\\1B 14j 3fC;\\1J 1w 1Ao;\\2s 2k()\\n{\\1R p = 4gw * 3fC * (2UP * (4gv.y * 1K));\\11u = 17B * 1m(p, 1.0);\\5c4 = 1K.1H;\\n}\\n";q.6R8="2n 2v 4d;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1P 1rC = 1Y(4d, 1v(5y.1rp / (1eN / 2.0), 0.5));\\2UO = 9D(1rC);\\10H.8t = 1rC.2y;\\10H.2O = 1rC.a;\\2j 2q;\\n}\\n";q.6R7="2n 1m 1ut;\\1B 1m 1t7;\\1B 1o 2M;\\1B 1o 12G;\\1B 7d 1ia;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r 16Q = 3T(5y.st.s, 5y.st.t, 1o(1ia));\\1r 1Q = 8N((16Q - 2M) * (12G * 0.5));\\1r 6Y = 2o(1Q, 2o(abs(1Q - 0.5), 1.0 - 1Q));\\1P 1aj = 3T(1ut, 1t7, 7F(0.5, 1Q));\\1P 1A = 1k5(1ut, 1t7, 1aj, 6Y);\\6p = 9D(1A);\\10H.8t = 1A.2y;\\10H.2O = 1A.a;\\2j 2q;\\n}\\n";q.6R6="2n 2v 16S;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1A = 1Y(16S, 2F);\\3R = 9D(1A);\\n}\\n";q.6R5="2n 1o 3fB;\\1J 1v 2F;\\2u 17b(1v p, 1v 2G)\\n{\\2j 1v(p.x * 2G.x - p.y * 2G.y, p.x * 2G.y + p.y * 2G.x);\\n}\\1P 1Oi(1v 1K, 1v 2G, 1o 1xW)\\n{\\2u 3Fo = 17b(1K, 2G) * 1v(25.0, 0.75);\\1r 3L = 1h(3Fo) * 1xW;\\1r 2ty = 1.0 - 13f(0.0, 0.55, 3L);\\2j 1m(2ty);\\n}\\2s 2k()\\n{\\1r 1xW = 2.0 / 3Y(2.0);\\2u 1K = 2F - 1v(0.5);\\1r 3L = 1h(1K) * 1xW;\\1r 2bw = 7F(3L, 3fB);\\1P 1A = 1m(1v(1.0), 2bw + 0.2, 2bw);\\1r 1An = 1.0 - 13f(0.0, 0.55, 3L);\\6p.ba += 3T(1v(0.0), 1v(1.0), 1An) * 0.75;\\1P 2ty = 1m(0.0);\\1XI += 0.4 * 1Oi(1K, 1v(0.5c3,  0.5c2), 1xW);\\1XI += 0.4 * 1Oi(1K, 1v(0.5c1,  0.5c0), 1xW);\\1XI += 0.4 * 1Oi(1K, 1v(0.5bZ, -0.5bY), 1xW);\\1XI += 0.3 * 1Oi(1K, 1v(0.5bX,  0.5bW), 1xW);\\1XI += 0.3 * 1Oi(1K, 1v(0.5bV,  0.5bU), 1xW);\\1XI += 0.3 * 1Oi(1K, 1v(0.5bT, -0.5bS), 1xW);\\6p += 2Y(2ty, 1m(0.0), 1m(1.0)) * 0.15;\\3R = 2Y(1A, 1m(0.0), 1m(1.0));\\n}\\n";q.6R4="3Q 1v 2G;\\1B 1o 1Cx;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1K;\\1U (1iO == 1.0)\\n{\\2jG = 1m(1HW, 1.0);\\n}\\5L\\n{\\2jG = 1m(3fA.1ca, 1.0);\\n}\\1P 4p = 1p3 * 1K;\\1P 6K = 18a(4p);\\2u 1xS = 1v(1Cx * 0.5);\\2bn *= ((2G * 2.0) - 1.0);\\11u = 1t5 * 1m(6K.xy + 1xS, -6K.z, 1.0);\\1mN = 2G;\\n}\\n";q.6R3="#2f 1HV 9\\n#2f 3Ff 1\\n#2f 2UB 0\\n#2f 5bR 1\\1B 2v 3fz;\\1B 2v 3fu;\\1B 5w 3fv;\\1B 1v 2G0;\\1B 1o 3fx[1HV];\\1B 1v 3fy[1HV];\\1J 1v 2F;\\1R 2Ux(1w 1XG){\\1r Y = 2A(1XG, 1w(1.0, 2.0, 1.0));\\1r Co = 2A(1XG, 1w(2.0, 0.0, -2.0));\\1r Cg = 2A(1XG, 1w(-1.0, 2.0, -1.0));\\1R 1XH = 1w(Y, Co, Cg);\\2j 1XH;\\n}\\1R 3F3(1w 1XH){\\1r Y = 1XH.x * 0.25;\\1r Co = 1XH.y * 0.25;\\1r Cg = 1XH.z * 0.25;\\1r R =  Y + Co - Cg;\\1r G = Y + Cg;\\1r B = Y - Co - Cg;\\1R 1XG = 1w(R, G, B);\\2j 1XG;\\n}\\1r 2UN(1w 1A){\\2j 1A.r;\\n}\\1R 2Uy(1w 1A){\\2j 1A / (1.0 + 2UN(1A));\\n}\\1R 3F2(1w 1A){\\2j 1A / (1.0 - 2UN(1A));\\n}\\1R 3Fd(1v 2M, 1v uv){\\1r fx = 2M.x;\\1r fy = 2M.y;\\2u 1us = 1v(fx / 9e.z, fy / 9e.w);\\2u 2UM = uv + 1us;\\5bQ = 2Y(2UM, 0.0, 1.0);\\1R 2bv = 1Y(3fz, 2UM).2y;\\2UL = 1V(2bv, 0.0);\\2UL = 2Uy(2bv);\\2UL = 2Ux(2bv);\\2j 2bv;\\n}\\1r 3Fn(1o 1aV){\\1r 1p8 = 1.0;\\2j 1.0 / (1aV * 1p8 + 4.0);\\n}\\1r 2tq(1w 2tx){\\2j 2tx.x;\\n}\\1r 2tp(1w 2tx)\\n{\\2j 3Fn(2tx.x);\\n}\\2u 3F7(1o 3Fm, 1o 3Fl, 1o 2jF)\\n{\\1r 2UJ = (1.0 - 2jF) * 3Fm;\\1r 2UI =        2jF  * 3Fl;\\1r 2UK = 1.0 / (2UJ + 2UI);\\5bP *= 2UK;\\5bO *= 2UK;\\2j 1v(2UJ, 2UI);\\n}\\2s 5bN(in 1w 1fP[1HV], 9H 1w 5bM, 9H 1w 5bL)\\n{\\1R 1i9;\\1R 1i8;\\2tw = 2o( 2o(1fP[1], 1fP[3]), 1fP[4] );\\2tw = 2o( 2o(1i9,  1fP[5]), 1fP[7] );\\2tv = 1V( 1V(1fP[1], 1fP[3]), 1fP[4] );\\2tv = 1V( 1V(1i8,  1fP[5]), 1fP[7] );\\1R 5bK = 1i9;\\1R 5bJ = 1i8;\\2tw = 2o( 2o(1i9, 1fP[0]), 1fP[2] );\\2tw = 2o( 2o(1i9, 1fP[6]), 1fP[8] );\\2tv = 1V( 1V(1i8, 1fP[0]), 1fP[2] );\\2tv = 1V( 1V(1i8, 1fP[6]), 1fP[8] );\\5bI = 1i9;\\5bH = 1i8;\\n}\\1r 3Fk(1w 1XE, 1w 2bt, 1w 2bu){\\1R 2UH = 1w(1.0 / 1XE.x, 1.0 / 1XE.y, 1.0 / 1XE.z);\\1R 2tu = (  2bu  - 2bt) * 2UH;\\1R 2tt = ((-2bu) - 2bt) * 2UH;\\2j 1V(1V(2o(2tu.x, 2tt.x), 2o(2tu.y, 2tt.y)), 2o(2tu.z, 2tt.z));\\n}\\1r 3Fe(1w 1xV, 1w 1Oh, 1w 1i9, 1w 1i8){\\n#if 0\\1R 1XF = 2o(1Oh, 2o(1i9, 1i8));\\1R 1L2 = 1V(1Oh, 1V(1i9, 1i8));\\1R 2UG = 1L2 + 1XF;\\1R 1XE = 1Oh - 1xV;\\1R 2bt = 1xV - 2UG * 0.5;\\1R 1S2 = 1L2 - 2UG * 0.5;\\2j 2Y(3Fk(1XE, 2bt, 1S2), 0.0, 1.0);\\n#1s\\1R 3Fj = 1i9;\\1R 3Fi = 1i8;\\1R 2UF = 1xV;\\1R 1XD = 1Oh - 1xV;\\5bG = all(1Xm(abs(1XD), 1w(1.0/12v.0))) ? 1w(1.0/12v.0) : 1XD;\\1R 2UE = 1w( 1.0 / 1XD.x, 1.0 / 1XD.y, 1.0 / 1XD.z );\\1R 3Fh = (3Fj - 2UF) * 2UE;\\1R 3Fg = (3Fi - 2UF) * 2UE;\\1R 2ts = 2o( 3Fh, 3Fg );\\2j 1V( 1V(2ts.x, 2ts.y), 2ts.z );\\n#1u\\n}\\1R 3F8(1w 1Oh, 1w 1xV, 1w 1i9, 1w 1i8)\\n{\\n#if !3Ff\\2j 1xV;\\n#1Cw 2UB\\1R 2UD = 1Oh;\\1R 2tr = 1xV;\\1r 2UC = 3Fe( 2tr.2y, 2UD.2y, 1i9.2y, 1i8.2y );\\5bF = 2Y( 2UC, 0.0, 1.0 );\\5bE = 3T( 2tr, 2UD, 2UC );\\2j 2tr;\\n#1s //!2UB\\5bD = 2Y(1xV, 1i9, 1i8);\\2j 1xV;\\n#1u\\n}\\1R 3Fa(in 1v uv, 1du 1w 1XB[1HV]){\\14D(7P i = 0; i < 1HV; i++){\\5bC[i] = 3Fd(3fy[i], uv);\\n}\\1r 3Fb = 0.0;\\1R 3fw = 1w(0.0);\\14D(7P i = 0; i < 1HV; i++){\\1r 3Fc = 2tp(1XB[i]);\\1r 2UA = 3Fc * 3fx[i];\\5bB += 2UA;\\5bA += 1XB[i] * 2UA;\\n}\\1R 1Sw = 3fw / 3Fb;\\2j 1Sw;\\n}\\2s 2k()\\n{\\1r 5bz = 0.0;\\2u 3F9 = 2F + 2G0;\\1r 17n = 11N(1Y(1aB, 2F));\\1P 9I = 1az(2F.xy * 9e.zw, 17n);\\1Cv /= 9I.w;\\1P 1XC = 3fv * 9I;\\2Uz = 1XC / 1XC.w;\\2Uz.xy = 1XC.xy * 0.5 + 0.5;\\2Uz.xy = 1XC.xy + 2G0;\\1R 1Og = 1Y(3fu, 1XC.xy).2y;\\2Uw = 2Uy(1Og);\\2Uw = 2Ux(1Og);\\1R 1XB[1HV];\\1R 1Sw = 3Fa(3F9, 1XB);\\1R 1i9;\\1R 1i8;\\5by(1XB, 1i9, 1i8);\\1r 5bx     = 2tq(1i9);\\1r 5bw     = 2tq(1i8);\\1r 5bv = 2tq(1Og);\\2Uw = 3F8(1Sw, 1Og, 1i9, 1i8);\\1r 3F4 = 0.1HU;\\1r 3F5 = 2tp(1Sw);\\1r 3F6 = 2tp(1Og);\\2u 2Uv = 3F7(3F6, 3F5, 3F4);\\1R 1A = 1Og * 2Uv.x + 1Sw * 2Uv.y;\\6p = 3F3(1A);\\6p = 3F2(1A);\\3R.2y = 1A;\\3R.a = 1.0;\\n}\\n";q.6R2="3G 1w 13L;\\1J 1w 1dy;\\1J 1v 9j;\\2s 2k()\\n{\\1R 11E = -13L;\\1R 4X = 1T(1dy);\\n#1z 1Sv\\1rx = 1Of(4X, 1w(0.0, 0.0, 1.0), -4X);\\n#1u\\1jv 5y;\\10m.4X = 4X;\\10m.11E = 11E;\\10m.st = 9j;\\10I 2q = 16E(5y);\\n#1z 1kW\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n#1s\\3R = 1nR(1T(11E), 2q, 1qd);\\n#1u\\n}\\n";q.6R1="3Q 1w 1aU;\\2J 1w 19W;\\2J 1w 2U;\\2J 1v st;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\1J 1v 9j;\\2s 2k()\\n{\\1P p = 1nS();\\1t6 = (15D * p).1H;\\1Oe = 11b * 2U;\\1XA = st;\\11u = 1kV * p;\\n}\\n";q.6R0="3Q 1w 1K;\\2J 1w 2U;\\2J 1v st;\\2J 1o 4R;\\1J 1w 13L;\\1J 1w 1dy;\\1J 1v 9j;\\2s 2k()\\n{\\1P p = 1m(1K, 1.0);\\1t6 = (9q * p).1H;\\1Oe = 11b * 2U;\\1XA = st;\\11u = 11o * p;\\n}\\n";q.6QZ="1k7 6V 1o;\\1eq 1m 3F1;\\2s 2k() {}\\n";q.6QY="2n 2v 1L1;\\1B 2v 3ft;\\1J 1v 2F;\\1r 3F0(1o x){\\1U (abs(x) > 2.5bu){\\2j 12q(x);\\n}\\5L {\\1r z = 0.5bt * x * x - 1.0;\\2j ((((((0.5bs * z - 0.5br) * z + 0.5bq) * z - 0.5bp) * z + 0.5bo) * z - 0.5bn) * z + 0.5bm) * x;\\n}\\n}\\1r 3EY(1v 11O, 1o 4e){\\1r 3EZ = 1V(11O.y - 11O.x * 11O.x, 0.0);\\2j 2Y(0.5 * (1.0 + 3F0((4e - 11O.x) / 3Y(3EZ * 2.0))), 0.0, 1.0);\\n}\\2s 2k()\\n{\\1P 1A = 1Y(1L1, 2F);\\1U(1A.a < 0.11t){\\10W;\\n}\\1r 2Ut = 11N(1Y(1aB, 2F));\\1U(2Ut > 0.0){\\1R 2Uu = 1Y(3ft, 2F).1H;\\1r 7Z = 2Uu.z;\\2u 11O = 2Uu.xy;\\5bl /= 7Z;\\1r 3EX = 3EY(11O, 2Ut);\\6p.a = 2o(1A.a, 3EX);\\n}\\3R = 1A;\\n}\\n";q.6QX="3Q 1m 2Us;\\2J 1m 2Ur;\\2J 1m 1Cu;\\2J 1v 15t;\\2J 1o 1k8;\\1B 5w 1wg;\\2s 2k()\\n{\\1r 1kU = 15t.x;\\1r 1G = abs(15t.y) + 0.5;\\166 1mO = 15t.y < 0.0;\\1P p = 1wg * 2Us;\\1P 15E = 1wg * 2Ur;\\1P 6k = 1wg * 1Cu;\\1r 8f;\\1P 6K = 1Xz(p, 15E, 6k, 1kU, 1G, 1mO, 8f);\\11u = 1t5 * 6K;\\n#1z 10B\\1we(17B * p);\\n#1u\\n}\\n";q.6QW="3Q 1w 1K;\\2J 1o 1k8;\\1B 5w 1Od;\\2s 2k()\\n{\\11u = 1wa(1Od * 1m(1K, 1.0));\\n}\\n";q.6QV="1k7 6V 1o;\\1ur(17J=0) in 1w 3h;\\1ur(17J=1) in 1w 1Xw;\\1ur(17J=2) in 1v 1Xy;\\1ur(17J=3) in 1v 1iN;\\1eq 1w 2tk;\\1eq 1w 2Uq;\\1eq 1v 4gu;\\1eq 1v 2Up;\\1B 2v 1p7;\\1B 1o 1t4;\\1B 1o 1mM;\\1B 1v 2jE;\\1r 3EW(1o y, 1o x)\\n{\\1r ax = abs(x);\\1r ay = abs(y);\\1r a = 2o(ax, ay) / (1V(ax, ay) + 1e-18);\\1r r = ((-0.5bk * a * a + 0.5bj) * a * a - 0.5bi) * a * a * a + a;\\1U(ay > ax){\\nr = 1.5bh - r;\\n}\\1U(x < 0.0){\\nr = 3.5bg - r;\\n}\\1U(y < 0.0){\\nr = -r;\\n}\\2j r;\\n}\\1R 3ER(1w 3h)\\n{\\1r 2to = 3Y(3h.x * 3h.x + 3h.y * 3h.y + 3h.z * 3h.z);\\1U (2to < 0.1Ai)\\n{\\2j 1w(0.0);\\n}\\1r 3N = 3EW(3h.y, 3h.x);\\1r 4k = 17M(3h.z / 2to);\\2j 1w(3N,4k,2to);\\n}\\2u 3EV(XR 1v uv)\\n{\\2u px = 1.0 / 2jE;\\2u vc = (2t(uv * 2jE)) * px;\\2u f = 8N(uv * 2jE);\\2u tl = 7y(1p7, vc).rg;\\2u tr = 7y(1p7, vc + 1v(px.x, 0)).rg;\\2u bl = 7y(1p7, vc + 1v(0, px.y)).rg;\\2u br = 7y(1p7, vc + px).rg;\\2j 3T(3T(tl, tr, f.x), 3T(bl, br, f.x), f.y);\\n}\\2s 2k()\\n{\\2u 2tm;\\2tn.x = (1Xy.x + 1eN) / 1w4;\\2tn.y = (1Xy.y + 1Sj) / 1eN;\\2u 1c9 = 3EV(2tm);\\1R 1wf = 1T(3h);\\1R 1HT = 4B(1w(0.0, 0.0, 1.0), 1wf);\\3EU = 1T(1HT);\\1R 1Xx = 4B(1wf, 1HT);\\3ET = 1T(1Xx);\\1U(1iN.x > 1iN.y)\\n{\\2tl = 1Xw;\\1HS.x = 0.0;\\1HS.y = 1iN.y;\\n}\\5L\\n{\\2tl = 3h + 1Xx * 1c9.y * 1mM * 1t4 + 1HT * 1c9.x * 1mM * 1t4;\\1HS.x += 1iN.x + 1mM;\\1HS.y = 1iN.y;\\n}\\3ES = 1Xw;\\5bf = 3ER(2tk).xy;\\n}\\n";q.6QU="3G 1v 2F;\\2s 2k()\\n{\\1jv 5y;\\10m.s = 2F.s;\\10m.st = 2F;\\10m.1F6 = 1w(2F, 0.0);\\10m.4X = 1w(0.0, 0.0, -1.0);\\10I 2q = 16E(5y);\\3R = 1m(2q.8t + 2q.17Y, 2q.2O);\\n}\\n";q.6QT="3Q 1m 1K;\\2J 1v 8u;\\1J 1v 2F;\\2s 2k()\\n{\\11u = 1K;\\1mN = 8u;\\n}\\n";q.6QS="#1z 5J\\n#6A 5J : 5F\\n#1u\\1B 2v 2br;\\1B 2v 2bq;\\1B 2v 2bs;\\1J 1v 2F;\\2s 2k()\\n{\\1P 1xU = 1Y(2bs, 2F);\\1P 1HR = 1Y(2br, 2F);\\1r r = 1Y(2bq, 2F).r;\\1P 18b = 1m(1HR.2y / 2Y(r, 1e-4, 5e4), 1HR.a);\\3R = (1.0 - 18b.a) * 18b + 18b.a * 1xU;\\n}\\n";q.6QR="#6A 2jD : 5F\\1B 2v 1Xv;\\1B 1m 3fr;\\1B 2v 2jB;\\1B 1m 1wd;\\1B 1w 1Fe;\\1B 1w 1Fd;\\1J 1m 1Ct;\\1J 1v 2F;\\166 3EP(1o 1Ob, 9H 1m 2ti)\\n{\\1r 1k6 = 1wd.x;\\1r 1bj = 1wd.y;\\1r 24R = 1wd.z;\\1r 24S = 1wd.w;\\3EQ = 1m(1.0);\\1r 2tj = 1k6 + 1Ob * (1bj - 1k6);\\1U(2tj > 24S || 2tj < 24R)\\n{\\2j 16f;\\n}\\n#1z 3fs\\3EQ = 1Y(2jB,  1v(0.0, 1.0 - 2tj)).15A;\\n#1u\\2j 8O;\\n}\\2s 2k()\\n{\\1P 1A = 1Y(1Xv, 2F);\\6p = 9D(1A);\\1U (1A.a < 0.1Am)\\n{\\10W;\\n}\\n#1z 4gt\\1U(1Ct.x > 1Fe.x || 1Ct.x < 1Fd.x\\n|| 1Ct.y > 1Fe.y || 1Ct.y < 1Fd.y\\n|| 1Ct.z > 1Fe.z || 1Ct.z < 1Fd.z)\\n{\\10W;\\n}\\n#1u\\1P 1O2 = 1m(1.0);\\1r 1mI;\\1r 1Ob = 2b8(1Ct.1H, 1mI);\\1P 2ti = 1m(1.0);\\1U(!3EP(1Ob, 2ti))\\n{\\10W;\\n}\\n#1z 3fs\\2TW = 2ti;\\n#1s\\1r 2jC = 1Ob * 40.0 - 30.0;\\1R 3EO = 3fr.2y * 3r(2.0, 2jC);\\2TW.2y = 3EO;\\n#1u\\6p.2y *= 1O2.2y;\\1ri();\\n#1z 2th\\1R Ci = 1A.2y * 1A.a;\\1r ai = 1A.a;\\1r 1Ff = 2jv(ai);\\2bp[0] = 1m(Ci * 1Ff, ai);\\2bp[1] = 1m(ai * 1Ff);\\n#1s\\3R = 1A;\\n#1u\\n}\\n";q.6QQ="#1z 2tg\\2J 1v 2G;\\n#1u\\2J 1m 1xT;\\2J 1m 1Cr;\\1B 1m 2FZ;\\2J 1m 2bo;\\1J 1m 1Ct;\\1J 1v 2F;\\1r 1rB(1m 4p){\\1P 1Cs = 18a(4p);\\1r 1aT = 11N(1Y(1aB, 1Cs.xy / 9e.zw));\\1U (1aT == 0.0){\\2j 0.0;\\n}\\1P 5Z = 1az(1Cs.xy, 1aT);\\2j 5Z.z / 5Z.w;\\n}\\1P 1Oc(1m 4p, 1v 1cM, 1o 3b, 1v 2G)\\n{\\2u 1xS = 1cM * 3b * 1Xu * 0.5;\\2bn *= ((2G * 2.0) - 1.0);\\1eR.xy += 1xS;\\2j 4p;\\n}\\2s 2k()\\n{\\1R 1Su = 1xT.1H;\\1R 1St = 1Cr.1H;\\1r 3b = 1xT.w;\\2u 8u = 2G;\\2u 1cM = 2FZ.zw;\\1P p = 16e(1Su, 1St);\\1P 4p = 15D * p;\\1r 1HQ = 10.0;\\1r 1aT = 1rB(4p);\\1U (1aT != 0.0 && 4p.z + 1HQ < 1aT)\\n{\\1eR.1H = 1w(0.0);\\n}\\5L{\\1eR = 1Oc(4p, 1cM, 3b, 2G);\\n}\\11u = 17B * 4p;\\1mN = 8u;\\n#1z 10B\\1we();\\n#1u\\3EN = 2bo;\\2u 1xS = 1cM * 3b * 1Xu * 0.5 / 2FZ.xy;\\2bn *= ((2G * 2.0) - 1.0);\\3EN.xy += 1xS;\\n}\\n";q.6QP="3G 1m 6r;\\1J 1m 2Uo;\\1B 2v 2jB;\\1B 1m 1wd;\\1B 1w 1Fe;\\1B 1w 1Fd;\\1B 1o 2tf;\\1P 3fq(1w 3h)\\n{\\1U(6r.x > 1Fe.x || 6r.x < 1Fd.x\\n|| 6r.y > 1Fe.y || 6r.y < 1Fd.y\\n|| 6r.z > 1Fe.z || 6r.z < 1Fd.z)\\n{\\10W;\\n}\\1r 1k6 = 1wd.x;\\1r 1bj = 1wd.y;\\1r 24R = 1wd.z;\\1r 24S = 1wd.w;\\1r 1mI;\\1r 1Q = 2b8(3h, 1mI);\\1P 1A = 1m(1.0,1.0,1.0,1Q);\\1ak = 1k6 + 1Q * (1bj - 1k6);\\1U(1Q > 24S || 1Q < 24R)\\n{\\10W;\\n}\\1ak = (1Q - 1k6) / (1bj - 1k6);\\1ak = 2Y(1Q, 0.0, 1.0);\\1r y = 2t(1Q * 15.0)/15.0;\\1r x = 8N(1Q*15.0);\\2u 1kR = 1v(x, 1.0-y);\\6p = 1Y(2jB, 1kR).15A;\\2j 1A;\\n}\\2s 2k()\\n{\\1R 3EM = 6r.1H;\\1U(1rr > 0.5)\\n{\\5be = 2Uo.1H;\\n}\\3R = 3fq(3EM);\\3R.a = 2tf;\\3R = 9D(2C);\\n}\\n";q.6QO="3G 1m 4m;\\2s 2k()\\n{\\3R = 4m;\\1r 3s = 1h(1Ss - 1v(0.5));\\3R.a *= 7F(3s, 0.5);\\3R = 9D(2C);\\n}\\n";q.6QN="3Q 1m 4f;\\2J 1w 7s;\\1B 5w 1rA;\\1B 1w 5b9;\\1B 1w 1HP;\\1B 2v 5bd;\\1B 1o 1k6;\\1B 1o 1bj;\\1B 1o 24S;\\1B 1o 24R;\\1B 1w 6QM;\\1B 1w 6QL;\\1J 1m 4m;\\4i 1o 3EL = 0.1;\\4i 1o 5ba = 15.0;\\4i 1o 5bc = 0.2;\\4i 1o 5bb = 1.0;\\2s 3fq(1o 1Ob, 9H 1m 1bk, 9H 1o 6QK)\\n{\\2jA = 1m(1.0);\\4gs = 3EL;\\1r 1Q = 1k6 + 1Ob * (1bj - 1k6);\\1U(1Q > 24S || 1Q < 24R)\\n{\\2jA = 1m(0.0);\\4gs = 3EL;\\2j;\\n}\\1ak = (1Q - 1k6) / (1bj - 1k6);\\1ak = 2Y(1Q, 0.0, 1.0);\\2jA = 1Y(5bd,  1v(0.0, 1.0 - 1Q)).15A;\\2jA.a = 3T(5bc, 5bb, 1Q);\\4gs = 3T(3EL, 5ba, 1Q);\\n}\\2s 2k()\\n{\\1R 24Q = 4f.1H + 1HP;\\11u = 11o * 1m(4f.1H, 1.0);\\1R 18U = 7s.1H / 5b9;\\1P 6r = 1rA * 1m(18U.1H, 1.0);\\1r 1i7 = 1.0;\\1r 1mI;\\1r 1Ob = 2b8(6r.1H, 1mI);\\6QJ(1Ob, 4m, 1i7);\\2jz = 1i7;\\n}\\n";q.6QI="3Q 1m 4f;\\2J 1w 7s;\\1J 1m 6r;\\1J 1m 2Uo;\\n#1z 1wc\\1J 1m 8l;\\n#1u\\1B 5w 1rA;\\1B 1w 2jy;\\1B 1w 3b;\\1B 1w 1HP;\\2s 2k()\\n{\\1R 24Q = 4f.1H + 1HP;\\1R 3h = 1w((24Q.x-0.5)*2jy.x, (24Q.y-0.5)*2jy.y, 24Q.z*2jy.z);\\5b8 = 3b * 3h;\\n#1z 1wc\\3EK.1H = 3h;\\3EK.w = 0.0;\\n#1u\\11u = 11o * 1m(3h, 1.0);\\2Un = 1rA*1m(24Q.1H, 1.0);\\5b7 = 1rA*1m(7s + 1HP, 1.0);\\n}\\n";q.6QH="2n 2v 3fn;\\1B 2v 1KT;\\1B 1m 2te;\\1B 1m 1HO;\\1B 1o 2FY;\\1B 1o 3fp;\\1B 1o 3fm;\\1B 1o 1L0;\\1B 1o 3fo;\\10I 16E(1cK 5y)\\n{\\10I 2q = 1bi(5y);\\1r 6q = 2jx * 3fp;\\1r 1ay = 1V(1.0, (1h(5y.11E) / 5b6.0) * 2FY * 3fo);\\1r 1Xt = 1Y(3fn, 5y.st).r;\\1P 1ul = 2jo(1KT, 5y.st * 2FY, 6q, 0.0);\\1R 1i6 = 1ul.1H * 1w(1.0, 1.0, (1.0 / 3fm));\\1Cq.xy /= 1ay;\\1Cq = 3T(1w(0.0, 0.0, 50.0), 1i6, 1Xt);\\1Cq = 1T(1i6);\\1r 2td = 2Y(2A(1i6, 1w(0.0, 0.0, 1.0)), 0.0, 1.0);\\10H.2O = 3T(1HO.a, 2te.a, 1Xt) * 1Xt;\\10H.8t = 3T(1HO.2y, 2te.2y, 1Xt);\\10H.8t += (0.1 * 2td);\\10H.8t = 2q.8t;\\10H.2U = 1T(5y.1p2 * 1i6);\\10H.16C = 1L0;\\10H.1rk = 10.0;\\2j 2q;\\n}\\n";q.6QG="2n 2v 3EJ;\\1B 2v 5b2;\\1B 2v 1p7;\\1B 1o 1mM;\\1B 1o 5b1;\\1B 1o 5b3;\\1B 1o 5b5;\\1J 1v 6r;\\2s 2k()\\n{\\1P p = 1Y(3EJ, 6r);\\1U (p.w > 0.0 && 5b5 > 0.5)\\n{\\1P 5b4 = 1Y(1p7, p.xy);\\2u v = 5b4.xy;\\nv = (v - 0.5) * 2.0;\\np.z = 1h(v);\\np.xy += v * 1mM / 3fl.0 * 5b3;\\np.xy = 8N(p.xy);\\n}\\5L\\n{\\np = 1Y(5b2, 8N(6r + 5b1 / 10.0));\\np.z = 0.0;\\np.w = 1.0;\\n}\\3R = 1m(p.1H,1.0);\\n}\\n";q.6QF="3Q 1m 4f;\\1J 1v 6r;\\2s 2k()\\n{\\11u = 4f;\\2Un = (4f.xy+1.0)* 0.5;\\n}\\n";q.6QE="1w 2Um(1w 1uq)\\n{\\4i 14j 3EI = 14j( 3.5b0, -0.5aZ,  0.5aY,\\n-1.5aX,  1.5aW, -0.5aV,\\n-0.5aU,  0.5aT,  1.5aS);\\1R 1H;\\2jw.r = 1uq.r * 1uq.g / 1uq.b;\\2jw.g = 1uq.r;\\2jw.b = 1uq.r * (1.0 - 1uq.g - 1uq.b) / 1uq.b;\\2j 3EI * 1H;\\n}\\n";q.6QD="1w 3EH(1w 1A) {\\1r g = 0.985;\\1r a = 0.3fk;\\1r b = 0.1t2;\\1r c = 0.433;\\1r d = 0.238;\\6p = (1A * (1A + a) - b) / (1A * (g * 1A + c) + d);\\6p = 2Y(1A, 0.0, 1.0);\\2j 1A;\\n}\\n";q.6QC="2n 1o 3fj;\\1B 1o 3fi;\\1B 1o 3fh;\\1B 1o 3fg;\\1B 1o 3ff;\\1R 2bm(1w 1gl)\\n{\\1R 1Cb = 1gl;\\1Cc.2y = 3T(1w(0.0), 1Cb.2y, 3fj);\\1Cc.2y = 3T(1w(0.5), 1Cb.2y, 3fi);\\1Cc.2y = 2jm(1Cb.2y, 3fh);\\1Cc.2y = 24G(1Cb.2y, 3fg);\\1Cc.2y = 3r(1Cb.2y, 1w(3ff));\\2j 1Cb;\\n}\\n";q.6QB="1o 2jv(1o a)\\n{\\1r z = (4u.z - 1Sd[3][2]) / 1Sd[2][2];\\2j 3r(a + 0.11t, 4.0) + 1V(1e-2, 2o(3.0 * 1e3, 0.5aR / (1e-5 + 3r(abs(z) / 200.0, 4.0))));\\n}\\n";q.6QA="1m 1k5(1m 1dT, 1m 1mG, 1m 1aj, 1o 6Y, 1o 2Ul)\\n{\\1r 1Oa = 2Y(6Y / 2Ul, 0.0, 1.0);\\1r 3EG = 2Y((6Y - 0.5) / 2Ul, 0.0, 1.0);\\2Uk = 1Oa * (1.0 - 3EG);\\2Uk = 1Oa * 1Oa * (3.0 - (2.0 * 1Oa));\\2Uk = 3r(1Oa, 0.5);\\1P 3EF = (1dT + 1mG) * 0.5;\\2j 3T(3EF, 1aj, 1Oa);\\n}\\1P 1k5(1m 1dT, 1m 1mG, 1m 1aj, 1o 6Y)\\n{\\2j 1k5(1dT, 1mG, 1aj, 6Y, 0.1);\\n}\\n";q.6Qz="1v 2Uj(1w 2U) {\\1r 3EE = 1KW(3Y(2U.x * 2U.x + 2U.y * 2U.y), 2U.z);\\1r 3ED = 1KW(2U.x, 2U.y);\\2j 1v(3EE, 3ED);\\n}\\n";q.6Qy="1o 15B(7d 1EY, 1o a, 1o b) {\\1r 1rz = 1o(1EY);\\2j a * 1rz + b * (1.0 - 1rz);\\n}\\2u 15B(7d 1EY, 1v a, 1v b) {\\1r 1rz = 1o(1EY);\\2j a * 1rz + b * (1.0 - 1rz);\\n}\\1R 15B(7d 1EY, 1w a, 1w b) {\\1r 1rz = 1o(1EY);\\2j a * 1rz + b * (1.0 - 1rz);\\n}\\1P 15B(7d 1EY, 1m a, 1m b) {\\1r 1rz = 1o(1EY);\\2j a * 1rz + b * (1.0 - 1rz);\\n}\\n";q.6Qx="1m 3EC(1m 1cx)\\n{\\2j 1m(1.0, 0.0, 0.0, 1.0) * 1cx.x +\\1P(0.0, 1.0, 0.0, 1.0) * 1cx.y +\\1P(0.0, 0.0, 1.0, 1.0) * 1cx.z +\\1P(1.0, 0.0, 1.0, 1.0) * 1cx.w;\\n}\\n";q.6Qw="2n 1m 2Ui;\\1r 4gr(1m 1cx)\\n{\\2j 2A(2Ui, 1cx);\\n}\\n";q.6Qv="2n 5w 2Ug[4];\\1Sg 2Uh(1m 1cx)\\n{\\2j 2Ug[0] * 1cx.x +\\2Uf[1] * 1cx.y +\\2Uf[2] * 1cx.z +\\2Uf[3] * 1cx.w;\\n}\\n";q.6Qu="2n 1m 24P[2];\\1P 2Ue(1o 2Ud)\\n{\\1P 3I = 7F(24P[0], 1m(2Ud));\\1P 3W = 7F(2Ud, 24P[1]);\\2j 3I * 3W;\\n}\\n";q.6Qt="#1z 8p\\n#6A 8p : 5F\\n#1u\\1B 1o 1wb;\\1B 1m 1lR[6];\\1B 1m 1Fc;\\4i 1o 2Uc = 3.0;\\1r 2bl(1w 3h, 1w 1gm, 1o 3EB)\\n{\\2j 2A(1gm, 3h) + 3EB;\\n}\\1r 3Ex(1o 1ry, 1m 14u)\\n{\\1r 3s = 0.0;\\1r 4D = -1.0;\\n#1z 1Xs\\3EA = 2bl(14u.1H, 1lR[0].1H, 1lR[0].w);\\1U (3s < 0.0)\\n{\\2j 1.0;\\n}\\5L if (3s < 1ry)\\n{\\19v = 0.0;\\n}\\n#1s\\14D(7P i = 0; i < 6; i++)\\n{\\3EA = 2bl(14u.1H, 1lR[i].1H, 1lR[i].w);\\1U(3s < 0.0)\\n{\\2j 1.0;\\n}\\5L if(3s < 1ry)\\n{\\19v = 0.0;\\n}\\n}\\n#1u\\2j 4D;\\n}\\1r 3Ey(1o 1ry, 1m 14u)\\n{\\1r 4D = 1.0;\\14D(7P i = 0; i < 6; i++)\\n{\\1r 3s = 2bl(14u.1H, 1lR[i].1H, 1lR[i].w);\\1U((3s + 1ry) < 0.0)\\n{\\2j -1.0;\\n}\\5L if(3s < 0.0)\\n{\\19v = 0.0;\\n}\\n}\\2j 4D;\\n}\\1r 3Ew(1o 1ry, 1m 14u)\\n{\\1r 4D = -1.0;\\14D(7P i = 0; i < 6; i++)\\n{\\1r 3s = 2bl(14u.1H, 1lR[i].1H, 1lR[i].w);\\1U(3s < 0.0)\\n{\\2j -1.0;\\n}\\5L if(3s < 1ry)\\n{\\19v = 0.0;\\n}\\n}\\2j 4D;\\n}\\1P 1nT(1m 14u, 1o 3Ez)\\n{\\1U(3Ez < 0.1)\\n{\\2j 1m(1.0);\\n}\\1U(1wb < 0.5)\\n{\\2j 1m(1.0);\\n}\\n#1z 8p\\1r 1dW = abs(1cu(14u.x));\\1r 1dV = abs(1ct(14u.y));\\1r 1ry = 1V(1dW, 1dV) * 2Uc;\\n#1s\\1r 1ry = 2Uc;\\n#1u\\1r 2Ua = 1.0;\\1U(1Fc.a < 0.11t)\\n{\\5aQ = 0.0;\\n}\\1U(1wb < 1.5)\\n{\\2Ub = 3Ey(1ry, 14u);\\n}\\5L if(1wb < 2.5)\\n{\\2Ub = 3Ex(1ry, 14u);\\n}\\5L if(1wb < 3.5)\\n{\\2Ub = 3Ew(1ry, 14u);\\n}\\1U(2Ua < -0.5)\\n{\\10W;\\n}\\5L if(2Ua < 0.5)\\n{\\2j 1Fc;\\n}\\5L\\n{\\2j 1m(1.0);\\n}\\n}\\n";q.6Qs="1m 1Fb(1m 1O9, 1m 3Ev, 1o 6q)\\n{\\1R p = 3T(1O9.1H, 3Ev.1H, 6q);\\2j 1m(p, 1.0);\\n}\\n";q.6Qr="1m 1O8(1w 15C, 1o 1Xr)\\n{\\1U(1Xr > 0.9)\\n{\\2j 1m(1.0);\\n}\\1R 4X = 1T(11b*1ju(15C));\\1R 4p = 1w(9q * 1m(15C,1.0)).1H;\\2j 1Fa(4X, -4p, 15C);\\n}\\n";q.6Qq="1m 2tc(1w 3Eu, 1w 15C, 1o 1Xr)\\n{\\1U(1Xr > 0.9)\\n{\\2j 1m(1.0);\\n}\\1R 4X = 1T(11b*1ju(3Eu));\\1R 4p = 1w(9q * 1m(15C,1.0)).1H;\\2j 1Fa(4X, -4p, 15C);\\n}\\n";q.6Qp="#1z 8p\\n#6A 8p : 5F\\n#1u\\1R 1ju(in 1w 1eQ)\\n{\\1R 2U = 4B(1w(1cu(1eQ.x), 1cu(1eQ.y), 1cu(1eQ.z)), 1w(1ct(1eQ.x), 1ct(1eQ.y), 1ct(1eQ.z)));\\3CX = 1T(2U);\\2j 2U;\\n}\\n";q.6Qo="1m 1nS();\\n";q.6Qn="1v 2tb(1o 8f)\\n{\\2u 8r = 1v(6.5aP-1, 0.0);\\1r 11W = (8f < 0.0) ? -1.0 : 1.0;\\1KZ 5S = 1bG(1.0, 11W, -11W, 1.0);\\1bK = 5S * 8r;\\18p -= 11W * 7.5aO-1;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1r 8H = 11W * 5.1Al-1;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 4.5aN-1;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 2.5e-1;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 2.5aM-1;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.25e-1;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5aL-1;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 6.25e-2;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 6.5aK-2;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 3.5aJ-2;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 3.5aI-2;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5aH-2;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5aG-2;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 7.5aF-3;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 7.5aE-3;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 3.5aD-3;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 3.5aC-3;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5aB-3;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5aA-3;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 9.5az-4;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 9.5ay-4;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 4.5ax-4;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 4.5aw-4;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 2.5av-4;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 2.5au-4;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5at-4;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5as-4;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 6.5ar-5;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 6.5aq-5;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 3.5ap-5;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 3.5ao-5;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5an-5;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5am-5;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 7.5al-6;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 7.5ak-6;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 3.5aj-6;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 3.5ai-6;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5ah-6;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 1.5ag-6;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 9.5af-7;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 9.5ae-7;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 4.5ad-7;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 4.5ac-7;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 2.5ab-7;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\18p -= 11W * 2.5aa-7;\\1cw = (8f < 0.0) ? -1.0 : 1.0;\\1da = 11W * 1.5a9-7;\\12A[0][1] = 8H;\\12A[1][0] = -8H;\\1bK = 5S * 8r;\\2j 8r;\\n}\\2u 4gq(1o 8f)\\n{\\1U (8f < -1Sj || 8f > 1Sj)\\n{\\1U (8f < 0.0)\\n{\\2j -2tb(8f + 1eN);\\n}\\5L\\n{\\2j -2tb(8f - 1eN);\\n}\\n}\\5L\\n{\\2j 2tb(8f);\\n}\\n}\\n";q.6Qm="1v 1mL(1o 1eO)\\n{\\1r 4W = 1eO / 18C.0;\\1r 2U9 = 2t(4W);\\1r 3Et = 2U9 / 2bk.0;\\1r 3Es = (1eO - 2U9 * 18C.0) / 2bk.0;\\2j 1v(3Et, 3Es);\\n}\\n";q.6Ql="XR 1o 4gp = 57.1Xq;\\n";q.6Qk="#1bI 10B\\1J 1o 24z;\\n#1u\\1P 1wa(1m 19t)\\n{\\n#1bI 10B\\4go = (0.5 * (19t.z / 19t.w) + 0.5) * 19t.w;\\1xM.z = 2o(19t.z, 19t.w);\\n#1u\\2j 19t;\\n}\\n";q.6Qj="XR 2FX 1dx = 2FX(0.0, 1.0);\\n";q.6Qi="1NV 2FX\\n{\\1r 3I;\\1r 3W;\\n};\\n";q.6Qh="XR 1w 3Eq = 1w(0.8);\\4i 1w 3En = 1w(0.0);\\1B 1w 3fb;\\1B 1o 24O;\\1B 1m 1Aj;\\1B 1m 15a;\\1B 1m 2ta;\\1B 1o 2U8;\\4i 1w 16C = 1w(0.5a8);\\4i 1o 2bj = 30.0;\\1r 3Er( in 1o a ) { 1f 2Y( a, 0.0, 1.0 ); }\\1r 1KY( 1o 1up, 1o 1O7, 1o 1Xp ) {\\1U ( 1Xp > 0.0 ) {\\2j 3r( 3Er( 1.0 - 1up / 1O7 ), 1Xp );\\n}\\2j 1.0;\\n}\\n#if 1dY > 0\\1B 1w 24M[1dY];\\1B 1w 1Sr[1dY];\\1B 1w 1w9[1dY];\\n#1u\\n#if 19w > 0\\1B 1w 3fc[ 19w ];\\1B 1w 1Sq[ 19w ];\\1B 1w 24L[ 19w ];\\1B 1w 3fd[ 19w ];\\1B 1o 2t9[ 19w ];\\1B 1m 1p6[ 19w ];\\n#1u\\n#if 1gn > 0\\1B 1w 3fe[ 1gn ];\\1B 1w 24N[ 1gn];\\n#1u\\1P 1Fa(1w 4X, 1w 11E, 1w 15C)\\n{\\1R 3Ee = 1w(0.0);\\1R 3Ed = 1w(0.0);\\1r 3Ep = 1V( 2A( 4X, 1t3 ), 0.0 );\\1r 3Eo = 1V( 2A( 4X, 1w(0.0,0.0,1.0) ), 0.0 );\\2t8 = 3Eq * 3Ep * 24O + 3Eo * 3En;\\1R 2U3 = 1T(11E);\\n#if 1gn > 0\\14D ( 7P i = 0; i < 1gn; i ++ )\\n{\\1R 3Em = 1T((1p3 * 1m(3fe[ i ], 0.0)).1H);\\1r 1Xo = 2A( 4X, 3Em );\\1r 3El = 1V( 1Xo, 0.0 );\\2t8 += 24N[ i ] * 3El;\\n}\\n#1u\\n#if 1dY > 0\\14D ( 7P i = 0; i < 1dY; i ++ )\\n{\\1U(1w9[i].z < 0.17I)\\n{\\1HN;\\n}\\1R 1cL = 24M[i] + 11E;\\1r 2U7 = 1h( 1cL );\\1r 2U6 = 1w9[i].x;\\1U(2U7 > 2U6)\\n{\\1HN;\\n}\\1r 1iM = 1KY( 2U7, 2U6, 1w9[i].y);\\3Ei = 1T( 1cL );\\1r 1Xo = 2A( 4X, 1cL );\\1r 2U4 = 1V( 1Xo, 0.0 );\\2t8 += 1Sr[i] * 2U4 * 1iM;\\1R 2U5 = 1T( 1cL + 2U3 );\\1r 3Ek = 1V( 2A( 4X, 2U5 ), 0.0 );\\1r 3Ej = 1V( 3r( 3Ek, 2bj ), 0.0 );\\1r 2t6 = ( 2bj + 2.0 ) / 8.0;\\1R 2t7 = 16C + 1w( 1.0 - 16C ) * 3r( 1V( 1.0 - 2A( 1cL, 2U5 ), 0.0 ), 5.0 );\\3Eg += 2t7 * 1Sr[ i ] * 3Ej * 2U4 * 1iM * 2t6;\\n}\\n#1u\\n#if 19w > 0\\1R 6K = (1Cp * 1m(15C, 1.0)).1H;\\14D ( 7P i = 0; i < 19w; i ++ )\\n{\\1U(1p6[i].w < 0.17I)\\n{\\1HN;\\n}\\1R 1cL = 24L[i] + 11E;\\1r 1iM = 1KY( 1h( 1cL ), 1p6[i].x, 1p6[i].y);\\3Ei = 1T( 1cL );\\1r 1Ak = 2A( 3fd[ i ], 1T( 3fc[ i ] - 6K ) );\\1U ( 1Ak > 1p6[i].z ) {\\5a7 = 1V( 3r( 1V( 1Ak, 0.0 ), 2t9[ i ] ), 0.0 );\\1r 1Xo = 2A( 4X, 1cL );\\1r 2U1 = 1V( 1Xo, 0.0 );\\2t8 += 1Sq[ i ] * 2U1 * 1iM * 1Ak;\\1R 2U2 = 1T( 1cL + 2U3 );\\1r 3Eh = 1V( 2A( 4X, 2U2 ), 0.0 );\\1r 3Ef = 1V( 3r( 3Eh, 2bj ), 0.0 );\\1r 2t6 = ( 2bj + 2.0 ) / 8.0;\\1R 2t7 = 16C + 1w( 1.0 - 16C ) * 3r( 1V( 1.0 - 2A( 1cL, 2U2 ), 0.0 ), 5.0 );\\3Eg += 2t7 * 1Sq[ i ] * 3Ef * 2U1 * 1iM * 2t6 * 1Ak;\\n}\\n}\\n#1u\\1P 1A = 1m(15a.2y * (3Ee + 3fb * 1Aj.2y) + 3Ed, 15a.a);\\2j 1A;\\n}\\n";q.6Qg="14j 1Sp(1w 15C, 1w 4X)\\n{\\1R 3Ec = 1T(1w(-15C.y, 15C.x, 0.0));\\1R 1X7 = 1T(1Xn * 3Ec);\\1R 2b0 = 1T(4B(4X, 1X7));\\2j 14j(\\5a6.x,   1X7.y,   1X7.z,\\5a5.x, 2b0.y, 2b0.z,\\1rx.x,    4X.y,    4X.z);\\n}\\n";q.6Qf="1NV 1Xh\\n{\\1R 2V;\\1R 10N;\\1R 1Ch;\\1R 2b4;\\n};\\n";q.6Qe="7d 4gn(1w 1Cg, 1w 7v)\\n{\\1R 2t5 = 1Cg * (1Xe * 1m(7v, 1.0)).1H;\\2j (2A(2t5, 2t5) <= 1.0);\\n}\\n";q.6Qd="XR 1w 2FW = 1w(1.0 / 16t.0, 1.0 / 16t.0, 1.0 / 2bi.3Eb);\\n";q.6Qc="1Xh 4gm(1w 2V, 1w 10N)\\n{\\1R 1Ch = 1w(1.0 / 10N.x, 1.0 / 10N.y, 1.0 / 10N.z);\\1R 2b4 = 1Ch * 1Ch;\\3DG 4W = 1Xh(2V, 10N, 1Ch, 2b4);\\2j 4W;\\n}\\n";q.6Qb="XR 1w 4gl = 1w(16t.0, 16t.0, 2bi.3Eb);\\n";q.6Qa="1v 2bh(1w 2U)\\n{\\2j 1v(16D(2U.y, 2U.x) * 3eY + 0.5, 17M(2U.z) * 3eZ + 0.5);\\n}\\n";q.6Q9="XR 1o 1jt = 0.1;\\n";q.6Q8="XR 1o 3f3 = 0.11t;\\n";q.6Q7="XR 1o 3Ea = 0.17I;\\n";q.6Q6="XR 1o 4gk = 0.1t2;\\n";q.6Q5="XR 1o 3fa = 0.1Ai;\\n";q.6Q4="XR 1o 4gj = 0.1F8;\\n";q.6Q3="XR 1o 1bg = 0.1KX;\\n";q.6Q2="7d 1dX(1m 3B, 1m 2W, 1o 1fk) {\\2j all(1Xm(abs(3B - 2W), 1m(1fk)));\\n}\\166 1dX(1w 3B, 1w 2W, 1o 1fk) {\\2j all(1Xm(abs(3B - 2W), 1w(1fk)));\\n}\\166 1dX(1v 3B, 1v 2W, 1o 1fk) {\\2j all(1Xm(abs(3B - 2W), 1v(1fk)));\\n}\\166 1dX(1o 3B, 1o 2W, 1o 1fk) {\\2j (abs(3B - 2W) <= 1fk);\\n}\\n";q.6Q1="2n 2v 2FV;\\1B 1o 3f8;\\1B 1m 3f9;\\1J 1m 1rw;\\2u 3E9(1m 6v, 1m 1mK, 9H 1o 2bg)\\n{\\2u 1Co = 1v(1mK.z - 1mK.x, 1mK.w - 1mK.y);\\2u 4M = 1v(6v.x - 1mK.x, 6v.y - 1mK.y);\\1So.x = 4M.x / 1Co.x;\\1So.y = 4M.y / 1Co.y;\\5a4 = 7F(0.0, 4M.x) * 7F(0.0, 4M.y) * 7F(0.0, 1.0 - 4M.x) * 7F(0.0, 1.0 - 4M.y);\\1So = 2Y(4M, 1v(0.0), 1v(1.0));\\2j 4M;\\n}\\166 1F9()\\n{\\1r 2U0 = 1.0;\\2u 2TY = 3E9(1rw, 3f9, 2U0);\\166 2TZ = (3f8 < 0.5);\\1U(2U0 < 0.1)\\n{\\2j !2TZ;\\n}\\1U(2TZ)\\n{\\2j 1Y(2FV, 2TY.xy).r > 0.5;\\n}\\5L\\n{\\2j 1Y(2FV, 2TY.xy).r < 0.5;\\n}\\n}\\n";q.6Q0="1m 2FU(1m 4p, 1w 19V)\\n{\\1P p = 4p;\\1P 2TX = 1T(p) * 19V.z;\\np.xy += 19V.xy + 2TX.xy;\\np.z += 2TX.z;\\2j p;\\n}\\n";q.6PZ="1m 18a(1m 4p)\\n{\\1P q = 17B * 4p;\\nq.1H /= q.w;\\nq.1H = (1Sd * 1m(q.1H, 1.0)).1H;\\2j q;\\n}\\n";q.6PY="1o 1KW(1o x) {\\2j x * (-0.4gi * x - 0.4gh * x * x + 1.4gg);\\n}\\1r 1KW(1o x, 1o y) {\\1r t = abs(x);\\1r 2bf = abs(y);\\1r 3E8 = 1V(t, 2bf);\\5a3 = 2o(t, 2bf);\\nt = 1KW(2bf / 3E8);\\nt = 15B(abs(y) > abs(x), 1Sj - t, t);\\nt = 15B(x < 0.0, 1eN - t, t);\\nt = 15B(y < 0.0, -t, t);\\2j t;\\n}\\n";q.6PX="1w 2ju(1o 1w8, 1w 1A, 1w 1xR)\\n{\\1r 1iL = 1w8 * 3f7;\\1r 1ep = 1.0 - 108(-(1iL * 1iL));\\2j 3T(1A, 1xR, 1ep);\\n}\\1R 2ju(1o 1w8, 1w 1A, 1w 1xR, 1o 2t4)\\n{\\1r 1iL = 1w8 * 3f7;\\1r 1ep = 1.0 - 108(-((2t4 * 1iL + 2t4) * (1iL * (1.0 + 2t4))));\\2j 3T(1A, 1xR, 1ep);\\n}\\n";q.6PW="1w 9D(1w 1A) {\\n#1z 1js\\6p = 3r(1A, 1w(2FS));\\n#1u\\2j 1A;\\n}\\1P 9D(1m 1A) {\\n#1z 1js\\6p.2y = 3r(1A.2y, 1w(2FS));\\n#1u\\2j 1A;\\n}\\n";q.6PV="1w 2be(1w 3E7, 1w 1Ah, 1w 3E5)\\n{\\2j 1T((3E7 - 1Ah) * 3E5);\\n}\\n";q.6PU="1Ad 1bi(1cK 5y)\\n{\\10I 2q;\\10H.8t = 1w(0.0);\\10H.16C = 0.0;\\10H.1rk = 1.0;\\10H.2U = 5y.4X;\\10H.17Y = 1w(0.0);\\10H.2O = 1.0;\\2j 2q;\\n}\\n";q.6PT="2n 1o 3f6;\\1B 1m 3f5;\\1r 3E4(1o 14M)\\n{\\1r 1mJ = 3f6;\\1r 1dW = abs(1cu(14M));\\1r 1dV = abs(1ct(14M));\\1r dF = 1V(1dW, 1dV);\\2j (abs(1mJ-14M) < dF) ? 1.0 : 0.0;\\n}\\1P 2t3(1m 1cv, 1o 14M)\\n{\\1r 17Z = 3E4(14M);\\2j 3T(1cv,3f5, 17Z);\\n}\\n";q.6PS="2n 2v 1kS;\\1B 2v 1p5;\\1B 1o 1jr;\\1B 1o 1t1;\\1B 1m 1hA;\\1B 1o 16R;\\1B 1o 1dw;\\1B 1o 1kT;\\1B 1o 1fO;\\1B 1o 1jq;\\1B 1o 1kQ;\\1J 1v 2bc;\\1B 1o 24K;\\1B 1m 1Sm;\\n#1z 1Cj\\1J 1w 2t2;\\1B 1o 1Sn;\\1B 1o 2js;\\1B 1o 3f4;\\n#1u\\n#1z 1Xl\\1B 1o 1Sn;\\1B 1o 2js;\\1B 1o 1rr;\\n#1u\\1r 1k4(1o 14M)\\n{\\1r 1mJ = 13R(14M - 0.2jt, 1t1);\\1r 1dW = abs(1cu(14M));\\1r 1dV = abs(1ct(14M));\\1r dF = 1V(1dW, 1dV);\\2j (1mJ < dF) ? 1.0 : 0.0;\\n}\\1P 1fj(1o 14M)\\n{\\1r 19U = 2Y(abs(1kT - 1dw), 0.1F8, 1F7.0);\\1r 1i5 = (14M - 1dw) / 19U;\\1r 1eP = 2Y(1i5, 0.0, 1.0);\\1r 7Z = 2t(1eP * 16.0);\\1r y = (7Z*2.0 + 1.0)/32.0;\\1r x = 8N(1eP*16.0);\\1U(y > 1.0)\\n{\\nx = 1.0;\\n}\\2u 1kR = 1v(x, y);\\2j 1Y(1kS, 1kR).15A;\\n}\\n#1z 1Xl\\1P 2bb(1m 1cv, 1m 1rv)\\n{\\1U(1rr > 0.5)\\n{\\1P 1bJ = 1rv * 1cv;\\1U(24K > 0.5)\\n{\\1un = 1rv;\\n}\\2j 1bJ;\\n}\\1P 1aA = 1m(0.0);\\1r 17Z = 1jr;\\1r 1mI = 1rv.a;\\1r 2t1 = 2Y(2sS(1rv.3E2),0.0,1.0);\\1r 14M;\\1U(1mI > 0.5)\\n{\\2bd = 1Sn + 2t1 * (2js - 1Sn);\\n}\\5L\\n{\\2bd = 1fO + 1.0;\\n}\\1U(14M > 1fO || 14M < 1jq)\\n{\\2j 1Sm * 1cv;\\n}\\n#1z 8p\\1U(16R > 2.9)\\n{\\1r 1uo = 1k4(14M);\\1Cm = 3T(1fj(14M), 1hA, 1uo);\\n}\\5L if(16R > 1.9)\\n{\\1Cl = 1k4(14M);\\1Cm = 1hA;\\n}\\5L if(16R > 0.9)\\n#1s\\1U(16R > 0.9)\\n#1u\\n{\\1Cm = 1fj(14M);\\n}\\5L\\n{\\1Cl = 0.0;\\n}\\1P 1gW = 3T(1m(1.0,1.0,1.0,1.0), 1aA, 17Z);\\1P 1bJ = 1gW * 1cv;\\n#1z 2t0\\1un = 1gW;\\n#1u\\1U(24K > 0.5)\\n{\\1un = 1gW;\\n}\\2j 1bJ;\\n}\\n#1s\\1P 2bb(1m 1cv, 1o 14M)\\n{\\1P 1aA = 1m(0.0);\\1r 17Z = 1jr;\\n#1z 1Cj\\1R 1Cn = 2t2;\\1U((1Cn.x < 1.0 && 1Cn.x >0.0) && (1Cn.y < 1.0 && 1Cn.y >0.0) && (1Cn.z < 1.0 && 1Cn.z >0.0))\\n{\\1U(3f4 > 0.5)\\n{\\1P 1O2 = 3DP(1Cn);\\1U(24K > 0.5)\\n{\\2TW = 1O2 * 1cv;\\n}\\2j 1O2;\\n}\\1r 1mI;\\1r 2t1 = 2b8(1Cn, 1mI);\\1U(1mI > 0.5)\\n{\\2bd = 1Sn + 2t1 * (2js - 1Sn);\\n}\\5L\\n{\\2bd = 1fO + 1.0;\\n}\\n}\\5L\\n{\\2bd = 1fO + 1.0;\\n}\\n#1u\\1U(14M > 1fO || 14M < 1jq)\\n{\\2j 1Sm * 1cv;\\n}\\n#1z 8p\\1U(16R > 2.9)\\n{\\1r 1uo = 1k4(14M);\\1Cm = 3T(1fj(14M), 1hA, 1uo);\\n}\\5L if(16R > 1.9)\\n{\\1Cl = 1k4(14M);\\1Cm = 1hA;\\n}\\5L if(16R > 0.9)\\n#1s\\1U(16R > 0.9)\\n#1u\\n{\\1Cm = 1fj(14M);\\n}\\5L\\n{\\1Cl = 0.0;\\n}\\1P 1gW = 3T(1m(1.0,1.0,1.0,1.0), 1aA, 17Z);\\1P 1bJ = 3T(1cv, 1aA, 17Z);\\n#1z 2t0\\1un = 1gW;\\n#1u\\n#1z 1Cj\\1U(24K > 0.5)\\n{\\1un = 1gW;\\n}\\n#1u\\2j 1bJ;\\n}\\n#1u\\n#1z 1Xl\\1P 1KV(1m 1cv, 1m 1rv)\\n{\\1U(1kQ > 0.1)\\n{\\1P 1p4 = 1Y(1p5, 2bc);\\1U(1p4.r < 0.1)\\n{\\2j 1cv;\\n}\\n}\\2j 2bb(1cv, 1rv);\\n}\\n#1s\\1P 1KV(1m 1cv, 1o 1bh)\\n{\\1r 14M = 1bh;\\1U(1kQ > 0.1)\\n{\\1P 1p4 = 1Y(1p5, 2bc);\\1U(1p4.r < 0.1)\\n{\\2j 1cv;\\n}\\n}\\2j 2bb(1cv, 14M);\\n}\\1P 5a2(1m 1cv, 1o 1bh, 1m 1Sl, 1v 6r, 1m 1rt)\\n{\\1U(1kQ > 0.1)\\n{\\2u 8G = 6r.xy;\\1ru.x = 8G.x * (1rt.z - 1rt.x) + 1rt.x;\\1ru.y = 8G.y * (1rt.w - 1rt.y) + 1rt.y;\\1U(8G.x < 1Sl.x || 8G.x>1Sl.z || 8G.y< 1Sl.y || 8G.y > 1Sl.w)\\n{\\2j 1cv;\\n}\\1P 1p4 = 1Y(1p5, 8G);\\1U(1p4.r < 0.1)\\n{\\2j 1cv;\\n}\\n}\\2j 2bb(1cv, 1bh);\\n}\\n#1u\\n";q.6PR="1o 1Ca(1w 1jo, 1w 4X)\\n{\\2j 1V(2A(1jo, 4X), 0.0);\\n}\\n";q.6PQ="1o 24B(1w 1jo, 1w 2sI, 1w 4X, 1o 1rk)\\n{\\1R 3E1 = 1Ck(-1jo, 4X);\\1r 16C = 1V(2A(3E1, 2sI), 0.0);\\2j 3r(16C, 1V(1rk, 3f3));\\n}\\n";q.6PP="2n 1v 2jq;\\2s 5a1(in 1v 1O5, in 1o 2TV, in 1o 3E0, 1du 1o 1dU)\\n{\\2u dx = 1cu(1O5 * 2TV);\\2u dy = 1ct(1O5 * 2TV);\\1r 2TU = 2A(dx, dx);\\1r 2TT = 2A(dy, dy);\\1r 2sZ = 1V(2TU, 2TT);\\1r 2sY = 2o(2TU, 2TT);\\1r 2M = (2sZ - 2sY) / (2sZ + 2sY);\\1Xk = 2Y(2M, 0.0, 1.0);\\1r d = 2sZ * (1.0 - 2M) + 2sY * 2M;\\1O6 = 0.5 * 1iK(d);\\1O6 = 2Y(1dU, 0.0, 3E0 - 1.62);\\n}\\2s 5a0(in 1w 1O5, in 1o 3b, in 1o 2TP, in 1o 2TO, in 1o 3DZ, in 1o 1dU, 1du 1v 1w7)\\n{\\1U(1O5.z < -2ss.0)\\n{\\1Xi = 1O5.xy;\\n}\\5L\\n{\\2u 2sX = 8N(1O5.xy);\\1r 2M = 1.0 * 3r(2.0, 1dU) / 3DZ;\\59Z = 2Y(2sX, 2M, 1.0 - 2M);\\1Xi.x = (2sX.x + 2TP) * 3b;\\1Xi.y = (2sX.y + 2TO) * 3b;\\n}\\n}\\1P 2jr(2v 1O4, 1w 1Xj, 1o 2TS, 1o 3DY, 1o 2b9, 1v 2ba,1o 2TN, 9H 1v 1w7)\\n{\\1P 1A = 1m(1.0);\\1r 1dU = 0.0;\\n#1z 8p\\59Y(1Xj.xy, 2TS, 3DY, 1dU);\\n#1u\\2u 18U;\\59X(1Xj, 2b9, 2ba.x, 2ba.y, 2TS, 1dU, 18U);\\1U(2TN > 0.5)\\n{\\2u 2sW;\\2TR.x = (18U.x + 2ba.x * 2b9) * 0.5;\\2TR.y = (18U.y + 2ba.y * 2b9) * 0.5;\\2TR.xy += 2jq;\\6p = 1Y(1O4, 2sW.xy, -10.0);\\2u 3DX;\\2TQ.x = 2sW.x;\\2TQ.y = 2sW.y + 2b9 * 0.5;\\2TQ.xy += 2jq;\\6p.a = 1Y(1O4, 3DX.xy, -10.0).r;\\n}\\5L\\n{\\59W.xy += 2jq;\\1U(1Xj.z < -2ss.0)\\n{\\6p = 1Y(1O4, 18U.xy);\\n}\\5L\\n{\\n#1z 2jp\\6p = 59V(1O4, 18U.xy, 1dU);\\n#1s\\n#1z 4gf\\6p = 59U(1O4, 18U.xy, 1dU);\\n#1s\\6p = 1Y(1O4, 18U.xy, 1dU);\\n#1u\\n#1u\\n}\\n#1z 2sV\\6p = 1A.59T;\\n#1u\\n}\\1Xi = 18U;\\2j 1A;\\n}\\n";q.6PO="XR 1o 16P = 256.0;\\4i 1o 16s = 1.0 / 256.0;\\4i 1o 3DW = 1.0 / 16.0;\\4i 1o 3DV = 16.0;\\2s 2FT(in 1o nZ, 1du 1o 2TP, 1du 1o 2TO, 1du 1o 3b, 1du 1o 2TN)\\n{\\1U(nZ <= 0.0)\\n{\\2j;\\n}\\1r 2sU = 2t(nZ * 16s);\\1r 2sT = 2t(2sU * 16s);\\1r 2TM = 2t(2sT * 3DW);\\59S = 2t(2TM);\\59R = nZ - 2sU * 16P;\\59Q = 2sU - 2sT * 16P;\\1r 3DT = 2sT - 2TM * 3DV;\\3DU = 1.0 / 3r(2.0, 3DT);\\n}\\n";q.6PN="2n 2v 1KU;\\n#1z 2TH\\1B 2v 3f2;\\1B 1o 3f1;\\n#1u\\n#1z 1Cj\\1B 1o 1G;\\1B 1o 1D;\\1B 1o 4e;\\1B 1o 1um;\\1B 1o 1HM;\\1B 1o 1HL;\\1B 1o 1rr;\\n#1u\\1r 2sS(1w 2sv)\\n{\\2j 2A(2sv, 1w(1.0, 1.0 / 255.0, 1.0 / 1C7.0));\\n}\\n#1z 1Cj\\2u 2TI(1w 4M, 1o 1Ci)\\n{\\1r 1rs = 2t((1Ci+0.25/1um) / 1um);\\1r 1qc = 1Ci - 1rs * 1um;\\1r 3DR = (4M.y * 1D + 1rs * 1HM) / 1HL;\\1r 3DS = (4M.x * 1G + 1qc * 1HM) / 1HL;\\2j 1v(3DS, 3DR);\\n}\\1r 2TG(2v 2TL, 1v 2b7, 1v 2b6, 1o 1iJ, 9H 1o 1mI)\\n{\\1P 2sR = 1Y(2TL, 2b7);\\1P 2sQ = 1Y(2TL, 2b6);\\1r 2TK = 2Y(2sS(2sR.1H),0.0,1.0);\\1r 2TJ = 2Y(2sS(2sQ.1H),0.0,1.0);\\1U(1rr >0.5)\\n{\\1U(1iJ<0.5)\\n{\\2sP = 0.0;\\n}\\5L\\n{\\2sP = 1.0;\\n}\\n}\\59P = 3T(2sR.a, 2sQ.a, 1iJ);\\1U(2sR.a < 0.5)\\n{\\59O = 2TJ;\\n}\\1U(2sQ.a < 0.5)\\n{\\59N = 2TK;\\n}\\2j 3T(2TK, 2TJ, 1iJ);\\n}\\1r 2b8(1w 4M, 9H 1o 1mI)\\n{\\1r 1Ci = (4e - 1.0) * 4M.z;\\1r 1O3= 2t(1Ci);\\1r 1i4 = 1O3 + 1.0;\\1r 1iJ = 1i4 - 1Ci;\\2u 2b7 = 2TI(4M, 1i4);\\2u 2b6 = 2TI(4M, 1O3);\\1r 2TF = 2TG(1KU, 2b7, 2b6, 1iJ, 1mI);\\n#1z 2TH\\1r 3DQ = 2TG(3f2, 2b7, 2b6, 1iJ, 1mI);\\59M = 3T(2TF, 3DQ, 3f1);\\n#1u\\2j 2TF;\\n}\\1P 3DP(1w 4M)\\n{\\1r 1Ci = (4e - 1.0) * 4M.z;\\1r 1O3= 2t(1Ci);\\1r 1i4 = 1O3 + 1.0;\\1r 1iJ = 1i4 - 1Ci;\\1r 2TE = 2t((1i4+0.25/1um) / 1um);\\1r 3DO = 1i4 - 2TE * 1um;\\1r 3DM = (4M.y * 1D + 2TE * 1HM)/1HL;\\1r 3DN = (4M.x * 1G + 3DO * 1HM)/1HL;\\1P 3DI = 1Y(1KU, 1v(3DN,3DM));\\1r 2TD = 2t((1O3+0.25/1um) / 1um);\\1r 3DL = 1O3 - 2TD * 1um;\\1r 3DJ = (4M.y * 1D + 2TD * 1HM)/1HL;\\1r 3DK = (4M.x * 1G + 3DL * 1HM)/1HL;\\1P 3DH = 1Y(1KU, 1v(3DK, 3DJ));\\1U(1rr >0.5)\\n{\\1U(1iJ<0.5)\\n{\\2sP = 0.0;\\n}\\5L\\n{\\2sP = 1.0;\\n}\\n}\\1P 1O2 = 3T(3DI, 3DH, 1iJ);\\2j 1O2;\\n}\\n#1u\\n";q.6PM="1m 2jo(2v 1KT, 1v uv, 1o 6q, 1o 2TC)\\n{\\1r 1ai = 3i(2TC);\\1r 1gV = 2T(2TC);\\2u s0 = 1v(1.0/17.0, 0.0);\\2u s1 = 1v(-1.0/29.0, 0.0);\\2u s2 = 1v(1.0/101.0, 1.0/59.0);\\2u s3 = 1v(-1.0/109.0, -1.0/57.0);\\1O1 = 1v((1ai * s0.x) - (1gV * s0.y), (1gV * s0.x) + (1ai * s0.y));\\59L = 1v((1ai * s1.x) - (1gV * s1.y), (1gV * s1.x) + (1ai * s1.y));\\59K = 1v((1ai * s2.x) - (1gV * s2.y), (1gV * s2.x) + (1ai * s2.y));\\59J = 1v((1ai * s3.x) - (1gV * s3.y), (1gV * s3.x) + (1ai * s3.y));\\2u 2jn = (uv/103.0) + (6q * s0);\\2u 2b5 = uv/107.0 + (6q * s1) + 1v(0.23);\\2u 1O0 = uv/1v(897.0, 983.0) + (6q * s2) + 1v(0.51);\\2u 1NZ = uv/1v(991.0, 877.0) + (6q * s3) + 1v(0.71);\\59I = 8N(2jn);\\59H = 8N(2b5);\\59G = 8N(1O0);\\59F = 8N(1NZ);\\1P 1ul = (1Y(1KT, 2jn)) +\\n(1Y(1KT, 2b5)) +\\n(1Y(1KT, 1O0)) +\\n(1Y(1KT, 1NZ));\\2j ((1ul / 4.0) - 0.5) * 2.0;\\n}\\n";q.6PL="1Xh 2TB()\\n{\\1R 10N = 1w(16t.0, 16t.0, 16t.0);\\1R 1Ch = 1w(1.0 / 10N.x, 1.0 / 10N.y, 1.0 / 10N.z);\\1R 2b4 = 1Ch * 1Ch;\\3DG 4W = 1Xh(1p3[3].1H, 10N, 1Ch, 2b4);\\2j 4W;\\n}\\n";q.6PK="1w 2jm(1w 2y, 1o 2sC)\\n{\\4i 14j 3DF = 14j(0.299,     0.587,     0.114,\\n0.59E, -0.59D, -0.59C,\\n0.59B, -0.59A,  0.59z);\\4i 14j 3DE = 14j(1.0,  0.59y,  0.59x,\\n1.0, -0.59w, -0.59v,\\n1.0, -1.107,   1.59u);\\1R 1HK = 3DF * 2y;\\1r 1lQ = 16D(1HK.z, 1HK.y) + 2sC;\\1r 2TA = 3Y(1HK.z * 1HK.z + 1HK.y * 1HK.y);\\1R 1A = 1w(1HK.x, 2TA * 3i(1lQ), 2TA * 2T(1lQ));\\2j 3DE * 1A;\\n}\\n";q.6PJ="XR 1o 1Af = 59t.0;\\n";q.6PI="1w 1Xg(1w 1A) {\\2j 3r(1A, 1w(1.0 / 2FS));\\n}\\n";q.6PH="7d 2sO(1nQ 18B)\\n{\\2j (18B.4U < 0.0);\\n}\\n";q.6PG="7d 4ge(1nQ 18B)\\n{\\2j (18B.4I == 0.0 && 18B.4U == 1Af);\\n}\\n";q.6PF="1o 3f0(1o 4k, 1o 2sN, 1o 2sM)\\n{\\1r 2Tz = 2T(4k);\\1r 3DD = 0.5 * 7k((1.0 + 2Tz) / (1.0 - 2Tz));\\2j (3DD - 2sN) * 2sM;\\n}\\n";q.6PE="1o 1Ag(1v 1rq, 1v 1Xf, 1v 7v) {\\2j abs((1Xf.y - 1rq.y) * 7v.x - (1Xf.x - 1rq.x) * 7v.y + 1Xf.x * 1rq.y - 1Xf.y * 1rq.x) / 3s(1Xf, 1rq);\\n}\\n";q.6PD="1o 2Ty(1w 2y)\\n{\\4i 1w W = 1w(0.1NX, 0.1KS, 0.1NW);\\2j 2A(2y, W);\\n}\\n";q.6PC="1NV 1Ad\\n{\\1R 8t;\\1r 16C;\\1r 1rk;\\1R 2U;\\1R 17Y;\\1r 2O;\\n};\\n";q.6PB="1NV 1cK\\n{\\1r s;\\2u st;\\1R 1F6;\\1R 4X;\\1NS 1p2;\\1R 11E;\\1r 1D;\\1r 1rp;\\n};\\n";q.6PA="1o 1dv(1m 4p, 1o 13S)\\n{\\1r 1G = 9e.z;\\1r 1D = 9e.w;\\1r 2sL;\\1r 3Dy;\\1r 5C = 1q9.x;\\1r 7b = 1q9.y;\\1r 3B = 1q9.z;\\1r 2W = 1q9.w;\\1U (1kO == 1HG || 4gd == 1.0)\\n{\\1r 3DC = 2W - 3B;\\1r 3DB = 5C - 7b;\\3Dz = 3DC / 1G;\\3DA = 3DB / 1D;\\n}\\5L\\n{\\1r 2Tw = -4p.z;\\1r 2Tx = 1.0 / 18z.x;\\1r 2Tv = 5C * 2Tx;\\3DA = 2.0 * 2Tw * 2Tv / 1D;\\59s = 2W * 2Tx;\\3Dz = 2.0 * 2Tw * 2Tv / 1G;\\n}\\2j 1V(2sL, 3Dy) * 13S;\\n}\\1r 1dv(1m 4p)\\n{\\2j 1dv(4p, 1gU);\\n}\\n";q.6Pz="1m 4gc(1m 1K)\\n{\\1P q = 11o * 1K;\\nq.1H /= q.w;\\nq.1H = (1Sd * 1m(q.1H, 1.0)).1H;\\2j q;\\n}\\n";q.6Py="1w 4ga(1w 3B, 1w 2W)\\n{\\4i 1w W = 1w(0.1NX, 0.1KS, 0.1NW);\\1R 15s = 3B * 2W;\\1r 3Dx = 2A(3B, W);\\1r 3Dw = 2A(2W, W);\\1r 3Dv = 2A(15s, W);\\2j ((3Dx + 3Dw) / (2.0 * 3Dv)) * 15s;\\n}\\n";q.6Px="1o 1Sk(1m 1HJ, 1o 3Du)\\n{\\1r 3Ds = 1HJ.y;\\1r 3Dr = 1HJ.w;\\1r 2Tu = 1HJ.x * 1HJ.x;\\1r 3Dt = 1HJ.z * 1HJ.z;\\1r t = (3Du - 2Tu) / (3Dt - 2Tu);\\nt = 3r(2Y(t, 0.0, 1.0), 0.2);\\2j 3T(3Ds, 3Dr, t);\\n}\\n";q.6Pw="1w 1gT(1v 1eO, 1o 11D)\\n{\\1U (1eO.x == 0.0 && 1eO.y == 0.0) {\\2j 1w(0.0, 0.0, 0.0);\\n}\\59r = 1eO / 11D * 2.0 - 1.0;\\1R v = 1w(1eO.x, 1eO.y, 1.0 - abs(1eO.x) - abs(1eO.y));\\1U (v.z < 0.0)\\n{\\nv.xy = (1.0 - abs(v.yx)) * 1lO(v.xy);\\n}\\2j 1T(v);\\n}\\1R 1gT(1v 1eO)\\n{\\2j 1gT(1eO, 255.0);\\n}\\1R 1gT(1o 1eO)\\n{\\1r 4W = 1eO / 256.0;\\1r x = 2t(4W);\\1r y = (4W - x) * 256.0;\\2j 1gT(1v(x, y));\\n}\\2s 1gT(1v 1eO, 9H 1w 59q, 9H 1w 59p, 9H 1w 59o)\\n{\\1r 4W = 1eO.x / 12v.0;\\1r x = 2t(4W);\\1r 3Dq = (4W - x) * 12v.0;\\15L = 1eO.y / 12v.0;\\1r y = 2t(4W);\\1r 3Dp = (4W - y) * 12v.0;\\59n = 1gT(3Dq);\\59m = 1gT(3Dp);\\59l = 1gT(1v(x, y));\\n}\\n";q.6Pv="XR 1o 3eZ = 0.59k;\\n";q.6Pu="XR 1o 3eY = 0.59j;\\n";q.6Pt="1m 1lP(1o 4e)\\n{\\1P 2sK = 1m(1.0, 255.0, 1C7.0, 2FP.0) * 4e;\\3Do = 8N(2sK);\\3Do -= 2sK.59i * 1m(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\\2j 2sK;\\n}\\n";q.6Ps="1m 2sJ(1o 1Q)\\n{\\1r 16P = 256.0;\\1r 16s = 1.0 / 256.0;\\1P 4D;\\19v.a = 255.0;\\1r 1NY = abs(1Q + 2ss.0) * 16s;\\19v.b = (1NY - 2t(1NY)) * 16P;\\59h = 2t(1NY) * 16s;\\19v.g = (1NY - 2t(1NY)) * 16P;\\19v.r = 2t(1NY);\\19v /= 255.0;\\2j 4D;\\n}\\n";q.6Pr="XR 1o 4g9 = 4.0;\\n";q.6Pq="XR 1o 4g8 = 5.0;\\n";q.6Pp="XR 1o 4g7 = 6.0;\\n";q.6Po="XR 1o 4g6 = 7.0;\\n";q.6Pn="XR 1o 4g5 = 1.0;\\n";q.6Pm="XR 1o 4g4 = 0.0;\\n";q.6Pl="XR 1o 4g3 = 2.0;\\n";q.6Pk="XR 1o 4g2 = 4.0;\\n";q.6Pj="XR 1o 4g1 = 12.0;\\n";q.6Pi="XR 1o 4g0 = 20.0;\\n";q.6Ph="XR 1o 4fZ = 3.0;\\n";q.6Pg="XR 1o 3eX = 18.0;\\n";q.6Pf="1o 2sH(1w 1jo, 1Ad 2q)\\n{\\2j 1Ca(1jo, 2q.2U);\\n}\\1r 2Tt(1w 1jo, 1w 2sI, 1Ad 2q)\\n{\\2j 24B(1jo, 2sI, 2q.2U, 2q.1rk);\\n}\\1P 1nR(1w 1HD, 1Ad 2q, 1w 1jo)\\n{\\1r 8t = 2sH(1w(0.0, 0.0, 1.0), 2q);\\1U (1kO == 1F3) {\\2Te += 2sH(1w(0.0, 1.0, 0.0), 2q);\\n}\\1r 16C = 2Tt(1jo, 1HD, 2q);\\1R 1X6 = 2q.8t * 0.5;\\1R 18A = 1X6;\\1R 1A = 18A + 2q.17Y;\\6p += 1X6 * 8t * 1NT;\\6p += 2q.16C * 16C * 1NT;\\2j 1m(1A, 2q.2O);\\n}\\1P 59g(1w 1HD, 1Ad 2q, 1w 1jo)\\n{\\1r 8t = 2sH(1jo, 2q);\\1r 16C = 2Tt(1jo, 1HD, 2q);\\1R 18A = 1w(0.0);\\1R 1A = 18A + 2q.17Y;\\6p += 2q.8t * 8t * 1NT;\\6p += 2q.16C * 16C * 1NT;\\2j 1m(1A, 2q.2O);\\n}\\n";q.6Pe="XR 1o 1eN = 3.24J;\\n";q.6Pd="XR 1o 1qb = 0.59f;\\n";q.6Pc="XR 1o 4fY = 0.59e;\\n";q.6Pb="XR 1o 4fX = 1.59d;\\n";q.6Pa="XR 1o 1Sj = 1.59c;\\n";q.6P9="1o 17c(1m 12w, 1w 7v) {\\2j (2A(12w.1H, 7v) + 12w.w);\\n}\\1r 17c(1w 1gm, 1o 2sG, 1w 7v) {\\2j (2A(1gm, 7v) + 2sG);\\n}\\n";q.6P8="1w 24I(1F5 11j, 1o 6q)\\n{\\2j 11j.9X + (6q * 11j.2G);\\n}\\n";q.6P7="XR 1o 2FR = 0.1qa;\\n";q.6P6="1NV 1F5\\n{\\1R 9X;\\1R 2G;\\n};\\n";q.6P5="1nQ 2b3(1F5 11j, 1w 1Xd, 1w 1Cg)\\n{\\1R q = 1Cg * (1Xe * 1m(11j.9X, 1.0)).1H;\\1R w = 1Cg * (1Xe * 1m(11j.2G, 0.0)).1H;\\nq = q - 1Cg * (1Xe * 1m(1Xd, 1.0)).1H;\\1r q2 = 2A(q, q);\\1r qw = 2A(q, w);\\1U (q2 > 1.0)\\n{\\1U (qw >= 0.0)\\n{\\2j 2sF;\\n}\\5L\\n{\\1r 2Ts = qw * qw;\\1r 1Xc = q2 - 1.0;\\1r w2 = 2A(w, w);\\1r 1Xb = w2 * 1Xc;\\1U (2Ts < 1Xb)\\n{\\2j 2sF;\\n}\\5L if (2Ts > 1Xb)\\n{\\1r 1xQ = qw * qw - 1Xb;\\1r 4W = -qw + 3Y(1xQ);\\1r 1Sh = 4W / w2;\\1r 1Si = 1Xc / 4W;\\1U (1Sh < 1Si)\\n{\\1F4 i = 1nQ(1Sh, 1Si);\\2j i;\\n}\\5L\\n{\\1F4 i = 1nQ(1Si, 1Sh);\\2j i;\\n}\\n}\\5L\\n{\\1r 1ro = 3Y(1Xc / w2);\\1F4 i = 1nQ(1ro, 1ro);\\2j i;\\n}\\n}\\n}\\5L if (q2 < 1.0)\\n{\\1r 1Xc = q2 - 1.0;\\1r w2 = 2A(w, w);\\1r 1Xb = w2 * 1Xc;\\1r 1xQ = qw * qw - 1Xb;\\1r 4W = -qw + 3Y(1xQ);\\1F4 i = 1nQ(0.0, 4W / w2);\\2j i;\\n}\\5L\\n{\\1U (qw < 0.0)\\n{\\1r w2 = 2A(w, w);\\1F4 i = 1nQ(0.0, -qw / w2);\\2j i;\\n}\\5L\\n{\\2j 2sF;\\n}\\n}\\n}\\n";q.6P4="1NV 1nQ\\n{\\1r 4I;\\1r 4U;\\n};\\4i 1nQ 2sF = 1nQ(-1Af, -1Af);\\4i 1nQ 59b = 1nQ(0.0, 1Af);\\n";q.6P3="1o 1Ae(2v 8X, 1v 1HE)\\n{\\2j 1rn(1Y(8X, 1HE).r);\\n}\\n";q.6P2="1o 1rn(1o 1w6)\\n{\\n#1z 10B\\1r 3I = 18z.x;\\1r 3W = 18z.y;\\1r 1gS = 1w6 * 3eP;\\1r 2sr = 3r(2.0, 1gS) - 1.0;\\2j 3W * (1.0 - 3I / (2sr + 3I)) / (3W - 3I);\\n#1u\\2j 1w6;\\n}\\n";q.6P1="1p 1eo(1m 14T, 1m 1A, 1m 1jp, 1du 1m 7x, 1du 1m 6v, 1du 1m 1k3, 1w 14L)\\n{\\1r 1eM = 14T.x * 0.5;\\1r 1kP = 1eM * 0.5;\\1r 1p1 = 1kP * 0.5;\\1r 1HI = 1p1 * 0.5;\\1r 1xP = 8N(1eM);\\1U(1xP > 0.1)\\n{\\1mH *= 1A;\\n}\\1r 1rm = 8N(2t(1eM)* 0.5);\\1U(1rm > 0.1)\\n{\\1mH *= 1jp;\\n}\\1r 1xO = 8N(2t(1kP)* 0.5);\\1U(1xO > 0.1)\\n{\\1mH.a = 0.0;\\n}\\1r 1Xa = 8N(2t(1p1)* 0.5);\\1U(1Xa > 0.1)\\n{\\2Tr.1H += 14L;\\n}\\1r 1X9 = 8N(2t(1HI) * 0.5);\\1U(1X9 > 0.1)\\n{\\2Tq.x = 1.0;\\n}\\n}\\2s 1eo(1m 14T, 1m 1A, 1du 1m 7x, 1du 1m 6v, 1du 1m 1k3, 1w 14L, 1du 1o 1ah)\\n{\\1r 1eM = 14T.x * 0.5;\\1r 1kP = 1eM * 0.5;\\1r 1p1 = 1kP * 0.5;\\1r 1HI = 1p1 * 0.5;\\1r 1xP = 8N(1eM);\\1U(1xP > 0.1)\\n{\\1mH *= 1A;\\n}\\1r 1rm = 8N(2t(1eM)* 0.5);\\1U(1rm > 0.1)\\n{\\2b2 = 1.0;\\n}\\1r 1xO = 8N(2t(1kP)* 0.5);\\1U(1xO > 0.1)\\n{\\1mH.a = 0.0;\\n}\\1r 1Xa = 8N(2t(1p1)* 0.5);\\1U(1Xa > 0.1)\\n{\\2Tr.1H += 14L;\\n}\\1r 1X9 = 8N(2t(1HI) * 0.5);\\1U(1X9 > 0.1)\\n{\\2Tq.x = 1.0;\\n}\\n}\\2s 1eo(1m 14T, 1m 1A, 1m 1jp, 1du 1m 7x, 1du 1m 6v, 1du 1m 1k3, 1w 14L, 1du 1o 1ah)\\n{\\1r 1eM = 14T.x * 0.5;\\1r 1kP = 1eM * 0.5;\\1r 1p1 = 1kP * 0.5;\\1r 1HI = 1p1 * 0.5;\\1r 1xP = 8N(1eM);\\1U(1xP > 0.1)\\n{\\2b2 = 1.0;\\1mH = 1A;\\n}\\1r 1rm = 8N(2t(1eM)* 0.5);\\1U(1rm > 0.1)\\n{\\2b2 = 1.0;\\1mH = 1jp;\\n}\\1r 1xO = 8N(2t(1kP)* 0.5);\\1U(1xO > 0.1)\\n{\\1mH.a = 0.0;\\n}\\1r 1Xa = 8N(2t(1p1)* 0.5);\\1U(1Xa > 0.1)\\n{\\2Tr.1H += 14L;\\n}\\1r 1X9 = 8N(2t(1HI) * 0.5);\\1U(1X9 > 0.1)\\n{\\2Tq.x = 1.0;\\n}\\n}\\2s 1eo(1m 14T, 1m 1A, 1m 1jp, 1du 1m 7x)\\n{\\1r 1eM = 14T.x * 0.5;\\1r 1kP = 1eM * 0.5;\\1r 1p1 = 1kP * 0.5;\\1r 1HI = 1p1 * 0.5;\\1r 1xP = 8N(1eM);\\1U(1xP > 0.1)\\n{\\1mH *= 1A;\\n}\\1r 1rm = 8N(2t(1eM)* 0.5);\\1U(1rm > 0.1)\\n{\\1mH *= 1jp;\\n}\\1r 1xO = 8N(2t(1kP)* 0.5);\\1U(1xO > 0.1)\\n{\\1mH.a = 0.0;\\n}\\n}\\2s 1eo(1m 14T, 1m 1A, 1m 1jp, 1du 1m 7x, 1du 1o 1ah)\\n{\\1r 1eM = 14T.x * 0.5;\\1r 1kP = 1eM * 0.5;\\1r 1p1 = 1kP * 0.5;\\1r 1HI = 1p1 * 0.5;\\1r 1xP = 8N(1eM);\\1U(1xP > 0.1)\\n{\\2b2 = 1.0;\\1mH = 1A;\\n}\\1r 1rm = 8N(2t(1eM)* 0.5);\\1U(1rm > 0.1)\\n{\\2b2 = 1.0;\\1mH = 1jp;\\n}\\1r 1xO = 8N(2t(1kP)* 0.5);\\1U(1xO > 0.1)\\n{\\1mH.a = 0.0;\\n}\\n}\\n";q.6P0="1w 2Tn(2v 1Cf, 1v 1en, 1w 2G, 1o 1HH)\\n{\\1fN /= 2A(1w(1.0), abs(2G));\\2u 24H = abs(2G.zx) - 1v(1.0);\\2u 3Dn = 1v(2G.x < 0.0 ? 24H.x : -24H.x,\\1fN.z < 0.0 ? 24H.y : -24H.y);\\2u uv = 2G.y < 0.0 ? 3Dn : 2G.xz;\\2u 16Q = 0.5 * uv + 1v(0.5);\\2u 17W = 1.0 / 1en;\\1U (1HH > 0.0)\\n{\\1r 3b = 1.0 / 3r(2.0, 1HH);\\1r 2M = ((1en.y + 1.0) / 1en.x);\\2b1.x *= 2M;\\2b1 *= 3b;\\2b1.x += 2M + 17W.x;\\2b1.y += (1.0 - (1.0 / 3r(2.0, 1HH - 1.0))) + 17W.y * (1HH - 1.0) * 2.0;\\n}\\5L\\n{\\2b1.x *= (1en.y / 1en.x);\\n}\\n#1bI 3Dm\\1R 1dT = 1Y(1Cf, 16Q + 1v(0.0, 17W.y)).2y;\\1R 1mG = 1Y(1Cf, 16Q + 1v(17W.x, 0.0)).2y;\\1R 2sD = 1Y(1Cf, 16Q + 17W).2y;\\1R 2sE = 1Y(1Cf, 16Q).2y;\\2u 2Tp = 16Q * 1en;\\1r fu = 8N(2Tp.x);\\1r fv = 8N(2Tp.y);\\1R 3Dl = 3T(2sE, 1mG, fu);\\1R 3Dk = 3T(1dT, 2sD, fu);\\1R 1A = 3T(3Dl, 3Dk, fv);\\n#1s\\1R 1A = 1Y(1Cf, 16Q).2y;\\n#1u\\2j 1A;\\n}\\1R 3eW(2v 1Cf, 1v 1en, 1w 2G, 1o 1HH, 1o 3Dj) {\\1r 2To = 2t(1HH + 0.5);\\1r 2Tm = 2o(2To + 1.0, 3Dj);\\1R 3Dh = 2Tn(1Cf, 1en, 2G, 2To);\\1R 3Di = 2Tn(1Cf, 1en, 2G, 2Tm);\\2j 3T(3Di, 3Dh, 2Tm - 1HH);\\n}\\n";q.6OZ="1w 24G(1w 2y, 1o 2sC)\\n{\\4i 1w W = 1w(0.1NX, 0.1KS, 0.1NW);\\1R 12r = 1w(2A(2y, W));\\2j 3T(12r, 2y, 2sC);\\n}\\n";q.6OY="XR 1o 1HG = 2.0;\\n";q.6OX="XR 1o 1F3 = 3.0;\\n";q.6OW="XR 1o 3eV = 1.0;\\n";q.6OV="XR 1o 4fW = 0.0;\\n";q.6OU="1o 2sB(1HF 17A, 1w d)\\n{\\2j 11N(24F(17A, d));\\n}\\1r 2sB(2v 17A, 1v uv)\\n{\\n#1z 4fV\\2j 1Y(17A, uv).r;\\n#1s\\2j 11N(1Y(17A, uv));\\n#1u\\n}\\1r 24D(1HF 17A, 1w uv, 1o 4e)\\n{\\2j 7F(4e, 2sB(17A, uv));\\n}\\1r 24D(2v 17A, 1v uv, 1o 4e)\\n{\\2j 7F(4e, 2sB(17A, uv));\\n}\\n";q.6OT="1NV 2sA\\n{\\n#1z 3eU\\1R 1HE;\\n#1s\\2u 1HE;\\n#1u\\1r 1p0;\\1r 4e;\\1r 18o;\\2u 1KR;\\1r 1rl;\\1r 1k2;\\n};\\n";q.6OS="1o 2Tl(1o 12F, 1o 18o, 1o 1rl, 1o 1k2)\\n{\\n#1z 4fU\\n#1z 4fT\\1r 1xN = 2Y(18o / 1rl, 0.0, 1.0);\\n#1s\\1r 1xN = 7F(0.0, 18o);\\n#1u\\3Dg *= 1xN;\\n#1u\\3Dg = 1V(12F, 1k2);\\2j 12F;\\n}\\n#1z 3eU\\1r 2jl(1HF 17A, 2sA 19u)\\n{\\1r 1p0 = 19u.1p0;\\1r 4e = 19u.4e;\\1r 18o = 19u.18o;\\1r 1rl = 19u.1rl;\\1r 1k2 = 19u.1k2;\\1R 3Df = 19u.1HE;\\2T8 -= 1p0;\\1r 12F = 24D(17A, 3Df, 4e);\\2j 2Tl(12F, 18o, 1rl, 1k2);\\n}\\n#1s\\1r 2jl(2v 17A, 2sA 19u)\\n{\\1r 1p0 = 19u.1p0;\\1r 4e = 19u.4e;\\1r 18o = 19u.18o;\\1r 1rl = 19u.1rl;\\1r 1k2 = 19u.1k2;\\2u uv = 19u.1HE;\\2T8 -= 1p0;\\n#1z 4fS\\2u 1KR = 19u.1KR;\\1r 3L = 1.0;\\1r 2sy = -1KR.x * 3L;\\1r 2sz = -1KR.y * 3L;\\1r 2sx = 1KR.x * 3L;\\1r 2sw = 1KR.y * 3L;\\1r 12F = (\\1Ce(17A, uv, 4e) +\\1Ce(17A, uv + 1v(2sy, 2sz), 4e) +\\1Ce(17A, uv + 1v(0.0, 2sz), 4e) +\\1Ce(17A, uv + 1v(2sx, 2sz), 4e) +\\1Ce(17A, uv + 1v(2sy, 0.0), 4e) +\\1Ce(17A, uv + 1v(2sx, 0.0), 4e) +\\1Ce(17A, uv + 1v(2sy, 2sw), 4e) +\\1Ce(17A, uv + 1v(0.0, 2sw), 4e) +\\1Ce(17A, uv + 1v(2sx, 2sw), 4e)\\n) * (1.0 / 9.0);\\n#1s\\1r 12F = 24D(17A, uv, 4e);\\n#1u\\2j 2Tl(12F, 18o, 1rl, 1k2);\\n}\\n#1u\\n";q.6OR="1o 1lO(1o 1Q)\\n{\\2j 1Q >= 0.0 ? 1.0 : -1.0;\\n}\\2u 1lO(1v 1Q)\\n{\\2j 1v(1lO(1Q.x), 1lO(1Q.y));\\n}\\1R 1lO(1w 1Q)\\n{\\2j 1w(1lO(1Q.x), 1lO(1Q.y), 1lO(1Q.z));\\n}\\1P 1lO(1m 1Q)\\n{\\2j 1m(1lO(1Q.x), 1lO(1Q.y), 1lO(1Q.z), 1lO(1Q.w));\\n}\\n";q.6OQ="2n 2v 24C;\\1B 7P 3eT;\\1r 3D8(1o 11a)\\n{\\2u 2V = 1v(4u.x / 9e.z, 4u.y / 9e.w);\\2u 1nP  = 1v(11a / 9e.z, 11a / 9e.w);\\1P 3De = 1m(2V.x+1nP.x, 2V.y+1nP.y, 1.0, 1.0);\\1P 2Tk = 1Y(24C, 3De.xy);\\59a.1H = (2Tk.1H * 2.0) - 1.0;\\1P 3Dd = 1m(2V.x-1nP.x, 2V.y+1nP.y, 1.0, 1.0);\\1P 2Ti =  1Y(24C, 3Dd.xy);\\599.1H = (2Ti.1H * 2.0) - 1.0;\\1P 3Dc = 1m(2V.x+1nP.x, 2V.y-1nP.y, 1.0, 1.0);\\1P 2Th = 1Y(24C, 3Dc.xy);\\598.1H = (2Th.1H * 2.0 ) - 1.0;\\1P 3Db = 1m(2V.x-1nP.x, 2V.y-1nP.y, 1.0, 1.0);\\1P 2Tj = 1Y(24C, 3Db.xy);\\597.1H = (2Tj.1H * 2.0) - 1.0;\\1r 1X8 = 0.0;\\1r 3Da = 2A(2Tk.1H, 2Tj.1H);\\1r 3D9 = 2A(2Ti.1H, 2Th.1H);\\3D7 = 0.5*(3Da+3D9);\\2j 1X8;\\n}\\1P 1Cd(1m 1gl, 1m 19g, 1o 11a)\\n{\\1P 1Cb = 1gl;\\1r 1X8 = 3D8(11a);\\3D7 = 2Y(1X8, 0.0, 1.0);\\1U(3eT == 1)\\n{\\1Cc = 19g;\\1Cc.a = (1.0 - 12q(1X8 - 0.5)) * 0.5;\\1Cc.a *= 19g.a;\\n}\\5L\\n{\\1R 3D6 = 3T(1gl.2y, 1w(19g.2y), 19g.a);\\1Cc.2y = 3T(3D6, 1gl.2y, 1X8);\\n}\\2j 1Cb;\\n}\\n";q.6OP="XR 1o 4fR = 595.0;\\n";q.6OO="1w 3eS(1w 2U, 1w 1w5[9])\\n{\\4i 1o c1 = 0.593;\\4i 1o c2 = 0.591;\\4i 1o c3 = 0.58Z;\\4i 1o c4 = 0.58Y;\\4i 1o c5 = 0.58X;\\1R 3D4 = 1w5[0];\\1R 3CZ = 1w5[1];\\1R 3CY = 1w5[2];\\1R 3D0 = 1w5[3];\\1R 3D3 = 1w5[4];\\1R 3D1 = 1w5[5];\\1R 2Tg = 1w5[6];\\1R 3D2 = 1w5[7];\\1R 3D5 = 1w5[8];\\1r x = 2U.x;\\1r y = 2U.y;\\1r z = 2U.z;\\2j c1 * 3D5 * (x * x - y * y) + c3 * 2Tg * z * z + c4 * 3D4 - c5 * 2Tg +\\n2.0 * c1 * (3D3 * x * y + 3D2 * x * z + 3D1 * y * z) +\\n2.0 * c2 * (3D0 * x + 3CZ * y + 3CY * z);\\n}\\n";q.6ON="14j 3eR(1w 4X, 1w 1X7, 1w 2b0)\\n{\\1R 2U = 1T(4X);\\1R 8Q = 1T(1X7);\\1R 8T = 1T(2b0);\\2j 14j(8Q.x  , 8Q.y  , 8Q.z,\\58W.x, 8T.y, 8T.z,\\3CX.x   , 2U.y   , 2U.z);\\n}\\n";q.6OM="XR 1o 4fQ = 4.58V;\\n";q.6OL="1m 3eQ(1m 1NU, 5w 5o) {\\1R 2Tf = 1T((5o * 1m(1NU.1H, 0.0)).1H);\\1R 3CV = (5o * 1m(1NU.1H * -1NU.w, 1.0)).1H;\\1P 3CU;\\3CW.1H = 2Tf;\\3CW.w = -2A(2Tf, 3CV);\\2j 3CU;\\n}\\n";q.6OK="1m 16e(1w 162, 1w 15r)\\n{\\1R 3CT = 162 - 4fP;\\1R 3CS = 15r - 4fO;\\2j 1m(3CT + 3CS, 1.0);\\n}\\n";q.6OJ="1m 3CR(1w 1HD, 1Ad 2q, 1w 1jo)\\n{\\1r 8t = 1Ca(1w(0.0, 0.0, 1.0), 2q.2U);\\1U (1kO == 1F3) {\\2Te += 1Ca(1w(0.0, 1.0, 0.0), 2q.2U);\\n}\\2Te = 2Y(8t, 0.0, 1.0);\\1r 16C = 24B(1jo, 1HD, 2q.2U, 2q.1rk);\\1R 1X6 = 2q.8t * 0.5;\\1R 18A = 1X6;\\1R 1A = 18A + 2q.17Y;\\6p += 1X6 * 8t * 1NT;\\6p += 2q.16C * 16C * 1NT;\\2j 1m(1A, 2q.2O);\\n}\\n";q.6OI="1bG 2FQ(1bG 8W)\\n{\\2j 1bG(\\1C9[0][0], 8W[1][0],\\1C9[0][1], 8W[1][1]);\\n}\\1NS 2FQ(14j 8W)\\n{\\2j 14j(\\1C9[0][0], 8W[1][0], 8W[2][0],\\1C9[0][1], 8W[1][1], 8W[2][1],\\1C9[0][2], 8W[1][2], 8W[2][2]);\\n}\\1Sg 2FQ(5w 8W)\\n{\\2j 5w(\\1C9[0][0], 8W[1][0], 8W[2][0], 8W[3][0],\\1C9[0][1], 8W[1][1], 8W[2][1], 8W[3][1],\\1C9[0][2], 8W[1][2], 8W[2][2], 8W[3][2],\\1C9[0][3], 8W[1][3], 8W[2][3], 8W[3][3]);\\n}\\n";q.6OH="XR 1o 1w4 = 6.58U;\\n";q.6OG="1o 11N(1m 2sv)\\n{\\2j 2A(2sv, 1m(1.0, 1.0 / 255.0, 1.0 / 1C7.0, 1.0 / 2FP.0));\\n}\\n";q.6OF="#2f 3CO 0.58T //1.0 / 256.0\\n#2f 3CN 0.58S //1.0 / 12v.0\\n#2f 3CL 5.58R-8//1.0 / 1C6.0\\n#2f 3CQ 38.0\\1r 2su(1m 24A)\\n{\\58Q *= 255.0;\\1r 4W = 24A.w / 2.0;\\1r 1Sf = 2t(4W);\\1r 12q = (4W - 1Sf) * 2.0;\\58P = 1Sf - 1o(3CQ);\\3CP = 12q * 2.0 - 1.0;\\3CP = -12q;\\1r 3CK = 12q * 24A.x * 1o(3CO);\\3CM += 12q * 24A.y * 1o(3CN);\\3CM += 12q * 24A.z * 1o(3CL);\\2j 3CK * 3r(10.0, 1Sf);\\n}\\n";q.6OE="1o 2jk(1m 2aZ)\\n{\\1r 2st = 12v.0;\\1r 16P = 256.0;\\1P 1Q = 2aZ * 255.0;\\2j 1Q.r * 2st + 1Q.g * 16P + 1Q.b - 2ss.0;\\n}\\n";q.6OD="#1z 10B\\1J 1o 1Sb;\\n#1z 2Td\\1J 1w 3CJ;\\n#1u\\n#1u\\1P 3CH(1m 19t) {\\n#if 2l(10B)\\n#1z 2Td\\1R 3CI = (1k1 * 19t).1H;\\58O = 3CI;\\n#1u\\1xM.z = 2Y(19t.z / 19t.w, -1.0, 1.0) * 19t.w;\\n#1u\\2j 19t;\\n}\\2s 1Se()\\n{\\n#1z 10B\\2Tc = 1.0 - 18z.x + 6I.w;\\11u = 3CH(6I);\\n#1u\\n}\\2s 1Se(1m 2Tb)\\n{\\n#1z 10B\\2Tc = 1.0 - 18z.x + 2Tb.w;\\58N(2Tb);\\n#1u\\n}\\n";q.6OC="XR 1o 2FO = 1.58M;\\n";q.6OB="1m 1az(1m 2aY)\\n{\\1r x = 2.0 * (2aY.x - 9e.x) / 9e.z - 1.0;\\1r y = 2.0 * (2aY.y - 9e.y) / 9e.w - 1.0;\\1r z = (2aY.z - 1Sd[3][2]) / 1Sd[2][2];\\1P q = 1m(x, y, z, 1.0);\\nq /= 2aY.w;\\1U (!(1k1 == 5w(0.0)))\\n{\\nq = 1k1 * q;\\n}\\5L\\n{\\1r 5C = 1q9.x;\\1r 7b = 1q9.y;\\1r 3B = 1q9.z;\\1r 2W = 1q9.w;\\1r 3I = 18z.x;\\1r 3W = 18z.y;\\nq.x = (q.x * (2W - 3B) + 3B + 2W) * 0.5;\\nq.y = (q.y * (5C - 7b) + 7b + 5C) * 0.5;\\nq.z = (q.z * (3I - 3W) - 3I - 3W) * 0.5;\\nq.w = 1.0;\\n}\\2j q;\\n}\\1P 1az(1v 2T9, 1o 1rj)\\n{\\n#1z 10B\\1r 3I = 18z.x;\\1r 3W = 18z.y;\\1r 1gS = 1rj * 3eP;\\1r 2sr = 3r(2.0, 1gS) - 1.0;\\1r 2Ta = 2sr + 3I;\\1P 2sq = 1m(2T9, 3W * (1.0 - 3I / 2Ta) / (3W - 3I), 1.0);\\1P 5Z = 1az(2sq);\\2aX.w = 1.0 / 2Ta;\\2j 5Z;\\n#1s\\1P 2sq = 1m(2T9, 1rj, 1.0);\\1P 5Z = 1az(2sq);\\n#1u\\2j 5Z;\\n}\\n";q.6OA="#1bI 10B\\1J 1o 24z;\\n#1u\\2s 1Sc()\\n{\\n#if (2l(5J) || 2l(1dt)) && !2l(10B)\\1F2 = 2o(24z * 4u.w, 1.0);\\n#1u\\n}\\n";q.6Oz="#1z 10B\\1J 1o 1Sb;\\n#1z 2jh\\1B 1v 2jj;\\n#1u\\n#1u\\2s 1nO(1o 4e)\\n{\\n#if (2l(5J) || 2l(1dt)) && 2l(10B)\\1U (4e <= 0.58L || 4e > 4fN) {\\10W;\\n}\\n#1z 2jh\\1r 8H = 2jj[0];\\1r 13u = 2jj[1];\\n#1z 8p\\1r x = 1cu(4e);\\1r y = 1ct(4e);\\1r m = 3Y(x * x + y * y);\\2T8 += m * 8H;\\n#1u\\n#1u\\1F2 = 1iK(4e) * 2ji;\\n#1z 2jh\\1F2 += 1bg * 13u;\\n#1u\\n#1u\\n}\\2s 1nO() {\\n#1z 10B\\1ri(1Sb);\\n#1u\\n}\\n";q.6Oy=D4;q.6Ox=mQ;q.6Ow=y4;q.6Ov=WB;q.6Ou=$S;q.6Ot=yH;q.6Os=eg;q.1cs=kw;q.1F1=gb;q.6Or=Ic;q.6Oq=$h;q.6Op=De;q.6Oo=4fM;q.6On=Si;q.at=Jt;q.6Om=XX;q.6Ol=sO;q.6Ok=Bz;q.4fL=Ah;q.6Oj=p6;q.58K=cb;q.4fK=1b(a){Rq(a)};q.1S=Kt;q.6Oi=Py;q.6Oh=PU;q.6Og=hp;q.6Of="3G 1w 2aS;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 10f 1o 3L\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 6V 1m 2aW\\n#3U 3H: 2f 10f 1o 1rh\\n#3U 3H: 2f 5v 1o 2aV\\n\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 10f 1o 3L\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 6V 1m 2aW\\n    #3U 3H: 6l 10f 1o 1rh\\n    #3U 3H: 6l 5v 1o 2aV\\n\\n        1v 19r = 2aS.xy;\\n        1o 2sp = 1h(19r);\\n\\n        5v 1o 2sm = 2aS.z;\\n        1o 2T7 = -1V(16B, 2sm);\\n\\n        1o 2T6 = 13f(0.0, 2T7, 2sp - 1.0);\\n\\n        1o 3CG = 1rh < 0.11t ? 0.0 : 13f(\\n            2T7,\\n            0.0,\\n            2sp - 3L / (3L + 1rh)\\n        );\\n\\n        2C = 2T6 * 3T(1A * 7z, 2aW * 2aV, 3CG);\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n    ";q.6Oe=TS;q.6Od=4fJ;q.6Oc="2n 5w 9W;\\n    2n 7d 2jg;\\n    2n 7d 1xL;\\n    2n 1v 1xK;\\n    2n 5v 1o 1aS;\\n    2n 6V 1o 1kN;\\n\\n    3Q 1v 13t;\\n\\n    3G 1w 2aS;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 10f 1o 3L\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 6V 1m 2aW\\n#3U 3H: 2f 10f 1o 1rh\\n#3U 3H: 2f 5v 1o 2aV\\n\\n    1p 2k(1p) {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 10f 1o 3L\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 6V 1m 2aW\\n    #3U 3H: 6l 10f 1o 1rh\\n    #3U 3H: 6l 5v 1o 2aV\\n\\n        // 4fI 1Z 1iI 8r 17m we 4fH 1KP 1Z 13t 8r\\n        1v 19r = 1v(13R(13t, 2.0) * 2.0 - 1.0);\\n\\n        // 9b 13t by 0.5, 1WY we 4fG it * 2 in 1HC to 4fF\\n        // in 1iI 2g\\n        1v 2sn = 2t(13t * 0.5);\\n        if (1xL) {\\n            1v 2so = 2sn;\\n            if (2jg) {\\n                2so += 19r * (3L + 1rh) * 1xK;\\n            } 1s {\\n                // 58J 1Z 12O 10M 1Z 5d 4fE 2aU it 10M 1Z 5d\\n                // To 2T5 1Z 1F0 1j 8q-3b: 5q, we 58I 1Z\\n                // 58H 12O 24y on 1Z 8q 58G 1F0 at 2aT 58F 7v\\n                1m 3CF = 9W * 1m(2sn, 0, 1);\\n                2so += 19r * (3L + 1rh) * 1xK * (3CF.w / 1kN);\\n            }\\n\\n            6I = 9W * 1m(2so, 0, 1);\\n        } 1s {\\n            6I = 9W * 1m(2sn, 0, 1);\\n\\n            if (2jg) {\\n                6I.xy += 19r * (3L + 1rh) * 1xK * 1kN;\\n            } 1s {\\n                6I.xy += 19r * (3L + 1rh) * 1xK * 6I.w;\\n            }\\n        }\\n\\n        // 18m is a 13b 16B 3s 17m 58D as a 58C-2sl 1j\\n        // 1Z 12O. 1WY 16B is a 1iJ of 1Z 12O\'s 4V and 1Z 58B is\\n        // to 1eL 1Z 16B at 58A 1px, 1Z 1uk are 58z 58y.\\n        5v 1o 2sm = 1.0 / 1aS / (3L + 1rh);\\n\\n        2aS = 1w(19r.x, 19r.y, 2sm);\\n    }\\n";q.6Ob=ZS;q.6Oa=4fD;q.6O9=NM;q.1y=wc;q.3CE=hr;q.6O8=tm;q.1EZ=Lt;q.6O7=yA;q.6O6=Mz;q.6O5=il;q.1A=Rd;q.6O4=xF;q.6O3=Zh;q.6O2=58x;q.3CD=fb;q.1EY=bl;q.6O1=kD;q.1O=ak;q.6O0=hR;q.1EX=bd;q.6NZ=4fC;q.6NY=4fB;q.6NX=4fA;q.6NW=Ld;q.6NV=Kh;q.6NU=Bj;q.6NT=FJ;q.6NS=Y;q.6NR=ho;q.6NQ=1b(a){a=m(a,m.4Z);1d b=[],c=a.3y;if(!g(c))1t 1g r("3v.3y is 1X.");g(c.2w)&&g(c.6Z)||(c=c.7m.14t(c));1d d=c.2w,e=A.1y(m(a.4a,A.8K));a=m(a.1h,1E4);g(d.2U)&&b.1q(1g yb({3y:Sc.3CC(c,"2U",a),2w:{1A:1g Qb(1,0,0,1)},4a:e}));g(d.8Q)&&b.1q(1g yb({3y:Sc.3CC(c,"8Q",a),2w:{1A:1g Qb(0,1,0,1)},4a:e}));g(d.8T)&&b.1q(1g yb({3y:Sc.3CC(c,"8T",a),2w:{1A:1g Qb(0,0,1,1)},4a:e}));if(0<b.1h)1f 1g Kb({17X:!1,13g:b,161:1g zc({8z:!0,11C:!1})})};q.6NP=1b(a){1d b;1f 1b(c){1d d=c.2g,e=[],f={id:d.id,4D:1p 0,7A:1p 0};1f Z(58w(a,d.7V,e)).4b(1b(a){f.4D=a}).10g(1b(a){f.7A=a 2m 6u?{2i:a.2i,19s:a.19s,1fi:a.1fi}:a}).2aR(1b(){g(b)||(b=m(1KQ.4fz,1KQ.1Sa));d.58v||(e.1h=0);10G{b(f,e)}11B(h){f.4D=1p 0,f.7A="1Sa 1bf 10M 7A: "+wG(h)+"\\n  10M 6NO: "+4H.8s(f),b(f)}})}};q.6NN=4fy;q.6NM=S2;q.6NL=d3;q.6NK=JJ;q.6NJ=Q0;q.6NI=XI;q.6NH=$X;q.6NG=JA;q.6NF=jZ;q.6NE=V8;q.6ND=Ho;q.6NC=Tc;q.6NB=qc;q.6NA=aH;q.6Nz=m;q.2l=g;q.6Ny=ek;q.6Nx=oi;q.6Nw=la;q.6Nv=l$;q.6Nu=o$;q.6Nt=m$;q.6Ns=p$;q.6Nr=1b(a,b,c,d){if(!g(a))1t 1g r("13a is 1X.");if(!g(d))1t 1g r("4D is 1X.");if(g(b)&&b.2p&&b.3o){1d e=b.1bH(a);if(g(e)&&g(e.7u))1f P.1y(e.7u,d),tb.1k0}1f g(c)&&c.2p&&c.3o&&(e=c.1bH(a),g(e)&&g(e.7u))?(P.1y(e.7u,d),tb.1k0):g(b)&&!b.3o||g(c)&&!c.3o?tb.1rg:tb.12D};q.6Nq=tB;q.6Np=BA;q.6No=Lf;q.6Nn=SR;q.6d=Ds;q.2jf=Gw;q.7l=1c8;q.6Nm=Es;q.6Nl=nu;q.6Nk=Zt;q.6Nj=wm;q.6Ni="#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 7z\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 5v 1o 7z\\n        2C = 1A * 7z;\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n";q.6Nh="3G 1v 1fM;\\n#3U 3H: 2f 6V 1m 2aP\\n#3U 3H: 2f 5v 1o 7z\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 2aP\\n    #3U 3H: 6l 5v 1o 7z\\n\\n        1o 6Y = 1h(1fM - 4u.xy);\\n        1o 2O = 1.0 - 13f(0.0, 1.0, 6Y);\\n        2C = 2aP * (2O * 7z);\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n";q.6Ng="2n 1v 18n;\\n    2n 2v 1ax;\\n    2n 1o 1xJ;\\n\\n    3G 1v 1rf;\\n    3G 1v 1re;\\n    3G 1v 1fM;\\n\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\n    1p 2k() {\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n        1v 1lM = 1be.xy;\\n        1v 1lN = 1be.zw;\\n        1v 1lK = 1bd.xy;\\n        1v 1lL = 1bd.zw;\\n\\n        1v 1X5 = 13R(1rf, 1.0);\\n        1v 3h = 3T(1lM / 18n, 1lN / 18n, 1X5);\\n        1m 1dT = 1Y(1ax, 3h);\\n\\n        1v 1X4 = 13R(1re, 1.0);\\n        1v 1HA = 3T(1lK / 18n, 1lL / 18n, 1X4);\\n        1m 1mG = 1Y(1ax, 1HA);\\n\\n        // 1oZ 3s to 8Y 1j 2O 1w3\\n\\n        1o 6Y = 1h(1fM - 4u.xy);\\n        1o 2O = 1.0 - 13f(0.0, 1.0, 6Y);\\n        2C = 3T(1dT, 1mG, 1xJ) * 2O * 7z;\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n";q.6Nf="2n 5w 9W;\\n    2n 1v 1HB;\\n    2n 1v 1q8;\\n    2n 1v 1q7;\\n    2n 1m 1fh;\\n\\n    3Q 1v 13t;\\n\\n    3G 1v 1rf;\\n    3G 1v 1re;\\n    3G 1v 1fM;\\n\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\n    1p 2k() {\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n        1v 1lM = 1be.xy;\\n        1v 1lN = 1be.zw;\\n        1v 1lK = 1bd.xy;\\n        1v 1lL = 1bd.zw;\\n\\n        1o 13S = 1fh.x;\\n        1o 2aQ = 1fh.y;\\n        1o 1oY = 1fh.z;\\n        1o 1EW = 1fh.w;\\n\\n        6I = 9W * 1m(13t, 0, 1);\\n\\n        1v 1S9 = 1v((1lN.x - 1lM.x) / 13S, (1lN.y - 1lM.y) / 13S);\\n        1v 1S7 = 1v((1lL.x - 1lK.x) / 13S, (1lL.y - 1lK.y) / 13S);\\n\\n        1rf = 1S8(1q8, 1q7, 1oY * 1S9, 2aQ, 13t);\\n        1re = 1S8(1q8, 1q7, 1EW * 1S7, 2aQ, 13t);\\n\\n        1fM = (6I.xy / 6I.w + 1.0) / 2.0 * 1HB;\\n    }\\n";q.6Ne="3Q 1v 13t;\\n    2n 5w 9W;\\n    2n 1v 1HB;\\n    3G 1v 1fM;\\n#3U 3H: 2f 6V 1m 2aP\\n#3U 3H: 2f 5v 1o 7z\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 2aP\\n    #3U 3H: 6l 5v 1o 7z\\n        6I = 9W * 1m(13t, 0, 1);\\n        1fM = (6I.xy / 6I.w + 1.0) / 2.0 * 1HB;\\n    }\\n";q.6Nd="2n 1v 18n;\\n    2n 1o 1xJ;\\n\\n    2n 2v 1ax;\\n\\n    3G 1v 1rf;\\n    3G 1v 1re;\\n\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\n    1p 2k() {\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n        1v 1lM = 1be.xy;\\n        1v 1lN = 1be.zw;\\n        1v 1lK = 1bd.xy;\\n        1v 1lL = 1bd.zw;\\n\\n        1v 1X5 = 13R(1rf, 1.0);\\n        1v 3h = 3T(1lM / 18n, 1lN / 18n, 1X5);\\n        3h.y = 1.0 - 3h.y;\\n        1m 1dT = 1Y(1ax, 3h);\\n\\n        1v 1X4 = 13R(1re, 1.0);\\n        1v 1HA = 3T(1lK / 18n, 1lL / 18n, 1X4);\\n        1HA.y = 1.0 - 1HA.y;\\n        1m 1mG = 1Y(1ax, 1HA);\\n\\n        2C = 3T(1dT, 1mG, 1xJ) * 7z;\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n";q.6Nc="2n 5w 9W;\\n    2n 1v 1q8;\\n    2n 1v 1q7;\\n    2n 1m 1fh;\\n\\n    3Q 1v 13t;\\n\\n    3G 1v 1rf;\\n    3G 1v 1re;\\n\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 5v 1m 1be\\n#3U 3H: 2f 5v 1m 1bd\\n\\n    1p 2k() {\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1m 1be\\n    #3U 3H: 6l 10f 1m 1bd\\n\\n        1v 1lM = 1be.xy;\\n        1v 1lN = 1be.zw;\\n        1v 1lK = 1bd.xy;\\n        1v 1lL = 1bd.zw;\\n\\n        1o 13S = 1fh.x;\\n        1o 2je = 1fh.y;\\n        1o 1oY = 1fh.z;\\n        1o 1EW = 1fh.w;\\n\\n        1v 1S9 = 1v((1lN.x - 1lM.x) / 13S, (1lN.y - 1lM.y) / 13S);\\n        1v 1S7 = 1v((1lL.x - 1lK.x) / 13S, (1lL.y - 1lK.y) / 13S);\\n        6I = 9W * 1m(13t, 0, 1);\\n\\n        1rf = 1S8(1q8, 1q7, 1oY * 1S9, 2je, 13t);\\n        1re = 1S8(1q8, 1q7, 1EW * 1S7, 2je, 13t);\\n    }\\n";q.6Nb=gn;q.6Na=4fx;q.6N9="3Q 1v 13t;\\n    2n 5w 9W;\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 7z\\n    1p 2k() {\\n#3U 3H: 6l 6V 1m 1A\\n#3U 3H: 6l 5v 1o 7z\\n        6I = 9W * 1m(13t.x, 13t.y, 0, 1);\\n    }\\n";q.6N8=oQ;q.6N7=4fw;q.8V=ir;q.6N6=wG;q.1S6=vh;q.6N5=kF;q.4Q=4fv;q.6N4=RP;q.6N3=qu;q.6N2=Np;q.4fu=qp;q.6N1=TB;q.6N0=BQ;q.6MZ=MH;q.6MY=nQ;q.6MX=Ie;q.6MW=LN;q.6MV=kk;q.6MU=Hu;q.6MT=AB;q.6MS=1b(a,b,c,d,e){e=0;c=B.8I(c);if("6MR"===b){b=1g 58u;1j(1d f=e=0;f<a.1h-1;f++){1d g=a[f],k=a[f+1],m=g.x,n=g.y,q=k.x,r=k.y,u=k.x-g.x;k=k.y-g.y;1j(1d v=1k.2t(1k.3Y(1k.3r(1k.abs(u),2)+1k.3r(1k.abs(k),2))/70),t=1;t<=v+1;t++){if(t<v+1){1d y=g.x+u*t/(v+1);1d A=g.y+k*t/(v+1)}1s y=q,A=r;1d C={B:0,L:0},E={B:0,L:0};bH(n,m,C,c,d,b);bH(A,y,E,c,d,b);1d F=C.B,H=E.B;m=b;n=(H-F)/2;F=(H+F)/2;C=(E.L+C.L)/2*m.b*m.b*2;E=[];E[0]=C*m.A*1k.2T(n)*1k.3i(F);E[1]=C*m.B*1k.2T(3*n)*1k.3i(3*F);E[2]=C*m.C*1k.2T(5*n)*1k.3i(5*F);E[3]=C*m.D*1k.2T(7*n)*1k.3i(7*F);E[4]=C*m.E*1k.2T(9*n)*1k.3i(9*F);e+=E[0]-E[1]+E[2]-E[3]+E[4];m=y;n=A}}e=1k.abs(e)}1s if("6MQ"===b){b=1g 58t;1j(f=e=0;f<a.1h-1;f++)u={B:0,L:0},k={B:0,L:0},bH(a[f].y,a[f].x,u,c,d,b),bH(a[f+1].y,a[f+1].x,k,c,d,b),g=[],q=(k.B-u.B)/2,r=(k.B+u.B)/2,u=(k.L+u.L)/2*b.b*b.b*2,g[0]=u*b.A*1k.3i(r)*1k.2T(q),g[1]=u*b.B*1k.2T(3*q)*1k.3i(3*r),g[2]=u*b.C*1k.2T(5*q)*1k.3i(5*r),g[3]=u*b.D*1k.2T(7*q)*1k.3i(7*r),g[4]=u*b.E*1k.2T(9*q)*1k.3i(9*r),e+=g[0]-g[1]+g[2]-g[3]+g[4];e=1k.abs(e)}1f e};q.6MP=Me;q.3CB=Kd;q.6MO=HD;q.6MN=4ft;q.6MM=s6;q.6ML=Xj;q.6MK=Q8;q.2T4=Ej;q.2jd=u$;q.6MJ=xH;q.4d=Mt;q.6MI=jF;q.6MH=Tf;q.in=Nt;q.6MG=vF;q.1d9=58s;q.6MF=um;q.6ME=hn;q.6MD=Oc;q.3CA=MN;q.4fs=$F;q.2FN=aB;q.6MC=fB;q.6MB=td;q.6MA=Ov;q.6Mz=oB;q.4fr=GH;q.6My=hy;q.6Mx=ta;q.6Mw=ta;q.6Mv=4fq;q.11e=Yy;q.1h=Pt;q.2FM=Ot;q.6Mu=ZC;q.6Mt=Ci;q.6Ms="2n 5v 1o 1aS;\\n\\n    3G 1v 1aR;\\n    3G 1v 1fL;\\n    3G 1o 1rb;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n\\n        // 1Ab 1Z 3s of 1Z 17W 19f 1Z 6D in 11n.\\n        1o 6Y = 1h(1fL) * 1aR.s;\\n\\n        // 1Ab 1Z 2sl 1ay 8H. 18m is 1X3 16r 1X2 in\\n        // 1Z 6D in 1S of an 2M 6D (1aR.t) or 16r 1X2 9H\\n        // (1aR.s)\\n        1o 1C5 = (16B + 1.0 / 1aS) * 1rb;\\n        1o 2O = 2Y(2o(6Y - (1aR.t - 1C5), 1aR.s - 6Y) / 1C5, 0.0, 1.0);\\n\\n        2C = 1A * (2O * 7z);\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n";q.6Mr=fn;q.6Mq="2n 5v 1o 1aS;\\n    2n 2v 1ax;\\n    2n 1o 2jc;\\n    2n 1o 24x;\\n\\n    3G 1v 1fL;\\n    3G 1v 1aR;\\n    3G 1v 1X1;\\n    3G 1v 1X0;\\n    3G 1o 1rb;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 10f 1o 1G\\n#3U 3H: 2f 5v 1o 1EV\\n\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1o 1G\\n    #3U 3H: 6l 5v 1o 1EV\\n\\n        // 1Ab 1Z 3s of 1Z 17W 19f 1Z 6D in 11n.\\n        1o 6Y = 1h(1fL) * 1aR.s;\\n\\n        // 1Ab 1Z 2sl 1ay 8H. 18m is 1X3 16r 1X2 in\\n        // 1Z 6D in 1S of an 2M 6D (1aR.t) or 16r 1X2 9H\\n        // (1aR.s)\\n        1o 1C5 = (16B + 1.0 / 1aS) * 1rb;\\n        1o 2O = 2Y(2o(6Y - (1aR.t - 1C5), 1aR.s - 6Y) / 1C5, 0.0, 1.0);\\n\\n        1o 3Cz = 1Y(1ax, 1X1).a;\\n        1o 3Cy = 1Y(1ax, 1X0).a;\\n        1o 3Cx = 3T(3Cz, 3Cy, 24x);\\n        2O *= 13f(0.5 - 2jc / 1EV, 0.5 + 2jc / 1EV, 3Cx);\\n\\n        2C = 1A * (2O * 7z);\\n\\n#1z 1kM\\n        2C = 1m(1.0);\\n#1u\\n    }\\n";q.6Mp="// 2t(127 / 2) == 63.0\\n// 1Z 14S 2T2 1Ac 1C4 is 2.0 at 1Z 2T1. 1Z 19r 2U is\\n// 2sj in a 1Hz (-128..127). we 3b 2FJ 1q6 up to 1h 63, 19T\\n// 2aN are 1S5 2T0 1q6 17m 118 a 2SZ 1h (of up to 126 in\\n// 1a 1S).\\n// #2f 3b 63.0\\n    #2f 3b 0.2SY\\n\\n// We 3b 1Z 3s 8w 3eO it to 1Z 1ds so 17m we 1ag 2aL\\n// 2aO 3Cw 1j 2aO 1eK. 1c7 1a 1Q to 4fp 1Z 3s.\\n    #2f 2T3 2.0\\n\\n    3Q 1v 1q5;\\n    3Q 1m 1em;\\n\\n    2n 5w 9W;\\n    2n 10f 1o 1mF;\\n    2n 5v 1o 1aS;\\n    2n 1v 2jb;\\n    2n 1o 2FL;\\n    2n 1v 2ja;\\n    2n 1o 2FK;\\n    2n 1v 1uj;\\n\\n    3G 1v 1fL;\\n    3G 1v 1aR;\\n    3G 1v 1X1;\\n    3G 1v 1X0;\\n    3G 1o 1rb;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 10f 1o 1bc\\n#3U 3H: 2f 5v 1o 2M\\n#3U 3H: 2f 10f 1o 1G\\n#3U 3H: 2f 5v 1o 1EV\\n\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1o 1bc\\n    #3U 3H: 6l 5v 1o 2M\\n    #3U 3H: 6l 10f 1o 1G\\n    #3U 3H: 6l 5v 1o 1EV\\n\\n        // 1Z 3s 2aM 1nN 1Z 6D 1Hy 2SX 9H.\\n        // 2SW 2si 1dS a 2sh 3s to 2j9 2SV.\\n        1o 1C2 = 1.0 / 1aS / 2.0;\\n\\n        1v 1oX = 1em.xy - 128.0;\\n        1o 1C0 = 13R(1em.z, 4.0) - 1.0;\\n        1o 2sk = (2t(1em.z / 4.0) + 1em.w * 64.0) * 2T3;\\n\\n        1v 3h = 2t(1q5 * 0.5);\\n\\n        // x is 1 if it\'s a 9p 1S4, 0 10g\\n        // y is 1 if 1Z 2U 5I up, and -1 if it 5I 1fK\\n        // We 2aL 1S3 in 1Z 1gR 2sg 2aK of 1q5\\n        10f 1v 2U = 1q5 - 2.0 * 3h;\\n        2U.y = 2U.y * 2.0 - 1.0;\\n        1fL = 2U;\\n\\n        // 1S3 2SU 1rd to be 2ST in 1Z JS and 2SS 16A 2SR.\\n        // 24w 24v 1KP 1Z 1d8 1j 2SQ and 2SP.\\n        1bc = 1bc / 2.0;\\n        1o 1C3 = 1G / 2.0;\\n        2M = -1.0 * 2M;\\n\\n        1o 1WU = 1bc + (1bc > 0.0 ? 1C2 : 0.0);\\n        1o 1Aa = 1bc + 1C3 * (1bc > 0.0 ? 2.0 : 1.0) + (1C3 == 0.0 ? 0.0 : 1C2);\\n\\n        // 1S2 1Z 1iI 8r 1fK to a 2U and 4b up by 1Z 6D 1G\\n        // of 1a 1rc.\\n        10f 1v 6Y =1Aa * 1oX * 3b;\\n\\n        // 1Ab 1Z 2M 16r 1WZ a 6D 17m is to 1Z 1NR of 1Z 1C1 6D.\\n        // We do 1a by 2sf a 8r 17m 5I 2SO 1Z 19r, 19T 17b\\n        // it 16r we\'re 1WZ 9p 9o 5I (1C0 = -1 or 1) 1WY 2SN\\n        // 19r 8r 5I in 1KN 2G.\\n        10f 1o u = 0.5 * 1C0;\\n        10f 1o t = 1.0 - abs(u);\\n        10f 1v 1WX = 2M * 1oX * 3b * 2U.y * 1bG(t, -u, u, t);\\n\\n        1m 1BZ = 9W * 1m(6Y / 1mF, 0.0, 0.0);\\n        6I = 9W * 1m(3h + 1WX / 1mF, 0.0, 1.0) + 1BZ;\\n\\n        // 2SM 2j7 2se 1Z 1S1 11A 2SL or 2SK 1Z 19r\\n        1o 1WW = 1h(6Y);\\n        1o 1WV = 1h(1BZ.xy / 6I.w * 1uj);\\n        1rb = 1WW / 1WV;\\n\\n        1X1 = 1v(2sk * 2jb.x / 1EV, 2U.y * 2jb.y + 2FL);\\n        1X0 = 1v(2sk * 2ja.x / 1EV, 2U.y * 2ja.y + 2FK);\\n        1X1.y = 1.0 - 1X1.y;\\n        1X0.y = 1.0 - 1X0.y;\\n\\n        1aR = 1v(1Aa, 1WU);\\n    }\\n";q.6Mo=4fo;q.6Mn="// 2t(127 / 2) == 63.0\\n// 1Z 14S 2T2 1Ac 1C4 is 2.0 at 1Z 2T1. 1Z 19r 2U is\\n// 2sj in a 1Hz (-128..127). we 3b 2FJ 1q6 up to 1h 63, 19T\\n// 2aN are 1S5 2T0 1q6 17m 118 a 2SZ 1h (of up to 126 in\\n// 1a 1S).\\n// #2f 3b 63.0\\n    #2f 3b 0.2SY\\n\\n    3Q 1v 1q5;\\n    3Q 1m 1em;\\n\\n    2n 5w 9W;\\n    2n 10f 1o 1mF;\\n    2n 1v 1uj;\\n    2n 5v 1o 1aS;\\n\\n    3G 1v 1fL;\\n    3G 1v 1aR;\\n    3G 1o 1rb;\\n    3G 6V 1o 2j8;\\n\\n#3U 3H: 2f 6V 1m 1A\\n#3U 3H: 2f 5v 1o 16B\\n#3U 3H: 2f 5v 1o 7z\\n#3U 3H: 2f 10f 1o 1bc\\n#3U 3H: 2f 5v 1o 2M\\n#3U 3H: 2f 10f 1o 1G\\n\\n    1p 2k() {\\n    #3U 3H: 6l 6V 1m 1A\\n    #3U 3H: 6l 5v 1o 16B\\n    #3U 3H: 6l 5v 1o 7z\\n    #3U 3H: 6l 10f 1o 1bc\\n    #3U 3H: 6l 5v 1o 2M\\n    #3U 3H: 6l 10f 1o 1G\\n\\n        // 1Z 3s 2aM 1nN 1Z 6D 1Hy 2SX 9H.\\n        // 2SW 2si 1dS a 2sh 3s to 2j9 2SV.\\n        1o 1C2 = 1.0 / 1aS / 2.0;\\n\\n        1v 1oX = 1em.xy - 128.0;\\n        1o 1C0 = 13R(1em.z, 4.0) - 1.0;\\n\\n        2j8 = (2t(1em.z / 4.0) + 1em.w * 64.0) * 2.0;\\n\\n        1v 3h = 2t(1q5 * 0.5);\\n\\n        // x is 1 if it\'s a 9p 1S4, 0 10g\\n        // y is 1 if 1Z 2U 5I up, and -1 if it 5I 1fK\\n        // We 2aL 1S3 in 1Z 1gR 2sg 2aK of 1q5\\n        10f 1v 2U = 1q5 - 2.0 * 3h;\\n        2U.y = 2U.y * 2.0 - 1.0;\\n        1fL = 2U;\\n\\n        // 1S3 2SU 1rd to be 2ST in 1Z JS and 2SS 16A 2SR.\\n        // 24w 24v 1KP 1Z 1d8 1j 2SQ and 2SP.\\n        1bc = 1bc / 2.0;\\n        1o 1C3 = 1G / 2.0;\\n        2M = -1.0 * 2M;\\n\\n        1o 1WU = 1bc + (1bc > 0.0 ? 1C2 : 0.0);\\n        1o 1Aa = 1bc + 1C3 * (1bc > 0.0 ? 2.0 : 1.0) + (1C3 == 0.0 ? 0.0 : 1C2);\\n\\n        // 1S2 1Z 1iI 8r 1fK to a 2U and 4b up by 1Z 6D 1G\\n        // of 1a 1rc.\\n        10f 1v 6Y = 1Aa * 1oX * 3b;\\n\\n        // 1Ab 1Z 2M 16r 1WZ a 6D 17m is to 1Z 1NR of 1Z 1C1 6D.\\n        // We do 1a by 2sf a 8r 17m 5I 2SO 1Z 19r, 19T 17b\\n        // it 16r we\'re 1WZ 9p 9o 5I (1C0 = -1 or 1) 1WY 2SN\\n        // 19r 8r 5I in 1KN 2G.\\n        10f 1o u = 0.5 * 1C0;\\n        10f 1o t = 1.0 - abs(u);\\n        10f 1v 1WX = 2M * 1oX * 3b * 2U.y * 1bG(t, -u, u, t);\\n\\n        1m 1BZ = 9W * 1m(6Y / 1mF, 0.0, 0.0);\\n        6I = 9W * 1m(3h + 1WX / 1mF, 0.0, 1.0) + 1BZ;\\n\\n        // 2SM 2j7 2se 1Z 1S1 11A 2SL or 2SK 1Z 19r\\n        1o 1WW = 1h(6Y);\\n        1o 1WV = 1h(1BZ.xy / 6I.w * 1uj);\\n        1rb = 1WW / 1WV;\\n\\n        1aR = 1v(1Aa, 1WU);\\n    }\\n";q.1nM=jr;q.2sd=NN;q.6Mm=Ng;q.6Ml=C1;q.6Mk=Mx;q.6Mj=E1;q.6Mi=z9;q.6Mh=mP;q.2j6=gf;q.6Mg=CB;q.6Mf=1b(a,b){if(!58r||aB(a))1f gf(a,1p 0,b);a=C1(a,1p 0,b);if(g(a))1f a.4b(1b(a){1d b=7O.1ui.2FI(a);1f gf(b,!1).4b(1b(c){c.1i3=a;7O.1ui.1WT(b);1f c},1b(a){7O.1ui.1WT(b);1f Z.7N(a)})})};q.4fn=Fe;q.4fm=Km;q.6Me=Iu;q.6Md=xu;q.6Mc=4fl;q.2SJ=Tn;q.58q=zj;q.6Mb=Ey;q.6Ma=YI;q.141=Qt;q.2FH=I1;q.6M9=qP;q.6M8=c9;q.6M7=Xz;q.6M6=q3;q.6M5=x4;q.6M4=z4;q.4fk=1b(a){1b b(d){if(c[d])1f c[d].1cr;1d e=c[d]={1cr:{},id:d,1aw:!1};a[d].4G(e.1cr,e,e.1cr,b);e.1aw=!0;1f e.1cr}1d c={};b.m=a;b.c=c;b.p="";1f b(0)};q.6M3=zl;q.6M2=Rt;q.6M1=Kg;q.6M0=ec;q.6LZ=24;q.6LY=Hf;q.6LX=zH;q.6LW=sZ;q.6LV=kr;q.6LU=4fj;q.6LT=sf;q.6LS=Pv;q.1fJ=Am;q.3eN=Yc;q.6LR=1b(a,b,c,d){sO(a,b,c,d,bM);1f 0<bM.x&&0<bM.y&&0<bM.z};q.6LQ=QM;q.6LP=dl;q.6LO=DI;q.6LN=uQ;q.6LM=vQ;q.1bb=WX;q.6LL=gp;q.6LK=Bi;q.6LJ=4fi;q.6LI=uj;q.18T=LM;q.5U=nr;q.6LH=WC;q.6LG=Pw;q.6LF=eP;q.6LE=4fh;q.6LD=Kz;q.4fg=nj;q.6LC=Yi;q.6LB=uP;q.2sc=FB;q.6LA=E4;q.6Lz=t4;q.6Ly=u4;q.6Lx=o5;q.6Lw=A4;q.4ff=1b(a){1f Oq(a)};q.6Lv=al;q.6Lu=4fe;q.6Lt=AP;q.58p=BP;q.1fI=FN;q.1A9=AA;q.6Ls=hq;q.1S0=Ug;q.1xI=MM;q.6Lr=tf;q.58o=kx;q.6Lq=Rs;q.7F=St;q.1BY=$8;q.6Lp=wh;q.2r=Vf;q.6Lo=EM;q.6Ln=Gf;q.6Lm=hb;q.6Ll=t2;q.6Lk=Vk;q.6Lj=u;q.6Li=Nj;q.6Lh=Xd;q.6Lg=ex;q.6Lf=HA;q.6Le=HX;q.6Ld=4fd;q.7y=Hw;q.6Lc=Wx;q.3eM=b8;q.6Lb=d9;q.6La=uq;q.6L9=IA;q.6L8=wF;q.6L7=PM;q.1KO=Cy;q.6L6=Na;q.2SI=ln;q.6L5=F4;q.6L4=pQ;q.3Cv=vc;q.1Q=Gb;q.2a=vg;q.1d=Tt;q.6L3=n9;q.6L2=Qv;q.6L1=uS;q.6L0=uF;q.6KZ=Ow;q.6KY=1b(a){v.1N.2c("6o",a);1d b=3n.4O("5u");b.8k="3P-6o-6KX";a.11z.3A(b);1d c=1g TD(b,a.4r);1L.2X(a,{6KW:{1n:1b(){1f c}}})};q.6KV=1b(a){if(!g(a))1t 1g r("6o is 1X.");1d b=3n.4O("5u");b.8k="3P-6o-6KU";a.11z.3A(b);1d c=1g VD(b,a.4r);1L.2X(a,{1c6:{1n:1b(){1f c}}})};q.6KT=1b(a,b){1b c(b){pw(b);h&&(a.13K.7f(),a.2j5.7f());b=b.6KS.24u;1j(1d c=b.1h,d=0;d<c;d++){1d e=b[d],f=1g 2sb;f.1w2=58n(a,e,n,p);f.1ra=58m(a,e);f.3Cu(e)}}if(!g(a))1t 1g r("6o is 1X.");if(a.3p("3Ct"))1t 1g r("3Ct is 1A8 2l by 1KN 2SH.");if(a.3p("3Cr"))1t 1g r("3Cr is 1A8 2l by 1KN 2SH.");if(a.3p("2FG"))1t 1g r("2FG is 1A8 2l by 1KN 2SH.");if(a.3p("3Cs"))1t 1g r("3Cs is 1A8 2l by 1KN 2SH.");if(a.3p("3eL"))1t 1g r("3eL is 1A8 2l by 1KN 2SH.");b=m(b,m.4Z);1d d=!0,e=m(b.3eL,!0),f=1g sa,h=m(b.3Cs,!0),k=m(b.3Ct,a.11z),p=m(b.1d7,!0),n=b.1aQ;k=Ie(k);1L.2X(a,{3Ct:{1n:1b(){1f k},1C:1b(a){if(!g(a))1t 1g r("1Q is 1X.");4fc(k,c);k=a;jV(k,c)}},3Cr:{1n:1b(){1f d},1C:1b(a){a!==d&&(a?jV(k,c):4fc(k,c),d=a)}},2FG:{1n:1b(){1f f}},3Cs:{1n:1b(){1f h},1C:1b(a){h=a}},3eL:{1n:1b(){1f e},1C:1b(a){e=a}},1aQ:{1n:1b(){1f n},1C:1b(a){n=a}},1d7:{1n:1b(){1f p},1C:1b(a){p=a}}});jV(k,c);a.1M=x2(a,a.1M,1b(){a.3Cr=!1});a.6KR=c};q.6KQ=1b(a,b){if(!g(a))1t 1g r("6o is 1X.");b=m(b,m.4Z);1d c=1g cE({4r:a.4r,11z:a.58l,2SG:b.2SG});1L.2X(a,{6KP:{1n:1b(){1f c}}})};q.6KO=NB;q.6KN=jc;q.16r=Z;q.6KM=x2;q.6KL=sP;q.1Hx=eq;q.6KK=GX;1L.12U(q,"4fb",{1Q:!0})});',62,40556,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||this|function||var||return|new|length|prototype|for|Math||vec4|get|float|void|push|nfloat|else|throw|endif|vec2|vec3||clone|ifdef|color|nuniform|set|height||null|width|xyz|type|nvarying|position|Object|destroy|typeOf|context|nvec4|value|nvec3|case|normalize|nif|max|break|required|texture2D|the|||||||||||values|number|object|||define|data|typeof|name|nreturn|main|defined|instanceof|uniform|min|show|material|style|nvoid|floor|nvec2|sampler2D|attributes||rgb|shaderProgram|dot||gl_FragColor|||v_textureCoordinates|direction|update|url|nattribute|Array|equals|offset|defines|alpha|index|must|_scene|not|sin|normal|center|right|defineProperties|clamp|componentsPerAttribute|||||||||||Number|scale|ellipsoid||enabled|indexOf|rectangle|pos|cos|frustum|componentDatatype|text||document|ready|hasOwnProperty|positions|pow|distance|render|geom|options|camera|evaluate|geometry|mode|appendChild|left||||freeze|varying|mapbox|near|buffer|getValue|radius|canvas|longitude|FLOAT|cesium|attribute|ngl_FragColor|remove|mix|pragma|subtract|far|replace|sqrt|isDestroyed|||||||||||modelMatrix|then|vertexArray|image|depth|aPosition|multiplyByScalar|slice|nconst|_context|latitude||vColor|string|west|positionEC|packedLength|scene|tfloat|fromCache|gl_FragCoord||renderState|array|_ready||Float32Array|cross|south|result||state|call|JSON|start|uniformMap|fill|Uint8Array|texCoord|indices|createElement|north|framebuffer|batchId|distanceDisplayCondition|default|stop|size|temp|normalEC|delete|EMPTY_OBJECT|||||||||||east|typedArray||map||unpack|isConstant|resolve|property|source|raiseEvent||arguments|pack|transform|sources|viewport|red|toString|green|div|lowp|mat4|kind|materialInput||fragmentShaderSource||top|||enable|blue||points|GL_EXT_frag_depth|zoom|nelse|outlineColor|parse|vertexShaderSource|execute|kml|outlineWidth|rotation|equalsEpsilon|properties|_boundingSphere|_ellipsoid|fromCssColorString|_frameState|eyeCoordinate|||||||||||nFxaaFloat|level|apply|expression|dimensions|granularity|_colorCommand|ZERO|NONE|_value|next|initialize|||viewer|ncolor|time|vTexCoord|dirty|pass|Error|vertexPos|MAX_VALUE|shadows|_batchTable|splice|extension|queryNumericValue|_tilingScheme|line||create|SCENE3D|uniforms|gl_Position|_hypsometricSetting|positionWC|than|_gl|heightReference|icon||doneP|doneN|test|colorTexture|switch|highp|boundingVolume|_name|dist|primitiveType|||||||||||_color|bottom|tvec4|bool|vertexBuffer|removeAll|split|_primitive||fromArray|log|extent|constructor|feature|discard|drawingBufferHeight|getValueOrDefault|layer|aTexCoord0|magnitude|boundingSphere|point|undefined|vertexColor|texture|opacity|error||STATIC_DRAW|||step|_surface|owner|called|offNP|addEventListener|parseFloat|request|reject|window|int|usage|_id|_readyPromise|_rectangle|UNSIGNED_BYTE|parameters|attributeLocations|bind|_tileProvider|count|||||||||||ceil|pixelFormat|tilingScheme|cull|heading|angle|fromDegrees|contains|throwInstantiationError|drawingBufferWidth|className|vPositionMC|setAttribute|isArray|byteOffset|GL_OES_standard_derivatives|pitch|vector|stringify|diffuse|textureCoordinates|imagery|before||getValueOrUndefined|flat|parseInt|_definitionChanged|_mode|lumaEndP||lumaEndN|polyTexCoord|factor|toRadians|offsetAttribute|IDENTITY|_layer|_animationGOFeature|fract|true|multiplyByPoint|tangent|texcoord|textContent|bitangent|_layers|format|matrix|depthTexture|outline|||||||||||||multiply|readyPromise|children|czm_viewport|tex|createTypedArray|_positions|extrudedHeight|v_st|primitive|pop|RGBA|offsetInBytes|end|round|czm_modelView|WHITE|_initialize|strideInBytes|tif|fromElements|path|was|WGS84|interpolated|getUint32|The|jscomp|czm_gammaCorrect||_tileset|version|out|viewPos|depthTest|keys|credit|_position|requires|font|clear|layers|coordinates|vertexFormat|clipPos|greater|concat|u_matrix|origin|greaterThanOrEquals|provider||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||const|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||exp||globe|posP|posN|flatCoordinates||mediump|otherwise|samplerTex|billboard|SCENE2D|PI_OVER_TWO|promise|nmaterialInput|tan|_height|constant|_texture|multiplyByVector|passes|key|_command|sampler|KEEP|extensions|www|_url|long0|LOG_DEPTH|_canvas|_|pixelDatatype|floatToByte|try|nmaterial|nczm_material|String|derivedCommands|_controlPoints|with|radii|tvec2|UNSIGNED_SHORT|toDegrees|http|byteLength|_show|NEAREST|_width|ndiscard|indexBuffer|Uint16Array|cartesianToCartographic|||||||||have||lineWidth|czm_normal|substring|_entity|layout|orientation|CLAMP_TO_EDGE|_visibleViewport|wait|ray|negate|console|_fileType|pixels|czm_modelViewProjection|disableDepthTestDistance|mask|treturn|mapProjection|01|ngl_Position|translate|vSecondColor|lerp|bufferView|container|view|catch|translucent|range|positionToEyeEC|class|TRIANGLES|tile|isNaN|supported|init|current|polyline|czm_unpackDepth|transition|pick|FxaaLuma|endPosition|_boundingVolume|boolean|LINEAR|_sp|sense|aColor|com|MINIMUM_VALUE||queryFirstNode|||||||||_renderEntityList|gltf|uSplitPosition|uSplitDirection|blending|parent|Infinity|stencilTest|polygon|_offsetAttribute|nextWC|_graphicObject|_attributeLocations|button|_resource|classificationType|sign|intensity|_textures|_modelMatrix|_symbolDot|65536|plane|maximumHeight|fromCartesian|project|nrotation|atan2|roll|FAILED||visibility|repeat|png|forEach|tagName|times|defer|CREDENTIAL|_index|circle|clipped|pixelSize|removeEventListener|createVertexBuffer|BYTES_PER_ELEMENT|defineProperty|roughness|model|Uint32Array|_indexedDBScheduler|inverse|||||||||||entity|minimum|substr|_billboardCollection|_ctx|smoothstep|geometryInstances|scaleByDistance|fWindowZ|1024|duration|commandList|uniformState|aspectRatio|group|_framebuffer|mesh|head|_segmentCount|a_pos|units|uHypRect|minimumHeight|aTexCoord1|primitives|visible|_update|cartographicToCartesian|definitionChanged|culledByNearPlane|flipY|box|zIndex|Invalid|colorTextures|arcs|entities|v_positionEC|u_resolution|aNormal|_model|childNodes|depthMask|mod|pixelRatio|base|events|_scale|serialize|Float64Array|tablename|_clearCommand||match|||||FxaaTexTop||||lumaNN|FXAA_QUALITY_PS|clock|has|stride|_imageryProvider|arcType|datatype|lat0|mat3|delta|pixelOffset|createIfNeeded|_options|fHeight|while|buf|symbolTextStyle|_vertexFormat|createGeometry|clip_vertex|texelSize|bounds|Polygon|WebGLPlot|_values|minificationFilter|equal|TWO_PI|nfor||tgl_FragColor|join|now|paint|_granularity|isStopIncluded|translation|fValue|_style|filter|_errorEvent|_tileWidth|func|maximum|operationType|prevWC|VertexColor|use|gradientScaled|__proto__|command|||||||||||uDiffuseColor|fillStyle|tileset|input|_stencilCommand|_materialProperty|v_color|uSelColor|fromRadians|COLUMBUS_VIEW|content|json||stroke|getAttribute|_points|see|low|target|expandAndWidth|magnificationFilter|shallowClone|fail|_bounds|RADIANS_PER_DEGREE|_renderTexture|rgba|czm_branchFreeTernary|positionMC|czm_modelViewRelativeToEye|prev|sort|_primitives|_cameraDepthBuffer|_childrenPageLod|exported|stRotation|ntemp|translucencyByDistance|sigma|localPoints|horizontalOrigin|_container|animation|debugShowBoundingVolume|emplaceBack|arrayBuffer|_layerScheduler|_hash|queryStringValue|_statistics|symbolStyle||appearance|high||||nbool|getColorTexture|||UNIT_Z|_geometry|FAQ|EXTRA_EXPORTED_RUNTIME_METHODS|czm_translateRelativeToEye|false|dir|destination|minimumLevel|maximumLevel|_labelCollection|verticalOrigin|zero|_outlineWidth|_symbolStyle|_symbolTextStyle|isStartIncluded|when|SHIFT_RIGHT8|6378137|terrainProvider|_symbolName|invalid|_provider|_projection|_va|code|blur|specular|atan|czm_getMaterial|endPointWC|description|query|_pickId|_tileHeight|tileWidth|cartesian|getDerivedResource|_attributes|_outlineColor|SHIFT_LEFT8|coord|uHypContourFillMode|u_texture|texColor|perPositionHeight|Date|multiplier|fov|destroyAttachments|localName|||_distance|||||_sceneMode|||runtime|rotate|czm_planeDistance|intersection|_element|_layerQueue|tileHeight|_dictColorTable|maximumRadius|magnitudeSquared|_viewPosition|_entityCollection|that|logDepthOrDepth|uTileBounds|FXAA_QUALITY_P2|FXAA_QUALITY_P1|FXAA_QUALITY_P0|title|node|_material|tiles|zPass|zFail|_distanceDisplayCondition|featuresLength|shadowMap|czm_projection|prevEC|symbolType||_indexedDBSetting|_maximumLevel|driven|001|location|isShowing|Boolean|asin|geodeticSurfaceNormal|tdiscard|indexDatatype|createIndexBuffer|label|href|_billboards|TEXTURE_2D|semantic|pixel|asynchronous|emission|finalOpacity|||||||||||czm_eyeToWindowCoordinates|transparent|halfWidth|previous|BatchTable|does|you|wrapT|wrapS|_textureAtlas|directionWC|DOUBLE|This|u_texsize|nDotL|nangle|v_rightPlaneEC|worldMatrix|v_Position|startPosition|Instruction|toLowerCase|_framebufferList|_dataBounds|merge|czm_currentFrustum|ambient|interval|4096|v_texcoordNormalizationAndStartEcYZ||nextEC|uTexture|Point|posM|FXAA_QUALITY_P3|Cesium3DTileStyle|clientWidth|startTime|eastNorthUpToFixedFrame|Style|instances|sizeInBytes|_left|_intervals|projection|realTexCoord|lightColor|OPAQUE|face|frameState|removeChild|addSeconds||||||||Text||charCodeAt|tileDiscardPolicy|_fboState|_depthBuffer|oldPrimitive|from|lineColor|vertexAttributes|_state|RegExp|_minEditPts|register|_depthTexture|Uniform1f|_geoGraphicObjects|semiMajorAxis|extras|extrude|message|coords|shadowParameters|nresult|SPOT_LIGHTS|getDepth|invTexSize|objsColor|GeometryType|POSITIVE_INFINITY|libID|lessThanOrEquals|Feature|encoding|support|observable|positionCartographic|_center|_depthStencilTexture|altitudeMode|terrainState|instanceDivisor|_group|Expected|enum|isUpdate|_symbolAlgo|but|threshold|eyeOffset|position3DLow|lightDirection|PER_INSTANCE_COLOR|ecStart|FXAA_QUALITY_PRESET|setInputAction|currentTime|extend|backgroundColor|nodeType|65535|BLACK|ids|arrayBufferView|_vaf|_passState|batchTable|_volObj|_content|_localPoints|can|fSelected|cosAngle|currentColor|nvalue|czm_viewerPositionWC|uRect|toValue|LINES|symbol|ArrayBuffer|Image|charAt|MORPHING|cache|REPEAT|loaded|u_image|fade|czm_windowToEyeCoordinates|contourMapColor|czm_globeDepthTexture|telse|uncompress|FXAA_QUALITY_P4|_libID|_clock|complete|click|continue|argument|createViewportQuadCommand|application|fromPoints|_lineCommand|semiMinorAxis|proxy|v_width2|u_device_pixel_ratio|globeDepth|position3DHigh|Color|u_cameraAndRadiiAndDynamicAtmosphereColor|denominator|realNormal|len|normal_vertex|LineString|trim|quadKey|_type|fillColor|instanceBuffer|_direction|cornerType|availability|_loadResources|program|gapwidth|pattern_to|pattern_from|failed|czm_epsilon7|wValue|czm_getDefaultMaterial|maxValue|outColor|TRANSLUCENT|APPLY_SWIPE|APPLY_SPLIT|stepSize|gl_FragDepthEXT|_code|_visible|none|UNSIGNED_INT|getType|src|components|_drawCommand|_view|useLogDepth|_fb|polygonOffset|_length|bbox|traverseRenderEntity|field|mat2|getGeometryInstanceAttributes|ifndef|finalColor|nvector|TEXTURE_UNITS|selected|posInCamera|xyPos|greaterThan|ALPHA_BLEND|performance|one|lineTo|https|ptr|subscribe|instance|reference|getPickRay||_heightReference|scheme|names|extrudedHeightReference|_location|cesiumInspector|Use|8192|velocity|zxy|NdotV|alignedPlaneNormal|pixelOffsetScaleByDistance|resize|setValue|css|strokeStyle|nodes|clippingPlanes|_analyst3D|addToken|fragmentShader|environmentVisible|vertices|polylines|sphere|exports|anchor|dFdy|dFdx|oriColor|nsense|weights|ntexcoord|acos|isVisible|EXCAVATION|_tile|_globe|getElementsByTagName|only|errorEvent|_uniformMap|pickId|style3D|czm_materialInput|lVector|imageSize|05|fragColor|FXAA_QUALITY_P5|removeInputAction|geoEdit|getBoundingSphere|_viewModel|stopTime|minY|minX|_clippingPlanes|READY|unproject|_fbo|tileXYToRectangle|referenceCount|_offCenterFrustum|_rootEntities|_extrudedHeight|tooltip|clampToGround|shader|interpolate|nfactor|NormalVertex|fromColor|innerHTML|plotI18n|utils|_uniforms|_credit|Cesium|cullingVolume|_hypsometricTexture|UNIT_X|_setTransform|_colorTexture|less|_goAnimations|CENTER|uri|buffers|WEBGL2|inout|czm_metersPerPixel|uHypFloor|czm_depthRange|v_normalEC|fxaaQualityRcpFrame|secondsDifference|_symbolType|MultiPolygon|read|DataView|isOpen|setView|strong|_matModel|_polylines|halfAxes|_s3mLoadState|vertexPackage|layout_symbol|programConfigurations|_rotation|_features|ellipseName|need|color1|mipLevel|dyc|dxc|czm_equalsEpsilon|POINT_LIGHTS|vecTexCoord|ClampObject|reverse|requestRender||load|LOADED|Cannot|_keymap|light|_copyDepthCommand|_compositeCommand|frontOperation|imageryLayer|getColumn|_effect|sceneMode|bindTexture|_label|_isHidden|numberOfVerticalLines|batchIds|datumCode|a_data|textureSize|czm_s3mBatchOperation|fog|nout|usePrevious|CLIP|forward|valid|maximumScreenSpaceError|alignment|maxY|maxX|readVarint|ends_|after|_size|altitude|divideByScalar|DEPTH_STENCIL|updaters|backOperation|_right|dropDownVisible|segments|keep|right_2|czm_pi|encoded|finalCoord|oriVertex|npositionEC|lightEnum|lengthSq|excavateTexCoord|getColor|OVERLAY|Images|createPrimitive|parentNode|verticesCount|REPLACE|SuperMap|ReplayGroup|exec|UNIT_Y|validate|_times|responseType|_disableDepthTestDistance|scheduleTask|textures|ellipse|bottomRadius|componentType|FLOAT_MAT4|datum_params|u_scale|stack|computeContourMapColor|epsilon|uExcavateRect|uSwipeRegion|vPos|fragment|FXAA_QUALITY_P6|_owner|_maxEditPts|renderer|getContext|svg|shadowState|scene3DOnly|_radius|_zBounds|namespaceURI|colorMask|RGB|receiveShadows|tail|fromQuaternion|_fileName|_labels|imageBasedLightingFactor|scaleToGeodeticSurface|placement|down|v_normal|v_pos|ndirection|uHypMaxVisibleValue|Neighbors|hsb|pickColor|uXYBounds|padding|releaseSelection|Widgets|viewModel|navigation|toCssColorString|Int32Array|setFlatCoordinates|scissorTest|_customRequestHeaders|xml|multiViewportIndex|TOP|_dirty|SuperMapCache|toCartesian|EPSILON6|polygonHierarchy|_style3D|_lineWidth|_strVolumeExt|layoutVertexArray|Int16|_dataBuffer|stencil|GEODESIC|debugWireframe|KHR_techniques_webgl|inputColor|planeNormal|DIR_LIGHTS|u_radii|imgCoord23|imgCoord01|uColor|uGeoBounds|clientHeight|LOADING|firstChild|SimpleGeometry|fromCharCode|Symbol|_rs|frameNumber|OUTSIDE|instanceCount|supermap|multiplyByPointAsVector|replaceMain|fromAxisAngle|_translucencyByDistance|_supportCompressType|renderEntities|instead|u_|pixelStorei|_array|KML|_onCollectionChanged|_specularEnvironmentMapAtlas|least|log2Depth|czm_octDecode|czm_pixelRatio|sinAngle|mixColor|depthClampFarPlane|southWestCorner|xyxy|edgesTex|upOrDown|v_startPlaneNormalEcAndHalfWidth|rotationMatrix|tCoord|SQRESULT|HAS_NORMAL|vTexMatrix|uLineWidth|lumaM|horzSpan|doneNP|LEFT|second|UNLOAD|shaderCache|body|featureIndex|MultiLineString|leaf|convert|subarray|cancel|EPSILON7|collection|lightSource|_useLogDepth|_level|_offset|geometries|_lineColor|_clampMode|_items|TAI|Easing|_workerName|uHypLineColor|SPHERICAL|v_width|endPlaneEC|startPlaneEC|weight|brightness|vWindowZ|copy|startPoint|isAvailable|screenSpaceEventHandler|status|shift|NaN|shaderSource|requestImage|castShadows|sci3d|_renderState|vertexArrayDestroyable|_scaleByDistance|_buffer|_relativePath|setDefault|getDefault|_canvasWidth|topRadius|applyOffset|blob|topLevel|contourRate|normalTangentSpace|pointSize|NeighborMax|NeighborMin|horizontal|lessThan|scaledHeight|vPositionEC|Check|setTimeout|Replay|active|global|element|same|cannot|stackPartitions|slicePartitions|EPSILON10|ONE|copyFrom|handleError|ClampGroundRealtimeRasterCache|backFunction|frontFunction|_levels|_image|terrainData|fromDegreesArrayHeights|_polygons|_oriClipPlane|headers|geometryByteLength|hierarchy|polyfill|compare|fabric|check|extrusion|ratio|log2|scalar|attenuation|life|czm_morphTime|gamma|v_polylineAngle|endPoint0Distance|p1ToP0|outsideColor|n_range|f_range|compressed|uFillForeColor|nFxaaBool|ndoneNP|ndoneP|ndoneN|FXAA_QUALITY_P7|LIGHT_COLOR|s3m|_timeBarSecondsSpan|clockStep|headerInfo|throttle|table|Assets|_createVertexArray|cacheKey|_textureCache|upWC|imageryProvider|_hypsometricRegion|getSizeInBytes|found|texParameteri|indexArray|u0627|_fillEnabled|technique|lightDirectionEC|selectedColor|uHypMinVisibleValue|uHypOpacity|HDR|czm_epsilon1|czm_computeNormal|nczm_materialInput|startAngle|endNormalAndTextureCoordinateNormalizationX|v_endPlaneNormalEcAndBatchId|expandDirection|normalMC|transparentBackColor|sizeInMeters|bIn|category|rte|features|html|item|Unknown|_minimumLevel|_environmentVisible|begin|fetchImage|loadingImagery|renderable|_radii|copyFromArrayView|spatialReference|_verticalOrigin|output|pattern|ALWAYS|_geometries|programs|_heightmapWidth|DONE|czm_inverseProjection|darkness|vIsFiltByID|computeMixCon|czm_antialias|minValue|precision|a_batchId|czm_batchTable_color|display|lightSpecularTerm|lightDiffuseTerm|v_endEcAndStartEcX|distanceFromStart|expandWidth|z_window|HYPSOMETRIC|czm_batchTable_pickColor|MOUSE_MOVE|fromType|span|vertical|isEmpty|resolution|img|HALF_FLOAT|isGlobalVisible|getVisibleInViewport|_stages|depthStencilTexture|translucentCommand|fetchArrayBuffer|queryParameters|_volData|exits|alive|NO_EXIT_RUNTIME|exited|labels|textStyle2D|args|handler|localFrame|enuCenter|_showProperty|_shadows|msg|OVERDRAW_INSPECTOR|u_camera_to_center_distance|czm_sceneMode|right_4|uHypHasAnalysisRegion|contourCoord|uHypsometricTexture|uHypCeil|expandDir|czm_modelViewProjectionRelativeToEye|FLAT|planes2D_high|v_inversePlaneExtents|searchTex|bias|halfInteriorWidth|scaledWidth|mpp|alphaMultiplier|alignedAxis|smoothing|vClip_pos|SILHOUETTE_SELECT_TYPE|COMPUTE_W_VALUE|mixValue|SYMBOL_DOT|_instanceIds|clientX|clockRange|first|hitDetectionInstructions|instructions|getFlatCoordinates|toBBox|pickFeatures|_inner|_removeCallbackFunc|_outline|oit|hasVertexNormals|stencilMask|useType|orientedBoundingBox|_changed|arrIndexPackage|metadata|images|sections|Uniform2f|_indices|_showMode|minimumHeights|maximumHeights|equalFuzzy|fillMaterialProperty|_referenceFrame|_terrainOffsetProperty|_collections|_materialCache|projections|pattern_tl_b|pattern_br_b|pattern_tl_a|pattern_br_a|czm_signNotZero|czm_packDepth|hue|clip_planes|rightNormalAndTextureCoordinateNormalizationY|positionWindow|compressedAttribute0|compressedAttribute1|uGeoMatrix|LEFT_UP|initSymbol|easingFunction|_topDiv|mousedown|indicesTypedArray|sml|calculateParts|simplify|Stroke|GeometryLayout|ADD|org|deferred|hasAlphaChannel|frameBufferType|passState|CLAMP_TO_GROUND|toFixed|fromCartesian3|_instanced|positionToTileXY|throttleByServer|readyImagery|DisplayMode|_isUpdate|credits|wkid|lat|specularEnvironmentMaps|sphericalHarmonicCoefficients|symbolLibData|possibleOutputs|entityCollection|_runtime|_pipeline|bufferViews|FLOAT_VEC3|secondsOfDay|dayNumber|_stRotation|Proj|authority|_textureWidth|u_ratio|color2|nvertexColor|noValue|distanceToContour|rectPos|czm_decompressTextureCoordinates|deltaTime|nv_textureCoordinates|usePrev|VECTOR_TILE|v_pixelDistance|distortion|thickness|encodedNormal|newCoords|clipToEye|renderTextureCoord|sceneDepth|TexCoord|COMPRESS_TEXCOORD|scaleMatrix|_plottingEdit|_display|getPoint|toJSON|_eventHelper|dispose|sceneModePicker|_opacity|touchstart|_vertexPackage|possiblyEvaluate|emplace|ReplayType|replay|getRotation|getStride|Fill|color_|RegularShape|disabled|using|_tileDiscardPolicy|config|_multiViewportInfo|defaultTexture|headingPitchRollToFixedFrame|_layerIndex|normalTexture|holes|union|quantization|_version|applyStyle|tileInfo|POSITION|_order|eachChild|halo|locale|showsUpdated|getValueInReferenceFrame|_highlightColor|materials|accessors|setBatchedAttribute|addMaterial|addAttribute|literal|which|czm_writeLogDepth|off|czm_raySegment|czm_phong|czm_computePosition|czm_clip|u_highlightColor|fragmentColor|v_pickColor|startNormalAndForwardOffsetZ|startLoAndForwardOffsetY|startHiAndForwardOffsetX|lineDir|winPos|textureCoordinateRectangle|getTime|bloom|REPLACE_SELECT_TYPE|COMPRESS_VERTEX|Instance|vTexMatrix2|FXAA_QUALITY_P8|FxaaInt2|FxaaTexOff|hpr|compressVertices|_geoGraphicObject|getById|baseLayerPicker|attrLocation|_duration|MultiPoint|image_|file|getTileCredits|viewMatrix|addTokenWithKey|isSupported|_floor|Textures|_baseUrl|_cache|getNumberOfXTilesAtLevel|_pixelDatatype|_billboard|_viewport|tileProvider|multiplyComponents|isObjectVisible|_waterParamter|showBackground|numberOfPendingRequests|both|geoPackage|texImage2D|directional|_batchId|multiplyTransformation|_goFeature|ColorType|_dotGridScale|libIDs|getUrlComponent|_distanceDisplayConditionProperty|depthFailMaterialProperty|intervals|SAMPLER_2D|shadowVolume|lat_ts|fullExtent|es3|a_extrude|fromScale|find|depthBias|right_8|tangentToEyeMatrix|czm_view|hypColor|uHypsometricRenderTexture|uSpotLightDistanceDecayCosVisible|velocityTexture|exposure|u_hsbShift|response|textureAlpha|uTexture1|depthTexCoord|NORMAL_AND_DEPTH|SELECTED|Geometry|closed|selectedEntity|open|layerName|uint32|inherits|inflate|unshift|math|Icon|changed|random|process|_commands|projectionMatrix|_packingRequest||webgl2|_parentSelected|updatePass|_slopeSetting|waterMaskTexture|_worldMatrix|isTranslucent|_blendCommand|_scanCommand|_intensity|token|backgroundPadding|removeProgramDefine|appendProgramDefine|_foreColor|_fillColor|nCompressOptions|_MVTStyle|binders|activeTexture|between|encode|_property|cylinder|getValueOrClonedDefault|help|EPSG|_glyphs|_composite|_batchIds|_rtcCenter|DECREMENT_WRAP|iconUrl|a_pos_normal|normals|u_pixel_coord_lower|u_pixel_coord_upper|czm_frustumPlanes|017453292519943295|czm_piOverFour|xOffset|czm_lightDirectionEC|rayleighScaleDepth|outerRadius|TEXTURE_COORDINATES|texcoordNormalization2D|planeDirection|u_depthTexture|fDepth|lineCount|saturation|tvec3|czm_batchTable_operation|vTexCoordZ|overlayColor|hidden|search|colorBlendMode|_scaleValues|stretch|uint16|GeometryCollection|textAlign|endss_|video|loop|template|nextSibling|_lastSelectionResult|_levelZeroTiles|_hdr|_s3mInstanceCollection|_repeat|commands|interleave|_quadtree|flags|setQueryParameters|_horizontalOrigin|hasProperty|trianglesLength|_iconCollection|_pixelOffset|FilterMode|done|_geometryByteLength|cachestatus|Uint16|depthRange|Uniform1i|_lightColor|_textPos|addInterval|fromIso8601|depthFailMaterial|_blendOption|_backgroundBillboard|NEGATIVE_INFINITY|_rendererResources|extensionsUsed|onerror|v_gamma_scale|vertex|used|v_pos_b|v_pos_a|PENDING|stroke_width|nczm_writeLogDepth|depthOrLogDepth|shininess|normalShadingSmooth|isPicked|czm_reverseLogDepth|root|slope|point1|uFilterMode|yOffset|geoBounds|npolyTexCoord|volColor|vExcavationVertexPos|nnormalEC|fBorderWidth|useA|uTexMatrix|getGlobeDepth|rampColor|ESun|silhouetteColor|nuv|worldCoordinate4|colorTex|resultColor|luminanceAtZenith|horizonDotNadir|baseColor|webMercatorT|approxLineDirection|distanceFromEnd|u_opacity|bNext|splitPosition|previousColor|tileTextureCoordinates|resultColour|focalDistance|coc|depthFar|depthNear|HAS_TEXTURE|||SColor|uType|tdirection|lengthSign|FXAA_QUALITY_P9|lumaS|lumaN|collectionChanged|_tweens|_startJulian|getHeight|_arrIndexPackage|_diffuseColor|getObservable|auto|composite|_rotate|getScale|RIGHT|lastIndexOf|_destroy|afterRender|cacheError|positiveX|BACK|endFrame|_picking|terrain|computeVisibility|_imageBuffer|replaceCache|speed|uvOffset|_selected|row|RECEIVED|VERTEX_FORMAT|hasTilesetContent|refine|_geoName|dbname|fillForeColor|_cameraNames|_viewSheds|_count|date|serviceName|updatersWithAttributes|subscriptions|_arcType|_imageBasedLightingFactor|innerRadii|subdivisions|asset|intersect|allowPicking|EPSILON14|RHUMB|_mesh|46875|es6|uHypContourInterval|0001|czm_sunDirectionEC|velocityScale|czm_viewportOrthographic|nv_positionEC|oddColor|extrudeDirection|metalness|autoExposure|getPolylineWindowCoordinates|distanceToCenter|maxDistance|uSlopeRect|FRAGMENT_DEPTH_CHECK|tgl_Position|vPickColor|decode_position_normConstant|decode_position_min|uEmissionColor|gradient|getInstance|tilt|touches|_properties|method|getSymbolName|getMinEditPts|_endAngle|03125|shouldAnimate|getImage|lineDash|lineJoin|lineDashOffset|2048|getRevision|bytes|should|intersectPlane|bufferUsage|readPixels|northeast|southwest|move|_upSamplePassState|kernelRadius|computeCullingVolume|_tilesToRender|EPSILON5|lightbox|_subdomains|texturesByteLength|_ownerGroup|lon|Type|imageArray|TEXTURE0|cesiumLevel|_orientation|compressTextureCoordinates|_defaultTexture|Out|_webgl2|pntCenter|visibleReference|corridor|_polyline|_isGeometryDirty|tagBuilder|_geometryUpdater|_onEntityPropertyChanged|referenceFrame|_polylineCollection|_dataSources|slices|CESIUM_3D_TILE|lat1|96875|URL|u_units_to_pixels|two|noise|sideBlockCount|nfinalColor|mix_con|lightDistance|Yxy|nlayout|sampleOffset|evenColor|planes2D_low|v_southPlane|v_westPlane|cosTheta|fOffset|inverseRoughness|NdotH|NdotL|czm_RollerShutter|AUTO_EXPOSURE|fuzz|lineOffset|tempColor|SHIFT_LEFT12|uGlobeTextureSize|uTransparentFilter|vPrjPos|TEXTURE|uLineColor|RuntimeError|tgl_FragDepthEXT|eyePosition|dragHandlers|startScale|_serverUrl|_clockViewModel|imageryLayers|_mapPass|SIXTY_FOUR_KILOBYTES|track|pointCloudShading|getMaxEditPts|_startAngle|insert|textBaseline|change|55296|more|numBytes|require|outputTexture|S3M|bloomEffect|getProperty|_propertiesChanged|_copyColorCommand|_completeMorph|_pixelFormat|_currentTime|CESIUM_3D_TILE_MASK|_backgroundColor|_flattenTextureWidth|cullEnabled|_primitiveType|_gridProvider|UNLOADED|_clipping|enqueue|_polygonTexture|setColumn|fetchJson|applyDebugSettings|fromCartesian4|pickEllipsoid|negativePiToPi|queryNodes|_baseUri|_renderQueue|_replacementList|_selectionInforMap|nFormat|serverKey|UniformMatrix4f|bits|SVC_Vertex|_invertViewMatrix|_depthBuffers|_endFunc|_beginFunc|_textContent||_error|skin|represent|fromDistanceDisplayCondition|_pixelOffsetScaleByDistance|_eyeOffset|maximumCone|minimumCone|maximumClock|minimumClock|_orientedBoundingBox|meshes|lat2|overrideMimeType|getElementIndex|onload|interpolation|czm_twoPi|coefficients|logZ|outTexCoord|distanceToCamera|uPointLightDistanceAndDecayAndVisible|czm_depthClampFarPlane|clip_mode|HAS_LIGHT|u_minMaxValueAndFiltration|nczm_vertexLogDepth|upAxis|u_modifiedModelView|innerRadius|nv_color|reflectionDotNadir|blendRegionSize|region|nalpha|ENABLE_VERTEX_LIGHTING|uModifyRect|lower|contrast|uTexture1_size|uPointSize|shadowPosition|perVertexNormals|fSelectedForSilh|space|uMinMaxTransparent|imageColor|aScale|FXAA_QUALITY_P10|posB|nFxaaFloat2|fontSize|maxHeight|POINTS|_closeDropDown|createTextNode|_eventHandler|southwestChild|_enabled|SYMBOL_ARBITRARYPOLYGON|Function|_refreshViews|POLYGON|getStroke|miterLimit|lineCap|fill_|INTERSECTING|structs|ext|checksum_|getUint8|x3c|attr|notifySubscribers|customRequestHeaders|datas|inverseViewMatrix|build|_accumulationTexture|_period|filterMode|_urlTemplate|UNIT_SPHERE|UNIT_W|randomBetween|_textureSize|priorityFunction|_polygonOffset|RENDERED|dequeue|_bound|_paricleCountPerDegree|maximumComponent|heightOffset|rayPlane|_mapboxStyle|16384|instanceIds|_hiddenAreaColor|_visibleAreaColor|ANALYSIS|_gridSymbolSize|_fontSize|clampToS3M|_showMeasureResult|_polygon|createFillGeometryInstance|_lastDistanceDisplayCondition|_updateClamping|_clusterDirty|_spPick|_propertyNames|_actualPositions|sin_p12|word|toLocaleString|creationFunction|shaders|u_fade|u_extrude_scale|u_pitch_with_map|ncoords|strength|isHide|isSetColor|discriminant|fogColor|halfSize|positionHighAndScale|opaque|History|lengthScalar|samplePoint|atmosphereScale|cameraHeight|COLUMBUS_VIEW_2D|middle|fresnelTerm|VdotH|maxValues|forwardDirectionEC|v_forwardDirectionEC|halfMaxWidth|noutlineColor|npickColor|neighborContribution|cosx|dirtTexCoords|GROUND_ATMOSPHERE|diffuseIntensity|arrowsTexColor|nexcavateTexCoord|proj|vPosition|channel|sampleDirection|vTexcoord|vNormalEC|SKETCH_MODE|rotationMat|v_vertexColor|terrainHeight|LEFT_CLICK|rotateCircle|_modelRotate|wgs84ToWindowCoordinates|_serverData|onTick|_start|southeastChild|northwestChild|preventDefault|maximumAttenuation|crossTileID|DEFAULT|stroke_|setColor|1023|imageType|nodeName|x3e|multiple|1048576|negativeY|positiveY|_groundPrimitives|compositor|inverseTransformation|_volTextures|_previousMode|renderTexture|fromRotationTranslation|stages|textureScale|_passes|depthStencilRenderbuffer|_depthStencilRenderbuffer|transpose|bindBuffer|closeBottom|hasWaterMask|_polygonHierarchy|changedThisFrame|_particleVelocityFieldEffect|_ceiling|_closed|_fragmentShaderSource|_vertexShaderSource|fetch|DEPTH_COMPONENT|fromPointNormal|period|4326|constrainedAxis|_Pyramid|fromBoundingSpheres|ALL|_isS3MB|_renderEntityVisible|numberOfAttemptedRequests|WebAssembly|numberOfTilesProcessing|NORMAL|compressType|minVerticesValue|generateMipmap|specification|layoutVertexBuffer|upload|sortKey|a_|operationValue|quaternion|pntArray|_hintLineColor|_bottom|_pathFeature|_valid|_subSymbols|subFeatures|positionPoints|objects|_targetPosition|_positionCV|Ground|email|mention|hashtag|_zIndex|_outlineEnabled|_pointPrimitives|getVertexShaderCallback|_pickIds|meshPrimitive|WebGL|vertexCacheOptimize|equalsArray|angleAndHeight|_cornerType|avail_out|extra|_far|_near|InOut|14159265359|datumName|normalized|already|scope|outset|Calculate|miter|czm_material|czm_readDepth|czm_infinity|czm_lineDistance|ellipsoidCenter|00001|uAmbientColor|spotEffect|0e|005|glow|v_texCoord|zAxis|ecEnd|white|lineThickness|ENABLE_DAYNIGHT_SHADING|getPosition|geoPosition|32768|9999|vIsRGBA|uBottom|uIsPicking|tfWindowZ|_isEdit|heightCtrl|annotationArray|gridSymbolSize|flyTo|applyBindings|northeastChild|isFinite|constantOr|uint8|decode|sourceLayerIndex|tileSize|getZIndex|Relationship|VectorContext|LRUCache|orient|assign|56320|4294967296|minValues|computed|documentElement|wmts|_boundingVolume2D|_defaultView|angleBetween|will|_camera|functionDestinationAlpha|functionDestinationRgb|BigNumber|_filterMode|_isSupported|GLOBE|S3MTiles|colors|EQUAL|requestTileGeometry|_globeDepthTexture|setTranslation|_terrainProvider|getNumberOfYTilesAtLevel|TERRAIN_CLASSIFICATION|_sceneName|enablePickFeatures|_tileCache|3857|_font|batchTableByteLength|fileType|_selectEnabled|_imageryLayer|boundingBox|patterns|bindFramebuffer|getParameter|UNPACK_FLIP_Y_WEBGL|texCoordCompressConstant|_tiles|_vertexArray|buckets|expectedType|spot|parts|_flyStatus|maximumScale|minimumPixelSize|google|_clampedPosition|closeTop|getUniformMapCallback|_colors|EPSILON2|FLOAT_MAT3|tile_featureColor|boundingSphereCV|towgs84|_semiMajorAxis|4375|0625|bottomLeft|datum_type|stops|projected_extrude|a_direction|actual|ANTIALIASING|halfwidth|limit|blur2|16777216|65025||nmatrix|czm_getLambertDiffuse|outputColor|noutputColor|czm_sketchMode|nczm_shadowDepthCompare|projectedMap|ellipsoid_inverseRadii|inverseRadii|fLevel|Volume|reflect|nfinalOpacity|ncontourMapColor|aRatioT|vecRatio|czm_model|nnormalTangentSpace|positionLowAndRotation|posWC|v_volTexCoord|nextPosition|nviewPos|elif|u_size|nhsb|nczm_writeDepthClampedToFarPlane|northWard|eastWard|sphericalLatLong|positiveOffset|glFragCoordXY|xAxis|baseColorWithAlpha|lightAttenuation|nextWindow|previousWindow|v_outlineColor|wholeAlpha|v3Normal|computerOnePixelLength|newViewPos|dwidth|uZBounds|v3Ray|v3Pos|position3DWC|v_height2|outAlpha|sourceAlpha|textureCoordinateTranslationAndScale|USE_STEP_SIZE|pady|padx|sdf|SDF|validAlignedAxis|MVT|compressedAttribute2|projectedAlignedAxis|lengthCap|viewShedTexture|uSQMode|uBackDepthTexture|uFrontDepthTexture|uFrontColorTexture|aTexCoord2|aColor2|theta|tclipLineSegmentToNearPlane|Right|planes|FXAA_QUALITY_P11|lumaE|lumaW|axis|canExecute|screenSpaceCameraController|_cesiumWidget|infoBox|addProperty|background|year|_specularColor|_performanceDisplay|smlInfos|_pitch|bytesPerElement|POINT|drawImage|statistics|getFloat64|cesiumSvgPath|your|subdomain|negativeZ|positiveZ|negativeX|creditDisplay|_deviceOrientationCameraController|layerQueue|terrainExaggeration|farValue|nearValue|_revealageTexture|_layerBounds|getLevelMaximumGeometricError|_collection|_combinedSelected|_isPointLight|_startScale|splitDirection|geometryType|_maximumHeight|density|_qureyRegion|changeProgramDefine|_blurYCommand||||||||_blurXCommand|pointsLength|_actualTransform|_profileCommand|cullFace|_heading|_colorGBuffer|modelPath|imageBuffer|mvt|currentLayer|INT|fontScale|clustered|_instances|attributeLocation|unUsedTextures|_pass|_cameraPosition|_textStyle|serverData|isDrawing|CJK|refreshMode|kmlDoc|_classificationType|_dynamic|FIXED|_collectionIndicesByEntity|_spTranslucent|_point3Ds|_modelInstanceCollection|Arguments|Operator|getCartesian4|getCartesian3|FLOAT_VEC4|KHR_materials_common|releaseGeometryInstances|cone|_coverageArea|julianDate|lineSegmentPlane|ion|15625|attached|_template|floorwidth|toScale|createCommand|comparison|collator|effect|appendForwardSlash|ngl_FragDepthEXT|czm_sceneMode3D|nczm_raySegment|czm_ray|str|20000|000001|czm_executeExcavation|czm_directionLight|czm_columbusViewMorph|clip_line_color|u_minVisibleTextureCoord|u_maxVisibleTextureCoord|wzi|v_toCamera|v_sphericalExtents|nprecision|luminance|specularColor|diffuseColor|DISTANCE_DISPLAY_CONDITION|v_Percent|taperPower|rad|v_innerPercent|computePos|mat|compressed0|uHypHasColorTable|SAMPLES|fresnel|uMinFresnel|uMaxFresnel|color0|uHiddenAreaColor|uVisibleAreaColor|COLOR|uPickPosition|ColorTable|_plottingLayer|pictureSymbolSize|timeline|trackedEntity|materialCode|pickPrimitive|evaluateColor|eyeDomeLighting|02d|bucketInstanceId|indexes|wrap|grid|Int16Array|getReplay|getText|getFill|moveTo|TEXT_ALIGN|getOrientedFlatCoordinates|newest_|newer|IconImage|write|base64|Int8Array|script|ownerDocument|unknown|comment|toUpperCase|createPickId|gov|cacheEnable|POSITION_ONLY|water|_reflectFramebuffer|updateFrustum|encodeURIComponent|_multiViewportMode|pickPosition|_clearColorCommand|picking|logDepth|functionSourceAlpha|functionSourceRgb|equationAlpha|equationRgb|_cacheKey|getElementsByTagNameNS|_framebuffers|isPowerOfTwo|colorTextureDimensions|_debugLightFrustum|createDerivedShaderProgram|shadow|_endScale|endScale|_modifyRegions|_excavateRegions|_minimumHeight|_flattenTexture|_hypsometricRenderTexture|_lastParticleStateTexture|_renderTextureMatrix|_cocCommand|hasEmptyContent|_transform|_bTransparentSorting|exist|_excavationRegions|_flattenRegions|_objsOperationList|ClampGroundPolygon|textColor|resolvedImage|frontFace|UNPACK_PREMULTIPLY_ALPHA_WEBGL|ELEMENT_ARRAY_BUFFER|_startTime|_fontName|m_arrPts3D|_lineLength|_animationState|innerCells|textStyle3D|isNumeric|outputs|marker|link|host|setUint32|wall|outlines|computedTransform|_debugBoundingVolume|_shouldRegenerateShaders|getAttributeOrUniformBySemantic|samplers|extensionsRequired|CESIUM_3D_TILE_CLASSIFICATION|_vertexBatchIds|getCartesian2|techniques|functionName|lengths|czm_pickColor|scaleToGeodeticHeight|_shadowVolume|next_out|lens|ROUNDED|_dictTable|ImageryProviders|attachment|_showSubscription|zip|edge|byte|pos2|u_world|order|toEye|texCoords|samplerCube|czm_sceneMode2D|lod|right_16|nearFarScalar|yiq|texLength|blockLength|ncontinue|blendColor|uOffset|depthsilon|accum|ntf_life|eastAxis|04|AA_SAMPLES|czm_sunPositionWC|fScatter|fCameraAngle|fLightAngle|nSamples|fSamples|unpackLowLessThan100k|unpackHighMagLessThan100Million|relativePos|nfOffset|99999||absEndPlaneDistance|absStartPlaneDistance|ntranslucencyByDistance|nresponseAndCount|velocitySize|nvelocityTexCoord|sceneSize|v_positionMC|slopeAngle|vNormal|clip|idColor|vProjectionCoord|realMinFresnel|spacing|darkColor|weightSum|applyTranslate|SDF_EDGE|nao|depthR|depthL|depthD|depthU|posEC|isPointInObject|RENDER_POINT|colorInClipTexture|gl_PointSize|IMAGERY|hasOverlay|vPositionRotateMC|realWValue|vecPos|getTextureColor|fExtendHeight|EMISSION_TEXTURE|uImgTextures|uPolygonOffset|uTransparentBackColorTolerance|vBounds|uIsArrow|uColorTexture|showMode|_ctrlPoints|Grid|_localPoint|projectionPicker|cleanNode|_endJulian|day|UTC|indexType|available|geometricErrorScale|absolute|_subscriptions|XMLHttpRequest|centerX|total|overscaling|fixed|symbolInstances|capacity|beginPath|oldest_|older|size_|radius_|calling|callback|Only|vec|tianditu|_clampFramebuffer|frustumCommandsList|blendingEnabled|indicesCount|touch|_isBlock|occurred|delay|stopObject|startObject|globeDepthTexture|getDerivedShaderProgram|UNSIGNED_INT_24_8|endColor|startColor|CLASSIFICATION_MASK|NOT_EQUAL|backFaceCulling|_debug|rectangleToNativeRectangle|tileXYToNativeRectangle|_floodCommand|_cameraName|_format|_scanLineMoveDir|_blurCommand|_shininess|spotLight|_maxVisibleAltitude|Blob|_objsColorList|_replacementNode|wasm|removed|volImageBuffer|paint_symbol|paintVertexBuffer|FRAMEBUFFER|u_fade_change|projectedPoint|u_is_size_feature_constant|u_is_size_zoom_constant|featurePropertiesDirty|stateList|_depthCommands|_arrRasterPointCommand|_sphericalHarmonicCoefficients|getGOAnimationType|symbolName|ArrayIndex|_targetPositionCV|stripPrefix|decodePercentEncoding|stripTrailingSlash|idx|u0631|x00|_batches|incrementallyLoadTextures|terrainOffsetProperty|_root|_contentState|_debugViewerRequestVolume|_debugContentBoundingVolume|_foveatedFactor|_planes|_indexCounts|_batchedIndices|_depthFailAppearance|_lastTimeIndex|findTimeInterval|generateArc|childTileMask|_heightmapHeight|_isCreateSkirt|windowBits|decodeHeight|northIndicesWestToEast|eastIndicesNorthToSouth|southIndicesEastToWest|westIndicesSouthToNorth|3125|_semiMinorAxis|computeRealRoots|xmlns|59375|21875|useGlobeDepthFramebuffer|lastPickPos|_buttonDown|_packedBuffer|another|types|into|self|texelStepSize|7154|normalMap|uVolumeTexture|czm_getHypsometricColor|czm_fastApproximateAtan|0000001|calcLightAttenuation|nmat2|specularIntensity|u_colorTexture|Max|positionV3|InvWavelength|frontColor|sampleRay|startOffset|sampleLength|v_mieColor|v_rayleighColor|ndelta|UINT8_PACKING|u_radius|yAxis|smoothstepHeight|srgbIn|offsetAndRight2D|widthwiseDistance|glowPower|nclipLineSegmentToNearPlane|nculledByNearPlane|ptOnLowerLine|ptOnUpperLine|getPointOnLine|fOuterRadius|APPLY_MATERIAL|final|outsideFaceColor|czm_selected|VERTEX_DEPTH_CHECK|labelHorizontalOrigin|u_bgColor|uRenderTextureMatrix|PBR|decode_texCoord0_normConstant|decode_texCoord0_min|emissionTexColor|tcurrentColor|Module|tclipPos|dstP|dstN|SYMBOL_TEXT|Marker|deactivate|cursor|_isSelected|editHeightMode|_ambientColor|surroundLineType|success|_add|paddedRect|_round|sub|Circle|LINE_STRING|getImageData|FILL|TypeError|userAgent|rawData|createElementNS|bindings|When|bold|fromGeometry|_sunPostProcess|pickFramebuffer|invertClassification|kmlLayer|setSelection|fragmentDepth|_pickColor|1E14|_voxelGridTile|_xSliceCommand|MIN_VALUE|_baseVolume|_boundingVolumeDirty|Left|_tonemapping|maximumTextureSize|draw|maxCategory|minCategory|Unsupported|tileBoundingRegion|swipeRegion|_slopeRegion|_bUseHypColorTable|freeResources|col|_clipMode|bReflect|INVALID|_imageryLayers|LineColor|_datasetInfo|_transformFeedback|_lifeRange|_sizeFixed|_pickCommand|getRenderState|getFragmentShaderSource|_speed|endTransform|fovy|_changedPosition|PointCloudFile|_showBackground|_isLeafTile|_imagerys|instanceMode|imageManager|vertexLength|addCurrentVertex|exaggeration|progress|Types|BYTE|toArray|mvtFeatures|yMvt|xMvt|_labelsID|_instanceCount|HOLD|_targetPoints|_fillForeColor|_faceCommand|_displayMode|_viewerLineCommand|_viewerCommand|isSunVisible|_polygonRegions|_surroundLineWidth|LinePnt|_innerCells|polylinePositions|setEndPoints|collentionLayer|itemType|shape|Points|_routes|_stopCollection|setLoading|_promises|MAXIMUM_VALUE|valueGetter|distanceDisplayConditionProperty|createOutlineGeometryInstance|_cluster|colorBlendAmount|silhouetteSize|_outlinePrimitive|_credits|basePath|_screenSpaceError|_verticesPromise|_batchValues|fromVertices|getInputAction|_textureCoordinateRotationPoints|wsize|back|_skirtHeight|_origin|to_meter|_ellipseGeometry|xlink|_looking|byteStride|editor|nextZ|side|nmat3|czm_lightColor|clippingPlane|struct|0721|2125|fPos|uv3|uv2|ns0|volumeColor|bottomLevel|curTexture|inTexCoord|nmipLevel|cutoffDistance|czm_computeLightColorInFP|position2D|val1|volumeValue|addScreenSpaceOffset|u_modifiedModelViewProjection|nv_normalEC|faceforward|prevColor|Filtered|addBurst|COLOR_CORRECT|v_uvMinAndSphericalLongitudeRotation|PICK|worldCoordinate|CULL_FRAGMENTS|CIRCLE|SMAA_MAX_SEARCH_STEPS|brdfLut|specularIrradiance|u_normalTexture|farSq|nearSq|translucency|DISABLE_DEPTH_DISTANCE|EYE_DISTANCE_TRANSLUCENCY|uTextureDepth|isSpace|sunPos|hsl|FOG|SHOW_REFLECTIVE_OCEAN|textureCoordAndEncodedNormals|u_sigma|newPos|reflectionColour|u_MainTex_TexelSize|u_MainTex|compressedAttribute3|v_textureCoordinateBounds|adjustedST|getSDFColor|randomTexture|frustumLength|tdepthTexCoord|tbool|uTexture0|shadowMap_texture|gl_FragData|vecOverlayTexCoord|worldMatrix0|worldMatrix1|POST_EFFECT|aQuaternion|texCoordPolygon|Space|aTexCoord|Event|aColorAndPickColor|GEOCYLINDER|Buffer|moveFillCtrl|centerMax|_aggregator|lookAtTransform|_scrubElement|month|minute|hour|elementIndexUint|header|baseResolution|isSelected|sectionIndex|ref_properties|configurable|deserialize|ImageState|obj|getExtent|EventTarget|reset|UNKNOWN|unsupported|navigator|noSleepVideo|disable|noDataValue|Unexpected|resultPixels|getInt32|2000|option|Version|peek|900913|_cubeMap|_pickRectFramebuffer|sun|colorCorrection|setVisibleInViewport|getState|_initialized|_minimum|_maximum|LESS|_billboardsToUpdateIndex|templateValues|DEGREES_PER_RADIAN|maps|checkObjectStoreExit|Level|EPSILON8|renderedMesh|fromTranslation|RED|_sizeInMeters|_shaderProgram|shaderProgramId|_previousFramebuffer|ARRAY_BUFFER|anyWereRenderedLastFrame|_tileReplacementQueue|gridProvider|TERRAIN|_drawCommands|depthOnlyCommand|_drawNearPlane|_scanViewCenter|_downSampleFBO1|_backgroundPadding|_pointSize|Radius|minHeight|queryBooleanValue|_depth|_boundingSphereOffset|waterEffectSet|BOTTOM|_rangeDataList|_isLeafNode|s3mBuffer|ThirdParty|postRun|preRun|mapPass|pickInfo|LINEAR_MIPMAP_LINEAR|stylesheet|000000|maxzoom|paintVertexArray|fade_opacity|a_size|u_is_text|minTexCoordValue|_modelSkeletons|instanceGroup|doubleSided|LUMINANCE_ALPHA|_globalDepthBuffer|_bind|_resultBuffer|_outlineCommand|_arrPointCommand|_depthLeftReverBuffer|_depthLeftBuffer|_depthDownReverBuffer|_depthDownBuffer|drawBuffers|_gridLineWidth|_fontWeight|_italic|fontName|foreColor|animations|_innerStartTime|symbolSize|FILL_AND_OUTLINE|surfaceDistance|_children|stopCollection|_loading|implementation|removeAllPrimitives|_updaters|_geometryChanged|_availability|_showOutlineProperty|_lastOffset|_clusterBillboardCollection|_clusterLabelCollection|_clusterPointCollection|_shaderDisableDepthDistance|getPickId|_maximumPriority|_minimumPriority|geometricError|_imageSubRegion|_imageId|createArrayBufferView|silhouettePrograms|MODELVIEW|_loop|onChangeCallback|_boundingVolumes|_indexOffsets|FLOAT_VEC2|states|accessor|inverseBindMatrices|getGlobalProperty|_updateAndQueueCommandsFunction|_primitiveOptions|sampleCoverage|DefaultImageId|computePositions|_levelZeroMaximumGeometricError|_rectangles|SECONDS_PER_DAY|_urls|projectPointOntoPlane|avail_in|wnext|toIso8601|B_re|B_im|OBLIQ|requestFunction|_queryParameters|28125|_touchMode|_textureHeight|_outlineColorSubscription|_outlineWidthSubscription|_previousPositions|gltf_clippingPlanesMatrix|_distanceDisplayConditionSubscription|DATUM|endX|segment|perspective|Scale|these|cap|also|formatted|display_size_b|get_pattern_pos|display_size_a|postMessage|v_depthFromNearPlusOne|czm_writeDepthClampedToFarPlane|czm_viewportTransformation|czm_vertexLogDepth|exponent|nmat4|root0|root1|czm_piOverTwo|czm_nearFarScalar|hypRect|uNoValueColor|uDataFloor|ntexCoord|czm_eastNorthUpToEyeCoordinates|uSpotLightColor|uPointLightColor|gl_PointCoord|positionLow|positionHigh|FACE_FORWARD|filtered|uvMinAndExtents|czm_inverseView|u_lineWidth|u_emissiveUVOffsetAndTiling|specularTerm|diffuseTerm|u_baseColorFactor|u_baseColorUVOffsetAndTiling|M_PI|spec|startEndNormals2D|startHiLo2D|DEBUG_SHOW_VOLUME|gapColor|dashPattern|dashLength|shade|uFloor|uFieldTextureSize|channels|cellAlpha|colorCorrect|u_step|uWaterColour|expected|SSAOEffect|uCategoryWidht|TexCoord2|COMPRESS_NORMAL|decode_texCoord1_normConstant|decode_texCoord1_min|uEmissionTexUVOffset|uTransparentBackColor|uForeColor|uRepeatX|aligned|Polyline|InstanceLayer|CtrlPosition|Cesium3DTileset|_active|_handler|ctrlPointCallBack|radian|_scalePoints|canAnimate|_animation|millisecond|supportsPointerEvents|_orthographic|_complete|details|overflow|Plot|layerDatas|GET|WritingMode|fadeDuration|offscreen|anchorPointY|anchorPointX|_mult|reserve|replaysByZIndex_|declutterGroup_|dom|LINE|scale_|rotation_|getGeometry|serif|sans|IconOrigin|canvas_|setCoordinates|fromString|WHEEL|fit|pause|numBlocksY|close|foreach|matching|_styleDirty|clippingPlanesDirty|FRONT|rayEllipsoid|layerBounds|pickCommand|s3tc|_profile|_pausing|_screenHeight|_screenWidth|iterator|_dHeight|_nLength|blockCache|providerName|_scales|QuadKey|_scaleDenominators|_blockScale|createObjectStore|accessing|viewProjection|_weightCalculationCommand|_edgeDetectionCommand|sampleMode|jpg|_selectedIdTexture|emit|jobScheduler|getTranslation|directionEC|normalShading|_endColor|_emitter|_translucentFBO|_section|_unclassifiedCommand|_pointCount|_geoBounds|_swipeEnabled|_swipeRegion|_hypAnalysisMode|_lastSelectionResultFrame|processStateMachine|_northeastChild|_northwestChild|_southeastChild|_southwestChild|useWebMercatorT|terrainRectangle|clippedGridRectangle|_isNeedUpdate|releaseReference|occludeePointInScaledSpace|minimumTerrainHeight|waterMask|geodeticLatitudeToMercatorAngle|LUMINANCE|DYNAMIC_DRAW|fromRotationMatrix|_timeDynamicImagery|_dimensions|_histroyFBO|_scanLinePt|_scanLineDir|_scanCenter|acosClamped|preferImageBitmap|_indexBuffer|supportCompressType|updateObjsColor|_selections|_pointCloudShading|_rsColor|_volName|_selectedColor|Width|_backColor|nHeight|nWidth|volTexture|export|filesystem|browser|handleSuccess|quadKeyIndex|paint_line|paint_circle|raster|vao|SHORT|v_data1|u_coord_matrix|u_label_plane_matrix|u_aspect_ratio|u_rotate_symbol|camera_to_anchor_distance|u_size_t|_prePickTile|_normalAndDepthCommand|initialized|_depthTopBuffer|leftOblique|downOblique|drawCommand|_normal|gridLineWidth|italic|_shapePoints|pathFeature|_lastExecute|subSymbols|_symbolSize|_wholeHeight|symbolDot|_symbolWidth|shapePositions|symbolLibs|_evaluator|collisionBoxArray|Forms|currency|depthTestEnable|_addPositions|_editPoint|localFrameInverse|resumeEvents|suspendEvents|removeAndDestroy|_clampedModelMatrix|clampAnimations|MaterialSupport|_outlineColorProperty|_fillProperty|blendOption|_tileDebugLabels|minimumRadius|clippingPlanesOriginMatrix|_distanceToCamera|_contentReadyPromise|_deprecationWarning|distanceSquaredTo|_trianglesLength|Word|_cull|expand|_nodeCommands|pendingBufferLoads|clampTime|wrapTime|compressedAttributes|WEB3D_quantized_attributes|_batchTableAttributeIndices|batchTextureStep|computeNumberOfVertices|_sizeInBytes|_debugShowBoundingVolume|_textureTarget|computePosition|_occluderRadius|decodeTextureCoordinates|resource|ml0|con|EQUIT|gamma0|datum|ellps|byteToFloat|rectangles|mti|toolbar|65625|_environmentState|isMoonVisible|isSkyAtmosphereVisible|_cloneCamera|_isAroundScreenCenter|_colorSubscription|observedPropertyNames|geometryPropertyName|geometryOptions|topRight|a_normal|_uniformMapLoaded|mimeType|revokeObjectURL|inset|extrude_length_with_perspective|extrude_length_without_perspective|offset2|since|drawing|v_tex_b|v_tex_a|fading|either|imagecoord_b|imagecoord|materialDiffuse|tangentEC|discontinuity|isClip|isOffset|product|difference|ellipsoid_center|czm_inverseModelView|point2|czm_inverseGamma|czm_ellipsoid|noutTexCoord|oriTexCoord|noffset|Volume2|lessThanEqual|czm_normal3D|dotProduct|decayExponent|29577951308232|hasNormal|CLIPPLANE|specularMapValue|czm_resolutionScale|u_atlas|oriPos|northAxis|lonLat|getPolylineWindowCoordinatesEC|nv_st|neighborhood|histroyUV|RayDir|Dir|Min|rgbColor|YCoCgRColor|nburst|northExtent|eastExtent|northWestCorner|southEastCorner|pointOnPlane|u_emissiveFactor|belowHorizonColor|u_roughnessFactor|u_metallicFactor|tex_dx|tex_dy|czm_S3MPBR|nlengthSq|batchTableIndex|nextPosition3DLow|nextPosition3DHigh|nczm_translateRelativeToEye|prevPosition3DLow|prevPosition3DHigh|texCoordExpandAndBatchIndex|nv_texcoordNormalizationAndStartEcYZ|positionRelativeToEye|posRelativeToEye3D|posRelativeToEye2D|trailLength_3|TRAIL|v_alpha|totalSize|zclip|responseAndCount|cosYBiggerThan0|sinx|texCoordStep|fInnerRadius|fScaleDepth|SLOPE_ANALYSIS|imageryColor|edge0|groundAtmosphereColor|textureToSample|ntextureAlpha|transCoord|oPos|vEyeDir|vNoiseCoord|uPolygonTexture|realMaxFresnel|maximumDistance|positionCC|nbreak|ncoc|055|sampleScale|sinTheta|SHIFT_LEFT1|ntranslate|globeDepth3|globeDepth2|globeDepth1|v_compressed|v_originTextureCoordinateAndTranslate|localAO|dotVal|diffVec|cosVal|sinVal|newGapAngle|getDepthFromShadowMap|z11|z10|z01|z00|t11|t10|t01|t00|GetUV|uRadius|IsVisible|IsValidUV|DEPTH|currentDepth|W_VISIBLE|uMatrixInvert|shadowVolumeWidth|aPickColor|transfromFromQuaternion|m22|m12|m02|m21|m11|m01|m20|m10|m00|tdist|Excavation|regionHeight|FXAA_QUALITY_P12|subpixC|DynamicGeometryUpdater|uuid|enableRotate|Vector|addCallback|boxBounds|YELLOW|_dotGrid|getSymbolInfo|getServerData|_screenSpaceCameraController|_timeline|getComputedStyle|_callback|mouseup|fillRect|oriRadius|getBoundingClientRect|_modelMatrixPrimitive|immediatelyLoadDesiredLevelOfDetail|dynamicScreenSpaceError|wireframe|MIX|svgElement|circlePoint|isSamePt|overscaledZ|LN2|omit|drawText|TEXT|text_|lineString|getEnds|width_|rotateWithView_|assert|setImage|snapToPixel|orientedFlatCoordinates_||||||||area|||maxDelta_|maxDeltaRevision_|writeTag|realloc|play|numDims|getUint16|numBlocksX|provided|nodeValue|returns|_overlayCommand|_pointCloudEyeDomeLighting|getElementFromDB|_mapStyle|halfFloatingPointTexture|_useHdr|particlePostRender|_pickOffscreenView|skyBox|_pickPositionCache|selectColorType|scanEffect|tweens|_imageryCache|refresh|ONE_MINUS_SOURCE_ALPHA|crypto|blockCacheQueue|PACK|0037508342789244E7|_lastInertiaZoomMovement|_rotateRateRangeAdjustment|_rotateFactor|TRANSFORM_2D|_neighborhoodBlendingCommand|createUniformMap|clearColor|gaussianPdf|_isDepth|fbo|_shadowMapCamera|_startColor|_adjustTranslucentCommand|_translucentMRTSupport|alphaCommand|Mapbox|refreshRaster|ClampObjectPolygon|STREAM_DRAW|cellWidth|_metadata||||||||providers|||_updateDepthFramebuffer|clipLineColor|updateGeometry|_oceanNormalMap|boundingSphere3D|_splitDirection|hypsometricSetting|_tileLoadQueueMedium|notYetRenderableCount|allAreRenderable|northwest|_2DRasterTexture|readyGrid|CANCELLED|textureTranslationAndScale|textureWebMercator|_reload|fromRectangle|_normalShaderProgram|_textureEffect|_transformFeedbackInitialized|minx|_fullScreenCommand|_ambientOcclusionGenerateCommand|_blurStep|endAngle|_useTiles|labelStyle|contentAvailable|_viewMatrix|_positionCartographic|pointLight|directionalLight|_minVisibleAltitude|minVisibleAltitude|maxVisibleDistance|maxVisibleAltitude|PARSING|_emissionTexture|_excavationTexture|_pointCloudLayerVisible|_dataType|Region|_disFromCamera|_labelIndexs|volBuffer|vol_texture_mapping|scene3DName|TextDecoder|preInit|FORCE_FILESYSTEM|Failed||||||||||pointer|boundingRectangle|CreateTexture|premultiplyAlpha|_resourceReady|_transitionablePaint|heatmap|Decision|exponential|minzoom|halo_width|halo_blur|halo_color|fill_color|LINE_STRIP|symbol_rotation|For|_depthCommand|_skeletonTileMap|forwardExtrapolationType|backwardExtrapolationType|refCounts|_target|_bottomAltitude|_disjointBuffer|_limitBodys|endPoint|toRgba|_specularEnvironmentMaps|_lineSymbolID|lineSymbolID||_borderSpacingWidth|align|_bold|_surroundLineType|surroundLineColor|_surroundLineColor|_fillGradientMode|wayPoints|_extendWallHeight|_symbolSizeInLib|_annotationArray|updatePrimitive|_picturePath|colorToString|Arabic|displaySize|operator|convertToColumbusCartesian|_disLabel|_areaLabel|spEntity|||||tmpEntities||_enableDepthTest||||_clampToGround|_entityCluster|truncate|filename|invalidated|updateShows|hasConstantFill|_lastColor|materialProperty|followSurface|trailTime|TEXTURED|_setStaticOptions|_isDynamic|itemsToRemove|waitingOnCreate|computeRectangle|imageSubRegion|_pointCollection|OPAQUE_AND_TRANSLUCENT|_clusterShow|_entities|_extensionsUsed|_skipLevelOfDetail|isRender|ignoreCommands|_maximumScreenSpaceError|stackMaximumLength|_translate|_imageIndex|vertexSizeInBytes|_upAxis|computedMatrix|PROJECTION|glTF|_decodedModelResourceCache|_cartesian3|_rsStencilPreloadPass|vertexShader|featureProperties|debugShowShadowVolume|_boundingSpheres|_createBoundingVolumeFunction|_segments|endIndex|_updatePolygon|_updateColorDictTable|prevPosition|_horizonDistance|8601|ISO|zeroToTwoPi||negativeAltitudeExponentBias|||||||||_tileInfo|_bits|_listeners|cos_p12|s45|coslat0|isTileAvailable|_rectangleSouthwestInMeters|_rectangleNortheastInMeters|_plane|_beginLevel|_zoomTarget|34375|1875|_passType|_materialSubscription|_shadowsSubscription|prevZ|startX|columnNames|files|them|moved|u_mix|based|v_WindowZ|packedFloat|czm_getSpecular|uNormalDepthTexture|czm_shadowDepthCompare||textureCube|czm_saturation|rev|czm_pointAlongRay|141592653589793|uMixColorType|uSpotLightPositionEC|uPointLightPositionEC|uDirectionalLightColor|uSunLightON|shadowMap_cascadeSplits|posOffset|minFiltration|maxFiltration|czm_HSBToRGB|czm_RGBToHSB|uMaxVmax|v_vMaxAndInverseDistance|v_uMaxAndInverseDistance|edges|BLEND|||||||||||czm_inverseViewRotation|viewDir|position2DLow|position2DHigh||clipLineSegmentToNearPlane|distanceDisplayConditionAndDisableDepth||colorTable|GENERATE_POSITION_AND_NORMAL|u_tileRectangle|03|clippingPlanesEdgeColor|u_cartographicLimitRectangle|u_GlobeSwipeRegion|u_GlobeSplitDirection|GRIDTEXTURE_UNITS|u_delta|focalLength|mid|uPointCloudSize|v_positionWC|uTexture1Width|uTexture0Width|COMPUTE_TEXCOORD|REPLACE_COLOR_TYPE|FALTTEN|uRepeatTimes|uLevelScale|uMaxBloomHeight||uEmissionTexture|uSelectColorType|uOverlayTexture|ADJUST_COLOR|TRANSPARENT_BACK_COLOR|uSecTexture|uBackColor|coordinate|Model|Imagery|LEFT_DOWN|modelRadius|fromPositions|fromDimensions|vectorRotate|_modelScale|vectorScale|_isDrawing|getSymbolData|hcl|_dataSourceDisplay||zoomTo|||_infoBox|_selectionIndicator|_dataSourceCollection||_lastWidth||postProcessStages|geocoder|ignore|computeScreenSpacePosition|pointerdown|rest|widget|_pickPrimitive|_performanceContainer|eyeDomeLightingRadius|eyeDomeLightingStrength|smlFileName|send|isEdit|non|_unevaluatedLayout|tileID|int16|labelText|finish|getWidth|beginGeometry|getSize|closePath|asserts|rotateWithView|iconImage_|id_|functions|values_|identifier|blobSize|resultMask|float32|noChildContext|binding|select|elements|component|been|parents|setPrototypeOf|defaultView|tbody|isClipped|_clippingPlanesState|_loadTimestamp|4490|particleTrailsPostRenderer|voxelGridPostRender|getPickDepth|urlType||pickPositionWorldCoordinates|shadowMaps||hdr|||||etc1|pvrtc|_minimumDisableDepthTestDistance|mapMode2D|terrainProviderChanged|_dataIndex|Argument|_baseColor|_zSliceCommand|_ySliceCommand|_visibleBoundingBox|_colorCommands|_transparent|_resolution|DOMParser|numberOfLevelZeroTilesY|numberOfLevelZeroTilesX|parseFromString|getStageByName|_randomTexture|_edgeDetectionFBO|inputPreviousStageTexture|invSize|sceneFramebuffer|_sceneCamera|_shadowMapTexture|normalOffset|Stop|lodRangeScale|_adjustTranslucentFBO|_scissorRectangle||_wireFrameType|_vertexBufferData|_framebufferWithTexture|_modifyRegionCommands|_tileLoadQueueHigh|_pickCanvas|_rasterized|TRANSITIONING|INSIDE|indexCountWithoutSkirts|WEST|EAST|_frameTimes|_pickSP|_computedModelMatrix|_gamma|_checking|_tileCredits|profile|temporalAA|setInputFBO||||_downSampleFBO2|_blurFBO|_cocFBO||getFeature||innerContents|_maxCoord|getPixelDimensions|look|fromHeadingPitchRoll|_waterPlanes|_overlayRegions|TRANSPARENT|isAttributesSave|ignoreNormal|_styleEngine|themeStyle|numberOfColorChangeProcessing|abort|forcing|Alternatively|_malloc|errors|wasmBinary|sprite|TEXTURE_MIN_FILTER|allow|needsUpload|paint_fill|faded|linear|urls|FUNC_ADD|useProgram|Float32|pitched|u_gamma_scale|midpoint|boxes|levels|RELATIVE_TO_GROUND|_texCoord1|_ptIndexGroup|bottomAltitude|skeletons|commandGroup|instanceInfo|lockOrientation|instanceList|depthBuffer|fromRgba|_currentFramebuffer|invertClassificationColor|_directionEC|keyword|_modelPath|_stringAlignment|_opaqueRate|_strikeout|_backOpaque|_underline|||_shadow|||||_italicAngle|fillOpaqueRate|_fillOpaqueRate|_fillSymbolID|_fillBackColor|_gridSurroundLineWidth|vectorDefaultSize|returnisflag|isSeparable|Extended|three|_lightList|epEntity|S3mModel|SYSTEM_CLOCK_MULTIPLIER|audio|activeCallback|newWindow|crs|u064a|u0644|writeUint8Array|_setOptions|getMinimumMaximumHeights|clusterShow|_suspendCount|_isMatrixDirty|_updatedVisibilityFrame|_priorityHolder|_contentBoundingVolume||b3dm|createFeatures|_actualClampedPosition|_lineCallout|morphTime|_cachedRendererResources|vertexArrays|sourceShaders|_dequantizeInShader|CESIUM_RTC_MODELVIEW|SCALAR|KHR_draco_mesh_compression|_debugWireframe|LITERAL_NUMBER|UNARY|_batchTexture|_textureDimensions|tile_featureSt|_batchTableHierarchy|classIds|_boundingSphere2D|GREATER|westHemisphereGeometry|eastHemisphereGeometry|chordLength|CLOCKWISE|structure|_slicePartitions|_stackPartitions|geodeticSurfaceNormalCartographic|startingIndex|zlib|lenbits|_innerRadii|5625|9375|_numberOfVerticalLines|sin_p14|cos_p14|ms1|sin_po|S_POLE|projName|_makeRequest|BEVELED|getPointDistance|SYSTEM_CLOCK|_clockStep|addAvailableTileRange|elementMultiplier|elementsPerHeight|heightScale|hasWebMercatorT|EPSILON15|_Implementations|8125|6875|40625|_touchState|_mouseMode|53125|_tiltCenterMousePosition|currentPickPos|a_position|_heightReferenceSubscription|_texturePaths|endY|bit|store|over|there|long|outline_color|tileRatio|always|v_data|its|scales|stroke_opacity|stroke_color|neyeCoordinate|fragmentCoordinate|packedValue|bitangentEC|ncoord|nfSelected|czm_rayEllipsoidIntersectionInterval|inverseRadiiSquared|uv1|bottomTexCoord|topTexCoord|czm_getVolumeValue|fTexCoordScale|vecTexCoordTranslate|czm_getContourMapColor|vecHypTexCoord|nfValue|czm_geodeticSurfaceNormal|opposite|ptInRect|czm_ellipsoidWgs84TextureCoordinates|6356752|shininess2|4095|GetClipDistance|czm_adjustColor|nhalfSize|volTexCoord|ngl_FragData|u_revealage|u_accumulation|u_opaque|Org|Box|neighorhoodSamp|surface|KrESun|KmESun|scaledLength|attenuate|Km4PI|Kr4PI|startDepth|det|0015|nrgb|idlSplitNewPlaneHiLow|idlSplit|NORMAL_EC|fragCoord|dis|areaTex|SMAASearchLength|USE_SUN_LUMINANCE|diffuseIrradiance|nspecularTerm|ndiffuseTerm|fxaaQualityEdgeThresholdMin|fxaaQualityEdgeThreshold|fxaaQualitySubpix|hcv|nupOrDown|positionEc3D|positionEc2D|ngeodeticSurfaceNormal|maskTest|maskIndex|maskLength|dashPosition|nlineDir|nclipped|ndist|ntotalSize|EYE_DISTANCE_SCALING|innerAlpha|u_pointCloud_colorGBuffer|nvelocityColor|particleColor|velocityColor|textureValue|originalColor|sunPositionWC|K_HSB2RGB|rayleigh|mie|nAtmosphereColor|halfColor|SHOW_NORMAL_MAP|INCLUDE_WEB_MERCATOR_Y|vertNorm|enuToEye|fadeOutDist|u_clippingPlanesEdgeStyle|excavation|excavateMultiplier|slopeArrowsAngle|selectColor|swipe|bDiff|gDiff|rDiff|scalemat|AdjSaturation|uReflectMap|fresnelScale|fresnelBias|noiseNormal|uNoiseMap|lumCoeff|vVertex|secondary_colour|include|texel|fCoc|sceneColor|MRT|textureCoordinateBoundsOrLabelTranslate|ndimensions|SHIFT_RIGHT12|temp2|UPPER_BOUND|localStepSize|rotatedSampleDirection|ttexCoord|uGlobalDepthTexture|vPositionToEyeEC|USE_PBR|tcolor|vSelectRectPos|InstanceModel|uv7|realVertex|realPosition|topOrBottom|isNotTopFace|CLIP_FILT_BY_ID|dLength|MULTI_TEX|aLocalTranslation|aLocalQuaternion|filterTest|uGeoMat|uFilterPixel|rotateCoord|rotationRadian|aTexCoord5|drawEvt|uOutlineColor|uGlowPower|uHeightTexture|Framebuffer|rangeMax|clampColor|localePoints|annotationIndex|transformWindowToDrawingBuffer|keydown|lab|changedEvent|_tiltCenter|showSelection|_lastHeight|resolutionScale|_screenPositionY|_screenPositionX|_zoomMouseStart|timeBarWidth|fromDate|LOST|event|clientY|_key|_resolutionScale|depthFrustum|nbsp|loadSiblings|skipLevels|baseScreenSpaceError|skipScreenSpaceErrorFactor|skipLevelOfDetail|HIGHLIGHT|linearGradient|_shuttleRingPointer|rotateAngle|plotLayers|_sitData|dataType|SYMBOL_CIRCLE|variable|_matMult|_unit|patternFeatures|synchronize|addDeclutter|getUid|TextReplay|PolygonReplay|colorlike|endGeometry|snapToPixel_|opacity_|hitDetectionImage_|entries_|checksums_|radius2_|IconImageCache|geometryName_|readSVarint|removeNode|Observable|every|writeMessage|doesn|4294967295|warn|val|fileIdentifierString|block|controlsDescendantBindings|parameter|equalityComparer|pointCloud|WMTS|infiniteProjectionMatrix|_lightSource|scenes|realspace|setUnSelected|_pickPosition|globeAlpha|_modelInfo|mapboxStyle|module|plus|imageUrl|getItem|_timeDimension|_nBlockLength|_destroyTextureAtlas|_billboardsToUpdate|_billboardsRemoved|_flipY|tileversion|DEGREE|fileExtension|Bottom|Top|getFramebuffer|quadtree|_sampler|_idTexture|_usesDepthTexture|rightWC|_lightDirectionEC|BLUE|_previousTime|_emissionRate|onlySunLighting|NEVER|_bufferIndex|uint8Array|msaaLevel|CoverageArea|planePos|_excavateRegionCommands|_surfaceShaderSet|fillHighlightColor|AnalysisRegionMode|_hypsometricBound|_tileLoadQueueLow|_alpha|southeast|getTileDataAvailable|replacementNext|_rasterFBO|_rasterTexture|MaxVisibleValue|_MinCategory|_slopeArrowsTexture|_excavateSideTexture|_excavateBottomTexture|_excavateRegionTexture|_clipLineColor|_layerOrderChanged|wireframeVertexArray|waterMaskTranslationAndScale|_bUseHypRegion|createTexture|_isSkirtDirty|SOUTH|NORTH|_waterHeight|_feedbackShaderProgram|_viewProjMatrix|net|_logoUrl|_requestMetadata|DEPTH_COMPONENT16|_compositeBlurFBO|getShaderExpression|_selectedTiles|_lastMovement|_adjustOrthographicFrustum|_currentFlight|inverseTransform|_iterations|_sqTextures|oriCenter|filterPixel|isS3MB|fromCornerPoints|Name|_pbrRoughTexture|_pbrMetalTexture|setOnlyObjsVisible|_objsHeightList|_showLabel|ClampGroundLine|numNormalAndDepthObject|_dashPattern|binaryDataParser|layer3DName|nLength|calledRun|compile|Memory|readBinary|quit|binary|address|stream|matModel|TAM_WRAP|instanceIndex|isCompressedFormat|internalFormat|highLighting|TEXTURE_MAG_FILTER|writing|primitiveLength|uploaded|isStateDependent|members|degrees|renderPass|_buffers|patternPositions|HAS_UNIFORM_u_|v_data0|a_projected_pos|a_size_min|a_pos_offset|u_pitch|rendering|getElevation|u_lightcolor|v_extrude|_openlayer|_mvtStyleClass|_symbolTextureUrl|_wireFrameCommands|SVC_TexutreCoord|SVC_Normal|_waterNormalMap|TEXCOORD|maximumVertexTextureImageUnits|alphaMode|Workers|2016|_clearStencilCommand|_verticalFov|_horizontalFov|_hiddenColor|_visibleColor|_spacing|_top|_v3MiddlePosition|_textureFilterAnisotropic|stencilBuffer|_shaders|_frameBuffer|_animationManager|_text3DScale|_align|_fillBackOpaque|fillBackColor|fromJSONData|getJSONData|_ratio|startSurroundLineWidth|startLineWidth|_wayPoints|anchorPoint|Labels|surroundLineFlag|cell|_textContentLength|_xOffset|WallInstances|PolygonFillInstances|dotBillboards|BOTH|globals|HTMLCanvasElement|Hangul|exactly|RIGHT_CLICK|ffe500|moveLineTop|m_sag|routes|_catmullRomSpline|clustering|_isLoading|onStop|twitter|matchedText|u0645|u0648|u0628|place|directory|readUint8Array|_removedObjects|_asynchronous|appearanceType|_depthFailMaterialProperty|outlined|filled|_raiseDefinitionChanged|ENABLED|_computeCenter|leadTime|nodeTransformations|_oddColor|_evenColor|_shaderDistanceDisplayCondition|_shaderTranslucencyByDistance|_shaderScaleByDistance|getScreenSpaceBoundingBox|reverseScreenSpaceError|foveatedFactor|_expiredContent|updateCommands|BASELINE|getExactClassName|_sdf|_pickIdLoaded|_rtcCenter3D|_clippingPlane|pickOnly|_rsStencilDepthPass3DTiles|_rsStencilDepthPass|_rsStencilPreloadPass3DTiles|quantizationBits|fromColumnMajorArray|meshPrimitiveAttribute|getPropertyArray|_pickTexture|_maxHeight|_spColor|INCREMENT_WRAP|writeElements|_boundingVolumeWC|_program|computeWindingOrder2D|_minVisibleValue|_maxVisibleValue|_surfaceHeight|tangents|displayName|defaultAccessToken|lencode|getTileInformationFromQuadKey|Terrain|_frustum|_frustumType|N_POLE|alfa|_end|EPSILON12|TRIANGLE_FAN|_isSct|onsuccess|_customDPI|isBigEndian|supportsFullscreen|requestFullscreen|packRequestPromise|dropDown|_touch|pickButton|pickIdLoaded|uniformMapLoaded|_invertClassification|isSkyBoxVisible|_currentTweens|_isRealspace|currentPickObject|_counts|_sourceTechniques|_fill|_fillSubscription|_outlineSubscription|dataSources|loadImage|how|v_linesofar|avoid|u_patternscale_b|u_patternscale_a|u_sdfgamma|hasPattern|tileZoomRatio|expressions|u_scale_with_map|POLYGON_OFFSET|czm_oneOverLog2FarDepthFromNearPlusOne|u_polygonOffset|czm_unpackValue|czm_shadowVisibility|czm_hue|uv0|czm_getWaterNoise|GL_EXT_shader_texture_lod|uTexUVOffset|czm_getTexColorForS3M|uDataCeil|0002|czm_fog|czm_alphaWeight|nxyz|czm_frameNumber|u_volumeBoxSize|ngl_PointSize|noutColor|u_colorTable|power|GL_EXT_draw_buffers|velocityTexRes|Blend|nposition|nlightDirection|nczm_sunDirectionWC|nczm_lightDirectionWC|nczm_viewerPositionWC|EXTRUDED_GEOMETRY|vectorFromOffset|useUpOrRight|getEyeCoordinate3FromWindowCoordinate|upOrRightLogDepth|upOrRightInBounds|SRGBtoLINEAR3|IBLColor|LdotZenith|sunNdotL|farBelowHorizon|aroundHorizon|aboveHorizonColor|metallicRoughness|u_baseColorTexture|SRGBtoLINEAR4|linearIn|lightDir|roughnessSquared|smithVisibilityG1|offsetX|ANGLE_VARYING|WIDTH_VARYING|ENABLE_DYNAMIC|spotIntensity|CLIP_POLYLINE|570796327|czm_minimumDisableDepthTestDistance|004|positionHighAndSize|u_pointCloud_depthGBuffer|uMinFilterValue|uMaxFilterValue|uHasColorTable|uCeil|earthRadius|v3Attenuate|v3InvWavelength|v3SampleRay|fSampleLength|fScale|fFar|fCameraScale|fNear|fCameraHeight|025|u_minMaxHeight|uSlopeFillMode|clippingPlanesEdgeWidth|u_pickIDColor|uTimeVal|uBumpSpeed|uScale|uWaterBrightness|uTintColour|uFresnelPower|uNoiseScale|insideFaceColor|computeEllipsoidColor|maxRadius|u_Bloom_Settings|brightLum|ALIGNED_AXIS|VERSION|uModelIDColor|uCategorieTexture|uMinCategory|depthInCamera|TRIANGLE_FILTRATE|uTranslation|normal_rangeConstant|uHypHasColorByHeight|emissionTexCoord|INVALID_OBLIQUE|FColor|u_distancesAndEdlStrength|LocalTransform|aScaleAndRadius|czm_globeDepthTextureDim|uSingleRegion|uRepeatY|Ray|uEffectLineWidth|aTexCoord4|aTexCoord3|Line|deprecated|FxaaFloat4|pixelOffsetSubpix|subpixF|lumaMLTZero|pairN|gradientS|gradientN|lumaNESE|lumaNWSW|lumaSE|lumaSW|lumaNW|lumaNE|lumaWE|lumaNS|rgbyM|uInterval|ArcType|isActive|isShiftPress|drawingBufferToWgs84Coordinates|ScalePt|processAsync|processFailed|processCompleted|compass|_isDown|_forceResize|targetFrameRate|stopValue|startValue|clearRect|toGregorianDate|touchend|highlight|Default|_wrapper|postRender|tileText|styleString|_feature|dynamicScreenSpaceErrorFactor|dynamicScreenSpaceErrorDensity|rectButton|isLocked|isEditable|mapInfo|SYMBOL_POLYLINE|stretchY|stretchX|reduce|layerIds|bboxes|setTextStyle|getImageState|fillCircleArrayRowToMiddle_|fillText|setLineDash|getCenter|value_|setScale|anchor_|crossOrigin|putImageData|fraction|containsXY|LinearRing|listeners_|writeVarint|pixelType|eofOffset|numValidPixel|maxZError|getInt16|added|finally|selectedIndex|raw|Unable|You|insertBefore|specify|ignored|_lastRenderedFrame|numberOfListeners|service|_positionWC|_rasterPickFBO|_postEffectFilterFramebuffer|_debugFrustumPlanes|skyAtmosphere|opaqueFrustumNearOffset|isOnlyS3MObjectVisible|_vectorTileSource|addImageryProvider|clampToHeightSupported|sampleHeightSupported|windowPosition|rasterVectorCollection|tilesetPassState|isOccluded|shadowsEnabled|lastDirtyTime|depthOfFieldEffect|minimumDisableDepthTestDistance|orderIndependentTranslucency|geoType|isInteger|prefix|digits|_hasColorTable|_hasLight|opaqueRate|_timeIndex|_matLocalView|_rsTranslucent|_baseVolume2D|_baseVolumeWC|writers|BLOCK|packingRequest|SECONDS_PER_MILLISECOND|CLAMP|getOutputTexture|_blendingFBO|_weightFBO|forcePowerOfTwo|updateForPass|debugOverlappingFrustums|_debugCascadeFrustums|_numberOfCascades|_debugCameraFrustum|receiveCommand|_needsUpdate|_outOfView|shadowMap_lightPositionEC|_maximumParticleLife|_colorFBO|_adjustAlphaCommand|_alphaFBO|czm_gl_FragColor|_useScissorTest|_classifiedCommand|None|isValid|tileXYToQuadKey|_framebufferWithRenderbuffer|_isMSAA|copyFromRenderbufferToTexture|_updateDepthCommand|setCustomClipBox|showGroundAtmosphere|enableLighting|_altitudeMode|_quadtreePrimitive|_lastSelectionFrameNumber|markTileRendered|_globeIndex|upsampledFromParent|_parent|MaximumLatitude|_createTileImagerySkeletons|ColorTableMaxKey|ColorTableMinKey|MinVisibleValue|_MaxCategory|_gridCache|gridLayer|heightBuffer|addCredit|idTexture|BITS12|_fieldTexture|_vectorFieldTexture|czm_non_pick_main|boundingbox|_angle|depthRenderbuffer|_appendTexture|_downSamplePassState|labelVerticalOrigin|anchorLineColor|anchorLineEnabled|backgroundEnabled|labelOutlineWidth|labelOutlineColor|labelColor|pointOutlineWidth|_pointOutlineColor|pointOutlineColor|visited|_requestedTiles|contentExpired|_movement|EPSILON9|_changedDirection|fetchBlob|_spatialQueryCommand|_clampToObject|withAlpha|attrs|_filterPixel|minVisibleDistance|column|_s3mLayers|bSphere|s3mb|getLayer|_renderClipPlaneArray|_s3MTilesLabelStyle|groupName|shadowType|_urlType|PARSED|_isVisible|vol|numberOfColorChangePending|_scpUrl|_pagelodMap|printErr|print|___errno_location|_volTexture|skeletonPackage|volObj|edgeGeometry|DISTANCE_FROM_EYE_POINT|texturePackage|_texMatrix|TransparentSorting|vertCompressConstant|cacheSize|deepEqual|Layer|recalculate|assert_1|overlap|zoomHistory|populatePaintArrays|addFeature|accent|clearStencil|black|LEQUAL|setConstantPatternPositions|interpolationFactor|bindVertexArray|ref|RENDERBUFFER|getExtension|Uint32|projected_pos|angle_cos|angle_sin|segment_angle|offsetProjectedPoint|per|u_is_halo|deriv|world|imageAtlasTexture|_urlTiles|indexPackage|_idsOperationMap|_edgeGeometry|BUFFER|_emissionTexCoordSpeed|Loaded|preColor|addSample|63488||_multiNames|_VBOs|getBuffer|_v3ProfileNormal|_depthTextureCopyFrom|_pickObjects|renderbuffer|modelView|_texturesToRelease|fillSymbolID|_fillGradientOffsetRatioX|_fillGradientOffsetRatioY|_fillGradientAngle|_executeAndRatioIsZero|PtsToSpherical|pathWidth|_selectedFeature|subSymbolSize|_updateSubSize|scaleValues|picturePath|subObjects|_isNegativeImage|_markHalo|wallAppearance|ploygonFillAppearance|Linear|availableImages|isView|lightType|_editPointIndex|rasterPolygon|POSITION_NORMAL_AND_ST|relativeToSeaFloor|vnd|getOffset|phone|u062a|getData|524288|removeMaterialSubscription|_pixelSize|depthFailAppearanceType|getGeometryExtrudedHeight|getGeometryHeight|computeGeometryOffsetAttribute|_onTerrain|multiplyByScale|_guid|runAnimations|iso8601|_removeEventListener|labelIndex|_clusterLabels|_actualPosition|_vertexBuffer|requestTiles|traversal|_header|All|expireDate|_constantColor|_labelTranslate|isClass|isExactClass|_shaderClampToGround|needsCommit|_pointCloud|_contents|_useDefaultSpecularMaps|_useDefaultSphericalHarmonics|MODELVIEWPROJECTION|Accept|_cachedGltf|MIRRORED_REPEAT|_scheduledAnimations|_multiplier|_multipleDirtyPlanes|_spStencil|_rsColorPass|CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW|_transferrableBatchIds|KHR_binary_glTF|skeleton|joints|_batchValuesDirty|tile_textureStep|tile_main|_terrainHeight|_boundingSphereMorph|_boundingSphereCV|_boundingSphereWC|_minHeight|textureCoordinateRotationPoints|numberOfAttributes|elseIndex|NEAREST_MIPMAP_NEAREST|_minimumHeights|_maximumHeights|_skirtScale|fromRectangle3D|_shape|_perPositionHeight|next_in|hold|whave|northIndices|eastIndices|southIndices|westIndices|horizonOcclusionPoint|Long|_maximumCone|_minimumCone|_maximumClock|_minimumClock|_slices|_bottomRadius|_topRadius|AREA_2|AREA_1|AREA_0|C_re|C_im|gtu|cbg|interpolateUsingSurfaceDistance|_ellipticity|TRIANGLE_STRIP|numLiveTriangles|replacementPrevious|_se|_sw|_ne|_nw|getEstimatedLevelZeroGeometricErrorForAHeightmap|DEFAULT_STRUCTURE|exitFullscreen|_samples|cancelFunction|retryAttempts|retryCallback|_templateValues|packRequestHeap|statusCode|_radiiSquared|_zoomPromise|NavigationHelp|Show|Other|toggled|_zoomWorldPosition|_morphHandler|_texWorldViewMatrix|movePolygonDimension|indexCounts|vertexShaderLoaded|opaquePass|_vertexShaderLoaded|_primaryPosition|availabilityTilesLoaded|startY|batch_|FileReader|rbush|loadAndExecuteScript|much|creating|significant|smaller|devices|stored|a_linesofar|antialiasing|antialiasblur|circle_center|corner_position|extrude_length|windowCoord|depthFromNear|9000|SHIFT_LEFT16|czm_unpackFloat|packedDepth|dy1|dx1|dx0|dy0|czm_shadowParameters|czm_sampleShadowMap|adjustment|color3|color4|czm_emptyRaySegment|planeDistance|czm_private_getLambertDiffuseOfMaterial|toEyeEC|czm_packValue|enc|pixelWidth|oneOverMercatorHeight|southMercatorY|czm_isEmpty|nratio|volumeValue2|volumeValue1|czm_unpackVolume|nDel16|nDel8|WEBP|rgbTexCoord|fTexCoord|dMin|dMax|PT_CLOUD|texTest|vecRotioCoord|czm_getHorizontalColor|fogModifierConstant|scaled|specularNormalization|schlick|ntotalDiffuseLight|uSpotLightExponent|uSpecularColor|cordic|czm_computeLightColorInstanceInFP|tsPerturbationRatio|baseWaterColor|transparency|INSTANCED|OIT|colorFromColorTable|realValue|tf_pos|ntf_pos|lonLatTexCoord|nlonLatTexCoord|rho|GetSceneColorHdrWeight|GetSceneColorLuma4|HistoryColor|EnterIntersect|TPos|TNeg|nNeighborMax|nNeighborMin|SceneColor|burst|00287|0025|atmosphereAlpha|nightAlpha|miePhase|rayleighPhase|unpackLowLessThan1000k|clampAndMagnitude|u_ScanColor|APPEND_TEXTURE|nscanValue|prjOnPlane|cosTheta2|nappendTexCoord|blendTex|sqrt_d|8281|u_emissiveTexture|u_occlusionTexture|USE_IBL_LIGHTING|ngetLightColor|u_metallicRoughnessTexture|tbn|offsetY|xyw|nv_width|czm_eyeHeight2D|nextPosition2DLow|nextPosition2DHigh|prevPosition2DLow|prevPosition2DHigh|nv_rightPlaneEC|nendPlaneEC|nstartPlaneEC|endPlane2D|startPlane2D|endPlane3D|startPlane3D|cleanTexcoordNormalization3D|posEc3D|posEc2D|v_texcoordT|v_alignedPlaneDistances|v_texcoordNormalizationAndHalfWidth|nalignedPlaneNormal|v_SpotPercent|nfragColor|positionLowAndOutline|cosy|curPrjPos|nextPrjPos|TEXTUREEFFECT|velocityTexCoord|timesZ|texCoordZ|ghostVec|isInEarth|lightDirectionWC|position3DAndHeight|yPositionFraction|get2DYPositionFraction|v_distance|nonDiffuseHighlight|positionToEyeECLength|edge1|sunlitAtmosphereIntensity|atmosphereLightDirection|modifier|u_clippingPlanesMatrix|u_clippingPlanes|excavateColor|modifyTexCoord|nsampler2D|slopeDirection|textureOneOverGamma|cameraPos|waterColor|WRITE_DEPTH|nselected|ofs|uppper|focalRange|nsceneColor|TONEMAPPING|UpsampleTent|BLOOM|NumSamples|invBase|DownsampleBox13Tap|curve|glowOnly|nv_compressed|labelTranslate|npixelOffset|SHIFT_RIGHT1|ncompressed|epsilonEyeDepth|ambientOcclusionOnly|normalInCamera|stepPosInCamera|stepDepthInfo|randomVal|gapAngle|getNormalXEdge|posInCameraRight|posInCameraLeft|posInCameraDown|posInCameraUp|tsceneDepth|vexPos|renderTextureCoord4|renderTextureCoord3|renderTextureCoord2|renderTextureCoord1|renderTextureCoord0|texcoordX|yellow|cyan|computeDepth|getHypsometricColor|categoryTexCoord|oriVertexW|InstanceRenderPipeline|InstanceRenderBIM|COMPRESS_COLOR|computeWValue|tex4Vec|uv4|uMinCategoryOrHypFloor|uMaxCategoryOrHypCeil|HORIZONTAL_LINE|tvertexPos|haloTexColor|tvColor|uFillColor|localTransformMat|lamat|screenPix|newNormal|Mode_Height|CLIPPOLYGON|tangle|tlineDir|eye|fEyeDis|aOffsetPosition|Entity|slerp|quaternionfromAxisAngle|aNextHzLxyz|aPreLyzNextHxy|aPreHxyzLx|oUV|DeveloperError|pasteGeoJson|scaleLeft1|_maxCorner|_minCorner|_initialRadius|onDragStart|onDragEnd|onDrag|LocationPt|SYMBOL_REGULARPOLYGON|enableTranslate|_postRender|_dataSourceRemoved|_vrButton|_fullscreenButton|useDefaultRenderLoop|_trackListEle|dispatchEvent|_scrubJulian|_timelineDragLocation|touchmove|mousemove|scrub|getPixelSize|morphToColumbusView|morphTo2D|_toggleDropDown|toggleDropDown|zoombarTop|zoomoutTickFunction|zoominTickFunction|zoomIn|zoombarTickFunction|_unsubcribeFromPostRender|services|fullscreenElement|creditContainer|Tile|colorize|_observer|71875|clonePoints|getSymbolLibByLibId|smlInfo|buildUrl|timeout|getElementById|5242880|allowVerticalPlacement|letter|rect|commit|canonical|last|bitmap|params|cells|isTransferred|checked|drawPolygon|setFillStrokeStyle|LineStringReplay|ImageReplay|save|extendCoordinate|createEmpty|textStrokeState_|defaultFillStyle|DRAW_IMAGE|appendFlatCoordinates|MULTI_LINE_STRING|snap|tolerance|SET_STROKE_STYLE|STROKE|globalAlpha|count_|EventType|compareMinY|compareMinX|_maxEntries|points_|angle_|cache_|readFields|closest|closestPointXY|invert|skip|mp4|maskData|fileVersion|getFloat32|virtualElements|tmpl|jQuery|setProperty|specified|Promise|shading|shouldDiscardImage|IMG_W|computeCommand|persists|_rasterPickTexture|_removeGlobeCallbacks|_normalFramebuffer|_transitioner|setObjsVisible|innerLayer|cartesians|work|clampToHeight|intersections|_pickPositionCacheDirty|getObjectByPickId|byteToRgba|commandListRealtimeRaster|requestRenderMode|maximumRenderTimeChange|enableWalk|_sunColor|globeSplitPosition|imagerySplitPosition|useWebVR|groundPrimitives|maximumCubeMapSize|_spatialQueryList|_profileRenders|addImage|Disjoint|_imagelayerCollection|textObjects|_imageCanvas|iconImageObjects|createDerivedCommands|_opaqueTexture|initSymbolIterator|toNumber|minus|generateBuffer|_nSideBlockCount|_volTexCoord|_loadImage|_coordUnit|Bounds|webglOptions|ambientOcclusion|diffuseSum|sample2|sample1|edgeColor|_selectedDirty|_combinedSelectedShadow|isScanEnable|debugShowFrustums|occluder|_debugShadowViewCommand|fromTranslationQuaternionRotationScale|debugFreezeFrame|maximumByComponent|minimumByComponent|maxDepth|uses|_idFramebuffer|bursts|_performance|_transitionFBO|_transitionTexture|_adjustAlphaFBO|computeTemeToPseudoFixedMatrix|raise|hasGeometry|exists|isSilhouette|_data|_fbHeatMap|_fbIntensity|_compressType|cellHeight|samples|updateGeoBounds|_excavateMatrix|_modifyMatrix|beginFrame|showSkirts|dynamicAtmosphereLightingFromSun|dynamicAtmosphereLighting|raySphere|_slopeBound|_hypsometricRegionUpdate|_cullEnabled|_polygonHoles|_tileToUpdateHeights|_zeroTileReady|tilesWaitingForChildren|forEachLoadedTile|_lineExpandCommand|_rasterTextureSizes|Opacity|addReference|loadingGrid|_modifyRegionTexture|_clipPlane|isHeight|EPSILON3|_uniformMaps|_childTileMaskExt|cutoutAndColorResult|_curParticleTextureBuffer|czm_log_depth_main|pickColorQualifier|oneOverRadii|supportsTypedArrays|attributeName|_cesiumCredit|requestType|mercator|fetchXML|_hue|_saturation|_contrast|_brightness|currently|_labelHorizontalOrigin|_heightOffset|_pointOutlineWidth|_inRequestVolume|_buttonsDown|LEFT_DRAG|_actualInvTransform|defaultLookAmount|_changedFrustum|enableInputs|downSampleFBO|_dirtTileOffset|_dirtTexture|_previousLuminance|_arrayBuffer|_preColor|rootEntities|baseUri|relativePath|osgb|s3mbz|Position|volumeObj|bVolume|_fMinValue|_fMaxValue|_selectColorType|selectedTranslate|updateObjsOperation|RESET|_lodRangeScale|ClampObjectLine|ExtendClampPolygonCache|showCallout|_textField|Proxy|isGeoTilesSave|_ignoreNormal|LoadingPriority|OSGBFile|_blurYTexture|_blurXTexture|_dashLength|_gapColor|_replacementSentinel|getServerKey|_rangeList|_oriBoundingSphere|stackAlloc|stackRestore|stackSave|_free|Either|memory|info|warnings|incorrect|utf8|locateFile|arraybuffer|monitorRunDependencies|texID2Vol|addressmode|getPaintProperty|maximumAnisotropy|_requestImageError|texSubImage2D|dasharray|_calculate|updatePaintArrays|Uint8||distSqr|hillshade|ffffff|attribution|isCounterClockwise|lineAtlas|NOTEQUAL|setUniforms|gamma_scale|a_fade_opacity|relative|buff|account|u_zoom|u_lightintensity|v_notUsed|v_placed|_pickTilePromise|_needSourceLayerNames|mapboxStyleLayer|_labelPosArray|_pickInfo|_postEffectCommand|materialPass|FACE|textureRefCounts|_thirdPoint|_secondPoint|_firstPoint|skeletonGroup|pickEnable|skeletonBuffer|_nextOrientation|_tilingPeriod|_offsetPeriod|wasmBinaryFile|modulePath|unUsedSize|_wrapT|_wrapS|UNSIGNED_SHORT_5_6_5|viewPosition|_updateCamera|_isClosed|_us|_bufferDirty|_ids|_positionMode|clipOptions|cameraWidth|secondDrawing|_framebufferCopyFrom|floatingPointTexture|_reflectPlane|_lightDirectionWC|_eyeHeight2D|_positionEC|_cachedShader|_fontWidth|fillGradientMode|fromBaseJSONData|getBaseJSONData|goFeatureLocalPts|resetAnimationFeature|SYMBOL_ARC|SYMBOL_CHORD|SYMBOL_PIE|SYMBOL_POLYBEZIER|SYMBOL_ELLIPSE|SYMBOL_RECTANGLE|SYMBOL_TRAPEZOID|SYMBOL_PARALLELOGRAM|endLineWidth|pathType|_pathWidth|_visibility|subSymbolScaleValue|_subSymbolScaleValue|symbolRank|symbolSizeInLib|modelRotate|modelScale|_anchorPoint|textStyle|wholeHeight|_GeoJsonFeature|_vectorRotate|fillLimit|localFrameToFixedFrameGenerator|dEndAngle|dStartAngle|dRadius|ForeRGBA|Cross|polylineCollection|faceForward|_pbf|imageAtlas|LINEAR_MIPMAP_NEAREST|Unified|Jamo|Compatibility|labelParent|decay|_addPoints|_editPoints|depthTestEnabled|scratchPosition|enu|_createGeometry|NumInter|polylineVolume|enuCenters|_stopMarkCollection|Wait|_currentTween|stopPlayMode|_point|waitTime|StopAround|LOOP_STOP|computeAvailability|clampToSeaFloor|uriResolver|onExpire|sourceUri|_activeEntries|u0646|zone|download|u00a9|getAttrs|Topology|fromBytes|quantized|setUint16|File|u00c6|_changedObjects|_addedObjects|isMaterial|onMaterialChanged|_groundPolylinePrimitive|_geometryOptions|depthFailColor|constantSpeed|pointPrimitive|_entitiesToVisualize|_updaterSets|_appearanceType|_translucentItems|_solidItems|projectPointsOntoPlane|computeModelMatrixForHeightReference|_dynamicUpdaters|_holes|_velocityVectorProperty|_updateTableLength|_packedLength|_clusterPoints|_clusterBillboards|_list|_geometricError|createBoundingVolume|getMatrix3|isInternetExplorer|getFragmentShaderCallback|forceRebatch|_backgroundTextureAtlas|RTL|_billboardImage|_textureCoordinates|_colorTextures|fromTypedArray|NEEDS_LOAD|_removeUpdateHeightCallback|forwardAxis|renderStates|_loadRendererResourcesFromCache|CESIUM_RTC|_extensionsRequired|pendingTextureLoads|dirtyNumber|_clippingPlanesTexture|_vaSwap|_commandsIgnoreShow|generating|LITERAL_COLOR|divideComponents|BOOL|techniqueUniform|indexBuffersToCreate|vertexBuffersToCreate|lights|skins|stepX|classes|_showAlphaProperties|initializeTerrainHeights|createShadowVolume|||_classificationPrimitiveOptions|||centerRTE|combineInstances|Key|_sysShaderDefines|ifIndex|_magnificationFilter|_minificationFilter|_translucentFunctions|copyFromFramebuffer|loadTileDataAvailability|_terrainDataStructure|epoch|_ellipsoidGeometry|_colorsPerVertex|_requestVertexNormals|_combiInfo|requestVertexNormals|_perPositionHeightExtrude|geocode|common|strm|arraySet|Buf8|adler|distcode|64512|_emissionTextureUrl|terrainVersion|_childTileMask|u0017|RangeError|_aspectRatio|QUARTIC_OUT|cos_po|sinlat0|cgb|utg|y_0|x_0|lon_0|currentObject|accessToken|assetId|_ionEndpoint|hasMetadata|_lastBeforeStartOfFrame|_quantizedVertices|outTangents|inTangents|_worker|yPoleWander|xPoleWander|UNISSUED|numberOfActiveRequests|comparator|cancelled|priority|_oneOverRadiiSquared|selectedImagery|searchText|contextOptions|09375|282782|418977|329252|69737|466063|104797|03493|84375|rotateEastTickFunction|fragmentShaderLoaded|_limitObject|_tempGlobeDepthTexture|northMeshes|eastMeshes|southMeshes|westMeshes|_isTerrainZ|_iswmts|_hasTileWith|_spriteImage|loadState|_texPrjMatrix|_disjointIDs|_intersectsIDs|_arrAssisTexture|LineStyle|batch|_batchTableColors|_BATCHID|transformToRoot|clipAmount|clipNormal|a_weight|a_joint|dropError|measureText|createObjectURL|regular|u_tex_y_b|u_tex_y_a|let|isDataUri|czm_webMercatorMaxLatitude|16581375|czm_transpose|czm_radiansPerDegree|czm_gamma|czm_getTextureMatrixFromZValue|czm_eyeOffset|uExcavationTexture|czm_ellipsoidInverseRadii|czm_depthRangeStruct|frequency|u_tileRangeAndImageSize|u_jitter|SKY_FROM_ATMOSPHERE|SKY_FROM_SPACE|u_globeMinimumAltitude|vertexInClipCoordinates|u_appendTexture|u_scanLineDir|u_scanLinePt|u_scanViewPlane|u_scanViewCenter|tColor|ivec2|nresultColor|u_alphaCutoff|emissive|uSpotLightDirectionEC|uDirectionalLightDirectionEC|FxaaPixelShader|u_texelOffset|CORESIZE|POLYLINE_DASH|fwidth|u_distanceAndEdlStrength|originalSize|xxx|computeGroundAtmosphereFromSpace|u_center3D|QUANTIZATION_BITS12|u_southMercatorYAndOneOverHeight|u_southAndNorthLatitude|SHOW_OCEAN_WAVES|u_oceanNormalMap|uSlopeFloor|u_nightFadeDistance|nczm_ray|DYNAMIC_ATMOSPHERE_LIGHTING|HYPSOMETRIC_ANALYSIS||clipDistance|ENABLE_CLIPPING_PLANES|u_normalTextureTranslationAndScale|u_waterMaskTranslationAndScale|u_lightingFadeDistance|uExcavateTexture|initialColor|APPLY_GAMMA|texHeight|fadeDirection|u_oneOverEllipsoidRadiiSquared|CZM_SELECTED_FEATURE|sina|original|u_Bloom_DirtTileOffset|u_texture0|avgLuminance|gradations|ROTATION|uDomeType|VertexWeightMode|Texture|uHasModelTextureAndPixelLength|uModelTextureRect|uPicking|uSkylineColor|FLIP_Y|instanceId|VertexTextureSupport|UseInstanceSkeletonMatrix|TEXTURE_COORD_ONE_IS_W|DepthEXT|uMinMaxTerrainHeight|uPickPositionHeight|TEXTURE_MOVE|uEmissionTexUVScale|u_pointCloud_depthTexture|aPosHigh|uVisibleDistance|uOffsetX|decode_texCoord4_normConstant|decode_texCoord4_min|decode_texCoord3_normConstant|decode_texCoord3_min|decode_texCoord2_normConstant|decode_texCoord2_min|decode_texCoord5_normConstant|decode_texCoord5_min|compute|uOutlineWidth|uGapColor|uDashPattern|uDashLength|Particle|ModelEditControl|uGeometryHeight|createCtrlPoints|SYMBOL_UNKNOW|getFeatureByUuid|activate|plottingLayer|calcCirclePts|ScaleLeft1_1|maximumAliasedLineWidth|fixedFrameTransform|_vectorScale|pixelDisToRealDis|keyCode|Picture|redPntPos|serverUrl|localSymbolLibData|getSymbolInfoParameters|_trackedEntity|_tiltIndicator|_dataSourceAdded|useBrowserRecommendedResolution|3600|multiplyByUniformScale|morphTo3D|positive|_closeInstructions|_frame|_onInputEnd|_onInputBegin|jsonp|errorPanel|creditViewport|debugFrustumStatistics|hasPickedTile|updateVisible|pickActive|_allShuttleRingTicks|_svgNode|062|_knobOuter|getPropertyValue|PlottingUtil|_smlInfo|findByIndex|readyState|clearNextSamePts|radial|upright|tilePixelRatio|prevPlacement|indexedSymbolInstances|anchorY|anchorX|vtLayers|_structArray|IMAGE|getRotateWithView|defaultPadding|backgroundStroke|backgroundFill|maxAngle|asColorLike|textFillState_|createCanvasContext2D|applyStroke|MULTI_POINT|asString|BEGIN_PATH|originY_|originX_|height_|anchorY_|anchorX_|bufferedMaxExtent_|setInterval|setStroke|listen|origin_|BOTTOM_RIGHT|offsetOrigin_|TOP_LEFT|anchorOrigin_|FRACTION|IconAnchorUnits|unlistenByKey|imageState_|strokeWidth|getKey|extent_|readFeatures|readString|getProperties|getLayout|setFlatCoordinatesInternal|deflate|setLayout|intersectsExtent|XYM|getCoordinates|getTransform|dispatching_|includes|57343|fileInfo|inputOffset|2147483648|32767|bitset|Please|beforeRemove|plain|templateEngine|textarea|form|clearTimeout|custom|because|maximumMemoryUsage|isReady|createDebugVolume|EVA_C|EVA_W|EIA_C|EIA_W|CTA_C|CTA_W|CVA_C|CVA_W|TER_C|TER_W|VEC_C|VEC_W|CIA_C|CIA_W|IMG_C|clipToGLWindowCoordinates|postExecute|createAttributeLocations|_spSkyFromAtmosphereColorCorrect|_spSkyFromSpaceColorCorrect|_vectorTileMaps|pickDepthFramebuffer|getSelection|_NetCDFBuffer|layerConfig|oss|optional|sampleHeight|_pos|_jobScheduler|_isMVT|selectEnabled|getSelectedLayer|enableZoom|_underGlobe|colorBufferHalfFloat|colorBufferFloat|pickPositionSupported|_spatialQueryEnable|_S3MInstanceCollection|clippingType|isMvtTexture|_outputFramebuffer|suffix|131072|8388608|_imageUrl|_dWidth|Voxel_Billboard|instancedArrays|NUMBER_OF_PROPERTIES|POSITION_INDEX|blockInfo|_fileExtension|visibleScales|Levels|scissorRectangle|pointToGLWindowCoordinates|computeViewportTransformation|_lastInertiaTiltMovement|inertiaSpin|ROTATE|_minimumPickingTerrainHeight|_zoomFactor|_topPoint2|_topPoint1|_bloom|_ao|_fxaa|preserveDrawingBuffer|_stageNames|_clearColor|hiddenEdgeColor|visibleEdgeColor|renderTranslucentDepthForPick|computePlaneDistances|isShowGlobe|NUMBER_OF_PASSES|_cascadesEnabled|_normalOffset|shadowMap_textureCube|executeCopyDepth|_lifetime|_maximumSpeed|_minimumSpeed|_minimumParticleLife|_matrixDirty|_particleSize|unclassifiedCommand|lightShadowsEnabled|queryParameter|isSketchMode|_translucentCommand|_fboClassified|_classifiedTexture|addVertex|_cellHeight|_cellWidth|Attribute|jpeg|_colorRenderBuffer|_tempCopyDepthCommand|_copyDepthFramebuffer|clearCustomClipBox|_modifyRegionUpdate|ARM_NONE|_slopeColorTexture|analysisMode|_occluders|cameraPosition|cancelReprojections|_lineFXAACommand|rasterLineWidth|_rasterLineFBOs|maximumTerrainLevel|minimumTerrainLevel|_calculateTextureTranslationAndScale|gridImagery|simpleIntersection|_excavateDefaultTexture|_excavateSideMapUrl|_excavateBottomMapUrl|colorBuffer|clippedByBoundaries|_loadedCallbacks|boundingVolumeSourceTile|tilesRendered|_usedDrawCommands|normalTextureTranslationAndScale|_createdByUpsampling|_pauseCount|_updateTexture|_tmpParticleTextureBuffer|_lastParticleTextureBuffer|_tmpParticleStateTexture|_curParticleStateTexture|sizeFixed|_pickFeaturesResource|retry|maxy|maxx|miny|isBloomEnable|_fboIndex|_jitterPixel|_scanLineMoveViewDir|_pickDepths|_priority|updateVisibility|_hasMixedContent|defaultMoveAmount|_adjustHeightForTerrain|minimumZoomDistance|_oldPositionWC|preferBlob|_quaternion|headingPitchRollQuaternion|vertexWeightMode|FileType|volNames|volume|OSGBCacheFile|_hasExcavation|_hypMaxCategory|_hypMinCategory|_objsVisibleList|ClampGroundAndObjectLineCache|useMercatorProject|isGeoTilesRootNodeSave|_textureUVSpeed|_maximumMemoryUsage|_bloomEffect|_transparentBackColorTolerance|_HorizontalColor|_clipPlaneColor|PolylineEffect|_blurYFrameBuffer|_blurXFrameBuffer|_glowPower|_isRootTile|freeResource|_cameraUp|_cameraDir|loadEntity|AddRef|Add|_reloadVol|nDepth|nBlockLength|nSideBlockCount|LOADVOL|numberOfProcessingAttempted|skeletonState|_rangeMode|establishStackSpace|varargs|indicate|access|responseText|ENVIRONMENT|web|HEAPU8|cookie|octet|Program|GeoName|GeoDeModMatrix|Geode|_isWEBP|skeletonCount|childTile|NICEST|createImageBitmapFromBlob|supportsImageBitmapOptions|lastHighLightLayerID|TEXTURE_WRAP_T|TEXTURE_WRAP_S|userImage|isDataDriven|_perp|gap|layout_line|prepareSegment|stateDependentLayers|antialias|indexArray2|blendEquation|paintVertexAttributes|bindRenderbuffer|extVertexArrayObject|dynamicDraw|u_color|FRAGMENT_SHADER|a_tex|some|a_placed|kernel|cases|pickTileFeatures|idFramebuffer|_pickRectCommand|_selectedColorCommand|_selectedStencilCommand|_updateBatchTable|hasTexCoord2|refreshRasterTile|refreshRasterTile2|_boundingRectangle|getPropertyNames|_emissionTexCoordScale|Loading|queryChildNodes|subSkeletons|_nextPosition|_selColor|startDirection|_lockOrientation|interpolationDegree|_usePBR|timeStamp|RGBA_DXT5|RGB_DXT1|160581375|_handle|_fillStyle|_getGeometry|_viewProjMatrixs|_extend|_polygonUpdate|_defaultTransparentTexture|_defaultCubeMap|fontWeight|underline|backColor|fillGradientOffsetRatioX|fillGradientOffsetRatioY|fillGradientAngle|fillBackOpaque|_goAnimationLayer|_findPos|_execute_Generalization|SYMBOL_POLYBEZIERCLOSED|SYMBOL_KIDNEY|endSurroundLineWidth|surroundLineWidthAnimation|endSurroundLineColor|startSurroundLineColor|surroundLineColorAnimation|lineWidthAnimation|endLineColor|startLineColor|pathColor|_pathColor|_tangentDirection|FromAngleAxis|_replaceStyle|STOP|PLAYING|selectedFeature|_subSymbolSize|gridSurroundLineWidth|_extendProperty|_surroundRatioVal|_hasDragLine|_vectorDefaultSize|removeBillboard|needCacheList|opaqueRS|wallPrimitive|ploygonFillPrimitive|bezier|release|ImageData|fontStack|Symbols|Area|maxFractionDigits|minFractionDigits|four|Uint8ClampedArray|billboardParent|_vLabel|Distance|measureEvt|_labelPixelOffset|16px|clampToGroundPolylines|leftClickTimes|_getVertexBuffer|getOutlineVertexArray|_isStopVisible|Playing|_currentStopIndex|_dynamicCurrentStopIndex|updating|loadingEvent|_stack|expires|NetworkLinkControl|replaceFn|instagram|u0633|decodeURIComponent|getAnchorText|getAnchorHref|_resourceCredits|u00da|append|_orderedGroundPrimitives|isFilled|_line|_groundGeometryOptions|hMax|fillEnabled|updater|_incrementallyLoadTextures|_getIsClosed|depthFailAppearance|updateBoundingSphere|polygons|_collectionsArray|destroyPrimitives|_external|_normalize|findDataForIntervalContainingDate|addSamplesPackedArray|_interpolationAlgorithm|_interpolationDegree|_targetProperty|_targetEntity|_targetPropertyNames|_rsOpaque|_pointPrimitivesToUpdateIndex|numberOfTilesWithContentReady|_viewerRequestVolume|_isClipped|_contentReadyToProcessPromise|_isPicked|_backgroundBillboardCollection|_labelsToUpdate|_repositionAllGlyphs|_labelDimensions|PADDING|_relativeSize|_batchIndex|BRACKETS|_maxScale|_billboardsID|_initialSize|_alignedAxis|_allBuffers|_activeColorAttachments|nextRandomNumber|componentCount|_allowPicking|_contentModelMatrix|_precreatedAttributes|command2D|pendingShaderLoads|getFailedLoadFunction|MODELVIEWINVERSETRANSPOSE|publicNode|_gltf|VEC4|VEC3|_decodedData|EPSILON4|_pickCommands|_batchDirty|LITERAL_BOOLEAN|LITERAL_NULL|x0B|_min|czm_instanced_modelView|COLOR_0|getDiffuseAttributeOrUniform|skinning|animationSampler|tile_batchTexture|tile_color|computeSt|fromRotationZ|_createCommandsFunction|_defaultMaxTerrainHeight|_appendShowToShader|_createShaderProgramFunction|_debugShowShadowVolume|requiresTextureCoordinates|requiresEC|_appearance|_recomputeBoundingSpheres|_instanceBoundingSpheres|boundingSpheresCV|boundingSpheres|offsetInstanceExtend|pickOffsets|createPickOffsets|elementIndexUintSupported|_numberOfInstances|rtcCenter|distanceSq|batchTexture|vertexAttrib|parentToken|isDepthFormat|_preMultiplyAlpha|NEAREST_MIPMAP_LINEAR|getDefaultRenderState|numberOfPoints|dataCallback|trailingInterval|leadingInterval|2451545|subRequest|_hasNormalBuffer|_removalFunctions|MIDDLE|bitangents|_occluderPosition|createImage|Z_OK|distbits|nlen|wbits|ALPHA|_noValueColor|hasTerrain|ancestorHasTerrain|_terrainCache|northSkirtHeight|eastSkirtHeight|southSkirtHeight|westSkirtHeight|quantizedVertices|u0005|alloc|rpcImpl|Bounce|AREA_3|sinb1|fi0|Mercator|cosX0|ep2|from_greenwich|lat_2|lat_1|lat_0|_sortKey|computeEllipsePositions|octEncodeFloat|indexOffset|currentCount|objectStoreNames|xmldom|ISERVER_TOKEN|fetchJsonp|_numberOfLevelZeroTilesY|_numberOfLevelZeroTilesX|heightmap|createTypedArrayFromArrayBuffer|_canTransferArrayBuffer|signNotZero|octEncode|projectPointToNearestOnPlane|ut1MinusUtc|yPoleOffset|xPoleOffset|_stepSizeDays|_totalSamples|_dataError|_terrainHeights|protocol|_oneOverRadii|_zoomIsFlight|isFullscreenEnabled|selectedTerrain|terrainProviderViewModels|imageryProviderViewModels|isSearchInProgress|wrapper|78125|_locked|90625|showInstructions|drag|_searchText|_isSearchInProgress|_datasource|pickTileActive|pickPrimitiveActive|depthTestAgainstTerrain|nhttp|Bing|shuttleRingDragging|_sunCamera|useOIT|isUnderGlobeVisible|enableIndoorColliDetection|_strafing|motion|_actualUniforms|_depthAttachment|_textureToCopy|_tempCopyDepthFramebuffer|maxDepthVisited|northTiles|eastTiles|southTiles|westTiles|copyrightText|isMVT|_arrRasterTexture|startPickPos|_pinBuilder|RTC_CENTER|_decodingState|BATCH_ID|a_color|SPECULAR_IBL|DIFFUSE_IBL|bindShapeMatrix|materialsById|amount|u_normalMatrix|_granularitySubscription|requiredBy|SPHEROID|availabilityLevels|_heightmapStructure|littleEndianExtensionSize|onSettledCallbacks_|lowFrameRateMessage|mixin|unzip|loadWithXhr|stretches|squishes|calculate|their|towards|simplicity|clarity|bases|native|applied|transformations|aliasing|Retina|fades|015873016|bigger|special|moment|allowed|LINE_DISTANCE_SCALE|hasExtension|counteract|opacity_t|antialiased_blur|ndepth|fragmentCoordinateXY|depthFromCamera|clipCoords|nv_depthFromNearPlusOne|SHADOW_MAP|ndiffuse|transformedDirection|L20|val_sw|val_ne|val_se|val_nw|czm_private_shadowVisibility|nextLod|czm_sampleOctahedralProjectionWithFiltering|currentLod|texturePosition|nvIsFiltByID|nvertexPos|qw2|czm_private_getSpecularOfMaterial|nearDistanceSq|tanTheta|distanceToPixel|inverseNear|czm_luminance|sinLatitude|chroma|czm_getWgs84EllipsoidEC|angleInRadians|yOffset2|yOffset1|fResult|computeVolumeValue|TIME_ORDER|computeVolumeTextureCoord|fValue2|fValue1|volumeTexture|nDel20|isRGBA|YTran|XTran|nvecAlphaTexCoord|nrgbTexCoord|texTileWidth|dotY|dotX|vecTile|nvolumeColor|zEyeOffset|vecExcavationTexCoord|excavationInside|hasExcavation|spotDiffuseWeight|spotHalfVector|positionToEyeECDir|pointLightDiffuse|pointHalfVector|cutoffDis|lengthToLight|uShininess|xZeroTo4095|clipResult|nclipResult|clip_lineWidth|depthEye|czm_cascadeWeights|nshadowMap_cascadeMatrices|shadowMap_cascadeMatrices|czm_cascadeMatrix|shadowMap_cascadeDistances|czm_approximateSphericalCoordinates|nval1|fuzzFactor|czm_XYZToRGB|nvTexCoord|vNearTexCoord|tf_life|tf_oriPos|previousPosition|currentPosition|scene_depth|transitionAndCount|Weights|nprevColor|RGB2YCoCgR|ToneMap|nhistroyUV|neighborhoodFinalWeight|AA_CLIP|ClipBlend|TargetColor|InvRayDir|RayOrigin|Avg2|RcpDir|BlendB|BlendA|RcpBlend|nneighorhoodSamp|sampleUV|Luminance|nrampColor|czm_temeToPseudoFixed|u_alpha|czm_geometricToleranceOverMeter|unpackExtent|10000|downUp|leftRight|nsphericalLatLong|useDownOrLeft|downOrLeftEC|upOrRightEC|downOrLeftLogDepth|appendTexCoord|disToLine|disToLineCenter|testPt|ptOnLine|v01|DEBUG|mixed|Cop|maxDelta|SMAA_THRESHOLD|fPixCoord|subsampleIndices|SMAAArea|SMAASampleLevelZeroOffset|pixcoord|SMAA_AREATEX_PIXEL_SIZE|MASK|LINEARtoSRGB|emissiveTexCoord|iblFactor|numerator|NdotZenith|nadirColor|notDistantRough|farAboveHorizon|zenithColor|diffuseIrradianceFromSky|diffuseIrradianceFromEarth|blueSkyDiffuseColor|sceneSkyBox|blueSkyColor|atmosphereHeight|blendRegionOffset|vertexRadius|spotLightColor|pointLightColor|F_Schlick|baseColorTexCoord|pos_dy|pos_dx|linearOut|D_Phong|getLightColor|ndh|ndv|f90|outRimColor|rimColor|halfCoreSize|czm_RGBToXYZ|K_RGB2HSB|nv_pickColor|centerLowAndRadius|nczm_morphTime|nnext|nprev|widthAndShow|czm_batchTable_width|rightPlane2D|rightPlane3D|nv_texcoordNormalizationAndHalfWidth|endEC|startEC|ncleanTexcoordNormalization3D|posRelativeToEye|rayPlaneDistanceUnsafe|trailTime_1|constantSpeed_5|nv_outlineColor|outlineWidthBothSides|depthOrLogDepth1|depthOrLogDepth0|v_cubeMapCoordinates|rgbm|texture2|texture1|texture0|st1|weightForLensFlare|oneMinusWeightForLensFlare|camrot|weightForHalo|distortionVec|haloVec|textureDistorted|NDC|getNDCFromWC|fKmESun|fKrESun|v3FrontColor|fScaledLength|fKm4PI|fKr4PI|fCameraOffset|fTemp|fScaleOverScaleDepth|v3SamplePoint|v3Start|fLightScale|dynamicLighting|fDet|fOuterRadius2|fCameraHeight2|fCos|nhalfColor|atmosFogColor|nv_positionMC|v_normalMC|compressed1|getPositionPlanarEarth|currentLatitude|northLatitude|southLatitude|texCoordRotate|v_fogRayleighColor|v_fogMieColor|v_height|v_slope|diffuseHighlight|maskValue|waveIntensity|normalizedpositionToEyeEC|waveHighlightColor|linearFade|positionEyeCoordinates|computeWaterColor|008|slopeFillColor|nslopeMapColor|ComputeSlopeArrowColor|finalRate|ngroundAtmosphereColor|fadeInDist|cameraDist|fExposure|atmosColor|ellipsoidPosition|waterMaskTextureCoordinates|maxRadii|ncameraDist|nmodifyTexCoord|nalphaMultiplier|arrowAlpha|yNum|xNum|ntransCoord|acosSlopeDirection|u_dayTextures|GetWaterColor|nresultColour|fadeOutColor|fadeInColor|sphericalNormal|geodeticNormal|vertEdge|horizEdge|directions|nscalars|ndirections|z_ndc|SCISSOR_TEST|lib|waterColour|nweightSum|basis|cosa|rnd|blurRadius|focalAdjusted|COLOR_CORRECTION|SSAO|FilmicTonemappingFunction|centerBump|scaledLum|guess|G_Vis|G1_Smith|tangentX|phi|depthOrigin|nimageSize|pEC3|pEC2|pEC1|distanceScale|SHIFT_LEFT7|SHIFT_RIGHT5|SHIFT_LEFT2|SHIFT_RIGHT2|norigin|v_outlineWidth|v_rotationMatrix|v_depth|enableDepthTest|getDistance|sdfColor|outlineEdge|lookupVector|depthLookupST|v_bitangentEC|v_tangentEC|tpos|PROFILE|aTexCoordZ0|CalculatePolyTexCoord|aRatio|worldPos0|worldPos1|uv6|realVertexPos|hasBaseHeight|zDir|ComputerLineWidth|SCREEN_VALUE|worldPos|texTileWidth1|texTileWidth0|ICON|tviewPos|distX|distY|aPosLow|aOffset|S3MInstanceCollection|selectionColor|checkBoardRepeat|tvalue|polygonTextureCoord|PrimitiveType|tvPositionMC|forwardOffset|mitering|negative|against|NoSleep|vTexcoord1|viewPos1|GeometryOffsetAttribute|subpixH|pixelOffsetGood|goodSpan|subpixG|spanLengthRcp|dst|goodSpanP|goodSpanN|directionN|spanLength|lumaMM|subpixE|subpixD|lumaSS|nposP|nposN|noffNP|nposB|subpixRcpRange|subpixB|FxaaSat|subpixA|subpixNWSWNESE|subpixNSWE|edgeVert|edgeHorz|edgeVert4|edgeVert3|edgeHorz4|edgeHorz3|lumaSWSE|edgeVert2|edgeVert1|edgeHorz2|edgeHorz1|lumaNWNE|earlyExit|rangeMaxClamped|rangeMaxScaled|rangeMin|minESM|minWN|maxESM|maxWN|minSM|maxSM|nFxaaFloat4|nposM|Ellipsoid|rotationFromQuaternion|aNextOrientation|aPreOrientation|quaternionMultiply|aNextHpr|aPreHpr|halfAngle|Postion|removeGeoGraphicObject|localPoint|PlotImages|handle|rayTriangleParametric|useServerData|enableTilt|_onDataSourceRemoved|_onDataSourceAdded|tiltEventTypes|_baseLayerPicker|_projectionPicker|_sceneModePicker||_homeButton|_geocoder|_clockTrackedDataSource|EXPONENTIAL_OUT||_timelineDrag|||86400|002|slide|_renderEntities|querySelector|tiltbarTop|tiltbarLeft|isTilting|dataSource|_useDefaultRenderLoop|primitiveReferenceFrame|frustums|hasPickedPrimitive|inspectorVisible|09|_smlFileName|onreadystatechange|_load|Open|parallel|isSDF|_rotateAround|imageName|metrics|lng|each|section|numberSafeCompareFunction|transform2D|textKey_|textState_|getLineDash|MULTI_POLYGON|SET_FILL_STYLE|lastStroke|getHitDetectionImage|CUSTOM|pixelCoordinates_|createOrUpdateEmpty|collides|createOrUpdate|key_|_allDistMargin|_splitRoot|_minEntries|_insert|_build|_all|setZIndex|geometryFunction_|setGeometry|getChecksum|hitDetectionCanvas_|||needSourceLayerNames|getStyle||||||linearRingss|getSimplifiedGeometryInternal|orientedRevision_|closestSquaredDistanceXY|XYZM||cosh|pendingRemovals_|Disposable|stopPropagation|Bytes|github|See|9_|writable|encodedMaskData|zMax|counter|7976931348623157E308|2147483647|numValidPixels|unwrap|too|focus|createChildContext|arrayChange|memoization|post|_totalMemoryUsageInBytes|timeSinceLoad|START||computeActualWgs84Position|getShaderFunction|_spSkyFromAtmosphere|_spSkyFromSpace|brightnessShift|saturationShift|hueShift|_depthPlane|_computeEngine|_plotLayers|_isUpdatePickCommand|isSct|iServer|clampToHeightMostDetailed|sampleHeightMostDetailed|exclude|REFINED|pickPointFramebuffer|disableThisFrame|pickObject|setSelected||_renderRequested|performanceDisplay|_lastRenderTime||PRELOAD_FLIGHT|_maskEnabled|_mvtVisibleControl||_presetLightSource|targetPosition|_useWebVR|sunColor|_logDepthBuffer|_useOIT|_selectedProfileIDs|Intersects|KeepOutside|GEOREGION3D|_subSpriteImage|_selectColor|_renderStateCache|integer|_sliceCoordinate|volumeShaderPredefine|_dDepth|subCommit|_textureAtlasGUID|crn|ktx|_blockCacheSize|blockCacheSize|_blockCacheQueue|_blockCache|prjCoordSys|inertiaZoom|zoomEventTypes|tweenjs|morphStart|_morphToOrthographic|_drawCommandInScene|_drawCommandInClampTexture|geoHeight|_autoExposure|_smaa|_activeStages|_textureCacheDirty|fxaa|destroyFBO|createFBO|createCustomViewportQuadCommand|edgeGlow|edgeStrength|_parentSelectedLength|_selectedLength|_parentSelectedShadow|_selectedShadow|pickIds|tilesets|farToNearRatio|updateOnChange|computeView||Transform|||||normalOffsetScale|_depthStencilIdTexture|unpackArray|_age|_updateParticlePool|normalizedAge|Map|_translucentMultipassSupport|_ellipsoidPrimitive|_defaultCredit|_accessTokenErrorCredit|openstreetmap|lightSourceChanged|_selectedLayer|datasetName|_changedLightList|deleteBuffer|POSTEFFECT_FILTER|setCesium3DTileBit|_getBuffer|executeUpdateDepth|framebufferWithTexture|edgeWidth|removeAllExcavationRegion|_excavateRegionUpdate|oceanNormalMap|zoomedOutOceanSpecularIntensity|tileCacheSize|11500|fromRectangleWithHeights2D|swipeEnabled|cartographicLimitRectangle|POLYLINE|isChildAvailable|positionOnEllipsoidSurface|customData|_tilesToRenderOld|_addHeightCallbacks|layerId|_rasterAAFBOs|_rasterTextureSize|_customData|_frameUpdated|surfaceTile|_imageryLayersUpdatedEvent|_tilesToRenderByTextureCount|dayTextures|dayTextureSplit|dayTextureOneOverGamma|dayTextureSaturation|dayTextureHue|dayTextureContrast|dayTextureBrightness|dayTextureAlpha|_slopePolygonTexture|tileBounds|LESS_OR_EQUAL|NORTHWEST|wasCreatedByUpsampling|_needsQuietPeriod||||_lastFramesPerSecond|samplingWindow|defaultSettings|_terrainBlock|bufferMode|varyings|_translucent|_beta|_planesPrimitives|_currentFrameCredits|mobile|_channel|_requestType|_path|_deferred|reverseY|geodetic|fetchText|urlSchemeZeroPadding|isTAAEnable|_toneMappingEnabled|_frameIndex|_scanPlane|_appendTexUrl|102100|configureDescriptionFromProperties|CTRL|RIGHT_DRAG|_isFlyCircle|_flyCircleLoop|viewBoundingSphere|defaultRotateAmount|sseDenominator|_rightWC|_upWC|_directionWC|positionWCDeltaMagnitude|TRANSFORM_2D_INVERSE|_sqMode|localTransform|_isOverLay|removeInstance|_maxVisibleDistance|isTransparencyOptimization|isS3MZ|isTextureShare|minInstensity|maxInstensity|Url|Tiles|TransparencyOptimization|TextureSharing|_excavationBounds|_flattenBounds|WireFrame||numClampClipPlaneLayer|_refreshVolume|updateAllObjsVisible||_excavationUpdate|||_overlayTexture||_flattenUpdate|_categorieTexture|_categoryHideList|_lastSelectSkeletonId|_pointCloudClassificationInfos|arrayFloat|_vertexWeightMode|_triangleFiltratePixel|getMaterial|selectionFiltrateByTransparency|_mixColorType|_bVolume|_emissionTextureChanged|RegionEffect|constrast|IconPoint|pointCloudLayerNames|_urlArguments|REST|_useCount|_strength|_nLODLev|_isLessLodDis|KEY_VALUE|parseResult|_configLoadState|cwrap|_errorNum|utf|lastColorChangeTrigger|lastLoadedTrigger|TOTAL_STACK|argv|make|credentials|setStatus|instancePackage|_texturesByteLength|createRenderEntityPageLOD|geoName|geoMatrix|calcBoundingSphere|PIXEL_SIZE_ON_SCREEN|_isInvalidOblique|S3MBTaskProcessor|taskProcessorReady|skeletonPackages|instanceBounds|skeletonNames|pageLods|groupNode|queryRenderedFeatures|||setPaintProperty|getLayoutProperty|setLayoutProperty||||_maximumAnisotropy|createImageBitmap|isBaseLayer|imageCount|getMaximumPaintValue|_transitioningPaint|lastIntegerZoom|EvaluationParameters|meters|Regular|051129|getCrossfadeParameters|prior|endsWith|getBinding|uniformNames|updatePaintArray|populatePaintArray|zoomOutPaintVertexArray|zoomInPaintVertexArray|_t|updateData|blend|stencilFunc|depthFunc|clearDepth|vertexOffset|getProgramParameter|fade_change|a_offset|rotation_matrix|perspective_ratio||distance_ratio|gamma_scaled|SDF_PX|EDGE_GAMMA|a_pixeloffset|a_texture_pos|lines|u_dimension|v_lighting|u_vertical_gradient|a_anchor_pos|GAUSS_COEF|u_intensity|disableVertexAttribArray|ReadOnly|pickIDColor|_mvtParser|_rowDiff|_colDiff|clampRegionEdge|_clampColorCommand||||appendProgramDefineForCommand||||||SPOT|Label_Billboard|SVC_VertexColor|_dynamicColor|_preOrientation|_nextHpr|_prePosition|_tilingSpeedV|_tilingSpeedU|_offsetSpeedV|_offsetSpeedU|RGB_ETC1|RGBA_PVRTC_4BPPV1|RGBA_PVRTC_2BPPV1|RGB_PVRTC_2BPPV1|6410|isCached|_sceneDepthBuffer|_textureFinish|_isRecreateTexture|_primitiveMode|_depthDirty|isDepth|_barrierPointArray|_renderTextureMatrixs|_video|_depthValue|_v3ProfileDir|_isGetPositions|_normalArray|log2FarDepthFromNearPlusOne||currentFrustum|_unBind|debugShaders|specularEnvironmentMapsMaximumLOD|_frustumPlanes|_modelViewInfiniteProjectionDirty|_modelViewProjectionDirty|_modelViewProjectionRelativeToEyeDirty|frustumPlanes|view3D|inverseView|finalDestroy|derivedKeywords|logShaderCompilation|DEPTH_COMPONENT24|RGB565|stringAlignment|fontWidth|strikeout|backOpaque|italicAngle||GROUPOBJECT|_lastScale|||||rotateDirection|lineColorAnimation|SYMBOL_ALGO|tangentDirection|showPath|_pathType|_showPath|finalDisplay|showEffect|_finalDisplay|replaceStyle|blinkNumber|blinkInterval|blinkStyle|_blinkInterval|_pauseTime|extendWallHeight|middleMarkExist|scale3D|fontHeight|extendProperty|_dragPoint|_symbolRank|_pictureSymbolSize|_isUseSymbolLibStyle|middleMarkBounds|markerSize|controlPoints|_isScalePtModify|cachecompleted|symbolLibJsons|UpdatePointStatus|CorridorInstances|Polylines|groundPrimitive|_faceForward|_flat|layersToUpdate|mvtProvider|overloads|HTMLVideoElement|HTMLImageElement|finestLevel|placedSymbolArray|lineLength|Presentation|Radicals|Ideographs|sensitive|Could|_visibleInCullingVolume|_decay|triangulate|_hLabel|fpEntity|||activeEvt||_accumulationPositions|_labelBackgroundColor|||51ff00|boxConfig|markers|rasterPolylines|rotateCircleTop|movePolygonTop|moveLineBack|moveLineForward|moveLineRight|moveLineLeft|moveLineBottom|_lineEntity|surroundDuration|stopName|isLoading|sourceResource|kmlgx|atom|protocolUrlMatch|headingPitchRoll|getMatchedText|parseMatches|isClosing|matcherRegex|protocolRelativeMatch|u0643|u0639|u043a|u043e|rel|describe|filenameLength|u00b0|u00a6|u00f0|u00c0|u00e2|_offset3D|viewFrom|_visualizers|geometryChanged|classificationTypeProperty|_classificationTypeProperty|_shadowsProperty|shadowsProperty|DISABLED|trailLength|spotSize|loadFail|activeAnimations|computeModelMatrix|_text|_openMaterialBatches|_openColorBatches|_closedMaterialBatches|_closedColorBatches|_outlineBatches|_dynamicBatch|_translucentBatches|_solidBatches|_depthFailAppearanceType|_lastDepthFailColor|materialSupport|_composites|_intervalsChanged|backwardExtrapolationDuration|forwardExtrapolationDuration|interpolationAlgorithm|_forwardExtrapolationType|_backwardExtrapolationType|pointIndex|billboardIndex|_compiledShaderDisableDepthDistance|_compiledShaderDistanceDisplayCondition|_compiledShaderTranslucencyByDistance|_compiledShaderScaleByDistance|_buffersUsage|_pointPrimitiveCollection|SHOW_INDEX|_addedEntities|debugPickedTile|numberOfCommands|_stencilClearCommand|numberOfTilesTotal|_touchedFrame|_basePath|foveatedConeSize|numberOfTilesStyled|numberOfFeaturesStyled|lastStyleTime|numberOfTilesCulledWithChildrenUnion|numberOfTrianglesSelected|numberOfPointsSelected|numberOfFeaturesSelected|tilePropertyName|_debugColor|cacheNode|_optimChildrenWithinParent|_debugColorizeTiles|debugShowContentBoundingVolume|projectTo2D|fromOrientedBoundingBox|memorySizeInBytes|_pickedlabelsID|_renderedText|_rebindAllGlyphs|_backgroundImage|_shaderRotation|_maxSize|_pointsChanged|via|_stencilRenderbuffer|_depthRenderbuffer|_colorRenderbuffers|_opaquePass|_attenuation|basisTo2D|_quantizedVolumeScale|_ignoreCommands|finished|_rtcCenter2D|_luminanceAtZenith|_forwardAxis|MAT4|primitivesToDecode|_dirtyIndex|getGltfSemanticUniforms|_rsPickPass|_updatingAllCommands|MEMBER|LITERAL_STRING|BINARY|callee|VEC2|FLOAT_MAT2|KHR_blend|techniqueAttribute|_transformToRoot|hasVertexColors|compressedImage|ONE_MINUS_SRC_ALPHA|compressedImage3DTiles|tile_pickTexture|tile_colorBlend|isStyleTranslucent|toBytes|_extrudedHeightReference|_isConstant|_sp2D|_modifyShaderPosition|_appendDistanceDisplayConditionToShader|_scene3DOnly|_pickOffsets|Vertex|_polylinesToUpdate|_vertexArrays|RECEIVE_ONLY|packFloat|_vao|_bufferTarget|StringLength|textureUnitIndex|_pickOnly|_receiveShadows|_castShadows|_debugOverlappingFrustums|_executeInClosestFrustum|_occlude|Dimensions|_hasMipmap|DONT_CARE|preMultiplyAlpha|_seeking|other|interpolateHeight|_subdivisions|DAYS_PER_JULIAN_CENTURY|skirtScale|blockSize|isCreateSkirt|granXSin|granYSin|granXCos|granYCos|unpackPolygonHierarchy|Buf16|Buf32|UNSIGNED_SHORT_5_5_5_1|UNSIGNED_SHORT_4_4_4_4|EPSILON11|_projectionIndex|negativeElevationThreshold|thisY|thisX|createdByUpsampling|vertexCountWithoutSkirts|skirtHeight|nativeRectangle|u0088|u0016|_configure|LongBits|_cullingVolume|_infinitePerspective|_perspectiveMatrix|Circular|Interpolation|geocent|phic0|cosb1|longc|bessel|WGS|longlat|102113|GEOGCS|_ionRoot|rightPositions|leftPositions|interpolateUsingFraction|_shouldAnimate|outerPositions|vertexTriangles|_requestWaterMask|objectStore|transaction|creatingTable|responseXML|diagonal|COLUMN1ROW1|COLUMN1ROW0|COLUMN0ROW1|COLUMN0ROW0|v_|_hasAvailability|_encoding|_tilesAvailable|0254|calculateResolution|_rootNodes|_structure|_semimajorAxis|decompressTextureCoordinates|COLUMN2ROW2|fullscreenerror|fullscreenchange|fullscreenEnabled|fullscreen|_samplesPerXysFile|_interpolationOrder|mostOrthogonalAxis|transformPositionToScaledSpace|_cameraPositionInScaledSpace|_defaultMinTerrainHeight|distanceSquared|numberOfFailedRequests|numberOfCancelledActiveRequests|numberOfCancelledRequests|blockDefer|packRequestQuadKey|packRequestGroup|_centerToleranceSquared|4999999|_mouseX|selectedTooltip|139729|morphComplete|showingLowFrameRateMessage|webgl|tileCoordinates|suspendUpdates|filterTile|debugShowGlobeDepth|debugShowFrustumPlanes|Attenuation|Data|ESRI|Maps|buttonMain|_frames|isFlyMode|usePostProcess|sunBloom|_debugVolume|maximumMovementRatio|_lastPosition|_morphCancelled|_colorAttachment|tilesCulled|tilesVisited|20px|pixelsToCheck|ymax|xmax|ymin|xmin|_up|minMaxLuminance|REQUEST|SERVICE|_tilematrixset|relativeToGround|colorMode|_materialBatches|_colorBatches|cartographicDegrees|cartographicRadians|_ancestorWithContent|counts|packedBuffer|indexOffsets|globalCompositeOperation|childNode1|_fragmentShaderLoaded|u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier|czm_tiles3d_style_|czm_modelMatrixRow2|czm_modelMatrixRow1|czm_modelMatrixRow0|_quantizedUniforms|morphWeightsUniformName|jointMatrixUniformName|jointName|clipPosition|pixY|v_tangent|a_vertexColor|a_texcoord_0|skinMatrix|u_jointMatrix|quadraticAttenuation|linearAttenuation|constantAttenuation|u_transparency|u_diffuse|u_shininess|skinMat|tile_diffuse|parentIds|_spDepthFail|_frontFaceRS|glslSource|_touchHoldTimer|_primaryStartPosition|MGRSPoint|UNIT|tileUrlTemplates|_tileUrlTemplates|state_|flyToOnDrop|topojson|pointGeometry|adding|czm_log2FarDepthFromNearPlusOne|czm_transformPlane|czm_tangentToEyeSpaceMatrix|czm_sphericalHarmonics|uFillStyle|USE_CUBE_MAP_SHADOW|czm_sceneModeColumbusView|czm_sampleOctahedralProjection|czm_passTranslucent|czm_oneOverTwoPi|czm_oneOverPi|czm_latitudeToWebMercatorFraction|uTimeRatio|uNextVolumeTexture|czm_epsilon2|uVolumeType|uHorizontalColor|uHorizontalLine|czm_fogDensity|uExcavationMode|uExcavationRect|czm_epsilon5|uAmbientLightColor|uSpotLightPosition|uSpotLightDirection|uDirectionalLightDirection|uOneOverGamma|uSaturation|uHue|uContrast|uBrightness|065|60000|amplitude|specularMap|fadeFactor|animationSpeed|getSampleValue|u_voxelGridLayerColor|HAS_COLORTABLE|u_transitionAndCountTexture|u_historyTexture|u_transformMatrix|sum|u_sampleSpatialWeight|u_offsets3x3|u_currentTexture|czm_sunPositionColumbusView|u_radiusTS|u_rotateMatrix|u_cubeMap|nv_toCamera|nv_rayleighColor|nv_mieColor|nsamplePoint|nfrontColor|nfar|nray|643802610477206||n19|473284437923038|60204474633241|silhouetteTexture|EAST_MOST_X_LOW|WEST_MOST_X_LOW|EAST_MOST_X_HIGH|WEST_MOST_X_HIGH|REQUIRES_WC|REQUIRES_EC|u_scanLineMoveViewDir|tBlendWeights|inputColorTexture|ivec4|tSearch|tArea|tEdges|czm_brdfLut|u_textureDimensions|u_LineTexture|yzx|MAX_TERRAIN_HEIGHT|v_batchId|nexpandWidth|npositionWC|np0|u_maxTotalPointSize|u_lastColorTexture|FILTER|SIZEFIXED|uFieldTexture|cubeMapCoordinates|cubeMap|43758|percent|starTexture|dirtTexture|haloWidth|ghostDispersal|czm_HSLToRGB|uTopLevel|uLevel|nclip_vertex|u_scaleAndBias|u_zoomedOutOceanSpecularIntensity|uSlopeOpacity|uSlopeColorTexture|rate|uSlopeCeil|uSlopeMaxVisibleValue|uSlopeMinVisibleValue|uSlopePolygonTexture|uHasSlopeRegion|u_GlobeAlpha|darken|u_minimumBrightness|normalTextureScale|u_waterMask|u_initialColor|computeDayColor|TILE_LIMIT_RECTANGLE|Excavate_Outer|Excavate_Region|uModifyTexture|Modify_Region|APPLY_GLOBESWIPE|APPLY_GLOBESPLIT|uSlopeArrowsTexture|APPLY_SATURATION|APPLY_HUE|APPLY_CONTRAST|APPLY_BRIGHTNESS|u_dayTextureTexCoordsRectangle|u_dayTextureOneOverGamma|u_dayTextureAlpha|u_dayTextureUseWebMercatorT|u_dayTextureTranslationAndScale|uWaterHeight|czm_cameraPositionWC|czm_inverseModel|uNoise|uScroll|refractionColour|rbg|blurTexture|bumpSpeed|minFresnel|maxFresnel|noiseScale|poissonKernel|blurred|fstop|u_saturation|u_hue|u_contrast|u_brightness|u_exposure|u_AmbientOcclusionTexture|u_Bloom_Color|u_Bloom_DirtTex|u_BloomTex_TexelSize|u_BloomTexture|u_toneMappingWhitePoint|u_floatTexture|imageHeight|imageWidth|u_SampleScale|u_BloomTex|u_Threshold|bloomTexture|EYE_DISTANCE_PIXEL_OFFSET|u_eyeOffsetZ|ambientOcclusionTexture|colorTexture2|uTexWorldViewProjMatrix4|uTexWorldViewProjMatrix3|uTexWorldViewProjMatrix2|uTexWorldViewProjMatrix1|uTexWorldViewProjMatrix0|uDepthMap4|uDepthMap3|uDepthMap2|uDepthMap1|uDepthMap0|uHighLightColor|uModelColor|uModelTexture|uModelTextureTiling|uProfilePickColor|uClampIDTexture|uHiddenColor|uVisibleColor|uSpacing|uAssisTexture|textureRepeat|img0|uSQViewProj|uSelectViewProj|uTriangleFiltratePixel|uSkeletonCount|uOverlayRect|uSkeletonMatrix|uCameraHeight|uFlattenTexture|uMaxCategory|u70b9|u5728|uEastDir|uNorthDir|uSouthWest|uSelecRect|frag|whether|deciding|tclip_vertex|twinPos|uLineWidthY|uLineWidthX|uOffsetY|uRotationAngle|uDiffuseTexture|uPolygonTextureMatrix|uPolygonMode|ProjectionImage|may|here|please|textureCount|uRenderTextureMatrixs|uTextures|FresnelVp|FresnelFp|uMaxVisibleDistance|uUseColor|uClipPlaneColor|uClampTexture|BoundingRectangle|_CenterPosition|createBoxGeometry|min_X|max_Y|_ResetEditMark|_isEditable|shiftKeyDownFun|shiftKeyUpFun|left1|_dotVector|aboveGround|createLineGometryInstance|computeBounds|keyup|symbolMoveToLR|symbolMoveToUp|AlgoMovePt|setSymbolData|_needTrackedEntityUpdate|_entityView|clockTrackedDataSource|isCameraTracking|pointCloudIndicator|cloud|titleText|enableCamera|LEFT_DOUBLE_CLICK|_selectedEntity|clockViewModel|changeEventName|Element|updateFromClock|lastChild|_rulerEle|computeTaiMinusUtc|startJulian|_timeBarEle|UNBOUNDED|_onTouchEnd|touchcancel|_onTouchMove|_onMouseWheel|43200|slideZoom|touchOnly|_oriCenter|webkit|showCompass|rotateFrame|rotateMouseMoveFunction|rotateMouseUpFunction|_descriptionSubscription|initializeFrame|_creditContainer|_useBrowserRecommendedResolution|_renderLoopRunning|debugCommandFilter|_pickStatisticsText|_statisticsText|showStatistics|_editorError|optimizationVisible|tileDebugLabelsVisible|styleVisible|loggingVisible|displayVisible|tilesetVisible|showUrl|showMemoryUsage|showRenderingStatistics|showGeometricError|showOnlyPickedTileDebugLabel|freezeFrame|showRequestVolumes|showContentBoundingVolumes|showBoundingVolumes|Replace|creationCommand|_timeFormatter|_dateFormatter|089|wma|polylineDistance|getDefaultStyle|_addSmlFileFailed|getPlottingLayers|centerY|smlName|smlDesc|smlAuthor|smlSeclevel|smlDepat|smlTime|isIntersectLines|generateBezierPointsWithCtrlPts|generateBezierCtrlPts|shapeText|glyphOffset|writingMode|variableOffsets|collisionGroups|angleTo|layerIndexes|getBucket|addLayer|usedCrossTileIDs|cameraToCenterDistance|ignoredGrid|boxEndIndex|boxStartIndex|keyCache|createFilter|_featureFilter|deleteTexture|rawTileData|queryIntersectsFeature|bucketIndex|_convertToCellCoord|_convertFromCellCoord|created|_pos2|systemTime|renderFeature_|ERROR|declutterTree_|textOffsetY_|getFont|getLineJoin|getLineCap|getMiterLimit|getLineDashOffset|textStates|strokeText|updateStrokeStyle|getSnapToPixel|getOpacity|maxLineWidth|nullFunction|beginGeometryInstruction2_|beginGeometryInstruction1_|BEGIN_GEOMETRY|viewRotation_|fillOrigin_|setTransform|coordinatess|clearInterval|setStyle|CHANGE|unlisten|BOTTOM_LEFT|TOP_RIGHT|getImageSize|listenOnce|miterLimit_|lineJoin_|lineDashOffset_|lineDash_|lineCap_|atlasManager_|atlasManager|getRadius|hitDetectionImageSize_|cacheSize_|linearRingIsClockwise|applyTransform|geometryChangeKey_|getId|squaredDistance|simplifiedGeometryMaxMinSquaredTolerance|simplifiedGeometryCache|Corner|replaceNode|outerWidth|getListeners|listener|ol_lm|propertychange|Fixed64|Fixed32|2047|wAI|noSleepTimer|requests|like|enumerable|getDataTypeSize|large|tag|renderTemplateSource|activeElement|deleted|engine|renderMode|valueAccessors|textInput|propertyName|submit|scrollTop|hasfocus|removeAttribute|setAttributeNS|registered|virtual|expressionRewriting|beforeChange|computedContext|Perhaps|onError|clippingPlanesState|_runningLength|setOwner|25px|eia|cia|GetTile|SOLAR_RADIUS|_cameraAndRadiiAndDynamicAtmosphereColor|_brdfLutGenerator|toDataURL|addLightSource|postProcess|Not|addS3MTilesLayerByScp|mvtLayerCount|list|_pickResult|INSTANCED_OBJECT|INSTANCED_LAYER|PRELOAD|updateDerivedCommands|_mvtVisibleLevel|ambientLightColor|enableLook|_undergroundDepth|HORIZONTAL|updateFrustums|_mapProjection|_updateTextures|clampToObject|textureAtlasID|_clippingType|_textBillboard|_imageIconBillboard|isRendered|indexedDBSetting|valueOf|unavailable|_billBoardImageSize|_minFiltration|_maxFiltration|_transparency|_ceil|_volumeShaderPredefine|textureAtlas|isTileMap|_tileFormat|layersID|tileImage|CellHeight|CellWidth|408523429128511E|3521308572821242E|760654286410611E|3803271432053056E|_sceneFramebuffer|moveRight|moveLeft|moveBackward|moveForward|_flags|_lastInertiaTranslateMovement|up2D|direction2D|_drawCommandInScenePreModel|_drawCommandNormal|createReceiveClampObjectStencilTest|_bottomPoint2|_bottomPoint1|_positionArray|viewZ|_rows|outputFbo|_autoExposureEnabled|aYBvuL6657|_searchTexture|_areaTexture|createPotentiallyVisibleSet|closestObjectSize|farPlane|nearPlane|executeInClosestFrustum|OVERLAY_AGAINST_DEPTH|_overlayAgainstDepthCommandList|_overlayCommandList|_cameraStartFired|_pointLightRadius|_cascadeSplits|FRAMEBUFFER_COMPLETE|_lightPositionEC|viewProjectionMatrix|_pointBias|_primitiveBias|_terrainBias|shadowMap_matrix|shadowMap_lightDirectionEC|shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness|exceeds|shadowMap_texelSizeDepthBiasAndNormalShadingSmooth|_depthStencilIdRenderbuffer|_particlePool|_maximumImageSize|_minimumImageSize|mass|SOURCE_ALPHA|_opaqueFBO|computeIcrfToFixedMatrix|OpenStreetMap|dataSetName|_clampLayerIndex|receiveObjectClamp|skeletonId|bloomEnable|usedThisFrame|stolenFromMeThisFrame|_totalUsedThisFrame|starvedThisFrame|_rsUnclassified|_vertexBufferViews|_intensityCommand|bufferData|maxLevel|imageData|_debugGlobeDepthViewportCommand|unionClippingRegions|_worldGeometry|_inverseModifyMatrix|fromCartesianArray|showExcavationSide|nightFadeOutDistance|lightingFadeInDistance|lightingFadeOutDistance|preloadSiblings|preloadAncestors|loadingDescendantLimit|_oceanNormalMapResource|cartographic|pickWorldCoordinates|pickBoundingSphere|_slopeAnalysisMode|UpdatePolygonRegion|_bUseSlopeColorTable|canvasPostions|_lastTileIndex|CULLED_BUT_NEEDED|_mvtLoaded|_endLevel|_cameraReferenceFrameOriginCartographic|suspendLodUpdate|_tilesInvalidated|_2DRasterized|rasterLayerIds|_rasterCurrentFBOIdx|findTileToNorth|findLevelZeroTile|findTileToSouth|_isBaseLayer|queueReprojectionCommands|layerMoved|lowerToBottom|raiseToTop|gridRectangle|FACE_AND_LINE|gridBuffer|_createTexture|RECEIVING|clipMode|_excavateGeoBounds|gridUpdate|numberOfGridTextures|numberOfDayTextures|_vertexArraysToDestroy|toWireframe|getShaderProgram|mvtTextureObj|colorToAlpha|dayTextureSwipeRegion|dayTextureUseWebMercatorT|dayTextureTexCoordsRectangle|dayTextureTranslationAndScale|transparentBackColorTolerance|globeSwipeRegion|LineInterval|_slopeArrowUrl|NORTHEAST|SOUTHWEST|SOUTHEAST|_freeVertexArray|originalResult|CULLED|_normalTexture|_frameRateMonitor|minimumFrameRateAfterWarmup|minimumFrameRateDuringWarmup|warmupPeriod|quietPeriod|minimumBrightness|sse|_floodPosition|_stateChanged|_copyLastColorCommand|_showParticleTrails|_velocityScale|_textureEffectUrl|multiplyByTranslation|_lastAlpha|_outlinePrimitives|updateCamera|_lightbox|inline|AERIAL|_currentIntervalIndex|_clockOnTick|subdomains|isDOFEnable|isSSAOEnable|programDefines|_runtimeConditions|contentUnloaded|MIDDLE_DRAG|rotateRight|currentViewMatrix|clipPlane|_transformChanged|pitchAdjustHeight|flyOverLongitudeWeight|flyOverLongitude|flyToBoundingSphere|lookAt|interpolationMode|altitudeFree|pitchFree|headingFree|getRectangleCameraCoordinates|cancelFlight|_suspendTerrainAdjustment|_shaderSettings|_lastUpFBO|_params|numPostEffectFilterObject|_isReady|_setSQMode|createClampObjectColorRenderState|vertexCount|_distanceVisible|HeightRange|namespace|processType|ProcessType|MaxHeight|MinHeight|_clipPlaneMode|isRenderClipSection|Fill_And_WireFrame|updateExtendHeight|createRasterRegionDrawCommand|_operationType|_selectedTranslate|HIDE|_manualShadowVolumeTopHeight|_shadowVolumeTopHeight|_manualShadowVolumeBottomHeight|_shadowVolumeBottomHeight|_id2RectangleList|_showIcon|SmID|_volNames|_applyFunctions|classificationInfos|loadVolumeData|allObjsHide|EdgeLengthMin|_memoryCache|_PBRMaterialType|_clearMemoryImmediately|_transparentBackColor|_groupName|_fHorizontalLine|_visibleDistanceMin|_visibleDistanceMax|scpUrl|horizontalLine|ExtendRegion3D|RotationAngle|Back|loadImagery|_isEmptyTree|pushCommands|UsePagedLodInfo|numberOfColorChangeAttempted|rootTile|volBounds|3201|createPriorityFunction|volImage|STATE|_reStoreTimes|_fflush|NULL|TOTAL_MEMORY|heap|2147418112|Build|caused|full|provide|larger|exit|Valid|0x|d_|HEAPF32|async|instantiate|onRuntimeInitialized|TEXTURE_LOADED|GetValue|draco|S3MTaskProcessor|calcBoundingRectangle|PageLods|AddressMode|Shininess|SpecularA|SpecularB|SpecularG|SpecularR|Specular|DiffuseA|DiffuseB|DiffuseG|DiffuseR|Diffuse|AmbientA|AmbientB|AmbientG|AmbientR|Ambient|Material3Ds|xmlDoc|initWebAssembly|geodes|matrials|querySourceFeatures|removeLayer|getImageryFromCache|preExecute|imageOrientation|_updateLayer|sourceCaches|mapObject|nextRow|atlasImage|useIntegerZoom|totalDistance|bevel|layout_fill|Lookup|colorSpace|ems|lowercase|is3D|untransitioned|pixelStoreUnpackFlipY|pixelStoreUnpackPremultiplyAlpha|pixelStoreUnpack|unbindVAO|_showOverdrawInspector|depthRbo|depthModeForSublayer|CONSTANT_COLOR|nextStencilID|Uniform4f|blendFunc|stencilOp|CULL_FACE|setVertexAttribPointers|enableAttributes|u_tile_units_to_pixels|vaos|VERTEX_SHADER|u_texsize_icon|overzoomed|oversized|Prevents|part|evaluated|constants|u_texture_icon|v_pos0|v_lineprogress|azimuth|a_normal_ed|collision_perspective_ratio|Blue|pattern_size|glsl|many|packedColors|unsigned|_simplifyTolerance|_pickIDArray|_instanceMode|DIRECTIONAL|HAS_SKELETONSELECTED|_intersectWithClipPlane|vertexColorCount|_wireFrameIndexBuffers|_isInstanceModel|useBloom|NonClampObject|VOXEL|_bufferPrepared|_instanceBuffer|defaultTransparentTexture|getTexture|_waterTime|S3MTilesShadowVolumeFP_|indexBufferToCreate|vertexBufferToCreate|CREATING|UnLoad|colorCommand|setInterpolationOptions|removedList|dynamicLayer|beginTime|_updateInterval|_emissiveTextureIndex|_occlusionTextureIndex|_metallicRoughnessTextureIndex|_normalTextureIndex|_baseColorTextureIndex|_baseColorTextureMotion|_emissiveTextureMotion|emissiveFactor|textureManager|crunch|initWebAssemblyModule|_description|4369|BGR|hint|maxVBOSize|_frameIdx|_imageReady|_calloutWidth|_calloutColor|_updateIDs|_isInitlized|_timeUpdate|_timeInterval|_extendHeight|_texcoordArray|inverseViewProjection|_matWorldMatrix|_depthTextureToCopy|Pick|ssaaLevel|_maxFrameTextureUnitIndex|glDrawBuffers|numberOfIndices|environmentMap|viewRotation3D|_frustum2DWidth|_viewProjectionDirty|_inverseViewProjectionDirty|_encodedCameraPositionMCDirty|_modelViewDirty|_modelView3DDirty|_modelViewRelativeToEyeDirty|_inverseModelViewDirty|_inverseModelView3DDirty|_normalDirty|_inverseNormalDirty|_normal3DDirty|_inverseNormal3DDirty|sunDirectionWC|inverseModelView|inverseProjection|_view3D|inverseModel|_shadersToRelease|RGBA4|_symbolLibManager|borderSpacingWidth|surroundLineWidth|Animations|pts|generateBeizerPointsNoCtrlPt|_execute_1004|SYMBOL_CURVEEIGHT|goFeature|_rotateDirection|_startSurroundLineWidth|_startSurroundLineColor|_startLineWidth|_startLineColor|_lineColorAnimation|_showEffect|_blinkNumber|_blinkStyle|_symbolTexts|showAnimationFeature|_isAnimationFeature|symbolRanks|_middleMarkBounds|fillColorLimit|lineColorLimit|addColorStop|generateArcSpatialData|fillCanvas|StringtoColor|scalePoints|succeed|Value|getPtsByTriangle|isSameQuadrant|getSubObjectsFromFeatures|dragPoint|_showTipLength|_keys|removedIds|imageryNeedToRender|_activeTasks|_specification|_parameters|small|checkSubtype|addIndicesForPlacedSymbol|addDebugCollisionBoxes|_addCollisionDebugVertex|lineStartIndex|hasRTLText|Supplement|Description|interpolationType|imageSectionID|Input|numeric|needle|Cubic|Exponential|DVH|_labelPixelOffsetScaleByDistance|Raster|enuInverse|destroyed|Parts|routeName|_isLineVisible|addStop|Pause|_playRate|_clampToS3M|addSamples|_timeoutSet|playlist|drawOrder|viewRefreshMode|earth|activeCamera|playlistIndex|tldMatches|wwwMatches|schemeMatches|plusSign|040|urlMatchType|u7f51|u0440|u0430|free|u0bcd|windows|FeatureCollection|rings|externalFileHandler|_files|extraFieldLength|bitFlag|u00dd|u00db|u00de|u00cf|u00bf|u00d8|u00dc|u00f4|u00ec|Worker|_defaultDataSource|outlineColorProperty|_trailLength|_constantSpeed|_removeSubscription|_modelHash|modelPrimitive|_maximumScale|_minimumPixelSize|NUMBER_OF_SHADOW_MODES|isDirty|_isOnTerrain|projectPointOntoEllipsoid|_lastOutlineColor|prePassesUpdate|dataSourceMoved|dataSourceAdded|removeSamples|unpackInterpolationResult|interpolateOrderZero|convertPackedArrayForInterpolation|getRequiredDataPoints|_forwardExtrapolationDuration|_backwardExtrapolationDuration|_targetId|_targetCollection|_lineOffset|_lineThickness|_lineCount|_cellAlpha|_enabledDirty|_minimumClusterSize|_pixelRange|_pointPrimitivesToUpdate|_pointPrimitivesRemoved|_computeScreenSpacePosition|_computeActualPosition|_setActualPosition|_getActualPosition|_geometryPropertyName|_changedEntities|getOrCreateEntity|_removedEntities|scaleZ|scaleY|scaleX|rotationZ|rotationY|rotationX|_tilesetHash|tilesetPrimitive|_emptyTiles|debugShowUrl|debugShowMemoryUsage|debugShowRenderingStatistics|debugShowGeometricError|_backfaceCommands|SKIP_LOD_MASK|_previousModelMatrix|foveatedMinimumScreenSpaceErrorRelaxation|_clippingPlanesOriginMatrix|_selectedTilesToStyle|numberOfPointsLoaded|numberOfFeaturesLoaded|_selectedFrame|_priorityReverseScreenSpaceError|debugColorizeTiles|debugShowViewerRequestVolume|_finalResolution|_contentBoundingVolume2D|_visibilityPlaneMask|MASK_OUTSIDE|_contentResource|TILES3D|_centerZDepth|_screenSpaceErrorProgressiveResolution|progressiveResolutionHeightFraction|getScreenSpaceError|northeastCornerCartesian|southwestCornerCartesian|_selectionDepth|_localScreenSpaceBBox|descent|totalScale|textureInfo|WEAK|LTR|_shaderPixelOffsetScaleByDistance|_shaderAlignedAxis|_maxPixelOffset|_allSizedInMeters|_isInitialize|nodeSize|_borderWidthInPixels|_imageIndexPromise|cbrt|styleDirty|_depthGBuffer|attachments|stencilRenderbuffer|_quantizedVolumeOffset|_parsedContent|_quantizedRange|_isOctEncodedDraco|_isQuantizedDraco|_isQuantized|_rtcCenterTransform|gltf_color|_quantizedVertexShaders|_heightChanged|_normalAttributeName|finishedDecoding|_sourceKHRTechniquesWebGL|_sourceVersion|addBatchIdToGeneratedShaders|_rtcCenterEye|modelsToLoad|_maximumMipmapLevel|maximumMipmapLevel|_cubeMapBuffers|_matrix|_maxDirtyNumber|_materials|_taskProcessorReady|pendingDecodingCache|_uint8View|_float32View|_unionClippingRegions|_batchIdLookUp|_batchedPositions|LITERAL_REGEX|LITERAL_VECTOR|hsla|REGEX|FUNCTION_CALL|_test|fromHsl|octEncoded|BOOL_VEC4|BOOL_VEC3|BOOL_VEC2|INT_VEC4|INT_VEC3|INT_VEC2|skinned|TEXCOORD_0|programsToCreate|texturesToCreateFromBufferView|texturesToCreate|animationChannel|meshPrimitiveTargetAttribute|meshPrimitiveTarget|materialValue|fromName|tile_translucentCommand|_batchTableBinaryProperties|MAT3|MAT2|_translation|_spMorph|_updateBoundingVolumes|color2D|_spPick2D|_spColor2D|_hasPlanarExtentsAttributes|_hasSphericalExtentsAttribute|pick2D|_needs2DShader|appearance2D|_extruded|_createRenderStatesFunction|requiresWC|requiresNormalEC|_planarExtents|_depthFailMaterial|getBatchedAttribute|_offsetInstanceExtend|_batchTableOffsetsUpdated|COMPLETE|COMBINED|_createPickOffsets|boundingSphereCenter3DLow|boundingSphereCenter3DHigh|3DHigh|GEQUAL|_actualLength|_bucket|lengthOfPositions|_opaqueRS|_translucentRS|_positionBuffer|_polylineBuckets|_createBatchTable|_polylinesRemoved|getMorphTime|isGeographic|createGeometryResults|unpackFloat|glBindVertexArray|glVertexAttribDivisor|_czmBuiltinsAndUniforms|includeBuiltIns|startIndex|_setSampler|SAMPLER_CUBE|framebufferYOffset|framebufferXOffset|minDistance|_firstTickAfterSeek|_seekFunction|julianDates|_changedEvent|removeInterval|upsample|createMesh|numberOfPointsRhumbLine|colorsPerVertex|skirtMode|getURL|southCap|northCap|radiiSquared|subdivideLineCount|packPolygonHierarchy|COUNTER_CLOCKWISE|_closeBottom|_closeTop|different|chunks|ended|Z_FINISH|Z_STREAM_END|dmax|textureSizeInBytes|RGB_PVRTC_4BPPV1|RGBA_DXT3|RGBA_DXT1|compressedTextureSizeInBytes|conjugate|_textureFilterMode|_linesInterval|negativeAltitudeThreshold|computeBarycentricCoordinates|includeWebMercatorT|relativeToCenter|u0007|u00b2|u0095|u009f|imageryVersion|cnodeVersion|_Buffer_from|_Buffer_allocUnsafe|_fovy|Sinusoidal|Utils|ms2|sinphi|sinph0|cosph0|sinX0|sinc0|cosc0|dependsOn|9996|intl|Everest|8017|handled|afterItem|access_token|server|_isExternal|_startHeading|computeHierarchyPackedLength|fromRandom|LINE_LOOP|maximumIndex|_hasMetadata|_isShowGlobe|requestWaterMask|_hasWaterMask|layerToUse|tmsY|readwrite|IPORTAL_KEY|encodedNormals|lastTangent|firstTangent|_max|highestEncodedHeight|lowestEncodedHeight|getOctEncodedNormal|2304|32926|octDecode|octDecodeInRange|COLUMN2ROW1|COLUMN2ROW0|COLUMN1ROW2|COLUMN0ROW2|_xAxis|_yAxis|fastSlerp|leapSeconds|SECONDS_PER_HOUR|SECONDS_PER_MINUTE|_distanceToLimbInScaledSpaceSquared|rows|cols|meter|lods|_retryCount|setTemplateValues|ISSUED|ACTIVE|_maximumRadius|_minimumRadius|_radiiToTheFourth|458172257647332E|40680631590769|fromSpherical|relativeEpsilon|isVREnabled|selectedTerrainProviderViewModel|selectedImageryProviderViewModel|screen|spanX|changedTouches|_flightInProgress|_viewer|_geocodeInProgress|tileBoundingSphere|terrainVisible|filterPrimitive|primitiveBoundingSphere|primitivesVisible|generalVisible|World|Stamen|mapId|_isAnimating|shuttleRingAngle|hover|touchedFrameNumber|_runningSamples|_runningIndex|tilematrixset|_hueSaturationBrightness|pointCloudLayers|useInvertClassification|moonCommand|sunDrawCommand|skyAtmosphereCommand|isBillboardVisible|_actualInvertClassificationColor|_minimumRotateRate|_maximumRotateRate|eventType|_dirtyUniforms|_texturePromise|imageryPresent|zipTerrainData|_frameRateIsLow|defaultGamma|reloadFunction|requestImageFunction|Node|missingImageUrl|_isUpdateCommand|_currentViewport|_currentPassState|_currentRenderState|styleUrl|_documentPacket|CZML|references|_gltfUpAxis|_ancestorWithContentAvailable|vertexBatchIds|1E20|childNode2|position_absolute|Global|POSITION_QUANTIZED|_ellipsoids|_cylinders|_boxes|_diffuseAttributeOrUniformName|legacy|gltf_maxSpecularLOD|_sourcePrograms|_programPrimitives|createdBufferViews|packedClippingPlanes|oct32|clippingPlaneNumber|u_glossinessFactor|u_specularFactor|u_diffuseFactor|specularIBL|cubeDir|glossiness|u_modelViewMatrix|u_morphWeights|useInFragment|u_ambient|CONSTANT|parentCounts|_heightSubscription|_classificationTypeSubscription|_zIndexSubscription|strict|_primaryPreviousPosition|_lastSeenTouchEvent|_isPinching|terrainPresent|easting|_pendingPromise|isHeightmap|_chunkDownloadsInProgress|_yCelestialPoleOffsetRadiansColumn|_xCelestialPoleOffsetRadiansColumn|_yPoleWanderRadiansColumn|_xPoleWanderRadiansColumn|_ut1MinusUtcSecondsColumn|callWhenSettled_|dropEnabled|clearOnDrop|dropTarget|readAsText|util|distances|sdfdist|sdfdist_b|sdfdist_a|isBlobUri|getTimestamp|createLineSegmentsForVectors|combine|coalesce|projected_center|color_t|czm_updatePositionDepth|logPositionEC|v_logPositionEC|unpacked|SHIFT_RIGHT_24|nunpacked|SHIFT_RIGHT_16|SHIFT_RIGHT_8|nsign|BIAS|czm_translucentPhong|lowDifference|highDifference|transformedPlane|transformedPosition|ntransformedPlane|nnormal|L10|L1_1|L11|L2_1|L21|L2_2|L00|L22|mixLineColor|ndiscontinuity|edgeDetection|dot1|dot0|tex_se|tex_sw|tex_ne|tex_nw|uvw|nvisibility|colorCurrentLod|colorNextLod|maxLod|average2|average1|OES_texture_float_linear|neg|nenc|encodedFloat2|encodedFloat1|valueAtMax|valueAtMin|farDistanceSq|cameraDistSq|targetLuminance|rightLuminance|leftLuminance|pixelHeight|npixelWidth|npixelHeight|frustumHeight|frustumWidth|mercatorY|toRGB|toYIQ|nczm_ellipsoid|volumeColor2|volumeColor1|texCoordV2|texCoordU2|xOffset2|texCoordV1|texCoordU1|xOffset1|czm_getVolumeColor|fNextResult|texCoordV|texCoordU|nLevel|nscale|SHIFT_LEFT4|SHIFT_RIGHT4|vecAlphaTexCoord|fMaxMipLev|fTile|fMaxMip|toReflectedLight|zyx||computeContourline|oneOverEllipsoidRadiiSquared||positionOnEllipsoid|adjacent|CalculateExcavationPolyTexCoord|czm_epsilon3|314245|tangentMC|totalSpecularLight|totalDiffuseLight|spotSpecularWeight|ntotalSpecularLight|spotDotNormalHalf|nlVector|pointSpecularWeight|pointDotNormalHalf|dirDiffuseWeight|dirVectorEC|SideLightColor|sideLightDiffuseWeight|sunLightDiffuseWeight|SunLightColor|saturate|sty|stx|positionRotateMC|position3D|ClipAnythingButLine|ClipBehindAllPlane|ClipBehindAnyPlane|fIsFiltByID|ndistance|disToOrigin|czm_cascadeColor|longitudeApproximation|latitudeApproximation|midColor|val2|czm_acesTonemapping|XYZ2RGB|particleTexture|nvPositionMC|minPointSize|texcood|nv_volTexCoord|hdrColor|getSampleValueForVolume|ncolorFromColorTable|ComputeLatLonFromPos|ntf_oriPos|nnorthAxis|neastAxis|lookup_wind|fastAtan2|vdmAlpha|VDMTransmission|variance|erf|FragColor|UnToneMap|YCoCgR2RGB|BlendFinal|FilterWeight|HistoryWeight|WeightedLerpFactors|ClampHistory|jitteredUV|FilterCurrentFrameInputSamples|totalWeight|neighborhoodHdrWeight|GetNeighorhoodSamp|HistoryClip|AA_CLAMP|MaxIntersect|MinIntersect|BoxMax|BoxMin|IntersectAABB|WeightB|WeightA|HdrWeightY|rotatedPosition|natmosphereAlpha|nv_uvMinAndSphericalLongitudeRotation|southwest_HIGH|southwest_LOW|nplanes2D_low|nplanes2D_high|unpackPlanes2D_LOW|unpackPlanes2D_HIGH|1000000|1000|USES_ST|USES_TANGENT_TO_EYE|USES_POSITION_TO_EYE_EC|USES_NORMAL_EC|scanValue|appendColor|nappendColor|distancePointToLine|pointProjectPlane|vectorLine|res|normalizeVector|SMAA_DEBUG_SPLIT_VIEW|SMAANeighborhoodBlendingPS|SMAAColorEdgeDetectionPS|SMAA_LOCAL_CONTRAST_ADAPTATION_FACTOR|Ctoptop|Cleftleft|Cbottom|Cright|Ctop|Cleft|SMAABlendingWeightCalculationPS|nweights|SMAASearchYDown|SMAASearchYUp|SMAASearchXRight|SMAASearchXLeft|SMAA_AREATEX_SUBTEX_SIZE|SMAA_AREATEX_MAX_DISTANCE|nspecularIrradiance|czm_environmentMap|nbaseColorWithAlpha|fresnelSchlick2|nfxaaQualityEdgeThresholdMin|nfxaaQualityEdgeThreshold|nfxaaQualitySubpix|nfxaaQualityRcpFrame|ncolorTexture|0833|nYxy|RGB2XYZ|RGBtoHCV|nshow|centerLow|centerHigh|nv_polylineAngle|napproxLineDirection|nwidth|nv_endPlaneNormalEcAndBatchId|nv_startPlaneNormalEcAndHalfWidth|nv_endEcAndStartEcX|npositionEc2D|forwardEc2D|npositionEc3D|forwardEc3D|nv_alignedPlaneDistances|cleanTexcoordNormalization2D|ncleanTexcoordNormalization2D|nendPlane3D|nendPlane2D|nrightPlane3D|nrightPlane2D|nstartPlane3D|nstartPlane2D|ndistanceFromEnd|ndistanceFromStart|spotSize_2|trailLen|period_6|czm_computeNextPosition|czm_computePrevPosition|outlinePercent|ndisableDepthTestDistance|ntranslucency|depthMix|texCoordOrig|texCoord1|texCoord0|lastColor|nestPos|nwinPos|nFragColor|nin|texture5|texture4|texture3|yMipLevel4|yMipLevel3|yMipLevel2|yMipLevel1|noiseValue|rand|5453|9898|nextPos|lensStarTexcoord|st3|st2|cosValue|sinValue|dirtAmount|ndirtTexCoords|dirtTextureDimensions|invPixelSize|ghost|sunPositionEC|DISTANCE_TO_SPACE|earthPosSCEdge|earthPosSC|hueToRGB|sRim|dRim|nsmoothstep|nscaledHeight|nscaledWidth|arrowTextureScale|levelSpan|finalNormal|ellipsoidNormal|GENERATE_POSITION|nv_height2|morphPosition|position2DWC|rtcPosition2D|positionFraction|maxTileWidth|surfaceReflectance|oceanSpecularIntensity|normalTangentSpaceLowAltitude|lowAltitudeFade|normalTangentSpaceHighAltitude|highAltitudeFade|oceanOneOverAmplitudeLowAltitude|oceanFrequencyLowAltitude|oceanAnimationSpeedLowAltitude|oceanOneOverAmplitudeHighAltitude|oceanFrequencyHighAltitude|oceanAnimationSpeedHighAltitude|waveFade|Height_Map|slopeMapColor|slopeCoord|slopeRate|bIsSlopeColor|nbIsSlopeColor|slopeColor|nfadeOutDist|nfadeInDist|nbNext|nfogColor|ENABLE_LIGHTING|normalTextureCoordinates|normalTextureTranslation|ellipsoidFlippedTextureCoordinates|ellipsoidTextureCoordinates|waterMaskTranslation|waterMaskScale|nexcavation|modifyColor|ngeoPosition|narrowsTexColor|narrowAlpha|slopeRotateZMatrix|limitTexCoord|idTextureToSample|textureSaturation|textureHue|textureContrast|textureBrightness|sampleAndBlend|1415926535897932384626|u_dayTextureCutoutRectangles|u_dayTextureSaturation|u_dayTextureHue|u_dayTextureContrast|u_dayTextureBrightness|u_dayTextureSwipeRegion|u_dayTextureSplit|u_transparentBackColor|u_dayTextureFlipY|u_gridTextureTexCoordsRectangle|u_gridTextureUseWebMercatorT|u_gridTextureTranslationAndScale|u_gridTextures|nrealMaxFresnel|nrealMinFresnel|nvertEdge|nhorizEdge|scalars|computeDepthBlur|worldview_matrix|scroll|projectionCoord|glsllib|nrand|blurredColor|aperture|toneMappingColor|linearTosRGB|linearColor|ACESTonemapping|sRGBToLinear|dirt|0031308|04045|topBump|rightBump|leftPixel|imageDimensions|rightPixel|centerPixel|u_threshold|integrateBrdf|G_Smith|importanceSampleGGX|hammersley2D|tangentY|upVector|vdcRadicalInverse|invBi|Combine|SafeHDR|Prefilter|lumWeight|nv_originTextureCoordinateAndTranslate|enableDepthCheck|eyeDepth|nv_rotationMatrix|pixelOffsetScale|realEyeOffset|nrealEyeOffset|meterPerPixel|ndepthOrigin|textureCoordinatesRange|textureCoordinatesBottomLeft|SHIFT_LEFT3|SHIFT_RIGHT3|SHIFT_LEFT5|SHIFT_RIGHT7|originTranslate|nrotationMatrix|outlineFactor|labelOffset|aspect|nlocalStepSize|nlocalAO|ndotVal|nweight|nposEC|directionWithStep|inverseViewportHeight|inverseViewportWidth|00002|tdepth|renderTextureMatrix|GetVisibleFlag|UnderGlobe|TileProviderError|SpatialQueryFp|modelTexCoord|SitDataManager|tresultColor|tvTexcoord|ShadowQueryPoints|oldIntensity|fIntensity|alphaTd|ShaderProgram|ScanEffect|S3ModelFP|img3|img2|img1|nvSelectRectPos|normalWC|pbrVertex|aTexCoordZ1|pixelLength|minEdgeLength|CalculateHeight|uv5|fDepthOffset|upDir|u5ea6|u9ad8|u9876|ComputeBounds|isPointInRectangle|emissionTexCoordY|uShadowDarkness|v3Color|modelTopPos|modelBottomPos|fVertexColor|czm_getGridMaterial|czm_getCheckBoardMaterial|czm_getDotMaterial|czm_getStripMaterial|rotateTexCoord|dotRepeat|tsmoothstep|rotateZMatrix|isClipValid|clipInside|tv_alpha|tv_width|tv_st|texpandAndWidth|texpandWidth|sky|DrawHandler|PolylineGeometry|PointCloudClassificationInfo|isVisibleForMultiViewShed|isVisibleForOneViewShed|renderTextureMatrix1|farRange|nearRange|bUsePre|IndexDatatype|GroundPrimitive|FieldLayer3D|ExtendProperty|EllipsoidRhumbLine|velocityMat|headingQuaternion|pitchQuaternion|rollQuaternion|nextRte|preRte|nextPosLow|nextPosHigh|prePosLow|prePosHigh|scaledR|scaledP|tmp|fromAxis|fRepeatNum|fRealSize|DepthOfFieldEffect|DefaultStyle|beforeExecute|CesiumWidget|z_|BoundingSphere|findFeatureByUuid|groupObjectEditObject|max_Z|min_Y|max_X|getBounds|_featureSelectedEvent|leftDown|mouseMove|mouseOut|drillPick|leftClick|pickRasterData|RemoveFeatureEvent|scalePointIconUrl|createVectorCtrl|createModelCtrl|getViewport|isNegativeImage|_isFlagSymbol|createCtrlPoint|_dataSourceChangedListeners|currentMousePosition|_capturePointColor|_capturePointSize|pickPoint|pickPointEnabled|rotateEventTypes|showInfo|_enableInfoOrSelection|_allowDataSourcesToSuspendAnimation|_onTick|cea|defaultDataSource|_bottomContainer|animateDepart|terrainShadows|fullscreenButton|navigationHelpButton|_vrElement|_lastXPos|_trackList|createEvent|_needleEle|_setTimeBarTime|_mainTicSpan|epochJulian|31536E6|mousewheel|_onMouseMove|02|singleTap|_stop|createVertexData|clickStartPosition|originalEvent|zoomoutMouseUpFunction|zoomOut|zoominMouseUpFunction|zoomBarScrollMouseUpFunction|eventHelper|isRotating|tiltInitialCursorAngle|createDocumentFragment|frame|pointerup|_dataSource|_fullscreenElement|devicePixelRatio|_targetFrameRate|_removePostRenderEvent|shaderCacheText|depthFrustumText|_numberOfFrustums|frustumStatisticText|Statistics|performanceContainer|_shouldStyle|_defsElement|replaceChild|365c0|053|091|366c|_toggled|_addSmlFileToLayerFailed|_openLocalSmlFileFailed|_openSmlFileFailed|geoGraphicObjects|spatialAnalystUrl|fromJSON|_getCompletedInit|36E5|fileElementId|secureuri|ajaxFileUpload|intersectPoint|intersectLines|getTrapezoidPoints|isRight|allowsVerticalWritingMode|positionedLines|justify|minZoom|maxZoom|iconSizeData|textSizeData|symbolFadeChange|predicate|perspectiveRatio|circles|sourceLayer|_layerConfigs|loadVTLayers|featureIndexArray|_pos1|StructArray|_trim|checkbox|setImageStyle|getSimplifiedGeometry|listenImageChange|IDLE|unlistenImageChange|ORDER|compose|circleArrayCache_|fillKey_|strokeKey_|textRotation_|textRotateWithView_|textOffsetX_|getTextAlign|defaultStrokeStyle|defaultMiterLimit|defaultLineWidth|defaultLineJoin|defaultLineCap|measureTextWidth|DRAW_CHARS|fillStates|defaultTextAlign|strokeStates|CANVAS_LINE_DASH|labelCache|getEndss|intersects|setFillStrokeStyles_|reverseHitDetectionInstructions|MOVE_TO_LINE_TO|getOrigin|getAnchor|END_GEOMETRY|replayImage_|textpath|renderedTransform_|resetTransform_|coordinateRelationship|measureContext_|_initFormat|_condense|_adjustParentBBoxes|_chooseSplitAxis|_chooseSplitIndex|_split|_chooseSubtree|default_|setText|setFill|getSrc|normalizedAnchor_|anchorYUnits_|anchorXUnits_|anchorOrigin|imageListenerKeys_|tainting_|setWidth|setOpacity|pbfReaders_|setProperties|readBoolean|readDouble|readFloat|dataProjection|handleGeometryChanged_|intersectsextent|getArea|computeExtent|douglasPeucker|flatMidpoint_|orientLinearRings|XYZ|determinant|tmp_|BELOW|ABOVE|marginTop|OffscreenCanvas|control|notify|changeEventTypeCache_|drop|Varint|56319|57344|mma|webm|pixelData|system|zMin|uncompressed|microBlockSize|stuffedData|tree|bitsPerPixel|blocks|createJavaScriptEvaluatorBlock|cloneNode|dontLimitMoves|renderTemplate|templates|exportDependencies|includeDestroyed|Index|makeTemplateSource|checkedValue|autocomplete|radio|uniqueName|Safari|Chrome|selectedOptions|__ko_hasfocusLastValue|Component|parseBindingsString|loaders|definition|without|__ko__hasDomDataOptionValue__|want|pure|don|observableArray|classList|action|strokeRect|eva|cta|cva|mapStyle|_glowLengthTS|_glowFactorDirty|_sources|REFLECT|selMaskBuffer|nonSelDepthbuffer|removeLightSource|hasSelected|layerIndex|extendxml|S3MGroup|serverType|completeMorph|longer|_pickDepthTolerance|useDepthPicking|_pickPointTolerance|minimumAliasedLineWidth|clampLineWidth|throttled|_logDepthBufferDirty|_hdrDirty|textureCache|_undergroundMode|MOST_DETAILED_PICK|MOST_DETAILED_PRELOAD|REQUEST_RENDER_MODE_DEFER_CHECK|originalCommand|_lightGroup|_walkingMode|toneMappingEnabled|undergroundMode|_aspectRatioVR|logarithmicDepthBuffer|_cameraVR|_terrainExaggeration|imageryLayersUpdatedEvent|removeCollection|1500|billboardQuality|1E10|comparedTo|9007199254740991|randomBytes|getRandomValues|FORMAT|_setZBounds|_setDataBounds|_timeIndexChange|_timeRatio|_volumeRenderMode|visibleBoundingBox|endSubCommits|destroyTextureAtlas|_rasterfunction|rasterfunction|_tileversion|coordUnit|FileExtentName|003544529914513652|001772264957256826|861324786284128E|430662393142064E|215331196571032E|107665598285516E|53832799142758E|7691639957137904E|3845819978568952E|9229099892844565E|4614549946422405E|7307274973211203E|653637486605571E|3268187433028044E|1634093716513974E|0817046858256998E|7042617145642484E|690163571602655E|_uCenter|walkParameters|_lastInertiaSpinMovement|_horizontalRotationAxis|anyButtonDown|translateEventTypes|_minimumTrackBallHeight|sca|LINEAR_NONE|cancelTween|_delay|computeTileVisibility|textureTilingV|textureTilingU|getVertexArray|createVertices|_cols|isEnable|maskTexture|_stagesRemoved|unique|_tonemapper|YYBvur6657|vPcD7aw|_inputTexture|_stageNameToFramebuffer|nextPowerOfTwo|_updateDependencies|nuvOffset|ndiffuseSum|39894|_fragmentShader|_logDepthChanged|_triangleArrayByWeight|updateEnvironment|nearToFarDistance2D|logarithmicDepthFarToNearRatio|COMPUTE|_computeCommandList|_shadowMapMatrix|getViewProjection|_shadowMapCullingVolume|fromBoundingSphere|_cascadeMatrices|_cascadeDistances|GREEN|_debugCascadeColors|_softShadows|softShadows|early|applyNormalOffset|cascade|divide|_isSpotLight|findPositionVarying|czm_shadow_cast_main|_msFrameCount|_fpsFrameCount|_throttled|_isComplete|_particles|_normalizedAge|_maxRotationSpeed|_minRotationSpeed|rotationSpeed|_maximumMass|_minimumMass|_combinedMatrix|emitterModelMatrix|_carryOver|_maxVelocity|_bursts|_emitterModelMatrix|_particleSp|quality|Street|textureUrl|dataSourceName|startID|datasetList|isMerge|_totalBudget|previousFramebuffer|addPoint|_maxPerFrameDrawCount|_heatMapCommand|_maxPointCount|ZIP|_requestGridTile|_maxCategory|_minCategory|_drawGrid|_canvasSize|Reader|protoImagery|getTileInformation|_tempCopyDepthTexture|colorRenderbuffers|setPolygonOffset|_region|removeAllModifyRegion|_regionOuter|_regionInner|_geometryWithHole|nightFadeInDistance|_oceanNormalMapResourceDirty|ARM_REGION|_slopeRegionUpdate|fromCartographicArray|canvasWidth|_freeAllBakTiles|_cameraPositionCartographic|_levelZeroTilesOld|updateHeight|eligibleForUnloading|_y|_x|layerRemoved|getViewableRectangle|_processStateMachine|UPDATE|_excavateHeight|excavateSideMapUrl|excavateBottomMapUrl|mba|_modifyRegionsFbo|computeHorizonCullingPointPossiblyUnderEllipsoid|computeBoundingVolumes|computeTileLoadPriority|computeIntersectionWithBoundingVolume|PARTIAL|minMaxHeight|gridTextures|needUpdate|colorToAlphaThreshold|cutoutRectangle|dayTextureCutoutRectangles|textureIndex|southMercatorYAndOneOverHeight|southAndNorthLatitude|rtc|flattenTexture|_bUseSlopeRegion|nightFadeDistance|lightingFadeDistance|boundingSphereTile|_firstPassInitialColor|_disableCullingRenderState|_blendRenderState|nba|updateHypRegionFrameBuffer|cba|_findAncestorTileWithTerrainData|_shadersByTexturesFlags|_visibilityChangeRemoveListener|_NetCDFInfo|_NetCDFData|getDataVariable|_fieldData|destroyParticleTrailsResources|_hdrEnable|_velocityTexRes|_deltaTime|_fieldTextureSize|_MinFilterValue|_MaxFilterValue|_particleColor|_fieldDataIndices|_filter|_fieldInitialized|_velocityField|_lastGamma|_lastBeta|_cesiumCreditInitialized|cesiumCredit|_cesiumCreditContainer|_currentCesiumCredit|lightboxCredits|screenCredits|_defaultCredits|_expanded|showOnScreen|currentInterval|_tilesRequestedForInterval|_reloadFunction|opengis|esri|logoUrl|_tmsResource|_metadataFailure|_metadataError|_xmlResource|_metadataSuccess|_getFeatureInfoFormats|inputTexture|_jitterUVOffset|_textureChanged|_clearFBO2Command|_clearFBO1Command|_frustumLength|_stepSize|_lengthCap|_bias|_blurRadius|_fstop|_focalRange|_focalDistance|_colorBufferFloat|_innerRadius|esriGeometryPoint|zoomOffset|_pointSizeShaderFunctionReady|_showShaderFunctionReady|_colorShaderFunction|_colorShaderFunctionReady|_meta|_labelVerticalOrigin|_anchorLineColor|_anchorLineEnabled|_backgroundEnabled|_labelText|_labelStyle|_labelOutlineWidth|_labelOutlineColor|_labelColor|condition|contentVisibility|selectTiles|_releaseTime|_pressTime|_eventStartPosition|_currentMousePosition|getStartMousePosition|SHIFT|PINCH|_speedRatio|_isResetFlyCircleParm|resetProjectionMatrix|_flyRelativeHeight|_flyClampToGround|preStopIndex|catmullRomSpline|directTurning|DEFAULT_VIEW_RECTANGLE|_sensitivePosition|_sensitivePositionRatio|_modeChanged|PI_OVER_FOUR|upSampleFBO|_dirtIntensity|_sampleScale|_threshold|coverageAreas|_minMaxLuminance|defaultTable|configureNameFromProperties|_missingImagePixels|_setSQTextures|createClampObjectStencilRenderState|createClampCommand|setCullEnabled|_threedmodeling|updateScale|_hpr|_oriRadius|_isDeleted|updatePosition|Extensions|MinCategory|MaxCategory|CategoryRange|FileName|AttachFileExt|MaxValue|MinValue|VolumeValueRange|leftBottom|rightTop|_noiseMapTexture|getAttributesById|isCreateEdge|updateShadow|multiplyByMatrix3|removeAllExtendHeight|removeExtendHeight|_combineRegionBounds|_overlayBounds|_overlayTextures|_overlayUpdate|_flattening|removeObjectsOperation|setObjectsOperationByID|OFFSET|_allObjsHide|setObjsColor|multiChoose|maxTerrainHeight|minTerrainHeight|setPolygonoffset|queryNumericAttribute|gpuConstants|atuoConstants|gpuProgramParameters|createClampGroundColorRenderState|_polygonOffsetConfig|_receiveObjectClamp|createClampGroundStencilRenderState|idFieldName|setLabelStyle|_textFieldChanged|_requestAllScvd|_colorTableChanged|_selectRect|_clearIndexedDBCache|_roughness|_metallic|_skeletonSelectedColor|skeletonSelectEnable|mixColorType|_shadowType|_nLoadingMode|_fieldsNames|instanceSkeletonManager|Normal|selectEnable|sphericalDistance|urlArguments|DatasetField|_isS3MZ|pointCloudProcessor|edlShading|_edlShading|IsMove|IsArrow|GlowPower|DashPattern|DashLength|GapColor|OutlineWidth|OutlineColor|OUTLINE|RepeatY|RepeatX|OffsetY|OffsetX|WidthY|WidthX|BackColor|ForeColor|attributeBuffer|_cameraPos|_currentMaxLevel|_avgPix|_processFileType|calcPixFromCam|_parsingEntities|_packRequestEntities|_rasterFrequency|_statisticsLastRender|VOLLOADED|rangeMode|_rootNodeNameList|_nLoadingPriority|run|setTempRet0|getTempRet0|FS_createPreloadedFile|FS_createDataFile|writeArrayToMemory|stringToUTF8|allocate|_unzip|_sbrk|_llvm_bswap_i32|_freePointer|printChar|arrays|grow|errno|ErrnoError|possible|ASSERTIONS|cause|behavior|Werror|building|worth|signature|initial|POLYFILL_OLD_MATH_FUNCTIONS|LEGACY_VM_SUPPORT|typed|debugger|currentScript|scriptArgs|readbuffer|thisProgram|shown|sure|2097152|startsWith|instantiateStreaming|instantiateWasm|onAbort|extendRadius|createEdge|_enable|skeletonIds|texmodmatrix|textureunitstate|textureunitstates|setFilter|textureDimensions|_reprojectComputeCommands|_finalizeReprojectTexture|webp|indexedDBWorker|00|layerID|_updatedLayers|_updatedPaintProps|glyphs|filterObject|styled|onRemove|_loaded|callbackDispatchedThisFrame|atlasTexture|requestors|imageList|imagesCanvas|hasPaintOverride|overridableProperties|zoomStops|queryRadius|createBucket|isTileClipped|translateDistance|updateDistance|addHalfVertex|butt|mag|uploadPending|addFeatures|populate|stateDependentLayerIds|segments2|ramp|widths|accumulated|curves|Ramps|Variable|identity|transitioned|isHidden|WorkerGlobalScope|layoutAttributes|_tileTextures|createRenderbuffer|depthEpsilon|numSublayers|opaquePassCutoff|colorModeForRenderPass|currentStencilSource|clippingMask|simpleSegment|zoomOutPaintVertexBuffer|zoomInPaintVertexBuffer|patternFrom|patternTo|tlbr|cullFaceSide|DEPTH_BUFFER_BIT|COLOR_BUFFER_BIT|bindElementBuffer|bindVertexBuffer|OES_texture_half_float|DEPTH_ATTACHMENT|COLOR_ATTACHMENT0|UNPACK_ALIGNMENT|DEPTH_TEST|STENCIL_TEST|itemSize|createBuffer|fillOutlinePattern|u_scale_b|u_scale_a|u_pattern_size_b|u_pattern_size_a|u_pattern_br_b|u_pattern_tl_b|u_pattern_br_a|u_pattern_tl_a|getUniformLocation|attachShader|compileShader|createShader|interpolated_fade_opacity|unpack_opacity|projected|symbols|makes|a_pxoffset|v_fade_opacity|v_tex|v_pos1|u_brightness_high|u_brightness_low|u_spin_weights|pattern_size_b|pattern_size_a|upper|u_latrange|radians|u_lightpos|v_extrude_scale|v_radius|extrude_scale_length|collision|pixel_coord|pair|packed|integers|deleteVertexArray|boundPaintVertexBuffers|lineUniformValues|uniform4f|uniform1i|7680|outterGeoCoordinates|hasIconImage|getStyleByMapboxStyle|indexValue|_labelTextArray|_labelsCreated|_clipStencilCommand|SKELETONSELECT_ENABLE|vertexColorOffset|_idsColorMap|createUniformMapsForSwipe|createUniformMapsForSplit|createUniformMapsForStyle|createUniformMapsForLayerBaseSetting|hasTexCoord|_col|_row|PICKRECT|_indexBufferToCreate|_vertexBufferToCreate|viewportTransformation|_northVector|_southWestCorner|_eastVector|_symbolTextureRepeat|_emissionColor|Ready|_preHpr|dynamicLayer3D|_doubleSided|_alphaCutoff|_emissiveFactor|_roughnessFactor|_metallicFactor|alphaCutoff|pbrMetallicRoughness|draco_decoder|_startDirection|_roll|_altitude|_latitude|_longitude|_internalFormat|GENERATE_MIPMAP_HINT|_isShowLine|isClosed|_domeType|bufferTarget|drawArrays|validateShaderProgram|_setUniforms|GEOELLIPSOID|GEOSPHERE|GEOBOX|GEOCONE|_lineStripCollection|_displayStyle|_endTime|timeInterval|_hintLineVisible|_func|_topName|_leftReverName|||_leftName||||_downReverName|_downName|_manualDepth|_shaderCache|numberOfVertices|_defaultRenderState|defaultFramebuffer|_debugShaders|_fragDepth|textureFloatLinear|_standardDerivatives|_globeDepthTextureDim|_globeSplitPosition|_imagerySplitPosition|_temeToPseudoFixed|_invertClassificationColor|brdfLutGenerator|_sunDirectionEC|_sunDirectionWC|_sunPositionWC|viewRotation|_currentFrustum|_infiniteProjection|_inverseProjectionDirty|_orthographicIn3D|_entireFrustum|_view3DDirty|_inverseView3DDirty|globeDepthTextureDim|_encodedCameraPositionMC|inverseModelView3D|modelViewProjection|_inverseModelViewProjectionDirty|_inverseProjection|_inverseView3D|_inverseTransposeModelDirty|_inverseModelDirty|viewportCartesian4|_viewportDirty|_numberOfTextures|_numberOfShaders|vertexShaderText|createCombinedFragmentShader|createCombinedVertexShader|_upSampleHeight|_upSampleWidth|_renderbuffer|STENCIL_INDEX8|RGB5_A1|text3DScale|findGOAnimationByName|ANIMATION_GROW|ANIMATION_WAY|getPolygonCenterPt|FindPointOnLineByRatio|_execute_Kidney||_lastDrawTime|getCurrentAngle||_endSurroundLineWidth||||||_surroundLineWidthAnimation|_endSurroundLineColor|_surroundLineColorAnimation|_endLineWidth|_lineWidthAnimation|_endLineColor|_pathLength|Replace_Color|_subClass|_isLocked|dotShowMode|_middleMarkExist|_symbolRanks|rotate2D|scale2D|surroundlineWidth3D|surroundRatioVal|setUpdatePrimitive|createGraphicObject|addTextContent|lineTypeLimit|dashArray|_canvasSymbolData|_OffsetLineWidth|createBillboard|fromGltf|_dotPicture|drawDotSymbolGraphic|initCanvas|drawBoundingRect|createGeometryInstances|symbolMoveToDown|Middle|isForVector|_isFirst|isflag|TopOffSet|generateArcInfo|CorridorLineInstances|corridorPos|_isPixelLine|createLineGeometry|getSurroundLinePts|_modifyScalePtParams|isInializeOK|Util|symbolCode|symbolNames|cachedSymbolList|pt3|algoLabels|translucentRS|||||SYMBOL_CONCENTRICCIRCLE|SYMBOL_RUNWAY|SYMBOL_BRACE|_algoDepthTest|showTipLength|markHalo|defaultFlag|_MVTLabel|clearRepaintTask|_painter|targetTileSize|computeOrthographicOffCenter|working|typeAnnotation|_enumValues|featureState|registry|wanted|lattitude|longtitude|symbolInstanceIndexes|glyphOffsetArray|addSymbols|tileUnitDistanceFromAnchor|sortFeaturesByKey|Syllables|Syllabics|Aboriginal|Canadian|Katakana|Extension|Bopomofo|4352|65280|lastIntegerZoomTime|lastFloorZoom|shallow|Formatted|pairs|even|isValue|contain|haystack|cubic|solve|First|diacriticSensitive|caseSensitive|variant|branches|computeVisiblityInCullingVolume|visibleInCullingVolume|_cutoffDistance|_spotLightDistanceDecayCosVisible|_pointLightDistanceDecayVisible|clampToGroundPolyline|clampToGroundPolygonPositions|clampToGroundPolylinePositions|||verticalPolyline||||||_activeEvt|ORANGE|edit|refreshReferenceAddPoint|_editZ|secondPoint|maki|Editor|partCount|imagePath|Loa|NumPoints|isLineVisible|isAltitudeFree|isTiltFree|isHeadingFree|_isAlongline|stopCount|isFlyLoop|currentRoute|_interpolationMode|_turningMode|bAsy|PolylineDynamic|_getTimestamp|setHours|_networkLinks|viewBoundScale|needsUpdate|EXPIRE|INTERVAL|_lastCameraView|Link|maximumBlue|maximumGreen|maximumRed|_process|_started|onRegion|onInterval|bboxNorth|bboxEast|bboxSouth|bboxWest|kmz|parentEntity|Document|mpeg|headingPitchRange|matchers|getUrlMatchType|soundcloud|isOpening|nonWordCharRegex|hasFullProtocolRegex||hasDomainDot|||hasMailtoPrefix|||||u4e2d|u0441|u043c|tel|kia|gea|dev|cfa|u09be|family|author|getCssClassSuffixes|_blank|getClass|strokeMaterialProperty|markerColor|markerSymbol|1980|reading|terminate|compressedSize|crc32|u00cb|u00bd|u00d1|u00ed|u00d6|u00e9|u00c7|computeFixedToIcrfMatrix|_defaultOffset3D|_removeDefaultDataSourceListener|_onGeometryChanged|orderedGroundPrimitives|extractHeights|isDynamic|hasConstantOutline|outlineEnabled|_spotIntensity|_spotSize|PolylineTrail|removeObject|_unusedIndexes|_silhouetteColor|_uri|30px|rectangleCollisionCheck|_polylineVolume|_lastOutlineShow|_lastShow|postPassesUpdate|dataSourceRemoved||_subscription|convertToReferenceFrame||_derivativeTypes|_innerType|_numberOfPoints|_xTable|_taperPower||_unusedPointIndices|_unusedBillboardIndices|_unusedLabelIndices|_maxPixelSize|computeNewBuffersUsage|TRANSLUCENCY_BY_DISTANCE_INDEX|SCALE_BY_DISTANCE_INDEX|COLOR_INDEX|_observedPropertyNames|propertyNames|removeById|_collectionsCopy|_shouldRecomposite|_collectionChanged|_onEntityDefinitionChanged|_isLatLon|debugPickPosition|_cullRequestsWhileMoving|_heatmap|foveatedTimeDelay|preloadWhenHidden|_allTilesAdditive|_disableSkipLevelOfDetail|_clippingPlanesOriginMatrixDirty|_processingQueue|PROCESSING|_initialClippingPlanesOriginMatrix|_tilesLoaded|_trimTiles|_sentinel|USE_OPTIMIZATION|priorityDeferred|_priorityProgressiveResolution|contentReady|_colorDirty|DARKGRAY|MASK_INSIDE|_priorityProgressiveResolutionScreenSpaceErrorLeaf|eastNormal|westNormal|_shouldSelect|updateVisibleLabel|setVisibleIndex|_oriFillColor|_setVisibleByID|_spParticleSystem|_isParticleSystem|_maxEyeOffset|_allVerticalCenter|_allHorizontalCenter|_isUpdateColor|dataIndex|numberOfImages||_idHash|Height||||arrayViews|_getActiveColorAttachments||_opaqueRenderState|_translucentRenderState|_normalShading|_backFaceCulling|_hasBatchIds|_hasNormals|_hasColors|_isTranslucent|_isRGB565|_octEncodedRange|_isOctEncoded16P|styleableProperties|_pointsLength|setAllColor|_rtcTransform|_instancingSupported|_instanceId|gltf_colorBlend|_terrainProviderChangedCallback|silhouetteModelCommand|_perNodeShowDirty|X_UP_TO_Z_UP|Y_UP_TO_Z_UP|_cesiumAnimationsDirty|_shouldUpdateSpecularMapAtlas|releaseGltfJson|finishedEverythingButTextureCreation|resourcesParsed|sourceVersion|getUsedExtensions|modelRendererResourceCache|MODELVIEWINVERSE|meshesByName|_cachedTexturesByteLength|_cachedGeometryByteLength|_scaledBoundingSphere|ModelState|_mipTextures|_cubeMaps|STOPPED|_computedStartTime|animationRemoved|NUMBER_OF_JOB_TYPES|PROGRAM|_decoderTaskProcessor|hardwareConcurrency|useFloatTexture|supportsWebP|_pickCommandsDirty|_wireframeDirty|_rsWireframe|_framesSinceLastRebatch|BUILTIN_VARIABLE||VARIABLE_IN_STRING|ARRAY|CONDITIONAL||||||TERNARY|VARIABLE|_runtimeAst|cartesian4Index||cartesian4Array|cartesian3Index|cartesian3Array|cartesian2Index|cartesian2Array|arrayIndex|arrayArray|Literal|MemberExpression|gltf_u_dec_|createUniformFunction|czm_depth_main|modifyVertexShaderForLogDepth|modifyFragmentShaderForLogDepth|OES_element_index_uint|EXT_texture_webp|getAccessorMinMax|getShaderVariable|targets|transformWithoutScale|hasTexCoords|hasTangents|hasNormals|hasMorphTargets|TANGENT|activeDecodingTasks|pendingBufferViewToImage|ONE_MINUS_DST_COLOR|DST_COLOR|ONE_MINUS_DST_ALPHA|DST_ALPHA|SRC_ALPHA|ONE_MINUS_SRC_COLOR|SRC_COLOR|techniqueParameter|accessorWithSemantic|objectLegacy|setShow|GREATER_OR_EQUAL|_translucentFeaturesLength|_textureStep|tile_textureDimensions|stepY|yId|xId|_removeModeListener|_supportsMaterialsforEntitiesOnTerrain||||||_rotationSubscription|||_scaleSubscription|GeometryInstances|2dColor||_useFragmentCulling|_extrudeHeight|czm_non_compressed_main|_updateColorAttribute|_requiresTextureCoordinates|_requiresNormalEC|_requiresWC|_requiresEC|columbusView2D|_perInstanceAttributeCache|ORIGIN_ZX_PLANE|_instanceBoundingSpheresCV|3DLow|INVERT|_hierarchy|_locatorBuckets|_polylinesUpdated|_uniformList|frameCount|encodeAttribute|reorderForPreVertexCache|reorderForPostVertexCache|batchTextureDimensions|_packFloats|_offsets|_stride|_vertexAttribDivisors|_previousDrawInstanced|arrayView|writeOffset|czm_old_main|TK_IFDEF|ifChildTokens|elseChildTokens|deleteProgram|FLAT_VERTEX_FORMAT|POSITION_AND_NORMAL|ImageType|_updateFunctions|_loadedImages|_negativeZ|_positiveZ|_negativeY|_positiveY|_negativeX|_positiveX|FASTEST|_targetFace|maximumViewportHeight|maximumViewportWidth||_maximumVertexAttributes|maximumRenderbufferSize|FRONT_AND_BACK|ONE_MINUS_CONSTANT_ALPHA|CONSTANT_ALPHA|ONE_MINUS_CONSTANT_COLOR|MAX|||MIN|_hasEquals|_clockSubscription|fromJulianDateArray|findInterval|maximumRequestsPerServer|spherical|32004|10931|21863|16002|division|_proxy|_inputEvents|MIDDLE_DOWN|RIGHT_DOWN|moz|computeOptions|fromRotation|_rotatedRectangle|_tree|fromRectangleAndId|_evaluateFunction|_dist|_hMax|subdivideRhumbLine|subdivideLine|subdivideRhumbLineCount|scaleToGeodeticHeightExtruded|walls|topAndBottom|outerRing|ascent|packedInterpolationLength|subsample|occluderBoundingSphere|FULL|constructing|setting|apps|err|onEnd|total_out|havedict|sane|extra_len|componentsLength|MAXIMUM_INTERVAL|PARENT|timestamp|flatfile|hasSubtree|u0019|u0002|u0013|u0010|u001a|u0006|u007f|u0092|u0014|isString|fromNumber|_fov|_orthographicMatrix|Elastic|Quintic|Quartic|Quadratic|5949095|70158|one_minus_f|cosphi|C_y|84813681109536E|phi0|xmf|ymf|no_rot|long1|Stereographic|cons|01953125|National|nadgrids|GRS80|6378140|yet|havn|s_|_ionEndpointResource|angleIsGreaterThanPi|packArray|raisePositionsToHeight|octEncodeInRange|_hasVertexNormals|put|_northSkirtHeight|_eastSkirtHeight|_southSkirtHeight|_westSkirtHeight|_northIndices|_eastIndices|_southIndices|_westIndices|_waterMask|hermiteCoefficientMatrix|getMaximumScale|getRow|resourceSets|computeMaximumLevelAtPosition|gridHeight|gridWidth|onmessage|_oneOverSemimajorAxis|fromScaledENU|toScaledENU|R32F|R16F|RGB16F|RGBA16F|RGB32F|RGBA32F|TEXTURE_CUBE_MAP_NEGATIVE_Z|TEXTURE_CUBE_MAP_POSITIVE_Z|TEXTURE_CUBE_MAP_NEGATIVE_Y|TEXTURE_CUBE_MAP_POSITIVE_Y|TEXTURE_CUBE_MAP_NEGATIVE_X|TEXTURE_CUBE_MAP_POSITIVE_X|unitary|isEdge|_lastIndex|LERC|querySelectorAll|_creditId|hreflang|_DefaultImplementations|retryOnError|port|lastNumberOfActiveRequests|maximumLength|blockRequest|_maximumLength|_comparator|_insideRaiseEvent|_toRemove|_scopes|LUNAR_RADIUS|oneOverRadiiSquared|LOWER_MASK|UPPER_MASK|08883|95047|Unrecognized|_zoomOptions|cur|isVRMode|dataSourceCollection|information|03385|90365|_noSleep|landscape|backgroundPosition|tooltipColumbusView|tooltip2D|tooltip3D|43359|3292497|36811|368113|31439|06986|489051|tooltipOrthographic|tooltipPerspective|lowFrameRateMessageDismissed|finger|_svgPath|tiltMouseUpFunction|tiltMouseMoveFunction|rotateEastMouseUpFunction|blank|firstElementChild|_flightDuration|moon|3840|debugShowDepthFrustum|showPickStatistics|Screen|dynamicScreenSpaceErrorDensitySliderValue|Selected|Earth|Marble|under|stamen|satellite|streets|buttonImageUrl|_currentImageryProviders|_isSystemTimeAvailable|_canAnimate|Reduce|_runningSum|_tileMatrixSetID|_tileMatrixLabels|_epsgCode|tileMatrixSetID|originalFramebuffer|usePostProcessSelected|_particleStateTexture|_sunBloom|lightShadowMaps|isReadyForAtmosphere|sunComputeCommand|skyBoxCommand|_executeOITFunction|lightCamera|billboardCollection_vertexBufferInstanced|billboardCollection_indexBufferInstanced|billboardCollection_indexBufferBatched|98298|maximumZoomDistance|_rotating|_strafeStartPosition|_tiltCVOffMap|_zoomingOnVector|_rotatingZoom|_useZoomWorldPosition|_texturesToCreate|polygonOffsetUnits|polygonOffsetFactor|numberOfCascades|_debugPickDepthViewportCommand|uBounds|_useConfigFile|surfaceShaderSet|_loadPriority|northeastMesh|southeastMesh|southwestMesh|northwestMesh|cacheInvalid|_quietPeriodEndTime|TileMatrix|TileMatrixSet|ELEMENT_NODE|WKID|ownerGroup|GetAttribute|indexbounds|epsgcode|_styleName|_loadState|_invertViewProjectionMatrix|formats|Incomplete|waterNormalMapUrl|graphicObject|rotateCircleRadius|extendedData|balloonStyle|StyleMap|outerColor|_groundBatches|_firing|_refire|_wasMinPriorityChild|_requestedFrame|POINTS_LENGTH|_expandAndWidth|_nextPositions|_currentPositions|_widths|_polygonMaximumHeights|_polygonMinimumHeights|batchedIndices|nextBreak|_billboardOutlineColor|_billboardColor|diffuseStrength|u_pointSize|u_quantizedVolumeScaleAndOctEncodedRange|BATCH_LENGTH|QUANTIZED_VOLUME_OFFSET|QUANTIZED_VOLUME_SCALE|glb|embedded|_instancedUniformsByProgram|_sphereBatchIds|_spheres|_ellipsoidBatchIds|_cylinderBatchIds|_boxBatchIds|programId|gltf_luminanceAtZenith|gltf_specularMapSize|gltf_specularMap|gltf_sphericalHarmonicCoefficients|non_gamma_corrected_main|computedShow|rootNodes|gltfNode|parentRuntimeNode|gltf_iblFactor|_technique|extensionType|clippingPlanesMatrix|getClippingPlane|pixX|_nodeMatrix|u_diffuseTexture|weightedTangent|weightedNormal|u_projectionMatrix|weightedPosition|ambientLight|u_emission|specularLight|u_specular|diffuseLight|reflectDir|sourceDiffuse|_positionsSubscription|_extrudedHeightSubscription|_extrudedHeightReferenceSubscription|_widthSubscription|eastMostYhighDefine|_frontFaceDepthFailRS|_backFaceDepthFailRS|_backFaceRS|czm_non_depth_clamp_main|_createGeometryResults|ntextureValue|xA0|uFEFF|czm_fragColor|Fragment|getShaderInfoLog|getTranslatedShaderSource|Translated|_strict|eccentricity|_isTouchHolding|pointerId|deltaY|bezierCurveTo|resourceOrUrlOrBuffer|_quadPacketVersion|cesiumGoogleEarthDbRootParser|accuracy|zoneNumber|zoneLetter|northing|AXIS|_ellipticitySquared|1097|availabilityPromiseCache|16389|_tilesAvailablityLoaded|_lodCount|_taiMinusUtcSecondsColumn|_columnCount|EOP|outerHTML|toStaticHTML|blockKey|packKey|responseHeaders|checkStringArgs|result_|createResolveAndReject_|reject_|__esModule|iea|Mka|Cma|requestAnimationFrame|queryToObject|Iea|Bka|qka|netcdf|Ama|loadJsonp|loadJson|Lka|unscale|ima|jsep|isCrossOriginUrl|sma|getBaseUri|rma|Pda|Gka|Faa|webkitPostMessage|zma|Vda|Uda|Kda|effectively|sneak|had|snuck|unencode|Eka|cancelAnimationFrame|binarySearch|qma|czm_farDepthFromNearPlusOne|czm_encodedCameraPositionMCLow|czm_encodedCameraPositionMCHigh|czm_threePiOver2|czm_solarRadius|USE_SOFT_SHADOWS|USE_NORMAL_SHADING_SMOOTH|USE_NORMAL_SHADING|USE_SHADOW_DEPTH_TEXTURE|czm_sceneModeMorphing|czm_piOverThree|czm_piOverSix|czm_passTerrainClassification|czm_passOverlay|czm_passOpaque|czm_passGround|czm_passGlobe|czm_passEnvironment|czm_passCompute|czm_passClassification|czm_passCesium3DTileClassificationIgnoreShow|czm_passCesium3DTileClassification|czm_passCesium3DTile|czm_multiplyWithColorBalance||czm_modelToWindowCoordinates|czm_orthographicIn3D|czm_isFull|WEBEL2|0301|0663|1784|czm_epsilon6|czm_epsilon4|czm_ellipsoidRadii|czm_ellipsoidNew|czm_ellipsoidContainsPoint|nv_WindowZ|czm_degreesPerRadian|czm_cosineAndSine|czm_cascadeDistance|noutPointSize|TEXTURECOORD_CLIP|tf_lonLat|czm_entireFrustum|czm_viewRotation|nbvec2|HAS_EMISSIVE_TEXTURE|HAS_OCCLUSION_TEXTURE|HAS_METALLICROUGHNESS_TEXTURE|HAS_BASECOLOR_TEXTURE|DOUBLE_SIDED|HAS_NORMAL_TEXTURE|GGX|smithVisibilityGGX|fresnelSchlick|lambertianDiffuse|100000|0722|1192|7152|2126|czm_RGBToHSL|batchTable_getDistanceDisplayCondition|batchTable_getCenterLowAndRadius|batchTable_getCenterHigh|batchTable_getPickColor|batchTable_getWidthAndShow|GLOBE_MINIMUM_ALTITUDE|spotIntensity_4|v_time_3|14159|bAsy_4|nv3SamplePoint|nv3FrontColor|nv3Attenuate|nfFar|nv3Ray|AtmosphereColor|nstruct|czm_modelView3D|getPositionMorphingMode|getPositionColumbusViewMode|get2DGeographicYPositionFraction|get2DMercatorYPositionFraction|getPosition3DMode|czm_moonDirectionEC|PER_FRAGMENT_GROUND_ATMOSPHERE|czm_lightDirectionWC|czm_sunDirectionWC|DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN|czm_globeSplitPosition|gridTextureSampleAndBlend|mvtTextureSampleAndBlend|czm_imagerySplitPosition|uSlopeHasColorTable|APPLY_IMAGERY_CUTOUT|APPLY_ALPHA|nfresnel|nfinal|3294|2706|1804|nt2|nt1|waterTimeVal|oNormal|oEyeDir|noiseCoord|waterBrightness|tintColour|fresnelPower|realMinFrenel|07|czm_backgroundColor|123456|u_avgLuminance|u_Params|PARTICLESYSTEM|tvClip_pos|ViewShedAnalysisVp|uTexProjMatrix4|uTexProjMatrix3|uTexProjMatrix2|uTexProjMatrix1|uTexProjMatrix0|uTexWorldViewMatrix4|uTexWorldViewMatrix3|uTexWorldViewMatrix2|uTexWorldViewMatrix1|uTexWorldViewMatrix0|View|Tween|Cfa|SymbolLibManager|jma|SpotLight|Spherical|SceneMode|Scene|uLayerID|u62c9|u884c|u65f6|tshadowVolumeWidth|077|1236|EDL_SHADING|S3MInstanceCollectionVertex|Request|Rectangle|Kea|Property|closer|might|due|Clamp|facing|Discard|Technically|drawCompletedEvent|PolylineHandler|td1|PolygonHandler|PointLight|PointHandler|Picking|PerInstanceColorAppearance|Pass|Fba|Eba|bea|uMinMaxModifyHeight|MapboxApi|Cba|Light|Sda|iha|LabelStyle|Ion|HeadingPitchRoll|GoogleEarthEnterpriseImageryProvider|Pga|Xaa|Waa|nlumaEndP|nlumaEndN|nFxaaTex|FxaaTex|FxaaHalf4|FxaaHalf3|FxaaHalf2|FxaaHalf|FxaaFloat3|FxaaFloat2|FxaaFloat|FxaaBool|Expression|DynamicLayer3D|CullFace|Context|ComponentDatatype|afterExecute|ClassificationModel|Caa|Cartesian3|BlendEquation|iaa|BaseLayerPicker|Autolinker|ApproximateTerrainHeights|Appearance|geoJsonToGeoGraphicObject|toGeoJson|getSpaceDistance|min_Z|drawGroupObjectEditObject|hideModeEditBouds|drawVectorEditObject|drawModelEditObject|createAnnotationCtrlPoint|drawSymbolExtend|DoSelectObject|setSelectedFeatureByID|_featureReleaseEvent|_CtrlPointhandler|_featureRemoveEvent|_featureModifiedEvent|anchorPointIconUrl|positionPointIconUrl|createHeightCtrl|createRotateCircle|createScaleLeft1|createFillCtrl|getLinePts|vectorHeight|rotateCircleCenter|ScaleLeft1_2|fromAxisAlignedBoundingBox|startRotate|getAltitudeByLogical|computeRedPoint|modifyDotSymbolSize|getCtrlPt|pixelOffsetY|pixelOffsetX|_drawControlEndEvent|_drawFinishEvent|qea|pea|nea|oea|mea|lea|jea|kea|hea|_automaticallyTrackDataSourceClocks|eea|_clearTrackedObject|_onEntityCollectionChanged|Bma|_scratchPanUrl|_zoomIndicator|scenePos|settime|_trackedEntityChanged|_selectedEntityChanged|animateAppear|vrButton|homeButton|selectionIndicator|fea|zoomActive|_makeTics|initEvent|offsetWidth|makeLabel|_highlightRanges|getAlpha|_epochJulian|zoomFrom|_onTouchStart|DOMMouseScroll|_onMouseDown|_onMouseUp|604800|_base|TEXTURE_ENABLE|_selectionIndicatorElement|1000px|isPCBroswer|handleZoomBarScrollMouseDown|handleZoomOutMouseDown|handleZoomInMouseDown|handleMouseUp|handleMouseDown|Zda|currentTarget|zoomBarScrollMouseMoveFunction|rotateInitialCursorAngle|closeClicked|cameraClicked|_form|iserver|tick|_canRender|Yda|Xda|_lastDevicePixelRatio|_canvasClientHeight|_canvasClientWidth|onclick|showErrorPanel|totalCommands|commandsInFrustums|doFilterTile|corner|_showTileBoundingSphere|_showTileCoordinates|_doFilterPrimitive|_showPrimitiveReferenceFrame|_showPrimitiveBoundingSphere|compileStyle|yma|Wda|maximumFractionDigits|_dropPanel|pauseViewModel|Tda|_sortedFilteredPositiveTicks|applyThemeChanges|MutationObserver|animation_pathSwooshFX|animation_pathWingButton|367c0|M24|682z|xma|defs|_centerY|_centerX|_topG|viewBox|_pauseSVG|_playForwardSVG|_playReverseSVG|_realtimeSVG|_shuttleRingSwooshG|_shuttleRingBackPanel|buttonToggled|_clickFunction|vma|getLibManager|isAccessServer|AlgoSymbolFactory|getSpatialData|_deleteSmlFileFailed|_deleteSmlFileCompleted|_addSmlFileCompleted|_addSmlFileToLayerCompleted|_openLocalSmlFileCompleted|_getSmlInfoFailed|_getSmlInfoCompleted|_getSmlInfosFailed|_getSmlInfosCompleted|_saveSmlFileCompleted|_saveSmlFileFailed|_openSmlFileCompleted|POST|isCover|geoGraphicObjectToSmlFeature|useCanvas|_save|CLASS_NAME|Second|System|getAnchorJustification|iconsInText|Qda|iconsNeedLinear|sdfIcons|compositeIconSizes|compositeTextSizes|compareText|minFontScaleY|minFontScaleX|pixelOffsetBR|pixelOffsetTL|Oda|getIconQuads|stale|commitTime|placements|Nda|placeCollisionBox|collisionIndex|uma|collisionGroupID|Mda|Lda|tma|removeBucketCrossTileIDs|findMatches|getScaledCoordinates|isInsideGrid|isOffscreen|xyTransformMat4|cameraDistance|approximateTileDistance|familiesBySource|Jda|Ida|deleteRenderbuffer|createFramebuffer|sourceLayerCoder|loadMatchingFeature|arraysIntersect|FeatureIndexArray|_forEachCell|pma|nma|oma|_pos4|createSection|createCheckbox|GEOMETRY_RENDERERS_|drawMultiPoint|drawPoint|drawMultiPolygon|drawMultiLineString|drawLineString|getRenderer|drawCustom|renderGeometry_|GEOMETRY_COLLECTION|drawCircle|restore|maxExtent_|renderBuffer_|replayDeclutter|getOffsetY|getOffsetX|getTextBaseline|getPlacement|getMaxAngle|getOverflow|defaultLineDashOffset|defaultLineDash|widths_|applyFill|updateFillStyle|getFlatInteriorPoints|getFlatInteriorPoint|straightchunk|getBufferedMaxExtent|TextPlacement|drawFlatCoordinatess_|CLOSE_PATH|drawFlatCoordinates_|drawCoordinates_|currentLineDash|replay_|setStrokeStyle_|renderDeclutter_|replayTextBackground_|declutterTree|drawCustomCoordinates_|coordinatesss|getMeasureContext|textHeights_|monospace|10px|defaultGeometryFunction|zIndex_|geometry_|renderer_|padding_|backgroundStroke_|backgroundFill_|textBaseline_|textAlign_|setTextAlign|setRotation|placement_|offsetY_|offsetX_|maxAngle_|font_|overflow_|offset_|getHitDetectionImageSize|offsetOrigin|crossOrigin_|anchorYUnits|anchorXUnits|imgSize|unlistenImage_|handleImageError_|src_|dispatchChangeEvent_|determineTainting_|render_|drawHitDetectionCanvas_|draw_|imageSize_|hitImage|getPoints|expire|maxCacheSize_|adaptOptions|setGeometryName|readVarint64|featureProjection|getChangeEventType|style_|styleFunction_|orientLinearRingss|flatInteriorPoints_|flatInteriorPointsRevision_|createOrUpdateFromFlatCoordinates|douglasPeuckers|flatMidpointRevision_|modulo|linearRings|quantizes|linearRingsAreOriented|flatInteriorPoint_|flatInteriorPointRevision_|getStrideForLayout|simplifiedGeometryRevision|FALSE|extentRevision_|quantize|getTopRight|getTopLeft|getBottomRight|getBottomLeft|extendCoordinates|selectable|TRUE|revision_|wheel|keypress|dragover|dragenter|dblclick|disposeInternal|propagationStopped|disposed_|removeListeners_|getListenerMap_|deleteIndex|boundListener|findListener_|callOnce|bindTo|safari|linearFindNearest|writeDouble|writeFloat|writeSVarint|writeSFixed64|writeFixed64|writeSFixed32|writeFixed32|Gda|varint|65533|Hda|lma|_addSourceToVideo|kma|dimStats|dimCount|returnFileInfo|Lerc2|readHeaderInfo|readTiles|flag|constructConstantSurface|getDataTypeArray|getInt8|4027999387901484E38|decodeBits|unstuff|unstuff2|readSubArray|disposeWhenNodeIsRemoved|valueHasMutated|Fda|Dda|ko_with|__|afterAdd|afterMove|beforeMove|sparse|within|ifnot|replaceChildren|DOM|templateSources|notifyImmediately|valueAllowUnset|valueUpdate|preprocess|Firefox|opera|optionsCaption|optionsAfterRender|__ko_hasfocusUpdating|getComponentNameForNode|unregister|DocumentFragment|synchronous|bindingEvent|getBindingHandler|dependency|getBindingsString|child|brackets|selectExtensions|getAttributeNode|pureComputed|spectate|deferEvaluation|deferUpdates|during|passed|subscribable|tasks|Too|domNodeDisposal|useOnlyNativeEvents|attachEvent|Bda|_nextInterval|_previousInterval|frameChanged|Ada|_clockMultiplier|_runningAverage|makeStyleDirty|totalMemoryUsageInBytes|Arial|sunPositionColumbusView|_radiusTS|_glowFactor|_drawingBufferHeight|_drawingBufferWidth|clampTexture|normalAndDepth|_debugSphere|rda|qda|pda|oda|_renderForQuery|_matSelectViewProj|renderIds|NetCDFInfo|imagelayerCollection|s3mGroup|yda|login|uda|wda|vda|tda|sda|yRatio|xRatio|pickTranslucentDepth|_setSelection|hma|gma|fma|createPickDerivedCommand|pickFrameNumber|_isS3MTileLabels|jda|_pickPositionHeight|mda|_preRender|_postUpdate|_preUpdate|resetBudgets|_shaderFrameCount|occlude|lda|fda|eda|RENDER|dda|createLogDepthCommand|WEBGL_compressed_texture_etc1|WEBGL_compressed_texture_pvrtc|WEBGL_compressed_texture_s3tc|hdrEnabled|SUN_LIGHT|_rasterVectorCollection|_pickPointInterval|_pickPointEnabled|VERTICAL|_mapMode2D|orthographic|preRender|_renderError|positionMode|bda|textSize|cda|inspect|_isBigNumber|Base|toExponential|multipliedBy|0123456789|9E15|uBaseColor|_prevTime|Zca|Yca|Xca|_nDepth|_nHeight|_nWidth|_billboardUrl|_matInverseLocalView|Vca|Wca|Uca|guid|_updateBillboard|Rca|_fRatio|Sca|overlapDisplayed|redirect|cacheEnabled|CacheName|Tca|BlockScale|StoreType|MapQuest|dma|ema|_uRadius|lookEventTypes|Kca|_tween|inertiaTranslate|wca|vca|minimumCollisionTerrainHeight|_minimumCollisionTerrainHeight|Qca|Lca|Mca|Gca|Pca|Oca|Nca|Dca|Ica|Fca|Eca|Hca|Cca|Bca|Aca|zca|yca|xca|uca|tca|needsStart|lca|rca|qca|pca|oca|nca|hca|gca|eca|mca|computeDistanceToTile|showTileThisFrame|loadTile|endUpdate|beginUpdate|dca|createClampFramebuffer|planeHeight|planeWidth|realDrawingBufferHeight|realDrawingBufferWidth|196608|_smaaEnabled|_fxaaEnabled|_tonemappingEnabled|_bloomEnabled|_aoEnabled|_lastLength|_previousActiveStages|FILMIC|MODIFIED_REINHARD|REINHARD|tonemapper|ACES|_forcePowerOfTwo|_textureScale|edgeTexture2|edgeTexture1|czm_maskTexture|edgeTexture|parentSelected|cca|ignoreWEBGL2|_blendingState|_sampleMode|czm_selectedIdTextureStep|czm_selectedIdTexture|czm_idTexture|bca|Zba|Wba|_mostDetailedRayPicks|Xba|Vba|updateFrameState|resolveFramebuffers|updateAndExecuteCommands|Uba|cma|pickDepths|debugGlobeDepths|frustumSplits|Tba|bma|_cameraMovedTime|Sba|_terrainRenderState|_pointRenderState|_primitiveRenderState|castCommands|Rba|CYAN|_debugFreezeFrame|textureOffsets|Yla|Xla|Qba|_outOfViewPrevious|Zla|_darkness|_lightCamera|debugCascadeColors|isPointLight|outOfView|_clearPassState|shadowMapMaximumDistance|_polygonOffsetSupported|Pba|getIdFramebuffer|Oba|Nba|Mba|_lastMsSampleTime|_msText|_lastFpsSampleTime|_fpsText|_throttledText|Lba|_particleEstimate|Kba|_emissionRateByDistance|updateCallback|ignoreShow|_lifeTime|FIRE|emissionRate|Jba|Hba|Gba|Iba|Wla|_alphaClearCommand|_translucentMultipassClearCommand|_translucentMRTClearCommand|_opaqueClearCommand|_translucentRenderStateCache|_useHDR|computeMoonPositionInEarthInertialFrame|Dba|feedback|about|setSelectedLayer|Bba|datasourceName|endID|hasChange|_executedThisFrame|starvedLastFrame|_budgets|_rsDefault|_rsClassified|UNCLASSIFIED|highlightColor|isClassified|czm_invertClassificationColor|classifiedTexture|Aba|bil|minLevel|Aspect|Slope|_glowWidth|_cells|alphaType|skipType|populateSubtree|yba|xba|zba|_excavateExtendHeight|_excavateTransparent|addExcavationRegion|_zoomedOutOceanSpecularIntensity|globeBottomLevel|Vla|getSurfaceNormalIntersectionWithZAxis|slopeSetting|_globeAlpha|tileLoadProgressEvent|_terrainProviderChanged|tilesLoaded|tileLoadedEvent|wba|vba|uba|removeFunc|_updateCustomData|_removeHeightCallbacks|tba|_tileLoadProgressEvent|Rla|Ula|Tla|Sla|findTileToEast|findTileToWest|layerShownOrHidden|sba|layerAdded|Qla|Pla|_getGridFromCache|veryCloseY|gridTileXYToRectangle|veryCloseX|rba|pba|qba|oba|dataMinValue|dataMaxValue|girlBuffer|clip_behind_any_plane|CustomClipBox|kba|clearRaterRegionTexture|jba|lba|hasImageryLayerCutout|enableClippingPlanes|enableFog|useWebMercatorProjection|perFragmentGroundAtmosphere|showOceanWaves|showReflectiveOcean|applySwipe|applySplit|applyAlpha|applyGamma|applySaturation|applyHue|applyContrast|applyBrightness|Nla|Mla|gba|_onLayerRemoved|_onLayerAdded|_hasFillTilesThisFrame|_hasLoadedTilesThisFrame|hba|iba|canRenderWithoutLosingDetail|Ola|_tileLoadedEvent|fromSizeInBytes|scaleAndBias|gridTextureUseWebMercatorT|gridTextureTexCoordsRectangle|gridTextureTranslationAndScale|colorsToAlpha|DEFAULT_GAMMA|DEFAULT_SATURATION|DEFAULT_HUE|DEFAULT_CONTRAST|DEFAULT_BRIGHTNESS|dayTextureFlipY|setVisible|localizedCartographicLimitRectangle|hsbShift|tileRectangle|center3D|excavateTexture|excavateRect|modifyTexture|_modifyGeoBounds|modifyRect|slopeHasColorTable|slopeMinVisibleValue|slopeMaxVisibleValue|hasSlopeRegion|slopeArrowsTexture|slopePolygonTexture|slopeColorTexture|slopeOpacity|slopeCeil|slopeFloor|slopeRect|slopeFillMode|hypHasColorTable|hypMinVisibleValue|hypMaxVisibleValue|hypHasAnalysisRegion|hypsometricRenderTexture|hypsometricTexture|hypLineColor|hypOpacity|hypCeil|hypFloor|hypContourFillMode|KeepInside|_disableCullingBlendRenderState|_slopePolygonFbo|ModifyTerrain|_hypsometricFbo|bba|dba|Zaa|_computeWaterMaskTranslationAndScale|_createVertexArrayForMesh|Lla|PLACEHOLDER|processImagery|hasNormalBuffer|allWaterTexture|TRANSFORMED|UNZIP|canUpsample|TRANSFORMING|surfaceShader|texelUnclipped|baseFragmentShaderSource|baseVertexShaderSource|Yaa|clippingShaderState|nominalFrameRate|lowFrameRate|Kla|0158|Vaa|Uaa|_terrainBlockURL|Saa|qureyRegion|Raa|clearLastParticleBuffer|_setVelocityField|timeOrder|vwnd|uwnd|createParticleTrailsResources|clearLastParticleStateTexture|_drawNormal|_fadeOpacity|_texZDepth|_drawEvent|textureEffect|pointCount|_onlySunLighting|_oneOverEllipsoidRadiiSquared|Jla|Ila|Hla|Gla|Fla|fromAlpha|glslDatatype|Qaa|_damBreakPosition|Paa|_expandLink|_screenContainer|_previousCesiumCredit|Oaa|_lastViewportHeight|_lastViewportWidth|hideLightbox|ROAD|AERIAL_WITH_LABELS|_endpointCache||WMS|checkApproachingInterval|getFromCache|Laa|Jaa|Iaa|ServiceExceptionReport|Gaa|specifies|_pickFeaturesTags|_tags|_hasAlphaChannel|getFeatureInfoFormats|_urlSchemeZeroPadding|pickFeaturesUrl|Ela|baseUrl|Eaa|isColorCorrectionEnable|_outputFbo|_sampleWeights|_transformMatrix|inverseView3D|_uniformState|_prevViewProjectionMatrx|jitter|_inputFbo|_dofBlurKernel|_colorBufferHalfFloat|results|Daa|_zoomOffset|_pointSizeShaderFunction|_showShaderFunction|_colorShaderTranslucent|meta|conditionsExpression|getMovement|ALT|_flyCircleCenter|_flyCircle|_reflectMatrix|Cla|Bla|Dla|computeViewRectangle|vaa|xaa|morphing|flyRelativeHeight|flyClampToGround|qaa|cameraToWorldCoordinatesPoint|Ala|naa|waa|getMagnitude|defaultZoomAmount|uaa|taa|saa|twistRight|raa|zla|worldToCameraCoordinatesPoint|worldToCameraCoordinates|DEFAULT_VIEW_FACTOR|yla|_sensitiveRegionRatio|paa|oaa|_invViewMatrix|_invTransform|timeSinceMoved|positionWCDeltaMagnitudeLastFrame|laa|xla|kaa|jaa|downCommand|upCommand|_metadataCache|EMPTY_IMAGE|_attributionList|_culture|culture|Aerial|haa|gaa|faa|_missingImageByteLength|createColorRenderState|daa|caa|appendPBRMacroToShader|baa|updateColor|readAsArrayBuffer|_minVisibleDistance|positionAttr|itemStyle|wla|_localQuaternion|_localTranslation|_localTransform|updateRotation|_offsetPosition|TileSplitType|BoundingBox|MaxInstensity|MinInstensity|_sqPrjMatirx|_sqViewMatirx|ALWAYS_SHOW_SILHOUETTE|SILHOUETTE|Sketch|EffectOutline|addWaterPlane|_hasOverlay|_createRasterRegion|_excavationMode|CLIP_OUTSIDE|CLIP_INSIDE|Visible|Operation|Objs|_groupNameBounds|setPointCloudGroupsVisible|setObjsExtendHeight|refreshRasterById|_shadowDarkness|dat|layerInfos|queryStringAttribute|_rsStencil|createClampGroundAndObjectLineRenderState|showIcon|_loadVolumeData|_residentRootTile|residentRootTile|_allTilesLoaded|allTilesLoaded|_S3MTileLoadedEvent|_selectUpdate|_maxTransparentAlpha|maxTransparentAlpha|_minTransparentAlpha|_useMercatorProject|_selectionFiltrateByTransparency|_splitPosition|_strVolumeExts|_minVolumeValues|_maxVolumeValues|_multiChoose|_skeletonSelectEnable|_bReleaseColor|Child_Priority|_hypUseColorByHeight|_hypMinHeight|_hypMaxHeight|cacheEntityCount|fieldsNames|_isJsonScp|strVolumeExts|Triangle|_clockStart|_nProcessType|_layerRange|_pointCloudLayerNames|_isTextureShare|getColorGBuffer|vla|ula|tla|PBR_Material|metal_plate|Titanium|titanium_scuffed|Gap|Length|PolylineType|_isMove|_isArrow|DOT|RegionType|_repeatY|_repeatX|_offsetY|_offsetX|_lineWidthY|_lineWidthX|_rotationAngle|memoryUsage|_pix|_configReady|createResources|_isParsed|dataCeil|dataFloor|VOLFAILED|SkeletonReady|SkeletonParsing|_isRootNode|lodTreeExport|fields|_originalBS|_redownload|dla|ALLOC_NONE|ALLOC_DYNAMIC|ALLOC_STACK|ALLOC_NORMAL|Pointer_stringify|getCompilerSetting|dynCall|makeBigInt|prettyPrint|getFuncWrapper|removeFunction|addFunction|registerFunctions|alignFunctionTables|getFunctionTables|getLEB|loadWebAssemblyModule|loadDynamicLibrary|warnOnce|dynamicAlloc|FS_unlink|FS_createDevice|FS_createLink|FS_createLazyFile|FS_createPath|FS_createFolder|ENV|removeRunDependency|addRunDependency|writeAsciiToMemory|writeStringToMemory|addOnPostRun|addOnExit|addOnPreMain|addOnInit|addOnPreRun|stackTrace|allocateUTF8|lengthBytesUTF32|stringToUTF32|UTF32ToString|lengthBytesUTF16|stringToUTF16|UTF16ToString|lengthBytesUTF8|stringToUTF8Array|UTF8ToString|UTF8ArrayToString|stringToAscii|AsciiToString|getMemory|lla|double|kla|pla|intArrayToString|intArrayFromString|ola|gla|mla|enough|below|hla|Attempted|Stack|sla|rla|setup|Table|ila|trunc|clz32|fround|imul|ela|fla|nla|JavaScript|qla|importScripts|UTF|Unicode|missing|leading|1314495|1314494|dynCall_vi|dynCall_v|jla|DestroyTexture|decoding|indexTaskProcessor|DecRef|CreateVolumeTexture|requestSharedTexture|createCRN|CRN_DXT5|createWebp|cla|Zka|Yka|Vka|Wka|Ska|Tka|Uka|Rka|bla|Xka|transparentsorting|getFilter|Qka|_requestImagery|Pka|Nka|Oka|_skeletonPlaceholder|_maximumTerrainLevel|_minimumTerrainLevel|DEFAULT_SPLIT|_tileFeature|removeTile|featureID|_removedLayers|_resetUpdates|bearing|getDash|bin|getPattern|hasRenderCallback|_notify|isLoaded|updatedImages|_validateStretch|_validate|getImageCanvas|setLoaded|hasPaintOverrides|overrides|_handleOverridablePaintPropertyUpdate|resolveTokens|isExpression|getValueAndResolveTokens|Kka|gradientTexture|_handleSpecialPaintPropertyUpdate|Jka|Ika|clipStart|scaledDistance|square|fakeround|mult|Hka|indexBuffer2|Fka|layout_circle|distToSegmentSquared|milliseconds|geojson|Zoom|uppercase|tms|hasTransition|getTransition|defaultTransitionablePropertyValues|defaultTransitioningPropertyValues|defaultPropertyValues|defaultPossiblyEvaluatedValues|isSafari|Dka|_featureMap|_bufferOffset|getPositions|Cka|renderLayer|renderLayerForOneTile||_renderTileClippingMasks|_tileClippingMaskIDs|quadTriangleIndexBuffer||clippingMaskUniformValues|setDepthMode|setColorMode|updatePatternPaintBuffers|UniformColor|blendFunction|MAX_TEXTURE_MAX_ANISOTROPY_EXT|FramebufferAttachment|CCW|vertexAttribPointer|enableVertexAttribArray|bufferSubData|lineSDF|linePattern|lineGradient|fillOutline|fillPattern|primitiveOffset|drawElements|fixedUniforms|failedToCreate|ACTIVE_UNIFORMS|numAttributes|ACTIVE_ATTRIBUTES|vertexSource|prelude|fragmentSource|debug|figure|along|shade_color|scaledSlope|calculated|definitions|master|u_light|scaleFactor|u_maxzoom|where|GL_ES|lighter|lighting|padding_factor|a_shift|Gaussian|overlapping|pixel_coord_lower|pixel_coord_upper|floats|decode_color|Unpack|encodedColor|unpack_float|packedOpacity|packedIntValue|boundDynamicVertexBuffer|boundVertexOffset|boundIndexBuffer|boundLayoutVertexBuffer|boundProgram|uSize|uSizeT|fillPatternUniformValues|fillUniformValues|Aka|uniformMatrix4fv|uniform3f|2305|1029|_saveGeometry|renderColor|renderID|squaredTolerance|_showBillboard|showBillboard|spriteImageDatas|_spriteImageCanvas|spriteImageCanvas|tileLevel|idCanvas|colorCanvas|renderFeatures|_mvtRenderer2D|fillPatternName|zka|lineWidthExpand|yka|imageRepeat|batchFeatures|createBillboardsBounds|xka|s3MTilesLabelStyle|billboardStyle|_labelReady|removeProgramDefineForCommand|selectCastShadows|isIntersectWithClipPlane|_hasSilhouette|_clampSelected|_hasBloomOperation|_isClamp|createUniformMapsForClipPlanes|createUniformMapsForExcavation|_instanceSkeletonMatrix|_geoMatrix|nVertexDim|hasSymbolTexture|oriPassGroup|_clampRegionEdge|wka|vka|_objsOnlyVisibleList|averageHeight|_waterIndex|_localRectangles|_vertexOffset|_symbolColor|uka|TEXCOORD2|S3MTilesLineShadowVectex_|VOLUME2|VOLUME|SIZE_PER_INSTANCE|SIZE_PER_DM_INSTANCE|S3MB_PIPE_INSTANCE|S3MB_BIM_INSTANCE|_pointCounts|bufferCache|indexJob|vertexJob|STRIDE|_maxGeometricError|computeLevel|_pickEnable|_filterDistance|createSubSkeleton|createPBRParamter|createCommonParamter|Parsing|combined|oriBoundingSphere|tka|clearState|clearAllState|clearAll|_enableLocalOffset|createPBRUniformMap|enrS3TCDXTN|CRNProcessor|CRNTaskProcessorReady|_occlusionTextureStrength|_occlusionTextureCoordIndex|_normalTextureScale|_normalTextureCoordIndex|_metallicRoughnessTextureCoordIndex|metallicFactor|roughnessFactor|_emissiveTextureCoordIndex|_baseColorTextureCoordIndex|_alphaMode|fallbackModulePath|_timeStamp|bInitialised|compressedTexImage2D|_matProj|getBarrierPoint|16770|_createVBO|_bindVBOToTransformFeedback|_enableVertexAttribArray|RASTERIZER_DISCARD|_pointColor|_matDepthProject|_matDepthView|removeAllLimitBody|_currentTargetPoint|_currentTargetName|addMinutes|_queryPointsEvent|endTime|_useColor|_useHeight|_polygonViewProjMatrix|_polygonMode|_polygonTextureMatrix|_endPoint3D|_startPoint3D|Contains|_skyline|isManualDepth|_nextPickColor|ska|getViewportQuadVertexArray|TEXTURE_CUBE_MAP|bytesPerIndex|maximumTextureUnitIndex|hasDepthAttachment|_defaultPassState|STENCIL_BUFFER_BIT|_clearStencil|_clearDepth|WebGLRenderingContext|defaultCubeMap|_throwOnWebGLError|_textureFloatLinear|textureHalfFloatLinear|floatTextureSixPlaces|_stencilBits|_geometricToleranceOverMeter|_fogDensity|_specularEnvironmentMapsDimensions|_specularEnvironmentMapsMaximumLOD|_environmentMap|_brdfLut|_lightColorHdr|_sunPositionColumbusView|_moonDirectionEC|_pixelRatio|_log2FarDepthFromNearPlusOne|_farDepthFromNearPlusOne|_cameraRight|_cameraDirection|_inverseViewRotation|_inverseView|_viewRotation|_inverseNormal3D|_inverseNormal|_normal3D|_modelViewInfiniteProjection|_modelViewProjectionRelativeToEye|modelViewRelativeToEye|_inverseModelViewProjection|inverseModelViewProjection|_modelViewProjection|_inverseViewProjection|_viewProjection|_inverseModelView3D|modelView3D|_inverseModelView|_modelViewRelativeToEye|_modelView3D|_modelView|_inverseViewRotation3D|_viewRotation3D|_inverseModel|_viewportTransformation|_viewportOrthographicMatrix|_viewportCartesian4|fragmentShaderText|defaultStyle|_sitDataManager|getFeatureByID|Analysis|AnimationGroups|removeGOAnimation|ANIMATION_SCALE|ANIMATION_ROTATE|ANIMATION_SHOW|ANIMATION_ATTRIBUTE|ANIMATION_BLINK|getPointsByTrapezoid|_execute_ArbitraryPolygon|_execute_1006|1002|1006|1004|SYMBOL_PARALLELLINE|ClockWise|compuetWayPos|addAlgoPloyline|getRatioByTime|pauseTime|PAUSE|removeAllAlgoPloyline|annotationPosition|textPos|negativeImage|lineWidth3D|createSymbolByGeoJson|createGroupObjectByGeoJson|unGroupObject|hasShade|copyStyle|drawAnnotationArray|vectorPrimitive|addBillboard|_imageResult|isHasTextCell|localPtsToCartesian|computePts|computeMatrix|LeftUp|RightUp|LeftDown|RightDown|Down|bIsChangHeight|_OffSetY|createLinearGradient|canvasYNoText|transformPoints|computeImageSizeAndDraw|SURROUNDLINE_NONE|_pushCollentionInstances|_clearCells|isCorridor|1025|getPosition2|symbolData|createSubSymbolData|generateFillGeometry|SURROUNDLINE_INNER|generateSurroundLineGeometry|SYMBOL_COMBINATIONALCIRCLE|cachedSymbols|querySymbolbyKey|initializecompleted|isInitialize|querySymbol|symbolNodeType|rootSymbolLibNode|cacheSymbolData|initNeedCacheListForNode|isConvex|1001|calcProtudeC3|pt4|getPointsOfNormal|isNear|calcEllipseRadian|getWhichPtOfNormal|findBisectorPoint|findPoint|POSITION_AND_ST|_ispixelLine|mergeDefaultStyle|loadGeometry|_div|_maximumActiveTasks|isExpressionFilter|coerce|rka|_defaultValue|_warningHistory|formattedSection|Values|_parse|CompoundExpression|_parseColorCache|isSizePowerOfTwo|useMipmap|pka|oka|nka|mka|verticalPlacedIconSymbolIndex|placedIconSymbolIndex|verticalPlacedTextSymbolIndex|sortedAngle|vertexStartIndex|verticalIconBoxEndIndex|verticalIconBoxStartIndex|iconBoxEndIndex|iconBoxStartIndex|verticalTextBoxEndIndex|verticalTextBoxStartIndex|textBoxEndIndex|textBoxStartIndex|textCircles|collisionVertexArray|dynamicLayoutVertexArray|lineVertexArray|writingModes|getSizeData|opacityVertexBuffer|Enclosed|Punctuation|12288|Miscellaneous|Geometric|5120|1536|fitIconToText|lka|lastZoom|_classRegistryKey|ResolvedImage|Intl|inputType|Branch|MAX_SAFE_INTEGER|strings|numbers|kka|jka|validateRGBA|diacritic|ika|Collator|sensitivity|hka|gka|patchUpdatedImage|haveRenderCallbacks|addImages|_numberToString|_stringToNumber|_angleCos|_exponent|sunLightON|_sunLightON|_ambientLightColor|horizontalPolyline|dirPolyline|startHeight|DVHX|refreshReferencePoint|_editObject|setEditObject|fka|eka|grepin|GEOMODEL3D|modelUrl|GEOBILLBOARD|arsh|NumParts|_isCleared|_isAltitudeFree|_isTiltFree|_isHeadingFree|_totalDuration|isAlongline|_routeName|_isFlyLoop|isStopVisible|currentStopIndex|_stopArrived|_promise|_surroundDuration|_stopPlayMode|_stopName|_tilt|_waitTime|StopPause|_bAsy|NetworkLink|cameraUpdateTime|lastUpdated|_unsupportedNode|_refresh|addPlaylistEntry|flyToMode|MultiTrack|dka|angles|Track|outerBoundaryIs|_nextNode|_timeThreshold|_used|kmlTours|Tour|LatLonQuad|clampToLatitudeRange|loading|Placemark|cka|bka|tiff|opendocument|oasis|midi|toAnchorString|docs|facebook|testMatch|javascript|u5e97|u673a|u5927|u91cc|u5546|u0435|u0431|u0642|u043d|u043b|nra|u0924|u0930|u093e|u092d|u0629|u0442|best|u062f|media|degree|android|udfff|ud000|u00ae|protocolPrepended|getServiceName|hellip|whitespaceRegex|Unhandled|strokeWidthProperty|Zja|defaultAvailability|sampleDuration|styleCache|_styles|_time|getMaterialType|Yja|workerScriptsPath|useWebWorkers|BlobReader|Writer|setUint8|unescape|1347093252|commentLength|recognized|4294901760|u00b9|u00a8|u00f7|u00a7|u00b6|u00b4|u00af|u00d9|u00d5|u00d4|u00df|u00d3|u00cd|u00c1|u00ab|u00aa|u00fa|u00f3|u00e1|u00ff|u00e6|u00c9|u00c5|u00eb|u00e7|u00e5|atob|Xja|Wja|Vja|Tja|Sja|Uja|_lastEntity|Rja|_removeDataSourceCollectionListener|Qja|generateCartesianArc|_followSurface|dynamic|createDynamicUpdater|Pja|isOutlineVisible|removePoint|Lja|Jja|Kja|Ija|Oja|Nja|Mja|getBillboard|updateObject|Hja|INERTIAL|nodeTransformationsScratch|fromTranslationRotationScale|animationsRunning|removeLabel|_groundMaterialBatches|_groundColorBatches|_insertUpdaterIntoBatch|_removeUpdater|Gja|Fja|shouldUseSphericalCoordinates|Eja|Dja|Cja|Bja|Aja|zja|yja|xja|wja|vja|uja|_outlineAttributes|_lastOutlineWidth|_lastSceneMode|tja|sja|rja|qja|articulations|pja|oja|_getValue|mja|nja|Stripe|removeSample|derivatives|_numberOfDerivatives|_innerDerivativeTypes|_interpolationResult|_onTargetEntityDefinitionChanged|targetCollection|arrayEquals|PolylineOutline|PolylineGlow|PolylineDash|PolylineArrow|kja|jja|lja|_previousHeight|_previousClusters|_clusterEvent|pixelRange|ija|gja|hja|fja|_maxTotalPointSize|eja|dja|cja|bja|Zia|Yia|_onDefinitionChanged|_eventHash|Xia|debugPickedTileLabelOnly|_requestedTilesInFlight|decrementLoadCounts|unloadTile|_modelMatrixChanged|cullRequestsWhileMoving|_updatedModelMatrixFrame|_statisticsPerPass|preloadFlightDestinations|_dynamicScreenSpaceErrorComputedDensity|Wia|contentBoundingVolume|_timeSinceLoad|_request|Tileset|loadTileset|_extras|_foveatedMinimumScreenSpaceErrorRelaxation|_foveatedConeSize|updateTransform|_asset|_lastStyleTime|_previousMaximum|_previousMinimum|_referenceMaximum|_referenceMinimum|SKIP_OPTIMIZATION|preferLeaves|Via|_commandsLength|Sia|updateGeometricErrorScale|viewerRequestVolume|Tia|Ria|Uia|_initialTransform|expireDuration|Qia|EXPIRED|foveatedInterpolationCallback|foveatedScreenSpaceError|Pia|northNormal|southNormal|_stackLength|i3dm|_resolvedPromise|defaultPointOutlineWidth|defaultPointOutlineColor|defaultColor|defaultPointSize|_labelSelected|_screenSpacePosition|computeLocalScreenSpaceBoundingBox|_setTranslate|_spareBillboards|RADIUS|CUTOFF|cutoff|_fontFamily|FONT_SIZE|_fontStyle|initialSize|_s3MlayerId|Oia|debugCommand|debugShowTextureAtlas|_rsParticleSystem|_compiledShaderClampToGround|_compiledShaderPixelOffsetScaleByDistance|_compiledShaderAlignedAxis|_compiledShaderRotation|_depthTestEnable|Nia|Mia|Lia|Jia|Hia|Iia|Kia|Gia|borderWidthInPixels|Fia|wgs84WithEyeOffsetToWindowCoordinates|Eia|Aia|_imageHeight|_imageWidth|Dia|Cia|zia|Bia|yia|wia|xia|uia|DRAW_FRAMEBUFFER|READ_FRAMEBUFFER|checkFramebufferStatus|_styleTranslucent|_styleableShaderAttributes|NEEDS_DECODE|addDerivedCommands|_modelCommands|silhouetteColorCommand2D|silhouetteColorCommand|silhouetteModelCommand2D|translucentCommand2D|_colorShadingEnabled|_clippingPlaneModelViewMatrix|Z_UP_TO_X_UP|computeBoundingSphere|sourceKHRTechniquesWebGL|getAssetVersion|checkSupportedExtensions|parseBuffers|VIEWPORT|MODELINVERSETRANSPOSE|MODELVIEWPROJECTIONINVERSE|MODELINVERSE|MODEL|gltfTexture|programToCreate|materialsByName|nodesByName|makeReady|tia|_gltfForwardAxis|getRequiredExtensions|sia|qia|ria|useMatrix|removeOnStop|ANIMATING|_updateEventTime|_stopTime|pia|oia|nia|getAnimationParameterValues|_getDecoderTaskProcessor|dequantizeInShader|modelDecodingCache|_testIntersection|mia|planeRemoved|_commandsDirty|u_time|LITERAL_UNDEFINED|lia|addBinaryOp|Compound|Unclosed|prec|character|createUniformsForQuantizedAttributes|EMISSIVE_UV_OFFSET_AND_TILING|BASECOLOR_UV_OFFSET_AND_TILING|gltf_a_dec_|modifyShaderForQuantizedAttributes|checkSupportedGlExtensions|KHR_materials_pbrSpecularGlossiness|_3DTILESDIFFUSE|ensureSemanticExistence|JOINTS_0|splitIncompatibleMaterials|finishedProgramCreation|finishedBuffersCreation|WEIGHTS|JOINTS|allExtensions|nodeInTree|cameras|accessorContainingVertexAttributeData|_cachedTypedArrays|SKIP_LOD_BIT_SHIFT|zback|czm_pass|_colorChangedCallback|jia|fromRotationY|fromRotationX|hia|gia|iia|_positionProperty|supportsMaterialsforEntitiesOnTerrain|dia|fia|_hasPerInstanceColors|colorMorph|_supportsMaterials|_boundingSpheresKeys|GroundPrimitives|_boundingVolumes2D|_groundGeometry|_maxTerrainHeight|_minTerrainHeight|_hasPerColorAttribute|except|_usePickOffsets|createVertexShader|createFragmentShader|createPickVertexShader|createPickFragmentShader|planes2D_LOW_w|planes2D_HIGH_w|planes2D_LOW_z|planes2D_HIGH_z|planes2D_LOW_y|planes2D_HIGH_y|planes2D_LOW_x|planes2D_HIGH_x|longitudeRotation|sphericalExtents|planes2D_LOW|planes2D_HIGH|useFloatBatchTable|bia|_usesSt|_usesPositionToEyeEC|_usesTangentToEyeMat|_usesNormalEC|_projectionExtentDefines|_useFloatBatchTable|_pickShaderDependencies|_colorShaderDependencies|_extentsCulling|_lastPerInstanceAttributeIndex|_readOnlyInstanceAttributes|_tempBoundingSpheres|_interleave|_batchTableBoundingSpheresUpdated|_batchTableBoundingSphereAttributeIndices|combineGeometry|_batchTableOffsetAttribute2DIndex|radiusSq|boundingSphereRadius|boundingSphereCenter2DLow|boundingSphereCenter2DHigh|2DLow|2DHigh|DECR_WRAP|INCR_WRAP|DECR|INCR|_fromDataSource|getSegments|Zha|_clean|locator|Yha|Wha|Vha|Uha|Xha|bucket|Tha|_positionBufferUsage|wrapLongitude|Sha|CAST_ONLY|CREATED|packedData|High|Rha|COPY_READ_BUFFER|readOffset|readBuffer|NUMBER_OF_CLASSIFICATION_TYPES|findVarying|getDeclaration|Qha|TK_END|TK_ELSE|TK_IFNEF|isEqual|removeUnuseMacroCode|getProgramInfoLog|_automaticUniforms|_manualUniforms|_uniformsByName|_numberOfVertexAttributes|_vertexAttributes|_locations|nonSelDepthTexture|czm_specularEnvironmentMapsMaximumLOD|partialApply|PolylineTrailType|PolylineDynamicType|EmissionColorType|AspectRampMaterialType|SlopeRampMaterialType|ElevationRampType|ElevationContourType|PolylineOutlineType|PolylineGlowType|PolylineDashType|PolylineArrowType|FadeType|RimLightingType|WaterType|DotType|CheckerboardType|StripeType|GridType|NormalMapType|BumpMapType|EmissionMapType|SpecularMapType|AlphaMapType|DiffuseMapType|DefaultCubeMapId|_loadedCubeMaps|alignmentInBytes|_highpIntSupported|_highpFloatSupported|_maximumColorAttachments|_maximumDrawBuffers|_maximumTextureFilterAnisotropy|_maximumViewportHeight|_maximumViewportWidth|_maximumAliasedPointSize|_minimumAliasedPointSize|_maximumAliasedLineWidth|_minimumAliasedLineWidth|_maximumVertexUniformVectors|_maximumVertexTextureImageUnits|_maximumVaryingVectors|_maximumTextureSize|_maximumRenderbufferSize|_maximumTextureImageUnits|_maximumFragmentUniformVectors|_maximumCubeMapSize|_maximumCombinedTextureImageUnits|SRC_ALPHA_SATURATE|FUNC_REVERSE_SUBTRACT|FUNC_SUBTRACT|_hasClone|Oha|Nha|topPositions|bottomPositions|Pha|Kha|Jha|Mha|Lha|_lastPlaybackRate|iso8601Durations|iso8601Dates|generateRhumbArc|Iha|1473|childTileMaskExt|srcY|srcX|mouseEmulationIgnoreMilliseconds|position2|position1|PINCH_MOVE|PINCH_END|PINCH_START|MIDDLE_UP|RIGHT_UP|Hha|Gha|Fha|Bha|latScalar|lonScalar|Eha|Dha|Cha|nwCorner|Aha|zha|utm|tmerc|removeDuplicatesFromShape|yha|computeNormal|xha|wha|POLYLINES|vha|uha|tha|sha|pha|rha|qha|oha|polygonOutlinesFromHierarchy|createGeometryFromPositions|computeWallGeometry|nha|computeBoundingRectangle|polygonsFromHierarchy|mha|lha|_horizonToPlaneNormalDotProduct|_horizonPlaneNormal|_horizonPlanePosition|kha|isBoundingSphereVisible|isPointVisible|API|getErrorCredit|jha|getAccessToken|flattenChunks|onData|Z_SYNC_FLUSH|shrinkBuf|Z_NO_FLUSH|data_type|total_in|distdyn|lendyn|ncode|mismatch|isColorFormat|xTable|dependent|hha|gha|EMPTY|declination|rightAscension|0052|totalDays|factorial|fha|eha|dha|bha|cha|Xga|Wga|Zga|Yga|maximumTerrainHeight|Vga|findIntersectionWithLongitude|Uga|SELF|_lastTidy|Sga|Tga|childY|childX|through|Upsampling|descendantLevel|descendantY|descendantX|thisLevel|Rga|setParent|getQuadTreePacket|u008a|u00c8|u001b|u0085|u0004|u001c|u0097|u001d|u0082|u0001|u0018|u0099|Qga|fixed64|fixed32|zzEncode|uint64|inquire|versions|EventEmitter|zzDecode|_slice|_computeNearFarPlanes|Oga|_sseDenominator|computeInfinitePerspectiveOffCenter|computePerspectiveOffCenter|fromEllipsoid|Nga|Mga|Iga|Hga|Lga|Kga|Jga|CatmullRom|Gga|toPoint|2106E|0124|24051E|one_minus_f_squared|ml1|Dga|C_x|Cga|infinity_dist|qs1|Lambert|3072|ro0|Projection|Oblique|no_off|long2|lambda0|ssfn_|ratexp|Transverse|Ega|Fga|161280|1440|6237|1830|Airy|airy|New|1965|ch1903|wgs84|6370997|Fischer|1969|Clarke|257222101|LOCAL_CS|neutral|Bga|afterquote|ewnsud|3048|Aga|assets|defaultServer|_createEndpointResource|getDefaultTokenCredit|getCreditsFromEndpoint|saveAttributes|zga|yga|xga|endPositions|corners|wga|vga|uga|tga|sga|rga|qga|pga|oga|nga|mga|lga|kga|jga|hga|iga|gga|fga|_constants|_endHeading|ega|positions2D|dga|cga|bga|Yfa|Xfa|Wfa|Zfa|distinct|Ufa|Tfa|Sfa|Vfa|Rfa|_lastSystemTime|Ofa|Qfa|Pfa|W_|numPts|Kfa|Z_|Y_|X_|Nfa|Mfa|Lfa|R_|Q_|T_|Ifa|Hfa|Jfa|S_|V_|U_|P_|N_|Gfa|Ffa|Efa|Dfa|M_|Bfa|Afa|L_|K_|J_|I_|_boundsRadians|createTerrainData|H_|E_|D_|putElementInDB|indexedDB|getAttributeNodeNS|getAllResponseHeaders|hasChildNodes|setRequestHeader|zfa|B_|_heightValues|_vValues|_uValues|_encodedNormals|A_|yfa|xfa|wfa|vfa|ufa|tfa|sfa|rfa|qfa|pfa|setRow|fromUniformScale|fromRowMajorArray|virtualearth|y_|x_|w_|computeChildMaskForTile|timesRetried|ofa|_skirtMode|_bufferType|getRegularGridIndicesAndEdgeIndices|getRegularGridAndSkirtIndicesAndEdgeIndices|t_|nfa|FOUR_GIGABYTES|getRegularGridIndices|mfa|lfa|q_|o_|r_|_deferreds|computeHeight|computeWidth|mercatorAngleToGeodeticLatitude|decodePosition|octPackFloat|DEPTH24_STENCIL8|RGBA8|RGB8|CONTEXT_LOST_WEBGL|FRAMEBUFFER_UNSUPPORTED|FRAMEBUFFER_INCOMPLETE_DIMENSIONS|FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT|FRAMEBUFFER_INCOMPLETE_ATTACHMENT|DEPTH_STENCIL_ATTACHMENT|COMPILE_STATUS|OUT_OF_MEMORY|INVALID_OPERATION|INVALID_VALUE|INVALID_ENUM|octShortToFloat|uBuffer|octDecodeFloat|fromSNorm|kfa|n_|toSNorm|||jfa|ifa||hfa|m_||l_|efa|gfa|ffa|getHeading|buildUp|bfa|dfa|wgs84To2DModelMatrix|iau2006XysData|earthOrientationParameters|getPromiseToLoad|preload|Zea|Yea|Xea|Vea|Uea|Wea|Tea|j_|i_|k_|h_|g_|f_|e_|c_|b_|_dateColumn|_dates|_downloadPromise|addDays|02dT|04d|Sea|isLeapSecond|Rea|Qea|Pea|Oea|Nea|Mea|Lea|computeDiscriminant|Jea|_html|selection|vert|summary|placeholder|border|_initPromise|Hea|Eea|Fea|||||||||Gea|beginLevel|Dea|Cea|Bea|minimumComponent|patch|callbackParameterName|Aea|totalRequestTime|numberOfActiveRequestsEver|maximumRequests|resort|internalArray|heapify|OTHER|removeDotSegments|zea|convertLongitudeRange|otherRectangle|yea|xea|wea|vea|uea|_squaredXOverSquaredZ|314245179|EPSILON1|fromRadiansArrayHeights|tea|fastApproximateAtan2|sea|sinh|init_genrand|directly|rea|startScalePtn|100px|dea|Pan|localStorage|showRenderLoopErrors|_isOrthographic|1562|531301|56511|9349|3437|Enter|detail|_columbusViewPath|_flatMapPath||_globePath|58772||||817175|698645|537018||864443|454119|978102|02607|9330437|9296167|_orthographicPath|_perspectivePath|watchdog|Two|Mouse|027|cameraIconPath|305952|975298|keepExpanded|flightDuration|isFullscreen|pickButtonHighlight|pickDepth|SSE|Factor|Compile|EDL|Volumes|Features|Visited|NASA|Sentinel|MapServer|ArcGIS|arcgisonline|000|aerial|draggable|buttonTooltip|snapToTicks|multiplierLabel|dateLabel|timeLabel|shuttleRingPointer|_knobStatus|_knobDate|_knobTime|shuttleRingG|shuttleRingSwoosh|buttonGlow|Rda|Eda|__knockoutSubscribable|__knockoutObservables|Cda||sequential|frameFailed||||_token|tilecol|tilerow||tilematrix|zda|IDFieldName|heightRange|xda|nda|_asyncRayPicks|gda|fromLightSource|_debugShowFrustumPlanes|underGlobeCommand|useDepthPlane|clearGlobeDepth|kda|hda|ida|_depthClearCommand|debugShowCommands|textureMapParameter|METER|_sigma|_delta|Jca|_tiltOnEllipsoid|tilting|zooming|spining|_maximumZoomRate|_minimumZoomRate|_rotateMousePosition|_rotateStartPosition|operPlane|_strafeMousePosition|kca|fca|ica|jca|Yba|Instead|czm_discard|_accessToken|uIntensityTexture|aIntensity|vIntensity|vDim|vOff|_vertexSize|_rsUpdate|lastMaxDepthVisited|lastTilesWaitingForChildren|lastMaxDepth|lastTilesCulled|||||lastTilesRendered|lastTilesVisited|_lastTileLoadQueueLength|_rasterLineWidth|mergeRasterBounds|eba|fba|northeastTile|southeastTile|southwestTile|northwestTile|visitedFrame|enqueuedFrame|webkitHidden|msHidden|mozHidden|_warmupPeriodEndTime|Taa|margin|Naa|Maa|externalType|defaultAlpha|defaultBrightness|defaultContrast|defaultHue|defaultSaturation|defaultMinificationFilter|defaultMagnificationFilter|_useKvp|Kaa|Haa|serializeToString|XMLSerializer|layerDefs|bboxSR|imageSR|disableCheckIfAllPixelsAreTransparent|spatial|Aaa|yaa|zaa|Baa|prevAngle|maximumZoomFactor|maa|_bReflect|_imageUrlTemplate|_imageUrlSubdomains|previousLuminance|yStep|xStep|eaa|colorUniqueID|normalUniqueID|posUniqueID|tileFeature|UpperCorner|LowerCorner||||||||Title|Contents|_sprite|_labelPromiseArr|contentBuffer|_dPitch|_dirRadian|_projMatrix|internal|validateFramebuffer|allowTextureFilterAnisotropic|OES_texture_float|supports|_waterNormalMapUrl|rhs|lhs|hasUntypedArgument|move_line_back|move_line_right|move_line_bottom|moveBarYLength|moveBarXLength|moveBarZLength|Clockwise|phoneNumber|snippet|styleCollection|bgColor|labelVisibility|physicalWidth|IconStyle|blocking|entryEnd|entityCluster|velocityReference|_repeatSubscription|_initialTilesLoaded|tileFailed|isSuperMapiServer|cullRequestsWhileMovingMultiplier|_refines|Using|REGION|boundingVolumes|_useHighlightColor|_billboardSize|_billboardOutlineWidth|billboard_texture|imageIndex|u_depthMultiplier|u_geometricError|u_constantColor|NORMALIZE_5|_batchTableLoaded||||||oct|featureTableJsonByteLength|precreatedAttributes|_batchIdBuffer|_vertexBufferTypedArray|czm_instanced_nodeTransform|czm_instanced_modifiedModelView|czm_instanced_modelViewInverseTranspose|czm_instanced_modelViewProjection|Shader|sphereBatchIds|spheres|ellipsoidBatchIds|ellipsoids|cylinderBatchIds|cylinders|boxBatchIds|_pickObject|_batchIdAttributeName|batchTableBinaryByteLength|batchTableJsonByteLength|CUSTOM_SPECULAR_IBL|CUSTOM_SPHERICAL_HARMONICS|USE_CUSTOM_LIGHT_COLOR|gltf_clippingPlanesEdgeStyle|gltf_clippingPlanes|_toClipCoordinatesGLSL|gltf_silhouetteSize|gltf_silhouetteColor|_silhouetteColorPreviousAlpha|_colorPreviousAlpha|computedJointMatrices|skinnedNodes|createRuntimeNodes|createUniformMaps||JOINTMATRIX|createRenderStates|createVertexArrays|createRuntimeAnimations|createSkins|skinnedNodesIds|createSamplers|breakAndDiscard|clippingPlaneStartIndex|glExtensionsUsed|classification|u_specularGlossinessTexture|uvEmissiveOffset|uvEmissiveTiling|specularGlossiness|uvTiling|a_tangent|fallOffExponent|fallOffAngle|FallOff|BLINN||spotDot|blendFuncSeparate|blendEquationSeparate|tileDiffuse|tile_diffuse_final|||||classIndexes|parentIndexes|3DTILES_batch_table_hierarchy|_extensions|HIERARCHY|_stRotationSubscription|_scaleByDistanceSubscription|_translucencyByDistanceSubscription|_disableDepthTestDistanceSubscription|westMostYlowDefine|westMostYhighDefine|eastMostYlowDefine|_texCoordExpandAndBatchIndexBuffer|defining|OUTPUT_DECLARATION|cube|_clickPixelTolerance|pointerType|endSnippet|e21|_yOffset|proj4|00669438|oProj|finite|IAU2000|standard_parallel_1|latitude_of_origin|longitude_of_center|latitude_of_center|TOWGS84|_uSquared|steiner|8011|O_|G_|F_|terrainz|_wmtsLayerName|fileExtent|C_|rectangleNortheastInMeters|rectangleSouthwestInMeters|p_|taiMinusUtcSeconds|yCelestialPoleOffsetRadians|xCelestialPoleOffsetRadians|ut1MinusUtcSeconds|yPoleWanderRadians|xPoleWanderRadians|modifiedJulianDateUtc|keepAttr|attrValue||||||toUrl||CESIUM_BASE_URL||owns|findInternal|makeIterator|asyncExecute|settle_|fulfill_|asyncExecuteFunction|iteratorFromArray|asyncIterator|arrayIteratorImpl|SymbolClass|bottomContainer|YEa|XEa|sprintf|sampleTerrainMostDetailed|loadXML|cLa|zWa|foa|eoa|canTransferArrayBuffer|aFa|wWa|related|inversely|roughly|intent|faux|serves||central|scaling|whole|rescale|Pitching|buildModuleUrl|9999999|4844222297453324|nczm_updatePositionDepth|nv_logPositionEC|nexponent|npackedFloat|960464477539063e|00001525878|00390625|283185307179586|71238898038469|nbitangent|247708|886227|743125||511664||429043||695500000||nval_se|nval_sw|nval_ne|nval_nw|czm_fullRaySegment|5707963267948966|0471975511965976|5235987755982988|7853981633974483|czm_private_phong|nfPos|yzww|15915494309189535|3183098861837907|nvector3|nvector2|nvector1|vector3|vector2|vector1|nencoded|ntanTheta|5906376272000|7046|6474|2721|6210|9563|311135|522591|211456|321263|274453|595716|nuv3|nuv2|nuv1|nuv0|ns3|ns2|ns1|nfResult|nfValue2|nfValue1|nnoValue|nXTran|nYTran|nisRGBA|bgra|textureLod|texture2DLodEXT|nrealTexCoord|nCalculateTexCoord|nCalculateMipLevel|nfTexCoord|CalculateTexCoord|CalculateMipLevel|czm_getHypsometricColorByGeoBounds|nopposite|nptInRect|nbitangentEC|ntangentEC|nspotEffect|066666|1920928955078125e|3841857910155797e|384185791015625e|7683715820308884e|76837158203125e|5367431640596084e|5367431640625e|9073486328101870e|9073486328125e|8146972656064961e|814697265625e|6293945311019700e|62939453125e|5258789061315762e|52587890625e|0517578115526096e|0517578125e|1035156174208773e|103515625e|2207031189367021e|220703125e|4414062014936177e|44140625e|8828121119489829e|8828125e|7656218955931946e|765625e|9531225164788188e|953125e|9062301319669718e|90625e|8123410601011111e|8125e|5623728620476831e|5625e|1239833430268277e|125e|2418809995957350e|2435499454676144e|4497866312686414e|6364760900080609e|8539816339744828e|0725293500888267e|nfBorderWidth|003|0572|0416|4985|2040|8760|5371|0556|9693|2405|elapsedTime|spawnTexture|speedScaling|vTex|lastTime|10000000000|nvNearTexCoord|npos|uCellCount|maxPointSize|maxAlpha|minAlpha|ColorsTexture|ntexcood|ntf_lonLat|14159274|57079637|327622764|15931422|0464964749|ntransition|533201|249431|156097|0897001|0503913|0348595|0145688|289226|629639|LumaHistory|LumaMax|LumaMin|nComputeNeighborhoodBoundingbox|HistoryBlur|nsum|ntotalWeight|nneighborhood|nHistory|nHistoryColor|nClipBlend|nRayDir|nOutNeighborMax|nOutNeighborMin|NeighborMaxPlus|NeighborMinPlus|OutNeighborMax|OutNeighborMin|ComputeNeighborhoodBoundingbox|nBlendB|nBlendA|nsampleUV|SHARPEN|74678|66507|20239|97931|94924|31457|79754|60327|12348|99235|92106|38942|nv_texCoord|nv_vMaxAndInverseDistance|nv_uMaxAndInverseDistance|czm_batchTable_uMaxVmax|czm_batchTable_uvMinAndExtents|nv_inversePlaneExtents|nv_southPlane|nv_westPlane|nnorthWard|neastWard|czm_batchTable_eastward|czm_batchTable_northward|czm_batchTable_southWest_LOW|czm_batchTable_southWest_HIGH|nczm_batchTable_eastward_z|nczm_batchTable_eastward_y|nczm_batchTable_eastward_x|nczm_batchTable_northward_z|nczm_batchTable_northward_y|nczm_batchTable_northward_x|czm_batchTable_southWest_HIGH_z|czm_batchTable_southWest_HIGH_y|czm_batchTable_southWest_HIGH_x|czm_batchTable_southWest_LOW_z|czm_batchTable_southWest_LOW_y|czm_batchTable_southWest_LOW_x|nidlSplitNewPlaneHiLow|nidlSplit|czm_batchTable_planes2D_LOW|czm_batchTable_planes2D_HIGH|nczm_batchTable_planes2D_LOW_w|nczm_batchTable_planes2D_LOW_z|nczm_batchTable_planes2D_LOW_y|czm_batchTable_planes2D_LOW_x|nczm_batchTable_planes2D_HIGH_w|nczm_batchTable_planes2D_HIGH_z|nczm_batchTable_planes2D_HIGH_y|czm_batchTable_planes2D_HIGH_x|czm_batchTable_longitudeRotation|czm_batchTable_sphericalExtents|nv_sphericalExtents|nres|nv01|nSMAANeighborhoodBlendingVS|SMAANeighborhoodBlendingVS|unprocessed|nmixed|nCop|nSMAAEdgeDetectionVS|SMAAEdgeDetectionVS|nedges|nmaxDelta|SMAA_USE_COLOR_EDGE_DETECTION|nSMAABlendingWeightCalculationVS|xxyy|nfPixCoord|SMAABlendingWeightCalculationVS|nemissive|nemissiveTexCoord|ninverseRoughness|nroughness|nmetalness|nbaseColorTexCoord|sizeScaling|spriteTexture|nmaxValues|9505|1805|3576|0193|4124|nforwardDirectionEC|nv_texcoordT|nplaneDirection|nabsEndPlaneDistance|nabsStartPlaneDistance|nv_forwardDirectionEC|nposEc3D|nposEc2D|nposRelativeToEye|nposRelativeToEye3D|nposRelativeToEye2D|nv_batchId|nv_SpotPercent|nv_Percent|nv_alpha|nglow|nd1|nv_pixelDistance|nv_innerPercent|nv_cubeMapCoordinates|tex1|tex0|thisFrame|lastFrame|nsinValue|ncosValue|nweightForHalo|nghost|nsunPos|nNDC|6500000|ntexCoordRotate|nvertNorm|nv_height|nv_slope|nv_distance|nv_fogRayleighColor|nv_fogMieColor|nv_normalMC|nheight|getPosition2DMode|npositionFraction|ncurrentLatitude|003068|nspecular|nnoise|ntime|70000|125000|825000|nsunlitAtmosphereIntensity|nellipsoidPosition|nxy||nclippingPlanesEdgeColor|ndiffuseIntensity|nrealNormal|nwaterMaskTextureCoordinates|SHOW_TILE_BOUNDARIES|nexcavateMultiplier|nslopeArrowsAngle|ntextureCoordinates|ninitialWaterParam|nnewPos|nvNormal|nvEyeDir|nvNoiseCoord|nvProjectionCoord|initialWaterParam|nclipPos|nfWindowZ|nposInCamera|worldviewproj_matrix|fRealHeight|texture0_matrix|camera_position_object_space|nnoiseCoord|fReject|alphaReject|ALPHA_REJECT|floodFlagTexture|ScissorTest|realMaxFrenel|nrealMaxFrenel|nrealMinFrenel|ntexel|nofs|28318|nfCoc|ndirt|nbloom|41666|0773993808|0521327014|9478672986|inverseGamma|FilmicTonemapping|u_offset|ninvBi|UpsampleBox|65504|nrq|QuadraticThreshold|DownsampleBox4Tap|lum|ndarkness|nv_outlineWidth|noutlineWidth|temp3|nv_textureCoordinateBounds|nenableDepthCheck|nv_depth|nlabelHorizontalOrigin|napplyTranslate|nmpp|nadjustedST|ntranslation|nlookupVector|nv_bitangentEC|nv_tangentEC|u_center|u_texture1|ZoomIndicator|WebMercatorTilingScheme|VoxelGridLayer3D|trenderTextureCoord4|trenderTextureCoord3|trenderTextureCoord2|trenderTextureCoord1|trenderTextureCoord0|tvexPos|tnewPos|projection_matrix|ViewDomeVp|ViewDomeFp|ViewDome|VertexFormat|kWa|SymbolTrapezoid|StyleExpression|Style3D|StructArrayLayout8ui16|StructArrayLayout4i8|StructArrayLayout4f16|StructArrayLayout3ui6|StructArrayLayout2ui4|StructArrayLayout2i4ub8|StructArrayLayout2i4|StructArrayLayout2f8|StructArrayLayout1ui2|StructArrayLayout1f4|SphereEmitter|SolidProfileFp|SlopeSetting|SkyBox|0005|SightlineAnalysisFp|ShadowType|tgl_PointSize|tvPositionEC|tintensity|tfade|90000|vecTexTileWidth|uv9|POW_8|POW_16|POW_24|S3MTilesSelection|u4f38|u4e0b|u4e0a|u8fdb|u8fd1|u9644|u7684|u59cb|u539f|u53d6|u62fe|uff0c|u4e86|u5b58|u4fdd|S3MTilesRectSelection|EXTEND_OBJECT|vAmbientColor|vSecondTexCoord|S3MRegionEffect|S3MPointCloudEDLFp|S3MGroupLayer|RouteStop|Resource|RequestState|tselectionColor|tmat2|RangeMode|RGBAImage|OVa|QuadtreeTileProvider|QuadtreePrimitive|uLa|ttexCoordPolygon|Primitive|PolylineColorAppearance|PointPrimitive|PointCloud|Point3D|PlottingLayer|Plotting|PlotCollentionLayer|PerspectiveFrustum|PagedLOD|kLa|jLa|PBRMaterialType|OrthographicOffCenterFrustum|OrthographicFrustum|Navigation|tregionHeight|theight|tvTexcoord1|ttexcoord|ModifyRegionBottomVp|5000|Matrix4|MVTImagery|tviewPos1|lWa|KmlTourWait|KmlTourFlyTo|KmlDataSource|JobType|IonImageryProvider|InfoBox|ImageryLayer|ImagePosition|HypsometricSetting|GroupObject|GroundPolylinePrimitive|GregorianDate|GeometryInstanceAttribute|GeographicTilingScheme|tfVertexColor|tvNormal|tvEyeDir|tvNoiseCoord|tvProjectionCoord|tmat4|FillStyle|ExpressionNodeType|yzw|DynamicLayerVertex|v_rttLogZ|Credit|Credential|ConeEmitter|Command|ClippingPlaneCollection|ClipPlaneVp|CircleEmitter|Cartesian2|Camera|BoxEmitter|Billboard|ArcGISTiledElevationTerrainProvider|AlphaImage|paste|cut|createVectorEditBouds|createModeEditBouds|removeListener|addAnnotationArrayPositionPt|DoSelectObjectEdit|addListener|setPlottingLayer|pointRed_Go|pointYellow_Go|pointWhite_Go|computeRotateCircle|computeMoveFill|BoundingBoxCenter|computeScaleLines|ModelEdit|startSCalePtn|rotateStartPosition|initCallBack|intersectionOfRectByPointslopeline|getSaclePtOffset|isMovingCtrlPosition|createAnnotationArrayCtrlPoints|getServerDataFromLocal|xWa|yWa|uWa|vWa|ZEa|WEa|_onDataSourceChanged|_clearObjects|_onInfoBoxClockClicked|_onInfoBoxCameraClicked|pointPick|pickPointInterval|_scratchHoldUrl|enableCursorStyle|setModelMatrix|_destroyDataSourceCollection|_destroyClockViewModel|_vrModeSubscription|_vrSubscription|_fullscreenSubscription|_toolbar|forceResize|_baseLayerPickerDropDown|cesiumLogo|_navigationHelpButton|_navigation|_zoomIndicatorElement|zoomIndicatorElement|_trackContainer|timeJulian|ticSub|smallestTicInPixels|31536E3|31536E4|tWa|come|Dec|Nov|Oct|Sep|Aug|Jul|Jun|May|Apr|Mar|Feb|Jan|345600|172800|21600|14400|7200|1800|1E12|materialColor|LEa|JEa|S3MTilesParser|KEa|selectionIndicatorElement|sWa|_morphToColumbusView|_morphTo3D|_morphTo2D|_switchToOrthographic|switchToOrthographic|_switchToPerspective|switchToPerspective|_unsubscribeNominalFrameRate|_unsubscribeLowFrameRate|_dismissMessage|dismissMessage|_showTouch|showTouch|_showClick|showClick|arrows|tiltbar|IEa|GEa|HEa|FEa|CEa|EEa|DEa|iszoomout|isZoomin|isZoomBarScrolling|afterViewerChanged|orbitCursorAngle|isOrbiting|_closeClicked|_cameraClicked|maxHeightOffset|AEa|_searchCommand|_innerCreditContainer|xEa|_screenSpaceEventHandler|_creditViewport|_pickTileActiveSubscription|_pickPrimitiveActiveSubscription|_filterTileSubscription|_tileBoundingSphereSubscription|_tileCoordinatesSubscription|_suspendUpdatesSubscription|_depthFrustumSubscription|_pickDepthSubscription|_globeDepthSubscription|_wireframeSubscription|_filterPrimitiveSubscription|_primitiveReferenceFrameSubscription|_primitiveBoundingSphereSubscription|_performanceSubscription|_frustumPlanesSubscription|_frustumsSubscription|numberOfShaders|numberOfFrustums|Total|showTileBoundingSphere|doFilterPrimitive|showPrimitiveReferenceFrame|showPrimitiveBoundingSphere|selectSE|selectSW|selectNE|selectNW|selectParent|_pickTile|pickTile|_toggleTerrain|toggleTerrain|_togglePrimitives|togglePrimitives|_toggleGeneral|toggleGeneral|_doFilterTile|_decrementDepthFrustum|decrementDepthFrustum|_incrementDepthFrustum|incrementDepthFrustum|_definedProperties|ctrlKey|selectionEnd|selectionStart|shiftKey|styleEditorKeyPress|trimLoadedTiles|trimTilesCache|toggleOptimization|toggleTileDebugLabels|toggleStyle|toggleLogging|toggleUpdate|toggleDisplay|toggleTileset|toggleInspector|togglePickTileset|rWa|editorError|qWa|colorBlendModes|pickStatisticsText|statisticsText|wEa|_category|_creationCommand|timeFormatter|dateFormatter|_playRealtimeViewModel|playRealtimeViewModel|_playForwardViewModel|playForwardViewModel|_playReverseViewModel|playReverseViewModel|_pauseViewModel|_faster|faster|_slower|slower|setShuttleRingTicks|defaultTimeFormatter|defaultTicks|pWa|defaultDateFormatter|observe|disconnect|723058|0241|00262|13322|animation_pathPointer|455c|092|572c|366s|animation_pathClock|068|318V25|682L24|animation_pathPlayReverse|animation_pathPlay|animation_pathPause|animation_knobInner|animation_knobOuter|CCC|animation_shuttleRingPointerPaused|animation_shuttleRingPointerGradient|animation_shuttleRingSwooshHovered|animation_shuttleRingSwooshGradient|feGaussianBlur|animation_blurred|oWa|nWa|animation_buttonDisabled|animation_buttonToggled|animation_buttonHovered|animation_buttonNormal|_themeSwooshHover|_themeSwoosh|_themePointer|_themeKnob|_themeDisabled|_themeSelect|_themeHover|_themeNormal|_theme|_mouseCallback|setTooltip|setToggled|buttonDisabled|setEnabled|findProperty|createProperty|getSymbolLibManager|analysisSymbolCells|editSmlFileParams|editSmlFile|EditSmlFile|GetSymbolInfoParameters|getServerUrl|Primitives|createAlgo|smlFeatureToGeoGraphicObject|DELETE|openSmlFileOnServer|addSmlFileToLayerOnServer|addSmlFileOnServer|situationMap|SMLTime|SMLAuthor|SMLDepat|SMLSeclevel|SMLDesc|SMLName|getTimezoneOffset|getSeconds|getMinutes|getHours|getDate|getMonth|getFullYear|modifyScalePoint|SYMBOL_SYMBOL_ARBITRARYPOLYGON|plumbLineLen|generateCollisionDebugBuffers|rEa|icons|sheet|shapeIcon|evaluateVariableOffset|allowsLetterSpacing|layoutIconSize|layoutTextSize|textMaxSize|createArrays|verticalizable|positionedGlyphs|getGlyphQuads|zoomAtLastRecencyCheck|zoomAdjustment|markUsedOrientation|placedOrientations|textBoxScale|textOffset|maxGroupID|crossSourceCollisions|getAnchors|getCenterAnchor|removeStaleBuckets|crossTileIDs|addBucket|maxBucketInstanceId|handleWrapJump|generate|maxCrossTileID|gridBottomBoundary|gridRightBoundary|screenBottomBoundary|screenRightBoundary|projectAndGetPerspectiveRatio|projectPoint|projectAnchor|polygonIntersectsPolygon|keysLength|tileDistance|lineOffsetY|lineOffsetX|pitchfactor|_addLineCollisionCircles|collisionPadding|pEa|deleteFramebuffer|depthAttachment|colorAttachment|DepthAttachment|ColorAttachment|bucketLayerIDs|oEa|nEa|queryGeometry|mWa|GridIndex|_queryCell|_insertCell|_insertReadonly|uid|concrete|implemented|renderCircleGeometry_|renderGeometryCollectionGeometry_|renderMultiPolygonGeometry_|renderMultiLineStringGeometry_|renderMultiPointGeometry_|renderPolygonGeometry_|renderLineStringGeometry_|renderPointGeometry_|getGeometryFunction|SIMPLIFY_TOLERANCE|getTolerance|BATCH_CONSTRUCTORS_|overlaps_|pixelRatio_|resolution_|tolerance_|getClipCoords|replayHitDetection|getCircleArray_|hitDetectionContext_|hitDetectionTransform_|getPadding|getBackgroundStroke|getBackgroundFill|defaultTextBaseline|defaultFont|drawChars_|drawTextImage_|SAFARI|measureTextHeight|measureTextWidths|containsKey|getFlatMidpoints|getFlatMidpoint|prune|maxExtent|currentMiterLimit|currentLineWidth|currentLineJoin|currentLineDashOffset|currentLineCap|currentStrokeStyle|currentFillStyle|applyPixelRatio|reverseSubArray|overlaps|coordinateCache_|setFromArray|tmpExtent_|tmpLocalTransform_|getFontFamilies|checkedFonts_|wmytzilWMYTZIL|32px|canExpireCache|getValues|getKeys|getCount|CLEAR|highWaterMark|setTextBaseline|setPlacement|setOffsetY|setOffsetX|setFont|DEFAULT_FILL_COLOR_|asArray|replaceColor_|handleImageLoad_|LOAD|iconImageCache|setMiterLimit|setLineJoin|setLineCap|CanvasGradient|CanvasPattern|createHitDetectionCanvas_|getRadius2|getAngle|radius2|hasListener|createFeature_|readRawFeature_|layers_|setId|transformWithOptions|featureClass_|getGeometryType_|readRawGeometry_|layerName_|featureClass|decimals|readProjection|defaultFeatureProjection|defaultDataProjection|createStyleFunction|handleGeometryChange_|getGeometryName|quantizess|linearRingssAreOriented|interiorpoint|getCoordinateAtM|getsClosestPoint|getsMaxSquaredDelta|createOrUpdateFromCoordinate|getCoordinateAt|getClosestPoint|makeRegular|circular|getLayoutForStride_|tmpTransform_|returnOrUpdate|radialDistance|squaredSegmentDistance|boundingExtentXYs_|getIntersection|extendXY|extendRings|extendFlatCoordinates|fontFamily|isColorLike|HEX_COLOR_RE_|fromNamed|NAMED_COLOR_RE_|fromStringInternal_|uidCounter_|once|mouseout|unlistenAll|bindListener_|ol_uid|findIndex|writeVarintField|writeString|writeBytes|mEa|lEa|kEa|jEa|hEa|gEa|iEa||fEa|eEa|writeRawMessage|55295|writeBoolean|8446744073709552E19|268435455|readSFixed64|readFixed64|readSFixed32|readFixed32|dEa|UQn|iOS|15E3|issues|network|AppleWebKit|CPU|returnEncodedMask|returnMask|CntZImage|endian|formatFileInfo|isValidPixelValue|readHuffman|Huffman|encodeMode|readDataOneSweep|checkMinMaxRanges|constantoffset|bitstuffer|lut|readMask|getOnePixel|getDataTypeUsed|F32|getPixelType|integrity|originalUnstuff|originalUnstuff2|unstuffLUT|unstuffLUT2|numBitsLUT|numBitsLUTQick|bitPos|srcPtr|decodeLut|readHuffmanTree|HUFFMAN_LUT_BITS_MAX|RLE|checksum|computeChecksumFletcher32|defaultNoDataValue|attachToKo|allowedBindings|svgPath|setDomNodeChildren|bindingHandlers|cEa|ko_code|koBindingContext|precompiled|allowTemplateRewriting|_countWaitingForRemove|Anonymous|foreachHidesDestroyed|ignoreTargetNode|preprocessNode|__tr_ambtns|rewriteTemplate|isTemplateRewritten|isRewritten|Override|MSIE|Edge|returnValue|SELECT|applies|optionsText|optionsValue|dataDependency|hasFocus|focusout|focusin|__ko__cssValue|lookupNamespaceURI|koDescendantsComplete|createViewModel|bindingParams|loadViewModel|HTMLElement|loadTemplate|loadComponent|getConfig|present|supply|could|descendantsComplete|bindingContextForDescendants|nMessage|trying|Multiple|getBindingAccessors|bna|they|following|nodeHasBindings|getBindings|Found|jsonExpressionRewriting|_ko_property_writers|_z|_a|toJS|getDependencies|getDependenciesCount|awake|throttleEvaluation|trackArrayChanges|reversed|destroyAll|modified|isWriteableObservable|isObservable|scheduler|foo|memoize|ko_memo|Couldn|innerShiv|parseHTML|optgroup|tfoot|thead|cleanData|cleanExternalData|domData|triggerEvent|submitter|json2|browsers|Some|baseVal|Browser|fireEvent|supplied|compareDocumentPosition|xa0|eval|VDa|WDa|XDa|NDa|QDa|PDa|YDa|TDa|UDa|ODa|_getAverageLoadTime|ter|eva_c|eva_w|eia_c|eia_w|cta_c|cta_w|cva_c|cva_w|ter_c|ter_w|vec_c|vec_w|cia_c|cia_w|img_c|img_w|JDa|HDa|IDa|jWa|iWa|glowFactor|_rsReflect|setDynamicAtmosphereColor|_removeTaskProcessorListenerCallback|_removeRequestListenerCallback|pickRectTexture|postEffectFilter|_removeCreditContainer|collideDetection|createImageData|selectBound|_pickRect|NetCDF|removeVectorTilesMap|getVectorTilesMap|addVectorTileProvider|addVectorTilesMap|addS3MGroupLayer|CDa|systemUGOVersion|ADa|_setup|EDa|BDa|DDa|_this|FDa|vDa|uDa|tDa|rDa|sDa|drillPickFromRayMostDetailed|pickFromRayMostDetailed|drillPickFromRay|pickFromRay|qDa|hWa|getPickID|gWa|fWa|eWa|dWa|_pickTolerance|nDa|oDa|jDa|lDa|kDa|mDa|debugShowFramesPerSecond|bDa|hDa|pDa|gDa|fDa|aDa|15E6|incrementWrap|checkForCameraUpdates|dDa|_updateCameraChanged|destroyReleasedTextures|destroyReleasedShaderPrograms|SCa|ZCa|YCa|WCa|XCa|VCa|TCa|UCa|RCa|iDa|cDa|createCastDerivedCommand|147858|19106|LIGHT_GROUP1|maskEnabled|SILHOUETTE_EDGE|enableOutline|ByKeyboard|_enableOcclude|underGlobe|VerticalTrisection|TRIPLE|QUAD|highDynamicRange|renderError|postUpdate|preUpdate|requestModel|profilePickId|ICa|GCa|imageId|HCa|pausing|cWa|FCa|getOutputFramebuffer|1E11|toPrecision|fractionGroupSeparator|fractionGroupSize|decimalSeparator|groupSeparator|secondaryGroupSize|groupSize|dividedBy|9007199254740992|2097151|ALPHABET|POW_PRECISION|MODULO_MODE|CRYPTO|RANGE|EXPONENTIAL_AT|ROUNDING_MODE|DECIMAL_PLACES|_traverseRenderEntity|hasLight|ECa|zBounds|_opaqueRateChange|Slice|_createUniformMap|_createSliceCommand|_createBillboardCommand|_computePosition|_loadTexture|_loadData|smoke|_vecCenter|_encodeImageData|componentDatatyps|DCa|BCa|CCa|aWa|bWa|VolumeRendering|dxtz|ACa|zCa|yCa|xCa|wCa|isBlock|tileFormat|ZVa|isSci3D|20037508|YVa|oCa|hCa|bounceAnimationTime|createCorrectPositionTween|eCa|PBa|XBa|HBa|minimumTrackBallHeight|minimumPickingTerrainHeight|vCa|uCa|tCa|sCa|rCa|pCa|qCa|nCa|mCa|lCa|iCa|jCa|kCa|gCa|fCa|bCa|dCa|cCa|ZBa|YBa|aCa|RBa|QBa|TBa|SBa|WBa|VBa|UBa|OBa|MBa|LBa|KBa|JBa|IBa|vBa|CBa|BBa|yBa|xBa|wBa|ABa|zBa|tBa|uBa|qBa|FBa|EBa|DBa|sBa|rBa|pBa|GBa|oBa|onComplete|onUpdate|easing|_tweenjs|_easingFunction|_stopObject|_startObject|iBa|jBa|hBa|kBa|lBa|gBa|eBa|cBa|bBa|dBa|aBa|ZAa|YAa|XAa|VAa|TAa|SAa|RAa|QAa|PAa|OAa|NAa|MAa|LAa|UAa|SVa|RVa|QVa|mBa|nBa|WVa|XVa|UVa|VVa|TVa|PVa|fBa|WAa|createClampFrameBuffer|createNormalCommand|createCommandInClampTexture|geoTopRadius|PLANE|copyCommandForSingleModel|createTexCoords|createNormals|_curRow|_curCol|setInputTexture|updateDependencies|createAcesTonemappingStage|createFilmicTonemappingStage|createModifiedReinhardTonemappingStage|createReinhardTonemappingStage|getSMAATexture|smaa|getSearchTexture|VMA8FXWX|toDvL||getAreaTexture|ADDITIVE_BLEND|blendingState|outline_blurQuarter_Y|outline_blurHalf_Y|edgeValue|maskColor|edgeValue2|edgeValue1|visibilityFactor|diff2|diff1|createOutlineStage|LensFlare|createAutoExposureStage|createFXAAStage|createAmbientOcclusionStage|createBloomStage|createEdgeDetectionStage|_inputPreviousStageTexture|selectedId|KAa|HAa|NVa|DAa|CAa|BAa|zAa|AAa|HVa|updateMostDetailedRayPicks|xAa|MVa|LVa|KVa|JVa|IVa|uAa|vAa|qAa|sAa|rAa|tAa|yAa|MAXIMUM_DISTANCE|moveEnd|cameraEventWaitTime|moveStart|pAa|_cameraClone|castShaderProgramId|createShadowCastFragmentShader|createShadowCastVertexShader|getShadowCastShaderKeyword|receiveShaderCastShadows|receiveShaderProgramId|createShadowReceiveFragmentShader|createShadowReceiveVertexShader|getShadowReceiveShaderKeyword|createReceiveDerivedCommand|oAa|wVa|vVa|nAa|debugShow|yVa|_maximumCascadeDistances|zVa|BVa|AVa|EVa|DVa|CVa|GVa|FVa|_fitNearFar|xVa|MAGENTA|shadowMapCullingVolume|Fade|Get|getNormalEC|getPositionEC|czm_shadow_receive_main|findNormalVarying|_idClearColor|uVa|lAa|kAa|executeDebugPickDepth|jAa|tVa|particleSystem|RAIN|FOUNTAIN|setParticleType|_ParticleSystemType|lifetime|maximumImageSize|minimumImageSize|maximumMass|minimumMass|maximumParticleLife|minimumParticleLife|maximumRotationSpeed|minimumRotationSpeed|maximumSpeed|minimumSpeed|emitter|Sphere|executeCommand|hAa|iAa|gAa|contributors|fAa|setOpaqueTexture|executeCommands|_alphaRenderStateCache|sVa|rVa|qVa|eAa|dAa|pVa|oVa|_axes|Improve|copyright|cAa|datasources|DeleteUnusedTextures|GetUnusedSize|_total|executeUnclassified|executeClassified|nVa|mVa|lVa|isTranslucencySupported|_maxIntensity|_minIntensity|drawHeatMap|drawIntensity|bAa|aAa|kVa|_glowColor|_createGridCanvas|Yza|Xza|Wza|imageAlpha|copyrightIds|Vza|hasImagery|copyFromFramebufferToFramebuffer|executeCopyColor|Uza|executeDebugGlobeDepth|removeExcavationRegion|_maxModifyHeight|_minModifyHeight|extrudeOutering|jVa|atmosphereBrightnessShift|atmosphereSaturationShift|atmosphereHueShift|showWaterEffect|computeGlobeBottomLevel|iVa|hVa|gVa|Tza|fVa|flattenTextureWidth|eVa|_imageryLayerCollection|drawSimplePolyline|POLYGON_HOLE|canvasHeight|dVa|cVa|Qza|_updateHeightsTimeSlice|_loadQueueTimeSlice|trimTiles|updateForPick|Rza|createLevelZeroTiles|markStartOfRenderFrame|invalidateAllTiles|occluders|renderVectorBy2DCanvas|createRealtimeRasterFBO|realtimeRasterVectors|needsLoading|bVa|pickImageryLayerFeatures|addGridProvider|aVa|_removeGridFromCache|only_keep_line|clip_behind_all_plane|vertexChange|createExcavationSideTexture|createExcavationBottomTexture|createExcavationDefaultTexture|_excavateRegionFbo|createExcavationRegionTexture|updateExcavateRegionFrameBuffer|updateModifyRegionFrameBuffer|Nza|Mza|WUa|YUa|Lza|_gridLayerAdded|_imageLayerAdded|_onLayerShownOrHidden|_onLayerMoved|UUa|TUa|VUa|XUa|SUa|canRefine|isScaledSpacePointVisiblePossiblyUnderEllipsoid|ZUa|Jza|Iza|_modifyRegionCreated|applyPolygonOffset|hasSlopeAnalysis|hasHypsometricSetting|hasNormalMap|isColor|excavationOuter|excavationRegion|applyModify|applyGlobeSplit|applyGlobeSwipe|actually|globeSplitDirection|hypContourInterval|Kza|maximumTextureImageUnits|updateFillTiles|Oza|Pza|updateSlopeRegionFrameBuffer|Gza|Hza|Fza|Aza|Eza|Dza|Cza|xza|zza|yza|kick|RENDERED_AND_KICKED|wasKicked|_computeNormalTextureTranslationAndScale|indexBuffers|getAttributes|processGridTile|wza|vza|uza|tza|sza|rza|freeVertexArray|RUa|QUa|PUa|UNZIPING|pza|getAttributeLocations|qza|_preUpdateRemoveListener|unpause|_nominalFrameRate|_lowFrameRate|fromScene|screenSpaceErrorFactor|OUa|oza|3149|nza|mza|floodAnalysis3D|waterHeight|beginDraw|drawParticleTrails|_createCanvasFromDataMatrix|_createVectorFieldTexture|_createNormalShaderUniformMap|_createFeedbackShaderUniformMap|_computeTotalParticleCount|_createLocalTextureVertexAttributes|_createGlobalTextureVertexAttributes|_createLocalVertexAttributes|_createGlobalVertexAttributes||KUa|feedbackShaderUniformMap||normalShaderUniformMap|normalShader|feedbackShader|primitiveMode|SEPARATE_ATTRIBS|NUa|LUa|MUa|_createTransformFeedback|_pickUniforms|ONLY_SUN_LIGHTING|ellipsoidPrimitive_vertexArray|_depthTestEnabled|_removeListener|JUa|IUa|czm_nonSelDepthTexture|createMaskCommand|createHdrCommand|_pickRenderStateCache|HUa|FUa|GUa|_depthOnlyRenderStateCache|depthOnly|pick_depth_old_main|createDepthOnlyDerivedCommand|bdiscard|DUa|yUa|xUa|EUa|CUa|BUa|AUa|zUa|_updateOnChange|_glslDatatype|_attributeName|_hideLightbox|_creditList|_delimiter|expanded|_lightboxCredits|showLightbox|addDefaultCredit|_isIon|kza|jza|iza|DefaultGetFeatureInfoFormats|GetFeatureInfoDefaultParameters|styles|DefaultParameters|hza|gza|fza|eza|dza|cza|flipXY|tileformat|Zya|Yya|Xya|Wya|Uya|Vya|wUa|reinitialize|northProjected|eastProjected|southProjected|westProjected|reverseZ|reverseX|Tya|_sampleTerrainMostDetailed|toneMappingEnabledChange|ssaoShowChange|colorCorrectionShowChange|bloomShowChange|SCAN|scanShowChange|getScanFBO|getOutputFBO|toneMappingWhitePoint|getAmbientOcclusionTexture|getBloomColor|getBloomSettings|getDirtTileOffset|getBloomTextureTexelSize|getBloomDirtTexture|getBloomTexture|getScanTexture|getDOFTexture|getTAATexture|_plusWeights|vUa|uUa|updateScanParameters|computeScanLinePt|computeScanLineDir|computeScanPlane|computeDefaultMoveDir|isPrepared|createRandomTexture|_focalLength|4283|imageDisplay|mapExtent|identify|Sya|usingPrecachedTiles|getPointSizeShaderFunction|getShowShaderFunction|getColorShaderFunction|_conditionsExpression|getButtonReleaseTime|getButtonPressTime|isButtonDown|||||||isMoving|sUa|tUa|disableReflection|enableReflection|switchToOrthographicFrustum|switchToPerspectiveFrustum|Oya|oUa|pUa|rUa|qUa|nUa|mUa|kUa|lUa|createTween|jUa|Nya|iUa|hUa|gUa|worldToCameraCoordinatesVector|fUa|distanceToBoundingSphere|eUa|dUa|cUa|bUa|aUa|ZTa|YTa|XTa|WTa|VTa|UTa|TTa|Eya|Gya|Kya|Jya|Lya|Iya|Mya|Hya|Fya|Cya|Bya|Aya|Dya|STa|rotateLeft|zya|yya|xya|rotateUp|RTa|QTa|PTa|OTa|lookUp|lookLeft|moveDown|moveUp|NTa|flyHome|MTa|wya|vya|uya|LTa|KTa|JTa|15E4|ITa|HTa|GTa|_max2Dfrustum|Columbus|_moveEnd|_moveStart|rya|tya|sya|qya|nya|pya|oya|FTa|enableCollisionDetection|_refinePercentageChanged|percentageChanged|_lastMovedTimestamp|canPreloadFlight|DEFAULT_OFFSET|INFINITE_SCROLL|QUINTIC_IN_OUT|CUBIC_OUT|gya|jya|mya|ETa|lya|kya|fya|DTa|cya|_bloomColor|CTa|diffusion|anamorphicRatio|_dirtTexUrl|BTa|quadKeyToTileXY|bya|zoomMax|ATa|maximumLuminance|minimumLuminance|aya|Zxa|zTa|yTa|xTa|_pixelsToCheck|createSpatialQueryCommand|createProfileCommand|geoMat|ambientColor|Yxa|Txa|isDeleted|updateSurfaceMesh|getDataShape|Xxa|Sxa|colorAttr|normalAttr|Qxa|updateModelMatrix|localQuaternion|localTranslation|distanceVisible|Boundingbox|Range|WDescript|GeoBounds|LodType|PyramidSplitType|DataType|Asset|addS3MBTilesLayer|CenterZ|CenterY|CenterX|Files|OSGFiles|strVolumeExt|Vol|MaxZ|MaxY|MaxX|MinZ|MinY|MinX|InstensityRange|S3MB|wTa|_setSQViewPrjMatrix|_volBounds|_minValue|_maxValue|zxa|lightSourceType|WireFrameMode|fillStyleChange|bloomEnableChange|Axa|setClipSection|setPoints|refreshVolume|yxa|xxa|wxa|vxa|uxa|txa|_updateExcavationFrameBuffer|updateOverlayFrameBuffer|updateFlattenFrameBuffer|_createRasterBounds|Bxa|clearModifyRegions|Cxa|Hide|ResetAll|Mxa|removeAllObjectsOperation|Pxa|removeObjsExtendHeight|removeObjsColor|Gxa|getRenderQueueSize|s3MlayerId|shadowDarkness|sxa|indexData|idRange|datasetInfo|keyWord|arraySize|fData|timeVal|_rsClampLineColor|_rsClampColor|createNormalColorRenderState|waterSpeed|_idFieldName|Kxa|enableSwipe|minTransparentAlpha|Oxa|Nxa|textureUVSpeed|Lxa|PBRType|roughTextureUrl|metalTextureUrl|Jxa|enableSplit|Dxa|skeletonSelectedColor|Ixa|Hxa|wireFrameMode|Fxa|horizontalline|bReleaseColor|Exa|_downloadAttributes|DEFAULT_TRANSPARENT_BACK_COLOR_TOLERANCE|DEFAULT_TRANSPARENT_BACK_COLOR|isS3MTileLabels|groupNameBounds|_isJson|_hypMinInstensity|_hypMaxInstensity|_isTransparencyOptimization|rxa|destroyFrameBuffer|getBlurYTexture|getBlurXTexture|getBlurYFrameBuffer|getBlurXFrameBuffer|getFrameBuffer|getDepthTexture|createFrameBuffer|removeRef|addRef|qxa|METAL_PLATE|TITANIUM_SCUFFED|Dash|Outline|DASH|getEffectSetting|Repeat|Offset|Effect|textField|_getMemoryUsageInBytes|_releaseResourceEntity|_updateSceneMode|_getCameraChanged|_processParsingEntities|_processPackRequests|setVisibleIcons|setVisibleLabels|isImageryLoaded|addToHead|moveNodeBefore|_schedule|pxa|loadConfig|_scheduleSkip|_updateRenderQueue|nxa|reloadVolMapping|reloadVol|convertFloatTexture|nPixelSize|ReloadVolumeTexture|convertFloat|3200|parseResultInstance|rangeValue|_initializeRootEntities|scvd|s3md|_dpPromise|mxa|Root_Priority|noExitRuntime|i32|dynCall_vii|dynCall_jiji|dynCall_iiii|dynCall_ii|_memset|_memcpy|_emscripten_replace_memory|vTa|uTa|tTa|sTa|rTa|qTa|pTa|oTa|nTa|mTa|lTa|kTa|emscripten_realloc_buffer|higher|OOM|enlarge|536870912|SYSCALLS_REQUIRE_FILESYSTEM|streams|operate|getStreamFromFD|5257984|fTa|__table_base|__memory_base|anyfunc|iTa|createPreloadedFile|createDataFile|force|included|preloadedAudios|preloadedImages|bTa|aTa|Runtime|1668509029|16le|rem|f64|dTa|compiled|filePackagePrefixURL|cdInitializerPrefixURL|pthreadMainPrefixURL|memoryInitializerPrefixURL|environment|setWindowTitle|readAsync|Emscripten|unhandledRejection|uncaughtException|readFileSync|__dirname|jTa|Assertion|hTa|unicode|encountered|third|gTa|extraStackTrace|HEAPF64|HEAPU32|HEAPU16|HEAP32|HEAP16|HEAP8|2310721022|34821223|eTa|fetching|sync|cTa|asm2wasm|env|wrong|got|terminated|ExitStatus|Running|traverse|setEmptyTreeFlag|DracoInt32Array|num_points|error_msg|GetEncodedGeometryType|Init|DecoderBuffer|SkipAttributeTransform|Decoder|POINT_CLOUD|Draco|volbuffer|lxa|ZSa|USa|SSa|TSa|3088|OSa|RSa|VSa|NSa|MSa|YSa|QSa|XSa|WSa|PSa|maxBloomHeight|isJsonScp|instanceSkeletonMatrix|rangeList|ptIndexGroup|_layerConfig|kxa|removeImageryFromCache|jxa|_reprojectTexture||imageryLayerNonMipmapSamplers|imageryLayerMipmapSamplers|maximumTextureFilterAnisotropy|_createTextureWebGL|obtain|exa|gxa|LSa|hxa|ixa|DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD|DEFAULT_MAGNIFICATION_FILTER|DEFAULT_MINIFICATION_FILTER|DEFAULT_TRANSPARENTBACKCOLORTOLERANCE|DEFAULT_TRANSPARENTBACKCOLOR|setHighLight|dxa|cxa|bxa|getAllLayersToRender|_findHighLightFeature|_serializeLayers|fire|addRepaintTask|_updateWorkerLayers|listImages|updateTransitions|addDash|updateImage|dispatchRenderCallbacks|_updatePatternAtlas|getAllImages|styleimagemissing|_validateContent|_styleExpression|JSa|hasOverride|_setPaintOverrides|KSa|polygonIntersectsBufferedMultiLine|lineProgress|_updateGradient|ISa|clipEnd|flipbevel|HSa|122880|GSa|mapbox_clip_end|mapbox_clip_start|addLine|polygonIntersectsMultiPolygon|FSa|ESa|DataDrivenProperty|polygonIntersectsBufferedPoint|Zwa|DSa|CSa|paint_background|FFFFFF|illumination|paint_hillshade|paint_raster|overridable|lime|royalblue|paint_heatmap|lineMetrics|resolved|downcase|upcase|log10|ln2|function_stop|categorical|layout_hillshade|layout_raster|Sans|tokens|layout_heatmap|layout_background|source_image|source_video|source_geojson|source_raster_dem|source_raster|source_vector|_crossfadeParameters|setTransition|iPod|iPhone|iPad|isWorker|bindAll|89ab|validateUuid|018|100000000000|8000|4000|10000000|BSa|uniqueId|asyncAll|easeCubicInOut|Ywa|normalizePropertyExpression|createDynamic|indexed|emptyProgramConfiguration|pixelsToTileUnits|depthRangeFor3D|showOverdrawInspector|getVisibleCoordinates|glyphManager|renderOneTile|opaquePassEnabledForLayer|alphaBlended|unblended|tileExtentSegments|tileExtentBuffer|clipping|viewportSegments|viewportBuffer|stencilClearMode|getUniforms|getPaintVertexBuffers|supportsPropertyExpression|supportsInterpolation|depthFail|setCullFace|renderbufferStorage|setDirty|OES_texture_half_float_linear|extTextureFilterAnisotropic|WEBKIT_EXT_texture_filter_anisotropic|EXT_texture_filter_anisotropic|PixelStoreUnpackFlipY|PixelStoreUnpackPremultiplyAlpha|PixelStoreUnpack|BindVertexArrayOES|BindVertexArray|BindElementBuffer|BindVertexBuffer|BindTexture|BindRenderbuffer|BindFramebuffer|Viewport|ActiveTextureUnit|FrontFace|CullFaceSide|BlendColor|BlendFunc|DepthFunc|DepthTest|DepthRange|StencilTest|StencilOp|StencilFunc|StencilMask|DepthMask|ColorMask|ClearStencil|ClearDepth|ClearColor|OES_vertex_array_object|framebufferRenderbuffer|framebufferTexture2D|bindVertexArrayOES|ASa|Int32|Int8|backgroundPatternUniforms|backgroundPattern|backgroundUniforms|symbolTextAndIconUniforms|symbolTextAndIcon|symbolSDFUniforms|symbolSDF|symbolIconUniforms|symbolIcon|lineSDFUniforms|linePatternUniforms|lineGradientUniforms|lineUniforms|clippingMaskUniforms|circleUniforms|fillOutlinePatternUniforms|fillOutlineUniforms|fillPatternUniforms|fillUniforms|binderUniforms|getActiveUniform|getAttribLocation|getActiveAttrib|linkProgram|bindAttribLocation|isContextLost|createProgram|zSa|ySa|xSa|wSa|vSa|uSa|tSa|sSa|rSa|qSa|pSa|oSa|nSa|mSa|lSa|kSa|jSa|iSa|hSa|collisionBox|gSa|fSa|eSa|dSa|cSa|bSa|aSa|is_sdf|measure|short|respect|dividing|around|isn|multiplying|upperZoomStop|lowerZoomStop|vary|contents|tex_icon|a_minFontScale|symbol_sdf|comments|u_tl_parent|u_scale_parent|u_buffer_scale|preserve|u_low_vec|u_high_vec|u_contrast_factor|u_saturation_factor|average|u_fade_t|u_image1|u_image0|pos_b|pos_a|y_b|x_b|y_a|x_a|outside|half|MAX_LINE_DISTANCE|accent_color|u_highlight|u_shadow|u_accent|eases|hillshading|azimuthal|accept|arbitrary|2562|works|u_unpack|elevation|calculates|multiplies|statement|branching|avoids|16383|u_height_factor|edgedistance|mixedColor|colorvalue|ambientlight|Relative|room|distance_to_edge|u_overscale_factor|showing|hide|Red|u_color_ramp|produce|unscaled_extrude||determine|3989422804014327|coefficient|adjust|tile_units_to_pixels|maxColor|minColor|needed|intOpacity|single|deleteVertexArrayOES|currentNumAttributes|boundDynamicVertexBuffer2|createVertexArrayOES|createVertexArray|freshBind|symbolSDFUniformValues|symbolIconUniformValues|Xwa|fillOutlinePatternUniformValues|fillOutlineUniformValues|Wwa|lineSDFUniformValues|linePatternUniformValues|lineGradientUniformValues|ZRa|circleUniformValues|YRa|uniform2f|uniform1f|ReadWrite|_getPolygonGeometryAsLine|getFeatureGeometry|requestPickFeatures|_pickPixelTolerance|innerGeoCoordinates|Vwa|idBlob|colorBlob|simplifyTolerance|Uwa|Twa|setPickStyleInFeature|miss|createFillPatternForStyle|getIDColorStyle|renderIDtoTexture|setIconImageForStyle|getTextStyle|hasTextStyle|filterArray|_useOffscreen|XRa|WRa|filterCompareValue|filterFieldName|filterOperator|parseLayerFilter|symbolTextureRepeat|symbolColor|symbolTextureUrl|getVertexOffset|getRenderBatchKey|imageRepeatY|imageRepeatX|VRa|URa|Swa|pushCommandsForSpatialQueryBuffer|pushCommandsForPickRectBuffer|Rwa|containsLabel|imageReady|isNoExistAllLabels|updateLabels|prepareLabels|createPickRectCommand|s3mbuffer|removeTexture|enableCategoryVisible|enableClipFilt|enableTriangleFiltrate|enableTextureMove|emissionTextureChange|PBRMaterialTypeChange|wireFrameModeChange|swipeStateChange|splitDirectionChange|mixColorTypeChange|selectColorTypeChange|hasLightChange|disableHypsometric|enableHypsometric|disableFlatten|enableOverlay|enableFlatten|disableExcavation|enableExcavation|enableAdjustColor|disableAjustTransparentBackColor|enableAjustTransparentBackColor|createPostEffectCommand|createNormalAndDepthCommand|cloneSelectCommand|TRa|createTrangleWireFrameCommand|createQuadWireFrameCommand|createWireFrameCommand|ModelEdge_|createEdgeBuffer|createEdgeCommand|createStencilCommandForClampLayer|createUniformMapsForCompressAttributes|createUniformMapsForRaster|createUniformMapsForPointCloud|createUniformMapsForRegionEffect|createUniformMapsForPolylineEffect|createUniformMapsForVolObj|createUniformMapsForOverlay|createUniformMapsForHorizontalLine|createUniformMapsForPBR|createUniformMapsForCategory|createUniformMapsForHypsometricSetting|createUniformMapsForFlatten|createUniformMapsForTransparentBackColor|createUniformMapsForShadowDarkness|createUniformMapsForAdjustColor|createUniformMapsForMaterial|createUniformMapsForClampLayer|createShaderProgram|isInstanceModel|hasVertexColor|hasInstanceSkeletonMatrix|SRa|createClampColorCommand|createWireframeIndexBuffer|createWaterUniform|createWaterShaderProgram|createWater|createUniformMapsForWater|initLayerSetting|createAllCommands|RRa|pushCommandsForFrameBuffer|Quad|pushClampCommands|isTransparent|pushCommandsForClampFrameBuffer|pushCommandsForPostEffectFrameBuffer|pushCommandsForNormalAndDepthFrameBuffer|updateBillboardsBounds|pointToWindowCoordinates|_localVertices|createClampGroundBounds|createBoundingBoxForInstance|S3M4|createSelectionMap|addVertexOffset|normalRangeConstant|texture3D|noValueColor|PolylineFp_|PolylineVp_|S3MTilesCommonOntTextureFP_|S3MTilesBillboardPixelSizeVp_|InstanceS3MB|S3MTilesFragment_|SELECTION|createColorCommand|pointCounts|getSkeleton|Owa|Nwa|PARSFAILED|LOADFAILED|filterDistance|updateTiles|QRa|updateBoundingVolume|updateDrawCommand|getHeightRange|Mwa|updateOffsetPosition|ORa|_velocityOrientation|PRa|getCullEnabled|Iwa|enableLocalOffset|updateInterval|transcodeCRNToDXT|draco_wasm_wrapper|reservedMemorySize|updateTexture|UseTexture|encNONE|enrPVRTPF_ETC1|enrPVRTPF_PVRTC_4bpp|enrPVRTPF_PVRTC|enrPVRTPF_PVRTC2|etc1Ext|pvrtcExt|dxtExt|init3DTexture|initTexture|_setMultiViewShedNames|NRa|4228250625|Hwa|Gwa|setDistDirByPoint|hintLineColor|hiddenAreaColor|visibleAreaColor|verticalFov|horizontalFov|Ewa|Fwa|MRa|ALLDOME|_createIndexBuffer|_addAttribute|TRANSFORM_FEEDBACK_BUFFER|_bindVBOToVertexAttribute|_feedbackShaderUniformMap|TRANSFORM_FEEDBACK|_drawTransformFeedback|_normalShaderUniformMap|pointColor|Dwa|Cwa|sqDisjoinTexture|sqResultTexture|isGeometryDirty|getSkyline3D|drawingBufferYArr|drawingBufferXArr|getSkyline2D|skylineCamera|getObjectIds|Bwa|Awa|removeAllTargetPoint|sightlineCamera|ywa|xwa|zwa|getShadowRadio|wwa|vwa|RASTER|LRa|KRa|uwa|twa|_getPositionsFunc|swa|outrange|fromDegreesArray|rwa|createPickRectFramebuffer|createPostEffectFilterlFramebuffer|createNormalFramebuffer|createReflectFramebuffer|viewportQuad_vertexArray|numberOfColorAttachments|readState|glDrawArraysInstanced|glDrawElementsInstanced|Instanced|JRa|IRa|nwa|_originalGLContext|pwa|_drawBuffers|_instancedArrays|_vertexArrayObject|vertexArrayObject|_etc1|_pvrtc|_s3tc|_textureHalfFloatLinear|_textureHalfFloat|_floatTexSixPlaces|_textureFloat|_elementIndexUint|_blendMinmax|_floatBlend|_antialias|_oriUseLogDepth|mwa|lwa|kwa|jwa|iwa|hwa|gwa|updateLightSource|GRa|HRa|FRa|computeSunPositionInEarthInertialFrame|combineUniformValue|_oneOverLog2FarDepthFromNearPlusOne|TAAEnable|orthographicIn3D|specularEnvironmentMapsDimensions|geometricToleranceOverMeter|fogDensity|temeToPseudoFixedMatrix|encodedCameraPositionMCLow|encodedCameraPositionMCHigh|lightColorHdr|moonDirectionEC|sunDirectionEC|eyeHeight2D|oneOverLog2FarDepthFromNearPlusOne|farDepthFromNearPlusOne|entireFrustum|inverseNormal3D|inverseNormal|normal3D|modelViewInfiniteProjection|modelViewProjectionRelativeToEye|infiniteProjection|inverseViewRotation3D|inverseViewRotation|_inverseTransposeModel|inverseTransposeModel|viewportOrthographic|addTexture|releaseShaderProgram|replaceShaderProgram|fwa|_frustumCommandsList|ERa|DRa|_getRenderbuffer|_getArray|_getFloatPixelType|CRa|_openEvoFileFailed|_openEvoFileCompleted|_saveEvoFileFailed|_saveEvoFileCompleted|createGOAnimation|goLayerUuid|findGOAnimationByFeature|createGOAnimationByType|setScene|setGOFeature|pointIsRightToVerticle|OperateCtrlPts|_execute_CurveEight|_execute_Polybezier|_execute_ParallelLine|_execute_Ellipse|_execute_RegularPloygon|_execute_Circle|_execute_Rect|_execute_1002|25200|2004|_executeAnimation|_timeSpace|lastScale|executeSurroundLineWidthAnimation|executeSurroundLineColorAnimation|executeLineWidthAnimation|executeLineColorAnimation|setWayPoints|getPtsIndexByDistance|createPathLine|_currentPt|_makePath|ToEulerAnglesXYZ|modifyAnimationFollowPath|executeHaveEffect|executeNoEffect|Blink_Number|Replace_NoColor|Blink_Frequency|removeFeatures|removeAnimationFeature|symbolTexts|lastExecute|innerStartTime|animationGOFeature|animationState|createAnimationGOFeature|ewa|getFeaturesFromGroupObject|createSymbol|copySymbolStyle|updateEditCtrl|resetBillboard|drawDotSymbolVector|_modelColor|_imagePicture|drawDotSymbolPicture|minExtendWallHeight|maxExtendWallHeight|potions|getTextBoundPts|createText|createTrigonFillGeomterys|Resolve|createFillGeomtery|getSpaceDistanceByCartesian|_oldSymbolSize|computerScale|getMax_Y|drawText2|drawtextContent|drawPolyline|drawPicture|createRadialGradient|drawGradient|canvasXNoText|computeCanvasSize|generateKidneyShapePts|setCorridorlineInstances|setWallInstances|setPolygonFillInstances|removeAllAlgoLabel|bIsSurroundLine|createCorridorLineGeometry|createExtendWall|addAlgoLabel|1022|1019|setAlgoDefaultValue|isAllPointsHaveZ|SURROUNDLINE_OUT|SURROUNDLINE_ALL|shapePts|isCanFill|minEditPts|maxEditPts|subSymbolDefaultPixelSize|isInitializeOK|getSymbolLibID|getLibInfo|initializeSymbolLib|getLibIDs|getJSON|loadLocalLib|SYMBOL_GROUP|getRootSymbolIconUrl|getRootSymbolInfo|cloneObject|cachedSymbolOK|initNeedCacheList|eventListeners|TestInTriangle|IsClockwise|1011|innerOutlineDir|reNormalizeKidneyCtrlPoints|generateBezierPtsWithScalePts|calcKidneyShapePts|getPointsByTriangle|generateTrianglePoints|innerAngle|intersectLineSegs|isCross|clearSamePtsXY|createPolylineCollention|dwa|bIsUpdateDepthTestDis|createWallPrimitive|createPolygonFillPrimitive|_aboveGround|GRAPHICOBJECT|addComponents|SYMBOL_NODECHAIN|concentricCircle|curveEight|runway|regularPolygon|brace|kidney|sector|chord|closedBesselCurve|trapezoid|polyLine|setSymbolName|algoDepthTest|hasDragLine|updateSubSize|surroundLineWidth3D|positionOffset|rotate3D|surroundLineWidth2D|scaleByMap|readStyleFromSymbolLib|SongTi|_divByPoint|_multByPoint|_sub|angleWithSep|setBuckets|repaint|transferableObjects|param|BRa|createExpression|yRa|ARa|zRa|wRa|vRa|xRa|resolvedLocale|isSupportedScript|LN10|_evaluate|isGlobalPropertyConstant|isStateConstant|isFeatureConstant|parseColor|uRa|premultiply|backgroundImage|Wva|MAX_GLYPHS|leftJustifiedTextSymbolIndex|centerJustifiedTextSymbolIndex|rightJustifiedTextSymbolIndex|featureSortOrder|getSortedSymbolIndexes|sortFeaturesByY|numGlyphs|iconCollisionCircle|textCollisionCircle|iconCollisionBox|textCollisionBox|_deserializeCollisionBoxesForSymbol|collisionArrays|signedDistanceFromAnchor|textFeatureIndex|addCollisionDebugVertices|addToLineVertexArray|calculateGlyphDependencies|sRa|Vva|factory|sourceID|collisionVertexBuffer|collisionVertexAttributes|dynamicLayoutVertexBuffer|tRa|opacityVertexArray|dynamicLayoutAttributes|symbolLayoutAttributes|2303|stringContainsRTLText|Hexagram|Yijing|Vertical|Variants|Form|Small|65519|Fullwidth|Halfwidth|Phonetic|Kangxi|Kanbun|Characters|Ideographic|Hiragana|Months|Letters|Strokes|65103|65279|63743|55216|44032|43360|9728|9216|8303|General|4607|maxSize|minSize|layoutSize|upperSize|lowerSize|verticalizePunctuation|fromFeature|getNextImageSectionCharCode|forImage|addImageSection|forText|addTextSection|horizontalOnly|MAX_VERTEX_ARRAY_LENGTH|crossFadingFactor|Uva|unregistered|klass|reserved|LessThanOrEqual|GreaterThanOrEqual|LessThan|GreaterThan|NotEquals|Equals|boundExpression|ascending|strictly|arranged|rRa|NumberFormat|qRa|branch|pRa|oRa|mRa||nRa|lRa|jRa|iRa|hRa||gRa|kRa|Tva|Sva|cRa|fRa|eRa|dRa|bRa|ZQa|aRa|YQa|WQa|XQa|containing|VQa|UQa|TQa|SQa|RQa|Rva|pink|orange|navy|gold|azure|iconPositions|createPlaceholder|Qva|angleCos|resetChange|updateVisiblities|computeArea|Ova|Pva|_currentDis|_accumulationDis|clampMode|_measureEvt|referenceAddPoint_|referencePoint_|Nva|Mva|Lva|referencePointColor|editPointColor|referencePoint|VIOLET|OQa|QQa|PQa|movingEvt|firstPoint|Kva|Jva|_drawEvt|17956|geoRadius|getPart|||addPart|||GEOPOINT3D|GEOLINE3D|geoBottomRadius|GEOCIRCLE3D|geoWidth|InsertTwoPoints|lineEntity|addRoute|setStopVisible|setLineVisible|totalDuration|distanceToNext|endPause|Directly|Smoothly|vtime|v_time|NQa|MQa|_DeferredLoading|31556900|Cva|Bva|yva|xva|LQa|Location|MultiGeometry|innerBoundaryIs|_pop|_giveUpTime|processingData|addPromise|addNodes|entry|treating|aren|LatLonBox|GroundOverlay|refrehMode|minRefreshPeriod|httpQuery|viewFormat|BBOX|styleEntity|Folder|wva|detectFromFilename|wmv|wav|rtf|rss|rdf|quicktime|postscript|powerpoint||||pdf||ogg||mov|mathml|jnlp|java|microsoft|gzip|gif|flv|dvi|doc|csv|bmp|getCameraOptions|tourEnd|tourStart|Phone|Mention|Hashtag|Email|getTagBuilder|getMatchers|buildTag|createMatchReturnVal|setOffset|parseText|tld|removeUnwantedMatches|compactMatches|onDoctype|onComment|onCloseTag|quot|onText|onOpenTag|normalizeTruncateCfg|normalizeStripPrefixCfg|normalizeUrlsCfg|cfg|matcherRegexes|matchHasInvalidCharAfterTld|matchHasUnbalancedClosingParen|wordCharRegExp|u2713|ipRegex|hasWordCharAfterProtocolRegex|uriSchemeRegex|urlMatchDoesNotHaveAtLeastOneWordChar|urlMatchDoesNotHaveProtocolOrDot|isValidUriScheme|containsMultipleDots|isValidIpAddress|strictTldRegex|||localPartCharRegex|u9999|u901a||u6784|u65b0|u653f|u624b|u96fb|u5609|u53f0|u516c|u4fe1|ub2f7|u0433|u30eb|u30fc|u30c8|u0928|u092e|u0635|u0637|u0561|u0443|u0434|mtr|bar|u30f3|u30b0|u09a4|u09ad|u0439|u0438|menu|meet|bing|band|u0647|u0632|swiss|smart|paris|u0b95|u0b99|u0b87|madrid|u0bbf|organic|brussels|stockholm|u0baa|international|verm|u2000|__jsduckDummyDocProp|removePercentEncoding|removeTrailingSlash||protocolRelativeRegex|stripProtocolRelativePrefix|wwwPrefixRegex||||stripWwwPrefix|schemePrefixRegex|stripSchemePrefix|getUrl|getPhoneNumber|mailto|doTruncate|processAnchorText|createCssClass|createAttrs|innerHtml|buildAttrsStr|getInnerHtml|getTagName|getInnerHTML|setInnerHTML|setAttr|doctype|lva|jva|hva|medium|kva|ROYALBLUE|def|ogc|urn|maybeSet|hashmap|idManager|_createState|_modelCallback|toBlob|texture_|KQa|createWriter|createReader|TextWriter|Data64URIWriter|BlobWriter|TextReader|3988292384|1347093766|headerArray|1347092738|lastModDate|escape|getEntries|compressionMethod|uncompressedSize|65024|lastModDateRaw|u00b3|u00b7|u00b8|u00be|u00fd|u00f5||u00ce|u00ca||u00a4|u00e3|u00a5|||u00a2|u00c2|u00a1|u00ac|u00f1|u00d7|u00f9|u00fb|u00f6|u00c4|u00ee|u00ef|u00ea|u00fc|flush|btoa|msSlice|mozSlice|webkitSlice|GRAVITATIONALPARAMETER|_lastCartesian|JQa|3500|defaultOffset3D|IQa|EmissionColor|_onDataSourceMoved|_visualizersCallback|defaultVisualizersCallback|dva|GQa|HQa|FQa|zQa|EQa|DQa|CQa|BQa|AQa|_entitySubscription|_supportsPolylinesOnTerrain|yQa|xQa|_trailTime|_leadTime|wQa|getNode|originalNodeMatrixHash|_nodeTransformations|addAll|_runAnimations|uQa|_clampAnimations|_colorBlendAmount|tQa||_colorBlendMode||sQa||_silhouetteSize||rQa|qQa|pQa|vQa|oQa|nQa|mQa|lQa|dQa|cQa|jQa|aQa|kQa|iQa|ZPa|hQa|YPa|gQa|XPa|fQa|WPa|VPa|getLabel|bQa|eQa|onTerrain|_removeEntitySubscription|UPa|TPa|RPa|SPa|QPa|usingSphericalTextureCoordinates|OPa|PPa|MPa|NPa|LPa|JPa|IPa|GPa|HPa|KPa|TEXTUREDMODEL|FPa|EPa|CPa|DPa|BPa|APa|zPa|yPa|Tua|Uua||Vua|Qua|||Pua|Rua|Sua|xPa|wPa|vPa|tPa|uPa|_dataSourceMoved|_processCzml|Kua|Eua|Gua|rotationMatrixFromPositionVelocity|sPa|rPa|qPa|pPa|oPa|_inputOrder|_packedInterpolationLength|_yTable|sourceArray|resolvedProperty|targetPropertyNames|targetId|nPa|mPa|lPa|kPa|jPa|hPa|iPa|gPa|fPa|ePa|clusterPoints|clusterLabels|clusterBillboards|clusterEvent|minimumClusterSize|zua|Cua|Bua|Aua|yua|dPa|aPa|cPa|bPa|maximumAliasedPointSize|_updatePointPrimitive|DISABLE_DEPTH_DISTANCE_INDEX|DISTANCE_DISPLAY_CONDITION_INDEX|PIXEL_SIZE_INDEX|OUTLINE_WIDTH_INDEX|OUTLINE_COLOR_INDEX|ZOa||YOa||UOa|TOa|SOa||VOa|XOa|WOa|geometryExtrudedHeightReference|geometryHeightReference|ROa|geometryZIndex|uua|tua|_computeMatrix|POINT3D|QOa|POa|OOa|Checkerboard|sua|NOa|incrementSelectionCounts|tileVisible|oua|pua|contentReadyPromise|nua|contentReadyToProcessPromise|requestContent|mua|resetMinimumMaximum|getPassOptions|qua|dynamicScreenSpaceErrorHeightFalloff|MOa|LOa|IOa|KOa|JOa|unloadTiles|rua|checkChildrenWithinParent|_cullWithChildrenBounds|makeDirty|isCesium3DTileset|incrementLoadCounts|HOa|updatePriority|GOa|FOa|insideViewerRequestVolume|EOa|distanceToTileCenter|distanceToTile|computeVisibilityWithPlaneMask|unloadContent|vctr||kua|_serverKey||lua|updateExpiration||MASK_INDETERMINATE|commandsLength||contentFailed|gua|jua|iua|hua|DOa|COa|BOa|AOa|eua|dua|fua|SHADOW|NOT_COMPUTED|pnts|Zta|zOa|yOa|Vta|Wta|Xta|Rta|xOa|wOa|vOa|uOa|tOa|sOa|Tta|Sta||restFillColor|Pta|Ota|setLabelVisible|_totalGlyphCount|rOa|Kta|Nta|Lta|strokeColor|_glyphTextureCache|pOa|ID_WHITE_PIXEL|splitGraphemes|qOa|Mta|labelCollection|enableRightToLeftDetection|Jta|oOa|setBillboardStyle|setBillboardImage|setBillboardVisible|Ita|_compiledSDF|_ignoreShow|nOa|jOa|iOa|dOa|fOa|eOa|gOa|hOa|Gta|kOa|Eta|Fta|lOa|mOa|Hta|SDF_INDEX|TEXTURE_COORDINATE_BOUNDS|PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX|ALIGNED_AXIS_INDEX|ROTATION_INDEX|IMAGE_INDEX_INDEX|SCALE_INDEX|VERTICAL_ORIGIN_INDEX|HORIZONTAL_ORIGIN_INDEX|EYE_OFFSET_INDEX|PIXEL_OFFSET_INDEX|Dta|indexDataType|texcoords|_updateIndex|getByID|subRegion|addSubRegion|Ata|setImageSubRegion|cOa|bOa|aOa|XNa|WNa|VNa|UNa|TNa|SNa|ZNa|YNa|RNa|QNa|PNa|ONa|NNa|MNa|offsetInVertices|_appendAttributes|_precreated|vertexSizeInComponentType|LNa|_appendWriters|_resize|_createArrayViews|_vertexSizeInBytes|_verifyAttributes|KNa|uta|tta|rta|JNa|INa|HNa|GNa|FNa|setRandomNumberSeed|sta|pta|qta|ota|DECODING|hta|gta|lta|kta|eta|fta|ENa|expandBoundingSphere|Ssa|Tsa|Usa|packedSphereLength|packedEllipsoidLength|packedCylinderLength|packedBoxLength|gltf_blend_main|_modifyShaderForColor|_getClippingFunction|destroyCachedDataForModel|Msa|Gsa|Esa|Dsa|Csa|Bsa|Asa|zsa|xsa|Hsa|Isa|Jsa|_keepPipelineExtras|cacheDataForModel|decodeModel|Sra|Ura|Tra|Pra|Ora|Nra|Kra|Lra|Ira|_addBatchIdToGeneratedShaders|updateForwardAxis|Jra|supportsWebPSync|Lsa|Ksa|Fsa|ysa|msa|PROJECTIONINVERSE|VIEWINVERSE|VIEW|dsa|Rra|Qra|DNa|_releaseGltfJson|Fra|Hra|Gra|BNa|yNa|CNa|zNa|ANa|setMatrix|_originalMatrix|_runtimeNode|optimized|Era|_raiseStopEvent|_raiseUpdateEvent|channelEvaluators|_raiseStartEvent|_runtimeAnimation|_reverse|getSkinInverseBindMatrices|getAnimationSpline|Dra|Cra|decodePointCloud|_maxDecodingConcurrency|getColorBlend|getTextureResolution|xNa|wNa|Ara|Bra|planeAdded|yra|vra|ura|zra|vNa|tra|sra|rNa|qNa|pNa|tNa|sNa|uNa|tiles3d_tileset_time|_evaluateToString|_evaluateRegExpExec|_evaluateRegExpNotMatch|_evaluateRegExpMatch|_evaluateRegExpTest|_evaluateRegExp|_evaluateStringConversion|_evaluateNumberConversion|_evaluateBooleanConversion|_evaluateGetExactClassName|_evaluateIsClass|_evaluateIsExactClass|_evaluateIsFinite|_evaluateNaN|_evaluateConditional|_evaluateNotEqualsStrict|_evaluateEqualsStrict|_evaluateMod|_evaluateDivide|vectors|_evaluateTimes|_evaluateMinus|_evaluatePlus|_evaluateAnd|_evaluateOr|_evaluateGreaterThanOrEquals|_evaluateGreaterThan|_evaluateLessThanOrEquals|_evaluateLessThan|_evaluatePositive|_evaluateNegative|_evaluateNot|_evaluateArray|_evaluateMemberBrackets|_evaluateMemberDot|_evaluateVariable|_evaluateVariableString|_evaluateLiteralString|getArray|_evaluateLiteralVector|_evaluateLiteralColor|_evaluateLiteral|hra|gra|rra|_expression|Identifier|UnaryExpression|ArrayExpression|CallExpression|alternate|consequent|ConditionalExpression|BinaryExpression|LogicalExpression|oNa|decodeMatrix|_normConstant|_rangeConstant|createUniformsForDracoQuantizedAttributes|_textureId|toClipCoordinatesGLSL|gltf_decoded_|modifyShaderForDracoQuantizedAttributes|supportedExtensions|KHR_materials_unlit|nNa|mNa|lNa|kNa|jNa|finishedTextureCreation|finishedPendingBufferLoads|WEIGHT|JOINT|Sqa|Tqa|iNa|Nqa|Uqa|Rqa|Qqa|Pqa|Oqa|Zqa|Xqa|Wqa|Vqa|Mqa|Lqa|Yqa|instanceSkin|skinJoint|Kqa|Jqa|Iqa|Hqa|accessorContainingIndexData|getPickColor|getShow|Fqa|Dqa|getClassificationFragmentShaderCallback|Cqa|Bqa|Aqa|zqa|xqa|yqa|wqa|setAllShow|hNa|gNa|getBinaryProperties|vqa|uqa|tqa|fNa|eNa|_cartographicPosition|setCallback|geometryOutlines|dNa|cNa|bNa|aNa|YMa|ZMa|XMa|supportsPolylinesOnTerrain|supportsMaterials|WMa|removeProperty|rqa|returned|GroundPolylinePrimitives|_renderStateMorph|_renderState3DTiles|MorphColor|setProjectionAndEllipsoid|getSphericalExtentGeometryInstanceAttributes|getPlanarTextureCoordinateAttributes|pqa|extrudeHeight|oqa|nqa|mqa|lqa|kqa|jqa|ClassificationPrimitives|Materials|2dPick|_updatePickColorAttribute|createPickVertexShaderSource|VMa|hasAttributesForTextureCoordinatePlanes|hasAttributesForSphericalExtents|MAX_WIDTH_FOR_PLANAR_EXTENTS|eastward_z|northward_z|eastward_y|northward_y|eastward_x|northward_x|southWest_LOW_z|southWest_HIGH_z|southWest_LOW_y|southWest_HIGH_y|southWest_LOW_x|southWest_HIGH_x|eastward|northward|southWest_LOW|southWest_HIGH|iqa|UMa|SMa|RMa|TMa|hqa|gqa|fqa|eqa|cqa|bqa|dqa|Zpa|Ypa|processWideOutline|Xpa|Wpa|Vpa|center2DLow|center2DHigh|center3DLow|center3DHigh|Spa|czm_batchTable_offset2D|czm_batchTable_boundingSphereRadius|czm_batchTable_boundingSphereCenter2DLow|czm_batchTable_boundingSphereCenter2DHigh|czm_batchTable_boundingSphereCenter3DLow|czm_batchTable_boundingSphereCenter3DHigh|czm_batchTable_|Upa|Tpa|czm_non_distanceDisplayCondition_main|_appendOffsetToShader|czm_non_show_main|QMa|Qpa|Ppa|_compressVertices|_releaseGeometryInstances|_vertexCacheOptimize|getPolylineStartIndex|writeUpdate|PMa|OMa|NMa|updateIndices|MMa|KMa|LMa|writeForMorph|JMa|IMa|getPolylinePositionsLength|updateShader|addPolyline|_updatePolyline|Opa|HMa|FMa|EMa|GMa|POSITION_SIZE_INDEX|MATERIAL_INDEX|WIDTH_INDEX|DMa|BMa|CMa|AMa|zMa|yMa|COMBINING|unpackCombineGeometryResults|unpackCreateGeometryResults|packedInstances|packCombineGeometryParameters|stringTable|fitToUnsignedShortIndices|Low|splitLongitude|transformToWorldCoordinates|Mpa|Lpa|xMa|attributeIndex|numberOfInstances|glDeleteVertexArray|_hasConstantAttributes|maximumVertexAttributes|_hasInstancedAttributes|_numberOfVertices|offsetsInBytes|Kpa|sourceOffset|destinationOffset|COPY_WRITE_BUFFER|copyFromBuffer|_usage|wMa|vMa|createPickFragmentShaderSource|addChildToken|VALIDATE_STATUS|automaticUniform|Epa|uniformMatrix3fv|uniformMatrix2fv|uMa|tMa|sMa|czm_sphericalHarmonicCoefficients|czm_specularEnvironmentMapSize|czm_specularEnvironmentMaps|rMa|_datatype|ivec3|Dpa|qMa|S3MTilesClampObjectColor|_materialSupport|Apa|zpa|xpa|wpa|copyTexSubImage2D|TEXTURE_MAX_ANISOTROPY_EXT|highpIntSupported|highpFloatSupported|maximumColorAttachments|pMa|nMa|oMa|mMa|lMa|kMa|fMa|eMa|dMa|jMa|cMa|bMa|iMa|aMa|hMa|gMa|_weights|fromConstantHeights|WLa|XLa|YLa|ZLa|numCorners|bottomHeights|topHeights|VLa|ULa|_trySetPlaybackRate|playbackRate|seeked|mpa|RLa|TLa|SLa|kpa|lpa|jpa|QLa|PLa|UpdateColorDictTable|4387|OLa|NLa|MLa|LLa|KLa|JLa|8679|32794|15318|16368|14529|9174820620691819|39777715593191376|hpa|RADIANS_PER_ARCSECOND|dataName|allSettled|touchHoldDelayMilliseconds|disableRootEvents|MIDDLE_CLICK|FLa|GLa|ILa|HLa|Xoa|ELa|DLa|zLa|ALa|tangentRotationMatrix|CLa|BLa|Woa|Voa|stSouth|stWest|stNwCorner|stGranXSin|stGranYSin|stGranXCos|stGranYCos|yLa|Uoa|xLa|wLa|Toa|vLa|lcc|tLa|computeTangentAndBitangent|computeLocalPositions|sLa|generateCartesianRhumbArc|rLa|qLa|_extrudeOutering|tangentPlane|mLa|pLa|oLa|nLa|Qoa|Ooa|Poa|Hoa|Goa|Ioa|Koa|Coa|Moa|Foa|Eoa|Doa|Joa|Noa|lLa|Boa|fromText|fromMakiIconId|_rotationVector|iLa|EPSILON13|hLa|gLa|_anyRotationVector|computeOccludeePoint|fLa|eLa|dLa|visiting|deployment|soon|zoa|zstream|messages|gzheader|inflateEnd|buf2string|utf8border|Z_BUF_ERROR|inflateSetDictionary|string2buf|Z_NEED_DICT|binstring2buf|dictionary|chunkSize|inflateGetHeader|inflateInit2|20971520|6145|3073|inftrees|inffast|adler32|hcrc|xflags|compression|65521|setTyped|bLa|isPacked|isETC1Format|isPVRTCFormat|isDXTFormat|COMPRESSED_RGB_ETC1_WEBGL|COMPRESSED_RGBA_PVRTC_2BPPV1_IMG|COMPRESSED_RGBA_PVRTC_4BPPV1_IMG|COMPRESSED_RGB_PVRTC_2BPPV1_IMG|COMPRESSED_RGB_PVRTC_4BPPV1_IMG|COMPRESSED_RGBA_S3TC_DXT5_EXT|COMPRESSED_RGBA_S3TC_DXT3_EXT|COMPRESSED_RGBA_S3TC_DXT1_EXT|COMPRESSED_RGB_S3TC_DXT1_EXT|HALF_FLOAT_OES|aLa|00Z|_pelias|AUTOCOMPLETE|ZKa|YKa|_computeFunction|rotationRate|1643573|0019|1589763|3407154|17635815|0047|5392|ComputeMoon|XKa|WKa|PKa|OKa|IKa|NKa|LKa|MKa|KKa|JKa|HKa|GKa|RKa|QKa|TKa|SKa|VKa|UKa|FKa|yoa|xoa|woa|uoa|voa|toa|EKa|DKa|CKa|BKa|AKa|roa|qoa|soa|poa|ooa|koa|noa|moa|loa|joa|zKa|yKa|ioa|_terrainRequests|_terrainPromises|tidy|decodeGoogleEarthEnterprisePacket|sKa|tKa|wKa|vKa|uKa|childRectangle|isNorthChild|isEastChild|xKa|upsampleQuantizedTerrainMesh|_negativeElevationThreshold|_negativeAltitudeExponentBias|rKa|40075|Metadata|hasChild|u00bb|u0090|u0089|u009c|u008b|u001f|u0083|u000e|u009b|hoa|getChildBitmask|qKa|hasChildren|protobuf|utf8Write|1048575|4503599627370496|8388607|401298464324817E|sfixed64|sfixed32|sint64|int64|sint32|int32|pool|ProtocolError|fromHash|zeroHash|toHash|dcodeIO|asPromise|captureStackTrace|toLong|responseDelimited|requestDelimited|illegal|BufferWriter|BufferReader|ctx|oKa|pKa|nKa|mKa|lKa|kKa|jKa|iKa|hKa|gKa|eKa|fKa|dKa|cKa|multiplyByPlane|Both|bKa|aKa|doa|ZJa|YJa|XJa|WJa|coa|Factorial|Bernstein|chain|stopChainedTweens|passThroughDataForTesting|VJa|TJa|UJa|SJa|RJa|QJa|PJa|OJa|NJa|MJa|LJa|KJa|JJa|IJa|HJa|GJa|FJa|EJa|DJa|CJa|BJa|AJa|zJa|yJa|xJa|wJa|vJa|rJa|qJa|pJa|Robinson|boa|3523|8487|9986|Cube|Quadrilateralized|ml2|900316316158|999999999999|4142135623731|phi1z|Albers_Conic_Equal_Area|cos_phi|sin_phi|qs0|qs2|Lambert_Azimuthal_Equal_Area|czech|s90|6377397|Conic|Conformal|Polar|Stereographic_South_Pole|Alternative|uJa|tJa|sJa|etmerc|utmSouth|623395162778|155925|14175|2835|3633|1385|01068115234375|046875|oJa|2978|rnb72|clrk80|8421|osgb36|Datum|Geodetic|Zealand|024|nzgd49|mod_airy|042|ire65|osni52|clrk66|Yna|6378145|6378155|1967|International|1968|1960|6378136|1866|Namibia|1841|Bessel|1528128|IUGG|GRS|6378160|1876|MERIT|nJa|merc|Mercator_Auxiliary_Sphere|Pseudo|3785|Vna|ENGINEERINGCRS|ENGCRS|GEODETICDATUM|GEODETICCRS|GEODCRS|PROJCS|GEOCCS|PROJCRS|PROJECTEDCRS|Tna|NAD83|31414036|Rna|readCharicter|lJa|mJa|quoted|kJa|iJa|jJa|R_A|hJa|endpoint|_ionEndpointDomain|getIonCredit|fromAssetId|3F5QY|blu_ATsUNqSYK0fIBrNRvxq9HiCzY5Ul_4v_4|eyJqdGkiOiJhZmRiYzgzMy1hODQ3LTRkMDktYjE0Ni0zNTViMTdmNGEyZWEiLCJpZCI6MjU5LCJzY29wZXMiOlsiYXNyIiwiZ2MiXSwiaWF0IjoxNTgzMTYzMTYwfQ|eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9|wallIndices|Pna|gJa|lefts|fJa|eJa|dJa|cJa|bJa||aJa|ZIa|YIa|Ona|XIa|WIa|VIa|UIa|TIa|SIa|RIa|QIa|cosineSquaredAlpha|sineAlpha|cosineHeading|sineU|cosineU|sineHeading|cosineAlpha|u4Over16|u6Over64|u2Over4|u8Over256|distanceRatio|Nna|validOutline|PIa|DIa|BIa|EIa|KIa|JIa|CIa|createProjectPointTo2DFunction|createProjectPointsTo2DFunction|LIa|computeProjectTo2DArguments|IIa|HIa|GIa|FIa|OIa|NIa|MIa|AIa|zIa|computeRhumbLineSubdivision|computeSubdivision|vIa|wIa|yIa|xIa|uIa|tIa|sIa|rIa|nIa|mIa|qIa|pIa|oIa|computeArea2D|Ina|Hna|Gna|SLATEGRAY|FF00FF|LIGHTSLATEGRAY|LIGHTGRAY|GRAY|DIMGRAY|DARKSLATEGRAY|00FFFF|brighten|lIa|kIa|jIa|iIa|minimumBlue|minimumGreen|minimumRed|CLAMPED|TICK_DEPENDENT|hIa|gIa|Fna|bIa|eIa|dIa|fIa|cIa|Ena|Dna|Cna|Ana|Bna|octPack|aIa|zna|ZHa|tipsify|YHa|XHa|WHa|VHa|UHa|requestMetadata|THa|INVALID_FLAG|METADATA|WATER_MASK|OCT_VERTEX_NORMALS|onupgradeneeded|Microsoft|withCredentials|wna|SHa|RHa|QHa|PHa|OHa|_horizonOcclusionPoint|NHa|decodeWithFromCharCode|decodeWithTextDecoder|catmullRomCoefficientMatrix|_lastTangent|_firstTangent|vna|una|tna|_outTangents|_inTangents|MHa|LHa|KHa|JHa|IHa|HHa|GHa|FHa|EHa|DHa|CHa|resources|Locations|defaultKey|BHa|AHa|pna|ona|zHa|computeVertices|_createMeshSync|yHa|heightmapTerrainQuality|addSkirtIndices|_defaultWorkerModulePrefix|_workerModulePrefix|taskCompletedEvent|nna|_nextID|xHa|wHa|lna|kna|36663|36662|RG32F|RG16F|MAX_SAMPLES|MAX_COLOR_ATTACHMENTS|36006|MAX_DRAW_BUFFERS|6144|3332|3331|3330|36196|35843|35842|35841|35840|33779|33776|MAX_RENDERBUFFER_SIZE|STENCIL_ATTACHMENT|HIGH_INT|HIGH_FLOAT|MAX_CUBE_MAP_TEXTURE_SIZE|LINK_STATUS|MAX_FRAGMENT_UNIFORM_VECTORS|MAX_TEXTURE_IMAGE_UNITS|MAX_VERTEX_TEXTURE_IMAGE_UNITS|MAX_COMBINED_TEXTURE_IMAGE_UNITS|MAX_VARYING_VECTORS|MAX_VERTEX_UNIFORM_VECTORS|MAX_VERTEX_ATTRIBS|3415|STENCIL_BITS|MAX_VIEWPORT_DIMS|MAX_TEXTURE_SIZE|ALIASED_LINE_WIDTH_RANGE|ALIASED_POINT_SIZE_RANGE|NO_ERROR|SAMPLE_COVERAGE|POLYGON_OFFSET_FILL|2884|32777|octShortDecode|vBuffer|zigZagDeltaDecode|octEncodeToCartesian4|vHa|uHa|tHa|rHa|qHa|pHa|oHa|nHa|sHa|mHa|lHa|kHa|jHa|iHa|hHa|gHa|fHa|eHa|dHa|cHa|bHa|aHa|ZGa|YGa|XGa|revolution|jna|VGa|UGa|TGa|WGa|computeEigenDecomposition|SGa|RGa|scaleToGeocentricSurface|QGa|PGa|OGa|NGa|MGa|LGa|36525|JGa|computeXysRadians|KGa|IGa|54841|HGa|GGa|FGa|DGa|EGa|CGa|BGa|AGa|zGa|yGa|xGa|wGa|vGa|computeAngle|computeAxis|multiplyByVec|supportsWebAssembly|ucweb|midp|iphone|ipad|typedArrayTypes|imageRenderingValue|supportsImageRenderingPixelated|pointerEnabled|isWindows|isFirefox|isChrome|CanvasPixelArray|_coef|_denominators|_work|ina|asinClamped|43232|daysDifference|toDate|2447|1461|146097|sGa|tGa|uGa|getUTCDate|getUTCMonth|qGa|pGa|nGa|oGa|rGa|fromGregorianDate|MODIFIED_JULIAN_DATE_DIFFERENCE|ORIGIN_XY_PLANE|mGa|lGa|kGa|jGa|fGa|iGa|hGa|gGa|grazingAltitudeLocation|eGa|dGa|gna|cGa|bGa|fna|ena|dna|computeHorizonCullingPoint|aGa|logo|collapsible|sanitize|_showOnScreen|cna|Zma|Yma|Xma|Wma|Vma|rowspan|decoration|tabindex|seed|local|lang|glyphref|glyph|flood|rule|baseline|cite|tspan|pre|_terrainHeightsMaxLevel|ZFa|Uma|YFa|getCesiumBaseUrl|OPTIONS|HEAD|Sma|XFa|Qma|WFa|Rma|hasHeaders|appendQueryParameters|Pma|getScheme|getAuthority|perPacketCount|throttleRequests|VFa|debugShowStatistics|extratiles|requestCompletedEvent|requestsByServer|Mma|Lma|Kma|UFa|TFa|isPromise|_implementation|SFa|Hma|Ima|isSameDocumentAs|isAbsolute|Gma|yFa|QFa|OFa|PFa|NFa|MFa|RFa|LFa|KFa|JFa|IFa|HFa|GFa|FFa|EFa|DFa|CFa|BFa|AFa|zFa|cartographics|invertible|xFa|wFa|vFa|uFa|EPSILON21|fovY|tFa|sFa|rFa|logBase|qFa|Dma|EPSILON20|pFa|oFa|mFa|nFa|MOON|6356755|gFa|eFa|fFa|jFa|hFa|lFa|kFa|iFa|Fma|Ema|cFa|dFa|bFa|fastApproximateAtan|genrand_int32|MATRIX_A|1812433253|0572252|2040259|0556434|041556|8760108|969266|4985314|5371385|2404542|9503041|119192|0193339|072175|7151522|2126729|1804375|3575761|4124564|czml|dragexit|pickEvent|instructionsInitiallyVisible|hasSeenNavHelp|TEa|VEa|UEa|48px|_enterVRPath|_exitVRPath|53386|40364|69011|55989|398125|4141499|8043|008126|2187499|9348899|039375|8125005|304375|094|5624998|lock|msLockOrientation|mozLockOrientation|Exit|unlock|msUnlockOrientation|mozUnlockOrientation|unlockOrientation|REa|SEa|QEa|wheelDelta|PEa|OEa|NEa|MEa|oncontextmenu|89416|51593|928209|183638|872692|0654697|9981397|267766|558916|353494|789888|156936|589157|815957|62878|816476|88634|327425|606883|25756|676747|349323|419186|1584238|91241|702298|733577|523984|778724|6474751|956205|292493|244526|45375|728886|401392|244525|0012|82482|drivers|Rotate|pan|Touch|unselected|707v|tiltFrame|rotateInitialCameraAngle|rotateIsLook|iframe|_bodyless|087202|412798|_startSearchPath|_stopSearchPath|885c0|093|poiInfos|BEa|zEa|yEa|_enterFullScreenPath|_exitFullScreenPath|Full|Visit|Rendering|_showRenderLoopErrors|imageRendering|maxDrawingBufferHeight|maxDrawingBufferWidth|1080|LOD|Wireframe|bounding|frustumStatistics|Parent|pickSection|_primitiveOnly|Frustum|Display|Performance|_panel|Inspector|debugShowPickDepth|Load|Skip|3dTilesInspector|Maximum|Cloud|Content|Update|vEa|00278|Culled|TerrainProviders|known|standard|Natural|night|Generation|Next|Design|fastly|ssl|watercolor|GIS|Geographic|Africa|South|including|Europe|States|United|worldwide|cubed|basic|Streets|itemLabel|itemIcon|selectedItem|choices|categoryTitle|_terrainProviders|sectionTitle|_imageryProviders|Today|Play|uEa|shuttleRingPausePointer|knobInner|knobOuter|buttonPath|1999|useCanvas2|tEa|being|murmurhashJs|sEa|qEa|probes|angleDelta|mismatched|bEa|aEa|ZDa|getOwnPropertyNames|SDa|RDa|MDa|LDa|KDa|tileMatrixLabels|QCa|GDa|jsessionID|eDa|xDa|zDa|wDa|yDa|attachFiles|JCa|pickOffscreenDefaultWidth|rethrowRenderErrors|usePostEffect|eyeSeparation|_classificationStencilClearCommand|PCa|OCa|NCa|MCa|LCa|KCa|czm_Debug_main|completeMorphOnUserInput|provder|tileImages|minimumDetectDistance|operEllipsoid|_translateMousePosition|NBa|IAa|JAa|GAa|EAa|FAa|wAa|combinedUniforms2|combinedUniforms1|mAa|particleLife|instantiated|czm_translucent_main|_tilesize|_username|styleId|alphaFun|Zza|falloff|useConfigFile|CompressType|waterNormalsSmall|Sza|Depth|Rendered|enableDebugOutput|_visibleState|oldCameraParameter|dayIntensity|65E5|arrow|Bza|tile_normalTextureData|allNormalTexture|tile_waterMaskData|_requestError|_hiddenPropertyName|deviceorientation|lza|textContainer|logoContainer|overlay|12px|delimiter|srs|getFeatureInfoParameters|_requestImageFunction|bza|aza|tilemapresource|_poissonKernel|_dofBlurKernelSize|usePreCachedTilesIfAvailable|conditions|Rya|_conditions|Qya|Pya|eya|iya|hya|dya|_tileProtocol|sampleTexture|uHasNormal|Wxa|Uxa|Vxa|RenderEntityPagelod|vertexes|Rxa|oxa|texCoordUniqueIDs|GetAttributeUInt16ForAllPoints|DracoUInt16Array|GetAttributeUInt8ForAllPoints|DracoUInt8Array|quantization_bits|InitFromAttribute|labelSelected|imageryLayer_reproject|fxa|defaultSplit|00750166855784E7|00375083427892E7|styleonly|MapBox_GL|vectorstyles|STYLENAME|GetStyle|styleName|_hasLevel|FOOT|37007886725774|INCH|KILOMETER|12756274|epsgCode|TILECOL|TILEROW|TILEMATRIX|HEIGHT|WIDTH|TILEMATRIXSET|LAYER|TileHeight|TileWidth|WGS84BoundingBox|GetCapabilities|patternDependencies|unpack_mix_|programConfiguration|uniformValues|_lineWidthExpand|failure|_ol|openlayer|mvtStyle|dpi|Pwa|Qwa|Lwa|Kwa|_xmlParser|Jwa|isViewer|restrictions|violates|combination|Missing|GL_STENCIL_INDEX8|GL_DEPTH_COMPONENT16|GL_RGB565|GL_RGB5_A1|GL_RGBA4|existence|_maximumSamples|shaderPreprocess|glCreateVertexArray|EXT_color_buffer_half_float|WEBGL_color_buffer_float|EXT_color_buffer_float|EXT_frag_depth|WEBGL_depth_texture|getShaderPrecisionFormat|experimental|qwa|owa|lost|_upSampleViewport|textBounds|textAngle|fontColorLimit|lineWidthLimit|cwa|bwa|Zva|Yva|Interpolate|evaluateExponentialFunction|Xva|MAX_PACKED_SIZE|comparisons|16777215|SimSun|Hva|Gva|move_line_forward|move_line_left|move_line_top|Iva|editEvt|Fva|Eva|Dva|_unifiedMoveBarLength|innerText|parsererror|pva|networkLinkControl|Ava|nva|ova|zva|vertPixels|horizPixels|vertFov|horizFov|cameraAlt|cameraLat|cameraLon|lookatTerrainAlt|lookatTerrainLat|lookatTerrainLon|lookatHeading|lookatTilt|lookatRange|lookatLat|lookatLon|vva|uva|Snippet|qva|rva|sva|ExtendedData|SchemaData|tessellate|tva|styleMap|Pair|listItemType|ListStyle|PolyStyle|insetPixels|yunits|xunits|hotSpot|16093E3|2414016|TimeSpan|mva|entryStart|iva|gva|fva|bva|Zua|Yua|Xua|Wua|Oua|Nua|Mua|Lua|Jua|Iua|Hua|checkerboard|polylineDash|polylineArrow|polylineGlow|polylineOutline|stripe|solidColor|cartesianVelocity|Fua|wsenDegrees|wsen|stripeOrientation|shadowMode|unitQuaternion|rgbaf|cartesian2|unitSpherical|unitCartesian|_orientationSubscription|_evenColorSubscription|_oddColorSubscription|Dua|xua|wua|vua|initialTilesLoaded|loadProgress|_statisticsLast|tileUnload|tileLoad|numberOfLoadedTilesTotal|gltfUpAxis|_visitedFrame|cua|bua|POLYLINE_WIDTHS|polygonMaximumHeights|polygonMinimumHeights|POLYGON_MAXIMUM_HEIGHTS|POLYGON_MINIMUM_HEIGHTS|POINT_BATCH_IDS|POLYLINE_BATCH_IDS|POLYGON_BATCH_IDS|POLYLINES_LENGTH|POLYGONS_LENGTH|Yta|batchTableColors|Uta|Qta|_whitePixelIndex|9792|3400|2530|2376|2075|1479|CanvasRenderingContext2D|Cta|Bta|zta|yta|xta|wta|vta|batchTableLoaded|czm_point_cloud_post_process_main|batchTableProperties|getPointSizeFromStyle|getShowFromStyle|getColorFromStyle|NORMALIZE_6|SHIFT_LEFT_5|SHIFT_RIGHT_5|SHIFT_LEFT_11|SHIFT_RIGHT_11|nta|CONSTANT_RGBA|NORMAL_OCT16P|3DTILES_draco_point_compression|mta|NORMAL_RIGHT_OCT32P|NORMAL_UP_OCT32P|NORMAL_RIGHT|NORMAL_UP|boundary|unaligned|INSTANCES_LENGTH|jta|ita|dta|bta|instanced|Ysa|Xsa|_pickIdBuffer|Zsa|_rtcModelView|czm_instancing_main|czm_instanced_model|Wsa|Vsa|SPHERE_BATCH_IDS|ELLIPSOID_BATCH_IDS|CYLINDER_BATCH_IDS|BOX_BATCH_IDS|SPHERES_LENGTH|ELLIPSOIDS_LENGTH|CYLINDERS_LENGTH|BOXES_LENGTH|Rsa|Composite|Qsa|Nsa|Osa|Psa|BATCHID|classificationShaderLoaded|Batched3DModel|TileFormats|CesiumGS|featureTableBinaryByteLength|batchLength|570425344|gltf_clip_main|jsa|isa|gltf_silhouette_main|fsa|ssa|wsa|vsa|usa|tsa|rsa|gltf_lightColor|qsa|lsa|osa|nsa|psa|ksa|hsa|gsa|esa|bsa|Zra|Vra|Wra|glExtensions|csa|ALPHACUTOFF|MORPHWEIGHTS|blendFactors|Xra|Yra|techniqueId|Mra|animationAdded|xra|wra|_classificationShaderLoaded|positionInClipCoords|kra|jra|ira|lra|qra|pra|mra|czm_|ora|regExp|fra|r90|reflectance|fixedToENU|yUpToZUp|u_diffuseTextureUVSpeedFactor|gl_FrontFacing|WEIGHTS_0|v_texcoord_0|MAT|era|textureMotion|dra|cra|emissiveTextureScale|emissiveTextureScroll|baseColorTextureScale|baseColorTextureScroll|baseName|bra|jointCount|yfov|jointNames|instanceTechnique|Binary|Gqa|glossinessFactor|specularFactor|diffuseFactor|baseColorFactor|Eqa|zBackfaceLogDepth|blendDiffuse|isWhite|classType|sqa|_planeSubscription|_cornerTypeSubscription|_arcTypeSubscription|_dimensionsSubscription|_uriSubscription|_pixelOffsetSubscription|_eyeOffsetSubscription|_horizontalOriginSubscription|_verticalOriginSubscription|_pixelOffsetScaleByDistanceSubscription|_numberOfVerticalLinesSubscription|qqa|Rpa|Npa|_imageSubscription|strideInComponentType|Jpa|Each|Ipa|Hpa|Gpa|Fpa|_duplicateUniformNames|_logShaderCompilation|getShaderParameter|_bufferMode|_varyings|deleteShader|_fragmentShaderText|_vertexShaderText|stencilOpSeparate|stencilFuncSeparate|upa|Cpa|Bpa|ypa|tpa|spa|vpa|rpa|qpa|given|ppa|opa|oldFunction|SRS|npa|ipa|169E|inclination|Hyperbolic|gpa|bpa|dpa|cpa|fpa|epa|_holdPixelTolerance|Zoa|Yoa|Soa|Roa|Aoa|msImageSmoothingEnabled|webkitImageSmoothingEnabled|mozImageSmoothingEnabled|imageSmoothingEnabled|bMipMap|databaseVersion|goa|_subtreePromises|resourceOrUrl|078125|0375|2734375|8062471|206264|param_d|param_a|14159265358979|Bad|AFAFAF|AJSAJS|conversion|bad|006739496752268451|99330562|00000|Zna|Wna|Xna|Una|Sna|standard_parallel_2|central_meridian|false_northing|false_easting|scale_factor|Qna|0125|Jna|1431655765|858993459|252645135|16711935|Lna|Kna|Mna|2205|262144|yna|xna|watermask|vertexnormals|octvertexnormals|ScaleDenominator|tile3|tile2|tile1|parentUrl|storageType|sna|rna|_availableCache|endingIndices|qna|scaleDenominators|customDPI|releaseBuffer|_releaseBuffer|mna|appName|_xysFileUrlTemplate|_sampleZeroDateTT|_sampleZeroJulianEphemerisDate|hna|_addNewLeapSeconds|directionToPoint|nextNode|importNode|attrName|insertAdjacentHTML|createHTMLDocument|ADD_URI_SAFE_ATTR|ADD_ATTR|ADD_TAGS|USE_PROFILES|FORBID_ATTR|FORBID_TAGS|ALLOWED_ATTR|ALLOWED_TAGS|NamedNodeMap|Tma|toUrlUndefined|hostname|Oma|Nma|Jma|es8|SIMPLE_FROUND_POLYFILL|es5|underscoreProtoCanBeSet|settleSameAsThenable_|settleSameAsPromise_|executeOnSettledCallbacks_|resolveToNonPromiseObj_|resolveTo_|asyncThrow_|executeBatch_|FORCE_POLYFILL_PROMISE|arrayIterator|globalThis|iteratorPrototype|initSymbolAsyncIterator|SYMBOL_PREFIX|getGlobal|ASSUME_ES5|zoom_history|writeTextToCanvas|wrapFunction|web_worker_transfer|webGLConstantToGlslType|performanceWatchdog|viewerPerformanceWatchdogMixin|_handleDrop|dataTransfer|viewerDragDropMixin|cesiumInspectorContainer|viewerCesiumInspectorMixin|cesium3DTilesInspector|cesium3DTilesInspectorContainer|viewerCesium3DTilesInspectorMixin|vertex_buffer|vertex_array_object|vectortilelayer|vectortilefeature|vectortile|updateVersion|updateAccessorComponentTypes|uniform_binding|transitioningPropertyValue|transitioning|transitionablePropertyValue|transitionable|transform_text|throttleRequestByServer|symbol_style_layer|symbol_size|symbol_program|symbol_layout|symbol_bucket|symbol_attributes|supermap3D_openlayer_4_6_5|subscribeAndEvaluate|subdivideArray|style_spec|style_layer|styleExpression|structArray|stencil_mode|shaping|script_detection|sampleTerrain|runtime_error|resolved_image|removeUnusedElements|removePipelineExtras|removeExtensionsUsed|removeExtensionsRequired|readAccessorPacked|quickselect|query_utils|quads|purify|protobuf_minimal|propertyValue|properties2|proj4_src|program_uniforms|program_configuration|programConfigurationSet|processPbrMaterials|processModelMaterialsCommon|potpack|possiblyEvaluatedPropertyValue|possiblyEvaluated|pointInsideTriangle|pixels_to_tile_units|pbf|parsing_error|parsing_context|parseResponseHeaders|parseGlb|painter|one_em|oneTimeWarning|objectToQuery|number_format|numberOfComponentsForType|moveTechniquesToExtension|moveTechniqueRenderStates|modernizeShader|mersenne_twister|mergelines|mergeSort|load_sprite|load_geometry|loadView|loadText|loadKTX|loadImageViaBlob|loadImageFromTypedArray|loadDXTZ|loadCubeMap|loadCRNForS3M|loadCRN|loadBlob|loadArrayBuffer|line_vertex|line_style_layer|line_sdf_vertex|line_sdf_fragment|line_program|line_fragment|line_bucket|line_atlas|knockout_es5|knockout_3_5_1|knockout|kdbush|joinUrls|is_constant|is_char_in_unicode_block|isLeapYear|isBitSet|intersection_tests|interpolate2|index_buffer|image_manager|image_atlas|heightReferenceOnEntityPropertyChanged|group_by_layout|grid_index|graphemesplitter|glyph_atlas|get_anchors|getStringFromTypedArray|Xian1980|China2000|getPreciseArea|getMagic|getImagePixels|getFilenameFromUri|getExtensionFromUri|getElement|getComponentReader|getClippingFunction|getClipAndStyleCode|getBinaryAccessor|getAccessorByteStride|getAbsoluteUri|freezeRenderState|formatted_section|formatError|find_pole_of_inaccessibility|findAccessorMinMax|fill_vertex|fill_style_layer|fill_program|fill_pattern_vertex|fill_pattern_fragment|fill_outline_vertex|fill_outline_pattern_vertex|fill_outline_pattern_fragment|fill_outline_fragment|fill_fragment|fill_bucket|feature_position_map|feature_index|featureFilter|exportKml|evaluation_parameters|evaluation_context|earcut_2_2_1|dynamicGeometryGetBoundingSphere|draw_symbol|draw_line|draw_fill|draw_circle|destroyObject|depth_mode|deprecationWarning|defaultValue|decodeGoogleEarthEnterpriseData|dataDrivenProperty|dataConstantProperty|cull_face_mode|csscolorparser|cross_tile_symbol_index|crossFadedProperty|crossFadedDataDrivenProperty|create_style_layer|createWorldTerrain|createWorldImagery|createUniformArray|createUniform|createTileMapServiceImageryProvider|responseMessage|createTaskProcessorWorker|createTangentSpaceDebugPrimitive|createRawPropertyDescriptor|createPropertyDescriptor|createOpenStreetMapImageryProvider|createMaterialPropertyDescriptor|createLayout|createGuid|createFragmentFromTemplate|createDefaultTerrainProviderViewModels|createDefaultImageryProviderViewModels|createBillboardPointCallback|computeFlyToLocationForRectangle|color_spaces|color_mode|colorRampProperty|collision_index|collision_feature|collator2|coercion|clipping_mask_program|clip_line|classify_rings|circle_vertex|circle_style_layer|circle_program|circle_fragment|circle_bucket|check_max_angle|checkFloatTexturePrecision|bitmap_sdf|bignumber|barycentricCoordinates|background_program|assertion|array_types|arraySlice|arrayRemoveDuplicates|arrayFill|addToArray|addPipelineExtras|addPatternDependencies|addExtensionsUsed|addExtensionsRequired|addDefaults|addBuffer|_shaderswriteLogDepth|_shaderswriteDepthClampedToFarPlane|_shaderswindowToEyeCoordinates|_shaderswebMercatorMaxLatitude|_shadersvertexLogDepth|_shadersunpackValue|_shadersunpackFloat|_shadersunpackDepth|_shaderstwoPi|_shaderstranspose|_shaderstranslucentPhong|_shaderstranslateRelativeToEye|_shaderstransformPlane|_shadersthreePiOver2|_shaderstangentToEyeSpaceMatrix|_shaderssphericalHarmonics|_shaderssolarRadius|_shaderssketchMode|_shaderssignNotZero|_shadersshadowVisibility|_shadersshadowParameters|_shadersshadowDepthCompare|_shaderssceneModeMorphing|_shaderssceneModeColumbusView|_shaderssceneMode3D|_shaderssceneMode2D|_shaderssaturation|_shaderssampleOctahedralProjection|_shaderss3mBatchOperation|_shadersreverseLogDepth|_shadersreadDepth|_shadersraySegment|_shadersrayEllipsoidIntersectionInterval|_shadersray|_shadersradiansPerDegree|_shaderspointAlongRay|_shadersplaneDistance|_shaderspiOverTwo|_shaderspiOverThree|_shaderspiOverSix|_shaderspiOverFour|_shaderspi|_shadersphong|_shaderspassTranslucent|_shaderspassTerrainClassification|_shaderspassOverlay|_shaderspassOpaque|_shaderspassGround|_shaderspassGlobe|_shaderspassEnvironment|_shaderspassCompute|_shaderspassClassification|_shaderspassCesium3DTileClassificationIgnoreShow|_shaderspassCesium3DTileClassification|_shaderspassCesium3DTile|_shaderspackValue|_shaderspackDepth|_shadersoneOverTwoPi|_shadersoneOverPi|_shadersoctDecode|_shadersnearFarScalar|_shadersmultiplyWithColorBalance|_shadersmodelToWindowCoordinates|_shadersmetersPerPixel|_shadersmaterialInput|_shadersmaterial|_shadersluminance|_shaderslineDistance|_shaderslatitudeToWebMercatorFraction|_shadersisFull|_shadersisEmpty|_shadersinverseGamma|_shadersinfinity|_shadershue|_shadersgetWgs84EllipsoidEC|_shadersgetWaterNoise|_shadersgetVolumeValue|_shadersgetTextureMatrixFromZValue|_shadersgetTexColorForS3M|_shadersgetSpecular|_shadersgetLambertDiffuse|_shadersgetHypsometricColor|_shadersgetHorizontalColor|_shadersgetDefaultMaterial|_shadersgeodeticSurfaceNormal|_shadersgammaCorrect|_shadersfog|_shadersfastApproximateAtan|_shaderseyeToWindowCoordinates|_shaderseyeOffset|_shadersexecuteExcavation|_shadersequalsEpsilon|_shadersepsilon7|_shadersepsilon6|_shadersepsilon5|_shadersepsilon4|_shadersepsilon3|_shadersepsilon2|_shadersepsilon1|_shadersellipsoidWgs84TextureCoordinates|_shadersellipsoidRadii|_shadersellipsoidNew|_shadersellipsoidInverseRadii|_shadersellipsoidContainsPoint|_shadersellipsoid|_shaderseastNorthUpToEyeCoordinates|_shadersdirectionLight|_shadersdepthRangeStruct|_shadersdepthRange|_shadersdepthClampFarPlane|_shadersdegreesPerRadian|_shadersdecompressTextureCoordinates|_shaderscosineAndSine|_shaderscomputePosition|_shaderscomputeNormal|_shaderscomputeLightColorInstanceInFP|_shaderscomputeLightColorInFP|_shaderscolumbusViewMorph|_shadersclip|_shaderscascadeWeights|_shaderscascadeMatrix|_shaderscascadeDistance|_shaderscascadeColor|_shadersbranchFreeTernary|_shadersapproximateSphericalCoordinates|_shadersantialias|_shadersalphaWeight|_shadersadjustColor|_shadersacesTonemapping|_shadersXYZToRGB|_shadersWindMapVectex|_shadersWindFragment|_shadersWater|_shadersVolumeRenderingVp|ngetSampleValue|outPointSize|minVisible|maxVisible|_shadersVolumeRenderingPointVp|_shadersVolumeRenderingPointFp|_shadersVolumeRenderingFp|_shadersVolumeBillboardCollectionVS|_shadersVolumeBillboardCollectionFS|_shadersVolumeBillboardBlendFS|_shadersViewportQuadVS|_shadersViewportQuadFS|_shadersVelocityFieldTransformFeedbackVp|_shadersVectorTileVS|_shadersVector3DTilePolylinesVS|_shadersVDMCompositionFS|_shadersTransformFeedbackFp|_shadersTexturedModelMaterialAppearanceVS|_shadersTexturedMaterialAppearanceVS|_shadersTexturedMaterialAppearanceFS|_shadersTAAComposite|_shadersSunVS|_shadersSunTextureFS|_shadersSunFS|_shadersStripeMaterial|_shadersSlopeRampMaterial|_shadersSkyBoxVS|_shadersSkyBoxFS|_shadersSkyAtmosphereVS|_shadersSkyAtmosphereFS|_shadersSilhouette|nvertexInClipCoordinates|_shadersShadowVolumeVS|_shadersShadowVolumeFS|_shadersShadowVolumeAppearanceVS|_shadersShadowVolumeAppearanceFS|_shadersScan|_shadersSMAANeighborhoodBlendingVS|_shadersSMAANeighborhoodBlendingFS|_shadersSMAAEdgeDetectionVS|_shadersSMAAEdgeDetectionFS|_shadersSMAABlendingWeightCalculationVS|_shadersSMAABlendingWeightCalculationFS|_shadersS3MPBR|_shadersRollerShutter|_shadersRimLightingMaterial|_shadersReprojectWebMercatorVS|_shadersReprojectWebMercatorFS|_shadersRenderPointsVectex|_shadersRenderPointsFragment|_shadersReinhardTonemapping|_shadersRasterLineFXAA|_shadersRasterImageExpandFS|_shadersRGBToXYZ|_shadersRGBToHSL|_shadersRGBToHSB|_shadersPolylineVS|_shadersPolylineShadowVolumeVS|_shadersPolylineShadowVolumeMorphVS|_shadersPolylineShadowVolumeMorphFS|_shadersPolylineShadowVolumeFS|_shadersPolylineOutlineMaterial|_shadersPolylineMaterialAppearanceVS|_shadersPolylineGlowMaterial|_shadersPolylineFS|_shadersPolylineDashMaterial|_shadersPolylineCommon|_shadersPolylineColorAppearanceVS|_shadersPolylineArrowMaterial|_shadersPointPrimitiveCollectionVS|_shadersPointPrimitiveCollectionFS|_shadersPointCloudEyeDomeLighting2|_shadersPerInstanceFlatColorAppearanceVS|_shadersPerInstanceFlatColorAppearanceFS|_shadersPerInstanceColorAppearanceVS|_shadersPerInstanceColorAppearanceFS|_shadersPassThroughWithAlphaBlend|_shadersPassThroughDepth|_shadersPassThrough2|_shadersPassThrough|_shadersParticleVp|_shadersParticleFp|_shadersOctahedralProjectionVS|_shadersOctahedralProjectionFS|_shadersOctahedralProjectionAtlasFS|_shadersNormalMapMaterial|_shadersNightVision|_shadersMotionBlurPassVectex|_shadersMotionBlurPassFragment|_shadersModifiedReinhardTonemapping|_shadersLocalVelocityFieldTransformFeedbackVp|_shadersLocalParticleVp|_shadersLensFlare|_shadersHSLToRGB|_shadersHSBToRGB|_shadersGroundAtmosphere|_shadersGridMaterial|_shadersGlobeVS|_shadersGlobeFS|_shadersGaussianBlur9|_shadersGaussianBlur1D2|_shadersGaussianBlur1D|_shadersFloodAnalysisVS|_shadersFloodAnalysisFS|_shadersFilmicTonemapping|_shadersFadeMaterial|_shadersFXAA|_shadersEmissionMaterial|_shadersEllipsoidVS|_shadersEllipsoidSurfaceAppearanceVS|_shadersEllipsoidSurfaceAppearanceFS|_shadersEllipsoidFS|_shadersElevationRampMaterial|_shadersElevationContourMaterial|_shadersEdgeDetection|_shadersDotMaterial|nz_window|_shadersDepthViewPacked|_shadersDepthView|_shadersDepthPlaneVS|_shadersDepthPlaneFS|_shadersDepthOfField|nvPosition|nInitWaterParam|nvVertex|nvecVertexColor|noNormal|noEyeDir|nprojectionCoord|InitWaterParam|vecVertexColor|inverse_world_matrix|world_matrix|_shadersDamBreakAnalysisVS|nfReject|ClipPlaneMainCode|LogDepthFP|ClipPlane|_shadersDamBreakAnalysisFS|_shadersDOFDiskBlur|_shadersDOFCocComposite|_shadersDOFCoc|_shadersCzmBuiltins|_shadersContrastBias|_shadersCompositorFP|_shadersCompositeOITFS|_shadersCheckerboardMaterial|_shadersCheckFloatTexturePrecisionFS|_shadersBumpMapMaterial|_shadersBrightness|_shadersBrightPass2|_shadersBrightPass|_shadersBrdfLutGeneratorFS|_shadersBloomUpsample|_shadersBloomPrefilter|_shadersBloomDownsample|_shadersBloomComposite|_shadersBloomBrightPass|_shadersBlackAndWhite|_shadersBillboardCollectionVS|_shadersBillboardCollectionFS|_shadersBasicModelMaterialAppearanceVS|_shadersBasicMaterialAppearanceVS|_shadersBasicMaterialAppearanceFS|_shadersAspectRampMaterial|_shadersAmbientOcclusionModulate|_shadersAmbientOcclusionGenerate|_shadersAmbientOcclusion|_shadersAllMaterialAppearanceVS|_shadersAllMaterialAppearanceFS|_shadersAdjustTranslucentFS|_shadersAdditiveBlend2|_shadersAdditiveBlend|_shadersAcesTonemappingStage|_shadersAcesTonemapping|ZoomIndicatorViewModel|XML|WireFrameType|WindingOrder|WeightSpline|WebMercatorProjection|WebMapTileServiceImageryProvider|WebMapServiceImageryProvider|WebGLConstants|WayPathType|WallOutlineGeometry|WallGraphics|WallGeometryUpdater|WallGeometryLibrary|WallGeometry|WalkingMode|VoxelGridTile|VoxelGridPostRenderer|VolumeRenderMode|VolumeBillboardCollection|Visualizer|Visibility|ViewportQuad|Viewer|ViewShedAnalysisFp|ViewShed3D|ViewDomeType|VideoSynchronizer|VerticalOrigin|VertexCompressOption|VertexArrayFacade|VertexArray|VelocityVectorProperty|VelocityOrientationProperty|VectorTilesMap|VectorTilesLayer|Vector3DTilePrimitive|Vector3DTilePolylines|Vector3DTilePolygons|Vector3DTilePoints|Vector3DTileGeometry|Vector3DTileContent|Vector3DTileBatch|VRTheWorldTerrainProvider|VRButtonViewModel|VRButton|UrlType|UrlTemplateImageryProvider|Uri|UniformState|TweenCollection|TrustedServers|TridiagonalSystemSolver|TranslationRotationScale|Transforms|TransformFeedback|Tonemapper|ToggleButtonViewModel|Tipsify|TimelineTrack|TimelineHighlightRange|Timeline|TimeStandard|TimeIntervalCollectionProperty|TimeIntervalCollectionPositionProperty|TimeIntervalCollection|TimeInterval|TimeDynamicPointCloud|TimeDynamicImagery|TimeConstants|TiltIndicator|TilingScheme|Tileset3DTileContent|TileState|TileSelectionResult|TileReplacementQueue|TileOrientedBoundingBox|TileMapServiceImageryProvider|TileImagery|TileEdge|TileDiscardPolicy|TileCoordinatesImageryProvider|TileBoundingVolume|TileBoundingSphere|TileBoundingRegion|TileAvailability|TiandituMapsStyle|TiandituImageryProvider|ThreeDModeling|TextureWrap|TextureMinificationFilter|TextureMagnificationFilter|TextureCache|TextureAtlas|TextPos|TerrainState|TerrainQuantization|TerrainProvider|TerrainOffsetProperty|TerrainMesh|TerrainFillMesh|TerrainEncoding|TerrainData|TemporalAA|TaskProcessor|SymbolType|SymbolTextStyle|SymbolStyle|SymbolRunWay|SymbolRegularPolygon|SymbolRectangle|SymbolPolyline|SymbolPolyBezierClosed|SymbolPolyBezier|SymbolPie|SymbolParallelogram|SymbolLibService|SymbolLib|SymbolKidney|SymbolEllipse|SymbolDotVector|SymbolDotPicture|SymbolDotGraphic|SymbolDot|SymbolCurveEight|SymbolConcentricCircle|SymbolCircle|SymbolChord|SymbolCell|SymbolBrace|SymbolArc|SymbolArbitraryPolygon|SymbolAnnotation|SymbolAlgoUtil|SvgPathBindingHandler|SurroundLineType|SupportTools|SuperMapImageryProvider|SunPostProcess|SunLight|Sun|StyleIndexLayer|StripeOrientation|StripeMaterialProperty|StopPlayMode|StencilOperation|StencilFunction|StencilConstants|StaticOutlineGeometryBatch|StaticGroundPolylinePerMaterialBatch|StaticGroundGeometryPerMaterialBatch|StaticGroundGeometryColorBatch|StaticGeometryPerMaterialBatch|StaticGeometryColorBatch|SplitDirection|Spline|SphereOutlineGeometry|SphereGeometry|SpatialQuery3D|SolidModelsProfile|SmlInfoStruct|SlopeSettingEnum|SkylineVp|SkylineFp|Skyline|SkyAtmosphere|SkeletonState|SitDataStruct|SingleTileImageryProvider|SimplePolylineGeometry|Simon1994PlanetaryPositions|Sightline|ShowGeometryInstanceAttribute|ShadowVolumeAppearance|ShadowQueryVp|ShadowQueryFp|ShadowMode|ShadowMapShader|ShadowMap|ShadowAnalysisFp|ShaderSource|ShaderProgramCreator|ShaderCache|SelectionIndicatorViewModel|SelectionIndicator|SelectColorType|ScreenSpaceEventType|ScreenSpaceEventHandler|ScreenSpaceCameraController|SceneTransitioner|SceneTransforms|SceneModePickerViewModel|SceneModePicker|SceneFramebuffer|ScanEffectMode|ScaledPositionProperty|Sampler|SampledProperty|SampledPositionProperty|25863|SVNVERSION|SQFramebuffer|SMAA|SDFSettings|SCTTerrainProvider|S3MVoxelGridVp|S3MVoxelGridFp|S3MVertexPackage|S3MVersion|S3MUniformMapCreator|S3MTilesVectexRaster|S3MTilesVectex|S3MTilesShadowVolumeFP|S3MTilesRegionShadowVectex|S3MTilesNormalFP|S3MTilesLineShadowVectex|S3MTilesLayer|S3MTilesLabelStyle|S3MTilesFragmentRaster|S3MTilesFragment|S3MTilesFontWithHaloFp|S3MTilesExtendPolygonShadowVP|S3MTilesCommonOntTextureFP|S3MTilesBillboardVp|S3MTilesBillboardPixelSizeVp|S3MThemeGraph|S3MTextureManager|S3MTaskManager|S3MSkeletonProcessor|S3MSkeleton|S3MRenderStateCreator|S3MPolylineEffect|S3MPointCloudVp|S3MPointCloudFp|S3MPointCloudEDL|S3MPixelFormat|S3MPBRMaterialLib|S3MLayerScheduler|S3MInstance|S3MFeature|S3MEntity|S3MDracoDecode|S3MDataParser|S3MCreateVertexJob|S3MCreateIndexJob|S3MCompressType|S3MBloomEffect|S3MBSkeletonProcessor|S3MBDataParser|RouteCollection|Route|Rotation|RotateDirection|RequestType|RequestScheduler|RequestErrorEvent|Renderer2D|RenderbufferFormat|Renderbuffer|RenderTexture|RenderState|RenderEntityPagedLOD|RenderClipPlane|RegionVectex|RegionTextureVertex|RegionMaterialVp|RegionMaterialFp|RegionFragment|RegionAltitudeVectex|ReflectFramebuffer|ReferenceProperty|ReferenceFrame|RectangleOutlineGeometry|RectangleGraphics|RectangleGeometryUpdater|RectangleGeometryLibrary|RectangleGeometry|RectangleCollisionChecker|RasterVectorCollection|RasterGeometryType|RasterFramebuffer|Queue|QuaternionSpline|Quaternion|QuarticRealPolynomial|QuantizedMeshTerrainData|Quality|QuadtreeTileLoadState|QuadtreeTile|QuadtreeOccluders|QuadraticRealPolynomial|ProviderViewModel|PropertyBag|PropertyArray|ProjectionPickerViewModel|ProjectionPicker|ProjectionName|ProjectionImageFp|ProgramDefines|ProfileRender|ProfilePlaneGeometry|Profile|PrimitiveState|PrimitivePipeline|PrimitiveCollection|PostProcessStageTextureCache|PostProcessStageSampleMode|PostProcessStageLibrary|PostProcessStageComposite|PostProcessStageCollection|PostProcessStage|PostEffectFilterlFramebuffer|PositionPropertyArray|PositionProperty|PositionMode|PolylineVp|PolylineVolumeOutlineGeometry|PolylineVolumeGraphics|PolylineVolumeGeometryUpdater|PolylineVolumeGeometryLibrary|PolylineVolumeGeometry|PolylineVisualizer|PolylineTrailMaterialProperty|PolylineShadowVolumeVS2|PolylineShadowVolumeFS2|PolylineRasterVp|PolylinePipeline|PolylineOutlineMaterialProperty|PolylineMaterialAppearance|PolylineGraphics|PolylineGlowMaterialProperty|PolylineGeometryUpdater|PolylineFp|PolylineDynamicMaterialProperty|PolylineDashMaterialProperty|PolylineCollection|PolylineArrowMaterialProperty|PolygonPipeline|PolygonOutlineGeometry|PolygonHierarchy|PolygonGraphics|PolygonGeometryUpdater|PolygonGeometryLibrary|PolygonGeometry|PolygonEmitter|PointVisualizer|PointPrimitiveCollection|PointGraphics|PointCloudShading|PointCloudRenderMode|PointCloudEyeDomeLighting|PointCloud3DTileContent|Point3Ds|PlotPoint3D|PlotLayers|PlotEditControl|PlotDrawControl|PlotCollentionManager|PlotAnimationLayer|PlaneOutlineGeometry|PlaneGraphics|PlaneGeometryUpdater|PlaneGeometry|Plane|PixelFormat|PixelDatatype|PinBuilder|PickRectFramebuffer|PickPointFramebuffer|PickFramebuffer|PickDepthFramebuffer|PickDepth|PerspectiveOffCenterFrustum|PerformanceWatchdogViewModel|PerformanceWatchdog|PerformanceDisplay|PeliasGeocoderService|PathVisualizer|PathGraphics|PassState|ParticleVelocityFieldEffect|ParticleTrailsPostRenderer|ParticleSystemType|ParticleSystem|ParticlePostRenderer|ParticleEmitter|ParticleBurst|PackingRequest|PackableForInterpolation|Packable|PBRExtensionParamterType|OrientedBoundingBox|OrderedGroundPrimitiveCollection|OpenStreetMapImageryProvider|OpenCageGeocoderService|OffsetGeometryInstanceAttribute|OctahedralProjectedCubeMap|Occluder|ObjsOperationType|NormalFramebuffer||NodeTransformationProperty||NeverTileDiscardPolicy|||NearFarScalar|NavigationViewModel|NavigationHelpButtonViewModel|NavigationHelpButton|MvtStyle|MvtRenderer2D|MvtProviderGL|MvtProvider|MvtFilter|MultiViewportMode|MultiViewShedAnalysisFp|MultiViewShed3D|Moon|ModifyRegionSideVp|ModifyRegionSideFp|ModifyRegionOuterVS|ModifyRegionOuterFS|ModifyRegionMode|ModifyRegionBottomFp|ModelVisualizer|ModelUtility|ModelNode|ModelMesh|ModelMaterial|ModelLoadResources|ModelInstanceCollection|ModelInstance|ModelGraphics|ModelEdgeVp|ModelEdgeFp|ModelAnimationState|ModelAnimationLoop|ModelAnimationCollection|ModelAnimationCache|ModelAnimation|MixColorType|MipmapHint|MeasureMode|MeasureHandler|Matrix3|Matrix2|MaterialProperty|MaterialPass|MaterialAppearance|Material|MapboxStyleImageryProvider|MapboxImageryProvider|MapProjection|MapMode2D|ManagedArray|MVTLabel|LoadingPriorityMode|LoadState|LinearSpline|LinearApproximation|LineCallOutVp|LineCallOut|LimitBody|LightSourceType|LightSource|LightGroupType|LercDecode|LeapSecond|Layers|||LayerDataStruct|LagrangePolynomialApproximation|LabelVisualizer|LabelGraphics|LabelCollection|Label|KmlTour|KmlLookAt|KmlCamera|KeyboardEventModifier|JulianDate|JobScheduler|Iso8601|IonWorldImageryStyle|IonResource|IonGeocoderService|InvertClassification|Interval|Intersections2D|IntersectionTests|Intersect|InterpolationAlgorithm|InstancedType|Instanced3DModel3DTileContent|InstanceTilesLayerVS|InstanceTile|InstanceSkeletonManager|InstanceMode|InstanceInfo|InspectorShared|InfoBoxViewModel|IndexedDBScheduler|ImageryState|ImagerySplitDirection|ImageryProvider|ImageryLayerFeatureInfo|ImageryLayerCollection|ImageMaterialProperty|IauOrientationParameters|IauOrientationAxes|Iau2006XysSample|Iau2006XysData|Iau2000Orientation|HypsometricSettingEnum|HorizontalOrigin|HomeButtonViewModel|HomeButton|HermiteSpline|HermitePolynomialApproximation|HeightmapTessellator|HeightmapTerrainData|HeightmapEncoding||HeightReference|HeatMap|Heap||HeadingPitchRange|GroundPolylineGeometry||GroundGeometryUpdater|GridTileImagery|GridState|GridProvider|GridMaterialProperty|GridLayer|GridImageryProvider|GridImagery|GoogleEarthEnterpriseTileInformation|GoogleEarthEnterpriseTerrainProvider|GoogleEarthEnterpriseTerrainData|GoogleEarthEnterpriseMetadata|GoogleEarthEnterpriseMapsProvider|GlobeSurfaceTileProvider|GlobeSurfaceTile|GlobeSurfaceShaderSet|GlobeDepth|Globe|GetFeatureInfoFormat|GeometryVisualizer|GeometryUpdater|GeometryPipeline|GeometryInstance|GeometryAttributes|GeometryAttribute|Geometry3DType|Geometry3DTileContent|Geometry3D|GeographicProjection|GeocoderViewModel|GeocoderService|Geocoder|GeocodeType|GeoSphere|GeoRegion3D|GeoPolyline|GeoPoint3D|GeoModel3D|GeoLine3D|GeoJsonDataSource|GeoGraphicObjectConvert|GeoGraphicObject|GeoEllipsoid|GeoCylinder|GeoCone|GeoCircle3D|GeoBox|GeoBillboard|GOAnimationWay|GOAnimationType|GOAnimationState|GOAnimationShow|GOAnimationScale|GOAnimationRotate|GOAnimationManager|GOAnimationGrow||GOAnimationBlink||GOAnimationAttribute|GOAnimation|GLSLPreprocessor|FullscreenButtonViewModel|FullscreenButton|Fullscreen|FrustumOutlineGeometry|FrustumGeometry|FrustumCommands|FrameState|FrameRateMonitor|FrameBufferType|ForEach|Fog|FlyTurningMode|FlyManager|FlyInterpolationMode|FloodAnalysis3D|FlattenRegion|FillGradientMode|FeatureDetection|FXAA3_11|ExtrapolationType|EventHelper|EntityView|EntityCollection|EntityCluster|EncodedCartesian3|Empty3DTileContent|EmissionMaterialProperty|EllipsoidalOccluder|EllipsoidTerrainProvider|EllipsoidTangentPlane|EllipsoidSurfaceAppearance|EllipsoidPrimitive|EllipsoidOutlineGeometry|EllipsoidGraphics|EllipsoidGeometryUpdater|EllipsoidGeometry|EllipsoidGeodesic|EllipseOutlineGeometry|EllipseGraphics|EllipseGeometryUpdater|EllipseGeometryLibrary|EllipseGeometry|EditHandler|EasingFunction|EarthOrientationParametersSample|EarthOrientationParameters|DynamicObjectState|DynamicGeometryBatch|DynamicExtendRegionVp|DynamicExtendRegionFp|DrawMode|DrawCommand|DracoLoader|DoublyLinkedList|DotMode||DistanceDisplayConditionGeometryInstanceAttribute|||DistanceDisplayCondition|||||DiscardMissingTileImagePolicy|DiscardEmptyTileImagePolicy|DiscardColorTileImagePolicy|DirectionalLight|DictionaryCoder|DeviceOrientationCameraController|DerivedCommand|DepthPlane|DepthMapAnalysisVp|DepthFunction|DepthFramebuffer|DefaultProxy|DebugModelMatrixPrimitive|DebugCameraPrimitive|DebugAppearance|DataSourceDisplay|DataSourceCollection|DataSourceClock|DataSource|DataFileType|DamBreakAnalysis|DXTTextureDecode|DDSTextureManager|DDSTexture|CzmlDataSource|CylinderOutlineGeometry|CylinderGraphics|CylinderGeometryUpdater|CylinderGeometryLibrary|CylinderGeometry|CustomProjection|CustomDataSource|CullingVolume|CubicRealPolynomial|CubeMapFace|CubeMap|CtrlPositionType|CreditDisplay|CredentialType|CorridorOutlineGeometry|CorridorGraphics|CorridorGeometryUpdater|CorridorGeometryLibrary|CorridorGeometry|CornerType|CoplanarPolygonOutlineGeometry|CoplanarPolygonGeometryLibrary|CoplanarPolygonGeometry|ContextLimits|ConstantProperty|ConstantPositionProperty|ConditionsExpression|ComputeEngine|ComputeCommand|CompressedTextureBuffer|Compositor|CompositeProperty|CompositePositionProperty|CompositeMaterialProperty|CompositeEntityCollection||Composite3DTileContent|CommonOneTextureFp|CommonNoTextureVS||CommonNoTextureFp|CommonNoTextureFS|CommonNoLigthOneTextureVp|CommonNoLigthNoTextureVp|ColorMaterialProperty|ColorGeometryInstanceAttribute|ColorCorrection|ColorBlendMode|ClosedDepthFramebuffer|ClockViewModel|ClockStep|ClockRange|Clock|ClippingType|ClippingPlane|ClipPlaneMode|ClipPlaneFp|ClipPlaneDepthFp|ClearCommand|ClassificationType|ClassificationPrimitive|ClampMode||ClampFramebuffer|CircleOutlineGeometry|CircleGeometry|CheckerboardMaterialProperty|CesiumTerrainProvider|CesiumInspectorViewModel|CesiumInspector|Cesium3DTilesetVisualizer|Cesium3DTilesetTraversal|Cesium3DTilesetStatistics|Cesium3DTilesetMostDetailedTraversal|Cesium3DTilesetHeatmap|Cesium3DTilesetGraphics|Cesium3DTilesetCache|Cesium3DTilesetAsyncTraversal|Cesium3DTilesInspectorViewModel|Cesium3DTilesInspector|Cesium3DTileStyleEngine|Cesium3DTileRefine|Cesium3DTilePointFeature|Cesium3DTilePassState|Cesium3DTilePass|Cesium3DTileOptimizations|Cesium3DTileOptimizationHint|Cesium3DTileFeatureTable|Cesium3DTileFeature|Cesium3DTileContentState|Cesium3DTileContentFactory|Cesium3DTileContent|Cesium3DTileColorBlendMode|Cesium3DTileBatchTable||Cesium3DTile||||CatmullRomSpline|Catenaryline|CategoryVisibleMode|CartographicGeocoderService|Cartographic|Cartesian4|CameraFlightPath|CameraEventType|CameraEventAggregator|CallbackProperty|CGCS2000MapServerImageryProvider|BufferUsage|BufferManager|BrdfLutGenerator|BoxOutlineGeometry|BoxGraphics|BoxGeometryUpdater|BoxGeometry|BoxEditor|BoundingSphereState|BloomEffect|BlockCacheNode|BlockCacheList|BlinkAnimationReplaceStyle|BlinkAnimationBlinkStyle|BlendingState|BlendOption|BlendFunction|BingMapsStyle|BingMapsImageryProvider|BingMapsGeocoderService|BingMapsApi|BillboardVisualizer|BillboardGraphics|BillboardCollection|Batched3DModel3DTileContent|BaseLayerPickerViewModel|AxisAlignedBoundingBox|Axis|AutomaticUniforms|AutoExposure|AttributeType|AttributeCompression|AssociativeArray|ArcGisMapServerImageryProvider|ArcGisGeographicTilingScheme|AnimationViewModel|Animation|AlgoSymbol|AlgoInclude|clearCopyOrCut|UnSelectedEvent||||||||||ModifiedEvent|SelectedEvent|getCartesian3ByLength|scaleLeft1Pnt|isogon|UnkownPt|drawControlEndEvent|drawFinishEvent|setAction|crosshair|ExpressionEvaluationError|indicator|pont|customInfobox|70px|106px|90px|136px|112px|169px|trackedEntityChanged|selectedEntityChanged|allowDataSourcesToSuspendAnimation|dataSourceDisplay|cesiumWidget|vrElement|timeSeconds|icon16|ticLabel|ticMain|ticTiny|999999|mainTicSpan|totalSpan|endJulian|setzoom|Start|addTrack|addHighlightRange|15768E6|126144E5|63072E5|31536E5|15768E5|126144E4|63072E4|15768E4|126144E3|63072E3|15552E3|7776E3|5184E3|2592E3|1296E3|setRange|getStopTime|getStartTime||getBase|isOrthographicProjection|zoombar|zoomout||zoomin|arrows_w_active|arrows_s_active|arrows_n_active|arrows_e_active|ring|outer|zoomoutLastTimestamp|zoominLastTimestamp|beforeViewerChanged|optins|poiinfos|China|searchdatas|localsearch|supermapol|buttonPanel|Cached|showTileCoordinates|getStatistics|Mix|Highlight|_realtimeShuttleRingAngle|_maxShuttleRingAngle|positiveTicks|getShuttleRingTicks|03d|subtree|childList|70532|77285|59437|958443|0589|0506131|0373001|0218522|7743869|402714|94483|2124|5955|0948|317138|099803|4508|131081|813944|511272|273681|272785|478584|455z|028|365C20|377zM18||1S16||377c|624zM15|072|876C16|17c0|676C15|367l3|343l|624c|5zM15|1C24|813zM23|366C20|367s1|813c|572zM19|365C23|365c|545zM22|366C10|545c0|455zM12|365C12|367c|428zM12|367C21|428c0|696zM22|366C9|366c0|696c|572zM9|367C9||5zM8|623zM8|125C25|374c5|623C9|374zM15|127C28|627c7|374C8|M15|75C6|499H6|245C8|529c|693l|701l|443l7|764l|75c2|249zM15|249H24|242c6|529c2|694l2|703l0|442l|763l2|064|009|499c|animation_pathLoop|5zM24|M13|animation_pathReset|SourceGraphic|stdDeviation|cssText|086|098|getPropertyCount|getPropertyByIndex|deleteProperty|AnalysisSymbol|EditSmlFileParameters|EditSmlFileService|GetSymbolInfoService|getAlgoSymbol|deleteSmlFileFailed|deleteSmlFileCompleted|addSmlFileFailed|addSmlFileCompleted|addSmlFileToLayerFailed|addSmlFileToLayerCompleted|openLocalSmlFileFailed|openLocalSmlFileCompleted|getSmlInfoFailed|getSmlInfoCompleted|getSmlInfosFailed|getSmlInfosCompleted|saveSmlFileCompleted|saveSmlFileFailed|openSmlFileFailed|openSmlFileCompleted|saveSmlFile|newSmlFile|saveAsSmlFile|getSmlInfo|getSmlInfos|vivibility|updateLayerData|deleteSmlFileOnServer|sitDataLayers|smlFileDownload|downloadSmlFileUrl|addSmlFileToLayer|uploadSmlFile|addSmlFile|onloadend|onloadstart|openLocalSmlFile|openSmlFile|openJsonSitData|destory|TimezoneOffset|getMilliseconds|Millisecond|Minute|Hour|Day|Month|Year|DateTime|__type|2525|warning|performSymbolLayout|advance|setStale|stillRecent|lastPlacementChangeTime|hasTransitions|prevZoomAdjustment|updateBucketOpacities|placeLayerBucket|placedGlyphBoxes|markUsedJustification|prevAnchor|textOffset1|textOffset0|attemptAnchorPlacement|placeLayerTile|retainedQueryData|opacities|pruneUnusedLayers|bucketsInCurrentPlacement|scaledTo|isChildOf|unwrapTo|insertCircle|insertCollisionCircles|insertCollisionBox|queryRenderedSymbols|hitTestCircle|placeFirstAndLastGlyph|placeCollisionCircles|prevTileDistance|lastSegmentViewportDistance|hitTest|Anchor|GlyphAtlas|FeatureIndex|hasLayer|lookupSymbolFeatures|intersectionZ|pixelPosMatrix|_geojsonTileLayer|toArrayBuffer|_pos8|sectionContent|sectionHeader|collapsed|toggleSectionVisibilityBinding|sectionVisibleBinding|headerText|panel|checkedBinding|getGeometriesArray|getGeometries|renderFeature|getSquaredTolerance|defaultOrder|getReplays|forEachFeatureAtCoordinate|hasReplays|labels_|ideographic|alphabetic|hanging|rotateAtOffset|checkFont|peekFirstKey|peekLastKey|peekLast|linearRing|drawGeometryCollection|drawFeature|drawGeometry|createDefaultEditing|3399CC|defaultFunction|createFunction|setRenderer|setPadding|setBackgroundStroke|setBackgroundFill|setMaxAngle|setOverflow|exceedLength|CANVAS|PIXELS|setLineDashOffset|setRadius|radius1|setSnapToPixel|setRotateWithView|setSize|geometryName|writeGeometry|writeFeatures|writeFeature|readGeometry|readFeature|getLastExtent|getReadOptions|getStyleFunction|setPolygons|getPolygons|getPolygon|getInteriorPoints|linearRingssContainsXY|getssClosestPoint|getssMaxSquaredDelta|appendPolygon|appendPoint|setLineStrings|lineStrings|getLineStrings|getLineString|lineStringsCoordinateAtM|appendLineString|getLength|lineStringCoordinateAtM|forEachSegment|getMaxSquaredDelta|appendCoordinate|fromCircle|fromExtent|getLinearRings|getLinearRing|getLinearRingCount|getInteriorPoint|linearRingsContainsXY|appendLinearRing|getLastCoordinate|getFirstCoordinate|getWorldExtent|TILE_PIXELS|Units|getUnits|intersectsCoordinate|LINEAR_RING|douglasPeuckerss|intersectsSegment|scaleFromCenter|getMargin|getIntersectionArea|getForViewAndSize|getEnlargedArea|getCorner|forEachCorner|createOrUpdateFromRings|createOrUpdateFromCoordinates|containsExtent|containsCoordinate|boundingExtent|removeChildren|marginBottom|offsetHeight|outerHeight|marginRight|marginLeft|CLASS_CONTROL|CLASS_UNSUPPORTED|unselectable|CLASS_UNSELECTABLE|CLASS_SELECTABLE|CLASS_HIDDEN|solveLinearSystem|roundUpToPowerOfTwo|oldValue|unset|unByKey|TOUCHEND|TOUCHMOVE|TOUCHSTART|RESIZE|MSPointerDown|MSPOINTERDOWN|MOUSEWHEEL|MOUSEUP|MOUSEOUT|MOUSEMOVE|MOUSEDOWN|KEYPRESS|KEYDOWN|DROP|DRAGOVER|DRAGENTER|DBLCLICK|CLICK|PROPERTYCHANGE|ObjectEventType|REMOVE|CollectionEventType|DEVICE_PIXEL_RATIO|macintosh|MAC|WEBKIT|chrom|firefox|FIREFOX|WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK|RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH|RASTER_REPROJECTION_MAX_SUBDIVISION|RASTER_REPROJECTION_MAX_SOURCE_TILES|OVERVIEWMAP_MIN_RATIO|OVERVIEWMAP_MAX_RATIO|MOUSEWHEELZOOM_MAXDELTA|MAX_ATLAS_SIZE|INITIAL_ATLAS_SIZE|DEBUG_WEBGL|ENABLE_WEBGL|ENABLE_RASTER_REPROJECTION|ENABLE_PROJ4JS|ENABLE_CANVAS|DEFAULT_WMS_VERSION|DEFAULT_TILE_SIZE|DEFAULT_RASTER_REPROJECTION_ERROR_THRESHOLD|DEFAULT_MIN_ZOOM|DEFAULT_MAX_ZOOM|ASSUME_TOUCH|isSorted|stableSort|writeBooleanField|writeDoubleField|writeFloatField|writeStringField|writeSVarintField|writeSFixed64Field|writeFixed64Field|writeSFixed32Field|writeFixed32Field|writeBytesField|writePackedSFixed64|writePackedFixed64|writePackedSFixed32|writePackedFixed32|writePackedDouble|writePackedFloat|writePackedBoolean|writePackedSVarint|writePackedVarint|Given|Unimplemented|readPackedSFixed64|readPackedFixed64|readPackedSFixed32|readPackedFixed32|readPackedDouble|readPackedFloat|readPackedBoolean|readPackedSVarint|readPackedVarint|readBytes|1114112|readMessage|AAAAgDAAAICQAACCAAAAg1AAAIOwAACE4AAAhhAAAIeAAACH4AAAiRAAAIpAAACKoAAAiwAAAItgAACLwAAAjCAAAAFnVkdGEAAAAObmFtZVN0ZXJlbwAAAHB1ZHRhAAAAaG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAO2lsc3QAAAAzqXRvbwAAACtkYXRhAAAAAQAAAABIYW5kQnJha2UgMC4xMC4yIDIwMTUwNjExMDA|AAAGkQAABpcAAAauAAAGwwAABskAAAbcAAAG7wAABwYAAAcMAAAHIQAABzQAAAc6AAAHTQAAB2QAAAdqAAAHfwAAB5IAAAeYAAAHqwAAB8IAAAfXAAAH3QAAB|AAABg0AAAYgAAAGJgAABjkAAAZQAAAGZQAABmsAAAZ|gAAAQLAAAEEQAABCgAAAQ9AAAEUAAABFYAAARpAAAEgAAABIYAAASbAAAErgAABLQAAATHAAAE3gAABPMAAAT5AAAFDAAABR8AAAUlAAAFPAAABVEAAAVXAAAFagAABX0AAAWDAAAFmgAABa8AAAXCAAAFyAAABdsAAAXyAAAF|VgIJfAAAAAgAAAAAAAAf8AAAAAAAAAAAAAAABAQAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACsm1kaWEAAAAgbWRoZAAAAADVgIJf1YCCXwAArEQAAWAAVcQAAAAAACdoZGxyAAAAAAAAAABzb3VuAAAAAAAAAAAAAAAAU3RlcmVvAAAAAmNtaW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAidzdGJsAAAAZ3N0c2QAAAAAAAAAAQAAAFdtcDRhAAAAAAAAAAEAAAAAAAAAAAACABAAAAAArEQAAAAAADNlc2RzAAAAAAOAgIAiAAIABICAgBRAFQAAAAADDUAAAAAABYCAgAISEAaAgIABAgAAABhzdHRzAAAAAAAAAAEAAABYAAAEAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAAUc3RzegAAAAAAAAAGAAAAWAAAAXBzdGNvAAAAAAAAAFgAAAOBAAADhwAAA5oAAAOtAAADswAAA8oAAAPfAAAD5QAAA|AAAGVgAABnEAAAaEAAAGnQAABrQAAAbPAAAG4gAABvUAAAcSAAAHJwAAB0AAAAdTAAAHcAAAB4UAAAeeAAAHsQAAB8gAAAfjAAAH9gAACA8AAAgmAAAIQQAACFQAAAhnAAAIhAAACJcAAAMsdHJhawAAAFx0a2hkAAAAA9WAgl|AAAGEwAABiwAAAY|wAABRIAAAUrAAAFQgAABV0AAAVwAAAFiQAABaAAAAW1AAAFzgAABeEAAAX|4AAAQXAAAELgAABEMAAARcAAAEbwAABIwAAAShAAAEugAABM0AAATkAAAE|G8gAAABhzdHRzAAAAAAAAAAEAAAA8AAALuAAAABRzdHNzAAAAAAAAAAEAAAABAAAB8GN0dHMAAAAAAAAAPAAAAAEAABdwAAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAAC7gAAAAAQAAF3AAAAABAAAAAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAEEc3RzegAAAAAAAAAAAAAAPAAAAzQAAAAQAAAADQAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAANAAAADQAAAQBzdGNvAAAAAAAAADwAAAAwAAADZAAAA3QAAAONAAADoAAAA7kAAAPQAAAD6wAAA|4QAbZ01AKOyho3ySTUBAQFAAAAMAEAAr8gDxgxlgAQAEaO|8AAAAyYXZjQwFNQCj|IFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAUcbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAAE3HN0YmwAAACYc3RzZAAAAAAAAAABAAAAiGF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAygDKAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY|QAAK|XRyYWsAAABcdGtoZAAAAAPVgIJf1YCCXwAAAAEAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAygAAAMoAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAB9AAABdwAAEAAAAABXFtZGlhAAAAIG1kaGQAAAAA1YCCX9WAgl8AAV|AAAF|AABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAGGlvZHMAAAAAEICAgAcAT|wALKCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHAAACiFtb292AAAAbG12aGQAAAAA1YCCX9WAgl8AAAPoAAAH|AAspIQADQGgcAAAACQGf|aQhP|nhAAYsAhAANAaBwhAANAaBwAAAAJQZ|AAspIQADQGgcAAAADUGbuzRMQn|3RCf|8ACykhAANAaBwAAAAJAZ|CEAA0BoHCEAA0BoHAAAAAkBn7VEJ|6plgAMuSEAA0BoHAAAAAtBn5ZFFSwr|8ACyghAANAaBwhAANAaBwAAAANQZt4NExC|wALKCEAA0BoHAAAAAkBn3NEJ|AAj5IQADQGgcIQADQGgcAAAACQGfcUQn|qmWAAy4IQADQGgcAAAAC0GfUkUVLCv|wALKCEAA0BoHAAAAA1BmzQ0TEM|AAspIQADQGgcIQADQGgcAAAACQGfL0Qn|8ACPkhAANAaBwAAAAJAZ8tRCf|qZYADLkhAANAaBwhAANAaBwAAAALQZ8ORRUsK|AAsoIQADQGgcAAAADUGa8DRMQz|8ACyghAANAaBwhAANAaBwAAAAJAZ7rRCf|SEAA0BoHAAAAAkBnulEJ|6plgAMuCEAA0BoHCEAA0BoHAAAAAtBnspFFSwr|8ACyghAANAaBwAAAANQZqsNExDP|wALKSEAA0BoHAAAAAkBnqdEJ|AAj5IQADQGgcIQADQGgcAAAACQGepUQn|qmWAAy5IQADQGgcAAAAC0GehkUVLCv|wALKSEAA0BoHCEAA0BoHAAAAA1Bmmg0TEM|AAsoIQADQGgcAAAACQGeY0Qn|8ACPkhAANAaBwhAANAaBwAAAAJAZ5hRCf|qZYADLghAANAaBwAAAALQZ5CRRUsK|AAspIQADQGgcAAAADUGaJDRMQz|RCf|8ACyghAANAaBwhAANAaBwAAAAJAZ4|CEAA0BoHAAAAAkBnj1EJ|6plgAMuSEAA0BoHCEAA0BoHAAAAAtBnh5FFSwr|8ACykhAANAaBwAAAANQZvgNExDP|tEJ|wALKCEAA0BoHCEAA0BoHAAAAAkBn|AAj5IQADQGgcAAAACQGf|qmWAAy4IQADQGgcAAAAC0Gf2kUVLCv|wALKSEAA0BoHCEAA0BoHAAAAA1Bm7w0TEM|AAspIQADQGgcAAAACQGft0Qn|1RCf|8ACPghAANAaBwhAANAaBwAAAAJAZ|WRRUsK|qZYADLkhAANAaBwAAAALQZ|AAsoIQADQGgcIQADQGgcAAAADUGbeDRMQz|8ACyghAANAaBwAAAAJAZ9zRCf|SEAA0BoHCEAA0BoHAAAAAkBn3FEJ|6plgAMuCEAA0BoHAAAAAtBn1JFFSwr|8ACyghAANAaBwAAAANQZs0NExDP|wALKSEAA0BoHCEAA0BoHAAAAAkBny9EJ|AAj5IQADQGgcAAAACQGfLUQn|qmWAAy5IQADQGgcIQADQGgcAAAAC0GfDkUVLCv|wALKCEAA0BoHAAAAA1BmvA0TEM|AAsoIQADQGgcIQADQGgcAAAACQGe60Qn|8ACPkhAANAaBwAAAAJAZ7pRCf|qZYADLghAANAaBwAAAALQZ7KRRUsK|AAsoIQADQGgcIQADQGgcAAAADUGarDRMQz|8ACykhAANAaBwAAAAJAZ6nRCf|SEAA0BoHCEAA0BoHAAAAAkBnqVEJ|6plgAMuSEAA0BoHAAAAAtBnoZFESwr|8ACykhAANAaBwhAANAaBwAAAANQZpoNExDP|wALKCEAA0BoHAAAAAkBnmNEJ|AAj5IQADQGgcIQADQGgcAAAACQGeYUQn|qZYADLgAAAAJQZ5CQhX|LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn|hkjD5hbkAkL3zpJ6h|C7v8tDDSTjf97w55i3SbRPO4ZY|v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3|AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF|vz0AAA|GkXfo0AgQoaBAUL3gQFC8oEEQvOBCEKCQAR3ZWJtQoeBAkKFgQIYU4BnQI0VSalmQCgq17FAAw9CQE2AQAZ3aGFtbXlXQUAGd2hhbW15RIlACECPQAAAAAAAFlSua0AxrkAu14EBY8WBAZyBACK1nEADdW5khkAFVl9WUDglhohAA1ZQOIOBAeBABrCBCLqBCB9DtnVAIueBAKNAHIEAAIAwAQCdASoIAAgAAUAmJaQAA3AA|richtr|successfully|completing|running|interrupt|timeupdate|loadedmetadata|playsinline|Sleep|muted|MSStream|3_2|Mobile|bandMasks|Big|getBandCount|validPixelCount|onesweep|understand|decoder|getUInt32|F64|U32|S32|U16|S16|issue|BITS|LUT|NUM|WARning|Checksum|expect|bitDepths|computeUsedBitDepths|Mask|Block|numValidPixelsType|offsetType|jqueryTmplTemplateEngine|addTemplate|fragments|appendTo|templateOptions|later|0pre|upgrade|old|Your|nativeTemplateEngine|setDomNodeChildrenFromArrayMapping|compareArrays|retained|setTemplateEngine|nested|anonymous|Set|inherit|Template|previousSibling|anonymousTemplate|domElement|ko_unique_|textinput|dragdrop|DOMAutoComplete|dragend|selectionchange|optionsIncludeDestroyed|completeOn|cancelBubble|Bubble|removeAttributeNS|htmlFor|componentTemplateNodes|templateNodes|HTMLUnknownElement|defaultLoader|isRegistered|configuration|loader|AMD|Uses|clearCachedDefinition|synchronously|returning|invoking|suppressLoaderExceptions|dataFor|contextFor|applyBindingsToNode|applyBindingAccessorsToNode|applyBindingsToDescendants|startPossiblyAsyncContentBinding|childrenComplete|parentContext|_dataDependency|_ancestorBindingInfo|_subscribable|shouldBindDescendants|together|descendant|cyclic|bindingProvider|nBindings|prepend|insertAfter|emptyNode|opening|__ko_matchedEndComment__|createComment|closing|insertPropertyAccessorsIntoJson|_twoWayBindings|preProcessBindings|parseObjectLiteral|bindingRewriteValidators|braces|parentheses|Unbalanced|writeValue|readValue|isPureComputed|isComputed|dependentObservable|asleep|recursively|disposeWhen|wish|unless|isObservableArray|sorted|initializing|valueWillMutate|isWritableObservable|Knockout|possibly|looks|__ko_proto__|_latestValue|ignoreDependencies|registerDependency|isInitial|dependencies|things|isSubscribable|getSubscriptionsCount|extenders|deferral|turn|accepts|extender|notifyWhenChangesStop|rateLimit|runEarly|schedule|resetForTesting|toggle|groups|task|processing|recursion|unmemoizeDomNodeAndDescendants|parseMemoText|unmemoize|unmemoized|memo|setHtml|parseHtmlFragment|parentElement|parentWindow|clean|removeDisposeCallback|addDisposeCallback|Callback|__ko__|setTextContent|addOrRemoveItem|objectForEach|unwrapObservable|toggleDomNodeCssClass|stringifyJson|registerEventHandler|parseJson|postJson|peekObservable|objectMap|getFormFields|fieldsIncludedWithJsonPost|createSymbolOrString|cloneNodes|arrayRemoveItem|arrayPushAll|arrayMap|arrayIndexOf|arrayGetDistinctValues|arrayFilter|arrayFirst|arrayForEach|includeFields|downloadable|overcome|natively|mergeAttributes|trigger|triggering|HTMLEvents|detachEvent|__RequestVerificationToken|authenticity_token|mouseleave|mouseenter|mouseover|MouseEvents|UIEvents|KeyboardEvent|UPSAMPLED_ONLY|outputSceneToFile|getPickRectIDs|pickRect|addVoxelGridLayer|addFieldLayer|instanceAttrs|addS3MInstanceCollection|sceneName|addLayerService|removeVectorTilesLayer|getVectorTilesLayer|addVectorTilesLayer|sceneType|NONEARTHFLAT|geobounds|authentication|aliyuncs|cartesianToCanvasCoordinates|takes|pickTileCoordinate|pickRasterData2D|forceRender|defaultContainer|getCompressedTextureFormatSupported|setVectorTilesLayersControl|147432|192153|147532|191153|lightGroup|walkingMode|pickDepthTolerance|pickPointTolerance|ssaoEffect|enableOcclude|undergroundDepth|multiViewportMode|highDynamicRangeSupported|enumeration|lastRenderTime|invertClassificationSupported|addModels|_profileMode|setClipGeometry|addProfileCylinder|addProfilePlane|clearProfile|addProfileGeometry|selectedModelIDs|createTextBillboard|createIconImageBillboard|1E13|nodejs|toStringTag|toFraction|toFormat|4999|squareRoot|shiftedBy|negated|isZero|isPositive|isNegative|lte|isLessThanOrEqualTo|isLessThan|gte|isGreaterThanOrEqualTo|isGreaterThan|isEqualTo|integerValue|9999975E7|8E13|24E7|Exponent|exponentiatedBy|idiv|dividedToIntegerBy|decimalPlaces|absoluteValue|xbo|1099511627776|281474976710656|1073741824|isBigNumber|EUCLID|ROUND_HALF_FLOOR|ROUND_HALF_CEIL|ROUND_HALF_EVEN|ROUND_HALF_DOWN|ROUND_HALF_UP|ROUND_FLOOR|ROUND_CEIL|ROUND_DOWN|ROUND_UP|0123456789abcdefghijklmnopqrstuvwxyz|u00a0|sliceCoordinate|volumeRenderMode|_removeProgramDefineForCommand|_appendProgramDefineForCommand|billBoardQuality|99999999|readFloat32|highResolution|342789095|342789248|walkSpeed|zoomFactor|addOffsetIncrement|addAlpha|HIGH|MEDIUM|LOW|computeDefaultLevelZeroMaximumGeometricError|nviewZ|nlogDepthOrDepth|stage|iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII|glixwRuUfM4AAAAASUVORK5CYII|MOr|75nz8FFnxl9dc9|fzr24Cuuv|7nTwfAV1N|UQvmauuve|M837aKvvv6653|CV1V|lTA|uue|rrnf75RgLna|f8z58OgK|UYBvur6657|f7X113f|eqO3cT53Z0Y8SV80XvB4Z0ADJi|tbiy96Lzi8E4D7z7S0mEPd|ShrWNwZgN0b2YL7qznr3g8JYAo5bQBziPjx7BPZ0d9RCQp4UZbnFdzBddor4XHN4KYMrB2qHFRIzzcLAHQZ5the5ovui94PCWAPefaYnxIdzRwdHCbuR4B|aLXrKeveDwZqlKrw8U9Y1p66uK8dEzdYwBeUQAY7DbyYNezBfdWQ97weEtAKYQg2xJIkuveAT3dYeLGH|VYyP6jOVjwgGawk2zQOaTcc1L|WycrOTArHmB5|hCtJSvuiV69kLDm|Tl9EzDh6kl3VhsHYcDEb|S6NPscKrEjug78Dx8Lj3T8D4YxGIdxmJcwhi34fzZUr7olevZCw5vkOhoClq5zBPZAnygD|AxTpwmApTYxqMxwfCeJGjpXzRF61nbcHhUBPqWze9svwcHJ|gfIhZXIXPsAlNjPOLBby5c1eOLvmQ9lwkOy5x6QV1j5TYqpS05JtUgUHUp5toHGsVfn4NX4RnMCe|U59Ty9ebdWbrgfRS9AYKKN63ZokZVygr8GZ|ntWCw|hFS4U8wMW1PXNB4TOqYz9urxRV|DpzR|WGB0HWDELBmOByA3r5QONo4V|C2Smc7|B64DWKrQM8AL8FPwS9beQCe6EMKNZYJol37jBMy35otdaz0Bw2H|bg0|utRwWH5PmfvcvYEt9jLDS|i6DcyRL|Yz3C|UfzNxGYzwkP8c|Jlu2T1xNmY98sv4wHnD7D3uNHu54WUuOsBTbQuvBsPT|AH1MdOw|iH9E|nEHeK7d4IcDld6lmDW|V2mb3HkN5Mb|fbIBT0Axqznnb|TqTb3P4hKlQrTGh|KLsSLS|24ABzZ8o|toDvAd4f|tAd5fe4D3AO|bUHeH|9J9NS75v17wuitAN5fe4D31x7g|YDw0GAtqxBjkuP38bMRWCHn73xNGjz75P73WenCEJnhwyVe3AEe8TtKdJcYhBl97wuhNAObK66lvD|ZE0aPTFUuJWgeTei8SfLZQeMxNaZSIzbII4aE1Nmr13P2hNHjc9E9guYNCZ032YlNwESMLcZiLQHkE4aE1BFg0yAR4z1h9AiAGRA0jyZ03tyIxWMajMPWBIsxYJCnlITU5ShiHYdZ94TR4wCmSxg9jtB5KyPGYzymAYexWEMwAPIsAdYdV6aObmNPGD0aYLoEzaMJnTc0Ygs|J4wenwmaylB82hC5w0zoRXUNXaRBmSMQUqiWSWkLsaVqc|ALC6NGEzhtmyZoFZoarwBLeZxUhtY4rc3bKnjB6TKJjFUHzJoTOozF2YBpsjcyxDgzhQ1YRUse8|YU8YvfY5|5GJCagsHcPaEPWH0esekSwmjRxM6b5JEcZ4ww50ilvAOFxBSx4yLW|txYQudN0qDzGe4EqfA|BOw9m77Amj14ii1yGM|wyZ0PwRlxJST|hbrEFIfeWbvId8H9oTRFwdZaxJGvziW0Hn0gqYB|Jjyk|8Dp8QfsB8zpqE1NO3OI9Zrj1h9EV78PqE0WMJnUdeU6E|EQJrElLb38VHQ94TRq900aMIo8cSOo|mT1h9GqAxxJGM5LQeeQ1|79dpfpH1CanN30d|RfjcZfePHBB|FO5Yn3AK9jXCMGeHdgxDuVJ75VAI8ljP7PAb3|uKAb50gHcXLnrX8sR7gNdPRqwzwLu7Y|rBJjLBnh3txOvkifeX1dswZcO8G6N7sXyxPvr6i340gHe3TnqVfLE|4Y46XyxPvrugBeNcB7BRiX8sT767oAvmCA9woAHsoT76|rhHgpQO8b|v6wV4OMD7F7tckFkmT7y|vGVYFzKE|vxNBKeeL9dRMAlwO83959qGO78sT769oB7g3w|dEMBxgPcfbtTVvsYV5Yn32u03B3Ac4P3b8I|BAeX9WCDrUpZ3|XUzAP8C|fWv517J|jz8Pudf9ht|uebA|Zq6697|irrr3v|fNMu|zPN7oHX339dc|1FjwVdZf9|Z9vGmCusP6653|uebtuArrr|f8zzcNMFdbf93zP38KLPiK6697|f8zzcN8BXXX|Pbh8f1s4Avur6657|37Zlv|nqDHC8TmQT8x3NF91l76oDdQGwu61Z6E0ABv7uO1dbf|iAI|p0NDs|YTm2vyRUvvpXCIpQ5pe666TJrcygnScUf|ANjcGBNRiLCQDPZPMHuiZfdFpPSTcQwwKYdRNqpkjm7AFeeT0pJzALgo7g8YYGrMHS0iocy|GQoyhDPS|FZTghCNWGgMzlBbrNJoPJX2mW5mwZfyRffXo7OFi5pZcS4qZUrlViptrXtw|BFL1mPhYrGMBfOi4PyjuSGf6wBBh7p|IVvrN6|6P56il1jXic7nhQxsxSm3OwBHl4fFdLqi64nDQZvqE2at7cWAp|1nISyDfUhsokIzaBR9Kxm80s5mK|nFOVX6gzyg|Q1aFtNpUb|nvOakSL|NFL1mPab|HEFRzOz7WVoTDQkVds7A4sIIxfCQdCefFRoIOF|Wv6GAWPd7dDIKjMdSWueAsBj4M7TOd06qBbwDwKr7oleuxMOEcTuEZTHWvDYUO7aHqAe0Bbq|BIfenYaylf9FsXr8fBAadnPIEDna8IBcwlxnuA0|uNFw8xQOSy8H9IzjUrd9|Znm|ke4Hy9qXZwpgLr|eL1WKhYOD7xHOkr1ajK7d0C4|ajKxnjv4AFnMEpnBTPND6s2J7qHbPAqcMK74T2mZ4VGB9uJA465It|l6LBzw5IwfqZJhA3M472pWT|6NMzzTcf6c2bycv2|GGRzDU3hZYburAt9TEtHgbM6JoxJ|F4cBcCgT|E5g7vnnEXgDmcDeSGb|WWc|cHNbqMQruSL|HejO8LwAl8Hl5YLTd8q7sqA3wbjuExfAFegQdwfyDoSkWY8swzEf6o4Qyewefg|JYTuWOvyBf9FvzX663HH|FbNU3gNXh0o|DuQOnTgUw5rnkY|DR8EV6B5|Hm4O9Ch3clr99negxfwj|Ct9dbz1pTmHFRu|BH8NXoXnVE6wVPjdeCI38kX|C34avw5fgRVUInCwbsn1yyA8C8zm|FL3Znv57PitcdGP4R|vWoIH|PWc|z9V|CT8GLcFTMnpntdF|Aq3NfRS9t9WPnhfnvCIw|8bfllWyg0zaNO5bfXj6vfhhwD86|B8as5|2Xvu|4mvFAMF16gZD|qOIXG|A5OCq0Ys2KIdv|AL8O|0B3l97gG8LwP8G|0B3l97gPfXHuD9tQd4f|wHuD9tQd4f|94vv3AO|TWmG0y6clJWthxNUl48q38Bi8vtMKyzzpFdSDhxZ5WBA5ZLt8Jv3895DduBlgbPYAj8C4B8hO68FDkoh5lydC4FiWvBOVqjYdqjiLv92t8yPDjrDaiHdUD15qkSURSGmXJwOMSxWAXYwr3zaAufJ66l|ytrCvAd4GcYZMCkSQxfUg3v3j8c4e90j5ZTPdvmJJGHnOCI2nHS8081X013pHuBlV1gB2MX1YNmWLHqqGN|UrkJYzuiaL3E9aI|0emKquiXHhWjJg|peL68HD|ZW9AgYd|ijMHFhuwBmtoTPtOxOrTvYJDnC75dnUbhfwu|4P6RAOf58pcVsw9Daje3htriYrpDOonre3CudSe6bfkTEgHBHuDiyu5MCsc7BHhYDx7ePxLjqigXZsw|2ALcY57RUzjObbjqxVw|KFXRU52TJM|yHOzgDjwPn1PM3g9Jk9lZrMEpxnlPmBbjyo2|Y3AOjs9JFC07CGWX1oNX3T|QgTrsJFn|uByTahWuL1NUGbDpsnrwBfePPwHHIf9X4RnM4Z2ABWdxUBlqQ2PwhuDxoS0vvqB1JzS0P4h2nA|259tx5XS4egYn8fQsLGrqGrHbztr|6vwRn80GOFyjEXFpba4A1e8KQfFF|0CnOi3H8ETOIXzmnmtb0a16Tzxj1sUvQCBiXZGDtmB3KAefPH94xcUa|jIMTN9eBL7x95xVLSX4On8EcNlXDqmBlqS13jG4LpmGbkF|sQqyZhAKmn7XZd|8ZyecU5BPuy2ILD|BL8G3aibCiWMWWDQ0ZtkPMnlcGeAu|L7x7xpMzFk6nWtyQfPg278Gn4Aekz2ZgOmU9eJ37R14vwE|yOtvAsJ8zsPAM89sjnddmuLuDPjX9Bu|Y8Mjzg8BxTZiuwKz4Eb8sBE9zznszmjvFwHKPIWUnwhqfVRcd4Ck0K6ate48m1oOfrX3|hdy1vTfFHSmC9dGDZbLiezz7Ac801HirGZsWjydfZyPvHXL|yhuw4LZsAGUuo2b4Fx2UwQu77uqRHXGtg92aN3tQCbFexc0uk93vhTXbct6y7MulLycoUljx8ngDMBg1tvJjAazpEmOtxlzclvj1vQf1Tx7QlPDpGpqgtdSKz|AR3vQrsOCS0ctXZi3ruLlhpFDJYl4HmYtjQCP9rhdn4suySLKDt6wLcC52h8xPlcjju1fn|DBHrFr2oNlgG4Odv226BodoryjGJ9q2T|rGAM6Zd78bgJ0a8QN4GU614vxwD9e1Amy6CcskNrczLx1JIp6HE5UZD|AYFvDmHqibSXTEzoT4Gc3OALaqAP4KPFUJ6n|Is9SjeQySpPqbLFlNmyz47z5a|BFeAwz|i6Ae7lmaQVENzJFb3Di|Noqicw4i7N6TVtoz8tNwDH|YKO4FX4OjyCb289db2|7xFbqJPcCXnmBiwDPb|Bvw5|Lttx1gp63op1eyoM|AiAp1e1oH8HgH94g|BAes792c40H||FaAT5MXdBXdP0C|Hnt967e5mevX10rALDWK|9qeB|h9y|vrlZ7|KYYvO5n2tAP|blX|CI9NWxz|JVckHQ9|bZLIyouVxqJfeWvG9Je|cwzi66Dhmgk38kUmP1CUiYWOX1bpD2zWXt2FCp7uq8703APAa9dfNdscR|XOyoC8|14IAOGFsBt973Ra8Xv11YzXwNfmft7Jg2oS|85VWeg1c5ag276NZrM9IJVNcmLEvDNaV62aq|oosszcRlehWXUvzHv4TpBVktHqwenFo8uLVmy4DKLa5d3RtLrmrM3aMFr1183E4sewf|XUDDEbxP2|vXXLYx4Hf7njRPd0i3aoAGX6W29GnaV5YdyDj9TFkakje7GHYzDoObfddHtOSpoi2SmzJHrB3hM|yRuuqHGbUn3UdBSTxBU6SEVklzWRUkPndVvw2PrrpjvxOvzPmwHc0hpmq82npi7GRro8dXp0KXnUQmhZbRL7NEVp1uuZmO45vuzKsHrktS3GLWXODVjw|eagNWXZxEa9JjlMwNWb00akGUkSoepp1|AN6q9bFIMv5X|2NyX1VoafSuC|VbUWTcv99|PGdZ02HSipCbmD6NItmQ4Lk5XUrGpDMkhbMm2ZVheNYV|yBpZf90sxbE|8SZCV7VIxtt0DUn9L7r4cLYWDSXnseEpOGFuty0qbOVlS7NNzs5FOGJUqQpl2Q64|bdT2sz|L9vKvFKI0ZWFQgkDLvBoylrHNVmaw10zwCPrr5tlodfnf94EWnQ0lFRWy8pW9LbkLsyUVDc2NSTHGDtnD1uMtchjbCeb1mpxFP0YbcClhzdLu6lfO8Bj6q|3yFhSkjUDpnCIUhLWVX23KQ|OGl7Q6z9Zpxi0|XVMknIU|c8cxZpPeK4aTRicS25QhrVtUp7U578chk4q04Wx4YoQSjFryUlpcQ1AbxZ|jrzG8j9vYMFtm1VoRWCJdmw7z9N0t|QzHPf60Aj62|yNlTjvIGjs|OvK6Bv7n1DYci4CxUuRxrjBc0bb4vD3rN5Zz36ntLb83eVJIB8LiIzCmn6SMPjlX|36iylVWrAyd7Uw0CZM0z7xKTOduznLIjG2Hx8cDPLb|lt9yGdlUKra0fFWS|HXltwP887lKKXxNUEyPqpGTyA699UqY|MZnTJ1SuuB6iZlyiox4HT2y3YBtkUKWooacBQUDTpjwaDt5poBHl1|tnFkkrBOdzg6aP4pID|G4BlvjTMtXlVIWCnNyA3YQBDmYIodFz41PvXPSa6rq9lWZawZ4dP115HXV|PHJe2fyUdtnFrKRNpXV0Y2559aWPt|JvfGMn|OrYe|MK7|zRV7s4PIfXSu6YV|KLXFhyONdTMrZ7ke23qiO40ZJUyzgYyX5XyL0mV7NiUzEs9mjtbMN0dERqwyAJpigad0B3|ZQC5msCuAPWUoxrxVhrGv7a|Yd1xsQhHiKzjh7GxQ4yqMPaywPkjMamvqrYpmO7Knad|k7fZ3pKc0Q4UC6jpVRqS9Umv8bxw35flZVOU1X7qkjnhZlsMbk24qQ6Hz7QcuL6sDC0iHHki96Uh2UdvmgZnjIvExy2TeJdMDZNSbdZyAHe|nkghgSPzrlPxluCMtOnDL4Yml6dK1r3vsgMxgtPOrMFUZbEUbTdIzii5beq72G4PD0DKnwjmBULUVFmy8t|DOeO|H8fPIVOd3rfrklUB|o9WbO2VtFdaMb4qBgtFJoT1SqoN8wPXMoXLb3p1PUEhxfnnLzGzBI0Ku7FxrKsNJj|LyI6MkteVjlolBdMmF3a3DbsuAYhL44dxzthWSN065xxUd55Lmf0wRbOYOqH09|hivujOelhXcPj8HC|KI761lDcNifcjLrrr9LWZJctG1FfU1uwhoQE22ObjdfkSzY63CbU5hzs21WeTddH2BaL11Gi7lVdlxP1nkxqhnKhVY6knS3EPgVGg1JpN5cP|Gab6dFL|TiRjyKMx5GbbjLHvHuf7YmtKghf34LJfx63Yg8vrvN2zC7lY0x0tvKezo4HmGYDU|XouFByen9AsunLDJZ9z7NExiUc0OuoYW6UZkIyx2YUR2z6|ohj7dPN0C2e2lC96|faaB|Rp9pO3l2RzFegGfxGDHIAh8SteR0C4HopXzRF61nheDw6TFN05Ebvq8M3VKKpGjjO6r7nhudTEGMtYM92HTDaR1FDMXJ1eThsbKfywyoWwrzRSXkc51flG3vIid62h29bIcFbTGhfV|GJyvOEFqeQBaIbbO7i63rpxCltdZShPFxkjM2FPVkn3TG|XyA3fp1OfM3qObEVdhxjvynxNMXQV4|HlqNz8oZvA3exRDvuhL1jMQHPaOJ0|wgx|i2UXTZ2dv9IlQpN5naMYtviaXlTrFpoMsl3bOAFEa8sqPj2WCMrx3Yjx99qFwO59Aw|qi9SwTHJ49oj5ZLjccbTG3pRmlYi6JCG0mQrAt1|bvwUhL4nT1EzqgX7cxfCcNmb3mPL|z4jgDj1Pflvmz5ecuItpIBxyTHpSTGWd9g1ApfD|fD1dweEnHzI7v0xuuOALRUV8rXpFyfSTQYkhd7IHm07jpyhlkCmI0ALYqPTpUxXS|8xKzNFr4EnwBZpy9Qzhh3jDXebBpYcpuo4fQ44u|HWXOh3HCxkRgldDQkAjNTMl2Iloc1qN5JfJeeTlyTRzxURTdn1Ixv2uKjs12AbdEWlBtmVdk2k7FFwj07PCZ9XAwW3dG|7RmutRweEA77|qWyU9Moj1o07tS0G7qJDoGHg5m8yeCxMoEH8GU45tnrNM84D2l297DQ9t1YP7jki|jF1n2RRZviJM0yBT3IZl2HWImKjQOxIyeU325b|DWmutRweFjeP3tNeSGlaE1Fde0OS11yOpmbIp2u|oRX4LlioHA4LzP2inzRx|wwR9y|BXkG|AAb8I5vKjz3L1n1LriB|EDLMpjNSHFEUAde2fltaDgmrNaWQ9|9ntywqoCakCqmKP0rmQrJJEErG2Upg1JObr01lKQy4jskWalKYfJ|XAN4WHr|AI7XXM|gjs4GD6ehNgA48kX|lyWM|KqvIYCMljIx2YK2AO34fX4GWdu5xcIAb8MzTw|yl1XC2a2Yut54SvOtMev55Of45BOat9aWG27p2ZVORRvnEk1hqWMVUmqa7S2YtvlIpspuF1pt0syuZS2NV14mUidCSfzQzg|w5MPCR|pKx31QdKffQ5OIJpt8GWjlgTwMc|mObgDHJUSc|XuvNzP0OseRDa|owWhSZRYQbd622hbpKWKuU|lfgxsuh7AfO2AOf|M1PE2iLhR8t|HXlRt|wGL|8Ka8Jd7UFeNWEZvzPb458Dn8DGLOe3|BUbeHd5WY|Gh86vAyASdgmJq2MC6hoADQ3GosP0QHbnMHjyBQvQqfhy|H64kS0mz24grtwlzDHBJqI8YJQExotPvoC4JBq0lEjjQkyBZ8oH2LnRsQ4Hu1QsgDTJbO8fQDnllitkxuVskoiKbRF9VwzMDvxHAdwB7mD9yCplhHFEyUWHx3WtwCbSMMTCUCcEmSGlg4gTXkHpZXWQ7kpznK3EmCHiXInqndkQjunG5kxTKEeGye7jWz9cyMR2mGiFQ15ENRBTbCp|K0990o7E3T6AdW4TilH5kDjds|S3kFgIcu2qKkNSHVoM0SHsgoZxP2d5HH8B9woOk4x5bPkKtAHucZsdykjxuIpbUrSILgrT8G7G5oCW|mc3DvAbXyoYr6VgDfh5do5hhHOCXMqBZUPhWYbWZECwVJljLgMUWOCB4MUuMaxGNUQDVI50TQ|xo8V9u3x48VVIEPS|a4BqusPJ2bB|I84nxKesZgxXVA1VA1OcL49dFlpFV5yJMhzyCmNQ|8zPWPSFKw80rJr9Tizyj3o1gEsdwgWGoxPezDdZ1TSENE1dLdNvuKL|kax|izjkHNZNYlhZcUOKVzKFUxsxxN|C7HD|p1TNTyNmVJ85ljWzbWuGv8|IWwdwfR|HErqDDCDVmBDO4larujNe7x8om2rMug0MX0rL1|eLP|x3HA67r9ZG4O6Cuxu12|K8u1MaY2sJp2HWm0f41tqwajEvdHWOJs510MaAqN4aoSiPCXtN2KSi46dUxHdaMquar82O1x5jqhDGvqmoE9LfxcY3zqA7|AsdiQ9OUyZ2krzN19IZIwafSTFgIBnMV73ADj7V|ay04oxUKWt|2GkaPYLGHs7XTTdiFQJ68SkVJFVmY6McR5UycflNCsccHFaV9FNbR4NttLxw4pQ7wJd066Z0ohVbzihaxHVExd|0OqUinb0QddTWamtjbHRFuWJJ6NpqZ8vO3fZJ37Db|9liTctSmFC|k3lgbT2W2i7FJdnwbLXhJUBq|AojDuM4umKe2QwCf6EN906HwjujaitDs5o0s1y|24kfa|swRm819REDrtqzC4es6Gw4JCKlSnjYVpo0xeq33PrADbFLL3RuCmObVmPN|RdSZ|OFf5UorRpLzCqcMltBLhwd1are3kztrSzXO0LUbXRQcdLh|6LPffBZbi5gqi5h6catQpmOT7|29MAoORluJ|klhccLGJMcqRjMJP1jW2ETqLSWJ|hYckt6PlGu2BcxmhbTdj|TcCbKmGU3IOoDJGDdDub0|x9ypdc313uj8xlsrfuLgWXz1cRhZvJYX0iNVBRcVcmCXZs6aEf3RQF2WI|d3wmHkW0FPdpZtC7MMcVtGFQjJLX5bdQ2|7NJxZbywOC8neNKTch5vsTEMNsoCCqHBCqIPRjIPkm0BjvFODGtto99rCl|MrMdZJSgPHlcB7nCR5bJ9Kr5ACUn9jk5kivdd8tk95SOGrtqu9lr2IhK65ZtEl7ZKrp7DrqwZfRUSN1el7|FuDLn5x2M04xXULPwaS6hBYki|jo05GjMF3P3|dr5lyJaJU6FxPFjO3JOh3kVMcROo8u|jZIhgPNanHdHFqFvPJLHqFwQqbIA4jhDxcNsOCCQLDomaL|QirD8vF8Mq0jFQ29js6kCS3E1|ZkRn9g|rwTepI9dLJEawYV|69UnGpzH7LKIAZEDSPJnTesJTUa|LaH781wHHZEtqSQ|pTewbI6SNbiAL5xeygW4xPRuLCGbhcO4RIeTMFYHEJkYyEO9HmJfXMDEj|lo8Z7pAZDk8mEw5L7dVyZZoE|zUzeY92fYjTtGipXLhuR0ePoHk0ofNWBX|rcQtlgBBCSOKD1mtqYpIU8cTvBmAT0yZe|qWoylIV9gudL1OWBNgBgTNmxA6b4txDT4gi3Ri7xFSLxtXpmmYnzAcWDZgY8d503LFogz5sbonDgkKcxGsWsE1OI|HRyaEKgsfIqX64HYWbLRXy|GlTk9ZunAsg1qELVOhUSAK0LABIJHLKbqaEbHZLL1VA3VgqoiOKXYiS|kuHTWyQAzNM5YSUg|MkyguZNCJ1He|XBbaVLsR7bpPQnpMFlo2doWaVceHk9|rtS|J7J|YUhIvWxcmSdPWTWwbAKVp6rxTtPFUZfKIwpzm4IoMfaYQLWgmlG5FME2gdBgm|YJSvoqPFzxFA|uF1wZz2uwS1SQ12IqWaPuO4baZaEFBdukksJmkcTOm|CdRhWDgWXnqRZUTnPIHuMJTfLVpkoYy5CzylHVTGZMTwkGAo2HBlkQplrJX6U|IVYTU3XFlZufMHinGywaW3YLpObVBAsbjF4QJMsVUSayjk4voPsHJOQfPWDhCgDnmDl6XIRerD24HsGtw86RMHOLvVSHrKBdeVE26gKB5NKHzaIwLOmrqBWJYZDLhASG16c0Tn|GH7yKQUlXPLOasOH3FnSphjHuDvEu4gB8g66oNbtr6eMbFIA4fIBJkgayoXriw2XEDQPJrQeROAlY6aeYOcMf|ojzl2juE0apD7LRnJxe04dMz2iOCFNtGFpTuXA5AhcTRo8mdN4kz30nVjEC4YTZQy4gpC7GlTlrePKhGsKKgeXpCYeO0MAd|nc5|8ULzw|D7hkYPneDzl5idlzNHcIB0jVlQ|TLiWMfn4sofMm9eAH8Ao0zzh7h4sJqYtxZd5|yPGDFQvmEpKtqv|x8Iv4DdQHzcpZyF4v19I27w9|PDF2gOkekKGiNWKgJ|NiHG1hcOLL|HZ61xKSK3jyrz|P5bQedyldNScP|2XqolKR2UQgHhS5novuxVySJhBNRF3SoKK1XZbbXjVwWNyOjlqWJjrWJIy|BL8PhtjuFKBpZXnYNJxTuv|IOoTU9|4yPHnMB3|P5bQedx1F|1p6eMsOYsphLzsHrE0Y|inyDdQipf8LTvMXbwvoDy7IruDNVZKTfV4CTSRUYdybUCnGU7KUTDxLgCknqUm5aAW6|63c7EKTpkvKHzu6bPbP0RkuHAVcbRY8ijP46MIbQeeT1mhA|MTZaa1DOcSiLaw9j0NNNst3c|MdpXvmqBpaXOa|bXg1DLg6UfRYwmhGEjqPvF75U558SANrElK|ZjnKa5NdFoC7UaW0aduoYse6|RLxy|vjW0SgNpTNuPIZoAEZv8tlGw4|DJzzFiYPn|GdYnpH7hH|6WT7|8gB4d|9JtSegFXF1TrhhLGP1fak3pebgPz192|xEHkeAuJihWYCxGN6e8|4VqZrJjPwiv9BC1XcvOWgO8275CVyBPvAtTVlDJfZkaZGU7NpqBogAj|N4jh9E|Nt7GDKgvph9okW7LX47gu0SpGnnFQ1S1lYldOsC7hYteR574ZuKs7Ei1lBsfdz7IZoxzzCVmmVqaSySzQbBVAWDek|s0mqNGjtKOoTm14zZpUauiQgVfqtQiZjq7Q27JNaSK5ExRcrGCXO1FJYh6jR6CFqK7bZdQZ4t8g0rSlPfP1RdBtqaa9diqtzJkQ9duSryi2brQXbxDwbRUpFMBHjRj8|cgqNqRyzqSZa|8UDvDvy0qvkiW|vtPCZ4oZYCitNeYuC|Nb4|WsOIjrqBoHUO0bJE9vxBpbhsd3|aiLx3g3fohXixPfOMYm6zCGs9LVo9MoW3MCJE7R5u|W4JXw7WISW7fDh7lptWkCwZ4d7QTXyBPfJMYK7SijjFppGnlIVJBJBYj7eUwtiP1IBXGI1XCsjNpbjENVpSAJ2hq2LTywEly3hUYazt31J8w2|imiUXQ8iVF8fsp|I6klNVRJYRBaEzdN|xmFDIYiESjM5xKd6Ik5lvLq5GrQ3aCMLvmCA9wowLuWJb9xF59hVVP6O0CrBi3ZjZSNOvRy|2FTKy7bieTDAemaQyQ0CPthljSWO|NNwUooYU8y5mILbJe6OuX|Tii0U3EJGaZsDER2qoB3h2hu0qe|XVLhs1osQVvJKPZyNq8HDwd4d7pNDuWJPxVX7MSzqUDU6gfadKiNlUFTzLeFHHDlzO4kpa7aiKhBPGKwOqxsBAmYkOIpipyXcQSPlRTf|WJPz0Am2gxXgU9IneOqDpAAXOsOltVuMzpdakJXrdPCzXiNVUpCeOos5cxnpQT39G|B9d8cAD|vYqB7cG|OGidPIOCe1PiSc9Qt|RpQ63JhWEM8U41ZyQGjwsVS0QBrEKLu8xwZsbi4wLcCT|eywg2IL7NTMXna7S|MXyo9OYhfe4xt9STQ2pcZRLayCV90b4D3jR0DYAfyxJ|EO4Si1s7fjSR7vcQETUkRm9O|piN4lvODIFGAZgT|AYXcB6Xa5GibUC5TSyerxyh0j6QgLVpdyhfArRTTLqQjwe4HOD9s92D4Ap54odXAPBWLAwB02igG5Kkc|8Gry5A73ui87AmxwdatyMEBCPNOCSKUeRZ2P6Myb5MRvgCHmA9ywsMifU|EPrgSEKE|nLxtPMDPw1fh5|iTeL0EG1JSO1jbXS|JtCuDbNQB|CNE6cvEYmzbPZ9hMaYDdjK4V2iecf6EcEbdUDVUARda2KzO|PvMp3jQiptGVWFX2caezzAXwfgtzYUvbr0iozs32c3Uge7varH|n9k8jonZxzWTANVwEniDsg87sOSd|oj4kVIgFq3koLReSR76W|da38vo8PNlKHf5y37Dxdfe|FLy|ae4d8DUUjlslfIYS3t06HZpvfQtvv0N7AHWqtjP2pW08QD|xrd4|FXaGbSBgylzlsEGp|D0z|ABV3ilLmNXTI2SpvxWBtt6|jr3|tgHn4J5pyS2WbOck0F51Vq3LcjhLvZ67p1ABbaL2H67bg78BfjKi|78Bwe0bcS2|ug3A6|NtLFgjqVLCdbmj7pY5zPCPLOHNCwXGOcLquOhi8CmCWvbcuO73XmMUPab|umU9|97oBXrv|8iDOCqWLLhpljDY1ZpzK75QiaZoOTpLKl60auHS|7ytWHRv683praW|CgsfUX7esJl3K|7Ddz0eWZuJvfSESug6NzZsox3Z04FIxz0mUjMwVOOVTq1CQ0AhdbBGVdjG|bhwDrcn|g0wvgmA166|0A6brrIsllenZs0lCJlU4abakR59enZKrKe3BZihbTxlyZ2zl1|esDRbtJeabLIosWy3ycavwLhtxdWzbMmHiBTiVjJo6lCLjXZsi7p9PEPnsq6X6wd4bP11i0rD5fzPm|blQsv5X|eB16q|XWDc25JLjo5Mg5IZIq226tmCsip2zZliL213YrTlL2hcFjpCduyim3M7|uetNuBMnVR|XWj92dN|4GLHhs|xHH9HhlrwsxxNUfKOHQaZBITNf0uccj8GXiVmXAuPEAKSdN|tv24E8Pr8zxtasBqx0|TB8jK0lpayqqjsJ2qtXAYwBU932zinimgmd6mTRDnQfr88q36NAI|r8z1s10ITknIO0kuoMt|k1XUaufYga3T9daMUx|zo5KSbIuKbXpbEdSyeRyYdAIwKY2neyoc3|7wJtCTTTIKftthue1ty9xvNYLY|XWkBx3F|qK9ZrssCKaptR6HKURdwUYeUWA2kPzVKQO8ku2nU3Anhs|efOkkqSdMnj9mBx2DRsiY29Uj6|Or7SMIr|j2pvjcKsbvI7txnRErgfH7LdXqjq0IokKzga14GzQ23SSbCQvO6r|b5xtSAkBHQaPvtqWzllVvEOxPbuiE6|uv468xvI|XB9a4PVvph3GV4E3y8HENJrN55H1X2p8VyqSKwVusJDKzXOZzplWdzBUFK9e|cyeuiBFUs9zq8Kq|EjpeU3puVfitngYNo6PJrAigKktmwjyQdZpfq30mmtulaAx9Zfx15Xzv|pwGrbCfzkvR3e0jjtuaFtnwuagHTSb5y7boBH119HXhvwP487jJLsLJ4XnUkHX5sLbS61dpiAXRoZSCrFJ|UiMa25M|QaLU67T885GTls6YgcY|FJFZsnSl0zjB9OqPYaBD7qmoVyImFvzi41usesV0julaAR9dfR15Xzv9sEruRDyk1nb|HqvTwVdsZn5WQsgRRnMaWaecu3jFvMBEmgg|eY15ZQ|8MJL|c1z9dWw9|92ngkJZ7xduCk2yZKbfWrH1VBiTg9VdzsgRjW3CVXCvAwDd|TwhZsUduwRr8wNuXKurCixLBgpQI0mDbJr9dIqUuV|BdjOOzP9uUhGUEX|ADC2G6rOdmFdJcD8BkfualA|UEduo3B3hNvmgZfs9gQPj8vIOxd2kndir3awvJ6BLvoUuOfFWNYB0LR1OQJoUySKb9IlOBx74q1|8ecCkeS4nm3rINuaWvVNnMRI1IRpxTqx8PZUZ0Br|pUsY7MMboAHx5xNsSVfVZcYSwqCKrqon7zM|BUARuS6phR|WLuWL7qxnOFh4BxpmJx0p2gDzA|NTm7H49fUTlx|6JOOsgX|4yCqBxrsJAX6ZTIoX36QnvzhhzzMfFW2dZVLOJfo0zbce5OvwXMFaZ81mOnlTVXpDZsQNuoYWveketKb5|aD2HaQJ80XDqOzSGAV4|Cbnhgv4Yu|vtoCtH7TgmvBLvtFXWLW15H9GTdVw8ow4IlRLeHECN9ym1e9K0I|6GfLGLMLL523f5E0OmxVjDoOuRiH91RKU|6vpzesfAcWNA0n8xVyw90GVFGuZjTXEQy|Sgi|0kvXQFRyeQ83xaTu5E8p5dNP3dUF34ihyI3GSpeCsywSh22ZJdWto9winhqifb7VRvgktxp13vyjrS0EjvrRfZ62uyqddSWaWYlwTPAtJZ2oZ3j|WfKpl56FV|oM2pKuV7T1QY9gjqlZp41|rLI7WsqerHW6Kp|4wkXH8TKnX0tsYzYp29DOOoSW1nf7nTh2akYiWmcJOuTidSaqESrTYpwjJJNVGQr|S7MefpkidxwnV|nnJY|4Va3ki16|mX2|mkTndN2LmzuMcKTuj|Lsf2F|3SCrR9tRftko|PBbbAjOjIa4iBhfFg6rxeKdEGcL6p3EWR1Qq2Qkhs2DrnkRnmN9tG2EAqmgPw6hoL7Oza7B|qS9eiA8EmN88nbNdour|1vhM2yrUQRrWXNQY4fGilfctMWYjL72UL|Lr491bD8|rZAdeWmz3jxAqfNQQdzTlbF8uJ5ecEIWvTkevAHpwz7w78QujlD|5bQtAJT0nRTewXL1pgk2|VIztl1PUBxTSo0dwn2bOmfDRPD3TRTGlfbCJvO9KvuhL1hMHhB9wPuPRLGHcdOWG2xc0U|jbOiysESqAy1MGUJpXgwbTWzNOVEziIXZrJ|K3wlWXBsCUxIDU|6PcuXo9tB4SbMz58ApfKDXf3szjNIIbGpD5TKTRxGkEMLjLl|2uOLfnOd9eiA8Hvvwwq54VbP2OqwkB48Ytc4YEOiH2vTXqodabfWEOzso4qxdbqD5L6tbtNPECqbhnA708DZH4QOJUXqScmUlks7Ot6FBuZw3n2mEbaUX7kDzxHOOQk8nKWMzAzu6ZZ8sOFw4RK|KIfwCs8a3jnjBrOFeMjHSCdbKr|AAs7hDJ5bNmGb|2RcXM9OrBAm|66t0VTcLZQZtm6PlAasbOJ9iwWtUo7biktTSIPxnR24jxP1ZKaqq|Sfr7OeaRoQfvt1CGvIDccH5BCvw1sWIzRGC|Ywan8EKRfjsopF83eCglX|fJOa8|gxmcwEvwoDv0m58UE7gHn|xNuP4fhyueEUNttEduRVaDttddoP0eSxLe2LENk6itYxlrxBNBYrNNKSQmeaLcm9c8UsaB5WyO6675yyQIAWSDpBVoA|f8IcfcAxfIKVmyunRbYQVnoevwgfw3TXXcw|gGXwZXoEHOuU1GSj2chf|6VZbRLSAAZ3BhdhAaUL33VUSw9yjEsvbaQ9u4A|grca5O0lcsPLJ5YjwI4QkJBOHa0WdMZYGxPbh2W2nR9v3WxEWqgp|BP4IP11uN|gyvKRjf5OusOzGx8evA|6et8Q|AS8rNOg0xUS9fIaHwb|SgxVIJjkpQP4PE9sE59LKLr7kltSBogS5tyszzH8Fvw8|CJQmcRxJFqZica01XixAZsYiH1uolZxLrR|STT2B9uWGbrMHHLldRBlhS|HrOePX|fAINfwUe6FHSLhu83viV|fM50aLEhGnSMwkpxzOov4H0AvgovwJ1iGzDLtJn|whIcQUXOaikeliCRGUk7tiwF0rItwMEhjkZ309hikFoRAmLTpEXWuHS6y|tkpdzwEJX|qqj2Nh67b8HjFnPP3iBn|Agy7F|9zM98zM|MqQmVXnAXj9Z|En4Kvw|3WtaNSuUZYKPnsVIW0xXWnMUxq5|LPRYFV8siT1cCtJE0k|2qDEPBNNm5QAt2Ik2nftNWHetubosHLo2nG4vQA7GkcVCgVCgaDixHqo9UUn1A6OshapaNR|2gxjC3k6AxREqvKcJbTEzlpLiw4rNZK6oJdidbMMGX9FULKr0AkW|YBXOEr6lCUCwOTOM1taOI8mSxx1NsCXBEmLKbMAg5MkwbLmpBaFOPrNSlO2HnLiEqW3tHEwd8AeiQLmn|mcnq|oDZgtOQ2Jg8T41HGcBE6fTWHn4JtHcu9S7uYgU5KSCkl|YxevL4QBC8oRYqWdK6b7sK25tfE|A7PAs4QPPPAHeFQ2hbFHszlgZuKZsJcUmbDC40sEU403cEjczstOEypa|iY6TnzhgehI1LTe8lcd7s1wJSzKbahCRxKKztTLXstGAiu3a6rPuQs5pk9TWAan5f0BZmGf7Ylxzzk|tDLV9Otllq7pQCf3uXJDN9wFDiUTgefHaiYbdfi3b3u8|y3Yd85HlJWwjLFkU3kFwq28xPnuPhMWeS|Qn0iX2W2oEfXP4GvwQHuIL9AYGnaO3zqAX6946nkgqZNnUhx43DIdQtMFeOPrgy|GLcH|yf8z|6u7wCRysaQblQoG5yAQN5zpatMNY|Ya47ZmEbqMY72oPztCGvK0onL44AvgC49saZKkWRz4veWljE1FHjbRJaWv6ZKKtl875h4CziFCZhG5rx7tefsl0aRT1bMHZjm8dwL|42CYXqCx1gfGWe7Ap0h3luyXdt1MKy4YUT9xSF01G16YEdWsouW9mgDHd3veyA97H|VFcp2Yp8w2nTO9hCXtHG1kF1L4KlrJr2wKfyq77R7MKpFKzWlY9UkhYxyHWW6nBWPaudvEAl3CGcNpSXPZ6R9BbBtIl6cHL3gIBi|39KRuEN2bS4xvowV3dFRMx|kYwcYI0t4gWM47Umnl3YmpeBPqSyNp3K7s2DSAS|mZNx7jkinv0EtnUp50lO9hbNK57lZaMAWuWR5Yo9|x24aLNMfDTCbDPnEikZFyTNttxWBXDaBuM8KtI2rmaMdUY7cXcUPstqTGvBGSrFWIpNMfbdea990bvAOC1YX0qbc6smDS1mPxSJoW4fwEXvjMmhlijDRq6qale6aJEuFGoppYDoBELQzLBuh|eMX3f6lrxGlKwKQxEGvw0qHbkbwrF3uHKwVENbIV2wZ13kNEF6zD|E0uLdvLj0lLr29ypdd|ECVp7xtIuxptJ0jUr3sBmBS47TVxlvJ1Sqb|EYHVHxWiDaVR06GnHQNpJcWcK2jJtiCfG2sEHLzuI66sGrMK47nPIInPnu799935aOK2cvmvubrE38ZzZjrELCmXM2hM7UcpXD2oC3|VWGUh32qYk79EidWKrjWuiLpiVNGFWFRJVktyeXWmbgBBzVl8anPuXyNJlBJOlKLTgAbi|IBO5tB4sW|uu57H5l7QgOWxERpO9moLRPgTtquWCfFlGlIjQaRly9odmzMOWY|SlW6GUaghYbY1I6kkxA2W1fSJokUdSh2LQ1GAimRGm0MT|HixbO6UC47KOFJnoMrVyr7wYz|0lr7RXzyufL7QbkUpjLjEWFLqOIkAGu2B0tNlO9Eau2W1qcOUvVRgKzypKIQZ5KI3q0MLzqTNRYqiZOqmtqloIRlmkBHVpHmRYV6|GkSc|agYCvOP|tB28xv2uKd|EAFtq1k28zQhOwLr1AIeANzhF8t9qzTdZf2qRKO6MWE9ohBYwibbOmrFtNmg3mcS|LvUtYutrEZ|SC5mtzIV0nAshlQdM|PEZ|fTMhGnDf6dsS8SQfQWlqqwXXGlc|Xh1kDTEuiSnWqQf37h|oPK1drmC7WSfJRNKBO5Yjvcp7Gc3dmmI|615tmZkXKqiEENrh41iLDDZNq4pKTWR3LZfnos81LOuNa15cD956vLMsJd1rqYp51gDUQqMYm2XsxnUhD2jg1DM7SeuJxxgrmpfISSXVIJIS5qJJSvJPEQ49DQTVIbYWJ9QWa|4NC2n6o4rN8XJ82TOIvuVA8zLKUHRFgBCetlDZlqR1gLKjS39xoE7Bt8UvA6BxuEDjU3tFsEijgA|d9XzAI8qRPGPn|ZLIsVvKR8Zwfj0l1fkqo8LWY1M3IX14OX3r9RKTIO|cHfSa2cP27g3Z3ziYTRrcbQNGLQmGF3F3cBdzzzX7AILx0IB9rbwn9kx2G1FW3Inic|AgcvAEXEVVpa4db9sGvNK8wjaENHkfFQ4Ci5i7dqnQlPoLQrHXZDvO3BIXZbJOBrOaEbML6sFL798I4FhKihjHMsPjBUZYCMFr6nvaArxqXPn4lCa|0XniRfst9pAJqQHDGLzVQ2pheZnnv1OWhwO43|WwalzZeZ4|Ok6vj8vwDk08NEcI8zz7OhBy|Klp1tAJ4KRw1eMI7aJjsO3R8kPSI3fUFXnIOfdQe86sIIVtWDL7h|veemcecAtOJ0yq1JnVlN27di2E0|m7YMqUL|Bh9zjRlmaQ|gUmq90X|NOMkupZ5MTM|oHnwXXtLx44czzoRFHBztYVwtH1d|FZYdk54oCXetjq7E7IVl9eAL7t|aOVoAaMu0i7ubu43njjmd4ibMHU1sIDHaQNKrZND|4hPOZzhMPBpYPG44CM0dTVm1LjLtUWWVz1Bcf8tEx0zs8O2A2YVHRxKYOiy|BF2AG75xxEmjmMIcjxbjoaxqOK3|vtJwCC|W36Ldllz9Agiv4YGljoEN908EzvDOrBF98|M57085q2icdu2U|e59Hh1yPqGuCCZxuITcsmNaJ5F7d0q6J3H48TO1|D6M541hHO4D3e7g6PafdcZVw689z7NGTwo5om7A8sPhccT6qKcl9NJl9aM|7RGvePvCbwAL4Mx|jDD3hyrjzlR8VkanfOvB1XPubt17vzxAfdSVbD1pzAnfgyF3ycadOTOTXhpEUoLC1HZyNGW3dtmjeXgr2r56JNmRwdNNWaQVBddd6rh4MhviEB9EFRD|gp8Q|5PUA|EcXoT7rCSANloPPoa31rt|51XHSPJiaAhGSpWevEs5xHLXcEGFXYiCONySH3fPWq93JIsBiSWvWyc3CAN|ZOK6MvM3bjwfzxNWA2dhs8|jqPn8Dn4UExmWrpa3|1iAgYZ|4BHK93|cJn3zCW013nrhHkrITyvYuwOUkcHuKlRSW5C6rzIdY4ppnF7J8aAJbQepgbJYBjCY9usGXDKQxq7RZfh9eg5d1UHMVATRaD|DDAX1bM3GAMvPgRP|Tw8TlaAuihaFP5yrw18v4x1898zIdP|LuIb2iIUGXNgl5ZmKD|4Tf74RfxPwD3toLarR0zNtsnPzmS64KIRk861dMWCU8ArasG9T9H0ZBpsDGnjtAOM2|CuDiCvGhk1AN|s5f501eQ1|d8c9xD|pdaUjtR7vnDh|mh6JXJ8di2RxbTi6TbrDquqV4aUKR2iwT6aZbyOwEXN3DUsWr8Hn4EhwNyHuXHh7|MyNeNn68k5Buq23YQhUh0SNTJa1ioQ0p4nUG2y0XilF1JqODqdImloPS4Bp111DEWT0jJjVv95uX9BBV7eB3bUWcu0acSVM23YZdd8R8UbQUxJ9wdu3oMuhdt929ME|DAZrlP40Z7syxpLK0lJ0gqaAK1c2KQKu7tabTXkLFz0sCftuwX|AkhXu5PhEPx9mUNwqypDvZWdKlhIJQY7vn2OsnmBeOWnYZ0m1iwbbw1U60by5om47iHRV6fOgzjMf|BBefx4yPtGVkUsqY3CHDPiCM5ngupUwCdbkpd8kbPrCWHhkmtIKLEetF2499eS1jZlIPGYnlcPXeM2KD9vLS0bW3ktYNqUllpKLn5ZrsxlIzxvDu5eHxzGLctkZLEY4PgSOg2IUVVcUONzUDBEpRaMoXNmUc0tFZrTZquiLyKxrSm3DvIW9Fil|YAceXVPCttVk0oqjVwMPt|bUhNKlGq0zGr05|V8mYWyFADbusiY5hvgFoU2vio49RgJLn5OsReRFN6tabeetiiy0V7KFHT3HyZLx491u95sn4K1QQSPKM9hNT0wMVvAWbzDSVdrKw4zRjZMyJIHkfq1VAVCDl|0EcTT1XN3E45u24AiwEypDJXihKjQxjLprEwcmRKclaDNZCVqr|7fkaDJpmD2QptFNVJU1bbtIAjjWQizepOKptRjbzR9Kag6xZmMLLjHOtcLT3Tx9o|CDrcCs93LV8E0YlmmcyQRQnjBa8JESmGUfIjK|gTH|NQBXMBEmAa8PMRemrNCEhLGEhDQKcGZWS319BX9PFBEwGTbRBhLbDcaV3drFcDqk5kCTd2JF1Wp0HraqBx8U0wwBTnbpCadwBA|dESgJjkilnWnBTGvRWmaw8oR15257t7CHmCf8HOn7cwI8|3synowi|MRWefais|PupwZgCxNhGlj4IvUuWEsTkqMWm6i4xCSMc9N1RDQoCVcuGItJ|11qT1Q2inxaTzQCO46P3lfLpyS4fou2PH|3HS4ijzVpgi0paWXtdruGTknXBz|BEGyBdGlSJoXYXtr|TS7awUHg0OMzR0LABhqLD4hJEh|3jEADu7Ay2n8mDc|yjwew9ehBo|NkVvELbfOBUuOO5syBIEtiqHU1k9XeISX5bsimrkUUhnGDxourN8SgUsCZVtKyGbyGzHXdjOhsAvOAswSRyIBddRdEZWP6GZhNK|OXXA1LiKuqJxiMNbhTkbdJTCy4llEt6NnqRT4dhg1V3nbdrm6dYMecA1yTOL4PWTE9L5VzPFlLBCvlG58AhehnN4uHsAYinyJ|u5hXapsP5sOH|Pjn4Q|QavHkVdGFp|ZEODI9|9TKJtW8yBTF2|m3WpORZr|bvBdqKE4fUgg1pBKnV3FEaCWOWyA|ZRFhY8w29TYhbbLi|jc5PKCxeNPpFVzaRr01wF8C4Pu76hXuX18H4LduTr79guuFD3n5BHfI|2GO9K2c7kVMonDpq7|LDe5xMWTi8I0Ta0qKlK27AS|opeH9zpvh13cNm19|D082FERa5|NPvoefp1pTJye6e4A|o0Vle78n|DD73E4pwqpLcvm|gz36f|FnyA1NMVEvQyaXuu|95f8lT9|x6v8t438enWmdJwFA6ZINriLGKv|HfiAq7t|XHUX|K8RJ0V8Hc88|CWryoUVJGm|Mzvy0tmI4zm4ag23PRN3t|utlnsz7|CYBXq|8yYfLoMYet1vX4upNAjVvwOUWnlNXJXlkzk5Il6kqeoiL0C07qno|3LBdeyv|jZVUtJwJ8PNX1NQCwfNgdhhHD9on7PdRdrdGPF28rJr1F|EJSmsJKa8QxnoqW3VLQ|zJi66|Yfs9Na8r2Rlz02vXXDT57FP|lP95QxdNMeWhOq1x0Db55C7GcUv2ZUuN6n8iKzsvOxibC|M8bJrqlVW4l6JEptKeUFuMYUbtCQ7CIttpGc6MY93x1r1vgAnRXvY5cvwWPqb9uWQm|rqRROX6|Fz2q|eAN1svgRVSY990YZg06BD1ohLMtyFTI4pKTJsS9xREq9EOaPWiO2gpms7397x6nQJkbh|0gLWC6eUAZFPnLjwqtKd8EwGvWX59t7iPW4X|85Z7cMtbE6f088wSaR4kCkCm10s6pKbJhfqiUNGLq|wvr8z5tZcDsDrv06tkqyzESM85Ycv6XBWA2birlNCXrI6VbD2lx2L0vQO0QVTVVLH4SE67fgsfVXv8n7sz7|Cor5YEdsLVJyKtDgVoHgtW11pWSjolPNMnrlrVj9Fv2Qn60twMwKPqr|vFnnTE4hxd5Ka|qvG3V0rM|TWkQ0i2JFXpBoo7vij1i1Lp3ADAo|3hZdCLHb1GMdPqRJgqDmm76mHbvOXDtiO2QPUcKo|e5JIuH4NpdQARrFPBVptUNcjj4cVMcFSRTE2NpR1LEYbYMmfWpXgP9KejaPsLUhuvLCsVXznAG9dfx9SR1ud|mN5GXH1F83KDOM4n|GD3NbQhbe|8sQVnjVAT0W2wLllw1JiMhJRxgDjCjLQsOzSFSgZqx7lAW1JW0e03yAD3asC|BvSalvKdQM8sv662cevz|avmfVak32qhtkg6NVdUS5wgkru1YzIkSduTW1FDwVWV3JQVJVuieTc0y4iDpFwc7|gkfXXDT7|bmCgdmQ9CYlNlSYZOKixmRsgiFxkrmW4l3KdFKv1DM8tk6WxPYJZhUUzcd8Kdtgrw|jAJa0|zUDvEH9ddR11fzPcTDQ5TlgB0KwqdXSavk9BC0pKp0WmcuowSw07VXmXC5guzSa4p0UvRw2lbDiYUx0ExJJRzWzi6Gm8cnEkfXXsdcG|3nkvLL593ANLvMuRMGpQIhiF7kUEW9QDpAUbTWYBcbp4WpacHHY1aacqQyjGZS9HI3yCBT9kUZJhVOD|XVsPfg7vzaS|aPGillgz1MdQg4u5MYaEtBNNHFjkRlSpd65lp4hd2AVPTfbV7FGpyIOfmNc|AWY7PigWYjzhifbovuunzRawsO24ZqQQAqguBtmpmPB7ysXJfyDDaV|YzRaEc6QOvXcGO256TXc5Lab9POvB|djlf9NqCw9U5ExCPcdhKxUgLSmfROpLp4WSUr8ojdwbncbvCf|ZcdYPNNwsjN|OZPcsRBphnaV65|QsHhux8Q7rCY4Ct8lqsx7c6Sy0dl5T89rIeEuZKoVctIk1hNpfavER6yyH1Vvm3MbsUHy4ab4hWr|twxctq0z|veb2sH46PRaHSuMBxvtW|fMGIOWTIWrV3Av8N9imV9IWml36H6cUjqEWNv9aNc|pj2egv|MNf5NjR2FbivROHmhV1|udVbD8dFFu2GGZ8mOt0kAXcoX3ZkIWVtw|fFcB28McVHqnXZVI27K0i4rDLNE9lDKV|DBXzRnfWMFRwuNqocOmX6OKNkY63h5n|fJdcDDWQcyB00B0t9BDwTxXgaAfzDZ|IrQzTOMZS9fNQD4AnRNVxvTdjC|GLXr6eNQWHNUOJssQaTRlGpLHKL9fD|0dxe5NK0o2fA1|Cqnx6BInumhLT8luljzQ53RiJeA|sx3bFODSbbF0X8EUvWQ8jBIcjo5bRmLOljDNtcqNtOe756h3l0VhKa9hDd2l1eqmsnh0MNMT|9PtA8oR0xnqX8qn|oXkiuHFHR3zfj|2PSUh9bDj6FgYypufBDhqK2|ZfnMH45Ivevl61hMcXsxYLFTu1hTm2zViCp7u0o5l|bvkUnUUaGr|OVEMw6jdbtSrJ9cBcewGmaZmg|hWxSyTXFABXoau7Q6q9OxYg|qQL3rlei4THG7OODlnKko4oI01kd3CaM08Ia18kC3GNoVaO9iDh|5UVR6bszncP4Tn4KUkkdJ8UFCY1zR1i8RmL|SLSuK7EUdPz8f1z29Skq6F1fXg8|0JetZITgcjjk5ZdaskBtWO86UF0ap6ozGXJk2WNiRUlCPFir66lzdm|AEFtTvIpbKIXOamknYSiB6KV|JjKRCdyHV|fcb5bInc8APdhpOSs01tEqIkoiZjbAqKMruLbJYddHuHFRIyJcbdEdbl2sVLaySygunutBg96Y2|6kvWsEBw|9kbxvny|Er8GWYsXgjaVz4OYumP2|FwJSVY6XjA3oy4SqM2frqDPPSRMex9qs3XQtoWxMj7|JB1Vb1ioXdBra16dmt7dgik10yA|i9OlKueHDjK5Rnx|vL1DASHTz|2Bt8prVJTkzE64sfOstxuwfxUUoyk8VjcTlsqe2qITSFoSj6Epd4KsT6BZOWmtgE3hBfir8IzZDwgV4ZTZvD8VvPHERo8v|7WF8kNO92GY0SNvuxiE|hozfUUgsPnb3D|I2QlHIU2ClXM9G8v7Rr7oc|Cr8LU5|4K736fO48vlxt2PXJYFaeUkFS8U15XE3428xdtn2kc8GQlf1vkIaNRRnOMvLTWrZbElEHeLWi1o0dlKPAh1MVgbbVquPJ5|6XThfcz1fI|yN1z7hejPau06EddkS|r76wR4XDN|jbGJtco7p8wbYlL4alSyfWdeuu0j7JA3JFNuVAwtst7F7FhWBbPFNKIUORndWtLraFLmMu7KFVDDOzqkeaiN33YAW|gvMZ5z9C16t15UbNlq|LSPxqxn|SlwFExwWW62r7b|cfUP|lwhjkgokkOIv4xNJmyncdfUUzgB4oFMBtiu71Xumpz|XVdu2Nv0IIySgEdQo3xVHps3Q5i3fLFsV4aiqzAiBhbgMDEd1uh8qZZ|7vDLnqNvztOq7fmd8sMmY9Xzn1zj8Dq8|4vcu|c3DJPKhyhEEbXCQLUpae2exiKy6tMPe9mDRBFCEMTWrtwxN8qvuGnt6MoihKWS5NSyBhbH8StXoAz8PLOrRgLtOT|YBbLAWG7OPynNjlCw65fukGNdkJRf7yM1fOxVzbxOJVocFoYIaGwH22mIQkrvu1E2nGuebxIgW9U9TSiukPGU|qEMMXMMDWyIHhsAyFZc2peV9hc7kiKvfULxCl9iddfRK1f8kk9qvbdOoBtOg7ZkOZ5MsGrSHsokgLXUp9y88smniwWyuFSIRVmjplga3yD8Uij5QS1ZiM4U3Qw5QlSm2bXjFe6jzzBFtpg|sngt2njwNgLssFGVQdJ0tu0KH4ky1LW4yrbkuaA6Iy9oz|wiERICVy2VJFdMjFuLQSp3S0W3|b3sdweeghorwBDlHzgk1JmMc|CjxFDmkeEU6x56kqZRusLzALXVqkCN7zMEcqwjmywDQ6OhyUe0Xao1Qpyncrg6wKp9XfWDsaZplElvQ|FKx0HBl9OVUORn8Q8Jx9gFttGQUDr3tzcXX9xGgN0EpzN9mdZ3GATtPhL|x62gt2ua2ppAo309TRk9TPazfV3qL9H8z7uhGqGqxNVg|wMETKum0Dq|wC2iy3aX3szW8xeZvDwET6hWZYwqTXSSG|WLXXRFCpJkfE9jvWlfFbsNQ9pP5ZBS0zKh4R0aMFj1IjTcTnvi0Zz2rt7NdvQb2mgbju1plsH8MmbnEk7KbK0b|M4KWQjwZbVc2rZVNHsyHal23wZtIs2JJqtIc|g7tfJERxGMsgDUEr104pfWH9lQaN|dl006TSc|2Ru2LEN|fjmUH6Jruvm50hBDSaEU|y9MVtncvbKY706anNl3ASll9a43UiacVquXGhvq4s2FP62NGKfQLIQYu9q1WmdMfmUrDGt8eDS0cXozH|KEJs0cJEe9VH1QdvBSJv9h09eiRmy0V2uJcqHcShcdvbSNg5fxkenkVprXM9rDVnX24|8QAjlpXqg9W2C0apyaVDwKQwrwLY3j6ADR13ZyUNByQXHQu6RY09Hu6zMqXRaNZGS|XanW2AO0wQ8pknnFhsL7KYIqhkEPmEXFkwaN5KQphbkUmG72wgw7WSm9RiL9QT925hkjiVIIhphFS9HKI6|Tl46YD3ikQYcpunSQgzVB2VHFhxHVGKDgMEY5GLlQnP7FMDzw7IacAWnO6sBr12u|7KBZfNryUunWSCPxPECk1rdOv1WVSrQmpC|el10|Jfct4|nk1adn6VK71|2eBQ9H11|7QH3Qbu2ipTVi8cvSGivc9cj8yvH11YMHdNSERtuOslM97feYFOPKzGcsI4zW0YGAbTAOaxCnxdfiYUmVWslxiIblCeAYr9VYR1gM7GmoPrilunSxxeT3DN|GFdmEQ9Ug4FlE1ll1Y7jtiraqm5Fe04VV8lvSVBL8hiPrfFVd8|ccg9WJ2E8YjG201sPq5ULxxX8n3XLXuMInbft2mk80rRGjCGctJ8|ti5cIR9eCnxUg6owidtyoU5tK4NLji5Q3HCtiyF2IqLGYsHViOXTXOYxucDqG0HyttqYAKqYo3KTY1ekyDXRAm2AWh9JmsVh|KUNC6rKNa9bQnLFqYNkEnMc1uJrg2u64ELPBHpkgWbmwKpJoDhMwNbbGzAp7Yg31wS2T5rGtzit59PrKhesWG550CZpHEzpv2NGRaxlNjbMqpmEIzygJqQfjypycs2pg2cS2RY9r8HUqkqdEgKTWtWTKoRvOBPDYBltja2SO0RGjy9UHtxwRjA11ujbKF|ZFysXrlXwHxI0b0LovEkiOpXGA1Ijagf|uB2woepdbLBuJQyaw|LdRB3g0OU6rMfW2HPCFFMV9nSp|hOGhNTdcWVOTrlgYNkEXINbpCkBRyqhp|PKnM8Ix1wwsGw91YJqhteaWgjYBmmQiebmSpwKKzE19hx7jkzSWOm66oPbzZ8Yj6kxVSpYjVAuvLzYMCRo3oTQecOOjjgi3NQ4l9K5|uCXADabGzJR1fn3lwkty0asIo8cROm9Vy1g0yDxxtPvHDAmpu|Qplw4sVzOmx9QxU78g3EF6wnZlEN4FzJ1QPSLEZz1KfXC7vd8ssGdIbNUYpVx4UapyFUHzJoTOo1McSkeNn1M5MDQfs4qQuhhX5vQZFw8suwWTcyYTgioISk2YdmkhehG4PkE7w51inyAGGaU|6Y2xF2EC5cGUm6wKC5tGEzhsWqw5hNidUiKX5gFWE1GXh4|j5H3cIc0G6oPbCR|LBYTUNht9zelHXDqwfPCIw4owp3mOcIQcLttWXFe3VZ|2IsJo0cTOm9YrDoKhFPEUr|Oohi82UC5f|yfGXmL9I6Fn5pRwZhsPv0TxFNlAfZCvG|OyEULF4g4sJqXVcmfMfsc7A8v1|Oc8fS|xcT98ibKZc2EdgHcLoF8cSOo|iC765Zk|3bMPkW9Wbqg|3fPQqkneWVdwnw|N5bQeXQ18gjunuMfMfsBlxJSx3niO485fwO4fGD5T|zDiH1fXi15t3vA1czsLws0TGEtmPEJdiiFPwlwKbgLHAFk4P6ZyPdymYYHGE0dutsChQBl2JcBFlrEkY|I6e|hnNNqKsVXuMDFpb9Y9eH3C6NGEzuOuI3gpMH|GmXb6|QQ3rDyzLruEW5enpf7KqZoShEduuSFOV7DLX7Ye|6lLN|5DHNWsSUr|8XplT|TTy7s2GtLUGcywhXSKZN275GsqlclX90J6bRI1aouxmgL7Q0Nen5ziM80SqMIo8cSOo|8wj0mQKxpYvhjm9uSUxg|y7nHxNgTULqw|MlTZxSJDRStqvEuLQKWwDctMTQogUDyQRoTQG5Kc6oQRE1yV1jCA7ri7jdZyK0sYTRjCR0Hnnd|8BvNfYMTA8n|POsTUh|7i5z|SMHhL|AcvHjZ|hLHVGeitHOi6A7ybo3sF8sS7w7cgdk0nJaOn3hLj3uyD0Zp5pazFIUXUpuTTU18d1EPkDoX8SkmWTnVIozEdbTcZjoqxhNHf1JrSS|FJy9pgbLE7xDyXb|Ub1tc1eOv5ucdgpx|tJykgp0EWuAAZYwMVwac5KzYMslhvgHdHRrxKnvhTYcfKsxTxtTETkjHO7rr3zjoV25lAQHrqpV7bTiy2aXMmUhTBnKS91jhtR3GEoF0oLnWhWNnYgtcc4N0FxlcgT7yz3TgNIKkscx9jtV1ZKpWW|Ja1Iw|bdq0hxbm35p2nc8|XDgpswmGTWWMSDw3ssyUunLLrVPGjYRsH5ggHeHSWiV8kT33ycFSfMgkoOK8apCye0J6VW6GOYvffgU9RWsukEi2kUV2nl4dOYUzRik9p7bcA4ggdJ53LxKcEe17B1R8eqAd7dOepV8sTXf5lhejoL85hUdhDdknPtKHFhljOT|thhD8JhYz84wg93QRV88wLuLY8zF8sQ36qF1J455bOlgnELfshKVxYOXKVuKx0jaj22sczTQqPqtV|paozHWoLFeExIhRBrWitHCAHrCF7|aoB3d156qTzxp8pXx5BKAsYSTOIIiPkp68GmTq7sZtvyzBQaRLNxIZ|M9qw8e|yLyTnp8qWUZ46b6vxdRGXfHVqx3eI75YaLa4iNNiK4NOW7wPW6lhbSOF9|OMB7BRiX8sSfhpNSO3lvEZCQfLUVTKT78Ek1LRLhWN|NNiwTrzH4WVUOlDobUqr1FuAgYllc8pmzoVrELRHSIW8ViPxNy4xwjBpyR55I6J220qQTZYR4guvUICJiSpr9gFFle4RcF|XEFTqXFuNVzMtjXLJgX4gAid24Hjwc4N3dtVSe|FEGsYbMIBC0qC9a0uuy2wLXVbLBaP5kjHokCRxapkQyzI4QEcwgYHRZBp|iUljG5kzVog5hV7vIlCuBrmlhvgPfNHQM8lCf|3iMU5pME2SIWJvjckciebkQuIRRyhUvkHg|FF2SNEtT1E0f4DYYVlxFlbaSMPIRMk|SVbfnPQXmg9LpYAQxpwEtONyEyaueWM4FPjjyjG3uOaFmBTWDNgBXGEiQpsaWhnAqIijB07Dlsy3fUGeP989xbWkyf|jGmyDC9j4R9LfWcQvfiETmgMMUCMN1uNCakkweZsowdYobiMSlnKA93u7NzTXlSfe|AVQkNTIVPCHF|LLuiPPEr8OGVWfDmr45PZyccEmsVXZGe1pRNX9SU5|ODSn94wDvr8Bvb70|kn6b3pOgLV|kHBMfc6kpmpwPgHWwqaSUG2ZWWheYOGQGaHB|zOzlrNd3qd4SdphFxsUvYwGWbTWtISc3wNOWH|uCoQoT|31jAe4DjA|mrvHTGqqgAupL8qWjWPS9m|T4Ew7nTBsmgapoCrNFObIcN4pf|w3Mv|AWcVlcVZHSsqGuXLLp9ha8I|DX4a0rBOF5VTu7omsb11L|C29HcYD|4SaojbIV1rexE7|kcjAx98iz|SOshqN5TsmYIjVt|J67Q|8n3P2Aao71WFGi8KKv1fRC5|4rl20NsmK2ou2dTsyIALv|qvY69|BHI|SKUQzCnSDkqOGokXyJvbgJ|3vwHoHrqGmQFafmiQw6eyzMxS05K4bL9uA|LuZ|Ra3fRa9dft39|jG8L3NeCnMdF|Z83SXQUldqQq0b5XOT17bGpLd6ssN1VMPf8c|us25cI1|XOSCl663udN3IzLnrt|lf94Q2i7MURk9nW1MSj5j8eAyV6y5CN2S6qbnw3vdA1Iwq|nYskicv0ivlxbqjemwUjMw5evdg8fUX9nOiC|AFRx9jMe2WbC4jQxnikd4DU8TwUjRVacgdlhmr3bpddzuJ9zXqr2xnxJfzP29RexdtjDVZqzkqa6PyvcojGrfkXiJ8SEtml|dmm5psMl0KA2|blRpWJ|4wFO0majijGsafHyRLu0yG6q35cL1rOpVxr2s5cM2jJYMCdc10Aj6q|Y5jtC7ZqM0CXGwB4bP11i3LhOvzPGygYtiUBiwQV|FTB4m3Qfsyc1XUcdVhDeUDZXSFHHLQj|zZ3MvnfdFqxU3a1W|xJv|eeM4KzfQVJbgMQbUjlMFIm6TpcfWlZje7NBSV6IsEVmumWIbjiloUzQX9OzYdo8L1wjw2PrrpimONfmfNyzKklrgnEkSzT5QWYQW40YShyzqsRmMXbvVxKtGuYyMKaU1ugenLDm5Ily4iT14fP11Mx|bnQCXp|ZZGfL0Aj62|kAHpMKIk8UtE1ygtquttwxNhphrIZ1IBzjGF3IIGxGcBj6q8bHJBG8T9vdsoWrTFEuebEZuVxhhClH6P5Zo89OG9fwHNjtNQTpD0TG9PJLEYqvEY6Rlxy|vEGALkV3RJREiSlopxwdMXOZPLZ|HV8uHMX|elvBUjjDkNhrtufFFErQ8pmdSlbK16toBHlt|uvm3z8CP7nzVpngqrJpZKwWnCUjIviYVlirlGOzPLI3SMVyp|rmvqjxKuaLCX7ZWXTvAY|Hp8nCxZRqkEDTaCKCSywjiaoMJ1TITE9eg7Jqnq8HL6gDwiZb0u0V0Rr|XsjoD16hpsBeGz9dfzHj|NHkVzCdU03suWkkVZAoCONCn0T35gAeW38de43mf97sMOpSvj4aa1KYUm58USI7Wxxes03bAZdRzk6UtbzMaCQ6IxO0dy7X|GC5ixVUkBStsT4gGKh0Gm4Oy3qvq7Lbmq24nPdDuDR9deR11XzP4vFu3TYzfnIyiSVmgizUYGqkIXNdKTY9pgb9D2Ix5t0|LDLuiE4omZy71r3UFMwNJV|pS0WkZNMBMUl|3n1vLKHZwNi|cTCS|7Tvj6q9j68G|c6AAZ|sAvLufZVHVzYh7W0h|uB2BKfuaeBUcjDljbYVY4DdtsVWvzRZdWnyUzDpjNl1Du3aloAjVJTNDpcIOVVhrHFF66lLfJL1zJr9PQ2nFJSBaKoDe|BMk8VWFgBVmhqrkJCPBHAolwZaWzLR9Vb7bcWdX9NyUYE|DF71kPYrxYsGsm6RMh4cps5g1DOmM54Ly1ii0Hd3Y|ocvN1Rzx9QyOtERs4CVsJRK|zwhZMps0XrqEsiUjnC1hw0TELC2Ek7uAAdzcheXv1BYLagspxpzSAoZZUsIzIq35MnFQ9DOrlNB30jq3L4pkhccKUAA8|HQ3m1vBuL1fldbzd8mOueVJ92syqdEY4KJjSCde3mcRw2TA6szxedn|rwMgHw4jE|Km9al9sjL|69prxPqtpx2|8JDnGyaCkzbhl6YcqmK|pniO|ZNz0|nwSYwpW6wLjlqIzwLuxGIvoAvul0PS|aI04tJRQ2eTXusg86SQVu|5oynWDa|tm0DjMegq3yM3vb5j12qUId5UZD2oxDSEWOZMSqFl|Ps5fQ7|D9IepkMXpcsq5EVCvClBUIzDhDoyKwDw1Lc59GbTeORivugw1IcuaEOaGWdNm|RhRx7O4SVNSXpa0ZJQ0K1LAHDQ|YMXkUN3gXFrZJwXGzUaMpJfyRS9ZT0lPe8TpScuRlbMHeUmlaKDoNuy62iWNTWNFYjoxFzuJs8oR|9M23xPiSMOiRPqM|kbWIrMBxDGLodWUQIWcvnXy|OJDdnucfpmyhzUJzfsJjr29l8S0bXBfwRS9ZT26tmMIdZucch5ZboMz3Nio3nIOsYHCGoDT4kUA9MiXEp9Xsui1S8th|ISY3KH5ZZeWqO8mFTxQYeXTNuzvvK5FGPdQfuu00DwYFY9dyhctEt|ILMR7gpXzRy9eDsgLcgbs8O2Va1L0zzIdwGGemTBuwROHeoMShkUc7P|utA|oznceMve4CgMfNym|HdhNtTIqKm8EBrw2RTOEDpG3IKo2Y7mFdLm3ZeVjYwVw11o|QpJuh1OwieElEoI1pRxPS09FBrkq2tWCU59|McXzzYtP8VF|6JXrKahLn54m3p|3YQ2OUxLDrbHtN11IwrgXT6c8dATDwLniYwxzO4RzuQqTKSC5gAofMZ1QBK3zQ4JWobFbcvJm87FK|y0Wn6iT254YPC6FtVSIMoW2sk727AhvTtrWKZTvgsmckfXYZWeNRXx|nzRb128HhUcru|jrTH31ncLOxid8|sZ7xZPKTJLhiNOAFd6tk|qJPOZ|i3XWcwDP86PzpGQYdWh7csP5dBvZ1jNzdxC8pBGuxqSW5vw40nBpj5JhMwvOzN0RWqERHMr4Lv1kWX84xLR830G3j6yqZ1a8UstTlW|7a44v|HN9RsfFMy0FXbEwhfuczKgCbyxYwBmcFhhvo|b7t5hi79lWGwQ|DOuuZwHM8vsMb5wBzOFWM7wymTXPAEvm4vcFpZ2ut0VZRjkiP2MlmLd6DIpbGSiHOjdnUHN90hRYmhTnmvhzp1iKDNj|Ai3Ie7g7ncmI09v8sjzw9mzOAEXoIHxURueaAce5V80f|MBN9kqHnSArwPfgFJ7Cq|0oW37z|LEWGNpPDU4WAwsIRROu|XcBlsoN996JpBhoE2toYxOznNEOS5TJc6Id5GEXLjrWo|suZ771K|lGfwZR0cXzVDOvaKfNHvwe|CFzTRczBIuHBEeImHc37|lX5xBzc8N5IaHr0XMOQdHsIkDuJFifj20pBm5jzwUv9e2FhwRsvhAbalCIuIw3bhJihY3p6nTFFIZgiSYjfTf3aXuOjmeGn4bPoGvwl|wveW289T1|SsoYDAdIN448I1|ywpn7M34K|CP4FfjrquZaTtj2AvH5K|lodgKVoceEp|p6NiE7Rqx|ofsekn8lkuhIlhQcffUtSjytFyp|HbOe7xwym0NXbtiuuDkGO2IJDh9oQvJ4cY4vdoqLDuoH9Zl2F|vde3x8DoGvwgsa67vBk91G5Pe|LLysJy3XDcHLh|9sUCc5KC46hKGCk3IVOS4TCqdBNfUs7Kd4iXf2RjnT|X1f7EERxMJJoU6GkTEWBvVolVlb5lh3tKCg6Wx1IbaMDdJ|Ds9rYNI7zPXOYWPrtf8bYMx6fuOAX5jzNR0PdsuON|x3f5|HfhJcGUq4sOxH|GDXbMn3mLbXlXJiGdggxFAoUrtPS3wE4Nk02UZG2OOzlk7fRs7i95QCLo3E0jtrjnM7SR3uS1p4qtS2nJ5OwtQVHgOvArLBFijZUV9QtSl8dAY5d0E0hM0w3HS2DpIeB6m|FaqzVwewGu8BW1Zx7pTpQDJUjb8tsUTW6|EEJI4wKTAuCoC4xwQbWXBltpxbjkXJtKxxabo9e7tyhlgb6gNlSbUpMh|4cTxqEk4LWDebfisuo36JXLiWFjOtLrlNWh3K1rRS4xvHcDNlFnNmWBBAl5SWaL3oPOfnvbr5pdjVnEaeBJSYjuLEkyLLsWhKccadmOphZkOPgVdalj2QpSmfOsADhMWE2ZBu4|x2wwbR7q4|tz8RyqOFylQP9Tvst2JALsC5lsH8PyQ40DV4ANzYa4dedNiKNR1s|iKTbvtayfrfe9ueWh6GJFoxLdr7V72a5ZpvHcCPDzma0wTO4EgbLyedxstO81n57LYBOBzyfsOhUKsW1J1BB5vr|CvwQNtllna0rjq61sH8L80HAuvwH1tvBy2ChqWSCaYTaGN19sTvlfzFD6n|DnxFm4hs0drLsk7U8kf|l99m9fgvnaF9JoE6bYKmkGNK3aPbHB96w3|zNeYyQjZsWb1uc7U33pN4Mji6hCLhivqfa9Ss6xLg031AgfesA|98Mcx5e7a31kWjw9FCe|zbAcxhENzGbHCzU|4y5DhRXo4FVBN4vO|1ndcvOVgRG3sdUAY1bKD6achijMPdMxV4muKVorSpiDHituH7rSTs7n|GarskRdFpKczVAF1ZXnLcpaMuzVe6lZ2g|SXbbQas1ctC|k26B3Oy0YNV|zbhtlpwaRSxQRWfeETjuauPsdGxsBVdO7nmP4xvzSoT29pRl7kGqz|TP5emlb8fsQBZviK4t8hFL|rEHp0sgyz7lngsrm4lvMm2Mr1zNOJYJ5cuxuQxwMGJq|lKTBe4kZSdijBrykwv9vbCMPcLQTygBjzVckSLPRVGslqdunwJ4oegtFOYb4SwxNgWLCmD7T9kVjTv5YDgpo0XBmN34Z|rfw4tEcu|94vv|FKr1|Sw4162KeuAxMQpEkzy5alMY5wamMsWKKrtW2WpEWNnReZWONKWjrdsKZarpFjqCslq773PLmEhM448Pc3|raeh|lKT4pxVrrC6g1YwcceK3BmNxZcAtz3j5EIpqguh9H6wc011YN75cKDLpFDxuwkrPQmUwW4KTbj9mZTwBwLq4aQMUZbHm1rylJ46dzR0dua2n3RYCWZsiHROeywyJGR7mXKlpryyCiouY56sFkBWEnkEB|InyoUgBc|pGMx6xkzJkmEf40Hr4qZfVg2XzF9YOyoV5BjzVkUJngKf8lgNYwKECEHrCNDrWZzMlflS3yBhr|dRnjFmDTzniRMdZO1QhzMK355vigbdkpz9P6qjUGE5J2qAcXmwJ20cZUiAD0z|0c9MQYq0co8MBh7bz1fio0UUHLR4aAIOvOmoYO6kwlEVODSSTliWtOtH6sPkrtctF9ZtJ9GIerBskvhdVS5cFNv9s1BU0AbdUgdK4FG|o0R0CdisKDM89cX0pvRHEfM8ca4t0s2Xx4kgo91MPQJ|kNsqaSCryxPq5xWTFIaP8KSW0RYxqupaUf0RcTNSSdJZGcKYdYA6kdtrtmyBckfKXwqk0pHpUHlwWaffjNRBYFPUDWa8e3Lt|yKXF8t5Yl|iiqCKJ|owxK1y3XqweX9m5YLM2DPFeOjn|rwaQycCCJmW15Kstv6jRHyJFry2C1ahkkIW0LO75s61|6gWWm58IEmKQM89hq7KsZNaKtP5TxxrUZZVkNmMJtjbKrGxLNEbHPJxhqy7lAmbC32ZqeF6lTaknRWcYaFpfLUBh|4P7xv89deACnmr36uGlL69bRCL6BSZsS6c0TU2TKK5gtWCzgAOOwQcurqk9j8whvziZSMLcq5hbuwBEsYjopUBkqw1yYBGpLA97SRElEmx5MCInBY5vgLk94iKqSWmhIGmkJ4Bi9m4L645J68LyY4wsFYBfUg5feP|X6rHcdMMQvFSd5dWA|kzuJPeYEkXjQRpoGZobYsLF79pyd1dMRHInbgFTZqNLhDqiIsTNpoex2WLcy0|kJMk0Y25cSNRWSigQtlULPTw|RZw|ZdRXvFfnxWyIV4upFLCl9eAL7h8Zv0QH8Ry8pA2cHzQpGesctVA37ZtklBTgHjyvdSeKY|O2I66AOWw9xT2BuyRVLGdoDHUsVRXOo|jSPne2OVatiTKUpY5vY7gc0LdUAWeWM5tH|ACSzg3RoruIq5UDeESfEmVclDxnniU82vxMLtceD0hGZWzBNPMM|QCve51qkMDXp9mtcyOy3rwBfdvVJK7D6|MFleXcJozzjwsUvUG0X|SgvIRjAd1IMvvn98PfgOvAJfhhm8scAKVWDuaRaK8aQ9f7vuPDH6Bj47ZXau7rqYJ66mTDwEDU6lLbCjCK0qTXyl5mnDoeNRxanj3FJbaksTk0faXxHxLrssgPkWB9LnA|LoZ|5mA73zwIIo|la3WP91uWhxXHjoWhyRUq2iJ|qdm|vWhO8d8v6EE8fMUsfakXbPpFJeLs2ubM|8fX3N9Af4qPIMfzKgCp4H5TDGe9GGeFPzSsZz80SlPTxXjgwJmC45njzgt2vbQ4b4OAdUK4|XgS|bMTGs2jOaMOY4m87CfQwF0dw53oa1k80JRuz|OqMemkbGZ4jozcDjJf6596xOLpC0eMTHbKnxLxH27uZ|vwJfg5AN4450fn1Hd1Rm1aBLu22Dy3y3H2|f8shzMiMcweFgBly3|Fvwe|hovftHXs|ifXgc|RjcRdjKTGWYhhVUm4yxlyiGPuMsZR7sMCHUBeTuNWA7if|HOqQ|M78LzOE5dsNuXC3PYvYWd8NXvphLSkJIasrlD2|ifr5Fiuu|GQdLDsR|zMM55|yOvrQKB|C6cr3f|AcHHZHNIfiWrEe|Mmc35F2fUrw7miW33W9hBD1vpuUojFphIyvg7aTeoymDkIkeW3XLHmguMzbIAJejN6B5MDrhipE2y6SoFRO|M9fOnfHzOD2vCSyQJKzfgsCh|NvH|zApxg9XfUvYjc8qX2lfOOpK2gNRtB4flpFu9FTKCp2XJRgXnX6olp1zyYjTKJSkGmLE2NjUr1bxFM4AeAAHBUFIeSLqXR|M4hT1|Lde8xfgSOdMxvOixZf|yP7|L7f2fcE|DuloJZkcTpcYE8lIH8Dz8DJMiynNC86Mb2lNaaqP|fDK3oPESJMYXNmJa|vQQ|4VXXiDE0oc|pYO|ML22zrCScFxnNtzsr9Wcc3CnD|uqFrxLJ5w1TehnNHx5ECvCh2g2c3hHH5YsfdaSKddztfjQ6imKFGSyFwlLzxEGPp6r5IevVjk1AMx3wMqi1NxDVjLBiPs9tbsCkIY5we5|qV9hTEApRzeBLDJQXxYmTnq7bdLa3|eownpxZxNLwiZ1AZTO2ZjWjkU9uaB2HFn6Q3u0JcsSx|7RKz69UQu2im5k4|RR4aaezFhMhGCppKwom0ChrgFlKzyPKkGlTW1YQrE9HJqu8hKGgMc6hVi5QRq0PZxNfrYNgE64utmRv6KKHRpxf6VDUaOvNP5jCEx5q185My|FMAcPt7SysFLtoG4PXAk7JOA3aAxBRqUiAdU9Yp5lK3HLSRFtOim0sa8euEt08xvKjYjzeJ2GU7YawexrnKI9tmobInjFXCewpwriY9|fa1yHw|WaYt64m9QBmNxi7Ioy7D|lSDCtnqqMFu6hWHXCF|tGnAOD4Yk9gIpo01Y4cA43BWGygMdr4YZekG3OBIUXXNukvJS8tqa06e|EFmGsi|QqQmrbc5YmYgxELUUN35z2iohstgfLIFmcMV7s4CFmI74L9|kC42ZrHgcCoIf1oVMKkVItmMBi9cOeNHGLqOZk|dyN4lczJQW|q9fk4Xw3AMQd4I5ifAZz8FcVtm9SAom|i4L4RUbfSi27lNXZ7R7W9RTcq|Gn4KRkiuzpNNDYhDGFndWRpE6SVfm8U5bxnSgVV2jrg6JCKmneqey8VMFgq2|AiHGvN|ieMc75w9kuAT6A|MYiAI2ltomkzttUb0gGHdSUUgsIYjTzLG3mObX4FBRaYtpDVNZrih9TgTeYOBxsEnN1gOCTM8Bsw|AV6FU6jh3U8HwEazLgdCLYSQ|EHxagtnta072ejc3DOIh5ojvh8l3tk1JF|CX4CnM4c1PE8ApexpoYuzqlP3d4S3OJP8ZDK7cKWNaTlqmgDiiHwl1YsE41w1zT4iRTm3DBqxvOUsbMKKDa|8izUGUM63GOOuAs3tJkw7J4kyoNreqrpO6cYLQeFUd7TTpr5YOTLc9RUUogUOVJQ1GYJaFLAW0oTmKyYS46ZooP4S4EON3xQ5zC8|afJRcff|ge9dgZvYjuqKe4HnGnykYo5TvJbG0Vj12JagRhwKa44H95ShkZa5RyLGGdfYvG7aw1TsF6iapPAS29mNS3NmsTQZCmgTzFwgL3upCTgtBTRwvGMAKrgLn4evwin8|AAbwMfx0|lwKk4wGOpYDnoIZPdg|IR8KHtejeFKRtTmLLpxN6mYVLjYxwXf5x2VofiZcp|LkVgA|dyn|Zd4cU584CtqSbMKxauxTg|G8LVWPDGb|lPrjGAnBFqmioNn1mTyk1ta47R6d4MrX7tjrnjYUpdUbv2rVr6YpVfsGG58AG8Ah9eyUN8CX4WfgV|NIx1SHHU84nLOITt3iVz8mNO|hlAN65qgDn3wTgH13hK7T59bmP||8mLR5xXNA5v8EbFQEz7PpRfl1|jZ3SWCqLM2l4NxID5zB72HQXv3jj|Mp5xULh7cEm2QbRP2tFIKR7WM3fPf|6C5pTQkMIWoAq7hTpOJjtAM4pxKu5vg5vXeUrtI09|4tf5b|2DKn73J9BTXYANG57hz1cEMviVf|hIcf0JwQ5oQGPBL0eKPTYEXTW|utps4|wv4Q|c3h6hU|LbteULUpCdqm0HTelXbhNPe8G68Gb8lFvVfYfSNuxvrTdTWoXbozAzdaDZzfkorOj1oxVxlIMlpSIlpLrt8D4hrQL17z|6h1Y8MbSdjegXcguQLjmevDpTQLMxtJ2N6NdyBZu9AbrwVvwUW|Bm68Fb81HvykuPlrb7LGkX3mw9eGs|Kj3pWXHidtx2dFu|W2FryxtN1nTLvwRurBO|ai3ujQOskpTNULa7jOjXXj99eCd8lHvoFiwsbTdZ0a78PrrwTvlo966pLuRtB2fFe3Cm6oHP9kNH|996O|NmOG0L8EbSdp8R7cLrrQe|tHrwe|vifx0YG20jbfTa0C6|gLeRtvvMaBdeSz34|kf74|z6ILQFtJ2nxHtwmuoB4|9AdsY8VbSdp8V7cKrrgdfM|55tXWg8fyRY|3CraTtPivahV|fMXrSVm2baTtPhPahbPhA71wIHd2bXzRa69nG|AGD1|NlVmgXWsxh570xg2UwxUw3WfO6B5nOuO8aA7lnZxuPB48fPx6znm1i4bsfcbaptF3zNT78eFPtwi1OaCNOqp1x3zUGcs|k7WSFtJ3Qicuqb|4VHw|Xns9YYqZpszGWB3AN|9fyw9rWRXeTFXESMOanvDZfJuJaSXouQdMdDJZtekZcLLvEeK04d8m474UDuaenW44Hjx8|qgVy04sAJawTsvOknHfCwdyT062HA8eP348Zj0vdoXF4pilKa2BROed|Tth7JXeq1hz|Hg8ePHI9dzQMEkWCgdRfYykYKnkP7D4rIujsujaKPBsB54vE2TS00ccvFY|h4y|U6oBanGzLrdSNNnZFjOkmbi5bNt1lX7JLLhn3vXAg9|PGY9B0MWJJNozOJmlglvDMXDEozdhQWbgs|yInunLcd8VA7rNnOxkPHj9|IsZ59LSnDqBjZ2awbOku|EIReLdQj42Gzb4CLS0YJD9xUx7bsi0vJi5mUbW1QzL0h0PFk17rtiIPfJk52MB48fPx67npJJwyrBa2RCCQRTbGZSPCxTPOiND4G2pYyOQ4h4jINIJh5wFU1NFZt|qGytF4nO0OG3SXzbJlhxBnKtKyl0NwybjvYCD30aMdjgePHz8eu56SVTBbgxJMliQ3Oauwg0QHxXE2Ez|Hrse0zXfPFxbUN1kKqSCCSk50m0Ajtx3ub9XHBKHXESb8iO6E|fDDHY4Hjx8|ylMwuTbfmXQtmWlenZljbdXTLuOxjI|hudQNbxwm0AQqbfloimaB2lM5fChex|nh5ZlU18wCiRUa9m7kib9LYuOk|Xnf93e|7wRb95NevJI5docQ3tgCyr5bGnyaPRlmwNsFELViOOx9loebGNq2moDOKpHLVP5al2cymWHbkfzGXL7kfRl44H9wZy33tvt|qSSnyselqjZGaVK2TadbFLPWAQ4NBhHqDCCV7OTpo34AlSSylPtIdd2AJZlyzYQrDJ5lcWGNceD80CunPLGGzsfD|O4o8ePx67HFqyC|5E05l9|70WWnPXj98eA4kOt|vOyY|fYf3axUiMdHLlPpZCNjgtNFAhcHEDxTumNONhHrBduW|Nz9kpP4pOe1|PXY9pqX9bgMvh|4qxoPHjx|yRn83u|q9CMtsZsFO6SprzCS1Z7QL8xCQClEelpjTduDMsmWD8S1PT152BtvmIGvUeDA|uAq1xMJUFqCSUlJPmNbIiNsmwuMs|bRBFrnY4BauE8ERmZRFUn0k8hbftiVYSKMEme2dJCJSCGYAlNqh87bXOPdUkGy24P6d1ll21MBqqx48Fvv8ZHH8HZFY7j|Yeu2vAFe5nm|rkyQKWGaPHPLZOkJhioQYnVZ2hS3zVxMtgC46KuRwbJNd9nV2PHgb36F194ecf|YBbNPDCkGTUybN8krRLBGPlZkVOA0j|stW5YLhtS5SMu|x2YB0mGsQ8EUWj|xJSMbhBRHEdEs9JZUCkQrPMAvaHyLkxgkEHxiNkx|06BeTgqnxzYjThVySDikbtJPieco75lYfKAJOMEZBTjoITuWHXXZVhcUDIS2hpiXHV9Ku4u44bN5OYLDOkJo8w|c0gdpT5fx2SKbs9EfHTKdM8A1GaJRHLVIwhcGyydZsbifAFVKl5EMKNU2Hryo|BH1OfOQeuR8g|05J2zpiDK2Oa0c5fmAecN1iJzmpqFZxqYBCYhFTCsUNEmUnIcZ6aEA5rQVhEywG6w7HSW02XfOoBlQmjwulOFQAg66SvJblrTEX1YtJ3uG15T|ojZDGlwnqmkGlzcVi1dLiNSJiHjfbRNOPwKpx9TVdTn3K05DBx4psIk4Ei8aCkJahRgffk4YnEXe07T4H2RR1u27E6wfQsBDofUgjFUFnwC2AiVtA|txHg|xmvnPKg5ihwKEwlrcHqucuVcVOxEv8aH37E3ZqpZypUulrHEtIWKUr|Li3eVizf5vv|knfc|8C53aw49lTABp9PWbsB|C3aJLzEKPuYVlbFnfhZ8kcWxV3dbv4bKl28566wD|9LkfaQO2KHuqlfFXSbdNzcEcwoqNEFE9zcIXu9|MnK3m0FCJ5S1kmJpa3DgPVbnQnPGWIDspW9ozbcO4K|ri172mHKvZBpHkJaNJz6v9jxqiklDj3U4CA2ugpAaYMWqNXsdXbmJNd9egCnJEsphXNM|XPGONzcmm|H42I0q1Yb|1M9O8UxWhBs|y3dx0n1S0BtuG62lCCXwcY0F72T1VRR3t2ONcsmDjbmzNt9RFs2LO2hQNyb022JisaI8rAWuw4HI3FuAIhZdOGIcdjLJvvObqlpqvWTJnnQbyi|khgot4ZVlOyO4WNg3OIMzhIZQpUEHieg2im6F91hB3I2tubql6BYNN9Hj5S7G0G2tahslBWKDnOiIvuAEDzakDQKDNFQT6gbn8E2y4BBubM230YIpBnDbMa|LA21zhSb9cye6jcOfCnOwhIAYXAMVTUNV0QhVha9xjgA27ODJbLbmitt3tRN80lqG6N|vWpaTem5IXRlt|rjVNoGzNSv05srAxUBh8IhqChiQgVNIIBH3AVPnrsnXQZbLTm8ammv8eVXn|oTVktxY0v5hbq3KiOKYnY8ddJVSBxuMMVffNbxwIOERShst73HZ78DZrHpmJmH3K6sGz0fe3UUj0eyRrSCGTTc|f9T97fiBPq9YeLdBmyuizZHaqXITnXiMUEEVcJ7K4j3BFPurtB4bixW8wTpweL8DC95szWMOqucFYGsWbGU7p3TxxxefP|b7RbbrGyRQRT9ARZcwAUmgdoz0ehJ9Fn7QAhUjhDAQSw0bV3T3WbNa59jzmiP6GsWbGXDX2ytjy8|7PhfqyXE|fvD5I|9u68GDzx91v3mAjb1zkpqT21OipPKO0b9TO5W0nTdOmAQm0TObts3aBKgwARtoPDiCT0gHgwnbArzxmtcLc08HgF1asN0C4Ms|acG2d|bj8dMMmSpp5pg7fJ6xrBFE2WQQEWnV8Qg3FbAWzYfM1rREEnmvkN2o1|T9D3ABa3AG8W3VPX4hBin|butBw8|bJI9BND0Ynd6lBdve|ioHUZ9dTDbArzxmi|wcQ|ZYD2|iEqWdaM7X4WOoPGI|W2GFKuC9phcELMYRRLur9DEZTUdEH|TBz1LnUfuYDi4r2C69f1f14BWfP|Wiba6s1X|1x3qaBl9j1FeLxbhU9w1F|KXzvtObonPP4rBvsgmaKj404DlshFole1Glfh02fE7bYR7dZ82oTewIBGn1Md6CG6YUF26X376oevOLzx95vhUmgblI6LBZwTCDY7vMq0op5WVXgsObOXJ|21gUtPETU7bbkLxvNKRFG2|SH2AnxIqQoTZpo9Ckc6HIrFbAbzNmlcg8Ag8NFDDAhbJvTBZXbC94P7t68EXfv6o|8PPH3j9dcBAPIRP8JLXd5BpAu03aziOL3VVHZzz3CXWDPWd|4fzzA|2jJYWbC|l52xdK2B45Qd87nM8fsD5EfUhIcJcERw4RdqqH7Yde5V7m1vhNmtedkz6EDzUMF|z9Rx9zdIY5pInPK4Nk0t|5l948vF3bqwZetZ|OguiwmhIhQhD7l4sMqlG3D86Suc3qWZ4rWjI1X7u0Ytw6x3rIMeIOPDprfe2XzNgyj6PahhBjO4C3e6puDgXrdg|0debT1YeGON9Yy9|JWCr90EWQJvwBzO4AHcgztwAFN1evHPUVGwfXON|BFnj88fev4NchyaK47OPhhtI8RFSvAfDSNh0Ck0p2gLxGkib5NJj|AKXwenod7cAhTmBSPKf6JBdvH8IP17h95pXqw50|B4xhTWr4cZNOvhktabw0ta0rSJmqz3Yw5|VvdCrIvuAKO09RpEEQJM0Ci6|PXWM|T1k8AZv|CcWbL8Dj9e7f|AFeAGO9DFV3c6D|DfsLWAANn8Hvw0|Rek8KISftx3L|9fydJknYnRr1oGfdaiAgpxu1Rx|9zUcfcbb254|rByPvHXK|EjAL4Ez8EBVOB6havuT|8K7ml7V10Jo05mpIEFy1NmCJWx9SIKKt|FBUfbNUjcjEmhcrkT|co3x93PP9|h7THr|3xi3om1|gnuX3f|CfdgqjsMy4pf8fodQO8|4KvAY|VilGRJs6wnS7ruti|I4F5xoU|AhQSP|iFhsQG3T4D1ib7k5CC6vY0DCbtrohgLEIClXiGtl10zc0CnEGIhhatLBva7NP58Tvw0qE8yWhARLQ8h4|MQbAm2XSMoUPAmvZzbuKYRIFApbtlrfFuUGd6vq2hXNnH78ZLh|YaU|5EgEMMmFF01cFai3isRbKbzb|u4VJG|LYLs6TDa9wvg2CC2rElgAnpTBziThxaL22MYhzfkghz6GAs2VHbbdM91VZu1MEEpupMMwKyVTb5ij9|JFdKULM4px0DfUBI2hIsy06BqLhGTQEVdbfAIZXYMPesq6VoCHICzUyjwInO4Y411|ijdpw3zhCwcaONwBvdeS2YZKkJNJsMPf2JKEvC28RXxxI0ASJyzQCjCEQrO4Q7sFArEzjZhaFc4cdv|zjtw3BU|z4rRZm1YglYE3affGITaZsdIe2FmMIpnOCap25I6jt2kCwCW0D1uAD9sZctNGXcQIHCkINDQgc78aCr|6XgErIBhBckQtGN3CzbVacERgCnfgLswhnvqf7QyAq|z4rU5KKdwVbFAjNojCQzTlCLPFSxtamwh2jMUcEgg2Wm|HoBji9VBYdwD2ZQg4cnO7OSq|C4Djlim4gJjWcwZBhCBgMIIYxGAVIkH3ZtcBuLdtRFMWsPGoY9rN|xij9|nx27p3JziPM2pVgoiia5MdEzCGULprIN7gEEeQ5IQxEBBBQnxhsDb5auGmAAYcHMA9eAAz8PBol8|3DHAV|wWl37ZQESb4gImexGMDouhGLx1Cst0Saa4b4AqO4Hk4gxo|fbm1C5ZlYQvQDARPAIQGxCWBM|M8k4baEAQfMI4QfbVDDGIRg7GKaIY52qAjTAgTvGBAPGIIghOCYAUrGFNgzA7Q3QhgCwfwAnwe5vDejgG44o|AcfAFO4Y3dA3DFH7|5PuT6Ap|PQvIeAMTrBS2LEiaiR9b|IRzQ|OOTo9vsmtQcniMBGkKFd4jDWMSCRUpLjJYNJkM|pPBIu7uu|kBbjawT4HnwJfhr|xGnd5kdYCeECnGIJViwGJMAkQKfDvB3WZxjLKGh8VSCCzhwEWBpMc5|koAuOKP3|LyW9vvubxAP8kAL8H|46Ih6SuMSPmLAYAwyRKn7dfMGH97jaMFBYCJUgotIC2YAdu|e0N11yNfkKvwUdwdlUAXPHHL38oa15f|NvcgQk4sGBJK6H7N4PFVL|Gf8O5hypMQ0EEEQwAqLfoN|7H8urx6|2v4UBAwJG|1eMvb4Cb3N11xV|r71re|8IMsYAaCwRcBwjzMiw2jAWtgwC8WR5Q8mDFHZLNHTarZGrLJJllt1W2qKrsumZWZcTvn7L3W54e1vrXX3vuciLPPORFR1XE2EomorB0nVuz|LYBozRi|SQFKcb4owIkSIFCjY9AC1BT|0rWbY0|3WWvuciIzMrKxrV8|iVBORw0KGgoAAAANSUhEUgAAAKAAAAIwCAIAAACOVPcQAACBeklEQVR42u39W4xlWXrnh|blendingWeightCalculationFS|outline_overlay|edgeThickness|outline_overlayStage|outline_blurQuarter_X|outline_blurHalf_X|nedgeColor|outline_edgeDetection|outline_downSample|outline_copy|StarBurst|DirtMask|czm_lens_flare|createLensFlareStage|czm_depth_view|createDepthViewStage|czm_night_vision|createNightVisionStage|czm_brightness|createBrightnessStage|czm_black_and_white|createBlackAndWhiteStage|czm_modified_reinhard|czm_reinhard|czm_filmic|czm_aces|czm_FXAA|isAmbientOcclusionSupported|czm_ambient_occlusion|blurStepSize|czm_ambient_occlusion_composite|czm_ambient_occlusion_generate_blur|czm_ambient_occlusion_blur|czm_ambient_occlusion_generate|czm_bloom|czm_bloom_generate_composite|czm_bloom_contrast_bias_blur|czm_bloom_blur|czm_bloom_contrast_bias|isSilhouetteSupported|czm_silhouette|czm_silhouette_color_edges|czm_edge_detection_composite|czm_edge_detection_combine|czm_edge_detection_multiple|createSilhouetteStage|isEdgeDetectionSupported|czm_edge_detection_|isDepthOfFieldSupported|czm_depth_of_field|czm_depth_of_field_composite|czm_depth_of_field_blur|createDepthOfFieldStage|czm_blur|createBlurStage|clearPasses|environmentState|debugCreateRenderStates|debugging|Draw|away|Apply|perform|Spot|beyond|receiveShadow|castShadow|FPS|isComplete|alphaMultipass|translucentMultipass|translucentMRT|datasets|totalBudget|setData|maxPerFrameDrawCount|requestTileGrid|External|getSlopeValue|hasTerrainAnalysis|removeModifyRegion|addModifyRegion|computeSurfaceDistance|getVisibleTiles|computeSurfaceArea|oceanNormalMapUrl|forEachRenderedTile|girdLayer|A69992|997C6C|8E664D|815032|733C1B|6A2D0C|6E280A|702007|721906|760F03|820C01|9D1901|C53602|CB5902|E18302|EBA509|D7B117|ABA826|819D2F|559037|20853D|148E35|2CA432|60BD42|A0D567|DCEC91|EDF9AD|DAFBB2|BFF8B2|B0F4BC|B0F2D3|AAF0E9|getGridValue|TEXTURE_LODED|_modifyGlobeHeight|_colorBuffer|9999999999|texturesRendered|highlightFillTile|REFINED_AND_KICKED|Color_Map|DISABLE_GL_POSITION_LOG_DEPTH|lastFramesPerSecond|5874|628733|0528|493552|319916|9803|274866|3112|203849|1953|156091|151011|3873|120036|7344|99260|8259|78026|0549|49889|15900|12364|2493|6281|5198|4777|7763|3141|2151|6501|1275|terrainURL|floodPosition|particleVelocityFieldEffect|NetCDFData|fieldData|fadeOpacity|particleSize|particleLifeRange|paricleCountPerDegree|MinFilterValue|MaxFilterValue|textureEffectUrl|fieldTextureSize|uNonSelDepthTexture|bgl_FragDepthEXT|correct|updateViewShed|setTerrainBlock|damBreakAnalysis|damBreakPosition|removeDefaultCredit|URL_TEMPLATE|TMS|SINGLE_TILE|MAPBOX|GOOGLE_EARTH|BING|ARCGIS_MAPSERVER|GetFeatureInfo|GetMap|gml|wfs|wms|mxp|mapinfo|google_earth_credit|customTags|latitudeProjected|longitudeProjected|latitudeDegrees|longitudeDegrees|reverseJ|reverseI|northDegrees|eastDegrees|southDegrees|westDegrees|getColorFramebuffer|CompositorFP|TAAComposite|jitterIndex|u_depthTex|Scan|lineMoveDirection|centerPostion|DOFCoc|fStop|correction|getLastMovement|stopFlyCircle|flyCircle|rotateDown|twistLeft|lookDown|lookRight|cameraToWorldCoordinatesVector|cameraToWorldCoordinates|sensitiveRegionRatio|sensitivePositionRatio|speedRatio|flyCircleLoop|012522878|682171111|305306011|gammaToLinearSpace|6931471805599453|bloomDirtTexIntensity|bloomIntensity|bing_maps_credit|zoomMin|iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII|CollinsBart|COLLINS_BART|OrdnanceSurvey|ORDNANCE_SURVEY|CanvasGray|CANVAS_GRAY|CanvasLight|CANVAS_LIGHT|CanvasDark|CANVAS_DARK|RoadOnDemand|ROAD_ON_DEMAND|Road|AerialWithLabelsOnDemand|AERIAL_WITH_LABELS_ON_DEMAND|AerialWithLabels|policy|isOverLay|vertexNormals|vertexColors|barycentricAttr|texcoordAttr|major|setVolume|removeWaterPlane|getClipRegion|extrudeDistance|setCustomClipCross|setCustomClipPlane|modify_|setModifyRegions|removeOverlayImage|addOverlayImage|removeAllFlattenRegion|removeFlattenRegion|addFlattenRegion|Categories|setCategoriesVisible|removeAllObjsOffset|removeObjsOffset|setObjsOffset|getObjsVisible|getPointCloudGroupBounds|getPointCloudGroupInfos|groupNames|removeAllObjsExtendHeight|removeAllObjsColor|getObjsColor|setRenderSelectionTexBySkeletonId|setSkeletonSelection|setLodRangeScale|getLodRangeScale|DatasetIDRange|DatasetName|maxID|minID|getQueryParameter|setQueryParameter|getVolNames|PointCounts|PointCloudClassification|getPointCloudClassificationInfos|waterWaveScale|showLabel|colorTableChanged|S3MTileLoadedEvent|triangleFiltratePixel|shadowVolumeBottomHeight|shadowVolumeTopHeight|PBRRoughness|PBRMetallic|clearMemoryImmediately|coverImageryLayer|volName|selectSkeletonId|selectedSkeletonId|horizontalColor|clipPlaneColor|visibleDistanceMin|visibleDistanceMax|LoadingMode|ColorDictTableMode|__overlayUpdate|_noiseMapUrl|ExtendRegionCache|TextCache|IconPointCache|ClampObjectPolygonCache|ClampGroundPolygonCache|ClampObjectLineCache|ClampGroundLineCache|albedoTextureUrl|metal_plate_diff_1k|metal_plate_rough_1k|metal_plate_disp_1k|Scuffed_basecolor|Scuffed_roughness|Scuffed_metallic|Moving|Arrow|Have|Power|Glow|Pattern|GLOW|Fore|GRID|CHECKBOARD|STRIP|freePointer|_cacheEntityCount|i64|i16|ccall|15072|DYNAMICTOP_PTR|15088|tempDoublePtr|flush_NO_FILESYSTEM|ABORTING_MALLOC|malloc|increasing|allows|ALLOW_MEMORY_GROWTH|abortOnCannotGrowMemory|Requesting|would|just|practical|reached|asked|_emscripten_resize_heap|_emscripten_memcpy_big|_emscripten_get_heap_size|___unlock|___syscall6|___syscall54|___syscall146|___syscall140|___setErrNo|___lock|vii|nullFunc_vii|jiji|nullFunc_jiji|iiii|nullFunc_iiii|nullFunc_ii|abortStackOverflow|getZero|get64|getStr|binaryen|loadFilesFromDB|analyzePath|registerDevice|mkdev|createLazyFile|were|problem|Filesystem|little|25459|3768|determined|WASM|detection|example|Return|0x1FFFFF|serializing|maxBytesToWrite|outPtr|deserializing|__Z|trace|corrupted|received|0x02135467|0x89BACDFE|dwords|hex|overwritten|HTML|perhaps|compilation|replaced|_main|GetFaceFromMesh|num_faces|DecodeBufferToMesh|Mesh|TRIANGULAR_MESH|TEX_COORD|dracoDecodeMesh|DecodeBufferToPointCloud|dracoDecodePointCloud|Root|RangeList|RangeDataList|_layerVol|TexModMatrix|TextureName|free_result|floatToTextureColor|_free_result|_floatToTextureColor|5246E3|skeletonUrl|SupermapPointCloud|_showCallout|minification|7042617145642478E|_highlight|_updatedSources|ErrorEvent|moveLayer|renderStyleImage|listening|getImages|removeImage|PossiblyEvaluatedPropertyValue|_interpolationType|ZoomDependentExpression|ZoomConstantExpression|FormatSectionOverride|getOverride|runtimeType|renderColorRamp|ColorRampProperty|CrossFadedProperty|LineBucket|215638|06021|848013|43519|55645|2452|0904|FillBucket|nearest|resampling|Heatmap|expression_name|geometry_type|filter_operator|generateId|clusterProperties|clusterMaxZoom|clusterRadius|cluster|terrarium|dem|hasOffscreenPass|DataConstantProperty|CircleBucket|ProgramConfigurationSet|FeaturePositionMap|setBaseState|setCustomLayerDefaults|overdraw|isPatternMissing|getTileTexture|saveTileTexture|translatePosMatrix|setupOffscreenDepthRenderbuffer|prepare|stencilModeForClipping|stencilModeFor3D|posMatrix|tileBorderIndexBuffer|debugSegments|debugBuffer|depthRboNeedsClear|ProgramConfiguration|CompositeExpressionBinder|CrossFadedCompositeBinder|SourceExpressionBinder|CrossFadedConstantBinder|ConstantBinder|u_pattern_from|u_pattern_to|supportsZoomExpression|setStencilMode|EXT_disjoint_timer_query|extTimerQuery|extTextureHalfFloat|extTextureFilterAnisotropicMax|MOZ_EXT_texture_filter_anisotropic|bgPatternUniformValues|backgroundPatternUniformValues|backgroundUniformValues|hillshadePrepare|fillExtrusionPattern|fillExtrusion|collisionCircle|heatmapTexture|consistent|modifying|our|EXTENT|adequate|arbitrarily|fractional|give|spin|bounded|designated|sample|ensure|conveying|entire|overall|affect|additionally|intensities|clamped|sine|cosine|L228|L217|similar|calculation|exponentially|illuminationDirection|written|corresponding|0deg|adds|4807|approximate|cosin|discussion_r148419556|5286|pull|breakdown|awesome|nickidlugash|Here|zooms|noticeable|barely|though|exaggerate|vertically|25619978527|reduced|6855785|40075016|equivalent|circumference|slopes|queried|Convert|complementary|tinted|adjusted|Assign|surfaces|brighter|narrower|Adjust|totally|extrusions|slight|bright|dark|alias|anti|slightly|Pad|solves|Which|such|know|That|falls|sufficiently|Before|framing|ranging|comes|assuming|typical|kernels|artifacts|minimizes|chosen|empirically|Effective|estimation|Kernel|steps|series|guarantees|ton|depends|unpack_mix_color|unpack_mix_vec2|follows|minimize|assumed|symbolTextAndIconUniformValues|updateLineLabels|getGlCoordMatrix|getLabelPlaneMatrix|Uniform3f|backCCW|geometriesByLevel|maxGeometryLevel|minGeometryLevel|createPattern|idFeatures|iconoffset|calcBoundingSphereInWorker|RECTSELECT|_vertexColor|_vertexColorInstance|skeletonSelectedChange|disableOverlay|uSkeletonSelectedColor|updateObjsVisible|initLayerSettingBak|decode_texCoord7_normConstant|decode_texCoord7_min|decode_texCoord6_normConstant|decode_texCoord6_min|uVolumeHeight|uVolumeWidth|u3DTexture|uRoughness|uMetallic|uRoughTexture|uMetalTexture|uFiltByIDType|package|S3MTilesVectexRaster_|S3MTilesFragmentRaster_|RegionMaterialFp_|RegionMaterialVp_|DynamicExtendRegionFp_|DynamicExtendRegionVp_|S3MTilesFontWithHaloFp_|S3MTilesClampGroundLineFP_|S3MTilesClampGroundLineVectex_|S3MTilesExtendPolygonShadowVP_|S3MTilesRegionShadowVectex_|textureCoordIsW|S3MPointCloudFp_|S3MPointCloudVp_|S3MTilesNormalFP_|S3MTilesVectex_|SVC_TexutreCoordIsW|SVC_SecondColor|MODEL_COLOR|51696402048|78271|ParseFailed|LoadedFailed|updateObjectWithModel|setPickEnable|setVisibleByUrl|deleteAllObjects|deleteObjects|Instanced_Object|Instanced_Layer|emissiveTextureMotion|baseColorTextureMotion|occlusionTextureStrength|occlusionTextureCoordIndex|occlusionTextureIndex|normalTextureCoordIndex|normalTextureIndex|metallicRoughnessTextureCoordIndex|metallicRoughnessTextureIndex|emissiveTextureCoordIndex|emissiveTextureIndex|baseColorTextureCoordIndex|baseColorTextureIndex|S3MBTilesParser|_is3D|dxtToRgb565|00f|104857|943718|point3DList|getViewshedParameter|viewshed_global|viewshed3d|isShowLine|16771|domeType|HIDDENDOME|VISIBLEDOME|deleteTransformFeedback|bindBufferBase|endTransformFeedback|beginTransformFeedback|bindTransformFeedback|createTransformFeedback|calloutWidth|calloutColor|emissionColor|getQueryIDs|spatialQuery3D|skyline|geoLine3D|getSkylineSectorParameter|removeLimitbody|addLimitbody|displayStyle|displayMode|sightline|removeTargetPoint|addTargetPoint|hiddenColor|visibleColor|anaylsis|Shadow|queryPointsEvent|removeAllClipRegion|removeClipRegion|addClipRegion|setClipMode|projectionimage|pixelToWorldCoordinates|hintLineVisible|_leftRever|_downRever|_down|extendHeight|multiviewshed3d|removeViewShed|getViewShed|addViewShed|ViewShedCount|_typeArray|IDs|getObjectByPickColor|createClosedDepthFramebuffer|throwOnWebGLError|textureFilterAnisotropic|blendMinmax|floatBlend|standardDerivatives|stencilBits|numberOfTextures|replaceDerivedShaderProgram|getGOAnimationManager|getSitDataManager|openEvoFileOnServer|saveEvoFile|removeAllGOAnimation|removeGOAnimationByFeature|removeGOAnimationByName|findGOAnimationsByUuid|m_bIsAnimation|6031001|60310|3911|3211|2002|2006|1010|AntiClockWise|_Path|getPathType|setPathType|getPathWidth|setPathWidth|getPathColor|setPathColor|getCurrentPt|getWayPoints|setShowPath|CURVE|setAnimationName|ANIMATION_UNKNOWN|_fontScale|createGroupObject|removeFeatureByUuId|_projectName|setSelectedFeatureByIndex|setSelectedFeature|resetColor|setColorByID|setVisibleByID|setVectorRotate|setModelRotate|setPicturePath|getPicturePath|getSymbolSize|setSymbolSize|getRotate|setRotate|getShowMode|setShowMode|pictureSymbolSizey|TOPRIGHT|TOPCENTER|TOPLEFT|_isUpdateSubSymbolSize|setSubSymbols|AaBb|defaultRadius|createFillCanvas|BackRGBA|strokeOpacity|surroundLineLimit|modifyPoint|isScalePoint|cacheSymbolLib|getSymbolLibNumber|getSymbolLibJSONInfo|getSymbolLibByIndex|findSymbolByName|findSymbolByCode|GetLibInfoParameter|Server|initializeAsync|LocalLib|plotPanelControl|getVersion|getSymbolNameFromList|symbolLibName|getSymbolLibName|symbolCount|getSymbolCount|rootSymbolIconUrl|modifyTime|getModifyTime|creator|getCreator|createTime|getCreateTime|classFication|getClassFication|SYMBOL_NODE|childNodeCount|GetLibInfoService|GetLibIDsService|ptIsInPolygon|26400|50308|1009|1007|1003|isSpecialHeightSymbol|isPloyClockwise|clearSamePts|removeAllBillboard|nodeChain|combinedCircle|parallelogram|ispixelLine|setAnnotationArray|clearAllAnnotationArray|fillAngle|fillCenterOffsetY|fillCenterOffsetX|_symbol|Unkown|Radial|1014|1013|SYMBOL_PICTURE|Multi|toGeoJSON|angleWith|perp|unit|matMult|rotateAround|divByPoint|multByPoint|serializeObj|imageMap|pbfData|MVTWorkTile|createPropertyExpression|evaluateWithoutErrorHandling|heatmapDensity|Bare|addDynamicAttributes|SymbolBucket|sortFeatures|hasIconCollisionCircleData|hasTextCollisionCircleData|hasIconCollisionBoxData|hasTextCollisionBoxData|hasIconData|hasTextData|deserializeCollisionBoxes|verticalIconFeatureIndex|verticalIconBox|iconFeatureIndex|iconBox|verticalTextFeatureIndex|verticalTextBox|textBox|isParsed|plugin|getRTLTextPluginStatus|glyphDependencies|iconDependencies|CollisionBuffers|StructArrayLayout2ub2f12|SymbolBuffers|PlacedSymbolArray|StructArrayLayout1ul4|StructArrayLayout3f12|StructArrayLayout4i4ui4i24|1424|65126|65123|65118|65112|65512|65507|65503|65371|65343|65341|65339|65310|65306|65293|65289|65288|12540|12336|12319|12308|12305|12296|65097|65136|65135|65104|65072|65055|65040|65023|64336|64255|63744|Private|55215|43391|42191|42128|42127|40960|40959|19968|19967|19904|19903|13312|13311|13056|13055|12800|12799|12784|12783|12736|12735|12704|12703|12688|12687|12592|12591|12544|12543|12448|12447|12352|12351|12287|12272|12255|12032|12031|11904|11263|11008|Arrows|9983|9727|9632|Shapes|9471|9312|Alphanumerics|9311|9280|Recognition|Character|Optical|9279|Pictures|Control|9215|8960|Technical|8591|8528|8527|8448|Letterlike|6399|6320|6143|6016|Khmer|5759|2208|1919|1872|1791|Latin|SIZE_PACK_FACTOR|evaluateSizeForZoom|evaluateSizeForFeature|getMaxScale|getCharCode|getSectionIndex|getSection|SegmentVector|lineVertex|numVerticalIconVertices|numIconVertices|numVerticalGlyphVertices|numHorizontalGlyphVertices|symbolInstance|associatedIconIndex|placedOrientation|glyphStartIndex|collisionCircleLayout|collisionBoxLayout|placementOpacityAttributes|logic|serialization|worker|Expression_|FormattedSection|ImageAtlas|writeable|enclosing|bound|Make|minimumFractionDigits|decimal|outputIndex|Numeric|characters|alphanumeric|findStopLessThanOrEqualTo|interpolatable|NumberType|unitbezier|resolvedOptions|ImageExpression|FormatExpression|rbga|Expectected|odd|yellowgreen|whitesmoke|wheat|violet|turquoise|tomato|thistle|teal|steelblue|springgreen|snow|slategrey|slategray|slateblue|skyblue|silver|sienna|seashell|seagreen|sandybrown|salmon|saddlebrown|rosybrown|rebeccapurple|purple|powderblue|plum|peru|peachpuff|papayawhip|palevioletred|paleturquoise|palegreen|palegoldenrod|orchid|orangered|olivedrab|olive|oldlace|navajowhite|moccasin|mistyrose|mintcream|midnightblue|mediumvioletred|mediumturquoise|mediumspringgreen|mediumslateblue|mediumseagreen|mediumpurple|mediumorchid|mediumblue|mediumaquamarine|maroon||magenta|linen|limegreen|lightyellow|lightsteelblue|lightslategrey|lightslategray|lightskyblue|lightseagreen|lightsalmon|lightpink|lightgrey|lightgreen|lightgray|lightgoldenrodyellow|lightcyan|lightcoral|lightblue|lemonchiffon|lawngreen|lavenderblush|lavender|khaki|ivory|indigo|indianred|hotpink|honeydew|grey|greenyellow|gray|goldenrod|ghostwhite|gainsboro|fuchsia|forestgreen|floralwhite|firebrick|dodgerblue|dimgrey|dimgray|deepskyblue|deeppink|darkviolet|darkturquoise|darkslategrey|darkslategray|darkslateblue|darkseagreen|darksalmon|darkred|darkorchid|darkorange|darkolivegreen|darkmagenta|darkkhaki|darkgrey|darkgreen|darkgray|darkgoldenrod|darkcyan|darkblue|crimson|cornsilk|cornflowerblue|coral|chocolate|chartreuse|cadetblue|burlywood|brown|blueviolet|blanchedalmond|bisque|beige|aquamarine|aqua|antiquewhite|aliceblue|patchUpdatedImages|showLabelAndIcon|createLabel|RENDERING|istance|directioinal|horizontalPositions|horizontalDistance|verticalPositions|verticalHeight|directionalPositions|negateNormal|_currentArea|_accumulationArea|capturePointColor|capturePointSize|vLabel|hLabel|areaLabel|disLabel|isEditZ|editObject|geoFilePath|geoZAxis|geoYAxis|geoXAxis|geoLength|geoImagePath|CalcPoint|endPos|startPos|lineDisplayCondition|volumeDisplayCondition|imageTransparent|gernerateCatenarylines|GetPowerline|ComputeBox|Clone|fromXML|fromFile|getAllRouteStops|viewToStop|turningMode|playRate|stopArrived||||CATMULL_ROM|9788000000000001||||importFile|unsupportedNodeEvent|refreshEvent|s3mInstanceCollection|TourControl|AnimatedUpdate|SoundCue|FlyTo|Orientation|Tracks|Playlist|ScreenOverlay|PhotoOverlay|GroundOverlays|xywh|groundOverlay|occured|noCamera|viewRefreshTime|refreshInterval|Atom|2005|txt|flash|shockwave|swf|ppt|pps|odt|spreadsheet|ods||presentation|odp|mpg|mp4v|mp3|m4v|mpegurl|m3u|ico|htm|eps|msword|htmlhelp|chm|bzip2|bz2|msvideo|smooth|Match|Matcher|matcher|HtmlTag|AnchorTagBuilder|||9643210||987654310|87654321|6543210||6421|8543210|98654321|987530|vbscript|u6e2f|u5385|u9910|u54c1|u98df|u56e2|u96c6|u8ca9|u7269|u8d2d|u6b4c|u8c37|u8054|u7edc|u7ad9|u5740|u52a8|u79fb|u5b9d|u73e0|u770b|u9580|u6fb3|u620f|u6e38|u7c4d|u66f8|u5c1a|u95fb|u5e9c|u52a1|u8058|u62db|u8868|u5584|u6148|u535a|u5fae|u4e1c|u5e7f|u5de5|u5bb6|u4e50|u5a31|u62ff|u7ebf|u6807||u57ce|u7063||u6e7e|u76ca||u53f8||u5366|u516b|u5eb7|u5065|u606f||u5c71|u4f5b|u4e1a|u4f01|u570b|u56fd|u754c|u4e16|u30e0|u30b3|uad6d|ud55c|uc131|uc0bc|ucef4|ub137|u10d4|u10d2|u0444|u044e|u03bb|u03b5|u6d66|u5229|u98de|u4e9a|u57fa|u8bfa|u9521|u9a6c|u6de1|u5761|u52a0|u4f60|u7231|u6211|u6559|u4e3b|u5929|u6587|u306a|u3093|u307f|u30bb|u30a2|u30b9|u0e22|u0e17|u0e44||u0e21|u0e2d|u0e04|u091f|u0947|u0949|u0915|u05dd|u05d5|u05e7|u0575|u0570|u0437|u049b|yun|xin|wtf|wtc|wow|wme|win|wed|vip|vin|vig|vet|ups|uol|uno|ubs|tvs|tui|trv|tjx|thd|tdk|tci|tax|tab|stc|srt|srl|soy|ski|sfr|sex|sew|ses|scb|sbs|sbi|sas|sap|rwe|rip|rio|ril|ren|qvc|pwc|pub|pru|pro|pnc||pin|pid|phd||pet|pay|ovh|ott|ooo|onl|ong|obi|nyc|ntt|nrw|nhk|ngo|nfl|nec|nab|mtn|msd|mom|moi|moe|mls|mlb|mit|mil|men|med|man|ltd|lpl|lol|llc|lds|law|krd|kpn|kim|kfh|joy|jot|jnj|jmp|jll|jio|jcp|jcb|itv|ist|ink|ing|inc|ifm|icu|ice|ibm|hot|hkt||hiv||||hbo|gop|goo|gmx|gmo|gle|gdn|gal|fyi|fun|ftr|frl|fox|fly|fan|eus|esq|edu|eco|eat|dvr|dtv|dog|dnp|diy|dhl|dds|dad|csc|cfd|ceo|ceb|cbs|cbn|cat|car|cam|cal|cab|bzh|buy|bot|boo|bom|bnl|bmw|bms|biz|bio|bid|bet|bcn|bcg|bbt|bbc|u683c|u79d1|u76c8|u8a0a||||u7ec7|u7ec4|u8f66|u6c7d|u4f17|u30a4|u30dd|u30c9|u30a6|u30e9|u30af|u0dcf|u0d9a|u0d82|u0dbd|u0ca4|u0cb0|u0cbe|u0cad|u0b24|u0b30|u0b3e|u0b2d|u0aa4|u0ab0|u0abe|u0aad|u0a24|u0a30|u0a3e|u0a2d|u09f0|u09b0|u0634|u0680|zara|yoga|xbox|wine|wiki|wien|weir|wang|voto|vote|vivo|viva|visa|vana|tube|toys|town|tips|tiaa|teva|tech|team|taxi|talk||surf|star|sony|song|sohu|sncf|site|silk|shop|shia|shaw|sexy|seek|seat|scot|scor|saxo|sarl|sale|safe|ruhr|rsvp|rmit|rich|rent|reit|raid|qpon|prof|prod|porn|pohl|ping|pics|pccw|pars|page|ollo|nike|nico|news|moto|moda|mobi|mint|mini|meme|maif|luxe|ltda|love|loft|loan|live|limo|lidl|lgbt|lego|land|kred|kpmg|kiwi|kddi|jprs|jobs|jeep|itau|immo|imdb|ieee|icbc|hsbc|hgtv|hdfc|haus|hair|guru|guge|goog|golf|gmbh|gift|ggee|gent|gbiz|game|fund|ford|food|flir|fish|film|fido|fiat|fast|farm|fans|fage|erni|dvag|duns|duck|doha|dish|diet|desi|dell|deal|dclk|cyou|coop|cool|club|city|citi|chat|cern|cbre|cash|casa|cars|care|camp|cafe|buzz|book|bond|bofa|blog|bike|beer|bbva|bank|baby|audi|asia|asda|arte|arpa||army|arab|amex|ally|akdn|aigo|aero|adac|able|aarp|u9152|u0d02|u0d24|u0d30|u0d3e|u0d2d|u0c4d|u0c24|u0c30|u0c3e|u0c2d|u09b2|u0982|u09ac|u0920|u0917|u0902|u0938|u094b|u06be|u06cc|zippo|yahoo|xerox|weibo|weber|watch|wales|volvo|vodka|vegas|ubank|tushu|tunes|trust|trade|tours|toray|tools|tokyo|today|tmall|tirol|tires|tatar|sucks|study|stada|sport|solar|smile|sling|skype|shoes|shell|sharp|seven|sener|salon|rugby|rodeo|rocks|ricoh|reise|rehab|quest|promo|prime|press|praxi|poker|pizza|photo|party|osaka|omega|nowtv|nokia|ninja|nikon|nexus|nadex|movie|mopar|money|miami|mango|macys|lupin|lotto|lotte|locus|loans|lixil|lipsy|linde|lilly|lexus|legal|lease|lamer|kyoto|koeln|jetzt|iveco|irish|intel|ikano|hyatt|house|horse|honda|homes|guide|gucci|gripe|gmail|globo|glass|glade|gives|gifts|games|gallo|forum|forex|fedex|faith|epson|epost|edeka|dubai|drive|dodge|deals|dance|dabur|cymru|crown|codes|coach|citic|cisco|cheap|chase|cards|canon|bosch|boats|bingo|bible|beats|baidu|autos|archi|apple|amica|amfam|aetna|adult|actor|u30e7|u30b7|u30c3|u30a1|u30d5|u0bc8|u0bb2|u094d|u0641|u063a|u0638|u0432|zappos|yandex|yachts|xihuan|webcam|warman|walter|vuelos|voyage|voting|vision|virgin|villas|viking|viajes|unicom|travel|toyota|tkmaxx|tjmaxx|tienda|tennis|tattoo|taobao|taipei|sydney|swatch|suzuki|studio|social|soccer|shouji|secure|schule|school|sanofi|sakura|safety|ryukyu|rogers|rocher|review|report|repair|reisen|realty|racing|quebec|pictet|piaget|physio|photos|pfizer|otsuka|oracle|online|olayan|office|nowruz|norton|nissay|nissan|natura|nagoya|mutual|museum|moscow|mormon|monash|mobily|mattel|market|makeup|maison|luxury|london|locker|living|lefrak|lawyer|latino|lancia|kosher|kindle|kinder|kaufen|juegos|joburg|jaguar|intuit|insure|imamat|hughes|hotels|hockey|hiphop|hermes|health|gratis|giving|george|garden|gallup|futbol|flickr|expert|estate|energy|emerck|durban|dupont|dunlop|doctor|direct|design|dental|dealer|datsun|dating|cruise|coupon|condos|comsec|coffee|clinic|claims|church|chrome|chanel|casino|caseih|career|broker|boston|bostik|blanco|bharti|berlin|beauty|bayern|aramco|anquan|alstom|alsace|alipay|airtel|airbus|agency|africa|abbvie|abbott|abarth|u0bbe|u0baf|u0ba4|u0ba8|u062b|u06a9|u067e|u0626|u062c|zuerich|youtube|yamaxun|xfinity|winners|whoswho|wedding|website|weather|watches|wanggou|walmart|trading|toshiba|tiffany|tickets|theatre|theater|temasek|systems|surgery|storage|starhub|staples|singles|shriram|shiksha|science|schwarz|schmidt|sandvik|samsung|rexroth|reviews|rentals|recipes|realtor|politie|pioneer|philips|origins|oldnavy|okinawa|neustar|netflix|netbank|monster|metlife|markets|lincoln|limited|liaison|leclerc|latrobe|lasalle|lanxess|lancome|lacaixa|komatsu|kitchen|juniper|jewelry|ismaili|iselect|hyundai|hotmail|hoteles|hosting|holiday|hitachi|hangout|hamburg|guitars|grocery|godaddy|genting|gallery|fujitsu|frogans|forsale|flowers|florist|flights|fitness|fishing|finance|ferrero|ferrari|fashion|farmers|express|exposed|domains|digital|dentist|cruises|cricket|courses|coupons|country|corsica|cooking|contact|company|comcast|cologne|college|clubmed|citadel|chintai|charity|cartier|careers|caravan|capital|bugatti|brother|booking|bestbuy|bentley|bauhaus|banamex|avianca|auspost|audible|auction|athleta|alibaba|agakhan|academy|abogado|yokohama|qxam|p1ai|90ae|woodside|verisign|ventures|vanguard|uconnect|training|symantec|supplies|stcgroup|software|softbank|showtime|shopping|security|samsclub|saarland|reliance|redstone|plumbing|pictures|pharmacy|partners|observer|movistar|mortgage|merckmsd|memorial|mckinsey|maserati|marriott|lundbeck|jpmorgan|istanbul|ipiranga|infiniti|hospital|holdings|helsinki|hdfcbank|guardian|graphics|grainger|goodyear|frontier|football|firmdale|fidelity|exchange|everbank|etisalat|esurance|ericsson|engineer|discover|discount|diamonds|democrat|deloitte|delivery|computer|commbank|clothing|clinique|cleaning|cityeats|cipriani|chrysler|catholic|catering|capetown|business|builders|budapest|broadway|bradesco|boutique|baseball|bargains|barefoot|barclays|attorney|allstate|airforce|abudhabi|yodobashi|vhquv|tckwe|p1acf|nqv7f|ngbrx|l1acc|j1amh|j1aef|fhbei|e1a4c|d1alf|c1avg|90ais|vacations|travelers|statefarm|statebank|solutions|shangrila|scjohnson|richardli|pramerica|passagens|panasonic|melbourne|marshalls|marketing|lifestyle|landrover|lancaster|ladbrokes|kuokgroup|insurance|institute|honeywell|homesense|homegoods|homedepot|hisamitsu|goldpoint|furniture|fujixerox|frontdoor|fresenius|firestone|financial|fairwinds|equipment|education|community|christmas|bloomberg|barcelona|aquarelle|analytics|amsterdam|allfinanz|alfaromeo|accenture|y9a3aq|wgbl6a|wgbh1c|unup4y|pssy2u|o3cw4h|mxtq1m|kput3i|io0a7i|fiqz9s|fiqs8s|fiq64b|czru2d|czrs0t|cg4bki|c2br7g|9et52u|9dbq2a|90a3ac|80aswg|5tzm5g|55qx5d|4gbrim|45q11c|3pxu8k|30rr7y|volkswagen|vlaanderen|vistaprint|university|telefonica|technology|tatamotors|swiftcover|schaeffler|restaurant|republican|realestate|prudential|protection|onyourside|nextdirect|newholland|nationwide|mitsubishi|management|industries|immobilien|healthcare|foundation|extraspace|eurovision|cuisinella|creditcard|consulting|capitalone|boehringer|bnpparibas|basketball|associates|apartments|accountant|u0bb0|u0bc2|u0b9a|zfr164b|xhq521b|w4rs40l|vuq861b|t60b56a|ses554g|s9brj9c|rovu88b|rhqv96g|q9jyb4c|pgbs0dh|pbt977c|otu796d|nyqy26a|mix891f|mgbtx2b|mgbbh1a|kpu716f|kpry57d|kprw13d|jvr189m|j6w193g|imr513n|hxt814e|h2brj9c|gk3at1e|gecrj9c|g2xx48c|flw351e|fjq720a|fct429k|estv75g|efvy88h|d1acj3b|czr694b|cck2b3b|9krt00a|80ao21a|6frz82g|55qw42g|45brj9c|42c2d9a|3hcrj9c|3ds443g|3bst00m|2scrj9c|1qqw23a|1ck2e1b|11b4c3d|williamhill|rightathome|redumbrella|progressive|productions|playstation|photography|olayangroup|motorcycles|lamborghini|kerryhotels|investments|foodnetwork|enterprises|engineering|creditunion|contractors|calvinklein|bridgestone|blockbuster|blackfriday|barclaycard|accountants|qcka1pmc|ogbpf8fl|ngbe9e0a|ngbc5azd|mk1bu44c|mgbt3dhd|mgbpl2fh|mgbgu82a|mgbab2bd|mgb9awbf|gckr3f0f|8y0a063a|80asehdb|80adxhks|45br5cyl|3e0b707e|versicherung|scholarships|lplfinancial|construction|ygbi2ammx|yfro4i67o|tiq49xqyj|h2brj9c8c|fzc2c9e2c|fpcrj9c3d|eckvdtc9d|wolterskluwer|travelchannel|spreadbetting|lifeinsurance|rvc1e0am3e|mgbx4cd0ab|mgbi4ecexp|mgbca7dzdo|mgbbh1a71e|mgbb9fbpob|mgbayh7gpa|mgbaam7a8h|mgba3a3ejt|jlq61u9w7b|h2breg3eve|fiq228c5hs|b4w605ferd|80aqecdr1a|6qq986b3xl|54b7fta0cc|weatherchannel|kerrylogistics|cookingchannel|cancerresearch|bananarepublic|americanfamily|afamilycompany|nqv7fs00ema|mgbc0a9azcg|mgbaakc7dvf|mgba3a4f16a|lgbbat1ad8j|kcrx77d1x4a|i1b6b1a6a2e|sandvikcoromant|kerryproperties|americanexpress|xkc2al3hye2a|mgba7c0bbn0a|fzys8d69uvgm|u00f6gensberater|xkc2dl3a5ee0h|mgberp4a5d4ar|mgbai9azgqp6j|bck1b9a5dre4c|5su34j936bgsg|3oq18vl8pn36a|u00f6gensberatung|travelersinsurance|northwesternmutual|w4r85el8fhu5dnra|clchc0ea0b2g2a9gcd|ctb|vermgensberater|pwb|vermgensberatung|uFF19|uFF10|uABF9|uABF0|uAA59|uAA50|uA9F9|uA9F0|uA9D9|uA9D0|uA909|uA900|uA8D9|uA8D0|uA629|uA620|u1C59|u1C50|u1C49|u1C40|u1BB9|u1BB0|u1B59|u1B50|u1A99|u1A90|u1A89|u1A80|u19D9|u19D0|u194F|u1946|u1819|u1810|u17E9|u17E0|u1099|u1090|u1049|u1040|u0F29|u0F20|u0ED9|u0ED0|u0E59|u0E50|u0DEF|u0DE6|u0D6F|u0D66|u0CEF|u0CE6|u0C6F|u0C66|u0BEF|u0BE6|u0B6F|u0B66|u0AEF|u0AE6|u0A6F|u0A66|u09EF|u09E6|u096F|u0966|u07C9|u07C0|u06F9|u06F0|u0669|u0660|uFE2F|uFE20|uFE0F|uFE00|uFB1E|uABED|uABEC|uABEA|uABE3|uAAF6|uAAF5|uAAEF|uAAEB|uAAC1|uAABF|uAABE|uAAB8|uAAB7|uAAB4|uAAB2|uAAB0|uAA7D|uAA7B|uAA4D|uAA4C|uAA43|uAA36|uAA29|uA9E5|uA9C0|uA9B3|uA983|uA980|uA953|uA947|uA92D|uA926|uA8F1|uA8E0|uA8C5|uA8B4|uA881|uA880|uA827|uA823|uA80B|uA806|uA802|uA6F1|uA6F0|uA69F|uA69E|uA67D|uA674|uA672|uA66F|u309A|u3099|u302F|u302A|u2DFF|u2DE0|u2D7F|u2CF1|u2CEF|u20F0|u20D0|u1DFF|u1DFB|u1DF5|u1DC0|u1CF9|u1CF8|u1CF4|u1CF2|u1CED|u1CE8|u1CD4|u1CD2|u1CD0|u1C37|u1C24|u1BF3|u1BE6|u1BAD|u1BA1|u1B82|u1B80|u1B73|u1B6B|u1B44|u1B34|u1B04|u1B00|u1ABE|u1AB0|u1A7F|u1A7C|u1A60|u1A5E|u1A55|u1A1B|u1A17|u193B|u1930|u192B|u1920|u18A9|u1886|u1885|u180D|u180B|u17DD|u17D3|u17B4|u1773|u1772|u1753|u1752|u1734|u1732|u1714|u1712|u135F|u135D|u109D|u109A|u108F|u108D|u1082|u1074|u1071|u106D|u1067|u1064|u1062|u1060|u105E|u1059|u1056|u103E|u102B|u0FC6|u0FBC|u0F99|u0F97|u0F8D|u0F87|u0F86|u0F84|u0F71|u0F3F|u0F3E|u0F39|u0F37|u0F35|u0F19|u0F18|u0ECD|u0EC8|u0EBC|u0EBB|u0EB9|u0EB4|u0EB1|u0E4E|u0E47|u0E3A|u0E34|u0E31|u0DF3|u0DF2|u0DDF|u0DD8|u0DD6|u0DD4|u0DCF|u0DCA|u0D83|u0D82|u0D63|u0D62|u0D57|u0D4D|u0D4A|u0D48|u0D46|u0D44|u0D3E|u0D03|u0D01|u0CE3|u0CE2|u0CD6|u0CD5|u0CCD|u0CCA|u0CC8|u0CC6|u0CC4|u0CBE|u0CBC|u0C83|u0C81|u0C63|u0C62|u0C56|u0C55|u0C4D|u0C4A|u0C48|u0C46|u0C44|u0C3E|u0C03|u0C00|u0BD7|u0BCD|u0BCA|u0BC8|u0BC6|u0BC2|u0BBE|u0B82|u0B63|u0B62|u0B57|u0B56|u0B4D|u0B4B|u0B48|u0B47|u0B44|u0B3E|u0B3C|u0B03|u0B01|u0AE3|u0AE2|u0ACD|u0ACB|u0AC9|u0AC7|u0AC5|u0ABE|u0ABC|u0A83|u0A81|u0A75|u0A71|u0A70|u0A51|u0A4D|u0A4B|u0A48|u0A47|u0A42|u0A3E|u0A3C|u0A03|u0A01|u09E3|u09E2|u09D7|u09CD|u09CB|u09C8|u09C7|u09C4|u09BE|u09BC|u0983|u0981|u0963|u0962|u0957|u0951|u094F|u093E|u093C|u093A|u0903|u08E3|u08E1|u08D4|u085B|u0859|u082D|u0829|u0827|u0825|u0823|u081B|u0819|u0816|u07F3|u07EB|u07B0|u07A6|u074A|u0730|u0711|u06ED|u06EA|u06E8|u06E7|u06E4|u06DF|u06DC|u06D6|u0670|u065F|u064B|u061A|u0610|u05C7|u05C5|u05C4|u05C2|u05C1|u05BF|u05BD|u0591|u0489|u0483|u036F|u0300|ud83e|ud83d|ud83c|u3300|uFFDC|uFFDA|uFFD7|uFFD2|uFFCF|uFFCA|uFFC7|uFFC2|uFFBE|uFF66|uFF5A|uFF41|uFF3A|uFF21|uFEFC|uFE76|uFE74|uFE70|uFDFB|uFDF0|uFDC7|uFD92|uFD8F|uFD50|uFD3D|uFBD3|uFBB1|uFB46|uFB44|uFB43|uFB41|uFB40|uFB3E|uFB3C|uFB38|uFB36|uFB2A|uFB28|uFB1F|uFB1D|uFB17|uFB13|uFB06|uFB00|uFAD9|uFA70|uFA6D|uF900|uD7FB|uD7CB|uD7C6|uD7B0|uD7A3|uAC00|uABE2|uAB70|uAB65|uAB5C|uAB5A|uAB30|uAB2E|uAB28|uAB26|uAB20|uAB16|uAB11|uAB0E|uAB09|uAB06|uAB01|uAAF4|uAAF2|uAAEA|uAAE0|uAADD|uAADB|uAAC2|uAAC0|uAABD|uAAB9|uAAB6|uAAB5|uAAB1|uAAAF|uAA7E|uAA7A|uAA76|uAA60|uAA4B|uAA44|uAA42|uAA40|uAA28|uAA00|uA9FE|uA9FA|uA9EF|uA9E6|uA9E4|uA9E0|uA9CF|uA9B2|uA984|uA97C|uA960|uA946|uA930|uA925|uA90A|uA8FD|uA8FB|uA8F7|uA8F2|uA8B3|uA882|uA873|uA840|uA822|uA80C|uA80A|uA807|uA805|uA803|uA801|uA7F7|uA7B7|uA7B0|uA7AE|uA78B|uA788|uA722|uA71F|uA717|uA6E5|uA6A0|uA69D|uA67F|uA66E|uA640|uA62B|uA62A|uA61F|uA610|uA60C|uA500|uA4FD|uA4D0|uA48C|uA000|u9FD5|u4E00|u4DB5|u3400|u31FF|u31F0|u31BA|u31A0|u318E|u3131|u312D|u3105|u30FF|u30FC|u30FA|u30A1|u309F|u309D|u3096|u3041|u303C|u303B|u3035|u3031|u3006|u3005|u2E2F|u2DDE|u2DD8|u2DD6|u2DD0|u2DCE|u2DC8|u2DC6|u2DC0|u2DBE|u2DB8|u2DB6|u2DB0|u2DAE|u2DA8|u2DA6|u2DA0|u2D96|u2D80|u2D6F|u2D67|u2D30|u2D2D|u2D27|u2D25|u2D00|u2CF3|u2CF2|u2CEE|u2CEB|u2CE4|u2C60|u2C5E|u2C30|u2C2E|u2C00|u2184|u2183|u214E|u2149|u2145|u213F|u213C|u2139|u212F|u212D|u212A|u2128|u2126|u2124|u211D|u2119|u2115|u2113|u210A|u2107|u2102|u209C|u2090|u207F|u2071|u1FFC|u1FF6|u1FF4|u1FF2|u1FEC|u1FE0|u1FDB|u1FD6|u1FD3|u1FD0|u1FCC|u1FC6|u1FC4|u1FC2|u1FBE|u1FBC|u1FB6|u1FB4|u1F80|u1F7D|u1F5F|u1F5D|u1F5B|u1F59|u1F57|u1F50|u1F4D|u1F48|u1F45|u1F20|u1F1D|u1F18|u1F15|u1E00|u1DBF|u1D00|u1CF6|u1CF5|u1CF1|u1CEE|u1CEC|u1CE9|u1C88|u1C80|u1C7D|u1C5A|u1C4F|u1C4D|u1C23|u1C00|u1BE5|u1BBA|u1BAF|u1BAE|u1BA0|u1B83|u1B4B|u1B45|u1B33|u1B05|u1AA7|u1A54|u1A20|u1A16|u1A00|u19C9|u19B0|u19AB|u1980|u1974|u1970|u196D|u1950|u191E|u1900|u18F5|u18B0|u18AA|u18A8|u1887|u1884|u1880|u1877|u1820|u17DC|u17D7|u17B3|u1780|u1770|u176E|u176C|u1760|u1751|u1740|u1731|u1720|u1711|u170E|u170C|u1700|u16F8|u16F1|u16EA|u16A0|u169A|u1681|u167F|u166F|u166C|u1401|u13FD|u13F8|u13F5|u13A0|u138F|u1380|u135A|u1318|u1315|u1312|u1310|u12D8|u12D6|u12C8|u12C5|u12C2|u12C0|u12BE|u12B8|u12B5|u12B2|u12B0|u1290|u128D|u128A|u1288|u1260|u125D|u125A|u1258|u1256|u1250|u124D|u124A|u1248|u10FC|u10FA|u10D0|u10CD|u10C7|u10C5|u10A0|u108E|u1081|u1075|u1070|u106E|u1066|u1065|u1061|u105D|u105A|u1055|u1050|u103F|u102A|u1000|u0F8C|u0F88|u0F6C|u0F49|u0F47|u0F40|u0F00|u0EDF|u0EDC|u0EC6|u0EC4|u0EC0|u0EBD|u0EB3|u0EB2|u0EB0|u0EAD|u0EAB|u0EAA|u0EA7|u0EA5|u0EA3|u0EA1|u0E9F|u0E99|u0E97|u0E94|u0E8D|u0E8A|u0E88|u0E87|u0E84|u0E82|u0E81|u0E46|u0E40|u0E33|u0E32|u0E30|u0E01|u0DC6|u0DC0|u0DBD|u0DBB|u0DB3|u0DB1|u0D9A|u0D96|u0D85|u0D7F|u0D7A|u0D61|u0D5F|u0D56|u0D54|u0D4E|u0D3D|u0D3A|u0D12|u0D10|u0D0E|u0D0C|u0D05|u0CF2|u0CF1|u0CE1|u0CE0|u0CDE|u0CBD|u0CB9|u0CB5|u0CB3|u0CAA|u0CA8|u0C92|u0C90|u0C8E|u0C8C|u0C85|u0C80|u0C61|u0C60|u0C5A|u0C58|u0C3D|u0C39|u0C2A|u0C28|u0C12|u0C10|u0C0E|u0C0C|u0C05|u0BD0|u0BB9|u0BAE|u0BAA|u0BA8|u0BA4|u0BA3|u0B9F|u0B9E|u0B9C|u0B9A|u0B99|u0B95|u0B92|u0B90|u0B8E|u0B8A|u0B85|u0B83|u0B71|u0B61|u0B5F|u0B5D|u0B5C|u0B3D|u0B39|u0B35|u0B33|u0B32|u0B30|u0B2A|u0B28|u0B13|u0B10|u0B0F|||||u0B0C|u0B05|u0AF9|u0AE1|u0AE0|u0AD0|u0ABD|u0AB9|u0AB5|u0AB3|u0AB2|u0AB0|u0AAA|u0AA8|u0A93|u0A91|u0A8F|u0A8D|u0A85|u0A74|u0A72|u0A5E|u0A5C|u0A59|u0A39|u0A38|u0A36|u0A35|u0A33|u0A32|u0A30|u0A2A|u0A28|u0A13|u0A10|u0A0F|u0A0A|u0A05|u09F1|u09F0|u09E1|u09DF|u09DD|u09DC|u09CE|u09BD|u09B9|u09B6|u09B2|u09B0|u09AA|u09A8|u0993|u0990|u098F|u098C|u0985|u0980|u0971|u0961|u0958|u0950|u093D|u0939|u0904|u08BD|u08B6|u08B4|u08A0|u0858|u0840|u0828|u0824|u081A|u0815|u0800|u07FA|u07F5|u07F4|u07EA|u07CA|u07B1|u07A5|u074D|u072F|u0712|u0710|u06FF|u06FC|u06FA|u06EF|u06EE|u06E6|u06E5|u06D5|u06D3|u0671|u066F|u066E|u064A|u0620|u05F2|u05F0|u05EA|u05D0|u0587|u0559|u0556|u0531|u052F|u048A|u0481|u03F7|u03F5|u03A3|u03A1|u038E|u038C|u038A|u0388|u0386|u037F|u037D|u037A|u0377|u0376|u0374|u0370|u02EE|u02EC|u02E4|u02E0|u02D1|u02C6|u02C1|xF8|xF6|xD8|xD6|xC0|xBA|xB5|xAA|x7F|x1F|getNumber|getMention|tags|explore|getHashtag|getEmail|noreferrer|noopener|setInnerHtml|hasClass|removeClass|addClass|setClass|setAttrs|getAttr|setTagName|DOCTYPE|splitRegex|crsLinkTypes|crsLinkHrefs|crsNames|CRS84|OGC|sphericalTriangleArea|sphericalRingArea|quantile|presimplify|planarTriangleArea|planarRingArea|filterWeight|filterAttachedWeight|filterAttached|topology|untransform|u22652|neighbors|mergeArcs|meshArcs|hashset|createDocument|modelCallback|exporting|Encountered|Data64URIReader|1347094280|335546376|Zip64|encrypted|AWa|u00b2_|u00b1_|u00ad|u00fe|u00b5|u00d2|u00cc_|u00c8i|u00d0|u00c3|u00bb___|u00bc|u00ba|u0192|u00a3|u00f8|u00f2|u00e8|u00e0|u00e4|Deflater|Inflater|onflush|onappend|14E3|allowPartial|_subSample|createPrimitiveMatrix|getByName|processMaterialPacketData|processPositionPacketData|processPacketData|LAGRANGE|HERMITE|numberOfDerivatives|_mergeNewSamples|packedSamples|derivativeValues|derivativeTypes|packedArray|referenceString|_glow|_pixelRangeDirty|_minimumClusterSizeDirty|positionLowAndShow|lowerCollectionToBottom|raiseCollectionToTop|lowerCollection|raiseCollection|getCollectionsLength|getCollection|indexOfCollection|containsCollection|removeAllCollections|collections|addCollection|collectionChangedEventCallback|point3Ds|isLatLon|geoId|geoScaleZ|geoScaleY|geoScaleX|geoRotationZ|geoRotationY|geoRotationX|CIRCLE3D|REGION3D|LINE3D|newFrame|tilesetVersion|styleEngine|setReferenceMinimumMaximum|expired|cmpt|createVectorTilePolylines|createVectorTilePolygons|createVectorTilePoints|setAllLabelsVisible|u08ff|u08a0|u077f|u0750|u06ff|u0600|u05ea|u05d0|IGNORE_SHOW|containsByID|atlas|removeTileCustomData|Was|volTextureCoord|VOL_TEXCOORD_INDEX|wgs84ToDrawingBufferCoordinates|exceed|lengthInVertices|blitFramebuffer|getColorRenderbuffer|POSITION_ABSOLUTE|createVectorTileGeometries|getMesh|_gltfCache|silhouetteSupported|cachedTexturesByteLength|cachedGeometryByteLength|originalMatrix|targetable|decodeDraco|assigned|fromPlane|literals|Converting|conditional|Conditional|exp2|removeAllLiterals|removeLiteral|removeAllBinaryOps|removeBinaryOp|removeAllUnaryOps|removeUnaryOp|addLiteral|addUnaryOp|JSEP|Parser|comma|ThisExpression|quote|WebP|KHR_texture_transform|AGI_articulations|decodedMax|decodedMin|premultipliedAlpha|instanceProgram|defaultPass|nodeInScene|Y_UP_TO_X_UP|X_UP_TO_Y_UP|Z_UP_TO_Y_UP|_translationSubscription|55E3|GeometryInstanceAttributes|RTC|czm_batchTable_distanceDisplayCondition|czm_batchTable_offset|1czm_batchTable_pickColor|1czm_batchTable_color|1czm_batchTable_depthFailColor|czm_batchTable_show|czm_compute|createClampPickColorRenderState|createClampPickStencilRenderState|DECREMENT|INCREMENT|fromCastReceive|packCombineGeometryResults|unpackCombineGeometryParameters|packCreateGeometryResults|vertexArrayAttributes|getBufferSubData|arrayViewLength|getBufferData|copyBufferSubData|Can|ranges|validation|validateProgram|allUniforms|numberOfVertexAttributes|uniform4iv|uniform3iv|uniform2iv|uniform1iv|uniform4fv|uniform3fv|uniform2fv|uniform1fv|uniform4i|uniform3i|uniform2i|czm_sunColor|czm_lightColorHdr|czm_inverseNormal3D|czm_inverseNormal|czm_modelViewInfiniteProjection|czm_inverseModelViewProjection|czm_inverseViewProjection|czm_viewProjection|czm_inverseModelView3D|czm_infiniteProjection|czm_inverseViewRotation3D|czm_inverseView3D|czm_viewRotation3D|czm_view3D|bvec4|bvec3|bvec2|clearCache|getCache|removeFromCache|S3MTilesClampObjectStencil|BASICMODEL|BASIC|AspectRamp|SlopeRamp|ElevationRamp|ElevationContour|RimLighting|Water|Dot|NormalMap|BumpMap|EmissionMap|SpecularMap|AlphaMap|DiffuseMap|czm_defaultCubeMap|czm_defaultImage|fromFramebuffer|maximumDrawBuffers|minimumAliasedPointSize|maximumVertexUniformVectors|maximumVaryingVectors|maximumFragmentUniformVectors|maximumCombinedTextureImageUnits|PRE_MULTIPLIED_ALPHA_BLEND|SOURCE_ALPHA_SATURATE|ONE_MINUS_DESTINATION_ALPHA|DESTINATION_ALPHA|ONE_MINUS_DESTINATION_COLOR|DESTINATION_COLOR|ONE_MINUS_SOURCE_COLOR|SOURCE_COLOR|REVERSE_SUBTRACT|SUBTRACT|paused|relativeToPrevious|fromIso8601DurationArray|fromIso8601DateArray|iso8601Array|findIntervalContainingDate|spatiallicense|checkSptialLicense|cartesian3|FACE_AND_ARROW|ARROW|01215058143522694|05E|27034|87317577|3529|11612|93734808|97289|203654E|0167086342|329115|164557|03599999996|418874|284235|359034|613351|01799999998|209437|18399999995|478713|807828|29599999999|119678|1017265|927506|688150|2273887|2243968|3679999999|957426|495980222607121E11|3595362|23970096136568E|154129427414611E|690511510146299E|619723173785822E|0000000000000002|29597742283429E9|46645683|registerListenersForWindowTop|RequestAnimationFrame|pole|crosses|Rotated|UTM|LCC|ALBERS|TMERC|fromUrl|fontStyle|fontsize|9999999847691291|computeOccludeePointFromRectangle|0017453283658983088|occludeePosition|occludeeBS|VIZZWX8pd1bTfxIVj9g|eyJ1IjoiYW5hbHl0aWNhbGdyYXBoaWNzIiwiYSI6ImNpd204Zm4wejAwNzYyeW5uNjYyZmFwdWEifQ|67305985|defaultLoadAndExecuteScript|defaultCreateImage|ungzip|inflateRaw|Inflate|incompatible|insufficient|4194304|24577|16385|12289|8193|4097|2049|1537|Nodeca|pako|inflateInfo|crc|35615|inflateInit|inflateResetKeep|inflateReset2|inflateReset|Z_DEFLATED|Z_UNKNOWN|Z_TEXT|Z_BINARY|Z_DEFAULT_STRATEGY|Z_FIXED|Z_RLE|Z_HUFFMAN_ONLY|Z_FILTERED|Z_DEFAULT_COMPRESSION|Z_BEST_COMPRESSION|Z_BEST_SPEED|Z_NO_COMPRESSION|Z_DATA_ERROR|Z_STREAM_ERROR|Z_ERRNO|Z_TREES|Z_BLOCK|Z_FULL_FLUSH|Z_PARTIAL_FLUSH|buf2binstring|65537|MODULE_NOT_FOUND|Divide|independent|There|interpolator|Lagrange|31T24|01T00|0000|05701963872|44384E|00489576556|00151208716|0614054671|17427767544|02483712756|83537045778|01280289136|1887048681|0044|0028|0046|0066|0252|0642|1208|3213|0029|0068|0278|0239|5419|013|0043|0072|0172|1204|8787|0031|9949|9590088|0036096|7484877|3287146|064993|4057084|9856003|0120009|1059842|0529921|045|emissionTexCoordScale|emissionTexCoordVSpeed|emissionTexCoordUSpeed|emissionTextureUrl|ARM_ALL|inputOrder|Hermite|_projectNormal|6371010|createVerticesFromGoogleEarthEnterpriseBuffer|u0088F|u0012|u007f5|u0015|u00f3H|u00fcYRe|u0019Q|u009d|u00ecFpv|u00a8O|u00bd8|u00d2M1|u0003b|u00bbO|u00beIV|u00a5wy|u001e|u0084Sun|u00f14|u00ecF9|In7gS|u009cFG|u001c30x|nZGM|u00fb5O|u00daw|u00deV9|u0087|u00adxtO|u00f0VldI|u00cf8i|u00c0p|u00e1e|u00c0XL|u00b1|u0002_H|u008bh|u0090pr|u00c3j|u00c6U|u0092mw|u008d|u000eSD|u009a|u0017W|u00d0K|u0093o|u00c7sWx|u00b9K|u0087j|u00db6|u00e7v|u000fr|u0091|u00c0V|u000eN|u00aeq|u00f1Ji|u00ceg|u001cU|u00e2FaZ|u0084|u00da_|u009e|u00dcl|u00b5o|u00c51|u001cO|u00cbGL|u00f8M|u00a9B|u0019X|u00d3a|u001f2O|u00ccD|u00a0D|u00eec|u00d13|u00b7q|u007fB|u00eax|u008f|u00f2Y0|u00fer|fmI|u00b9q|u00e5p|u0005fJo|u001eJ|u008e|u0013w7|u0089m|u0007E|u00efP|u008foP|u00a2j|u00a6P|u0095T9w|u00cdKQ|u0086i|u00da3|u008cD|u00857r|u00c3u|u00cf1|x005|u0092p|u0086|u00b9XFk|u0083N|u00e81|u00e48|u0094Y|u00adS|u00dcF|u0010j|u00a0wU|u00dfI|u0015j|u0004Q|u00b6s|u00a3h|u00a6n|x00nPh|u00e8N|u00a4O|fa1|u00e6x|u00ceI|u0011|u00baC|u00b0k|u00fdK|u00e2TU|u00e5l|u001be4|u00a5s|u009bn5|u008fP|u00bbMg0|u0087F|u00b44M|u0015A|u00a3aF|u0098u|UfYNe|VqH|u0091h|u0007q|u008cP_|u0013L|u00d99|u000e9|u008c|u00af9D|u00faa|u008cDt|u0017u|mF8J|u00f83|u001d0s|u0019l5|x0B3|u00adwUe|u0003VZ|u007fE|u00d4q|u00eeOl|u00103S|u0081|u00bbr|u00e0A|u00bdNu|u0093|u009ck|u001dmi|u00dcjb|u00c64|u00e8a|x00B|u0010FgQ|u00f8I|u0006q|u00e2jE|x0By|ldelim|fork|2250738585072014E|2146435072|1754943508222875E|2139095040|4028234663852886E38|268435456|allocUnsafe|enums|longs|toJSONOptions|lazyResolve|oneOfSetter|oneOfGetter|newError|lcFirst|fromBits|longFromHash|longToHash|xff|key64Re|key32Re|key2Re|newBuffer|isObject|isNode|emptyObject|emptyArray|decodeDelimited|encodeDelimited|rpcCall|Service|utf8Slice|wire|1075|isBuffer|configure|rpc|roots|minimal|8191|quire|SEARCH|EXTRAPOLATE|getUnitEllipsoid|BOUNCE_IN_OUT|BOUNCE_OUT|BOUNCE_IN|BACK_IN_OUT|BACK_OUT|BACK_IN|ELASTIC_IN_OUT|ELASTIC_OUT|ELASTIC_IN|CIRCULAR_IN_OUT|CIRCULAR_OUT|CIRCULAR_IN|EXPONENTIAL_IN_OUT|EXPONENTIAL_IN|SINUSOIDAL_IN_OUT|SINUSOIDAL_OUT|SINUSOIDAL_IN|QUINTIC_OUT|QUINTIC_IN|QUARTIC_IN_OUT|QUARTIC_IN|CUBIC_IN_OUT|CUBIC_IN|QUADRACTIC_IN_OUT|QUADRACTIC_OUT|QUADRACTIC_IN|Bezier|984375|onStart|yoyo|getAll|REVISION|DXT5|DXT4|DXT3|DXT2|DXT1|BGRA|ABGR|ARGB|BGR565|RGB_565|ALPHA_4_LUMINANCE_4|LUMINANCE_16|LUMINANCE_8|getUnitCylinder|mgrs|defaultDatum|Geocent|geocentric|Geocentric|robin|08726646259971647|459155902616464|19159E|00328947|00616527|9761|92841E|00840947|9394|547E|4636E|00969686|8936|40374E|4615E|0103431|8435|04739E|89042E|0109107|7903|09052E|97684E|0113541|7346|16405E|20223E|011713|6769|25327E|41424E|0119938|6176|82288E|54081E|0121916|5571|45523E|02252E|0123198|4958|35621E|69093E|0123893|11994E|88983E|0124029|35986E|64997E|0123992|10039E|0124002|00152E|90189E|0123999|60604E|07171E|22642E|26793E|45284E|21431E|20417E|75608E|00677797|5322|00906601|5722|83923E|010418|6213|91974E|99569E|00986209|6732|6303E|01149E|00851367|7186|27626E|5971E|00798324|7597|35324E|00009E|00755338|7986|34959E|40253E|00698325|32484E|13898E|00609363|43432E|23831E|00536223|8962|81243E|0457E|00467746|6154E|53386E|00382792|9427|64917E|00761E|00305085|8736E|03571E|00214868|72411E|49547E|00167442|9822|6777E|9661E|00135364|86701E|48605E|3103E|9954|3309E|4897E|82243E|1103E|15515E|2199E|qsc|Quadrilateralized_Spherical_Cube|8197186342052367|ortho|aeqd|Azimuthal_Equidistant|vandg|VanDerGrinten|Van_der_Grinten_I|eqdc|Equidistant_Conic|moll|Mollweide|sinu|mill|Miller_Cylindrical|nzmg|New_Zealand_Map_Grid|484813681109536|iterations|0013|00394|0122|007317|0368594|1052906|03333098|5185406398|5627014243|5127645|9660549|64497696|01418179|18200602|15094762|112208952|508307513|007809598|577245789|3231270439|1651967|6870983|36249218|26623489|01727609|10162907|04105856|001541739|003371507|249204646|7557853228|001333|0026906|0055161|0117879|02526853|063294409|1358797613|6399175073|poly|Polyconic|eqc|Equidistant_Cylindrical|Equirectangular|Carre|Plate|Cylindrical|Equidistant|gnom|Albers|laea|Equal|Azimuthal|016415012942191543|0664021164021164|10257936507936508|06388888888888888|17222222222222222|3333333333333333|mmf|cass|Cassini_Soldner|Cassini|05859375|krovak|Krovak|37008346281555|04216856380474|785398163397448|4334234309119251|863937979737193|006674372230614|Lambert_Conformal_Conic_2SP|Lambert_Conformal_Conic|Tangential|omerc|Hotine_Oblique_Mercator_Azimuth_Center|Hotine_Oblique_Mercator_Azimuth_Natural_Origin|Hotine|Hotine_Oblique_Mercator|somerc|stere|Double_Stereographic|sterea|Polar_Stereographic|Oblique_Stereographic|Stereographic_North_Pole|Universal|Extended_Transverse_Mercator|6650675310896665|03233083094085698|713007555715889|80640|34729|3991680|108847|4583|9096203979276896|49561|7257600|830251|4397|181440|167603|26880|15061|90720|5569|4480|0248393063822752|2890188388723545|37800|7891|96199|015625|444337|22275|601676|31185|109598|144838|4174|24832|1237|399572|4279|12686|73814|1262|1522|2323|2704|4725|4642|2854|elliptical|Transverse_Mercator|1320|1574|3111|3076171875|005696614583333333|3645833333333333|007120768229166667|013020833333333334|toMGRS|fromMGRS|1972|Belge|Reseau|84218|456955|33657|Jakarta|Segara|Gunung|gunung_segara|Beduaram|beduaram|Ferro|JTSK|s_jtsk|4894|2470|1502|060|1949|5993|Rassadiran|rassadiran|Ireland|Irish|Hermannskogel|hermannskogel|Tunisia|1934|Carthage|clark80|carthage|DHDN|1950|Rauenberg|Potsdam|potsdam|North_American_Datum_1927|ntv1_can|gsb|ntv2_0|alaska|conus|nad27|North_American_Datum_1983|nad83|Greek_Geodetic_Reference_System_1987|ggrs87|056|257223563|6378135|WGS7|WGS66|6378165|WGS60|Walbeck|8467|6355834|6376896|walbeck|Asia|Southeast|3205|6356773|SEasia|1942|Krassovsky|6378245|krass|France|1817|Plessis|6355863|6376523|plessis|6356772|6378157|new_intl|1738|Maupertius|6397300|mprts|1979|Lerch|6378139|lerch|1961|Kaula|6378163|kaula|Hayford|1909|6378388|Hough|6378270|hough|1906|Helmert|6378200|helmert|6378150|fschr68|fschr60m|Mercury|6378166|fschr60|Sarawak|Sabah|6377298|evrstSS|6377295|evrst69|1956|6377301|evrst56|1948|063|6377304|evrst48|6377276|evrst30|1985|Engelis|2566|engelis|Belgium|1810|Delambre|6376428|delmbr|1799|Mesures|Poids|des|Comm|6375738|CPM|1858|2606763692654|645208759|6378293|clrk58|1880|4663|6378249|6356583|6378206|6377483|bess_nam|247167427|GRS67|Amer|Natl|Australian|aust_SA|Iclnd|Den|Andrae|6377104|andrae|Modified|6356034|6377340|Lab|Weapons|Naval|NWL9D|Physics|Appl|APL4|6356256|6377563|||1976||||IAU|IAU76|Soviet||SGS85|1983|Mercator_1SP|Visualisation|Popular|GOOGLE|no_defs|4269|State|unable|z84|r_a|k_0|lonc|lon_2|lon_1|3937|1200|722916666667|oslo|7163375|athens|058277777778|367975|666666666667|ferro|807719444444|jakarta|439583333333|bern|452333333333|rome|687938888889|080916666667|bogota|337229166667|131906111111|lisbon|greenwich|parentPlaneMask|Bearer|Authorization|attributions|calls|making|fromEnu|endHeading|startHeading|MITERED|flatten|deviation|intersectionLatitude|findIntersectionWithLatitude|intersectionLongitude|fromStartHeadingDistance|planeAxis2Result|planeAxis1Result|centerResult|9ACD32|||YELLOWGREEN|FFFF00|F5F5F5|WHITESMOKE|F5DEB3|WHEAT|EE82EE|40E0D0|TURQUOISE|FF6347|TOMATO|D8BFD8|THISTLE|008080|TEAL|D2B48C|TAN|4682B4|STEELBLUE|00FF7F|SPRINGGREEN|FFFAFA|SNOW|SLATEGREY|708090|6A5ACD|SLATEBLUE|87CEEB|SKYBLUE|C0C0C0|SILVER|A0522D|SIENNA|FFF5EE|SEASHELL|2E8B57|SEAGREEN|F4A460|SANDYBROWN|FA8072|SALMON|8B4513|SADDLEBROWN|4169E1|BC8F8F|ROSYBROWN|FF0000|800080|PURPLE|B0E0E6|POWDERBLUE|DDA0DD|PLUM|FFC0CB|PINK|CD853F|PERU||FFDAB9|PEACHPUFF|FFEFD5|PAPAYAWHIP||DB7093|PALEVIOLETRED|AFEEEE|PALETURQUOISE|98FB98|PALEGREEN|EEE8AA|PALEGOLDENROD|DA70D6|ORCHID|FF4500|ORANGERED|FFA500|6B8E23|OLIVEDRAB|808000|OLIVE|FDF5E6|OLDLACE|000080|NAVY|FFDEAD|NAVAJOWHITE|FFE4B5|MOCCASIN|FFE4E1|MISTYROSE|F5FFFA|MINTCREAM|191970|MIDNIGHTBLUE|C71585|MEDIUMVIOLETRED|48D1CC|MEDIUMTURQUOISE|00FA9A|MEDIUMSPRINGGREEN|7B68EE|MEDIUMSLATEBLUE|3CB371|MEDIUMSEAGREEN|9370DB|MEDIUMPURPLE|BA55D3|MEDIUMORCHID|0000CD|MEDIUMBLUE|66CDAA|MEDIUMAQUAMARINE|800000|MAROON|FAF0E6|LINEN|32CD32|LIMEGREEN|00FF00|LIME|FFFFE0|LIGHTYELLOW|B0C4DE|||LIGHTSTEELBLUE|LIGHTSLATEGREY|778899|87CEFA|LIGHTSKYBLUE|20B2AA|LIGHTSEAGREEN|FFB6C1|LIGHTPINK|LIGHTGREY|90EE90|LIGHTGREEN|D3D3D3|FAFAD2|LIGHTGOLDENRODYELLOW|E0FFFF|LIGHTCYAN|F08080|LIGHTCORAL|ADD8E6|LIGHTBLUE|FFFACD|LEMONCHIFFON|7CFC00|LAWNGREEN|FFF0F5|LAVENDAR_BLUSH|E6E6FA|LAVENDER|F0E68C|KHAKI|FFFFF0|IVORY|4B0082|INDIGO|CD5C5C|INDIANRED|FF69B4|HOTPINK|F0FFF0|HONEYDEW|GREY|ADFF2F|GREENYELLOW|008000|808080|DAA520|GOLDENROD|FFD700|GOLD|F8F8FF|GHOSTWHITE|DCDCDC|GAINSBORO|FUCHSIA|228B22|FORESTGREEN|||FFFAF0|||FLORALWHITE|B22222|FIREBRICK|1E90FF|DODGERBLUE|DIMGREY|696969|00BFFF|DEEPSKYBLUE|FF1493|DEEPPINK|9400D3|DARKVIOLET|00CED1|DARKTURQUOISE|DARKSLATEGREY|2F4F4F|483D8B|DARKSLATEBLUE|8FBC8F|DARKSEAGREEN|E9967A|DARKSALMON|8B0000|DARKRED|9932CC|DARKORCHID|FF8C00|DARKORANGE|556B2F||DARKOLIVEGREEN|8B008B|DARKMAGENTA|BDB76B|DARKKHAKI|DARKGREY|006400|DARKGREEN|A9A9A9|B8860B|DARKGOLDENROD|008B8B|DARKCYAN|00008B|DARKBLUE|DC143C|CRIMSON|FFF8DC|CORNSILK|6495ED|CORNFLOWERBLUE|FF7F50|CORAL|D2691E||CHOCOLATE|7FFF00|CHARTREUSE|5F9EA0|CADETBLUE|DEB887|BURLYWOOD|A52A2A|BROWN|8A2BE2|BLUEVIOLET|0000FF|FFEBCD|BLANCHEDALMOND|FFE4C4|BISQUE|F5F5DC|BEIGE|F0FFFF|AZURE|7FFFD4|AQUAMARINE|AQUA|FAEBD7|ANTIQUEWHITE|F0F8FF|ALICEBLUE|minumumAlpha|maximumAlpha|minimumAlpha|attributeLowName||attributeHighName|attributeName2D|attributeName3D|calculateACMR|cartesianArray|_getAvailabilityTile|UnZipTerrainData|removeElementFromDB|updateElementInDB|createIndex|keyPath|queryBooleanAttribute|getChildValue|XMLDOM|ActiveXObject|defaultLoad|vertexStride|octEncodedNormals|createVerticesFromQuantizedTerrainMesh|y11|x11|y10|x10|y01|x01|y00|computeLineSegmentLineSegmentIntersection||keepAbove||clipTriangleAtAxisAlignedThreshold||||createClampedCubic|createNaturalCubic|createC1|nsew||CancelRequestAnimationFrame|CancelAnimationFrame|boundindBox|getUnitBox|POSITION_AND_COLOR|lists|computeBestAvailableLevelOverRectangle|1089|createVerticesFromHeightmap|mapped|Size|webAssemblyConfig|decodeWebMercatorT|valuesOrLength|34047|33503|TEXTURE_IMMUTABLE_LEVELS|36203|MAX_ELEMENT_INDEX|37167|TEXTURE_IMMUTABLE_FORMAT|37497|COMPRESSED_SRGB8_ALPHA8_ETC2_EAC|37496|COMPRESSED_RGBA8_ETC2_EAC|37495|COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2|37494|COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2|37493|COMPRESSED_SRGB8_ETC2|37492|COMPRESSED_RGB8_ETC2|37491|COMPRESSED_SIGNED_RG11_EAC|37490|COMPRESSED_RG11_EAC|37489|COMPRESSED_SIGNED_R11_EAC|37488|COMPRESSED_R11_EAC|36389|TRANSFORM_FEEDBACK_BINDING|36388|TRANSFORM_FEEDBACK_ACTIVE|36387|TRANSFORM_FEEDBACK_PAUSED|36386|36255|INT_2_10_10_10_REV|36975|||RGB10_A2UI|||35097|SAMPLER_BINDING|36202|ANY_SAMPLES_PASSED_CONSERVATIVE|35887|ANY_SAMPLES_PASSED|35070|VERTEX_ATTRIB_ARRAY_DIVISOR||SYNC_FLUSH_COMMANDS_BIT|37149|WAIT_FAILED|37148|CONDITION_SATISFIED|37147|TIMEOUT_EXPIRED|37146|ALREADY_SIGNALED|37145|SIGNALED|37144|UNSIGNALED|37143|SYNC_GPU_COMMANDS_COMPLETE|37142|SYNC_FENCE|37141|SYNC_FLAGS|37140|SYNC_STATUS|37139|SYNC_CONDITION|37138|OBJECT_TYPE|37137|MAX_SERVER_WAIT_TIMEOUT|37157|MAX_FRAGMENT_INPUT_COMPONENTS|37154|MAX_VERTEX_OUTPUT_COMPONENTS|INVALID_INDEX|35398|UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER|35396|UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER|35395|UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES|35394|UNIFORM_BLOCK_ACTIVE_UNIFORMS|35392|UNIFORM_BLOCK_DATA_SIZE|35391|UNIFORM_BLOCK_BINDING|35390|UNIFORM_IS_ROW_MAJOR|35389|UNIFORM_MATRIX_STRIDE|35388||UNIFORM_ARRAY_STRIDE||35387||UNIFORM_OFFSET|35386|UNIFORM_BLOCK_INDEX|35384|UNIFORM_SIZE|35383|UNIFORM_TYPE|35382|ACTIVE_UNIFORM_BLOCKS|35380|UNIFORM_BUFFER_OFFSET_ALIGNMENT|35379|MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS|35377|MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS|35376|MAX_UNIFORM_BLOCK_SIZE|35375|MAX_UNIFORM_BUFFER_BINDINGS|35374|MAX_COMBINED_UNIFORM_BLOCKS|35373|MAX_FRAGMENT_UNIFORM_BLOCKS|35371|MAX_VERTEX_UNIFORM_BLOCKS|35370|UNIFORM_BUFFER_SIZE|35369|UNIFORM_BUFFER_START|35368|UNIFORM_BUFFER_BINDING|35345|UNIFORM_BUFFER|COPY_WRITE_BUFFER_BINDING|COPY_READ_BUFFER_BINDING|36764|SIGNED_NORMALIZED|36759|RGBA8_SNORM|36758|RGB8_SNORM|36757|RG8_SNORM|36756|R8_SNORM|34229|VERTEX_ARRAY_BINDING|33340|RG32UI|33339|RG32I|33338|RG16UI|33337|RG16I||33336|RG8UI|33335||||RG8I||33334|R32UI|33333|R32I|33332|R16UI|33331|R16I|33330|R8UI|33329|R8I|33328|33327|33326|33325|33323|RG8|33321|33320|RG_INTEGER|33319|5131|36183|36182|FRAMEBUFFER_INCOMPLETE_MULTISAMPLE|36079|COLOR_ATTACHMENT15|36078|COLOR_ATTACHMENT14|36077|COLOR_ATTACHMENT13|36076|COLOR_ATTACHMENT12|36075|COLOR_ATTACHMENT11|36074|COLOR_ATTACHMENT10|36073|COLOR_ATTACHMENT9|36072|COLOR_ATTACHMENT8|36071|COLOR_ATTACHMENT7|36070|COLOR_ATTACHMENT6|36069|COLOR_ATTACHMENT5|36068|COLOR_ATTACHMENT4|36067|COLOR_ATTACHMENT3|36066|COLOR_ATTACHMENT2|36065|COLOR_ATTACHMENT1|36063|36052|FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER|36011|RENDERBUFFER_SAMPLES|36010|READ_FRAMEBUFFER_BINDING|36009|36008|DRAW_FRAMEBUFFER_BINDING|35863|UNSIGNED_NORMALIZED|35056|34042|33304|FRAMEBUFFER_DEFAULT|33303|FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE|33302|FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE|33301|FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE|33300|FRAMEBUFFER_ATTACHMENT_BLUE_SIZE|33299|FRAMEBUFFER_ATTACHMENT_GREEN_SIZE|33298|FRAMEBUFFER_ATTACHMENT_RED_SIZE|33297|FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE|33296|FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING|36269|FLOAT_32_UNSIGNED_INT_24_8_REV|36013|DEPTH32F_STENCIL8|36012|DEPTH_COMPONENT32F|36311|UNSIGNED_INT_SAMPLER_2D_ARRAY|36308|UNSIGNED_INT_SAMPLER_CUBE|36307|UNSIGNED_INT_SAMPLER_3D|36306|UNSIGNED_INT_SAMPLER_2D|36303|INT_SAMPLER_2D_ARRAY|36300|INT_SAMPLER_CUBE|36299|INT_SAMPLER_3D|36298|INT_SAMPLER_2D|36296|UNSIGNED_INT_VEC4|36295|UNSIGNED_INT_VEC3|36294|UNSIGNED_INT_VEC2|36293|SAMPLER_CUBE_SHADOW|36292|SAMPLER_2D_ARRAY_SHADOW|36289|SAMPLER_2D_ARRAY|36249|RGBA_INTEGER|36248|RGB_INTEGER|36244|RED_INTEGER|36239|RGB8I|36238|RGBA8I|36233|RGB16I|36232|RGBA16I|36227|RGB32I|36226|RGBA32I|36221|RGB8UI|36220|RGBA8UI|36215|RGB16UI|36214|RGBA16UI|36209|RGB32UI|36208|RGBA32UI|35983|TRANSFORM_FEEDBACK_BUFFER_BINDING|35982|35981|35980|INTERLEAVED_ATTRIBS|35979|MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS|35978|MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS|35977|35976|TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN|35973|TRANSFORM_FEEDBACK_BUFFER_SIZE|35972|TRANSFORM_FEEDBACK_BUFFER_START|35971|TRANSFORM_FEEDBACK_VARYINGS|35968|MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS|35967|TRANSFORM_FEEDBACK_BUFFER_MODE|35902|UNSIGNED_INT_5_9_9_9_REV|35901|RGB9_E5|35899|UNSIGNED_INT_10F_11F_11F_REV|35898|R11F_G11F_B10F|35869|TEXTURE_BINDING_2D_ARRAY|35866|TEXTURE_2D_ARRAY|35659|MAX_VARYING_COMPONENTS|35077|MAX_PROGRAM_TEXEL_OFFSET|35076|MIN_PROGRAM_TEXEL_OFFSET|35071|MAX_ARRAY_TEXTURE_LAYERS|35069|VERTEX_ATTRIB_ARRAY_INTEGER|34843|34842|34837|34836|34894|COMPARE_REF_TO_TEXTURE|35907|SRGB8_ALPHA8|35905|SRGB8|35904|SRGB|35690|FLOAT_MAT4x3|35689|FLOAT_MAT4x2|35688|FLOAT_MAT3x4|35687|FLOAT_MAT3x2|35686|FLOAT_MAT2x4|35685|FLOAT_MAT2x3|35055|PIXEL_UNPACK_BUFFER_BINDING|35053|PIXEL_PACK_BUFFER_BINDING|35052|PIXEL_UNPACK_BUFFER|35051|PIXEL_PACK_BUFFER|35723|FRAGMENT_SHADER_DERIVATIVE_HINT|35682|SAMPLER_2D_SHADOW|35679|SAMPLER_3D|35658|MAX_VERTEX_UNIFORM_COMPONENTS|35657|MAX_FRAGMENT_UNIFORM_COMPONENTS|34868|DRAW_BUFFER15|34867|DRAW_BUFFER14|34866|DRAW_BUFFER13|34865|DRAW_BUFFER12|34864|DRAW_BUFFER11|34863|DRAW_BUFFER10|34862|DRAW_BUFFER9|34861|DRAW_BUFFER8|34860|DRAW_BUFFER7|34859|DRAW_BUFFER6|34858|DRAW_BUFFER5|34857|DRAW_BUFFER4|34856|DRAW_BUFFER3|34855|DRAW_BUFFER2|34854|DRAW_BUFFER1|34853|DRAW_BUFFER0|34852|35050|DYNAMIC_COPY|35049|DYNAMIC_READ|35046|STATIC_COPY|35045|STATIC_READ|35042|STREAM_COPY|35041|STREAM_READ|34919|QUERY_RESULT_AVAILABLE|34918|QUERY_RESULT|34917|CURRENT_QUERY|34893|TEXTURE_COMPARE_FUNC|34892|TEXTURE_COMPARE_MODE|34045|MAX_TEXTURE_LOD_BIAS|33190|32776|32775|33085|TEXTURE_MAX_LEVEL|33084|TEXTURE_BASE_LEVEL|33083|TEXTURE_MAX_LOD|33082|TEXTURE_MIN_LOD|33001|MAX_ELEMENTS_INDICES|33E3|MAX_ELEMENTS_VERTICES|33640|UNSIGNED_INT_2_10_10_10_REV|32883|MAX_3D_TEXTURE_SIZE|32882|TEXTURE_WRAP_R|32879|TEXTURE_3D|32878|UNPACK_IMAGE_HEIGHT|32877|UNPACK_SKIP_IMAGES|32874|TEXTURE_BINDING_3D|32857|RGB10_A2|32856|32849|6403|6146|STENCIL|PACK_SKIP_PIXELS|PACK_SKIP_ROWS|PACK_ROW_LENGTH|3316|UNPACK_SKIP_PIXELS|3315|UNPACK_SKIP_ROWS|3314|UNPACK_ROW_LENGTH|3074|READ_BUFFER|5130|36193|33778|33777|37444|BROWSER_DEFAULT_WEBGL|37443|UNPACK_COLORSPACE_CONVERSION_WEBGL|37442|37441|37440|1286|INVALID_FRAMEBUFFER_OPERATION|34024|36007|RENDERBUFFER_BINDING|FRAMEBUFFER_BINDING|36061|36057|36055|36054|36053|33306|36128|36096|36064|36051|FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE|36050|FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL|36049|FRAMEBUFFER_ATTACHMENT_OBJECT_NAME|36048|FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE|36181|RENDERBUFFER_STENCIL_SIZE|36180|RENDERBUFFER_DEPTH_SIZE|36179|RENDERBUFFER_ALPHA_SIZE|36178|RENDERBUFFER_BLUE_SIZE|36177|RENDERBUFFER_GREEN_SIZE|36176|RENDERBUFFER_RED_SIZE|36164|RENDERBUFFER_INTERNAL_FORMAT|36163|RENDERBUFFER_HEIGHT|36162|RENDERBUFFER_WIDTH|34041|36168|6401|STENCIL_INDEX|33189|36194|32855|32854|36161|36160|36341|36340|MEDIUM_INT|36339|LOW_INT|36338|36337|MEDIUM_FLOAT|36336|LOW_FLOAT|35713|35739|IMPLEMENTATION_COLOR_READ_FORMAT|35738|IMPLEMENTATION_COLOR_READ_TYPE|34975|VERTEX_ATTRIB_ARRAY_BUFFER_BINDING|34373|VERTEX_ATTRIB_ARRAY_POINTER|34922|VERTEX_ATTRIB_ARRAY_NORMALIZED|34341|VERTEX_ATTRIB_ARRAY_TYPE|34340|VERTEX_ATTRIB_ARRAY_STRIDE|34339|VERTEX_ATTRIB_ARRAY_SIZE|34338|VERTEX_ATTRIB_ARRAY_ENABLED|35680|35678|35676|35675|35674|35673|35672|35671|35670|35669|35668|35667|35666|35665|35664|33648|33071|10497|34016|ACTIVE_TEXTURE|34015|TEXTURE31|34014|TEXTURE30|34013|TEXTURE29|34012|TEXTURE28|34011|TEXTURE27|34010|TEXTURE26|34009|TEXTURE25|34008|TEXTURE24|34007|TEXTURE23|34006|TEXTURE22|34005|TEXTURE21|34004|TEXTURE20|34003|TEXTURE19|34002|TEXTURE18|34001|TEXTURE17|34E3|TEXTURE16|33999|TEXTURE15|33998|TEXTURE14|33997|TEXTURE13|33996|TEXTURE12|33995|TEXTURE11|33994|TEXTURE10|33993|TEXTURE9|33992|TEXTURE8|33991|TEXTURE7|33990|TEXTURE6|33989|TEXTURE5|33988|TEXTURE4|33987|TEXTURE3|33986|TEXTURE2|33985|TEXTURE1|33984|34076|34074|34073|34072|34071|34070|34069|34068|TEXTURE_BINDING_CUBE_MAP|34067|5890|3553|10243|10242|10241|10240|9987|9985|9984|9729|7938|7937|RENDERER|7936|VENDOR|34056|34055|5386|7683|7682|7681|35725|CURRENT_PROGRAM|35724|SHADING_LANGUAGE_VERSION|35721|35718|35717|ATTACHED_SHADERS|35715|35714|35712|DELETE_STATUS|35663|SHADER_TYPE|36349|34930|35660|35661|36348|36347|34921|35633|35632|33635|32820|32819|6409|6408|6407|6406|6402|5126|5125|5124|5123|5122|5121|33170|4354|4353|34467|COMPRESSED_TEXTURE_FORMATS|32939|SAMPLE_COVERAGE_INVERT|32938|SAMPLE_COVERAGE_VALUE|32937|32936|SAMPLE_BUFFERS|32873|TEXTURE_BINDING_2D|32824|POLYGON_OFFSET_FACTOR|10752|POLYGON_OFFSET_UNITS|3414|DEPTH_BITS|3413|ALPHA_BITS|3412|BLUE_BITS|3411|GREEN_BITS|3410|RED_BITS|3408|SUBPIXEL_BITS|3386|3379|3333|PACK_ALIGNMENT|3317|3107|COLOR_WRITEMASK|3106|COLOR_CLEAR_VALUE|SCISSOR_BOX|36005|STENCIL_BACK_WRITEMASK|36004|STENCIL_BACK_VALUE_MASK|36003|STENCIL_BACK_REF|34819|STENCIL_BACK_PASS_DEPTH_PASS|34818|STENCIL_BACK_PASS_DEPTH_FAIL|34817|STENCIL_BACK_FAIL|34816|STENCIL_BACK_FUNC|2968|STENCIL_WRITEMASK|2963|STENCIL_VALUE_MASK|2967|STENCIL_REF|2966|STENCIL_PASS_DEPTH_PASS|2965|STENCIL_PASS_DEPTH_FAIL|2964|STENCIL_FAIL|2962|STENCIL_FUNC|2961|STENCIL_CLEAR_VALUE|2932|DEPTH_FUNC|2931|DEPTH_CLEAR_VALUE|2930|DEPTH_WRITEMASK|2928|DEPTH_RANGE|2886|FRONT_FACE|2885|CULL_FACE_MODE|33902|33901|2849|LINE_WIDTH|1285|1282|1281|1280|32928|SAMPLE_ALPHA_TO_COVERAGE|32823|3089|2929|2960|3024|DITHER|3042|1032|1028|34342|CURRENT_VERTEX_ATTRIB|34661|BUFFER_USAGE|34660|BUFFER_SIZE|35048|35044|35040|34965|ELEMENT_ARRAY_BUFFER_BINDING|34964|ARRAY_BUFFER_BINDING|34963|34962|32773|BLEND_COLOR|32772|32771|32770|32769|32971|BLEND_SRC_ALPHA|32970|BLEND_DST_ALPHA|32969|BLEND_SRC_RGB|32968|BLEND_DST_RGB|32779|32778|34877|BLEND_EQUATION_ALPHA|BLEND_EQUATION_RGB|BLEND_EQUATION|32774|051850947599719E|octUnpack|octDecodeFromCartesian4|projectPointsOntoEllipsoid|projectPointsToNearestOnPlane|modelViewProjectionMatrix|00273781191135448|779057273264|preloadIcrfFixed||1772758384668E|2921158553E|093104|812866|8640184|24110|fixedFrameToHeadingPitchRoll|northWestUpToFixedFrame|northUpEastToFixedFrame|northEastDownToFixedFrame|secondAxis|firstAxis|fastSquad|8946388016552002|013978731275862502|squad|computeInnerQuadrangle|supportsOffscreenCanvas|supportsWebWorkers|PointerEvent|isNodeJs|appVersion|Windows|firefoxVersion|edgeVersion|internetExplorerVersion|webkitVersion|isWebkit|safariVersion|chromeVersion|_names|vrDisplay|MSFullscreenError|MSFullscreenChange|FullScreenElement|FullscreenElement|FullScreenEnabled|FullscreenEnabled|CancelFullScreen|ExitFullscreen|RequestFullScreen|RequestFullscreen|khtml|errorEventName|43237|2457754|43236|2457204|43235|2456109|43234|2454832|43233|2453736|2451179|43231|2450630|43230|2450083|43229|2449534|43228|2449169|43227|2448804|43226|2448257|43225|2447892|43224|2447161|43223|2446247|43222|2445516|43221|2445151|43220|2444786|43219|2444239|43218|2443874|43217|2443509|43216|2443144|43215|2442778|43214|2442413|43213|2442048|43212|2441683|43211|2441499|43210|2441317|days|hours|addHours|minutes|seconds|02dZ|1461001|68569|setUTCDate|getUTCDay|getUTCMilliseconds|getUTCSeconds|getUTCMinutes|getUTCHours|getUTCFullYear|2400000|PICOSECOND|MINUTES_PER_DAY|HOURS_PER_DAY|MINUTES_PER_HOUR|ORIGIN_YZ_PLANE|trianglePlaneIntersection|endPoint1|endPoint0|lineSegmentSphere|lineSegmentTriangle|rayTriangle|computeHorizonCullingPointFromRectangle|computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid|computeHorizonCullingPointFromVertices|isScaledSpacePointVisible|u3000|u205f|u2029|u180E|u1680|u00A0|u0020|u0000|xmpp|cid|callto|tps|aria|uFFFF|u00B7|voffset|symmetric|supscriptshift|subscriptshift|stretchy|separators|separator|scriptsizemultiplier|scriptminsize|scriptlevel|rquote|rspace|rowspacing|rowlines|rowalign|numalign|notation|movablelimits|minsize|maxsize|mathvariant|mathsize|mathcolor|mathbackground|lquote|lspace|linethickness|largeop|fence|displaystyle|denomalign|columnspan|columnlines|columnsalign|bevelled|accentunder|zoomandpan|ychannelselector|xchannelselector|viewbox|textlength|targety|targetx|surfacescale|miterlimit|linejoin|linecap|dashoffset|stitchtiles|stddeviation|spreadmethod|specularexponent|specularconstant|restart|repeatdur|repeatcount|refy|refx|preserveaspectratio|preservealpha|patternunits|patterntransform|patterncontentunits|pathlength|numoctaves|maskunits|maskcontentunits|markerwidth|markerunits|markerheight|kernelunitlength|kernelmatrix|lengthadjust|keytimes|keysplines|keypoints|kerning|in2|gradienttransform|gradientunits|edgemode|dur|divisor|diffuseconstant|filters|basefrequency|attributetype|attributename|additivive|accumulate|valign|usemap|srcset|srclang|sizes|spellcheck|role|readonly|radiogroup|pubdate|poster|optimum|nowrap|novalidate|noshade|maxlength|ismap|enctype||datetime|crossorigin|colspan|cellspacing|cellpadding|bgcolor|munderover|munder|mtext|mtd|mtable|msubsup|msup|msub|mystyle|msqrt|mpspace|mrow|mroot|mphantom|mpadded|mover|mmuliscripts|mlabeledtr|mglyph|mfrac|mfenced|merror|menclose|feTurbulence|feTile|feSpotLight|feSpecularLighting|fePointLight|feOffset|feMorphology|feMergeNode|feMerge|feFuncR|feFuncG|feFuncB|feFuncA|feFlood|feDistantLight|feDisplacementMap|feDiffuseLighting|feConvolveMatrix|feComposite|feComponentTransfer|feColorMatrix|feBlend|vkern|tref|radialgradient|mpath|lineargradient|hkern|desc|clippath|animatetransform|animatemotion|animatecolor|altglyphitem|altglyphdef|altglyph|wbr|sup|strike|spacer|samp|ruby|nobr|nav|menuitem|marquee|mark|legend|kbd|ins|hgroup|footer|figcaption|fieldset|dfn|del|decorator|datalist|colgroup|caption|blockquote|blink|big|bdo|bdi|aside|article|acronym|abbr|approximateTerrainHeights|setBaseUrl|_clearBaseResource|_buildModuleUrlFromBaseUrl|_cesiumScriptRegex|contained|retrieved|Successfully|PATCH|PUT|preserveQueryParameters|isBlobSupported|wP9CNHoHgAAAABJRU5ErkJggg|fwAJ|iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4|explicitly|clamping|Outlines|requestHeap|numberOfActiveRequestsByServer|clearForSpecs|attempted|priorityHeapLength|Code|Status|spread|yield|baseURI|getFragment|getQuery|getPath|oppositeCorner|fromEncodedCartesianVertices|fromRectangle2D|absoluteEpsilon|COLUMN3ROW3|COLUMN3ROW2|COLUMN3ROW1|COLUMN3ROW0|COLUMN2ROW3|COLUMN1ROW3|COLUMN0ROW3|determinate|computePerspectiveFieldOfView|fromCamera|translationRotationScale|fromCrossProduct|transformPositionFromScaledSpace|cartesianArrayToCartographicArray|cartographicArrayToCartesianArray|geocentricSurfaceNormal|CGCS2000|XIAN80|radiiToTheFourth|latitudeB|latitudeA|longitudeB|longitudeA|4747391015697002E|573130351105623E|fromRadiansArray|0408299984661445E13|projectVector|nonzero|LOG2E|minimumValue|maximumValue|ONE_OVER_TWO_PI|THREE_PI_OVER_TWO|PI_OVER_SIX|PI_OVER_THREE|ONE_OVER_PI|1737400|6955E5|3986004418E5|EPSILON19|EPSILON18|EPSILON17|EPSILON16|4022730752|2636928640|5489|2567483615|interface|modifySymbolHeight|zoomTarget|zoomIndicatorContainer|0173c7|automaticallyTrackDataSourceClocks|Hold|navigationContainer|fullScreenElement|vrContainer|fullscreenContainer|timelineContainer|animationContainer|navigationInstructionsInitiallyVisible|setItem|getElementsByClassName|geocoderServices|geocoderContainer|infoBoxContainer|selectionIndicatorContainer|cesiumWidgetContainer|fieldValues|fieldNames|pickResult|zoom_Identifiers|0552|71881|592088|845166|0547|71832|7968|107026|4081|01392|9428|844218|2356|206517|312601|5651|596401|423906|5518351|3046|0707|2812|4614|50006|373338|388502|191501|9988|647139|2461|089617|1411|043426|658043|500001|685301|1815|767282|0936995|4005|114296|1245|855467|1249998|8124998|5312005|5584|4710958|2246|9518039|3043|0391|9063|1250005|5937499|6169|5454589|8781|5252219|5312|0921|956139|3619|320657|3126|1315|120921|04474|038|04013|014|01348|031|02451|016|01662|7187|679191|2813|2355|208984|1599|141624|1427|902282|4379|261561|580207|1768352|704407|699956|962707|72282|4552065|770585|wheelDeltaY|ruler|tracks|trackContainer|iconColumbusView|icon2D|icon3D|buttonColumbusView|button3D|button2D|6699|39231|86531|678781|440441|852721|338299|508544|614384|929711|3923136|6018026|103649|142892|678091|38863|46042|410081|205791|62176|584031|626964|831258|903049|02297|460412|729111|196908|723916|838643|919322|414586|91933|34049|16805|81717|07698|7506996|076986|1680536|340489|675598|723969|202288|9326497|736226|73623|550598|9825053|104278|278725|728238|05714|13091|789887|611055|82679|425515|911459|853177|995309|779068|174337|041937|04872|365491|100106|947342|0113|743668|238993|388822|388427|659022|29837|316218|480844|38739|466635|649995|701178|376448|645807|305527|404076|593848|207323|337297|106865|284034|781544|161107|122293|408965|503021|962447|265904|645987|181056|320792|727516|674841|663713|768509|394491|507495|241079|261347|868615|955686|696717|244106|741571|74253|213765|911461|967855|493975|941972|69605|213766|662961|271794|245475|245911|309699|174142|007978|871615|215537|034411|969402|548524|399208|545042|058072|441099|579602|337656|209594|09465|105535|04523|09977|860585|035901|42284|293032|334769|04969|491734|174661|431703|560708|766249|361954|561957|885822|263679|877762|923551|246298|793022|060483|043794|692909|664695|051954|803441|863925|320566|106722|06139|392517|885821|174662|978103|575603|898588|372279|56697|208141|530252|96924|89469|153108|472457|410632|938479|840201|483758|413371|232369|005357|41808|765726|84593|135038|850894|204964|454713|208528|318562|042044|631665|429857|606965|07411|06552|07583|07435|628261|873558|620228|938869|36991|188973|2763445|1047967|648169|090589|330153|900727|769583|621767|791691|319395|8002387|424347|477816|71168|287332|386627|657177|516688|423359|640648|644553|324262|147172|920754|107756|703989|85566|112814|647642|612202|360875|937518|57195|0041715|013339|5529563|510548|7558676|922625|2632205|908238|990618|403886|404468|0864|082416|654331|104796|838373|698644|648559|062018|423245|054474|821314|833795|067541|073459|264866|562569|55791|879334|776683|106127|117831|610536|519044|512219|09059|435005|689263|222628|479669|137775|775813|672766|487341|619917|439008|467153|654849|001558|003942|518066|274693|76851|486495|170552|263678|917574|807094|591423|784809|752703|04367|117832|960377|759153|163859|392383|171552|606882|563088|001936|756876|410896|650428|318043|890513|202594|265057|289983|548924|552149|565477|817445|798527|163248|691285|3100294|069864|860658|6540289|267775|1714586|674891|6888882|279855|644437|90959|280427|161483|934823|361384|256557|772162|165798|051901|998037|172984|20166|523983|335404|107143|198425|349907|746612|169056|937729|571618|464973|0912431|641296|0302421|859752|869984|948824|163342|250095|0401|01868|03745|022024|362964|542427|956528|273198|035052|14942|343797|5672591|680919|8232211|298068|5662541|684973|145402|207753|09503|106753|7685092|33525|9781032|6453247|835818|397432|422866|0213781|785716|368585|027146|988132|382296|829511|477396|906242|263114|647388|082899|663002|923054|313891|06991|07033|03466|03468|0782083|724195|1481363|793098|1230822|004072|2445256|4611991|065105|942651|621049|381258|403367|29082|982275|303645|788862|338973|424667|2486979|065173|3285948|022186|4754953|280302|794579|3185619|239834|8540169|950145|0147811|167498|414496|124404|524531|269271|198093|943171|257041|423664|109829|08361|111695|6762289|5281554|130866|488996|8176457|462556|827728|474391|104317|751076|447603|944299|06987|03532|133444|628147|522988|279458|278855||104529|08745|01733|04488|0049|02316|0034|116794|322734|31219|366261|237309|130347|661489|202966|297191|977584|903547|638134|551081|5573|558195|444218|965206|582903|168094|867765|129487|309474|03414|161515|08304|162033|08246|01231|05712|374354|631372|541408|835961|837653|107931|097848|9177815|085531|072999|987468|010083|0118352|8946843|10793|884602|096095|087603|iconOrthographic|iconPerspective|buttonOrthographic|buttonPerspective|1875002|5000002|0312|4687502|5254438|560594|705477|971746|394265|976451|Orthographic|Perspective|dismiss|poorly|performing|appears|TouchRotate|Tilt|TouchTilt|pinch|TouchZoom|One|TouchDrag|MouseMiddle|MouseRight|MouseLeft|003z|136C21|584c2|915c0|924l|826c|034|963c0|057c0|858h|003v0|371zM17|707V24|596h2|371h|M17|466z|534C30|534c8|16c0|466C7|M16|Instructions|0618|rotateInitialCameraDistance|isRotateEasting|rotateLastTimestamp|6378317|rotateEastLastTimestamp|isrotateEasting|InfoBoxDescription|contentDocument|allowfullscreen|forms|popups|sandbox|Focus|bodyless|423165|104033|4853444|4902779|456025|8371439|7379|5676108|232036|4724893||loadingContainer|_loadingIndicatorHtml||home|438z|406v|438h|406v6|281h3|8442|25zm5|3122v|3122v4|313h3|094zm2|094h|094v|094h14|906v10|0938|5625zm|1875l|812v2|6562h|7188v|75h20l|M14|Home|searchButton|wide|afterkeydown|landmark|248z|087|885z|484C10|007|486c|486c3|006|433zM7|127L29|523l7|481c1|399C7|421C24|126c0|433l|M29|loadPoiJsonData|telephone|B9EB14|totalHints|callBack|jsonpName|geoKey|pageNum|pageSize|rightLocation|leftLocation|keywords|Searching|optinss|Detailed|Consider|hardware|verify|stopped|GlobalBkLayer|onselectstart|_supportsImageRenderingPixelated|tycho2t3_80_|Suspend|Select|relativeText|Planes|Frustums|slider|siblings|skipping|LODs|Usage|Picked|Ctrl|styleEditor|Mode|Density|Dynamic|Frame|Freeze|Strength|Lighting|Dome|Eye|Resolution|Shading|Bounding|Colorize|Enable|Cache|Trim|Properties|Optimization|Debug|Logging|3DTilesInspector|Batch|Union|Children|Triangles|Processing|Requests|Commands|_statisticsLastPick|hosted|several|curated|CesiumWorldTerrain|NaturalEarthII|naturalearthdata|darkened|naturalEarthII|u00a0II|3812|released|Black|earthAtNight|3845|July|blueMarble|3954|2017|Copernicus|GmbH|Services|EOX|cloudless|sentinel|toner|stamenToner|Toner|warm|paper|washes|drawn|hand|Reminiscent|stamenWatercolor|Watercolor|editable|collaborative|OSM|openStreetMap|u00adMap|u00adStreet|NatGeo_World_Map|applications|mapping|users|professionals|basemap|well|purposes|educational|informational|general|designed|esriNationalGeographic|World_Street_Map|Swaziland|Lesotho|Botswana|southern|Ghana|Venezuela|Colombia|Chile|Brazil|Argentina|America|India|Australia|countries|most|Japan|Canada|highway|presents|street|esriWorldStreetMap|World_Imagery|Community|User|contributed|resolutions|Additionally|Portugal|IGP|Spain|IGN|AeroGRID|Getmapping|Prime|Nationwide|IKONOS|GeoEye|DigitalGlobe|Western|continental|Antarctica|Landsat|USGS|eSAT|above|500m|better|provides|esriWorldImagery|mapboxStreets|Classic|mapboxTerrain|mapboxSatellite|Satellite|road|bingRoads|Roads|bingAerialLabels|bingAerial|Current|real|Forward|Reverse|shuttleRingBack|themeSwooshHover|themeSwoosh|themePointer|themeKnob|themeDisabled|themeSelect|themeHover|themeNormal|theme|svgText|sitData|2907|rendered|SQRT2|num|TinyQueue|evaluator|isSucceed|0x8f461e7bf61d5|397245148883021|Gamma|Saturation|Hue|Constrast|Brightness|ColorParams|SlopeScale|Constant|PolygonOffset|LODRangeScale|EffectType|RotateZ|RotateY|RotateX|AltitudeMode|BottomAltitude|ColorPoint|PointSize|FILL_FACEANDLINE|FILL_LINE|FillForeColor|LineWidth|foamat|LayerStyle|CacheFileType|VisibleDistanceMax|VisibleDistanceMin|VisibleAltitudeMax|VisibleAltitudeMin|Selectable|WithinLayer3DGroup|Options|LayerName|OSGBGroup|TerrainFileLayer|ImageFileLayer|OSGBLayer|layer3DType|named|18325|zeroExtend|lexicographical|wDescript|Spatial3DModel|attachFile|AttachFile|AttachFiles|isReal|IsReal|FData|elementCount|ElementCount|physicalIndex|PhysicalIndex|paramType|ParamType|AutoConstantEntry|AutoConstants|Float|ArrayFloat|ArraySize|constType|ConstType|GpuConstantDefinition|GpuConstants|GpuProgramParameters|AverageHeight|WaterEffect|preloadFlightCullingVolume|preloadFlightCamera|updateAsync|175E4|VTiling|UTiling|solidModelsProfile|14966|354469|128418|321267|969812393188477|468120574951172|0336|isAroundScreenCenter|deltaTheta|5906376272E3|75E5|_previousModeMode|solidModelsProfile_|_y_direction|_x_direction|depthTextureDimensions|pickRenderStateCache|cascadesEnabled|pointLightRadius|cascades|fps|maxRotationSpeed|minRotationSpeed|moonSmall|username|tilesize|_styleId|budgets|job|budget|linstep|nvIntensity|nvOff|nvDim|intensityRange|SLOPE|_attType|canvasSize|glowWidth|glowColor|KICKED|Waiting|gridUrl|ViewportQuadVS|RasterImageExpandFS_width_|3189068|modifiedModelView|u_dayIntensity|u_fillHighlightColor|excavationregion_top|excavationregion_side|_excavateHeightBuffer|_usedPickCommands|_pickRenderState|frameLastUpdated|frustumIndex|webkitvisibilitychange|msvisibilitychange|mozvisibilitychange|visibilitychange|gridValues|beta|perInstanceAttribute|u2022|13px|40px|18pt|370px|solid|303336|TileCol|TileRow|limitLevelZeroTilesCount|info_format|query_layers|CRS|boundedBy|msGMLOutput|featureMember|FeatureInfo|FIELDS|FeatureInfoResponse|hasAttribute|Val|MultiFeatureCollection|_mapId|is2d|geeServerDefs|vars|Json|Google|earthenterprise|products|mapsearth|enterprise|ImageryMaps|default_map|779817204925|617074219636|302301223431|634888119007|26862328493|126830499058|657969239148|245517550697|629203242522|153106280781|896736162545|388264289969|206477676721|779203817497|504254490347|435712737232|10478487883|879596633704|351024443122|0130612307608|950296523438|0296005138058|320024291314|711995289051|987658134403|10163141741|732836215494|628010632582|682427250835|666302061145|262426961053|385798197415|0148463392551|576478634965|437418421534|386139432542|381779221166|344275183665|800048655954|330975007087|451805525005|866792314779|109899459384|973570876096|237713156085|901489676764|940589268233|295436780218|709825561388|701581552186|54812163202||0479226680259|940619700594|331943915203|659453822776|147304551086|527766490688|842080129861|188473391593|458126042375|154972575841|321585265978|looking|_reflectRight|_reflectDirection|_reflectUp|_reflectPosition|NoiseAndGrain|65472|_clamp|_softKnee|quadkey|uriScheme|incl|tileProtocol|imageryProviders|imageUrlSubdomains|czm_autoexposure|Record|records|SMID|TextEncoder|byte_offset|GetAttributeFloatForAllPoints|DracoFloat32Array|GetAttributeUInt32ForAllPoints|DracoUInt32Array|GetAttributeInt32ForAllPoints|GetAttributeInt16ForAllPoints|DracoInt16Array|GetAttributeInt8ForAllPoints|DracoInt8Array|AttributeOctahedronTransform|min_value|AttributeQuantizationTransform|num_components|transferFromImageBitmap|bitmaprenderer|defaultTransparentBackColorTolerance|defaultTransparentBackColor|returnAttributes|007089059829027313|124858336034|001772264957256825|86132478628411E|430662393142055E|99773337655|4513|9954667531|9027|538327991427581E|9818670124|36111|9637340248|72223|92746805|144447|854936099|288895|709872198|577791|4197444|1155583|83948879|2311166|67897759|4622333|35795517|9244667|layerStyle|loadSprite|_replays|pickPixelTolerance|getPolygonGeometryAsLine|saveGeometry|billboardMode|resolutionsFromExtent|tilegrid|Projection_|EPSG4326|createProjection|_tranlateMatrix|ModelFile|tileY|tileX|enableOffset|TilingSpeedV|TilingSpeedU|TilingPeriod|OffsetSpeedV|OffsetSpeedU|OffsetPeriod|isWEBP|bTransparentSorting|MOZ_|WEBKIT_|_quality|vertexTextureImageUnits|shadowRatio|fsaaLevel|drawBuffersWEBGL|WEBGL_draw_buffers|vertexAttribDivisorANGLE|drawArraysInstancedANGLE|drawElementsInstancedANGLE|ANGLE_instanced_arrays|vertexAttribDivisor|drawArraysInstanced|drawElementsInstanced|WEBKIT_WEBGL_compressed_texture_pvrtc|WEBKIT_WEBGL_compressed_texture_s3tc|MOZ_WEBGL_compressed_texture_s3tc|EXT_float_blend|EXT_shader_texture_lod|WEBGL_debug_shaders|WEBKIT_WEBGL_depth_texture|EXT_blend_minmax|OES_standard_derivatives|getContextAttributes|initialization|getWebGLStub|WebGL2RenderingContext|requestWebgl2|maxWidth|curCol|curRow|monitorTable|getError|_pixelSizePerMeter|renderbufferStorageMultisample|Floating|WebGLRenderer|lastDrawTime|timeSpace|endSclae|endtSurroundLineWidth|pathLength|shapePoints|currentPt|subClass|_bill|_canvasEle|callbackProperty|isPixelLine|isUseSymbolLibStyle|evaluateCategoricalFunction|evaluateIntervalFunction|colorSpaces|toLocaleLowerCase|toLocaleUpperCase|16711680|referenceAddPoint|move_line|move_poly|rotate_ci|rotate_circle_top|move_polygon_top|edit_box|heightFactor|m_geoPolylineEnd|stopViews|angularSpeed|altitudefree|tiltfree|headingfree|alongline|flycircle|showrouteline|showroutestop|routestop|route|updates|KMZ|English|language|clientName|kmlVersion|clientVersion|terrainEnabled|unsupportedFeature|LookAt|Regions|geDirections|schemaData|LineStrings|listStyle|checkOffOnly|radioFolder|BalloonStyle|pal|mapfiles|palette|TimeStamp|XMLSchema|2001|xsi|GeoJSON|createCDATASection|externalFiles|visualizersCallback|Minor|Major|packet|_offsetSubscription|_glowPowerSubscription|_taperPowerSubscription|_gapColorSubscription|_dashLengthSubscription|_dashPatternSubscription|_cellAlphaSubscription|_lineCountSubscription|_lineThicknessSubscription|_lineOffsetSubscription|_clockRange|minimumWidth|nUrl|nGeometry|nTexture|nFeatures|nTriangles|nPoints|nCommands|nGeometric|debugHeatmapTilePropertyName|cullWithChildrenBounds|contentUrl|geometric|Required|geometricErrorUndefined|POLYLINE_COUNT|POLYGON_INDEX_COUNT|POLYGON_COUNT|nextPositions|previousPositions|currentPositions|fff|countGraphemes|iterateGraphemes|128105|128102|128658|128640|128488|128300|128295|128188|128187|128139|127981|127979|127912|127908|127891|127859|127806|127752|10084|9992|9878|9877|9794|8205|127999|127995|129501|129489|129342|129341|129337|129328|129318|129311|129310|129308|129304|128716|128704|128694|128692|128675|128591|128587|128583|128581|128406|128405|128400|128378|128373|128372|128170|128135|128133|128131|128129|128124|128120|128112|128110|128080|128070|128067|128066|127948|127946|127943|127940|127938|127877|9997|9994|9977|9757|55203|55177|55175|55149|55147|55121|55119|55093|55091|55065|55063|55037|55035|55009|55007|54981|54979|54953|54951|54925|54923|54897|54895|54869|54867|54839|54813|54811|54785|54783|54757|54755|54729|54727|54701|54699|54673|54671|54645|54643|54617|54615|54589|54587|54561|54559|54533|54531|54505|54503|54477|54475|54449|54447|54421|54419|54393|54391|54365|54363|54337|54335|54309|54307|54281|54279|54253|54251|54225|54223|54197|54195|54169|54167|54141|54139|54113|54111|54085|54083|54057|54055|54029|54027|54001|53999|53973|53971|53945|53943|53917|53915|53889|53887|53861|53859|53833|53831|53805|53803|53777|53775|53749|53747|53721|53719|53693|53691|53665|53663|53637|53635|53609|53607|53581|53579|53553|53551|53525|53523|53497|53495|53469|53467|53441|53439|53413|53411|53385|53383|53357|53355|53329|53327|53301|53299|53273|53271|53245|53243|53217|53215|53189|53187|53161|53159|53133|53131|53105|53103|53077|53075|53049|53047|53021|53019|52993|52991|52965|52963|52937|52935|52909|52907|52881|52879|52853|52851|52825|52823|52797|52795|52769|52767|52741|52739|52713|52711|52685|52683|52657|52655|52629|52627|52601|52599|52573|52571|52545|52543|52517|52515|52489|52487|52461|52459|52433|52431|52405|52403|52377|52375|52349|52347|52321|52319|52293|52291|52265|52263|52237|52235|52209|52207|52181|52179|52153|52151|52125|52123|52097|52095|52069|52067|52041|52039|52013|52011|51985|51983|51957|51955|51929|51927|51901|51899|51873|51871|51845|51843|51817|51815|51789|51787|51761|51759|51733|51731|51705|51703|51677|51675|51649|51647|51621|51619|51591|51565|51563|51537|51535|51509|51507|51481|51479|51453|51451|51425|51423|51397|51395|51369|51367|51341|51339|51313|51311|51285|51283|51257|51255|51229|51227|51201|51199|51173|51171|51145|51143|51117|51115|51089|51087|51061|51059|51033|51031|51005|51003|50977|50975|50949|50947|50921|50919|50893|50891|50865|50863|50837|50835|50809|50807|50781|50779|50753|50751|50725|50723|50697|50695|50669|50667|50641|50639|50613|50611|50585|50583|50557|50555|50529|50527|50501|50499|50473|50471|50445|50443|50417|50415|50389|50387|50361|50359|50333|50331|50305|50303|50277|50275|50249|50247|50221|50219|50193|50191|50165|50163|50137|50135|50109|50107|50081|50079|50053|50051|50025|50023|49997|49995|49969|49967|49941|49939|49913|49911|49885|49883|49857|49855|49829|49827|49801|49799|49773|49771|49745|49743|49717|49715|49689|49687|49661|49659|49633|49631|49605|49603|49577|49575|49549|49547|49521|49519|49493|49491|49465|49463|49437|49435|49409|49407|49381|49379|49353|49351|49325|49323|49297|49295|49269|49267|49241|49239|49213|49211|49185|49183|49157|49155|49129|49127|49101|49099|49073|49071|49045|49043|49017|49015|48989|48987|48961|48959|48933|48931|48905|48903|48877|48875|48849|48847|48821|48819|48793|48791|48765|48763|48737|48735|48709|48707|48681|48679|48653|48651|48625|48623|48597|48595|48569|48567|48541|48539|48513|48511|48485|48483|48457|48455|48429|48427|48401|48399|48373|48371|48345|48343|48317|48315|48289|48287|48261|48259|48233|48231|48205|48203|48177|48175|48149|48147|48121|48119|48093|48091|48065|48063|48037|48035|48009|48007|47981|47979|47953|47951|47925|47923|47897|47895|47869|47867|47841|47839|47813|47811|47785|47783|47757|47755|47729|47727|47701|47699|47673|47671|47645|47643|47617|47615|47589|47587|47561|47559|47533|47531|47505|47503|47477|47475|47449|47447|47421|47419|47393|47391|47365|47363|47337|47335|47309|47307|47281|47279|47253|47251|47225|47223|47197|47195|47169|47167|47141|47139|47113|47111|47085|47083|47057|47055|47029|47027|47001|46999|46973|46971|46945|46943|46917|46915|46889|46887|46861|46859|46833|46831|46805|46803|46777|46775|46749|46747|46721|46719|46693|46691|46665|46663|46637|46635|46609|46607|46581|46579|46553|46551|46525|46523|46497|46495|46469|46467|46441|46439|46413|46411|46385|46383|46357|46355|46329|46327|46301|46299|46273|46271|46245|46243|46217|46215|46189|46187|46161|46159|46133|46131|46105|46103|46077|46075|46049|46047|46021|46019|45993|45991|45965|45963|45937|45935|45909|45907|45881|45879|45853|45851|45825|45823|45797|45795|45769|45767|45741|45739|45713|45711|45685|45683|45657|45655|45629|45627|45601|45599|45573|45571|45545|45543|45517|45515|45489|45487|45461|45459|45433|45431|45405|45403|45377|45349|45347|45321|45319|45293|45291|45265|45263|45237|45235|45209|45207|45181|45179|45153|45151|45125|45123|45097|45095|45069|45067|45041|45039|45013|45011|44985|44983|44957|44955|44929|44927|44901|44899|44873|44871|44845|44843|44817|44815|44789|44787|44761|44759|44733|44731|44705|44703|44677|44675|44649|44647|44621|44619|44593|44591|44565|44563|44537|44535|44509|44507|44481|44479|44453|44451|44425|44423|44397|44395|44369|44367|44341|44339|44313|44311|44285|44283|44257|44255|44229|44227|44201|44199|44173|44171|44145|44143|44117|44115|44089|44087|44061|44059|44033|55176|55148|55120|55092|55064|55036|55008|54980|54952|54924|54896|54868|54840|54812|54784|54756|54728|54700|54672|54644|54616|54588|54560|54532|54504|54476|54448|54420|54392|54364|54336|54308|54280|54252|54224|54196|54168|54140|54112|54084|54056|54028|54E3|53972|53944|53916|53888|53860|53832|53804|53776|53748|53720|53692|53664|53636|53608|53580|53552|53524|53496|53468|53440|53412|53384|53356|53328|53300|53272|53244|53216|53188|53160|53132|53104|53076|53048|53020|52992|52964|52936|52908|52880|52852|52824|52796|52768|52740|52712|52684|52656|52628|52600|52572|52544|52516|52488|52460|52432|52404|52376|52348|52320|52292|52264|52236|52208|52180|52152|52124|52096|52068|52040|52012|51984|51956|51928|51900|51872|51844|51816|51788|51760|51732|51704|51676|51648|51620|51592|51564|51536|51508|51480|51452|51424|51396|51368|51340|51312|51284|51256|51228|51200|51172|51144|51116|51088|51060|51032|51004|50976|50948|50920|50892|50864|50836|50808|50780|50752|50724|50696|50668|50640|50612|50584|50556|50528|50500|50472|50444|50416|50388|50360|50332|50304|50276|50248|50220|50192|50164|50136|50108|50080|50052|50024|49996|49968|49940|49912|49884|49856|49828|49800|49772|49744|49716|49688|49660|49632|49604|49576|49548|49520|49492|49464|49436|49408|49380|49352|49324|49296|49268|49240|49212|49184|49156|49128|49100|49072|49044|49016|48988|48960|48932|48904|48876|48848|48820|48792|48764|48736|48708|48680|48652|48624|48596|48568|48540|48512|48484|48456|48428|48400|48372|48344|48316|48288|48260|48232|48204|48176|48148|48120|48092|48064|48036|48008|47980|47952|47924|47896|47868|47840|47812|47784|47756|47728|47700|47672|47644|47616|47588|47560|47532|47504|47476|47448|47420|47392|47364|47336|47308|47280|47252|47224|47196|47168|47140|47112|47084|47056|47028|47E3|46972|46944|46916|46888|46860|46832|46804|46776|46748|46720|46692|46664|46636|46608|46580|46552|46524|46496|46468|46440|46412|46384|46356|46328|46300|46272|46244|46216|46188|46160|46132|46104|46076|46048|46020|45992|45964|45936|45908|45880|45852|45824|45796|45768|45740|45712|45684|45656|45628|45600|45572|45544|45516|45488|45460|45432|45404|45376|45348|45320|45292|45264|45236|45208|45180|45152|45124|45096|45068|45040|45012|44984|44956|44928|44900|44872|44844|44816|44788|44760|44732|44704|44676|44648|44620|44592|44564|44536|44508|44480|44452|44424|44396|44368|44340|44312|44284|44256|44228|44200|44172|44144|44116||44088|44060|55291|55243|4520|55238|4519|4448|43388|4447|119149|119142|94078|94033|72884|72881|72873|72766|72751|72343|72280|72279|72249|72200|72199|71462|71457|71456|71350|71343|71342|71340|71230|71228|71227|71218|71216|71102|71099|71096|71089|71088|70849|70846|70844|70843|70841|70834|70833|70725|70721|70720|70711|70709|70499|70498|70477|70475|70472|70471|70468||||70465|70463|70403|70402|70370|70368|70197|70195|70194|70190|70188|70080|70079|70069|70067||70018|69932|69816|69815|69810|69808|69762|69634|69632|44012|44010|44009|44007|44006|44004|44003|43765|43759|43755|43597|43572|43571|43568|43567|43456|43453|43451|43450|43445|43444|43395|43347|43346|43203|43188|43137|43136|43047|43044|43043|7415|7411|7410||7393|7221|7220|7211|7204|7155|7150|7148|7146|7143|7082|7079|7078||7073|7042|6980|6979||6977|6973|6971|6965|6916|6770|6765|6743|6741|6682|6681|6456|6451|6449|6448|6443|6441|6438|6435|6088|6087|6085|6078|6070|4228|4183|4182|4156|4155|4145|3967|3903|3902|3763|3635|3571|3570|3550|3544|3537|3536|3459||3458|3404||3402|3398|3392|3391|3275|3274|3272|3271|3268|3267|3265|3264|3262|3203||3202|3140||3137|3075|3020|3018|3016|3014|3010|3009|3007|2892|2891|2888|2887|2880|2819|2818|2764|2763|2761|2752|2750|2691|2624|2622|2563|2508|2507|2504|2503|2496|2495|2435|2434|2383|2382|2380|2377|2368|2366|2363||2307|127487|127462|917999|917760||917631|917536|125258|125252|125142|125136|122922|122918|122916|122915|122913|122907|122904|122888|122886|121519|121505|121503|121499|121476|121461|121452|121403|121398|121344|119364|119362|119213|119210|119179|119173|119170|119163|119154|119150|119145|119143|119141|113822|113821|94098|94095|92982|92976|92916|92912|73031|73029|73023|73021|73020|73018|73014|73009|72886||72885|72883|72882|72880|72874|72871|72850|72767|72765|72760||72758|72752|72345|72344|72342|72330|72283|72281|72278|72273|72263|72254|72251|72248|72243|72202|72201|72198|72193|71467|71463|71461|71458|71455|71453|71351|71349|71344|71341|71339|71232|71231|71229|71226|71219|71133|71132|71104|71103|71101|71100|71093|71090|71087|70851|70850|70848|70847|70845|70842||70840|70835|70832||70726|70724|70722|70719|70712|70516|70512|70508|70502|70487|70464|70462|70460|70401|70400|70378|70371|70367|70206|70199|70198|70196|70193|70191|70092|70090|70078|70070|70017|70016|70003|69940|69933|69931|69927|69890|69888|69818|69817|69814|69811|69761|69759|69702|69688|69633|68326|68325|68159|68154|68152|68111|68108|68102|68101|68099|68097||66426|66422|66272|66045|65439|65438|65071|65056|65039|64286|44013|44008|44005|43766|43757|43756|43713|43711|43710|43704|43703|43700|43698|43696|43644|43596|43587|43574|43573|43570|43569|43566|43561|43493|43452|43449|43446|43443|43394|43392|43345|43335|43309|43302|43249|43205|43204|43046|43045|43019|43014|43010|42737|42736|42655|42654|42621|42612|42610|42608|42607||12442|12441|12335|12334|12333||12330|11775|11744|11647|11505|11503|8432|8420|8418|8417|8416|8413|8412|8400|8204|7679|7675|7673|7616|7417|7416|7412|7405|7400|7394|7392|7380|7378|7376|7223|7222|7219|7212|7153|7151|7149|7145|7144|7142|7085|7083|7081|7080|7077|7074|7041|7040|7027|7019|6978|6972|6970|6966|6964|6915||6912|6846|6845|6832|6783|6780|6771|6764|6757|6754|6752|6750|6744|6742|6683|6680|6679|6459|6457|6450|6440|6439|6434|6432|6313|6278|6277|6157|6155|6109|6099|6089|6086|6077|6071|6069|6068|6003|6002|5971|5970|5940|5938|5908|5906|4959|4957|4253|4237|4230|4229|4226|4212|4209|4192|4190|4185|4184|4158|4157|4154||4153|4151|4146|4144|4141|4038|4028|3993|3991|3981|3975|3974|3972|3968||3966|3953|3897|3895|3893|3865|3864|3789|3784|3772|3771|3769|3764|3761|3662|3655|3642|3636|3551|3542|3540|3538|3535|3530|3427|3426|3405|3396|3393|3390|3388|3387|3329|3328|3299|3298|3286|3285|3277|3276|3270|3266|3263|3260|3171|3170||3158|3157|3146|3144|3142|3136|3134|3031|3021|3008||3006|2946|2915|2914|2903|2902|2893||2881|2879|2878|2876|2817|2815|2810|2787|2786|2765|2760|2759|2757|2753|2748|2690|2689|2677|2673|2672|2641|2637|2635|2632|2631|2626|2625|2620|2561|2531|2519|2509|2500|2497|2494|2492|2433|2403|2402|2391|2385|2381||2369|2364||2362|2306|2275|2273|2260|2139|2137|2093|2089|2087|2085||2083|2073|2070|2035|2027|1958|1840|1809|1773|1770|1768|1767|1764|1759|1756|1750|1648|1631|1611|1552|1477|1476|1474|1471|1469|1425|1161|1160|1159|1155|921599|918E3|917759|917632|917535|917506|917505|917504|119162|119155|113827|113824|65531|65529|65528|65520||8294|8293||8292|8288|8238|8234|8233|8232|8207|8206|8203|6158|1564|73030|72329|72326|72250|70083|70082|69821|3406|2274|||1807|1757|1541|Raw|syntax|styleable|casted|Cast|featureTableProperties|SCALE_NON_UNIFORM|SCALE|EAST_NORTH_UP|Format|Uniform|instancing|SPHERES|ELLIPSOIDS|CYLINDERS|BOXES|_sphere|inside|underscore|prefixed|semantics|specific|Application|batchid|Batched|magFilter|minFilter|pvrtc1|keepPipelineExtras|clippingPlaneCollection|styleUniformName|matrixUniformName|samplerUniformName||attributeData|classifier|Provide|tiles3d_|take|Unmatched|14159265|InverseTransform|Direction|PHONG||_0|targetVersion|5130562|1313821514|binary_glTF|specularGlossinessTexture|pbrSpecularGlossiness|metallicRoughnessTexture|baseColorTexture|occlusionTexture|emissiveTexture|LAMBERT|Inherited|detected|instancesLength|batchTableHierarchyExtension|positionProperty|_billboardSubscription|_box|_boxSubscription|_corridor|_corridorSubscription|_cylinder|_cylinderSubscription|_ellipse|_ellipseSubscription|_ellipsoidSubscription|_labelSubscription|_modelSubscription|_pathSubscription|_pointSubscription|_polygonSubscription|_polylineSubscription|_polylineVolumeSubscription|_positionSubscription|_propertiesSubscription|_rectangleSubscription|_viewFrom|_viewFromSubscription|_wall|_wallSubscription|_minimumHeightsSubscription|_maximumHeightsSubscription|_coordinates|_coordinatesSubscription|_distancedisplayConditionSubscription|_enuCenter|_shapeSubscription|_distanceDisplayConditionSubsription|_depthFailMaterialSubscription||_clampToGroundSubscription|_pixelSizeSubscription|_leadTimeSubscription|_trailTimeSubscription|_resolutionSubscription|_maximumScreenSpaceErrorSubscription|_minimumPixelSizeSubscription||_maximumScaleSubscription|_incrementallyLoadTexturesSubscription|_runAnimationsSubscription|_nodeTransformationsSubscription|_silhouetteColorSubscription|_silhouetteSizeSubscription||_colorBlendModeSubscription|_colorBlendAmountSubscription|_clippingPlanesSubscription|_imageBasedLightingFactorSubscription|_lightColorSubscription|_textSubscription|_fontSubscription|_styleSubscription|_showBackgroundSubscription|_backgroundColorSubscription|_backgroundPaddingSubscription|_fillColorSubscription|_radiiSubscription|_innerRadiiSubscription|_minimumClockSubscription|_maximumClockSubscription|_minimumConeSubscription|_maximumConeSubscription|_stackPartitionsSubscription|_slicePartitionsSubscription|_subdivisionsSubscription|_semiMajorAxisSubscription|_semiMinorAxisSubscription|_lengthSubscription|_topRadiusSubscription|_bottomRadiusSubscription|_slicesSubscription|geometryUpdater|planarExtents|extentsCulling|subTasks|moduleName|_hierarchySubscription|_perPositionHeightSubscription|_closeTopSubscription|_closeBottomSubscription|infer|_transparentSubscription|vertexAttrib4fv|vertexAttrib3fv|vertexAttrib2fv|vertexAttrib1fv|backed|GL_FRAGMENT_PRECISION_HIGH|inconsistent|built||bczm_|GL_|gl_FragDepth|EXT_draw_buffers|czm_out|getUniform|gl_|transformFeedbackVaryings|czm_mediump_|scissor|czm_getMaterial_|share|copyTexImage2D|WEBGL_texture_compression_etc1|ETC1|WEBGL_texture_compression_pvrtc|PVRTC|WEBGL_texture_compression_s3tc|S3TC|videoHeight|videoWidth|faces|_alignedAxisSubscription|_sizeInMetersSubscription|_imageSubRegionSubscription|Subscription|createWallOutlineGeometry|createWallGeometry|maxlevel|DataExtent|TileFormat|numberOfArrays|createSphereOutlineGeometry|createSphereGeometry|createSimplePolylineGeometry|0011|0014|015|035|06|0335|0297|1197|006588|7325593434847E9|586E|007625|3602|3631|6967919|1370|1626|1736|1883|3417|3484|5318|7505|9385|34711|55609||1301E||045047||2702||46434202669E7|02966|01E|001147|001356|001383|008551|014216|055545526|7725|383397|001037||7512|7395272628478E9|27209062|219E|007618|2068|6967051|17137918|149E|5532|295965810481E8|52910918|447E|051635|8792|7179159232178E9|96340251|006593|3706|602961601209E9|85019547|31664563|04455501|35324312|15668983|converted|Epsilon10|hyperbola|lies|orbit|hyperbolic|anomaly|Parabolic|Elliptical|converge|did|equation|Kepler|Inclination|01671|001657|0172019696544||239996|heightmapHeight|heightmapWidth|onmousewheel|onwheel|pointercancel|pointermove|setPointerCapture|DOM_DELTA_LINE||DOM_DELTA_PIXEL||deltaMode|altKey|createRectangleOutlineGeometry|createRectangleGeometry|createPolylineVolumeOutlineGeometry|createPolylineVolumeGeometry|createPolylineGeometry|createPolygonOutlineGeometry|createPolygonGeometry|createPlaneOutlineGeometry|createPlaneGeometry|apiKey|glFormat|glType|glInternalFormat|endianness|KTX|_server|createGroundPolylineGeometry|f1c|defaults|retrieve|providerId|copyrightString|providerInfo|quadtreeVersion|compressedNegativeAltitudeThreshold|DbRootProto|DbRoot|dbrootData|encryptionData|EncryptedDbRootProto|parser|dbroot|proto|dbRoot|22241909461273E|41627215981336E|98473350966158E|00505250559291393|57048687472752E|65198801|6399596|00673950181947292|00669438499958795|0033528131778969143|288157528|22241238938534E|41626669230084E||98472900956587E|00505250178820567|57048761144159E|62586|6399593|00673949677548|0066943800229|003352810681182319|createFrustumOutlineGeometry|createFrustumGeometry|createEllipsoidOutlineGeometry|createEllipsoidGeometry|2917034100|1953029805|createCylinderOutlineGeometry|createCylinderGeometry|inverseFlattening|semimajorAxis|northFalse|eastFalse|standardParallel_2|standardParallel_1|primeMeridian|centralMeridian|79E5|62E5|53E5|44E5|35E5|26E5|17E5|91E5|82E5|73E5|64E5|55E5|46E5|37E5|28E5|11E5|nnorthing|nhalf|front|letters|100km|nof|Northing|nothing|coverting|05391597401814761|6983531815716497|06065547077041606|32722994|6335439|145945056|6367449|39089081163157013|2240339282485886|4180461016968582E|639046602129982E|002514607064228144||9983242984503243|022156084656084655|04722222222222222|16666666666666666|epsg|srsCode|Azimuth|Longitude_of_center|Longitude_Of_Center|Latitude_of_center|Latitude_Of_Center|Scale_Factor|Central_Parallel|Latitude_Of_Origin|Central_Meridian|False_Northing|False_Easting|Standard_Parallel_2|Standard_Parallel_1|isr93|israel|geodetic_datum_of_1965|tm65|osni_1952|osgb_1936|clrk|larke_18|_19|belge|_jakarta|_ferro|world_geodetic_system_1984|wgs_1984|new_zealand_1949|new_zealand_geodetic_datum_1949|metre|LOCAL_DATUM|FITTED_CS|COMPOUNDCRS|COMPD_CS|VERTICALCRS|VERTCRS|VERT_CS|ENGINEERINGDATUM|EDATUM|ELLIPSOID|VERT_DATUM|PRIMEM|PARAMETER|external|createResource|STK_TERRAIN_SERVER|3DTILES|endpointResource|xxxxxxxxxxxx|yxxx|4xxx|xxxx|xxxxxxxx|createCorridorOutlineGeometry|createCorridorGeometry||sineSquaredAlpha|tanU|createCoplanarPolygonOutlineGeometry|createCoplanarPolygonGeometry|251658240||293393||2621440|10485760|225797|8607|786432|26965|5019|12517|584039|28273|20861|42783|4681|112599|33152|90560|399985|1677|16837|1515|1310720|43659|13475|3675|1575|4851|createCircleOutlineGeometry|createEllipseOutlineGeometry|createCircleGeometry|createEllipseGeometry|Custom_|WMTSCapabilities|EndRow|EndCol|StartRow|StartCol|TileBounds|TilesBounds|Available|tilejson|metadataAvailability|errorcode|database|necessory|rooturl|createBoxOutlineGeometry|tilemap|bandCount|Tilemap|capabilities|latestWkid|pjson|_maxLevel||workerModule|paths|loaderConfig|cesiumWorkerBootstrapper|webkitURL|getBlob|MSBlobBuilder|MozBlobBuilder|WebKitBlobBuilder|BlobBuilder|transferTypedArrayTest|extents|JaQAA3AAAAAA|UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD|pixelated|crisp|Trident||Netscape|Explorer|Internet|isNightly|IAU2006_XYS_|IAU2006_XYS|27426|totalSamples|samplesPerXysFile|stepSizeDays|2442396|sampleZeroJulianEphemerisDate|interpolationOrder|xysFileUrlTemplate|columns|lengthOfDayCorrectionSeconds|dateIso8601|retrieving|addNewLeapSeconds|32075|4800|eEfFgG|efg|fFeE|scboxXuideEfFgG|0b|itemToFind|removeAllHooks|removeHooks|removeHook|addHook|isValidAttribute|clearConfig|setConfig|BODY|aborting|afterSanitizeShadowDOM|uponSanitizeShadowNode|beforeSanitizeShadowDOM|afterSanitizeAttributes|CWa|INPUT|IMG||uponSanitizeAttribute|allowedAttributes|beforeSanitizeAttributes|afterSanitizeElements|AfterEnd|allowedTags|uponSanitizeElement|beforeSanitizeElements|FILTER_ACCEPT|SHOW_TEXT|SHOW_COMMENT|SHOW_ELEMENT|alert|BWa|mathMl|svgFilters|ALLOWED_URI_REGEXP|IN_PLACE|KEEP_CONTENT|SANITIZE_DOM|FORCE_BODY|RETURN_DOM_IMPORT|RETURN_DOM_FRAGMENT|RETURN_DOM|WHOLE_DOCUMENT|SAFE_FOR_TEMPLATES|SAFE_FOR_JQUERY|ALLOW_UNKNOWN_PROTOCOLS|ALLOW_DATA_ATTR|ALLOW_ARIA_ATTR|documentMode|createNodeIterator|HTMLTemplateElement|Comment|MozNamedAttrMap|NodeFilter|automatically|Core|decompressing|gunzip|fetched|queryString|resolver|centerToleranceSquared|3221225472|4026531840|4278190080|es7|extensible|1342177279|es9|race|settled|settle|itself|es_next|jscomp_symbol_|ASSUME_NO_NATIVE_SET|ASSUME_NO_NATIVE_MAP'.split('|'),0,{}))
-
diff --git a/libs/supermap/ThirdParty/Module.wasm b/libs/supermap/ThirdParty/Module.wasm
deleted file mode 100644
index 58abd6f..0000000
--- a/libs/supermap/ThirdParty/Module.wasm
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/ThirdParty/Workers/PlotAlgo/PlotAlgoInclude.js b/libs/supermap/ThirdParty/Workers/PlotAlgo/PlotAlgoInclude.js
deleted file mode 100644
index 03d4951..0000000
--- a/libs/supermap/ThirdParty/Workers/PlotAlgo/PlotAlgoInclude.js
+++ /dev/null
@@ -1,437 +0,0 @@
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// identity function for calling harmony imports with the correct context
-/******/ 	__webpack_require__.i = function(value) { return value; };
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, {
-/******/ 				configurable: false,
-/******/ 				enumerable: true,
-/******/ 				get: getter
-/******/ 			});
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 5);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports) {
-
-/* COPYRIGHT 2012 SUPERMAP
- * 本程序只能在有效的授权许可下使用。
- * 未经许可,不得以任何手段擅自使用或传播。*/
-
-/**
- * @requires SuperMap/BaseTypes.js
- */
-
-/**
- * Namespace: SuperMap.Lang
- * 国际化的命名空间,包含多种语言和方法库来设置和获取当前的语言。
- */
-//var SuperMap = window.SuperMap = window.SuperMap || {};
-
-/***
- * @private
- * @type {{translate: SuperMap.PlotLang.translate}}
- */
-SuperMap.PlotLang = {
-    /**
-     * APIMethod: translate
-     * 从当前语言字符串的字典查找key。
-     *     getCode获取的值用来判断合适的字典。字典存储在 <SuperMap.Lang> 方法中。
-     *
-     * Parameters:
-     * key - {String} 字典中i18n字符串值的关键字.
-     * context - {Object} <SuperMap.String.format> 使用此参数。
-     *
-     * Returns:
-     * {String} 国际化的字符串。
-     */
-    translate: function(key, context) {
-        var dictionary = SuperMap.PlotLang["zh-CN"];
-        var message = dictionary && dictionary[key];
-        if(!message) {
-            // Message not found, fall back to message key
-            message = key;
-        }
-        if(context) {
-            message = SuperMap.String.format(message, context);
-        }
-        return message;
-    }
-
-};
-
-
-/**
- * @private
- * APIMethod: SuperMap.plotI18n
- *  <SuperMap.Lang.translate> 的别名.  当前语言字符串的字典查找key。
- *  getCode获取的值用来判断合适的字典。字典存储在 <SuperMap.Lang> 方法中。
- *
- * Parameters:
- * key - {String} 字典中i18n字符串值的关键字.
- * context - {Object} <SuperMap.String.format> 使用此参数。
- *
- * Returns:
- * {String} 国际化的字符串。
- */
-SuperMap.plotI18n = SuperMap.PlotLang.translate;
-
-
-/**
- * @private
- * */
-SuperMap.PlotLang["zh-CN"] = {
-	//字体
-	'SongTi':"宋体",
-    //text
-	'text':"文本",
-    'textSizeLabel':"字体大小",
-    'textSizeTitle':"字体大小",
-    'textFaceNameLabel':"字体",
-    'textFaceNameTitle':"字体",
-    'textAlignLabel':"水平对齐方式",
-    'textAlignTitle':"文本的水平对齐方式",
-    'textVerticalAlignmentLabel':"垂直对齐方式",
-    'textVerticalAlignmentTitle':"文本的垂直对齐方式",
-    'textHaloRadiusLabel':"文本边框宽度",
-    'textHaloRadiusTitle':"文本的外围边框的宽度",
-    'textHaloColorLabel':"文本边框颜色",
-    'textHaloColorTitle':"文本的外围边框的颜色",
-    'textFillLabel':"文本颜色",
-    'textFillTitle':"文本的颜色值",
-    'textOpacityLabel':"透明度",
-    'textOpacityTitle':"文本的透明度",
-    'textDxLabel':"横向偏移",
-    'textDxTitle':"文本的横向偏移值",
-    'textDyLabel':"纵向偏移值",
-    'textDyTitle':"文本的纵向偏移值",
-    'textCompOpLabel':"叠加方式",
-    'textCompOpTitle':"文本之间相互叠加里使用的覆盖或者是异或等运算方式",
-    'expandingPointContent':"展",
-    'volleyPointContent':"齐",
-    'rendezvousPointContent':"会",
-    'supplyPointContent':"补",
-    //symbolAlgo
-	//JB
-    'symbolAlgo_17703':"加",
-    'symbolAlgo_17704':"急",
-    'symbolAlgo_21600':"冲",
-    'symbolAlgo_28000_1':"危",
-    'symbolAlgo_28000_2':"中",
-    'symbolAlgo_28000_3':"轻",
-    'symbolAlgo_315':"突击",
-    'symbolAlgo_31304':"慑阻",
-    'symbolAlgo_3010301':"调",
-    'symbolAlgo_3010303':"出",
-    'symbolAlgo_3010304':"协",
-
-	//WJ
-    'symbolAlgo_2121505':"火",
-    'symbolAlgo_2121506':"墩",
-    'symbolAlgo_2121507':"复",
-    'symbolAlgo_2121601':"遥",
-    'symbolAlgo_2121602':"障",
-    'symbolAlgo_30010':"?",
-    'symbolAlgo_3001101':"集",
-    'symbolAlgo_3001102':"暴",
-    'symbolAlgo_3001103':"骚",
-    'symbolAlgo_3001104':"私",
-    'symbolAlgo_3001105':"盗",
-    'symbolAlgo_30020':"水",
-    'symbolAlgo_3002001':"震",
-    'symbolAlgo_3002004':"火",
-    'symbolAlgo_30025':"滞",
-    'symbolAlgo_5010301':"调",
-    'symbolAlgo_5010303':"出",
-    'symbolAlgo_5010304':"协",
-    'symbolAlgo_5010401':"JZ",
-    'symbolAlgo_5022001':"ZD0",
-    'symbolAlgo_5034801':"催",
-    "symbolAlgo_60203":"避",
-    'symbolAlgo_60301':"爆",
-    'symbolAlgo_6030101':"挖",
-    'symbolAlgo_6030102':"浇",
-    'symbolAlgo_6030103':"砌",
-    'symbolAlgo_6030104':"装",
-    'symbolAlgo_6030105':"石",
-    'symbolAlgo_6030106':"沙",
-    'symbolAlgo_6030107':"练",
-    'symbolAlgo_60304':"隧",
-    'symbolAlgo_3002501':"踏",
-    'symbolAlgo_30026':"灾",
-    'symbolAlgo_40104':"缉",
-    'symbolAlgo_4030301':"标",
-    'symbolAlgo_4030302':"劝",
-    'symbolAlgo_4030303':"疏",
-    'symbolAlgo_40304':"警",
-    'symbolAlgo_4030401':"警",
-
-    //basic symbol
-    'polyLine':"折线",
-    'parallelogram':"平行四边形",
-    'circle':"圆",
-    'ellipse':"椭圆",
-    'annotation':"注记",
-    'regularPolygon':"正多边形",
-    'polygon':"多边形",
-    'bezier':"贝塞尔曲线",
-    'closedBesselCurve':"闭合贝塞尔曲线",
-    'kidney':"集结地",
-    'brace':"大括号",
-    'trapezoid':"梯形",
-    'rectangle':"矩形",
-    'chord':"弓形",
-    'sector':"扇形",
-    'arc':"弧线",
-    'parallel':"平行线",
-    'annoframe':"注记指示框",
-    'tooltipBoxM':"多角标注框",
-    'runway':"跑道线",
-    'curveEight':"八字形",
-    'arrowLine':"箭头线",
-    'pathText':"沿线注记",
-    'concentricCircle':"同心圆",
-    'combinedCircle':"组合圆",
-    'freeCurve':"自由线",
-    'nodeChain':"节点链",
-    'lineMarking':"线型标注",
-    'symbolTextBox':"标注框",
-
-    'parallelFlatArrow':"平行平耳箭头",
-    'multipleArrow':"多箭头",
-    'trapezoidalFlatArrow':"梯形平耳箭头",
-    'besselPointArrow':"贝塞尔尖耳箭头",
-    'besselArrow':"普通贝塞尔箭头",
-    'doubleArrow':"钳击箭头",
-    'brokenSpaceTriangleArrow':"折线空三角箭头",
-    'besselDovetailArrow':"贝塞尔燕尾箭头",
-    'ordinaryLineArrow':"普通折线箭头",
-    'besselPointedEarsTailArrow':"贝塞尔尖耳燕尾箭头",
-    'besselTipArrow':"贝塞尔尖耳单点箭头",
-    'besselArrowNoGraph':"普通贝塞尔箭头(不随图)",
-    'brokenSpaceTriangleArrowNoGraph':"折线空三角箭头(不随图)",
-    'besselPointedEarsTailArrowNoGraph':"贝塞尔尖耳燕尾箭头(不随图)",
-    'ordinaryLineArrowNoGraph':"普通折线箭头(不随图)",
-    'combianationArrow':"组合箭头",
-    'symbolAlgo_311':'进攻方向',
-    'symbolAlgo_317':'钳击',
-
-    //new obj
-    'airDeployment':"空军兵力部署",
-    'airRoute':"空军航线",
-    'arcRegion':"扇形区域",
-    'flagGroup':"多旗",
-    'lineRelation':"对象间连线",
-    'polygonRegion':"多边形区域管理",
-    'navyRoute':"海军航线",
-    'missileRoute':"导弹航线",
-    'navyDeployment':"海军兵力部署",
-    'satelliteTimeWindows':"卫星时间窗",
-    'satellite':"卫星",
-    'symbolText':"对象标注",
-    'symbolText1':"对象标注(带指示线)",
-    'interferenceBeam':"干扰波束",
-    'groupObject':"组合对象",
-
-    //routeNodeTypeName
-    'RENDEZVOUS': "会合点",
-    'EXPANDING': "展开点",
-    'VOLLEY': "齐射点",
-    'STANDBY': "待机点",
-    'SUPPLY': "补给点",
-    'TAKEOFF': "起飞点",
-    'INITIAL': "初始点",
-    'VISUALINITAL': "可视初始点",
-    'LANCH': "发射点",
-    'TURNING': "转弯点",
-    'AIMING': "瞄准点",
-    'COMMONROUTE': "普通航路点",
-    'WEAPONLAUNCH': "武器发射点",
-    'TARGET': "目标点",
-    'ATTACK':"攻击点",
-    'SUPPRESS':"压制点",
-    'EIGHTSPIRAL':"八字盘旋点",
-    'HAPPYVALLEY':"跑马圈点",
-
-    'LITERATESIGN':"标牌文字",
-
-    'undoStackOverflow': '撤销的栈溢出',
-
-    //Mapviewer
-    'noContent':'无内容',
-    'lableTitle': '_标签图层'
-
-};
-
-
-
-/***/ }),
-/* 1 */
-/***/ (function(module, exports) {
-
-/*!
- * 
- *          iclient-plot-algorithms-jb.(http://iclient.supermap.io)
- *          Copyright© 2000 - 2018 SuperMap Software Co.Ltd
- *          version: v9.1.1
- *         
- */!function(t){var e={};function l(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,l),i.l=!0,i.exports}l.m=t,l.c=e,l.d=function(t,e,o){l.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},l.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},l.t=function(t,e){if(1&e&&(t=l(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(l.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)l.d(o,i,function(e){return t[e]}.bind(null,i));return o},l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,"a",e),e},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.p="",l(l.s=225)}([function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4021102=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30800),e}();SuperMap.Plot.AlgoSymbol4021102=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4021101=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30800),e}();SuperMap.Plot.AlgoSymbol4021101=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6020404=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit){var e=.3*this.getSubSymbolScaleValue();e>.05&&(e=.05),this.scaleValues[0]=e}for(var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=Math.abs(l*this.scaleValues[0]),i=this.getDashLinePts(t,o),n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},a=1,r=0;r<i.length;r++){var s=i[r];if(0==a%2)if(2===s.length&&r!==i.length-1){var p=new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2),u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*o,s[0],p),c=null;c=this.scaleValues[0]>0?u.pntLeft:u.pntRight,this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[c,s[0],s[1]],n)}else a--;i[r].length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),a++}var P=180*SuperMap.Plot.PlottingUtil.radian(t[0],t[1])/Math.PI;this.scaleValues[0]>0?P+=90:P-=90;var S=SuperMap.Plot.PlottingUtil.circlePoint(t[0],2*o,2*o,P);this.addScalePoint(S),this.finish()}}},{key:"getDashLinePts",value:function(t,e){var l=[],o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(e>o)return l;for(var i=SuperMap.Plot.PlottingUtil.clonePoints(t),n=2*parseInt(o/(1.5*e)),a=0;a<n;a++){var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,e);if(-1!==r.index){if(0==a%2){for(var s=[],p=0;p<r.index+1;p++)s.push(i[p].clone());s.push(r.pt),l.push(s)}var u=[];u.push(r.pt);for(var c=r.index+1;c<i.length;c++)u.push(i[c]);i=(i=[]).concat(u)}}return i.length>0&&l.push(i),l}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=.5*SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;i>=.05&&(i=.05),SuperMap.Plot.PlottingUtil.isRight(e,l[0],l[1])&&(i=-i),this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol6020404=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6020403=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=1.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(1.05));var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);2===this.controlPoints.length&&t.splice(1,0,new SuperMap.Geometry.Point(t[0].x+e,t[0].y));var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),n=SuperMap.Plot.PlottingUtil.distance(l,o),a=n*this.scaleValues[0],r=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI%360,s=180*SuperMap.Plot.PlottingUtil.radian(l,i)/Math.PI%360;r>s&&(s+=360);var p=(s-r)/50,u=this.getArcPts(t[0],n,r,s,p),c=this.getArcPts(t[0],a,r,s,p);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{surroundLineFlag:!1,lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,surroundLineLimit:!0}),3===this.controlPoints.length&&(this.controlPoints[2]=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e,e,s)),this.addScalePoint(new SuperMap.Geometry.Point(c[c.length-1].x,c[c.length-1].y),0),this.finish()}}},{key:"getArcPts",value:function(t,e,l,o,i){void 0!==i&&null!==i||(i=1);for(var n=[],a=l;a<o;a+=i){var r=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,a);n.push(r)}var s=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,o);return n.push(s),n}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),i=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;i>=1.01&&(this.scaleValues[0]=i)}}}]),e}();SuperMap.Plot.AlgoSymbol6020403=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4022102=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(SuperMap.Plot.PlottingUtil.clearSamePts(t),!(t.length<this.minEditPts)){4>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var i=this.scaleValues[0],n=this.scaleValues[2],a=this.scaleValues[3],r=o*i,s=new SuperMap.Geometry.Point(l.x+o*n,l.y+o*a);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],s,r,0);var p=new SuperMap.Geometry.Point(s.x+r,s.y+r/2),u=new SuperMap.Geometry.Point(s.x+r,s.y-r/2),c=.3*r,P=SuperMap.Plot.PlottingUtil.radian(u,p)*SuperMap.Plot.PlottingUtil.RTOD,S=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,P+157.5),h=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,P+202.5),y=new SuperMap.Geometry.Point((S.x+h.x)/2,(S.y+h.y)/2),f=[];f.push(u),f.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,y,h,p],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.addScalePoint(s);var g=r,M=SuperMap.Plot.PlottingUtil.circlePoint(s,g,g,90);this.addScalePoint(M),this.finish(),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol4022102=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4022101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(SuperMap.Plot.PlottingUtil.clearSamePts(t),!(t.length<this.minEditPts)){4>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var i=this.scaleValues[0],n=this.scaleValues[2],a=this.scaleValues[3],r=o*i,s=new SuperMap.Geometry.Point(l.x+o*n,l.y+o*a);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],s,r,0);var p=new SuperMap.Geometry.Point(s.x+r,s.y+r/2),u=new SuperMap.Geometry.Point(s.x+r,s.y-r/2),c=.3*r,P=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,S=SuperMap.Plot.PlottingUtil.circlePoint(u,c,c,P+157.5),h=SuperMap.Plot.PlottingUtil.circlePoint(u,c,c,P+202.5),y=new SuperMap.Geometry.Point((S.x+h.x)/2,(S.y+h.y)/2),f=[];f.push(p),f.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,y,h,u],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.addScalePoint(s);var g=r,M=SuperMap.Plot.PlottingUtil.circlePoint(s,g,g,90);this.addScalePoint(M),this.finish(),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol4022101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4022100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),e}();SuperMap.Plot.AlgoSymbol4022100=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4020402=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.069485),l.scaleValues.push(.15),l.scaleValues.push(.1),l.scaleValues.push(1.731025),l.scaleValues.push(2.076877)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30102),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var i=e*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI,a=e*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==r.index){var s=r.index,p=r.pt,u=new SuperMap.Geometry.Point(o[s].x,o[s].y),c=new SuperMap.Geometry.Point(o[s+1].x,o[s+1].y),P=180*SuperMap.Plot.PlottingUtil.radian(u,c)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(p,a/2,a/2,P+n),h=SuperMap.Plot.PlottingUtil.circlePoint(p,a,a,P+n+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[S,h]);var y=180*SuperMap.Plot.PlottingUtil.radian(p,S)/Math.PI,f=new SuperMap.Geometry.Point(-.2*a,.05*a),g=new SuperMap.Geometry.Point(-.2*a,-.05*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(S,f,y),b=SuperMap.Plot.PlottingUtil.coordinateTrans(S,g,y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,M,b],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var m=.4*a*this.scaleValues[5],d=.4*a*this.scaleValues[6],v=new SuperMap.Geometry.Point(0,-.9*(m-.25*d)),O=new SuperMap.Geometry.Point(0,.9*(m-.25*d)),U=SuperMap.Plot.PlottingUtil.coordinateTrans(h,v,y),w=SuperMap.Plot.PlottingUtil.coordinateTrans(h,O,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[U,w]);var L=new SuperMap.Geometry.Point(0,-m),V=SuperMap.Plot.PlottingUtil.coordinateTrans(h,L,y),_=new SuperMap.Geometry.Point(.5*d,-.25*d),T=new SuperMap.Geometry.Point(-.25*d,-.25*d),A=new SuperMap.Geometry.Point(-.5*d,.25*d),E=new SuperMap.Geometry.Point(.5*d,.25*d),x=SuperMap.Plot.PlottingUtil.coordinateTrans(V,_,y),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(V,T,y),j=SuperMap.Plot.PlottingUtil.coordinateTrans(V,A,y),C=SuperMap.Plot.PlottingUtil.coordinateTrans(V,E,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[x,Y,j,C,x]);var I=new SuperMap.Geometry.Point(0,m),G=SuperMap.Plot.PlottingUtil.coordinateTrans(h,I,y),B=new SuperMap.Geometry.Point(0,.25*d),R=new SuperMap.Geometry.Point(.5*d,0),N=new SuperMap.Geometry.Point(0,-.25*d),D=new SuperMap.Geometry.Point(-.5*d,0),k=SuperMap.Plot.PlottingUtil.coordinateTrans(G,B,y),z=SuperMap.Plot.PlottingUtil.coordinateTrans(G,R,y),F=SuperMap.Plot.PlottingUtil.coordinateTrans(G,N,y),K=SuperMap.Plot.PlottingUtil.coordinateTrans(G,D,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[k,z,F,K,k]),this.addScalePoint(p,0);var q=SuperMap.Plot.PlottingUtil.circlePoint(p,a,a,P+n);this.addScalePoint(q,1);var W=new SuperMap.Geometry.Point(0,-m),J=SuperMap.Plot.PlottingUtil.coordinateTrans(h,W,y);this.addScalePoint(J,2);var Z=new SuperMap.Geometry.Point(-.5*d,0),H=SuperMap.Plot.PlottingUtil.coordinateTrans(G,Z,y);this.addScalePoint(H,3),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol4020402=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4020401=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30100),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var i=e*this.scaleValues[0],n=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,a=e*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==r.index){var s=r.pt,p=r.index,u=new SuperMap.Geometry.Point(s.x,s.y),c=new SuperMap.Geometry.Point(o[p].x,o[p].y),P=new SuperMap.Geometry.Point(o[p+1].x,o[p+1].y),S=SuperMap.Plot.PlottingUtil.radian(c,P)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,1.5*a,1.5*a,S+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,h]);var y=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,f=new SuperMap.Geometry.Point(-.2*a,.05*a),g=new SuperMap.Geometry.Point(-.2*a,-.05*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(h,f,y),b=SuperMap.Plot.PlottingUtil.coordinateTrans(h,g,y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[h,M,b],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var m=new SuperMap.Geometry.Point(.6*a,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(u,m,y),v=.4*a*this.scaleValues[5],O=.4*a*this.scaleValues[6],U=new SuperMap.Geometry.Point(0,-.9*(v-.25*O)),w=new SuperMap.Geometry.Point(0,.9*(v-.25*O)),L=SuperMap.Plot.PlottingUtil.coordinateTrans(d,U,y),V=SuperMap.Plot.PlottingUtil.coordinateTrans(d,w,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[L,V]);var _=new SuperMap.Geometry.Point(0,v),T=SuperMap.Plot.PlottingUtil.coordinateTrans(d,_,y),A=new SuperMap.Geometry.Point(.5*O,-.25*O),E=new SuperMap.Geometry.Point(-.5*O,-.25*O),x=new SuperMap.Geometry.Point(-.5*O,.25*O),Y=new SuperMap.Geometry.Point(.25*O,.25*O),j=new SuperMap.Geometry.Point(.5*O,0),C=SuperMap.Plot.PlottingUtil.coordinateTrans(T,A,y+180),I=SuperMap.Plot.PlottingUtil.coordinateTrans(T,E,y+180),G=SuperMap.Plot.PlottingUtil.coordinateTrans(T,x,y+180),B=SuperMap.Plot.PlottingUtil.coordinateTrans(T,Y,y+180),R=SuperMap.Plot.PlottingUtil.coordinateTrans(T,j,y+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[C,I,G,B,C]);var N=new SuperMap.Geometry.Point(0,-v),D=SuperMap.Plot.PlottingUtil.coordinateTrans(d,N,y),k=SuperMap.Plot.PlottingUtil.coordinateTrans(D,A,y+180),z=SuperMap.Plot.PlottingUtil.coordinateTrans(D,E,y+180),F=SuperMap.Plot.PlottingUtil.coordinateTrans(D,x,y+180),K=SuperMap.Plot.PlottingUtil.coordinateTrans(D,Y,y+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[k,z,F,K,k]),this.addScalePoint(s,0),this.addScalePoint(h,1);var q=new SuperMap.Geometry.Point(0,-v),W=SuperMap.Plot.PlottingUtil.coordinateTrans(d,q,y);this.addScalePoint(W,2),this.addScalePoint(R,3),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol4020401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4020303=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.069485),l.scaleValues.push(.14),l.scaleValues.push(.1),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.scaleValues.length<5&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(Math.PI/2),this.scaleValues.push(.069485),this.scaleValues.push(.14),this.scaleValues.push(.1),this.scaleValues.push(.1));var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[2]=1.5*o,this.scaleValues[4]=.5*o,this.scaleValues[5]=.5*o}var i=l*this.scaleValues[4],n=this.scaleValues[0]-this.scaleValues[3];n<0&&(n=0);var a=this.scaleValues[0]+this.scaleValues[3];a>1&&(a=1);var r=this.getLinePts(e,this.scaleValues[4],n),s=this.getLinePts(e,this.scaleValues[4],a),p=new SuperMap.Geometry.Point((r.startPt.x+r.endPt.x)/2,(r.startPt.y+r.endPt.y)/2),u=SuperMap.Plot.PlottingUtil.radian(r.startPt,r.endPt)*SuperMap.Plot.PlottingUtil.RTOD;this.createSubSymbol1(p,i,u);var c=new SuperMap.Geometry.Point((s.startPt.x+s.endPt.x)/2,(s.startPt.y+s.endPt.y)/2),P=SuperMap.Plot.PlottingUtil.radian(s.startPt,s.endPt)*SuperMap.Plot.PlottingUtil.RTOD;this.createSubSymbol2(c,i,P);for(var S=[],h=[],y=[],f=0;f<=r.startIndex;f++)S.push(e[f]);if(S.push(r.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),r.endIndex<=s.startIndex){h.push(r.endPt);for(var g=r.endIndex+1;g<=s.startIndex;g++)h.push(e[g]);h.push(s.startPt),2===e.length&&SuperMap.Plot.PlottingUtil.distance(e[0],r.endPt)<=SuperMap.Plot.PlottingUtil.distance(e[0],s.startPt)&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),e.length>2&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}y.push(s.endPt);for(var M=s.endIndex+1;M<e.length;M++)y.push(e[M]);this.addArrow(y,this.scaleValues[5]);var b=l*this.scaleValues[0],m=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,d=l*this.scaleValues[2],v=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,b);if(-1!==v.index){var O=v.pt,U=new SuperMap.Geometry.Point(e[v.index].x,e[v.index].y),w=new SuperMap.Geometry.Point(e[v.index+1].x,e[v.index+1].y),L=SuperMap.Plot.PlottingUtil.radian(U,w)*SuperMap.Plot.PlottingUtil.RTOD,V=SuperMap.Plot.PlottingUtil.circlePoint(O,d,d,m+L-180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[O,V]);var _=SuperMap.Plot.PlottingUtil.radian(O,V)*SuperMap.Plot.PlottingUtil.RTOD,T=new SuperMap.Geometry.Point(-.2*d,.05*d),A=new SuperMap.Geometry.Point(-.2*d,-.05*d),E=SuperMap.Plot.PlottingUtil.coordinateTrans(V,T,_),x=SuperMap.Plot.PlottingUtil.coordinateTrans(V,A,_);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[V,E,x],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addScalePoint(v.pt,0),this.addScalePoint(V,1),this.addScalePoint(p,2),this.addScalePoint(r.startPt,3),this.finish()}}}},{key:"createSubSymbol1",value:function(t,e,l){var o=this.getSubSymbolPts(e);this.createSubSymbol(t,e,l,o)}},{key:"createSubSymbol2",value:function(t,e,l){var o=this.getSubSymbolPts1(e);this.createSubSymbol(t,e,l,o)}},{key:"createSubSymbol",value:function(t,e,l,o){for(var i=[],n=0;n<o.length;n++){var a=SuperMap.Plot.PlottingUtil.coordinateTrans(t,o[n],l);i.push(a)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,i)}},{key:"getSubSymbolPts",value:function(t){var e=t,l=[];return l.push(new SuperMap.Geometry.Point(0,2*e)),l.push(new SuperMap.Geometry.Point(-e,0)),l.push(new SuperMap.Geometry.Point(0,-2*e)),l.push(new SuperMap.Geometry.Point(e,0)),l}},{key:"getSubSymbolPts1",value:function(t){var e=t,l=[];return l.push(new SuperMap.Geometry.Point(e,2*e)),l.push(new SuperMap.Geometry.Point(-e,2*e)),l.push(new SuperMap.Geometry.Point(-e,-2*e)),l.push(new SuperMap.Geometry.Point(e,-e)),l}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r,s,p,u,c,P,S,h=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){i=-1,n=0,a=new SuperMap.Geometry.Point(0,0);for(var y=0;y<o.length-1;y++)(r=[]).push(o[y]),r.push(o[y+1]),s=SuperMap.Plot.PlottingUtil.projectPoint(e,o[y],o[y+1]),-1!==(p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(s,r)).index&&(u=SuperMap.Plot.PlottingUtil.distance(e,s),-1==i?(i=y,a=s,n=u):n>u&&(i=y,a=s,n=u));if(-1==i||i>o.length-1)return;c=0;for(var f=0;f<i;f++)c+=SuperMap.Plot.PlottingUtil.distance(o[f],o[f+1]);if((c+=SuperMap.Plot.PlottingUtil.distance(o[i],a))<0||c>h)return;var g=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(this.scalePoints[0],o),M=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(this.scalePoints[3],o),b=0;g.index===M.index&&(b=SuperMap.Plot.PlottingUtil.distance(this.scalePoints[0],this.scalePoints[3]));for(var m=M.index;m<g.index;m++)b+=SuperMap.Plot.PlottingUtil.distance(o[m],o[m+1]);c<b+.5?c=b+.5:c>h-b-.5&&(c=h-b-.5),this.scaleValues[0]=c/h}else if(1===t){var d=h*this.scaleValues[0],v=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,d);if(-1===v.index)return;var O=o[v.index],U=o[v.index+1],w=SuperMap.Plot.PlottingUtil.radian(O,U),L=SuperMap.Plot.PlottingUtil.radian(v.pt,e);this.scaleValues[1]=L-w-Math.PI;var V=SuperMap.Plot.PlottingUtil.distance(v.pt,e);this.scaleValues[2]=V/h}else if(2===t){i=-1,n=0,a=new SuperMap.Geometry.Point(0,0);for(var _=0;_<o.length-1;_++)(r=[]).push(o[_]),r.push(o[_+1]),s=SuperMap.Plot.PlottingUtil.projectPoint(e,o[_],o[_+1]),-1!==(p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(s,r)).index&&(u=SuperMap.Plot.PlottingUtil.distance(e,s),-1==i?(i=_,a=s,n=u):n>u&&(i=_,a=s,n=u));if(-1!==i&&i<=o.length-1){c=0;for(var T=0;T<i;T++)c+=SuperMap.Plot.PlottingUtil.distance(o[T],o[T+1]);c+=SuperMap.Plot.PlottingUtil.distance(o[i],a);var A=this.getLinePts(o,this.scaleValues[4],5/14),E=SuperMap.Plot.PlottingUtil.distance(A.startPt,A.endPt)/3*2/h;if(c>0&&c<h){var x=c/h;x<E&&(x=E),x>1-E&&(x=1-E),this.scaleValues[3]=Math.abs(x-this.scaleValues[0])}}}else if(3===t)if(this.scaleValues[0]>.5){var Y=this.scaleValues[0]+this.scaleValues[3],j=h*(P=this.scaleValues[0]-this.scaleValues[3]),C=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,j);-1!==C.index&&((S=SuperMap.Plot.PlottingUtil.distance(C.pt,e)/h)>1-Y&&(S=1-Y),this.scaleValues[4]=S)}else{var I=h*(P=this.scaleValues[0]-this.scaleValues[3]);-1!==(p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,I)).index&&((S=SuperMap.Plot.PlottingUtil.distance(p.pt,e)/h)>P&&(S=P),this.scaleValues[4]=S)}}}}]),e}();SuperMap.Plot.AlgoSymbol4020303=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4011101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(-.1),l.scaleValues.push(0),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[0]=i/o,this.scaleValues[3]=i/o}var n=this.scaleValues[0],a=this.scaleValues[1],r=this.scaleValues[3],s=this.scaleValues[4],p=this.scaleValues[6],u=this.scaleValues[7],c=this.scaleValues[8],P=this.scaleValues[9],S=new SuperMap.Geometry.Point(l.x+o*p,l.y+o*u),h=new SuperMap.Geometry.Point(l.x+o*c,l.y+o*P),y=[],f=.15*SuperMap.Plot.PlottingUtil.distance(S,h),g=SuperMap.Plot.PlottingUtil.linePnt(S,h,f),M=SuperMap.Plot.PlottingUtil.linePnt(h,S,f);y.push(g),y.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var b=o*n,m=a;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,b,m+90);var d=o*r,v=s;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],h,d,v+90),this.addScalePoint(S);var O=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*b,.5*b,m);this.addScalePoint(O),this.addScalePoint(h);var U=SuperMap.Plot.PlottingUtil.circlePoint(h,.5*d,.5*d,v);this.addScalePoint(U),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r,s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=e;if(0==t)i=(u.x-s.x)/p,this.scaleValues[6]=i,n=(u.y-s.y)/p,this.scaleValues[7]=n;else if(1==t){i=this.scaleValues[6],n=this.scaleValues[7];var c=new SuperMap.Geometry.Point(s.x+p*i,s.y+p*n),P=2*SuperMap.Plot.PlottingUtil.distance(c,u)/p;this.scaleValues[0]=P;var S=180*SuperMap.Plot.PlottingUtil.radian(c,u)/Math.PI;this.scaleValues[1]=S,this.scaleValues[2]=0<=S&&S<90?1:90<=S&&S<180?2:180<=S&&S<270?3:4}else if(2==t)a=(u.x-s.x)/p,this.scaleValues[8]=a,r=(u.y-s.y)/p,this.scaleValues[9]=r;else if(3==t){a=this.scaleValues[8],r=this.scaleValues[9];var h=new SuperMap.Geometry.Point(s.x+p*a,s.y+p*r),y=2*SuperMap.Plot.PlottingUtil.distance(h,u)/p;this.scaleValues[3]=y;var f=180*SuperMap.Plot.PlottingUtil.radian(h,u)/Math.PI;this.scaleValues[4]=f,this.scaleValues[5]=0<=f&&f<90?1:90<=f&&f<180?2:180<=f&&f<270?3:4}}}}]),e}();SuperMap.Plot.AlgoSymbol4011101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4011100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(-.1),l.scaleValues.push(0),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[0]=i/o,this.scaleValues[3]=i/o}var n=this.scaleValues[0],a=this.scaleValues[1],r=this.scaleValues[3],s=this.scaleValues[4],p=this.scaleValues[6],u=this.scaleValues[7],c=this.scaleValues[8],P=this.scaleValues[9],S=new SuperMap.Geometry.Point(l.x+o*p,l.y+o*u),h=new SuperMap.Geometry.Point(l.x+o*c,l.y+o*P),y=[],f=.15*SuperMap.Plot.PlottingUtil.distance(S,h),g=SuperMap.Plot.PlottingUtil.linePnt(S,h,f),M=SuperMap.Plot.PlottingUtil.linePnt(h,S,f);y.push(g),y.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var b=o*n,m=a;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,b,m-90);var d=o*r,v=s;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],h,d,v-90),this.addScalePoint(S);var O=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*b,.5*b,m);this.addScalePoint(O),this.addScalePoint(h);var U=SuperMap.Plot.PlottingUtil.circlePoint(h,.5*d,.5*d,v);this.addScalePoint(U),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r,s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=e;if(0==t)i=(u.x-s.x)/p,this.scaleValues[6]=i,n=(u.y-s.y)/p,this.scaleValues[7]=n;else if(1==t){i=this.scaleValues[6],n=this.scaleValues[7];var c=new SuperMap.Geometry.Point(s.x+p*i,s.y+p*n),P=2*SuperMap.Plot.PlottingUtil.distance(c,u)/p;this.scaleValues[0]=P;var S=180*SuperMap.Plot.PlottingUtil.radian(c,u)/Math.PI;this.scaleValues[1]=S,this.scaleValues[2]=0<=S&&S<90?1:90<=S&&S<180?2:180<=S&&S<270?3:4}else if(2==t)a=(u.x-s.x)/p,this.scaleValues[8]=a,r=(u.y-s.y)/p,this.scaleValues[9]=r;else if(3==t){a=this.scaleValues[8],r=this.scaleValues[9];var h=new SuperMap.Geometry.Point(s.x+p*a,s.y+p*r),y=2*SuperMap.Plot.PlottingUtil.distance(h,u)/p;this.scaleValues[3]=y;var f=180*SuperMap.Plot.PlottingUtil.radian(h,u)/Math.PI;this.scaleValues[4]=f,this.scaleValues[5]=0<=f&&f<90?1:90<=f&&f<180?2:180<=f&&f<270?3:4}}}}]),e}();SuperMap.Plot.AlgoSymbol4011100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4010905=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.333333),l.scaleValues.push(.333333),l.scaleValues.push(.125),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23901),e}();SuperMap.Plot.AlgoSymbol4010905=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4010801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol4010800),e}();SuperMap.Plot.AlgoSymbol4010801=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4010800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){4>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l,o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),i=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var n=(l=1.5*this.getDefaultSubSymbolSize())/i;n>.2&&(n=.2),this.scaleValues[0]=n}var a=this.scaleValues[0],r=this.scaleValues[2],s=this.scaleValues[3];l=i*a;var p=new SuperMap.Geometry.Point(o.x+i*r,o.y+i*s);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,l,0);for(var u=0;u<this.components.length;u++)this.components[u].style.strokeColor="#0000ff",this.components[u].style.lineColorLimit=!0,this.components[u].style.strokeOpacity=1,this.components[u].style.color="#0000ff",this.components[u].style.opacity=1;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e),this.addScalePoint(p);var c=l,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol4010800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3032000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(-.1),l.scaleValues.push(0),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23600),e}();SuperMap.Plot.AlgoSymbol3032000=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3020901=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.125)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(2==t.length){var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=SuperMap.Plot.PlottingUtil.distance(l,o),n=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI,a=SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n+60);e.push(t[0]),e.push(o),e.push(a),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);for(var r=0;r<t.length;r++)e.push(t[r])}var s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),p=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var u=this.scaleValues[0],c=this.scaleValues[1],P=this.scaleValues[2],S=new SuperMap.Geometry.Point(s.x+p*u,s.y+p*c),h=p*P;0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],S,h,0),this.addScalePoint(S.clone());var y=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*h,.5*h,90);this.addScalePoint(y),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];if(2==l.length){var i=new SuperMap.Geometry.Point(l[0].x,l[0].y),n=new SuperMap.Geometry.Point(l[1].x,l[1].y),a=SuperMap.Plot.PlottingUtil.distance(i,n),r=180*SuperMap.Plot.PlottingUtil.radian(i,n)/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(i,a,a,r+60);o.push(l[0]),o.push(n),o.push(s),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);for(var p=0;p<l.length;p++)o.push(l[p])}var u=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),c=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)this.scaleValues[0]=(e.x-u.x)/c,this.scaleValues[1]=(e.y-u.y)/c;else if(1===t){var P=new SuperMap.Geometry.Point(u.x+c*this.scaleValues[0],u.y+c*this.scaleValues[1]),S=2*SuperMap.Plot.PlottingUtil.distance(e,P)/c;S<.5&&(this.scaleValues[2]=S)}}}}]),e}();SuperMap.Plot.AlgoSymbol3020901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010304=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="协",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010304=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010303=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="出",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010303=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6020402=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol6020400),o(e,[{key:"getSubSymbolPts",value:function(t){var e=[],l=[];l.push(new SuperMap.Geometry.Point(-t/2,0)),l.push(new SuperMap.Geometry.Point(t/2,0)),e.push(l);var o=[];return o.push(new SuperMap.Geometry.Point(0,0)),o.push(new SuperMap.Geometry.Point(0,t/2)),e.push(o),e}}]),e}();SuperMap.Plot.AlgoSymbol6020402=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6020401=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol6020400),o(e,[{key:"getSubSymbolPts",value:function(t){var e=[],l=[];l.push(new SuperMap.Geometry.Point(-t/2,0)),l.push(new SuperMap.Geometry.Point(t/2,0)),e.push(l);var o=[];return o.push(new SuperMap.Geometry.Point(0,-t/2)),o.push(new SuperMap.Geometry.Point(0,t/2)),e.push(o),e}}]),e}();SuperMap.Plot.AlgoSymbol6020401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6020400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.05));var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);2===this.controlPoints.length&&t.splice(1,0,new SuperMap.Geometry.Point(t[0].x+e,t[0].y));var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),n=e,a=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI%360,r=180*SuperMap.Plot.PlottingUtil.radian(l,i)/Math.PI%360;if(a>r&&(r+=360),!this.isEdit){var s=.5*this.getDefaultSubSymbolSize()/n;s>.1&&(s=.1),this.scaleValues[0]=s}var p=n*this.scaleValues[0],u=180*Math.atan(.5*p/n)/Math.PI,c=(r-a)/3,P=(r-a)/50,S=this.getArcPts(t[0],n,a,a+c-1.8*u,P);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=this.getArcPts(t[0],n,a+c+1.8*u,a+2*c-1.8*u,P);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=this.getArcPts(t[0],n,a+2*c+1.8*u,r,P);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var f=a+c+90,g=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e,e,a+c);this.createSubSymbol(g,p,f);var M=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e,e,a+2*c),b=a+2*c+90;this.createSubSymbol(M,p,b);var m=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e+p,e+p,a+c);this.addScalePoint(m),3===this.controlPoints.length&&(this.controlPoints[2]=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e,e,r)),this.finish()}}},{key:"getArcPts",value:function(t,e,l,o,i){void 0!==i&&null!==i||(i=1);for(var n=[],a=l;a<o;a+=i){var r=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,a);n.push(r)}var s=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,o);return n.push(s),n}},{key:"createSubSymbol",value:function(t,e,l){for(var o=this.getSubSymbolPts(e),i=0;i<o.length;i++){for(var n=o[i],a=[],r=0;r<n.length;r++){var s=SuperMap.Plot.PlottingUtil.coordinateTrans(t,n[r],l);a.push(s)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a)}}},{key:"getSubSymbolPts",value:function(t){var e=[],l=[];l.push(new SuperMap.Geometry.Point(-t/2,0)),l.push(new SuperMap.Geometry.Point(t/2,0)),e.push(l);var o=[];return o.push(new SuperMap.Geometry.Point(0,-t/2)),o.push(new SuperMap.Geometry.Point(0,0)),e.push(o),e}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);2===this.controlPoints.length&&l.splice(1,0,new SuperMap.Geometry.Point(l[0].x+o,l[0].y));var i=new SuperMap.Geometry.Point(l[0].x,l[0].y),n=new SuperMap.Geometry.Point(l[1].x,l[1].y),a=new SuperMap.Geometry.Point(l[2].x,l[2].y),r=SuperMap.Plot.PlottingUtil.distance(i,n),s=180*SuperMap.Plot.PlottingUtil.radian(i,n)/Math.PI%360,p=180*SuperMap.Plot.PlottingUtil.radian(i,a)/Math.PI%360;s>p&&(p+=360);var u=(p-s)/3,c=SuperMap.Plot.PlottingUtil.circlePoint(l[0],o,o,s+u),P=SuperMap.Plot.PlottingUtil.distance(c,e)/r;P<=.6&&(this.scaleValues[0]=P)}}}]),e}();SuperMap.Plot.AlgoSymbol6020400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010302=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="冲",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010302=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="调",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010301=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010108=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3010107),e}();SuperMap.Plot.AlgoSymbol3010108=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010107=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);0==this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.05):1==this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue(l),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var o=this.getLinePts(e,this.scaleValues[0]),i=new SuperMap.Geometry.Point((o.startPt.x+o.endPt.x)/2,(o.startPt.y+o.endPt.y)/2),n=180*SuperMap.Plot.PlottingUtil.radian(o.startPt,o.endPt)/Math.PI,a=SuperMap.Plot.PlottingUtil.distance(o.startPt,o.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],i,a,n-90);for(var r=[],s=[],p=0;p<=o.startIndex;p++)r.push(e[p]);if(r.push(o.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),o.endIndex<=e.length){s.push(o.endPt);for(var u=o.endIndex+1;u<=e.length-1;u++)s.push(e[u]);this.addArrow(s,this.scaleValues[1])}var c=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),P=SuperMap.Plot.PlottingUtil.circlePoint(c.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,n+90);this.addScalePoint(P,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol3010107=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010106=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.05):1==this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.8*this.getSubSymbolScaleValue(l),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var o=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,.3*l);if(-1!==o.index){var i=o.pt,n=o.index,a=l*this.scaleValues[0]*.5,r=SuperMap.Plot.PlottingUtil.radian(i,e[n+1])*SuperMap.Plot.PlottingUtil.RTOD,s=SuperMap.Plot.PlottingUtil.circlePoint(i,a,a,r+90),p=SuperMap.Plot.PlottingUtil.circlePoint(i,a,a,r-90),u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i,s),c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i,p);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u.pntLeft,u.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c.pntLeft,c.pntRight]);var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,.6*l);if(-1!==P.index){var S=P.pt,h=P.index,y=SuperMap.Plot.PlottingUtil.radian(S,e[h+1])*SuperMap.Plot.PlottingUtil.RTOD,f=SuperMap.Plot.PlottingUtil.circlePoint(S,a,a,y+90),g=SuperMap.Plot.PlottingUtil.circlePoint(S,a,a,y-90),M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,S,f),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,S,g);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[M.pntLeft,M.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[b.pntLeft,b.pntRight]),this.addArrow(e,this.scaleValues[1]),this.addScalePoint(g,0),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.6*i,o);if(!n.bfind)return;var a=2*SuperMap.Plot.PlottingUtil.distance(e,n.pts);this.scaleValues[0]=a/i}}}]),e}();SuperMap.Plot.AlgoSymbol3010106=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010105=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3010102),o(e,[{key:"getSubSymbolPts",value:function(t){var e=t/4,l=[];l.push(new SuperMap.Geometry.Point(-2*e,-e)),l.push(new SuperMap.Geometry.Point(e,-e));for(var o=-90;o<=90;o+=5)l.push(SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(e,0),e,e,o));return l.push(new SuperMap.Geometry.Point(e,e)),l.push(new SuperMap.Geometry.Point(-2*e,e)),l}}]),e}();SuperMap.Plot.AlgoSymbol3010105=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010104=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3010102),o(e,[{key:"getSubSymbolPts",value:function(t){var e=t/4,l=[];return l.push(new SuperMap.Geometry.Point(2*e,0)),l.push(new SuperMap.Geometry.Point(0,e)),l.push(new SuperMap.Geometry.Point(-2*e,0)),l.push(new SuperMap.Geometry.Point(0,-e)),l.push(new SuperMap.Geometry.Point(-e,-e)),l.push(new SuperMap.Geometry.Point(e,-e)),l.push(new SuperMap.Geometry.Point(0,-e)),l}}]),e}();SuperMap.Plot.AlgoSymbol3010104=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010103=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3010102),o(e,[{key:"createSubSymbol1",value:function(t,e,l){var o=this.getSubSymbolPts1(e);this.createSubSymbol(t,e,l,o)}},{key:"createSubSymbol2",value:function(t,e,l){var o=this.getSubSymbolPts2(e);this.createSubSymbol(t,e,l,o)}},{key:"getSubSymbolPts1",value:function(t){var e=t/4,l=[];return l.push(new SuperMap.Geometry.Point(-2*e,-e)),l.push(new SuperMap.Geometry.Point(2*e,-e)),l.push(new SuperMap.Geometry.Point(e,e)),l.push(new SuperMap.Geometry.Point(-2*e,e)),l}},{key:"getSubSymbolPts2",value:function(t){var e=t/4,l=[];return l.push(new SuperMap.Geometry.Point(-2*e,0)),l.push(new SuperMap.Geometry.Point(0,-e)),l.push(new SuperMap.Geometry.Point(2*e,0)),l.push(new SuperMap.Geometry.Point(0,e)),l}}]),e}();SuperMap.Plot.AlgoSymbol3010103=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010102=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.05):1==this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue(),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=e*this.scaleValues[0],i=this.getLinePts(l,this.scaleValues[0],5/14),n=this.getLinePts(l,this.scaleValues[0],9/14),a=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI;this.createSubSymbol1(a,o,r);var s=new SuperMap.Geometry.Point((n.startPt.x+n.endPt.x)/2,(n.startPt.y+n.endPt.y)/2),p=180*SuperMap.Plot.PlottingUtil.radian(n.startPt,n.endPt)/Math.PI;this.createSubSymbol2(s,o,p);var u=SuperMap.Plot.PlottingUtil.circlePoint(s,.5*o,.5*o,p+90);this.addScalePoint(u);for(var c=[],P=[],S=[],h=0;h<=i.startIndex;h++)c.push(l[h]);if(c.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),i.endIndex<=n.startIndex){P.push(i.endPt);for(var y=i.endIndex+1;y<=n.startIndex;y++)P.push(l[y]);P.push(n.startPt),2===l.length&&SuperMap.Plot.PlottingUtil.distance(l[0],i.endPt)<=SuperMap.Plot.PlottingUtil.distance(l[0],n.startPt)&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),l.length>2&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P)}S.push(n.endPt);for(var f=n.endIndex+1;f<l.length;f++)S.push(l[f]);this.addArrow(S,this.scaleValues[1]),this.finish()}}},{key:"createSubSymbol1",value:function(t,e,l){var o=this.getSubSymbolPts(e);this.createSubSymbol(t,e,l,o)}},{key:"createSubSymbol2",value:function(t,e,l){var o=this.getSubSymbolPts(e);this.createSubSymbol(t,e,l,o)}},{key:"createSubSymbol",value:function(t,e,l,o){for(var i=[],n=0;n<o.length;n++){var a=SuperMap.Plot.PlottingUtil.coordinateTrans(t,o[n],l);i.push(a)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,i)}},{key:"getSubSymbolPts",value:function(t){var e=t/2,l=[];return l.push(new SuperMap.Geometry.Point(-2*e,0)),l.push(new SuperMap.Geometry.Point(0,-e)),l.push(new SuperMap.Geometry.Point(2*e,0)),l.push(new SuperMap.Geometry.Point(0,e)),l}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(9*i/14,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;a<=.3&&(this.scaleValues[0]=a)}}}]),e}();SuperMap.Plot.AlgoSymbol3010102=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2890001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.05),l.scaleValues.push(180)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){3!==this.scaleValues.length&&(this.scaleValues=[.5,.05,180]);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var a=l*o,r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(-1!==r.index){for(var s=[],p=0;p<=r.index;p++)s.push(e[p]);var u,c,P,S,h=l*i,y=[];if(a-SuperMap.Plot.PlottingUtil.polylineDistance(s)>(h*=.5)){u=SuperMap.Plot.PlottingUtil.linePnt(r.pts,e[r.index],h),s.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),c=SuperMap.Plot.PlottingUtil.linePnt(r.pts,e[r.index+1],h),y.push(c);for(var f=e.length,g=r.index+1;g<f;++g)y.push(e[g])}else{for(var M=-1,b=s.length-1;b>=0;b--)if(P=new SuperMap.Geometry.Point(s[b].x,s[b].y),S=new SuperMap.Geometry.Point(r.pts.x,r.pts.y),SuperMap.Plot.PlottingUtil.distance(P,S)>h){M=b;break}if(-1===M)return;s.splice(M+1,s.length-1-M),u=SuperMap.Plot.PlottingUtil.linePnt(r.pts,e[M],h),s.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var m=-1,d=r.index;d<e.length;d++)if(P=new SuperMap.Geometry.Point(e[d].x,e[d].y),S=new SuperMap.Geometry.Point(r.pts.x,r.pts.y),SuperMap.Plot.PlottingUtil.distance(P,S)>h){m=d;break}if(-1===m)return;c=SuperMap.Plot.PlottingUtil.linePnt(r.pts,e[m],h),y.push(c);for(var v=m+1;v<e.length;++v)y.push(e[v])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var O=y[0],U=s[s.length-1],w=new SuperMap.Geometry.Point((O.x+U.x)/2,(O.y+U.y)/2);r.x=w.x,r.y=w.y;var L=h,V=new SuperMap.Geometry.Point(.5*L,L),_=new SuperMap.Geometry.Point(.5*L,-L),T=new SuperMap.Geometry.Point(-.5*L,-L),A=new SuperMap.Geometry.Point(-.5*L,L),E=[],x=SuperMap.Plot.PlottingUtil.coordinateTrans(w,V,n),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(w,_,n),j=SuperMap.Plot.PlottingUtil.coordinateTrans(w,T,n),C=SuperMap.Plot.PlottingUtil.coordinateTrans(w,A,n);E.push(x),E.push(Y),E.push(j),E.push(C),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,E);var I=new SuperMap.Geometry.Point(0,-2*L),G=new SuperMap.Geometry.Point(.15*L,-1.6*L),B=new SuperMap.Geometry.Point(-.15*L,-1.6*L),R=SuperMap.Plot.PlottingUtil.coordinateTrans(w,I,n),N=SuperMap.Plot.PlottingUtil.coordinateTrans(w,G,n),D=SuperMap.Plot.PlottingUtil.coordinateTrans(w,B,n),k=[];k.push(R),k.push(N),k.push(D);var z={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.NONE};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,k,z);var F=new SuperMap.Geometry.Point(0,-L),K=SuperMap.Plot.PlottingUtil.coordinateTrans(w,F,n);(k=[]).push(K),k.push(R),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,k),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],w,1.5*L,n+90);for(var q=.02*l,W=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(q,e[1],e[0]),J=.5*SuperMap.Plot.PlottingUtil.distance(e[0],W.pntLeft),Z=new SuperMap.Geometry.Point((e[0].x+W.pntLeft.x)/2,(e[0].y+W.pntLeft.y)/2),H=SuperMap.Plot.PlottingUtil.radian(e[1],e[0])*SuperMap.Plot.PlottingUtil.RTOD,Q=[],X=270+H;X<=360+H;X+=5)Q.push(SuperMap.Plot.PlottingUtil.circlePoint(Z,J,J,X));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Q),V=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(q,e[e.length-2],e[e.length-1]);for(var $=new SuperMap.Geometry.Point((e[e.length-1].x+V.pntRight.x)/2,(e[e.length-1].y+V.pntRight.y)/2),tt=SuperMap.Plot.PlottingUtil.radian(e[e.length-1],V.pntRight)*SuperMap.Plot.PlottingUtil.RTOD,et=[],lt=90+tt;lt<=180+tt;lt+=5)et.push(SuperMap.Plot.PlottingUtil.circlePoint($,J,J,lt));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,et),this.scalePoints=[],this.addScalePoint(w,0);var ot=new SuperMap.Geometry.Point(0,-2*h),it=SuperMap.Plot.PlottingUtil.coordinateTrans(w,ot,this.scaleValues[2]);this.addScalePoint(it,1),this.finish()}}}},{key:"GetSymbolPt",value:function(){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){3!==this.scaleValues.length&&(this.scaleValues=[.5,.05,0]);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=this.scaleValues[0],i=this.scaleValues[1],n=l*o,a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,e);if(-1!==a.index){for(var r=[],s=0;s<=a.index;s++)r.push(e[s]);var p,u,c,P,S=l*i,h=[];if(n-SuperMap.Plot.PlottingUtil.polylineDistance(r)>(S*=.5)){p=SuperMap.Plot.PlottingUtil.linePnt(a.pts,e[a.index],S),r.push(p),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),u=SuperMap.Plot.PlottingUtil.linePnt(a.pts,e[a.index+1],S),h.push(u);for(var y=e.length,f=a.index+1;f<y;++f)h.push(e[f])}else{for(var g=-1,M=r.length-1;M>=0;M--)if(c=new SuperMap.Geometry.Point(r[M].x,r[M].y),P=new SuperMap.Geometry.Point(a.pts.x,a.pts.y),SuperMap.Plot.PlottingUtil.distance(c,P)>S){g=M;break}if(-1===g)return;r.splice(g+1,r.length-1-g),p=SuperMap.Plot.PlottingUtil.linePnt(a.pts,e[g],S),r.push(p);for(var b=-1,m=a.index;m<e.length;m++)if(c=new SuperMap.Geometry.Point(e[m].x,e[m].y),P=new SuperMap.Geometry.Point(a.pts.x,a.pts.y),SuperMap.Plot.PlottingUtil.distance(c,P)>S){b=m;break}if(-1===b)return;u=SuperMap.Plot.PlottingUtil.linePnt(a.pts,e[b],S),h.push(u);for(var d=b+1;d<e.length;++d)h.push(e[d])}var v=h[0],O=r[r.length-1];return new SuperMap.Geometry.Point((v.x+O.x)/2,(v.y+O.y)/2)}}}},{key:"computeScaleValues",value:function(t,e){if((0===t||1===t)&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){i=new SuperMap.Geometry.Point(e.x,e.y);for(var s=[],p=0;p<o.length;p++)s.push(o[p]);for(var u=-1,c=0,P=new SuperMap.Geometry.Point(0,0),S=0;S<s.length-1;S++){var h=[];h.push(s[S]),h.push(s[S+1]);var y=SuperMap.Plot.PlottingUtil.projectPoint(i,s[S],s[S+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(y,h).index){var f=SuperMap.Plot.PlottingUtil.distance(i,y);-1===u?(u=S,P=y,c=f):c>f&&(u=S,P=y,c=f)}}if(-1===u||u>s.length-1)return;n=0;for(var g=0;g<u;g++){var M=new SuperMap.Geometry.Point(o[g].x,o[g].y),b=new SuperMap.Geometry.Point(o[g+1].x,o[g+1].y);n+=SuperMap.Plot.PlottingUtil.distance(M,b)}var m=new SuperMap.Geometry.Point(o[u].x,o[u].y);a=(n+=SuperMap.Plot.PlottingUtil.distance(m,P))/r;var d=.4-this.scaleValues[1]+.5,v=.5-(.4-this.scaleValues[1]);a>=d&&(a=d),a<=v&&(a=v),this.scaleValues[0]=a}else if(1===t){i=new SuperMap.Geometry.Point(e.x,e.y);var O=this.GetSymbolPt();a=(n=SuperMap.Plot.PlottingUtil.distance(i,O))/r;var U=this.scaleValues[0]<.4?this.scaleValues[0]:1-this.scaleValues[0];a>=U&&(a=U),this.scaleValues[1]=a;var w=SuperMap.Plot.PlottingUtil.radian(O,i)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[2]=w-270}}}}]),e}();SuperMap.Plot.AlgoSymbol2890001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2350001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(0),l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(-.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){4>=this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(0),this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(-.05));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var i=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[0]=i/o*.8,this.scaleValues[3]=i/o*.8}var n=this.scaleValues[0],a=this.scaleValues[1],r=this.scaleValues[3],s=this.scaleValues[4],p=this.scaleValues[6],u=this.scaleValues[7],c=this.scaleValues[8],P=this.scaleValues[9],S=new SuperMap.Geometry.Point(l.x+o*p,l.y+o*u),h=new SuperMap.Geometry.Point(l.x+o*c,l.y+o*P),y=o*n,f=a;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,y,f);var g=o*r,M=s;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],h,g,M),this.addScalePoint(S);var b=SuperMap.Plot.PlottingUtil.circlePoint(S,y,y,f);this.addScalePoint(b),this.addScalePoint(h);var m=SuperMap.Plot.PlottingUtil.circlePoint(h,g,g,M);this.addScalePoint(m),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(0),this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(-.05));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r,s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),p=SuperMap.Plot.PlottingUtil.polylineDistance(o),u=e;if(0==t)i=(u.x-s.x)/p,this.scaleValues[6]=i,n=(u.y-s.y)/p,this.scaleValues[7]=n;else if(1==t){i=this.scaleValues[6],n=this.scaleValues[7];var c=new SuperMap.Geometry.Point(s.x+p*i,s.y+p*n),P=SuperMap.Plot.PlottingUtil.distance(c,u)/p;this.scaleValues[0]=P;var S=180*SuperMap.Plot.PlottingUtil.radian(c,u)/Math.PI;this.scaleValues[1]=S,this.scaleValues[2]=0<=S&&S<90?1:90<=S&&S<180?2:180<=S&&S<270?3:4}else if(2==t)a=(u.x-s.x)/p,this.scaleValues[8]=a,r=(u.y-s.y)/p,this.scaleValues[9]=r;else if(3==t){a=this.scaleValues[8],r=this.scaleValues[9];var h=new SuperMap.Geometry.Point(s.x+p*a,s.y+p*r),y=SuperMap.Plot.PlottingUtil.distance(h,u)/p;this.scaleValues[3]=y;var f=180*SuperMap.Plot.PlottingUtil.radian(h,u)/Math.PI;this.scaleValues[4]=f,this.scaleValues[5]=0<=f&&f<90?1:90<=f&&f<180?2:180<=f&&f<270?3:4}}}}]),e}();SuperMap.Plot.AlgoSymbol2350001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol44400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=0,l.scaleValues[1]=0,l.scaleValues[2]=.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues[0]=0,this.scaleValues[1]=0,this.scaleValues[2]=.1),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t,{fill:!1});var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],a=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),r=new SuperMap.Geometry.Point(a.x+1,a.y),s=[];t.push(t[0].clone());for(var p=0;p<t.length-1;p++){var u=SuperMap.Plot.PlottingUtil.intersectLines(a,r,t[p],t[p+1]);u.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(u.intersectPoint,t[p],t[p+1])&&s.push(u.intersectPoint))}if(!(0>=s.length)){var c=s[0].clone(),P=s[0].clone();for(p=0;p<s.length;p++)c.x>s[p].x&&(c=s[p].clone()),P.x<s[p].x&&(P=s[p].clone());var S=[],h=new SuperMap.Geometry.Point(a.x-n/2,c.y);h.x<=P.x&&h.x>=c.x&&((S=[]).push(c),S.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S));var y=new SuperMap.Geometry.Point(a.x+n/2,P.y);y.x<=P.x&&y.x>=c.x&&((S=[]).push(P),S.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S)),this.scalePoints=[];var f=SuperMap.Plot.PlottingUtil.circlePoint(a,n/2,n/2,90);if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,a))return this.addScalePoint(a,0),this.addScalePoint(f,1),a.x<c.x?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c,a]):this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,a]),void this.finish();this.addScalePoint(a,0),this.addScalePoint(f,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;if(0===SuperMap.Plot.PlottingUtil.getOutRectangleDis(l))return;var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),r=e;if(0==t&&(o=(r.x-a.x)/n,this.scaleValues[0]=o,i=(r.y-a.y)/n,this.scaleValues[1]=i),1==t){o=this.scaleValues[0],i=this.scaleValues[1];var s=new SuperMap.Geometry.Point(a.x+o*n,a.y+i*n),p=2*SuperMap.Plot.PlottingUtil.distance(r,s)/n;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol44400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol44300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var i=this.scaleValues[0],n=this.scaleValues[2],a=this.scaleValues[3];l.x=l.x+n*o,l.y=l.y+a*o;var r=o*i,s=SuperMap.Plot.PlottingUtil.circlePoint(l,r,r,90),p=SuperMap.Plot.PlottingUtil.circlePoint(l,r,r,210),u=SuperMap.Plot.PlottingUtil.circlePoint(l,r,r,330),c=[];c.push(s),c.push(p),c.push(u),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,c,{lineTypeLimit:!0,lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,surroundLineLimit:!0,fillLimit:!0,fill:!0}),this.scalePoints=[],this.addScalePoint(s),this.addScalePoint(l),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=[];if(o=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0===t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1===t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol44300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol44200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.05),l.scaleValues.push(180)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=this.GetGoPts();if(!(t.length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.05),this.scaleValues.push(180));var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[1]=o}var i=this.scaleValues[0],n=this.scaleValues[1],a=this.scaleValues[2],r=l*i,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r,e);if(s.bfind){var p=s.index,u=s.pts,c=u,P=n*l,S=new SuperMap.Geometry.Point(P,-.5*P),h=new SuperMap.Geometry.Point(P,.5*P),y=new SuperMap.Geometry.Point(-P,.5*P),f=new SuperMap.Geometry.Point(-P,-.5*P),g=SuperMap.Plot.PlottingUtil.coordinateTrans(c,S,a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(c,h,a),b=SuperMap.Plot.PlottingUtil.coordinateTrans(c,y,a),m=SuperMap.Plot.PlottingUtil.coordinateTrans(c,f,a),d=[];d.push(g),d.push(M),d.push(b),d.push(m),d.push(g),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d);var v=new SuperMap.Geometry.Point(.5*P,-.2*P),O=new SuperMap.Geometry.Point(.7*P,.2*P),U=new SuperMap.Geometry.Point(.3*P,.2*P),w=SuperMap.Plot.PlottingUtil.coordinateTrans(c,v,a),L=SuperMap.Plot.PlottingUtil.coordinateTrans(c,U,a),V=SuperMap.Plot.PlottingUtil.coordinateTrans(c,O,a),_=[];_.push(w),_.push(L),_.push(V),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,_,{lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,fillLimit:!0,fill:!0});var T=new SuperMap.Geometry.Point(P,0),A=new SuperMap.Geometry.Point(2*P,0),E=SuperMap.Plot.PlottingUtil.coordinateTrans(c,T,a),x=SuperMap.Plot.PlottingUtil.coordinateTrans(c,A,a);(_=[]).push(E),_.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_);var Y=new SuperMap.Geometry.Point(2*P,.15*P),j=new SuperMap.Geometry.Point(2*P,-.15*P),C=new SuperMap.Geometry.Point(2.6*P,0),I=SuperMap.Plot.PlottingUtil.coordinateTrans(c,Y,a),G=SuperMap.Plot.PlottingUtil.coordinateTrans(c,j,a),B=SuperMap.Plot.PlottingUtil.coordinateTrans(c,C,a);(_=[]).push(I),_.push(G),_.push(B),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,_,{fillLimit:!0,fill:!0});var R=[];R.push(I),R.push(B);var N,D=[],k=[];for(N=0;N<=p;N++)D.push(e[N]);for(D.push(c),k.push(c),N=p+1;N<e.length;N++)k.push(e[N]);var z,F,K=1.2*P;if(r>K){var q=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r-K,D);if(q.bfind){var W=q.pts,J=q.index;for(_=[],N=0;N<=J;N++)_.push(D[N]);_.push(W),z=SuperMap.Plot.PlottingUtil.radian(_[0],_[1])*SuperMap.Plot.PlottingUtil.RTOD,F=SuperMap.Plot.PlottingUtil.circlePoint(_[0],.1*P,.1*P,90+z),_.splice(0,0,F),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_)}}if(l-r>K){var Z=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(K,k);if(Z.bfind){var H=Z.pts,Q=Z.index;for((_=[]).push(H),N=Q+1;N<k.length;N++)_.push(k[N]);var X=_.length;z=SuperMap.Plot.PlottingUtil.radian(_[X-1],_[X-2])*SuperMap.Plot.PlottingUtil.RTOD,F=SuperMap.Plot.PlottingUtil.circlePoint(_[X-1],.1*P,.1*P,270+z),_.push(F),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_)}}this.scalePoints=[],this.addScalePoint(u),this.addScalePoint(x),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0==t){for(var r=e.clone(),s=-1,p=0,u=0;u<o.length-1;u++){var c=[];c.push(o[u]),c.push(o[u+1]);var P=SuperMap.Plot.PlottingUtil.projectPoint(r,o[u],o[u+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(P,c).isOnPolyLine){var S=SuperMap.Plot.PlottingUtil.distance(r,P);-1==s?(s=u,p=S):p>S&&(s=u,p=S)}}if(-1==s)return SuperMap.Plot.PlottingUtil.distance(r,o[0])>SuperMap.Plot.PlottingUtil.distance(r,o[o.length-1])?void(s=o.length-1):void(s=0);if(i=0,0===s)i=SuperMap.Plot.PlottingUtil.distance(o[0],P);else for(var h=0;h<s;h++)i+=SuperMap.Plot.PlottingUtil.distance(o[h],o[h+1]);if(i<0||i>a)return;n=i/a,this.scaleValues[0]=n}else if(1==t){i=this.scaleValues[0]*a;var y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,o);if(!y.bfind)return;var f=y.pts;(n=.5*SuperMap.Plot.PlottingUtil.distance(f,e)/a)>.3&&(n=.3),this.scaleValues[1]=n;var g=SuperMap.Plot.PlottingUtil.radian(f,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[2]=g}}}},{key:"GetGoPts",value:function(){var t=[];return this.controlPoints.length<this.minEditPts?t:(t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),1==(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length&&(t=[]),t)}}]),e}();SuperMap.Plot.AlgoSymbol44200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol44100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.105263),l.scaleValues.push(.181818),l.scaleValues.push(.285714),l.scaleValues.push(.285714)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<5&&(this.scaleValues=[],this.scaleValues.push(.285714),this.scaleValues.push(.105263),this.scaleValues.push(.181818),this.scaleValues.push(.285714),this.scaleValues.push(.285714));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,g=[];g.push(a),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(n);for(var M=[],b=0;b<g.length;b++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[b],f);M.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var d=[],v=.06*o,O=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(v,l,e),U=O.pntRight,w=O.pntLeft;d.push(U),d.push(w),v=.15*o;var L=new SuperMap.Geometry.Point(v,0),V=SuperMap.Plot.PlottingUtil.coordinateTrans(e,L,f);d.push(V),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d,{lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,fillLimit:!0,fill:!0}),this.scalePoints=[],this.addScalePoint(M[0]),this.addScalePoint(M[1]),this.addScalePoint(M[2]),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),a=l[1].clone(),r=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(r,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var p=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var c=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol44100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol43500=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),o=[];for(e=15;e<=75;e+=5)o.push(SuperMap.Plot.PlottingUtil.circlePoint(t[0],l,l,e));for(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),o=[],e=105;e<=165;e+=5)o.push(SuperMap.Plot.PlottingUtil.circlePoint(t[0],l,l,e));for(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),o=[],e=195;e<=255;e+=5)o.push(SuperMap.Plot.PlottingUtil.circlePoint(t[0],l,l,e));for(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),o=[],e=285;e<=345;e+=5)o.push(SuperMap.Plot.PlottingUtil.circlePoint(t[0],l,l,e));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);var i,n,a,r,s,p=.2*l,u=new SuperMap.Geometry.Point(t[0].x-p,t[0].y),c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,t[0],u);i=c.pntRight,n=c.pntLeft,a=(c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*p,i,n)).pntLeft;var P=new SuperMap.Geometry.Point(i.x+2*p,i.y);r=(c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,i,P)).pntRight,s=c.pntLeft,(o=[]).push(a),o.push(n),o.push(i),o.push(s),o.push(r),o.push(i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o,{fillLimit:!0,lineTypeLimit:!0,surroundLineLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol43500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.04),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){2==t.length?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t,{fill:!1});var e,l,o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),i=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.2*this.getSubSymbolScaleValue()),l=i*this.scaleValues[0];var n=i*this.scaleValues[0],a=n+l;e=new SuperMap.Geometry.Point(o.x,o.y+a);var r=[];r.push(e),r.push(new SuperMap.Geometry.Point(e.x+l,e.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,r);var s=new SuperMap.Geometry.Point(o.x,o.y+.8*n),p=new SuperMap.Geometry.Point(o.x-n,o.y-n),u=new SuperMap.Geometry.Point(o.x+n,o.y-n);(r=[]).push(s),r.push(p),r.push(u),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r,{fillLimit:!0,fill:!0});var c=new SuperMap.Geometry.Point(o.x-.5*n,o.y-n),P=new SuperMap.Geometry.Point(p.x,p.y-2*l),S=new SuperMap.Geometry.Point(o.x+.5*n,o.y-n),h=new SuperMap.Geometry.Point(u.x,u.y-2*l);(r=[]).push(c),r.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),(r=[]).push(S),r.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol42700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.285714),l.scaleValues.push(.5),l.scaleValues.push(.333333),l.scaleValues.push(.333333)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.285714),this.scaleValues.push(.285714),this.scaleValues.push(.5),this.scaleValues.push(.333333));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,g=[];g.push(a),g.push(u),g.push(h),g.push(y),g.push(S),g.push(p),g.push(n);for(var M=[],b=0;b<g.length;b++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[b],f);M.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var d,v,O,U=!0;e.x>l.x&&(U=!1);var w,L=(O=.1*o)+(v=.12*o/2);d=1==U?(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,l,e)).pntRight:(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,l,e)).pntLeft;var V,_,T,A,E,x,Y,j,C=[];C.push(d),C.push(new SuperMap.Geometry.Point(d.x+v,d.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,C),1==U?(V=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.85*O,l,e)).pntRight,A=w.pntLeft,_=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,V,A)).pntRight,T=w.pntLeft):(V=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.85*O,l,e)).pntLeft,A=w.pntRight,_=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,V,A)).pntLeft,T=w.pntRight),(C=[]).push(V),C.push(_),C.push(T),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,C,{fillLimit:!0,fill:!0}),w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*v,_,T),j=1==U?w.pntRight:w.pntLeft,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*v,T,_),x=1==U?w.pntLeft:w.pntRight;var I=SuperMap.Plot.PlottingUtil.intersectLines(V,x,T,_);I.isIntersectLines&&(E=I.intersectPoint,(I=SuperMap.Plot.PlottingUtil.intersectLines(V,j,T,_)).isIntersectLines&&(Y=I.intersectPoint,(C=[]).push(E),C.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C),(C=[]).push(Y),C.push(j),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C),this.scalePoints=[],this.addScalePoint(M[0]),this.addScalePoint(M[1]),this.addScalePoint(M[2]),this.finish()))}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),a=l[1].clone(),r=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(r,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var p=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var c=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol42500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=.5*i}var n=l*this.scaleValues[0],a=l*this.scaleValues[2],r=l*this.scaleValues[3],s=[];s.push(new SuperMap.Geometry.Point(o.x+a,o.y+r)),s.push(new SuperMap.Geometry.Point(o.x+a+n,o.y+r)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,s,{fill:!1}),this.scalePoints=[],this.addScalePoint(new SuperMap.Geometry.Point(o.x+a+n,o.y+r)),this.addScalePoint(new SuperMap.Geometry.Point(o.x+a,o.y+r)),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=[];if(o=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol42400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{fillLimit:!0,fill:!1,surroundLineFlag:!1});var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],a=this.scaleValues[2],r=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*a,l.y+o*r);if(this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0){if(this.subSymbols[0].symbolData)for(var u in this.subSymbols[0].symbolData.innerCells)this.subSymbols[0].symbolData.innerCells[u].type===SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL&&(this.subSymbols[0].symbolData.innerCells[u].type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL);this.computeSubSymbol(this.subSymbols[0],p,s,0)}this.addScalePoint(p);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),r=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-a.x)/r,this.scaleValues[2]=i,n=(e.y-a.y)/r,this.scaleValues[3]=n;else if(1===t){i=this.scaleValues[2],n=this.scaleValues[3];var s=new SuperMap.Geometry.Point(a.x+r*i,a.y+r*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/r;this.scaleValues[0]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol42200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(0!=e){var l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],a=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(r.x+i*e,r.y+n*e),p=a*e,u=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,270),c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,30),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,150),S=[];S.push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{fill:!1,lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(h),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),r=e;if(0==t)i=(r.x-a.x)/o,this.scaleValues[0]=i,n=(r.y-a.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(a.x+i*o,a.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(r,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(0!==e){var l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],a=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(r.x+i*e,r.y+n*e),p=a*e,u=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90),c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,210),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,330),S=[];S.push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{fill:!1,lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(h),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),r=e;if(0==t)i=(r.x-a.x)/o,this.scaleValues[0]=i,n=(r.y-a.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(a.x+i*o,a.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(r,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],a=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(r.x+i*e,r.y+n*e),p=a*e,u=new SuperMap.Geometry.Point(s.x,s.y),c=new SuperMap.Geometry.Point(s.x-p,s.y-p),P=new SuperMap.Geometry.Point(s.x+p,s.y-p),S=new SuperMap.Geometry.Point(s.x-p,s.y+p),h=new SuperMap.Geometry.Point(s.x+p,s.y+p),y=[];y.push(u),y.push(c),y.push(P),y.push(u),y.push(S),y.push(h),y.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y,{lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var f=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),r=e;if(0==t)i=(r.x-a.x)/o,this.scaleValues[0]=i,n=(r.y-a.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(a.x+i*o,a.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(r,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.5),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&this.scaleValues.push(.5);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=e/l/2,i=.1*e;this.isEdit||(this.scaleValues[0]=o);var n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l*this.scaleValues[0]-.4*e,t);if(n.bfind){var a=n.pts,r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l*this.scaleValues[0]+.4*e,t);if(r.bfind){var s=r.pts,p=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l*this.scaleValues[0]-.3*e,t);if(p.bfind){var u=p.pts,c=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l*this.scaleValues[0]+.3*e,t);if(c.bfind){var P=c.pts,S=0,h=0,y=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(a,t);y.isOnPolyLine&&(S=y.index);var f=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(s,t);f.isOnPolyLine&&(h=f.index);var g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l*this.scaleValues[0],t);if(g.bfind){var M=g.pts,b=[];if(b.push(u),S!==h)for(var m=S+1;m<=h;m++)b.push(t[m]);b.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);for(var d=[],v=0;v<=n.index;v++)d.push(t[v]);d.push(a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var O=[];if(r.index<=t.length){O.push(s);for(var U=r.index+1;U<=t.length-1;U++)O.push(t[U])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O);for(var w=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(M,b),L=0,V=0;V<w.index;V++)L+=SuperMap.Plot.PlottingUtil.distance(b[V],b[V+1]);L+=SuperMap.Plot.PlottingUtil.distance(M,b[w.index]);var _=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(L-.1,b);if(_.bfind){var T=_.pts,A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.42*e,T,M),E=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.48*e,T,M),x=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.6*e,T,M),Y=A.pntLeft,j=E.pntLeft,C=x.pntLeft;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[M,Y]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[j,C]);var I=SuperMap.Plot.PlottingUtil.polylineDistance([j,C]),G=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*I,j,C).pntRight;if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[C,G]),t.length>this.minEditPts){for(var B,R,N,D,k,z,F,K,q,W=1;W<t.length-1;W++){for(B=t[W],R=t[W+1],N=t[W-1],k=180*SuperMap.Plot.PlottingUtil.radian(B,R)/Math.PI,z=180*SuperMap.Plot.PlottingUtil.radian(B,N)/Math.PI-k;z<0;)z+=360;D=z/2,F=t[W+1].clone(),F=SuperMap.Plot.PlottingUtil.rotateAngle(B,D*Math.PI/180,F),K=SuperMap.Plot.PlottingUtil.linePnt(B,F,i),(q=[]).push(t[W]),q.push(K),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,q,null,!0)}var J=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[t.length-2],t[t.length-1]),Z=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],t[0]),H=J.pntLeft,Q=Z.pntRight;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],Q]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[t.length-1],H])}else{var X=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[0],t[1]),$=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],t[0]),tt=X.pntLeft,et=$.pntRight;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],et]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[1],tt])}this.addScalePoint(M,0),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(l.length<this.minEditPts)return;for(var i=-1,n=0,a=new SuperMap.Geometry.Point(0,0),r=0;r<l.length-1;r++){var s=[];s.push(l[r]),s.push(l[r+1]);var p=SuperMap.Plot.PlottingUtil.projectPoint(e,l[r],l[r+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(p,s).isOnPolyLine){var u=SuperMap.Plot.PlottingUtil.distance(e,p);-1===i?(i=r,a=p,n=u):n>u&&(i=r,a=p,n=u)}}if(-1===i||i>l.length-1)return;for(var c=0,P=0;P<i;P++)c+=SuperMap.Plot.PlottingUtil.distance(l[P],l[P+1]);var S=l[i];if((c+=SuperMap.Plot.PlottingUtil.distance(S,a))<0||c>o)return;var h=c/o,y=SuperMap.Plot.PlottingUtil.distance(l[0],l[1])/o;h<.4*y&&(h=.4*y),h>1-.4*y&&(h=1-.4*y),this.scaleValues[0]=h}}}]),e}();SuperMap.Plot.AlgoSymbol41100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40900=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[],l=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(t.length<3)e.push(t[0]),e.push(t[1]);else{var o=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=o.scaleValues;for(var i=0;i<o.scalePoints.length;i++)this.addScalePoint(o.scalePoints[i]);e=o.beizerPoints}SuperMap.Plot.PlottingUtil.clearSamePts(e);var n=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(this.getSubSymbolScaleValue())),!(e.length<=0)){var a;a=2==t.length?0:t.length-1;var r=n*this.scaleValues[4*a],s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r,e);if(s.bfind){var p=s.index,u=s.pts,c=l*this.scaleValues[4*a+1],P=r-c,S=r+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var M=[];for(M.push(g),h=p+1;h<e.length;h++)M.push(e[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[u,g]);var b=l*this.scaleValues[4*a+1]/1.667;if(!(f.length<2)){var m=f[0],d=f[1],v=SuperMap.Plot.PlottingUtil.radian(m,d)*SuperMap.Plot.PlottingUtil.RTOD,O=SuperMap.Plot.PlottingUtil.circlePoint(m,b,b,v+90),U=SuperMap.Plot.PlottingUtil.circlePoint(m,b,b,v+270),w=[];if(w.push(O),w.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),!(M.length<2)){var L=M[M.length-1],V=M[M.length-2],_=SuperMap.Plot.PlottingUtil.radian(L,V)*SuperMap.Plot.PlottingUtil.RTOD,T=SuperMap.Plot.PlottingUtil.circlePoint(L,b,b,_+90),A=SuperMap.Plot.PlottingUtil.circlePoint(L,b,b,_+270);(w=[]).push(T),w.push(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),this.addScalePoint(u),this.addScalePoint(O),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var a,r=e,s=[];for(a=0;a<o.length;a++)s.push(o[a]);var p,u=-1,c=0;for(a=0;a<s.length-1;a++){var P=[];P.push(s[a]),P.push(s[a+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(r,s[a],s[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(r,S);-1==u?(u=a,p=S,c=h):c>h&&(u=a,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(a=0;a<u;a++){var f=o[a],g=o[a+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var M=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(M,p))<0||y>n)return;var b=y/n;if(b>.8||b<.2)return;2==l.length?this.scaleValues[0]=b:this.scaleValues[2*t]=b}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol40900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=.2*i}var n=l*this.scaleValues[0],a=l*this.scaleValues[2],r=l*this.scaleValues[3],s=new SuperMap.Geometry.Point(o.x+a,o.y+r),p=[];p.push(s),p.push(new SuperMap.Geometry.Point(s.x+n,s.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,p,{fillLimit:!0,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0});for(var u=18*n,c=new SuperMap.Geometry.Point(s.x+u,s.y),P=[],S=135;S<180;S+=3)P.push(SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,S));P.push(SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,180)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[];var h=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,0);this.addScalePoint(h),this.addScalePoint(s),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol40101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=.4*i}var n=l*this.scaleValues[0],a=l*this.scaleValues[2],r=l*this.scaleValues[3],s=new SuperMap.Geometry.Point(o.x+a,o.y+r),p=.6*n,u=new SuperMap.Geometry.Point(s.x+n,s.y),c=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,0),P=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,180),S=[];S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0});var h=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,90),y=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,270);(S=[]).push(h),S.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0});var f=new SuperMap.Geometry.Point(s.x-n,s.y),g=SuperMap.Plot.PlottingUtil.circlePoint(f,.5*n,.5*n,270),M=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,240),b=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,90),m=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,300);(S=[]).push(g),S.push(M),S.push(b),S.push(m),S.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0}),this.scalePoints=[];var d=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,0);this.addScalePoint(d),this.addScalePoint(s),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol40100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40000=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[];if(t.length<3)e.push(t[0]),e.push(t[1]);else{var l=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=l.scaleValues;for(var o=0;o<l.scalePoints.length;o++)this.addScalePoint(l.scalePoints[o]);e=l.beizerPoints}if(SuperMap.Plot.PlottingUtil.clearSamePts(e),!(e.length<=0)){this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(.5*this.getSubSymbolScaleValue()));var i=0;t.length>2&&(i=t.length-1);var n=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=SuperMap.Plot.PlottingUtil.polylineDistance(e)*this.scaleValues[4*i],r=n*this.scaleValues[4*i+1]/1.667,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=3.6*r,P=a-c,S=a+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var M=[];for(M.push(g),h=p+1;h<e.length;h++)M.push(e[h]);var b={lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1};if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f,b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M,b),!(f.length<2)){var m=f[0],d=f[1],v=SuperMap.Plot.PlottingUtil.radian(m,d)*SuperMap.Plot.PlottingUtil.RTOD,O=SuperMap.Plot.PlottingUtil.circlePoint(m,r,r,v+90),U=SuperMap.Plot.PlottingUtil.circlePoint(m,r,r,v+270),w=[];if(w.push(O),w.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w,b),!(M.length<2)){var L=M[M.length-1],V=M[M.length-2],_=SuperMap.Plot.PlottingUtil.radian(L,V)*SuperMap.Plot.PlottingUtil.RTOD,T=SuperMap.Plot.PlottingUtil.circlePoint(L,r,r,_+90),A=SuperMap.Plot.PlottingUtil.circlePoint(L,r,r,_+270);(w=[]).push(T),w.push(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w,b);var E=SuperMap.Plot.PlottingUtil.radian(y,g)*SuperMap.Plot.PlottingUtil.RTOD,x=.8*SuperMap.Plot.PlottingUtil.distance(y,g),Y=new SuperMap.Geometry.Point((y.x+g.x)/2,(y.y+g.y)/2);if(this.subSymbols.length>0){var j=this.computeSubSymbol(this.subSymbols[0],Y,x,E);if(null!=j)for(var C=0;C<j.length;C++)j[C].style.lineColorLimit=!0,j[C].style.strokeColor="#0000ff",j[C].style.color="#0000ff"}var I=SuperMap.Plot.PlottingUtil.findPointInLine(y,g,.4*x),G=SuperMap.Plot.PlottingUtil.circlePoint(I,.75*x,.75*x,E+135),B=SuperMap.Plot.PlottingUtil.circlePoint(I,.75*x,.75*x,E+315),R=SuperMap.Plot.PlottingUtil.distance(G,B);(w=[]).push(G),w.push(B),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w);var N=SuperMap.Plot.PlottingUtil.findPointInLine(G,B,1.2*R),D=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.08*R,G,B);(w=[]).push(N),w.push(D.pntLeft),w.push(D.pntRight),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,w,{fillLimit:!0,fill:!0}),this.addScalePoint(u),this.addScalePoint(O),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var a,r=e,s=[];for(a=0;a<o.length;a++)s.push(o[a]);var p,u=-1,c=0;for(a=0;a<s.length-1;a++){var P=[];P.push(s[a]),P.push(s[a+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(r,s[a],s[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(r,S);-1==u?(u=a,p=S,c=h):c>h&&(u=a,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(a=0;a<u;a++){var f=o[a],g=o[a+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var M=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(M,p))<0||y>n)return;var b=y/n;if(b>.8||b<.2)return;2==l.length?this.scaleValues[0]=b:this.scaleValues[2*t]=b}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol40000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[];if(t.length<3)e.push(t[0]),e.push(t[1]);else{var l=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=l.scaleValues;for(var o=0;o<l.scalePoints.length;o++)this.addScalePoint(l.scalePoints[o]);e=l.beizerPoints}if(SuperMap.Plot.PlottingUtil.clearSamePts(e),!(e.length<=0)){this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(.5*this.getSubSymbolScaleValue()));var i=0;t.length>2&&(i=t.length-1);var n=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=SuperMap.Plot.PlottingUtil.polylineDistance(e)*this.scaleValues[4*i],r=n*this.scaleValues[4*i+1]/1.667,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=3*r,P=a-c,S=a+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var M=[];for(M.push(g),h=p+1;h<e.length;h++)M.push(e[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.radian(y,g)*SuperMap.Plot.PlottingUtil.RTOD,m=SuperMap.Plot.PlottingUtil.distance(y,g),d=new SuperMap.Geometry.Point((y.x+g.x)/2,(y.y+g.y)/2);if(this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],d,m,b),!(f.length<2)){var v=f[0],O=f[1],U=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD,w=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+90),L=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+270),V=[];if(V.push(w),V.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),!(M.length<2)){var _=M[M.length-1],T=M[M.length-2],A=SuperMap.Plot.PlottingUtil.radian(_,T)*SuperMap.Plot.PlottingUtil.RTOD,E=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+90),x=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+270);(V=[]).push(E),V.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V);var Y=SuperMap.Plot.PlottingUtil.paraLine(e,r,!1),j=SuperMap.Plot.PlottingUtil.polylineDistance(Y)/11,C=j;for(h=0;h<11;h++)if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(C-j,Y)).bfind){var I=s.index,G=s.pts;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(C,Y)).bfind){var B=s.pts,R=s.index;if(h%2==0){var N=[];N.push(G);for(var D=I+1;D<=R;D++)N.push(Y[D]);N.push(B),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,N,{surroundLineLimit:!0,lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1})}C+=j}}var k;k=SuperMap.Plot.PlottingUtil.paraLine(e,3.5*r,!1),SuperMap.Plot.PlottingUtil.clearSamePts(k),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,k);var z;z=SuperMap.Plot.PlottingUtil.paraLine(e,3.5*r,!0),SuperMap.Plot.PlottingUtil.clearSamePts(z),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,z),this.addScalePoint(u),this.addScalePoint(w),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var a,r=e,s=[];for(a=0;a<o.length;a++)s.push(o[a]);var p,u=-1,c=0;for(a=0;a<s.length-1;a++){var P=[];P.push(s[a]),P.push(s[a+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(r,s[a],s[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(r,S);-1==u?(u=a,p=S,c=h):c>h&&(u=a,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(a=0;a<u;a++){var f=o[a],g=o[a+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var M=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(M,p))<0||y>n)return;var b=y/n;if(b>.8||b<.2)return;2==l.length?this.scaleValues[0]=b:this.scaleValues[2*t]=b}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol39802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[];if(t.length<3)e.push(t[0]),e.push(t[1]);else{var l=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=l.scaleValues;for(var o=0;o<l.scalePoints.length;o++)this.addScalePoint(l.scalePoints[o]);e=l.beizerPoints}if(SuperMap.Plot.PlottingUtil.clearSamePts(e),!(e.length<=0)){this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(.5*this.getSubSymbolScaleValue()));var i=0;t.length>2&&(i=t.length-1);var n=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=SuperMap.Plot.PlottingUtil.polylineDistance(e)*this.scaleValues[4*i],r=n*this.scaleValues[4*i+1]/1.667,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=3*r,P=a-c,S=a+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var M=[];for(M.push(g),h=p+1;h<e.length;h++)M.push(e[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.radian(y,g)*SuperMap.Plot.PlottingUtil.RTOD,m=SuperMap.Plot.PlottingUtil.distance(y,g),d=new SuperMap.Geometry.Point((y.x+g.x)/2,(y.y+g.y)/2);if(this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],d,m,b),!(f.length<2)){var v=f[0],O=f[1],U=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD,w=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+90),L=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+270),V=[];if(V.push(w),V.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),!(M.length<2)){var _=M[M.length-1],T=M[M.length-2],A=SuperMap.Plot.PlottingUtil.radian(_,T)*SuperMap.Plot.PlottingUtil.RTOD,E=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+90),x=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+270);(V=[]).push(E),V.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),this.addScalePoint(u),this.addScalePoint(w),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var a,r=e,s=[];for(a=0;a<o.length;a++)s.push(o[a]);var p,u=-1,c=0;for(a=0;a<s.length-1;a++){var P=[];P.push(s[a]),P.push(s[a+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(r,s[a],s[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(r,S);-1==u?(u=a,p=S,c=h):c>h&&(u=a,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(a=0;a<u;a++){var f=o[a],g=o[a+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var M=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(M,p))<0||y>n)return;var b=y/n;if(b>.8||b<.2)return;2==l.length?this.scaleValues[0]=b:this.scaleValues[2*t]=b}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol39801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[];if(t.length<3)e.push(t[0]),e.push(t[1]);else{var l=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=l.scaleValues;for(var o=0;o<l.scalePoints.length;o++)this.addScalePoint(l.scalePoints[o]);e=l.beizerPoints}if(SuperMap.Plot.PlottingUtil.clearSamePts(e),!(e.length<=0)){this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(.5*this.getSubSymbolScaleValue()));var i=0;t.length>2&&(i=t.length-1);var n=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=SuperMap.Plot.PlottingUtil.polylineDistance(e)*this.scaleValues[4*i],r=n*this.scaleValues[4*i+1]/1.667,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=3.6*r,P=a-c,S=a+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var M=[];for(M.push(g),h=p+1;h<e.length;h++)M.push(e[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.radian(y,g)*SuperMap.Plot.PlottingUtil.RTOD,m=SuperMap.Plot.PlottingUtil.distance(y,g),d=new SuperMap.Geometry.Point((y.x+g.x)/2,(y.y+g.y)/2);if(this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],d,.8*m,b),!(f.length<2)){var v=f[0],O=f[1],U=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD,w=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+90),L=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+270),V=[];if(V.push(w),V.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),!(M.length<2)){var _=M[M.length-1],T=M[M.length-2],A=SuperMap.Plot.PlottingUtil.radian(_,T)*SuperMap.Plot.PlottingUtil.RTOD,E=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+90),x=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+270);(V=[]).push(E),V.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V);var Y=SuperMap.Plot.PlottingUtil.paraLine(e,r,!1),j=SuperMap.Plot.PlottingUtil.polylineDistance(Y)/11,C=j;for(h=0;h<11;h++)if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(C-j,Y)).bfind){var I=s.index,G=s.pts;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(C,Y)).bfind){var B=s.pts,R=s.index;if(h%2==0){var N=[];N.push(G);for(var D=I+1;D<=R;D++)N.push(Y[D]);N.push(B),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,N,{surroundLineLimit:!0,lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1})}C+=j}}this.addScalePoint(u),this.addScalePoint(w),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var a,r=e,s=[];for(a=0;a<o.length;a++)s.push(o[a]);var p,u=-1,c=0;for(a=0;a<s.length-1;a++){var P=[];P.push(s[a]),P.push(s[a+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(r,s[a],s[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(r,S);-1==u?(u=a,p=S,c=h):c>h&&(u=a,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(a=0;a<u;a++){var f=o[a],g=o[a+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var M=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(M,p))<0||y>n)return;var b=y/n;if(b>.8||b<.2)return;2==l.length?this.scaleValues[0]=b:this.scaleValues[2*t]=b}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol39800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol39600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.03,l.scaleValues[1]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol38600),e}();SuperMap.Plot.AlgoSymbol39600=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.08),l.scaleValues.push(.181818),l.scaleValues.push(.285714),l.scaleValues.push(.285714)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.285714),this.scaleValues.push(.08),this.scaleValues.push(.181818),this.scaleValues.push(.285714),this.scaleValues.push(.285714));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,g=[];g.push(n),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(a);for(var M=[],b=0;b<g.length;b++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[b],f);M.push(m)}for(var d=[],v=M.length-1;v>=0;--v)d.push(M[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var O=t[0],U=t[0],w=t[1],L=SuperMap.Plot.PlottingUtil.radian(U,w)*SuperMap.Plot.PlottingUtil.RTOD+270,V=.2*o;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],O,V,L),this.scalePoints=[],this.addScalePoint(M[0]),this.addScalePoint(M[1]),this.addScalePoint(M[2]),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),a=l[1].clone(),r=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(r,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var p=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var c=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol39500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.1||i<=0)&&(i=.1),this.scaleValues[0]=i}var n=l*this.scaleValues[2],a=l*this.scaleValues[3],r=new SuperMap.Geometry.Point(o.x+n,o.y+a),s=l*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,s,0),this.scalePoints=[];var p=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,180);this.addScalePoint(p),this.addScalePoint(r),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=[];if(o=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol39101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(.08),l.scaleValues.push(.05),l.scaleValues.push(-.08),l.scaleValues.push(-.08),l.scaleValues.push(.05),l.scaleValues.push(.08),l.scaleValues.push(-.08)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(.08),this.scaleValues.push(.05),this.scaleValues.push(-.08),this.scaleValues.push(-.08),this.scaleValues.push(.05),this.scaleValues.push(.08),this.scaleValues.push(-.08));var e=this.scaleValues[1],l=this.scaleValues[2],o=this.scaleValues[4],i=this.scaleValues[5],n=this.scaleValues[7],a=this.scaleValues[8],r=[];if(r=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),r=SuperMap.Plot.PlottingUtil.clearSamePts(r),!(this.minEditPts>r.length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r);var s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),p=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var u=this.getSubSymbolScaleValue()*p;this.scaleValues[0]=u/p,this.scaleValues[3]=u/p,this.scaleValues[6]=u/p}var c=new SuperMap.Geometry.Point(s.x+p*e,s.y+p*l),P=new SuperMap.Geometry.Point(s.x+p*o,s.y+p*i),S=new SuperMap.Geometry.Point(s.x+p*n,s.y+p*a),h=p*this.scaleValues[0],y=p*this.scaleValues[3],f=p*this.scaleValues[6];this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],c,1.5*h,0),this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],P,1.5*y,0),this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[2],S,1.5*f,0),this.addScalePoint(c);var g=SuperMap.Plot.PlottingUtil.circlePoint(c,h,h,180);this.addScalePoint(g),this.addScalePoint(P);var M=SuperMap.Plot.PlottingUtil.circlePoint(P,y,y,180);this.addScalePoint(M),this.addScalePoint(S);var b=SuperMap.Plot.PlottingUtil.circlePoint(S,f,f,180);this.addScalePoint(b),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;0===this.scaleValues.length&&(this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(.08),this.scaleValues.push(.05),this.scaleValues.push(-.08),this.scaleValues.push(-.08),this.scaleValues.push(.05),this.scaleValues.push(.08),this.scaleValues.push(-.08));var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=this.scaleValues[3],r=this.scaleValues[4],s=this.scaleValues[5],p=this.scaleValues[6],u=this.scaleValues[7],c=this.scaleValues[8],P=[];if(P=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),P=SuperMap.Plot.PlottingUtil.clearSamePts(P),this.minEditPts>P.length)return;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P);var S=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),h=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-S.x)/h,this.scaleValues[1]=i,n=(e.y-S.y)/h,this.scaleValues[2]=n;else if(1===t){i=this.scaleValues[1],n=this.scaleValues[2];var y=new SuperMap.Geometry.Point(S.x+h*i,S.y+h*n);o=SuperMap.Plot.PlottingUtil.distance(y,e)/h,this.scaleValues[0]=o}if(2===t)r=(e.x-S.x)/h,this.scaleValues[4]=r,s=(e.y-S.y)/h,this.scaleValues[5]=s;else if(3===t){r=this.scaleValues[4],s=this.scaleValues[5];var f=new SuperMap.Geometry.Point(S.x+h*r,S.y+h*s);a=SuperMap.Plot.PlottingUtil.distance(f,e)/h,this.scaleValues[3]=a}if(4===t)u=(e.x-S.x)/h,this.scaleValues[7]=u,c=(e.y-S.y)/h,this.scaleValues[8]=c;else if(5===t){u=this.scaleValues[7],c=this.scaleValues[8];var g=new SuperMap.Geometry.Point(S.x+h*u,S.y+h*c);p=SuperMap.Plot.PlottingUtil.distance(g,e)/h,this.scaleValues[6]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol39000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol38700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=Math.PI/4,l.scaleValues[1]=Math.PI/4,l.scaleValues[2]=.3,l.scaleValues[3]=.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<4&&(this.scaleValues=[],this.scaleValues[0]=Math.PI/4,this.scaleValues[1]=Math.PI/4,this.scaleValues[2]=.3,this.scaleValues[3]=.1);var e=t[0],l=t[1],o=SuperMap.Plot.PlottingUtil.distance(e,l),i=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD;if(!this.isEdit){var n=this.getDefaultSubSymbolSize()/o;(n>.3||n<=0)&&(n=.3),this.scaleValues[2]=n}var a=this.scaleValues[0],r=this.scaleValues[1],s=this.scaleValues[2],p=this.scaleValues[3],u=a*SuperMap.Plot.PlottingUtil.RTOD,c=i-u,P=i+u,S=this.GetArcPts(c,P,e,o);if(!(2>S.length)){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=o*s,y=i-90,f=o*p,g=SuperMap.Plot.PlottingUtil.linePnt(e,l,f),M=SuperMap.Plot.PlottingUtil.radian(g,l)*SuperMap.Plot.PlottingUtil.RTOD-30,b=SuperMap.Plot.PlottingUtil.distance(g,l),m=0,d=t[0].clone(),v=SuperMap.Plot.PlottingUtil.circlePoint(g,b,b,M),O=null;if(this.subSymbols.length>0&&null!=(O=this.computeSubSymbol(this.subSymbols[0],g,h,y,0,-.5)))for(var U=0;U<O.length;U++)if(!(2>O[U].positionPoints))for(var w=0;w<O[U].positionPoints.length-1;w++){var L=O[U].positionPoints[w],V=O[U].positionPoints[w+1],_=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.intersectLineSegs(g,v,L,V,_)&&(0==m?d=_:SuperMap.Plot.PlottingUtil.distance(g,_)>SuperMap.Plot.PlottingUtil.distance(g,d)&&(d=_),m++)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[d,v]);var T=SuperMap.Plot.PlottingUtil.radian(v,d)*SuperMap.Plot.PlottingUtil.RTOD,A=SuperMap.Plot.PlottingUtil.distance(d,v),E=SuperMap.Plot.PlottingUtil.circlePoint(v,.1*A,.1*A,T-15),x=SuperMap.Plot.PlottingUtil.circlePoint(v,.1*A,.1*A,T+15),Y=[];Y.push(v),Y.push(E),Y.push(x),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,Y,{fillLimit:!0,fill:!0}),this.scalePoints=[];var j=SuperMap.Plot.PlottingUtil.circlePoint(e,o,o,P);this.addScalePoint(j);var C=SuperMap.Plot.PlottingUtil.linePnt(g,l,o*s);if(this.addScalePoint(C),this.addScalePoint(g),3==t.length){var I=t[2],G=SuperMap.Plot.PlottingUtil.distance(e,I),B=r*SuperMap.Plot.PlottingUtil.RTOD,R=i-B,N=i+B,D=this.GetArcPts(R,N,e,G);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,D);var k=SuperMap.Plot.PlottingUtil.circlePoint(e,G,G,N);this.addScalePoint(k);var z=v,F=SuperMap.Plot.PlottingUtil.distance(e,I)-o,K=SuperMap.Plot.PlottingUtil.circlePoint(z,F,F,M);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[z,K]);var q=SuperMap.Plot.PlottingUtil.circlePoint(K,.1*F,.1*F,T-15),W=SuperMap.Plot.PlottingUtil.circlePoint(K,.1*F,.1*F,T+15),J=[];J.push(K),J.push(q),J.push(W),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,J,{fillLimit:!0,fill:!0})}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>3)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=e,i=l[0],n=l[1],a=SuperMap.Plot.PlottingUtil.distance(i,n),r=SuperMap.Plot.PlottingUtil.radian(i,n);if(0==t){var s=SuperMap.Plot.PlottingUtil.radian(i,o),p=Math.abs(s-r);this.scaleValues[0]=p}else if(1==t){var u=a*this.scaleValues[3],c=SuperMap.Plot.PlottingUtil.linePnt(i,n,u),P=SuperMap.Plot.PlottingUtil.distance(o,c)/a;this.scaleValues[2]=P}else if(2==t){var S=SuperMap.Plot.PlottingUtil.distance(o,i)/a;if(S>=1)return;this.scaleValues[3]=S}else if(3==t){var h=SuperMap.Plot.PlottingUtil.radian(i,o),y=Math.abs(h-r);this.scaleValues[1]=y}}}},{key:"GetArcPts",value:function(t,e,l,o){var i,n=[],a=0;for(a=t;a<e;a+=4)i=SuperMap.Plot.PlottingUtil.circlePoint(l,o,o,a),n.push(i);return a!=e&&(i=SuperMap.Plot.PlottingUtil.circlePoint(l,o,o,e),n.push(i)),n}}]),e}();SuperMap.Plot.AlgoSymbol38700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol38600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.04,l.scaleValues[2]=.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.05,this.scaleValues[1]=.04),2===this.scaleValues.length&&this.scaleValues.push(.1),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=o,this.scaleValues[2]=.5*o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.7*r,a-90);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p,this.scaleValues[2])}for(var P=[],S=0;S<e.length;S++)P.push(e[S]);var h=l*this.scaleValues[1],y=SuperMap.Plot.PlottingUtil.paraLine(P,h,!0),f=SuperMap.Plot.PlottingUtil.paraLine(P,h,!1),g=[];for(S=0;S<y.length;S++)g.push(y[S]);var M=[];for(S=0;S<f.length;S++)M.push(f[S]);g=SuperMap.Plot.PlottingUtil.clearSamePts(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),M=SuperMap.Plot.PlottingUtil.clearSamePts(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),m=SuperMap.Plot.PlottingUtil.circlePoint(b.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,a+90);this.addScalePoint(m,0),this.addScalePoint(f[0],1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(l.length<this.minEditPts)return;if(0===t){var n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o);if(-1===n.index)return;var a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}if(1===t){var r=SuperMap.Plot.PlottingUtil.distance(e,l[0]);this.scaleValues[1]=r/i}}}}]),e}();SuperMap.Plot.AlgoSymbol38600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],a=this.scaleValues[2],r=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*a,l.y+o*r);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,s,0),this.addScalePoint(p);var u=s,c=SuperMap.Plot.PlottingUtil.circlePoint(p,u,u,90);this.addScalePoint(c),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol37700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37601=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),i=l*this.scaleValues[2],n=l*this.scaleValues[3],a=new SuperMap.Geometry.Point(o.x+i,o.y+n);if(!this.isEdit){var r=this.getDefaultSubSymbolSize()/l;(r>.3||r<=0)&&(r=.3),this.scaleValues[0]=r}var s=l*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,s,90),this.scalePoints=[];var p=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,180);this.addScalePoint(p),this.addScalePoint(a),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol37601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.15||i<=0)&&(i=.15),this.scaleValues[0]=i}var n=o*this.scaleValues[2],a=o*this.scaleValues[3],r=new SuperMap.Geometry.Point(l.x+n,l.y+a),s=o*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,s,0),this.scalePoints=[];var p=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,180);this.addScalePoint(p),this.addScalePoint(r),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol37600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.125,l.scaleValues[1]=.02,l.scaleValues[2]=.25,l.scaleValues[3]=.8),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<4&&(this.scaleValues=[],this.scaleValues[0]=.125,this.scaleValues[1]=.02,this.scaleValues[2]=.25,this.scaleValues[3]=.8),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),l=SuperMap.Plot.PlottingUtil.radian(t[1],t[0])*SuperMap.Plot.PlottingUtil.RTOD,o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=this.scaleValues[3],r=new SuperMap.Geometry.Point(o*e,i*e),s=new SuperMap.Geometry.Point(o*e,-i*e),p=SuperMap.Plot.PlottingUtil.coordinateTrans(t[1],r,l),u=SuperMap.Plot.PlottingUtil.coordinateTrans(t[1],s,l),c=[];c.push(p),c.push(u),c.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,c,{fillLimit:!0,fill:!0});var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n*e,t);if(P.bfind){var S=.05*e,h=P.pts,y=SuperMap.Plot.PlottingUtil.circlePoint(h,S,S,l+90),f=SuperMap.Plot.PlottingUtil.circlePoint(h,S,S,l+270);if((c=[]).push(y),c.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{lineTypeLimit:!0,surroundLineLimit:!0}),(P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a*e,t)).bfind){var g=P.pts,M=SuperMap.Plot.PlottingUtil.circlePoint(g,S,S,l+90),b=SuperMap.Plot.PlottingUtil.circlePoint(g,S,S,l+270);(c=[]).push(M),c.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(u),this.addScalePoint(h),this.addScalePoint(g),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[1],l[0]);if(0==t){var i=SuperMap.Plot.PlottingUtil.projectPoint(e,l[1],l[0]),n=SuperMap.Plot.PlottingUtil.distance(i,l[1]);90>SuperMap.Plot.PlottingUtil.radian(l[1],i)*SuperMap.Plot.PlottingUtil.RTOD&&(n=-n);var a=n/o;this.scaleValues[0]=a;var r=SuperMap.Plot.PlottingUtil.distance(e,i)/o;this.scaleValues[1]=r}else if(1==t){var s=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(.1>s||s>.95)return;this.scaleValues[2]=s}else if(2==t){var p=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(.1>p||p>.95)return;this.scaleValues[3]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol37301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.125,l.scaleValues[1]=.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),l=SuperMap.Plot.PlottingUtil.radian(t[1],t[0])*SuperMap.Plot.PlottingUtil.RTOD,o=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],.35*e),i=SuperMap.Plot.PlottingUtil.circlePoint(o,.05*e,.05*e,l+270);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[i,o],{fill:!1,fillLimit:!0,lineTypeLimit:!0,surroundLineLimit:!0});var n=this.scaleValues[0],a=this.scaleValues[1],r=new SuperMap.Geometry.Point(n*e,a*e),s=new SuperMap.Geometry.Point(n*e,-a*e),p=SuperMap.Plot.PlottingUtil.coordinateTrans(t[1],r,l),u=SuperMap.Plot.PlottingUtil.coordinateTrans(t[1],s,l),c=[];c.push(p),c.push(u),c.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,c,{fillLimit:!0,fill:!0}),this.scalePoints=[],this.addScalePoint(u),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[1],l[0]);if(0==t){var i=SuperMap.Plot.PlottingUtil.projectPoint(e,l[1],l[0]),n=SuperMap.Plot.PlottingUtil.distance(i,l[1]);90>SuperMap.Plot.PlottingUtil.radian(l[1],i)*SuperMap.Plot.PlottingUtil.RTOD&&(n=-n);var a=n/o;this.scaleValues[0]=a;var r=SuperMap.Plot.PlottingUtil.distance(e,i)/o;this.scaleValues[1]=r}}}}]),e}();SuperMap.Plot.AlgoSymbol37300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol37200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1,l.scaleValues[1]=.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol27100),e}();SuperMap.Plot.AlgoSymbol37200=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1,l.scaleValues[1]=.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.1,this.scaleValues[1]=.2),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var e,l,o=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),i=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,n=this.scaleValues[0],a=this.scaleValues[1],r=n*o,s=[];for(e=90;e<=270;e+=3)l=SuperMap.Plot.PlottingUtil.circlePoint(t[0],r,r,e+i),s.push(l);var p=[];for(e=-90;e<=90;e+=3)l=SuperMap.Plot.PlottingUtil.circlePoint(t[1],r,r,e+i),p.push(l);var u=o*a,c=new SuperMap.Geometry.Point((s[0].x+p[p.length-1].x)/2,(s[0].y+p[p.length-1].y)/2),P=SuperMap.Plot.PlottingUtil.linePnt(s[0],p[p.length-1],.5*(o-1.2*u)),S=SuperMap.Plot.PlottingUtil.linePnt(p[p.length-1],s[0],.5*(o-1.2*u)),h=[];h.push(P),h.push.apply(h,s),h.push.apply(h,p),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=SuperMap.Plot.PlottingUtil.radian(S,P)*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],c,.9*u,y-90),this.scalePoints=[],this.addScalePoint(s[s.length-1]);var f=SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,y+90);this.addScalePoint(f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}else if(1==t){var n=this.scaleValues[0]*o,a=SuperMap.Plot.PlottingUtil.circlePoint(l[0],n,n,90),r=SuperMap.Plot.PlottingUtil.circlePoint(l[1],n,n,90),s=new SuperMap.Geometry.Point((a.x+r.x)/2,(a.y+r.y)/2),p=SuperMap.Plot.PlottingUtil.distance(s,e)/o;p>=.8&&(p=.8),this.scaleValues[1]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol37100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol36800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.05),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var l=.1*e,o=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(l,t[1],t[0]),i=o.pntRight,n=o.pntLeft,a=(o=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(l,t[0],t[1])).pntRight,r=o.pntLeft,s=[];s.push(i),s.push(n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);var p=[];p.push(a),p.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);var u=[];u.push(i),u.push(r);for(var c=SuperMap.Plot.PlottingUtil.polylineDistance(u)/11,P=c,S=0,h=0,y=null,f=null,g=0;g<11;g++){if(0==g)S=0,y=i.clone();else{var M=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P-c,u);if(!M.bfind)continue;S=M.index,y=M.pts}if(10==g)h=0,f=r.clone();else{if(!(M=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,u)).bfind)continue;h=M.index,f=M.pts}if(g%2==0){var b=[];b.push(y);for(var m=S+1;m<=h;m++)b.push(u[m]);b.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,{lineColorLimit:!0,strokeColor:"#0000ff",strokeOpacity:1,color:"#0000ff",opacity:1,surroundLineLimit:!0})}P+=c}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol36800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol36700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.04,l.scaleValues[1]=.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues[0]=.05,this.scaleValues[1]=.04),2===this.scaleValues.length&&this.scaleValues.push(.1),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=o,this.scaleValues[2]=.5*o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.7*r,a-90);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addStartPtArrow(s,this.scaleValues[2]),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p,this.scaleValues[2])}for(var P=[],S=0;S<e.length;S++)P.push(e[S]);var h=l*this.scaleValues[1],y=SuperMap.Plot.PlottingUtil.paraLine(P,h,!0),f=SuperMap.Plot.PlottingUtil.paraLine(P,h,!1),g=[];for(S=0;S<y.length;S++)g.push(y[S]);var M=[];for(S=0;S<f.length;S++)M.push(f[S]);g=SuperMap.Plot.PlottingUtil.clearSamePts(g),M=SuperMap.Plot.PlottingUtil.clearSamePts(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),m=SuperMap.Plot.PlottingUtil.circlePoint(b.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,a+90);this.addScalePoint(m,0),this.addScalePoint(f[0],1),this.finish()}}},{key:"addStartPtArrow",value:function(t,e){if(t.length<2)return t;var l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints)*e,o=t[0];if(t.length>=2){for(var i=-1,n=0;n<t.length-1;n++)if(l<SuperMap.Plot.PlottingUtil.distance(o,t[n])){i=n;break}t.splice(1,i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var a=t[1],r=t[0],s=l,p=SuperMap.Plot.PlottingUtil.radian(r,a)*SuperMap.Plot.PlottingUtil.RTOD,u=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,p+22.5),c=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,p-22.5);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[u,t[0],c],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0)}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(l.length<this.minEditPts)return;if(0===t){var n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o);if(-1===n.index)return;var a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.4?a:.4}if(1===t){var r=SuperMap.Plot.PlottingUtil.distance(e,l[0]);this.scaleValues[1]=r/i}}}}]),e}();SuperMap.Plot.AlgoSymbol36700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol36600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1,l.scaleValues[1]=.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.1,this.scaleValues[1]=.2),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue(),this.scaleValues[1]=this.getSubSymbolScaleValue());var e,l=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),o=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,i=this.scaleValues[0],n=this.scaleValues[1],a=i*l,r=[];for(e=90;e<=270;e+=3)r.push(SuperMap.Plot.PlottingUtil.circlePoint(t[0],a,a,e+o));for(e=-90;e<=90;e+=3)r.push(SuperMap.Plot.PlottingUtil.circlePoint(t[1],a,a,e+o));r.push(r[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var s=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2),p=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,u=l*n;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],s,u,p+90),this.scalePoints=[],this.addScalePoint(r[r.length-1]);var c=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+90);this.addScalePoint(c),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}else if(1==t){var n=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),a=SuperMap.Plot.PlottingUtil.distance(n,e)/o;a>=.8&&(a=.8),this.scaleValues[1]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol36600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol36401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.1),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=.5*e,o=e*this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l,t),n=i.index,a=i.pts,r=(i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l+o,t)).index;if(!(n<0||r<0)){var s;if(n!=r)(s=SuperMap.Plot.PlottingUtil.distance(t[n+1],t[n]))<=2*o?(o=s/2,a.x=(t[n+1].x+t[n].x)/2,a.y=(t[n+1].y+t[n].y)/2):a=SuperMap.Plot.PlottingUtil.linePnt(t[n+1],t[n],o);else if((s=SuperMap.Plot.PlottingUtil.distance(t[n+1],t[n]))<=2*o)o=s/2,a.x=(t[n+1].x+t[n].x)/2,a.y=(t[n+1].y+t[n].y)/2;else SuperMap.Plot.PlottingUtil.distance(t[n],a)<o&&(a=SuperMap.Plot.PlottingUtil.linePnt(t[n],t[n+1],o));var p,u=[];for(p=0;p<n+1;p++)u.push(t[p]);var c=SuperMap.Plot.PlottingUtil.linePnt(a,t[n],o);u.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var P=SuperMap.Plot.PlottingUtil.linePnt(a,t[n+1],o),S=[];S.push(P);var h=t.length;for(p=n+1;p<h;++p)S.push(t[p]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var y=t[0],f=t[1],g=t[t.length-2],M=t[t.length-1],b=.03*e,m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,f,y),d=m.pntRight,v=m.pntLeft,O=(m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,g,M)).pntRight,U=m.pntLeft,w=[];w.push(d),w.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w,{lineTypeLimit:!0});var L=[];L.push(O),L.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,L,{lineTypeLimit:!0});var V=SuperMap.Plot.PlottingUtil.radian(P,c)*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,.8*o,V-90),this.scalePoints=[];var _=SuperMap.Plot.PlottingUtil.circlePoint(a,o,o,V-90);this.addScalePoint(_),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;if(0==t){var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=e,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*o,l).pts,a=SuperMap.Plot.PlottingUtil.distance(i,n)/o;this.scaleValues[0]=a<.5?a:.5}}}}]),e}();SuperMap.Plot.AlgoSymbol36401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol36400=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol36400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35500=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=SuperMap.Plot.PlottingUtil.distance(e,l),i=.1*o,n=SuperMap.Plot.PlottingUtil.linePnt(e,l,.5*o),a=SuperMap.Plot.PlottingUtil.linePnt(n,e,i),r=SuperMap.Plot.PlottingUtil.linePnt(n,l,i),s=[],p=[];s.push(t[0]),s.push(a),p.push(r),p.push(t[1]);var u=SuperMap.Plot.PlottingUtil.paraLine(s,.5*i,!0),c=SuperMap.Plot.PlottingUtil.paraLine(p,.5*i,!0),P=[],S=[];P.push(u[0]),P.push(u[1]),S.push(c[0]),S.push(c[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1});var h=[],y=[],f=SuperMap.Plot.PlottingUtil.paraLine(s,.5*i,!1),g=SuperMap.Plot.PlottingUtil.paraLine(p,.5*i,!1);h.push(f[0]),h.push(f[1]),y.push(g[0]),y.push(g[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y,{lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1});var M=SuperMap.Plot.PlottingUtil.linePnt(P[1],S[0],.2*i),b=SuperMap.Plot.PlottingUtil.linePnt(S[0],P[1],.2*i),m=SuperMap.Plot.PlottingUtil.linePnt(h[1],y[0],.2*i),d=SuperMap.Plot.PlottingUtil.linePnt(y[0],h[1],.2*i),v=[];v.push(M),v.push(b),v.push(d),v.push(m),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,v,{fillLimit:!0,fill:!0});var O=SuperMap.Plot.PlottingUtil.linePnt(m,M,1.2*i),U=SuperMap.Plot.PlottingUtil.linePnt(M,m,1.2*i),w=[];w.push(O),w.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w);var L=SuperMap.Plot.PlottingUtil.linePnt(d,b,1.2*i),V=SuperMap.Plot.PlottingUtil.linePnt(b,d,1.2*i),_=[];_.push(L),_.push(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol35500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35304=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=0),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.05,this.scaleValues[1]=0),!this.isEdit){var e=[];e.push(this.subSymbols[0]),this.scaleValues[0]=this.getSubSymbolScaleValue(),this.subSymbols=[];for(var l=0;l<t.length;l++)this.subSymbols.push(e[0])}var o,i=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],n=[];for(o=0;o<t.length;o++)n.push(t[o]);for(n.push(n[0]),o=0;o<n.length-1;o++){var a=n[o],r=n[o+1],s=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD;s+=90;var p=.5*i,u=SuperMap.Plot.PlottingUtil.circlePoint(a,p,p,s),c=SuperMap.Plot.PlottingUtil.circlePoint(r,p,p,s);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c])}this.scalePoints=[];var P=SuperMap.Plot.PlottingUtil.circlePoint(t[0],1.2*i,1.2*i,270);for(this.addScalePoint(P),o=0;o<t.length;o++){var S=n[o];2*(o+1)>=this.scaleValues.length&&this.scaleValues.push(0);var h=this.scaleValues[2*(o+1)];2*(o+1)+1>=this.scaleValues.length&&this.scaleValues.push(1);var y=h;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[o],S,i,y);var f=SuperMap.Plot.PlottingUtil.circlePoint(S,1.5*i,1.5*i,y+90);this.addScalePoint(f)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>this.scalePoints.length)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;if(0==t){for(var o=[],i=0;i<l.length;i++)o.push(l[i]);var n=SuperMap.Plot.PlottingUtil.polylineDistance(o),a=SuperMap.Plot.PlottingUtil.distance(o[0],e)/1.2;this.scaleValues[0]=a/n}else{var r=l[t-1],s=SuperMap.Plot.PlottingUtil.radian(r,e)*SuperMap.Plot.PlottingUtil.RTOD;0>(s-=90)&&(s+=360),this.scaleValues[2*t]=s}}}},{key:"GetCodeByScaleValue",value:function(t){switch(Math.floor(t)){case 0:return 35300;case 1:return 35301;case 2:return 35302;case 3:return 35303;case 4:return 35400;case 5:return 35401;case 6:return 35402;case 7:return 35403;default:return-1}}}]),e}();SuperMap.Plot.AlgoSymbol35304=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.05),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue()),2==t.length?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=e*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],l,o,0),this.scalePoints=[];var i=SuperMap.Plot.PlottingUtil.circlePoint(l,o,o,90);this.addScalePoint(i),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(e,i)/o;this.scaleValues[0]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol35200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.03),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.03),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=e[0],n=e[1],a=e[e.length-1],r=e[e.length-2],s=SuperMap.Plot.PlottingUtil.radian(i,n)*SuperMap.Plot.PlottingUtil.RTOD,p=SuperMap.Plot.PlottingUtil.radian(r,a)*SuperMap.Plot.PlottingUtil.RTOD,u=this.scaleValues[0],c=l*u,P=SuperMap.Plot.PlottingUtil.circlePoint(i,c,c,s+90),S=SuperMap.Plot.PlottingUtil.circlePoint(i,c,c,s+270),h=[];h.push(P),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineTypeLimit:!0}),this.scalePoints=[],this.addScalePoint(S);var y=SuperMap.Plot.PlottingUtil.circlePoint(a,c,c,p+90),f=SuperMap.Plot.PlottingUtil.circlePoint(a,c,c,p+270);(h=[]).push(y),h.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineTypeLimit:!0});var g,M,b=t.length;if(this.scaleValues.length<=b){for(this.scaleValues=[],this.scaleValues.push(u),M=1/b,g=0;g<b-1;g++)this.scaleValues.push(M*(g+1));this.scaleValues.push(u)}for(g=0;g<b-1;g++){var m=(M=this.scaleValues[g+1])*l,d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(m,e);if(!d.bfind)return;var v=d.pts,O=d.index,U=l*this.getSubSymbolScaleValue(),w=.3*U,L=SuperMap.Plot.PlottingUtil.radian(e[O],e[O+1])*SuperMap.Plot.PlottingUtil.RTOD,V=new SuperMap.Geometry.Point(U,-w),_=new SuperMap.Geometry.Point(-U,-w),T=new SuperMap.Geometry.Point(-U,0),A=new SuperMap.Geometry.Point(U,0),E=SuperMap.Plot.PlottingUtil.coordinateTrans(v,V,L),x=SuperMap.Plot.PlottingUtil.coordinateTrans(v,_,L),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(v,T,L),j=SuperMap.Plot.PlottingUtil.coordinateTrans(v,A,L);(h=[]).push(E),h.push(x),h.push(Y),h.push(j),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,{lineTypeLimit:!0,fillLimit:!0,fill:!0}),this.addScalePoint(v)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>=this.scalePoints.length)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0==t){var a=(i=SuperMap.Plot.PlottingUtil.distance(e,l[0]))/n;this.scaleValues[0]=a}else{var r,s=e,p=[];for(r=0;r<o.length;r++)p.push(o[r]);var u=-1,c=0,P=new SuperMap.Geometry.Point(0,0);for(r=0;r<p.length-1;r++){var S=[];S.push(p[r]),S.push(p[r+1]);var h=SuperMap.Plot.PlottingUtil.projectPoint(s,p[r],p[r+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(h,S).isOnPolyLine){var y=SuperMap.Plot.PlottingUtil.distance(s,h);-1==u?(u=r,P=h,c=y):c>y&&(u=r,P=h,c=y)}}if(-1==u||u>p.length-1)return;for(i=0,r=0;r<u;r++)i+=SuperMap.Plot.PlottingUtil.distance(o[r],o[r+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[u],P))<0||i>n)return;var f=i/n;this.scaleValues[t]=f}}}}]),e}();SuperMap.Plot.AlgoSymbol35000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34902=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.02):1===this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l/2,e);if(o.bfind){var i=o.index,n=o.pts;if(!this.isEdit){var a=this.getDefaultSubSymbolSize()/l;(a>.3||a<=0)&&(a=.3),this.scaleValues[0]=a,this.scaleValues[1]=.5*a}var r,s=l*this.scaleValues[0],p=[];for(p.push(n),r=i;r>=0;r--)p.push(e[r]);if((o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,p)).bfind){var u=o.index,c=o.pts,P=[];for(r=p.length-1;r>u;r--)P.push(p[r]);P.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=[];for(S.push(n),r=i+1;r<e.length;r++)S.push(e[r]);if((o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,S)).bfind){var h=o.index,y=o.pts;for((P=[]).push(y),r=h+1;r<S.length;r++)P.push(S[r]);this.addArrow(P,this.scaleValues[1]);var f=.1*s,g=c,M=y,b=SuperMap.Plot.PlottingUtil.radian(g,M)*SuperMap.Plot.PlottingUtil.RTOD,m=new SuperMap.Geometry.Point((g.x+M.x)/2,(g.y+M.y)/2),d=SuperMap.Plot.PlottingUtil.circlePoint(m,2*f,2*f,b),v=SuperMap.Plot.PlottingUtil.circlePoint(m,2*f,2*f,b+180),O=SuperMap.Plot.PlottingUtil.circlePoint(d,f,f,0);(P=[]).push(d),P.push(O);var U={surroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,P,U);var w=SuperMap.Plot.PlottingUtil.circlePoint(v,f,f,0);(P=[]).push(v),P.push(w),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,P,U);var L=e[0].clone(),V=e[1].clone(),_=SuperMap.Plot.PlottingUtil.radian(V,L)*SuperMap.Plot.PlottingUtil.RTOD,T=new SuperMap.Geometry.Point(0,.5*s),A=new SuperMap.Geometry.Point(s,.5*s),E=new SuperMap.Geometry.Point(1.5*s,0),x=SuperMap.Plot.PlottingUtil.coordinateTrans(L,T,_),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(L,A,_),j=SuperMap.Plot.PlottingUtil.coordinateTrans(L,E,_);(P=[]).push(e[0]),P.push(x),P.push(Y),P.push(j),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P),this.finish()}}}}}}]),e}();SuperMap.Plot.AlgoSymbol34902=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34901=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.02):1===this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l/2,e);if(o.bfind){var i=o.index,n=o.pts;if(!this.isEdit){var a=this.getDefaultSubSymbolSize()/l;(a>.3||a<=0)&&(a=.3),this.scaleValues[0]=a,this.scaleValues[1]=.5*a}var r,s=l*this.scaleValues[0],p=[];for(p.push(n),r=i;r>=0;r--)p.push(e[r]);if((o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,p)).bfind){var u=o.index,c=o.pts,P=[];for(r=p.length-1;r>u;r--)P.push(p[r]);P.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=[];for(S.push(n),r=i+1;r<e.length;r++)S.push(e[r]);if((o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,S)).bfind){var h=o.index,y=o.pts;for((P=[]).push(y),r=h+1;r<S.length;r++)P.push(S[r]);this.addArrow(P,this.scaleValues[1]);var f=.1*s,g=SuperMap.Plot.PlottingUtil.circlePoint(n,f,f,0);(P=[]).push(n),P.push(g);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,P,{surroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0});var M=e[0].clone(),b=e[1].clone(),m=SuperMap.Plot.PlottingUtil.radian(b,M)*SuperMap.Plot.PlottingUtil.RTOD,d=new SuperMap.Geometry.Point(0,.5*s),v=new SuperMap.Geometry.Point(s,.5*s),O=new SuperMap.Geometry.Point(1.5*s,0),U=SuperMap.Plot.PlottingUtil.coordinateTrans(M,d,m),w=SuperMap.Plot.PlottingUtil.coordinateTrans(M,v,m),L=SuperMap.Plot.PlottingUtil.coordinateTrans(M,O,m);(P=[]).push(e[0]),P.push(U),P.push(w),P.push(L),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P),this.finish()}}}}}}]),e}();SuperMap.Plot.AlgoSymbol34901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.02):1===this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(-1!==SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,l/2).index){if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.5*o}this.addArrow(e,this.scaleValues[1]);var i=l*this.scaleValues[0],n=new SuperMap.Geometry.Point(e[0].x,e[0].y),a=new SuperMap.Geometry.Point(e[1].x,e[1].y),r=SuperMap.Plot.PlottingUtil.radian(a,n)*SuperMap.Plot.PlottingUtil.RTOD,s=new SuperMap.Geometry.Point(0,.5*i),p=new SuperMap.Geometry.Point(i,.5*i),u=new SuperMap.Geometry.Point(1.5*i,0),c=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,r),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,r),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,u,r);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[e[0],c,P,S]),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol34900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34801=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.4),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[],l=t[0].clone(),o=t[1].clone(),i=SuperMap.Plot.PlottingUtil.distance(l,o),n=0;for(n=15;n<=165;n+=4)e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n));SuperMap.Plot.PlottingUtil.equalFuzzy(n,165)&&(n=165,e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n)));var a=[];for(n=e.length-1;n>=0;n--)a.push(e[n]);for(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),e=[],n=195;n<=345;n+=4)e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n));for(SuperMap.Plot.PlottingUtil.equalFuzzy(n,345)&&(n=345,e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n))),a=[],n=e.length-1;n>=0;n--)a.push(e[n]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var r=2*this.scaleValues[0]*i;(e=[]).push(new SuperMap.Geometry.Point(l.x-r,l.y)),e.push(new SuperMap.Geometry.Point(l.x-.4*r,l.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),(e=[]).push(new SuperMap.Geometry.Point(l.x-.2*r,l.y)),e.push(new SuperMap.Geometry.Point(l.x+.4*r,l.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),(e=[]).push(new SuperMap.Geometry.Point(l.x+.6*r,l.y)),e.push(new SuperMap.Geometry.Point(l.x+r,l.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),(e=[]).push(new SuperMap.Geometry.Point(l.x-this.scaleValues[0]*i,l.y)),e.push(new SuperMap.Geometry.Point(l.x-this.scaleValues[0]*i,l.y+this.scaleValues[0]*i)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol34801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[],l=t[0].clone(),o=t[1].clone(),i=SuperMap.Plot.PlottingUtil.distance(l,o),n=0;for(n=15;n<=165;n+=4)e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n));SuperMap.Plot.PlottingUtil.equalFuzzy(n,165)&&(n=165,e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n)));var a=[];for(n=e.length-1;n>=0;n--)a.push(e[n]);for(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),e=[],n=195;n<=345;n+=4)e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n));for(SuperMap.Plot.PlottingUtil.equalFuzzy(n,345)&&(n=345,e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n))),a=[],n=e.length-1;n>=0;n--)a.push(e[n]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var r=.8*i;(e=[]).push(new SuperMap.Geometry.Point(l.x-r,l.y)),e.push(new SuperMap.Geometry.Point(l.x+r,l.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),(e=[]).push(new SuperMap.Geometry.Point(l.x-.4*i,l.y)),e.push(new SuperMap.Geometry.Point(l.x-.4*i,l.y+.4*i)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol34800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.08,l.scaleValues[1]=.03),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.08),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=.5*e,o=e*this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l,t),n=i.pts,a=i.index,r=(i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l+o,t)).index;if(!(a<0||r<0)){var s,p,u;if(a!=r)s=new SuperMap.Geometry.Point(t[a+1].x,t[a+1].y),p=new SuperMap.Geometry.Point(t[a].x,t[a].y),(u=SuperMap.Plot.PlottingUtil.distance(s,p))<=2*o?(o=u/2,n.x=(t[a+1].x+t[a].x)/2,n.y=(t[a+1].y+t[a].y)/2):n=SuperMap.Plot.PlottingUtil.linePnt(t[a+1],t[a],o);else if(s=new SuperMap.Geometry.Point(t[a+1].x,t[a+1].y),p=new SuperMap.Geometry.Point(t[a].x,t[a].y),(u=SuperMap.Plot.PlottingUtil.distance(s,p))<=2*o)o=u/2,n.x=(t[a+1].x+t[a].x)/2,n.y=(t[a+1].y+t[a].y)/2;else s=new SuperMap.Geometry.Point(t[a].x,t[a].y),p=new SuperMap.Geometry.Point(n.x,n.y),SuperMap.Plot.PlottingUtil.distance(s,p)<o&&(n=SuperMap.Plot.PlottingUtil.linePnt(t[a],t[a],o));var c,P,S,h=[];for(c=0;c<a+1;c++)h.push(t[c]);P=SuperMap.Plot.PlottingUtil.linePnt(n,t[a],o),h.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),S=SuperMap.Plot.PlottingUtil.linePnt(n,t[a+1],o);var y=[];y.push(S);var f=t.length;for(c=a+1;c<f;++c)y.push(t[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var g=[],M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o/2,P,S);g.push(P),g.push(M.pntRight),g.push(M.pntLeft);var b=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,P,n)).pntRight;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,g,{lineTypeLimit:!0});var m,d,v,O,U=t[0].clone(),w=t[1].clone(),L=t[t.length-2].clone(),V=t[t.length-1].clone(),_=e*this.scaleValues[1];d=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(_,w,U)).pntRight,m=M.pntLeft,O=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(_,L,V)).pntRight,v=M.pntLeft;var T=[];T.push(d),T.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T,{lineTypeLimit:!0});var A=[];A.push(O),A.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,{lineTypeLimit:!0}),this.scalePoints=[],this.addScalePoint(b),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0==t){var i=.5*o,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,l).pts,a=SuperMap.Plot.PlottingUtil.distance(e,n)/o;a>.5&&(a=.5),this.scaleValues[0]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol34700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34501=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts||t.length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=SuperMap.Plot.PlottingUtil.radian(l,o)*SuperMap.Plot.PlottingUtil.RTOD,n=new SuperMap.Geometry.Point(0,0),a=new SuperMap.Geometry.Point(.475*e,0),r=SuperMap.Plot.PlottingUtil.coordinateTrans(l,n,i),s=SuperMap.Plot.PlottingUtil.coordinateTrans(l,a,i),p=[];p.push(r),p.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var u=new SuperMap.Geometry.Point(.525*e,0),c=new SuperMap.Geometry.Point(.725*e,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(l,u,i),S=SuperMap.Plot.PlottingUtil.coordinateTrans(l,c,i);(p=[]).push(P),p.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var h=new SuperMap.Geometry.Point(.775*e,0),y=new SuperMap.Geometry.Point(.95*e,0),f=SuperMap.Plot.PlottingUtil.coordinateTrans(l,h,i),g=SuperMap.Plot.PlottingUtil.coordinateTrans(l,y,i);if((p=[]).push(f),p.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0}),this.subSymbols.length>0){var M=.2*e,b=new SuperMap.Geometry.Point(t[1].x,t[1].y+M/2);this.computeSubSymbol(this.subSymbols[0],b,M,0)}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol34501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34500=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=SuperMap.Plot.PlottingUtil.radian(l,o)*SuperMap.Plot.PlottingUtil.RTOD,n=new SuperMap.Geometry.Point(0,0),a=new SuperMap.Geometry.Point(.475*e,0),r=SuperMap.Plot.PlottingUtil.coordinateTrans(l,n,i),s=SuperMap.Plot.PlottingUtil.coordinateTrans(l,a,i),p=[];p.push(r),p.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var u=new SuperMap.Geometry.Point(.525*e,0),c=new SuperMap.Geometry.Point(.725*e,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(l,u,i),S=SuperMap.Plot.PlottingUtil.coordinateTrans(l,c,i);(p=[]).push(P),p.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var h=new SuperMap.Geometry.Point(.775*e,0),y=new SuperMap.Geometry.Point(.95*e,0),f=SuperMap.Plot.PlottingUtil.coordinateTrans(l,h,i),g=SuperMap.Plot.PlottingUtil.coordinateTrans(l,y,i);(p=[]).push(f),p.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var M=new SuperMap.Geometry.Point(e,.0125*e),b=new SuperMap.Geometry.Point(e,-.0125*e),m=new SuperMap.Geometry.Point(.75*e+.2*e,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(l,M,i),v=SuperMap.Plot.PlottingUtil.coordinateTrans(l,b,i),O=SuperMap.Plot.PlottingUtil.coordinateTrans(l,m,i);(p=[]).push(d),p.push(O),p.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var U=new SuperMap.Geometry.Point(.75*e+.025*e,0),w=SuperMap.Plot.PlottingUtil.coordinateTrans(l,U,i);(p=[]).push(O),p.push(w),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var L=new SuperMap.Geometry.Point(.75*e+.15*e,0),V=SuperMap.Plot.PlottingUtil.circlePoint(L,.075*e,.1*e,150),_=SuperMap.Plot.PlottingUtil.circlePoint(L,.075*e,.1*e,210),T=SuperMap.Plot.PlottingUtil.coordinateTrans(l,L,i),A=SuperMap.Plot.PlottingUtil.coordinateTrans(l,V,i),E=SuperMap.Plot.PlottingUtil.coordinateTrans(l,_,i);(p=[]).push(A),p.push(T),p.push(E),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var x=new SuperMap.Geometry.Point(.75*e+.05*e,.025*e),Y=new SuperMap.Geometry.Point(.75*e+.05*e,-.025*e),j=SuperMap.Plot.PlottingUtil.coordinateTrans(l,x,i),C=SuperMap.Plot.PlottingUtil.coordinateTrans(l,Y,i);(p=[]).push(j),p.push(C),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var I=new SuperMap.Geometry.Point(.75*e+.0125*e,0),G=new SuperMap.Geometry.Point(.75*e+.0125*e,.0125*e),B=SuperMap.Plot.PlottingUtil.coordinateTrans(l,I,i),R=SuperMap.Plot.PlottingUtil.coordinateTrans(l,G,i);(p=[]).push(B),p.push(R),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,p,{lineTypeLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol34500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1,l.scaleValues[1]=.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues[0]=.1,this.scaleValues[1]=.2);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=SuperMap.Plot.PlottingUtil.radian(l,o)*SuperMap.Plot.PlottingUtil.RTOD,n=this.scaleValues[0],a=this.scaleValues[1];if(!(n<0||a<0)){var r=n*e,s=1-a*(5/4);s<0&&(s=0),s>1&&(s=1);var p,u,c=e*s,P=SuperMap.Plot.PlottingUtil.circlePoint(l,c,c,i),S=[];S.push(t[0].clone()),S.push(P),p=SuperMap.Plot.PlottingUtil.paraLine(S,r,!0),u=SuperMap.Plot.PlottingUtil.paraLine(S,r,!1);var h,y=[];for(h=0;h<p.length;h++)y.push(p[h]);var f=[];for(h=0;h<u.length;h++)f.push(u[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=a*e,M=SuperMap.Plot.PlottingUtil.circlePoint(o,g/2,g/2,i);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],M,g/2,i+180);for(var b=[],m=.1*c,d=[],v=0;v<y.length;v++)d.push(y[v].clone());var O=[];for(h=0;h<f.length;h++)O.push(f[h].clone());var U=SuperMap.Plot.PlottingUtil.distance(O[0],O[1]);if(!(m>=U)){for(var w=m;w<c-r;w+=m){var L=SuperMap.Plot.PlottingUtil.circlePoint(O[0],w,w,i),V=SuperMap.Plot.PlottingUtil.circlePoint(L,U,U,i+45),_=SuperMap.Plot.PlottingUtil.intersectLines(L,V,d[0],d[1]);if(_.isIntersectLines){var T=_.intersectPoint;if(!SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(T,d).isOnPolyLine)break;(b=[]).push(L),b.push(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,{lineTypeLimit:!0,surroundLineLimit:!0})}}this.scalePoints=[];var A=SuperMap.Plot.PlottingUtil.circlePoint(l,r,r,i+90);this.addScalePoint(A);var E=g/2,x=SuperMap.Plot.PlottingUtil.circlePoint(o,E,E,i+90);this.addScalePoint(x),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i=SuperMap.Plot.PlottingUtil.polylineDistance(l);0==t?(o=SuperMap.Plot.PlottingUtil.distance(l[0],e)/i,this.scaleValues[0]=o):1==t&&(o=2*SuperMap.Plot.PlottingUtil.distance(l[1],e)/i,this.scaleValues[1]=o)}}}]),e}();SuperMap.Plot.AlgoSymbol34400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34300=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=SuperMap.Plot.PlottingUtil.radian(o,i)*SuperMap.Plot.PlottingUtil.RTOD,a=.02*l,r=[];for(e=0;e<360;e+=10)r.push(SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(0,0),a,a,e));r.push(r[0]);var s=[],p=new SuperMap.Geometry.Point(.1*l,0),u=SuperMap.Plot.PlottingUtil.coordinateTrans(o,p,n);for(e=0;e<r.length;e++)s.push(new SuperMap.Geometry.Point(r[e].x+u.x,r[e].y+u.y));var c={lineTypeLimit:!0,surroundLineLimit:!0,fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,c);var P=new SuperMap.Geometry.Point(.25*l,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(o,P,n);for(s=[],e=0;e<r.length;e++)s.push(new SuperMap.Geometry.Point(r[e].x+S.x,r[e].y+S.y));this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,c);var h=new SuperMap.Geometry.Point(.4*l,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(o,h,n);for(s=[],e=0;e<r.length;e++)s.push(new SuperMap.Geometry.Point(r[e].x+y.x,r[e].y+y.y));this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,c);var f=new SuperMap.Geometry.Point(.6*l,0),g=SuperMap.Plot.PlottingUtil.coordinateTrans(o,f,n);for(s=[],e=0;e<r.length;e++)s.push(new SuperMap.Geometry.Point(r[e].x+g.x,r[e].y+g.y));this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,c);var M=new SuperMap.Geometry.Point(.5*l,.05*l),b=new SuperMap.Geometry.Point(.7*l,.05*l),m=new SuperMap.Geometry.Point(.75*l,0),d=new SuperMap.Geometry.Point(.7*l,-.05*l),v=new SuperMap.Geometry.Point(.5*l,-.05*l),O=SuperMap.Plot.PlottingUtil.coordinateTrans(o,M,n),U=SuperMap.Plot.PlottingUtil.coordinateTrans(o,b,n),w=SuperMap.Plot.PlottingUtil.coordinateTrans(o,m,n),L=SuperMap.Plot.PlottingUtil.coordinateTrans(o,d,n),V=SuperMap.Plot.PlottingUtil.coordinateTrans(o,v,n);(s=[]).push(O),s.push(U),s.push(w),s.push(L),s.push(V),s.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol34300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol33400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.125),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<5&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.125),this.scaleValues.push(0)),this.scaleValues.length<6&&this.scaleValues.push(.1);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l,o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(((i=this.getDefaultSubSymbolSize()/n)>.3||i<=0)&&(i=.3),this.scaleValues[5]=i);var a=1.5*this.scaleValues[5];2==t.length?(this.isEdit||(this.scaleValues[3]=this.scaleValues[2]+a),l=this.scaleValues[2],o=this.scaleValues[3]):(SuperMap.Plot.PlottingUtil.equalFuzzy(this.scaleValues[4],0)&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.125)),this.isEdit||(this.scaleValues[4]=this.scaleValues[3]+a,((i=this.getDefaultSubSymbolSize()/n)>.3||i<=0)&&(i=.3),this.scaleValues[5]=i),l=this.scaleValues[3],o=this.scaleValues[4]);var r=n*l,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r,e);if(s.bfind){var p=s.index,u=s.pts,c=n*o;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(c,e)).bfind){for(var P=s.index,S=s.pts,h=new SuperMap.Geometry.Point(u.x,u.y),y=new SuperMap.Geometry.Point(S.x,S.y),f=SuperMap.Plot.PlottingUtil.radian(h,y)*SuperMap.Plot.PlottingUtil.RTOD,g=[],M=0;M<=p;M++)g.push(e[M]);for(g.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),(g=[]).push(S),M=P+1;M<e.length;M++)g.push(e[M]);this.addArrow(g,.5*this.scaleValues[5]);var b=SuperMap.Plot.PlottingUtil.distance(h,y),m=new SuperMap.Geometry.Point(2/3*b,.5/3*b),d=new SuperMap.Geometry.Point(0,.5/3*b),v=new SuperMap.Geometry.Point(0,-.5/3*b),O=new SuperMap.Geometry.Point(2/3*b,-.5/3*b),U=SuperMap.Plot.PlottingUtil.coordinateTrans(h,m,f),w=SuperMap.Plot.PlottingUtil.coordinateTrans(h,d,f),L=SuperMap.Plot.PlottingUtil.coordinateTrans(h,v,f),V=SuperMap.Plot.PlottingUtil.coordinateTrans(h,O,f);(g=[]).push(U),g.push(w),g.push(L),g.push(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);var _=b/3*2,T=SuperMap.Plot.PlottingUtil.radian(y,U)*SuperMap.Plot.PlottingUtil.RTOD,A=SuperMap.Plot.PlottingUtil.circlePoint(y,_,_,T),E=SuperMap.Plot.PlottingUtil.radian(y,V)*SuperMap.Plot.PlottingUtil.RTOD,x=SuperMap.Plot.PlottingUtil.circlePoint(y,_,_,E);(g=[]).push(A),g.push(S),g.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),this.scalePoints=[],this.addScalePoint(S);var Y=SuperMap.Plot.PlottingUtil.circlePoint(h,b/2,b/2,f+90);this.addScalePoint(Y),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.polylineDistance(o),r=0,s=0;if(2==l.length?(r=this.scaleValues[2],s=this.scaleValues[3]):(r=this.scaleValues[3],s=this.scaleValues[4]),0==t){for(var p=s-r,u=e.clone(),c=[],P=0;P<o.length;P++)c.push(o[P].clone());for(var S,h=-1,y=0,f=0;f<c.length-1;f++){var g=[];g.push(c[f]),g.push(c[f+1]);var M=SuperMap.Plot.PlottingUtil.projectPoint(u,c[f],c[f+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(M,g).isOnPolyLine){var b=SuperMap.Plot.PlottingUtil.distance(u,M);-1==h?(h=f,S=M,y=b):y>b&&(h=f,S=M,y=b)}}if(-1==h||h>c.length-1)return;i=0;for(var m=0;m<h;m++)i+=SuperMap.Plot.PlottingUtil.distance(o[m],o[m+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[h],S))<0||i>a)return;if((n=i/a)>.7||n-p<0)return;2==l.length?(this.scaleValues[2]=n-p,this.scaleValues[3]=n):(this.scaleValues[3]=n-p,this.scaleValues[4]=n)}else if(1==t){i=a*r;var d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,o);if(!d.bfind)return;var v=d.pts;if(.7<(n=(2*SuperMap.Plot.PlottingUtil.distance(v,e)+i)/a))return;2==l.length?this.scaleValues[3]=n:this.scaleValues[4]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol33400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol32900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);2===t.length?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),i=o;this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var n=e*this.scaleValues[0],a=this.scaleValues[1],r=a,s=this.scaleValues[3],p=this.scaleValues[4];i.x=o.x+s*e,i.y=o.y+p*e,this.computeSubSymbol(this.subSymbols[0],o,n,r),this.addScalePoint(i,0);var u=new SuperMap.Geometry.Point(i.x,i.y),c=SuperMap.Plot.PlottingUtil.circlePoint(u,n,n,0);this.addScalePoint(c,1);var P=SuperMap.Plot.PlottingUtil.circlePoint(u,2*n,2*n,a);this.addScalePoint(P,2),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),r=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t&&(o=(e.x-a.x)/r,this.scaleValues[3]=o,i=(e.y-a.y)/r,this.scaleValues[4]=i),1===t){o=this.scaleValues[3],i=this.scaleValues[4],n=new SuperMap.Geometry.Point(a.x+o*r,a.y+i*r);var s=SuperMap.Plot.PlottingUtil.distance(n,e)/r;this.scaleValues[0]=s}if(2===t){o=this.scaleValues[3],i=this.scaleValues[4],n=new SuperMap.Geometry.Point(a.x+o*r,a.y+i*r);var p=SuperMap.Plot.PlottingUtil.radian(n,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[1]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol32900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol32300=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=t[0],o=t[1];e=2==t.length?o:t[2];var i=new SuperMap.Geometry.Point((l.x+o.x)/2,(l.y+o.y)/2),n=SuperMap.Plot.PlottingUtil.distance(i,e),a=.5*n,r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i,e),s=r.pntLeft,p=r.pntRight,u=!(i.x>e.x),c=[];u?(c.push(l),c.push(s)):(c.push(l),c.push(p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var P=[];u?(P.push(o),P.push(p)):(P.push(o),P.push(s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var S,h,y,f,g=.37*n,M=SuperMap.Plot.PlottingUtil.linePnt(i,e,g),b=.09*n,m=[];m.push(M),m.push(new SuperMap.Geometry.Point(M.x,M.y+b)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,m),u?(S=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,i,M)).pntLeft,h=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*b,i,M)).pntLeft,y=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,S,h)).pntRight,f=r.pntLeft):(S=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,i,M)).pntRight,h=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*b,i,M)).pntRight,y=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,S,h)).pntRight,f=r.pntLeft);var d=[];d.push(S),d.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,{lineTypeLimit:!0});var v=[];v.push(y),v.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,{lineTypeLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol32300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31803=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);var i=.5*e,n=e*this.getSubSymbolScaleValue(),a=n,r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==r.index){var s=r.pt,p=new SuperMap.Geometry.Point(o[r.index].x,o[r.index].y),u=new SuperMap.Geometry.Point(o[r.index+1].x,o[r.index+1].y),c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,P=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,c+90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P]);var S=180*SuperMap.Plot.PlottingUtil.radian(s,P)/Math.PI,h=new SuperMap.Geometry.Point(-.2*n,.05*n),y=new SuperMap.Geometry.Point(-.2*n,-.05*n),f=SuperMap.Plot.PlottingUtil.coordinateTrans(P,h,S),g=SuperMap.Plot.PlottingUtil.coordinateTrans(P,y,S);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[P,f,g],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var M=new SuperMap.Geometry.Point(0,-.6*a);M=SuperMap.Plot.PlottingUtil.coordinateTrans(s,M,c),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],M,a,c-90),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol31803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31601=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var l=this.getDefaultSubSymbolSize()/e;(l>.3||l<=0)&&(l=.3),this.scaleValues[2]=l}var o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),i=Math.abs(t[1].x-t[0].x)*this.getSubSymbolScaleValue()*.5,n=Math.abs(t[1].y-t[0].y)*this.getSubSymbolScaleValue()*.5;if(t[0].y>t[1].y){var a=new SuperMap.Geometry.Point(o.x,t[0].y),r=new SuperMap.Geometry.Point(o.x,t[0].y-n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[a,r]);var s=new SuperMap.Geometry.Point(o.x,t[1].y),p=new SuperMap.Geometry.Point(o.x,t[1].y+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,p])}else{var u=new SuperMap.Geometry.Point(o.x,t[1].y),c=new SuperMap.Geometry.Point(o.x,t[1].y-n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c]);var P=new SuperMap.Geometry.Point(o.x,t[0].y),S=new SuperMap.Geometry.Point(o.x,t[0].y+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,S])}if(t[0].x>t[1].x){var h=new SuperMap.Geometry.Point(t[0].x,o.y),y=new SuperMap.Geometry.Point(t[0].x-i,o.y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[h,y]);var f=new SuperMap.Geometry.Point(t[1].x,o.y),g=new SuperMap.Geometry.Point(t[1].x+i,o.y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[f,g])}else{var M=new SuperMap.Geometry.Point(t[1].x,o.y),b=new SuperMap.Geometry.Point(t[1].x-i,o.y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[M,b]);var m=new SuperMap.Geometry.Point(t[0].x,o.y),d=new SuperMap.Geometry.Point(t[0].x+i,o.y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[m,d])}this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var v=new SuperMap.Geometry.Point(o.x+e*this.scaleValues[0],o.y+e*this.scaleValues[1]),O=e*this.scaleValues[2]*1.2;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],v,O,0),this.addScalePoint(v);var U=SuperMap.Plot.PlottingUtil.circlePoint(v,O/2,O/2,90);this.addScalePoint(U),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;this.scaleValues.lenth<3&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===t)o=(e.x-a.x)/n,this.scaleValues[0]=o,i=(e.y-a.y)/n,this.scaleValues[1]=i;else if(1===t){o=this.scaleValues[0],i=this.scaleValues[1];var r=new SuperMap.Geometry.Point(a.x+n*o,a.y+n*i),s=SuperMap.Plot.PlottingUtil.distance(r,e)/n;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol31601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues.push(.1),this.scaleValues.push(.1),this.scaleValues.push(0)),this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=Math.abs(t[1].x-t[0].x)*this.getSubSymbolScaleValue()*.5,i=new SuperMap.Geometry.Point(e.x-o,e.y+o),n=new SuperMap.Geometry.Point(e.x-3*o,e.y-o);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i,n]);var a=new SuperMap.Geometry.Point(e.x-o,e.y-o),r=new SuperMap.Geometry.Point(e.x-3*o,e.y+o);if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[a,r]),!this.isEdit){var s=this.getDefaultSubSymbolSize()/l;(s>.3||s<=0)&&(s=.3),this.scaleValues[0]=s}var p=new SuperMap.Geometry.Point(e.x+o,e.y),u=new SuperMap.Geometry.Point(e.x+4*o,e.y),c=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,P=l*this.scaleValues[0]*2,S=new SuperMap.Geometry.Point(e.x+l*this.scaleValues[1],e.y+l*this.scaleValues[2]);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,.8*P,c),this.addScalePoint(S);var h=SuperMap.Plot.PlottingUtil.circlePoint(S,P/2,P/2,90);this.addScalePoint(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;this.scaleValues.lenth<3&&(this.scaleValues.push(.1),this.scaleValues.push(.1),this.scaleValues.push(0));var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===t)o=(e.x-a.x)/n,this.scaleValues[1]=o,i=(e.y-a.y)/n,this.scaleValues[2]=i;else if(1===t){o=this.scaleValues[1],i=this.scaleValues[2];var r=new SuperMap.Geometry.Point(a.x+n*o,a.y+n*i),s=SuperMap.Plot.PlottingUtil.distance(r,e)/n;this.scaleValues[0]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol31600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31401=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31400),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var e=0;e=Math.abs(t[1].x-t[0].x)<Math.abs(t[1].y-t[0].y)?.1*Math.abs(t[1].x-t[0].x):.1*Math.abs(t[1].y-t[0].y);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=new SuperMap.Geometry.Point(l.x-e,l.y-e),i=new SuperMap.Geometry.Point(l.x+e,l.y-3*e),n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[o,i],n,!0);var a=new SuperMap.Geometry.Point(l.x-e,l.y+e),r=new SuperMap.Geometry.Point(l.x-3*e,l.y+3*e);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[a,r],n,!0);var s=new SuperMap.Geometry.Point(l.x+e,l.y+e),p=new SuperMap.Geometry.Point(l.x+3*e,l.y+3*e);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[s,p],n,!0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31400=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=0;l=Math.abs(t[1].x-t[0].x)<Math.abs(t[1].y-t[0].y)?.1*Math.abs(t[1].x-t[0].x):.1*Math.abs(t[1].y-t[0].y);var o=new SuperMap.Geometry.Point(e.x-l,e.y-l),i=new SuperMap.Geometry.Point(e.x+l,e.y+l);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[o,i],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31304=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 1===l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.1),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31300),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[1]*e,i=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],.5*e),n=SuperMap.Plot.PlottingUtil.linePnt(i,t[0],o),a=SuperMap.Plot.PlottingUtil.linePnt(i,t[1],o),r=this.scaleValues[0]*e,s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[1],t[0]),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s.pntLeft,s.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p.pntLeft,p.pntRight]);var u=[],c=[];u.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),u.push(new SuperMap.Geometry.Point(n.x,n.y)),c.push(new SuperMap.Geometry.Point(a.x,a.y)),c.push(new SuperMap.Geometry.Point(t[1].x,t[1].y));for(var P=this.scaleValues[this.scaleValues.length-1]*e,S=SuperMap.Plot.PlottingUtil.paraLine(u,P,!0),h=SuperMap.Plot.PlottingUtil.paraLine(u,P,!1),y=SuperMap.Plot.PlottingUtil.paraLine(c,P,!0),f=SuperMap.Plot.PlottingUtil.paraLine(c,P,!1),g=[],M=[],b=0;b<S.length;b++)g.push(S[b]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);for(var m=0;m<h.length;m++)M.push(h[m]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);for(var d=[],v=[],O=0;O<y.length;O++)d.push(y[O]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);for(var U=0;U<f.length;U++)v.push(f[U]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v);var w=n,L=a,V=SuperMap.Plot.PlottingUtil.radian(w,L)*SuperMap.Plot.PlottingUtil.RTOD,_=SuperMap.Plot.PlottingUtil.distance(w,L);this.addText("慑阻",i,_,V),this.addScalePoint(s.pntRight,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31304=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31303=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31300),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],.5*e),n=SuperMap.Plot.PlottingUtil.linePnt(i,t[0],o),a=SuperMap.Plot.PlottingUtil.linePnt(i,t[1],o);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],n]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[a,t[1]]);var r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]),s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[r.pntLeft,r.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s.pntLeft,s.pntRight]);var p=[],u=[];p.push(t[0]),p.push(n),u.push(a),u.push(t[1]);for(var c=SuperMap.Plot.PlottingUtil.paraLine(p,o,!0),P=SuperMap.Plot.PlottingUtil.paraLine(p,o,!1),S=SuperMap.Plot.PlottingUtil.paraLine(u,o,!0),h=SuperMap.Plot.PlottingUtil.paraLine(u,o,!1),y=[],f=[],g=0;g<c.length;g++)y.push(c[g]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);for(var M=0;M<P.length;M++)f.push(P[M]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);for(var b=[],m=[],d=0;d<S.length;d++)b.push(S[d]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);for(var v=0;v<h.length;v++)m.push(h[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var O=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],i,2*o,O),this.addScalePoint(r.pntRight,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31303=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31302=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31300),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=t[0],i=t[1],n=this.scaleValues[0]*e,a=SuperMap.Plot.PlottingUtil.linePnt(o,i,.5*e),r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,t[0],t[1]),s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,t[1],t[0]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[r.pntLeft,r.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s.pntLeft,s.pntRight]);var p=SuperMap.Plot.PlottingUtil.linePnt(a,o,n),u=SuperMap.Plot.PlottingUtil.linePnt(a,i,n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],p]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,t[1]]);var c=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,2*n,c),this.addScalePoint(s.pntRight),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31302=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31301=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31300),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[0],t[1]),n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i.pntLeft,i.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[n.pntLeft,n.pntRight]);var a=[],r=3*o;a.push(t[0]),a.push(t[1]);for(var s=SuperMap.Plot.PlottingUtil.paraLine(a,r,!0),p=SuperMap.Plot.PlottingUtil.paraLine(a,r,!1),u=[],c=0;c<s.length;c++)u.push(s[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,s[1],s[0]),S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,s[0],s[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P.pntLeft,P.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[S.pntLeft,S.pntRight]);for(var h=[],y=0;y<p.length;y++)h.push(p[y]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,p[1],p[0]),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,p[0],p[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[f.pntLeft,f.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[g.pntLeft,g.pntRight]),this.addScalePoint(n.pntRight,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[0],t[1]),n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i.pntLeft,i.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[n.pntLeft,n.pntRight]),this.addScalePoint(n.pntRight,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0===t){var n=l[0],a=e,r=SuperMap.Plot.PlottingUtil.distance(a,n)/o;this.scaleValues[0]=r}}}}]),e}();SuperMap.Plot.AlgoSymbol31300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30102=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(1.570796),l.scaleValues.push(.069485),l.scaleValues.push(.15),l.scaleValues.push(.1),l.scaleValues.push(1.731025),l.scaleValues.push(2.076877)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var i=e*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI,a=e*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==r.index){var s=r.index,p=r.pt,u=o[s],c=o[s+1],P=180*SuperMap.Plot.PlottingUtil.radian(u,c)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(p,a/2,a/2,P+n),h=SuperMap.Plot.PlottingUtil.circlePoint(p,a,a,P+n+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[S,h]);var y=180*SuperMap.Plot.PlottingUtil.radian(p,S)/Math.PI,f=new SuperMap.Geometry.Point(-.2*a,.05*a),g=new SuperMap.Geometry.Point(-.2*a,-.05*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(S,f,y),b=SuperMap.Plot.PlottingUtil.coordinateTrans(S,g,y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,M,b],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var m=.5*a*this.scaleValues[5],d=.5*a*this.scaleValues[6],v=new SuperMap.Geometry.Point(0,-.9*(m-.25*d)),O=new SuperMap.Geometry.Point(0,.9*(m-.25*d)),U=SuperMap.Plot.PlottingUtil.coordinateTrans(h,v,y),w=SuperMap.Plot.PlottingUtil.coordinateTrans(h,O,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[U,w]);var L=new SuperMap.Geometry.Point(0,m),V=SuperMap.Plot.PlottingUtil.coordinateTrans(h,L,y),_=new SuperMap.Geometry.Point(.5*d,-.25*d),T=new SuperMap.Geometry.Point(-.5*d,-.25*d),A=new SuperMap.Geometry.Point(-.5*d,.25*d),E=new SuperMap.Geometry.Point(.25*d,.25*d),x=SuperMap.Plot.PlottingUtil.coordinateTrans(V,_,y),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(V,T,y),j=SuperMap.Plot.PlottingUtil.coordinateTrans(V,A,y),C=SuperMap.Plot.PlottingUtil.coordinateTrans(V,E,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[x,Y,j,C,x]);var I=new SuperMap.Geometry.Point(0,-m),G=SuperMap.Plot.PlottingUtil.coordinateTrans(h,I,y),B=new SuperMap.Geometry.Point(0,.25*d),R=new SuperMap.Geometry.Point(.5*d,0),N=new SuperMap.Geometry.Point(0,-.25*d),D=new SuperMap.Geometry.Point(-.5*d,0),k=SuperMap.Plot.PlottingUtil.coordinateTrans(G,B,y),z=SuperMap.Plot.PlottingUtil.coordinateTrans(G,R,y),F=SuperMap.Plot.PlottingUtil.coordinateTrans(G,N,y),K=SuperMap.Plot.PlottingUtil.coordinateTrans(G,D,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[k,z,F,K,k]),this.addScalePoint(p,0);var q=SuperMap.Plot.PlottingUtil.circlePoint(p,a,a,P+n);this.addScalePoint(q,1);var W=new SuperMap.Geometry.Point(0,-m),J=SuperMap.Plot.PlottingUtil.coordinateTrans(h,W,y);this.addScalePoint(J,2);var Z=new SuperMap.Geometry.Point(-.5*d,0),H=SuperMap.Plot.PlottingUtil.coordinateTrans(V,Z,y);this.addScalePoint(H,3),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,a,r,s,p,u,c,P,S,h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(h=SuperMap.Plot.PlottingUtil.clearSamePts(h),0===t){for(var y=-1,f=0,g=new SuperMap.Geometry.Point(0,0),M=0;M<h.length-1;M++){var b=[];b.push(h[M]),b.push(h[M+1]);var m=SuperMap.Plot.PlottingUtil.projectPoint(e,h[M],h[M+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(m,b).index){var d=SuperMap.Plot.PlottingUtil.distance(e,m);-1==y?(y=M,g=m,f=d):f>d&&(y=M,g=m,f=d)}}if(-1==y||y>h.length-1)return;n=0;for(var v=0;v<y;v++)n+=SuperMap.Plot.PlottingUtil.distance(h[v],h[v+1]);if((n+=SuperMap.Plot.PlottingUtil.distance(h[y],g))<0||n>o)return;var O=n/o;this.scaleValues[0]=O}else if(1===t){a=o*this.scaleValues[0];var U=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a);if(-1===U.index)return;s=r=U.pt,p=h[U.index],u=h[U.index+1],c=SuperMap.Plot.PlottingUtil.radian(p,u);var w=SuperMap.Plot.PlottingUtil.radian(s,e)-c;this.scaleValues[1]=w;var L=(n=SuperMap.Plot.PlottingUtil.distance(r,e))/o;this.scaleValues[2]=L}else if(2===t){if(a=o*this.scaleValues[0],P=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a)).index)return;s=r.pt,p=h[r.index],u=h[r.index+1],c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,c+P-180);var V=SuperMap.Plot.PlottingUtil.distance(e,S)/(.4*n);this.scaleValues[5]=V}else if(3===t){if(a=o*this.scaleValues[0],P=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a)).index)return;s=r.pt,p=h[r.index],u=h[r.index+1],c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,c+P-180);var _=.4*n*this.scaleValues[5],T=SuperMap.Plot.PlottingUtil.circlePoint(S,_,_,c+P+90),A=2*SuperMap.Plot.PlottingUtil.distance(T,e)/(.4*n);if(this.scaleValues[5]-.25*A<=0)return;this.scaleValues[6]=A}}}}]),e}();SuperMap.Plot.AlgoSymbol30102=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.125),l.scaleValues.push(Math.PI/2)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);t=SuperMap.Plot.PlottingUtil.clearSamePts(t);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.125),this.scaleValues.push(Math.PI/2)),3===this.scaleValues.length&&this.scaleValues.push(this.getSubSymbolScaleValue()),!(t.length<this.minEditPts)){for(var l=0,o=0;o<t.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[1]=i,this.scaleValues[3]=i}var n=this.scaleValues[1],a=180*this.scaleValues[2]/Math.PI,r=l*this.scaleValues[0],s=l*this.scaleValues[3],p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,r);if(-1!==p.index){var u=p.pt,c=e[p.index],P=e[p.index+1],S=SuperMap.Plot.PlottingUtil.radian(c,P)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,s,s,S+a);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p.pt,h]);var y,f=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,g=l*n;0<this.subSymbols.length&&(y=SuperMap.Plot.PlottingUtil.circlePoint(u,s,s,S+a+180),this.computeSubSymbol(this.subSymbols[0],y,.8*g,S+a-180),this.addScalePoint(SuperMap.Plot.PlottingUtil.circlePoint(y,.5*g,.5*g,S+a+90),1)),y=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+30);var M=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+33),b=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt([h,y,M]);b=SuperMap.Plot.PlottingUtil.clearSamePts(b);var m=SuperMap.Plot.PlottingUtil.polylineDistance(b),d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.9*m,b);if(-1!==d.index){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b.slice(0,d.index));var v=SuperMap.Plot.PlottingUtil.radian(h,y)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point(-.2*s,.05*s),U=new SuperMap.Geometry.Point(-.2*s,-.05*s),w=SuperMap.Plot.PlottingUtil.coordinateTrans(y,O,v+17),L=SuperMap.Plot.PlottingUtil.coordinateTrans(y,U,v+17),V={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[y,w,L],V);var _=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+330),T=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+327),A=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt([h,_,T]);A=SuperMap.Plot.PlottingUtil.clearSamePts(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A.slice(0,d.index));var E=SuperMap.Plot.PlottingUtil.radian(h,_)*SuperMap.Plot.PlottingUtil.RTOD,x=SuperMap.Plot.PlottingUtil.coordinateTrans(_,O,E-17),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(_,U,E-17);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[_,x,Y],V),this.addScalePoint(u,0),this.addScalePoint(h,2),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,a,r,s,p=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(p=SuperMap.Plot.PlottingUtil.clearSamePts(p),0===t){for(var u=[],c=0;c<p.length;c++)u.push(new SuperMap.Geometry.Point(p[c].x,p[c].y));for(var P=-1,S=0,h=new SuperMap.Geometry.Point(0,0),y=0;y<u.length-1;y++){var f=[];f.push(u[y]),f.push(u[y+1]);var g=SuperMap.Plot.PlottingUtil.projectPoint(e,u[y],u[y+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(g,f).index){var M=SuperMap.Plot.PlottingUtil.distance(e,g);-1==P?(P=y,h=g,S=M):S>M&&(P=y,h=g,S=M)}}if(-1==P||P>u.length-1)return;for(var b=0,m=0;m<P;m++)b+=SuperMap.Plot.PlottingUtil.distance(p[m],p[m+1]);if((b+=SuperMap.Plot.PlottingUtil.distance(p[P],h))<0||b>o)return;var d=b/o;this.scaleValues[0]=d}else if(1===t){var v=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,o*this.scaleValues[0]);if(-1===v.index)return;n=v.pt,a=p[v.index],r=p[v.index+1],s=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD;var O=o*this.scaleValues[3],U=SuperMap.Plot.PlottingUtil.circlePoint(n,O,O,s+this.scaleValues[2]*SuperMap.Plot.PlottingUtil.RTOD+180),w=SuperMap.Plot.PlottingUtil.distance(U,e)/o*2;this.scaleValues[1]=w}else if(2===t){var L=o*this.scaleValues[0],V=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,L);if(-1===V.index)return;n=V.pt,a=p[V.index],r=p[V.index+1],s=SuperMap.Plot.PlottingUtil.radian(a,r);var _=SuperMap.Plot.PlottingUtil.radian(n,e)-s;this.scaleValues[2]=_}}}}]),e}();SuperMap.Plot.AlgoSymbol30800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30201=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30200),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1)),3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),0==this.scaleValues.length?(this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1),this.scaleValues.push(.05)):3==this.scaleValues.length&&(this.scaleValues[3]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[1]=2*this.getSubSymbolScaleValue(),this.scaleValues[3]=.5*this.getSubSymbolScaleValue());var o=e*this.scaleValues[1],i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,o);if(-1!==i.index){var n=t[0],a=i.pt,r=SuperMap.Plot.PlottingUtil.radian(n,a)*SuperMap.Plot.PlottingUtil.RTOD,s=new SuperMap.Geometry.Point(0,.1*o),p=new SuperMap.Geometry.Point(.4*o,.1*o),u=new SuperMap.Geometry.Point(.4*o,-.1*o),c=new SuperMap.Geometry.Point(0,-.1*o),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,r),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,r),h=SuperMap.Plot.PlottingUtil.coordinateTrans(n,u,r),y=SuperMap.Plot.PlottingUtil.coordinateTrans(n,c,r),f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,S,h,y,P],f);var g=new SuperMap.Geometry.Point(.3*o,.1*o),M=new SuperMap.Geometry.Point(.3*o,-.1*o),b=SuperMap.Plot.PlottingUtil.coordinateTrans(n,g,r),m=SuperMap.Plot.PlottingUtil.coordinateTrans(n,M,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[b,m]);var d=new SuperMap.Geometry.Point(.4*o,0),v=new SuperMap.Geometry.Point(.8*o,0),O=SuperMap.Plot.PlottingUtil.coordinateTrans(n,d,r),U=SuperMap.Plot.PlottingUtil.coordinateTrans(n,v,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[O,U]);var w=new SuperMap.Geometry.Point(.7*o,.025*o),L=new SuperMap.Geometry.Point(.7*o,-.025*o),V=SuperMap.Plot.PlottingUtil.coordinateTrans(n,w,r),_=SuperMap.Plot.PlottingUtil.coordinateTrans(n,L,r);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[U,V,_],f);var T=[];T.push(i.pt);for(var A=i.index+1;A<l.length;A++)T.push(l[A]);this.addArrow(T,this.scaleValues[3]),this.components[this.components.length-2].style.strokeDashstyle="dash",this.components[this.components.length-2].style.lineSymbolID=1,this.components[this.components.length-2].style.lineTypeLimit=!0;var E=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,r+90);this.addScalePoint(E,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol30201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(1e3),l.scaleValues.push(.2),l.scaleValues.push(.1),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length?(this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1),this.scaleValues.push(.05)):3==this.scaleValues.length&&(this.scaleValues[3]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[1]=2*this.getSubSymbolScaleValue(),this.scaleValues[3]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=e*this.scaleValues[1],i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,o);if(-1!==i.index){var n=t[0],a=i.pt,r=SuperMap.Plot.PlottingUtil.radian(n,a)*SuperMap.Plot.PlottingUtil.RTOD,s=new SuperMap.Geometry.Point(0,.1*o),p=new SuperMap.Geometry.Point(.4*o,.1*o),u=new SuperMap.Geometry.Point(.4*o,-.1*o),c=new SuperMap.Geometry.Point(0,-.1*o),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,r),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,r),h=SuperMap.Plot.PlottingUtil.coordinateTrans(n,u,r),y=SuperMap.Plot.PlottingUtil.coordinateTrans(n,c,r),f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,S,h,y,P],f);var g=.1*o,M=new SuperMap.Geometry.Point(.3*o,0),b=SuperMap.Plot.PlottingUtil.circlePoint(M,g,g,135),m=SuperMap.Plot.PlottingUtil.circlePoint(M,g,g,225),d=SuperMap.Plot.PlottingUtil.coordinateTrans(n,M,r),v=SuperMap.Plot.PlottingUtil.coordinateTrans(n,b,r),O=SuperMap.Plot.PlottingUtil.coordinateTrans(n,m,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[v,d,O]);var U=new SuperMap.Geometry.Point(.9*o,0),w=SuperMap.Plot.PlottingUtil.coordinateTrans(n,U,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[d,w]);var L=new SuperMap.Geometry.Point(.8*o,.025*o),V=new SuperMap.Geometry.Point(.8*o,-.025*o),_=SuperMap.Plot.PlottingUtil.coordinateTrans(n,L,r),T=SuperMap.Plot.PlottingUtil.coordinateTrans(n,V,r);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[w,_,T],f);var A=[];A.push(i.pt);for(var E=i.index+1;E<l.length;E++)A.push(l[E]);this.addArrow(A,this.scaleValues[3]),this.components[this.components.length-2].style.strokeDashstyle="dash",this.components[this.components.length-2].style.lineSymbolID=1,this.components[this.components.length-2].style.lineTypeLimit=!0;var x=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,r+90);this.addScalePoint(x,0),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n=l[0],a=e,r=SuperMap.Plot.PlottingUtil.distance(a,n);if(0===t){var s=r/o;if(.06>s||.3<s)return;this.scaleValues[1]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol30200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.069485),l.scaleValues.push(.15),l.scaleValues.push(.1),l.scaleValues.push(1.731025),l.scaleValues.push(2.076877)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var i=e*this.scaleValues[0],n=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,a=e*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==r.index){var s=r.pt,p=r.index,u=s,c=o[p],P=o[p+1],S=SuperMap.Plot.PlottingUtil.radian(c,P)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,1.5*a,1.5*a,S+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,h]);var y=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,f=new SuperMap.Geometry.Point(-.2*a,.05*a),g=new SuperMap.Geometry.Point(-.2*a,-.05*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(h,f,y),b=SuperMap.Plot.PlottingUtil.coordinateTrans(h,g,y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[h,M,b],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var m=new SuperMap.Geometry.Point(.6*a,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(u,m,y),v=.4*a*this.scaleValues[5],O=.4*a*this.scaleValues[6],U=new SuperMap.Geometry.Point(0,-.9*(v-.25*O)),w=new SuperMap.Geometry.Point(0,.9*(v-.25*O)),L=SuperMap.Plot.PlottingUtil.coordinateTrans(d,U,y),V=SuperMap.Plot.PlottingUtil.coordinateTrans(d,w,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[L,V]);var _=new SuperMap.Geometry.Point(0,v),T=SuperMap.Plot.PlottingUtil.coordinateTrans(d,_,y),A=new SuperMap.Geometry.Point(0,.25*O),E=new SuperMap.Geometry.Point(.5*O,0),x=new SuperMap.Geometry.Point(0,-.25*O),Y=new SuperMap.Geometry.Point(-.5*O,0),j=SuperMap.Plot.PlottingUtil.coordinateTrans(T,A,y),C=SuperMap.Plot.PlottingUtil.coordinateTrans(T,E,y),I=SuperMap.Plot.PlottingUtil.coordinateTrans(T,x,y),G=SuperMap.Plot.PlottingUtil.coordinateTrans(T,Y,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[j,C,I,G,j]);var B=new SuperMap.Geometry.Point(0,-v),R=SuperMap.Plot.PlottingUtil.coordinateTrans(d,B,y),N=SuperMap.Plot.PlottingUtil.coordinateTrans(R,A,y),D=SuperMap.Plot.PlottingUtil.coordinateTrans(R,E,y),k=SuperMap.Plot.PlottingUtil.coordinateTrans(R,x,y),z=SuperMap.Plot.PlottingUtil.coordinateTrans(R,Y,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[N,D,k,z,N]),this.addScalePoint(s,0),this.addScalePoint(h,1);var F=new SuperMap.Geometry.Point(0,-v),K=SuperMap.Plot.PlottingUtil.coordinateTrans(d,F,y);this.addScalePoint(K,2),this.addScalePoint(G,3),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,a,r,s,p,u,c,P,S,h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(h=SuperMap.Plot.PlottingUtil.clearSamePts(h),0===t){for(var y=[],f=0;f<h.length;f++)y.push(new SuperMap.Geometry.Point(h[f].x,h[f].y));for(var g=-1,M=0,b=new SuperMap.Geometry.Point(0,0),m=0;m<y.length-1;m++){var d=[];d.push(y[m]),d.push(y[m+1]);var v=SuperMap.Plot.PlottingUtil.projectPoint(e,y[m],y[m+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(v,d).index){var O=SuperMap.Plot.PlottingUtil.distance(e,v);-1==g?(g=m,b=v,M=O):M>O&&(g=m,b=v,M=O)}}if(-1==g||g>y.length-1)return;n=0;for(var U=0;U<g;U++)n+=SuperMap.Plot.PlottingUtil.distance(h[U],h[U+1]);if((n+=SuperMap.Plot.PlottingUtil.distance(h[g],b))<0||n>o)return;var w=n/o;this.scaleValues[0]=w}else if(1===t){a=o*this.scaleValues[0];var L=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a);if(-1===L.index)return;r=L.pt,s=h[L.index],p=h[L.index+1],u=SuperMap.Plot.PlottingUtil.radian(s,p);var V=(S=SuperMap.Plot.PlottingUtil.radian(r,e))-u;this.scaleValues[1]=V;var _=(n=SuperMap.Plot.PlottingUtil.distance(r,e))/o/1.5;this.scaleValues[2]=_}else if(2===t){if(a=o*this.scaleValues[0],c=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a)).index)return;P=r.pt,s=h[r.index],p=h[r.index+1],u=180*SuperMap.Plot.PlottingUtil.radian(s,p)/Math.PI;var T=SuperMap.Plot.PlottingUtil.circlePoint(P,.4*n,.4*n,u+c),A=SuperMap.Plot.PlottingUtil.distance(e,T)/(.4*n);this.scaleValues[5]=A}else if(3===t){if(a=o*this.scaleValues[0],c=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a)).index)return;P=r.pt,s=h[r.index],p=h[r.index+1],S=(u=180*SuperMap.Plot.PlottingUtil.radian(s,p)/Math.PI)+c;var E=new SuperMap.Geometry.Point(.6*n,0),x=SuperMap.Plot.PlottingUtil.coordinateTrans(P,E,S),Y=.4*n*this.scaleValues[5],j=new SuperMap.Geometry.Point(0,Y),C=SuperMap.Plot.PlottingUtil.coordinateTrans(x,j,S),I=2*SuperMap.Plot.PlottingUtil.distance(C,e)/(.4*n);this.scaleValues[6]=I}}}}]),e}();SuperMap.Plot.AlgoSymbol30100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30002=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30001),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getSubSymbolScaleValue();this.scaleValues[2]=o,this.scaleValues[4]=o}var i=l*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI,a=l*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,i);if(-1!==r.index){var s=r.pt,p=new SuperMap.Geometry.Point(e[r.index].x,e[r.index].y),u=new SuperMap.Geometry.Point(e[r.index+1].x,e[r.index+1].y),c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,P=SuperMap.Plot.PlottingUtil.circlePoint(s,a,a,c+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P]);var S=180*SuperMap.Plot.PlottingUtil.radian(s,P)/Math.PI,h=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*a,.2*a,S-157.5),y=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*a,.2*a,S+157.5);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[P,h,y],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});for(var f=4.5*(l*this.scaleValues[4])*Math.sin(Math.PI/8),g=this.getLeftSubSymbolPts(f),M=e[0].clone(),b=-1,m=null,d=1;d<e.length;d++)if(SuperMap.Plot.PlottingUtil.distance(M,e[d])>.5*f){b=d-1,m=SuperMap.Plot.PlottingUtil.linePnt(M,e[d],.5*f);break}-1===b&&(b=e.length-1,m=e[e.length-1]);var v=null;if(null!==m){for(var O=180*SuperMap.Plot.PlottingUtil.radian(M,m)/Math.PI,U=[],w=0;w<g.length;w++)U.push(SuperMap.Plot.PlottingUtil.coordinateTrans(M,g[w],O));v=U[3].clone(),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U)}for(var L=this.getRightSubSymbolPts(f),V=e[e.length-1].clone(),_=-1,T=null,A=e.length-2;A>=0;A--)if(SuperMap.Plot.PlottingUtil.distance(V,e[A])>.5*f){_=A,T=SuperMap.Plot.PlottingUtil.linePnt(V,e[A],.5*f);break}if(-1===_&&(_=0,T=e[0]),null!==T){for(var E=180*SuperMap.Plot.PlottingUtil.radian(V,T)/Math.PI,x=[],Y=0;Y<L.length;Y++)x.push(SuperMap.Plot.PlottingUtil.coordinateTrans(V,L[Y],E));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,x)}if(b<=_){var j=[];j.push(m);for(var C=b+1;C<=_;C++)j.push(e[C]);j.push(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,j)}this.addScalePoint(s),this.addScalePoint(P),null!==v&&this.addScalePoint(v),this.finish()}}}},{key:"getRightSubSymbolPts",value:function(t){var e=.25*t,l=[];return l.push(new SuperMap.Geometry.Point(0,2*e)),l.push(new SuperMap.Geometry.Point(2*e,2*e)),l.push(new SuperMap.Geometry.Point(2*e,-e)),l.push(new SuperMap.Geometry.Point(0,-2*e)),l.push(new SuperMap.Geometry.Point(0,2*e)),l}}]),e}();SuperMap.Plot.AlgoSymbol30002=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getSubSymbolScaleValue();(o>.2||o<=0)&&(o=.2),this.scaleValues[2]=o,this.scaleValues[4]=o}var i=l*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI,a=l*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,i);if(-1!==r.index){var s=r.pt,p=new SuperMap.Geometry.Point(e[r.index].x,e[r.index].y),u=new SuperMap.Geometry.Point(e[r.index+1].x,e[r.index+1].y),c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,P=SuperMap.Plot.PlottingUtil.circlePoint(s,a,a,c+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P]);var S=180*SuperMap.Plot.PlottingUtil.radian(s,P)/Math.PI,h=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*a,.2*a,S-157.5),y=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*a,.2*a,S+157.5);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[P,h,y],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});for(var f=4.5*(l*this.scaleValues[4])*Math.sin(Math.PI/8),g=this.getLeftSubSymbolPts(f),M=e[0].clone(),b=-1,m=null,d=1;d<e.length;d++)if(SuperMap.Plot.PlottingUtil.distance(M,e[d])>.5*f){b=d-1,m=SuperMap.Plot.PlottingUtil.linePnt(M,e[d],.5*f);break}-1===b&&(b=e.length-1,m=e[e.length-1]);var v=null;if(null!==m){for(var O=180*SuperMap.Plot.PlottingUtil.radian(M,m)/Math.PI,U=[],w=0;w<g.length;w++)U.push(SuperMap.Plot.PlottingUtil.coordinateTrans(M,g[w],O));v=U[3].clone(),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U)}for(var L=this.getRightSubSymbolPts(f),V=e[e.length-1].clone(),_=-1,T=null,A=e.length-2;A>=0;A--)if(SuperMap.Plot.PlottingUtil.distance(V,e[A])>.5*f){_=A,T=SuperMap.Plot.PlottingUtil.linePnt(V,e[A],.5*f);break}if(-1===_&&(_=0,T=e[0]),null!==T){for(var E=180*SuperMap.Plot.PlottingUtil.radian(V,T)/Math.PI,x=[],Y=0;Y<L.length;Y++)x.push(SuperMap.Plot.PlottingUtil.coordinateTrans(V,L[Y],E));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,x)}if(b<=_){var j=[];j.push(m);for(var C=b+1;C<=_;C++)j.push(e[C]);j.push(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,j)}this.addScalePoint(s),this.addScalePoint(P),null!==v&&this.addScalePoint(v),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var a=-1,r=0,s=new SuperMap.Geometry.Point(0,0),p=0;p<o.length-1;p++){var u=[];u.push(o[p]),u.push(o[p+1]);var c=SuperMap.Plot.PlottingUtil.projectPoint(e,o[p],o[p+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(c,u).index){var P=SuperMap.Plot.PlottingUtil.distance(e,c);isNaN(P)||(-1==a?(a=p,s=c,r=P):r>P&&(a=p,s=c,r=P))}}if(-1===a||a>o.length-1)return;i=0;for(var S=0;S<a;S++)i+=SuperMap.Plot.PlottingUtil.distance(o[S],o[S+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[a],s))<0||i>n)return;var h=i/n;this.scaleValues[0]=h}else if(1===t){var y=n*this.scaleValues[0],f=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,y);if(-1===f.index)return;var g=f.pt,M=o[f.index],b=o[f.index+1],m=SuperMap.Plot.PlottingUtil.radian(M,b),d=SuperMap.Plot.PlottingUtil.radian(g,e)-m;this.scaleValues[1]=d;var v=(i=SuperMap.Plot.PlottingUtil.distance(g,e))/n;this.scaleValues[2]=v}else if(2===t){var O=SuperMap.Plot.PlottingUtil.distance(e,l[0])/n;O>.35&&(O=.35),this.scaleValues[4]=O}}}},{key:"getLeftSubSymbolPts",value:function(t){var e=.25*t,l=[],o=new SuperMap.Geometry.Point(0,0),i=new SuperMap.Geometry.Point(e,-2*e),n=new SuperMap.Geometry.Point(2*e,0),a=new SuperMap.Geometry.Point(e,2*e);return l.push(o),l.push(i),l.push(n),l.push(a),l.push(o),l}},{key:"getRightSubSymbolPts",value:function(t){return this.getLeftSubSymbolPts(t)}}]),e}();SuperMap.Plot.AlgoSymbol30001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);var i=e*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI;if(!this.isEdit){var a=this.getSubSymbolScaleValue();this.scaleValues[2]=a}var r=e*this.scaleValues[2],s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==s.index){var p=s.pt,u=new SuperMap.Geometry.Point(o[s.index].x,o[s.index].y),c=new SuperMap.Geometry.Point(o[s.index+1].x,o[s.index+1].y),P=180*SuperMap.Plot.PlottingUtil.radian(u,c)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(p,r,r,P+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p,S]);var h=180*SuperMap.Plot.PlottingUtil.radian(p,S)/Math.PI,y=new SuperMap.Geometry.Point(-.2*r,.05*r),f=new SuperMap.Geometry.Point(-.2*r,-.05*r),g=SuperMap.Plot.PlottingUtil.coordinateTrans(S,y,h),M=SuperMap.Plot.PlottingUtil.coordinateTrans(S,f,h);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,g,M],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addScalePoint(p,0),this.addScalePoint(S,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var a=-1,r=0,s=new SuperMap.Geometry.Point(0,0),p=0;p<o.length-1;p++){var u=[];u.push(o[p]),u.push(o[p+1]);var c=SuperMap.Plot.PlottingUtil.projectPoint(e,o[p],o[p+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(c,u).index){var P=SuperMap.Plot.PlottingUtil.distance(e,c);-1==a?(a=p,s=c,r=P):r>P&&(a=p,s=c,r=P)}}if(-1==a||a>o.length-1)return;i=0;for(var S=0;S<a;S++)i+=SuperMap.Plot.PlottingUtil.distance(o[S],o[S+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[a],s))<0||i>n)return;var h=i/n;this.scaleValues[0]=h}else if(1===t){var y=n*this.scaleValues[0],f=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,y);if(-1===f.index)return;var g=f.pt,M=o[f.index],b=o[f.index+1],m=SuperMap.Plot.PlottingUtil.radian(M,b),d=SuperMap.Plot.PlottingUtil.radian(g,e)-m;this.scaleValues[1]=d;var v=(i=SuperMap.Plot.PlottingUtil.distance(g,e))/n;this.scaleValues[2]=v}}}}]),e}();SuperMap.Plot.AlgoSymbol30000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29903=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05,l.scaleValues[2]=.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.05,this.scaleValues[2]=.02):1===this.scaleValues.length?(this.scaleValues[1]=this.getSubSymbolScaleValue(),this.scaleValues[2]=.5*this.getSubSymbolScaleValue()):2===this.scaleValues.length&&(this.scaleValues[2]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=this.getSubSymbolScaleValue(),this.scaleValues[2]=.5*this.getSubSymbolScaleValue()}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,r,a-180);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);if(this.addArrow(p,this.scaleValues[2]),p.length>=2){var P=l*this.scaleValues[1],S=.3*P,h=.8*P,y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l-h,e),f=1.1*P,g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l-f,e),M=180*SuperMap.Plot.PlottingUtil.radian(y.pts,g.pts)/Math.PI,b=SuperMap.Plot.PlottingUtil.circlePoint(y.pts,S,S,M+90),m=SuperMap.Plot.PlottingUtil.circlePoint(y.pts,S,S,M+270),d=SuperMap.Plot.PlottingUtil.circlePoint(g.pts,S,S,M+90),v=SuperMap.Plot.PlottingUtil.circlePoint(g.pts,S,S,M+270),O=[];O.push(b),O.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),(O=[]).push(d),O.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O)}}var U=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),w=SuperMap.Plot.PlottingUtil.circlePoint(U.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,a+90);this.addScalePoint(w,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.4?a:.4}}}]),e}();SuperMap.Plot.AlgoSymbol29903=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 10!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.2),l.scaleValues.push(.2),l.scaleValues.push(.4),l.scaleValues.push(.4),l.scaleValues.push(.1),l.scaleValues.push(.2),l.scaleValues.push(.1),l.scaleValues.push(.2),l.scaleValues.push(1),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var o,i=e*this.scaleValues[4],n=e*this.scaleValues[5],a=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),r=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],a+n);o=(this.scaleValues[8],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],r));var s,p=e*this.scaleValues[6],u=e*this.scaleValues[7],c=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],a+u);s=(this.scaleValues[9],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,t[0],c));var P=[];P.push(new SuperMap.Geometry.Point(o.pntLeft.x,o.pntLeft.y)),P.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),P.push(new SuperMap.Geometry.Point(t[1].x,t[1].y)),P.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y));var S=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(P);S=SuperMap.Plot.PlottingUtil.clearSamePts(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.addScalePoint(o.pntLeft,3),this.addScalePoint(s.pntRight,4),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.projectPoint(e,l[0],l[1]);if(t<=2&&SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments),3===t){var n=SuperMap.Plot.PlottingUtil.distance(e,i)/o,a=SuperMap.Plot.PlottingUtil.distance(i,l[0])/o;this.scaleValues[4]=n,this.scaleValues[5]=a,SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e)?this.scaleValues[8]=1:this.scaleValues[8]=0}if(4===t){var r=SuperMap.Plot.PlottingUtil.distance(e,i)/o,s=SuperMap.Plot.PlottingUtil.distance(i,l[1])/o;this.scaleValues[6]=r,this.scaleValues[7]=s,SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e)?this.scaleValues[9]=1:this.scaleValues[9]=0}}}}]),e}();SuperMap.Plot.AlgoSymbol29800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var a=new SuperMap.Geometry.Point(t[0].x,t[0].y),r=new SuperMap.Geometry.Point(t[1].x,t[1].y),s=180*SuperMap.Plot.PlottingUtil.radian(a,r)/Math.PI,p=a,u=i[0],c=[];c.push(p),c.push(u),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c);var P=new SuperMap.Geometry.Point(0,.8*o),S=new SuperMap.Geometry.Point(0,-.8*o),h=SuperMap.Plot.PlottingUtil.coordinateTrans(p,P,s),y=SuperMap.Plot.PlottingUtil.coordinateTrans(p,S,s);(c=[]).push(h),c.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var f=new SuperMap.Geometry.Point(-.3*o,.4*o),g=new SuperMap.Geometry.Point(-.3*o,-.4*o),M=SuperMap.Plot.PlottingUtil.coordinateTrans(p,f,s),b=SuperMap.Plot.PlottingUtil.coordinateTrans(p,g,s);(c=[]).push(M),c.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var m=new SuperMap.Geometry.Point(.3*o,.4*o),d=new SuperMap.Geometry.Point(.3*o,-.4*o),v=SuperMap.Plot.PlottingUtil.coordinateTrans(p,m,s),O=SuperMap.Plot.PlottingUtil.coordinateTrans(p,d,s);(c=[]).push(v),c.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var U=new SuperMap.Geometry.Point((a.x+r.x)/2,(a.y+r.y)/2),w=new SuperMap.Geometry.Point((i[0].x+i[i.length-1].x)/2,(i[i.length-1].y+i[0].y)/2);(c=[]).push(U),c.push(w),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c);var L=SuperMap.Plot.PlottingUtil.coordinateTrans(U,P,s),V=SuperMap.Plot.PlottingUtil.coordinateTrans(U,S,s);(c=[]).push(L),c.push(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var _=SuperMap.Plot.PlottingUtil.coordinateTrans(U,f,s),T=SuperMap.Plot.PlottingUtil.coordinateTrans(U,g,s);(c=[]).push(_),c.push(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var A=SuperMap.Plot.PlottingUtil.coordinateTrans(U,m,s),E=SuperMap.Plot.PlottingUtil.coordinateTrans(U,d,s);(c=[]).push(A),c.push(E),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var x=r,Y=i[i.length-1];(c=[]).push(x),c.push(Y),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c);var j=SuperMap.Plot.PlottingUtil.coordinateTrans(x,P,s),C=SuperMap.Plot.PlottingUtil.coordinateTrans(x,S,s);(c=[]).push(j),c.push(C),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var I=SuperMap.Plot.PlottingUtil.coordinateTrans(x,f,s),G=SuperMap.Plot.PlottingUtil.coordinateTrans(x,g,s);(c=[]).push(I),c.push(G),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var B=SuperMap.Plot.PlottingUtil.coordinateTrans(x,m,s),R=SuperMap.Plot.PlottingUtil.coordinateTrans(x,d,s);(c=[]).push(B),c.push(R),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.addScalePoint(i[0],0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n=new SuperMap.Geometry.Point(l[0].x,l[0].y),a=new SuperMap.Geometry.Point(e.x,e.y),r=SuperMap.Plot.PlottingUtil.distance(n,a)/o;this.scaleValues[0]=r}}}]),e}();SuperMap.Plot.AlgoSymbol29401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29103=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29100),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=[];o=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o);for(var i=0;i<4;i++){var n=i*(o.length-1)/4,a=new SuperMap.Geometry.Point(o[n].x,o[n].y),r=new SuperMap.Geometry.Point(o[n+1].x,o[n+1].y),s=new SuperMap.Geometry.Point((a.x+r.x)/2,(a.y+r.y)/2),p=180*SuperMap.Plot.PlottingUtil.radian(s,r)/Math.PI,u=e*this.scaleValues[0]/2,c=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p),P=SuperMap.Plot.PlottingUtil.circlePoint(s,4*u,4*u,p+270),S=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+180);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[c,P,S],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29103=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29101=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29100),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.25*this.getSubSymbolScaleValue());var l=[];l=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);for(var o=0;o<4;o++){var i=o*(l.length-1)/4,n=new SuperMap.Geometry.Point(l[i].x,l[i].y),a=new SuperMap.Geometry.Point(l[i+1].x,l[i+1].y),r=new SuperMap.Geometry.Point((n.x+a.x)/2,(n.y+a.y)/2),s=SuperMap.Plot.PlottingUtil.radian(r,a)*SuperMap.Plot.PlottingUtil.RTOD,p=this.scaleValues[0]*e/2,u=SuperMap.Plot.PlottingUtil.circlePoint(r,p,p,s),c=SuperMap.Plot.PlottingUtil.circlePoint(r,4*p,4*p,s+270),P=SuperMap.Plot.PlottingUtil.circlePoint(r,p,p,s+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c,P])}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.25*this.getSubSymbolScaleValue());var l=[];l=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);for(var o=0;o<4;o++){var i=Math.floor(o*l.length/4),n=new SuperMap.Geometry.Point(l[i].x,l[i].y),a=new SuperMap.Geometry.Point(l[i+1].x,l[i+1].y),r=new SuperMap.Geometry.Point((n.x+a.x)/2,(n.y+a.y)/2),s=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD,p=this.scaleValues[0]*e/2,u=SuperMap.Plot.PlottingUtil.circlePoint(r,p,p,s),c=SuperMap.Plot.PlottingUtil.circlePoint(r,4*p,4*p,s+270),P=SuperMap.Plot.PlottingUtil.circlePoint(r,p,p,s+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c,P],{lineTypeLimit:!0,surroundLineLimit:!0})}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29003=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.02),this.scaleValues.push(0)),this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var l,o,i=SuperMap.Plot.PlottingUtil.polylineDistance(e),n=this.scaleValues[0],a=this.scaleValues[1],r=SuperMap.Plot.PlottingUtil.polylineDistance(t),s=n*r,p=.083*r,u=0,c=.01*r,P=0,S=0;S<=i;S+=p){if(1==P||11==P||6==P){u=S+c;var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(u,e);if(!h.bfind)return;l=h.index,o=h.pts;var y=[],f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[l],o);0==a?y.push(f.pntLeft):y.push(f.pntRight),1==P&&(this.scalePoints=[],this.addScalePoint(y[0])),y.push(o);var g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,y[0],y[1]),M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,y[1],y[0]),b=[];b.push(g.pntLeft),b.push(g.pntRight),b.push(M.pntLeft),b.push(M.pntRight),b.push(g.pntLeft.clone());this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,{SurroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0})}P++}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;if(0==t){var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),i=this.scaleValues[0],n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=i*n,r=.01*n,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r,o);if(!s.bfind)return;var p=s.pts,u=s.index,c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,o[u],p).pntLeft,P=SuperMap.Plot.PlottingUtil.projectPoint(e,c,p),S=SuperMap.Plot.PlottingUtil.distance(P,p),h=SuperMap.Plot.PlottingUtil.pointIsRightToLine(P,p,e);this.scaleValues[1]=h?1:0,this.scaleValues[0]=S/n}}}}]),e}();SuperMap.Plot.AlgoSymbol29003=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29002=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29001),o(e,[{key:"calculateParts",value:function(){(function t(e,l,o){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,l);if(void 0===i){var n=Object.getPrototypeOf(e);return null===n?void 0:t(n,l,o)}if("value"in i)return i.value;var a=i.get;return void 0!==a?a.call(o):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"calculateParts",this).call(this)}}]),e}();SuperMap.Plot.AlgoSymbol29002=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29001=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t.length,l=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),o=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,i=.3*l,n=t[1].clone(),a=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],2*l);this.subSymbols.length>1&&(this.computeSubSymbol(this.subSymbols[0],n,i,o),this.computeSubSymbol(this.subSymbols[1],a,i,o));var r,s=[];2==e?(r=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t),s.push.apply(s,r)):3==e&&(r=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),s=s.concat(r));var p,u=new SuperMap.Geometry.Point(.8*l,.1*l),c=new SuperMap.Geometry.Point(1.2*l,.1*l),P=new SuperMap.Geometry.Point(1.2*l,.1*-l),S=new SuperMap.Geometry.Point(.9*l,.1*-l),h=[];h.push(u),h.push(c),h.push(P),h.push(S);var y=[],f=0;for(f=0;f<4;f++)p=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],h[f],o),y.push(p);var g=new SuperMap.Geometry.Point(-.8*l,.1*l),M=new SuperMap.Geometry.Point(-1.2*l,.1*l),b=new SuperMap.Geometry.Point(-1.1*l,.1*-l),m=new SuperMap.Geometry.Point(-.8*l,.1*-l);(h=[]).push(g),h.push(M),h.push(b),h.push(m);var d=[];for(f=0;f<4;f++)p=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],h[f],o),d.push(p);for(var v,O=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],3*l),U=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],2*l),w=[],L=0;L<s.length-1;L++){var V=SuperMap.Plot.PlottingUtil.intersectLines(s[L],s[L+1],O,U);V.isIntersectLines&&(v=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(V.intersectPoint,s)).isOnPolyLine&&w.push(V.intersectPoint)}if(!(0>=w.length)&&(v=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(w[0],s)).isOnPolyLine){var _=[];for(f=v.index+1;f<s.length;f++)_.push(s[f]);for(f=0;f<=v.index;f++)_.push(s[f]);var T=[],A=[];SuperMap.Plot.PlottingUtil.ptIsInPolygon(y,w[0])?(T.push.apply(T,y),A.push.apply(A,d)):(T.push.apply(T,d),A.push.apply(A,y));var E=[],x=[];for(v=-1,f=0;f<_.length;f++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(T,_[f])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(A,_[f])){v=f;break}E.push(_[f])}if(-1!=v)for(f=v;f<_.length;f++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(A,_[f])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(T,_[f]))break;x.push(_[f])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,x),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol29001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=t.length,o=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),i=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,n=[];2==l?(e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t),n.push.apply(n,e)):3==l&&(e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),n=n.concat(e));var a,r=new SuperMap.Geometry.Point(.8*o,.1*o),s=new SuperMap.Geometry.Point(1.2*o,.1*o),p=new SuperMap.Geometry.Point(1.2*o,.1*-o),u=new SuperMap.Geometry.Point(.9*o,.1*-o),c=[];c.push(r),c.push(s),c.push(p),c.push(u);var P=[],S=0;for(S=0;S<4;S++)a=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],c[S],i),P.push(a);var h=new SuperMap.Geometry.Point(-.8*o,.1*o),y=new SuperMap.Geometry.Point(-1.2*o,.1*o),f=new SuperMap.Geometry.Point(-1.1*o,.1*-o),g=new SuperMap.Geometry.Point(-.8*o,.1*-o);(c=[]).push(h),c.push(y),c.push(f),c.push(g);var M=[];for(S=0;S<4;S++)a=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],c[S],i),M.push(a);var b,m=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],3*o),d=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],2*o),v=[];for(S=0;S<n.length-1;S++){var O=SuperMap.Plot.PlottingUtil.intersectLines(n[S],n[S+1],m,d);O.isIntersectLines&&(b=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(O.intersectPoint,n)).isOnPolyLine&&v.push(O.intersectPoint)}if(!(0>=v.length)&&(b=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(v[0],n)).isOnPolyLine){var U=[];for(S=b.index+1;S<n.length;S++)U.push(n[S]);for(S=0;S<=b.index;S++)U.push(n[S]);var w=[],L=[];SuperMap.Plot.PlottingUtil.ptIsInPolygon(P,v[0])?(w.push.apply(w,P),L.push.apply(L,M)):(w.push.apply(w,M),L.push.apply(L,P));var V=[],_=[];for(b=-1,S=0;S<U.length;S++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(w,U[S])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(L,U[S])){b=S;break}V.push(U[S])}if(-1!==b)for(S=b;S<U.length;S++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(L,U[S])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(w,U[S]))break;_.push(U[S])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_),this.addLine(V),this.addLine(_),this.finish()}}}},{key:"addLine",value:function(t){for(var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=0;l<t.length-2;l++){var o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.02*e,t);if(-1!==o.index){var i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*e,t);if(-1!==i.index){var n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.92*e,t);if(-1!==n.index&&(l===o.index||l===o.index+1||l===n.index||l===n.index+1||l===i.index||l===i.index+1)){var a=SuperMap.Plot.PlottingUtil.radian(t[l+1],t[l])*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.circlePoint(t[l+1],.02*e,.02*e,a+90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[l+1],r])}}}}}}]),e}();SuperMap.Plot.AlgoSymbol29000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5)),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var i=e[0],n=e[1],a=e[e.length-2],r=e[e.length-1],s=l*this.scaleValues[0]*.6,p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,n,i),u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,a,r),c=p.pntLeft,P=u.pntRight,S=[];S.push(i),S.push(c);for(var h=new SuperMap.Geometry.Point((i.x+c.x)/2,(i.y+c.y)/2),y=SuperMap.Plot.PlottingUtil.polylineDistance(S)/2,f=[],g=180*SuperMap.Plot.PlottingUtil.radian(n,i)/Math.PI,M=270+g;M<=360+g;M+=3)f.push(SuperMap.Plot.PlottingUtil.circlePoint(h,y,y,M));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var b=[];b.push(r),b.push(P);var m=[];m.push(r),m.push(P);for(var d=new SuperMap.Geometry.Point((r.x+P.x)/2,(r.y+P.y)/2),v=SuperMap.Plot.PlottingUtil.polylineDistance(m)/2,O=[],U=180*SuperMap.Plot.PlottingUtil.radian(r,P)/Math.PI,w=90+U;w<=180+U;w+=3)O.push(SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,w));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol28900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.087081),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.087081),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],a=this.scaleValues[2],r=this.scaleValues[3],s=o*n,p=.5*SuperMap.Plot.PlottingUtil.distance(t[0],l),u=new SuperMap.Geometry.Point(l.x+o*a-p,l.y+o*r);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],u,s,180),this.addScalePoint(u);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(u,c,c,0);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),r=SuperMap.Plot.PlottingUtil.polylineDistance(l),s=.5*SuperMap.Plot.PlottingUtil.distance(l[0],a);if(0===t)i=(e.x+s-a.x)/r,this.scaleValues[2]=i,n=(e.y-a.y)/r,this.scaleValues[3]=n;else if(1===t){i=this.scaleValues[2],n=this.scaleValues[3];var p=new SuperMap.Geometry.Point(a.x-s+r*i,a.y+r*n),u=SuperMap.Plot.PlottingUtil.distance(p,e)/r;this.scaleValues[0]=u}}}}]),e}();SuperMap.Plot.AlgoSymbol28400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.3),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.3),this.scaleValues.push(1)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e,l,o=t[0].clone(),i=t[1].clone(),n=SuperMap.Plot.PlottingUtil.distance(o,i),a=this.scaleValues[0],r=this.scaleValues[1];if(SuperMap.Plot.PlottingUtil.equalFuzzy(1,r))e=SuperMap.Plot.PlottingUtil.radian(o,i)+270*SuperMap.Plot.PlottingUtil.DTOR;else e=SuperMap.Plot.PlottingUtil.radian(o,i)+90*SuperMap.Plot.PlottingUtil.DTOR,l=o,o=i,i=l;var s=n*a*.67,p=SuperMap.Plot.PlottingUtil.circlePoint(o,s,s,e*SuperMap.Plot.PlottingUtil.RTOD);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,n*a,e*SuperMap.Plot.PlottingUtil.RTOD);var u=SuperMap.Plot.PlottingUtil.circlePoint(i,s,s,e*SuperMap.Plot.PlottingUtil.RTOD);this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],u,n*a,e*SuperMap.Plot.PlottingUtil.RTOD),this.scalePoints=[];var c=e*SuperMap.Plot.PlottingUtil.RTOD,P=n*a,S=t[0].clone(),h=SuperMap.Plot.PlottingUtil.circlePoint(S,P,P,c);this.addScalePoint(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l))[0].clone(),i=l[1].clone(),n=e.clone(),a=SuperMap.Plot.PlottingUtil.distance(o,i),r=SuperMap.Plot.PlottingUtil.plumbLineLen(n,o,i)/a;if(r<0||SuperMap.Plot.PlottingUtil.equalFuzzy(r,0))return;this.scaleValues[0]=r,SuperMap.Plot.PlottingUtil.pointIsRightToLine(o,i,n)?this.scaleValues[1]=1:this.scaleValues[1]=0}}}]),e}();SuperMap.Plot.AlgoSymbol28301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var i=l*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],o,i,0),this.scalePoints=[];var n=SuperMap.Plot.PlottingUtil.circlePoint(o,i,i,0);this.addScalePoint(n),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=[];o=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=SuperMap.Plot.PlottingUtil.distance(e,n)/i;this.scaleValues[0]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol28300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=e*this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(l/2,t[0],t[1]),i=o.pntRight,n=o.pntLeft,a=SuperMap.Plot.PlottingUtil.radian(i,n)*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.circlePoint(i,l/6,l/6,a-170),s=SuperMap.Plot.PlottingUtil.circlePoint(n,l/6,l/6,a+10),p=[];p.push(r),p.push(i),p.push(n),p.push(s),this.scalePoints=[],this.addScalePoint(i);var u=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(p);u=SuperMap.Plot.PlottingUtil.clearSamePts(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var c=SuperMap.Plot.PlottingUtil.paraLine(p,e,!0),P=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(c);P=SuperMap.Plot.PlottingUtil.clearSamePts(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==t){var i=2*SuperMap.Plot.PlottingUtil.distance(e,l[1])/o;this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol28201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28200=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol28200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.349066)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,i=0,n=0;n<t.length-1;n++)i+=SuperMap.Plot.PlottingUtil.distance(e,l);var a=this.scaleValues[0]*i;this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[e,new SuperMap.Geometry.Point(e.x+a,e.y)],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var r=180*this.scaleValues[1]/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(e,i,i,o-r),p=SuperMap.Plot.PlottingUtil.circlePoint(e,i,i,o+r);this.addCell(SuperMap.Plot.SymbolType.ARCSYMBOL,[s,l,p],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],t[1]],{surroundLineFlag:!1},!0);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,a,a,o-90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,s],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var c=SuperMap.Plot.PlottingUtil.circlePoint(e,a,a,o+90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c,p],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c],{surroundLineFlag:!1},!0);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,a,a,o+180);this.addScalePoint(new SuperMap.Geometry.Point(P.x,P.y),0),this.addScalePoint(p,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=new SuperMap.Geometry.Point(l[0].x,l[0].y),i=new SuperMap.Geometry.Point(l[1].x,l[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,a=SuperMap.Plot.PlottingUtil.distance(o,i);if(0===t){var r=SuperMap.Plot.PlottingUtil.distance(o,e)/a;this.scaleValues[0]=r}if(1===t){var s=180*SuperMap.Plot.PlottingUtil.radian(o,e)/Math.PI,p=Math.abs(s-n);if(p>270&&p<360&&(p=360-p),p>90)return;this.scaleValues[1]=p*Math.PI/180}}}}]),e}();SuperMap.Plot.AlgoSymbol28100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.349066)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l,o,i,n,a,r,s=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,p=new SuperMap.Geometry.Point(t[0].x,t[0].y),u=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),c=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,P=new SuperMap.Geometry.Point(0,0);if(2<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i))),(n=[]).push(t[0]);for(var S=0;S<e.length;S++)n.push(new SuperMap.Geometry.Point(e[S].x,e[S].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),a=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),P=new SuperMap.Geometry.Point(a.x,a.y),(r=[]).push(t[0]),r.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}var h=new SuperMap.Geometry.Point(0,0);if(3<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[2].x,t[2].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i)));var y=[];if(0==e.length)return void(y.length>0&&(y=[]));(n=[]).push(t[0]);for(var f=0;f<e.length;f++)n.push(new SuperMap.Geometry.Point(e[f].x,e[f].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});for(var g=new SuperMap.Geometry.Point(t[1].x,t[1].y),M=SuperMap.Plot.PlottingUtil.distance(p,g)*this.scaleValues[0],b=[],m=90;m<=270;m+=3)b.push(SuperMap.Plot.PlottingUtil.circlePoint(p,M,M,c+m));n=[];for(var d=b.length-1;d>=0;d--)n.push(new SuperMap.Geometry.Point(b[d].x,b[d].y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),(n=[]).push(new SuperMap.Geometry.Point(b[0].x,b[0].y)),n.push(new SuperMap.Geometry.Point(e[e.length-1].x,e[e.length-1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),(n=[]).push(new SuperMap.Geometry.Point(e[0].x,e[0].y)),n.push(new SuperMap.Geometry.Point(b[b.length-1].x,b[b.length-1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),a=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),h=new SuperMap.Geometry.Point(a.x,a.y),(r=[]).push(P),r.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}var v=new SuperMap.Geometry.Point(0,0);if(4<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[3].x,t[3].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<=c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i))),(n=[]).push(t[0]);for(var O=0;O<e.length;O++)n.push(new SuperMap.Geometry.Point(e[O].x,e[O].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),a=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),v=new SuperMap.Geometry.Point(a.x,a.y),(r=[]).push(h),r.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}if(3>t.length)this.addScalePoint(t[0]);else{var U=SuperMap.Plot.PlottingUtil.distance(t[0],t[1])*this.scaleValues[0],w=SuperMap.Plot.PlottingUtil.circlePoint(p,U,U,c+180);this.addScalePoint(w,0)}var L=SuperMap.Plot.PlottingUtil.distance(t[0],t[t.length-1]),V=SuperMap.Plot.PlottingUtil.circlePoint(p,L,L,c+s);this.addScalePoint(V,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l,o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(o=SuperMap.Plot.PlottingUtil.clearSamePts(o),0==t){if(3>o.length)return;var i=new SuperMap.Geometry.Point(o[0].x,o[0].y),n=new SuperMap.Geometry.Point(e.x,e.y),a=SuperMap.Plot.PlottingUtil.distance(i,n),r=new SuperMap.Geometry.Point(o[1].x,o[1].y);if((l=a/SuperMap.Plot.PlottingUtil.distance(i,r))>=2.5)return;this.scaleValues[0]=l}else if(1==t){var s=new SuperMap.Geometry.Point(o[0].x,o[0].y),p=new SuperMap.Geometry.Point(o[o.length-1].x,o[o.length-1].y),u=SuperMap.Plot.PlottingUtil.radian(s,p),c=new SuperMap.Geometry.Point(e.x,e.y);if(l=SuperMap.Plot.PlottingUtil.radian(s,c)-u,(l=Math.abs(l))>Math.PI/2&&l<3*Math.PI/2)return;l>3*Math.PI/2&&l<=2*Math.PI&&(l=2*Math.PI-l),this.scaleValues[1]=Math.abs(l)}}}}]),e}();SuperMap.Plot.AlgoSymbol28000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27902=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol27900),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[t[0],new SuperMap.Geometry.Point(t[0].x-e*this.scaleValues[0],t[0].y)],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!0,fill:!0,fillColor:"#ffff00",fillOpacity:1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[new SuperMap.Geometry.Point(t[0].x+e*(this.scaleValues[0]+.1),t[0].y+e*this.scaleValues[0]),new SuperMap.Geometry.Point(t[0].x-e*(this.scaleValues[0]+.1),t[0].y+e*this.scaleValues[0])]);var l=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e*this.scaleValues[0],e*this.scaleValues[0],90);this.addScalePoint(l,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol27902=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27901=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol27900),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[t[0],new SuperMap.Geometry.Point(t[0].x-e*this.scaleValues[0],t[0].y)],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!0,fill:!0,fillColor:"#ffff00",fillOpacity:1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[new SuperMap.Geometry.Point(t[0].x+e*(this.scaleValues[0]+.1),t[0].y-e*this.scaleValues[0]),new SuperMap.Geometry.Point(t[0].x-e*(this.scaleValues[0]+.1),t[0].y-e*this.scaleValues[0])]);var l=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e*this.scaleValues[0],e*this.scaleValues[0],90);this.addScalePoint(l,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol27901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.25),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[t[0],new SuperMap.Geometry.Point(t[0].x-e*this.scaleValues[0],t[0].y)],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!0,fill:!0,fillColor:"#ffff00",fillOpacity:1});var l=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e*this.scaleValues[0],e*this.scaleValues[0],90);this.addScalePoint(l,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=new SuperMap.Geometry.Point(this.controlPoints[0].x,this.controlPoints[0].y),o=new SuperMap.Geometry.Point(this.controlPoints[1].x,this.controlPoints[1].y),i=new SuperMap.Geometry.Point(e.x,e.y),n=SuperMap.Plot.PlottingUtil.distance(l,i)/SuperMap.Plot.PlottingUtil.distance(l,o);.9<n&&(n=.9),this.scaleValues[0]=n}}}]),e}();SuperMap.Plot.AlgoSymbol27900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27701=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.03),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&this.scaleValues.push(.03);for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=[];o=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());var n=this.scaleValues[0]*e*2,a=this.scaleValues[0]*e,r=new SuperMap.Geometry.Point(i.x-n-a,i.y),s=new SuperMap.Geometry.Point(i.x-n,i.y),p=new SuperMap.Geometry.Point(i.x-n+a,i.y),u=new SuperMap.Geometry.Point(i.x+n,i.y),c=new SuperMap.Geometry.Point(i.x+n+a,i.y),P=new SuperMap.Geometry.Point(i.x+n+2*a,i.y),S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,r,s),h=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,s,p),y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,u,c),f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,c,P),g=[];g.push(new SuperMap.Geometry.Point(S.pntLeft.x,S.pntLeft.y)),g.push(new SuperMap.Geometry.Point(r.x,r.y)),g.push(new SuperMap.Geometry.Point(S.pntRight.x,S.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),(g=[]).push(new SuperMap.Geometry.Point(h.pntLeft.x,h.pntLeft.y)),g.push(new SuperMap.Geometry.Point(s.x,s.y)),g.push(new SuperMap.Geometry.Point(h.pntRight.x,h.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),(g=[]).push(new SuperMap.Geometry.Point(y.pntLeft.x,y.pntLeft.y)),g.push(new SuperMap.Geometry.Point(u.x,u.y)),g.push(new SuperMap.Geometry.Point(y.pntRight.x,y.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),(g=[]).push(new SuperMap.Geometry.Point(f.pntLeft.x,f.pntLeft.y)),g.push(new SuperMap.Geometry.Point(c.x,c.y)),g.push(new SuperMap.Geometry.Point(f.pntRight.x,f.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol27701=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var a=new SuperMap.Geometry.Point(t[0].x,t[0].y),r=new SuperMap.Geometry.Point(t[1].x,t[1].y),s=180*SuperMap.Plot.PlottingUtil.radian(a,r)/Math.PI;if(90<s&&s<270){var p=a;a=r,r=p,s=180*SuperMap.Plot.PlottingUtil.radian(a,r)/Math.PI}var u=new SuperMap.Geometry.Point(.25*e,0),c=new SuperMap.Geometry.Point(.25*e+.2*o,.3*o),P=new SuperMap.Geometry.Point(.25*e+.2*o,-.3*o),S=SuperMap.Plot.PlottingUtil.coordinateTrans(a,u,s),h=SuperMap.Plot.PlottingUtil.coordinateTrans(a,c,s),y=SuperMap.Plot.PlottingUtil.coordinateTrans(a,P,s),f=[];f.push(new SuperMap.Geometry.Point(h.x,h.y)),f.push(new SuperMap.Geometry.Point(S.x,S.y)),f.push(new SuperMap.Geometry.Point(y.x,y.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=new SuperMap.Geometry.Point(.3*e,0),M=new SuperMap.Geometry.Point(.3*e+.2*o,.3*o),b=new SuperMap.Geometry.Point(.3*e+.2*o,-.3*o),m=SuperMap.Plot.PlottingUtil.coordinateTrans(a,g,s),d=SuperMap.Plot.PlottingUtil.coordinateTrans(a,M,s),v=SuperMap.Plot.PlottingUtil.coordinateTrans(a,b,s);(f=[]).push(new SuperMap.Geometry.Point(d.x,d.y)),f.push(new SuperMap.Geometry.Point(m.x,m.y)),f.push(new SuperMap.Geometry.Point(v.x,v.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var O=new SuperMap.Geometry.Point(.7*e,0),U=new SuperMap.Geometry.Point(.7*e+.2*o,.3*o),w=new SuperMap.Geometry.Point(.7*e+.2*o,-.3*o),L=SuperMap.Plot.PlottingUtil.coordinateTrans(a,O,s),V=SuperMap.Plot.PlottingUtil.coordinateTrans(a,U,s),_=SuperMap.Plot.PlottingUtil.coordinateTrans(a,w,s);(f=[]).push(new SuperMap.Geometry.Point(V.x,V.y)),f.push(new SuperMap.Geometry.Point(L.x,L.y)),f.push(new SuperMap.Geometry.Point(_.x,_.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var T=new SuperMap.Geometry.Point(.75*e,0),A=new SuperMap.Geometry.Point(.75*e+.2*o,.3*o),E=new SuperMap.Geometry.Point(.75*e+.2*o,-.3*o),x=SuperMap.Plot.PlottingUtil.coordinateTrans(a,T,s),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(a,A,s),j=SuperMap.Plot.PlottingUtil.coordinateTrans(a,E,s);(f=[]).push(new SuperMap.Geometry.Point(Y.x,Y.y)),f.push(new SuperMap.Geometry.Point(x.x,x.y)),f.push(new SuperMap.Geometry.Point(j.x,j.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addScalePoint(i[0],0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){for(var l=0,o=0;o<this.controlPoints.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[o],this.controlPoints[o+1]);var i=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],e)/l;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol27700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27300=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=[];l=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),i=new SuperMap.Geometry.Point(o.x,0);if(!1===this.polylineConnectLocationPoint){for(var n=0,a=-1,r=0;r<l.length-1;r++){var s=SuperMap.Plot.PlottingUtil.intersectLines(o,new SuperMap.Geometry.Point(o.x,o.y+1),l[r],l[r+1]);s.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.intersectPoint,l[r],l[r+1])&&i.x===s.intersectPoint.x&&(0==n?(i.y=s.intersectPoint.y,a=r):i.y<s.intersectPoint.y&&(i.y=s.intersectPoint.y,a=r),n++))}var p=this.getSubSymbolScaleValue()*e,u=[];u.push(i);for(var c=a+1;c<l.length-1;c++)u.push(new SuperMap.Geometry.Point(l[c].x,l[c].y));for(var P=0;P<=a;P++)u.push(new SuperMap.Geometry.Point(l[P].x,l[P].y));var S=.8*p,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(u,S);if(-1===h.index)return;var y=[];y.push(h.pt);for(var f=h.index+1;f<u.length-1;f++)y.push(u[f]);u=[];for(var g=y.length-1;g>0;g--)u.push(y[g]);var M=SuperMap.Plot.PlottingUtil.findPointInPolyLine(u,S);if(-1===M.index)return;(y=[]).push(M.pt);for(var b=M.index+1;b<u.length-1;b++)y.push(u[b]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],i,p,0)}else{var m=t[0],d=t[1],v=SuperMap.Plot.PlottingUtil.distance(m,d),O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.2*v,[m,d]);if(-1===O.index)return;var U=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.4*v,[m,d]);if(-1===U.index)return;var w=[];w.push(t[0]),w.push(O.pts),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),(w=[]).push(U.pts);for(var L=1;L<t.length;L++)w.push(t[L]);w.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w);var V=new SuperMap.Geometry.Point((O.pts.x+U.pts.x)/2,(O.pts.y+U.pts.y)/2);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],V,.1*v,0)}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol27300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1,l.scaleValues[1]=.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues[0]=.1,this.scaleValues[1]=.2),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var e,l,o=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),i=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,n=this.scaleValues[0],a=this.scaleValues[1],r=n*o,s=[];for(e=90;e<=270;e+=3)l=SuperMap.Plot.PlottingUtil.circlePoint(t[0],r,r,e+i),s.push(l);var p=[];for(e=-90;e<=90;e+=3)l=SuperMap.Plot.PlottingUtil.circlePoint(t[1],r,r,e+i),p.push(l);var u=o*a,c=new SuperMap.Geometry.Point((s[0].x+p[p.length-1].x)/2,(s[0].y+p[p.length-1].y)/2),P=SuperMap.Plot.PlottingUtil.linePnt(s[0],p[p.length-1],.5*(o-1.2*u)),S=SuperMap.Plot.PlottingUtil.linePnt(p[p.length-1],s[0],.5*(o-1.2*u)),h=SuperMap.Plot.PlottingUtil.radian(S,P)*SuperMap.Plot.PlottingUtil.RTOD,y=[];y.push(P),y.push.apply(y,s),y.push.apply(y,p),y.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],c,.9*u,h-90),this.scalePoints=[],this.addScalePoint(s[s.length-1]);var f=SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,h+90);this.addScalePoint(f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}else if(1==t){var n=this.scaleValues[0]*o,a=SuperMap.Plot.PlottingUtil.radian(l[0],l[1])*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.circlePoint(l[0],n,n,90+a),s=SuperMap.Plot.PlottingUtil.circlePoint(l[1],n,n,90+a),p=new SuperMap.Geometry.Point((r.x+s.x)/2,(r.y+s.y)/2),u=SuperMap.Plot.PlottingUtil.distance(p,e)/o;u>=.8&&(u=.8),this.scaleValues[1]=u}}}}]),e}();SuperMap.Plot.AlgoSymbol27100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(2===this.controlPoints.length)this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);else if(3===this.controlPoints.length){var e=new SuperMap.Geometry.Point(this.controlPoints[0].x,this.controlPoints[0].y),l=new SuperMap.Geometry.Point(this.controlPoints[1].x,this.controlPoints[1].y),o=new SuperMap.Geometry.Point(this.controlPoints[2].x,this.controlPoints[2].y),i=SuperMap.Plot.PlottingUtil.distance(l,o);if(0>=i)return;this.scaleValues=[];var n=SuperMap.Plot.PlottingUtil.distance(e,l)/i;this.scaleValues.push(n);var a=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD;a>90?a-=90:a=270+a,this.scaleValues.push(a*SuperMap.Plot.PlottingUtil.DTOR);var r=SuperMap.Plot.PlottingUtil.radian(e,o)*SuperMap.Plot.PlottingUtil.RTOD;r>90?r-=90:r=270+r,this.scaleValues.push(r*SuperMap.Plot.PlottingUtil.DTOR);var s=this.scaleValues[0]*i,p=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD+90,u=this.scaleValues[2]*SuperMap.Plot.PlottingUtil.RTOD+90;p<u&&(p+=360);for(var c,P=[],S=p;S>=u;S-=4)c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],s,s,S),P.push(c);S!=u&&(c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],s,s,u),P.push(c)),P.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P)}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol26800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),r=2*o*.8,s=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,r,s),0===this.scaleValues[1]?this.addScalePoint(i[0]):this.addScalePoint(n[0]),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===o)return;if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol26700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26601=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l,o,i=SuperMap.Plot.PlottingUtil.polylineDistance(e),n=.1*i,a=.5*n,r=this.computeDashLine(n,a,e),s=.01*i,p=0;p<r.length;p++)l=SuperMap.Plot.PlottingUtil.paraLine(r[p],s,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),o=SuperMap.Plot.PlottingUtil.paraLine(r[p],s,!1),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);this.finish()}}},{key:"computeDashLine",value:function(t,e,l){for(var o,i,n=[],a=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=l[0].clone(),s=1,p=0,u=!0,c=!0;p<a;){var P;(i=[]).push(r),p+=t;var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,l);if(P=S.index,o=S.pts,!(u=S.bfind))break;if(s<P)for(var h=s;h<P;h++)i.push(l[h]);i.push(o),n.push(i),p+=e;var y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,l);if(P=y.index,r=y.pts,s=P+1,!(c=y.bfind))break}if(!u){(i=[]).push(r);for(var f=s;f<l.length;f++)i.push(l[f]);2===i.length&&0===SuperMap.Plot.PlottingUtil.distance(i[0],i[1])||n.push(i)}if(!c){var g=l[l.length-1],M=SuperMap.Plot.PlottingUtil.distance(o,g);if(M*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(M,0)){var b=SuperMap.Plot.PlottingUtil.linePnt(g,o,M);(i=[]).push(b),i.push(g),n.push(i)}}return n}}]),e}();SuperMap.Plot.AlgoSymbol26601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26600=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=.1*SuperMap.Plot.PlottingUtil.polylineDistance(e),o=.5*l;this.computeDashLine(l,o,e),this.finish()}}},{key:"computeDashLine",value:function(t,e,l){for(var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=l[0].clone(),r=1,s=0,p=!0,u=!0;s<n;){var c;(i=[]).push(a),s+=t;var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=P.index,o=P.pts,!(p=P.bfind))break;if(r<c)for(var S=r;S<c;S++)i.push(l[S]);i.push(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),s+=e;var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=h.index,a=h.pts,r=c+1,!(u=h.bfind))break}if(!p){(i=[]).push(a);for(var y=r;y<l.length;y++)i.push(l[y]);2===i.length&&0===SuperMap.Plot.PlottingUtil.distance(i[0],i[1])||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}if(!u){var f=l[l.length-1],g=SuperMap.Plot.PlottingUtil.distance(o,f);if(g*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(g,0)){var M=SuperMap.Plot.PlottingUtil.linePnt(f,o,g);(i=[]).push(M),i.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}}}}]),e}();SuperMap.Plot.AlgoSymbol26600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26503=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol22000),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5)),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}for(var i=l*this.scaleValues[0],n=this.getLinePts(e,this.scaleValues[0]),a=[],r=[],s=0;s<=n.startIndex;s++)a.push(e[s]);if(a.push(n.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),n.endIndex<=e.length){r.push(n.endPt);for(var p=n.endIndex+1;p<=e.length-1;p++)r.push(e[p]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r)}var u=.5*i,c=new SuperMap.Geometry.Point(n.endPt.x,n.endPt.y),P=new SuperMap.Geometry.Point(n.startPt.x,n.startPt.y),S=SuperMap.Plot.PlottingUtil.distance(c,P),h=.2*S,y=SuperMap.Plot.PlottingUtil.linePnt(c,P,h),f=SuperMap.Plot.PlottingUtil.linePnt(P,c,h),g=.5*S,M=SuperMap.Plot.PlottingUtil.linePnt(c,P,g),b=new SuperMap.Geometry.Point((f.x+M.x)/2,(f.y+M.y)/2),m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(u,f,b),d=m.pntLeft,v=m.pntRight,O=[];O.push(v),O.push(f),O.push(d),this.addCell(SuperMap.Plot.SymbolType.ARCSYMBOL,O,null,!0);var U=.1*S,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(U,f,M),L=w.pntLeft,V=w.pntRight,_=[];_.push(f),_.push(L),_.push(V);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,_,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var T=[];T.push(M),T.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T,null,!0);var A=new SuperMap.Geometry.Point((n.startPt.x+n.endPt.x)/2,(n.startPt.y+n.endPt.y)/2),E=180*SuperMap.Plot.PlottingUtil.radian(n.startPt,n.endPt)/Math.PI,x=.5*l*this.scaleValues[0],Y=SuperMap.Plot.PlottingUtil.circlePoint(A,x,x,E+90),j=e[0],C=e[1],I=e[e.length-2],G=e[e.length-1],B=.5*i,R=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(B,C,j),N=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(B,I,G),D=R.pntLeft,k=N.pntLeft,z=[];z.push(j),z.push(D),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,z);var F=[];F.push(G),F.push(k),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,F),this.addScalePoint(Y),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol26503=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol26502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol22000),e}();SuperMap.Plot.AlgoSymbol26502=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5)),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.8*r,a);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,a);this.addScalePoint(S,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol26501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,l/2);if(-1!==o.index){var i=o.pt,n=this.getDefaultSubSymbolSize()/l;(n>.3||n<=0)&&(n=.3),this.scaleValues[0]=n;var a=1.5*this.scaleValues[0]*l,r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,e[o.index],i),s=[];s.push(r.pntLeft),s.push(i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s,null,!0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol26500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05),l.scaleValues.push(-1.5)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit){this.scaleValues=[];for(var e=0;e<t.length;e++)this.scaleValues.splice(e,0,0);var l=this.getSubSymbolScaleValue();this.scaleValues[t.length]=.8*l,this.scaleValues[t.length+1]=l,this.scaleValues[t.length+2]=-1.5;var o=.5*SuperMap.Plot.PlottingUtil.distance(t[0],t[1])/SuperMap.Plot.PlottingUtil.polylineDistance(t);this.scaleValues[t.length+3]=o,this.scaleValues[t.length+4]=l}this.isEdit&&this.scaleValues.length===t.length+3&&(this.scaleValues[t.length+3]=.5*SuperMap.Plot.PlottingUtil.distance(t[0],t[1])/SuperMap.Plot.PlottingUtil.polylineDistance(t),this.scaleValues[t.length+4]=.05);var i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=i*this.scaleValues[this.scaleValues.length-1],a=i*this.scaleValues[this.scaleValues.length-2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,a-.5*n);if(-1!==r.index){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,a+.5*n);if(-1!==s.index){var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,a).pt,u=SuperMap.Plot.PlottingUtil.radian(r.pt,s.pt)*SuperMap.Plot.PlottingUtil.RTOD;if(0===this.subSymbols.length){var c=new SuperMap.Geometry.Point(p.x+.1*n,p.y);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[p,c],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0)}else this.computeSubSymbol(this.subSymbols[0],p,.8*n,u);for(var P=[],S=[],h=0;h<=r.index;h++)P.push(t[h]);P.push(r.pt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),S.push(s.pt);for(var y=r.index+1;y<=t.length-1;y++)S.push(t[y]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var f,g,M,b=SuperMap.Plot.PlottingUtil.polylineDistance(t),m=this.scaleValues.length,d=b*this.scaleValues[m-5],v=this.scaleValues[0];if(0===v)f=(g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[1],t[0])).pntRight;else if(1===v)f=(g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[1],t[0])).pntLeft;else{if(2!==v)return;f=t[0]}var O,U,w,L,V=[];if(V.push(t[0]),V.push(f),this.addScalePoint(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,null,!0),t.length>this.minEditPts){for(var _,T,A,E,x,Y=1;Y<t.length-1;Y++){var j,C,I,G=this.scaleValues[Y];if(0===G){for(_=t[Y],C=t[Y+1],I=t[Y-1],T=180*SuperMap.Plot.PlottingUtil.radian(_,C)/Math.PI,A=180*SuperMap.Plot.PlottingUtil.radian(_,I)/Math.PI-T;A<0;)A+=360;E=A/2,x=t[Y+1].clone(),x=SuperMap.Plot.PlottingUtil.rotateAngle(_,E*Math.PI/180,x),j=SuperMap.Plot.PlottingUtil.linePnt(_,x,d)}else if(1===G){for(_=t[Y],C=t[Y+1],I=t[Y-1],T=180*SuperMap.Plot.PlottingUtil.radian(_,C)/Math.PI,A=180*SuperMap.Plot.PlottingUtil.radian(_,I)/Math.PI-T;A<0;)A+=360;E=180-A/2,x=t[Y-1].clone(),x=SuperMap.Plot.PlottingUtil.rotateAngle(_,E*Math.PI/180,x),j=SuperMap.Plot.PlottingUtil.linePnt(_,x,d)}else{if(2!==G)continue;j=t[Y]}(O=[]).push(t[Y]),O.push(j),this.addScalePoint(j),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,null,!0)}var B=t.length,R=this.scaleValues[B-1];if(0===R)U=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[B-2],t[B-1])).pntLeft,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*d,t[B-2],t[B-1]).pntLeft;else if(1===R)U=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[B-2],t[B-1])).pntRight,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*d,t[B-2],t[B-1]).pntRight;else{if(2!==R)return;U=t[B-1].clone(),w=t[B-1].clone()}(O=[]).push(t[B-1]),O.push(U),this.addScalePoint(U),this.addScalePoint(w),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,null,!0)}else{var N=this.scaleValues[1];if(0===N)U=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[0],t[1])).pntLeft,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*d,t[0],t[1]).pntLeft;else if(1===N)U=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[0],t[1])).pntRight,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*d,t[0],t[1]).pntRight;else{if(2!==N)return;U=t[1].clone(),w=t[1].clone()}(O=[]).push(t[1]),O.push(U),this.addScalePoint(U),this.addScalePoint(w),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,null,!0)}var D=this.scaleValues.length,k=this.scaleValues[D-4],z=Math.abs(b*k),F=this.scaleValues[D-3],K=Math.abs(d*F);if(-1!==(g=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,z)).index){var q=g.index,W=g.pt;L=F>=0?(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(K,t[q],W)).pntRight:(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(K,t[q],W)).pntLeft;var J=SuperMap.Plot.PlottingUtil.linePnt(W,L,K),Z=.3*K,H=SuperMap.Plot.PlottingUtil.linePnt(J,W,Z),Q=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*Z,J,H)).pntLeft,X=M.pntRight;(O=[]).push(W),O.push(J),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,null,!0),(O=[]).push(Q),O.push(J),O.push(X);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,O,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.addScalePoint(J),this.addScalePoint(p);var $=SuperMap.Plot.PlottingUtil.radian(r.pt,s.pt)*SuperMap.Plot.PlottingUtil.RTOD+90,tt=SuperMap.Plot.PlottingUtil.circlePoint(p,.5*n,.5*n,$);this.addScalePoint(tt),this.finish()}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n,a,r,s,p,u,c,P,S=SuperMap.Plot.PlottingUtil.polylineDistance(l),h=l.length,y=e;if(t>=0&&t<h){var f=!1;if(0==t)f=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t],l[t+1],y);else if(t==h-1)f=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],y);else{var g=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],l[t+1]),M=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],y);if(g!=M)f=M;else{var b=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t],l[t+1],y);f=b==M?M:b}}this.scaleValues[t]=f?1:0}else if(t==h){o=SuperMap.Plot.PlottingUtil.distance(l[h-1],y);var m=(o/=2)/S;this.scaleValues[t]=m}else if(t===h+1){i=-1,n=0,a=new SuperMap.Geometry.Point(0,0);for(var d=0;d<l.length-1;d++)(r=[]).push(l[d]),r.push(l[d+1]),p=SuperMap.Plot.PlottingUtil.projectPoint(y,l[d],l[d+1]),(s=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(p,r)).isOnPolyLine&&(P=SuperMap.Plot.PlottingUtil.distance(y,p),-1==i?(i=d,a=p,n=P):n>P&&(i=d,a=p,n=P));if(-1==i||i>l.length-1)return;u=0;for(var v=0;v<i;v++){var O=l[v],U=l[v+1];u+=SuperMap.Plot.PlottingUtil.distance(O,U)}if(c=l[i],(u+=SuperMap.Plot.PlottingUtil.distance(c,a))<0||u>S)return;var w=u/S;this.scaleValues[h+1]=w;var L,V=this.scaleValues.length;o=S*this.scaleValues[V-5],L=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[i],l[i+1],y)?n/o:-Math.abs(n/o),this.scaleValues[h+2]=L}else if(t===h+2){i=-1,n=0,a=new SuperMap.Geometry.Point(0,0);for(var _=0;_<l.length-1;_++)(r=[]).push(l[_]),r.push(l[_+1]),p=SuperMap.Plot.PlottingUtil.projectPoint(y,l[_],l[_+1]),(s=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(p,r)).isOnPolyLine&&(P=SuperMap.Plot.PlottingUtil.distance(y,p),-1===i?(i=_,a=p,n=P):n>P&&(i=_,a=p,n=P));if(-1===i||i>l.length-1)return;u=0;for(var T=0;T<i;T++)u+=SuperMap.Plot.PlottingUtil.distance(l[T],l[T+1]);if(c=l[i],(u+=SuperMap.Plot.PlottingUtil.distance(c,a))<0||u>S)return;.1*S<u&&.9*S>u&&(this.scaleValues[this.scaleValues.length-2]=u/S)}else if(t===h+3){var A=this.scaleValues[this.scaleValues.length-2]*S;if(-1===(s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,A)).index)return;var E=2*SuperMap.Plot.PlottingUtil.distance(s.pt,e)/S;E>.15&&(E=.15),this.scaleValues[this.scaleValues.length-1]=E}}}}]),e}();SuperMap.Plot.AlgoSymbol26400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25901=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25900),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=2*this.getSubSymbolScaleValue());var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=n*l/2,s=[];s.push(new SuperMap.Geometry.Point(a.x-r,a.y)),s.push(new SuperMap.Geometry.Point(a.x+r,a.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s,null,!0);var p=.3*r,u=[];u.push(new SuperMap.Geometry.Point(a.x-r,a.y+p/2)),u.push(new SuperMap.Geometry.Point(a.x-r,a.y-p/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,null,!0);var c=[];c.push(new SuperMap.Geometry.Point(a.x+r,a.y+p/2)),c.push(new SuperMap.Geometry.Point(a.x+r,a.y-p/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,null,!0);var P=[];P.push(new SuperMap.Geometry.Point(a.x,a.y)),P.push(new SuperMap.Geometry.Point(a.x,a.y+1.5*p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,null,!0);var S=[];S.push(new SuperMap.Geometry.Point(a.x-p/2,a.y)),S.push(new SuperMap.Geometry.Point(a.x-p,a.y+p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,null,!0);var h=[];h.push(new SuperMap.Geometry.Point(a.x+p/2,a.y)),h.push(new SuperMap.Geometry.Point(a.x+p,a.y+p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,null,!0),this.addScalePoint(a);var y=SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,90);this.addScalePoint(y),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol25901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i=(l-e)/50,n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0),a=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1);if(n.length>2&&a.length>0){for(var r=[],s=0;s<n.length;s++)r.push(n[s]);var p=a[0],u=[];SuperMap.Plot.PlottingUtil.ptIsInPolygon(r,p)||(u=u.concat(n),n=(n=[]).concat(a),a=(a=[]).concat(u))}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,a,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1},!0);var c=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),P=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=4*this.getSubSymbolScaleValue());var S=this.scaleValues[0],h=this.scaleValues[1],y=this.scaleValues[2],f=new SuperMap.Geometry.Point(c.x+P*S,c.y+P*h),g=y*P/2,M=[];M.push(new SuperMap.Geometry.Point(f.x-g,f.y)),M.push(new SuperMap.Geometry.Point(f.x+g,f.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M,null,!0);var b=.3*g,m=[];m.push(new SuperMap.Geometry.Point(f.x-g,f.y+b/2)),m.push(new SuperMap.Geometry.Point(f.x-g,f.y-b/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m,null,!0);var d=[];d.push(new SuperMap.Geometry.Point(f.x+g,f.y+b/2)),d.push(new SuperMap.Geometry.Point(f.x+g,f.y-b/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,null,!0);var v=[];v.push(new SuperMap.Geometry.Point(f.x,f.y)),v.push(new SuperMap.Geometry.Point(f.x,f.y+1.5*b)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,null,!0);var O=[];O.push(new SuperMap.Geometry.Point(f.x-b/2,f.y)),O.push(new SuperMap.Geometry.Point(f.x-b,f.y+b)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,null,!0);var U=[];U.push(new SuperMap.Geometry.Point(f.x+b/2,f.y)),U.push(new SuperMap.Geometry.Point(f.x+b,f.y+b)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U,null,!0),this.addScalePoint(f);var w=SuperMap.Plot.PlottingUtil.circlePoint(f,g,g,90);this.addScalePoint(w),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t&&1!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i,n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(SuperMap.Plot.PlottingUtil.equalFuzzy(a,0))return;if(0==t)o=(e.x-n.x)/a,this.scaleValues[0]=o,i=(e.y-n.y)/a,this.scaleValues[1]=i;else if(1==t){o=this.scaleValues[0],i=this.scaleValues[1];var r=new SuperMap.Geometry.Point(n.x+a*o,n.y+a*i),s=2*SuperMap.Plot.PlottingUtil.distance(r,e)/a;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol25900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=2*this.getSubSymbolScaleValue());var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=n*l/2,s=[];s.push(new SuperMap.Geometry.Point(a.x,a.y)),s.push(new SuperMap.Geometry.Point(a.x,a.y+r));this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,s,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var p=[];p.push(new SuperMap.Geometry.Point(a.x-1.5*r,a.y+r)),p.push(new SuperMap.Geometry.Point(a.x+1.5*r,a.y+r)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,null,!0),this.addScalePoint(a);var u=SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,90);this.addScalePoint(u),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol25801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.08)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i=(l-e)/50,n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0),a=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1);if(n.length>2&&a.length>0){for(var r=[],s=new SuperMap.Geometry.Point(0,0),p=0;p<n.length;p++)r.push(n[p]);s=a[0];var u=[];SuperMap.Plot.PlottingUtil.ptIsInPolygon(r,s)||(u=u.concat(n),n=(n=[]).concat(a),a=(a=[]).concat(u))}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,a,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1},!0);var c=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),P=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=2*this.getSubSymbolScaleValue());var S=this.scaleValues[0],h=this.scaleValues[1],y=this.scaleValues[2],f=new SuperMap.Geometry.Point(c.x+P*S,c.y+P*h),g=y*P/2,M=[];M.push(new SuperMap.Geometry.Point(f.x,f.y)),M.push(new SuperMap.Geometry.Point(f.x,f.y+g));this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,M,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var b=[];b.push(new SuperMap.Geometry.Point(f.x-1.5*g,f.y+g)),b.push(new SuperMap.Geometry.Point(f.x+1.5*g,f.y+g)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,null,!0),this.addScalePoint(f);var m=SuperMap.Plot.PlottingUtil.circlePoint(f,g,g,90);this.addScalePoint(m),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0==n)return;if(0==t)o=(e.x-a.x)/n,this.scaleValues[0]=o,i=(e.y-a.y)/n,this.scaleValues[1]=i;else if(1==t){o=this.scaleValues[0],i=this.scaleValues[1];var r=new SuperMap.Geometry.Point(a.x+n*o,a.y+n*i),s=2*SuperMap.Plot.PlottingUtil.distance(r,e)/n;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol25800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25701=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i=(l-e)/50;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var n={surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1},a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),r=10*i;t.push(t[0]);for(var s=!0,p=a.x,u=a.x;s;){s=!1;for(var c,P,S,h,y,f=[],g=new SuperMap.Geometry.Point(p,a.y),M=SuperMap.Plot.PlottingUtil.circlePoint(g,10,10,45),b=0;b<t.length-1;b++){var m=SuperMap.Plot.PlottingUtil.intersectLines(g,M,t[b],t[b+1]);m.isIntersectLines&&(P=m.intersectPoint,(S=[]).push(t[b]),S.push(t[b+1]),(c=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(P,S)).isOnPolyLine&&f.push(P))}if(1<f.length){this.sortPts2D(f);for(var d=0;d<f.length-1;d++)y=new SuperMap.Geometry.Point((f[d].x+f[d+1].x)/2,(f[d].y+f[d+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,y)&&((h=[]).push(f[d]),h.push(f[d+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,n,!0))}f.length>0&&(s=!0),f=[];for(var v=new SuperMap.Geometry.Point(u,a.y),O=SuperMap.Plot.PlottingUtil.circlePoint(v,5,5,45),U=0;U<t.length-1;U++)(c=SuperMap.Plot.PlottingUtil.intersectLines(v,O,t[U],t[U+1])).isIntersectLines&&(P=c.intersectPoint,(S=[]).push(t[U]),S.push(t[U+1]),(c=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(P,S)).isOnPolyLine&&f.push(P));if(1<f.length){this.sortPts2D(f);for(var w=0;w<f.length-1;w++)y=new SuperMap.Geometry.Point((f[w].x+f[w+1].x)/2,(f[w].y+f[w+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,y)&&((h=[]).push(f[w]),h.push(f[w+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,n,!0))}f.length>0&&(s=!0),p-=r,u+=r}this.finish()}}},{key:"sortPts2D",value:function(t){for(var e=new SuperMap.Geometry.Point(0,0),l=0;l<t.length;l++)for(var o=0;o<t.length-1-l;o++)SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].x,t[o+1].x)?t[o].y>t[o+1].y&&(e=t[o],t[o]=t[o+1],t[o+1]=e):t[o].x>t[o+1].x&&(e=t[o],t[o]=t[o+1],t[o+1]=e);return t}}]),e}();SuperMap.Plot.AlgoSymbol25701=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25700=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i,n,a=(l-e)/50,r=SuperMap.Plot.PlottingUtil.paraPolygon(t,a,!0),s=SuperMap.Plot.PlottingUtil.paraPolygon(t,a,!1);if(r.length>2&&s.length>0){for(var p=[],u=0;u<r.length;u++)p.push(r[u]);i=s[0],n=[],SuperMap.Plot.PlottingUtil.ptIsInPolygon(p,i)||(n=n.concat(r),r=(r=[]).concat(s),s=(s=[]).concat(n))}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r);var c={surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,c),s.push(s[0]);for(var P=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),S=10*a,h=!0,y=P.x,f=P.x;h;){h=!1;for(var g,M,b,m=[],d=new SuperMap.Geometry.Point(y,P.y),v=SuperMap.Plot.PlottingUtil.circlePoint(d,10,10,45),O=0;O<s.length-1;O++){var U=SuperMap.Plot.PlottingUtil.intersectLines(d,v,s[O],s[O+1]);U.isIntersectLines&&(M=U.intersectPoint,(n=[]).push(s[O]),n.push(s[O+1]),(g=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(M,n)).isOnPolyLine&&m.push(M))}if(1<m.length){this.sortPts2D(m);for(var w=0;w<m.length-1;w++)i=new SuperMap.Geometry.Point((m[w].x+m[w+1].x)/2,(m[w].y+m[w+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(s,i)&&((b=[]).push(m[w]),b.push(m[w+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,c))}m.length>0&&(h=!0),m=[];for(var L=new SuperMap.Geometry.Point(f,P.y),V=SuperMap.Plot.PlottingUtil.circlePoint(L,5,5,45),_=0;_<s.length-1;_++)(g=SuperMap.Plot.PlottingUtil.intersectLines(L,V,s[_],s[_+1])).isIntersectLines&&(M=g.intersectPoint,(n=[]).push(s[_]),n.push(s[_+1]),(g=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(M,n)).isOnPolyLine&&m.push(M));if(1<m.length){this.sortPts2D(m);for(var T=0;T<m.length-1;T++)i=new SuperMap.Geometry.Point((m[T].x+m[T+1].x)/2,(m[T].y+m[T+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(s,i)&&((b=[]).push(m[T]),b.push(m[T+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,c))}m.length>0&&(h=!0),y-=S,f+=S}this.finish()}}},{key:"sortPts2D",value:function(t){for(var e=new SuperMap.Geometry.Point(0,0),l=0;l<t.length;l++)for(var o=0;o<t.length-1-l;o++)SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].x,t[o+1].x)?t[o].y>t[o+1].y&&(e=t[o],t[o]=t[o+1],t[o+1]=e):t[o].x>t[o+1].x&&(e=t[o],t[o]=t[o+1],t[o+1]=e);return t}}]),e}();SuperMap.Plot.AlgoSymbol25700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25601=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25600),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var l=this.scaleValues[0]*e*.5,o=SuperMap.Plot.PlottingUtil.clonePoints(t);o.push(o[0].clone());for(var i=0;i<o.length-1;i++){var n=new SuperMap.Geometry.Point((o[i].x+o[i+1].x)/2,(o[i].y+o[i+1].y)/2),a=new SuperMap.Geometry.Point(0,1.5*l),r=new SuperMap.Geometry.Point(-.5*l,0),s=new SuperMap.Geometry.Point(0,-1.5*l),p=new SuperMap.Geometry.Point(.5*l,0),u=SuperMap.Plot.PlottingUtil.radian(n,o[i+1])*SuperMap.Plot.PlottingUtil.RTOD,c=SuperMap.Plot.PlottingUtil.coordinateTrans(n,a,u),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,r,u),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,u),h=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,u),y=[];y.push(c),y.push(P),y.push(S),y.push(h),y.push(c.clone());this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,y,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0,lineWidthLimit:!0})}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol25601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.01),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i=(l-e)/50,n=[],a=[],r=!0;t.length>2?SuperMap.Plot.PlottingUtil.pointIsRightToLine(t[0],t[1],t[2])?(n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1),a=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0)):(r=!1,n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0),a=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1)):(n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1),a=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0));var s,p,u,c,P,S,h,y,f;if(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,a),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n,{surroundLineFlag:!1,lineWidthLimit:!0}),t.length>2){var g=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var M=this.scaleValues[0]*g*.5;a.push(a[0].clone());for(var b=0;b<a.length-1;b++){s=new SuperMap.Geometry.Point((a[b].x+a[b+1].x)/2,(a[b].y+a[b+1].y)/2),p=new SuperMap.Geometry.Point(0,0),u=new SuperMap.Geometry.Point(0,0),c=new SuperMap.Geometry.Point(0,0),r?(p.x=0,p.y=1.5*M,u.x=-.5*M,u.y=0,c.x=.5*M,c.y=0):(p.x=0,p.y=-1.5*M,u.x=-.5*M,u.y=0,c.x=.5*M,c.y=0),P=SuperMap.Plot.PlottingUtil.radian(s,a[b+1])*SuperMap.Plot.PlottingUtil.RTOD,S=SuperMap.Plot.PlottingUtil.coordinateTrans(s,p,P),h=SuperMap.Plot.PlottingUtil.coordinateTrans(s,u,P),y=SuperMap.Plot.PlottingUtil.coordinateTrans(s,c,P),(f=[]).push(S),f.push(h),f.push(y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0,lineWidthLimit:!0})}n.push(n[0].clone());for(var m=0;m<n.length-1;m++){s=new SuperMap.Geometry.Point((n[m].x+n[m+1].x)/2,(n[m].y+n[m+1].y)/2),p=new SuperMap.Geometry.Point(0,0),u=new SuperMap.Geometry.Point(0,0),c=new SuperMap.Geometry.Point(0,0),r?(p.x=0,p.y=-1.5*M,u.x=-.5*M,u.y=0,c.x=.5*M,c.y=0):(p.x=0,p.y=1.5*M,u.x=-.5*M,u.y=0,c.x=.5*M,c.y=0),P=SuperMap.Plot.PlottingUtil.radian(s,n[m+1])*SuperMap.Plot.PlottingUtil.RTOD,S=SuperMap.Plot.PlottingUtil.coordinateTrans(s,p,P),h=SuperMap.Plot.PlottingUtil.coordinateTrans(s,u,P),y=SuperMap.Plot.PlottingUtil.coordinateTrans(s,c,P),(f=[]).push(S),f.push(h),f.push(y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0,lineWidthLimit:!0})}}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol25600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25503=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.02)),0==this.subSymbols.length&&this.subSymbols.push(new SuperMap.Plot.SubSymbol(100,8402)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=.5*this.getSubSymbolScaleValue());var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=n*l,s=[];s.push(new SuperMap.Geometry.Point(a.x-4*r,a.y+r/2)),s.push(new SuperMap.Geometry.Point(a.x-4*r,a.y-r/2));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s,{surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0});var p=[];p.push(new SuperMap.Geometry.Point(a.x-4*r,a.y)),p.push(new SuperMap.Geometry.Point(a.x-r,a.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0}),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,2*r,0);var u=[];u.push(new SuperMap.Geometry.Point(a.x+4*r,a.y)),u.push(new SuperMap.Geometry.Point(a.x+r,a.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0});var c=[];c.push(new SuperMap.Geometry.Point(a.x+4*r,a.y+r/2)),c.push(new SuperMap.Geometry.Point(a.x+4*r,a.y-r/2));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0}),this.scalePoints=[],this.addScalePoint(a.clone());var P=SuperMap.Plot.PlottingUtil.circlePoint(a,2*r,2*r,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t&&1!=t)return;var l,o,i=this.controlPoints,n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(i),a=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(SuperMap.Plot.PlottingUtil.equalFuzzy(a,0))return;if(0==t)l=(e.x-n.x)/a,this.scaleValues[0]=l,o=(e.y-n.y)/a,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var r=new SuperMap.Geometry.Point(n.x+a*l,n.y+a*o),s=SuperMap.Plot.PlottingUtil.distance(r,e)/2/a;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol25503=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.08)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=2*this.getSubSymbolScaleValue());var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=n*l/2.5,s=.7*r,p=[];p.push(new SuperMap.Geometry.Point(a.x,a.y)),p.push(new SuperMap.Geometry.Point(a.x+r,a.y));this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,p,{surroundLineFlag:!1,lineTypeLimit:!0});var u=[];u.push(new SuperMap.Geometry.Point(a.x+s,a.y-s/2)),u.push(new SuperMap.Geometry.Point(a.x-s,a.y-s/2));var c={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,c);var P=[];P.push(new SuperMap.Geometry.Point(a.x,a.y-s/2)),P.push(new SuperMap.Geometry.Point(a.x,a.y+s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,c);var S=[];S.push(new SuperMap.Geometry.Point(a.x-s/2,a.y-s/2)),S.push(new SuperMap.Geometry.Point(a.x-s,a.y+s/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,c);var h=[];h.push(new SuperMap.Geometry.Point(a.x+s/2,a.y-s/2)),h.push(new SuperMap.Geometry.Point(a.x+s,a.y+s/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,c),this.scalePoints=[],this.addScalePoint(a.clone());var y=SuperMap.Plot.PlottingUtil.circlePoint(a,1.25*r,1.25*r,90);this.addScalePoint(y),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t&&1!=t)return;var l,o,i=this.controlPoints,n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(i),a=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(SuperMap.Plot.PlottingUtil.equalFuzzy(a,0))return;if(0==t)l=(e.x-n.x)/a,this.scaleValues[0]=l,o=(e.y-n.y)/a,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var r=new SuperMap.Geometry.Point(n.x+a*l,n.y+a*o),s=2*SuperMap.Plot.PlottingUtil.distance(r,e)/a;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol25502=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.05)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=2*this.getSubSymbolScaleValue());var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=n*l,s=.25*r,p=[];p.push(new SuperMap.Geometry.Point(a.x-r,a.y+s)),p.push(new SuperMap.Geometry.Point(a.x+r,a.y+s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);var u=[];u.push(new SuperMap.Geometry.Point(a.x+r,a.y-s)),u.push(new SuperMap.Geometry.Point(a.x-r,a.y-s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=[];c.push(new SuperMap.Geometry.Point(a.x+r,a.y+2*s)),c.push(new SuperMap.Geometry.Point(a.x+r,a.y-2*s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var P=[];P.push(new SuperMap.Geometry.Point(a.x-r,a.y+2*s)),P.push(new SuperMap.Geometry.Point(a.x-r,a.y-2*s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.scalePoints=[],this.addScalePoint(a);var S=SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,90);this.addScalePoint(S),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol25501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.02));for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i=(l-e)/50,n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1),a=SuperMap.Plot.PlottingUtil.polylineDistance(n),r=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0),s={surroundLineFlag:!1,lineWidthLimit:!0};a>SuperMap.Plot.PlottingUtil.polylineDistance(r)?(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r,s)):(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n,s),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r));var p=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),u=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=.5*this.getSubSymbolScaleValue());var c=this.scaleValues[0],P=this.scaleValues[1],S=this.scaleValues[2],h=new SuperMap.Geometry.Point(p.x+u*c,p.y+u*P),y=S*u,f=new SuperMap.Geometry.Point(h.x-4*y,h.y+y/2),g=new SuperMap.Geometry.Point(h.x-4*y,h.y-y/2),M=[];M.push(f),M.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=new SuperMap.Geometry.Point(h.x-4*y,h.y),m=new SuperMap.Geometry.Point(h.x-1.5*y,h.y);(M=[]).push(b),M.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);for(var d=new SuperMap.Geometry.Point(h.x,h.y-y),v=SuperMap.Plot.PlottingUtil.circlePoint(d,2*y,2*y,60),O=SuperMap.Plot.PlottingUtil.circlePoint(d,2*y,2*y,120),U=new SuperMap.Geometry.Point((v.x+O.x)/2,v.y),w=[],L=0;L<=180;L+=3)w.push(SuperMap.Plot.PlottingUtil.circlePoint(U,y,y,L));M=[];for(var V=0;V<w.length;V++)M.push(w[V].clone());M.push(O.clone()),M.push(d.clone()),M.push(v.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M);var _=new SuperMap.Geometry.Point(h.x+4*y,h.y),T=new SuperMap.Geometry.Point(h.x+1.5*y,h.y);(M=[]).push(_.clone()),M.push(T.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var A=new SuperMap.Geometry.Point(h.x+4*y,h.y+y/2),E=new SuperMap.Geometry.Point(h.x+4*y,h.y-y/2);(M=[]).push(A.clone()),M.push(E.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.scalePoints=[],this.addScalePoint(h.clone());var x=SuperMap.Plot.PlottingUtil.circlePoint(h,y,y,90);this.addScalePoint(x.clone()),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t&&1!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i,n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(SuperMap.Plot.PlottingUtil.equalFuzzy(a,0))return;if(0==t)o=(e.x-n.x)/a,this.scaleValues[0]=o,i=(e.y-n.y)/a,this.scaleValues[1]=i;else if(1==t){o=this.scaleValues[0],i=this.scaleValues[1];var r=new SuperMap.Geometry.Point(n.x+a*o,n.y+a*i),s=SuperMap.Plot.PlottingUtil.distance(r,e)/a;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol25500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5));for(var i=this.getLinePts(e,this.scaleValues[0]),n=this.getLinePts(e,1.2*this.scaleValues[0]),a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt),r=[],s=[],p=0;p<=n.startIndex;p++)r.push(e[p]);if(r.push(n.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),n.endIndex<=e.length){s.push(n.endPt);for(var u=n.endIndex+1;u<=e.length-1;u++)s.push(e[u]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}var c=e[0],P=e[1],S=e[e.length-2],h=e[e.length-1],y=.3*a,f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(y,P,c),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(y,S,h),M=f.pntLeft,b=g.pntLeft,m=[];m.push(c),m.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var d=[];d.push(h),d.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),U=new SuperMap.Geometry.Point(.1*a,0),w=new SuperMap.Geometry.Point(.5*a,0),L=SuperMap.Plot.PlottingUtil.coordinateTrans(O,U,v),V=SuperMap.Plot.PlottingUtil.coordinateTrans(O,w,v),_=[];_.push(L),_.push(V);var T={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_,T);var A=new SuperMap.Geometry.Point(.35*a,0),E=SuperMap.Plot.PlottingUtil.circlePoint(A,.2*a,.2*a,135),x=SuperMap.Plot.PlottingUtil.circlePoint(A,.2*a,.2*a,225),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(O,A,v),j=SuperMap.Plot.PlottingUtil.coordinateTrans(O,E,v),C=SuperMap.Plot.PlottingUtil.coordinateTrans(O,x,v);(_=[]).push(j),_.push(Y),_.push(C),T={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0},this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_,T);var I=new SuperMap.Geometry.Point(-.1*a,0),G=new SuperMap.Geometry.Point(-.5*a,-.15*a),B=new SuperMap.Geometry.Point(-.5*a,.15*a),R=SuperMap.Plot.PlottingUtil.coordinateTrans(O,I,v),N=SuperMap.Plot.PlottingUtil.coordinateTrans(O,G,v),D=SuperMap.Plot.PlottingUtil.coordinateTrans(O,B,v);(_=[]).push(R),_.push(N),_.push(D),_.push(R),T={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0},this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_,T);var k=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),z=SuperMap.Plot.PlottingUtil.circlePoint(k.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,v);this.addScalePoint(z,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol25400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.068),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&this.scaleValues.push(.068),0==this.subSymbols.length&&(this.subSymbols.push(new SuperMap.Plot.SubSymbol(100,300)),this.subSymbols.push(new SuperMap.Plot.SubSymbol(100,6200)));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0],o=l*e,i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(e/2,n);if(a.bfind){var r=a.pts.clone(),s=a.index,p=(l=this.scaleValues[0])*e,u=[];u.push(r);for(var c=s;c>=0;c--)u.push(n[c]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,u)).bfind){var P=a.index,S=a.pts.clone(),h=[];h.push(S);for(var y=P+1;y<u.length;y++)h.push(u[y].clone());var f={surroundLineFlag:!1,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,f);var g=[];g.push(r);for(var M=s+1;M<n.length;M++)g.push(n[M]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,g)).bfind){var b=a.index,m=a.pts.clone();(h=[]).push(m);for(var d=b+1;d<g.length;d++)h.push(g[d].clone());this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1});var v=SuperMap.Plot.PlottingUtil.radian(S,m)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point((S.x+m.x)/2,(S.y+m.y)/2);if(this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],O,p,v+90),e=SuperMap.Plot.PlottingUtil.polylineDistance(i),(a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(e/2,i)).bfind){var U=a.index,w=a.pts.clone(),L=[];L.push(w);for(var V=U;V>=0;V--)L.push(i[V]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,L)).bfind){var _=a.index,T=a.pts.clone(),A=[];A.push(T);for(var E=_+1;E<L.length;E++)A.push(L[E]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A);var x=[];x.push(w);for(var Y=U+1;Y<i.length;Y++)x.push(i[Y]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,x)).bfind){var j=a.index,C=a.pts.clone();(A=[]).push(C);for(var I=j+1;I<x.length;I++)A.push(x[I]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,f);var G=SuperMap.Plot.PlottingUtil.radian(T,C)*SuperMap.Plot.PlottingUtil.RTOD,B=new SuperMap.Geometry.Point((T.x+C.x)/2,(T.y+C.y)/2);this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],B,p,G);var R=SuperMap.Plot.PlottingUtil.linePnt(u[u.length-1],L[L.length-1],3*o),N=SuperMap.Plot.PlottingUtil.linePnt(L[L.length-1],u[u.length-1],3*o);(A=[]).push(R),A.push(N),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,f);var D=SuperMap.Plot.PlottingUtil.linePnt(g[g.length-1],x[x.length-1],3*o),k=SuperMap.Plot.PlottingUtil.linePnt(x[x.length-1],g[g.length-1],3*o);(A=[]).push(D),A.push(k),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,f),this.scalePoints=[],this.addScalePoint(R.clone()),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o/2;i>=.4&&(i=.4),this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol25301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.068),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0],o=l*e,i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(e/2,n);if(a.bfind){var r=a.pts.clone(),s=a.index,p=(l=this.scaleValues[0])*e,u=[];u.push(r);for(var c=s;c>=0;c--)u.push(n[c]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,u)).bfind){var P=a.index,S=a.pts.clone(),h=[];h.push(S);for(var y=P+1;y<u.length;y++)h.push(u[y].clone());var f={surroundLineFlag:!1,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,f);var g=[];g.push(r);for(var M=s+1;M<n.length;M++)g.push(n[M]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,g)).bfind){var b=a.index,m=a.pts.clone();(h=[]).push(m);for(var d=b+1;d<g.length;d++)h.push(g[d].clone());this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1});var v=SuperMap.Plot.PlottingUtil.radian(S,m)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point((S.x+m.x)/2,(S.y+m.y)/2);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],O,p,v);var U=u[u.length-1].clone(),w=SuperMap.Plot.PlottingUtil.circlePoint(U,.3*o,.3*o,v+30),L=SuperMap.Plot.PlottingUtil.circlePoint(U,.3*o,.3*o,v+180),V=SuperMap.Plot.PlottingUtil.circlePoint(U,.3*o,.3*o,v+330);(h=[]).push(w),h.push(L),h.push(V);var _={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};if(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,_,!0),e=SuperMap.Plot.PlottingUtil.polylineDistance(i),(a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(e/2,i)).bfind){var T=a.index,A=a.pts.clone(),E=[];E.push(A);for(var x=T;x>=0;x--)E.push(i[x]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,E)).bfind){var Y=a.index,j=a.pts.clone(),C=[];C.push(j);for(var I=Y+1;I<E.length;I++)C.push(E[I]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C);var G=[];G.push(A);for(var B=T+1;B<i.length;B++)G.push(i[B]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,G)).bfind){var R=a.index,N=a.pts.clone();(C=[]).push(N);for(var D=R+1;D<G.length;D++)C.push(G[D]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C,f);var k=SuperMap.Plot.PlottingUtil.radian(j,N)*SuperMap.Plot.PlottingUtil.RTOD,z=new SuperMap.Geometry.Point((j.x+N.x)/2,(j.y+N.y)/2);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[1],z,p,k+90);var F=E[E.length-1].clone(),K=SuperMap.Plot.PlottingUtil.circlePoint(F,.3*o,.3*o,v+30),q=SuperMap.Plot.PlottingUtil.circlePoint(F,.3*o,.3*o,v+180),W=SuperMap.Plot.PlottingUtil.circlePoint(F,.3*o,.3*o,v+330);(h=[]).push(K),h.push(q),h.push(W),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,_,!0);var J=SuperMap.Plot.PlottingUtil.linePnt(q,L,3*o),Z=SuperMap.Plot.PlottingUtil.linePnt(L,q,3*o);(C=[]).push(J),C.push(Z),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C,f);var H=SuperMap.Plot.PlottingUtil.linePnt(g[g.length-1],G[G.length-1],3*o),Q=SuperMap.Plot.PlottingUtil.linePnt(G[G.length-1],g[g.length-1],3*o);(C=[]).push(H),C.push(Q),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C,f),this.scalePoints=[],this.addScalePoint(J.clone()),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o/2;i>=.45&&(i=.45),this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol25300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.025),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var l,o=e*this.scaleValues[0];l=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0);var i;i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1),this.addScalePoint(i[0]);var n=i[i.length-1],a=l[l.length-1],r=SuperMap.Plot.PlottingUtil.distance(n,a),s=.3*r,p=l[l.length-2],u=l[l.length-1],c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,p,u).pntLeft;p=i[i.length-2],u=i[i.length-1];var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,p,u).pntRight,S=r;p=i[i.length-1],u=t[t.length-1];var h=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(S,p,u).pntRight,y=[];y.push(c),y.push(h),y.push(P);var f=[];f=(f=f.concat(l)).concat(y);for(var g=i.length-1;g>=0;--g)f.push(i[g]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;if(i>.5)return;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol25202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=l*this.scaleValues[0],i=e[e.length-1];if(e.length>2){for(var n=-1,a=e.length-2;a>=0;a--)if(o<SuperMap.Plot.PlottingUtil.distance(i,e[a])){n=a;break}e.splice(n+1,e.length-n),e.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var r=e[e.length-2],s=e[e.length-1],p=o,u=180*SuperMap.Plot.PlottingUtil.radian(r,s)/Math.PI,c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+157.5),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+202.5),S=[];S.push(c),S.push(i),S.push(P);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0},!0);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u);this.addScalePoint(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[l.length-1])/o;if(i>.2)return;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol25201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=Math.max(this.subSymbols[0].symbolData.symbolSize.x,this.subSymbols[0].symbolData.symbolSize.y);var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(r.pts,a.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=100*SuperMap.Plot.PlottingUtil.distance(a.pts,r.pts)/l,u=new SuperMap.Geometry.Point((r.pts.x+a.pts.x)/2,(a.pts.y+r.pts.y)/2);if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&this.computeSubSymbol(this.subSymbols[0],u,p,s),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone()),r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),a=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(3===t&&null==n.pt&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var r=SuperMap.Plot.PlottingUtil.clonePoints(i);r.splice(0,n.index+1),r.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(r);a<s&&(s=a),this.scaleValues[t+1]=(a-s)/a,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol25200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.105263),l.scaleValues.push(.105263),l.scaleValues.push(.181818),l.scaleValues.push(.285714),l.scaleValues.push(.285714)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25000),o(e,[{key:"calculateParts",value:function(){this.init();var t=this.GetGoPts();if(0!=t.length){0==this.scaleValues.length&&(this.scaleValues.push(.105263),this.scaleValues.push(.105263),this.scaleValues.push(.181818),this.scaleValues.push(.285714),this.scaleValues.push(.285714));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l),g=[];g.push(n),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(a);for(var M,b=[],m=0;m<g.length;m++)M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[m],f*SuperMap.Plot.PlottingUtil.RTOD),b.push(M);for(var d=[],v=b.length-1;v>=0;--v)d.push(b[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.scalePoints=[];var O=b[0].clone();O.isScalePoint=!0,O.tag=0,this.scalePoints.push(O);var U=b[1].clone();U.isScalePoint=!0,U.tag=1,this.scalePoints.push(U);var w=b[2].clone();w.isScalePoint=!0,w.tag=2,this.scalePoints.push(w);var L=.08125*o,V=new SuperMap.Geometry.Point(y.x-L,0),_=new SuperMap.Geometry.Point(V.x-L/2,0),T=new SuperMap.Geometry.Point(V.x+L/2,0),A=[];M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,_,f*SuperMap.Plot.PlottingUtil.RTOD),A.push(M.clone()),M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,T,f*SuperMap.Plot.PlottingUtil.RTOD),A.push(M.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A);var E=new SuperMap.Geometry.Point(V.x,V.y-L/2),x=new SuperMap.Geometry.Point(V.x,V.y+L/2),Y=[];M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,x,f*SuperMap.Plot.PlottingUtil.RTOD),Y.push(M.clone()),M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,E,f*SuperMap.Plot.PlottingUtil.RTOD),Y.push(M.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Y),this.finish()}}},{key:"GetGoPts",value:function(){var t=[];return this.controlPoints.length<this.minEditPts?t:(t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),1==(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length&&(t=[]),t)}}]),e}();SuperMap.Plot.AlgoSymbol25101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.285714),l.scaleValues.push(.5),l.scaleValues.push(.333333),l.scaleValues.push(.333333)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25000),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.285714),this.scaleValues.push(.285714),this.scaleValues.push(.5),this.scaleValues.push(.333333),this.scaleValues.push(.333333));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l),g=[];g.push(n),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(a);for(var M,b=[],m=0;m<g.length;m++)M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[m],f*SuperMap.Plot.PlottingUtil.RTOD),b.push(M);for(var d=[],v=b.length-1;v>=0;--v)d.push(b[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.scalePoints=[];var O=b[0].clone();O.isScalePoint=!0,O.tag=0,this.scalePoints.push(O);var U=b[1].clone();U.isScalePoint=!0,U.tag=1,this.scalePoints.push(U);var w=b[2].clone();w.isScalePoint=!0,w.tag=2,this.scalePoints.push(w);var L=.04*o,V=.0475*o,_=new SuperMap.Geometry.Point(y.x-L,0),T=new SuperMap.Geometry.Point(S.x,S.y+V),A=SuperMap.Plot.PlottingUtil.intersectLines(p,S,_,T),E=A.intersectPoint;if(0!=A.isIntersectLines){var x=new SuperMap.Geometry.Point(h.x,h.y-V),Y=(A=SuperMap.Plot.PlottingUtil.intersectLines(h,u,_,x)).intersectPoint;if(0!=A.isIntersectLines){var j=[];j.push(E),j.push(_),j.push(Y);for(var C=[],I=0;I<j.length;I++)M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,j[I],f*SuperMap.Plot.PlottingUtil.RTOD),C.push(M);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C),this.finish()}}}}}]),e}();SuperMap.Plot.AlgoSymbol25100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.222222),l.scaleValues.push(.5),l.scaleValues.push(.5),l.scaleValues.push(.5)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.222222),this.scaleValues.push(.5),this.scaleValues.push(.5),this.scaleValues.push(.5));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l),g=[];g.push(n),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(a);for(var M=[],b=0;b<g.length;b++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[b],f*SuperMap.Plot.PlottingUtil.RTOD);M.push(m)}for(var d=[],v=M.length-1;v>=0;--v)d.push(M[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d),this.scalePoints=[];var O=M[0].clone();O.isScalePoint=!0,O.tag=0,this.scalePoints.push(O);var U=M[1].clone();U.isScalePoint=!0,U.tag=1,this.scalePoints.push(U);var w=M[2].clone();w.isScalePoint=!0,w.tag=2,this.scalePoints.push(w),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),a=l[1].clone(),r=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(r,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var p=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var c=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol25000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol24700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.025),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e;0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(.025),this.scaleValues.push(0)),e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=new SuperMap.Geometry.Point(0,0),o=this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.polylineDistance(e),n=o*i;if(!this.isEdit){var a=this.getDefaultSubSymbolSize()/i;(a>.3||a<=0)&&(a=.3),this.scaleValues[1]=a}var r=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.polylineDistance(t),s=0,p=.3*n;this.ComputeDashLine(3*i/19,i/19,e);var u=e[1].clone(),c=e[0].clone(),P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,u,c),S=P.pntRight,h=P.pntLeft,y=[];y.push(h.clone()),y.push(S.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);for(var f=3*p,g=e[0].clone(),M=0;M<=i;M+=f){s=M+2*p;var b=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,e);if(b.bfind){if(l=b.pts,b.index>=e.length)break;var m,d,v,O,U,w,L,V=[];if(V.push(g.clone()),V.push(l.clone()),0==M){var _=l.clone();_.isScalePoint=!0,_.tag=0,this.scalePoints.push(_);var T=S.clone();T.isScalePoint=!0,T.tag=1,this.scalePoints.push(T)}if(0==this.scaleValues[2]){m=new SuperMap.Geometry.Point((g.x+l.x)/2,(g.y+l.y)/2),d=g.clone(),v=m.clone(),c=l.clone();var A=(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,d,v)).pntLeft;O=SuperMap.Plot.PlottingUtil.linePnt(m,d,.3*r),U=SuperMap.Plot.PlottingUtil.linePnt(m,c,.3*r),0==M&&((w=A.clone()).isScalePoint=!0,w.tag=2,this.scalePoints.push(w)),(L=[]).push(A.clone()),L.push(O.clone()),L.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,L)}else{m=new SuperMap.Geometry.Point((g.x+l.x)/2,(g.y+l.y)/2),d=g.clone(),v=m.clone(),c=l.clone();var E=(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,d,v)).pntRight;O=SuperMap.Plot.PlottingUtil.linePnt(m,d,.3*p),U=SuperMap.Plot.PlottingUtil.linePnt(m,c,.3*p),0==M&&((w=E.clone()).isScalePoint=!0,w.tag=2,this.scalePoints.push(w)),(L=[]).push(E.clone()),L.push(O.clone()),L.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,L)}if(s=M+3*p,(b=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,e)).bfind){if(l=b.pts,!(b.index<e.length))break;g=l}}}u=e[e.length-2].clone(),c=e[e.length-1].clone(),P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,u,c),(y=[]).push(P.pntLeft.clone()),y.push(P.pntRight.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t&&1!=t&&2!=t)return;var l,o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o),l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=e.clone(),r=l[0].clone();if(0==t)i=SuperMap.Plot.PlottingUtil.distance(a,r)/.6/n,this.scaleValues[0]=i;else if(1==t)i=SuperMap.Plot.PlottingUtil.distance(a,r)/n,this.scaleValues[1]=i;else if(2==t){var s=this.scaleValues[0]*n,p=.01*n,u=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,l);if(!u.bfind)return;var c=u.index,P=u.pts.clone();if(!(u.index<l.length))return;var S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,l[c],P).pntLeft.clone(),h=SuperMap.Plot.PlottingUtil.projectPoint(e,S,P);(S.x-P.x)*(h.x-P.x)+(S.y-P.y)*(h.y-P.y)>=0?this.scaleValues[2]=0:this.scaleValues[2]=1}}}},{key:"ComputeDashLine",value:function(t,e,l){for(var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=l[0].clone(),r=1,s=0,p=!0,u=!0;s<n;){var c;(i=[]).push(a),s+=t;var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=P.index,o=P.pts,!(p=P.bfind))break;if(r<c)for(var S=r;S<c;S++)i.push(l[S]);i.push(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),s+=e;var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=h.index,a=h.pts,r=c+1,!(u=h.bfind))break}if(!p){(i=[]).push(a);for(var y=r;y<l.length;y++)i.push(l[y]);2===i.length&&0===SuperMap.Plot.PlottingUtil.distance(i[0],i[1])||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}if(!u){var f=l[l.length-1],g=SuperMap.Plot.PlottingUtil.distance(o,f);if(g*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(g,0)){var M=SuperMap.Plot.PlottingUtil.linePnt(f,o,g);(i=[]).push(M),i.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}}}}]),e}();SuperMap.Plot.AlgoSymbol24700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23902=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.125),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l,o,i,n=[];if(2==t.length){e=t[0],l=t[1];var a=SuperMap.Plot.PlottingUtil.distance(e,l);i=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,o=SuperMap.Plot.PlottingUtil.circlePoint(e,a,a,i+60),n.push(e),n.push(o),n.push(l)}else n=n.concat(t);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n),n.push(n[0]);var r=SuperMap.Plot.PlottingUtil.polylineDistance(n),s=this.scaleValues[0],p=this.scaleValues[1],u=this.scaleValues[2],c=this.scaleValues[4],P=r*s;e=n[0],l=n[1],o=n[2];var S,h=r*p,y=180*SuperMap.Plot.PlottingUtil.InnerAngle(e,l,o)/Math.PI*u,f=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,g=f-y,M=f+y,b=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,g),m=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,M);S=SuperMap.Plot.PlottingUtil.ptIsInPolygon(n,b)?b:m;var d=r*this.scaleValues[3];i=c,0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],S,d,i-90);var v=SuperMap.Plot.PlottingUtil.circlePoint(e,P,P,f+180);this.addScalePoint(v),this.addScalePoint(S);var O=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*d,.5*d,i);this.addScalePoint(O),this.createArcPts(n,P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n,a,r,s,p,u=[];2==l.length?(o=l[0],i=l[1],r=SuperMap.Plot.PlottingUtil.distance(o,i),a=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,n=SuperMap.Plot.PlottingUtil.circlePoint(o,r,r,a+60),u.push(o),u.push(i),u.push(n)):u=u.concat(l),o=u[0],i=u[1],n=u[2],u.push(u[0]);var c=SuperMap.Plot.PlottingUtil.polylineDistance(u),P=e;if(0===t)r=SuperMap.Plot.PlottingUtil.distance(P,u[0]),this.scaleValues[0]=r/c;else if(1===t){s=SuperMap.Plot.PlottingUtil.distance(P,u[0])/c,this.scaleValues[1]=s,a=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,n)/Math.PI,0<=(p=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,P)/Math.PI/a)&&1>=p&&(this.scaleValues[2]=p)}else if(2===t){s=this.scaleValues[1],p=this.scaleValues[2];var S,h=c*s,y=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,n)/Math.PI*p,f=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,g=f-y,M=f+y,b=SuperMap.Plot.PlottingUtil.circlePoint(o,h,h,g),m=SuperMap.Plot.PlottingUtil.circlePoint(o,h,h,M);S=SuperMap.Plot.PlottingUtil.ptIsInPolygon(u,b)?b:m;var d=2*SuperMap.Plot.PlottingUtil.distance(P,S)/c;this.scaleValues[3]=d;var v=180*SuperMap.Plot.PlottingUtil.radian(S,P)/Math.PI;this.scaleValues[4]=v}}}},{key:"ComputeSubSymbolPt",value:function(t,e,l,o){var i,n,a=l[0],r=l[1],s=l[2],p=SuperMap.Plot.PlottingUtil.plumbLineLen(s,a,r)*t,u=SuperMap.Plot.PlottingUtil.plumbLineLen(r,a,s)*e,c=[];if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(a,r,o)?((i=[]).push(a),i.push(r),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!1)):((i=[]).push(a),i.push(r),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!0)),SuperMap.Plot.PlottingUtil.pointIsRightToLine(a,s,o)?((i=[]).push(a),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!1)):((i=[]).push(a),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!0)),2>c.length||2>n.length)return o;var P=SuperMap.Plot.PlottingUtil.intersectLines(c[0],c[1],n[0],n[1]);return P.isIntersectLines?P.intersectPoint:o}},{key:"createArcPts",value:function(t,e){for(var l=[],o=[],i=0;i<t.length;i++)o.push(e),l.push([{Start:0,End:360}]);for(var n=0;n<t.length;n++)if(0!==l[n].length&&(0!==l[n][0].Start||0!==l[n][0].End))for(var a=n+1;a<t.length;a++)if(0!==l[a].length&&(0!==l[a][0].Start||0!==l[a][0].End)){var r=SuperMap.Plot.PlottingUtil.distance(t[n],t[a]);if(r<o[n]+o[a])if(r>Math.abs(o[n]-o[a]))for(var s=0;s<2;s++){var p,u,c;0==s?(c=n,p=SuperMap.Plot.PlottingUtil.radian(t[n],t[a])*SuperMap.Plot.PlottingUtil.RTOD,u=Math.acos((r*r+o[n]*o[n]-o[a]*o[a])/(2*r*o[n]))*SuperMap.Plot.PlottingUtil.RTOD):(c=a,p=SuperMap.Plot.PlottingUtil.radian(t[a],t[n])*SuperMap.Plot.PlottingUtil.RTOD,u=Math.acos((r*r+o[a]*o[a]-o[n]*o[n])/(2*r*o[a]))*SuperMap.Plot.PlottingUtil.RTOD);var P=p-u,S=p+u,h=P<0&&S>0||P>360||S>360;P=this.adjustAngle(P),S=this.adjustAngle(S);for(var y=l[c].length-1;y>=0;y--)if(h){if(S>l[c][y].End||SuperMap.Plot.PlottingUtil.equalFuzzy(S,l[c][y].End)){l[c].splice(y,1);continue}if(S>l[c][y].Start&&(l[c][y].Start=S),P<l[c][y].Start||SuperMap.Plot.PlottingUtil.equalFuzzy(P,l[c][y].Start)){l[c].splice(y,1);continue}P<l[c][y].End&&(l[c][y].End=P)}else if(P<l[c][y].Start&&S>l[c][y].End)l[c].splice(y,1);else if(P>l[c][y].Start&&S<l[c][y].End)l[c].push({Start:l[c][y].Start,End:P}),l[c].push({Start:S,End:l[c][y].End}),l[c].splice(y,1);else{if(P>l[c][y].End)continue;if(P>l[c][y].Start&&(l[c][y].End=P),S<l[c][y].Start)continue;S<l[c][y].End&&(l[c][y].Start=S)}}else{if(o[n]<o[a]){l[n][0].Start=0,l[n][0].End=0;break}l[a][0].Start=0,l[a][0].End=0}}for(var f=0;f<t.length;f++)if(0!==l[f].length&&(0!==l[f][0].Start||0!==l[f][0].End))for(var g=l[f].length-1;g>=0;g--){for(var M=this.adjustAngle(l[f][g].Start),b=this.adjustAngle(l[f][g].End);b<M;)b+=360;for(var m=[],d=(b-M)/72,v=M;v<b+d/2;v+=d){var O=t[f].x+o[f]*Math.cos(v*SuperMap.Plot.PlottingUtil.DTOR),U=t[f].y+o[f]*Math.sin(v*SuperMap.Plot.PlottingUtil.DTOR);m.push(new SuperMap.Geometry.Point(O,U))}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m)}}},{key:"adjustAngle",value:function(t){for(;t>360;)t-=360;for(;t<0;)t+=360;return t}},{key:"GetCirclePts",value:function(t,e,l,o){var i=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,n=180*SuperMap.Plot.PlottingUtil.radian(t,l)/Math.PI,a=i;n>i&&(a=n);for(var r=[],s=a;s<360+a;s+=4)90==s&&(s=91),r.push(SuperMap.Plot.PlottingUtil.circlePoint(t,o,o,s));return r.push[0],r}},{key:"CreatArc",value:function(t,e,l){for(var o=[],i=[],n=0;n<t.length;n++){var a=t[n];SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,a)||SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,a)?(i.length>1&&o.push(i),i=[]):i.push(a)}i.length>1&&o.push(i);for(var r=0;r<o.length;r++){var s=o[r];this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}}},{key:"GetArcPts3D",value:function(t,e,l){for(var o=[],i=[],n=0;n<t.length;n++){var a=t[n];SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,a)||SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,a)?(i.length>1&&o.push(i),i=[]):i.push(a)}i.length>1&&o.push(i);for(var r=[],s=0;s<o.length;s++)r=r.concat(o[s]);return r}},{key:"sortPts",value:function(t,e){t=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);for(var l=0;l<e.length;l++)for(var o=e[l],i=180*SuperMap.Plot.PlottingUtil.radian(t,o)/Math.PI,n=0;n<e.length;n++){var a=e[n],r=180*SuperMap.Plot.PlottingUtil.radian(t,a)/Math.PI;if(i>r){var s=new SuperMap.Geometry.Point(o.x,o.y);o=new SuperMap.Geometry.Point(a.x,a.y),a=new SuperMap.Geometry.Point(s.x,s.y),i=r,e[l]=o,e[n]=a}}return e}}]),e}();SuperMap.Plot.AlgoSymbol23902=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23901=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.333333),l.scaleValues.push(.333333),l.scaleValues.push(.125),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=[];if(2==t.length){var o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);e=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI;var a=SuperMap.Plot.PlottingUtil.circlePoint(o,n,n,e+60);l.push(t[0]),l.push(i),l.push(a),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);for(var r=0;r<t.length;r++)l.push(t[r])}var s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);l.push(l[0]);var p=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(!this.isEdit){var u=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.scaleValues[2]=2*u*this.getSubSymbolScaleValue()/p}var c=this.scaleValues[0],P=this.scaleValues[1],S=this.scaleValues[2],h=this.scaleValues[3],y=this.ComputeSubSymbolPt(c,P,l,s),f=p*S,g=y;e=h-90,0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],g,f,e),this.addScalePoint(g);var M=SuperMap.Plot.PlottingUtil.circlePoint(y,f,f,h);this.addScalePoint(M),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n,a=[];if(2==l.length){o=l[0],i=l[1];var r=SuperMap.Plot.PlottingUtil.distance(o,i),s=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI;n=SuperMap.Plot.PlottingUtil.circlePoint(o,r,r,s+60),a.push(o),a.push(i),a.push(n)}else a=a.concat(l);o=a[0],i=a[1],n=a[2];var p=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(a);a.push(a[0]);var u=SuperMap.Plot.PlottingUtil.polylineDistance(a),c=e;if(0==t){var P=SuperMap.Plot.PlottingUtil.plumbLineLen(n,o,i),S=SuperMap.Plot.PlottingUtil.plumbLineLen(i,o,n),h=SuperMap.Plot.PlottingUtil.plumbLineLen(c,o,i)/P,y=SuperMap.Plot.PlottingUtil.plumbLineLen(c,o,n)/S;h>1&&(h=1),y>1&&(y=1),this.scaleValues[0]=h,this.scaleValues[1]=y}else if(1==t){var f=this.scaleValues[0],g=this.scaleValues[1],M=this.ComputeSubSymbolPt(f,g,a,p),b=SuperMap.Plot.PlottingUtil.distance(M,c)/u;this.scaleValues[2]=b;var m=180*SuperMap.Plot.PlottingUtil.radian(M,c)/Math.PI;this.scaleValues[3]=m}}}},{key:"ComputeSubSymbolPt",value:function(t,e,l,o){var i,n,a=l[0],r=l[1],s=l[2],p=SuperMap.Plot.PlottingUtil.plumbLineLen(s,a,r)*t,u=SuperMap.Plot.PlottingUtil.plumbLineLen(r,a,s)*e,c=[];if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(a,r,o)?((i=[]).push(a),i.push(r),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!1)):((i=[]).push(a),i.push(r),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!0)),SuperMap.Plot.PlottingUtil.pointIsRightToLine(a,s,o)?((i=[]).push(a),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!1)):((i=[]).push(a),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!0)),2>c.length||2>n.length)return o;var P=SuperMap.Plot.PlottingUtil.intersectLines(c[0],c[1],n[0],n[1]);return P.isIntersectLines?P.intersectPoint:o}}]),e}();SuperMap.Plot.AlgoSymbol23901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23700=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];3>=t.length?(e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t),e=SuperMap.Plot.PlottingUtil.clearSamePts(e)):e=t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=i}var n=o*this.scaleValues[0]*.15,a=[];a.push(new SuperMap.Geometry.Point(0,n)),a.push(new SuperMap.Geometry.Point(-n,0)),a.push(new SuperMap.Geometry.Point(0,-n));var r=[];r.push(new SuperMap.Geometry.Point(n,n)),r.push(new SuperMap.Geometry.Point(0,0)),r.push(new SuperMap.Geometry.Point(n,-n));for(var s=new SuperMap.Geometry.Point(-3*n,2*n),p=SuperMap.Plot.PlottingUtil.coordinateTrans(l,s,0),u=[],c=[],P=0;P<3;P++)u.push(new SuperMap.Geometry.Point(a[P].x+p.x,a[P].y+p.y)),c.push(new SuperMap.Geometry.Point(r[P].x+p.x,r[P].y+p.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);for(var S=new SuperMap.Geometry.Point(3*n,2*n),h=SuperMap.Plot.PlottingUtil.coordinateTrans(l,S,0),y=[],f=[],g=0;g<3;g++)y.push(new SuperMap.Geometry.Point(a[g].x+h.x,a[g].y+h.y)),f.push(new SuperMap.Geometry.Point(r[g].x+h.x,r[g].y+h.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var M=new SuperMap.Geometry.Point(-4*n,-2*n),b=SuperMap.Plot.PlottingUtil.coordinateTrans(l,M,0);y=[],f=[];for(var m=0;m<3;m++)y.push(new SuperMap.Geometry.Point(a[m].x+b.x,a[m].y+b.y)),f.push(new SuperMap.Geometry.Point(r[m].x+b.x,r[m].y+b.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var d=new SuperMap.Geometry.Point(0,-2*n),v=SuperMap.Plot.PlottingUtil.coordinateTrans(l,d,0);y=[],f=[];for(var O=0;O<3;O++)y.push(new SuperMap.Geometry.Point(a[O].x+v.x,a[O].y+v.y)),f.push(new SuperMap.Geometry.Point(r[O].x+v.x,r[O].y+v.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var U=new SuperMap.Geometry.Point(4*n,-2*n),w=SuperMap.Plot.PlottingUtil.coordinateTrans(l,U,0);y=[],f=[];for(var L=0;L<3;L++)y.push(new SuperMap.Geometry.Point(a[L].x+w.x,a[L].y+w.y)),f.push(new SuperMap.Geometry.Point(r[L].x+w.x,r[L].y+w.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol23700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(-.1),l.scaleValues.push(0),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){4>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var i=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[0]=i/o*.8,this.scaleValues[3]=i/o*.8}var n=this.scaleValues[0],a=this.scaleValues[1],r=this.scaleValues[3],s=this.scaleValues[4],p=this.scaleValues[6],u=this.scaleValues[7],c=this.scaleValues[8],P=this.scaleValues[9],S=new SuperMap.Geometry.Point(l.x+o*p,l.y+o*u),h=new SuperMap.Geometry.Point(l.x+o*c,l.y+o*P),y=[],f=.15*SuperMap.Plot.PlottingUtil.distance(S,h),g=SuperMap.Plot.PlottingUtil.linePnt(S,h,f),M=SuperMap.Plot.PlottingUtil.linePnt(h,S,f);y.push(g),y.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var b=o*n,m=a;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,b,m);var d=o*r,v=s;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],h,d,v),this.addScalePoint(S);var O=SuperMap.Plot.PlottingUtil.circlePoint(S,b,b,m);this.addScalePoint(O),this.addScalePoint(h);var U=SuperMap.Plot.PlottingUtil.circlePoint(h,d,d,v);this.addScalePoint(U),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r,s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),p=SuperMap.Plot.PlottingUtil.polylineDistance(o),u=e;if(0==t)i=(u.x-s.x)/p,this.scaleValues[6]=i,n=(u.y-s.y)/p,this.scaleValues[7]=n;else if(1==t){i=this.scaleValues[6],n=this.scaleValues[7];var c=new SuperMap.Geometry.Point(s.x+p*i,s.y+p*n),P=SuperMap.Plot.PlottingUtil.distance(c,u)/p;this.scaleValues[0]=P;var S=180*SuperMap.Plot.PlottingUtil.radian(c,u)/Math.PI;this.scaleValues[1]=S,this.scaleValues[2]=0<=S&&S<90?1:90<=S&&S<180?2:180<=S&&S<270?3:4}else if(2==t)a=(u.x-s.x)/p,this.scaleValues[8]=a,r=(u.y-s.y)/p,this.scaleValues[9]=r;else if(3==t){a=this.scaleValues[8],r=this.scaleValues[9];var h=new SuperMap.Geometry.Point(s.x+p*a,s.y+p*r),y=SuperMap.Plot.PlottingUtil.distance(h,u)/p;this.scaleValues[3]=y;var f=180*SuperMap.Plot.PlottingUtil.radian(h,u)/Math.PI;this.scaleValues[4]=f,this.scaleValues[5]=0<=f&&f<90?1:90<=f&&f<180?2:180<=f&&f<270?3:4}}}}]),e}();SuperMap.Plot.AlgoSymbol23600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{fillLimit:!0,fill:!1,surroundLineFlag:!1});var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],a=this.scaleValues[2],r=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*a,l.y+o*r);if(this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0){if(this.subSymbols[0].symbolData)for(var u in this.subSymbols[0].symbolData.innerCells)this.subSymbols[0].symbolData.innerCells[u].type===SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL&&(this.subSymbols[0].symbolData.innerCells[u].type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL);this.computeSubSymbol(this.subSymbols[0],p,s,0)}this.addScalePoint(p);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),r=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-a.x)/r,this.scaleValues[2]=i,n=(e.y-a.y)/r,this.scaleValues[3]=n;else if(1===t){i=this.scaleValues[2],n=this.scaleValues[3];var s=new SuperMap.Geometry.Point(a.x+r*i,a.y+r*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/r;this.scaleValues[0]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol23500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e),this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var l=this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2],n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),a=SuperMap.Plot.PlottingUtil.polylineDistance(t),r=a*i,s=new SuperMap.Geometry.Point(n.x+a*l,n.y+a*o);if(this.subSymbols.length>0){if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&this.computeSubSymbol(this.subSymbols[0],s,r,0),this.addScalePoint(s);var p=SuperMap.Plot.PlottingUtil.circlePoint(s,r,r,0);this.addScalePoint(p)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),r=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-a.x)/r,this.scaleValues[0]=i,n=(e.y-a.y)/r,this.scaleValues[1]=n;else if(1===t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(a.x+r*i,a.y+r*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/r;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol23400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol22200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05));var o=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.35*this.getSubSymbolScaleValue());var i=o*this.scaleValues[0],n=[];n.push(new SuperMap.Geometry.Point(l.x,l.y)),n.push(new SuperMap.Geometry.Point(l.x+i,l.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,n);var a=[];a.push(new SuperMap.Geometry.Point(l.x,l.y+.8*i)),a.push(new SuperMap.Geometry.Point(l.x,l.y-.8*i)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var r=[];r.push(new SuperMap.Geometry.Point(l.x+.8*i,l.y)),r.push(new SuperMap.Geometry.Point(l.x-.8*i,l.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol22200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol22103=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.025)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol22000),e}();SuperMap.Plot.AlgoSymbol22103=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol22000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.03):1===this.scaleValues.length&&(this.scaleValues[1]=.02),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.6*this.getSubSymbolScaleValue()}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.8*r,a);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var P=e[0],S=e[1],h=e[e.length-2],y=e[e.length-1],f=l*this.scaleValues[1],g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,S,P),M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,h,y),b=g.pntLeft,m=M.pntLeft,d=[];d.push(P),d.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=[];v.push(y),v.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v);var O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),U=SuperMap.Plot.PlottingUtil.circlePoint(O.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,a);this.addScalePoint(U,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol22000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05,l.scaleValues[2]=.01,l.scaleValues[3]=.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues[0]=.05,this.scaleValues[1]=.02,this.scaleValues[2]=.01,this.scaleValues[3]=.02):1===this.scaleValues.length&&(this.scaleValues.push(.02),this.scaleValues.push(.01),this.scaleValues.push(.25*this.getSubSymbolScaleValue())),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[3]=.5*o}for(var i=this.getLinePts(e,this.scaleValues[0]),n=[],a=[],r=0;r<=i.startIndex;r++)n.push(e[r]);if(n.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),i.endIndex<=e.length){a.push(i.endPt);for(var s=i.endIndex+1;s<=e.length-1;s++)a.push(e[s]);this.addArrow(a,this.scaleValues[this.scaleValues.length-1])}var p,u,c,P,S,h,y,f,g,M,b,m,d,v=i.startPt.clone(),O=i.endPt.clone(),U=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),w=SuperMap.Plot.PlottingUtil.distance(v,O),L=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD;p=new SuperMap.Geometry.Point(0,0),u=new SuperMap.Geometry.Point(0,0),c=new SuperMap.Geometry.Point(0,0),P=new SuperMap.Geometry.Point(0,0),S=new SuperMap.Geometry.Point(0,0),h=new SuperMap.Geometry.Point(0,0),y=new SuperMap.Geometry.Point(0,0),f=new SuperMap.Geometry.Point(0,0),g=new SuperMap.Geometry.Point(0,0),M=new SuperMap.Geometry.Point(0,0),b=new SuperMap.Geometry.Point(0,0),m=new SuperMap.Geometry.Point(0,0),d=new SuperMap.Geometry.Point(0,0),v.x>=O.x?(p.x=.25*w,p.y=.25*-w,u.x=.5*-w,u.y=.25*-w,c.x=.5*-w,c.y=.25*w,P.x=.5*w,P.y=.25*w,S.x=.5*w,S.y=0,h.x=.25*-w,h.y=.125*-w,y.x=0,y.y=.125*w,f.x=0,f.y=.125*-w,g.x=.25*w,g.y=.2*w,M.x=.25*-w,M.y=.25*-w,b.x=.375*-w,b.y=.5*-w,m.x=.02*-w,m.y=.25*-w,d.x=.1*w,d.y=.5*-w):(p.x=.25*w,p.y=.25*w,u.x=.5*-w,u.y=.25*w,c.x=.5*-w,c.y=.25*-w,P.x=.5*w,P.y=.25*-w,S.x=.5*w,S.y=0,h.x=.25*w,h.y=.125*-w,y.x=0,y.y=.125*w,f.x=0,f.y=.125*-w,g.x=.25*-w,g.y=.125*w,M.x=.25*-w,M.y=.25*w,b.x=.375*-w,b.y=.5*w,m.x=.02*w,m.y=.25*w,d.x=.15*w,d.y=.5*w);var V=[],_=[],T=[],A=[],E=[],x=SuperMap.Plot.PlottingUtil.coordinateTrans(U,p,L),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(U,u,L),j=SuperMap.Plot.PlottingUtil.coordinateTrans(U,c,L),C=SuperMap.Plot.PlottingUtil.coordinateTrans(U,P,L),I=SuperMap.Plot.PlottingUtil.coordinateTrans(U,S,L),G=SuperMap.Plot.PlottingUtil.coordinateTrans(U,h,L),B=SuperMap.Plot.PlottingUtil.coordinateTrans(U,y,L),R=SuperMap.Plot.PlottingUtil.coordinateTrans(U,f,L),N=SuperMap.Plot.PlottingUtil.coordinateTrans(U,g,L),D=SuperMap.Plot.PlottingUtil.coordinateTrans(U,M,L),k=SuperMap.Plot.PlottingUtil.coordinateTrans(U,b,L),z=SuperMap.Plot.PlottingUtil.coordinateTrans(U,m,L),F=SuperMap.Plot.PlottingUtil.coordinateTrans(U,d,L);V.push(x),V.push(Y),V.push(j),V.push(C),V.push(I),_.push(G),_.push(B),_.push(R),_.push(N),T.push(D),T.push(k),A.push(z),A.push(F),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,V,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,null,!0);var K=.3*SuperMap.Plot.PlottingUtil.distance(R,N),q=SuperMap.Plot.PlottingUtil.linePnt(N,R,K),W=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*K,N,q);E.push(W.pntLeft),E.push(N),E.push(W.pntRight);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,E,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var J=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),Z=SuperMap.Plot.PlottingUtil.circlePoint(J.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,L+90);this.addScalePoint(Z,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol21900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.2));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],l=.5*e,o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,a=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+90),r=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+270),s=SuperMap.Plot.PlottingUtil.circlePoint(a,l,l,n),p=SuperMap.Plot.PlottingUtil.circlePoint(r,l,l,n),u=[];u.push(p),u.push(r),u.push(a),u.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+90),P=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+270),S=SuperMap.Plot.PlottingUtil.circlePoint(c,l,l,n+180),h=SuperMap.Plot.PlottingUtil.circlePoint(P,l,l,n+180);(u=[]).push(S),u.push(c),u.push(P),u.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addScalePoint(a),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol21800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05)),l.subText="",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(SuperMap.Plot.PlottingUtil.clearSamePts(t),!(t.length<this.minEditPts)){1==this.scaleValues.length&&this.scaleValues.push(this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[0]=.6*this.getSubSymbolScaleValue(),this.scaleValues[1]=this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l=0,o=0;o<e.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(e[o],e[o+1]);var i=.5*l,n=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,i);if(-1!==n.index){for(var a=n.pt,r=[],s=0,p=0;p<n.index+1;p++)r.push(e[p]),p>0&&(s+=SuperMap.Plot.PlottingUtil.distance(r[p],r[p-1]));var u,c,P=i-s,S=l*this.scaleValues[1],h=[];if(P>=S){u=SuperMap.Plot.PlottingUtil.linePnt(a,e[n.index],S),r.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),c=SuperMap.Plot.PlottingUtil.linePnt(a,e[n.index+1],S),h.push(c);for(var y=e.length,f=n.index+1;f<y;++f)h.push(e[f]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}else{for(var g,M,b=-1,m=r.length-1;m>=0;m--)if(g=new SuperMap.Geometry.Point(r[m].x,r[m].y),M=new SuperMap.Geometry.Point(a.x,a.y),SuperMap.Plot.PlottingUtil.distance(g,M)>S){b=m;break}if(-1==b)return;r.splice(b+1,r.length-1-b),u=SuperMap.Plot.PlottingUtil.linePnt(a,e[b],S),r.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);for(var d=-1,v=n.index;v<e.length;v++)if(g=new SuperMap.Geometry.Point(e[v].x,e[v].y),M=new SuperMap.Geometry.Point(a.x,a.y),SuperMap.Plot.PlottingUtil.distance(g,M)>S){d=v;break}if(-1==d)return;c=SuperMap.Plot.PlottingUtil.linePnt(a,e[d],S),h.push(c);for(var O=d+1;O<e.length;++O)h.push(e[O]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}if(!(r.length<2)){for(var U=0,w=0;w<t.length-1;w++)U+=SuperMap.Plot.PlottingUtil.distance(t[w],t[w+1]);var L=U*this.scaleValues[0],V=new SuperMap.Geometry.Point(r[0].x,r[0].y),_=new SuperMap.Geometry.Point(r[1].x,r[1].y),T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,_,V),A=[];if(A.push(T.pntLeft),A.push(T.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A),!(h.length<2)){var E=new SuperMap.Geometry.Point(h[h.length-1].x,h[h.length-1].y),x=new SuperMap.Geometry.Point(h[h.length-2].x,h[h.length-2].y),Y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,x,E);(A=[]).push(Y.pntLeft),A.push(Y.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A);var j=u,C=c,I=180*SuperMap.Plot.PlottingUtil.radian(j,C)/Math.PI,G=SuperMap.Plot.PlottingUtil.distance(j,C),B=new SuperMap.Geometry.Point((u.x+c.x)/2,(u.y+c.y)/2),R=this.subText;this.addText(R,B,G,I),this.addScalePoint(T.pntLeft),this.finish()}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol21600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21504=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),o(e,[{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-90)}}]),e}();SuperMap.Plot.AlgoSymbol21504=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21503=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),o(e,[{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-90)}}]),e}();SuperMap.Plot.AlgoSymbol21503=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol21502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),e}();SuperMap.Plot.AlgoSymbol21502=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.02):1===this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue()),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.5*this.getSubSymbolScaleValue()}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.addSubSymbols(n,r,a);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p,this.scaleValues[1])}var P=l*this.scaleValues[0]*.5,S=SuperMap.Plot.PlottingUtil.circlePoint(n,P,P,a+90);this.addScalePoint(S,0),this.finish()}}},{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-180)}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol21501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues.push(.02),this.scaleValues.push(.1),this.scaleValues.push(0)):3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);if(e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addArrow(e,this.scaleValues[this.scaleValues.length-1]),0!==SuperMap.Plot.PlottingUtil.polylineDistance(e)){if(!this.isEdit){var l=this.getSubSymbolScaleValue();this.scaleValues[0]=.5*l,this.scaleValues[this.scaleValues.length-1]=.5*this.getSubSymbolScaleValue()}for(var o=this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=o*i,a=this.scaleValues[1]*i,r=0,s=.01*i,p=s,u=0;p<=i;p+=a,u++){r=p+s;var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,r);if(-1===c.index)return;var P=[],S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index],c.pt);P.push(new SuperMap.Geometry.Point(S.pntLeft.x,S.pntLeft.y)),P.push(new SuperMap.Geometry.Point(S.pntRight.x,S.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),0===u?this.addScalePoint(P[0],0):1===u&&this.addScalePoint(c.pt,1)}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=.01*i;if(0===t){var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,n);if(-1===a.index)return;var r=SuperMap.Plot.PlottingUtil.distance(e,a.pt);this.scaleValues[0]=r/i}else if(1===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,n);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,o);if(-1===p.index)return;for(var u=0,c=s.index+1;c<p.index;c++)u+=SuperMap.Plot.PlottingUtil.distance(o[c],o[c+1]);u+=SuperMap.Plot.PlottingUtil.distance(o[p.index],p.pt),u-=n,this.scaleValues[1]=u/i,this.scaleValues[1]>.93&&(this.scaleValues[1]=.93)}}}}]),e}();SuperMap.Plot.AlgoSymbol21500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.03),l.scaleValues.push(.4),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues.push(.03),this.scaleValues.push(.4),this.scaleValues.push(0)):3===this.scaleValues.length&&this.scaleValues.push(.02);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=this.scaleValues[1],i=l*(1-o)*.5,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,e);if(n.bfind){this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue(),this.scaleValues[this.scaleValues.length-1]=.5*this.getSubSymbolScaleValue());var a,r=this.scaleValues[0],s=SuperMap.Plot.PlottingUtil.polylineDistance(t)*r,p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[n.index],n.pts),u=this.scaleValues[2];1===u?a=new SuperMap.Geometry.Point(p.pntRight.x,p.pntRight.y):0===u&&(a=new SuperMap.Geometry.Point(p.pntLeft.x,p.pntLeft.y));var c=[];c.push(a),c.push(n.pts);var P;this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,{lineTypeLimit:!0});var S=l*(.5+.5*o),h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e);if(h.bfind){var y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[h.index],h.pts);1===u?P=new SuperMap.Geometry.Point(y.pntRight.x,y.pntRight.y):0===u&&(P=new SuperMap.Geometry.Point(y.pntLeft.x,y.pntLeft.y)),this.addArrow(e,this.scaleValues[this.scaleValues.length-1]),this.addScalePoint(P,0);var f=[];f.push(P),f.push(h.pts);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f,{lineTypeLimit:!0}),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=i*(.5+.5*this.scaleValues[1]),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,o);if(!a.bfind)return;var r,s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[a.index],a.pts),p=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[a.index],o[a.index+1],e);this.scaleValues[2]=p?0:1,r=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,new SuperMap.Geometry.Point(s.pntLeft.x,s.pntLeft.y),new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y));var u=SuperMap.Plot.PlottingUtil.distance(r.projectPoint,new SuperMap.Geometry.Point(a.pts.x,a.pts.y));this.scaleValues[0]=u/i}}}]),e}();SuperMap.Plot.AlgoSymbol21401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),!(this.controlPoints<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.02));[].push(e[e.length-1]),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());for(var l=SuperMap.Plot.PlottingUtil.polylineDistance(e)*this.scaleValues[0],o=t[t.length-1],i=SuperMap.Plot.PlottingUtil.distance(o,e[e.length-1]);i<1.5*l;)e.pop(),i=SuperMap.Plot.PlottingUtil.distance(o,e[e.length-1]);e.push(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var n=e[e.length-2],a=180*SuperMap.Plot.PlottingUtil.radian(o,n)/Math.PI,r=SuperMap.Plot.PlottingUtil.circlePoint(o,l,l,a+22.5),s=SuperMap.Plot.PlottingUtil.circlePoint(o,l,l,a-22.5),p=[];p.push(r),p.push(o),p.push(s);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,p,{surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0,fill:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol21400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol20301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length!==this.minEditPts&&(this.scaleValues=[],this.scaleValues.push(.2),this.scaleValues.push(0)),this.components=[],this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,this.controlPoints);var e,l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,a=new SuperMap.Geometry.Point((o.x+i.x)/2,(o.y+i.y)/2),r=this.scaleValues[0]*l;e=0==this.scaleValues[1]?SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,n+90):SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,n+270);var s={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[a,e]);var p=.02*SuperMap.Plot.PlottingUtil.distance(t[0],t[t.length-1]),u=new SuperMap.Geometry.Point((o.x+a.x)/2,(o.y+a.y)/2),c=[u,new SuperMap.Geometry.Point(u.x,u.y+p)];this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,s,!0);var P=new SuperMap.Geometry.Point((i.x+a.x)/2,(i.y+a.y)/2);c=[P,new SuperMap.Geometry.Point(P.x,P.y+p)],this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,s,!0);var S=new SuperMap.Geometry.Point(e.x,e.y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=new SuperMap.Geometry.Point(l[0].x,l[0].y),i=new SuperMap.Geometry.Point(l[1].x,l[1].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);if(0===n)return;var a=new SuperMap.Geometry.Point((o.x+i.x)/2,(o.y+i.y)/2);if(0===t){var r=SuperMap.Plot.PlottingUtil.distance(e,a)/n;this.scaleValues[0]=r,SuperMap.Plot.PlottingUtil.pointIsRightToLine(o,i,e)?this.scaleValues[1]=1:this.scaleValues[1]=0}}}}]),e}();SuperMap.Plot.AlgoSymbol20301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol20300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){1!==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1)),this.components=[],this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,this.controlPoints);var e=this.scaleValues[0],l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=l*e,i=.01*l;o<2*i&&(i=.5*o);for(var n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},a=0,r=o;r<l-i;r+=o){var s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r,t);if(s.bfind){var p=s.pts,u=[];u.push(p);var c=SuperMap.Plot.PlottingUtil.circlePoint(p,i,i,90);if(u.push(c),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,u,n),0===a){var P=new SuperMap.Geometry.Point(p.x,p.y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}a++}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;for(var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=-1,n=0,a=new SuperMap.Geometry.Point(0,0),r=0;r<l.length-1;r++){var s,p=[];p.push(l[r]),p.push(l[r+1]);var u=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l[r],l[r+1]);if(u.isOnline&&(s=u.projectPoint),!u.isOnline&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(e,l[r],l[r+1])&&(s=e),void 0===s)return;if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(s,p).isOnPolyLine){var c=SuperMap.Plot.PlottingUtil.distance(e,s);-1===i?(i=r,a=s,n=c):n>c&&(i=r,a=s,n=c)}}if(-1===i||i>l.length-1)return;for(var P=0,S=0;S<i;S++){var h=new SuperMap.Geometry.Point(l[S].x,l[S].y),y=new SuperMap.Geometry.Point(l[S+1].x,l[S+1].y);P+=SuperMap.Plot.PlottingUtil.distance(h,y)}var f=new SuperMap.Geometry.Point(l[i].x,l[i].y);if((P+=SuperMap.Plot.PlottingUtil.distance(f,a))<0||P>o)return;var g=P/o;g>.95?g=.95:g<.1&&(g=.1),this.scaleValues[0]=g}}}]),e}();SuperMap.Plot.AlgoSymbol20300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17806=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17804),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var e,l,o,i,n,a=this.scaleValues[0],r=this.scaleValues[1],s=this.scaleValues[2],p=0,u=0;if(t.length==this.minEditPts){this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y);var c=SuperMap.Plot.PlottingUtil.distance(l,o);p=2*c,e=new SuperMap.Geometry.Point(l.x+p*a,l.y+p*r);var P=2*c*s/.28/2;u=P,i=SuperMap.Plot.PlottingUtil.circlePoint(e,P,P,0),(n=[]).push(e.clone()),n.push(i.clone()),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,n)}else{this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),p=SuperMap.Plot.PlottingUtil.distance(l,o)+SuperMap.Plot.PlottingUtil.distance(l,i),e=new SuperMap.Geometry.Point(l.x+p*a,l.y+p*r);var S=p*s/.21/2,h=p*s/.38/2;u=S;var y=SuperMap.Plot.PlottingUtil.circlePoint(e,S,S,0),f=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,90);(n=[]).push(e.clone()),n.push(y.clone()),n.push(f.clone()),this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,n)}this.scalePoints=[];var g=new SuperMap.Geometry.Point(e.x+.1*p,e.y);g.isScalePoint=!0,g.tag=0,this.scalePoints.push(g);var M=SuperMap.Plot.PlottingUtil.circlePoint(e,u,u,90);M.isScalePoint=!0,M.tag=1,this.scalePoints.push(M),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,a=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),r=(a=SuperMap.Plot.PlottingUtil.clearSamePts(a))[0].clone(),s=0;if(0==(s=2==a.length?2*SuperMap.Plot.PlottingUtil.distance(a[0],a[1]):SuperMap.Plot.PlottingUtil.distance(a[0],a[1])+SuperMap.Plot.PlottingUtil.distance(a[0],a[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*s-r.x)/s,this.scaleValues[0]=l,o=(e.y-r.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(r.x+s*l,r.y+s*o);n=SuperMap.Plot.PlottingUtil.distance(p,e),i=.1,i=2===a.length?.56*n/s:.42*n/s,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17806=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17805=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17804),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1)),t.length==this.minEditPts?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=t.length==this.minEditPts?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=3*(l*n),s=new SuperMap.Geometry.Point(-.5*r,.3*r),p=new SuperMap.Geometry.Point(-.5*r,-.3*r),u=new SuperMap.Geometry.Point(.5*r,-.3*r),c=new SuperMap.Geometry.Point(.5*r,.3*r),P=SuperMap.Plot.PlottingUtil.coordinateTrans(a,s,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(a,p,0),h=SuperMap.Plot.PlottingUtil.coordinateTrans(a,u,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(a,c,0),f=[];f.push(P.clone()),f.push(S.clone()),f.push(h.clone()),f.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f);var g=new SuperMap.Geometry.Point(-.3*r,.3*r),M=new SuperMap.Geometry.Point(-.3*r,.5*r),b=SuperMap.Plot.PlottingUtil.coordinateTrans(a,g,0),m=SuperMap.Plot.PlottingUtil.coordinateTrans(a,M,0);(f=[]).push(b.clone()),f.push(m.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var d=new SuperMap.Geometry.Point(-.3*r,-.3*r),v=new SuperMap.Geometry.Point(-.3*r,-.5*r),O=SuperMap.Plot.PlottingUtil.coordinateTrans(a,d,0),U=SuperMap.Plot.PlottingUtil.coordinateTrans(a,v,0);(f=[]).push(O.clone()),f.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var w=new SuperMap.Geometry.Point(.3*r,.3*r),L=new SuperMap.Geometry.Point(.3*r,.5*r),V=SuperMap.Plot.PlottingUtil.coordinateTrans(a,w,0),_=SuperMap.Plot.PlottingUtil.coordinateTrans(a,L,0);(f=[]).push(V.clone()),f.push(_.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var T=new SuperMap.Geometry.Point(.3*r,-.3*r),A=new SuperMap.Geometry.Point(.3*r,-.5*r),E=SuperMap.Plot.PlottingUtil.coordinateTrans(a,T,0),x=SuperMap.Plot.PlottingUtil.coordinateTrans(a,A,0);(f=[]).push(E.clone()),f.push(x.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.scalePoints=[];var Y=new SuperMap.Geometry.Point(a.x+.1*r,a.y);Y.isScalePoint=!0,Y.tag=0,this.scalePoints.push(Y);var j=SuperMap.Plot.PlottingUtil.circlePoint(a,.5*r,.5*r,90);j.isScalePoint=!0,j.tag=1,this.scalePoints.push(j),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17805=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1)),t.length==this.minEditPts?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=t.length==this.minEditPts?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=l*n,s=3*r,p=new SuperMap.Geometry.Point(-.5*s,.5*r),u=new SuperMap.Geometry.Point(.5*s,.5*r),c=SuperMap.Plot.PlottingUtil.coordinateTrans(a,p,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(a,u,0),S=[];S.push(c.clone()),S.push(P.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=new SuperMap.Geometry.Point(-.5*s,-.5*r),y=new SuperMap.Geometry.Point(.5*s,-.5*r),f=SuperMap.Plot.PlottingUtil.coordinateTrans(a,h,0),g=SuperMap.Plot.PlottingUtil.coordinateTrans(a,y,0);(S=[]).push(f.clone()),S.push(g.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var M=new SuperMap.Geometry.Point(-.1*s,.5*r),b=new SuperMap.Geometry.Point(-.15*s,-.5*r),m=SuperMap.Plot.PlottingUtil.coordinateTrans(a,M,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(a,b,0);(S=[]).push(m.clone()),S.push(d.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var v=new SuperMap.Geometry.Point(.15*s,.5*r),O=new SuperMap.Geometry.Point(.1*s,-.5*r),U=SuperMap.Plot.PlottingUtil.coordinateTrans(a,v,0),w=SuperMap.Plot.PlottingUtil.coordinateTrans(a,O,0);(S=[]).push(U.clone()),S.push(w.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.scalePoints=[];var L=new SuperMap.Geometry.Point(a.x+.1*s,a.y);L.isScalePoint=!0,L.tag=0,this.scalePoints.push(L);var V=SuperMap.Plot.PlottingUtil.circlePoint(a,.5*s,.5*s,90);V.isScalePoint=!0,V.tag=1,this.scalePoints.push(V),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,a=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),r=(a=SuperMap.Plot.PlottingUtil.clearSamePts(a))[0].clone(),s=0;if(0==(s=2==a.length?2*SuperMap.Plot.PlottingUtil.distance(a[0],a[1]):SuperMap.Plot.PlottingUtil.distance(a[0],a[1])+SuperMap.Plot.PlottingUtil.distance(a[0],a[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*n-r.x)/s,this.scaleValues[0]=l,o=(e.y-r.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(r.x+s*l,r.y+s*o);i=2*(n=SuperMap.Plot.PlottingUtil.distance(p,e))/s/3,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17804=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17803=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.2)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.2)),2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=2==t.length?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=l*n,s=new SuperMap.Geometry.Point(-.5*r,.25*r),p=new SuperMap.Geometry.Point(-.4*r,.125*r),u=new SuperMap.Geometry.Point(.4*r,.125*r),c=new SuperMap.Geometry.Point(.5*r,.25*r),P=SuperMap.Plot.PlottingUtil.coordinateTrans(a,s,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(a,p,0),h=SuperMap.Plot.PlottingUtil.coordinateTrans(a,u,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(a,c,0),f=[];f.push(P.clone()),f.push(S.clone()),f.push(h.clone()),f.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=new SuperMap.Geometry.Point(-.5*r,-.25*r),M=new SuperMap.Geometry.Point(-.4*r,-.125*r),b=new SuperMap.Geometry.Point(.4*r,-.125*r),m=new SuperMap.Geometry.Point(.5*r,-.25*r),d=SuperMap.Plot.PlottingUtil.coordinateTrans(a,g,0),v=SuperMap.Plot.PlottingUtil.coordinateTrans(a,M,0),O=SuperMap.Plot.PlottingUtil.coordinateTrans(a,b,0),U=SuperMap.Plot.PlottingUtil.coordinateTrans(a,m,0);(f=[]).push(d.clone()),f.push(v.clone()),f.push(O.clone()),f.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.scalePoints=[];var w=new SuperMap.Geometry.Point(a.x+.1*r,a.y);w.isScalePoint=!0,w.tag=0,this.scalePoints.push(w);var L=SuperMap.Plot.PlottingUtil.circlePoint(a,.25*r,.25*r,90);L.isScalePoint=!0,L.tag=1,this.scalePoints.push(L),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,a=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),r=(a=SuperMap.Plot.PlottingUtil.clearSamePts(a))[0].clone(),s=0;if(0==(s=2==a.length?2*SuperMap.Plot.PlottingUtil.distance(a[0],a[1]):SuperMap.Plot.PlottingUtil.distance(a[0],a[1])+SuperMap.Plot.PlottingUtil.distance(a[0],a[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*n-r.x)/s,this.scaleValues[0]=l,o=(e.y-r.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(r.x+s*l,r.y+s*o);i=4*(n=SuperMap.Plot.PlottingUtil.distance(p,e))/s,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=[],a=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),r=SuperMap.Plot.PlottingUtil.circlePoint(e,.08*i,.08*i,o+90),s=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),p=SuperMap.Plot.PlottingUtil.circlePoint(e,.08*i,.08*i,o+270);n.push(a.clone()),n.push(r.clone()),n.push(s.clone()),n.push(p.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),c=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180);(n=[]).push(u.clone()),n.push(c.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),S=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(n=[]).push(P.clone()),n.push(S.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var h=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),y=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(n=[]).push(h.clone()),n.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var f=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),g=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(n=[]).push(f.clone()),n.push(g.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=[],a=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,0);n.push(t[0].clone()),n.push(a.clone()),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,n);var r=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),s=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180);(n=[]).push(r.clone()),n.push(s.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var p=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),u=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(n=[]).push(p.clone()),n.push(u.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var c=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),P=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(n=[]).push(c.clone()),n.push(P.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var S=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),h=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(n=[]).push(S.clone()),n.push(h.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),a=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180),r=[];r.push(n.clone()),r.push(a.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var s=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,o+180),p=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(r=[]).push(s.clone()),r.push(p.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,o),c=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(r=[]).push(u.clone()),r.push(c.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),S=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(r=[]).push(P.clone()),r.push(S.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol17704=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="急",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17703),e}();SuperMap.Plot.AlgoSymbol17704=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17703=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="加",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.isEdit||(this.scaleValues=[]);var o=[];if(this.scalePoints=[],t.length<3)o.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),o.push(new SuperMap.Geometry.Point(t[1].x,t[1].y));else{var i=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=i.scaleValues;for(var n=0;n<i.scalePoints.length;n++)this.addScalePoint(i.scalePoints[n]);o=i.beizerPoints}if(!(o.length<2)){var a=e/2;if(-1!==SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,a).index){var r,s;if(r=2==t.length?0:t.length-1,this.isEdit)s=this.scaleValues[4*r]*e,isNaN(s)&&(s=Math.abs(this.scaleValues[4*r-1]*e));else{var p=.5*this.getSubSymbolScaleValue();s=p*e,this.scaleValues.push(p)}var u=a-s,c=a+s,P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,u);if(-1!==P.index){var S=P.pt;this.addScalePoint(new SuperMap.Geometry.Point(S.x,S.y));var h=[];if(0==P.index)h.push(o[0]);else for(var y=0;y<P.index;y++)h.push(o[y]);h.push(S);var f=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,c);if(-1!==f.index){var g=f.pt,M=[];M.push(g);for(var b=f.index+1;b<o.length;b++)M.push(o[b]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var m=h[h.length-1],d=M[0],v=180*SuperMap.Plot.PlottingUtil.radian(m,d)/Math.PI,O=SuperMap.Plot.PlottingUtil.distance(m,d),U=new SuperMap.Geometry.Point((m.x+d.x)/2,(m.y+d.y)/2),w=this.subText;this.addText(w,U,O,v),this.finish()}}}}}}},{key:"computeBeizer",value:function(t,e){var l,o,i,n=[];if(this.scalePoints=[],this.isEdit){(i=[]).push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),i.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),l=this.scaleValues[0],o=this.scaleValues[1];var a=t[0].x+e*l,r=t[0].y+e*o;i.push(new SuperMap.Geometry.Point(a,r)),this.addScalePoint(new SuperMap.Geometry.Point(a,r));for(var s=1;s<t.length-1;s++)i.push(new SuperMap.Geometry.Point(t[s].x,t[s].y)),l=this.scaleValues[4*s-2],o=this.scaleValues[4*s-1],a=t[s].x+e*l,r=t[s].y+e*o,i.push(new SuperMap.Geometry.Point(a,r)),this.addScalePoint(new SuperMap.Geometry.Point(a,r)),l=this.scaleValues[4*s],o=this.scaleValues[4*s+1],a=t[s].x+e*l,r=t[s].y+e*o,i.push(new SuperMap.Geometry.Point(a,r)),this.addScalePoint(new SuperMap.Geometry.Point(a,r));var p=t.length-1;i.push(new SuperMap.Geometry.Point(t[p].x,t[p].y)),l=this.scaleValues[4*p-2],o=this.scaleValues[4*p-1],a=t[p].x+e*l,r=t[p].y+e*o,i.push(new SuperMap.Geometry.Point(a,r)),this.addScalePoint(new SuperMap.Geometry.Point(a,r)),i.push(new SuperMap.Geometry.Point(t[p].x,t[p].y)),n=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(i)}else{if(this.scaleValues=[],i=[],(i=SuperMap.Plot.PlottingUtil.getBeizerCtrlPt(t)).length<3)return n;var u=i[2].x-i[0].x,c=i[2].y-i[0].y;l=u/e,o=c/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[2].x,i[2].y));for(var P=1;P<t.length-1;P++){l=(u=i[3*P+1].x-i[3*P].x)/e,o=(c=i[3*P+1].y-i[3*P].y)/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[3*P+1].x,i[3*P+1].y));var S=(i[3*P+2].x-i[3*P].x)/e,h=(i[3*P+2].y-i[3*P].y)/e;this.scaleValues.push(S),this.scaleValues.push(h),this.addScalePoint(new SuperMap.Geometry.Point(i[3*P+2].x,i[3*P+2].y))}l=(u=i[3*(t.length-1)+1].x-i[3*(t.length-1)].x)/e,o=(c=i[3*(t.length-1)+1].y-i[3*(t.length-1)].y)/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[3*(t.length-1)+1].x,i[3*(t.length-1)+1].y)),n=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(i)}return n}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),t<0||t>2*l.length-2)return;for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(2*(l.length-1)==t||2==l.length){for(var n=this.computeBeizer(l,o),a=0,r=0;r<n.length-1;r++)a+=SuperMap.Plot.PlottingUtil.distance(n[r],n[r+1]);var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,a/2);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.distance(e,s.pt)/o;p>.45&&(p=.45),2==l.length?this.scaleValues[0]=p:this.scaleValues[2*t]=p}else{var u=-1;u=t%2==0?t/2:(t+1)/2;var c=(e.x-l[u].x)/o,P=(e.y-l[u].y)/o;this.scaleValues[2*t]=c,this.scaleValues[2*t+1]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol17703=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);0===this.scaleValues.length&&this.scaleValues.push(.02),this.isEdit||(this.scaleValues[0]=.2*this.getSubSymbolScaleValue());var l=e*this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.paraLine(o,l,!0),n=SuperMap.Plot.PlottingUtil.paraLine(o,l,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);for(var a={surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0},r=this.getDashLinePts(n,5*l),s=0;s<r.length;s++){var p=r[s];this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,a)}this.finish()}}},{key:"getDashLinePts",value:function(t,e){var l=[],o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(e>o)return l;for(var i=SuperMap.Plot.PlottingUtil.clonePoints(t),n=2*parseInt(o/(1.5*e)),a=0;a<n;a++){var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,e);if(-1!==r.index){if(0==a%2){for(var s=[],p=0;p<r.index+1;p++)s.push(i[p].clone());s.push(r.pt),l.push(s)}var u=[];u.push(r.pt);for(var c=r.index+1;c<i.length;c++)u.push(i[c]);i=(i=[]).concat(u)}}return i.length>0&&l.push(i),l}}]),e}();SuperMap.Plot.AlgoSymbol17700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o,i,n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},a=this.scaleValues[0]*e;o=SuperMap.Plot.PlottingUtil.paraLine(t,a,!0),i=SuperMap.Plot.PlottingUtil.paraLine(t,a,!1);var r=new SuperMap.Geometry.Point(o[0].x,o[0].y);r.isScalePoint=!0,r.tag=0,this.scalePoints.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);var s=new SuperMap.Geometry.Point(t[0].x,t[0].y),p=new SuperMap.Geometry.Point(t[1].x,t[1].y),u=180*SuperMap.Plot.PlottingUtil.radian(s,p)/Math.PI,c=new SuperMap.Geometry.Point(.3*e,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(s,c,u),S=new SuperMap.Geometry.Point(0,.7*a),h=SuperMap.Plot.PlottingUtil.coordinateTrans(P,S,u),y=[];y.push(new SuperMap.Geometry.Point(P.x,P.y)),y.push(new SuperMap.Geometry.Point(h.x,h.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,y,n);var f=new SuperMap.Geometry.Point(.7*a,.7*a),g=new SuperMap.Geometry.Point(-.7*a,.7*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(P,f,u),b=SuperMap.Plot.PlottingUtil.coordinateTrans(P,g,u);(y=[]).push(new SuperMap.Geometry.Point(M.x,M.y)),y.push(new SuperMap.Geometry.Point(b.x,b.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var m=new SuperMap.Geometry.Point(.7*e,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(s,m,u),v=new SuperMap.Geometry.Point(.7*a,.7*a),O=new SuperMap.Geometry.Point(.7*a,-.7*a),U=new SuperMap.Geometry.Point(-.7*a,-.7*a),w=new SuperMap.Geometry.Point(-.7*a,.7*a),L=SuperMap.Plot.PlottingUtil.coordinateTrans(d,v,u),V=SuperMap.Plot.PlottingUtil.coordinateTrans(d,O,u),_=SuperMap.Plot.PlottingUtil.coordinateTrans(d,U,u),T=SuperMap.Plot.PlottingUtil.coordinateTrans(d,w,u);(y=[]).push(new SuperMap.Geometry.Point(L.x,L.y)),y.push(new SuperMap.Geometry.Point(V.x,V.y)),y.push(new SuperMap.Geometry.Point(_.x,_.y)),y.push(new SuperMap.Geometry.Point(T.x,T.y)),y.push(new SuperMap.Geometry.Point(L.x,L.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var A=new SuperMap.Geometry.Point(.3*a,.3*a),E=new SuperMap.Geometry.Point(.3*a,-.3*a),x=new SuperMap.Geometry.Point(-.3*a,-.3*a),Y=new SuperMap.Geometry.Point(-.3*a,.3*a),j=SuperMap.Plot.PlottingUtil.coordinateTrans(d,A,u),C=SuperMap.Plot.PlottingUtil.coordinateTrans(d,E,u),I=SuperMap.Plot.PlottingUtil.coordinateTrans(d,x,u),G=SuperMap.Plot.PlottingUtil.coordinateTrans(d,Y,u);(y=[]).push(new SuperMap.Geometry.Point(j.x,j.y)),y.push(new SuperMap.Geometry.Point(C.x,C.y)),y.push(new SuperMap.Geometry.Point(I.x,I.y)),y.push(new SuperMap.Geometry.Point(G.x,G.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,y,n),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=l[0],a=l[1],r=SuperMap.Plot.PlottingUtil.projectPoint(e,n,a),s=SuperMap.Plot.PlottingUtil.distance(e,r);this.scaleValues[0]=s/o}}}}]),e}();SuperMap.Plot.AlgoSymbol17600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17501=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=e[0].x,o=e[0].x,i=e[0].y,n=e[0].y,a=0;a<e.length;a++)l>e[a].x&&(l=e[a].x),o<e[a].x&&(o=e[a].x),i>e[a].y&&(i=e[a].y),n<e[a].y&&(n=e[a].y);var r=new SuperMap.Geometry.Point((o+l)/2,(n+i)/2),s=.33*(o-l),p=.1*(n-i),u=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,0),c=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,180),P=[];P.push(new SuperMap.Geometry.Point(u.x,u.y)),P.push(new SuperMap.Geometry.Point(c.x,c.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=new SuperMap.Geometry.Point(r.x-3*s/7,r.y+p),h=SuperMap.Plot.PlottingUtil.circlePoint(S,p,p,60),y=SuperMap.Plot.PlottingUtil.circlePoint(S,p,p,120);(P=[]).push(new SuperMap.Geometry.Point(h.x,h.y)),P.push(new SuperMap.Geometry.Point(S.x,S.y)),P.push(new SuperMap.Geometry.Point(y.x,y.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var f=new SuperMap.Geometry.Point(r.x+3*s/7,r.y+p),g=SuperMap.Plot.PlottingUtil.circlePoint(f,p,p,60),M=SuperMap.Plot.PlottingUtil.circlePoint(f,p,p,120);(P=[]).push(new SuperMap.Geometry.Point(g.x,g.y)),P.push(new SuperMap.Geometry.Point(f.x,f.y)),P.push(new SuperMap.Geometry.Point(M.x,M.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17500=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=e[0].x,o=e[0].x,i=e[0].y,n=e[0].y,a=0;a<e.length;a++)l>e[a].x&&(l=e[a].x),o<e[a].x&&(o=e[a].x),i>e[a].y&&(i=e[a].y),n<e[a].y&&(n=e[a].y);var r={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},s=new SuperMap.Geometry.Point((o+l)/2,(n+i)/2),p=o-l,u=n-i,c=.1*p,P=.1*u,S=new SuperMap.Geometry.Point(s.x,s.y+P),h=new SuperMap.Geometry.Point(s.x-c,s.y-P),y=new SuperMap.Geometry.Point(s.x+c,s.y-P);c=.03*p,P=.03*u;var f=new SuperMap.Geometry.Point(S.x,S.y+P),g=new SuperMap.Geometry.Point(S.x-c,S.y-P),M=new SuperMap.Geometry.Point(S.x+c,S.y-P),b=[];b.push(new SuperMap.Geometry.Point(f.x,f.y)),b.push(new SuperMap.Geometry.Point(g.x,g.y)),b.push(new SuperMap.Geometry.Point(M.x,M.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,r);var m=new SuperMap.Geometry.Point(h.x,h.y+P),d=new SuperMap.Geometry.Point(h.x-c,h.y-P),v=new SuperMap.Geometry.Point(h.x+c,h.y-P),O=[];O.push(new SuperMap.Geometry.Point(m.x,m.y)),O.push(new SuperMap.Geometry.Point(d.x,d.y)),O.push(new SuperMap.Geometry.Point(v.x,v.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,O,r);var U=new SuperMap.Geometry.Point(y.x,y.y+P),w=new SuperMap.Geometry.Point(y.x-c,y.y-P),L=new SuperMap.Geometry.Point(y.x+c,y.y-P),V=[];V.push(new SuperMap.Geometry.Point(U.x,U.y)),V.push(new SuperMap.Geometry.Point(w.x,w.y)),V.push(new SuperMap.Geometry.Point(L.x,L.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,V,r),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17401=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=e[0].x,o=e[0].x,i=e[0].y,n=e[0].y,a=[],r=0;r<e.length;r++)l>e[r].x&&(l=e[r].x),o<e[r].x&&(o=e[r].x),i>e[r].y&&(i=e[r].y),n<e[r].y&&(n=e[r].y),a.push(e[r]);for(var s=(o-l)/5,p=.15*s,u=[],c=0;c<360;c+=18){var P=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(0,0),p,p,c);u.push(P)}for(var S=0,h=l;h<o;h+=s)for(var y=i;y<n;y+=s){var f=new SuperMap.Geometry.Point(h,y);if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(a,f))if(0===S){S++;for(var g=[],M=0;M<u.length;M++){var b=new SuperMap.Geometry.Point(f.x+u[M].x,f.y+u[M].y);g.push(b)}g.push(g[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,g,{fillColorLimit:!0,fillColor:"#ffff00",surroundLineFlag:!1,fillLimit:!0,fillOpacity:1});var m=[];m.push(g[10]),m.push(new SuperMap.Geometry.Point(g[10].x-.5*p,g[10].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var d=[];d.push(g[0]),d.push(new SuperMap.Geometry.Point(g[0].x+.5*p,g[10].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d)}else 1===S?(S++,null!=this.subSymbols[0]&&this.computeSubSymbol(this.subSymbols[0],f,2*p,0)):(S=0,null!=this.subSymbols[1]&&this.computeSubSymbol(this.subSymbols[1],f,3*p,0))}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17400=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=e[0].x,i=e[0].x,n=e[0].y,a=e[0].y,r=[],s=0;s<e.length;s++)o>e[s].x&&(o=e[s].x),i<e[s].x&&(i=e[s].x),n>e[s].y&&(n=e[s].y),a<e[s].y&&(a=e[s].y),r.push(e[s]);for(var p=(i-o)/5,u=.2*p,c=[],P=0;P<360;P+=18){var S=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(0,0),u,u,P);c.push(S)}for(var h=0,y=o;y<i;y+=p)for(var f=n;f<a;f+=p){var g,M=new SuperMap.Geometry.Point(y,f);if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(r,M))0===h?(h=0,this.subSymbols.length>0&&(g=.015*l,this.computeSubSymbol(this.subSymbols[0],M,g,0)),h++):(h=0,this.subSymbols.length>0&&(g=.022*l,this.computeSubSymbol(this.subSymbols[1],M,g,0)))}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o,i,n=this.scaleValues[0]*e,a=t[0],r=t[1],s=180*SuperMap.Plot.PlottingUtil.radian(a,r)/Math.PI;o=SuperMap.Plot.PlottingUtil.paraLine(t,n,!0),i=SuperMap.Plot.PlottingUtil.paraLine(t,n,!1);var p=.15*e,u=SuperMap.Plot.PlottingUtil.circlePoint(o[0],p,p,s+165),c=SuperMap.Plot.PlottingUtil.circlePoint(i[0],p,p,s-165),P=SuperMap.Plot.PlottingUtil.circlePoint(o[o.length-1],p,p,s+15),S=SuperMap.Plot.PlottingUtil.circlePoint(i[i.length-1],p,p,s-15),h=SuperMap.Plot.PlottingUtil.linePnt(o[0],o[o.length-1],3*e/11),y=SuperMap.Plot.PlottingUtil.linePnt(o[0],o[o.length-1],4*e/11),f=SuperMap.Plot.PlottingUtil.linePnt(o[0],o[o.length-1],7*e/11),g=SuperMap.Plot.PlottingUtil.linePnt(o[0],o[o.length-1],8*e/11),M=[];M.push(u),M.push(o[0]),M.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),(M=[]).push(y),M.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),(M=[]).push(g),M.push(o[o.length-1]),M.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.linePnt(i[0],i[i.length-1],3*e/11),m=SuperMap.Plot.PlottingUtil.linePnt(i[0],i[i.length-1],4*e/11),d=SuperMap.Plot.PlottingUtil.linePnt(i[0],i[i.length-1],7*e/11),v=SuperMap.Plot.PlottingUtil.linePnt(i[0],i[i.length-1],8*e/11),O=[];if(O.push(c),O.push(i[0]),O.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),(O=[]).push(m),O.push(d),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),(O=[]).push(v),O.push(i[i.length-1]),O.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),90<s&&s<270){var U=a;a=r,r=U,s=180*SuperMap.Plot.PlottingUtil.radian(a,r)/Math.PI}var w=new SuperMap.Geometry.Point(.25*e,n+.2*e),L=new SuperMap.Geometry.Point(.35*e,n+.2*e+.1*e),V=new SuperMap.Geometry.Point(.35*e,n+.2*e-.1*e),_=SuperMap.Plot.PlottingUtil.coordinateTrans(a,w,s),T=SuperMap.Plot.PlottingUtil.coordinateTrans(a,L,s),A=SuperMap.Plot.PlottingUtil.coordinateTrans(a,V,s),E=[];E.push(new SuperMap.Geometry.Point(T.x,T.y)),E.push(new SuperMap.Geometry.Point(_.x,_.y)),E.push(new SuperMap.Geometry.Point(A.x,A.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E);var x=new SuperMap.Geometry.Point(.35*e,n+.2*e),Y=new SuperMap.Geometry.Point(.4*e,n+.2*e+.05*e),j=new SuperMap.Geometry.Point(.4*e,n+.2*e-.05*e),C=SuperMap.Plot.PlottingUtil.coordinateTrans(a,x,s),I=SuperMap.Plot.PlottingUtil.coordinateTrans(a,Y,s),G=SuperMap.Plot.PlottingUtil.coordinateTrans(a,j,s);(E=[]).push(new SuperMap.Geometry.Point(I.x,I.y)),E.push(new SuperMap.Geometry.Point(C.x,C.y)),E.push(new SuperMap.Geometry.Point(G.x,G.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E);var B=new SuperMap.Geometry.Point(.7*e,n+.2*e),R=new SuperMap.Geometry.Point(.8*e,n+.2*e+.1*e),N=new SuperMap.Geometry.Point(.8*e,n+.2*e-.1*e),D=SuperMap.Plot.PlottingUtil.coordinateTrans(a,B,s),k=SuperMap.Plot.PlottingUtil.coordinateTrans(a,R,s),z=SuperMap.Plot.PlottingUtil.coordinateTrans(a,N,s);(E=[]).push(new SuperMap.Geometry.Point(k.x,k.y)),E.push(new SuperMap.Geometry.Point(D.x,D.y)),E.push(new SuperMap.Geometry.Point(z.x,z.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E);var F=new SuperMap.Geometry.Point(.8*e,n+.2*e),K=new SuperMap.Geometry.Point(.85*e,n+.2*e+.05*e),q=new SuperMap.Geometry.Point(.85*e,n+.2*e-.05*e),W=SuperMap.Plot.PlottingUtil.coordinateTrans(a,F,s),J=SuperMap.Plot.PlottingUtil.coordinateTrans(a,K,s),Z=SuperMap.Plot.PlottingUtil.coordinateTrans(a,q,s);(E=[]).push(new SuperMap.Geometry.Point(J.x,J.y)),E.push(new SuperMap.Geometry.Point(W.x,W.y)),E.push(new SuperMap.Geometry.Point(Z.x,Z.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E);var H=new SuperMap.Geometry.Point(o[0].x,o[0].y);H.isScalePoint=!0,H.tag=0,this.scalePoints.push(H),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=l[0],a=l[1],r=SuperMap.Plot.PlottingUtil.projectPoint(e,n,a),s=SuperMap.Plot.PlottingUtil.distance(e,r);this.scaleValues[0]=s/o}}}}]),e}();SuperMap.Plot.AlgoSymbol16900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=this.scaleValues[1]*e,n=new SuperMap.Geometry.Point(t[0].x,t[0].y),a=new SuperMap.Geometry.Point(t[1].x,t[1].y),r=180*SuperMap.Plot.PlottingUtil.radian(n,a)/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,r+90),p=SuperMap.Plot.PlottingUtil.circlePoint(n,i,i,r+90),u=SuperMap.Plot.PlottingUtil.circlePoint(a,o,o,r+90),c=SuperMap.Plot.PlottingUtil.circlePoint(a,i,i,r+90),P=[];P.push(p),P.push(s),P.push(u),P.push(c),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P)),(P=[]).push(p),P.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P)),(P=[]).push(c),P.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P));var S=new SuperMap.Geometry.Point(s.x,s.y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S);var h=new SuperMap.Geometry.Point(p.x,p.y);h.isScalePoint=!0,h.tag=1,this.scalePoints.push(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(this.isEdit=!0,!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(n<this.scaleValues[1])return;this.scaleValues[0]=n}else if(1==t){var a=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(this.scaleValues[0]<a)return;this.scaleValues[1]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol16700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){if(this.init(),this.controlPoints.length>=this.minEditPts){var t,e=[];if(2===this.controlPoints.length){for(var l=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[1]),o=this.scaleValues[0]*l,i=SuperMap.Plot.PlottingUtil.parallel(this.controlPoints,o/2),n=SuperMap.Plot.PlottingUtil.parallel(this.controlPoints,-o/2),a=180*SuperMap.Plot.PlottingUtil.radian(this.controlPoints[0],this.controlPoints[1])/Math.PI,r=[],s=a+90;s<=a+270;s+=10)t=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],o/2,o/2,s),r.push(t);for(var p=[],u=a-90;u<=a+90;u+=10)t=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[1],o/2,o/2,u),p.push(t);e=(e=(e=(e=e.concat(r)).concat(n)).concat(p)).concat(i)}else this.controlPoints.length<=3?e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,this.controlPoints):this.controlPoints.length>3&&!0===this.polylineConnectLocationPoint?e=this.controlPoints:(this.controlPoints.push(this.controlPoints[0]),e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(this.controlPoints));e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var c=e[0].x,P=e[0].x,S=e[0].y,h=e[0].y;for(s=0;s<e.length;s++)c>e[s].x&&(c=e[s].x),P<e[s].x&&(P=e[s].x),S>e[s].y&&(S=e[s].y),h<e[s].y&&(h=e[s].y);for(var y=new SuperMap.Geometry.Point((P+c)/2,(h+S)/2),f=(P-c)/5,g={surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1},M=!0,b=y.x,m=y.x;M;){M=!1;for(var d,v,O,U=[],w=[],L=new SuperMap.Geometry.Point(b,y.y),V=SuperMap.Plot.PlottingUtil.circlePoint(L,10,10,45),_=SuperMap.Plot.PlottingUtil.circlePoint(L,10,10,135),T=0;T<e.length-1;T++)(v=SuperMap.Plot.PlottingUtil.intersectLines(L,V,e[T],e[T+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(v.intersectPoint,e[T],e[T+1])&&U.push(v.intersectPoint),(O=SuperMap.Plot.PlottingUtil.intersectLines(L,_,e[T],e[T+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(O.intersectPoint,e[T],e[T+1])&&w.push(O.intersectPoint);if(1<U.length){U=this.sortPts2D(U);for(var A=0;A<U.length-1;A++)if(t=new SuperMap.Geometry.Point((U[A].x+U[A+1].x)/2,(U[A].y+U[A+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,t)){var E=[];E.push(U[A]),E.push(U[A+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E,g,!0)}}if(1<w.length){w=this.sortPts2D(w);for(var x=0;x<w.length-1;x++)t=new SuperMap.Geometry.Point((w[x].x+w[x+1].x)/2,(w[x].y+w[x+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,t)&&((d=[]).push(w[x]),d.push(w[x+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,g,!0))}(U.length>0||w.length>0)&&(M=!0),U=[],w=[];for(var Y=new SuperMap.Geometry.Point(m,y.y),j=SuperMap.Plot.PlottingUtil.circlePoint(Y,5,5,45),C=SuperMap.Plot.PlottingUtil.circlePoint(Y,5,5,135),I=0;I<e.length-1;I++)(v=SuperMap.Plot.PlottingUtil.intersectLines(Y,j,e[I],e[I+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(v.intersectPoint,e[I],e[I+1])&&U.push(v.intersectPoint),(O=SuperMap.Plot.PlottingUtil.intersectLines(Y,C,e[I],e[I+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(O.intersectPoint,e[I],e[I+1])&&w.push(O.intersectPoint);if(1<U.length){U=this.sortPts2D(U);for(var G=0;G<U.length-1;G+=2)t=new SuperMap.Geometry.Point((U[G].x+U[G+1].x)/2,(U[G].y+U[G+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,t)&&((d=[]).push(U[G]),d.push(U[G+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,g,!0))}if(1<w.length){w=this.sortPts2D(w);for(var B=0;B<w.length-1;B++)t=new SuperMap.Geometry.Point((w[B].x+w[B+1].x)/2,(w[B].y+w[B+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,t)&&((d=[]).push(w[B]),d.push(w[B+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,g,!0))}(U.length>0||w.length>0)&&(M=!0),b-=f,m+=f}this.finish()}}},{key:"sortPts2D",value:function(t){for(var e,l=0;l<t.length;l++)for(var o=0;o<t.length-1-l;o++)SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].x,t[o+1].x)?t[o].y>t[o+1].y&&(e=t[o],t[o]=t[o+1],t[o+1]=e):t[o].x>t[o+1].x&&(e=t[o],t[o]=t[o+1],t[o+1]=e);return t}}]),e}();SuperMap.Plot.AlgoSymbol16500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16203=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());for(var o=this.scaleValues[0]*e,i=this.scaleValues[1]*e,n=.01*e,a=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=0,s={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!0,fill:!0,fillColor:"#ff0000",fillOpacity:1},p=n,u=0;p<=a;p+=i,u++){r=p+n;var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,r);if(-1===c.index)return;for(var P=SuperMap.Plot.PlottingUtil.radian(c.pt,l[c.index+1])*SuperMap.Plot.PlottingUtil.RTOD,S=this.getSubSymbolPts(o),h=[],y=0,f=S.length;y<f;y++)h.push(SuperMap.Plot.PlottingUtil.coordinateTrans(c.pt,S[y],P));if(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,s),0===u){var g=new SuperMap.Geometry.Point((h[0].x+h[1].x)/2,(h[0].y+h[1].y)/2);this.addScalePoint(g,0)}else 1===u&&this.addScalePoint(c.pt,1);this.finish()}}}},{key:"getSubSymbolPts",value:function(t){var e=.5*t,l=[];return l.push(new SuperMap.Geometry.Point(.5*e,2*e)),l.push(new SuperMap.Geometry.Point(.5*-e,2*e)),l.push(new SuperMap.Geometry.Point(.5*-e,-2*e)),l.push(new SuperMap.Geometry.Point(.5*e,-2*e)),l}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);i=SuperMap.Plot.PlottingUtil.clearSamePts(i);var n=.01*o;if(0===t){var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,n);if(-1===a.index)return;var r=SuperMap.Plot.PlottingUtil.distance(e,a.pt);this.scaleValues[0]=r/o}else if(1===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,n);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i);if(-1===p.index)return;for(var u=0,c=s.index+1;c<p.index;c++)u+=SuperMap.Plot.PlottingUtil.distance(i[c],i[c+1]);u+=SuperMap.Plot.PlottingUtil.distance(i[p.index],p.pt),u-=n,this.scaleValues[1]=u/o,u>o-o*this.scaleValues[0]-n&&(this.scaleValues[1]=(o-o*this.scaleValues[0]-n)/o)}}}}]),e}();SuperMap.Plot.AlgoSymbol16203=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o,i,n=this.scaleValues[0]*e;o=SuperMap.Plot.PlottingUtil.paraLine(t,n,!0),i=SuperMap.Plot.PlottingUtil.paraLine(t,n,!1);var a=new SuperMap.Geometry.Point(o[0].x,o[0].y);a.isScalePoint=!0,a.tag=0,this.scalePoints.push(a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);var r=new SuperMap.Geometry.Point(t[0].x,t[0].y),s=new SuperMap.Geometry.Point(t[1].x,t[1].y),p=180*SuperMap.Plot.PlottingUtil.radian(r,s)/Math.PI,u=new SuperMap.Geometry.Point(.3*e,0),c=SuperMap.Plot.PlottingUtil.coordinateTrans(r,u,p),P=new SuperMap.Geometry.Point(0,.4*n),S=new SuperMap.Geometry.Point(0,.2*n),h=SuperMap.Plot.PlottingUtil.coordinateTrans(c,P,p),y=SuperMap.Plot.PlottingUtil.coordinateTrans(c,S,p),f=[];f.push(h),f.push(y),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f);var g=new SuperMap.Geometry.Point(0,.2*n),M=new SuperMap.Geometry.Point(0,-.4*n),b=SuperMap.Plot.PlottingUtil.coordinateTrans(c,g,p),m=SuperMap.Plot.PlottingUtil.coordinateTrans(c,M,p);(f=[]).push(b),f.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var d=new SuperMap.Geometry.Point(.2*n,-.2*n),v=new SuperMap.Geometry.Point(-.2*n,-.6*n),O=SuperMap.Plot.PlottingUtil.coordinateTrans(c,d,p),U=SuperMap.Plot.PlottingUtil.coordinateTrans(c,v,p);(f=[]).push(O),f.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var w=new SuperMap.Geometry.Point(-.2*n,-.2*n),L=new SuperMap.Geometry.Point(.2*n,-.6*n),V=SuperMap.Plot.PlottingUtil.coordinateTrans(c,w,p),_=SuperMap.Plot.PlottingUtil.coordinateTrans(c,L,p);(f=[]).push(V),f.push(_),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var T=new SuperMap.Geometry.Point(.7*e,0),A=SuperMap.Plot.PlottingUtil.coordinateTrans(r,T,p),E=SuperMap.Plot.PlottingUtil.coordinateTrans(A,P,p),x=SuperMap.Plot.PlottingUtil.coordinateTrans(A,S,p);(f=[]).push(E),f.push(x),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f);var Y=SuperMap.Plot.PlottingUtil.coordinateTrans(A,g,p),j=SuperMap.Plot.PlottingUtil.coordinateTrans(A,M,p);(f=[]).push(Y),f.push(j),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var C=SuperMap.Plot.PlottingUtil.coordinateTrans(A,d,p),I=SuperMap.Plot.PlottingUtil.coordinateTrans(A,v,p);(f=[]).push(C),f.push(I),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var G=SuperMap.Plot.PlottingUtil.coordinateTrans(A,w,p),B=SuperMap.Plot.PlottingUtil.coordinateTrans(A,L,p);(f=[]).push(G),f.push(B),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;this.scaleValues[0]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol16202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues.push(.02),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(.01)):3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.paraLine(l,.5*o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(l,.5*o,!1);i=SuperMap.Plot.PlottingUtil.clearSamePts(i),n=SuperMap.Plot.PlottingUtil.clearSamePts(n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);for(var a=e*this.scaleValues[1],r=e*this.scaleValues[3],s=0,p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=r,c=0;u<=p-r;u+=a,c++){s=u+r;var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,s);if(-1!==P.index){var S=new SuperMap.Geometry.Point(P.pt.x,P.pt.y+.5*o),h=[];h.push(P.pt),h.push(S),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,h),0===c?this.addScalePoint(S):1===c&&this.addScalePoint(P.pt)}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,a=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(a=SuperMap.Plot.PlottingUtil.clearSamePts(a),0==t){n=o*this.scaleValues[3];var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,n);if(-1===r.index)return;var s=2*SuperMap.Plot.PlottingUtil.distance(e,r.pt);this.scaleValues[0]=s/o}else if(1===t){n=o*this.scaleValues[3];var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,n);if(-1===p.index)return;var u=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,a);if(-1==u.index)return;for(var c=SuperMap.Plot.PlottingUtil.distance(p.pt,a[p.index+1]),P=p.index+1;P<u.index;P++)c+=SuperMap.Plot.PlottingUtil.distance(a[P],a[P+1]);c+=SuperMap.Plot.PlottingUtil.distance(a[u.index],u.pt),this.scaleValues[1]=c/o}}}}]),e}();SuperMap.Plot.AlgoSymbol16201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=this.getSubSymbolScaleValue();this.isEdit||(this.scaleValues[0]=.5*o);var i=this.scaleValues[0]*e,n=SuperMap.Plot.PlottingUtil.paraLine(l,.5*i,!0),a=SuperMap.Plot.PlottingUtil.paraLine(l,.5*i,!1);n=SuperMap.Plot.PlottingUtil.clearSamePts(n),a=SuperMap.Plot.PlottingUtil.clearSamePts(a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);for(var r=e*this.scaleValues[1],s=.5*i,p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=s,c=0;u<p;u+=r,c++){var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,u);if(-1!==P.index){var S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,l[P.index+1],P.pt),h=[];h.push(S.pntLeft),h.push(S.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),0===c?this.addScalePoint(S.pntRight,0):1===c&&this.addScalePoint(P.pt,1)}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,a=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(a=SuperMap.Plot.PlottingUtil.clearSamePts(a),0==t){n=.5*(o*this.scaleValues[0]);var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,n);if(-1===r.index)return;var s=SuperMap.Plot.PlottingUtil.distance(e,r.pt);this.scaleValues[0]=s/o}else if(1===t){n=.5*(o*this.scaleValues[0]);var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,n);if(-1===p.index)return;var u=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,a);if(-1==u.index)return;for(var c=SuperMap.Plot.PlottingUtil.distance(p.pt,a[p.index+1]),P=p.index+1;P<u.index;P++)c+=SuperMap.Plot.PlottingUtil.distance(a[P],a[P+1]);c+=SuperMap.Plot.PlottingUtil.distance(a[u.index],u.pt),this.scaleValues[1]=c/o}}}}]),e}();SuperMap.Plot.AlgoSymbol16200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16100=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){if(this.init(),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts)this.calAssistantLine();else{var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(SuperMap.Plot.PlottingUtil.clearSamePts(t),!(t.length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);t.push(t[0]);for(var l=!0,o=e.x,i=e.x+.8,n={surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1};l;){l=!1;for(var a,r,s,p,u,c,P=[],S=[],h=new SuperMap.Geometry.Point(o,e.y),y=SuperMap.Plot.PlottingUtil.circlePoint(h,10,10,45),f=SuperMap.Plot.PlottingUtil.circlePoint(h,10,10,135),g=0;g<t.length-1;g++)(s=SuperMap.Plot.PlottingUtil.intersectLines(h,y,t[g],t[g+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.intersectPoint,t[g],t[g+1])&&P.push(s.intersectPoint),(p=SuperMap.Plot.PlottingUtil.intersectLines(h,f,t[g],t[g+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t[g],t[g+1])&&S.push(p.intersectPoint);if(1<P.length){u=[],u=this.sortPts2D(P);for(var M=0;M<u.length-1;M++)a=new SuperMap.Geometry.Point((u[M].x+u[M+1].x)/2,(u[M].y+u[M+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,a)&&((r=[]).push(u[M]),r.push(u[M+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n,!0))}if(1<S.length){c=[],c=this.sortPts2D(S);for(var b=0;b<c.length-1;b++)a=new SuperMap.Geometry.Point((c[b].x+c[b+1].x)/2,(c[b].y+c[b+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,a)&&((r=[]).push(c[b]),r.push(c[b+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n,!0))}(P.length>0||S.length>0)&&(l=!0),P=[],S=[];for(var m=new SuperMap.Geometry.Point(i,e.y),d=SuperMap.Plot.PlottingUtil.circlePoint(m,10,10,45),v=SuperMap.Plot.PlottingUtil.circlePoint(m,10,10,135),O=0;O<t.length-1;O++)(s=SuperMap.Plot.PlottingUtil.intersectLines(m,d,t[O],t[O+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.intersectPoint,t[O],t[O+1])&&P.push(s.intersectPoint),(p=SuperMap.Plot.PlottingUtil.intersectLines(m,v,t[O],t[O+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t[O],t[O+1])&&S.push(p.intersectPoint);if(1<P.length){u=[],u=this.sortPts2D(P);for(var U=0;U<u.length-1;U++)a=new SuperMap.Geometry.Point((u[U].x+u[U+1].x)/2,(u[U].y+u[U+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,a)&&((r=[]).push(u[U]),r.push(u[U+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n,!0))}if(1<S.length){c=[],c=this.sortPts2D(S);for(var w=0;w<c.length-1;w++)a=new SuperMap.Geometry.Point((c[w].x+c[w+1].x)/2,(c[w].y+c[w+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,a)&&((r=[]).push(c[w]),r.push(c[w+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n,!0))}(P.length>0||S.length>0)&&(l=!0),o-=.8,i+=.8}this.finish()}}}},{key:"sortPts2D",value:function(t){for(var e,l=0;l<t.length;l++)for(var o=0;o<t.length-1-l;o++)SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].x,t[o+1].x)?t[o].y>t[o+1].y&&(e=t[o],t[o]=t[o+1],t[o+1]=tempPt11):t[o].x>t[o+1].x&&(e=t[o],t[o]=t[o+1],t[o+1]=e);return t}}]),e}();SuperMap.Plot.AlgoSymbol16100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16001=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=.05*SuperMap.Plot.PlottingUtil.distance(e,l),i=SuperMap.Plot.PlottingUtil.paraLine(t,.5*o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,.5*o,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);for(var a=0,r=0;r<i.length-1;r++)a+=SuperMap.Plot.PlottingUtil.distance(i[r],i[r+1]);for(var s,p,u,c,P,S,h=a*this.getSubSymbolScaleValue()*.5,y=6*h,f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},g=h;g<=a-h/2;g+=y)-1!==(s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,g)).index&&(p=180*SuperMap.Plot.PlottingUtil.radian(i[s.index],i[s.index+1])/Math.PI,u=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,h,h,p+90),c=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,.25*h,.25*h,p),P=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,.25*h,.25*h,p+180),(S=[]).push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,f));for(var M=h;M<=a-h/2;M+=y)-1!==(s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,M)).index&&(p=180*SuperMap.Plot.PlottingUtil.radian(n[s.index],n[s.index+1])/Math.PI,u=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,h,h,p+270),c=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,.25*h,.25*h,p),P=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,.25*h,.25*h,p+180),(S=[]).push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,f));this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol16001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=.05*SuperMap.Plot.PlottingUtil.distance(e,l),i=SuperMap.Plot.PlottingUtil.paraLine(t,.5*o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,.5*o,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var a=[];a=this.scaleValues[0]<0?a.concat(n):a.concat(i);for(var r=0,s=0;s<a.length-1;s++)r+=SuperMap.Plot.PlottingUtil.distance(a[s],a[s+1]);for(var p=this.getSubSymbolScaleValue(),u=r*p*.5,c=r*p*.125,P=.1*r,S=r*p*.5,h=0;h<=r;h+=P){var y=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,h+S);if(-1!==y.index){var f,g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(u,a[y.index],y.pt);f=this.scaleValues[0]>0?new SuperMap.Geometry.Point(g.pntLeft.x,g.pntLeft.y):new SuperMap.Geometry.Point(g.pntRight.x,g.pntRight.y);var M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(c,f,y.pt),b=[];if(b.push(M.pntRight),b.push(f),b.push(M.pntLeft),0===h){var m=new SuperMap.Geometry.Point(f.x,f.y);m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e);this.scaleValues[0]=o?-1:1}}}]),e}();SuperMap.Plot.AlgoSymbol16000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(1),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l=0,o=0;o<t.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);var i=l*this.scaleValues[0],n=l*this.scaleValues[2],a=!1;a=0===this.scaleValues[0];for(var r=0,s=0;s<e.length-1;s++)r+=SuperMap.Plot.PlottingUtil.distance(e[s],e[s+1]);if(0!==r){for(var p=0;p<=r;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(-1!==u.index){var c=[],P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);a?c.push(P.pntRight):c.push(P.pntLeft);var S=p+n,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,S);if(-1!==h.index){var y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[h.index+1],h.pt);a?c.push(y.pntLeft):c.push(y.pntRight),Math.abs(p)<1e-6&&(this.addScalePoint(c[0],0),this.addScalePoint(h.pt,1)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c)}}}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),i=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){var n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[1],o[0]),a=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n.pntRight,n.pntLeft),r=SuperMap.Plot.PlottingUtil.distance(a.projectPoint,l[0]);this.scaleValues[0]=r/i;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[0],o[1],e);this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0,P=o.length-1;c<P;c++){var S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,o[c],o[c+1]);if(S.isOnline){p=S.projectPoint,u=c;break}}if(-1===u)return;for(var h=[],y=0,f=u;y<=f;y++)h.push(o[y]);h.push(p);var g=SuperMap.Plot.PlottingUtil.polylineDistance(h);this.scaleValues[2]=g/i}}}}]),e}();SuperMap.Plot.AlgoSymbol15900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15806=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.06),l.scaleValues.push(1),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(t.length>=this.minEditPts){this.scalePoints=[];var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=.6*i,a=this.scaleValues[2]*o,r=0===this.scaleValues[1],s=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===s)return;for(var p=[],u=0;u<=s;u+=a){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(r?p.push(P.pntRight):p.push(P.pntLeft),!((c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.65*a)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index+1],c.pt),r?p.push(P.pntRight):p.push(P.pntLeft),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.8*a)).index<0||(p.push(c.pt),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.5*a)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt),r?p.push(P.pntLeft):p.push(P.pntRight),c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.2*a),p.push(c.pt),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.35*a)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index+1],c.pt),r?p.push(P.pntRight):p.push(P.pntLeft),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+a)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt),r?p.push(P.pntRight):p.push(P.pntLeft),!(Math.abs(u)<=1e-6)))))))){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S),(S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S)}}}var h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(p);SuperMap.Plot.PlottingUtil.clearSamePts(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o,i,n=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,n[1],n[0]),o=SuperMap.Plot.PlottingUtil.pointProjectToSegment(new SuperMap.Geometry.Point(e.x,e.y),i.pntRight,i.pntLeft);var r=SuperMap.Plot.PlottingUtil.distance(o.projectPoint,l[0])/a;this.scaleValues[0]=r;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(n[0],n[1],new SuperMap.Geometry.Point(e.x,e.y));this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0;c<n.length-1;c++)if((o=SuperMap.Plot.PlottingUtil.pointProjectToSegment(new SuperMap.Geometry.Point(e.x,e.y),n[c],n[c+1])).isOnline){p=o.projectPoint,u=c;break}if(-1===u)return void(this.scaleValues[2]=.05);for(var P=[],S=0;S<=u;S++)P.push(n[S]);P.push(p);var h=SuperMap.Plot.PlottingUtil.polylineDistance(P);this.scaleValues[2]=h/a}}}}]),e}();SuperMap.Plot.AlgoSymbol15806=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15805=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s=[],p=0;p<=r;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(a?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=45*Math.PI/180,f=45*Math.PI/180,g=0;g<S-1;g+=2){var M=[],b=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.3,s[g],s[g+1]);M.push(b);var m=new SuperMap.Geometry.Point(s[g].x,s[g].y),d=new SuperMap.Geometry.Point(s[g+1].x,s[g+1].y);h=SuperMap.Plot.PlottingUtil.distance(m,d);var v=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.6,s[g],s[g+1]),O=new SuperMap.Geometry.Point(v.x,v.y);O=SuperMap.Plot.PlottingUtil.rotateAngle(b,y,v),M.push(O);var U=.15*h;v=SuperMap.Plot.PlottingUtil.linePnt(M[1],M[0],U);var w=new SuperMap.Geometry.Point(v.x,v.y);SuperMap.Plot.PlottingUtil.rotateAngle(O,f,w),M.push(w);var L=new SuperMap.Geometry.Point(M[1].x-M[0].x+M[2].x,M[1].y-M[0].y+M[2].y);M.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15805=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.029615),l.scaleValues.push(1),l.scaleValues.push(.12)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s=[],p=0;p<=r;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(a?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var M=[],b=new SuperMap.Geometry.Point(.5*(f.x+g.x),.5*(f.y+g.y)),m=SuperMap.Plot.PlottingUtil.dirAngle(f,g)*SuperMap.Plot.PlottingUtil.RTOD,d=SuperMap.Plot.PlottingUtil.circlePoint(b,h,h,m+90),v=1.5*h,O=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+260),U=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+280);M.push(O),M.push(d),M.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15804=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15803=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s=[],p=0;p<=r;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(a?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var M=[],b=[];if(y!==S-2){var m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y],s[y+1]);M.push(m.pntLeft),M.push(m.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}if(0!==y){var d=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y+1],s[y]);b.push(d.pntLeft),b.push(d.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b)}}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s,p=[],u=0;u<=r;u+=n){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(a?p.push(P.pntRight):p.push(P.pntLeft),Math.abs(u)<=1e-6){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S)}else Math.abs(2*n-u)<=1e-6&&((S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);for(var h=p.length,y=0,f=0;f<h-1;++f){var g=new SuperMap.Geometry.Point(p[f].x,p[f].y),M=new SuperMap.Geometry.Point(p[f+1].x,p[f+1].y);y=.3*SuperMap.Plot.PlottingUtil.distance(g,M);var b=[],m=[],d=[],v=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.35,p[f],p[f+1]);s=new SuperMap.Geometry.Point((p[f].x+p[f+1].x)/2,(p[f].y+p[f+1].y)/2);var O=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],s);m.push(O.pntLeft,O.pntRight);var U=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],v);b.push(U.pntLeft,U.pntRight),d.push(new SuperMap.Geometry.Point(2*s.x-U.pntLeft.x,2*s.y-U.pntLeft.y)),d.push(new SuperMap.Geometry.Point(2*s.x-U.pntRight.x,2*s.y-U.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s=new SuperMap.Geometry.Point(0,0),p=[],u=0;u<=r;u+=n){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(a?p.push(P.pntRight):p.push(P.pntLeft),Math.abs(u)<=1e-6){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S)}else Math.abs(2*n-u)<=1e-6&&((S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);for(var h=p.length,y=0,f=0;f<h-1;++f){var g=new SuperMap.Geometry.Point(p[f].x,p[f].y),M=new SuperMap.Geometry.Point(p[f+1].x,p[f+1].y);y=.3*SuperMap.Plot.PlottingUtil.distance(g,M);var b=[],m=[],d=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.35,p[f],p[f+1]);s=new SuperMap.Geometry.Point((p[f].x+p[f+1].x)/2,(p[f].y+p[f+1].y)/2);var v=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],d);b.push(v.pntLeft),b.push(v.pntRight),m.push(new SuperMap.Geometry.Point(2*s.x-v.pntLeft.x,2*s.y-v.pntLeft.y)),m.push(new SuperMap.Geometry.Point(2*s.x-v.pntRight.x,2*s.y-v.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.04),l.scaleValues.push(1),l.scaleValues.push(.12)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s=[],p=0;p<=r;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(a?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var M=[],b=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.5,s[y],s[y+1]),m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y],b);M.push(m.pntLeft),M.push(m.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),i=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){var n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[1],o[0]),a=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n.pntRight,n.pntLeft),r=SuperMap.Plot.PlottingUtil.distance(a.projectPoint,l[0]);this.scaleValues[0]=r/i;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[0],o[1],e);this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0,P=o.length-1;c<P;c++){var S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,o[c],o[c+1]);if(S.isOnline){p=S.projectPoint,u=c;break}}if(-1===u)return void(this.scaleValues[2]=.05);for(var h=[],y=0,f=u;y<=f;y++)h.push(o[y]);h.push(p);var g=SuperMap.Plot.PlottingUtil.polylineDistance(h);this.scaleValues[2]=g/i}}}}]),e}();SuperMap.Plot.AlgoSymbol15800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(parseFloat(.1732)),l.scaleValues.push(.1),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0]*o,n=this.scaleValues[1]*o,a=this.scaleValues[2],r=null;if(1===a){var s=SuperMap.Plot.PlottingUtil.linePnt(l,e,o+i);r=new SuperMap.Geometry.Point(s.x,s.y)}else s=SuperMap.Plot.PlottingUtil.linePnt(l,e,o-i),r=new SuperMap.Geometry.Point(s.x,s.y);var p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*n,t[0],r),u=[];u.push(p.pntRight),u.push(t[0]),u.push(p.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=[],P=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(1===a){var S=new SuperMap.Geometry.Point(2*P.x-p.pntLeft.x,2*P.y-p.pntLeft.y);c.push(S),c.push(t[1]);var h=new SuperMap.Geometry.Point(2*P.x-p.pntRight.x,2*P.y-p.pntRight.y);c.push(h)}else S=new SuperMap.Geometry.Point(2*P.x-p.pntRight.x,2*P.y-p.pntRight.y),c.push(S),c.push(t[1]),h=new SuperMap.Geometry.Point(2*P.x-p.pntLeft.x,2*P.y-p.pntLeft.y),c.push(h);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol15202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15201=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol15201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(.185)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var l=0,o=0,i=e.length-1;o<i;o++)l+=SuperMap.Plot.PlottingUtil.distance(e[o],e[o+1]);for(var n=0,a=0,r=t.length-1;a<r;a++)n+=SuperMap.Plot.PlottingUtil.distance(t[a],t[a+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());for(var s=this.scaleValues[0]*n,p=this.scaleValues[1],u=this.scaleValues[2]*n,c=.3*u,P=u;P<l;P+=u){var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e);if(-1===S.index)return void this.finish();var h=P+c,y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(h,e);if(-1===y.index)return void this.finish();var f=[],g=[];f.push(S.pts);var M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[S.index],S.pts);0===p?f.push(new SuperMap.Geometry.Point(M.pntLeft.x,M.pntLeft.y)):f.push(new SuperMap.Geometry.Point(M.pntRight.x,M.pntRight.y)),g.push(y.pts);var b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[y.index],y.pts);if(0===p?g.push(new SuperMap.Geometry.Point(b.pntLeft.x,b.pntLeft.y)):g.push(new SuperMap.Geometry.Point(b.pntRight.x,b.pntRight.y)),u===P){this.scalePoints=[];var m=new SuperMap.Geometry.Point(f[1].x,f[1].y);m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m),(m=new SuperMap.Geometry.Point(f[0].x,f[0].y)).isScalePoint=!0,m.tag=1,this.scalePoints.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;for(var o=0,i=0,n=l.length-1;i<n;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var a=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),r=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,o*this.scaleValues[2]);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.distance(s.pt,r)/o,u=SuperMap.Plot.PlottingUtil.pointIsRightToLine(a[0],a[1],e);this.scaleValues[1]=u?1:0,this.scaleValues[0]=p}else if(1===t){for(var c=0,P=-1,S=[],h=0,y=a.length-1;h<y;h++){var f=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,a[h],a[h+1]);if(f.isOnline){var g=SuperMap.Plot.PlottingUtil.distance(f.projectPoint,this.controlPoints[1]);0==c?(c=g,P=h,S=e):g<c&&(c=g,P=h,S=e)}}if(-1==P)return;for(var M=0,b=0,m=P-1;b<m;b++)M+=SuperMap.Plot.PlottingUtil.distance(a[b],a[b+1]);var d=(M+=SuperMap.Plot.PlottingUtil.distance(S,a[P]))/o;d>.7&&(d=.7),this.scaleValues[2]=d}}}}]),e}();SuperMap.Plot.AlgoSymbol15200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol13700=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e;if(2===t.length)e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);else if(3===t.length){var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);if(0>=n)return;this.scaleValues=[];var a=SuperMap.Plot.PlottingUtil.distance(l,o)/n;this.scaleValues.push(a);var r=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI;r>90?r-=90:r=270+r,this.scaleValues.push(r*(Math.PI/180));var s=180*SuperMap.Plot.PlottingUtil.radian(l,i)/Math.PI;s>90?s-=90:s=270+s,this.scaleValues.push(s*(Math.PI/180)),e=this.scaleValues[0]*n;var p=this.scaleValues[1]*(180/Math.PI)+90,u=this.scaleValues[2]*(180/Math.PI)+90;p<u&&(p+=360);for(var c,P=[],S=p;S>=u;S-=4)c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,S),P.push(c);S!=u&&(c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,u),P.push(c)),this.controlPoints[2]=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P)}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol13700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol12500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.03));for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var i=this.scaleValues[1]*e,n=o*e,a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,n);if(-1!==a.index){for(var r,s=a.pt,p=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[s,new SuperMap.Geometry.Point(s.x+i,s.y)]),u=0;u<t.length-1;u++){var c,P=t[u];r=t[u+1];var S=SuperMap.Plot.PlottingUtil.distance(s,P),h=SuperMap.Plot.PlottingUtil.distance(s,r);if(!(S<i&&h<i))if(S>i&&h<i||S<i&&h>i){var y;y=S>i?P:r,(c=this.getLineAddCircleIntersectPts(P,r,p)).length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c[0],y])}else{var f=SuperMap.Plot.PlottingUtil.projectPoint(s,P,r);if(SuperMap.Plot.PlottingUtil.distance(s,f)>=i)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,r]);else if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(f,P,r)){if((c=this.getLineAddCircleIntersectPts(P,r,p)).length>0){c.unshift(P),c.push(r);for(var g=0;g<c.length-1;g++)this.isLineInCircle(c[g],c[g+1],s,i)||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c[g],c[g+1]])}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,r])}}var M=0;c&&(M=SuperMap.Plot.PlottingUtil.radian(s,c[c.length-1])*SuperMap.Plot.PlottingUtil.RTOD);var b=[];r=SuperMap.Plot.PlottingUtil.circlePoint(s,-i,-i,M),b.push(r,s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var m=SuperMap.Plot.PlottingUtil.radian(r,s)*SuperMap.Plot.PlottingUtil.RTOD,d=[],v=SuperMap.Plot.PlottingUtil.circlePoint(s,.8*i,.8*i,m+170),O=SuperMap.Plot.PlottingUtil.circlePoint(s,.8*i,.8*i,m-170);d.push(v),d.push(O),d.push(s);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[s,new SuperMap.Geometry.Point(s.x+i,s.y)]),this.addScalePoint(s,0),this.addScalePoint(new SuperMap.Geometry.Point(s.x+i,s.y),1),this.finish()}}}},{key:"isLineInCircle",value:function(t,e,l,o){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return o>SuperMap.Plot.PlottingUtil.distance(i,l)}},{key:"getLineAddCircleIntersectPts",value:function(t,e,l){var o=l.slice();o[0].x===o[o.length-1].x&&o[0].y===o[o.length-1].y||o.push(o[0]);for(var i,n=[],a=0;a<o.length-1;a++){var r=o[a],s=o[a+1],p=SuperMap.Plot.PlottingUtil.intersectLines(t,e,r,s);p.isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t,e)&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,r,s)&&n.push(p.intersectPoint)}for(var u=0;u<n.length-1;u++)SuperMap.Plot.PlottingUtil.isSamePt(n[u],n[u+1])&&(n.splice(u,1),u--);if(t.x>e.x)for(var c=0;c<n.length&&c!=n.length-1;c++)n[c].x<n[c+1].x&&(i=n[c],n[c]=n[c+1],n[c+1]=i);else if(t.x<e.x)for(var P=0;P<n.length&&P!=n.length-1;P++)n[P].x>n[P+1].x&&(i=n[P],n[P]=n[P+1],n[P+1]=i);else if(t.y>e.y)for(var S=0;S<n.length&&S!=n.length-1;S++)n[S].y<n[S+1].y&&(i=n[S],n[S]=n[S+1],n[S+1]=i);else if(t.y<e.y)for(var h=0;h<n.length&&h!=n.length-1;h++)n[h].y>n[h+1].y&&(i=n[h],n[h]=n[h+1],n[h+1]=i);return n}}]),e}();SuperMap.Plot.AlgoSymbol12502=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.03),l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit){var e=this.getSubSymbolScaleValue();this.scaleValues[0]=e,this.scaleValues[1]=.5*e,this.scaleValues[3]=.5*e}var l=this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2],n=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);n=SuperMap.Plot.PlottingUtil.clearSamePts(n);var a=this.GetCurvePts(t,l,o);if(0!==a.pt.length){var r=SuperMap.Plot.PlottingUtil.polylineDistance(n)*i,s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,r);if(-1!==s.index){for(var p=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[3],u=[],c=0;c<360;c+=12)u.push(SuperMap.Plot.PlottingUtil.circlePoint(s.pt,p,p,c));u.push(u[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);for(var P=[],S=[],h=0;h<a.pt.length;h++)SuperMap.Plot.PlottingUtil.ptIsInPolygon(u,a.pt[h])?S.length>1&&(P.push(S),S=[]):S.push(a.pt[h]);S.length>1&&P.push(S);for(var y=0;y<P.length;y++)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P[y]);var f=new SuperMap.Geometry.Point(a.pt[0].x,a.pt[0].y);f.isScalePoint=!0,f.tag=0,this.scalePoints.push(f);var g=new SuperMap.Geometry.Point(a.scalePt.x,a.scalePt.y);g.isScalePoint=!0,g.tag=1,this.scalePoints.push(g);var M=new SuperMap.Geometry.Point(s.pt.x,s.pt.y);M.isScalePoint=!0,M.tag=2,this.scalePoints.push(M);var b=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(s.pt.x,s.pt.y),p,p,0),m=new SuperMap.Geometry.Point(b.x,b.y);m.isScalePoint=!0,m.tag=3,this.scalePoints.push(m),this.finish()}else this.finish()}else this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(null!=e&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;if(4>this.scaleValues.length)return;var o,i,n,a,r,s=SuperMap.Plot.PlottingUtil.polylineDistance(l),p=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),u=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var c=new SuperMap.Geometry.Point(l[0].x,l[0].y),P=SuperMap.Plot.PlottingUtil.distance(c,u);i=2*P/s,this.scaleValues[1]=i}else if(1===t)c=new SuperMap.Geometry.Point(l[0].x,l[0].y),o=(P=SuperMap.Plot.PlottingUtil.distance(c,u))/s,this.scaleValues[0]=o;else if(2==t){var S=-1,h=0;r=new SuperMap.Geometry.Point(0,0),o=this.scaleValues[0],i=this.scaleValues[1];for(var y=0;y<p.length-1;y++){var f=p[y],g=p[y+1],M=SuperMap.Plot.PlottingUtil.projectPoint(u,f,g);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(M,f,g)){var b=SuperMap.Plot.PlottingUtil.distance(u,M);-1==S?(S=y,r=M,h=b):h>b&&(S=y,r=M,h=b)}}if(-1==S||S>p.length-1)return;a=SuperMap.Plot.PlottingUtil.polylineDistance(p);for(var m=[],d=0;d<S;d++)m.push(p[d]);m.push(r);var v=SuperMap.Plot.PlottingUtil.polylineDistance(m);if(v<0||v>a)return;n=v/a,this.scaleValues[2]=n}else if(3===t){o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2];var O=(a=SuperMap.Plot.PlottingUtil.polylineDistance(p))*n;if(-1===(r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,O)).index)return;var U=SuperMap.Plot.PlottingUtil.distance(r.pt,e)/s;U>.4&&(U=.4),this.scaleValues[3]=U}}}},{key:"GetCurvePts",value:function(t,e,l){for(var o,i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),n=SuperMap.Plot.PlottingUtil.polylineDistance(i),a=n*e,r=n*l/2,s=[],p=[],u=i[0],c=!1,P=i[0],S=1;S<i.length;S++){var h=i[S],y=SuperMap.Plot.PlottingUtil.distance(u,h);if(!(y<a&&S!==i.length-1)){for(var f,g=parseInt(y/a),M=0;M<g;M++){f=SuperMap.Plot.PlottingUtil.linePnt(u,h,a),c||(o=f,c=!0);var b=this.GetCosPts2D(u,f,a,r);s=p.length>1&&0===M?this.ClearCurvePts2D(P,u,h,p,b,s):s.concat(b),p=(p=[]).concat(b),P=u,u=f}S===i.length-1&&(f=i[i.length-1],b=this.GetCosPts2D(u,f,a,r),s=p.length>1&&b.length>1?this.ClearCurvePts2D(P,u,h,p,b,s):s.concat(b))}}return{pt:s,scalePt:o}}},{key:"GetCosPts2D",value:function(t,e,l,o){for(var i=[],n=SuperMap.Plot.PlottingUtil.distance(t,e),a=l/30,r=0;r<n;r+=a){var s=r*(2*Math.PI/l),p=o*Math.cos(s),u=new SuperMap.Geometry.Point(r,p),c=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,P=SuperMap.Plot.PlottingUtil.coordinateTrans(t,u,c);i.push(P)}return i}},{key:"ClearCurvePts2D",value:function(t,e,l,o,i,n){for(var a=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,r=180*SuperMap.Plot.PlottingUtil.radian(e,t)/Math.PI-a;r<=0;)r+=360;var s=r/2,p=l;p=SuperMap.Plot.PlottingUtil.rotateAngle(e,s*Math.PI/180,p);for(var u=SuperMap.Plot.PlottingUtil.linePnt(e,p,1),c=0,P=0;P<o.length;P++)if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,o[P])){c=P;break}if(0!=c)for(var S=0;S<o.length-c;S++)n.slice(S,n.length-1);for(var h=0;h<i.length;h++)SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,i[h])&&n.push(i[h]);return n}}]),e}();SuperMap.Plot.AlgoSymbol12501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.03));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var o=this.scaleValues[1]*e,i=l*e,n=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,i);if(-1!==n.index){for(var a=n.pt,r=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[a,new SuperMap.Geometry.Point(a.x+o,a.y)]),s=0;s<t.length-1;s++){var p,u=t[s],c=t[s+1],P=SuperMap.Plot.PlottingUtil.distance(a,u),S=SuperMap.Plot.PlottingUtil.distance(a,c);if(!(P<o&&S<o))if(P>o&&S<o||P<o&&S>o){var h;h=P>o?u:c,(p=this.getLineAddCircleIntersectPts(u,c,r)).length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p[0],h])}else{var y=SuperMap.Plot.PlottingUtil.projectPoint(a,u,c);if(SuperMap.Plot.PlottingUtil.distance(a,y)>=o)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c]);else if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(y,u,c)){if((p=this.getLineAddCircleIntersectPts(u,c,r)).length>0){p.unshift(u),p.push(c);for(var f=0;f<p.length-1;f++)this.isLineInCircle(p[f],p[f+1],a,o)||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p[f],p[f+1]])}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c])}}this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[a,new SuperMap.Geometry.Point(a.x+o,a.y)]),this.scalePoints=[];var g=a;g.isScalePoint=!0,g.tag=0,this.scalePoints.push(g);var M=new SuperMap.Geometry.Point(a.x+o,a.y);M.isScalePoint=!0,M.tag=1,this.scalePoints.push(M),this.finish()}}}},{key:"isLineInCircle",value:function(t,e,l,o){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return o>SuperMap.Plot.PlottingUtil.distance(i,l)}},{key:"getLineAddCircleIntersectPts",value:function(t,e,l){var o=l.slice();o[0].x===o[o.length-1].x&&o[0].y===o[o.length-1].y||o.push(o[0]);for(var i,n=[],a=0;a<o.length-1;a++){var r=o[a],s=o[a+1],p=SuperMap.Plot.PlottingUtil.intersectLines(t,e,r,s);p.isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t,e)&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,r,s)&&n.push(p.intersectPoint)}for(var u=0;u<n.length-1;u++)SuperMap.Plot.PlottingUtil.isSamePt(n[u],n[u+1])&&(n.splice(u,1),u--);if(t.x>e.x)for(var c=0;c<n.length&&c!=n.length-1;c++)n[c].x<n[c+1].x&&(i=n[c],n[c]=n[c+1],n[c+1]=i);else if(t.x<e.x)for(var P=0;P<n.length&&P!=n.length-1;P++)n[P].x>n[P+1].x&&(i=n[P],n[P]=n[P+1],n[P+1]=i);else if(t.y>e.y)for(var S=0;S<n.length&&S!=n.length-1;S++)n[S].y<n[S+1].y&&(i=n[S],n[S]=n[S+1],n[S+1]=i);else if(t.y<e.y)for(var h=0;h<n.length&&h!=n.length-1;h++)n[h].y>n[h+1].y&&(i=n[h],n[h]=n[h+1],n[h+1]=i);return n}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){for(var i=0,n=-1,a=null,r=0;r<l.length-1;r++){var s=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l[r],l[r+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.projectPoint,l[r],l[r+1])){var p=SuperMap.Plot.PlottingUtil.distance(s.projectPoint,e);0==i?(i=p,n=r,a=s.projectPoint):p<i&&(i=p,n=r,a=s.projectPoint)}}if(-1==n)return;for(var u=0,c=0;c<n;c++)u+=SuperMap.Plot.PlottingUtil.distance(l[c],l[c+1]);var P=(u+=SuperMap.Plot.PlottingUtil.distance(a,l[n]))/o;P>1&&(P=1),this.scaleValues[0]=P}if(1===t){var S=this.scaleValues[0]*o,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,S);if(-1===h.index)return;var y=SuperMap.Plot.PlottingUtil.distance(h.pt,e)/o;y>.4&&(y=.4),this.scaleValues[1]=y}}}}]),e}();SuperMap.Plot.AlgoSymbol12500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbol4021102=e.AlgoSymbol4021101=e.AlgoSymbol6020404=e.AlgoSymbol6020403=e.AlgoSymbol4022102=e.AlgoSymbol4022101=e.AlgoSymbol4022100=e.AlgoSymbol4020402=e.AlgoSymbol4020401=e.AlgoSymbol4020303=e.AlgoSymbol4011101=e.AlgoSymbol4011100=e.AlgoSymbol4010905=e.AlgoSymbol4010801=e.AlgoSymbol4010800=e.AlgoSymbol3032000=e.AlgoSymbol3020901=e.AlgoSymbol3010304=e.AlgoSymbol3010303=e.AlgoSymbol6020402=e.AlgoSymbol6020401=e.AlgoSymbol6020400=e.AlgoSymbol3010302=void 0,e.AlgoSymbol3010301=e.AlgoSymbol3010108=e.AlgoSymbol3010107=e.AlgoSymbol3010106=e.AlgoSymbol3010105=e.AlgoSymbol3010104=e.AlgoSymbol3010103=e.AlgoSymbol3010102=e.AlgoSymbol2890001=e.AlgoSymbol2350001=e.AlgoSymbol44400=e.AlgoSymbol44300=e.AlgoSymbol44200=e.AlgoSymbol44100=e.AlgoSymbol43500=e.AlgoSymbol42700=e.AlgoSymbol42500=e.AlgoSymbol42400=e.AlgoSymbol42200=e.AlgoSymbol41202=e.AlgoSymbol41201=e.AlgoSymbol41200=e.AlgoSymbol41100=e.AlgoSymbol40900=e.AlgoSymbol40101=e.AlgoSymbol40100=e.AlgoSymbol40000=e.AlgoSymbol39802=e.AlgoSymbol39801=e.AlgoSymbol39800=e.AlgoSymbol39600=e.AlgoSymbol39500=e.AlgoSymbol39101=e.AlgoSymbol39000=e.AlgoSymbol38700=e.AlgoSymbol38600=e.AlgoSymbol37700=e.AlgoSymbol37601=e.AlgoSymbol37600=e.AlgoSymbol37301=e.AlgoSymbol37300=e.AlgoSymbol37200=e.AlgoSymbol37100=e.AlgoSymbol36800=e.AlgoSymbol36700=e.AlgoSymbol36600=e.AlgoSymbol36401=e.AlgoSymbol36400=e.AlgoSymbol35500=e.AlgoSymbol35304=e.AlgoSymbol35200=e.AlgoSymbol35000=e.AlgoSymbol34902=e.AlgoSymbol34901=e.AlgoSymbol34900=e.AlgoSymbol34801=e.AlgoSymbol34800=e.AlgoSymbol34700=e.AlgoSymbol34501=e.AlgoSymbol34500=e.AlgoSymbol34400=e.AlgoSymbol34300=e.AlgoSymbol33400=e.AlgoSymbol32900=e.AlgoSymbol32300=e.AlgoSymbol31803=e.AlgoSymbol31601=e.AlgoSymbol31600=e.AlgoSymbol31401=e.AlgoSymbol31400=e.AlgoSymbol31304=e.AlgoSymbol31303=e.AlgoSymbol31302=e.AlgoSymbol31301=e.AlgoSymbol31300=e.AlgoSymbol30102=e.AlgoSymbol30800=e.AlgoSymbol30201=e.AlgoSymbol30200=e.AlgoSymbol30100=e.AlgoSymbol30002=e.AlgoSymbol30001=e.AlgoSymbol30000=e.AlgoSymbol29903=e.AlgoSymbol29800=e.AlgoSymbol29401=e.AlgoSymbol29103=e.AlgoSymbol29101=e.AlgoSymbol29100=e.AlgoSymbol29003=e.AlgoSymbol29002=e.AlgoSymbol29001=e.AlgoSymbol29000=e.AlgoSymbol28900=e.AlgoSymbol28400=e.AlgoSymbol28301=e.AlgoSymbol28300=e.AlgoSymbol28201=e.AlgoSymbol28200=e.AlgoSymbol28100=void 0,e.AlgoSymbol28000=e.AlgoSymbol27902=e.AlgoSymbol27901=e.AlgoSymbol27900=e.AlgoSymbol27701=e.AlgoSymbol27700=e.AlgoSymbol27300=e.AlgoSymbol27100=e.AlgoSymbol26800=e.AlgoSymbol26700=e.AlgoSymbol26601=e.AlgoSymbol26600=e.AlgoSymbol26503=e.AlgoSymbol26502=e.AlgoSymbol26501=e.AlgoSymbol26500=e.AlgoSymbol26400=e.AlgoSymbol25901=e.AlgoSymbol25900=e.AlgoSymbol25801=e.AlgoSymbol25800=e.AlgoSymbol25701=e.AlgoSymbol25700=e.AlgoSymbol25601=e.AlgoSymbol25600=e.AlgoSymbol25503=e.AlgoSymbol25502=e.AlgoSymbol25501=e.AlgoSymbol25500=e.AlgoSymbol25400=e.AlgoSymbol25301=e.AlgoSymbol25300=e.AlgoSymbol25202=e.AlgoSymbol25201=e.AlgoSymbol25200=e.AlgoSymbol25101=e.AlgoSymbol25100=e.AlgoSymbol25000=e.AlgoSymbol24700=e.AlgoSymbol23902=e.AlgoSymbol23901=e.AlgoSymbol23700=e.AlgoSymbol23600=e.AlgoSymbol23500=e.AlgoSymbol23400=e.AlgoSymbol22200=e.AlgoSymbol22103=e.AlgoSymbol22000=e.AlgoSymbol21900=e.AlgoSymbol21800=e.AlgoSymbol21600=e.AlgoSymbol21504=e.AlgoSymbol21503=e.AlgoSymbol21502=e.AlgoSymbol21501=e.AlgoSymbol21500=e.AlgoSymbol21401=e.AlgoSymbol21400=e.AlgoSymbol20301=e.AlgoSymbol20300=e.AlgoSymbol17806=e.AlgoSymbol17805=e.AlgoSymbol17804=e.AlgoSymbol17803=e.AlgoSymbol17802=e.AlgoSymbol17801=e.AlgoSymbol17800=e.AlgoSymbol17704=e.AlgoSymbol17703=e.AlgoSymbol17700=e.AlgoSymbol17600=e.AlgoSymbol17501=e.AlgoSymbol17500=e.AlgoSymbol17401=e.AlgoSymbol17400=e.AlgoSymbol16900=e.AlgoSymbol16700=e.AlgoSymbol16500=e.AlgoSymbol16203=e.AlgoSymbol16202=e.AlgoSymbol16201=e.AlgoSymbol16200=e.AlgoSymbol16100=e.AlgoSymbol16001=e.AlgoSymbol16000=e.AlgoSymbol15900=e.AlgoSymbol15806=e.AlgoSymbol15805=e.AlgoSymbol15804=e.AlgoSymbol15803=e.AlgoSymbol15802=e.AlgoSymbol15801=e.AlgoSymbol15800=e.AlgoSymbol15202=e.AlgoSymbol15201=e.AlgoSymbol15200=e.AlgoSymbol13700=e.AlgoSymbol12502=e.AlgoSymbol12501=e.AlgoSymbol12500=void 0;var o=l(222),i=l(221),n=l(220),a=l(219),r=l(218),s=l(217),p=l(216),u=l(215),c=l(214),P=l(213),S=l(212),h=l(211),y=l(210),f=l(209),g=l(208),M=l(207),b=l(206),m=l(205),d=l(204),v=l(203),O=l(202),U=l(201),w=l(200),L=l(199),V=l(198),_=l(197),T=l(196),A=l(195),E=l(194),x=l(193),Y=l(192),j=l(191),C=l(190),I=l(189),G=l(188),B=l(187),R=l(186),N=l(185),D=l(184),k=l(183),z=l(182),F=l(181),K=l(180),q=l(179),W=l(178),J=l(177),Z=l(176),H=l(175),Q=l(174),X=l(173),$=l(172),tt=l(171),et=l(170),lt=l(169),ot=l(168),it=l(167),nt=l(166),at=l(165),rt=l(164),st=l(163),pt=l(162),ut=l(161),ct=l(160),Pt=l(159),St=l(158),ht=l(157),yt=l(156),ft=l(155),gt=l(154),Mt=l(153),bt=l(152),mt=l(151),dt=l(150),vt=l(149),Ot=l(148),Ut=l(147),wt=l(146),Lt=l(145),Vt=l(144),_t=l(143),Tt=l(142),At=l(141),Et=l(140),xt=l(139),Yt=l(138),jt=l(137),Ct=l(136),It=l(135),Gt=l(134),Bt=l(133),Rt=l(132),Nt=l(131),Dt=l(130),kt=l(129),zt=l(128),Ft=l(127),Kt=l(126),qt=l(125),Wt=l(124),Jt=l(123),Zt=l(122),Ht=l(121),Qt=l(120),Xt=l(119),$t=l(118),te=l(117),ee=l(116),le=l(115),oe=l(114),ie=l(113),ne=l(112),ae=l(111),re=l(110),se=l(109),pe=l(108),ue=l(107),ce=l(106),Pe=l(105),Se=l(104),he=l(103),ye=l(102),fe=l(101),ge=l(100),Me=l(99),be=l(98),me=l(97),de=l(96),ve=l(95),Oe=l(94),Ue=l(93),we=l(92),Le=l(91),Ve=l(90),_e=l(89),Te=l(88),Ae=l(87),Ee=l(86),xe=l(85),Ye=l(84),je=l(83),Ce=l(82),Ie=l(81),Ge=l(80),Be=l(79),Re=l(78),Ne=l(77),De=l(76),ke=l(75),ze=l(74),Fe=l(73),Ke=l(72),qe=l(71),We=l(70),Je=l(69),Ze=l(68),He=l(67),Qe=l(66),Xe=l(65),$e=l(64),tl=l(63),el=l(62),ll=l(61),ol=l(60),il=l(59),nl=l(58),al=l(57),rl=l(56),sl=l(55),pl=l(54),ul=l(53),cl=l(52),Pl=l(51),Sl=l(50),hl=l(49),yl=l(48),fl=l(47),gl=l(46),Ml=l(45),bl=l(44),ml=l(43),dl=l(42),vl=l(41),Ol=l(40),Ul=l(39),wl=l(38),Ll=l(37),Vl=l(36),_l=l(35),Tl=l(34),Al=l(33),El=l(32),xl=l(31),Yl=l(30),jl=l(29),Cl=l(28),Il=l(27),Gl=l(26),Bl=l(25),Rl=l(24),Nl=l(23),Dl=l(22),kl=l(21),zl=l(20),Fl=l(19),Kl=l(18),ql=l(17),Wl=l(16),Jl=l(15),Zl=l(14),Hl=l(13),Ql=l(12),Xl=l(11),$l=l(10),to=l(9),eo=l(8),lo=l(7),oo=l(6),io=l(5),no=l(4),ao=l(3),ro=l(2),so=l(1),po=l(0);e.AlgoSymbol12500=o.AlgoSymbol12500,e.AlgoSymbol12501=i.AlgoSymbol12501,e.AlgoSymbol12502=n.AlgoSymbol12502,e.AlgoSymbol13700=a.AlgoSymbol13700,e.AlgoSymbol15200=r.AlgoSymbol15200,e.AlgoSymbol15201=s.AlgoSymbol15201,e.AlgoSymbol15202=p.AlgoSymbol15202,e.AlgoSymbol15800=u.AlgoSymbol15800,e.AlgoSymbol15801=c.AlgoSymbol15801,e.AlgoSymbol15802=P.AlgoSymbol15802,e.AlgoSymbol15803=S.AlgoSymbol15803,e.AlgoSymbol15804=h.AlgoSymbol15804,e.AlgoSymbol15805=y.AlgoSymbol15805,e.AlgoSymbol15806=f.AlgoSymbol15806,e.AlgoSymbol15900=g.AlgoSymbol15900,e.AlgoSymbol16000=M.AlgoSymbol16000,e.AlgoSymbol16001=b.AlgoSymbol16001,e.AlgoSymbol16100=m.AlgoSymbol16100,e.AlgoSymbol16200=d.AlgoSymbol16200,e.AlgoSymbol16201=v.AlgoSymbol16201,e.AlgoSymbol16202=O.AlgoSymbol16202,e.AlgoSymbol16203=U.AlgoSymbol16203,e.AlgoSymbol16500=w.AlgoSymbol16500,e.AlgoSymbol16700=L.AlgoSymbol16700,e.AlgoSymbol16900=V.AlgoSymbol16900,e.AlgoSymbol17400=_.AlgoSymbol17400,e.AlgoSymbol17401=T.AlgoSymbol17401,e.AlgoSymbol17500=A.AlgoSymbol17500,e.AlgoSymbol17501=E.AlgoSymbol17501,e.AlgoSymbol17600=x.AlgoSymbol17600,e.AlgoSymbol17700=Y.AlgoSymbol17700,e.AlgoSymbol17703=j.AlgoSymbol17703,e.AlgoSymbol17704=C.AlgoSymbol17704,e.AlgoSymbol17800=I.AlgoSymbol17800,e.AlgoSymbol17801=G.AlgoSymbol17801,e.AlgoSymbol17802=B.AlgoSymbol17802,e.AlgoSymbol17803=R.AlgoSymbol17803,e.AlgoSymbol17804=N.AlgoSymbol17804,e.AlgoSymbol17805=D.AlgoSymbol17805,e.AlgoSymbol17806=k.AlgoSymbol17806,e.AlgoSymbol20300=z.AlgoSymbol20300,e.AlgoSymbol20301=F.AlgoSymbol20301,e.AlgoSymbol21400=K.AlgoSymbol21400,e.AlgoSymbol21401=q.AlgoSymbol21401,e.AlgoSymbol21500=W.AlgoSymbol21500,e.AlgoSymbol21501=J.AlgoSymbol21501,e.AlgoSymbol21502=Z.AlgoSymbol21502,e.AlgoSymbol21503=H.AlgoSymbol21503,e.AlgoSymbol21504=Q.AlgoSymbol21504,e.AlgoSymbol21600=X.AlgoSymbol21600,e.AlgoSymbol21800=$.AlgoSymbol21800,e.AlgoSymbol21900=tt.AlgoSymbol21900,e.AlgoSymbol22000=et.AlgoSymbol22000,e.AlgoSymbol22103=lt.AlgoSymbol22103,e.AlgoSymbol22200=ot.AlgoSymbol22200,e.AlgoSymbol23400=it.AlgoSymbol23400,e.AlgoSymbol23500=nt.AlgoSymbol23500,e.AlgoSymbol23600=at.AlgoSymbol23600,e.AlgoSymbol23700=rt.AlgoSymbol23700,e.AlgoSymbol23901=st.AlgoSymbol23901,e.AlgoSymbol23902=pt.AlgoSymbol23902,e.AlgoSymbol24700=ut.AlgoSymbol24700,e.AlgoSymbol25000=ct.AlgoSymbol25000,e.AlgoSymbol25100=Pt.AlgoSymbol25100,e.AlgoSymbol25101=St.AlgoSymbol25101,e.AlgoSymbol25200=ht.AlgoSymbol25200,e.AlgoSymbol25201=yt.AlgoSymbol25201,e.AlgoSymbol25202=ft.AlgoSymbol25202,e.AlgoSymbol25300=gt.AlgoSymbol25300,e.AlgoSymbol25301=Mt.AlgoSymbol25301,e.AlgoSymbol25400=bt.AlgoSymbol25400,e.AlgoSymbol25500=mt.AlgoSymbol25500,e.AlgoSymbol25501=dt.AlgoSymbol25501,e.AlgoSymbol25502=vt.AlgoSymbol25502,e.AlgoSymbol25503=Ot.AlgoSymbol25503,e.AlgoSymbol25600=Ut.AlgoSymbol25600,e.AlgoSymbol25601=wt.AlgoSymbol25601,e.AlgoSymbol25700=Lt.AlgoSymbol25700,e.AlgoSymbol25701=Vt.AlgoSymbol25701,e.AlgoSymbol25800=_t.AlgoSymbol25800,e.AlgoSymbol25801=Tt.AlgoSymbol25801,e.AlgoSymbol25900=At.AlgoSymbol25900,e.AlgoSymbol25901=Et.AlgoSymbol25901,e.AlgoSymbol26400=xt.AlgoSymbol26400,e.AlgoSymbol26500=Yt.AlgoSymbol26500,e.AlgoSymbol26501=jt.AlgoSymbol26501,e.AlgoSymbol26502=Ct.AlgoSymbol26502,e.AlgoSymbol26503=It.AlgoSymbol26503,e.AlgoSymbol26600=Gt.AlgoSymbol26600,e.AlgoSymbol26601=Bt.AlgoSymbol26601,e.AlgoSymbol26700=Rt.AlgoSymbol26700,e.AlgoSymbol26800=Nt.AlgoSymbol26800,e.AlgoSymbol27100=Dt.AlgoSymbol27100,e.AlgoSymbol27300=kt.AlgoSymbol27300,e.AlgoSymbol27700=zt.AlgoSymbol27700,e.AlgoSymbol27701=Ft.AlgoSymbol27701,e.AlgoSymbol27900=Kt.AlgoSymbol27900,e.AlgoSymbol27901=qt.AlgoSymbol27901,e.AlgoSymbol27902=Wt.AlgoSymbol27902,e.AlgoSymbol28000=Jt.AlgoSymbol28000,e.AlgoSymbol28100=Zt.AlgoSymbol28100,e.AlgoSymbol28200=Ht.AlgoSymbol28200,e.AlgoSymbol28201=Qt.AlgoSymbol28201,e.AlgoSymbol28300=Xt.AlgoSymbol28300,e.AlgoSymbol28301=$t.AlgoSymbol28301,e.AlgoSymbol28400=te.AlgoSymbol28400,e.AlgoSymbol28900=ee.AlgoSymbol28900,e.AlgoSymbol29000=le.AlgoSymbol29000,e.AlgoSymbol29001=oe.AlgoSymbol29001,e.AlgoSymbol29002=ie.AlgoSymbol29002,e.AlgoSymbol29003=ne.AlgoSymbol29003,e.AlgoSymbol29100=ae.AlgoSymbol29100,e.AlgoSymbol29101=re.AlgoSymbol29101,e.AlgoSymbol29103=se.AlgoSymbol29103,e.AlgoSymbol29401=pe.AlgoSymbol29401,e.AlgoSymbol29800=ue.AlgoSymbol29800,e.AlgoSymbol29903=ce.AlgoSymbol29903,e.AlgoSymbol30000=Pe.AlgoSymbol30000,e.AlgoSymbol30001=Se.AlgoSymbol30001,e.AlgoSymbol30002=he.AlgoSymbol30002,e.AlgoSymbol30100=ye.AlgoSymbol30100,e.AlgoSymbol30200=fe.AlgoSymbol30200,e.AlgoSymbol30201=ge.AlgoSymbol30201,e.AlgoSymbol30800=Me.AlgoSymbol30800,e.AlgoSymbol30102=be.AlgoSymbol30102,e.AlgoSymbol31300=me.AlgoSymbol31300,e.AlgoSymbol31301=de.AlgoSymbol31301,e.AlgoSymbol31302=ve.AlgoSymbol31302,e.AlgoSymbol31303=Oe.AlgoSymbol31303,e.AlgoSymbol31304=Ue.AlgoSymbol31304,e.AlgoSymbol31400=we.AlgoSymbol31400,e.AlgoSymbol31401=Le.AlgoSymbol31401,e.AlgoSymbol31600=Ve.AlgoSymbol31600,e.AlgoSymbol31601=_e.AlgoSymbol31601,e.AlgoSymbol31803=Te.AlgoSymbol31803,e.AlgoSymbol32300=Ae.AlgoSymbol32300,e.AlgoSymbol32900=Ee.AlgoSymbol32900,e.AlgoSymbol33400=xe.AlgoSymbol33400,e.AlgoSymbol34300=Ye.AlgoSymbol34300,e.AlgoSymbol34400=je.AlgoSymbol34400,e.AlgoSymbol34500=Ce.AlgoSymbol34500,e.AlgoSymbol34501=Ie.AlgoSymbol34501,e.AlgoSymbol34700=Ge.AlgoSymbol34700,e.AlgoSymbol34800=Be.AlgoSymbol34800,e.AlgoSymbol34801=Re.AlgoSymbol34801,e.AlgoSymbol34900=Ne.AlgoSymbol34900,e.AlgoSymbol34901=De.AlgoSymbol34901,e.AlgoSymbol34902=ke.AlgoSymbol34902,e.AlgoSymbol35000=ze.AlgoSymbol35000,e.AlgoSymbol35200=Fe.AlgoSymbol35200,e.AlgoSymbol35304=Ke.AlgoSymbol35304,e.AlgoSymbol35500=qe.AlgoSymbol35500,e.AlgoSymbol36400=We.AlgoSymbol36400,e.AlgoSymbol36401=Je.AlgoSymbol36401,e.AlgoSymbol36600=Ze.AlgoSymbol36600,e.AlgoSymbol36700=He.AlgoSymbol36700,e.AlgoSymbol36800=Qe.AlgoSymbol36800,e.AlgoSymbol37100=Xe.AlgoSymbol37100,e.AlgoSymbol37200=$e.AlgoSymbol37200,e.AlgoSymbol37300=tl.AlgoSymbol37300,e.AlgoSymbol37301=el.AlgoSymbol37301,e.AlgoSymbol37600=ll.AlgoSymbol37600,e.AlgoSymbol37601=ol.AlgoSymbol37601,e.AlgoSymbol37700=il.AlgoSymbol37700,e.AlgoSymbol38600=nl.AlgoSymbol38600,e.AlgoSymbol38700=al.AlgoSymbol38700,e.AlgoSymbol39000=rl.AlgoSymbol39000,e.AlgoSymbol39101=sl.AlgoSymbol39101,e.AlgoSymbol39500=pl.AlgoSymbol39500,e.AlgoSymbol39600=ul.AlgoSymbol39600,e.AlgoSymbol39800=cl.AlgoSymbol39800,e.AlgoSymbol39801=Pl.AlgoSymbol39801,e.AlgoSymbol39802=Sl.AlgoSymbol39802,e.AlgoSymbol40000=hl.AlgoSymbol40000,e.AlgoSymbol40100=yl.AlgoSymbol40100,e.AlgoSymbol40101=fl.AlgoSymbol40101,e.AlgoSymbol40900=gl.AlgoSymbol40900,e.AlgoSymbol41100=Ml.AlgoSymbol41100,e.AlgoSymbol41200=bl.AlgoSymbol41200,e.AlgoSymbol41201=ml.AlgoSymbol41201,e.AlgoSymbol41202=dl.AlgoSymbol41202,e.AlgoSymbol42200=vl.AlgoSymbol42200,e.AlgoSymbol42400=Ol.AlgoSymbol42400,e.AlgoSymbol42500=Ul.AlgoSymbol42500,e.AlgoSymbol42700=wl.AlgoSymbol42700,e.AlgoSymbol43500=Ll.AlgoSymbol43500,e.AlgoSymbol44100=Vl.AlgoSymbol44100,e.AlgoSymbol44200=_l.AlgoSymbol44200,e.AlgoSymbol44300=Tl.AlgoSymbol44300,e.AlgoSymbol44400=Al.AlgoSymbol44400,e.AlgoSymbol2350001=El.AlgoSymbol2350001,e.AlgoSymbol2890001=xl.AlgoSymbol2890001,e.AlgoSymbol3010102=Yl.AlgoSymbol3010102,e.AlgoSymbol3010103=jl.AlgoSymbol3010103,e.AlgoSymbol3010104=Cl.AlgoSymbol3010104,e.AlgoSymbol3010105=Il.AlgoSymbol3010105,e.AlgoSymbol3010106=Gl.AlgoSymbol3010106,e.AlgoSymbol3010107=Bl.AlgoSymbol3010107,e.AlgoSymbol3010108=Rl.AlgoSymbol3010108,e.AlgoSymbol3010301=Nl.AlgoSymbol3010301,e.AlgoSymbol3010302=Dl.AlgoSymbol3010302,e.AlgoSymbol6020400=kl.AlgoSymbol6020400,e.AlgoSymbol6020401=zl.AlgoSymbol6020401,e.AlgoSymbol6020402=Fl.AlgoSymbol6020402,e.AlgoSymbol3010303=Kl.AlgoSymbol3010303,e.AlgoSymbol3010304=ql.AlgoSymbol3010304,e.AlgoSymbol3020901=Wl.AlgoSymbol3020901,e.AlgoSymbol3032000=Jl.AlgoSymbol3032000,e.AlgoSymbol4010800=Zl.AlgoSymbol4010800,e.AlgoSymbol4010801=Hl.AlgoSymbol4010801,e.AlgoSymbol4010905=Ql.AlgoSymbol4010905,e.AlgoSymbol4011100=Xl.AlgoSymbol4011100,e.AlgoSymbol4011101=$l.AlgoSymbol4011101,e.AlgoSymbol4020303=to.AlgoSymbol4020303,e.AlgoSymbol4020401=eo.AlgoSymbol4020401,e.AlgoSymbol4020402=lo.AlgoSymbol4020402,e.AlgoSymbol4022100=oo.AlgoSymbol4022100,e.AlgoSymbol4022101=io.AlgoSymbol4022101,e.AlgoSymbol4022102=no.AlgoSymbol4022102,e.AlgoSymbol6020403=ao.AlgoSymbol6020403,e.AlgoSymbol6020404=ro.AlgoSymbol6020404,e.AlgoSymbol4021101=so.AlgoSymbol4021101,e.AlgoSymbol4021102=po.AlgoSymbol4021102},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JBAlgoSymbolFactory=void 0,l(223);e.JBAlgoSymbolFactory=SuperMap.Plot.JBAlgoSymbolFactory=SuperMap.Plot.JBAlgoSymbolFactory||{};SuperMap.Plot.JBAlgoSymbolFactory.getAlgoSymbol=function(t,e,l){if(100!==t)return new SuperMap.Plot.AlgoSymbol(l);switch(e){case 12500:return new SuperMap.Plot.AlgoSymbol12500(l);case 12501:return new SuperMap.Plot.AlgoSymbol12501(l);case 12502:return new SuperMap.Plot.AlgoSymbol12502(l);case 13700:return new SuperMap.Plot.AlgoSymbol13700(l);case 15200:return new SuperMap.Plot.AlgoSymbol15200(l);case 15201:case 23800:return new SuperMap.Plot.AlgoSymbol15201(l);case 15202:return new SuperMap.Plot.AlgoSymbol15202(l);case 15800:return new SuperMap.Plot.AlgoSymbol15800(l);case 15801:return new SuperMap.Plot.AlgoSymbol15801(l);case 15802:return new SuperMap.Plot.AlgoSymbol15802(l);case 15803:return new SuperMap.Plot.AlgoSymbol15803(l);case 15804:return new SuperMap.Plot.AlgoSymbol15804(l);case 15805:return new SuperMap.Plot.AlgoSymbol15805(l);case 15806:return new SuperMap.Plot.AlgoSymbol15806(l);case 15900:return new SuperMap.Plot.AlgoSymbol15900(l);case 16e3:return new SuperMap.Plot.AlgoSymbol16000(l);case 16001:return new SuperMap.Plot.AlgoSymbol16001(l);case 16100:return new SuperMap.Plot.AlgoSymbol16100(l);case 16200:return new SuperMap.Plot.AlgoSymbol16200(l);case 16201:return new SuperMap.Plot.AlgoSymbol16201(l);case 16202:return new SuperMap.Plot.AlgoSymbol16202(l);case 16203:return new SuperMap.Plot.AlgoSymbol16203(l);case 16500:return new SuperMap.Plot.AlgoSymbol16500(l);case 16700:return new SuperMap.Plot.AlgoSymbol16700(l);case 16900:return new SuperMap.Plot.AlgoSymbol16900(l);case 17400:return new SuperMap.Plot.AlgoSymbol17400(l);case 17401:return new SuperMap.Plot.AlgoSymbol17401(l);case 17500:return new SuperMap.Plot.AlgoSymbol17500(l);case 17501:return new SuperMap.Plot.AlgoSymbol17501(l);case 17600:return new SuperMap.Plot.AlgoSymbol17600(l);case 17700:return new SuperMap.Plot.AlgoSymbol17700(l);case 17703:return new SuperMap.Plot.AlgoSymbol17703(l);case 17704:return new SuperMap.Plot.AlgoSymbol17704(l);case 17800:return new SuperMap.Plot.AlgoSymbol17800(l);case 17801:return new SuperMap.Plot.AlgoSymbol17801(l);case 17802:return new SuperMap.Plot.AlgoSymbol17802(l);case 17803:return new SuperMap.Plot.AlgoSymbol17803(l);case 17804:return new SuperMap.Plot.AlgoSymbol17804(l);case 17805:return new SuperMap.Plot.AlgoSymbol17805(l);case 17806:return new SuperMap.Plot.AlgoSymbol17806(l);case 20300:return new SuperMap.Plot.AlgoSymbol20300(l);case 20301:return new SuperMap.Plot.AlgoSymbol20301(l);case 21401:return new SuperMap.Plot.AlgoSymbol21401(l);case 21500:return new SuperMap.Plot.AlgoSymbol21500(l);case 21501:return new SuperMap.Plot.AlgoSymbol21501(l);case 21502:return new SuperMap.Plot.AlgoSymbol21502(l);case 21503:return new SuperMap.Plot.AlgoSymbol21503(l);case 21504:return new SuperMap.Plot.AlgoSymbol21504(l);case 21600:return new SuperMap.Plot.AlgoSymbol21600(l);case 21800:return new SuperMap.Plot.AlgoSymbol21800(l);case 21900:return new SuperMap.Plot.AlgoSymbol21900(l);case 22e3:return new SuperMap.Plot.AlgoSymbol22000(l);case 22103:return new SuperMap.Plot.AlgoSymbol22103(l);case 22200:return new SuperMap.Plot.AlgoSymbol22200(l);case 23400:return new SuperMap.Plot.AlgoSymbol23400(l);case 23500:return new SuperMap.Plot.AlgoSymbol23500(l);case 2350001:return new SuperMap.Plot.AlgoSymbol2350001(l);case 23600:return new SuperMap.Plot.AlgoSymbol23600(l);case 23700:return new SuperMap.Plot.AlgoSymbol23700(l);case 23901:return new SuperMap.Plot.AlgoSymbol23901(l);case 23902:return new SuperMap.Plot.AlgoSymbol23902(l);case 24700:return new SuperMap.Plot.AlgoSymbol24700(l);case 25e3:return new SuperMap.Plot.AlgoSymbol25000(l);case 25100:return new SuperMap.Plot.AlgoSymbol25100(l);case 25101:return new SuperMap.Plot.AlgoSymbol25101(l);case 25200:return new SuperMap.Plot.AlgoSymbol25200(l);case 21400:case 25201:return new SuperMap.Plot.AlgoSymbol25201(l);case 25202:return new SuperMap.Plot.AlgoSymbol25202(l);case 25300:return new SuperMap.Plot.AlgoSymbol25300(l);case 25301:return new SuperMap.Plot.AlgoSymbol25301(l);case 25400:return new SuperMap.Plot.AlgoSymbol25400(l);case 25500:return new SuperMap.Plot.AlgoSymbol25500(l);case 25501:return new SuperMap.Plot.AlgoSymbol25501(l);case 25502:return new SuperMap.Plot.AlgoSymbol25502(l);case 25503:return new SuperMap.Plot.AlgoSymbol25503(l);case 25600:return new SuperMap.Plot.AlgoSymbol25600(l);case 25601:return new SuperMap.Plot.AlgoSymbol25601(l);case 25700:return new SuperMap.Plot.AlgoSymbol25700(l);case 25701:return new SuperMap.Plot.AlgoSymbol25701(l);case 25800:return new SuperMap.Plot.AlgoSymbol25800(l);case 25801:return new SuperMap.Plot.AlgoSymbol25801(l);case 25900:return new SuperMap.Plot.AlgoSymbol25900(l);case 25901:return new SuperMap.Plot.AlgoSymbol25901(l);case 26400:return new SuperMap.Plot.AlgoSymbol26400(l);case 26500:return new SuperMap.Plot.AlgoSymbol26500(l);case 26501:return new SuperMap.Plot.AlgoSymbol26501(l);case 26502:return new SuperMap.Plot.AlgoSymbol26502(l);case 26503:return new SuperMap.Plot.AlgoSymbol26503(l);case 26600:return new SuperMap.Plot.AlgoSymbol26600(l);case 26601:return new SuperMap.Plot.AlgoSymbol26601(l);case 26700:return new SuperMap.Plot.AlgoSymbol26700(l);case 26800:return new SuperMap.Plot.AlgoSymbol26800(l);case 27100:return new SuperMap.Plot.AlgoSymbol27100(l);case 27300:return new SuperMap.Plot.AlgoSymbol27300(l);case 27700:return new SuperMap.Plot.AlgoSymbol27700(l);case 27701:return new SuperMap.Plot.AlgoSymbol27701(l);case 27900:return new SuperMap.Plot.AlgoSymbol27900(l);case 27901:return new SuperMap.Plot.AlgoSymbol27901(l);case 27902:return new SuperMap.Plot.AlgoSymbol27902(l);case 28e3:return new SuperMap.Plot.AlgoSymbol28000(l);case 28100:return new SuperMap.Plot.AlgoSymbol28100(l);case 28200:return new SuperMap.Plot.AlgoSymbol28200(l);case 28201:return new SuperMap.Plot.AlgoSymbol28201(l);case 28300:return new SuperMap.Plot.AlgoSymbol28300(l);case 28301:return new SuperMap.Plot.AlgoSymbol28301(l);case 28400:return new SuperMap.Plot.AlgoSymbol28400(l);case 28900:return new SuperMap.Plot.AlgoSymbol28900(l);case 29e3:return new SuperMap.Plot.AlgoSymbol29000(l);case 29001:return new SuperMap.Plot.AlgoSymbol29001(l);case 29002:return new SuperMap.Plot.AlgoSymbol29002(l);case 29003:return new SuperMap.Plot.AlgoSymbol29003(l);case 29100:return new SuperMap.Plot.AlgoSymbol29100(l);case 29101:return new SuperMap.Plot.AlgoSymbol29101(l);case 29103:return new SuperMap.Plot.AlgoSymbol29103(l);case 29401:return new SuperMap.Plot.AlgoSymbol29401(l);case 29800:return new SuperMap.Plot.AlgoSymbol29800(l);case 29903:return new SuperMap.Plot.AlgoSymbol29903(l);case 3e4:return new SuperMap.Plot.AlgoSymbol30000(l);case 30001:return new SuperMap.Plot.AlgoSymbol30001(l);case 30002:return new SuperMap.Plot.AlgoSymbol30002(l);case 30100:case 4020400:return new SuperMap.Plot.AlgoSymbol30100(l);case 30200:return new SuperMap.Plot.AlgoSymbol30200(l);case 30201:return new SuperMap.Plot.AlgoSymbol30201(l);case 30800:return new SuperMap.Plot.AlgoSymbol30800(l);case 30102:return new SuperMap.Plot.AlgoSymbol30102(l);case 31300:return new SuperMap.Plot.AlgoSymbol31300(l);case 31301:return new SuperMap.Plot.AlgoSymbol31301(l);case 31302:return new SuperMap.Plot.AlgoSymbol31302(l);case 31303:return new SuperMap.Plot.AlgoSymbol31303(l);case 31304:return new SuperMap.Plot.AlgoSymbol31304(l);case 31400:return new SuperMap.Plot.AlgoSymbol31400(l);case 31401:return new SuperMap.Plot.AlgoSymbol31401(l);case 31600:return new SuperMap.Plot.AlgoSymbol31600(l);case 31601:return new SuperMap.Plot.AlgoSymbol31601(l);case 31803:return new SuperMap.Plot.AlgoSymbol31803(l);case 32300:return new SuperMap.Plot.AlgoSymbol32300(l);case 32900:return new SuperMap.Plot.AlgoSymbol32900(l);case 33400:return new SuperMap.Plot.AlgoSymbol33400(l);case 34300:return new SuperMap.Plot.AlgoSymbol34300(l);case 34400:return new SuperMap.Plot.AlgoSymbol34400(l);case 34500:return new SuperMap.Plot.AlgoSymbol34500(l);case 34501:return new SuperMap.Plot.AlgoSymbol34501(l);case 34700:return new SuperMap.Plot.AlgoSymbol34700(l);case 34800:return new SuperMap.Plot.AlgoSymbol34800(l);case 34801:return new SuperMap.Plot.AlgoSymbol34801(l);case 34900:return new SuperMap.Plot.AlgoSymbol34900(l);case 34901:return new SuperMap.Plot.AlgoSymbol34901(l);case 34902:return new SuperMap.Plot.AlgoSymbol34902(l);case 35e3:return new SuperMap.Plot.AlgoSymbol35000(l);case 35200:return new SuperMap.Plot.AlgoSymbol35200(l);case 35304:return new SuperMap.Plot.AlgoSymbol35304(l);case 35500:return new SuperMap.Plot.AlgoSymbol35500(l);case 36400:return new SuperMap.Plot.AlgoSymbol36400(l);case 36401:return new SuperMap.Plot.AlgoSymbol36401(l);case 36600:return new SuperMap.Plot.AlgoSymbol36600(l);case 36700:return new SuperMap.Plot.AlgoSymbol36700(l);case 36800:return new SuperMap.Plot.AlgoSymbol36800(l);case 37100:return new SuperMap.Plot.AlgoSymbol37100(l);case 37200:return new SuperMap.Plot.AlgoSymbol37200(l);case 37300:return new SuperMap.Plot.AlgoSymbol37300(l);case 37301:return new SuperMap.Plot.AlgoSymbol37301(l);case 37600:return new SuperMap.Plot.AlgoSymbol37600(l);case 37601:return new SuperMap.Plot.AlgoSymbol37601(l);case 37700:return new SuperMap.Plot.AlgoSymbol37700(l);case 38600:return new SuperMap.Plot.AlgoSymbol38600(l);case 38700:return new SuperMap.Plot.AlgoSymbol38700(l);case 39e3:return new SuperMap.Plot.AlgoSymbol39000(l);case 39101:return new SuperMap.Plot.AlgoSymbol39101(l);case 39500:return new SuperMap.Plot.AlgoSymbol39500(l);case 39600:return new SuperMap.Plot.AlgoSymbol39600(l);case 39800:return new SuperMap.Plot.AlgoSymbol39800(l);case 39801:return new SuperMap.Plot.AlgoSymbol39801(l);case 39802:return new SuperMap.Plot.AlgoSymbol39802(l);case 4e4:return new SuperMap.Plot.AlgoSymbol40000(l);case 40100:return new SuperMap.Plot.AlgoSymbol40100(l);case 40101:return new SuperMap.Plot.AlgoSymbol40101(l);case 40900:return new SuperMap.Plot.AlgoSymbol40900(l);case 41100:return new SuperMap.Plot.AlgoSymbol41100(l);case 41200:return new SuperMap.Plot.AlgoSymbol41200(l);case 41201:return new SuperMap.Plot.AlgoSymbol41201(l);case 41202:return new SuperMap.Plot.AlgoSymbol41202(l);case 42200:return new SuperMap.Plot.AlgoSymbol42200(l);case 42400:return new SuperMap.Plot.AlgoSymbol42400(l);case 42500:return new SuperMap.Plot.AlgoSymbol42500(l);case 42700:return new SuperMap.Plot.AlgoSymbol42700(l);case 43500:return new SuperMap.Plot.AlgoSymbol43500(l);case 44100:return new SuperMap.Plot.AlgoSymbol44100(l);case 44200:return new SuperMap.Plot.AlgoSymbol44200(l);case 44300:return new SuperMap.Plot.AlgoSymbol44300(l);case 44400:return new SuperMap.Plot.AlgoSymbol44400(l);case 2890001:return new SuperMap.Plot.AlgoSymbol2890001(l);case 3010301:return new SuperMap.Plot.AlgoSymbol3010301(l);case 3010302:return new SuperMap.Plot.AlgoSymbol3010302(l);case 3010303:return new SuperMap.Plot.AlgoSymbol3010303(l);case 3010304:return new SuperMap.Plot.AlgoSymbol3010304(l);case 3010102:return new SuperMap.Plot.AlgoSymbol3010102(l);case 3010103:return new SuperMap.Plot.AlgoSymbol3010103(l);case 3010104:return new SuperMap.Plot.AlgoSymbol3010104(l);case 3010105:return new SuperMap.Plot.AlgoSymbol3010105(l);case 3010106:return new SuperMap.Plot.AlgoSymbol3010106(l);case 3010107:return new SuperMap.Plot.AlgoSymbol3010107(l);case 3010108:return new SuperMap.Plot.AlgoSymbol3010108(l);case 3020901:return new SuperMap.Plot.AlgoSymbol3020901(l);case 3032e3:return new SuperMap.Plot.AlgoSymbol3032000(l);case 4010800:return new SuperMap.Plot.AlgoSymbol4010800(l);case 4010801:return new SuperMap.Plot.AlgoSymbol4010801(l);case 4010905:return new SuperMap.Plot.AlgoSymbol4010905(l);case 4011100:return new SuperMap.Plot.AlgoSymbol4011100(l);case 4011101:return new SuperMap.Plot.AlgoSymbol4011101(l);case 4020303:return new SuperMap.Plot.AlgoSymbol4020303(l);case 4020401:return new SuperMap.Plot.AlgoSymbol4020401(l);case 4020402:return new SuperMap.Plot.AlgoSymbol4020402(l);case 4021101:return new SuperMap.Plot.AlgoSymbol4021101(l);case 4021102:return new SuperMap.Plot.AlgoSymbol4021102(l);case 4022100:return new SuperMap.Plot.AlgoSymbol4022100(l);case 4022101:return new SuperMap.Plot.AlgoSymbol4022101(l);case 4022102:return new SuperMap.Plot.AlgoSymbol4022102(l);case 6020400:return new SuperMap.Plot.AlgoSymbol6020400(l);case 6020401:return new SuperMap.Plot.AlgoSymbol6020401(l);case 6020402:return new SuperMap.Plot.AlgoSymbol6020402(l);case 6020403:return new SuperMap.Plot.AlgoSymbol6020403(l);case 6020404:return new SuperMap.Plot.AlgoSymbol6020404(l);default:return new SuperMap.Plot.AlgoSymbol(l)}},SuperMap.Plot.JBAlgoSymbolFactory.isAccessServer=function(t,e){if(100!==t)return!0;switch(e){case 12500:case 12501:case 12502:case 13700:case 15200:case 15201:case 15202:case 15800:case 15801:case 15802:case 15803:case 15804:case 15805:case 15806:case 15900:case 16e3:case 16001:case 16100:case 16200:case 16201:case 16202:case 16203:case 16500:case 16700:case 16900:case 17400:case 17401:case 17500:case 17501:case 17600:case 17700:case 17703:case 17704:case 17800:case 17801:case 17802:case 17803:case 17804:case 17805:case 17806:case 20300:case 20301:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 21800:case 21900:case 22e3:case 22103:case 22200:case 23400:case 23500:case 23600:case 23700:case 23800:case 23901:case 23902:case 24700:case 25e3:case 25100:case 25101:case 25200:case 25201:case 25202:case 25300:case 25301:case 25400:case 25500:case 25501:case 25502:case 25503:case 25600:case 25601:case 25700:case 25701:case 25800:case 25801:case 25900:case 25901:case 26400:case 26500:case 26501:case 26502:case 26503:case 26600:case 26601:case 26700:case 26800:case 27100:case 27300:case 27700:case 27701:case 27900:case 27901:case 27902:case 28e3:case 28100:case 28200:case 28201:case 28300:case 28301:case 28400:case 28900:case 29e3:case 29001:case 29002:case 29003:case 29100:case 29101:case 29103:case 29401:case 29800:case 29903:case 3e4:case 30001:case 30002:case 30100:case 30200:case 30201:case 30800:case 30102:case 31300:case 31301:case 31302:case 31303:case 31304:case 31400:case 31401:case 31600:case 31601:case 31803:case 32300:case 32900:case 33400:case 34300:case 34400:case 34500:case 34501:case 34700:case 34800:case 34801:case 34900:case 34901:case 34902:case 35e3:case 35200:case 35304:case 35500:case 36400:case 36401:case 36600:case 36700:case 36800:case 37100:case 37200:case 37300:case 37301:case 37600:case 37601:case 37700:case 38600:case 38700:case 39e3:case 39101:case 39500:case 39600:case 39800:case 39801:case 39802:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 4e4:case 40100:case 40101:case 40900:case 41100:case 41200:case 41201:case 41202:case 42200:case 42400:case 42500:case 42700:case 43500:case 44100:case 44200:case 44300:case 44400:case 2350001:case 2890001:case 3010301:case 3010302:case 3010303:case 3010304:case 3020901:case 3032e3:case 4010800:case 4010801:case 4010905:case 4011100:case 4011101:case 4020303:case 4020400:case 4020401:case 4020402:case 4022100:case 4022101:case 4022102:case 6020400:case 6020401:case 6020402:case 6020403:case 6020404:case 4021101:case 4021102:return!1;default:return!0}},SuperMap.Plot.JBAlgoSymbolFactory.getSymbolWayType=function(t,e){if(100!==t)return SuperMap.Plot.AddPoint_WayType.UNKNOWN;switch(e){case 15200:case 15201:case 16203:case 17703:case 17704:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 21900:case 22e3:case 22103:case 23800:case 24700:case 25201:case 25400:case 26500:case 26501:case 26502:case 26600:case 28900:case 29e3:case 29003:case 29903:case 3e4:case 30001:case 30002:case 30100:case 30102:case 30200:case 30201:case 30800:case 31803:case 33400:case 34900:case 34901:case 34902:case 35e3:case 36400:case 42200:case 44200:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 3010301:case 3010302:case 3010303:case 3010304:case 16500:case 17400:case 17401:case 17500:case 17501:case 23400:case 23500:case 23600:case 23700:case 27300:case 28200:case 28300:case 28400:case 37600:case 37601:case 37700:case 39e3:case 40100:case 40101:case 42400:case 2350001:case 3032e3:case 4010800:case 4010801:case 4011100:case 4011101:case 4022100:case 4022101:case 4022102:case 39101:case 44300:case 22200:case 27701:return SuperMap.Plot.AddPoint_WayType.CURVE;case 12500:case 12502:case 16100:case 20300:case 25501:case 25502:case 26503:case 25503:case 25601:case 25801:case 25901:case 32900:case 34700:case 35200:case 36401:case 41200:case 41201:case 41202:case 42700:case 44400:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}},SuperMap.Plot.JBAlgoSymbolFactory.getDefaultSubSymbols=function(t,e){var l=[];if(100!==t)return l;switch(e){case 17400:case 17401:return l.push(new SuperMap.Plot.SubSymbol(100,17300)),l.push(new SuperMap.Plot.SubSymbol(100,17301)),l;case 21501:case 26502:return l.push(new SuperMap.Plot.SubSymbol(100,19700)),l;case 21502:return l.push(new SuperMap.Plot.SubSymbol(100,6803)),l;case 22103:case 26501:return l.push(new SuperMap.Plot.SubSymbol(100,22100)),l;case 21503:return l.push(new SuperMap.Plot.SubSymbol(100,7900)),l;case 21504:return l.push(new SuperMap.Plot.SubSymbol(100,8404)),l;case 22e3:return l.push(new SuperMap.Plot.SubSymbol(100,1e3)),l;case 23500:return l.push(new SuperMap.Plot.SubSymbol(100,1300)),l;case 23600:return l.push(new SuperMap.Plot.SubSymbol(100,800)),l.push(new SuperMap.Plot.SubSymbol(100,800)),l;case 25300:return l.push(new SuperMap.Plot.SubSymbol(100,6302)),l.push(new SuperMap.Plot.SubSymbol(100,7900)),l;case 25301:return l.push(new SuperMap.Plot.SubSymbol(100,300)),l.push(new SuperMap.Plot.SubSymbol(100,6200)),l;case 25503:return l.push(new SuperMap.Plot.SubSymbol(100,8402)),l;case 26700:return l.push(new SuperMap.Plot.SubSymbol(100,4500)),l;case 27100:return l.push(new SuperMap.Plot.SubSymbol(100,7700)),l;case 27300:return l.push(new SuperMap.Plot.SubSymbol(100,1500)),l;case 3032e3:return l.push(new SuperMap.Plot.SubSymbol(100,1500)),l.push(new SuperMap.Plot.SubSymbol(100,1500)),l;case 28300:return l.push(new SuperMap.Plot.SubSymbol(100,18600)),l;case 28301:return l.push(new SuperMap.Plot.SubSymbol(100,18600)),l.push(new SuperMap.Plot.SubSymbol(100,18600)),l;case 28400:return l.push(new SuperMap.Plot.SubSymbol(100,4801)),l;case 29001:return l.push(new SuperMap.Plot.SubSymbol(100,5200)),l.push(new SuperMap.Plot.SubSymbol(100,5200)),l;case 29002:return l.push(new SuperMap.Plot.SubSymbol(100,600)),l.push(new SuperMap.Plot.SubSymbol(100,5300)),l;case 23901:case 23902:return l.push(new SuperMap.Plot.SubSymbol(100,4800)),l;case 31600:case 31601:return l.push(new SuperMap.Plot.SubSymbol(100,700)),l;case 29903:case 4021101:return l.push(new SuperMap.Plot.SubSymbol(100,600)),l;case 32900:return l.push(new SuperMap.Plot.SubSymbol(100,6700)),l;case 35200:return l.push(new SuperMap.Plot.SubSymbol(100,6803)),l;case 37700:return l.push(new SuperMap.Plot.SubSymbol(100,37800)),l;case 3010107:return l.push(new SuperMap.Plot.SubSymbol(100,800)),l;case 3010108:return l.push(new SuperMap.Plot.SubSymbol(100,4600)),l;case 4010800:return l.push(new SuperMap.Plot.SubSymbol(100,1300)),l;case 4010801:case 4022100:case 4022101:case 4022102:case 4021102:return l.push(new SuperMap.Plot.SubSymbol(100,8400)),l;case 31303:case 31302:return l.push(new SuperMap.Plot.SubSymbol(100,4400)),l;case 4010905:return l.push(new SuperMap.Plot.SubSymbol(100,700)),l;case 31803:return l.push(new SuperMap.Plot.SubSymbol(100,8402)),l;case 34400:return l.push(new SuperMap.Plot.SubSymbol(100,6202)),l;case 34501:return l.push(new SuperMap.Plot.SubSymbol(100,8403)),l;case 35304:return l.push(new SuperMap.Plot.SubSymbol(100,35301)),l;case 36401:return l.push(new SuperMap.Plot.SubSymbol(100,7200)),l;case 36600:return l.push(new SuperMap.Plot.SubSymbol(100,300)),l;case 37100:return l.push(new SuperMap.Plot.SubSymbol(100,8e3)),l;case 37200:return l.push(new SuperMap.Plot.SubSymbol(100,7101)),l;case 37600:case 37601:case 38600:case 38700:return l.push(new SuperMap.Plot.SubSymbol(100,4600)),l;case 39e3:return l.push(new SuperMap.Plot.SubSymbol(100,9300)),l.push(new SuperMap.Plot.SubSymbol(100,9300)),l.push(new SuperMap.Plot.SubSymbol(100,9300)),l;case 39101:return l.push(new SuperMap.Plot.SubSymbol(100,39100)),l;case 39500:case 39600:return l.push(new SuperMap.Plot.SubSymbol(100,8700)),l;case 39800:case 39801:case 39802:case 4e4:return l.push(new SuperMap.Plot.SubSymbol(100,8900)),l;case 36700:return l.push(new SuperMap.Plot.SubSymbol(100,300)),l;case 42200:return l.push(new SuperMap.Plot.SubSymbol(100,20901)),l;case 4011100:return l.push(new SuperMap.Plot.SubSymbol(100,4e3)),l.push(new SuperMap.Plot.SubSymbol(100,4001)),l;case 4011101:return l.push(new SuperMap.Plot.SubSymbol(100,700)),l.push(new SuperMap.Plot.SubSymbol(100,700)),l;case 2350001:return l.push(new SuperMap.Plot.SubSymbol(100,7900)),l.push(new SuperMap.Plot.SubSymbol(100,1300)),l;case 2890001:return l.push(new SuperMap.Plot.SubSymbol(100,4003)),l;default:return l}},SuperMap.Plot.JBAlgoSymbolFactory.getMinEditPts=function(t,e){if(100!==t)return 0;switch(e){case 12500:case 12501:case 12502:case 13700:case 15200:case 15201:case 15202:case 15800:case 15801:case 15802:case 15803:case 15804:case 15805:case 15806:case 15900:case 16e3:case 16001:case 16200:case 16201:case 16202:case 16203:case 16500:case 16700:case 16900:case 17400:case 17401:case 17500:case 17501:case 17600:case 17700:case 17703:case 17704:case 17800:case 17801:case 17802:case 17803:case 17804:case 17805:case 17806:case 20300:case 20301:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 21800:case 21900:case 22e3:case 22103:case 22200:case 23400:case 23500:case 23600:case 23700:case 23800:case 23901:case 23902:case 24700:case 25e3:case 25100:case 25101:case 25201:case 25202:case 25300:case 25301:case 25400:case 26400:case 26500:case 26501:case 26502:case 26503:case 26600:case 26601:case 26700:case 26800:case 27100:case 27300:case 27700:case 27701:case 27900:case 27901:case 27902:case 28e3:case 28100:case 28200:case 28201:case 28300:case 28301:case 28400:case 28900:case 29e3:case 29001:case 29002:case 29003:case 29100:case 29101:case 29103:case 29401:case 29903:case 41100:case 44100:case 43500:case 42500:case 39500:case 37301:case 37300:case 37200:case 37100:case 36800:case 36600:case 35500:case 34801:case 34800:case 34501:case 34500:case 34400:case 34300:case 31600:case 31601:case 31401:case 31400:case 31304:case 31303:case 31302:case 31301:case 31300:case 44200:case 41200:case 41201:case 41202:case 31803:case 30800:case 30201:case 30200:case 44300:case 42400:case 42200:case 40900:case 40100:case 40101:case 4e4:case 39802:case 39801:case 39800:case 39600:case 39101:case 39e3:case 38600:case 37700:case 37601:case 37600:case 36700:case 36401:case 36400:case 35304:case 35200:case 35e3:case 34700:case 33400:case 30100:case 30102:case 30002:case 30001:case 3e4:case 38700:case 32300:case 42700:case 34902:case 34901:case 34900:case 32900:case 2350001:case 2890001:case 3032e3:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 3010301:case 3010302:case 3010303:case 3010304:case 3020901:case 4021101:case 4021102:case 4010800:case 4010801:case 4011100:case 4011101:case 4022101:case 4022102:case 4020303:case 4020400:case 4020401:case 4020402:case 4022100:case 4010905:case 6020400:case 6020401:case 6020402:case 6020403:case 6020404:return 2;case 16100:case 25200:case 25500:case 25501:case 25502:case 25503:case 25600:case 25601:case 25700:case 25701:case 25800:case 25801:case 25900:case 25901:case 29800:case 44400:return 3;default:return 0}},SuperMap.Plot.JBAlgoSymbolFactory.getMaxEditPts=function(t,e){if(100!==t)return 0;switch(e){case 15202:case 16202:case 20301:case 16700:case 16900:case 17600:case 25e3:case 25100:case 25101:case 25300:case 25301:case 27100:case 27700:case 27900:case 27901:case 27902:case 28100:case 28201:case 28301:case 44100:case 43500:case 42500:case 39500:case 37301:case 37300:case 37200:case 37100:case 36800:case 36600:case 35500:case 34801:case 34800:case 34501:case 34500:case 34400:case 34300:case 31600:case 31601:case 31401:case 31400:case 31304:case 31303:case 31302:case 31301:case 31300:case 21800:case 26700:case 29401:return 2;case 13700:case 17800:case 17801:case 17802:case 17803:case 17804:case 17805:case 17806:case 23901:case 23902:case 38700:case 26800:case 29001:case 29002:case 32300:case 29101:case 29100:case 4010905:case 6020400:case 6020401:case 6020402:case 6020403:case 29e3:return 3;case 28e3:return 4;case 16201:case 17400:case 17401:case 17500:case 17501:case 22200:case 23400:case 23500:case 2350001:case 23600:case 23700:case 23800:case 25200:case 27300:case 27701:case 28400:case 44300:case 42400:case 42200:case 40900:case 40100:case 40101:case 4e4:case 39802:case 39801:case 39800:case 39600:case 39101:case 39e3:case 38600:case 37700:case 37601:case 37600:case 36700:case 36401:case 36400:case 35304:case 35200:case 35e3:case 34700:case 33400:case 30100:case 30102:case 30002:case 30001:case 3e4:case 29903:case 29800:case 3032e3:case 4010800:case 4010801:case 4011100:case 4011101:case 4022101:case 4022102:case 4020303:case 4020400:case 4020401:case 4020402:case 4022100:case 16500:return 30;case 42700:case 34902:case 34901:case 34900:case 32900:case 6020404:return 512;case 12500:case 12501:case 12502:case 16e3:case 16001:case 16100:case 16200:case 16203:case 17700:case 17703:case 17704:case 21900:case 22e3:case 22103:case 25201:case 25202:case 24700:case 25400:case 25500:case 25501:case 25502:case 25503:case 25600:case 25601:case 25700:case 25701:case 25800:case 25801:case 25900:case 25901:case 28900:case 2890001:case 44400:case 44200:case 41200:case 41201:case 41202:case 31803:case 30800:case 30201:case 30200:case 4021102:case 29103:case 28300:case 28200:case 29003:return 1e3;case 15200:case 15201:case 15800:case 15801:case 15802:case 15803:case 15804:case 15805:case 15806:case 15900:case 20300:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 26400:case 26500:case 26501:case 26502:case 26503:case 26600:case 26601:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 3010301:case 3010302:case 3010303:case 3010304:case 3020901:case 4021101:case 41100:return 9999;default:return 0}},SuperMap.Plot.JBAlgoSymbolFactory.getDefaultStyle=function(t,e){var l={};if(100===t)switch(e){case 34800:case 34801:case 22200:case 28e3:case 28100:case 28200:case 28201:case 44400:l.color=l.strokeColor="#0000ff";break;case 42500:case 42700:l.color=l.strokeColor="#00ff00";break;case 42400:l.color=l.strokeColor="#006600"}return l},SuperMap.Plot.JBAlgoSymbolFactory.canSetSubSymbol=function(t,e){return SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(t,e).length>0||100===this.libID&&(25200===e||3020901===e||23400===e||30800===e||26400===e)},SuperMap.Plot.JBAlgoSymbolFactory.zoomInCalSymbol=function(){return!1}},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JBAlgoSymbolFactory=void 0;var o=l(224);e.JBAlgoSymbolFactory=o.JBAlgoSymbolFactory}]);
-
-/***/ }),
-/* 2 */
-/***/ (function(module, exports) {
-
-/*!
- * 
- *          iclient-plot-algorithms-wj.(http://iclient.supermap.io)
- *          Copyright© 2000 - 2018 SuperMap Software Co.Ltd
- *          license: undefined
- *          version: v9.1.1
- *         
- */!function(t){var e={};function l(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,l),i.l=!0,i.exports}l.m=t,l.c=e,l.d=function(t,e,o){l.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},l.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},l.t=function(t,e){if(1&e&&(t=l(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(l.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)l.d(o,i,function(e){return t[e]}.bind(null,i));return o},l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,"a",e),e},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.p="",l(l.s=190)}([function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6030601=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0]*e,o=t[0].clone(),i=t[1].clone(),n=SuperMap.Plot.PlottingUtil.linePnt(i,o,e+.2*e),r=SuperMap.Plot.PlottingUtil.linePnt(o,i,e+.2*e),a=1.5*l,s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i,n),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,o,r),u=SuperMap.Plot.PlottingUtil.paraLine(t,l,!0),c=SuperMap.Plot.PlottingUtil.paraLine(t,l,!1),P=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],3*e/11),S=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],4*e/11),h=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],7*e/11),y=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],8*e/11),f=[];f.push(s.pntRight),f.push(u[0]),f.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=[];g.push(S),g.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);var b=[];b.push(y),b.push(u[u.length-1]),b.push(p.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var M=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],3*e/11),m=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],4*e/11),d=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],7*e/11),v=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],8*e/11),O=[];O.push(s.pntLeft),O.push(c[0]),O.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O);var U=[];U.push(m),U.push(d),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U);var w=[];w.push(v),w.push(c[c.length-1]),w.push(p.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w);var L=new SuperMap.Geometry.Point((s.pntLeft.x+s.pntRight.x)/2,(s.pntLeft.y+s.pntRight.y)/2),_=new SuperMap.Geometry.Point((P.x+M.x)/2,(P.y+M.y)/2),V=[];V.push(L),V.push(_),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V);var A=SuperMap.Plot.PlottingUtil.radian(L,_)*SuperMap.Plot.PlottingUtil.RTOD,T=SuperMap.Plot.PlottingUtil.distance(L,_),E=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,L,_),x=SuperMap.Plot.PlottingUtil.circlePoint(E,.025*T,.025*T,A+90),j=SuperMap.Plot.PlottingUtil.circlePoint(E,.025*T,.025*T,A-90),Y=[];Y.push(x),Y.push(j),Y.push(_);var C={fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,Y,C);var I=new SuperMap.Geometry.Point((p.pntLeft.x+p.pntRight.x)/2,(p.pntLeft.y+p.pntRight.y)/2),B=new SuperMap.Geometry.Point((y.x+v.x)/2,(y.y+v.y)/2),R=[];R.push(I),R.push(B),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,R);var G=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,I,B),N=SuperMap.Plot.PlottingUtil.circlePoint(G,.025*T,.025*T,A+90),D=SuperMap.Plot.PlottingUtil.circlePoint(G,.025*T,.025*T,A-90),k=[];k.push(N),k.push(D),k.push(B),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,k,C),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol6030601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6031001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=this.subSymbols[0].symbolData.symbolSize.x;var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(a.pts,r.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=60*SuperMap.Plot.PlottingUtil.distance(r.pts,a.pts)/l,u=new SuperMap.Geometry.Point(2*a.pts.x-r.pts.x,2*a.pts.y-r.pts.y),c=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,s),P=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,s-180);if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&(this.computeSubSymbol(this.subSymbols[0],a.pts,p,s-90),this.computeSubSymbol(this.subSymbols[1],c,p,s-90),this.computeSubSymbol(this.subSymbols[2],P,p,s-90)),r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(-1===n.index&&3===t&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol6031001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6030501=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=.05*SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.paraLine(t,e,!0),o=SuperMap.Plot.PlottingUtil.paraLine(t,e,!1),i=l[0],n=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,l[0],l[1]),r=[];r.push(i),r.push(n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var a=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2+.2/3,l[0],l[1]),s=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3,l[0],l[1]),p=[];p.push(a),p.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);var u=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3*2,l[0],l[1]),c=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(3*.2+.2/3*2,l[0],l[1]),P=[];P.push(u),P.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,l[0],l[1]),h=l[1],y=[];y.push(S),y.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var f=o[0],g=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,o[0],o[1]),b=[];b.push(f),b.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var M=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2+.2/3,o[0],o[1]),m=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3,o[0],o[1]),d=[];d.push(M),d.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3*2,o[0],o[1]),O=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(3*.2+.2/3*2,o[0],o[1]),U=[];U.push(v),U.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U);var w=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,o[0],o[1]),L=o[1],_=[];_.push(w),_.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_);var V=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,t[0],t[1]),A=t[0].clone(),T=[];T.push(V),T.push(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T);var E=SuperMap.Plot.PlottingUtil.radian(V,A)*SuperMap.Plot.PlottingUtil.RTOD,x=SuperMap.Plot.PlottingUtil.distance(V,A),j=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,V,A),Y=SuperMap.Plot.PlottingUtil.circlePoint(j,.025*x,.025*x,E+90),C=SuperMap.Plot.PlottingUtil.circlePoint(j,.025*x,.025*x,E-90),I=[];I.push(Y),I.push(C),I.push(V);var B={fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,I,B);var R=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,t[1],t[0]),G=t[1].clone(),N=[];N.push(R),N.push(G),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,N);var D=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,R,G),k=SuperMap.Plot.PlottingUtil.circlePoint(D,.025*x,.025*x,E+90),z=SuperMap.Plot.PlottingUtil.circlePoint(D,.025*x,.025*x,E-90),F=[];F.push(k),F.push(z),F.push(R),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,F,B),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol6030501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030107=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="练",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030107=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030106=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="沙",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030106=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030105=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="石",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030105=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030104=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="催",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030104=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030103=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="砌",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030103=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030102=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="浇",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030102=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="挖",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030101=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5020802=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,s,0),this.addScalePoint(p);var u=s,c=SuperMap.Plot.PlottingUtil.circlePoint(p,u,u,90);this.addScalePoint(c),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=0,a=0;if(0===t)r=(e.x-i.x)/n,this.scaleValues[2]=r,a=(e.y-i.y)/n,this.scaleValues[3]=a;else if(1===t){r=this.scaleValues[2],a=this.scaleValues[3];var s=new SuperMap.Geometry.Point(i.x+n*r,i.y+n*a),p=SuperMap.Plot.PlottingUtil.distance(s,e);this.scaleValues[0]=p/n}}}}]),e}();SuperMap.Plot.AlgoSymbol5020802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5035205=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue()/3);var o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x-4*n,r.y),s=new SuperMap.Geometry.Point(r.x-4*n,r.y-n/2),p=[];p.push(a),p.push(s);var u={lineTypeLimit:!0,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,u);var c=new SuperMap.Geometry.Point(r.x-4*n,r.y),P=new SuperMap.Geometry.Point(r.x-n,r.y),S=[];S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,u),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,2*n,0);var h=new SuperMap.Geometry.Point(r.x+4*n,r.y),y=new SuperMap.Geometry.Point(r.x+n,r.y),f=[];f.push(h),f.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f,u);var g=new SuperMap.Geometry.Point(r.x+4*n,r.y+n/2),b=new SuperMap.Geometry.Point(r.x+4*n,r.y),M=[];M.push(g),M.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M,u),this.addScalePoint(r,0);var m=SuperMap.Plot.PlottingUtil.circlePoint(r,2*n,2*n,90);this.addScalePoint(m,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=0,r=0;if(0===t&&(n=(e.x-i.x)/o,this.scaleValues[0]=n,r=(e.y-i.y)/o,this.scaleValues[1]=r),1===t){n=this.scaleValues[0],r=this.scaleValues[1];var a=new SuperMap.Geometry.Point(i.x+o*n,i.y+o*r),s=SuperMap.Plot.PlottingUtil.distance(a,e);this.scaleValues[2]=s/2/o}}}}]),e}();SuperMap.Plot.AlgoSymbol5035205=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5035203=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);t.splice(0,2),t.unshift(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=l*this.scaleValues[4],i=l*this.scaleValues[5],n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(o,t),r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.radian(r.pts,n.pts)*SuperMap.Plot.PlottingUtil.RTOD,s=SuperMap.Plot.PlottingUtil.distance(n.pts,r.pts),p=r.pts.clone(),u=new SuperMap.Geometry.Point(0,.1*s),c=new SuperMap.Geometry.Point(.4*s,.1*s),P=new SuperMap.Geometry.Point(.4*s,-.1*s),S=new SuperMap.Geometry.Point(0,-.1*s),h=SuperMap.Plot.PlottingUtil.coordinateTrans(p,u,a),y=SuperMap.Plot.PlottingUtil.coordinateTrans(p,c,a),f=SuperMap.Plot.PlottingUtil.coordinateTrans(p,P,a),g=SuperMap.Plot.PlottingUtil.coordinateTrans(p,S,a),b=[];b.push(h),b.push(y),b.push(f),b.push(g),b.push(h);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,{fillLimit:!0,lineTypeLimit:!0,surroundLineLimit:!0});var M=new SuperMap.Geometry.Point(.05*s,0),m=new SuperMap.Geometry.Point(.15*s,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(p,M,a),v=SuperMap.Plot.PlottingUtil.coordinateTrans(p,m,a),O=[];O.push(d),O.push(v);var U={lineTypeLimit:!0,surroundLineLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,U);var w=new SuperMap.Geometry.Point(.1*s,.05*s),L=new SuperMap.Geometry.Point(.1*s,-.05*s),_=SuperMap.Plot.PlottingUtil.coordinateTrans(p,w,a),V=SuperMap.Plot.PlottingUtil.coordinateTrans(p,L,a),A=[];A.push(_),A.push(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,U);var T=new SuperMap.Geometry.Point(.25*s,.05*s),E=new SuperMap.Geometry.Point(.35*s,.05*s),x=SuperMap.Plot.PlottingUtil.coordinateTrans(p,T,a),j=SuperMap.Plot.PlottingUtil.coordinateTrans(p,E,a),Y=[];Y.push(x),Y.push(j),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Y,U);var C=new SuperMap.Geometry.Point(.3*s,.05*s),I=new SuperMap.Geometry.Point(.3*s,-.05*s),B=SuperMap.Plot.PlottingUtil.coordinateTrans(p,C,a),R=SuperMap.Plot.PlottingUtil.coordinateTrans(p,I,a),G=[];G.push(B),G.push(R),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,G,U);var N=new SuperMap.Geometry.Point(.25*s,-.05*s),D=new SuperMap.Geometry.Point(.35*s,-.05*s),k=SuperMap.Plot.PlottingUtil.coordinateTrans(p,N,a),z=SuperMap.Plot.PlottingUtil.coordinateTrans(p,D,a),F=[];F.push(k),F.push(z),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,F,U);var K=new SuperMap.Geometry.Point(.4*s,0),W=new SuperMap.Geometry.Point(.8*s,0),J=SuperMap.Plot.PlottingUtil.coordinateTrans(p,K,a),q=SuperMap.Plot.PlottingUtil.coordinateTrans(p,W,a),Z=[];Z.push(J),Z.push(q),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Z,U);var X=new SuperMap.Geometry.Point(.7*s,.025*s),H=new SuperMap.Geometry.Point(.7*s,-.025*s),Q=SuperMap.Plot.PlottingUtil.coordinateTrans(p,X,a),$=SuperMap.Plot.PlottingUtil.coordinateTrans(p,H,a),tt=[];tt.push(q),tt.push(Q),tt.push($);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,tt,{fillLimit:!0,lineTypeLimit:!0,surroundLineLimit:!0,fill:!0}),n.pts.isScalePoint=!0,n.pts.tag=this.scalePoints.length,this.scalePoints.push(n.pts.clone()),r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(-1===n.index&&3===t&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol5035203=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5035202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=this.subSymbols[0].symbolData.symbolSize.x;var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(a.pts,r.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=60*SuperMap.Plot.PlottingUtil.distance(r.pts,a.pts)/l;if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&this.computeSubSymbol(this.subSymbols[0],a.pts,p,s-90),r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(-1===n.index&&3===t&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol5035202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5035201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(1e3),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[1]=2*this.getSubSymbolScaleValue());var o=l*this.scaleValues[1],i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,o);if(-1!==i.index){var n=t[0].clone(),r=i.pt,a=SuperMap.Plot.PlottingUtil.radian(n,r)*SuperMap.Plot.PlottingUtil.RTOD,s=[];s.push(i.pt);for(var p=i.index+1;p<e.length;p++)s.push(e[p]);this.addArrow(s);var u=.3*o,c=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(2/3*.5,t[0],i.pt);if(this.subSymbols.length>0){this.computeSubSymbol(this.subSymbols[0],c,u,a);var P=SuperMap.Plot.PlottingUtil.circlePoint(t[0],2.1*u,2.1*u,a),S=SuperMap.Plot.PlottingUtil.circlePoint(t[0],3*u,3*u,a),h=[];h.push(P),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=SuperMap.Plot.PlottingUtil.circlePoint(S,.2*u,.2*u,a),f=SuperMap.Plot.PlottingUtil.circlePoint(S,.05*u,.05*u,a+90),g=SuperMap.Plot.PlottingUtil.circlePoint(S,.05*u,.05*u,a+270),b=[];b.push(y),b.push(f),b.push(g);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,{fillLimit:!0,fill:!0})}var M=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,a+90);this.addScalePoint(M,0),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=l[0].clone(),n=e.clone(),r=SuperMap.Plot.PlottingUtil.distance(n,i);if(0===t){var a=r/o;a<=.06&&(a=.06),a>=.15&&(a=.15),this.scaleValues[1]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol5035201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5034801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=t[0].clone(),o=t[1].clone();e=2==t.length?o:t[2].clone();var i=new SuperMap.Geometry.Point((l.x+o.x)/2,(l.y+o.y)/2),n=SuperMap.Plot.PlottingUtil.distance(i,e),r=.5*n,a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,i,e),s=a.pntLeft,p=a.pntRight,u=!(i.x>e.x),c=[];u?(c.push(l),c.push(s)):(c.push(l),c.push(p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var P=[];u?(P.push(o),P.push(p)):(P.push(o),P.push(s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S,h,y,f,g,b=.37*n,M=SuperMap.Plot.PlottingUtil.linePnt(i,e,b),m=.09*n,d=[];d.push(M),d.push(new SuperMap.Geometry.Point(M.x,M.y+m)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,d,{lineTypeLimit:!0}),u?(h=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(m,i,M)).pntLeft,y=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*m,i,M)).pntLeft,f=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(m,h,y)).pntRight,g=S.pntLeft):(h=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(m,i,M)).pntRight,y=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*m,i,M)).pntRight,f=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(m,h,y)).pntRight,g=S.pntLeft);var v=[];v.push(h),v.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,{lineTypeLimit:!0});var O=[];O.push(f),O.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,{lineTypeLimit:!0}),this.addText("催",M,m,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol5034801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5034203=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=.5*l,i=l*this.getSubSymbolScaleValue()*1.5,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(o,e);if(n.bfind){var r=n.pts.clone(),a=e[n.index].clone(),s=e[n.index+1].clone(),p=SuperMap.Plot.PlottingUtil.radian(a,s)*SuperMap.Plot.PlottingUtil.RTOD,u=SuperMap.Plot.PlottingUtil.circlePoint(r,i,i,p+90),c=[];c.push(n.pts),c.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{lineTypeLimit:!0});var P=SuperMap.Plot.PlottingUtil.radian(r,u)*SuperMap.Plot.PlottingUtil.RTOD,S=new SuperMap.Geometry.Point(-.2*i,.05*i),h=new SuperMap.Geometry.Point(-.2*i,-.05*i),y=SuperMap.Plot.PlottingUtil.coordinateTrans(u,S,P),f=SuperMap.Plot.PlottingUtil.coordinateTrans(u,h,P),g=[];g.push(u),g.push(y),g.push(f);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,g,{lineTypeLimit:!0,fillLimit:!0,fill:!0});var b=new SuperMap.Geometry.Point(0,-.6*i),M=SuperMap.Plot.PlottingUtil.coordinateTrans(r,b,p);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],M,i,p-90),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol5034203=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5034202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=o*this.scaleValues[2],a=o*this.scaleValues[3],s=new SuperMap.Geometry.Point(l.x+r,l.y+a),p=o*n,u=new SuperMap.Geometry.Point(s.x-.5*p,s.y);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],u,p,0);var c=new SuperMap.Geometry.Point(s.x+.5*p,s.y),P=SuperMap.Plot.PlottingUtil.circlePoint(c,.3*p,.3*p,-90),S=SuperMap.Plot.PlottingUtil.circlePoint(c,.5*p,.5*p,90),h=[];h.push(P),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*p,.2*p,-90),f=SuperMap.Plot.PlottingUtil.circlePoint(P,.05*p,.05*p,0),g=SuperMap.Plot.PlottingUtil.circlePoint(P,.05*p,.05*p,180),b=[];b.push(y),b.push(f),b.push(g);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,{fillLimit:!0,fill:!0});var M=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,180);this.addScalePoint(M,0),this.addScalePoint(s,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===n)return;var r=0,a=0,s=0,p=0;if(0===t){r=n*(s=this.scaleValues[2]),a=n*(p=this.scaleValues[3]);var u=new SuperMap.Geometry.Point(i.x+r,i.y+a),c=SuperMap.Plot.PlottingUtil.distance(e,u);this.scaleValues[0]=c/n}else 1===t&&(s=(r=e.x-i.x)/n,p=(a=e.y-i.y)/n,this.scaleValues[2]=s,this.scaleValues[3]=p)}}}]),e}();SuperMap.Plot.AlgoSymbol5034202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5034201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=o*this.scaleValues[2],a=o*this.scaleValues[3],s=new SuperMap.Geometry.Point(l.x+r,l.y+a),p=o*n,u=new SuperMap.Geometry.Point(s.x-.5*p,s.y);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],u,p,0);var c=new SuperMap.Geometry.Point(s.x+.5*p,s.y),P=SuperMap.Plot.PlottingUtil.circlePoint(c,.5*p,.5*p,-90),S=SuperMap.Plot.PlottingUtil.circlePoint(c,.3*p,.3*p,90),h=[];h.push(P),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=SuperMap.Plot.PlottingUtil.circlePoint(S,.2*p,.2*p,90),f=SuperMap.Plot.PlottingUtil.circlePoint(S,.05*p,.05*p,0),g=SuperMap.Plot.PlottingUtil.circlePoint(S,.05*p,.05*p,180),b=[];b.push(y),b.push(f),b.push(g);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,{fillLimit:!0,fill:!0});var M=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,180);this.addScalePoint(M,0),this.addScalePoint(s,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===n)return;var r=0,a=0,s=0,p=0;if(0===t){s=n*(r=this.scaleValues[2]),p=n*(a=this.scaleValues[3]);var u=new SuperMap.Geometry.Point(i.x+s,i.y+p),c=SuperMap.Plot.PlottingUtil.distance(e,u);this.scaleValues[0]=c/n}else 1===t&&(r=(s=e.x-i.x)/n,a=(p=e.y-i.y)/n,this.scaleValues[2]=r,this.scaleValues[3]=a)}}}]),e}();SuperMap.Plot.AlgoSymbol5034201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5033803=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0]*o,n=SuperMap.Plot.PlottingUtil.linePnt(e,l,.5*o),r=SuperMap.Plot.PlottingUtil.linePnt(n,e,i),a=SuperMap.Plot.PlottingUtil.linePnt(n,l,i),s=[];s.push(t[0]),s.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);var p=[];p.push(a),p.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);var u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],t[0]),c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[0],t[1]),P=[];P.push(u.pntRight),P.push(u.pntLeft);var S={lineTypeLimit:!0,surroundLineLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,S);var h=[];h.push(c.pntRight),h.push(c.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,S);var y=[];y.push(t[0]),y.push(r);var f=[];f.push(a),f.push(t[1]);var g=SuperMap.Plot.PlottingUtil.paraLine(y,i,!0),b=SuperMap.Plot.PlottingUtil.paraLine(y,i,!1),M=SuperMap.Plot.PlottingUtil.paraLine(f,i,!0),m=SuperMap.Plot.PlottingUtil.paraLine(f,i,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var d=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,2*i,d),this.addScalePoint(u.pntRight,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;i>.48&&(i=.48),this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol5033803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5033802=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0]*o,n=SuperMap.Plot.PlottingUtil.linePnt(e,l,.5*o),r=SuperMap.Plot.PlottingUtil.linePnt(n,e,i),a=SuperMap.Plot.PlottingUtil.linePnt(n,l,i),s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],t[0]),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[0],t[1]),u=[];u.push(s.pntRight),u.push(s.pntLeft);var c={lineTypeLimit:!0,surroundLineLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,c);var P=[];P.push(p.pntRight),P.push(p.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,c);var S=[];S.push(t[0]),S.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=[];h.push(a),h.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,2*i,y-90),this.addScalePoint(s.pntLeft,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;i>.48&&(i=.48),this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol5033802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5033001=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=.5*l,i=l*this.getSubSymbolScaleValue()/1.2,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(o,e);if(n.bfind){var r=n.pts.clone(),a=e[n.index].clone(),s=e[n.index+1].clone(),p=SuperMap.Plot.PlottingUtil.radian(a,s)*SuperMap.Plot.PlottingUtil.RTOD,u=SuperMap.Plot.PlottingUtil.circlePoint(r,i,i,p+90),c=SuperMap.Plot.PlottingUtil.circlePoint(r,i,i,p+270),P=[];P.push(n.pts),P.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{lineTypeLimit:!0});var S=SuperMap.Plot.PlottingUtil.radian(r,u)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,i,i,S+30),y=[];y.push(u),y.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var f=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,g=new SuperMap.Geometry.Point(-.2*i,.05*i),b=new SuperMap.Geometry.Point(-.2*i,-.05*i),M=SuperMap.Plot.PlottingUtil.coordinateTrans(h,g,f),m=SuperMap.Plot.PlottingUtil.coordinateTrans(h,b,f),d=[];d.push(h),d.push(M),d.push(m);var v={fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d,v);var O=SuperMap.Plot.PlottingUtil.circlePoint(u,i,i,S+330),U=[];U.push(u),U.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U);var w=SuperMap.Plot.PlottingUtil.radian(u,O)*SuperMap.Plot.PlottingUtil.RTOD,L=SuperMap.Plot.PlottingUtil.coordinateTrans(O,g,w),_=SuperMap.Plot.PlottingUtil.coordinateTrans(O,b,w),V=[];V.push(O),V.push(L),V.push(_),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,V,v),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],c,i,p+270),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol5033001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5032003=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(90),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[2]=2*o}var i=l*this.scaleValues[0],n=this.scaleValues[1],r=l*this.scaleValues[2],a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,e);if(a.bfind){var s=a.pts.clone(),p=e[a.index].clone(),u=e[a.index+1].clone(),c=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,P=SuperMap.Plot.PlottingUtil.circlePoint(s,r,r,c+n),S=[];S.push(a.pts),S.push(P);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0,surroundLineLimit:!0});var h=SuperMap.Plot.PlottingUtil.radian(s,P)*SuperMap.Plot.PlottingUtil.RTOD,y=new SuperMap.Geometry.Point(-.2*r,.05*r),f=new SuperMap.Geometry.Point(-.2*r,-.05*r),g=SuperMap.Plot.PlottingUtil.coordinateTrans(P,y,h),b=SuperMap.Plot.PlottingUtil.coordinateTrans(P,f,h),M=[];M.push(P),M.push(g),M.push(b);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M,{lineTypeLimit:!0,surroundLineLimit:!0,fillLimit:!0,fill:!0});var m=.3*r,d=.6*r,v=i-d;v<0&&(v=0);var O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(v,e);if(O.bfind){var U=[];U.push(O.pts);for(var w=O.index;w>=0;w--)U.push(e[w]);var L=[];L.push(O.pts);for(var _=O.index+1;_<e.length;_++)L.push(e[_]);var V=.6*m,A=[];if(U.length>1){var T=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,U);if(T.bfind){(A=[]).push(T.pts);for(var E=T.index+1;E<U.length;E++)A.push(U[E]);U=[],A.length>1&&(U=U.concat(A))}}if(U.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U),L.length>1){var x=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,L);if(x.bfind){(A=[]).push(x.pts);for(var j=x.index+1;j<L.length;j++)A.push(L[j]);L=[],A.length>1&&(L=L.concat(A))}}var Y=i+d;Y>l&&(Y=l),Y=l-Y;for(var C=[],I=L.length-1;I>=0;I--)C.push(L[I]);var B=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(Y,C);if(B.bfind){var R=[];R.push(B.pts);for(var G=B.index;G>=0;G--)R.push(C[G]);var N=[];N.push(B.pts);for(var D=B.index+1;D<C.length;D++)N.push(C[D]);if(R.length>1){var k=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,R);if(k.bfind){(A=[]).push(k.pts);for(var z=k.index+1;z<R.length;z++)A.push(R[z]);R=[],A.length>1&&(R=R.concat(A))}}if(R.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,R),N.length>1){var F=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,N);if(F.bfind){(A=[]).push(F.pts);for(var K=F.index+1;K<N.length;K++)A.push(N[K]);N=[],A.length>1&&(N=N.concat(A))}}if(N.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,N),this.subSymbols.length>0){if(null!==this.subSymbols[0].symbolData)for(var W=0;W<this.subSymbols[0].symbolData.innerCells.length;W++)34===this.subSymbols[0].symbolData.innerCells[W].type&&this.subSymbols[0].symbolData.innerCells.splice(W,1);this.computeSubSymbol(this.subSymbols[0],O.pts,1.2*m,c-90),this.computeSubSymbol(this.subSymbols[1],B.pts,1.2*m,c-90)}this.addScalePoint(a.pts,0),this.addScalePoint(P,1),this.finish()}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;if(0>t||1<t)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var n=[],r=0;r<o.length;r++)n.push(o[r]);for(var a=-1,s=new SuperMap.Geometry.Point(0,0),p=0,u=0;u<n.length-1;u++){var c=[];c.push(n[u]),c.push(n[u+1]);var P=SuperMap.Plot.PlottingUtil.projectPoint(e,n[u],n[u+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(P,c).isOnPolyLine){var S=SuperMap.Plot.PlottingUtil.distance(e,P);-1===a?(a=u,s=P,p=S):p>S&&(a=u,s=P,p=S)}}if(-1===a||a>n.length-1)return;for(var h=0,y=0;y<a;y++){var f=o[y].clone(),g=o[y+1].clone();h+=SuperMap.Plot.PlottingUtil.distance(f,g)}var b=o[a].clone();if((h+=SuperMap.Plot.PlottingUtil.distance(b,s))<0||h>i)return;this.scaleValues[0]=h/i}if(1===t){var M=i*this.scaleValues[0],m=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(M,o);if(!m.bfind)return;var d=m.pts.clone(),v=new SuperMap.Geometry.Point(o[m.index].x,o[m.index].y),O=new SuperMap.Geometry.Point(o[m.index+1].x,o[m.index+1].y),U=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD,w=SuperMap.Plot.PlottingUtil.radian(d,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[1]=w-U;var L=SuperMap.Plot.PlottingUtil.distance(d,e);this.scaleValues[2]=L/i}}}}]),e}();SuperMap.Plot.AlgoSymbol5032003=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5031401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=e*this.scaleValues[0],o=.1*l,i=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],o),n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(l/2,t[0],i),r=n.pntRight,a=n.pntLeft,s=[];s.push(r),s.push(t[0]),s.push(a);var p=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(s);p=SuperMap.Plot.PlottingUtil.clearSamePts(p);var u={lineColorLimit:!0,lineTypeLimit:!0,surroundLineLimit:!0,strokeColor:"#0000ff",color:"#0000ff"};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,u);var c=SuperMap.Plot.PlottingUtil.paraLine(s,e,!1),P=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(c);P=SuperMap.Plot.PlottingUtil.clearSamePts(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,u),this.addScalePoint(r,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0===t){var i=2*SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;i<.4&&(i=.4),this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol5031401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5030301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI,a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.8*a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var P=e[0],S=e[1],h=e[e.length-2],y=e[e.length-1],f=.3*a,g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,S,P),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,h,y),M=g.pntLeft,m=b.pntLeft,d=[];d.push(P),d.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=[];v.push(y),v.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v);var O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),U=SuperMap.Plot.PlottingUtil.circlePoint(O.pts,l*this.scaleValues[0],l*this.scaleValues[0],r+90);this.addScalePoint(U,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol5030301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5022301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){4>this.scaleValues.length&&(this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=1.5*this.getDefaultSubSymbolSize();this.subSymbolScaleValue=i/o,this.subSymbolScaleValue>.2&&(this.subSymbolScaleValue=.2),this.scaleValues[0]=this.subSymbolScaleValue}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,o*n,0);for(var u=0;u<this.components.length;u++)this.components[u].style.strokeColor="#0000FF",this.components[u].style.lineColorLimit=!0,this.components[u].style.strokeOpacity=1,this.components[u].style.color="#0000FF",this.components[u].style.opacity=1;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e),this.addScalePoint(p);var c=SuperMap.Plot.PlottingUtil.circlePoint(p,s,s,90);this.addScalePoint(c),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=0,a=0;if(0===t)r=(e.x-i.x)/n,this.scaleValues[2]=r,a=(e.y-i.y)/n,this.scaleValues[3]=a;else if(1===t){r=this.scaleValues[2],a=this.scaleValues[3];var s=new SuperMap.Geometry.Point(i.x+n*r,i.y+n*a),p=SuperMap.Plot.PlottingUtil.distance(s,e);this.scaleValues[0]=p/n}}}}]),e}();SuperMap.Plot.AlgoSymbol5022301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5022002=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.05),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.05),this.scaleValues.push(90));var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[1]=o}var i=this.scaleValues[0],n=this.scaleValues[1],r=this.scaleValues[2],a=l*i,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=n*l,P=u,S=new SuperMap.Geometry.Point(c,-.5*c),h=new SuperMap.Geometry.Point(c,.5*c),y=new SuperMap.Geometry.Point(-c,.5*c),f=new SuperMap.Geometry.Point(-c,-.5*c),g=SuperMap.Plot.PlottingUtil.coordinateTrans(P,S,r),b=SuperMap.Plot.PlottingUtil.coordinateTrans(P,h,r),M=SuperMap.Plot.PlottingUtil.coordinateTrans(P,y,r),m=SuperMap.Plot.PlottingUtil.coordinateTrans(P,f,r);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[g,b,M,m,g]);var d=new SuperMap.Geometry.Point(.5*c,.5*c),v=new SuperMap.Geometry.Point(.5*c,-.5*c),O=SuperMap.Plot.PlottingUtil.coordinateTrans(P,v,r),U=SuperMap.Plot.PlottingUtil.coordinateTrans(P,d,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[O,U]);var w=new SuperMap.Geometry.Point(0,.5*c),L=new SuperMap.Geometry.Point(0,-.5*c),_=SuperMap.Plot.PlottingUtil.coordinateTrans(P,w,r),V=SuperMap.Plot.PlottingUtil.coordinateTrans(P,L,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[_,V]);var A=new SuperMap.Geometry.Point(c,0),T=new SuperMap.Geometry.Point(2*c,0),E=SuperMap.Plot.PlottingUtil.coordinateTrans(P,A,r),x=SuperMap.Plot.PlottingUtil.coordinateTrans(P,T,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E,x]);var j=new SuperMap.Geometry.Point(2*c,.15*c),Y=new SuperMap.Geometry.Point(2*c,-.15*c),C=new SuperMap.Geometry.Point(2.6*c,0),I=SuperMap.Plot.PlottingUtil.coordinateTrans(P,j,r),B=SuperMap.Plot.PlottingUtil.coordinateTrans(P,Y,r),R=SuperMap.Plot.PlottingUtil.coordinateTrans(P,C,r);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[I,B,R],{lineTypeLimit:!0,lineColorLimit:!0,strokeColor:"#FF0000",strokeOpacity:1,color:"#FF0000",opacity:1,surroundLineLimit:!0,fillLimit:!0,fill:!0});var G,N=[],D=[];for(G=0;G<=p;G++)N.push(e[G]);for(N.push(u),D.push(u),G=p+1;G<e.length;G++)D.push(e[G]);var k=1.2*c;if(a>k){var z=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a-k,N);if(z.bfind){var F=z.pts,K=z.index,W=[];for(G=0;G<=K;G++)W.push(N[G]);W.push(F),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,W)}}if(l-a>k){var J=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(k,D);if(J.bfind){var q=J.pts,Z=J.index;for((W=[]).push(q),G=Z+1;G<D.length;G++)W.push(D[G]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,W)}}this.scalePoints=[],this.addScalePoint(u),this.addScalePoint(x),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var n=e.clone(),r=-1,a=0,s=0;s<o.length-1;s++){var p=[];p.push(o[s]),p.push(o[s+1]);var u=SuperMap.Plot.PlottingUtil.projectPoint(n,o[s],o[s+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(u,p).isOnPolyLine){var c=SuperMap.Plot.PlottingUtil.distance(n,u);-1===r?(r=s,a=c):a>c&&(r=s,a=c)}}if(-1===r)return SuperMap.Plot.PlottingUtil.distance(n,o[0])>SuperMap.Plot.PlottingUtil.distance(n,o[o.length-1])?void(r=o.length-1):void(r=0);var P=0;if(0===r)P=SuperMap.Plot.PlottingUtil.distance(o[0],u);else for(var S=0;S<r;S++)P+=SuperMap.Plot.PlottingUtil.distance(o[S],o[S+1]);if(P<0||P>i)return;this.scaleValues[0]=P/i}else if(1===t){var h=this.scaleValues[0]*i,y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(h,o);if(!y.bfind)return;var f=y.pts,g=SuperMap.Plot.PlottingUtil.distance(f,e)/i;g>.5&&(g=.5),this.scaleValues[1]=g;var b=SuperMap.Plot.PlottingUtil.radian(f,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[2]=b+90}}}}]),e}();SuperMap.Plot.AlgoSymbol5022002=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5022001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.05),l.scaleValues.push(180)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.05),this.scaleValues.push(180));var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[1]=o}var i=this.scaleValues[0],n=this.scaleValues[1],r=this.scaleValues[2],a=l*i,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=n*l*.5,P=new SuperMap.Geometry.Point(0,0),S=new SuperMap.Geometry.Point(.5*c,0),h=new SuperMap.Geometry.Point(0,c),y=[],f=SuperMap.Plot.PlottingUtil.coordinateTrans(u,P,r);y.push(f);var g=SuperMap.Plot.PlottingUtil.coordinateTrans(u,S,r);y.push(g);var b=SuperMap.Plot.PlottingUtil.coordinateTrans(u,h,r);y.push(b),this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,y);var M=new SuperMap.Geometry.Point(0,-2*c),m=new SuperMap.Geometry.Point(.15*c,-1.6*c),d=new SuperMap.Geometry.Point(-.15*c,-1.6*c),v=SuperMap.Plot.PlottingUtil.coordinateTrans(u,M,r),O=SuperMap.Plot.PlottingUtil.coordinateTrans(u,m,r),U=SuperMap.Plot.PlottingUtil.coordinateTrans(u,d,r),w=[];w.push(v),w.push(O),w.push(U);var L={surroundLineFlag:!1,fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,w,L);var _=new SuperMap.Geometry.Point(0,-c),V=SuperMap.Plot.PlottingUtil.coordinateTrans(u,_,r);(w=[]).push(V),w.push(v.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w,L);var A,T=[],E=[];for(A=0;A<=p;A++)T.push(e[A]);for(T.push(u),E.push(u),A=p+1;A<e.length;A++)E.push(e[A]);var x=1.2*c;if(a>x){var j=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a-x,T);if(j.bfind){var Y=j.pts,C=j.index,I=[];for(A=0;A<=C;A++)I.push(T[A]);I.push(Y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,I)}}if(l-a>x){var B=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(x,E);if(B.bfind){var R=B.pts,G=B.index;for((I=[]).push(R),A=G+1;A<E.length;A++)I.push(E[A]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,I)}}R=void 0===R?e[e.length-1]:R,Y=void 0===Y?e[0]:Y;var N=SuperMap.Plot.PlottingUtil.radian(Y,R)*SuperMap.Plot.PlottingUtil.RTOD;this.addText("ZD0",u,x,N+90),this.scalePoints=[],this.addScalePoint(u),this.addScalePoint(v),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var n=e.clone(),r=-1,a=0,s=0;s<o.length-1;s++){var p=[];p.push(o[s]),p.push(o[s+1]);var u=SuperMap.Plot.PlottingUtil.projectPoint(n,o[s],o[s+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(u,p).isOnPolyLine){var c=SuperMap.Plot.PlottingUtil.distance(n,u);-1===r?(r=s,a=c):a>c&&(r=s,a=c)}}if(-1===r)return SuperMap.Plot.PlottingUtil.distance(n,o[0])>SuperMap.Plot.PlottingUtil.distance(n,o[o.length-1])?void(r=o.length-1):void(r=0);var P=0;if(0===r)P=SuperMap.Plot.PlottingUtil.distance(o[0],u);else for(var S=0;S<r;S++)P+=SuperMap.Plot.PlottingUtil.distance(o[S],o[S+1]);if(P<0||P>i)return;this.scaleValues[0]=P/i}else if(1===t){var h=this.scaleValues[0]*i,y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(h,o);if(!y.bfind)return;var f=y.pts,g=SuperMap.Plot.PlottingUtil.distance(f,e)/i;g>.5&&(g=.5),this.scaleValues[1]=g;var b=SuperMap.Plot.PlottingUtil.radian(f,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[2]=b+90}}}}]),e}();SuperMap.Plot.AlgoSymbol5022001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5021803=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.125),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.125),this.scaleValues.push(0));var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l,o,i=SuperMap.Plot.PlottingUtil.polylineDistance(e),n=this.getDefaultSubSymbolSize()/i;(n>.3||n<=0)&&(n=.3);var r=1.5*n;2===t.length?(this.isEdit||(this.scaleValues[3]=this.scaleValues[2]+r),l=this.scaleValues[2],o=this.scaleValues[3]):(SuperMap.Plot.PlottingUtil.equalFuzzy(this.scaleValues[4],0)&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.125)),this.isEdit||(this.scaleValues[4]=this.scaleValues[3]+r),l=this.scaleValues[3],o=this.scaleValues[4]);var a=i*l,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.pts,u=i*o;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(u,e)).bfind){var c=s.index,P=s.pts,S=new SuperMap.Geometry.Point(p.x,p.y),h=new SuperMap.Geometry.Point(P.x,P.y),y=SuperMap.Plot.PlottingUtil.radian(S,h)*SuperMap.Plot.PlottingUtil.RTOD,f=[];f.push(P);for(var g=c+1;g<e.length;g++)f.push(e[g]);this.addArrow(f);var b=SuperMap.Plot.PlottingUtil.distance(S,h);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,b,y),this.scalePoints=[],this.addScalePoint(P);var M=SuperMap.Plot.PlottingUtil.circlePoint(S,b/2,b/2,y+90);this.addScalePoint(M),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=0,r=0;if(2===l.length?(n=this.scaleValues[2],r=this.scaleValues[3]):(n=this.scaleValues[3],r=this.scaleValues[4]),0===t){for(var a=r-n,s=e.clone(),p=[],u=0;u<o.length;u++)p.push(o[u].clone());for(var c,P=-1,S=0,h=0;h<p.length-1;h++){var y=[];y.push(p[h]),y.push(p[h+1]);var f=SuperMap.Plot.PlottingUtil.projectPoint(s,p[h],p[h+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(f,y).isOnPolyLine){var g=SuperMap.Plot.PlottingUtil.distance(s,f);-1===P?(P=h,c=f,S=g):S>g&&(P=h,c=f,S=g)}}if(-1===P||P>p.length-1)return;for(var b=0,M=0;M<P;M++)b+=SuperMap.Plot.PlottingUtil.distance(o[M],o[M+1]);if((b+=SuperMap.Plot.PlottingUtil.distance(o[P],c))<0||b>i)return;var m=b/i;if(m>.7||m-a<0)return;2===l.length?(this.scaleValues[2]=m-a,this.scaleValues[3]=m):(this.scaleValues[3]=m-a,this.scaleValues[4]=m)}else if(1===t){var d=i*n,v=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(d,o);if(!v.bfind)return;var O=v.pts,U=(2*SuperMap.Plot.PlottingUtil.distance(O,e)+d)/i;if(.7<U)return;2===l.length?this.scaleValues[3]=U:this.scaleValues[4]=U}}}}]),e}();SuperMap.Plot.AlgoSymbol5021803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5010401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.2));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],l=.5*e,o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=SuperMap.Plot.PlottingUtil.radian(o,i)*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+90),a=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+270),s=SuperMap.Plot.PlottingUtil.circlePoint(r,l,l,n),p=SuperMap.Plot.PlottingUtil.circlePoint(a,l,l,n),u=[];u.push(p),u.push(a),u.push(r),u.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+90),P=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+270),S=SuperMap.Plot.PlottingUtil.circlePoint(c,l,l,n+180),h=SuperMap.Plot.PlottingUtil.circlePoint(P,l,l,n+180);(u=[]).push(S),u.push(c),u.push(P),u.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var y=.4*SuperMap.Plot.PlottingUtil.distance(o,i),f=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2),g=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.addText("JZ",f,y,g),this.addScalePoint(r),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol5010401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4030401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),!(this.controlPoints.length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],l=t[0].clone(),o=t[1].clone(),i=SuperMap.Plot.PlottingUtil.radian(l,o)*SuperMap.Plot.PlottingUtil.RTOD,n=SuperMap.Plot.PlottingUtil.circlePoint(l,e,e,i+90),r=SuperMap.Plot.PlottingUtil.circlePoint(l,e,e,i+270),a=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,i+90),s=r,p=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,i+270),u=n,c=a,P=SuperMap.Plot.PlottingUtil.distance(u,c),S=SuperMap.Plot.PlottingUtil.distance(s,p),h=SuperMap.Plot.PlottingUtil.distance(u,s),y=SuperMap.Plot.PlottingUtil.distance(c,p),f=SuperMap.Plot.PlottingUtil.linePnt(u,c,.4*P),g=SuperMap.Plot.PlottingUtil.linePnt(u,c,.6*P),b=SuperMap.Plot.PlottingUtil.linePnt(u,s,.4*h),M=SuperMap.Plot.PlottingUtil.linePnt(u,s,.6*h),m=SuperMap.Plot.PlottingUtil.linePnt(c,p,.4*y),d=SuperMap.Plot.PlottingUtil.linePnt(c,p,.6*y),v=SuperMap.Plot.PlottingUtil.linePnt(s,p,.2*S),O=SuperMap.Plot.PlottingUtil.linePnt(s,p,.25*S),U=SuperMap.Plot.PlottingUtil.linePnt(s,p,.75*S),w=SuperMap.Plot.PlottingUtil.linePnt(s,p,.8*S),L=[];L.push(g),L.push(c),L.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,L);var _=[];_.push(d),_.push(p),_.push(w),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_);var V=[];V.push(U),V.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V);var A=[];A.push(v),A.push(s),A.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A);var T=[];T.push(b),T.push(u),T.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T);var E=SuperMap.Plot.PlottingUtil.radian(f,g)*SuperMap.Plot.PlottingUtil.RTOD,x=new SuperMap.Geometry.Point((f.x+g.x)/2,(f.y+g.y)/2),j=SuperMap.Plot.PlottingUtil.distance(f,g);this.addText("警",x,j,E),this.addScalePoint(n,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.controlPoints.length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol4030401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4030303=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="疏",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol4030301),e}();SuperMap.Plot.AlgoSymbol4030303=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4030302=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="劝",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol4030301),e}();SuperMap.Plot.AlgoSymbol4030302=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4030301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l.subText="标",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);var P=SuperMap.Plot.PlottingUtil.polylineDistance(p);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var S=this.subText,h=.15*P,y=new SuperMap.Geometry.Point(i.endPt.x+h/2,i.endPt.y-h/2),f=r;this.addText(S,y,h,f);var g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),b=SuperMap.Plot.PlottingUtil.circlePoint(g.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(b,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol4030301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3002501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t),this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=new SuperMap.Geometry.Point(l.x+1,l.y),i=[];t.push(t[0].clone());for(var n=0;n<t.length-1;n++){var r=SuperMap.Plot.PlottingUtil.intersectLines(l,o,t[n],t[n+1]);r.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(r.intersectPoint,t[n],t[n+1])&&i.push(r.intersectPoint))}if(!(0>=i.length)){var a=i[0].clone(),s=i[0].clone();for(n=0;n<i.length;n++)a.x>i[n].x&&(a=i[n].clone()),s.x<i[n].x&&(s=i[n].clone());var p=SuperMap.Plot.PlottingUtil.distance(s,a),u=new SuperMap.Geometry.Point(l.x-.25*p,a.y),c=e*this.scaleValues[0],P=e*this.scaleValues[0],S=P+c,h=new SuperMap.Geometry.Point(u.x,u.y+S),y=new SuperMap.Geometry.Point(h.x+c,h.y),f=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,y),g=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,h);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[g,f]);var b=new SuperMap.Geometry.Point(u.x,u.y+.8*P),M=new SuperMap.Geometry.Point(u.x-P,u.y-P),m=new SuperMap.Geometry.Point(u.x+P,u.y-P),d=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,b.clone()),v=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,M.clone()),O=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,m.clone()),U=[];U.push(d),U.push(v),U.push(O),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,U);var w=new SuperMap.Geometry.Point(u.x-.5*P,u.y-P),L=new SuperMap.Geometry.Point(M.x,M.y-2*c),_=new SuperMap.Geometry.Point(u.x+.5*P,u.y-P),V=new SuperMap.Geometry.Point(m.x,m.y-2*c),A=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,w),T=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,L),E=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,_),x=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,V),j=[];j.push(A),j.push(T);var Y=[];Y.push(E),Y.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,j),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Y),this.addText("踏",l,2*P,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol3002501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3002005=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x+1,r.y),s=[];t.push(t[0].clone());for(var p=0;p<t.length-1;p++){var u=SuperMap.Plot.PlottingUtil.intersectLines(r,a,t[p],t[p+1]);u.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(u.intersectPoint,t[p],t[p+1])&&s.push(u.intersectPoint))}if(0>=s.length)this.finish();else{var c=s[0].clone(),P=s[0].clone();for(p=0;p<s.length;p++)c.x>s[p].x&&(c=s[p].clone()),P.x<s[p].x&&(P=s[p].clone());var S=[],h=new SuperMap.Geometry.Point(r.x-n/2,c.y);h.x<=P.x&&h.x>=c.x&&((S=[]).push(c),S.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S));var y=new SuperMap.Geometry.Point(r.x+n/2,P.y);y.x<=P.x&&y.x>=c.x&&((S=[]).push(P),S.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S)),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,n,0),this.addScalePoint(r,0);var f=SuperMap.Plot.PlottingUtil.circlePoint(r,n/2,n/2,90);this.addScalePoint(f,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),n=e,r=0,a=0;if(0===t){if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,n))return;r=(n.x-i.x)/o,this.scaleValues[0]=r,a=(n.y-i.y)/o,this.scaleValues[1]=a}if(1===t){r=this.scaleValues[0],a=this.scaleValues[1];var s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=2*SuperMap.Plot.PlottingUtil.distance(n,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol3002005=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3002004=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(2>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),i=this.scaleValues[0],n=this.scaleValues[1],r=l*this.scaleValues[2],a=new SuperMap.Geometry.Point(o.x+l*i,o.y+l*n),s=new SuperMap.Geometry.Point(a.x+1,a.y),p=[];e.push(e[0].clone());for(var u=0;u<e.length-1;u++){var c=SuperMap.Plot.PlottingUtil.intersectLines(a,s,e[u],e[u+1]);c.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(c.intersectPoint,e[u],e[u+1])&&p.push(c.intersectPoint))}if(0>=p.length)this.finish();else{var P=p[0].clone(),S=p[0].clone();for(u=0;u<p.length;u++)P.x>p[u].x&&(P=p[u].clone()),S.x<p[u].x&&(S=p[u].clone());var h=[],y=new SuperMap.Geometry.Point(a.x-r/2,P.y);y.x<=S.x&&y.x>=P.x&&((h=[]).push(P),h.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h));var f=new SuperMap.Geometry.Point(a.x+r/2,S.y);f.x<=S.x&&f.x>=P.x&&((h=[]).push(S),h.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h));var g=SuperMap.Plot.PlottingUtil.radian(y,f)*SuperMap.Plot.PlottingUtil.RTOD;this.addText("火",a,r,g),this.addScalePoint(a,0);var b=SuperMap.Plot.PlottingUtil.circlePoint(a,r/2,r/2,90);this.addScalePoint(b,1),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),n=e,r=0,a=0;if(0===t){if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,n))return;r=(n.x-i.x)/o,this.scaleValues[0]=r,a=(n.y-i.y)/o,this.scaleValues[1]=a}if(1===t){r=this.scaleValues[0],a=this.scaleValues[1];var s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=2*SuperMap.Plot.PlottingUtil.distance(n,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol3002004=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3002002=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x+1,r.y),s=[];t.push(t[0].clone());for(var p=0;p<t.length-1;p++){var u=SuperMap.Plot.PlottingUtil.intersectLines(r,a,t[p],t[p+1]);u.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(u.intersectPoint,t[p],t[p+1])&&s.push(u.intersectPoint))}if(0>=s.length)this.finish();else{var c=s[0].clone(),P=s[0].clone();for(p=0;p<s.length;p++)c.x>s[p].x&&(c=s[p].clone()),P.x<s[p].x&&(P=s[p].clone());var S=new SuperMap.Geometry.Point(r.x-n/2,c.y),h=new SuperMap.Geometry.Point(r.x+n/2,P.y),y=SuperMap.Plot.PlottingUtil.radian(S,h)*SuperMap.Plot.PlottingUtil.RTOD;this.addText("HX",r,n,y),this.addScalePoint(r,0);var f=SuperMap.Plot.PlottingUtil.circlePoint(r,n/2,n/2,90);this.addScalePoint(f,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),n=e,r=0,a=0;if(0===t){if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,n))return;r=(n.x-i.x)/o,this.scaleValues[0]=r,a=(n.y-i.y)/o,this.scaleValues[1]=a}if(1===t){r=this.scaleValues[0],a=this.scaleValues[1];var s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=2*SuperMap.Plot.PlottingUtil.distance(n,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol3002002=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3002001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="震",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol3002001=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3001302=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=.1*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],Math.sqrt(3)*e/4),o=SuperMap.Plot.PlottingUtil.clonePoints(t);o.splice(t.length-1,1),o.push(l);var i=SuperMap.Plot.PlottingUtil.paraLine(o,.25*e,!0),n={lineColorLimit:!0,strokeColor:"#00C000",color:"#00C000"},r=SuperMap.Plot.PlottingUtil.paraLine(o,.25*e,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n);var a=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],e),s=new SuperMap.Geometry.Point(a.x,a.y),p=new SuperMap.Geometry.Point(a.x,a.y);s=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],1/6*Math.PI,s),p=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],11/6*Math.PI,p);var u=[];u.push(s),u.push(t[t.length-1]),u.push(p),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol3001302=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3001301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.5),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=.1*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],Math.sqrt(3)*e/4),i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],i*l),r=SuperMap.Plot.PlottingUtil.linePnt(n,t[0],2*e),a=SuperMap.Plot.PlottingUtil.linePnt(n,t[1],2*e),s=[];s.push(t[0]),s.push(r);var p=[];p.push(a),p.push(o);var u=SuperMap.Plot.PlottingUtil.paraLine(s,.25*e,!0),c=SuperMap.Plot.PlottingUtil.paraLine(s,.25*e,!1),P=SuperMap.Plot.PlottingUtil.paraLine(p,.25*e,!0),S=SuperMap.Plot.PlottingUtil.paraLine(p,.25*e,!1);if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.subSymbols.length>0){var h=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,y=.5*SuperMap.Plot.PlottingUtil.distance(r,a);this.computeSubSymbol(this.subSymbols[0],n,y,h+180)}var f=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],e),g=new SuperMap.Geometry.Point(f.x,f.y),b=new SuperMap.Geometry.Point(f.x,f.y);g=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],1/6*Math.PI,g),b=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],11/6*Math.PI,b);var M=[];M.push(g),M.push(t[t.length-1]),M.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol3001301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3001105=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=this.scaleValues[0],l=this.scaleValues[1],o=this.scaleValues[2],i=SuperMap.Plot.PlottingUtil.getOutRectangleDis(t);if(0!==i){if(!this.isEdit){var n=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[2]=n/i}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),a=new SuperMap.Geometry.Point(r.x+e*i,r.y+l*i),s=o*i;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,s,0),this.addText("盗",a,s,0),this.addScalePoint(a,0);var p=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,90);this.addScalePoint(p,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.getOutRectangleDis(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=new SuperMap.Geometry.Point(e.x,e.y);if(0===t&&(this.scaleValues[0]=(n.x-i.x)/o,this.scaleValues[1]=(n.y-i.y)/o),1===t){var r=this.scaleValues[0],a=this.scaleValues[1],s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=SuperMap.Plot.PlottingUtil.distance(e,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol3001105=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3001104=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=this.scaleValues[0],l=this.scaleValues[1],o=this.scaleValues[2],i=SuperMap.Plot.PlottingUtil.getOutRectangleDis(t);if(0!==i){if(!this.isEdit){var n=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[2]=n/i}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),a=new SuperMap.Geometry.Point(r.x+e*i,r.y+l*i),s=o*i;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,s,0),this.addText("私",a,s,0),this.addScalePoint(a,0);var p=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,90);this.addScalePoint(p,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.getOutRectangleDis(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=new SuperMap.Geometry.Point(e.x,e.y);if(0===t&&(this.scaleValues[0]=(n.x-i.x)/o,this.scaleValues[1]=(n.y-i.y)/o),1===t){var r=this.scaleValues[0],a=this.scaleValues[1],s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=SuperMap.Plot.PlottingUtil.distance(e,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol3001104=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3001103=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="骚",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3001101),e}();SuperMap.Plot.AlgoSymbol3001103=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3001102=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="暴",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3001101),e}();SuperMap.Plot.AlgoSymbol3001102=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3001101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(-.04),l.scaleValues.push(-.175),l.scaleValues.push(.1)),l.subText="集",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.getOutRectangleDis(t);if(0!==e){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);this.addText(this.subText,l,.3*e,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol3001101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3000809=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=.8*SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&(this.computeSubSymbol(this.subSymbols[0],n,a,r+180),this.computeSubSymbol(this.subSymbols[1],n,.5*a,r+180));for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(S,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol3000809=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3000808=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=.8*SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,a,r+180);var s=[],p=new SuperMap.Geometry.Point(0,0);p.x=-a/6,p.y=a/3;var u=new SuperMap.Geometry.Point(0,0),c=SuperMap.Plot.PlottingUtil.rotateAngle(u,r*SuperMap.Plot.PlottingUtil.DTOR,p),P=new SuperMap.Geometry.Point(c.x+n.x,c.y+n.y);p.x=a/6,p.y=a/3;var S=SuperMap.Plot.PlottingUtil.rotateAngle(u,r*SuperMap.Plot.PlottingUtil.DTOR,p),h=new SuperMap.Geometry.Point(S.x+n.x,S.y+n.y);p.x=0,p.y=-a/3;var y=SuperMap.Plot.PlottingUtil.rotateAngle(u,r*SuperMap.Plot.PlottingUtil.DTOR,p),f=new SuperMap.Geometry.Point(y.x+n.x,y.y+n.y);s.push(P),s.push(h),s.push(f);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,{fillLimit:!0,fill:!0});for(var g=[],b=[],M=0;M<=i.startIndex;M++)g.push(e[M]);if(g.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),i.endIndex<=e.length){b.push(i.endPt);for(var m=i.endIndex+1;m<=e.length-1;m++)b.push(e[m]);this.addArrow(b)}var d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),v=SuperMap.Plot.PlottingUtil.circlePoint(d.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(v,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol3000808=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3000807=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=.8*SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&(this.computeSubSymbol(this.subSymbols[0],n,.05*a,r+90),this.computeSubSymbol(this.subSymbols[1],n,a,r+180));for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(S,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol3000807=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3000806=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3000804),e}();SuperMap.Plot.AlgoSymbol3000806=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3000805=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3000804),e}();SuperMap.Plot.AlgoSymbol3000805=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3000804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3000801),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=.8*SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,a,r+180);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(S,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol3000804=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3000803=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3000801),e}();SuperMap.Plot.AlgoSymbol3000803=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3000802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3000801),e}();SuperMap.Plot.AlgoSymbol3000802=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3000801=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=.8*SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(S,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol3000801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2122301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.5),l.scaleValues.push(.4)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=e*this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2]*e,n=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],e*o),r=SuperMap.Plot.PlottingUtil.distance(t[1],n),a=SuperMap.Plot.PlottingUtil.linePnt(t[1],n,r+.45*i),s=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],e-r+.45*i),p=2*l,u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,t[1],a),c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,t[0],s),P=SuperMap.Plot.PlottingUtil.paraLine(t,l,!0),S=SuperMap.Plot.PlottingUtil.paraLine(t,l,!1),h=e-r-i/2,y=SuperMap.Plot.PlottingUtil.linePnt(P[0],P[P.length-1],h),f=SuperMap.Plot.PlottingUtil.linePnt(P[0],P[P.length-1],h+.2*i),g=SuperMap.Plot.PlottingUtil.linePnt(P[0],P[P.length-1],h+.8*i),b=SuperMap.Plot.PlottingUtil.linePnt(P[0],P[P.length-1],h+i),M={fillLimit:!0},m=[];m.push(P[0]),m.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m,M);var d=[];d.push(u.pntRight),d.push(f),d.push(g),d.push(c.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,M);var v=[];v.push(b),v.push(P[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,M);var O=SuperMap.Plot.PlottingUtil.linePnt(S[0],S[S.length-1],h),U=SuperMap.Plot.PlottingUtil.linePnt(S[0],S[S.length-1],h+.2*i),w=SuperMap.Plot.PlottingUtil.linePnt(S[0],S[S.length-1],h+.8*i),L=SuperMap.Plot.PlottingUtil.linePnt(S[0],S[S.length-1],h+i),_=[];_.push(S[0]),_.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_,M);var V=[];V.push(u.pntLeft),V.push(U),V.push(w),V.push(c.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,M);var A=[];A.push(L),A.push(S[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,M);var T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(l/2,y,P[0]);this.addScalePoint(T.pntLeft,0),this.addScalePoint(n,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(l[0],e);if(0===t&&(this.scaleValues[0]=i/o),1===t){var n=i/o;n>.8?n=.8:n<.2&&(n=.2),this.scaleValues[1]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol2122301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2122101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.subSymbols.length&&(l.subSymbols=SuperMap.Plot.WJAlgoSymbolFactory.getDefaultSubSymbols(l.libID,l.code)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(2>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL,e);for(var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=e[0].x,i=e[0].x,n=e[0].y,r=e[0].y,a=[],s=0;s<e.length;s++)o>e[s].x&&(o=e[s].x),i<e[s].x&&(i=e[s].x),n>e[s].y&&(n=e[s].y),r<e[s].y&&(r=e[s].y),a.push(e[s]);var p=(i-o)/5;p>10&&(p=10);for(var u=.2*p,c=[],P=0;P<360;P+=18){var S=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(0,0),u,u,P);c.push(S)}for(var h=0,y=o;y<i;y+=p)for(var f=n;f<r;f+=p){var g=new SuperMap.Geometry.Point(y,f);if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(a,g))if(0===h){h++;for(var b=[],M=0;M<c.length;M++){var m=new SuperMap.Geometry.Point(g.x+c[M].x,g.y+c[M].y);b.push(m)}b.push(b[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b);var d=[];d.push(b[10]),d.push(new SuperMap.Geometry.Point(b[10].x-.5*u,b[10].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=[];v.push(b[0]),v.push(new SuperMap.Geometry.Point(b[0].x+.5*u,b[10].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v)}else 1===h?(h++,null!==this.subSymbols[0]&&this.computeSubSymbol(this.subSymbols[0],g,.015*l,0)):(h=0,null!==this.subSymbols[1]&&this.computeSubSymbol(this.subSymbols[1],g,.015*l,0))}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol2122101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol2121602=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="障",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol2121601),e}();SuperMap.Plot.AlgoSymbol2121602=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2121601=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(1),l.subText="遥",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=SuperMap.Plot.PlottingUtil.distance(e,l);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);for(var i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=50*this.getSubSymbolScaleValue(),r=i*n*.02,a=i*n*.005,s=.1*i,p=.1*o,u=0;u<=i;u+=s){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,u+p);if(-1!==c.index){var P,S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[c.index],c.pt);P=this.scaleValues[0]>0?new SuperMap.Geometry.Point(S.pntLeft.x,S.pntLeft.y):new SuperMap.Geometry.Point(S.pntRight.x,S.pntRight.y);var h=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,P,c.pt),y=[];if(y.push(h.pntRight),y.push(P),y.push(h.pntLeft),0===u){var f=new SuperMap.Geometry.Point(P.x,P.y);f.isScalePoint=!0,f.tag=0,this.scalePoints.push(f)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,y,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}}var g=SuperMap.Plot.PlottingUtil.radian(t[t.length-2],t[t.length-1])*SuperMap.Plot.PlottingUtil.RTOD,b=.1*i,M=SuperMap.Plot.PlottingUtil.distance(t[t.length-1],t[t.length-2]),m=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-2],t[t.length-1],.5*b+M);this.addText(this.subText,m,b,g),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e);this.scaleValues[0]=o?-1:1}}}]),e}();SuperMap.Plot.AlgoSymbol2121601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol2121507=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="复",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol2121505),e}();SuperMap.Plot.AlgoSymbol2121507=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol2121506=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="墩",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol2121505),e}();SuperMap.Plot.AlgoSymbol2121506=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2121504=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=SuperMap.Plot.PlottingUtil.distance(e,l),i=o*this.scaleValues[0],n=SuperMap.Plot.PlottingUtil.linePnt(e,l,.5*o),r=SuperMap.Plot.PlottingUtil.linePnt(n,e,2*i),a=SuperMap.Plot.PlottingUtil.linePnt(n,l,2*i),s=[];s.push(t[0],r);var p=[];p.push(a,t[1]);var u=SuperMap.Plot.PlottingUtil.paraLine(s,i,!0),c=SuperMap.Plot.PlottingUtil.paraLine(s,i,!1),P=SuperMap.Plot.PlottingUtil.paraLine(p,i,!0),S=SuperMap.Plot.PlottingUtil.paraLine(p,i,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,y=.5*SuperMap.Plot.PlottingUtil.distance(r,a);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,y,h),this.addScalePoint(u[0],0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;i>.24&&(i=.24),this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol2121504=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2092101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var o=this.scaleValues[1]*e,i=l*e,n=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,i);if(-1!==n.index){for(var r,a=n.pt,s=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[a,new SuperMap.Geometry.Point(a.x+o,a.y)]),p=0;p<t.length-1;p++){var u=t[p],c=t[p+1],P=SuperMap.Plot.PlottingUtil.distance(a,u),S=SuperMap.Plot.PlottingUtil.distance(a,c);if(!(P<o&&S<o))if(P>o&&S<o||P<o&&S>o){var h;h=P>o?u:c;var y=this.getLineAddCircleIntersectPts(u,c,s);y.length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[y[0],h])}else{var f=SuperMap.Plot.PlottingUtil.projectPoint(a,u,c);if(SuperMap.Plot.PlottingUtil.distance(a,f)>=o)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c]);else if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(f,u,c)){var g=this.getLineAddCircleIntersectPts(u,c,s);if(g.length>0){g.unshift(u),g.push(c);for(var b=0;b<g.length-1;b++)this.isLineInCircle(g[b],g[b+1],a,o)||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[g[b],g[b+1]])}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c])}}if(this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[a,new SuperMap.Geometry.Point(a.x+o,a.y)]),r=n.index>=t.length-1?SuperMap.Plot.PlottingUtil.radian(t[t.length-2],t[t.length-1])*SuperMap.Plot.PlottingUtil.RTOD:SuperMap.Plot.PlottingUtil.radian(t[n.index],t[n.index+1])*SuperMap.Plot.PlottingUtil.RTOD,this.subSymbols.length>0){if(null!==this.subSymbols[0].symbolData)for(var M=0;M<this.subSymbols[0].symbolData.innerCells.length;M++)26===this.subSymbols[0].symbolData.innerCells[M].type&&this.subSymbols[0].symbolData.innerCells.splice(M,1);this.computeSubSymbol(this.subSymbols[0],a,o,r)}this.scalePoints=[];var m=a;m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m);var d=new SuperMap.Geometry.Point(a.x+o,a.y);d.isScalePoint=!0,d.tag=1,this.scalePoints.push(d),this.finish()}}}},{key:"isLineInCircle",value:function(t,e,l,o){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return o>SuperMap.Plot.PlottingUtil.distance(i,l)}},{key:"getLineAddCircleIntersectPts",value:function(t,e,l){var o=l.slice();o[0].x===o[o.length-1].x&&o[0].y===o[o.length-1].y||o.push(o[0]);for(var i=[],n=0;n<o.length-1;n++){var r=o[n],a=o[n+1],s=SuperMap.Plot.PlottingUtil.intersectLines(t,e,r,a);s.isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.intersectPoint,t,e)&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.intersectPoint,r,a)&&i.push(s.intersectPoint)}for(var p=0;p<i.length-1;p++)SuperMap.Plot.PlottingUtil.isSamePt(i[p],i[p+1])&&(i.splice(p,1),p--);if(t.x>e.x){for(var u=0;u<i.length&&u!==i.length-1;u++)if(i[u].x<i[u+1].x){var c=i[u];i[u]=i[u+1],i[u+1]=c}}else if(t.x<e.x){for(var P=0;P<i.length&&P!==i.length-1;P++)if(i[P].x>i[P+1].x){var S=i[P];i[P]=i[P+1],i[P+1]=S}}else if(t.y>e.y){for(var h=0;h<i.length&&h!==i.length-1;h++)if(i[h].y<i[h+1].y){var y=i[h];i[h]=i[h+1],i[h+1]=y}}else if(t.y<e.y)for(var f=0;f<i.length&&f!==i.length-1;f++)if(i[f].y>i[f+1].y){var g=i[f];i[f]=i[f+1],i[f+1]=g}return i}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){for(var i=0,n=-1,r=null,a=0;a<l.length-1;a++){var s=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l[a],l[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.projectPoint,l[a],l[a+1])){var p=SuperMap.Plot.PlottingUtil.distance(s.projectPoint,e);0===i?(i=p,n=a,r=s.projectPoint):p<i&&(i=p,n=a,r=s.projectPoint)}}if(-1===n)return;for(var u=0,c=0;c<n;c++)u+=SuperMap.Plot.PlottingUtil.distance(l[c],l[c+1]);var P=(u+=SuperMap.Plot.PlottingUtil.distance(r,l[n]))/o;P>1&&(P=1),this.scaleValues[0]=P}if(1===t){var S=this.scaleValues[0]*o,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,S);if(-1===h.index)return;var y=SuperMap.Plot.PlottingUtil.distance(h.pt,e)/o;y>.4&&(y=.4),this.scaleValues[1]=y}}}}]),e}();SuperMap.Plot.AlgoSymbol2092101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2091503=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.03),l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit){var e=this.getSubSymbolScaleValue();this.scaleValues[0]=e,this.scaleValues[1]=.5*e,this.scaleValues[3]=.5*e}var l=this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2],n=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);n=SuperMap.Plot.PlottingUtil.clearSamePts(n);var r=this.GetCurvePts(t,l,o);if(0!==r.pt.length){var a=SuperMap.Plot.PlottingUtil.polylineDistance(n)*i,s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,a);if(-1!==s.index){for(var p=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[3],u=[],c=0;c<360;c+=12)u.push(SuperMap.Plot.PlottingUtil.circlePoint(s.pt,p,p,c));u.push(u[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);for(var P=[],S=[],h=0;h<r.pt.length;h++)SuperMap.Plot.PlottingUtil.ptIsInPolygon(u,r.pt[h])?S.length>1&&(P.push(S),S=[]):S.push(r.pt[h]);S.length>1&&P.push(S);for(var y=0;y<P.length;y++)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P[y]);var f=[],g=new SuperMap.Geometry.Point(s.pt.x-p,s.pt.y),b=new SuperMap.Geometry.Point(s.pt.x+.5*p,s.pt.y);f.push(g,b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var M=[],m=SuperMap.Plot.PlottingUtil.circlePoint(b,.3*p,.3*p,157.5),d=SuperMap.Plot.PlottingUtil.circlePoint(b,.3*p,.3*p,202.5);M.push(m),M.push(d),M.push(b);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var v=new SuperMap.Geometry.Point(r.pt[0].x,r.pt[0].y);v.isScalePoint=!0,v.tag=0,this.scalePoints.push(v);var O=new SuperMap.Geometry.Point(r.scalePt.x,r.scalePt.y);O.isScalePoint=!0,O.tag=1,this.scalePoints.push(O);var U=new SuperMap.Geometry.Point(s.pt.x,s.pt.y);U.isScalePoint=!0,U.tag=2,this.scalePoints.push(U);var w=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(s.pt.x,s.pt.y),p,p,0),L=new SuperMap.Geometry.Point(w.x,w.y);L.isScalePoint=!0,L.tag=3,this.scalePoints.push(L),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;if(4>this.scaleValues.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(i),r=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var a=l[0],s=SuperMap.Plot.PlottingUtil.distance(a,r);this.scaleValues[1]=2*s/o}else if(1===t)a=l[0],s=SuperMap.Plot.PlottingUtil.distance(a,r),this.scaleValues[0]=s/o;else if(2===t){for(var p=-1,u=0,c=new SuperMap.Geometry.Point(0,0),P=0;P<i.length-1;P++){var S=i[P],h=i[P+1],y=SuperMap.Plot.PlottingUtil.projectPoint(r,S,h);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(y,S,h)){var f=SuperMap.Plot.PlottingUtil.distance(r,y);-1===p?(p=P,c=y,u=f):u>f&&(p=P,c=y,u=f)}}if(-1===p||p>i.length-1)return;for(var g=[],b=0;b<p;b++)g.push(i[b]);g.push(c);var M=SuperMap.Plot.PlottingUtil.polylineDistance(g);if(M<0||M>n)return;this.scaleValues[2]=M/n}else if(3===t){var m=n*this.scaleValues[2],d=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,m);if(-1===d.index)return;var v=SuperMap.Plot.PlottingUtil.distance(d.pt,e);this.scaleValues[3]=v/o}}}},{key:"GetCurvePts",value:function(t,e,l){for(var o,i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),n=SuperMap.Plot.PlottingUtil.polylineDistance(i),r=n*e,a=n*l/2,s=[],p=[],u=i[0],c=!1,P=i[0],S=1;S<i.length;S++){var h=i[S],y=SuperMap.Plot.PlottingUtil.distance(u,h);if(!(y<r&&S!==i.length-1)){for(var f,g=parseInt(y/r),b=0;b<g;b++){f=SuperMap.Plot.PlottingUtil.linePnt(u,h,r),c||(o=f,c=!0);var M=this.GetCosPts2D(u,f,r,a);s=p.length>1&&0===b?this.ClearCurvePts2D(P,u,h,p,M,s):s.concat(M),p=(p=[]).concat(M),P=u,u=f}S===i.length-1&&(f=i[i.length-1],M=this.GetCosPts2D(u,f,r,a),s=p.length>1&&M.length>1?this.ClearCurvePts2D(P,u,h,p,M,s):s.concat(M))}}return{pt:s,scalePt:o}}},{key:"GetCosPts2D",value:function(t,e,l,o){for(var i=[],n=SuperMap.Plot.PlottingUtil.distance(t,e),r=l/30,a=0;a<n;a+=r){var s=a*(2*Math.PI/l),p=o*Math.cos(s),u=new SuperMap.Geometry.Point(a,p),c=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,P=SuperMap.Plot.PlottingUtil.coordinateTrans(t,u,c);i.push(P)}return i}},{key:"ClearCurvePts2D",value:function(t,e,l,o,i,n){for(var r=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,a=180*SuperMap.Plot.PlottingUtil.radian(e,t)/Math.PI-r;a<=0;)a+=360;var s=a/2,p=l;p=SuperMap.Plot.PlottingUtil.rotateAngle(e,s*Math.PI/180,p);for(var u=SuperMap.Plot.PlottingUtil.linePnt(e,p,1),c=0,P=0;P<o.length;P++)if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,o[P])){c=P;break}if(0!=c)for(var S=0;S<o.length-c;S++)n.slice(S,n.length-1);for(var h=0;h<i.length;h++)SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,i[h])&&n.push(i[h]);return n}}]),e}();SuperMap.Plot.AlgoSymbol2091503=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol60310=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=this.subSymbols[0].symbolData.symbolSize.x;var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(a.pts,r.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=100*SuperMap.Plot.PlottingUtil.distance(r.pts,a.pts)/l;if(null==this.subSymbols.length)return;if(null!=this.subSymbols[0].code){this.computeSubSymbol(this.subSymbols[0],a.pts,p,s-90);var u=SuperMap.Plot.PlottingUtil.circlePoint(a.pts,p,p,s+90),c=SuperMap.Plot.PlottingUtil.circlePoint(a.pts,2*p,2*p,s+90),P=[];P.push(u),P.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=SuperMap.Plot.PlottingUtil.circlePoint(c,.2*p,.2*p,s+90),h=SuperMap.Plot.PlottingUtil.circlePoint(c,.05*p,.05*p,s),y=SuperMap.Plot.PlottingUtil.circlePoint(c,.05*p,.05*p,s+180),f=[];f.push(S),f.push(h),f.push(y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f,{fillLimit:!0,fill:!0})}r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(3===t&&null==n.pt&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol60310=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol60306=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0]*e,o=t[0].clone(),i=t[1].clone(),n=SuperMap.Plot.PlottingUtil.linePnt(i,o,e+.2*e),r=SuperMap.Plot.PlottingUtil.linePnt(o,i,e+.2*e),a=1.5*l,s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i,n),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,o,r),u=SuperMap.Plot.PlottingUtil.paraLine(t,l,!0),c=SuperMap.Plot.PlottingUtil.paraLine(t,l,!1),P=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],3*e/11),S=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],4*e/11),h=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],7*e/11),y=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],8*e/11),f=[];f.push(s.pntRight),f.push(u[0]),f.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=[];g.push(S),g.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);var b=[];b.push(y),b.push(u[u.length-1]),b.push(p.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var M=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],3*e/11),m=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],4*e/11),d=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],7*e/11),v=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],8*e/11),O=[];O.push(s.pntLeft),O.push(c[0]),O.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O);var U=[];U.push(m),U.push(d),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U);var w=[];w.push(v),w.push(c[c.length-1]),w.push(p.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol60306=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol60305=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=.05*SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.paraLine(t,e,!0),o=SuperMap.Plot.PlottingUtil.paraLine(t,e,!1),i=l[0],n=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,l[0],l[1]),r=[];r.push(i),r.push(n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var a=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2+.2/3,l[0],l[1]),s=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3,l[0],l[1]),p=[];p.push(a),p.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);var u=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3*2,l[0],l[1]),c=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(3*.2+.2/3*2,l[0],l[1]),P=[];P.push(u),P.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,l[0],l[1]),h=l[1],y=[];y.push(S),y.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var f=o[0],g=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,o[0],o[1]),b=[];b.push(f),b.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var M=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2+.2/3,o[0],o[1]),m=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3,o[0],o[1]),d=[];d.push(M),d.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3*2,o[0],o[1]),O=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(3*.2+.2/3*2,o[0],o[1]),U=[];U.push(v),U.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U);var w=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,o[0],o[1]),L=o[1],_=[];_.push(w),_.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_);var V=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(1/3,t[0],t[1]),A=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(1/3*2,t[0],t[1]),T=[];T.push(V),T.push(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T);var E=SuperMap.Plot.PlottingUtil.radian(V,A)*SuperMap.Plot.PlottingUtil.RTOD,x=SuperMap.Plot.PlottingUtil.distance(V,A),j=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,V,A),Y=SuperMap.Plot.PlottingUtil.circlePoint(j,.025*x,.025*x,E+90),C=SuperMap.Plot.PlottingUtil.circlePoint(j,.025*x,.025*x,E-90),I=[];I.push(Y),I.push(C),I.push(V);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,I,{fillLimit:!0,fill:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol60305=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol60304=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l.subText="隧",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol2121505),e}();SuperMap.Plot.AlgoSymbol60304=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2121505=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l.subText="火",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=SuperMap.Plot.PlottingUtil.distance(e,l),i=o*this.scaleValues[0],n=SuperMap.Plot.PlottingUtil.linePnt(e,l,.5*o),r=SuperMap.Plot.PlottingUtil.linePnt(n,e,2*i),a=SuperMap.Plot.PlottingUtil.linePnt(n,l,2*i),s=[];s.push(t[0],r);var p=[];p.push(a,t[1]);var u=SuperMap.Plot.PlottingUtil.paraLine(s,i,!0),c=SuperMap.Plot.PlottingUtil.paraLine(s,i,!1),P=SuperMap.Plot.PlottingUtil.paraLine(p,i,!0),S=SuperMap.Plot.PlottingUtil.paraLine(p,i,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=this.subText,y=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,f=new SuperMap.Geometry.Point(n.x,n.y),g=SuperMap.Plot.PlottingUtil.distance(r,a);this.addText(h,f,g,y),this.addScalePoint(u[0],0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;i>.24&&(i=.24),this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol2121505=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol60301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="爆",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol60301=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol60205=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(90),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[2]=2*o}var i=l*this.scaleValues[0],n=this.scaleValues[1],r=l*this.scaleValues[2],a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,e);if(a.bfind){var s=a.pts.clone(),p=e[a.index].clone(),u=e[a.index+1].clone(),c=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,P=SuperMap.Plot.PlottingUtil.circlePoint(s,r,r,c+n),S=[];S.push(a.pts),S.push(P);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0,surroundLineLimit:!0});var h=SuperMap.Plot.PlottingUtil.radian(s,P)*SuperMap.Plot.PlottingUtil.RTOD,y=new SuperMap.Geometry.Point(-.2*r,.05*r),f=new SuperMap.Geometry.Point(-.2*r,-.05*r),g=SuperMap.Plot.PlottingUtil.coordinateTrans(P,y,h),b=SuperMap.Plot.PlottingUtil.coordinateTrans(P,f,h),M=[];M.push(P),M.push(g),M.push(b);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M,{lineTypeLimit:!0,surroundLineLimit:!0,fillLimit:!0,fill:!0});var m=.3*r,d=.6*r,v=i-d;v<0&&(v=0);var O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(v,e);if(O.bfind){var U=[];U.push(O.pts);for(var w=O.index;w>=0;w--)U.push(e[w]);var L=[];L.push(O.pts);for(var _=O.index+1;_<e.length;_++)L.push(e[_]);var V=.6*m,A=[];if(U.length>1){var T=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,U);if(T.bfind){(A=[]).push(T.pts);for(var E=T.index+1;E<U.length;E++)A.push(U[E]);U=[],A.length>1&&(U=U.concat(A))}}if(U.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U),L.length>1){var x=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,L);if(x.bfind){(A=[]).push(x.pts);for(var j=x.index+1;j<L.length;j++)A.push(L[j]);L=[],A.length>1&&(L=L.concat(A))}}var Y=i+d;Y>l&&(Y=l),Y=l-Y;for(var C=[],I=L.length-1;I>=0;I--)C.push(L[I]);var B=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(Y,C);if(B.bfind){var R=[];R.push(B.pts);for(var G=B.index;G>=0;G--)R.push(C[G]);var N=[];N.push(B.pts);for(var D=B.index+1;D<C.length;D++)N.push(C[D]);if(R.length>1){var k=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,R);if(k.bfind){(A=[]).push(k.pts);for(var z=k.index+1;z<R.length;z++)A.push(R[z]);R=[],A.length>1&&(R=R.concat(A))}}if(R.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,R),N.length>1){var F=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,N);if(F.bfind){(A=[]).push(F.pts);for(var K=F.index+1;K<N.length;K++)A.push(N[K]);N=[],A.length>1&&(N=N.concat(A))}}N.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,N),this.subSymbols.length>0&&(this.computeSubSymbol(this.subSymbols[0],O.pts,m,c+n+180,.3),this.computeSubSymbol(this.subSymbols[1],B.pts,m,c+n+180,.3)),this.addScalePoint(a.pts,0),this.addScalePoint(P,1),this.finish()}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;if(0>t||1<t)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var n=[],r=0;r<o.length;r++)n.push(o[r]);for(var a=-1,s=new SuperMap.Geometry.Point(0,0),p=0,u=0;u<n.length-1;u++){var c=[];c.push(n[u]),c.push(n[u+1]);var P=SuperMap.Plot.PlottingUtil.projectPoint(e,n[u],n[u+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(P,c).isOnPolyLine){var S=SuperMap.Plot.PlottingUtil.distance(e,P);-1===a?(a=u,s=P,p=S):p>S&&(a=u,s=P,p=S)}}if(-1===a||a>n.length-1)return;for(var h=0,y=0;y<a;y++){var f=o[y].clone(),g=o[y+1].clone();h+=SuperMap.Plot.PlottingUtil.distance(f,g)}var b=o[a].clone();if((h+=SuperMap.Plot.PlottingUtil.distance(b,s))<0||h>i)return;this.scaleValues[0]=h/i}if(1===t){var M=i*this.scaleValues[0],m=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(M,o);if(!m.bfind)return;var d=m.pts.clone(),v=new SuperMap.Geometry.Point(o[m.index].x,o[m.index].y),O=new SuperMap.Geometry.Point(o[m.index+1].x,o[m.index+1].y),U=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD,w=SuperMap.Plot.PlottingUtil.radian(d,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[1]=w-U;var L=SuperMap.Plot.PlottingUtil.distance(d,e);this.scaleValues[2]=L/i}}}}]),e}();SuperMap.Plot.AlgoSymbol60205=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol60203=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length===this.minEditPts){for(var e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t),l=[],o=0;o<e.length;o++)l.push(e[o]);if(!(l.length<4)){var i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=SuperMap.Plot.PlottingUtil.distance(l[1],l[2]),r=0;r=i<n?.2*i:.2*n;var a=SuperMap.Plot.PlottingUtil.findPointInLine(l[0],l[1],.5*i-.5*r),s=SuperMap.Plot.PlottingUtil.findPointInLine(l[0],l[1],.5*i+.5*r),p=SuperMap.Plot.PlottingUtil.findPointInLine(l[1],l[2],.5*n-.5*r),u=SuperMap.Plot.PlottingUtil.findPointInLine(l[1],l[2],.5*n+.5*r),c=SuperMap.Plot.PlottingUtil.findPointInLine(l[2],l[3],.5*i-.5*r),P=SuperMap.Plot.PlottingUtil.findPointInLine(l[2],l[3],.5*i+.5*r),S=SuperMap.Plot.PlottingUtil.findPointInLine(l[3],l[0],.5*n-.5*r),h=SuperMap.Plot.PlottingUtil.findPointInLine(l[3],l[0],.5*n+.5*r),y=[];y.push(h),y.push(l[0]),y.push(a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var f=[];f.push(s),f.push(l[1]),f.push(p),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=[];g.push(u),g.push(l[2]),g.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);var b=[];b.push(P),b.push(l[3]),b.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var M=new SuperMap.Geometry.Point((l[0].x+l[2].x)/2,(l[0].y+l[2].y)/2);this.addText("避",M,3*r,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol60203=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50352=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=this.subSymbols[0].symbolData.symbolSize.x;var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(a.pts,r.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=60*SuperMap.Plot.PlottingUtil.distance(r.pts,a.pts)/l,u=new SuperMap.Geometry.Point((a.pts.x+r.pts.x)/2,(r.pts.y+a.pts.y)/2);if(null==this.subSymbols.length)return;if(null!=this.subSymbols[0].code){this.computeSubSymbol(this.subSymbols[0],u,p,s+90);var c=SuperMap.Plot.PlottingUtil.circlePoint(a.pts,p,p,s+90),P=SuperMap.Plot.PlottingUtil.circlePoint(a.pts,2*p,2*p,s+90),S=[];S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*p,.2*p,s+90),y=SuperMap.Plot.PlottingUtil.circlePoint(P,.05*p,.05*p,s),f=SuperMap.Plot.PlottingUtil.circlePoint(P,.05*p,.05*p,s+180),g=[];g.push(h),g.push(y),g.push(f);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,g,{fillLimit:!0,fill:!0})}r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(-1===n.index&&3===t&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol50352=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50342=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=o*this.scaleValues[2],a=o*this.scaleValues[3],s=new SuperMap.Geometry.Point(l.x+r,l.y+a),p=o*n;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],s,p,0);var u=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,180);this.addScalePoint(u,0),this.addScalePoint(s,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===n)return;var r=0,a=0,s=0,p=0;if(0===t){s=n*(r=this.scaleValues[2]),p=n*(a=this.scaleValues[3]);var u=new SuperMap.Geometry.Point(i.x+s,i.y+p),c=SuperMap.Plot.PlottingUtil.distance(e,u)/n;this.scaleValues[0]=c}else 1===t&&(r=(s=e.x-i.x)/n,a=(p=e.y-i.y)/n,this.scaleValues[2]=r,this.scaleValues[3]=a)}}}]),e}();SuperMap.Plot.AlgoSymbol50342=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50308=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05),l.scaleValues.push(-1.5)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit||3===this.scaleValues.length){this.scaleValues=[];for(var e=0;e<t.length;e++)this.scaleValues.push(0);var l=this.getSubSymbolScaleValue();this.scaleValues.push(.8*l),this.scaleValues.push(l),this.scaleValues.push(-1.5)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var o,i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=this.scaleValues.length,r=i*this.scaleValues[n-3],a=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2),s=new SuperMap.Geometry.Point(a.x+r,a.y),p=[];p.push(a),p.push(s),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,p,{fillLimit:!0,fill:!0,fillColorLimit:!0,fillColor:"#141313",fillOpacity:1});var u=this.scaleValues[0];if(0===u)o=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[1],t[0]).pntRight;else if(1===u)o=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[1],t[0]).pntLeft;else{if(2!==u)return;o=t[0]}var c=[];c.push(t[0]),c.push(o),this.addScalePoint(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,null,!0);var P,S=[];if(t.length>this.minEditPts){for(var h=1;h<t.length-1;h++){var y,f=this.scaleValues[h],g=null,b=null,M=null,m=0,d=0,v=0;if(0===f){for(g=t[h],b=t[h+1],M=t[h-1],m=SuperMap.Plot.PlottingUtil.radian(g,b)*SuperMap.Plot.PlottingUtil.RTOD,d=SuperMap.Plot.PlottingUtil.radian(g,M)*SuperMap.Plot.PlottingUtil.RTOD-m;d<0;)d+=360;v=d/2;var O=t[h+1].clone();O=SuperMap.Plot.PlottingUtil.rotateAngle(g,v*Math.PI/180,O),y=SuperMap.Plot.PlottingUtil.linePnt(g,O,r)}else if(1===f){for(g=t[h],b=t[h+1],M=t[h-1],m=SuperMap.Plot.PlottingUtil.radian(g,b)*SuperMap.Plot.PlottingUtil.RTOD,d=SuperMap.Plot.PlottingUtil.radian(g,M)*SuperMap.Plot.PlottingUtil.RTOD-m;d<0;)d+=360;v=180-d/2;var U=t[h-1].clone();O=SuperMap.Plot.PlottingUtil.rotateAngle(g,v*Math.PI/180,U),y=SuperMap.Plot.PlottingUtil.linePnt(g,U,r)}else{if(2!==f)continue;y=t[h]}S.push(t[h]),S.push(y),this.addScalePoint(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,null,!0)}var w=t.length,L=this.scaleValues[w-1],_=0,V=0,A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[w-2],t[w-1]),T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*r,t[w-2],t[w-1]);if(0===L)_=A.pntLeft,V=T.pntLeft;else if(1===L)_=A.pntRight,V=T.pntRight;else{if(2!==L)return;_=t[w-1].clone(),V=t[w-1].clone()}(S=[]).push(t[w-1]),S.push(_),this.addScalePoint(_),this.addScalePoint(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,null,!0)}else{var E=this.scaleValues[1];if(A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[0],t[1]),T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*r,t[0],t[1]),0===E)_=A.pntLeft,V=T.pntLeft;else if(1===E)_=A.pntRight,V=T.pntRight;else{if(2!==E)return;_=t[1].clone(),V=t[1].clone()}(S=[]).push(t[1]),S.push(_),this.addScalePoint(_),this.addScalePoint(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,null,!0)}var x=this.scaleValues.length,j=this.scaleValues[x-2],Y=Math.abs(i*j),C=this.scaleValues[x-1],I=Math.abs(r*C),B=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,Y);if(-1!==B.index){var R=B.index,G=B.pt;P=C>=0?(A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,t[R],G)).pntRight:(A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,t[R],G)).pntLeft;var N=SuperMap.Plot.PlottingUtil.linePnt(G,P,I),D=.3*I,k=SuperMap.Plot.PlottingUtil.linePnt(N,G,D),z=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*D,N,k),F=z.pntLeft,K=z.pntRight;(S=[]).push(G),S.push(N),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,null,!0),(S=[]).push(F),S.push(N),S.push(K);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.addScalePoint(N),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=l.length,n=e;if(t>=0&&t<i){var r=!1,a=null,s=null;r=0===t?SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t],l[t+1],n):t===i-1?SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],n):SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],l[t+1])!==(a=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],n))?a:(s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t],l[t+1],n))===a?a:s,this.scaleValues[t]=r?1:0}else if(t===i){var p=SuperMap.Plot.PlottingUtil.distance(l[i-1],n)/2;this.scaleValues[t]=p/o}else if(t===i+1||t===i+2){for(var u=-1,c=0,P=new SuperMap.Geometry.Point(0,0),S=0;S<l.length-1;S++){var h=[];h.push(l[S]),h.push(l[S+1]);var y=SuperMap.Plot.PlottingUtil.projectPoint(n,l[S],l[S+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(y,h).isOnPolyLine){var f=SuperMap.Plot.PlottingUtil.distance(n,y);-1===u?(u=S,P=y,c=f):c>f&&(u=S,P=y,c=f)}}if(-1===u||u>l.length-1)return;for(var g=0,b=0;b<u;b++){var M=l[b],m=l[b+1];g+=SuperMap.Plot.PlottingUtil.distance(M,m)}var d=l[u];if((g+=SuperMap.Plot.PlottingUtil.distance(d,P))<0||g>o)return;this.scaleValues[i+1]=g/o;var v,O=this.scaleValues.length,U=o*this.scaleValues[O-3];v=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[u],l[u+1],n)?c/U:-Math.abs(c/U),this.scaleValues[i+2]=v}}}}]),e}();SuperMap.Plot.AlgoSymbol50308=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50226=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.088259),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),!(this.controlPoints.length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),i=this.scaleValues[0],n=this.scaleValues[2],r=this.scaleValues[3];o.x=o.x+n*l,o.y=o.y+r*l;var a=new SuperMap.Geometry.Point(.5*l*i,0),s=new SuperMap.Geometry.Point(-.5*l*i,0),p=SuperMap.Plot.PlottingUtil.coordinateTrans(o,a,0),u=SuperMap.Plot.PlottingUtil.coordinateTrans(o,s,0),c=[];c.push(p),c.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var P=new SuperMap.Geometry.Point(.8*l*i,0),S=new SuperMap.Geometry.Point(-.8*l*i,0),h=SuperMap.Plot.PlottingUtil.coordinateTrans(o,P,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(o,S,0);this.subSymbols.length>0&&(this.computeSubSymbol(this.subSymbols[0],h,18*i,90),this.computeSubSymbol(this.subSymbols[0],y,18*i,90));var f=SuperMap.Plot.PlottingUtil.circlePoint(o,i*l,i*l,180);this.addScalePoint(f,0),this.addScalePoint(o,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.controlPoints.length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0===t){n.x=n.x+this.scaleValues[2]*i,n.y=n.y+this.scaleValues[3]*i;var r=SuperMap.Plot.PlottingUtil.distance(e,n)/i;this.scaleValues[0]=r}if(1===t){var a=(e.x-n.x)/i;this.scaleValues[2]=a;var s=(e.y-n.y)/i;this.scaleValues[3]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol50226=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50225=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);this.isEdit||(this.subSymbolScaleValue=this.getDefaultSubSymbolSize()/e,this.subSymbolScaleValue>.2&&(this.subSymbolScaleValue=.2),this.scaleValues[0]=this.subSymbolScaleValue);var o=this.scaleValues[0],i=this.scaleValues[2],n=this.scaleValues[3],r=e*o,a=new SuperMap.Geometry.Point(l.x+e*i,l.y+e*n);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,r,0),this.addScalePoint(a,0);var s=SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,90);this.addScalePoint(s,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=0,r=0;if(0===t&&(n=(e.x-i.x)/o,this.scaleValues[2]=n,r=(e.y-i.y)/o,this.scaleValues[3]=r),1===t){n=this.scaleValues[2],r=this.scaleValues[3];var a=new SuperMap.Geometry.Point(i.x+o*n,i.y+o*r),s=SuperMap.Plot.PlottingUtil.distance(a,e);this.scaleValues[0]=s/2/o}}}}]),e}();SuperMap.Plot.AlgoSymbol50225=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50223=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.088259),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.088259),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3];l.x=l.x+r*o,l.y=l.y+a*o;var s=new SuperMap.Geometry.Point(.25*o*n,.25*o*n),p=new SuperMap.Geometry.Point(0,.5*o*n),u=new SuperMap.Geometry.Point(-.25*o*n,.25*o*n),c=SuperMap.Plot.PlottingUtil.coordinateTrans(l,s,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(l,p,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(l,u,0);this.addCell(SuperMap.Plot.SymbolType.ARCSYMBOL,[c,P,S],{lineTypeLimit:!0,lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,surroundLineLimit:!0});var h=new SuperMap.Geometry.Point(0,-.3*o*n),y=SuperMap.Plot.PlottingUtil.coordinateTrans(l,h,0);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c,y,S],{lineTypeLimit:!0,lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,surroundLineLimit:!0}),this.scalePoints=[];var f=SuperMap.Plot.PlottingUtil.circlePoint(l,n*o*.5,n*o*.5,180);this.addScalePoint(f,0),this.addScalePoint(l,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){i.x=i.x+this.scaleValues[2]*n,i.y=i.y+this.scaleValues[3]*n;var r=SuperMap.Plot.PlottingUtil.distance(e,i)/n;this.scaleValues[0]=r}else if(1===t){var a=(e.x-i.x)/n;this.scaleValues[2]=a;var s=(e.y-i.y)/n;this.scaleValues[3]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol50223=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50108=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,s,0);for(var u=0;u<this.components.length;u++)this.components[u].style.strokeColor="#0000ff",this.components[u].style.lineColorLimit=!0,this.components[u].style.strokeOpacity=1,this.components[u].style.color="#0000ff",this.components[u].style.opacity=1;this.addScalePoint(p);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=0,a=0;if(0===t)r=(e.x-i.x)/n,this.scaleValues[2]=r,a=(e.y-i.y)/n,this.scaleValues[3]=a;else if(1===t){r=this.scaleValues[2],a=this.scaleValues[3];var s=new SuperMap.Geometry.Point(i.x+n*r,i.y+n*a),p=SuperMap.Plot.PlottingUtil.distance(s,e);this.scaleValues[0]=p/n}}}}]),e}();SuperMap.Plot.AlgoSymbol50108=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40304=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),!(this.controlPoints.length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=.5*e,o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l,t);if(-1!==o.index){for(var i=[],n=0;n<o.index+1;n++)i.push(t[n]);var r=[],a=.1*e,s=.5*a,p=.05*e;if(l-SuperMap.Plot.PlottingUtil.polylineDistance(i)>=p){var u=SuperMap.Plot.PlottingUtil.linePnt(o.pts,t[o.index],p);i.push(u),this.ComputeDashLine(a,s,i);var c=SuperMap.Plot.PlottingUtil.linePnt(o.pts,t[o.index],p);r.push(c);for(var P=o.index+1;P<t.length;++P)r.push(t[P]);this.ComputeDashLine(a,s,r)}else{for(var S=-1,h=i.length-1;h>=0;h--){var y=new SuperMap.Geometry.Point(i[h].x,i[h].y),f=new SuperMap.Geometry.Point(o.pts.x,o.pts.y),g=SuperMap.Plot.PlottingUtil.distance(y,f);if(g>p){S=h;break}}if(-1==S)return;i.splice(S+1,i.length-1-S),u=SuperMap.Plot.PlottingUtil.linePnt(o.pts,t[S],p),i.push(u),this.ComputeDashLine(a,s,i);for(var b=-1,M=i.length-1;M<t.length;M++)if(y=new SuperMap.Geometry.Point(t[M].x,t[M].y),f=new SuperMap.Geometry.Point(o.pts.x,o.pts.y),(g=SuperMap.Plot.PlottingUtil.distance(y,f))>p){b=M;break}if(-1==b)return;c=SuperMap.Plot.PlottingUtil.linePnt(o.pts,t[b],p),r.push(c);for(var m=b+1;m<t.length;++m)r.push(t[m]);this.ComputeDashLine(a,s,r)}var d=u.clone(),v=c.clone(),O=SuperMap.Plot.PlottingUtil.radian(d,v)*SuperMap.Plot.PlottingUtil.RTOD,U=SuperMap.Plot.PlottingUtil.distance(d,v),w=new SuperMap.Geometry.Point((u.x+c.x)/2,(u.y+c.y)/2);this.addText("警",w,U,O),this.finish()}}}},{key:"ComputeDashLine",value:function(t,e,l){for(var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.clonePoints(l),n=o/7,r=0;r<7;r++){var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,n);if(-1!==a.index){if(0!=r%2){for(var s=[],p=0;p<a.index+1;p++)s.push(i[p].clone());s.push(a.pt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}var u=[];u.push(a.pt);for(var c=a.index+1;c<i.length;c++)u.push(i[c]);i=(i=[]).concat(u)}}i.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}}]),e}();SuperMap.Plot.AlgoSymbol40304=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40302=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);this.isEdit||(this.subSymbolScaleValue=this.getDefaultSubSymbolSize()/e,this.subSymbolScaleValue>.2&&(this.subSymbolScaleValue=.2),this.scaleValues[2]=this.subSymbolScaleValue/3);var o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x-4*n,r.y),s=new SuperMap.Geometry.Point(r.x-4*n,r.y-n/2),p=[];p.push(a),p.push(s);var u={lineTypeLimit:!0,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,u);var c=new SuperMap.Geometry.Point(r.x-4*n,r.y),P=new SuperMap.Geometry.Point(r.x-n,r.y),S=[];S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,u),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,2*n,0);var h=new SuperMap.Geometry.Point(r.x+4*n,r.y),y=new SuperMap.Geometry.Point(r.x+n,r.y),f=[];f.push(h),f.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f,u);var g=new SuperMap.Geometry.Point(r.x+4*n,r.y+n/2),b=new SuperMap.Geometry.Point(r.x+4*n,r.y),M=[];M.push(g),M.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M,u),this.addScalePoint(r,0);var m=SuperMap.Plot.PlottingUtil.circlePoint(r,2*n,2*n,90);this.addScalePoint(m,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=0,r=0;if(0===t&&(n=(e.x-i.x)/o,this.scaleValues[0]=n,r=(e.y-i.y)/o,this.scaleValues[1]=r),1===t){n=this.scaleValues[0],r=this.scaleValues[1];var a=new SuperMap.Geometry.Point(i.x+o*n,i.y+o*r),s=SuperMap.Plot.PlottingUtil.distance(a,e);this.scaleValues[2]=s/2/o}}}}]),e}();SuperMap.Plot.AlgoSymbol40302=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40104=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x+1,r.y),s=[];t.push(t[0].clone());for(var p=0;p<t.length-1;p++){var u=SuperMap.Plot.PlottingUtil.intersectLines(r,a,t[p],t[p+1]);u.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(u.intersectPoint,t[p],t[p+1])&&s.push(u.intersectPoint))}if(0>=s.length)this.finish();else{var c=s[0].clone(),P=s[0].clone();for(p=0;p<s.length;p++)c.x>s[p].x&&(c=s[p].clone()),P.x<s[p].x&&(P=s[p].clone());var S=new SuperMap.Geometry.Point(r.x-n/2,c.y),h=new SuperMap.Geometry.Point(r.x+n/2,P.y),y=SuperMap.Plot.PlottingUtil.radian(S,h)*SuperMap.Plot.PlottingUtil.RTOD;this.addText("缉",r,n,y),this.addScalePoint(r,0);var f=SuperMap.Plot.PlottingUtil.circlePoint(r,n/2,n/2,90);this.addScalePoint(f,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),n=e,r=0,a=0;if(0===t){if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,n))return;r=(n.x-i.x)/o,this.scaleValues[0]=r,a=(n.y-i.y)/o,this.scaleValues[1]=a}if(1===t){r=this.scaleValues[0],a=this.scaleValues[1];var s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=2*SuperMap.Plot.PlottingUtil.distance(n,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol40104=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30026=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t),this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=new SuperMap.Geometry.Point(l.x+1,l.y),i=[];t.push(t[0].clone());for(var n=0;n<t.length-1;n++){var r=SuperMap.Plot.PlottingUtil.intersectLines(l,o,t[n],t[n+1]);r.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(r.intersectPoint,t[n],t[n+1])&&i.push(r.intersectPoint))}if(!(0>=i.length)){var a=i[0].clone(),s=i[0].clone();for(n=0;n<i.length;n++)a.x>i[n].x&&(a=i[n].clone()),s.x<i[n].x&&(s=i[n].clone());var p=SuperMap.Plot.PlottingUtil.distance(s,a),u=new SuperMap.Geometry.Point(l.x-.25*p,a.y),c=e*this.scaleValues[0],P=e*this.scaleValues[0],S=P+c,h=new SuperMap.Geometry.Point(u.x,u.y+S);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[h,new SuperMap.Geometry.Point(h.x+c,h.y)]);var y=new SuperMap.Geometry.Point(u.x,u.y+.8*P),f=new SuperMap.Geometry.Point(u.x-P,u.y-P),g=new SuperMap.Geometry.Point(u.x+P,u.y-P),b=[];b.push(y),b.push(f),b.push(g),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b);var M=new SuperMap.Geometry.Point(u.x-.5*P,u.y-P),m=new SuperMap.Geometry.Point(f.x,f.y-2*c),d=new SuperMap.Geometry.Point(u.x+.5*P,u.y-P),v=new SuperMap.Geometry.Point(g.x,g.y-2*c),O=[];O.push(M),O.push(m);var U=[];U.push(d),U.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U),this.addText("灾",l,2*P,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol30026=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30025=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());var o=new SuperMap.Geometry.Point(l.x+1,l.y),i=[];t.push(t[0].clone());for(var n=0;n<t.length-1;n++){var r=SuperMap.Plot.PlottingUtil.intersectLines(l,o,t[n],t[n+1]);r.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(r.intersectPoint,t[n],t[n+1])&&i.push(r.intersectPoint))}if(!(0>=i.length)){var a=i[0].clone(),s=i[0].clone();for(n=0;n<i.length;n++)a.x>i[n].x&&(a=i[n].clone()),s.x<i[n].x&&(s=i[n].clone());var p=SuperMap.Plot.PlottingUtil.distance(s,a),u=new SuperMap.Geometry.Point(l.x-.25*p,a.y),c=e*this.scaleValues[0],P=e*this.scaleValues[0],S=P+c,h=new SuperMap.Geometry.Point(u.x,u.y+S);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[h,new SuperMap.Geometry.Point(h.x+c,h.y)]);var y=new SuperMap.Geometry.Point(u.x,u.y+.8*P),f=new SuperMap.Geometry.Point(u.x-P,u.y-P),g=new SuperMap.Geometry.Point(u.x+P,u.y-P),b=[];b.push(y),b.push(f),b.push(g),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b);var M=new SuperMap.Geometry.Point(u.x-.5*P,u.y-P),m=new SuperMap.Geometry.Point(f.x,f.y-2*c),d=new SuperMap.Geometry.Point(u.x+.5*P,u.y-P),v=new SuperMap.Geometry.Point(g.x,g.y-2*c),O=[];O.push(M),O.push(m);var U=[];U.push(d),U.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U),this.addText("滞",l,2*P,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol30025=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30020=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l.subText="水",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x+1,r.y),s=[];t.push(t[0].clone());for(var p=0;p<t.length-1;p++){var u=SuperMap.Plot.PlottingUtil.intersectLines(r,a,t[p],t[p+1]);u.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(u.intersectPoint,t[p],t[p+1])&&s.push(u.intersectPoint))}if(0>=s.length)this.finish();else{var c=s[0].clone(),P=s[0].clone();for(p=0;p<s.length;p++)c.x>s[p].x&&(c=s[p].clone()),P.x<s[p].x&&(P=s[p].clone());var S=[],h=new SuperMap.Geometry.Point(r.x-n/2,c.y);h.x<=P.x&&h.x>=c.x&&((S=[]).push(c),S.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S));var y=new SuperMap.Geometry.Point(r.x+n/2,P.y);y.x<=P.x&&y.x>=c.x&&((S=[]).push(P),S.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S));var f=SuperMap.Plot.PlottingUtil.radian(h,y)*SuperMap.Plot.PlottingUtil.RTOD;this.addText(this.subText,r,n,f),this.addScalePoint(r,0);var g=SuperMap.Plot.PlottingUtil.circlePoint(r,n/2,n/2,90);this.addScalePoint(g,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),n=0,r=0,a=e;if(0===t){if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,a))return;n=(a.x-i.x)/o,this.scaleValues[0]=n,r=(a.y-i.y)/o,this.scaleValues[1]=r}if(1===t){n=this.scaleValues[0],r=this.scaleValues[1];var s=new SuperMap.Geometry.Point(i.x+n*o,i.y+r*o),p=2*SuperMap.Plot.PlottingUtil.distance(a,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol30020=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30014=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=.1*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),o=this.textContent.length*l/2.5,i=.5*(e-o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t);if(-1!==n.index){var r=SuperMap.Plot.PlottingUtil.clonePoints(t);r.splice(n.index+1,t.length-n.index-1),r.push(n.pts);var a={lineColorLimit:!0,strokeColor:"#0000ff",color:"#0000ff"},s=SuperMap.Plot.PlottingUtil.paraLine(r,.25*l,!0),p=SuperMap.Plot.PlottingUtil.paraLine(r,.25*l,!1),u=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i+o,t);if(-1!==u.index){var c=SuperMap.Plot.PlottingUtil.clonePoints(t);c.splice(0,u.index+1),c.splice(0,0,u.pts);var P=SuperMap.Plot.PlottingUtil.paraLine(c,.25*l,!0),S=SuperMap.Plot.PlottingUtil.paraLine(c,.25*l,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s,a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,a);var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*e,t),y=SuperMap.Plot.PlottingUtil.radian(n.pts,u.pts)*SuperMap.Plot.PlottingUtil.RTOD;this.addText("(XX)",h.pts,o,y),this.finish()}}}}}]),e}();SuperMap.Plot.AlgoSymbol30014=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30013=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=.1*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],Math.sqrt(3)*e/4),o=SuperMap.Plot.PlottingUtil.clonePoints(t);o.splice(t.length-1,1),o.push(l);var i=SuperMap.Plot.PlottingUtil.paraLine(o,.25*e,!0),n={lineColorLimit:!0,strokeColor:"#0000ff",color:"#0000ff"},r=SuperMap.Plot.PlottingUtil.paraLine(o,.25*e,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n);var a=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],e),s=new SuperMap.Geometry.Point(a.x,a.y),p=new SuperMap.Geometry.Point(a.x,a.y);s=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],1/6*Math.PI,s),p=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],11/6*Math.PI,p);var u=[];u.push(s),u.push(t[t.length-1]),u.push(p),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol30013=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30012=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=this.scaleValues[0],l=this.scaleValues[1],o=this.scaleValues[2],i=SuperMap.Plot.PlottingUtil.getOutRectangleDis(t);if(0!==i){if(!this.isEdit){var n=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[2]=n/i}var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),a=new SuperMap.Geometry.Point(r.x+e*i,r.y+l*i),s=o*i;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,s,0),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t),this.addScalePoint(a,0);var p=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,90);this.addScalePoint(p,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.getOutRectangleDis(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=new SuperMap.Geometry.Point(e.x,e.y);if(0===t&&(this.scaleValues[0]=(n.x-i.x)/o,this.scaleValues[1]=(n.y-i.y)/o),1===t){var r=this.scaleValues[0],a=this.scaleValues[1],s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=SuperMap.Plot.PlottingUtil.distance(e,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol30012=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30011=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts||0!==SuperMap.Plot.PlottingUtil.getOutRectangleDis(t)&&(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t),this.finish())}}]),e}();SuperMap.Plot.AlgoSymbol30011=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30010=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(-.1),l.scaleValues.push(-.1),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=this.scaleValues[0],l=this.scaleValues[1],o=this.scaleValues[2],i=SuperMap.Plot.PlottingUtil.getOutRectangleDis(t);if(0!==i){if(!this.isEdit){var n=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[2]=n/i}t.length===this.minEditPts?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),a=new SuperMap.Geometry.Point(r.x+e*i,r.y+l*i),s=o*i;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,s,0),this.addText("?",r,.3*i,0,"#0000ff"),this.addScalePoint(a,0);var p=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,90);this.addScalePoint(p,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.getOutRectangleDis(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=new SuperMap.Geometry.Point(e.x,e.y);if(0===t&&(this.scaleValues[0]=(n.x-i.x)/o,this.scaleValues[1]=(n.y-i.y)/o),1===t){var r=this.scaleValues[0],a=this.scaleValues[1],s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=SuperMap.Plot.PlottingUtil.distance(e,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol30010=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30009=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(-.04),l.scaleValues.push(-.175),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=l*this.scaleValues[0],i=e[e.length-1];if(e.length>2){for(var n=-1,r=e.length-2;r>=0;r--)if(o<SuperMap.Plot.PlottingUtil.distance(i,e[r])){n=r;break}e.splice(n+1,e.length-n),e.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var a=e[e.length-2],s=e[e.length-1],p=o,u=180*SuperMap.Plot.PlottingUtil.radian(a,s)/Math.PI,c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+157.5),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+202.5),S=[];S.push(c),S.push(i),S.push(P);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var h=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(.8*p,s,a),y=SuperMap.Plot.PlottingUtil.circlePoint(h,p,p,u+90),f=SuperMap.Plot.PlottingUtil.circlePoint(h,p,p,u-90),g=[];g.push(y),g.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);var b=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(1.2*p,s,a),M=SuperMap.Plot.PlottingUtil.circlePoint(b,p,p,u+90),m=SuperMap.Plot.PlottingUtil.circlePoint(b,p,p,u-90),d=[];d.push(M),d.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol30009=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30008=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=l*this.scaleValues[0],i=e[e.length-1];if(e.length>2){for(var n=-1,r=e.length-2;r>=0;r--)if(o<SuperMap.Plot.PlottingUtil.distance(i,e[r])){n=r;break}e.splice(n+1,e.length-n),e.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var a=e[e.length-2],s=e[e.length-1],p=o,u=180*SuperMap.Plot.PlottingUtil.radian(a,s)/Math.PI,c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+157.5),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+202.5),S=[];S.push(c),S.push(i),S.push(P);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol30008=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21221=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL,e);for(var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=e[0].x,i=e[0].x,n=e[0].y,r=e[0].y,a=[],s=0;s<e.length;s++)o>e[s].x&&(o=e[s].x),i<e[s].x&&(i=e[s].x),n>e[s].y&&(n=e[s].y),r<e[s].y&&(r=e[s].y),a.push(e[s]);for(var p=(i-o)/5,u=.2*p,c=[],P=0;P<360;P+=18){var S=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(0,0),u,u,P);c.push(S)}for(var h=0,y=o;y<i;y+=p)for(var f=n;f<r;f+=p){var g=new SuperMap.Geometry.Point(y,f);if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(a,g))if(0===h){if(h=0,this.subSymbols.length>0){var b=.015*l;this.computeSubSymbol(this.subSymbols[0],g,b,0),!0===this.subSymbols[0].fillLimit&&(this.subSymbols[0].fillColor="#332323")}h++}else if(h=0,this.subSymbols.length>0){var M=.015*l;this.computeSubSymbol(this.subSymbols[1],g,M,0)}}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol21221=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21216=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=.05*e,o=SuperMap.Plot.PlottingUtil.paraLine(t,.5*l,!0);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);var i=[];i=i.concat(o);for(var n=SuperMap.Plot.PlottingUtil.polylineDistance(i),r=50*this.getSubSymbolScaleValue(),a=n*r*.02,s=n*r*.005,p=.1*n,u=.1*e,c=0;c<=n;c+=p){var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,c+u);if(-1!==P.index){var S,h=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i[P.index],P.pt);S=this.scaleValues[0]>0?new SuperMap.Geometry.Point(h.pntLeft.x,h.pntLeft.y):new SuperMap.Geometry.Point(h.pntRight.x,h.pntRight.y);var y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,S,P.pt),f=[];if(f.push(y.pntRight),f.push(S),f.push(y.pntLeft),0===c){var g=new SuperMap.Geometry.Point(S.x,S.y);g.isScalePoint=!0,g.tag=0,this.scalePoints.push(g)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e);this.scaleValues[0]=o?-1:1}}}]),e}();SuperMap.Plot.AlgoSymbol21216=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3020901=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.125)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(2==t.length){var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=SuperMap.Plot.PlottingUtil.distance(l,o),n=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI,r=SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n+60);e.push(t[0]),e.push(o),e.push(r),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);for(var a=0;a<t.length;a++)e.push(t[a])}var s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),p=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var u=this.scaleValues[0],c=this.scaleValues[1],P=this.scaleValues[2],S=new SuperMap.Geometry.Point(s.x+p*u,s.y+p*c),h=p*P;0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],S,h,0),this.addScalePoint(S.clone());var y=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*h,.5*h,90);this.addScalePoint(y),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];if(2==l.length){var i=new SuperMap.Geometry.Point(l[0].x,l[0].y),n=new SuperMap.Geometry.Point(l[1].x,l[1].y),r=SuperMap.Plot.PlottingUtil.distance(i,n),a=180*SuperMap.Plot.PlottingUtil.radian(i,n)/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(i,r,r,a+60);o.push(l[0]),o.push(n),o.push(s),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);for(var p=0;p<l.length;p++)o.push(l[p])}var u=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),c=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)this.scaleValues[0]=(e.x-u.x)/c,this.scaleValues[1]=(e.y-u.y)/c;else if(1===t){var P=new SuperMap.Geometry.Point(u.x+c*this.scaleValues[0],u.y+c*this.scaleValues[1]),S=2*SuperMap.Plot.PlottingUtil.distance(e,P)/c;S<.5&&(this.scaleValues[2]=S)}}}}]),e}();SuperMap.Plot.AlgoSymbol3020901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010304=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="协",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010304=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010303=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="出",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010303=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="调",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010301=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=.4*i}var n=l*this.scaleValues[0],r=l*this.scaleValues[2],a=l*this.scaleValues[3],s=new SuperMap.Geometry.Point(o.x+r,o.y+a),p=.6*n,u=new SuperMap.Geometry.Point(s.x+n,s.y),c=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,0),P=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,180),S=[];S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0});var h=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,90),y=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,270);(S=[]).push(h),S.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0});var f=new SuperMap.Geometry.Point(s.x-n,s.y),g=SuperMap.Plot.PlottingUtil.circlePoint(f,.5*n,.5*n,270),b=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,240),M=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,90),m=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,300);(S=[]).push(g),S.push(b),S.push(M),S.push(m),S.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0}),this.scalePoints=[];var d=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,0);this.addScalePoint(d),this.addScalePoint(s),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var r=i*this.scaleValues[2],a=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+r,n.y+a),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol40100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,s,0),this.addScalePoint(p);var u=s,c=SuperMap.Plot.PlottingUtil.circlePoint(p,u,u,90);this.addScalePoint(c),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol37700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.05),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue()),2==t.length?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=e*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],l,o,0),this.scalePoints=[];var i=SuperMap.Plot.PlottingUtil.circlePoint(l,o,o,90);this.addScalePoint(i),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(e,i)/o;this.scaleValues[0]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol35200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.03),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.03),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=e[0],n=e[1],r=e[e.length-1],a=e[e.length-2],s=SuperMap.Plot.PlottingUtil.radian(i,n)*SuperMap.Plot.PlottingUtil.RTOD,p=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD,u=this.scaleValues[0],c=l*u,P=SuperMap.Plot.PlottingUtil.circlePoint(i,c,c,s+90),S=SuperMap.Plot.PlottingUtil.circlePoint(i,c,c,s+270),h=[];h.push(P),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineTypeLimit:!0}),this.scalePoints=[],this.addScalePoint(S);var y=SuperMap.Plot.PlottingUtil.circlePoint(r,c,c,p+90),f=SuperMap.Plot.PlottingUtil.circlePoint(r,c,c,p+270);(h=[]).push(y),h.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineTypeLimit:!0});var g,b,M=t.length;if(this.scaleValues.length<=M){for(this.scaleValues=[],this.scaleValues.push(u),b=1/M,g=0;g<M-1;g++)this.scaleValues.push(b*(g+1));this.scaleValues.push(u)}for(g=0;g<M-1;g++){var m=(b=this.scaleValues[g+1])*l,d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(m,e);if(!d.bfind)return;var v=d.pts,O=d.index,U=l*this.getSubSymbolScaleValue(),w=.3*U,L=SuperMap.Plot.PlottingUtil.radian(e[O],e[O+1])*SuperMap.Plot.PlottingUtil.RTOD,_=new SuperMap.Geometry.Point(U,-w),V=new SuperMap.Geometry.Point(-U,-w),A=new SuperMap.Geometry.Point(-U,0),T=new SuperMap.Geometry.Point(U,0),E=SuperMap.Plot.PlottingUtil.coordinateTrans(v,_,L),x=SuperMap.Plot.PlottingUtil.coordinateTrans(v,V,L),j=SuperMap.Plot.PlottingUtil.coordinateTrans(v,A,L),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(v,T,L);(h=[]).push(E),h.push(x),h.push(j),h.push(Y),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,{lineTypeLimit:!0,fillLimit:!0,fill:!0}),this.addScalePoint(v)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>=this.scalePoints.length)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0==t){var r=(i=SuperMap.Plot.PlottingUtil.distance(e,l[0]))/n;this.scaleValues[0]=r}else{var a,s=e,p=[];for(a=0;a<o.length;a++)p.push(o[a]);var u=-1,c=0,P=new SuperMap.Geometry.Point(0,0);for(a=0;a<p.length-1;a++){var S=[];S.push(p[a]),S.push(p[a+1]);var h=SuperMap.Plot.PlottingUtil.projectPoint(s,p[a],p[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(h,S).isOnPolyLine){var y=SuperMap.Plot.PlottingUtil.distance(s,h);-1==u?(u=a,P=h,c=y):c>y&&(u=a,P=h,c=y)}}if(-1==u||u>p.length-1)return;for(i=0,a=0;a<u;a++)i+=SuperMap.Plot.PlottingUtil.distance(o[a],o[a+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[u],P))<0||i>n)return;var f=i/n;this.scaleValues[t]=f}}}}]),e}();SuperMap.Plot.AlgoSymbol35000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol44100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.105263),l.scaleValues.push(.181818),l.scaleValues.push(.285714),l.scaleValues.push(.285714)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<5&&(this.scaleValues=[],this.scaleValues.push(.285714),this.scaleValues.push(.105263),this.scaleValues.push(.181818),this.scaleValues.push(.285714),this.scaleValues.push(.285714));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),r=new SuperMap.Geometry.Point(0,o*i),a=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*a),u=new SuperMap.Geometry.Point(o*(1-s),o*a),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,g=[];g.push(r),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(n);for(var b=[],M=0;M<g.length;M++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[M],f);b.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var d=[],v=.06*o,O=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(v,l,e),U=O.pntRight,w=O.pntLeft;d.push(U),d.push(w),v=.15*o;var L=new SuperMap.Geometry.Point(v,0),_=SuperMap.Plot.PlottingUtil.coordinateTrans(e,L,f);d.push(_),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d,{lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,fillLimit:!0,fill:!0}),this.scalePoints=[],this.addScalePoint(b[0]),this.addScalePoint(b[1]),this.addScalePoint(b[2]),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),r=l[1].clone(),a=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(a,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var p=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var c=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol44100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{fillLimit:!0,fill:!1,surroundLineFlag:!1});var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);if(this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0){if(this.subSymbols[0].symbolData)for(var u in this.subSymbols[0].symbolData.innerCells)this.subSymbols[0].symbolData.innerCells[u].type===SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL&&(this.subSymbols[0].symbolData.innerCells[u].type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL);this.computeSubSymbol(this.subSymbols[0],p,s,0)}this.addScalePoint(p);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-r.x)/a,this.scaleValues[2]=i,n=(e.y-r.y)/a,this.scaleValues[3]=n;else if(1===t){i=this.scaleValues[2],n=this.scaleValues[3];var s=new SuperMap.Geometry.Point(r.x+a*i,r.y+a*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/a;this.scaleValues[0]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol42200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(0!=e){var l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],r=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(a.x+i*e,a.y+n*e),p=r*e,u=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,270),c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,30),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,150),S=[];S.push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{fill:!1,lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(h),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),a=e;if(0==t)i=(a.x-r.x)/o,this.scaleValues[0]=i,n=(a.y-r.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(r.x+i*o,r.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(a,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(0!==e){var l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],r=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(a.x+i*e,a.y+n*e),p=r*e,u=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90),c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,210),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,330),S=[];S.push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{fill:!1,lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(h),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),a=e;if(0==t)i=(a.x-r.x)/o,this.scaleValues[0]=i,n=(a.y-r.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(r.x+i*o,r.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(a,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],r=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(a.x+i*e,a.y+n*e),p=r*e,u=new SuperMap.Geometry.Point(s.x,s.y),c=new SuperMap.Geometry.Point(s.x-p,s.y-p),P=new SuperMap.Geometry.Point(s.x+p,s.y-p),S=new SuperMap.Geometry.Point(s.x-p,s.y+p),h=new SuperMap.Geometry.Point(s.x+p,s.y+p),y=[];y.push(u),y.push(c),y.push(P),y.push(u),y.push(S),y.push(h),y.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y,{lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var f=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),a=e;if(0==t)i=(a.x-r.x)/o,this.scaleValues[0]=i,n=(a.y-r.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(r.x+i*o,r.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(a,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.5),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&this.scaleValues.push(.5);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=e/l/2,i=.1*e;this.isEdit||(this.scaleValues[0]=o);var n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l*this.scaleValues[0]-.4*e,t);if(n.bfind){var r=n.pts,a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l*this.scaleValues[0]+.4*e,t);if(a.bfind){var s=a.pts,p=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l*this.scaleValues[0]-.3*e,t);if(p.bfind){var u=p.pts,c=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l*this.scaleValues[0]+.3*e,t);if(c.bfind){var P=c.pts,S=0,h=0,y=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(r,t);y.isOnPolyLine&&(S=y.index);var f=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(s,t);f.isOnPolyLine&&(h=f.index);var g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l*this.scaleValues[0],t);if(g.bfind){var b=g.pts,M=[];if(M.push(u),S!==h)for(var m=S+1;m<=h;m++)M.push(t[m]);M.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);for(var d=[],v=0;v<=n.index;v++)d.push(t[v]);d.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var O=[];if(a.index<=t.length){O.push(s);for(var U=a.index+1;U<=t.length-1;U++)O.push(t[U])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O);for(var w=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(b,M),L=0,_=0;_<w.index;_++)L+=SuperMap.Plot.PlottingUtil.distance(M[_],M[_+1]);L+=SuperMap.Plot.PlottingUtil.distance(b,M[w.index]);var V=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(L-.1,M);if(V.bfind){var A=V.pts,T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.42*e,A,b),E=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.48*e,A,b),x=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.6*e,A,b),j=T.pntLeft,Y=E.pntLeft,C=x.pntLeft;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[b,j]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[Y,C]);var I=SuperMap.Plot.PlottingUtil.polylineDistance([Y,C]),B=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*I,Y,C).pntRight;if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[C,B]),t.length>this.minEditPts){for(var R,G,N,D,k,z,F,K,W,J=1;J<t.length-1;J++){for(R=t[J],G=t[J+1],N=t[J-1],k=180*SuperMap.Plot.PlottingUtil.radian(R,G)/Math.PI,z=180*SuperMap.Plot.PlottingUtil.radian(R,N)/Math.PI-k;z<0;)z+=360;D=z/2,F=t[J+1].clone(),F=SuperMap.Plot.PlottingUtil.rotateAngle(R,D*Math.PI/180,F),K=SuperMap.Plot.PlottingUtil.linePnt(R,F,i),(W=[]).push(t[J]),W.push(K),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,W,null,!0)}var q=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[t.length-2],t[t.length-1]),Z=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],t[0]),X=q.pntLeft,H=Z.pntRight;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],H]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[t.length-1],X])}else{var Q=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[0],t[1]),$=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],t[0]),tt=Q.pntLeft,et=$.pntRight;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],et]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[1],tt])}this.addScalePoint(b,0),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(l.length<this.minEditPts)return;for(var i=-1,n=0,r=new SuperMap.Geometry.Point(0,0),a=0;a<l.length-1;a++){var s=[];s.push(l[a]),s.push(l[a+1]);var p=SuperMap.Plot.PlottingUtil.projectPoint(e,l[a],l[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(p,s).isOnPolyLine){var u=SuperMap.Plot.PlottingUtil.distance(e,p);-1===i?(i=a,r=p,n=u):n>u&&(i=a,r=p,n=u)}}if(-1===i||i>l.length-1)return;for(var c=0,P=0;P<i;P++)c+=SuperMap.Plot.PlottingUtil.distance(l[P],l[P+1]);var S=l[i];if((c+=SuperMap.Plot.PlottingUtil.distance(S,r))<0||c>o)return;var h=c/o,y=SuperMap.Plot.PlottingUtil.distance(l[0],l[1])/o;h<.4*y&&(h=.4*y),h>1-.4*y&&(h=1-.4*y),this.scaleValues[0]=h}}}]),e}();SuperMap.Plot.AlgoSymbol41100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=.2*i}var n=l*this.scaleValues[0],r=l*this.scaleValues[2],a=l*this.scaleValues[3],s=new SuperMap.Geometry.Point(o.x+r,o.y+a),p=[];p.push(s),p.push(new SuperMap.Geometry.Point(s.x+n,s.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,p,{fillLimit:!0,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0});for(var u=18*n,c=new SuperMap.Geometry.Point(s.x+u,s.y),P=[],S=135;S<180;S+=3)P.push(SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,S));P.push(SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,180)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[];var h=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,0);this.addScalePoint(h),this.addScalePoint(s),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var r=i*this.scaleValues[2],a=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+r,n.y+a),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol40101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40900=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[],l=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(t.length<3)e.push(t[0]),e.push(t[1]);else{var o=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=o.scaleValues;for(var i=0;i<o.scalePoints.length;i++)this.addScalePoint(o.scalePoints[i]);e=o.beizerPoints}SuperMap.Plot.PlottingUtil.clearSamePts(e);var n=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(this.getSubSymbolScaleValue())),!(e.length<=0)){var r;r=2==t.length?0:t.length-1;var a=n*this.scaleValues[4*r],s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=l*this.scaleValues[4*r+1],P=a-c,S=a+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var b=[];for(b.push(g),h=p+1;h<e.length;h++)b.push(e[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[u,g]);var M=l*this.scaleValues[4*r+1]/1.667;if(!(f.length<2)){var m=f[0],d=f[1],v=SuperMap.Plot.PlottingUtil.radian(m,d)*SuperMap.Plot.PlottingUtil.RTOD,O=SuperMap.Plot.PlottingUtil.circlePoint(m,M,M,v+90),U=SuperMap.Plot.PlottingUtil.circlePoint(m,M,M,v+270),w=[];if(w.push(O),w.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),!(b.length<2)){var L=b[b.length-1],_=b[b.length-2],V=SuperMap.Plot.PlottingUtil.radian(L,_)*SuperMap.Plot.PlottingUtil.RTOD,A=SuperMap.Plot.PlottingUtil.circlePoint(L,M,M,V+90),T=SuperMap.Plot.PlottingUtil.circlePoint(L,M,M,V+270);(w=[]).push(A),w.push(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),this.addScalePoint(u),this.addScalePoint(O),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var r,a=e,s=[];for(r=0;r<o.length;r++)s.push(o[r]);var p,u=-1,c=0;for(r=0;r<s.length-1;r++){var P=[];P.push(s[r]),P.push(s[r+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(a,s[r],s[r+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(a,S);-1==u?(u=r,p=S,c=h):c>h&&(u=r,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(r=0;r<u;r++){var f=o[r],g=o[r+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var b=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(b,p))<0||y>n)return;var M=y/n;if(M>.8||M<.2)return;2==l.length?this.scaleValues[0]=M:this.scaleValues[2*t]=M}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol40900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol32300=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=t[0],o=t[1];e=2==t.length?o:t[2];var i=new SuperMap.Geometry.Point((l.x+o.x)/2,(l.y+o.y)/2),n=SuperMap.Plot.PlottingUtil.distance(i,e),r=.5*n,a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,i,e),s=a.pntLeft,p=a.pntRight,u=!(i.x>e.x),c=[];u?(c.push(l),c.push(s)):(c.push(l),c.push(p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var P=[];u?(P.push(o),P.push(p)):(P.push(o),P.push(s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var S,h,y,f,g=.37*n,b=SuperMap.Plot.PlottingUtil.linePnt(i,e,g),M=.09*n,m=[];m.push(b),m.push(new SuperMap.Geometry.Point(b.x,b.y+M)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,m),u?(S=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,i,b)).pntLeft,h=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*M,i,b)).pntLeft,y=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,S,h)).pntRight,f=a.pntLeft):(S=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,i,b)).pntRight,h=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*M,i,b)).pntRight,y=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,S,h)).pntRight,f=a.pntLeft);var d=[];d.push(S),d.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,{lineTypeLimit:!0});var v=[];v.push(y),v.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,{lineTypeLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol32300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31401=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31400),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var e=0;e=Math.abs(t[1].x-t[0].x)<Math.abs(t[1].y-t[0].y)?.1*Math.abs(t[1].x-t[0].x):.1*Math.abs(t[1].y-t[0].y);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=new SuperMap.Geometry.Point(l.x-e,l.y-e),i=new SuperMap.Geometry.Point(l.x+e,l.y-3*e),n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[o,i],n,!0);var r=new SuperMap.Geometry.Point(l.x-e,l.y+e),a=new SuperMap.Geometry.Point(l.x-3*e,l.y+3*e);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[r,a],n,!0);var s=new SuperMap.Geometry.Point(l.x+e,l.y+e),p=new SuperMap.Geometry.Point(l.x+3*e,l.y+3*e);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[s,p],n,!0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31400=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=0;l=Math.abs(t[1].x-t[0].x)<Math.abs(t[1].y-t[0].y)?.1*Math.abs(t[1].x-t[0].x):.1*Math.abs(t[1].y-t[0].y);var o=new SuperMap.Geometry.Point(e.x-l,e.y-l),i=new SuperMap.Geometry.Point(e.x+l,e.y+l);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[o,i],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31301=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31300),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[0],t[1]),n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i.pntLeft,i.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[n.pntLeft,n.pntRight]);var r=[],a=3*o;r.push(t[0]),r.push(t[1]);for(var s=SuperMap.Plot.PlottingUtil.paraLine(r,a,!0),p=SuperMap.Plot.PlottingUtil.paraLine(r,a,!1),u=[],c=0;c<s.length;c++)u.push(s[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,s[1],s[0]),S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,s[0],s[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P.pntLeft,P.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[S.pntLeft,S.pntRight]);for(var h=[],y=0;y<p.length;y++)h.push(p[y]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,p[1],p[0]),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,p[0],p[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[f.pntLeft,f.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[g.pntLeft,g.pntRight]),this.addScalePoint(n.pntRight,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[0],t[1]),n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i.pntLeft,i.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[n.pntLeft,n.pntRight]),this.addScalePoint(n.pntRight,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0===t){var n=l[0],r=e,a=SuperMap.Plot.PlottingUtil.distance(r,n)/o;this.scaleValues[0]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol31300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.125),l.scaleValues.push(Math.PI/2)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);t=SuperMap.Plot.PlottingUtil.clearSamePts(t);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.125),this.scaleValues.push(Math.PI/2)),3===this.scaleValues.length&&this.scaleValues.push(this.getSubSymbolScaleValue()),!(t.length<this.minEditPts)){for(var l=0,o=0;o<t.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[1]=i,this.scaleValues[3]=i}var n=this.scaleValues[1],r=180*this.scaleValues[2]/Math.PI,a=l*this.scaleValues[0],s=l*this.scaleValues[3],p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,a);if(-1!==p.index){var u=p.pt,c=e[p.index],P=e[p.index+1],S=SuperMap.Plot.PlottingUtil.radian(c,P)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,s,s,S+r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p.pt,h]);var y,f=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,g=l*n;0<this.subSymbols.length&&(y=SuperMap.Plot.PlottingUtil.circlePoint(u,s,s,S+r+180),this.computeSubSymbol(this.subSymbols[0],y,.8*g,S+r-180),this.addScalePoint(SuperMap.Plot.PlottingUtil.circlePoint(y,.5*g,.5*g,S+r+90),1)),y=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+30);var b=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+33),M=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt([h,y,b]);M=SuperMap.Plot.PlottingUtil.clearSamePts(M);var m=SuperMap.Plot.PlottingUtil.polylineDistance(M),d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.9*m,M);if(-1!==d.index){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M.slice(0,d.index));var v=SuperMap.Plot.PlottingUtil.radian(h,y)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point(-.2*s,.05*s),U=new SuperMap.Geometry.Point(-.2*s,-.05*s),w=SuperMap.Plot.PlottingUtil.coordinateTrans(y,O,v+17),L=SuperMap.Plot.PlottingUtil.coordinateTrans(y,U,v+17),_={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[y,w,L],_);var V=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+330),A=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+327),T=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt([h,V,A]);T=SuperMap.Plot.PlottingUtil.clearSamePts(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T.slice(0,d.index));var E=SuperMap.Plot.PlottingUtil.radian(h,V)*SuperMap.Plot.PlottingUtil.RTOD,x=SuperMap.Plot.PlottingUtil.coordinateTrans(V,O,E-17),j=SuperMap.Plot.PlottingUtil.coordinateTrans(V,U,E-17);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[V,x,j],_),this.addScalePoint(u,0),this.addScalePoint(h,2),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,r,a,s,p=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(p=SuperMap.Plot.PlottingUtil.clearSamePts(p),0===t){for(var u=[],c=0;c<p.length;c++)u.push(new SuperMap.Geometry.Point(p[c].x,p[c].y));for(var P=-1,S=0,h=new SuperMap.Geometry.Point(0,0),y=0;y<u.length-1;y++){var f=[];f.push(u[y]),f.push(u[y+1]);var g=SuperMap.Plot.PlottingUtil.projectPoint(e,u[y],u[y+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(g,f).index){var b=SuperMap.Plot.PlottingUtil.distance(e,g);-1==P?(P=y,h=g,S=b):S>b&&(P=y,h=g,S=b)}}if(-1==P||P>u.length-1)return;for(var M=0,m=0;m<P;m++)M+=SuperMap.Plot.PlottingUtil.distance(p[m],p[m+1]);if((M+=SuperMap.Plot.PlottingUtil.distance(p[P],h))<0||M>o)return;var d=M/o;this.scaleValues[0]=d}else if(1===t){var v=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,o*this.scaleValues[0]);if(-1===v.index)return;n=v.pt,r=p[v.index],a=p[v.index+1],s=SuperMap.Plot.PlottingUtil.radian(r,a)*SuperMap.Plot.PlottingUtil.RTOD;var O=o*this.scaleValues[3],U=SuperMap.Plot.PlottingUtil.circlePoint(n,O,O,s+this.scaleValues[2]*SuperMap.Plot.PlottingUtil.RTOD+180),w=SuperMap.Plot.PlottingUtil.distance(U,e)/o*2;this.scaleValues[1]=w}else if(2===t){var L=o*this.scaleValues[0],_=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,L);if(-1===_.index)return;n=_.pt,r=p[_.index],a=p[_.index+1],s=SuperMap.Plot.PlottingUtil.radian(r,a);var V=SuperMap.Plot.PlottingUtil.radian(n,e)-s;this.scaleValues[2]=V}}}}]),e}();SuperMap.Plot.AlgoSymbol30800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30201=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30200),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1)),3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),0==this.scaleValues.length?(this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1),this.scaleValues.push(.05)):3==this.scaleValues.length&&(this.scaleValues[3]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[1]=2*this.getSubSymbolScaleValue(),this.scaleValues[3]=.5*this.getSubSymbolScaleValue());var o=e*this.scaleValues[1],i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,o);if(-1!==i.index){var n=t[0],r=i.pt,a=SuperMap.Plot.PlottingUtil.radian(n,r)*SuperMap.Plot.PlottingUtil.RTOD,s=new SuperMap.Geometry.Point(0,.1*o),p=new SuperMap.Geometry.Point(.4*o,.1*o),u=new SuperMap.Geometry.Point(.4*o,-.1*o),c=new SuperMap.Geometry.Point(0,-.1*o),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,a),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,a),h=SuperMap.Plot.PlottingUtil.coordinateTrans(n,u,a),y=SuperMap.Plot.PlottingUtil.coordinateTrans(n,c,a),f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,S,h,y,P],f);var g=new SuperMap.Geometry.Point(.3*o,.1*o),b=new SuperMap.Geometry.Point(.3*o,-.1*o),M=SuperMap.Plot.PlottingUtil.coordinateTrans(n,g,a),m=SuperMap.Plot.PlottingUtil.coordinateTrans(n,b,a);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[M,m]);var d=new SuperMap.Geometry.Point(.4*o,0),v=new SuperMap.Geometry.Point(.8*o,0),O=SuperMap.Plot.PlottingUtil.coordinateTrans(n,d,a),U=SuperMap.Plot.PlottingUtil.coordinateTrans(n,v,a);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[O,U]);var w=new SuperMap.Geometry.Point(.7*o,.025*o),L=new SuperMap.Geometry.Point(.7*o,-.025*o),_=SuperMap.Plot.PlottingUtil.coordinateTrans(n,w,a),V=SuperMap.Plot.PlottingUtil.coordinateTrans(n,L,a);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[U,_,V],f);var A=[];A.push(i.pt);for(var T=i.index+1;T<l.length;T++)A.push(l[T]);this.addArrow(A,this.scaleValues[3]),this.components[this.components.length-2].style.strokeDashstyle="dash",this.components[this.components.length-2].style.lineSymbolID=1,this.components[this.components.length-2].style.lineTypeLimit=!0;var E=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,a+90);this.addScalePoint(E,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol30201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(1e3),l.scaleValues.push(.2),l.scaleValues.push(.1),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length?(this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1),this.scaleValues.push(.05)):3==this.scaleValues.length&&(this.scaleValues[3]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[1]=2*this.getSubSymbolScaleValue(),this.scaleValues[3]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=e*this.scaleValues[1],i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,o);if(-1!==i.index){var n=t[0],r=i.pt,a=SuperMap.Plot.PlottingUtil.radian(n,r)*SuperMap.Plot.PlottingUtil.RTOD,s=new SuperMap.Geometry.Point(0,.1*o),p=new SuperMap.Geometry.Point(.4*o,.1*o),u=new SuperMap.Geometry.Point(.4*o,-.1*o),c=new SuperMap.Geometry.Point(0,-.1*o),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,a),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,a),h=SuperMap.Plot.PlottingUtil.coordinateTrans(n,u,a),y=SuperMap.Plot.PlottingUtil.coordinateTrans(n,c,a),f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,S,h,y,P],f);var g=.1*o,b=new SuperMap.Geometry.Point(.3*o,0),M=SuperMap.Plot.PlottingUtil.circlePoint(b,g,g,135),m=SuperMap.Plot.PlottingUtil.circlePoint(b,g,g,225),d=SuperMap.Plot.PlottingUtil.coordinateTrans(n,b,a),v=SuperMap.Plot.PlottingUtil.coordinateTrans(n,M,a),O=SuperMap.Plot.PlottingUtil.coordinateTrans(n,m,a);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[v,d,O]);var U=new SuperMap.Geometry.Point(.9*o,0),w=SuperMap.Plot.PlottingUtil.coordinateTrans(n,U,a);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[d,w]);var L=new SuperMap.Geometry.Point(.8*o,.025*o),_=new SuperMap.Geometry.Point(.8*o,-.025*o),V=SuperMap.Plot.PlottingUtil.coordinateTrans(n,L,a),A=SuperMap.Plot.PlottingUtil.coordinateTrans(n,_,a);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[w,V,A],f);var T=[];T.push(i.pt);for(var E=i.index+1;E<l.length;E++)T.push(l[E]);this.addArrow(T,this.scaleValues[3]),this.components[this.components.length-2].style.strokeDashstyle="dash",this.components[this.components.length-2].style.lineSymbolID=1,this.components[this.components.length-2].style.lineTypeLimit=!0;var x=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,a+90);this.addScalePoint(x,0),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n=l[0],r=e,a=SuperMap.Plot.PlottingUtil.distance(r,n);if(0===t){var s=a/o;if(.06>s||.3<s)return;this.scaleValues[1]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol30200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.069485),l.scaleValues.push(.15),l.scaleValues.push(.1),l.scaleValues.push(1.731025),l.scaleValues.push(2.076877)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var i=e*this.scaleValues[0],n=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,r=e*this.scaleValues[2],a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==a.index){var s=a.pt,p=a.index,u=s,c=o[p],P=o[p+1],S=SuperMap.Plot.PlottingUtil.radian(c,P)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,1.5*r,1.5*r,S+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,h]);var y=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,f=new SuperMap.Geometry.Point(-.2*r,.05*r),g=new SuperMap.Geometry.Point(-.2*r,-.05*r),b=SuperMap.Plot.PlottingUtil.coordinateTrans(h,f,y),M=SuperMap.Plot.PlottingUtil.coordinateTrans(h,g,y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[h,b,M],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var m=new SuperMap.Geometry.Point(.6*r,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(u,m,y),v=.4*r*this.scaleValues[5],O=.4*r*this.scaleValues[6],U=new SuperMap.Geometry.Point(0,-.9*(v-.25*O)),w=new SuperMap.Geometry.Point(0,.9*(v-.25*O)),L=SuperMap.Plot.PlottingUtil.coordinateTrans(d,U,y),_=SuperMap.Plot.PlottingUtil.coordinateTrans(d,w,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[L,_]);var V=new SuperMap.Geometry.Point(0,v),A=SuperMap.Plot.PlottingUtil.coordinateTrans(d,V,y),T=new SuperMap.Geometry.Point(0,.25*O),E=new SuperMap.Geometry.Point(.5*O,0),x=new SuperMap.Geometry.Point(0,-.25*O),j=new SuperMap.Geometry.Point(-.5*O,0),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(A,T,y),C=SuperMap.Plot.PlottingUtil.coordinateTrans(A,E,y),I=SuperMap.Plot.PlottingUtil.coordinateTrans(A,x,y),B=SuperMap.Plot.PlottingUtil.coordinateTrans(A,j,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[Y,C,I,B,Y]);var R=new SuperMap.Geometry.Point(0,-v),G=SuperMap.Plot.PlottingUtil.coordinateTrans(d,R,y),N=SuperMap.Plot.PlottingUtil.coordinateTrans(G,T,y),D=SuperMap.Plot.PlottingUtil.coordinateTrans(G,E,y),k=SuperMap.Plot.PlottingUtil.coordinateTrans(G,x,y),z=SuperMap.Plot.PlottingUtil.coordinateTrans(G,j,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[N,D,k,z,N]),this.addScalePoint(s,0),this.addScalePoint(h,1);var F=new SuperMap.Geometry.Point(0,-v),K=SuperMap.Plot.PlottingUtil.coordinateTrans(d,F,y);this.addScalePoint(K,2),this.addScalePoint(B,3),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,r,a,s,p,u,c,P,S,h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(h=SuperMap.Plot.PlottingUtil.clearSamePts(h),0===t){for(var y=[],f=0;f<h.length;f++)y.push(new SuperMap.Geometry.Point(h[f].x,h[f].y));for(var g=-1,b=0,M=new SuperMap.Geometry.Point(0,0),m=0;m<y.length-1;m++){var d=[];d.push(y[m]),d.push(y[m+1]);var v=SuperMap.Plot.PlottingUtil.projectPoint(e,y[m],y[m+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(v,d).index){var O=SuperMap.Plot.PlottingUtil.distance(e,v);-1==g?(g=m,M=v,b=O):b>O&&(g=m,M=v,b=O)}}if(-1==g||g>y.length-1)return;n=0;for(var U=0;U<g;U++)n+=SuperMap.Plot.PlottingUtil.distance(h[U],h[U+1]);if((n+=SuperMap.Plot.PlottingUtil.distance(h[g],M))<0||n>o)return;var w=n/o;this.scaleValues[0]=w}else if(1===t){r=o*this.scaleValues[0];var L=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,r);if(-1===L.index)return;a=L.pt,s=h[L.index],p=h[L.index+1],u=SuperMap.Plot.PlottingUtil.radian(s,p);var _=(S=SuperMap.Plot.PlottingUtil.radian(a,e))-u;this.scaleValues[1]=_;var V=(n=SuperMap.Plot.PlottingUtil.distance(a,e))/o/1.5;this.scaleValues[2]=V}else if(2===t){if(r=o*this.scaleValues[0],c=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,r)).index)return;P=a.pt,s=h[a.index],p=h[a.index+1],u=180*SuperMap.Plot.PlottingUtil.radian(s,p)/Math.PI;var A=SuperMap.Plot.PlottingUtil.circlePoint(P,.4*n,.4*n,u+c),T=SuperMap.Plot.PlottingUtil.distance(e,A)/(.4*n);this.scaleValues[5]=T}else if(3===t){if(r=o*this.scaleValues[0],c=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,r)).index)return;P=a.pt,s=h[a.index],p=h[a.index+1],S=(u=180*SuperMap.Plot.PlottingUtil.radian(s,p)/Math.PI)+c;var E=new SuperMap.Geometry.Point(.6*n,0),x=SuperMap.Plot.PlottingUtil.coordinateTrans(P,E,S),j=.4*n*this.scaleValues[5],Y=new SuperMap.Geometry.Point(0,j),C=SuperMap.Plot.PlottingUtil.coordinateTrans(x,Y,S),I=2*SuperMap.Plot.PlottingUtil.distance(C,e)/(.4*n);this.scaleValues[6]=I}}}}]),e}();SuperMap.Plot.AlgoSymbol30100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30002=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30001),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getSubSymbolScaleValue();this.scaleValues[2]=o,this.scaleValues[4]=o}var i=l*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI,r=l*this.scaleValues[2],a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,i);if(-1!==a.index){var s=a.pt,p=new SuperMap.Geometry.Point(e[a.index].x,e[a.index].y),u=new SuperMap.Geometry.Point(e[a.index+1].x,e[a.index+1].y),c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,P=SuperMap.Plot.PlottingUtil.circlePoint(s,r,r,c+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P]);var S=180*SuperMap.Plot.PlottingUtil.radian(s,P)/Math.PI,h=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*r,.2*r,S-157.5),y=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*r,.2*r,S+157.5);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[P,h,y],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});for(var f=4.5*(l*this.scaleValues[4])*Math.sin(Math.PI/8),g=this.getLeftSubSymbolPts(f),b=e[0].clone(),M=-1,m=null,d=1;d<e.length;d++)if(SuperMap.Plot.PlottingUtil.distance(b,e[d])>.5*f){M=d-1,m=SuperMap.Plot.PlottingUtil.linePnt(b,e[d],.5*f);break}-1===M&&(M=e.length-1,m=e[e.length-1]);var v=null;if(null!==m){for(var O=180*SuperMap.Plot.PlottingUtil.radian(b,m)/Math.PI,U=[],w=0;w<g.length;w++)U.push(SuperMap.Plot.PlottingUtil.coordinateTrans(b,g[w],O));v=U[3].clone(),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U)}for(var L=this.getRightSubSymbolPts(f),_=e[e.length-1].clone(),V=-1,A=null,T=e.length-2;T>=0;T--)if(SuperMap.Plot.PlottingUtil.distance(_,e[T])>.5*f){V=T,A=SuperMap.Plot.PlottingUtil.linePnt(_,e[T],.5*f);break}if(-1===V&&(V=0,A=e[0]),null!==A){for(var E=180*SuperMap.Plot.PlottingUtil.radian(_,A)/Math.PI,x=[],j=0;j<L.length;j++)x.push(SuperMap.Plot.PlottingUtil.coordinateTrans(_,L[j],E));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,x)}if(M<=V){var Y=[];Y.push(m);for(var C=M+1;C<=V;C++)Y.push(e[C]);Y.push(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Y)}this.addScalePoint(s),this.addScalePoint(P),null!==v&&this.addScalePoint(v),this.finish()}}}},{key:"getRightSubSymbolPts",value:function(t){var e=.25*t,l=[];return l.push(new SuperMap.Geometry.Point(0,2*e)),l.push(new SuperMap.Geometry.Point(2*e,2*e)),l.push(new SuperMap.Geometry.Point(2*e,-e)),l.push(new SuperMap.Geometry.Point(0,-2*e)),l.push(new SuperMap.Geometry.Point(0,2*e)),l}}]),e}();SuperMap.Plot.AlgoSymbol30002=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);var i=e*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI;if(!this.isEdit){var r=this.getSubSymbolScaleValue();this.scaleValues[2]=r}var a=e*this.scaleValues[2],s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==s.index){var p=s.pt,u=new SuperMap.Geometry.Point(o[s.index].x,o[s.index].y),c=new SuperMap.Geometry.Point(o[s.index+1].x,o[s.index+1].y),P=180*SuperMap.Plot.PlottingUtil.radian(u,c)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(p,a,a,P+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p,S]);var h=180*SuperMap.Plot.PlottingUtil.radian(p,S)/Math.PI,y=new SuperMap.Geometry.Point(-.2*a,.05*a),f=new SuperMap.Geometry.Point(-.2*a,-.05*a),g=SuperMap.Plot.PlottingUtil.coordinateTrans(S,y,h),b=SuperMap.Plot.PlottingUtil.coordinateTrans(S,f,h);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,g,b],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addScalePoint(p,0),this.addScalePoint(S,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var r=-1,a=0,s=new SuperMap.Geometry.Point(0,0),p=0;p<o.length-1;p++){var u=[];u.push(o[p]),u.push(o[p+1]);var c=SuperMap.Plot.PlottingUtil.projectPoint(e,o[p],o[p+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(c,u).index){var P=SuperMap.Plot.PlottingUtil.distance(e,c);-1==r?(r=p,s=c,a=P):a>P&&(r=p,s=c,a=P)}}if(-1==r||r>o.length-1)return;i=0;for(var S=0;S<r;S++)i+=SuperMap.Plot.PlottingUtil.distance(o[S],o[S+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[r],s))<0||i>n)return;var h=i/n;this.scaleValues[0]=h}else if(1===t){var y=n*this.scaleValues[0],f=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,y);if(-1===f.index)return;var g=f.pt,b=o[f.index],M=o[f.index+1],m=SuperMap.Plot.PlottingUtil.radian(b,M),d=SuperMap.Plot.PlottingUtil.radian(g,e)-m;this.scaleValues[1]=d;var v=(i=SuperMap.Plot.PlottingUtil.distance(g,e))/n;this.scaleValues[2]=v}}}}]),e}();SuperMap.Plot.AlgoSymbol30000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 10!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.2),l.scaleValues.push(.2),l.scaleValues.push(.4),l.scaleValues.push(.4),l.scaleValues.push(.1),l.scaleValues.push(.2),l.scaleValues.push(.1),l.scaleValues.push(.2),l.scaleValues.push(1),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var o,i=e*this.scaleValues[4],n=e*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),a=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],r+n);o=(this.scaleValues[8],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],a));var s,p=e*this.scaleValues[6],u=e*this.scaleValues[7],c=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],r+u);s=(this.scaleValues[9],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,t[0],c));var P=[];P.push(new SuperMap.Geometry.Point(o.pntLeft.x,o.pntLeft.y)),P.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),P.push(new SuperMap.Geometry.Point(t[1].x,t[1].y)),P.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y));var S=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(P);S=SuperMap.Plot.PlottingUtil.clearSamePts(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.addScalePoint(o.pntLeft,3),this.addScalePoint(s.pntRight,4),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.projectPoint(e,l[0],l[1]);if(t<=2&&SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments),3===t){var n=SuperMap.Plot.PlottingUtil.distance(e,i)/o,r=SuperMap.Plot.PlottingUtil.distance(i,l[0])/o;this.scaleValues[4]=n,this.scaleValues[5]=r,SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e)?this.scaleValues[8]=1:this.scaleValues[8]=0}if(4===t){var a=SuperMap.Plot.PlottingUtil.distance(e,i)/o,s=SuperMap.Plot.PlottingUtil.distance(i,l[1])/o;this.scaleValues[6]=a,this.scaleValues[7]=s,SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e)?this.scaleValues[9]=1:this.scaleValues[9]=0}}}}]),e}();SuperMap.Plot.AlgoSymbol29800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.3),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.3),this.scaleValues.push(1)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e,l,o=t[0].clone(),i=t[1].clone(),n=SuperMap.Plot.PlottingUtil.distance(o,i),r=this.scaleValues[0],a=this.scaleValues[1];if(SuperMap.Plot.PlottingUtil.equalFuzzy(1,a))e=SuperMap.Plot.PlottingUtil.radian(o,i)+270*SuperMap.Plot.PlottingUtil.DTOR;else e=SuperMap.Plot.PlottingUtil.radian(o,i)+90*SuperMap.Plot.PlottingUtil.DTOR,l=o,o=i,i=l;var s=n*r*.67,p=SuperMap.Plot.PlottingUtil.circlePoint(o,s,s,e*SuperMap.Plot.PlottingUtil.RTOD);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,n*r,e*SuperMap.Plot.PlottingUtil.RTOD);var u=SuperMap.Plot.PlottingUtil.circlePoint(i,s,s,e*SuperMap.Plot.PlottingUtil.RTOD);this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],u,n*r,e*SuperMap.Plot.PlottingUtil.RTOD),this.scalePoints=[];var c=e*SuperMap.Plot.PlottingUtil.RTOD,P=n*r,S=t[0].clone(),h=SuperMap.Plot.PlottingUtil.circlePoint(S,P,P,c);this.addScalePoint(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l))[0].clone(),i=l[1].clone(),n=e.clone(),r=SuperMap.Plot.PlottingUtil.distance(o,i),a=SuperMap.Plot.PlottingUtil.plumbLineLen(n,o,i)/r;if(a<0||SuperMap.Plot.PlottingUtil.equalFuzzy(a,0))return;this.scaleValues[0]=a,SuperMap.Plot.PlottingUtil.pointIsRightToLine(o,i,n)?this.scaleValues[1]=1:this.scaleValues[1]=0}}}]),e}();SuperMap.Plot.AlgoSymbol28301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var i=l*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],o,i,0),this.scalePoints=[];var n=SuperMap.Plot.PlottingUtil.circlePoint(o,i,i,0);this.addScalePoint(n),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=[];o=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var r=SuperMap.Plot.PlottingUtil.distance(e,n)/i;this.scaleValues[0]=r}}}}]),e}();SuperMap.Plot.AlgoSymbol28300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28200=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol28200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.349066)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,i=0,n=0;n<t.length-1;n++)i+=SuperMap.Plot.PlottingUtil.distance(e,l);var r=this.scaleValues[0]*i;this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[e,new SuperMap.Geometry.Point(e.x+r,e.y)],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var a=180*this.scaleValues[1]/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(e,i,i,o-a),p=SuperMap.Plot.PlottingUtil.circlePoint(e,i,i,o+a);this.addCell(SuperMap.Plot.SymbolType.ARCSYMBOL,[s,l,p],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],t[1]],{surroundLineFlag:!1},!0);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,r,r,o-90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,s],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var c=SuperMap.Plot.PlottingUtil.circlePoint(e,r,r,o+90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c,p],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c],{surroundLineFlag:!1},!0);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,r,r,o+180);this.addScalePoint(new SuperMap.Geometry.Point(P.x,P.y),0),this.addScalePoint(p,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=new SuperMap.Geometry.Point(l[0].x,l[0].y),i=new SuperMap.Geometry.Point(l[1].x,l[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,r=SuperMap.Plot.PlottingUtil.distance(o,i);if(0===t){var a=SuperMap.Plot.PlottingUtil.distance(o,e)/r;this.scaleValues[0]=a}if(1===t){var s=180*SuperMap.Plot.PlottingUtil.radian(o,e)/Math.PI,p=Math.abs(s-n);if(p>270&&p<360&&(p=360-p),p>90)return;this.scaleValues[1]=p*Math.PI/180}}}}]),e}();SuperMap.Plot.AlgoSymbol28100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.349066)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l,o,i,n,r,a,s=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,p=new SuperMap.Geometry.Point(t[0].x,t[0].y),u=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),c=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,P=new SuperMap.Geometry.Point(0,0);if(2<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i))),(n=[]).push(t[0]);for(var S=0;S<e.length;S++)n.push(new SuperMap.Geometry.Point(e[S].x,e[S].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),r=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),P=new SuperMap.Geometry.Point(r.x,r.y),(a=[]).push(t[0]),a.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}var h=new SuperMap.Geometry.Point(0,0);if(3<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[2].x,t[2].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i)));var y=[];if(0==e.length)return void(y.length>0&&(y=[]));(n=[]).push(t[0]);for(var f=0;f<e.length;f++)n.push(new SuperMap.Geometry.Point(e[f].x,e[f].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});for(var g=new SuperMap.Geometry.Point(t[1].x,t[1].y),b=SuperMap.Plot.PlottingUtil.distance(p,g)*this.scaleValues[0],M=[],m=90;m<=270;m+=3)M.push(SuperMap.Plot.PlottingUtil.circlePoint(p,b,b,c+m));n=[];for(var d=M.length-1;d>=0;d--)n.push(new SuperMap.Geometry.Point(M[d].x,M[d].y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),(n=[]).push(new SuperMap.Geometry.Point(M[0].x,M[0].y)),n.push(new SuperMap.Geometry.Point(e[e.length-1].x,e[e.length-1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),(n=[]).push(new SuperMap.Geometry.Point(e[0].x,e[0].y)),n.push(new SuperMap.Geometry.Point(M[M.length-1].x,M[M.length-1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),r=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),h=new SuperMap.Geometry.Point(r.x,r.y),(a=[]).push(P),a.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}var v=new SuperMap.Geometry.Point(0,0);if(4<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[3].x,t[3].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<=c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i))),(n=[]).push(t[0]);for(var O=0;O<e.length;O++)n.push(new SuperMap.Geometry.Point(e[O].x,e[O].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),r=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),v=new SuperMap.Geometry.Point(r.x,r.y),(a=[]).push(h),a.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}if(3>t.length)this.addScalePoint(t[0]);else{var U=SuperMap.Plot.PlottingUtil.distance(t[0],t[1])*this.scaleValues[0],w=SuperMap.Plot.PlottingUtil.circlePoint(p,U,U,c+180);this.addScalePoint(w,0)}var L=SuperMap.Plot.PlottingUtil.distance(t[0],t[t.length-1]),_=SuperMap.Plot.PlottingUtil.circlePoint(p,L,L,c+s);this.addScalePoint(_,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l,o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(o=SuperMap.Plot.PlottingUtil.clearSamePts(o),0==t){if(3>o.length)return;var i=new SuperMap.Geometry.Point(o[0].x,o[0].y),n=new SuperMap.Geometry.Point(e.x,e.y),r=SuperMap.Plot.PlottingUtil.distance(i,n),a=new SuperMap.Geometry.Point(o[1].x,o[1].y);if((l=r/SuperMap.Plot.PlottingUtil.distance(i,a))>=2.5)return;this.scaleValues[0]=l}else if(1==t){var s=new SuperMap.Geometry.Point(o[0].x,o[0].y),p=new SuperMap.Geometry.Point(o[o.length-1].x,o[o.length-1].y),u=SuperMap.Plot.PlottingUtil.radian(s,p),c=new SuperMap.Geometry.Point(e.x,e.y);if(l=SuperMap.Plot.PlottingUtil.radian(s,c)-u,(l=Math.abs(l))>Math.PI/2&&l<3*Math.PI/2)return;l>3*Math.PI/2&&l<=2*Math.PI&&(l=2*Math.PI-l),this.scaleValues[1]=Math.abs(l)}}}}]),e}();SuperMap.Plot.AlgoSymbol28000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26601=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l,o,i=SuperMap.Plot.PlottingUtil.polylineDistance(e),n=.1*i,r=.5*n,a=this.computeDashLine(n,r,e),s=.01*i,p=0;p<a.length;p++)l=SuperMap.Plot.PlottingUtil.paraLine(a[p],s,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),o=SuperMap.Plot.PlottingUtil.paraLine(a[p],s,!1),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);this.finish()}}},{key:"computeDashLine",value:function(t,e,l){for(var o,i,n=[],r=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=l[0].clone(),s=1,p=0,u=!0,c=!0;p<r;){var P;(i=[]).push(a),p+=t;var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,l);if(P=S.index,o=S.pts,!(u=S.bfind))break;if(s<P)for(var h=s;h<P;h++)i.push(l[h]);i.push(o),n.push(i),p+=e;var y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,l);if(P=y.index,a=y.pts,s=P+1,!(c=y.bfind))break}if(!u){(i=[]).push(a);for(var f=s;f<l.length;f++)i.push(l[f]);2===i.length&&0===SuperMap.Plot.PlottingUtil.distance(i[0],i[1])||n.push(i)}if(!c){var g=l[l.length-1],b=SuperMap.Plot.PlottingUtil.distance(o,g);if(b*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(b,0)){var M=SuperMap.Plot.PlottingUtil.linePnt(g,o,b);(i=[]).push(M),i.push(g),n.push(i)}}return n}}]),e}();SuperMap.Plot.AlgoSymbol26601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26600=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=.1*SuperMap.Plot.PlottingUtil.polylineDistance(e),o=.5*l;this.computeDashLine(l,o,e),this.finish()}}},{key:"computeDashLine",value:function(t,e,l){for(var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=l[0].clone(),a=1,s=0,p=!0,u=!0;s<n;){var c;(i=[]).push(r),s+=t;var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=P.index,o=P.pts,!(p=P.bfind))break;if(a<c)for(var S=a;S<c;S++)i.push(l[S]);i.push(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),s+=e;var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=h.index,r=h.pts,a=c+1,!(u=h.bfind))break}if(!p){(i=[]).push(r);for(var y=a;y<l.length;y++)i.push(l[y]);2===i.length&&0===SuperMap.Plot.PlottingUtil.distance(i[0],i[1])||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}if(!u){var f=l[l.length-1],g=SuperMap.Plot.PlottingUtil.distance(o,f);if(g*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(g,0)){var b=SuperMap.Plot.PlottingUtil.linePnt(f,o,g);(i=[]).push(b),i.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}}}}]),e}();SuperMap.Plot.AlgoSymbol26600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,l/2);if(-1!==o.index){var i=o.pt,n=this.getDefaultSubSymbolSize()/l;(n>.3||n<=0)&&(n=.3),this.scaleValues[0]=n;var r=1.5*this.scaleValues[0]*l,a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,e[o.index],i),s=[];s.push(a.pntLeft),s.push(i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s,null,!0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol26500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5));for(var i=this.getLinePts(e,this.scaleValues[0]),n=this.getLinePts(e,1.2*this.scaleValues[0]),r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt),a=[],s=[],p=0;p<=n.startIndex;p++)a.push(e[p]);if(a.push(n.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),n.endIndex<=e.length){s.push(n.endPt);for(var u=n.endIndex+1;u<=e.length-1;u++)s.push(e[u]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}var c=e[0],P=e[1],S=e[e.length-2],h=e[e.length-1],y=.3*r,f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(y,P,c),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(y,S,h),b=f.pntLeft,M=g.pntLeft,m=[];m.push(c),m.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var d=[];d.push(h),d.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),U=new SuperMap.Geometry.Point(.1*r,0),w=new SuperMap.Geometry.Point(.5*r,0),L=SuperMap.Plot.PlottingUtil.coordinateTrans(O,U,v),_=SuperMap.Plot.PlottingUtil.coordinateTrans(O,w,v),V=[];V.push(L),V.push(_);var A={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,A);var T=new SuperMap.Geometry.Point(.35*r,0),E=SuperMap.Plot.PlottingUtil.circlePoint(T,.2*r,.2*r,135),x=SuperMap.Plot.PlottingUtil.circlePoint(T,.2*r,.2*r,225),j=SuperMap.Plot.PlottingUtil.coordinateTrans(O,T,v),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(O,E,v),C=SuperMap.Plot.PlottingUtil.coordinateTrans(O,x,v);(V=[]).push(Y),V.push(j),V.push(C),A={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0},this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,A);var I=new SuperMap.Geometry.Point(-.1*r,0),B=new SuperMap.Geometry.Point(-.5*r,-.15*r),R=new SuperMap.Geometry.Point(-.5*r,.15*r),G=SuperMap.Plot.PlottingUtil.coordinateTrans(O,I,v),N=SuperMap.Plot.PlottingUtil.coordinateTrans(O,B,v),D=SuperMap.Plot.PlottingUtil.coordinateTrans(O,R,v);(V=[]).push(G),V.push(N),V.push(D),V.push(G),A={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0},this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,A);var k=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),z=SuperMap.Plot.PlottingUtil.circlePoint(k.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,v);this.addScalePoint(z,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol25400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.222222),l.scaleValues.push(.5),l.scaleValues.push(.5),l.scaleValues.push(.5)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.222222),this.scaleValues.push(.5),this.scaleValues.push(.5),this.scaleValues.push(.5));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),r=new SuperMap.Geometry.Point(0,o*i),a=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*a),u=new SuperMap.Geometry.Point(o*(1-s),o*a),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l),g=[];g.push(n),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(r);for(var b=[],M=0;M<g.length;M++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[M],f*SuperMap.Plot.PlottingUtil.RTOD);b.push(m)}for(var d=[],v=b.length-1;v>=0;--v)d.push(b[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d),this.scalePoints=[];var O=b[0].clone();O.isScalePoint=!0,O.tag=0,this.scalePoints.push(O);var U=b[1].clone();U.isScalePoint=!0,U.tag=1,this.scalePoints.push(U);var w=b[2].clone();w.isScalePoint=!0,w.tag=2,this.scalePoints.push(w),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),r=l[1].clone(),a=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(a,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var p=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var c=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol25000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=Math.max(this.subSymbols[0].symbolData.symbolSize.x,this.subSymbols[0].symbolData.symbolSize.y);var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(a.pts,r.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=100*SuperMap.Plot.PlottingUtil.distance(r.pts,a.pts)/l,u=new SuperMap.Geometry.Point((a.pts.x+r.pts.x)/2,(r.pts.y+a.pts.y)/2);if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&this.computeSubSymbol(this.subSymbols[0],u,p,s),r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(3===t&&null==n.pt&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol25200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29103=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29100),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=[];o=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o);for(var i=0;i<4;i++){var n=i*(o.length-1)/4,r=new SuperMap.Geometry.Point(o[n].x,o[n].y),a=new SuperMap.Geometry.Point(o[n+1].x,o[n+1].y),s=new SuperMap.Geometry.Point((r.x+a.x)/2,(r.y+a.y)/2),p=180*SuperMap.Plot.PlottingUtil.radian(s,a)/Math.PI,u=e*this.scaleValues[0]/2,c=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p),P=SuperMap.Plot.PlottingUtil.circlePoint(s,4*u,4*u,p+270),S=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+180);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[c,P,S],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29103=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29101=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29100),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.25*this.getSubSymbolScaleValue());var l=[];l=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);for(var o=0;o<4;o++){var i=o*(l.length-1)/4,n=new SuperMap.Geometry.Point(l[i].x,l[i].y),r=new SuperMap.Geometry.Point(l[i+1].x,l[i+1].y),a=new SuperMap.Geometry.Point((n.x+r.x)/2,(n.y+r.y)/2),s=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD,p=this.scaleValues[0]*e/2,u=SuperMap.Plot.PlottingUtil.circlePoint(a,p,p,s),c=SuperMap.Plot.PlottingUtil.circlePoint(a,4*p,4*p,s+270),P=SuperMap.Plot.PlottingUtil.circlePoint(a,p,p,s+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c,P])}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=t.length,o=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),i=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,n=[];2==l?(e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t),n.push.apply(n,e)):3==l&&(e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),n=n.concat(e));var r,a=new SuperMap.Geometry.Point(.8*o,.1*o),s=new SuperMap.Geometry.Point(1.2*o,.1*o),p=new SuperMap.Geometry.Point(1.2*o,.1*-o),u=new SuperMap.Geometry.Point(.9*o,.1*-o),c=[];c.push(a),c.push(s),c.push(p),c.push(u);var P=[],S=0;for(S=0;S<4;S++)r=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],c[S],i),P.push(r);var h=new SuperMap.Geometry.Point(-.8*o,.1*o),y=new SuperMap.Geometry.Point(-1.2*o,.1*o),f=new SuperMap.Geometry.Point(-1.1*o,.1*-o),g=new SuperMap.Geometry.Point(-.8*o,.1*-o);(c=[]).push(h),c.push(y),c.push(f),c.push(g);var b=[];for(S=0;S<4;S++)r=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],c[S],i),b.push(r);var M,m=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],3*o),d=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],2*o),v=[];for(S=0;S<n.length-1;S++){var O=SuperMap.Plot.PlottingUtil.intersectLines(n[S],n[S+1],m,d);O.isIntersectLines&&(M=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(O.intersectPoint,n)).isOnPolyLine&&v.push(O.intersectPoint)}if(!(0>=v.length)&&(M=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(v[0],n)).isOnPolyLine){var U=[];for(S=M.index+1;S<n.length;S++)U.push(n[S]);for(S=0;S<=M.index;S++)U.push(n[S]);var w=[],L=[];SuperMap.Plot.PlottingUtil.ptIsInPolygon(P,v[0])?(w.push.apply(w,P),L.push.apply(L,b)):(w.push.apply(w,b),L.push.apply(L,P));var _=[],V=[];for(M=-1,S=0;S<U.length;S++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(w,U[S])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(L,U[S])){M=S;break}_.push(U[S])}if(-1!==M)for(S=M;S<U.length;S++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(L,U[S])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(w,U[S]))break;V.push(U[S])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),this.addLine(_),this.addLine(V),this.finish()}}}},{key:"addLine",value:function(t){for(var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=0;l<t.length-2;l++){var o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.02*e,t);if(-1!==o.index){var i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*e,t);if(-1!==i.index){var n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.92*e,t);if(-1!==n.index&&(l===o.index||l===o.index+1||l===n.index||l===n.index+1||l===i.index||l===i.index+1)){var r=SuperMap.Plot.PlottingUtil.radian(t[l+1],t[l])*SuperMap.Plot.PlottingUtil.RTOD,a=SuperMap.Plot.PlottingUtil.circlePoint(t[l+1],.02*e,.02*e,r+90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[l+1],a])}}}}}}]),e}();SuperMap.Plot.AlgoSymbol29000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5)),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var i=e[0],n=e[1],r=e[e.length-2],a=e[e.length-1],s=l*this.scaleValues[0]*.6,p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,n,i),u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,r,a),c=p.pntLeft,P=u.pntRight,S=[];S.push(i),S.push(c);for(var h=new SuperMap.Geometry.Point((i.x+c.x)/2,(i.y+c.y)/2),y=SuperMap.Plot.PlottingUtil.polylineDistance(S)/2,f=[],g=180*SuperMap.Plot.PlottingUtil.radian(n,i)/Math.PI,b=270+g;b<=360+g;b+=3)f.push(SuperMap.Plot.PlottingUtil.circlePoint(h,y,y,b));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var M=[];M.push(a),M.push(P);var m=[];m.push(a),m.push(P);for(var d=new SuperMap.Geometry.Point((a.x+P.x)/2,(a.y+P.y)/2),v=SuperMap.Plot.PlottingUtil.polylineDistance(m)/2,O=[],U=180*SuperMap.Plot.PlottingUtil.radian(a,P)/Math.PI,w=90+U;w<=180+U;w+=3)O.push(SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,w));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol28900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23902=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.125),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l,o,i,n=[];if(2==t.length){e=t[0],l=t[1];var r=SuperMap.Plot.PlottingUtil.distance(e,l);i=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,o=SuperMap.Plot.PlottingUtil.circlePoint(e,r,r,i+60),n.push(e),n.push(o),n.push(l)}else n=n.concat(t);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n),n.push(n[0]);var a=SuperMap.Plot.PlottingUtil.polylineDistance(n),s=this.scaleValues[0],p=this.scaleValues[1],u=this.scaleValues[2],c=this.scaleValues[4],P=a*s;e=n[0],l=n[1],o=n[2];var S,h=a*p,y=180*SuperMap.Plot.PlottingUtil.InnerAngle(e,l,o)/Math.PI*u,f=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,g=f-y,b=f+y,M=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,g),m=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,b);S=SuperMap.Plot.PlottingUtil.ptIsInPolygon(n,M)?M:m;var d=a*this.scaleValues[3];i=c,0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],S,d,i-90);var v=SuperMap.Plot.PlottingUtil.circlePoint(e,P,P,f+180);this.addScalePoint(v),this.addScalePoint(S);var O=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*d,.5*d,i);this.addScalePoint(O),this.createArcPts(n,P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n,r,a,s,p,u=[];2==l.length?(o=l[0],i=l[1],a=SuperMap.Plot.PlottingUtil.distance(o,i),r=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,n=SuperMap.Plot.PlottingUtil.circlePoint(o,a,a,r+60),u.push(o),u.push(i),u.push(n)):u=u.concat(l),o=u[0],i=u[1],n=u[2],u.push(u[0]);var c=SuperMap.Plot.PlottingUtil.polylineDistance(u),P=e;if(0===t)a=SuperMap.Plot.PlottingUtil.distance(P,u[0]),this.scaleValues[0]=a/c;else if(1===t){s=SuperMap.Plot.PlottingUtil.distance(P,u[0])/c,this.scaleValues[1]=s,r=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,n)/Math.PI,0<=(p=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,P)/Math.PI/r)&&1>=p&&(this.scaleValues[2]=p)}else if(2===t){s=this.scaleValues[1],p=this.scaleValues[2];var S,h=c*s,y=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,n)/Math.PI*p,f=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,g=f-y,b=f+y,M=SuperMap.Plot.PlottingUtil.circlePoint(o,h,h,g),m=SuperMap.Plot.PlottingUtil.circlePoint(o,h,h,b);S=SuperMap.Plot.PlottingUtil.ptIsInPolygon(u,M)?M:m;var d=2*SuperMap.Plot.PlottingUtil.distance(P,S)/c;this.scaleValues[3]=d;var v=180*SuperMap.Plot.PlottingUtil.radian(S,P)/Math.PI;this.scaleValues[4]=v}}}},{key:"ComputeSubSymbolPt",value:function(t,e,l,o){var i,n,r=l[0],a=l[1],s=l[2],p=SuperMap.Plot.PlottingUtil.plumbLineLen(s,r,a)*t,u=SuperMap.Plot.PlottingUtil.plumbLineLen(a,r,s)*e,c=[];if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(r,a,o)?((i=[]).push(r),i.push(a),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!1)):((i=[]).push(r),i.push(a),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!0)),SuperMap.Plot.PlottingUtil.pointIsRightToLine(r,s,o)?((i=[]).push(r),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!1)):((i=[]).push(r),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!0)),2>c.length||2>n.length)return o;var P=SuperMap.Plot.PlottingUtil.intersectLines(c[0],c[1],n[0],n[1]);return P.isIntersectLines?P.intersectPoint:o}},{key:"createArcPts",value:function(t,e){for(var l=[],o=[],i=0;i<t.length;i++)o.push(e),l.push([{Start:0,End:360}]);for(var n=0;n<t.length;n++)if(0!==l[n].length&&(0!==l[n][0].Start||0!==l[n][0].End))for(var r=n+1;r<t.length;r++)if(0!==l[r].length&&(0!==l[r][0].Start||0!==l[r][0].End)){var a=SuperMap.Plot.PlottingUtil.distance(t[n],t[r]);if(a<o[n]+o[r])if(a>Math.abs(o[n]-o[r]))for(var s=0;s<2;s++){var p,u,c;0==s?(c=n,p=SuperMap.Plot.PlottingUtil.radian(t[n],t[r])*SuperMap.Plot.PlottingUtil.RTOD,u=Math.acos((a*a+o[n]*o[n]-o[r]*o[r])/(2*a*o[n]))*SuperMap.Plot.PlottingUtil.RTOD):(c=r,p=SuperMap.Plot.PlottingUtil.radian(t[r],t[n])*SuperMap.Plot.PlottingUtil.RTOD,u=Math.acos((a*a+o[r]*o[r]-o[n]*o[n])/(2*a*o[r]))*SuperMap.Plot.PlottingUtil.RTOD);var P=p-u,S=p+u,h=P<0&&S>0||P>360||S>360;P=this.adjustAngle(P),S=this.adjustAngle(S);for(var y=l[c].length-1;y>=0;y--)if(h){if(S>l[c][y].End||SuperMap.Plot.PlottingUtil.equalFuzzy(S,l[c][y].End)){l[c].splice(y,1);continue}if(S>l[c][y].Start&&(l[c][y].Start=S),P<l[c][y].Start||SuperMap.Plot.PlottingUtil.equalFuzzy(P,l[c][y].Start)){l[c].splice(y,1);continue}P<l[c][y].End&&(l[c][y].End=P)}else if(P<l[c][y].Start&&S>l[c][y].End)l[c].splice(y,1);else if(P>l[c][y].Start&&S<l[c][y].End)l[c].push({Start:l[c][y].Start,End:P}),l[c].push({Start:S,End:l[c][y].End}),l[c].splice(y,1);else{if(P>l[c][y].End)continue;if(P>l[c][y].Start&&(l[c][y].End=P),S<l[c][y].Start)continue;S<l[c][y].End&&(l[c][y].Start=S)}}else{if(o[n]<o[r]){l[n][0].Start=0,l[n][0].End=0;break}l[r][0].Start=0,l[r][0].End=0}}for(var f=0;f<t.length;f++)if(0!==l[f].length&&(0!==l[f][0].Start||0!==l[f][0].End))for(var g=l[f].length-1;g>=0;g--){for(var b=this.adjustAngle(l[f][g].Start),M=this.adjustAngle(l[f][g].End);M<b;)M+=360;for(var m=[],d=(M-b)/72,v=b;v<M+d/2;v+=d){var O=t[f].x+o[f]*Math.cos(v*SuperMap.Plot.PlottingUtil.DTOR),U=t[f].y+o[f]*Math.sin(v*SuperMap.Plot.PlottingUtil.DTOR);m.push(new SuperMap.Geometry.Point(O,U))}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m)}}},{key:"adjustAngle",value:function(t){for(;t>360;)t-=360;for(;t<0;)t+=360;return t}},{key:"GetCirclePts",value:function(t,e,l,o){var i=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,n=180*SuperMap.Plot.PlottingUtil.radian(t,l)/Math.PI,r=i;n>i&&(r=n);for(var a=[],s=r;s<360+r;s+=4)90==s&&(s=91),a.push(SuperMap.Plot.PlottingUtil.circlePoint(t,o,o,s));return a.push[0],a}},{key:"CreatArc",value:function(t,e,l){for(var o=[],i=[],n=0;n<t.length;n++){var r=t[n];SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,r)||SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,r)?(i.length>1&&o.push(i),i=[]):i.push(r)}i.length>1&&o.push(i);for(var a=0;a<o.length;a++){var s=o[a];this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}}},{key:"GetArcPts3D",value:function(t,e,l){for(var o=[],i=[],n=0;n<t.length;n++){var r=t[n];SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,r)||SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,r)?(i.length>1&&o.push(i),i=[]):i.push(r)}i.length>1&&o.push(i);for(var a=[],s=0;s<o.length;s++)a=a.concat(o[s]);return a}},{key:"sortPts",value:function(t,e){t=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);for(var l=0;l<e.length;l++)for(var o=e[l],i=180*SuperMap.Plot.PlottingUtil.radian(t,o)/Math.PI,n=0;n<e.length;n++){var r=e[n],a=180*SuperMap.Plot.PlottingUtil.radian(t,r)/Math.PI;if(i>a){var s=new SuperMap.Geometry.Point(o.x,o.y);o=new SuperMap.Geometry.Point(r.x,r.y),r=new SuperMap.Geometry.Point(s.x,s.y),i=a,e[l]=o,e[n]=r}}return e}}]),e}();SuperMap.Plot.AlgoSymbol23902=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23901=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.333333),l.scaleValues.push(.333333),l.scaleValues.push(.125),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=[];if(2==t.length){var o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);e=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI;var r=SuperMap.Plot.PlottingUtil.circlePoint(o,n,n,e+60);l.push(t[0]),l.push(i),l.push(r),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);for(var a=0;a<t.length;a++)l.push(t[a])}var s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);l.push(l[0]);var p=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(!this.isEdit){var u=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.scaleValues[2]=2*u*this.getSubSymbolScaleValue()/p}var c=this.scaleValues[0],P=this.scaleValues[1],S=this.scaleValues[2],h=this.scaleValues[3],y=this.ComputeSubSymbolPt(c,P,l,s),f=p*S,g=y;e=h-90,0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],g,f,e),this.addScalePoint(g);var b=SuperMap.Plot.PlottingUtil.circlePoint(y,f,f,h);this.addScalePoint(b),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n,r=[];if(2==l.length){o=l[0],i=l[1];var a=SuperMap.Plot.PlottingUtil.distance(o,i),s=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI;n=SuperMap.Plot.PlottingUtil.circlePoint(o,a,a,s+60),r.push(o),r.push(i),r.push(n)}else r=r.concat(l);o=r[0],i=r[1],n=r[2];var p=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(r);r.push(r[0]);var u=SuperMap.Plot.PlottingUtil.polylineDistance(r),c=e;if(0==t){var P=SuperMap.Plot.PlottingUtil.plumbLineLen(n,o,i),S=SuperMap.Plot.PlottingUtil.plumbLineLen(i,o,n),h=SuperMap.Plot.PlottingUtil.plumbLineLen(c,o,i)/P,y=SuperMap.Plot.PlottingUtil.plumbLineLen(c,o,n)/S;h>1&&(h=1),y>1&&(y=1),this.scaleValues[0]=h,this.scaleValues[1]=y}else if(1==t){var f=this.scaleValues[0],g=this.scaleValues[1],b=this.ComputeSubSymbolPt(f,g,r,p),M=SuperMap.Plot.PlottingUtil.distance(b,c)/u;this.scaleValues[2]=M;var m=180*SuperMap.Plot.PlottingUtil.radian(b,c)/Math.PI;this.scaleValues[3]=m}}}},{key:"ComputeSubSymbolPt",value:function(t,e,l,o){var i,n,r=l[0],a=l[1],s=l[2],p=SuperMap.Plot.PlottingUtil.plumbLineLen(s,r,a)*t,u=SuperMap.Plot.PlottingUtil.plumbLineLen(a,r,s)*e,c=[];if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(r,a,o)?((i=[]).push(r),i.push(a),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!1)):((i=[]).push(r),i.push(a),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!0)),SuperMap.Plot.PlottingUtil.pointIsRightToLine(r,s,o)?((i=[]).push(r),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!1)):((i=[]).push(r),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!0)),2>c.length||2>n.length)return o;var P=SuperMap.Plot.PlottingUtil.intersectLines(c[0],c[1],n[0],n[1]);return P.isIntersectLines?P.intersectPoint:o}}]),e}();SuperMap.Plot.AlgoSymbol23901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol23800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{fillLimit:!0,fill:!1,surroundLineFlag:!1});var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);if(this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0){if(this.subSymbols[0].symbolData)for(var u in this.subSymbols[0].symbolData.innerCells)this.subSymbols[0].symbolData.innerCells[u].type===SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL&&(this.subSymbols[0].symbolData.innerCells[u].type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL);this.computeSubSymbol(this.subSymbols[0],p,s,0)}this.addScalePoint(p);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-r.x)/a,this.scaleValues[2]=i,n=(e.y-r.y)/a,this.scaleValues[3]=n;else if(1===t){i=this.scaleValues[2],n=this.scaleValues[3];var s=new SuperMap.Geometry.Point(r.x+a*i,r.y+a*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/a;this.scaleValues[0]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol23500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e),this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var l=this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2],n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),r=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=r*i,s=new SuperMap.Geometry.Point(n.x+r*l,n.y+r*o);if(this.subSymbols.length>0){if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&this.computeSubSymbol(this.subSymbols[0],s,a,0),this.addScalePoint(s);var p=SuperMap.Plot.PlottingUtil.circlePoint(s,a,a,0);this.addScalePoint(p)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-r.x)/a,this.scaleValues[0]=i,n=(e.y-r.y)/a,this.scaleValues[1]=n;else if(1===t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(r.x+a*i,r.y+a*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/a;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol23400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol22000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.03):1===this.scaleValues.length&&(this.scaleValues[1]=.02),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.6*this.getSubSymbolScaleValue()}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.8*a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var P=e[0],S=e[1],h=e[e.length-2],y=e[e.length-1],f=l*this.scaleValues[1],g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,S,P),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,h,y),M=g.pntLeft,m=b.pntLeft,d=[];d.push(P),d.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=[];v.push(y),v.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v);var O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),U=SuperMap.Plot.PlottingUtil.circlePoint(O.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r);this.addScalePoint(U,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol22000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.2));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],l=.5*e,o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,r=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+90),a=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+270),s=SuperMap.Plot.PlottingUtil.circlePoint(r,l,l,n),p=SuperMap.Plot.PlottingUtil.circlePoint(a,l,l,n),u=[];u.push(p),u.push(a),u.push(r),u.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+90),P=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+270),S=SuperMap.Plot.PlottingUtil.circlePoint(c,l,l,n+180),h=SuperMap.Plot.PlottingUtil.circlePoint(P,l,l,n+180);(u=[]).push(S),u.push(c),u.push(P),u.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addScalePoint(r),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol21800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05)),l.subText="",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(SuperMap.Plot.PlottingUtil.clearSamePts(t),!(t.length<this.minEditPts)){1==this.scaleValues.length&&this.scaleValues.push(this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[0]=.6*this.getSubSymbolScaleValue(),this.scaleValues[1]=this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l=0,o=0;o<e.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(e[o],e[o+1]);var i=.5*l,n=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,i);if(-1!==n.index){for(var r=n.pt,a=[],s=0,p=0;p<n.index+1;p++)a.push(e[p]),p>0&&(s+=SuperMap.Plot.PlottingUtil.distance(a[p],a[p-1]));var u,c,P=i-s,S=l*this.scaleValues[1],h=[];if(P>=S){u=SuperMap.Plot.PlottingUtil.linePnt(r,e[n.index],S),a.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),c=SuperMap.Plot.PlottingUtil.linePnt(r,e[n.index+1],S),h.push(c);for(var y=e.length,f=n.index+1;f<y;++f)h.push(e[f]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}else{for(var g,b,M=-1,m=a.length-1;m>=0;m--)if(g=new SuperMap.Geometry.Point(a[m].x,a[m].y),b=new SuperMap.Geometry.Point(r.x,r.y),SuperMap.Plot.PlottingUtil.distance(g,b)>S){M=m;break}if(-1==M)return;a.splice(M+1,a.length-1-M),u=SuperMap.Plot.PlottingUtil.linePnt(r,e[M],S),a.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);for(var d=-1,v=n.index;v<e.length;v++)if(g=new SuperMap.Geometry.Point(e[v].x,e[v].y),b=new SuperMap.Geometry.Point(r.x,r.y),SuperMap.Plot.PlottingUtil.distance(g,b)>S){d=v;break}if(-1==d)return;c=SuperMap.Plot.PlottingUtil.linePnt(r,e[d],S),h.push(c);for(var O=d+1;O<e.length;++O)h.push(e[O]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}if(!(a.length<2)){for(var U=0,w=0;w<t.length-1;w++)U+=SuperMap.Plot.PlottingUtil.distance(t[w],t[w+1]);var L=U*this.scaleValues[0],_=new SuperMap.Geometry.Point(a[0].x,a[0].y),V=new SuperMap.Geometry.Point(a[1].x,a[1].y),A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,V,_),T=[];if(T.push(A.pntLeft),T.push(A.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T),!(h.length<2)){var E=new SuperMap.Geometry.Point(h[h.length-1].x,h[h.length-1].y),x=new SuperMap.Geometry.Point(h[h.length-2].x,h[h.length-2].y),j=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,x,E);(T=[]).push(j.pntLeft),T.push(j.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T);var Y=u,C=c,I=180*SuperMap.Plot.PlottingUtil.radian(Y,C)/Math.PI,B=SuperMap.Plot.PlottingUtil.distance(Y,C),R=new SuperMap.Geometry.Point((u.x+c.x)/2,(u.y+c.y)/2),G=this.subText;this.addText(G,R,B,I),this.addScalePoint(A.pntLeft),this.finish()}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol21600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21504=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),o(e,[{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-90)}}]),e}();SuperMap.Plot.AlgoSymbol21504=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21503=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),o(e,[{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-90)}}]),e}();SuperMap.Plot.AlgoSymbol21503=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol21502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),e}();SuperMap.Plot.AlgoSymbol21502=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.02):1===this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue()),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.5*this.getSubSymbolScaleValue()}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.addSubSymbols(n,a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p,this.scaleValues[1])}var P=l*this.scaleValues[0]*.5,S=SuperMap.Plot.PlottingUtil.circlePoint(n,P,P,r+90);this.addScalePoint(S,0),this.finish()}}},{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-180)}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol21501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05,l.scaleValues[2]=.01,l.scaleValues[3]=.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues[0]=.05,this.scaleValues[1]=.02,this.scaleValues[2]=.01,this.scaleValues[3]=.02):1===this.scaleValues.length&&(this.scaleValues.push(.02),this.scaleValues.push(.01),this.scaleValues.push(.25*this.getSubSymbolScaleValue())),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[3]=.5*o}for(var i=this.getLinePts(e,this.scaleValues[0]),n=[],r=[],a=0;a<=i.startIndex;a++)n.push(e[a]);if(n.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),i.endIndex<=e.length){r.push(i.endPt);for(var s=i.endIndex+1;s<=e.length-1;s++)r.push(e[s]);this.addArrow(r,this.scaleValues[this.scaleValues.length-1])}var p,u,c,P,S,h,y,f,g,b,M,m,d,v=i.startPt.clone(),O=i.endPt.clone(),U=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),w=SuperMap.Plot.PlottingUtil.distance(v,O),L=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD;p=new SuperMap.Geometry.Point(0,0),u=new SuperMap.Geometry.Point(0,0),c=new SuperMap.Geometry.Point(0,0),P=new SuperMap.Geometry.Point(0,0),S=new SuperMap.Geometry.Point(0,0),h=new SuperMap.Geometry.Point(0,0),y=new SuperMap.Geometry.Point(0,0),f=new SuperMap.Geometry.Point(0,0),g=new SuperMap.Geometry.Point(0,0),b=new SuperMap.Geometry.Point(0,0),M=new SuperMap.Geometry.Point(0,0),m=new SuperMap.Geometry.Point(0,0),d=new SuperMap.Geometry.Point(0,0),v.x>=O.x?(p.x=.25*w,p.y=.25*-w,u.x=.5*-w,u.y=.25*-w,c.x=.5*-w,c.y=.25*w,P.x=.5*w,P.y=.25*w,S.x=.5*w,S.y=0,h.x=.25*-w,h.y=.125*-w,y.x=0,y.y=.125*w,f.x=0,f.y=.125*-w,g.x=.25*w,g.y=.2*w,b.x=.25*-w,b.y=.25*-w,M.x=.375*-w,M.y=.5*-w,m.x=.02*-w,m.y=.25*-w,d.x=.1*w,d.y=.5*-w):(p.x=.25*w,p.y=.25*w,u.x=.5*-w,u.y=.25*w,c.x=.5*-w,c.y=.25*-w,P.x=.5*w,P.y=.25*-w,S.x=.5*w,S.y=0,h.x=.25*w,h.y=.125*-w,y.x=0,y.y=.125*w,f.x=0,f.y=.125*-w,g.x=.25*-w,g.y=.125*w,b.x=.25*-w,b.y=.25*w,M.x=.375*-w,M.y=.5*w,m.x=.02*w,m.y=.25*w,d.x=.15*w,d.y=.5*w);var _=[],V=[],A=[],T=[],E=[],x=SuperMap.Plot.PlottingUtil.coordinateTrans(U,p,L),j=SuperMap.Plot.PlottingUtil.coordinateTrans(U,u,L),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(U,c,L),C=SuperMap.Plot.PlottingUtil.coordinateTrans(U,P,L),I=SuperMap.Plot.PlottingUtil.coordinateTrans(U,S,L),B=SuperMap.Plot.PlottingUtil.coordinateTrans(U,h,L),R=SuperMap.Plot.PlottingUtil.coordinateTrans(U,y,L),G=SuperMap.Plot.PlottingUtil.coordinateTrans(U,f,L),N=SuperMap.Plot.PlottingUtil.coordinateTrans(U,g,L),D=SuperMap.Plot.PlottingUtil.coordinateTrans(U,b,L),k=SuperMap.Plot.PlottingUtil.coordinateTrans(U,M,L),z=SuperMap.Plot.PlottingUtil.coordinateTrans(U,m,L),F=SuperMap.Plot.PlottingUtil.coordinateTrans(U,d,L);_.push(x),_.push(j),_.push(Y),_.push(C),_.push(I),V.push(B),V.push(R),V.push(G),V.push(N),A.push(D),A.push(k),T.push(z),T.push(F),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,_,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T,null,!0);var K=.3*SuperMap.Plot.PlottingUtil.distance(G,N),W=SuperMap.Plot.PlottingUtil.linePnt(N,G,K),J=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*K,N,W);E.push(J.pntLeft),E.push(N),E.push(J.pntRight);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,E,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var q=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),Z=SuperMap.Plot.PlottingUtil.circlePoint(q.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,L+90);this.addScalePoint(Z,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol21900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues.push(.02),this.scaleValues.push(.1),this.scaleValues.push(0)):3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);if(e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addArrow(e,this.scaleValues[this.scaleValues.length-1]),0!==SuperMap.Plot.PlottingUtil.polylineDistance(e)){if(!this.isEdit){var l=this.getSubSymbolScaleValue();this.scaleValues[0]=.5*l,this.scaleValues[this.scaleValues.length-1]=.5*this.getSubSymbolScaleValue()}for(var o=this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=o*i,r=this.scaleValues[1]*i,a=0,s=.01*i,p=s,u=0;p<=i;p+=r,u++){a=p+s;var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,a);if(-1===c.index)return;var P=[],S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index],c.pt);P.push(new SuperMap.Geometry.Point(S.pntLeft.x,S.pntLeft.y)),P.push(new SuperMap.Geometry.Point(S.pntRight.x,S.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),0===u?this.addScalePoint(P[0],0):1===u&&this.addScalePoint(c.pt,1)}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=.01*i;if(0===t){var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,n);if(-1===r.index)return;var a=SuperMap.Plot.PlottingUtil.distance(e,r.pt);this.scaleValues[0]=a/i}else if(1===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,n);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,o);if(-1===p.index)return;for(var u=0,c=s.index+1;c<p.index;c++)u+=SuperMap.Plot.PlottingUtil.distance(o[c],o[c+1]);u+=SuperMap.Plot.PlottingUtil.distance(o[p.index],p.pt),u-=n,this.scaleValues[1]=u/i,this.scaleValues[1]>.93&&(this.scaleValues[1]=.93)}}}}]),e}();SuperMap.Plot.AlgoSymbol21500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.03),l.scaleValues.push(.4),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues.push(.03),this.scaleValues.push(.4),this.scaleValues.push(0)):3===this.scaleValues.length&&this.scaleValues.push(.02);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=this.scaleValues[1],i=l*(1-o)*.5,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,e);if(n.bfind){this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue(),this.scaleValues[this.scaleValues.length-1]=.5*this.getSubSymbolScaleValue());var r,a=this.scaleValues[0],s=SuperMap.Plot.PlottingUtil.polylineDistance(t)*a,p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[n.index],n.pts),u=this.scaleValues[2];1===u?r=new SuperMap.Geometry.Point(p.pntRight.x,p.pntRight.y):0===u&&(r=new SuperMap.Geometry.Point(p.pntLeft.x,p.pntLeft.y));var c=[];c.push(r),c.push(n.pts);var P;this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,{lineTypeLimit:!0});var S=l*(.5+.5*o),h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e);if(h.bfind){var y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[h.index],h.pts);1===u?P=new SuperMap.Geometry.Point(y.pntRight.x,y.pntRight.y):0===u&&(P=new SuperMap.Geometry.Point(y.pntLeft.x,y.pntLeft.y)),this.addArrow(e,this.scaleValues[this.scaleValues.length-1]),this.addScalePoint(P,0);var f=[];f.push(P),f.push(h.pts);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f,{lineTypeLimit:!0}),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=i*(.5+.5*this.scaleValues[1]),r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,o);if(!r.bfind)return;var a,s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[r.index],r.pts),p=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[r.index],o[r.index+1],e);this.scaleValues[2]=p?0:1,a=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,new SuperMap.Geometry.Point(s.pntLeft.x,s.pntLeft.y),new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y));var u=SuperMap.Plot.PlottingUtil.distance(a.projectPoint,new SuperMap.Geometry.Point(r.pts.x,r.pts.y));this.scaleValues[0]=u/i}}}]),e}();SuperMap.Plot.AlgoSymbol21401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=l*this.scaleValues[0],i=e[e.length-1];if(e.length>2){for(var n=-1,r=e.length-2;r>=0;r--)if(o<SuperMap.Plot.PlottingUtil.distance(i,e[r])){n=r;break}e.splice(n+1,e.length-n),e.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var a=e[e.length-2],s=e[e.length-1],p=o,u=180*SuperMap.Plot.PlottingUtil.radian(a,s)/Math.PI,c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+157.5),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+202.5),S=[];S.push(c),S.push(i),S.push(P);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0},!0);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u);this.addScalePoint(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[l.length-1])/o;if(i>.2)return;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol25201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.285714),l.scaleValues.push(.5),l.scaleValues.push(.333333),l.scaleValues.push(.333333)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.285714),this.scaleValues.push(.285714),this.scaleValues.push(.5),this.scaleValues.push(.333333));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),r=new SuperMap.Geometry.Point(0,o*i),a=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*a),u=new SuperMap.Geometry.Point(o*(1-s),o*a),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,g=[];g.push(r),g.push(u),g.push(h),g.push(y),g.push(S),g.push(p),g.push(n);for(var b=[],M=0;M<g.length;M++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[M],f);b.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var d,v,O,U=!0;e.x>l.x&&(U=!1);var w,L=(O=.1*o)+(v=.12*o/2);d=1==U?(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,l,e)).pntRight:(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,l,e)).pntLeft;var _,V,A,T,E,x,j,Y,C=[];C.push(d),C.push(new SuperMap.Geometry.Point(d.x+v,d.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,C),1==U?(_=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.85*O,l,e)).pntRight,T=w.pntLeft,V=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,_,T)).pntRight,A=w.pntLeft):(_=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.85*O,l,e)).pntLeft,T=w.pntRight,V=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,_,T)).pntLeft,A=w.pntRight),(C=[]).push(_),C.push(V),C.push(A),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,C,{fillLimit:!0,fill:!0}),w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*v,V,A),Y=1==U?w.pntRight:w.pntLeft,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*v,A,V),x=1==U?w.pntLeft:w.pntRight;var I=SuperMap.Plot.PlottingUtil.intersectLines(_,x,A,V);I.isIntersectLines&&(E=I.intersectPoint,(I=SuperMap.Plot.PlottingUtil.intersectLines(_,Y,A,V)).isIntersectLines&&(j=I.intersectPoint,(C=[]).push(E),C.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C),(C=[]).push(j),C.push(Y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C),this.scalePoints=[],this.addScalePoint(b[0]),this.addScalePoint(b[1]),this.addScalePoint(b[2]),this.finish()))}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),r=l[1].clone(),a=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(a,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var p=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var c=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol42500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5)),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI,a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.8*a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r);this.addScalePoint(S,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol26501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol20301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length!==this.minEditPts&&(this.scaleValues=[],this.scaleValues.push(.2),this.scaleValues.push(0)),this.components=[],this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,this.controlPoints);var e,l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,r=new SuperMap.Geometry.Point((o.x+i.x)/2,(o.y+i.y)/2),a=this.scaleValues[0]*l;e=0==this.scaleValues[1]?SuperMap.Plot.PlottingUtil.circlePoint(r,a,a,n+90):SuperMap.Plot.PlottingUtil.circlePoint(r,a,a,n+270);var s={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[r,e]);var p=.02*SuperMap.Plot.PlottingUtil.distance(t[0],t[t.length-1]),u=new SuperMap.Geometry.Point((o.x+r.x)/2,(o.y+r.y)/2),c=[u,new SuperMap.Geometry.Point(u.x,u.y+p)];this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,s,!0);var P=new SuperMap.Geometry.Point((i.x+r.x)/2,(i.y+r.y)/2);c=[P,new SuperMap.Geometry.Point(P.x,P.y+p)],this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,s,!0);var S=new SuperMap.Geometry.Point(e.x,e.y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=new SuperMap.Geometry.Point(l[0].x,l[0].y),i=new SuperMap.Geometry.Point(l[1].x,l[1].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);if(0===n)return;var r=new SuperMap.Geometry.Point((o.x+i.x)/2,(o.y+i.y)/2);if(0===t){var a=SuperMap.Plot.PlottingUtil.distance(e,r)/n;this.scaleValues[0]=a,SuperMap.Plot.PlottingUtil.pointIsRightToLine(o,i,e)?this.scaleValues[1]=1:this.scaleValues[1]=0}}}}]),e}();SuperMap.Plot.AlgoSymbol20301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol20300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){1!==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1)),this.components=[],this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,this.controlPoints);var e=this.scaleValues[0],l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=l*e,i=.01*l;o<2*i&&(i=.5*o);for(var n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},r=0,a=o;a<l-i;a+=o){var s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,t);if(s.bfind){var p=s.pts,u=[];u.push(p);var c=SuperMap.Plot.PlottingUtil.circlePoint(p,i,i,90);if(u.push(c),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,u,n),0===r){var P=new SuperMap.Geometry.Point(p.x,p.y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}r++}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;for(var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=-1,n=0,r=new SuperMap.Geometry.Point(0,0),a=0;a<l.length-1;a++){var s,p=[];p.push(l[a]),p.push(l[a+1]);var u=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l[a],l[a+1]);if(u.isOnline&&(s=u.projectPoint),!u.isOnline&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(e,l[a],l[a+1])&&(s=e),void 0===s)return;if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(s,p).isOnPolyLine){var c=SuperMap.Plot.PlottingUtil.distance(e,s);-1===i?(i=a,r=s,n=c):n>c&&(i=a,r=s,n=c)}}if(-1===i||i>l.length-1)return;for(var P=0,S=0;S<i;S++){var h=new SuperMap.Geometry.Point(l[S].x,l[S].y),y=new SuperMap.Geometry.Point(l[S+1].x,l[S+1].y);P+=SuperMap.Plot.PlottingUtil.distance(h,y)}var f=new SuperMap.Geometry.Point(l[i].x,l[i].y);if((P+=SuperMap.Plot.PlottingUtil.distance(f,r))<0||P>o)return;var g=P/o;g>.95?g=.95:g<.1&&(g=.1),this.scaleValues[0]=g}}}]),e}();SuperMap.Plot.AlgoSymbol20300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17806=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17804),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var e,l,o,i,n,r=this.scaleValues[0],a=this.scaleValues[1],s=this.scaleValues[2],p=0,u=0;if(t.length==this.minEditPts){this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y);var c=SuperMap.Plot.PlottingUtil.distance(l,o);p=2*c,e=new SuperMap.Geometry.Point(l.x+p*r,l.y+p*a);var P=2*c*s/.28/2;u=P,i=SuperMap.Plot.PlottingUtil.circlePoint(e,P,P,0),(n=[]).push(e.clone()),n.push(i.clone()),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,n)}else{this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),p=SuperMap.Plot.PlottingUtil.distance(l,o)+SuperMap.Plot.PlottingUtil.distance(l,i),e=new SuperMap.Geometry.Point(l.x+p*r,l.y+p*a);var S=p*s/.21/2,h=p*s/.38/2;u=S;var y=SuperMap.Plot.PlottingUtil.circlePoint(e,S,S,0),f=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,90);(n=[]).push(e.clone()),n.push(y.clone()),n.push(f.clone()),this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,n)}this.scalePoints=[];var g=new SuperMap.Geometry.Point(e.x+.1*p,e.y);g.isScalePoint=!0,g.tag=0,this.scalePoints.push(g);var b=SuperMap.Plot.PlottingUtil.circlePoint(e,u,u,90);b.isScalePoint=!0,b.tag=1,this.scalePoints.push(b),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,r=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),a=(r=SuperMap.Plot.PlottingUtil.clearSamePts(r))[0].clone(),s=0;if(0==(s=2==r.length?2*SuperMap.Plot.PlottingUtil.distance(r[0],r[1]):SuperMap.Plot.PlottingUtil.distance(r[0],r[1])+SuperMap.Plot.PlottingUtil.distance(r[0],r[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*s-a.x)/s,this.scaleValues[0]=l,o=(e.y-a.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(a.x+s*l,a.y+s*o);n=SuperMap.Plot.PlottingUtil.distance(p,e),i=.1,i=2===r.length?.56*n/s:.42*n/s,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17806=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17805=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17804),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1)),t.length==this.minEditPts?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=t.length==this.minEditPts?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],r=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),a=3*(l*n),s=new SuperMap.Geometry.Point(-.5*a,.3*a),p=new SuperMap.Geometry.Point(-.5*a,-.3*a),u=new SuperMap.Geometry.Point(.5*a,-.3*a),c=new SuperMap.Geometry.Point(.5*a,.3*a),P=SuperMap.Plot.PlottingUtil.coordinateTrans(r,s,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(r,p,0),h=SuperMap.Plot.PlottingUtil.coordinateTrans(r,u,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(r,c,0),f=[];f.push(P.clone()),f.push(S.clone()),f.push(h.clone()),f.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f);var g=new SuperMap.Geometry.Point(-.3*a,.3*a),b=new SuperMap.Geometry.Point(-.3*a,.5*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(r,g,0),m=SuperMap.Plot.PlottingUtil.coordinateTrans(r,b,0);(f=[]).push(M.clone()),f.push(m.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var d=new SuperMap.Geometry.Point(-.3*a,-.3*a),v=new SuperMap.Geometry.Point(-.3*a,-.5*a),O=SuperMap.Plot.PlottingUtil.coordinateTrans(r,d,0),U=SuperMap.Plot.PlottingUtil.coordinateTrans(r,v,0);(f=[]).push(O.clone()),f.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var w=new SuperMap.Geometry.Point(.3*a,.3*a),L=new SuperMap.Geometry.Point(.3*a,.5*a),_=SuperMap.Plot.PlottingUtil.coordinateTrans(r,w,0),V=SuperMap.Plot.PlottingUtil.coordinateTrans(r,L,0);(f=[]).push(_.clone()),f.push(V.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var A=new SuperMap.Geometry.Point(.3*a,-.3*a),T=new SuperMap.Geometry.Point(.3*a,-.5*a),E=SuperMap.Plot.PlottingUtil.coordinateTrans(r,A,0),x=SuperMap.Plot.PlottingUtil.coordinateTrans(r,T,0);(f=[]).push(E.clone()),f.push(x.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.scalePoints=[];var j=new SuperMap.Geometry.Point(r.x+.1*a,r.y);j.isScalePoint=!0,j.tag=0,this.scalePoints.push(j);var Y=SuperMap.Plot.PlottingUtil.circlePoint(r,.5*a,.5*a,90);Y.isScalePoint=!0,Y.tag=1,this.scalePoints.push(Y),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17805=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1)),t.length==this.minEditPts?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=t.length==this.minEditPts?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],r=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),a=l*n,s=3*a,p=new SuperMap.Geometry.Point(-.5*s,.5*a),u=new SuperMap.Geometry.Point(.5*s,.5*a),c=SuperMap.Plot.PlottingUtil.coordinateTrans(r,p,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(r,u,0),S=[];S.push(c.clone()),S.push(P.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=new SuperMap.Geometry.Point(-.5*s,-.5*a),y=new SuperMap.Geometry.Point(.5*s,-.5*a),f=SuperMap.Plot.PlottingUtil.coordinateTrans(r,h,0),g=SuperMap.Plot.PlottingUtil.coordinateTrans(r,y,0);(S=[]).push(f.clone()),S.push(g.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var b=new SuperMap.Geometry.Point(-.1*s,.5*a),M=new SuperMap.Geometry.Point(-.15*s,-.5*a),m=SuperMap.Plot.PlottingUtil.coordinateTrans(r,b,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(r,M,0);(S=[]).push(m.clone()),S.push(d.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var v=new SuperMap.Geometry.Point(.15*s,.5*a),O=new SuperMap.Geometry.Point(.1*s,-.5*a),U=SuperMap.Plot.PlottingUtil.coordinateTrans(r,v,0),w=SuperMap.Plot.PlottingUtil.coordinateTrans(r,O,0);(S=[]).push(U.clone()),S.push(w.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.scalePoints=[];var L=new SuperMap.Geometry.Point(r.x+.1*s,r.y);L.isScalePoint=!0,L.tag=0,this.scalePoints.push(L);var _=SuperMap.Plot.PlottingUtil.circlePoint(r,.5*s,.5*s,90);_.isScalePoint=!0,_.tag=1,this.scalePoints.push(_),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,r=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),a=(r=SuperMap.Plot.PlottingUtil.clearSamePts(r))[0].clone(),s=0;if(0==(s=2==r.length?2*SuperMap.Plot.PlottingUtil.distance(r[0],r[1]):SuperMap.Plot.PlottingUtil.distance(r[0],r[1])+SuperMap.Plot.PlottingUtil.distance(r[0],r[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*n-a.x)/s,this.scaleValues[0]=l,o=(e.y-a.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(a.x+s*l,a.y+s*o);i=2*(n=SuperMap.Plot.PlottingUtil.distance(p,e))/s/3,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17804=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17803=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.2)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.2)),2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=2==t.length?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],r=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),a=l*n,s=new SuperMap.Geometry.Point(-.5*a,.25*a),p=new SuperMap.Geometry.Point(-.4*a,.125*a),u=new SuperMap.Geometry.Point(.4*a,.125*a),c=new SuperMap.Geometry.Point(.5*a,.25*a),P=SuperMap.Plot.PlottingUtil.coordinateTrans(r,s,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(r,p,0),h=SuperMap.Plot.PlottingUtil.coordinateTrans(r,u,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(r,c,0),f=[];f.push(P.clone()),f.push(S.clone()),f.push(h.clone()),f.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=new SuperMap.Geometry.Point(-.5*a,-.25*a),b=new SuperMap.Geometry.Point(-.4*a,-.125*a),M=new SuperMap.Geometry.Point(.4*a,-.125*a),m=new SuperMap.Geometry.Point(.5*a,-.25*a),d=SuperMap.Plot.PlottingUtil.coordinateTrans(r,g,0),v=SuperMap.Plot.PlottingUtil.coordinateTrans(r,b,0),O=SuperMap.Plot.PlottingUtil.coordinateTrans(r,M,0),U=SuperMap.Plot.PlottingUtil.coordinateTrans(r,m,0);(f=[]).push(d.clone()),f.push(v.clone()),f.push(O.clone()),f.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.scalePoints=[];var w=new SuperMap.Geometry.Point(r.x+.1*a,r.y);w.isScalePoint=!0,w.tag=0,this.scalePoints.push(w);var L=SuperMap.Plot.PlottingUtil.circlePoint(r,.25*a,.25*a,90);L.isScalePoint=!0,L.tag=1,this.scalePoints.push(L),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,r=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),a=(r=SuperMap.Plot.PlottingUtil.clearSamePts(r))[0].clone(),s=0;if(0==(s=2==r.length?2*SuperMap.Plot.PlottingUtil.distance(r[0],r[1]):SuperMap.Plot.PlottingUtil.distance(r[0],r[1])+SuperMap.Plot.PlottingUtil.distance(r[0],r[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*n-a.x)/s,this.scaleValues[0]=l,o=(e.y-a.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(a.x+s*l,a.y+s*o);i=4*(n=SuperMap.Plot.PlottingUtil.distance(p,e))/s,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=[],r=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),a=SuperMap.Plot.PlottingUtil.circlePoint(e,.08*i,.08*i,o+90),s=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),p=SuperMap.Plot.PlottingUtil.circlePoint(e,.08*i,.08*i,o+270);n.push(r.clone()),n.push(a.clone()),n.push(s.clone()),n.push(p.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),c=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180);(n=[]).push(u.clone()),n.push(c.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),S=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(n=[]).push(P.clone()),n.push(S.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var h=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),y=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(n=[]).push(h.clone()),n.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var f=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),g=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(n=[]).push(f.clone()),n.push(g.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=[],r=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,0);n.push(t[0].clone()),n.push(r.clone()),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,n);var a=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),s=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180);(n=[]).push(a.clone()),n.push(s.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var p=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),u=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(n=[]).push(p.clone()),n.push(u.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var c=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),P=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(n=[]).push(c.clone()),n.push(P.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var S=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),h=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(n=[]).push(S.clone()),n.push(h.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),r=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180),a=[];a.push(n.clone()),a.push(r.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var s=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,o+180),p=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(a=[]).push(s.clone()),a.push(p.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,o),c=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(a=[]).push(u.clone()),a.push(c.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),S=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(a=[]).push(P.clone()),a.push(S.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol17704=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="急",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17703),e}();SuperMap.Plot.AlgoSymbol17704=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17703=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="加",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.isEdit||(this.scaleValues=[]);var o=[];if(this.scalePoints=[],t.length<3)o.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),o.push(new SuperMap.Geometry.Point(t[1].x,t[1].y));else{var i=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=i.scaleValues;for(var n=0;n<i.scalePoints.length;n++)this.addScalePoint(i.scalePoints[n]);o=i.beizerPoints}if(!(o.length<2)){var r=e/2;if(-1!==SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,r).index){var a,s;if(a=2==t.length?0:t.length-1,this.isEdit)s=this.scaleValues[4*a]*e,isNaN(s)&&(s=Math.abs(this.scaleValues[4*a-1]*e));else{var p=.5*this.getSubSymbolScaleValue();s=p*e,this.scaleValues.push(p)}var u=r-s,c=r+s,P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,u);if(-1!==P.index){var S=P.pt;this.addScalePoint(new SuperMap.Geometry.Point(S.x,S.y));var h=[];if(0==P.index)h.push(o[0]);else for(var y=0;y<P.index;y++)h.push(o[y]);h.push(S);var f=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,c);if(-1!==f.index){var g=f.pt,b=[];b.push(g);for(var M=f.index+1;M<o.length;M++)b.push(o[M]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var m=h[h.length-1],d=b[0],v=180*SuperMap.Plot.PlottingUtil.radian(m,d)/Math.PI,O=SuperMap.Plot.PlottingUtil.distance(m,d),U=new SuperMap.Geometry.Point((m.x+d.x)/2,(m.y+d.y)/2),w=this.subText;this.addText(w,U,O,v),this.finish()}}}}}}},{key:"computeBeizer",value:function(t,e){var l,o,i,n=[];if(this.scalePoints=[],this.isEdit){(i=[]).push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),i.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),l=this.scaleValues[0],o=this.scaleValues[1];var r=t[0].x+e*l,a=t[0].y+e*o;i.push(new SuperMap.Geometry.Point(r,a)),this.addScalePoint(new SuperMap.Geometry.Point(r,a));for(var s=1;s<t.length-1;s++)i.push(new SuperMap.Geometry.Point(t[s].x,t[s].y)),l=this.scaleValues[4*s-2],o=this.scaleValues[4*s-1],r=t[s].x+e*l,a=t[s].y+e*o,i.push(new SuperMap.Geometry.Point(r,a)),this.addScalePoint(new SuperMap.Geometry.Point(r,a)),l=this.scaleValues[4*s],o=this.scaleValues[4*s+1],r=t[s].x+e*l,a=t[s].y+e*o,i.push(new SuperMap.Geometry.Point(r,a)),this.addScalePoint(new SuperMap.Geometry.Point(r,a));var p=t.length-1;i.push(new SuperMap.Geometry.Point(t[p].x,t[p].y)),l=this.scaleValues[4*p-2],o=this.scaleValues[4*p-1],r=t[p].x+e*l,a=t[p].y+e*o,i.push(new SuperMap.Geometry.Point(r,a)),this.addScalePoint(new SuperMap.Geometry.Point(r,a)),i.push(new SuperMap.Geometry.Point(t[p].x,t[p].y)),n=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(i)}else{if(this.scaleValues=[],i=[],(i=SuperMap.Plot.PlottingUtil.getBeizerCtrlPt(t)).length<3)return n;var u=i[2].x-i[0].x,c=i[2].y-i[0].y;l=u/e,o=c/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[2].x,i[2].y));for(var P=1;P<t.length-1;P++){l=(u=i[3*P+1].x-i[3*P].x)/e,o=(c=i[3*P+1].y-i[3*P].y)/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[3*P+1].x,i[3*P+1].y));var S=(i[3*P+2].x-i[3*P].x)/e,h=(i[3*P+2].y-i[3*P].y)/e;this.scaleValues.push(S),this.scaleValues.push(h),this.addScalePoint(new SuperMap.Geometry.Point(i[3*P+2].x,i[3*P+2].y))}l=(u=i[3*(t.length-1)+1].x-i[3*(t.length-1)].x)/e,o=(c=i[3*(t.length-1)+1].y-i[3*(t.length-1)].y)/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[3*(t.length-1)+1].x,i[3*(t.length-1)+1].y)),n=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(i)}return n}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),t<0||t>2*l.length-2)return;for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(2*(l.length-1)==t||2==l.length){for(var n=this.computeBeizer(l,o),r=0,a=0;a<n.length-1;a++)r+=SuperMap.Plot.PlottingUtil.distance(n[a],n[a+1]);var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,r/2);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.distance(e,s.pt)/o;p>.45&&(p=.45),2==l.length?this.scaleValues[0]=p:this.scaleValues[2*t]=p}else{var u=-1;u=t%2==0?t/2:(t+1)/2;var c=(e.x-l[u].x)/o,P=(e.y-l[u].y)/o;this.scaleValues[2*t]=c,this.scaleValues[2*t+1]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol17703=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);0===this.scaleValues.length&&this.scaleValues.push(.02),this.isEdit||(this.scaleValues[0]=.2*this.getSubSymbolScaleValue());var l=e*this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.paraLine(o,l,!0),n=SuperMap.Plot.PlottingUtil.paraLine(o,l,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);for(var r={surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0},a=this.getDashLinePts(n,5*l),s=0;s<a.length;s++){var p=a[s];this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,r)}this.finish()}}},{key:"getDashLinePts",value:function(t,e){var l=[],o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(e>o)return l;for(var i=SuperMap.Plot.PlottingUtil.clonePoints(t),n=2*parseInt(o/(1.5*e)),r=0;r<n;r++){var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,e);if(-1!==a.index){if(0==r%2){for(var s=[],p=0;p<a.index+1;p++)s.push(i[p].clone());s.push(a.pt),l.push(s)}var u=[];u.push(a.pt);for(var c=a.index+1;c<i.length;c++)u.push(i[c]);i=(i=[]).concat(u)}}return i.length>0&&l.push(i),l}}]),e}();SuperMap.Plot.AlgoSymbol17700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17501=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=e[0].x,o=e[0].x,i=e[0].y,n=e[0].y,r=0;r<e.length;r++)l>e[r].x&&(l=e[r].x),o<e[r].x&&(o=e[r].x),i>e[r].y&&(i=e[r].y),n<e[r].y&&(n=e[r].y);var a=new SuperMap.Geometry.Point((o+l)/2,(n+i)/2),s=.33*(o-l),p=.1*(n-i),u=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,0),c=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,180),P=[];P.push(new SuperMap.Geometry.Point(u.x,u.y)),P.push(new SuperMap.Geometry.Point(c.x,c.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=new SuperMap.Geometry.Point(a.x-3*s/7,a.y+p),h=SuperMap.Plot.PlottingUtil.circlePoint(S,p,p,60),y=SuperMap.Plot.PlottingUtil.circlePoint(S,p,p,120);(P=[]).push(new SuperMap.Geometry.Point(h.x,h.y)),P.push(new SuperMap.Geometry.Point(S.x,S.y)),P.push(new SuperMap.Geometry.Point(y.x,y.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var f=new SuperMap.Geometry.Point(a.x+3*s/7,a.y+p),g=SuperMap.Plot.PlottingUtil.circlePoint(f,p,p,60),b=SuperMap.Plot.PlottingUtil.circlePoint(f,p,p,120);(P=[]).push(new SuperMap.Geometry.Point(g.x,g.y)),P.push(new SuperMap.Geometry.Point(f.x,f.y)),P.push(new SuperMap.Geometry.Point(b.x,b.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17500=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=e[0].x,o=e[0].x,i=e[0].y,n=e[0].y,r=0;r<e.length;r++)l>e[r].x&&(l=e[r].x),o<e[r].x&&(o=e[r].x),i>e[r].y&&(i=e[r].y),n<e[r].y&&(n=e[r].y);var a={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},s=new SuperMap.Geometry.Point((o+l)/2,(n+i)/2),p=o-l,u=n-i,c=.1*p,P=.1*u,S=new SuperMap.Geometry.Point(s.x,s.y+P),h=new SuperMap.Geometry.Point(s.x-c,s.y-P),y=new SuperMap.Geometry.Point(s.x+c,s.y-P);c=.03*p,P=.03*u;var f=new SuperMap.Geometry.Point(S.x,S.y+P),g=new SuperMap.Geometry.Point(S.x-c,S.y-P),b=new SuperMap.Geometry.Point(S.x+c,S.y-P),M=[];M.push(new SuperMap.Geometry.Point(f.x,f.y)),M.push(new SuperMap.Geometry.Point(g.x,g.y)),M.push(new SuperMap.Geometry.Point(b.x,b.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M,a);var m=new SuperMap.Geometry.Point(h.x,h.y+P),d=new SuperMap.Geometry.Point(h.x-c,h.y-P),v=new SuperMap.Geometry.Point(h.x+c,h.y-P),O=[];O.push(new SuperMap.Geometry.Point(m.x,m.y)),O.push(new SuperMap.Geometry.Point(d.x,d.y)),O.push(new SuperMap.Geometry.Point(v.x,v.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,O,a);var U=new SuperMap.Geometry.Point(y.x,y.y+P),w=new SuperMap.Geometry.Point(y.x-c,y.y-P),L=new SuperMap.Geometry.Point(y.x+c,y.y-P),_=[];_.push(new SuperMap.Geometry.Point(U.x,U.y)),_.push(new SuperMap.Geometry.Point(w.x,w.y)),_.push(new SuperMap.Geometry.Point(L.x,L.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,_,a),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=this.scaleValues[1]*e,n=new SuperMap.Geometry.Point(t[0].x,t[0].y),r=new SuperMap.Geometry.Point(t[1].x,t[1].y),a=180*SuperMap.Plot.PlottingUtil.radian(n,r)/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,a+90),p=SuperMap.Plot.PlottingUtil.circlePoint(n,i,i,a+90),u=SuperMap.Plot.PlottingUtil.circlePoint(r,o,o,a+90),c=SuperMap.Plot.PlottingUtil.circlePoint(r,i,i,a+90),P=[];P.push(p),P.push(s),P.push(u),P.push(c),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P)),(P=[]).push(p),P.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P)),(P=[]).push(c),P.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P));var S=new SuperMap.Geometry.Point(s.x,s.y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S);var h=new SuperMap.Geometry.Point(p.x,p.y);h.isScalePoint=!0,h.tag=1,this.scalePoints.push(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(this.isEdit=!0,!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(n<this.scaleValues[1])return;this.scaleValues[0]=n}else if(1==t){var r=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(this.scaleValues[0]<r)return;this.scaleValues[1]=r}}}}]),e}();SuperMap.Plot.AlgoSymbol16700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16203=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());for(var o=this.scaleValues[0]*e,i=this.scaleValues[1]*e,n=.01*e,r=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=0,s={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!0,fill:!0,fillColor:"#ff0000",fillOpacity:1},p=n,u=0;p<=r;p+=i,u++){a=p+n;var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,a);if(-1===c.index)return;for(var P=SuperMap.Plot.PlottingUtil.radian(c.pt,l[c.index+1])*SuperMap.Plot.PlottingUtil.RTOD,S=this.getSubSymbolPts(o),h=[],y=0,f=S.length;y<f;y++)h.push(SuperMap.Plot.PlottingUtil.coordinateTrans(c.pt,S[y],P));if(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,s),0===u){var g=new SuperMap.Geometry.Point((h[0].x+h[1].x)/2,(h[0].y+h[1].y)/2);this.addScalePoint(g,0)}else 1===u&&this.addScalePoint(c.pt,1);this.finish()}}}},{key:"getSubSymbolPts",value:function(t){var e=.5*t,l=[];return l.push(new SuperMap.Geometry.Point(.5*e,2*e)),l.push(new SuperMap.Geometry.Point(.5*-e,2*e)),l.push(new SuperMap.Geometry.Point(.5*-e,-2*e)),l.push(new SuperMap.Geometry.Point(.5*e,-2*e)),l}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);i=SuperMap.Plot.PlottingUtil.clearSamePts(i);var n=.01*o;if(0===t){var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,n);if(-1===r.index)return;var a=SuperMap.Plot.PlottingUtil.distance(e,r.pt);this.scaleValues[0]=a/o}else if(1===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,n);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i);if(-1===p.index)return;for(var u=0,c=s.index+1;c<p.index;c++)u+=SuperMap.Plot.PlottingUtil.distance(i[c],i[c+1]);u+=SuperMap.Plot.PlottingUtil.distance(i[p.index],p.pt),u-=n,this.scaleValues[1]=u/o,u>o-o*this.scaleValues[0]-n&&(this.scaleValues[1]=(o-o*this.scaleValues[0]-n)/o)}}}}]),e}();SuperMap.Plot.AlgoSymbol16203=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o,i,n=this.scaleValues[0]*e;o=SuperMap.Plot.PlottingUtil.paraLine(t,n,!0),i=SuperMap.Plot.PlottingUtil.paraLine(t,n,!1);var r=new SuperMap.Geometry.Point(o[0].x,o[0].y);r.isScalePoint=!0,r.tag=0,this.scalePoints.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);var a=new SuperMap.Geometry.Point(t[0].x,t[0].y),s=new SuperMap.Geometry.Point(t[1].x,t[1].y),p=180*SuperMap.Plot.PlottingUtil.radian(a,s)/Math.PI,u=new SuperMap.Geometry.Point(.3*e,0),c=SuperMap.Plot.PlottingUtil.coordinateTrans(a,u,p),P=new SuperMap.Geometry.Point(0,.4*n),S=new SuperMap.Geometry.Point(0,.2*n),h=SuperMap.Plot.PlottingUtil.coordinateTrans(c,P,p),y=SuperMap.Plot.PlottingUtil.coordinateTrans(c,S,p),f=[];f.push(h),f.push(y),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f);var g=new SuperMap.Geometry.Point(0,.2*n),b=new SuperMap.Geometry.Point(0,-.4*n),M=SuperMap.Plot.PlottingUtil.coordinateTrans(c,g,p),m=SuperMap.Plot.PlottingUtil.coordinateTrans(c,b,p);(f=[]).push(M),f.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var d=new SuperMap.Geometry.Point(.2*n,-.2*n),v=new SuperMap.Geometry.Point(-.2*n,-.6*n),O=SuperMap.Plot.PlottingUtil.coordinateTrans(c,d,p),U=SuperMap.Plot.PlottingUtil.coordinateTrans(c,v,p);(f=[]).push(O),f.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var w=new SuperMap.Geometry.Point(-.2*n,-.2*n),L=new SuperMap.Geometry.Point(.2*n,-.6*n),_=SuperMap.Plot.PlottingUtil.coordinateTrans(c,w,p),V=SuperMap.Plot.PlottingUtil.coordinateTrans(c,L,p);(f=[]).push(_),f.push(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var A=new SuperMap.Geometry.Point(.7*e,0),T=SuperMap.Plot.PlottingUtil.coordinateTrans(a,A,p),E=SuperMap.Plot.PlottingUtil.coordinateTrans(T,P,p),x=SuperMap.Plot.PlottingUtil.coordinateTrans(T,S,p);(f=[]).push(E),f.push(x),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f);var j=SuperMap.Plot.PlottingUtil.coordinateTrans(T,g,p),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(T,b,p);(f=[]).push(j),f.push(Y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var C=SuperMap.Plot.PlottingUtil.coordinateTrans(T,d,p),I=SuperMap.Plot.PlottingUtil.coordinateTrans(T,v,p);(f=[]).push(C),f.push(I),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var B=SuperMap.Plot.PlottingUtil.coordinateTrans(T,w,p),R=SuperMap.Plot.PlottingUtil.coordinateTrans(T,L,p);(f=[]).push(B),f.push(R),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;this.scaleValues[0]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol16202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues.push(.02),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(.01)):3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.paraLine(l,.5*o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(l,.5*o,!1);i=SuperMap.Plot.PlottingUtil.clearSamePts(i),n=SuperMap.Plot.PlottingUtil.clearSamePts(n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);for(var r=e*this.scaleValues[1],a=e*this.scaleValues[3],s=0,p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=a,c=0;u<=p-a;u+=r,c++){s=u+a;var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,s);if(-1!==P.index){var S=new SuperMap.Geometry.Point(P.pt.x,P.pt.y+.5*o),h=[];h.push(P.pt),h.push(S),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,h),0===c?this.addScalePoint(S):1===c&&this.addScalePoint(P.pt)}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,r=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(r=SuperMap.Plot.PlottingUtil.clearSamePts(r),0==t){n=o*this.scaleValues[3];var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,n);if(-1===a.index)return;var s=2*SuperMap.Plot.PlottingUtil.distance(e,a.pt);this.scaleValues[0]=s/o}else if(1===t){n=o*this.scaleValues[3];var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,n);if(-1===p.index)return;var u=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,r);if(-1==u.index)return;for(var c=SuperMap.Plot.PlottingUtil.distance(p.pt,r[p.index+1]),P=p.index+1;P<u.index;P++)c+=SuperMap.Plot.PlottingUtil.distance(r[P],r[P+1]);c+=SuperMap.Plot.PlottingUtil.distance(r[u.index],u.pt),this.scaleValues[1]=c/o}}}}]),e}();SuperMap.Plot.AlgoSymbol16201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=this.getSubSymbolScaleValue();this.isEdit||(this.scaleValues[0]=.5*o);var i=this.scaleValues[0]*e,n=SuperMap.Plot.PlottingUtil.paraLine(l,.5*i,!0),r=SuperMap.Plot.PlottingUtil.paraLine(l,.5*i,!1);n=SuperMap.Plot.PlottingUtil.clearSamePts(n),r=SuperMap.Plot.PlottingUtil.clearSamePts(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);for(var a=e*this.scaleValues[1],s=.5*i,p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=s,c=0;u<p;u+=a,c++){var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,u);if(-1!==P.index){var S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,l[P.index+1],P.pt),h=[];h.push(S.pntLeft),h.push(S.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),0===c?this.addScalePoint(S.pntRight,0):1===c&&this.addScalePoint(P.pt,1)}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,r=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(r=SuperMap.Plot.PlottingUtil.clearSamePts(r),0==t){n=.5*(o*this.scaleValues[0]);var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,n);if(-1===a.index)return;var s=SuperMap.Plot.PlottingUtil.distance(e,a.pt);this.scaleValues[0]=s/o}else if(1===t){n=.5*(o*this.scaleValues[0]);var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,n);if(-1===p.index)return;var u=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,r);if(-1==u.index)return;for(var c=SuperMap.Plot.PlottingUtil.distance(p.pt,r[p.index+1]),P=p.index+1;P<u.index;P++)c+=SuperMap.Plot.PlottingUtil.distance(r[P],r[P+1]);c+=SuperMap.Plot.PlottingUtil.distance(r[u.index],u.pt),this.scaleValues[1]=c/o}}}}]),e}();SuperMap.Plot.AlgoSymbol16200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(1),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l=0,o=0;o<t.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);var i=l*this.scaleValues[0],n=l*this.scaleValues[2],r=!1;r=0===this.scaleValues[0];for(var a=0,s=0;s<e.length-1;s++)a+=SuperMap.Plot.PlottingUtil.distance(e[s],e[s+1]);if(0!==a){for(var p=0;p<=a;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(-1!==u.index){var c=[],P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);r?c.push(P.pntRight):c.push(P.pntLeft);var S=p+n,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,S);if(-1!==h.index){var y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[h.index+1],h.pt);r?c.push(y.pntLeft):c.push(y.pntRight),Math.abs(p)<1e-6&&(this.addScalePoint(c[0],0),this.addScalePoint(h.pt,1)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c)}}}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),i=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){var n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[1],o[0]),r=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n.pntRight,n.pntLeft),a=SuperMap.Plot.PlottingUtil.distance(r.projectPoint,l[0]);this.scaleValues[0]=a/i;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[0],o[1],e);this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0,P=o.length-1;c<P;c++){var S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,o[c],o[c+1]);if(S.isOnline){p=S.projectPoint,u=c;break}}if(-1===u)return;for(var h=[],y=0,f=u;y<=f;y++)h.push(o[y]);h.push(p);var g=SuperMap.Plot.PlottingUtil.polylineDistance(h);this.scaleValues[2]=g/i}}}}]),e}();SuperMap.Plot.AlgoSymbol15900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15806=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.06),l.scaleValues.push(1),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(t.length>=this.minEditPts){this.scalePoints=[];var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=.6*i,r=this.scaleValues[2]*o,a=0===this.scaleValues[1],s=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===s)return;for(var p=[],u=0;u<=s;u+=r){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(a?p.push(P.pntRight):p.push(P.pntLeft),!((c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.65*r)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index+1],c.pt),a?p.push(P.pntRight):p.push(P.pntLeft),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.8*r)).index<0||(p.push(c.pt),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.5*r)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt),a?p.push(P.pntLeft):p.push(P.pntRight),c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.2*r),p.push(c.pt),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.35*r)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index+1],c.pt),a?p.push(P.pntRight):p.push(P.pntLeft),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+r)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt),a?p.push(P.pntRight):p.push(P.pntLeft),!(Math.abs(u)<=1e-6)))))))){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S),(S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S)}}}var h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(p);SuperMap.Plot.PlottingUtil.clearSamePts(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o,i,n=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),r=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,n[1],n[0]),o=SuperMap.Plot.PlottingUtil.pointProjectToSegment(new SuperMap.Geometry.Point(e.x,e.y),i.pntRight,i.pntLeft);var a=SuperMap.Plot.PlottingUtil.distance(o.projectPoint,l[0])/r;this.scaleValues[0]=a;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(n[0],n[1],new SuperMap.Geometry.Point(e.x,e.y));this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0;c<n.length-1;c++)if((o=SuperMap.Plot.PlottingUtil.pointProjectToSegment(new SuperMap.Geometry.Point(e.x,e.y),n[c],n[c+1])).isOnline){p=o.projectPoint,u=c;break}if(-1===u)return void(this.scaleValues[2]=.05);for(var P=[],S=0;S<=u;S++)P.push(n[S]);P.push(p);var h=SuperMap.Plot.PlottingUtil.polylineDistance(P);this.scaleValues[2]=h/r}}}}]),e}();SuperMap.Plot.AlgoSymbol15806=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.029615),l.scaleValues.push(1),l.scaleValues.push(.12)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var s=[],p=0;p<=a;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(r?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var b=[],M=new SuperMap.Geometry.Point(.5*(f.x+g.x),.5*(f.y+g.y)),m=SuperMap.Plot.PlottingUtil.dirAngle(f,g)*SuperMap.Plot.PlottingUtil.RTOD,d=SuperMap.Plot.PlottingUtil.circlePoint(M,h,h,m+90),v=1.5*h,O=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+260),U=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+280);b.push(O),b.push(d),b.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15804=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15803=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var s=[],p=0;p<=a;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(r?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var b=[],M=[];if(y!==S-2){var m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y],s[y+1]);b.push(m.pntLeft),b.push(m.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b)}if(0!==y){var d=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y+1],s[y]);M.push(d.pntLeft),M.push(d.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var s,p=[],u=0;u<=a;u+=n){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(r?p.push(P.pntRight):p.push(P.pntLeft),Math.abs(u)<=1e-6){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S)}else Math.abs(2*n-u)<=1e-6&&((S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);for(var h=p.length,y=0,f=0;f<h-1;++f){var g=new SuperMap.Geometry.Point(p[f].x,p[f].y),b=new SuperMap.Geometry.Point(p[f+1].x,p[f+1].y);y=.3*SuperMap.Plot.PlottingUtil.distance(g,b);var M=[],m=[],d=[],v=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.35,p[f],p[f+1]);s=new SuperMap.Geometry.Point((p[f].x+p[f+1].x)/2,(p[f].y+p[f+1].y)/2);var O=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],s);m.push(O.pntLeft,O.pntRight);var U=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],v);M.push(U.pntLeft,U.pntRight),d.push(new SuperMap.Geometry.Point(2*s.x-U.pntLeft.x,2*s.y-U.pntLeft.y)),d.push(new SuperMap.Geometry.Point(2*s.x-U.pntRight.x,2*s.y-U.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var s=new SuperMap.Geometry.Point(0,0),p=[],u=0;u<=a;u+=n){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(r?p.push(P.pntRight):p.push(P.pntLeft),Math.abs(u)<=1e-6){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S)}else Math.abs(2*n-u)<=1e-6&&((S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);for(var h=p.length,y=0,f=0;f<h-1;++f){var g=new SuperMap.Geometry.Point(p[f].x,p[f].y),b=new SuperMap.Geometry.Point(p[f+1].x,p[f+1].y);y=.3*SuperMap.Plot.PlottingUtil.distance(g,b);var M=[],m=[],d=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.35,p[f],p[f+1]);s=new SuperMap.Geometry.Point((p[f].x+p[f+1].x)/2,(p[f].y+p[f+1].y)/2);var v=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],d);M.push(v.pntLeft),M.push(v.pntRight),m.push(new SuperMap.Geometry.Point(2*s.x-v.pntLeft.x,2*s.y-v.pntLeft.y)),m.push(new SuperMap.Geometry.Point(2*s.x-v.pntRight.x,2*s.y-v.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.04),l.scaleValues.push(1),l.scaleValues.push(.12)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var s=[],p=0;p<=a;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(r?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var b=[],M=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.5,s[y],s[y+1]),m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y],M);b.push(m.pntLeft),b.push(m.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b)}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),i=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){var n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[1],o[0]),r=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n.pntRight,n.pntLeft),a=SuperMap.Plot.PlottingUtil.distance(r.projectPoint,l[0]);this.scaleValues[0]=a/i;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[0],o[1],e);this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0,P=o.length-1;c<P;c++){var S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,o[c],o[c+1]);if(S.isOnline){p=S.projectPoint,u=c;break}}if(-1===u)return void(this.scaleValues[2]=.05);for(var h=[],y=0,f=u;y<=f;y++)h.push(o[y]);h.push(p);var g=SuperMap.Plot.PlottingUtil.polylineDistance(h);this.scaleValues[2]=g/i}}}}]),e}();SuperMap.Plot.AlgoSymbol15800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(parseFloat(.1732)),l.scaleValues.push(.1),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0]*o,n=this.scaleValues[1]*o,r=this.scaleValues[2],a=null;if(1===r){var s=SuperMap.Plot.PlottingUtil.linePnt(l,e,o+i);a=new SuperMap.Geometry.Point(s.x,s.y)}else s=SuperMap.Plot.PlottingUtil.linePnt(l,e,o-i),a=new SuperMap.Geometry.Point(s.x,s.y);var p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*n,t[0],a),u=[];u.push(p.pntRight),u.push(t[0]),u.push(p.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=[],P=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(1===r){var S=new SuperMap.Geometry.Point(2*P.x-p.pntLeft.x,2*P.y-p.pntLeft.y);c.push(S),c.push(t[1]);var h=new SuperMap.Geometry.Point(2*P.x-p.pntRight.x,2*P.y-p.pntRight.y);c.push(h)}else S=new SuperMap.Geometry.Point(2*P.x-p.pntRight.x,2*P.y-p.pntRight.y),c.push(S),c.push(t[1]),h=new SuperMap.Geometry.Point(2*P.x-p.pntLeft.x,2*P.y-p.pntLeft.y),c.push(h);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol15202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15201=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol15201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(.185)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var l=0,o=0,i=e.length-1;o<i;o++)l+=SuperMap.Plot.PlottingUtil.distance(e[o],e[o+1]);for(var n=0,r=0,a=t.length-1;r<a;r++)n+=SuperMap.Plot.PlottingUtil.distance(t[r],t[r+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());for(var s=this.scaleValues[0]*n,p=this.scaleValues[1],u=this.scaleValues[2]*n,c=.3*u,P=u;P<l;P+=u){var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e);if(-1===S.index)return void this.finish();var h=P+c,y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(h,e);if(-1===y.index)return void this.finish();var f=[],g=[];f.push(S.pts);var b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[S.index],S.pts);0===p?f.push(new SuperMap.Geometry.Point(b.pntLeft.x,b.pntLeft.y)):f.push(new SuperMap.Geometry.Point(b.pntRight.x,b.pntRight.y)),g.push(y.pts);var M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[y.index],y.pts);if(0===p?g.push(new SuperMap.Geometry.Point(M.pntLeft.x,M.pntLeft.y)):g.push(new SuperMap.Geometry.Point(M.pntRight.x,M.pntRight.y)),u===P){this.scalePoints=[];var m=new SuperMap.Geometry.Point(f[1].x,f[1].y);m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m),(m=new SuperMap.Geometry.Point(f[0].x,f[0].y)).isScalePoint=!0,m.tag=1,this.scalePoints.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;for(var o=0,i=0,n=l.length-1;i<n;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var r=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),a=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,o*this.scaleValues[2]);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.distance(s.pt,a)/o,u=SuperMap.Plot.PlottingUtil.pointIsRightToLine(r[0],r[1],e);this.scaleValues[1]=u?1:0,this.scaleValues[0]=p}else if(1===t){for(var c=0,P=-1,S=[],h=0,y=r.length-1;h<y;h++){var f=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,r[h],r[h+1]);if(f.isOnline){var g=SuperMap.Plot.PlottingUtil.distance(f.projectPoint,this.controlPoints[1]);0==c?(c=g,P=h,S=e):g<c&&(c=g,P=h,S=e)}}if(-1==P)return;for(var b=0,M=0,m=P-1;M<m;M++)b+=SuperMap.Plot.PlottingUtil.distance(r[M],r[M+1]);var d=(b+=SuperMap.Plot.PlottingUtil.distance(S,r[P]))/o;d>.7&&(d=.7),this.scaleValues[2]=d}}}}]),e}();SuperMap.Plot.AlgoSymbol15200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol13700=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e;if(2===t.length)e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);else if(3===t.length){var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);if(0>=n)return;this.scaleValues=[];var r=SuperMap.Plot.PlottingUtil.distance(l,o)/n;this.scaleValues.push(r);var a=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI;a>90?a-=90:a=270+a,this.scaleValues.push(a*(Math.PI/180));var s=180*SuperMap.Plot.PlottingUtil.radian(l,i)/Math.PI;s>90?s-=90:s=270+s,this.scaleValues.push(s*(Math.PI/180)),e=this.scaleValues[0]*n;var p=this.scaleValues[1]*(180/Math.PI)+90,u=this.scaleValues[2]*(180/Math.PI)+90;p<u&&(p+=360);for(var c,P=[],S=p;S>=u;S-=4)c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,S),P.push(c);S!=u&&(c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,u),P.push(c)),this.controlPoints[2]=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P)}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol13700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol12500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.03));for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var i=this.scaleValues[1]*e,n=o*e,r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,n);if(-1!==r.index){for(var a,s=r.pt,p=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[s,new SuperMap.Geometry.Point(s.x+i,s.y)]),u=0;u<t.length-1;u++){var c,P=t[u];a=t[u+1];var S=SuperMap.Plot.PlottingUtil.distance(s,P),h=SuperMap.Plot.PlottingUtil.distance(s,a);if(!(S<i&&h<i))if(S>i&&h<i||S<i&&h>i){var y;y=S>i?P:a,(c=this.getLineAddCircleIntersectPts(P,a,p)).length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c[0],y])}else{var f=SuperMap.Plot.PlottingUtil.projectPoint(s,P,a);if(SuperMap.Plot.PlottingUtil.distance(s,f)>=i)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,a]);else if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(f,P,a)){if((c=this.getLineAddCircleIntersectPts(P,a,p)).length>0){c.unshift(P),c.push(a);for(var g=0;g<c.length-1;g++)this.isLineInCircle(c[g],c[g+1],s,i)||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c[g],c[g+1]])}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,a])}}var b=0;c&&(b=SuperMap.Plot.PlottingUtil.radian(s,c[c.length-1])*SuperMap.Plot.PlottingUtil.RTOD);var M=[];a=SuperMap.Plot.PlottingUtil.circlePoint(s,-i,-i,b),M.push(a,s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var m=SuperMap.Plot.PlottingUtil.radian(a,s)*SuperMap.Plot.PlottingUtil.RTOD,d=[],v=SuperMap.Plot.PlottingUtil.circlePoint(s,.8*i,.8*i,m+170),O=SuperMap.Plot.PlottingUtil.circlePoint(s,.8*i,.8*i,m-170);d.push(v),d.push(O),d.push(s);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[s,new SuperMap.Geometry.Point(s.x+i,s.y)]),this.addScalePoint(s,0),this.addScalePoint(new SuperMap.Geometry.Point(s.x+i,s.y),1),this.finish()}}}},{key:"isLineInCircle",value:function(t,e,l,o){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return o>SuperMap.Plot.PlottingUtil.distance(i,l)}},{key:"getLineAddCircleIntersectPts",value:function(t,e,l){var o=l.slice();o[0].x===o[o.length-1].x&&o[0].y===o[o.length-1].y||o.push(o[0]);for(var i,n=[],r=0;r<o.length-1;r++){var a=o[r],s=o[r+1],p=SuperMap.Plot.PlottingUtil.intersectLines(t,e,a,s);p.isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t,e)&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,a,s)&&n.push(p.intersectPoint)}for(var u=0;u<n.length-1;u++)SuperMap.Plot.PlottingUtil.isSamePt(n[u],n[u+1])&&(n.splice(u,1),u--);if(t.x>e.x)for(var c=0;c<n.length&&c!=n.length-1;c++)n[c].x<n[c+1].x&&(i=n[c],n[c]=n[c+1],n[c+1]=i);else if(t.x<e.x)for(var P=0;P<n.length&&P!=n.length-1;P++)n[P].x>n[P+1].x&&(i=n[P],n[P]=n[P+1],n[P+1]=i);else if(t.y>e.y)for(var S=0;S<n.length&&S!=n.length-1;S++)n[S].y<n[S+1].y&&(i=n[S],n[S]=n[S+1],n[S+1]=i);else if(t.y<e.y)for(var h=0;h<n.length&&h!=n.length-1;h++)n[h].y>n[h+1].y&&(i=n[h],n[h]=n[h+1],n[h+1]=i);return n}}]),e}();SuperMap.Plot.AlgoSymbol12502=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.03),l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit){var e=this.getSubSymbolScaleValue();this.scaleValues[0]=e,this.scaleValues[1]=.5*e,this.scaleValues[3]=.5*e}var l=this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2],n=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);n=SuperMap.Plot.PlottingUtil.clearSamePts(n);var r=this.GetCurvePts(t,l,o);if(0!==r.pt.length){var a=SuperMap.Plot.PlottingUtil.polylineDistance(n)*i,s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,a);if(-1!==s.index){for(var p=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[3],u=[],c=0;c<360;c+=12)u.push(SuperMap.Plot.PlottingUtil.circlePoint(s.pt,p,p,c));u.push(u[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);for(var P=[],S=[],h=0;h<r.pt.length;h++)SuperMap.Plot.PlottingUtil.ptIsInPolygon(u,r.pt[h])?S.length>1&&(P.push(S),S=[]):S.push(r.pt[h]);S.length>1&&P.push(S);for(var y=0;y<P.length;y++)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P[y]);var f=new SuperMap.Geometry.Point(r.pt[0].x,r.pt[0].y);f.isScalePoint=!0,f.tag=0,this.scalePoints.push(f);var g=new SuperMap.Geometry.Point(r.scalePt.x,r.scalePt.y);g.isScalePoint=!0,g.tag=1,this.scalePoints.push(g);var b=new SuperMap.Geometry.Point(s.pt.x,s.pt.y);b.isScalePoint=!0,b.tag=2,this.scalePoints.push(b);var M=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(s.pt.x,s.pt.y),p,p,0),m=new SuperMap.Geometry.Point(M.x,M.y);m.isScalePoint=!0,m.tag=3,this.scalePoints.push(m),this.finish()}else this.finish()}else this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(null!=e&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;if(4>this.scaleValues.length)return;var o,i,n,r,a,s=SuperMap.Plot.PlottingUtil.polylineDistance(l),p=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),u=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var c=new SuperMap.Geometry.Point(l[0].x,l[0].y),P=SuperMap.Plot.PlottingUtil.distance(c,u);i=2*P/s,this.scaleValues[1]=i}else if(1===t)c=new SuperMap.Geometry.Point(l[0].x,l[0].y),o=(P=SuperMap.Plot.PlottingUtil.distance(c,u))/s,this.scaleValues[0]=o;else if(2==t){var S=-1,h=0;a=new SuperMap.Geometry.Point(0,0),o=this.scaleValues[0],i=this.scaleValues[1];for(var y=0;y<p.length-1;y++){var f=p[y],g=p[y+1],b=SuperMap.Plot.PlottingUtil.projectPoint(u,f,g);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(b,f,g)){var M=SuperMap.Plot.PlottingUtil.distance(u,b);-1==S?(S=y,a=b,h=M):h>M&&(S=y,a=b,h=M)}}if(-1==S||S>p.length-1)return;r=SuperMap.Plot.PlottingUtil.polylineDistance(p);for(var m=[],d=0;d<S;d++)m.push(p[d]);m.push(a);var v=SuperMap.Plot.PlottingUtil.polylineDistance(m);if(v<0||v>r)return;n=v/r,this.scaleValues[2]=n}else if(3===t){o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2];var O=(r=SuperMap.Plot.PlottingUtil.polylineDistance(p))*n;if(-1===(a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,O)).index)return;var U=SuperMap.Plot.PlottingUtil.distance(a.pt,e)/s;U>.4&&(U=.4),this.scaleValues[3]=U}}}},{key:"GetCurvePts",value:function(t,e,l){for(var o,i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),n=SuperMap.Plot.PlottingUtil.polylineDistance(i),r=n*e,a=n*l/2,s=[],p=[],u=i[0],c=!1,P=i[0],S=1;S<i.length;S++){var h=i[S],y=SuperMap.Plot.PlottingUtil.distance(u,h);if(!(y<r&&S!==i.length-1)){for(var f,g=parseInt(y/r),b=0;b<g;b++){f=SuperMap.Plot.PlottingUtil.linePnt(u,h,r),c||(o=f,c=!0);var M=this.GetCosPts2D(u,f,r,a);s=p.length>1&&0===b?this.ClearCurvePts2D(P,u,h,p,M,s):s.concat(M),p=(p=[]).concat(M),P=u,u=f}S===i.length-1&&(f=i[i.length-1],M=this.GetCosPts2D(u,f,r,a),s=p.length>1&&M.length>1?this.ClearCurvePts2D(P,u,h,p,M,s):s.concat(M))}}return{pt:s,scalePt:o}}},{key:"GetCosPts2D",value:function(t,e,l,o){for(var i=[],n=SuperMap.Plot.PlottingUtil.distance(t,e),r=l/30,a=0;a<n;a+=r){var s=a*(2*Math.PI/l),p=o*Math.cos(s),u=new SuperMap.Geometry.Point(a,p),c=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,P=SuperMap.Plot.PlottingUtil.coordinateTrans(t,u,c);i.push(P)}return i}},{key:"ClearCurvePts2D",value:function(t,e,l,o,i,n){for(var r=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,a=180*SuperMap.Plot.PlottingUtil.radian(e,t)/Math.PI-r;a<=0;)a+=360;var s=a/2,p=l;p=SuperMap.Plot.PlottingUtil.rotateAngle(e,s*Math.PI/180,p);for(var u=SuperMap.Plot.PlottingUtil.linePnt(e,p,1),c=0,P=0;P<o.length;P++)if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,o[P])){c=P;break}if(0!=c)for(var S=0;S<o.length-c;S++)n.slice(S,n.length-1);for(var h=0;h<i.length;h++)SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,i[h])&&n.push(i[h]);return n}}]),e}();SuperMap.Plot.AlgoSymbol12501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.03));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var o=this.scaleValues[1]*e,i=l*e,n=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,i);if(-1!==n.index){for(var r=n.pt,a=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[r,new SuperMap.Geometry.Point(r.x+o,r.y)]),s=0;s<t.length-1;s++){var p,u=t[s],c=t[s+1],P=SuperMap.Plot.PlottingUtil.distance(r,u),S=SuperMap.Plot.PlottingUtil.distance(r,c);if(!(P<o&&S<o))if(P>o&&S<o||P<o&&S>o){var h;h=P>o?u:c,(p=this.getLineAddCircleIntersectPts(u,c,a)).length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p[0],h])}else{var y=SuperMap.Plot.PlottingUtil.projectPoint(r,u,c);if(SuperMap.Plot.PlottingUtil.distance(r,y)>=o)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c]);else if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(y,u,c)){if((p=this.getLineAddCircleIntersectPts(u,c,a)).length>0){p.unshift(u),p.push(c);for(var f=0;f<p.length-1;f++)this.isLineInCircle(p[f],p[f+1],r,o)||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p[f],p[f+1]])}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c])}}this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[r,new SuperMap.Geometry.Point(r.x+o,r.y)]),this.scalePoints=[];var g=r;g.isScalePoint=!0,g.tag=0,this.scalePoints.push(g);var b=new SuperMap.Geometry.Point(r.x+o,r.y);b.isScalePoint=!0,b.tag=1,this.scalePoints.push(b),this.finish()}}}},{key:"isLineInCircle",value:function(t,e,l,o){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return o>SuperMap.Plot.PlottingUtil.distance(i,l)}},{key:"getLineAddCircleIntersectPts",value:function(t,e,l){var o=l.slice();o[0].x===o[o.length-1].x&&o[0].y===o[o.length-1].y||o.push(o[0]);for(var i,n=[],r=0;r<o.length-1;r++){var a=o[r],s=o[r+1],p=SuperMap.Plot.PlottingUtil.intersectLines(t,e,a,s);p.isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t,e)&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,a,s)&&n.push(p.intersectPoint)}for(var u=0;u<n.length-1;u++)SuperMap.Plot.PlottingUtil.isSamePt(n[u],n[u+1])&&(n.splice(u,1),u--);if(t.x>e.x)for(var c=0;c<n.length&&c!=n.length-1;c++)n[c].x<n[c+1].x&&(i=n[c],n[c]=n[c+1],n[c+1]=i);else if(t.x<e.x)for(var P=0;P<n.length&&P!=n.length-1;P++)n[P].x>n[P+1].x&&(i=n[P],n[P]=n[P+1],n[P+1]=i);else if(t.y>e.y)for(var S=0;S<n.length&&S!=n.length-1;S++)n[S].y<n[S+1].y&&(i=n[S],n[S]=n[S+1],n[S+1]=i);else if(t.y<e.y)for(var h=0;h<n.length&&h!=n.length-1;h++)n[h].y>n[h+1].y&&(i=n[h],n[h]=n[h+1],n[h+1]=i);return n}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){for(var i=0,n=-1,r=null,a=0;a<l.length-1;a++){var s=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l[a],l[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.projectPoint,l[a],l[a+1])){var p=SuperMap.Plot.PlottingUtil.distance(s.projectPoint,e);0==i?(i=p,n=a,r=s.projectPoint):p<i&&(i=p,n=a,r=s.projectPoint)}}if(-1==n)return;for(var u=0,c=0;c<n;c++)u+=SuperMap.Plot.PlottingUtil.distance(l[c],l[c+1]);var P=(u+=SuperMap.Plot.PlottingUtil.distance(r,l[n]))/o;P>1&&(P=1),this.scaleValues[0]=P}if(1===t){var S=this.scaleValues[0]*o,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,S);if(-1===h.index)return;var y=SuperMap.Plot.PlottingUtil.distance(h.pt,e)/o;y>.4&&(y=.4),this.scaleValues[1]=y}}}}]),e}();SuperMap.Plot.AlgoSymbol12500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbol6030601=e.AlgoSymbol6031001=e.AlgoSymbol6030501=e.AlgoSymbol6030107=e.AlgoSymbol6030106=e.AlgoSymbol6030105=e.AlgoSymbol6030104=e.AlgoSymbol6030103=e.AlgoSymbol6030102=e.AlgoSymbol6030101=e.AlgoSymbol5020802=e.AlgoSymbol5035205=e.AlgoSymbol5035203=e.AlgoSymbol5035202=e.AlgoSymbol5035201=e.AlgoSymbol5034801=e.AlgoSymbol5034203=e.AlgoSymbol5034202=e.AlgoSymbol5034201=e.AlgoSymbol5033803=e.AlgoSymbol5033802=e.AlgoSymbol5033001=e.AlgoSymbol5032003=e.AlgoSymbol5031401=e.AlgoSymbol5030301=e.AlgoSymbol5022301=e.AlgoSymbol5022002=e.AlgoSymbol5022001=e.AlgoSymbol5021803=e.AlgoSymbol5010401=e.AlgoSymbol4030401=e.AlgoSymbol4030303=e.AlgoSymbol4030302=e.AlgoSymbol4030301=e.AlgoSymbol3002501=e.AlgoSymbol3002005=e.AlgoSymbol3002004=e.AlgoSymbol3002002=e.AlgoSymbol3002001=e.AlgoSymbol3001302=e.AlgoSymbol3001301=e.AlgoSymbol3001105=e.AlgoSymbol3001104=e.AlgoSymbol3001103=e.AlgoSymbol3001102=e.AlgoSymbol3001101=e.AlgoSymbol3000809=e.AlgoSymbol3000808=e.AlgoSymbol3000807=e.AlgoSymbol3000806=e.AlgoSymbol3000805=e.AlgoSymbol3000804=e.AlgoSymbol3000803=e.AlgoSymbol3000802=e.AlgoSymbol3000801=e.AlgoSymbol2122301=e.AlgoSymbol2122101=e.AlgoSymbol2121602=e.AlgoSymbol2121601=e.AlgoSymbol2121507=e.AlgoSymbol2121506=e.AlgoSymbol2121504=e.AlgoSymbol2092101=e.AlgoSymbol2091503=e.AlgoSymbol60310=e.AlgoSymbol60306=e.AlgoSymbol60305=e.AlgoSymbol60304=e.AlgoSymbol2121505=e.AlgoSymbol60301=e.AlgoSymbol60205=e.AlgoSymbol60203=e.AlgoSymbol50352=e.AlgoSymbol50342=e.AlgoSymbol50308=e.AlgoSymbol50226=e.AlgoSymbol50225=e.AlgoSymbol50223=e.AlgoSymbol50108=e.AlgoSymbol40304=e.AlgoSymbol40302=e.AlgoSymbol40104=e.AlgoSymbol30026=e.AlgoSymbol30025=e.AlgoSymbol30020=e.AlgoSymbol30014=e.AlgoSymbol30013=e.AlgoSymbol30012=void 0,e.AlgoSymbol30011=e.AlgoSymbol30010=e.AlgoSymbol30009=e.AlgoSymbol30008=e.AlgoSymbol21221=e.AlgoSymbol21216=e.AlgoSymbol3020901=e.AlgoSymbol3010304=e.AlgoSymbol3010303=e.AlgoSymbol3010301=e.AlgoSymbol40100=e.AlgoSymbol37700=e.AlgoSymbol35200=e.AlgoSymbol35000=e.AlgoSymbol44100=e.AlgoSymbol42200=e.AlgoSymbol41202=e.AlgoSymbol41201=e.AlgoSymbol41200=e.AlgoSymbol41100=e.AlgoSymbol40101=e.AlgoSymbol40900=e.AlgoSymbol32300=e.AlgoSymbol31401=e.AlgoSymbol31400=e.AlgoSymbol31301=e.AlgoSymbol31300=e.AlgoSymbol30800=e.AlgoSymbol30201=e.AlgoSymbol30200=e.AlgoSymbol30100=e.AlgoSymbol30002=e.AlgoSymbol30000=e.AlgoSymbol29800=e.AlgoSymbol28301=e.AlgoSymbol28300=e.AlgoSymbol28200=e.AlgoSymbol28100=e.AlgoSymbol28000=e.AlgoSymbol26601=e.AlgoSymbol26600=e.AlgoSymbol26500=e.AlgoSymbol25400=e.AlgoSymbol25000=e.AlgoSymbol25200=e.AlgoSymbol29103=e.AlgoSymbol29101=e.AlgoSymbol29000=e.AlgoSymbol28900=e.AlgoSymbol23902=e.AlgoSymbol23901=e.AlgoSymbol23800=e.AlgoSymbol23500=e.AlgoSymbol23400=e.AlgoSymbol22000=e.AlgoSymbol21800=e.AlgoSymbol21600=e.AlgoSymbol21504=e.AlgoSymbol21503=e.AlgoSymbol21502=e.AlgoSymbol21501=e.AlgoSymbol21900=e.AlgoSymbol21500=e.AlgoSymbol21401=e.AlgoSymbol25201=e.AlgoSymbol42500=e.AlgoSymbol26501=e.AlgoSymbol20301=e.AlgoSymbol20300=e.AlgoSymbol17806=e.AlgoSymbol17805=e.AlgoSymbol17804=e.AlgoSymbol17803=e.AlgoSymbol17802=e.AlgoSymbol17801=e.AlgoSymbol17800=e.AlgoSymbol17704=e.AlgoSymbol17703=e.AlgoSymbol17700=e.AlgoSymbol17501=e.AlgoSymbol17500=e.AlgoSymbol16700=e.AlgoSymbol16203=e.AlgoSymbol16202=e.AlgoSymbol16201=e.AlgoSymbol16200=e.AlgoSymbol15900=e.AlgoSymbol15806=e.AlgoSymbol15804=e.AlgoSymbol15803=e.AlgoSymbol15802=e.AlgoSymbol15801=e.AlgoSymbol15800=e.AlgoSymbol15202=e.AlgoSymbol15201=e.AlgoSymbol15200=e.AlgoSymbol13700=e.AlgoSymbol12502=e.AlgoSymbol12501=e.AlgoSymbol12500=void 0;var o=l(187),i=l(186),n=l(185),r=l(184),a=l(183),s=l(182),p=l(181),u=l(180),c=l(179),P=l(178),S=l(177),h=l(176),y=l(175),f=l(174),g=l(173),b=l(172),M=l(171),m=l(170),d=l(169),v=l(168),O=l(167),U=l(166),w=l(165),L=l(164),_=l(163),V=l(162),A=l(161),T=l(160),E=l(159),x=l(158),j=l(157),Y=l(156),C=l(155),I=l(154),B=l(153),R=l(152),G=l(151),N=l(150),D=l(149),k=l(148),z=l(147),F=l(146),K=l(145),W=l(144),J=l(143),q=l(142),Z=l(141),X=l(140),H=l(139),Q=l(138),$=l(137),tt=l(136),et=l(135),lt=l(134),ot=l(133),it=l(132),nt=l(131),rt=l(130),at=l(129),st=l(128),pt=l(127),ut=l(126),ct=l(125),Pt=l(124),St=l(123),ht=l(122),yt=l(121),ft=l(120),gt=l(119),bt=l(118),Mt=l(117),mt=l(116),dt=l(115),vt=l(114),Ot=l(113),Ut=l(112),wt=l(111),Lt=l(110),_t=l(109),Vt=l(108),At=l(107),Tt=l(106),Et=l(105),xt=l(104),jt=l(103),Yt=l(102),Ct=l(101),It=l(100),Bt=l(99),Rt=l(98),Gt=l(97),Nt=l(96),Dt=l(95),kt=l(94),zt=l(93),Ft=l(92),Kt=l(91),Wt=l(90),Jt=l(89),qt=l(88),Zt=l(87),Xt=l(86),Ht=l(85),Qt=l(84),$t=l(83),te=l(82),ee=l(81),le=l(80),oe=l(79),ie=l(78),ne=l(77),re=l(76),ae=l(75),se=l(74),pe=l(73),ue=l(72),ce=l(71),Pe=l(70),Se=l(69),he=l(68),ye=l(67),fe=l(66),ge=l(65),be=l(64),Me=l(63),me=l(62),de=l(61),ve=l(60),Oe=l(59),Ue=l(58),we=l(57),Le=l(56),_e=l(55),Ve=l(54),Ae=l(53),Te=l(52),Ee=l(51),xe=l(50),je=l(49),Ye=l(48),Ce=l(47),Ie=l(46),Be=l(45),Re=l(44),Ge=l(43),Ne=l(42),De=l(41),ke=l(40),ze=l(39),Fe=l(38),Ke=l(37),We=l(36),Je=l(35),qe=l(34),Ze=l(33),Xe=l(32),He=l(31),Qe=l(30),$e=l(29),tl=l(28),el=l(27),ll=l(26),ol=l(25),il=l(24),nl=l(23),rl=l(22),al=l(21),sl=l(20),pl=l(19),ul=l(18),cl=l(17),Pl=l(16),Sl=l(15),hl=l(14),yl=l(13),fl=l(12),gl=l(11),bl=l(10),Ml=l(9),ml=l(8),dl=l(7),vl=l(6),Ol=l(5),Ul=l(4),wl=l(3),Ll=l(2),_l=l(1),Vl=l(0);e.AlgoSymbol12500=o.AlgoSymbol12500,e.AlgoSymbol12501=i.AlgoSymbol12501,e.AlgoSymbol12502=n.AlgoSymbol12502,e.AlgoSymbol13700=r.AlgoSymbol13700,e.AlgoSymbol15200=a.AlgoSymbol15200,e.AlgoSymbol15201=s.AlgoSymbol15201,e.AlgoSymbol15202=p.AlgoSymbol15202,e.AlgoSymbol15800=u.AlgoSymbol15800,e.AlgoSymbol15801=c.AlgoSymbol15801,e.AlgoSymbol15802=P.AlgoSymbol15802,e.AlgoSymbol15803=S.AlgoSymbol15803,e.AlgoSymbol15804=h.AlgoSymbol15804,e.AlgoSymbol15806=y.AlgoSymbol15806,e.AlgoSymbol15900=f.AlgoSymbol15900,e.AlgoSymbol16200=g.AlgoSymbol16200,e.AlgoSymbol16201=b.AlgoSymbol16201,e.AlgoSymbol16202=M.AlgoSymbol16202,e.AlgoSymbol16203=m.AlgoSymbol16203,e.AlgoSymbol16700=d.AlgoSymbol16700,e.AlgoSymbol17500=v.AlgoSymbol17500,e.AlgoSymbol17501=O.AlgoSymbol17501,e.AlgoSymbol17700=U.AlgoSymbol17700,e.AlgoSymbol17703=w.AlgoSymbol17703,e.AlgoSymbol17704=L.AlgoSymbol17704,e.AlgoSymbol17800=_.AlgoSymbol17800,e.AlgoSymbol17801=V.AlgoSymbol17801,e.AlgoSymbol17802=A.AlgoSymbol17802,e.AlgoSymbol17803=T.AlgoSymbol17803,e.AlgoSymbol17804=E.AlgoSymbol17804,e.AlgoSymbol17805=x.AlgoSymbol17805,e.AlgoSymbol17806=j.AlgoSymbol17806,e.AlgoSymbol20300=Y.AlgoSymbol20300,e.AlgoSymbol20301=C.AlgoSymbol20301,e.AlgoSymbol26501=I.AlgoSymbol26501,e.AlgoSymbol42500=B.AlgoSymbol42500,e.AlgoSymbol25201=R.AlgoSymbol25201,e.AlgoSymbol21401=G.AlgoSymbol21401,e.AlgoSymbol21500=N.AlgoSymbol21500,e.AlgoSymbol21900=D.AlgoSymbol21900,e.AlgoSymbol21501=k.AlgoSymbol21501,e.AlgoSymbol21502=z.AlgoSymbol21502,e.AlgoSymbol21503=F.AlgoSymbol21503,e.AlgoSymbol21504=K.AlgoSymbol21504,e.AlgoSymbol21600=W.AlgoSymbol21600,e.AlgoSymbol21800=J.AlgoSymbol21800,e.AlgoSymbol22000=q.AlgoSymbol22000,e.AlgoSymbol23400=Z.AlgoSymbol23400,e.AlgoSymbol23500=X.AlgoSymbol23500,e.AlgoSymbol23800=H.AlgoSymbol23800,e.AlgoSymbol23901=Q.AlgoSymbol23901,e.AlgoSymbol23902=$.AlgoSymbol23902,e.AlgoSymbol28900=tt.AlgoSymbol28900,e.AlgoSymbol29000=et.AlgoSymbol29000,e.AlgoSymbol29101=lt.AlgoSymbol29101,e.AlgoSymbol29103=ot.AlgoSymbol29103,e.AlgoSymbol25200=it.AlgoSymbol25200,e.AlgoSymbol25000=nt.AlgoSymbol25000,e.AlgoSymbol25400=rt.AlgoSymbol25400,e.AlgoSymbol26500=at.AlgoSymbol26500,e.AlgoSymbol26600=st.AlgoSymbol26600,e.AlgoSymbol26601=pt.AlgoSymbol26601,e.AlgoSymbol28000=ut.AlgoSymbol28000,e.AlgoSymbol28100=ct.AlgoSymbol28100,e.AlgoSymbol28200=Pt.AlgoSymbol28200,e.AlgoSymbol28300=St.AlgoSymbol28300,e.AlgoSymbol28301=ht.AlgoSymbol28301,e.AlgoSymbol29800=yt.AlgoSymbol29800,e.AlgoSymbol30000=ft.AlgoSymbol30000,e.AlgoSymbol30002=gt.AlgoSymbol30002,e.AlgoSymbol30100=bt.AlgoSymbol30100,e.AlgoSymbol30200=Mt.AlgoSymbol30200,e.AlgoSymbol30201=mt.AlgoSymbol30201,e.AlgoSymbol30800=dt.AlgoSymbol30800,e.AlgoSymbol31300=vt.AlgoSymbol31300,e.AlgoSymbol31301=Ot.AlgoSymbol31301,e.AlgoSymbol31400=Ut.AlgoSymbol31400,e.AlgoSymbol31401=wt.AlgoSymbol31401,e.AlgoSymbol32300=Lt.AlgoSymbol32300,e.AlgoSymbol40900=_t.AlgoSymbol40900,e.AlgoSymbol40101=Vt.AlgoSymbol40101,e.AlgoSymbol41100=At.AlgoSymbol41100,e.AlgoSymbol41200=Tt.AlgoSymbol41200,e.AlgoSymbol41201=Et.AlgoSymbol41201,e.AlgoSymbol41202=xt.AlgoSymbol41202,e.AlgoSymbol42200=jt.AlgoSymbol42200,e.AlgoSymbol44100=Yt.AlgoSymbol44100,e.AlgoSymbol35000=Ct.AlgoSymbol35000,e.AlgoSymbol35200=It.AlgoSymbol35200,e.AlgoSymbol37700=Bt.AlgoSymbol37700,e.AlgoSymbol40100=Rt.AlgoSymbol40100,e.AlgoSymbol3010301=Gt.AlgoSymbol3010301,e.AlgoSymbol3010303=Nt.AlgoSymbol3010303,e.AlgoSymbol3010304=Dt.AlgoSymbol3010304,e.AlgoSymbol3020901=kt.AlgoSymbol3020901,e.AlgoSymbol21216=zt.AlgoSymbol21216,e.AlgoSymbol21221=Ft.AlgoSymbol21221,e.AlgoSymbol30008=Kt.AlgoSymbol30008,e.AlgoSymbol30009=Wt.AlgoSymbol30009,e.AlgoSymbol30010=Jt.AlgoSymbol30010,e.AlgoSymbol30011=qt.AlgoSymbol30011,e.AlgoSymbol30012=Zt.AlgoSymbol30012,e.AlgoSymbol30013=Xt.AlgoSymbol30013,e.AlgoSymbol30014=Ht.AlgoSymbol30014,e.AlgoSymbol30020=Qt.AlgoSymbol30020,e.AlgoSymbol30025=$t.AlgoSymbol30025,e.AlgoSymbol30026=te.AlgoSymbol30026,e.AlgoSymbol40104=ee.AlgoSymbol40104,e.AlgoSymbol40302=le.AlgoSymbol40302,e.AlgoSymbol40304=oe.AlgoSymbol40304,e.AlgoSymbol50108=ie.AlgoSymbol50108,e.AlgoSymbol50223=ne.AlgoSymbol50223,e.AlgoSymbol50225=re.AlgoSymbol50225,e.AlgoSymbol50226=ae.AlgoSymbol50226,e.AlgoSymbol50308=se.AlgoSymbol50308,e.AlgoSymbol50342=pe.AlgoSymbol50342,e.AlgoSymbol50352=ue.AlgoSymbol50352,e.AlgoSymbol60203=ce.AlgoSymbol60203,e.AlgoSymbol60205=Pe.AlgoSymbol60205,e.AlgoSymbol60301=Se.AlgoSymbol60301,e.AlgoSymbol2121505=he.AlgoSymbol2121505,e.AlgoSymbol60304=ye.AlgoSymbol60304,e.AlgoSymbol60305=fe.AlgoSymbol60305,e.AlgoSymbol60306=ge.AlgoSymbol60306,e.AlgoSymbol60310=be.AlgoSymbol60310,e.AlgoSymbol2091503=Me.AlgoSymbol2091503,e.AlgoSymbol2092101=me.AlgoSymbol2092101,e.AlgoSymbol2121504=de.AlgoSymbol2121504,e.AlgoSymbol2121506=ve.AlgoSymbol2121506,e.AlgoSymbol2121507=Oe.AlgoSymbol2121507,e.AlgoSymbol2121601=Ue.AlgoSymbol2121601,e.AlgoSymbol2121602=we.AlgoSymbol2121602,e.AlgoSymbol2122101=Le.AlgoSymbol2122101,e.AlgoSymbol2122301=_e.AlgoSymbol2122301,e.AlgoSymbol3000801=Ve.AlgoSymbol3000801,e.AlgoSymbol3000802=Ae.AlgoSymbol3000802,e.AlgoSymbol3000803=Te.AlgoSymbol3000803,e.AlgoSymbol3000804=Ee.AlgoSymbol3000804,e.AlgoSymbol3000805=xe.AlgoSymbol3000805,e.AlgoSymbol3000806=je.AlgoSymbol3000806,e.AlgoSymbol3000807=Ye.AlgoSymbol3000807,e.AlgoSymbol3000808=Ce.AlgoSymbol3000808,e.AlgoSymbol3000809=Ie.AlgoSymbol3000809,e.AlgoSymbol3001101=Be.AlgoSymbol3001101,e.AlgoSymbol3001102=Re.AlgoSymbol3001102,e.AlgoSymbol3001103=Ge.AlgoSymbol3001103,e.AlgoSymbol3001104=Ne.AlgoSymbol3001104,e.AlgoSymbol3001105=De.AlgoSymbol3001105,e.AlgoSymbol3001301=ke.AlgoSymbol3001301,e.AlgoSymbol3001302=ze.AlgoSymbol3001302,e.AlgoSymbol3002001=Fe.AlgoSymbol3002001,e.AlgoSymbol3002002=Ke.AlgoSymbol3002002,e.AlgoSymbol3002004=We.AlgoSymbol3002004,e.AlgoSymbol3002005=Je.AlgoSymbol3002005,e.AlgoSymbol3002501=qe.AlgoSymbol3002501,e.AlgoSymbol4030301=Ze.AlgoSymbol4030301,e.AlgoSymbol4030302=Xe.AlgoSymbol4030302,e.AlgoSymbol4030303=He.AlgoSymbol4030303,e.AlgoSymbol4030401=Qe.AlgoSymbol4030401,e.AlgoSymbol5010401=$e.AlgoSymbol5010401,e.AlgoSymbol5021803=tl.AlgoSymbol5021803,e.AlgoSymbol5022001=el.AlgoSymbol5022001,e.AlgoSymbol5022002=ll.AlgoSymbol5022002,e.AlgoSymbol5022301=ol.AlgoSymbol5022301,e.AlgoSymbol5030301=il.AlgoSymbol5030301,e.AlgoSymbol5031401=nl.AlgoSymbol5031401,e.AlgoSymbol5032003=rl.AlgoSymbol5032003,e.AlgoSymbol5033001=al.AlgoSymbol5033001,e.AlgoSymbol5033802=sl.AlgoSymbol5033802,e.AlgoSymbol5033803=pl.AlgoSymbol5033803,e.AlgoSymbol5034201=ul.AlgoSymbol5034201,e.AlgoSymbol5034202=cl.AlgoSymbol5034202,e.AlgoSymbol5034203=Pl.AlgoSymbol5034203,e.AlgoSymbol5034801=Sl.AlgoSymbol5034801,e.AlgoSymbol5035201=hl.AlgoSymbol5035201,e.AlgoSymbol5035202=yl.AlgoSymbol5035202,e.AlgoSymbol5035203=fl.AlgoSymbol5035203,e.AlgoSymbol5035205=gl.AlgoSymbol5035205,e.AlgoSymbol5020802=bl.AlgoSymbol5020802,e.AlgoSymbol6030101=Ml.AlgoSymbol6030101,e.AlgoSymbol6030102=ml.AlgoSymbol6030102,e.AlgoSymbol6030103=dl.AlgoSymbol6030103,e.AlgoSymbol6030104=vl.AlgoSymbol6030104,e.AlgoSymbol6030105=Ol.AlgoSymbol6030105,e.AlgoSymbol6030106=Ul.AlgoSymbol6030106,e.AlgoSymbol6030107=wl.AlgoSymbol6030107,e.AlgoSymbol6030501=Ll.AlgoSymbol6030501,e.AlgoSymbol6031001=_l.AlgoSymbol6031001,e.AlgoSymbol6030601=Vl.AlgoSymbol6030601},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WJAlgoSymbolFactory=void 0,l(188);e.WJAlgoSymbolFactory=SuperMap.Plot.WJAlgoSymbolFactory=SuperMap.Plot.WJAlgoSymbolFactory||{};SuperMap.Plot.WJAlgoSymbolFactory.getAlgoSymbol=function(t,e,l){if(123===t)switch(e){case 20915:return new SuperMap.Plot.AlgoSymbol12500(l);case 2091501:return new SuperMap.Plot.AlgoSymbol12501(l);case 2091502:return new SuperMap.Plot.AlgoSymbol12502(l);case 2091503:return new SuperMap.Plot.AlgoSymbol2091503(l);case 2092101:return new SuperMap.Plot.AlgoSymbol2092101(l);case 21003:return new SuperMap.Plot.AlgoSymbol13700(l);case 21207:return new SuperMap.Plot.AlgoSymbol15200(l);case 2120701:return new SuperMap.Plot.AlgoSymbol15201(l);case 2120702:return new SuperMap.Plot.AlgoSymbol15202(l);case 21213:return new SuperMap.Plot.AlgoSymbol15800(l);case 2121301:return new SuperMap.Plot.AlgoSymbol15801(l);case 2121302:return new SuperMap.Plot.AlgoSymbol15802(l);case 2121303:return new SuperMap.Plot.AlgoSymbol15803(l);case 2121304:return new SuperMap.Plot.AlgoSymbol15804(l);case 2121305:return new SuperMap.Plot.AlgoSymbol15806(l);case 21214:return new SuperMap.Plot.AlgoSymbol15900(l);case 21215:return new SuperMap.Plot.AlgoSymbol16200(l);case 2121501:return new SuperMap.Plot.AlgoSymbol16201(l);case 2121502:return new SuperMap.Plot.AlgoSymbol16202(l);case 2121503:return new SuperMap.Plot.AlgoSymbol16203(l);case 2121504:return new SuperMap.Plot.AlgoSymbol2121504(l);case 2121505:return new SuperMap.Plot.AlgoSymbol2121505(l);case 2121506:return new SuperMap.Plot.AlgoSymbol2121506(l);case 2121507:return new SuperMap.Plot.AlgoSymbol2121507(l);case 21216:return new SuperMap.Plot.AlgoSymbol21216(l);case 2121601:return new SuperMap.Plot.AlgoSymbol2121601(l);case 2121602:return new SuperMap.Plot.AlgoSymbol2121602(l);case 21218:return new SuperMap.Plot.AlgoSymbol16700(l);case 21221:return new SuperMap.Plot.AlgoSymbol21221(l);case 2122101:return new SuperMap.Plot.AlgoSymbol2122101(l);case 21222:return new SuperMap.Plot.AlgoSymbol17500(l);case 2122201:return new SuperMap.Plot.AlgoSymbol17501(l);case 21223:return new SuperMap.Plot.AlgoSymbol17700(l);case 2122301:return new SuperMap.Plot.AlgoSymbol2122301(l);case 2122303:return new SuperMap.Plot.AlgoSymbol17703(l);case 2122304:return new SuperMap.Plot.AlgoSymbol17704(l);case 21224:return new SuperMap.Plot.AlgoSymbol17800(l);case 2122401:return new SuperMap.Plot.AlgoSymbol17801(l);case 2122402:return new SuperMap.Plot.AlgoSymbol17802(l);case 2122403:return new SuperMap.Plot.AlgoSymbol17803(l);case 2122404:return new SuperMap.Plot.AlgoSymbol17804(l);case 2122405:return new SuperMap.Plot.AlgoSymbol17805(l);case 2122406:return new SuperMap.Plot.AlgoSymbol17806(l);case 21605:return new SuperMap.Plot.AlgoSymbol20300(l);case 2160501:return new SuperMap.Plot.AlgoSymbol20301(l);case 30008:return new SuperMap.Plot.AlgoSymbol30008(l);case 3000801:return new SuperMap.Plot.AlgoSymbol3000801(l);case 3000802:return new SuperMap.Plot.AlgoSymbol3000802(l);case 3000803:return new SuperMap.Plot.AlgoSymbol3000803(l);case 3000804:return new SuperMap.Plot.AlgoSymbol3000804(l);case 3000805:return new SuperMap.Plot.AlgoSymbol3000805(l);case 3000806:return new SuperMap.Plot.AlgoSymbol3000806(l);case 3000807:return new SuperMap.Plot.AlgoSymbol3000807(l);case 3000808:return new SuperMap.Plot.AlgoSymbol3000808(l);case 3000809:return new SuperMap.Plot.AlgoSymbol3000809(l);case 30009:return new SuperMap.Plot.AlgoSymbol30009(l);case 30010:return new SuperMap.Plot.AlgoSymbol30010(l);case 30011:return new SuperMap.Plot.AlgoSymbol30011(l);case 3001101:return new SuperMap.Plot.AlgoSymbol3001101(l);case 3001102:return new SuperMap.Plot.AlgoSymbol3001102(l);case 3001103:return new SuperMap.Plot.AlgoSymbol3001103(l);case 3001104:return new SuperMap.Plot.AlgoSymbol3001104(l);case 3001105:return new SuperMap.Plot.AlgoSymbol3001105(l);case 30012:return new SuperMap.Plot.AlgoSymbol30012(l);case 30013:return new SuperMap.Plot.AlgoSymbol30013(l);case 50106:return new SuperMap.Plot.AlgoSymbol21900(l);case 3001301:return new SuperMap.Plot.AlgoSymbol3001301(l);case 3001302:return new SuperMap.Plot.AlgoSymbol3001302(l);case 30014:return new SuperMap.Plot.AlgoSymbol30014(l);case 30018:return new SuperMap.Plot.AlgoSymbol42500(l);case 30020:return new SuperMap.Plot.AlgoSymbol30020(l);case 3002001:return new SuperMap.Plot.AlgoSymbol3002001(l);case 3002002:return new SuperMap.Plot.AlgoSymbol3002002(l);case 3002004:return new SuperMap.Plot.AlgoSymbol3002004(l);case 3002005:return new SuperMap.Plot.AlgoSymbol3002005(l);case 30025:return new SuperMap.Plot.AlgoSymbol30025(l);case 5010301:return new SuperMap.Plot.AlgoSymbol3010301(l);case 50108:return new SuperMap.Plot.AlgoSymbol50108(l);case 5010303:return new SuperMap.Plot.AlgoSymbol3010303(l);case 5010304:return new SuperMap.Plot.AlgoSymbol3010304(l);case 5010401:return new SuperMap.Plot.AlgoSymbol5010401(l);case 5020801:return new SuperMap.Plot.AlgoSymbol3020901(l);case 5020802:return new SuperMap.Plot.AlgoSymbol5020802(l);case 5021803:return new SuperMap.Plot.AlgoSymbol5021803(l);case 5022001:return new SuperMap.Plot.AlgoSymbol5022001(l);case 5022002:return new SuperMap.Plot.AlgoSymbol5022002(l);case 50223:return new SuperMap.Plot.AlgoSymbol50223(l);case 5022301:return new SuperMap.Plot.AlgoSymbol5022301(l);case 3002501:return new SuperMap.Plot.AlgoSymbol3002501(l);case 30026:return new SuperMap.Plot.AlgoSymbol30026(l);case 40104:return new SuperMap.Plot.AlgoSymbol40104(l);case 40301:case 4030101:case 4030102:case 4030103:case 4030104:return new SuperMap.Plot.AlgoSymbol22000(l);case 40302:case 4030201:case 4030202:case 4030203:case 4030204:return new SuperMap.Plot.AlgoSymbol40302(l);case 40303:return new SuperMap.Plot.AlgoSymbol26501(l);case 4030301:return new SuperMap.Plot.AlgoSymbol4030301(l);case 4030302:return new SuperMap.Plot.AlgoSymbol4030302(l);case 4030303:return new SuperMap.Plot.AlgoSymbol4030303(l);case 40304:return new SuperMap.Plot.AlgoSymbol40304(l);case 4030401:return new SuperMap.Plot.AlgoSymbol4030401(l);case 50101:return new SuperMap.Plot.AlgoSymbol25201(l);case 5010101:return new SuperMap.Plot.AlgoSymbol21401(l);case 50102:return new SuperMap.Plot.AlgoSymbol21500(l);case 5010202:return new SuperMap.Plot.AlgoSymbol21502(l);case 5010203:return new SuperMap.Plot.AlgoSymbol21503(l);case 5010204:return new SuperMap.Plot.AlgoSymbol21504(l);case 50103:case 5010302:return new SuperMap.Plot.AlgoSymbol21600(l);case 50104:return new SuperMap.Plot.AlgoSymbol21800(l);case 50107:case 5010701:return new SuperMap.Plot.AlgoSymbol22000(l);case 50208:return new SuperMap.Plot.AlgoSymbol23400(l);case 50209:return new SuperMap.Plot.AlgoSymbol23500(l);case 50210:return new SuperMap.Plot.AlgoSymbol23800(l);case 50212:case 5021101:return new SuperMap.Plot.AlgoSymbol23901(l);case 5021102:return new SuperMap.Plot.AlgoSymbol23902(l);case 50220:return new SuperMap.Plot.AlgoSymbol28900(l);case 50221:return new SuperMap.Plot.AlgoSymbol29000(l);case 50225:return new SuperMap.Plot.AlgoSymbol50225(l);case 50226:return new SuperMap.Plot.AlgoSymbol50226(l);case 50222:return new SuperMap.Plot.AlgoSymbol29101(l);case 5022201:return new SuperMap.Plot.AlgoSymbol29103(l);case 50227:return new SuperMap.Plot.AlgoSymbol35200(l);case 50301:return new SuperMap.Plot.AlgoSymbol1004(l);case 5030101:return new SuperMap.Plot.AlgoSymbol25200(l);case 5030102:return new SuperMap.Plot.AlgoSymbol25201(l);case 50302:return new SuperMap.Plot.AlgoSymbol25000(l);case 50303:return new SuperMap.Plot.AlgoSymbol25400(l);case 5030301:return new SuperMap.Plot.AlgoSymbol5030301(l);case 50308:return new SuperMap.Plot.AlgoSymbol50308(l);case 50309:return new SuperMap.Plot.AlgoSymbol26500(l);case 50310:return new SuperMap.Plot.AlgoSymbol26600(l);case 5031001:return new SuperMap.Plot.AlgoSymbol26601(l);case 50312:return new SuperMap.Plot.AlgoSymbol28000(l);case 50313:return new SuperMap.Plot.AlgoSymbol28100(l);case 50314:return new SuperMap.Plot.AlgoSymbol28200(l);case 5031401:return new SuperMap.Plot.AlgoSymbol5031401(l);case 50315:return new SuperMap.Plot.AlgoSymbol28300(l);case 5031501:return new SuperMap.Plot.AlgoSymbol28301(l);case 50316:return new SuperMap.Plot.AlgoSymbol29800(l);case 50317:return new SuperMap.Plot.AlgoSymbol1006(l);case 50320:return new SuperMap.Plot.AlgoSymbol30000(l);case 5010201:return new SuperMap.Plot.AlgoSymbol21501(l);case 5032001:case 5032002:return new SuperMap.Plot.AlgoSymbol30002(l);case 50321:case 5032101:case 5032102:return new SuperMap.Plot.AlgoSymbol30100(l);case 50322:return new SuperMap.Plot.AlgoSymbol30200(l);case 5032201:return new SuperMap.Plot.AlgoSymbol30201(l);case 50330:case 50331:return new SuperMap.Plot.AlgoSymbol30800(l);case 5032003:return new SuperMap.Plot.AlgoSymbol5032003(l);case 5033001:return new SuperMap.Plot.AlgoSymbol5033001(l);case 50338:return new SuperMap.Plot.AlgoSymbol31300(l);case 5033801:return new SuperMap.Plot.AlgoSymbol31301(l);case 5033802:return new SuperMap.Plot.AlgoSymbol5033802(l);case 5033803:return new SuperMap.Plot.AlgoSymbol5033803(l);case 50339:return new SuperMap.Plot.AlgoSymbol31400(l);case 5033901:return new SuperMap.Plot.AlgoSymbol31401(l);case 50342:return new SuperMap.Plot.AlgoSymbol50342(l);case 5034201:return new SuperMap.Plot.AlgoSymbol5034201(l);case 5034202:return new SuperMap.Plot.AlgoSymbol5034202(l);case 5034203:return new SuperMap.Plot.AlgoSymbol5034203(l);case 50348:return new SuperMap.Plot.AlgoSymbol32300(l);case 5034801:return new SuperMap.Plot.AlgoSymbol5034801(l);case 50352:return new SuperMap.Plot.AlgoSymbol50352(l);case 5035201:return new SuperMap.Plot.AlgoSymbol5035201(l);case 5035202:return new SuperMap.Plot.AlgoSymbol5035202(l);case 5035203:return new SuperMap.Plot.AlgoSymbol5035203(l);case 5035204:return new SuperMap.Plot.AlgoSymbol21501(l);case 5035205:return new SuperMap.Plot.AlgoSymbol5035205(l);case 60203:return new SuperMap.Plot.AlgoSymbol60203(l);case 60205:return new SuperMap.Plot.AlgoSymbol60205(l);case 60301:return new SuperMap.Plot.AlgoSymbol60301(l);case 6030101:return new SuperMap.Plot.AlgoSymbol6030101(l);case 6030102:return new SuperMap.Plot.AlgoSymbol6030102(l);case 6030103:return new SuperMap.Plot.AlgoSymbol6030103(l);case 6030104:return new SuperMap.Plot.AlgoSymbol6030104(l);case 6030105:return new SuperMap.Plot.AlgoSymbol6030105(l);case 6030106:return new SuperMap.Plot.AlgoSymbol6030106(l);case 6030107:return new SuperMap.Plot.AlgoSymbol6030107(l);case 60304:return new SuperMap.Plot.AlgoSymbol60304(l);case 60305:return new SuperMap.Plot.AlgoSymbol60305(l);case 6030501:return new SuperMap.Plot.AlgoSymbol6030501(l);case 60306:return new SuperMap.Plot.AlgoSymbol60306(l);case 6030601:return new SuperMap.Plot.AlgoSymbol6030601(l);case 60310:return new SuperMap.Plot.AlgoSymbol60310(l);case 6031001:return new SuperMap.Plot.AlgoSymbol6031001(l);case 70109:return new SuperMap.Plot.AlgoSymbol40900(l);case 70201:return new SuperMap.Plot.AlgoSymbol41100(l);case 70202:return new SuperMap.Plot.AlgoSymbol41200(l);case 7020201:return new SuperMap.Plot.AlgoSymbol41201(l);case 7020202:return new SuperMap.Plot.AlgoSymbol41202(l);case 80202:return new SuperMap.Plot.AlgoSymbol42200(l);case 90105:return new SuperMap.Plot.AlgoSymbol35000(l);case 90107:return new SuperMap.Plot.AlgoSymbol35200(l);case 90305:return new SuperMap.Plot.AlgoSymbol37700(l);case 90404:return new SuperMap.Plot.AlgoSymbol40100(l);case 9040401:return new SuperMap.Plot.AlgoSymbol40101(l);case 90507:return new SuperMap.Plot.AlgoSymbol44100(l);default:return new SuperMap.Plot.AlgoSymbol(l)}},SuperMap.Plot.WJAlgoSymbolFactory.isAccessServer=function(t,e){if(123!==t)return!0;switch(e){case 20915:case 2091501:case 2091502:case 2091503:case 2092101:case 21003:case 21207:case 2120701:case 2120702:case 21213:case 2121301:case 2121302:case 2121303:case 2121304:case 2121305:case 21214:case 21215:case 2121501:case 2121502:case 2121503:case 2121504:case 2121505:case 2121506:case 2121507:case 21216:case 2121601:case 2121602:case 21218:case 21221:case 2122101:case 21222:case 2122201:case 21223:case 2122301:case 2122303:case 2122304:case 21224:case 2122401:case 2122402:case 2122403:case 2122404:case 2122405:case 2122406:case 21605:case 2160501:case 30008:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 30009:case 30010:case 30011:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 30012:case 30013:case 3001301:case 3001302:case 30014:case 30018:case 30020:case 3002001:case 3002002:case 3002004:case 3002005:case 30025:case 5010301:case 5010303:case 5010304:case 5010401:case 50108:case 50106:case 5020802:case 5021803:case 5022001:case 5022002:case 50223:case 5022301:case 3002501:case 30026:case 40104:case 40301:case 4030101:case 4030102:case 4030103:case 4030104:case 40302:case 4030201:case 4030202:case 4030203:case 4030204:case 40303:case 4030301:case 4030302:case 4030303:case 40304:case 4030401:case 50101:case 5010101:case 50102:case 5010201:case 5010202:case 5010203:case 5010204:case 50103:case 5010302:case 50104:case 50107:case 5010701:case 50208:case 50209:case 50210:case 5021101:case 5021102:case 50212:case 50220:case 50221:case 50222:case 50225:case 50226:case 5022201:case 50227:case 50301:case 5030101:case 5030102:case 50302:case 50303:case 5030301:case 50308:case 50309:case 50310:case 5031001:case 50312:case 50313:case 50314:case 5031401:case 50315:case 5031501:case 50316:case 50317:case 50320:case 5032001:case 5032002:case 5032003:case 50321:case 5032101:case 5032102:case 50322:case 5032201:case 50330:case 5033001:case 50338:case 5033801:case 5033802:case 5033803:case 50339:case 5033901:case 50342:case 5034201:case 5034202:case 5034203:case 50348:case 5034801:case 50352:case 5035201:case 5035202:case 5035203:case 5035204:case 5035205:case 60203:case 60205:case 60301:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 60304:case 60305:case 6030501:case 60306:case 6030601:case 60310:case 6031001:case 70109:case 70201:case 70202:case 7020201:case 7020202:case 80202:case 90105:case 90107:case 90305:case 90404:case 9040401:case 9050301:case 90507:return!1;default:return!0}},SuperMap.Plot.WJAlgoSymbolFactory.getSymbolWayType=function(t,e){if(123!==t)return SuperMap.Plot.AddPoint_WayType.UNKNOWN;switch(e){case 21003:case 21207:case 2120701:case 2121503:case 21218:case 30008:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 30009:case 5021803:case 5022001:case 5022002:case 40301:case 4030101:case 4030102:case 4030103:case 4030104:case 40303:case 4030301:case 4030302:case 4030303:case 50101:case 5010101:case 50102:case 5010201:case 5010202:case 5010203:case 5010204:case 50103:case 5010301:case 5010302:case 5010303:case 5010304:case 50107:case 5010701:case 50210:case 50220:case 50221:case 50225:case 5030102:case 50303:case 5030301:case 50309:case 50320:case 5032001:case 5032002:case 5032003:case 50321:case 5032101:case 5032102:case 50322:case 5032201:case 50330:case 5033001:case 5034203:case 5035201:case 5035204:case 60205:case 90105:return SuperMap.Plot.AddPoint_WayType.CURVE;case 20915:case 2091502:case 2092101:case 2120702:case 21216:case 2121601:case 2121602:case 21605:case 30010:case 30011:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 30012:case 30020:case 3002001:case 3002002:case 3002005:case 30025:case 3002501:case 30026:case 40104:case 40302:case 4030201:case 4030202:case 4030203:case 4030204:case 50227:case 5035205:case 60301:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 70202:case 7020201:case 7020202:case 90107:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}},SuperMap.Plot.WJAlgoSymbolFactory.getDefaultSubSymbols=function(t,e){var l=[];if(123!==t)return l;switch(e){case 2092101:return l.push(new SuperMap.Plot.SubSymbol(123,20921)),l;case 80202:return l.push(new SuperMap.Plot.SubSymbol(123,2170201)),l;case 21221:case 2122101:return l.push(new SuperMap.Plot.SubSymbol(123,21220)),l.push(new SuperMap.Plot.SubSymbol(123,2122001)),l;case 3000801:return l.push(new SuperMap.Plot.SubSymbol(123,3000106)),l;case 50209:return l.push(new SuperMap.Plot.SubSymbol(100,1300)),l;case 3000802:return l.push(new SuperMap.Plot.SubSymbol(123,3000107)),l;case 3000803:return l.push(new SuperMap.Plot.SubSymbol(123,3000108)),l;case 3000804:return l.push(new SuperMap.Plot.SubSymbol(123,20303)),l;case 3000805:case 3000808:case 3001301:case 4030103:case 4030202:case 5020802:case 5010201:case 2121504:case 50108:return l.push(new SuperMap.Plot.SubSymbol(123,21601)),l;case 3000806:return l.push(new SuperMap.Plot.SubSymbol(123,20404)),l;case 3000807:return l.push(new SuperMap.Plot.SubSymbol(123,2010103)),l.push(new SuperMap.Plot.SubSymbol(123,21601)),l;case 3000809:return l.push(new SuperMap.Plot.SubSymbol(123,21601)),l.push(new SuperMap.Plot.SubSymbol(123,30006)),l;case 30010:return l.push(new SuperMap.Plot.SubSymbol(123,10305)),l;case 3001104:case 3001105:return l.push(new SuperMap.Plot.SubSymbol(123,20404)),l;case 30012:return l.push(new SuperMap.Plot.SubSymbol(123,30006)),l;case 3002005:return l.push(new SuperMap.Plot.SubSymbol(123,21305)),l;case 40301:return l.push(new SuperMap.Plot.SubSymbol(123,40201)),l;case 5021803:return l.push(new SuperMap.Plot.SubSymbol(123,50218)),l;case 50225:return l.push(new SuperMap.Plot.SubSymbol(123,10103)),l;case 50226:return l.push(new SuperMap.Plot.SubSymbol(123,10103)),l.push(new SuperMap.Plot.SubSymbol(123,10103)),l;case 5032003:return l.push(new SuperMap.Plot.SubSymbol(123,20304)),l.push(new SuperMap.Plot.SubSymbol(123,20301)),l;case 5030301:case 5022301:case 5033001:case 5034201:case 5034202:case 50342:return l.push(new SuperMap.Plot.SubSymbol(123,10104)),l;case 5033802:return l.push(new SuperMap.Plot.SubSymbol(123,20202)),l;case 5033803:return l.push(new SuperMap.Plot.SubSymbol(123,20203)),l;case 5034203:return l.push(new SuperMap.Plot.SubSymbol(123,2050302)),l;case 50352:return l.push(new SuperMap.Plot.SubSymbol(123,50231)),l;case 5035202:return l.push(new SuperMap.Plot.SubSymbol(123,21227)),l;case 5035205:return l.push(new SuperMap.Plot.SubSymbol(123,2050308)),l;case 4030101:return l.push(new SuperMap.Plot.SubSymbol(123,2030303)),l;case 4030102:case 4030201:return l.push(new SuperMap.Plot.SubSymbol(123,20303)),l;case 4030104:case 4030203:return l.push(new SuperMap.Plot.SubSymbol(123,20401)),l;case 4030204:return l.push(new SuperMap.Plot.SubSymbol(123,10104)),l;case 40302:case 40303:case 4030301:case 4030302:case 4030303:return l.push(new SuperMap.Plot.SubSymbol(123,40201)),l;case 5010202:return l.push(new SuperMap.Plot.SubSymbol(123,2040301)),l;case 5010203:return l.push(new SuperMap.Plot.SubSymbol(123,20501)),l;case 5010204:return l.push(new SuperMap.Plot.SubSymbol(123,20503)),l;case 50107:return l.push(new SuperMap.Plot.SubSymbol(123,10105)),l;case 5010701:return l.push(new SuperMap.Plot.SubSymbol(123,5010503)),l;case 5021101:case 5021102:case 50212:return l.push(new SuperMap.Plot.SubSymbol(123,2020301)),l;case 50227:return l.push(new SuperMap.Plot.SubSymbol(123,10103)),l;case 5030101:return l.push(new SuperMap.Plot.SubSymbol(123,2050302)),l;case 50315:return l.push(new SuperMap.Plot.SubSymbol(123,21302)),l;case 5031501:return l.push(new SuperMap.Plot.SubSymbol(123,21302)),l.push(new SuperMap.Plot.SubSymbol(123,21302)),l;case 5032001:return l.push(new SuperMap.Plot.SubSymbol(123,20301)),l.push(new SuperMap.Plot.SubSymbol(123,20301)),l;case 5032002:return l.push(new SuperMap.Plot.SubSymbol(123,20304)),l.push(new SuperMap.Plot.SubSymbol(123,20304)),l;case 5035201:return l.push(new SuperMap.Plot.SubSymbol(123,50231)),l;case 5035204:return l.push(new SuperMap.Plot.SubSymbol(123,2040106)),l;case 60205:return l.push(new SuperMap.Plot.SubSymbol(123,21503)),l.push(new SuperMap.Plot.SubSymbol(123,21501)),l;case 60310:return l.push(new SuperMap.Plot.SubSymbol(123,5023103)),l;case 6031001:return l.push(new SuperMap.Plot.SubSymbol(123,2122701)),l.push(new SuperMap.Plot.SubSymbol(123,2122702)),l.push(new SuperMap.Plot.SubSymbol(123,2122703)),l;case 90107:return l.push(new SuperMap.Plot.SubSymbol(123,2040301)),l;case 90305:return l.push(new SuperMap.Plot.SubSymbol(123,50304)),l;default:return l}},SuperMap.Plot.WJAlgoSymbolFactory.getMinEditPts=function(t,e){if(123!==t)return 0;switch(e){case 20915:case 21003:case 21207:case 21213:case 21214:case 21215:case 21216:case 21218:case 21221:case 21222:case 21223:case 21224:case 21605:case 30008:case 30009:case 30010:case 30013:case 30014:case 30018:case 40301:case 40303:case 40304:case 50101:case 50102:case 50103:case 50104:case 50106:case 50107:case 50108:case 50208:case 50209:case 50210:case 50212:case 50220:case 50221:case 50222:case 50223:case 50226:case 50302:case 50303:case 50308:case 50309:case 50310:case 50312:case 50313:case 50314:case 50315:case 50320:case 50322:case 50330:case 50331:case 50338:case 50339:case 50342:case 50348:case 60203:case 60205:case 60304:case 60305:case 60306:case 70109:case 70201:case 70202:case 80202:case 90105:case 90107:case 90305:case 90404:case 90507:case 2091501:case 2091502:case 2091503:case 2092101:case 2120701:case 2120702:case 2121301:case 2121302:case 2121303:case 2121304:case 2121305:case 2121501:case 2121502:case 2121503:case 2121504:case 2121505:case 2121506:case 2121507:case 2121601:case 2121602:case 2122101:case 2122201:case 2122301:case 2122303:case 2122304:case 2122401:case 2122402:case 2122403:case 2122404:case 2122405:case 2122406:case 2160501:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 3001301:case 3001302:case 3002004:case 4030101:case 4030102:case 4030103:case 4030104:case 4030301:case 4030302:case 4030303:case 4030401:case 5010101:case 5010201:case 5010202:case 5010203:case 5010204:case 5010301:case 5010302:case 5010303:case 5010304:case 5010401:case 5010701:case 5020802:case 5021101:case 5021102:case 5021803:case 5022001:case 5022002:case 5022201:case 5022301:case 5030102:case 5030301:case 5031001:case 5031401:case 5031501:case 5032001:case 5032002:case 5032003:case 5032201:case 5033001:case 5033801:case 5033802:case 5033803:case 5033901:case 5034201:case 5034202:case 5034203:case 5034801:case 5035201:case 5035203:case 5035204:case 6030501:case 6030601:case 7020201:case 7020202:case 9040401:return 2;case 30011:case 30012:case 30020:case 30025:case 30026:case 40104:case 40302:case 50225:case 50227:case 50301:case 50316:case 50317:case 50352:case 60301:case 60310:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 3002001:case 3002002:case 3002005:case 3002501:case 4030201:case 4030202:case 4030203:case 4030204:case 5020801:case 5030101:case 5035202:case 5035205:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 6031001:return 3;default:return 0}},SuperMap.Plot.WJAlgoSymbolFactory.getMaxEditPts=function(t,e){if(123!==t)return 0;switch(e){case 21218:case 30018:case 50104:case 50302:case 50313:case 50338:case 50339:case 60203:case 60304:case 60305:case 60306:case 70201:case 90507:case 2120702:case 2121502:case 2121504:case 2121505:case 2121506:case 2121507:case 2122301:case 2160501:case 3001301:case 4030401:case 5010401:case 5031401:case 5031501:case 5033801:case 5033802:case 5033803:case 5033901:case 6030501:case 6030601:return 2;case 21003:case 21224:case 50212:case 50221:case 50222:case 50348:case 2122401:case 2122402:case 2122403:case 2122404:case 2122405:case 2122406:case 2021101:case 2021102:case 5022201:case 5034801:return 3;case 50312:case 50317:return 4;case 21221:case 21222:case 50225:case 50226:case 50316:case 50320:case 50322:case 2122101:case 2122201:case 5020801:case 5032001:case 5032002:case 5032003:case 5032201:return 30;case 50227:case 50352:case 60310:case 5022001:case 5022002:case 5030101:case 5035202:case 5035203:case 6031001:return 512;case 20915:case 21213:case 21214:case 21215:case 21216:case 21223:case 21605:case 30008:case 30010:case 30011:case 30012:case 30020:case 30025:case 30026:case 40104:case 40301:case 40302:case 40303:case 50101:case 50102:case 50106:case 50107:case 50108:case 50209:case 50210:case 50220:case 50223:case 50303:case 50309:case 50315:case 50330:case 50331:case 60301:case 70202:case 80202:case 2091501:case 2091502:case 2091503:case 2120701:case 2121301:case 2121302:case 2121303:case 2121304:case 2121305:case 2121501:case 2121503:case 2121601:case 2121602:case 2122303:case 2122304:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 3002001:case 3002002:case 3002004:case 3002005:case 3002501:case 4030101:case 4030102:case 4030103:case 4030104:case 4030201:case 4030202:case 4030203:case 4030204:case 5010101:case 5010701:case 5020802:case 5022301:case 5030102:case 5030301:case 5035205:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 7020201:case 7020202:return 1e3;case 21207:case 30009:case 30013:case 30014:case 40304:case 50103:case 50208:case 50301:case 50308:case 50310:case 50314:case 50342:case 60205:case 70109:case 90105:case 90107:case 90305:case 90404:case 2092101:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 3001302:case 4030301:case 4030302:case 4030303:case 5010201:case 5010202:case 5010203:case 5010204:case 5010301:case 5010302:case 5010303:case 5010304:case 5021803:case 5031001:case 5033001:case 5034201:case 5034202:case 5034203:case 5035201:case 5035204:case 9040401:return 9999;default:return 0}},SuperMap.Plot.WJAlgoSymbolFactory.getDefaultStyle=function(t,e){var l={};if(123===t)switch(e){case 50108:case 3000808:case 30012:case 3000801:case 3001101:case 30011:case 30013:case 30010:case 3001104:case 30014:case 30009:case 30008:l.color=l.strokeColor="#0000ff";break;case 3001302:case 40104:l.color=l.strokeColor="#048e24";break;case 30025:l.color=l.strokeColor="#00ff00";break;case 3002501:l.color=l.strokeColor="#00c000"}return l},SuperMap.Plot.WJAlgoSymbolFactory.canSetSubSymbol=function(t,e){return SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(t,e).length>0||123===this.libID&&(5030101===e||5020801===e||50208===e||50331===e)},SuperMap.Plot.WJAlgoSymbolFactory.zoomInCalSymbol=function(){return!1},SuperMap.Plot.WJAlgoSymbolFactory.zoomCalSymbol=function(t,e){if(123!==t)return!1;switch(e){case 50312:case 50313:case 50314:case 50348:return!0;default:return!1}}},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WJAlgoSymbolFactory=void 0;var o=l(189);e.WJAlgoSymbolFactory=o.WJAlgoSymbolFactory}]);
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports) {
-
-/*!
- * 
- *          iclient-plot-algorithms-yj.(http://iclient.supermap.io)
- *          Copyright© 2000 - 2018 SuperMap Software Co.Ltd
- *          license: undefined
- *          version: v9.1.0
- *         
- */!function(t){var e={};function o(l){if(e[l])return e[l].exports;var i=e[l]={i:l,l:!1,exports:{}};return t[l].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=t,o.c=e,o.d=function(t,e,l){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:l})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var l=Object.create(null);if(o.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)o.d(l,i,function(e){return t[e]}.bind(null,i));return l},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=14)}([function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol610100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.05),o.scaleValues.push(.01)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue(),this.scaleValues[1]=.0625*this.getSubSymbolScaleValue());for(var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=o*this.scaleValues[0],i=o*this.scaleValues[1],n=e[0],r=0,a=1;a<e.length;a++){var p=e[a],u=SuperMap.Plot.PlottingUtil.distance(n,p);switch(r%4){case 0:if(u>=l){var s=SuperMap.Plot.PlottingUtil.findPointInLine(n,p,l);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[n,s]),n=s,r++,a--}break;case 1:case 3:var P=3*i;if(u>P)n=SuperMap.Plot.PlottingUtil.findPointInLine(n,p,P),r++,a--;break;case 2:if(u>2*i){var c=SuperMap.Plot.PlottingUtil.findPointInLine(n,p,2*i);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[new SuperMap.Geometry.Point(.5*(n.x+c.x),.5*(n.y+c.y)),c],{fillLimit:!0,fill:!0}),n=c,r++,a--}}}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol610100=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol530200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues[0]=.05,o.scaleValues[1]=.05),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue(),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var l=e*this.scaleValues[0],i=this.getLinePts(o,this.scaleValues[0],5/14),n=this.getLinePts(o,this.scaleValues[0],9/14),r=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI;this.createSubSymbol(r,l,a);var p=new SuperMap.Geometry.Point((n.startPt.x+n.endPt.x)/2,(n.startPt.y+n.endPt.y)/2),u=180*SuperMap.Plot.PlottingUtil.radian(n.startPt,n.endPt)/Math.PI;this.createSubSymbol(p,l,u);var s=SuperMap.Plot.PlottingUtil.circlePoint(p,.5*l,.5*l,u+90);this.addScalePoint(s);for(var P=[],c=[],S=[],y=0;y<=i.startIndex;y++)P.push(o[y]);if(P.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),i.endIndex<=n.startIndex){c.push(i.endPt);for(var h=i.endIndex+1;h<=n.startIndex;h++)c.push(o[h]);c.push(n.startPt),2===o.length&&SuperMap.Plot.PlottingUtil.distance(o[0],i.endPt)<=SuperMap.Plot.PlottingUtil.distance(o[0],n.startPt)&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),o.length>2&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c)}S.push(n.endPt);for(var f=n.endIndex+1;f<o.length;f++)S.push(o[f]);this.addArrow(S,this.scaleValues[1]),this.finish()}}},{key:"createSubSymbol",value:function(t,e,o){var l=this.getSubSymbolPts1(e);this.createSubSymbol1(t,e,o,l);var i=this.getSubSymbolPts2(e);this.createSubSymbol2(t,e,o,i)}},{key:"createSubSymbol2",value:function(t,e,o,l){for(var i=[],n=0;n<l.length;n++){var r=SuperMap.Plot.PlottingUtil.coordinateTrans(t,l[n],o);i.push(r)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}},{key:"createSubSymbol1",value:function(t,e,o,l){for(var i=[],n=0;n<l.length;n++){var r=SuperMap.Plot.PlottingUtil.coordinateTrans(t,l[n],o);i.push(r)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,i)}},{key:"getSubSymbolPts1",value:function(t){var e=t/2,o=[];return o.push(new SuperMap.Geometry.Point(2*e,0)),o.push(new SuperMap.Geometry.Point(0,e)),o.push(new SuperMap.Geometry.Point(-2*e,0)),o.push(new SuperMap.Geometry.Point(0,-e)),o}},{key:"getSubSymbolPts2",value:function(t){var e=t/2,o=[];return o.push(new SuperMap.Geometry.Point(-e,e)),o.push(new SuperMap.Geometry.Point(e,e)),o}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(9*i/14,l),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;r<=.3&&(this.scaleValues[0]=r)}}}]),e}();SuperMap.Plot.AlgoSymbol530200=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol530100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues[0]=.05,o.scaleValues[1]=.05),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue(o),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var l=this.getLinePts(e,this.scaleValues[0]),i=new SuperMap.Geometry.Point((l.startPt.x+l.endPt.x)/2,(l.startPt.y+l.endPt.y)/2),n=180*SuperMap.Plot.PlottingUtil.radian(l.startPt,l.endPt)/Math.PI,r=SuperMap.Plot.PlottingUtil.distance(l.startPt,l.endPt);if(0<this.subSymbols.length)this.computeSubSymbol(this.subSymbols[0],i,r,n-90);else{var a=new SuperMap.Geometry.Point(-.5*r,.25*r),p=new SuperMap.Geometry.Point(-.5*r,-.25*r),u=SuperMap.Plot.PlottingUtil.coordinateTrans(i,a,n),s=SuperMap.Plot.PlottingUtil.coordinateTrans(i,p,n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,s]);var P=new SuperMap.Geometry.Point(-.5*r,.125*r),c=new SuperMap.Geometry.Point(.25*r,.125*r),S=new SuperMap.Geometry.Point(.5*r,0),y=new SuperMap.Geometry.Point(.25*r,-.125*r),h=new SuperMap.Geometry.Point(-.5*r,-.125*r),f=SuperMap.Plot.PlottingUtil.coordinateTrans(i,P,n),g=SuperMap.Plot.PlottingUtil.coordinateTrans(i,c,n),M=SuperMap.Plot.PlottingUtil.coordinateTrans(i,S,n),b=SuperMap.Plot.PlottingUtil.coordinateTrans(i,y,n),m=SuperMap.Plot.PlottingUtil.coordinateTrans(i,h,n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[f,g,M,b,m])}for(var d=[],v=[],O=0;O<=l.startIndex;O++)d.push(e[O]);if(d.push(l.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d),l.endIndex<=e.length){v.push(l.endPt);for(var U=l.endIndex+1;U<=e.length-1;U++)v.push(e[U]);this.addDovetailArrow(v,this.scaleValues[1])}var w=SuperMap.Plot.PlottingUtil.circlePoint(i,.5*r,.5*r,n+90);this.addScalePoint(w,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,l),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol530100=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol520500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.02),o.scaleValues.push(.01)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue(o),this.scaleValues[1]=.15*this.getSubSymbolScaleValue(o));var l=.5*o,i=180*SuperMap.Plot.PlottingUtil.radian(t[0],t[1])/Math.PI,n=o*this.scaleValues[0],r=Math.sqrt(n*n+n*n)+n/2,a=l-r,p=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e).pts,u=this.computeXPts(p,n,e,i),s=[];s.push(new SuperMap.Geometry.Point(u[0].x,u[0].y)),s.push(new SuperMap.Geometry.Point(u[1].x,u[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);var P=[];P.push(new SuperMap.Geometry.Point(u[2].x,u[2].y)),P.push(new SuperMap.Geometry.Point(u[3].x,u[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var c=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l,e).pts,S=this.computeXPts(c,n,e,i),y=[];y.push(new SuperMap.Geometry.Point(S[0].x,S[0].y)),y.push(new SuperMap.Geometry.Point(S[1].x,S[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var h=[];h.push(new SuperMap.Geometry.Point(S[2].x,S[2].y)),h.push(new SuperMap.Geometry.Point(S[3].x,S[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var f=l+r,g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(f,e).pts,M=this.computeXPts(g,n,e,i),b=[];b.push(new SuperMap.Geometry.Point(M[0].x,M[0].y)),b.push(new SuperMap.Geometry.Point(M[1].x,M[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var m=[];m.push(new SuperMap.Geometry.Point(M[2].x,M[2].y)),m.push(new SuperMap.Geometry.Point(M[3].x,M[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var d=l-2*r,v=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(d,e);if(v.bfind){for(var O=v.index,U=v.pts,w=[],L=0;L<=O;L++)w.push(e[L]);w.push(U);var _=o*this.scaleValues[1];this.computeDashLines(w,_)}var x=l+2*r,A=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(x,e);if(A.bfind){var Y=A.index,V=A.pts,E=[];if(Y<=e.length){E.push(V);for(var T=Y+1;T<=e.length-1;T++)E.push(e[T])}this.computeDashLines(E,_)}var j=SuperMap.Plot.PlottingUtil.circlePoint(t[0],r,r,90);this.addScalePoint(j,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=.5*SuperMap.Plot.PlottingUtil.distance(o[0],e)/i;n>=.12&&(n=.12),this.scaleValues[0]=n}}},{key:"computeXPts",value:function(t,e,o,l){var i=[],n=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+45),r=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+225);i.push(n),i.push(r);var a=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+135),p=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+315);return i.push(a),i.push(p),i}},{key:"computeDashLines",value:function(t,e){for(var o=this.computeDashLine(2*e,2*e,t),l=.5*e,i=0;i<o.length;i++){var n=o[i];if(!((n=SuperMap.Plot.PlottingUtil.clearSamePts(n)).length<=1)){var r=new SuperMap.Geometry.Point(n[0].x,n[0].y),a=new SuperMap.Geometry.Point(n[n.length-1].x,n[n.length-1].y),p=180*SuperMap.Plot.PlottingUtil.radian(r,a)/Math.PI,u=SuperMap.Plot.PlottingUtil.circlePoint(r,l,l,p+90),s=SuperMap.Plot.PlottingUtil.circlePoint(r,l,l,p+270),P=SuperMap.Plot.PlottingUtil.circlePoint(a,l,l,p+90),c=SuperMap.Plot.PlottingUtil.circlePoint(a,l,l,p+270),S=[];S.push(u),S.push(s),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{fillLimit:!0,fill:!0})}}}}]),e}();SuperMap.Plot.AlgoSymbol520500=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol520300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.05),o.scaleValues.push(.05)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.05):1==this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.8*this.getSubSymbolScaleValue(o),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var l=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,.3*o);if(-1!==l.index){var i=l.pt,n=l.index,r=o*this.scaleValues[0]*.5,a=SuperMap.Plot.PlottingUtil.radian(i,e[n+1])*SuperMap.Plot.PlottingUtil.RTOD,p=SuperMap.Plot.PlottingUtil.circlePoint(i,r,r,a+90),u=SuperMap.Plot.PlottingUtil.circlePoint(i,r,r,a-90),s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,i,p),P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,i,u);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s.pntLeft,s.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P.pntLeft,P.pntRight]);var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,.6*o);if(-1!==c.index){var S=c.pt,y=c.index,h=SuperMap.Plot.PlottingUtil.radian(S,e[y+1])*SuperMap.Plot.PlottingUtil.RTOD,f=SuperMap.Plot.PlottingUtil.circlePoint(S,r,r,h+90),g=SuperMap.Plot.PlottingUtil.circlePoint(S,r,r,h-90),M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,S,f),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,S,g);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[M.pntLeft,M.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[b.pntLeft,b.pntRight]),this.addDovetailArrow(e,this.scaleValues[1]),this.addScalePoint(g,0),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.minEditPts>o.length)return;var l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o,!1);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.6*i,l);if(!n.bfind)return;var r=2*SuperMap.Plot.PlottingUtil.distance(e,n.pts);this.scaleValues[0]=r/i}}}]),e}();SuperMap.Plot.AlgoSymbol520300=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol520200=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol520100),l(e,[{key:"computeSubSymbol",value:function(t,e){var o=.5*e,l=[];l.push(t),l.push(new SuperMap.Geometry.Point(t.x+o,t.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,l);var i=.6*o,n=SuperMap.Plot.PlottingUtil.circlePoint(t,i,i,60),r=new SuperMap.Geometry.Point(t.x-.3*o,t.y),a=SuperMap.Plot.PlottingUtil.circlePoint(t,i,i,240),p=new SuperMap.Geometry.Point(t.x+.3*o,t.y),u=[];u.push(n),u.push(r),u.push(t),u.push(p),u.push(a),u.push(t),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u,{fillLimit:!0,fill:!0})}}]),e}();SuperMap.Plot.AlgoSymbol520200=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol520100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.5),o.scaleValues.push(.03)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());for(var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=this.scaleValues[1]*e,l=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,l).pt,n=[],r=0;r<t.length;r++){if(r===t.length-1){n.push(t[r]);break}n.push(t[r]);var a=[];if(this.intersectLineAndCircle(t[r],t[r+1],i,o,a))for(var p=0;p<a.length;p++)n.push(a[p])}for(var u=[],s=0;s<n.length;s++){if(s===n.length-1){0!==u.length&&(u.push(n[s]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),u=[]);break}this.isLineInCircle(n[s],n[s+1],i,o)?0!==u.length&&(u.push(n[s]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),u=[]):u.push(n[s])}this.computeSubSymbol(i,2*o),this.addScalePoint(i);var P=new SuperMap.Geometry.Point(i.x+o,i.y);SuperMap.Plot.PlottingUtil.rotateAngle(i,30,P),this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var l=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var i=0,n=-1,r=null,a=0;a<o.length-1;a++){var p=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,o[a],o[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.projectPoint,o[a],o[a+1])){var u=SuperMap.Plot.PlottingUtil.distance(p.projectPoint,e);0===i?(i=u,n=a,r=p.projectPoint):u<i&&(i=u,n=a,r=p.projectPoint)}}if(-1===n)return;for(var s=0,P=0;P<n;P++)s+=SuperMap.Plot.PlottingUtil.distance(o[P],o[P+1]);var c=(s+=SuperMap.Plot.PlottingUtil.distance(r,o[n]))/l;c>1&&(c=1),this.scaleValues[0]=c}if(1===t){var S=this.scaleValues[0]*l,y=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,S);if(-1===y.index)return;var h=SuperMap.Plot.PlottingUtil.distance(y.pt,e)/l;h>.4&&(h=.4),this.scaleValues[1]=h}}}},{key:"intersectLineAndCircle",value:function(t,e,o,l,i){for(var n=!1,r=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[o,new SuperMap.Geometry.Point(o.x+l,o.y)]),a=0;a<r.length-1;a++){var p=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.intersectLineSegs(t,e,r[a],r[a+1],p)&&(n=!0,i.push(p))}if(t.x>e.x){for(var u=0;u<i.length&&u!==i.length-1;u++)if(i[u].x<i[u+1].x){var s=i[u];i[u]=i[u+1],i[u+1]=s}}else if(t.x<e.x){for(var P=0;P<i.length&&P!==i.length-1;P++)if(i[P].x>i[P+1].x){var c=i[P];i[P]=i[P+1],i[P+1]=c}}else if(t.y>e.y){for(var S=0;S<i.length&&S!==i.length-1;S++)if(i[S].y<i[S+1].y){var y=i[S];i[S]=i[S+1],i[S+1]=y}}else if(t.y<e.y)for(var h=0;h<i.length&&h!==i.length-1;h++)if(i[h].y>i[h+1].y){var f=i[h];i[h]=i[h+1],i[h+1]=f}return n}},{key:"isLineInCircle",value:function(t,e,o,l){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return SuperMap.Plot.PlottingUtil.distance(i,o)<l}},{key:"computeSubSymbol",value:function(t,e){var o=.5*e,l=[];l.push(t),l.push(new SuperMap.Geometry.Point(t.x+o,t.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,l);var i=[];i.push(new SuperMap.Geometry.Point(t.x-o,t.y)),i.push(new SuperMap.Geometry.Point(t.x+o,t.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);var n=new SuperMap.Geometry.Point(t.x+.75*o,t.y),r=.8*o,a=SuperMap.Plot.PlottingUtil.circlePoint(n,r,r,155),p=SuperMap.Plot.PlottingUtil.circlePoint(n,r,r,205),u=[];u.push(a);var s=r*(Math.cos(25*SuperMap.Plot.PlottingUtil.DTOR)-Math.cos(75*SuperMap.Plot.PlottingUtil.DTOR));u.push(new SuperMap.Geometry.Point(n.x-s,n.y)),u.push(p),u.push(n),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u,{fillLimit:!0,fill:!0})}}]),e}();SuperMap.Plot.AlgoSymbol520100=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol510100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.0375),o.scaleValues.push(.025)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue(o),this.scaleValues[1]=.35*this.getSubSymbolScaleValue());var l=.5*o,i=180*SuperMap.Plot.PlottingUtil.radian(t[0],t[1])/Math.PI,n=o*this.scaleValues[0],r=Math.sqrt(n*n+n*n)+n/2,a=l-r,p=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e).pts,u=this.computeXPts(p,n,e,i),s=[];s.push(new SuperMap.Geometry.Point(u[0].x,u[0].y)),s.push(new SuperMap.Geometry.Point(u[1].x,u[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);var P=[];P.push(new SuperMap.Geometry.Point(u[2].x,u[2].y)),P.push(new SuperMap.Geometry.Point(u[3].x,u[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var c=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l,e).pts,S=this.computeXPts(c,n,e,i),y=[];y.push(new SuperMap.Geometry.Point(S[0].x,S[0].y)),y.push(new SuperMap.Geometry.Point(S[1].x,S[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var h=[];h.push(new SuperMap.Geometry.Point(S[2].x,S[2].y)),h.push(new SuperMap.Geometry.Point(S[3].x,S[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var f=l+r,g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(f,e).pts,M=this.computeXPts(g,n,e,i),b=[];b.push(new SuperMap.Geometry.Point(M[0].x,M[0].y)),b.push(new SuperMap.Geometry.Point(M[1].x,M[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var m=[];m.push(new SuperMap.Geometry.Point(M[2].x,M[2].y)),m.push(new SuperMap.Geometry.Point(M[3].x,M[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);for(var d=l-2*r,v=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(d,e),O=v.index,U=v.pts,w=[],L=0;L<=O;L++)w.push(e[L]);w.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w);var _=l+2*r,x=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(_,e),A=x.index,Y=x.pts,V=[];if(A<=e.length){V.push(Y);for(var E=A+1;E<=e.length-1;E++)V.push(e[E])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V);var T=e[0],j=e[1],I=e[e.length-2],C=e[e.length-1],B=o*this.scaleValues[1],G=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(B,j,T),N=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(B,I,C),D=[];D.push(T),D.push(G.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,D);var R=[];R.push(C),R.push(N.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,R);var k=SuperMap.Plot.PlottingUtil.circlePoint(t[0],r,r,90);this.addScalePoint(k,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=.5*SuperMap.Plot.PlottingUtil.distance(o[0],e)/i;n>=.12&&(n=.12),this.scaleValues[0]=n}}},{key:"computeXPts",value:function(t,e,o,l){var i=[],n=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+45),r=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+225);i.push(n),i.push(r);var a=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+135),p=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+315);return i.push(a),i.push(p),i}}]),e}();SuperMap.Plot.AlgoSymbol510100=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol29101=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29100),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.25*this.getSubSymbolScaleValue());var o=[];o=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o);for(var l=0;l<4;l++){var i=l*(o.length-1)/4,n=new SuperMap.Geometry.Point(o[i].x,o[i].y),r=new SuperMap.Geometry.Point(o[i+1].x,o[i+1].y),a=new SuperMap.Geometry.Point((n.x+r.x)/2,(n.y+r.y)/2),p=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD,u=this.scaleValues[0]*e/2,s=SuperMap.Plot.PlottingUtil.circlePoint(a,u,u,p),P=SuperMap.Plot.PlottingUtil.circlePoint(a,4*u,4*u,p+270),c=SuperMap.Plot.PlottingUtil.circlePoint(a,u,u,p+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P,c])}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29101=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol29100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.05),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.25*this.getSubSymbolScaleValue());var o=[];o=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o);for(var l=0;l<4;l++){var i=Math.floor(l*o.length/4),n=new SuperMap.Geometry.Point(o[i].x,o[i].y),r=new SuperMap.Geometry.Point(o[i+1].x,o[i+1].y),a=new SuperMap.Geometry.Point((n.x+r.x)/2,(n.y+r.y)/2),p=SuperMap.Plot.PlottingUtil.radian(r,a)*SuperMap.Plot.PlottingUtil.RTOD,u=this.scaleValues[0]*e/2,s=SuperMap.Plot.PlottingUtil.circlePoint(a,u,u,p),P=SuperMap.Plot.PlottingUtil.circlePoint(a,4*u,4*u,p+270),c=SuperMap.Plot.PlottingUtil.circlePoint(a,u,u,p+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P,c],{lineTypeLimit:!0,surroundLineLimit:!0})}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29100=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol15200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.05),o.scaleValues.push(0),o.scaleValues.push(.185)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var o=0,l=0,i=e.length-1;l<i;l++)o+=SuperMap.Plot.PlottingUtil.distance(e[l],e[l+1]);for(var n=0,r=0,a=t.length-1;r<a;r++)n+=SuperMap.Plot.PlottingUtil.distance(t[r],t[r+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());for(var p=this.scaleValues[0]*n,u=this.scaleValues[1],s=this.scaleValues[2]*n,P=.3*s,c=s;c<o;c+=s){var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(c,e);if(-1===S.index)return void this.finish();var y=c+P,h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(y,e);if(-1===h.index)return void this.finish();var f=[],g=[];f.push(S.pts);var M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,e[S.index],S.pts);0===u?f.push(new SuperMap.Geometry.Point(M.pntLeft.x,M.pntLeft.y)):f.push(new SuperMap.Geometry.Point(M.pntRight.x,M.pntRight.y)),g.push(h.pts);var b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,e[h.index],h.pts);if(0===u?g.push(new SuperMap.Geometry.Point(b.pntLeft.x,b.pntLeft.y)):g.push(new SuperMap.Geometry.Point(b.pntRight.x,b.pntRight.y)),s===c){this.scalePoints=[];var m=new SuperMap.Geometry.Point(f[1].x,f[1].y);m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m),(m=new SuperMap.Geometry.Point(f[0].x,f[0].y)).isScalePoint=!0,m.tag=1,this.scalePoints.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;for(var l=0,i=0,n=o.length-1;i<n;i++)l+=SuperMap.Plot.PlottingUtil.distance(o[i],o[i+1]);var r=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o),a=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,l*this.scaleValues[2]);if(-1===p.index)return;var u=SuperMap.Plot.PlottingUtil.distance(p.pt,a)/l,s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(r[0],r[1],e);this.scaleValues[1]=s?1:0,this.scaleValues[0]=u}else if(1===t){for(var P=0,c=-1,S=[],y=0,h=r.length-1;y<h;y++){var f=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,r[y],r[y+1]);if(f.isOnline){var g=SuperMap.Plot.PlottingUtil.distance(f.projectPoint,this.controlPoints[1]);0==P?(P=g,c=y,S=e):g<P&&(P=g,c=y,S=e)}}if(-1==c)return;for(var M=0,b=0,m=c-1;b<m;b++)M+=SuperMap.Plot.PlottingUtil.distance(r[b],r[b+1]);var d=(M+=SuperMap.Plot.PlottingUtil.distance(S,r[c]))/l;d>.7&&(d=.7),this.scaleValues[2]=d}}}}]),e}();SuperMap.Plot.AlgoSymbol15200=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol15804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.029615),o.scaleValues.push(1),o.scaleValues.push(.12)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=this.scaleValues[0],l=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*l,n=this.scaleValues[2]*l*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var p=[],u=0;u<=a;u+=n){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(s.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[s.index+1],s.pt);if(r?p.push(P.pntRight):p.push(P.pntLeft),Math.abs(u)<=1e-6){this.scalePoints=[];var c=new SuperMap.Geometry.Point(p[0].x,p[0].y);c.isScalePoint=!0,c.tag=0,this.scalePoints.push(c)}else Math.abs(2*n-u)<=1e-6&&((c=new SuperMap.Geometry.Point(s.pt.x,s.pt.y)).isScalePoint=!0,c.tag=1,this.scalePoints.push(c));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);for(var S=p.length,y=0,h=0;h<S-1;++h){var f=new SuperMap.Geometry.Point(p[h].x,p[h].y),g=new SuperMap.Geometry.Point(p[h+1].x,p[h+1].y);y=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var M=[],b=new SuperMap.Geometry.Point(.5*(f.x+g.x),.5*(f.y+g.y)),m=SuperMap.Plot.PlottingUtil.dirAngle(f,g)*SuperMap.Plot.PlottingUtil.RTOD,d=SuperMap.Plot.PlottingUtil.circlePoint(b,y,y,m+90),v=1.5*y,O=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+260),U=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+280);M.push(O),M.push(d),M.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15804=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbol610100=e.AlgoSymbol530200=e.AlgoSymbol530100=e.AlgoSymbol520500=e.AlgoSymbol520300=e.AlgoSymbol520200=e.AlgoSymbol520100=e.AlgoSymbol510100=e.AlgoSymbol29101=e.AlgoSymbol29100=e.AlgoSymbol15200=e.AlgoSymbol15804=void 0;var l=o(11),i=o(10),n=o(9),r=o(8),a=o(7),p=o(6),u=o(5),s=o(4),P=o(3),c=o(2),S=o(1),y=o(0);e.AlgoSymbol15804=l.AlgoSymbol15804,e.AlgoSymbol15200=i.AlgoSymbol15200,e.AlgoSymbol29100=n.AlgoSymbol29100,e.AlgoSymbol29101=r.AlgoSymbol29101,e.AlgoSymbol510100=a.AlgoSymbol510100,e.AlgoSymbol520100=p.AlgoSymbol520100,e.AlgoSymbol520200=u.AlgoSymbol520200,e.AlgoSymbol520300=s.AlgoSymbol520300,e.AlgoSymbol520500=P.AlgoSymbol520500,e.AlgoSymbol530100=c.AlgoSymbol530100,e.AlgoSymbol530200=S.AlgoSymbol530200,e.AlgoSymbol610100=y.AlgoSymbol610100},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.YJAlgoSymbolFactory=void 0,o(12);e.YJAlgoSymbolFactory=SuperMap.Plot.YJAlgoSymbolFactory=SuperMap.Plot.YJAlgoSymbolFactory||{};SuperMap.Plot.YJAlgoSymbolFactory.getAlgoSymbol=function(t,e,o){if(999!==t)return new SuperMap.Plot.AlgoSymbol(o);switch(e){case 510100:return new SuperMap.Plot.AlgoSymbol510100(o);case 510200:return new SuperMap.Plot.AlgoSymbol15804(o);case 520100:return new SuperMap.Plot.AlgoSymbol520100(o);case 520200:return new SuperMap.Plot.AlgoSymbol520200(o);case 520300:return new SuperMap.Plot.AlgoSymbol520300(o);case 520400:return new SuperMap.Plot.AlgoSymbol15200(o);case 520500:return new SuperMap.Plot.AlgoSymbol520500(o);case 530100:return new SuperMap.Plot.AlgoSymbol530100(o);case 530200:return new SuperMap.Plot.AlgoSymbol530200(o);case 610100:return new SuperMap.Plot.AlgoSymbol610100(o);case 610200:return new SuperMap.Plot.AlgoSymbol29100(o);case 610300:return new SuperMap.Plot.AlgoSymbol29101(o);default:return new SuperMap.Plot.AlgoSymbol(o)}},SuperMap.Plot.YJAlgoSymbolFactory.isAccessServer=function(t,e){if(999!==t)return!0;switch(e){case 510100:case 510200:case 520100:case 520200:case 520300:case 520400:case 520500:case 530100:case 530200:case 610100:case 610200:case 610300:return!1;default:return!0}},SuperMap.Plot.YJAlgoSymbolFactory.getSymbolWayType=function(t,e){if(999===t)switch(e){case 510100:case 510200:case 520100:case 520200:case 520300:case 520400:case 520500:case 530100:case 530200:case 610100:case 610200:case 610300:return SuperMap.Plot.AddPoint_WayType.CURVE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}},SuperMap.Plot.YJAlgoSymbolFactory.getDefaultSubSymbols=function(){return[]},SuperMap.Plot.YJAlgoSymbolFactory.getMinEditPts=function(t,e){if(999!==t)return 0;switch(e){case 510100:case 510200:case 520100:case 520200:case 520300:case 520400:case 520500:case 530100:case 530200:case 610100:case 610200:case 610300:return 2;default:return 0}},SuperMap.Plot.YJAlgoSymbolFactory.getMaxEditPts=function(t,e){if(999!==t)return 0;switch(e){case 510100:case 510200:case 520100:case 520200:case 520300:case 520400:case 520500:case 530100:case 530200:case 610100:return 9999;case 610200:case 610300:return 3;default:return 0}},SuperMap.Plot.YJAlgoSymbolFactory.getDefaultStyle=function(){return{}},SuperMap.Plot.YJAlgoSymbolFactory.canSetSubSymbol=function(t,e){return SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(t,e).length>0},SuperMap.Plot.YJAlgoSymbolFactory.zoomInCalSymbol=function(){return!1},SuperMap.Plot.YJAlgoSymbolFactory.zoomCalSymbol=function(){return!1}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.YJAlgoSymbolFactory=void 0;var l=o(13);e.YJAlgoSymbolFactory=l.YJAlgoSymbolFactory}]);
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports) {
-
-/*!
- * 
- *          iclient9-plot-webgl-common.(http://iclient.supermap.io)
- *          Copyright© 2000 - 2018 SuperMap Software Co.Ltd
- *          license: undefined
- *          version: v9.1.1
- *         
- */!function(t){var e={};function o(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)o.d(n,i,function(e){return t[e]}.bind(null,i));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=120)}([function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(e.SuperMap=window.SuperMap=window.SuperMap||{}).Widgets=window.SuperMap.Widgets||{}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Util=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=o(0);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                               * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                               * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/o(2);var l,r,a;e.Util=i.SuperMap.Util=i.SuperMap.Util||{};i.SuperMap.Util.extend=function(t,e){if(t=t||{},e){for(var o in e){var n=e[o];void 0!==n&&(t[o]=n)}!("function"==typeof window.Event&&e instanceof window.Event)&&e.hasOwnProperty&&e.hasOwnProperty("toString")&&(t.toString=e.toString)}return t},i.SuperMap.Util.copy=function(t,e){var o;if(t=t||{},e)for(var n in t)void 0!==(o=e[n])&&(t[n]=o)},i.SuperMap.Util.reset=function(t){for(var e in t=t||{})if(t.hasOwnProperty(e)){if("object"===n(t[e])&&t[e]instanceof Array){for(var o in t[e])t[e][o].destroy&&t[e][o].destroy();t[e].length=0}else"object"===n(t[e])&&t[e]instanceof Object&&t[e].destroy&&t[e].destroy();t[e]=null}},i.SuperMap.Util.getElement=function(){for(var t=[],e=0,o=arguments.length;e<o;e++){var n=arguments[e];if("string"==typeof n&&(n=document.getElementById(n)),1===arguments.length)return n;t.push(n)}return t},i.SuperMap.Util.isElement=function(t){return!(!t||1!==t.nodeType)},i.SuperMap.Util.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)},i.SuperMap.Util.removeItem=function(t,e){for(var o=t.length-1;o>=0;o--)t[o]===e&&t.splice(o,1);return t},i.SuperMap.Util.indexOf=function(t,e){if(null==t)return-1;if("function"==typeof t.indexOf)return t.indexOf(e);for(var o=0,n=t.length;o<n;o++)if(t[o]===e)return o;return-1},i.SuperMap.Util.modifyDOMElement=function(t,e,o,n,i,l,r,a){e&&(t.id=e),o&&(t.style.left=o.x+"px",t.style.top=o.y+"px"),n&&(t.style.width=n.w+"px",t.style.height=n.h+"px"),i&&(t.style.position=i),l&&(t.style.border=l),r&&(t.style.overflow=r),parseFloat(a)>=0&&parseFloat(a)<1?(t.style.filter="alpha(opacity="+100*a+")",t.style.opacity=a):1===parseFloat(a)&&(t.style.filter="",t.style.opacity="")},i.SuperMap.Util.applyDefaults=function(t,e){t=t||{};var o="function"==typeof window.Event&&e instanceof window.Event;for(var n in e)(void 0===t[n]||!o&&e.hasOwnProperty&&e.hasOwnProperty(n)&&!t.hasOwnProperty(n))&&(t[n]=e[n]);return!o&&e&&e.hasOwnProperty&&e.hasOwnProperty("toString")&&!t.hasOwnProperty("toString")&&(t.toString=e.toString),t},i.SuperMap.Util.getParameterString=function(t){var e=[];for(var o in t){var i=t[o];if(null!=i&&"function"!=typeof i){var l;if("object"===(void 0===i?"undefined":n(i))&&i.constructor===Array){for(var r,a=[],s=0,u=i.length;s<u;s++)r=i[s],a.push(encodeURIComponent(null===r||void 0===r?"":r));l=a.join(",")}else l=encodeURIComponent(i);e.push(encodeURIComponent(o)+"="+l)}}return e.join("&")},i.SuperMap.Util.urlAppend=function(t,e){var o=t;if(e){var n=(t+" ").split(/[?&]/);o+=" "===n.pop()?e:n.length?"&"+e:"?"+e}return o},i.SuperMap.Util.DEFAULT_PRECISION=14,i.SuperMap.Util.toFloat=function(t,e){return null==e&&(e=i.SuperMap.Util.DEFAULT_PRECISION),"number"!=typeof t&&(t=parseFloat(t)),0===e?t:parseFloat(t.toPrecision(e))},i.SuperMap.Util.rad=function(t){return t*Math.PI/180},i.SuperMap.Util.getParameters=function(t){t=null===t||void 0===t?window.location.href:t;var e="";if(i.SuperMap.String.contains(t,"?")){var o=t.indexOf("?")+1,n=i.SuperMap.String.contains(t,"#")?t.indexOf("#"):t.length;e=t.substring(o,n)}for(var l={},r=e.split(/[&;]/),a=0,s=r.length;a<s;++a){var u=r[a].split("=");if(u[0]){var p=u[0];try{p=decodeURIComponent(p)}catch(t){p=unescape(p)}var c=(u[1]||"").replace(/\+/g," ");try{c=decodeURIComponent(c)}catch(t){c=unescape(c)}1==(c=c.split(",")).length&&(c=c[0]),l[p]=c}}return l},i.SuperMap.Util.lastSeqID=0,i.SuperMap.Util.createUniqueID=function(t){return null==t&&(t="id_"),i.SuperMap.Util.lastSeqID+=1,t+i.SuperMap.Util.lastSeqID},i.SuperMap.INCHES_PER_UNIT={inches:1,ft:12,mi:63360,m:39.3701,km:39370.1,dd:4374754,yd:36},i.SuperMap.INCHES_PER_UNIT.in=i.SuperMap.INCHES_PER_UNIT.inches,i.SuperMap.INCHES_PER_UNIT.degrees=i.SuperMap.INCHES_PER_UNIT.dd,i.SuperMap.INCHES_PER_UNIT.nmi=1852*i.SuperMap.INCHES_PER_UNIT.m,i.SuperMap.METERS_PER_INCH=.0254000508001016,i.SuperMap.Util.extend(i.SuperMap.INCHES_PER_UNIT,{Inch:i.SuperMap.INCHES_PER_UNIT.inches,Meter:1/i.SuperMap.METERS_PER_INCH,Foot:.3048006096012192/i.SuperMap.METERS_PER_INCH,IFoot:.3048/i.SuperMap.METERS_PER_INCH,ClarkeFoot:.3047972651151/i.SuperMap.METERS_PER_INCH,SearsFoot:.30479947153867626/i.SuperMap.METERS_PER_INCH,GoldCoastFoot:.3047997101815088/i.SuperMap.METERS_PER_INCH,IInch:.0254/i.SuperMap.METERS_PER_INCH,MicroInch:254e-7/i.SuperMap.METERS_PER_INCH,Mil:2.54e-8/i.SuperMap.METERS_PER_INCH,Centimeter:.01/i.SuperMap.METERS_PER_INCH,Kilometer:1e3/i.SuperMap.METERS_PER_INCH,Yard:.9144018288036576/i.SuperMap.METERS_PER_INCH,SearsYard:.914398414616029/i.SuperMap.METERS_PER_INCH,IndianYard:.9143985307444408/i.SuperMap.METERS_PER_INCH,IndianYd37:.91439523/i.SuperMap.METERS_PER_INCH,IndianYd62:.9143988/i.SuperMap.METERS_PER_INCH,IndianYd75:.9143985/i.SuperMap.METERS_PER_INCH,IndianFoot:.30479951/i.SuperMap.METERS_PER_INCH,IndianFt37:.30479841/i.SuperMap.METERS_PER_INCH,IndianFt62:.3047996/i.SuperMap.METERS_PER_INCH,IndianFt75:.3047995/i.SuperMap.METERS_PER_INCH,Mile:1609.3472186944373/i.SuperMap.METERS_PER_INCH,IYard:.9144/i.SuperMap.METERS_PER_INCH,IMile:1609.344/i.SuperMap.METERS_PER_INCH,NautM:1852/i.SuperMap.METERS_PER_INCH,"Lat-66":110943.31648893273/i.SuperMap.METERS_PER_INCH,"Lat-83":110946.25736872235/i.SuperMap.METERS_PER_INCH,Decimeter:.1/i.SuperMap.METERS_PER_INCH,Millimeter:.001/i.SuperMap.METERS_PER_INCH,Dekameter:10/i.SuperMap.METERS_PER_INCH,Decameter:10/i.SuperMap.METERS_PER_INCH,Hectometer:100/i.SuperMap.METERS_PER_INCH,GermanMeter:1.0000135965/i.SuperMap.METERS_PER_INCH,CaGrid:.999738/i.SuperMap.METERS_PER_INCH,ClarkeChain:20.1166194976/i.SuperMap.METERS_PER_INCH,GunterChain:20.11684023368047/i.SuperMap.METERS_PER_INCH,BenoitChain:20.116782494375872/i.SuperMap.METERS_PER_INCH,SearsChain:20.11676512155/i.SuperMap.METERS_PER_INCH,ClarkeLink:.201166194976/i.SuperMap.METERS_PER_INCH,GunterLink:.2011684023368047/i.SuperMap.METERS_PER_INCH,BenoitLink:.20116782494375873/i.SuperMap.METERS_PER_INCH,SearsLink:.2011676512155/i.SuperMap.METERS_PER_INCH,Rod:5.02921005842012/i.SuperMap.METERS_PER_INCH,IntnlChain:20.1168/i.SuperMap.METERS_PER_INCH,IntnlLink:.201168/i.SuperMap.METERS_PER_INCH,Perch:5.02921005842012/i.SuperMap.METERS_PER_INCH,Pole:5.02921005842012/i.SuperMap.METERS_PER_INCH,Furlong:201.1684023368046/i.SuperMap.METERS_PER_INCH,Rood:3.778266898/i.SuperMap.METERS_PER_INCH,CapeFoot:.3047972615/i.SuperMap.METERS_PER_INCH,Brealey:375/i.SuperMap.METERS_PER_INCH,ModAmFt:.304812252984506/i.SuperMap.METERS_PER_INCH,Fathom:1.8288/i.SuperMap.METERS_PER_INCH,"NautM-UK":1853.184/i.SuperMap.METERS_PER_INCH,"50kilometers":5e4/i.SuperMap.METERS_PER_INCH,"150kilometers":15e4/i.SuperMap.METERS_PER_INCH}),i.SuperMap.Util.extend(i.SuperMap.INCHES_PER_UNIT,{mm:i.SuperMap.INCHES_PER_UNIT.Meter/1e3,cm:i.SuperMap.INCHES_PER_UNIT.Meter/100,dm:100*i.SuperMap.INCHES_PER_UNIT.Meter,km:1e3*i.SuperMap.INCHES_PER_UNIT.Meter,kmi:i.SuperMap.INCHES_PER_UNIT.nmi,fath:i.SuperMap.INCHES_PER_UNIT.Fathom,ch:i.SuperMap.INCHES_PER_UNIT.IntnlChain,link:i.SuperMap.INCHES_PER_UNIT.IntnlLink,"us-in":i.SuperMap.INCHES_PER_UNIT.inches,"us-ft":i.SuperMap.INCHES_PER_UNIT.Foot,"us-yd":i.SuperMap.INCHES_PER_UNIT.Yard,"us-ch":i.SuperMap.INCHES_PER_UNIT.GunterChain,"us-mi":i.SuperMap.INCHES_PER_UNIT.Mile,"ind-yd":i.SuperMap.INCHES_PER_UNIT.IndianYd37,"ind-ft":i.SuperMap.INCHES_PER_UNIT.IndianFt37,"ind-ch":20.11669506/i.SuperMap.METERS_PER_INCH}),i.SuperMap.DOTS_PER_INCH=96,i.SuperMap.Util.normalizeScale=function(t){return t>1?1/t:t},i.SuperMap.Util.getResolutionFromScale=function(t,e){var o;t&&(null==e&&(e="degrees"),o=1/(i.SuperMap.Util.normalizeScale(t)*i.SuperMap.INCHES_PER_UNIT[e]*i.SuperMap.DOTS_PER_INCH));return o},i.SuperMap.Util.getScaleFromResolution=function(t,e){return null==e&&(e="degrees"),t*i.SuperMap.INCHES_PER_UNIT[e]*i.SuperMap.DOTS_PER_INCH},i.SuperMap.IS_GECKO=-1===(l=navigator.userAgent.toLowerCase()).indexOf("webkit")&&-1!==l.indexOf("gecko"),i.SuperMap.Browser=function(){var t,e="",o="",n="pc",i=navigator.userAgent.toLowerCase();return i.indexOf("msie")>-1||i.indexOf("trident")>-1&&i.indexOf("rv")>-1?(e="msie",t=i.match(/msie ([\d.]+)/)||i.match(/rv:([\d.]+)/)):i.indexOf("chrome")>-1?(e="chrome",t=i.match(/chrome\/([\d.]+)/)):i.indexOf("firefox")>-1?(e="firefox",t=i.match(/firefox\/([\d.]+)/)):i.indexOf("opera")>-1?(e="opera",t=i.match(/version\/([\d.]+)/)):i.indexOf("safari")>-1&&(e="safari",t=i.match(/version\/([\d.]+)/)),o=t?t[1]:"",i.indexOf("ipad")>-1||i.indexOf("ipod")>-1||i.indexOf("iphone")>-1?n="apple":i.indexOf("android")>-1&&(o=(t=i.match(/version\/([\d.]+)/))?t[1]:"",n="android"),{name:e,version:o,device:n}}(),i.SuperMap.Util.getBrowser=function(){return i.SuperMap.Browser},i.SuperMap.Util.isSupportCanvas=(r=!0,a=i.SuperMap.Util.getBrowser(),document.createElement("canvas").getContext?("firefox"===a.name&&parseFloat(a.version)<5&&(r=!1),"safari"===a.name&&parseFloat(a.version)<4&&(r=!1),"opera"===a.name&&parseFloat(a.version)<10&&(r=!1),"msie"===a.name&&parseFloat(a.version)<9&&(r=!1)):r=!1,r),i.SuperMap.Util.supportCanvas=function(){return i.SuperMap.Util.isSupportCanvas},i.SuperMap.INCHES_PER_UNIT.degree=i.SuperMap.INCHES_PER_UNIT.dd,i.SuperMap.INCHES_PER_UNIT.meter=i.SuperMap.INCHES_PER_UNIT.m,i.SuperMap.INCHES_PER_UNIT.foot=i.SuperMap.INCHES_PER_UNIT.ft,i.SuperMap.INCHES_PER_UNIT.inch=i.SuperMap.INCHES_PER_UNIT.inches,i.SuperMap.INCHES_PER_UNIT.mile=i.SuperMap.INCHES_PER_UNIT.mi,i.SuperMap.INCHES_PER_UNIT.kilometer=i.SuperMap.INCHES_PER_UNIT.km,i.SuperMap.INCHES_PER_UNIT.yard=i.SuperMap.INCHES_PER_UNIT.yd,i.SuperMap.Util.isInTheSameDomain=function(t){if(!t)return!0;var e=t.indexOf("//"),o=document.location.toString(),n=o.indexOf("//");if(-1===e)return!0;var i,l=i=t.substring(0,e),r=o.substring(n+2);n=r.indexOf("/");var a=r.indexOf(":"),s=r.substring(0,n),u=document.location.protocol;if(-1!==a||(s+=":"+("http:"===u.toLowerCase()?80:443)),u.toLowerCase()!==l.toLowerCase())return!1;var p=(l=t.substring(e+2)).indexOf(":");e=l.indexOf("/");var c,y=l.substring(0,e);return-1!==p?c=l.substring(0,p):(c=l.substring(0,e),y+=":"+("http:"===i.toLowerCase()?80:443)),c===document.domain&&y===s},i.SuperMap.Util.calculateDpi=function(t,e,o,n,i){if(t&&e&&o){var l,r=t.getWidth(),a=t.getHeight(),s=e.w,u=e.h;if(i=i||6378137,"degree"===(n=n||"degrees").toLowerCase()||"degrees"===n.toLowerCase()||"dd"===n.toLowerCase()){var p=r/s,c=a/u;l=254/(p>c?p:c)/o/(2*Math.PI*i/360)/1e4}else{l=254/(r/s)/o/1e4}return l}},i.SuperMap.Util.toJSON=function(t){var e=t;if(null==e)return null;switch(e.constructor){case String:return e=(e=(e=(e=(e=(e=(e='"'+e.replace(/(["\\])/g,"\\$1")+'"').replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace("<","&lt;")).replace(">","&gt;")).replace(/%/g,"%25")).replace(/&/g,"%26");case Array:for(var o=[],l=0,r=e.length;l<r;l++)o.push(i.SuperMap.Util.toJSON(e[l]));return"["+o.join(",")+"]";case Number:return isFinite(e)?String(e):null;case Boolean:return String(e);case Date:return"{'__type':\"System.DateTime\",'Year':"+e.getFullYear()+",'Month':"+(e.getMonth()+1)+",'Day':"+e.getDate()+",'Hour':"+e.getHours()+",'Minute':"+e.getMinutes()+",'Second':"+e.getSeconds()+",'Millisecond':"+e.getMilliseconds()+",'TimezoneOffset':"+e.getTimezoneOffset()+"}";default:if(null!=e.toJSON&&"function"==typeof e.toJSON)return e.toJSON();if("object"===(void 0===e?"undefined":n(e))){if(e.length){for(var a=[],s=0,u=e.length;s<u;s++)a.push(i.SuperMap.Util.toJSON(e[s]));return"["+a.join(",")+"]"}var p=[];for(var c in e)"function"!=typeof e[c]&&"CLASS_NAME"!==c&&"parent"!==c&&p.push("'"+c+"':"+i.SuperMap.Util.toJSON(e[c]));return p.length>0?"{"+p.join(",")+"}":"{}"}return e.toString()}},i.SuperMap.Util.getResolutionFromScaleDpi=function(t,e,o,n){return n=n||6378137,o=o||"",t>0&&e>0?(t=i.SuperMap.Util.normalizeScale(t),"degree"===o.toLowerCase()||"degrees"===o.toLowerCase()||"dd"===o.toLowerCase()?254/e/t/(2*Math.PI*n/360)/1e4:254/e/t/1e4):-1},i.SuperMap.Util.getScaleFromResolutionDpi=function(t,e,o,n){return n=n||6378137,o=o||"",t>0&&e>0?"degree"===o.toLowerCase()||"degrees"===o.toLowerCase()||"dd"===o.toLowerCase()?254/e/t/(2*Math.PI*n/360)/1e4:254/e/t/1e4:-1},i.SuperMap.Util.transformResult=function(t){return t.responseText&&"string"==typeof t.responseText&&(t=JSON.parse(t.responseText)),t},i.SuperMap.Util.copyAttributes=function(t,e){if(t=t||{},e)for(var o in e){var n=e[o];void 0!==n&&"CLASS_NAME"!==o&&"function"!=typeof n&&(t[o]=n)}return t},i.SuperMap.Util.copyAttributesWithClip=function(t,e,o){if(t=t||{},e)for(var n in e){var i=!1;if(o&&o.length)for(var l=0,r=o.length;l<r;l++)if(n===o[l]){i=!0;break}if(!0!==i){var a=e[n];void 0!==a&&"CLASS_NAME"!==n&&"function"!=typeof a&&(t[n]=a)}}return t},i.SuperMap.Util.cloneObject=function(t){if(null===t||"object"!==(void 0===t?"undefined":n(t)))return t;if(t instanceof Date){var e=new Date;return e.setTime(t.getTime()),e}if(t instanceof Array)return t.slice(0);if(t instanceof Object){var o={};for(var l in t)t.hasOwnProperty(l)&&(o[l]=i.SuperMap.Util.cloneObject(t[l]));return o}throw new Error("Unable to copy obj! Its type isn't supported.")},i.SuperMap.Util.lineIntersection=function(t,e,o,n){var l,r,a=null,s=(n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x),u=(e.x-t.x)*(t.y-o.y)-(e.y-t.y)*(t.x-o.x),p=(n.y-o.y)*(e.x-t.x)-(n.x-o.x)*(e.y-t.y);if(0!=p)r=u/p,a=(l=s/p)>=0&&r<=1&&l<=1&&r>=0?new i.SuperMap.Geometry.Point(t.x+l*(e.x-t.x),t.y+l*(e.y-t.y)):"No Intersection";else if(0==s&&0==u){var c=Math.max(t.y,e.y),y=Math.min(t.y,e.y),h=Math.max(t.x,e.x),P=Math.min(t.x,e.x);a=(o.y>=y&&o.y<=c||n.y>=y&&n.y<=c)&&o.x>=P&&o.x<=h||n.x>=P&&n.x<=h?"Coincident":"Parallel"}else a="Parallel";return a},i.SuperMap.Util.getTextBounds=function(t,e,o){document.body.appendChild(o),o.style.width="auto",o.style.height="auto",t.fontSize&&(o.style.fontSize=t.fontSize),t.fontFamily&&(o.style.fontFamily=t.fontFamily),t.fontWeight&&(o.style.fontWeight=t.fontWeight),o.style.position="relative",o.style.visibility="hidden",o.style.display="inline-block",o.innerHTML=e;var n=o.clientWidth,i=o.clientHeight;return document.body.removeChild(o),{textWidth:n,textHeight:i}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ArrayExt=e.FunctionExt=e.NumberExt=e.StringExt=void 0;var n=o(0);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                           * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                           * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
-n.SuperMap.inherit=function(t,e){var o,i,l,r=function(){};for(r.prototype=e.prototype,t.prototype=new r,o=2,i=arguments.length;o<i;o++)"function"==typeof(l=arguments[o])&&(l=l.prototype),n.SuperMap.Util.extend(t.prototype,l)},n.SuperMap.mixin=function(){for(var t=arguments.length,e=Array(t),o=0;o<t;o++)e[o]=arguments[o];for(var n=function t(o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);for(var n=0;n<e.length;n++)r(this,new e[n](o))},i=0;i<e.length;i++){var l=e[i];r(n,l),r(n.prototype,l.prototype),r(n.prototype,new l)}return n;function r(t,e){var o=Object.getOwnPropertyNames(e);Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(e)));for(var n=0;n<o.length;n++){var i=o[n];if("constructor"!==i&&"prototype"!==i&&"name"!==i&&"length"!==i){var l=Object.getOwnPropertyDescriptor(e,i);window.ActiveXObject?Object.defineProperty(t,i,l||{}):Object.defineProperty(t,i,l)}}}};e.StringExt=n.SuperMap.String={startsWith:function(t,e){return 0==t.indexOf(e)},contains:function(t,e){return-1!=t.indexOf(e)},trim:function(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},camelize:function(t){for(var e=t.split("-"),o=e[0],n=1,i=e.length;n<i;n++){var l=e[n];o+=l.charAt(0).toUpperCase()+l.substring(1)}return o},format:function(t,e,o){e||(e=window);return t.replace(n.SuperMap.String.tokenRegEx,function(t,n){for(var i,l=n.split(/\.+/),r=0;r<l.length;r++)0==r&&(i=e),i=i[l[r]];return"function"==typeof i&&(i=o?i.apply(null,o):i()),void 0===i?"undefined":i})},tokenRegEx:/\$\{([\w.]+?)\}/g,numberRegEx:/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,isNumeric:function(t){return n.SuperMap.String.numberRegEx.test(t)},numericIf:function(t){return n.SuperMap.String.isNumeric(t)?parseFloat(t):t}};var i=e.NumberExt=n.SuperMap.Number={decimalSeparator:".",thousandsSeparator:",",limitSigDigs:function(t,e){var o=0;return e>0&&(o=parseFloat(t.toPrecision(e))),o},format:function(t,e,o,i){e=void 0!==e?e:0,o=void 0!==o?o:n.SuperMap.Number.thousandsSeparator,i=void 0!==i?i:n.SuperMap.Number.decimalSeparator,null!=e&&(t=parseFloat(t.toFixed(e)));var l=t.toString().split(".");1===l.length&&null==e&&(e=0);var r,a=l[0];if(o)for(var s=/(-?[0-9]+)([0-9]{3})/;s.test(a);)a=a.replace(s,"$1"+o+"$2");if(0==e)r=a;else{var u=l.length>1?l[1]:"0";null!=e&&(u+=new Array(e-u.length+1).join("0")),r=a+i+u}return r}};Number.prototype.limitSigDigs||(Number.prototype.limitSigDigs=function(t){return i.limitSigDigs(this,t)});e.FunctionExt=n.SuperMap.Function={bind:function(t,e){var o=Array.prototype.slice.apply(arguments,[2]);return function(){var n=o.concat(Array.prototype.slice.apply(arguments,[0]));return t.apply(e,n)}},bindAsEventListener:function(t,e){return function(o){return t.call(e,o||window.event)}},False:function(){return!1},True:function(){return!0},Void:function(){}},e.ArrayExt=n.SuperMap.Array={filter:function(t,e,o){var n=[];if(Array.prototype.filter)n=t.filter(e,o);else{var i=t.length;if("function"!=typeof e)throw new TypeError;for(var l=0;l<i;l++)if(l in t){var r=t[l];e.call(o,r,l,t)&&n.push(r)}}return n}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BasicAlgoSymbolFactory=void 0,o(55);e.BasicAlgoSymbolFactory=SuperMap.Plot.BasicAlgoSymbolFactory=SuperMap.Plot.BasicAlgoSymbolFactory||{};SuperMap.Plot.BasicAlgoSymbolFactory.getAlgoSymbol=function(t,e,o){if(0===t)switch(e){case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL:return new SuperMap.Plot.GeoTooltipBox(o);case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM:return new SuperMap.Plot.GeoTooltipBoxM(o);case SuperMap.Plot.SymbolType.PATHTEXT:return new SuperMap.Plot.PathText(o);case SuperMap.Plot.SymbolType.ARROWLINE:return new SuperMap.Plot.ArrowLine(o);case SuperMap.Plot.SymbolType.CURVEEIGHT:return new SuperMap.Plot.CurveEight(o);case SuperMap.Plot.SymbolType.RUNWAY:return new SuperMap.Plot.Runway(o);case SuperMap.Plot.SymbolType.CONCENTRICCIRCLE:return new SuperMap.Plot.ConcentricCircle(o);case SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE:return new SuperMap.Plot.CombinationalCircle(o);case SuperMap.Plot.SymbolType.FREECURVE:return new SuperMap.Plot.FreeCurve(o);case SuperMap.Plot.SymbolType.REGULARPOLYGON:return new SuperMap.Plot.RegularPolygon(o);case SuperMap.Plot.SymbolType.BRACESYMBOL:return new SuperMap.Plot.Brace(o);case SuperMap.Plot.SymbolType.TRAPEZOIDSYMBOL:return new SuperMap.Plot.Trapezoid(o);case SuperMap.Plot.SymbolType.SYMBOLTEXTBOX:return new SuperMap.Plot.SymbolTextBox(o);case SuperMap.Plot.SymbolType.NODECHAIN:return new SuperMap.Plot.NodeChain(o);case SuperMap.Plot.SymbolType.LINERELATION:return new SuperMap.Plot.LineRelation(o);case SuperMap.Plot.SymbolType.LINEMARKING:return new SuperMap.Plot.LineMarking(o);case SuperMap.Plot.SymbolType.POLYGONREGION:return new SuperMap.Plot.PolygonRegion(o);case SuperMap.Plot.SymbolType.WIRE:return new SuperMap.Plot.Wire(o);default:return new SuperMap.Plot.AlgoSymbol(o)}else if(22===t)switch(e){case 1001:return new SuperMap.Plot.AlgoSymbol1001(o);case 1002:return new SuperMap.Plot.AlgoSymbol1002(o);case 1003:return new SuperMap.Plot.AlgoSymbol1003(o);case 1004:return new SuperMap.Plot.AlgoSymbol1004(o);case 1005:return new SuperMap.Plot.AlgoSymbol1005(o);case 1006:return new SuperMap.Plot.AlgoSymbol1006(o);case 1007:return new SuperMap.Plot.AlgoSymbol1007(o);case 1008:return new SuperMap.Plot.AlgoSymbol1008(o);case 1009:return new SuperMap.Plot.AlgoSymbol1009(o);case 1010:return new SuperMap.Plot.AlgoSymbol1010(o);case 1011:return new SuperMap.Plot.AlgoSymbol1011(o);case 1012:return new SuperMap.Plot.AlgoSymbol1012(o);case 1013:return new SuperMap.Plot.AlgoSymbol1013(o);case 1014:return new SuperMap.Plot.AlgoSymbol1014(o);case 1015:return new SuperMap.Plot.AlgoSymbol1015(o);case 1016:return new SuperMap.Plot.AlgoSymbol1016(o);case 1017:return new SuperMap.Plot.AlgoSymbol1017(o);case 1018:return new SuperMap.Plot.AlgoSymbol1018(o);case 1019:return new SuperMap.Plot.AlgoSymbol1019(o);case 1020:return new SuperMap.Plot.AlgoSymbol1020(o);case 1021:return new SuperMap.Plot.AlgoSymbol1021(o);case 1022:return new SuperMap.Plot.AlgoSymbol1022(o);default:return null}else{if(421!==t)return null;switch(e){case 311:return new SuperMap.Plot.AlgoSymbol1004(o);case 315:return new SuperMap.Plot.AlgoSymbol315(o);case 317:return new SuperMap.Plot.AlgoSymbol1006(o);case 318:return new SuperMap.Plot.AlgoSymbol1002(o);case 319:return new SuperMap.Plot.AlgoSymbol15200(o);default:return null}}},SuperMap.Plot.BasicAlgoSymbolFactory.getSymbolWayType=function(t,e){if(0===t)switch(e){case SuperMap.Plot.SymbolType.POLYLINESYMBOL:case SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL:return SuperMap.Plot.AddPoint_WayType.POLYLINE;case SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL:case SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL:return SuperMap.Plot.AddPoint_WayType.CURVE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}else if(22===t)switch(e){case 1005:case 1008:case 1012:case 1014:return SuperMap.Plot.AddPoint_WayType.CURVE;case 1007:case 1009:case 1013:case 1015:case 1017:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}},SuperMap.Plot.BasicAlgoSymbolFactory.isAccessServer=function(t,e){if(0===t||22===t)return!1;if(421!==t)return!0;switch(e){case 311:case 317:case 318:case 315:case 319:return!1;default:return!0}},SuperMap.Plot.BasicAlgoSymbolFactory.getDefaultSubSymbols=function(){return[]},SuperMap.Plot.BasicAlgoSymbolFactory.getMinEditPts=function(t,e){if(0===t)switch(e){case SuperMap.Plot.SymbolType.TEXTSYMBOL:case SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE:return 1;case SuperMap.Plot.SymbolType.CIRCLESYMBOL:case SuperMap.Plot.SymbolType.RECTANGLESYMBOL:case SuperMap.Plot.SymbolType.POLYLINESYMBOL:case SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL:case SuperMap.Plot.SymbolType.KIDNEY:case SuperMap.Plot.SymbolType.ARROWLINE:case SuperMap.Plot.SymbolType.BRACESYMBOL:case SuperMap.Plot.SymbolType.CURVEEIGHT:case SuperMap.Plot.SymbolType.FREECURVE:case SuperMap.Plot.SymbolType.LINEMARKING:case SuperMap.Plot.SymbolType.LINERELATION:case SuperMap.Plot.SymbolType.NODECHAIN:case SuperMap.Plot.SymbolType.PATHTEXT:case SuperMap.Plot.SymbolType.REGULARPOLYGON:case SuperMap.Plot.SymbolType.RUNWAY:case SuperMap.Plot.SymbolType.SYMBOLTEXTBOX:case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM:case SuperMap.Plot.SymbolType.CONCENTRICCIRCLE:case SuperMap.Plot.SymbolType.WIRE:return 2;case SuperMap.Plot.SymbolType.ARCSYMBOL:case SuperMap.Plot.SymbolType.CHORDSYMBOL:case SuperMap.Plot.SymbolType.PIESYMBOL:case SuperMap.Plot.SymbolType.ELLIPSESYMBOL:case SuperMap.Plot.SymbolType.PARALLELOGRAM:case SuperMap.Plot.SymbolType.PARALLELLINE:case SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL:case SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL:case SuperMap.Plot.SymbolType.POLYGONREGION:case SuperMap.Plot.SymbolType.TRAPEZOIDSYMBOL:case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL:return 3}else if(22===t)switch(e){case 1001:case 1003:case 1005:case 1007:case 1008:case 1009:case 1011:case 1012:case 1013:case 1014:case 1015:case 1016:case 1017:case 1019:case 1020:case 1022:return 2;case 1002:case 1004:case 1006:case 1010:case 1018:case 1021:return 3}else if(421===t)switch(e){case 319:return 2;case 311:case 315:case 317:case 318:return 3}},SuperMap.Plot.BasicAlgoSymbolFactory.getMaxEditPts=function(t,e){if(0===t)switch(e){case SuperMap.Plot.SymbolType.TEXTSYMBOL:return 1;case SuperMap.Plot.SymbolType.CIRCLESYMBOL:case SuperMap.Plot.SymbolType.RECTANGLESYMBOL:case SuperMap.Plot.SymbolType.BRACESYMBOL:case SuperMap.Plot.SymbolType.LINEMARKING:case SuperMap.Plot.SymbolType.LINERELATION:case SuperMap.Plot.SymbolType.RUNWAY:case SuperMap.Plot.SymbolType.SYMBOLTEXTBOX:case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM:return 2;case SuperMap.Plot.SymbolType.ARCSYMBOL:case SuperMap.Plot.SymbolType.CHORDSYMBOL:case SuperMap.Plot.SymbolType.PIESYMBOL:case SuperMap.Plot.SymbolType.ELLIPSESYMBOL:case SuperMap.Plot.SymbolType.PARALLELOGRAM:case SuperMap.Plot.SymbolType.KIDNEY:case SuperMap.Plot.SymbolType.CONCENTRICCIRCLE:case SuperMap.Plot.SymbolType.CURVEEIGHT:case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL:case SuperMap.Plot.SymbolType.TRAPEZOIDSYMBOL:return 3;case SuperMap.Plot.SymbolType.POLYLINESYMBOL:case SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL:case SuperMap.Plot.SymbolType.PARALLELLINE:case SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL:case SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL:case SuperMap.Plot.SymbolType.ARROWLINE:case SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE:case SuperMap.Plot.SymbolType.FREECURVE:case SuperMap.Plot.SymbolType.NODECHAIN:case SuperMap.Plot.SymbolType.PATHTEXT:case SuperMap.Plot.SymbolType.POLYGONREGION:case SuperMap.Plot.SymbolType.REGULARPOLYGON:case SuperMap.Plot.SymbolType.WIRE:return 9999}else if(22===t)switch(e){case 1003:case 1019:case 1020:case 1022:return 2;case 1006:case 1021:return 4;case 1001:case 1002:case 1004:case 1005:case 1007:case 1008:case 1009:case 1010:case 1011:case 1012:case 1013:case 1014:case 1015:case 1016:case 1017:case 1018:return 99999}else if(421===t)switch(e){case 317:return 4;case 311:case 315:case 318:case 319:return 99999}},SuperMap.Plot.BasicAlgoSymbolFactory.getDefaultStyle=function(){return{}},SuperMap.Plot.BasicAlgoSymbolFactory.canSetSubSymbol=function(t,e){return SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(t,e).length>0||0===this.libID&&this.code===SuperMap.Plot.SymbolType.NODECHAIN},SuperMap.Plot.BasicAlgoSymbolFactory.zoomInCalSymbol=function(){if(22!==libID)return!1;switch(code){case 1012:case 1013:case 1014:case 1015:return!0;default:return!1}},SuperMap.Plot.BasicAlgoSymbolFactory.zoomCalSymbol=function(){return!1},SuperMap.Plot.BasicAlgoSymbolFactory.getSymbolName=function(t,e){var o="";if(0===t)switch(e){case SuperMap.Plot.SymbolType.TEXTSYMBOL:o="文本";break;case SuperMap.Plot.SymbolType.CIRCLESYMBOL:o="圆";break;case SuperMap.Plot.SymbolType.RECTANGLESYMBOL:o="矩形";break;case SuperMap.Plot.SymbolType.ARCSYMBOL:o="弧线";break;case SuperMap.Plot.SymbolType.CHORDSYMBOL:o="弓形";break;case SuperMap.Plot.SymbolType.PIESYMBOL:o="扇形";break;case SuperMap.Plot.SymbolType.ELLIPSESYMBOL:o="椭圆";break;case SuperMap.Plot.SymbolType.PARALLELOGRAM:o="平行四边形";break;case SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL:o="多边形";break;case SuperMap.Plot.SymbolType.POLYLINESYMBOL:o="折线";break;case SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL:o="贝赛尔曲线";break;case SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL:o="闭合贝塞尔曲线";break;case SuperMap.Plot.SymbolType.PARALLELLINE:o="平行线";break;case SuperMap.Plot.SymbolType.KIDNEY:o="集结地";break;case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL:o="注记指示框";break;case SuperMap.Plot.SymbolType.ARROWLINE:o="箭头线";break;case SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE:o="组合圆";break;case SuperMap.Plot.SymbolType.CONCENTRICCIRCLE:o="同心圆";break;case SuperMap.Plot.SymbolType.CURVEEIGHT:o="八字形";break;case SuperMap.Plot.SymbolType.FREECURVE:o="自由线";break;case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM:o="多角标注框";break;case SuperMap.Plot.SymbolType.LINEMARKING:o="线型标注";break;case SuperMap.Plot.SymbolType.LINERELATION:o="对象间连线";break;case SuperMap.Plot.SymbolType.NODECHAIN:o="节点链";break;case SuperMap.Plot.SymbolType.PATHTEXT:o="沿线注记";break;case SuperMap.Plot.SymbolType.POLYGONREGION:o="多边形区域管理";break;case SuperMap.Plot.SymbolType.RUNWAY:o="跑道线";break;case SuperMap.Plot.SymbolType.SYMBOLTEXTBOX:o="标注框";break;case SuperMap.Plot.SymbolType.REGULARPOLYGON:o="正多边形";break;case SuperMap.Plot.SymbolType.BRACESYMBOL:o="大括号";break;case SuperMap.Plot.SymbolType.TRAPEZOIDSYMBOL:o="梯形";break;case SuperMap.Plot.SymbolType.WIRE:o="铁丝网"}return o}},function(t,e,o){"use strict";var n,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"===("undefined"==typeof window?"undefined":i(window))&&(n=window)}t.exports=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FetchRequest=e.getRequestTimeout=e.setRequestTimeout=e.isCORS=e.setCORS=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                               * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                               * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/o(113),o(108);var i,l=o(107),r=(i=l)&&i.__esModule?i:{default:i},a=o(0),s=o(1);var u=window.fetch,p=(e.setCORS=a.SuperMap.setCORS=function(t){a.SuperMap.CORS=t},e.isCORS=a.SuperMap.isCORS=function(){return void 0!=a.SuperMap.CORS?a.SuperMap.CORS:window.XMLHttpRequest&&"withCredentials"in new window.XMLHttpRequest}),c=(e.setRequestTimeout=a.SuperMap.setRequestTimeout=function(t){return a.SuperMap.RequestTimeout=t},e.getRequestTimeout=a.SuperMap.getRequestTimeout=function(){return a.SuperMap.RequestTimeout||45e3});e.FetchRequest=a.SuperMap.FetchRequest={commit:function(t,e,o,n){switch(t=t?t.toUpperCase():t){case"GET":return this.get(e,o,n);case"POST":return this.post(e,o,n);case"PUT":return this.put(e,o,n);case"DELETE":return this.delete(e,o,n);default:return this.get(e,o,n)}},supportDirectRequest:function(t,e){return s.Util.isInTheSameDomain(t)||p()||e.proxy},get:function(t,e,o){o=o||{};if(t=this._processUrl(t,o),t=s.Util.urlAppend(t,this._getParameterString(e||{})),!this.supportDirectRequest(t,o)){var n={url:t=t.replace(".json",".jsonp"),data:e};return a.SuperMap.Util.RequestJSONPPromise.GET(n)}return this.urlIsLong(t)?this._postSimulatie("GET",t.substring(0,t.indexOf("?")-1),e,o):this._fetch(t,e,o,"GET")},delete:function(t,e,o){o=o||{};if(t=this._processUrl(t,o),t=s.Util.urlAppend(t,this._getParameterString(e||{})),!this.supportDirectRequest(t,o)){t=t.replace(".json",".jsonp");var n={url:t+="&_method=DELETE",data:e};return a.SuperMap.Util.RequestJSONPPromise.DELETE(n)}return this.urlIsLong(t)?this._postSimulatie("DELETE",t.substring(0,t.indexOf("?")-1),e,o):this._fetch(t,e,o,"DELETE")},post:function(t,e,o){if(o=o||{},!this.supportDirectRequest(t,o)){t=t.replace(".json",".jsonp");var n={url:t+="&_method=POST",data:e};return a.SuperMap.Util.RequestJSONPPromise.POST(n)}return this._fetch(this._processUrl(t,o),e,o,"POST")},put:function(t,e,o){if(o=o||{},t=this._processUrl(t,o),!this.supportDirectRequest(t,o)){t=t.replace(".json",".jsonp");var n={url:t+="&_method=PUT",data:e};return a.SuperMap.Util.RequestJSONPPromise.DELETE(n)}return this._fetch(t,e,o,"PUT")},urlIsLong:function(t){for(var e=0,o=null,n=0,i=t.length;n<i;n++)(o=t.charCodeAt(n))<127?e++:128<=o&&o<=2047?e+=2:2048<=o&&o<=65535&&(e+=3);return!(e<2e3)},_postSimulatie:function(t,e,o,n){return e+=(e.indexOf("?")>-1?"&":"?")+"_method="+t,"string"!=typeof o&&(o=JSON.stringify(o)),this.post(e,o,n)},_processUrl:function(t,e){if(this._isMVTRequest(t))return t;if(-1===t.indexOf(".json")&&!e.withoutFormatSuffix)if(t.indexOf("?")<0)t+=".json";else{var o=t.split("?");2===o.length&&(t=o[0]+".json?"+o[1])}return e&&e.proxy&&("function"==typeof e.proxy?t=e.proxy(t):(t=decodeURIComponent(t),t=e.proxy+encodeURIComponent(t))),t},_fetch:function(t,e,o,n){return(o=o||{}).headers=o.headers||{},o.headers["Content-Type"]||(o.headers["Content-Type"]="application/x-www-form-urlencoded;charset=UTF-8"),o.timeout?this._timeout(o.timeout,u(t,{method:n,headers:o.headers,body:"PUT"===n||"POST"===n?e:void 0,credentials:o.withCredentials?"include":"omit",mode:"cors",timeout:c()}).then(function(t){return t})):u(t,{method:n,body:"PUT"===n||"POST"===n?e:void 0,headers:o.headers,credentials:o.withCredentials?"include":"omit",mode:"cors",timeout:c()}).then(function(t){return t})},_fetchJsonp:function(t,e){return e=e||{},(0,r.default)(t,{method:"GET",timeout:e.timeout}).then(function(t){return t})},_timeout:function(t,e){return new Promise(function(o,n){setTimeout(function(){n(new Error("timeout"))},t),e.then(o,n)})},_getParameterString:function(t){var e=[];for(var o in t){var i=t[o];if(null!=i&&"function"!=typeof i){var l;if("object"===(void 0===i?"undefined":n(i))&&i.constructor===Array){for(var r,a=[],s=0,u=i.length;s<u;s++)r=i[s],a.push(encodeURIComponent(null===r||void 0===r?"":r));l="["+a.join(",")+"]"}else l=encodeURIComponent(i);e.push(encodeURIComponent(o)+"="+l)}}return e.join("&")},_isMVTRequest:function(t){return t.indexOf(".mvt")>-1||t.indexOf(".pbf")>-1}};a.SuperMap.Util.RequestJSONPPromise={limitLength:1500,queryKeys:[],queryValues:[],supermap_callbacks:{},addQueryStrings:function(t){for(var e in t){this.queryKeys.push(e),"string"!=typeof t[e]&&(t[e]=a.SuperMap.Util.toJSON(t[e]));var o=encodeURIComponent(t[e]);this.queryValues.push(o)}},issue:function(t){for(var e=this,o=e.getUid(),n=t.url,i=[],l=new Promise(function(t){e.supermap_callbacks[o]=function(n){delete e.supermap_callbacks[o],t(n)}}),r=n,a=0,s=e.queryKeys?e.queryKeys.length:0,u=0;u<s;u++)if(r.length+e.queryKeys[u].length+2>=e.limitLength){if(0==a)return!1;i.push(r),r=n,a=0,u--}else if(r.length+e.queryKeys[u].length+2+e.queryValues[u].length>e.limitLength)for(var p=e.queryValues[u];p.length>0;){var c=e.limitLength-r.length-e.queryKeys[u].length-2;r.indexOf("?")>-1?r+="&":r+="?";var y=p.substring(0,c);"%"===y.substring(c-1,c)?(c-=1,y=p.substring(0,c)):"%"===y.substring(c-2,c-1)&&(c-=2,y=p.substring(0,c)),r+=e.queryKeys[u]+"="+y,p=p.substring(c),y.length>0&&(i.push(r),r=n,a=0)}else a++,r.indexOf("?")>-1?r+="&":r+="?",r+=e.queryKeys[u]+"="+e.queryValues[u];return i.push(r),e.send(i,"SuperMap.Util.RequestJSONPPromise.supermap_callbacks["+o+"]",t&&t.proxy),l},getUid:function(){return 1e3*(new Date).getTime()+Math.floor(1e17*Math.random())},send:function(t,e,o){var n=t.length;if(n>0)for(var i=(new Date).getTime(),l=0;l<n;l++){var a=t[l];a.indexOf("?")>-1?a+="&":a+="?",a+="sectionCount="+n,a+="&sectionIndex="+l,a+="&jsonpUserID="+i,o&&(a=decodeURIComponent(a),a=o+encodeURIComponent(a)),(0,r.default)(a,{jsonpCallbackFunction:e,timeout:3e4})}},GET:function(t){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings(t.params),this.issue(t)},POST:function(t){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings({requestEntity:t.data}),this.issue(t)},PUT:function(t){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings({requestEntity:t.data}),this.issue(t)},DELETE:function(t){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings({requestEntity:t.data}),this.issue(t)}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Pixel=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var l=e.Pixel=function(){function t(e,o,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.x=e?parseFloat(e):0,this.y=o?parseFloat(o):0,this.mode=n,this.CLASS_NAME="SuperMap.Pixel",i.SuperMap.Pixel.Mode={LeftTop:"lefttop",RightTop:"righttop",RightBottom:"rightbottom",LeftBottom:"leftbottom"}}return n(t,[{key:"toString",value:function(){return"x="+this.x+",y="+this.y}},{key:"clone",value:function(){return new t(this.x,this.y,this.mode)}},{key:"equals",value:function(t){var e=!1;return null!=t&&(e=this.x==t.x&&this.y==t.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(t.x)&&isNaN(t.y)),e}},{key:"distanceTo",value:function(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))}},{key:"add",value:function(e,o){if(null==e||null==o)throw new TypeError("Pixel.add cannot receive null values");return new t(this.x+e,this.y+o)}},{key:"offset",value:function(t){var e=this.clone();return t&&(e=this.add(t.x,t.y)),e}},{key:"destroy",value:function(){this.x=null,this.y=null,this.mode=null}}]),t}();i.SuperMap.Pixel=l},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbolFactory=void 0,o(3);e.AlgoSymbolFactory=SuperMap.Plot.AlgoSymbolFactory=SuperMap.Plot.AlgoSymbolFactory||{};SuperMap.Plot.AlgoSymbolFactory.getAlgoSymbol=function(t){var e=t.libID,o=t.code;return 0!==e&&22!==e&&421!==e||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===e&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.getAlgoSymbol(e,o,t):123===e&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.getAlgoSymbol(e,o,t):999===e&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.getAlgoSymbol(e,o,t):null:SuperMap.Plot.BasicAlgoSymbolFactory.getAlgoSymbol(e,o,t)},SuperMap.Plot.AlgoSymbolFactory.getSymbolWayType=function(t,e){if(0===t)switch(e){case SuperMap.Plot.SymbolType.POLYLINESYMBOL:case SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL:return SuperMap.Plot.AddPoint_WayType.POLYLINE;case SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL:case SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL:return SuperMap.Plot.AddPoint_WayType.CURVE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}if(22===t)switch(e){case 1005:case 1008:case 1012:case 1014:return SuperMap.Plot.AddPoint_WayType.CURVE;case 1007:case 1009:case 1013:case 1015:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}if(100===t){if(void 0!==SuperMap.Plot.JBAlgoSymbolFactory)return SuperMap.Plot.JBAlgoSymbolFactory.getSymbolWayType(t,e);switch(e){case 15200:case 15201:case 16203:case 17703:case 17704:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 21900:case 22e3:case 22103:case 23800:case 24700:case 25201:case 25400:case 25601:case 25801:case 25901:case 26500:case 26501:case 26502:case 26503:case 26600:case 28900:case 29e3:case 29003:case 29903:case 3e4:case 30001:case 30002:case 30100:case 30102:case 30200:case 30201:case 30800:case 31803:case 33400:case 34900:case 34901:case 34902:case 35e3:case 36400:case 44200:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 3010301:case 3010302:case 3010303:case 3010304:return SuperMap.Plot.AddPoint_WayType.CURVE;case 12500:case 12502:case 16100:case 20300:case 25501:case 25502:case 25503:case 32900:case 34700:case 35200:case 36401:case 41200:case 41201:case 41202:case 42700:case 44400:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}}if(123===t){if(void 0!==SuperMap.Plot.WJAlgoSymbolFactory)return SuperMap.Plot.WJAlgoSymbolFactory.getSymbolWayType(t,e);switch(e){case 21003:case 21207:case 2120701:case 2121503:case 21218:case 30008:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 30009:case 5021803:case 5022001:case 5022002:case 40301:case 4030101:case 4030102:case 4030103:case 4030104:case 40303:case 4030301:case 4030302:case 4030303:case 50101:case 5010101:case 50102:case 5010201:case 5010202:case 5010203:case 5010204:case 50103:case 5010301:case 5010302:case 5010303:case 5010304:case 50107:case 5010701:case 50210:case 50220:case 50221:case 50225:case 5030102:case 50303:case 5030301:case 50309:case 50320:case 5032001:case 5032002:case 5032003:case 50321:case 5032101:case 5032102:case 50322:case 5032201:case 50330:case 5033001:case 5034203:case 5035201:case 5035204:case 60205:case 90105:return SuperMap.Plot.AddPoint_WayType.CURVE;case 20915:case 2091502:case 2092101:case 2120702:case 21216:case 2121601:case 2121602:case 21605:case 30010:case 30011:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 30012:case 30020:case 3002001:case 3002002:case 3002005:case 30025:case 3002501:case 30026:case 40104:case 40302:case 4030201:case 4030202:case 4030203:case 4030204:case 50227:case 5035205:case 60301:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 70202:case 7020201:case 7020202:case 90107:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}}},SuperMap.Plot.AlgoSymbolFactory.isAccessServer=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.isAccessServer(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.isAccessServer(t,e):999!==t||void 0===SuperMap.Plot.YJAlgoSymbolFactory||SuperMap.Plot.YJAlgoSymbolFactory.isAccessServer(t,e):SuperMap.Plot.BasicAlgoSymbolFactory.isAccessServer(t,e)},SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols=function(t,e){return 100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.getDefaultSubSymbols(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.getDefaultSubSymbols(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.getDefaultSubSymbols(t,e):[]},SuperMap.Plot.AlgoSymbolFactory.getMinEditPts=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.getMinEditPts(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.getMinEditPts(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.getMinEditPts(t,e):0:SuperMap.Plot.BasicAlgoSymbolFactory.getMinEditPts(t,e)},SuperMap.Plot.AlgoSymbolFactory.getMaxEditPts=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.getMaxEditPts(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.getMaxEditPts(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.getMaxEditPts(t,e):0:SuperMap.Plot.BasicAlgoSymbolFactory.getMaxEditPts(t,e)},SuperMap.Plot.AlgoSymbolFactory.getDefaultStyle=function(t,e){return 100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.getDefaultStyle(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.getDefaultStyle(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.getDefaultStyle(t,e):{}},SuperMap.Plot.AlgoSymbolFactory.getSymbolName=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?"":SuperMap.Plot.BasicAlgoSymbolFactory.getSymbolName(t,e)},SuperMap.Plot.AlgoSymbolFactory.canPolylineConnect=function(t,e){return 100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory&&SuperMap.Plot.JBAlgoSymbolFactory.canPolylineConnect(t,e)},SuperMap.Plot.AlgoSymbolFactory.canSetSubSymbol=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.canSetSubSymbol(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.canSetSubSymbol(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory&&SuperMap.Plot.YJAlgoSymbolFactory.canSetSubSymbol(t,e):SuperMap.Plot.BasicAlgoSymbolFactory.canSetSubSymbol(t,e)},SuperMap.Plot.AlgoSymbolFactory.zoomInCalSymbol=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.zoomInCalSymbol(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.zoomInCalSymbol(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.zoomInCalSymbol(t,e):0:SuperMap.Plot.BasicAlgoSymbolFactory.zoomInCalSymbol(t,e)},SuperMap.Plot.AlgoSymbolFactory.zoomCalSymbol=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.zoomCalSymbol(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.zoomCalSymbol(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.zoomCalSymbol(t,e):0:SuperMap.Plot.BasicAlgoSymbolFactory.zoomCalSymbol(t,e)}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol15200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.05),o.scaleValues.push(0),o.scaleValues.push(.185)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var o=0,n=0,i=e.length-1;n<i;n++)o+=SuperMap.Plot.PlottingUtil.distance(e[n],e[n+1]);for(var l=0,r=0,a=t.length-1;r<a;r++)l+=SuperMap.Plot.PlottingUtil.distance(t[r],t[r+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());for(var s=this.scaleValues[0]*l,u=this.scaleValues[1],p=this.scaleValues[2]*l,c=.3*p,y=p;y<o;y+=p){var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(y,e);if(-1===h.index)return void this.finish();var P=y+c,f=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e);if(-1===f.index)return void this.finish();var S=[],d=[];S.push(h.pts);var g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[h.index],h.pts);0===u?S.push(new SuperMap.Geometry.Point(g.pntLeft.x,g.pntLeft.y)):S.push(new SuperMap.Geometry.Point(g.pntRight.x,g.pntRight.y)),d.push(f.pts);var M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[f.index],f.pts);if(0===u?d.push(new SuperMap.Geometry.Point(M.pntLeft.x,M.pntLeft.y)):d.push(new SuperMap.Geometry.Point(M.pntRight.x,M.pntRight.y)),p===y){this.scalePoints=[];var m=new SuperMap.Geometry.Point(S[1].x,S[1].y);m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m),(m=new SuperMap.Geometry.Point(S[0].x,S[0].y)).isScalePoint=!0,m.tag=1,this.scalePoints.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;for(var n=0,i=0,l=o.length-1;i<l;i++)n+=SuperMap.Plot.PlottingUtil.distance(o[i],o[i+1]);var r=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o),a=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,n*this.scaleValues[2]);if(-1===s.index)return;var u=SuperMap.Plot.PlottingUtil.distance(s.pt,a)/n,p=SuperMap.Plot.PlottingUtil.pointIsRightToLine(r[0],r[1],e);this.scaleValues[1]=p?1:0,this.scaleValues[0]=u}else if(1===t){for(var c=0,y=-1,h=[],P=0,f=r.length-1;P<f;P++){var S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,r[P],r[P+1]);if(S.isOnline){var d=SuperMap.Plot.PlottingUtil.distance(S.projectPoint,this.controlPoints[1]);0==c?(c=d,y=P,h=e):d<c&&(c=d,y=P,h=e)}}if(-1==y)return;for(var g=0,M=0,m=y-1;M<m;M++)g+=SuperMap.Plot.PlottingUtil.distance(r[M],r[M+1]);var v=(g+=SuperMap.Plot.PlottingUtil.distance(h,r[y]))/n;v>.7&&(v=.7),this.scaleValues[2]=v}}}}]),e}();SuperMap.Plot.AlgoSymbol15200=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol315=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0!==o.scaleValues.length&&(o.scaleValues=[],o.scaleValues.push(.2),o.scaleValues.push(.2),o.scaleValues.push(.4),o.scaleValues.push(.4),o.scaleValues.push(.1),o.scaleValues.push(.2),o.scaleValues.push(.1),o.scaleValues.push(.2),o.scaleValues.push(1),o.scaleValues.push(1)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol315",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){for(var e=0,o=0;o<t.length-1;o++)e+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments),this.scaleValues.length<9&&(this.scaleValues=[],this.scaleValues.push(.2),this.scaleValues.push(.2),this.scaleValues.push(.4),this.scaleValues.push(.4),this.scaleValues.push(.1),this.scaleValues.push(.2),this.scaleValues.push(.1),this.scaleValues.push(.2),this.scaleValues.push(1),this.scaleValues.push(1));var n,i=e*this.scaleValues[4],l=e*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),a=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],r+l);n=(this.scaleValues[8],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],a));var s,u=e*this.scaleValues[6],p=e*this.scaleValues[7],c=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],r+p);s=(this.scaleValues[9],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(u,t[0],c));var y=[];y.push(new SuperMap.Geometry.Point(n.pntLeft.x,n.pntLeft.y)),y.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),y.push(new SuperMap.Geometry.Point(t[1].x,t[1].y)),y.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y));var h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(y);h=SuperMap.Plot.PlottingUtil.clearSamePts(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),this.addScalePoint(n.pntLeft,3),this.addScalePoint(s.pntRight,4)}}},{key:"modifyPoint",value:function(t,o){if(!0===o.isScalePoint){var n=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);n=SuperMap.Plot.PlottingUtil.clearSamePts(n);var i=SuperMap.Plot.PlottingUtil.polylineDistance(n),l=SuperMap.Plot.PlottingUtil.projectPoint(o,n[0],n[1]);if(t<=2&&(SuperMap.Plot.AlgoSymbol1004.prototype.modifyPoint.apply(this,arguments),function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"modifyPoint",this).call(this,t,o)),3===t){var r=SuperMap.Plot.PlottingUtil.distance(o,l)/i,a=SuperMap.Plot.PlottingUtil.distance(l,n[0])/i;this.scaleValues[4]=r,this.scaleValues[5]=a,SuperMap.Plot.PlottingUtil.pointIsRightToLine(n[0],n[1],o)?this.scaleValues[8]=1:this.scaleValues[8]=0}if(4===t){var s=SuperMap.Plot.PlottingUtil.distance(o,l)/i,u=SuperMap.Plot.PlottingUtil.distance(l,n[1])/i;this.scaleValues[6]=s,this.scaleValues[7]=u,SuperMap.Plot.PlottingUtil.pointIsRightToLine(n[0],n[1],o)?this.scaleValues[9]=1:this.scaleValues[9]=0}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol315=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1022=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.05),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1022",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=e*this.scaleValues[0],n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1),l=SuperMap.Plot.PlottingUtil.findPointInLine(n[0],n[1],.6*e),r=SuperMap.Plot.PlottingUtil.findPointInLine(n[0],n[1],.5*e),a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.1*e,n[0],r).pntLeft;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[a,l,n[1]],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var s=SuperMap.Plot.PlottingUtil.findPointInLine(i[0],i[1],.4*e),u=SuperMap.Plot.PlottingUtil.findPointInLine(i[0],i[1],.5*e),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.1*e,i[0],u).pntRight;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[p,s,i[0]],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i[1],i[0]]),this.addScalePoint(n[0],0),this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(o[0],e)/n;this.scaleValues[0]=i}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1022=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1021=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.25),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1021",o.QIANJI_RATE1=9,o.QIANJI_RATE2=20,o.QIANJI_RATE4=5,o.QIANJI_RATE3=1/3,o.QIANJI_TAIL_RATE1=8,o.QIANJI_TAIL_RATE2=3,o.QIANJI_TAIL_RATE3=.6,o.SV1_Default=.25,o.SV1_MinValue=0,o.SV1_MaxValue=.5,o.DEFAULT_ARROW_TAIL_POS=.4,o.SCALE_VALUE_COUNT=1,o.MIN_LEN_LeftToRightCenter=1e-7,o.SCALE_AT=1/3,o.SCALE_ATAJ=1/7,o.SCALE_ATAE=1/3,o.SCALE_AW=2/3,o.SCALE_ATAJctrlDefSide=.8,o.SCALE_ATAJctrlSameSide=2/3,o.SCALE_MM_LEFT=.25,o.SCALE_MM_RIGHT=.75,o.BEZIER_K1=1/3,o.QIANJI_OPERATE_RATE1=1,o.m_dMaxDis=0,o.m_bIsAnimation=!1,o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.components=[],this.m_scalePoints=[],t.length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<3)){var e=SuperMap.Plot.PlottingUtil.clonePoints(t),o=this.arrowMeshs(e);o.LeftArowHead.unshift(o.LeftArowLeftBody[0][o.LeftArowLeftBody[0].length-1]),o.RightArowHead.unshift(o.RightArowLeftBody[o.RightArowLeftBody.length-1]),o.LeftArowLeftBody[0].push(o.LeftArowHead[0]),o.RightArowLeftBody.push(o.RightArowHead[0]),o.shapePts.push(o.shapePts[0]);var n=SuperMap.Plot.PlottingUtil.polylineDistance(o.LeftArowLeftBody[0]),i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.4*n,o.LeftArowLeftBody[0]),l=[],r=[];if(i.bfind)for(var a=0;a<=i.index;a++)l.push(o.LeftArowLeftBody[0][a]);var s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*n,o.LeftArowLeftBody[0]);if(s.bfind)for(var u=s.index;u<o.LeftArowLeftBody[0].length-1;u++)r.push(o.LeftArowLeftBody[0][u]);var p=SuperMap.Plot.PlottingUtil.polylineDistance(o.RightArowLeftBody),c=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.4*p,o.RightArowLeftBody),y=[],h=[];if(c.bfind)for(var P=0;P<=c.index;P++)y.push(o.RightArowLeftBody[P]);var f=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*p,o.RightArowLeftBody);if(f.bfind)for(var S=f.index;S<o.RightArowLeftBody.length-1;S++)h.push(o.RightArowLeftBody[S]);var d=SuperMap.Plot.PlottingUtil.polylineDistance(o.RightArowRightBody),g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.4*d,o.RightArowRightBody),M=[],m=[];if(g.bfind)for(var v=0;v<=g.index;v++)M.push(o.RightArowRightBody[v]);var b=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*d,o.RightArowRightBody);if(b.bfind)for(var T=b.index;T<o.RightArowRightBody.length-1;T++)m.push(o.RightArowRightBody[T]);o.shapePts.length>0&&(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o.shapePts,{strokeWidth:0,weight:0,lineWidthLimit:!0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o.LeftArowHead,{lineTypeLimit:!0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o.LeftArowRightBody),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o.RightArowHead,{lineTypeLimit:!0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m)),this.scalePoints=[];for(var A=0;A<this.m_scalePoints.length;A++)this.m_scalePoints[A].isScalePoint=!0,this.m_scalePoints[A].tag=A,this.scalePoints.push(this.m_scalePoints[A]);this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var n,i=SuperMap.Plot.PlottingUtil.operateControlPoints(o),l=new SuperMap.Geometry.Point((i[0].x+i[1].x)/2,(i[0].y+i[1].y)/2),r=new SuperMap.Geometry.Point((i[2].x+i[3].x)/2,(i[2].y+i[3].y)/2),a=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l,r);if(a.isOnline){var s=SuperMap.Plot.PlottingUtil.distance(a.projectPoint,l),u=SuperMap.Plot.PlottingUtil.distance(l,r);(n=SuperMap.Plot.PlottingUtil.equalFuzzy(s,0)?this.SV1_MinValue:s/u)>this.SV1_MaxValue&&(n=this.SV1_MaxValue)}else n=SuperMap.Plot.PlottingUtil.distance(a.projectPoint,l)<SuperMap.Plot.PlottingUtil.distance(a.projectPoint,r)?this.SV1_MinValue:this.SV1_MaxValue;this.scaleValues=[],this.scaleValues.push(n)}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=new SuperMap.Plot.Path2D,o=[];o=this.m_bIsAnimation&&4===t.length?SuperMap.Plot.PlottingUtil.clonePoints(t):SuperMap.Plot.PlottingUtil.operateControlPoints(t);var n=this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.distance(o[0],o[3]),l=SuperMap.Plot.PlottingUtil.distance(o[1],o[2]),r=o[1].clone(),a=.5*(o[0].x+o[3].x),s=.5*(o[0].y+o[3].y),u=new SuperMap.Geometry.Point(a,s),p=.5*(o[1].x+o[2].x),c=.5*(o[1].y+o[2].y),y=new SuperMap.Geometry.Point(p,c),h=SuperMap.Plot.PlottingUtil.distance(u,y);h<this.MIN_LEN_LeftToRightCenter&&(h=this.MIN_LEN_LeftToRightCenter),u.x=a+i*(a-p)/(h*this.QIANJI_RATE1),u.y=s+i*(s-c)/(h*this.QIANJI_RATE1),y.x=p+l*(p-a)/(h*this.QIANJI_RATE1),y.y=c+l*(c-s)/(h*this.QIANJI_RATE1);var P=new SuperMap.Geometry.Point(0,0),f=new SuperMap.Geometry.Point(0,0);P.x=a+i*(a-p)/(h*this.QIANJI_RATE2),P.y=s+i*(s-c)/(h*this.QIANJI_RATE2),f.x=p+l*(p-a)/(h*this.QIANJI_RATE2),f.y=c+l*(c-s)/(h*this.QIANJI_RATE2);var S=new SuperMap.Geometry.Point((o[0].x+o[1].x)/2,(o[0].y+o[1].y)/2),d=new SuperMap.Geometry.Point((o[2].x+o[3].x)/2,(o[2].y+o[3].y)/2),g=o[3].x-(o[3].x-u.x)*this.SCALE_AT,M=o[3].y-(o[3].y-u.y)*this.SCALE_AT,m=o[2].x-(o[2].x-y.x)*this.SCALE_AT,v=o[2].y-(o[2].y-y.y)*this.SCALE_AT,b=new SuperMap.Geometry.Point(0,0),T=new SuperMap.Geometry.Point(0,0),A=new SuperMap.Geometry.Point(0,0),L=new SuperMap.Geometry.Point(0,0);T.x=g-(M-o[3].y)*this.SCALE_ATAJ,T.y=M+(g-o[3].x)*this.SCALE_ATAJ,b.x=g+(M-o[3].y)*this.SCALE_ATAJ,b.y=M-(g-o[3].x)*this.SCALE_ATAJ,L.x=m-(v-o[2].y)*this.SCALE_ATAJ,L.y=v+(m-o[2].x)*this.SCALE_ATAJ,A.x=m+(v-o[2].y)*this.SCALE_ATAJ,A.y=v-(m-o[2].x)*this.SCALE_ATAJ;var O=new SuperMap.Geometry.Point(0,0),E=new SuperMap.Geometry.Point(0,0),x=new SuperMap.Geometry.Point(0,0),w=new SuperMap.Geometry.Point(0,0);O.x=3*b.x-2*g-(o[3].x-g)*this.SCALE_ATAE,O.y=3*b.y-2*M-(o[3].y-M)*this.SCALE_ATAE,E.x=3*T.x-2*g-(o[3].x-g)*this.SCALE_ATAE,E.y=3*T.y-2*M-(o[3].y-M)*this.SCALE_ATAE,x.x=3*A.x-2*m-(o[2].x-m)*this.SCALE_ATAE,x.y=3*A.y-2*v-(o[2].y-v)*this.SCALE_ATAE,w.x=3*L.x-2*m-(o[2].x-m)*this.SCALE_ATAE,w.y=3*L.y-2*v-(o[2].y-v)*this.SCALE_ATAE,u.x=a+i*(a-p)/(h*this.QIANJI_RATE4),u.y=s+i*(s-c)/(h*this.QIANJI_RATE4),y.x=p+l*(p-a)/(h*this.QIANJI_RATE4),y.y=c+l*(c-s)/(h*this.QIANJI_RATE4);var I=new SuperMap.Geometry.Point(0,0);I.x=o[0].x+(u.x-o[0].x)*this.SCALE_AW,I.y=o[0].y+(u.y-o[0].y)*this.SCALE_AW;var C=new SuperMap.Geometry.Point(0,0);C.x=o[1].x+(y.x-o[1].x)*this.SCALE_AW,C.y=o[1].y+(y.y-o[1].y)*this.SCALE_AW;var R=new SuperMap.Geometry.Point(0,0);R.x=b.x+(u.x-b.x)*this.SCALE_ATAJctrlSameSide,R.y=b.y+(u.y-b.y)*this.SCALE_ATAJctrlSameSide;var _=new SuperMap.Geometry.Point(0,0);_.x=L.x+(y.x-L.x)*this.SCALE_ATAJctrlSameSide,_.y=L.y+(y.y-L.y)*this.SCALE_ATAJctrlSameSide;var U=new SuperMap.Geometry.Point(0,0);U.x=T.x+(P.x-T.x)*this.SCALE_ATAJctrlDefSide,U.y=T.y+(P.y-T.y)*this.SCALE_ATAJctrlDefSide;var N=new SuperMap.Geometry.Point(0,0);N.x=A.x+(f.x-A.x)*this.SCALE_ATAJctrlDefSide,N.y=A.y+(f.y-A.y)*this.SCALE_ATAJctrlDefSide;var D=new SuperMap.Geometry.Point(0,0);D.x=S.x+(d.x-S.x)*n,D.y=S.y+(d.y-S.y)*n,this.m_scalePoints.push(new SuperMap.Geometry.Point(D.x,D.y));var B=new SuperMap.Geometry.Point(0,0),G=new SuperMap.Geometry.Point(0,0);B.x=o[0].x+(o[3].x-o[0].x)*n,B.y=o[0].y+(o[3].y-o[0].y)*n,G.x=o[1].x+(o[2].x-o[1].x)*n,G.y=o[1].y+(o[2].y-o[1].y)*n,B.x=B.x+(D.x-B.x)*this.QIANJI_RATE3,B.y=B.y+(D.y-B.y)*this.QIANJI_RATE3,G.x=G.x+(D.x-G.x)*this.QIANJI_RATE3,G.y=G.y+(D.y-G.y)*this.QIANJI_RATE3;var k=[];k.push(o[0].clone()),k.push(I.clone()),k.push(R.clone()),k.push(b.clone()),e.MoveTo(k[0]),e.CurveTo(k[1],k[2],k[3]);var V,Y=[],F=[],j=[],z=[],W=[],H=[],q=[];for(e.ToSubPathPolygons(q),Y.push(q[0]),V=q[0].length,e.LineTo(O),e.LineTo(o[3]),e.LineTo(E),(k=[]).push(T),k.push(U),k.push(B),k.push(D),e.LineTo(k[0]),q=[],e.ToSubPathPolygons(q);V<q[0].length;V++)F.push(q[0][V]);for(V=q[0].length,e.CurveTo(k[1],k[2],k[3]),q=[],e.ToSubPathPolygons(q);V<q[0].length;V++)j.push(q[0][V]);for(V=q[0].length,(k=[]).push(G),k.push(N),k.push(A),e.CurveTo(k[0],k[1],k[2]),q=[],e.ToSubPathPolygons(q);V<q[0].length;V++)z.push(q[0][V]);for(V=q[0].length,e.LineTo(x),e.LineTo(o[2]),e.LineTo(w),(k=[]).push(L),k.push(_),k.push(C),k.push(r),e.LineTo(k[0]),q=[],e.ToSubPathPolygons(q);V<q[0].length;V++)W.push(q[0][V]);for(V=q[0].length,e.CurveTo(k[1],k[2],k[3]),q=[],e.ToSubPathPolygons(q);V<q[0].length;V++)H.push(q[0][V]);return q=[],e.ToSubPathPolygons(q),{shapePts:q[0],LeftArowLeftBody:Y,LeftArowHead:F,LeftArowRightBody:j,ArowMidBody:[],RightArowLeftBody:z,RightArowHead:W,RightArowRightBody:H}}}]),e}();SuperMap.Plot.AlgoSymbol1021=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1020=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.5),o.scaleValues.push(.222222),o.scaleValues.push(.5),o.scaleValues.push(.5),o.scaleValues.push(.5)),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1020",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.222222),this.scaleValues.push(.5),this.scaleValues.push(.5),this.scaleValues.push(.5));var e=t[0].clone(),o=t[1].clone(),n=SuperMap.Plot.PlottingUtil.distance(e,o),i=this.scaleValues[0],l=new SuperMap.Geometry.Point(0,-n*i),r=new SuperMap.Geometry.Point(0,n*i),a=this.scaleValues[1],s=this.scaleValues[3],u=new SuperMap.Geometry.Point(n*(1-s),-n*a),p=new SuperMap.Geometry.Point(n*(1-s),n*a),c=this.scaleValues[2],y=this.scaleValues[4],h=new SuperMap.Geometry.Point(n*(1-y),-n*c),P=new SuperMap.Geometry.Point(n*(1-y),n*c),f=new SuperMap.Geometry.Point(n,0),S=SuperMap.Plot.PlottingUtil.radian(e,o),d=SuperMap.Plot.PlottingUtil.distance(l,u),g=SuperMap.Plot.PlottingUtil.findPointInLine(l,u,.3*d),M=SuperMap.Plot.PlottingUtil.findPointInLine(l,u,.4*d),m=SuperMap.Plot.PlottingUtil.distance(p,r),v=SuperMap.Plot.PlottingUtil.findPointInLine(p,r,.6*m),b=SuperMap.Plot.PlottingUtil.findPointInLine(p,r,.7*m),T=[];T.push(l),T.push(g),T.push(M),T.push(u),T.push(h),T.push(f),T.push(P),T.push(p),T.push(v),T.push(b),T.push(r);for(var A=[],L=0;L<T.length;L++){var O=SuperMap.Plot.PlottingUtil.coordinateTrans(e,T[L],S*SuperMap.Plot.PlottingUtil.RTOD);A.push(O)}for(var E=[],x=A.length-1;x>=0;--x)E.push(A[x]);var w=SuperMap.Plot.PlottingUtil.clonePoints(E);w.push(w[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,w,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E[0],E[1]]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E[2],E[3]]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E[3],E[4],E[5],E[6],E[7]],{lineTypeLimit:!0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E[7],E[8]]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E[9],E[10]]),this.scalePoints=[];var I=A[0].clone();I.isScalePoint=!0,I.tag=0,this.scalePoints.push(I);var C=A[3].clone();C.isScalePoint=!0,C.tag=1,this.scalePoints.push(C);var R=A[4].clone();R.isScalePoint=!0,R.tag=2,this.scalePoints.push(R),this.finish()}}},{key:"modifyPoint",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var n=SuperMap.Plot.PlottingUtil.distance(o[0],o[1]),i=o[0].clone(),l=o[1].clone(),r=e.clone();if(0==t){var a=SuperMap.Plot.PlottingUtil.distance(r,i)/n;this.scaleValues[0]=a}else if(1==t){var s=SuperMap.Plot.PlottingUtil.projectPoint(r,i,l),u=SuperMap.Plot.PlottingUtil.distance(s,r)/n;this.scaleValues[1]=u;var p=SuperMap.Plot.PlottingUtil.distance(s,l)/n;this.scaleValues[3]=p}else if(2==t){var c=SuperMap.Plot.PlottingUtil.projectPoint(r,i,l),y=SuperMap.Plot.PlottingUtil.distance(c,r)/n;this.scaleValues[2]=y;var h=SuperMap.Plot.PlottingUtil.distance(c,l)/n;this.scaleValues[4]=h}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1020=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1019=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.5),o.scaleValues.push(.222222),o.scaleValues.push(.5),o.scaleValues.push(.5),o.scaleValues.push(.5)),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1019",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.222222),this.scaleValues.push(.5),this.scaleValues.push(.5),this.scaleValues.push(.5));var e=t[0].clone(),o=t[1].clone(),n=SuperMap.Plot.PlottingUtil.distance(e,o),i=this.scaleValues[0],l=new SuperMap.Geometry.Point(0,-n*i),r=new SuperMap.Geometry.Point(0,n*i),a=this.scaleValues[1],s=this.scaleValues[3],u=new SuperMap.Geometry.Point(n*(1-s),-n*a),p=new SuperMap.Geometry.Point(n*(1-s),n*a),c=this.scaleValues[2],y=this.scaleValues[4],h=new SuperMap.Geometry.Point(n*(1-y),-n*c),P=new SuperMap.Geometry.Point(n*(1-y),n*c),f=new SuperMap.Geometry.Point(n,0),S=SuperMap.Plot.PlottingUtil.radian(e,o),d=[];d.push(l),d.push(u),d.push(h),d.push(f),d.push(P),d.push(p),d.push(r),d.push(l);for(var g=[],M=0;M<d.length;M++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,d[M],S*SuperMap.Plot.PlottingUtil.RTOD);g.push(m)}for(var v=[],b=g.length-1;b>=0;--b)v.push(g[b]);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,v,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[v[2],v[1],v[7],v[6]],{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[v[6],v[5],v[4],v[3],v[2]],{lineTypeLimit:!0,surroundLineFlag:!1}),this.scalePoints=[];var T=g[0].clone();T.isScalePoint=!0,T.tag=0,this.scalePoints.push(T);var A=g[1].clone();A.isScalePoint=!0,A.tag=1,this.scalePoints.push(A);var L=g[2].clone();L.isScalePoint=!0,L.tag=2,this.scalePoints.push(L),this.finish()}}},{key:"modifyPoint",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var n=SuperMap.Plot.PlottingUtil.distance(o[0],o[1]),i=o[0].clone(),l=o[1].clone(),r=e.clone();if(0==t){var a=SuperMap.Plot.PlottingUtil.distance(r,i)/n;this.scaleValues[0]=a}else if(1==t){var s=SuperMap.Plot.PlottingUtil.projectPoint(r,i,l),u=SuperMap.Plot.PlottingUtil.distance(s,r)/n;this.scaleValues[1]=u;var p=SuperMap.Plot.PlottingUtil.distance(s,l)/n;this.scaleValues[3]=p}else if(2==t){var c=SuperMap.Plot.PlottingUtil.projectPoint(r,i,l),y=SuperMap.Plot.PlottingUtil.distance(c,r)/n;this.scaleValues[2]=y;var h=SuperMap.Plot.PlottingUtil.distance(c,l)/n;this.scaleValues[4]=h}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1019=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1018=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.MAX_ARRAY_SIZE=128,o.sv1_DefaultAtLenDivAbLen=0,o.sv2_DefaultAjWidthDivAtLen=.148,o.sv3_DefaultAeWidthDivAtLen=.4,o.sv4_DefaultAeLenDivAtLen=.312,o.sv_AtScaleParameter=1.5,o.sv_AtLenDivAtWidth=1.35,o.sv_AtWidthDivAwWidth=.5,o.sv_defaultAwLenDivAbLen=.15,0===o.scaleValues.length&&(o.scaleValues.push(o.sv1_DefaultAtLenDivAbLen),o.scaleValues.push(o.sv2_DefaultAjWidthDivAtLen),o.scaleValues.push(o.sv3_DefaultAeWidthDivAtLen),o.scaleValues.push(o.sv4_DefaultAeLenDivAtLen)),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1018",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init(),this.applyUse()}},{key:"applyUse",value:function(){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<3)){var e=SuperMap.Plot.PlottingUtil.clonePoints(t),o=this.arrowMeshs(e),n=SuperMap.Plot.PlottingUtil.clonePoints(o.shapePts);(n=SuperMap.Plot.PlottingUtil.clearSamePts(n)).push(n[0]);var i=SuperMap.Plot.PlottingUtil.clearSamePts(o.leftBodyPts),l=SuperMap.Plot.PlottingUtil.clearSamePts(o.rightBodyPts),r=SuperMap.Plot.PlottingUtil.clearSamePts(o.arrowHeadPts);if(0!=o.shapePts.length){var a=SuperMap.Plot.PlottingUtil.polylineDistance(i),s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.4*a,i),u=[],p=[],c=[];if(s.bfind)for(var y=0;y<=s.index;y++)u.push(i[y]);var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.45*a,i),P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.8*a,i);if(h.bfind&&P.bfind)for(var f=h.index;f<=P.index;f++)p.push(i[f]);var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.85*a,i);if(S.bfind)for(var d=S.index;d<i.length;d++)c.push(i[d]);var g=SuperMap.Plot.PlottingUtil.polylineDistance(l),M=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.15*g,l),m=[],v=[],b=[];if(M.bfind)for(var T=0;T<=M.index;T++)m.push(l[T]);var A=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.2*g,l),L=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.55*g,l);if(A.bfind&&L.bfind)for(var O=A.index;O<=L.index;O++)v.push(l[O]);var E=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.6*g,l);if(E.bfind)for(var x=E.index;x<l.length;x++)b.push(l[x]);var w=SuperMap.Plot.PlottingUtil.clonePoints(r);w.splice(0,0,i[i.length-1]),w.push(l[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w,{surroundLineFlag:!1,lineTypeLimit:!0});var I=this.updateScalePoints(e);if(this.scalePoints=[],3!=I.length)I=[];else for(var C=0;C<I.length;C++)I[C].isScalePoint=!0,I[C].tag=C,this.scalePoints.push(I[C]);this.finish()}else this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.scaleValues.length<4&&(this.scaleValues.push(this.sv1_DefaultAtLenDivAbLen),this.scaleValues.push(this.sv2_DefaultAjWidthDivAtLen),this.scaleValues.push(this.sv3_DefaultAeWidthDivAtLen),this.scaleValues.push(this.sv4_DefaultAeLenDivAtLen));var n=o.length;if(n<=2)return;var i,l,r,a,s=this.operateCtrlPts(o);n=s.length,n--;var u=this.calcScaleValueCount(o.length);if(this.scaleValues.length<u){var p=this.calcDefaultScaleValues(n);i=p[0],l=p[1],r=p[2],a=p[3]}else i=this.scaleValues[0],l=this.scaleValues[1],r=this.scaleValues[2],a=this.scaleValues[3];for(var c=SuperMap.Plot.PlottingUtil.polylineDistance(o),y=[],h=0;h<this.scalePoints.length;h++)y.push(this.scalePoints[h].clone());if(0==y.length)return;y[t]=e.clone();var P,f,S=n-1;P=n<=3?new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2):s[S-1].clone();var d,g,M,m,v,b,T=new SuperMap.Geometry.Point(0,0),A=new SuperMap.Geometry.Point(0,0),L=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,P,s[S],s[S+1],A,L),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,s[n],s[n-1],L,T),f=T.clone();var O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[2]);d=O.dLen1,O.dLen2,0==d&&(d=.1),g=d,i=(d/=a+1)/c,1==t?(m=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[1])).dLen1,r=(v=O.dLen2)/d,a=(m-d)/d):0==t?(d=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[0])).dLen1,l=(M=O.dLen2)/d,(b=SuperMap.Plot.PlottingUtil.distance(s[n],s[n-1]))<2*d&&(d=.5*b),m=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[1])).dLen1,r=(v=O.dLen2)/d,(a=(g-d)/d)<.1&&(r=v/(d=g/(1+(a=.1))),l=M/d),i=d/c):2==t&&(i=d/c),M=d*l,(b=SuperMap.Plot.PlottingUtil.distance(s[n],s[n-1]))<2*d&&(M=(d=.5*b)*l,i=d/c),this.scaleValues[0]=i,this.scaleValues[1]=l,this.scaleValues[2]=r,this.scaleValues[3]=a}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=[],o=[],n=[],i=[],l=SuperMap.Plot.PlottingUtil.clonePoints(t),r=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(l,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER),a=r.arrowTouLen,s=r.leftBodyPts,u=r.rightBodyPts;if(!SuperMap.Plot.PlottingUtil.equalFuzzy(a,0)){var p=[];p.push(s[s.length-1]),p.push(u[u.length-1]);var c=[];c.push(this.scaleValues[2]),c.push(this.scaleValues[3]),c.push(0),c.push(0);for(var y=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(l,p,c,a,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR),h=0;h<s.length;h++)e.push(s[h]),o.push(s[h]);for(var P=0;P<y.length;P++)e.push(y[P]),i.push(y[P]);for(var f=u.length-1;f>=0;f--)e.push(u[f]),n.push(u[f])}return{shapePts:e,leftBodyPts:o,rightBodyPts:n,arrowHeadPts:i}}},{key:"updateScalePoints",value:function(t){var e=t.length,o=[];if(!(e<3)){var n=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!SuperMap.Plot.PlottingUtil.equalFuzzy(n,0)){var i=this.operateCtrlPts(t);e=i.length,e--;for(var l=[],r=0;r<this.scaleValues.length;r++)l.push(this.scaleValues[r]);var a=this.genArrowBodyPts(n,i,l),s=a.ArrowBodyCenterPts,u=this.genAtPts(e,s,l,a.ArrowTouLen),p=this.calc3rdScalePt(e,s,l,a.ArrowTouLen);return o.push(new SuperMap.Geometry.Point(a.LeftBodyPtsTemp[e].x,a.LeftBodyPtsTemp[e].y)),o.push(new SuperMap.Geometry.Point(u[2].x,u[2].y)),o.push(new SuperMap.Geometry.Point(p.x,p.y)),o}}}},{key:"operateCtrlPts",value:function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t);if(3===e.length){var o=((e[0].x+e[1].x)/2+e[2].x)/2,n=((e[0].y+e[1].y)/2+e[2].y)/2,i=new SuperMap.Geometry.Point(o,n),l=e[2];e[2]=i,e.push(l)}return e}},{key:"genArrowBodyPts",value:function(t,e,o){var n,i,l,r=[],a=[],s=[],u=[],p=[],c=[],y=e.length;if(y--,o.length<this.calcScaleValueCount(y)){var h=this.calcDefaultScaleValues(y);i=h[0],l=h[1]}else i=o[0],l=o[1];var P=SuperMap.Plot.PlottingUtil.clonePoints(e),f=(P[0].x+P[1].x)/2,S=(P[0].y+P[1].y)/2,d=Math.abs(f-P[2].x),g=Math.abs(S-P[2].y),M=0;if(d>0&&g>0){var m=1/(f-P[2].x),v=-1/(S-P[2].y),b=1*P[2].y/(S-P[2].y)-1*P[2].x/(f-P[2].x);M=Math.abs(m*P[0].x+v*P[0].y+b)/Math.sqrt(m*m+v*v)}else g<=1e-4?M=Math.abs(S-P[1].y):d<=1e-4&&(M=Math.abs(f-P[1].x));var T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,P[2],new SuperMap.Geometry.Point(f,S)),A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(P[1],P[2],P[0]);A?(r[1]=P[1],a[1]=P[0]):(r[1]=P[0],a[1]=P[1]),P[1]=new SuperMap.Geometry.Point((P[0].x+P[1].x)/2,(P[0].y+P[1].y)/2);var L=Math.sqrt((T.pntLeft.x-T.pntRight.x)*(T.pntLeft.x-T.pntRight.x)+(T.pntLeft.y-T.pntRight.y)*(T.pntLeft.y-T.pntRight.y))*this.sv_AtWidthDivAwWidth,O=(n=L*this.sv_AtLenDivAtWidth)*l;SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||(O=(n=t*i)*l);var E,x,w=SuperMap.Plot.PlottingUtil.distance(P[y],P[y-1]),I=2*n;w<I&&(O=(n=w/2)*l),P.push(P[y].clone()),E=0,x=0;var C=0,R=[];for(C=2;C<=y;C++)E+=SuperMap.Plot.PlottingUtil.distance(P[C],P[C-1]);for(E-=n,C=2;C<=y-1;C++)x+=SuperMap.Plot.PlottingUtil.distance(P[C],P[C-1]),R[C]=O+(L-O)*Math.pow((E-x)/E,this.sv_AtScaleParameter);R[y]=O;var _,U,N=new SuperMap.Geometry.Point(0,0),D=new SuperMap.Geometry.Point(0,0),B=new SuperMap.Geometry.Point(0,0);for(C=2;C<=y-1;C++)SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,P[C-1],P[C],P[C+1],D,B),C==y-1&&SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,P[y],P[y-1],B,N),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(R[C],D,P[C]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(B,D,_.pntRight))?(r[C]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),a[C]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)):(r[C]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),a[C]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));for(Math.sqrt(1*(P[y].x-N.x)*(P[y].x-N.x)+1*(P[y].y-N.y)*(P[y].y-N.y))>0&&(P[y]=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(n,P[y],N)),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,P[y+1],P[y]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(P[y],P[y+1],_.pntLeft))?(a[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),r[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y)):(a[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),r[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)),C=2;C<y;C++)SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,r[C-1],r[C],r[C+1],D,B),s[C]=new SuperMap.Geometry.Point(D.x,D.y),u[C]=new SuperMap.Geometry.Point(B.x,B.y),SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,a[C-1],a[C],a[C+1],D,B),p[C]=new SuperMap.Geometry.Point(D.x,D.y),c[C]=new SuperMap.Geometry.Point(B.x,B.y),2==C&&(SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,r[1],r[2],s[2],N),u[C]=new SuperMap.Geometry.Point(N.x,N.y),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,a[1],a[2],p[2],N),c[C]=new SuperMap.Geometry.Point(N.x,N.y)),C==y-1&&(I=(w=SuperMap.Plot.PlottingUtil.distance(r[y],r[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,P[y],P[y+1])).x+=r[y].x-P[y].x,U.y+=r[y].y-P[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,r[y],U),s[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),I=(w=SuperMap.Plot.PlottingUtil.distance(a[y],a[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,P[y],P[y+1])).x+=a[y].x-P[y].x,U.y+=a[y].y-P[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,a[y],U),p[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));return{ArrowBodyCenterPts:SuperMap.Plot.PlottingUtil.clonePoints(P),LeftBodyPtsTemp:r,RightBodyPtsTemp:a,LeftBodyPtsLeftCtrlPts:s,LeftBodyPtsRightCtrlPts:u,RightBodyPtsLeftCtrlPts:p,RightBodyPtsRightCtrlPts:c,ArrowTouLen:n}}},{key:"calcScaleValueCount",value:function(){return 4}},{key:"calcDefaultScaleValues",value:function(){var t=[];return t.push(this.sv1_DefaultAtLenDivAbLen),t.push(this.sv2_DefaultAjWidthDivAtLen),t.push(this.sv3_DefaultAeWidthDivAtLen),t.push(this.sv4_DefaultAeLenDivAtLen),t}},{key:"genAtPts",value:function(t,e,o,n){var i=o[2],l=[],r=n*o[3],a=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(r,e[t],e[t+1]);r=n*i;var s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,e[t+1],a);return l.push(new SuperMap.Geometry.Point(s.pntLeft.x,s.pntLeft.y)),l.push(e[t+1]),l.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y)),l}},{key:"calc3rdScalePt",value:function(t,e,o,n){var i=n*o[3];return SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(i,e[t],e[t+1])}}]),e}();SuperMap.Plot.AlgoSymbol1018=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1017=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.1),o.scaleValues.push(.2),o.scaleValues.push(0),o.scaleValues.push(.3),o.scaleValues.push(.3)),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1017",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=this.minEditPts){this.scalePoints=[];var e=SuperMap.Plot.PlottingUtil.clonePoints(t);this.isEdit||(this.scaleValues[0]=1.5*this.getSubSymbolScaleValue());var o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(e,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_PARALLEL),n=o.arrowTouLen,i=o.leftBodyPts,l=o.rightBodyPts,r=[];r.push(i[i.length-1]),r.push(l[l.length-1]);var a=[];a.push(this.scaleValues[3]),a.push(this.scaleValues[4]),a.push(this.scaleValues[0]),a.push(this.scaleValues[1]);var s=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(e,r,a,n,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR),u=[];u=(u=u.concat(i)).concat(s);for(var p=l.length-1;p>=0;p--)u.push(l[p]);u.push(u[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1});for(var c=SuperMap.Plot.PlottingUtil.clonePoints(i),y=[],h=l.length-1;h>=0;h--)y.push(l[h]);y=y.concat(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var P=SuperMap.Plot.PlottingUtil.clonePoints(s);P.push(l[l.length-1]),P.splice(0,0,i[i.length-1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{lineTypeLimit:!0});var f=new SuperMap.Geometry.Point((r[0].x+r[1].x)/2,(r[0].y+r[1].y)/2),S=new SuperMap.Geometry.Point(f.x,f.y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S);var d=new SuperMap.Geometry.Point(i[i.length-1].x,i[i.length-1].y);d.isScalePoint=!0,d.tag=1,this.scalePoints.push(d);var g=new SuperMap.Geometry.Point(s[0].x,s[0].y);g.isScalePoint=!0,g.tag=2,this.scalePoints.push(g),this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=new SuperMap.Geometry.Point(this.scalePoints[0].x,this.scalePoints[0].y),n=new SuperMap.Geometry.Point(this.scalePoints[1].x,this.scalePoints[1].y),i=new SuperMap.Geometry.Point(this.scalePoints[2].x,this.scalePoints[2].y),l=this.scaleValues[0],r=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);r=SuperMap.Plot.PlottingUtil.clearSamePts(r);var a=SuperMap.Plot.PlottingUtil.polylineDistance(r),s=a*l;if(0==t){var u=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,r[r.length-2],r[r.length-1]),p=u.projectPoint;if(u.isOnline){var c=SuperMap.Plot.PlottingUtil.distance(p,r[r.length-1]);this.scaleValues[0]=c/a}}else if(1==t){var y=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n,i).projectPoint,h=SuperMap.Plot.PlottingUtil.distance(y,o);this.scaleValues[1]=h/s}else if(2==t){var P=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,r[1],i).projectPoint,f=SuperMap.Plot.PlottingUtil.pointProjectToSegment(P,o,r[1]),S=f.projectPoint,d=SuperMap.Plot.PlottingUtil.distance(S,o);!1===f.isOnline&&(this.scaleValues[4]=d/s)}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1017=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1016=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.1),o.arrowHeadType=t.arrowHeadType?t.arrowHeadType:0,o.arrowBodyType=t.arrowBodyType?t.arrowBodyType:0,o.arrowTailType=t.arrowTailType?t.arrowTailType:0,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1016",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fillStyle:0,lineTypeLimit:!0};this.scaleValues[0]=this.getSubSymbolScaleValue();var o,n=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],i=2*Math.sqrt(n*n/3)/1.4,l=Math.sqrt(n*n/3),r=!1;this.arrowBodyType===SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_COATTAIL?o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,n,this.arrowBodyType,r):this.arrowHeadType===SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE||this.arrowHeadType===SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE_SOLID?(r=!0,o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,n,this.arrowBodyType,r)):this.arrowHeadType===SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_POLYLINE?o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,n,this.arrowBodyType,r):this.arrowHeadType===SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL_HOLLOW?(r=!0,o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,i,this.arrowBodyType,r)):this.arrowHeadType===SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL?(r=!0,o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,l,this.arrowBodyType,r)):o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,0,this.arrowBodyType,r);var a=[];this.arrowBodyType===SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_COATTAIL?(a.push(t[t.length-1]),a.push(t[t.length-2])):r?(a.push(t[t.length-1]),a.push(o[o.length-1])):(a.push(o[o.length-1]),a.push(o[o.length-2]));var s,u=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine(a,n,this.arrowHeadType);if(o.length>1)if(this.arrowBodyType!==SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_COATTAIL)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);else for(var p=0,c=o.length-1;p<c;p+=2){var y=SuperMap.Plot.PlottingUtil.distance(o[p+1],o[p]),h=180*SuperMap.Plot.PlottingUtil.radian(o[p+1],o[p])/Math.PI,P=SuperMap.Plot.PlottingUtil.circlePoint(o[p+1],.3*y,.3*y,h+30),f=SuperMap.Plot.PlottingUtil.circlePoint(o[p+1],.3*y,.3*y,h+330),S=SuperMap.Plot.PlottingUtil.circlePoint(o[p],.3*y,.3*y,h+30),d=SuperMap.Plot.PlottingUtil.circlePoint(o[p],.3*y,.3*y,h+330),g=[];g.push(P,o[p+1],f,d,o[p],S),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,g,e)}s=this.arrowBodyType===SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYBEZIER?SuperMap.Plot.ArrowToolkit.generateArrowTailShapePtsBySingleLine([o[0],o[1]],n,this.arrowTailType):SuperMap.Plot.ArrowToolkit.generateArrowTailShapePtsBySingleLine([t[0],t[1]],n,this.arrowTailType);var M=SuperMap.Plot.SymbolType.POLYLINESYMBOL;this.arrowHeadType!==SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL&&this.arrowHeadType!==SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE_SOLID&&this.arrowHeadType!==SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE&&this.arrowHeadType!==SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL_HOLLOW||(M=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL),u.length>1&&this.addCell(M,u,e),s.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}}}]),e}();SuperMap.Plot.AlgoSymbol1016=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.AlgoSymbol1015=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.subSymbolDefaultPixelSize=15,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1015",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1009),e}();SuperMap.Plot.AlgoSymbol1015=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.AlgoSymbol1014=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.subSymbolDefaultPixelSize=15,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1014",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1008),e}();SuperMap.Plot.AlgoSymbol1014=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.AlgoSymbol1013=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.subSymbolDefaultPixelSize=15,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1013",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1007),e}();SuperMap.Plot.AlgoSymbol1013=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.AlgoSymbol1012=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.subSymbolDefaultPixelSize=15,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1012",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1005),e}();SuperMap.Plot.AlgoSymbol1012=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1011=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.sv1_DefaultAtLenDivAbLen=0,o.sv2_DefaultAjWidthDivAtLen=.148,o.sv3_DefaultAeWidthDivAtLen=.4,o.sv4_DefaultAeLenDivAtLen=.312,o.sv_arrowTailWidth=.05,5!==o.scaleValues.length&&(o.scaleValues=[],o.scaleValues.push(o.sv1_DefaultAtLenDivAbLen),o.scaleValues.push(o.sv2_DefaultAjWidthDivAtLen),o.scaleValues.push(o.sv3_DefaultAeWidthDivAtLen),o.scaleValues.push(o.sv4_DefaultAeLenDivAtLen),o.scaleValues.push(o.sv_arrowTailWidth)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1011",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<2)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(0!==e){var o=e*this.scaleValues[4],n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]);void 0!==t[0].z&&(n.pntLeft.z=t[0].z,n.pntRight.z=t[0].z),this.controlPoints=[],this.controlPoints.push(n.pntLeft),this.controlPoints.push(n.pntRight);for(var i=1;i<t.length;i++)this.controlPoints.push(t[i].clone());for(var l=[],r=0;r<this.scaleValues.length;r++)l.push(this.scaleValues[r]);this.scaleValues=[];for(var a=0;a<l.length-1;a++)this.scaleValues.push(l[a]);SuperMap.Plot.AlgoSymbol1004.prototype.calculateParts.apply(this,arguments);var s=n.pntRight.clone();s.isScalePoint=!0,s.tag=3,this.addScalePoint(s),this.controlPoints=SuperMap.Plot.PlottingUtil.clonePoints(t),this.scaleValues=[];for(var u=0;u<l.length;u++)this.scaleValues.push(l[u])}}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(o.length<2)return;this.scaleValues.length<5&&(this.scaleValues=[],this.scaleValues.push(this.sv1_DefaultAtLenDivAbLen),this.scaleValues.push(this.sv2_DefaultAjWidthDivAtLen),this.scaleValues.push(this.sv3_DefaultAeWidthDivAtLen),this.scaleValues.push(this.sv4_DefaultAeLenDivAtLen),this.scaleValues.push(this.sv_arrowTailWidth));var n,i=o[0].clone(),l=SuperMap.Plot.PlottingUtil.polylineDistance(o),r=l*this.scaleValues[4],a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,o[1],o[0]);(o=[]).push(a.pntLeft),o.push(a.pntRight);for(var s=1;s<this.controlPoints.length;s++)o.push(this.controlPoints[s].clone());var u,p,c,y,h,P=o.length,f=this.operateCtrlPts(o);P=f.length,P--;var S=this.calcScaleValueCount(o.length);if(S++,this.scaleValues.length<S){var d=this.calcDefaultScaleValues(P);u=d[0],p=d[1],c=d[2],y=d[3],h=this.sv_arrowTailWidth}else u=this.scaleValues[0],p=this.scaleValues[1],c=this.scaleValues[2],y=this.scaleValues[3],h=this.scaleValues[4];n=SuperMap.Plot.PlottingUtil.polylineDistance(o);for(var g=[],M=0;M<this.scalePoints.length;M++)g.push(this.scalePoints[M].clone());if(0===g.length)return;g[t]=e.clone();var m,v,b=P-1;m=P<=3?new SuperMap.Geometry.Point((f[0].x+f[1].x)/2,(f[0].y+f[1].y)/2):f[b-1].clone();var T,A,L,O,E,x,w=new SuperMap.Geometry.Point(0,0),I=new SuperMap.Geometry.Point(0,0),C=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,m,f[b],f[b+1],I,C),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,f[P],f[P-1],C,w),v=w.clone();var R=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(f[P],v,g[2]);if(T=R.dLen1,R.dLen2,0===T&&(T=.1),A=T,u=(T/=y+1)/n,1===t)O=(R=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(f[P],v,g[1])).dLen1,c=(E=R.dLen2)/T,y=(O-T)/T;else if(0===t)T=(R=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(f[P],v,g[0])).dLen1,p=(L=R.dLen2)/T,(x=SuperMap.Plot.PlottingUtil.distance(f[P],f[P-1]))<2*T&&(T=.5*x),O=(R=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(f[P],v,g[1])).dLen1,c=(E=R.dLen2)/T,(y=(A-T)/T)<.1&&(c=E/(T=A/(1+(y=.1))),p=L/T),u=T/n;else if(2===t)u=T/n;else{h=SuperMap.Plot.PlottingUtil.distance(e,i)/l}L=T*p,(x=SuperMap.Plot.PlottingUtil.distance(f[P],f[P-1]))<2*T&&(L=(T=.5*x)*p,u=T/n),this.scaleValues[0]=u,this.scaleValues[1]=p,this.scaleValues[2]=c,this.scaleValues[3]=y,this.scaleValues[4]=h}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=[],o=[],n=[],i=[],l=SuperMap.Plot.PlottingUtil.clonePoints(t),r=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(l,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER),a=r.arrowTouLen,s=r.leftBodyPts,u=r.rightBodyPts;if(!SuperMap.Plot.PlottingUtil.equalFuzzy(a,0)){var p=[];p.push(s[s.length-1]),p.push(u[u.length-1]);var c=[];c.push(this.scaleValues[2]),c.push(this.scaleValues[3]),c.push(0),c.push(0);for(var y=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(l,p,c,a,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR),h=0;h<s.length;h++)e.push(s[h]),o.push(s[h]);for(var P=0;P<y.length;P++)e.push(y[P]),i.push(y[P]);for(var f=u.length-1;f>=0;f--)e.push(u[f]),n.push(u[f])}return{shapePts:e,leftBodyPts:o,rightBodyPts:n,arrowHeadPts:i}}},{key:"updateScalePoints",value:function(t){var e=t.length,o=[];if(!(e<3)){var n=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!SuperMap.Plot.PlottingUtil.equalFuzzy(n,0)){var i=this.operateCtrlPts(t);e=i.length,e--;for(var l=[],r=0;r<this.scaleValues.length;r++)l.push(this.scaleValues[r]);var a=this.genArrowBodyPts(n,i,l),s=a.ArrowBodyCenterPts,u=this.genAtPts(e,s,l,a.ArrowTouLen),p=this.calc3rdScalePt(e,s,l,a.ArrowTouLen);return o.push(new SuperMap.Geometry.Point(a.LeftBodyPtsTemp[e].x,a.LeftBodyPtsTemp[e].y)),o.push(new SuperMap.Geometry.Point(u[2].x,u[2].y)),o.push(new SuperMap.Geometry.Point(p.x,p.y)),o}}}},{key:"operateCtrlPts",value:function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t);if(3===e.length){var o=((e[0].x+e[1].x)/2+e[2].x)/2,n=((e[0].y+e[1].y)/2+e[2].y)/2,i=new SuperMap.Geometry.Point(o,n),l=e[2];e[2]=i,e.push(l)}return e}},{key:"genArrowBodyPts",value:function(t,e,o){var n,i,l,r=[],a=[],s=[],u=[],p=[],c=[],y=e.length;if(y--,o.length<this.calcScaleValueCount(y)){var h=this.calcDefaultScaleValues(y);i=h[0],l=h[1]}else i=o[0],l=o[1];var P=SuperMap.Plot.PlottingUtil.clonePoints(e),f=(P[0].x+P[1].x)/2,S=(P[0].y+P[1].y)/2,d=Math.abs(f-P[2].x),g=Math.abs(S-P[2].y),M=0;if(d>0&&g>0){var m=1/(f-P[2].x),v=-1/(S-P[2].y),b=1*P[2].y/(S-P[2].y)-1*P[2].x/(f-P[2].x);M=Math.abs(m*P[0].x+v*P[0].y+b)/Math.sqrt(m*m+v*v)}else g<=1e-4?M=Math.abs(S-P[1].y):d<=1e-4&&(M=Math.abs(f-P[1].x));var T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,P[2],new SuperMap.Geometry.Point(f,S)),A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(P[1],P[2],P[0]);A?(r[1]=P[1],a[1]=P[0]):(r[1]=P[0],a[1]=P[1]),P[1]=new SuperMap.Geometry.Point((P[0].x+P[1].x)/2,(P[0].y+P[1].y)/2);var L=Math.sqrt((T.pntLeft.x-T.pntRight.x)*(T.pntLeft.x-T.pntRight.x)+(T.pntLeft.y-T.pntRight.y)*(T.pntLeft.y-T.pntRight.y))*this.sv_AtWidthDivAwWidth,O=(n=L*this.sv_AtLenDivAtWidth)*l;SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||(O=(n=t*i)*l);var E,x,w=SuperMap.Plot.PlottingUtil.distance(P[y],P[y-1]),I=2*n;w<I&&(O=(n=w/2)*l),P.push(P[y].clone()),E=0,x=0;var C=0,R=[];for(C=2;C<=y;C++)E+=SuperMap.Plot.PlottingUtil.distance(P[C],P[C-1]);for(E-=n,C=2;C<=y-1;C++)x+=SuperMap.Plot.PlottingUtil.distance(P[C],P[C-1]),R[C]=O+(L-O)*Math.pow((E-x)/E,this.sv_AtScaleParameter);R[y]=O;var _,U,N=new SuperMap.Geometry.Point(0,0),D=new SuperMap.Geometry.Point(0,0),B=new SuperMap.Geometry.Point(0,0);for(C=2;C<=y-1;C++)SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,P[C-1],P[C],P[C+1],D,B),C===y-1&&SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,P[y],P[y-1],B,N),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(R[C],D,P[C]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(B,D,_.pntRight))?(r[C]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),a[C]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)):(r[C]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),a[C]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));for(Math.sqrt(1*(P[y].x-N.x)*(P[y].x-N.x)+1*(P[y].y-N.y)*(P[y].y-N.y))>0&&(P[y]=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(n,P[y],N)),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,P[y+1],P[y]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(P[y],P[y+1],_.pntLeft))?(a[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),r[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y)):(a[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),r[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)),C=2;C<y;C++)SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,r[C-1],r[C],r[C+1],D,B),s[C]=new SuperMap.Geometry.Point(D.x,D.y),u[C]=new SuperMap.Geometry.Point(B.x,B.y),SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,a[C-1],a[C],a[C+1],D,B),p[C]=new SuperMap.Geometry.Point(D.x,D.y),c[C]=new SuperMap.Geometry.Point(B.x,B.y),2===C&&(SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,r[1],r[2],s[2],N),u[C]=new SuperMap.Geometry.Point(N.x,N.y),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,a[1],a[2],p[2],N),c[C]=new SuperMap.Geometry.Point(N.x,N.y)),C===y-1&&(I=(w=SuperMap.Plot.PlottingUtil.distance(r[y],r[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,P[y],P[y+1])).x+=r[y].x-P[y].x,U.y+=r[y].y-P[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,r[y],U),s[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),I=(w=SuperMap.Plot.PlottingUtil.distance(a[y],a[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,P[y],P[y+1])).x+=a[y].x-P[y].x,U.y+=a[y].y-P[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,a[y],U),p[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));return{ArrowBodyCenterPts:SuperMap.Plot.PlottingUtil.clonePoints(P),LeftBodyPtsTemp:r,RightBodyPtsTemp:a,LeftBodyPtsLeftCtrlPts:s,LeftBodyPtsRightCtrlPts:u,RightBodyPtsLeftCtrlPts:p,RightBodyPtsRightCtrlPts:c,ArrowTouLen:n}}},{key:"calcScaleValueCount",value:function(){return 4}},{key:"calcDefaultScaleValues",value:function(){var t=[];return t.push(this.sv1_DefaultAtLenDivAbLen),t.push(this.sv2_DefaultAjWidthDivAtLen),t.push(this.sv3_DefaultAeWidthDivAtLen),t.push(this.sv4_DefaultAeLenDivAtLen),t}},{key:"genAtPts",value:function(t,e,o,n){var i=o[2],l=[],r=n*o[3],a=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(r,e[t],e[t+1]);r=n*i;var s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,e[t+1],a);return l.push(new SuperMap.Geometry.Point(s.pntLeft.x,s.pntLeft.y)),l.push(e[t+1]),l.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y)),l}},{key:"calc3rdScalePt",value:function(t,e,o,n){var i=n*o[3];return SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(i,e[t],e[t+1])}}]),e}();SuperMap.Plot.AlgoSymbol1011=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1010=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(0),o.scaleValues.push(.148),o.scaleValues.push(.4),o.scaleValues.push(.312),o.scaleValues.push(.2)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1010",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){var e=this.arrowMeshs(t);if(SuperMap.Plot.PlottingUtil.clearSamePts(e.shapePts),0!==e.shapePts.length){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.shapePts,{surroundLineFlag:!1}),this.scalePoints=[];for(var o=0;o<e.m_scalePoints.length;o++)this.addScalePoint(e.m_scalePoints[o])}}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);this.scaleValues.length<4&&(this.scaleValues.push(0),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2));var n,i,l,r,a=o.length;if(a<=2)return;this.scaleValues.length<4?(n=0,i=.148,l=.4,r=.312):(n=this.scaleValues[0],i=this.scaleValues[1],l=this.scaleValues[2],r=this.scaleValues[3]);var s=SuperMap.Plot.PlottingUtil.polylineDistance(o),u=this.operateCtrlPts(o);a=u.length,a--;for(var p=[],c=0;c<this.scalePoints.length;c++)p.push(this.scalePoints[c].clone());if(0===p.length)return;if(p[t]=e.clone(),3===t){var y=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(o,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER),h=new SuperMap.Geometry.Point(.5*(y.leftBodyPts[0].x+y.rightBodyPts[0].x),.5*(y.leftBodyPts[0].y+y.rightBodyPts[0].y)),P=SuperMap.Plot.PlottingUtil.distance(y.leftBodyPts[0],y.rightBodyPts[0]);this.scaleValues[4]=SuperMap.Plot.PlottingUtil.distance(h,e)/P}else{var f,S,d=a-1;f=a<=3?new SuperMap.Geometry.Point((u[0].x+u[1].x)/2,(u[0].y+u[1].y)/2):u[d-1].clone();var g,M,m,v,b,T,A=new SuperMap.Geometry.Point(0,0),L=new SuperMap.Geometry.Point(0,0),O=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,f,u[d],u[d+1],L,O),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,u[a],u[a-1],O,A),S=A.clone();var E=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(u[a],S,p[2]);g=E.dLen1,E.dLen2,0===g&&(g=.1),M=g,n=(g/=r+1)/s,1===t?(v=(E=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(u[a],S,p[1])).dLen1,l=(b=E.dLen2)/g,r=(v-g)/g):0===t?(g=(E=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(u[a],S,p[0])).dLen1,i=(m=E.dLen2)/g,(T=SuperMap.Plot.PlottingUtil.distance(u[a],u[a-1]))<2*g&&(g=.5*T),v=(E=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(u[a],S,p[1])).dLen1,l=(b=E.dLen2)/g,(r=(M-g)/g)<.1&&(l=b/(g=M/(1+(r=.1))),i=m/g),n=g/s):2===t&&(n=g/s),m=g*i,(T=SuperMap.Plot.PlottingUtil.distance(u[a],u[a-1]))<2*g&&(m=(g=.5*T)*i,n=g/s),this.scaleValues[0]=n,this.scaleValues[1]=i,this.scaleValues[2]=l,this.scaleValues[3]=r}}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=[],o=[],n=[],i=[],l=[],r=[],a=SuperMap.Plot.PlottingUtil.clonePoints(t),s=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(a,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER),u=s.arrowTouLen,p=s.leftBodyPts,c=s.rightBodyPts;if(a=s.OpectrlPoints,!SuperMap.Plot.PlottingUtil.equalFuzzy(u,0)){var y=[];y.push(p[p.length-1]),y.push(c[c.length-1]);var h=[];h.push(this.scaleValues[2]),h.push(this.scaleValues[3]),h.push(0),h.push(0);var P=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(a,y,h,u,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR),f=[];f.push(p[0]),f.push(c[0]);for(var S,d=SuperMap.Plot.ArrowToolkit.generateArrowTailShapePts(t,f,this.scaleValues[4],SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_COATTAIL_POLYBODY),g=0;g<p.length;g++)e.push(p[g]),o.push(p[g]);for(var M=0;M<P.length;M++)e.push(P[M]),i.push(P[M]);for(var m=c.length-1;m>=0;m--)e.push(c[m]),n.push(c[m]);for(var v=1;v<d.length;v++)e.push(d[v]),l.push(d[v]);var b=a.length;b-=2;var T=u*this.scaleValues[3];S=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(T,a[b],a[b+1]);var A=new SuperMap.Geometry.Point(o[o.length-1].x,o[o.length-1].y);A.isScalePoint=!0,A.tag=0,r.push(A),(A=new SuperMap.Geometry.Point(i[0].x,i[0].y)).isScalePoint=!0,A.tag=1,r.push(A),(A=new SuperMap.Geometry.Point(S.x,S.y)).isScalePoint=!0,A.tag=2,r.push(A),(A=new SuperMap.Geometry.Point(d[1].x,d[1].y)).isScalePoint=!0,A.tag=3,r.push(A)}return{shapePts:e,leftBodyPts:o,rightBodyPts:n,arrowHeadPts:i,arrowTailPts:l,m_scalePoints:r}}},{key:"operateCtrlPts",value:function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t);if(3===e.length){var o=((e[0].x+e[1].x)/2+e[2].x)/2,n=((e[0].y+e[1].y)/2+e[2].y)/2,i=new SuperMap.Geometry.Point(o,n),l=e[2];e[2]=i,e.push(l)}return e}}]),e}();SuperMap.Plot.AlgoSymbol1010=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1009=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.1),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1009",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=!1;void 0!==t[0].z&&(e=!0),this.scaleValues[0]=this.getSubSymbolScaleValue();var o=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],n=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,0,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYLINE,!1),i=[];i.push(n[n.length-1]),i.push(n[n.length-2]);var l=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine(i,o,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_POLYLINE),r=[];r.push(n[0]),r.push(n[1]);var a=SuperMap.Plot.ArrowToolkit.generateArrowTailShapePtsBySingleLine(r,o,SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_COATTAIL);if(e){for(var s=t.length,u=[],p=[],c=[],y=0;y<s;++y)u.push({x:t[y].x,y:t[y].y,z:t[y].z});var h,P={x:t[s-1].x,y:t[s-1].y,z:t[s-1].z},f={x:t[s-2].x,y:t[s-2].y,z:t[s-2].z};h=this.ComputeZValue(n[s-1],P,f),u.push({x:n[s-1].x,y:n[s-1].y,z:h});for(var S=0;S<l.length;++S)h=this.ComputeZValue(l[S],P,f),p.push({x:l[S].x,y:l[S].y,z:h});for(var d={x:t[1].x,y:t[1].y,z:t[1].z},g={x:t[0].x,y:t[0].y,z:t[0].z},M=0;M<a.length;++M)h=this.ComputeZValue(a[M],d,g),c.push({x:a[M].x,y:a[M].y,z:h});this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p),0!==c.length&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c)}else{this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),0!==a.length&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a)}}}}]),e}();SuperMap.Plot.AlgoSymbol1009=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1008=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.1),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1008",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues[0]=this.getSubSymbolScaleValue();var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],o=Math.sqrt(e*e/3),n=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,o,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYBEZIER,!0),i=[];i.push(t[t.length-1]),i.push(n[n.length-1]);var l=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine(i,e,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL);n.push(t[t.length-1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);l.length>0&&this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l,{surroundLineFlag:!1,fillLimit:!0,fill:!0})}}}]),e}();SuperMap.Plot.AlgoSymbol1008=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1007=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.1),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1007",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=!1;void 0!==t[0].z&&(e=!0),this.scaleValues[0]=this.getSubSymbolScaleValue();var o=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],n=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,o,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYLINE,!0),i=[];i.push(t[t.length-1]),i.push(n[n.length-1]);var l=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine(i,o,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE_SOLID);if(e){for(var r=t.length,a=[],s=[],u=0;u<r-1;++u)a.push({x:n[u].x,y:n[u].y,z:t[u].z});var p={x:t[r-1].x,y:t[r-1].y,z:t[r-1].z},c={x:t[r-2].x,y:t[r-2].y,z:t[r-2].z},y=this.ComputeZValue(n[r-1],p,c);a.push({x:n[r-1].x,y:n[r-1].y,z:y}),a.push({x:n[r-1].x,y:n[r-1].y,z:y});for(var h=0;h<l.length;++h){var P=this.ComputeZValue(l[h],p,c);s.push({x:l[h].x,y:l[h].y,z:P})}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);s.length>0&&this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}else{this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);l.length>0&&this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}}}}]),e}();SuperMap.Plot.AlgoSymbol1007=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1006=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.QIANJI_RATE1=9,o.QIANJI_RATE2=20,o.QIANJI_RATE4=5,o.QIANJI_RATE3=1/3,o.QIANJI_TAIL_RATE1=8,o.QIANJI_TAIL_RATE2=3,o.QIANJI_TAIL_RATE3=.6,o.SV1_Default=.25,o.SV1_MinValue=0,o.SV1_MaxValue=.5,o.DEFAULT_ARROW_TAIL_POS=.4,o.SCALE_VALUE_COUNT=1,o.MIN_LEN_LeftToRightCenter=1e-7,o.SCALE_AT=1/3,o.SCALE_ATAJ=1/7,o.SCALE_ATAE=1/3,o.SCALE_AW=2/3,o.SCALE_ATAJctrlDefSide=.8,o.SCALE_ATAJctrlSameSide=2/3,o.SCALE_MM_LEFT=.25,o.SCALE_MM_RIGHT=.75,o.BEZIER_K1=1/3,o.QIANJI_OPERATE_RATE1=1,0===o.scaleValues.length&&o.scaleValues.push(o.SV1_Default),o.m_dMaxDis=0,o.m_bIsAnimation=!1,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1006",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init(),this.m_scalePoints=[];var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.clonePoints(t),o=e.length,n=!1;void 0!==e[0].z&&(n=!0);var i=this.arrowMeshs(t);if(n){for(var l=[],r=0;r<o;r++)l.push(e[r]);var a=i.LeftArowLeftBody,s=i.LeftArowHead,u=i.LeftArowRightBody,p=i.RightArowLeftBody,c=i.RightArowHead,y=i.RightArowRightBody;if(0==a.length)return!1;var h=[],P=[],f=[];if(3==l.length)a[0].x==l[0].x&&a[0].y==l[0].y?(P.push(l[0]),P.push(l[2]),f.push(l[1]),f.push(l[2])):(P.push(l[1]),P.push(l[2]),f.push(l[0]),f.push(l[2]));else{if(4!=l.length)return!1;a[0].x==l[0].x&&a[0].y==l[0].y?(P.push(l[0]),f.push(l[1])):(P.push(l[1]),f.push(l[0])),s[1].x==l[2].x&&s[1].y==l[2].y?(P.push(l[2]),f.push(l[3])):(P.push(l[3]),f.push(l[2]))}var S=new SuperMap.Geometry.Point;S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(a[a.length-1],{x:P[0].x,y:P[0].y},{x:P[1].x,y:P[1].y}).projectPoint;var d=this.ComputeZValue(S,P[1],P[0]),g=[];this.ComputeHeight(a,g,P[0].z,d),h=h.concat(g);for(var M=0;M<s.length;M++){S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(s[M],{x:P[0].x,y:P[0].y},{x:P[1].x,y:P[1].y}).projectPoint;var m=this.ComputeZValue(S,P[1],P[0]);h.push({x:s[M].x,y:s[M].y,z:m})}S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(u[0],{x:P[0].x,y:P[0].y},{x:P[1].x,y:P[1].y}).projectPoint,this.ComputeZValue(S,P[1],P[0]),S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(u[u.length-1],{x:P[0].x,y:P[0].y},{x:P[1].x,y:P[1].y}).projectPoint;var v=this.ComputeZValue(S,P[1],P[0]);S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(p[0],{x:f[0].x,y:f[0].y},{x:f[1].x,y:f[1].y}).projectPoint;var b=(this.ComputeZValue(S,f[1],f[0])+v)/2,T=[];this.ComputeHeight(u,T,d,b),h=h.concat(T),S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(p[p.length-1],{x:f[0].x,y:f[0].y},{x:f[1].x,y:f[1].y}).projectPoint;var A=this.ComputeZValue(S,f[1],f[0]),L=[];this.ComputeHeight(p,L,b,A),h=h.concat(L);for(var O=0;O<c.length;O++){S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(c[O],{x:f[0].x,y:f[0].y},{x:f[1].x,y:f[1].y}).projectPoint;var E=this.ComputeZValue(S,f[1],f[0]);h.push({x:c[O].x,y:c[O].y,z:E})}S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(y[0],{x:f[0].x,y:f[0].y},{x:f[1].x,y:f[1].y}).projectPoint;var x=this.ComputeZValue(S,f[1],f[0]),w=[];this.ComputeHeight(y,w,x,f[0].z),(h=h.concat(w)).length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{surroundLineFlag:!1}),this.m_scalePoints.length>0&&(this.m_scalePoints[0]={x:this.m_scalePoints[0].x,y:this.m_scalePoints[0].y,z:b});for(var I=0;I<this.m_scalePoints.length;I++)this.m_scalePoints[I].isScalePoint=!0,this.m_scalePoints[I].tag=I,this.addScalePoint(this.m_scalePoints[I]);return!0}var C=i.shapePts;C.length>0&&(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,C,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C,{surroundLineFlag:!1})),this.scalePoints=[];for(var R=0;R<this.m_scalePoints.length;R++)this.m_scalePoints[R].isScalePoint=!0,this.m_scalePoints[R].tag=R,this.addScalePoint(this.m_scalePoints[R])}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o,n=SuperMap.Plot.PlottingUtil.operateControlPoints(this.controlPoints),i=new SuperMap.Geometry.Point((n[0].x+n[1].x)/2,(n[0].y+n[1].y)/2),l=new SuperMap.Geometry.Point((n[2].x+n[3].x)/2,(n[2].y+n[3].y)/2),r=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,i,l);if(r.isOnline){var a=SuperMap.Plot.PlottingUtil.distance(r.projectPoint,i),s=SuperMap.Plot.PlottingUtil.distance(i,l);(o=SuperMap.Plot.PlottingUtil.equalFuzzy(a,0)?this.SV1_MinValue:a/s)>this.SV1_MaxValue&&(o=this.SV1_MaxValue)}else o=SuperMap.Plot.PlottingUtil.distance(r.projectPoint,i)<SuperMap.Plot.PlottingUtil.distance(r.projectPoint,l)?this.SV1_MinValue:this.SV1_MaxValue;this.scaleValues=[],this.scaleValues.push(o)}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=new SuperMap.Plot.Path2D,o=[];this.m_bIsAnimation&&4==t.length?o=SuperMap.Plot.PlottingUtil.clonePoints(t):(o=SuperMap.Plot.PlottingUtil.operateControlPoints(t),void 0!==t[0].z&&(o[o.length-1].z=o[o.length-2].z));var n=this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.distance(o[0],o[3]),l=SuperMap.Plot.PlottingUtil.distance(o[1],o[2]),r=o[1].clone(),a=.5*(o[0].x+o[3].x),s=.5*(o[0].y+o[3].y),u=new SuperMap.Geometry.Point(a,s),p=.5*(o[1].x+o[2].x),c=.5*(o[1].y+o[2].y),y=new SuperMap.Geometry.Point(p,c),h=SuperMap.Plot.PlottingUtil.distance(u,y);h<this.MIN_LEN_LeftToRightCenter&&(h=this.MIN_LEN_LeftToRightCenter),u.x=a+i*(a-p)/(h*this.QIANJI_RATE1),u.y=s+i*(s-c)/(h*this.QIANJI_RATE1),y.x=p+l*(p-a)/(h*this.QIANJI_RATE1),y.y=c+l*(c-s)/(h*this.QIANJI_RATE1);var P=new SuperMap.Geometry.Point(0,0),f=new SuperMap.Geometry.Point(0,0);P.x=a+i*(a-p)/(h*this.QIANJI_RATE2),P.y=s+i*(s-c)/(h*this.QIANJI_RATE2),f.x=p+l*(p-a)/(h*this.QIANJI_RATE2),f.y=c+l*(c-s)/(h*this.QIANJI_RATE2);var S=new SuperMap.Geometry.Point((o[0].x+o[1].x)/2,(o[0].y+o[1].y)/2),d=new SuperMap.Geometry.Point((o[2].x+o[3].x)/2,(o[2].y+o[3].y)/2),g=o[3].x-(o[3].x-u.x)*this.SCALE_AT,M=o[3].y-(o[3].y-u.y)*this.SCALE_AT,m=o[2].x-(o[2].x-y.x)*this.SCALE_AT,v=o[2].y-(o[2].y-y.y)*this.SCALE_AT,b=new SuperMap.Geometry.Point(0,0),T=new SuperMap.Geometry.Point(0,0),A=new SuperMap.Geometry.Point(0,0),L=new SuperMap.Geometry.Point(0,0);T.x=g-(M-o[3].y)*this.SCALE_ATAJ,T.y=M+(g-o[3].x)*this.SCALE_ATAJ,b.x=g+(M-o[3].y)*this.SCALE_ATAJ,b.y=M-(g-o[3].x)*this.SCALE_ATAJ,L.x=m-(v-o[2].y)*this.SCALE_ATAJ,L.y=v+(m-o[2].x)*this.SCALE_ATAJ,A.x=m+(v-o[2].y)*this.SCALE_ATAJ,A.y=v-(m-o[2].x)*this.SCALE_ATAJ;var O=new SuperMap.Geometry.Point(0,0),E=new SuperMap.Geometry.Point(0,0),x=new SuperMap.Geometry.Point(0,0),w=new SuperMap.Geometry.Point(0,0);O.x=3*b.x-2*g-(o[3].x-g)*this.SCALE_ATAE,O.y=3*b.y-2*M-(o[3].y-M)*this.SCALE_ATAE,E.x=3*T.x-2*g-(o[3].x-g)*this.SCALE_ATAE,E.y=3*T.y-2*M-(o[3].y-M)*this.SCALE_ATAE,x.x=3*A.x-2*m-(o[2].x-m)*this.SCALE_ATAE,x.y=3*A.y-2*v-(o[2].y-v)*this.SCALE_ATAE,w.x=3*L.x-2*m-(o[2].x-m)*this.SCALE_ATAE,w.y=3*L.y-2*v-(o[2].y-v)*this.SCALE_ATAE,u.x=a+i*(a-p)/(h*this.QIANJI_RATE4),u.y=s+i*(s-c)/(h*this.QIANJI_RATE4),y.x=p+l*(p-a)/(h*this.QIANJI_RATE4),y.y=c+l*(c-s)/(h*this.QIANJI_RATE4);var I=new SuperMap.Geometry.Point(0,0);I.x=o[0].x+(u.x-o[0].x)*this.SCALE_AW,I.y=o[0].y+(u.y-o[0].y)*this.SCALE_AW;var C=new SuperMap.Geometry.Point(0,0);C.x=o[1].x+(y.x-o[1].x)*this.SCALE_AW,C.y=o[1].y+(y.y-o[1].y)*this.SCALE_AW;var R=new SuperMap.Geometry.Point(0,0);R.x=b.x+(u.x-b.x)*this.SCALE_ATAJctrlSameSide,R.y=b.y+(u.y-b.y)*this.SCALE_ATAJctrlSameSide;var _=new SuperMap.Geometry.Point(0,0);_.x=L.x+(y.x-L.x)*this.SCALE_ATAJctrlSameSide,_.y=L.y+(y.y-L.y)*this.SCALE_ATAJctrlSameSide;var U=new SuperMap.Geometry.Point(0,0);U.x=T.x+(P.x-T.x)*this.SCALE_ATAJctrlDefSide,U.y=T.y+(P.y-T.y)*this.SCALE_ATAJctrlDefSide;var N=new SuperMap.Geometry.Point(0,0);N.x=A.x+(f.x-A.x)*this.SCALE_ATAJctrlDefSide,N.y=A.y+(f.y-A.y)*this.SCALE_ATAJctrlDefSide;var D=new SuperMap.Geometry.Point(0,0);D.x=S.x+(d.x-S.x)*n,D.y=S.y+(d.y-S.y)*n,this.m_scalePoints.push(new SuperMap.Geometry.Point(D.x,D.y));var B=new SuperMap.Geometry.Point(0,0),G=new SuperMap.Geometry.Point(0,0);B.x=o[0].x+(o[3].x-o[0].x)*n,B.y=o[0].y+(o[3].y-o[0].y)*n,G.x=o[1].x+(o[2].x-o[1].x)*n,G.y=o[1].y+(o[2].y-o[1].y)*n,B.x=B.x+(D.x-B.x)*this.QIANJI_RATE3,B.y=B.y+(D.y-B.y)*this.QIANJI_RATE3,G.x=G.x+(D.x-G.x)*this.QIANJI_RATE3,G.y=G.y+(D.y-G.y)*this.QIANJI_RATE3;var k=[];k.push(o[0].clone()),k.push(I.clone()),k.push(R.clone()),k.push(b.clone()),e.MoveTo(k[0]),e.CurveTo(k[1],k[2],k[3]);var V,Y,F=[],j=[],z=[],W=[],H=[],q=[];for(e.ToSubPathPolygons(q),V=q[0],Y=q[0].length,e.LineTo(O),e.LineTo(o[3]),e.LineTo(E),(k=[]).push(T),k.push(U),k.push(B),k.push(D),e.LineTo(k[0]),q=[],e.ToSubPathPolygons(q);Y<q[0].length;Y++)F.push(q[0][Y]);for(Y=q[0].length,e.CurveTo(k[1],k[2],k[3]),q=[],e.ToSubPathPolygons(q);Y<q[0].length;Y++)j.push(q[0][Y]);for(Y=q[0].length,(k=[]).push(G),k.push(N),k.push(A),e.CurveTo(k[0],k[1],k[2]),q=[],e.ToSubPathPolygons(q);Y<q[0].length;Y++)z.push(q[0][Y]);for(Y=q[0].length,e.LineTo(x),e.LineTo(o[2]),e.LineTo(w),(k=[]).push(L),k.push(_),k.push(C),k.push(r),e.LineTo(k[0]),q=[],e.ToSubPathPolygons(q);Y<q[0].length;Y++)W.push(q[0][Y]);for(Y=q[0].length,e.CurveTo(k[1],k[2],k[3]),q=[],e.ToSubPathPolygons(q);Y<q[0].length;Y++)H.push(q[0][Y]);return q=[],e.ToSubPathPolygons(q),{shapePts:q[0],LeftArowLeftBody:V,LeftArowHead:F,LeftArowRightBody:j,RightArowLeftBody:z,RightArowHead:W,RightArowRightBody:H}}}]),e}();SuperMap.Plot.AlgoSymbol1006=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1005=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.1),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1005",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues[0]=this.getSubSymbolScaleValue();var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,e,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYBEZIER,!1),n=[];n.push(o[o.length-1]),n.push(o[o.length-2]);var i=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine(n,e,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_POLYLINE);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),i.length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}}}]),e}();SuperMap.Plot.AlgoSymbol1005=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1004=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.MAX_ARRAY_SIZE=128,o.sv1_DefaultAtLenDivAbLen=0,o.sv2_DefaultAjWidthDivAtLen=.148,o.sv3_DefaultAeWidthDivAtLen=.4,o.sv4_DefaultAeLenDivAtLen=.312,o.sv_AtScaleParameter=1.5,o.sv_AtLenDivAtWidth=1.35,o.sv_AtWidthDivAwWidth=.5,o.sv_defaultAwLenDivAbLen=.15,0===o.scaleValues.length&&(o.scaleValues.push(o.sv1_DefaultAtLenDivAbLen),o.scaleValues.push(o.sv2_DefaultAjWidthDivAtLen),o.scaleValues.push(o.sv3_DefaultAeWidthDivAtLen),o.scaleValues.push(o.sv4_DefaultAeLenDivAtLen)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1004",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init(),this.applyUse()}},{key:"applyUse",value:function(){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){var e=this.arrowMeshs(t);SuperMap.Plot.PlottingUtil.clearSamePts(e.shapePts);var o=SuperMap.Plot.PlottingUtil.clonePoints(t),n=o.length,i=!1;if(void 0!==o[0].z&&(i=!0),i){for(var l=e.leftBodyPts,r=e.rightBodyPts,a=e.arrowHeadPts,s=e.shapePts,u=[],p=0;p<s.length;p++)u.push({x:s[p].x,y:s[p].y,z:0});if(0==s.length)return!1;var c=this.updateScalePoints(t);if(this.scalePoints=[],3!=c.length)c=[];else for(var y=0;y<c.length;y++)c[y].isScalePoint=!0,c[y].tag=y,this.addScalePoint(c[y]);var h=[],P={x:(o[0].x+o[1].x)/2,y:(o[0].y+o[1].y)/2},f={x:(l[l.length-1].x+r[0].x)/2,y:(l[l.length-1].y+r[0].y)/2},S=this.ComputeZValue(f,o[n-1],o[n-2]),d=0,g=0;l[0].x==o[0].x&&l[0].y==o[0].y?(d=o[0].z,g=o[1].z):(d=o[1].z,g=o[0].z),h.push({x:P.x,y:P.y,z:d});for(var M=2;M<n-1;M++)h.push(o[M]);h.push({x:f.x,y:f.y,z:S});var m=[];this.ComputeBeizerZValueByDis(h,l,m),(h=[]).push({x:f.x,y:f.y,z:S});for(var v=n-2;v>=2;v--)h.push(o[v]);h.push({x:P.x,y:P.y,z:g});var b=[];this.ComputeBeizerZValueByDis(h,r,b);for(var T=[],A=0;A<a.length;A++){var L=this.ComputeZValue(a[A],o[n-1],o[n-2]);T.push({x:a[A].x,y:a[A].y,z:L})}if(m.length>0&&b.length>0&&T.length>0){u=(u=(u=(u=[]).concat(m)).concat(T)).concat(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,{surroundLineFlag:!1});for(var O=[],E=0;E<c.length;E++){var x=this.ComputeZValue(c[E],o[n-1],o[n-2]),w=new SuperMap.Geometry.Point(c[E].x,c[E].y);w.z=x,O.push(w)}3!=c.length?this.scalePoints=[]:this.scalePoints=this.scalePoints.concat(O)}}else{if(0==e.shapePts.length)return;if(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.shapePts,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e.shapePts,{surroundLineFlag:!1}),c=this.updateScalePoints(t),this.scalePoints=[],3!=c.length)c=[];else for(var I=0;I<c.length;I++)c[I].isScalePoint=!0,c[I].tag=I,this.addScalePoint(c[I])}}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.scaleValues.length<4&&(this.scaleValues.push(this.sv1_DefaultAtLenDivAbLen),this.scaleValues.push(this.sv2_DefaultAjWidthDivAtLen),this.scaleValues.push(this.sv3_DefaultAeWidthDivAtLen),this.scaleValues.push(this.sv4_DefaultAeLenDivAtLen));var n=o.length;if(n<=2)return;var i,l,r,a,s=this.operateCtrlPts(o);n=s.length,n--;var u=this.calcScaleValueCount(o.length);if(this.scaleValues.length<u){var p=this.calcDefaultScaleValues(n);i=p[0],l=p[1],r=p[2],a=p[3]}else i=this.scaleValues[0],l=this.scaleValues[1],r=this.scaleValues[2],a=this.scaleValues[3];for(var c=SuperMap.Plot.PlottingUtil.polylineDistance(o),y=[],h=0;h<this.scalePoints.length;h++)y.push(this.scalePoints[h].clone());if(0==y.length)return;y[t]=e.clone();var P,f,S=n-1;P=n<=3?new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2):s[S-1].clone();var d,g,M,m,v,b,T=new SuperMap.Geometry.Point(0,0),A=new SuperMap.Geometry.Point(0,0),L=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,P,s[S],s[S+1],A,L),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,s[n],s[n-1],L,T),f=T.clone();var O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[2]);d=O.dLen1,O.dLen2,0==d&&(d=.1),g=d,i=(d/=a+1)/c,1==t?(m=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[1])).dLen1,r=(v=O.dLen2)/d,a=(m-d)/d):0==t?(d=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[0])).dLen1,l=(M=O.dLen2)/d,(b=SuperMap.Plot.PlottingUtil.distance(s[n],s[n-1]))<2*d&&(d=.5*b),m=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[1])).dLen1,r=(v=O.dLen2)/d,(a=(g-d)/d)<.1&&(r=v/(d=g/(1+(a=.1))),l=M/d),i=d/c):2==t&&(i=d/c),M=d*l,(b=SuperMap.Plot.PlottingUtil.distance(s[n],s[n-1]))<2*d&&(M=(d=.5*b)*l,i=d/c),this.scaleValues[0]=i,this.scaleValues[1]=l,this.scaleValues[2]=r,this.scaleValues[3]=a}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=[],o=[],n=[],i=[],l=SuperMap.Plot.PlottingUtil.clonePoints(t),r=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(l,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER),a=r.arrowTouLen,s=r.leftBodyPts,u=r.rightBodyPts;if(!SuperMap.Plot.PlottingUtil.equalFuzzy(a,0)){var p=[];p.push(s[s.length-1]),p.push(u[u.length-1]);var c=[];c.push(this.scaleValues[2]),c.push(this.scaleValues[3]),c.push(0),c.push(0);for(var y=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(l,p,c,a,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR),h=0;h<s.length;h++)e.push(s[h]),o.push(s[h]);for(var P=0;P<y.length;P++)e.push(y[P]),i.push(y[P]);for(var f=u.length-1;f>=0;f--)e.push(u[f]),n.push(u[f])}return{shapePts:e,leftBodyPts:o,rightBodyPts:n,arrowHeadPts:i}}},{key:"updateScalePoints",value:function(t){var e=t.length,o=[];if(!(e<3)){var n=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!SuperMap.Plot.PlottingUtil.equalFuzzy(n,0)){var i=this.operateCtrlPts(t);e=i.length,e--;for(var l=[],r=0;r<this.scaleValues.length;r++)l.push(this.scaleValues[r]);var a=this.genArrowBodyPts(n,i,l),s=a.ArrowBodyCenterPts,u=this.genAtPts(e,s,l,a.ArrowTouLen),p=this.calc3rdScalePt(e,s,l,a.ArrowTouLen);return o.push(new SuperMap.Geometry.Point(a.LeftBodyPtsTemp[e].x,a.LeftBodyPtsTemp[e].y)),o.push(new SuperMap.Geometry.Point(u[2].x,u[2].y)),o.push(new SuperMap.Geometry.Point(p.x,p.y)),o}}}},{key:"operateCtrlPts",value:function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t);if(3===e.length){var o=((e[0].x+e[1].x)/2+e[2].x)/2,n=((e[0].y+e[1].y)/2+e[2].y)/2,i=new SuperMap.Geometry.Point(o,n),l=e[2];e[2]=i,e.push(l)}return e}},{key:"genArrowBodyPts",value:function(t,e,o){var n,i,l,r=[],a=[],s=[],u=[],p=[],c=[],y=e.length;if(y--,o.length<this.calcScaleValueCount(y)){var h=this.calcDefaultScaleValues(y);i=h[0],l=h[1]}else i=o[0],l=o[1];var P=SuperMap.Plot.PlottingUtil.clonePoints(e),f=(P[0].x+P[1].x)/2,S=(P[0].y+P[1].y)/2,d=Math.abs(f-P[2].x),g=Math.abs(S-P[2].y),M=0;if(d>0&&g>0){var m=1/(f-P[2].x),v=-1/(S-P[2].y),b=1*P[2].y/(S-P[2].y)-1*P[2].x/(f-P[2].x);M=Math.abs(m*P[0].x+v*P[0].y+b)/Math.sqrt(m*m+v*v)}else g<=1e-4?M=Math.abs(S-P[1].y):d<=1e-4&&(M=Math.abs(f-P[1].x));var T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,P[2],new SuperMap.Geometry.Point(f,S)),A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(P[1],P[2],P[0]);A?(r[1]=P[1],a[1]=P[0]):(r[1]=P[0],a[1]=P[1]),P[1]=new SuperMap.Geometry.Point((P[0].x+P[1].x)/2,(P[0].y+P[1].y)/2);var L=Math.sqrt((T.pntLeft.x-T.pntRight.x)*(T.pntLeft.x-T.pntRight.x)+(T.pntLeft.y-T.pntRight.y)*(T.pntLeft.y-T.pntRight.y))*this.sv_AtWidthDivAwWidth,O=(n=L*this.sv_AtLenDivAtWidth)*l;SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||(O=(n=t*i)*l);var E,x,w=SuperMap.Plot.PlottingUtil.distance(P[y],P[y-1]),I=2*n;w<I&&(O=(n=w/2)*l),P.push(P[y].clone()),E=0,x=0;var C=0,R=[];for(C=2;C<=y;C++)E+=SuperMap.Plot.PlottingUtil.distance(P[C],P[C-1]);for(E-=n,C=2;C<=y-1;C++)x+=SuperMap.Plot.PlottingUtil.distance(P[C],P[C-1]),R[C]=O+(L-O)*Math.pow((E-x)/E,this.sv_AtScaleParameter);R[y]=O;var _,U,N=new SuperMap.Geometry.Point(0,0),D=new SuperMap.Geometry.Point(0,0),B=new SuperMap.Geometry.Point(0,0);for(C=2;C<=y-1;C++)SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,P[C-1],P[C],P[C+1],D,B),C==y-1&&SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,P[y],P[y-1],B,N),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(R[C],D,P[C]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(B,D,_.pntRight))?(r[C]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),a[C]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)):(r[C]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),a[C]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));for(Math.sqrt(1*(P[y].x-N.x)*(P[y].x-N.x)+1*(P[y].y-N.y)*(P[y].y-N.y))>0&&(P[y]=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(n,P[y],N)),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,P[y+1],P[y]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(P[y],P[y+1],_.pntLeft))?(a[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),r[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y)):(a[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),r[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)),C=2;C<y;C++)SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,r[C-1],r[C],r[C+1],D,B),s[C]=new SuperMap.Geometry.Point(D.x,D.y),u[C]=new SuperMap.Geometry.Point(B.x,B.y),SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,a[C-1],a[C],a[C+1],D,B),p[C]=new SuperMap.Geometry.Point(D.x,D.y),c[C]=new SuperMap.Geometry.Point(B.x,B.y),2==C&&(SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,r[1],r[2],s[2],N),u[C]=new SuperMap.Geometry.Point(N.x,N.y),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,a[1],a[2],p[2],N),c[C]=new SuperMap.Geometry.Point(N.x,N.y)),C==y-1&&(I=(w=SuperMap.Plot.PlottingUtil.distance(r[y],r[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,P[y],P[y+1])).x+=r[y].x-P[y].x,U.y+=r[y].y-P[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,r[y],U),s[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),I=(w=SuperMap.Plot.PlottingUtil.distance(a[y],a[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,P[y],P[y+1])).x+=a[y].x-P[y].x,U.y+=a[y].y-P[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,a[y],U),p[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));return{ArrowBodyCenterPts:SuperMap.Plot.PlottingUtil.clonePoints(P),LeftBodyPtsTemp:r,RightBodyPtsTemp:a,LeftBodyPtsLeftCtrlPts:s,LeftBodyPtsRightCtrlPts:u,RightBodyPtsLeftCtrlPts:p,RightBodyPtsRightCtrlPts:c,ArrowTouLen:n}}},{key:"calcScaleValueCount",value:function(){return 4}},{key:"calcDefaultScaleValues",value:function(){var t=[];return t.push(this.sv1_DefaultAtLenDivAbLen),t.push(this.sv2_DefaultAjWidthDivAtLen),t.push(this.sv3_DefaultAeWidthDivAtLen),t.push(this.sv4_DefaultAeLenDivAtLen),t}},{key:"genAtPts",value:function(t,e,o,n){var i=o[2],l=[],r=n*o[3],a=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(r,e[t],e[t+1]);r=n*i;var s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,e[t+1],a);return l.push(new SuperMap.Geometry.Point(s.pntLeft.x,s.pntLeft.y)),l.push(e[t+1]),l.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y)),l}},{key:"calc3rdScalePt",value:function(t,e,o,n){var i=n*o[3];return SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(i,e[t],e[t+1])}}]),e}();SuperMap.Plot.AlgoSymbol1004=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1003=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.3),o.scaleValues.push(.28),o.scaleValues.push(.433333),o.scaleValues.push(.53),o.scaleValues.push(0)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1003",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),e=(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length;if(e>=this.minEditPts){if(SuperMap.Plot.PlottingUtil.equalFuzzy(this.controlPoints[0].x,this.controlPoints[1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(this.controlPoints[0].y,this.controlPoints[1].y))return;var o=SuperMap.Plot.PlottingUtil.clonePoints(t),n=!1;void 0!==o[0].z&&(n=!0);var i=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(t,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_TRAPEZOID),l=i.arrowTouLen,r=i.leftBodyPts,a=i.rightBodyPts,s=[];s.push(r[r.length-1]),s.push(a[a.length-1]);var u=[];u.push(this.scaleValues[3]),u.push(this.scaleValues[4]),u.push(0),u.push(0);var p=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(t,s,u,l,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR),c=[];c=(c=c.concat(r)).concat(p);for(var y=a.length-1;y>=0;y--)c.push(a[y]);if(c.push(r[0]),n){for(var h=[],P={x:o[1].x,y:o[1].y,z:o[1].z},f={x:o[0].x,y:o[0].y,z:o[0].z},S=0;S<c.length;S++){var d=this.ComputeZValue(c[S],P,f);h.push({x:c[S].x,y:c[S].y,z:d})}var g=new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2),M=new SuperMap.Geometry.Point(g.x,g.y);M.isScalePoint=!0,M.tag=0,this.addScalePoint(M);var m=new SuperMap.Geometry.Point(r[r.length-1].x,r[r.length-1].y);m.isScalePoint=!0,m.tag=1,this.addScalePoint(m);var v=new SuperMap.Geometry.Point(p[0].x,p[0].y);v.isScalePoint=!0,v.tag=2,this.addScalePoint(v);for(var b={x:o[e-1].x,y:o[e-1].y,z:o[e-1].z},T={x:o[e-2].x,y:o[e-2].y,z:o[e-2].z},A=[],L=0;L<this.scalePoints.length;L++){var O={x:this.scalePoints[L].x,y:this.scalePoints[L].y},E=this.ComputeZValue(O,b,T);A.push({x:O.x,y:O.y,z:E})}this.scalePoints=A,this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h)}else{var x=new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2),w=new SuperMap.Geometry.Point(x.x,x.y);w.isScalePoint=!0,w.tag=0,this.addScalePoint(w);var I=new SuperMap.Geometry.Point(r[r.length-1].x,r[r.length-1].y);I.isScalePoint=!0,I.tag=1,this.addScalePoint(I);var C=new SuperMap.Geometry.Point(p[0].x,p[0].y);C.isScalePoint=!0,C.tag=2,this.addScalePoint(C),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,c)}}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=new SuperMap.Geometry.Point(this.scalePoints[0].x,this.scalePoints[0].y),n=new SuperMap.Geometry.Point(this.scalePoints[1].x,this.scalePoints[1].y),i=new SuperMap.Geometry.Point(this.scalePoints[2].x,this.scalePoints[2].y),l=this.scaleValues[0],r=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints),a=r*l;if(0==t){var s=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,this.controlPoints[0],this.controlPoints[1]),u=s.projectPoint;if(s.isOnline){var p=SuperMap.Plot.PlottingUtil.distance(u,this.controlPoints[1]);this.scaleValues[0]=p/r}}else if(1==t){var c=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n,i).projectPoint,y=SuperMap.Plot.PlottingUtil.distance(c,o),h=a*this.scaleValues[1];this.scaleValues[1]=y/a,this.scaleValues[2]=(a*this.scaleValues[2]+y-h)/a}else if(2==t){var P=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,this.controlPoints[1],i).projectPoint,f=SuperMap.Plot.PlottingUtil.pointProjectToSegment(P,o,this.controlPoints[1]),S=f.projectPoint,d=SuperMap.Plot.PlottingUtil.distance(S,o);!0===f.inOnline?this.scaleValues[4]=-d/a:this.scaleValues[4]=d/a}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1003=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1002=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.MIN_GEOPT_COUNT=2,o.MAX_GEOPT_COUNT=1024,o.SV1_defaultATLenDivABLen=0,o.SV2_defaultAYPosScale=.65,o.SV_AJCtrl=.6,o.SV_ArrowWoCtrl=.6,o.SV2_DefaultAJWidDiviedByATLen=.148,o.SV3_DefaultAEWidDividedByATLen=.4,o.SV4_DefaultAELenDividedByATLen=.3,o.SV_ATScaleParameter=1.25,o.SV_ATLenDividedByATWid=1.35,o.SV_ATWidDividedByArrowWeiWid=.5,o.AB_VERTEX_COUNT=4,o.MIN_PTCOUNT_PERARROW=3,o.ATL_DIV_AWW=.7,o.ATL_DIV_ABL=.12,o.ATL_DIV_ABL_1=.18,o.DEFAULT_ARROW_TAIL_POS=.12,o.DUOJIANTOU_TAIL_RATE_1=8,o.DUOJIANTOU_TAIL_RATE_2=3,o.DUOJIANTOU_TAIL_RATE_3=.6,o.AB_CTRLPT_RATE1=0,o.AB_CTRLPT_RATE2=3,o.AB_CTRLPT_RATE3=.5,o.MIN_SCALEVALUE=.1,o.MAX_SCALEVALUE=1,o.m_scalePoints=null,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1002",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init(),this.m_scalePoints=[];var t=SuperMap.Plot.PlottingUtil.clearSamePts(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){var e=this.operateCtrlPts(t),o=e.length,n=Math.floor(o/this.MIN_PTCOUNT_PERARROW),i=this.scaleValues.length;if(i<2*n-1){0==i&&(this.scaleValues.push(this.SV1_defaultATLenDivABLen),i++);for(var l=2*n-1-i,r=0;r<l;r+=2)this.scaleValues.splice(i/2+1,0,this.SV1_defaultATLenDivABLen),this.scaleValues.splice(this.scaleValues.length,0,this.SV2_defaultAYPosScale)}else if(i>2*n-1){for(var a=0;a<n;a++)this.scaleValues.push(this.SV1_defaultATLenDivABLen);for(var s=0;s<n-1;s++)this.scaleValues.push(this.SV2_defaultAYPosScale)}var u=this.arrowMeshs(e);SuperMap.Plot.PlottingUtil.clearSamePts(u.shapePts);var p=!1;if(void 0!==t[0].z&&(p=!0),p){var c=this.operateCtrlPts3D(t),y=u.arrLeftPts2D,h=u.arrRightPts2D,P=u.arrHeadPts2D;if(n!=y.length&&n!=h.length&&n!=P.length)return!1;for(var f=[],S=0;S<n;S++){for(var d=[],g=3*S;g<3*(S+1)&&g<c.length;g++)d.push(c[g]);f.push(d)}for(var M=[],m=[],v=[],b=0;b<n;b++)if(!(2>f[b].length)){for(var T=y[b][y[b].length-1],A=h[b][0],L=new SuperMap.Geometry.Point(.5*(T.x+A.x),.5*(T.y+A.y)),O=f[b][f[b].length-1],E=f[b][f[b].length-2],x=this.ComputeZValue(L,O,E),w={x:L.x,y:L.y,z:x},I=[],C=[],R=0;R<f[b].length-1;R++)if(0==b)C.push(f[b][R]);else{var _={x:f[b][R].x,y:f[b][R].y,z:.5*(f[b][R].z+f[b-1][R].z)};C.push(_)}C.push(w),this.ComputeBeizerZValueByDis(C,y[b],I),M.push(I),I=[];var U=[];U.push(w);for(var N=f[b].length-2;N>=0;N--)if(b==n-1)U.push(f[b][N]);else{var D={x:f[b][N].x,y:f[b][N].y,z:.5*(f[b][N].z+f[b+1][N].z)};U.push(D)}this.ComputeBeizerZValueByDis(U,h[b],I),m.push(I),I=[];for(var B=P[b],G=0;G<B.length;G++){var k=this.ComputeZValue(B[G],O,E);I.push({x:B[G].x,y:B[G].y,z:k})}v.push(I)}for(var V=[],Y=0;Y<n;Y++)V=(V=(V=V.concat(M[Y])).concat(v[Y])).concat(m[Y]);return SuperMap.Plot.PlottingUtil.clearSamePts(V),u.shapePts.length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,{surroundLineFlag:!1}),this.scalePoints=this.scalePoints.concat(this.m_scalePoints),!0}u.shapePts.length>0&&(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u.shapePts,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u.shapePts,{surroundLineFlag:!1})),this.scalePoints=[];for(var F=0;F<this.m_scalePoints.length;F++)this.m_scalePoints[F].isScalePoint=!0,this.m_scalePoints[F].tag=F,this.addScalePoint(this.m_scalePoints[F])}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=this.operateCtrlPts(this.controlPoints),n=o.length,i=Math.floor(n/this.MIN_PTCOUNT_PERARROW),l=0;if(t<i){var r=[],a=t*this.MIN_PTCOUNT_PERARROW;r[0]=o[a],r[1]=o[a+1],r[2]=o[a+2];var s=SuperMap.Plot.PlottingUtil.polylineDistance(r),u=new SuperMap.Geometry.Point(0,0),p=new SuperMap.Geometry.Point(0,0),c=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE1,this.AB_CTRLPT_RATE2,r[0],r[1],r[2],u,p),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,r[2],r[1],p,c),l=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(r[2],c,e).dLen1/(this.SV4_DefaultAELenDividedByATLen+1)/s}else{var y=[],h=[],P=(t-i)*this.MIN_PTCOUNT_PERARROW;y[0]=o[P],y[1]=o[P+1],y[2]=o[P+2];var f=(t-i+1)*this.MIN_PTCOUNT_PERARROW;h[0]=o[f],h[1]=o[f+1],h[2]=o[f+2];var S=new SuperMap.Geometry.Point(0,0),d=new SuperMap.Geometry.Point(0,0),g=new SuperMap.Geometry.Point(0,0);S.x=.5*(y[2].x+h[2].x),d.x=.5*(y[1].x+h[1].x),g.x=.5*(y[0].x+h[0].x),S.y=.5*(y[2].y+h[2].y),d.y=.5*(y[1].y+h[1].y),g.y=.5*(y[0].y+h[0].y);var M=SuperMap.Plot.PlottingUtil.distance(S,d),m=SuperMap.Plot.PlottingUtil.distance(g,d),v=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(S,d,e),b=v.dLen1;l=b<M?b/(M+m):((b=(v=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(d,g,e)).dLen1)+M)/(M+m)}l>this.MAX_SCALEVALUE?l=this.MAX_SCALEVALUE:l<this.MIN_SCALEVALUE&&(l=this.MIN_SCALEVALUE),this.scaleValues[t]=l}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=[],o=[],n=[],i=new SuperMap.Plot.Path2D,l=t.length,r=Math.floor(l/this.MIN_PTCOUNT_PERARROW),a=this.generateAWWidth(r,t),s=[],u=[],p=0,c=0,y=0,h=[];for(c=0,y=0;c<r;c++,y+=this.MIN_PTCOUNT_PERARROW){h[0]=t[y],h[1]=t[y+1],h[2]=t[y+2],p=this.scaleValues[c];var P=this.generateArrowBodyPts(h,a[c],p);p=P.dATLenDivABLen,s[c]=P.arrowBodyPts,u.push(p)}var f=[],S=0,d=0,g=0,M=[],m=[];for(c=0;c<r-1;c++,d+=this.MIN_PTCOUNT_PERARROW){g=d+this.MIN_PTCOUNT_PERARROW,M[0]=t[d],M[1]=t[d+1],M[2]=t[d+2],m[0]=t[g],m[1]=t[g+1],m[2]=t[g+2],S=this.scaleValues[r+c];var v=this.generateAYPts(M,s[c],m,s[c+1],S);f.push(v.arrowLeftYaoPts),f.push(v.arrowRightYaoPts)}var b=[],T=s[0],A=[],L=0,O=[];i.MoveTo(T[0]),i.CurveTo(T[1],T[2],T[3]),i.CurveTo(T[4],T[5],T[6]),i.ToSubPathPolygons(A),e.push(A[0]),L=A[0].length;for(var E=7;E<10;E++)i.LineTo(T[E]);for(A=[],i.ToSubPathPolygons(A);L<A[0].length;L++)O.push(A[0][L]);for(n.push(O),b.push(T[0]),b.push(t[0]),c=1,y=this.MIN_PTCOUNT_PERARROW;c<r;c++,y+=this.MIN_PTCOUNT_PERARROW){var x=s[c],w=c+c-2,I=f[w];for(i.LineTo(I[0]),i.CurveTo(I[1],I[2],I[3]),A=[],O=[],i.ToSubPathPolygons(A);L<A[0].length;L++)O.push(A[0][L]);o.push(O);var C=f[w+1];for(i.CurveTo(C[1],C[2],C[3]),A=[],O=[],i.ToSubPathPolygons(A);L<A[0].length;L++)O.push(A[0][L]);e.push(O);for(var R=7;R<10;R++)i.LineTo(x[R]);for(A=[],O=[],i.ToSubPathPolygons(A);L<A[0].length;L++)O.push(A[0][L]);n.push(O),b.push(t[y].clone())}var _=s[r-1];for(i.LineTo(_[10]),i.CurveTo(_[11],_[12],_[13]),i.CurveTo(_[14],_[15],_[16]),A=[],O=[],i.ToSubPathPolygons(A);L<A[0].length;L++)O.push(A[0][L]);o.push(O),b.push(_[16]);var U=[];return i.ToSubPathPolygons(U),{shapePts:U[0],arrLeftPts2D:e,arrRightPts2D:o,arrHeadPts2D:n}}},{key:"operateCtrlPts",value:function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t),o=e.length,n=Math.floor(o/this.MIN_PTCOUNT_PERARROW),i=o%this.MIN_PTCOUNT_PERARROW,l=new SuperMap.Geometry.Point;if(2==i&&(l.x=.5*(e[o-2].x+e[o-1].x),l.y=.5*(e[o-2].y+e[o-1].y),l.x==e[o-1].x&&l.y==e[o-1].y||(e.push(e[o-1].clone()),e[o-1]=l,o++,n++)),o>3)for(var r=n-1,a=0,s=r;a<r;s--,a++)for(var u=s*this.MIN_PTCOUNT_PERARROW,p=0;p<u;p+=this.MIN_PTCOUNT_PERARROW){if(!SuperMap.Plot.PlottingUtil.isRight(e[p+3],e[p+1],e[p+2])){var c=e[p];e[p]=e[p+3],e[p+3]=c,c=e[p+1],e[p+1]=e[p+4],e[p+4]=c,c=e[p+2],e[p+2]=e[p+5],e[p+5]=c}}return e}},{key:"operateCtrlPts3D",value:function(t){var e=t,o=e.length,n=Math.floor(o/this.MIN_PTCOUNT_PERARROW),i={x:0,y:0,z:0};if(2==o%3&&(i.x=.5*(e[o-2].x+e[o-1].x),i.y=.5*(e[o-2].y+e[o-1].y),i.z=.5*(e[o-2].z+e[o-1].z),i.x==e[o-1].x&&i.y==e[o-1].y&&i.z==e[o-1].z||(e.push(e[o-1]),e[o-1]=i,o++,n++)),o>3)for(var l=n-1,r=0,a=l;r<l;a--,r++)for(var s=3*a,u=0;u<s;u+=3){if(!SuperMap.Plot.PlottingUtil.isRight(e[u+3],e[u+1],e[u+2])){var p=e[u];e[u]=e[u+3],e[u+3]=p,p=e[u+1],e[u+1]=e[u+4],e[u+4]=p,p=e[u+2],e[u+2]=e[u+5],e[u+5]=p}}return e}},{key:"generateAWWidth",value:function(t,e){var o=[];if(t>0)if(1==t)o.push(0);else{var n=SuperMap.Plot.PlottingUtil.distance(e[0],e[this.MIN_PTCOUNT_PERARROW]);o.push(n);for(var i=1,l=this.MIN_PTCOUNT_PERARROW;i<t-1;i++,l+=this.MIN_PTCOUNT_PERARROW){n=.5*(SuperMap.Plot.PlottingUtil.distance(e[l-this.MIN_PTCOUNT_PERARROW],e[l])+SuperMap.Plot.PlottingUtil.distance(e[l],e[l+this.MIN_PTCOUNT_PERARROW])),o.push(n)}n=SuperMap.Plot.PlottingUtil.distance(e[l-this.MIN_PTCOUNT_PERARROW],e[l]),o.push(n)}return o}},{key:"generateArrowBodyPts",value:function(t,e,o){var n=[],i=[],l=[],r=[],a=[],s=[],u=[],p=t.length-1;if(p<2)return{dATLenDivABLen:o=0,arrowBodyPts:n};var c=o,y=this.SV2_DefaultAJWidDiviedByATLen,h=this.SV3_DefaultAEWidDividedByATLen,P=this.SV4_DefaultAELenDividedByATLen,f=SuperMap.Plot.PlottingUtil.clonePoints(t),S=SuperMap.Plot.PlottingUtil.polylineDistance(f),d=0==e?S*this.ATL_DIV_ABL_1:(S+e)*this.ATL_DIV_ABL,g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,f[1],f[0]);i[1]=g.pntLeft.clone(),l[1]=g.pntRight.clone();var M=0;M=SuperMap.Plot.PlottingUtil.equalFuzzy(c,0,1e-14)?d*this.ATL_DIV_AWW:S*c;var m=SuperMap.Plot.PlottingUtil.distance(f[1],f[2]);M+M>m&&(M=.5*m);var v=M*y;f.push(f[p].clone());var b,T=0;b=S-M;var A=[],L=0;for(L=2;L<=p;L++)T+=SuperMap.Plot.PlottingUtil.distance(f[L-1],f[L-2]),SuperMap.Plot.PlottingUtil.equalFuzzy(b,0,1e-14)?A[L]=0:SuperMap.Plot.PlottingUtil.equalFuzzy(b-T,0,1e-14)?A[L]=v:A[L]=v+(d-v)*Math.pow((b-T)/b,this.SV_ATScaleParameter);A[p+1]=v;var O=new SuperMap.Geometry.Point(0,0),E=new SuperMap.Geometry.Point(0,0),x=new SuperMap.Geometry.Point(0,0);for(L=2;L<=p;L++){SuperMap.Plot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE1,this.AB_CTRLPT_RATE2,f[L-2],f[L-1],f[L],E,x),p==L&&SuperMap.Plot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,f[p],f[p-1],x,O);var w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(A[L],E,f[L-1]);l[L]=w.pntLeft,i[L]=w.pntRight}var I,C,R=O.clone();if(SuperMap.Plot.PlottingUtil.distance(f[p],R)>0){var _=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(M,f[p],O);f[p]=_.clone()}for(g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(v,f[p+1],f[p]),i[p+1]=g.pntLeft,l[p+1]=g.pntRight,L=2;L<=p;L++)SuperMap.Plot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE2,this.AB_CTRLPT_RATE2,i[L-1],i[L],i[L+1],E,x),r[L]=E.clone(),a[L]=x.clone(),SuperMap.Plot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE2,this.AB_CTRLPT_RATE2,l[L-1],l[L],l[L+1],E,x),s[L]=E.clone(),u[L]=x.clone();SuperMap.Plot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,i[1],i[2],r[2],O),a[1]=O.clone(),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,l[1],l[2],s[2],O),u[1]=O.clone();C=SuperMap.Plot.PlottingUtil.distance(i[p+1],i[p])*(1/3),(I=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(C,f[p],f[p+1])).x+=i[p+1].x-f[p].x,I.y+=i[p+1].y-f[p].y,C=(d-v)*Math.pow(C/b,this.SV_ATScaleParameter+.3),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(C,i[p+1],I),r[p+1]=g.pntLeft.clone(),C=SuperMap.Plot.PlottingUtil.distance(l[p+1],l[p])*(1/3),(I=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(C,f[p],f[p+1])).x+=l[p+1].x-f[p].x,I.y+=l[p+1].y-f[p].y,C=(d-v)*Math.pow(C/b,this.SV_ATScaleParameter+.3),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(C,l[p+1],I),s[p+1]=g.pntRight.clone();var U=[],N=M*P,D=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(N,f[p],f[p+1]);this.m_scalePoints.push(D.clone()),N=M*h,g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(N,f[p+1],D),U.push(g.pntRight),U.push(f[p+1]),U.push(g.pntLeft);var B=[];for(B.push(i[p+1]),L=p;L>=1;L--)B.push(r[L+1]),B.push(a[L]),B.push(i[L]);var G=[];for(L=1;L<=p;L++)G.push(l[L]),G.push(u[L]),G.push(s[L+1]);G.push(l[p+1]),n.push.apply(n,G),n.push.apply(n,U),n.push.apply(n,B),o=M/S;var k=[];for(L=B.length-1;L>=0;L--)k.push(B[L]);return{dATLenDivABLen:o,arrowBodyPts:n}}},{key:"generateAYPts",value:function(t,e,o,n,i){var l=new SuperMap.Geometry.Point(.5*(t[2].x+o[2].x),.5*(t[2].y+o[2].y)),r=new SuperMap.Geometry.Point(.5*(t[1].x+o[1].x),.5*(t[1].y+o[1].y)),a=new SuperMap.Geometry.Point(.5*(t[0].x+o[0].x),.5*(t[0].y+o[0].y)),s=SuperMap.Plot.PlottingUtil.distance(l,r),u=SuperMap.Plot.PlottingUtil.distance(a,r),p=i*(s+u),c=new SuperMap.Geometry.Point(0,0),y=new SuperMap.Geometry.Point(0,0),h=new SuperMap.Geometry.Point(0,0);if(p>s){p=s+u-p,c=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(p,a,r);var P=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),f=SuperMap.Plot.PlottingUtil.distance(o[1],o[0]);P=P*p/u,y=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(P,t[0],t[1]),f=f*p/u,h=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(f,o[0],o[1])}else{c=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(p,l,r);var S=SuperMap.Plot.PlottingUtil.distance(t[1],t[2]),d=SuperMap.Plot.PlottingUtil.distance(o[1],o[2]);S=S*p/s,y=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(S,t[2],t[1]),d=d*p/s,h=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(d,o[2],o[1])}this.m_scalePoints.push(c.clone());var g=this.SV_ArrowWoCtrl*SuperMap.Plot.PlottingUtil.distance(c,y),M=this.SV_ArrowWoCtrl*SuperMap.Plot.PlottingUtil.distance(c,h),m=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(g,c,y),v=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(M,c,h),b=e[11].clone(),T=e[10].clone(),A=n[5].clone(),L=n[6].clone(),O=SuperMap.Plot.PlottingUtil.intersectLines(T,b,c,y),E=SuperMap.Plot.PlottingUtil.distance(O.intersectPoint,T),x=SuperMap.Plot.PlottingUtil.distance(T,c);E=E>x?this.SV_AJCtrl*x:this.SV_AJCtrl*E;var w=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(E,T,b);b=w.clone(),e[11]=w.clone(),O=SuperMap.Plot.PlottingUtil.intersectLines(L,A,c,h),E=(E=SuperMap.Plot.PlottingUtil.distance(O.intersectPoint,L))>(x=SuperMap.Plot.PlottingUtil.distance(L,c))?this.SV_AJCtrl*x:this.SV_AJCtrl*E,A=(w=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(E,L,A)).clone(),n[5]=w.clone();var I=[];I.push(T),I.push(b),I.push(m),I.push(c);var C=[];return C.push(c),C.push(v),C.push(A),C.push(L),{arrowLeftYaoPts:I,arrowRightYaoPts:C}}}]),e}();SuperMap.Plot.AlgoSymbol1002=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.1),o.scaleValues.push(.2),o.scaleValues.push(0),o.scaleValues.push(.3),o.scaleValues.push(.08)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1001",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),e=(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length;if(e>=this.minEditPts){this.scalePoints=[];var o=SuperMap.Plot.PlottingUtil.clonePoints(t),n=!1;void 0!==o[0].z&&(n=!0);var i=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(t,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_PARALLEL),l=i.arrowTouLen,r=i.leftBodyPts,a=i.rightBodyPts,s=[];s.push(r[r.length-1]),s.push(a[a.length-1]);var u=[];u.push(this.scaleValues[3]),u.push(this.scaleValues[4]),u.push(this.scaleValues[0]),u.push(this.scaleValues[1]);var p=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(t,s,u,l,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR),c=[];if(n){for(var y=[],h=[],P=[],f=0;f<e-1;f++)h.push({x:r[f].x,y:r[f].y,z:o[f].z}),P.push({x:a[f].x,y:a[f].y,z:o[f].z});var S={x:o[e-2].x,y:o[e-2].y,z:o[e-2].z},d={x:o[e-1].x,y:o[e-1].y,z:o[e-1].z},g=this.ComputeZValue(r[e-1],d,S);h.push({x:r[e-1].x,y:r[e-1].y,z:g});var M=this.ComputeZValue(a[e-1],d,S);P.push({x:a[e-1].x,y:a[e-1].y,z:M});for(var m=0;m<p.length;m++){var v=this.ComputeZValue(p[m],d,S);y.push({x:p[m].x,y:p[m].y,z:v})}c=(c=c.concat(h)).concat(y);for(var b=P.length-1;b>=0;b--)c.push(P[b]);var T=new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2),A=new SuperMap.Geometry.Point(T.x,T.y);A.isScalePoint=!0,A.tag=0,this.addScalePoint(A);var L=new SuperMap.Geometry.Point(r[r.length-1].x,r[r.length-1].y);L.isScalePoint=!0,L.tag=1,this.addScalePoint(L);var O=new SuperMap.Geometry.Point(p[0].x,p[0].y);O.isScalePoint=!0,O.tag=2,this.addScalePoint(O);for(var E=0;E<this.scalePoints.length;E++){var x=new SuperMap.Geometry.Point(this.scalePoints[E].x,this.scalePoints[E].y);this.scalePoints[E].z=this.ComputeZValue(x,d,S)}}else{c=(c=c.concat(r)).concat(p);for(var w=a.length-1;w>=0;w--)c.push(a[w]);var I=new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2),C=new SuperMap.Geometry.Point(I.x,I.y);C.isScalePoint=!0,C.tag=0,this.addScalePoint(C);var R=new SuperMap.Geometry.Point(r[r.length-1].x,r[r.length-1].y);R.isScalePoint=!0,R.tag=1,this.addScalePoint(R);var _=new SuperMap.Geometry.Point(p[0].x,p[0].y);_.isScalePoint=!0,_.tag=2,this.addScalePoint(_)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,c,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c)}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=new SuperMap.Geometry.Point(this.scalePoints[0].x,this.scalePoints[0].y),n=new SuperMap.Geometry.Point(this.scalePoints[1].x,this.scalePoints[1].y),i=new SuperMap.Geometry.Point(this.scalePoints[2].x,this.scalePoints[2].y),l=this.scaleValues[0],r=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints),a=r*l;if(0==t){var s=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,this.controlPoints[this.controlPoints.length-2],this.controlPoints[this.controlPoints.length-1]),u=s.projectPoint;if(s.isOnline){var p=SuperMap.Plot.PlottingUtil.distance(u,this.controlPoints[this.controlPoints.length-1]);this.scaleValues[0]=p/r}}else if(1==t){var c=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n,i).projectPoint,y=SuperMap.Plot.PlottingUtil.distance(c,o);this.scaleValues[1]=y/a}else if(2==t){var h=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,this.controlPoints[1],i).projectPoint,P=SuperMap.Plot.PlottingUtil.pointProjectToSegment(h,o,this.controlPoints[1]),f=P.projectPoint,S=SuperMap.Plot.PlottingUtil.distance(f,o);!0===P.inOnline?this.scaleValues[4]=-S/a:this.scaleValues[4]=S/a}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1001=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Wire=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.05),o.CLASS_NAME="SuperMap.Plot.Wire",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues[0]=2*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var n=o*this.scaleValues[0],i=o*this.scaleValues[0]/2,l=SuperMap.Plot.PlottingUtil.clonePoints(e),r=parseInt((o-i)/n),a=0;a<=r&&!(i+n*a>o);a++){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,i+n*a);if(-1!==s.index){var u=new SuperMap.Geometry.Point(s.pt.x,s.pt.y),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n/2,e[s.index],u);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p.pntLeft,p.pntRight])}}this.finish()}}}]),e}();SuperMap.Plot.Wire=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0};var l=e.PolygonRegion=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(0),o.scaleValues.push(0)),o.CLASS_NAME="SuperMap.Plot.PolygonRegion",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){i(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(null!=(t=SuperMap.Plot.PlottingUtil.clearSamePts(t))&&t.length>=this.minEditPts){if(this.addCell(32,t,{surroundLineFlag:!1}),this.textContent&&null!=this.textContent&&this.textContent.length>0){var e=[];this.scaleValues[1]>t.length&&(this.scaleValues[1]=0);var o={labelRotation:0,surroundLineFlag:!1,labelAlign:"lt"};if(0===this.scaleValues[1])e=[SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t)];else{var n=null,i=null;this.scaleValues[1]===t.length?(n=t[t.length-1],i=t[0]):(n=t[this.scaleValues[1]-1],i=t[this.scaleValues[1]]),o.labelRotation=-SuperMap.Plot.PlottingUtil.radian(n,i)/Math.PI*180;var l=this.scaleValues[0]*SuperMap.Plot.PlottingUtil.distance(n,i);e=[SuperMap.Plot.PlottingUtil.findPoint(n,i,l,0)]}this.addCell(34,e,o,this.textContent);var r=new SuperMap.Geometry.Point(e[0].x,e[0].y);r.isScalePoint=!0,r.tag=0,this.scalePoints=[],this.addScalePoint(r)}}else this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine()}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){for(var o=0,n=SuperMap.Plot.PlottingUtil.distance(e,this.controlPoints[0]),i=1;i<this.controlPoints.length;i++){var l=SuperMap.Plot.PlottingUtil.distance(e,this.controlPoints[i]);l<n&&(n=l,o=i)}var r=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);(r=SuperMap.Plot.PlottingUtil.clearSamePts(r)).push(r[0].clone());var a=SuperMap.Plot.PlottingUtil.computePointToLineMinDis(e,r);if(-1===a.minDis)this.scaleValues[1]=o+1,this.offsetX=0,this.offsetY=0;else{var s=SuperMap.Plot.PlottingUtil.projectPoint(e,r[a.index],r[a.index+1]),u=SuperMap.Plot.PlottingUtil.distance(e,s),p=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(this.controlPoints),c=SuperMap.Plot.PlottingUtil.distance(e,p);if(c<u&&c<n)this.scaleValues[1]=0,this.scaleValues[0]=0;else if(n<u&&n<c)this.scaleValues[1]=o+1,this.scaleValues[0]=0;else if(u<n&&u<c){this.scaleValues[1]=a.index+1;var y=null,h=null;this.scaleValues[1]===this.controlPoints.length?(y=this.controlPoints[this.controlPoints.length-1],h=this.controlPoints[0]):(y=this.controlPoints[this.scaleValues[1]-1],h=this.controlPoints[this.scaleValues[1]]);var P=SuperMap.Plot.PlottingUtil.distance(s,y),f=SuperMap.Plot.PlottingUtil.distance(y,h);this.scaleValues[0]=P/f}}}this.calculateParts()}},{key:"parseSymbolData",value:function(){i(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"parseSymbolData",this).call(this),this.symbolData&&(this.scaleValues[1]=this.symbolData.annotationPosition)}},{key:"setSymbolData",value:function(){i(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"setSymbolData",this).call(this),this.symbolData&&(this.symbolData.annotationPosition=this.scaleValues[1])}}]),e}();SuperMap.Plot.PolygonRegion=l},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.LineRelation=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.subSectionCount=t.subSectionCount?t.subSectionCount:10,o.CLASS_NAME="SuperMap.Plot.LineRelation",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){this.subSectionCount=null,function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){this.init();for(var t=0;t<this.controlPoints.length;t++)this.controlPoints[t].tag=t;var e=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);null!==e&&e.length>=this.minEditPts&&this.computeLine(e)}},{key:"computeLine",value:function(t){this.components=[];var e=t[0],o=t[t.length-1];this.subSectionCount<=1&&(this.subSectionCount=10);var n=SuperMap.Plot.PlottingUtil.distance(e,o)/(2*this.subSectionCount-1);if(this.lineRelationType===SuperMap.Plot.LineRelationType.SOLID)this.addCell(24,t,{surroundLineFlag:!1});else if(this.lineRelationType===SuperMap.Plot.LineRelationType.DASH)for(var i=0;i<this.subSectionCount;i++){var l=SuperMap.Plot.PlottingUtil.findPoint(e,o,2*i*n,0),r=SuperMap.Plot.PlottingUtil.findPoint(e,o,(2*i+1)*n,0);this.addCell(24,[l,r],{surroundLineFlag:!1})}else if(this.lineRelationType===SuperMap.Plot.LineRelationType.ARROW)for(var a=0;a<this.subSectionCount;a++){var s=SuperMap.Plot.PlottingUtil.findPoint(e,o,2*a*n,0),u=SuperMap.Plot.PlottingUtil.findPoint(e,o,(2*a+1)*n,0),p=SuperMap.Plot.PlottingUtil.findPoint(u,s,n,60),c=SuperMap.Plot.PlottingUtil.findPoint(u,s,n,-60);this.addCell(24,[p,u,c],{surroundLineFlag:!1})}}}]),e}();SuperMap.Plot.LineRelation=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.LineMarking=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.islocationCircle=!!t.islocationCircle&&t.islocationCircle,o.textBoxType=t.textBoxType?t.textBoxType:SuperMap.Plot.TextBoxType.RECTBOX,0===o.scaleValues.length&&(o.scaleValues.push(.126),o.scaleValues.push(0),o.scaleValues.push(0),o.scaleValues.push(4)),o.CLASS_NAME="SuperMap.Plot.LineMarking",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){this.islocationCircle=null,this.textBoxType=null,function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){this.init(),this.controlPoints=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),this.controlPoints=SuperMap.Plot.PlottingUtil.clearSamePts(this.controlPoints);var t=this.scaleValues[0];if(!(t<0||t>1)){if(t=(1-t)/2,this.controlPoints.length>=this.minEditPts){var e,o,n,i;this.scalePoints=[];var l=[];this.controlPoints[0].x<this.controlPoints[1].x?(e=this.controlPoints[0].x,n=this.controlPoints[1].x):(e=this.controlPoints[1].x,n=this.controlPoints[0].x),this.controlPoints[0].y<this.controlPoints[1].y?(i=this.controlPoints[0].y,o=this.controlPoints[1].y):(i=this.controlPoints[1].y,o=this.controlPoints[0].y),l.push(new SuperMap.Geometry.Point(e,i)),l.push(new SuperMap.Geometry.Point(e,o)),l.push(new SuperMap.Geometry.Point(n,o)),l.push(new SuperMap.Geometry.Point(n,i)),!1===this.isEdit&&(this.scaleValues[1]=e+.1*(n-e),this.scaleValues[2]=i+-.3*(o-i));var r=this.getAction(this.scaleValues[1],this.scaleValues[2],e,o,n,i),a=new SuperMap.Geometry.Point(this.scaleValues[1],this.scaleValues[2]);if(this.textBoxType===SuperMap.Plot.TextBoxType.RECTBOX||this.textBoxType===SuperMap.Plot.TextBoxType.LINEBOX){var s=[];switch(r){case 0:this.addScalePoint(a);break;case 1:this.addScalePoint(a),s.push(new SuperMap.Geometry.Point(e,o-(o-i)*t)),s.push(a);break;case 2:this.addScalePoint(a),s.push(new SuperMap.Geometry.Point(n-(n-e)*t,o)),s.push(a);break;case 3:this.addScalePoint(a),s.push(new SuperMap.Geometry.Point(n,o-(o-i)*t)),s.push(a);break;case 4:this.addScalePoint(a),s.push(new SuperMap.Geometry.Point(n-(n-e)*t,i)),s.push(a)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}if(0!==l.length&&this.textBoxType===SuperMap.Plot.TextBoxType.RECTBOX)this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);else if(0!==l.length&&this.textBoxType===SuperMap.Plot.TextBoxType.LINEBOX){var u=[];switch(r){case 0:break;case 1:u=(u=u.concat(l[0])).concat(l[1]);break;case 2:u=(u=u.concat(l[1])).concat(l[2]);break;case 3:u=(u=u.concat(l[2])).concat(l[3]);break;case 4:u=(u=u.concat(l[3])).concat(l[0])}0!==u.length?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u):this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,this.controlPoints)}this.islocationCircle&&this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[a,new SuperMap.Geometry.Point(a.x-.05,a.y-.05)]),this.annotationContent(e,o,n,i)}else this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,this.controlPoints);this.finish()}}},{key:"modifyPoint",value:function(t,e){!0===e.isScalePoint&&(this.scaleValues[1]=e.x,this.scaleValues[2]=e.y),this.calculateParts()}},{key:"getAction",value:function(t,e,o,n,i,l){var r=(n-l)/(i-o);return t<o?e>n?Math.abs((e-n)/(t-o))>r?2:1:e<l&&Math.abs((e-l)/(t-o))>r?4:1:t>i?e>n?Math.abs((e-n)/(t-i))>r?2:3:e<l&&Math.abs((e-l)/(t-i))>r?4:3:e>n?2:e<l?4:0}}]),e}();SuperMap.Plot.LineMarking=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.PathText=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.relLineText=t.relLineText?t.relLineText:0,o.showPathLine=!t.showPathLine||t.showPathLine,o.showPathLineArrow=!!t.showPathLineArrow&&t.showPathLineArrow,o.isCurve=!!t.isCurve&&t.isCurve,o.isAvoid=!!t.isAvoid&&t.isAvoid,o.textToLineDistance=t.textToLineDistance?t.textToLineDistance:0,o.CLASS_NAME="SuperMap.Plot.PathText",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){if(this.init(),null!==this.controlPoints&&0!==this.controlPoints.length&&!(this.controlPoints.length<this.minEditPts)){SuperMap.Util.isArray(this.textContent)||(this.textContent=[this.textContent]);var t=[];if(t=this.isCurve?SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(this.controlPoints):SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),this.relLineText===SuperMap.Plot.RelLineText.ONBOTHLINE){this.relLineText=SuperMap.Plot.RelLineText.ONRIGHTLINE;var e=this.getTextPathPts(t,!1);this.computeText(e,this.textContent[0],t),this.relLineText=SuperMap.Plot.RelLineText.ONLEFTLINE;var o=this.showPathLine;this.showPathLine=!1;var n=this.getTextPathPts(t,!0);this.textContent.length>1?this.computeText(n,this.textContent[1],t):this.computeText(n,this.textContent[0],t),this.relLineText=SuperMap.Plot.RelLineText.ONBOTHLINE,this.showPathLine=o}else{var i=[];i=this.relLineText===SuperMap.Plot.RelLineText.ONRIGHTLINE?this.getTextPathPts(t,!1):this.relLineText===SuperMap.Plot.RelLineText.ONLEFTLINE?this.getTextPathPts(t,!0):t,this.computeText(i,this.textContent[0],t)}this.finish()}}},{key:"getTextPathPts",value:function(t,e){t=SuperMap.Plot.PlottingUtil.clearSamePts(t);var o=this.getLonLatDistanceFromPixel(this.textToLineDistance);if(0>=o)return SuperMap.Plot.PlottingUtil.clonePoints(t);var n=SuperMap.Plot.PlottingUtil.paraLine(t,o,e);return SuperMap.Plot.PlottingUtil.clearSamePts(n)}},{key:"computeText",value:function(t,e,o){if(!(t.length<2)){for(var n=e.length,i=t,l=i.length,r=0,a=0;a<i.length-1;a++)r+=SuperMap.Plot.PlottingUtil.distance(i[a],i[a+1]);var s={index:-1,pt:i[0]},u=0,p=0,c=0,y=180/Math.PI,h=this.getTextBounds(this.style,e),P="lm";P=this.relLineText===SuperMap.Plot.RelLineText.ONLINE?"lm":this.relLineText===SuperMap.Plot.RelLineText.ONLEFTLINE?"lb":"lt",(u=(r-h.getWidth())/2)<=0&&(u=0);for(var f=[],S=0;S<n;S++){var d=this.getTextBounds(this.style,e.charAt(S));f.push(new SuperMap.Bounds(0,-h.getHeight(),d.getWidth(),0))}for(var g,M=!1,m=!1,v=0,b=0,T=[];p<=u&&c<l-1;)c++,p+=SuperMap.Plot.PlottingUtil.distance(i[c-1],i[c]);var A=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,u),L=SuperMap.Plot.PlottingUtil.radian(i[c-1],i[c])*y;L>180&&(L-=360),L<-180&&(L+=360),L>90&&L<=180?(v=-180,M=!0,m=!0):L>-180&&L<-90&&(v=180,M=!0,m=!0),!0,0!=v?this.relLineText===SuperMap.Plot.RelLineText.ONLINE||(P=this.relLineText===SuperMap.Plot.RelLineText.ONLEFTLINE?"lt":"lb"):this.relLineText===SuperMap.Plot.RelLineText.ONLINE||(P=this.relLineText===SuperMap.Plot.RelLineText.ONLEFTLINE?"lb":"lt");for(var O=0;O<n&&!(u>r);O++){var E=O;for(m&&(E=n-O-1),b=(g=f[E]).getWidth(),M&&(u+=b);p<=u&&c<l-1;)c++,p+=SuperMap.Plot.PlottingUtil.distance(i[c-1],i[c]);var x=(L=SuperMap.Plot.PlottingUtil.radian(i[c-1],i[c])*y)+v;if((s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,u)).index<0)break;g.add(s.pt.x,s.pt.y);var w=e.charAt(E),I={};I.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,I.textContent=w,I.positionPoints=[s.pt],I.style={surroundLineFlag:!1,labelAlign:P,labelRotation:-x},T.push(I),M||(u+=b)}var C=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,u);if(this.showPathLine){if(this.relLineText===SuperMap.Plot.RelLineText.ONLINE&&this.isAvoid){if(A.index>=0){for(var R=[],_=0;_<=A.index;_++)R.push(o[_]);R.push(A.pt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,R)}if(C.index>=0){var U=[];U.push(C.pt);for(var N=C.index+1;N<o.length;N++)U.push(o[N]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U)}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);this.showPathLineArrow&&this.addArrow(o)}for(var D=0;D<T.length;D++)this.components.push(T[D])}}},{key:"addArrow",value:function(t){if(t.length<2)return t;var e=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints)*(this.isEdit,null==this.getSubSymbolScaleValue()?.05:.5*this.getSubSymbolScaleValue()),o=t[t.length-1];if(t.length>2){for(var n=-1,i=t.length-2;i>=0;i--)if(e<SuperMap.Plot.PlottingUtil.distance(o,t[i])){n=i;break}t.splice(n+1,t.length-n),t.push(o)}var l=t[t.length-2],r=t[t.length-1],a=e;if(void 0===l)return t;if(!(SuperMap.Plot.PlottingUtil.distance(l,r)<e)){var s=SuperMap.Plot.PlottingUtil.radian(l,r)*SuperMap.Plot.PlottingUtil.RTOD,u=SuperMap.Plot.PlottingUtil.circlePoint(r,a,a,s+157.5),p=SuperMap.Plot.PlottingUtil.circlePoint(r,a,a,s+202.5);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[u,t[t.length-1],p],{surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0,fill:!0})}}}]),e}();SuperMap.Plot.PathText=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.CurveEight=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.CLASS_NAME="SuperMap.Plot.CurveEight",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){if(this.init(),this.controlPoints&&null!==this.controlPoints&&!(this.minEditPts>this.controlPoints.length))if(2===this.controlPoints.length){var t=this.controlPoints[0].clone(),e=this.controlPoints[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(t,e)/2,n=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2),l=SuperMap.Plot.PlottingUtil.circlePoint(i,o,o,n+90),r=SuperMap.Plot.PlottingUtil.circlePoint(i,3*o,3*o,n+90);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[l,new SuperMap.Geometry.Point(l.x+o,l.y)]),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[r,new SuperMap.Geometry.Point(r.x+o,r.y)])}else{var a=this.controlPoints[0].clone(),s=this.controlPoints[1].clone(),u=this.controlPoints[2].clone(),p=0;p=SuperMap.Plot.PlottingUtil.isRight(u,a,s)?180*SuperMap.Plot.PlottingUtil.radian(s,a)/Math.PI+90:180*SuperMap.Plot.PlottingUtil.radian(a,s)/Math.PI+90;var c=SuperMap.Plot.PlottingUtil.distance(a,s)/2,y=new SuperMap.Geometry.Point((a.x+s.x)/2,(a.y+s.y)/2),h=SuperMap.Plot.PlottingUtil.circlePoint(y,c,c,p),P=SuperMap.Plot.PlottingUtil.plumbLineLen(u,a,s);if(P<=4*c){var f=SuperMap.Plot.PlottingUtil.circlePoint(y,3*c,3*c,p);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[h,new SuperMap.Geometry.Point(h.x+c,h.y)]),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[f,new SuperMap.Geometry.Point(f.x+c,f.y)])}else{for(var S=SuperMap.Plot.PlottingUtil.circlePoint(y,P-c,P-c,p),d=180*Math.acos(c/(P-2*c))/Math.PI,g=p-d,M=p-180+d,m=p-180-d+360,v=[],b=p+d-360;b<=g;b+=4){var T=SuperMap.Plot.PlottingUtil.circlePoint(h,c,c,b);v.push(T)}var A=SuperMap.Plot.PlottingUtil.circlePoint(h,c,c,g);v.push(A);for(var L=[],O=M;O<m;O+=4){var E=SuperMap.Plot.PlottingUtil.circlePoint(S,c,c,O);L.push(E)}var x=SuperMap.Plot.PlottingUtil.circlePoint(S,c,c,m);L.push(x);var w=[];w=w.concat(v);for(var I=L.length-1;I>=0;I--)w.push(L[I]);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,w)}}}}]),e}();SuperMap.Plot.CurveEight=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Runway=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.2),o.CLASS_NAME="SuperMap.Plot.Runway",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){if(this.init(),this.controlPoints.length>=this.minEditPts){for(var t=this.controlPoints[0],e=this.controlPoints[1],o=SuperMap.Plot.PlottingUtil.distance(t,e),n=this.scaleValues[0]*o,i=SuperMap.Plot.PlottingUtil.parallel(this.controlPoints,n/2),l=SuperMap.Plot.PlottingUtil.parallel(this.controlPoints,-n/2),r=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,a=[],s=r+90;s<=r+270;s+=10){var u=SuperMap.Plot.PlottingUtil.circlePoint(t,n/2,n/2,s);a.push(u)}for(var p=[],c=r-90;c<=r+90;c+=10){var y=SuperMap.Plot.PlottingUtil.circlePoint(e,n/2,n/2,c);p.push(y)}var h=[];(h=(h=(h=(h=h.concat(a)).concat(l)).concat(p)).concat(i)).push(h[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h);var P=new SuperMap.Geometry.Point(a[0].x,a[0].y);this.addScalePoint(P)}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint&&0==t){var o=SuperMap.Plot.PlottingUtil.distance(e,this.controlPoints[0]),n=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[1]);this.scaleValues[0]=2*o/n}this.calculateParts()}}]),e}();SuperMap.Plot.Runway=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.NodeChain=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(0),o.scaleValues[1]=.1),o.CLASS_NAME="SuperMap.Plot.NodeChain",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){if(this.init(),this.controlPoints&&null!==this.controlPoints){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t),this.isEdit||(this.scaleValues[1]=.25*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=e*this.scaleValues[0],n=e*this.scaleValues[1];if(0<this.subSymbols.length&&null!==this.subSymbols[0]&&void 0!==this.subSymbols[0])if(this.subSymbols[0].code>0)for(var i=0;i<t.length;i++){var l=new SuperMap.Geometry.Point(t[i].x,t[i].y+o);this.computeSubSymbol(this.subSymbols[0],l,2*n,0)}else this.addCircles(t,o,n);else this.addCircles(t,o,n);var r=new SuperMap.Geometry.Point(t[0].x,t[0].y+o);this.addScalePoint(r);var a=SuperMap.Plot.PlottingUtil.circlePoint(r,n,n,90);this.addScalePoint(a)}}}},{key:"addCircles",value:function(t,e,o){for(var n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},i=0;i<t.length;i++){var l=new SuperMap.Geometry.Point(t[i].x,t[i].y+e),r=this.getCirclePts(l,o);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r,n)}}},{key:"getCirclePts",value:function(t,e){for(var o=[],n=0;n<=360;n+=12){var i=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,n);o.push(i)}return o}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t)this.scaleValues[0]=(e.y-o[0].y)/n;else if(1===t){var i=SuperMap.Plot.PlottingUtil.distance(e,o[0]);this.scaleValues[1]=i/n}}this.calculateParts()}}]),e}();SuperMap.Plot.NodeChain=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.FreeCurve=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.CLASS_NAME="SuperMap.Plot.FreeCurve",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){if(this.init(),!(null==this.controlPoints||this.controlPoints.length<this.minEditPts)){this.scalePoints=[];var t=[];if(this.controlPoints.length<3)t.push(this.controlPoints[0]),t.push(this.controlPoints[1]);else{if(!this.isEdit){var e=this.getLonLatFromPixel(0,0),o=this.getLonLatFromPixel(100,100),n=Math.abs(e.lon-o.lon),i=this.reSample(this.controlPoints,n/50);i.length<3&&(i=this.controlPoints),this.controlPoints=[],this.controlPoints=this.controlPoints.concat(i)}var l=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,this.controlPoints,this.scaleValues);l.scalePoints=SuperMap.Plot.PlottingUtil.clearSamePts(l.scalePoints),l.scaleValues=SuperMap.Plot.PlottingUtil.clearSamePts(l.scaleValues),this.scaleValues=l.scaleValues;for(var r=0,a=l.scalePoints.length;r<a;r++){var s=l.scalePoints[r];s.isScalePoint=!0,s.tag=r,this.addScalePoint(s)}t=SuperMap.Plot.PlottingUtil.clonePoints(l.beizerPoints)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t)}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(2>o.length)return;var n=SuperMap.Plot.PlottingUtil.polylineDistance(o),i=-1;i=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var l=(e.x-o[i].x)/n,r=(e.y-o[i].y)/n;this.scaleValues[2*t]=l,this.scaleValues[2*t+1]=r}this.calculateParts()}},{key:"reSample",value:function(t,e){var o=[];if(null==t||e<0)return o;var n=t.length;if(n>2){var i=new SuperMap.Geometry.Point(0,0),l=0,r=0,a=0,s=2*Math.PI;i=t[0],o.push(i);for(var u=!1,p=!1,c=!1,y=1;y<n;y++)if(r=Math.sqrt((t[y].y-i.y)*(t[y].y-i.y)+(t[y].x-i.x)*(t[y].x-i.x)),SuperMap.Plot.PlottingUtil.equalFuzzy(0,r))u&&(i=t[y-1],y--,o.push(i),a=0,s=2*Math.PI,u=!1,p=!1,c=!1);else{var h=(t[y].x-i.x)/r,P=(t[y].y-i.y)/r;if(l=P>0||SuperMap.Plot.PlottingUtil.equalFuzzy(0,P)?Math.acos(h):2*Math.PI-Math.acos(h),s>2*Math.PI&&l+2*Math.PI<s?(l+=2*Math.PI,a<0&&(a+=2*Math.PI)):a<0&&l-2*Math.PI>a&&(l-=2*Math.PI,s>2*Math.PI&&(s-=2*Math.PI)),l>a&&l<s||SuperMap.Plot.PlottingUtil.equalFuzzy(0,l-a)||SuperMap.Plot.PlottingUtil.equalFuzzy(0,l-s)){var f=Math.atan(e/r);p?a<l-f&&(a=l-f):(p=!0,a=l-f),c?s>l+f&&(s=l+f):(c=!0,s=l+f),u=!0}else i=t[y-1],y--,o.push(i),a=0,s=2*Math.PI,u=!1,p=!1,c=!1}return o.push(t[n-1]),o}return o}},{key:"reSampleByAngle",value:function(t,e){var o=[],n=t.length;if(null==t||n<=0||e<=0)return o;for(var i=t,l=n,r=!1;SuperMap.Plot.PlottingUtil.equalFuzzy(i[0].x,i[l-1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(i[0].y,i[l-1].y);){if((l-=1)<=0)return o;r=!0}var a,s,u=[];for(a=0;a<l;a++)u.push(0);for(u[0]=1,u[l-1]=1,s=0,a=1;a<l-1;a++)if(SuperMap.Plot.PlottingUtil.distance(i[s],i[a])>1e-10&&SuperMap.Plot.PlottingUtil.distance(i[s],i[a+1])>1e-10){var p=180*SuperMap.Plot.PlottingUtil.InnerAngle(i[a],i[s],i[a+1])/Math.PI;p>e&&p<180-e&&(u[a]=1,s++)}var c=0;for(a=0;a<l;a++)1==u[a]&&c++;if(c>0){for(r&&c++,o=[],s=0,a=0;a<l;a++)1==u[a]&&(o[s++]=i[a]);return r&&(o[s]=o[0]),o}return o}}]),e}();SuperMap.Plot.FreeCurve=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.CombinationalCircle=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.angleRange=[],o.defaultRadius=t.defaultRadius?t.defaultRadius:60,o.CLASS_NAME="SuperMap.Plot.CombinationalCircle",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){if(this.init(),this.controlPoints=SuperMap.Plot.PlottingUtil.clearSamePts(this.controlPoints),!(null==this.controlPoints||this.controlPoints.length<1)){var t=this.getCircleLonLat(this.controlPoints[0],this.defaultRadius);this.angleRange=[];for(var e=0;e<this.controlPoints.length;e++)null==this.scaleValues[e]&&(this.scaleValues[e]=t),this.angleRange.push([{Start:0,End:360}]);for(var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),n=0;n<o.length;n++)if(0!==this.angleRange[n].length&&(0!==this.angleRange[n][0].Start||0!==this.angleRange[n][0].End))for(var i=n+1;i<o.length;i++)if(0!==this.angleRange[i].length&&(0!==this.angleRange[i][0].Start||0!==this.angleRange[i][0].End)){var l=SuperMap.Plot.PlottingUtil.distance(o[n],o[i]);if(l<this.scaleValues[n]+this.scaleValues[i])if(l>Math.abs(this.scaleValues[n]-this.scaleValues[i]))for(var r=0;r<2;r++){var a,s,u;0==r?(u=n,a=SuperMap.Plot.PlottingUtil.radian(o[n],o[i])*SuperMap.Plot.PlottingUtil.RTOD,s=Math.acos((l*l+this.scaleValues[n]*this.scaleValues[n]-this.scaleValues[i]*this.scaleValues[i])/(2*l*this.scaleValues[n]))*SuperMap.Plot.PlottingUtil.RTOD):(u=i,a=SuperMap.Plot.PlottingUtil.radian(o[i],o[n])*SuperMap.Plot.PlottingUtil.RTOD,s=Math.acos((l*l+this.scaleValues[i]*this.scaleValues[i]-this.scaleValues[n]*this.scaleValues[n])/(2*l*this.scaleValues[i]))*SuperMap.Plot.PlottingUtil.RTOD);var p=a-s,c=a+s,y=p<0&&c>0||p>360||c>360;p=this.adjustAngle(p),c=this.adjustAngle(c);for(var h=this.angleRange[u].length-1;h>=0;h--)if(y){if(c>this.angleRange[u][h].End||SuperMap.Plot.PlottingUtil.equalFuzzy(c,this.angleRange[u][h].End)){this.angleRange[u].splice(h,1);continue}if(c>this.angleRange[u][h].Start&&(this.angleRange[u][h].Start=c),p<this.angleRange[u][h].Start||SuperMap.Plot.PlottingUtil.equalFuzzy(p,this.angleRange[u][h].Start)){this.angleRange[u].splice(h,1);continue}p<this.angleRange[u][h].End&&(this.angleRange[u][h].End=p)}else if(p<this.angleRange[u][h].Start&&c>this.angleRange[u][h].End)this.angleRange[u].splice(h,1);else if(p>this.angleRange[u][h].Start&&c<this.angleRange[u][h].End)this.angleRange[u].push({Start:this.angleRange[u][h].Start,End:p}),this.angleRange[u].push({Start:c,End:this.angleRange[u][h].End}),this.angleRange[u].splice(h,1);else{if(p>this.angleRange[u][h].End)continue;if(p>this.angleRange[u][h].Start&&(this.angleRange[u][h].End=p),c<this.angleRange[u][h].Start)continue;c<this.angleRange[u][h].End&&(this.angleRange[u][h].Start=c)}}else{if(this.scaleValues[n]<this.scaleValues[i]){this.angleRange[n][0].Start=0,this.angleRange[n][0].End=0;break}this.angleRange[i][0].Start=0,this.angleRange[i][0].End=0}}for(var P=[],f=0;f<o.length;f++)if(0!==this.angleRange[f].length&&(0!==this.angleRange[f][0].Start||0!==this.angleRange[f][0].End))for(var S=this.angleRange[f].length-1;S>=0;S--){for(var d=this.adjustAngle(this.angleRange[f][S].Start),g=this.adjustAngle(this.angleRange[f][S].End);g<d;)g+=360;if(g-d==360)this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[o[f],new SuperMap.Geometry.Point(o[f].x,o[f].y+this.scaleValues[f])]);else{for(var M=[],m=(g-d)/72,v=d;v<g+m/2;v+=m){var b=o[f].x+this.scaleValues[f]*Math.cos(v*SuperMap.Plot.PlottingUtil.DTOR),T=o[f].y+this.scaleValues[f]*Math.sin(v*SuperMap.Plot.PlottingUtil.DTOR);M.push(new SuperMap.Geometry.Point(b,T))}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),P.push(M)}}for(var A=[];0!==P.length;){var L=P[0];P.splice(0,1),void 0!==(L=this.generatePolygon(P,L))&&A.push(L)}for(var O=[],E=0;E<A.length;E++)O.push(A[E]);for(var x=O.length-1;x>=0;x--)for(var w=0;w<O[x].length;w++){for(var I in O)if(parseInt(I)!==x){var C=O[I];if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(C,O[x][w])){var R=x,_=parseInt(I);O[_].push(O[_][0]),O[R].push(O[R][0]),O[_]=O[_].concat(O[R]),O.splice(R,1);break}}if(!isNaN(R)&&!isNaN(_))break}for(var U=0;U<O.length;U++){var N={type:SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,positionPoints:O[U],style:{surroundLineFlag:!1,lineWidthLimit:!0,weight:0,strokeWidth:0}};this.components.splice(0,0,N)}for(var D=0;D<o.length;D++){var B=new SuperMap.Geometry.Point(o[D].x+this.scaleValues[D],o[D].y);B.isScalePoint=!0,B.tag=D,this.addScalePoint(B)}}}},{key:"generatePolygon",value:function(t,e){if(0===t.length||SuperMap.Plot.PlottingUtil.equalFuzzy(e[0].x,e[e.length-1].x,1e-7)&&SuperMap.Plot.PlottingUtil.equalFuzzy(e[0].y,e[e.length-1].y,1e-7))return e;for(var o,n=e[e.length-1],i=0;i<t.length;i++)if(SuperMap.Plot.PlottingUtil.equalFuzzy(t[i][0].x,n.x,1e-7)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t[i][0].y,n.y,1e-7)){if(e=e.concat(t[i]),t.splice(i,1),void 0!==(o=this.generatePolygon(t,e))&&0!==o.length)return o}else if(SuperMap.Plot.PlottingUtil.equalFuzzy(t[i][t[i].length-1].x,n.x,1e-7)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t[i][t[i].length-1].y,n.y,1e-7)){for(var l=t[i].length-1;l>=0;l--)e.push(t[i][l]);if(t.splice(i,1),void 0!==(o=this.generatePolygon(t,e))&&0!==o.length)return o}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>=this.controlPoints.length)return;var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),n=SuperMap.Plot.PlottingUtil.distance(o[t],e);this.scaleValues[t]=n}this.calculateParts()}},{key:"adjustAngle",value:function(t){for(;t>360;)t-=360;for(;t<0;)t+=360;return t}},{key:"getCircleLonLat",value:function(t,e){return null===this.map?2*this.getDefaultSubSymbolSize():this.map&&"undefined"!=typeof L&&void 0!==L.Map&&this.map instanceof L.Map?((o=this.map.latLngToLayerPoint(L.latLng(t.y,t.x))).x+=e,this.map.layerPointToLatLng(L.point(o.x,o.y)).lng-t.x):this.map&&"undefined"!=typeof SuperMap&&void 0!==SuperMap.Map&&this.map instanceof SuperMap.Map?((o=this.map.getPixelFromLonLat(new SuperMap.LonLat(t.x,t.y))).x+=e,this.map.getLonLatFromPixel(new SuperMap.Pixel(o.x,o.y)).lon-t.x):void 0;var o}}]),e}();SuperMap.Plot.CombinationalCircle=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.ConcentricCircle=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return void 0===o.scaleValues[0]&&(o.scaleValues[0]=0),void 0===o.scaleValues[1]&&(o.scaleValues[1]=360),o.CLASS_NAME="SuperMap.Plot.ConcentricCircle",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!(null==(t=SuperMap.Plot.PlottingUtil.clearSamePts(t))||t.length<2)){for(2==t.length&&t.push(t[1].clone());this.scaleValues[0]>360;)this.scaleValues[0]-=360;for(;this.scaleValues[0]<0;)this.scaleValues[0]+=360;for(;this.scaleValues[1]>360;)this.scaleValues[1]-=360;for(;this.scaleValues[1]<0;)this.scaleValues[1]+=360;for(;this.scaleValues[1]<=this.scaleValues[0];)this.scaleValues[1]+=360;for(var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),o=SuperMap.Plot.PlottingUtil.distance(t[0],t[2]),n=[],i=[],l=Math.PI/180,r=(this.scaleValues[1]-this.scaleValues[0])/72,a=this.scaleValues[0];a<this.scaleValues[1]+r/2;a+=r){var s=t[0].x+e*Math.cos(a*l),u=t[0].y+e*Math.sin(a*l),p=t[0].x+o*Math.cos(a*l),c=t[0].y+o*Math.sin(a*l);n.push(new SuperMap.Geometry.Point(s,u)),i.push(new SuperMap.Geometry.Point(p,c))}for(var y=[],h=0;h<n.length;h++)y.push(n[h]);y.push(n[0]);for(var P=i.length-1;P>=0;P--)y.push(i[P]);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,y,{surroundLineFlag:!1,lineWidthLimit:!0,weight:0,strokeWidth:0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);var f=t[0].x+e/2*Math.cos(this.scaleValues[0]*l),S=t[0].y+e/2*Math.sin(this.scaleValues[0]*l),d=t[0].x+o/2*Math.cos(this.scaleValues[1]*l),g=t[0].y+o/2*Math.sin(this.scaleValues[1]*l),M=new SuperMap.Geometry.Point(f,S);M.isScalePoint=!0,M.tag=0,this.addScalePoint(M);var m=new SuperMap.Geometry.Point(d,g);m.isScalePoint=!0,m.tag=1,this.addScalePoint(m)}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){for(var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),n=180*SuperMap.Plot.PlottingUtil.radian(o[0],e)/Math.PI;n>360;)n-=360;for(;n<0;)n+=360;0==t?this.scaleValues[0]=n:1==t&&(this.scaleValues[1]=n)}this.calculateParts()}}]),e}();SuperMap.Plot.ConcentricCircle=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.SymbolTextBox=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.roundBox=!!t.roundBox&&t.roundBox,o.textBoxType=t.textBoxType?t.textBoxType:SuperMap.Plot.TextBoxType.WITHTIPBOX,0===o.scaleValues.length&&(o.scaleValues.push(.126),o.scaleValues.push(0),o.scaleValues.push(0)),o.CLASS_NAME="SuperMap.Plot.SymbolTextBox",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){this.roundBox=null,this.textBoxType=null,function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){this.init();var t=this.scaleValues[0];if(!(t<0||t>1)){if(t=(1-t)/2,this.controlPoints.length>=this.minEditPts){var e,o,n,i;this.scalePoints=[];var l=[];this.controlPoints[0].x<this.controlPoints[1].x?(e=this.controlPoints[0].x,n=this.controlPoints[1].x):(e=this.controlPoints[1].x,n=this.controlPoints[0].x),this.controlPoints[0].y<this.controlPoints[1].y?(i=this.controlPoints[0].y,o=this.controlPoints[1].y):(i=this.controlPoints[1].y,o=this.controlPoints[0].y);var r=1,a=2,s=3,u=4;if(this.roundBox){var p=Math.max(e,n),c=Math.min(e,n),y=Math.max(o,i),h=Math.min(o,i),P=.1*Math.min(Math.abs(e-n),Math.abs(o-i)),f=new SuperMap.Geometry.Point(c+P,h+P),S=new SuperMap.Geometry.Point(c+P,y-P),d=new SuperMap.Geometry.Point(p-P,y-P),g=new SuperMap.Geometry.Point(p-P,h+P),M=this.calculateArc(f,P,3*Math.PI/2,Math.PI,-1,180),m=this.calculateArc(S,P,Math.PI,Math.PI/2,-1,180),v=this.calculateArc(d,P,Math.PI/2,0,-1,180),b=this.calculateArc(g,P,2*Math.PI,3*Math.PI/2,-1,180);r=M.length,a=M.length+m.length,s=M.length+m.length+v.length,u=M.length+m.length+v.length+b.length,l=M.concat(m,v,b)}else l.push(new SuperMap.Geometry.Point(e,i)),l.push(new SuperMap.Geometry.Point(e,o)),l.push(new SuperMap.Geometry.Point(n,o)),l.push(new SuperMap.Geometry.Point(n,i));this.isEdit||(this.scaleValues[1]=e+.1*(n-e),this.scaleValues[2]=i+-.3*(o-i));var T=new SuperMap.Geometry.Point(this.scaleValues[1],this.scaleValues[2]),A=this.getAction(this.scaleValues[1],this.scaleValues[2],e,o,n,i);if(this.textBoxType===SuperMap.Plot.TextBoxType.WITHTIPBOX)switch(this.addScalePoint(T,0),A){case 0:break;case 1:this.addScalePoint(new SuperMap.Geometry.Point(e,o-(o-i)*t)),l.splice(r,0,new SuperMap.Geometry.Point(e,o-(o-i)*t)),l.splice(r,0,T),l.splice(r,0,new SuperMap.Geometry.Point(e,i+(o-i)*t));break;case 2:this.addScalePoint(new SuperMap.Geometry.Point(n-(n-e)*t,o)),l.splice(a,0,new SuperMap.Geometry.Point(n-(n-e)*t,o)),l.splice(a,0,T),l.splice(a,0,new SuperMap.Geometry.Point(e+(n-e)*t,o));break;case 3:this.addScalePoint(new SuperMap.Geometry.Point(n,o-(o-i)*t)),l.splice(s,0,new SuperMap.Geometry.Point(n,i+(o-i)*t)),l.splice(s,0,T),l.splice(s,0,new SuperMap.Geometry.Point(n,o-(o-i)*t));break;case 4:this.addScalePoint(new SuperMap.Geometry.Point(n-(n-e)*t,i)),l.splice(u,0,new SuperMap.Geometry.Point(e+(n-e)*t,i)),l.splice(u,0,T),l.splice(u,0,new SuperMap.Geometry.Point(n-(n-e)*t,i))}if(0!==l.length)if(this.textBoxType===SuperMap.Plot.TextBoxType.NONEBOX){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l,{surroundLineFlag:!1,weight:0,lineWidthLimit:!0})}else this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l)}else this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,this.controlPoints);this.annotationContent(e,o,n,i),this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint)if(0===t)this.scaleValues[1]=e.x,this.scaleValues[2]=e.y;else if(1===t){var o,n,i,l,r,a,s=this.scalePoints[0];this.controlPoints[0].x<this.controlPoints[1].x?(o=this.controlPoints[0].x,i=this.controlPoints[1].x):(o=this.controlPoints[1].x,i=this.controlPoints[0].x),this.controlPoints[0].y<this.controlPoints[1].y?(l=this.controlPoints[0].y,n=this.controlPoints[1].y):(l=this.controlPoints[1].y,n=this.controlPoints[0].y),r=this.scaleValues[1],a=this.scaleValues[2];var u=(n-l)/(i-o),p=.25;switch(r<o?a>n?Math.abs((a-n)/(r-o))>u?2:1:a<l&&Math.abs((a-l)/(r-o))>u?4:1:r>i?a>n?Math.abs((a-n)/(r-i))>u?2:3:a<l&&Math.abs((a-l)/(r-i))>u?4:3:a>n?2:a<l?4:0){case 1:case 3:var c=s.y+(e.y-s.y);c>n&&(c=n),c<(n+l)/2&&(c=(n+l)/2),p=1-2*(n-c)/(n-l);break;case 2:case 4:var y=s.x+(e.x-s.x);y>i&&(y=i),y<(o+i)/2&&(y=(o+i)/2),p=1-2*(i-y)/(i-o)}p<0&&(p=0),p>1&&(p=1),this.scaleValues[0]=p}this.calculateParts()}},{key:"calculateArc",value:function(t,e,o,n,i,l){(!i||1!=i&&-1!=i)&&(i=-1),l||(l=360);for(var r=Math.PI/l/2,a=r*i,s=Math.abs(n-o),u=[],p=o,c=0;c<s;c+=r){var y=new SuperMap.Geometry.Point(Math.cos(p)*e+t.x,Math.sin(p)*e+t.y);u.push(y),p=(p=(p+=a)<0?p+2*Math.PI:p)>2*Math.PI?p-2*Math.PI:p}return u}},{key:"getAction",value:function(t,e,o,n,i,l){var r=(n-l)/(i-o);return t<o?e>n?Math.abs((e-n)/(t-o))>r?2:1:e<l&&Math.abs((e-l)/(t-o))>r?4:1:t>i?e>n?Math.abs((e-n)/(t-i))>r?2:3:e<l&&Math.abs((e-l)/(t-i))>r?4:3:e>n?2:e<l?4:0}}]),e}();SuperMap.Plot.SymbolTextBox=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GeoTooltipBoxM=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(0),o.scaleValues.push(0),o.scaleValues.push(0),o.scaleValues.push(0)),o.CLASS_NAME="SuperMap.Plot.GeoTooltipBoxM",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destory",this).call(this)}},{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=this.minEditPts){var e,o,n,i;t[0].x<t[1].x?(e=t[0].x,n=t[1].x):(e=t[1].x,n=t[0].x),t[0].y<t[1].y?(i=t[0].y,o=t[1].y):(i=t[1].y,o=t[0].y),this.scalePoints=[];var l=[];l.push(new SuperMap.Geometry.Point(e,i)),l.push(new SuperMap.Geometry.Point(e,o)),l.push(new SuperMap.Geometry.Point(n,o)),l.push(new SuperMap.Geometry.Point(n,i)),this.isEdit||(this.scaleValues[0]=e,this.scaleValues[1]=i-.3*(o-i),this.scaleValues[2]=e+.5*(n-e),this.scaleValues[3]=i-.3*(o-i));for(var r=[],a=[],s=0;s<this.scaleValues.length/2;s++)r.push(this.getAction(this.scaleValues[2*s],this.scaleValues[2*s+1],e,o,n,i)),a.push(new SuperMap.Geometry.Point(this.scaleValues[2*s],this.scaleValues[2*s+1]));for(var u,p,c,y,h=a.length,P=[],f=[],S=[],d=[],g=[],M=0;M<r.length;M++)0===r[M]&&P.push(a[M]),1===r[M]&&f.push(a[M]),2===r[M]&&S.push(a[M]),3===r[M]&&d.push(a[M]),4===r[M]&&g.push(a[M]);var m=r.slice();m.sort();var v=new SuperMap.Geometry.Point(0,0);if(m[0]===m[m.length-1]&&0!==m[0]){var b=[];switch(m[0]){case 0:break;case 1:u=1/(2*f.length+1);for(var T=new SuperMap.Geometry.Point,A=0;A<2*f.length;A++)T=new SuperMap.Geometry.Point(e,i+(o-i)*u*(A+1)),b.unshift(T);break;case 2:p=1/(2*S.length+1);for(var L=new SuperMap.Geometry.Point,O=0;O<2*S.length;O++)L=new SuperMap.Geometry.Point(e+(n-e)*p*(O+1),o),b.unshift(L);break;case 3:c=1/(2*d.length+1);for(var E=new SuperMap.Geometry.Point,x=0;x<2*d.length;x++)E=new SuperMap.Geometry.Point(n,i+(o-i)*c*(x+1)),b.push(E);break;case 4:y=1/(2*g.length+1);for(var w=new SuperMap.Geometry.Point,I=0;I<2*g.length;I++)w=new SuperMap.Geometry.Point(e+(n-e)*y*(I+1),i),b.push(w)}for(var C=0;C<h;C++)for(var R=0;R<h;R++){var _=SuperMap.Plot.PlottingUtil.intersectLineSegs(b[2*C+1],a[C],b[2*R],a[R],v);if(_&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.x,b[2*C+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.y,b[2*C+1].y)&&(_=!1),_){var U=a[R].clone();a[R]=a[C],a[C]=U}}for(var N=0;N<h;N++)l.splice(m[0],0,b[2*N]),l.splice(m[0],0,a[N]),l.splice(m[0],0,b[2*N+1])}else{for(var D,B,G=[],k=[],V=[],Y=[],F=0;F<r.length;F++)switch(r[F]){case 0:break;case 1:u=1/(2*f.length+1);for(var j=0;j<2*f.length;j++){var z=new SuperMap.Geometry.Point(e,i+(o-i)*u*(j+1));G.unshift(z)}for(var W=0;W<f.length;W++)for(var H=1;H<f.length;H++)(D=SuperMap.Plot.PlottingUtil.intersectLineSegs(G[2*W+1],f[W],G[2*H],f[H],v))&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.x,G[2*W+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.y,G[2*W+1].y)&&(D=!1),D&&(B=f[H].clone(),f[H]=f[W],f[W]=B);break;case 2:p=1/(2*S.length+1);for(var q=0;q<2*S.length;q++){var J=new SuperMap.Geometry.Point(e+(n-e)*p*(q+1),o);k.unshift(J)}for(var X=0;X<S.length;X++)for(var K=1;K<S.length;K++)(D=SuperMap.Plot.PlottingUtil.intersectLineSegs(k[2*X+1],S[X],k[2*K],S[K],v))&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.x,k[2*X+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.y,k[2*X+1].y)&&(D=!1),D&&(B=S[K].clone(),S[K]=S[X],S[X]=B);break;case 3:c=1/(2*d.length+1);for(var Q=0;Q<2*d.length;Q++){var Z=new SuperMap.Geometry.Point(n,i+(o-i)*c*(Q+1));V.push(Z)}for(var $=0;$<d.length;$++)for(var tt=1;tt<d.length;tt++)(D=SuperMap.Plot.PlottingUtil.intersectLineSegs(V[2*$+1],d[$],V[2*tt],d[tt],v))&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.x,V[2*$+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.y,V[2*$+1].y)&&(D=!1),D&&(B=d[tt].clone(),d[tt]=d[$],d[$]=B);break;case 4:y=1/(2*g.length+1);for(var et=0;et<2*g.length;et++){var ot=new SuperMap.Geometry.Point(e+(n-e)*y*(et+1),i);Y.push(ot)}for(var nt=0;nt<g.length;nt++)for(var it=1;it<g.length;it++)(D=SuperMap.Plot.PlottingUtil.intersectLineSegs(Y[2*nt+1],g[nt],Y[2*it],g[it],v))&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.x,Y[2*nt+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.y,Y[2*nt+1].y)&&(D=!1),D&&(B=g[it].clone(),g[it]=g[nt],g[nt]=B)}for(var lt=0;lt<g.length;lt++)l.splice(4,0,Y[2*lt]),l.splice(4,0,g[lt]),l.splice(4,0,Y[2*lt+1]);for(var rt=0;rt<d.length;rt++)l.splice(3,0,V[2*rt]),l.splice(3,0,d[rt]),l.splice(3,0,V[2*rt+1]);for(var at=0;at<S.length;at++)l.splice(2,0,k[2*at]),l.splice(2,0,S[at]),l.splice(2,0,k[2*at+1]);for(var st=0;st<f.length;st++)l.splice(1,0,G[2*st]),l.splice(1,0,f[st]),l.splice(1,0,G[2*st+1])}for(var ut=0;ut<a.length;ut++)this.addScalePoint(a[ut],ut)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l),this.annotationContent(e,o,n,i),this.finish()}},{key:"modifyPoint",value:function(t,e){!0===e.isScalePoint&&(null==t&&void 0===t||(this.scaleValues[2*t]=e.x,this.scaleValues[2*t+1]=e.y)),this.calculateParts()}},{key:"getAction",value:function(t,e,o,n,i,l){var r=(n-l)/(i-o);return t<o?e>n?Math.abs((e-n)/(t-o))>r?2:1:e<l&&Math.abs((e-l)/(t-o))>r?4:1:t>i?e>n?Math.abs((e-n)/(t-i))>r?2:3:e<l&&Math.abs((e-l)/(t-i))>r?4:3:e>n?2:e<l?4:0}}]),e}();SuperMap.Plot.GeoTooltipBoxM=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GeoTooltipBox=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.126),o.CLASS_NAME="SuperMap.Plot.GeoTooltipBox",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){this.init();var t=this.scaleValues[0];if(!(t<0||t>1)){if(t=(1-t)/2,this.controlPoints.length>=this.minEditPts){var e,o,n,i,l,r;this.controlPoints[2]&&(this.controlPoints[2].isFixedPos=!0),this.controlPoints[0].x<this.controlPoints[1].x?(e=this.controlPoints[0].x,n=this.controlPoints[1].x):(e=this.controlPoints[1].x,n=this.controlPoints[0].x),this.controlPoints[0].y<this.controlPoints[1].y?(i=this.controlPoints[0].y,o=this.controlPoints[1].y):(i=this.controlPoints[1].y,o=this.controlPoints[0].y),l=this.controlPoints[2].x,r=this.controlPoints[2].y;var a=0,s=(o-i)/(n-e);a=l<e?r>o?Math.abs((r-o)/(l-e))>s?2:1:r<i&&Math.abs((r-i)/(l-e))>s?4:1:l>n?r>o?Math.abs((r-o)/(l-n))>s?2:3:r<i&&Math.abs((r-i)/(l-n))>s?4:3:r>o?2:r<i?4:0,this.scalePoints=[];var u=[];switch(u.push(new SuperMap.Geometry.Point(e,i)),u.push(new SuperMap.Geometry.Point(e,o)),u.push(new SuperMap.Geometry.Point(n,o)),u.push(new SuperMap.Geometry.Point(n,i)),a){case 0:break;case 1:this.addScalePoint(new SuperMap.Geometry.Point(e,o-(o-i)*t)),u.splice(a,0,new SuperMap.Geometry.Point(e,o-(o-i)*t)),u.splice(a,0,this.controlPoints[2].clone()),u.splice(a,0,new SuperMap.Geometry.Point(e,i+(o-i)*t));break;case 2:this.addScalePoint(new SuperMap.Geometry.Point(n-(n-e)*t,o)),u.splice(a,0,new SuperMap.Geometry.Point(n-(n-e)*t,o)),u.splice(a,0,this.controlPoints[2].clone()),u.splice(a,0,new SuperMap.Geometry.Point(e+(n-e)*t,o));break;case 3:this.addScalePoint(new SuperMap.Geometry.Point(n,o-(o-i)*t)),u.splice(a,0,new SuperMap.Geometry.Point(n,i+(o-i)*t)),u.splice(a,0,this.controlPoints[2].clone()),u.splice(a,0,new SuperMap.Geometry.Point(n,o-(o-i)*t));break;case 4:this.addScalePoint(new SuperMap.Geometry.Point(n-(n-e)*t,i)),u.splice(a,0,new SuperMap.Geometry.Point(e+(n-e)*t,i)),u.splice(a,0,this.controlPoints[2].clone()),u.splice(a,0,new SuperMap.Geometry.Point(n-(n-e)*t,i))}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u),this.annotationContent(e,o,n,i)}this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint&&0==t){var o,n,i,l,r,a,s=this.scalePoints[0];this.controlPoints[0].x<this.controlPoints[1].x?(o=this.controlPoints[0].x,i=this.controlPoints[1].x):(o=this.controlPoints[1].x,i=this.controlPoints[0].x),this.controlPoints[0].y<this.controlPoints[1].y?(l=this.controlPoints[0].y,n=this.controlPoints[1].y):(l=this.controlPoints[1].y,n=this.controlPoints[0].y),r=this.controlPoints[2].x,a=this.controlPoints[2].y;var u=(n-l)/(i-o),p=.25;switch(r<o?a>n?Math.abs((a-n)/(r-o))>u?2:1:a<l&&Math.abs((a-l)/(r-o))>u?4:1:r>i?a>n?Math.abs((a-n)/(r-i))>u?2:3:a<l&&Math.abs((a-l)/(r-i))>u?4:3:a>n?2:a<l?4:0){case 1:case 3:var c=s.y+(e.y-s.y);c>n&&(c=n),c<(n+l)/2&&(c=(n+l)/2),p=1-2*(n-c)/(n-l);break;case 2:case 4:var y=s.x+(e.x-s.x);y>i&&(y=i),y<(o+i)/2&&(y=(o+i)/2),p=1-2*(i-y)/(i-o)}p<0&&(p=0),p>1&&(p=1),this.scaleValues[0]=p}this.calculateParts()}}]),e}();SuperMap.Plot.GeoTooltipBox=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Trapezoid=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.CLASS_NAME="SuperMap.Plot.Trapezoid",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){var e=[],o=t[0],n=t[1],i=t[2],l=new SuperMap.Geometry.Point(0,0);this.GetPointsByTrapezoid(1,i,n,o,l),e.push(o),e.push(n),e.push(i),e.push(l);var r=SuperMap.Plot.PlottingUtil.intersectLines(o,n,i,l),a=r.intersectPoint;r.isIntersectLines&&(a.x>o.x&&a.x<n.x||a.y>o.y&&a.y<n.y||a.x<o.x&&a.x>n.x||a.y<o.y&&a.y>n.y)&&(e[0]=l,e[3]=o),4==e.length&&this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e)}}},{key:"GetPointsByTrapezoid",value:function(t,e,o,n,i){var l=e.x,r=e.y,a=o.x,s=o.y,u=n.x,p=n.y,c=0,y=0,h=0,P=0;if(SuperMap.Plot.PlottingUtil.equalFuzzy(Math.abs(r-s),0))c=l+a-u,y=p;else if(SuperMap.Plot.PlottingUtil.equalFuzzy(Math.abs(l-a),0))c=u,y=r+s-p;else{var f=1*(r-s)/(l-a),S=p-f*u;y=f*(c=((s+r)/2+(l+a)/(2*f)-S)/(f+1/f))+S,c=2*c-u,y=2*y-p}var d=Math.sqrt(1*(l-a)*(l-a)+1*(r-s)*(r-s)),g=Math.sqrt(1*(l-c)*(l-c)+1*(r-y)*(r-y));d>0?(h=l+(a-l)*g/d,P=r+(s-r)*g/d):(h=l,P=r);var M=h+(c-h)*t,m=P+(y-P)*t;i.x=M,i.y=m}}]),e}();SuperMap.Plot.Trapezoid=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Brace=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.1),o.scaleValues.push(.1)),o.CLASS_NAME="SuperMap.Plot.Brace",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],o=t[1],n=SuperMap.Plot.PlottingUtil.distance(e,o);this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(.1));for(var i=this.scaleValues[0],l=this.scaleValues[1],r=new SuperMap.Geometry.Point(n*i,n*i),a=new SuperMap.Geometry.Point(n*(.5-l/2),0),s=new SuperMap.Geometry.Point(.5*n,-n*l),u=new SuperMap.Geometry.Point(n*(.5+l/2),0),p=new SuperMap.Geometry.Point(n*(1-i),n*i),c=[],y=180*Math.PI/180,h=270*Math.PI/180,P=3*Math.PI/180,f=y;f<=h;f+=P){var S=new SuperMap.Geometry.Point(r.x+n*i,r.y);S=SuperMap.Plot.PlottingUtil.rotateAngle(r,f,S),c.push(S)}c.push(a),c.push(s),c.push(u),y=270*Math.PI/180,h=360*Math.PI/180;for(var d=y;d<=h;d+=P){var g=new SuperMap.Geometry.Point(p.x+n*i,p.y);g=SuperMap.Plot.PlottingUtil.rotateAngle(p,d,g),c.push(g)}for(var M=SuperMap.Plot.PlottingUtil.radian(e,o),m=[],v=0;v<c.length;v++){var b=new SuperMap.Geometry.Point(c[v].x+e.x,c[v].y+e.y);b=SuperMap.Plot.PlottingUtil.rotateAngle(e,M,b),m.push(b)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m),this.scalePoints=[];var T=new SuperMap.Geometry.Point(n*i,0),A=new SuperMap.Geometry.Point(T.x+e.x,T.y+e.y);(A=SuperMap.Plot.PlottingUtil.rotateAngle(e,M,A)).isScalePoint=!0,A.tag=0,this.addScalePoint(A);var L=new SuperMap.Geometry.Point(s.x+e.x,s.y+e.y);SuperMap.Plot.PlottingUtil.rotateAngle(e,M,L),L.isScalePoint=!0,L.tag=1,this.addScalePoint(L)}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),n=SuperMap.Plot.PlottingUtil.distance(o[0],o[1]);if(0==t){var i=SuperMap.Plot.PlottingUtil.distance(o[0],e)/n;i>0&&i<.4&&(this.scaleValues[0]=i)}else if(1==t){var l=new SuperMap.Geometry.Point((o[0].x+o[1].x)/2,(o[0].y+o[1].y)/2),r=SuperMap.Plot.PlottingUtil.distance(e,l)/n;0<r&&.2>r&&(this.scaleValues[1]=r)}}this.calculateParts()}}]),e}();SuperMap.Plot.Brace=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.RegularPolygon=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(1),o.CLASS_NAME="SuperMap.Plot.RegularPolygon",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){if(this.init(),!(this.controlPoints.length<this.minEditPts)){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),e=this.controlPoints.length+1,o=2*Math.PI/e;if(!this.isEdit){var n=this.controlPoints[this.controlPoints.length-1],i=new SuperMap.Geometry.Point(this.controlPoints[this.controlPoints.length-1].x,this.controlPoints[this.controlPoints.length-1].y);SuperMap.Plot.PlottingUtil.rotateAngle(this.controlPoints[0],o,i),this.scaleValues[0]=SuperMap.Plot.PlottingUtil.distance(t[0],this.calculateMidPt(n,i))/SuperMap.Plot.PlottingUtil.distance(t[0],t[t.length-1])}var l=[],r=this.controlPoints[this.controlPoints.length-1].clone();l.push(r.clone()),r=SuperMap.Plot.PlottingUtil.rotateAngle(this.controlPoints[0],o/2,r);var a=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(this.scaleValues[0],this.controlPoints[0],r);l.push(a);for(var s=1;s<e;s++)r=SuperMap.Plot.PlottingUtil.rotateAngle(this.controlPoints[0],o/2,r),l.push(r.clone()),r=SuperMap.Plot.PlottingUtil.rotateAngle(this.controlPoints[0],o/2,r),a=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(this.scaleValues[0],this.controlPoints[0],r),l.push(a);var u=l[1];this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l,{surroundLineFlag:!1,fill:!1}),this.addScalePoint(u),this.finish()}}},{key:"calculateMidPt",value:function(t,e){return new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2)}},{key:"modifyPoint",value:function(t,e){if(0===t&&!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[this.controlPoints.length-1]),n=this.scalePoints[0],i=SuperMap.Plot.PlottingUtil.projectPoint(e,this.controlPoints[0],n),l=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],i);this.scaleValues[0]=l/o}this.calculateParts()}}]),e}();SuperMap.Plot.RegularPolygon=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.ArrowLine=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.arrowAngle=t.arrowAngle?t.arrowAngle:45,0===o.scaleValues.length&&(o.scaleValues.push(.3),o.scaleValues.push(0),o.scaleValues.push(0)),o.CLASS_NAME="SuperMap.Plot.ArrowLine",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){if(this.init(),!(null==this.controlPoints||this.controlPoints.length<this.minEditPts)){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);t=SuperMap.Plot.PlottingUtil.clearSamePts(t);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue(o));var n,i=this.scaleValues[0]*o,l=this.arrowAngle*Math.PI/180/2,r=(n=e.length>2?SuperMap.Plot.PlottingUtil.radian(e[e.length-1],e[e.length-2]):SuperMap.Plot.PlottingUtil.radian(e[1],e[0]))-l,a=e[e.length-1].x+i*Math.cos(r),s=e[e.length-1].y+i*Math.sin(r),u=new SuperMap.Geometry.Point(a,s),p=n+l,c=e[e.length-1].x+i*Math.cos(p),y=e[e.length-1].y+i*Math.sin(p),h=new SuperMap.Geometry.Point(c,y),P=[];P.push(u),P.push(e[e.length-1].clone()),P.push(h);var f={surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0},S=SuperMap.Plot.PlottingUtil.radian(e[0],e[1]);r=S-l,a=e[0].x+i*Math.cos(r),s=e[0].y+i*Math.sin(r),u=new SuperMap.Geometry.Point(a,s),p=S+l,c=e[0].x+i*Math.cos(p),y=e[0].y+i*Math.sin(p),h=new SuperMap.Geometry.Point(c,y);var d=[];d.push(u),d.push(e[0].clone()),d.push(h);var g=this.scaleValues[1]===SuperMap.Plot.ArrowLineType.DOUBLELINE?SuperMap.Plot.SymbolType.POLYLINESYMBOL:SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M=this.scaleValues[2]===SuperMap.Plot.ArrowLineType.DOUBLELINE?SuperMap.Plot.SymbolType.POLYLINESYMBOL:SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL;this.scaleValues[1]===SuperMap.Plot.ArrowLineType.DOUBLELINE?this.addCell(g,d,f):this.scaleValues[1]===SuperMap.Plot.ArrowLineType.TRIANGLESOLID&&this.addCell(g,d,f),this.scaleValues[2]===SuperMap.Plot.ArrowLineType.DOUBLELINE?this.addCell(M,P,f):this.scaleValues[2]===SuperMap.Plot.ArrowLineType.TRIANGLESOLID&&this.addCell(M,P,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.finish()}}}]),e}();SuperMap.Plot.ArrowLine=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.style=null,this.libID=e.libID?e.libID:0,this.code=e.code?e.code:0,this.maxEditPts=e.maxEditPts?e.maxEditPts:SuperMap.Plot.AlgoSymbolFactory.getMaxEditPts(e.libID,e.code),this.minEditPts=e.minEditPts?e.minEditPts:SuperMap.Plot.AlgoSymbolFactory.getMinEditPts(e.libID,e.code),this.isEdit=!!e.isEdit&&e.isEdit,this.controlPoints=e.controlPoints?e.controlPoints:[],this.scalePoints=e.scalePoints?e.scalePoints:[],this.scaleValues=e.scaleValues?e.scaleValues:[],this.subSymbols=e.subSymbols?e.subSymbols:SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(e.libID,e.code),this.polylineConnectLocationPoint=!!e.polylineConnectLocationPoint&&e.polylineConnectLocationPoint,this.style=e.style?e.style:SuperMap.Plot.PlottingUtil.copyAttributes(this.style,SuperMap.Plot.AlgoSymbolFactory.getDefaultStyle(e.libID,e.code)),this.textContent=e.textContent?e.textContent:"",this.map=e.map?e.map:null,this.scene=e.scene?e.scene:null,this.subSymbolDefaultPixelSize=e.subSymbolDefaultPixelSize?e.subSymbolDefaultPixelSize:30,this.components=[],this.symbolType=0===this.libID?this.code:2}return n(t,[{key:"addScalePoint",value:function(t,e){if(null!=t){void 0!==e&&null!==e||(e=this.scalePoints.length);var o=new SuperMap.Geometry.Point(t.x,t.y);o.isScalePoint=!0,o.tag=e,this.scalePoints.push(o)}}},{key:"setOptions",value:function(t){if(t)for(var e in this)t[e]&&(this[e]=t[e])}},{key:"getAlgorithmResult",value:function(t){t.components=this.components,t.scalePoints=this.scalePoints,t.scaleValues=this.scaleValues}}]),n(t,[{key:"destroy",value:function(){this.minEditPts=null,this.maxEditPts=null,this.controlPoints.length=0,this.controlPoints=null,this.scalePoints.length=0,this.scalePoints=null,this.scaleValues.length=0,this.scaleValues=null,this.subSymbols.length=0,this.subSymbols=null,this.subSymbolSize=0,this.components=[],this.style=null}},{key:"init",value:function(){if(this.components=[],this.scalePoints=[],this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),this.maxEditPts<this.controlPoints.length&&this.symbolType!==SuperMap.Plot.SymbolType.ELLIPSESYMBOL){var t=this.controlPoints.shift(),e=this.controlPoints.pop();this.controlPoints=[],this.controlPoints.push(t,e)}}},{key:"finish",value:function(){}},{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clearSamePts(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clonePoints(t),this.controlPoints.length>=this.minEditPts){var e={textContent:this.textContent,type:this.symbolType,surroundLineFlag:!1,positionPoints:t,style:{}};if(e.type===SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL&&e.positionPoints.push(e.positionPoints[0]),this.symbolType===SuperMap.Plot.SymbolType.PARALLELLINE){if(this.controlPoints&&this.controlPoints.length>=3){var o=!1;void 0!==this.controlPoints[0].z&&(o=!0);var n=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[1]);SuperMap.Plot.PlottingUtil.isRight(this.controlPoints[0],this.controlPoints[1],this.controlPoints[2])&&(n=-n);for(var i=[],l=1;l<this.controlPoints.length;l++)i.push(this.controlPoints[l].clone());var r=SuperMap.Plot.PlottingUtil.parallel(i,n);if(this.controlPoints[0].x=r[0].x,this.controlPoints[0].y=r[0].y,o)for(var a=0;a<i.length;a++)r[a].z=i[a].z;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r)}}else this.components.push(e)}}},{key:"modifyPoint",value:function(t,e){if(0===this.libID&&31===this.code){if(0===t)return this.controlPoints[0].x=(this.controlPoints[1].x+this.controlPoints[3].x)/2,void(this.controlPoints[0].y=(this.controlPoints[1].y+this.controlPoints[3].y)/2);var o=-1;0===(o=(t+2)%4)&&(o=4);var n=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[t]),i=SuperMap.Plot.PlottingUtil.findPointInLine(this.controlPoints[0],this.controlPoints[o],n),l=new SuperMap.Geometry.Point(2*this.controlPoints[0].x-i.x,2*this.controlPoints[0].y-i.y),r=this.getPixelFromLonLat(i.x,i.y),a=this.getPixelFromLonLat(l.x,l.y),s=!1;(SuperMap.Plot.PlottingUtil.equalFuzzy(r.x-a.x,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(r.y-a.y,0))&&(s=!0),s?(this.controlPoints[o].x=l.x,this.controlPoints[o].y=l.y,this.controlPoints[t].x=i.x,this.controlPoints[t].y=i.y):(this.controlPoints[o].x=i.x,this.controlPoints[o].y=i.y,this.controlPoints[t].x=l.x,this.controlPoints[t].y=l.y)}else this.computeScaleValues(t,e),this.calculateParts()}},{key:"computeScaleValues",value:function(){}},{key:"getLonLatDistanceFromPixel",value:function(t){if(null===this.map)return 0;var e,o;if(this.map&&"undefined"!=typeof L&&void 0!==L.Map&&this.map instanceof L.Map){var n=this.map.layerPointToLatLng(L.point(0,0)),i=this.map.layerPointToLatLng(L.point(t,0));e=new SuperMap.Geometry.Point(n.lng,n.lat),o=new SuperMap.Geometry.Point(i.lng,i.lat)}else if(this.map&&"undefined"!=typeof SuperMap&&void 0!==SuperMap.Map&&this.map instanceof SuperMap.Map){n=this.map.getLonLatFromPixel(new SuperMap.Pixel(0,0)),i=this.map.getLonLatFromPixel(new SuperMap.Pixel(t,0));e=new SuperMap.Geometry.Point(n.lon,n.lat),o=new SuperMap.Geometry.Point(i.lon,i.lat)}return SuperMap.Plot.PlottingUtil.distance(e,o)}},{key:"getPixelFromLonLat",value:function(t,e){if(this.map&&"undefined"!=typeof L&&void 0!==L.Map&&this.map instanceof L.Map){var o=this.map.latLngToLayerPoint(L.latLng(e,t));return{x:o.x,y:o.y}}if(this.map&&"undefined"!=typeof SuperMap&&void 0!==SuperMap.Map&&this.map instanceof SuperMap.Map){var n=this.map.getPixelFromLonLat(new SuperMap.LonLat(t,e));return{x:n.x,y:n.y}}}},{key:"getLonLatFromPixel",value:function(t,e){if(this.map&&"undefined"!=typeof L&&void 0!==L.Map&&this.map instanceof L.Map){var o=this.map.layerPointToLatLng(L.point(t,e));return{lon:o.lng,lat:o.lat}}if(this.map&&"undefined"!=typeof SuperMap&&void 0!==SuperMap.Map&&this.map instanceof SuperMap.Map){var n=this.map.getLonLatFromPixel(new SuperMap.Pixel(t,e));return{lon:n.lon,lat:n.lat}}}},{key:"pixelBoundsToLonLat",value:function(t){var e=this.getLonLatFromPixel(t.left,t.top),o=this.getLonLatFromPixel(t.right,t.bottom);return new SuperMap.Bounds(e.lon,o.lat,o.lon,e.lat)}},{key:"annotationContent",value:function(t,e,o,n){var i=this.textContent;if(0!==i.length){var l=SuperMap.Plot.PlottingUtil.getTextWidth(this.style,i),r=this.getPixelFromLonLat(t,e),a=this.getPixelFromLonLat(o,n),s=parseFloat(Math.abs(a.x-r.x)),u=parseFloat(Math.abs(r.y-a.y));if(l>=s){var p=i.split("");i="";var c=1,y=0;this.style.weight?y=parseFloat(this.style.fontSize)+2*this.style.weight+.2*parseFloat(this.style.fontSize)+c:this.style.strokeWidth&&(y=parseFloat(this.style.fontSize)+2*this.style.strokeWidth+.2*parseFloat(this.style.fontSize)+c);for(var h="",P=0,f=p.length;P<f&&y<=u;P++){if(h+=p[P],SuperMap.Plot.PlottingUtil.getTextWidth(this.style,h)>=s){var S=p[P];if(p[P]="\n",c++,this.style.weight?y=parseFloat(this.style.fontSize)*c+c+2*this.style.weight+.2*parseFloat(this.style.fontSize):this.style.strokeWidth&&(y=parseFloat(this.style.fontSize)*c+c+2*this.style.strokeWidth+.2*parseFloat(this.style.fontSize)),!(y<u))break;p[P]+=S,h=S}i+=p[P]}}if(0!==i.length){var d=this.style.labelAlign,g=0,M=0;"l"===d[0]?g=t:"r"===d[0]?g=o:"c"===d[0]&&(g=(t+o)/2),"t"===d[1]?M=e:"b"===d[1]?M=n:"m"===d[1]&&(M=(e+n)/2);var m=new SuperMap.Geometry.Point(g,M),v={};v.positionPoints=[m],v.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,v.textContent=i,v.style={surroundLineFlag:!1,labelAlign:d},this.components.push(v)}}}},{key:"addCell",value:function(t,e,o,n){if(t&&e){var i={};i.type=t,i.textContent=n,i.positionPoints=e,i.style=null==o?{surroundLineFlag:!1}:o,this.components.push(i)}}},{key:"addText",value:function(t,e,o,n,i){if(t&&e){var l={};l.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,l.textContent=t,l.positionPoints=[e];var r=o/t.length/2;l.style={},l.style.surroundLineFlag=!1,l.style.labelRotation=-n,l.style.fontSize=r,l.style.fontColor=void 0===i?"#000000":i,l.style.fontSizeLimit=!0,l.style.sizeFixed=!1,l.style.labelAlign="cm",l.style.label=t,this.components.push(l)}}},{key:"getLinePts",value:function(t,e,o){var n=new Object;if(e>.5)return n.startIndex=0,n.startPt=t[0],n.endIndex=t.length-1,n.endPt=t[t.length-1],n;null==o&&(o=.5);var i=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i*(o-e),t),r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i*(o+e),t);return n.startIndex=l.index,n.startPt=l.pts,n.endIndex=r.index,n.endPt=r.pts,n}},{key:"computeDashLine",value:function(t,e,o){var n=[],i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(i<=0)return[];for(var l,r=o[0],a=1,s=0,u=!0,p=!0;s<i;){var c,y=[];y.push(r),s+=t;var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,o);if(c=h.index,l=h.pts,!(u=h.bfind))break;if(a<c)for(var P=a;P<c;P++)y.push(o[P]);y.push(l),n.push(y),s+=e;var f=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,o);if(c=f.index,r=f.pts,a=c+1,!(p=f.bfind))break}if(!u){var S=[];S.push(r);for(var d=a;d<o.length;d++)S.push(o[d]);2===S.length&&SuperMap.Plot.PlottingUtil.equalFuzzy(SuperMap.Plot.PlottingUtil.distance(S[0],S[1]),0)||n.push(S)}if(!p){var g=o[o.length-1],M=SuperMap.Plot.PlottingUtil.distance(l,g);if(M*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(M,0)){var m=SuperMap.Plot.PlottingUtil.linePnt(g,l,M),v=[];v.push(m),v.push(g),n.push(v)}}return n}},{key:"addArrow",value:function(t,e){if(t.length<2)return t;var o,n=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);void 0===e&&(e=(this.isEdit,.5*this.getSubSymbolScaleValue())),o=n*e;var i=t[t.length-1];if(t.length>2){for(var l=-1,r=t.length-2;r>=0;r--)if(o<SuperMap.Plot.PlottingUtil.distance(i,t[r])){l=r;break}t.splice(l+1,t.length-l),t.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var a=t[t.length-2],s=t[t.length-1],u=o;if(void 0===a)return t;if(!(SuperMap.Plot.PlottingUtil.distance(a,s)<o)){var p=SuperMap.Plot.PlottingUtil.radian(a,s)*SuperMap.Plot.PlottingUtil.RTOD,c=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+157.5),y=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+202.5),h={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.NONE};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[c,t[t.length-1],y],h)}}},{key:"addDovetailArrow",value:function(t,e){if(t.length<2)return t;var o,n=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);void 0===e&&(e=(this.isEdit,.5*this.getSubSymbolScaleValue())),o=n*e;var i=t[t.length-1];if(t.length>2){for(var l=-1,r=t.length-2;r>=0;r--)if(o<SuperMap.Plot.PlottingUtil.distance(i,t[r])){l=r;break}t.splice(l+1,t.length-l),t.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var a=t[t.length-2],s=t[t.length-1],u=o;if(void 0===a)return t;if(!(SuperMap.Plot.PlottingUtil.distance(a,s)<o)){var p=SuperMap.Plot.PlottingUtil.radian(a,s)*SuperMap.Plot.PlottingUtil.RTOD,c=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+157.5),y=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+202.5),h=SuperMap.Plot.PlottingUtil.circlePoint(s,.5*u,.5*u,p+180),P=[];P.push(c),P.push(t[t.length-1]),P.push(y),P.push(h);var f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.NONE};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P,f)}}},{key:"getDefaultSubSymbolSize",value:function(){var t=0;if(this.map){var e=this.getLonLatFromPixel(0,0),o=this.getLonLatFromPixel(this.subSymbolDefaultPixelSize,0),n=new SuperMap.Geometry.Point(e.lon,e.lat),i=new SuperMap.Geometry.Point(o.lon,o.lat);t=SuperMap.Plot.PlottingUtil.distance(n,i)}if(0===t){if(0!==this.subSymbolSize)return this.subSymbolSize;for(var l=0,r=0;r<this.controlPoints.length-1;r++)l+=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[r],this.controlPoints[r+1]);t=.3*l}return t}},{key:"getTextBounds",value:function(t,e){" "===e&&(e="_");var o=document.createElement("span");document.body.appendChild(o),o.style.width="auto",o.style.height="auto",t.fontSize&&(o.style.fontSize=new String(t.fontSize)+"px"),t.fontFamily&&(o.style.fontFamily=t.fontFamily),t.fontWeight&&(o.style.fontWeight=t.fontWeight),o.style.position="absolute",o.style.visibility="hidden",o.innerHTML=e;var n=new SuperMap.Bounds(o.clientLeft,o.clientTop+o.clientHeight-6,o.clientLeft+o.clientWidth,o.clientTop+4),i=this.pixelBoundsToLonLat(n);return document.body.removeChild(o),i}},{key:"calAssistantLine",value:function(){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);this.symbolType===SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL&&(t.splice(1,0,new SuperMap.Geometry.Point(this.controlPoints[1].x,this.controlPoints[0].y)),t.push(new SuperMap.Geometry.Point(this.controlPoints[0].x,this.controlPoints[1].y)),t.push(new SuperMap.Geometry.Point(this.controlPoints[0].x,this.controlPoints[0].y)));var e={type:24,surroundLineFlag:!1,positionPoints:t,style:{color:"#0000ff",opacity:1,weight:1,dashArray:"5, 5",strokeColor:"#0000ff",strokeOpacity:1,strokeWidth:1,strokeDashstyle:"dash",lineColorLimit:!0,lineTypeLimit:!0,lineWidthLimit:!0,surroundLineFlag:!1}};this.components.push(e)}},{key:"getSubSymbolScaleValue",value:function(t,e){var o=0;o=t&&!SuperMap.Plot.PlottingUtil.equalFuzzy(t,0)?t:SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);var n=this.getDefaultSubSymbolSize()/o;return void 0===e&&(e=.3),(n>e||n<=0)&&(n=e),n}},{key:"computeSubSymbol",value:function(t,e,o,n,i,l){if(null==t.symbolData||null==t.symbolData.innerCells)return null;void 0===i&&(i=0),void 0===l&&(l=0);for(var r=SuperMap.Plot.AnalysisSymbol.analysisSymbolCells(t.symbolData,!0),a=0,s=0,u=0,p=0,c=0;c<r.length;c++)for(var y=SuperMap.Plot.Primitives.getSpatialData(r[c].type,r[c].positionPoints,r[c].textContent,0,r[c].isCalculate),h=0,P=y.length;h<P;h++)a<y[h].x&&(a=y[h].x),s<y[h].y&&(s=y[h].y),u>y[h].x&&(u=y[h].x),p>y[h].y&&(p=y[h].y);var f=new SuperMap.Geometry.Point(a,s),S=new SuperMap.Geometry.Point(u,p),d=(f.y-S.y)/o,g=(f.x-S.x)/o,M=g>d?g:d,m=new SuperMap.Geometry.Point(.5*(f.x+S.x),.5*(f.y+S.y));m.x+=i*(f.x-S.x),m.y+=l*(f.y-S.y);for(var v=0,b=r.length;v<b;v++){for(var T=0,A=r[v].positionPoints.length;T<A;T++)r[v].positionPoints[T].x-=m.x,r[v].positionPoints[T].y-=m.y,r[v].positionPoints[T].x/=M,r[v].positionPoints[T].y/=M,SuperMap.Plot.PlottingUtil.rotateAngle(new SuperMap.Geometry.Point(0,0),n*Math.PI/180,r[v].positionPoints[T]),r[v].positionPoints[T].x+=e.x,r[v].positionPoints[T].y+=e.y;r[v].type===SuperMap.Plot.SymbolType.TEXTSYMBOL&&(r[v].style.fontSize/=10*M,r[v].style.labelRotation=-n,r[v].style.sizeFixed=!1),r[v].isCalculate=!1,this.components.push(r[v])}return r}},{key:"ComputeZValue",value:function(t,e,o){var n=SuperMap.Plot.PlottingUtil.pointProjectToSegment(t,e,o),i=new SuperMap.Geometry.Point(n.projectPoint.x,n.projectPoint.y),l=SuperMap.Plot.PlottingUtil.distance(e,o),r=SuperMap.Plot.PlottingUtil.distance(e,t),a=SuperMap.Plot.PlottingUtil.distance(o,t);if(!n.isOnline){if(r>=l)return o.z;if(a>=l)return e.z}return i.x!=e.x&&e.x!=o.x?e.z+(i.x-e.x)/(e.x-o.x)*(e.z-o.z):i.y!=e.y&&e.y!=o.y?e.z+(i.y-e.y)/(e.y-o.y)*(e.z-o.z):0==(r=SuperMap.Plot.PlottingUtil.distance(e,i))?e.z:e.z-(e.z-o.z)*(r/l)}},{key:"ComputeBeizerZValueByDis",value:function(t,e,o){if(t.length<2)return!1;for(var n=[],i=0;i<t.length;i++)n.push({x:t[i].x,y:t[i].y});var l=SuperMap.Plot.PlottingUtil.polylineDistance(n);if(0==l)return!1;var r=SuperMap.Plot.PlottingUtil.polylineDistance(e),a=[];a.push(n[0]);for(var s=-1,u=0,p=e[0],c=1;c<n.length;c++){a.push(n[c]);var y=SuperMap.Plot.PlottingUtil.polylineDistance(a)/l,h=r*y,P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(h,e),f=P.index,S=P.pts;if(P.bfind){for(var d=t[c-1].z,g=t[c].z,M=r*(y-u),m=0,v=++s;v<=f;v++){var b=d+(g-d)*((m+=v==s?SuperMap.Plot.PlottingUtil.distance(p,e[v]):SuperMap.Plot.PlottingUtil.distance(e[v-1],e[v]))/M);o.push({x:e[v].x,y:e[v].y,z:b})}s=f}u=y,p=S}for(var T=s+1;T<e.length;T++)o.push({x:e[T].x,y:e[T].y,z:t[t.length-1].z});return!0}},{key:"ComputeHeight",value:function(t,e,o,n){if(o!=n){if(0!=t.length)if(1==t.length)e.push({x:t[0].x,y:t[0].y,z:o});else if(2==t.length)e.push({x:t[0].x,y:t[0].y,z:o}),e.push({x:t[1].x,y:t[1].y,z:n});else{var i=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(0!=i){var l=[];l.push(t[0]),e.push({x:t[0].x,y:t[0].y,z:o});for(var r=1;r<t.length-1;r++){l.push(t[r]);var a=o+(n-o)*SuperMap.Plot.PlottingUtil.polylineDistance(l)/i;e.push({x:t[r].x,y:t[r].y,z:a})}e.push({x:t[t.length-1].x,y:t[t.length-1].y,z:n})}else for(var s=0;s<t.length;s++)e.push({x:t[s].x,y:t[s].y,z:o})}}else for(var u=0;u<t.length;u++)e.push({x:t[u].x,y:t[u].y,z:o})}}]),t}();SuperMap.Plot.AlgoSymbol=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.ArrowToolkit=SuperMap.Plot.ArrowToolkit=SuperMap.Plot.ArrowToolkit||{};SuperMap.Plot.ArrowToolkit.ConstValue={MAX_ARRAY_SIZE:128,sv_AtScaleParameter:1.5,sv_AtLenDivAtWidth:1.35,sv_AtWidthDivAwWidth:.5,DUOJIANTOU_TAIL_RATE_1:8,DUOJIANTOU_TAIL_RATE_2:3,DUOJIANTOU_TAIL_RATE_3:.6},SuperMap.Plot.ArrowToolkit.ArrowTailType={ARROWTAIL_NONE:0,ARROWTAIL_LINE:1,ARROWTAIL_CURVE:2,ARROWTAIL_COATTAIL:3,ARROWTAIL_COATTAIL_POLYBODY:4},SuperMap.Plot.ArrowToolkit.ArrowHeadType={ARROWHEAD_POLYLINE:0,ARROWHEAD_TRIANGLE:1,ARROWHEAD_COATTAIL:2,ARROWHEAD_TRIANGLE_SOLID:3,ARROWHEAD_COATTAIL_HOLLOW:6,ARROWHEAD_WITH_EAR:4,ARROWHEAD_WITHOUT_EAR:5},SuperMap.Plot.ArrowToolkit.ArrowBodyType={ARROWBODY_POLYLINE:0,ARROWBODY_POLYBEZIER:1,ARROWBODY_COATTAIL:5,ARROWBODY_PARALLEL:2,ARROWBODY_TRAPEZOID:3,ARROWBODY_MULTIPOLYBEZIER:4},SuperMap.Plot.ArrowToolkit.parallel=function(t,e){var o={leftParallelPts:[],rightParallelPts:[]};return 1===t.length||2===t.length&&t[0].x===t[1].x&&t[0].y===t[1].y?o:(o.leftParallelPts=SuperMap.Plot.PlottingUtil.parallel(t,e),o.rightParallelPts=SuperMap.Plot.PlottingUtil.parallel(t,-e),o)},SuperMap.Plot.ArrowToolkit.trapezoid=function(t,e,o){var n={leftParallelPts:[],rightParallelPts:[]};if(1===t.length||2===t.length&&t[0].x===t[1].x&&t[0].y===t[1].y)return n;for(var i=0;i<t.length-1;i++){t[i].x===t[i+1].x&&t[i].y===t[i+1].y&&(n.leftParallelPts.push(n.leftParallelPts[n.leftParallelPts.length-1]),n.rightParallelPts.push(n.rightParallelPts[n.rightParallelPts.length-1]));var l=t[i+1];l=SuperMap.Plot.PlottingUtil.rotate(t[i],0,1,l),n.leftParallelPts.push(SuperMap.Plot.PlottingUtil.findPointInLine(t[i],l,e)),l=t[i],l=SuperMap.Plot.PlottingUtil.rotate(t[i+1],0,-1,l),n.leftParallelPts.push(SuperMap.Plot.PlottingUtil.findPointInLine(t[i+1],l,o)),l=t[i+1],l=SuperMap.Plot.PlottingUtil.rotate(t[i],0,-1,l),n.rightParallelPts.push(SuperMap.Plot.PlottingUtil.findPointInLine(t[i],l,e)),l=t[i],l=SuperMap.Plot.PlottingUtil.rotate(t[i+1],0,1,l),n.rightParallelPts.push(SuperMap.Plot.PlottingUtil.findPointInLine(t[i+1],l,o))}return n},SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts=function(t,e,o){var n={};switch(o){case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_PARALLEL:case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_TRAPEZOID:var i=e[0],l=e[1],r=e[2],a=SuperMap.Plot.PlottingUtil.equalFuzzy(r,0);if(!a&&t.length>2){var s=t.length;t.splice(2,s-2)}var u=SuperMap.Plot.PlottingUtil.polylineDistance(t);n.arrowTouLen=u*i;for(var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,u-n.arrowTouLen).pt,c=[],y=n.arrowTouLen*r,h=n.arrowTouLen*l,P=t.length-1,f=0;f<P;f++)c.push(t[f]);c.push(p);var S={leftParallelPts:[],rightParallelPts:[]};S=!0===a?SuperMap.Plot.ArrowToolkit.parallel(c,h):SuperMap.Plot.ArrowToolkit.trapezoid(c,y,h);var d=t[t.length-1];t[t.length-1]=p,t.push(d);n.leftBodyPts=S.leftParallelPts,n.rightBodyPts=S.rightParallelPts,n.OpectrlPoints=null;break;case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER:var g=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(0==g)return;var M=SuperMap.Plot.ArrowToolkit.OperateCtrlPts(t),m=M.length;m--;var v=SuperMap.Plot.ArrowToolkit.generateMultiBezier(M,m,e,g);t=[];for(var b=0;b<M.length;b++)t.push(M[b]);n.arrowTouLen=v.arrowTouLen,n.leftBodyPts=v.leftBodyPts,n.rightBodyPts=v.rightBodyPts,n.OpectrlPoints=M}return n},SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts=function(t,e,o,n,i){var l=[];switch(i){case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR:case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR:var r=o[0],a=o[1],s=0,u=0;3==o.length&&(s=o[2]),4==o.length&&(s=o[2],u=o[3]);var p=0;if(!SuperMap.Plot.PlottingUtil.equalFuzzy(s,0)&&!SuperMap.Plot.PlottingUtil.equalFuzzy(u,0)){var c=SuperMap.Plot.PlottingUtil.clonePoints(t);c.splice(c.length-1,1),p=SuperMap.Plot.PlottingUtil.polylineDistance(c)*s*u}var y=new SuperMap.Geometry.Point((e[0].x+e[1].x)/2,(e[0].y+e[1].y)/2);if(SuperMap.Plot.PlottingUtil.equalFuzzy(a,0)){var h=n*r,P=t[t.length-1];return P=SuperMap.Plot.PlottingUtil.rotate(y,0,1,P),l.push(SuperMap.Plot.PlottingUtil.findPointInLine(y,P,h)),l.push(t[t.length-1]),P=t[t.length-1],P=SuperMap.Plot.PlottingUtil.rotate(y,0,-1,P),l.push(SuperMap.Plot.PlottingUtil.findPointInLine(y,P,h)),l}var f=n*a,S=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(f,y,t[t.length-1]);f=n*r,f+=p;var d=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,t[t.length-1],S),g=d.pntLeft,M=d.pntRight,m=t[t.length-1];return l.push(M),l.push(m),l.push(g),l}},SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine=function(t,e,o,n){var i=[];if(2>t.length)return i;var l,r=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=SuperMap.Plot.PlottingUtil.equalFuzzy(e,0);switch(o){case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYLINE:i=i.concat(t),n&&!a&&SuperMap.Plot.PlottingUtil.distance(t[t.length-1],t[t.length-2])>e&&(l=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,r-e),i.splice(i.length-1,1),i.push(l.pt));break;case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYBEZIER:if(2==t.length)i=i.concat(t),n&&!a&&SuperMap.Plot.PlottingUtil.distance(t[t.length-1],t[t.length-2])>e&&(l=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,r-e),i.splice(i.length-1,1),i.push(l.pt));else{var s=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);if(a)i=i.concat(s);else{var u=s[s.length-1];if(!a&&(e<SuperMap.Plot.PlottingUtil.distance(t[t.length-1],t[t.length-2])||SuperMap.Plot.PlottingUtil.equalFuzzy(SuperMap.Plot.PlottingUtil.distance(t[t.length-1],t[t.length-2]),e,1e-7))){for(var p=s.length-1;p>1;p--){if(!(e>SuperMap.Plot.PlottingUtil.distance(u,s[p]))){var c=SuperMap.Plot.PlottingUtil.findPoint(u,s[p],e,0);s.push(c),i=s;break}s.splice(p,1)}n||i.push(u)}else i=i.concat(s)}}break;case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_COATTAIL:var y=e;if(y>r)return i;for(var h,P,f=Math.ceil(r/(1.4*y)),S=0,d=[],g=0;g<f;g++)h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(y*S,t),P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(y*(S+1),t),h.bfind&&P.bfind&&(d.push(h.pts),d.push(P.pts)),S=1.4*(g+1);i=d}return i},SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine=function(t,e,o){var n=[];if(2>t.length)return n;switch(o){case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_POLYLINE:var i=t[0],l=t[1],r=SuperMap.Plot.PlottingUtil.distance(i,l);if(SuperMap.Plot.PlottingUtil.equalFuzzy(r,e,1e-7)||r>e){var a=SuperMap.Plot.PlottingUtil.findPoint(i,l,e,0),s=e*Math.tan(.125*Math.PI),u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,t[0],a);n.push(u.pntLeft),n.push(t[0]),n.push(u.pntRight)}break;case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE:break;case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE_SOLID:var p=t[0],c=t[1],y=SuperMap.Plot.PlottingUtil.distance(p,c);if(SuperMap.Plot.PlottingUtil.equalFuzzy(y,e,1e-7)||y>e){var h=e*Math.tan(.125*Math.PI),P=SuperMap.Plot.PlottingUtil.findPoint(p,c,e,0),f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(h,t[0],P);n.push(f.pntLeft),n.push(p),n.push(f.pntRight),n.push(f.pntLeft)}break;case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL:var S=t[0],d=2*Math.sqrt(e*e/3),g=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(SuperMap.Plot.PlottingUtil.equalFuzzy(d/2,g,1e-7)||g>d/2){var M=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],d,20),m=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],d,-20),v=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],d/2,0);n.push(S),n.push(M),n.push(v),n.push(m),n.push(S)}break;case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL_HOLLOW:var b=[],T=t[0],A=2*Math.sqrt(e*e/3),L=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(SuperMap.Plot.PlottingUtil.equalFuzzy(A/1.4,L,1e-7)||L>A/1.4){var O=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],A,20),E=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],A,-20),x=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],A/1.4,0);b.push(T),b.push(O),b.push(x),b.push(E),b.push(T);var w=new SuperMap.Geometry.Point((b[0].x+b[1].x)/2,(b[0].y+b[1].y)/2),I=new SuperMap.Geometry.Point((b[3].x+b[4].x)/2,(b[3].y+b[4].y)/2),C=new SuperMap.Geometry.Point((w.x+I.x)/2,(w.y+I.y)/2),R=.75*SuperMap.Plot.PlottingUtil.distance(w,I)/2,_=SuperMap.Plot.PlottingUtil.findPointInLine(C,w,R),U=SuperMap.Plot.PlottingUtil.findPointInLine(C,I,R);n.push(b[0]),n.push(_),n.push(b[1]),n.push(b[2]),n.push(b[3]),n.push(U),n.push(b[4])}}return n},SuperMap.Plot.ArrowToolkit.generateArrowTailShapePts=function(t,e,o,n){for(var i=e.length,l=[],r=0,a=0;a<t.length-1;a++)r+=SuperMap.Plot.PlottingUtil.distance(t[a],t[a+1]);var s=r*o;switch(n){case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_NONE:break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_LINE:var u=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],s,90),p=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],s,-90);l.push(u),l.push(p);break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_CURVE:var c=new SuperMap.Geometry.Point(.5*(e[0].x+e[i-1].x),.5*(e[0].y+e[i-1].y)),y=SuperMap.Plot.PlottingUtil.distance(e[0],e[i-1]),h=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(y*o,c,t[t.length-1]),P=new SuperMap.Geometry.Point(0,0),f=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(SuperMap.Plot.ArrowToolkit.ConstValue.DUOJIANTOU_TAIL_RATE_1,SuperMap.Plot.ArrowToolkit.ConstValue.DUOJIANTOU_TAIL_RATE_2,e[0],h,e[i-1],P,f);var S=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrapezoidPoints(SuperMap.Plot.ArrowToolkit.ConstValue.DUOJIANTOU_TAIL_RATE_3,e[0],h,P,S);var d=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrapezoidPoints(SuperMap.Plot.ArrowToolkit.ConstValue.DUOJIANTOU_TAIL_RATE_3,e[i-1],h,f,d);break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_COATTAIL:var g=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],s,157.5),M=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],s,-157.5);l.push(g),l.push(t[0]),l.push(M);break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_COATTAIL_POLYBODY:var m=new SuperMap.Geometry.Point(.5*(e[0].x+e[i-1].x),.5*(e[0].y+e[i-1].y)),v=SuperMap.Plot.PlottingUtil.distance(e[0],e[i-1]),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(v*o,e[0],m);l.push(e[i-1]),l.push(b.pntLeft),l.push(e[0])}return l},SuperMap.Plot.ArrowToolkit.generateArrowTailShapePtsBySingleLine=function(t,e,o){var n=[];switch(o){case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_NONE:break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_LINE:var i=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],e,90),l=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],e,-90);n.push(i),n.push(l);break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_COATTAIL:var r=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],e,157.5),a=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],e,-157.5);n.push(r),n.push(t[0]),n.push(a)}return n},SuperMap.Plot.ArrowToolkit.OperateCtrlPts=function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t);if(3==e.length){var o=((e[0].x+e[1].x)/2+e[2].x)/2,n=((e[0].y+e[1].y)/2+e[2].y)/2,i=new SuperMap.Geometry.Point(o,n),l=e[2].clone();e[2]=i,e.push(l)}return e},SuperMap.Plot.ArrowToolkit.generateMultiBezier=function(t,e,o,n){var i=0,l=[],r=[],a=[],s=[],u=[],p=[],c=o[0],y=o[1],h=(t[0].x+t[1].x)/2,P=(t[0].y+t[1].y)/2,f=Math.abs(h-t[2].x),S=Math.abs(P-t[2].y),d=0;if(f>0&&S>0){var g=1/(h-t[2].x),M=-1/(P-t[2].y),m=1*t[2].y/(P-t[2].y)-1*t[2].x/(h-t[2].x);d=Math.abs(g*t[0].x+M*t[0].y+m)/Math.sqrt(g*g+M*M)}else S<=1e-4?d=Math.abs(P-t[1].y):f<=1e-4&&(d=Math.abs(h-t[1].x));var v=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[2],new SuperMap.Geometry.Point(h,P)),b=SuperMap.Plot.PlottingUtil.pointIsRightToLine(t[1],t[2],t[0]);b?(l[1]=t[1],r[1]=t[0]):(l[1]=t[0],r[1]=t[1]),t[1]=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);var T=Math.sqrt((v.pntLeft.x-v.pntRight.x)*(v.pntLeft.x-v.pntRight.x)+(v.pntLeft.y-v.pntRight.y)*(v.pntLeft.y-v.pntRight.y))*SuperMap.Plot.ArrowToolkit.ConstValue.sv_AtWidthDivAwWidth,A=(i=T*SuperMap.Plot.ArrowToolkit.ConstValue.sv_AtLenDivAtWidth)*y;SuperMap.Plot.PlottingUtil.equalFuzzy(c,0)||(A=(i=n*c)*y);var L,O,E=SuperMap.Plot.PlottingUtil.distance(t[e],t[e-1]),x=2*i;E<x&&(A=(i=E/2)*y),t.push(t[e]),L=0,O=0;var w=0,I=[];for(w=2;w<=e;w++)L+=SuperMap.Plot.PlottingUtil.distance(t[w],t[w-1]);for(L-=i,w=2;w<=e-1;w++)O+=SuperMap.Plot.PlottingUtil.distance(t[w],t[w-1]),I[w]=A+(T-A)*Math.pow((L-O)/L,SuperMap.Plot.ArrowToolkit.ConstValue.sv_AtScaleParameter);I[e]=A;var C,R,_=new SuperMap.Geometry.Point(0,0),U=new SuperMap.Geometry.Point(0,0),N=new SuperMap.Geometry.Point(0,0);for(w=2;w<=e-1;w++)SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,t[w-1],t[w],t[w+1],U,N),w==e-1&&SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,t[e],t[e-1],N,_),C=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I[w],U,t[w]),(b=SuperMap.Plot.PlottingUtil.pointIsRightToLine(N,U,C.pntRight))?(l[w]=new SuperMap.Geometry.Point(C.pntRight.x,C.pntRight.y),r[w]=new SuperMap.Geometry.Point(C.pntLeft.x,C.pntLeft.y)):(l[w]=new SuperMap.Geometry.Point(C.pntLeft.x,C.pntLeft.y),r[w]=new SuperMap.Geometry.Point(C.pntRight.x,C.pntRight.y));for(Math.sqrt(1*(t[e].x-_.x)*(t[e].x-_.x)+1*(t[e].y-_.y)*(t[e].y-_.y))>0&&(t[e]=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(i,t[e],_)),C=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(A,t[e+1],t[e]),(b=SuperMap.Plot.PlottingUtil.pointIsRightToLine(t[e],t[e+1],C.pntLeft))?(r[e]=new SuperMap.Geometry.Point(C.pntLeft.x,C.pntLeft.y),l[e]=new SuperMap.Geometry.Point(C.pntRight.x,C.pntRight.y)):(r[e]=new SuperMap.Geometry.Point(C.pntRight.x,C.pntRight.y),l[e]=new SuperMap.Geometry.Point(C.pntLeft.x,C.pntLeft.y)),w=2;w<e;w++)SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,l[w-1],l[w],l[w+1],U,N),a[w]=new SuperMap.Geometry.Point(U.x,U.y),s[w]=new SuperMap.Geometry.Point(N.x,N.y),SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,r[w-1],r[w],r[w+1],U,N),u[w]=new SuperMap.Geometry.Point(U.x,U.y),p[w]=new SuperMap.Geometry.Point(N.x,N.y),2==w&&(SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,l[1],l[2],a[2],_),s[1]=new SuperMap.Geometry.Point(_.x,_.y),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,r[1],r[2],u[2],_),p[1]=new SuperMap.Geometry.Point(_.x,_.y)),w==e-1&&(x=(E=SuperMap.Plot.PlottingUtil.distance(l[e],l[e-1]))/3,(R=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(x,t[e],t[e+1])).x+=l[e].x-t[e].x,R.y+=l[e].y-t[e].y,x=(E=T-A)*Math.pow(x/L,SuperMap.Plot.ArrowToolkit.ConstValue.sv_AtScaleParameter),C=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(x,l[e],R),a[e]=new SuperMap.Geometry.Point(C.pntLeft.x,C.pntLeft.y),x=(E=SuperMap.Plot.PlottingUtil.distance(r[e],r[e-1]))/3,(R=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(x,t[e],t[e+1])).x+=r[e].x-t[e].x,R.y+=r[e].y-t[e].y,x=(E=T-A)*Math.pow(x/L,SuperMap.Plot.ArrowToolkit.ConstValue.sv_AtScaleParameter),C=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(x,r[e],R),u[e]=new SuperMap.Geometry.Point(C.pntRight.x,C.pntRight.y));return{arrowTouLen:i,leftBodyPts:SuperMap.Plot.ArrowToolkit.genArrowBody(e,l,a,s),rightBodyPts:SuperMap.Plot.ArrowToolkit.genArrowBody(e,r,u,p)}},SuperMap.Plot.ArrowToolkit.genArrowBody=function(t,e,o,n){var i=new SuperMap.Plot.Path2D;if(!(t<2)){i.MoveTo(e[1]);for(var l=1;l<=t-1;l++)i.CubicTo(n[l],o[l+1],e[l+1]);var r=[];return i.ToSubPathPolygons(r),r[0]}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Path2DData=function(){function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e){this.cStart=e.cStart,this.fillRule=e.fillRule,this.require_StartNewFigure=e.require_StartNewFigure,this.isBoundsDirty=e.isBoundsDirty,this.bounds=new SuperMap.Bounds(e.bounds.left,e.bounds.bottom,e.bounds.right,e.bounds.top),this.ref=1,this.elements=[];for(var o=0;o<e.elements.length;o++)this.elements.push(e.elements[o].clone())}else this.ref=1,this.bounds=new SuperMap.Bounds(0,0,0,0),this.elements=[];this.CLASS_NAME="SuperMap.Plot.Path2DData"}return n(t,[{key:"IsClosed",value:function(){var t=this.elements[this.cStart],e=this.elements[this.elements.length-1];return t.GetX()==e.GetX()&&t.GetY()==e.GetY()}},{key:"Close",value:function(){this.require_StartNewFigure=!0;var t=this.elements[this.cStart],e=this.elements[this.elements.length-1];t!=e&&(t.Equal(e)?e.SetPosition(t.GetX(),t.GetY()):this.elements.push(new SuperMap.Plot.Element(t.GetX(),t.GetY(),SuperMap.Plot.ElementType.LineToElement)))}},{key:"MaybeStartNewFigure",value:function(){if(this.require_StartNewFigure){var t=this.elements[this.elements.length-1].clone();t.SetType(0),this.elements.push(t),this.require_StartNewFigure=!1}}}]),t}();SuperMap.Plot.Path2DData=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Element=function(){function t(e,o,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.m_x=e,this.m_y=o,this.m_type=n,this.CLASS_NAME="SuperMap.Plot.Element"}return n(t,[{key:"GetX",value:function(){return this.m_x}},{key:"GetY",value:function(){return this.m_y}},{key:"GetType",value:function(){return this.m_type}},{key:"GetPosition",value:function(){return SuperMap.Geometry.Point(this.m_x,this.m_y)}},{key:"SetPosition",value:function(t,e){this.m_x=t,this.m_y=e}},{key:"SetType",value:function(t){this.m_type=t}},{key:"IsCurveTo",value:function(){return 2==this.m_type}},{key:"IsLineTo",value:function(){return 1==this.m_type}},{key:"IsMoveTo",value:function(){return 0==this.m_type}},{key:"Equal",value:function(t){return SuperMap.Plot.PlottingUtil.equalFuzzy(this.m_x,t.m_x,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(this.m_y,t.m_y,1e-10)&&this.m_type==t.m_type}},{key:"clone",value:function(){return new SuperMap.Plot.Path2D.Element(this.m_x,this.m_y,this.m_type)}}]),t}();SuperMap.Plot.Element=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Path2D=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.m_pData=null,this.CLASS_NAME="SuperMap.Plot.Path2D"}return n(t,[{key:"MoveTo",value:function(t){this.ensureData(),this.detach();var e=this.getDataPtr();if(e.require_StartNewFigure=!1,0==e.elements[e.elements.length-1].GetType())e.elements[e.elements.length-1].SetPosition(t.x,t.y);else{var o=new SuperMap.Plot.Element(t.x,t.y,0);e.elements.push(o)}e.cStart=e.elements.length-1}},{key:"LineTo",value:function(t){this.ensureData(),this.detach();var e=this.getDataPtr();if(e.MaybeStartNewFigure(),e.elements[e.elements.length-1].GetX()!=t.x||e.elements[e.elements.length-1].GetY()!=t.y){var o=new SuperMap.Plot.Element(t.x,t.y,1);e.elements.push(o)}}},{key:"CurveTo",value:function(t,e,o){this.ensureData(),this.detach();var n=this.getDataPtr();if(n.elements[n.elements.length-1].GetX()!=t.x||n.elements[n.elements.length-1].GetY()!=t.y||t.x!=e.x||t.y!=e.y||e.x!=o.x||e.y!=o.y){n.MaybeStartNewFigure();var i=new SuperMap.Plot.Element(t.x,t.y,2),l=new SuperMap.Plot.Element(e.x,e.y,3),r=new SuperMap.Plot.Element(o.x,o.y,3);n.elements.push(i),n.elements.push(l),n.elements.push(r)}}},{key:"CubicTo",value:function(t,e,o){this.ensureData(),this.detach();var n=this.getDataPtr();if(n.elements[n.elements.length-1].GetX()!=t.x||n.elements[n.elements.length-1].GetY()!=t.y||t.x!=e.x||t.y!=e.y||e.x!=o.x||e.y!=o.y){n.MaybeStartNewFigure();var i=new SuperMap.Plot.Element(t.x,t.y,2),l=new SuperMap.Plot.Element(e.x,e.y,3),r=new SuperMap.Plot.Element(o.x,o.y,3);n.elements.push(i),n.elements.push(l),n.elements.push(r)}}},{key:"ToSubPathPolygons",value:function(t){var e,o,n=this.getDataPtr();if(this.IsEmpty())return!1;for(var i=[],l=this.GetElementCount(),r=0;r<l;r++){var a=n.elements[r];switch(a.GetType()){case 0:i.length>1&&t.push(i),i=[],e=a.GetX(),o=a.GetY(),i.push(new SuperMap.Geometry.Point(e,o));break;case 1:e=a.GetX(),o=a.GetY(),i.push(new SuperMap.Geometry.Point(e,o));break;case 2:if(3!=n.elements[r+1].GetType()||3!=n.elements[r+1].GetType())break;for(var s=n.elements[r-1].GetX(),u=n.elements[r-1].GetY(),p=a.GetX(),c=a.GetY(),y=n.elements[r+1].GetX(),h=n.elements[r+1].GetY(),P=n.elements[r+2].GetX(),f=n.elements[r+2].GetY(),S=0;S<=1;S+=.03125){var d=S*S,g=d*S,M=1-3*S+3*d-g,m=3*(S-2*d+g),v=3*(d-g),b=g;i.push(new SuperMap.Geometry.Point(M*s+m*p+v*y+b*P,M*u+m*c+v*h+b*f))}r+=2}}return i.length>1&&t.push(i),!0}},{key:"ensureData",value:function(){null==this.m_pData&&this.ensureData_helper()}},{key:"ensureData_helper",value:function(){var t=new SuperMap.Plot.Path2DData,e=new SuperMap.Plot.Element(0,0,0);t.elements.push(e),null==this.m_pData||this.mtDeRef(this.m_pData.ref)||(this.m_pData=null),this.m_pData=t}},{key:"detach",value:function(){1!=this.m_pData.ref&&this.detach_helper(),this.setBoundsDirty(!0)}},{key:"detach_helper",value:function(){var t=new SuperMap.Plot.Path2DData;null==this.m_pData||this.mtDeRef(this.m_pData.ref)||(this.m_pData=null),this.m_pData=t}},{key:"setBoundsDirty",value:function(t){this.getDataPtr().isBoundsDirty=t}},{key:"getDataPtr",value:function(){return this.m_pData}},{key:"IsEmpty",value:function(){if(null==this.m_pData)return!0;var t=this.m_pData.elements.length;return 0==t||1==t&&0==this.m_pData.elements[0].GetType()}},{key:"GetElementCount",value:function(){return null!=this.m_pData?this.m_pData.elements.length:0}}],[{key:"mtRef",value:function(t){return 0!=++t}},{key:"mtDeRef",value:function(t){return 0!=--t}}]),t}();SuperMap.Plot.Path2D=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbol15200=e.AlgoSymbol315=e.AlgoSymbol1022=e.AlgoSymbol1021=e.AlgoSymbol1020=e.AlgoSymbol1019=e.AlgoSymbol1018=e.AlgoSymbol1017=e.AlgoSymbol1016=e.AlgoSymbol1015=e.AlgoSymbol1014=e.AlgoSymbol1013=e.AlgoSymbol1012=e.AlgoSymbol1011=e.AlgoSymbol1010=e.AlgoSymbol1009=e.AlgoSymbol1008=e.AlgoSymbol1007=e.AlgoSymbol1006=e.AlgoSymbol1005=e.AlgoSymbol1004=e.AlgoSymbol1003=e.AlgoSymbol1002=e.AlgoSymbol1001=e.Wire=e.PolygonRegion=e.LineRelation=e.LineMarking=e.PathText=e.CurveEight=e.Runway=e.NodeChain=e.FreeCurve=e.CombinationalCircle=e.ConcentricCircle=e.SymbolTextBox=e.GeoTooltipBoxM=e.GeoTooltipBox=e.Trapezoid=e.Brace=e.RegularPolygon=e.ArrowLine=e.AlgoSymbol=e.ArrowToolkit=e.Path2DData=e.Element=e.Path2D=void 0;var n=o(54),i=o(53),l=o(52),r=o(51),a=o(50),s=o(49),u=o(48),p=o(47),c=o(46),y=o(45),h=o(44),P=o(43),f=o(42),S=o(41),d=o(40),g=o(39),M=o(38),m=o(37),v=o(36),b=o(35),T=o(34),A=o(33),L=o(32),O=o(31),E=o(30),x=o(29),w=o(28),I=o(27),C=o(26),R=o(25),_=o(24),U=o(23),N=o(22),D=o(21),B=o(20),G=o(19),k=o(18),V=o(17),Y=o(16),F=o(15),j=o(14),z=o(13),W=o(12),H=o(11),q=o(10),J=o(9),X=o(8);e.Path2D=n.Path2D,e.Element=i.Element,e.Path2DData=l.Path2DData,e.ArrowToolkit=r.ArrowToolkit,e.AlgoSymbol=a.AlgoSymbol,e.ArrowLine=s.ArrowLine,e.RegularPolygon=u.RegularPolygon,e.Brace=p.Brace,e.Trapezoid=c.Trapezoid,e.GeoTooltipBox=y.GeoTooltipBox,e.GeoTooltipBoxM=h.GeoTooltipBoxM,e.SymbolTextBox=P.SymbolTextBox,e.ConcentricCircle=f.ConcentricCircle,e.CombinationalCircle=S.CombinationalCircle,e.FreeCurve=d.FreeCurve,e.NodeChain=g.NodeChain,e.Runway=M.Runway,e.CurveEight=m.CurveEight,e.PathText=v.PathText,e.LineMarking=b.LineMarking,e.LineRelation=T.LineRelation,e.PolygonRegion=A.PolygonRegion,e.Wire=L.Wire,e.AlgoSymbol1001=O.AlgoSymbol1001,e.AlgoSymbol1002=E.AlgoSymbol1002,e.AlgoSymbol1003=x.AlgoSymbol1003,e.AlgoSymbol1004=w.AlgoSymbol1004,e.AlgoSymbol1005=I.AlgoSymbol1005,e.AlgoSymbol1006=C.AlgoSymbol1006,e.AlgoSymbol1007=R.AlgoSymbol1007,e.AlgoSymbol1008=_.AlgoSymbol1008,e.AlgoSymbol1009=U.AlgoSymbol1009,e.AlgoSymbol1010=N.AlgoSymbol1010,e.AlgoSymbol1011=D.AlgoSymbol1011,e.AlgoSymbol1012=B.AlgoSymbol1012,e.AlgoSymbol1013=G.AlgoSymbol1013,e.AlgoSymbol1014=k.AlgoSymbol1014,e.AlgoSymbol1015=V.AlgoSymbol1015,e.AlgoSymbol1016=Y.AlgoSymbol1016,e.AlgoSymbol1017=F.AlgoSymbol1017,e.AlgoSymbol1018=j.AlgoSymbol1018,e.AlgoSymbol1019=z.AlgoSymbol1019,e.AlgoSymbol1020=W.AlgoSymbol1020,e.AlgoSymbol1021=H.AlgoSymbol1021,e.AlgoSymbol1022=q.AlgoSymbol1022,e.AlgoSymbol315=J.AlgoSymbol315,e.AlgoSymbol15200=X.AlgoSymbol15200},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbolFactory=e.BasicAlgoSymbolFactory=void 0;var n=o(3),i=o(7);e.BasicAlgoSymbolFactory=n.BasicAlgoSymbolFactory,e.AlgoSymbolFactory=i.AlgoSymbolFactory},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.AddPoint_WayType=SuperMap.Plot.AddPoint_WayType={UNKNOWN:0,POLYLINE:1,CURVE:2}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.RouteNodePrimitives=SuperMap.Plot.RouteNodePrimitives=SuperMap.Plot.RouteNodePrimitives||{};SuperMap.Plot.RouteNodePrimitives={initialize:function(){},rendezvousPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(0,0)),o.textContent="会",o.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},o.style.labelAlign="cm",t.push(o),t.push(e),t},expandingPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(0,0)),o.textContent="展",o.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},o.style.labelAlign="cm",t.push(o),t.push(e),t},volleyPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(0,0)),o.textContent="齐",o.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},o.style.labelAlign="cm",t.push(o),t.push(e),t},standbyPoint_Outer:function(t,e){var o=[],n=new SuperMap.Geometry.Point(0,0),i=new SuperMap.Geometry.Point(0,30);t||(t=90);var l=new Object;l.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,l.positionPoints=[];for(var r=t+10;r<170+t;r+=10){var a=SuperMap.Plot.PlottingUtil.findPoint(n,i,30,r);l.positionPoints.push(a)}l.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},o.push(l);var s=l.positionPoints[l.positionPoints.length-1],u=l.positionPoints[l.positionPoints.length-2],p=SuperMap.Plot.PlottingUtil.findPoint(s,u,9,22.5),c=SuperMap.Plot.PlottingUtil.findPoint(s,u,9,-22.5),y=new Object;y.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,y.positionPoints=[],y.positionPoints.push(p),y.positionPoints.push(s.clone()),y.positionPoints.push(c),y.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},o.push(y);var h=new Object;h.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,h.positionPoints=[];for(var P=190+t;P<350+t;P+=10){var f=SuperMap.Plot.PlottingUtil.findPoint(n,i,30,P);h.positionPoints.push(f)}h.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},o.push(h);var S=h.positionPoints[h.positionPoints.length-1],d=h.positionPoints[h.positionPoints.length-2],g=SuperMap.Plot.PlottingUtil.findPoint(S,d,9,22.5),M=SuperMap.Plot.PlottingUtil.findPoint(S,d,9,-22.5),m=new Object;m.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,m.positionPoints=[],m.positionPoints.push(g),m.positionPoints.push(S.clone()),m.positionPoints.push(M),m.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},o.push(m);for(var v=0;v<o.length;v++)for(var b=0;b<o[v].positionPoints.length;b++){var T=e*(Math.PI/180);SuperMap.Plot.PlottingUtil.rotateAngle(n,T,o[v].positionPoints[b])}return o},standbyPoint_Inner:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(-20,0)),e.positionPoints.push(new SuperMap.Geometry.Point(20,10)),e.positionPoints.push(new SuperMap.Geometry.Point(20,-10)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e);var o=new Object;o.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(-5,0)),o.positionPoints.push(new SuperMap.Geometry.Point(17,0)),o.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(o);var n=new Object;return n.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,n.positionPoints=[],n.positionPoints.push(new SuperMap.Geometry.Point(-2,1.5)),n.positionPoints.push(new SuperMap.Geometry.Point(-5,0)),n.positionPoints.push(new SuperMap.Geometry.Point(-2,-1.5)),n.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(n),t},supplyPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(0,0)),o.textContent="补",o.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},o.style.labelAlign="cm",t.push(o),t.push(e),t},takeoffPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(-15,25)),e.positionPoints.push(new SuperMap.Geometry.Point(15,25)),e.positionPoints.push(new SuperMap.Geometry.Point(15,-25)),e.positionPoints.push(new SuperMap.Geometry.Point(0,-35)),e.positionPoints.push(new SuperMap.Geometry.Point(-15,-25)),e.positionPoints.push(new SuperMap.Geometry.Point(-15,25)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},initialPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(-30,30)),e.positionPoints.push(new SuperMap.Geometry.Point(30,30)),e.positionPoints.push(new SuperMap.Geometry.Point(30,-30)),e.positionPoints.push(new SuperMap.Geometry.Point(-30,-30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},visualInitalPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.positionPoints.push(new SuperMap.Geometry.Point(30,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,-30)),e.positionPoints.push(new SuperMap.Geometry.Point(-30,0)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},lanchPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.positionPoints.push(new SuperMap.Geometry.Point(20,-30)),e.positionPoints.push(new SuperMap.Geometry.Point(-20,-30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},turningPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},aimingPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,-30)),e.positionPoints.push(new SuperMap.Geometry.Point(20,30)),e.positionPoints.push(new SuperMap.Geometry.Point(-20,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},targetPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.positionPoints.push(new SuperMap.Geometry.Point(30,-30)),e.positionPoints.push(new SuperMap.Geometry.Point(-30,-30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},eightSpiralPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(30,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(-30,0)),o.positionPoints.push(new SuperMap.Geometry.Point(0,0)),o.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t.push(o),t},happyValleyPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(-30,20)),e.positionPoints.push(new SuperMap.Geometry.Point(30,20)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;o.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(30,-20)),o.positionPoints.push(new SuperMap.Geometry.Point(-30,-20)),o.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var n=new Object;n.type=SuperMap.Plot.SymbolType.ARCSYMBOL,n.positionPoints=[],n.positionPoints.push(new SuperMap.Geometry.Point(-30,20)),n.positionPoints.push(new SuperMap.Geometry.Point(-50,0)),n.positionPoints.push(new SuperMap.Geometry.Point(-30,-20)),n.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var i=new Object;return i.type=SuperMap.Plot.SymbolType.ARCSYMBOL,i.positionPoints=[],i.positionPoints.push(new SuperMap.Geometry.Point(30,20)),i.positionPoints.push(new SuperMap.Geometry.Point(50,0)),i.positionPoints.push(new SuperMap.Geometry.Point(30,-20)),i.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t.push(o),t.push(n),t.push(i),t},attackPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(0,20)),o.positionPoints.push(new SuperMap.Geometry.Point(20,-20)),o.positionPoints.push(new SuperMap.Geometry.Point(-20,-20)),o.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(o),t.push(e),t},suppressPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fontSize:14};var o=new Object;return o.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(-15,15)),o.positionPoints.push(new SuperMap.Geometry.Point(15,15)),o.positionPoints.push(new SuperMap.Geometry.Point(15,-15)),o.positionPoints.push(new SuperMap.Geometry.Point(-15,-15)),o.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(o),t.push(e),t},getRouteNodeCells:function(t,e,o){switch(t){case SuperMap.Plot.RouteNodeType.RENDEZVOUS:return this.rendezvousPoint();case SuperMap.Plot.RouteNodeType.EXPANDING:return this.expandingPoint();case SuperMap.Plot.RouteNodeType.VOLLEY:return this.volleyPoint();case SuperMap.Plot.RouteNodeType.STANDBY:return e?this.standbyPoint_Inner():this.standbyPoint_Outer(null,o);case SuperMap.Plot.RouteNodeType.SUPPLY:return this.supplyPoint();case SuperMap.Plot.RouteNodeType.TAKEOFF:return this.takeoffPoint();case SuperMap.Plot.RouteNodeType.INITIAL:return this.initialPoint();case SuperMap.Plot.RouteNodeType.VISUALINITAL:return this.visualInitalPoint();case SuperMap.Plot.RouteNodeType.LANCH:case SuperMap.Plot.RouteNodeType.WEAPONLAUNCH:return this.lanchPoint();case SuperMap.Plot.RouteNodeType.TURNING:case SuperMap.Plot.RouteNodeType.COMMONROUTE:return this.turningPoint();case SuperMap.Plot.RouteNodeType.AIMING:return this.aimingPoint();case SuperMap.Plot.RouteNodeType.TARGET:return this.targetPoint();case SuperMap.Plot.RouteNodeType.ATTACK:return this.attackPoint();case SuperMap.Plot.RouteNodeType.SUPPRESS:return this.suppressPoint();case SuperMap.Plot.RouteNodeType.EIGHTSPIRAL:return this.eightSpiralPoint();case SuperMap.Plot.RouteNodeType.HAPPYVALLEY:return this.happyValleyPoint();default:return[]}},getRouteNodeNameByType:function(t){switch(t){case SuperMap.Plot.RouteNodeType.RENDEZVOUS:return"会合点";case SuperMap.Plot.RouteNodeType.EXPANDING:return"展开点";case SuperMap.Plot.RouteNodeType.VOLLEY:return"齐射点";case SuperMap.Plot.RouteNodeType.STANDBY:return"待机点";case SuperMap.Plot.RouteNodeType.SUPPLY:return"补给点";case SuperMap.Plot.RouteNodeType.TAKEOFF:return"起飞点";case SuperMap.Plot.RouteNodeType.INITIAL:return"初始点";case SuperMap.Plot.RouteNodeType.VISUALINITAL:return"可视化初始点";case SuperMap.Plot.RouteNodeType.LANCH:return"发射点";case SuperMap.Plot.RouteNodeType.WEAPONLAUNCH:return"武器发射点";case SuperMap.Plot.RouteNodeType.TURNING:return"转弯点";case SuperMap.Plot.RouteNodeType.COMMONROUTE:return"普通航路点";case SuperMap.Plot.RouteNodeType.AIMING:return"目标瞄准点";case SuperMap.Plot.RouteNodeType.TARGET:return"目标点";case SuperMap.Plot.RouteNodeType.ATTACK:return"攻击点";case SuperMap.Plot.RouteNodeType.SUPPRESS:return"压制点";case SuperMap.Plot.RouteNodeType.EIGHTSPIRAL:return"八字盘旋点";case SuperMap.Plot.RouteNodeType.HAPPYVALLEY:return"跑马圈点";default:return""}}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.Primitives=SuperMap.Plot.Primitives=SuperMap.Plot.Primitives||{};SuperMap.Plot.Primitives={nSegmentCount:72,initialize:function(t){t&&t.nSegmentCount&&(this.nSegmentCount=t.nSegmentCount)},polyline:function(t){return t},parallelline:function(t){if(t&&t.length>=3){var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);SuperMap.Plot.PlottingUtil.isRight(t[0],t[1],t[2])&&(e=-e);for(var o=[],n=1;n<t.length;n++)o.push(t[n].clone());var i=SuperMap.Plot.PlottingUtil.parallel(o,e);return t[0].x=i[0].x,t[0].y=i[0].y,[o,i]}return[]},kidney:function(t,e){if(t){return e?this.getKendyShapePts(t):t}},bezier:function(t,e){if(t){var o=[];return o=e?SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t):t,SuperMap.Plot.PlottingUtil.clearSamePts(o),o}},loopbezier:function(t,e){if(t){t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y||t.push(t[0]);var o=[];return o=e?SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t):t,SuperMap.Plot.PlottingUtil.clearSamePts(o),o}},parallelogram:function(t){if(t&&t.length>=3){var e=t[0].x+(t[2].x-t[1].x),o=t[0].y+(t[2].y-t[1].y),n=new SuperMap.Geometry.Point(e,o),i=[];return i.push.apply(i,t),i.push(n),i.push(i[0]),i}},polygon:function(t){if(t&&t.length>2)return t},circle:function(t){if(t&&2===t.length){for(var e=t[0],o=t[1],n=[],i=Math.sqrt((o.x-e.x)*(o.x-e.x)+(o.y-e.y)*(o.y-e.y)),l=360/this.nSegmentCount,r=0;r<this.nSegmentCount;r++){var a=(r*l+1)*Math.PI/180,s=new SuperMap.Geometry.Point(Math.cos(a)*i+e.x,Math.sin(a)*i+e.y);n[r]=s}return n}},rectangle:function(t){if(t&&2===t.length){var e=t[0],o=t[1],n=e.clone();return[n,new SuperMap.Geometry.Point(o.x,e.y),o.clone(),new SuperMap.Geometry.Point(e.x,o.y),n]}},sector:function(t){if(t&&t.length>=3){var e=this.getArcInfo(t[0],t[1],t[2]);e.dStartAngle*=Math.PI/180,e.dEndAngle*=Math.PI/180;var o=(e.dEndAngle-e.dStartAngle)/this.nSegmentCount,n=this.getArcSpatialData(e.pntCenter,e.dRadius,e.dRadius,0,e.dStartAngle,e.dEndAngle,o);if(n.push(e.pntCenter),0!==n.length)return n}},lune:function(t){if(t&&t.length>=3){var e=this.getArcInfo(t[0],t[1],t[2]);e.dStartAngle*=Math.PI/180,e.dEndAngle*=Math.PI/180;var o=(e.dEndAngle-e.dStartAngle)/this.nSegmentCount,n=this.getArcSpatialData(e.pntCenter,e.dRadius,e.dRadius,0,e.dStartAngle,e.dEndAngle,o);if(0!==n.length)return n}},arc:function(t){if(t&&t.length>=3){var e=this.getArcInfo(t[0],t[1],t[2]);e.dStartAngle*=Math.PI/180,e.dEndAngle*=Math.PI/180;var o=(e.dEndAngle-e.dStartAngle)/this.nSegmentCount,n=this.getArcSpatialData(e.pntCenter,e.dRadius,e.dRadius,0,e.dStartAngle,e.dEndAngle,o);if(0!==n.length)return n}},ellipse:function(t,e,o,n,i){if(!0===o){if((!n||null==n)&&t&&t.length>=3&&(n=SuperMap.Plot.PlottingUtil.distance(t[0],t[1])),(!i||null==i)&&t&&t.length>=3){var l=SuperMap.Plot.PlottingUtil.projectPoint(t[2],t[0],t[1]);i=SuperMap.Plot.PlottingUtil.distance(l,t[2])}}else i=SuperMap.Plot.PlottingUtil.distance(t[0],t[2]),n=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(e&&null!=e?e*=Math.PI/180:e=SuperMap.Plot.PlottingUtil.radian(t[0],t[1]),t&&t.length>0){var r=2*Math.PI,a=r/this.nSegmentCount,s=this.getArcSpatialData(t[0],n,i,e,0,r,a);if(!0===o){var u=Math.sin(e),p=Math.cos(e);t[2].x>t[1].x?(t[2].x=t[0].x-i*u,t[2].y=t[0].y+i*p):(t[2].x=t[0].x+i*u,t[2].y=t[0].y-i*p)}return s}},getArcSpatialData:function(t,e,o,n,i,l,r){var a=[];if(Math.abs(r)<1e-9)return a;for(;l<i;)l+=2*Math.PI;for(;l>i+2*Math.PI;)i+=2*Math.PI;var s=Math.cos(n)*e,u=Math.sin(n)*e,p=Math.cos(n)*o,c=Math.sin(n)*o,y=this.calcEllipseRadian(i,e,o),h=this.calcEllipseRadian(l,e,o);h-y<1e-5&&(h+=2*Math.PI);var P=Math.round(Math.abs((h-y)/r)+1);if(P<2)return a;for(var f=0;f<P-1;y+=r,f++){f===P-2&&(y=l);var S=t.x+s*Math.cos(y)-c*Math.sin(y),d=t.y+u*Math.cos(y)+p*Math.sin(y);a.push(new SuperMap.Geometry.Point(S,d))}return 0>a.length&&(a[a.length-1].x=t.x+s*Math.cos(h)-c*Math.sin(h),a[a.length-1].y=t.y+u*Math.cos(h)+p*Math.sin(h)),a},getArcInfo:function(t,e,o){var n={};n.pntCenter=new SuperMap.Geometry.Point(0,0),n.dRadius=0,n.dStartAngle=0,n.dEndAngle=0;var i=e.x-t.x,l=e.y-t.y;if(Math.abs(i)<1e-9){var r={},a={};r.x=(e.x+t.x)/2,r.y=(e.y+t.y)/2,a.x=(e.x+o.x)/2,a.y=(e.y+o.y)/2;var s=0;Math.abs(o.x-e.x)>=1e-9&&(s=(o.y-e.y)/(o.x-e.x)),n.pntCenter.y=r.y,Math.abs(s)<1e-9?n.pntCenter.x=a.x:n.pntCenter.x=a.x-s*(r.y-a.y)}else{var u={},p={};u.x=(e.x+t.x)/2,u.y=(e.y+t.y)/2,p.x=(e.x+o.x)/2,p.y=(e.y+o.y)/2;var c=l/i,y=1;Math.abs(c)<1e-9?(n.pntCenter.x=u.x,Math.abs(o.x-e.x<1e-9)?n.pntCenter.y=p.y:n.pntCenter.y=-(o.x-e.x)/(o.y-e.y)*(n.pntCenter.x-p.x)+p.y):Math.abs(o.x-e.x)<1e-9?(n.pntCenter.y=p.y,n.pntCenter.x=-c*(n.pntCenter.y-u.y)+u.x):(y=(o.y-e.y)/(o.x-e.x),n.pntCenter.x=(c*y*(u.y-p.y)+y*u.x-c*p.x)/(y-c),n.pntCenter.y=(p.x-u.x+y*p.y-c*u.y)/(y-c))}var h=Math.atan2(t.y-n.pntCenter.y,t.x-n.pntCenter.x),P=Math.atan2(o.y-n.pntCenter.y,o.x-n.pntCenter.x);if(SuperMap.Plot.PlottingUtil.isCounterClockwise(t,e,o)){for(;h>=2*Math.PI;)h-=2*Math.PI;for(;h<0;)h+=2*Math.PI;for(;P>2*Math.PI;)P-=2*Math.PI;for(;P<h;)P+=2*Math.PI}else{for(;P>=2*Math.PI;)P-=2*Math.PI;for(;P<0;)P+=2*Math.PI;for(;h>2*Math.PI;)h-=2*Math.PI;for(;P>h;)h+=2*Math.PI;var f=h;h=P,P=f}return n.dRadius=Math.sqrt((n.pntCenter.x-t.x)*(n.pntCenter.x-t.x)+(n.pntCenter.y-t.y)*(n.pntCenter.y-t.y)),n.dEndAngle=180*P/Math.PI,n.dStartAngle=180*h/Math.PI,n},calcEllipseRadian:function(t,e,o){var n=t,i=e*Math.sin(t),l=o*Math.cos(t),r=Math.atan2(i,l);if(t>Math.PI)for(;n>Math.PI;)n-=2*Math.PI,r+=2*Math.PI;else if(t<-Math.PI)for(;n<-Math.PI;)n+=2*Math.PI,r-=2*Math.PI;return r},getKendyShapePts:function(t){var e=[];if(2>(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length)return e;var o=this.calcShapePoints(t);if(12!=o.length)return e;o.push(o[0]),o.push(o[1]),o.splice(0,1);for(var n=0;n<o.length-3;n+=3){var i;i=this.getBezierPtsWithScalePts(o[n],o[n+1],o[n+2],o[n+3]),e=e.concat(i)}return e},calcShapePoints:function(t){var e=[],o=[],n=t.length;if(0!==n){if(1!==n){if(2==n){var i=this.calcProtudeC3(t[0],t[1]);o.push(t[0]),o.push(t[1]),o.push(i)}else if(o.push(t[0]),o.push(t[1]),o.push(t[2]),(SuperMap.Plot.PlottingUtil.isSamePt(t[0],t[2])||SuperMap.Plot.PlottingUtil.isSamePt(t[1],t[2]))&&(e.push(t[0]),e.push(t[1])),SuperMap.Plot.PlottingUtil.isSamePt(t[0],t[1]))return e.push(t[0]),void e.push(t[2]);o=this.reNormalizeKidneyCtrlPoints(o);var l=new SuperMap.Geometry.Point(0,0),r=new SuperMap.Geometry.Point(0,0);l.x=.5*(o[0].x+o[1].x),l.y=.5*(o[0].y+o[1].y),r.x=l.x-.1*(o[2].x-l.x),r.y=l.y-.1*(o[2].y-l.y);var a=this.GetPtsByTriangle(3,0,o[1],o[0],r);e.push(a.pr),e.push(r),e.push(a.pl);var s=this.GetPtsByTriangle(4,2,o[2],o[0],o[1]);e.push(s.pr),e.push(o[1]),e.push(s.pl);var u=this.GetPtsByTriangle(2,0,o[0],o[1],o[2]);e.push(u.pr),e.push(o[2]),e.push(u.pl);var p=this.GetPtsByTriangle(4,1,o[1],o[2],o[0]);return e.push(p.pr),e.push(o[0]),e.push(p.pl),e}e.push(t[0])}},calcProtudeC3:function(t,e){var o,n=new SuperMap.Geometry.Point(0,0);return n.x=.5*(t.x+e.x),n.y=.5*(t.y+e.y),o=SuperMap.Plot.PlottingUtil.distance(e,t)/2.7,this.GetPointsOfNormal(o,t,n).pt3},GetPointsOfNormal:function(t,e,o){var n,i=new SuperMap.Geometry.Point(0,0),l=new SuperMap.Geometry.Point(0,0),r=new SuperMap.Geometry.Point(0,0);return 0==(n=SuperMap.Plot.PlottingUtil.distance(e,o))?(r.y=0,r.x=t):(r.x=t*(e.x-o.x)/n,r.y=t*(e.y-o.y)/n),i.x=-r.y+o.x,i.y=r.x+o.y,l.x=r.y+o.x,l.y=-r.x+o.y,{pt3:i,pt4:l}},reNormalizeKidneyCtrlPoints:function(t){var e=[];e.push(new SuperMap.Geometry.Point(0,0)),e.push(new SuperMap.Geometry.Point(0,0)),e.push(new SuperMap.Geometry.Point(0,0));var o=t.length;if(o<2)return e;if(2==o)e[0]=t[0],e[1]=t[1],e[2]=this.calcProtudeC3(t[0],t[1]);else{var n,i,l,r=t[0],a=t[1],s=t[2];if(n=SuperMap.Plot.PlottingUtil.distance(a,r),i=SuperMap.Plot.PlottingUtil.distance(s,a),l=SuperMap.Plot.PlottingUtil.distance(r,s),i>=n&&i>=l){var u=r.clone();r=s.clone(),s=u.clone()}else if(l>=n&&l>=i){var p=s.clone();s=a.clone(),a=p.clone()}if(!SuperMap.Plot.PlottingUtil.isRight(s,r,a)){var c=r.clone();r=a.clone(),a=c.clone()}e[0]=r,e[1]=a,e[2]=s}return e},GetPtsByTriangle:function(t,e,o,n,i){var l=new SuperMap.Geometry.Point(0,0),r=0,a=0;return r=SuperMap.Plot.PlottingUtil.distance(i,o),a=SuperMap.Plot.PlottingUtil.distance(n,i),1==e&&(r*=2),2==e&&(a*=2),l.x=(r*n.x+a*o.x)/(r+a),l.y=(r*n.y+a*o.y)/(r+a),{pl:this.GetWhichPtOfNormal(t,o,l,i),pr:this.GetWhichPtOfNormal(t,n,l,i)}},GetWhichPtOfNormal:function(t,e,o,n){var i=0;i=SuperMap.Plot.PlottingUtil.distance(n,e)/t;var l=this.GetPointsOfNormal(i,o,n);return SuperMap.Plot.PlottingUtil.distance(e,l.pt4)>=(i=SuperMap.Plot.PlottingUtil.distance(e,l.pt3))?l.pt3:l.pt4},getBezierPtsWithScalePts:function(t,e,o,n){var i=[],l=t.x,r=t.y,a=e.x,s=e.y,u=o.x,p=o.y,c=n.x,y=n.y;if(SuperMap.Plot.PlottingUtil.equalFuzzy(l,a,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(r,s,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(u,c,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(p,y,1e-10))i.push(new SuperMap.Geometry.Point(l,r)),i.push(new SuperMap.Geometry.Point(u,p));else for(var h=0;h<=1;h+=.03125){var P,f,S,d,g=h*h,M=g*h;P=1-3*h+3*g-M,f=3*(h-2*g+M),S=3*(g-M),d=M;var m=new SuperMap.Geometry.Point(P*l+f*a+S*u+d*c,P*r+f*s+S*p+d*y);i.push(m)}return i},getSpatialData:function(t,e,o,n){switch(null==n&&(n=!0),t){case 24:return this.polyline(e);case 390:return this.kidney(e,n);case 590:return this.bezier(e,n);case 360:return this.loopbezier(e,n);case 28:return this.parallelogram(e);case 32:return this.polygon(e);case 29:return this.circle(e);case 26:return this.rectangle(e);case 380:return this.sector(e);case 370:return this.lune(e);case 44:return this.arc(e);case 31:return this.ellipse(e,o,n);case 48:return this.parallelline(e);default:return e}}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.PlottingUtil=SuperMap.Plot.PlottingUtil=SuperMap.Plot.PlottingUtil||{};SuperMap.Plot.PlottingUtil.DEFAULT_PRECISION=14,SuperMap.Plot.PlottingUtil.DPI=96,SuperMap.Plot.PlottingUtil.RTOD=57.29577951308232,SuperMap.Plot.PlottingUtil.DTOR=.017453292519943295,SuperMap.Plot.PlottingUtil.dirAngle=function(t,e){var o,n,i,l;o=e.x,n=e.y,i=o-t.x,l=n-t.y;var r=Math.atan2(l,i);return r<0&&(r+=2*Math.PI),r},SuperMap.Plot.PlottingUtil.generateUuid=function(){for(var t=[],e=0;e<36;e++)t[e]="0123456789abcdef".substr(Math.floor(16*Math.random()),1);return t[14]="4",t[19]="0123456789abcdef".substr(3&t[19]|8,1),t[8]=t[13]=t[18]=t[23]="-",t.join("")},SuperMap.Plot.PlottingUtil.cloneObject=function(t){return JSON.parse(JSON.stringify(t))},SuperMap.Plot.PlottingUtil.colorRGBA=function(t,e){var o=t.substring(1,3),n=parseInt(o,16),i=t.substring(3,5),l=parseInt(i,16),r=t.substring(5);return"rgba("+n+","+l+","+parseInt(r,16)+","+e+")"},SuperMap.Plot.PlottingUtil.colorRGBToString=function(t){var e=t.red.toString(16);e.length<2&&(e="0"+e);var o=t.green.toString(16);o.length<2&&(o="0"+o);var n=t.blue.toString(16);return n.length<2&&(n="0"+n),"#"+e+o+n},SuperMap.Plot.PlottingUtil.colorStringToRGB=function(t){var e={},o=t.substring(1,3);e.red=parseInt(o,16);var n=t.substring(3,5);e.green=parseInt(n,16);var i=t.substring(5);return e.blue=parseInt(i,16),e},SuperMap.Plot.PlottingUtil.decimalToHex=function(t){for(var e=t.toString(16);e.length<8;)e="0"+e;var o=e.substring(0,2),n=e.substring(2,4),i=e.substring(4,6);return{color:"#"+e.substring(6)+i+n,alpha:parseInt(o,16)/255}},SuperMap.Plot.PlottingUtil.hexToDecimal=function(t,e){var o=t.substring(1,3),n=t.substring(3,5),i=t.substring(5),l=parseInt(i+n+o,16),r=Math.round(255*e).toString(16);return parseInt(r+"000000",16)+l},SuperMap.Plot.PlottingUtil.getAlign=function(t){return"TOPLEFT"===t?"lt":"TOPCENTER"===t?"ct":"TOPRIGHT"===t?"rt":"BOTTOMLEFT"===t?"lb":"BOTTOMCENTER"===t?"cb":"BOTTOMRIGHT"===t?"rb":"MIDDLELEFT"===t?"lm":"MIDDLECENTER"===t?"cm":"MIDDLERIGHT"===t?"rm":"lt"},SuperMap.Plot.PlottingUtil.trim=function(t){return null==t?"":t.replace(/(^\s*)|(\s*$)/g,"")},SuperMap.Plot.PlottingUtil.getTextWidth=function(t,e){" "===e&&(e="_");var o=document.createElement("span");document.body.appendChild(o),o.style.width="auto",o.style.height="auto",t.fontSize&&(o.style.fontSize=new String(t.fontSize)+"px"),t.fontFamily&&(o.style.fontFamily=t.fontFamily),t.fontWeight&&(o.style.fontWeight=t.fontWeight),o.style.position="absolute",o.style.visibility="hidden",o.style.display="inline-block",o.innerHTML=e;var n=o.clientWidth,i=e.length;return void 0===t.fontSpace&&void 0===t.fontPercent||(0!==t.fontSpace&&100!==t.fontPercent&&void 0!==t.fontSpace||void 0!==t.fontPercent?n=t.fontPercent/100*n+t.fontSpace*(t.fontPercent/100)*(i-1):0===t.fontSpace&&100!==t.fontPercent&&void 0!==t.fontPercent?n=t.fontPercent/100*n:0!==t.fontSpace&&100===t.fontPercent&&void 0!==t.fontSpace&&(n+=t.fontSpace*(i-1))),document.body.removeChild(o),n},SuperMap.Plot.PlottingUtil.getTextCount=function(t){for(var e=0,o=0,n=0;n<t.length;n++)t.charCodeAt(n)>255?e++:o++;return e+o/2},SuperMap.Plot.PlottingUtil.toJSON=function(t){var e=t;if(null==e)return null;switch(e.constructor){case String:return e=(e=(e=(e=(e=(e=(e='"'+e.replace(/(["\\])/g,"\\$1")+'"').replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace("<","&lt;")).replace(">","&gt;")).replace(/%/g,"%2525")).replace(/&/g,"%26");case Array:for(var o=[],i=0,l=e.length;i<l;i++)o.push(SuperMap.Plot.PlottingUtil.toJSON(e[i]));return"["+o.join(",")+"]";case Number:return isFinite(e)?String(e):null;case Boolean:return String(e);case Date:return"{'__type':\"System.DateTime\",'Year':"+e.getFullYear()+",'Month':"+(e.getMonth()+1)+",'Day':"+e.getDate()+",'Hour':"+e.getHours()+",'Minute':"+e.getMinutes()+",'Second':"+e.getSeconds()+",'Millisecond':"+e.getMilliseconds()+",'TimezoneOffset':"+e.getTimezoneOffset()+"}";default:if(null!=e.toJSON&&"function"==typeof e.toJSON)return e.toJSON();if("object"===(void 0===e?"undefined":n(e))){if(e.length){for(var r=[],a=0,s=e.length;a<s;a++)r.push(SuperMap.Plot.PlottingUtil.toJSON(e[a]));return"["+r.join(",")+"]"}var u=[];for(var p in e)"function"!=typeof e[p]&&"CLASS_NAME"!==p&&"parent"!==p&&u.push('"'+p+'":'+SuperMap.Plot.PlottingUtil.toJSON(e[p]));return u.length>0?"{"+u.join(",")+"}":"{}"}return e.toString()}},SuperMap.Plot.PlottingUtil.copyFeature=function(t){var e=null;if(null!=t&&t.geometry){var o=t.geometry.clone();e=new SuperMap.Feature.Vector(o),t.style&&(e.style=SuperMap.Plot.PlottingUtil.copyAttributes(e.style,t.style)),o.feature=e,o.calculateParts()}return e},SuperMap.Plot.PlottingUtil.getSurroundLinePts=function(t,e){for(var o=[],n=[],i=0;i<t.length-1;i++){var l,r,a=[];if(!SuperMap.Plot.PlottingUtil.equalFuzzy(t[i].x,t[i+1].x)||!SuperMap.Plot.PlottingUtil.equalFuzzy(t[i].y,t[i+1].y)){a.push(t[i]),a.push(t[i+1]);var s=SuperMap.Plot.PlottingUtil.parallel(a,e);if(l=s[0],r=s[1],0!=o.length){var u=SuperMap.Plot.PlottingUtil.intersectLines(l,r,o[0],o[1]);if(u.isIntersectLines){var p=u.intersectPoint,c=SuperMap.Plot.PlottingUtil.distance(l,r);SuperMap.Plot.PlottingUtil.distance(p,r)>2*c?n.push(r):(n[n.length-1]=p,n.push(r))}else n.push(r)}else n.push(l),n.push(r);(o=[]).push(n[n.length-2]),o.push(n[n.length-1])}}if(t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y&&1<n.length){var y=SuperMap.Plot.PlottingUtil.intersectLines(n[0],n[1],n[n.length-2],n[n.length-1]);if(y.isIntersectLines){var h=y.intersectPoint;n[n.length-1]=h,n[0]=h}}return n},SuperMap.Plot.PlottingUtil.copyFontStyle=function(t,e){void 0===t.labelAlign&&void 0!==e.labelAlign&&(t.labelAlign=e.labelAlign),!0!==t.fontSizeLimit&&(void 0!==e.fontSize&&(t.fontSize=e.fontSize),void 0!==e.fontWeight&&(t.fontWeight=e.fontWeight),void 0!==e.fontStyle&&(t.fontStyle=e.fontStyle),void 0!==e.fontSpace&&(t.fontSpace=e.fontSpace),void 0!==e.fontPercent&&(t.fontPercent=e.fontPercent)),t.strokeWidth=e.strokeWidth},SuperMap.Plot.PlottingUtil.getDataFromServer=function(t,e,o,i,l,r,a,s){var u=void 0;if(void 0!==r&&(u=r),"undefined"!=typeof SuperMap&&void 0!==SuperMap.GetSymbolInfoService){var p=new SuperMap.GetSymbolInfoService(t);p.events.on({processCompleted:a,processFailed:s,scope:u});var c=new SuperMap.GetSymbolInfoParameters;c.libID=e,c.code=o,l&&SuperMap.Plot.PlottingUtil.extend(c,l),i&&null!=i&&(SuperMap.Plot.PlottingUtil.isArray(i)||(i=[i]),c.inputPoints=i),p.processAsync(c)}else if(void 0!==("undefined"==typeof SuperMap?"undefined":n(SuperMap))&&void 0!==n(SuperMap.REST)&&void 0!==n(SuperMap.REST.GetSymbolInfoService)){var y=new SuperMap.REST.GetSymbolInfoService(t);y.events.on({processCompleted:a,processFailed:s,scope:u});var h=new SuperMap.REST.GetSymbolInfoParameters;if(h.libID=e,h.code=o,l&&SuperMap.Plot.PlottingUtil.extend(h,l),i&&null!=i&&(SuperMap.Plot.PlottingUtil.isArray(i)||(i=[i]),h.inputPoints=i),l&&l.credential){var P=l.credential;y.processAsync(h,P)}else y.processAsync(h)}},SuperMap.Plot.PlottingUtil.innerOutlineDir=function(t){function e(t,e){function o(t){var e=Math.atan2(t.y,t.x);return e<0&&(e+=2*Math.PI),e}var n=o(e)-o(t);return n<-Math.PI&&(n+=2*Math.PI),n>Math.PI&&(n-=2*Math.PI),n}if(t.length<3)return 1;for(var o=0,n={x:0,y:0},i={x:0,y:0},l=2;l<t.length;l++)i.x=t[l].x-t[l-1].x,i.y=t[l].y-t[l-1].y,n.x=t[l-1].x-t[l-2].x,n.y=t[l-1].y-t[l-2].y,o+=e(n,i);return i.x=t[1].x-t[0].x,i.y=t[1].y-t[0].y,n.x=t[0].x-t[t.length-1].x,n.y=t[0].y-t[t.length-1].y,(o+=e(n,i))>=0?-1:1},SuperMap.Plot.PlottingUtil.isNear=function(t,e){return e||(e=SuperMap.Plot.PlottingUtil.TORLERANCE_STATIC),t<e&&t>-e},SuperMap.Plot.PlottingUtil.equalFuzzy=function(t,e,o){return o||(o=1e-18),Math.abs(t-e)<=o},SuperMap.Plot.PlottingUtil.intersectLines=function(t,e,o,n){var i={isIntersectLines:!1};if(t.x===e.x&&t.y===e.y||o.x===n.x&&o.y===n.y)return i;var l=e.x-t.x,r=e.y-t.y,a=n.x-o.x,s=n.y-o.y,u=l*s-a*r;if(SuperMap.Plot.PlottingUtil.isNear(u))return i;var p=(l*(t.y-o.y)-r*(t.x-o.x))/u,c=new SuperMap.Geometry.Point(0,0);return c.x=p*a+o.x,c.y=p*s+o.y,i.isIntersectLines=!0,i.intersectPoint=c,i},SuperMap.Plot.PlottingUtil.getEnvelopePoints=function(t){function e(t,e){if(t.length!==e.length)return!1;for(var o=0;o<t.length;o++)if(t[o].x!==e[o].x||t[o].y!==e[o].y)return!1;return!0}function o(t,e,o){for(var n=0;n<t.length;n++)if(t[n].containsPoint(e))return o.index=n,!0;return!1}function n(t,e,o){for(var n=t.components[0].components,i=new SuperMap.Geometry.Point(0,0),l=0;l<n.length-1;l++)if(SuperMap.Plot.PlottingUtil.intersectLineSegs(e,o,n[l],n[l+1],i))return i;return null}function i(t,e){if(0===t.length||SuperMap.Plot.PlottingUtil.equalFuzzy(e[0].x,e[e.length-1].x,.5)&&SuperMap.Plot.PlottingUtil.equalFuzzy(e[0].y,e[e.length-1].y,.5))return e;for(var o=e[e.length-1],n=0;n<t.length;n++)if(SuperMap.Plot.PlottingUtil.equalFuzzy(t[n][0].x,o.x,.5)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t[n][0].y,o.y,.5)){e=e.concat(t[n]),t.splice(n,1);var l=i(t,e);if(void 0!==l&&0!==l.length)return l}else if(SuperMap.Plot.PlottingUtil.equalFuzzy(t[n][t[n].length-1].x,o.x,.5)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t[n][t[n].length-1].y,o.y,.5)){for(var r=t[n].length-1;r>=0;r--)e.push(t[n][r]);t.splice(n,1);var a=i(t,e);if(void 0!==a&&0!==a.length)return a}return e}if(SuperMap.Plot.PlottingUtil.isArray(t)||(t=[t]),0===t.length)return[];if(1===t.length)return t[0];for(var l=0;l<t.length;l++)for(var r=l+1;r<t.length;)e(t[l],t[r])?t.splice(r,1):r++;for(var a=[],s=0;s<t.length;s++)a.push(new SuperMap.Geometry.Polygon([new SuperMap.Geometry.LinearRing(t[s])]));for(var u=[],p=0;p<t.length;p++){var c=[],y=[],h=-1,P=-1,f=a.slice();f.splice(p,1);for(var S={},d=0;d<t[p].length;d++)if(o(f,t[p][d],S)){if(0!==y.length){var g=n(a[S.index],t[p][d-1],t[p][d]);g&&g!==t[p][d-1]&&g!==t[p][d]&&y.push(g),c.push(y),y=[]}}else{if(0===d&&(h=c.length),d===t[p].length-1&&(P=c.length),0===y.length&&void 0!==S.index){var M=n(a[S.index],t[p][d-1],t[p][d]);M&&M!==t[p][d-1]&&M!==t[p][d]&&y.push(M)}y.push(t[p][d].clone())}if(0!==y.length&&c.push(y),h<c.length&&P<c.length&&h!==P){for(var m=0;m<c[h].length;m++)c[P].push(c[h][m]);c.splice(h,1)}u=u.concat(c)}for(var v=[];0!==u.length;){var b=u[0];u.splice(0,1);var T=i(u,b);void 0!==T&&(b=T),b.length>2&&v.push(b)}return v},SuperMap.Plot.PlottingUtil.isRight=function(t,e,o){var n=e,i=o,l=e,r=t;return(i.x-n.x)*(r.y-l.y)-(r.x-l.x)*(i.y-n.y)<0},SuperMap.Plot.PlottingUtil.radian=function(t,e){var o,n,i=0;return o=e.x-t.x,n=e.y-t.y,(i=Math.atan2(n,o))<0&&(i+=2*Math.PI),i},SuperMap.Plot.PlottingUtil.findBisectorPoint=function(t,e,o,n){var i=SuperMap.Plot.PlottingUtil.radian(e,t),l=(i+SuperMap.Plot.PlottingUtil.radian(e,o))/2,r=Math.cos(l-i+Math.PI/2),a=n;SuperMap.Plot.PlottingUtil.isNear(r,.15)||(a=n/r);var s=e.x+a*Math.cos(l),u=e.y+a*Math.sin(l);return new SuperMap.Geometry.Point(s,u)},SuperMap.Plot.PlottingUtil.findPoint=function(t,e,o,n){if(t===e||Math.abs(o)<1e-18)return t;var i=SuperMap.Plot.PlottingUtil.radian(t,e)+n*Math.PI/180,l=t.x+o*Math.cos(i),r=t.y+o*Math.sin(i);return new SuperMap.Geometry.Point(l,r)},SuperMap.Plot.PlottingUtil.isSameQuadrant=function(t,e,o,n){var i=(e.x-t.x)*(n.x-o.x),l=(e.y-t.y)*(n.y-o.y);return!(Math.abs(i)<1e-18&&Math.abs(l)<1e-18)&&((i>0||Math.abs(i)<1e-18)&&(l>0||Math.abs(l)<1e-18))},SuperMap.Plot.PlottingUtil.isCross=function(t,e,o,n){var i=new SuperMap.Geometry.Point(0,0);return!(!SuperMap.Plot.PlottingUtil.intersectLineSegs(t,e,o,n,i)||i==t||i===e||i===o||i==n)},SuperMap.Plot.PlottingUtil.intersectLineSegs=function(t,e,o,n,i){if(SuperMap.Plot.PlottingUtil.equalFuzzy(t.x,e.x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t.y,e.y))return i.x=t.x,i.y=t.y,!1;if(SuperMap.Plot.PlottingUtil.equalFuzzy(o.x,n.x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(o.y,n.y))return i.x=o.x,i.y=o.y,!1;var l=0,r=0;if(l=t.x>e.x?t.x:e.x,r=t.x<e.x?t.x:e.x,o.x-l>1e-16&&n.x-l>1e-16||o.x-r<-1e-16&&n.x-r<-1e-16)return!1;if(l=t.y>e.y?t.y:e.y,r=t.y<e.y?t.y:e.y,o.y-l>1e-16&&n.y-l>1e-16||o.y-r<-1e-16&&n.y-r<-1e-16)return!1;var a=e.x-t.x,s=e.y-t.y,u=n.x-o.x,p=n.y-o.y,c=t.x-o.x,y=t.y-o.y,h=a*p-u*s,P=h;if(Math.abs(a)>1e-18&&Math.abs(u)>1e-18&&(P/=a*u),Math.abs(P)<1e-18)return t===o?(i.x=t.x,i.y=t.y,!SuperMap.Plot.PlottingUtil.isSameQuadrant(t,e,o,n)):e===n?(i.x=e.x,i.y=e.y,!SuperMap.Plot.PlottingUtil.isSameQuadrant(t,e,o,n)):t===n?(i.x=t.x,i.y=t.y,SuperMap.Plot.PlottingUtil.isSameQuadrant(t,e,o,n)):e===o&&(i.x=e.x,i.y=e.y,SuperMap.Plot.PlottingUtil.isSameQuadrant(t,e,o,n));var f=(a*y-s*c)/h,S=(u*y-p*c)/h;return!(f<0&&(Math.abs(f*u)>1e-16||Math.abs(f*p)>1e-16))&&(!(f>1&&(Math.abs((f-1)*u)>1e-16||Math.abs((f-1)*p)>1e-16))&&(!(S<0&&(Math.abs(S*a)>1e-16||Math.abs(S*s)>1e-16))&&(!(S>1&&(Math.abs((S-1)*a)>1e-16||Math.abs((S-1)*s)>1e-16))&&(Math.abs(f)<1e-18?(i.x=o.x,i.y=o.y,!0):Math.abs(f-1)<1e-18?(i.x=n.x,i.y=n.y,!0):Math.abs(S)<1e-18?(i.x=t.x,i.y=t.y,!0):Math.abs(S-1)<1e-18?(i.x=e.x,i.y=e.y,!0):!(f<0&&(Math.abs(f*u)>1e-16||Math.abs(f*p)>1e-16))&&(!(f>1&&(Math.abs((f-1)*u)>1e-16||Math.abs((f-1)*p)>1e-16))&&(!(S<0&&(Math.abs(S*a)>1e-16||Math.abs(S*s)>1e-16))&&(!(S>1&&(Math.abs((S-1)*a)>1e-16||Math.abs((S-1)*s)>1e-16))&&(i.x=f*u+o.x,i.y=f*p+o.y,!0))))))))},SuperMap.Plot.PlottingUtil.parallel=function(t,e){var o=[],n=t.length;if(!t||null==t||t.length<2)return o;var i=!1;t.length>3&&t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y&&(i=!0),i?(o[0]=SuperMap.Plot.PlottingUtil.findBisectorPoint(t[t.length-2],t[0],t[1],e),o[t.length-1]=o[0]):(o[0]=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],e,90),o[t.length-1]=SuperMap.Plot.PlottingUtil.findPoint(t[t.length-1],t[t.length-2],-e,90));for(var l=t[0],r=t[1],a=t[1],s=1;s<t.length-1;s++)if(r=t[s],t[s]!==t[s-1]&&(l=t[s-1]),t[s]!==t[s+1]){a=t[s+1];var u=SuperMap.Plot.PlottingUtil.findBisectorPoint(l,r,a,e);SuperMap.Plot.PlottingUtil.isCross(l,o[s-1],r,u)&&(u=o[s-1]),o[s]=u}else{for(var p=s;p<n-1;){if(t[p]!==t[p+1]){a=t[p+1];break}p++}if(p<n-1){var c=SuperMap.Plot.PlottingUtil.FindBisectorPoint(l,r,a,e);for(SuperMap.Plot.PlottingUtil.isCross(l,o[s-1],r,c)&&(c=o[s-1]);s<p;)o[s]=c,s++;s=p-1}}return o},SuperMap.Plot.PlottingUtil.distance=function(t,e){return Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y))},SuperMap.Plot.PlottingUtil.projectPoint=function(t,e,o){if(e===o)return e;var n=new SuperMap.Geometry.Point(0,0),i=o.x-e.x,l=e.y-o.y,r=i*i,a=l*l,s=i*l,u=i*i+l*l;return n.x=(s*(e.y-t.y)+e.x*a+t.x*r)/u,n.y=(s*(e.x-t.x)+e.y*r+t.y*a)/u,n},SuperMap.Plot.PlottingUtil.pointToLineDis=function(t,e,o){var n=SuperMap.Plot.PlottingUtil.projectPoint(t,e,o);return SuperMap.Plot.PlottingUtil.distance(t,n)},SuperMap.Plot.PlottingUtil.pointToPloyLineDis=function(t,e,o){if(e===o)return SuperMap.Plot.PlottingUtil.distance(t,e);var n=(e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y),i=(o.x-t.x)*(o.x-t.x)+(o.y-t.y)*(o.y-t.y),l=(e.x-o.x)*(e.x-o.x)+(e.y-o.y)*(e.y-o.y),r=(n+l-i)/(2*l);r<0?r=0:r>1&&(r=1);var a=(o.x-e.x)*r+e.x,s=(o.y-e.y)*r+e.y,u=(a-t.x)*(a-t.x)+(s-t.y)*(s-t.y);return Math.sqrt(u)},SuperMap.Plot.PlottingUtil.isCounterClockwise=function(t,e,o){return(o.x-e.x)*(t.y-e.y)-(t.x-e.x)*(o.y-e.y)>0},SuperMap.Plot.PlottingUtil.clearSamePts=function(t){for(var e=t.length,o=0;o<e-1;)SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].x,t[o+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].y,t[o+1].y)?(t.splice(o,1),e--):o++;return t},SuperMap.Plot.PlottingUtil.getBeizerCtrlPt=function(t){var e=[],o=t.length;if(o<3)for(var n=0;n<o;++n)e[n]=t[n].clone();else{for(var i=0,l=0;l<3*o-2;l+=3)e[l]=t[i].clone(),e[l+1]=new SuperMap.Geometry.Point(0,0),e[l+2]=new SuperMap.Geometry.Point(0,0),i++;for(var r=1;r<o-1;r++)SuperMap.Plot.PlottingUtil.getTrianglePoints(8,3,t[r-1],t[r],t[r+1],e[3*r-1],e[3*r+1]);SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.6,e[0],e[3],e[2],e[1]),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.6,e[3*o-3],e[3*o-6],e[3*o-5],e[3*o-4]),e[3*o-1]=e[3*o-2]=t[o-1].clone()}return e},SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt=function(t,e){var o=t.slice();!0===e&&o.push(o[0]);var n=SuperMap.Plot.PlottingUtil.getBeizerCtrlPt(o);return SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(n)},SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt=function(t){var e=t.length,o=[];if(t.length<3)for(var n=0;n<e;n++)o[n]=t[n].clone();else{e/=3;for(var i=0;i<3*e&&!(i+4>=3*e);i+=3){var l=t[i].x,r=t[i].y,a=t[i+1].x,s=t[i+1].y,u=t[i+2].x,p=t[i+2].y,c=t[i+3].x,y=t[i+3].y;if(SuperMap.Plot.PlottingUtil.equalFuzzy(l,a,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(r,s,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(u,c,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(p,y,1e-10))o.push(new SuperMap.Geometry.Point(l,r)),o.push(new SuperMap.Geometry.Point(u,p));else for(var h=0;h<=1;h+=.03125){var P,f,S,d,g=h*h,M=g*h;P=1-3*h+3*g-M,f=3*(h-2*g+M),S=3*(g-M),d=M;var m=new SuperMap.Geometry.Point(P*l+f*a+S*u+d*c,P*r+f*s+S*p+d*y);o.push(m)}}}return o},SuperMap.Plot.PlottingUtil.computeBeizerPoints=function(t,e,o){var n=SuperMap.Plot.PlottingUtil.polylineDistance(e),i=[],l=[],r=[];if(t){l.push(e[0]);var a=o[0],s=o[1],u=e[0].x+n*a,p=e[0].y+n*s;l.push(new SuperMap.Geometry.Point(u,p)),i.push(new SuperMap.Geometry.Point(u,p));for(var c=1;c<e.length-1;c++){var y=o[4*c-2],h=o[4*c-1],P=e[c].x+n*y,f=e[c].y+n*h;l.push(new SuperMap.Geometry.Point(P,f)),i.push(new SuperMap.Geometry.Point(P,f)),l.push(new SuperMap.Geometry.Point(e[c].x,e[c].y)),y=o[4*c],h=o[4*c+1],P=e[c].x+n*y,f=e[c].y+n*h,l.push(new SuperMap.Geometry.Point(P,f)),i.push(new SuperMap.Geometry.Point(P,f))}var S=e.length-1;a=o[4*S-2],s=o[4*S-1],u=e[S].x+n*a,p=e[S].y+n*s,l.push(new SuperMap.Geometry.Point(u,p)),i.push(new SuperMap.Geometry.Point(u,p)),l.push(new SuperMap.Geometry.Point(e[S].x,e[S].y)),l.push(new SuperMap.Geometry.Point(e[S].x,e[S].y)),l.push(new SuperMap.Geometry.Point(e[S].x,e[S].y)),r=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(l)}else{o=[];var d=(l=SuperMap.Plot.PlottingUtil.getBeizerCtrlPt(e))[1].x-l[0].x,g=l[1].y-l[0].y,M=d/n,m=g/n;o.push(M),o.push(m),i.push(l[1]);for(var v=1;v<e.length-1;v++){var b=(l[3*v-1].x-l[3*v].x)/n,T=(l[3*v-1].y-l[3*v].y)/n;o.push(b),o.push(T),i.push(l[3*v-1]);var A=(l[3*v+1].x-l[3*v].x)/n,L=(l[3*v+1].y-l[3*v].y)/n;o.push(A),o.push(L),i.push(l[3*v+1])}M=(d=l[3*(e.length-1)-1].x-l[3*(e.length-1)].x)/n,m=(g=l[3*(e.length-1)-1].y-l[3*(e.length-1)].y)/n,o.push(M),o.push(m),i.push(l[3*(e.length-1)-1]),r=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(l)}return{scalePoints:i,scaleValues:o,beizerPoints:r}},SuperMap.Plot.PlottingUtil.getTrianglePoints=function(t,e,o,n,i,l,r){var a=o.x,s=o.y,u=n.x,p=n.y,c=i.x,y=i.y;SuperMap.Plot.PlottingUtil.getPointsByTriangle(t,e,a,s,u,p,c,y,l,r)},SuperMap.Plot.PlottingUtil.getPointsByTriangle=function(t,e,o,n,i,l,r,a,s,u){var p=i+(r-o),c=l+(a-n),y=0,h=0;if(o==r)y=o,h=c;else if(n==a)y=p,h=n;else{var P=1*(a-n)/(r-o),f=n-o*P;h=P*(y=(c+p/P-f)/(P+1/P))+f}var S=Math.sqrt(1*(i-p)*(i-p)+1*(l-c)*(l-c)),d=Math.sqrt(1*(o-i)*(o-i)+1*(n-l)*(n-l)),g=Math.sqrt(1*(i-r)*(i-r)+1*(l-a)*(l-a)),M=0;p=y+(p-y)*(M=d+g?1+(g-d)*t/(g+d):1),c=h+(c-h)*M,0==S&&(S=1),s.x=i+(i-p)*d/(e*S),s.y=l+(l-c)*d/(e*S),u.x=i+(p-i)*g/(e*S),u.y=l+(c-l)*g/(e*S)},SuperMap.Plot.PlottingUtil.getTrapezoidPoints=function(t,e,o,n,i){var l=e.x,r=e.y,a=o.x,s=o.y,u=n.x,p=n.y;return SuperMap.Plot.PlottingUtil.getPointsByTrapezoid(t,l,r,a,s,u,p,i)},SuperMap.Plot.PlottingUtil.getPointsByTrapezoid=function(t,e,o,n,i,l,r,a){var s=0,u=0,p=0,c=0;if(0==Math.abs(o-i))s=e+n-l,u=r;else if(0==Math.abs(e-n))s=l,u=o+i-r;else{var y=1*(o-i)/(e-n),h=r-y*l;u=y*(s=((i+o)/2+(e+n)/(2*y)-h)/(y+1/y))+h,s=2*s-l,u=2*u-r}var P=Math.sqrt(1*(e-n)*(e-n)+1*(o-i)*(o-i)),f=Math.sqrt(1*(e-s)*(e-s)+1*(o-u)*(o-u));return P>0?(p=e+(n-e)*f/P,c=o+(i-o)*f/P):(p=e,c=o),a.x=p+(s-p)*t,a.y=c+(u-c)*t,a},SuperMap.Plot.PlottingUtil.pointIsOnPolyLine=function(t,e,o){if(SuperMap.Plot.PlottingUtil.equalFuzzy(t.x,e.x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t.y,e.y)||SuperMap.Plot.PlottingUtil.equalFuzzy(t.x,o.x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t.y,o.y))return!0;var n=t.x-e.x,i=t.y-e.y,l=t.x-o.x,r=t.y-o.y,a=(n*l+i*r)/(Math.sqrt(n*n+i*i)*Math.sqrt(l*l+r*r));return!!SuperMap.Plot.PlottingUtil.equalFuzzy(a,-1,.1)},SuperMap.Plot.PlottingUtil.pointIsOnPolyLines=function(t,e){if(!e||0===e.length)return{isOnPolyLine:!1,index:-1};for(var o=!1,n=-1,i=0;i<e.length-1;i++)if(o=SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(t,e[i],e[i+1])){n=i;break}return{isOnPolyLine:o,index:n}},SuperMap.Plot.PlottingUtil.computePointToLineMinDis=function(t,e){for(var o=-1,n=-1,i=0;i<e.length-1;i++){var l=e[i],r=e[i+1],a=SuperMap.Plot.PlottingUtil.projectPoint(t,l,r);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(a,l,r)){var s=SuperMap.Plot.PlottingUtil.distance(t,a);o<0?(o=s,n&&(n=i)):o>s&&(o=s,n=i)}}return n&&o<0&&(n=-1),{minDis:o,index:n}},SuperMap.Plot.PlottingUtil.findPointInLine=function(t,e,o){if(t===e||Math.abs(o)<1e-18)return t;var n=e.x-t.x,i=e.y-t.y,l=o/Math.sqrt(n*n+i*i),r=t.x+n*l,a=t.y+i*l;return new SuperMap.Geometry.Point(r,a)},SuperMap.Plot.PlottingUtil.operateControlPoints=function(t){var e=t,o=e.length;if(3==o){var n=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrapezoidPoints(1,t[0],t[1],t[2],n),e.push(n)}if(o>4&&(e.splice(4,o-4),o=e.length),SuperMap.Plot.PlottingUtil.pointIsRightToLine(t[0],t[1],e[2])){var i=e[0];e[0]=e[1],e[1]=i}if(!SuperMap.Plot.PlottingUtil.pointIsRightToVerticle(e[0],e[1],e[2])){var l=e[2];e[2]=e[3],e[3]=l}return e},SuperMap.Plot.PlottingUtil.pointIsRightToLine=function(t,e,o){return(e.x-t.x)*(o.y-t.y)-(o.x-t.x)*(e.y-t.y)<0},SuperMap.Plot.PlottingUtil.pointIsRightToVerticle=function(t,e,o){var n=new SuperMap.Geometry.Point(.5*(e.x+t.x),.5*(e.y+t.y)),i=new SuperMap.Geometry.Point(e.x-t.x,e.y-t.y),l=new SuperMap.Geometry.Point(o.x-n.x,o.y-n.y);return i.x*l.x+i.y*l.y>0},SuperMap.Plot.PlottingUtil.linePnt=function(t,e,o){var n=SuperMap.Plot.PlottingUtil.distance(t,e);if(0==n)return t;var i=o/n;return SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(i,t,e)},SuperMap.Plot.PlottingUtil.findPointOnLineByRatio=function(t,e,o){var n=new SuperMap.Geometry.Point(0,0);return n.x=e.x+(o.x-e.x)*t,n.y=e.y+(o.y-e.y)*t,n},SuperMap.Plot.PlottingUtil.rotateAngle=function(t,e,o){var n=e,i=Math.cos(n),l=Math.sin(n),r=o.x-t.x,a=o.y-t.y;return o.x=r*i-a*l+t.x,o.y=r*l+a*i+t.y,o},SuperMap.Plot.PlottingUtil.resize=function(t,e,o){return o.x=t.x+e*(o.x-t.x),o.y=t.y+e*(o.y-t.y),o},SuperMap.Plot.PlottingUtil.findPointInPolyLine=function(t,e){if(e<0||t.length<2)return{index:-1,pt:null};if(Math.abs(e)<1e-18)return{index:0,pt:t[0]};for(var o=0,n=0;n<t.length-1;n++)if((o+=SuperMap.Plot.PlottingUtil.distance(t[n],t[n+1]))>e||SuperMap.Plot.PlottingUtil.equalFuzzy(o,e)){var i=o-e,l=t[n+1],r=t[n],a=i/SuperMap.Plot.PlottingUtil.distance(l,r),s=new SuperMap.Geometry.Point(0,0);return s.x=l.x+(r.x-l.x)*a,s.y=l.y+(r.y-l.y)*a,{index:n,pt:s}}return{index:-1,pt:null}},SuperMap.Plot.PlottingUtil.polylineDistance=function(t){if(0===t.length)return 0;for(var e=0,o=0;o<t.length-1;o++)e+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);return e},SuperMap.Plot.PlottingUtil.rotate=function(t,e,o,n){var i=n.x-t.x,l=n.y-t.y,r=i*e-l*o+t.x,a=i*o+l*e+t.y;return new SuperMap.Geometry.Point(r,a)},SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale=function(t,e,o){var n=e.x,i=e.y,l=o.x,r=o.y,a=Math.sqrt(1*(n-l)*(n-l)+1*(i-r)*(i-r)),s=0,u=0;return 0==a?(s=n,u=i):(s=n+(l-n)*t/a,u=i+(r-i)*t/a),new SuperMap.Geometry.Point(s,u)},SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale=function(t,e,o){var n=e.x,i=e.y,l=o.x,r=o.y,a=0,s=0,u=Math.sqrt(1*(n-l)*(n-l)+1*(i-r)*(i-r));return 0===u?(a=n,s=i):(a=n+(n-l)*t/u,s=i+(i-r)*t/u),new SuperMap.Geometry.Point(a,s)},SuperMap.Plot.PlottingUtil.getSidePointsOfLine=function(t,e,o){var n=e.x,i=e.y,l=o.x,r=o.y,a=Math.sqrt(1*(n-l)*(n-l)+1*(i-r)*(i-r)),s=0,u=0;0==a?(u=0,s=t):(s=t*(n-l)/a,u=t*(i-r)/a);var p=-u+l,c=+s+r,y=+u+l,h=-s+r;return{pntLeft:new SuperMap.Geometry.Point(y,h),pntRight:new SuperMap.Geometry.Point(p,c)}},SuperMap.Plot.PlottingUtil.pointProjectToSegment=function(t,e,o){var n=0,i=0,l=0,r=1,a=void 0,s=void 0;if(i=e.x!==t.x?(e.y-t.y)/(e.x-t.x):1.7976931348623157e308,l=o.x!==t.x?(o.y-t.y)/(o.x-t.x):1.7976931348623157e308,n=o.y!==e.y?(o.x-e.x)/(e.y-o.y):1.7976931348623157e308,(a=e.x>=t.x&&e.y>=t.y?1:e.x<t.x&&e.y>t.y?2:e.x<=t.x&&e.y<=t.y?3:4)==(s=o.x>t.x&&o.y>t.y?1:o.x<t.x&&o.y>t.y?2:o.x<t.x&&o.y<t.y?3:4))(i<n&&l<n||i>n&&l>n)&&(r=0);else switch(a){case 1:(4==s&&i<n||2==s&&i>n)&&(r=0);break;case 2:(1==s&&i<n||3==s&&i>n)&&(r=0);break;case 3:(2==s&&i<n||4==s&&i>n)&&(r=0);break;case 4:(3==s&&i<n||1==s&&i>n)&&(r=0)}var u=new SuperMap.Geometry.Point(0,0);return SuperMap.Plot.PlottingUtil.equalFuzzy(n-1.7976931348623157e308,0)?(u.x=t.x,u.y=e.y):SuperMap.Plot.PlottingUtil.equalFuzzy(n,0)?(u.x=e.x,u.y=t.y):(u.x=(n*(e.y-t.y)+n*n*t.x+e.x)/(n*n+1),u.y=t.y+n*(u.x-t.x)),{isOnline:1===r,projectPoint:u}},SuperMap.Plot.PlottingUtil.coordinateTrans=function(t,e,o){var n=SuperMap.Plot.PlottingUtil.distance(new SuperMap.Geometry.Point(0,0),e),i=SuperMap.Plot.PlottingUtil.radian(new SuperMap.Geometry.Point(0,0),e)+o*Math.PI/180,l=n*Math.cos(i)+t.x,r=n*Math.sin(i)+t.y;return new SuperMap.Geometry.Point(l,r)},SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen=function(t,e,o){var n=void 0,i=void 0,l=(o.x-e.x)*(o.x-e.x)+(o.y-e.y)*(o.y-e.y),r=Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y)),a=Math.sqrt((t.x-o.x)*(t.x-o.x)+(t.y-o.y)*(t.y-o.y));if(0==a||0==r)n=0,i=0;else if(0==l)n=r,i=0;else{var s=(r*r+a*a-l)/2/r/a,u=0;s>=1?(s=1,u=0):u=Math.sqrt(1-s*s),n=a*s,i=a*u}return{dLen1:n,dLen2:i}},SuperMap.Plot.PlottingUtil.paraLine=function(t,e,o){var n=[];if(2>t.length)return n;if(o){var i=t[1].clone();i=SuperMap.Plot.PlottingUtil.rotateAngle(t[0],Math.PI/2,i),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[0],i,e));for(var l=1;l<t.length-1;l++)if(!SuperMap.Plot.PlottingUtil.equalFuzzy(t[l].x,t[l+1].x)||!SuperMap.Plot.PlottingUtil.equalFuzzy(t[l].y,t[l+1].y)){for(var r=SuperMap.Plot.PlottingUtil.radian(t[l],t[l+1]),a=SuperMap.Plot.PlottingUtil.radian(t[l],t[l-1])-r;a<0;)a+=2*Math.PI;var s=a/2,u=void 0;u=s>Math.PI/2?s-Math.PI/2:Math.PI/2-s;var p=e/Math.cos(u);i=t[l+1].clone(),i=SuperMap.Plot.PlottingUtil.rotateAngle(t[l],s,i),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[l],i,p))}i=t[t.length-2].clone(),i=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],-1*Math.PI/2,i),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],i,e))}else{var c=t[1].clone();c=SuperMap.Plot.PlottingUtil.rotateAngle(t[0],-Math.PI/2,c),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[0],c,e));for(var y=1;y<t.length-1;y++)if(!SuperMap.Plot.PlottingUtil.equalFuzzy(t[y].x,t[y+1].x)||!SuperMap.Plot.PlottingUtil.equalFuzzy(t[y].y,t[y+1].y)){for(var h=SuperMap.Plot.PlottingUtil.radian(t[y],t[y+1]),P=SuperMap.Plot.PlottingUtil.radian(t[y],t[y-1])-h;P<0;)P+=2*Math.PI;var f=Math.PI-P/2,S=void 0;S=f>Math.PI/2?f-Math.PI/2:Math.PI/2-f;var d=e/Math.cos(S);c=t[y-1].clone(),c=SuperMap.Plot.PlottingUtil.rotateAngle(t[y],f,c),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[y],c,d))}c=t[t.length-2].clone(),c=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],Math.PI/2,c),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],c,e))}return n},SuperMap.Plot.PlottingUtil.circlePoint=function(t,e,o,n){n*=Math.PI/180;var i=t.x+e*Math.cos(n),l=t.y+o*Math.sin(n);return new SuperMap.Geometry.Point(i,l)},SuperMap.Plot.PlottingUtil.getPolygonCenterPt=function(t){if(!t||0===t.length)return null;for(var e=0,o=0,n=0;n<t.length;n++)e+=t[n].x,o+=t[n].y;return new SuperMap.Geometry.Point(e/t.length,o/t.length)},SuperMap.Plot.PlottingUtil.ptIsInPolygon=function(t,e){if(!t||0===t.length)return!1;for(var o=0,n=t.length,i=0;i<n;i++){var l=t[i],r=t[(i+1)%n];if(l.y!==r.y){var a=l.y<r.y?l.y:r.y,s=l.y>r.y?l.y:r.y;if(!(e.y<a||e.y>s))(e.y-l.y)*(r.x-l.x)/(r.y-l.y)+l.x>e.x&&o++}}return o%2==1},SuperMap.Plot.PlottingUtil.projectPtOnPolyLine=function(t,e){if(2>e.length)return{index:-1,pt:null};for(var o=0;o<e.length-1;o++){var n=SuperMap.Plot.PlottingUtil.pointProjectToSegment(t,e[o],e[o+1]);if(n.isOnline)return{index:o,pt:n.projectPoint}}return{index:-1,pt:null}},SuperMap.Plot.PlottingUtil.isPloyClockwise=function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t),o=e.length;if(!(o<3)){var n=e[0].y*(e[o-1].x-e[1].x);e.push(e[0].clone());for(var i=1;i<o;++i)n+=e[i].y*(e[i-1].x-e[i+1].x);return n>0?0:1}},SuperMap.Plot.PlottingUtil.isSamePt=function(t,e){return!(!SuperMap.Plot.PlottingUtil.equalFuzzy(t.x,e.x)||!SuperMap.Plot.PlottingUtil.equalFuzzy(t.y,e.y))},SuperMap.Plot.PlottingUtil.getPtsIndexByDistance=function(t,e){var o=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,t);return{index:o.index,pts:o.pt,bfind:-1!==o.index}},SuperMap.Plot.PlottingUtil.ptInBounds=function(t,e){return t.x>e.left&&t.x<e.right&&t.y<e.top&&t.y>e.bottom},SuperMap.Plot.PlottingUtil.InnerAngle=function(t,e,o){if(t==e||t==o)return 0;var n=SuperMap.Plot.PlottingUtil.distance(t,e),i=SuperMap.Plot.PlottingUtil.distance(t,o),l=SuperMap.Plot.PlottingUtil.distance(e,o),r=(n*n+i*i-l*l)/(2*n*i);return r>1&&SuperMap.Plot.PlottingUtil.equalFuzzy(r,1)?r=1:r<1&&SuperMap.Plot.PlottingUtil.equalFuzzy(r,-1)&&(r=-1),Math.acos(r)},SuperMap.Plot.PlottingUtil.plumbLineLen=function(t,e,o){return SuperMap.Plot.PlottingUtil.distance(t,e)*Math.sin(SuperMap.Plot.PlottingUtil.InnerAngle(e,t,o))},SuperMap.Plot.PlottingUtil.paraPolygon=function(t,e,o){var n=[],i=SuperMap.Plot.PlottingUtil.clonePoints(t),l=i.length;if(l<2)return n;var r=new SuperMap.Geometry.Point(0,0);if(o){if(l<3)r=i[1].clone(),SuperMap.Plot.PlottingUtil.rotateAngle(i[0],Math.PI,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[0],r,e));else{for(var a=SuperMap.Plot.PlottingUtil.radian(i[0],i[1]),s=SuperMap.Plot.PlottingUtil.radian(i[0],i[i.length-1])-a;s<0;)s+=2*Math.PI;var u=s/2,p=void 0;p=u>Math.PI/2?u-Math.PI/2:Math.PI/2-u;var c=e/Math.cos(p);r=i[1].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[0],u,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[0],r,c))}for(var y=1;y<l-1;y++){for(var h=SuperMap.Plot.PlottingUtil.radian(i[y],i[y+1]),P=SuperMap.Plot.PlottingUtil.radian(i[y],i[y-1])-h;P<0;)P+=2*Math.PI;var f=P/2,S=void 0;S=f>Math.PI/2?f-Math.PI/2:Math.PI/2-f;var d=e/Math.cos(S);r=i[y+1].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[y],f,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[y],r,d))}if(l<3)r=i[l-2].clone(),SuperMap.Plot.PlottingUtil.rotateAngle(i[l-1],0,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[l-1],r,e));else{for(var g=SuperMap.Plot.PlottingUtil.radian(i[l-1],i[0]),M=SuperMap.Plot.PlottingUtil.radian(i[l-1],i[l-2])-g;M<0;)M+=2*Math.PI;var m=M/2,v=void 0;v=m>Math.PI/2?m-Math.PI/2:Math.PI/2-m;var b=e/Math.cos(v);r=i[0].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[l-1],m,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[l-1],r,b))}}else{if(l<3){var T=i[1].clone();SuperMap.Plot.PlottingUtil.rotateAngle(i[0],0,T),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[0],T,e))}else{for(var A=SuperMap.Plot.PlottingUtil.radian(i[0],i[1]),L=SuperMap.Plot.PlottingUtil.radian(i[0],i[l-1])-A;L<0;)L+=2*Math.PI;var O=Math.PI-L/2,E=void 0;E=O>Math.PI/2?O-Math.PI/2:Math.PI/2-O;var x=e/Math.cos(E);r=i[l-1].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[0],O,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[0],r,x))}for(var w=1;w<l-1;w++){for(var I=SuperMap.Plot.PlottingUtil.radian(i[w],i[w+1]),C=SuperMap.Plot.PlottingUtil.radian(i[w],i[w-1])-I;C<0;)C+=2*Math.PI;var R=Math.PI-C/2,_=void 0;_=R>Math.PI/2?R-Math.PI/2:Math.PI/2-R;var U=e/Math.cos(_);r=i[w-1].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[w],R,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[w],r,U))}if(l<3)r=i[l-2].clone(),SuperMap.Plot.PlottingUtil.rotateAngle(i[l-1],Math.PI,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[l-1],r,e));else{for(var N=SuperMap.Plot.PlottingUtil.radian(i[l-1],i[0]),D=SuperMap.Plot.PlottingUtil.radian(i[l-1],i[l-2])-N;D<0;)D+=2*Math.PI;var B=Math.PI-D/2,G=void 0;G=B>Math.PI/2?B-Math.PI/2:Math.PI/2-B;var k=e/Math.cos(G);r=i[l-2].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[l-1],B,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[l-1],r,k))}}return n},SuperMap.Plot.PlottingUtil.getOutRectangleDis=function(t){if(2>t.length)return 0;for(var e=t[0].x,o=t[0].x,n=t[0].y,i=t[0].y,l=1;l<t.length;l++)e<t[l].x&&(e=t[l].x),o>t[l].x&&(o=t[l].x),n<t[l].y&&(n=t[l].y),i>t[l].y&&(i=t[l].y);return SuperMap.Plot.PlottingUtil.distance(new SuperMap.Geometry.Point(e,n),new SuperMap.Geometry.Point(o,i))},SuperMap.Plot.PlottingUtil.clonePoints=function(t){var e=[];if(void 0===t||null===t)return e;if(SuperMap.Plot.PlottingUtil.isArray(t)||(t=[t]),t&&null!=t)for(var o=0;o<t.length;o++)void 0!==t[o]&&null!==t[o]&&e.push(t[o].clone());return e},SuperMap.Plot.PlottingUtil.extend=function(t,e){if("function"==typeof SuperMap.Util.extend)return SuperMap.Util.extend(t,e);if(t=t||{},e){for(var o in e){var n=e[o];void 0!==n&&(t[o]=n)}!("function"==typeof window.Event&&e instanceof window.Event)&&e.hasOwnProperty&&e.hasOwnProperty("toString")&&(t.toString=e.toString)}return t},SuperMap.Plot.PlottingUtil.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)},SuperMap.Plot.PlottingUtil.indexOf=function(t,e){if(null==t)return-1;if("function"==typeof t.indexOf)return t.indexOf(e);for(var o=0,n=t.length;o<n;o++)if(t[o]===e)return o;return-1},SuperMap.Plot.PlottingUtil.copyAttributes=function(t,e){if(t=t||{},e)for(var o in e){var n=e[o];void 0!==n&&"CLASS_NAME"!==o&&"function"!=typeof n&&(t[o]=n)}return t},SuperMap.Plot.PlottingUtil.cloneObject=function(t){if(null===t||"object"!==(void 0===t?"undefined":n(t)))return t;if(t instanceof Date){var e=new Date;return e.setTime(t.getTime()),e}if(t instanceof Array)return t.slice(0);if(t instanceof Object){var o={};for(var i in t)t.hasOwnProperty(i)&&(o[i]=SuperMap.Plot.PlottingUtil.cloneObject(t[i]));return o}throw new Error("Unable to copy obj! Its type isn't supported.")},SuperMap.Plot.PlottingUtil.rad=function(t){return t*Math.PI/180},SuperMap.Plot.PlottingUtil.deg=function(t){return 180*t/Math.PI},SuperMap.Plot.PlottingUtil.VincentyConstants={a:6378137,b:6356752.3142,f:1/298.257223563},SuperMap.Plot.PlottingUtil.distVincenty=function(t,e){var o,n,i,l=SuperMap.Plot.PlottingUtil.VincentyConstants,r=l.a,a=l.b,s=l.f;"undefined"!=typeof L&&void 0!==L.LatLng&&t instanceof L.LatLng&&e instanceof L.LatLng?(o=SuperMap.Plot.PlottingUtil.rad(e.lng-t.lng),n=Math.atan((1-s)*Math.tan(SuperMap.Plot.PlottingUtil.rad(t.lat))),i=Math.atan((1-s)*Math.tan(SuperMap.Plot.PlottingUtil.rad(e.lat)))):(o=SuperMap.Plot.PlottingUtil.rad(e.lon-t.lon),n=Math.atan((1-s)*Math.tan(SuperMap.Plot.PlottingUtil.rad(t.lat))),i=Math.atan((1-s)*Math.tan(SuperMap.Plot.PlottingUtil.rad(e.lat))));for(var u=Math.sin(n),p=Math.cos(n),c=Math.sin(i),y=Math.cos(i),h=o,P=2*Math.PI,f=20;Math.abs(h-P)>1e-12&&--f>0;){var S=Math.sin(h),d=Math.cos(h),g=Math.sqrt(y*S*(y*S)+(p*c-u*y*d)*(p*c-u*y*d));if(0==g)return 0;var M=u*c+p*y*d,m=Math.atan2(g,M),v=Math.asin(p*y*S/g),b=Math.cos(v)*Math.cos(v),T=M-2*u*c/b,A=s/16*b*(4+s*(4-3*b));P=h,h=o+(1-A)*s*Math.sin(v)*(m+A*g*(T+A*M*(2*T*T-1)))}if(0==f)return NaN;var O=b*(r*r-a*a)/(a*a),E=O/1024*(256+O*(O*(74-47*O)-128));return(a*(1+O/16384*(4096+O*(O*(320-175*O)-768)))*(m-E*g*(T+E/4*(M*(2*T*T-1)-E/6*T*(4*g*g-3)*(4*T*T-3))))).toFixed(3)/1e3},SuperMap.Plot.PlottingUtil.destinationVincenty=function(t,e,o){var n,i,l=SuperMap.Plot.PlottingUtil,r=l.VincentyConstants,a=r.a,s=r.b,u=r.f;"undefined"!=typeof L&&void 0!==L.LatLng&&t instanceof L.LatLng?(n=t.lng,i=t.lat):(n=t.lon,i=t.lat);for(var p=o,c=l.rad(e),y=Math.sin(c),h=Math.cos(c),P=(1-u)*Math.tan(l.rad(i)),f=1/Math.sqrt(1+P*P),S=P*f,d=Math.atan2(P,h),g=f*y,M=1-g*g,m=M*(a*a-s*s)/(s*s),v=1+m/16384*(4096+m*(m*(320-175*m)-768)),b=m/1024*(256+m*(m*(74-47*m)-128)),T=p/(s*v),A=2*Math.PI;Math.abs(T-A)>1e-12;){var O=Math.cos(2*d+T),E=Math.sin(T),x=Math.cos(T);A=T,T=p/(s*v)+b*E*(O+b/4*(x*(2*O*O-1)-b/6*O*(4*E*E-3)*(4*O*O-3)))}var w=S*E-f*x*h,I=Math.atan2(S*x+f*E*h,(1-u)*Math.sqrt(g*g+w*w)),C=u/16*M*(4+u*(4-3*M)),R=Math.atan2(E*y,f*x-S*E*h)-(1-C)*u*g*(T+C*E*(O+C*x*(2*O*O-1)));return"undefined"!=typeof L&&void 0!==L.LatLng&&t instanceof L.LatLng?L.latLng(l.deg(I),n+l.deg(R)):new SuperMap.LonLat(n+l.deg(R),l.deg(I))}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.AnalysisSymbol=SuperMap.Plot.AnalysisSymbol=SuperMap.Plot.AnalysisSymbol||{};SuperMap.Plot.AnalysisSymbol.analysisBasicInfo=function(t){var e=new Object;return e.libID=t.libID,e.code=t.code,e.symbolType=t.symbolType,e.symbolName=t.symbolName,e.textContent=t.textContent,e.minEditPts=t.algoMinEditPts,e.maxEditPts=t.algoMaxEditPts,e.surroundLineType=t.surroundLineType,e},SuperMap.Plot.AnalysisSymbol.analysisDotBasicInfo=function(t){var e=SuperMap.Plot.PlottingUtil.DPI,o=new Object;o.anchorPoint=new SuperMap.Geometry.Point(t.anchorPoint.x,t.anchorPoint.y);var n=0,i=0;return void 0!==t.symbolSizeInLib?(n=Math.round(t.symbolSizeInLib.x*e/25.4/10),i=Math.round(t.symbolSizeInLib.y*e/25.4/10)):(n=Math.round(t.symbolSize.x*e/25.4/10),i=Math.round(t.symbolSize.y*e/25.4/10)),o.symbolSizeInLib=new SuperMap.Size(n,i),o.symbolSizeInLib.w=n,o.symbolSizeInLib.h=i,o.middleMarkBounds=new SuperMap.Bounds(t.middleMarkBounds.leftBottom.x,t.middleMarkBounds.leftBottom.y,t.middleMarkBounds.rightTop.x,t.middleMarkBounds.rightTop.y),o},SuperMap.Plot.AnalysisSymbol.analysisAlgoBasicInfo=function(t,e){var o=new Object;if(o.subSymbols=[],o.scalePoints=[],o.scaleValues=[],e&&t.subSymbols)for(var n=0;n<t.subSymbols.length;n++)o.subSymbols.push(new SuperMap.Plot.SubSymbol(t.libID,t.subSymbols[n]));if(t.scalePoints){o.scalePoints=[];for(var i=0;i<t.scalePoints.length;i++){var l=new SuperMap.Geometry.Point(t.scalePoints[i].x,t.scalePoints[i].y);l.tag=i,l.isScalePoint=!0,o.scalePoints.push(l)}}if(t.scaleValues)for(var r=0;r<t.scaleValues.length;r++)o.scaleValues.push(t.scaleValues[r]);return o},SuperMap.Plot.AnalysisSymbol.analysisSymbolCells=function(t,e){var o=[];if(t&&(function(t,o){if(t.innerCells&&t.innerCells.length)for(var n=0;n<t.innerCells.length;n++){var i=t.innerCells[n];if(t.symbolIsCanFill&&i.type!==SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL){var l=new Object,r=SuperMap.Plot.AnalysisSymbol.getStyle(t,e);l.type=32,l.style={fillSymbolID:r.fillSymbolID,fillColor:r.fillColor,fillOpacity:r.fillOpacity,strokeOpacity:0,strokeWidth:0,fillLimit:!1,lineColorLimit:!0,lineWidthLimit:!0},l.positionPoints=[];for(var a=0;a<i.positionPoints.length;a++){var s=new SuperMap.Geometry.Point(i.positionPoints[a].x,i.positionPoints[a].y);l.positionPoints.push(s)}o.push(l)}}}(t,o),t.innerCells)){var n=t.innerCells;if(0!==n.length)for(var i=0;i<n.length;i++)o.push(SuperMap.Plot.AnalysisSymbol.analysisInnerCell(n[i],e))}return o},SuperMap.Plot.AnalysisSymbol.analysisInnerCell=function(t,e){var o=new Object;if(o.positionPoints=[],t){if(o.type=t.type,o.surroundLineFlag=t.surroundLineFlag,o.textContent=t.textContent,o.style=SuperMap.Plot.AnalysisSymbol.getStyle(t,e),null!=t.positionPoints)for(var n=t.positionPoints,i=0;i<n.length;i++){var l=new SuperMap.Geometry.Point(n[i].x,n[i].y);o.positionPoints.push(l)}if(o.style.lineColorLimit=t.lineColorLimit,o.style.lineTypeLimit=t.lineTypeLimit,o.style.lineWidthLimit=t.lineWidthLimit,o.style.fillLimit=t.fillLimit,o.style.fillColorLimit=t.fillColorLimit,o.style.fontColorLimit=t.fontColorLimit,o.style.surroundLineLimit=t.surroundLineLimit,o.style.surroundLineFlag=o.surroundLineFlag,34==t.type?o.style.fontColorLimit=!0:o.style.fontColorLimit=t.fontColorLimit,o.type===SuperMap.Plot.SymbolType.RECTANGLESYMBOL){var r=o.positionPoints[0],a=o.positionPoints[1],s=r.clone(),u=new SuperMap.Geometry.Point(a.x,r.y),p=a.clone(),c=new SuperMap.Geometry.Point(r.x,a.y);o.positionPoints=[],o.positionPoints.push(s),o.positionPoints.push(u),o.positionPoints.push(p),o.positionPoints.push(c),o.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL}o.type===SuperMap.Plot.SymbolType.TEXTSYMBOL&&(o.style.fontSizeLimit=!0)}return o},SuperMap.Plot.AnalysisSymbol.getStyle=function(t,e){function o(t){var e=t.red.toString(16);e.length<2&&(e="0"+e);var o=t.green.toString(16);o.length<2&&(o="0"+o);var n=t.blue.toString(16);return n.length<2&&(n="0"+n),"#"+e+o+n}function n(t){return"TOPLEFT"===t?"lt":"TOPCENTER"===t?"ct":"TOPRIGHT"===t?"rt":"BOTTOMLEFT"===t?"lb":"BOTTOMCENTER"===t?"cb":"BOTTOMRIGHT"===t?"rb":"MIDDLELEFT"===t?"lm":"MIDDLECENTER"===t?"cm":"MIDDLERIGHT"===t?"rm":0===t?"lt":1===t?"ct":2===t?"rt":6===t?"lb":7===t?"cb":8===t?"rb":3===t?"lm":4===t?"cm":5===t?"rm":"lt"}var i=SuperMap.Plot.PlottingUtil.DPI,l={};return t.style?(e?(l.fillSymbolID=t.style.fillSymbolID,l.fillSymbolID||(l.fill=t.style.fill)):(!1===t.style.fill?t.style.fillSymbolID=1:!0===t.style.fill&&(t.style.fillSymbolID=0),l.fillSymbolID=t.style.fillSymbolID),void 0!==t.style.strokeGradientMode&&null!=t.style.strokeGradientMode?1===t.style.strokeGradientMode?l.strokeGradientMode="LINEAR":2===t.style.strokeGradientMode?l.strokeGradientMode="RADIAL":"LINEAR"!==t.style.strokeGradientMode&&"RADIAL"!==t.style.strokeGradientMode&&(l.strokeGradientMode="NONE"):l.strokeGradientMode="NONE",t.style.strokeBackColor?void 0!==t.style.strokeBackColor.red?(l.strokeBackColor=o(t.style.strokeBackColor),l.strokeBackOpacity=(t.style.strokeBackColor.alpha/255).toFixed(2)):(l.strokeBackColor=t.style.strokeBackColor,l.strokeBackOpacity=t.style.strokeBackOpacity):t.style.fillBackColor&&(void 0!==t.style.fillBackColor.red?(l.strokeBackColor=o(t.style.fillBackColor),l.strokeBackOpacity=(t.style.fillBackColor.alpha/255).toFixed(2)):(l.strokeBackColor=t.style.strokeBackColor,l.strokeBackOpacity=t.style.strokeBackOpacity)),void 0!==t.style.fillGradientMode&&null!=t.style.fillGradientMode&&(1===t.style.fillGradientMode?l.fillGradientMode="LINEAR":2===t.style.fillGradientMode?l.fillGradientMode="RADIAL":"LINEAR"!==t.style.fillGradientMode&&"RADIAL"!==t.style.fillGradientMode&&(l.fillGradientMode="NONE")),null!=t.style.fillGradientAngle&&void 0!==t.style.fillGradientAngle?l.fillAngle=t.style.fillGradientAngle:void 0!==t.style.fillAngle&&null!=t.style.fillAngle&&(l.fillAngle=t.style.fillAngle),void 0!==t.style.fillGradientOffsetRatioX&&null!=t.style.fillGradientOffsetRatioX?l.fillCenterOffsetX=t.style.fillGradientOffsetRatioX/100:void 0!==t.style.fillCenterOffsetX&&null!=t.style.fillCenterOffsetX&&(l.fillCenterOffsetX=t.style.fillCenterOffsetX/100),void 0!==t.style.fillGradientOffsetRatioY&&null!=t.style.fillGradientOffsetRatioY?l.fillCenterOffsetY=t.style.fillGradientOffsetRatioY/100:void 0!==t.style.fillCenterOffsetY&&null!=t.style.fillCenterOffsetY&&(l.fillCenterOffsetY=t.style.fillCenterOffsetY/100),void 0!==t.style.fillForeColor&&(l.fillColor=o(t.style.fillForeColor)),void 0!==t.style.fillOpaqueRate&&(l.fillOpacity=(t.style.fillOpaqueRate/100).toFixed(2),100!==t.style.fillOpaqueRate||1===t.style.fillGradientMode&&2===t.style.fillGradientMode||(l.fillOpacity=(t.style.fillForeColor.alpha/255).toFixed(2))),void 0!==t.style.fillBackColor&&(void 0!==t.style.fillBackColor.red?l.fillBackColor=o(t.style.fillBackColor):l.fillBackColor=t.style.fillBackColor),0===t.style.fillBackOpaque?l.fillBackOpacity=0:t.style.fillBackColor&&t.style.fillBackColor.alpha?l.fillBackOpacity=(t.style.fillBackColor.alpha/255).toFixed(2):l.fillBackOpacity=t.style.fillBackOpacity,void 0!==t.style.lineColor&&(!0===e?(l.color=o(t.style.lineColor),l.opacity=(t.style.lineColor.alpha/255).toFixed(2)):(l.strokeColor=o(t.style.lineColor),l.strokeOpacity=(t.style.lineColor.alpha/255).toFixed(2))),!0===e?void 0!==t.style.lineWidth?l.weight=Math.ceil(t.style.lineWidth*i/25.4):l.weight=t.style.strokeWidth:void 0!==t.style.lineWidth?l.strokeWidth=Math.ceil(t.style.lineWidth*i/25.4):l.strokeWidth=t.style.strokeWidth,e?(l.lineSymbolID=t.style.lineSymbolID,l.lineSymbolID||(l.dashArray=t.style.dashArray),!l.dashArray&&t.style.strokeDashstyle&&("dash"===t.style.strokeDashstyle?l.lineSymbolID=1:"dot"===t.style.strokeDashstyle?l.lineSymbolID=2:"dashdot"===t.style.strokeDashstyle?l.lineSymbolID=3:l.lineSymbolID=0)):1===t.style.lineSymbolID?l.strokeDashstyle="dash":2===t.style.lineSymbolID?l.strokeDashstyle="dot":3===t.style.lineSymbolID?l.strokeDashstyle="dashdot":t.style.strokeDashstyle?l.strokeDashstyle=t.style.strokeDashstyle:l.strokeDashstyle="solid",t.textStyle2D&&null!=t.textStyle2D?(void 0!==t.textStyle2D.sizeFixed&&(l.sizeFixed=t.textStyle2D.sizeFixed),void 0!==t.textStyle2D.fontName&&(l.fontFamily=t.textStyle2D.fontName),void 0!==t.textStyle2D.fontHeight&&(l.sizeFixed?l.fontSize=Math.ceil(t.textStyle2D.fontHeight*i/25.4):l.fontSize=t.textStyle2D.fontHeight),void 0!==t.textStyle2D.foreColor&&(l.fontColor=o(t.textStyle2D.foreColor)),void 0!==t.textStyle2D.align&&(l.labelAlign=n(t.textStyle2D.align)),void 0!==t.textStyle2D.rotation&&(l.labelRotation=-t.textStyle2D.rotation),void 0!==t.textStyle2D.bold&&(l.fontWeight=-t.textStyle2D.bold),l.labelXOffset=0,l.labelYOffset=0):t.textStyle&&null!=t.textStyle&&(void 0!==t.textStyle.sizeFixed&&(l.sizeFixed=t.textStyle.sizeFixed),void 0!==t.textStyle.fontName&&(l.fontFamily=t.textStyle.fontName),void 0!==t.textStyle.fontHeight&&(l.sizeFixed?l.fontSize=Math.ceil(t.textStyle.fontHeight*i/25.4):l.fontSize=t.textStyle.fontHeight),void 0!==t.textStyle.foreColor&&(l.fontColor=o(t.textStyle.foreColor)),void 0!==t.textStyle.align&&(l.labelAlign=n(t.textStyle.align)),void 0!==t.textStyle.rotation&&(l.labelRotation=-t.textStyle.rotation),void 0!==t.textStyle.bold&&(l.fontWeight=-t.textStyle.bold),l.labelXOffset=0,l.labelYOffset=0),void 0!==t.style.fontOpacity&&(l.fontOpacity=t.style.fontOpacity),void 0!==t.style.fontStroke?l.fontStroke=t.style.fontStroke:t.textStyle2D&&void 0!==t.textStyle2D.outline&&(l.fontStroke=t.textStyle2D.outline),void 0!==t.style.fontStrokeColor?l.fontStrokeColor=t.style.fontStrokeColor:t.textStyle2D&&void 0!==t.textStyle2D.backColor&&(l.fontStrokeColor=o(t.textStyle2D.backColor)),void 0!==l.fontStrokeWidth&&(l.fontStrokeWidth=t.style.fontStrokeWidth),void 0!==t.style.fontBackground&&(l.fontBackground=t.style.fontBackground),void 0!==t.style.fontBackgroundColor&&(l.fontBackgroundColor=t.style.fontBackgroundColor),void 0!==t.style.fontShadow&&(l.fontShadow=t.style.fontShadow),void 0!==t.style.fontShadowColor&&(l.fontShadowColor=t.style.fontShadowColor),void 0!==t.style.fontShadowOffsetX&&(l.fontShadowOffsetX=t.style.fontShadowOffsetX),void 0!==t.style.fontShadowOffsetY&&(l.fontShadowOffsetY=t.style.fontShadowOffsetY),void 0!==t.style.fontSpace&&(l.fontSpace=t.style.fontSpace),void 0!==t.style.fontPercent&&(l.fontPercent=t.style.fontPercent),void 0!==t.style.fontWeight&&(l.fontWeight=t.style.fontWeight),void 0!==t.style.fontStyle&&(l.fontStyle=t.style.fontStyle),void 0!==t.surroundLineColor&&null!=t.surroundLineColor&&(l.surroundLineColor=o(t.surroundLineColor),l.surroundLineColorOpacity=(t.surroundLineColor.alpha/255).toFixed(2)),void 0!==t.surroundLineWidth2D&&null!=t.surroundLineWidth2D?l.surroundLineWidth=Math.round(t.surroundLineWidth2D*i/25.4):void 0!==t.surroundLineWidth&&null!=t.surroundLineWidth&&(l.surroundLineWidth=Math.round(t.surroundLineWidth*i/25.4)),!1===t.visibility?l.display="none":l.display="display",l):l},SuperMap.Plot.AnalysisSymbol.setStyle=function(t,e,o){var n=SuperMap.Plot.PlottingUtil.DPI;if(null!=e)return e.style||(e.style={}),e.textStyle2D||(e.textStyle2D={}),o?(e.style.fillSymbolID=t.fillSymbolID,e.style.fillSymbolID||(e.style.fill=t.fill)):(!1===t.fill?t.fillSymbolID=1:!0===t.fill&&(t.fillSymbolID=0),e.style.fillSymbolID=t.fillSymbolID),t.fillGradientMode&&(e.style.fillGradientMode=t.fillGradientMode),t.fillGradientMode&&("LINEAR"===t.fillGradientMode?e.style.fillGradientMode=1:"RADIAL"===t.fillGradientMode?e.style.fillGradientMode=2:e.style.fillGradientMode=0),t.strokeGradientMode&&("LINEAR"===t.strokeGradientMode?e.style.strokeGradientMode=1:"RADIAL"===t.strokeGradientMode?e.style.strokeGradientMode=2:e.style.strokeGradientMode=0),t.strokeBackColor&&(e.style.strokeBackColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.strokeBackColor)),t.strokeBackOpacity&&(e.style.strokeBackColor.alpha=255*t.strokeBackOpacity),null!=t.fillAngle&&void 0!==t.fillAngle&&(e.style.fillAngle=t.fillAngle,e.style.fillGradientAngle=t.fillAngle),null!=t.fillCenterOffsetX&&void 0!==t.fillCenterOffsetX&&(e.style.fillCenterOffsetX=100*t.fillCenterOffsetX,e.style.fillGradientOffsetRatioX=100*t.fillCenterOffsetX),null!=t.fillCenterOffsetY&&void 0!==t.fillCenterOffsetY&&(e.style.fillCenterOffsetY=100*t.fillCenterOffsetY,e.style.fillGradientOffsetRatioY=100*t.fillCenterOffsetY),t.fillColor&&(e.style.fillForeColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.fillColor)),void 0!==t.fillOpacity&&null!=t.fillOpacity&&(e.style.fillOpaqueRate=100*t.fillOpacity,e.style.fillForeColor.alpha=255),t.fillBackColor&&(e.style.fillBackColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.fillBackColor)),void 0!==t.fillBackOpacity&&null!=t.fillBackOpacity&&(0===t.fillBackOpacity?(e.style.fillBackOpaque=0,e.style.fillBackColor.alpha=255):e.style.fillBackColor&&(e.style.fillBackOpaque=1,e.style.fillBackColor.alpha=255*t.fillBackOpacity)),!0===o&&t.color?e.style.lineColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.color):t.strokeColor&&(e.style.lineColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.strokeColor)),!0===o&&null!=t.opacity&&void 0!==t.opacity?(e.style.lineColor.alpha=255*t.opacity,e.style.lineColor.alpha<1&&(e.style.lineColor.alpha=1)):null!=t.strokeOpacity&&void 0!==t.strokeOpacity&&(e.style.lineColor.alpha=255*t.strokeOpacity,e.style.lineColor.alpha<1&&(e.style.lineColor.alpha=1)),!0===o&&t.weight?e.style.lineWidth=25.4*t.weight/n:t.strokeWidth&&(e.style.lineWidth=25.4*t.strokeWidth/n),o?(e.style.lineSymbolID=t.lineSymbolID,e.style.lineSymbolID||(e.style.dashArray=t.dashArray)):"dot"===t.strokeDashstyle?e.style.lineSymbolID=2:"dash"===t.strokeDashstyle||"longdash"===t.strokeDashstyle?e.style.lineSymbolID=1:"dashdot"===t.strokeDashstyle||"longdashdot"===t.strokeDashstyle?e.style.lineSymbolID=3:e.style.lineSymbolID=0,t.fontFamily&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.fontName=t.fontFamily:e.textStyle&&null!=e.textStyle&&(e.textStyle.fontName=t.fontFamily)),t.sizeFixed&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.sizeFixed=t.sizeFixed:e.textStyle&&null!=e.textStyle&&(e.textStyle.sizeFixed=t.sizeFixed)),t.fontSize&&(e.textStyle2D&&null!=e.textStyle2D?t.sizeFixed?e.textStyle2D.fontHeight=25.4*t.fontSize/n:e.textStyle2D.fontHeight=t.fontSize:e.textStyle&&null!=e.textStyle&&(t.sizeFixed?e.textStyle.fontHeight=25.4*t.fontSize/n:e.textStyle.fontHeight=t.fontSize)),t.fontWeight&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.bold=t.fontWeight:e.textStyle&&null!=e.textStyle&&(e.textStyle.bold=t.fontWeight)),t.fontColor&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.foreColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.fontColor):e.textStyle&&null!=e.textStyle&&(e.textStyle.foreColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.fontColor))),t.labelRotation&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.rotation=-t.labelRotation:e.textStyle&&null!=e.textStyle&&(e.textStyle.rotation=-t.labelRotation)),void 0!==t.fontOpacity&&(e.style.fontOpacity=t.fontOpacity),void 0!==t.fontStroke&&(e.textStyle2D.outline=t.fontStroke),void 0!==t.fontStrokeColor&&(e.textStyle2D.backColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.fontStrokeColor)),void 0!==t.fontStrokeWidth&&(e.style.fontStrokeWidth=t.fontStrokeWidth),void 0!==t.fontBackground&&(e.style.fontBackground=t.fontBackground),void 0!==t.fontBackgroundColor&&(e.style.fontBackgroundColor=t.fontBackgroundColor),void 0!==t.fontShadow&&(e.style.fontShadow=t.fontShadow),void 0!==t.fontShadowColor&&(e.style.fontShadowColor=t.fontShadowColor),void 0!==t.fontShadowOffsetX&&(e.style.fontShadowOffsetX=t.fontShadowOffsetX),void 0!==t.fontShadowOffsetY&&(e.style.fontShadowOffsetY=t.fontShadowOffsetY),void 0!==t.fontSpace&&(e.style.fontSpace=t.fontSpace),void 0!==t.fontPercent&&(e.style.fontPercent=t.fontPercent),void 0!==t.fontWeight&&(e.style.fontWeight=t.fontWeight),void 0!==t.fontStyle&&(e.style.fontStyle=t.fontStyle),t.surroundLineColor&&(e.surroundLineColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.surroundLineColor)),null!=t.surroundLineColorOpacity&&void 0!==t.surroundLineColorOpacity&&(e.surroundLineColor.alpha=255*t.surroundLineColorOpacity),t.surroundLineWidth&&(e.surroundLineWidth2D=25.4*t.surroundLineWidth/n),void 0!==t.labelAlign&&("lt"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=0:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=0):"ct"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=1:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=1):"rt"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=2:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=2):"lb"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=6:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=6):"cb"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=7:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=7):"rb"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=8:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=8):"lm"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=3:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=3):"cm"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=4:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=4):"rm"===t.labelAlign&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=5:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=5))),t.display&&"none"===t.display?e.visibility=!1:e.visibility=!0,t},SuperMap.Plot.AnalysisSymbol.mergeDefaultStyleToFeature=function(t,e,o){var n=void 0,i=void 0;n=t.style,i=!0!==o?t.geometry:t,e&&!0===e.defaultFlag&&!1===i.isEdit&&(i.surroundLineType=e.surroundLineType,n.surroundLineColor=e.surroundLineColor,n.surroundLineWidth=e.surroundLineWidth,n.surroundLineColorOpacity=e.surroundLineColorOpacity,n.fillBackColor=e.fillBackColor,n.fillBackOpacity=e.fillBackOpacity,n.fillGradientMode=e.fillGradientMode,n.fillCenterOffsetX=e.fillCenterOffsetX,n.fillCenterOffsetY=e.fillCenterOffsetY,n.fillAngle=e.fillAngle,!0===o?(n.color=e.lineColor,n.weight=e.lineWidth,n.opacity=e.lineOpacity,n.lineSymbolID=e.lineType,n.linecap=e.lineCap,n.linejoin=e.lineJoin):(n.strokeColor=e.lineColor,n.strokeWidth=e.lineWidth,n.strokeOpacity=e.lineOpacity,n.strokeDashstyle=e.lineType,n.strokeLinecap=e.lineCap,n.strokeLinejoin=e.lineJoin),n.fillSymbolID=e.fillSymbolID,n.fillColor=e.fillColor,n.fillOpacity=e.fillOpacity,n.fontColor=e.fontColor,n.fontOpacity=e.fontOpacity,n.fontSize=e.fontSize,n.fontFamily=e.fontFamily,n.fontWeight=e.fontWeight,n.fontStyle=e.fontStyle,n.fontStroke=e.fontStroke,n.fontStrokeColor=e.fontStrokeColor,n.fontStrokeWidth=e.fontStrokeWidth,n.fontBackground=e.fontBackground,n.fontBackgroundColor=e.fontBackgroundColor,n.fontShadow=e.fontShadow,n.fontShadowColor=e.fontShadowColor,n.fontShadowOffsetX=e.fontShadowOffsetX,n.fontShadowOffsetY=e.fontShadowOffsetY,n.fontSpace=e.fontSpace,n.fontPercent=e.fontPercent,n.strokeGradientMode=e.strokeGradientMode,n.strokeBackColor=e.strokeBackColor,n.strokeBackOpacity=e.strokeBackOpacity)},SuperMap.Plot.AnalysisSymbol.mergeSymbolDataAndServerData=function(t,e){t.hasOwnProperty("algoMinEditPts")||(t.algoMinEditPts=e.algoMinEditPts),t.hasOwnProperty("algoMaxEditPts")||(t.algoMaxEditPts=e.algoMaxEditPts),t.hasOwnProperty("innerCells")||(t.innerCells=SuperMap.Util.cloneObject(e.innerCells)),t.hasOwnProperty("symbolRanks")||(t.symbolRanks=SuperMap.Util.cloneObject(e.symbolRanks)),t.hasOwnProperty("symbolSizeInLib")||(t.symbolSizeInLib=SuperMap.Util.cloneObject(e.symbolSize)),t.hasOwnProperty("middleMarkExist")||(t.middleMarkExist=SuperMap.Util.cloneObject(e.middleMarkExist)),t.hasOwnProperty("middleMarkBounds")||(t.middleMarkBounds=SuperMap.Util.cloneObject(e.middleMarkBounds)),t.hasOwnProperty("anchorPoint")||(t.anchorPoint=SuperMap.Util.cloneObject(e.anchorPoint))},SuperMap.Plot.AnalysisSymbol.setSymbolData=function(t,e,o){null==e&&(e={}),e.hasOwnProperty("type")||(e.type="GRAPHICOBJECT"),e.hasOwnProperty("version")||(e.version=2),e.isEdit=!0,e.uuid=t.uuid,e.associatedUuid=t.associatedUuid,e.hasOwnProperty("rotate2D")?e.rotate2D.x=t.dRotate:e.rotate2D={x:t.dRotate,y:0,z:0},e.hasOwnProperty("scale2D")?e.scale2D.x=t.dScale:e.scale2D={x:t.dScale,y:0,z:0},e.libID=t.libID,e.code=t.code,e.algoMaxEditPts=t.maxEditPts,e.algoMinEditPts=t.minEditPts,e.symbolType=t.symbolType,e.symbolName=t.symbolName,e.annotationPosition=t.annotationPosition?t.annotationPosition:t.textPosition,e.textContent=t.textContent,e.scaleByMap=t.scaleByMap,e.resolution=t.resolution,e.isLocked=t.isLocked,e.note=t.note,e.custom=t.custom,e.subSymbols=[];for(var n=0;n<t.subSymbols.length;n++){var i=t.subSymbols[n];e.subSymbols.push({libID:i.libID,code:i.code,symbolData:i.symbolData,textContent:i.textContent,totalNum:i.totalNum})}e.extendProperty=[];for(var l=t.getExtendProperty().getPropertyCount(),r=0;r<l;r++){var a=t.getExtendProperty().getPropertyByIndex(r);e.extendProperty.push({key:a.key,value:a.value})}e.avoidRegions=[];for(var s=0;s<t.avoidRegions.length;s++){var u={};SuperMap.Plot.AnalysisSymbol.setStyle(t.avoidRegions[s].feature.style,u,o),e.avoidRegions.push([t.avoidRegions[s].getSymbolData(),u])}if(!0===o?SuperMap.Plot.AnalysisSymbol.setStyle(t.style,e,o):null!=t.feature&&SuperMap.Plot.AnalysisSymbol.setStyle(t.feature.style,e),t.symbolType===SuperMap.Plot.SymbolType.AIRROUTE||t.symbolType===SuperMap.Plot.SymbolType.NAVYROUTE||t.symbolType===SuperMap.Plot.SymbolType.MISSILEROUTE){for(var p in e.routeNodes=[],t.routeNodes)e.routeNodes.push(t.routeNodes[p].setSymbolData());e.arrRoutePts=t.arrRoutePts,o||SuperMap.Plot.AnalysisSymbol.setStyle(t.lineStyle,e)}else if(t.symbolType===SuperMap.Plot.SymbolType.GROUPOBJECT||t.symbolType===SuperMap.Plot.SymbolType.FLAGGROUP||t.symbolType===SuperMap.Plot.SymbolType.NAVYDEPLOYMENT||t.symbolType===SuperMap.Plot.SymbolType.AIRDEPLOYMENT){if(e.subAssociatedUuids=t.subAssociatedUuids,e.subFeatures=[],o)for(var c=0;c<t.subObjects.length;c++)e.subFeatures.push(t.subObjects[c].getSymbolData());else for(var y=0;y<t.components.length;y++)e.subFeatures.push(t.components[y].geometry.getSymbolData());0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.FLAGGROUP?e.ratio=t.ratio:0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.AIRDEPLOYMENT?(e.colNum=t.colNum,e.speceDis=t.speceDis,e.isShowTooltip=t.isShowTooltip):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.NAVYDEPLOYMENT&&(e.colNum=t.colNum,e.speceDis=t.speceDis)}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXT){var h=[];for(var P in t.symbolTexts)h.push(t.symbolTexts[P].setSymbolData());e.symbolTexts=h,e.addFrame=t.addFrame}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXT1)e.space=t.space,e.offsetX=t.offsetX,e.offsetY=t.offsetY;else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SATELLITE){if(e.hasOwnProperty("scaleValues"))for(var f=0;f<t.scaleValues.length;f++)e.scaleValues.length>f?e.scaleValues[f]=t.scaleValues[f]:e.scaleValues.push(t.scaleValues[f]);else e.scaleValues=[],e.scaleValues=t.scaleValues;e.visible=t.visible,e.orbitPoints=t.orbitPoints}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS)e.timeWindows=t.timeWindows;else{var S=void 0;S=!0===o?L.Util.latLngsToSuperMapPoints(t.getLatLngs()):t.controlPoints,e.hasOwnProperty("localePoints")||(e.localePoints=[]);var d=S.length;t.symbolType===SuperMap.Plot.SymbolType.ELLIPSESYMBOL&&(d=3);for(var g=0;g<d;g++)e.localePoints.length>g?(e.localePoints[g].x=S[g].x,e.localePoints[g].y=S[g].y,e.localePoints[g].hasOwnProperty("z")||(e.localePoints[g].z=0)):e.localePoints.push({x:S[g].x,y:S[g].y,z:0});if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.LINERELATION)e.endAssociatedUuid=t.endAssociatedUuid,e.lineRelationType=t.lineRelationType,e.startAssociatedUuid=t.startAssociatedUuid,e.subSectionCount=t.subSectionCount;else if(t.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL){e.surroundLineType=t.surroundLineType,e.symbolRank=t.symbolRank,e.negativeImage=t.negativeImage,e.space=t.space,e.flagTextSize=t.flagTextSize,e.maxScale=t.maxScale,e.minScale=t.minScale,e.textDisplay=t.textDisplay,e.actualScale=t.actualScale,void 0!==t.fontSize&&(e.fontSize=t.fontSize),void 0!==t.strokeWidth&&(e.strokeWidth=t.strokeWidth);var M=25.4*t.symbolSize.w*10/SuperMap.Plot.PlottingUtil.DPI,m=25.4*t.symbolSize.h*10/SuperMap.Plot.PlottingUtil.DPI;e.symbolSize={x:M,y:m};var v=25.4*t.symbolSizeInLib.w*10/SuperMap.Plot.PlottingUtil.DPI,b=25.4*t.symbolSizeInLib.h*10/SuperMap.Plot.PlottingUtil.DPI;e.symbolSizeInLib={x:v,y:b},e.positionOffset=t.positionOffset,e.positionOffsetType=t.positionOffsetType,e.positionOffsetX=t.positionOffsetX,e.positionOffsetY=t.positionOffsetY,!1===t.widthHeightLimit||!0===t.widthHeightLimit?e.limitWidthHeight=t.widthHeightLimit:e.limitWidthHeight=t.limitWidthHeight}else{if(e.surroundLineType=t.surroundLineType,e.hasOwnProperty("scaleValues"))for(var T=0;T<t.scaleValues.length;T++)e.scaleValues.length>T?e.scaleValues[T]=t.scaleValues[T]:e.scaleValues.push(t.scaleValues[T]);else e.scaleValues=[],e.scaleValues=t.scaleValues;e.subSymbolScaleValue=t.subSymbolScaleValue,e.baseScale=t.baseScale,e.strokeWidth=t.strokeWidth,e.polylineConnectLocationPoint=t.polylineConnectLocationPoint,22===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ALGOSYMBOL?(e.arrowHeadType=t.arrowHeadType,e.arrowBodyType=t.arrowBodyType,e.arrowTailType=t.arrowTailType):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ARROWLINE?e.arrowAngle=t.arrowAngle:0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE?e.defaultRadius=t.defaultRadius:0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.CONCENTRICCIRCLE||(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.LINEMARKING?(e.islocationCircle=t.islocationCircle,e.textBoxType=t.textBoxType):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXTBOX?(e.roundBox=t.roundBox,e.textBoxType=t.textBoxType):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.PATHTEXT?(e.isAvoid=t.isAvoid,e.isCurve=t.isCurve,e.relLineText=t.relLineText,e.showPathLine=t.showPathLine,e.textToLineDistance=t.textToLineDistance,e.showPathLineArrow=t.showPathLineArrow):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ARCREGION&&(o?(e.centerPoint={x:t.centerPoint.lng,y:t.centerPoint.lat},e.circlePts=t.circlePts,e.spatialAnalystUrl=t.spatialAnalystUrl):e.centerPoint=t.centerPoint,e.endAngle=t.endAngle,e.radius=t.radius,e.radiusPosAngle=t.radiusPosAngle,e.startAngle=t.startAngle,e.textPosition=t.textPosition,e.radiusLineType=t.radiusLineType,e.radiusText=t.radiusText))}}t.symbolData=e},SuperMap.Plot.AnalysisSymbol.parseSymbolData=function(t,e,o){if(null!=e){if(void 0!==e.isEdit&&(t.isEdit=e.isEdit),e.hasOwnProperty("version")&&(t.version=e.version),t.libID=parseInt(e.libID),t.code=parseInt(e.code),t.maxEditPts=parseInt(e.algoMaxEditPts),t.minEditPts=parseInt(e.algoMinEditPts),t.symbolType=e.symbolType,t.symbolName=e.symbolName,t.textContent=e.textContent,void 0!==e.dScale?t.dScale=e.dScale:void 0!==e.scale2D&&(t.dScale=e.scale2D.x),void 0!==e.dRotate?t.dRotate=e.dRotate:void 0!==e.rotate2D&&(t.dRotate=e.rotate2D.x),void 0!==e.resolution&&(t.resolution=e.resolution),void 0!==e.uuid&&(t.uuid=e.uuid),void 0!==e.associatedUuid&&(t.associatedUuid=e.associatedUuid),void 0!==e.annotationPosition&&(o?t.annotationPosition=e.annotationPosition:t.textPosition=e.annotationPosition),void 0!==e.scaleByMap&&(t.scaleByMap=e.scaleByMap),void 0!==e.isLocked&&(t.isLocked=e.isLocked),void 0!==e.note&&(t.note=e.note),void 0!==e.custom&&(t.custom=e.custom),e.extendProperty)for(var n=0;n<e.extendProperty.length;n++){var i=e.extendProperty[n];t.extendProperty.addProperty(i.key,i.value)}if(e.hasOwnProperty("subSymbols")&&null!=e.subSymbols){t.subSymbols=[];for(var l=0;l<e.subSymbols.length;l++){var r=e.subSymbols[l].libID;void 0===r&&(r=t.libID);var a=e.subSymbols[l].code;if(void 0!==a){var s={};void 0!==e.subSymbols[l].textContent&&(s.textContent=e.subSymbols[l].textContent),void 0!==e.subSymbols[l].totalNum&&(s.totalNum=e.subSymbols[l].totalNum),void 0!==e.subSymbols[l].symbolData&&(s.symbolData=e.subSymbols[l].symbolData),t.subSymbols.push(new SuperMap.Plot.SubSymbol(r,a,s))}}}if(e.avoidRegions&&0!==e.avoidRegions.length)for(var u=0;u<e.avoidRegions.length;u++){var p={libID:0,code:SuperMap.Plot.SymbolType.AVOIDREGION,map:t.map,symbolData:e.avoidRegions[u][0]},c=null;if(o)(c=L.supermap.plotting.avoidRegion(0,SuperMap.Plot.SymbolType.AVOIDREGION,[],p)).style=SuperMap.Plot.AnalysisSymbol.getStyle(t.symbolData.avoidRegions[u][1],!0);else{c=new SuperMap.Geometry.AvoidRegion(p);var y=new SuperMap.Feature.Vector(c);y.style=SuperMap.Plot.AnalysisSymbol.getStyle(e.avoidRegions[u][1],o),c.feature=y,c.calculateParts()}t.avoidRegions.push(c)}if(!0===o&&(t.style=SuperMap.Plot.AnalysisSymbol.getStyle(e,!0)),t.symbolType===SuperMap.Plot.SymbolType.AIRROUTE||t.symbolType===SuperMap.Plot.SymbolType.NAVYROUTE||t.symbolType===SuperMap.Plot.SymbolType.MISSILEROUTE){for(var h in t.routeNodes=[],e.routeNodes){var P=new SuperMap.Plot.RouteNode;t.routeNodes.push(P.parseSymbolData(e.routeNodes[h]))}t.arrRoutePts=[];for(var f=0;f<e.arrRoutePts.length;f++){for(var S=[],d=0;d<e.arrRoutePts[f].length;d++)e.arrRoutePts[f][d].hasOwnProperty("lat")&&e.arrRoutePts[f][d].hasOwnProperty("lng")?S.push(new SuperMap.Geometry.Point(e.arrRoutePts[f][d].lng,e.arrRoutePts[f][d].lat)):void 0===e.arrRoutePts[f][d].x&&void 0===e.arrRoutePts[f][d].y||S.push(new SuperMap.Geometry.Point(e.arrRoutePts[f][d].x,e.arrRoutePts[f][d].y));o&&(S=L.Util.superMapPointsToLatLngs(S)),t.arrRoutePts.push(S)}o||(t.lineStyle=SuperMap.Plot.AnalysisSymbol.getStyle(e,!1))}else if(t.symbolType===SuperMap.Plot.SymbolType.GROUPOBJECT||t.symbolType===SuperMap.Plot.SymbolType.FLAGGROUP||t.symbolType===SuperMap.Plot.SymbolType.NAVYDEPLOYMENT||t.symbolType===SuperMap.Plot.SymbolType.AIRDEPLOYMENT){if(t.subAssociatedUuids=e.subAssociatedUuids,o){for(var g=[],M=0;M<e.subFeatures.length;M++){var m=e.subFeatures[M];m.uuid=SuperMap.Plot.PlottingUtil.generateUuid();var v=L.supermap.plotting.PlottingObject.createSymbol(m.libID,m.code,null,{symbolData:m});g.push(v)}t.subObjects=g}else for(var b=0;b<e.subFeatures.length;b++){var T=e.subFeatures[b],A=SuperMap.Geometry.PlottingGeometry.createFeature(T.libID,T.code,null,{symbolData:T,map:t.map});A.geometry.ownGroupObj=t,t.components.push(A)}0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.FLAGGROUP?(t.ratio=e.ratio,t.subFeatures=e.subFeatures):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.AIRDEPLOYMENT?(t.colNum=e.colNum,t.speceDis=e.speceDis,t.isShowTooltip=e.isShowTooltip):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.NAVYDEPLOYMENT&&(t.colNum=e.colNum,t.speceDis=e.speceDis)}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXT){t.addFrame=e.addFrame,t.symbolTexts=[];for(var O=0,E=e.symbolTexts.length;O<E;O++){var x=new SuperMap.Plot.SymbolText;x.parseSymbolData(e.symbolTexts[O]),t.symbolTexts.push(x)}}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXT1)void 0!==e.space&&(t.space=e.space),void 0!==e.offsetX&&(t.offsetX=e.offsetX),void 0!==e.offsetY&&(t.offsetY=e.offsetY);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SATELLITE){if(e.scaleValues&&0!==e.scaleValues.length){t.scaleValues=[];for(var w=0;w<e.scaleValues.length;w++)t.scaleValues.push(e.scaleValues[w])}if(e.subSymbol&&(t.subSymbols=[e.subSymbol]),t.visible=e.visible,e.orbitPoints){t.orbitPoints=[];for(var I=0;I<e.orbitPoints.length;I++)t.orbitPoints.push(new SuperMap.Plot.OrbitPoint(e.orbitPoints[I].x,e.orbitPoints[I].y,e.orbitPoints[I].z,e.orbitPoints[I].number,e.orbitPoints[I].time))}}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS){t.timeWindows=e.timeWindows;for(var C=0;C<t.timeWindows.length;C++)"Time"!==e.type&&"Number"!==e.type||(t.timeWindows[C].type=e.type)}else{if(e.localePoints){t.controlPoints=[];for(var R=0;R<e.localePoints.length;R++)t.controlPoints.push(new SuperMap.Geometry.Point(e.localePoints[R].x,e.localePoints[R].y));!0===o&&(t.latLngs=L.Util.superMapPointsToLatLngs(t.controlPoints),delete t.controlPoints)}if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.LINERELATION)t.endAssociatedUuid=e.endAssociatedUuid,t.lineRelationType=e.lineRelationType,t.startAssociatedUuid=e.startAssociatedUuid,t.subSectionCount=e.subSectionCount;else if(t.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL){t.surroundLineType=e.surroundLineType,t.symbolRank=e.symbolRank,t.negativeImage=e.negativeImage;var _=SuperMap.Plot.AnalysisSymbol.analysisDotBasicInfo(e);if(t.anchorPoint=_.anchorPoint,t.symbolSizeInLib=_.symbolSizeInLib,t.middleMarkBounds=_.middleMarkBounds,void 0!==e.actualScale&&(t.actualScale=e.actualScale),void 0!==e.limitWidthHeight&&(t.limitWidthHeight=e.limitWidthHeight),void 0!==e.fontSize&&(t.fontSize=e.fontSize),void 0!==e.strokeWidth&&(t.strokeWidth=e.strokeWidth),void 0!==e.space&&(t.space=e.space),void 0!==e.flagTextSize&&(t.flagTextSize=e.flagTextSize),void 0!==e.maxScale&&(t.maxScale=e.maxScale),void 0!==e.minScale&&(t.minScale=e.minScale),void 0!==e.textDisplay&&(t.textDisplay=e.textDisplay),!1!==t.isEdit){var U={x:0,y:0};-1===e.symbolSize.x&&-1===e.symbolSize.x?(U.x=e.symbolSizeInLib.x*SuperMap.Plot.PlottingUtil.DPI/25.4/10,U.y=e.symbolSizeInLib.y*SuperMap.Plot.PlottingUtil.DPI/25.4/10):(U.x=e.symbolSize.x*SuperMap.Plot.PlottingUtil.DPI/25.4/10,U.y=e.symbolSize.y*SuperMap.Plot.PlottingUtil.DPI/25.4/10),t.setSymbolSize(U.x,U.y)}void 0!==e.positionOffset&&null!==e.positionOffset&&(t.positionOffset=e.positionOffset),void 0!==e.positionOffsetType&&null!==e.positionOffsetType&&(t.positionOffsetType=e.positionOffsetType),void 0!==e.positionOffsetX&&null!==e.positionOffsetX&&(t.positionOffsetX=e.positionOffsetX),void 0!==e.positionOffsetY&&null!==e.positionOffsetY&&(t.positionOffsetY=e.positionOffsetY)}else{if(t.surroundLineType=e.surroundLineType,e.scaleValues&&0!==e.scaleValues.length){t.scaleValues=[];for(var N=0;N<e.scaleValues.length;N++)t.scaleValues.push(e.scaleValues[N])}if(void 0!==e.strokeWidth&&null!==e.strokeWidth&&(t.strokeWidth=e.strokeWidth),void 0!==e.baseScale&&null!==e.baseScale&&(t.baseScale=e.baseScale),void 0!==e.polylineConnectLocationPoint&&null!==e.polylineConnectLocationPoint&&(t.polylineConnectLocationPoint=e.polylineConnectLocationPoint),22===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ALGOSYMBOL)void 0!==e.arrowHeadType&&null!==e.arrowHeadType&&(t.arrowHeadType=e.arrowHeadType),void 0!==e.arrowBodyType&&null!==e.arrowBodyType&&(t.arrowBodyType=e.arrowBodyType),void 0!==e.arrowTailType&&null!==e.arrowTailType&&(t.arrowTailType=e.arrowTailType);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ARROWLINE)t.arrowAngle=e.arrowAngle,void 0!==e.arrowTypeStart&&(t.scaleValues[1]=e.arrowTypeStart),void 0!==e.arrowTypeEnd&&(t.scaleValues[2]=e.arrowTypeEnd);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE){if(e.radius&&0!==e.radius.length&&0===t.scaleValues.length)for(var D=0;D<e.radius.length;D++)t.scaleValues.push(e.radius[D])}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.CONCENTRICCIRCLE)t.symbolData.hasOwnProperty("startAngle")&&(t.scaleValues[0]=t.symbolData.startAngle),t.symbolData.hasOwnProperty("endAngle")&&(t.scaleValues[1]=t.symbolData.endAngle);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.LINEMARKING)void 0!==e.islocationCircle&&null!==e.islocationCircle&&(t.islocationCircle=e.islocationCircle),void 0!==e.textBoxType&&null!==e.textBoxType&&(t.textBoxType=e.textBoxType),e.tipPoint&&(this.scaleValues[1]=e.tipPoint.x,this.scaleValues[2]=e.tipPoint.y);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXTBOX)void 0!==e.roundBox&&null!==e.roundBox&&(t.roundBox=e.roundBox),void 0!==e.textBoxType&&null!==e.textBoxType&&(t.textBoxType=e.textBoxType),e.tipPoint&&(this.scaleValues[1]=e.tipPoint.x,this.scaleValues[2]=e.tipPoint.y);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM)e.tipPoint1&&(this.scaleValues[0]=e.tipPoint1.x,this.scaleValues[1]=e.tipPoint1.y),e.tipPoint2&&(this.scaleValues[2]=e.tipPoint2.x,this.scaleValues[3]=e.tipPoint2.y);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.PATHTEXT)t.isAvoid=e.isAvoid,t.isCurve=e.isCurve,t.relLineText=e.relLineText,t.showPathLine=e.showPathLine,t.textToLineDistance=e.textToLineDistance,t.showPathLineArrow=e.showPathLineArrow;else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ARCREGION){if(o){if(t.centerPoint=L.latLng(e.centerPoint.y,e.centerPoint.x),t.symbolData.circlePts){for(var B=[],G=0;G<e.circlePts.length;G++)B.push(new SuperMap.Geometry.Point(e.circlePts[G].x,e.circlePts[G].y));0!==B.length&&(t.circlePts=B)}t.spatialAnalystUrl=e.spatialAnalystUrl}else t.centerPoint=new SuperMap.Geometry.Point(e.centerPoint.x,e.centerPoint.y);t.endAngle=e.endAngle,t.radius=e.radius,t.radiusPosAngle=e.radiusPosAngle,t.startAngle=e.startAngle,t.textPosition=e.textPosition,t.radiusLineType=e.radiusLineType,t.radiusText=e.radiusText}else 0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.POLYGONREGION&&(t.symbolData.hasOwnProperty("textPosition")?t.scaleValues[1]=t.symbolData.textPosition:void 0===t.scaleValues[1]&&(t.scaleValues[1]=t.symbolData.annotationPosition))}}}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AddPoint_WayType=e.RouteNodePrimitives=e.Primitives=e.PlottingUtil=e.AnalysisSymbol=void 0;var n=o(61),i=o(60),l=o(59),r=o(58),a=o(57);e.AnalysisSymbol=n.AnalysisSymbol,e.PlottingUtil=i.PlottingUtil,e.Primitives=l.Primitives,e.RouteNodePrimitives=r.RouteNodePrimitives,e.AddPoint_WayType=a.AddPoint_WayType},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.CalculateSVGGradient=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.feature=e}return n(t,[{key:"destroy",value:function(){this.feature=null}},{key:"createGradient",value:function(){var t=!1;this.feature.layer._renderer._container.defs||(this.feature.layer._renderer._container.defs=L.SVG.create("defs"),t=!0);var e=null;"LINEAR"===this.feature.style.fillGradientMode&&(e=document.getElementById("linearGradient_"+this.feature.uuid)),"RADIAL"===this.feature.style.fillGradientMode&&(e=document.getElementById("radialGradient_"+this.feature.uuid));var o=this.createGradientDirection();for("LINEAR"===this.feature.style.fillGradientMode?((e=null===e?L.SVG.create("linearGradient"):e).setAttributeNS(null,"x1",o.x1),e.setAttributeNS(null,"y1",o.y1),e.setAttributeNS(null,"x2",o.x2),e.setAttributeNS(null,"y2",o.y2)):"RADIAL"===this.feature.style.fillGradientMode&&((e=null===e?L.SVG.create("radialGradient"):e).setAttributeNS(null,"cx",o.cx),e.setAttributeNS(null,"cy",o.cy),e.setAttributeNS(null,"fx",o.fx),e.setAttributeNS(null,"fy",o.fy),e.setAttributeNS(null,"r",o.r));e.hasChildNodes();)e.removeChild(e.firstChild);for(var n=0,i=o.colors.length;n<i;n++){var l=L.SVG.create("stop");l.setAttributeNS(null,"offset",o.colors[n].offset),l.setAttributeNS(null,"style","stop-color:"+SuperMap.Plot.PlottingUtil.colorRGBA(o.colors[n].color,o.colors[n].opacity)),e.appendChild(l)}return 0===e.id.length&&e.setAttributeNS(null,"id",e.tagName+"_"+this.feature.uuid),this.feature.layer._renderer._container.defs.appendChild(e),t&&this.feature.layer._renderer._container.appendChild(this.feature.layer._renderer._container.defs),e.id}},{key:"createTextureFill",value:function(t){var e=!1;this.feature.layer._renderer._container.defs||(this.feature.layer._renderer._container.defs=L.SVG.create("defs"),e=!0);var o=document.getElementById("patternFill_"+this.feature.uuid);function n(t){var e="";return 2===t.fillID?e="rotate(-45)":3===t.fillID||6===t.fillID?e="rotate(0)":4===t.fillID||5===t.fillID?e="rotate(45)":7===t.fillID&&(e="rotate(90)"),e}function i(t,e,o){var n=L.SVG.create("path");n.setAttributeNS(null,"d",t),n.setAttributeNS(null,"stroke",o.color),n.setAttributeNS(null,"stroke-width","2"),n.setAttributeNS(null,"stroke-linecap","square"),n.setAttributeNS(null,"stroke-opacity",o.opacity),e.appendChild(n)}function l(t,e,o){var n=L.SVG.create("polygon");n.setAttributeNS(null,"points",t),n.setAttributeNS(null,"fill",o.color),n.setAttributeNS(null,"fill-opacity",o.opacity),e.appendChild(n)}return o?(o.setAttributeNS(null,"patternTransform",n(t[0]).toString()),3===t[0].fillID||6===t[0].fillID||7===t[0].fillID?(o.setAttributeNS(null,"width",7.3),o.setAttributeNS(null,"height",7.3),o.childNodes[0].setAttributeNS(null,"points","0 0 0 7.3 7.3 7.3 7.3 0"),o.childNodes[1].setAttributeNS(null,"d","M 7.3 0 L 0 0")):(o.setAttributeNS(null,"width",5.4),o.setAttributeNS(null,"height",5.4),o.childNodes[0].setAttributeNS(null,"points","0 0 0 5.4 5.4 5.4 5.4 0"),o.childNodes[1].setAttributeNS(null,"d","M 5.4 0 L 0 0")),o.childNodes[0].setAttributeNS(null,"fill",t[1].color),o.childNodes[0].setAttributeNS(null,"fill-opacity",t[1].opacity),o.childNodes[1].setAttributeNS(null,"stroke",t[0].color),o.childNodes[1].setAttributeNS(null,"stroke-opacity",t[0].opacity),3===t[0].fillID||4===t[0].fillID?(o.childNodes[2]&&(o.childNodes[2].setAttributeNS(null,"stroke",t[0].color),o.childNodes[2].setAttributeNS(null,"stroke-opacity",t[0].opacity)),3===t[0].fillID?null===o&&i("M 0 7.3 L 0 0",o,t[0]):4===t[0].fillID&&null===o&&i("M 0 5.4 L 0 0",o,t[0])):o.childNodes[2]&&o.removeChild(o.childNodes[2]),0===o.id.length&&o.setAttributeNS(null,"id","patternFill_"+this.feature.uuid),o.id):((o=null===o?L.SVG.create("pattern"):o).setAttributeNS(null,"x",0),o.setAttributeNS(null,"y",0),3===t[0].fillID||6===t[0].fillID||7===t[0].fillID?(o.setAttributeNS(null,"width",7.3),o.setAttributeNS(null,"height",7.3)):(o.setAttributeNS(null,"width",5.4),o.setAttributeNS(null,"height",5.4)),o.setAttributeNS(null,"patternUnits","userSpaceOnUse"),o.setAttributeNS(null,"patternTransform",n(t[0]).toString()),3===t[0].fillID||6===t[0].fillID||7===t[0].fillID?(l("0 0 0 7.3 7.3 7.3 7.3 0",o,t[1]),i("M 7.3 0 L 0 0",o,t[0])):(l("0 0 0 5.4 5.4 5.4 5.4 0",o,t[1]),i("M 5.4 0 L 0 0",o,t[0])),4===t[0].fillID?i("M 0 5.4 L 0 0",o,t[0]):3===t[0].fillID&&i("M 0 7.3 L 0 0",o,t[0]),this.feature.layer._renderer._container.defs.appendChild(o),e&&this.feature.layer._renderer._container.appendChild(this.feature.layer._renderer._container.defs),0===o.id.length&&o.setAttributeNS(null,"id","patternFill_"+this.feature.uuid),o.id)}},{key:"createFillMode",value:function(t){if(void 0!==this.feature.style.fillSymbolID)if(t.fill=this.feature.style.fill,t.fillSymbolID=this.feature.style.fillSymbolID,0===this.feature.style.fillSymbolID||1===this.feature.style.fillSymbolID||!0===this.feature.style.fill||!1===this.feature.style.fill)0===this.feature.style.fillSymbolID?t.fill=!0:1===this.feature.style.fillSymbolID&&(t.fill=!1),t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity;else if(this.feature.style.fillColor!==this.feature.style.fillBackColor||this.feature.style.fillBackOpacity>0&&this.feature.style.fillBackOpacity<1){var e=[];e.push({fillID:this.feature.style.fillSymbolID,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity},{fillID:this.feature.style.fillSymbolID,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillBackOpacity}),this.feature._map.getRenderer(this.feature.layer)instanceof L.SVG?(t.fillOpacity=1,t.fillColor="url(#"+this.createTextureFill(e)+")",t.fill=t.fillColor):new SuperMap.Plot.CalculateCanvasGradient(this.feature,this.feature.getBounds()).createTextureFill(e)}else t.fill=!0,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity;else t.fill=this.feature.style.fill,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity}},{key:"createGradientDirection",value:function(){var t=[];if("LINEAR"===this.feature.style.fillGradientMode){if(null!==this.feature.style.fillCenterOffsetX&&void 0!==this.feature.style.fillCenterOffsetX&&(0===this.feature.style.fillAngle||180===this.feature.style.fillAngle?(t.push({offset:0,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}),t.push({offset:this.feature.style.fillCenterOffsetX,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity})):90===this.feature.style.fillAngle||270===this.feature.style.fillAngle?(t.push({offset:0,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}),t.push({offset:this.feature.style.fillCenterOffsetY,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity})):(t.push({offset:0,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}),t.push({offset:this.feature.style.fillCenterOffsetX/2*(Math.sqrt(2)/2)*Math.abs(Math.sin(this.feature.style.fillAngle*Math.PI/180)),color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}))),this.feature.style.fillAngle>=360&&(this.feature.style.fillAngle=0),0===this.feature.style.fillAngle)return{x1:0,y1:0,x2:1,y2:0,colors:t};if(90===this.feature.style.fillAngle)return{x1:0,y1:1,x2:0,y2:0,colors:t};if(180===this.feature.style.fillAngle)return{x1:1,y1:0,x2:0,y2:0,colors:t};if(270===this.feature.style.fillAngle)return{x1:0,y1:0,x2:0,y2:1,colors:t};if(0<this.feature.style.fillAngle&&this.feature.style.fillAngle<=45)return{x1:0,y1:1,x2:1,y2:(1-Math.tan(this.feature.style.fillAngle*Math.PI/180))/2,colors:t};if(45<this.feature.style.fillAngle&&this.feature.style.fillAngle<90)return{x1:0,y1:1,x2:(1-Math.tan((this.feature.style.fillAngle-45)*Math.PI/180))/2,y2:0,colors:t};if(90<this.feature.style.fillAngle&&this.feature.style.fillAngle<=135)return{x1:1,y1:1,x2:Math.tan((this.feature.style.fillAngle-90)*Math.PI/180)/2,y2:0,colors:t};if(135<this.feature.style.fillAngle&&this.feature.style.fillAngle<180)return{x1:1,y1:1,x2:0,y2:Math.tan((this.feature.style.fillAngle-135)*Math.PI/180)/2,colors:t};if(180<this.feature.style.fillAngle&&this.feature.style.fillAngle<=225)return{x1:1,y1:0,x2:0,y2:Math.tan((this.feature.style.fillAngle-180)*Math.PI/180)/2,colors:t};if(225<this.feature.style.fillAngle&&this.feature.style.fillAngle<270)return{x1:1,y1:0,x2:Math.tan((this.feature.style.fillAngle-225)*Math.PI/180)/2,y2:0,colors:t};if(270<this.feature.style.fillAngle&&this.feature.style.fillAngle<=315)return{x1:0,y1:0,x2:1-Math.tan((this.feature.style.fillAngle-270)*Math.PI/180)/2,y2:1,colors:t};if(315<this.feature.style.fillAngle&&this.feature.style.fillAngle<360)return{x1:0,y1:0,x2:1,y2:Math.tan((this.feature.style.fillAngle-315)*Math.PI/180)/2,colors:t}}else if("RADIAL"===this.feature.style.fillGradientMode)if(null!==this.feature.style.fillCenterOffsetX&&void 0!==this.feature.style.fillCenterOffsetX&&null!==this.feature.style.fillCenterOffsetY&&void 0!==this.feature.style.fillCenterOffsetY&&(t.push({offset:0,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillBackOpacity})),this.feature.style.fillCenterOffsetX<=.5&&this.feature.style.fillCenterOffsetX>=0||this.feature.style.fillCenterOffsetX<=0&&this.feature.style.fillCenterOffsetX>=-1){if(this.feature.style.fillCenterOffsetY>=0&&this.feature.style.fillCenterOffsetY<=.5||this.feature.style.fillCenterOffsetY>=-.5&&this.feature.style.fillCenterOffsetY<=0)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.5*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.5&&this.feature.style.fillCenterOffsetY<=.8||this.feature.style.fillCenterOffsetY>=-.8&&this.feature.style.fillCenterOffsetY<=-.5)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.8*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.8&&this.feature.style.fillCenterOffsetY<=1||this.feature.style.fillCenterOffsetY>=-1&&this.feature.style.fillCenterOffsetY<=-.8)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t}}else if(this.feature.style.fillCenterOffsetX<=.8&&this.feature.style.fillCenterOffsetX>.5||this.feature.style.fillCenterOffsetX<=-.5&&this.feature.style.fillCenterOffsetX>=-.8){if(this.feature.style.fillCenterOffsetY>=0&&this.feature.style.fillCenterOffsetY<=.5||this.feature.style.fillCenterOffsetY>=-.5&&this.feature.style.fillCenterOffsetY<=0)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.8*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.5&&this.feature.style.fillCenterOffsetY<=.8||this.feature.style.fillCenterOffsetY>=-.8&&this.feature.style.fillCenterOffsetY<=-.5)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.8*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.8&&this.feature.style.fillCenterOffsetY<=1||this.feature.style.fillCenterOffsetY>=-1&&this.feature.style.fillCenterOffsetY<=-.8)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t}}else if(this.feature.style.fillCenterOffsetX<=1&&this.feature.style.fillCenterOffsetX>.8||this.feature.style.fillCenterOffsetX<=-.8&&this.feature.style.fillCenterOffsetX>=-1){if(this.feature.style.fillCenterOffsetY>=0&&this.feature.style.fillCenterOffsetY<=.5||this.feature.style.fillCenterOffsetY>=-.5&&this.feature.style.fillCenterOffsetY<=0)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.5&&this.feature.style.fillCenterOffsetY<=.8||this.feature.style.fillCenterOffsetY>=-.8&&this.feature.style.fillCenterOffsetY<=-.5)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.8&&this.feature.style.fillCenterOffsetY<=1||this.feature.style.fillCenterOffsetY>=-1&&this.feature.style.fillCenterOffsetY<=-.8)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t}}}}]),t}();SuperMap.Plot.CalculateSVGGradient=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.CalculateCanvasGradient=function(){function t(e,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.feature=e,this._bounds=o}return n(t,[{key:"destroy",value:function(){this.feature=null}},{key:"getContext",value:function(){return this.feature._map.getRenderer(this.feature.layer)._ctx}},{key:"calculateObjectByBounds",value:function(){var t=this.feature._map.latLngToLayerPoint(L.latLng(this._bounds.getNorth(),this._bounds.getWest())),e=this.feature._map.latLngToLayerPoint(L.latLng(this._bounds.getSouth(),this._bounds.getEast())),o=this.feature._map.latLngToLayerPoint(L.latLng(this._bounds.getCenter()));if(t.x!==e.x||t.y!==e.y){var n=Math.max(t.x,e.x),i=Math.max(t.y,e.y),l=Math.min(t.x,e.x),r=Math.min(t.y,e.y);return{ptMinX:l,ptMinY:r,width:Math.abs(n-l),height:Math.abs(i-r),center:o,r:Math.abs(t.x-e.x)>Math.abs(e.y-e.y)?Math.abs(t.x-e.x):Math.abs(t.y-e.y)}}}},{key:"createGradient",value:function(){var t=function(t,e){var o=t.substring(1,3),n=parseInt(o,16),i=t.substring(3,5),l=parseInt(i,16),r=t.substring(5);return"rgba("+n+","+l+","+parseInt(r,16)+","+e+")"},e=null;if(this.getContext()instanceof CanvasRenderingContext2D){var o=this.calculateObjectByBounds();if("LINEAR"===this.feature.style.fillGradientMode){var n=this.getGradientDirection(this.feature.style.fillAngle);if(e=this.getContext().createLinearGradient(o.ptMinX+o.width*n.x1,o.ptMinY+o.height*n.y1,o.ptMinX+o.width*n.x2,o.ptMinY+o.height*n.y2),0===this.feature.style.fillCenterOffsetX&&0===this.feature.style.fillCenterOffsetY)e.addColorStop(0,t(this.feature.style.fillColor,this.feature.style.fillOpacity)),e.addColorStop(1,t(this.feature.style.fillBackColor,this.feature.style.fillOpacity));else{var i=this.feature.style.fillAngle;0===i||180===i||90===i||270===i?(e.addColorStop(0,t(this.feature.style.fillBackColor,this.feature.style.fillOpacity)),0!==i&&180!==i||e.addColorStop(this.feature.style.fillCenterOffsetX,t(this.feature.style.fillColor,this.feature.style.fillOpacity)),90!==i&&270!==i||e.addColorStop(this.feature.style.fillCenterOffsetY,t(this.feature.style.fillColor,this.feature.style.fillOpacity)),e.addColorStop(1,t(this.feature.style.fillBackColor,this.feature.style.fillOpacity))):(e.addColorStop(0,t(this.feature.style.fillBackColor,this.feature.style.fillOpacity)),e.addColorStop(this.feature.style.fillCenterOffsetX>=this.feature.style.fillCenterOffsetY?this.feature.style.fillCenterOffsetX:this.feature.style.fillCenterOffsetY*Math.cos(this.feature.style.fillAngle*Math.PI/180),t(this.feature.style.fillColor,this.feature.style.fillOpacity)),e.addColorStop(1,t(this.feature.style.fillBackColor,this.feature.style.fillOpacity)))}}else if("RADIAL"===this.feature.style.fillGradientMode){var l=this.feature.style.fillCenterOffsetX*o.r,r=this.feature.style.fillCenterOffsetY*o.r,a=o.r/Math.sqrt(2)+Math.abs(l)>o.r/Math.sqrt(2)+Math.abs(r)?o.r/Math.sqrt(2)+Math.abs(l):o.r/Math.sqrt(2)+Math.abs(r);(e=this.getContext().createRadialGradient(o.center.x+l,o.center.y-r,0,o.center.x+l,o.center.y-r,a)).addColorStop(0,t(this.feature.style.fillColor,this.feature.style.fillOpacity)),e.addColorStop(1,t(this.feature.style.fillBackColor,this.feature.style.fillBackOpacity))}return e}}},{key:"createTextureFill",value:function(t){if(0!==t.length){var e=document.createElement("canvas");document.body.appendChild(e);var o=e.getContext("2d");e.width=8,e.height=8;var n=e.width,i=e.height,l=SuperMap.Plot.PlottingUtil.colorStringToRGB(t[0].color);o.strokeStyle="rgba("+l.red+","+l.green+","+l.blue+","+t[0].opacity+")",o.lineWidth=1;var r=SuperMap.Plot.PlottingUtil.colorStringToRGB(t[1].color);switch(o.fillStyle="rgba("+r.red+","+r.green+","+r.blue+","+t[1].opacity+")",o.fillRect(0,0,e.width,e.height),o.beginPath(),t[0].fillID){case 0:case 1:break;case 2:o.moveTo(0,i),o.lineTo(n,0);break;case 3:o.moveTo(0,0),o.lineTo(n,0),o.moveTo(0,0),o.lineTo(0,i);break;case 4:o.moveTo(0,i),o.lineTo(n,0),o.moveTo(0,0),o.lineTo(n,i);break;case 5:o.moveTo(0,0),o.lineTo(n,i);break;case 6:o.moveTo(0,0),o.lineTo(n,0);break;case 7:o.moveTo(0,0),o.lineTo(0,i)}o.closePath(),o.stroke(),o.fill();var a=o.createPattern(e,"repeat");return document.body.removeChild(e),a}}},{key:"createFillMode",value:function(t){if(void 0!==this.feature.style.fillSymbolID)if(t.fill=this.feature.style.fill,t.fillSymbolID=this.feature.style.fillSymbolID,0===this.feature.style.fillSymbolID||1===this.feature.style.fillSymbolID||!0===this.feature.style.fill||!1===this.feature.style.fill)0===this.feature.style.fillSymbolID?t.fill=!0:1===this.feature.style.fillSymbolID&&(t.fill=!1),t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity;else if(this.feature.style.fillColor!==this.feature.style.fillBackColor||this.feature.style.fillBackOpacity>0&&this.feature.style.fillBackOpacity<1){var e=[];e.push({fillID:this.feature.style.fillSymbolID,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity},{fillID:this.feature.style.fillSymbolID,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillBackOpacity}),t.fill=!0,t.fillColor=this.createTextureFill(e),t.fillOpacity=this.feature.style.fillColor}else t.fill=!0,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity;else t.fill=this.feature.style.fill,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity}},{key:"getGradientDirection",value:function(t){var e=function(t){return{x:Math.cos(t),y:Math.sin(t)}},o=function(t){return t*Math.PI/180},n=e(o(180-t%360)),i=e(o(360-t%360)),l=Math.pow(2,-52);return(n.x<=0||Math.abs(n.x)<=l)&&(n.x=0),(n.y<=0||Math.abs(n.y)<=l)&&(n.y=0),(i.x<=0||Math.abs(i.x)<=l)&&(i.x=0),(i.y<=0||Math.abs(i.y)<=l)&&(i.y=0),{x1:n.x,y1:n.y,x2:i.x,y2:i.y}}}]),t}();SuperMap.Plot.CalculateCanvasGradient=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CalculateSVGGradient=e.CalculateCanvasGradient=void 0;var n=o(64),i=o(63);e.CalculateCanvasGradient=n.CalculateCanvasGradient,e.CalculateSVGGradient=i.CalculateSVGGradient},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.TransactionInfo=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.layer=e.layer?e.layer:null,this.feature=e.feature?e.feature:null,this.uuid=e.uuid?e.uuid:null,this.functionName=e.functionName?e.functionName:null,this.undoParams=e.undoParams?e.undoParams:null,this.redoParams=e.redoParams?e.redoParams:null,this.propertyName=e.propertyName?e.propertyName:null,this.undoValue=e.undoValue?e.undoValue:null,this.redoValue=e.redoValue?e.redoValue:null,this.CLASS_NAME="SuperMap.Plot.TransactionInfo"};SuperMap.Plot.TransactionInfo=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Transaction=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.transType=e.transType?e.transType:SuperMap.Plot.TransactionType.EDIT,this.transInfos=[],this.CLASS_NAME="SuperMap.Plot.Transaction"}return n(t,[{key:"destroy",value:function(){this.transInfos=null,this.transType=null}}]),t}();SuperMap.Plot.Transaction=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.TowardNode=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.routeNodeId=e.routeNodeId?e.routeNodeId:null,this.relLineText=e.relLineText?e.relLineText:SuperMap.Plot.RelLineText.ONLEFTLINE,this.index=e.index?e.index:0,this.textContent=e.textContent?e.textContent:null,this.offsetX=e.offsetX?e.offsetX:null,this.offsetY=e.offsetY?e.offsetY:null,this.style=e.style?e.style:{fontSize:12,fontFamily:"Microsoft YaHei"},this.CLASS_NAME="SuperMap.Plot.TowardNode"}return n(t,[{key:"destroy",value:function(){this.routeNodeId=null,this.relLineText=null,this.textContent=null,this.style=null}},{key:"clone",value:function(){return new t({routeNodeId:this.routeNodeId,relLineText:this.relLineText,textContent:this.textContent,style:SuperMap.Util.cloneObject(this.style)})}},{key:"parseSymbolData",value:function(t){return this.routeNodeId=t.routeNodeId,this.relLineText=t.relLineText,this.index=t.index,this.textContent=t.textContent,this.offsetX=t.offsetX,this.offsetY=t.offsetY,this.style=SuperMap.Plot.AnalysisSymbol.getStyle(t,!0),this}},{key:"setSymbolData",value:function(){var t={};return t.routeNodeId=this.routeNodeId,t.relLineText=this.relLineText,t.index=this.index,t.textContent=this.textContent,t.offsetX=this.offsetX,t.offsetY=this.offsetY,SuperMap.Util.applyDefaults(this.style,L.supermap.plotting.PlottingObject.prototype._defaultStyle),SuperMap.Plot.AnalysisSymbol.setStyle(this.style,t,!0),t}}]),t}();SuperMap.Plot.TowardNode=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.TimeWindowParameter=function(){function t(e,o,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.startOrbitPoint=e,this.endOrbitPoint=o,this.type=n,this.CLASS_NAME="SuperMap.Plot.TimeWindowParameter"}return n(t,[{key:"destroy",value:function(){this.startOrbitPoint=null,this.endOrbitPoint=null,this.type=null}}]),t}();SuperMap.Plot.TimeWindowParameter=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.SymbolText=function(){function t(e,o,n,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),i=i||{},this.textContent=e,this.textPosition=o,void 0!==this.textPosition&&null!==this.textPosition||(this.textPosition=0),this.offsetX=i.offsetX?i.offsetX:0,this.offsetY=i.offsetY?i.offsetY:0,this.style=n,this.CLASS_NAME="SuperMap.Plot.SymbolText"}return n(t,[{key:"destroy",value:function(){this.textContent=null,this.textPosition=null,this.offsetX=null,this.offsetY=null}},{key:"clone",value:function(){var t={offsetX:this.offsetX,offsetY:this.offsetY},e={};return e=SuperMap.Util.copyAttributes(e,this.style),new SuperMap.Plot.SymbolText(this.textContent,this.textPosition,e,t)}},{key:"setSymbolData",value:function(){var t={};return t.textContent=this.textContent,t.textPosition=this.textPosition,t.offsetX=this.offsetX,t.offsetY=this.offsetY,SuperMap.Plot.AnalysisSymbol.setStyle(this.style,t,!0),t}},{key:"parseSymbolData",value:function(t){return this.textContent=t.textContent,this.textPosition=t.textPosition,this.offsetX=t.offsetX,this.offsetY=t.offsetY,SuperMap.Plot.AnalysisSymbol.getStyle(t,!0),this}}]),t}();SuperMap.Plot.SymbolText=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.SubSymbol=function(){function t(e,o,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),n=n||{},this.libID=e,this.code=o,this.symbolData=n.symbolData?n.symbolData:null,this.textContent=n.textContent?n.textContent:null,this.totalNum=n.totalNum?n.totalNum:null,this.CLASS_NAME="SuperMap.Plot.SubSymbol"}return n(t,[{key:"destroy",value:function(){this.libID=null,this.code=null,this.symbolData=null,this.totalNum=null}},{key:"clone",value:function(){var t=new SuperMap.Plot.SubSymbol(this.libID,this.code);return t.symbolData={},t.symbolData=SuperMap.Util.copyAttributes(t.symbolData,this.symbolData),t.textContent=this.textContent,t.totalNum=this.totalNum,t}}]),t}();SuperMap.Plot.SubSymbol=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.SMLInfoStruct=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e&&(this.SMLName=e.SMLName,this.SMLDesc=e.SMLDesc,this.SMLSeclevel=e.SMLSeclevel,this.SMLDepat=e.SMLDepat,this.SMLAuthor=e.SMLAuthor,this.SMLTime=e.SMLTime),this.CLASS_NAME="SuperMap.Plot.SMLInfoStruct"}return n(t,[{key:"destroy",value:function(){this.SMLName="",this.SMLDesc="",this.SMLAuthor="",this.SMLSeclevel="",this.SMLDepat="",this.SMLTime=""}},{key:"fromJSON",value:function(t){this.SMLName=t.SMLName,this.SMLDesc=t.SMLDesc,this.SMLSeclevel=t.SMLSeclevel,this.SMLDepat=t.SMLDepat,this.SMLAuthor=t.SMLAuthor,this.SMLTime=t.SMLTime}},{key:"toJSON",value:function(){return'{"SMLName":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLName)+',"SMLDesc":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLDesc)+',"SMLSeclevel":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLSeclevel)+',"SMLDepat":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLDepat)+',"SMLAuthor":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLAuthor)+',"SMLTime":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLTime)+"}"}}]),t}();SuperMap.Plot.SMLInfoStruct=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.SitDataStruct=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.smlInfo=e.smlInfo?e.smlInfo:null,this.mapInfo=e.mapInfo?e.mapInfo:null,this.layerDatas=e.layerDatas?e.layerDatas:null,this.CLASS_NAME="SuperMap.Plot.SitDataStruct"}return n(t,[{key:"destroy",value:function(){this.smlInfo=null,this.mapInfo=null,this.layerDatas=null}}]),t}();SuperMap.Plot.SitDataStruct=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.RouteNode=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.id=e.id?e.id:SuperMap.Plot.PlottingUtil.generateUuid(),this.x=e.x?e.x:null,this.y=e.y?e.y:null,this.z=e.z?e.z:null,this.type=e.type?e.type:null,this.name=e.name?e.name:null,this.rotate=e.rotate?e.rotate:0,this.towardNodes=e.towardNodes?e.towardNodes:[],this.style=e.style?e.style:{},0===Object.keys(this.style).length&&(this.style=SuperMap.Util.cloneObject(L.supermap.plotting.PlottingObject.prototype._defaultStyle)),this.CLASS_NAME="SuperMap.Plot.RouteNode"}return n(t,[{key:"destroy",value:function(){this.type=null,this.position=null,this.name=null,this.id=null,this.rotate=null,this.towardNodes&&null!==this.towardNodes||(this.towardNodes=null);for(var t=0;t<this.towardNodes.length;t++)this.towardNodes[t].destroy();this.towardNodes=null}},{key:"clone",value:function(){var e=new t({id:this.id,type:this.type,name:this.name,rotate:this.rotate,towardNodes:this.towardNodes});return e.positionPoint=this.positionPoint.clone(),e.style={},e.style=SuperMap.Util.copyAttributes(e.style,this.style),e}},{key:"parseSymbolData",value:function(t){for(var e in this.id=t.id,this.type=t.type,this.name=t.name,this.rotate=t.rotate,t.positionPoint?(this.x=t.positionPoint.x,this.y=t.positionPoint.y,this.z=t.positionPoint.z):(this.x=t.x,this.y=t.y,this.z=t.z),this.style=SuperMap.Plot.AnalysisSymbol.getStyle(t,!0),t.towardNodes){var o=new SuperMap.Plot.TowardNode;this.towardNodes.push(o.parseSymbolData(t.towardNodes[e]))}return this}},{key:"setSymbolData",value:function(){var t={};for(var e in t.id=this.id,t.type=this.type,t.name=this.name,t.rotate=this.rotate,t.x=this.x,t.y=this.y,t.z=this.z,SuperMap.Plot.AnalysisSymbol.setStyle(this.style,t,!0),t.towardNodes=[],this.towardNodes)t.towardNodes.push(this.towardNodes[e].setSymbolData());return t}}]),t}();SuperMap.Plot.RouteNode=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Property=function(){function t(e,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e&&(this.key=e),o&&(this.value=o),this.CLASS_NAME="SuperMap.Plot.Property"}return n(t,[{key:"setKey",value:function(t){this.key=t}},{key:"getKey",value:function(){return this.key}},{key:"setValue",value:function(t){this.value=t}},{key:"getValue",value:function(){return this.value}},{key:"destroy",value:function(){this.key=null,this.value=null}},{key:"clone",value:function(){return new SuperMap.Plot.Property(this.key,this.value)}}]),t}();SuperMap.Plot.Property=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.OrbitPoint=function(){function t(e,o,n,i,l){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.x=parseFloat(e),this.y=parseFloat(o),(n||0==n)&&(this.z=parseFloat(n)),i&&(this.number=i),l&&(this.time=l),this.CLASS_NAME="SuperMap.Plot.OrbitPoint"}return n(t,[{key:"destroy",value:function(){this.x=null,this.y=null,this.z=null,this.index=null,this.time=null}},{key:"clone",value:function(t){return null==t&&(t=new SuperMap.Plot.OrbitPoint(this.x,this.y,this.z)),SuperMap.Util.applyDefaults(t,this),t}}]),t}();SuperMap.Plot.OrbitPoint=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.MapInfoStruct=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.zoom=e.zoom?e.zoom:null,this.centerX=e.centerX?e.centerX:null,this.centerY=e.centerY?e.centerY:null,this.CLASS_NAME="SuperMap.Plot.MapInfoStruct"}return n(t,[{key:"destroy",value:function(){this.zoom=null,this.centerX=null,this.centerY=null}},{key:"fromJSON",value:function(t){void 0!==t.zoom&&(this.zoom=t.zoom),void 0!==t.centerX&&(this.centerX=t.centerX),void 0!==t.centerY&&(this.centerY=t.centerY)}},{key:"toJSON",value:function(){return'{"zoom":'+SuperMap.Plot.PlottingUtil.toJSON(this.zoom)+',"centerX":'+SuperMap.Plot.PlottingUtil.toJSON(this.centerX)+',"centerY":'+SuperMap.Plot.PlottingUtil.toJSON(this.centerY)+"}"}}]),t}();SuperMap.Plot.MapInfoStruct=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.LayerDataStruct=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.layerName=e.layerName?e.layerName:null,this.spatialAnalystUrl=e.spatialAnalystUrl?e.spatialAnalystUrl:null,this.useCanvas2=!!e.useCanvas2&&e.useCanvas2,this.useCanvas=!!e.useCanvas&&e.useCanvas,this.features=e.features?e.features:null,this.CLASS_NAME="SuperMap.Plot.LayerDataStruct"}return n(t,[{key:"destroy",value:function(){this.layerName=null,this.spatialAnalystUrl=null,this.useCanvas2=null,this.useCanvas=null,this.features=null}},{key:"toJSON",value:function(){for(var t=[],e=0;e<this.features.length;e++)t.push(this.features[e].getSymbolData());return'{"layerName":'+SuperMap.Plot.PlottingUtil.toJSON(this.layerName)+', "spatialAnalystUrl":'+SuperMap.Plot.PlottingUtil.toJSON(this.spatialAnalystUrl)+', "useCanvas2":'+SuperMap.Plot.PlottingUtil.toJSON(this.useCanvas2)+', "useCanvas":'+SuperMap.Plot.PlottingUtil.toJSON(this.useCanvas)+', "isEditable":'+SuperMap.Plot.PlottingUtil.toJSON(this.isEditable)+', "isLocked":'+SuperMap.Plot.PlottingUtil.toJSON(this.isLocked)+', "visibility":'+SuperMap.Plot.PlottingUtil.toJSON(this.visibility)+',"features":'+SuperMap.Plot.PlottingUtil.toJSON(t)+"}"}}]),t}();SuperMap.Plot.LayerDataStruct=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.ExtendProperty=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.properties=e.properties?e.properties:[],this.CLASS_NAME="SuperMap.Plot.ExtendProperty"}return n(t,[{key:"addProperty",value:function(t,e){var o=this.findProperty(t);return null==o?this.properties.push(new SuperMap.Plot.Property(t,e)):o.setValue(e),!0}},{key:"deleteProperty",value:function(t){for(var e=0;e<this.properties.length;e++)if(this.properties[e].key===t)return this.properties.slice(e,1),!0;return!1}},{key:"findProperty",value:function(t){for(var e=0;e<this.properties.length;e++)if(this.properties[e].key===t)return this.properties[e];return null}},{key:"getPropertyValue",value:function(t){for(var e=0;e<this.properties.length;e++)if(this.properties[e].key===t)return this.properties[e].value;return null}},{key:"getPropertyByIndex",value:function(t){return t<this.properties.length?this.properties[t]:null}},{key:"getPropertyCount",value:function(){return this.properties.length}},{key:"destroy",value:function(){this.properties=null}}]),t}();SuperMap.Plot.ExtendProperty=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.DefaultStyle=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.lineColor=e.lineColor?e.lineColor:"#ff0000",this.lineWidth=e.lineWidth?e.lineWidth:2,this.lineType=e.lineType?e.lineType:0,this.lineOpacity=e.lineOpacity?e.lineOpacity:1,this.lineCap=e.lineCap?e.lineCap:"round",this.flagTextSize=e.flagTextSize?e.flagTextSize:60,this.maxScale=e.maxScale?e.maxScale:5,this.minScale=e.minScale?e.minScale:1,this.dotSymbolSize=e.dotSymbolSize?e.dotSymbolSize:40,this.dotTextSpace=e.dotTextSpace?e.dotTextSpace:7,this.scaleByMap=!!e.scaleByMap&&e.scaleByMap,this.fillColor=e.fillColor?e.fillColor:"#ff0000",this.fillOpacity=e.fillOpacity?e.fillOpacity:.31,this.fontColor=e.fontColor?e.fontColor:"#000000",this.fontOpacity=e.fontOpacity?e.fontOpacity:1,this.fontStroke=!!e.fontStroke&&e.fontStroke,this.fontStrokeColor=e.fontStrokeColor?e.fontStrokeColor:"#ff0000",this.fontStrokeWidth=e.fontStrokeWidth?e.fontStrokeWidth:"2px",this.fontBackground=!!e.fontBackground&&e.fontBackground,this.fontBackgroundColor=e.fontBackgroundColor?e.fontBackgroundColor:"#ff0000",this.fontShadow=!!e.fontShadow&&e.fontShadow,this.fontShadowColor=e.fontShadowColor?e.fontShadowColor:"#ff0000",this.fontShadowOffsetX=e.fontShadowOffsetX?e.fontShadowOffsetX:0,this.fontShadowOffsetY=e.fontShadowOffsetY?e.fontShadowOffsetY:0,this.fontSize=e.fontSize?e.fontSize:14,this.fontSpace=e.fontSpace?e.fontSpace:0,this.fontPercent=e.fontPercent?e.fontPercent:100,this.fontFamily=e.fontFamily?e.fontFamily:"微软雅黑",this.fontWeight=e.fontWeight?e.fontWeight:"bold",this.fontStyle=e.fontStyle?e.fontStyle:"",this.surroundLineType=e.surroundLineType?e.surroundLineType:0,this.surroundLineColor=e.surroundLineColor?e.surroundLineColor:"#ffff00",this.surroundLineWidth=e.surroundLineWidth?e.surroundLineWidth:4,this.surroundLineColorOpacity=e.surroundLineColorOpacity?e.surroundLineColorOpacity:1,this.fontStyle=e.fontStyle?e.fontStyle:"",this.fillBackColor=e.fillBackColor?e.fillBackColor:"#ff0000",this.fillBackOpacity=e.fillBackOpacity?e.fillBackOpacity:1,this.fillGradientMode=e.fillGradientMode?e.fillGradientMode:"NONE",this.fillCenterOffsetX=e.fillCenterOffsetX?e.fillCenterOffsetX:0,this.fillCenterOffsetY=e.fillCenterOffsetY?e.fillCenterOffsetY:0,this.fillAngle=e.fillAngle?e.fillAngle:0,this.fillSymbolID=e.fillSymbolID?e.fillSymbolID:1,this.defaultFlag=!!e.defaultFlag&&e.defaultFlag,this.CLASS_NAME="SuperMap.Plot.DefaultStyle",this.parserConfiguration()}return n(t,[{key:"parserConfiguration",value:function(){"undefined"!=typeof DefaultStyleConfiguration&&("undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.flagTextSize&&(this.flagTextSize=parseFloat(DefaultStyleConfiguration.flagTextSize)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.maxScale&&(this.maxScale=parseFloat(DefaultStyleConfiguration.maxScale)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.minScale&&(this.minScale=parseFloat(DefaultStyleConfiguration.minScale)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.dotSymbolSize&&(this.dotSymbolSize=parseFloat(DefaultStyleConfiguration.dotSymbolSize)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.dotTextSpace&&(this.dotTextSpace=parseFloat(DefaultStyleConfiguration.dotTextSpace)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.scaleByMap&&(this.scaleByMap=DefaultStyleConfiguration.scaleByMap),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.strokeWidth&&(this.lineWidth=parseFloat(DefaultStyleConfiguration.strokeWidth)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.strokeColor&&(this.lineColor=DefaultStyleConfiguration.strokeColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.strokeOpacity&&(this.lineOpacity=parseFloat(DefaultStyleConfiguration.strokeOpacity)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.strokeDashstyle&&(this.lineType=DefaultStyleConfiguration.strokeDashstyle),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.strokeLinecap&&(this.lineCap=DefaultStyleConfiguration.strokeLinecap),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillColor&&(this.fillColor=DefaultStyleConfiguration.fillColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillOpacity&&(this.fillOpacity=parseFloat(DefaultStyleConfiguration.fillOpacity)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontColor&&(this.fontColor=DefaultStyleConfiguration.fontColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontOpacity&&(this.fontOpacity=parseFloat(DefaultStyleConfiguration.fontOpacity)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontStroke&&(this.fontStroke=DefaultStyleConfiguration.fontStroke),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontStrokeColor&&(this.fontStrokeColor=DefaultStyleConfiguration.fontStrokeColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontStrokeWidth&&(this.fontStrokeWidth=parseFloat(DefaultStyleConfiguration.fontStrokeWidth)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontBackground&&(this.fontBackground=DefaultStyleConfiguration.fontBackground),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontBackgroundColor&&(this.fontBackgroundColor=DefaultStyleConfiguration.fontBackgroundColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontShadow&&(this.fontShadow=DefaultStyleConfiguration.fontShadow),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontShadowColor&&(this.fontShadowColor=DefaultStyleConfiguration.fontShadowColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontShadowOffsetX&&(this.fontShadowOffsetX=DefaultStyleConfiguration.fontShadowOffsetX),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontShadowOffsetY&&(this.fontShadowOffsetY=DefaultStyleConfiguration.fontShadowOffsetY),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontSpace&&(this.fontSpace=parseInt(DefaultStyleConfiguration.fontSpace)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontPercent&&(this.fontPercent=parseFloat(DefaultStyleConfiguration.fontPercent)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontSize&&(this.fontSize=parseFloat(DefaultStyleConfiguration.fontSize)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontFamily&&(this.fontFamily=DefaultStyleConfiguration.fontFamily),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontWeight&&(this.fontWeight=DefaultStyleConfiguration.fontWeight),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontStyle&&(this.fontStyle=DefaultStyleConfiguration.fontStyle),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.surroundLineType&&(this.surroundLineType=parseFloat(DefaultStyleConfiguration.surroundLineType)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.surroundLineColor&&(this.surroundLineColor=DefaultStyleConfiguration.surroundLineColor),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.surroundLineWidth&&(this.surroundLineWidth=parseFloat(DefaultStyleConfiguration.surroundLineWidth)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.surroundLineColorOpacity&&(this.surroundLineColorOpacity=parseFloat(DefaultStyleConfiguration.surroundLineColorOpacity)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillBackColor&&(this.fillBackColor=DefaultStyleConfiguration.fillBackColor),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillBackOpacity&&(this.fillBackOpacity=parseFloat(DefaultStyleConfiguration.fillBackOpacity)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillGradientMode&&(this.fillGradientMode=DefaultStyleConfiguration.fillGradientMode),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillAngle&&(this.fillAngle=parseFloat(DefaultStyleConfiguration.fillAngle)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillCenterOffsetX&&(this.fillCenterOffsetX=parseFloat(DefaultStyleConfiguration.fillCenterOffsetX)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillCenterOffsetY&&(this.fillCenterOffsetY=parseFloat(DefaultStyleConfiguration.fillCenterOffsetY)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillSymbolID&&(this.fillSymbolID=parseFloat(DefaultStyleConfiguration.fillSymbolID)))}},{key:"destroy",value:function(){this.lineColor=null,this.lineWidth=null,this.dotSymbolSize=null,this.lineType=null,this.defaultFlag=null,this.flagTextSize=null,this.maxScale=null,this.minScale=null,this.dotTextSpace=null,this.scaleByMap=null,this.lineOpacity=null,this.lineCap=null,this.fillColor=null,this.fillOpacity=null,this.fontColor=null,this.fontOpacity=null,this.fontSize=null,this.fontFamily=null,this.fontWeight=null,this.fontStyle=null,this.fontPercent=null,this.fontSpace=null,this.surroundLineType=null,this.surroundLineColor=null,this.surroundLineWidth=null,this.surroundLineColorOpacity=null,this.fillBackColor=null,this.fillBackOpacity=null,this.fillGradientMode=null,this.fillAngle=null,this.fillCenterOffsetX=null,this.fillCenterOffsetY=null,this.fillSymbolID=null}}]),t}();SuperMap.Plot.DefaultStyle=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TransactionInfo=e.Transaction=e.TowardNode=e.TimeWindowParameter=e.SymbolText=e.SubSymbol=e.SMLInfoStruct=e.SitDataStruct=e.RouteNode=e.Property=e.OrbitPoint=e.MapInfoStruct=e.LayerDataStruct=e.ExtendProperty=e.DefaultStyle=void 0;var n=o(80),i=o(79),l=o(78),r=o(77),a=o(76),s=o(75),u=o(74),p=o(73),c=o(72),y=o(71),h=o(70),P=o(69),f=o(68),S=o(67),d=o(66);e.DefaultStyle=n.DefaultStyle,e.ExtendProperty=i.ExtendProperty,e.LayerDataStruct=l.LayerDataStruct,e.MapInfoStruct=r.MapInfoStruct,e.OrbitPoint=a.OrbitPoint,e.Property=s.Property,e.RouteNode=u.RouteNode,e.SitDataStruct=p.SitDataStruct,e.SMLInfoStruct=c.SMLInfoStruct,e.SubSymbol=y.SubSymbol,e.SymbolText=h.SymbolText,e.TimeWindowParameter=P.TimeWindowParameter,e.TowardNode=f.TowardNode,e.Transaction=S.Transaction,e.TransactionInfo=d.TransactionInfo},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetSymbolInfoService=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),o=o||{};var n,i=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o)),l=i;return n=l.url.substr(l.url.length-1,1),l.url+="/"==n?"graphicObject.json?":"/graphicObject.json?",i.CLASS_NAME="SuperMap.GetSymbolInfoService",i}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.PlotCommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"processAsync",value:function(t){if(t){var e,o=this;e=SuperMap.GetSymbolInfoParameters.toUrlParameters(t),o.url+=e,t.dynamicToken&&(o.url+="&dynamicToken="+t.dynamicToken),"MSIE"===SuperMap.Browser.name.toUpperCase()&&(o.url=encodeURI(o.url)),o.request({method:"GET",params:null,scope:o,success:o.serviceProcessCompleted,failure:o.serviceProcessFailed})}}}]),e}();SuperMap.GetSymbolInfoService=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetSymbolInfoParameters=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.libID=e.libID,this.code=e.code,this.inputPoints=e.inputPoints?e.inputPoints:null,this.symbolRank=e.symbolRank?e.symbolRank:0,this.negativeImage=!!e.negativeImage&&e.negativeImage,this.surroundLineType=e.surroundLineType?e.surroundLineType:0,this.subSymbols=e.subSymbols?e.subSymbols:null,this.scaleValues=e.scaleValues?e.scaleValues:null,this.scalePoints=e.scalePoints?e.scalePoints:null,this.newScalePoint=e.newScalePoint?e.newScalePoint:null,this.newScalePointIndex=e.newScalePointIndex?e.newScalePointIndex:0,this.CLASS_NAME="SuperMap.GetSymbolInfoParameters"}return n(t,[{key:"destroy",value:function(){var t=this;t.libID=null,t.code=null,t.inputPoints=null,t.symbolRank=null,t.negativeImage=null,t.surroundLineType=null,t.subSymbols=null,t.scaleValues=null,t.scalePoints=null,t.newScalePoint=null,t.newScalePointIndex=null}}],[{key:"toUrlParameters",value:function(t){if(t&&null!==t.libID&&null!==t.code){var e="libID="+t.libID+"&code="+t.code;if(t.inputPoints&&null!==t.inputPoints&&0!==t.inputPoints.length){e+="&inputPoints=[";for(var o=0;o<t.inputPoints.length;o++)o===t.inputPoints.length-1?e+='{"x":'+t.inputPoints[o].x+', "y":'+t.inputPoints[o].y+"}]":e+='{"x":'+t.inputPoints[o].x+', "y":'+t.inputPoints[o].y+"},"}if(t.scalePoints&&null!==t.scalePoints&&0!==t.scalePoints.length){e+="&scalePoints=[";for(var n=0;n<t.scalePoints.length;n++)n===t.scalePoints.length-1?e+='{"x":'+t.scalePoints[n].x+', "y":'+t.scalePoints[n].y+"}]":e+='{"x":'+t.scalePoints[n].x+', "y":'+t.scalePoints[n].y+"},"}if(t.scaleValues&&null!==t.scaleValues&&0!==t.scaleValues.length){e+="&scaleValues=[";for(var i=0;i<t.scaleValues.length;i++)i===t.scaleValues.length-1?e+=t.scaleValues[i]+"]":e+=t.scaleValues[i]+","}if(t.subSymbols&&null!==t.subSymbols&&0!==t.subSymbols.length){e+="&subSymbols=[";for(var l=0;l<t.subSymbols.length;l++)l===t.subSymbols.length-1?e+=t.subSymbols[l].code+"]":e+=t.subSymbols[l].code+","}return t.newScalePoint&&null!==t.newScalePoint&&(e+='&newScalePoint={"x":'+t.newScalePoint.x+', "y":'+t.newScalePoint.y+"}"),t.newScalePointIndex&&null!==t.newScalePointIndex&&(e+="&newScalePointIndex="+t.newScalePointIndex),t.symbolRank&&null!==t.symbolRank&&(e+="&symbolRank="+t.symbolRank),t.negativeImage&&null!==t.negativeImage&&(e+="&negativeImage="+t.negativeImage),t.surroundLineType&&null!==t.surroundLineType&&(e+="&surroundLineType="+t.surroundLineType),e}}}]),t}();SuperMap.GetSymbolInfoParameters=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetSMLInfosService=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o));(o=o||{})&&SuperMap.Util.extend(n,o);var i,l=n;return l.events=new SuperMap.Events(l,null,l.EVENT_TYPES,!0),l.eventListeners instanceof Object&&l.events.on(l.eventListeners),i=l.url.substr(l.url.length-1,1),l.url+="/"==i?"smlInfos":"/smlInfos",l.url+=".json",n.CLASS_NAME="SuperMap.GetSMLInfosService",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.PlotCommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"processAsync",value:function(t){if(t){var e=this;e.url+=SuperMap.GetSMLInfosParameters.toUrlParameters(t),e.request({method:"GET",data:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}}]),e}();SuperMap.GetSMLInfosService=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetSMLInfosParameters=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.start=e.start,this.count=e.count?e.count:null,this.CLASS_NAME="SuperMap.GetSMLInfosParameters"}return n(t,[{key:"destroy",value:function(){this.start=null,this.count=null}}],[{key:"toUrlParameters",value:function(t){if(t){var e="";return null!==t.start&&(e="?start="+t.start),!t.count||null===t.count&&0===t.count||(e+="&count="+t.count),e}}}]),t}();SuperMap.GetSMLInfosParameters=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetLibInfoService=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o));(o=o||{})&&SuperMap.Util.extend(n,o);var i,l=n;return i=l.url.substr(l.url.length-1,1),l.url+="/"==i?"symbolLibs/":"/symbolLibs/",n.CLASS_NAME="SuperMap.GetLibInfoService",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.PlotCommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"processAsync",value:function(t){var e=this;t&&null!==t.libID&&(e.libID=t.libID),e.url+=e.libID,e.url+=".json",e.request({method:"GET",data:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}]),e}();SuperMap.GetLibInfoService=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetLibInfoParameter=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.libID=e.libID,this.CLASS_NAME="SuperMap.GetLibInfoParameter"}return n(t,[{key:"destroy",value:function(){this.libID=null}}]),t}();SuperMap.GetLibInfoParameter=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetLibIDsService=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o));(o=o||{})&&SuperMap.Util.extend(n,o);var i,l=n;return i=l.url.substr(l.url.length-1,1),l.url+="/"==i?"symbolLibs.json?":"/symbolLibs.json?",n.CLASS_NAME="SuperMap.GetLibIDsService",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.PlotCommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"processAsync",value:function(){this.request({method:"GET",data:null,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}}]),e}();SuperMap.GetLibIDsService=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.EditSmlFileService=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o));(o=o||{})&&SuperMap.Util.extend(n,o);var i=n;return i.events=new SuperMap.Events(i,null,i.EVENT_TYPES,!0),i.eventListeners instanceof Object&&i.events.on(i.eventListeners),n.CLASS_NAME="SuperMap.EditSmlFileService",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.PlotCommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"processAsync",value:function(t){if(t){var e=this,o=t.method,n=e.url.substr(e.url.length-1,1);e.url+="/"==n?"smlInfos/":"/smlInfos/",e.url+=t.smlFileName+".json",e.url+="?isCover="+t.isCover;var i=null;t.method&&"POST"===t.method&&(i=SuperMap.EditSmlFileParameters.toJsonParameters(t)),e.request({method:o,data:i,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}}]),e}();SuperMap.EditSmlFileService=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.EditSmlFileParameters=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.method=e.method?e.method:"POST",this.sitData=e.sitData?e.sitData:null,this.smlFileName=e.smlFileName?e.smlFileName:"",this.isCover=!!e.isCover&&e.isCover,this.CLASS_NAME="SuperMap.EditSmlFileParameters"}return n(t,[{key:"destroy",value:function(){this.method="POST",this.sitData=null,this.isCover=!1,this.smlFileName=""}}],[{key:"toJsonParameters",value:function(t){if(t)return SuperMap.Plot.PlottingUtil.toJSON(t.sitData)}}]),t}();SuperMap.EditSmlFileParameters=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.PlotCommonServiceBase=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o));return n.CLASS_NAME="SuperMap.PlotCommonServiceBase",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.CommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"_commit",value:function(t){"POST"!==t.method&&"PUT"!==t.method||(t.params&&(t.url=SuperMap.Util.urlAppend(t.url,SuperMap.Util.getParameterString(t.params||{}))),t.params=t.data),SuperMap.FetchRequest.commit(t.method,t.url,t.params,{headers:t.headers,withCredentials:t.withCredentials,timeout:t.async?0:null,proxy:t.proxy}).then(function(t){return t.text()}).then(function(e){var o=(new SuperMap.Format.JSON).read(e);(o||(o={error:e}),o.error)?(t.scope?SuperMap.Function.bind(t.failure,t.scope):t.failure)(o.error):(o.succeed=void 0==o.succeed||o.succeed,(t.scope?SuperMap.Function.bind(t.success,t.scope):t.success)(o))})}}]),e}();SuperMap.PlotCommonServiceBase=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GetSymbolInfoService=e.GetSymbolInfoParameters=e.GetSMLInfosService=e.GetSMLInfosParameters=e.GetLibInfoService=e.GetLibInfoParameter=e.GetLibIDsService=e.EditSmlFileService=e.EditSmlFileParameters=e.PlotCommonServiceBase=void 0;var n=o(91),i=o(90),l=o(89),r=o(88),a=o(87),s=o(86),u=o(85),p=o(84),c=o(83),y=o(82);e.PlotCommonServiceBase=n.PlotCommonServiceBase,e.EditSmlFileParameters=i.EditSmlFileParameters,e.EditSmlFileService=l.EditSmlFileService,e.GetLibIDsService=r.GetLibIDsService,e.GetLibInfoParameter=a.GetLibInfoParameter,e.GetLibInfoService=s.GetLibInfoService,e.GetSMLInfosParameters=u.GetSMLInfosParameters,e.GetSMLInfosService=p.GetSMLInfosService,e.GetSymbolInfoParameters=c.GetSymbolInfoParameters,e.GetSymbolInfoService=y.GetSymbolInfoService},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=SuperMap.Plot.GOAnimationType={ANIMATION_UNKNOWN:-1,ANIMATION_WAY:0,ANIMATION_BLINK:1,ANIMATION_ATTRIBUTE:2,ANIMATION_SHOW:3,ANIMATION_ROTATE:4,ANIMATION_SCALE:5,ANIMATION_GROW:6};e.GOAnimationType=n;var i=SuperMap.Plot.BlinkAnimationBlinkStyle={Blink_Frequency:0,Blink_Number:1};e.BlinkAnimationBlinkStyle=i;var l=SuperMap.Plot.BlinkAnimationReplaceStyle={Replace_NoColor:0,Replace_Color:1};e.BlinkAnimationReplaceStyle=l;var r=SuperMap.Plot.RotateDirection={ClockWise:0,AntiClockWise:1};e.RotateDirection=r;var a=SuperMap.Plot.WayPathType={POLYLINE:0,CURVE:1};e.WayPathType=a;var s=SuperMap.Plot.GOAnimationState={UNKNOWN:0,PLAYING:1,PAUSE:2,STOP:3,RESET:4};e.GOAnimationState=s},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GOAnimationState=e.WayPathType=e.RotateDirection=e.BlinkAnimationReplaceStyle=e.BlinkAnimationBlinkStyle=e.GOAnimationType=void 0;var n=o(93);e.GOAnimationType=n.GOAnimationType,e.BlinkAnimationBlinkStyle=n.BlinkAnimationBlinkStyle,e.BlinkAnimationReplaceStyle=n.BlinkAnimationReplaceStyle,e.RotateDirection=n.RotateDirection,e.WayPathType=n.WayPathType,e.GOAnimationState=n.GOAnimationState},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.Event=SuperMap.Plot.Event=SuperMap.Plot.Event||{};SuperMap.Plot.Event.beforefeatureadded="beforefeatureadded",SuperMap.Plot.Event.featureadded="featureadded",SuperMap.Plot.Event.beforefeaturesselected="beforefeaturesselected",SuperMap.Plot.Event.featuresselected="featuresselected",SuperMap.Plot.Event.beforefeaturesunselected="beforefeaturesunselected",SuperMap.Plot.Event.featuresunselected="featuresunselected",SuperMap.Plot.Event.beforefeaturesmodified="beforefeaturesmodified",SuperMap.Plot.Event.featuresmodified="featuresmodified",SuperMap.Plot.Event.initializecompleted="initializecompleted",SuperMap.Plot.Event.cachecompleted="cachecompleted",SuperMap.Plot.Event.reseteditmarkersvalues="reseteditmarkersvalues",SuperMap.Plot.Event.reseteditmarkers="reseteditmarkers"},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=o(95);e.Event=n.Event},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.ArrowTailType=SuperMap.Plot.ArrowTailType={ARROWTAIL_NONE:0,ARROWTAIL_LINE:1,ARROWTAIL_CURVE:2,ARROWTAIL_COATTAIL:3,ARROWTAIL_COATTAIL_POLYBODY:4},e.ArrowHeadType=SuperMap.Plot.ArrowHeadType={ARROWHEAD_POLYLINE:0,ARROWHEAD_TRIANGLE:1,ARROWHEAD_COATTAIL:2,ARROWHEAD_TRIANGLE_SOLID:3,ARROWHEAD_WITH_EAR:4,ARROWHEAD_WITHOUT_EAR:5,ARROWHEAD_COATTAIL_HOLLOW:6},e.ArrowBodyType=SuperMap.Plot.ArrowBodyType={ARROWBODY_POLYLINE:0,ARROWBODY_POLYBEZIER:1,ARROWBODY_PARALLEL:2,ARROWBODY_TRAPEZOID:3,ARROWBODY_MULTIPOLYBEZIER:4,ARROWBODY_COATTAIL:5},e.SymbolType=SuperMap.Plot.SymbolType={DOTSYMBOL:1,ALGOSYMBOL:2,TEXTSYMBOL:34,ELLIPSESYMBOL:31,CIRCLESYMBOL:29,RECTANGLESYMBOL:26,ARBITRARYPOLYGONSYMBOL:32,POLYLINESYMBOL:24,PARALLELOGRAM:28,ARCSYMBOL:44,REGULARPOLYGON:410,CHORDSYMBOL:370,PIESYMBOL:380,KIDNEY:390,POLYBEZIERSYMBOL:590,PARALLELLINE:48,BRACESYMBOL:400,ANNOFRAMESYMBOL:320,ANNOFRAMESYMBOLM:321,TRAPEZOIDSYMBOL:350,POLYBEZIERCLOSESYMBOL:360,GROUPOBJECT:1e3,LINERELATION:1001,INTERFERENCEBEAM:1002,POLYGONREGION:1003,ARCREGION:1004,AIRROUTE:1005,NAVYROUTE:1006,MISSILEROUTE:1007,NAVYDEPLOYMENT:1008,AIRDEPLOYMENT:1009,SATELLITE:1010,SATELLITETIMEWINDOWS:1011,SYMBOLTEXT:1012,RUNWAY:1013,CURVEEIGHT:1014,ROUTENODE:1015,ARROWLINE:1016,PATHTEXT:1017,LITERATESIGN:1018,CONCENTRICCIRCLE:1019,FLAGGROUP:1020,SYMBOLTEXT1:1021,COMBINATIONALCIRCLE:1022,FREECURVE:1023,SYMBOLTEXTBOX:1024,NODECHAIN:1025,LINEMARKING:1026,AVOIDREGION:1027,WIRE:1028},e.LineRelationType=SuperMap.Plot.LineRelationType={SOLID:0,DASH:1,ARROW:2},e.AlgoSurroundLineType=SuperMap.Plot.AlgoSurroundLineType={NONE:0,INNER:1,OUT:2,ALL:3},e.RouteNodeType=SuperMap.Plot.RouteNodeType={RENDEZVOUS:"RENDEZVOUS",EXPANDING:"EXPANDING",VOLLEY:"VOLLEY",STANDBY:"STANDBY",SUPPLY:"SUPPLY",TAKEOFF:"TAKEOFF",INITIAL:"INITIAL",VISUALINITAL:"VISUALINITAL",LANCH:"LANCH",TURNING:"TURNING",AIMING:"AIMING",COMMONROUTE:"COMMONROUTE",WEAPONLAUNCH:"WEAPONLAUNCH",TARGET:"TARGET",ATTACK:"ATTACK",SUPPRESS:"SUPPRESS",EIGHTSPIRAL:"EIGHTSPIRAL",HAPPYVALLEY:"HAPPYVALLEY"},e.RelLineText=SuperMap.Plot.RelLineText={ONLINE:0,ONLEFTLINE:1,ONRIGHTLINE:2,ONBOTHLINE:3},e.RadiusLineType=SuperMap.Plot.RadiusLineType={NONE:0,SOLID:1,ARROW:2},e.AnnoPosition=SuperMap.Plot.AnnoPosition={LEFTTOP:0,LEFTBOTTOM:1,RIGHTTOP:2,RIGHTBOTTOM:3,TOP:4,BOTTOM:5,LEFT:6,RIGHT:7},e.ArrowLineType=SuperMap.Plot.ArrowLineType={DOUBLELINE:0,TRIANGLESOLID:1,NONE:2},e.TextBoxType=SuperMap.Plot.TextBoxType={WITHTIPBOX:0,RECTBOX:1,LINEBOX:2,NONEBOX:3},e.PositionOffsetType=SuperMap.Plot.PositionOffsetType={LINE:0,GRADIENTLINE:1},e.AlignType=SuperMap.Plot.AlignType={LEFT:0,RIGHT:1,UP:2,DOWN:3,VERTICALCENTER:4,HORIZONTALCENTER:5},e.EditMode=SuperMap.Plot.EditMode={ADDCONTROLPOINT:0,EDITCONTROLPOINT:1,EDITCIRCUMRECTANGLE:2,REMOVECONTROLPOINT:3};SuperMap.Plot.EqualLargeType={WIDTH:0,HEIGHT:1,SAME:2},SuperMap.Plot.UniformDistributionType={LEVEL:0,VERTICAL:1};e.TransactionType=SuperMap.Plot.TransactionType={CREATE:0,EDIT:1,REMOVE:2}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.SuperMap=window.SuperMap=window.SuperMap||{};e.Plot=n.Plot=n.Plot||{}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CalculateSVGGradient=e.CalculateCanvasGradient=e.TransactionInfo=e.Transaction=e.TowardNode=e.TimeWindowParameter=e.SymbolText=e.SubSymbol=e.SMLInfoStruct=e.SitDataStruct=e.RouteNode=e.Property=e.OrbitPoint=e.MapInfoStruct=e.LayerDataStruct=e.ExtendProperty=e.DefaultStyle=e.GetSymbolInfoService=e.GetSymbolInfoParameters=e.GetSMLInfosService=e.GetSMLInfosParameters=e.GetLibInfoService=e.GetLibInfoParameter=e.GetLibIDsService=e.EditSmlFileService=e.EditSmlFileParameters=e.PlotCommonServiceBase=e.GOAnimationType=e.Event=e.EditMode=e.AlignType=e.PositionOffsetType=e.TextBoxType=e.ArrowLineType=e.AnnoPosition=e.RadiusLineType=e.RelLineText=e.RouteNodeType=e.AlgoSurroundLineType=e.LineRelationType=e.SymbolType=e.Plot=void 0;var n=o(98),i=o(97),l=o(96),r=o(94),a=o(92),s=o(81),u=o(65);e.Plot=n.Plot,e.SymbolType=i.SymbolType,e.LineRelationType=i.LineRelationType,e.AlgoSurroundLineType=i.AlgoSurroundLineType,e.RouteNodeType=i.RouteNodeType,e.RelLineText=i.RelLineText,e.RadiusLineType=i.RadiusLineType,e.AnnoPosition=i.AnnoPosition,e.ArrowLineType=i.ArrowLineType,e.TextBoxType=i.TextBoxType,e.PositionOffsetType=i.PositionOffsetType,e.AlignType=i.AlignType,e.EditMode=i.EditMode,e.Event=l.Event,e.GOAnimationType=r.GOAnimationType,e.PlotCommonServiceBase=a.PlotCommonServiceBase,e.EditSmlFileParameters=a.EditSmlFileParameters,e.EditSmlFileService=a.EditSmlFileService,e.GetLibIDsService=a.GetLibIDsService,e.GetLibInfoParameter=a.GetLibInfoParameter,e.GetLibInfoService=a.GetLibInfoService,e.GetSMLInfosParameters=a.GetSMLInfosParameters,e.GetSMLInfosService=a.GetSMLInfosService,e.GetSymbolInfoParameters=a.GetSymbolInfoParameters,e.GetSymbolInfoService=a.GetSymbolInfoService,e.DefaultStyle=s.DefaultStyle,e.ExtendProperty=s.ExtendProperty,e.LayerDataStruct=s.LayerDataStruct,e.MapInfoStruct=s.MapInfoStruct,e.OrbitPoint=s.OrbitPoint,e.Property=s.Property,e.RouteNode=s.RouteNode,e.SitDataStruct=s.SitDataStruct,e.SMLInfoStruct=s.SMLInfoStruct,e.SubSymbol=s.SubSymbol,e.SymbolText=s.SymbolText,e.TimeWindowParameter=s.TimeWindowParameter,e.TowardNode=s.TowardNode,e.Transaction=s.Transaction,e.TransactionInfo=s.TransactionInfo,e.CalculateCanvasGradient=u.CalculateCanvasGradient,e.CalculateSVGGradient=u.CalculateSVGGradient},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Format=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0),l=o(1);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var r=e.Format=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=null,this.keepData=!1,l.Util.extend(this,e),this.options=e,this.CLASS_NAME="SuperMap.Format"}return n(t,[{key:"destroy",value:function(){}},{key:"read",value:function(t){}},{key:"write",value:function(t){}}]),t}();i.SuperMap.Format=r},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JSONFormat=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),l=o(0),r=o(100);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
-var a=e.JSONFormat=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.indent="    ",o.space=" ",o.newline="\n",o.level=0,o.pretty=!1,o.nativeJSON=!(!window.JSON||"function"!=typeof JSON.parse||"function"!=typeof JSON.stringify),o.CLASS_NAME="SuperMap.Format.JSON",o.serialize={object:function(t){if(null==t)return"null";if(t.constructor===Date)return this.serialize.date.apply(this,[t]);if(t.constructor===Array)return this.serialize.array.apply(this,[t]);var e,o,n,i=["{"];this.level+=1;var l=!1;for(e in t)t.hasOwnProperty(e)&&(o=this.write.apply(this,[e,this.pretty]),n=this.write.apply(this,[t[e],this.pretty]),null!=o&&null!=n&&(l&&i.push(","),i.push(this.writeNewline(),this.writeIndent(),o,":",this.writeSpace(),n),l=!0));return this.level-=1,i.push(this.writeNewline(),this.writeIndent(),"}"),i.join("")},array:function(t){var e,o=["["];this.level+=1;for(var n=0,i=t.length;n<i;++n)null!=(e=this.write.apply(this,[t[n],this.pretty]))&&(n>0&&o.push(","),o.push(this.writeNewline(),this.writeIndent(),e));return this.level-=1,o.push(this.writeNewline(),this.writeIndent(),"]"),o.join("")},string:function(t){var e={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return/["\\\x00-\x1f]/.test(t)?'"'+t.replace(/([\x00-\x1f\\"])/g,function(t,o){var n=e[o];return n||(n=o.charCodeAt(),"\\u00"+Math.floor(n/16).toString(16)+(n%16).toString(16))})+'"':'"'+t+'"'},number:function(t){return isFinite(t)?String(t):"null"},boolean:function(t){return String(t)},date:function(t){function e(t){return t<10?"0"+t:t}return'"'+t.getFullYear()+"-"+e(t.getMonth()+1)+"-"+e(t.getDate())+"T"+e(t.getHours())+":"+e(t.getMinutes())+":"+e(t.getSeconds())+'"'}},o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,r.Format),i(e,[{key:"read",value:function(t,e){var o;if(this.nativeJSON)try{o=JSON.parse(t,e)}catch(t){}return this.keepData&&(this.data=o),o}},{key:"write",value:function(t,e){this.pretty=!!e;var o=null,i=void 0===t?"undefined":n(t);if(this.serialize[i])try{o=!this.pretty&&this.nativeJSON?JSON.stringify(t):this.serialize[i].apply(this,[t])}catch(t){}return o}},{key:"writeIndent",value:function(){var t=[];if(this.pretty)for(var e=0;e<this.level;++e)t.push(this.indent);return t.join("")}},{key:"writeNewline",value:function(){return this.pretty?this.newline:""}},{key:"writeSpace",value:function(){return this.pretty?this.space:""}}]),e}();l.SuperMap.Format.JSON=a},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GetFeatureMode=e.AggregationQueryBuilderType=e.AggregationType=e.TopologyValidatorRule=e.SummaryType=e.StatisticAnalystMode=e.AnalystSizeUnit=e.AnalystAreaUnit=e.ClipAnalystMode=e.ChartType=e.ClientType=e.Exponent=e.VariogramMode=e.InterpolationAlgorithmType=e.SearchMode=e.PixelFormat=e.StatisticMode=e.UGCLayerType=e.LayerType=e.ColorSpaceType=e.GridType=e.TransferPreference=e.TransferTactic=e.EditType=e.DataReturnMode=e.SurfaceAnalystMethod=e.SmoothMethod=e.OutputType=e.OverlayOperationType=e.BufferEndType=e.TurnType=e.SupplyCenterType=e.SideType=e.DirectionType=e.LabelOverLengthMode=e.LabelBackShape=e.AlongLineDirection=e.FillGradientMode=e.TextAlignment=e.ColorGradientType=e.ThemeType=e.RangeMode=e.GraduatedMode=e.GraphAxesTextDisplayMode=e.ThemeGraphType=e.ThemeGraphTextFormat=e.EngineType=e.BufferRadiusUnit=e.Unit=e.MeasureMode=e.SpatialRelationType=e.SpatialQueryMode=e.JoinType=e.QueryOption=e.GeometryType=e.ServerType=e.DataFormat=void 0;var n=o(0),i=n.SuperMap.DataFormat={GEOJSON:"GEOJSON",ISERVER:"ISERVER"};
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-    * This program are made available under the terms of the Apache License, Version 2.0
-    * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
-e.DataFormat=i;var l=n.SuperMap.ServerType={ISERVER:"ISERVER",IPORTAL:"IPORTAL",ONLINE:"ONLINE"};e.ServerType=l;var r=n.SuperMap.GeometryType={LINE:"LINE",LINEM:"LINEM",POINT:"POINT",REGION:"REGION",ELLIPSE:"ELLIPSE",CIRCLE:"CIRCLE",TEXT:"TEXT",RECTANGLE:"RECTANGLE",UNKNOWN:"UNKNOWN"};e.GeometryType=r;var a=n.SuperMap.QueryOption={ATTRIBUTE:"ATTRIBUTE",ATTRIBUTEANDGEOMETRY:"ATTRIBUTEANDGEOMETRY",GEOMETRY:"GEOMETRY"};e.QueryOption=a;var s=n.SuperMap.JoinType={INNERJOIN:"INNERJOIN",LEFTJOIN:"LEFTJOIN"};e.JoinType=s;var u=n.SuperMap.SpatialQueryMode={CONTAIN:"CONTAIN",CROSS:"CROSS",DISJOINT:"DISJOINT",IDENTITY:"IDENTITY",INTERSECT:"INTERSECT",NONE:"NONE",OVERLAP:"OVERLAP",TOUCH:"TOUCH",WITHIN:"WITHIN"};e.SpatialQueryMode=u;var p=n.SuperMap.SpatialRelationType={CONTAIN:"CONTAIN",INTERSECT:"INTERSECT",WITHIN:"WITHIN"};e.SpatialRelationType=p;var c=n.SuperMap.MeasureMode={DISTANCE:"DISTANCE",AREA:"AREA"};e.MeasureMode=c;var y=n.SuperMap.Unit={METER:"METER",KILOMETER:"KILOMETER",MILE:"MILE",YARD:"YARD",DEGREE:"DEGREE",MILLIMETER:"MILLIMETER",CENTIMETER:"CENTIMETER",INCH:"INCH",DECIMETER:"DECIMETER",FOOT:"FOOT",SECOND:"SECOND",MINUTE:"MINUTE",RADIAN:"RADIAN"};e.Unit=y;var h=n.SuperMap.BufferRadiusUnit={CENTIMETER:"CENTIMETER",DECIMETER:"DECIMETER",FOOT:"FOOT",INCH:"INCH",KILOMETER:"KILOMETER",METER:"METER",MILE:"MILE",MILLIMETER:"MILLIMETER",YARD:"YARD"};e.BufferRadiusUnit=h;var P=n.SuperMap.EngineType={IMAGEPLUGINS:"IMAGEPLUGINS",OGC:"OGC",ORACLEPLUS:"ORACLEPLUS",SDBPLUS:"SDBPLUS",SQLPLUS:"SQLPLUS",UDB:"UDB"};e.EngineType=P;var f=n.SuperMap.ThemeGraphTextFormat={CAPTION:"CAPTION",CAPTION_PERCENT:"CAPTION_PERCENT",CAPTION_VALUE:"CAPTION_VALUE",PERCENT:"PERCENT",VALUE:"VALUE"};e.ThemeGraphTextFormat=f;var S=n.SuperMap.ThemeGraphType={AREA:"AREA",BAR:"BAR",BAR3D:"BAR3D",LINE:"LINE",PIE:"PIE",PIE3D:"PIE3D",POINT:"POINT",RING:"RING",ROSE:"ROSE",ROSE3D:"ROSE3D",STACK_BAR:"STACK_BAR",STACK_BAR3D:"STACK_BAR3D",STEP:"STEP"};e.ThemeGraphType=S;var d=n.SuperMap.GraphAxesTextDisplayMode={ALL:"ALL",NONE:"NONE",YAXES:"YAXES"};e.GraphAxesTextDisplayMode=d;var g=n.SuperMap.GraduatedMode={CONSTANT:"CONSTANT",LOGARITHM:"LOGARITHM",SQUAREROOT:"SQUAREROOT"};e.GraduatedMode=g;var M=n.SuperMap.RangeMode={CUSTOMINTERVAL:"CUSTOMINTERVAL",EQUALINTERVAL:"EQUALINTERVAL",LOGARITHM:"LOGARITHM",QUANTILE:"QUANTILE",SQUAREROOT:"SQUAREROOT",STDDEVIATION:"STDDEVIATION"};e.RangeMode=M;var m=n.SuperMap.ThemeType={DOTDENSITY:"DOTDENSITY",GRADUATEDSYMBOL:"GRADUATEDSYMBOL",GRAPH:"GRAPH",LABEL:"LABEL",RANGE:"RANGE",UNIQUE:"UNIQUE"};e.ThemeType=m;var v=n.SuperMap.ColorGradientType={BLACK_WHITE:"BLACKWHITE",BLUE_BLACK:"BLUEBLACK",BLUE_RED:"BLUERED",BLUE_WHITE:"BLUEWHITE",CYAN_BLACK:"CYANBLACK",CYAN_BLUE:"CYANBLUE",CYAN_GREEN:"CYANGREEN",CYAN_WHITE:"CYANWHITE",GREEN_BLACK:"GREENBLACK",GREEN_BLUE:"GREENBLUE",GREEN_ORANGE_VIOLET:"GREENORANGEVIOLET",GREEN_RED:"GREENRED",GREEN_WHITE:"GREENWHITE",PINK_BLACK:"PINKBLACK",PINK_BLUE:"PINKBLUE",PINK_RED:"PINKRED",PINK_WHITE:"PINKWHITE",RAIN_BOW:"RAINBOW",RED_BLACK:"REDBLACK",RED_WHITE:"REDWHITE",SPECTRUM:"SPECTRUM",TERRAIN:"TERRAIN",YELLOW_BLACK:"YELLOWBLACK",YELLOW_BLUE:"YELLOWBLUE",YELLOW_GREEN:"YELLOWGREEN",YELLOW_RED:"YELLOWRED",YELLOW_WHITE:"YELLOWWHITE"};e.ColorGradientType=v;var b=n.SuperMap.TextAlignment={TOPLEFT:"TOPLEFT",TOPCENTER:"TOPCENTER",TOPRIGHT:"TOPRIGHT",BASELINELEFT:"BASELINELEFT",BASELINECENTER:"BASELINECENTER",BASELINERIGHT:"BASELINERIGHT",BOTTOMLEFT:"BOTTOMLEFT",BOTTOMCENTER:"BOTTOMCENTER",BOTTOMRIGHT:"BOTTOMRIGHT",MIDDLELEFT:"MIDDLELEFT",MIDDLECENTER:"MIDDLECENTER",MIDDLERIGHT:"MIDDLERIGHT"};e.TextAlignment=b;var T=n.SuperMap.FillGradientMode={NONE:"NONE",LINEAR:"LINEAR",RADIAL:"RADIAL",CONICAL:"CONICAL",SQUARE:"SQUARE"};e.FillGradientMode=T;var A=n.SuperMap.AlongLineDirection={NORMAL:"ALONG_LINE_NORMAL",LB_TO_RT:"LEFT_BOTTOM_TO_RIGHT_TOP",LT_TO_RB:"LEFT_TOP_TO_RIGHT_BOTTOM",RB_TO_LT:"RIGHT_BOTTOM_TO_LEFT_TOP",RT_TO_LB:"RIGHT_TOP_TO_LEFT_BOTTOM"};e.AlongLineDirection=A;var L=n.SuperMap.LabelBackShape={DIAMOND:"DIAMOND",ELLIPSE:"ELLIPSE",MARKER:"MARKER",NONE:"NONE",RECT:"RECT",ROUNDRECT:"ROUNDRECT",TRIANGLE:"TRIANGLE"};e.LabelBackShape=L;var O=n.SuperMap.LabelOverLengthMode={NEWLINE:"NEWLINE",NONE:"NONE",OMIT:"OMIT"};e.LabelOverLengthMode=O;var E=n.SuperMap.DirectionType={EAST:"EAST",NONE:"NONE",NORTH:"NORTH",SOURTH:"SOURTH",WEST:"WEST"};e.DirectionType=E;var x=n.SuperMap.SideType={LEFT:"LEFT",MIDDLE:"MIDDLE",NONE:"NONE",RIGHT:"RIGHT"};e.SideType=x;var w=n.SuperMap.SupplyCenterType={FIXEDCENTER:"FIXEDCENTER",NULL:"NULL",OPTIONALCENTER:"OPTIONALCENTER"};e.SupplyCenterType=w;var I=n.SuperMap.TurnType={AHEAD:"AHEAD",BACK:"BACK",END:"END",LEFT:"LEFT",NONE:"NONE",RIGHT:"RIGHT"};e.TurnType=I;var C=n.SuperMap.BufferEndType={FLAT:"FLAT",ROUND:"ROUND"};e.BufferEndType=C;var R=n.SuperMap.OverlayOperationType={CLIP:"CLIP",ERASE:"ERASE",IDENTITY:"IDENTITY",INTERSECT:"INTERSECT",UNION:"UNION",UPDATE:"UPDATE",XOR:"XOR"};e.OverlayOperationType=R;var _=n.SuperMap.OutputType={INDEXEDHDFS:"INDEXEDHDFS",UDB:"UDB",MONGODB:"MONGODB",PG:"PG"};e.OutputType=_;var U=n.SuperMap.SmoothMethod={BSPLINE:"BSPLINE",POLISH:"POLISH"};e.SmoothMethod=U;var N=n.SuperMap.SurfaceAnalystMethod={ISOLINE:"ISOLINE",ISOREGION:"ISOREGION"};e.SurfaceAnalystMethod=N;var D=n.SuperMap.DataReturnMode={DATASET_AND_RECORDSET:"DATASET_AND_RECORDSET",DATASET_ONLY:"DATASET_ONLY",RECORDSET_ONLY:"RECORDSET_ONLY"};e.DataReturnMode=D;var B=n.SuperMap.EditType={ADD:"add",UPDATE:"update",DELETE:"delete"};e.EditType=B;var G=n.SuperMap.TransferTactic={LESS_TIME:"LESS_TIME",LESS_TRANSFER:"LESS_TRANSFER",LESS_WALK:"LESS_WALK",MIN_DISTANCE:"MIN_DISTANCE"};e.TransferTactic=G;var k=n.SuperMap.TransferPreference={BUS:"BUS",SUBWAY:"SUBWAY",NO_SUBWAY:"NO_SUBWAY",NONE:"NONE"};e.TransferPreference=k;var V=n.SuperMap.GridType={CROSS:"CROSS",GRID:"GRID",POINT:"POINT"};e.GridType=V;var Y=n.SuperMap.ColorSpaceType={CMYK:"CMYK",RGB:"RGB"};e.ColorSpaceType=Y;var F=n.SuperMap.LayerType={UGC:"UGC",WMS:"WMS",WFS:"WFS",CUSTOM:"CUSTOM"};e.LayerType=F;var j=n.SuperMap.UGCLayerType={THEME:"THEME",VECTOR:"VECTOR",GRID:"GRID",IMAGE:"IMAGE"};e.UGCLayerType=j;var z=n.SuperMap.StatisticMode={AVERAGE:"AVERAGE",MAX:"MAX",MIN:"MIN",STDDEVIATION:"STDDEVIATION",SUM:"SUM",VARIANCE:"VARIANCE"};e.StatisticMode=z;var W=n.SuperMap.PixelFormat={BIT16:"BIT16",BIT32:"BIT32",BIT64:"BIT64",SINGLE:"SINGLE",DOUBLE:"DOUBLE",UBIT1:"UBIT1",UBIT4:"UBIT4",UBIT8:"UBIT8",UBIT24:"UBIT24",UBIT32:"UBIT32"};e.PixelFormat=W;var H=n.SuperMap.SearchMode={KDTREE_FIXED_COUNT:"KDTREE_FIXED_COUNT",KDTREE_FIXED_RADIUS:"KDTREE_FIXED_RADIUS",NONE:"NONE",QUADTREE:"QUADTREE"};e.SearchMode=H;var q=n.SuperMap.InterpolationAlgorithmType={KRIGING:"KRIGING",SimpleKriging:"SimpleKriging",UniversalKriging:"UniversalKriging"};e.InterpolationAlgorithmType=q;var J=n.SuperMap.VariogramMode={EXPONENTIAL:"EXPONENTIAL",GAUSSIAN:"GAUSSIAN",SPHERICAL:"SPHERICAL"};e.VariogramMode=J;var X=n.SuperMap.Exponent={EXP1:"EXP1",EXP2:"EXP2"};e.Exponent=X;var K=n.SuperMap.ClientType={IP:"IP",REFERER:"Referer",REQUESTIP:"RequestIP",NONE:"NONE",SERVER:"SERVER",WEB:"WEB"};e.ClientType=K;var Q=n.SuperMap.ChartType={BAR:"Bar",BAR3D:"Bar3D",CIRCLE:"Circle",PIE:"Pie",POINT:"Point",LINE:"Line",RING:"Ring"};e.ChartType=Q;var Z=n.SuperMap.ClipAnalystMode={CLIP:"clip",INTERSECT:"intersect"};e.ClipAnalystMode=Z;var $=n.SuperMap.AnalystAreaUnit={SQUAREMETER:"SquareMeter",SQUAREKILOMETER:"SquareKiloMeter",HECTARE:"Hectare",ARE:"Are",ACRE:"Acre",SQUAREFOOT:"SquareFoot",SQUAREYARD:"SquareYard",SQUAREMILE:"SquareMile"};e.AnalystAreaUnit=$;var tt=n.SuperMap.AnalystSizeUnit={METER:"Meter",KILOMETER:"Kilometer",YARD:"Yard",FOOT:"Foot",MILE:"Mile"};e.AnalystSizeUnit=tt;var et=n.SuperMap.StatisticAnalystMode={MAX:"max",MIN:"min",AVERAGE:"average",SUM:"sum",VARIANCE:"variance",STDDEVIATION:"stdDeviation"};e.StatisticAnalystMode=et;var ot=n.SuperMap.SummaryType={SUMMARYMESH:"SUMMARYMESH",SUMMARYREGION:"SUMMARYREGION"};e.SummaryType=ot;var nt=n.SuperMap.TopologyValidatorRule={REGIONNOOVERLAP:"REGIONNOOVERLAP",REGIONNOOVERLAPWITH:"REGIONNOOVERLAPWITH",REGIONCONTAINEDBYREGION:"REGIONCONTAINEDBYREGION",REGIONCOVEREDBYREGION:"REGIONCOVEREDBYREGION",LINENOOVERLAP:"LINENOOVERLAP",LINENOOVERLAPWITH:"LINENOOVERLAPWITH",POINTNOIDENTICAL:"POINTNOIDENTICAL"};e.TopologyValidatorRule=nt;var it=n.SuperMap.AggregationType={GEOHASH_GRID:"geohash_grid",FILTER:"filter"};e.AggregationType=it;var lt=n.SuperMap.AggregationQueryBuilderType={GEO_BOUNDING_BOX:"geo_bounding_box"};e.AggregationQueryBuilderType=lt;var rt=n.SuperMap.GetFeatureMode={BOUNDS:"BOUNDS",BUFFER:"BUFFER",ID:"ID",SPATIAL:"SPATIAL",SQL:"SQL"};e.GetFeatureMode=rt},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SecurityManager=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0),l=o(1),r=o(5);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var a=e.SecurityManager=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return n(t,null,[{key:"generateToken",value:function(t,e){var o=this.servers[t];if(o)return r.FetchRequest.post(o.tokenServiceUrl,JSON.stringify(e.toJSON())).then(function(t){return t.text()})}},{key:"registerServers",value:function(t){this.servers=this.servers||{},l.Util.isArray(t)||(t=[t]);for(var e=0;e<t.length;e++){var o=t[e];this.servers[o.server]=o}}},{key:"registerToken",value:function(t,e){if(this.tokens=this.tokens||{},t&&e){var o=this._getTokenStorageKey(t);this.tokens[o]=e}}},{key:"registerKey",value:function(t,e){if(this.keys=this.keys||{},t&&!(t.length<1)&&e){t=l.Util.isArray(t)?t:[t];for(var o=0;o<t.length;o++){var n=this._getUrlRestString(t[0])||t[0];this.keys[n]=e}}}},{key:"getServerInfo",value:function(t){return this.servers=this.servers||{},this.servers[t]}},{key:"getToken",value:function(t){if(t){this.tokens=this.tokens||{};var e=this._getTokenStorageKey(t);return this.tokens[e]}}},{key:"getKey",value:function(t){this.keys=this.keys||{};var e=this._getUrlRestString(t)||t;return this.keys[e]}},{key:"loginiServer",value:function(t,e,o,n){t+="/"===t.substr(t.length-1,1)?"services/security/login.json":"/services/security/login.json";var i={username:e&&e.toString(),password:o&&o.toString(),rememberme:n};i=JSON.stringify(i);return r.FetchRequest.post(t,i,{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}}).then(function(t){return t.json()})}},{key:"logoutiServer",value:function(t){t+="/"===t.substr(t.length-1,1)?"services/security/logout":"/services/security/logout";return r.FetchRequest.get(t,"",{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},withoutFormatSuffix:!0}).then(function(){return!0}).catch(function(){return!1})}},{key:"loginOnline",value:function(e,o){var n=t.SSO+"/login?service="+e;this._open(n,o)}},{key:"loginiPortal",value:function(t,e,o){t+="/"===t.substr(t.length-1,1)?"web/login.json":"/web/login.json";var n={username:e&&e.toString(),password:o&&o.toString()};n=JSON.stringify(n);return r.FetchRequest.post(t,n,{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},withCredentials:!0}).then(function(t){return t.json()})}},{key:"logoutiPortal",value:function(t){t+="/"===t.substr(t.length-1,1)?"services/security/logout":"/services/security/logout";return r.FetchRequest.get(t,"",{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},withCredentials:!0,withoutFormatSuffix:!0}).then(function(){return!0}).catch(function(){return!1})}},{key:"loginManager",value:function(t,e,o){if(l.Util.isInTheSameDomain(t)){var n="/"===t.substr(t.length-1,1)?t+"icloud/security/tokens.json":t+"/icloud/security/tokens.json",i=e||{},a={username:i.userName&&i.userName.toString(),password:i.password&&i.password.toString()};a=JSON.stringify(a);var s=this;return r.FetchRequest.post(n,a,{headers:{Accept:"*/*","Content-Type":"application/json"}}).then(function(t){t.text().then(function(t){return s.imanagerToken=t,t})})}var u=!o||o.isNewTab;this._open(t,u)}},{key:"destroyAllCredentials",value:function(){this.keys=null,this.tokens=null,this.servers=null}},{key:"destroyToken",value:function(t){if(t){var e=this._getTokenStorageKey(t);this.tokens=this.tokens||{},this.tokens[e]&&delete this.tokens[e]}}},{key:"destroyKey",value:function(t){if(t){this.keys=this.keys||{};var e=this._getUrlRestString(t)||t;this.keys[e]&&delete this.keys[e]}}},{key:"_open",value:function(t,e){e=null==e||e;var o=window.screen.availWidth/2-this.INNER_WINDOW_WIDTH/2,n=window.screen.availHeight/2-this.INNER_WINDOW_HEIGHT/2,i="height="+this.INNER_WINDOW_HEIGHT+", width="+this.INNER_WINDOW_WIDTH+",top="+n+", left="+o+",toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no";e?window.open(t,"login"):window.open(t,"login",i)}},{key:"_getTokenStorageKey",value:function(t){var e=t.match(/(.*?):\/\/([^\/]+)/i);return e?e[0]:t}},{key:"_getUrlRestString",value:function(t){if(!t)return t;var e=t.match(/http:\/\/(.*\/rest)/i);return e?e[0]:t}}]),t}();a.INNER_WINDOW_WIDTH=600,a.INNER_WINDOW_HEIGHT=600,a.SSO="https://sso.supermap.com",a.ONLINE="http://www.supermapol.com",i.SuperMap.SecurityManager=a},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Credential=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var l=e.Credential=function(){function t(e,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.value=e||"",this.name=o||"token",this.CLASS_NAME="SuperMap.Credential"}return n(t,[{key:"getUrlParameters",value:function(){return this.name+"="+this.value}},{key:"getValue",value:function(){return this.value}},{key:"destroy",value:function(){this.value=null,this.name=null}}]),t}();l.CREDENTIAL=null,i.SuperMap.Credential=l},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=o(0),i=o(1),l=e.Event=n.SuperMap.Event={observers:!1,KEY_SPACE:32,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(t){return t.target||t.srcElement},isSingleTouch:function(t){return t.touches&&1===t.touches.length},isMultiTouch:function(t){return t.touches&&t.touches.length>1},isLeftClick:function(t){return t.which&&1===t.which||t.button&&1===t.button},isRightClick:function(t){return t.which&&3===t.which||t.button&&2===t.button},stop:function(t,e){e||(t.preventDefault?t.preventDefault():t.returnValue=!1),t.stopPropagation?t.stopPropagation():t.cancelBubble=!0},findElement:function(t,e){for(var o=n.SuperMap.Event.element(t);o.parentNode&&(!o.tagName||o.tagName.toUpperCase()!=e.toUpperCase());)o=o.parentNode;return o},observe:function(t,e,o,n){var l=i.Util.getElement(t);if(n=n||!1,"keypress"===e&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||l.attachEvent)&&(e="keydown"),this.observers||(this.observers={}),!l._eventCacheID){var r="eventCacheID_";l.id&&(r=l.id+"_"+r),l._eventCacheID=i.Util.createUniqueID(r)}var a=l._eventCacheID;this.observers[a]||(this.observers[a]=[]),this.observers[a].push({element:l,name:e,observer:o,useCapture:n}),l.addEventListener?l.addEventListener(e,o,n):l.attachEvent&&l.attachEvent("on"+e,o)},stopObservingElement:function(t){var e=i.Util.getElement(t)._eventCacheID;this._removeElementObservers(n.SuperMap.Event.observers[e])},_removeElementObservers:function(t){if(t)for(var e=t.length-1;e>=0;e--){var o=t[e],i=new Array(o.element,o.name,o.observer,o.useCapture);n.SuperMap.Event.stopObserving.apply(this,i)}},stopObserving:function(t,e,o,l){l=l||!1;var r=i.Util.getElement(t),a=r._eventCacheID;"keypress"===e&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||r.detachEvent)&&(e="keydown");var s=!1,u=n.SuperMap.Event.observers[a];if(u)for(var p=0;!s&&p<u.length;){var c=u[p];if(c.name===e&&c.observer===o&&c.useCapture===l){u.splice(p,1),0==u.length&&delete n.SuperMap.Event.observers[a],s=!0;break}p++}return s&&(r.removeEventListener?r.removeEventListener(e,o,l):r&&r.detachEvent&&r.detachEvent("on"+e,o)),s},unloadCache:function(){if(n.SuperMap.Event&&n.SuperMap.Event.observers){for(var t in n.SuperMap.Event.observers){var e=n.SuperMap.Event.observers[t];n.SuperMap.Event._removeElementObservers.apply(this,[e])}n.SuperMap.Event.observers=!1}},CLASS_NAME:"SuperMap.Event"};n.SuperMap.Event=l,n.SuperMap.Event.observe(window,"unload",n.SuperMap.Event.unloadCache,!1)},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Events=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),l=o(0),r=o(6),a=o(105),s=o(2),u=o(1);var p=e.Events=function(){function t(e,o,n,i,l){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.BROWSER_EVENTS=["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","rightclick","dblrightclick","resize","focus","blur","touchstart","touchmove","touchend","keydown","MSPointerDown","MSPointerUp","pointerdown","pointerup","MSGestureStart","MSGestureChange","MSGestureEnd","contextmenu"],this.listeners={},this.object=e,this.element=null,this.eventTypes=[],this.eventHandler=null,this.fallThrough=i,this.includeXY=!1,this.extensions={},this.extensionCount={},this.clearMouseListener=null,u.Util.extend(this,l),null!=n)for(var r=0,a=n.length;r<a;r++)this.addEventType(n[r]);null!=o&&this.attachToElement(o),this.CLASS_NAME="SuperMap.Events"}return i(t,[{key:"destroy",value:function(){for(var t in this.extensions)"boolean"!=typeof this.extensions[t]&&this.extensions[t].destroy();this.extensions=null,this.element&&(a.Event.stopObservingElement(this.element),this.element.hasScrollEvent&&a.Event.stopObserving(window,"scroll",this.clearMouseListener)),this.element=null,this.listeners=null,this.object=null,this.eventTypes=null,this.fallThrough=null,this.eventHandler=null}},{key:"addEventType",value:function(t){this.listeners[t]||(this.eventTypes.push(t),this.listeners[t]=[])}},{key:"attachToElement",value:function(t){this.element?a.Event.stopObservingElement(this.element):(this.eventHandler=s.FunctionExt.bindAsEventListener(this.handleBrowserEvent,this),this.clearMouseListener=s.FunctionExt.bind(this.clearMouseCache,this)),this.element=t;for(var e=0,o=this.BROWSER_EVENTS.length;e<o;e++){var n=this.BROWSER_EVENTS[e];this.addEventType(n),a.Event.observe(t,n,this.eventHandler)}a.Event.observe(t,"dragstart",a.Event.stop)}},{key:"on",value:function(t){for(var e in t)"scope"!==e&&t.hasOwnProperty(e)&&this.register(e,t.scope,t[e])}},{key:"register",value:function(e,o,i,l){if(e in t&&!this.extensions[e]&&(this.extensions[e]=new t[e](this)),null!=i&&-1!==u.Util.indexOf(this.eventTypes,e)){null==o&&(o=this.object);var r=this.listeners[e];r||(r=[],this.listeners[e]=r,this.extensionCount[e]=0);var a={obj:o,func:i};l?(r.splice(this.extensionCount[e],0,a),"object"===(void 0===l?"undefined":n(l))&&l.extension&&this.extensionCount[e]++):r.push(a)}}},{key:"registerPriority",value:function(t,e,o){this.register(t,e,o,!0)}},{key:"un",value:function(t){for(var e in t)"scope"!==e&&t.hasOwnProperty(e)&&this.unregister(e,t.scope,t[e])}},{key:"unregister",value:function(t,e,o){null==e&&(e=this.object);var n=this.listeners[t];if(null!=n)for(var i=0,l=n.length;i<l;i++)if(n[i].obj===e&&n[i].func===o){n.splice(i,1);break}}},{key:"remove",value:function(t){null!=this.listeners[t]&&(this.listeners[t]=[])}},{key:"triggerEvent",value:function(t,e){var o=this.listeners[t];if(o&&0!=o.length){var n;null==e&&(e={}),e.object=this.object,e.element=this.element,e.type||(e.type=t);for(var i=0,l=(o=o.slice()).length;i<l;i++){var r=o[i];if(void 0!=(n=r.func.apply(r.obj,[e]))&&0==n)break}return this.fallThrough||a.Event.stop(e,!0),n}}},{key:"handleBrowserEvent",value:function(t){var e=t.type,o=this.listeners[e];if(o&&0!=o.length){var n=t.touches;if(n&&n[0]){for(var i,l=0,r=0,a=n.length,s=0;s<a;++s)l+=(i=n[s]).clientX,r+=i.clientY;t.clientX=l/a,t.clientY=r/a}this.includeXY&&(t.xy=this.getMousePosition(t)),this.triggerEvent(e,t)}}},{key:"clearMouseCache",value:function(){this.element.scrolls=null,this.element.lefttop=null;var t=document.body;t&&(0==t.scrollTop&&0==t.scrollLeft||!navigator.userAgent.match(/iPhone/i))&&(this.element.offsets=null)}},{key:"getMousePosition",value:function(t){if(this.includeXY?this.element.hasScrollEvent||(a.Event.observe(window,"scroll",this.clearMouseListener),this.element.hasScrollEvent=!0):this.clearMouseCache(),!this.element.scrolls){var e=u.Util.getViewportElement();this.element.scrolls=[e.scrollLeft,e.scrollTop]}return this.element.lefttop||(this.element.lefttop=[document.documentElement.clientLeft||0,document.documentElement.clientTop||0]),this.element.offsets||(this.element.offsets=u.Util.pagePosition(this.element)),new r.Pixel(t.clientX+this.element.scrolls[0]-this.element.offsets[0]-this.element.lefttop[0],t.clientY+this.element.scrolls[1]-this.element.offsets[1]-this.element.lefttop[1])}}]),t}();l.SuperMap.Events=p,l.SuperMap.Events.prototype.BROWSER_EVENTS=["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","rightclick","dblrightclick","resize","focus","blur","touchstart","touchmove","touchend","keydown","MSPointerDown","MSPointerUp","pointerdown","pointerup","MSGestureStart","MSGestureChange","MSGestureEnd","contextmenu"]},function(t,e,o){"use strict";var n,i,l;i=[e,t],void 0===(l="function"==typeof(n=function(t,e){var o={timeout:5e3,jsonpCallback:"callback",jsonpCallbackFunction:null};function n(t){try{delete window[t]}catch(e){window[t]=void 0}}function i(t){var e=document.getElementById(t);document.getElementsByTagName("head")[0].removeChild(e)}e.exports=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],l=t,r=e.timeout||o.timeout,a=e.jsonpCallback||o.jsonpCallback,s=void 0;return new Promise(function(o,u){var p=e.jsonpCallbackFunction||"jsonp_"+Date.now()+"_"+Math.ceil(1e5*Math.random()),c=a+"_"+p;window[p]=function(t){o({ok:!0,json:function(){return Promise.resolve(t)}}),s&&clearTimeout(s),i(c),n(p)},l+=-1===l.indexOf("?")?"?":"&";var y=document.createElement("script");y.setAttribute("src",""+l+a+"="+p),y.id=c,document.getElementsByTagName("head")[0].appendChild(y),s=setTimeout(function(){u(new Error("JSONP request to "+t+" timed out")),n(p),i(c)},r)})}})?n.apply(e,i):n)||(t.exports=l)},function(t,e,o){"use strict";!function(e){if(e.__disableNativeFetch||!e.fetch){a.prototype.append=function(t,e){t=l(t),e=r(e);var o=this.map[t];o||(o=[],this.map[t]=o),o.push(e)},a.prototype.delete=function(t){delete this.map[l(t)]},a.prototype.get=function(t){var e=this.map[l(t)];return e?e[0]:null},a.prototype.getAll=function(t){return this.map[l(t)]||[]},a.prototype.has=function(t){return this.map.hasOwnProperty(l(t))},a.prototype.set=function(t,e){this.map[l(t)]=[r(e)]},a.prototype.forEach=function(t,e){Object.getOwnPropertyNames(this.map).forEach(function(o){this.map[o].forEach(function(n){t.call(e,n,o,this)},this)},this)};var o={blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e},n=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];y.prototype.clone=function(){return new y(this)},c.call(y.prototype),c.call(P.prototype),P.prototype.clone=function(){return new P(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new a(this.headers),url:this.url})},P.error=function(){var t=new P(null,{status:0,statusText:""});return t.type="error",t};var i=[301,302,303,307,308];P.redirect=function(t,e){if(-1===i.indexOf(e))throw new RangeError("Invalid status code");return new P(null,{status:e,headers:{location:t}})},e.Headers=a,e.Request=y,e.Response=P,e.fetch=function(t,e){return new Promise(function(n,i){var l;l=y.prototype.isPrototypeOf(t)&&!e?t:new y(t,e);var r=new XMLHttpRequest;var s=!1;function u(){if(4===r.readyState){var t=1223===r.status?204:r.status;if(t<100||t>599){if(s)return;return s=!0,void i(new TypeError("Network request failed"))}var e={status:t,statusText:r.statusText,headers:function(t){var e=new a;return t.getAllResponseHeaders().trim().split("\n").forEach(function(t){var o=t.trim().split(":"),n=o.shift().trim(),i=o.join(":").trim();e.append(n,i)}),e}(r),url:"responseURL"in r?r.responseURL:/^X-Request-URL:/m.test(r.getAllResponseHeaders())?r.getResponseHeader("X-Request-URL"):void 0},o="response"in r?r.response:r.responseText;s||(s=!0,n(new P(o,e)))}}r.onreadystatechange=u,r.onload=u,r.onerror=function(){s||(s=!0,i(new TypeError("Network request failed")))},r.open(l.method,l.url,!0);try{"include"===l.credentials&&("withCredentials"in r?r.withCredentials=!0:console&&console.warn&&console.warn("withCredentials is not supported, you can ignore this warning"))}catch(t){console&&console.warn&&console.warn("set withCredentials error:"+t)}"responseType"in r&&o.blob&&(r.responseType="blob"),l.headers.forEach(function(t,e){r.setRequestHeader(e,t)}),r.send(void 0===l._bodyInit?null:l._bodyInit)})},e.fetch.polyfill=!0,void 0!==t&&t.exports&&(t.exports=e.fetch)}function l(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function r(t){return"string"!=typeof t&&(t=String(t)),t}function a(t){this.map={},t instanceof a?t.forEach(function(t,e){this.append(e,t)},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function s(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function u(t){return new Promise(function(e,o){t.onload=function(){e(t.result)},t.onerror=function(){o(t.error)}})}function p(t){var e=new FileReader;return e.readAsArrayBuffer(t),u(e)}function c(){return this.bodyUsed=!1,this._initBody=function(t,e){if(this._bodyInit=t,"string"==typeof t)this._bodyText=t;else if(o.blob&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t,this._options=e;else if(o.formData&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(t){if(!o.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(t))throw new Error("unsupported BodyInit type")}else this._bodyText=""},o.blob?(this.blob=function(){var t=s(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this.blob().then(p)},this.text=function(){var t,e,o,n,i,l,r,a=s(this);if(a)return a;if(this._bodyBlob)return t=this._bodyBlob,e=this._options,o=new FileReader,n=e.headers.map["content-type"]?e.headers.map["content-type"].toString():"",i=/charset\=[0-9a-zA-Z\-\_]*;?/,l=t.type.match(i)||n.match(i),r=[t],l&&r.push(l[0].replace(/^charset\=/,"").replace(/;$/,"")),o.readAsText.apply(o,r),u(o);if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)}):this.text=function(){var t=s(this);return t||Promise.resolve(this._bodyText)},o.formData&&(this.formData=function(){return this.text().then(h)}),this.json=function(){return this.text().then(JSON.parse)},this}function y(t,e){var o,i,l=(e=e||{}).body;if(y.prototype.isPrototypeOf(t)){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new a(t.headers)),this.method=t.method,this.mode=t.mode,l||(l=t._bodyInit,t.bodyUsed=!0)}else this.url=t;if(this.credentials=e.credentials||this.credentials||"omit",!e.headers&&this.headers||(this.headers=new a(e.headers)),this.method=(o=e.method||this.method||"GET",i=o.toUpperCase(),n.indexOf(i)>-1?i:o),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&l)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(l,e)}function h(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var o=t.split("="),n=o.shift().replace(/\+/g," "),i=o.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(i))}}),e}function P(t,e){e||(e={}),this._initBody(t,e),this.type="default",this.status=e.status,this.ok=this.status>=200&&this.status<300,this.statusText=e.statusText,this.headers=e.headers instanceof a?e.headers:new a(e.headers),this.url=e.url||""}}("undefined"!=typeof self?self:void 0)},function(t,e,o){"use strict";var n,i,l=t.exports={};function r(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===r||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:r}catch(t){n=r}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(t){i=a}}();var u,p=[],c=!1,y=-1;function h(){c&&u&&(c=!1,u.length?p=u.concat(p):y=-1,p.length&&P())}function P(){if(!c){var t=s(h);c=!0;for(var e=p.length;e;){for(u=p,p=[];++y<e;)u&&u[y].run();y=-1,e=p.length}u=null,c=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function f(t,e){this.fun=t,this.array=e}function S(){}l.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var o=1;o<arguments.length;o++)e[o-1]=arguments[o];p.push(new f(t,e)),1!==p.length||c||s(P)},f.prototype.run=function(){this.fun.apply(null,this.array)},l.title="browser",l.browser=!0,l.env={},l.argv=[],l.version="",l.versions={},l.on=S,l.addListener=S,l.once=S,l.off=S,l.removeListener=S,l.removeAllListeners=S,l.emit=S,l.prependListener=S,l.prependOnceListener=S,l.listeners=function(t){return[]},l.binding=function(t){throw new Error("process.binding is not supported")},l.cwd=function(){return"/"},l.chdir=function(t){throw new Error("process.chdir is not supported")},l.umask=function(){return 0}},function(t,e,o){"use strict";(function(t,e){!function(t,o){if(!t.setImmediate){var n,i,l,r,a,s=1,u={},p=!1,c=t.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(t);y=y&&y.setTimeout?y:t,"[object process]"==={}.toString.call(t.process)?n=function(t){e.nextTick(function(){P(t)})}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,o=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=o,e}}()?t.MessageChannel?((l=new MessageChannel).port1.onmessage=function(t){P(t.data)},n=function(t){l.port2.postMessage(t)}):c&&"onreadystatechange"in c.createElement("script")?(i=c.documentElement,n=function(t){var e=c.createElement("script");e.onreadystatechange=function(){P(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(P,0,t)}:(r="setImmediate$"+Math.random()+"$",a=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(r)&&P(+e.data.slice(r.length))},t.addEventListener?t.addEventListener("message",a,!1):t.attachEvent("onmessage",a),n=function(e){t.postMessage(r+e,"*")}),y.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),o=0;o<e.length;o++)e[o]=arguments[o+1];var i={callback:t,args:e};return u[s]=i,n(s),s++},y.clearImmediate=h}function h(t){delete u[t]}function P(t){if(p)setTimeout(P,0,t);else{var e=u[t];if(e){p=!0;try{!function(t){var e=t.callback,n=t.args;switch(n.length){case 0:e();break;case 1:e(n[0]);break;case 2:e(n[0],n[1]);break;case 3:e(n[0],n[1],n[2]);break;default:e.apply(o,n)}}(e)}finally{h(t),p=!1}}}}}("undefined"==typeof self?void 0===t?void 0:t:self)}).call(this,o(4),o(109))},function(t,e,o){"use strict";(function(t){var n=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function l(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new l(i.call(setTimeout,n,arguments),clearTimeout)},e.setInterval=function(){return new l(i.call(setInterval,n,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},l.prototype.unref=l.prototype.ref=function(){},l.prototype.close=function(){this._clearFn.call(n,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},o(110),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||void 0,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||void 0}).call(this,o(4))},function(t,e,o){"use strict";(function(e){var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(n){var i=setTimeout;function l(){}function r(t){if("object"!==o(this))throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],c(t,this)}function a(t,e){for(;3===t._state;)t=t._value;0!==t._state?(t._handled=!0,r._immediateFn(function(){var o=1===t._state?e.onFulfilled:e.onRejected;if(null!==o){var n;try{n=o(t._value)}catch(t){return void u(e.promise,t)}s(e.promise,n)}else(1===t._state?s:u)(e.promise,t._value)})):t._deferreds.push(e)}function s(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"===(void 0===e?"undefined":o(e))||"function"==typeof e)){var n=e.then;if(e instanceof r)return t._state=3,t._value=e,void p(t);if("function"==typeof n)return void c((i=n,l=e,function(){i.apply(l,arguments)}),t)}t._state=1,t._value=e,p(t)}catch(e){u(t,e)}var i,l}function u(t,e){t._state=2,t._value=e,p(t)}function p(t){2===t._state&&0===t._deferreds.length&&r._immediateFn(function(){t._handled||r._unhandledRejectionFn(t._value)});for(var e=0,o=t._deferreds.length;e<o;e++)a(t,t._deferreds[e]);t._deferreds=null}function c(t,e){var o=!1;try{t(function(t){o||(o=!0,s(e,t))},function(t){o||(o=!0,u(e,t))})}catch(t){if(o)return;o=!0,u(e,t)}}r.prototype.catch=function(t){return this.then(null,t)},r.prototype.then=function(t,e){var o=new this.constructor(l);return a(this,new function(t,e,o){this.onFulfilled="function"==typeof t?t:null,this.onRejected="function"==typeof e?e:null,this.promise=o}(t,e,o)),o},r.all=function(t){var e=Array.prototype.slice.call(t);return new r(function(t,n){if(0===e.length)return t([]);var i=e.length;function l(r,a){try{if(a&&("object"===(void 0===a?"undefined":o(a))||"function"==typeof a)){var s=a.then;if("function"==typeof s)return void s.call(a,function(t){l(r,t)},n)}e[r]=a,0==--i&&t(e)}catch(t){n(t)}}for(var r=0;r<e.length;r++)l(r,e[r])})},r.resolve=function(t){return t&&"object"===(void 0===t?"undefined":o(t))&&t.constructor===r?t:new r(function(e){e(t)})},r.reject=function(t){return new r(function(e,o){o(t)})},r.race=function(t){return new r(function(e,o){for(var n=0,i=t.length;n<i;n++)t[n].then(e,o)})},r._immediateFn="function"==typeof e&&function(t){e(t)}||function(t){i(t,0)},r._unhandledRejectionFn=function(t){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",t)},r._setImmediateFn=function(t){r._immediateFn=t},r._setUnhandledRejectionFn=function(t){r._unhandledRejectionFn=t},void 0!==t&&t.exports?t.exports=r:n.Promise||(n.Promise=r)}(void 0)}).call(this,o(111).setImmediate)},function(t,e,o){"use strict";var n,i=o(112),l=(n=i)&&n.__esModule?n:{default:n};window.Promise=l.default},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CommonServiceBase=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0),l=o(5),r=o(106),a=o(104),s=o(103),u=o(1),p=o(102),c=o(101),y=o(2);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var h=e.CommonServiceBase=function(){function t(e,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=this;this.EVENT_TYPES=["processCompleted","processFailed"],this.events=null,this.eventListeners=null,this.url=null,this.urls=null,this.proxy=null,this.serverType=null,this.index=null,this.length=null,this.options=null,this.totalTimes=null,this.POLLING_TIMES=3,this._processSuccess=null,this._processFailed=null,this.isInTheSameDomain=null,this.withCredentials=!1,u.Util.isArray(e)?(n.urls=e,n.length=e.length,n.totalTimes=n.length,1===n.length?n.url=e[0]:(n.index=parseInt(Math.random()*n.length),n.url=e[n.index])):(n.totalTimes=1,n.url=e),u.Util.isArray(e)&&!n.isServiceSupportPolling()&&(n.url=e[0],n.totalTimes=1),n.serverType=n.serverType||p.ServerType.ISERVER,o=o||{},u.Util.extend(this,o),n.isInTheSameDomain=u.Util.isInTheSameDomain(n.url),n.events=new r.Events(n,null,n.EVENT_TYPES,!0),n.eventListeners instanceof Object&&n.events.on(n.eventListeners),this.CLASS_NAME="SuperMap.CommonServiceBase"}return n(t,[{key:"destroy",value:function(){var t=this;u.Util.isArray(t.urls)&&(t.urls=null,t.index=null,t.length=null,t.totalTimes=null),t.url=null,t.options=null,t._processSuccess=null,t._processFailed=null,t.isInTheSameDomain=null,t.EVENT_TYPES=null,t.events&&(t.events.destroy(),t.events=null),t.eventListeners&&(t.eventListeners=null)}},{key:"request",value:function(t){var e=this;t.url=t.url||e.url,t.proxy=t.proxy||e.proxy,t.withCredentials=void 0!=t.withCredentials?t.withCredentials:e.withCredentials,t.isInTheSameDomain=e.isInTheSameDomain;var o=this.getCredential(t.url);if(o){var n=t.url.substring(t.url.length-1,t.url.length);t.url.indexOf("?")>-1&&"?"===n?t.url+=o.getUrlParameters():t.url.indexOf("?")>-1&&"?"!==n?t.url+="&"+o.getUrlParameters():t.url+="?"+o.getUrlParameters()}e.calculatePollingTimes(),e._processSuccess=t.success,e._processFailed=t.failure,t.scope=e,t.success=e.getUrlCompleted,t.failure=e.getUrlFailed,e.options=t,e._commit(e.options)}},{key:"getCredential",value:function(t){var e=t,o=void 0,n=void 0;switch(this.serverType){case p.ServerType.IPORTAL:(o=(n=s.SecurityManager.getToken(e))?new a.Credential(n,"token"):null)||(o=(n=s.SecurityManager.getKey(e))?new a.Credential(n,"key"):null);break;case p.ServerType.ONLINE:o=(n=s.SecurityManager.getKey(e))?new a.Credential(n,"key"):null;break;default:o=(n=s.SecurityManager.getToken(e))?new a.Credential(n,"token"):null}return o}},{key:"getUrlCompleted",value:function(t){this._processSuccess(t)}},{key:"getUrlFailed",value:function(t){this.totalTimes>0?(this.totalTimes--,this.ajaxPolling()):this._processFailed(t)}},{key:"ajaxPolling",value:function(){var t=this,e=t.options.url,o=/^http:\/\/([a-z]{9}|(\d+\.){3}\d+):\d{0,4}/;t.index=parseInt(Math.random()*t.length),t.url=t.urls[t.index],e=e.replace(o,o.exec(t.url)[0]),t.options.url=e,t.options.isInTheSameDomain=u.Util.isInTheSameDomain(e),t._commit(t.options)}},{key:"calculatePollingTimes",value:function(){var t=this;t.times?t.totalTimes>t.POLLING_TIMES?t.times>t.POLLING_TIMES?t.totalTimes=t.POLLING_TIMES:t.totalTimes=t.times:t.times<t.totalTimes&&(t.totalTimes=t.times):t.totalTimes>t.POLLING_TIMES&&(t.totalTimes=t.POLLING_TIMES),t.totalTimes--}},{key:"isServiceSupportPolling",value:function(){return!("SuperMap.REST.ThemeService"===this.CLASS_NAME||"SuperMap.REST.EditFeaturesService"===this.CLASS_NAME)}},{key:"serviceProcessCompleted",value:function(t){t=u.Util.transformResult(t),this.events.triggerEvent("processCompleted",{result:t})}},{key:"serviceProcessFailed",value:function(t){var e=(t=u.Util.transformResult(t)).error||t;this.events.triggerEvent("processFailed",{error:e})}},{key:"_commit",value:function(t){"POST"!==t.method&&"PUT"!==t.method||(t.params&&(t.url=u.Util.urlAppend(t.url,u.Util.getParameterString(t.params||{}))),t.params=t.data),l.FetchRequest.commit(t.method,t.url,t.params,{headers:t.headers,withCredentials:t.withCredentials,timeout:t.async?0:null,proxy:t.proxy}).then(function(t){return t.text?t.text():t.json?t.json():t}).then(function(e){var o=e;("string"==typeof e&&(o=(new c.JSONFormat).read(e)),(!o||o.error||o.code>=300&&304!==o.code)&&(o=o&&o.error?{error:o.error}:{error:o}),o.error)?(t.scope?y.FunctionExt.bind(t.failure,t.scope):t.failure)(o):(o.succeed=void 0==o.succeed||o.succeed,(t.scope?y.FunctionExt.bind(t.success,t.scope):t.success)(o))})}}]),t}();i.SuperMap.CommonServiceBase=h},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LonLat=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(1);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/e.LonLat=function(){function t(e,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),i.Util.isArray(e)&&(o=e[1],e=e[0]),this.lon=e?i.Util.toFloat(e):0,this.lat=o?i.Util.toFloat(o):0,this.CLASS_NAME="SuperMap.LonLat"}return n(t,[{key:"toString",value:function(){return"lon="+this.lon+",lat="+this.lat}},{key:"toShortString",value:function(){return this.lon+","+this.lat}},{key:"clone",value:function(){return new t(this.lon,this.lat)}},{key:"add",value:function(e,o){if(null==e||null==o)throw new TypeError("LonLat.add cannot receive null values");return new t(this.lon+i.Util.toFloat(e),this.lat+i.Util.toFloat(o))}},{key:"equals",value:function(t){var e=!1;return null!=t&&(e=this.lon===t.lon&&this.lat===t.lat||isNaN(this.lon)&&isNaN(this.lat)&&isNaN(t.lon)&&isNaN(t.lat)),e}},{key:"wrapDateLine",value:function(t){var e=this.clone();if(t){for(;e.lon<t.left;)e.lon+=t.getWidth();for(;e.lon>t.right;)e.lon-=t.getWidth()}return e}},{key:"destroy",value:function(){this.lon=null,this.lat=null}}],[{key:"fromString",value:function(e){var o=e.split(",");return new t(o[0],o[1])}},{key:"fromArray",value:function(e){var o=i.Util.isArray(e);return new t(o&&e[0],o&&e[1])}}]),t}()},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Size=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var l=e.Size=function(){function t(e,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.w=e?parseFloat(e):0,this.h=e?parseFloat(o):0,this.CLASS_NAME="SuperMap.Size"}return n(t,[{key:"toString",value:function(){return"w="+this.w+",h="+this.h}},{key:"clone",value:function(){return new t(this.w,this.h)}},{key:"equals",value:function(t){var e=!1;return null!=t&&(e=this.w===t.w&&this.h===t.h||isNaN(this.w)&&isNaN(this.h)&&isNaN(t.w)&&isNaN(t.h)),e}},{key:"destroy",value:function(){this.w=null,this.h=null}}]),t}();i.SuperMap.Size=l},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Bounds=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0),l=o(116),r=o(6),a=o(115),s=o(1);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var u=e.Bounds=function(){function t(e,o,n,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),s.Util.isArray(e)&&(i=e[3],n=e[2],o=e[1],e=e[0]),this.left=null!=e?s.Util.toFloat(e):this.left,this.bottom=null!=o?s.Util.toFloat(o):this.bottom,this.right=null!=n?s.Util.toFloat(n):this.right,this.top=null!=i?s.Util.toFloat(i):this.top,this.centerLonLat=null,this.CLASS_NAME="SuperMap.Bounds"}return n(t,[{key:"clone",value:function(){return new t(this.left,this.bottom,this.right,this.top)}},{key:"equals",value:function(t){var e=!1;return null!=t&&(e=this.left===t.left&&this.right===t.right&&this.top===t.top&&this.bottom===t.bottom),e}},{key:"toString",value:function(){return[this.left,this.bottom,this.right,this.top].join(",")}},{key:"toArray",value:function(t){return!0===t?[this.bottom,this.left,this.top,this.right]:[this.left,this.bottom,this.right,this.top]}},{key:"toBBOX",value:function(t,e){null==t&&(t=6);var o=Math.pow(10,t),n=Math.round(this.left*o)/o,i=Math.round(this.bottom*o)/o,l=Math.round(this.right*o)/o,r=Math.round(this.top*o)/o;return!0===e?i+","+n+","+r+","+l:n+","+i+","+l+","+r}},{key:"getWidth",value:function(){return this.right-this.left}},{key:"getHeight",value:function(){return this.top-this.bottom}},{key:"getSize",value:function(){return new l.Size(this.getWidth(),this.getHeight())}},{key:"getCenterPixel",value:function(){return new r.Pixel((this.left+this.right)/2,(this.bottom+this.top)/2)}},{key:"getCenterLonLat",value:function(){return this.centerLonLat||(this.centerLonLat=new a.LonLat((this.left+this.right)/2,(this.bottom+this.top)/2)),this.centerLonLat}},{key:"scale",value:function(e,o){var n,i;return e=e||1,null==o&&(o=this.getCenterLonLat()),"SuperMap.LonLat"===o.CLASS_NAME?(n=o.lon,i=o.lat):(n=o.x,i=o.y),new t((this.left-n)*e+n,(this.bottom-i)*e+i,(this.right-n)*e+n,(this.top-i)*e+i)}},{key:"add",value:function(e,o){if(null==e||null==o)throw new TypeError("Bounds.add cannot receive null values");return new t(this.left+e,this.bottom+o,this.right+e,this.top+o)}},{key:"extend",value:function(e){var o=null;if(e){switch(e.CLASS_NAME){case"SuperMap.LonLat":o=new t(e.lon,e.lat,e.lon,e.lat);break;case"SuperMap.Geometry.Point":o=new t(e.x,e.y,e.x,e.y);break;case"SuperMap.Bounds":o=e}o&&(this.centerLonLat=null,(null==this.left||o.left<this.left)&&(this.left=o.left),(null==this.bottom||o.bottom<this.bottom)&&(this.bottom=o.bottom),(null==this.right||o.right>this.right)&&(this.right=o.right),(null==this.top||o.top>this.top)&&(this.top=o.top))}}},{key:"containsLonLat",value:function(t,e){"boolean"==typeof e&&(e={inclusive:e}),e=e||{};var o=this.contains(t.lon,t.lat,e.inclusive),n=e.worldBounds;if(n&&!o){var i=n.getWidth(),l=(n.left+n.right)/2,r=Math.round((t.lon-l)/i);o=this.containsLonLat({lon:t.lon-r*i,lat:t.lat},{inclusive:e.inclusive})}return o}},{key:"containsPixel",value:function(t,e){return this.contains(t.x,t.y,e)}},{key:"contains",value:function(t,e,o){if(null==o&&(o=!0),null==t||null==e)return!1;t=s.Util.toFloat(t),e=s.Util.toFloat(e);var n=!1;return n=o?t>=this.left&&t<=this.right&&e>=this.bottom&&e<=this.top:t>this.left&&t<this.right&&e>this.bottom&&e<this.top,n}},{key:"intersectsBounds",value:function(t,e){if("boolean"==typeof e&&(e={inclusive:e}),(e=e||{}).worldBounds){var o=this.wrapDateLine(e.worldBounds);t=t.wrapDateLine(e.worldBounds)}else o=this;null==e.inclusive&&(e.inclusive=!0);var n=!1,i=o.left===t.right||o.right===t.left||o.top===t.bottom||o.bottom===t.top;if(e.inclusive||!i){var l=t.bottom>=o.bottom&&t.bottom<=o.top||o.bottom>=t.bottom&&o.bottom<=t.top,r=t.top>=o.bottom&&t.top<=o.top||o.top>t.bottom&&o.top<t.top,a=t.left>=o.left&&t.left<=o.right||o.left>=t.left&&o.left<=t.right,s=t.right>=o.left&&t.right<=o.right||o.right>=t.left&&o.right<=t.right;n=(l||r)&&(a||s)}if(e.worldBounds&&!n){var u=e.worldBounds,p=u.getWidth(),c=!u.containsBounds(o),y=!u.containsBounds(t);c&&!y?(t=t.add(-p,0),n=o.intersectsBounds(t,{inclusive:e.inclusive})):y&&!c&&(o=o.add(-p,0),n=t.intersectsBounds(o,{inclusive:e.inclusive}))}return n}},{key:"containsBounds",value:function(t,e,o){null==e&&(e=!1),null==o&&(o=!0);var n=this.contains(t.left,t.bottom,o),i=this.contains(t.right,t.bottom,o),l=this.contains(t.left,t.top,o),r=this.contains(t.right,t.top,o);return e?n||i||l||r:n&&i&&l&&r}},{key:"determineQuadrant",value:function(t){var e="",o=this.getCenterLonLat();return e+=t.lat<o.lat?"b":"t",e+=t.lon<o.lon?"l":"r"}},{key:"wrapDateLine",value:function(t,e){var o=(e=e||{}).leftTolerance||0,n=e.rightTolerance||0,i=this.clone();if(t){for(var l=t.getWidth();i.left<t.left&&i.right-n<=t.left;)i=i.add(l,0);for(;i.left+o>=t.right&&i.right>t.right;)i=i.add(-l,0);var r=i.left+o;r<t.right&&r>t.left&&i.right-n>t.right&&(i=i.add(-l,0))}return i}},{key:"toServerJSONObject",value:function(){return{rightTop:{x:this.right,y:this.top},leftBottom:{x:this.left,y:this.bottom},left:this.left,right:this.right,top:this.top,bottom:this.bottom}}},{key:"destroy",value:function(){this.left=null,this.right=null,this.top=null,this.bottom=null,this.centerLonLat=null}}],[{key:"fromString",value:function(e,o){var n=e.split(",");return t.fromArray(n,o)}},{key:"fromArray",value:function(e,o){return!0===o?new t(e[1],e[0],e[3],e[2]):new t(e[0],e[1],e[2],e[3])}},{key:"fromSize",value:function(e){return new t(0,e.h,e.w,0)}},{key:"oppositeQuadrant",value:function(t){var e="";return e+="t"===t.charAt(0)?"b":"t",e+="l"===t.charAt(1)?"r":"l"}}]),t}();i.SuperMap.Bounds=u},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Geometry=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0),l=o(1);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var r=e.Geometry=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.CLASS_NAME="SuperMap.Geometry",this.id=l.Util.createUniqueID(this.CLASS_NAME+"_"),this.parent=null,this.bounds=null,this.SRID=null}return n(t,[{key:"destroy",value:function(){this.id=null,this.bounds=null,this.SRID=null}},{key:"clone",value:function(){return new t}},{key:"setBounds",value:function(t){t&&(this.bounds=t.clone())}},{key:"clearBounds",value:function(){this.bounds=null,this.parent&&this.parent.clearBounds()}},{key:"extendBounds",value:function(t){this.getBounds()?this.bounds.extend(t):this.setBounds(t)}},{key:"getBounds",value:function(){return null==this.bounds&&this.calculateBounds(),this.bounds}},{key:"calculateBounds",value:function(){}},{key:"getVertices",value:function(t){}},{key:"getArea",value:function(){return 0}}]),t}();i.SuperMap.Geometry=r},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Point=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0),l=o(118),r=o(117),a=o(1);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
-var s=e.Point=function(t){function e(t,o,n,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o,n,i));return l.x=parseFloat(t),l.y=parseFloat(o),l.tag=i||0==i?parseFloat(i):null,l.type=n||"Point",l.CLASS_NAME="SuperMap.Geometry.Point",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,l.Geometry),n(e,[{key:"clone",value:function(t){return null==t&&(t=new e(this.x,this.y)),a.Util.applyDefaults(t,this),t}},{key:"calculateBounds",value:function(){this.bounds=new r.Bounds(this.x,this.y,this.x,this.y)}},{key:"equals",value:function(t){var e=!1;return null!=t&&(e=this.x===t.x&&this.y===t.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(t.x)&&isNaN(t.y)),e}},{key:"move",value:function(t,e){this.x=this.x+t,this.y=this.y+e,this.clearBounds()}},{key:"toShortString",value:function(){return this.x+", "+this.y}},{key:"destroy",value:function(){this.x=null,this.y=null,this.tag=null,function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"getVertices",value:function(t){return[this]}}]),e}();i.SuperMap.Geometry.Point=s},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbolFactory=e.BasicAlgoSymbolFactory=e.AddPoint_WayType=e.Primitives=e.PlottingUtil=e.RouteNodePrimitives=e.AnalysisSymbol=e.TowardNode=e.TimeWindowParameter=e.SymbolText=e.SubSymbol=e.SMLInfoStruct=e.SitDataStruct=e.RouteNode=e.Property=e.OrbitPoint=e.MapInfoStruct=e.LayerDataStruct=e.ExtendProperty=e.DefaultStyle=e.GetSymbolInfoService=e.GetSymbolInfoParameters=e.GetSMLInfosService=e.GetSMLInfosParameters=e.GetLibInfoService=e.GetLibInfoParameter=e.GetLibIDsService=e.EditSmlFileService=e.EditSmlFileParameters=e.PlotCommonServiceBase=e.GOAnimationType=e.Event=e.EditMode=e.AlignType=e.PositionOffsetType=e.TextBoxType=e.ArrowLineType=e.AnnoPosition=e.RadiusLineType=e.RelLineText=e.RouteNodeType=e.AlgoSurroundLineType=e.LineRelationType=e.SymbolType=e.Plot=e.CommonServiceBase=e.Point=void 0;var n=o(119),i=o(114),l=o(99),r=o(62),a=o(56);e.Point=n.Point,e.CommonServiceBase=i.CommonServiceBase,e.Plot=l.Plot,e.SymbolType=l.SymbolType,e.LineRelationType=l.LineRelationType,e.AlgoSurroundLineType=l.AlgoSurroundLineType,e.RouteNodeType=l.RouteNodeType,e.RelLineText=l.RelLineText,e.RadiusLineType=l.RadiusLineType,e.AnnoPosition=l.AnnoPosition,e.ArrowLineType=l.ArrowLineType,e.TextBoxType=l.TextBoxType,e.PositionOffsetType=l.PositionOffsetType,e.AlignType=l.AlignType,e.EditMode=l.EditMode,e.Event=l.Event,e.GOAnimationType=l.GOAnimationType,e.PlotCommonServiceBase=l.PlotCommonServiceBase,e.EditSmlFileParameters=l.EditSmlFileParameters,e.EditSmlFileService=l.EditSmlFileService,e.GetLibIDsService=l.GetLibIDsService,e.GetLibInfoParameter=l.GetLibInfoParameter,e.GetLibInfoService=l.GetLibInfoService,e.GetSMLInfosParameters=l.GetSMLInfosParameters,e.GetSMLInfosService=l.GetSMLInfosService,e.GetSymbolInfoParameters=l.GetSymbolInfoParameters,e.GetSymbolInfoService=l.GetSymbolInfoService,e.DefaultStyle=l.DefaultStyle,e.ExtendProperty=l.ExtendProperty,e.LayerDataStruct=l.LayerDataStruct,e.MapInfoStruct=l.MapInfoStruct,e.OrbitPoint=l.OrbitPoint,e.Property=l.Property,e.RouteNode=l.RouteNode,e.SitDataStruct=l.SitDataStruct,e.SMLInfoStruct=l.SMLInfoStruct,e.SubSymbol=l.SubSymbol,e.SymbolText=l.SymbolText,e.TimeWindowParameter=l.TimeWindowParameter,e.TowardNode=l.TowardNode,e.AnalysisSymbol=r.AnalysisSymbol,e.RouteNodePrimitives=r.RouteNodePrimitives,e.PlottingUtil=r.PlottingUtil,e.Primitives=r.Primitives,e.AddPoint_WayType=r.AddPoint_WayType,e.BasicAlgoSymbolFactory=a.BasicAlgoSymbolFactory,e.AlgoSymbolFactory=a.AlgoSymbolFactory}]);
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(4);
-__webpack_require__(1);
-__webpack_require__(2);
-__webpack_require__(3);
-__webpack_require__(0);
-
-
-
-/***/ })
-/******/ ]);
\ No newline at end of file
diff --git a/libs/supermap/ThirdParty/Workers/PlotAlgo/PlotAlgoInclude_NoCommon.js b/libs/supermap/ThirdParty/Workers/PlotAlgo/PlotAlgoInclude_NoCommon.js
deleted file mode 100644
index 9211afb..0000000
--- a/libs/supermap/ThirdParty/Workers/PlotAlgo/PlotAlgoInclude_NoCommon.js
+++ /dev/null
@@ -1,422 +0,0 @@
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// identity function for calling harmony imports with the correct context
-/******/ 	__webpack_require__.i = function(value) { return value; };
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, {
-/******/ 				configurable: false,
-/******/ 				enumerable: true,
-/******/ 				get: getter
-/******/ 			});
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 5);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports) {
-
-/* COPYRIGHT 2012 SUPERMAP
- * 本程序只能在有效的授权许可下使用。
- * 未经许可,不得以任何手段擅自使用或传播。*/
-
-/**
- * @requires SuperMap/BaseTypes.js
- */
-
-/**
- * Namespace: SuperMap.Lang
- * 国际化的命名空间,包含多种语言和方法库来设置和获取当前的语言。
- */
-//var SuperMap = window.SuperMap = window.SuperMap || {};
-
-/***
- * @private
- * @type {{translate: SuperMap.PlotLang.translate}}
- */
-SuperMap.PlotLang = {
-    /**
-     * APIMethod: translate
-     * 从当前语言字符串的字典查找key。
-     *     getCode获取的值用来判断合适的字典。字典存储在 <SuperMap.Lang> 方法中。
-     *
-     * Parameters:
-     * key - {String} 字典中i18n字符串值的关键字.
-     * context - {Object} <SuperMap.String.format> 使用此参数。
-     *
-     * Returns:
-     * {String} 国际化的字符串。
-     */
-    translate: function(key, context) {
-        var dictionary = SuperMap.PlotLang["zh-CN"];
-        var message = dictionary && dictionary[key];
-        if(!message) {
-            // Message not found, fall back to message key
-            message = key;
-        }
-        if(context) {
-            message = SuperMap.String.format(message, context);
-        }
-        return message;
-    }
-
-};
-
-
-/**
- * @private
- * APIMethod: SuperMap.plotI18n
- *  <SuperMap.Lang.translate> 的别名.  当前语言字符串的字典查找key。
- *  getCode获取的值用来判断合适的字典。字典存储在 <SuperMap.Lang> 方法中。
- *
- * Parameters:
- * key - {String} 字典中i18n字符串值的关键字.
- * context - {Object} <SuperMap.String.format> 使用此参数。
- *
- * Returns:
- * {String} 国际化的字符串。
- */
-SuperMap.plotI18n = SuperMap.PlotLang.translate;
-
-
-/**
- * @private
- * */
-SuperMap.PlotLang["zh-CN"] = {
-	//字体
-	'SongTi':"宋体",
-    //text
-	'text':"文本",
-    'textSizeLabel':"字体大小",
-    'textSizeTitle':"字体大小",
-    'textFaceNameLabel':"字体",
-    'textFaceNameTitle':"字体",
-    'textAlignLabel':"水平对齐方式",
-    'textAlignTitle':"文本的水平对齐方式",
-    'textVerticalAlignmentLabel':"垂直对齐方式",
-    'textVerticalAlignmentTitle':"文本的垂直对齐方式",
-    'textHaloRadiusLabel':"文本边框宽度",
-    'textHaloRadiusTitle':"文本的外围边框的宽度",
-    'textHaloColorLabel':"文本边框颜色",
-    'textHaloColorTitle':"文本的外围边框的颜色",
-    'textFillLabel':"文本颜色",
-    'textFillTitle':"文本的颜色值",
-    'textOpacityLabel':"透明度",
-    'textOpacityTitle':"文本的透明度",
-    'textDxLabel':"横向偏移",
-    'textDxTitle':"文本的横向偏移值",
-    'textDyLabel':"纵向偏移值",
-    'textDyTitle':"文本的纵向偏移值",
-    'textCompOpLabel':"叠加方式",
-    'textCompOpTitle':"文本之间相互叠加里使用的覆盖或者是异或等运算方式",
-    'expandingPointContent':"展",
-    'volleyPointContent':"齐",
-    'rendezvousPointContent':"会",
-    'supplyPointContent':"补",
-    //symbolAlgo
-	//JB
-    'symbolAlgo_17703':"加",
-    'symbolAlgo_17704':"急",
-    'symbolAlgo_21600':"冲",
-    'symbolAlgo_28000_1':"危",
-    'symbolAlgo_28000_2':"中",
-    'symbolAlgo_28000_3':"轻",
-    'symbolAlgo_315':"突击",
-    'symbolAlgo_31304':"慑阻",
-    'symbolAlgo_3010301':"调",
-    'symbolAlgo_3010303':"出",
-    'symbolAlgo_3010304':"协",
-
-	//WJ
-    'symbolAlgo_2121505':"火",
-    'symbolAlgo_2121506':"墩",
-    'symbolAlgo_2121507':"复",
-    'symbolAlgo_2121601':"遥",
-    'symbolAlgo_2121602':"障",
-    'symbolAlgo_30010':"?",
-    'symbolAlgo_3001101':"集",
-    'symbolAlgo_3001102':"暴",
-    'symbolAlgo_3001103':"骚",
-    'symbolAlgo_3001104':"私",
-    'symbolAlgo_3001105':"盗",
-    'symbolAlgo_30020':"水",
-    'symbolAlgo_3002001':"震",
-    'symbolAlgo_3002004':"火",
-    'symbolAlgo_30025':"滞",
-    'symbolAlgo_5010301':"调",
-    'symbolAlgo_5010303':"出",
-    'symbolAlgo_5010304':"协",
-    'symbolAlgo_5010401':"JZ",
-    'symbolAlgo_5022001':"ZD0",
-    'symbolAlgo_5034801':"催",
-    "symbolAlgo_60203":"避",
-    'symbolAlgo_60301':"爆",
-    'symbolAlgo_6030101':"挖",
-    'symbolAlgo_6030102':"浇",
-    'symbolAlgo_6030103':"砌",
-    'symbolAlgo_6030104':"装",
-    'symbolAlgo_6030105':"石",
-    'symbolAlgo_6030106':"沙",
-    'symbolAlgo_6030107':"练",
-    'symbolAlgo_60304':"隧",
-    'symbolAlgo_3002501':"踏",
-    'symbolAlgo_30026':"灾",
-    'symbolAlgo_40104':"缉",
-    'symbolAlgo_4030301':"标",
-    'symbolAlgo_4030302':"劝",
-    'symbolAlgo_4030303':"疏",
-    'symbolAlgo_40304':"警",
-    'symbolAlgo_4030401':"警",
-
-    //basic symbol
-    'polyLine':"折线",
-    'parallelogram':"平行四边形",
-    'circle':"圆",
-    'ellipse':"椭圆",
-    'annotation':"注记",
-    'regularPolygon':"正多边形",
-    'polygon':"多边形",
-    'bezier':"贝塞尔曲线",
-    'closedBesselCurve':"闭合贝塞尔曲线",
-    'kidney':"集结地",
-    'brace':"大括号",
-    'trapezoid':"梯形",
-    'rectangle':"矩形",
-    'chord':"弓形",
-    'sector':"扇形",
-    'arc':"弧线",
-    'parallel':"平行线",
-    'annoframe':"注记指示框",
-    'tooltipBoxM':"多角标注框",
-    'runway':"跑道线",
-    'curveEight':"八字形",
-    'arrowLine':"箭头线",
-    'pathText':"沿线注记",
-    'concentricCircle':"同心圆",
-    'combinedCircle':"组合圆",
-    'freeCurve':"自由线",
-    'nodeChain':"节点链",
-    'lineMarking':"线型标注",
-    'symbolTextBox':"标注框",
-
-    'parallelFlatArrow':"平行平耳箭头",
-    'multipleArrow':"多箭头",
-    'trapezoidalFlatArrow':"梯形平耳箭头",
-    'besselPointArrow':"贝塞尔尖耳箭头",
-    'besselArrow':"普通贝塞尔箭头",
-    'doubleArrow':"钳击箭头",
-    'brokenSpaceTriangleArrow':"折线空三角箭头",
-    'besselDovetailArrow':"贝塞尔燕尾箭头",
-    'ordinaryLineArrow':"普通折线箭头",
-    'besselPointedEarsTailArrow':"贝塞尔尖耳燕尾箭头",
-    'besselTipArrow':"贝塞尔尖耳单点箭头",
-    'besselArrowNoGraph':"普通贝塞尔箭头(不随图)",
-    'brokenSpaceTriangleArrowNoGraph':"折线空三角箭头(不随图)",
-    'besselPointedEarsTailArrowNoGraph':"贝塞尔尖耳燕尾箭头(不随图)",
-    'ordinaryLineArrowNoGraph':"普通折线箭头(不随图)",
-    'combianationArrow':"组合箭头",
-    'symbolAlgo_311':'进攻方向',
-    'symbolAlgo_317':'钳击',
-
-    //new obj
-    'airDeployment':"空军兵力部署",
-    'airRoute':"空军航线",
-    'arcRegion':"扇形区域",
-    'flagGroup':"多旗",
-    'lineRelation':"对象间连线",
-    'polygonRegion':"多边形区域管理",
-    'navyRoute':"海军航线",
-    'missileRoute':"导弹航线",
-    'navyDeployment':"海军兵力部署",
-    'satelliteTimeWindows':"卫星时间窗",
-    'satellite':"卫星",
-    'symbolText':"对象标注",
-    'symbolText1':"对象标注(带指示线)",
-    'interferenceBeam':"干扰波束",
-    'groupObject':"组合对象",
-
-    //routeNodeTypeName
-    'RENDEZVOUS': "会合点",
-    'EXPANDING': "展开点",
-    'VOLLEY': "齐射点",
-    'STANDBY': "待机点",
-    'SUPPLY': "补给点",
-    'TAKEOFF': "起飞点",
-    'INITIAL': "初始点",
-    'VISUALINITAL': "可视初始点",
-    'LANCH': "发射点",
-    'TURNING': "转弯点",
-    'AIMING': "瞄准点",
-    'COMMONROUTE': "普通航路点",
-    'WEAPONLAUNCH': "武器发射点",
-    'TARGET': "目标点",
-    'ATTACK':"攻击点",
-    'SUPPRESS':"压制点",
-    'EIGHTSPIRAL':"八字盘旋点",
-    'HAPPYVALLEY':"跑马圈点",
-
-    'LITERATESIGN':"标牌文字",
-
-    'undoStackOverflow': '撤销的栈溢出',
-
-    //Mapviewer
-    'noContent':'无内容',
-    'lableTitle': '_标签图层'
-
-};
-
-
-
-/***/ }),
-/* 1 */
-/***/ (function(module, exports) {
-
-/*!
- * 
- *          iclient-plot-algorithms-jb.(http://iclient.supermap.io)
- *          Copyright© 2000 - 2018 SuperMap Software Co.Ltd
- *          license: undefined
- *          version: v9.1.0
- *         
- */!function(t){var e={};function l(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,l),i.l=!0,i.exports}l.m=t,l.c=e,l.d=function(t,e,o){l.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},l.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},l.t=function(t,e){if(1&e&&(t=l(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(l.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)l.d(o,i,function(e){return t[e]}.bind(null,i));return o},l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,"a",e),e},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.p="",l(l.s=225)}([function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4021102=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30800),e}();SuperMap.Plot.AlgoSymbol4021102=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4021101=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30800),e}();SuperMap.Plot.AlgoSymbol4021101=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6020404=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit){var e=.3*this.getSubSymbolScaleValue();e>.05&&(e=.05),this.scaleValues[0]=e}for(var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=Math.abs(l*this.scaleValues[0]),i=this.getDashLinePts(t,o),n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},a=1,r=0;r<i.length;r++){var s=i[r];if(0==a%2)if(2===s.length&&r!==i.length-1){var p=new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2),u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*o,s[0],p),c=null;c=this.scaleValues[0]>0?u.pntLeft:u.pntRight,this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[c,s[0],s[1]],n)}else a--;i[r].length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),a++}var P=180*SuperMap.Plot.PlottingUtil.radian(t[0],t[1])/Math.PI;this.scaleValues[0]>0?P+=90:P-=90;var S=SuperMap.Plot.PlottingUtil.circlePoint(t[0],2*o,2*o,P);this.addScalePoint(S),this.finish()}}},{key:"getDashLinePts",value:function(t,e){var l=[],o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(e>o)return l;for(var i=SuperMap.Plot.PlottingUtil.clonePoints(t),n=2*parseInt(o/(1.5*e)),a=0;a<n;a++){var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,e);if(-1!==r.index){if(0==a%2){for(var s=[],p=0;p<r.index+1;p++)s.push(i[p].clone());s.push(r.pt),l.push(s)}var u=[];u.push(r.pt);for(var c=r.index+1;c<i.length;c++)u.push(i[c]);i=(i=[]).concat(u)}}return i.length>0&&l.push(i),l}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=.5*SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;i>=.05&&(i=.05),SuperMap.Plot.PlottingUtil.isRight(e,l[0],l[1])&&(i=-i),this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol6020404=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6020403=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=1.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(1.05));var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);2===this.controlPoints.length&&t.splice(1,0,new SuperMap.Geometry.Point(t[0].x+e,t[0].y));var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),n=SuperMap.Plot.PlottingUtil.distance(l,o),a=n*this.scaleValues[0],r=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI%360,s=180*SuperMap.Plot.PlottingUtil.radian(l,i)/Math.PI%360;r>s&&(s+=360);var p=(s-r)/50,u=this.getArcPts(t[0],n,r,s,p),c=this.getArcPts(t[0],a,r,s,p);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{surroundLineFlag:!1,lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,surroundLineLimit:!0}),3===this.controlPoints.length&&(this.controlPoints[2]=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e,e,s)),this.addScalePoint(new SuperMap.Geometry.Point(c[c.length-1].x,c[c.length-1].y),0),this.finish()}}},{key:"getArcPts",value:function(t,e,l,o,i){void 0!==i&&null!==i||(i=1);for(var n=[],a=l;a<o;a+=i){var r=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,a);n.push(r)}var s=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,o);return n.push(s),n}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),i=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;i>=1.01&&(this.scaleValues[0]=i)}}}]),e}();SuperMap.Plot.AlgoSymbol6020403=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4022102=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(SuperMap.Plot.PlottingUtil.clearSamePts(t),!(t.length<this.minEditPts)){4>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var i=this.scaleValues[0],n=this.scaleValues[2],a=this.scaleValues[3],r=o*i,s=new SuperMap.Geometry.Point(l.x+o*n,l.y+o*a);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],s,r,0);var p=new SuperMap.Geometry.Point(s.x+r,s.y+r/2),u=new SuperMap.Geometry.Point(s.x+r,s.y-r/2),c=.3*r,P=SuperMap.Plot.PlottingUtil.radian(u,p)*SuperMap.Plot.PlottingUtil.RTOD,S=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,P+157.5),h=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,P+202.5),y=new SuperMap.Geometry.Point((S.x+h.x)/2,(S.y+h.y)/2),f=[];f.push(u),f.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,y,h,p],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.addScalePoint(s);var g=r,M=SuperMap.Plot.PlottingUtil.circlePoint(s,g,g,90);this.addScalePoint(M),this.finish(),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol4022102=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4022101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(SuperMap.Plot.PlottingUtil.clearSamePts(t),!(t.length<this.minEditPts)){4>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var i=this.scaleValues[0],n=this.scaleValues[2],a=this.scaleValues[3],r=o*i,s=new SuperMap.Geometry.Point(l.x+o*n,l.y+o*a);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],s,r,0);var p=new SuperMap.Geometry.Point(s.x+r,s.y+r/2),u=new SuperMap.Geometry.Point(s.x+r,s.y-r/2),c=.3*r,P=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,S=SuperMap.Plot.PlottingUtil.circlePoint(u,c,c,P+157.5),h=SuperMap.Plot.PlottingUtil.circlePoint(u,c,c,P+202.5),y=new SuperMap.Geometry.Point((S.x+h.x)/2,(S.y+h.y)/2),f=[];f.push(p),f.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,y,h,u],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.addScalePoint(s);var g=r,M=SuperMap.Plot.PlottingUtil.circlePoint(s,g,g,90);this.addScalePoint(M),this.finish(),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol4022101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4022100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),e}();SuperMap.Plot.AlgoSymbol4022100=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4020402=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.069485),l.scaleValues.push(.15),l.scaleValues.push(.1),l.scaleValues.push(1.731025),l.scaleValues.push(2.076877)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30102),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var i=e*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI,a=e*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==r.index){var s=r.index,p=r.pt,u=new SuperMap.Geometry.Point(o[s].x,o[s].y),c=new SuperMap.Geometry.Point(o[s+1].x,o[s+1].y),P=180*SuperMap.Plot.PlottingUtil.radian(u,c)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(p,a/2,a/2,P+n),h=SuperMap.Plot.PlottingUtil.circlePoint(p,a,a,P+n+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[S,h]);var y=180*SuperMap.Plot.PlottingUtil.radian(p,S)/Math.PI,f=new SuperMap.Geometry.Point(-.2*a,.05*a),g=new SuperMap.Geometry.Point(-.2*a,-.05*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(S,f,y),b=SuperMap.Plot.PlottingUtil.coordinateTrans(S,g,y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,M,b],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var m=.4*a*this.scaleValues[5],d=.4*a*this.scaleValues[6],v=new SuperMap.Geometry.Point(0,-.9*(m-.25*d)),O=new SuperMap.Geometry.Point(0,.9*(m-.25*d)),U=SuperMap.Plot.PlottingUtil.coordinateTrans(h,v,y),w=SuperMap.Plot.PlottingUtil.coordinateTrans(h,O,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[U,w]);var L=new SuperMap.Geometry.Point(0,-m),V=SuperMap.Plot.PlottingUtil.coordinateTrans(h,L,y),_=new SuperMap.Geometry.Point(.5*d,-.25*d),T=new SuperMap.Geometry.Point(-.25*d,-.25*d),A=new SuperMap.Geometry.Point(-.5*d,.25*d),E=new SuperMap.Geometry.Point(.5*d,.25*d),x=SuperMap.Plot.PlottingUtil.coordinateTrans(V,_,y),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(V,T,y),j=SuperMap.Plot.PlottingUtil.coordinateTrans(V,A,y),C=SuperMap.Plot.PlottingUtil.coordinateTrans(V,E,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[x,Y,j,C,x]);var I=new SuperMap.Geometry.Point(0,m),G=SuperMap.Plot.PlottingUtil.coordinateTrans(h,I,y),B=new SuperMap.Geometry.Point(0,.25*d),R=new SuperMap.Geometry.Point(.5*d,0),N=new SuperMap.Geometry.Point(0,-.25*d),D=new SuperMap.Geometry.Point(-.5*d,0),k=SuperMap.Plot.PlottingUtil.coordinateTrans(G,B,y),z=SuperMap.Plot.PlottingUtil.coordinateTrans(G,R,y),F=SuperMap.Plot.PlottingUtil.coordinateTrans(G,N,y),K=SuperMap.Plot.PlottingUtil.coordinateTrans(G,D,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[k,z,F,K,k]),this.addScalePoint(p,0);var q=SuperMap.Plot.PlottingUtil.circlePoint(p,a,a,P+n);this.addScalePoint(q,1);var W=new SuperMap.Geometry.Point(0,-m),J=SuperMap.Plot.PlottingUtil.coordinateTrans(h,W,y);this.addScalePoint(J,2);var Z=new SuperMap.Geometry.Point(-.5*d,0),H=SuperMap.Plot.PlottingUtil.coordinateTrans(G,Z,y);this.addScalePoint(H,3),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol4020402=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4020401=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30100),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var i=e*this.scaleValues[0],n=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,a=e*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==r.index){var s=r.pt,p=r.index,u=new SuperMap.Geometry.Point(s.x,s.y),c=new SuperMap.Geometry.Point(o[p].x,o[p].y),P=new SuperMap.Geometry.Point(o[p+1].x,o[p+1].y),S=SuperMap.Plot.PlottingUtil.radian(c,P)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,1.5*a,1.5*a,S+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,h]);var y=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,f=new SuperMap.Geometry.Point(-.2*a,.05*a),g=new SuperMap.Geometry.Point(-.2*a,-.05*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(h,f,y),b=SuperMap.Plot.PlottingUtil.coordinateTrans(h,g,y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[h,M,b],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var m=new SuperMap.Geometry.Point(.6*a,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(u,m,y),v=.4*a*this.scaleValues[5],O=.4*a*this.scaleValues[6],U=new SuperMap.Geometry.Point(0,-.9*(v-.25*O)),w=new SuperMap.Geometry.Point(0,.9*(v-.25*O)),L=SuperMap.Plot.PlottingUtil.coordinateTrans(d,U,y),V=SuperMap.Plot.PlottingUtil.coordinateTrans(d,w,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[L,V]);var _=new SuperMap.Geometry.Point(0,v),T=SuperMap.Plot.PlottingUtil.coordinateTrans(d,_,y),A=new SuperMap.Geometry.Point(.5*O,-.25*O),E=new SuperMap.Geometry.Point(-.5*O,-.25*O),x=new SuperMap.Geometry.Point(-.5*O,.25*O),Y=new SuperMap.Geometry.Point(.25*O,.25*O),j=new SuperMap.Geometry.Point(.5*O,0),C=SuperMap.Plot.PlottingUtil.coordinateTrans(T,A,y+180),I=SuperMap.Plot.PlottingUtil.coordinateTrans(T,E,y+180),G=SuperMap.Plot.PlottingUtil.coordinateTrans(T,x,y+180),B=SuperMap.Plot.PlottingUtil.coordinateTrans(T,Y,y+180),R=SuperMap.Plot.PlottingUtil.coordinateTrans(T,j,y+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[C,I,G,B,C]);var N=new SuperMap.Geometry.Point(0,-v),D=SuperMap.Plot.PlottingUtil.coordinateTrans(d,N,y),k=SuperMap.Plot.PlottingUtil.coordinateTrans(D,A,y+180),z=SuperMap.Plot.PlottingUtil.coordinateTrans(D,E,y+180),F=SuperMap.Plot.PlottingUtil.coordinateTrans(D,x,y+180),K=SuperMap.Plot.PlottingUtil.coordinateTrans(D,Y,y+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[k,z,F,K,k]),this.addScalePoint(s,0),this.addScalePoint(h,1);var q=new SuperMap.Geometry.Point(0,-v),W=SuperMap.Plot.PlottingUtil.coordinateTrans(d,q,y);this.addScalePoint(W,2),this.addScalePoint(R,3),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol4020401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4020303=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.069485),l.scaleValues.push(.14),l.scaleValues.push(.1),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.scaleValues.length<5&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(Math.PI/2),this.scaleValues.push(.069485),this.scaleValues.push(.14),this.scaleValues.push(.1),this.scaleValues.push(.1));var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[2]=1.5*o,this.scaleValues[4]=.5*o,this.scaleValues[5]=.5*o}var i=l*this.scaleValues[4],n=this.scaleValues[0]-this.scaleValues[3];n<0&&(n=0);var a=this.scaleValues[0]+this.scaleValues[3];a>1&&(a=1);var r=this.getLinePts(e,this.scaleValues[4],n),s=this.getLinePts(e,this.scaleValues[4],a),p=new SuperMap.Geometry.Point((r.startPt.x+r.endPt.x)/2,(r.startPt.y+r.endPt.y)/2),u=SuperMap.Plot.PlottingUtil.radian(r.startPt,r.endPt)*SuperMap.Plot.PlottingUtil.RTOD;this.createSubSymbol1(p,i,u);var c=new SuperMap.Geometry.Point((s.startPt.x+s.endPt.x)/2,(s.startPt.y+s.endPt.y)/2),P=SuperMap.Plot.PlottingUtil.radian(s.startPt,s.endPt)*SuperMap.Plot.PlottingUtil.RTOD;this.createSubSymbol2(c,i,P);for(var S=[],h=[],y=[],f=0;f<=r.startIndex;f++)S.push(e[f]);if(S.push(r.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),r.endIndex<=s.startIndex){h.push(r.endPt);for(var g=r.endIndex+1;g<=s.startIndex;g++)h.push(e[g]);h.push(s.startPt),2===e.length&&SuperMap.Plot.PlottingUtil.distance(e[0],r.endPt)<=SuperMap.Plot.PlottingUtil.distance(e[0],s.startPt)&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),e.length>2&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}y.push(s.endPt);for(var M=s.endIndex+1;M<e.length;M++)y.push(e[M]);this.addArrow(y,this.scaleValues[5]);var b=l*this.scaleValues[0],m=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,d=l*this.scaleValues[2],v=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,b);if(-1!==v.index){var O=v.pt,U=new SuperMap.Geometry.Point(e[v.index].x,e[v.index].y),w=new SuperMap.Geometry.Point(e[v.index+1].x,e[v.index+1].y),L=SuperMap.Plot.PlottingUtil.radian(U,w)*SuperMap.Plot.PlottingUtil.RTOD,V=SuperMap.Plot.PlottingUtil.circlePoint(O,d,d,m+L-180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[O,V]);var _=SuperMap.Plot.PlottingUtil.radian(O,V)*SuperMap.Plot.PlottingUtil.RTOD,T=new SuperMap.Geometry.Point(-.2*d,.05*d),A=new SuperMap.Geometry.Point(-.2*d,-.05*d),E=SuperMap.Plot.PlottingUtil.coordinateTrans(V,T,_),x=SuperMap.Plot.PlottingUtil.coordinateTrans(V,A,_);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[V,E,x],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addScalePoint(v.pt,0),this.addScalePoint(V,1),this.addScalePoint(p,2),this.addScalePoint(r.startPt,3),this.finish()}}}},{key:"createSubSymbol1",value:function(t,e,l){var o=this.getSubSymbolPts(e);this.createSubSymbol(t,e,l,o)}},{key:"createSubSymbol2",value:function(t,e,l){var o=this.getSubSymbolPts1(e);this.createSubSymbol(t,e,l,o)}},{key:"createSubSymbol",value:function(t,e,l,o){for(var i=[],n=0;n<o.length;n++){var a=SuperMap.Plot.PlottingUtil.coordinateTrans(t,o[n],l);i.push(a)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,i)}},{key:"getSubSymbolPts",value:function(t){var e=t,l=[];return l.push(new SuperMap.Geometry.Point(0,2*e)),l.push(new SuperMap.Geometry.Point(-e,0)),l.push(new SuperMap.Geometry.Point(0,-2*e)),l.push(new SuperMap.Geometry.Point(e,0)),l}},{key:"getSubSymbolPts1",value:function(t){var e=t,l=[];return l.push(new SuperMap.Geometry.Point(e,2*e)),l.push(new SuperMap.Geometry.Point(-e,2*e)),l.push(new SuperMap.Geometry.Point(-e,-2*e)),l.push(new SuperMap.Geometry.Point(e,-e)),l}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r,s,p,u,c,P,S,h=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){i=-1,n=0,a=new SuperMap.Geometry.Point(0,0);for(var y=0;y<o.length-1;y++)(r=[]).push(o[y]),r.push(o[y+1]),s=SuperMap.Plot.PlottingUtil.projectPoint(e,o[y],o[y+1]),-1!==(p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(s,r)).index&&(u=SuperMap.Plot.PlottingUtil.distance(e,s),-1==i?(i=y,a=s,n=u):n>u&&(i=y,a=s,n=u));if(-1==i||i>o.length-1)return;c=0;for(var f=0;f<i;f++)c+=SuperMap.Plot.PlottingUtil.distance(o[f],o[f+1]);if((c+=SuperMap.Plot.PlottingUtil.distance(o[i],a))<0||c>h)return;var g=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(this.scalePoints[0],o),M=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(this.scalePoints[3],o),b=0;g.index===M.index&&(b=SuperMap.Plot.PlottingUtil.distance(this.scalePoints[0],this.scalePoints[3]));for(var m=M.index;m<g.index;m++)b+=SuperMap.Plot.PlottingUtil.distance(o[m],o[m+1]);c<b+.5?c=b+.5:c>h-b-.5&&(c=h-b-.5),this.scaleValues[0]=c/h}else if(1===t){var d=h*this.scaleValues[0],v=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,d);if(-1===v.index)return;var O=o[v.index],U=o[v.index+1],w=SuperMap.Plot.PlottingUtil.radian(O,U),L=SuperMap.Plot.PlottingUtil.radian(v.pt,e);this.scaleValues[1]=L-w-Math.PI;var V=SuperMap.Plot.PlottingUtil.distance(v.pt,e);this.scaleValues[2]=V/h}else if(2===t){i=-1,n=0,a=new SuperMap.Geometry.Point(0,0);for(var _=0;_<o.length-1;_++)(r=[]).push(o[_]),r.push(o[_+1]),s=SuperMap.Plot.PlottingUtil.projectPoint(e,o[_],o[_+1]),-1!==(p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(s,r)).index&&(u=SuperMap.Plot.PlottingUtil.distance(e,s),-1==i?(i=_,a=s,n=u):n>u&&(i=_,a=s,n=u));if(-1!==i&&i<=o.length-1){c=0;for(var T=0;T<i;T++)c+=SuperMap.Plot.PlottingUtil.distance(o[T],o[T+1]);c+=SuperMap.Plot.PlottingUtil.distance(o[i],a);var A=this.getLinePts(o,this.scaleValues[4],5/14),E=SuperMap.Plot.PlottingUtil.distance(A.startPt,A.endPt)/3*2/h;if(c>0&&c<h){var x=c/h;x<E&&(x=E),x>1-E&&(x=1-E),this.scaleValues[3]=Math.abs(x-this.scaleValues[0])}}}else if(3===t)if(this.scaleValues[0]>.5){var Y=this.scaleValues[0]+this.scaleValues[3],j=h*(P=this.scaleValues[0]-this.scaleValues[3]),C=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,j);-1!==C.index&&((S=SuperMap.Plot.PlottingUtil.distance(C.pt,e)/h)>1-Y&&(S=1-Y),this.scaleValues[4]=S)}else{var I=h*(P=this.scaleValues[0]-this.scaleValues[3]);-1!==(p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,I)).index&&((S=SuperMap.Plot.PlottingUtil.distance(p.pt,e)/h)>P&&(S=P),this.scaleValues[4]=S)}}}}]),e}();SuperMap.Plot.AlgoSymbol4020303=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4011101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(-.1),l.scaleValues.push(0),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[0]=i/o,this.scaleValues[3]=i/o}var n=this.scaleValues[0],a=this.scaleValues[1],r=this.scaleValues[3],s=this.scaleValues[4],p=this.scaleValues[6],u=this.scaleValues[7],c=this.scaleValues[8],P=this.scaleValues[9],S=new SuperMap.Geometry.Point(l.x+o*p,l.y+o*u),h=new SuperMap.Geometry.Point(l.x+o*c,l.y+o*P),y=[],f=.15*SuperMap.Plot.PlottingUtil.distance(S,h),g=SuperMap.Plot.PlottingUtil.linePnt(S,h,f),M=SuperMap.Plot.PlottingUtil.linePnt(h,S,f);y.push(g),y.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var b=o*n,m=a;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,b,m+90);var d=o*r,v=s;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],h,d,v+90),this.addScalePoint(S);var O=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*b,.5*b,m);this.addScalePoint(O),this.addScalePoint(h);var U=SuperMap.Plot.PlottingUtil.circlePoint(h,.5*d,.5*d,v);this.addScalePoint(U),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r,s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=e;if(0==t)i=(u.x-s.x)/p,this.scaleValues[6]=i,n=(u.y-s.y)/p,this.scaleValues[7]=n;else if(1==t){i=this.scaleValues[6],n=this.scaleValues[7];var c=new SuperMap.Geometry.Point(s.x+p*i,s.y+p*n),P=2*SuperMap.Plot.PlottingUtil.distance(c,u)/p;this.scaleValues[0]=P;var S=180*SuperMap.Plot.PlottingUtil.radian(c,u)/Math.PI;this.scaleValues[1]=S,this.scaleValues[2]=0<=S&&S<90?1:90<=S&&S<180?2:180<=S&&S<270?3:4}else if(2==t)a=(u.x-s.x)/p,this.scaleValues[8]=a,r=(u.y-s.y)/p,this.scaleValues[9]=r;else if(3==t){a=this.scaleValues[8],r=this.scaleValues[9];var h=new SuperMap.Geometry.Point(s.x+p*a,s.y+p*r),y=2*SuperMap.Plot.PlottingUtil.distance(h,u)/p;this.scaleValues[3]=y;var f=180*SuperMap.Plot.PlottingUtil.radian(h,u)/Math.PI;this.scaleValues[4]=f,this.scaleValues[5]=0<=f&&f<90?1:90<=f&&f<180?2:180<=f&&f<270?3:4}}}}]),e}();SuperMap.Plot.AlgoSymbol4011101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4011100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(-.1),l.scaleValues.push(0),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[0]=i/o,this.scaleValues[3]=i/o}var n=this.scaleValues[0],a=this.scaleValues[1],r=this.scaleValues[3],s=this.scaleValues[4],p=this.scaleValues[6],u=this.scaleValues[7],c=this.scaleValues[8],P=this.scaleValues[9],S=new SuperMap.Geometry.Point(l.x+o*p,l.y+o*u),h=new SuperMap.Geometry.Point(l.x+o*c,l.y+o*P),y=[],f=.15*SuperMap.Plot.PlottingUtil.distance(S,h),g=SuperMap.Plot.PlottingUtil.linePnt(S,h,f),M=SuperMap.Plot.PlottingUtil.linePnt(h,S,f);y.push(g),y.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var b=o*n,m=a;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,b,m-90);var d=o*r,v=s;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],h,d,v-90),this.addScalePoint(S);var O=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*b,.5*b,m);this.addScalePoint(O),this.addScalePoint(h);var U=SuperMap.Plot.PlottingUtil.circlePoint(h,.5*d,.5*d,v);this.addScalePoint(U),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r,s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=e;if(0==t)i=(u.x-s.x)/p,this.scaleValues[6]=i,n=(u.y-s.y)/p,this.scaleValues[7]=n;else if(1==t){i=this.scaleValues[6],n=this.scaleValues[7];var c=new SuperMap.Geometry.Point(s.x+p*i,s.y+p*n),P=2*SuperMap.Plot.PlottingUtil.distance(c,u)/p;this.scaleValues[0]=P;var S=180*SuperMap.Plot.PlottingUtil.radian(c,u)/Math.PI;this.scaleValues[1]=S,this.scaleValues[2]=0<=S&&S<90?1:90<=S&&S<180?2:180<=S&&S<270?3:4}else if(2==t)a=(u.x-s.x)/p,this.scaleValues[8]=a,r=(u.y-s.y)/p,this.scaleValues[9]=r;else if(3==t){a=this.scaleValues[8],r=this.scaleValues[9];var h=new SuperMap.Geometry.Point(s.x+p*a,s.y+p*r),y=2*SuperMap.Plot.PlottingUtil.distance(h,u)/p;this.scaleValues[3]=y;var f=180*SuperMap.Plot.PlottingUtil.radian(h,u)/Math.PI;this.scaleValues[4]=f,this.scaleValues[5]=0<=f&&f<90?1:90<=f&&f<180?2:180<=f&&f<270?3:4}}}}]),e}();SuperMap.Plot.AlgoSymbol4011100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4010905=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.333333),l.scaleValues.push(.333333),l.scaleValues.push(.125),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23901),e}();SuperMap.Plot.AlgoSymbol4010905=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4010801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol4010800),e}();SuperMap.Plot.AlgoSymbol4010801=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4010800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){4>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l,o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),i=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var n=(l=1.5*this.getDefaultSubSymbolSize())/i;n>.2&&(n=.2),this.scaleValues[0]=n}var a=this.scaleValues[0],r=this.scaleValues[2],s=this.scaleValues[3];l=i*a;var p=new SuperMap.Geometry.Point(o.x+i*r,o.y+i*s);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,l,0);for(var u=0;u<this.components.length;u++)this.components[u].style.strokeColor="#0000ff",this.components[u].style.lineColorLimit=!0,this.components[u].style.strokeOpacity=1,this.components[u].style.color="#0000ff",this.components[u].style.opacity=1;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e),this.addScalePoint(p);var c=l,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol4010800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3032000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(-.1),l.scaleValues.push(0),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23600),e}();SuperMap.Plot.AlgoSymbol3032000=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3020901=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.125)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(2==t.length){var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=SuperMap.Plot.PlottingUtil.distance(l,o),n=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI,a=SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n+60);e.push(t[0]),e.push(o),e.push(a),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);for(var r=0;r<t.length;r++)e.push(t[r])}var s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),p=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var u=this.scaleValues[0],c=this.scaleValues[1],P=this.scaleValues[2],S=new SuperMap.Geometry.Point(s.x+p*u,s.y+p*c),h=p*P;0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],S,h,0),this.addScalePoint(S.clone());var y=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*h,.5*h,90);this.addScalePoint(y),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];if(2==l.length){var i=new SuperMap.Geometry.Point(l[0].x,l[0].y),n=new SuperMap.Geometry.Point(l[1].x,l[1].y),a=SuperMap.Plot.PlottingUtil.distance(i,n),r=180*SuperMap.Plot.PlottingUtil.radian(i,n)/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(i,a,a,r+60);o.push(l[0]),o.push(n),o.push(s),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);for(var p=0;p<l.length;p++)o.push(l[p])}var u=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),c=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)this.scaleValues[0]=(e.x-u.x)/c,this.scaleValues[1]=(e.y-u.y)/c;else if(1===t){var P=new SuperMap.Geometry.Point(u.x+c*this.scaleValues[0],u.y+c*this.scaleValues[1]),S=2*SuperMap.Plot.PlottingUtil.distance(e,P)/c;S<.5&&(this.scaleValues[2]=S)}}}}]),e}();SuperMap.Plot.AlgoSymbol3020901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010304=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="协",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010304=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010303=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="出",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010303=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6020402=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol6020400),o(e,[{key:"getSubSymbolPts",value:function(t){var e=[],l=[];l.push(new SuperMap.Geometry.Point(-t/2,0)),l.push(new SuperMap.Geometry.Point(t/2,0)),e.push(l);var o=[];return o.push(new SuperMap.Geometry.Point(0,0)),o.push(new SuperMap.Geometry.Point(0,t/2)),e.push(o),e}}]),e}();SuperMap.Plot.AlgoSymbol6020402=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6020401=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol6020400),o(e,[{key:"getSubSymbolPts",value:function(t){var e=[],l=[];l.push(new SuperMap.Geometry.Point(-t/2,0)),l.push(new SuperMap.Geometry.Point(t/2,0)),e.push(l);var o=[];return o.push(new SuperMap.Geometry.Point(0,-t/2)),o.push(new SuperMap.Geometry.Point(0,t/2)),e.push(o),e}}]),e}();SuperMap.Plot.AlgoSymbol6020401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6020400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.05));var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);2===this.controlPoints.length&&t.splice(1,0,new SuperMap.Geometry.Point(t[0].x+e,t[0].y));var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),n=e,a=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI%360,r=180*SuperMap.Plot.PlottingUtil.radian(l,i)/Math.PI%360;if(a>r&&(r+=360),!this.isEdit){var s=.5*this.getDefaultSubSymbolSize()/n;s>.1&&(s=.1),this.scaleValues[0]=s}var p=n*this.scaleValues[0],u=180*Math.atan(.5*p/n)/Math.PI,c=(r-a)/3,P=(r-a)/50,S=this.getArcPts(t[0],n,a,a+c-1.8*u,P);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=this.getArcPts(t[0],n,a+c+1.8*u,a+2*c-1.8*u,P);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=this.getArcPts(t[0],n,a+2*c+1.8*u,r,P);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var f=a+c+90,g=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e,e,a+c);this.createSubSymbol(g,p,f);var M=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e,e,a+2*c),b=a+2*c+90;this.createSubSymbol(M,p,b);var m=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e+p,e+p,a+c);this.addScalePoint(m),3===this.controlPoints.length&&(this.controlPoints[2]=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e,e,r)),this.finish()}}},{key:"getArcPts",value:function(t,e,l,o,i){void 0!==i&&null!==i||(i=1);for(var n=[],a=l;a<o;a+=i){var r=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,a);n.push(r)}var s=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,o);return n.push(s),n}},{key:"createSubSymbol",value:function(t,e,l){for(var o=this.getSubSymbolPts(e),i=0;i<o.length;i++){for(var n=o[i],a=[],r=0;r<n.length;r++){var s=SuperMap.Plot.PlottingUtil.coordinateTrans(t,n[r],l);a.push(s)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a)}}},{key:"getSubSymbolPts",value:function(t){var e=[],l=[];l.push(new SuperMap.Geometry.Point(-t/2,0)),l.push(new SuperMap.Geometry.Point(t/2,0)),e.push(l);var o=[];return o.push(new SuperMap.Geometry.Point(0,-t/2)),o.push(new SuperMap.Geometry.Point(0,0)),e.push(o),e}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);2===this.controlPoints.length&&l.splice(1,0,new SuperMap.Geometry.Point(l[0].x+o,l[0].y));var i=new SuperMap.Geometry.Point(l[0].x,l[0].y),n=new SuperMap.Geometry.Point(l[1].x,l[1].y),a=new SuperMap.Geometry.Point(l[2].x,l[2].y),r=SuperMap.Plot.PlottingUtil.distance(i,n),s=180*SuperMap.Plot.PlottingUtil.radian(i,n)/Math.PI%360,p=180*SuperMap.Plot.PlottingUtil.radian(i,a)/Math.PI%360;s>p&&(p+=360);var u=(p-s)/3,c=SuperMap.Plot.PlottingUtil.circlePoint(l[0],o,o,s+u),P=SuperMap.Plot.PlottingUtil.distance(c,e)/r;P<=.6&&(this.scaleValues[0]=P)}}}]),e}();SuperMap.Plot.AlgoSymbol6020400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010302=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="冲",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010302=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="调",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010301=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010108=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3010107),e}();SuperMap.Plot.AlgoSymbol3010108=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010107=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);0==this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.05):1==this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue(l),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var o=this.getLinePts(e,this.scaleValues[0]),i=new SuperMap.Geometry.Point((o.startPt.x+o.endPt.x)/2,(o.startPt.y+o.endPt.y)/2),n=180*SuperMap.Plot.PlottingUtil.radian(o.startPt,o.endPt)/Math.PI,a=SuperMap.Plot.PlottingUtil.distance(o.startPt,o.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],i,a,n-90);for(var r=[],s=[],p=0;p<=o.startIndex;p++)r.push(e[p]);if(r.push(o.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),o.endIndex<=e.length){s.push(o.endPt);for(var u=o.endIndex+1;u<=e.length-1;u++)s.push(e[u]);this.addArrow(s,this.scaleValues[1])}var c=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),P=SuperMap.Plot.PlottingUtil.circlePoint(c.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,n+90);this.addScalePoint(P,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol3010107=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010106=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.05):1==this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.8*this.getSubSymbolScaleValue(l),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var o=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,.3*l);if(-1!==o.index){var i=o.pt,n=o.index,a=l*this.scaleValues[0]*.5,r=SuperMap.Plot.PlottingUtil.radian(i,e[n+1])*SuperMap.Plot.PlottingUtil.RTOD,s=SuperMap.Plot.PlottingUtil.circlePoint(i,a,a,r+90),p=SuperMap.Plot.PlottingUtil.circlePoint(i,a,a,r-90),u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i,s),c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i,p);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u.pntLeft,u.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c.pntLeft,c.pntRight]);var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,.6*l);if(-1!==P.index){var S=P.pt,h=P.index,y=SuperMap.Plot.PlottingUtil.radian(S,e[h+1])*SuperMap.Plot.PlottingUtil.RTOD,f=SuperMap.Plot.PlottingUtil.circlePoint(S,a,a,y+90),g=SuperMap.Plot.PlottingUtil.circlePoint(S,a,a,y-90),M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,S,f),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,S,g);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[M.pntLeft,M.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[b.pntLeft,b.pntRight]),this.addArrow(e,this.scaleValues[1]),this.addScalePoint(g,0),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.6*i,o);if(!n.bfind)return;var a=2*SuperMap.Plot.PlottingUtil.distance(e,n.pts);this.scaleValues[0]=a/i}}}]),e}();SuperMap.Plot.AlgoSymbol3010106=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010105=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3010102),o(e,[{key:"getSubSymbolPts",value:function(t){var e=t/4,l=[];l.push(new SuperMap.Geometry.Point(-2*e,-e)),l.push(new SuperMap.Geometry.Point(e,-e));for(var o=-90;o<=90;o+=5)l.push(SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(e,0),e,e,o));return l.push(new SuperMap.Geometry.Point(e,e)),l.push(new SuperMap.Geometry.Point(-2*e,e)),l}}]),e}();SuperMap.Plot.AlgoSymbol3010105=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010104=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3010102),o(e,[{key:"getSubSymbolPts",value:function(t){var e=t/4,l=[];return l.push(new SuperMap.Geometry.Point(2*e,0)),l.push(new SuperMap.Geometry.Point(0,e)),l.push(new SuperMap.Geometry.Point(-2*e,0)),l.push(new SuperMap.Geometry.Point(0,-e)),l.push(new SuperMap.Geometry.Point(-e,-e)),l.push(new SuperMap.Geometry.Point(e,-e)),l.push(new SuperMap.Geometry.Point(0,-e)),l}}]),e}();SuperMap.Plot.AlgoSymbol3010104=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010103=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3010102),o(e,[{key:"createSubSymbol1",value:function(t,e,l){var o=this.getSubSymbolPts1(e);this.createSubSymbol(t,e,l,o)}},{key:"createSubSymbol2",value:function(t,e,l){var o=this.getSubSymbolPts2(e);this.createSubSymbol(t,e,l,o)}},{key:"getSubSymbolPts1",value:function(t){var e=t/4,l=[];return l.push(new SuperMap.Geometry.Point(-2*e,-e)),l.push(new SuperMap.Geometry.Point(2*e,-e)),l.push(new SuperMap.Geometry.Point(e,e)),l.push(new SuperMap.Geometry.Point(-2*e,e)),l}},{key:"getSubSymbolPts2",value:function(t){var e=t/4,l=[];return l.push(new SuperMap.Geometry.Point(-2*e,0)),l.push(new SuperMap.Geometry.Point(0,-e)),l.push(new SuperMap.Geometry.Point(2*e,0)),l.push(new SuperMap.Geometry.Point(0,e)),l}}]),e}();SuperMap.Plot.AlgoSymbol3010103=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3010102=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.05):1==this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue(),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=e*this.scaleValues[0],i=this.getLinePts(l,this.scaleValues[0],5/14),n=this.getLinePts(l,this.scaleValues[0],9/14),a=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI;this.createSubSymbol1(a,o,r);var s=new SuperMap.Geometry.Point((n.startPt.x+n.endPt.x)/2,(n.startPt.y+n.endPt.y)/2),p=180*SuperMap.Plot.PlottingUtil.radian(n.startPt,n.endPt)/Math.PI;this.createSubSymbol2(s,o,p);var u=SuperMap.Plot.PlottingUtil.circlePoint(s,.5*o,.5*o,p+90);this.addScalePoint(u);for(var c=[],P=[],S=[],h=0;h<=i.startIndex;h++)c.push(l[h]);if(c.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),i.endIndex<=n.startIndex){P.push(i.endPt);for(var y=i.endIndex+1;y<=n.startIndex;y++)P.push(l[y]);P.push(n.startPt),2===l.length&&SuperMap.Plot.PlottingUtil.distance(l[0],i.endPt)<=SuperMap.Plot.PlottingUtil.distance(l[0],n.startPt)&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),l.length>2&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P)}S.push(n.endPt);for(var f=n.endIndex+1;f<l.length;f++)S.push(l[f]);this.addArrow(S,this.scaleValues[1]),this.finish()}}},{key:"createSubSymbol1",value:function(t,e,l){var o=this.getSubSymbolPts(e);this.createSubSymbol(t,e,l,o)}},{key:"createSubSymbol2",value:function(t,e,l){var o=this.getSubSymbolPts(e);this.createSubSymbol(t,e,l,o)}},{key:"createSubSymbol",value:function(t,e,l,o){for(var i=[],n=0;n<o.length;n++){var a=SuperMap.Plot.PlottingUtil.coordinateTrans(t,o[n],l);i.push(a)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,i)}},{key:"getSubSymbolPts",value:function(t){var e=t/2,l=[];return l.push(new SuperMap.Geometry.Point(-2*e,0)),l.push(new SuperMap.Geometry.Point(0,-e)),l.push(new SuperMap.Geometry.Point(2*e,0)),l.push(new SuperMap.Geometry.Point(0,e)),l}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(9*i/14,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;a<=.3&&(this.scaleValues[0]=a)}}}]),e}();SuperMap.Plot.AlgoSymbol3010102=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2890001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.05),l.scaleValues.push(180)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){3!==this.scaleValues.length&&(this.scaleValues=[.5,.05,180]);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var a=l*o,r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(-1!==r.index){for(var s=[],p=0;p<=r.index;p++)s.push(e[p]);var u,c,P,S,h=l*i,y=[];if(a-SuperMap.Plot.PlottingUtil.polylineDistance(s)>(h*=.5)){u=SuperMap.Plot.PlottingUtil.linePnt(r.pts,e[r.index],h),s.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),c=SuperMap.Plot.PlottingUtil.linePnt(r.pts,e[r.index+1],h),y.push(c);for(var f=e.length,g=r.index+1;g<f;++g)y.push(e[g])}else{for(var M=-1,b=s.length-1;b>=0;b--)if(P=new SuperMap.Geometry.Point(s[b].x,s[b].y),S=new SuperMap.Geometry.Point(r.pts.x,r.pts.y),SuperMap.Plot.PlottingUtil.distance(P,S)>h){M=b;break}if(-1===M)return;s.splice(M+1,s.length-1-M),u=SuperMap.Plot.PlottingUtil.linePnt(r.pts,e[M],h),s.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var m=-1,d=r.index;d<e.length;d++)if(P=new SuperMap.Geometry.Point(e[d].x,e[d].y),S=new SuperMap.Geometry.Point(r.pts.x,r.pts.y),SuperMap.Plot.PlottingUtil.distance(P,S)>h){m=d;break}if(-1===m)return;c=SuperMap.Plot.PlottingUtil.linePnt(r.pts,e[m],h),y.push(c);for(var v=m+1;v<e.length;++v)y.push(e[v])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var O=y[0],U=s[s.length-1],w=new SuperMap.Geometry.Point((O.x+U.x)/2,(O.y+U.y)/2);r.x=w.x,r.y=w.y;var L=h,V=new SuperMap.Geometry.Point(.5*L,L),_=new SuperMap.Geometry.Point(.5*L,-L),T=new SuperMap.Geometry.Point(-.5*L,-L),A=new SuperMap.Geometry.Point(-.5*L,L),E=[],x=SuperMap.Plot.PlottingUtil.coordinateTrans(w,V,n),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(w,_,n),j=SuperMap.Plot.PlottingUtil.coordinateTrans(w,T,n),C=SuperMap.Plot.PlottingUtil.coordinateTrans(w,A,n);E.push(x),E.push(Y),E.push(j),E.push(C),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,E);var I=new SuperMap.Geometry.Point(0,-2*L),G=new SuperMap.Geometry.Point(.15*L,-1.6*L),B=new SuperMap.Geometry.Point(-.15*L,-1.6*L),R=SuperMap.Plot.PlottingUtil.coordinateTrans(w,I,n),N=SuperMap.Plot.PlottingUtil.coordinateTrans(w,G,n),D=SuperMap.Plot.PlottingUtil.coordinateTrans(w,B,n),k=[];k.push(R),k.push(N),k.push(D);var z={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.NONE};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,k,z);var F=new SuperMap.Geometry.Point(0,-L),K=SuperMap.Plot.PlottingUtil.coordinateTrans(w,F,n);(k=[]).push(K),k.push(R),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,k),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],w,1.5*L,n+90);for(var q=.02*l,W=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(q,e[1],e[0]),J=.5*SuperMap.Plot.PlottingUtil.distance(e[0],W.pntLeft),Z=new SuperMap.Geometry.Point((e[0].x+W.pntLeft.x)/2,(e[0].y+W.pntLeft.y)/2),H=SuperMap.Plot.PlottingUtil.radian(e[1],e[0])*SuperMap.Plot.PlottingUtil.RTOD,Q=[],X=270+H;X<=360+H;X+=5)Q.push(SuperMap.Plot.PlottingUtil.circlePoint(Z,J,J,X));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Q),V=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(q,e[e.length-2],e[e.length-1]);for(var $=new SuperMap.Geometry.Point((e[e.length-1].x+V.pntRight.x)/2,(e[e.length-1].y+V.pntRight.y)/2),tt=SuperMap.Plot.PlottingUtil.radian(e[e.length-1],V.pntRight)*SuperMap.Plot.PlottingUtil.RTOD,et=[],lt=90+tt;lt<=180+tt;lt+=5)et.push(SuperMap.Plot.PlottingUtil.circlePoint($,J,J,lt));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,et),this.scalePoints=[],this.addScalePoint(w,0);var ot=new SuperMap.Geometry.Point(0,-2*h),it=SuperMap.Plot.PlottingUtil.coordinateTrans(w,ot,this.scaleValues[2]);this.addScalePoint(it,1),this.finish()}}}},{key:"GetSymbolPt",value:function(){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){3!==this.scaleValues.length&&(this.scaleValues=[.5,.05,0]);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=this.scaleValues[0],i=this.scaleValues[1],n=l*o,a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,e);if(-1!==a.index){for(var r=[],s=0;s<=a.index;s++)r.push(e[s]);var p,u,c,P,S=l*i,h=[];if(n-SuperMap.Plot.PlottingUtil.polylineDistance(r)>(S*=.5)){p=SuperMap.Plot.PlottingUtil.linePnt(a.pts,e[a.index],S),r.push(p),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),u=SuperMap.Plot.PlottingUtil.linePnt(a.pts,e[a.index+1],S),h.push(u);for(var y=e.length,f=a.index+1;f<y;++f)h.push(e[f])}else{for(var g=-1,M=r.length-1;M>=0;M--)if(c=new SuperMap.Geometry.Point(r[M].x,r[M].y),P=new SuperMap.Geometry.Point(a.pts.x,a.pts.y),SuperMap.Plot.PlottingUtil.distance(c,P)>S){g=M;break}if(-1===g)return;r.splice(g+1,r.length-1-g),p=SuperMap.Plot.PlottingUtil.linePnt(a.pts,e[g],S),r.push(p);for(var b=-1,m=a.index;m<e.length;m++)if(c=new SuperMap.Geometry.Point(e[m].x,e[m].y),P=new SuperMap.Geometry.Point(a.pts.x,a.pts.y),SuperMap.Plot.PlottingUtil.distance(c,P)>S){b=m;break}if(-1===b)return;u=SuperMap.Plot.PlottingUtil.linePnt(a.pts,e[b],S),h.push(u);for(var d=b+1;d<e.length;++d)h.push(e[d])}var v=h[0],O=r[r.length-1];return new SuperMap.Geometry.Point((v.x+O.x)/2,(v.y+O.y)/2)}}}},{key:"computeScaleValues",value:function(t,e){if((0===t||1===t)&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){i=new SuperMap.Geometry.Point(e.x,e.y);for(var s=[],p=0;p<o.length;p++)s.push(o[p]);for(var u=-1,c=0,P=new SuperMap.Geometry.Point(0,0),S=0;S<s.length-1;S++){var h=[];h.push(s[S]),h.push(s[S+1]);var y=SuperMap.Plot.PlottingUtil.projectPoint(i,s[S],s[S+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(y,h).index){var f=SuperMap.Plot.PlottingUtil.distance(i,y);-1===u?(u=S,P=y,c=f):c>f&&(u=S,P=y,c=f)}}if(-1===u||u>s.length-1)return;n=0;for(var g=0;g<u;g++){var M=new SuperMap.Geometry.Point(o[g].x,o[g].y),b=new SuperMap.Geometry.Point(o[g+1].x,o[g+1].y);n+=SuperMap.Plot.PlottingUtil.distance(M,b)}var m=new SuperMap.Geometry.Point(o[u].x,o[u].y);a=(n+=SuperMap.Plot.PlottingUtil.distance(m,P))/r;var d=.4-this.scaleValues[1]+.5,v=.5-(.4-this.scaleValues[1]);a>=d&&(a=d),a<=v&&(a=v),this.scaleValues[0]=a}else if(1===t){i=new SuperMap.Geometry.Point(e.x,e.y);var O=this.GetSymbolPt();a=(n=SuperMap.Plot.PlottingUtil.distance(i,O))/r;var U=this.scaleValues[0]<.4?this.scaleValues[0]:1-this.scaleValues[0];a>=U&&(a=U),this.scaleValues[1]=a;var w=SuperMap.Plot.PlottingUtil.radian(O,i)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[2]=w-270}}}}]),e}();SuperMap.Plot.AlgoSymbol2890001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2350001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(0),l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(-.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){4>=this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(0),this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(-.05));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var i=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[0]=i/o*.8,this.scaleValues[3]=i/o*.8}var n=this.scaleValues[0],a=this.scaleValues[1],r=this.scaleValues[3],s=this.scaleValues[4],p=this.scaleValues[6],u=this.scaleValues[7],c=this.scaleValues[8],P=this.scaleValues[9],S=new SuperMap.Geometry.Point(l.x+o*p,l.y+o*u),h=new SuperMap.Geometry.Point(l.x+o*c,l.y+o*P),y=o*n,f=a;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,y,f);var g=o*r,M=s;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],h,g,M),this.addScalePoint(S);var b=SuperMap.Plot.PlottingUtil.circlePoint(S,y,y,f);this.addScalePoint(b),this.addScalePoint(h);var m=SuperMap.Plot.PlottingUtil.circlePoint(h,g,g,M);this.addScalePoint(m),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(0),this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(-.05));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r,s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),p=SuperMap.Plot.PlottingUtil.polylineDistance(o),u=e;if(0==t)i=(u.x-s.x)/p,this.scaleValues[6]=i,n=(u.y-s.y)/p,this.scaleValues[7]=n;else if(1==t){i=this.scaleValues[6],n=this.scaleValues[7];var c=new SuperMap.Geometry.Point(s.x+p*i,s.y+p*n),P=SuperMap.Plot.PlottingUtil.distance(c,u)/p;this.scaleValues[0]=P;var S=180*SuperMap.Plot.PlottingUtil.radian(c,u)/Math.PI;this.scaleValues[1]=S,this.scaleValues[2]=0<=S&&S<90?1:90<=S&&S<180?2:180<=S&&S<270?3:4}else if(2==t)a=(u.x-s.x)/p,this.scaleValues[8]=a,r=(u.y-s.y)/p,this.scaleValues[9]=r;else if(3==t){a=this.scaleValues[8],r=this.scaleValues[9];var h=new SuperMap.Geometry.Point(s.x+p*a,s.y+p*r),y=SuperMap.Plot.PlottingUtil.distance(h,u)/p;this.scaleValues[3]=y;var f=180*SuperMap.Plot.PlottingUtil.radian(h,u)/Math.PI;this.scaleValues[4]=f,this.scaleValues[5]=0<=f&&f<90?1:90<=f&&f<180?2:180<=f&&f<270?3:4}}}}]),e}();SuperMap.Plot.AlgoSymbol2350001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol44400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=0,l.scaleValues[1]=0,l.scaleValues[2]=.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues[0]=0,this.scaleValues[1]=0,this.scaleValues[2]=.1),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t,{fill:!1});var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],a=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),r=new SuperMap.Geometry.Point(a.x+1,a.y),s=[];t.push(t[0].clone());for(var p=0;p<t.length-1;p++){var u=SuperMap.Plot.PlottingUtil.intersectLines(a,r,t[p],t[p+1]);u.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(u.intersectPoint,t[p],t[p+1])&&s.push(u.intersectPoint))}if(!(0>=s.length)){var c=s[0].clone(),P=s[0].clone();for(p=0;p<s.length;p++)c.x>s[p].x&&(c=s[p].clone()),P.x<s[p].x&&(P=s[p].clone());var S=[],h=new SuperMap.Geometry.Point(a.x-n/2,c.y);h.x<=P.x&&h.x>=c.x&&((S=[]).push(c),S.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S));var y=new SuperMap.Geometry.Point(a.x+n/2,P.y);y.x<=P.x&&y.x>=c.x&&((S=[]).push(P),S.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S)),this.scalePoints=[];var f=SuperMap.Plot.PlottingUtil.circlePoint(a,n/2,n/2,90);if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,a))return this.addScalePoint(a,0),this.addScalePoint(f,1),a.x<c.x?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c,a]):this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,a]),void this.finish();this.addScalePoint(a,0),this.addScalePoint(f,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;if(0===SuperMap.Plot.PlottingUtil.getOutRectangleDis(l))return;var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),r=e;if(0==t&&(o=(r.x-a.x)/n,this.scaleValues[0]=o,i=(r.y-a.y)/n,this.scaleValues[1]=i),1==t){o=this.scaleValues[0],i=this.scaleValues[1];var s=new SuperMap.Geometry.Point(a.x+o*n,a.y+i*n),p=2*SuperMap.Plot.PlottingUtil.distance(r,s)/n;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol44400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol44300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var i=this.scaleValues[0],n=this.scaleValues[2],a=this.scaleValues[3];l.x=l.x+n*o,l.y=l.y+a*o;var r=o*i,s=SuperMap.Plot.PlottingUtil.circlePoint(l,r,r,90),p=SuperMap.Plot.PlottingUtil.circlePoint(l,r,r,210),u=SuperMap.Plot.PlottingUtil.circlePoint(l,r,r,330),c=[];c.push(s),c.push(p),c.push(u),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,c,{lineTypeLimit:!0,lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,surroundLineLimit:!0,fillLimit:!0,fill:!0}),this.scalePoints=[],this.addScalePoint(s),this.addScalePoint(l),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=[];if(o=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0===t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1===t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol44300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol44200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.05),l.scaleValues.push(180)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=this.GetGoPts();if(!(t.length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.05),this.scaleValues.push(180));var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[1]=o}var i=this.scaleValues[0],n=this.scaleValues[1],a=this.scaleValues[2],r=l*i,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r,e);if(s.bfind){var p=s.index,u=s.pts,c=u,P=n*l,S=new SuperMap.Geometry.Point(P,-.5*P),h=new SuperMap.Geometry.Point(P,.5*P),y=new SuperMap.Geometry.Point(-P,.5*P),f=new SuperMap.Geometry.Point(-P,-.5*P),g=SuperMap.Plot.PlottingUtil.coordinateTrans(c,S,a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(c,h,a),b=SuperMap.Plot.PlottingUtil.coordinateTrans(c,y,a),m=SuperMap.Plot.PlottingUtil.coordinateTrans(c,f,a),d=[];d.push(g),d.push(M),d.push(b),d.push(m),d.push(g),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d);var v=new SuperMap.Geometry.Point(.5*P,-.2*P),O=new SuperMap.Geometry.Point(.7*P,.2*P),U=new SuperMap.Geometry.Point(.3*P,.2*P),w=SuperMap.Plot.PlottingUtil.coordinateTrans(c,v,a),L=SuperMap.Plot.PlottingUtil.coordinateTrans(c,U,a),V=SuperMap.Plot.PlottingUtil.coordinateTrans(c,O,a),_=[];_.push(w),_.push(L),_.push(V),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,_,{lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,fillLimit:!0,fill:!0});var T=new SuperMap.Geometry.Point(P,0),A=new SuperMap.Geometry.Point(2*P,0),E=SuperMap.Plot.PlottingUtil.coordinateTrans(c,T,a),x=SuperMap.Plot.PlottingUtil.coordinateTrans(c,A,a);(_=[]).push(E),_.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_);var Y=new SuperMap.Geometry.Point(2*P,.15*P),j=new SuperMap.Geometry.Point(2*P,-.15*P),C=new SuperMap.Geometry.Point(2.6*P,0),I=SuperMap.Plot.PlottingUtil.coordinateTrans(c,Y,a),G=SuperMap.Plot.PlottingUtil.coordinateTrans(c,j,a),B=SuperMap.Plot.PlottingUtil.coordinateTrans(c,C,a);(_=[]).push(I),_.push(G),_.push(B),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,_,{fillLimit:!0,fill:!0});var R=[];R.push(I),R.push(B);var N,D=[],k=[];for(N=0;N<=p;N++)D.push(e[N]);for(D.push(c),k.push(c),N=p+1;N<e.length;N++)k.push(e[N]);var z,F,K=1.2*P;if(r>K){var q=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r-K,D);if(q.bfind){var W=q.pts,J=q.index;for(_=[],N=0;N<=J;N++)_.push(D[N]);_.push(W),z=SuperMap.Plot.PlottingUtil.radian(_[0],_[1])*SuperMap.Plot.PlottingUtil.RTOD,F=SuperMap.Plot.PlottingUtil.circlePoint(_[0],.1*P,.1*P,90+z),_.splice(0,0,F),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_)}}if(l-r>K){var Z=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(K,k);if(Z.bfind){var H=Z.pts,Q=Z.index;for((_=[]).push(H),N=Q+1;N<k.length;N++)_.push(k[N]);var X=_.length;z=SuperMap.Plot.PlottingUtil.radian(_[X-1],_[X-2])*SuperMap.Plot.PlottingUtil.RTOD,F=SuperMap.Plot.PlottingUtil.circlePoint(_[X-1],.1*P,.1*P,270+z),_.push(F),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_)}}this.scalePoints=[],this.addScalePoint(u),this.addScalePoint(x),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0==t){for(var r=e.clone(),s=-1,p=0,u=0;u<o.length-1;u++){var c=[];c.push(o[u]),c.push(o[u+1]);var P=SuperMap.Plot.PlottingUtil.projectPoint(r,o[u],o[u+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(P,c).isOnPolyLine){var S=SuperMap.Plot.PlottingUtil.distance(r,P);-1==s?(s=u,p=S):p>S&&(s=u,p=S)}}if(-1==s)return SuperMap.Plot.PlottingUtil.distance(r,o[0])>SuperMap.Plot.PlottingUtil.distance(r,o[o.length-1])?void(s=o.length-1):void(s=0);if(i=0,0===s)i=SuperMap.Plot.PlottingUtil.distance(o[0],P);else for(var h=0;h<s;h++)i+=SuperMap.Plot.PlottingUtil.distance(o[h],o[h+1]);if(i<0||i>a)return;n=i/a,this.scaleValues[0]=n}else if(1==t){i=this.scaleValues[0]*a;var y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,o);if(!y.bfind)return;var f=y.pts;(n=.5*SuperMap.Plot.PlottingUtil.distance(f,e)/a)>.3&&(n=.3),this.scaleValues[1]=n;var g=SuperMap.Plot.PlottingUtil.radian(f,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[2]=g}}}},{key:"GetGoPts",value:function(){var t=[];return this.controlPoints.length<this.minEditPts?t:(t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),1==(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length&&(t=[]),t)}}]),e}();SuperMap.Plot.AlgoSymbol44200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol44100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.105263),l.scaleValues.push(.181818),l.scaleValues.push(.285714),l.scaleValues.push(.285714)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<5&&(this.scaleValues=[],this.scaleValues.push(.285714),this.scaleValues.push(.105263),this.scaleValues.push(.181818),this.scaleValues.push(.285714),this.scaleValues.push(.285714));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,g=[];g.push(a),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(n);for(var M=[],b=0;b<g.length;b++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[b],f);M.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var d=[],v=.06*o,O=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(v,l,e),U=O.pntRight,w=O.pntLeft;d.push(U),d.push(w),v=.15*o;var L=new SuperMap.Geometry.Point(v,0),V=SuperMap.Plot.PlottingUtil.coordinateTrans(e,L,f);d.push(V),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d,{lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,fillLimit:!0,fill:!0}),this.scalePoints=[],this.addScalePoint(M[0]),this.addScalePoint(M[1]),this.addScalePoint(M[2]),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),a=l[1].clone(),r=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(r,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var p=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var c=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol44100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol43500=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),o=[];for(e=15;e<=75;e+=5)o.push(SuperMap.Plot.PlottingUtil.circlePoint(t[0],l,l,e));for(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),o=[],e=105;e<=165;e+=5)o.push(SuperMap.Plot.PlottingUtil.circlePoint(t[0],l,l,e));for(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),o=[],e=195;e<=255;e+=5)o.push(SuperMap.Plot.PlottingUtil.circlePoint(t[0],l,l,e));for(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),o=[],e=285;e<=345;e+=5)o.push(SuperMap.Plot.PlottingUtil.circlePoint(t[0],l,l,e));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);var i,n,a,r,s,p=.2*l,u=new SuperMap.Geometry.Point(t[0].x-p,t[0].y),c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,t[0],u);i=c.pntRight,n=c.pntLeft,a=(c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*p,i,n)).pntLeft;var P=new SuperMap.Geometry.Point(i.x+2*p,i.y);r=(c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,i,P)).pntRight,s=c.pntLeft,(o=[]).push(a),o.push(n),o.push(i),o.push(s),o.push(r),o.push(i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o,{fillLimit:!0,lineTypeLimit:!0,surroundLineLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol43500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.04),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){2==t.length?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t,{fill:!1});var e,l,o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),i=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.2*this.getSubSymbolScaleValue()),l=i*this.scaleValues[0];var n=i*this.scaleValues[0],a=n+l;e=new SuperMap.Geometry.Point(o.x,o.y+a);var r=[];r.push(e),r.push(new SuperMap.Geometry.Point(e.x+l,e.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,r);var s=new SuperMap.Geometry.Point(o.x,o.y+.8*n),p=new SuperMap.Geometry.Point(o.x-n,o.y-n),u=new SuperMap.Geometry.Point(o.x+n,o.y-n);(r=[]).push(s),r.push(p),r.push(u),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r,{fillLimit:!0,fill:!0});var c=new SuperMap.Geometry.Point(o.x-.5*n,o.y-n),P=new SuperMap.Geometry.Point(p.x,p.y-2*l),S=new SuperMap.Geometry.Point(o.x+.5*n,o.y-n),h=new SuperMap.Geometry.Point(u.x,u.y-2*l);(r=[]).push(c),r.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),(r=[]).push(S),r.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol42700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.285714),l.scaleValues.push(.5),l.scaleValues.push(.333333),l.scaleValues.push(.333333)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.285714),this.scaleValues.push(.285714),this.scaleValues.push(.5),this.scaleValues.push(.333333));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,g=[];g.push(a),g.push(u),g.push(h),g.push(y),g.push(S),g.push(p),g.push(n);for(var M=[],b=0;b<g.length;b++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[b],f);M.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var d,v,O,U=!0;e.x>l.x&&(U=!1);var w,L=(O=.1*o)+(v=.12*o/2);d=1==U?(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,l,e)).pntRight:(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,l,e)).pntLeft;var V,_,T,A,E,x,Y,j,C=[];C.push(d),C.push(new SuperMap.Geometry.Point(d.x+v,d.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,C),1==U?(V=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.85*O,l,e)).pntRight,A=w.pntLeft,_=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,V,A)).pntRight,T=w.pntLeft):(V=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.85*O,l,e)).pntLeft,A=w.pntRight,_=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,V,A)).pntLeft,T=w.pntRight),(C=[]).push(V),C.push(_),C.push(T),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,C,{fillLimit:!0,fill:!0}),w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*v,_,T),j=1==U?w.pntRight:w.pntLeft,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*v,T,_),x=1==U?w.pntLeft:w.pntRight;var I=SuperMap.Plot.PlottingUtil.intersectLines(V,x,T,_);I.isIntersectLines&&(E=I.intersectPoint,(I=SuperMap.Plot.PlottingUtil.intersectLines(V,j,T,_)).isIntersectLines&&(Y=I.intersectPoint,(C=[]).push(E),C.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C),(C=[]).push(Y),C.push(j),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C),this.scalePoints=[],this.addScalePoint(M[0]),this.addScalePoint(M[1]),this.addScalePoint(M[2]),this.finish()))}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),a=l[1].clone(),r=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(r,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var p=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var c=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol42500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=.5*i}var n=l*this.scaleValues[0],a=l*this.scaleValues[2],r=l*this.scaleValues[3],s=[];s.push(new SuperMap.Geometry.Point(o.x+a,o.y+r)),s.push(new SuperMap.Geometry.Point(o.x+a+n,o.y+r)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,s,{fill:!1}),this.scalePoints=[],this.addScalePoint(new SuperMap.Geometry.Point(o.x+a+n,o.y+r)),this.addScalePoint(new SuperMap.Geometry.Point(o.x+a,o.y+r)),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=[];if(o=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol42400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{fillLimit:!0,fill:!1,surroundLineFlag:!1});var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],a=this.scaleValues[2],r=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*a,l.y+o*r);if(this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0){if(this.subSymbols[0].symbolData)for(var u in this.subSymbols[0].symbolData.innerCells)this.subSymbols[0].symbolData.innerCells[u].type===SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL&&(this.subSymbols[0].symbolData.innerCells[u].type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL);this.computeSubSymbol(this.subSymbols[0],p,s,0)}this.addScalePoint(p);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),r=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-a.x)/r,this.scaleValues[2]=i,n=(e.y-a.y)/r,this.scaleValues[3]=n;else if(1===t){i=this.scaleValues[2],n=this.scaleValues[3];var s=new SuperMap.Geometry.Point(a.x+r*i,a.y+r*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/r;this.scaleValues[0]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol42200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(0!=e){var l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],a=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(r.x+i*e,r.y+n*e),p=a*e,u=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,270),c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,30),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,150),S=[];S.push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{fill:!1,lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(h),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),r=e;if(0==t)i=(r.x-a.x)/o,this.scaleValues[0]=i,n=(r.y-a.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(a.x+i*o,a.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(r,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(0!==e){var l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],a=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(r.x+i*e,r.y+n*e),p=a*e,u=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90),c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,210),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,330),S=[];S.push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{fill:!1,lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(h),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),r=e;if(0==t)i=(r.x-a.x)/o,this.scaleValues[0]=i,n=(r.y-a.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(a.x+i*o,a.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(r,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],a=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(r.x+i*e,r.y+n*e),p=a*e,u=new SuperMap.Geometry.Point(s.x,s.y),c=new SuperMap.Geometry.Point(s.x-p,s.y-p),P=new SuperMap.Geometry.Point(s.x+p,s.y-p),S=new SuperMap.Geometry.Point(s.x-p,s.y+p),h=new SuperMap.Geometry.Point(s.x+p,s.y+p),y=[];y.push(u),y.push(c),y.push(P),y.push(u),y.push(S),y.push(h),y.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y,{lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var f=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),r=e;if(0==t)i=(r.x-a.x)/o,this.scaleValues[0]=i,n=(r.y-a.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(a.x+i*o,a.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(r,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41100=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(.1*e,t[0],t[1]),o=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(.2*e,t[0],t[1]),i=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2),n=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(.8*e,t[0],t[1]),a=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(.9*e,t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],l]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[o,n]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[a,t[1]]);var r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.04*e,t[0],t[1]),s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.04*e,t[1],t[0]),p=r.pntLeft,u=s.pntRight;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],u]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[1],p]);var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.42*e,t[1],i),P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.48*e,t[1],i),S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.6*e,t[1],i),h=c.pntRight,y=P.pntRight,f=S.pntRight;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i,h]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[y,f]);var g=SuperMap.Plot.PlottingUtil.polylineDistance([y,f]),M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*g,y,f).pntRight;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[f,M]),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol41100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40900=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[],l=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(t.length<3)e.push(t[0]),e.push(t[1]);else{var o=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=o.scaleValues;for(var i=0;i<o.scalePoints.length;i++)this.addScalePoint(o.scalePoints[i]);e=o.beizerPoints}SuperMap.Plot.PlottingUtil.clearSamePts(e);var n=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(this.getSubSymbolScaleValue())),!(e.length<=0)){var a;a=2==t.length?0:t.length-1;var r=n*this.scaleValues[4*a],s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r,e);if(s.bfind){var p=s.index,u=s.pts,c=l*this.scaleValues[4*a+1],P=r-c,S=r+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var M=[];for(M.push(g),h=p+1;h<e.length;h++)M.push(e[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[u,g]);var b=l*this.scaleValues[4*a+1]/1.667;if(!(f.length<2)){var m=f[0],d=f[1],v=SuperMap.Plot.PlottingUtil.radian(m,d)*SuperMap.Plot.PlottingUtil.RTOD,O=SuperMap.Plot.PlottingUtil.circlePoint(m,b,b,v+90),U=SuperMap.Plot.PlottingUtil.circlePoint(m,b,b,v+270),w=[];if(w.push(O),w.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),!(M.length<2)){var L=M[M.length-1],V=M[M.length-2],_=SuperMap.Plot.PlottingUtil.radian(L,V)*SuperMap.Plot.PlottingUtil.RTOD,T=SuperMap.Plot.PlottingUtil.circlePoint(L,b,b,_+90),A=SuperMap.Plot.PlottingUtil.circlePoint(L,b,b,_+270);(w=[]).push(T),w.push(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),this.addScalePoint(u),this.addScalePoint(O),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var a,r=e,s=[];for(a=0;a<o.length;a++)s.push(o[a]);var p,u=-1,c=0;for(a=0;a<s.length-1;a++){var P=[];P.push(s[a]),P.push(s[a+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(r,s[a],s[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(r,S);-1==u?(u=a,p=S,c=h):c>h&&(u=a,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(a=0;a<u;a++){var f=o[a],g=o[a+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var M=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(M,p))<0||y>n)return;var b=y/n;if(b>.8||b<.2)return;2==l.length?this.scaleValues[0]=b:this.scaleValues[2*t]=b}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol40900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=.2*i}var n=l*this.scaleValues[0],a=l*this.scaleValues[2],r=l*this.scaleValues[3],s=new SuperMap.Geometry.Point(o.x+a,o.y+r),p=[];p.push(s),p.push(new SuperMap.Geometry.Point(s.x+n,s.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,p,{fillLimit:!0,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0});for(var u=18*n,c=new SuperMap.Geometry.Point(s.x+u,s.y),P=[],S=135;S<180;S+=3)P.push(SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,S));P.push(SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,180)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[];var h=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,0);this.addScalePoint(h),this.addScalePoint(s),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol40101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=.4*i}var n=l*this.scaleValues[0],a=l*this.scaleValues[2],r=l*this.scaleValues[3],s=new SuperMap.Geometry.Point(o.x+a,o.y+r),p=.6*n,u=new SuperMap.Geometry.Point(s.x+n,s.y),c=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,0),P=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,180),S=[];S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0});var h=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,90),y=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,270);(S=[]).push(h),S.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0});var f=new SuperMap.Geometry.Point(s.x-n,s.y),g=SuperMap.Plot.PlottingUtil.circlePoint(f,.5*n,.5*n,270),M=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,240),b=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,90),m=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,300);(S=[]).push(g),S.push(M),S.push(b),S.push(m),S.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0}),this.scalePoints=[];var d=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,0);this.addScalePoint(d),this.addScalePoint(s),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol40100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40000=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[];if(t.length<3)e.push(t[0]),e.push(t[1]);else{var l=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=l.scaleValues;for(var o=0;o<l.scalePoints.length;o++)this.addScalePoint(l.scalePoints[o]);e=l.beizerPoints}if(SuperMap.Plot.PlottingUtil.clearSamePts(e),!(e.length<=0)){this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(.5*this.getSubSymbolScaleValue()));var i=0;t.length>2&&(i=t.length-1);var n=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=SuperMap.Plot.PlottingUtil.polylineDistance(e)*this.scaleValues[4*i],r=n*this.scaleValues[4*i+1]/1.667,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=3.6*r,P=a-c,S=a+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var M=[];for(M.push(g),h=p+1;h<e.length;h++)M.push(e[h]);var b={lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1};if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f,b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M,b),!(f.length<2)){var m=f[0],d=f[1],v=SuperMap.Plot.PlottingUtil.radian(m,d)*SuperMap.Plot.PlottingUtil.RTOD,O=SuperMap.Plot.PlottingUtil.circlePoint(m,r,r,v+90),U=SuperMap.Plot.PlottingUtil.circlePoint(m,r,r,v+270),w=[];if(w.push(O),w.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w,b),!(M.length<2)){var L=M[M.length-1],V=M[M.length-2],_=SuperMap.Plot.PlottingUtil.radian(L,V)*SuperMap.Plot.PlottingUtil.RTOD,T=SuperMap.Plot.PlottingUtil.circlePoint(L,r,r,_+90),A=SuperMap.Plot.PlottingUtil.circlePoint(L,r,r,_+270);(w=[]).push(T),w.push(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w,b);var E=SuperMap.Plot.PlottingUtil.radian(y,g)*SuperMap.Plot.PlottingUtil.RTOD,x=.8*SuperMap.Plot.PlottingUtil.distance(y,g),Y=new SuperMap.Geometry.Point((y.x+g.x)/2,(y.y+g.y)/2);if(this.subSymbols.length>0){var j=this.computeSubSymbol(this.subSymbols[0],Y,x,E);if(null!=j)for(var C=0;C<j.length;C++)j[C].style.lineColorLimit=!0,j[C].style.strokeColor="#0000ff",j[C].style.color="#0000ff"}var I=SuperMap.Plot.PlottingUtil.findPointInLine(y,g,.4*x),G=SuperMap.Plot.PlottingUtil.circlePoint(I,.75*x,.75*x,E+135),B=SuperMap.Plot.PlottingUtil.circlePoint(I,.75*x,.75*x,E+315),R=SuperMap.Plot.PlottingUtil.distance(G,B);(w=[]).push(G),w.push(B),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w);var N=SuperMap.Plot.PlottingUtil.findPointInLine(G,B,1.2*R),D=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.08*R,G,B);(w=[]).push(N),w.push(D.pntLeft),w.push(D.pntRight),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,w,{fillLimit:!0,fill:!0}),this.addScalePoint(u),this.addScalePoint(O),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var a,r=e,s=[];for(a=0;a<o.length;a++)s.push(o[a]);var p,u=-1,c=0;for(a=0;a<s.length-1;a++){var P=[];P.push(s[a]),P.push(s[a+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(r,s[a],s[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(r,S);-1==u?(u=a,p=S,c=h):c>h&&(u=a,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(a=0;a<u;a++){var f=o[a],g=o[a+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var M=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(M,p))<0||y>n)return;var b=y/n;if(b>.8||b<.2)return;2==l.length?this.scaleValues[0]=b:this.scaleValues[2*t]=b}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol40000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[];if(t.length<3)e.push(t[0]),e.push(t[1]);else{var l=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=l.scaleValues;for(var o=0;o<l.scalePoints.length;o++)this.addScalePoint(l.scalePoints[o]);e=l.beizerPoints}if(SuperMap.Plot.PlottingUtil.clearSamePts(e),!(e.length<=0)){this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(.5*this.getSubSymbolScaleValue()));var i=0;t.length>2&&(i=t.length-1);var n=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=SuperMap.Plot.PlottingUtil.polylineDistance(e)*this.scaleValues[4*i],r=n*this.scaleValues[4*i+1]/1.667,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=3*r,P=a-c,S=a+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var M=[];for(M.push(g),h=p+1;h<e.length;h++)M.push(e[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.radian(y,g)*SuperMap.Plot.PlottingUtil.RTOD,m=SuperMap.Plot.PlottingUtil.distance(y,g),d=new SuperMap.Geometry.Point((y.x+g.x)/2,(y.y+g.y)/2);if(this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],d,m,b),!(f.length<2)){var v=f[0],O=f[1],U=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD,w=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+90),L=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+270),V=[];if(V.push(w),V.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),!(M.length<2)){var _=M[M.length-1],T=M[M.length-2],A=SuperMap.Plot.PlottingUtil.radian(_,T)*SuperMap.Plot.PlottingUtil.RTOD,E=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+90),x=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+270);(V=[]).push(E),V.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V);var Y=SuperMap.Plot.PlottingUtil.paraLine(e,r,!1),j=SuperMap.Plot.PlottingUtil.polylineDistance(Y)/11,C=j;for(h=0;h<11;h++)if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(C-j,Y)).bfind){var I=s.index,G=s.pts;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(C,Y)).bfind){var B=s.pts,R=s.index;if(h%2==0){var N=[];N.push(G);for(var D=I+1;D<=R;D++)N.push(Y[D]);N.push(B),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,N,{surroundLineLimit:!0,lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1})}C+=j}}var k;k=SuperMap.Plot.PlottingUtil.paraLine(e,3.5*r,!1),SuperMap.Plot.PlottingUtil.clearSamePts(k),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,k);var z;z=SuperMap.Plot.PlottingUtil.paraLine(e,3.5*r,!0),SuperMap.Plot.PlottingUtil.clearSamePts(z),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,z),this.addScalePoint(u),this.addScalePoint(w),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var a,r=e,s=[];for(a=0;a<o.length;a++)s.push(o[a]);var p,u=-1,c=0;for(a=0;a<s.length-1;a++){var P=[];P.push(s[a]),P.push(s[a+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(r,s[a],s[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(r,S);-1==u?(u=a,p=S,c=h):c>h&&(u=a,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(a=0;a<u;a++){var f=o[a],g=o[a+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var M=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(M,p))<0||y>n)return;var b=y/n;if(b>.8||b<.2)return;2==l.length?this.scaleValues[0]=b:this.scaleValues[2*t]=b}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol39802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[];if(t.length<3)e.push(t[0]),e.push(t[1]);else{var l=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=l.scaleValues;for(var o=0;o<l.scalePoints.length;o++)this.addScalePoint(l.scalePoints[o]);e=l.beizerPoints}if(SuperMap.Plot.PlottingUtil.clearSamePts(e),!(e.length<=0)){this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(.5*this.getSubSymbolScaleValue()));var i=0;t.length>2&&(i=t.length-1);var n=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=SuperMap.Plot.PlottingUtil.polylineDistance(e)*this.scaleValues[4*i],r=n*this.scaleValues[4*i+1]/1.667,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=3*r,P=a-c,S=a+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var M=[];for(M.push(g),h=p+1;h<e.length;h++)M.push(e[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.radian(y,g)*SuperMap.Plot.PlottingUtil.RTOD,m=SuperMap.Plot.PlottingUtil.distance(y,g),d=new SuperMap.Geometry.Point((y.x+g.x)/2,(y.y+g.y)/2);if(this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],d,m,b),!(f.length<2)){var v=f[0],O=f[1],U=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD,w=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+90),L=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+270),V=[];if(V.push(w),V.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),!(M.length<2)){var _=M[M.length-1],T=M[M.length-2],A=SuperMap.Plot.PlottingUtil.radian(_,T)*SuperMap.Plot.PlottingUtil.RTOD,E=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+90),x=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+270);(V=[]).push(E),V.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),this.addScalePoint(u),this.addScalePoint(w),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var a,r=e,s=[];for(a=0;a<o.length;a++)s.push(o[a]);var p,u=-1,c=0;for(a=0;a<s.length-1;a++){var P=[];P.push(s[a]),P.push(s[a+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(r,s[a],s[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(r,S);-1==u?(u=a,p=S,c=h):c>h&&(u=a,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(a=0;a<u;a++){var f=o[a],g=o[a+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var M=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(M,p))<0||y>n)return;var b=y/n;if(b>.8||b<.2)return;2==l.length?this.scaleValues[0]=b:this.scaleValues[2*t]=b}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol39801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[];if(t.length<3)e.push(t[0]),e.push(t[1]);else{var l=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=l.scaleValues;for(var o=0;o<l.scalePoints.length;o++)this.addScalePoint(l.scalePoints[o]);e=l.beizerPoints}if(SuperMap.Plot.PlottingUtil.clearSamePts(e),!(e.length<=0)){this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(.5*this.getSubSymbolScaleValue()));var i=0;t.length>2&&(i=t.length-1);var n=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=SuperMap.Plot.PlottingUtil.polylineDistance(e)*this.scaleValues[4*i],r=n*this.scaleValues[4*i+1]/1.667,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=3.6*r,P=a-c,S=a+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var M=[];for(M.push(g),h=p+1;h<e.length;h++)M.push(e[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.radian(y,g)*SuperMap.Plot.PlottingUtil.RTOD,m=SuperMap.Plot.PlottingUtil.distance(y,g),d=new SuperMap.Geometry.Point((y.x+g.x)/2,(y.y+g.y)/2);if(this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],d,.8*m,b),!(f.length<2)){var v=f[0],O=f[1],U=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD,w=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+90),L=SuperMap.Plot.PlottingUtil.circlePoint(v,r,r,U+270),V=[];if(V.push(w),V.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),!(M.length<2)){var _=M[M.length-1],T=M[M.length-2],A=SuperMap.Plot.PlottingUtil.radian(_,T)*SuperMap.Plot.PlottingUtil.RTOD,E=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+90),x=SuperMap.Plot.PlottingUtil.circlePoint(_,r,r,A+270);(V=[]).push(E),V.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V);var Y=SuperMap.Plot.PlottingUtil.paraLine(e,r,!1),j=SuperMap.Plot.PlottingUtil.polylineDistance(Y)/11,C=j;for(h=0;h<11;h++)if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(C-j,Y)).bfind){var I=s.index,G=s.pts;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(C,Y)).bfind){var B=s.pts,R=s.index;if(h%2==0){var N=[];N.push(G);for(var D=I+1;D<=R;D++)N.push(Y[D]);N.push(B),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,N,{surroundLineLimit:!0,lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1})}C+=j}}this.addScalePoint(u),this.addScalePoint(w),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var a,r=e,s=[];for(a=0;a<o.length;a++)s.push(o[a]);var p,u=-1,c=0;for(a=0;a<s.length-1;a++){var P=[];P.push(s[a]),P.push(s[a+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(r,s[a],s[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(r,S);-1==u?(u=a,p=S,c=h):c>h&&(u=a,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(a=0;a<u;a++){var f=o[a],g=o[a+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var M=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(M,p))<0||y>n)return;var b=y/n;if(b>.8||b<.2)return;2==l.length?this.scaleValues[0]=b:this.scaleValues[2*t]=b}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol39800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol39600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.03,l.scaleValues[1]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol38600),e}();SuperMap.Plot.AlgoSymbol39600=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.08),l.scaleValues.push(.181818),l.scaleValues.push(.285714),l.scaleValues.push(.285714)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.285714),this.scaleValues.push(.08),this.scaleValues.push(.181818),this.scaleValues.push(.285714),this.scaleValues.push(.285714));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,g=[];g.push(n),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(a);for(var M=[],b=0;b<g.length;b++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[b],f);M.push(m)}for(var d=[],v=M.length-1;v>=0;--v)d.push(M[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var O=t[0],U=t[0],w=t[1],L=SuperMap.Plot.PlottingUtil.radian(U,w)*SuperMap.Plot.PlottingUtil.RTOD+270,V=.2*o;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],O,V,L),this.scalePoints=[],this.addScalePoint(M[0]),this.addScalePoint(M[1]),this.addScalePoint(M[2]),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),a=l[1].clone(),r=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(r,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var p=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var c=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol39500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.1||i<=0)&&(i=.1),this.scaleValues[0]=i}var n=l*this.scaleValues[2],a=l*this.scaleValues[3],r=new SuperMap.Geometry.Point(o.x+n,o.y+a),s=l*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,s,0),this.scalePoints=[];var p=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,180);this.addScalePoint(p),this.addScalePoint(r),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=[];if(o=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol39101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol39000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(.08),l.scaleValues.push(.05),l.scaleValues.push(-.08),l.scaleValues.push(-.08),l.scaleValues.push(.05),l.scaleValues.push(.08),l.scaleValues.push(-.08)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(.08),this.scaleValues.push(.05),this.scaleValues.push(-.08),this.scaleValues.push(-.08),this.scaleValues.push(.05),this.scaleValues.push(.08),this.scaleValues.push(-.08));var e=this.scaleValues[1],l=this.scaleValues[2],o=this.scaleValues[4],i=this.scaleValues[5],n=this.scaleValues[7],a=this.scaleValues[8],r=[];if(r=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),r=SuperMap.Plot.PlottingUtil.clearSamePts(r),!(this.minEditPts>r.length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r);var s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),p=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var u=this.getSubSymbolScaleValue()*p;this.scaleValues[0]=u/p,this.scaleValues[3]=u/p,this.scaleValues[6]=u/p}var c=new SuperMap.Geometry.Point(s.x+p*e,s.y+p*l),P=new SuperMap.Geometry.Point(s.x+p*o,s.y+p*i),S=new SuperMap.Geometry.Point(s.x+p*n,s.y+p*a),h=p*this.scaleValues[0],y=p*this.scaleValues[3],f=p*this.scaleValues[6];this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],c,1.5*h,0),this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],P,1.5*y,0),this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[2],S,1.5*f,0),this.addScalePoint(c);var g=SuperMap.Plot.PlottingUtil.circlePoint(c,h,h,180);this.addScalePoint(g),this.addScalePoint(P);var M=SuperMap.Plot.PlottingUtil.circlePoint(P,y,y,180);this.addScalePoint(M),this.addScalePoint(S);var b=SuperMap.Plot.PlottingUtil.circlePoint(S,f,f,180);this.addScalePoint(b),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;0===this.scaleValues.length&&(this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(.08),this.scaleValues.push(.05),this.scaleValues.push(-.08),this.scaleValues.push(-.08),this.scaleValues.push(.05),this.scaleValues.push(.08),this.scaleValues.push(-.08));var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=this.scaleValues[3],r=this.scaleValues[4],s=this.scaleValues[5],p=this.scaleValues[6],u=this.scaleValues[7],c=this.scaleValues[8],P=[];if(P=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),P=SuperMap.Plot.PlottingUtil.clearSamePts(P),this.minEditPts>P.length)return;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P);var S=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),h=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-S.x)/h,this.scaleValues[1]=i,n=(e.y-S.y)/h,this.scaleValues[2]=n;else if(1===t){i=this.scaleValues[1],n=this.scaleValues[2];var y=new SuperMap.Geometry.Point(S.x+h*i,S.y+h*n);o=SuperMap.Plot.PlottingUtil.distance(y,e)/h,this.scaleValues[0]=o}if(2===t)r=(e.x-S.x)/h,this.scaleValues[4]=r,s=(e.y-S.y)/h,this.scaleValues[5]=s;else if(3===t){r=this.scaleValues[4],s=this.scaleValues[5];var f=new SuperMap.Geometry.Point(S.x+h*r,S.y+h*s);a=SuperMap.Plot.PlottingUtil.distance(f,e)/h,this.scaleValues[3]=a}if(4===t)u=(e.x-S.x)/h,this.scaleValues[7]=u,c=(e.y-S.y)/h,this.scaleValues[8]=c;else if(5===t){u=this.scaleValues[7],c=this.scaleValues[8];var g=new SuperMap.Geometry.Point(S.x+h*u,S.y+h*c);p=SuperMap.Plot.PlottingUtil.distance(g,e)/h,this.scaleValues[6]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol39000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol38700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=Math.PI/4,l.scaleValues[1]=Math.PI/4,l.scaleValues[2]=.3,l.scaleValues[3]=.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<4&&(this.scaleValues=[],this.scaleValues[0]=Math.PI/4,this.scaleValues[1]=Math.PI/4,this.scaleValues[2]=.3,this.scaleValues[3]=.1);var e=t[0],l=t[1],o=SuperMap.Plot.PlottingUtil.distance(e,l),i=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD;if(!this.isEdit){var n=this.getDefaultSubSymbolSize()/o;(n>.3||n<=0)&&(n=.3),this.scaleValues[2]=n}var a=this.scaleValues[0],r=this.scaleValues[1],s=this.scaleValues[2],p=this.scaleValues[3],u=a*SuperMap.Plot.PlottingUtil.RTOD,c=i-u,P=i+u,S=this.GetArcPts(c,P,e,o);if(!(2>S.length)){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=o*s,y=i-90,f=o*p,g=SuperMap.Plot.PlottingUtil.linePnt(e,l,f),M=SuperMap.Plot.PlottingUtil.radian(g,l)*SuperMap.Plot.PlottingUtil.RTOD-30,b=SuperMap.Plot.PlottingUtil.distance(g,l),m=0,d=t[0].clone(),v=SuperMap.Plot.PlottingUtil.circlePoint(g,b,b,M),O=null;if(this.subSymbols.length>0&&null!=(O=this.computeSubSymbol(this.subSymbols[0],g,h,y,0,-.5)))for(var U=0;U<O.length;U++)if(!(2>O[U].positionPoints))for(var w=0;w<O[U].positionPoints.length-1;w++){var L=O[U].positionPoints[w],V=O[U].positionPoints[w+1],_=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.intersectLineSegs(g,v,L,V,_)&&(0==m?d=_:SuperMap.Plot.PlottingUtil.distance(g,_)>SuperMap.Plot.PlottingUtil.distance(g,d)&&(d=_),m++)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[d,v]);var T=SuperMap.Plot.PlottingUtil.radian(v,d)*SuperMap.Plot.PlottingUtil.RTOD,A=SuperMap.Plot.PlottingUtil.distance(d,v),E=SuperMap.Plot.PlottingUtil.circlePoint(v,.1*A,.1*A,T-15),x=SuperMap.Plot.PlottingUtil.circlePoint(v,.1*A,.1*A,T+15),Y=[];Y.push(v),Y.push(E),Y.push(x),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,Y,{fillLimit:!0,fill:!0}),this.scalePoints=[];var j=SuperMap.Plot.PlottingUtil.circlePoint(e,o,o,P);this.addScalePoint(j);var C=SuperMap.Plot.PlottingUtil.linePnt(g,l,o*s);if(this.addScalePoint(C),this.addScalePoint(g),3==t.length){var I=t[2],G=SuperMap.Plot.PlottingUtil.distance(e,I),B=r*SuperMap.Plot.PlottingUtil.RTOD,R=i-B,N=i+B,D=this.GetArcPts(R,N,e,G);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,D);var k=SuperMap.Plot.PlottingUtil.circlePoint(e,G,G,N);this.addScalePoint(k);var z=v,F=SuperMap.Plot.PlottingUtil.distance(e,I)-o,K=SuperMap.Plot.PlottingUtil.circlePoint(z,F,F,M);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[z,K]);var q=SuperMap.Plot.PlottingUtil.circlePoint(K,.1*F,.1*F,T-15),W=SuperMap.Plot.PlottingUtil.circlePoint(K,.1*F,.1*F,T+15),J=[];J.push(K),J.push(q),J.push(W),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,J,{fillLimit:!0,fill:!0})}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>3)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=e,i=l[0],n=l[1],a=SuperMap.Plot.PlottingUtil.distance(i,n),r=SuperMap.Plot.PlottingUtil.radian(i,n);if(0==t){var s=SuperMap.Plot.PlottingUtil.radian(i,o),p=Math.abs(s-r);this.scaleValues[0]=p}else if(1==t){var u=a*this.scaleValues[3],c=SuperMap.Plot.PlottingUtil.linePnt(i,n,u),P=SuperMap.Plot.PlottingUtil.distance(o,c)/a;this.scaleValues[2]=P}else if(2==t){var S=SuperMap.Plot.PlottingUtil.distance(o,i)/a;if(S>=1)return;this.scaleValues[3]=S}else if(3==t){var h=SuperMap.Plot.PlottingUtil.radian(i,o),y=Math.abs(h-r);this.scaleValues[1]=y}}}},{key:"GetArcPts",value:function(t,e,l,o){var i,n=[],a=0;for(a=t;a<e;a+=4)i=SuperMap.Plot.PlottingUtil.circlePoint(l,o,o,a),n.push(i);return a!=e&&(i=SuperMap.Plot.PlottingUtil.circlePoint(l,o,o,e),n.push(i)),n}}]),e}();SuperMap.Plot.AlgoSymbol38700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol38600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.04,l.scaleValues[2]=.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.05,this.scaleValues[1]=.04),2===this.scaleValues.length&&this.scaleValues.push(.1),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=o,this.scaleValues[2]=.5*o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.7*r,a-90);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p,this.scaleValues[2])}for(var P=[],S=0;S<e.length;S++)P.push(e[S]);var h=l*this.scaleValues[1],y=SuperMap.Plot.PlottingUtil.paraLine(P,h,!0),f=SuperMap.Plot.PlottingUtil.paraLine(P,h,!1),g=[];for(S=0;S<y.length;S++)g.push(y[S]);var M=[];for(S=0;S<f.length;S++)M.push(f[S]);g=SuperMap.Plot.PlottingUtil.clearSamePts(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),M=SuperMap.Plot.PlottingUtil.clearSamePts(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),m=SuperMap.Plot.PlottingUtil.circlePoint(b.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,a+90);this.addScalePoint(m,0),this.addScalePoint(f[0],1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(l.length<this.minEditPts)return;if(0===t){var n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o);if(-1===n.index)return;var a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}if(1===t){var r=SuperMap.Plot.PlottingUtil.distance(e,l[0]);this.scaleValues[1]=r/i}}}}]),e}();SuperMap.Plot.AlgoSymbol38600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],a=this.scaleValues[2],r=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*a,l.y+o*r);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,s,0),this.addScalePoint(p);var u=s,c=SuperMap.Plot.PlottingUtil.circlePoint(p,u,u,90);this.addScalePoint(c),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol37700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37601=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),i=l*this.scaleValues[2],n=l*this.scaleValues[3],a=new SuperMap.Geometry.Point(o.x+i,o.y+n);if(!this.isEdit){var r=this.getDefaultSubSymbolSize()/l;(r>.3||r<=0)&&(r=.3),this.scaleValues[0]=r}var s=l*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,s,90),this.scalePoints=[];var p=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,180);this.addScalePoint(p),this.addScalePoint(a),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol37601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.15||i<=0)&&(i=.15),this.scaleValues[0]=i}var n=o*this.scaleValues[2],a=o*this.scaleValues[3],r=new SuperMap.Geometry.Point(l.x+n,l.y+a),s=o*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,s,0),this.scalePoints=[];var p=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,180);this.addScalePoint(p),this.addScalePoint(r),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=i*this.scaleValues[2],r=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+a,n.y+r),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol37600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.125,l.scaleValues[1]=.02,l.scaleValues[2]=.25,l.scaleValues[3]=.8),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<4&&(this.scaleValues=[],this.scaleValues[0]=.125,this.scaleValues[1]=.02,this.scaleValues[2]=.25,this.scaleValues[3]=.8),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),l=SuperMap.Plot.PlottingUtil.radian(t[1],t[0])*SuperMap.Plot.PlottingUtil.RTOD,o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=this.scaleValues[3],r=new SuperMap.Geometry.Point(o*e,i*e),s=new SuperMap.Geometry.Point(o*e,-i*e),p=SuperMap.Plot.PlottingUtil.coordinateTrans(t[1],r,l),u=SuperMap.Plot.PlottingUtil.coordinateTrans(t[1],s,l),c=[];c.push(p),c.push(u),c.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,c,{fillLimit:!0,fill:!0});var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n*e,t);if(P.bfind){var S=.05*e,h=P.pts,y=SuperMap.Plot.PlottingUtil.circlePoint(h,S,S,l+90),f=SuperMap.Plot.PlottingUtil.circlePoint(h,S,S,l+270);if((c=[]).push(y),c.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{lineTypeLimit:!0,surroundLineLimit:!0}),(P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a*e,t)).bfind){var g=P.pts,M=SuperMap.Plot.PlottingUtil.circlePoint(g,S,S,l+90),b=SuperMap.Plot.PlottingUtil.circlePoint(g,S,S,l+270);(c=[]).push(M),c.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(u),this.addScalePoint(h),this.addScalePoint(g),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[1],l[0]);if(0==t){var i=SuperMap.Plot.PlottingUtil.projectPoint(e,l[1],l[0]),n=SuperMap.Plot.PlottingUtil.distance(i,l[1]);90>SuperMap.Plot.PlottingUtil.radian(l[1],i)*SuperMap.Plot.PlottingUtil.RTOD&&(n=-n);var a=n/o;this.scaleValues[0]=a;var r=SuperMap.Plot.PlottingUtil.distance(e,i)/o;this.scaleValues[1]=r}else if(1==t){var s=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(.1>s||s>.95)return;this.scaleValues[2]=s}else if(2==t){var p=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(.1>p||p>.95)return;this.scaleValues[3]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol37301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.125,l.scaleValues[1]=.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),l=SuperMap.Plot.PlottingUtil.radian(t[1],t[0])*SuperMap.Plot.PlottingUtil.RTOD,o=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],.35*e),i=SuperMap.Plot.PlottingUtil.circlePoint(o,.05*e,.05*e,l+270);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[i,o],{fill:!1,fillLimit:!0,lineTypeLimit:!0,surroundLineLimit:!0});var n=this.scaleValues[0],a=this.scaleValues[1],r=new SuperMap.Geometry.Point(n*e,a*e),s=new SuperMap.Geometry.Point(n*e,-a*e),p=SuperMap.Plot.PlottingUtil.coordinateTrans(t[1],r,l),u=SuperMap.Plot.PlottingUtil.coordinateTrans(t[1],s,l),c=[];c.push(p),c.push(u),c.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,c,{fillLimit:!0,fill:!0}),this.scalePoints=[],this.addScalePoint(u),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[1],l[0]);if(0==t){var i=SuperMap.Plot.PlottingUtil.projectPoint(e,l[1],l[0]),n=SuperMap.Plot.PlottingUtil.distance(i,l[1]);90>SuperMap.Plot.PlottingUtil.radian(l[1],i)*SuperMap.Plot.PlottingUtil.RTOD&&(n=-n);var a=n/o;this.scaleValues[0]=a;var r=SuperMap.Plot.PlottingUtil.distance(e,i)/o;this.scaleValues[1]=r}}}}]),e}();SuperMap.Plot.AlgoSymbol37300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol37200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1,l.scaleValues[1]=.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol27100),e}();SuperMap.Plot.AlgoSymbol37200=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1,l.scaleValues[1]=.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.1,this.scaleValues[1]=.2),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var e,l,o=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),i=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,n=this.scaleValues[0],a=this.scaleValues[1],r=n*o,s=[];for(e=90;e<=270;e+=3)l=SuperMap.Plot.PlottingUtil.circlePoint(t[0],r,r,e+i),s.push(l);var p=[];for(e=-90;e<=90;e+=3)l=SuperMap.Plot.PlottingUtil.circlePoint(t[1],r,r,e+i),p.push(l);var u=o*a,c=new SuperMap.Geometry.Point((s[0].x+p[p.length-1].x)/2,(s[0].y+p[p.length-1].y)/2),P=SuperMap.Plot.PlottingUtil.linePnt(s[0],p[p.length-1],.5*(o-1.2*u)),S=SuperMap.Plot.PlottingUtil.linePnt(p[p.length-1],s[0],.5*(o-1.2*u)),h=[];h.push(P),h.push.apply(h,s),h.push.apply(h,p),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=SuperMap.Plot.PlottingUtil.radian(S,P)*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],c,.9*u,y-90),this.scalePoints=[],this.addScalePoint(s[s.length-1]);var f=SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,y+90);this.addScalePoint(f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}else if(1==t){var n=this.scaleValues[0]*o,a=SuperMap.Plot.PlottingUtil.circlePoint(l[0],n,n,90),r=SuperMap.Plot.PlottingUtil.circlePoint(l[1],n,n,90),s=new SuperMap.Geometry.Point((a.x+r.x)/2,(a.y+r.y)/2),p=SuperMap.Plot.PlottingUtil.distance(s,e)/o;p>=.8&&(p=.8),this.scaleValues[1]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol37100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol36800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.05),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var l=.1*e,o=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(l,t[1],t[0]),i=o.pntRight,n=o.pntLeft,a=(o=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(l,t[0],t[1])).pntRight,r=o.pntLeft,s=[];s.push(i),s.push(n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);var p=[];p.push(a),p.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);var u=[];u.push(i),u.push(r);for(var c=SuperMap.Plot.PlottingUtil.polylineDistance(u)/11,P=c,S=0,h=0,y=null,f=null,g=0;g<11;g++){if(0==g)S=0,y=i.clone();else{var M=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P-c,u);if(!M.bfind)continue;S=M.index,y=M.pts}if(10==g)h=0,f=r.clone();else{if(!(M=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,u)).bfind)continue;h=M.index,f=M.pts}if(g%2==0){var b=[];b.push(y);for(var m=S+1;m<=h;m++)b.push(u[m]);b.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,{lineColorLimit:!0,strokeColor:"#0000ff",strokeOpacity:1,color:"#0000ff",opacity:1,surroundLineLimit:!0})}P+=c}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol36800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol36700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.04,l.scaleValues[1]=.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues[0]=.05,this.scaleValues[1]=.04),2===this.scaleValues.length&&this.scaleValues.push(.1),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=o,this.scaleValues[2]=.5*o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.7*r,a-90);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addStartPtArrow(s,this.scaleValues[2]),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p,this.scaleValues[2])}for(var P=[],S=0;S<e.length;S++)P.push(e[S]);var h=l*this.scaleValues[1],y=SuperMap.Plot.PlottingUtil.paraLine(P,h,!0),f=SuperMap.Plot.PlottingUtil.paraLine(P,h,!1),g=[];for(S=0;S<y.length;S++)g.push(y[S]);var M=[];for(S=0;S<f.length;S++)M.push(f[S]);g=SuperMap.Plot.PlottingUtil.clearSamePts(g),M=SuperMap.Plot.PlottingUtil.clearSamePts(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),m=SuperMap.Plot.PlottingUtil.circlePoint(b.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,a+90);this.addScalePoint(m,0),this.addScalePoint(f[0],1),this.finish()}}},{key:"addStartPtArrow",value:function(t,e){if(t.length<2)return t;var l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints)*e,o=t[0];if(t.length>=2){for(var i=-1,n=0;n<t.length-1;n++)if(l<SuperMap.Plot.PlottingUtil.distance(o,t[n])){i=n;break}t.splice(1,i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var a=t[1],r=t[0],s=l,p=SuperMap.Plot.PlottingUtil.radian(r,a)*SuperMap.Plot.PlottingUtil.RTOD,u=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,p+22.5),c=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,p-22.5);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[u,t[0],c],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0)}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(l.length<this.minEditPts)return;if(0===t){var n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o);if(-1===n.index)return;var a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.4?a:.4}if(1===t){var r=SuperMap.Plot.PlottingUtil.distance(e,l[0]);this.scaleValues[1]=r/i}}}}]),e}();SuperMap.Plot.AlgoSymbol36700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol36600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1,l.scaleValues[1]=.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.1,this.scaleValues[1]=.2),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue(),this.scaleValues[1]=this.getSubSymbolScaleValue());var e,l=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),o=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,i=this.scaleValues[0],n=this.scaleValues[1],a=i*l,r=[];for(e=90;e<=270;e+=3)r.push(SuperMap.Plot.PlottingUtil.circlePoint(t[0],a,a,e+o));for(e=-90;e<=90;e+=3)r.push(SuperMap.Plot.PlottingUtil.circlePoint(t[1],a,a,e+o));r.push(r[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var s=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2),p=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,u=l*n;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],s,u,p+90),this.scalePoints=[],this.addScalePoint(r[r.length-1]);var c=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+90);this.addScalePoint(c),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}else if(1==t){var n=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),a=SuperMap.Plot.PlottingUtil.distance(n,e)/o;a>=.8&&(a=.8),this.scaleValues[1]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol36600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol36401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.1),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=.5*e,o=e*this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l,t),n=i.index,a=i.pts,r=(i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l+o,t)).index;if(!(n<0||r<0)){var s;if(n!=r)(s=SuperMap.Plot.PlottingUtil.distance(t[n+1],t[n]))<=2*o?(o=s/2,a.x=(t[n+1].x+t[n].x)/2,a.y=(t[n+1].y+t[n].y)/2):a=SuperMap.Plot.PlottingUtil.linePnt(t[n+1],t[n],o);else if((s=SuperMap.Plot.PlottingUtil.distance(t[n+1],t[n]))<=2*o)o=s/2,a.x=(t[n+1].x+t[n].x)/2,a.y=(t[n+1].y+t[n].y)/2;else SuperMap.Plot.PlottingUtil.distance(t[n],a)<o&&(a=SuperMap.Plot.PlottingUtil.linePnt(t[n],t[n+1],o));var p,u=[];for(p=0;p<n+1;p++)u.push(t[p]);var c=SuperMap.Plot.PlottingUtil.linePnt(a,t[n],o);u.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var P=SuperMap.Plot.PlottingUtil.linePnt(a,t[n+1],o),S=[];S.push(P);var h=t.length;for(p=n+1;p<h;++p)S.push(t[p]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var y=t[0],f=t[1],g=t[t.length-2],M=t[t.length-1],b=.03*e,m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,f,y),d=m.pntRight,v=m.pntLeft,O=(m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,g,M)).pntRight,U=m.pntLeft,w=[];w.push(d),w.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w,{lineTypeLimit:!0});var L=[];L.push(O),L.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,L,{lineTypeLimit:!0});var V=SuperMap.Plot.PlottingUtil.radian(P,c)*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,.8*o,V-90),this.scalePoints=[];var _=SuperMap.Plot.PlottingUtil.circlePoint(a,o,o,V-90);this.addScalePoint(_),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;if(0==t){var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=e,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*o,l).pts,a=SuperMap.Plot.PlottingUtil.distance(i,n)/o;this.scaleValues[0]=a<.5?a:.5}}}}]),e}();SuperMap.Plot.AlgoSymbol36401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol36400=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol36400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35500=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=SuperMap.Plot.PlottingUtil.distance(e,l),i=.1*o,n=SuperMap.Plot.PlottingUtil.linePnt(e,l,.5*o),a=SuperMap.Plot.PlottingUtil.linePnt(n,e,i),r=SuperMap.Plot.PlottingUtil.linePnt(n,l,i),s=[],p=[];s.push(t[0]),s.push(a),p.push(r),p.push(t[1]);var u=SuperMap.Plot.PlottingUtil.paraLine(s,.5*i,!0),c=SuperMap.Plot.PlottingUtil.paraLine(p,.5*i,!0),P=[],S=[];P.push(u[0]),P.push(u[1]),S.push(c[0]),S.push(c[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1});var h=[],y=[],f=SuperMap.Plot.PlottingUtil.paraLine(s,.5*i,!1),g=SuperMap.Plot.PlottingUtil.paraLine(p,.5*i,!1);h.push(f[0]),h.push(f[1]),y.push(g[0]),y.push(g[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y,{lineColorLimit:!0,strokeColor:"#000000",strokeOpacity:1,color:"#000000",opacity:1});var M=SuperMap.Plot.PlottingUtil.linePnt(P[1],S[0],.2*i),b=SuperMap.Plot.PlottingUtil.linePnt(S[0],P[1],.2*i),m=SuperMap.Plot.PlottingUtil.linePnt(h[1],y[0],.2*i),d=SuperMap.Plot.PlottingUtil.linePnt(y[0],h[1],.2*i),v=[];v.push(M),v.push(b),v.push(d),v.push(m),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,v,{fillLimit:!0,fill:!0});var O=SuperMap.Plot.PlottingUtil.linePnt(m,M,1.2*i),U=SuperMap.Plot.PlottingUtil.linePnt(M,m,1.2*i),w=[];w.push(O),w.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w);var L=SuperMap.Plot.PlottingUtil.linePnt(d,b,1.2*i),V=SuperMap.Plot.PlottingUtil.linePnt(b,d,1.2*i),_=[];_.push(L),_.push(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol35500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35304=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=0),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.05,this.scaleValues[1]=0),!this.isEdit){var e=[];e.push(this.subSymbols[0]),this.scaleValues[0]=this.getSubSymbolScaleValue(),this.subSymbols=[];for(var l=0;l<t.length;l++)this.subSymbols.push(e[0])}var o,i=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],n=[];for(o=0;o<t.length;o++)n.push(t[o]);for(n.push(n[0]),o=0;o<n.length-1;o++){var a=n[o],r=n[o+1],s=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD;s+=90;var p=.5*i,u=SuperMap.Plot.PlottingUtil.circlePoint(a,p,p,s),c=SuperMap.Plot.PlottingUtil.circlePoint(r,p,p,s);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c])}this.scalePoints=[];var P=SuperMap.Plot.PlottingUtil.circlePoint(t[0],1.2*i,1.2*i,270);for(this.addScalePoint(P),o=0;o<t.length;o++){var S=n[o];2*(o+1)>=this.scaleValues.length&&this.scaleValues.push(0);var h=this.scaleValues[2*(o+1)];2*(o+1)+1>=this.scaleValues.length&&this.scaleValues.push(1);var y=h;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[o],S,i,y);var f=SuperMap.Plot.PlottingUtil.circlePoint(S,1.5*i,1.5*i,y+90);this.addScalePoint(f)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>this.scalePoints.length)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;if(0==t){for(var o=[],i=0;i<l.length;i++)o.push(l[i]);var n=SuperMap.Plot.PlottingUtil.polylineDistance(o),a=SuperMap.Plot.PlottingUtil.distance(o[0],e)/1.2;this.scaleValues[0]=a/n}else{var r=l[t-1],s=SuperMap.Plot.PlottingUtil.radian(r,e)*SuperMap.Plot.PlottingUtil.RTOD;0>(s-=90)&&(s+=360),this.scaleValues[2*t]=s}}}},{key:"GetCodeByScaleValue",value:function(t){switch(Math.floor(t)){case 0:return 35300;case 1:return 35301;case 2:return 35302;case 3:return 35303;case 4:return 35400;case 5:return 35401;case 6:return 35402;case 7:return 35403;default:return-1}}}]),e}();SuperMap.Plot.AlgoSymbol35304=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.05),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue()),2==t.length?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=e*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],l,o,0),this.scalePoints=[];var i=SuperMap.Plot.PlottingUtil.circlePoint(l,o,o,90);this.addScalePoint(i),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(e,i)/o;this.scaleValues[0]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol35200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.03),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.03),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=e[0],n=e[1],a=e[e.length-1],r=e[e.length-2],s=SuperMap.Plot.PlottingUtil.radian(i,n)*SuperMap.Plot.PlottingUtil.RTOD,p=SuperMap.Plot.PlottingUtil.radian(r,a)*SuperMap.Plot.PlottingUtil.RTOD,u=this.scaleValues[0],c=l*u,P=SuperMap.Plot.PlottingUtil.circlePoint(i,c,c,s+90),S=SuperMap.Plot.PlottingUtil.circlePoint(i,c,c,s+270),h=[];h.push(P),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineTypeLimit:!0}),this.scalePoints=[],this.addScalePoint(S);var y=SuperMap.Plot.PlottingUtil.circlePoint(a,c,c,p+90),f=SuperMap.Plot.PlottingUtil.circlePoint(a,c,c,p+270);(h=[]).push(y),h.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineTypeLimit:!0});var g,M,b=t.length;if(this.scaleValues.length<=b){for(this.scaleValues=[],this.scaleValues.push(u),M=1/b,g=0;g<b-1;g++)this.scaleValues.push(M*(g+1));this.scaleValues.push(u)}for(g=0;g<b-1;g++){var m=(M=this.scaleValues[g+1])*l,d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(m,e);if(!d.bfind)return;var v=d.pts,O=d.index,U=l*this.getSubSymbolScaleValue(),w=.3*U,L=SuperMap.Plot.PlottingUtil.radian(e[O],e[O+1])*SuperMap.Plot.PlottingUtil.RTOD,V=new SuperMap.Geometry.Point(U,-w),_=new SuperMap.Geometry.Point(-U,-w),T=new SuperMap.Geometry.Point(-U,0),A=new SuperMap.Geometry.Point(U,0),E=SuperMap.Plot.PlottingUtil.coordinateTrans(v,V,L),x=SuperMap.Plot.PlottingUtil.coordinateTrans(v,_,L),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(v,T,L),j=SuperMap.Plot.PlottingUtil.coordinateTrans(v,A,L);(h=[]).push(E),h.push(x),h.push(Y),h.push(j),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,{lineTypeLimit:!0,fillLimit:!0,fill:!0}),this.addScalePoint(v)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>=this.scalePoints.length)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0==t){var a=(i=SuperMap.Plot.PlottingUtil.distance(e,l[0]))/n;this.scaleValues[0]=a}else{var r,s=e,p=[];for(r=0;r<o.length;r++)p.push(o[r]);var u=-1,c=0,P=new SuperMap.Geometry.Point(0,0);for(r=0;r<p.length-1;r++){var S=[];S.push(p[r]),S.push(p[r+1]);var h=SuperMap.Plot.PlottingUtil.projectPoint(s,p[r],p[r+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(h,S).isOnPolyLine){var y=SuperMap.Plot.PlottingUtil.distance(s,h);-1==u?(u=r,P=h,c=y):c>y&&(u=r,P=h,c=y)}}if(-1==u||u>p.length-1)return;for(i=0,r=0;r<u;r++)i+=SuperMap.Plot.PlottingUtil.distance(o[r],o[r+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[u],P))<0||i>n)return;var f=i/n;this.scaleValues[t]=f}}}}]),e}();SuperMap.Plot.AlgoSymbol35000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34902=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.02):1===this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l/2,e);if(o.bfind){var i=o.index,n=o.pts;if(!this.isEdit){var a=this.getDefaultSubSymbolSize()/l;(a>.3||a<=0)&&(a=.3),this.scaleValues[0]=a,this.scaleValues[1]=.5*a}var r,s=l*this.scaleValues[0],p=[];for(p.push(n),r=i;r>=0;r--)p.push(e[r]);if((o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,p)).bfind){var u=o.index,c=o.pts,P=[];for(r=p.length-1;r>u;r--)P.push(p[r]);P.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=[];for(S.push(n),r=i+1;r<e.length;r++)S.push(e[r]);if((o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,S)).bfind){var h=o.index,y=o.pts;for((P=[]).push(y),r=h+1;r<S.length;r++)P.push(S[r]);this.addArrow(P,this.scaleValues[1]);var f=.1*s,g=c,M=y,b=SuperMap.Plot.PlottingUtil.radian(g,M)*SuperMap.Plot.PlottingUtil.RTOD,m=new SuperMap.Geometry.Point((g.x+M.x)/2,(g.y+M.y)/2),d=SuperMap.Plot.PlottingUtil.circlePoint(m,2*f,2*f,b),v=SuperMap.Plot.PlottingUtil.circlePoint(m,2*f,2*f,b+180),O=SuperMap.Plot.PlottingUtil.circlePoint(d,f,f,0);(P=[]).push(d),P.push(O);var U={surroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,P,U);var w=SuperMap.Plot.PlottingUtil.circlePoint(v,f,f,0);(P=[]).push(v),P.push(w),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,P,U);var L=e[0].clone(),V=e[1].clone(),_=SuperMap.Plot.PlottingUtil.radian(V,L)*SuperMap.Plot.PlottingUtil.RTOD,T=new SuperMap.Geometry.Point(0,.5*s),A=new SuperMap.Geometry.Point(s,.5*s),E=new SuperMap.Geometry.Point(1.5*s,0),x=SuperMap.Plot.PlottingUtil.coordinateTrans(L,T,_),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(L,A,_),j=SuperMap.Plot.PlottingUtil.coordinateTrans(L,E,_);(P=[]).push(e[0]),P.push(x),P.push(Y),P.push(j),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P),this.finish()}}}}}}]),e}();SuperMap.Plot.AlgoSymbol34902=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34901=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.02):1===this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l/2,e);if(o.bfind){var i=o.index,n=o.pts;if(!this.isEdit){var a=this.getDefaultSubSymbolSize()/l;(a>.3||a<=0)&&(a=.3),this.scaleValues[0]=a,this.scaleValues[1]=.5*a}var r,s=l*this.scaleValues[0],p=[];for(p.push(n),r=i;r>=0;r--)p.push(e[r]);if((o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,p)).bfind){var u=o.index,c=o.pts,P=[];for(r=p.length-1;r>u;r--)P.push(p[r]);P.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=[];for(S.push(n),r=i+1;r<e.length;r++)S.push(e[r]);if((o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,S)).bfind){var h=o.index,y=o.pts;for((P=[]).push(y),r=h+1;r<S.length;r++)P.push(S[r]);this.addArrow(P,this.scaleValues[1]);var f=.1*s,g=SuperMap.Plot.PlottingUtil.circlePoint(n,f,f,0);(P=[]).push(n),P.push(g);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,P,{surroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0});var M=e[0].clone(),b=e[1].clone(),m=SuperMap.Plot.PlottingUtil.radian(b,M)*SuperMap.Plot.PlottingUtil.RTOD,d=new SuperMap.Geometry.Point(0,.5*s),v=new SuperMap.Geometry.Point(s,.5*s),O=new SuperMap.Geometry.Point(1.5*s,0),U=SuperMap.Plot.PlottingUtil.coordinateTrans(M,d,m),w=SuperMap.Plot.PlottingUtil.coordinateTrans(M,v,m),L=SuperMap.Plot.PlottingUtil.coordinateTrans(M,O,m);(P=[]).push(e[0]),P.push(U),P.push(w),P.push(L),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P),this.finish()}}}}}}]),e}();SuperMap.Plot.AlgoSymbol34901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.02):1===this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(-1!==SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,l/2).index){if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.5*o}this.addArrow(e,this.scaleValues[1]);var i=l*this.scaleValues[0],n=new SuperMap.Geometry.Point(e[0].x,e[0].y),a=new SuperMap.Geometry.Point(e[1].x,e[1].y),r=SuperMap.Plot.PlottingUtil.radian(a,n)*SuperMap.Plot.PlottingUtil.RTOD,s=new SuperMap.Geometry.Point(0,.5*i),p=new SuperMap.Geometry.Point(i,.5*i),u=new SuperMap.Geometry.Point(1.5*i,0),c=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,r),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,r),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,u,r);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[e[0],c,P,S]),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol34900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34801=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.4),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[],l=t[0].clone(),o=t[1].clone(),i=SuperMap.Plot.PlottingUtil.distance(l,o),n=0;for(n=15;n<=165;n+=4)e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n));SuperMap.Plot.PlottingUtil.equalFuzzy(n,165)&&(n=165,e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n)));var a=[];for(n=e.length-1;n>=0;n--)a.push(e[n]);for(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),e=[],n=195;n<=345;n+=4)e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n));for(SuperMap.Plot.PlottingUtil.equalFuzzy(n,345)&&(n=345,e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n))),a=[],n=e.length-1;n>=0;n--)a.push(e[n]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var r=2*this.scaleValues[0]*i;(e=[]).push(new SuperMap.Geometry.Point(l.x-r,l.y)),e.push(new SuperMap.Geometry.Point(l.x-.4*r,l.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),(e=[]).push(new SuperMap.Geometry.Point(l.x-.2*r,l.y)),e.push(new SuperMap.Geometry.Point(l.x+.4*r,l.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),(e=[]).push(new SuperMap.Geometry.Point(l.x+.6*r,l.y)),e.push(new SuperMap.Geometry.Point(l.x+r,l.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),(e=[]).push(new SuperMap.Geometry.Point(l.x-this.scaleValues[0]*i,l.y)),e.push(new SuperMap.Geometry.Point(l.x-this.scaleValues[0]*i,l.y+this.scaleValues[0]*i)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol34801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[],l=t[0].clone(),o=t[1].clone(),i=SuperMap.Plot.PlottingUtil.distance(l,o),n=0;for(n=15;n<=165;n+=4)e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n));SuperMap.Plot.PlottingUtil.equalFuzzy(n,165)&&(n=165,e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n)));var a=[];for(n=e.length-1;n>=0;n--)a.push(e[n]);for(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),e=[],n=195;n<=345;n+=4)e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n));for(SuperMap.Plot.PlottingUtil.equalFuzzy(n,345)&&(n=345,e.push(SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n))),a=[],n=e.length-1;n>=0;n--)a.push(e[n]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var r=.8*i;(e=[]).push(new SuperMap.Geometry.Point(l.x-r,l.y)),e.push(new SuperMap.Geometry.Point(l.x+r,l.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),(e=[]).push(new SuperMap.Geometry.Point(l.x-.4*i,l.y)),e.push(new SuperMap.Geometry.Point(l.x-.4*i,l.y+.4*i)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e,{lineTypeLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol34800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.08,l.scaleValues[1]=.03),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.08),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=.5*e,o=e*this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l,t),n=i.pts,a=i.index,r=(i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l+o,t)).index;if(!(a<0||r<0)){var s,p,u;if(a!=r)s=new SuperMap.Geometry.Point(t[a+1].x,t[a+1].y),p=new SuperMap.Geometry.Point(t[a].x,t[a].y),(u=SuperMap.Plot.PlottingUtil.distance(s,p))<=2*o?(o=u/2,n.x=(t[a+1].x+t[a].x)/2,n.y=(t[a+1].y+t[a].y)/2):n=SuperMap.Plot.PlottingUtil.linePnt(t[a+1],t[a],o);else if(s=new SuperMap.Geometry.Point(t[a+1].x,t[a+1].y),p=new SuperMap.Geometry.Point(t[a].x,t[a].y),(u=SuperMap.Plot.PlottingUtil.distance(s,p))<=2*o)o=u/2,n.x=(t[a+1].x+t[a].x)/2,n.y=(t[a+1].y+t[a].y)/2;else s=new SuperMap.Geometry.Point(t[a].x,t[a].y),p=new SuperMap.Geometry.Point(n.x,n.y),SuperMap.Plot.PlottingUtil.distance(s,p)<o&&(n=SuperMap.Plot.PlottingUtil.linePnt(t[a],t[a],o));var c,P,S,h=[];for(c=0;c<a+1;c++)h.push(t[c]);P=SuperMap.Plot.PlottingUtil.linePnt(n,t[a],o),h.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),S=SuperMap.Plot.PlottingUtil.linePnt(n,t[a+1],o);var y=[];y.push(S);var f=t.length;for(c=a+1;c<f;++c)y.push(t[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var g=[],M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o/2,P,S);g.push(P),g.push(M.pntRight),g.push(M.pntLeft);var b=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,P,n)).pntRight;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,g,{lineTypeLimit:!0});var m,d,v,O,U=t[0].clone(),w=t[1].clone(),L=t[t.length-2].clone(),V=t[t.length-1].clone(),_=e*this.scaleValues[1];d=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(_,w,U)).pntRight,m=M.pntLeft,O=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(_,L,V)).pntRight,v=M.pntLeft;var T=[];T.push(d),T.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T,{lineTypeLimit:!0});var A=[];A.push(O),A.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,{lineTypeLimit:!0}),this.scalePoints=[],this.addScalePoint(b),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0==t){var i=.5*o,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,l).pts,a=SuperMap.Plot.PlottingUtil.distance(e,n)/o;a>.5&&(a=.5),this.scaleValues[0]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol34700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34501=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts||t.length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=SuperMap.Plot.PlottingUtil.radian(l,o)*SuperMap.Plot.PlottingUtil.RTOD,n=new SuperMap.Geometry.Point(0,0),a=new SuperMap.Geometry.Point(.475*e,0),r=SuperMap.Plot.PlottingUtil.coordinateTrans(l,n,i),s=SuperMap.Plot.PlottingUtil.coordinateTrans(l,a,i),p=[];p.push(r),p.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var u=new SuperMap.Geometry.Point(.525*e,0),c=new SuperMap.Geometry.Point(.725*e,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(l,u,i),S=SuperMap.Plot.PlottingUtil.coordinateTrans(l,c,i);(p=[]).push(P),p.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var h=new SuperMap.Geometry.Point(.775*e,0),y=new SuperMap.Geometry.Point(.95*e,0),f=SuperMap.Plot.PlottingUtil.coordinateTrans(l,h,i),g=SuperMap.Plot.PlottingUtil.coordinateTrans(l,y,i);if((p=[]).push(f),p.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0}),this.subSymbols.length>0){var M=.2*e,b=new SuperMap.Geometry.Point(t[1].x,t[1].y+M/2);this.computeSubSymbol(this.subSymbols[0],b,M,0)}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol34501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34500=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=SuperMap.Plot.PlottingUtil.radian(l,o)*SuperMap.Plot.PlottingUtil.RTOD,n=new SuperMap.Geometry.Point(0,0),a=new SuperMap.Geometry.Point(.475*e,0),r=SuperMap.Plot.PlottingUtil.coordinateTrans(l,n,i),s=SuperMap.Plot.PlottingUtil.coordinateTrans(l,a,i),p=[];p.push(r),p.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var u=new SuperMap.Geometry.Point(.525*e,0),c=new SuperMap.Geometry.Point(.725*e,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(l,u,i),S=SuperMap.Plot.PlottingUtil.coordinateTrans(l,c,i);(p=[]).push(P),p.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var h=new SuperMap.Geometry.Point(.775*e,0),y=new SuperMap.Geometry.Point(.95*e,0),f=SuperMap.Plot.PlottingUtil.coordinateTrans(l,h,i),g=SuperMap.Plot.PlottingUtil.coordinateTrans(l,y,i);(p=[]).push(f),p.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var M=new SuperMap.Geometry.Point(e,.0125*e),b=new SuperMap.Geometry.Point(e,-.0125*e),m=new SuperMap.Geometry.Point(.75*e+.2*e,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(l,M,i),v=SuperMap.Plot.PlottingUtil.coordinateTrans(l,b,i),O=SuperMap.Plot.PlottingUtil.coordinateTrans(l,m,i);(p=[]).push(d),p.push(O),p.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var U=new SuperMap.Geometry.Point(.75*e+.025*e,0),w=SuperMap.Plot.PlottingUtil.coordinateTrans(l,U,i);(p=[]).push(O),p.push(w),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var L=new SuperMap.Geometry.Point(.75*e+.15*e,0),V=SuperMap.Plot.PlottingUtil.circlePoint(L,.075*e,.1*e,150),_=SuperMap.Plot.PlottingUtil.circlePoint(L,.075*e,.1*e,210),T=SuperMap.Plot.PlottingUtil.coordinateTrans(l,L,i),A=SuperMap.Plot.PlottingUtil.coordinateTrans(l,V,i),E=SuperMap.Plot.PlottingUtil.coordinateTrans(l,_,i);(p=[]).push(A),p.push(T),p.push(E),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var x=new SuperMap.Geometry.Point(.75*e+.05*e,.025*e),Y=new SuperMap.Geometry.Point(.75*e+.05*e,-.025*e),j=SuperMap.Plot.PlottingUtil.coordinateTrans(l,x,i),C=SuperMap.Plot.PlottingUtil.coordinateTrans(l,Y,i);(p=[]).push(j),p.push(C),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{lineTypeLimit:!0});var I=new SuperMap.Geometry.Point(.75*e+.0125*e,0),G=new SuperMap.Geometry.Point(.75*e+.0125*e,.0125*e),B=SuperMap.Plot.PlottingUtil.coordinateTrans(l,I,i),R=SuperMap.Plot.PlottingUtil.coordinateTrans(l,G,i);(p=[]).push(B),p.push(R),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,p,{lineTypeLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol34500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1,l.scaleValues[1]=.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues[0]=.1,this.scaleValues[1]=.2);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=SuperMap.Plot.PlottingUtil.radian(l,o)*SuperMap.Plot.PlottingUtil.RTOD,n=this.scaleValues[0],a=this.scaleValues[1];if(!(n<0||a<0)){var r=n*e,s=1-a*(5/4);s<0&&(s=0),s>1&&(s=1);var p,u,c=e*s,P=SuperMap.Plot.PlottingUtil.circlePoint(l,c,c,i),S=[];S.push(t[0].clone()),S.push(P),p=SuperMap.Plot.PlottingUtil.paraLine(S,r,!0),u=SuperMap.Plot.PlottingUtil.paraLine(S,r,!1);var h,y=[];for(h=0;h<p.length;h++)y.push(p[h]);var f=[];for(h=0;h<u.length;h++)f.push(u[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=a*e,M=SuperMap.Plot.PlottingUtil.circlePoint(o,g/2,g/2,i);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],M,g/2,i+180);for(var b=[],m=.1*c,d=[],v=0;v<y.length;v++)d.push(y[v].clone());var O=[];for(h=0;h<f.length;h++)O.push(f[h].clone());var U=SuperMap.Plot.PlottingUtil.distance(O[0],O[1]);if(!(m>=U)){for(var w=m;w<c-r;w+=m){var L=SuperMap.Plot.PlottingUtil.circlePoint(O[0],w,w,i),V=SuperMap.Plot.PlottingUtil.circlePoint(L,U,U,i+45),_=SuperMap.Plot.PlottingUtil.intersectLines(L,V,d[0],d[1]);if(_.isIntersectLines){var T=_.intersectPoint;if(!SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(T,d).isOnPolyLine)break;(b=[]).push(L),b.push(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,{lineTypeLimit:!0,surroundLineLimit:!0})}}this.scalePoints=[];var A=SuperMap.Plot.PlottingUtil.circlePoint(l,r,r,i+90);this.addScalePoint(A);var E=g/2,x=SuperMap.Plot.PlottingUtil.circlePoint(o,E,E,i+90);this.addScalePoint(x),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i=SuperMap.Plot.PlottingUtil.polylineDistance(l);0==t?(o=SuperMap.Plot.PlottingUtil.distance(l[0],e)/i,this.scaleValues[0]=o):1==t&&(o=2*SuperMap.Plot.PlottingUtil.distance(l[1],e)/i,this.scaleValues[1]=o)}}}]),e}();SuperMap.Plot.AlgoSymbol34400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol34300=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=SuperMap.Plot.PlottingUtil.radian(o,i)*SuperMap.Plot.PlottingUtil.RTOD,a=.02*l,r=[];for(e=0;e<360;e+=10)r.push(SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(0,0),a,a,e));r.push(r[0]);var s=[],p=new SuperMap.Geometry.Point(.1*l,0),u=SuperMap.Plot.PlottingUtil.coordinateTrans(o,p,n);for(e=0;e<r.length;e++)s.push(new SuperMap.Geometry.Point(r[e].x+u.x,r[e].y+u.y));var c={lineTypeLimit:!0,surroundLineLimit:!0,fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,c);var P=new SuperMap.Geometry.Point(.25*l,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(o,P,n);for(s=[],e=0;e<r.length;e++)s.push(new SuperMap.Geometry.Point(r[e].x+S.x,r[e].y+S.y));this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,c);var h=new SuperMap.Geometry.Point(.4*l,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(o,h,n);for(s=[],e=0;e<r.length;e++)s.push(new SuperMap.Geometry.Point(r[e].x+y.x,r[e].y+y.y));this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,c);var f=new SuperMap.Geometry.Point(.6*l,0),g=SuperMap.Plot.PlottingUtil.coordinateTrans(o,f,n);for(s=[],e=0;e<r.length;e++)s.push(new SuperMap.Geometry.Point(r[e].x+g.x,r[e].y+g.y));this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,c);var M=new SuperMap.Geometry.Point(.5*l,.05*l),b=new SuperMap.Geometry.Point(.7*l,.05*l),m=new SuperMap.Geometry.Point(.75*l,0),d=new SuperMap.Geometry.Point(.7*l,-.05*l),v=new SuperMap.Geometry.Point(.5*l,-.05*l),O=SuperMap.Plot.PlottingUtil.coordinateTrans(o,M,n),U=SuperMap.Plot.PlottingUtil.coordinateTrans(o,b,n),w=SuperMap.Plot.PlottingUtil.coordinateTrans(o,m,n),L=SuperMap.Plot.PlottingUtil.coordinateTrans(o,d,n),V=SuperMap.Plot.PlottingUtil.coordinateTrans(o,v,n);(s=[]).push(O),s.push(U),s.push(w),s.push(L),s.push(V),s.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol34300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol33400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.125),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<5&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.125),this.scaleValues.push(0)),this.scaleValues.length<6&&this.scaleValues.push(.1);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l,o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(((i=this.getDefaultSubSymbolSize()/n)>.3||i<=0)&&(i=.3),this.scaleValues[5]=i);var a=1.5*this.scaleValues[5];2==t.length?(this.isEdit||(this.scaleValues[3]=this.scaleValues[2]+a),l=this.scaleValues[2],o=this.scaleValues[3]):(SuperMap.Plot.PlottingUtil.equalFuzzy(this.scaleValues[4],0)&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.125)),this.isEdit||(this.scaleValues[4]=this.scaleValues[3]+a,((i=this.getDefaultSubSymbolSize()/n)>.3||i<=0)&&(i=.3),this.scaleValues[5]=i),l=this.scaleValues[3],o=this.scaleValues[4]);var r=n*l,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r,e);if(s.bfind){var p=s.index,u=s.pts,c=n*o;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(c,e)).bfind){for(var P=s.index,S=s.pts,h=new SuperMap.Geometry.Point(u.x,u.y),y=new SuperMap.Geometry.Point(S.x,S.y),f=SuperMap.Plot.PlottingUtil.radian(h,y)*SuperMap.Plot.PlottingUtil.RTOD,g=[],M=0;M<=p;M++)g.push(e[M]);for(g.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),(g=[]).push(S),M=P+1;M<e.length;M++)g.push(e[M]);this.addArrow(g,.5*this.scaleValues[5]);var b=SuperMap.Plot.PlottingUtil.distance(h,y),m=new SuperMap.Geometry.Point(2/3*b,.5/3*b),d=new SuperMap.Geometry.Point(0,.5/3*b),v=new SuperMap.Geometry.Point(0,-.5/3*b),O=new SuperMap.Geometry.Point(2/3*b,-.5/3*b),U=SuperMap.Plot.PlottingUtil.coordinateTrans(h,m,f),w=SuperMap.Plot.PlottingUtil.coordinateTrans(h,d,f),L=SuperMap.Plot.PlottingUtil.coordinateTrans(h,v,f),V=SuperMap.Plot.PlottingUtil.coordinateTrans(h,O,f);(g=[]).push(U),g.push(w),g.push(L),g.push(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);var _=b/3*2,T=SuperMap.Plot.PlottingUtil.radian(y,U)*SuperMap.Plot.PlottingUtil.RTOD,A=SuperMap.Plot.PlottingUtil.circlePoint(y,_,_,T),E=SuperMap.Plot.PlottingUtil.radian(y,V)*SuperMap.Plot.PlottingUtil.RTOD,x=SuperMap.Plot.PlottingUtil.circlePoint(y,_,_,E);(g=[]).push(A),g.push(S),g.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),this.scalePoints=[],this.addScalePoint(S);var Y=SuperMap.Plot.PlottingUtil.circlePoint(h,b/2,b/2,f+90);this.addScalePoint(Y),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.polylineDistance(o),r=0,s=0;if(2==l.length?(r=this.scaleValues[2],s=this.scaleValues[3]):(r=this.scaleValues[3],s=this.scaleValues[4]),0==t){for(var p=s-r,u=e.clone(),c=[],P=0;P<o.length;P++)c.push(o[P].clone());for(var S,h=-1,y=0,f=0;f<c.length-1;f++){var g=[];g.push(c[f]),g.push(c[f+1]);var M=SuperMap.Plot.PlottingUtil.projectPoint(u,c[f],c[f+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(M,g).isOnPolyLine){var b=SuperMap.Plot.PlottingUtil.distance(u,M);-1==h?(h=f,S=M,y=b):y>b&&(h=f,S=M,y=b)}}if(-1==h||h>c.length-1)return;i=0;for(var m=0;m<h;m++)i+=SuperMap.Plot.PlottingUtil.distance(o[m],o[m+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[h],S))<0||i>a)return;if((n=i/a)>.7||n-p<0)return;2==l.length?(this.scaleValues[2]=n-p,this.scaleValues[3]=n):(this.scaleValues[3]=n-p,this.scaleValues[4]=n)}else if(1==t){i=a*r;var d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,o);if(!d.bfind)return;var v=d.pts;if(.7<(n=(2*SuperMap.Plot.PlottingUtil.distance(v,e)+i)/a))return;2==l.length?this.scaleValues[3]=n:this.scaleValues[4]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol33400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol32900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);2===t.length?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),i=o;this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var n=e*this.scaleValues[0],a=this.scaleValues[1],r=a,s=this.scaleValues[3],p=this.scaleValues[4];i.x=o.x+s*e,i.y=o.y+p*e,this.computeSubSymbol(this.subSymbols[0],o,n,r),this.addScalePoint(i,0);var u=new SuperMap.Geometry.Point(i.x,i.y),c=SuperMap.Plot.PlottingUtil.circlePoint(u,n,n,0);this.addScalePoint(c,1);var P=SuperMap.Plot.PlottingUtil.circlePoint(u,2*n,2*n,a);this.addScalePoint(P,2),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),r=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t&&(o=(e.x-a.x)/r,this.scaleValues[3]=o,i=(e.y-a.y)/r,this.scaleValues[4]=i),1===t){o=this.scaleValues[3],i=this.scaleValues[4],n=new SuperMap.Geometry.Point(a.x+o*r,a.y+i*r);var s=SuperMap.Plot.PlottingUtil.distance(n,e)/r;this.scaleValues[0]=s}if(2===t){o=this.scaleValues[3],i=this.scaleValues[4],n=new SuperMap.Geometry.Point(a.x+o*r,a.y+i*r);var p=SuperMap.Plot.PlottingUtil.radian(n,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[1]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol32900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol32300=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=t[0],o=t[1];e=2==t.length?o:t[2];var i=new SuperMap.Geometry.Point((l.x+o.x)/2,(l.y+o.y)/2),n=SuperMap.Plot.PlottingUtil.distance(i,e),a=.5*n,r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i,e),s=r.pntLeft,p=r.pntRight,u=!(i.x>e.x),c=[];u?(c.push(l),c.push(s)):(c.push(l),c.push(p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var P=[];u?(P.push(o),P.push(p)):(P.push(o),P.push(s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var S,h,y,f,g=.37*n,M=SuperMap.Plot.PlottingUtil.linePnt(i,e,g),b=.09*n,m=[];m.push(M),m.push(new SuperMap.Geometry.Point(M.x,M.y+b)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,m),u?(S=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,i,M)).pntLeft,h=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*b,i,M)).pntLeft,y=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,S,h)).pntRight,f=r.pntLeft):(S=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,i,M)).pntRight,h=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*b,i,M)).pntRight,y=(r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(b,S,h)).pntRight,f=r.pntLeft);var d=[];d.push(S),d.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,{lineTypeLimit:!0});var v=[];v.push(y),v.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,{lineTypeLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol32300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31803=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);var i=.5*e,n=e*this.getSubSymbolScaleValue(),a=n,r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==r.index){var s=r.pt,p=new SuperMap.Geometry.Point(o[r.index].x,o[r.index].y),u=new SuperMap.Geometry.Point(o[r.index+1].x,o[r.index+1].y),c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,P=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,c+90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P]);var S=180*SuperMap.Plot.PlottingUtil.radian(s,P)/Math.PI,h=new SuperMap.Geometry.Point(-.2*n,.05*n),y=new SuperMap.Geometry.Point(-.2*n,-.05*n),f=SuperMap.Plot.PlottingUtil.coordinateTrans(P,h,S),g=SuperMap.Plot.PlottingUtil.coordinateTrans(P,y,S);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[P,f,g],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var M=new SuperMap.Geometry.Point(0,-.6*a);M=SuperMap.Plot.PlottingUtil.coordinateTrans(s,M,c),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],M,a,c-90),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol31803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31601=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var l=this.getDefaultSubSymbolSize()/e;(l>.3||l<=0)&&(l=.3),this.scaleValues[2]=l}var o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),i=Math.abs(t[1].x-t[0].x)*this.getSubSymbolScaleValue()*.5,n=Math.abs(t[1].y-t[0].y)*this.getSubSymbolScaleValue()*.5;if(t[0].y>t[1].y){var a=new SuperMap.Geometry.Point(o.x,t[0].y),r=new SuperMap.Geometry.Point(o.x,t[0].y-n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[a,r]);var s=new SuperMap.Geometry.Point(o.x,t[1].y),p=new SuperMap.Geometry.Point(o.x,t[1].y+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,p])}else{var u=new SuperMap.Geometry.Point(o.x,t[1].y),c=new SuperMap.Geometry.Point(o.x,t[1].y-n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c]);var P=new SuperMap.Geometry.Point(o.x,t[0].y),S=new SuperMap.Geometry.Point(o.x,t[0].y+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,S])}if(t[0].x>t[1].x){var h=new SuperMap.Geometry.Point(t[0].x,o.y),y=new SuperMap.Geometry.Point(t[0].x-i,o.y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[h,y]);var f=new SuperMap.Geometry.Point(t[1].x,o.y),g=new SuperMap.Geometry.Point(t[1].x+i,o.y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[f,g])}else{var M=new SuperMap.Geometry.Point(t[1].x,o.y),b=new SuperMap.Geometry.Point(t[1].x-i,o.y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[M,b]);var m=new SuperMap.Geometry.Point(t[0].x,o.y),d=new SuperMap.Geometry.Point(t[0].x+i,o.y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[m,d])}this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var v=new SuperMap.Geometry.Point(o.x+e*this.scaleValues[0],o.y+e*this.scaleValues[1]),O=e*this.scaleValues[2]*1.2;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],v,O,0),this.addScalePoint(v);var U=SuperMap.Plot.PlottingUtil.circlePoint(v,O/2,O/2,90);this.addScalePoint(U),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;this.scaleValues.lenth<3&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===t)o=(e.x-a.x)/n,this.scaleValues[0]=o,i=(e.y-a.y)/n,this.scaleValues[1]=i;else if(1===t){o=this.scaleValues[0],i=this.scaleValues[1];var r=new SuperMap.Geometry.Point(a.x+n*o,a.y+n*i),s=SuperMap.Plot.PlottingUtil.distance(r,e)/n;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol31601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues.push(.1),this.scaleValues.push(.1),this.scaleValues.push(0)),this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=Math.abs(t[1].x-t[0].x)*this.getSubSymbolScaleValue()*.5,i=new SuperMap.Geometry.Point(e.x-o,e.y+o),n=new SuperMap.Geometry.Point(e.x-3*o,e.y-o);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i,n]);var a=new SuperMap.Geometry.Point(e.x-o,e.y-o),r=new SuperMap.Geometry.Point(e.x-3*o,e.y+o);if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[a,r]),!this.isEdit){var s=this.getDefaultSubSymbolSize()/l;(s>.3||s<=0)&&(s=.3),this.scaleValues[0]=s}var p=new SuperMap.Geometry.Point(e.x+o,e.y),u=new SuperMap.Geometry.Point(e.x+4*o,e.y),c=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,P=l*this.scaleValues[0]*2,S=new SuperMap.Geometry.Point(e.x+l*this.scaleValues[1],e.y+l*this.scaleValues[2]);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,.8*P,c),this.addScalePoint(S);var h=SuperMap.Plot.PlottingUtil.circlePoint(S,P/2,P/2,90);this.addScalePoint(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;this.scaleValues.lenth<3&&(this.scaleValues.push(.1),this.scaleValues.push(.1),this.scaleValues.push(0));var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===t)o=(e.x-a.x)/n,this.scaleValues[1]=o,i=(e.y-a.y)/n,this.scaleValues[2]=i;else if(1===t){o=this.scaleValues[1],i=this.scaleValues[2];var r=new SuperMap.Geometry.Point(a.x+n*o,a.y+n*i),s=SuperMap.Plot.PlottingUtil.distance(r,e)/n;this.scaleValues[0]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol31600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31401=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31400),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var e=0;e=Math.abs(t[1].x-t[0].x)<Math.abs(t[1].y-t[0].y)?.1*Math.abs(t[1].x-t[0].x):.1*Math.abs(t[1].y-t[0].y);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=new SuperMap.Geometry.Point(l.x-e,l.y-e),i=new SuperMap.Geometry.Point(l.x+e,l.y-3*e),n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[o,i],n,!0);var a=new SuperMap.Geometry.Point(l.x-e,l.y+e),r=new SuperMap.Geometry.Point(l.x-3*e,l.y+3*e);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[a,r],n,!0);var s=new SuperMap.Geometry.Point(l.x+e,l.y+e),p=new SuperMap.Geometry.Point(l.x+3*e,l.y+3*e);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[s,p],n,!0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31400=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=0;l=Math.abs(t[1].x-t[0].x)<Math.abs(t[1].y-t[0].y)?.1*Math.abs(t[1].x-t[0].x):.1*Math.abs(t[1].y-t[0].y);var o=new SuperMap.Geometry.Point(e.x-l,e.y-l),i=new SuperMap.Geometry.Point(e.x+l,e.y+l);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[o,i],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31304=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 1===l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.1),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31300),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[1]*e,i=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],.5*e),n=SuperMap.Plot.PlottingUtil.linePnt(i,t[0],o),a=SuperMap.Plot.PlottingUtil.linePnt(i,t[1],o),r=this.scaleValues[0]*e,s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[1],t[0]),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s.pntLeft,s.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p.pntLeft,p.pntRight]);var u=[],c=[];u.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),u.push(new SuperMap.Geometry.Point(n.x,n.y)),c.push(new SuperMap.Geometry.Point(a.x,a.y)),c.push(new SuperMap.Geometry.Point(t[1].x,t[1].y));for(var P=this.scaleValues[this.scaleValues.length-1]*e,S=SuperMap.Plot.PlottingUtil.paraLine(u,P,!0),h=SuperMap.Plot.PlottingUtil.paraLine(u,P,!1),y=SuperMap.Plot.PlottingUtil.paraLine(c,P,!0),f=SuperMap.Plot.PlottingUtil.paraLine(c,P,!1),g=[],M=[],b=0;b<S.length;b++)g.push(S[b]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);for(var m=0;m<h.length;m++)M.push(h[m]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);for(var d=[],v=[],O=0;O<y.length;O++)d.push(y[O]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);for(var U=0;U<f.length;U++)v.push(f[U]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v);var w=n,L=a,V=SuperMap.Plot.PlottingUtil.radian(w,L)*SuperMap.Plot.PlottingUtil.RTOD,_=SuperMap.Plot.PlottingUtil.distance(w,L);this.addText("慑阻",i,_,V),this.addScalePoint(s.pntRight,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31304=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31303=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31300),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],.5*e),n=SuperMap.Plot.PlottingUtil.linePnt(i,t[0],o),a=SuperMap.Plot.PlottingUtil.linePnt(i,t[1],o);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],n]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[a,t[1]]);var r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]),s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[r.pntLeft,r.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s.pntLeft,s.pntRight]);var p=[],u=[];p.push(t[0]),p.push(n),u.push(a),u.push(t[1]);for(var c=SuperMap.Plot.PlottingUtil.paraLine(p,o,!0),P=SuperMap.Plot.PlottingUtil.paraLine(p,o,!1),S=SuperMap.Plot.PlottingUtil.paraLine(u,o,!0),h=SuperMap.Plot.PlottingUtil.paraLine(u,o,!1),y=[],f=[],g=0;g<c.length;g++)y.push(c[g]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);for(var M=0;M<P.length;M++)f.push(P[M]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);for(var b=[],m=[],d=0;d<S.length;d++)b.push(S[d]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);for(var v=0;v<h.length;v++)m.push(h[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var O=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],i,2*o,O),this.addScalePoint(r.pntRight,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31303=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31302=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31300),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=t[0],i=t[1],n=this.scaleValues[0]*e,a=SuperMap.Plot.PlottingUtil.linePnt(o,i,.5*e),r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,t[0],t[1]),s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,t[1],t[0]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[r.pntLeft,r.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s.pntLeft,s.pntRight]);var p=SuperMap.Plot.PlottingUtil.linePnt(a,o,n),u=SuperMap.Plot.PlottingUtil.linePnt(a,i,n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],p]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,t[1]]);var c=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,2*n,c),this.addScalePoint(s.pntRight),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31302=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31301=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31300),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[0],t[1]),n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i.pntLeft,i.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[n.pntLeft,n.pntRight]);var a=[],r=3*o;a.push(t[0]),a.push(t[1]);for(var s=SuperMap.Plot.PlottingUtil.paraLine(a,r,!0),p=SuperMap.Plot.PlottingUtil.paraLine(a,r,!1),u=[],c=0;c<s.length;c++)u.push(s[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,s[1],s[0]),S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,s[0],s[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P.pntLeft,P.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[S.pntLeft,S.pntRight]);for(var h=[],y=0;y<p.length;y++)h.push(p[y]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,p[1],p[0]),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,p[0],p[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[f.pntLeft,f.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[g.pntLeft,g.pntRight]),this.addScalePoint(n.pntRight,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[0],t[1]),n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i.pntLeft,i.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[n.pntLeft,n.pntRight]),this.addScalePoint(n.pntRight,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0===t){var n=l[0],a=e,r=SuperMap.Plot.PlottingUtil.distance(a,n)/o;this.scaleValues[0]=r}}}}]),e}();SuperMap.Plot.AlgoSymbol31300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30102=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(1.570796),l.scaleValues.push(.069485),l.scaleValues.push(.15),l.scaleValues.push(.1),l.scaleValues.push(1.731025),l.scaleValues.push(2.076877)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var i=e*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI,a=e*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==r.index){var s=r.index,p=r.pt,u=o[s],c=o[s+1],P=180*SuperMap.Plot.PlottingUtil.radian(u,c)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(p,a/2,a/2,P+n),h=SuperMap.Plot.PlottingUtil.circlePoint(p,a,a,P+n+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[S,h]);var y=180*SuperMap.Plot.PlottingUtil.radian(p,S)/Math.PI,f=new SuperMap.Geometry.Point(-.2*a,.05*a),g=new SuperMap.Geometry.Point(-.2*a,-.05*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(S,f,y),b=SuperMap.Plot.PlottingUtil.coordinateTrans(S,g,y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,M,b],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var m=.5*a*this.scaleValues[5],d=.5*a*this.scaleValues[6],v=new SuperMap.Geometry.Point(0,-.9*(m-.25*d)),O=new SuperMap.Geometry.Point(0,.9*(m-.25*d)),U=SuperMap.Plot.PlottingUtil.coordinateTrans(h,v,y),w=SuperMap.Plot.PlottingUtil.coordinateTrans(h,O,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[U,w]);var L=new SuperMap.Geometry.Point(0,m),V=SuperMap.Plot.PlottingUtil.coordinateTrans(h,L,y),_=new SuperMap.Geometry.Point(.5*d,-.25*d),T=new SuperMap.Geometry.Point(-.5*d,-.25*d),A=new SuperMap.Geometry.Point(-.5*d,.25*d),E=new SuperMap.Geometry.Point(.25*d,.25*d),x=SuperMap.Plot.PlottingUtil.coordinateTrans(V,_,y),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(V,T,y),j=SuperMap.Plot.PlottingUtil.coordinateTrans(V,A,y),C=SuperMap.Plot.PlottingUtil.coordinateTrans(V,E,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[x,Y,j,C,x]);var I=new SuperMap.Geometry.Point(0,-m),G=SuperMap.Plot.PlottingUtil.coordinateTrans(h,I,y),B=new SuperMap.Geometry.Point(0,.25*d),R=new SuperMap.Geometry.Point(.5*d,0),N=new SuperMap.Geometry.Point(0,-.25*d),D=new SuperMap.Geometry.Point(-.5*d,0),k=SuperMap.Plot.PlottingUtil.coordinateTrans(G,B,y),z=SuperMap.Plot.PlottingUtil.coordinateTrans(G,R,y),F=SuperMap.Plot.PlottingUtil.coordinateTrans(G,N,y),K=SuperMap.Plot.PlottingUtil.coordinateTrans(G,D,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[k,z,F,K,k]),this.addScalePoint(p,0);var q=SuperMap.Plot.PlottingUtil.circlePoint(p,a,a,P+n);this.addScalePoint(q,1);var W=new SuperMap.Geometry.Point(0,-m),J=SuperMap.Plot.PlottingUtil.coordinateTrans(h,W,y);this.addScalePoint(J,2);var Z=new SuperMap.Geometry.Point(-.5*d,0),H=SuperMap.Plot.PlottingUtil.coordinateTrans(V,Z,y);this.addScalePoint(H,3),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,a,r,s,p,u,c,P,S,h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(h=SuperMap.Plot.PlottingUtil.clearSamePts(h),0===t){for(var y=-1,f=0,g=new SuperMap.Geometry.Point(0,0),M=0;M<h.length-1;M++){var b=[];b.push(h[M]),b.push(h[M+1]);var m=SuperMap.Plot.PlottingUtil.projectPoint(e,h[M],h[M+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(m,b).index){var d=SuperMap.Plot.PlottingUtil.distance(e,m);-1==y?(y=M,g=m,f=d):f>d&&(y=M,g=m,f=d)}}if(-1==y||y>h.length-1)return;n=0;for(var v=0;v<y;v++)n+=SuperMap.Plot.PlottingUtil.distance(h[v],h[v+1]);if((n+=SuperMap.Plot.PlottingUtil.distance(h[y],g))<0||n>o)return;var O=n/o;this.scaleValues[0]=O}else if(1===t){a=o*this.scaleValues[0];var U=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a);if(-1===U.index)return;s=r=U.pt,p=h[U.index],u=h[U.index+1],c=SuperMap.Plot.PlottingUtil.radian(p,u);var w=SuperMap.Plot.PlottingUtil.radian(s,e)-c;this.scaleValues[1]=w;var L=(n=SuperMap.Plot.PlottingUtil.distance(r,e))/o;this.scaleValues[2]=L}else if(2===t){if(a=o*this.scaleValues[0],P=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a)).index)return;s=r.pt,p=h[r.index],u=h[r.index+1],c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,c+P-180);var V=SuperMap.Plot.PlottingUtil.distance(e,S)/(.4*n);this.scaleValues[5]=V}else if(3===t){if(a=o*this.scaleValues[0],P=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a)).index)return;s=r.pt,p=h[r.index],u=h[r.index+1],c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,c+P-180);var _=.4*n*this.scaleValues[5],T=SuperMap.Plot.PlottingUtil.circlePoint(S,_,_,c+P+90),A=2*SuperMap.Plot.PlottingUtil.distance(T,e)/(.4*n);if(this.scaleValues[5]-.25*A<=0)return;this.scaleValues[6]=A}}}}]),e}();SuperMap.Plot.AlgoSymbol30102=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.125),l.scaleValues.push(Math.PI/2)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);t=SuperMap.Plot.PlottingUtil.clearSamePts(t);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.125),this.scaleValues.push(Math.PI/2)),3===this.scaleValues.length&&this.scaleValues.push(this.getSubSymbolScaleValue()),!(t.length<this.minEditPts)){for(var l=0,o=0;o<t.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[1]=i,this.scaleValues[3]=i}var n=this.scaleValues[1],a=180*this.scaleValues[2]/Math.PI,r=l*this.scaleValues[0],s=l*this.scaleValues[3],p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,r);if(-1!==p.index){var u=p.pt,c=e[p.index],P=e[p.index+1],S=SuperMap.Plot.PlottingUtil.radian(c,P)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,s,s,S+a);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p.pt,h]);var y,f=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,g=l*n;0<this.subSymbols.length&&(y=SuperMap.Plot.PlottingUtil.circlePoint(u,s,s,S+a+180),this.computeSubSymbol(this.subSymbols[0],y,.8*g,S+a-180),this.addScalePoint(SuperMap.Plot.PlottingUtil.circlePoint(y,.5*g,.5*g,S+a+90),1)),y=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+30);var M=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+33),b=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt([h,y,M]);b=SuperMap.Plot.PlottingUtil.clearSamePts(b);var m=SuperMap.Plot.PlottingUtil.polylineDistance(b),d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.9*m,b);if(-1!==d.index){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b.slice(0,d.index));var v=SuperMap.Plot.PlottingUtil.radian(h,y)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point(-.2*s,.05*s),U=new SuperMap.Geometry.Point(-.2*s,-.05*s),w=SuperMap.Plot.PlottingUtil.coordinateTrans(y,O,v+17),L=SuperMap.Plot.PlottingUtil.coordinateTrans(y,U,v+17),V={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[y,w,L],V);var _=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+330),T=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+327),A=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt([h,_,T]);A=SuperMap.Plot.PlottingUtil.clearSamePts(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A.slice(0,d.index));var E=SuperMap.Plot.PlottingUtil.radian(h,_)*SuperMap.Plot.PlottingUtil.RTOD,x=SuperMap.Plot.PlottingUtil.coordinateTrans(_,O,E-17),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(_,U,E-17);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[_,x,Y],V),this.addScalePoint(u,0),this.addScalePoint(h,2),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,a,r,s,p=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(p=SuperMap.Plot.PlottingUtil.clearSamePts(p),0===t){for(var u=[],c=0;c<p.length;c++)u.push(new SuperMap.Geometry.Point(p[c].x,p[c].y));for(var P=-1,S=0,h=new SuperMap.Geometry.Point(0,0),y=0;y<u.length-1;y++){var f=[];f.push(u[y]),f.push(u[y+1]);var g=SuperMap.Plot.PlottingUtil.projectPoint(e,u[y],u[y+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(g,f).index){var M=SuperMap.Plot.PlottingUtil.distance(e,g);-1==P?(P=y,h=g,S=M):S>M&&(P=y,h=g,S=M)}}if(-1==P||P>u.length-1)return;for(var b=0,m=0;m<P;m++)b+=SuperMap.Plot.PlottingUtil.distance(p[m],p[m+1]);if((b+=SuperMap.Plot.PlottingUtil.distance(p[P],h))<0||b>o)return;var d=b/o;this.scaleValues[0]=d}else if(1===t){var v=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,o*this.scaleValues[0]);if(-1===v.index)return;n=v.pt,a=p[v.index],r=p[v.index+1],s=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD;var O=o*this.scaleValues[3],U=SuperMap.Plot.PlottingUtil.circlePoint(n,O,O,s+this.scaleValues[2]*SuperMap.Plot.PlottingUtil.RTOD+180),w=SuperMap.Plot.PlottingUtil.distance(U,e)/o*2;this.scaleValues[1]=w}else if(2===t){var L=o*this.scaleValues[0],V=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,L);if(-1===V.index)return;n=V.pt,a=p[V.index],r=p[V.index+1],s=SuperMap.Plot.PlottingUtil.radian(a,r);var _=SuperMap.Plot.PlottingUtil.radian(n,e)-s;this.scaleValues[2]=_}}}}]),e}();SuperMap.Plot.AlgoSymbol30800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30201=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30200),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1)),3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),0==this.scaleValues.length?(this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1),this.scaleValues.push(.05)):3==this.scaleValues.length&&(this.scaleValues[3]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[1]=2*this.getSubSymbolScaleValue(),this.scaleValues[3]=.5*this.getSubSymbolScaleValue());var o=e*this.scaleValues[1],i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,o);if(-1!==i.index){var n=t[0],a=i.pt,r=SuperMap.Plot.PlottingUtil.radian(n,a)*SuperMap.Plot.PlottingUtil.RTOD,s=new SuperMap.Geometry.Point(0,.1*o),p=new SuperMap.Geometry.Point(.4*o,.1*o),u=new SuperMap.Geometry.Point(.4*o,-.1*o),c=new SuperMap.Geometry.Point(0,-.1*o),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,r),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,r),h=SuperMap.Plot.PlottingUtil.coordinateTrans(n,u,r),y=SuperMap.Plot.PlottingUtil.coordinateTrans(n,c,r),f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,S,h,y,P],f);var g=new SuperMap.Geometry.Point(.3*o,.1*o),M=new SuperMap.Geometry.Point(.3*o,-.1*o),b=SuperMap.Plot.PlottingUtil.coordinateTrans(n,g,r),m=SuperMap.Plot.PlottingUtil.coordinateTrans(n,M,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[b,m]);var d=new SuperMap.Geometry.Point(.4*o,0),v=new SuperMap.Geometry.Point(.8*o,0),O=SuperMap.Plot.PlottingUtil.coordinateTrans(n,d,r),U=SuperMap.Plot.PlottingUtil.coordinateTrans(n,v,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[O,U]);var w=new SuperMap.Geometry.Point(.7*o,.025*o),L=new SuperMap.Geometry.Point(.7*o,-.025*o),V=SuperMap.Plot.PlottingUtil.coordinateTrans(n,w,r),_=SuperMap.Plot.PlottingUtil.coordinateTrans(n,L,r);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[U,V,_],f);var T=[];T.push(i.pt);for(var A=i.index+1;A<l.length;A++)T.push(l[A]);this.addArrow(T,this.scaleValues[3]),this.components[this.components.length-2].style.strokeDashstyle="dash",this.components[this.components.length-2].style.lineSymbolID=1,this.components[this.components.length-2].style.lineTypeLimit=!0;var E=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,r+90);this.addScalePoint(E,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol30201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(1e3),l.scaleValues.push(.2),l.scaleValues.push(.1),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length?(this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1),this.scaleValues.push(.05)):3==this.scaleValues.length&&(this.scaleValues[3]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[1]=2*this.getSubSymbolScaleValue(),this.scaleValues[3]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=e*this.scaleValues[1],i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,o);if(-1!==i.index){var n=t[0],a=i.pt,r=SuperMap.Plot.PlottingUtil.radian(n,a)*SuperMap.Plot.PlottingUtil.RTOD,s=new SuperMap.Geometry.Point(0,.1*o),p=new SuperMap.Geometry.Point(.4*o,.1*o),u=new SuperMap.Geometry.Point(.4*o,-.1*o),c=new SuperMap.Geometry.Point(0,-.1*o),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,r),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,r),h=SuperMap.Plot.PlottingUtil.coordinateTrans(n,u,r),y=SuperMap.Plot.PlottingUtil.coordinateTrans(n,c,r),f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,S,h,y,P],f);var g=.1*o,M=new SuperMap.Geometry.Point(.3*o,0),b=SuperMap.Plot.PlottingUtil.circlePoint(M,g,g,135),m=SuperMap.Plot.PlottingUtil.circlePoint(M,g,g,225),d=SuperMap.Plot.PlottingUtil.coordinateTrans(n,M,r),v=SuperMap.Plot.PlottingUtil.coordinateTrans(n,b,r),O=SuperMap.Plot.PlottingUtil.coordinateTrans(n,m,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[v,d,O]);var U=new SuperMap.Geometry.Point(.9*o,0),w=SuperMap.Plot.PlottingUtil.coordinateTrans(n,U,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[d,w]);var L=new SuperMap.Geometry.Point(.8*o,.025*o),V=new SuperMap.Geometry.Point(.8*o,-.025*o),_=SuperMap.Plot.PlottingUtil.coordinateTrans(n,L,r),T=SuperMap.Plot.PlottingUtil.coordinateTrans(n,V,r);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[w,_,T],f);var A=[];A.push(i.pt);for(var E=i.index+1;E<l.length;E++)A.push(l[E]);this.addArrow(A,this.scaleValues[3]),this.components[this.components.length-2].style.strokeDashstyle="dash",this.components[this.components.length-2].style.lineSymbolID=1,this.components[this.components.length-2].style.lineTypeLimit=!0;var x=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,r+90);this.addScalePoint(x,0),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n=l[0],a=e,r=SuperMap.Plot.PlottingUtil.distance(a,n);if(0===t){var s=r/o;if(.06>s||.3<s)return;this.scaleValues[1]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol30200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.069485),l.scaleValues.push(.15),l.scaleValues.push(.1),l.scaleValues.push(1.731025),l.scaleValues.push(2.076877)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var i=e*this.scaleValues[0],n=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,a=e*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==r.index){var s=r.pt,p=r.index,u=s,c=o[p],P=o[p+1],S=SuperMap.Plot.PlottingUtil.radian(c,P)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,1.5*a,1.5*a,S+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,h]);var y=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,f=new SuperMap.Geometry.Point(-.2*a,.05*a),g=new SuperMap.Geometry.Point(-.2*a,-.05*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(h,f,y),b=SuperMap.Plot.PlottingUtil.coordinateTrans(h,g,y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[h,M,b],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var m=new SuperMap.Geometry.Point(.6*a,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(u,m,y),v=.4*a*this.scaleValues[5],O=.4*a*this.scaleValues[6],U=new SuperMap.Geometry.Point(0,-.9*(v-.25*O)),w=new SuperMap.Geometry.Point(0,.9*(v-.25*O)),L=SuperMap.Plot.PlottingUtil.coordinateTrans(d,U,y),V=SuperMap.Plot.PlottingUtil.coordinateTrans(d,w,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[L,V]);var _=new SuperMap.Geometry.Point(0,v),T=SuperMap.Plot.PlottingUtil.coordinateTrans(d,_,y),A=new SuperMap.Geometry.Point(0,.25*O),E=new SuperMap.Geometry.Point(.5*O,0),x=new SuperMap.Geometry.Point(0,-.25*O),Y=new SuperMap.Geometry.Point(-.5*O,0),j=SuperMap.Plot.PlottingUtil.coordinateTrans(T,A,y),C=SuperMap.Plot.PlottingUtil.coordinateTrans(T,E,y),I=SuperMap.Plot.PlottingUtil.coordinateTrans(T,x,y),G=SuperMap.Plot.PlottingUtil.coordinateTrans(T,Y,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[j,C,I,G,j]);var B=new SuperMap.Geometry.Point(0,-v),R=SuperMap.Plot.PlottingUtil.coordinateTrans(d,B,y),N=SuperMap.Plot.PlottingUtil.coordinateTrans(R,A,y),D=SuperMap.Plot.PlottingUtil.coordinateTrans(R,E,y),k=SuperMap.Plot.PlottingUtil.coordinateTrans(R,x,y),z=SuperMap.Plot.PlottingUtil.coordinateTrans(R,Y,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[N,D,k,z,N]),this.addScalePoint(s,0),this.addScalePoint(h,1);var F=new SuperMap.Geometry.Point(0,-v),K=SuperMap.Plot.PlottingUtil.coordinateTrans(d,F,y);this.addScalePoint(K,2),this.addScalePoint(G,3),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,a,r,s,p,u,c,P,S,h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(h=SuperMap.Plot.PlottingUtil.clearSamePts(h),0===t){for(var y=[],f=0;f<h.length;f++)y.push(new SuperMap.Geometry.Point(h[f].x,h[f].y));for(var g=-1,M=0,b=new SuperMap.Geometry.Point(0,0),m=0;m<y.length-1;m++){var d=[];d.push(y[m]),d.push(y[m+1]);var v=SuperMap.Plot.PlottingUtil.projectPoint(e,y[m],y[m+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(v,d).index){var O=SuperMap.Plot.PlottingUtil.distance(e,v);-1==g?(g=m,b=v,M=O):M>O&&(g=m,b=v,M=O)}}if(-1==g||g>y.length-1)return;n=0;for(var U=0;U<g;U++)n+=SuperMap.Plot.PlottingUtil.distance(h[U],h[U+1]);if((n+=SuperMap.Plot.PlottingUtil.distance(h[g],b))<0||n>o)return;var w=n/o;this.scaleValues[0]=w}else if(1===t){a=o*this.scaleValues[0];var L=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a);if(-1===L.index)return;r=L.pt,s=h[L.index],p=h[L.index+1],u=SuperMap.Plot.PlottingUtil.radian(s,p);var V=(S=SuperMap.Plot.PlottingUtil.radian(r,e))-u;this.scaleValues[1]=V;var _=(n=SuperMap.Plot.PlottingUtil.distance(r,e))/o/1.5;this.scaleValues[2]=_}else if(2===t){if(a=o*this.scaleValues[0],c=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a)).index)return;P=r.pt,s=h[r.index],p=h[r.index+1],u=180*SuperMap.Plot.PlottingUtil.radian(s,p)/Math.PI;var T=SuperMap.Plot.PlottingUtil.circlePoint(P,.4*n,.4*n,u+c),A=SuperMap.Plot.PlottingUtil.distance(e,T)/(.4*n);this.scaleValues[5]=A}else if(3===t){if(a=o*this.scaleValues[0],c=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,a)).index)return;P=r.pt,s=h[r.index],p=h[r.index+1],S=(u=180*SuperMap.Plot.PlottingUtil.radian(s,p)/Math.PI)+c;var E=new SuperMap.Geometry.Point(.6*n,0),x=SuperMap.Plot.PlottingUtil.coordinateTrans(P,E,S),Y=.4*n*this.scaleValues[5],j=new SuperMap.Geometry.Point(0,Y),C=SuperMap.Plot.PlottingUtil.coordinateTrans(x,j,S),I=2*SuperMap.Plot.PlottingUtil.distance(C,e)/(.4*n);this.scaleValues[6]=I}}}}]),e}();SuperMap.Plot.AlgoSymbol30100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30002=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30001),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getSubSymbolScaleValue();this.scaleValues[2]=o,this.scaleValues[4]=o}var i=l*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI,a=l*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,i);if(-1!==r.index){var s=r.pt,p=new SuperMap.Geometry.Point(e[r.index].x,e[r.index].y),u=new SuperMap.Geometry.Point(e[r.index+1].x,e[r.index+1].y),c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,P=SuperMap.Plot.PlottingUtil.circlePoint(s,a,a,c+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P]);var S=180*SuperMap.Plot.PlottingUtil.radian(s,P)/Math.PI,h=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*a,.2*a,S-157.5),y=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*a,.2*a,S+157.5);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[P,h,y],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});for(var f=4.5*(l*this.scaleValues[4])*Math.sin(Math.PI/8),g=this.getLeftSubSymbolPts(f),M=e[0].clone(),b=-1,m=null,d=1;d<e.length;d++)if(SuperMap.Plot.PlottingUtil.distance(M,e[d])>.5*f){b=d-1,m=SuperMap.Plot.PlottingUtil.linePnt(M,e[d],.5*f);break}-1===b&&(b=e.length-1,m=e[e.length-1]);var v=null;if(null!==m){for(var O=180*SuperMap.Plot.PlottingUtil.radian(M,m)/Math.PI,U=[],w=0;w<g.length;w++)U.push(SuperMap.Plot.PlottingUtil.coordinateTrans(M,g[w],O));v=U[3].clone(),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U)}for(var L=this.getRightSubSymbolPts(f),V=e[e.length-1].clone(),_=-1,T=null,A=e.length-2;A>=0;A--)if(SuperMap.Plot.PlottingUtil.distance(V,e[A])>.5*f){_=A,T=SuperMap.Plot.PlottingUtil.linePnt(V,e[A],.5*f);break}if(-1===_&&(_=0,T=e[0]),null!==T){for(var E=180*SuperMap.Plot.PlottingUtil.radian(V,T)/Math.PI,x=[],Y=0;Y<L.length;Y++)x.push(SuperMap.Plot.PlottingUtil.coordinateTrans(V,L[Y],E));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,x)}if(b<=_){var j=[];j.push(m);for(var C=b+1;C<=_;C++)j.push(e[C]);j.push(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,j)}this.addScalePoint(s),this.addScalePoint(P),null!==v&&this.addScalePoint(v),this.finish()}}}},{key:"getRightSubSymbolPts",value:function(t){var e=.25*t,l=[];return l.push(new SuperMap.Geometry.Point(0,2*e)),l.push(new SuperMap.Geometry.Point(2*e,2*e)),l.push(new SuperMap.Geometry.Point(2*e,-e)),l.push(new SuperMap.Geometry.Point(0,-2*e)),l.push(new SuperMap.Geometry.Point(0,2*e)),l}}]),e}();SuperMap.Plot.AlgoSymbol30002=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getSubSymbolScaleValue();(o>.2||o<=0)&&(o=.2),this.scaleValues[2]=o,this.scaleValues[4]=o}var i=l*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI,a=l*this.scaleValues[2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,i);if(-1!==r.index){var s=r.pt,p=new SuperMap.Geometry.Point(e[r.index].x,e[r.index].y),u=new SuperMap.Geometry.Point(e[r.index+1].x,e[r.index+1].y),c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,P=SuperMap.Plot.PlottingUtil.circlePoint(s,a,a,c+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P]);var S=180*SuperMap.Plot.PlottingUtil.radian(s,P)/Math.PI,h=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*a,.2*a,S-157.5),y=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*a,.2*a,S+157.5);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[P,h,y],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});for(var f=4.5*(l*this.scaleValues[4])*Math.sin(Math.PI/8),g=this.getLeftSubSymbolPts(f),M=e[0].clone(),b=-1,m=null,d=1;d<e.length;d++)if(SuperMap.Plot.PlottingUtil.distance(M,e[d])>.5*f){b=d-1,m=SuperMap.Plot.PlottingUtil.linePnt(M,e[d],.5*f);break}-1===b&&(b=e.length-1,m=e[e.length-1]);var v=null;if(null!==m){for(var O=180*SuperMap.Plot.PlottingUtil.radian(M,m)/Math.PI,U=[],w=0;w<g.length;w++)U.push(SuperMap.Plot.PlottingUtil.coordinateTrans(M,g[w],O));v=U[3].clone(),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U)}for(var L=this.getRightSubSymbolPts(f),V=e[e.length-1].clone(),_=-1,T=null,A=e.length-2;A>=0;A--)if(SuperMap.Plot.PlottingUtil.distance(V,e[A])>.5*f){_=A,T=SuperMap.Plot.PlottingUtil.linePnt(V,e[A],.5*f);break}if(-1===_&&(_=0,T=e[0]),null!==T){for(var E=180*SuperMap.Plot.PlottingUtil.radian(V,T)/Math.PI,x=[],Y=0;Y<L.length;Y++)x.push(SuperMap.Plot.PlottingUtil.coordinateTrans(V,L[Y],E));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,x)}if(b<=_){var j=[];j.push(m);for(var C=b+1;C<=_;C++)j.push(e[C]);j.push(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,j)}this.addScalePoint(s),this.addScalePoint(P),null!==v&&this.addScalePoint(v),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var a=-1,r=0,s=new SuperMap.Geometry.Point(0,0),p=0;p<o.length-1;p++){var u=[];u.push(o[p]),u.push(o[p+1]);var c=SuperMap.Plot.PlottingUtil.projectPoint(e,o[p],o[p+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(c,u).index){var P=SuperMap.Plot.PlottingUtil.distance(e,c);isNaN(P)||(-1==a?(a=p,s=c,r=P):r>P&&(a=p,s=c,r=P))}}if(-1===a||a>o.length-1)return;i=0;for(var S=0;S<a;S++)i+=SuperMap.Plot.PlottingUtil.distance(o[S],o[S+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[a],s))<0||i>n)return;var h=i/n;this.scaleValues[0]=h}else if(1===t){var y=n*this.scaleValues[0],f=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,y);if(-1===f.index)return;var g=f.pt,M=o[f.index],b=o[f.index+1],m=SuperMap.Plot.PlottingUtil.radian(M,b),d=SuperMap.Plot.PlottingUtil.radian(g,e)-m;this.scaleValues[1]=d;var v=(i=SuperMap.Plot.PlottingUtil.distance(g,e))/n;this.scaleValues[2]=v}else if(2===t){var O=SuperMap.Plot.PlottingUtil.distance(e,l[0])/n;O>.35&&(O=.35),this.scaleValues[4]=O}}}},{key:"getLeftSubSymbolPts",value:function(t){var e=.25*t,l=[],o=new SuperMap.Geometry.Point(0,0),i=new SuperMap.Geometry.Point(e,-2*e),n=new SuperMap.Geometry.Point(2*e,0),a=new SuperMap.Geometry.Point(e,2*e);return l.push(o),l.push(i),l.push(n),l.push(a),l.push(o),l}},{key:"getRightSubSymbolPts",value:function(t){return this.getLeftSubSymbolPts(t)}}]),e}();SuperMap.Plot.AlgoSymbol30001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);var i=e*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI;if(!this.isEdit){var a=this.getSubSymbolScaleValue();this.scaleValues[2]=a}var r=e*this.scaleValues[2],s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==s.index){var p=s.pt,u=new SuperMap.Geometry.Point(o[s.index].x,o[s.index].y),c=new SuperMap.Geometry.Point(o[s.index+1].x,o[s.index+1].y),P=180*SuperMap.Plot.PlottingUtil.radian(u,c)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(p,r,r,P+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p,S]);var h=180*SuperMap.Plot.PlottingUtil.radian(p,S)/Math.PI,y=new SuperMap.Geometry.Point(-.2*r,.05*r),f=new SuperMap.Geometry.Point(-.2*r,-.05*r),g=SuperMap.Plot.PlottingUtil.coordinateTrans(S,y,h),M=SuperMap.Plot.PlottingUtil.coordinateTrans(S,f,h);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,g,M],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addScalePoint(p,0),this.addScalePoint(S,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var a=-1,r=0,s=new SuperMap.Geometry.Point(0,0),p=0;p<o.length-1;p++){var u=[];u.push(o[p]),u.push(o[p+1]);var c=SuperMap.Plot.PlottingUtil.projectPoint(e,o[p],o[p+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(c,u).index){var P=SuperMap.Plot.PlottingUtil.distance(e,c);-1==a?(a=p,s=c,r=P):r>P&&(a=p,s=c,r=P)}}if(-1==a||a>o.length-1)return;i=0;for(var S=0;S<a;S++)i+=SuperMap.Plot.PlottingUtil.distance(o[S],o[S+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[a],s))<0||i>n)return;var h=i/n;this.scaleValues[0]=h}else if(1===t){var y=n*this.scaleValues[0],f=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,y);if(-1===f.index)return;var g=f.pt,M=o[f.index],b=o[f.index+1],m=SuperMap.Plot.PlottingUtil.radian(M,b),d=SuperMap.Plot.PlottingUtil.radian(g,e)-m;this.scaleValues[1]=d;var v=(i=SuperMap.Plot.PlottingUtil.distance(g,e))/n;this.scaleValues[2]=v}}}}]),e}();SuperMap.Plot.AlgoSymbol30000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29903=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05,l.scaleValues[2]=.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.05,this.scaleValues[2]=.02):1===this.scaleValues.length?(this.scaleValues[1]=this.getSubSymbolScaleValue(),this.scaleValues[2]=.5*this.getSubSymbolScaleValue()):2===this.scaleValues.length&&(this.scaleValues[2]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=this.getSubSymbolScaleValue(),this.scaleValues[2]=.5*this.getSubSymbolScaleValue()}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,r,a-180);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);if(this.addArrow(p,this.scaleValues[2]),p.length>=2){var P=l*this.scaleValues[1],S=.3*P,h=.8*P,y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l-h,e),f=1.1*P,g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l-f,e),M=180*SuperMap.Plot.PlottingUtil.radian(y.pts,g.pts)/Math.PI,b=SuperMap.Plot.PlottingUtil.circlePoint(y.pts,S,S,M+90),m=SuperMap.Plot.PlottingUtil.circlePoint(y.pts,S,S,M+270),d=SuperMap.Plot.PlottingUtil.circlePoint(g.pts,S,S,M+90),v=SuperMap.Plot.PlottingUtil.circlePoint(g.pts,S,S,M+270),O=[];O.push(b),O.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),(O=[]).push(d),O.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O)}}var U=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),w=SuperMap.Plot.PlottingUtil.circlePoint(U.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,a+90);this.addScalePoint(w,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.4?a:.4}}}]),e}();SuperMap.Plot.AlgoSymbol29903=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 10!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.2),l.scaleValues.push(.2),l.scaleValues.push(.4),l.scaleValues.push(.4),l.scaleValues.push(.1),l.scaleValues.push(.2),l.scaleValues.push(.1),l.scaleValues.push(.2),l.scaleValues.push(1),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var o,i=e*this.scaleValues[4],n=e*this.scaleValues[5],a=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),r=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],a+n);o=(this.scaleValues[8],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],r));var s,p=e*this.scaleValues[6],u=e*this.scaleValues[7],c=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],a+u);s=(this.scaleValues[9],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,t[0],c));var P=[];P.push(new SuperMap.Geometry.Point(o.pntLeft.x,o.pntLeft.y)),P.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),P.push(new SuperMap.Geometry.Point(t[1].x,t[1].y)),P.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y));var S=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(P);S=SuperMap.Plot.PlottingUtil.clearSamePts(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.addScalePoint(o.pntLeft,3),this.addScalePoint(s.pntRight,4),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.projectPoint(e,l[0],l[1]);if(t<=2&&SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments),3===t){var n=SuperMap.Plot.PlottingUtil.distance(e,i)/o,a=SuperMap.Plot.PlottingUtil.distance(i,l[0])/o;this.scaleValues[4]=n,this.scaleValues[5]=a,SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e)?this.scaleValues[8]=1:this.scaleValues[8]=0}if(4===t){var r=SuperMap.Plot.PlottingUtil.distance(e,i)/o,s=SuperMap.Plot.PlottingUtil.distance(i,l[1])/o;this.scaleValues[6]=r,this.scaleValues[7]=s,SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e)?this.scaleValues[9]=1:this.scaleValues[9]=0}}}}]),e}();SuperMap.Plot.AlgoSymbol29800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var a=new SuperMap.Geometry.Point(t[0].x,t[0].y),r=new SuperMap.Geometry.Point(t[1].x,t[1].y),s=180*SuperMap.Plot.PlottingUtil.radian(a,r)/Math.PI,p=a,u=i[0],c=[];c.push(p),c.push(u),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c);var P=new SuperMap.Geometry.Point(0,.8*o),S=new SuperMap.Geometry.Point(0,-.8*o),h=SuperMap.Plot.PlottingUtil.coordinateTrans(p,P,s),y=SuperMap.Plot.PlottingUtil.coordinateTrans(p,S,s);(c=[]).push(h),c.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var f=new SuperMap.Geometry.Point(-.3*o,.4*o),g=new SuperMap.Geometry.Point(-.3*o,-.4*o),M=SuperMap.Plot.PlottingUtil.coordinateTrans(p,f,s),b=SuperMap.Plot.PlottingUtil.coordinateTrans(p,g,s);(c=[]).push(M),c.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var m=new SuperMap.Geometry.Point(.3*o,.4*o),d=new SuperMap.Geometry.Point(.3*o,-.4*o),v=SuperMap.Plot.PlottingUtil.coordinateTrans(p,m,s),O=SuperMap.Plot.PlottingUtil.coordinateTrans(p,d,s);(c=[]).push(v),c.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var U=new SuperMap.Geometry.Point((a.x+r.x)/2,(a.y+r.y)/2),w=new SuperMap.Geometry.Point((i[0].x+i[i.length-1].x)/2,(i[i.length-1].y+i[0].y)/2);(c=[]).push(U),c.push(w),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c);var L=SuperMap.Plot.PlottingUtil.coordinateTrans(U,P,s),V=SuperMap.Plot.PlottingUtil.coordinateTrans(U,S,s);(c=[]).push(L),c.push(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var _=SuperMap.Plot.PlottingUtil.coordinateTrans(U,f,s),T=SuperMap.Plot.PlottingUtil.coordinateTrans(U,g,s);(c=[]).push(_),c.push(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var A=SuperMap.Plot.PlottingUtil.coordinateTrans(U,m,s),E=SuperMap.Plot.PlottingUtil.coordinateTrans(U,d,s);(c=[]).push(A),c.push(E),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var x=r,Y=i[i.length-1];(c=[]).push(x),c.push(Y),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c);var j=SuperMap.Plot.PlottingUtil.coordinateTrans(x,P,s),C=SuperMap.Plot.PlottingUtil.coordinateTrans(x,S,s);(c=[]).push(j),c.push(C),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var I=SuperMap.Plot.PlottingUtil.coordinateTrans(x,f,s),G=SuperMap.Plot.PlottingUtil.coordinateTrans(x,g,s);(c=[]).push(I),c.push(G),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var B=SuperMap.Plot.PlottingUtil.coordinateTrans(x,m,s),R=SuperMap.Plot.PlottingUtil.coordinateTrans(x,d,s);(c=[]).push(B),c.push(R),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.addScalePoint(i[0],0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n=new SuperMap.Geometry.Point(l[0].x,l[0].y),a=new SuperMap.Geometry.Point(e.x,e.y),r=SuperMap.Plot.PlottingUtil.distance(n,a)/o;this.scaleValues[0]=r}}}]),e}();SuperMap.Plot.AlgoSymbol29401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29103=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29100),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=[];o=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o);for(var i=0;i<4;i++){var n=i*(o.length-1)/4,a=new SuperMap.Geometry.Point(o[n].x,o[n].y),r=new SuperMap.Geometry.Point(o[n+1].x,o[n+1].y),s=new SuperMap.Geometry.Point((a.x+r.x)/2,(a.y+r.y)/2),p=180*SuperMap.Plot.PlottingUtil.radian(s,r)/Math.PI,u=e*this.scaleValues[0]/2,c=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p),P=SuperMap.Plot.PlottingUtil.circlePoint(s,4*u,4*u,p+270),S=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+180);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[c,P,S],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29103=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29101=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29100),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.25*this.getSubSymbolScaleValue());var l=[];l=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);for(var o=0;o<4;o++){var i=o*(l.length-1)/4,n=new SuperMap.Geometry.Point(l[i].x,l[i].y),a=new SuperMap.Geometry.Point(l[i+1].x,l[i+1].y),r=new SuperMap.Geometry.Point((n.x+a.x)/2,(n.y+a.y)/2),s=SuperMap.Plot.PlottingUtil.radian(r,a)*SuperMap.Plot.PlottingUtil.RTOD,p=this.scaleValues[0]*e/2,u=SuperMap.Plot.PlottingUtil.circlePoint(r,p,p,s),c=SuperMap.Plot.PlottingUtil.circlePoint(r,4*p,4*p,s+270),P=SuperMap.Plot.PlottingUtil.circlePoint(r,p,p,s+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c,P])}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.25*this.getSubSymbolScaleValue());var l=[];l=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);for(var o=0;o<4;o++){var i=Math.floor(o*l.length/4),n=new SuperMap.Geometry.Point(l[i].x,l[i].y),a=new SuperMap.Geometry.Point(l[i+1].x,l[i+1].y),r=new SuperMap.Geometry.Point((n.x+a.x)/2,(n.y+a.y)/2),s=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD,p=this.scaleValues[0]*e/2,u=SuperMap.Plot.PlottingUtil.circlePoint(r,p,p,s),c=SuperMap.Plot.PlottingUtil.circlePoint(r,4*p,4*p,s+270),P=SuperMap.Plot.PlottingUtil.circlePoint(r,p,p,s+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c,P],{lineTypeLimit:!0,surroundLineLimit:!0})}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29003=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.02),this.scaleValues.push(0)),this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var l,o,i=SuperMap.Plot.PlottingUtil.polylineDistance(e),n=this.scaleValues[0],a=this.scaleValues[1],r=SuperMap.Plot.PlottingUtil.polylineDistance(t),s=n*r,p=.083*r,u=0,c=.01*r,P=0,S=0;S<=i;S+=p){if(1==P||11==P||6==P){u=S+c;var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(u,e);if(!h.bfind)return;l=h.index,o=h.pts;var y=[],f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[l],o);0==a?y.push(f.pntLeft):y.push(f.pntRight),1==P&&(this.scalePoints=[],this.addScalePoint(y[0])),y.push(o);var g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,y[0],y[1]),M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,y[1],y[0]),b=[];b.push(g.pntLeft),b.push(g.pntRight),b.push(M.pntLeft),b.push(M.pntRight),b.push(g.pntLeft.clone());this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,{SurroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0})}P++}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;if(0==t){var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),i=this.scaleValues[0],n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=i*n,r=.01*n,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r,o);if(!s.bfind)return;var p=s.pts,u=s.index,c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,o[u],p).pntLeft,P=SuperMap.Plot.PlottingUtil.projectPoint(e,c,p),S=SuperMap.Plot.PlottingUtil.distance(P,p),h=SuperMap.Plot.PlottingUtil.pointIsRightToLine(P,p,e);this.scaleValues[1]=h?1:0,this.scaleValues[0]=S/n}}}}]),e}();SuperMap.Plot.AlgoSymbol29003=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29002=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29001),o(e,[{key:"calculateParts",value:function(){(function t(e,l,o){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,l);if(void 0===i){var n=Object.getPrototypeOf(e);return null===n?void 0:t(n,l,o)}if("value"in i)return i.value;var a=i.get;return void 0!==a?a.call(o):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"calculateParts",this).call(this)}}]),e}();SuperMap.Plot.AlgoSymbol29002=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29001=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t.length,l=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),o=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,i=.3*l,n=t[1].clone(),a=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],2*l);this.subSymbols.length>1&&(this.computeSubSymbol(this.subSymbols[0],n,i,o),this.computeSubSymbol(this.subSymbols[1],a,i,o));var r,s=[];2==e?(r=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t),s.push.apply(s,r)):3==e&&(r=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),s=s.concat(r));var p,u=new SuperMap.Geometry.Point(.8*l,.1*l),c=new SuperMap.Geometry.Point(1.2*l,.1*l),P=new SuperMap.Geometry.Point(1.2*l,.1*-l),S=new SuperMap.Geometry.Point(.9*l,.1*-l),h=[];h.push(u),h.push(c),h.push(P),h.push(S);var y=[],f=0;for(f=0;f<4;f++)p=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],h[f],o),y.push(p);var g=new SuperMap.Geometry.Point(-.8*l,.1*l),M=new SuperMap.Geometry.Point(-1.2*l,.1*l),b=new SuperMap.Geometry.Point(-1.1*l,.1*-l),m=new SuperMap.Geometry.Point(-.8*l,.1*-l);(h=[]).push(g),h.push(M),h.push(b),h.push(m);var d=[];for(f=0;f<4;f++)p=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],h[f],o),d.push(p);for(var v,O=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],3*l),U=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],2*l),w=[],L=0;L<s.length-1;L++){var V=SuperMap.Plot.PlottingUtil.intersectLines(s[L],s[L+1],O,U);V.isIntersectLines&&(v=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(V.intersectPoint,s)).isOnPolyLine&&w.push(V.intersectPoint)}if(!(0>=w.length)&&(v=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(w[0],s)).isOnPolyLine){var _=[];for(f=v.index+1;f<s.length;f++)_.push(s[f]);for(f=0;f<=v.index;f++)_.push(s[f]);var T=[],A=[];SuperMap.Plot.PlottingUtil.ptIsInPolygon(y,w[0])?(T.push.apply(T,y),A.push.apply(A,d)):(T.push.apply(T,d),A.push.apply(A,y));var E=[],x=[];for(v=-1,f=0;f<_.length;f++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(T,_[f])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(A,_[f])){v=f;break}E.push(_[f])}if(-1!=v)for(f=v;f<_.length;f++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(A,_[f])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(T,_[f]))break;x.push(_[f])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,x),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol29001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=t.length,o=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),i=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,n=[];2==l?(e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t),n.push.apply(n,e)):3==l&&(e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),n=n.concat(e));var a,r=new SuperMap.Geometry.Point(.8*o,.1*o),s=new SuperMap.Geometry.Point(1.2*o,.1*o),p=new SuperMap.Geometry.Point(1.2*o,.1*-o),u=new SuperMap.Geometry.Point(.9*o,.1*-o),c=[];c.push(r),c.push(s),c.push(p),c.push(u);var P=[],S=0;for(S=0;S<4;S++)a=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],c[S],i),P.push(a);var h=new SuperMap.Geometry.Point(-.8*o,.1*o),y=new SuperMap.Geometry.Point(-1.2*o,.1*o),f=new SuperMap.Geometry.Point(-1.1*o,.1*-o),g=new SuperMap.Geometry.Point(-.8*o,.1*-o);(c=[]).push(h),c.push(y),c.push(f),c.push(g);var M=[];for(S=0;S<4;S++)a=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],c[S],i),M.push(a);var b,m=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],3*o),d=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],2*o),v=[];for(S=0;S<n.length-1;S++){var O=SuperMap.Plot.PlottingUtil.intersectLines(n[S],n[S+1],m,d);O.isIntersectLines&&(b=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(O.intersectPoint,n)).isOnPolyLine&&v.push(O.intersectPoint)}if(!(0>=v.length)&&(b=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(v[0],n)).isOnPolyLine){var U=[];for(S=b.index+1;S<n.length;S++)U.push(n[S]);for(S=0;S<=b.index;S++)U.push(n[S]);var w=[],L=[];SuperMap.Plot.PlottingUtil.ptIsInPolygon(P,v[0])?(w.push.apply(w,P),L.push.apply(L,M)):(w.push.apply(w,M),L.push.apply(L,P));var V=[],_=[];for(b=-1,S=0;S<U.length;S++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(w,U[S])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(L,U[S])){b=S;break}V.push(U[S])}if(-1!==b)for(S=b;S<U.length;S++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(L,U[S])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(w,U[S]))break;_.push(U[S])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_),this.addLine(V),this.addLine(_),this.finish()}}}},{key:"addLine",value:function(t){for(var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=0;l<t.length-2;l++){var o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.02*e,t);if(-1!==o.index){var i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*e,t);if(-1!==i.index){var n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.92*e,t);if(-1!==n.index&&(l===o.index||l===o.index+1||l===n.index||l===n.index+1||l===i.index||l===i.index+1)){var a=SuperMap.Plot.PlottingUtil.radian(t[l+1],t[l])*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.circlePoint(t[l+1],.02*e,.02*e,a+90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[l+1],r])}}}}}}]),e}();SuperMap.Plot.AlgoSymbol29000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5)),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var i=e[0],n=e[1],a=e[e.length-2],r=e[e.length-1],s=l*this.scaleValues[0]*.6,p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,n,i),u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,a,r),c=p.pntLeft,P=u.pntRight,S=[];S.push(i),S.push(c);for(var h=new SuperMap.Geometry.Point((i.x+c.x)/2,(i.y+c.y)/2),y=SuperMap.Plot.PlottingUtil.polylineDistance(S)/2,f=[],g=180*SuperMap.Plot.PlottingUtil.radian(n,i)/Math.PI,M=270+g;M<=360+g;M+=3)f.push(SuperMap.Plot.PlottingUtil.circlePoint(h,y,y,M));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var b=[];b.push(r),b.push(P);var m=[];m.push(r),m.push(P);for(var d=new SuperMap.Geometry.Point((r.x+P.x)/2,(r.y+P.y)/2),v=SuperMap.Plot.PlottingUtil.polylineDistance(m)/2,O=[],U=180*SuperMap.Plot.PlottingUtil.radian(r,P)/Math.PI,w=90+U;w<=180+U;w+=3)O.push(SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,w));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol28900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.087081),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.087081),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],a=this.scaleValues[2],r=this.scaleValues[3],s=o*n,p=.5*SuperMap.Plot.PlottingUtil.distance(t[0],l),u=new SuperMap.Geometry.Point(l.x+o*a-p,l.y+o*r);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],u,s,180),this.addScalePoint(u);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(u,c,c,0);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),r=SuperMap.Plot.PlottingUtil.polylineDistance(l),s=.5*SuperMap.Plot.PlottingUtil.distance(l[0],a);if(0===t)i=(e.x+s-a.x)/r,this.scaleValues[2]=i,n=(e.y-a.y)/r,this.scaleValues[3]=n;else if(1===t){i=this.scaleValues[2],n=this.scaleValues[3];var p=new SuperMap.Geometry.Point(a.x-s+r*i,a.y+r*n),u=SuperMap.Plot.PlottingUtil.distance(p,e)/r;this.scaleValues[0]=u}}}}]),e}();SuperMap.Plot.AlgoSymbol28400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.3),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.3),this.scaleValues.push(1)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e,l,o=t[0].clone(),i=t[1].clone(),n=SuperMap.Plot.PlottingUtil.distance(o,i),a=this.scaleValues[0],r=this.scaleValues[1];if(SuperMap.Plot.PlottingUtil.equalFuzzy(1,r))e=SuperMap.Plot.PlottingUtil.radian(o,i)+270*SuperMap.Plot.PlottingUtil.DTOR;else e=SuperMap.Plot.PlottingUtil.radian(o,i)+90*SuperMap.Plot.PlottingUtil.DTOR,l=o,o=i,i=l;var s=n*a*.67,p=SuperMap.Plot.PlottingUtil.circlePoint(o,s,s,e*SuperMap.Plot.PlottingUtil.RTOD);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,n*a,e*SuperMap.Plot.PlottingUtil.RTOD);var u=SuperMap.Plot.PlottingUtil.circlePoint(i,s,s,e*SuperMap.Plot.PlottingUtil.RTOD);this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],u,n*a,e*SuperMap.Plot.PlottingUtil.RTOD),this.scalePoints=[];var c=e*SuperMap.Plot.PlottingUtil.RTOD,P=n*a,S=t[0].clone(),h=SuperMap.Plot.PlottingUtil.circlePoint(S,P,P,c);this.addScalePoint(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l))[0].clone(),i=l[1].clone(),n=e.clone(),a=SuperMap.Plot.PlottingUtil.distance(o,i),r=SuperMap.Plot.PlottingUtil.plumbLineLen(n,o,i)/a;if(r<0||SuperMap.Plot.PlottingUtil.equalFuzzy(r,0))return;this.scaleValues[0]=r,SuperMap.Plot.PlottingUtil.pointIsRightToLine(o,i,n)?this.scaleValues[1]=1:this.scaleValues[1]=0}}}]),e}();SuperMap.Plot.AlgoSymbol28301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var i=l*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],o,i,0),this.scalePoints=[];var n=SuperMap.Plot.PlottingUtil.circlePoint(o,i,i,0);this.addScalePoint(n),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=[];o=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var a=SuperMap.Plot.PlottingUtil.distance(e,n)/i;this.scaleValues[0]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol28300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=e*this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(l/2,t[0],t[1]),i=o.pntRight,n=o.pntLeft,a=SuperMap.Plot.PlottingUtil.radian(i,n)*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.circlePoint(i,l/6,l/6,a-170),s=SuperMap.Plot.PlottingUtil.circlePoint(n,l/6,l/6,a+10),p=[];p.push(r),p.push(i),p.push(n),p.push(s),this.scalePoints=[],this.addScalePoint(i);var u=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(p);u=SuperMap.Plot.PlottingUtil.clearSamePts(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var c=SuperMap.Plot.PlottingUtil.paraLine(p,e,!0),P=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(c);P=SuperMap.Plot.PlottingUtil.clearSamePts(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==t){var i=2*SuperMap.Plot.PlottingUtil.distance(e,l[1])/o;this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol28201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28200=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol28200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.349066)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,i=0,n=0;n<t.length-1;n++)i+=SuperMap.Plot.PlottingUtil.distance(e,l);var a=this.scaleValues[0]*i;this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[e,new SuperMap.Geometry.Point(e.x+a,e.y)],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var r=180*this.scaleValues[1]/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(e,i,i,o-r),p=SuperMap.Plot.PlottingUtil.circlePoint(e,i,i,o+r);this.addCell(SuperMap.Plot.SymbolType.ARCSYMBOL,[s,l,p],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],t[1]],{surroundLineFlag:!1},!0);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,a,a,o-90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,s],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var c=SuperMap.Plot.PlottingUtil.circlePoint(e,a,a,o+90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c,p],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c],{surroundLineFlag:!1},!0);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,a,a,o+180);this.addScalePoint(new SuperMap.Geometry.Point(P.x,P.y),0),this.addScalePoint(p,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=new SuperMap.Geometry.Point(l[0].x,l[0].y),i=new SuperMap.Geometry.Point(l[1].x,l[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,a=SuperMap.Plot.PlottingUtil.distance(o,i);if(0===t){var r=SuperMap.Plot.PlottingUtil.distance(o,e)/a;this.scaleValues[0]=r}if(1===t){var s=180*SuperMap.Plot.PlottingUtil.radian(o,e)/Math.PI,p=Math.abs(s-n);if(p>270&&p<360&&(p=360-p),p>90)return;this.scaleValues[1]=p*Math.PI/180}}}}]),e}();SuperMap.Plot.AlgoSymbol28100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.349066)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l,o,i,n,a,r,s=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,p=new SuperMap.Geometry.Point(t[0].x,t[0].y),u=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),c=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,P=new SuperMap.Geometry.Point(0,0);if(2<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i))),(n=[]).push(t[0]);for(var S=0;S<e.length;S++)n.push(new SuperMap.Geometry.Point(e[S].x,e[S].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),a=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),P=new SuperMap.Geometry.Point(a.x,a.y),(r=[]).push(t[0]),r.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}var h=new SuperMap.Geometry.Point(0,0);if(3<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[2].x,t[2].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i)));var y=[];if(0==e.length)return void(y.length>0&&(y=[]));(n=[]).push(t[0]);for(var f=0;f<e.length;f++)n.push(new SuperMap.Geometry.Point(e[f].x,e[f].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});for(var g=new SuperMap.Geometry.Point(t[1].x,t[1].y),M=SuperMap.Plot.PlottingUtil.distance(p,g)*this.scaleValues[0],b=[],m=90;m<=270;m+=3)b.push(SuperMap.Plot.PlottingUtil.circlePoint(p,M,M,c+m));n=[];for(var d=b.length-1;d>=0;d--)n.push(new SuperMap.Geometry.Point(b[d].x,b[d].y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),(n=[]).push(new SuperMap.Geometry.Point(b[0].x,b[0].y)),n.push(new SuperMap.Geometry.Point(e[e.length-1].x,e[e.length-1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),(n=[]).push(new SuperMap.Geometry.Point(e[0].x,e[0].y)),n.push(new SuperMap.Geometry.Point(b[b.length-1].x,b[b.length-1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),a=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),h=new SuperMap.Geometry.Point(a.x,a.y),(r=[]).push(P),r.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}var v=new SuperMap.Geometry.Point(0,0);if(4<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[3].x,t[3].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<=c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i))),(n=[]).push(t[0]);for(var O=0;O<e.length;O++)n.push(new SuperMap.Geometry.Point(e[O].x,e[O].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),a=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),v=new SuperMap.Geometry.Point(a.x,a.y),(r=[]).push(h),r.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}if(3>t.length)this.addScalePoint(t[0]);else{var U=SuperMap.Plot.PlottingUtil.distance(t[0],t[1])*this.scaleValues[0],w=SuperMap.Plot.PlottingUtil.circlePoint(p,U,U,c+180);this.addScalePoint(w,0)}var L=SuperMap.Plot.PlottingUtil.distance(t[0],t[t.length-1]),V=SuperMap.Plot.PlottingUtil.circlePoint(p,L,L,c+s);this.addScalePoint(V,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l,o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(o=SuperMap.Plot.PlottingUtil.clearSamePts(o),0==t){if(3>o.length)return;var i=new SuperMap.Geometry.Point(o[0].x,o[0].y),n=new SuperMap.Geometry.Point(e.x,e.y),a=SuperMap.Plot.PlottingUtil.distance(i,n),r=new SuperMap.Geometry.Point(o[1].x,o[1].y);if((l=a/SuperMap.Plot.PlottingUtil.distance(i,r))>=2.5)return;this.scaleValues[0]=l}else if(1==t){var s=new SuperMap.Geometry.Point(o[0].x,o[0].y),p=new SuperMap.Geometry.Point(o[o.length-1].x,o[o.length-1].y),u=SuperMap.Plot.PlottingUtil.radian(s,p),c=new SuperMap.Geometry.Point(e.x,e.y);if(l=SuperMap.Plot.PlottingUtil.radian(s,c)-u,(l=Math.abs(l))>Math.PI/2&&l<3*Math.PI/2)return;l>3*Math.PI/2&&l<=2*Math.PI&&(l=2*Math.PI-l),this.scaleValues[1]=Math.abs(l)}}}}]),e}();SuperMap.Plot.AlgoSymbol28000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27902=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol27900),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[t[0],new SuperMap.Geometry.Point(t[0].x-e*this.scaleValues[0],t[0].y)],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!0,fill:!0,fillColor:"#ffff00",fillOpacity:1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[new SuperMap.Geometry.Point(t[0].x+e*(this.scaleValues[0]+.1),t[0].y+e*this.scaleValues[0]),new SuperMap.Geometry.Point(t[0].x-e*(this.scaleValues[0]+.1),t[0].y+e*this.scaleValues[0])]);var l=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e*this.scaleValues[0],e*this.scaleValues[0],90);this.addScalePoint(l,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol27902=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27901=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol27900),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[t[0],new SuperMap.Geometry.Point(t[0].x-e*this.scaleValues[0],t[0].y)],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!0,fill:!0,fillColor:"#ffff00",fillOpacity:1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[new SuperMap.Geometry.Point(t[0].x+e*(this.scaleValues[0]+.1),t[0].y-e*this.scaleValues[0]),new SuperMap.Geometry.Point(t[0].x-e*(this.scaleValues[0]+.1),t[0].y-e*this.scaleValues[0])]);var l=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e*this.scaleValues[0],e*this.scaleValues[0],90);this.addScalePoint(l,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol27901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.25),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[t[0],new SuperMap.Geometry.Point(t[0].x-e*this.scaleValues[0],t[0].y)],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!0,fill:!0,fillColor:"#ffff00",fillOpacity:1});var l=SuperMap.Plot.PlottingUtil.circlePoint(t[0],e*this.scaleValues[0],e*this.scaleValues[0],90);this.addScalePoint(l,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=new SuperMap.Geometry.Point(this.controlPoints[0].x,this.controlPoints[0].y),o=new SuperMap.Geometry.Point(this.controlPoints[1].x,this.controlPoints[1].y),i=new SuperMap.Geometry.Point(e.x,e.y),n=SuperMap.Plot.PlottingUtil.distance(l,i)/SuperMap.Plot.PlottingUtil.distance(l,o);.9<n&&(n=.9),this.scaleValues[0]=n}}}]),e}();SuperMap.Plot.AlgoSymbol27900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27701=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.03),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&this.scaleValues.push(.03);for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=[];o=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());var n=this.scaleValues[0]*e*2,a=this.scaleValues[0]*e,r=new SuperMap.Geometry.Point(i.x-n-a,i.y),s=new SuperMap.Geometry.Point(i.x-n,i.y),p=new SuperMap.Geometry.Point(i.x-n+a,i.y),u=new SuperMap.Geometry.Point(i.x+n,i.y),c=new SuperMap.Geometry.Point(i.x+n+a,i.y),P=new SuperMap.Geometry.Point(i.x+n+2*a,i.y),S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,r,s),h=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,s,p),y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,u,c),f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,c,P),g=[];g.push(new SuperMap.Geometry.Point(S.pntLeft.x,S.pntLeft.y)),g.push(new SuperMap.Geometry.Point(r.x,r.y)),g.push(new SuperMap.Geometry.Point(S.pntRight.x,S.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),(g=[]).push(new SuperMap.Geometry.Point(h.pntLeft.x,h.pntLeft.y)),g.push(new SuperMap.Geometry.Point(s.x,s.y)),g.push(new SuperMap.Geometry.Point(h.pntRight.x,h.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),(g=[]).push(new SuperMap.Geometry.Point(y.pntLeft.x,y.pntLeft.y)),g.push(new SuperMap.Geometry.Point(u.x,u.y)),g.push(new SuperMap.Geometry.Point(y.pntRight.x,y.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),(g=[]).push(new SuperMap.Geometry.Point(f.pntLeft.x,f.pntLeft.y)),g.push(new SuperMap.Geometry.Point(c.x,c.y)),g.push(new SuperMap.Geometry.Point(f.pntRight.x,f.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol27701=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var a=new SuperMap.Geometry.Point(t[0].x,t[0].y),r=new SuperMap.Geometry.Point(t[1].x,t[1].y),s=180*SuperMap.Plot.PlottingUtil.radian(a,r)/Math.PI;if(90<s&&s<270){var p=a;a=r,r=p,s=180*SuperMap.Plot.PlottingUtil.radian(a,r)/Math.PI}var u=new SuperMap.Geometry.Point(.25*e,0),c=new SuperMap.Geometry.Point(.25*e+.2*o,.3*o),P=new SuperMap.Geometry.Point(.25*e+.2*o,-.3*o),S=SuperMap.Plot.PlottingUtil.coordinateTrans(a,u,s),h=SuperMap.Plot.PlottingUtil.coordinateTrans(a,c,s),y=SuperMap.Plot.PlottingUtil.coordinateTrans(a,P,s),f=[];f.push(new SuperMap.Geometry.Point(h.x,h.y)),f.push(new SuperMap.Geometry.Point(S.x,S.y)),f.push(new SuperMap.Geometry.Point(y.x,y.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=new SuperMap.Geometry.Point(.3*e,0),M=new SuperMap.Geometry.Point(.3*e+.2*o,.3*o),b=new SuperMap.Geometry.Point(.3*e+.2*o,-.3*o),m=SuperMap.Plot.PlottingUtil.coordinateTrans(a,g,s),d=SuperMap.Plot.PlottingUtil.coordinateTrans(a,M,s),v=SuperMap.Plot.PlottingUtil.coordinateTrans(a,b,s);(f=[]).push(new SuperMap.Geometry.Point(d.x,d.y)),f.push(new SuperMap.Geometry.Point(m.x,m.y)),f.push(new SuperMap.Geometry.Point(v.x,v.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var O=new SuperMap.Geometry.Point(.7*e,0),U=new SuperMap.Geometry.Point(.7*e+.2*o,.3*o),w=new SuperMap.Geometry.Point(.7*e+.2*o,-.3*o),L=SuperMap.Plot.PlottingUtil.coordinateTrans(a,O,s),V=SuperMap.Plot.PlottingUtil.coordinateTrans(a,U,s),_=SuperMap.Plot.PlottingUtil.coordinateTrans(a,w,s);(f=[]).push(new SuperMap.Geometry.Point(V.x,V.y)),f.push(new SuperMap.Geometry.Point(L.x,L.y)),f.push(new SuperMap.Geometry.Point(_.x,_.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var T=new SuperMap.Geometry.Point(.75*e,0),A=new SuperMap.Geometry.Point(.75*e+.2*o,.3*o),E=new SuperMap.Geometry.Point(.75*e+.2*o,-.3*o),x=SuperMap.Plot.PlottingUtil.coordinateTrans(a,T,s),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(a,A,s),j=SuperMap.Plot.PlottingUtil.coordinateTrans(a,E,s);(f=[]).push(new SuperMap.Geometry.Point(Y.x,Y.y)),f.push(new SuperMap.Geometry.Point(x.x,x.y)),f.push(new SuperMap.Geometry.Point(j.x,j.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addScalePoint(i[0],0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){for(var l=0,o=0;o<this.controlPoints.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[o],this.controlPoints[o+1]);var i=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],e)/l;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol27700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27300=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=[];l=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),i=new SuperMap.Geometry.Point(o.x,0);if(!1===this.polylineConnectLocationPoint){for(var n=0,a=-1,r=0;r<l.length-1;r++){var s=SuperMap.Plot.PlottingUtil.intersectLines(o,new SuperMap.Geometry.Point(o.x,o.y+1),l[r],l[r+1]);s.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.intersectPoint,l[r],l[r+1])&&i.x===s.intersectPoint.x&&(0==n?(i.y=s.intersectPoint.y,a=r):i.y<s.intersectPoint.y&&(i.y=s.intersectPoint.y,a=r),n++))}var p=this.getSubSymbolScaleValue()*e,u=[];u.push(i);for(var c=a+1;c<l.length-1;c++)u.push(new SuperMap.Geometry.Point(l[c].x,l[c].y));for(var P=0;P<=a;P++)u.push(new SuperMap.Geometry.Point(l[P].x,l[P].y));var S=.8*p,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(u,S);if(-1===h.index)return;var y=[];y.push(h.pt);for(var f=h.index+1;f<u.length-1;f++)y.push(u[f]);u=[];for(var g=y.length-1;g>0;g--)u.push(y[g]);var M=SuperMap.Plot.PlottingUtil.findPointInPolyLine(u,S);if(-1===M.index)return;(y=[]).push(M.pt);for(var b=M.index+1;b<u.length-1;b++)y.push(u[b]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],i,p,0)}else{var m=t[0],d=t[1],v=SuperMap.Plot.PlottingUtil.distance(m,d),O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.2*v,[m,d]);if(-1===O.index)return;var U=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.4*v,[m,d]);if(-1===U.index)return;var w=[];w.push(t[0]),w.push(O.pts),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),(w=[]).push(U.pts);for(var L=1;L<t.length;L++)w.push(t[L]);w.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w);var V=new SuperMap.Geometry.Point((O.pts.x+U.pts.x)/2,(O.pts.y+U.pts.y)/2);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],V,.1*v,0)}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol27300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol27100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.1,l.scaleValues[1]=.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues[0]=.1,this.scaleValues[1]=.2),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var e,l,o=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),i=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,n=this.scaleValues[0],a=this.scaleValues[1],r=n*o,s=[];for(e=90;e<=270;e+=3)l=SuperMap.Plot.PlottingUtil.circlePoint(t[0],r,r,e+i),s.push(l);var p=[];for(e=-90;e<=90;e+=3)l=SuperMap.Plot.PlottingUtil.circlePoint(t[1],r,r,e+i),p.push(l);var u=o*a,c=new SuperMap.Geometry.Point((s[0].x+p[p.length-1].x)/2,(s[0].y+p[p.length-1].y)/2),P=SuperMap.Plot.PlottingUtil.linePnt(s[0],p[p.length-1],.5*(o-1.2*u)),S=SuperMap.Plot.PlottingUtil.linePnt(p[p.length-1],s[0],.5*(o-1.2*u)),h=SuperMap.Plot.PlottingUtil.radian(S,P)*SuperMap.Plot.PlottingUtil.RTOD,y=[];y.push(P),y.push.apply(y,s),y.push.apply(y,p),y.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],c,.9*u,h-90),this.scalePoints=[],this.addScalePoint(s[s.length-1]);var f=SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,h+90);this.addScalePoint(f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}else if(1==t){var n=this.scaleValues[0]*o,a=SuperMap.Plot.PlottingUtil.radian(l[0],l[1])*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.circlePoint(l[0],n,n,90+a),s=SuperMap.Plot.PlottingUtil.circlePoint(l[1],n,n,90+a),p=new SuperMap.Geometry.Point((r.x+s.x)/2,(r.y+s.y)/2),u=SuperMap.Plot.PlottingUtil.distance(p,e)/o;u>=.8&&(u=.8),this.scaleValues[1]=u}}}}]),e}();SuperMap.Plot.AlgoSymbol27100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(2===this.controlPoints.length)this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);else if(3===this.controlPoints.length){var e=new SuperMap.Geometry.Point(this.controlPoints[0].x,this.controlPoints[0].y),l=new SuperMap.Geometry.Point(this.controlPoints[1].x,this.controlPoints[1].y),o=new SuperMap.Geometry.Point(this.controlPoints[2].x,this.controlPoints[2].y),i=SuperMap.Plot.PlottingUtil.distance(l,o);if(0>=i)return;this.scaleValues=[];var n=SuperMap.Plot.PlottingUtil.distance(e,l)/i;this.scaleValues.push(n);var a=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD;a>90?a-=90:a=270+a,this.scaleValues.push(a*SuperMap.Plot.PlottingUtil.DTOR);var r=SuperMap.Plot.PlottingUtil.radian(e,o)*SuperMap.Plot.PlottingUtil.RTOD;r>90?r-=90:r=270+r,this.scaleValues.push(r*SuperMap.Plot.PlottingUtil.DTOR);var s=this.scaleValues[0]*i,p=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD+90,u=this.scaleValues[2]*SuperMap.Plot.PlottingUtil.RTOD+90;p<u&&(p+=360);for(var c,P=[],S=p;S>=u;S-=4)c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],s,s,S),P.push(c);S!=u&&(c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],s,s,u),P.push(c)),P.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P)}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol26800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),r=2*o*.8,s=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,r,s),0===this.scaleValues[1]?this.addScalePoint(i[0]):this.addScalePoint(n[0]),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===o)return;if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol26700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26601=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l,o,i=SuperMap.Plot.PlottingUtil.polylineDistance(e),n=.1*i,a=.5*n,r=this.computeDashLine(n,a,e),s=.01*i,p=0;p<r.length;p++)l=SuperMap.Plot.PlottingUtil.paraLine(r[p],s,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),o=SuperMap.Plot.PlottingUtil.paraLine(r[p],s,!1),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);this.finish()}}},{key:"computeDashLine",value:function(t,e,l){for(var o,i,n=[],a=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=l[0].clone(),s=1,p=0,u=!0,c=!0;p<a;){var P;(i=[]).push(r),p+=t;var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,l);if(P=S.index,o=S.pts,!(u=S.bfind))break;if(s<P)for(var h=s;h<P;h++)i.push(l[h]);i.push(o),n.push(i),p+=e;var y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,l);if(P=y.index,r=y.pts,s=P+1,!(c=y.bfind))break}if(!u){(i=[]).push(r);for(var f=s;f<l.length;f++)i.push(l[f]);2===i.length&&0===SuperMap.Plot.PlottingUtil.distance(i[0],i[1])||n.push(i)}if(!c){var g=l[l.length-1],M=SuperMap.Plot.PlottingUtil.distance(o,g);if(M*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(M,0)){var b=SuperMap.Plot.PlottingUtil.linePnt(g,o,M);(i=[]).push(b),i.push(g),n.push(i)}}return n}}]),e}();SuperMap.Plot.AlgoSymbol26601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26600=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=.1*SuperMap.Plot.PlottingUtil.polylineDistance(e),o=.5*l;this.computeDashLine(l,o,e),this.finish()}}},{key:"computeDashLine",value:function(t,e,l){for(var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=l[0].clone(),r=1,s=0,p=!0,u=!0;s<n;){var c;(i=[]).push(a),s+=t;var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=P.index,o=P.pts,!(p=P.bfind))break;if(r<c)for(var S=r;S<c;S++)i.push(l[S]);i.push(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),s+=e;var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=h.index,a=h.pts,r=c+1,!(u=h.bfind))break}if(!p){(i=[]).push(a);for(var y=r;y<l.length;y++)i.push(l[y]);2===i.length&&0===SuperMap.Plot.PlottingUtil.distance(i[0],i[1])||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}if(!u){var f=l[l.length-1],g=SuperMap.Plot.PlottingUtil.distance(o,f);if(g*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(g,0)){var M=SuperMap.Plot.PlottingUtil.linePnt(f,o,g);(i=[]).push(M),i.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}}}}]),e}();SuperMap.Plot.AlgoSymbol26600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26503=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol22000),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5)),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}for(var i=l*this.scaleValues[0],n=this.getLinePts(e,this.scaleValues[0]),a=[],r=[],s=0;s<=n.startIndex;s++)a.push(e[s]);if(a.push(n.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),n.endIndex<=e.length){r.push(n.endPt);for(var p=n.endIndex+1;p<=e.length-1;p++)r.push(e[p]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r)}var u=.5*i,c=new SuperMap.Geometry.Point(n.endPt.x,n.endPt.y),P=new SuperMap.Geometry.Point(n.startPt.x,n.startPt.y),S=SuperMap.Plot.PlottingUtil.distance(c,P),h=.2*S,y=SuperMap.Plot.PlottingUtil.linePnt(c,P,h),f=SuperMap.Plot.PlottingUtil.linePnt(P,c,h),g=.5*S,M=SuperMap.Plot.PlottingUtil.linePnt(c,P,g),b=new SuperMap.Geometry.Point((f.x+M.x)/2,(f.y+M.y)/2),m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(u,f,b),d=m.pntLeft,v=m.pntRight,O=[];O.push(v),O.push(f),O.push(d),this.addCell(SuperMap.Plot.SymbolType.ARCSYMBOL,O,null,!0);var U=.1*S,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(U,f,M),L=w.pntLeft,V=w.pntRight,_=[];_.push(f),_.push(L),_.push(V);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,_,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var T=[];T.push(M),T.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T,null,!0);var A=new SuperMap.Geometry.Point((n.startPt.x+n.endPt.x)/2,(n.startPt.y+n.endPt.y)/2),E=180*SuperMap.Plot.PlottingUtil.radian(n.startPt,n.endPt)/Math.PI,x=.5*l*this.scaleValues[0],Y=SuperMap.Plot.PlottingUtil.circlePoint(A,x,x,E+90),j=e[0],C=e[1],I=e[e.length-2],G=e[e.length-1],B=.5*i,R=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(B,C,j),N=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(B,I,G),D=R.pntLeft,k=N.pntLeft,z=[];z.push(j),z.push(D),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,z);var F=[];F.push(G),F.push(k),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,F),this.addScalePoint(Y),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol26503=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol26502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol22000),e}();SuperMap.Plot.AlgoSymbol26502=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5)),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.8*r,a);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,a);this.addScalePoint(S,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol26501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,l/2);if(-1!==o.index){var i=o.pt,n=this.getDefaultSubSymbolSize()/l;(n>.3||n<=0)&&(n=.3),this.scaleValues[0]=n;var a=1.5*this.scaleValues[0]*l,r=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,e[o.index],i),s=[];s.push(r.pntLeft),s.push(i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s,null,!0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol26500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05),l.scaleValues.push(-1.5)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit){this.scaleValues=[];for(var e=0;e<t.length;e++)this.scaleValues.splice(e,0,0);var l=this.getSubSymbolScaleValue();this.scaleValues[t.length]=.8*l,this.scaleValues[t.length+1]=l,this.scaleValues[t.length+2]=-1.5;var o=.5*SuperMap.Plot.PlottingUtil.distance(t[0],t[1])/SuperMap.Plot.PlottingUtil.polylineDistance(t);this.scaleValues[t.length+3]=o,this.scaleValues[t.length+4]=l}this.isEdit&&this.scaleValues.length===t.length+3&&(this.scaleValues[t.length+3]=.5*SuperMap.Plot.PlottingUtil.distance(t[0],t[1])/SuperMap.Plot.PlottingUtil.polylineDistance(t),this.scaleValues[t.length+4]=.05);var i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=i*this.scaleValues[this.scaleValues.length-1],a=i*this.scaleValues[this.scaleValues.length-2],r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,a-.5*n);if(-1!==r.index){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,a+.5*n);if(-1!==s.index){var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,a).pt,u=SuperMap.Plot.PlottingUtil.radian(r.pt,s.pt)*SuperMap.Plot.PlottingUtil.RTOD;if(0===this.subSymbols.length){var c=new SuperMap.Geometry.Point(p.x+.1*n,p.y);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[p,c],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0)}else this.computeSubSymbol(this.subSymbols[0],p,.8*n,u);for(var P=[],S=[],h=0;h<=r.index;h++)P.push(t[h]);P.push(r.pt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),S.push(s.pt);for(var y=r.index+1;y<=t.length-1;y++)S.push(t[y]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var f,g,M,b=SuperMap.Plot.PlottingUtil.polylineDistance(t),m=this.scaleValues.length,d=b*this.scaleValues[m-5],v=this.scaleValues[0];if(0===v)f=(g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[1],t[0])).pntRight;else if(1===v)f=(g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[1],t[0])).pntLeft;else{if(2!==v)return;f=t[0]}var O,U,w,L,V=[];if(V.push(t[0]),V.push(f),this.addScalePoint(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,null,!0),t.length>this.minEditPts){for(var _,T,A,E,x,Y=1;Y<t.length-1;Y++){var j,C,I,G=this.scaleValues[Y];if(0===G){for(_=t[Y],C=t[Y+1],I=t[Y-1],T=180*SuperMap.Plot.PlottingUtil.radian(_,C)/Math.PI,A=180*SuperMap.Plot.PlottingUtil.radian(_,I)/Math.PI-T;A<0;)A+=360;E=A/2,x=t[Y+1].clone(),x=SuperMap.Plot.PlottingUtil.rotateAngle(_,E*Math.PI/180,x),j=SuperMap.Plot.PlottingUtil.linePnt(_,x,d)}else if(1===G){for(_=t[Y],C=t[Y+1],I=t[Y-1],T=180*SuperMap.Plot.PlottingUtil.radian(_,C)/Math.PI,A=180*SuperMap.Plot.PlottingUtil.radian(_,I)/Math.PI-T;A<0;)A+=360;E=180-A/2,x=t[Y-1].clone(),x=SuperMap.Plot.PlottingUtil.rotateAngle(_,E*Math.PI/180,x),j=SuperMap.Plot.PlottingUtil.linePnt(_,x,d)}else{if(2!==G)continue;j=t[Y]}(O=[]).push(t[Y]),O.push(j),this.addScalePoint(j),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,null,!0)}var B=t.length,R=this.scaleValues[B-1];if(0===R)U=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[B-2],t[B-1])).pntLeft,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*d,t[B-2],t[B-1]).pntLeft;else if(1===R)U=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[B-2],t[B-1])).pntRight,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*d,t[B-2],t[B-1]).pntRight;else{if(2!==R)return;U=t[B-1].clone(),w=t[B-1].clone()}(O=[]).push(t[B-1]),O.push(U),this.addScalePoint(U),this.addScalePoint(w),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,null,!0)}else{var N=this.scaleValues[1];if(0===N)U=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[0],t[1])).pntLeft,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*d,t[0],t[1]).pntLeft;else if(1===N)U=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[0],t[1])).pntRight,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*d,t[0],t[1]).pntRight;else{if(2!==N)return;U=t[1].clone(),w=t[1].clone()}(O=[]).push(t[1]),O.push(U),this.addScalePoint(U),this.addScalePoint(w),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,null,!0)}var D=this.scaleValues.length,k=this.scaleValues[D-4],z=Math.abs(b*k),F=this.scaleValues[D-3],K=Math.abs(d*F);if(-1!==(g=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,z)).index){var q=g.index,W=g.pt;L=F>=0?(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(K,t[q],W)).pntRight:(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(K,t[q],W)).pntLeft;var J=SuperMap.Plot.PlottingUtil.linePnt(W,L,K),Z=.3*K,H=SuperMap.Plot.PlottingUtil.linePnt(J,W,Z),Q=(M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*Z,J,H)).pntLeft,X=M.pntRight;(O=[]).push(W),O.push(J),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,null,!0),(O=[]).push(Q),O.push(J),O.push(X);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,O,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.addScalePoint(J),this.addScalePoint(p);var $=SuperMap.Plot.PlottingUtil.radian(r.pt,s.pt)*SuperMap.Plot.PlottingUtil.RTOD+90,tt=SuperMap.Plot.PlottingUtil.circlePoint(p,.5*n,.5*n,$);this.addScalePoint(tt),this.finish()}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n,a,r,s,p,u,c,P,S=SuperMap.Plot.PlottingUtil.polylineDistance(l),h=l.length,y=e;if(t>=0&&t<h){var f=!1;if(0==t)f=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t],l[t+1],y);else if(t==h-1)f=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],y);else{var g=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],l[t+1]),M=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],y);if(g!=M)f=M;else{var b=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t],l[t+1],y);f=b==M?M:b}}this.scaleValues[t]=f?1:0}else if(t==h){o=SuperMap.Plot.PlottingUtil.distance(l[h-1],y);var m=(o/=2)/S;this.scaleValues[t]=m}else if(t===h+1){i=-1,n=0,a=new SuperMap.Geometry.Point(0,0);for(var d=0;d<l.length-1;d++)(r=[]).push(l[d]),r.push(l[d+1]),p=SuperMap.Plot.PlottingUtil.projectPoint(y,l[d],l[d+1]),(s=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(p,r)).isOnPolyLine&&(P=SuperMap.Plot.PlottingUtil.distance(y,p),-1==i?(i=d,a=p,n=P):n>P&&(i=d,a=p,n=P));if(-1==i||i>l.length-1)return;u=0;for(var v=0;v<i;v++){var O=l[v],U=l[v+1];u+=SuperMap.Plot.PlottingUtil.distance(O,U)}if(c=l[i],(u+=SuperMap.Plot.PlottingUtil.distance(c,a))<0||u>S)return;var w=u/S;this.scaleValues[h+1]=w;var L,V=this.scaleValues.length;o=S*this.scaleValues[V-5],L=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[i],l[i+1],y)?n/o:-Math.abs(n/o),this.scaleValues[h+2]=L}else if(t===h+2){i=-1,n=0,a=new SuperMap.Geometry.Point(0,0);for(var _=0;_<l.length-1;_++)(r=[]).push(l[_]),r.push(l[_+1]),p=SuperMap.Plot.PlottingUtil.projectPoint(y,l[_],l[_+1]),(s=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(p,r)).isOnPolyLine&&(P=SuperMap.Plot.PlottingUtil.distance(y,p),-1===i?(i=_,a=p,n=P):n>P&&(i=_,a=p,n=P));if(-1===i||i>l.length-1)return;u=0;for(var T=0;T<i;T++)u+=SuperMap.Plot.PlottingUtil.distance(l[T],l[T+1]);if(c=l[i],(u+=SuperMap.Plot.PlottingUtil.distance(c,a))<0||u>S)return;.1*S<u&&.9*S>u&&(this.scaleValues[this.scaleValues.length-2]=u/S)}else if(t===h+3){var A=this.scaleValues[this.scaleValues.length-2]*S;if(-1===(s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,A)).index)return;var E=2*SuperMap.Plot.PlottingUtil.distance(s.pt,e)/S;E>.15&&(E=.15),this.scaleValues[this.scaleValues.length-1]=E}}}}]),e}();SuperMap.Plot.AlgoSymbol26400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25901=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25900),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=2*this.getSubSymbolScaleValue());var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=n*l/2,s=[];s.push(new SuperMap.Geometry.Point(a.x-r,a.y)),s.push(new SuperMap.Geometry.Point(a.x+r,a.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s,null,!0);var p=.3*r,u=[];u.push(new SuperMap.Geometry.Point(a.x-r,a.y+p/2)),u.push(new SuperMap.Geometry.Point(a.x-r,a.y-p/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,null,!0);var c=[];c.push(new SuperMap.Geometry.Point(a.x+r,a.y+p/2)),c.push(new SuperMap.Geometry.Point(a.x+r,a.y-p/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,null,!0);var P=[];P.push(new SuperMap.Geometry.Point(a.x,a.y)),P.push(new SuperMap.Geometry.Point(a.x,a.y+1.5*p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,null,!0);var S=[];S.push(new SuperMap.Geometry.Point(a.x-p/2,a.y)),S.push(new SuperMap.Geometry.Point(a.x-p,a.y+p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,null,!0);var h=[];h.push(new SuperMap.Geometry.Point(a.x+p/2,a.y)),h.push(new SuperMap.Geometry.Point(a.x+p,a.y+p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,null,!0),this.addScalePoint(a);var y=SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,90);this.addScalePoint(y),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol25901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i=(l-e)/50,n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0),a=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1);if(n.length>2&&a.length>0){for(var r=[],s=0;s<n.length;s++)r.push(n[s]);var p=a[0],u=[];SuperMap.Plot.PlottingUtil.ptIsInPolygon(r,p)||(u=u.concat(n),n=(n=[]).concat(a),a=(a=[]).concat(u))}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,a,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1},!0);var c=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),P=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=4*this.getSubSymbolScaleValue());var S=this.scaleValues[0],h=this.scaleValues[1],y=this.scaleValues[2],f=new SuperMap.Geometry.Point(c.x+P*S,c.y+P*h),g=y*P/2,M=[];M.push(new SuperMap.Geometry.Point(f.x-g,f.y)),M.push(new SuperMap.Geometry.Point(f.x+g,f.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M,null,!0);var b=.3*g,m=[];m.push(new SuperMap.Geometry.Point(f.x-g,f.y+b/2)),m.push(new SuperMap.Geometry.Point(f.x-g,f.y-b/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m,null,!0);var d=[];d.push(new SuperMap.Geometry.Point(f.x+g,f.y+b/2)),d.push(new SuperMap.Geometry.Point(f.x+g,f.y-b/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,null,!0);var v=[];v.push(new SuperMap.Geometry.Point(f.x,f.y)),v.push(new SuperMap.Geometry.Point(f.x,f.y+1.5*b)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,null,!0);var O=[];O.push(new SuperMap.Geometry.Point(f.x-b/2,f.y)),O.push(new SuperMap.Geometry.Point(f.x-b,f.y+b)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,null,!0);var U=[];U.push(new SuperMap.Geometry.Point(f.x+b/2,f.y)),U.push(new SuperMap.Geometry.Point(f.x+b,f.y+b)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U,null,!0),this.addScalePoint(f);var w=SuperMap.Plot.PlottingUtil.circlePoint(f,g,g,90);this.addScalePoint(w),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t&&1!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i,n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(SuperMap.Plot.PlottingUtil.equalFuzzy(a,0))return;if(0==t)o=(e.x-n.x)/a,this.scaleValues[0]=o,i=(e.y-n.y)/a,this.scaleValues[1]=i;else if(1==t){o=this.scaleValues[0],i=this.scaleValues[1];var r=new SuperMap.Geometry.Point(n.x+a*o,n.y+a*i),s=2*SuperMap.Plot.PlottingUtil.distance(r,e)/a;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol25900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=2*this.getSubSymbolScaleValue());var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=n*l/2,s=[];s.push(new SuperMap.Geometry.Point(a.x,a.y)),s.push(new SuperMap.Geometry.Point(a.x,a.y+r));this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,s,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var p=[];p.push(new SuperMap.Geometry.Point(a.x-1.5*r,a.y+r)),p.push(new SuperMap.Geometry.Point(a.x+1.5*r,a.y+r)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,null,!0),this.addScalePoint(a);var u=SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,90);this.addScalePoint(u),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol25801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.08)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i=(l-e)/50,n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0),a=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1);if(n.length>2&&a.length>0){for(var r=[],s=new SuperMap.Geometry.Point(0,0),p=0;p<n.length;p++)r.push(n[p]);s=a[0];var u=[];SuperMap.Plot.PlottingUtil.ptIsInPolygon(r,s)||(u=u.concat(n),n=(n=[]).concat(a),a=(a=[]).concat(u))}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,a,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1},!0);var c=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),P=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=2*this.getSubSymbolScaleValue());var S=this.scaleValues[0],h=this.scaleValues[1],y=this.scaleValues[2],f=new SuperMap.Geometry.Point(c.x+P*S,c.y+P*h),g=y*P/2,M=[];M.push(new SuperMap.Geometry.Point(f.x,f.y)),M.push(new SuperMap.Geometry.Point(f.x,f.y+g));this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,M,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var b=[];b.push(new SuperMap.Geometry.Point(f.x-1.5*g,f.y+g)),b.push(new SuperMap.Geometry.Point(f.x+1.5*g,f.y+g)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,null,!0),this.addScalePoint(f);var m=SuperMap.Plot.PlottingUtil.circlePoint(f,g,g,90);this.addScalePoint(m),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0==n)return;if(0==t)o=(e.x-a.x)/n,this.scaleValues[0]=o,i=(e.y-a.y)/n,this.scaleValues[1]=i;else if(1==t){o=this.scaleValues[0],i=this.scaleValues[1];var r=new SuperMap.Geometry.Point(a.x+n*o,a.y+n*i),s=2*SuperMap.Plot.PlottingUtil.distance(r,e)/n;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol25800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25701=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i=(l-e)/50;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var n={surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1},a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),r=10*i;t.push(t[0]);for(var s=!0,p=a.x,u=a.x;s;){s=!1;for(var c,P,S,h,y,f=[],g=new SuperMap.Geometry.Point(p,a.y),M=SuperMap.Plot.PlottingUtil.circlePoint(g,10,10,45),b=0;b<t.length-1;b++){var m=SuperMap.Plot.PlottingUtil.intersectLines(g,M,t[b],t[b+1]);m.isIntersectLines&&(P=m.intersectPoint,(S=[]).push(t[b]),S.push(t[b+1]),(c=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(P,S)).isOnPolyLine&&f.push(P))}if(1<f.length){this.sortPts2D(f);for(var d=0;d<f.length-1;d++)y=new SuperMap.Geometry.Point((f[d].x+f[d+1].x)/2,(f[d].y+f[d+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,y)&&((h=[]).push(f[d]),h.push(f[d+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,n,!0))}f.length>0&&(s=!0),f=[];for(var v=new SuperMap.Geometry.Point(u,a.y),O=SuperMap.Plot.PlottingUtil.circlePoint(v,5,5,45),U=0;U<t.length-1;U++)(c=SuperMap.Plot.PlottingUtil.intersectLines(v,O,t[U],t[U+1])).isIntersectLines&&(P=c.intersectPoint,(S=[]).push(t[U]),S.push(t[U+1]),(c=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(P,S)).isOnPolyLine&&f.push(P));if(1<f.length){this.sortPts2D(f);for(var w=0;w<f.length-1;w++)y=new SuperMap.Geometry.Point((f[w].x+f[w+1].x)/2,(f[w].y+f[w+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,y)&&((h=[]).push(f[w]),h.push(f[w+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,n,!0))}f.length>0&&(s=!0),p-=r,u+=r}this.finish()}}},{key:"sortPts2D",value:function(t){for(var e=new SuperMap.Geometry.Point(0,0),l=0;l<t.length;l++)for(var o=0;o<t.length-1-l;o++)SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].x,t[o+1].x)?t[o].y>t[o+1].y&&(e=t[o],t[o]=t[o+1],t[o+1]=e):t[o].x>t[o+1].x&&(e=t[o],t[o]=t[o+1],t[o+1]=e);return t}}]),e}();SuperMap.Plot.AlgoSymbol25701=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25700=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i,n,a=(l-e)/50,r=SuperMap.Plot.PlottingUtil.paraPolygon(t,a,!0),s=SuperMap.Plot.PlottingUtil.paraPolygon(t,a,!1);if(r.length>2&&s.length>0){for(var p=[],u=0;u<r.length;u++)p.push(r[u]);i=s[0],n=[],SuperMap.Plot.PlottingUtil.ptIsInPolygon(p,i)||(n=n.concat(r),r=(r=[]).concat(s),s=(s=[]).concat(n))}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r);var c={surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,c),s.push(s[0]);for(var P=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),S=10*a,h=!0,y=P.x,f=P.x;h;){h=!1;for(var g,M,b,m=[],d=new SuperMap.Geometry.Point(y,P.y),v=SuperMap.Plot.PlottingUtil.circlePoint(d,10,10,45),O=0;O<s.length-1;O++){var U=SuperMap.Plot.PlottingUtil.intersectLines(d,v,s[O],s[O+1]);U.isIntersectLines&&(M=U.intersectPoint,(n=[]).push(s[O]),n.push(s[O+1]),(g=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(M,n)).isOnPolyLine&&m.push(M))}if(1<m.length){this.sortPts2D(m);for(var w=0;w<m.length-1;w++)i=new SuperMap.Geometry.Point((m[w].x+m[w+1].x)/2,(m[w].y+m[w+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(s,i)&&((b=[]).push(m[w]),b.push(m[w+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,c))}m.length>0&&(h=!0),m=[];for(var L=new SuperMap.Geometry.Point(f,P.y),V=SuperMap.Plot.PlottingUtil.circlePoint(L,5,5,45),_=0;_<s.length-1;_++)(g=SuperMap.Plot.PlottingUtil.intersectLines(L,V,s[_],s[_+1])).isIntersectLines&&(M=g.intersectPoint,(n=[]).push(s[_]),n.push(s[_+1]),(g=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(M,n)).isOnPolyLine&&m.push(M));if(1<m.length){this.sortPts2D(m);for(var T=0;T<m.length-1;T++)i=new SuperMap.Geometry.Point((m[T].x+m[T+1].x)/2,(m[T].y+m[T+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(s,i)&&((b=[]).push(m[T]),b.push(m[T+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,c))}m.length>0&&(h=!0),y-=S,f+=S}this.finish()}}},{key:"sortPts2D",value:function(t){for(var e=new SuperMap.Geometry.Point(0,0),l=0;l<t.length;l++)for(var o=0;o<t.length-1-l;o++)SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].x,t[o+1].x)?t[o].y>t[o+1].y&&(e=t[o],t[o]=t[o+1],t[o+1]=e):t[o].x>t[o+1].x&&(e=t[o],t[o]=t[o+1],t[o+1]=e);return t}}]),e}();SuperMap.Plot.AlgoSymbol25700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25601=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25600),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var l=this.scaleValues[0]*e*.5,o=SuperMap.Plot.PlottingUtil.clonePoints(t);o.push(o[0].clone());for(var i=0;i<o.length-1;i++){var n=new SuperMap.Geometry.Point((o[i].x+o[i+1].x)/2,(o[i].y+o[i+1].y)/2),a=new SuperMap.Geometry.Point(0,1.5*l),r=new SuperMap.Geometry.Point(-.5*l,0),s=new SuperMap.Geometry.Point(0,-1.5*l),p=new SuperMap.Geometry.Point(.5*l,0),u=SuperMap.Plot.PlottingUtil.radian(n,o[i+1])*SuperMap.Plot.PlottingUtil.RTOD,c=SuperMap.Plot.PlottingUtil.coordinateTrans(n,a,u),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,r,u),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,u),h=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,u),y=[];y.push(c),y.push(P),y.push(S),y.push(h),y.push(c.clone());this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,y,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0,lineWidthLimit:!0})}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol25601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.01),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i=(l-e)/50,n=[],a=[],r=!0;t.length>2?SuperMap.Plot.PlottingUtil.pointIsRightToLine(t[0],t[1],t[2])?(n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1),a=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0)):(r=!1,n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0),a=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1)):(n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1),a=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0));var s,p,u,c,P,S,h,y,f;if(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,a),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n,{surroundLineFlag:!1,lineWidthLimit:!0}),t.length>2){var g=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var M=this.scaleValues[0]*g*.5;a.push(a[0].clone());for(var b=0;b<a.length-1;b++){s=new SuperMap.Geometry.Point((a[b].x+a[b+1].x)/2,(a[b].y+a[b+1].y)/2),p=new SuperMap.Geometry.Point(0,0),u=new SuperMap.Geometry.Point(0,0),c=new SuperMap.Geometry.Point(0,0),r?(p.x=0,p.y=1.5*M,u.x=-.5*M,u.y=0,c.x=.5*M,c.y=0):(p.x=0,p.y=-1.5*M,u.x=-.5*M,u.y=0,c.x=.5*M,c.y=0),P=SuperMap.Plot.PlottingUtil.radian(s,a[b+1])*SuperMap.Plot.PlottingUtil.RTOD,S=SuperMap.Plot.PlottingUtil.coordinateTrans(s,p,P),h=SuperMap.Plot.PlottingUtil.coordinateTrans(s,u,P),y=SuperMap.Plot.PlottingUtil.coordinateTrans(s,c,P),(f=[]).push(S),f.push(h),f.push(y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0,lineWidthLimit:!0})}n.push(n[0].clone());for(var m=0;m<n.length-1;m++){s=new SuperMap.Geometry.Point((n[m].x+n[m+1].x)/2,(n[m].y+n[m+1].y)/2),p=new SuperMap.Geometry.Point(0,0),u=new SuperMap.Geometry.Point(0,0),c=new SuperMap.Geometry.Point(0,0),r?(p.x=0,p.y=-1.5*M,u.x=-.5*M,u.y=0,c.x=.5*M,c.y=0):(p.x=0,p.y=1.5*M,u.x=-.5*M,u.y=0,c.x=.5*M,c.y=0),P=SuperMap.Plot.PlottingUtil.radian(s,n[m+1])*SuperMap.Plot.PlottingUtil.RTOD,S=SuperMap.Plot.PlottingUtil.coordinateTrans(s,p,P),h=SuperMap.Plot.PlottingUtil.coordinateTrans(s,u,P),y=SuperMap.Plot.PlottingUtil.coordinateTrans(s,c,P),(f=[]).push(S),f.push(h),f.push(y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0,fillLimit:!0,fill:!0,lineWidthLimit:!0})}}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol25600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25503=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.02)),0==this.subSymbols.length&&this.subSymbols.push(new SuperMap.Plot.SubSymbol(100,8402)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=.5*this.getSubSymbolScaleValue());var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=n*l,s=[];s.push(new SuperMap.Geometry.Point(a.x-4*r,a.y+r/2)),s.push(new SuperMap.Geometry.Point(a.x-4*r,a.y-r/2));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s,{surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0});var p=[];p.push(new SuperMap.Geometry.Point(a.x-4*r,a.y)),p.push(new SuperMap.Geometry.Point(a.x-r,a.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0}),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,2*r,0);var u=[];u.push(new SuperMap.Geometry.Point(a.x+4*r,a.y)),u.push(new SuperMap.Geometry.Point(a.x+r,a.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0});var c=[];c.push(new SuperMap.Geometry.Point(a.x+4*r,a.y+r/2)),c.push(new SuperMap.Geometry.Point(a.x+4*r,a.y-r/2));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{surroundLineFlag:!1,surroundLineLimit:!0,lineTypeLimit:!0}),this.scalePoints=[],this.addScalePoint(a.clone());var P=SuperMap.Plot.PlottingUtil.circlePoint(a,2*r,2*r,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t&&1!=t)return;var l,o,i=this.controlPoints,n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(i),a=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(SuperMap.Plot.PlottingUtil.equalFuzzy(a,0))return;if(0==t)l=(e.x-n.x)/a,this.scaleValues[0]=l,o=(e.y-n.y)/a,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var r=new SuperMap.Geometry.Point(n.x+a*l,n.y+a*o),s=SuperMap.Plot.PlottingUtil.distance(r,e)/2/a;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol25503=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.08)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=2*this.getSubSymbolScaleValue());var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=n*l/2.5,s=.7*r,p=[];p.push(new SuperMap.Geometry.Point(a.x,a.y)),p.push(new SuperMap.Geometry.Point(a.x+r,a.y));this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,p,{surroundLineFlag:!1,lineTypeLimit:!0});var u=[];u.push(new SuperMap.Geometry.Point(a.x+s,a.y-s/2)),u.push(new SuperMap.Geometry.Point(a.x-s,a.y-s/2));var c={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,c);var P=[];P.push(new SuperMap.Geometry.Point(a.x,a.y-s/2)),P.push(new SuperMap.Geometry.Point(a.x,a.y+s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,c);var S=[];S.push(new SuperMap.Geometry.Point(a.x-s/2,a.y-s/2)),S.push(new SuperMap.Geometry.Point(a.x-s,a.y+s/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,c);var h=[];h.push(new SuperMap.Geometry.Point(a.x+s/2,a.y-s/2)),h.push(new SuperMap.Geometry.Point(a.x+s,a.y+s/2)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,c),this.scalePoints=[],this.addScalePoint(a.clone());var y=SuperMap.Plot.PlottingUtil.circlePoint(a,1.25*r,1.25*r,90);this.addScalePoint(y),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t&&1!=t)return;var l,o,i=this.controlPoints,n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(i),a=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(SuperMap.Plot.PlottingUtil.equalFuzzy(a,0))return;if(0==t)l=(e.x-n.x)/a,this.scaleValues[0]=l,o=(e.y-n.y)/a,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var r=new SuperMap.Geometry.Point(n.x+a*l,n.y+a*o),s=2*SuperMap.Plot.PlottingUtil.distance(r,e)/a;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol25502=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.05)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=2*this.getSubSymbolScaleValue());var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=n*l,s=.25*r,p=[];p.push(new SuperMap.Geometry.Point(a.x-r,a.y+s)),p.push(new SuperMap.Geometry.Point(a.x+r,a.y+s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);var u=[];u.push(new SuperMap.Geometry.Point(a.x+r,a.y-s)),u.push(new SuperMap.Geometry.Point(a.x-r,a.y-s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=[];c.push(new SuperMap.Geometry.Point(a.x+r,a.y+2*s)),c.push(new SuperMap.Geometry.Point(a.x+r,a.y-2*s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var P=[];P.push(new SuperMap.Geometry.Point(a.x-r,a.y+2*s)),P.push(new SuperMap.Geometry.Point(a.x-r,a.y-2*s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.scalePoints=[],this.addScalePoint(a);var S=SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,90);this.addScalePoint(S),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol25501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.02));for(var e=t[0].x,l=t[0].x,o=0;o<t.length;o++)e>t[o].x&&(e=t[o].x),l<t[o].x&&(l=t[o].x);var i=(l-e)/50,n=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!1),a=SuperMap.Plot.PlottingUtil.polylineDistance(n),r=SuperMap.Plot.PlottingUtil.paraPolygon(t,i,!0),s={surroundLineFlag:!1,lineWidthLimit:!0};a>SuperMap.Plot.PlottingUtil.polylineDistance(r)?(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r,s)):(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n,s),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r));var p=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),u=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[2]=.5*this.getSubSymbolScaleValue());var c=this.scaleValues[0],P=this.scaleValues[1],S=this.scaleValues[2],h=new SuperMap.Geometry.Point(p.x+u*c,p.y+u*P),y=S*u,f=new SuperMap.Geometry.Point(h.x-4*y,h.y+y/2),g=new SuperMap.Geometry.Point(h.x-4*y,h.y-y/2),M=[];M.push(f),M.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=new SuperMap.Geometry.Point(h.x-4*y,h.y),m=new SuperMap.Geometry.Point(h.x-1.5*y,h.y);(M=[]).push(b),M.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);for(var d=new SuperMap.Geometry.Point(h.x,h.y-y),v=SuperMap.Plot.PlottingUtil.circlePoint(d,2*y,2*y,60),O=SuperMap.Plot.PlottingUtil.circlePoint(d,2*y,2*y,120),U=new SuperMap.Geometry.Point((v.x+O.x)/2,v.y),w=[],L=0;L<=180;L+=3)w.push(SuperMap.Plot.PlottingUtil.circlePoint(U,y,y,L));M=[];for(var V=0;V<w.length;V++)M.push(w[V].clone());M.push(O.clone()),M.push(d.clone()),M.push(v.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M);var _=new SuperMap.Geometry.Point(h.x+4*y,h.y),T=new SuperMap.Geometry.Point(h.x+1.5*y,h.y);(M=[]).push(_.clone()),M.push(T.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var A=new SuperMap.Geometry.Point(h.x+4*y,h.y+y/2),E=new SuperMap.Geometry.Point(h.x+4*y,h.y-y/2);(M=[]).push(A.clone()),M.push(E.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.scalePoints=[],this.addScalePoint(h.clone());var x=SuperMap.Plot.PlottingUtil.circlePoint(h,y,y,90);this.addScalePoint(x.clone()),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t&&1!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i,n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(SuperMap.Plot.PlottingUtil.equalFuzzy(a,0))return;if(0==t)o=(e.x-n.x)/a,this.scaleValues[0]=o,i=(e.y-n.y)/a,this.scaleValues[1]=i;else if(1==t){o=this.scaleValues[0],i=this.scaleValues[1];var r=new SuperMap.Geometry.Point(n.x+a*o,n.y+a*i),s=SuperMap.Plot.PlottingUtil.distance(r,e)/a;this.scaleValues[2]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol25500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5));for(var i=this.getLinePts(e,this.scaleValues[0]),n=this.getLinePts(e,1.2*this.scaleValues[0]),a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt),r=[],s=[],p=0;p<=n.startIndex;p++)r.push(e[p]);if(r.push(n.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),n.endIndex<=e.length){s.push(n.endPt);for(var u=n.endIndex+1;u<=e.length-1;u++)s.push(e[u]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}var c=e[0],P=e[1],S=e[e.length-2],h=e[e.length-1],y=.3*a,f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(y,P,c),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(y,S,h),M=f.pntLeft,b=g.pntLeft,m=[];m.push(c),m.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var d=[];d.push(h),d.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),U=new SuperMap.Geometry.Point(.1*a,0),w=new SuperMap.Geometry.Point(.5*a,0),L=SuperMap.Plot.PlottingUtil.coordinateTrans(O,U,v),V=SuperMap.Plot.PlottingUtil.coordinateTrans(O,w,v),_=[];_.push(L),_.push(V);var T={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_,T);var A=new SuperMap.Geometry.Point(.35*a,0),E=SuperMap.Plot.PlottingUtil.circlePoint(A,.2*a,.2*a,135),x=SuperMap.Plot.PlottingUtil.circlePoint(A,.2*a,.2*a,225),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(O,A,v),j=SuperMap.Plot.PlottingUtil.coordinateTrans(O,E,v),C=SuperMap.Plot.PlottingUtil.coordinateTrans(O,x,v);(_=[]).push(j),_.push(Y),_.push(C),T={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0},this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_,T);var I=new SuperMap.Geometry.Point(-.1*a,0),G=new SuperMap.Geometry.Point(-.5*a,-.15*a),B=new SuperMap.Geometry.Point(-.5*a,.15*a),R=SuperMap.Plot.PlottingUtil.coordinateTrans(O,I,v),N=SuperMap.Plot.PlottingUtil.coordinateTrans(O,G,v),D=SuperMap.Plot.PlottingUtil.coordinateTrans(O,B,v);(_=[]).push(R),_.push(N),_.push(D),_.push(R),T={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0},this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_,T);var k=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),z=SuperMap.Plot.PlottingUtil.circlePoint(k.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,v);this.addScalePoint(z,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol25400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.068),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&this.scaleValues.push(.068),0==this.subSymbols.length&&(this.subSymbols.push(new SuperMap.Plot.SubSymbol(100,300)),this.subSymbols.push(new SuperMap.Plot.SubSymbol(100,6200)));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0],o=l*e,i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(e/2,n);if(a.bfind){var r=a.pts.clone(),s=a.index,p=(l=this.scaleValues[0])*e,u=[];u.push(r);for(var c=s;c>=0;c--)u.push(n[c]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,u)).bfind){var P=a.index,S=a.pts.clone(),h=[];h.push(S);for(var y=P+1;y<u.length;y++)h.push(u[y].clone());var f={surroundLineFlag:!1,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,f);var g=[];g.push(r);for(var M=s+1;M<n.length;M++)g.push(n[M]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,g)).bfind){var b=a.index,m=a.pts.clone();(h=[]).push(m);for(var d=b+1;d<g.length;d++)h.push(g[d].clone());this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1});var v=SuperMap.Plot.PlottingUtil.radian(S,m)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point((S.x+m.x)/2,(S.y+m.y)/2);if(this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],O,p,v+90),e=SuperMap.Plot.PlottingUtil.polylineDistance(i),(a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(e/2,i)).bfind){var U=a.index,w=a.pts.clone(),L=[];L.push(w);for(var V=U;V>=0;V--)L.push(i[V]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,L)).bfind){var _=a.index,T=a.pts.clone(),A=[];A.push(T);for(var E=_+1;E<L.length;E++)A.push(L[E]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A);var x=[];x.push(w);for(var Y=U+1;Y<i.length;Y++)x.push(i[Y]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,x)).bfind){var j=a.index,C=a.pts.clone();(A=[]).push(C);for(var I=j+1;I<x.length;I++)A.push(x[I]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,f);var G=SuperMap.Plot.PlottingUtil.radian(T,C)*SuperMap.Plot.PlottingUtil.RTOD,B=new SuperMap.Geometry.Point((T.x+C.x)/2,(T.y+C.y)/2);this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],B,p,G);var R=SuperMap.Plot.PlottingUtil.linePnt(u[u.length-1],L[L.length-1],3*o),N=SuperMap.Plot.PlottingUtil.linePnt(L[L.length-1],u[u.length-1],3*o);(A=[]).push(R),A.push(N),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,f);var D=SuperMap.Plot.PlottingUtil.linePnt(g[g.length-1],x[x.length-1],3*o),k=SuperMap.Plot.PlottingUtil.linePnt(x[x.length-1],g[g.length-1],3*o);(A=[]).push(D),A.push(k),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,f),this.scalePoints=[],this.addScalePoint(R.clone()),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o/2;i>=.4&&(i=.4),this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol25301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.068),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0],o=l*e,i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(e/2,n);if(a.bfind){var r=a.pts.clone(),s=a.index,p=(l=this.scaleValues[0])*e,u=[];u.push(r);for(var c=s;c>=0;c--)u.push(n[c]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,u)).bfind){var P=a.index,S=a.pts.clone(),h=[];h.push(S);for(var y=P+1;y<u.length;y++)h.push(u[y].clone());var f={surroundLineFlag:!1,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,f);var g=[];g.push(r);for(var M=s+1;M<n.length;M++)g.push(n[M]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,g)).bfind){var b=a.index,m=a.pts.clone();(h=[]).push(m);for(var d=b+1;d<g.length;d++)h.push(g[d].clone());this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1});var v=SuperMap.Plot.PlottingUtil.radian(S,m)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point((S.x+m.x)/2,(S.y+m.y)/2);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],O,p,v);var U=u[u.length-1].clone(),w=SuperMap.Plot.PlottingUtil.circlePoint(U,.3*o,.3*o,v+30),L=SuperMap.Plot.PlottingUtil.circlePoint(U,.3*o,.3*o,v+180),V=SuperMap.Plot.PlottingUtil.circlePoint(U,.3*o,.3*o,v+330);(h=[]).push(w),h.push(L),h.push(V);var _={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};if(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,_,!0),e=SuperMap.Plot.PlottingUtil.polylineDistance(i),(a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(e/2,i)).bfind){var T=a.index,A=a.pts.clone(),E=[];E.push(A);for(var x=T;x>=0;x--)E.push(i[x]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,E)).bfind){var Y=a.index,j=a.pts.clone(),C=[];C.push(j);for(var I=Y+1;I<E.length;I++)C.push(E[I]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C);var G=[];G.push(A);for(var B=T+1;B<i.length;B++)G.push(i[B]);if((a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,G)).bfind){var R=a.index,N=a.pts.clone();(C=[]).push(N);for(var D=R+1;D<G.length;D++)C.push(G[D]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C,f);var k=SuperMap.Plot.PlottingUtil.radian(j,N)*SuperMap.Plot.PlottingUtil.RTOD,z=new SuperMap.Geometry.Point((j.x+N.x)/2,(j.y+N.y)/2);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[1],z,p,k+90);var F=E[E.length-1].clone(),K=SuperMap.Plot.PlottingUtil.circlePoint(F,.3*o,.3*o,v+30),q=SuperMap.Plot.PlottingUtil.circlePoint(F,.3*o,.3*o,v+180),W=SuperMap.Plot.PlottingUtil.circlePoint(F,.3*o,.3*o,v+330);(h=[]).push(K),h.push(q),h.push(W),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,_,!0);var J=SuperMap.Plot.PlottingUtil.linePnt(q,L,3*o),Z=SuperMap.Plot.PlottingUtil.linePnt(L,q,3*o);(C=[]).push(J),C.push(Z),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C,f);var H=SuperMap.Plot.PlottingUtil.linePnt(g[g.length-1],G[G.length-1],3*o),Q=SuperMap.Plot.PlottingUtil.linePnt(G[G.length-1],g[g.length-1],3*o);(C=[]).push(H),C.push(Q),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C,f),this.scalePoints=[],this.addScalePoint(J.clone()),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o/2;i>=.45&&(i=.45),this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol25300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.025),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var l,o=e*this.scaleValues[0];l=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0);var i;i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1),this.addScalePoint(i[0]);var n=i[i.length-1],a=l[l.length-1],r=SuperMap.Plot.PlottingUtil.distance(n,a),s=.3*r,p=l[l.length-2],u=l[l.length-1],c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,p,u).pntLeft;p=i[i.length-2],u=i[i.length-1];var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,p,u).pntRight,S=r;p=i[i.length-1],u=t[t.length-1];var h=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(S,p,u).pntRight,y=[];y.push(c),y.push(h),y.push(P);var f=[];f=(f=f.concat(l)).concat(y);for(var g=i.length-1;g>=0;--g)f.push(i[g]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;if(i>.5)return;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol25202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=l*this.scaleValues[0],i=e[e.length-1];if(e.length>2){for(var n=-1,a=e.length-2;a>=0;a--)if(o<SuperMap.Plot.PlottingUtil.distance(i,e[a])){n=a;break}e.splice(n+1,e.length-n),e.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var r=e[e.length-2],s=e[e.length-1],p=o,u=180*SuperMap.Plot.PlottingUtil.radian(r,s)/Math.PI,c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+157.5),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+202.5),S=[];S.push(c),S.push(i),S.push(P);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0},!0);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u);this.addScalePoint(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[l.length-1])/o;if(i>.2)return;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol25201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=Math.max(this.subSymbols[0].symbolData.symbolSize.x,this.subSymbols[0].symbolData.symbolSize.y);var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(r.pts,a.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=100*SuperMap.Plot.PlottingUtil.distance(a.pts,r.pts)/l,u=new SuperMap.Geometry.Point((r.pts.x+a.pts.x)/2,(a.pts.y+r.pts.y)/2);if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&this.computeSubSymbol(this.subSymbols[0],u,p,s),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone()),r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),a=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(3===t&&null==n.pt&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var r=SuperMap.Plot.PlottingUtil.clonePoints(i);r.splice(0,n.index+1),r.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(r);a<s&&(s=a),this.scaleValues[t+1]=(a-s)/a,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol25200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.105263),l.scaleValues.push(.105263),l.scaleValues.push(.181818),l.scaleValues.push(.285714),l.scaleValues.push(.285714)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25000),o(e,[{key:"calculateParts",value:function(){this.init();var t=this.GetGoPts();if(0!=t.length){0==this.scaleValues.length&&(this.scaleValues.push(.105263),this.scaleValues.push(.105263),this.scaleValues.push(.181818),this.scaleValues.push(.285714),this.scaleValues.push(.285714));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l),g=[];g.push(n),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(a);for(var M,b=[],m=0;m<g.length;m++)M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[m],f*SuperMap.Plot.PlottingUtil.RTOD),b.push(M);for(var d=[],v=b.length-1;v>=0;--v)d.push(b[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.scalePoints=[];var O=b[0].clone();O.isScalePoint=!0,O.tag=0,this.scalePoints.push(O);var U=b[1].clone();U.isScalePoint=!0,U.tag=1,this.scalePoints.push(U);var w=b[2].clone();w.isScalePoint=!0,w.tag=2,this.scalePoints.push(w);var L=.08125*o,V=new SuperMap.Geometry.Point(y.x-L,0),_=new SuperMap.Geometry.Point(V.x-L/2,0),T=new SuperMap.Geometry.Point(V.x+L/2,0),A=[];M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,_,f*SuperMap.Plot.PlottingUtil.RTOD),A.push(M.clone()),M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,T,f*SuperMap.Plot.PlottingUtil.RTOD),A.push(M.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A);var E=new SuperMap.Geometry.Point(V.x,V.y-L/2),x=new SuperMap.Geometry.Point(V.x,V.y+L/2),Y=[];M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,x,f*SuperMap.Plot.PlottingUtil.RTOD),Y.push(M.clone()),M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,E,f*SuperMap.Plot.PlottingUtil.RTOD),Y.push(M.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Y),this.finish()}}},{key:"GetGoPts",value:function(){var t=[];return this.controlPoints.length<this.minEditPts?t:(t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),1==(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length&&(t=[]),t)}}]),e}();SuperMap.Plot.AlgoSymbol25101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.285714),l.scaleValues.push(.5),l.scaleValues.push(.333333),l.scaleValues.push(.333333)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol25000),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.285714),this.scaleValues.push(.285714),this.scaleValues.push(.5),this.scaleValues.push(.333333),this.scaleValues.push(.333333));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l),g=[];g.push(n),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(a);for(var M,b=[],m=0;m<g.length;m++)M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[m],f*SuperMap.Plot.PlottingUtil.RTOD),b.push(M);for(var d=[],v=b.length-1;v>=0;--v)d.push(b[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.scalePoints=[];var O=b[0].clone();O.isScalePoint=!0,O.tag=0,this.scalePoints.push(O);var U=b[1].clone();U.isScalePoint=!0,U.tag=1,this.scalePoints.push(U);var w=b[2].clone();w.isScalePoint=!0,w.tag=2,this.scalePoints.push(w);var L=.04*o,V=.0475*o,_=new SuperMap.Geometry.Point(y.x-L,0),T=new SuperMap.Geometry.Point(S.x,S.y+V),A=SuperMap.Plot.PlottingUtil.intersectLines(p,S,_,T),E=A.intersectPoint;if(0!=A.isIntersectLines){var x=new SuperMap.Geometry.Point(h.x,h.y-V),Y=(A=SuperMap.Plot.PlottingUtil.intersectLines(h,u,_,x)).intersectPoint;if(0!=A.isIntersectLines){var j=[];j.push(E),j.push(_),j.push(Y);for(var C=[],I=0;I<j.length;I++)M=SuperMap.Plot.PlottingUtil.coordinateTrans(e,j[I],f*SuperMap.Plot.PlottingUtil.RTOD),C.push(M);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C),this.finish()}}}}}]),e}();SuperMap.Plot.AlgoSymbol25100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.222222),l.scaleValues.push(.5),l.scaleValues.push(.5),l.scaleValues.push(.5)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.222222),this.scaleValues.push(.5),this.scaleValues.push(.5),this.scaleValues.push(.5));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),a=new SuperMap.Geometry.Point(0,o*i),r=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*r),u=new SuperMap.Geometry.Point(o*(1-s),o*r),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l),g=[];g.push(n),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(a);for(var M=[],b=0;b<g.length;b++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[b],f*SuperMap.Plot.PlottingUtil.RTOD);M.push(m)}for(var d=[],v=M.length-1;v>=0;--v)d.push(M[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d),this.scalePoints=[];var O=M[0].clone();O.isScalePoint=!0,O.tag=0,this.scalePoints.push(O);var U=M[1].clone();U.isScalePoint=!0,U.tag=1,this.scalePoints.push(U);var w=M[2].clone();w.isScalePoint=!0,w.tag=2,this.scalePoints.push(w),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),a=l[1].clone(),r=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(r,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var p=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(r,n,a);var c=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol25000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol24700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.025),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e;0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(.025),this.scaleValues.push(0)),e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=new SuperMap.Geometry.Point(0,0),o=this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.polylineDistance(e),n=o*i;if(!this.isEdit){var a=this.getDefaultSubSymbolSize()/i;(a>.3||a<=0)&&(a=.3),this.scaleValues[1]=a}var r=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.polylineDistance(t),s=0,p=.3*n;this.ComputeDashLine(3*i/19,i/19,e);var u=e[1].clone(),c=e[0].clone(),P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,u,c),S=P.pntRight,h=P.pntLeft,y=[];y.push(h.clone()),y.push(S.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);for(var f=3*p,g=e[0].clone(),M=0;M<=i;M+=f){s=M+2*p;var b=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,e);if(b.bfind){if(l=b.pts,b.index>=e.length)break;var m,d,v,O,U,w,L,V=[];if(V.push(g.clone()),V.push(l.clone()),0==M){var _=l.clone();_.isScalePoint=!0,_.tag=0,this.scalePoints.push(_);var T=S.clone();T.isScalePoint=!0,T.tag=1,this.scalePoints.push(T)}if(0==this.scaleValues[2]){m=new SuperMap.Geometry.Point((g.x+l.x)/2,(g.y+l.y)/2),d=g.clone(),v=m.clone(),c=l.clone();var A=(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,d,v)).pntLeft;O=SuperMap.Plot.PlottingUtil.linePnt(m,d,.3*r),U=SuperMap.Plot.PlottingUtil.linePnt(m,c,.3*r),0==M&&((w=A.clone()).isScalePoint=!0,w.tag=2,this.scalePoints.push(w)),(L=[]).push(A.clone()),L.push(O.clone()),L.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,L)}else{m=new SuperMap.Geometry.Point((g.x+l.x)/2,(g.y+l.y)/2),d=g.clone(),v=m.clone(),c=l.clone();var E=(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,d,v)).pntRight;O=SuperMap.Plot.PlottingUtil.linePnt(m,d,.3*p),U=SuperMap.Plot.PlottingUtil.linePnt(m,c,.3*p),0==M&&((w=E.clone()).isScalePoint=!0,w.tag=2,this.scalePoints.push(w)),(L=[]).push(E.clone()),L.push(O.clone()),L.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,L)}if(s=M+3*p,(b=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,e)).bfind){if(l=b.pts,!(b.index<e.length))break;g=l}}}u=e[e.length-2].clone(),c=e[e.length-1].clone(),P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,u,c),(y=[]).push(P.pntLeft.clone()),y.push(P.pntRight.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t&&1!=t&&2!=t)return;var l,o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o),l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=e.clone(),r=l[0].clone();if(0==t)i=SuperMap.Plot.PlottingUtil.distance(a,r)/.6/n,this.scaleValues[0]=i;else if(1==t)i=SuperMap.Plot.PlottingUtil.distance(a,r)/n,this.scaleValues[1]=i;else if(2==t){var s=this.scaleValues[0]*n,p=.01*n,u=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,l);if(!u.bfind)return;var c=u.index,P=u.pts.clone();if(!(u.index<l.length))return;var S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,l[c],P).pntLeft.clone(),h=SuperMap.Plot.PlottingUtil.projectPoint(e,S,P);(S.x-P.x)*(h.x-P.x)+(S.y-P.y)*(h.y-P.y)>=0?this.scaleValues[2]=0:this.scaleValues[2]=1}}}},{key:"ComputeDashLine",value:function(t,e,l){for(var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=l[0].clone(),r=1,s=0,p=!0,u=!0;s<n;){var c;(i=[]).push(a),s+=t;var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=P.index,o=P.pts,!(p=P.bfind))break;if(r<c)for(var S=r;S<c;S++)i.push(l[S]);i.push(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),s+=e;var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=h.index,a=h.pts,r=c+1,!(u=h.bfind))break}if(!p){(i=[]).push(a);for(var y=r;y<l.length;y++)i.push(l[y]);2===i.length&&0===SuperMap.Plot.PlottingUtil.distance(i[0],i[1])||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}if(!u){var f=l[l.length-1],g=SuperMap.Plot.PlottingUtil.distance(o,f);if(g*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(g,0)){var M=SuperMap.Plot.PlottingUtil.linePnt(f,o,g);(i=[]).push(M),i.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}}}}]),e}();SuperMap.Plot.AlgoSymbol24700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23902=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.125),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l,o,i,n=[];if(2==t.length){e=t[0],l=t[1];var a=SuperMap.Plot.PlottingUtil.distance(e,l);i=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,o=SuperMap.Plot.PlottingUtil.circlePoint(e,a,a,i+60),n.push(e),n.push(o),n.push(l)}else n=n.concat(t);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n),n.push(n[0]);var r=SuperMap.Plot.PlottingUtil.polylineDistance(n),s=this.scaleValues[0],p=this.scaleValues[1],u=this.scaleValues[2],c=this.scaleValues[4],P=r*s;e=n[0],l=n[1],o=n[2];var S,h=r*p,y=180*SuperMap.Plot.PlottingUtil.InnerAngle(e,l,o)/Math.PI*u,f=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,g=f-y,M=f+y,b=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,g),m=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,M);S=SuperMap.Plot.PlottingUtil.ptIsInPolygon(n,b)?b:m;var d=r*this.scaleValues[3];i=c,0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],S,d,i-90);var v=SuperMap.Plot.PlottingUtil.circlePoint(e,P,P,f+180);this.addScalePoint(v),this.addScalePoint(S);var O=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*d,.5*d,i);this.addScalePoint(O),this.createArcPts(n,P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n,a,r,s,p,u=[];2==l.length?(o=l[0],i=l[1],r=SuperMap.Plot.PlottingUtil.distance(o,i),a=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,n=SuperMap.Plot.PlottingUtil.circlePoint(o,r,r,a+60),u.push(o),u.push(i),u.push(n)):u=u.concat(l),o=u[0],i=u[1],n=u[2],u.push(u[0]);var c=SuperMap.Plot.PlottingUtil.polylineDistance(u),P=e;if(0===t)r=SuperMap.Plot.PlottingUtil.distance(P,u[0]),this.scaleValues[0]=r/c;else if(1===t){s=SuperMap.Plot.PlottingUtil.distance(P,u[0])/c,this.scaleValues[1]=s,a=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,n)/Math.PI,0<=(p=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,P)/Math.PI/a)&&1>=p&&(this.scaleValues[2]=p)}else if(2===t){s=this.scaleValues[1],p=this.scaleValues[2];var S,h=c*s,y=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,n)/Math.PI*p,f=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,g=f-y,M=f+y,b=SuperMap.Plot.PlottingUtil.circlePoint(o,h,h,g),m=SuperMap.Plot.PlottingUtil.circlePoint(o,h,h,M);S=SuperMap.Plot.PlottingUtil.ptIsInPolygon(u,b)?b:m;var d=2*SuperMap.Plot.PlottingUtil.distance(P,S)/c;this.scaleValues[3]=d;var v=180*SuperMap.Plot.PlottingUtil.radian(S,P)/Math.PI;this.scaleValues[4]=v}}}},{key:"ComputeSubSymbolPt",value:function(t,e,l,o){var i,n,a=l[0],r=l[1],s=l[2],p=SuperMap.Plot.PlottingUtil.plumbLineLen(s,a,r)*t,u=SuperMap.Plot.PlottingUtil.plumbLineLen(r,a,s)*e,c=[];if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(a,r,o)?((i=[]).push(a),i.push(r),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!1)):((i=[]).push(a),i.push(r),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!0)),SuperMap.Plot.PlottingUtil.pointIsRightToLine(a,s,o)?((i=[]).push(a),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!1)):((i=[]).push(a),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!0)),2>c.length||2>n.length)return o;var P=SuperMap.Plot.PlottingUtil.intersectLines(c[0],c[1],n[0],n[1]);return P.isIntersectLines?P.intersectPoint:o}},{key:"createArcPts",value:function(t,e){for(var l=[],o=[],i=0;i<t.length;i++)o.push(e),l.push([{Start:0,End:360}]);for(var n=0;n<t.length;n++)if(0!==l[n].length&&(0!==l[n][0].Start||0!==l[n][0].End))for(var a=n+1;a<t.length;a++)if(0!==l[a].length&&(0!==l[a][0].Start||0!==l[a][0].End)){var r=SuperMap.Plot.PlottingUtil.distance(t[n],t[a]);if(r<o[n]+o[a])if(r>Math.abs(o[n]-o[a]))for(var s=0;s<2;s++){var p,u,c;0==s?(c=n,p=SuperMap.Plot.PlottingUtil.radian(t[n],t[a])*SuperMap.Plot.PlottingUtil.RTOD,u=Math.acos((r*r+o[n]*o[n]-o[a]*o[a])/(2*r*o[n]))*SuperMap.Plot.PlottingUtil.RTOD):(c=a,p=SuperMap.Plot.PlottingUtil.radian(t[a],t[n])*SuperMap.Plot.PlottingUtil.RTOD,u=Math.acos((r*r+o[a]*o[a]-o[n]*o[n])/(2*r*o[a]))*SuperMap.Plot.PlottingUtil.RTOD);var P=p-u,S=p+u,h=P<0&&S>0||P>360||S>360;P=this.adjustAngle(P),S=this.adjustAngle(S);for(var y=l[c].length-1;y>=0;y--)if(h){if(S>l[c][y].End||SuperMap.Plot.PlottingUtil.equalFuzzy(S,l[c][y].End)){l[c].splice(y,1);continue}if(S>l[c][y].Start&&(l[c][y].Start=S),P<l[c][y].Start||SuperMap.Plot.PlottingUtil.equalFuzzy(P,l[c][y].Start)){l[c].splice(y,1);continue}P<l[c][y].End&&(l[c][y].End=P)}else if(P<l[c][y].Start&&S>l[c][y].End)l[c].splice(y,1);else if(P>l[c][y].Start&&S<l[c][y].End)l[c].push({Start:l[c][y].Start,End:P}),l[c].push({Start:S,End:l[c][y].End}),l[c].splice(y,1);else{if(P>l[c][y].End)continue;if(P>l[c][y].Start&&(l[c][y].End=P),S<l[c][y].Start)continue;S<l[c][y].End&&(l[c][y].Start=S)}}else{if(o[n]<o[a]){l[n][0].Start=0,l[n][0].End=0;break}l[a][0].Start=0,l[a][0].End=0}}for(var f=0;f<t.length;f++)if(0!==l[f].length&&(0!==l[f][0].Start||0!==l[f][0].End))for(var g=l[f].length-1;g>=0;g--){for(var M=this.adjustAngle(l[f][g].Start),b=this.adjustAngle(l[f][g].End);b<M;)b+=360;for(var m=[],d=(b-M)/72,v=M;v<b+d/2;v+=d){var O=t[f].x+o[f]*Math.cos(v*SuperMap.Plot.PlottingUtil.DTOR),U=t[f].y+o[f]*Math.sin(v*SuperMap.Plot.PlottingUtil.DTOR);m.push(new SuperMap.Geometry.Point(O,U))}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m)}}},{key:"adjustAngle",value:function(t){for(;t>360;)t-=360;for(;t<0;)t+=360;return t}},{key:"GetCirclePts",value:function(t,e,l,o){var i=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,n=180*SuperMap.Plot.PlottingUtil.radian(t,l)/Math.PI,a=i;n>i&&(a=n);for(var r=[],s=a;s<360+a;s+=4)90==s&&(s=91),r.push(SuperMap.Plot.PlottingUtil.circlePoint(t,o,o,s));return r.push[0],r}},{key:"CreatArc",value:function(t,e,l){for(var o=[],i=[],n=0;n<t.length;n++){var a=t[n];SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,a)||SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,a)?(i.length>1&&o.push(i),i=[]):i.push(a)}i.length>1&&o.push(i);for(var r=0;r<o.length;r++){var s=o[r];this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}}},{key:"GetArcPts3D",value:function(t,e,l){for(var o=[],i=[],n=0;n<t.length;n++){var a=t[n];SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,a)||SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,a)?(i.length>1&&o.push(i),i=[]):i.push(a)}i.length>1&&o.push(i);for(var r=[],s=0;s<o.length;s++)r=r.concat(o[s]);return r}},{key:"sortPts",value:function(t,e){t=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);for(var l=0;l<e.length;l++)for(var o=e[l],i=180*SuperMap.Plot.PlottingUtil.radian(t,o)/Math.PI,n=0;n<e.length;n++){var a=e[n],r=180*SuperMap.Plot.PlottingUtil.radian(t,a)/Math.PI;if(i>r){var s=new SuperMap.Geometry.Point(o.x,o.y);o=new SuperMap.Geometry.Point(a.x,a.y),a=new SuperMap.Geometry.Point(s.x,s.y),i=r,e[l]=o,e[n]=a}}return e}}]),e}();SuperMap.Plot.AlgoSymbol23902=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23901=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.333333),l.scaleValues.push(.333333),l.scaleValues.push(.125),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=[];if(2==t.length){var o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);e=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI;var a=SuperMap.Plot.PlottingUtil.circlePoint(o,n,n,e+60);l.push(t[0]),l.push(i),l.push(a),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);for(var r=0;r<t.length;r++)l.push(t[r])}var s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);l.push(l[0]);var p=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(!this.isEdit){var u=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.scaleValues[2]=2*u*this.getSubSymbolScaleValue()/p}var c=this.scaleValues[0],P=this.scaleValues[1],S=this.scaleValues[2],h=this.scaleValues[3],y=this.ComputeSubSymbolPt(c,P,l,s),f=p*S,g=y;e=h-90,0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],g,f,e),this.addScalePoint(g);var M=SuperMap.Plot.PlottingUtil.circlePoint(y,f,f,h);this.addScalePoint(M),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n,a=[];if(2==l.length){o=l[0],i=l[1];var r=SuperMap.Plot.PlottingUtil.distance(o,i),s=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI;n=SuperMap.Plot.PlottingUtil.circlePoint(o,r,r,s+60),a.push(o),a.push(i),a.push(n)}else a=a.concat(l);o=a[0],i=a[1],n=a[2];var p=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(a);a.push(a[0]);var u=SuperMap.Plot.PlottingUtil.polylineDistance(a),c=e;if(0==t){var P=SuperMap.Plot.PlottingUtil.plumbLineLen(n,o,i),S=SuperMap.Plot.PlottingUtil.plumbLineLen(i,o,n),h=SuperMap.Plot.PlottingUtil.plumbLineLen(c,o,i)/P,y=SuperMap.Plot.PlottingUtil.plumbLineLen(c,o,n)/S;h>1&&(h=1),y>1&&(y=1),this.scaleValues[0]=h,this.scaleValues[1]=y}else if(1==t){var f=this.scaleValues[0],g=this.scaleValues[1],M=this.ComputeSubSymbolPt(f,g,a,p),b=SuperMap.Plot.PlottingUtil.distance(M,c)/u;this.scaleValues[2]=b;var m=180*SuperMap.Plot.PlottingUtil.radian(M,c)/Math.PI;this.scaleValues[3]=m}}}},{key:"ComputeSubSymbolPt",value:function(t,e,l,o){var i,n,a=l[0],r=l[1],s=l[2],p=SuperMap.Plot.PlottingUtil.plumbLineLen(s,a,r)*t,u=SuperMap.Plot.PlottingUtil.plumbLineLen(r,a,s)*e,c=[];if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(a,r,o)?((i=[]).push(a),i.push(r),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!1)):((i=[]).push(a),i.push(r),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!0)),SuperMap.Plot.PlottingUtil.pointIsRightToLine(a,s,o)?((i=[]).push(a),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!1)):((i=[]).push(a),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!0)),2>c.length||2>n.length)return o;var P=SuperMap.Plot.PlottingUtil.intersectLines(c[0],c[1],n[0],n[1]);return P.isIntersectLines?P.intersectPoint:o}}]),e}();SuperMap.Plot.AlgoSymbol23901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23700=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];3>=t.length?(e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t),e=SuperMap.Plot.PlottingUtil.clearSamePts(e)):e=t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=i}var n=o*this.scaleValues[0]*.15,a=[];a.push(new SuperMap.Geometry.Point(0,n)),a.push(new SuperMap.Geometry.Point(-n,0)),a.push(new SuperMap.Geometry.Point(0,-n));var r=[];r.push(new SuperMap.Geometry.Point(n,n)),r.push(new SuperMap.Geometry.Point(0,0)),r.push(new SuperMap.Geometry.Point(n,-n));for(var s=new SuperMap.Geometry.Point(-3*n,2*n),p=SuperMap.Plot.PlottingUtil.coordinateTrans(l,s,0),u=[],c=[],P=0;P<3;P++)u.push(new SuperMap.Geometry.Point(a[P].x+p.x,a[P].y+p.y)),c.push(new SuperMap.Geometry.Point(r[P].x+p.x,r[P].y+p.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);for(var S=new SuperMap.Geometry.Point(3*n,2*n),h=SuperMap.Plot.PlottingUtil.coordinateTrans(l,S,0),y=[],f=[],g=0;g<3;g++)y.push(new SuperMap.Geometry.Point(a[g].x+h.x,a[g].y+h.y)),f.push(new SuperMap.Geometry.Point(r[g].x+h.x,r[g].y+h.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var M=new SuperMap.Geometry.Point(-4*n,-2*n),b=SuperMap.Plot.PlottingUtil.coordinateTrans(l,M,0);y=[],f=[];for(var m=0;m<3;m++)y.push(new SuperMap.Geometry.Point(a[m].x+b.x,a[m].y+b.y)),f.push(new SuperMap.Geometry.Point(r[m].x+b.x,r[m].y+b.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var d=new SuperMap.Geometry.Point(0,-2*n),v=SuperMap.Plot.PlottingUtil.coordinateTrans(l,d,0);y=[],f=[];for(var O=0;O<3;O++)y.push(new SuperMap.Geometry.Point(a[O].x+v.x,a[O].y+v.y)),f.push(new SuperMap.Geometry.Point(r[O].x+v.x,r[O].y+v.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var U=new SuperMap.Geometry.Point(4*n,-2*n),w=SuperMap.Plot.PlottingUtil.coordinateTrans(l,U,0);y=[],f=[];for(var L=0;L<3;L++)y.push(new SuperMap.Geometry.Point(a[L].x+w.x,a[L].y+w.y)),f.push(new SuperMap.Geometry.Point(r[L].x+w.x,r[L].y+w.y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol23700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(1),l.scaleValues.push(-.1),l.scaleValues.push(0),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){4>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var i=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[0]=i/o*.8,this.scaleValues[3]=i/o*.8}var n=this.scaleValues[0],a=this.scaleValues[1],r=this.scaleValues[3],s=this.scaleValues[4],p=this.scaleValues[6],u=this.scaleValues[7],c=this.scaleValues[8],P=this.scaleValues[9],S=new SuperMap.Geometry.Point(l.x+o*p,l.y+o*u),h=new SuperMap.Geometry.Point(l.x+o*c,l.y+o*P),y=[],f=.15*SuperMap.Plot.PlottingUtil.distance(S,h),g=SuperMap.Plot.PlottingUtil.linePnt(S,h,f),M=SuperMap.Plot.PlottingUtil.linePnt(h,S,f);y.push(g),y.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var b=o*n,m=a;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,b,m);var d=o*r,v=s;this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],h,d,v),this.addScalePoint(S);var O=SuperMap.Plot.PlottingUtil.circlePoint(S,b,b,m);this.addScalePoint(O),this.addScalePoint(h);var U=SuperMap.Plot.PlottingUtil.circlePoint(h,d,d,v);this.addScalePoint(U),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;10>this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(1),this.scaleValues.push(-.1),this.scaleValues.push(0),this.scaleValues.push(.1),this.scaleValues.push(0));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a,r,s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),p=SuperMap.Plot.PlottingUtil.polylineDistance(o),u=e;if(0==t)i=(u.x-s.x)/p,this.scaleValues[6]=i,n=(u.y-s.y)/p,this.scaleValues[7]=n;else if(1==t){i=this.scaleValues[6],n=this.scaleValues[7];var c=new SuperMap.Geometry.Point(s.x+p*i,s.y+p*n),P=SuperMap.Plot.PlottingUtil.distance(c,u)/p;this.scaleValues[0]=P;var S=180*SuperMap.Plot.PlottingUtil.radian(c,u)/Math.PI;this.scaleValues[1]=S,this.scaleValues[2]=0<=S&&S<90?1:90<=S&&S<180?2:180<=S&&S<270?3:4}else if(2==t)a=(u.x-s.x)/p,this.scaleValues[8]=a,r=(u.y-s.y)/p,this.scaleValues[9]=r;else if(3==t){a=this.scaleValues[8],r=this.scaleValues[9];var h=new SuperMap.Geometry.Point(s.x+p*a,s.y+p*r),y=SuperMap.Plot.PlottingUtil.distance(h,u)/p;this.scaleValues[3]=y;var f=180*SuperMap.Plot.PlottingUtil.radian(h,u)/Math.PI;this.scaleValues[4]=f,this.scaleValues[5]=0<=f&&f<90?1:90<=f&&f<180?2:180<=f&&f<270?3:4}}}}]),e}();SuperMap.Plot.AlgoSymbol23600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{fillLimit:!0,fill:!1,surroundLineFlag:!1});var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],a=this.scaleValues[2],r=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*a,l.y+o*r);if(this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0){if(this.subSymbols[0].symbolData)for(var u in this.subSymbols[0].symbolData.innerCells)this.subSymbols[0].symbolData.innerCells[u].type===SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL&&(this.subSymbols[0].symbolData.innerCells[u].type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL);this.computeSubSymbol(this.subSymbols[0],p,s,0)}this.addScalePoint(p);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),r=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-a.x)/r,this.scaleValues[2]=i,n=(e.y-a.y)/r,this.scaleValues[3]=n;else if(1===t){i=this.scaleValues[2],n=this.scaleValues[3];var s=new SuperMap.Geometry.Point(a.x+r*i,a.y+r*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/r;this.scaleValues[0]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol23500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e),this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var l=this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2],n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),a=SuperMap.Plot.PlottingUtil.polylineDistance(t),r=a*i,s=new SuperMap.Geometry.Point(n.x+a*l,n.y+a*o);if(this.subSymbols.length>0){if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&this.computeSubSymbol(this.subSymbols[0],s,r,0),this.addScalePoint(s);var p=SuperMap.Plot.PlottingUtil.circlePoint(s,r,r,0);this.addScalePoint(p)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),r=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-a.x)/r,this.scaleValues[0]=i,n=(e.y-a.y)/r,this.scaleValues[1]=n;else if(1===t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(a.x+r*i,a.y+r*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/r;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol23400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol22200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05));var o=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.35*this.getSubSymbolScaleValue());var i=o*this.scaleValues[0],n=[];n.push(new SuperMap.Geometry.Point(l.x,l.y)),n.push(new SuperMap.Geometry.Point(l.x+i,l.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,n);var a=[];a.push(new SuperMap.Geometry.Point(l.x,l.y+.8*i)),a.push(new SuperMap.Geometry.Point(l.x,l.y-.8*i)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var r=[];r.push(new SuperMap.Geometry.Point(l.x+.8*i,l.y)),r.push(new SuperMap.Geometry.Point(l.x-.8*i,l.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol22200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol22103=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.025)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol22000),e}();SuperMap.Plot.AlgoSymbol22103=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol22000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.03):1===this.scaleValues.length&&(this.scaleValues[1]=.02),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.6*this.getSubSymbolScaleValue()}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.8*r,a);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var P=e[0],S=e[1],h=e[e.length-2],y=e[e.length-1],f=l*this.scaleValues[1],g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,S,P),M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,h,y),b=g.pntLeft,m=M.pntLeft,d=[];d.push(P),d.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=[];v.push(y),v.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v);var O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),U=SuperMap.Plot.PlottingUtil.circlePoint(O.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,a);this.addScalePoint(U,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol22000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05,l.scaleValues[2]=.01,l.scaleValues[3]=.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues[0]=.05,this.scaleValues[1]=.02,this.scaleValues[2]=.01,this.scaleValues[3]=.02):1===this.scaleValues.length&&(this.scaleValues.push(.02),this.scaleValues.push(.01),this.scaleValues.push(.25*this.getSubSymbolScaleValue())),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[3]=.5*o}for(var i=this.getLinePts(e,this.scaleValues[0]),n=[],a=[],r=0;r<=i.startIndex;r++)n.push(e[r]);if(n.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),i.endIndex<=e.length){a.push(i.endPt);for(var s=i.endIndex+1;s<=e.length-1;s++)a.push(e[s]);this.addArrow(a,this.scaleValues[this.scaleValues.length-1])}var p,u,c,P,S,h,y,f,g,M,b,m,d,v=i.startPt.clone(),O=i.endPt.clone(),U=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),w=SuperMap.Plot.PlottingUtil.distance(v,O),L=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD;p=new SuperMap.Geometry.Point(0,0),u=new SuperMap.Geometry.Point(0,0),c=new SuperMap.Geometry.Point(0,0),P=new SuperMap.Geometry.Point(0,0),S=new SuperMap.Geometry.Point(0,0),h=new SuperMap.Geometry.Point(0,0),y=new SuperMap.Geometry.Point(0,0),f=new SuperMap.Geometry.Point(0,0),g=new SuperMap.Geometry.Point(0,0),M=new SuperMap.Geometry.Point(0,0),b=new SuperMap.Geometry.Point(0,0),m=new SuperMap.Geometry.Point(0,0),d=new SuperMap.Geometry.Point(0,0),v.x>=O.x?(p.x=.25*w,p.y=.25*-w,u.x=.5*-w,u.y=.25*-w,c.x=.5*-w,c.y=.25*w,P.x=.5*w,P.y=.25*w,S.x=.5*w,S.y=0,h.x=.25*-w,h.y=.125*-w,y.x=0,y.y=.125*w,f.x=0,f.y=.125*-w,g.x=.25*w,g.y=.2*w,M.x=.25*-w,M.y=.25*-w,b.x=.375*-w,b.y=.5*-w,m.x=.02*-w,m.y=.25*-w,d.x=.1*w,d.y=.5*-w):(p.x=.25*w,p.y=.25*w,u.x=.5*-w,u.y=.25*w,c.x=.5*-w,c.y=.25*-w,P.x=.5*w,P.y=.25*-w,S.x=.5*w,S.y=0,h.x=.25*w,h.y=.125*-w,y.x=0,y.y=.125*w,f.x=0,f.y=.125*-w,g.x=.25*-w,g.y=.125*w,M.x=.25*-w,M.y=.25*w,b.x=.375*-w,b.y=.5*w,m.x=.02*w,m.y=.25*w,d.x=.15*w,d.y=.5*w);var V=[],_=[],T=[],A=[],E=[],x=SuperMap.Plot.PlottingUtil.coordinateTrans(U,p,L),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(U,u,L),j=SuperMap.Plot.PlottingUtil.coordinateTrans(U,c,L),C=SuperMap.Plot.PlottingUtil.coordinateTrans(U,P,L),I=SuperMap.Plot.PlottingUtil.coordinateTrans(U,S,L),G=SuperMap.Plot.PlottingUtil.coordinateTrans(U,h,L),B=SuperMap.Plot.PlottingUtil.coordinateTrans(U,y,L),R=SuperMap.Plot.PlottingUtil.coordinateTrans(U,f,L),N=SuperMap.Plot.PlottingUtil.coordinateTrans(U,g,L),D=SuperMap.Plot.PlottingUtil.coordinateTrans(U,M,L),k=SuperMap.Plot.PlottingUtil.coordinateTrans(U,b,L),z=SuperMap.Plot.PlottingUtil.coordinateTrans(U,m,L),F=SuperMap.Plot.PlottingUtil.coordinateTrans(U,d,L);V.push(x),V.push(Y),V.push(j),V.push(C),V.push(I),_.push(G),_.push(B),_.push(R),_.push(N),T.push(D),T.push(k),A.push(z),A.push(F),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,V,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,null,!0);var K=.3*SuperMap.Plot.PlottingUtil.distance(R,N),q=SuperMap.Plot.PlottingUtil.linePnt(N,R,K),W=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*K,N,q);E.push(W.pntLeft),E.push(N),E.push(W.pntRight);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,E,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var J=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),Z=SuperMap.Plot.PlottingUtil.circlePoint(J.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,L+90);this.addScalePoint(Z,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol21900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.2));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],l=.5*e,o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,a=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+90),r=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+270),s=SuperMap.Plot.PlottingUtil.circlePoint(a,l,l,n),p=SuperMap.Plot.PlottingUtil.circlePoint(r,l,l,n),u=[];u.push(p),u.push(r),u.push(a),u.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+90),P=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+270),S=SuperMap.Plot.PlottingUtil.circlePoint(c,l,l,n+180),h=SuperMap.Plot.PlottingUtil.circlePoint(P,l,l,n+180);(u=[]).push(S),u.push(c),u.push(P),u.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addScalePoint(a),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol21800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05)),l.subText="",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(SuperMap.Plot.PlottingUtil.clearSamePts(t),!(t.length<this.minEditPts)){1==this.scaleValues.length&&this.scaleValues.push(this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[0]=.6*this.getSubSymbolScaleValue(),this.scaleValues[1]=this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l=0,o=0;o<e.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(e[o],e[o+1]);var i=.5*l,n=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,i);if(-1!==n.index){for(var a=n.pt,r=[],s=0,p=0;p<n.index+1;p++)r.push(e[p]),p>0&&(s+=SuperMap.Plot.PlottingUtil.distance(r[p],r[p-1]));var u,c,P=i-s,S=l*this.scaleValues[1],h=[];if(P>=S){u=SuperMap.Plot.PlottingUtil.linePnt(a,e[n.index],S),r.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),c=SuperMap.Plot.PlottingUtil.linePnt(a,e[n.index+1],S),h.push(c);for(var y=e.length,f=n.index+1;f<y;++f)h.push(e[f]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}else{for(var g,M,b=-1,m=r.length-1;m>=0;m--)if(g=new SuperMap.Geometry.Point(r[m].x,r[m].y),M=new SuperMap.Geometry.Point(a.x,a.y),SuperMap.Plot.PlottingUtil.distance(g,M)>S){b=m;break}if(-1==b)return;r.splice(b+1,r.length-1-b),u=SuperMap.Plot.PlottingUtil.linePnt(a,e[b],S),r.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);for(var d=-1,v=n.index;v<e.length;v++)if(g=new SuperMap.Geometry.Point(e[v].x,e[v].y),M=new SuperMap.Geometry.Point(a.x,a.y),SuperMap.Plot.PlottingUtil.distance(g,M)>S){d=v;break}if(-1==d)return;c=SuperMap.Plot.PlottingUtil.linePnt(a,e[d],S),h.push(c);for(var O=d+1;O<e.length;++O)h.push(e[O]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}if(!(r.length<2)){for(var U=0,w=0;w<t.length-1;w++)U+=SuperMap.Plot.PlottingUtil.distance(t[w],t[w+1]);var L=U*this.scaleValues[0],V=new SuperMap.Geometry.Point(r[0].x,r[0].y),_=new SuperMap.Geometry.Point(r[1].x,r[1].y),T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,_,V),A=[];if(A.push(T.pntLeft),A.push(T.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A),!(h.length<2)){var E=new SuperMap.Geometry.Point(h[h.length-1].x,h[h.length-1].y),x=new SuperMap.Geometry.Point(h[h.length-2].x,h[h.length-2].y),Y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,x,E);(A=[]).push(Y.pntLeft),A.push(Y.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A);var j=u,C=c,I=180*SuperMap.Plot.PlottingUtil.radian(j,C)/Math.PI,G=SuperMap.Plot.PlottingUtil.distance(j,C),B=new SuperMap.Geometry.Point((u.x+c.x)/2,(u.y+c.y)/2),R=this.subText;this.addText(R,B,G,I),this.addScalePoint(T.pntLeft),this.finish()}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol21600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21504=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),o(e,[{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-90)}}]),e}();SuperMap.Plot.AlgoSymbol21504=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21503=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),o(e,[{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-90)}}]),e}();SuperMap.Plot.AlgoSymbol21503=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol21502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),e}();SuperMap.Plot.AlgoSymbol21502=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.02):1===this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue()),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.5*this.getSubSymbolScaleValue()}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.addSubSymbols(n,r,a);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p,this.scaleValues[1])}var P=l*this.scaleValues[0]*.5,S=SuperMap.Plot.PlottingUtil.circlePoint(n,P,P,a+90);this.addScalePoint(S,0),this.finish()}}},{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-180)}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),a=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=a<=.5?a:.5}}}]),e}();SuperMap.Plot.AlgoSymbol21501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues.push(.02),this.scaleValues.push(.1),this.scaleValues.push(0)):3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);if(e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addArrow(e,this.scaleValues[this.scaleValues.length-1]),0!==SuperMap.Plot.PlottingUtil.polylineDistance(e)){if(!this.isEdit){var l=this.getSubSymbolScaleValue();this.scaleValues[0]=.5*l,this.scaleValues[this.scaleValues.length-1]=.5*this.getSubSymbolScaleValue()}for(var o=this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=o*i,a=this.scaleValues[1]*i,r=0,s=.01*i,p=s,u=0;p<=i;p+=a,u++){r=p+s;var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,r);if(-1===c.index)return;var P=[],S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index],c.pt);P.push(new SuperMap.Geometry.Point(S.pntLeft.x,S.pntLeft.y)),P.push(new SuperMap.Geometry.Point(S.pntRight.x,S.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),0===u?this.addScalePoint(P[0],0):1===u&&this.addScalePoint(c.pt,1)}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=.01*i;if(0===t){var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,n);if(-1===a.index)return;var r=SuperMap.Plot.PlottingUtil.distance(e,a.pt);this.scaleValues[0]=r/i}else if(1===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,n);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,o);if(-1===p.index)return;for(var u=0,c=s.index+1;c<p.index;c++)u+=SuperMap.Plot.PlottingUtil.distance(o[c],o[c+1]);u+=SuperMap.Plot.PlottingUtil.distance(o[p.index],p.pt),u-=n,this.scaleValues[1]=u/i,this.scaleValues[1]>.93&&(this.scaleValues[1]=.93)}}}}]),e}();SuperMap.Plot.AlgoSymbol21500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.03),l.scaleValues.push(.4),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues.push(.03),this.scaleValues.push(.4),this.scaleValues.push(0)):3===this.scaleValues.length&&this.scaleValues.push(.02);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=this.scaleValues[1],i=l*(1-o)*.5,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,e);if(n.bfind){this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue(),this.scaleValues[this.scaleValues.length-1]=.5*this.getSubSymbolScaleValue());var a,r=this.scaleValues[0],s=SuperMap.Plot.PlottingUtil.polylineDistance(t)*r,p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[n.index],n.pts),u=this.scaleValues[2];1===u?a=new SuperMap.Geometry.Point(p.pntRight.x,p.pntRight.y):0===u&&(a=new SuperMap.Geometry.Point(p.pntLeft.x,p.pntLeft.y));var c=[];c.push(a),c.push(n.pts);var P;this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,{lineTypeLimit:!0});var S=l*(.5+.5*o),h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e);if(h.bfind){var y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[h.index],h.pts);1===u?P=new SuperMap.Geometry.Point(y.pntRight.x,y.pntRight.y):0===u&&(P=new SuperMap.Geometry.Point(y.pntLeft.x,y.pntLeft.y)),this.addArrow(e,this.scaleValues[this.scaleValues.length-1]),this.addScalePoint(P,0);var f=[];f.push(P),f.push(h.pts);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f,{lineTypeLimit:!0}),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=i*(.5+.5*this.scaleValues[1]),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,o);if(!a.bfind)return;var r,s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[a.index],a.pts),p=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[a.index],o[a.index+1],e);this.scaleValues[2]=p?0:1,r=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,new SuperMap.Geometry.Point(s.pntLeft.x,s.pntLeft.y),new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y));var u=SuperMap.Plot.PlottingUtil.distance(r.projectPoint,new SuperMap.Geometry.Point(a.pts.x,a.pts.y));this.scaleValues[0]=u/i}}}]),e}();SuperMap.Plot.AlgoSymbol21401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),!(this.controlPoints<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.02));[].push(e[e.length-1]),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());for(var l=SuperMap.Plot.PlottingUtil.polylineDistance(e)*this.scaleValues[0],o=t[t.length-1],i=SuperMap.Plot.PlottingUtil.distance(o,e[e.length-1]);i<1.5*l;)e.pop(),i=SuperMap.Plot.PlottingUtil.distance(o,e[e.length-1]);e.push(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var n=e[e.length-2],a=180*SuperMap.Plot.PlottingUtil.radian(o,n)/Math.PI,r=SuperMap.Plot.PlottingUtil.circlePoint(o,l,l,a+22.5),s=SuperMap.Plot.PlottingUtil.circlePoint(o,l,l,a-22.5),p=[];p.push(r),p.push(o),p.push(s);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,p,{surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0,fill:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol21400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol20301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length!==this.minEditPts&&(this.scaleValues=[],this.scaleValues.push(.2),this.scaleValues.push(0)),this.components=[],this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,this.controlPoints);var e,l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,a=new SuperMap.Geometry.Point((o.x+i.x)/2,(o.y+i.y)/2),r=this.scaleValues[0]*l;e=0==this.scaleValues[1]?SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,n+90):SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,n+270);var s={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[a,e]);var p=.02*SuperMap.Plot.PlottingUtil.distance(t[0],t[t.length-1]),u=new SuperMap.Geometry.Point((o.x+a.x)/2,(o.y+a.y)/2),c=[u,new SuperMap.Geometry.Point(u.x,u.y+p)];this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,s,!0);var P=new SuperMap.Geometry.Point((i.x+a.x)/2,(i.y+a.y)/2);c=[P,new SuperMap.Geometry.Point(P.x,P.y+p)],this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,s,!0);var S=new SuperMap.Geometry.Point(e.x,e.y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=new SuperMap.Geometry.Point(l[0].x,l[0].y),i=new SuperMap.Geometry.Point(l[1].x,l[1].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);if(0===n)return;var a=new SuperMap.Geometry.Point((o.x+i.x)/2,(o.y+i.y)/2);if(0===t){var r=SuperMap.Plot.PlottingUtil.distance(e,a)/n;this.scaleValues[0]=r,SuperMap.Plot.PlottingUtil.pointIsRightToLine(o,i,e)?this.scaleValues[1]=1:this.scaleValues[1]=0}}}}]),e}();SuperMap.Plot.AlgoSymbol20301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol20300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){1!==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1)),this.components=[],this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,this.controlPoints);var e=this.scaleValues[0],l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=l*e,i=.01*l;o<2*i&&(i=.5*o);for(var n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},a=0,r=o;r<l-i;r+=o){var s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(r,t);if(s.bfind){var p=s.pts,u=[];u.push(p);var c=SuperMap.Plot.PlottingUtil.circlePoint(p,i,i,90);if(u.push(c),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,u,n),0===a){var P=new SuperMap.Geometry.Point(p.x,p.y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}a++}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;for(var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=-1,n=0,a=new SuperMap.Geometry.Point(0,0),r=0;r<l.length-1;r++){var s,p=[];p.push(l[r]),p.push(l[r+1]);var u=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l[r],l[r+1]);if(u.isOnline&&(s=u.projectPoint),!u.isOnline&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(e,l[r],l[r+1])&&(s=e),void 0===s)return;if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(s,p).isOnPolyLine){var c=SuperMap.Plot.PlottingUtil.distance(e,s);-1===i?(i=r,a=s,n=c):n>c&&(i=r,a=s,n=c)}}if(-1===i||i>l.length-1)return;for(var P=0,S=0;S<i;S++){var h=new SuperMap.Geometry.Point(l[S].x,l[S].y),y=new SuperMap.Geometry.Point(l[S+1].x,l[S+1].y);P+=SuperMap.Plot.PlottingUtil.distance(h,y)}var f=new SuperMap.Geometry.Point(l[i].x,l[i].y);if((P+=SuperMap.Plot.PlottingUtil.distance(f,a))<0||P>o)return;var g=P/o;g>.95?g=.95:g<.1&&(g=.1),this.scaleValues[0]=g}}}]),e}();SuperMap.Plot.AlgoSymbol20300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17806=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17804),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var e,l,o,i,n,a=this.scaleValues[0],r=this.scaleValues[1],s=this.scaleValues[2],p=0,u=0;if(t.length==this.minEditPts){this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y);var c=SuperMap.Plot.PlottingUtil.distance(l,o);p=2*c,e=new SuperMap.Geometry.Point(l.x+p*a,l.y+p*r);var P=2*c*s/.28/2;u=P,i=SuperMap.Plot.PlottingUtil.circlePoint(e,P,P,0),(n=[]).push(e.clone()),n.push(i.clone()),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,n)}else{this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),p=SuperMap.Plot.PlottingUtil.distance(l,o)+SuperMap.Plot.PlottingUtil.distance(l,i),e=new SuperMap.Geometry.Point(l.x+p*a,l.y+p*r);var S=p*s/.21/2,h=p*s/.38/2;u=S;var y=SuperMap.Plot.PlottingUtil.circlePoint(e,S,S,0),f=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,90);(n=[]).push(e.clone()),n.push(y.clone()),n.push(f.clone()),this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,n)}this.scalePoints=[];var g=new SuperMap.Geometry.Point(e.x+.1*p,e.y);g.isScalePoint=!0,g.tag=0,this.scalePoints.push(g);var M=SuperMap.Plot.PlottingUtil.circlePoint(e,u,u,90);M.isScalePoint=!0,M.tag=1,this.scalePoints.push(M),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,a=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),r=(a=SuperMap.Plot.PlottingUtil.clearSamePts(a))[0].clone(),s=0;if(0==(s=2==a.length?2*SuperMap.Plot.PlottingUtil.distance(a[0],a[1]):SuperMap.Plot.PlottingUtil.distance(a[0],a[1])+SuperMap.Plot.PlottingUtil.distance(a[0],a[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*s-r.x)/s,this.scaleValues[0]=l,o=(e.y-r.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(r.x+s*l,r.y+s*o);n=SuperMap.Plot.PlottingUtil.distance(p,e),i=.1,i=2===a.length?.56*n/s:.42*n/s,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17806=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17805=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17804),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1)),t.length==this.minEditPts?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=t.length==this.minEditPts?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=3*(l*n),s=new SuperMap.Geometry.Point(-.5*r,.3*r),p=new SuperMap.Geometry.Point(-.5*r,-.3*r),u=new SuperMap.Geometry.Point(.5*r,-.3*r),c=new SuperMap.Geometry.Point(.5*r,.3*r),P=SuperMap.Plot.PlottingUtil.coordinateTrans(a,s,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(a,p,0),h=SuperMap.Plot.PlottingUtil.coordinateTrans(a,u,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(a,c,0),f=[];f.push(P.clone()),f.push(S.clone()),f.push(h.clone()),f.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f);var g=new SuperMap.Geometry.Point(-.3*r,.3*r),M=new SuperMap.Geometry.Point(-.3*r,.5*r),b=SuperMap.Plot.PlottingUtil.coordinateTrans(a,g,0),m=SuperMap.Plot.PlottingUtil.coordinateTrans(a,M,0);(f=[]).push(b.clone()),f.push(m.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var d=new SuperMap.Geometry.Point(-.3*r,-.3*r),v=new SuperMap.Geometry.Point(-.3*r,-.5*r),O=SuperMap.Plot.PlottingUtil.coordinateTrans(a,d,0),U=SuperMap.Plot.PlottingUtil.coordinateTrans(a,v,0);(f=[]).push(O.clone()),f.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var w=new SuperMap.Geometry.Point(.3*r,.3*r),L=new SuperMap.Geometry.Point(.3*r,.5*r),V=SuperMap.Plot.PlottingUtil.coordinateTrans(a,w,0),_=SuperMap.Plot.PlottingUtil.coordinateTrans(a,L,0);(f=[]).push(V.clone()),f.push(_.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var T=new SuperMap.Geometry.Point(.3*r,-.3*r),A=new SuperMap.Geometry.Point(.3*r,-.5*r),E=SuperMap.Plot.PlottingUtil.coordinateTrans(a,T,0),x=SuperMap.Plot.PlottingUtil.coordinateTrans(a,A,0);(f=[]).push(E.clone()),f.push(x.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.scalePoints=[];var Y=new SuperMap.Geometry.Point(a.x+.1*r,a.y);Y.isScalePoint=!0,Y.tag=0,this.scalePoints.push(Y);var j=SuperMap.Plot.PlottingUtil.circlePoint(a,.5*r,.5*r,90);j.isScalePoint=!0,j.tag=1,this.scalePoints.push(j),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17805=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1)),t.length==this.minEditPts?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=t.length==this.minEditPts?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=l*n,s=3*r,p=new SuperMap.Geometry.Point(-.5*s,.5*r),u=new SuperMap.Geometry.Point(.5*s,.5*r),c=SuperMap.Plot.PlottingUtil.coordinateTrans(a,p,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(a,u,0),S=[];S.push(c.clone()),S.push(P.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=new SuperMap.Geometry.Point(-.5*s,-.5*r),y=new SuperMap.Geometry.Point(.5*s,-.5*r),f=SuperMap.Plot.PlottingUtil.coordinateTrans(a,h,0),g=SuperMap.Plot.PlottingUtil.coordinateTrans(a,y,0);(S=[]).push(f.clone()),S.push(g.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var M=new SuperMap.Geometry.Point(-.1*s,.5*r),b=new SuperMap.Geometry.Point(-.15*s,-.5*r),m=SuperMap.Plot.PlottingUtil.coordinateTrans(a,M,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(a,b,0);(S=[]).push(m.clone()),S.push(d.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var v=new SuperMap.Geometry.Point(.15*s,.5*r),O=new SuperMap.Geometry.Point(.1*s,-.5*r),U=SuperMap.Plot.PlottingUtil.coordinateTrans(a,v,0),w=SuperMap.Plot.PlottingUtil.coordinateTrans(a,O,0);(S=[]).push(U.clone()),S.push(w.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.scalePoints=[];var L=new SuperMap.Geometry.Point(a.x+.1*s,a.y);L.isScalePoint=!0,L.tag=0,this.scalePoints.push(L);var V=SuperMap.Plot.PlottingUtil.circlePoint(a,.5*s,.5*s,90);V.isScalePoint=!0,V.tag=1,this.scalePoints.push(V),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,a=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),r=(a=SuperMap.Plot.PlottingUtil.clearSamePts(a))[0].clone(),s=0;if(0==(s=2==a.length?2*SuperMap.Plot.PlottingUtil.distance(a[0],a[1]):SuperMap.Plot.PlottingUtil.distance(a[0],a[1])+SuperMap.Plot.PlottingUtil.distance(a[0],a[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*n-r.x)/s,this.scaleValues[0]=l,o=(e.y-r.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(r.x+s*l,r.y+s*o);i=2*(n=SuperMap.Plot.PlottingUtil.distance(p,e))/s/3,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17804=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17803=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.2)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.2)),2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=2==t.length?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],a=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),r=l*n,s=new SuperMap.Geometry.Point(-.5*r,.25*r),p=new SuperMap.Geometry.Point(-.4*r,.125*r),u=new SuperMap.Geometry.Point(.4*r,.125*r),c=new SuperMap.Geometry.Point(.5*r,.25*r),P=SuperMap.Plot.PlottingUtil.coordinateTrans(a,s,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(a,p,0),h=SuperMap.Plot.PlottingUtil.coordinateTrans(a,u,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(a,c,0),f=[];f.push(P.clone()),f.push(S.clone()),f.push(h.clone()),f.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=new SuperMap.Geometry.Point(-.5*r,-.25*r),M=new SuperMap.Geometry.Point(-.4*r,-.125*r),b=new SuperMap.Geometry.Point(.4*r,-.125*r),m=new SuperMap.Geometry.Point(.5*r,-.25*r),d=SuperMap.Plot.PlottingUtil.coordinateTrans(a,g,0),v=SuperMap.Plot.PlottingUtil.coordinateTrans(a,M,0),O=SuperMap.Plot.PlottingUtil.coordinateTrans(a,b,0),U=SuperMap.Plot.PlottingUtil.coordinateTrans(a,m,0);(f=[]).push(d.clone()),f.push(v.clone()),f.push(O.clone()),f.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.scalePoints=[];var w=new SuperMap.Geometry.Point(a.x+.1*r,a.y);w.isScalePoint=!0,w.tag=0,this.scalePoints.push(w);var L=SuperMap.Plot.PlottingUtil.circlePoint(a,.25*r,.25*r,90);L.isScalePoint=!0,L.tag=1,this.scalePoints.push(L),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,a=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),r=(a=SuperMap.Plot.PlottingUtil.clearSamePts(a))[0].clone(),s=0;if(0==(s=2==a.length?2*SuperMap.Plot.PlottingUtil.distance(a[0],a[1]):SuperMap.Plot.PlottingUtil.distance(a[0],a[1])+SuperMap.Plot.PlottingUtil.distance(a[0],a[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*n-r.x)/s,this.scaleValues[0]=l,o=(e.y-r.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(r.x+s*l,r.y+s*o);i=4*(n=SuperMap.Plot.PlottingUtil.distance(p,e))/s,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=[],a=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),r=SuperMap.Plot.PlottingUtil.circlePoint(e,.08*i,.08*i,o+90),s=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),p=SuperMap.Plot.PlottingUtil.circlePoint(e,.08*i,.08*i,o+270);n.push(a.clone()),n.push(r.clone()),n.push(s.clone()),n.push(p.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),c=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180);(n=[]).push(u.clone()),n.push(c.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),S=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(n=[]).push(P.clone()),n.push(S.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var h=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),y=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(n=[]).push(h.clone()),n.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var f=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),g=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(n=[]).push(f.clone()),n.push(g.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=[],a=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,0);n.push(t[0].clone()),n.push(a.clone()),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,n);var r=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),s=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180);(n=[]).push(r.clone()),n.push(s.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var p=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),u=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(n=[]).push(p.clone()),n.push(u.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var c=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),P=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(n=[]).push(c.clone()),n.push(P.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var S=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),h=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(n=[]).push(S.clone()),n.push(h.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),a=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180),r=[];r.push(n.clone()),r.push(a.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var s=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,o+180),p=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(r=[]).push(s.clone()),r.push(p.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,o),c=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(r=[]).push(u.clone()),r.push(c.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),S=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(r=[]).push(P.clone()),r.push(S.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol17704=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="急",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17703),e}();SuperMap.Plot.AlgoSymbol17704=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17703=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="加",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.isEdit||(this.scaleValues=[]);var o=[];if(this.scalePoints=[],t.length<3)o.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),o.push(new SuperMap.Geometry.Point(t[1].x,t[1].y));else{var i=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=i.scaleValues;for(var n=0;n<i.scalePoints.length;n++)this.addScalePoint(i.scalePoints[n]);o=i.beizerPoints}if(!(o.length<2)){var a=e/2;if(-1!==SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,a).index){var r,s;if(r=2==t.length?0:t.length-1,this.isEdit)s=this.scaleValues[4*r]*e,isNaN(s)&&(s=Math.abs(this.scaleValues[4*r-1]*e));else{var p=.5*this.getSubSymbolScaleValue();s=p*e,this.scaleValues.push(p)}var u=a-s,c=a+s,P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,u);if(-1!==P.index){var S=P.pt;this.addScalePoint(new SuperMap.Geometry.Point(S.x,S.y));var h=[];if(0==P.index)h.push(o[0]);else for(var y=0;y<P.index;y++)h.push(o[y]);h.push(S);var f=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,c);if(-1!==f.index){var g=f.pt,M=[];M.push(g);for(var b=f.index+1;b<o.length;b++)M.push(o[b]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var m=h[h.length-1],d=M[0],v=180*SuperMap.Plot.PlottingUtil.radian(m,d)/Math.PI,O=SuperMap.Plot.PlottingUtil.distance(m,d),U=new SuperMap.Geometry.Point((m.x+d.x)/2,(m.y+d.y)/2),w=this.subText;this.addText(w,U,O,v),this.finish()}}}}}}},{key:"computeBeizer",value:function(t,e){var l,o,i,n=[];if(this.scalePoints=[],this.isEdit){(i=[]).push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),i.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),l=this.scaleValues[0],o=this.scaleValues[1];var a=t[0].x+e*l,r=t[0].y+e*o;i.push(new SuperMap.Geometry.Point(a,r)),this.addScalePoint(new SuperMap.Geometry.Point(a,r));for(var s=1;s<t.length-1;s++)i.push(new SuperMap.Geometry.Point(t[s].x,t[s].y)),l=this.scaleValues[4*s-2],o=this.scaleValues[4*s-1],a=t[s].x+e*l,r=t[s].y+e*o,i.push(new SuperMap.Geometry.Point(a,r)),this.addScalePoint(new SuperMap.Geometry.Point(a,r)),l=this.scaleValues[4*s],o=this.scaleValues[4*s+1],a=t[s].x+e*l,r=t[s].y+e*o,i.push(new SuperMap.Geometry.Point(a,r)),this.addScalePoint(new SuperMap.Geometry.Point(a,r));var p=t.length-1;i.push(new SuperMap.Geometry.Point(t[p].x,t[p].y)),l=this.scaleValues[4*p-2],o=this.scaleValues[4*p-1],a=t[p].x+e*l,r=t[p].y+e*o,i.push(new SuperMap.Geometry.Point(a,r)),this.addScalePoint(new SuperMap.Geometry.Point(a,r)),i.push(new SuperMap.Geometry.Point(t[p].x,t[p].y)),n=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(i)}else{if(this.scaleValues=[],i=[],(i=SuperMap.Plot.PlottingUtil.getBeizerCtrlPt(t)).length<3)return n;var u=i[2].x-i[0].x,c=i[2].y-i[0].y;l=u/e,o=c/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[2].x,i[2].y));for(var P=1;P<t.length-1;P++){l=(u=i[3*P+1].x-i[3*P].x)/e,o=(c=i[3*P+1].y-i[3*P].y)/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[3*P+1].x,i[3*P+1].y));var S=(i[3*P+2].x-i[3*P].x)/e,h=(i[3*P+2].y-i[3*P].y)/e;this.scaleValues.push(S),this.scaleValues.push(h),this.addScalePoint(new SuperMap.Geometry.Point(i[3*P+2].x,i[3*P+2].y))}l=(u=i[3*(t.length-1)+1].x-i[3*(t.length-1)].x)/e,o=(c=i[3*(t.length-1)+1].y-i[3*(t.length-1)].y)/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[3*(t.length-1)+1].x,i[3*(t.length-1)+1].y)),n=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(i)}return n}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),t<0||t>2*l.length-2)return;for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(2*(l.length-1)==t||2==l.length){for(var n=this.computeBeizer(l,o),a=0,r=0;r<n.length-1;r++)a+=SuperMap.Plot.PlottingUtil.distance(n[r],n[r+1]);var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,a/2);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.distance(e,s.pt)/o;p>.45&&(p=.45),2==l.length?this.scaleValues[0]=p:this.scaleValues[2*t]=p}else{var u=-1;u=t%2==0?t/2:(t+1)/2;var c=(e.x-l[u].x)/o,P=(e.y-l[u].y)/o;this.scaleValues[2*t]=c,this.scaleValues[2*t+1]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol17703=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);0===this.scaleValues.length&&this.scaleValues.push(.02),this.isEdit||(this.scaleValues[0]=.2*this.getSubSymbolScaleValue());var l=e*this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.paraLine(o,l,!0),n=SuperMap.Plot.PlottingUtil.paraLine(o,l,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);for(var a={surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0},r=this.getDashLinePts(n,5*l),s=0;s<r.length;s++){var p=r[s];this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,a)}this.finish()}}},{key:"getDashLinePts",value:function(t,e){var l=[],o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(e>o)return l;for(var i=SuperMap.Plot.PlottingUtil.clonePoints(t),n=2*parseInt(o/(1.5*e)),a=0;a<n;a++){var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,e);if(-1!==r.index){if(0==a%2){for(var s=[],p=0;p<r.index+1;p++)s.push(i[p].clone());s.push(r.pt),l.push(s)}var u=[];u.push(r.pt);for(var c=r.index+1;c<i.length;c++)u.push(i[c]);i=(i=[]).concat(u)}}return i.length>0&&l.push(i),l}}]),e}();SuperMap.Plot.AlgoSymbol17700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o,i,n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},a=this.scaleValues[0]*e;o=SuperMap.Plot.PlottingUtil.paraLine(t,a,!0),i=SuperMap.Plot.PlottingUtil.paraLine(t,a,!1);var r=new SuperMap.Geometry.Point(o[0].x,o[0].y);r.isScalePoint=!0,r.tag=0,this.scalePoints.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);var s=new SuperMap.Geometry.Point(t[0].x,t[0].y),p=new SuperMap.Geometry.Point(t[1].x,t[1].y),u=180*SuperMap.Plot.PlottingUtil.radian(s,p)/Math.PI,c=new SuperMap.Geometry.Point(.3*e,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(s,c,u),S=new SuperMap.Geometry.Point(0,.7*a),h=SuperMap.Plot.PlottingUtil.coordinateTrans(P,S,u),y=[];y.push(new SuperMap.Geometry.Point(P.x,P.y)),y.push(new SuperMap.Geometry.Point(h.x,h.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,y,n);var f=new SuperMap.Geometry.Point(.7*a,.7*a),g=new SuperMap.Geometry.Point(-.7*a,.7*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(P,f,u),b=SuperMap.Plot.PlottingUtil.coordinateTrans(P,g,u);(y=[]).push(new SuperMap.Geometry.Point(M.x,M.y)),y.push(new SuperMap.Geometry.Point(b.x,b.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var m=new SuperMap.Geometry.Point(.7*e,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(s,m,u),v=new SuperMap.Geometry.Point(.7*a,.7*a),O=new SuperMap.Geometry.Point(.7*a,-.7*a),U=new SuperMap.Geometry.Point(-.7*a,-.7*a),w=new SuperMap.Geometry.Point(-.7*a,.7*a),L=SuperMap.Plot.PlottingUtil.coordinateTrans(d,v,u),V=SuperMap.Plot.PlottingUtil.coordinateTrans(d,O,u),_=SuperMap.Plot.PlottingUtil.coordinateTrans(d,U,u),T=SuperMap.Plot.PlottingUtil.coordinateTrans(d,w,u);(y=[]).push(new SuperMap.Geometry.Point(L.x,L.y)),y.push(new SuperMap.Geometry.Point(V.x,V.y)),y.push(new SuperMap.Geometry.Point(_.x,_.y)),y.push(new SuperMap.Geometry.Point(T.x,T.y)),y.push(new SuperMap.Geometry.Point(L.x,L.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var A=new SuperMap.Geometry.Point(.3*a,.3*a),E=new SuperMap.Geometry.Point(.3*a,-.3*a),x=new SuperMap.Geometry.Point(-.3*a,-.3*a),Y=new SuperMap.Geometry.Point(-.3*a,.3*a),j=SuperMap.Plot.PlottingUtil.coordinateTrans(d,A,u),C=SuperMap.Plot.PlottingUtil.coordinateTrans(d,E,u),I=SuperMap.Plot.PlottingUtil.coordinateTrans(d,x,u),G=SuperMap.Plot.PlottingUtil.coordinateTrans(d,Y,u);(y=[]).push(new SuperMap.Geometry.Point(j.x,j.y)),y.push(new SuperMap.Geometry.Point(C.x,C.y)),y.push(new SuperMap.Geometry.Point(I.x,I.y)),y.push(new SuperMap.Geometry.Point(G.x,G.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,y,n),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=l[0],a=l[1],r=SuperMap.Plot.PlottingUtil.projectPoint(e,n,a),s=SuperMap.Plot.PlottingUtil.distance(e,r);this.scaleValues[0]=s/o}}}}]),e}();SuperMap.Plot.AlgoSymbol17600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17501=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=e[0].x,o=e[0].x,i=e[0].y,n=e[0].y,a=0;a<e.length;a++)l>e[a].x&&(l=e[a].x),o<e[a].x&&(o=e[a].x),i>e[a].y&&(i=e[a].y),n<e[a].y&&(n=e[a].y);var r=new SuperMap.Geometry.Point((o+l)/2,(n+i)/2),s=.33*(o-l),p=.1*(n-i),u=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,0),c=SuperMap.Plot.PlottingUtil.circlePoint(r,s,s,180),P=[];P.push(new SuperMap.Geometry.Point(u.x,u.y)),P.push(new SuperMap.Geometry.Point(c.x,c.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=new SuperMap.Geometry.Point(r.x-3*s/7,r.y+p),h=SuperMap.Plot.PlottingUtil.circlePoint(S,p,p,60),y=SuperMap.Plot.PlottingUtil.circlePoint(S,p,p,120);(P=[]).push(new SuperMap.Geometry.Point(h.x,h.y)),P.push(new SuperMap.Geometry.Point(S.x,S.y)),P.push(new SuperMap.Geometry.Point(y.x,y.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var f=new SuperMap.Geometry.Point(r.x+3*s/7,r.y+p),g=SuperMap.Plot.PlottingUtil.circlePoint(f,p,p,60),M=SuperMap.Plot.PlottingUtil.circlePoint(f,p,p,120);(P=[]).push(new SuperMap.Geometry.Point(g.x,g.y)),P.push(new SuperMap.Geometry.Point(f.x,f.y)),P.push(new SuperMap.Geometry.Point(M.x,M.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17500=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=e[0].x,o=e[0].x,i=e[0].y,n=e[0].y,a=0;a<e.length;a++)l>e[a].x&&(l=e[a].x),o<e[a].x&&(o=e[a].x),i>e[a].y&&(i=e[a].y),n<e[a].y&&(n=e[a].y);var r={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},s=new SuperMap.Geometry.Point((o+l)/2,(n+i)/2),p=o-l,u=n-i,c=.1*p,P=.1*u,S=new SuperMap.Geometry.Point(s.x,s.y+P),h=new SuperMap.Geometry.Point(s.x-c,s.y-P),y=new SuperMap.Geometry.Point(s.x+c,s.y-P);c=.03*p,P=.03*u;var f=new SuperMap.Geometry.Point(S.x,S.y+P),g=new SuperMap.Geometry.Point(S.x-c,S.y-P),M=new SuperMap.Geometry.Point(S.x+c,S.y-P),b=[];b.push(new SuperMap.Geometry.Point(f.x,f.y)),b.push(new SuperMap.Geometry.Point(g.x,g.y)),b.push(new SuperMap.Geometry.Point(M.x,M.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,r);var m=new SuperMap.Geometry.Point(h.x,h.y+P),d=new SuperMap.Geometry.Point(h.x-c,h.y-P),v=new SuperMap.Geometry.Point(h.x+c,h.y-P),O=[];O.push(new SuperMap.Geometry.Point(m.x,m.y)),O.push(new SuperMap.Geometry.Point(d.x,d.y)),O.push(new SuperMap.Geometry.Point(v.x,v.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,O,r);var U=new SuperMap.Geometry.Point(y.x,y.y+P),w=new SuperMap.Geometry.Point(y.x-c,y.y-P),L=new SuperMap.Geometry.Point(y.x+c,y.y-P),V=[];V.push(new SuperMap.Geometry.Point(U.x,U.y)),V.push(new SuperMap.Geometry.Point(w.x,w.y)),V.push(new SuperMap.Geometry.Point(L.x,L.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,V,r),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17401=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=e[0].x,o=e[0].x,i=e[0].y,n=e[0].y,a=[],r=0;r<e.length;r++)l>e[r].x&&(l=e[r].x),o<e[r].x&&(o=e[r].x),i>e[r].y&&(i=e[r].y),n<e[r].y&&(n=e[r].y),a.push(e[r]);for(var s=(o-l)/5,p=.15*s,u=[],c=0;c<360;c+=18){var P=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(0,0),p,p,c);u.push(P)}for(var S=0,h=l;h<o;h+=s)for(var y=i;y<n;y+=s){var f=new SuperMap.Geometry.Point(h,y);if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(a,f))if(0===S){S++;for(var g=[],M=0;M<u.length;M++){var b=new SuperMap.Geometry.Point(f.x+u[M].x,f.y+u[M].y);g.push(b)}g.push(g[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,g,{fillColorLimit:!0,fillColor:"#ffff00",surroundLineFlag:!1,fillLimit:!0,fillOpacity:1});var m=[];m.push(g[10]),m.push(new SuperMap.Geometry.Point(g[10].x-.5*p,g[10].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var d=[];d.push(g[0]),d.push(new SuperMap.Geometry.Point(g[0].x+.5*p,g[10].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d)}else 1===S?(S++,null!=this.subSymbols[0]&&this.computeSubSymbol(this.subSymbols[0],f,2*p,0)):(S=0,null!=this.subSymbols[1]&&this.computeSubSymbol(this.subSymbols[1],f,3*p,0))}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17400=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=e[0].x,i=e[0].x,n=e[0].y,a=e[0].y,r=[],s=0;s<e.length;s++)o>e[s].x&&(o=e[s].x),i<e[s].x&&(i=e[s].x),n>e[s].y&&(n=e[s].y),a<e[s].y&&(a=e[s].y),r.push(e[s]);for(var p=(i-o)/5,u=.2*p,c=[],P=0;P<360;P+=18){var S=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(0,0),u,u,P);c.push(S)}for(var h=0,y=o;y<i;y+=p)for(var f=n;f<a;f+=p){var g,M=new SuperMap.Geometry.Point(y,f);if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(r,M))0===h?(h=0,this.subSymbols.length>0&&(g=.015*l,this.computeSubSymbol(this.subSymbols[0],M,g,0)),h++):(h=0,this.subSymbols.length>0&&(g=.022*l,this.computeSubSymbol(this.subSymbols[1],M,g,0)))}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o,i,n=this.scaleValues[0]*e,a=t[0],r=t[1],s=180*SuperMap.Plot.PlottingUtil.radian(a,r)/Math.PI;o=SuperMap.Plot.PlottingUtil.paraLine(t,n,!0),i=SuperMap.Plot.PlottingUtil.paraLine(t,n,!1);var p=.15*e,u=SuperMap.Plot.PlottingUtil.circlePoint(o[0],p,p,s+165),c=SuperMap.Plot.PlottingUtil.circlePoint(i[0],p,p,s-165),P=SuperMap.Plot.PlottingUtil.circlePoint(o[o.length-1],p,p,s+15),S=SuperMap.Plot.PlottingUtil.circlePoint(i[i.length-1],p,p,s-15),h=SuperMap.Plot.PlottingUtil.linePnt(o[0],o[o.length-1],3*e/11),y=SuperMap.Plot.PlottingUtil.linePnt(o[0],o[o.length-1],4*e/11),f=SuperMap.Plot.PlottingUtil.linePnt(o[0],o[o.length-1],7*e/11),g=SuperMap.Plot.PlottingUtil.linePnt(o[0],o[o.length-1],8*e/11),M=[];M.push(u),M.push(o[0]),M.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),(M=[]).push(y),M.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),(M=[]).push(g),M.push(o[o.length-1]),M.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var b=SuperMap.Plot.PlottingUtil.linePnt(i[0],i[i.length-1],3*e/11),m=SuperMap.Plot.PlottingUtil.linePnt(i[0],i[i.length-1],4*e/11),d=SuperMap.Plot.PlottingUtil.linePnt(i[0],i[i.length-1],7*e/11),v=SuperMap.Plot.PlottingUtil.linePnt(i[0],i[i.length-1],8*e/11),O=[];if(O.push(c),O.push(i[0]),O.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),(O=[]).push(m),O.push(d),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),(O=[]).push(v),O.push(i[i.length-1]),O.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),90<s&&s<270){var U=a;a=r,r=U,s=180*SuperMap.Plot.PlottingUtil.radian(a,r)/Math.PI}var w=new SuperMap.Geometry.Point(.25*e,n+.2*e),L=new SuperMap.Geometry.Point(.35*e,n+.2*e+.1*e),V=new SuperMap.Geometry.Point(.35*e,n+.2*e-.1*e),_=SuperMap.Plot.PlottingUtil.coordinateTrans(a,w,s),T=SuperMap.Plot.PlottingUtil.coordinateTrans(a,L,s),A=SuperMap.Plot.PlottingUtil.coordinateTrans(a,V,s),E=[];E.push(new SuperMap.Geometry.Point(T.x,T.y)),E.push(new SuperMap.Geometry.Point(_.x,_.y)),E.push(new SuperMap.Geometry.Point(A.x,A.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E);var x=new SuperMap.Geometry.Point(.35*e,n+.2*e),Y=new SuperMap.Geometry.Point(.4*e,n+.2*e+.05*e),j=new SuperMap.Geometry.Point(.4*e,n+.2*e-.05*e),C=SuperMap.Plot.PlottingUtil.coordinateTrans(a,x,s),I=SuperMap.Plot.PlottingUtil.coordinateTrans(a,Y,s),G=SuperMap.Plot.PlottingUtil.coordinateTrans(a,j,s);(E=[]).push(new SuperMap.Geometry.Point(I.x,I.y)),E.push(new SuperMap.Geometry.Point(C.x,C.y)),E.push(new SuperMap.Geometry.Point(G.x,G.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E);var B=new SuperMap.Geometry.Point(.7*e,n+.2*e),R=new SuperMap.Geometry.Point(.8*e,n+.2*e+.1*e),N=new SuperMap.Geometry.Point(.8*e,n+.2*e-.1*e),D=SuperMap.Plot.PlottingUtil.coordinateTrans(a,B,s),k=SuperMap.Plot.PlottingUtil.coordinateTrans(a,R,s),z=SuperMap.Plot.PlottingUtil.coordinateTrans(a,N,s);(E=[]).push(new SuperMap.Geometry.Point(k.x,k.y)),E.push(new SuperMap.Geometry.Point(D.x,D.y)),E.push(new SuperMap.Geometry.Point(z.x,z.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E);var F=new SuperMap.Geometry.Point(.8*e,n+.2*e),K=new SuperMap.Geometry.Point(.85*e,n+.2*e+.05*e),q=new SuperMap.Geometry.Point(.85*e,n+.2*e-.05*e),W=SuperMap.Plot.PlottingUtil.coordinateTrans(a,F,s),J=SuperMap.Plot.PlottingUtil.coordinateTrans(a,K,s),Z=SuperMap.Plot.PlottingUtil.coordinateTrans(a,q,s);(E=[]).push(new SuperMap.Geometry.Point(J.x,J.y)),E.push(new SuperMap.Geometry.Point(W.x,W.y)),E.push(new SuperMap.Geometry.Point(Z.x,Z.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E);var H=new SuperMap.Geometry.Point(o[0].x,o[0].y);H.isScalePoint=!0,H.tag=0,this.scalePoints.push(H),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=l[0],a=l[1],r=SuperMap.Plot.PlottingUtil.projectPoint(e,n,a),s=SuperMap.Plot.PlottingUtil.distance(e,r);this.scaleValues[0]=s/o}}}}]),e}();SuperMap.Plot.AlgoSymbol16900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=this.scaleValues[1]*e,n=new SuperMap.Geometry.Point(t[0].x,t[0].y),a=new SuperMap.Geometry.Point(t[1].x,t[1].y),r=180*SuperMap.Plot.PlottingUtil.radian(n,a)/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,r+90),p=SuperMap.Plot.PlottingUtil.circlePoint(n,i,i,r+90),u=SuperMap.Plot.PlottingUtil.circlePoint(a,o,o,r+90),c=SuperMap.Plot.PlottingUtil.circlePoint(a,i,i,r+90),P=[];P.push(p),P.push(s),P.push(u),P.push(c),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P)),(P=[]).push(p),P.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P)),(P=[]).push(c),P.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P));var S=new SuperMap.Geometry.Point(s.x,s.y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S);var h=new SuperMap.Geometry.Point(p.x,p.y);h.isScalePoint=!0,h.tag=1,this.scalePoints.push(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(this.isEdit=!0,!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(n<this.scaleValues[1])return;this.scaleValues[0]=n}else if(1==t){var a=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(this.scaleValues[0]<a)return;this.scaleValues[1]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol16700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){if(this.init(),this.controlPoints.length>=this.minEditPts){var t,e=[];if(2===this.controlPoints.length){for(var l=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[1]),o=this.scaleValues[0]*l,i=SuperMap.Plot.PlottingUtil.parallel(this.controlPoints,o/2),n=SuperMap.Plot.PlottingUtil.parallel(this.controlPoints,-o/2),a=180*SuperMap.Plot.PlottingUtil.radian(this.controlPoints[0],this.controlPoints[1])/Math.PI,r=[],s=a+90;s<=a+270;s+=10)t=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],o/2,o/2,s),r.push(t);for(var p=[],u=a-90;u<=a+90;u+=10)t=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[1],o/2,o/2,u),p.push(t);e=(e=(e=(e=e.concat(r)).concat(n)).concat(p)).concat(i)}else this.controlPoints.length<=3?e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,this.controlPoints):this.controlPoints.length>3&&!0===this.polylineConnectLocationPoint?e=this.controlPoints:(this.controlPoints.push(this.controlPoints[0]),e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(this.controlPoints));e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var c=e[0].x,P=e[0].x,S=e[0].y,h=e[0].y;for(s=0;s<e.length;s++)c>e[s].x&&(c=e[s].x),P<e[s].x&&(P=e[s].x),S>e[s].y&&(S=e[s].y),h<e[s].y&&(h=e[s].y);for(var y=new SuperMap.Geometry.Point((P+c)/2,(h+S)/2),f=(P-c)/5,g={surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1},M=!0,b=y.x,m=y.x;M;){M=!1;for(var d,v,O,U=[],w=[],L=new SuperMap.Geometry.Point(b,y.y),V=SuperMap.Plot.PlottingUtil.circlePoint(L,10,10,45),_=SuperMap.Plot.PlottingUtil.circlePoint(L,10,10,135),T=0;T<e.length-1;T++)(v=SuperMap.Plot.PlottingUtil.intersectLines(L,V,e[T],e[T+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(v.intersectPoint,e[T],e[T+1])&&U.push(v.intersectPoint),(O=SuperMap.Plot.PlottingUtil.intersectLines(L,_,e[T],e[T+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(O.intersectPoint,e[T],e[T+1])&&w.push(O.intersectPoint);if(1<U.length){U=this.sortPts2D(U);for(var A=0;A<U.length-1;A++)if(t=new SuperMap.Geometry.Point((U[A].x+U[A+1].x)/2,(U[A].y+U[A+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,t)){var E=[];E.push(U[A]),E.push(U[A+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,E,g,!0)}}if(1<w.length){w=this.sortPts2D(w);for(var x=0;x<w.length-1;x++)t=new SuperMap.Geometry.Point((w[x].x+w[x+1].x)/2,(w[x].y+w[x+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,t)&&((d=[]).push(w[x]),d.push(w[x+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,g,!0))}(U.length>0||w.length>0)&&(M=!0),U=[],w=[];for(var Y=new SuperMap.Geometry.Point(m,y.y),j=SuperMap.Plot.PlottingUtil.circlePoint(Y,5,5,45),C=SuperMap.Plot.PlottingUtil.circlePoint(Y,5,5,135),I=0;I<e.length-1;I++)(v=SuperMap.Plot.PlottingUtil.intersectLines(Y,j,e[I],e[I+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(v.intersectPoint,e[I],e[I+1])&&U.push(v.intersectPoint),(O=SuperMap.Plot.PlottingUtil.intersectLines(Y,C,e[I],e[I+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(O.intersectPoint,e[I],e[I+1])&&w.push(O.intersectPoint);if(1<U.length){U=this.sortPts2D(U);for(var G=0;G<U.length-1;G+=2)t=new SuperMap.Geometry.Point((U[G].x+U[G+1].x)/2,(U[G].y+U[G+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,t)&&((d=[]).push(U[G]),d.push(U[G+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,g,!0))}if(1<w.length){w=this.sortPts2D(w);for(var B=0;B<w.length-1;B++)t=new SuperMap.Geometry.Point((w[B].x+w[B+1].x)/2,(w[B].y+w[B+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,t)&&((d=[]).push(w[B]),d.push(w[B+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,g,!0))}(U.length>0||w.length>0)&&(M=!0),b-=f,m+=f}this.finish()}}},{key:"sortPts2D",value:function(t){for(var e,l=0;l<t.length;l++)for(var o=0;o<t.length-1-l;o++)SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].x,t[o+1].x)?t[o].y>t[o+1].y&&(e=t[o],t[o]=t[o+1],t[o+1]=e):t[o].x>t[o+1].x&&(e=t[o],t[o]=t[o+1],t[o+1]=e);return t}}]),e}();SuperMap.Plot.AlgoSymbol16500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16203=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());for(var o=this.scaleValues[0]*e,i=this.scaleValues[1]*e,n=.01*e,a=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=0,s={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!0,fill:!0,fillColor:"#ff0000",fillOpacity:1},p=n,u=0;p<=a;p+=i,u++){r=p+n;var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,r);if(-1===c.index)return;for(var P=SuperMap.Plot.PlottingUtil.radian(c.pt,l[c.index+1])*SuperMap.Plot.PlottingUtil.RTOD,S=this.getSubSymbolPts(o),h=[],y=0,f=S.length;y<f;y++)h.push(SuperMap.Plot.PlottingUtil.coordinateTrans(c.pt,S[y],P));if(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,s),0===u){var g=new SuperMap.Geometry.Point((h[0].x+h[1].x)/2,(h[0].y+h[1].y)/2);this.addScalePoint(g,0)}else 1===u&&this.addScalePoint(c.pt,1);this.finish()}}}},{key:"getSubSymbolPts",value:function(t){var e=.5*t,l=[];return l.push(new SuperMap.Geometry.Point(.5*e,2*e)),l.push(new SuperMap.Geometry.Point(.5*-e,2*e)),l.push(new SuperMap.Geometry.Point(.5*-e,-2*e)),l.push(new SuperMap.Geometry.Point(.5*e,-2*e)),l}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);i=SuperMap.Plot.PlottingUtil.clearSamePts(i);var n=.01*o;if(0===t){var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,n);if(-1===a.index)return;var r=SuperMap.Plot.PlottingUtil.distance(e,a.pt);this.scaleValues[0]=r/o}else if(1===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,n);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i);if(-1===p.index)return;for(var u=0,c=s.index+1;c<p.index;c++)u+=SuperMap.Plot.PlottingUtil.distance(i[c],i[c+1]);u+=SuperMap.Plot.PlottingUtil.distance(i[p.index],p.pt),u-=n,this.scaleValues[1]=u/o,u>o-o*this.scaleValues[0]-n&&(this.scaleValues[1]=(o-o*this.scaleValues[0]-n)/o)}}}}]),e}();SuperMap.Plot.AlgoSymbol16203=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o,i,n=this.scaleValues[0]*e;o=SuperMap.Plot.PlottingUtil.paraLine(t,n,!0),i=SuperMap.Plot.PlottingUtil.paraLine(t,n,!1);var a=new SuperMap.Geometry.Point(o[0].x,o[0].y);a.isScalePoint=!0,a.tag=0,this.scalePoints.push(a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);var r=new SuperMap.Geometry.Point(t[0].x,t[0].y),s=new SuperMap.Geometry.Point(t[1].x,t[1].y),p=180*SuperMap.Plot.PlottingUtil.radian(r,s)/Math.PI,u=new SuperMap.Geometry.Point(.3*e,0),c=SuperMap.Plot.PlottingUtil.coordinateTrans(r,u,p),P=new SuperMap.Geometry.Point(0,.4*n),S=new SuperMap.Geometry.Point(0,.2*n),h=SuperMap.Plot.PlottingUtil.coordinateTrans(c,P,p),y=SuperMap.Plot.PlottingUtil.coordinateTrans(c,S,p),f=[];f.push(h),f.push(y),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f);var g=new SuperMap.Geometry.Point(0,.2*n),M=new SuperMap.Geometry.Point(0,-.4*n),b=SuperMap.Plot.PlottingUtil.coordinateTrans(c,g,p),m=SuperMap.Plot.PlottingUtil.coordinateTrans(c,M,p);(f=[]).push(b),f.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var d=new SuperMap.Geometry.Point(.2*n,-.2*n),v=new SuperMap.Geometry.Point(-.2*n,-.6*n),O=SuperMap.Plot.PlottingUtil.coordinateTrans(c,d,p),U=SuperMap.Plot.PlottingUtil.coordinateTrans(c,v,p);(f=[]).push(O),f.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var w=new SuperMap.Geometry.Point(-.2*n,-.2*n),L=new SuperMap.Geometry.Point(.2*n,-.6*n),V=SuperMap.Plot.PlottingUtil.coordinateTrans(c,w,p),_=SuperMap.Plot.PlottingUtil.coordinateTrans(c,L,p);(f=[]).push(V),f.push(_),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var T=new SuperMap.Geometry.Point(.7*e,0),A=SuperMap.Plot.PlottingUtil.coordinateTrans(r,T,p),E=SuperMap.Plot.PlottingUtil.coordinateTrans(A,P,p),x=SuperMap.Plot.PlottingUtil.coordinateTrans(A,S,p);(f=[]).push(E),f.push(x),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f);var Y=SuperMap.Plot.PlottingUtil.coordinateTrans(A,g,p),j=SuperMap.Plot.PlottingUtil.coordinateTrans(A,M,p);(f=[]).push(Y),f.push(j),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var C=SuperMap.Plot.PlottingUtil.coordinateTrans(A,d,p),I=SuperMap.Plot.PlottingUtil.coordinateTrans(A,v,p);(f=[]).push(C),f.push(I),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var G=SuperMap.Plot.PlottingUtil.coordinateTrans(A,w,p),B=SuperMap.Plot.PlottingUtil.coordinateTrans(A,L,p);(f=[]).push(G),f.push(B),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;this.scaleValues[0]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol16202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues.push(.02),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(.01)):3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.paraLine(l,.5*o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(l,.5*o,!1);i=SuperMap.Plot.PlottingUtil.clearSamePts(i),n=SuperMap.Plot.PlottingUtil.clearSamePts(n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);for(var a=e*this.scaleValues[1],r=e*this.scaleValues[3],s=0,p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=r,c=0;u<=p-r;u+=a,c++){s=u+r;var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,s);if(-1!==P.index){var S=new SuperMap.Geometry.Point(P.pt.x,P.pt.y+.5*o),h=[];h.push(P.pt),h.push(S),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,h),0===c?this.addScalePoint(S):1===c&&this.addScalePoint(P.pt)}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,a=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(a=SuperMap.Plot.PlottingUtil.clearSamePts(a),0==t){n=o*this.scaleValues[3];var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,n);if(-1===r.index)return;var s=2*SuperMap.Plot.PlottingUtil.distance(e,r.pt);this.scaleValues[0]=s/o}else if(1===t){n=o*this.scaleValues[3];var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,n);if(-1===p.index)return;var u=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,a);if(-1==u.index)return;for(var c=SuperMap.Plot.PlottingUtil.distance(p.pt,a[p.index+1]),P=p.index+1;P<u.index;P++)c+=SuperMap.Plot.PlottingUtil.distance(a[P],a[P+1]);c+=SuperMap.Plot.PlottingUtil.distance(a[u.index],u.pt),this.scaleValues[1]=c/o}}}}]),e}();SuperMap.Plot.AlgoSymbol16201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=this.getSubSymbolScaleValue();this.isEdit||(this.scaleValues[0]=.5*o);var i=this.scaleValues[0]*e,n=SuperMap.Plot.PlottingUtil.paraLine(l,.5*i,!0),a=SuperMap.Plot.PlottingUtil.paraLine(l,.5*i,!1);n=SuperMap.Plot.PlottingUtil.clearSamePts(n),a=SuperMap.Plot.PlottingUtil.clearSamePts(a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);for(var r=e*this.scaleValues[1],s=.5*i,p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=s,c=0;u<p;u+=r,c++){var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,u);if(-1!==P.index){var S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,l[P.index+1],P.pt),h=[];h.push(S.pntLeft),h.push(S.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),0===c?this.addScalePoint(S.pntRight,0):1===c&&this.addScalePoint(P.pt,1)}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,a=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(a=SuperMap.Plot.PlottingUtil.clearSamePts(a),0==t){n=.5*(o*this.scaleValues[0]);var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,n);if(-1===r.index)return;var s=SuperMap.Plot.PlottingUtil.distance(e,r.pt);this.scaleValues[0]=s/o}else if(1===t){n=.5*(o*this.scaleValues[0]);var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,n);if(-1===p.index)return;var u=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,a);if(-1==u.index)return;for(var c=SuperMap.Plot.PlottingUtil.distance(p.pt,a[p.index+1]),P=p.index+1;P<u.index;P++)c+=SuperMap.Plot.PlottingUtil.distance(a[P],a[P+1]);c+=SuperMap.Plot.PlottingUtil.distance(a[u.index],u.pt),this.scaleValues[1]=c/o}}}}]),e}();SuperMap.Plot.AlgoSymbol16200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16100=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){if(this.init(),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts)this.calAssistantLine();else{var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(SuperMap.Plot.PlottingUtil.clearSamePts(t),!(t.length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);t.push(t[0]);for(var l=!0,o=e.x,i=e.x+.8,n={surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:1,weight:1};l;){l=!1;for(var a,r,s,p,u,c,P=[],S=[],h=new SuperMap.Geometry.Point(o,e.y),y=SuperMap.Plot.PlottingUtil.circlePoint(h,10,10,45),f=SuperMap.Plot.PlottingUtil.circlePoint(h,10,10,135),g=0;g<t.length-1;g++)(s=SuperMap.Plot.PlottingUtil.intersectLines(h,y,t[g],t[g+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.intersectPoint,t[g],t[g+1])&&P.push(s.intersectPoint),(p=SuperMap.Plot.PlottingUtil.intersectLines(h,f,t[g],t[g+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t[g],t[g+1])&&S.push(p.intersectPoint);if(1<P.length){u=[],u=this.sortPts2D(P);for(var M=0;M<u.length-1;M++)a=new SuperMap.Geometry.Point((u[M].x+u[M+1].x)/2,(u[M].y+u[M+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,a)&&((r=[]).push(u[M]),r.push(u[M+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n,!0))}if(1<S.length){c=[],c=this.sortPts2D(S);for(var b=0;b<c.length-1;b++)a=new SuperMap.Geometry.Point((c[b].x+c[b+1].x)/2,(c[b].y+c[b+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,a)&&((r=[]).push(c[b]),r.push(c[b+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n,!0))}(P.length>0||S.length>0)&&(l=!0),P=[],S=[];for(var m=new SuperMap.Geometry.Point(i,e.y),d=SuperMap.Plot.PlottingUtil.circlePoint(m,10,10,45),v=SuperMap.Plot.PlottingUtil.circlePoint(m,10,10,135),O=0;O<t.length-1;O++)(s=SuperMap.Plot.PlottingUtil.intersectLines(m,d,t[O],t[O+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.intersectPoint,t[O],t[O+1])&&P.push(s.intersectPoint),(p=SuperMap.Plot.PlottingUtil.intersectLines(m,v,t[O],t[O+1])).isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t[O],t[O+1])&&S.push(p.intersectPoint);if(1<P.length){u=[],u=this.sortPts2D(P);for(var U=0;U<u.length-1;U++)a=new SuperMap.Geometry.Point((u[U].x+u[U+1].x)/2,(u[U].y+u[U+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,a)&&((r=[]).push(u[U]),r.push(u[U+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n,!0))}if(1<S.length){c=[],c=this.sortPts2D(S);for(var w=0;w<c.length-1;w++)a=new SuperMap.Geometry.Point((c[w].x+c[w+1].x)/2,(c[w].y+c[w+1].y)/2),SuperMap.Plot.PlottingUtil.ptIsInPolygon(t,a)&&((r=[]).push(c[w]),r.push(c[w+1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n,!0))}(P.length>0||S.length>0)&&(l=!0),o-=.8,i+=.8}this.finish()}}}},{key:"sortPts2D",value:function(t){for(var e,l=0;l<t.length;l++)for(var o=0;o<t.length-1-l;o++)SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].x,t[o+1].x)?t[o].y>t[o+1].y&&(e=t[o],t[o]=t[o+1],t[o+1]=tempPt11):t[o].x>t[o+1].x&&(e=t[o],t[o]=t[o+1],t[o+1]=e);return t}}]),e}();SuperMap.Plot.AlgoSymbol16100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16001=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=.05*SuperMap.Plot.PlottingUtil.distance(e,l),i=SuperMap.Plot.PlottingUtil.paraLine(t,.5*o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,.5*o,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);for(var a=0,r=0;r<i.length-1;r++)a+=SuperMap.Plot.PlottingUtil.distance(i[r],i[r+1]);for(var s,p,u,c,P,S,h=a*this.getSubSymbolScaleValue()*.5,y=6*h,f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},g=h;g<=a-h/2;g+=y)-1!==(s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,g)).index&&(p=180*SuperMap.Plot.PlottingUtil.radian(i[s.index],i[s.index+1])/Math.PI,u=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,h,h,p+90),c=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,.25*h,.25*h,p),P=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,.25*h,.25*h,p+180),(S=[]).push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,f));for(var M=h;M<=a-h/2;M+=y)-1!==(s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,M)).index&&(p=180*SuperMap.Plot.PlottingUtil.radian(n[s.index],n[s.index+1])/Math.PI,u=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,h,h,p+270),c=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,.25*h,.25*h,p),P=SuperMap.Plot.PlottingUtil.circlePoint(s.pt,.25*h,.25*h,p+180),(S=[]).push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,f));this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol16001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=.05*SuperMap.Plot.PlottingUtil.distance(e,l),i=SuperMap.Plot.PlottingUtil.paraLine(t,.5*o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(t,.5*o,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var a=[];a=this.scaleValues[0]<0?a.concat(n):a.concat(i);for(var r=0,s=0;s<a.length-1;s++)r+=SuperMap.Plot.PlottingUtil.distance(a[s],a[s+1]);for(var p=this.getSubSymbolScaleValue(),u=r*p*.5,c=r*p*.125,P=.1*r,S=r*p*.5,h=0;h<=r;h+=P){var y=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,h+S);if(-1!==y.index){var f,g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(u,a[y.index],y.pt);f=this.scaleValues[0]>0?new SuperMap.Geometry.Point(g.pntLeft.x,g.pntLeft.y):new SuperMap.Geometry.Point(g.pntRight.x,g.pntRight.y);var M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(c,f,y.pt),b=[];if(b.push(M.pntRight),b.push(f),b.push(M.pntLeft),0===h){var m=new SuperMap.Geometry.Point(f.x,f.y);m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e);this.scaleValues[0]=o?-1:1}}}]),e}();SuperMap.Plot.AlgoSymbol16000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(1),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l=0,o=0;o<t.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);var i=l*this.scaleValues[0],n=l*this.scaleValues[2],a=!1;a=0===this.scaleValues[0];for(var r=0,s=0;s<e.length-1;s++)r+=SuperMap.Plot.PlottingUtil.distance(e[s],e[s+1]);if(0!==r){for(var p=0;p<=r;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(-1!==u.index){var c=[],P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);a?c.push(P.pntRight):c.push(P.pntLeft);var S=p+n,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,S);if(-1!==h.index){var y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[h.index+1],h.pt);a?c.push(y.pntLeft):c.push(y.pntRight),Math.abs(p)<1e-6&&(this.addScalePoint(c[0],0),this.addScalePoint(h.pt,1)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c)}}}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),i=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){var n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[1],o[0]),a=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n.pntRight,n.pntLeft),r=SuperMap.Plot.PlottingUtil.distance(a.projectPoint,l[0]);this.scaleValues[0]=r/i;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[0],o[1],e);this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0,P=o.length-1;c<P;c++){var S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,o[c],o[c+1]);if(S.isOnline){p=S.projectPoint,u=c;break}}if(-1===u)return;for(var h=[],y=0,f=u;y<=f;y++)h.push(o[y]);h.push(p);var g=SuperMap.Plot.PlottingUtil.polylineDistance(h);this.scaleValues[2]=g/i}}}}]),e}();SuperMap.Plot.AlgoSymbol15900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15806=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.06),l.scaleValues.push(1),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(t.length>=this.minEditPts){this.scalePoints=[];var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=.6*i,a=this.scaleValues[2]*o,r=0===this.scaleValues[1],s=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===s)return;for(var p=[],u=0;u<=s;u+=a){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(r?p.push(P.pntRight):p.push(P.pntLeft),!((c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.65*a)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index+1],c.pt),r?p.push(P.pntRight):p.push(P.pntLeft),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.8*a)).index<0||(p.push(c.pt),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.5*a)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt),r?p.push(P.pntLeft):p.push(P.pntRight),c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.2*a),p.push(c.pt),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.35*a)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index+1],c.pt),r?p.push(P.pntRight):p.push(P.pntLeft),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+a)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt),r?p.push(P.pntRight):p.push(P.pntLeft),!(Math.abs(u)<=1e-6)))))))){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S),(S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S)}}}var h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(p);SuperMap.Plot.PlottingUtil.clearSamePts(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o,i,n=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,n[1],n[0]),o=SuperMap.Plot.PlottingUtil.pointProjectToSegment(new SuperMap.Geometry.Point(e.x,e.y),i.pntRight,i.pntLeft);var r=SuperMap.Plot.PlottingUtil.distance(o.projectPoint,l[0])/a;this.scaleValues[0]=r;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(n[0],n[1],new SuperMap.Geometry.Point(e.x,e.y));this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0;c<n.length-1;c++)if((o=SuperMap.Plot.PlottingUtil.pointProjectToSegment(new SuperMap.Geometry.Point(e.x,e.y),n[c],n[c+1])).isOnline){p=o.projectPoint,u=c;break}if(-1===u)return void(this.scaleValues[2]=.05);for(var P=[],S=0;S<=u;S++)P.push(n[S]);P.push(p);var h=SuperMap.Plot.PlottingUtil.polylineDistance(P);this.scaleValues[2]=h/a}}}}]),e}();SuperMap.Plot.AlgoSymbol15806=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15805=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s=[],p=0;p<=r;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(a?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=45*Math.PI/180,f=45*Math.PI/180,g=0;g<S-1;g+=2){var M=[],b=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.3,s[g],s[g+1]);M.push(b);var m=new SuperMap.Geometry.Point(s[g].x,s[g].y),d=new SuperMap.Geometry.Point(s[g+1].x,s[g+1].y);h=SuperMap.Plot.PlottingUtil.distance(m,d);var v=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.6,s[g],s[g+1]),O=new SuperMap.Geometry.Point(v.x,v.y);O=SuperMap.Plot.PlottingUtil.rotateAngle(b,y,v),M.push(O);var U=.15*h;v=SuperMap.Plot.PlottingUtil.linePnt(M[1],M[0],U);var w=new SuperMap.Geometry.Point(v.x,v.y);SuperMap.Plot.PlottingUtil.rotateAngle(O,f,w),M.push(w);var L=new SuperMap.Geometry.Point(M[1].x-M[0].x+M[2].x,M[1].y-M[0].y+M[2].y);M.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15805=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.029615),l.scaleValues.push(1),l.scaleValues.push(.12)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s=[],p=0;p<=r;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(a?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var M=[],b=new SuperMap.Geometry.Point(.5*(f.x+g.x),.5*(f.y+g.y)),m=SuperMap.Plot.PlottingUtil.dirAngle(f,g)*SuperMap.Plot.PlottingUtil.RTOD,d=SuperMap.Plot.PlottingUtil.circlePoint(b,h,h,m+90),v=1.5*h,O=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+260),U=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+280);M.push(O),M.push(d),M.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15804=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15803=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s=[],p=0;p<=r;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(a?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var M=[],b=[];if(y!==S-2){var m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y],s[y+1]);M.push(m.pntLeft),M.push(m.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}if(0!==y){var d=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y+1],s[y]);b.push(d.pntLeft),b.push(d.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b)}}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s,p=[],u=0;u<=r;u+=n){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(a?p.push(P.pntRight):p.push(P.pntLeft),Math.abs(u)<=1e-6){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S)}else Math.abs(2*n-u)<=1e-6&&((S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);for(var h=p.length,y=0,f=0;f<h-1;++f){var g=new SuperMap.Geometry.Point(p[f].x,p[f].y),M=new SuperMap.Geometry.Point(p[f+1].x,p[f+1].y);y=.3*SuperMap.Plot.PlottingUtil.distance(g,M);var b=[],m=[],d=[],v=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.35,p[f],p[f+1]);s=new SuperMap.Geometry.Point((p[f].x+p[f+1].x)/2,(p[f].y+p[f+1].y)/2);var O=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],s);m.push(O.pntLeft,O.pntRight);var U=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],v);b.push(U.pntLeft,U.pntRight),d.push(new SuperMap.Geometry.Point(2*s.x-U.pntLeft.x,2*s.y-U.pntLeft.y)),d.push(new SuperMap.Geometry.Point(2*s.x-U.pntRight.x,2*s.y-U.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s=new SuperMap.Geometry.Point(0,0),p=[],u=0;u<=r;u+=n){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(a?p.push(P.pntRight):p.push(P.pntLeft),Math.abs(u)<=1e-6){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S)}else Math.abs(2*n-u)<=1e-6&&((S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);for(var h=p.length,y=0,f=0;f<h-1;++f){var g=new SuperMap.Geometry.Point(p[f].x,p[f].y),M=new SuperMap.Geometry.Point(p[f+1].x,p[f+1].y);y=.3*SuperMap.Plot.PlottingUtil.distance(g,M);var b=[],m=[],d=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.35,p[f],p[f+1]);s=new SuperMap.Geometry.Point((p[f].x+p[f+1].x)/2,(p[f].y+p[f+1].y)/2);var v=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],d);b.push(v.pntLeft),b.push(v.pntRight),m.push(new SuperMap.Geometry.Point(2*s.x-v.pntLeft.x,2*s.y-v.pntLeft.y)),m.push(new SuperMap.Geometry.Point(2*s.x-v.pntRight.x,2*s.y-v.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.04),l.scaleValues.push(1),l.scaleValues.push(.12)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,a=!1;a=0===this.scaleValues[1];var r=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==r){for(var s=[],p=0;p<=r;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(a?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));a=!a}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var M=[],b=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.5,s[y],s[y+1]),m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y],b);M.push(m.pntLeft),M.push(m.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),i=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){var n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[1],o[0]),a=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n.pntRight,n.pntLeft),r=SuperMap.Plot.PlottingUtil.distance(a.projectPoint,l[0]);this.scaleValues[0]=r/i;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[0],o[1],e);this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0,P=o.length-1;c<P;c++){var S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,o[c],o[c+1]);if(S.isOnline){p=S.projectPoint,u=c;break}}if(-1===u)return void(this.scaleValues[2]=.05);for(var h=[],y=0,f=u;y<=f;y++)h.push(o[y]);h.push(p);var g=SuperMap.Plot.PlottingUtil.polylineDistance(h);this.scaleValues[2]=g/i}}}}]),e}();SuperMap.Plot.AlgoSymbol15800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(parseFloat(.1732)),l.scaleValues.push(.1),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0]*o,n=this.scaleValues[1]*o,a=this.scaleValues[2],r=null;if(1===a){var s=SuperMap.Plot.PlottingUtil.linePnt(l,e,o+i);r=new SuperMap.Geometry.Point(s.x,s.y)}else s=SuperMap.Plot.PlottingUtil.linePnt(l,e,o-i),r=new SuperMap.Geometry.Point(s.x,s.y);var p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*n,t[0],r),u=[];u.push(p.pntRight),u.push(t[0]),u.push(p.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=[],P=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(1===a){var S=new SuperMap.Geometry.Point(2*P.x-p.pntLeft.x,2*P.y-p.pntLeft.y);c.push(S),c.push(t[1]);var h=new SuperMap.Geometry.Point(2*P.x-p.pntRight.x,2*P.y-p.pntRight.y);c.push(h)}else S=new SuperMap.Geometry.Point(2*P.x-p.pntRight.x,2*P.y-p.pntRight.y),c.push(S),c.push(t[1]),h=new SuperMap.Geometry.Point(2*P.x-p.pntLeft.x,2*P.y-p.pntLeft.y),c.push(h);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol15202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15201=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol15201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(.185)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var l=0,o=0,i=e.length-1;o<i;o++)l+=SuperMap.Plot.PlottingUtil.distance(e[o],e[o+1]);for(var n=0,a=0,r=t.length-1;a<r;a++)n+=SuperMap.Plot.PlottingUtil.distance(t[a],t[a+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());for(var s=this.scaleValues[0]*n,p=this.scaleValues[1],u=this.scaleValues[2]*n,c=.3*u,P=u;P<l;P+=u){var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e);if(-1===S.index)return void this.finish();var h=P+c,y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(h,e);if(-1===y.index)return void this.finish();var f=[],g=[];f.push(S.pts);var M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[S.index],S.pts);0===p?f.push(new SuperMap.Geometry.Point(M.pntLeft.x,M.pntLeft.y)):f.push(new SuperMap.Geometry.Point(M.pntRight.x,M.pntRight.y)),g.push(y.pts);var b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[y.index],y.pts);if(0===p?g.push(new SuperMap.Geometry.Point(b.pntLeft.x,b.pntLeft.y)):g.push(new SuperMap.Geometry.Point(b.pntRight.x,b.pntRight.y)),u===P){this.scalePoints=[];var m=new SuperMap.Geometry.Point(f[1].x,f[1].y);m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m),(m=new SuperMap.Geometry.Point(f[0].x,f[0].y)).isScalePoint=!0,m.tag=1,this.scalePoints.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;for(var o=0,i=0,n=l.length-1;i<n;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var a=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),r=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(a,o*this.scaleValues[2]);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.distance(s.pt,r)/o,u=SuperMap.Plot.PlottingUtil.pointIsRightToLine(a[0],a[1],e);this.scaleValues[1]=u?1:0,this.scaleValues[0]=p}else if(1===t){for(var c=0,P=-1,S=[],h=0,y=a.length-1;h<y;h++){var f=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,a[h],a[h+1]);if(f.isOnline){var g=SuperMap.Plot.PlottingUtil.distance(f.projectPoint,this.controlPoints[1]);0==c?(c=g,P=h,S=e):g<c&&(c=g,P=h,S=e)}}if(-1==P)return;for(var M=0,b=0,m=P-1;b<m;b++)M+=SuperMap.Plot.PlottingUtil.distance(a[b],a[b+1]);var d=(M+=SuperMap.Plot.PlottingUtil.distance(S,a[P]))/o;d>.7&&(d=.7),this.scaleValues[2]=d}}}}]),e}();SuperMap.Plot.AlgoSymbol15200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol13700=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e;if(2===t.length)e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);else if(3===t.length){var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);if(0>=n)return;this.scaleValues=[];var a=SuperMap.Plot.PlottingUtil.distance(l,o)/n;this.scaleValues.push(a);var r=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI;r>90?r-=90:r=270+r,this.scaleValues.push(r*(Math.PI/180));var s=180*SuperMap.Plot.PlottingUtil.radian(l,i)/Math.PI;s>90?s-=90:s=270+s,this.scaleValues.push(s*(Math.PI/180)),e=this.scaleValues[0]*n;var p=this.scaleValues[1]*(180/Math.PI)+90,u=this.scaleValues[2]*(180/Math.PI)+90;p<u&&(p+=360);for(var c,P=[],S=p;S>=u;S-=4)c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,S),P.push(c);S!=u&&(c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,u),P.push(c)),this.controlPoints[2]=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P)}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol13700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol12500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.03));for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var i=this.scaleValues[1]*e,n=o*e,a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,n);if(-1!==a.index){for(var r,s=a.pt,p=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[s,new SuperMap.Geometry.Point(s.x+i,s.y)]),u=0;u<t.length-1;u++){var c,P=t[u];r=t[u+1];var S=SuperMap.Plot.PlottingUtil.distance(s,P),h=SuperMap.Plot.PlottingUtil.distance(s,r);if(!(S<i&&h<i))if(S>i&&h<i||S<i&&h>i){var y;y=S>i?P:r,(c=this.getLineAddCircleIntersectPts(P,r,p)).length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c[0],y])}else{var f=SuperMap.Plot.PlottingUtil.projectPoint(s,P,r);if(SuperMap.Plot.PlottingUtil.distance(s,f)>=i)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,r]);else if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(f,P,r)){if((c=this.getLineAddCircleIntersectPts(P,r,p)).length>0){c.unshift(P),c.push(r);for(var g=0;g<c.length-1;g++)this.isLineInCircle(c[g],c[g+1],s,i)||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c[g],c[g+1]])}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,r])}}var M=0;c&&(M=SuperMap.Plot.PlottingUtil.radian(s,c[c.length-1])*SuperMap.Plot.PlottingUtil.RTOD);var b=[];r=SuperMap.Plot.PlottingUtil.circlePoint(s,-i,-i,M),b.push(r,s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var m=SuperMap.Plot.PlottingUtil.radian(r,s)*SuperMap.Plot.PlottingUtil.RTOD,d=[],v=SuperMap.Plot.PlottingUtil.circlePoint(s,.8*i,.8*i,m+170),O=SuperMap.Plot.PlottingUtil.circlePoint(s,.8*i,.8*i,m-170);d.push(v),d.push(O),d.push(s);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[s,new SuperMap.Geometry.Point(s.x+i,s.y)]),this.addScalePoint(s,0),this.addScalePoint(new SuperMap.Geometry.Point(s.x+i,s.y),1),this.finish()}}}},{key:"isLineInCircle",value:function(t,e,l,o){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return o>SuperMap.Plot.PlottingUtil.distance(i,l)}},{key:"getLineAddCircleIntersectPts",value:function(t,e,l){var o=l.slice();o[0].x===o[o.length-1].x&&o[0].y===o[o.length-1].y||o.push(o[0]);for(var i,n=[],a=0;a<o.length-1;a++){var r=o[a],s=o[a+1],p=SuperMap.Plot.PlottingUtil.intersectLines(t,e,r,s);p.isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t,e)&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,r,s)&&n.push(p.intersectPoint)}for(var u=0;u<n.length-1;u++)SuperMap.Plot.PlottingUtil.isSamePt(n[u],n[u+1])&&(n.splice(u,1),u--);if(t.x>e.x)for(var c=0;c<n.length&&c!=n.length-1;c++)n[c].x<n[c+1].x&&(i=n[c],n[c]=n[c+1],n[c+1]=i);else if(t.x<e.x)for(var P=0;P<n.length&&P!=n.length-1;P++)n[P].x>n[P+1].x&&(i=n[P],n[P]=n[P+1],n[P+1]=i);else if(t.y>e.y)for(var S=0;S<n.length&&S!=n.length-1;S++)n[S].y<n[S+1].y&&(i=n[S],n[S]=n[S+1],n[S+1]=i);else if(t.y<e.y)for(var h=0;h<n.length&&h!=n.length-1;h++)n[h].y>n[h+1].y&&(i=n[h],n[h]=n[h+1],n[h+1]=i);return n}}]),e}();SuperMap.Plot.AlgoSymbol12502=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.03),l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit){var e=this.getSubSymbolScaleValue();this.scaleValues[0]=e,this.scaleValues[1]=.5*e,this.scaleValues[3]=.5*e}var l=this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2],n=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);n=SuperMap.Plot.PlottingUtil.clearSamePts(n);var a=this.GetCurvePts(t,l,o);if(0!==a.pt.length){var r=SuperMap.Plot.PlottingUtil.polylineDistance(n)*i,s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,r);if(-1!==s.index){for(var p=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[3],u=[],c=0;c<360;c+=12)u.push(SuperMap.Plot.PlottingUtil.circlePoint(s.pt,p,p,c));u.push(u[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);for(var P=[],S=[],h=0;h<a.pt.length;h++)SuperMap.Plot.PlottingUtil.ptIsInPolygon(u,a.pt[h])?S.length>1&&(P.push(S),S=[]):S.push(a.pt[h]);S.length>1&&P.push(S);for(var y=0;y<P.length;y++)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P[y]);var f=new SuperMap.Geometry.Point(a.pt[0].x,a.pt[0].y);f.isScalePoint=!0,f.tag=0,this.scalePoints.push(f);var g=new SuperMap.Geometry.Point(a.scalePt.x,a.scalePt.y);g.isScalePoint=!0,g.tag=1,this.scalePoints.push(g);var M=new SuperMap.Geometry.Point(s.pt.x,s.pt.y);M.isScalePoint=!0,M.tag=2,this.scalePoints.push(M);var b=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(s.pt.x,s.pt.y),p,p,0),m=new SuperMap.Geometry.Point(b.x,b.y);m.isScalePoint=!0,m.tag=3,this.scalePoints.push(m),this.finish()}else this.finish()}else this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(null!=e&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;if(4>this.scaleValues.length)return;var o,i,n,a,r,s=SuperMap.Plot.PlottingUtil.polylineDistance(l),p=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),u=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var c=new SuperMap.Geometry.Point(l[0].x,l[0].y),P=SuperMap.Plot.PlottingUtil.distance(c,u);i=2*P/s,this.scaleValues[1]=i}else if(1===t)c=new SuperMap.Geometry.Point(l[0].x,l[0].y),o=(P=SuperMap.Plot.PlottingUtil.distance(c,u))/s,this.scaleValues[0]=o;else if(2==t){var S=-1,h=0;r=new SuperMap.Geometry.Point(0,0),o=this.scaleValues[0],i=this.scaleValues[1];for(var y=0;y<p.length-1;y++){var f=p[y],g=p[y+1],M=SuperMap.Plot.PlottingUtil.projectPoint(u,f,g);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(M,f,g)){var b=SuperMap.Plot.PlottingUtil.distance(u,M);-1==S?(S=y,r=M,h=b):h>b&&(S=y,r=M,h=b)}}if(-1==S||S>p.length-1)return;a=SuperMap.Plot.PlottingUtil.polylineDistance(p);for(var m=[],d=0;d<S;d++)m.push(p[d]);m.push(r);var v=SuperMap.Plot.PlottingUtil.polylineDistance(m);if(v<0||v>a)return;n=v/a,this.scaleValues[2]=n}else if(3===t){o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2];var O=(a=SuperMap.Plot.PlottingUtil.polylineDistance(p))*n;if(-1===(r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,O)).index)return;var U=SuperMap.Plot.PlottingUtil.distance(r.pt,e)/s;U>.4&&(U=.4),this.scaleValues[3]=U}}}},{key:"GetCurvePts",value:function(t,e,l){for(var o,i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),n=SuperMap.Plot.PlottingUtil.polylineDistance(i),a=n*e,r=n*l/2,s=[],p=[],u=i[0],c=!1,P=i[0],S=1;S<i.length;S++){var h=i[S],y=SuperMap.Plot.PlottingUtil.distance(u,h);if(!(y<a&&S!==i.length-1)){for(var f,g=parseInt(y/a),M=0;M<g;M++){f=SuperMap.Plot.PlottingUtil.linePnt(u,h,a),c||(o=f,c=!0);var b=this.GetCosPts2D(u,f,a,r);s=p.length>1&&0===M?this.ClearCurvePts2D(P,u,h,p,b,s):s.concat(b),p=(p=[]).concat(b),P=u,u=f}S===i.length-1&&(f=i[i.length-1],b=this.GetCosPts2D(u,f,a,r),s=p.length>1&&b.length>1?this.ClearCurvePts2D(P,u,h,p,b,s):s.concat(b))}}return{pt:s,scalePt:o}}},{key:"GetCosPts2D",value:function(t,e,l,o){for(var i=[],n=SuperMap.Plot.PlottingUtil.distance(t,e),a=l/30,r=0;r<n;r+=a){var s=r*(2*Math.PI/l),p=o*Math.cos(s),u=new SuperMap.Geometry.Point(r,p),c=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,P=SuperMap.Plot.PlottingUtil.coordinateTrans(t,u,c);i.push(P)}return i}},{key:"ClearCurvePts2D",value:function(t,e,l,o,i,n){for(var a=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,r=180*SuperMap.Plot.PlottingUtil.radian(e,t)/Math.PI-a;r<=0;)r+=360;var s=r/2,p=l;p=SuperMap.Plot.PlottingUtil.rotateAngle(e,s*Math.PI/180,p);for(var u=SuperMap.Plot.PlottingUtil.linePnt(e,p,1),c=0,P=0;P<o.length;P++)if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,o[P])){c=P;break}if(0!=c)for(var S=0;S<o.length-c;S++)n.slice(S,n.length-1);for(var h=0;h<i.length;h++)SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,i[h])&&n.push(i[h]);return n}}]),e}();SuperMap.Plot.AlgoSymbol12501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.03));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var o=this.scaleValues[1]*e,i=l*e,n=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,i);if(-1!==n.index){for(var a=n.pt,r=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[a,new SuperMap.Geometry.Point(a.x+o,a.y)]),s=0;s<t.length-1;s++){var p,u=t[s],c=t[s+1],P=SuperMap.Plot.PlottingUtil.distance(a,u),S=SuperMap.Plot.PlottingUtil.distance(a,c);if(!(P<o&&S<o))if(P>o&&S<o||P<o&&S>o){var h;h=P>o?u:c,(p=this.getLineAddCircleIntersectPts(u,c,r)).length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p[0],h])}else{var y=SuperMap.Plot.PlottingUtil.projectPoint(a,u,c);if(SuperMap.Plot.PlottingUtil.distance(a,y)>=o)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c]);else if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(y,u,c)){if((p=this.getLineAddCircleIntersectPts(u,c,r)).length>0){p.unshift(u),p.push(c);for(var f=0;f<p.length-1;f++)this.isLineInCircle(p[f],p[f+1],a,o)||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p[f],p[f+1]])}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c])}}this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[a,new SuperMap.Geometry.Point(a.x+o,a.y)]),this.scalePoints=[];var g=a;g.isScalePoint=!0,g.tag=0,this.scalePoints.push(g);var M=new SuperMap.Geometry.Point(a.x+o,a.y);M.isScalePoint=!0,M.tag=1,this.scalePoints.push(M),this.finish()}}}},{key:"isLineInCircle",value:function(t,e,l,o){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return o>SuperMap.Plot.PlottingUtil.distance(i,l)}},{key:"getLineAddCircleIntersectPts",value:function(t,e,l){var o=l.slice();o[0].x===o[o.length-1].x&&o[0].y===o[o.length-1].y||o.push(o[0]);for(var i,n=[],a=0;a<o.length-1;a++){var r=o[a],s=o[a+1],p=SuperMap.Plot.PlottingUtil.intersectLines(t,e,r,s);p.isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t,e)&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,r,s)&&n.push(p.intersectPoint)}for(var u=0;u<n.length-1;u++)SuperMap.Plot.PlottingUtil.isSamePt(n[u],n[u+1])&&(n.splice(u,1),u--);if(t.x>e.x)for(var c=0;c<n.length&&c!=n.length-1;c++)n[c].x<n[c+1].x&&(i=n[c],n[c]=n[c+1],n[c+1]=i);else if(t.x<e.x)for(var P=0;P<n.length&&P!=n.length-1;P++)n[P].x>n[P+1].x&&(i=n[P],n[P]=n[P+1],n[P+1]=i);else if(t.y>e.y)for(var S=0;S<n.length&&S!=n.length-1;S++)n[S].y<n[S+1].y&&(i=n[S],n[S]=n[S+1],n[S+1]=i);else if(t.y<e.y)for(var h=0;h<n.length&&h!=n.length-1;h++)n[h].y>n[h+1].y&&(i=n[h],n[h]=n[h+1],n[h+1]=i);return n}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){for(var i=0,n=-1,a=null,r=0;r<l.length-1;r++){var s=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l[r],l[r+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.projectPoint,l[r],l[r+1])){var p=SuperMap.Plot.PlottingUtil.distance(s.projectPoint,e);0==i?(i=p,n=r,a=s.projectPoint):p<i&&(i=p,n=r,a=s.projectPoint)}}if(-1==n)return;for(var u=0,c=0;c<n;c++)u+=SuperMap.Plot.PlottingUtil.distance(l[c],l[c+1]);var P=(u+=SuperMap.Plot.PlottingUtil.distance(a,l[n]))/o;P>1&&(P=1),this.scaleValues[0]=P}if(1===t){var S=this.scaleValues[0]*o,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,S);if(-1===h.index)return;var y=SuperMap.Plot.PlottingUtil.distance(h.pt,e)/o;y>.4&&(y=.4),this.scaleValues[1]=y}}}}]),e}();SuperMap.Plot.AlgoSymbol12500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbol4021102=e.AlgoSymbol4021101=e.AlgoSymbol6020404=e.AlgoSymbol6020403=e.AlgoSymbol4022102=e.AlgoSymbol4022101=e.AlgoSymbol4022100=e.AlgoSymbol4020402=e.AlgoSymbol4020401=e.AlgoSymbol4020303=e.AlgoSymbol4011101=e.AlgoSymbol4011100=e.AlgoSymbol4010905=e.AlgoSymbol4010801=e.AlgoSymbol4010800=e.AlgoSymbol3032000=e.AlgoSymbol3020901=e.AlgoSymbol3010304=e.AlgoSymbol3010303=e.AlgoSymbol6020402=e.AlgoSymbol6020401=e.AlgoSymbol6020400=e.AlgoSymbol3010302=void 0,e.AlgoSymbol3010301=e.AlgoSymbol3010108=e.AlgoSymbol3010107=e.AlgoSymbol3010106=e.AlgoSymbol3010105=e.AlgoSymbol3010104=e.AlgoSymbol3010103=e.AlgoSymbol3010102=e.AlgoSymbol2890001=e.AlgoSymbol2350001=e.AlgoSymbol44400=e.AlgoSymbol44300=e.AlgoSymbol44200=e.AlgoSymbol44100=e.AlgoSymbol43500=e.AlgoSymbol42700=e.AlgoSymbol42500=e.AlgoSymbol42400=e.AlgoSymbol42200=e.AlgoSymbol41202=e.AlgoSymbol41201=e.AlgoSymbol41200=e.AlgoSymbol41100=e.AlgoSymbol40900=e.AlgoSymbol40101=e.AlgoSymbol40100=e.AlgoSymbol40000=e.AlgoSymbol39802=e.AlgoSymbol39801=e.AlgoSymbol39800=e.AlgoSymbol39600=e.AlgoSymbol39500=e.AlgoSymbol39101=e.AlgoSymbol39000=e.AlgoSymbol38700=e.AlgoSymbol38600=e.AlgoSymbol37700=e.AlgoSymbol37601=e.AlgoSymbol37600=e.AlgoSymbol37301=e.AlgoSymbol37300=e.AlgoSymbol37200=e.AlgoSymbol37100=e.AlgoSymbol36800=e.AlgoSymbol36700=e.AlgoSymbol36600=e.AlgoSymbol36401=e.AlgoSymbol36400=e.AlgoSymbol35500=e.AlgoSymbol35304=e.AlgoSymbol35200=e.AlgoSymbol35000=e.AlgoSymbol34902=e.AlgoSymbol34901=e.AlgoSymbol34900=e.AlgoSymbol34801=e.AlgoSymbol34800=e.AlgoSymbol34700=e.AlgoSymbol34501=e.AlgoSymbol34500=e.AlgoSymbol34400=e.AlgoSymbol34300=e.AlgoSymbol33400=e.AlgoSymbol32900=e.AlgoSymbol32300=e.AlgoSymbol31803=e.AlgoSymbol31601=e.AlgoSymbol31600=e.AlgoSymbol31401=e.AlgoSymbol31400=e.AlgoSymbol31304=e.AlgoSymbol31303=e.AlgoSymbol31302=e.AlgoSymbol31301=e.AlgoSymbol31300=e.AlgoSymbol30102=e.AlgoSymbol30800=e.AlgoSymbol30201=e.AlgoSymbol30200=e.AlgoSymbol30100=e.AlgoSymbol30002=e.AlgoSymbol30001=e.AlgoSymbol30000=e.AlgoSymbol29903=e.AlgoSymbol29800=e.AlgoSymbol29401=e.AlgoSymbol29103=e.AlgoSymbol29101=e.AlgoSymbol29100=e.AlgoSymbol29003=e.AlgoSymbol29002=e.AlgoSymbol29001=e.AlgoSymbol29000=e.AlgoSymbol28900=e.AlgoSymbol28400=e.AlgoSymbol28301=e.AlgoSymbol28300=e.AlgoSymbol28201=e.AlgoSymbol28200=e.AlgoSymbol28100=void 0,e.AlgoSymbol28000=e.AlgoSymbol27902=e.AlgoSymbol27901=e.AlgoSymbol27900=e.AlgoSymbol27701=e.AlgoSymbol27700=e.AlgoSymbol27300=e.AlgoSymbol27100=e.AlgoSymbol26800=e.AlgoSymbol26700=e.AlgoSymbol26601=e.AlgoSymbol26600=e.AlgoSymbol26503=e.AlgoSymbol26502=e.AlgoSymbol26501=e.AlgoSymbol26500=e.AlgoSymbol26400=e.AlgoSymbol25901=e.AlgoSymbol25900=e.AlgoSymbol25801=e.AlgoSymbol25800=e.AlgoSymbol25701=e.AlgoSymbol25700=e.AlgoSymbol25601=e.AlgoSymbol25600=e.AlgoSymbol25503=e.AlgoSymbol25502=e.AlgoSymbol25501=e.AlgoSymbol25500=e.AlgoSymbol25400=e.AlgoSymbol25301=e.AlgoSymbol25300=e.AlgoSymbol25202=e.AlgoSymbol25201=e.AlgoSymbol25200=e.AlgoSymbol25101=e.AlgoSymbol25100=e.AlgoSymbol25000=e.AlgoSymbol24700=e.AlgoSymbol23902=e.AlgoSymbol23901=e.AlgoSymbol23700=e.AlgoSymbol23600=e.AlgoSymbol23500=e.AlgoSymbol23400=e.AlgoSymbol22200=e.AlgoSymbol22103=e.AlgoSymbol22000=e.AlgoSymbol21900=e.AlgoSymbol21800=e.AlgoSymbol21600=e.AlgoSymbol21504=e.AlgoSymbol21503=e.AlgoSymbol21502=e.AlgoSymbol21501=e.AlgoSymbol21500=e.AlgoSymbol21401=e.AlgoSymbol21400=e.AlgoSymbol20301=e.AlgoSymbol20300=e.AlgoSymbol17806=e.AlgoSymbol17805=e.AlgoSymbol17804=e.AlgoSymbol17803=e.AlgoSymbol17802=e.AlgoSymbol17801=e.AlgoSymbol17800=e.AlgoSymbol17704=e.AlgoSymbol17703=e.AlgoSymbol17700=e.AlgoSymbol17600=e.AlgoSymbol17501=e.AlgoSymbol17500=e.AlgoSymbol17401=e.AlgoSymbol17400=e.AlgoSymbol16900=e.AlgoSymbol16700=e.AlgoSymbol16500=e.AlgoSymbol16203=e.AlgoSymbol16202=e.AlgoSymbol16201=e.AlgoSymbol16200=e.AlgoSymbol16100=e.AlgoSymbol16001=e.AlgoSymbol16000=e.AlgoSymbol15900=e.AlgoSymbol15806=e.AlgoSymbol15805=e.AlgoSymbol15804=e.AlgoSymbol15803=e.AlgoSymbol15802=e.AlgoSymbol15801=e.AlgoSymbol15800=e.AlgoSymbol15202=e.AlgoSymbol15201=e.AlgoSymbol15200=e.AlgoSymbol13700=e.AlgoSymbol12502=e.AlgoSymbol12501=e.AlgoSymbol12500=void 0;var o=l(222),i=l(221),n=l(220),a=l(219),r=l(218),s=l(217),p=l(216),u=l(215),c=l(214),P=l(213),S=l(212),h=l(211),y=l(210),f=l(209),g=l(208),M=l(207),b=l(206),m=l(205),d=l(204),v=l(203),O=l(202),U=l(201),w=l(200),L=l(199),V=l(198),_=l(197),T=l(196),A=l(195),E=l(194),x=l(193),Y=l(192),j=l(191),C=l(190),I=l(189),G=l(188),B=l(187),R=l(186),N=l(185),D=l(184),k=l(183),z=l(182),F=l(181),K=l(180),q=l(179),W=l(178),J=l(177),Z=l(176),H=l(175),Q=l(174),X=l(173),$=l(172),tt=l(171),et=l(170),lt=l(169),ot=l(168),it=l(167),nt=l(166),at=l(165),rt=l(164),st=l(163),pt=l(162),ut=l(161),ct=l(160),Pt=l(159),St=l(158),ht=l(157),yt=l(156),ft=l(155),gt=l(154),Mt=l(153),bt=l(152),mt=l(151),dt=l(150),vt=l(149),Ot=l(148),Ut=l(147),wt=l(146),Lt=l(145),Vt=l(144),_t=l(143),Tt=l(142),At=l(141),Et=l(140),xt=l(139),Yt=l(138),jt=l(137),Ct=l(136),It=l(135),Gt=l(134),Bt=l(133),Rt=l(132),Nt=l(131),Dt=l(130),kt=l(129),zt=l(128),Ft=l(127),Kt=l(126),qt=l(125),Wt=l(124),Jt=l(123),Zt=l(122),Ht=l(121),Qt=l(120),Xt=l(119),$t=l(118),te=l(117),ee=l(116),le=l(115),oe=l(114),ie=l(113),ne=l(112),ae=l(111),re=l(110),se=l(109),pe=l(108),ue=l(107),ce=l(106),Pe=l(105),Se=l(104),he=l(103),ye=l(102),fe=l(101),ge=l(100),Me=l(99),be=l(98),me=l(97),de=l(96),ve=l(95),Oe=l(94),Ue=l(93),we=l(92),Le=l(91),Ve=l(90),_e=l(89),Te=l(88),Ae=l(87),Ee=l(86),xe=l(85),Ye=l(84),je=l(83),Ce=l(82),Ie=l(81),Ge=l(80),Be=l(79),Re=l(78),Ne=l(77),De=l(76),ke=l(75),ze=l(74),Fe=l(73),Ke=l(72),qe=l(71),We=l(70),Je=l(69),Ze=l(68),He=l(67),Qe=l(66),Xe=l(65),$e=l(64),tl=l(63),el=l(62),ll=l(61),ol=l(60),il=l(59),nl=l(58),al=l(57),rl=l(56),sl=l(55),pl=l(54),ul=l(53),cl=l(52),Pl=l(51),Sl=l(50),hl=l(49),yl=l(48),fl=l(47),gl=l(46),Ml=l(45),bl=l(44),ml=l(43),dl=l(42),vl=l(41),Ol=l(40),Ul=l(39),wl=l(38),Ll=l(37),Vl=l(36),_l=l(35),Tl=l(34),Al=l(33),El=l(32),xl=l(31),Yl=l(30),jl=l(29),Cl=l(28),Il=l(27),Gl=l(26),Bl=l(25),Rl=l(24),Nl=l(23),Dl=l(22),kl=l(21),zl=l(20),Fl=l(19),Kl=l(18),ql=l(17),Wl=l(16),Jl=l(15),Zl=l(14),Hl=l(13),Ql=l(12),Xl=l(11),$l=l(10),to=l(9),eo=l(8),lo=l(7),oo=l(6),io=l(5),no=l(4),ao=l(3),ro=l(2),so=l(1),po=l(0);e.AlgoSymbol12500=o.AlgoSymbol12500,e.AlgoSymbol12501=i.AlgoSymbol12501,e.AlgoSymbol12502=n.AlgoSymbol12502,e.AlgoSymbol13700=a.AlgoSymbol13700,e.AlgoSymbol15200=r.AlgoSymbol15200,e.AlgoSymbol15201=s.AlgoSymbol15201,e.AlgoSymbol15202=p.AlgoSymbol15202,e.AlgoSymbol15800=u.AlgoSymbol15800,e.AlgoSymbol15801=c.AlgoSymbol15801,e.AlgoSymbol15802=P.AlgoSymbol15802,e.AlgoSymbol15803=S.AlgoSymbol15803,e.AlgoSymbol15804=h.AlgoSymbol15804,e.AlgoSymbol15805=y.AlgoSymbol15805,e.AlgoSymbol15806=f.AlgoSymbol15806,e.AlgoSymbol15900=g.AlgoSymbol15900,e.AlgoSymbol16000=M.AlgoSymbol16000,e.AlgoSymbol16001=b.AlgoSymbol16001,e.AlgoSymbol16100=m.AlgoSymbol16100,e.AlgoSymbol16200=d.AlgoSymbol16200,e.AlgoSymbol16201=v.AlgoSymbol16201,e.AlgoSymbol16202=O.AlgoSymbol16202,e.AlgoSymbol16203=U.AlgoSymbol16203,e.AlgoSymbol16500=w.AlgoSymbol16500,e.AlgoSymbol16700=L.AlgoSymbol16700,e.AlgoSymbol16900=V.AlgoSymbol16900,e.AlgoSymbol17400=_.AlgoSymbol17400,e.AlgoSymbol17401=T.AlgoSymbol17401,e.AlgoSymbol17500=A.AlgoSymbol17500,e.AlgoSymbol17501=E.AlgoSymbol17501,e.AlgoSymbol17600=x.AlgoSymbol17600,e.AlgoSymbol17700=Y.AlgoSymbol17700,e.AlgoSymbol17703=j.AlgoSymbol17703,e.AlgoSymbol17704=C.AlgoSymbol17704,e.AlgoSymbol17800=I.AlgoSymbol17800,e.AlgoSymbol17801=G.AlgoSymbol17801,e.AlgoSymbol17802=B.AlgoSymbol17802,e.AlgoSymbol17803=R.AlgoSymbol17803,e.AlgoSymbol17804=N.AlgoSymbol17804,e.AlgoSymbol17805=D.AlgoSymbol17805,e.AlgoSymbol17806=k.AlgoSymbol17806,e.AlgoSymbol20300=z.AlgoSymbol20300,e.AlgoSymbol20301=F.AlgoSymbol20301,e.AlgoSymbol21400=K.AlgoSymbol21400,e.AlgoSymbol21401=q.AlgoSymbol21401,e.AlgoSymbol21500=W.AlgoSymbol21500,e.AlgoSymbol21501=J.AlgoSymbol21501,e.AlgoSymbol21502=Z.AlgoSymbol21502,e.AlgoSymbol21503=H.AlgoSymbol21503,e.AlgoSymbol21504=Q.AlgoSymbol21504,e.AlgoSymbol21600=X.AlgoSymbol21600,e.AlgoSymbol21800=$.AlgoSymbol21800,e.AlgoSymbol21900=tt.AlgoSymbol21900,e.AlgoSymbol22000=et.AlgoSymbol22000,e.AlgoSymbol22103=lt.AlgoSymbol22103,e.AlgoSymbol22200=ot.AlgoSymbol22200,e.AlgoSymbol23400=it.AlgoSymbol23400,e.AlgoSymbol23500=nt.AlgoSymbol23500,e.AlgoSymbol23600=at.AlgoSymbol23600,e.AlgoSymbol23700=rt.AlgoSymbol23700,e.AlgoSymbol23901=st.AlgoSymbol23901,e.AlgoSymbol23902=pt.AlgoSymbol23902,e.AlgoSymbol24700=ut.AlgoSymbol24700,e.AlgoSymbol25000=ct.AlgoSymbol25000,e.AlgoSymbol25100=Pt.AlgoSymbol25100,e.AlgoSymbol25101=St.AlgoSymbol25101,e.AlgoSymbol25200=ht.AlgoSymbol25200,e.AlgoSymbol25201=yt.AlgoSymbol25201,e.AlgoSymbol25202=ft.AlgoSymbol25202,e.AlgoSymbol25300=gt.AlgoSymbol25300,e.AlgoSymbol25301=Mt.AlgoSymbol25301,e.AlgoSymbol25400=bt.AlgoSymbol25400,e.AlgoSymbol25500=mt.AlgoSymbol25500,e.AlgoSymbol25501=dt.AlgoSymbol25501,e.AlgoSymbol25502=vt.AlgoSymbol25502,e.AlgoSymbol25503=Ot.AlgoSymbol25503,e.AlgoSymbol25600=Ut.AlgoSymbol25600,e.AlgoSymbol25601=wt.AlgoSymbol25601,e.AlgoSymbol25700=Lt.AlgoSymbol25700,e.AlgoSymbol25701=Vt.AlgoSymbol25701,e.AlgoSymbol25800=_t.AlgoSymbol25800,e.AlgoSymbol25801=Tt.AlgoSymbol25801,e.AlgoSymbol25900=At.AlgoSymbol25900,e.AlgoSymbol25901=Et.AlgoSymbol25901,e.AlgoSymbol26400=xt.AlgoSymbol26400,e.AlgoSymbol26500=Yt.AlgoSymbol26500,e.AlgoSymbol26501=jt.AlgoSymbol26501,e.AlgoSymbol26502=Ct.AlgoSymbol26502,e.AlgoSymbol26503=It.AlgoSymbol26503,e.AlgoSymbol26600=Gt.AlgoSymbol26600,e.AlgoSymbol26601=Bt.AlgoSymbol26601,e.AlgoSymbol26700=Rt.AlgoSymbol26700,e.AlgoSymbol26800=Nt.AlgoSymbol26800,e.AlgoSymbol27100=Dt.AlgoSymbol27100,e.AlgoSymbol27300=kt.AlgoSymbol27300,e.AlgoSymbol27700=zt.AlgoSymbol27700,e.AlgoSymbol27701=Ft.AlgoSymbol27701,e.AlgoSymbol27900=Kt.AlgoSymbol27900,e.AlgoSymbol27901=qt.AlgoSymbol27901,e.AlgoSymbol27902=Wt.AlgoSymbol27902,e.AlgoSymbol28000=Jt.AlgoSymbol28000,e.AlgoSymbol28100=Zt.AlgoSymbol28100,e.AlgoSymbol28200=Ht.AlgoSymbol28200,e.AlgoSymbol28201=Qt.AlgoSymbol28201,e.AlgoSymbol28300=Xt.AlgoSymbol28300,e.AlgoSymbol28301=$t.AlgoSymbol28301,e.AlgoSymbol28400=te.AlgoSymbol28400,e.AlgoSymbol28900=ee.AlgoSymbol28900,e.AlgoSymbol29000=le.AlgoSymbol29000,e.AlgoSymbol29001=oe.AlgoSymbol29001,e.AlgoSymbol29002=ie.AlgoSymbol29002,e.AlgoSymbol29003=ne.AlgoSymbol29003,e.AlgoSymbol29100=ae.AlgoSymbol29100,e.AlgoSymbol29101=re.AlgoSymbol29101,e.AlgoSymbol29103=se.AlgoSymbol29103,e.AlgoSymbol29401=pe.AlgoSymbol29401,e.AlgoSymbol29800=ue.AlgoSymbol29800,e.AlgoSymbol29903=ce.AlgoSymbol29903,e.AlgoSymbol30000=Pe.AlgoSymbol30000,e.AlgoSymbol30001=Se.AlgoSymbol30001,e.AlgoSymbol30002=he.AlgoSymbol30002,e.AlgoSymbol30100=ye.AlgoSymbol30100,e.AlgoSymbol30200=fe.AlgoSymbol30200,e.AlgoSymbol30201=ge.AlgoSymbol30201,e.AlgoSymbol30800=Me.AlgoSymbol30800,e.AlgoSymbol30102=be.AlgoSymbol30102,e.AlgoSymbol31300=me.AlgoSymbol31300,e.AlgoSymbol31301=de.AlgoSymbol31301,e.AlgoSymbol31302=ve.AlgoSymbol31302,e.AlgoSymbol31303=Oe.AlgoSymbol31303,e.AlgoSymbol31304=Ue.AlgoSymbol31304,e.AlgoSymbol31400=we.AlgoSymbol31400,e.AlgoSymbol31401=Le.AlgoSymbol31401,e.AlgoSymbol31600=Ve.AlgoSymbol31600,e.AlgoSymbol31601=_e.AlgoSymbol31601,e.AlgoSymbol31803=Te.AlgoSymbol31803,e.AlgoSymbol32300=Ae.AlgoSymbol32300,e.AlgoSymbol32900=Ee.AlgoSymbol32900,e.AlgoSymbol33400=xe.AlgoSymbol33400,e.AlgoSymbol34300=Ye.AlgoSymbol34300,e.AlgoSymbol34400=je.AlgoSymbol34400,e.AlgoSymbol34500=Ce.AlgoSymbol34500,e.AlgoSymbol34501=Ie.AlgoSymbol34501,e.AlgoSymbol34700=Ge.AlgoSymbol34700,e.AlgoSymbol34800=Be.AlgoSymbol34800,e.AlgoSymbol34801=Re.AlgoSymbol34801,e.AlgoSymbol34900=Ne.AlgoSymbol34900,e.AlgoSymbol34901=De.AlgoSymbol34901,e.AlgoSymbol34902=ke.AlgoSymbol34902,e.AlgoSymbol35000=ze.AlgoSymbol35000,e.AlgoSymbol35200=Fe.AlgoSymbol35200,e.AlgoSymbol35304=Ke.AlgoSymbol35304,e.AlgoSymbol35500=qe.AlgoSymbol35500,e.AlgoSymbol36400=We.AlgoSymbol36400,e.AlgoSymbol36401=Je.AlgoSymbol36401,e.AlgoSymbol36600=Ze.AlgoSymbol36600,e.AlgoSymbol36700=He.AlgoSymbol36700,e.AlgoSymbol36800=Qe.AlgoSymbol36800,e.AlgoSymbol37100=Xe.AlgoSymbol37100,e.AlgoSymbol37200=$e.AlgoSymbol37200,e.AlgoSymbol37300=tl.AlgoSymbol37300,e.AlgoSymbol37301=el.AlgoSymbol37301,e.AlgoSymbol37600=ll.AlgoSymbol37600,e.AlgoSymbol37601=ol.AlgoSymbol37601,e.AlgoSymbol37700=il.AlgoSymbol37700,e.AlgoSymbol38600=nl.AlgoSymbol38600,e.AlgoSymbol38700=al.AlgoSymbol38700,e.AlgoSymbol39000=rl.AlgoSymbol39000,e.AlgoSymbol39101=sl.AlgoSymbol39101,e.AlgoSymbol39500=pl.AlgoSymbol39500,e.AlgoSymbol39600=ul.AlgoSymbol39600,e.AlgoSymbol39800=cl.AlgoSymbol39800,e.AlgoSymbol39801=Pl.AlgoSymbol39801,e.AlgoSymbol39802=Sl.AlgoSymbol39802,e.AlgoSymbol40000=hl.AlgoSymbol40000,e.AlgoSymbol40100=yl.AlgoSymbol40100,e.AlgoSymbol40101=fl.AlgoSymbol40101,e.AlgoSymbol40900=gl.AlgoSymbol40900,e.AlgoSymbol41100=Ml.AlgoSymbol41100,e.AlgoSymbol41200=bl.AlgoSymbol41200,e.AlgoSymbol41201=ml.AlgoSymbol41201,e.AlgoSymbol41202=dl.AlgoSymbol41202,e.AlgoSymbol42200=vl.AlgoSymbol42200,e.AlgoSymbol42400=Ol.AlgoSymbol42400,e.AlgoSymbol42500=Ul.AlgoSymbol42500,e.AlgoSymbol42700=wl.AlgoSymbol42700,e.AlgoSymbol43500=Ll.AlgoSymbol43500,e.AlgoSymbol44100=Vl.AlgoSymbol44100,e.AlgoSymbol44200=_l.AlgoSymbol44200,e.AlgoSymbol44300=Tl.AlgoSymbol44300,e.AlgoSymbol44400=Al.AlgoSymbol44400,e.AlgoSymbol2350001=El.AlgoSymbol2350001,e.AlgoSymbol2890001=xl.AlgoSymbol2890001,e.AlgoSymbol3010102=Yl.AlgoSymbol3010102,e.AlgoSymbol3010103=jl.AlgoSymbol3010103,e.AlgoSymbol3010104=Cl.AlgoSymbol3010104,e.AlgoSymbol3010105=Il.AlgoSymbol3010105,e.AlgoSymbol3010106=Gl.AlgoSymbol3010106,e.AlgoSymbol3010107=Bl.AlgoSymbol3010107,e.AlgoSymbol3010108=Rl.AlgoSymbol3010108,e.AlgoSymbol3010301=Nl.AlgoSymbol3010301,e.AlgoSymbol3010302=Dl.AlgoSymbol3010302,e.AlgoSymbol6020400=kl.AlgoSymbol6020400,e.AlgoSymbol6020401=zl.AlgoSymbol6020401,e.AlgoSymbol6020402=Fl.AlgoSymbol6020402,e.AlgoSymbol3010303=Kl.AlgoSymbol3010303,e.AlgoSymbol3010304=ql.AlgoSymbol3010304,e.AlgoSymbol3020901=Wl.AlgoSymbol3020901,e.AlgoSymbol3032000=Jl.AlgoSymbol3032000,e.AlgoSymbol4010800=Zl.AlgoSymbol4010800,e.AlgoSymbol4010801=Hl.AlgoSymbol4010801,e.AlgoSymbol4010905=Ql.AlgoSymbol4010905,e.AlgoSymbol4011100=Xl.AlgoSymbol4011100,e.AlgoSymbol4011101=$l.AlgoSymbol4011101,e.AlgoSymbol4020303=to.AlgoSymbol4020303,e.AlgoSymbol4020401=eo.AlgoSymbol4020401,e.AlgoSymbol4020402=lo.AlgoSymbol4020402,e.AlgoSymbol4022100=oo.AlgoSymbol4022100,e.AlgoSymbol4022101=io.AlgoSymbol4022101,e.AlgoSymbol4022102=no.AlgoSymbol4022102,e.AlgoSymbol6020403=ao.AlgoSymbol6020403,e.AlgoSymbol6020404=ro.AlgoSymbol6020404,e.AlgoSymbol4021101=so.AlgoSymbol4021101,e.AlgoSymbol4021102=po.AlgoSymbol4021102},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JBAlgoSymbolFactory=void 0,l(223);e.JBAlgoSymbolFactory=SuperMap.Plot.JBAlgoSymbolFactory=SuperMap.Plot.JBAlgoSymbolFactory||{};SuperMap.Plot.JBAlgoSymbolFactory.getAlgoSymbol=function(t,e,l){if(100!==t)return new SuperMap.Plot.AlgoSymbol(l);switch(e){case 12500:return new SuperMap.Plot.AlgoSymbol12500(l);case 12501:return new SuperMap.Plot.AlgoSymbol12501(l);case 12502:return new SuperMap.Plot.AlgoSymbol12502(l);case 13700:return new SuperMap.Plot.AlgoSymbol13700(l);case 15200:return new SuperMap.Plot.AlgoSymbol15200(l);case 15201:case 23800:return new SuperMap.Plot.AlgoSymbol15201(l);case 15202:return new SuperMap.Plot.AlgoSymbol15202(l);case 15800:return new SuperMap.Plot.AlgoSymbol15800(l);case 15801:return new SuperMap.Plot.AlgoSymbol15801(l);case 15802:return new SuperMap.Plot.AlgoSymbol15802(l);case 15803:return new SuperMap.Plot.AlgoSymbol15803(l);case 15804:return new SuperMap.Plot.AlgoSymbol15804(l);case 15805:return new SuperMap.Plot.AlgoSymbol15805(l);case 15806:return new SuperMap.Plot.AlgoSymbol15806(l);case 15900:return new SuperMap.Plot.AlgoSymbol15900(l);case 16e3:return new SuperMap.Plot.AlgoSymbol16000(l);case 16001:return new SuperMap.Plot.AlgoSymbol16001(l);case 16100:return new SuperMap.Plot.AlgoSymbol16100(l);case 16200:return new SuperMap.Plot.AlgoSymbol16200(l);case 16201:return new SuperMap.Plot.AlgoSymbol16201(l);case 16202:return new SuperMap.Plot.AlgoSymbol16202(l);case 16203:return new SuperMap.Plot.AlgoSymbol16203(l);case 16500:return new SuperMap.Plot.AlgoSymbol16500(l);case 16700:return new SuperMap.Plot.AlgoSymbol16700(l);case 16900:return new SuperMap.Plot.AlgoSymbol16900(l);case 17400:return new SuperMap.Plot.AlgoSymbol17400(l);case 17401:return new SuperMap.Plot.AlgoSymbol17401(l);case 17500:return new SuperMap.Plot.AlgoSymbol17500(l);case 17501:return new SuperMap.Plot.AlgoSymbol17501(l);case 17600:return new SuperMap.Plot.AlgoSymbol17600(l);case 17700:return new SuperMap.Plot.AlgoSymbol17700(l);case 17703:return new SuperMap.Plot.AlgoSymbol17703(l);case 17704:return new SuperMap.Plot.AlgoSymbol17704(l);case 17800:return new SuperMap.Plot.AlgoSymbol17800(l);case 17801:return new SuperMap.Plot.AlgoSymbol17801(l);case 17802:return new SuperMap.Plot.AlgoSymbol17802(l);case 17803:return new SuperMap.Plot.AlgoSymbol17803(l);case 17804:return new SuperMap.Plot.AlgoSymbol17804(l);case 17805:return new SuperMap.Plot.AlgoSymbol17805(l);case 17806:return new SuperMap.Plot.AlgoSymbol17806(l);case 20300:return new SuperMap.Plot.AlgoSymbol20300(l);case 20301:return new SuperMap.Plot.AlgoSymbol20301(l);case 21401:return new SuperMap.Plot.AlgoSymbol21401(l);case 21500:return new SuperMap.Plot.AlgoSymbol21500(l);case 21501:return new SuperMap.Plot.AlgoSymbol21501(l);case 21502:return new SuperMap.Plot.AlgoSymbol21502(l);case 21503:return new SuperMap.Plot.AlgoSymbol21503(l);case 21504:return new SuperMap.Plot.AlgoSymbol21504(l);case 21600:return new SuperMap.Plot.AlgoSymbol21600(l);case 21800:return new SuperMap.Plot.AlgoSymbol21800(l);case 21900:return new SuperMap.Plot.AlgoSymbol21900(l);case 22e3:return new SuperMap.Plot.AlgoSymbol22000(l);case 22103:return new SuperMap.Plot.AlgoSymbol22103(l);case 22200:return new SuperMap.Plot.AlgoSymbol22200(l);case 23400:return new SuperMap.Plot.AlgoSymbol23400(l);case 23500:return new SuperMap.Plot.AlgoSymbol23500(l);case 2350001:return new SuperMap.Plot.AlgoSymbol2350001(l);case 23600:return new SuperMap.Plot.AlgoSymbol23600(l);case 23700:return new SuperMap.Plot.AlgoSymbol23700(l);case 23901:return new SuperMap.Plot.AlgoSymbol23901(l);case 23902:return new SuperMap.Plot.AlgoSymbol23902(l);case 24700:return new SuperMap.Plot.AlgoSymbol24700(l);case 25e3:return new SuperMap.Plot.AlgoSymbol25000(l);case 25100:return new SuperMap.Plot.AlgoSymbol25100(l);case 25101:return new SuperMap.Plot.AlgoSymbol25101(l);case 25200:return new SuperMap.Plot.AlgoSymbol25200(l);case 21400:case 25201:return new SuperMap.Plot.AlgoSymbol25201(l);case 25202:return new SuperMap.Plot.AlgoSymbol25202(l);case 25300:return new SuperMap.Plot.AlgoSymbol25300(l);case 25301:return new SuperMap.Plot.AlgoSymbol25301(l);case 25400:return new SuperMap.Plot.AlgoSymbol25400(l);case 25500:return new SuperMap.Plot.AlgoSymbol25500(l);case 25501:return new SuperMap.Plot.AlgoSymbol25501(l);case 25502:return new SuperMap.Plot.AlgoSymbol25502(l);case 25503:return new SuperMap.Plot.AlgoSymbol25503(l);case 25600:return new SuperMap.Plot.AlgoSymbol25600(l);case 25601:return new SuperMap.Plot.AlgoSymbol25601(l);case 25700:return new SuperMap.Plot.AlgoSymbol25700(l);case 25701:return new SuperMap.Plot.AlgoSymbol25701(l);case 25800:return new SuperMap.Plot.AlgoSymbol25800(l);case 25801:return new SuperMap.Plot.AlgoSymbol25801(l);case 25900:return new SuperMap.Plot.AlgoSymbol25900(l);case 25901:return new SuperMap.Plot.AlgoSymbol25901(l);case 26400:return new SuperMap.Plot.AlgoSymbol26400(l);case 26500:return new SuperMap.Plot.AlgoSymbol26500(l);case 26501:return new SuperMap.Plot.AlgoSymbol26501(l);case 26502:return new SuperMap.Plot.AlgoSymbol26502(l);case 26503:return new SuperMap.Plot.AlgoSymbol26503(l);case 26600:return new SuperMap.Plot.AlgoSymbol26600(l);case 26601:return new SuperMap.Plot.AlgoSymbol26601(l);case 26700:return new SuperMap.Plot.AlgoSymbol26700(l);case 26800:return new SuperMap.Plot.AlgoSymbol26800(l);case 27100:return new SuperMap.Plot.AlgoSymbol27100(l);case 27300:return new SuperMap.Plot.AlgoSymbol27300(l);case 27700:return new SuperMap.Plot.AlgoSymbol27700(l);case 27701:return new SuperMap.Plot.AlgoSymbol27701(l);case 27900:return new SuperMap.Plot.AlgoSymbol27900(l);case 27901:return new SuperMap.Plot.AlgoSymbol27901(l);case 27902:return new SuperMap.Plot.AlgoSymbol27902(l);case 28e3:return new SuperMap.Plot.AlgoSymbol28000(l);case 28100:return new SuperMap.Plot.AlgoSymbol28100(l);case 28200:return new SuperMap.Plot.AlgoSymbol28200(l);case 28201:return new SuperMap.Plot.AlgoSymbol28201(l);case 28300:return new SuperMap.Plot.AlgoSymbol28300(l);case 28301:return new SuperMap.Plot.AlgoSymbol28301(l);case 28400:return new SuperMap.Plot.AlgoSymbol28400(l);case 28900:return new SuperMap.Plot.AlgoSymbol28900(l);case 29e3:return new SuperMap.Plot.AlgoSymbol29000(l);case 29001:return new SuperMap.Plot.AlgoSymbol29001(l);case 29002:return new SuperMap.Plot.AlgoSymbol29002(l);case 29003:return new SuperMap.Plot.AlgoSymbol29003(l);case 29100:return new SuperMap.Plot.AlgoSymbol29100(l);case 29101:return new SuperMap.Plot.AlgoSymbol29101(l);case 29103:return new SuperMap.Plot.AlgoSymbol29103(l);case 29401:return new SuperMap.Plot.AlgoSymbol29401(l);case 29800:return new SuperMap.Plot.AlgoSymbol29800(l);case 29903:return new SuperMap.Plot.AlgoSymbol29903(l);case 3e4:return new SuperMap.Plot.AlgoSymbol30000(l);case 30001:return new SuperMap.Plot.AlgoSymbol30001(l);case 30002:return new SuperMap.Plot.AlgoSymbol30002(l);case 30100:case 4020400:return new SuperMap.Plot.AlgoSymbol30100(l);case 30200:return new SuperMap.Plot.AlgoSymbol30200(l);case 30201:return new SuperMap.Plot.AlgoSymbol30201(l);case 30800:return new SuperMap.Plot.AlgoSymbol30800(l);case 30102:return new SuperMap.Plot.AlgoSymbol30102(l);case 31300:return new SuperMap.Plot.AlgoSymbol31300(l);case 31301:return new SuperMap.Plot.AlgoSymbol31301(l);case 31302:return new SuperMap.Plot.AlgoSymbol31302(l);case 31303:return new SuperMap.Plot.AlgoSymbol31303(l);case 31304:return new SuperMap.Plot.AlgoSymbol31304(l);case 31400:return new SuperMap.Plot.AlgoSymbol31400(l);case 31401:return new SuperMap.Plot.AlgoSymbol31401(l);case 31600:return new SuperMap.Plot.AlgoSymbol31600(l);case 31601:return new SuperMap.Plot.AlgoSymbol31601(l);case 31803:return new SuperMap.Plot.AlgoSymbol31803(l);case 32300:return new SuperMap.Plot.AlgoSymbol32300(l);case 32900:return new SuperMap.Plot.AlgoSymbol32900(l);case 33400:return new SuperMap.Plot.AlgoSymbol33400(l);case 34300:return new SuperMap.Plot.AlgoSymbol34300(l);case 34400:return new SuperMap.Plot.AlgoSymbol34400(l);case 34500:return new SuperMap.Plot.AlgoSymbol34500(l);case 34501:return new SuperMap.Plot.AlgoSymbol34501(l);case 34700:return new SuperMap.Plot.AlgoSymbol34700(l);case 34800:return new SuperMap.Plot.AlgoSymbol34800(l);case 34801:return new SuperMap.Plot.AlgoSymbol34801(l);case 34900:return new SuperMap.Plot.AlgoSymbol34900(l);case 34901:return new SuperMap.Plot.AlgoSymbol34901(l);case 34902:return new SuperMap.Plot.AlgoSymbol34902(l);case 35e3:return new SuperMap.Plot.AlgoSymbol35000(l);case 35200:return new SuperMap.Plot.AlgoSymbol35200(l);case 35304:return new SuperMap.Plot.AlgoSymbol35304(l);case 35500:return new SuperMap.Plot.AlgoSymbol35500(l);case 36400:return new SuperMap.Plot.AlgoSymbol36400(l);case 36401:return new SuperMap.Plot.AlgoSymbol36401(l);case 36600:return new SuperMap.Plot.AlgoSymbol36600(l);case 36700:return new SuperMap.Plot.AlgoSymbol36700(l);case 36800:return new SuperMap.Plot.AlgoSymbol36800(l);case 37100:return new SuperMap.Plot.AlgoSymbol37100(l);case 37200:return new SuperMap.Plot.AlgoSymbol37200(l);case 37300:return new SuperMap.Plot.AlgoSymbol37300(l);case 37301:return new SuperMap.Plot.AlgoSymbol37301(l);case 37600:return new SuperMap.Plot.AlgoSymbol37600(l);case 37601:return new SuperMap.Plot.AlgoSymbol37601(l);case 37700:return new SuperMap.Plot.AlgoSymbol37700(l);case 38600:return new SuperMap.Plot.AlgoSymbol38600(l);case 38700:return new SuperMap.Plot.AlgoSymbol38700(l);case 39e3:return new SuperMap.Plot.AlgoSymbol39000(l);case 39101:return new SuperMap.Plot.AlgoSymbol39101(l);case 39500:return new SuperMap.Plot.AlgoSymbol39500(l);case 39600:return new SuperMap.Plot.AlgoSymbol39600(l);case 39800:return new SuperMap.Plot.AlgoSymbol39800(l);case 39801:return new SuperMap.Plot.AlgoSymbol39801(l);case 39802:return new SuperMap.Plot.AlgoSymbol39802(l);case 4e4:return new SuperMap.Plot.AlgoSymbol40000(l);case 40100:return new SuperMap.Plot.AlgoSymbol40100(l);case 40101:return new SuperMap.Plot.AlgoSymbol40101(l);case 40900:return new SuperMap.Plot.AlgoSymbol40900(l);case 41100:return new SuperMap.Plot.AlgoSymbol41100(l);case 41200:return new SuperMap.Plot.AlgoSymbol41200(l);case 41201:return new SuperMap.Plot.AlgoSymbol41201(l);case 41202:return new SuperMap.Plot.AlgoSymbol41202(l);case 42200:return new SuperMap.Plot.AlgoSymbol42200(l);case 42400:return new SuperMap.Plot.AlgoSymbol42400(l);case 42500:return new SuperMap.Plot.AlgoSymbol42500(l);case 42700:return new SuperMap.Plot.AlgoSymbol42700(l);case 43500:return new SuperMap.Plot.AlgoSymbol43500(l);case 44100:return new SuperMap.Plot.AlgoSymbol44100(l);case 44200:return new SuperMap.Plot.AlgoSymbol44200(l);case 44300:return new SuperMap.Plot.AlgoSymbol44300(l);case 44400:return new SuperMap.Plot.AlgoSymbol44400(l);case 2890001:return new SuperMap.Plot.AlgoSymbol2890001(l);case 3010301:return new SuperMap.Plot.AlgoSymbol3010301(l);case 3010302:return new SuperMap.Plot.AlgoSymbol3010302(l);case 3010303:return new SuperMap.Plot.AlgoSymbol3010303(l);case 3010304:return new SuperMap.Plot.AlgoSymbol3010304(l);case 3010102:return new SuperMap.Plot.AlgoSymbol3010102(l);case 3010103:return new SuperMap.Plot.AlgoSymbol3010103(l);case 3010104:return new SuperMap.Plot.AlgoSymbol3010104(l);case 3010105:return new SuperMap.Plot.AlgoSymbol3010105(l);case 3010106:return new SuperMap.Plot.AlgoSymbol3010106(l);case 3010107:return new SuperMap.Plot.AlgoSymbol3010107(l);case 3010108:return new SuperMap.Plot.AlgoSymbol3010108(l);case 3020901:return new SuperMap.Plot.AlgoSymbol3020901(l);case 3032e3:return new SuperMap.Plot.AlgoSymbol3032000(l);case 4010800:return new SuperMap.Plot.AlgoSymbol4010800(l);case 4010801:return new SuperMap.Plot.AlgoSymbol4010801(l);case 4010905:return new SuperMap.Plot.AlgoSymbol4010905(l);case 4011100:return new SuperMap.Plot.AlgoSymbol4011100(l);case 4011101:return new SuperMap.Plot.AlgoSymbol4011101(l);case 4020303:return new SuperMap.Plot.AlgoSymbol4020303(l);case 4020401:return new SuperMap.Plot.AlgoSymbol4020401(l);case 4020402:return new SuperMap.Plot.AlgoSymbol4020402(l);case 4021101:return new SuperMap.Plot.AlgoSymbol4021101(l);case 4021102:return new SuperMap.Plot.AlgoSymbol4021102(l);case 4022100:return new SuperMap.Plot.AlgoSymbol4022100(l);case 4022101:return new SuperMap.Plot.AlgoSymbol4022101(l);case 4022102:return new SuperMap.Plot.AlgoSymbol4022102(l);case 6020400:return new SuperMap.Plot.AlgoSymbol6020400(l);case 6020401:return new SuperMap.Plot.AlgoSymbol6020401(l);case 6020402:return new SuperMap.Plot.AlgoSymbol6020402(l);case 6020403:return new SuperMap.Plot.AlgoSymbol6020403(l);case 6020404:return new SuperMap.Plot.AlgoSymbol6020404(l);default:return new SuperMap.Plot.AlgoSymbol(l)}},SuperMap.Plot.JBAlgoSymbolFactory.isAccessServer=function(t,e){if(100!==t)return!0;switch(e){case 12500:case 12501:case 12502:case 13700:case 15200:case 15201:case 15202:case 15800:case 15801:case 15802:case 15803:case 15804:case 15805:case 15806:case 15900:case 16e3:case 16001:case 16100:case 16200:case 16201:case 16202:case 16203:case 16500:case 16700:case 16900:case 17400:case 17401:case 17500:case 17501:case 17600:case 17700:case 17703:case 17704:case 17800:case 17801:case 17802:case 17803:case 17804:case 17805:case 17806:case 20300:case 20301:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 21800:case 21900:case 22e3:case 22103:case 22200:case 23400:case 23500:case 23600:case 23700:case 23800:case 23901:case 23902:case 24700:case 25e3:case 25100:case 25101:case 25200:case 25201:case 25202:case 25300:case 25301:case 25400:case 25500:case 25501:case 25502:case 25503:case 25600:case 25601:case 25700:case 25701:case 25800:case 25801:case 25900:case 25901:case 26400:case 26500:case 26501:case 26502:case 26503:case 26600:case 26601:case 26700:case 26800:case 27100:case 27300:case 27700:case 27701:case 27900:case 27901:case 27902:case 28e3:case 28100:case 28200:case 28201:case 28300:case 28301:case 28400:case 28900:case 29e3:case 29001:case 29002:case 29003:case 29100:case 29101:case 29103:case 29401:case 29800:case 29903:case 3e4:case 30001:case 30002:case 30100:case 30200:case 30201:case 30800:case 30102:case 31300:case 31301:case 31302:case 31303:case 31304:case 31400:case 31401:case 31600:case 31601:case 31803:case 32300:case 32900:case 33400:case 34300:case 34400:case 34500:case 34501:case 34700:case 34800:case 34801:case 34900:case 34901:case 34902:case 35e3:case 35200:case 35304:case 35500:case 36400:case 36401:case 36600:case 36700:case 36800:case 37100:case 37200:case 37300:case 37301:case 37600:case 37601:case 37700:case 38600:case 38700:case 39e3:case 39101:case 39500:case 39600:case 39800:case 39801:case 39802:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 4e4:case 40100:case 40101:case 40900:case 41100:case 41200:case 41201:case 41202:case 42200:case 42400:case 42500:case 42700:case 43500:case 44100:case 44200:case 44300:case 44400:case 2350001:case 2890001:case 3010301:case 3010302:case 3010303:case 3010304:case 3020901:case 3032e3:case 4010800:case 4010801:case 4010905:case 4011100:case 4011101:case 4020303:case 4020400:case 4020401:case 4020402:case 4022100:case 4022101:case 4022102:case 6020400:case 6020401:case 6020402:case 6020403:case 6020404:case 4021101:case 4021102:return!1;default:return!0}},SuperMap.Plot.JBAlgoSymbolFactory.getSymbolWayType=function(t,e){if(100!==t)return SuperMap.Plot.AddPoint_WayType.UNKNOWN;switch(e){case 15200:case 15201:case 16203:case 17703:case 17704:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 21900:case 22e3:case 22103:case 23800:case 24700:case 25201:case 25400:case 26500:case 26501:case 26502:case 26600:case 28900:case 29e3:case 29003:case 29903:case 3e4:case 30001:case 30002:case 30100:case 30102:case 30200:case 30201:case 30800:case 31803:case 33400:case 34900:case 34901:case 34902:case 35e3:case 36400:case 44200:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 3010301:case 3010302:case 3010303:case 3010304:return SuperMap.Plot.AddPoint_WayType.CURVE;case 12500:case 12502:case 16100:case 20300:case 25501:case 25502:case 26503:case 25503:case 25601:case 25801:case 25901:case 32900:case 34700:case 35200:case 36401:case 41200:case 41201:case 41202:case 42700:case 44400:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}},SuperMap.Plot.JBAlgoSymbolFactory.getDefaultSubSymbols=function(t,e){var l=[];if(100!==t)return l;switch(e){case 17400:case 17401:return l.push(new SuperMap.Plot.SubSymbol(100,17300)),l.push(new SuperMap.Plot.SubSymbol(100,17301)),l;case 21501:case 26502:return l.push(new SuperMap.Plot.SubSymbol(100,19700)),l;case 21502:return l.push(new SuperMap.Plot.SubSymbol(100,6803)),l;case 22103:case 26501:return l.push(new SuperMap.Plot.SubSymbol(100,22100)),l;case 21503:return l.push(new SuperMap.Plot.SubSymbol(100,7900)),l;case 21504:return l.push(new SuperMap.Plot.SubSymbol(100,8404)),l;case 22e3:return l.push(new SuperMap.Plot.SubSymbol(100,1e3)),l;case 23500:return l.push(new SuperMap.Plot.SubSymbol(100,1300)),l;case 23600:return l.push(new SuperMap.Plot.SubSymbol(100,800)),l.push(new SuperMap.Plot.SubSymbol(100,800)),l;case 25300:return l.push(new SuperMap.Plot.SubSymbol(100,6302)),l.push(new SuperMap.Plot.SubSymbol(100,7900)),l;case 25301:return l.push(new SuperMap.Plot.SubSymbol(100,300)),l.push(new SuperMap.Plot.SubSymbol(100,6200)),l;case 25503:return l.push(new SuperMap.Plot.SubSymbol(100,8402)),l;case 26700:return l.push(new SuperMap.Plot.SubSymbol(100,4500)),l;case 27100:return l.push(new SuperMap.Plot.SubSymbol(100,7700)),l;case 27300:return l.push(new SuperMap.Plot.SubSymbol(100,1500)),l;case 3032e3:return l.push(new SuperMap.Plot.SubSymbol(100,1500)),l.push(new SuperMap.Plot.SubSymbol(100,1500)),l;case 28300:return l.push(new SuperMap.Plot.SubSymbol(100,18600)),l;case 28301:return l.push(new SuperMap.Plot.SubSymbol(100,18600)),l.push(new SuperMap.Plot.SubSymbol(100,18600)),l;case 28400:return l.push(new SuperMap.Plot.SubSymbol(100,4801)),l;case 29001:return l.push(new SuperMap.Plot.SubSymbol(100,5200)),l.push(new SuperMap.Plot.SubSymbol(100,5200)),l;case 29002:return l.push(new SuperMap.Plot.SubSymbol(100,600)),l.push(new SuperMap.Plot.SubSymbol(100,5300)),l;case 23901:case 23902:return l.push(new SuperMap.Plot.SubSymbol(100,4800)),l;case 31600:case 31601:return l.push(new SuperMap.Plot.SubSymbol(100,700)),l;case 29903:case 4021101:return l.push(new SuperMap.Plot.SubSymbol(100,600)),l;case 32900:return l.push(new SuperMap.Plot.SubSymbol(100,6700)),l;case 35200:return l.push(new SuperMap.Plot.SubSymbol(100,6803)),l;case 37700:return l.push(new SuperMap.Plot.SubSymbol(100,37800)),l;case 3010107:return l.push(new SuperMap.Plot.SubSymbol(100,800)),l;case 3010108:return l.push(new SuperMap.Plot.SubSymbol(100,4600)),l;case 4010800:return l.push(new SuperMap.Plot.SubSymbol(100,1300)),l;case 4010801:case 4022100:case 4022101:case 4022102:case 4021102:return l.push(new SuperMap.Plot.SubSymbol(100,8400)),l;case 31303:case 31302:return l.push(new SuperMap.Plot.SubSymbol(100,4400)),l;case 4010905:return l.push(new SuperMap.Plot.SubSymbol(100,700)),l;case 31803:return l.push(new SuperMap.Plot.SubSymbol(100,8402)),l;case 34400:return l.push(new SuperMap.Plot.SubSymbol(100,6202)),l;case 34501:return l.push(new SuperMap.Plot.SubSymbol(100,8403)),l;case 35304:return l.push(new SuperMap.Plot.SubSymbol(100,35301)),l;case 36401:return l.push(new SuperMap.Plot.SubSymbol(100,7200)),l;case 36600:return l.push(new SuperMap.Plot.SubSymbol(100,300)),l;case 37100:return l.push(new SuperMap.Plot.SubSymbol(100,8e3)),l;case 37200:return l.push(new SuperMap.Plot.SubSymbol(100,7101)),l;case 37600:case 37601:case 38600:case 38700:return l.push(new SuperMap.Plot.SubSymbol(100,4600)),l;case 39e3:return l.push(new SuperMap.Plot.SubSymbol(100,9300)),l.push(new SuperMap.Plot.SubSymbol(100,9300)),l.push(new SuperMap.Plot.SubSymbol(100,9300)),l;case 39101:return l.push(new SuperMap.Plot.SubSymbol(100,39100)),l;case 39500:case 39600:return l.push(new SuperMap.Plot.SubSymbol(100,8700)),l;case 39800:case 39801:case 39802:case 4e4:return l.push(new SuperMap.Plot.SubSymbol(100,8900)),l;case 36700:return l.push(new SuperMap.Plot.SubSymbol(100,300)),l;case 42200:return l.push(new SuperMap.Plot.SubSymbol(100,20901)),l;case 4011100:return l.push(new SuperMap.Plot.SubSymbol(100,4e3)),l.push(new SuperMap.Plot.SubSymbol(100,4001)),l;case 4011101:return l.push(new SuperMap.Plot.SubSymbol(100,700)),l.push(new SuperMap.Plot.SubSymbol(100,700)),l;case 2350001:return l.push(new SuperMap.Plot.SubSymbol(100,7900)),l.push(new SuperMap.Plot.SubSymbol(100,1300)),l;case 2890001:return l.push(new SuperMap.Plot.SubSymbol(100,4003)),l;default:return l}},SuperMap.Plot.JBAlgoSymbolFactory.getMinEditPts=function(t,e){if(100!==t)return 0;switch(e){case 12500:case 12501:case 12502:case 13700:case 15200:case 15201:case 15202:case 15800:case 15801:case 15802:case 15803:case 15804:case 15805:case 15806:case 15900:case 16e3:case 16001:case 16200:case 16201:case 16202:case 16203:case 16500:case 16700:case 16900:case 17400:case 17401:case 17500:case 17501:case 17600:case 17700:case 17703:case 17704:case 17800:case 17801:case 17802:case 17803:case 17804:case 17805:case 17806:case 20300:case 20301:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 21800:case 21900:case 22e3:case 22103:case 22200:case 23400:case 23500:case 23600:case 23700:case 23800:case 23901:case 23902:case 24700:case 25e3:case 25100:case 25101:case 25201:case 25202:case 25300:case 25301:case 25400:case 26400:case 26500:case 26501:case 26502:case 26503:case 26600:case 26601:case 26700:case 26800:case 27100:case 27300:case 27700:case 27701:case 27900:case 27901:case 27902:case 28e3:case 28100:case 28200:case 28201:case 28300:case 28301:case 28400:case 28900:case 29e3:case 29001:case 29002:case 29003:case 29100:case 29101:case 29103:case 29401:case 29903:case 41100:case 44100:case 43500:case 42500:case 39500:case 37301:case 37300:case 37200:case 37100:case 36800:case 36600:case 35500:case 34801:case 34800:case 34501:case 34500:case 34400:case 34300:case 31600:case 31601:case 31401:case 31400:case 31304:case 31303:case 31302:case 31301:case 31300:case 44200:case 41200:case 41201:case 41202:case 31803:case 30800:case 30201:case 30200:case 44300:case 42400:case 42200:case 40900:case 40100:case 40101:case 4e4:case 39802:case 39801:case 39800:case 39600:case 39101:case 39e3:case 38600:case 37700:case 37601:case 37600:case 36700:case 36401:case 36400:case 35304:case 35200:case 35e3:case 34700:case 33400:case 30100:case 30102:case 30002:case 30001:case 3e4:case 38700:case 32300:case 42700:case 34902:case 34901:case 34900:case 32900:case 2350001:case 2890001:case 3032e3:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 3010301:case 3010302:case 3010303:case 3010304:case 3020901:case 4021101:case 4021102:case 4010800:case 4010801:case 4011100:case 4011101:case 4022101:case 4022102:case 4020303:case 4020400:case 4020401:case 4020402:case 4022100:case 4010905:case 6020400:case 6020401:case 6020402:case 6020403:case 6020404:return 2;case 16100:case 25200:case 25500:case 25501:case 25502:case 25503:case 25600:case 25601:case 25700:case 25701:case 25800:case 25801:case 25900:case 25901:case 29800:case 44400:return 3;default:return 0}},SuperMap.Plot.JBAlgoSymbolFactory.getMaxEditPts=function(t,e){if(100!==t)return 0;switch(e){case 15202:case 16202:case 20301:case 16700:case 16900:case 17600:case 25e3:case 25100:case 25101:case 25300:case 25301:case 27100:case 27700:case 27900:case 27901:case 27902:case 28100:case 28201:case 28301:case 41100:case 44100:case 43500:case 42500:case 39500:case 37301:case 37300:case 37200:case 37100:case 36800:case 36600:case 35500:case 34801:case 34800:case 34501:case 34500:case 34400:case 34300:case 31600:case 31601:case 31401:case 31400:case 31304:case 31303:case 31302:case 31301:case 31300:case 21800:case 26700:case 29401:return 2;case 13700:case 17800:case 17801:case 17802:case 17803:case 17804:case 17805:case 17806:case 23901:case 23902:case 38700:case 26800:case 29001:case 29002:case 32300:case 29101:case 29100:case 4010905:case 6020400:case 6020401:case 6020402:case 6020403:case 29e3:return 3;case 28e3:return 4;case 16201:case 17400:case 17401:case 17500:case 17501:case 22200:case 23400:case 23500:case 2350001:case 23600:case 23700:case 23800:case 25200:case 27300:case 27701:case 28400:case 44300:case 42400:case 42200:case 40900:case 40100:case 40101:case 4e4:case 39802:case 39801:case 39800:case 39600:case 39101:case 39e3:case 38600:case 37700:case 37601:case 37600:case 36700:case 36401:case 36400:case 35304:case 35200:case 35e3:case 34700:case 33400:case 30100:case 30102:case 30002:case 30001:case 3e4:case 29903:case 29800:case 3032e3:case 4010800:case 4010801:case 4011100:case 4011101:case 4022101:case 4022102:case 4020303:case 4020400:case 4020401:case 4020402:case 4022100:case 16500:return 30;case 42700:case 34902:case 34901:case 34900:case 32900:case 6020404:return 512;case 12500:case 12501:case 12502:case 16e3:case 16001:case 16100:case 16200:case 16203:case 17700:case 17703:case 17704:case 21900:case 22e3:case 22103:case 25201:case 25202:case 24700:case 25400:case 25500:case 25501:case 25502:case 25503:case 25600:case 25601:case 25700:case 25701:case 25800:case 25801:case 25900:case 25901:case 28900:case 2890001:case 44400:case 44200:case 41200:case 41201:case 41202:case 31803:case 30800:case 30201:case 30200:case 4021102:case 29103:case 28300:case 28200:case 29003:return 1e3;case 15200:case 15201:case 15800:case 15801:case 15802:case 15803:case 15804:case 15805:case 15806:case 15900:case 20300:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 26400:case 26500:case 26501:case 26502:case 26503:case 26600:case 26601:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 3010301:case 3010302:case 3010303:case 3010304:case 3020901:case 4021101:return 9999;default:return 0}},SuperMap.Plot.JBAlgoSymbolFactory.getDefaultStyle=function(t,e){var l={};if(100===t)switch(e){case 34800:case 34801:case 22200:case 28e3:case 28100:case 28200:case 28201:case 44400:l.color=l.strokeColor="#0000ff";break;case 42500:case 42700:l.color=l.strokeColor="#00ff00";break;case 42400:l.color=l.strokeColor="#006600"}return l},SuperMap.Plot.JBAlgoSymbolFactory.canPolylineConnect=function(t,e){if(100===t)switch(e){case 16500:case 17400:case 17401:case 17500:case 17501:case 23400:case 23500:case 23600:case 23700:case 27300:case 28200:case 28300:case 28400:case 37600:case 37601:case 37700:case 39e3:case 40100:case 40101:case 42200:case 42400:case 2350001:case 3032e3:case 4010800:case 4010801:case 4011100:case 4011101:case 4022100:case 4022101:case 4022102:return!0;default:return!1}},SuperMap.Plot.JBAlgoSymbolFactory.canSetSubSymbol=function(t,e){return SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(t,e).length>0||100===this.libID&&(25200===e||3020901===e||23400===e||30800===e||26400===e)},SuperMap.Plot.JBAlgoSymbolFactory.zoomInCalSymbol=function(){return!1},SuperMap.Plot.JBAlgoSymbolFactory.zoomCalSymbol=function(t,e){if(100!==t)return!1;switch(e){case 28e3:case 28100:case 28200:case 28201:case 32300:return!0;default:return!1}}},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JBAlgoSymbolFactory=void 0;var o=l(224);e.JBAlgoSymbolFactory=o.JBAlgoSymbolFactory}]);
-
-/***/ }),
-/* 2 */
-/***/ (function(module, exports) {
-
-/*!
- * 
- *          iclient-plot-algorithms-wj.(http://iclient.supermap.io)
- *          Copyright© 2000 - 2018 SuperMap Software Co.Ltd
- *          license: undefined
- *          version: v9.1.0
- *         
- */!function(t){var e={};function l(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,l),i.l=!0,i.exports}l.m=t,l.c=e,l.d=function(t,e,o){l.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},l.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},l.t=function(t,e){if(1&e&&(t=l(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(l.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)l.d(o,i,function(e){return t[e]}.bind(null,i));return o},l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,"a",e),e},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.p="",l(l.s=190)}([function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6030601=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0]*e,o=t[0].clone(),i=t[1].clone(),n=SuperMap.Plot.PlottingUtil.linePnt(i,o,e+.2*e),r=SuperMap.Plot.PlottingUtil.linePnt(o,i,e+.2*e),a=1.5*l,s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i,n),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,o,r),u=SuperMap.Plot.PlottingUtil.paraLine(t,l,!0),c=SuperMap.Plot.PlottingUtil.paraLine(t,l,!1),P=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],3*e/11),S=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],4*e/11),h=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],7*e/11),y=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],8*e/11),f=[];f.push(s.pntRight),f.push(u[0]),f.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=[];g.push(S),g.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);var b=[];b.push(y),b.push(u[u.length-1]),b.push(p.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var M=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],3*e/11),m=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],4*e/11),d=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],7*e/11),v=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],8*e/11),O=[];O.push(s.pntLeft),O.push(c[0]),O.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O);var U=[];U.push(m),U.push(d),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U);var w=[];w.push(v),w.push(c[c.length-1]),w.push(p.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w);var L=new SuperMap.Geometry.Point((s.pntLeft.x+s.pntRight.x)/2,(s.pntLeft.y+s.pntRight.y)/2),_=new SuperMap.Geometry.Point((P.x+M.x)/2,(P.y+M.y)/2),V=[];V.push(L),V.push(_),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V);var A=SuperMap.Plot.PlottingUtil.radian(L,_)*SuperMap.Plot.PlottingUtil.RTOD,T=SuperMap.Plot.PlottingUtil.distance(L,_),E=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,L,_),x=SuperMap.Plot.PlottingUtil.circlePoint(E,.025*T,.025*T,A+90),j=SuperMap.Plot.PlottingUtil.circlePoint(E,.025*T,.025*T,A-90),Y=[];Y.push(x),Y.push(j),Y.push(_);var C={fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,Y,C);var I=new SuperMap.Geometry.Point((p.pntLeft.x+p.pntRight.x)/2,(p.pntLeft.y+p.pntRight.y)/2),B=new SuperMap.Geometry.Point((y.x+v.x)/2,(y.y+v.y)/2),R=[];R.push(I),R.push(B),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,R);var G=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,I,B),N=SuperMap.Plot.PlottingUtil.circlePoint(G,.025*T,.025*T,A+90),D=SuperMap.Plot.PlottingUtil.circlePoint(G,.025*T,.025*T,A-90),k=[];k.push(N),k.push(D),k.push(B),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,k,C),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol6030601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6031001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=this.subSymbols[0].symbolData.symbolSize.x;var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(a.pts,r.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=60*SuperMap.Plot.PlottingUtil.distance(r.pts,a.pts)/l,u=new SuperMap.Geometry.Point(2*a.pts.x-r.pts.x,2*a.pts.y-r.pts.y),c=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,s),P=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,s-180);if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&(this.computeSubSymbol(this.subSymbols[0],a.pts,p,s-90),this.computeSubSymbol(this.subSymbols[1],c,p,s-90),this.computeSubSymbol(this.subSymbols[2],P,p,s-90)),r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(-1===n.index&&3===t&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol6031001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol6030501=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=.05*SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.paraLine(t,e,!0),o=SuperMap.Plot.PlottingUtil.paraLine(t,e,!1),i=l[0],n=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,l[0],l[1]),r=[];r.push(i),r.push(n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var a=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2+.2/3,l[0],l[1]),s=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3,l[0],l[1]),p=[];p.push(a),p.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);var u=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3*2,l[0],l[1]),c=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(3*.2+.2/3*2,l[0],l[1]),P=[];P.push(u),P.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,l[0],l[1]),h=l[1],y=[];y.push(S),y.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var f=o[0],g=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,o[0],o[1]),b=[];b.push(f),b.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var M=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2+.2/3,o[0],o[1]),m=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3,o[0],o[1]),d=[];d.push(M),d.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3*2,o[0],o[1]),O=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(3*.2+.2/3*2,o[0],o[1]),U=[];U.push(v),U.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U);var w=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,o[0],o[1]),L=o[1],_=[];_.push(w),_.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_);var V=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,t[0],t[1]),A=t[0].clone(),T=[];T.push(V),T.push(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T);var E=SuperMap.Plot.PlottingUtil.radian(V,A)*SuperMap.Plot.PlottingUtil.RTOD,x=SuperMap.Plot.PlottingUtil.distance(V,A),j=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,V,A),Y=SuperMap.Plot.PlottingUtil.circlePoint(j,.025*x,.025*x,E+90),C=SuperMap.Plot.PlottingUtil.circlePoint(j,.025*x,.025*x,E-90),I=[];I.push(Y),I.push(C),I.push(V);var B={fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,I,B);var R=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,t[1],t[0]),G=t[1].clone(),N=[];N.push(R),N.push(G),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,N);var D=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,R,G),k=SuperMap.Plot.PlottingUtil.circlePoint(D,.025*x,.025*x,E+90),z=SuperMap.Plot.PlottingUtil.circlePoint(D,.025*x,.025*x,E-90),F=[];F.push(k),F.push(z),F.push(R),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,F,B),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol6030501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030107=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="练",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030107=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030106=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="沙",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030106=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030105=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="石",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030105=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030104=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="催",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030104=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030103=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="砌",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030103=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030102=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="浇",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030102=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol6030101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="挖",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol6030101=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5020802=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,s,0),this.addScalePoint(p);var u=s,c=SuperMap.Plot.PlottingUtil.circlePoint(p,u,u,90);this.addScalePoint(c),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=0,a=0;if(0===t)r=(e.x-i.x)/n,this.scaleValues[2]=r,a=(e.y-i.y)/n,this.scaleValues[3]=a;else if(1===t){r=this.scaleValues[2],a=this.scaleValues[3];var s=new SuperMap.Geometry.Point(i.x+n*r,i.y+n*a),p=SuperMap.Plot.PlottingUtil.distance(s,e);this.scaleValues[0]=p/n}}}}]),e}();SuperMap.Plot.AlgoSymbol5020802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5035205=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue()/3);var o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x-4*n,r.y),s=new SuperMap.Geometry.Point(r.x-4*n,r.y-n/2),p=[];p.push(a),p.push(s);var u={lineTypeLimit:!0,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,u);var c=new SuperMap.Geometry.Point(r.x-4*n,r.y),P=new SuperMap.Geometry.Point(r.x-n,r.y),S=[];S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,u),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,2*n,0);var h=new SuperMap.Geometry.Point(r.x+4*n,r.y),y=new SuperMap.Geometry.Point(r.x+n,r.y),f=[];f.push(h),f.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f,u);var g=new SuperMap.Geometry.Point(r.x+4*n,r.y+n/2),b=new SuperMap.Geometry.Point(r.x+4*n,r.y),M=[];M.push(g),M.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M,u),this.addScalePoint(r,0);var m=SuperMap.Plot.PlottingUtil.circlePoint(r,2*n,2*n,90);this.addScalePoint(m,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=0,r=0;if(0===t&&(n=(e.x-i.x)/o,this.scaleValues[0]=n,r=(e.y-i.y)/o,this.scaleValues[1]=r),1===t){n=this.scaleValues[0],r=this.scaleValues[1];var a=new SuperMap.Geometry.Point(i.x+o*n,i.y+o*r),s=SuperMap.Plot.PlottingUtil.distance(a,e);this.scaleValues[2]=s/2/o}}}}]),e}();SuperMap.Plot.AlgoSymbol5035205=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5035203=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);t.splice(0,2),t.unshift(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=l*this.scaleValues[4],i=l*this.scaleValues[5],n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(o,t),r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.radian(r.pts,n.pts)*SuperMap.Plot.PlottingUtil.RTOD,s=SuperMap.Plot.PlottingUtil.distance(n.pts,r.pts),p=r.pts.clone(),u=new SuperMap.Geometry.Point(0,.1*s),c=new SuperMap.Geometry.Point(.4*s,.1*s),P=new SuperMap.Geometry.Point(.4*s,-.1*s),S=new SuperMap.Geometry.Point(0,-.1*s),h=SuperMap.Plot.PlottingUtil.coordinateTrans(p,u,a),y=SuperMap.Plot.PlottingUtil.coordinateTrans(p,c,a),f=SuperMap.Plot.PlottingUtil.coordinateTrans(p,P,a),g=SuperMap.Plot.PlottingUtil.coordinateTrans(p,S,a),b=[];b.push(h),b.push(y),b.push(f),b.push(g),b.push(h);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,{fillLimit:!0,lineTypeLimit:!0,surroundLineLimit:!0});var M=new SuperMap.Geometry.Point(.05*s,0),m=new SuperMap.Geometry.Point(.15*s,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(p,M,a),v=SuperMap.Plot.PlottingUtil.coordinateTrans(p,m,a),O=[];O.push(d),O.push(v);var U={lineTypeLimit:!0,surroundLineLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,U);var w=new SuperMap.Geometry.Point(.1*s,.05*s),L=new SuperMap.Geometry.Point(.1*s,-.05*s),_=SuperMap.Plot.PlottingUtil.coordinateTrans(p,w,a),V=SuperMap.Plot.PlottingUtil.coordinateTrans(p,L,a),A=[];A.push(_),A.push(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,U);var T=new SuperMap.Geometry.Point(.25*s,.05*s),E=new SuperMap.Geometry.Point(.35*s,.05*s),x=SuperMap.Plot.PlottingUtil.coordinateTrans(p,T,a),j=SuperMap.Plot.PlottingUtil.coordinateTrans(p,E,a),Y=[];Y.push(x),Y.push(j),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Y,U);var C=new SuperMap.Geometry.Point(.3*s,.05*s),I=new SuperMap.Geometry.Point(.3*s,-.05*s),B=SuperMap.Plot.PlottingUtil.coordinateTrans(p,C,a),R=SuperMap.Plot.PlottingUtil.coordinateTrans(p,I,a),G=[];G.push(B),G.push(R),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,G,U);var N=new SuperMap.Geometry.Point(.25*s,-.05*s),D=new SuperMap.Geometry.Point(.35*s,-.05*s),k=SuperMap.Plot.PlottingUtil.coordinateTrans(p,N,a),z=SuperMap.Plot.PlottingUtil.coordinateTrans(p,D,a),F=[];F.push(k),F.push(z),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,F,U);var K=new SuperMap.Geometry.Point(.4*s,0),W=new SuperMap.Geometry.Point(.8*s,0),J=SuperMap.Plot.PlottingUtil.coordinateTrans(p,K,a),q=SuperMap.Plot.PlottingUtil.coordinateTrans(p,W,a),Z=[];Z.push(J),Z.push(q),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Z,U);var X=new SuperMap.Geometry.Point(.7*s,.025*s),H=new SuperMap.Geometry.Point(.7*s,-.025*s),Q=SuperMap.Plot.PlottingUtil.coordinateTrans(p,X,a),$=SuperMap.Plot.PlottingUtil.coordinateTrans(p,H,a),tt=[];tt.push(q),tt.push(Q),tt.push($);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,tt,{fillLimit:!0,lineTypeLimit:!0,surroundLineLimit:!0,fill:!0}),n.pts.isScalePoint=!0,n.pts.tag=this.scalePoints.length,this.scalePoints.push(n.pts.clone()),r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(-1===n.index&&3===t&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol5035203=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5035202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=this.subSymbols[0].symbolData.symbolSize.x;var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(a.pts,r.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=60*SuperMap.Plot.PlottingUtil.distance(r.pts,a.pts)/l;if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&this.computeSubSymbol(this.subSymbols[0],a.pts,p,s-90),r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(-1===n.index&&3===t&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol5035202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5035201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(1e3),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[1]=2*this.getSubSymbolScaleValue());var o=l*this.scaleValues[1],i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,o);if(-1!==i.index){var n=t[0].clone(),r=i.pt,a=SuperMap.Plot.PlottingUtil.radian(n,r)*SuperMap.Plot.PlottingUtil.RTOD,s=[];s.push(i.pt);for(var p=i.index+1;p<e.length;p++)s.push(e[p]);this.addArrow(s);var u=.3*o,c=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(2/3*.5,t[0],i.pt);if(this.subSymbols.length>0){this.computeSubSymbol(this.subSymbols[0],c,u,a);var P=SuperMap.Plot.PlottingUtil.circlePoint(t[0],2.1*u,2.1*u,a),S=SuperMap.Plot.PlottingUtil.circlePoint(t[0],3*u,3*u,a),h=[];h.push(P),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=SuperMap.Plot.PlottingUtil.circlePoint(S,.2*u,.2*u,a),f=SuperMap.Plot.PlottingUtil.circlePoint(S,.05*u,.05*u,a+90),g=SuperMap.Plot.PlottingUtil.circlePoint(S,.05*u,.05*u,a+270),b=[];b.push(y),b.push(f),b.push(g);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,{fillLimit:!0,fill:!0})}var M=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,a+90);this.addScalePoint(M,0),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=l[0].clone(),n=e.clone(),r=SuperMap.Plot.PlottingUtil.distance(n,i);if(0===t){var a=r/o;a<=.06&&(a=.06),a>=.15&&(a=.15),this.scaleValues[1]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol5035201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5034801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=t[0].clone(),o=t[1].clone();e=2==t.length?o:t[2].clone();var i=new SuperMap.Geometry.Point((l.x+o.x)/2,(l.y+o.y)/2),n=SuperMap.Plot.PlottingUtil.distance(i,e),r=.5*n,a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,i,e),s=a.pntLeft,p=a.pntRight,u=!(i.x>e.x),c=[];u?(c.push(l),c.push(s)):(c.push(l),c.push(p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var P=[];u?(P.push(o),P.push(p)):(P.push(o),P.push(s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S,h,y,f,g,b=.37*n,M=SuperMap.Plot.PlottingUtil.linePnt(i,e,b),m=.09*n,d=[];d.push(M),d.push(new SuperMap.Geometry.Point(M.x,M.y+m)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,d,{lineTypeLimit:!0}),u?(h=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(m,i,M)).pntLeft,y=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*m,i,M)).pntLeft,f=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(m,h,y)).pntRight,g=S.pntLeft):(h=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(m,i,M)).pntRight,y=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*m,i,M)).pntRight,f=(S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(m,h,y)).pntRight,g=S.pntLeft);var v=[];v.push(h),v.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,{lineTypeLimit:!0});var O=[];O.push(f),O.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O,{lineTypeLimit:!0}),this.addText("催",M,m,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol5034801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5034203=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=.5*l,i=l*this.getSubSymbolScaleValue()*1.5,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(o,e);if(n.bfind){var r=n.pts.clone(),a=e[n.index].clone(),s=e[n.index+1].clone(),p=SuperMap.Plot.PlottingUtil.radian(a,s)*SuperMap.Plot.PlottingUtil.RTOD,u=SuperMap.Plot.PlottingUtil.circlePoint(r,i,i,p+90),c=[];c.push(n.pts),c.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{lineTypeLimit:!0});var P=SuperMap.Plot.PlottingUtil.radian(r,u)*SuperMap.Plot.PlottingUtil.RTOD,S=new SuperMap.Geometry.Point(-.2*i,.05*i),h=new SuperMap.Geometry.Point(-.2*i,-.05*i),y=SuperMap.Plot.PlottingUtil.coordinateTrans(u,S,P),f=SuperMap.Plot.PlottingUtil.coordinateTrans(u,h,P),g=[];g.push(u),g.push(y),g.push(f);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,g,{lineTypeLimit:!0,fillLimit:!0,fill:!0});var b=new SuperMap.Geometry.Point(0,-.6*i),M=SuperMap.Plot.PlottingUtil.coordinateTrans(r,b,p);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],M,i,p-90),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol5034203=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5034202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=o*this.scaleValues[2],a=o*this.scaleValues[3],s=new SuperMap.Geometry.Point(l.x+r,l.y+a),p=o*n,u=new SuperMap.Geometry.Point(s.x-.5*p,s.y);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],u,p,0);var c=new SuperMap.Geometry.Point(s.x+.5*p,s.y),P=SuperMap.Plot.PlottingUtil.circlePoint(c,.3*p,.3*p,-90),S=SuperMap.Plot.PlottingUtil.circlePoint(c,.5*p,.5*p,90),h=[];h.push(P),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*p,.2*p,-90),f=SuperMap.Plot.PlottingUtil.circlePoint(P,.05*p,.05*p,0),g=SuperMap.Plot.PlottingUtil.circlePoint(P,.05*p,.05*p,180),b=[];b.push(y),b.push(f),b.push(g);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,{fillLimit:!0,fill:!0});var M=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,180);this.addScalePoint(M,0),this.addScalePoint(s,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===n)return;var r=0,a=0,s=0,p=0;if(0===t){r=n*(s=this.scaleValues[2]),a=n*(p=this.scaleValues[3]);var u=new SuperMap.Geometry.Point(i.x+r,i.y+a),c=SuperMap.Plot.PlottingUtil.distance(e,u);this.scaleValues[0]=c/n}else 1===t&&(s=(r=e.x-i.x)/n,p=(a=e.y-i.y)/n,this.scaleValues[2]=s,this.scaleValues[3]=p)}}}]),e}();SuperMap.Plot.AlgoSymbol5034202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5034201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=o*this.scaleValues[2],a=o*this.scaleValues[3],s=new SuperMap.Geometry.Point(l.x+r,l.y+a),p=o*n,u=new SuperMap.Geometry.Point(s.x-.5*p,s.y);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],u,p,0);var c=new SuperMap.Geometry.Point(s.x+.5*p,s.y),P=SuperMap.Plot.PlottingUtil.circlePoint(c,.5*p,.5*p,-90),S=SuperMap.Plot.PlottingUtil.circlePoint(c,.3*p,.3*p,90),h=[];h.push(P),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=SuperMap.Plot.PlottingUtil.circlePoint(S,.2*p,.2*p,90),f=SuperMap.Plot.PlottingUtil.circlePoint(S,.05*p,.05*p,0),g=SuperMap.Plot.PlottingUtil.circlePoint(S,.05*p,.05*p,180),b=[];b.push(y),b.push(f),b.push(g);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b,{fillLimit:!0,fill:!0});var M=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,180);this.addScalePoint(M,0),this.addScalePoint(s,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===n)return;var r=0,a=0,s=0,p=0;if(0===t){s=n*(r=this.scaleValues[2]),p=n*(a=this.scaleValues[3]);var u=new SuperMap.Geometry.Point(i.x+s,i.y+p),c=SuperMap.Plot.PlottingUtil.distance(e,u);this.scaleValues[0]=c/n}else 1===t&&(r=(s=e.x-i.x)/n,a=(p=e.y-i.y)/n,this.scaleValues[2]=r,this.scaleValues[3]=a)}}}]),e}();SuperMap.Plot.AlgoSymbol5034201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5033803=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0]*o,n=SuperMap.Plot.PlottingUtil.linePnt(e,l,.5*o),r=SuperMap.Plot.PlottingUtil.linePnt(n,e,i),a=SuperMap.Plot.PlottingUtil.linePnt(n,l,i),s=[];s.push(t[0]),s.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);var p=[];p.push(a),p.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);var u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],t[0]),c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[0],t[1]),P=[];P.push(u.pntRight),P.push(u.pntLeft);var S={lineTypeLimit:!0,surroundLineLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,S);var h=[];h.push(c.pntRight),h.push(c.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,S);var y=[];y.push(t[0]),y.push(r);var f=[];f.push(a),f.push(t[1]);var g=SuperMap.Plot.PlottingUtil.paraLine(y,i,!0),b=SuperMap.Plot.PlottingUtil.paraLine(y,i,!1),M=SuperMap.Plot.PlottingUtil.paraLine(f,i,!0),m=SuperMap.Plot.PlottingUtil.paraLine(f,i,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var d=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,2*i,d),this.addScalePoint(u.pntRight,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;i>.48&&(i=.48),this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol5033803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5033802=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0]*o,n=SuperMap.Plot.PlottingUtil.linePnt(e,l,.5*o),r=SuperMap.Plot.PlottingUtil.linePnt(n,e,i),a=SuperMap.Plot.PlottingUtil.linePnt(n,l,i),s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],t[0]),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[0],t[1]),u=[];u.push(s.pntRight),u.push(s.pntLeft);var c={lineTypeLimit:!0,surroundLineLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,c);var P=[];P.push(p.pntRight),P.push(p.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,c);var S=[];S.push(t[0]),S.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=[];h.push(a),h.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var y=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,2*i,y-90),this.addScalePoint(s.pntLeft,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;i>.48&&(i=.48),this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol5033802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5033001=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=.5*l,i=l*this.getSubSymbolScaleValue()/1.2,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(o,e);if(n.bfind){var r=n.pts.clone(),a=e[n.index].clone(),s=e[n.index+1].clone(),p=SuperMap.Plot.PlottingUtil.radian(a,s)*SuperMap.Plot.PlottingUtil.RTOD,u=SuperMap.Plot.PlottingUtil.circlePoint(r,i,i,p+90),c=SuperMap.Plot.PlottingUtil.circlePoint(r,i,i,p+270),P=[];P.push(n.pts),P.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{lineTypeLimit:!0});var S=SuperMap.Plot.PlottingUtil.radian(r,u)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,i,i,S+30),y=[];y.push(u),y.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var f=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,g=new SuperMap.Geometry.Point(-.2*i,.05*i),b=new SuperMap.Geometry.Point(-.2*i,-.05*i),M=SuperMap.Plot.PlottingUtil.coordinateTrans(h,g,f),m=SuperMap.Plot.PlottingUtil.coordinateTrans(h,b,f),d=[];d.push(h),d.push(M),d.push(m);var v={fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d,v);var O=SuperMap.Plot.PlottingUtil.circlePoint(u,i,i,S+330),U=[];U.push(u),U.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U);var w=SuperMap.Plot.PlottingUtil.radian(u,O)*SuperMap.Plot.PlottingUtil.RTOD,L=SuperMap.Plot.PlottingUtil.coordinateTrans(O,g,w),_=SuperMap.Plot.PlottingUtil.coordinateTrans(O,b,w),V=[];V.push(O),V.push(L),V.push(_),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,V,v),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],c,i,p+270),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol5033001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5032003=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(90),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[2]=2*o}var i=l*this.scaleValues[0],n=this.scaleValues[1],r=l*this.scaleValues[2],a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,e);if(a.bfind){var s=a.pts.clone(),p=e[a.index].clone(),u=e[a.index+1].clone(),c=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,P=SuperMap.Plot.PlottingUtil.circlePoint(s,r,r,c+n),S=[];S.push(a.pts),S.push(P);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0,surroundLineLimit:!0});var h=SuperMap.Plot.PlottingUtil.radian(s,P)*SuperMap.Plot.PlottingUtil.RTOD,y=new SuperMap.Geometry.Point(-.2*r,.05*r),f=new SuperMap.Geometry.Point(-.2*r,-.05*r),g=SuperMap.Plot.PlottingUtil.coordinateTrans(P,y,h),b=SuperMap.Plot.PlottingUtil.coordinateTrans(P,f,h),M=[];M.push(P),M.push(g),M.push(b);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M,{lineTypeLimit:!0,surroundLineLimit:!0,fillLimit:!0,fill:!0});var m=.3*r,d=.6*r,v=i-d;v<0&&(v=0);var O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(v,e);if(O.bfind){var U=[];U.push(O.pts);for(var w=O.index;w>=0;w--)U.push(e[w]);var L=[];L.push(O.pts);for(var _=O.index+1;_<e.length;_++)L.push(e[_]);var V=.6*m,A=[];if(U.length>1){var T=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,U);if(T.bfind){(A=[]).push(T.pts);for(var E=T.index+1;E<U.length;E++)A.push(U[E]);U=[],A.length>1&&(U=U.concat(A))}}if(U.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U),L.length>1){var x=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,L);if(x.bfind){(A=[]).push(x.pts);for(var j=x.index+1;j<L.length;j++)A.push(L[j]);L=[],A.length>1&&(L=L.concat(A))}}var Y=i+d;Y>l&&(Y=l),Y=l-Y;for(var C=[],I=L.length-1;I>=0;I--)C.push(L[I]);var B=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(Y,C);if(B.bfind){var R=[];R.push(B.pts);for(var G=B.index;G>=0;G--)R.push(C[G]);var N=[];N.push(B.pts);for(var D=B.index+1;D<C.length;D++)N.push(C[D]);if(R.length>1){var k=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,R);if(k.bfind){(A=[]).push(k.pts);for(var z=k.index+1;z<R.length;z++)A.push(R[z]);R=[],A.length>1&&(R=R.concat(A))}}if(R.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,R),N.length>1){var F=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,N);if(F.bfind){(A=[]).push(F.pts);for(var K=F.index+1;K<N.length;K++)A.push(N[K]);N=[],A.length>1&&(N=N.concat(A))}}if(N.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,N),this.subSymbols.length>0){if(null!==this.subSymbols[0].symbolData)for(var W=0;W<this.subSymbols[0].symbolData.innerCells.length;W++)34===this.subSymbols[0].symbolData.innerCells[W].type&&this.subSymbols[0].symbolData.innerCells.splice(W,1);this.computeSubSymbol(this.subSymbols[0],O.pts,1.2*m,c-90),this.computeSubSymbol(this.subSymbols[1],B.pts,1.2*m,c-90)}this.addScalePoint(a.pts,0),this.addScalePoint(P,1),this.finish()}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;if(0>t||1<t)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var n=[],r=0;r<o.length;r++)n.push(o[r]);for(var a=-1,s=new SuperMap.Geometry.Point(0,0),p=0,u=0;u<n.length-1;u++){var c=[];c.push(n[u]),c.push(n[u+1]);var P=SuperMap.Plot.PlottingUtil.projectPoint(e,n[u],n[u+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(P,c).isOnPolyLine){var S=SuperMap.Plot.PlottingUtil.distance(e,P);-1===a?(a=u,s=P,p=S):p>S&&(a=u,s=P,p=S)}}if(-1===a||a>n.length-1)return;for(var h=0,y=0;y<a;y++){var f=o[y].clone(),g=o[y+1].clone();h+=SuperMap.Plot.PlottingUtil.distance(f,g)}var b=o[a].clone();if((h+=SuperMap.Plot.PlottingUtil.distance(b,s))<0||h>i)return;this.scaleValues[0]=h/i}if(1===t){var M=i*this.scaleValues[0],m=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(M,o);if(!m.bfind)return;var d=m.pts.clone(),v=new SuperMap.Geometry.Point(o[m.index].x,o[m.index].y),O=new SuperMap.Geometry.Point(o[m.index+1].x,o[m.index+1].y),U=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD,w=SuperMap.Plot.PlottingUtil.radian(d,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[1]=w-U;var L=SuperMap.Plot.PlottingUtil.distance(d,e);this.scaleValues[2]=L/i}}}}]),e}();SuperMap.Plot.AlgoSymbol5032003=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5031401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=e*this.scaleValues[0],o=.1*l,i=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],o),n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(l/2,t[0],i),r=n.pntRight,a=n.pntLeft,s=[];s.push(r),s.push(t[0]),s.push(a);var p=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(s);p=SuperMap.Plot.PlottingUtil.clearSamePts(p);var u={lineColorLimit:!0,lineTypeLimit:!0,surroundLineLimit:!0,strokeColor:"#0000ff",color:"#0000ff"};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,u);var c=SuperMap.Plot.PlottingUtil.paraLine(s,e,!1),P=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(c);P=SuperMap.Plot.PlottingUtil.clearSamePts(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,u),this.addScalePoint(r,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0===t){var i=2*SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;i<.4&&(i=.4),this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol5031401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5030301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI,a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.8*a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var P=e[0],S=e[1],h=e[e.length-2],y=e[e.length-1],f=.3*a,g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,S,P),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,h,y),M=g.pntLeft,m=b.pntLeft,d=[];d.push(P),d.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=[];v.push(y),v.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v);var O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),U=SuperMap.Plot.PlottingUtil.circlePoint(O.pts,l*this.scaleValues[0],l*this.scaleValues[0],r+90);this.addScalePoint(U,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol5030301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5022301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){4>this.scaleValues.length&&(this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=1.5*this.getDefaultSubSymbolSize();this.subSymbolScaleValue=i/o,this.subSymbolScaleValue>.2&&(this.subSymbolScaleValue=.2),this.scaleValues[0]=this.subSymbolScaleValue}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,o*n,0);for(var u=0;u<this.components.length;u++)this.components[u].style.strokeColor="#0000FF",this.components[u].style.lineColorLimit=!0,this.components[u].style.strokeOpacity=1,this.components[u].style.color="#0000FF",this.components[u].style.opacity=1;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e),this.addScalePoint(p);var c=SuperMap.Plot.PlottingUtil.circlePoint(p,s,s,90);this.addScalePoint(c),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=0,a=0;if(0===t)r=(e.x-i.x)/n,this.scaleValues[2]=r,a=(e.y-i.y)/n,this.scaleValues[3]=a;else if(1===t){r=this.scaleValues[2],a=this.scaleValues[3];var s=new SuperMap.Geometry.Point(i.x+n*r,i.y+n*a),p=SuperMap.Plot.PlottingUtil.distance(s,e);this.scaleValues[0]=p/n}}}}]),e}();SuperMap.Plot.AlgoSymbol5022301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5022002=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.05),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.05),this.scaleValues.push(90));var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[1]=o}var i=this.scaleValues[0],n=this.scaleValues[1],r=this.scaleValues[2],a=l*i,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=n*l,P=u,S=new SuperMap.Geometry.Point(c,-.5*c),h=new SuperMap.Geometry.Point(c,.5*c),y=new SuperMap.Geometry.Point(-c,.5*c),f=new SuperMap.Geometry.Point(-c,-.5*c),g=SuperMap.Plot.PlottingUtil.coordinateTrans(P,S,r),b=SuperMap.Plot.PlottingUtil.coordinateTrans(P,h,r),M=SuperMap.Plot.PlottingUtil.coordinateTrans(P,y,r),m=SuperMap.Plot.PlottingUtil.coordinateTrans(P,f,r);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[g,b,M,m,g]);var d=new SuperMap.Geometry.Point(.5*c,.5*c),v=new SuperMap.Geometry.Point(.5*c,-.5*c),O=SuperMap.Plot.PlottingUtil.coordinateTrans(P,v,r),U=SuperMap.Plot.PlottingUtil.coordinateTrans(P,d,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[O,U]);var w=new SuperMap.Geometry.Point(0,.5*c),L=new SuperMap.Geometry.Point(0,-.5*c),_=SuperMap.Plot.PlottingUtil.coordinateTrans(P,w,r),V=SuperMap.Plot.PlottingUtil.coordinateTrans(P,L,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[_,V]);var A=new SuperMap.Geometry.Point(c,0),T=new SuperMap.Geometry.Point(2*c,0),E=SuperMap.Plot.PlottingUtil.coordinateTrans(P,A,r),x=SuperMap.Plot.PlottingUtil.coordinateTrans(P,T,r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E,x]);var j=new SuperMap.Geometry.Point(2*c,.15*c),Y=new SuperMap.Geometry.Point(2*c,-.15*c),C=new SuperMap.Geometry.Point(2.6*c,0),I=SuperMap.Plot.PlottingUtil.coordinateTrans(P,j,r),B=SuperMap.Plot.PlottingUtil.coordinateTrans(P,Y,r),R=SuperMap.Plot.PlottingUtil.coordinateTrans(P,C,r);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[I,B,R],{lineTypeLimit:!0,lineColorLimit:!0,strokeColor:"#FF0000",strokeOpacity:1,color:"#FF0000",opacity:1,surroundLineLimit:!0,fillLimit:!0,fill:!0});var G,N=[],D=[];for(G=0;G<=p;G++)N.push(e[G]);for(N.push(u),D.push(u),G=p+1;G<e.length;G++)D.push(e[G]);var k=1.2*c;if(a>k){var z=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a-k,N);if(z.bfind){var F=z.pts,K=z.index,W=[];for(G=0;G<=K;G++)W.push(N[G]);W.push(F),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,W)}}if(l-a>k){var J=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(k,D);if(J.bfind){var q=J.pts,Z=J.index;for((W=[]).push(q),G=Z+1;G<D.length;G++)W.push(D[G]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,W)}}this.scalePoints=[],this.addScalePoint(u),this.addScalePoint(x),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var n=e.clone(),r=-1,a=0,s=0;s<o.length-1;s++){var p=[];p.push(o[s]),p.push(o[s+1]);var u=SuperMap.Plot.PlottingUtil.projectPoint(n,o[s],o[s+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(u,p).isOnPolyLine){var c=SuperMap.Plot.PlottingUtil.distance(n,u);-1===r?(r=s,a=c):a>c&&(r=s,a=c)}}if(-1===r)return SuperMap.Plot.PlottingUtil.distance(n,o[0])>SuperMap.Plot.PlottingUtil.distance(n,o[o.length-1])?void(r=o.length-1):void(r=0);var P=0;if(0===r)P=SuperMap.Plot.PlottingUtil.distance(o[0],u);else for(var S=0;S<r;S++)P+=SuperMap.Plot.PlottingUtil.distance(o[S],o[S+1]);if(P<0||P>i)return;this.scaleValues[0]=P/i}else if(1===t){var h=this.scaleValues[0]*i,y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(h,o);if(!y.bfind)return;var f=y.pts,g=SuperMap.Plot.PlottingUtil.distance(f,e)/i;g>.5&&(g=.5),this.scaleValues[1]=g;var b=SuperMap.Plot.PlottingUtil.radian(f,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[2]=b+90}}}}]),e}();SuperMap.Plot.AlgoSymbol5022002=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5022001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.05),l.scaleValues.push(180)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.05),this.scaleValues.push(180));var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[1]=o}var i=this.scaleValues[0],n=this.scaleValues[1],r=this.scaleValues[2],a=l*i,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=n*l*.5,P=new SuperMap.Geometry.Point(0,0),S=new SuperMap.Geometry.Point(.5*c,0),h=new SuperMap.Geometry.Point(0,c),y=[],f=SuperMap.Plot.PlottingUtil.coordinateTrans(u,P,r);y.push(f);var g=SuperMap.Plot.PlottingUtil.coordinateTrans(u,S,r);y.push(g);var b=SuperMap.Plot.PlottingUtil.coordinateTrans(u,h,r);y.push(b),this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,y);var M=new SuperMap.Geometry.Point(0,-2*c),m=new SuperMap.Geometry.Point(.15*c,-1.6*c),d=new SuperMap.Geometry.Point(-.15*c,-1.6*c),v=SuperMap.Plot.PlottingUtil.coordinateTrans(u,M,r),O=SuperMap.Plot.PlottingUtil.coordinateTrans(u,m,r),U=SuperMap.Plot.PlottingUtil.coordinateTrans(u,d,r),w=[];w.push(v),w.push(O),w.push(U);var L={surroundLineFlag:!1,fillLimit:!0,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,w,L);var _=new SuperMap.Geometry.Point(0,-c),V=SuperMap.Plot.PlottingUtil.coordinateTrans(u,_,r);(w=[]).push(V),w.push(v.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w,L);var A,T=[],E=[];for(A=0;A<=p;A++)T.push(e[A]);for(T.push(u),E.push(u),A=p+1;A<e.length;A++)E.push(e[A]);var x=1.2*c;if(a>x){var j=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a-x,T);if(j.bfind){var Y=j.pts,C=j.index,I=[];for(A=0;A<=C;A++)I.push(T[A]);I.push(Y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,I)}}if(l-a>x){var B=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(x,E);if(B.bfind){var R=B.pts,G=B.index;for((I=[]).push(R),A=G+1;A<E.length;A++)I.push(E[A]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,I)}}R=void 0===R?e[e.length-1]:R,Y=void 0===Y?e[0]:Y;var N=SuperMap.Plot.PlottingUtil.radian(Y,R)*SuperMap.Plot.PlottingUtil.RTOD;this.addText("ZD0",u,x,N+90),this.scalePoints=[],this.addScalePoint(u),this.addScalePoint(v),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var n=e.clone(),r=-1,a=0,s=0;s<o.length-1;s++){var p=[];p.push(o[s]),p.push(o[s+1]);var u=SuperMap.Plot.PlottingUtil.projectPoint(n,o[s],o[s+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(u,p).isOnPolyLine){var c=SuperMap.Plot.PlottingUtil.distance(n,u);-1===r?(r=s,a=c):a>c&&(r=s,a=c)}}if(-1===r)return SuperMap.Plot.PlottingUtil.distance(n,o[0])>SuperMap.Plot.PlottingUtil.distance(n,o[o.length-1])?void(r=o.length-1):void(r=0);var P=0;if(0===r)P=SuperMap.Plot.PlottingUtil.distance(o[0],u);else for(var S=0;S<r;S++)P+=SuperMap.Plot.PlottingUtil.distance(o[S],o[S+1]);if(P<0||P>i)return;this.scaleValues[0]=P/i}else if(1===t){var h=this.scaleValues[0]*i,y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(h,o);if(!y.bfind)return;var f=y.pts,g=SuperMap.Plot.PlottingUtil.distance(f,e)/i;g>.5&&(g=.5),this.scaleValues[1]=g;var b=SuperMap.Plot.PlottingUtil.radian(f,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[2]=b+90}}}}]),e}();SuperMap.Plot.AlgoSymbol5022001=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5021803=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.125),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.125),this.scaleValues.push(0));var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l,o,i=SuperMap.Plot.PlottingUtil.polylineDistance(e),n=this.getDefaultSubSymbolSize()/i;(n>.3||n<=0)&&(n=.3);var r=1.5*n;2===t.length?(this.isEdit||(this.scaleValues[3]=this.scaleValues[2]+r),l=this.scaleValues[2],o=this.scaleValues[3]):(SuperMap.Plot.PlottingUtil.equalFuzzy(this.scaleValues[4],0)&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.125)),this.isEdit||(this.scaleValues[4]=this.scaleValues[3]+r),l=this.scaleValues[3],o=this.scaleValues[4]);var a=i*l,s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.pts,u=i*o;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(u,e)).bfind){var c=s.index,P=s.pts,S=new SuperMap.Geometry.Point(p.x,p.y),h=new SuperMap.Geometry.Point(P.x,P.y),y=SuperMap.Plot.PlottingUtil.radian(S,h)*SuperMap.Plot.PlottingUtil.RTOD,f=[];f.push(P);for(var g=c+1;g<e.length;g++)f.push(e[g]);this.addArrow(f);var b=SuperMap.Plot.PlottingUtil.distance(S,h);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],S,b,y),this.scalePoints=[],this.addScalePoint(P);var M=SuperMap.Plot.PlottingUtil.circlePoint(S,b/2,b/2,y+90);this.addScalePoint(M),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=0,r=0;if(2===l.length?(n=this.scaleValues[2],r=this.scaleValues[3]):(n=this.scaleValues[3],r=this.scaleValues[4]),0===t){for(var a=r-n,s=e.clone(),p=[],u=0;u<o.length;u++)p.push(o[u].clone());for(var c,P=-1,S=0,h=0;h<p.length-1;h++){var y=[];y.push(p[h]),y.push(p[h+1]);var f=SuperMap.Plot.PlottingUtil.projectPoint(s,p[h],p[h+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(f,y).isOnPolyLine){var g=SuperMap.Plot.PlottingUtil.distance(s,f);-1===P?(P=h,c=f,S=g):S>g&&(P=h,c=f,S=g)}}if(-1===P||P>p.length-1)return;for(var b=0,M=0;M<P;M++)b+=SuperMap.Plot.PlottingUtil.distance(o[M],o[M+1]);if((b+=SuperMap.Plot.PlottingUtil.distance(o[P],c))<0||b>i)return;var m=b/i;if(m>.7||m-a<0)return;2===l.length?(this.scaleValues[2]=m-a,this.scaleValues[3]=m):(this.scaleValues[3]=m-a,this.scaleValues[4]=m)}else if(1===t){var d=i*n,v=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(d,o);if(!v.bfind)return;var O=v.pts,U=(2*SuperMap.Plot.PlottingUtil.distance(O,e)+d)/i;if(.7<U)return;2===l.length?this.scaleValues[3]=U:this.scaleValues[4]=U}}}}]),e}();SuperMap.Plot.AlgoSymbol5021803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol5010401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.2));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],l=.5*e,o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=SuperMap.Plot.PlottingUtil.radian(o,i)*SuperMap.Plot.PlottingUtil.RTOD,r=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+90),a=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+270),s=SuperMap.Plot.PlottingUtil.circlePoint(r,l,l,n),p=SuperMap.Plot.PlottingUtil.circlePoint(a,l,l,n),u=[];u.push(p),u.push(a),u.push(r),u.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+90),P=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+270),S=SuperMap.Plot.PlottingUtil.circlePoint(c,l,l,n+180),h=SuperMap.Plot.PlottingUtil.circlePoint(P,l,l,n+180);(u=[]).push(S),u.push(c),u.push(P),u.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var y=.4*SuperMap.Plot.PlottingUtil.distance(o,i),f=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2),g=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD;this.addText("JZ",f,y,g),this.addScalePoint(r),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol5010401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4030401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),!(this.controlPoints.length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],l=t[0].clone(),o=t[1].clone(),i=SuperMap.Plot.PlottingUtil.radian(l,o)*SuperMap.Plot.PlottingUtil.RTOD,n=SuperMap.Plot.PlottingUtil.circlePoint(l,e,e,i+90),r=SuperMap.Plot.PlottingUtil.circlePoint(l,e,e,i+270),a=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,i+90),s=r,p=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,i+270),u=n,c=a,P=SuperMap.Plot.PlottingUtil.distance(u,c),S=SuperMap.Plot.PlottingUtil.distance(s,p),h=SuperMap.Plot.PlottingUtil.distance(u,s),y=SuperMap.Plot.PlottingUtil.distance(c,p),f=SuperMap.Plot.PlottingUtil.linePnt(u,c,.4*P),g=SuperMap.Plot.PlottingUtil.linePnt(u,c,.6*P),b=SuperMap.Plot.PlottingUtil.linePnt(u,s,.4*h),M=SuperMap.Plot.PlottingUtil.linePnt(u,s,.6*h),m=SuperMap.Plot.PlottingUtil.linePnt(c,p,.4*y),d=SuperMap.Plot.PlottingUtil.linePnt(c,p,.6*y),v=SuperMap.Plot.PlottingUtil.linePnt(s,p,.2*S),O=SuperMap.Plot.PlottingUtil.linePnt(s,p,.25*S),U=SuperMap.Plot.PlottingUtil.linePnt(s,p,.75*S),w=SuperMap.Plot.PlottingUtil.linePnt(s,p,.8*S),L=[];L.push(g),L.push(c),L.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,L);var _=[];_.push(d),_.push(p),_.push(w),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_);var V=[];V.push(U),V.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V);var A=[];A.push(v),A.push(s),A.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A);var T=[];T.push(b),T.push(u),T.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T);var E=SuperMap.Plot.PlottingUtil.radian(f,g)*SuperMap.Plot.PlottingUtil.RTOD,x=new SuperMap.Geometry.Point((f.x+g.x)/2,(f.y+g.y)/2),j=SuperMap.Plot.PlottingUtil.distance(f,g);this.addText("警",x,j,E),this.addScalePoint(n,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.controlPoints.length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol4030401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4030303=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="疏",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol4030301),e}();SuperMap.Plot.AlgoSymbol4030303=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol4030302=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="劝",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol4030301),e}();SuperMap.Plot.AlgoSymbol4030302=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol4030301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l.subText="标",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);var P=SuperMap.Plot.PlottingUtil.polylineDistance(p);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var S=this.subText,h=.15*P,y=new SuperMap.Geometry.Point(i.endPt.x+h/2,i.endPt.y-h/2),f=r;this.addText(S,y,h,f);var g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),b=SuperMap.Plot.PlottingUtil.circlePoint(g.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(b,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol4030301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3002501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t),this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=new SuperMap.Geometry.Point(l.x+1,l.y),i=[];t.push(t[0].clone());for(var n=0;n<t.length-1;n++){var r=SuperMap.Plot.PlottingUtil.intersectLines(l,o,t[n],t[n+1]);r.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(r.intersectPoint,t[n],t[n+1])&&i.push(r.intersectPoint))}if(!(0>=i.length)){var a=i[0].clone(),s=i[0].clone();for(n=0;n<i.length;n++)a.x>i[n].x&&(a=i[n].clone()),s.x<i[n].x&&(s=i[n].clone());var p=SuperMap.Plot.PlottingUtil.distance(s,a),u=new SuperMap.Geometry.Point(l.x-.25*p,a.y),c=e*this.scaleValues[0],P=e*this.scaleValues[0],S=P+c,h=new SuperMap.Geometry.Point(u.x,u.y+S),y=new SuperMap.Geometry.Point(h.x+c,h.y),f=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,y),g=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,h);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[g,f]);var b=new SuperMap.Geometry.Point(u.x,u.y+.8*P),M=new SuperMap.Geometry.Point(u.x-P,u.y-P),m=new SuperMap.Geometry.Point(u.x+P,u.y-P),d=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,b.clone()),v=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,M.clone()),O=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,m.clone()),U=[];U.push(d),U.push(v),U.push(O),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,U);var w=new SuperMap.Geometry.Point(u.x-.5*P,u.y-P),L=new SuperMap.Geometry.Point(M.x,M.y-2*c),_=new SuperMap.Geometry.Point(u.x+.5*P,u.y-P),V=new SuperMap.Geometry.Point(m.x,m.y-2*c),A=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,w),T=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,L),E=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,_),x=SuperMap.Plot.PlottingUtil.rotateAngle(u,Math.PI/2,V),j=[];j.push(A),j.push(T);var Y=[];Y.push(E),Y.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,j),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Y),this.addText("踏",l,2*P,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol3002501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3002005=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x+1,r.y),s=[];t.push(t[0].clone());for(var p=0;p<t.length-1;p++){var u=SuperMap.Plot.PlottingUtil.intersectLines(r,a,t[p],t[p+1]);u.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(u.intersectPoint,t[p],t[p+1])&&s.push(u.intersectPoint))}if(0>=s.length)this.finish();else{var c=s[0].clone(),P=s[0].clone();for(p=0;p<s.length;p++)c.x>s[p].x&&(c=s[p].clone()),P.x<s[p].x&&(P=s[p].clone());var S=[],h=new SuperMap.Geometry.Point(r.x-n/2,c.y);h.x<=P.x&&h.x>=c.x&&((S=[]).push(c),S.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S));var y=new SuperMap.Geometry.Point(r.x+n/2,P.y);y.x<=P.x&&y.x>=c.x&&((S=[]).push(P),S.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S)),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,n,0),this.addScalePoint(r,0);var f=SuperMap.Plot.PlottingUtil.circlePoint(r,n/2,n/2,90);this.addScalePoint(f,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),n=e,r=0,a=0;if(0===t){if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,n))return;r=(n.x-i.x)/o,this.scaleValues[0]=r,a=(n.y-i.y)/o,this.scaleValues[1]=a}if(1===t){r=this.scaleValues[0],a=this.scaleValues[1];var s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=2*SuperMap.Plot.PlottingUtil.distance(n,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol3002005=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3002004=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(2>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),i=this.scaleValues[0],n=this.scaleValues[1],r=l*this.scaleValues[2],a=new SuperMap.Geometry.Point(o.x+l*i,o.y+l*n),s=new SuperMap.Geometry.Point(a.x+1,a.y),p=[];e.push(e[0].clone());for(var u=0;u<e.length-1;u++){var c=SuperMap.Plot.PlottingUtil.intersectLines(a,s,e[u],e[u+1]);c.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(c.intersectPoint,e[u],e[u+1])&&p.push(c.intersectPoint))}if(0>=p.length)this.finish();else{var P=p[0].clone(),S=p[0].clone();for(u=0;u<p.length;u++)P.x>p[u].x&&(P=p[u].clone()),S.x<p[u].x&&(S=p[u].clone());var h=[],y=new SuperMap.Geometry.Point(a.x-r/2,P.y);y.x<=S.x&&y.x>=P.x&&((h=[]).push(P),h.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h));var f=new SuperMap.Geometry.Point(a.x+r/2,S.y);f.x<=S.x&&f.x>=P.x&&((h=[]).push(S),h.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h));var g=SuperMap.Plot.PlottingUtil.radian(y,f)*SuperMap.Plot.PlottingUtil.RTOD;this.addText("火",a,r,g),this.addScalePoint(a,0);var b=SuperMap.Plot.PlottingUtil.circlePoint(a,r/2,r/2,90);this.addScalePoint(b,1),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),n=e,r=0,a=0;if(0===t){if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,n))return;r=(n.x-i.x)/o,this.scaleValues[0]=r,a=(n.y-i.y)/o,this.scaleValues[1]=a}if(1===t){r=this.scaleValues[0],a=this.scaleValues[1];var s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=2*SuperMap.Plot.PlottingUtil.distance(n,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol3002004=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3002002=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x+1,r.y),s=[];t.push(t[0].clone());for(var p=0;p<t.length-1;p++){var u=SuperMap.Plot.PlottingUtil.intersectLines(r,a,t[p],t[p+1]);u.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(u.intersectPoint,t[p],t[p+1])&&s.push(u.intersectPoint))}if(0>=s.length)this.finish();else{var c=s[0].clone(),P=s[0].clone();for(p=0;p<s.length;p++)c.x>s[p].x&&(c=s[p].clone()),P.x<s[p].x&&(P=s[p].clone());var S=new SuperMap.Geometry.Point(r.x-n/2,c.y),h=new SuperMap.Geometry.Point(r.x+n/2,P.y),y=SuperMap.Plot.PlottingUtil.radian(S,h)*SuperMap.Plot.PlottingUtil.RTOD;this.addText("HX",r,n,y),this.addScalePoint(r,0);var f=SuperMap.Plot.PlottingUtil.circlePoint(r,n/2,n/2,90);this.addScalePoint(f,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),n=e,r=0,a=0;if(0===t){if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,n))return;r=(n.x-i.x)/o,this.scaleValues[0]=r,a=(n.y-i.y)/o,this.scaleValues[1]=a}if(1===t){r=this.scaleValues[0],a=this.scaleValues[1];var s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=2*SuperMap.Plot.PlottingUtil.distance(n,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol3002002=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3002001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="震",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol3002001=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3001302=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=.1*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],Math.sqrt(3)*e/4),o=SuperMap.Plot.PlottingUtil.clonePoints(t);o.splice(t.length-1,1),o.push(l);var i=SuperMap.Plot.PlottingUtil.paraLine(o,.25*e,!0),n={lineColorLimit:!0,strokeColor:"#00C000",color:"#00C000"},r=SuperMap.Plot.PlottingUtil.paraLine(o,.25*e,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n);var a=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],e),s=new SuperMap.Geometry.Point(a.x,a.y),p=new SuperMap.Geometry.Point(a.x,a.y);s=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],1/6*Math.PI,s),p=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],11/6*Math.PI,p);var u=[];u.push(s),u.push(t[t.length-1]),u.push(p),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol3001302=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3001301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.5),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=.1*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],Math.sqrt(3)*e/4),i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],i*l),r=SuperMap.Plot.PlottingUtil.linePnt(n,t[0],2*e),a=SuperMap.Plot.PlottingUtil.linePnt(n,t[1],2*e),s=[];s.push(t[0]),s.push(r);var p=[];p.push(a),p.push(o);var u=SuperMap.Plot.PlottingUtil.paraLine(s,.25*e,!0),c=SuperMap.Plot.PlottingUtil.paraLine(s,.25*e,!1),P=SuperMap.Plot.PlottingUtil.paraLine(p,.25*e,!0),S=SuperMap.Plot.PlottingUtil.paraLine(p,.25*e,!1);if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.subSymbols.length>0){var h=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,y=.5*SuperMap.Plot.PlottingUtil.distance(r,a);this.computeSubSymbol(this.subSymbols[0],n,y,h+180)}var f=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],e),g=new SuperMap.Geometry.Point(f.x,f.y),b=new SuperMap.Geometry.Point(f.x,f.y);g=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],1/6*Math.PI,g),b=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],11/6*Math.PI,b);var M=[];M.push(g),M.push(t[t.length-1]),M.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol3001301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3001105=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=this.scaleValues[0],l=this.scaleValues[1],o=this.scaleValues[2],i=SuperMap.Plot.PlottingUtil.getOutRectangleDis(t);if(0!==i){if(!this.isEdit){var n=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[2]=n/i}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),a=new SuperMap.Geometry.Point(r.x+e*i,r.y+l*i),s=o*i;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,s,0),this.addText("盗",a,s,0),this.addScalePoint(a,0);var p=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,90);this.addScalePoint(p,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.getOutRectangleDis(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=new SuperMap.Geometry.Point(e.x,e.y);if(0===t&&(this.scaleValues[0]=(n.x-i.x)/o,this.scaleValues[1]=(n.y-i.y)/o),1===t){var r=this.scaleValues[0],a=this.scaleValues[1],s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=SuperMap.Plot.PlottingUtil.distance(e,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol3001105=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3001104=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=this.scaleValues[0],l=this.scaleValues[1],o=this.scaleValues[2],i=SuperMap.Plot.PlottingUtil.getOutRectangleDis(t);if(0!==i){if(!this.isEdit){var n=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[2]=n/i}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),a=new SuperMap.Geometry.Point(r.x+e*i,r.y+l*i),s=o*i;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,s,0),this.addText("私",a,s,0),this.addScalePoint(a,0);var p=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,90);this.addScalePoint(p,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.getOutRectangleDis(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=new SuperMap.Geometry.Point(e.x,e.y);if(0===t&&(this.scaleValues[0]=(n.x-i.x)/o,this.scaleValues[1]=(n.y-i.y)/o),1===t){var r=this.scaleValues[0],a=this.scaleValues[1],s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=SuperMap.Plot.PlottingUtil.distance(e,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol3001104=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3001103=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="骚",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3001101),e}();SuperMap.Plot.AlgoSymbol3001103=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3001102=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="暴",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3001101),e}();SuperMap.Plot.AlgoSymbol3001102=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3001101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(-.04),l.scaleValues.push(-.175),l.scaleValues.push(.1)),l.subText="集",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.getOutRectangleDis(t);if(0!==e){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);this.addText(this.subText,l,.3*e,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol3001101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3000809=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=.8*SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&(this.computeSubSymbol(this.subSymbols[0],n,a,r+180),this.computeSubSymbol(this.subSymbols[1],n,.5*a,r+180));for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(S,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol3000809=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3000808=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=.8*SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,a,r+180);var s=[],p=new SuperMap.Geometry.Point(0,0);p.x=-a/6,p.y=a/3;var u=new SuperMap.Geometry.Point(0,0),c=SuperMap.Plot.PlottingUtil.rotateAngle(u,r*SuperMap.Plot.PlottingUtil.DTOR,p),P=new SuperMap.Geometry.Point(c.x+n.x,c.y+n.y);p.x=a/6,p.y=a/3;var S=SuperMap.Plot.PlottingUtil.rotateAngle(u,r*SuperMap.Plot.PlottingUtil.DTOR,p),h=new SuperMap.Geometry.Point(S.x+n.x,S.y+n.y);p.x=0,p.y=-a/3;var y=SuperMap.Plot.PlottingUtil.rotateAngle(u,r*SuperMap.Plot.PlottingUtil.DTOR,p),f=new SuperMap.Geometry.Point(y.x+n.x,y.y+n.y);s.push(P),s.push(h),s.push(f);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,{fillLimit:!0,fill:!0});for(var g=[],b=[],M=0;M<=i.startIndex;M++)g.push(e[M]);if(g.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g),i.endIndex<=e.length){b.push(i.endPt);for(var m=i.endIndex+1;m<=e.length-1;m++)b.push(e[m]);this.addArrow(b)}var d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),v=SuperMap.Plot.PlottingUtil.circlePoint(d.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(v,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol3000808=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3000807=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=.8*SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&(this.computeSubSymbol(this.subSymbols[0],n,.05*a,r+90),this.computeSubSymbol(this.subSymbols[1],n,a,r+180));for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(S,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol3000807=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3000806=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3000804),e}();SuperMap.Plot.AlgoSymbol3000806=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3000805=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3000804),e}();SuperMap.Plot.AlgoSymbol3000805=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3000804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3000801),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=.8*SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,a,r+180);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(S,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol3000804=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3000803=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3000801),e}();SuperMap.Plot.AlgoSymbol3000803=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3000802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol3000801),e}();SuperMap.Plot.AlgoSymbol3000802=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3000801=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=.8*SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r+90);this.addScalePoint(S,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol3000801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2122301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.5),l.scaleValues.push(.4)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=e*this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2]*e,n=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],e*o),r=SuperMap.Plot.PlottingUtil.distance(t[1],n),a=SuperMap.Plot.PlottingUtil.linePnt(t[1],n,r+.45*i),s=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],e-r+.45*i),p=2*l,u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,t[1],a),c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,t[0],s),P=SuperMap.Plot.PlottingUtil.paraLine(t,l,!0),S=SuperMap.Plot.PlottingUtil.paraLine(t,l,!1),h=e-r-i/2,y=SuperMap.Plot.PlottingUtil.linePnt(P[0],P[P.length-1],h),f=SuperMap.Plot.PlottingUtil.linePnt(P[0],P[P.length-1],h+.2*i),g=SuperMap.Plot.PlottingUtil.linePnt(P[0],P[P.length-1],h+.8*i),b=SuperMap.Plot.PlottingUtil.linePnt(P[0],P[P.length-1],h+i),M={fillLimit:!0},m=[];m.push(P[0]),m.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m,M);var d=[];d.push(u.pntRight),d.push(f),d.push(g),d.push(c.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,M);var v=[];v.push(b),v.push(P[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,M);var O=SuperMap.Plot.PlottingUtil.linePnt(S[0],S[S.length-1],h),U=SuperMap.Plot.PlottingUtil.linePnt(S[0],S[S.length-1],h+.2*i),w=SuperMap.Plot.PlottingUtil.linePnt(S[0],S[S.length-1],h+.8*i),L=SuperMap.Plot.PlottingUtil.linePnt(S[0],S[S.length-1],h+i),_=[];_.push(S[0]),_.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_,M);var V=[];V.push(u.pntLeft),V.push(U),V.push(w),V.push(c.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,M);var A=[];A.push(L),A.push(S[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,M);var T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(l/2,y,P[0]);this.addScalePoint(T.pntLeft,0),this.addScalePoint(n,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(l[0],e);if(0===t&&(this.scaleValues[0]=i/o),1===t){var n=i/o;n>.8?n=.8:n<.2&&(n=.2),this.scaleValues[1]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol2122301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2122101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.subSymbols.length&&(l.subSymbols=SuperMap.Plot.WJAlgoSymbolFactory.getDefaultSubSymbols(l.libID,l.code)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(2>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL,e);for(var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=e[0].x,i=e[0].x,n=e[0].y,r=e[0].y,a=[],s=0;s<e.length;s++)o>e[s].x&&(o=e[s].x),i<e[s].x&&(i=e[s].x),n>e[s].y&&(n=e[s].y),r<e[s].y&&(r=e[s].y),a.push(e[s]);var p=(i-o)/5;p>10&&(p=10);for(var u=.2*p,c=[],P=0;P<360;P+=18){var S=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(0,0),u,u,P);c.push(S)}for(var h=0,y=o;y<i;y+=p)for(var f=n;f<r;f+=p){var g=new SuperMap.Geometry.Point(y,f);if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(a,g))if(0===h){h++;for(var b=[],M=0;M<c.length;M++){var m=new SuperMap.Geometry.Point(g.x+c[M].x,g.y+c[M].y);b.push(m)}b.push(b[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b);var d=[];d.push(b[10]),d.push(new SuperMap.Geometry.Point(b[10].x-.5*u,b[10].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=[];v.push(b[0]),v.push(new SuperMap.Geometry.Point(b[0].x+.5*u,b[10].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v)}else 1===h?(h++,null!==this.subSymbols[0]&&this.computeSubSymbol(this.subSymbols[0],g,.015*l,0)):(h=0,null!==this.subSymbols[1]&&this.computeSubSymbol(this.subSymbols[1],g,.015*l,0))}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol2122101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol2121602=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="障",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol2121601),e}();SuperMap.Plot.AlgoSymbol2121602=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2121601=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(1),l.subText="遥",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=SuperMap.Plot.PlottingUtil.distance(e,l);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);for(var i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=50*this.getSubSymbolScaleValue(),r=i*n*.02,a=i*n*.005,s=.1*i,p=.1*o,u=0;u<=i;u+=s){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,u+p);if(-1!==c.index){var P,S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[c.index],c.pt);P=this.scaleValues[0]>0?new SuperMap.Geometry.Point(S.pntLeft.x,S.pntLeft.y):new SuperMap.Geometry.Point(S.pntRight.x,S.pntRight.y);var h=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,P,c.pt),y=[];if(y.push(h.pntRight),y.push(P),y.push(h.pntLeft),0===u){var f=new SuperMap.Geometry.Point(P.x,P.y);f.isScalePoint=!0,f.tag=0,this.scalePoints.push(f)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,y,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}}var g=SuperMap.Plot.PlottingUtil.radian(t[t.length-2],t[t.length-1])*SuperMap.Plot.PlottingUtil.RTOD,b=.1*i,M=SuperMap.Plot.PlottingUtil.distance(t[t.length-1],t[t.length-2]),m=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-2],t[t.length-1],.5*b+M);this.addText(this.subText,m,b,g),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e);this.scaleValues[0]=o?-1:1}}}]),e}();SuperMap.Plot.AlgoSymbol2121601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol2121507=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="复",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol2121505),e}();SuperMap.Plot.AlgoSymbol2121507=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol2121506=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="墩",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol2121505),e}();SuperMap.Plot.AlgoSymbol2121506=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2121504=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=SuperMap.Plot.PlottingUtil.distance(e,l),i=o*this.scaleValues[0],n=SuperMap.Plot.PlottingUtil.linePnt(e,l,.5*o),r=SuperMap.Plot.PlottingUtil.linePnt(n,e,2*i),a=SuperMap.Plot.PlottingUtil.linePnt(n,l,2*i),s=[];s.push(t[0],r);var p=[];p.push(a,t[1]);var u=SuperMap.Plot.PlottingUtil.paraLine(s,i,!0),c=SuperMap.Plot.PlottingUtil.paraLine(s,i,!1),P=SuperMap.Plot.PlottingUtil.paraLine(p,i,!0),S=SuperMap.Plot.PlottingUtil.paraLine(p,i,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,y=.5*SuperMap.Plot.PlottingUtil.distance(r,a);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],n,y,h),this.addScalePoint(u[0],0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;i>.24&&(i=.24),this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol2121504=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2092101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var o=this.scaleValues[1]*e,i=l*e,n=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,i);if(-1!==n.index){for(var r,a=n.pt,s=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[a,new SuperMap.Geometry.Point(a.x+o,a.y)]),p=0;p<t.length-1;p++){var u=t[p],c=t[p+1],P=SuperMap.Plot.PlottingUtil.distance(a,u),S=SuperMap.Plot.PlottingUtil.distance(a,c);if(!(P<o&&S<o))if(P>o&&S<o||P<o&&S>o){var h;h=P>o?u:c;var y=this.getLineAddCircleIntersectPts(u,c,s);y.length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[y[0],h])}else{var f=SuperMap.Plot.PlottingUtil.projectPoint(a,u,c);if(SuperMap.Plot.PlottingUtil.distance(a,f)>=o)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c]);else if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(f,u,c)){var g=this.getLineAddCircleIntersectPts(u,c,s);if(g.length>0){g.unshift(u),g.push(c);for(var b=0;b<g.length-1;b++)this.isLineInCircle(g[b],g[b+1],a,o)||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[g[b],g[b+1]])}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c])}}if(this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[a,new SuperMap.Geometry.Point(a.x+o,a.y)]),r=n.index>=t.length-1?SuperMap.Plot.PlottingUtil.radian(t[t.length-2],t[t.length-1])*SuperMap.Plot.PlottingUtil.RTOD:SuperMap.Plot.PlottingUtil.radian(t[n.index],t[n.index+1])*SuperMap.Plot.PlottingUtil.RTOD,this.subSymbols.length>0){if(null!==this.subSymbols[0].symbolData)for(var M=0;M<this.subSymbols[0].symbolData.innerCells.length;M++)26===this.subSymbols[0].symbolData.innerCells[M].type&&this.subSymbols[0].symbolData.innerCells.splice(M,1);this.computeSubSymbol(this.subSymbols[0],a,o,r)}this.scalePoints=[];var m=a;m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m);var d=new SuperMap.Geometry.Point(a.x+o,a.y);d.isScalePoint=!0,d.tag=1,this.scalePoints.push(d),this.finish()}}}},{key:"isLineInCircle",value:function(t,e,l,o){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return o>SuperMap.Plot.PlottingUtil.distance(i,l)}},{key:"getLineAddCircleIntersectPts",value:function(t,e,l){var o=l.slice();o[0].x===o[o.length-1].x&&o[0].y===o[o.length-1].y||o.push(o[0]);for(var i=[],n=0;n<o.length-1;n++){var r=o[n],a=o[n+1],s=SuperMap.Plot.PlottingUtil.intersectLines(t,e,r,a);s.isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.intersectPoint,t,e)&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.intersectPoint,r,a)&&i.push(s.intersectPoint)}for(var p=0;p<i.length-1;p++)SuperMap.Plot.PlottingUtil.isSamePt(i[p],i[p+1])&&(i.splice(p,1),p--);if(t.x>e.x){for(var u=0;u<i.length&&u!==i.length-1;u++)if(i[u].x<i[u+1].x){var c=i[u];i[u]=i[u+1],i[u+1]=c}}else if(t.x<e.x){for(var P=0;P<i.length&&P!==i.length-1;P++)if(i[P].x>i[P+1].x){var S=i[P];i[P]=i[P+1],i[P+1]=S}}else if(t.y>e.y){for(var h=0;h<i.length&&h!==i.length-1;h++)if(i[h].y<i[h+1].y){var y=i[h];i[h]=i[h+1],i[h+1]=y}}else if(t.y<e.y)for(var f=0;f<i.length&&f!==i.length-1;f++)if(i[f].y>i[f+1].y){var g=i[f];i[f]=i[f+1],i[f+1]=g}return i}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){for(var i=0,n=-1,r=null,a=0;a<l.length-1;a++){var s=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l[a],l[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.projectPoint,l[a],l[a+1])){var p=SuperMap.Plot.PlottingUtil.distance(s.projectPoint,e);0===i?(i=p,n=a,r=s.projectPoint):p<i&&(i=p,n=a,r=s.projectPoint)}}if(-1===n)return;for(var u=0,c=0;c<n;c++)u+=SuperMap.Plot.PlottingUtil.distance(l[c],l[c+1]);var P=(u+=SuperMap.Plot.PlottingUtil.distance(r,l[n]))/o;P>1&&(P=1),this.scaleValues[0]=P}if(1===t){var S=this.scaleValues[0]*o,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,S);if(-1===h.index)return;var y=SuperMap.Plot.PlottingUtil.distance(h.pt,e)/o;y>.4&&(y=.4),this.scaleValues[1]=y}}}}]),e}();SuperMap.Plot.AlgoSymbol2092101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2091503=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.03),l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit){var e=this.getSubSymbolScaleValue();this.scaleValues[0]=e,this.scaleValues[1]=.5*e,this.scaleValues[3]=.5*e}var l=this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2],n=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);n=SuperMap.Plot.PlottingUtil.clearSamePts(n);var r=this.GetCurvePts(t,l,o);if(0!==r.pt.length){var a=SuperMap.Plot.PlottingUtil.polylineDistance(n)*i,s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,a);if(-1!==s.index){for(var p=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[3],u=[],c=0;c<360;c+=12)u.push(SuperMap.Plot.PlottingUtil.circlePoint(s.pt,p,p,c));u.push(u[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);for(var P=[],S=[],h=0;h<r.pt.length;h++)SuperMap.Plot.PlottingUtil.ptIsInPolygon(u,r.pt[h])?S.length>1&&(P.push(S),S=[]):S.push(r.pt[h]);S.length>1&&P.push(S);for(var y=0;y<P.length;y++)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P[y]);var f=[],g=new SuperMap.Geometry.Point(s.pt.x-p,s.pt.y),b=new SuperMap.Geometry.Point(s.pt.x+.5*p,s.pt.y);f.push(g,b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var M=[],m=SuperMap.Plot.PlottingUtil.circlePoint(b,.3*p,.3*p,157.5),d=SuperMap.Plot.PlottingUtil.circlePoint(b,.3*p,.3*p,202.5);M.push(m),M.push(d),M.push(b);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var v=new SuperMap.Geometry.Point(r.pt[0].x,r.pt[0].y);v.isScalePoint=!0,v.tag=0,this.scalePoints.push(v);var O=new SuperMap.Geometry.Point(r.scalePt.x,r.scalePt.y);O.isScalePoint=!0,O.tag=1,this.scalePoints.push(O);var U=new SuperMap.Geometry.Point(s.pt.x,s.pt.y);U.isScalePoint=!0,U.tag=2,this.scalePoints.push(U);var w=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(s.pt.x,s.pt.y),p,p,0),L=new SuperMap.Geometry.Point(w.x,w.y);L.isScalePoint=!0,L.tag=3,this.scalePoints.push(L),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;if(4>this.scaleValues.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(i),r=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var a=l[0],s=SuperMap.Plot.PlottingUtil.distance(a,r);this.scaleValues[1]=2*s/o}else if(1===t)a=l[0],s=SuperMap.Plot.PlottingUtil.distance(a,r),this.scaleValues[0]=s/o;else if(2===t){for(var p=-1,u=0,c=new SuperMap.Geometry.Point(0,0),P=0;P<i.length-1;P++){var S=i[P],h=i[P+1],y=SuperMap.Plot.PlottingUtil.projectPoint(r,S,h);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(y,S,h)){var f=SuperMap.Plot.PlottingUtil.distance(r,y);-1===p?(p=P,c=y,u=f):u>f&&(p=P,c=y,u=f)}}if(-1===p||p>i.length-1)return;for(var g=[],b=0;b<p;b++)g.push(i[b]);g.push(c);var M=SuperMap.Plot.PlottingUtil.polylineDistance(g);if(M<0||M>n)return;this.scaleValues[2]=M/n}else if(3===t){var m=n*this.scaleValues[2],d=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,m);if(-1===d.index)return;var v=SuperMap.Plot.PlottingUtil.distance(d.pt,e);this.scaleValues[3]=v/o}}}},{key:"GetCurvePts",value:function(t,e,l){for(var o,i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),n=SuperMap.Plot.PlottingUtil.polylineDistance(i),r=n*e,a=n*l/2,s=[],p=[],u=i[0],c=!1,P=i[0],S=1;S<i.length;S++){var h=i[S],y=SuperMap.Plot.PlottingUtil.distance(u,h);if(!(y<r&&S!==i.length-1)){for(var f,g=parseInt(y/r),b=0;b<g;b++){f=SuperMap.Plot.PlottingUtil.linePnt(u,h,r),c||(o=f,c=!0);var M=this.GetCosPts2D(u,f,r,a);s=p.length>1&&0===b?this.ClearCurvePts2D(P,u,h,p,M,s):s.concat(M),p=(p=[]).concat(M),P=u,u=f}S===i.length-1&&(f=i[i.length-1],M=this.GetCosPts2D(u,f,r,a),s=p.length>1&&M.length>1?this.ClearCurvePts2D(P,u,h,p,M,s):s.concat(M))}}return{pt:s,scalePt:o}}},{key:"GetCosPts2D",value:function(t,e,l,o){for(var i=[],n=SuperMap.Plot.PlottingUtil.distance(t,e),r=l/30,a=0;a<n;a+=r){var s=a*(2*Math.PI/l),p=o*Math.cos(s),u=new SuperMap.Geometry.Point(a,p),c=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,P=SuperMap.Plot.PlottingUtil.coordinateTrans(t,u,c);i.push(P)}return i}},{key:"ClearCurvePts2D",value:function(t,e,l,o,i,n){for(var r=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,a=180*SuperMap.Plot.PlottingUtil.radian(e,t)/Math.PI-r;a<=0;)a+=360;var s=a/2,p=l;p=SuperMap.Plot.PlottingUtil.rotateAngle(e,s*Math.PI/180,p);for(var u=SuperMap.Plot.PlottingUtil.linePnt(e,p,1),c=0,P=0;P<o.length;P++)if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,o[P])){c=P;break}if(0!=c)for(var S=0;S<o.length-c;S++)n.slice(S,n.length-1);for(var h=0;h<i.length;h++)SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,i[h])&&n.push(i[h]);return n}}]),e}();SuperMap.Plot.AlgoSymbol2091503=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol60310=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=this.subSymbols[0].symbolData.symbolSize.x;var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(a.pts,r.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=100*SuperMap.Plot.PlottingUtil.distance(r.pts,a.pts)/l;if(null==this.subSymbols.length)return;if(null!=this.subSymbols[0].code){this.computeSubSymbol(this.subSymbols[0],a.pts,p,s-90);var u=SuperMap.Plot.PlottingUtil.circlePoint(a.pts,p,p,s+90),c=SuperMap.Plot.PlottingUtil.circlePoint(a.pts,2*p,2*p,s+90),P=[];P.push(u),P.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=SuperMap.Plot.PlottingUtil.circlePoint(c,.2*p,.2*p,s+90),h=SuperMap.Plot.PlottingUtil.circlePoint(c,.05*p,.05*p,s),y=SuperMap.Plot.PlottingUtil.circlePoint(c,.05*p,.05*p,s+180),f=[];f.push(S),f.push(h),f.push(y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f,{fillLimit:!0,fill:!0})}r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(3===t&&null==n.pt&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol60310=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol60306=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0]*e,o=t[0].clone(),i=t[1].clone(),n=SuperMap.Plot.PlottingUtil.linePnt(i,o,e+.2*e),r=SuperMap.Plot.PlottingUtil.linePnt(o,i,e+.2*e),a=1.5*l,s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i,n),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,o,r),u=SuperMap.Plot.PlottingUtil.paraLine(t,l,!0),c=SuperMap.Plot.PlottingUtil.paraLine(t,l,!1),P=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],3*e/11),S=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],4*e/11),h=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],7*e/11),y=SuperMap.Plot.PlottingUtil.linePnt(u[0],u[u.length-1],8*e/11),f=[];f.push(s.pntRight),f.push(u[0]),f.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=[];g.push(S),g.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);var b=[];b.push(y),b.push(u[u.length-1]),b.push(p.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var M=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],3*e/11),m=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],4*e/11),d=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],7*e/11),v=SuperMap.Plot.PlottingUtil.linePnt(c[0],c[c.length-1],8*e/11),O=[];O.push(s.pntLeft),O.push(c[0]),O.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O);var U=[];U.push(m),U.push(d),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U);var w=[];w.push(v),w.push(c[c.length-1]),w.push(p.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol60306=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol60305=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=.05*SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.paraLine(t,e,!0),o=SuperMap.Plot.PlottingUtil.paraLine(t,e,!1),i=l[0],n=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,l[0],l[1]),r=[];r.push(i),r.push(n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);var a=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2+.2/3,l[0],l[1]),s=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3,l[0],l[1]),p=[];p.push(a),p.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);var u=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3*2,l[0],l[1]),c=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(3*.2+.2/3*2,l[0],l[1]),P=[];P.push(u),P.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,l[0],l[1]),h=l[1],y=[];y.push(S),y.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var f=o[0],g=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,o[0],o[1]),b=[];b.push(f),b.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var M=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2+.2/3,o[0],o[1]),m=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3,o[0],o[1]),d=[];d.push(M),d.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.4+.2/3*2,o[0],o[1]),O=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(3*.2+.2/3*2,o[0],o[1]),U=[];U.push(v),U.push(O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U);var w=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.8,o[0],o[1]),L=o[1],_=[];_.push(w),_.push(L),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_);var V=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(1/3,t[0],t[1]),A=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(1/3*2,t[0],t[1]),T=[];T.push(V),T.push(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T);var E=SuperMap.Plot.PlottingUtil.radian(V,A)*SuperMap.Plot.PlottingUtil.RTOD,x=SuperMap.Plot.PlottingUtil.distance(V,A),j=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.2,V,A),Y=SuperMap.Plot.PlottingUtil.circlePoint(j,.025*x,.025*x,E+90),C=SuperMap.Plot.PlottingUtil.circlePoint(j,.025*x,.025*x,E-90),I=[];I.push(Y),I.push(C),I.push(V);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,I,{fillLimit:!0,fill:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol60305=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol60304=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l.subText="隧",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol2121505),e}();SuperMap.Plot.AlgoSymbol60304=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol2121505=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l.subText="火",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],l=t[1],o=SuperMap.Plot.PlottingUtil.distance(e,l),i=o*this.scaleValues[0],n=SuperMap.Plot.PlottingUtil.linePnt(e,l,.5*o),r=SuperMap.Plot.PlottingUtil.linePnt(n,e,2*i),a=SuperMap.Plot.PlottingUtil.linePnt(n,l,2*i),s=[];s.push(t[0],r);var p=[];p.push(a,t[1]);var u=SuperMap.Plot.PlottingUtil.paraLine(s,i,!0),c=SuperMap.Plot.PlottingUtil.paraLine(s,i,!1),P=SuperMap.Plot.PlottingUtil.paraLine(p,i,!0),S=SuperMap.Plot.PlottingUtil.paraLine(p,i,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=this.subText,y=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,f=new SuperMap.Geometry.Point(n.x,n.y),g=SuperMap.Plot.PlottingUtil.distance(r,a);this.addText(h,f,g,y),this.addScalePoint(u[0],0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;i>.24&&(i=.24),this.scaleValues[0]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol2121505=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol60301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="爆",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30020),e}();SuperMap.Plot.AlgoSymbol60301=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol60205=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(90),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[2]=2*o}var i=l*this.scaleValues[0],n=this.scaleValues[1],r=l*this.scaleValues[2],a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,e);if(a.bfind){var s=a.pts.clone(),p=e[a.index].clone(),u=e[a.index+1].clone(),c=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,P=SuperMap.Plot.PlottingUtil.circlePoint(s,r,r,c+n),S=[];S.push(a.pts),S.push(P);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0,surroundLineLimit:!0});var h=SuperMap.Plot.PlottingUtil.radian(s,P)*SuperMap.Plot.PlottingUtil.RTOD,y=new SuperMap.Geometry.Point(-.2*r,.05*r),f=new SuperMap.Geometry.Point(-.2*r,-.05*r),g=SuperMap.Plot.PlottingUtil.coordinateTrans(P,y,h),b=SuperMap.Plot.PlottingUtil.coordinateTrans(P,f,h),M=[];M.push(P),M.push(g),M.push(b);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M,{lineTypeLimit:!0,surroundLineLimit:!0,fillLimit:!0,fill:!0});var m=.3*r,d=.6*r,v=i-d;v<0&&(v=0);var O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(v,e);if(O.bfind){var U=[];U.push(O.pts);for(var w=O.index;w>=0;w--)U.push(e[w]);var L=[];L.push(O.pts);for(var _=O.index+1;_<e.length;_++)L.push(e[_]);var V=.6*m,A=[];if(U.length>1){var T=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,U);if(T.bfind){(A=[]).push(T.pts);for(var E=T.index+1;E<U.length;E++)A.push(U[E]);U=[],A.length>1&&(U=U.concat(A))}}if(U.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U),L.length>1){var x=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,L);if(x.bfind){(A=[]).push(x.pts);for(var j=x.index+1;j<L.length;j++)A.push(L[j]);L=[],A.length>1&&(L=L.concat(A))}}var Y=i+d;Y>l&&(Y=l),Y=l-Y;for(var C=[],I=L.length-1;I>=0;I--)C.push(L[I]);var B=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(Y,C);if(B.bfind){var R=[];R.push(B.pts);for(var G=B.index;G>=0;G--)R.push(C[G]);var N=[];N.push(B.pts);for(var D=B.index+1;D<C.length;D++)N.push(C[D]);if(R.length>1){var k=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,R);if(k.bfind){(A=[]).push(k.pts);for(var z=k.index+1;z<R.length;z++)A.push(R[z]);R=[],A.length>1&&(R=R.concat(A))}}if(R.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,R),N.length>1){var F=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(V,N);if(F.bfind){(A=[]).push(F.pts);for(var K=F.index+1;K<N.length;K++)A.push(N[K]);N=[],A.length>1&&(N=N.concat(A))}}N.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,N),this.subSymbols.length>0&&(this.computeSubSymbol(this.subSymbols[0],O.pts,m,c+n+180,.3),this.computeSubSymbol(this.subSymbols[1],B.pts,m,c+n+180,.3)),this.addScalePoint(a.pts,0),this.addScalePoint(P,1),this.finish()}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;if(0>t||1<t)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var n=[],r=0;r<o.length;r++)n.push(o[r]);for(var a=-1,s=new SuperMap.Geometry.Point(0,0),p=0,u=0;u<n.length-1;u++){var c=[];c.push(n[u]),c.push(n[u+1]);var P=SuperMap.Plot.PlottingUtil.projectPoint(e,n[u],n[u+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(P,c).isOnPolyLine){var S=SuperMap.Plot.PlottingUtil.distance(e,P);-1===a?(a=u,s=P,p=S):p>S&&(a=u,s=P,p=S)}}if(-1===a||a>n.length-1)return;for(var h=0,y=0;y<a;y++){var f=o[y].clone(),g=o[y+1].clone();h+=SuperMap.Plot.PlottingUtil.distance(f,g)}var b=o[a].clone();if((h+=SuperMap.Plot.PlottingUtil.distance(b,s))<0||h>i)return;this.scaleValues[0]=h/i}if(1===t){var M=i*this.scaleValues[0],m=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(M,o);if(!m.bfind)return;var d=m.pts.clone(),v=new SuperMap.Geometry.Point(o[m.index].x,o[m.index].y),O=new SuperMap.Geometry.Point(o[m.index+1].x,o[m.index+1].y),U=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD,w=SuperMap.Plot.PlottingUtil.radian(d,e)*SuperMap.Plot.PlottingUtil.RTOD;this.scaleValues[1]=w-U;var L=SuperMap.Plot.PlottingUtil.distance(d,e);this.scaleValues[2]=L/i}}}}]),e}();SuperMap.Plot.AlgoSymbol60205=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol60203=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length===this.minEditPts){for(var e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t),l=[],o=0;o<e.length;o++)l.push(e[o]);if(!(l.length<4)){var i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=SuperMap.Plot.PlottingUtil.distance(l[1],l[2]),r=0;r=i<n?.2*i:.2*n;var a=SuperMap.Plot.PlottingUtil.findPointInLine(l[0],l[1],.5*i-.5*r),s=SuperMap.Plot.PlottingUtil.findPointInLine(l[0],l[1],.5*i+.5*r),p=SuperMap.Plot.PlottingUtil.findPointInLine(l[1],l[2],.5*n-.5*r),u=SuperMap.Plot.PlottingUtil.findPointInLine(l[1],l[2],.5*n+.5*r),c=SuperMap.Plot.PlottingUtil.findPointInLine(l[2],l[3],.5*i-.5*r),P=SuperMap.Plot.PlottingUtil.findPointInLine(l[2],l[3],.5*i+.5*r),S=SuperMap.Plot.PlottingUtil.findPointInLine(l[3],l[0],.5*n-.5*r),h=SuperMap.Plot.PlottingUtil.findPointInLine(l[3],l[0],.5*n+.5*r),y=[];y.push(h),y.push(l[0]),y.push(a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var f=[];f.push(s),f.push(l[1]),f.push(p),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=[];g.push(u),g.push(l[2]),g.push(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);var b=[];b.push(P),b.push(l[3]),b.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var M=new SuperMap.Geometry.Point((l[0].x+l[2].x)/2,(l[0].y+l[2].y)/2);this.addText("避",M,3*r,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol60203=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50352=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=this.subSymbols[0].symbolData.symbolSize.x;var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(a.pts,r.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=60*SuperMap.Plot.PlottingUtil.distance(r.pts,a.pts)/l,u=new SuperMap.Geometry.Point((a.pts.x+r.pts.x)/2,(r.pts.y+a.pts.y)/2);if(null==this.subSymbols.length)return;if(null!=this.subSymbols[0].code){this.computeSubSymbol(this.subSymbols[0],u,p,s+90);var c=SuperMap.Plot.PlottingUtil.circlePoint(a.pts,p,p,s+90),P=SuperMap.Plot.PlottingUtil.circlePoint(a.pts,2*p,2*p,s+90),S=[];S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*p,.2*p,s+90),y=SuperMap.Plot.PlottingUtil.circlePoint(P,.05*p,.05*p,s),f=SuperMap.Plot.PlottingUtil.circlePoint(P,.05*p,.05*p,s+180),g=[];g.push(h),g.push(y),g.push(f);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,g,{fillLimit:!0,fill:!0})}r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(-1===n.index&&3===t&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol50352=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50342=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=o*this.scaleValues[2],a=o*this.scaleValues[3],s=new SuperMap.Geometry.Point(l.x+r,l.y+a),p=o*n;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],s,p,0);var u=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,180);this.addScalePoint(u,0),this.addScalePoint(s,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===n)return;var r=0,a=0,s=0,p=0;if(0===t){s=n*(r=this.scaleValues[2]),p=n*(a=this.scaleValues[3]);var u=new SuperMap.Geometry.Point(i.x+s,i.y+p),c=SuperMap.Plot.PlottingUtil.distance(e,u)/n;this.scaleValues[0]=c}else 1===t&&(r=(s=e.x-i.x)/n,a=(p=e.y-i.y)/n,this.scaleValues[2]=r,this.scaleValues[3]=a)}}}]),e}();SuperMap.Plot.AlgoSymbol50342=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50308=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05),l.scaleValues.push(-1.5)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit||3===this.scaleValues.length){this.scaleValues=[];for(var e=0;e<t.length;e++)this.scaleValues.push(0);var l=this.getSubSymbolScaleValue();this.scaleValues.push(.8*l),this.scaleValues.push(l),this.scaleValues.push(-1.5)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var o,i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=this.scaleValues.length,r=i*this.scaleValues[n-3],a=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2),s=new SuperMap.Geometry.Point(a.x+r,a.y),p=[];p.push(a),p.push(s),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,p,{fillLimit:!0,fill:!0,fillColorLimit:!0,fillColor:"#141313",fillOpacity:1});var u=this.scaleValues[0];if(0===u)o=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[1],t[0]).pntRight;else if(1===u)o=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[1],t[0]).pntLeft;else{if(2!==u)return;o=t[0]}var c=[];c.push(t[0]),c.push(o),this.addScalePoint(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,null,!0);var P,S=[];if(t.length>this.minEditPts){for(var h=1;h<t.length-1;h++){var y,f=this.scaleValues[h],g=null,b=null,M=null,m=0,d=0,v=0;if(0===f){for(g=t[h],b=t[h+1],M=t[h-1],m=SuperMap.Plot.PlottingUtil.radian(g,b)*SuperMap.Plot.PlottingUtil.RTOD,d=SuperMap.Plot.PlottingUtil.radian(g,M)*SuperMap.Plot.PlottingUtil.RTOD-m;d<0;)d+=360;v=d/2;var O=t[h+1].clone();O=SuperMap.Plot.PlottingUtil.rotateAngle(g,v*Math.PI/180,O),y=SuperMap.Plot.PlottingUtil.linePnt(g,O,r)}else if(1===f){for(g=t[h],b=t[h+1],M=t[h-1],m=SuperMap.Plot.PlottingUtil.radian(g,b)*SuperMap.Plot.PlottingUtil.RTOD,d=SuperMap.Plot.PlottingUtil.radian(g,M)*SuperMap.Plot.PlottingUtil.RTOD-m;d<0;)d+=360;v=180-d/2;var U=t[h-1].clone();O=SuperMap.Plot.PlottingUtil.rotateAngle(g,v*Math.PI/180,U),y=SuperMap.Plot.PlottingUtil.linePnt(g,U,r)}else{if(2!==f)continue;y=t[h]}S.push(t[h]),S.push(y),this.addScalePoint(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,null,!0)}var w=t.length,L=this.scaleValues[w-1],_=0,V=0,A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[w-2],t[w-1]),T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*r,t[w-2],t[w-1]);if(0===L)_=A.pntLeft,V=T.pntLeft;else if(1===L)_=A.pntRight,V=T.pntRight;else{if(2!==L)return;_=t[w-1].clone(),V=t[w-1].clone()}(S=[]).push(t[w-1]),S.push(_),this.addScalePoint(_),this.addScalePoint(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,null,!0)}else{var E=this.scaleValues[1];if(A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,t[0],t[1]),T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*r,t[0],t[1]),0===E)_=A.pntLeft,V=T.pntLeft;else if(1===E)_=A.pntRight,V=T.pntRight;else{if(2!==E)return;_=t[1].clone(),V=t[1].clone()}(S=[]).push(t[1]),S.push(_),this.addScalePoint(_),this.addScalePoint(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,null,!0)}var x=this.scaleValues.length,j=this.scaleValues[x-2],Y=Math.abs(i*j),C=this.scaleValues[x-1],I=Math.abs(r*C),B=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,Y);if(-1!==B.index){var R=B.index,G=B.pt;P=C>=0?(A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,t[R],G)).pntRight:(A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,t[R],G)).pntLeft;var N=SuperMap.Plot.PlottingUtil.linePnt(G,P,I),D=.3*I,k=SuperMap.Plot.PlottingUtil.linePnt(N,G,D),z=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*D,N,k),F=z.pntLeft,K=z.pntRight;(S=[]).push(G),S.push(N),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,null,!0),(S=[]).push(F),S.push(N),S.push(K);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.addScalePoint(N),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=l.length,n=e;if(t>=0&&t<i){var r=!1,a=null,s=null;r=0===t?SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t],l[t+1],n):t===i-1?SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],n):SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],l[t+1])!==(a=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t-1],l[t],n))?a:(s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[t],l[t+1],n))===a?a:s,this.scaleValues[t]=r?1:0}else if(t===i){var p=SuperMap.Plot.PlottingUtil.distance(l[i-1],n)/2;this.scaleValues[t]=p/o}else if(t===i+1||t===i+2){for(var u=-1,c=0,P=new SuperMap.Geometry.Point(0,0),S=0;S<l.length-1;S++){var h=[];h.push(l[S]),h.push(l[S+1]);var y=SuperMap.Plot.PlottingUtil.projectPoint(n,l[S],l[S+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(y,h).isOnPolyLine){var f=SuperMap.Plot.PlottingUtil.distance(n,y);-1===u?(u=S,P=y,c=f):c>f&&(u=S,P=y,c=f)}}if(-1===u||u>l.length-1)return;for(var g=0,b=0;b<u;b++){var M=l[b],m=l[b+1];g+=SuperMap.Plot.PlottingUtil.distance(M,m)}var d=l[u];if((g+=SuperMap.Plot.PlottingUtil.distance(d,P))<0||g>o)return;this.scaleValues[i+1]=g/o;var v,O=this.scaleValues.length,U=o*this.scaleValues[O-3];v=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[u],l[u+1],n)?c/U:-Math.abs(c/U),this.scaleValues[i+2]=v}}}}]),e}();SuperMap.Plot.AlgoSymbol50308=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50226=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.088259),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),!(this.controlPoints.length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),i=this.scaleValues[0],n=this.scaleValues[2],r=this.scaleValues[3];o.x=o.x+n*l,o.y=o.y+r*l;var a=new SuperMap.Geometry.Point(.5*l*i,0),s=new SuperMap.Geometry.Point(-.5*l*i,0),p=SuperMap.Plot.PlottingUtil.coordinateTrans(o,a,0),u=SuperMap.Plot.PlottingUtil.coordinateTrans(o,s,0),c=[];c.push(p),c.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c);var P=new SuperMap.Geometry.Point(.8*l*i,0),S=new SuperMap.Geometry.Point(-.8*l*i,0),h=SuperMap.Plot.PlottingUtil.coordinateTrans(o,P,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(o,S,0);this.subSymbols.length>0&&(this.computeSubSymbol(this.subSymbols[0],h,18*i,90),this.computeSubSymbol(this.subSymbols[0],y,18*i,90));var f=SuperMap.Plot.PlottingUtil.circlePoint(o,i*l,i*l,180);this.addScalePoint(f,0),this.addScalePoint(o,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.controlPoints.length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0===t){n.x=n.x+this.scaleValues[2]*i,n.y=n.y+this.scaleValues[3]*i;var r=SuperMap.Plot.PlottingUtil.distance(e,n)/i;this.scaleValues[0]=r}if(1===t){var a=(e.x-n.x)/i;this.scaleValues[2]=a;var s=(e.y-n.y)/i;this.scaleValues[3]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol50226=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50225=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);this.isEdit||(this.subSymbolScaleValue=this.getDefaultSubSymbolSize()/e,this.subSymbolScaleValue>.2&&(this.subSymbolScaleValue=.2),this.scaleValues[0]=this.subSymbolScaleValue);var o=this.scaleValues[0],i=this.scaleValues[2],n=this.scaleValues[3],r=e*o,a=new SuperMap.Geometry.Point(l.x+e*i,l.y+e*n);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,r,0),this.addScalePoint(a,0);var s=SuperMap.Plot.PlottingUtil.circlePoint(a,r,r,90);this.addScalePoint(s,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=0,r=0;if(0===t&&(n=(e.x-i.x)/o,this.scaleValues[2]=n,r=(e.y-i.y)/o,this.scaleValues[3]=r),1===t){n=this.scaleValues[2],r=this.scaleValues[3];var a=new SuperMap.Geometry.Point(i.x+o*n,i.y+o*r),s=SuperMap.Plot.PlottingUtil.distance(a,e);this.scaleValues[0]=s/2/o}}}}]),e}();SuperMap.Plot.AlgoSymbol50225=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50223=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.088259),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.088259),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3];l.x=l.x+r*o,l.y=l.y+a*o;var s=new SuperMap.Geometry.Point(.25*o*n,.25*o*n),p=new SuperMap.Geometry.Point(0,.5*o*n),u=new SuperMap.Geometry.Point(-.25*o*n,.25*o*n),c=SuperMap.Plot.PlottingUtil.coordinateTrans(l,s,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(l,p,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(l,u,0);this.addCell(SuperMap.Plot.SymbolType.ARCSYMBOL,[c,P,S],{lineTypeLimit:!0,lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,surroundLineLimit:!0});var h=new SuperMap.Geometry.Point(0,-.3*o*n),y=SuperMap.Plot.PlottingUtil.coordinateTrans(l,h,0);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c,y,S],{lineTypeLimit:!0,lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,surroundLineLimit:!0}),this.scalePoints=[];var f=SuperMap.Plot.PlottingUtil.circlePoint(l,n*o*.5,n*o*.5,180);this.addScalePoint(f,0),this.addScalePoint(l,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){i.x=i.x+this.scaleValues[2]*n,i.y=i.y+this.scaleValues[3]*n;var r=SuperMap.Plot.PlottingUtil.distance(e,i)/n;this.scaleValues[0]=r}else if(1===t){var a=(e.x-i.x)/n;this.scaleValues[2]=a;var s=(e.y-i.y)/n;this.scaleValues[3]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol50223=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol50108=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=2*i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,s,0);for(var u=0;u<this.components.length;u++)this.components[u].style.strokeColor="#0000ff",this.components[u].style.lineColorLimit=!0,this.components[u].style.strokeOpacity=1,this.components[u].style.color="#0000ff",this.components[u].style.opacity=1;this.addScalePoint(p);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),n=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=0,a=0;if(0===t)r=(e.x-i.x)/n,this.scaleValues[2]=r,a=(e.y-i.y)/n,this.scaleValues[3]=a;else if(1===t){r=this.scaleValues[2],a=this.scaleValues[3];var s=new SuperMap.Geometry.Point(i.x+n*r,i.y+n*a),p=SuperMap.Plot.PlottingUtil.distance(s,e);this.scaleValues[0]=p/n}}}}]),e}();SuperMap.Plot.AlgoSymbol50108=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40304=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),!(this.controlPoints.length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=.5*e,o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l,t);if(-1!==o.index){for(var i=[],n=0;n<o.index+1;n++)i.push(t[n]);var r=[],a=.1*e,s=.5*a,p=.05*e;if(l-SuperMap.Plot.PlottingUtil.polylineDistance(i)>=p){var u=SuperMap.Plot.PlottingUtil.linePnt(o.pts,t[o.index],p);i.push(u),this.ComputeDashLine(a,s,i);var c=SuperMap.Plot.PlottingUtil.linePnt(o.pts,t[o.index],p);r.push(c);for(var P=o.index+1;P<t.length;++P)r.push(t[P]);this.ComputeDashLine(a,s,r)}else{for(var S=-1,h=i.length-1;h>=0;h--){var y=new SuperMap.Geometry.Point(i[h].x,i[h].y),f=new SuperMap.Geometry.Point(o.pts.x,o.pts.y),g=SuperMap.Plot.PlottingUtil.distance(y,f);if(g>p){S=h;break}}if(-1==S)return;i.splice(S+1,i.length-1-S),u=SuperMap.Plot.PlottingUtil.linePnt(o.pts,t[S],p),i.push(u),this.ComputeDashLine(a,s,i);for(var b=-1,M=i.length-1;M<t.length;M++)if(y=new SuperMap.Geometry.Point(t[M].x,t[M].y),f=new SuperMap.Geometry.Point(o.pts.x,o.pts.y),(g=SuperMap.Plot.PlottingUtil.distance(y,f))>p){b=M;break}if(-1==b)return;c=SuperMap.Plot.PlottingUtil.linePnt(o.pts,t[b],p),r.push(c);for(var m=b+1;m<t.length;++m)r.push(t[m]);this.ComputeDashLine(a,s,r)}var d=u.clone(),v=c.clone(),O=SuperMap.Plot.PlottingUtil.radian(d,v)*SuperMap.Plot.PlottingUtil.RTOD,U=SuperMap.Plot.PlottingUtil.distance(d,v),w=new SuperMap.Geometry.Point((u.x+c.x)/2,(u.y+c.y)/2);this.addText("警",w,U,O),this.finish()}}}},{key:"ComputeDashLine",value:function(t,e,l){for(var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.clonePoints(l),n=o/7,r=0;r<7;r++){var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,n);if(-1!==a.index){if(0!=r%2){for(var s=[],p=0;p<a.index+1;p++)s.push(i[p].clone());s.push(a.pt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}var u=[];u.push(a.pt);for(var c=a.index+1;c<i.length;c++)u.push(i[c]);i=(i=[]).concat(u)}}i.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}}]),e}();SuperMap.Plot.AlgoSymbol40304=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40302=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);this.isEdit||(this.subSymbolScaleValue=this.getDefaultSubSymbolSize()/e,this.subSymbolScaleValue>.2&&(this.subSymbolScaleValue=.2),this.scaleValues[2]=this.subSymbolScaleValue/3);var o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x-4*n,r.y),s=new SuperMap.Geometry.Point(r.x-4*n,r.y-n/2),p=[];p.push(a),p.push(s);var u={lineTypeLimit:!0,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,u);var c=new SuperMap.Geometry.Point(r.x-4*n,r.y),P=new SuperMap.Geometry.Point(r.x-n,r.y),S=[];S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,u),this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],r,2*n,0);var h=new SuperMap.Geometry.Point(r.x+4*n,r.y),y=new SuperMap.Geometry.Point(r.x+n,r.y),f=[];f.push(h),f.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f,u);var g=new SuperMap.Geometry.Point(r.x+4*n,r.y+n/2),b=new SuperMap.Geometry.Point(r.x+4*n,r.y),M=[];M.push(g),M.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M,u),this.addScalePoint(r,0);var m=SuperMap.Plot.PlottingUtil.circlePoint(r,2*n,2*n,90);this.addScalePoint(m,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=0,r=0;if(0===t&&(n=(e.x-i.x)/o,this.scaleValues[0]=n,r=(e.y-i.y)/o,this.scaleValues[1]=r),1===t){n=this.scaleValues[0],r=this.scaleValues[1];var a=new SuperMap.Geometry.Point(i.x+o*n,i.y+o*r),s=SuperMap.Plot.PlottingUtil.distance(a,e);this.scaleValues[2]=s/2/o}}}}]),e}();SuperMap.Plot.AlgoSymbol40302=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40104=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x+1,r.y),s=[];t.push(t[0].clone());for(var p=0;p<t.length-1;p++){var u=SuperMap.Plot.PlottingUtil.intersectLines(r,a,t[p],t[p+1]);u.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(u.intersectPoint,t[p],t[p+1])&&s.push(u.intersectPoint))}if(0>=s.length)this.finish();else{var c=s[0].clone(),P=s[0].clone();for(p=0;p<s.length;p++)c.x>s[p].x&&(c=s[p].clone()),P.x<s[p].x&&(P=s[p].clone());var S=new SuperMap.Geometry.Point(r.x-n/2,c.y),h=new SuperMap.Geometry.Point(r.x+n/2,P.y),y=SuperMap.Plot.PlottingUtil.radian(S,h)*SuperMap.Plot.PlottingUtil.RTOD;this.addText("缉",r,n,y),this.addScalePoint(r,0);var f=SuperMap.Plot.PlottingUtil.circlePoint(r,n/2,n/2,90);this.addScalePoint(f,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),n=e,r=0,a=0;if(0===t){if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,n))return;r=(n.x-i.x)/o,this.scaleValues[0]=r,a=(n.y-i.y)/o,this.scaleValues[1]=a}if(1===t){r=this.scaleValues[0],a=this.scaleValues[1];var s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=2*SuperMap.Plot.PlottingUtil.distance(n,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol40104=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30026=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t),this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=new SuperMap.Geometry.Point(l.x+1,l.y),i=[];t.push(t[0].clone());for(var n=0;n<t.length-1;n++){var r=SuperMap.Plot.PlottingUtil.intersectLines(l,o,t[n],t[n+1]);r.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(r.intersectPoint,t[n],t[n+1])&&i.push(r.intersectPoint))}if(!(0>=i.length)){var a=i[0].clone(),s=i[0].clone();for(n=0;n<i.length;n++)a.x>i[n].x&&(a=i[n].clone()),s.x<i[n].x&&(s=i[n].clone());var p=SuperMap.Plot.PlottingUtil.distance(s,a),u=new SuperMap.Geometry.Point(l.x-.25*p,a.y),c=e*this.scaleValues[0],P=e*this.scaleValues[0],S=P+c,h=new SuperMap.Geometry.Point(u.x,u.y+S);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[h,new SuperMap.Geometry.Point(h.x+c,h.y)]);var y=new SuperMap.Geometry.Point(u.x,u.y+.8*P),f=new SuperMap.Geometry.Point(u.x-P,u.y-P),g=new SuperMap.Geometry.Point(u.x+P,u.y-P),b=[];b.push(y),b.push(f),b.push(g),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b);var M=new SuperMap.Geometry.Point(u.x-.5*P,u.y-P),m=new SuperMap.Geometry.Point(f.x,f.y-2*c),d=new SuperMap.Geometry.Point(u.x+.5*P,u.y-P),v=new SuperMap.Geometry.Point(g.x,g.y-2*c),O=[];O.push(M),O.push(m);var U=[];U.push(d),U.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U),this.addText("灾",l,2*P,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol30026=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30025=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t);this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());var o=new SuperMap.Geometry.Point(l.x+1,l.y),i=[];t.push(t[0].clone());for(var n=0;n<t.length-1;n++){var r=SuperMap.Plot.PlottingUtil.intersectLines(l,o,t[n],t[n+1]);r.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(r.intersectPoint,t[n],t[n+1])&&i.push(r.intersectPoint))}if(!(0>=i.length)){var a=i[0].clone(),s=i[0].clone();for(n=0;n<i.length;n++)a.x>i[n].x&&(a=i[n].clone()),s.x<i[n].x&&(s=i[n].clone());var p=SuperMap.Plot.PlottingUtil.distance(s,a),u=new SuperMap.Geometry.Point(l.x-.25*p,a.y),c=e*this.scaleValues[0],P=e*this.scaleValues[0],S=P+c,h=new SuperMap.Geometry.Point(u.x,u.y+S);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[h,new SuperMap.Geometry.Point(h.x+c,h.y)]);var y=new SuperMap.Geometry.Point(u.x,u.y+.8*P),f=new SuperMap.Geometry.Point(u.x-P,u.y-P),g=new SuperMap.Geometry.Point(u.x+P,u.y-P),b=[];b.push(y),b.push(f),b.push(g),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,b);var M=new SuperMap.Geometry.Point(u.x-.5*P,u.y-P),m=new SuperMap.Geometry.Point(f.x,f.y-2*c),d=new SuperMap.Geometry.Point(u.x+.5*P,u.y-P),v=new SuperMap.Geometry.Point(g.x,g.y-2*c),O=[];O.push(M),O.push(m);var U=[];U.push(d),U.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U),this.addText("滞",l,2*P,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol30025=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30020=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l.subText="水",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(this.controlPoints.length<3)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=this.scaleValues[0],i=this.scaleValues[1],n=e*this.scaleValues[2],r=new SuperMap.Geometry.Point(l.x+e*o,l.y+e*i),a=new SuperMap.Geometry.Point(r.x+1,r.y),s=[];t.push(t[0].clone());for(var p=0;p<t.length-1;p++){var u=SuperMap.Plot.PlottingUtil.intersectLines(r,a,t[p],t[p+1]);u.isIntersectLines&&(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(u.intersectPoint,t[p],t[p+1])&&s.push(u.intersectPoint))}if(0>=s.length)this.finish();else{var c=s[0].clone(),P=s[0].clone();for(p=0;p<s.length;p++)c.x>s[p].x&&(c=s[p].clone()),P.x<s[p].x&&(P=s[p].clone());var S=[],h=new SuperMap.Geometry.Point(r.x-n/2,c.y);h.x<=P.x&&h.x>=c.x&&((S=[]).push(c),S.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S));var y=new SuperMap.Geometry.Point(r.x+n/2,P.y);y.x<=P.x&&y.x>=c.x&&((S=[]).push(P),S.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S));var f=SuperMap.Plot.PlottingUtil.radian(h,y)*SuperMap.Plot.PlottingUtil.RTOD;this.addText(this.subText,r,n,f),this.addScalePoint(r,0);var g=SuperMap.Plot.PlottingUtil.circlePoint(r,n/2,n/2,90);this.addScalePoint(g,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),n=0,r=0,a=e;if(0===t){if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,a))return;n=(a.x-i.x)/o,this.scaleValues[0]=n,r=(a.y-i.y)/o,this.scaleValues[1]=r}if(1===t){n=this.scaleValues[0],r=this.scaleValues[1];var s=new SuperMap.Geometry.Point(i.x+n*o,i.y+r*o),p=2*SuperMap.Plot.PlottingUtil.distance(a,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol30020=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30014=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=.1*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),o=this.textContent.length*l/2.5,i=.5*(e-o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t);if(-1!==n.index){var r=SuperMap.Plot.PlottingUtil.clonePoints(t);r.splice(n.index+1,t.length-n.index-1),r.push(n.pts);var a={lineColorLimit:!0,strokeColor:"#0000ff",color:"#0000ff"},s=SuperMap.Plot.PlottingUtil.paraLine(r,.25*l,!0),p=SuperMap.Plot.PlottingUtil.paraLine(r,.25*l,!1),u=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i+o,t);if(-1!==u.index){var c=SuperMap.Plot.PlottingUtil.clonePoints(t);c.splice(0,u.index+1),c.splice(0,0,u.pts);var P=SuperMap.Plot.PlottingUtil.paraLine(c,.25*l,!0),S=SuperMap.Plot.PlottingUtil.paraLine(c,.25*l,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s,a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,a),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,a);var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*e,t),y=SuperMap.Plot.PlottingUtil.radian(n.pts,u.pts)*SuperMap.Plot.PlottingUtil.RTOD;this.addText("(XX)",h.pts,o,y),this.finish()}}}}}]),e}();SuperMap.Plot.AlgoSymbol30014=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30013=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=.1*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],Math.sqrt(3)*e/4),o=SuperMap.Plot.PlottingUtil.clonePoints(t);o.splice(t.length-1,1),o.push(l);var i=SuperMap.Plot.PlottingUtil.paraLine(o,.25*e,!0),n={lineColorLimit:!0,strokeColor:"#0000ff",color:"#0000ff"},r=SuperMap.Plot.PlottingUtil.paraLine(o,.25*e,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r,n);var a=SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],t[t.length-2],e),s=new SuperMap.Geometry.Point(a.x,a.y),p=new SuperMap.Geometry.Point(a.x,a.y);s=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],1/6*Math.PI,s),p=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],11/6*Math.PI,p);var u=[];u.push(s),u.push(t[t.length-1]),u.push(p),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol30013=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30012=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=this.scaleValues[0],l=this.scaleValues[1],o=this.scaleValues[2],i=SuperMap.Plot.PlottingUtil.getOutRectangleDis(t);if(0!==i){if(!this.isEdit){var n=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[2]=n/i}var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),a=new SuperMap.Geometry.Point(r.x+e*i,r.y+l*i),s=o*i;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,s,0),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t),this.addScalePoint(a,0);var p=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,90);this.addScalePoint(p,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.getOutRectangleDis(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=new SuperMap.Geometry.Point(e.x,e.y);if(0===t&&(this.scaleValues[0]=(n.x-i.x)/o,this.scaleValues[1]=(n.y-i.y)/o),1===t){var r=this.scaleValues[0],a=this.scaleValues[1],s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=SuperMap.Plot.PlottingUtil.distance(e,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol30012=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30011=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init(),2===this.controlPoints.length&&this.calAssistantLine();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts||0!==SuperMap.Plot.PlottingUtil.getOutRectangleDis(t)&&(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t),this.finish())}}]),e}();SuperMap.Plot.AlgoSymbol30011=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30010=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(-.1),l.scaleValues.push(-.1),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=this.scaleValues[0],l=this.scaleValues[1],o=this.scaleValues[2],i=SuperMap.Plot.PlottingUtil.getOutRectangleDis(t);if(0!==i){if(!this.isEdit){var n=this.getSubSymbolScaleValue()*SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);this.scaleValues[2]=n/i}t.length===this.minEditPts?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),a=new SuperMap.Geometry.Point(r.x+e*i,r.y+l*i),s=o*i;this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],a,s,0),this.addText("?",r,.3*i,0,"#0000ff"),this.addScalePoint(a,0);var p=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,90);this.addScalePoint(p,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.getOutRectangleDis(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0===o)return;var n=new SuperMap.Geometry.Point(e.x,e.y);if(0===t&&(this.scaleValues[0]=(n.x-i.x)/o,this.scaleValues[1]=(n.y-i.y)/o),1===t){var r=this.scaleValues[0],a=this.scaleValues[1],s=new SuperMap.Geometry.Point(i.x+r*o,i.y+a*o),p=SuperMap.Plot.PlottingUtil.distance(e,s);this.scaleValues[2]=p/o}}}}]),e}();SuperMap.Plot.AlgoSymbol30010=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30009=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(-.04),l.scaleValues.push(-.175),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=l*this.scaleValues[0],i=e[e.length-1];if(e.length>2){for(var n=-1,r=e.length-2;r>=0;r--)if(o<SuperMap.Plot.PlottingUtil.distance(i,e[r])){n=r;break}e.splice(n+1,e.length-n),e.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var a=e[e.length-2],s=e[e.length-1],p=o,u=180*SuperMap.Plot.PlottingUtil.radian(a,s)/Math.PI,c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+157.5),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+202.5),S=[];S.push(c),S.push(i),S.push(P);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var h=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(.8*p,s,a),y=SuperMap.Plot.PlottingUtil.circlePoint(h,p,p,u+90),f=SuperMap.Plot.PlottingUtil.circlePoint(h,p,p,u-90),g=[];g.push(y),g.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g);var b=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(1.2*p,s,a),M=SuperMap.Plot.PlottingUtil.circlePoint(b,p,p,u+90),m=SuperMap.Plot.PlottingUtil.circlePoint(b,p,p,u-90),d=[];d.push(M),d.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol30009=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30008=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=l*this.scaleValues[0],i=e[e.length-1];if(e.length>2){for(var n=-1,r=e.length-2;r>=0;r--)if(o<SuperMap.Plot.PlottingUtil.distance(i,e[r])){n=r;break}e.splice(n+1,e.length-n),e.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var a=e[e.length-2],s=e[e.length-1],p=o,u=180*SuperMap.Plot.PlottingUtil.radian(a,s)/Math.PI,c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+157.5),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+202.5),S=[];S.push(c),S.push(i),S.push(P);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol30008=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21221=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL,e);for(var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=e[0].x,i=e[0].x,n=e[0].y,r=e[0].y,a=[],s=0;s<e.length;s++)o>e[s].x&&(o=e[s].x),i<e[s].x&&(i=e[s].x),n>e[s].y&&(n=e[s].y),r<e[s].y&&(r=e[s].y),a.push(e[s]);for(var p=(i-o)/5,u=.2*p,c=[],P=0;P<360;P+=18){var S=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(0,0),u,u,P);c.push(S)}for(var h=0,y=o;y<i;y+=p)for(var f=n;f<r;f+=p){var g=new SuperMap.Geometry.Point(y,f);if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(a,g))if(0===h){if(h=0,this.subSymbols.length>0){var b=.015*l;this.computeSubSymbol(this.subSymbols[0],g,b,0),!0===this.subSymbols[0].fillLimit&&(this.subSymbols[0].fillColor="#332323")}h++}else if(h=0,this.subSymbols.length>0){var M=.015*l;this.computeSubSymbol(this.subSymbols[1],g,M,0)}}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol21221=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21216=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=.05*e,o=SuperMap.Plot.PlottingUtil.paraLine(t,.5*l,!0);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);var i=[];i=i.concat(o);for(var n=SuperMap.Plot.PlottingUtil.polylineDistance(i),r=50*this.getSubSymbolScaleValue(),a=n*r*.02,s=n*r*.005,p=.1*n,u=.1*e,c=0;c<=n;c+=p){var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,c+u);if(-1!==P.index){var S,h=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(a,i[P.index],P.pt);S=this.scaleValues[0]>0?new SuperMap.Geometry.Point(h.pntLeft.x,h.pntLeft.y):new SuperMap.Geometry.Point(h.pntRight.x,h.pntRight.y);var y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,S,P.pt),f=[];if(f.push(y.pntRight),f.push(S),f.push(y.pntLeft),0===c){var g=new SuperMap.Geometry.Point(S.x,S.y);g.isScalePoint=!0,g.tag=0,this.scalePoints.push(g)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e);this.scaleValues[0]=o?-1:1}}}]),e}();SuperMap.Plot.AlgoSymbol21216=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol3020901=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.125)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(2==t.length){var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=SuperMap.Plot.PlottingUtil.distance(l,o),n=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI,r=SuperMap.Plot.PlottingUtil.circlePoint(l,i,i,n+60);e.push(t[0]),e.push(o),e.push(r),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);for(var a=0;a<t.length;a++)e.push(t[a])}var s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),p=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var u=this.scaleValues[0],c=this.scaleValues[1],P=this.scaleValues[2],S=new SuperMap.Geometry.Point(s.x+p*u,s.y+p*c),h=p*P;0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],S,h,0),this.addScalePoint(S.clone());var y=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*h,.5*h,90);this.addScalePoint(y),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];if(2==l.length){var i=new SuperMap.Geometry.Point(l[0].x,l[0].y),n=new SuperMap.Geometry.Point(l[1].x,l[1].y),r=SuperMap.Plot.PlottingUtil.distance(i,n),a=180*SuperMap.Plot.PlottingUtil.radian(i,n)/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(i,r,r,a+60);o.push(l[0]),o.push(n),o.push(s),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);for(var p=0;p<l.length;p++)o.push(l[p])}var u=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),c=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)this.scaleValues[0]=(e.x-u.x)/c,this.scaleValues[1]=(e.y-u.y)/c;else if(1===t){var P=new SuperMap.Geometry.Point(u.x+c*this.scaleValues[0],u.y+c*this.scaleValues[1]),S=2*SuperMap.Plot.PlottingUtil.distance(e,P)/c;S<.5&&(this.scaleValues[2]=S)}}}}]),e}();SuperMap.Plot.AlgoSymbol3020901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010304=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="协",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010304=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010303=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="出",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010303=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol3010301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="调",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21600),e}();SuperMap.Plot.AlgoSymbol3010301=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=.4*i}var n=l*this.scaleValues[0],r=l*this.scaleValues[2],a=l*this.scaleValues[3],s=new SuperMap.Geometry.Point(o.x+r,o.y+a),p=.6*n,u=new SuperMap.Geometry.Point(s.x+n,s.y),c=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,0),P=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,180),S=[];S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0});var h=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,90),y=SuperMap.Plot.PlottingUtil.circlePoint(u,p,p,270);(S=[]).push(h),S.push(y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0});var f=new SuperMap.Geometry.Point(s.x-n,s.y),g=SuperMap.Plot.PlottingUtil.circlePoint(f,.5*n,.5*n,270),b=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,240),M=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,90),m=SuperMap.Plot.PlottingUtil.circlePoint(f,n,n,300);(S=[]).push(g),S.push(b),S.push(M),S.push(m),S.push(g),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S,{lineTypeLimit:!0}),this.scalePoints=[];var d=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,0);this.addScalePoint(d),this.addScalePoint(s),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var r=i*this.scaleValues[2],a=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+r,n.y+a),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol40100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol37700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol23500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,s,0),this.addScalePoint(p);var u=s,c=SuperMap.Plot.PlottingUtil.circlePoint(p,u,u,90);this.addScalePoint(c),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol37700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.05),this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue()),2==t.length?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=e*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],l,o,0),this.scalePoints=[];var i=SuperMap.Plot.PlottingUtil.circlePoint(l,o,o,90);this.addScalePoint(i),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(e,i)/o;this.scaleValues[0]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol35200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol35000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.03),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues[0]=.03),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=e[0],n=e[1],r=e[e.length-1],a=e[e.length-2],s=SuperMap.Plot.PlottingUtil.radian(i,n)*SuperMap.Plot.PlottingUtil.RTOD,p=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD,u=this.scaleValues[0],c=l*u,P=SuperMap.Plot.PlottingUtil.circlePoint(i,c,c,s+90),S=SuperMap.Plot.PlottingUtil.circlePoint(i,c,c,s+270),h=[];h.push(P),h.push(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineTypeLimit:!0}),this.scalePoints=[],this.addScalePoint(S);var y=SuperMap.Plot.PlottingUtil.circlePoint(r,c,c,p+90),f=SuperMap.Plot.PlottingUtil.circlePoint(r,c,c,p+270);(h=[]).push(y),h.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineTypeLimit:!0});var g,b,M=t.length;if(this.scaleValues.length<=M){for(this.scaleValues=[],this.scaleValues.push(u),b=1/M,g=0;g<M-1;g++)this.scaleValues.push(b*(g+1));this.scaleValues.push(u)}for(g=0;g<M-1;g++){var m=(b=this.scaleValues[g+1])*l,d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(m,e);if(!d.bfind)return;var v=d.pts,O=d.index,U=l*this.getSubSymbolScaleValue(),w=.3*U,L=SuperMap.Plot.PlottingUtil.radian(e[O],e[O+1])*SuperMap.Plot.PlottingUtil.RTOD,_=new SuperMap.Geometry.Point(U,-w),V=new SuperMap.Geometry.Point(-U,-w),A=new SuperMap.Geometry.Point(-U,0),T=new SuperMap.Geometry.Point(U,0),E=SuperMap.Plot.PlottingUtil.coordinateTrans(v,_,L),x=SuperMap.Plot.PlottingUtil.coordinateTrans(v,V,L),j=SuperMap.Plot.PlottingUtil.coordinateTrans(v,A,L),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(v,T,L);(h=[]).push(E),h.push(x),h.push(j),h.push(Y),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,{lineTypeLimit:!0,fillLimit:!0,fill:!0}),this.addScalePoint(v)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>=this.scalePoints.length)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0==t){var r=(i=SuperMap.Plot.PlottingUtil.distance(e,l[0]))/n;this.scaleValues[0]=r}else{var a,s=e,p=[];for(a=0;a<o.length;a++)p.push(o[a]);var u=-1,c=0,P=new SuperMap.Geometry.Point(0,0);for(a=0;a<p.length-1;a++){var S=[];S.push(p[a]),S.push(p[a+1]);var h=SuperMap.Plot.PlottingUtil.projectPoint(s,p[a],p[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(h,S).isOnPolyLine){var y=SuperMap.Plot.PlottingUtil.distance(s,h);-1==u?(u=a,P=h,c=y):c>y&&(u=a,P=h,c=y)}}if(-1==u||u>p.length-1)return;for(i=0,a=0;a<u;a++)i+=SuperMap.Plot.PlottingUtil.distance(o[a],o[a+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[u],P))<0||i>n)return;var f=i/n;this.scaleValues[t]=f}}}}]),e}();SuperMap.Plot.AlgoSymbol35000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol44100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.105263),l.scaleValues.push(.181818),l.scaleValues.push(.285714),l.scaleValues.push(.285714)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<5&&(this.scaleValues=[],this.scaleValues.push(.285714),this.scaleValues.push(.105263),this.scaleValues.push(.181818),this.scaleValues.push(.285714),this.scaleValues.push(.285714));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),r=new SuperMap.Geometry.Point(0,o*i),a=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*a),u=new SuperMap.Geometry.Point(o*(1-s),o*a),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,g=[];g.push(r),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(n);for(var b=[],M=0;M<g.length;M++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[M],f);b.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var d=[],v=.06*o,O=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(v,l,e),U=O.pntRight,w=O.pntLeft;d.push(U),d.push(w),v=.15*o;var L=new SuperMap.Geometry.Point(v,0),_=SuperMap.Plot.PlottingUtil.coordinateTrans(e,L,f);d.push(_),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d,{lineColorLimit:!0,strokeColor:"#0000FF",strokeOpacity:1,color:"#0000FF",opacity:1,fillLimit:!0,fill:!0}),this.scalePoints=[],this.addScalePoint(b[0]),this.addScalePoint(b[1]),this.addScalePoint(b[2]),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),r=l[1].clone(),a=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(a,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var p=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var c=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol44100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{fillLimit:!0,fill:!1,surroundLineFlag:!1});var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);if(this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0){if(this.subSymbols[0].symbolData)for(var u in this.subSymbols[0].symbolData.innerCells)this.subSymbols[0].symbolData.innerCells[u].type===SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL&&(this.subSymbols[0].symbolData.innerCells[u].type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL);this.computeSubSymbol(this.subSymbols[0],p,s,0)}this.addScalePoint(p);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-r.x)/a,this.scaleValues[2]=i,n=(e.y-r.y)/a,this.scaleValues[3]=n;else if(1===t){i=this.scaleValues[2],n=this.scaleValues[3];var s=new SuperMap.Geometry.Point(r.x+a*i,r.y+a*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/a;this.scaleValues[0]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol42200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(0!=e){var l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],r=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(a.x+i*e,a.y+n*e),p=r*e,u=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,270),c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,30),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,150),S=[];S.push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{fill:!1,lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(h),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),a=e;if(0==t)i=(a.x-r.x)/o,this.scaleValues[0]=i,n=(a.y-r.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(r.x+i*o,r.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(a,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(0!==e){var l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],r=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(a.x+i*e,a.y+n*e),p=r*e,u=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90),c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,210),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,330),S=[];S.push(u),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{fill:!1,lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(h),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),a=e;if(0==t)i=(a.x-r.x)/o,this.scaleValues[0]=i,n=(a.y-r.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(r.x+i*o,r.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(a,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=-.25,l.scaleValues[1]=.1,l.scaleValues[2]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues[0]=-.25,this.scaleValues[1]=.1,this.scaleValues[2]=.05);var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),l=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);if(!this.isEdit){var o=this.getSubSymbolScaleValue()*l;this.scaleValues[2]=.35*o/e}var i=this.scaleValues[0],n=this.scaleValues[1],r=this.scaleValues[2];2===t.length?this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);var a=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),s=new SuperMap.Geometry.Point(a.x+i*e,a.y+n*e),p=r*e,u=new SuperMap.Geometry.Point(s.x,s.y),c=new SuperMap.Geometry.Point(s.x-p,s.y-p),P=new SuperMap.Geometry.Point(s.x+p,s.y-p),S=new SuperMap.Geometry.Point(s.x-p,s.y+p),h=new SuperMap.Geometry.Point(s.x+p,s.y+p),y=[];y.push(u),y.push(c),y.push(P),y.push(u),y.push(S),y.push(h),y.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y,{lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[],this.addScalePoint(s);var f=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,90);this.addScalePoint(f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]);if(0==o)return;var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l),a=e;if(0==t)i=(a.x-r.x)/o,this.scaleValues[0]=i,n=(a.y-r.y)/o,this.scaleValues[1]=n;else if(1==t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(r.x+i*o,r.y+n*o),p=SuperMap.Plot.PlottingUtil.distance(a,s)/o;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol41200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol41100=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(.1*e,t[0],t[1]),o=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(.2*e,t[0],t[1]),i=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2),n=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(.8*e,t[0],t[1]),r=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(.9*e,t[0],t[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],l]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[o,n]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[r,t[1]]);var a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.04*e,t[0],t[1]),s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.04*e,t[1],t[0]),p=a.pntLeft,u=s.pntRight;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],u]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[1],p]);var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.42*e,t[1],i),P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.48*e,t[1],i),S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.6*e,t[1],i),h=c.pntRight,y=P.pntRight,f=S.pntRight;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i,h]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[y,f]);var g=SuperMap.Plot.PlottingUtil.polylineDistance([y,f]),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*g,y,f).pntRight;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[f,b]),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol41100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40101=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(0>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[0]=.2*i}var n=l*this.scaleValues[0],r=l*this.scaleValues[2],a=l*this.scaleValues[3],s=new SuperMap.Geometry.Point(o.x+r,o.y+a),p=[];p.push(s),p.push(new SuperMap.Geometry.Point(s.x+n,s.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,p,{fillLimit:!0,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0});for(var u=18*n,c=new SuperMap.Geometry.Point(s.x+u,s.y),P=[],S=135;S<180;S+=3)P.push(SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,S));P.push(SuperMap.Plot.PlottingUtil.circlePoint(c,u,u,180)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{lineTypeLimit:!0,surroundLineLimit:!0}),this.scalePoints=[];var h=SuperMap.Plot.PlottingUtil.circlePoint(s,n,n,0);this.addScalePoint(h),this.addScalePoint(s),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=[];if(o=3>=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),0>(o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length)return;var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var r=i*this.scaleValues[2],a=i*this.scaleValues[3],s=new SuperMap.Geometry.Point(n.x+r,n.y+a),p=SuperMap.Plot.PlottingUtil.distance(e,s)/i;this.scaleValues[0]=p}else if(1==t){var u=(e.x-n.x)/i,c=(e.y-n.y)/i;this.scaleValues[2]=u,this.scaleValues[3]=c}}}}]),e}();SuperMap.Plot.AlgoSymbol40101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol40900=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues=[]),this.scalePoints=[];var e=[],l=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(t.length<3)e.push(t[0]),e.push(t[1]);else{var o=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=o.scaleValues;for(var i=0;i<o.scalePoints.length;i++)this.addScalePoint(o.scalePoints[i]);e=o.beizerPoints}SuperMap.Plot.PlottingUtil.clearSamePts(e);var n=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.isEdit||(this.scaleValues.push(.5),this.scaleValues.push(this.getSubSymbolScaleValue())),!(e.length<=0)){var r;r=2==t.length?0:t.length-1;var a=n*this.scaleValues[4*r],s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e);if(s.bfind){var p=s.index,u=s.pts,c=l*this.scaleValues[4*r+1],P=a-c,S=a+c;if((s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e)).bfind){var h,y=s.pts,f=[];if(0==(p=s.index))f.push(e[0]);else for(h=0;h<p;h++)f.push(e[h]);if(f.push(y),(s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e)).bfind){var g=s.pts;p=s.index;var b=[];for(b.push(g),h=p+1;h<e.length;h++)b.push(e[h]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[u,g]);var M=l*this.scaleValues[4*r+1]/1.667;if(!(f.length<2)){var m=f[0],d=f[1],v=SuperMap.Plot.PlottingUtil.radian(m,d)*SuperMap.Plot.PlottingUtil.RTOD,O=SuperMap.Plot.PlottingUtil.circlePoint(m,M,M,v+90),U=SuperMap.Plot.PlottingUtil.circlePoint(m,M,M,v+270),w=[];if(w.push(O),w.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),!(b.length<2)){var L=b[b.length-1],_=b[b.length-2],V=SuperMap.Plot.PlottingUtil.radian(L,_)*SuperMap.Plot.PlottingUtil.RTOD,A=SuperMap.Plot.PlottingUtil.circlePoint(L,M,M,V+90),T=SuperMap.Plot.PlottingUtil.circlePoint(L,M,M,V+270);(w=[]).push(A),w.push(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w),this.addScalePoint(u),this.addScalePoint(O),this.finish()}}}}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(n,0))return;if(2*(l.length-1)==t||2==l.length&&0==t){var r,a=e,s=[];for(r=0;r<o.length;r++)s.push(o[r]);var p,u=-1,c=0;for(r=0;r<s.length-1;r++){var P=[];P.push(s[r]),P.push(s[r+1]);var S=SuperMap.Plot.PlottingUtil.projectPoint(a,s[r],s[r+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(S,P).isOnPolyLine){var h=SuperMap.Plot.PlottingUtil.distance(a,S);-1==u?(u=r,p=S,c=h):c>h&&(u=r,p=S,c=h)}}if(-1==u||u>s.length-1)return;var y=0;for(r=0;r<u;r++){var f=o[r],g=o[r+1];y+=SuperMap.Plot.PlottingUtil.distance(f,g)}var b=o[u];if((y+=SuperMap.Plot.PlottingUtil.distance(b,p))<0||y>n)return;var M=y/n;if(M>.8||M<.2)return;2==l.length?this.scaleValues[0]=M:this.scaleValues[2*t]=M}else if(2*l.length-1==t||2==l.length&&1==t){var m=1.667*SuperMap.Plot.PlottingUtil.distance(e,l[0])/i;2==l.length?this.scaleValues[1]=m:this.scaleValues[2*t-1]=m}else{var d=-1;d=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var v=(e.x-l[d].x)/i,O=(e.y-l[d].y)/i;this.scaleValues[2*t]=v,this.scaleValues[2*t+1]=O}}}}]),e}();SuperMap.Plot.AlgoSymbol40900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol32300=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=t[0],o=t[1];e=2==t.length?o:t[2];var i=new SuperMap.Geometry.Point((l.x+o.x)/2,(l.y+o.y)/2),n=SuperMap.Plot.PlottingUtil.distance(i,e),r=.5*n,a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,i,e),s=a.pntLeft,p=a.pntRight,u=!(i.x>e.x),c=[];u?(c.push(l),c.push(s)):(c.push(l),c.push(p)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var P=[];u?(P.push(o),P.push(p)):(P.push(o),P.push(s)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var S,h,y,f,g=.37*n,b=SuperMap.Plot.PlottingUtil.linePnt(i,e,g),M=.09*n,m=[];m.push(b),m.push(new SuperMap.Geometry.Point(b.x,b.y+M)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,m),u?(S=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,i,b)).pntLeft,h=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*M,i,b)).pntLeft,y=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,S,h)).pntRight,f=a.pntLeft):(S=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,i,b)).pntRight,h=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*M,i,b)).pntRight,y=(a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,S,h)).pntRight,f=a.pntLeft);var d=[];d.push(S),d.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d,{lineTypeLimit:!0});var v=[];v.push(y),v.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,{lineTypeLimit:!0}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol32300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31401=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31400),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var e=0;e=Math.abs(t[1].x-t[0].x)<Math.abs(t[1].y-t[0].y)?.1*Math.abs(t[1].x-t[0].x):.1*Math.abs(t[1].y-t[0].y);var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),o=new SuperMap.Geometry.Point(l.x-e,l.y-e),i=new SuperMap.Geometry.Point(l.x+e,l.y-3*e),n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[o,i],n,!0);var r=new SuperMap.Geometry.Point(l.x-e,l.y+e),a=new SuperMap.Geometry.Point(l.x-3*e,l.y+3*e);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[r,a],n,!0);var s=new SuperMap.Geometry.Point(l.x+e,l.y+e),p=new SuperMap.Geometry.Point(l.x+3*e,l.y+3*e);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[s,p],n,!0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31400=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,t);var e=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t),l=0;l=Math.abs(t[1].x-t[0].x)<Math.abs(t[1].y-t[0].y)?.1*Math.abs(t[1].x-t[0].x):.1*Math.abs(t[1].y-t[0].y);var o=new SuperMap.Geometry.Point(e.x-l,e.y-l),i=new SuperMap.Geometry.Point(e.x+l,e.y+l);this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,[o,i],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31301=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol31300),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[0],t[1]),n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i.pntLeft,i.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[n.pntLeft,n.pntRight]);var r=[],a=3*o;r.push(t[0]),r.push(t[1]);for(var s=SuperMap.Plot.PlottingUtil.paraLine(r,a,!0),p=SuperMap.Plot.PlottingUtil.paraLine(r,a,!1),u=[],c=0;c<s.length;c++)u.push(s[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,s[1],s[0]),S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,s[0],s[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P.pntLeft,P.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[S.pntLeft,S.pntRight]);for(var h=[],y=0;y<p.length;y++)h.push(p[y]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,p[1],p[0]),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,p[0],p[1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[f.pntLeft,f.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[g.pntLeft,g.pntRight]),this.addScalePoint(n.pntRight,0),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol31301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol31300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[0],t[1]),n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i.pntLeft,i.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[n.pntLeft,n.pntRight]),this.addScalePoint(n.pntRight,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0===t){var n=l[0],r=e,a=SuperMap.Plot.PlottingUtil.distance(r,n)/o;this.scaleValues[0]=a}}}}]),e}();SuperMap.Plot.AlgoSymbol31300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.125),l.scaleValues.push(Math.PI/2)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);t=SuperMap.Plot.PlottingUtil.clearSamePts(t);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);if(this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.125),this.scaleValues.push(Math.PI/2)),3===this.scaleValues.length&&this.scaleValues.push(this.getSubSymbolScaleValue()),!(t.length<this.minEditPts)){for(var l=0,o=0;o<t.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/l;(i>.3||i<=0)&&(i=.3),this.scaleValues[1]=i,this.scaleValues[3]=i}var n=this.scaleValues[1],r=180*this.scaleValues[2]/Math.PI,a=l*this.scaleValues[0],s=l*this.scaleValues[3],p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,a);if(-1!==p.index){var u=p.pt,c=e[p.index],P=e[p.index+1],S=SuperMap.Plot.PlottingUtil.radian(c,P)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,s,s,S+r);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p.pt,h]);var y,f=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,g=l*n;0<this.subSymbols.length&&(y=SuperMap.Plot.PlottingUtil.circlePoint(u,s,s,S+r+180),this.computeSubSymbol(this.subSymbols[0],y,.8*g,S+r-180),this.addScalePoint(SuperMap.Plot.PlottingUtil.circlePoint(y,.5*g,.5*g,S+r+90),1)),y=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+30);var b=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+33),M=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt([h,y,b]);M=SuperMap.Plot.PlottingUtil.clearSamePts(M);var m=SuperMap.Plot.PlottingUtil.polylineDistance(M),d=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.9*m,M);if(-1!==d.index){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M.slice(0,d.index));var v=SuperMap.Plot.PlottingUtil.radian(h,y)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point(-.2*s,.05*s),U=new SuperMap.Geometry.Point(-.2*s,-.05*s),w=SuperMap.Plot.PlottingUtil.coordinateTrans(y,O,v+17),L=SuperMap.Plot.PlottingUtil.coordinateTrans(y,U,v+17),_={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[y,w,L],_);var V=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+330),A=SuperMap.Plot.PlottingUtil.circlePoint(h,s,s,f+327),T=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt([h,V,A]);T=SuperMap.Plot.PlottingUtil.clearSamePts(T),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T.slice(0,d.index));var E=SuperMap.Plot.PlottingUtil.radian(h,V)*SuperMap.Plot.PlottingUtil.RTOD,x=SuperMap.Plot.PlottingUtil.coordinateTrans(V,O,E-17),j=SuperMap.Plot.PlottingUtil.coordinateTrans(V,U,E-17);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[V,x,j],_),this.addScalePoint(u,0),this.addScalePoint(h,2),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,r,a,s,p=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(p=SuperMap.Plot.PlottingUtil.clearSamePts(p),0===t){for(var u=[],c=0;c<p.length;c++)u.push(new SuperMap.Geometry.Point(p[c].x,p[c].y));for(var P=-1,S=0,h=new SuperMap.Geometry.Point(0,0),y=0;y<u.length-1;y++){var f=[];f.push(u[y]),f.push(u[y+1]);var g=SuperMap.Plot.PlottingUtil.projectPoint(e,u[y],u[y+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(g,f).index){var b=SuperMap.Plot.PlottingUtil.distance(e,g);-1==P?(P=y,h=g,S=b):S>b&&(P=y,h=g,S=b)}}if(-1==P||P>u.length-1)return;for(var M=0,m=0;m<P;m++)M+=SuperMap.Plot.PlottingUtil.distance(p[m],p[m+1]);if((M+=SuperMap.Plot.PlottingUtil.distance(p[P],h))<0||M>o)return;var d=M/o;this.scaleValues[0]=d}else if(1===t){var v=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,o*this.scaleValues[0]);if(-1===v.index)return;n=v.pt,r=p[v.index],a=p[v.index+1],s=SuperMap.Plot.PlottingUtil.radian(r,a)*SuperMap.Plot.PlottingUtil.RTOD;var O=o*this.scaleValues[3],U=SuperMap.Plot.PlottingUtil.circlePoint(n,O,O,s+this.scaleValues[2]*SuperMap.Plot.PlottingUtil.RTOD+180),w=SuperMap.Plot.PlottingUtil.distance(U,e)/o*2;this.scaleValues[1]=w}else if(2===t){var L=o*this.scaleValues[0],_=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,L);if(-1===_.index)return;n=_.pt,r=p[_.index],a=p[_.index+1],s=SuperMap.Plot.PlottingUtil.radian(r,a);var V=SuperMap.Plot.PlottingUtil.radian(n,e)-s;this.scaleValues[2]=V}}}}]),e}();SuperMap.Plot.AlgoSymbol30800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30201=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30200),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1)),3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),0==this.scaleValues.length?(this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1),this.scaleValues.push(.05)):3==this.scaleValues.length&&(this.scaleValues[3]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[1]=2*this.getSubSymbolScaleValue(),this.scaleValues[3]=.5*this.getSubSymbolScaleValue());var o=e*this.scaleValues[1],i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,o);if(-1!==i.index){var n=t[0],r=i.pt,a=SuperMap.Plot.PlottingUtil.radian(n,r)*SuperMap.Plot.PlottingUtil.RTOD,s=new SuperMap.Geometry.Point(0,.1*o),p=new SuperMap.Geometry.Point(.4*o,.1*o),u=new SuperMap.Geometry.Point(.4*o,-.1*o),c=new SuperMap.Geometry.Point(0,-.1*o),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,a),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,a),h=SuperMap.Plot.PlottingUtil.coordinateTrans(n,u,a),y=SuperMap.Plot.PlottingUtil.coordinateTrans(n,c,a),f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,S,h,y,P],f);var g=new SuperMap.Geometry.Point(.3*o,.1*o),b=new SuperMap.Geometry.Point(.3*o,-.1*o),M=SuperMap.Plot.PlottingUtil.coordinateTrans(n,g,a),m=SuperMap.Plot.PlottingUtil.coordinateTrans(n,b,a);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[M,m]);var d=new SuperMap.Geometry.Point(.4*o,0),v=new SuperMap.Geometry.Point(.8*o,0),O=SuperMap.Plot.PlottingUtil.coordinateTrans(n,d,a),U=SuperMap.Plot.PlottingUtil.coordinateTrans(n,v,a);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[O,U]);var w=new SuperMap.Geometry.Point(.7*o,.025*o),L=new SuperMap.Geometry.Point(.7*o,-.025*o),_=SuperMap.Plot.PlottingUtil.coordinateTrans(n,w,a),V=SuperMap.Plot.PlottingUtil.coordinateTrans(n,L,a);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[U,_,V],f);var A=[];A.push(i.pt);for(var T=i.index+1;T<l.length;T++)A.push(l[T]);this.addArrow(A,this.scaleValues[3]),this.components[this.components.length-2].style.strokeDashstyle="dash",this.components[this.components.length-2].style.lineSymbolID=1,this.components[this.components.length-2].style.lineTypeLimit=!0;var E=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,a+90);this.addScalePoint(E,0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol30201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(1e3),l.scaleValues.push(.2),l.scaleValues.push(.1),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length?(this.scaleValues.push(1e3),this.scaleValues.push(.2),this.scaleValues.push(.1),this.scaleValues.push(.05)):3==this.scaleValues.length&&(this.scaleValues[3]=.5*this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[1]=2*this.getSubSymbolScaleValue(),this.scaleValues[3]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=e*this.scaleValues[1],i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,o);if(-1!==i.index){var n=t[0],r=i.pt,a=SuperMap.Plot.PlottingUtil.radian(n,r)*SuperMap.Plot.PlottingUtil.RTOD,s=new SuperMap.Geometry.Point(0,.1*o),p=new SuperMap.Geometry.Point(.4*o,.1*o),u=new SuperMap.Geometry.Point(.4*o,-.1*o),c=new SuperMap.Geometry.Point(0,-.1*o),P=SuperMap.Plot.PlottingUtil.coordinateTrans(n,s,a),S=SuperMap.Plot.PlottingUtil.coordinateTrans(n,p,a),h=SuperMap.Plot.PlottingUtil.coordinateTrans(n,u,a),y=SuperMap.Plot.PlottingUtil.coordinateTrans(n,c,a),f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,S,h,y,P],f);var g=.1*o,b=new SuperMap.Geometry.Point(.3*o,0),M=SuperMap.Plot.PlottingUtil.circlePoint(b,g,g,135),m=SuperMap.Plot.PlottingUtil.circlePoint(b,g,g,225),d=SuperMap.Plot.PlottingUtil.coordinateTrans(n,b,a),v=SuperMap.Plot.PlottingUtil.coordinateTrans(n,M,a),O=SuperMap.Plot.PlottingUtil.coordinateTrans(n,m,a);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[v,d,O]);var U=new SuperMap.Geometry.Point(.9*o,0),w=SuperMap.Plot.PlottingUtil.coordinateTrans(n,U,a);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[d,w]);var L=new SuperMap.Geometry.Point(.8*o,.025*o),_=new SuperMap.Geometry.Point(.8*o,-.025*o),V=SuperMap.Plot.PlottingUtil.coordinateTrans(n,L,a),A=SuperMap.Plot.PlottingUtil.coordinateTrans(n,_,a);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[w,V,A],f);var T=[];T.push(i.pt);for(var E=i.index+1;E<l.length;E++)T.push(l[E]);this.addArrow(T,this.scaleValues[3]),this.components[this.components.length-2].style.strokeDashstyle="dash",this.components[this.components.length-2].style.lineSymbolID=1,this.components[this.components.length-2].style.lineTypeLimit=!0;var x=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,a+90);this.addScalePoint(x,0),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n=l[0],r=e,a=SuperMap.Plot.PlottingUtil.distance(r,n);if(0===t){var s=a/o;if(.06>s||.3<s)return;this.scaleValues[1]=s}}}}]),e}();SuperMap.Plot.AlgoSymbol30200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.069485),l.scaleValues.push(.15),l.scaleValues.push(.1),l.scaleValues.push(1.731025),l.scaleValues.push(2.076877)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.isEdit||(this.scaleValues[2]=this.getSubSymbolScaleValue());var i=e*this.scaleValues[0],n=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,r=e*this.scaleValues[2],a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==a.index){var s=a.pt,p=a.index,u=s,c=o[p],P=o[p+1],S=SuperMap.Plot.PlottingUtil.radian(c,P)*SuperMap.Plot.PlottingUtil.RTOD,h=SuperMap.Plot.PlottingUtil.circlePoint(u,1.5*r,1.5*r,S+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,h]);var y=SuperMap.Plot.PlottingUtil.radian(u,h)*SuperMap.Plot.PlottingUtil.RTOD,f=new SuperMap.Geometry.Point(-.2*r,.05*r),g=new SuperMap.Geometry.Point(-.2*r,-.05*r),b=SuperMap.Plot.PlottingUtil.coordinateTrans(h,f,y),M=SuperMap.Plot.PlottingUtil.coordinateTrans(h,g,y);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[h,b,M],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var m=new SuperMap.Geometry.Point(.6*r,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(u,m,y),v=.4*r*this.scaleValues[5],O=.4*r*this.scaleValues[6],U=new SuperMap.Geometry.Point(0,-.9*(v-.25*O)),w=new SuperMap.Geometry.Point(0,.9*(v-.25*O)),L=SuperMap.Plot.PlottingUtil.coordinateTrans(d,U,y),_=SuperMap.Plot.PlottingUtil.coordinateTrans(d,w,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[L,_]);var V=new SuperMap.Geometry.Point(0,v),A=SuperMap.Plot.PlottingUtil.coordinateTrans(d,V,y),T=new SuperMap.Geometry.Point(0,.25*O),E=new SuperMap.Geometry.Point(.5*O,0),x=new SuperMap.Geometry.Point(0,-.25*O),j=new SuperMap.Geometry.Point(-.5*O,0),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(A,T,y),C=SuperMap.Plot.PlottingUtil.coordinateTrans(A,E,y),I=SuperMap.Plot.PlottingUtil.coordinateTrans(A,x,y),B=SuperMap.Plot.PlottingUtil.coordinateTrans(A,j,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[Y,C,I,B,Y]);var R=new SuperMap.Geometry.Point(0,-v),G=SuperMap.Plot.PlottingUtil.coordinateTrans(d,R,y),N=SuperMap.Plot.PlottingUtil.coordinateTrans(G,T,y),D=SuperMap.Plot.PlottingUtil.coordinateTrans(G,E,y),k=SuperMap.Plot.PlottingUtil.coordinateTrans(G,x,y),z=SuperMap.Plot.PlottingUtil.coordinateTrans(G,j,y);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[N,D,k,z,N]),this.addScalePoint(s,0),this.addScalePoint(h,1);var F=new SuperMap.Geometry.Point(0,-v),K=SuperMap.Plot.PlottingUtil.coordinateTrans(d,F,y);this.addScalePoint(K,2),this.addScalePoint(B,3),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,r,a,s,p,u,c,P,S,h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(h=SuperMap.Plot.PlottingUtil.clearSamePts(h),0===t){for(var y=[],f=0;f<h.length;f++)y.push(new SuperMap.Geometry.Point(h[f].x,h[f].y));for(var g=-1,b=0,M=new SuperMap.Geometry.Point(0,0),m=0;m<y.length-1;m++){var d=[];d.push(y[m]),d.push(y[m+1]);var v=SuperMap.Plot.PlottingUtil.projectPoint(e,y[m],y[m+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(v,d).index){var O=SuperMap.Plot.PlottingUtil.distance(e,v);-1==g?(g=m,M=v,b=O):b>O&&(g=m,M=v,b=O)}}if(-1==g||g>y.length-1)return;n=0;for(var U=0;U<g;U++)n+=SuperMap.Plot.PlottingUtil.distance(h[U],h[U+1]);if((n+=SuperMap.Plot.PlottingUtil.distance(h[g],M))<0||n>o)return;var w=n/o;this.scaleValues[0]=w}else if(1===t){r=o*this.scaleValues[0];var L=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,r);if(-1===L.index)return;a=L.pt,s=h[L.index],p=h[L.index+1],u=SuperMap.Plot.PlottingUtil.radian(s,p);var _=(S=SuperMap.Plot.PlottingUtil.radian(a,e))-u;this.scaleValues[1]=_;var V=(n=SuperMap.Plot.PlottingUtil.distance(a,e))/o/1.5;this.scaleValues[2]=V}else if(2===t){if(r=o*this.scaleValues[0],c=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,r)).index)return;P=a.pt,s=h[a.index],p=h[a.index+1],u=180*SuperMap.Plot.PlottingUtil.radian(s,p)/Math.PI;var A=SuperMap.Plot.PlottingUtil.circlePoint(P,.4*n,.4*n,u+c),T=SuperMap.Plot.PlottingUtil.distance(e,A)/(.4*n);this.scaleValues[5]=T}else if(3===t){if(r=o*this.scaleValues[0],c=180*this.scaleValues[1]/Math.PI,n=o*this.scaleValues[2],-1===(a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(h,r)).index)return;P=a.pt,s=h[a.index],p=h[a.index+1],S=(u=180*SuperMap.Plot.PlottingUtil.radian(s,p)/Math.PI)+c;var E=new SuperMap.Geometry.Point(.6*n,0),x=SuperMap.Plot.PlottingUtil.coordinateTrans(P,E,S),j=.4*n*this.scaleValues[5],Y=new SuperMap.Geometry.Point(0,j),C=SuperMap.Plot.PlottingUtil.coordinateTrans(x,Y,S),I=2*SuperMap.Plot.PlottingUtil.distance(C,e)/(.4*n);this.scaleValues[6]=I}}}}]),e}();SuperMap.Plot.AlgoSymbol30100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30002=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol30001),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getSubSymbolScaleValue();this.scaleValues[2]=o,this.scaleValues[4]=o}var i=l*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI,r=l*this.scaleValues[2],a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,i);if(-1!==a.index){var s=a.pt,p=new SuperMap.Geometry.Point(e[a.index].x,e[a.index].y),u=new SuperMap.Geometry.Point(e[a.index+1].x,e[a.index+1].y),c=180*SuperMap.Plot.PlottingUtil.radian(p,u)/Math.PI,P=SuperMap.Plot.PlottingUtil.circlePoint(s,r,r,c+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P]);var S=180*SuperMap.Plot.PlottingUtil.radian(s,P)/Math.PI,h=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*r,.2*r,S-157.5),y=SuperMap.Plot.PlottingUtil.circlePoint(P,.2*r,.2*r,S+157.5);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[P,h,y],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});for(var f=4.5*(l*this.scaleValues[4])*Math.sin(Math.PI/8),g=this.getLeftSubSymbolPts(f),b=e[0].clone(),M=-1,m=null,d=1;d<e.length;d++)if(SuperMap.Plot.PlottingUtil.distance(b,e[d])>.5*f){M=d-1,m=SuperMap.Plot.PlottingUtil.linePnt(b,e[d],.5*f);break}-1===M&&(M=e.length-1,m=e[e.length-1]);var v=null;if(null!==m){for(var O=180*SuperMap.Plot.PlottingUtil.radian(b,m)/Math.PI,U=[],w=0;w<g.length;w++)U.push(SuperMap.Plot.PlottingUtil.coordinateTrans(b,g[w],O));v=U[3].clone(),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U)}for(var L=this.getRightSubSymbolPts(f),_=e[e.length-1].clone(),V=-1,A=null,T=e.length-2;T>=0;T--)if(SuperMap.Plot.PlottingUtil.distance(_,e[T])>.5*f){V=T,A=SuperMap.Plot.PlottingUtil.linePnt(_,e[T],.5*f);break}if(-1===V&&(V=0,A=e[0]),null!==A){for(var E=180*SuperMap.Plot.PlottingUtil.radian(_,A)/Math.PI,x=[],j=0;j<L.length;j++)x.push(SuperMap.Plot.PlottingUtil.coordinateTrans(_,L[j],E));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,x)}if(M<=V){var Y=[];Y.push(m);for(var C=M+1;C<=V;C++)Y.push(e[C]);Y.push(A),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,Y)}this.addScalePoint(s),this.addScalePoint(P),null!==v&&this.addScalePoint(v),this.finish()}}}},{key:"getRightSubSymbolPts",value:function(t){var e=.25*t,l=[];return l.push(new SuperMap.Geometry.Point(0,2*e)),l.push(new SuperMap.Geometry.Point(2*e,2*e)),l.push(new SuperMap.Geometry.Point(2*e,-e)),l.push(new SuperMap.Geometry.Point(0,-2*e)),l.push(new SuperMap.Geometry.Point(0,2*e)),l}}]),e}();SuperMap.Plot.AlgoSymbol30002=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol30000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(Math.PI/2),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);var i=e*this.scaleValues[0],n=180*this.scaleValues[1]/Math.PI;if(!this.isEdit){var r=this.getSubSymbolScaleValue();this.scaleValues[2]=r}var a=e*this.scaleValues[2],s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,i);if(-1!==s.index){var p=s.pt,u=new SuperMap.Geometry.Point(o[s.index].x,o[s.index].y),c=new SuperMap.Geometry.Point(o[s.index+1].x,o[s.index+1].y),P=180*SuperMap.Plot.PlottingUtil.radian(u,c)/Math.PI,S=SuperMap.Plot.PlottingUtil.circlePoint(p,a,a,P+n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p,S]);var h=180*SuperMap.Plot.PlottingUtil.radian(p,S)/Math.PI,y=new SuperMap.Geometry.Point(-.2*a,.05*a),f=new SuperMap.Geometry.Point(-.2*a,-.05*a),g=SuperMap.Plot.PlottingUtil.coordinateTrans(S,y,h),b=SuperMap.Plot.PlottingUtil.coordinateTrans(S,f,h);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[S,g,b],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addScalePoint(p,0),this.addScalePoint(S,1),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var r=-1,a=0,s=new SuperMap.Geometry.Point(0,0),p=0;p<o.length-1;p++){var u=[];u.push(o[p]),u.push(o[p+1]);var c=SuperMap.Plot.PlottingUtil.projectPoint(e,o[p],o[p+1]);if(-1!==SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(c,u).index){var P=SuperMap.Plot.PlottingUtil.distance(e,c);-1==r?(r=p,s=c,a=P):a>P&&(r=p,s=c,a=P)}}if(-1==r||r>o.length-1)return;i=0;for(var S=0;S<r;S++)i+=SuperMap.Plot.PlottingUtil.distance(o[S],o[S+1]);if((i+=SuperMap.Plot.PlottingUtil.distance(o[r],s))<0||i>n)return;var h=i/n;this.scaleValues[0]=h}else if(1===t){var y=n*this.scaleValues[0],f=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,y);if(-1===f.index)return;var g=f.pt,b=o[f.index],M=o[f.index+1],m=SuperMap.Plot.PlottingUtil.radian(b,M),d=SuperMap.Plot.PlottingUtil.radian(g,e)-m;this.scaleValues[1]=d;var v=(i=SuperMap.Plot.PlottingUtil.distance(g,e))/n;this.scaleValues[2]=v}}}}]),e}();SuperMap.Plot.AlgoSymbol30000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 10!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.2),l.scaleValues.push(.2),l.scaleValues.push(.4),l.scaleValues.push(.4),l.scaleValues.push(.1),l.scaleValues.push(.2),l.scaleValues.push(.1),l.scaleValues.push(.2),l.scaleValues.push(1),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var o,i=e*this.scaleValues[4],n=e*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),a=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],r+n);o=(this.scaleValues[8],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],a));var s,p=e*this.scaleValues[6],u=e*this.scaleValues[7],c=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],r+u);s=(this.scaleValues[9],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,t[0],c));var P=[];P.push(new SuperMap.Geometry.Point(o.pntLeft.x,o.pntLeft.y)),P.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),P.push(new SuperMap.Geometry.Point(t[1].x,t[1].y)),P.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y));var S=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(P);S=SuperMap.Plot.PlottingUtil.clearSamePts(S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.addScalePoint(o.pntLeft,3),this.addScalePoint(s.pntRight,4),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.projectPoint(e,l[0],l[1]);if(t<=2&&SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments),3===t){var n=SuperMap.Plot.PlottingUtil.distance(e,i)/o,r=SuperMap.Plot.PlottingUtil.distance(i,l[0])/o;this.scaleValues[4]=n,this.scaleValues[5]=r,SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e)?this.scaleValues[8]=1:this.scaleValues[8]=0}if(4===t){var a=SuperMap.Plot.PlottingUtil.distance(e,i)/o,s=SuperMap.Plot.PlottingUtil.distance(i,l[1])/o;this.scaleValues[6]=a,this.scaleValues[7]=s,SuperMap.Plot.PlottingUtil.pointIsRightToLine(l[0],l[1],e)?this.scaleValues[9]=1:this.scaleValues[9]=0}}}}]),e}();SuperMap.Plot.AlgoSymbol29800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.3),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.3),this.scaleValues.push(1)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e,l,o=t[0].clone(),i=t[1].clone(),n=SuperMap.Plot.PlottingUtil.distance(o,i),r=this.scaleValues[0],a=this.scaleValues[1];if(SuperMap.Plot.PlottingUtil.equalFuzzy(1,a))e=SuperMap.Plot.PlottingUtil.radian(o,i)+270*SuperMap.Plot.PlottingUtil.DTOR;else e=SuperMap.Plot.PlottingUtil.radian(o,i)+90*SuperMap.Plot.PlottingUtil.DTOR,l=o,o=i,i=l;var s=n*r*.67,p=SuperMap.Plot.PlottingUtil.circlePoint(o,s,s,e*SuperMap.Plot.PlottingUtil.RTOD);this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],p,n*r,e*SuperMap.Plot.PlottingUtil.RTOD);var u=SuperMap.Plot.PlottingUtil.circlePoint(i,s,s,e*SuperMap.Plot.PlottingUtil.RTOD);this.subSymbols.length>1&&this.computeSubSymbol(this.subSymbols[1],u,n*r,e*SuperMap.Plot.PlottingUtil.RTOD),this.scalePoints=[];var c=e*SuperMap.Plot.PlottingUtil.RTOD,P=n*r,S=t[0].clone(),h=SuperMap.Plot.PlottingUtil.circlePoint(S,P,P,c);this.addScalePoint(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=(l=SuperMap.Plot.PlottingUtil.clearSamePts(l))[0].clone(),i=l[1].clone(),n=e.clone(),r=SuperMap.Plot.PlottingUtil.distance(o,i),a=SuperMap.Plot.PlottingUtil.plumbLineLen(n,o,i)/r;if(a<0||SuperMap.Plot.PlottingUtil.equalFuzzy(a,0))return;this.scaleValues[0]=a,SuperMap.Plot.PlottingUtil.pointIsRightToLine(o,i,n)?this.scaleValues[1]=1:this.scaleValues[1]=0}}}]),e}();SuperMap.Plot.AlgoSymbol28301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue());var i=l*this.scaleValues[0];this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],o,i,0),this.scalePoints=[];var n=SuperMap.Plot.PlottingUtil.circlePoint(o,i,i,0);this.addScalePoint(n),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=[];o=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o);if(0==t){var r=SuperMap.Plot.PlottingUtil.distance(e,n)/i;this.scaleValues[0]=r}}}}]),e}();SuperMap.Plot.AlgoSymbol28300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28200=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol28200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.349066)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,i=0,n=0;n<t.length-1;n++)i+=SuperMap.Plot.PlottingUtil.distance(e,l);var r=this.scaleValues[0]*i;this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[e,new SuperMap.Geometry.Point(e.x+r,e.y)],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var a=180*this.scaleValues[1]/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(e,i,i,o-a),p=SuperMap.Plot.PlottingUtil.circlePoint(e,i,i,o+a);this.addCell(SuperMap.Plot.SymbolType.ARCSYMBOL,[s,l,p],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[0],t[1]],{surroundLineFlag:!1},!0);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,r,r,o-90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,s],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});var c=SuperMap.Plot.PlottingUtil.circlePoint(e,r,r,o+90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c,p],{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c],{surroundLineFlag:!1},!0);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,r,r,o+180);this.addScalePoint(new SuperMap.Geometry.Point(P.x,P.y),0),this.addScalePoint(p,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=new SuperMap.Geometry.Point(l[0].x,l[0].y),i=new SuperMap.Geometry.Point(l[1].x,l[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,r=SuperMap.Plot.PlottingUtil.distance(o,i);if(0===t){var a=SuperMap.Plot.PlottingUtil.distance(o,e)/r;this.scaleValues[0]=a}if(1===t){var s=180*SuperMap.Plot.PlottingUtil.radian(o,e)/Math.PI,p=Math.abs(s-n);if(p>270&&p<360&&(p=360-p),p>90)return;this.scaleValues[1]=p*Math.PI/180}}}}]),e}();SuperMap.Plot.AlgoSymbol28100=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.349066)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l,o,i,n,r,a,s=this.scaleValues[1]*SuperMap.Plot.PlottingUtil.RTOD,p=new SuperMap.Geometry.Point(t[0].x,t[0].y),u=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),c=SuperMap.Plot.PlottingUtil.radian(p,u)*SuperMap.Plot.PlottingUtil.RTOD,P=new SuperMap.Geometry.Point(0,0);if(2<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i))),(n=[]).push(t[0]);for(var S=0;S<e.length;S++)n.push(new SuperMap.Geometry.Point(e[S].x,e[S].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),r=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),P=new SuperMap.Geometry.Point(r.x,r.y),(a=[]).push(t[0]),a.push(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}var h=new SuperMap.Geometry.Point(0,0);if(3<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[2].x,t[2].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i)));var y=[];if(0==e.length)return void(y.length>0&&(y=[]));(n=[]).push(t[0]);for(var f=0;f<e.length;f++)n.push(new SuperMap.Geometry.Point(e[f].x,e[f].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER});for(var g=new SuperMap.Geometry.Point(t[1].x,t[1].y),b=SuperMap.Plot.PlottingUtil.distance(p,g)*this.scaleValues[0],M=[],m=90;m<=270;m+=3)M.push(SuperMap.Plot.PlottingUtil.circlePoint(p,b,b,c+m));n=[];for(var d=M.length-1;d>=0;d--)n.push(new SuperMap.Geometry.Point(M[d].x,M[d].y));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),(n=[]).push(new SuperMap.Geometry.Point(M[0].x,M[0].y)),n.push(new SuperMap.Geometry.Point(e[e.length-1].x,e[e.length-1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),(n=[]).push(new SuperMap.Geometry.Point(e[0].x,e[0].y)),n.push(new SuperMap.Geometry.Point(M[M.length-1].x,M[M.length-1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),r=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),h=new SuperMap.Geometry.Point(r.x,r.y),(a=[]).push(P),a.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}var v=new SuperMap.Geometry.Point(0,0);if(4<=t.length){for(e=[],l=new SuperMap.Geometry.Point(t[3].x,t[3].y),o=SuperMap.Plot.PlottingUtil.distance(p,l),i=0,i=c-s;i<=c+s;i+=3)e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i));SuperMap.Plot.PlottingUtil.equalFuzzy(i,c+s)&&(i=c+s,e.push(SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,i))),(n=[]).push(t[0]);for(var O=0;O<e.length;O++)n.push(new SuperMap.Geometry.Point(e[O].x,e[O].y));n.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER}),r=SuperMap.Plot.PlottingUtil.circlePoint(p,o,o,c),v=new SuperMap.Geometry.Point(r.x,r.y),(a=[]).push(h),a.push(v),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a,{surroundLineFlag:!1,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.INNER})}if(3>t.length)this.addScalePoint(t[0]);else{var U=SuperMap.Plot.PlottingUtil.distance(t[0],t[1])*this.scaleValues[0],w=SuperMap.Plot.PlottingUtil.circlePoint(p,U,U,c+180);this.addScalePoint(w,0)}var L=SuperMap.Plot.PlottingUtil.distance(t[0],t[t.length-1]),_=SuperMap.Plot.PlottingUtil.circlePoint(p,L,L,c+s);this.addScalePoint(_,1),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l,o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(o=SuperMap.Plot.PlottingUtil.clearSamePts(o),0==t){if(3>o.length)return;var i=new SuperMap.Geometry.Point(o[0].x,o[0].y),n=new SuperMap.Geometry.Point(e.x,e.y),r=SuperMap.Plot.PlottingUtil.distance(i,n),a=new SuperMap.Geometry.Point(o[1].x,o[1].y);if((l=r/SuperMap.Plot.PlottingUtil.distance(i,a))>=2.5)return;this.scaleValues[0]=l}else if(1==t){var s=new SuperMap.Geometry.Point(o[0].x,o[0].y),p=new SuperMap.Geometry.Point(o[o.length-1].x,o[o.length-1].y),u=SuperMap.Plot.PlottingUtil.radian(s,p),c=new SuperMap.Geometry.Point(e.x,e.y);if(l=SuperMap.Plot.PlottingUtil.radian(s,c)-u,(l=Math.abs(l))>Math.PI/2&&l<3*Math.PI/2)return;l>3*Math.PI/2&&l<=2*Math.PI&&(l=2*Math.PI-l),this.scaleValues[1]=Math.abs(l)}}}}]),e}();SuperMap.Plot.AlgoSymbol28000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26601=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l,o,i=SuperMap.Plot.PlottingUtil.polylineDistance(e),n=.1*i,r=.5*n,a=this.computeDashLine(n,r,e),s=.01*i,p=0;p<a.length;p++)l=SuperMap.Plot.PlottingUtil.paraLine(a[p],s,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),o=SuperMap.Plot.PlottingUtil.paraLine(a[p],s,!1),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);this.finish()}}},{key:"computeDashLine",value:function(t,e,l){for(var o,i,n=[],r=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=l[0].clone(),s=1,p=0,u=!0,c=!0;p<r;){var P;(i=[]).push(a),p+=t;var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,l);if(P=S.index,o=S.pts,!(u=S.bfind))break;if(s<P)for(var h=s;h<P;h++)i.push(l[h]);i.push(o),n.push(i),p+=e;var y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(p,l);if(P=y.index,a=y.pts,s=P+1,!(c=y.bfind))break}if(!u){(i=[]).push(a);for(var f=s;f<l.length;f++)i.push(l[f]);2===i.length&&0===SuperMap.Plot.PlottingUtil.distance(i[0],i[1])||n.push(i)}if(!c){var g=l[l.length-1],b=SuperMap.Plot.PlottingUtil.distance(o,g);if(b*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(b,0)){var M=SuperMap.Plot.PlottingUtil.linePnt(g,o,b);(i=[]).push(M),i.push(g),n.push(i)}}return n}}]),e}();SuperMap.Plot.AlgoSymbol26601=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26600=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=.1*SuperMap.Plot.PlottingUtil.polylineDistance(e),o=.5*l;this.computeDashLine(l,o,e),this.finish()}}},{key:"computeDashLine",value:function(t,e,l){for(var o,i,n=SuperMap.Plot.PlottingUtil.polylineDistance(l),r=l[0].clone(),a=1,s=0,p=!0,u=!0;s<n;){var c;(i=[]).push(r),s+=t;var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=P.index,o=P.pts,!(p=P.bfind))break;if(a<c)for(var S=a;S<c;S++)i.push(l[S]);i.push(o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),s+=e;var h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,l);if(c=h.index,r=h.pts,a=c+1,!(u=h.bfind))break}if(!p){(i=[]).push(r);for(var y=a;y<l.length;y++)i.push(l[y]);2===i.length&&0===SuperMap.Plot.PlottingUtil.distance(i[0],i[1])||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}if(!u){var f=l[l.length-1],g=SuperMap.Plot.PlottingUtil.distance(o,f);if(g*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(g,0)){var b=SuperMap.Plot.PlottingUtil.linePnt(f,o,g);(i=[]).push(b),i.push(f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}}}}]),e}();SuperMap.Plot.AlgoSymbol26600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,l/2);if(-1!==o.index){var i=o.pt,n=this.getDefaultSubSymbolSize()/l;(n>.3||n<=0)&&(n=.3),this.scaleValues[0]=n;var r=1.5*this.scaleValues[0]*l,a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,e[o.index],i),s=[];s.push(a.pntLeft),s.push(i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s,null,!0),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol26500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5));for(var i=this.getLinePts(e,this.scaleValues[0]),n=this.getLinePts(e,1.2*this.scaleValues[0]),r=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt),a=[],s=[],p=0;p<=n.startIndex;p++)a.push(e[p]);if(a.push(n.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),n.endIndex<=e.length){s.push(n.endPt);for(var u=n.endIndex+1;u<=e.length-1;u++)s.push(e[u]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}var c=e[0],P=e[1],S=e[e.length-2],h=e[e.length-1],y=.3*r,f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(y,P,c),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(y,S,h),b=f.pntLeft,M=g.pntLeft,m=[];m.push(c),m.push(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var d=[];d.push(h),d.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,O=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),U=new SuperMap.Geometry.Point(.1*r,0),w=new SuperMap.Geometry.Point(.5*r,0),L=SuperMap.Plot.PlottingUtil.coordinateTrans(O,U,v),_=SuperMap.Plot.PlottingUtil.coordinateTrans(O,w,v),V=[];V.push(L),V.push(_);var A={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,A);var T=new SuperMap.Geometry.Point(.35*r,0),E=SuperMap.Plot.PlottingUtil.circlePoint(T,.2*r,.2*r,135),x=SuperMap.Plot.PlottingUtil.circlePoint(T,.2*r,.2*r,225),j=SuperMap.Plot.PlottingUtil.coordinateTrans(O,T,v),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(O,E,v),C=SuperMap.Plot.PlottingUtil.coordinateTrans(O,x,v);(V=[]).push(Y),V.push(j),V.push(C),A={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0},this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,A);var I=new SuperMap.Geometry.Point(-.1*r,0),B=new SuperMap.Geometry.Point(-.5*r,-.15*r),R=new SuperMap.Geometry.Point(-.5*r,.15*r),G=SuperMap.Plot.PlottingUtil.coordinateTrans(O,I,v),N=SuperMap.Plot.PlottingUtil.coordinateTrans(O,B,v),D=SuperMap.Plot.PlottingUtil.coordinateTrans(O,R,v);(V=[]).push(G),V.push(N),V.push(D),V.push(G),A={surroundLineFlag:!1,lineTypeLimit:!0,fillLimit:!0},this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,A);var k=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),z=SuperMap.Plot.PlottingUtil.circlePoint(k.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,v);this.addScalePoint(z,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol25400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.222222),l.scaleValues.push(.5),l.scaleValues.push(.5),l.scaleValues.push(.5)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.222222),this.scaleValues.push(.5),this.scaleValues.push(.5),this.scaleValues.push(.5));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),r=new SuperMap.Geometry.Point(0,o*i),a=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*a),u=new SuperMap.Geometry.Point(o*(1-s),o*a),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l),g=[];g.push(n),g.push(p),g.push(S),g.push(y),g.push(h),g.push(u),g.push(r);for(var b=[],M=0;M<g.length;M++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[M],f*SuperMap.Plot.PlottingUtil.RTOD);b.push(m)}for(var d=[],v=b.length-1;v>=0;--v)d.push(b[v]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d),this.scalePoints=[];var O=b[0].clone();O.isScalePoint=!0,O.tag=0,this.scalePoints.push(O);var U=b[1].clone();U.isScalePoint=!0,U.tag=1,this.scalePoints.push(U);var w=b[2].clone();w.isScalePoint=!0,w.tag=2,this.scalePoints.push(w),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),r=l[1].clone(),a=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(a,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var p=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var c=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol25000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 6!==l.scaleValues.length&&(l.scaleValues=[],l.scaleValues.push(.05),l.scaleValues.push(.148),l.scaleValues.push(.4),l.scaleValues.push(.312),l.scaleValues.push(.2),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments);var e=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(t.splice(0,2),t.unshift(e),this.subSymbols.length>0){var l;if(null==this.subSymbols[0].symbolData)return;l=Math.max(this.subSymbols[0].symbolData.symbolSize.x,this.subSymbols[0].symbolData.symbolSize.y);var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*this.scaleValues[4],n=o*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,t),a=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,t),s=SuperMap.Plot.PlottingUtil.radian(a.pts,r.pts)*SuperMap.Plot.PlottingUtil.RTOD+270,p=100*SuperMap.Plot.PlottingUtil.distance(r.pts,a.pts)/l,u=new SuperMap.Geometry.Point((a.pts.x+r.pts.x)/2,(r.pts.y+a.pts.y)/2);if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&this.computeSubSymbol(this.subSymbols[0],u,p,s),r.pts.isScalePoint=!0,r.pts.tag=this.scalePoints.length,this.scalePoints.push(r.pts.clone()),a.pts.isScalePoint=!0,a.pts.tag=this.scalePoints.length,this.scalePoints.push(a.pts.clone())}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<2)return;if(this.scaleValues.length<6&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2),this.scaleValues.push(.01)),t<=2)SuperMap.Plot.AlgoSymbol1004.prototype.computeScaleValues.apply(this,arguments);else if(3==t||4==t){var o=new SuperMap.Geometry.Point((l[0].x+l[1].x)/2,(l[0].y+l[1].y)/2),i=SuperMap.Plot.PlottingUtil.clonePoints(l);i.splice(0,2),i.unshift(o);var n=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i),r=SuperMap.Plot.PlottingUtil.polylineDistance(i);if(3===t&&null==n.pt&&(n.pt=o.clone()),-1==n.index&&4==t)this.scaleValues[t+1]=.01;else{var a=SuperMap.Plot.PlottingUtil.clonePoints(i);a.splice(0,n.index+1),a.unshift(n.pt);var s=SuperMap.Plot.PlottingUtil.polylineDistance(a);r<s&&(s=r),this.scaleValues[t+1]=(r-s)/r,this.scaleValues[4]>.5&&(this.scaleValues[4]=.5)}}}}}]),e}();SuperMap.Plot.AlgoSymbol25200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29103=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29100),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=[];o=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o);for(var i=0;i<4;i++){var n=i*(o.length-1)/4,r=new SuperMap.Geometry.Point(o[n].x,o[n].y),a=new SuperMap.Geometry.Point(o[n+1].x,o[n+1].y),s=new SuperMap.Geometry.Point((r.x+a.x)/2,(r.y+a.y)/2),p=180*SuperMap.Plot.PlottingUtil.radian(s,a)/Math.PI,u=e*this.scaleValues[0]/2,c=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p),P=SuperMap.Plot.PlottingUtil.circlePoint(s,4*u,4*u,p+270),S=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+180);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[c,P,S],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29103=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29101=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29100),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.25*this.getSubSymbolScaleValue());var l=[];l=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);for(var o=0;o<4;o++){var i=o*(l.length-1)/4,n=new SuperMap.Geometry.Point(l[i].x,l[i].y),r=new SuperMap.Geometry.Point(l[i+1].x,l[i+1].y),a=new SuperMap.Geometry.Point((n.x+r.x)/2,(n.y+r.y)/2),s=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD,p=this.scaleValues[0]*e/2,u=SuperMap.Plot.PlottingUtil.circlePoint(a,p,p,s),c=SuperMap.Plot.PlottingUtil.circlePoint(a,4*p,4*p,s+270),P=SuperMap.Plot.PlottingUtil.circlePoint(a,p,p,s+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c,P])}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29101=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol29000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=t.length,o=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),i=SuperMap.Plot.PlottingUtil.radian(t[0],t[1])*SuperMap.Plot.PlottingUtil.RTOD,n=[];2==l?(e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t),n.push.apply(n,e)):3==l&&(e=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),n=n.concat(e));var r,a=new SuperMap.Geometry.Point(.8*o,.1*o),s=new SuperMap.Geometry.Point(1.2*o,.1*o),p=new SuperMap.Geometry.Point(1.2*o,.1*-o),u=new SuperMap.Geometry.Point(.9*o,.1*-o),c=[];c.push(a),c.push(s),c.push(p),c.push(u);var P=[],S=0;for(S=0;S<4;S++)r=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],c[S],i),P.push(r);var h=new SuperMap.Geometry.Point(-.8*o,.1*o),y=new SuperMap.Geometry.Point(-1.2*o,.1*o),f=new SuperMap.Geometry.Point(-1.1*o,.1*-o),g=new SuperMap.Geometry.Point(-.8*o,.1*-o);(c=[]).push(h),c.push(y),c.push(f),c.push(g);var b=[];for(S=0;S<4;S++)r=SuperMap.Plot.PlottingUtil.coordinateTrans(t[0],c[S],i),b.push(r);var M,m=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],3*o),d=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],2*o),v=[];for(S=0;S<n.length-1;S++){var O=SuperMap.Plot.PlottingUtil.intersectLines(n[S],n[S+1],m,d);O.isIntersectLines&&(M=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(O.intersectPoint,n)).isOnPolyLine&&v.push(O.intersectPoint)}if(!(0>=v.length)&&(M=SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(v[0],n)).isOnPolyLine){var U=[];for(S=M.index+1;S<n.length;S++)U.push(n[S]);for(S=0;S<=M.index;S++)U.push(n[S]);var w=[],L=[];SuperMap.Plot.PlottingUtil.ptIsInPolygon(P,v[0])?(w.push.apply(w,P),L.push.apply(L,b)):(w.push.apply(w,b),L.push.apply(L,P));var _=[],V=[];for(M=-1,S=0;S<U.length;S++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(w,U[S])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(L,U[S])){M=S;break}_.push(U[S])}if(-1!==M)for(S=M;S<U.length;S++)if(!SuperMap.Plot.PlottingUtil.ptIsInPolygon(L,U[S])){if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(w,U[S]))break;V.push(U[S])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,_),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V),this.addLine(_),this.addLine(V),this.finish()}}}},{key:"addLine",value:function(t){for(var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=0;l<t.length-2;l++){var o=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.02*e,t);if(-1!==o.index){var i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*e,t);if(-1!==i.index){var n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.92*e,t);if(-1!==n.index&&(l===o.index||l===o.index+1||l===n.index||l===n.index+1||l===i.index||l===i.index+1)){var r=SuperMap.Plot.PlottingUtil.radian(t[l+1],t[l])*SuperMap.Plot.PlottingUtil.RTOD,a=SuperMap.Plot.PlottingUtil.circlePoint(t[l+1],.02*e,.02*e,r+90);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[t[l+1],a])}}}}}}]),e}();SuperMap.Plot.AlgoSymbol29000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol28900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5)),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var i=e[0],n=e[1],r=e[e.length-2],a=e[e.length-1],s=l*this.scaleValues[0]*.6,p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,n,i),u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,r,a),c=p.pntLeft,P=u.pntRight,S=[];S.push(i),S.push(c);for(var h=new SuperMap.Geometry.Point((i.x+c.x)/2,(i.y+c.y)/2),y=SuperMap.Plot.PlottingUtil.polylineDistance(S)/2,f=[],g=180*SuperMap.Plot.PlottingUtil.radian(n,i)/Math.PI,b=270+g;b<=360+g;b+=3)f.push(SuperMap.Plot.PlottingUtil.circlePoint(h,y,y,b));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var M=[];M.push(a),M.push(P);var m=[];m.push(a),m.push(P);for(var d=new SuperMap.Geometry.Point((a.x+P.x)/2,(a.y+P.y)/2),v=SuperMap.Plot.PlottingUtil.polylineDistance(m)/2,O=[],U=180*SuperMap.Plot.PlottingUtil.radian(a,P)/Math.PI,w=90+U;w<=180+U;w+=3)O.push(SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,w));this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,O),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol28900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23902=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.2),l.scaleValues.push(.5),l.scaleValues.push(.125),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l,o,i,n=[];if(2==t.length){e=t[0],l=t[1];var r=SuperMap.Plot.PlottingUtil.distance(e,l);i=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,o=SuperMap.Plot.PlottingUtil.circlePoint(e,r,r,i+60),n.push(e),n.push(o),n.push(l)}else n=n.concat(t);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n),n.push(n[0]);var a=SuperMap.Plot.PlottingUtil.polylineDistance(n),s=this.scaleValues[0],p=this.scaleValues[1],u=this.scaleValues[2],c=this.scaleValues[4],P=a*s;e=n[0],l=n[1],o=n[2];var S,h=a*p,y=180*SuperMap.Plot.PlottingUtil.InnerAngle(e,l,o)/Math.PI*u,f=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,g=f-y,b=f+y,M=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,g),m=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,b);S=SuperMap.Plot.PlottingUtil.ptIsInPolygon(n,M)?M:m;var d=a*this.scaleValues[3];i=c,0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],S,d,i-90);var v=SuperMap.Plot.PlottingUtil.circlePoint(e,P,P,f+180);this.addScalePoint(v),this.addScalePoint(S);var O=SuperMap.Plot.PlottingUtil.circlePoint(S,.5*d,.5*d,i);this.addScalePoint(O),this.createArcPts(n,P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n,r,a,s,p,u=[];2==l.length?(o=l[0],i=l[1],a=SuperMap.Plot.PlottingUtil.distance(o,i),r=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,n=SuperMap.Plot.PlottingUtil.circlePoint(o,a,a,r+60),u.push(o),u.push(i),u.push(n)):u=u.concat(l),o=u[0],i=u[1],n=u[2],u.push(u[0]);var c=SuperMap.Plot.PlottingUtil.polylineDistance(u),P=e;if(0===t)a=SuperMap.Plot.PlottingUtil.distance(P,u[0]),this.scaleValues[0]=a/c;else if(1===t){s=SuperMap.Plot.PlottingUtil.distance(P,u[0])/c,this.scaleValues[1]=s,r=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,n)/Math.PI,0<=(p=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,P)/Math.PI/r)&&1>=p&&(this.scaleValues[2]=p)}else if(2===t){s=this.scaleValues[1],p=this.scaleValues[2];var S,h=c*s,y=180*SuperMap.Plot.PlottingUtil.InnerAngle(o,i,n)/Math.PI*p,f=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,g=f-y,b=f+y,M=SuperMap.Plot.PlottingUtil.circlePoint(o,h,h,g),m=SuperMap.Plot.PlottingUtil.circlePoint(o,h,h,b);S=SuperMap.Plot.PlottingUtil.ptIsInPolygon(u,M)?M:m;var d=2*SuperMap.Plot.PlottingUtil.distance(P,S)/c;this.scaleValues[3]=d;var v=180*SuperMap.Plot.PlottingUtil.radian(S,P)/Math.PI;this.scaleValues[4]=v}}}},{key:"ComputeSubSymbolPt",value:function(t,e,l,o){var i,n,r=l[0],a=l[1],s=l[2],p=SuperMap.Plot.PlottingUtil.plumbLineLen(s,r,a)*t,u=SuperMap.Plot.PlottingUtil.plumbLineLen(a,r,s)*e,c=[];if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(r,a,o)?((i=[]).push(r),i.push(a),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!1)):((i=[]).push(r),i.push(a),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!0)),SuperMap.Plot.PlottingUtil.pointIsRightToLine(r,s,o)?((i=[]).push(r),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!1)):((i=[]).push(r),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!0)),2>c.length||2>n.length)return o;var P=SuperMap.Plot.PlottingUtil.intersectLines(c[0],c[1],n[0],n[1]);return P.isIntersectLines?P.intersectPoint:o}},{key:"createArcPts",value:function(t,e){for(var l=[],o=[],i=0;i<t.length;i++)o.push(e),l.push([{Start:0,End:360}]);for(var n=0;n<t.length;n++)if(0!==l[n].length&&(0!==l[n][0].Start||0!==l[n][0].End))for(var r=n+1;r<t.length;r++)if(0!==l[r].length&&(0!==l[r][0].Start||0!==l[r][0].End)){var a=SuperMap.Plot.PlottingUtil.distance(t[n],t[r]);if(a<o[n]+o[r])if(a>Math.abs(o[n]-o[r]))for(var s=0;s<2;s++){var p,u,c;0==s?(c=n,p=SuperMap.Plot.PlottingUtil.radian(t[n],t[r])*SuperMap.Plot.PlottingUtil.RTOD,u=Math.acos((a*a+o[n]*o[n]-o[r]*o[r])/(2*a*o[n]))*SuperMap.Plot.PlottingUtil.RTOD):(c=r,p=SuperMap.Plot.PlottingUtil.radian(t[r],t[n])*SuperMap.Plot.PlottingUtil.RTOD,u=Math.acos((a*a+o[r]*o[r]-o[n]*o[n])/(2*a*o[r]))*SuperMap.Plot.PlottingUtil.RTOD);var P=p-u,S=p+u,h=P<0&&S>0||P>360||S>360;P=this.adjustAngle(P),S=this.adjustAngle(S);for(var y=l[c].length-1;y>=0;y--)if(h){if(S>l[c][y].End||SuperMap.Plot.PlottingUtil.equalFuzzy(S,l[c][y].End)){l[c].splice(y,1);continue}if(S>l[c][y].Start&&(l[c][y].Start=S),P<l[c][y].Start||SuperMap.Plot.PlottingUtil.equalFuzzy(P,l[c][y].Start)){l[c].splice(y,1);continue}P<l[c][y].End&&(l[c][y].End=P)}else if(P<l[c][y].Start&&S>l[c][y].End)l[c].splice(y,1);else if(P>l[c][y].Start&&S<l[c][y].End)l[c].push({Start:l[c][y].Start,End:P}),l[c].push({Start:S,End:l[c][y].End}),l[c].splice(y,1);else{if(P>l[c][y].End)continue;if(P>l[c][y].Start&&(l[c][y].End=P),S<l[c][y].Start)continue;S<l[c][y].End&&(l[c][y].Start=S)}}else{if(o[n]<o[r]){l[n][0].Start=0,l[n][0].End=0;break}l[r][0].Start=0,l[r][0].End=0}}for(var f=0;f<t.length;f++)if(0!==l[f].length&&(0!==l[f][0].Start||0!==l[f][0].End))for(var g=l[f].length-1;g>=0;g--){for(var b=this.adjustAngle(l[f][g].Start),M=this.adjustAngle(l[f][g].End);M<b;)M+=360;for(var m=[],d=(M-b)/72,v=b;v<M+d/2;v+=d){var O=t[f].x+o[f]*Math.cos(v*SuperMap.Plot.PlottingUtil.DTOR),U=t[f].y+o[f]*Math.sin(v*SuperMap.Plot.PlottingUtil.DTOR);m.push(new SuperMap.Geometry.Point(O,U))}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m)}}},{key:"adjustAngle",value:function(t){for(;t>360;)t-=360;for(;t<0;)t+=360;return t}},{key:"GetCirclePts",value:function(t,e,l,o){var i=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,n=180*SuperMap.Plot.PlottingUtil.radian(t,l)/Math.PI,r=i;n>i&&(r=n);for(var a=[],s=r;s<360+r;s+=4)90==s&&(s=91),a.push(SuperMap.Plot.PlottingUtil.circlePoint(t,o,o,s));return a.push[0],a}},{key:"CreatArc",value:function(t,e,l){for(var o=[],i=[],n=0;n<t.length;n++){var r=t[n];SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,r)||SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,r)?(i.length>1&&o.push(i),i=[]):i.push(r)}i.length>1&&o.push(i);for(var a=0;a<o.length;a++){var s=o[a];this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}}},{key:"GetArcPts3D",value:function(t,e,l){for(var o=[],i=[],n=0;n<t.length;n++){var r=t[n];SuperMap.Plot.PlottingUtil.ptIsInPolygon(e,r)||SuperMap.Plot.PlottingUtil.ptIsInPolygon(l,r)?(i.length>1&&o.push(i),i=[]):i.push(r)}i.length>1&&o.push(i);for(var a=[],s=0;s<o.length;s++)a=a.concat(o[s]);return a}},{key:"sortPts",value:function(t,e){t=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e);for(var l=0;l<e.length;l++)for(var o=e[l],i=180*SuperMap.Plot.PlottingUtil.radian(t,o)/Math.PI,n=0;n<e.length;n++){var r=e[n],a=180*SuperMap.Plot.PlottingUtil.radian(t,r)/Math.PI;if(i>a){var s=new SuperMap.Geometry.Point(o.x,o.y);o=new SuperMap.Geometry.Point(r.x,r.y),r=new SuperMap.Geometry.Point(s.x,s.y),i=a,e[l]=o,e[n]=r}}return e}}]),e}();SuperMap.Plot.AlgoSymbol23902=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23901=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.333333),l.scaleValues.push(.333333),l.scaleValues.push(.125),l.scaleValues.push(90)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e,l=[];if(2==t.length){var o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);e=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI;var r=SuperMap.Plot.PlottingUtil.circlePoint(o,n,n,e+60);l.push(t[0]),l.push(i),l.push(r),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l)}else{this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,t);for(var a=0;a<t.length;a++)l.push(t[a])}var s=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(l);l.push(l[0]);var p=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(!this.isEdit){var u=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.scaleValues[2]=2*u*this.getSubSymbolScaleValue()/p}var c=this.scaleValues[0],P=this.scaleValues[1],S=this.scaleValues[2],h=this.scaleValues[3],y=this.ComputeSubSymbolPt(c,P,l,s),f=p*S,g=y;e=h-90,0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],g,f,e),this.addScalePoint(g);var b=SuperMap.Plot.PlottingUtil.circlePoint(y,f,f,h);this.addScalePoint(b),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o,i,n,r=[];if(2==l.length){o=l[0],i=l[1];var a=SuperMap.Plot.PlottingUtil.distance(o,i),s=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI;n=SuperMap.Plot.PlottingUtil.circlePoint(o,a,a,s+60),r.push(o),r.push(i),r.push(n)}else r=r.concat(l);o=r[0],i=r[1],n=r[2];var p=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(r);r.push(r[0]);var u=SuperMap.Plot.PlottingUtil.polylineDistance(r),c=e;if(0==t){var P=SuperMap.Plot.PlottingUtil.plumbLineLen(n,o,i),S=SuperMap.Plot.PlottingUtil.plumbLineLen(i,o,n),h=SuperMap.Plot.PlottingUtil.plumbLineLen(c,o,i)/P,y=SuperMap.Plot.PlottingUtil.plumbLineLen(c,o,n)/S;h>1&&(h=1),y>1&&(y=1),this.scaleValues[0]=h,this.scaleValues[1]=y}else if(1==t){var f=this.scaleValues[0],g=this.scaleValues[1],b=this.ComputeSubSymbolPt(f,g,r,p),M=SuperMap.Plot.PlottingUtil.distance(b,c)/u;this.scaleValues[2]=M;var m=180*SuperMap.Plot.PlottingUtil.radian(b,c)/Math.PI;this.scaleValues[3]=m}}}},{key:"ComputeSubSymbolPt",value:function(t,e,l,o){var i,n,r=l[0],a=l[1],s=l[2],p=SuperMap.Plot.PlottingUtil.plumbLineLen(s,r,a)*t,u=SuperMap.Plot.PlottingUtil.plumbLineLen(a,r,s)*e,c=[];if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(r,a,o)?((i=[]).push(r),i.push(a),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!1)):((i=[]).push(r),i.push(a),c=SuperMap.Plot.PlottingUtil.paraLine(i,p,!0)),SuperMap.Plot.PlottingUtil.pointIsRightToLine(r,s,o)?((i=[]).push(r),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!1)):((i=[]).push(r),i.push(s),n=SuperMap.Plot.PlottingUtil.paraLine(i,u,!0)),2>c.length||2>n.length)return o;var P=SuperMap.Plot.PlottingUtil.intersectLines(c[0],c[1],n[0],n[1]);return P.isIntersectLines?P.intersectPoint:o}}]),e}();SuperMap.Plot.AlgoSymbol23901=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol23800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<3&&(this.scaleValues=[],this.scaleValues.push(.05),this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(0));var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e,{fillLimit:!0,fill:!1,surroundLineFlag:!1});var l=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!this.isEdit){var i=this.getDefaultSubSymbolSize()/o;(i>.2||i<=0)&&(i=.2),this.scaleValues[0]=i}var n=this.scaleValues[0],r=this.scaleValues[2],a=this.scaleValues[3],s=o*n,p=new SuperMap.Geometry.Point(l.x+o*r,l.y+o*a);if(this.subSymbols&&null!==this.subSymbols&&this.subSymbols.length>0){if(this.subSymbols[0].symbolData)for(var u in this.subSymbols[0].symbolData.innerCells)this.subSymbols[0].symbolData.innerCells[u].type===SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL&&(this.subSymbols[0].symbolData.innerCells[u].type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL);this.computeSubSymbol(this.subSymbols[0],p,s,0)}this.addScalePoint(p);var c=s,P=SuperMap.Plot.PlottingUtil.circlePoint(p,c,c,90);this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-r.x)/a,this.scaleValues[2]=i,n=(e.y-r.y)/a,this.scaleValues[3]=n;else if(1===t){i=this.scaleValues[2],n=this.scaleValues[3];var s=new SuperMap.Geometry.Point(r.x+a*i,r.y+a*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/a;this.scaleValues[0]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol23500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol23400=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e),this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var l=this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2],n=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(e),r=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=r*i,s=new SuperMap.Geometry.Point(n.x+r*l,n.y+r*o);if(this.subSymbols.length>0){if(null==this.subSymbols.length)return;null!=this.subSymbols[0].code&&this.computeSubSymbol(this.subSymbols[0],s,a,0),this.addScalePoint(s);var p=SuperMap.Plot.PlottingUtil.circlePoint(s,a,a,0);this.addScalePoint(p)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var o=[];o=3>=l.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,l):l.length>3&&!0===this.polylineConnectLocationPoint?l:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i,n,r=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(o),a=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t)i=(e.x-r.x)/a,this.scaleValues[0]=i,n=(e.y-r.y)/a,this.scaleValues[1]=n;else if(1===t){i=this.scaleValues[0],n=this.scaleValues[1];var s=new SuperMap.Geometry.Point(r.x+a*i,r.y+a*n),p=SuperMap.Plot.PlottingUtil.distance(s,e)/a;this.scaleValues[2]=p}}}}]),e}();SuperMap.Plot.AlgoSymbol23400=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol22000=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.03):1===this.scaleValues.length&&(this.scaleValues[1]=.02),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.6*this.getSubSymbolScaleValue()}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.8*a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var P=e[0],S=e[1],h=e[e.length-2],y=e[e.length-1],f=l*this.scaleValues[1],g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,S,P),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,h,y),M=g.pntLeft,m=b.pntLeft,d=[];d.push(P),d.push(M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d);var v=[];v.push(y),v.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v);var O=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),U=SuperMap.Plot.PlottingUtil.circlePoint(O.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r);this.addScalePoint(U,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol22000=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.2),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.2));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],l=.5*e,o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,r=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+90),a=SuperMap.Plot.PlottingUtil.circlePoint(o,e,e,n+270),s=SuperMap.Plot.PlottingUtil.circlePoint(r,l,l,n),p=SuperMap.Plot.PlottingUtil.circlePoint(a,l,l,n),u=[];u.push(p),u.push(a),u.push(r),u.push(s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+90),P=SuperMap.Plot.PlottingUtil.circlePoint(i,e,e,n+270),S=SuperMap.Plot.PlottingUtil.circlePoint(c,l,l,n+180),h=SuperMap.Plot.PlottingUtil.circlePoint(P,l,l,n+180);(u=[]).push(S),u.push(c),u.push(P),u.push(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),this.addScalePoint(r),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol21800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21600=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.05)),l.subText="",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(SuperMap.Plot.PlottingUtil.clearSamePts(t),!(t.length<this.minEditPts)){1==this.scaleValues.length&&this.scaleValues.push(this.getSubSymbolScaleValue()),this.isEdit||(this.scaleValues[0]=.6*this.getSubSymbolScaleValue(),this.scaleValues[1]=this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l=0,o=0;o<e.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(e[o],e[o+1]);var i=.5*l,n=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,i);if(-1!==n.index){for(var r=n.pt,a=[],s=0,p=0;p<n.index+1;p++)a.push(e[p]),p>0&&(s+=SuperMap.Plot.PlottingUtil.distance(a[p],a[p-1]));var u,c,P=i-s,S=l*this.scaleValues[1],h=[];if(P>=S){u=SuperMap.Plot.PlottingUtil.linePnt(r,e[n.index],S),a.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),c=SuperMap.Plot.PlottingUtil.linePnt(r,e[n.index+1],S),h.push(c);for(var y=e.length,f=n.index+1;f<y;++f)h.push(e[f]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}else{for(var g,b,M=-1,m=a.length-1;m>=0;m--)if(g=new SuperMap.Geometry.Point(a[m].x,a[m].y),b=new SuperMap.Geometry.Point(r.x,r.y),SuperMap.Plot.PlottingUtil.distance(g,b)>S){M=m;break}if(-1==M)return;a.splice(M+1,a.length-1-M),u=SuperMap.Plot.PlottingUtil.linePnt(r,e[M],S),a.push(u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);for(var d=-1,v=n.index;v<e.length;v++)if(g=new SuperMap.Geometry.Point(e[v].x,e[v].y),b=new SuperMap.Geometry.Point(r.x,r.y),SuperMap.Plot.PlottingUtil.distance(g,b)>S){d=v;break}if(-1==d)return;c=SuperMap.Plot.PlottingUtil.linePnt(r,e[d],S),h.push(c);for(var O=d+1;O<e.length;++O)h.push(e[O]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}if(!(a.length<2)){for(var U=0,w=0;w<t.length-1;w++)U+=SuperMap.Plot.PlottingUtil.distance(t[w],t[w+1]);var L=U*this.scaleValues[0],_=new SuperMap.Geometry.Point(a[0].x,a[0].y),V=new SuperMap.Geometry.Point(a[1].x,a[1].y),A=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,V,_),T=[];if(T.push(A.pntLeft),T.push(A.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T),!(h.length<2)){var E=new SuperMap.Geometry.Point(h[h.length-1].x,h[h.length-1].y),x=new SuperMap.Geometry.Point(h[h.length-2].x,h[h.length-2].y),j=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,x,E);(T=[]).push(j.pntLeft),T.push(j.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T);var Y=u,C=c,I=180*SuperMap.Plot.PlottingUtil.radian(Y,C)/Math.PI,B=SuperMap.Plot.PlottingUtil.distance(Y,C),R=new SuperMap.Geometry.Point((u.x+c.x)/2,(u.y+c.y)/2),G=this.subText;this.addText(G,R,B,I),this.addScalePoint(A.pntLeft),this.finish()}}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[0])/o;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol21600=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21504=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),o(e,[{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-90)}}]),e}();SuperMap.Plot.AlgoSymbol21504=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21503=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),o(e,[{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-90)}}]),e}();SuperMap.Plot.AlgoSymbol21503=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol21502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol21501),e}();SuperMap.Plot.AlgoSymbol21502=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.02):1===this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue()),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[1]=.5*this.getSubSymbolScaleValue()}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)*SuperMap.Plot.PlottingUtil.RTOD,a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);this.addSubSymbols(n,a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addArrow(p,this.scaleValues[1])}var P=l*this.scaleValues[0]*.5,S=SuperMap.Plot.PlottingUtil.circlePoint(n,P,P,r+90);this.addScalePoint(S,0),this.finish()}}},{key:"addSubSymbols",value:function(t,e,l){this.subSymbols.length>0&&this.computeSubSymbol(this.subSymbols[0],t,.8*e,l-180)}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol21501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05,l.scaleValues[1]=.05,l.scaleValues[2]=.01,l.scaleValues[3]=.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues[0]=.05,this.scaleValues[1]=.02,this.scaleValues[2]=.01,this.scaleValues[3]=.02):1===this.scaleValues.length&&(this.scaleValues.push(.02),this.scaleValues.push(.01),this.scaleValues.push(.25*this.getSubSymbolScaleValue())),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o,this.scaleValues[3]=.5*o}for(var i=this.getLinePts(e,this.scaleValues[0]),n=[],r=[],a=0;a<=i.startIndex;a++)n.push(e[a]);if(n.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),i.endIndex<=e.length){r.push(i.endPt);for(var s=i.endIndex+1;s<=e.length-1;s++)r.push(e[s]);this.addArrow(r,this.scaleValues[this.scaleValues.length-1])}var p,u,c,P,S,h,y,f,g,b,M,m,d,v=i.startPt.clone(),O=i.endPt.clone(),U=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),w=SuperMap.Plot.PlottingUtil.distance(v,O),L=SuperMap.Plot.PlottingUtil.radian(v,O)*SuperMap.Plot.PlottingUtil.RTOD;p=new SuperMap.Geometry.Point(0,0),u=new SuperMap.Geometry.Point(0,0),c=new SuperMap.Geometry.Point(0,0),P=new SuperMap.Geometry.Point(0,0),S=new SuperMap.Geometry.Point(0,0),h=new SuperMap.Geometry.Point(0,0),y=new SuperMap.Geometry.Point(0,0),f=new SuperMap.Geometry.Point(0,0),g=new SuperMap.Geometry.Point(0,0),b=new SuperMap.Geometry.Point(0,0),M=new SuperMap.Geometry.Point(0,0),m=new SuperMap.Geometry.Point(0,0),d=new SuperMap.Geometry.Point(0,0),v.x>=O.x?(p.x=.25*w,p.y=.25*-w,u.x=.5*-w,u.y=.25*-w,c.x=.5*-w,c.y=.25*w,P.x=.5*w,P.y=.25*w,S.x=.5*w,S.y=0,h.x=.25*-w,h.y=.125*-w,y.x=0,y.y=.125*w,f.x=0,f.y=.125*-w,g.x=.25*w,g.y=.2*w,b.x=.25*-w,b.y=.25*-w,M.x=.375*-w,M.y=.5*-w,m.x=.02*-w,m.y=.25*-w,d.x=.1*w,d.y=.5*-w):(p.x=.25*w,p.y=.25*w,u.x=.5*-w,u.y=.25*w,c.x=.5*-w,c.y=.25*-w,P.x=.5*w,P.y=.25*-w,S.x=.5*w,S.y=0,h.x=.25*w,h.y=.125*-w,y.x=0,y.y=.125*w,f.x=0,f.y=.125*-w,g.x=.25*-w,g.y=.125*w,b.x=.25*-w,b.y=.25*w,M.x=.375*-w,M.y=.5*w,m.x=.02*w,m.y=.25*w,d.x=.15*w,d.y=.5*w);var _=[],V=[],A=[],T=[],E=[],x=SuperMap.Plot.PlottingUtil.coordinateTrans(U,p,L),j=SuperMap.Plot.PlottingUtil.coordinateTrans(U,u,L),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(U,c,L),C=SuperMap.Plot.PlottingUtil.coordinateTrans(U,P,L),I=SuperMap.Plot.PlottingUtil.coordinateTrans(U,S,L),B=SuperMap.Plot.PlottingUtil.coordinateTrans(U,h,L),R=SuperMap.Plot.PlottingUtil.coordinateTrans(U,y,L),G=SuperMap.Plot.PlottingUtil.coordinateTrans(U,f,L),N=SuperMap.Plot.PlottingUtil.coordinateTrans(U,g,L),D=SuperMap.Plot.PlottingUtil.coordinateTrans(U,b,L),k=SuperMap.Plot.PlottingUtil.coordinateTrans(U,M,L),z=SuperMap.Plot.PlottingUtil.coordinateTrans(U,m,L),F=SuperMap.Plot.PlottingUtil.coordinateTrans(U,d,L);_.push(x),_.push(j),_.push(Y),_.push(C),_.push(I),V.push(B),V.push(R),V.push(G),V.push(N),A.push(D),A.push(k),T.push(z),T.push(F),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,_,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,A,null,!0),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,T,null,!0);var K=.3*SuperMap.Plot.PlottingUtil.distance(G,N),W=SuperMap.Plot.PlottingUtil.linePnt(N,G,K),J=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.3*K,N,W);E.push(J.pntLeft),E.push(N),E.push(J.pntRight);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,E,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},!0);var q=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),Z=SuperMap.Plot.PlottingUtil.circlePoint(q.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,L+90);this.addScalePoint(Z,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol21900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues.push(.02),this.scaleValues.push(.1),this.scaleValues.push(0)):3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);if(e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addArrow(e,this.scaleValues[this.scaleValues.length-1]),0!==SuperMap.Plot.PlottingUtil.polylineDistance(e)){if(!this.isEdit){var l=this.getSubSymbolScaleValue();this.scaleValues[0]=.5*l,this.scaleValues[this.scaleValues.length-1]=.5*this.getSubSymbolScaleValue()}for(var o=this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.polylineDistance(t),n=o*i,r=this.scaleValues[1]*i,a=0,s=.01*i,p=s,u=0;p<=i;p+=r,u++){a=p+s;var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,a);if(-1===c.index)return;var P=[],S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index],c.pt);P.push(new SuperMap.Geometry.Point(S.pntLeft.x,S.pntLeft.y)),P.push(new SuperMap.Geometry.Point(S.pntRight.x,S.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),0===u?this.addScalePoint(P[0],0):1===u&&this.addScalePoint(c.pt,1)}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=.01*i;if(0===t){var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,n);if(-1===r.index)return;var a=SuperMap.Plot.PlottingUtil.distance(e,r.pt);this.scaleValues[0]=a/i}else if(1===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,n);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,o);if(-1===p.index)return;for(var u=0,c=s.index+1;c<p.index;c++)u+=SuperMap.Plot.PlottingUtil.distance(o[c],o[c+1]);u+=SuperMap.Plot.PlottingUtil.distance(o[p.index],p.pt),u-=n,this.scaleValues[1]=u/i,this.scaleValues[1]>.93&&(this.scaleValues[1]=.93)}}}}]),e}();SuperMap.Plot.AlgoSymbol21500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol21401=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.03),l.scaleValues.push(.4),l.scaleValues.push(0),l.scaleValues.push(.02)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues=[],this.scaleValues.push(.03),this.scaleValues.push(.4),this.scaleValues.push(0)):3===this.scaleValues.length&&this.scaleValues.push(.02);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e),o=this.scaleValues[1],i=l*(1-o)*.5,n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i,e);if(n.bfind){this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue(),this.scaleValues[this.scaleValues.length-1]=.5*this.getSubSymbolScaleValue());var r,a=this.scaleValues[0],s=SuperMap.Plot.PlottingUtil.polylineDistance(t)*a,p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[n.index],n.pts),u=this.scaleValues[2];1===u?r=new SuperMap.Geometry.Point(p.pntRight.x,p.pntRight.y):0===u&&(r=new SuperMap.Geometry.Point(p.pntLeft.x,p.pntLeft.y));var c=[];c.push(r),c.push(n.pts);var P;this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,{lineTypeLimit:!0});var S=l*(.5+.5*o),h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(S,e);if(h.bfind){var y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[h.index],h.pts);1===u?P=new SuperMap.Geometry.Point(y.pntRight.x,y.pntRight.y):0===u&&(P=new SuperMap.Geometry.Point(y.pntLeft.x,y.pntLeft.y)),this.addArrow(e,this.scaleValues[this.scaleValues.length-1]),this.addScalePoint(P,0);var f=[];f.push(P),f.push(h.pts);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f,{lineTypeLimit:!0}),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l,!1);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=i*(.5+.5*this.scaleValues[1]),r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(n,o);if(!r.bfind)return;var a,s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[r.index],r.pts),p=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[r.index],o[r.index+1],e);this.scaleValues[2]=p?0:1,a=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,new SuperMap.Geometry.Point(s.pntLeft.x,s.pntLeft.y),new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y));var u=SuperMap.Plot.PlottingUtil.distance(a.projectPoint,new SuperMap.Geometry.Point(r.pts.x,r.pts.y));this.scaleValues[0]=u/i}}}]),e}();SuperMap.Plot.AlgoSymbol21401=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol25201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=l*this.scaleValues[0],i=e[e.length-1];if(e.length>2){for(var n=-1,r=e.length-2;r>=0;r--)if(o<SuperMap.Plot.PlottingUtil.distance(i,e[r])){n=r;break}e.splice(n+1,e.length-n),e.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);var a=e[e.length-2],s=e[e.length-1],p=o,u=180*SuperMap.Plot.PlottingUtil.radian(a,s)/Math.PI,c=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+157.5),P=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u+202.5),S=[];S.push(c),S.push(i),S.push(P);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0},!0);var h=SuperMap.Plot.PlottingUtil.circlePoint(s,p,p,u);this.addScalePoint(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.distance(e,l[l.length-1])/o;if(i>.2)return;this.scaleValues[0]=i}}}]),e}();SuperMap.Plot.AlgoSymbol25201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol42500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.285714),l.scaleValues.push(.285714),l.scaleValues.push(.5),l.scaleValues.push(.333333),l.scaleValues.push(.333333)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.285714),this.scaleValues.push(.285714),this.scaleValues.push(.5),this.scaleValues.push(.333333));var e=t[0].clone(),l=t[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0],n=new SuperMap.Geometry.Point(0,-o*i),r=new SuperMap.Geometry.Point(0,o*i),a=this.scaleValues[1],s=this.scaleValues[3],p=new SuperMap.Geometry.Point(o*(1-s),-o*a),u=new SuperMap.Geometry.Point(o*(1-s),o*a),c=this.scaleValues[2],P=this.scaleValues[4],S=new SuperMap.Geometry.Point(o*(1-P),-o*c),h=new SuperMap.Geometry.Point(o*(1-P),o*c),y=new SuperMap.Geometry.Point(o,0),f=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD,g=[];g.push(r),g.push(u),g.push(h),g.push(y),g.push(S),g.push(p),g.push(n);for(var b=[],M=0;M<g.length;M++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,g[M],f);b.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var d,v,O,U=!0;e.x>l.x&&(U=!1);var w,L=(O=.1*o)+(v=.12*o/2);d=1==U?(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,l,e)).pntRight:(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(L,l,e)).pntLeft;var _,V,A,T,E,x,j,Y,C=[];C.push(d),C.push(new SuperMap.Geometry.Point(d.x+v,d.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,C),1==U?(_=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.85*O,l,e)).pntRight,T=w.pntLeft,V=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,_,T)).pntRight,A=w.pntLeft):(_=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.85*O,l,e)).pntLeft,T=w.pntRight,V=(w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,_,T)).pntLeft,A=w.pntRight),(C=[]).push(_),C.push(V),C.push(A),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,C,{fillLimit:!0,fill:!0}),w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*v,V,A),Y=1==U?w.pntRight:w.pntLeft,w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(2*v,A,V),x=1==U?w.pntLeft:w.pntRight;var I=SuperMap.Plot.PlottingUtil.intersectLines(_,x,A,V);I.isIntersectLines&&(E=I.intersectPoint,(I=SuperMap.Plot.PlottingUtil.intersectLines(_,Y,A,V)).isIntersectLines&&(j=I.intersectPoint,(C=[]).push(E),C.push(x),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C),(C=[]).push(j),C.push(Y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C),this.scalePoints=[],this.addScalePoint(b[0]),this.addScalePoint(b[1]),this.addScalePoint(b[2]),this.finish()))}}},{key:"computeScaleValues",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o,i=SuperMap.Plot.PlottingUtil.distance(l[0],l[1]),n=l[0].clone(),r=l[1].clone(),a=e.clone();if(0==t){var s=SuperMap.Plot.PlottingUtil.distance(a,n)/i;this.scaleValues[0]=s}else if(1==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var p=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[1]=p;var u=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[3]=u}else if(2==t){o=SuperMap.Plot.PlottingUtil.projectPoint(a,n,r);var c=SuperMap.Plot.PlottingUtil.distance(o,a)/i;this.scaleValues[2]=c;var P=SuperMap.Plot.PlottingUtil.distance(o,r)/i;this.scaleValues[4]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol42500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol26501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues[0]=.05),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(this.scaleValues.length<1&&(this.scaleValues=[],this.scaleValues.push(.5)),!this.isEdit){var o=this.getDefaultSubSymbolSize()/l;(o>.3||o<=0)&&(o=.3),this.scaleValues[0]=o}var i=this.getLinePts(e,this.scaleValues[0]),n=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),r=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI,a=SuperMap.Plot.PlottingUtil.distance(i.startPt,i.endPt);0<this.subSymbols.length&&this.computeSubSymbol(this.subSymbols[0],n,.8*a,r);for(var s=[],p=[],u=0;u<=i.startIndex;u++)s.push(e[u]);if(s.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s),i.endIndex<=e.length){p.push(i.endPt);for(var c=i.endIndex+1;c<=e.length-1;c++)p.push(e[c]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p)}var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*l,e),S=SuperMap.Plot.PlottingUtil.circlePoint(P.pts,l*this.scaleValues[0]*.5,l*this.scaleValues[0]*.5,r);this.addScalePoint(S,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint&&0===t){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.polylineDistance(o),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,o),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol26501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol20301=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues.length!==this.minEditPts&&(this.scaleValues=[],this.scaleValues.push(.2),this.scaleValues.push(0)),this.components=[],this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,this.controlPoints);var e,l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=new SuperMap.Geometry.Point(t[0].x,t[0].y),i=new SuperMap.Geometry.Point(t[1].x,t[1].y),n=180*SuperMap.Plot.PlottingUtil.radian(o,i)/Math.PI,r=new SuperMap.Geometry.Point((o.x+i.x)/2,(o.y+i.y)/2),a=this.scaleValues[0]*l;e=0==this.scaleValues[1]?SuperMap.Plot.PlottingUtil.circlePoint(r,a,a,n+90):SuperMap.Plot.PlottingUtil.circlePoint(r,a,a,n+270);var s={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0};this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[r,e]);var p=.02*SuperMap.Plot.PlottingUtil.distance(t[0],t[t.length-1]),u=new SuperMap.Geometry.Point((o.x+r.x)/2,(o.y+r.y)/2),c=[u,new SuperMap.Geometry.Point(u.x,u.y+p)];this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,s,!0);var P=new SuperMap.Geometry.Point((i.x+r.x)/2,(i.y+r.y)/2);c=[P,new SuperMap.Geometry.Point(P.x,P.y+p)],this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,c,s,!0);var S=new SuperMap.Geometry.Point(e.x,e.y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;if(0!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;var o=new SuperMap.Geometry.Point(l[0].x,l[0].y),i=new SuperMap.Geometry.Point(l[1].x,l[1].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);if(0===n)return;var r=new SuperMap.Geometry.Point((o.x+i.x)/2,(o.y+i.y)/2);if(0===t){var a=SuperMap.Plot.PlottingUtil.distance(e,r)/n;this.scaleValues[0]=a,SuperMap.Plot.PlottingUtil.pointIsRightToLine(o,i,e)?this.scaleValues[1]=1:this.scaleValues[1]=0}}}}]),e}();SuperMap.Plot.AlgoSymbol20301=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol20300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.1),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){1!==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.1)),this.components=[],this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,this.controlPoints);var e=this.scaleValues[0],l=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=l*e,i=.01*l;o<2*i&&(i=.5*o);for(var n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},r=0,a=o;a<l-i;a+=o){var s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,t);if(s.bfind){var p=s.pts,u=[];u.push(p);var c=SuperMap.Plot.PlottingUtil.circlePoint(p,i,i,90);if(u.push(c),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,u,n),0===r){var P=new SuperMap.Geometry.Point(p.x,p.y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}r++}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.minEditPts>l.length)return;for(var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=-1,n=0,r=new SuperMap.Geometry.Point(0,0),a=0;a<l.length-1;a++){var s,p=[];p.push(l[a]),p.push(l[a+1]);var u=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l[a],l[a+1]);if(u.isOnline&&(s=u.projectPoint),!u.isOnline&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(e,l[a],l[a+1])&&(s=e),void 0===s)return;if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLines(s,p).isOnPolyLine){var c=SuperMap.Plot.PlottingUtil.distance(e,s);-1===i?(i=a,r=s,n=c):n>c&&(i=a,r=s,n=c)}}if(-1===i||i>l.length-1)return;for(var P=0,S=0;S<i;S++){var h=new SuperMap.Geometry.Point(l[S].x,l[S].y),y=new SuperMap.Geometry.Point(l[S+1].x,l[S+1].y);P+=SuperMap.Plot.PlottingUtil.distance(h,y)}var f=new SuperMap.Geometry.Point(l[i].x,l[i].y);if((P+=SuperMap.Plot.PlottingUtil.distance(f,r))<0||P>o)return;var g=P/o;g>.95?g=.95:g<.1&&(g=.1),this.scaleValues[0]=g}}}]),e}();SuperMap.Plot.AlgoSymbol20300=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17806=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17804),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1));var e,l,o,i,n,r=this.scaleValues[0],a=this.scaleValues[1],s=this.scaleValues[2],p=0,u=0;if(t.length==this.minEditPts){this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y);var c=SuperMap.Plot.PlottingUtil.distance(l,o);p=2*c,e=new SuperMap.Geometry.Point(l.x+p*r,l.y+p*a);var P=2*c*s/.28/2;u=P,i=SuperMap.Plot.PlottingUtil.circlePoint(e,P,P,0),(n=[]).push(e.clone()),n.push(i.clone()),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,n)}else{this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),p=SuperMap.Plot.PlottingUtil.distance(l,o)+SuperMap.Plot.PlottingUtil.distance(l,i),e=new SuperMap.Geometry.Point(l.x+p*r,l.y+p*a);var S=p*s/.21/2,h=p*s/.38/2;u=S;var y=SuperMap.Plot.PlottingUtil.circlePoint(e,S,S,0),f=SuperMap.Plot.PlottingUtil.circlePoint(e,h,h,90);(n=[]).push(e.clone()),n.push(y.clone()),n.push(f.clone()),this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,n)}this.scalePoints=[];var g=new SuperMap.Geometry.Point(e.x+.1*p,e.y);g.isScalePoint=!0,g.tag=0,this.scalePoints.push(g);var b=SuperMap.Plot.PlottingUtil.circlePoint(e,u,u,90);b.isScalePoint=!0,b.tag=1,this.scalePoints.push(b),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,r=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),a=(r=SuperMap.Plot.PlottingUtil.clearSamePts(r))[0].clone(),s=0;if(0==(s=2==r.length?2*SuperMap.Plot.PlottingUtil.distance(r[0],r[1]):SuperMap.Plot.PlottingUtil.distance(r[0],r[1])+SuperMap.Plot.PlottingUtil.distance(r[0],r[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*s-a.x)/s,this.scaleValues[0]=l,o=(e.y-a.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(a.x+s*l,a.y+s*o);n=SuperMap.Plot.PlottingUtil.distance(p,e),i=.1,i=2===r.length?.56*n/s:.42*n/s,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17806=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17805=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17804),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1)),t.length==this.minEditPts?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=t.length==this.minEditPts?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],r=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),a=3*(l*n),s=new SuperMap.Geometry.Point(-.5*a,.3*a),p=new SuperMap.Geometry.Point(-.5*a,-.3*a),u=new SuperMap.Geometry.Point(.5*a,-.3*a),c=new SuperMap.Geometry.Point(.5*a,.3*a),P=SuperMap.Plot.PlottingUtil.coordinateTrans(r,s,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(r,p,0),h=SuperMap.Plot.PlottingUtil.coordinateTrans(r,u,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(r,c,0),f=[];f.push(P.clone()),f.push(S.clone()),f.push(h.clone()),f.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,f);var g=new SuperMap.Geometry.Point(-.3*a,.3*a),b=new SuperMap.Geometry.Point(-.3*a,.5*a),M=SuperMap.Plot.PlottingUtil.coordinateTrans(r,g,0),m=SuperMap.Plot.PlottingUtil.coordinateTrans(r,b,0);(f=[]).push(M.clone()),f.push(m.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var d=new SuperMap.Geometry.Point(-.3*a,-.3*a),v=new SuperMap.Geometry.Point(-.3*a,-.5*a),O=SuperMap.Plot.PlottingUtil.coordinateTrans(r,d,0),U=SuperMap.Plot.PlottingUtil.coordinateTrans(r,v,0);(f=[]).push(O.clone()),f.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var w=new SuperMap.Geometry.Point(.3*a,.3*a),L=new SuperMap.Geometry.Point(.3*a,.5*a),_=SuperMap.Plot.PlottingUtil.coordinateTrans(r,w,0),V=SuperMap.Plot.PlottingUtil.coordinateTrans(r,L,0);(f=[]).push(_.clone()),f.push(V.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var A=new SuperMap.Geometry.Point(.3*a,-.3*a),T=new SuperMap.Geometry.Point(.3*a,-.5*a),E=SuperMap.Plot.PlottingUtil.coordinateTrans(r,A,0),x=SuperMap.Plot.PlottingUtil.coordinateTrans(r,T,0);(f=[]).push(E.clone()),f.push(x.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.scalePoints=[];var j=new SuperMap.Geometry.Point(r.x+.1*a,r.y);j.isScalePoint=!0,j.tag=0,this.scalePoints.push(j);var Y=SuperMap.Plot.PlottingUtil.circlePoint(r,.5*a,.5*a,90);Y.isScalePoint=!0,Y.tag=1,this.scalePoints.push(Y),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17805=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.1)),t.length==this.minEditPts?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=t.length==this.minEditPts?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],r=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),a=l*n,s=3*a,p=new SuperMap.Geometry.Point(-.5*s,.5*a),u=new SuperMap.Geometry.Point(.5*s,.5*a),c=SuperMap.Plot.PlottingUtil.coordinateTrans(r,p,0),P=SuperMap.Plot.PlottingUtil.coordinateTrans(r,u,0),S=[];S.push(c.clone()),S.push(P.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var h=new SuperMap.Geometry.Point(-.5*s,-.5*a),y=new SuperMap.Geometry.Point(.5*s,-.5*a),f=SuperMap.Plot.PlottingUtil.coordinateTrans(r,h,0),g=SuperMap.Plot.PlottingUtil.coordinateTrans(r,y,0);(S=[]).push(f.clone()),S.push(g.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var b=new SuperMap.Geometry.Point(-.1*s,.5*a),M=new SuperMap.Geometry.Point(-.15*s,-.5*a),m=SuperMap.Plot.PlottingUtil.coordinateTrans(r,b,0),d=SuperMap.Plot.PlottingUtil.coordinateTrans(r,M,0);(S=[]).push(m.clone()),S.push(d.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S);var v=new SuperMap.Geometry.Point(.15*s,.5*a),O=new SuperMap.Geometry.Point(.1*s,-.5*a),U=SuperMap.Plot.PlottingUtil.coordinateTrans(r,v,0),w=SuperMap.Plot.PlottingUtil.coordinateTrans(r,O,0);(S=[]).push(U.clone()),S.push(w.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.scalePoints=[];var L=new SuperMap.Geometry.Point(r.x+.1*s,r.y);L.isScalePoint=!0,L.tag=0,this.scalePoints.push(L);var _=SuperMap.Plot.PlottingUtil.circlePoint(r,.5*s,.5*s,90);_.isScalePoint=!0,_.tag=1,this.scalePoints.push(_),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,r=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),a=(r=SuperMap.Plot.PlottingUtil.clearSamePts(r))[0].clone(),s=0;if(0==(s=2==r.length?2*SuperMap.Plot.PlottingUtil.distance(r[0],r[1]):SuperMap.Plot.PlottingUtil.distance(r[0],r[1])+SuperMap.Plot.PlottingUtil.distance(r[0],r[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*n-a.x)/s,this.scaleValues[0]=l,o=(e.y-a.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(a.x+s*l,a.y+s*o);i=2*(n=SuperMap.Plot.PlottingUtil.distance(p,e))/s/3,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17804=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17803=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(0),l.scaleValues.push(0),l.scaleValues.push(.2)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues.push(0),this.scaleValues.push(0),this.scaleValues.push(.2)),2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=0;if(0!=(l=2==t.length?2*SuperMap.Plot.PlottingUtil.distance(t[0],t[1]):SuperMap.Plot.PlottingUtil.distance(t[0],t[1])+SuperMap.Plot.PlottingUtil.distance(t[0],t[2]))){var o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2],r=new SuperMap.Geometry.Point(e.x+l*o,e.y+l*i),a=l*n,s=new SuperMap.Geometry.Point(-.5*a,.25*a),p=new SuperMap.Geometry.Point(-.4*a,.125*a),u=new SuperMap.Geometry.Point(.4*a,.125*a),c=new SuperMap.Geometry.Point(.5*a,.25*a),P=SuperMap.Plot.PlottingUtil.coordinateTrans(r,s,0),S=SuperMap.Plot.PlottingUtil.coordinateTrans(r,p,0),h=SuperMap.Plot.PlottingUtil.coordinateTrans(r,u,0),y=SuperMap.Plot.PlottingUtil.coordinateTrans(r,c,0),f=[];f.push(P.clone()),f.push(S.clone()),f.push(h.clone()),f.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var g=new SuperMap.Geometry.Point(-.5*a,-.25*a),b=new SuperMap.Geometry.Point(-.4*a,-.125*a),M=new SuperMap.Geometry.Point(.4*a,-.125*a),m=new SuperMap.Geometry.Point(.5*a,-.25*a),d=SuperMap.Plot.PlottingUtil.coordinateTrans(r,g,0),v=SuperMap.Plot.PlottingUtil.coordinateTrans(r,b,0),O=SuperMap.Plot.PlottingUtil.coordinateTrans(r,M,0),U=SuperMap.Plot.PlottingUtil.coordinateTrans(r,m,0);(f=[]).push(d.clone()),f.push(v.clone()),f.push(O.clone()),f.push(U.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.scalePoints=[];var w=new SuperMap.Geometry.Point(r.x+.1*a,r.y);w.isScalePoint=!0,w.tag=0,this.scalePoints.push(w);var L=SuperMap.Plot.PlottingUtil.circlePoint(r,.25*a,.25*a,90);L.isScalePoint=!0,L.tag=1,this.scalePoints.push(L),this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l,o,i,n,r=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),a=(r=SuperMap.Plot.PlottingUtil.clearSamePts(r))[0].clone(),s=0;if(0==(s=2==r.length?2*SuperMap.Plot.PlottingUtil.distance(r[0],r[1]):SuperMap.Plot.PlottingUtil.distance(r[0],r[1])+SuperMap.Plot.PlottingUtil.distance(r[0],r[2])))return;if(0==t)n=(i=this.scaleValues[2])*s,l=(e.x-.1*n-a.x)/s,this.scaleValues[0]=l,o=(e.y-a.y)/s,this.scaleValues[1]=o;else if(1==t){l=this.scaleValues[0],o=this.scaleValues[1];var p=new SuperMap.Geometry.Point(a.x+s*l,a.y+s*o);i=4*(n=SuperMap.Plot.PlottingUtil.distance(p,e))/s,this.scaleValues[2]=i}}}}]),e}();SuperMap.Plot.AlgoSymbol17803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=[],r=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),a=SuperMap.Plot.PlottingUtil.circlePoint(e,.08*i,.08*i,o+90),s=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),p=SuperMap.Plot.PlottingUtil.circlePoint(e,.08*i,.08*i,o+270);n.push(r.clone()),n.push(a.clone()),n.push(s.clone()),n.push(p.clone()),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),c=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180);(n=[]).push(u.clone()),n.push(c.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),S=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(n=[]).push(P.clone()),n.push(S.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var h=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),y=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(n=[]).push(h.clone()),n.push(y.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var f=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),g=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(n=[]).push(f.clone()),n.push(g.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=[],r=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,0);n.push(t[0].clone()),n.push(r.clone()),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,n);var a=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),s=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180);(n=[]).push(a.clone()),n.push(s.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var p=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o+180),u=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(n=[]).push(p.clone()),n.push(u.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var c=SuperMap.Plot.PlottingUtil.circlePoint(e,.15*i,.15*i,o),P=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(n=[]).push(c.clone()),n.push(P.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);var S=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),h=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(n=[]).push(S.clone()),n.push(h.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17800=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[t.length-1].x,t[t.length-1].y),o=0;2==t.length?this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t):(this.addCell(SuperMap.Plot.SymbolType.ELLIPSESYMBOL,t),o=SuperMap.Plot.PlottingUtil.radian(e,l)*SuperMap.Plot.PlottingUtil.RTOD);var i=SuperMap.Plot.PlottingUtil.distance(e,l),n=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o+180),r=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o+180),a=[];a.push(n.clone()),a.push(r.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var s=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,o+180),p=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o+180);(a=[]).push(s.clone()),a.push(p.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var u=SuperMap.Plot.PlottingUtil.circlePoint(e,.1*i,.1*i,o),c=SuperMap.Plot.PlottingUtil.circlePoint(e,.58*i,.58*i,o);(a=[]).push(u.clone()),a.push(c.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);var P=SuperMap.Plot.PlottingUtil.circlePoint(e,.78*i,.78*i,o),S=SuperMap.Plot.PlottingUtil.circlePoint(e,1.26*i,1.26*i,o);(a=[]).push(P.clone()),a.push(S.clone()),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol17800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=e.AlgoSymbol17704=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="急",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol17703),e}();SuperMap.Plot.AlgoSymbol17704=o},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17703=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.subText="加",l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);this.isEdit||(this.scaleValues=[]);var o=[];if(this.scalePoints=[],t.length<3)o.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),o.push(new SuperMap.Geometry.Point(t[1].x,t[1].y));else{var i=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,t,this.scaleValues);this.scaleValues=i.scaleValues;for(var n=0;n<i.scalePoints.length;n++)this.addScalePoint(i.scalePoints[n]);o=i.beizerPoints}if(!(o.length<2)){var r=e/2;if(-1!==SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,r).index){var a,s;if(a=2==t.length?0:t.length-1,this.isEdit)s=this.scaleValues[4*a]*e,isNaN(s)&&(s=Math.abs(this.scaleValues[4*a-1]*e));else{var p=.5*this.getSubSymbolScaleValue();s=p*e,this.scaleValues.push(p)}var u=r-s,c=r+s,P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,u);if(-1!==P.index){var S=P.pt;this.addScalePoint(new SuperMap.Geometry.Point(S.x,S.y));var h=[];if(0==P.index)h.push(o[0]);else for(var y=0;y<P.index;y++)h.push(o[y]);h.push(S);var f=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,c);if(-1!==f.index){var g=f.pt,b=[];b.push(g);for(var M=f.index+1;M<o.length;M++)b.push(o[M]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var m=h[h.length-1],d=b[0],v=180*SuperMap.Plot.PlottingUtil.radian(m,d)/Math.PI,O=SuperMap.Plot.PlottingUtil.distance(m,d),U=new SuperMap.Geometry.Point((m.x+d.x)/2,(m.y+d.y)/2),w=this.subText;this.addText(w,U,O,v),this.finish()}}}}}}},{key:"computeBeizer",value:function(t,e){var l,o,i,n=[];if(this.scalePoints=[],this.isEdit){(i=[]).push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),i.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),l=this.scaleValues[0],o=this.scaleValues[1];var r=t[0].x+e*l,a=t[0].y+e*o;i.push(new SuperMap.Geometry.Point(r,a)),this.addScalePoint(new SuperMap.Geometry.Point(r,a));for(var s=1;s<t.length-1;s++)i.push(new SuperMap.Geometry.Point(t[s].x,t[s].y)),l=this.scaleValues[4*s-2],o=this.scaleValues[4*s-1],r=t[s].x+e*l,a=t[s].y+e*o,i.push(new SuperMap.Geometry.Point(r,a)),this.addScalePoint(new SuperMap.Geometry.Point(r,a)),l=this.scaleValues[4*s],o=this.scaleValues[4*s+1],r=t[s].x+e*l,a=t[s].y+e*o,i.push(new SuperMap.Geometry.Point(r,a)),this.addScalePoint(new SuperMap.Geometry.Point(r,a));var p=t.length-1;i.push(new SuperMap.Geometry.Point(t[p].x,t[p].y)),l=this.scaleValues[4*p-2],o=this.scaleValues[4*p-1],r=t[p].x+e*l,a=t[p].y+e*o,i.push(new SuperMap.Geometry.Point(r,a)),this.addScalePoint(new SuperMap.Geometry.Point(r,a)),i.push(new SuperMap.Geometry.Point(t[p].x,t[p].y)),n=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(i)}else{if(this.scaleValues=[],i=[],(i=SuperMap.Plot.PlottingUtil.getBeizerCtrlPt(t)).length<3)return n;var u=i[2].x-i[0].x,c=i[2].y-i[0].y;l=u/e,o=c/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[2].x,i[2].y));for(var P=1;P<t.length-1;P++){l=(u=i[3*P+1].x-i[3*P].x)/e,o=(c=i[3*P+1].y-i[3*P].y)/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[3*P+1].x,i[3*P+1].y));var S=(i[3*P+2].x-i[3*P].x)/e,h=(i[3*P+2].y-i[3*P].y)/e;this.scaleValues.push(S),this.scaleValues.push(h),this.addScalePoint(new SuperMap.Geometry.Point(i[3*P+2].x,i[3*P+2].y))}l=(u=i[3*(t.length-1)+1].x-i[3*(t.length-1)].x)/e,o=(c=i[3*(t.length-1)+1].y-i[3*(t.length-1)].y)/e,this.scaleValues.push(l),this.scaleValues.push(o),this.addScalePoint(new SuperMap.Geometry.Point(i[3*(t.length-1)+1].x,i[3*(t.length-1)+1].y)),n=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(i)}return n}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(l=SuperMap.Plot.PlottingUtil.clearSamePts(l),t<0||t>2*l.length-2)return;for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(2*(l.length-1)==t||2==l.length){for(var n=this.computeBeizer(l,o),r=0,a=0;a<n.length-1;a++)r+=SuperMap.Plot.PlottingUtil.distance(n[a],n[a+1]);var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,r/2);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.distance(e,s.pt)/o;p>.45&&(p=.45),2==l.length?this.scaleValues[0]=p:this.scaleValues[2*t]=p}else{var u=-1;u=t%2==0?t/2:(t+1)/2;var c=(e.x-l[u].x)/o,P=(e.y-l[u].y)/o;this.scaleValues[2*t]=c,this.scaleValues[2*t+1]=P}}}}]),e}();SuperMap.Plot.AlgoSymbol17703=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&l.scaleValues.push(.02),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);0===this.scaleValues.length&&this.scaleValues.push(.02),this.isEdit||(this.scaleValues[0]=.2*this.getSubSymbolScaleValue());var l=e*this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var i=SuperMap.Plot.PlottingUtil.paraLine(o,l,!0),n=SuperMap.Plot.PlottingUtil.paraLine(o,l,!1);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);for(var r={surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0},a=this.getDashLinePts(n,5*l),s=0;s<a.length;s++){var p=a[s];this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,r)}this.finish()}}},{key:"getDashLinePts",value:function(t,e){var l=[],o=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(e>o)return l;for(var i=SuperMap.Plot.PlottingUtil.clonePoints(t),n=2*parseInt(o/(1.5*e)),r=0;r<n;r++){var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,e);if(-1!==a.index){if(0==r%2){for(var s=[],p=0;p<a.index+1;p++)s.push(i[p].clone());s.push(a.pt),l.push(s)}var u=[];u.push(a.pt);for(var c=a.index+1;c<i.length;c++)u.push(i[c]);i=(i=[]).concat(u)}}return i.length>0&&l.push(i),l}}]),e}();SuperMap.Plot.AlgoSymbol17700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17501=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=this.controlPoints.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=e[0].x,o=e[0].x,i=e[0].y,n=e[0].y,r=0;r<e.length;r++)l>e[r].x&&(l=e[r].x),o<e[r].x&&(o=e[r].x),i>e[r].y&&(i=e[r].y),n<e[r].y&&(n=e[r].y);var a=new SuperMap.Geometry.Point((o+l)/2,(n+i)/2),s=.33*(o-l),p=.1*(n-i),u=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,0),c=SuperMap.Plot.PlottingUtil.circlePoint(a,s,s,180),P=[];P.push(new SuperMap.Geometry.Point(u.x,u.y)),P.push(new SuperMap.Geometry.Point(c.x,c.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var S=new SuperMap.Geometry.Point(a.x-3*s/7,a.y+p),h=SuperMap.Plot.PlottingUtil.circlePoint(S,p,p,60),y=SuperMap.Plot.PlottingUtil.circlePoint(S,p,p,120);(P=[]).push(new SuperMap.Geometry.Point(h.x,h.y)),P.push(new SuperMap.Geometry.Point(S.x,S.y)),P.push(new SuperMap.Geometry.Point(y.x,y.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var f=new SuperMap.Geometry.Point(a.x+3*s/7,a.y+p),g=SuperMap.Plot.PlottingUtil.circlePoint(f,p,p,60),b=SuperMap.Plot.PlottingUtil.circlePoint(f,p,p,120);(P=[]).push(new SuperMap.Geometry.Point(g.x,g.y)),P.push(new SuperMap.Geometry.Point(f.x,f.y)),P.push(new SuperMap.Geometry.Point(b.x,b.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol17500=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];if(e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):t.length>3&&!0===this.polylineConnectLocationPoint?t:SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),!(3>(e=SuperMap.Plot.PlottingUtil.clearSamePts(e)).length)){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e);for(var l=e[0].x,o=e[0].x,i=e[0].y,n=e[0].y,r=0;r<e.length;r++)l>e[r].x&&(l=e[r].x),o<e[r].x&&(o=e[r].x),i>e[r].y&&(i=e[r].y),n<e[r].y&&(n=e[r].y);var a={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},s=new SuperMap.Geometry.Point((o+l)/2,(n+i)/2),p=o-l,u=n-i,c=.1*p,P=.1*u,S=new SuperMap.Geometry.Point(s.x,s.y+P),h=new SuperMap.Geometry.Point(s.x-c,s.y-P),y=new SuperMap.Geometry.Point(s.x+c,s.y-P);c=.03*p,P=.03*u;var f=new SuperMap.Geometry.Point(S.x,S.y+P),g=new SuperMap.Geometry.Point(S.x-c,S.y-P),b=new SuperMap.Geometry.Point(S.x+c,S.y-P),M=[];M.push(new SuperMap.Geometry.Point(f.x,f.y)),M.push(new SuperMap.Geometry.Point(g.x,g.y)),M.push(new SuperMap.Geometry.Point(b.x,b.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M,a);var m=new SuperMap.Geometry.Point(h.x,h.y+P),d=new SuperMap.Geometry.Point(h.x-c,h.y-P),v=new SuperMap.Geometry.Point(h.x+c,h.y-P),O=[];O.push(new SuperMap.Geometry.Point(m.x,m.y)),O.push(new SuperMap.Geometry.Point(d.x,d.y)),O.push(new SuperMap.Geometry.Point(v.x,v.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,O,a);var U=new SuperMap.Geometry.Point(y.x,y.y+P),w=new SuperMap.Geometry.Point(y.x-c,y.y-P),L=new SuperMap.Geometry.Point(y.x+c,y.y-P),_=[];_.push(new SuperMap.Geometry.Point(U.x,U.y)),_.push(new SuperMap.Geometry.Point(w.x,w.y)),_.push(new SuperMap.Geometry.Point(L.x,L.y)),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,_,a),this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol17500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16700=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.2),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0]*e,i=this.scaleValues[1]*e,n=new SuperMap.Geometry.Point(t[0].x,t[0].y),r=new SuperMap.Geometry.Point(t[1].x,t[1].y),a=180*SuperMap.Plot.PlottingUtil.radian(n,r)/Math.PI,s=SuperMap.Plot.PlottingUtil.circlePoint(n,o,o,a+90),p=SuperMap.Plot.PlottingUtil.circlePoint(n,i,i,a+90),u=SuperMap.Plot.PlottingUtil.circlePoint(r,o,o,a+90),c=SuperMap.Plot.PlottingUtil.circlePoint(r,i,i,a+90),P=[];P.push(p),P.push(s),P.push(u),P.push(c),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P)),(P=[]).push(p),P.push(t[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P)),(P=[]).push(c),P.push(t[1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,SuperMap.Plot.PlottingUtil.clonePoints(P));var S=new SuperMap.Geometry.Point(s.x,s.y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S);var h=new SuperMap.Geometry.Point(p.x,p.y);h.isScalePoint=!0,h.tag=1,this.scalePoints.push(h),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(this.isEdit=!0,!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(n<this.scaleValues[1])return;this.scaleValues[0]=n}else if(1==t){var r=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;if(this.scaleValues[0]<r)return;this.scaleValues[1]=r}}}}]),e}();SuperMap.Plot.AlgoSymbol16700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16203=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue());for(var o=this.scaleValues[0]*e,i=this.scaleValues[1]*e,n=.01*e,r=SuperMap.Plot.PlottingUtil.polylineDistance(l),a=0,s={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!0,fill:!0,fillColor:"#ff0000",fillOpacity:1},p=n,u=0;p<=r;p+=i,u++){a=p+n;var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,a);if(-1===c.index)return;for(var P=SuperMap.Plot.PlottingUtil.radian(c.pt,l[c.index+1])*SuperMap.Plot.PlottingUtil.RTOD,S=this.getSubSymbolPts(o),h=[],y=0,f=S.length;y<f;y++)h.push(SuperMap.Plot.PlottingUtil.coordinateTrans(c.pt,S[y],P));if(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,s),0===u){var g=new SuperMap.Geometry.Point((h[0].x+h[1].x)/2,(h[0].y+h[1].y)/2);this.addScalePoint(g,0)}else 1===u&&this.addScalePoint(c.pt,1);this.finish()}}}},{key:"getSubSymbolPts",value:function(t){var e=.5*t,l=[];return l.push(new SuperMap.Geometry.Point(.5*e,2*e)),l.push(new SuperMap.Geometry.Point(.5*-e,2*e)),l.push(new SuperMap.Geometry.Point(.5*-e,-2*e)),l.push(new SuperMap.Geometry.Point(.5*e,-2*e)),l}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=SuperMap.Plot.PlottingUtil.polylineDistance(l),i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);i=SuperMap.Plot.PlottingUtil.clearSamePts(i);var n=.01*o;if(0===t){var r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,n);if(-1===r.index)return;var a=SuperMap.Plot.PlottingUtil.distance(e,r.pt);this.scaleValues[0]=a/o}else if(1===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,n);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,i);if(-1===p.index)return;for(var u=0,c=s.index+1;c<p.index;c++)u+=SuperMap.Plot.PlottingUtil.distance(i[c],i[c+1]);u+=SuperMap.Plot.PlottingUtil.distance(i[p.index],p.pt),u-=n,this.scaleValues[1]=u/o,u>o-o*this.scaleValues[0]-n&&(this.scaleValues[1]=(o-o*this.scaleValues[0]-n)/o)}}}}]),e}();SuperMap.Plot.AlgoSymbol16203=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o,i,n=this.scaleValues[0]*e;o=SuperMap.Plot.PlottingUtil.paraLine(t,n,!0),i=SuperMap.Plot.PlottingUtil.paraLine(t,n,!1);var r=new SuperMap.Geometry.Point(o[0].x,o[0].y);r.isScalePoint=!0,r.tag=0,this.scalePoints.push(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);var a=new SuperMap.Geometry.Point(t[0].x,t[0].y),s=new SuperMap.Geometry.Point(t[1].x,t[1].y),p=180*SuperMap.Plot.PlottingUtil.radian(a,s)/Math.PI,u=new SuperMap.Geometry.Point(.3*e,0),c=SuperMap.Plot.PlottingUtil.coordinateTrans(a,u,p),P=new SuperMap.Geometry.Point(0,.4*n),S=new SuperMap.Geometry.Point(0,.2*n),h=SuperMap.Plot.PlottingUtil.coordinateTrans(c,P,p),y=SuperMap.Plot.PlottingUtil.coordinateTrans(c,S,p),f=[];f.push(h),f.push(y),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f);var g=new SuperMap.Geometry.Point(0,.2*n),b=new SuperMap.Geometry.Point(0,-.4*n),M=SuperMap.Plot.PlottingUtil.coordinateTrans(c,g,p),m=SuperMap.Plot.PlottingUtil.coordinateTrans(c,b,p);(f=[]).push(M),f.push(m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var d=new SuperMap.Geometry.Point(.2*n,-.2*n),v=new SuperMap.Geometry.Point(-.2*n,-.6*n),O=SuperMap.Plot.PlottingUtil.coordinateTrans(c,d,p),U=SuperMap.Plot.PlottingUtil.coordinateTrans(c,v,p);(f=[]).push(O),f.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var w=new SuperMap.Geometry.Point(-.2*n,-.2*n),L=new SuperMap.Geometry.Point(.2*n,-.6*n),_=SuperMap.Plot.PlottingUtil.coordinateTrans(c,w,p),V=SuperMap.Plot.PlottingUtil.coordinateTrans(c,L,p);(f=[]).push(_),f.push(V),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var A=new SuperMap.Geometry.Point(.7*e,0),T=SuperMap.Plot.PlottingUtil.coordinateTrans(a,A,p),E=SuperMap.Plot.PlottingUtil.coordinateTrans(T,P,p),x=SuperMap.Plot.PlottingUtil.coordinateTrans(T,S,p);(f=[]).push(E),f.push(x),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,f);var j=SuperMap.Plot.PlottingUtil.coordinateTrans(T,g,p),Y=SuperMap.Plot.PlottingUtil.coordinateTrans(T,b,p);(f=[]).push(j),f.push(Y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var C=SuperMap.Plot.PlottingUtil.coordinateTrans(T,d,p),I=SuperMap.Plot.PlottingUtil.coordinateTrans(T,v,p);(f=[]).push(C),f.push(I),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f);var B=SuperMap.Plot.PlottingUtil.coordinateTrans(T,w,p),R=SuperMap.Plot.PlottingUtil.coordinateTrans(T,L,p);(f=[]).push(B),f.push(R),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);if(0==t){var n=SuperMap.Plot.PlottingUtil.distance(l[0],e)/o;this.scaleValues[0]=n}}}}]),e}();SuperMap.Plot.AlgoSymbol16202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16201=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0),l.scaleValues.push(.01)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length?(this.scaleValues.push(.02),this.scaleValues.push(.1),this.scaleValues.push(0),this.scaleValues.push(.01)):3===this.scaleValues.length&&this.scaleValues.push(.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l),this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());var o=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.paraLine(l,.5*o,!0),n=SuperMap.Plot.PlottingUtil.paraLine(l,.5*o,!1);i=SuperMap.Plot.PlottingUtil.clearSamePts(i),n=SuperMap.Plot.PlottingUtil.clearSamePts(n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);for(var r=e*this.scaleValues[1],a=e*this.scaleValues[3],s=0,p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=a,c=0;u<=p-a;u+=r,c++){s=u+a;var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,s);if(-1!==P.index){var S=new SuperMap.Geometry.Point(P.pt.x,P.pt.y+.5*o),h=[];h.push(P.pt),h.push(S),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,h),0===c?this.addScalePoint(S):1===c&&this.addScalePoint(P.pt)}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,r=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(r=SuperMap.Plot.PlottingUtil.clearSamePts(r),0==t){n=o*this.scaleValues[3];var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,n);if(-1===a.index)return;var s=2*SuperMap.Plot.PlottingUtil.distance(e,a.pt);this.scaleValues[0]=s/o}else if(1===t){n=o*this.scaleValues[3];var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,n);if(-1===p.index)return;var u=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,r);if(-1==u.index)return;for(var c=SuperMap.Plot.PlottingUtil.distance(p.pt,r[p.index+1]),P=p.index+1;P<u.index;P++)c+=SuperMap.Plot.PlottingUtil.distance(r[P],r[P+1]);c+=SuperMap.Plot.PlottingUtil.distance(r[u.index],u.pt),this.scaleValues[1]=c/o}}}}]),e}();SuperMap.Plot.AlgoSymbol16201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol16200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(.1),l.scaleValues.push(0)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var o=this.getSubSymbolScaleValue();this.isEdit||(this.scaleValues[0]=.5*o);var i=this.scaleValues[0]*e,n=SuperMap.Plot.PlottingUtil.paraLine(l,.5*i,!0),r=SuperMap.Plot.PlottingUtil.paraLine(l,.5*i,!1);n=SuperMap.Plot.PlottingUtil.clearSamePts(n),r=SuperMap.Plot.PlottingUtil.clearSamePts(r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r);for(var a=e*this.scaleValues[1],s=.5*i,p=SuperMap.Plot.PlottingUtil.polylineDistance(l),u=s,c=0;u<p;u+=a,c++){var P=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,u);if(-1!==P.index){var S=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,l[P.index+1],P.pt),h=[];h.push(S.pntLeft),h.push(S.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h),0===c?this.addScalePoint(S.pntRight,0):1===c&&this.addScalePoint(P.pt,1)}}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);for(var o=0,i=0;i<l.length-1;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var n,r=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l);if(r=SuperMap.Plot.PlottingUtil.clearSamePts(r),0==t){n=.5*(o*this.scaleValues[0]);var a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,n);if(-1===a.index)return;var s=SuperMap.Plot.PlottingUtil.distance(e,a.pt);this.scaleValues[0]=s/o}else if(1===t){n=.5*(o*this.scaleValues[0]);var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,n);if(-1===p.index)return;var u=SuperMap.Plot.PlottingUtil.projectPtOnPolyLine(e,r);if(-1==u.index)return;for(var c=SuperMap.Plot.PlottingUtil.distance(p.pt,r[p.index+1]),P=p.index+1;P<u.index;P++)c+=SuperMap.Plot.PlottingUtil.distance(r[P],r[P+1]);c+=SuperMap.Plot.PlottingUtil.distance(r[u.index],u.pt),this.scaleValues[1]=c/o}}}}]),e}();SuperMap.Plot.AlgoSymbol16200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15900=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.02),l.scaleValues.push(1),l.scaleValues.push(.05)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);for(var l=0,o=0;o<t.length-1;o++)l+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);var i=l*this.scaleValues[0],n=l*this.scaleValues[2],r=!1;r=0===this.scaleValues[0];for(var a=0,s=0;s<e.length-1;s++)a+=SuperMap.Plot.PlottingUtil.distance(e[s],e[s+1]);if(0!==a){for(var p=0;p<=a;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(-1!==u.index){var c=[],P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);r?c.push(P.pntRight):c.push(P.pntLeft);var S=p+n,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,S);if(-1!==h.index){var y=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[h.index+1],h.pt);r?c.push(y.pntLeft):c.push(y.pntRight),Math.abs(p)<1e-6&&(this.addScalePoint(c[0],0),this.addScalePoint(h.pt,1)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c)}}}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),i=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){var n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[1],o[0]),r=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n.pntRight,n.pntLeft),a=SuperMap.Plot.PlottingUtil.distance(r.projectPoint,l[0]);this.scaleValues[0]=a/i;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[0],o[1],e);this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0,P=o.length-1;c<P;c++){var S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,o[c],o[c+1]);if(S.isOnline){p=S.projectPoint,u=c;break}}if(-1===u)return;for(var h=[],y=0,f=u;y<=f;y++)h.push(o[y]);h.push(p);var g=SuperMap.Plot.PlottingUtil.polylineDistance(h);this.scaleValues[2]=g/i}}}}]),e}();SuperMap.Plot.AlgoSymbol15900=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15806=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.06),l.scaleValues.push(1),l.scaleValues.push(.1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(t.length>=this.minEditPts){this.scalePoints=[];var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=.6*i,r=this.scaleValues[2]*o,a=0===this.scaleValues[1],s=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0===s)return;for(var p=[],u=0;u<=s;u+=r){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(a?p.push(P.pntRight):p.push(P.pntLeft),!((c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.65*r)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index+1],c.pt),a?p.push(P.pntRight):p.push(P.pntLeft),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.8*r)).index<0||(p.push(c.pt),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.5*r)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt),a?p.push(P.pntLeft):p.push(P.pntRight),c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.2*r),p.push(c.pt),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+.35*r)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n,e[c.index+1],c.pt),a?p.push(P.pntRight):p.push(P.pntLeft),(c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u+r)).index<0||(P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt),a?p.push(P.pntRight):p.push(P.pntLeft),!(Math.abs(u)<=1e-6)))))))){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S),(S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S)}}}var h=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(p);SuperMap.Plot.PlottingUtil.clearSamePts(h),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o,i,n=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),r=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){i=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,n[1],n[0]),o=SuperMap.Plot.PlottingUtil.pointProjectToSegment(new SuperMap.Geometry.Point(e.x,e.y),i.pntRight,i.pntLeft);var a=SuperMap.Plot.PlottingUtil.distance(o.projectPoint,l[0])/r;this.scaleValues[0]=a;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(n[0],n[1],new SuperMap.Geometry.Point(e.x,e.y));this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0;c<n.length-1;c++)if((o=SuperMap.Plot.PlottingUtil.pointProjectToSegment(new SuperMap.Geometry.Point(e.x,e.y),n[c],n[c+1])).isOnline){p=o.projectPoint,u=c;break}if(-1===u)return void(this.scaleValues[2]=.05);for(var P=[],S=0;S<=u;S++)P.push(n[S]);P.push(p);var h=SuperMap.Plot.PlottingUtil.polylineDistance(P);this.scaleValues[2]=h/r}}}}]),e}();SuperMap.Plot.AlgoSymbol15806=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.029615),l.scaleValues.push(1),l.scaleValues.push(.12)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var s=[],p=0;p<=a;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(r?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var b=[],M=new SuperMap.Geometry.Point(.5*(f.x+g.x),.5*(f.y+g.y)),m=SuperMap.Plot.PlottingUtil.dirAngle(f,g)*SuperMap.Plot.PlottingUtil.RTOD,d=SuperMap.Plot.PlottingUtil.circlePoint(M,h,h,m+90),v=1.5*h,O=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+260),U=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+280);b.push(O),b.push(d),b.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15804=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15803=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var s=[],p=0;p<=a;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(r?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var b=[],M=[];if(y!==S-2){var m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y],s[y+1]);b.push(m.pntLeft),b.push(m.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b)}if(0!==y){var d=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y+1],s[y]);M.push(d.pntLeft),M.push(d.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15803=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15802=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var s,p=[],u=0;u<=a;u+=n){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(r?p.push(P.pntRight):p.push(P.pntLeft),Math.abs(u)<=1e-6){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S)}else Math.abs(2*n-u)<=1e-6&&((S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);for(var h=p.length,y=0,f=0;f<h-1;++f){var g=new SuperMap.Geometry.Point(p[f].x,p[f].y),b=new SuperMap.Geometry.Point(p[f+1].x,p[f+1].y);y=.3*SuperMap.Plot.PlottingUtil.distance(g,b);var M=[],m=[],d=[],v=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.35,p[f],p[f+1]);s=new SuperMap.Geometry.Point((p[f].x+p[f+1].x)/2,(p[f].y+p[f+1].y)/2);var O=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],s);m.push(O.pntLeft,O.pntRight);var U=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],v);M.push(U.pntLeft,U.pntRight),d.push(new SuperMap.Geometry.Point(2*s.x-U.pntLeft.x,2*s.y-U.pntLeft.y)),d.push(new SuperMap.Geometry.Point(2*s.x-U.pntRight.x,2*s.y-U.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15802=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15801=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var s=new SuperMap.Geometry.Point(0,0),p=[],u=0;u<=a;u+=n){var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(c.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[c.index+1],c.pt);if(r?p.push(P.pntRight):p.push(P.pntLeft),Math.abs(u)<=1e-6){this.scalePoints=[];var S=new SuperMap.Geometry.Point(p[0].x,p[0].y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S)}else Math.abs(2*n-u)<=1e-6&&((S=new SuperMap.Geometry.Point(c.pt.x,c.pt.y)).isScalePoint=!0,S.tag=1,this.scalePoints.push(S));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);for(var h=p.length,y=0,f=0;f<h-1;++f){var g=new SuperMap.Geometry.Point(p[f].x,p[f].y),b=new SuperMap.Geometry.Point(p[f+1].x,p[f+1].y);y=.3*SuperMap.Plot.PlottingUtil.distance(g,b);var M=[],m=[],d=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.35,p[f],p[f+1]);s=new SuperMap.Geometry.Point((p[f].x+p[f+1].x)/2,(p[f].y+p[f+1].y)/2);var v=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*y,p[f],d);M.push(v.pntLeft),M.push(v.pntRight),m.push(new SuperMap.Geometry.Point(2*s.x-v.pntLeft.x,2*s.y-v.pntLeft.y)),m.push(new SuperMap.Geometry.Point(2*s.x-v.pntRight.x,2*s.y-v.pntRight.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15801=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15800=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.04),l.scaleValues.push(1),l.scaleValues.push(.12)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var l=this.scaleValues[0],o=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=l*o,n=this.scaleValues[2]*o*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var s=[],p=0;p<=a;p+=n){var u=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,p);if(!(u.index<0)){var c=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[u.index+1],u.pt);if(r?s.push(c.pntRight):s.push(c.pntLeft),Math.abs(p)<=1e-6){this.scalePoints=[];var P=new SuperMap.Geometry.Point(s[0].x,s[0].y);P.isScalePoint=!0,P.tag=0,this.scalePoints.push(P)}else Math.abs(2*n-p)<=1e-6&&((P=new SuperMap.Geometry.Point(u.pt.x,u.pt.y)).isScalePoint=!0,P.tag=1,this.scalePoints.push(P));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);for(var S=s.length,h=0,y=0;y<S-1;++y){var f=new SuperMap.Geometry.Point(s[y].x,s[y].y),g=new SuperMap.Geometry.Point(s[y+1].x,s[y+1].y);h=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var b=[],M=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(.5,s[y],s[y+1]),m=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*h,s[y],M);b.push(m.pntLeft),b.push(m.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b)}this.finish()}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;var o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),i=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){var n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(1,o[1],o[0]),r=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n.pntRight,n.pntLeft),a=SuperMap.Plot.PlottingUtil.distance(r.projectPoint,l[0]);this.scaleValues[0]=a/i;var s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(o[0],o[1],e);this.scaleValues[1]=s?1:0}else{for(var p,u=-1,c=0,P=o.length-1;c<P;c++){var S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,o[c],o[c+1]);if(S.isOnline){p=S.projectPoint,u=c;break}}if(-1===u)return void(this.scaleValues[2]=.05);for(var h=[],y=0,f=u;y<=f;y++)h.push(o[y]);h.push(p);var g=SuperMap.Plot.PlottingUtil.polylineDistance(h);this.scaleValues[2]=g/i}}}}]),e}();SuperMap.Plot.AlgoSymbol15800=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15202=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(parseFloat(.1732)),l.scaleValues.push(.1),l.scaleValues.push(1)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var e=new SuperMap.Geometry.Point(t[0].x,t[0].y),l=new SuperMap.Geometry.Point(t[1].x,t[1].y),o=SuperMap.Plot.PlottingUtil.distance(e,l),i=this.scaleValues[0]*o,n=this.scaleValues[1]*o,r=this.scaleValues[2],a=null;if(1===r){var s=SuperMap.Plot.PlottingUtil.linePnt(l,e,o+i);a=new SuperMap.Geometry.Point(s.x,s.y)}else s=SuperMap.Plot.PlottingUtil.linePnt(l,e,o-i),a=new SuperMap.Geometry.Point(s.x,s.y);var p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.5*n,t[0],a),u=[];u.push(p.pntRight),u.push(t[0]),u.push(p.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);var c=[],P=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);if(1===r){var S=new SuperMap.Geometry.Point(2*P.x-p.pntLeft.x,2*P.y-p.pntLeft.y);c.push(S),c.push(t[1]);var h=new SuperMap.Geometry.Point(2*P.x-p.pntRight.x,2*P.y-p.pntRight.y);c.push(h)}else S=new SuperMap.Geometry.Point(2*P.x-p.pntRight.x,2*P.y-p.pntRight.y),c.push(S),c.push(t[1]),h=new SuperMap.Geometry.Point(2*P.x-p.pntLeft.x,2*P.y-p.pntLeft.y),c.push(h);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol15202=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15201=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol15201=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol15200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.05),l.scaleValues.push(0),l.scaleValues.push(.185)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var l=0,o=0,i=e.length-1;o<i;o++)l+=SuperMap.Plot.PlottingUtil.distance(e[o],e[o+1]);for(var n=0,r=0,a=t.length-1;r<a;r++)n+=SuperMap.Plot.PlottingUtil.distance(t[r],t[r+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());for(var s=this.scaleValues[0]*n,p=this.scaleValues[1],u=this.scaleValues[2]*n,c=.3*u,P=u;P<l;P+=u){var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e);if(-1===S.index)return void this.finish();var h=P+c,y=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(h,e);if(-1===y.index)return void this.finish();var f=[],g=[];f.push(S.pts);var b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[S.index],S.pts);0===p?f.push(new SuperMap.Geometry.Point(b.pntLeft.x,b.pntLeft.y)):f.push(new SuperMap.Geometry.Point(b.pntRight.x,b.pntRight.y)),g.push(y.pts);var M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[y.index],y.pts);if(0===p?g.push(new SuperMap.Geometry.Point(M.pntLeft.x,M.pntLeft.y)):g.push(new SuperMap.Geometry.Point(M.pntRight.x,M.pntRight.y)),u===P){this.scalePoints=[];var m=new SuperMap.Geometry.Point(f[1].x,f[1].y);m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m),(m=new SuperMap.Geometry.Point(f[0].x,f[0].y)).isScalePoint=!0,m.tag=1,this.scalePoints.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;for(var o=0,i=0,n=l.length-1;i<n;i++)o+=SuperMap.Plot.PlottingUtil.distance(l[i],l[i+1]);var r=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),a=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,o*this.scaleValues[2]);if(-1===s.index)return;var p=SuperMap.Plot.PlottingUtil.distance(s.pt,a)/o,u=SuperMap.Plot.PlottingUtil.pointIsRightToLine(r[0],r[1],e);this.scaleValues[1]=u?1:0,this.scaleValues[0]=p}else if(1===t){for(var c=0,P=-1,S=[],h=0,y=r.length-1;h<y;h++){var f=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,r[h],r[h+1]);if(f.isOnline){var g=SuperMap.Plot.PlottingUtil.distance(f.projectPoint,this.controlPoints[1]);0==c?(c=g,P=h,S=e):g<c&&(c=g,P=h,S=e)}}if(-1==P)return;for(var b=0,M=0,m=P-1;M<m;M++)b+=SuperMap.Plot.PlottingUtil.distance(r[M],r[M+1]);var d=(b+=SuperMap.Plot.PlottingUtil.distance(S,r[P]))/o;d>.7&&(d=.7),this.scaleValues[2]=d}}}}]),e}();SuperMap.Plot.AlgoSymbol15200=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol13700=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e;if(2===t.length)e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,t);else if(3===t.length){var l=new SuperMap.Geometry.Point(t[0].x,t[0].y),o=new SuperMap.Geometry.Point(t[1].x,t[1].y),i=new SuperMap.Geometry.Point(t[2].x,t[2].y),n=SuperMap.Plot.PlottingUtil.distance(o,i);if(0>=n)return;this.scaleValues=[];var r=SuperMap.Plot.PlottingUtil.distance(l,o)/n;this.scaleValues.push(r);var a=180*SuperMap.Plot.PlottingUtil.radian(l,o)/Math.PI;a>90?a-=90:a=270+a,this.scaleValues.push(a*(Math.PI/180));var s=180*SuperMap.Plot.PlottingUtil.radian(l,i)/Math.PI;s>90?s-=90:s=270+s,this.scaleValues.push(s*(Math.PI/180)),e=this.scaleValues[0]*n;var p=this.scaleValues[1]*(180/Math.PI)+90,u=this.scaleValues[2]*(180/Math.PI)+90;p<u&&(p+=360);for(var c,P=[],S=p;S>=u;S-=4)c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,S),P.push(c);S!=u&&(c=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,u),P.push(c)),this.controlPoints[2]=SuperMap.Plot.PlottingUtil.circlePoint(this.controlPoints[0],e,e,u),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P)}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol13700=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12502=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol12500),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.03));for(var e=0,l=0;l<t.length-1;l++)e+=SuperMap.Plot.PlottingUtil.distance(t[l],t[l+1]);var o=this.scaleValues[0];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var i=this.scaleValues[1]*e,n=o*e,r=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,n);if(-1!==r.index){for(var a,s=r.pt,p=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[s,new SuperMap.Geometry.Point(s.x+i,s.y)]),u=0;u<t.length-1;u++){var c,P=t[u];a=t[u+1];var S=SuperMap.Plot.PlottingUtil.distance(s,P),h=SuperMap.Plot.PlottingUtil.distance(s,a);if(!(S<i&&h<i))if(S>i&&h<i||S<i&&h>i){var y;y=S>i?P:a,(c=this.getLineAddCircleIntersectPts(P,a,p)).length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c[0],y])}else{var f=SuperMap.Plot.PlottingUtil.projectPoint(s,P,a);if(SuperMap.Plot.PlottingUtil.distance(s,f)>=i)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,a]);else if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(f,P,a)){if((c=this.getLineAddCircleIntersectPts(P,a,p)).length>0){c.unshift(P),c.push(a);for(var g=0;g<c.length-1;g++)this.isLineInCircle(c[g],c[g+1],s,i)||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[c[g],c[g+1]])}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P,a])}}var b=0;c&&(b=SuperMap.Plot.PlottingUtil.radian(s,c[c.length-1])*SuperMap.Plot.PlottingUtil.RTOD);var M=[];a=SuperMap.Plot.PlottingUtil.circlePoint(s,-i,-i,b),M.push(a,s),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M);var m=SuperMap.Plot.PlottingUtil.radian(a,s)*SuperMap.Plot.PlottingUtil.RTOD,d=[],v=SuperMap.Plot.PlottingUtil.circlePoint(s,.8*i,.8*i,m+170),O=SuperMap.Plot.PlottingUtil.circlePoint(s,.8*i,.8*i,m-170);d.push(v),d.push(O),d.push(s);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,d,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[s,new SuperMap.Geometry.Point(s.x+i,s.y)]),this.addScalePoint(s,0),this.addScalePoint(new SuperMap.Geometry.Point(s.x+i,s.y),1),this.finish()}}}},{key:"isLineInCircle",value:function(t,e,l,o){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return o>SuperMap.Plot.PlottingUtil.distance(i,l)}},{key:"getLineAddCircleIntersectPts",value:function(t,e,l){var o=l.slice();o[0].x===o[o.length-1].x&&o[0].y===o[o.length-1].y||o.push(o[0]);for(var i,n=[],r=0;r<o.length-1;r++){var a=o[r],s=o[r+1],p=SuperMap.Plot.PlottingUtil.intersectLines(t,e,a,s);p.isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t,e)&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,a,s)&&n.push(p.intersectPoint)}for(var u=0;u<n.length-1;u++)SuperMap.Plot.PlottingUtil.isSamePt(n[u],n[u+1])&&(n.splice(u,1),u--);if(t.x>e.x)for(var c=0;c<n.length&&c!=n.length-1;c++)n[c].x<n[c+1].x&&(i=n[c],n[c]=n[c+1],n[c+1]=i);else if(t.x<e.x)for(var P=0;P<n.length&&P!=n.length-1;P++)n[P].x>n[P+1].x&&(i=n[P],n[P]=n[P+1],n[P+1]=i);else if(t.y>e.y)for(var S=0;S<n.length&&S!=n.length-1;S++)n[S].y<n[S+1].y&&(i=n[S],n[S]=n[S+1],n[S+1]=i);else if(t.y<e.y)for(var h=0;h<n.length&&h!=n.length-1;h++)n[h].y>n[h+1].y&&(i=n[h],n[h]=n[h+1],n[h+1]=i);return n}}]),e}();SuperMap.Plot.AlgoSymbol12502=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12501=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.1),l.scaleValues.push(.03),l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){if(!this.isEdit){var e=this.getSubSymbolScaleValue();this.scaleValues[0]=e,this.scaleValues[1]=.5*e,this.scaleValues[3]=.5*e}var l=this.scaleValues[0],o=this.scaleValues[1],i=this.scaleValues[2],n=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);n=SuperMap.Plot.PlottingUtil.clearSamePts(n);var r=this.GetCurvePts(t,l,o);if(0!==r.pt.length){var a=SuperMap.Plot.PlottingUtil.polylineDistance(n)*i,s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(n,a);if(-1!==s.index){for(var p=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[3],u=[],c=0;c<360;c+=12)u.push(SuperMap.Plot.PlottingUtil.circlePoint(s.pt,p,p,c));u.push(u[0]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u);for(var P=[],S=[],h=0;h<r.pt.length;h++)SuperMap.Plot.PlottingUtil.ptIsInPolygon(u,r.pt[h])?S.length>1&&(P.push(S),S=[]):S.push(r.pt[h]);S.length>1&&P.push(S);for(var y=0;y<P.length;y++)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P[y]);var f=new SuperMap.Geometry.Point(r.pt[0].x,r.pt[0].y);f.isScalePoint=!0,f.tag=0,this.scalePoints.push(f);var g=new SuperMap.Geometry.Point(r.scalePt.x,r.scalePt.y);g.isScalePoint=!0,g.tag=1,this.scalePoints.push(g);var b=new SuperMap.Geometry.Point(s.pt.x,s.pt.y);b.isScalePoint=!0,b.tag=2,this.scalePoints.push(b);var M=SuperMap.Plot.PlottingUtil.circlePoint(new SuperMap.Geometry.Point(s.pt.x,s.pt.y),p,p,0),m=new SuperMap.Geometry.Point(M.x,M.y);m.isScalePoint=!0,m.tag=3,this.scalePoints.push(m),this.finish()}else this.finish()}else this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(null!=e&&!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((l=SuperMap.Plot.PlottingUtil.clearSamePts(l)).length<this.minEditPts)return;if(4>this.scaleValues.length)return;var o,i,n,r,a,s=SuperMap.Plot.PlottingUtil.polylineDistance(l),p=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(l),u=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var c=new SuperMap.Geometry.Point(l[0].x,l[0].y),P=SuperMap.Plot.PlottingUtil.distance(c,u);i=2*P/s,this.scaleValues[1]=i}else if(1===t)c=new SuperMap.Geometry.Point(l[0].x,l[0].y),o=(P=SuperMap.Plot.PlottingUtil.distance(c,u))/s,this.scaleValues[0]=o;else if(2==t){var S=-1,h=0;a=new SuperMap.Geometry.Point(0,0),o=this.scaleValues[0],i=this.scaleValues[1];for(var y=0;y<p.length-1;y++){var f=p[y],g=p[y+1],b=SuperMap.Plot.PlottingUtil.projectPoint(u,f,g);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(b,f,g)){var M=SuperMap.Plot.PlottingUtil.distance(u,b);-1==S?(S=y,a=b,h=M):h>M&&(S=y,a=b,h=M)}}if(-1==S||S>p.length-1)return;r=SuperMap.Plot.PlottingUtil.polylineDistance(p);for(var m=[],d=0;d<S;d++)m.push(p[d]);m.push(a);var v=SuperMap.Plot.PlottingUtil.polylineDistance(m);if(v<0||v>r)return;n=v/r,this.scaleValues[2]=n}else if(3===t){o=this.scaleValues[0],i=this.scaleValues[1],n=this.scaleValues[2];var O=(r=SuperMap.Plot.PlottingUtil.polylineDistance(p))*n;if(-1===(a=SuperMap.Plot.PlottingUtil.findPointInPolyLine(p,O)).index)return;var U=SuperMap.Plot.PlottingUtil.distance(a.pt,e)/s;U>.4&&(U=.4),this.scaleValues[3]=U}}}},{key:"GetCurvePts",value:function(t,e,l){for(var o,i=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t),n=SuperMap.Plot.PlottingUtil.polylineDistance(i),r=n*e,a=n*l/2,s=[],p=[],u=i[0],c=!1,P=i[0],S=1;S<i.length;S++){var h=i[S],y=SuperMap.Plot.PlottingUtil.distance(u,h);if(!(y<r&&S!==i.length-1)){for(var f,g=parseInt(y/r),b=0;b<g;b++){f=SuperMap.Plot.PlottingUtil.linePnt(u,h,r),c||(o=f,c=!0);var M=this.GetCosPts2D(u,f,r,a);s=p.length>1&&0===b?this.ClearCurvePts2D(P,u,h,p,M,s):s.concat(M),p=(p=[]).concat(M),P=u,u=f}S===i.length-1&&(f=i[i.length-1],M=this.GetCosPts2D(u,f,r,a),s=p.length>1&&M.length>1?this.ClearCurvePts2D(P,u,h,p,M,s):s.concat(M))}}return{pt:s,scalePt:o}}},{key:"GetCosPts2D",value:function(t,e,l,o){for(var i=[],n=SuperMap.Plot.PlottingUtil.distance(t,e),r=l/30,a=0;a<n;a+=r){var s=a*(2*Math.PI/l),p=o*Math.cos(s),u=new SuperMap.Geometry.Point(a,p),c=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,P=SuperMap.Plot.PlottingUtil.coordinateTrans(t,u,c);i.push(P)}return i}},{key:"ClearCurvePts2D",value:function(t,e,l,o,i,n){for(var r=180*SuperMap.Plot.PlottingUtil.radian(e,l)/Math.PI,a=180*SuperMap.Plot.PlottingUtil.radian(e,t)/Math.PI-r;a<=0;)a+=360;var s=a/2,p=l;p=SuperMap.Plot.PlottingUtil.rotateAngle(e,s*Math.PI/180,p);for(var u=SuperMap.Plot.PlottingUtil.linePnt(e,p,1),c=0,P=0;P<o.length;P++)if(SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,o[P])){c=P;break}if(0!=c)for(var S=0;S<o.length-c;S++)n.slice(S,n.length-1);for(var h=0;h<i.length;h++)SuperMap.Plot.PlottingUtil.pointIsRightToLine(e,u,i[h])&&n.push(i[h]);return n}}]),e}();SuperMap.Plot.AlgoSymbol12501=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var l=0;l<e.length;l++){var o=e[l];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,l,o){return l&&t(e.prototype,l),o&&t(e,o),e}}();var i=e.AlgoSymbol12500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===l.scaleValues.length&&(l.scaleValues.push(.5),l.scaleValues.push(.03)),l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),o(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0===this.scaleValues.length&&(this.scaleValues.push(.5),this.scaleValues.push(.03));var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=this.scaleValues[0];this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());var o=this.scaleValues[1]*e,i=l*e,n=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,i);if(-1!==n.index){for(var r=n.pt,a=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[r,new SuperMap.Geometry.Point(r.x+o,r.y)]),s=0;s<t.length-1;s++){var p,u=t[s],c=t[s+1],P=SuperMap.Plot.PlottingUtil.distance(r,u),S=SuperMap.Plot.PlottingUtil.distance(r,c);if(!(P<o&&S<o))if(P>o&&S<o||P<o&&S>o){var h;h=P>o?u:c,(p=this.getLineAddCircleIntersectPts(u,c,a)).length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p[0],h])}else{var y=SuperMap.Plot.PlottingUtil.projectPoint(r,u,c);if(SuperMap.Plot.PlottingUtil.distance(r,y)>=o)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c]);else if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(y,u,c)){if((p=this.getLineAddCircleIntersectPts(u,c,a)).length>0){p.unshift(u),p.push(c);for(var f=0;f<p.length-1;f++)this.isLineInCircle(p[f],p[f+1],r,o)||this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p[f],p[f+1]])}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,c])}}this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[r,new SuperMap.Geometry.Point(r.x+o,r.y)]),this.scalePoints=[];var g=r;g.isScalePoint=!0,g.tag=0,this.scalePoints.push(g);var b=new SuperMap.Geometry.Point(r.x+o,r.y);b.isScalePoint=!0,b.tag=1,this.scalePoints.push(b),this.finish()}}}},{key:"isLineInCircle",value:function(t,e,l,o){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return o>SuperMap.Plot.PlottingUtil.distance(i,l)}},{key:"getLineAddCircleIntersectPts",value:function(t,e,l){var o=l.slice();o[0].x===o[o.length-1].x&&o[0].y===o[o.length-1].y||o.push(o[0]);for(var i,n=[],r=0;r<o.length-1;r++){var a=o[r],s=o[r+1],p=SuperMap.Plot.PlottingUtil.intersectLines(t,e,a,s);p.isIntersectLines&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,t,e)&&SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.intersectPoint,a,s)&&n.push(p.intersectPoint)}for(var u=0;u<n.length-1;u++)SuperMap.Plot.PlottingUtil.isSamePt(n[u],n[u+1])&&(n.splice(u,1),u--);if(t.x>e.x)for(var c=0;c<n.length&&c!=n.length-1;c++)n[c].x<n[c+1].x&&(i=n[c],n[c]=n[c+1],n[c+1]=i);else if(t.x<e.x)for(var P=0;P<n.length&&P!=n.length-1;P++)n[P].x>n[P+1].x&&(i=n[P],n[P]=n[P+1],n[P+1]=i);else if(t.y>e.y)for(var S=0;S<n.length&&S!=n.length-1;S++)n[S].y<n[S+1].y&&(i=n[S],n[S]=n[S+1],n[S+1]=i);else if(t.y<e.y)for(var h=0;h<n.length&&h!=n.length-1;h++)n[h].y>n[h+1].y&&(i=n[h],n[h]=n[h+1],n[h+1]=i);return n}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var l=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),o=SuperMap.Plot.PlottingUtil.polylineDistance(l);if(0===t){for(var i=0,n=-1,r=null,a=0;a<l.length-1;a++){var s=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l[a],l[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(s.projectPoint,l[a],l[a+1])){var p=SuperMap.Plot.PlottingUtil.distance(s.projectPoint,e);0==i?(i=p,n=a,r=s.projectPoint):p<i&&(i=p,n=a,r=s.projectPoint)}}if(-1==n)return;for(var u=0,c=0;c<n;c++)u+=SuperMap.Plot.PlottingUtil.distance(l[c],l[c+1]);var P=(u+=SuperMap.Plot.PlottingUtil.distance(r,l[n]))/o;P>1&&(P=1),this.scaleValues[0]=P}if(1===t){var S=this.scaleValues[0]*o,h=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,S);if(-1===h.index)return;var y=SuperMap.Plot.PlottingUtil.distance(h.pt,e)/o;y>.4&&(y=.4),this.scaleValues[1]=y}}}}]),e}();SuperMap.Plot.AlgoSymbol12500=i},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbol6030601=e.AlgoSymbol6031001=e.AlgoSymbol6030501=e.AlgoSymbol6030107=e.AlgoSymbol6030106=e.AlgoSymbol6030105=e.AlgoSymbol6030104=e.AlgoSymbol6030103=e.AlgoSymbol6030102=e.AlgoSymbol6030101=e.AlgoSymbol5020802=e.AlgoSymbol5035205=e.AlgoSymbol5035203=e.AlgoSymbol5035202=e.AlgoSymbol5035201=e.AlgoSymbol5034801=e.AlgoSymbol5034203=e.AlgoSymbol5034202=e.AlgoSymbol5034201=e.AlgoSymbol5033803=e.AlgoSymbol5033802=e.AlgoSymbol5033001=e.AlgoSymbol5032003=e.AlgoSymbol5031401=e.AlgoSymbol5030301=e.AlgoSymbol5022301=e.AlgoSymbol5022002=e.AlgoSymbol5022001=e.AlgoSymbol5021803=e.AlgoSymbol5010401=e.AlgoSymbol4030401=e.AlgoSymbol4030303=e.AlgoSymbol4030302=e.AlgoSymbol4030301=e.AlgoSymbol3002501=e.AlgoSymbol3002005=e.AlgoSymbol3002004=e.AlgoSymbol3002002=e.AlgoSymbol3002001=e.AlgoSymbol3001302=e.AlgoSymbol3001301=e.AlgoSymbol3001105=e.AlgoSymbol3001104=e.AlgoSymbol3001103=e.AlgoSymbol3001102=e.AlgoSymbol3001101=e.AlgoSymbol3000809=e.AlgoSymbol3000808=e.AlgoSymbol3000807=e.AlgoSymbol3000806=e.AlgoSymbol3000805=e.AlgoSymbol3000804=e.AlgoSymbol3000803=e.AlgoSymbol3000802=e.AlgoSymbol3000801=e.AlgoSymbol2122301=e.AlgoSymbol2122101=e.AlgoSymbol2121602=e.AlgoSymbol2121601=e.AlgoSymbol2121507=e.AlgoSymbol2121506=e.AlgoSymbol2121504=e.AlgoSymbol2092101=e.AlgoSymbol2091503=e.AlgoSymbol60310=e.AlgoSymbol60306=e.AlgoSymbol60305=e.AlgoSymbol60304=e.AlgoSymbol2121505=e.AlgoSymbol60301=e.AlgoSymbol60205=e.AlgoSymbol60203=e.AlgoSymbol50352=e.AlgoSymbol50342=e.AlgoSymbol50308=e.AlgoSymbol50226=e.AlgoSymbol50225=e.AlgoSymbol50223=e.AlgoSymbol50108=e.AlgoSymbol40304=e.AlgoSymbol40302=e.AlgoSymbol40104=e.AlgoSymbol30026=e.AlgoSymbol30025=e.AlgoSymbol30020=e.AlgoSymbol30014=e.AlgoSymbol30013=e.AlgoSymbol30012=void 0,e.AlgoSymbol30011=e.AlgoSymbol30010=e.AlgoSymbol30009=e.AlgoSymbol30008=e.AlgoSymbol21221=e.AlgoSymbol21216=e.AlgoSymbol3020901=e.AlgoSymbol3010304=e.AlgoSymbol3010303=e.AlgoSymbol3010301=e.AlgoSymbol40100=e.AlgoSymbol37700=e.AlgoSymbol35200=e.AlgoSymbol35000=e.AlgoSymbol44100=e.AlgoSymbol42200=e.AlgoSymbol41202=e.AlgoSymbol41201=e.AlgoSymbol41200=e.AlgoSymbol41100=e.AlgoSymbol40101=e.AlgoSymbol40900=e.AlgoSymbol32300=e.AlgoSymbol31401=e.AlgoSymbol31400=e.AlgoSymbol31301=e.AlgoSymbol31300=e.AlgoSymbol30800=e.AlgoSymbol30201=e.AlgoSymbol30200=e.AlgoSymbol30100=e.AlgoSymbol30002=e.AlgoSymbol30000=e.AlgoSymbol29800=e.AlgoSymbol28301=e.AlgoSymbol28300=e.AlgoSymbol28200=e.AlgoSymbol28100=e.AlgoSymbol28000=e.AlgoSymbol26601=e.AlgoSymbol26600=e.AlgoSymbol26500=e.AlgoSymbol25400=e.AlgoSymbol25000=e.AlgoSymbol25200=e.AlgoSymbol29103=e.AlgoSymbol29101=e.AlgoSymbol29000=e.AlgoSymbol28900=e.AlgoSymbol23902=e.AlgoSymbol23901=e.AlgoSymbol23800=e.AlgoSymbol23500=e.AlgoSymbol23400=e.AlgoSymbol22000=e.AlgoSymbol21800=e.AlgoSymbol21600=e.AlgoSymbol21504=e.AlgoSymbol21503=e.AlgoSymbol21502=e.AlgoSymbol21501=e.AlgoSymbol21900=e.AlgoSymbol21500=e.AlgoSymbol21401=e.AlgoSymbol25201=e.AlgoSymbol42500=e.AlgoSymbol26501=e.AlgoSymbol20301=e.AlgoSymbol20300=e.AlgoSymbol17806=e.AlgoSymbol17805=e.AlgoSymbol17804=e.AlgoSymbol17803=e.AlgoSymbol17802=e.AlgoSymbol17801=e.AlgoSymbol17800=e.AlgoSymbol17704=e.AlgoSymbol17703=e.AlgoSymbol17700=e.AlgoSymbol17501=e.AlgoSymbol17500=e.AlgoSymbol16700=e.AlgoSymbol16203=e.AlgoSymbol16202=e.AlgoSymbol16201=e.AlgoSymbol16200=e.AlgoSymbol15900=e.AlgoSymbol15806=e.AlgoSymbol15804=e.AlgoSymbol15803=e.AlgoSymbol15802=e.AlgoSymbol15801=e.AlgoSymbol15800=e.AlgoSymbol15202=e.AlgoSymbol15201=e.AlgoSymbol15200=e.AlgoSymbol13700=e.AlgoSymbol12502=e.AlgoSymbol12501=e.AlgoSymbol12500=void 0;var o=l(187),i=l(186),n=l(185),r=l(184),a=l(183),s=l(182),p=l(181),u=l(180),c=l(179),P=l(178),S=l(177),h=l(176),y=l(175),f=l(174),g=l(173),b=l(172),M=l(171),m=l(170),d=l(169),v=l(168),O=l(167),U=l(166),w=l(165),L=l(164),_=l(163),V=l(162),A=l(161),T=l(160),E=l(159),x=l(158),j=l(157),Y=l(156),C=l(155),I=l(154),B=l(153),R=l(152),G=l(151),N=l(150),D=l(149),k=l(148),z=l(147),F=l(146),K=l(145),W=l(144),J=l(143),q=l(142),Z=l(141),X=l(140),H=l(139),Q=l(138),$=l(137),tt=l(136),et=l(135),lt=l(134),ot=l(133),it=l(132),nt=l(131),rt=l(130),at=l(129),st=l(128),pt=l(127),ut=l(126),ct=l(125),Pt=l(124),St=l(123),ht=l(122),yt=l(121),ft=l(120),gt=l(119),bt=l(118),Mt=l(117),mt=l(116),dt=l(115),vt=l(114),Ot=l(113),Ut=l(112),wt=l(111),Lt=l(110),_t=l(109),Vt=l(108),At=l(107),Tt=l(106),Et=l(105),xt=l(104),jt=l(103),Yt=l(102),Ct=l(101),It=l(100),Bt=l(99),Rt=l(98),Gt=l(97),Nt=l(96),Dt=l(95),kt=l(94),zt=l(93),Ft=l(92),Kt=l(91),Wt=l(90),Jt=l(89),qt=l(88),Zt=l(87),Xt=l(86),Ht=l(85),Qt=l(84),$t=l(83),te=l(82),ee=l(81),le=l(80),oe=l(79),ie=l(78),ne=l(77),re=l(76),ae=l(75),se=l(74),pe=l(73),ue=l(72),ce=l(71),Pe=l(70),Se=l(69),he=l(68),ye=l(67),fe=l(66),ge=l(65),be=l(64),Me=l(63),me=l(62),de=l(61),ve=l(60),Oe=l(59),Ue=l(58),we=l(57),Le=l(56),_e=l(55),Ve=l(54),Ae=l(53),Te=l(52),Ee=l(51),xe=l(50),je=l(49),Ye=l(48),Ce=l(47),Ie=l(46),Be=l(45),Re=l(44),Ge=l(43),Ne=l(42),De=l(41),ke=l(40),ze=l(39),Fe=l(38),Ke=l(37),We=l(36),Je=l(35),qe=l(34),Ze=l(33),Xe=l(32),He=l(31),Qe=l(30),$e=l(29),tl=l(28),el=l(27),ll=l(26),ol=l(25),il=l(24),nl=l(23),rl=l(22),al=l(21),sl=l(20),pl=l(19),ul=l(18),cl=l(17),Pl=l(16),Sl=l(15),hl=l(14),yl=l(13),fl=l(12),gl=l(11),bl=l(10),Ml=l(9),ml=l(8),dl=l(7),vl=l(6),Ol=l(5),Ul=l(4),wl=l(3),Ll=l(2),_l=l(1),Vl=l(0);e.AlgoSymbol12500=o.AlgoSymbol12500,e.AlgoSymbol12501=i.AlgoSymbol12501,e.AlgoSymbol12502=n.AlgoSymbol12502,e.AlgoSymbol13700=r.AlgoSymbol13700,e.AlgoSymbol15200=a.AlgoSymbol15200,e.AlgoSymbol15201=s.AlgoSymbol15201,e.AlgoSymbol15202=p.AlgoSymbol15202,e.AlgoSymbol15800=u.AlgoSymbol15800,e.AlgoSymbol15801=c.AlgoSymbol15801,e.AlgoSymbol15802=P.AlgoSymbol15802,e.AlgoSymbol15803=S.AlgoSymbol15803,e.AlgoSymbol15804=h.AlgoSymbol15804,e.AlgoSymbol15806=y.AlgoSymbol15806,e.AlgoSymbol15900=f.AlgoSymbol15900,e.AlgoSymbol16200=g.AlgoSymbol16200,e.AlgoSymbol16201=b.AlgoSymbol16201,e.AlgoSymbol16202=M.AlgoSymbol16202,e.AlgoSymbol16203=m.AlgoSymbol16203,e.AlgoSymbol16700=d.AlgoSymbol16700,e.AlgoSymbol17500=v.AlgoSymbol17500,e.AlgoSymbol17501=O.AlgoSymbol17501,e.AlgoSymbol17700=U.AlgoSymbol17700,e.AlgoSymbol17703=w.AlgoSymbol17703,e.AlgoSymbol17704=L.AlgoSymbol17704,e.AlgoSymbol17800=_.AlgoSymbol17800,e.AlgoSymbol17801=V.AlgoSymbol17801,e.AlgoSymbol17802=A.AlgoSymbol17802,e.AlgoSymbol17803=T.AlgoSymbol17803,e.AlgoSymbol17804=E.AlgoSymbol17804,e.AlgoSymbol17805=x.AlgoSymbol17805,e.AlgoSymbol17806=j.AlgoSymbol17806,e.AlgoSymbol20300=Y.AlgoSymbol20300,e.AlgoSymbol20301=C.AlgoSymbol20301,e.AlgoSymbol26501=I.AlgoSymbol26501,e.AlgoSymbol42500=B.AlgoSymbol42500,e.AlgoSymbol25201=R.AlgoSymbol25201,e.AlgoSymbol21401=G.AlgoSymbol21401,e.AlgoSymbol21500=N.AlgoSymbol21500,e.AlgoSymbol21900=D.AlgoSymbol21900,e.AlgoSymbol21501=k.AlgoSymbol21501,e.AlgoSymbol21502=z.AlgoSymbol21502,e.AlgoSymbol21503=F.AlgoSymbol21503,e.AlgoSymbol21504=K.AlgoSymbol21504,e.AlgoSymbol21600=W.AlgoSymbol21600,e.AlgoSymbol21800=J.AlgoSymbol21800,e.AlgoSymbol22000=q.AlgoSymbol22000,e.AlgoSymbol23400=Z.AlgoSymbol23400,e.AlgoSymbol23500=X.AlgoSymbol23500,e.AlgoSymbol23800=H.AlgoSymbol23800,e.AlgoSymbol23901=Q.AlgoSymbol23901,e.AlgoSymbol23902=$.AlgoSymbol23902,e.AlgoSymbol28900=tt.AlgoSymbol28900,e.AlgoSymbol29000=et.AlgoSymbol29000,e.AlgoSymbol29101=lt.AlgoSymbol29101,e.AlgoSymbol29103=ot.AlgoSymbol29103,e.AlgoSymbol25200=it.AlgoSymbol25200,e.AlgoSymbol25000=nt.AlgoSymbol25000,e.AlgoSymbol25400=rt.AlgoSymbol25400,e.AlgoSymbol26500=at.AlgoSymbol26500,e.AlgoSymbol26600=st.AlgoSymbol26600,e.AlgoSymbol26601=pt.AlgoSymbol26601,e.AlgoSymbol28000=ut.AlgoSymbol28000,e.AlgoSymbol28100=ct.AlgoSymbol28100,e.AlgoSymbol28200=Pt.AlgoSymbol28200,e.AlgoSymbol28300=St.AlgoSymbol28300,e.AlgoSymbol28301=ht.AlgoSymbol28301,e.AlgoSymbol29800=yt.AlgoSymbol29800,e.AlgoSymbol30000=ft.AlgoSymbol30000,e.AlgoSymbol30002=gt.AlgoSymbol30002,e.AlgoSymbol30100=bt.AlgoSymbol30100,e.AlgoSymbol30200=Mt.AlgoSymbol30200,e.AlgoSymbol30201=mt.AlgoSymbol30201,e.AlgoSymbol30800=dt.AlgoSymbol30800,e.AlgoSymbol31300=vt.AlgoSymbol31300,e.AlgoSymbol31301=Ot.AlgoSymbol31301,e.AlgoSymbol31400=Ut.AlgoSymbol31400,e.AlgoSymbol31401=wt.AlgoSymbol31401,e.AlgoSymbol32300=Lt.AlgoSymbol32300,e.AlgoSymbol40900=_t.AlgoSymbol40900,e.AlgoSymbol40101=Vt.AlgoSymbol40101,e.AlgoSymbol41100=At.AlgoSymbol41100,e.AlgoSymbol41200=Tt.AlgoSymbol41200,e.AlgoSymbol41201=Et.AlgoSymbol41201,e.AlgoSymbol41202=xt.AlgoSymbol41202,e.AlgoSymbol42200=jt.AlgoSymbol42200,e.AlgoSymbol44100=Yt.AlgoSymbol44100,e.AlgoSymbol35000=Ct.AlgoSymbol35000,e.AlgoSymbol35200=It.AlgoSymbol35200,e.AlgoSymbol37700=Bt.AlgoSymbol37700,e.AlgoSymbol40100=Rt.AlgoSymbol40100,e.AlgoSymbol3010301=Gt.AlgoSymbol3010301,e.AlgoSymbol3010303=Nt.AlgoSymbol3010303,e.AlgoSymbol3010304=Dt.AlgoSymbol3010304,e.AlgoSymbol3020901=kt.AlgoSymbol3020901,e.AlgoSymbol21216=zt.AlgoSymbol21216,e.AlgoSymbol21221=Ft.AlgoSymbol21221,e.AlgoSymbol30008=Kt.AlgoSymbol30008,e.AlgoSymbol30009=Wt.AlgoSymbol30009,e.AlgoSymbol30010=Jt.AlgoSymbol30010,e.AlgoSymbol30011=qt.AlgoSymbol30011,e.AlgoSymbol30012=Zt.AlgoSymbol30012,e.AlgoSymbol30013=Xt.AlgoSymbol30013,e.AlgoSymbol30014=Ht.AlgoSymbol30014,e.AlgoSymbol30020=Qt.AlgoSymbol30020,e.AlgoSymbol30025=$t.AlgoSymbol30025,e.AlgoSymbol30026=te.AlgoSymbol30026,e.AlgoSymbol40104=ee.AlgoSymbol40104,e.AlgoSymbol40302=le.AlgoSymbol40302,e.AlgoSymbol40304=oe.AlgoSymbol40304,e.AlgoSymbol50108=ie.AlgoSymbol50108,e.AlgoSymbol50223=ne.AlgoSymbol50223,e.AlgoSymbol50225=re.AlgoSymbol50225,e.AlgoSymbol50226=ae.AlgoSymbol50226,e.AlgoSymbol50308=se.AlgoSymbol50308,e.AlgoSymbol50342=pe.AlgoSymbol50342,e.AlgoSymbol50352=ue.AlgoSymbol50352,e.AlgoSymbol60203=ce.AlgoSymbol60203,e.AlgoSymbol60205=Pe.AlgoSymbol60205,e.AlgoSymbol60301=Se.AlgoSymbol60301,e.AlgoSymbol2121505=he.AlgoSymbol2121505,e.AlgoSymbol60304=ye.AlgoSymbol60304,e.AlgoSymbol60305=fe.AlgoSymbol60305,e.AlgoSymbol60306=ge.AlgoSymbol60306,e.AlgoSymbol60310=be.AlgoSymbol60310,e.AlgoSymbol2091503=Me.AlgoSymbol2091503,e.AlgoSymbol2092101=me.AlgoSymbol2092101,e.AlgoSymbol2121504=de.AlgoSymbol2121504,e.AlgoSymbol2121506=ve.AlgoSymbol2121506,e.AlgoSymbol2121507=Oe.AlgoSymbol2121507,e.AlgoSymbol2121601=Ue.AlgoSymbol2121601,e.AlgoSymbol2121602=we.AlgoSymbol2121602,e.AlgoSymbol2122101=Le.AlgoSymbol2122101,e.AlgoSymbol2122301=_e.AlgoSymbol2122301,e.AlgoSymbol3000801=Ve.AlgoSymbol3000801,e.AlgoSymbol3000802=Ae.AlgoSymbol3000802,e.AlgoSymbol3000803=Te.AlgoSymbol3000803,e.AlgoSymbol3000804=Ee.AlgoSymbol3000804,e.AlgoSymbol3000805=xe.AlgoSymbol3000805,e.AlgoSymbol3000806=je.AlgoSymbol3000806,e.AlgoSymbol3000807=Ye.AlgoSymbol3000807,e.AlgoSymbol3000808=Ce.AlgoSymbol3000808,e.AlgoSymbol3000809=Ie.AlgoSymbol3000809,e.AlgoSymbol3001101=Be.AlgoSymbol3001101,e.AlgoSymbol3001102=Re.AlgoSymbol3001102,e.AlgoSymbol3001103=Ge.AlgoSymbol3001103,e.AlgoSymbol3001104=Ne.AlgoSymbol3001104,e.AlgoSymbol3001105=De.AlgoSymbol3001105,e.AlgoSymbol3001301=ke.AlgoSymbol3001301,e.AlgoSymbol3001302=ze.AlgoSymbol3001302,e.AlgoSymbol3002001=Fe.AlgoSymbol3002001,e.AlgoSymbol3002002=Ke.AlgoSymbol3002002,e.AlgoSymbol3002004=We.AlgoSymbol3002004,e.AlgoSymbol3002005=Je.AlgoSymbol3002005,e.AlgoSymbol3002501=qe.AlgoSymbol3002501,e.AlgoSymbol4030301=Ze.AlgoSymbol4030301,e.AlgoSymbol4030302=Xe.AlgoSymbol4030302,e.AlgoSymbol4030303=He.AlgoSymbol4030303,e.AlgoSymbol4030401=Qe.AlgoSymbol4030401,e.AlgoSymbol5010401=$e.AlgoSymbol5010401,e.AlgoSymbol5021803=tl.AlgoSymbol5021803,e.AlgoSymbol5022001=el.AlgoSymbol5022001,e.AlgoSymbol5022002=ll.AlgoSymbol5022002,e.AlgoSymbol5022301=ol.AlgoSymbol5022301,e.AlgoSymbol5030301=il.AlgoSymbol5030301,e.AlgoSymbol5031401=nl.AlgoSymbol5031401,e.AlgoSymbol5032003=rl.AlgoSymbol5032003,e.AlgoSymbol5033001=al.AlgoSymbol5033001,e.AlgoSymbol5033802=sl.AlgoSymbol5033802,e.AlgoSymbol5033803=pl.AlgoSymbol5033803,e.AlgoSymbol5034201=ul.AlgoSymbol5034201,e.AlgoSymbol5034202=cl.AlgoSymbol5034202,e.AlgoSymbol5034203=Pl.AlgoSymbol5034203,e.AlgoSymbol5034801=Sl.AlgoSymbol5034801,e.AlgoSymbol5035201=hl.AlgoSymbol5035201,e.AlgoSymbol5035202=yl.AlgoSymbol5035202,e.AlgoSymbol5035203=fl.AlgoSymbol5035203,e.AlgoSymbol5035205=gl.AlgoSymbol5035205,e.AlgoSymbol5020802=bl.AlgoSymbol5020802,e.AlgoSymbol6030101=Ml.AlgoSymbol6030101,e.AlgoSymbol6030102=ml.AlgoSymbol6030102,e.AlgoSymbol6030103=dl.AlgoSymbol6030103,e.AlgoSymbol6030104=vl.AlgoSymbol6030104,e.AlgoSymbol6030105=Ol.AlgoSymbol6030105,e.AlgoSymbol6030106=Ul.AlgoSymbol6030106,e.AlgoSymbol6030107=wl.AlgoSymbol6030107,e.AlgoSymbol6030501=Ll.AlgoSymbol6030501,e.AlgoSymbol6031001=_l.AlgoSymbol6031001,e.AlgoSymbol6030601=Vl.AlgoSymbol6030601},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WJAlgoSymbolFactory=void 0,l(188);e.WJAlgoSymbolFactory=SuperMap.Plot.WJAlgoSymbolFactory=SuperMap.Plot.WJAlgoSymbolFactory||{};SuperMap.Plot.WJAlgoSymbolFactory.getAlgoSymbol=function(t,e,l){if(123===t)switch(e){case 20915:return new SuperMap.Plot.AlgoSymbol12500(l);case 2091501:return new SuperMap.Plot.AlgoSymbol12501(l);case 2091502:return new SuperMap.Plot.AlgoSymbol12502(l);case 2091503:return new SuperMap.Plot.AlgoSymbol2091503(l);case 2092101:return new SuperMap.Plot.AlgoSymbol2092101(l);case 21003:return new SuperMap.Plot.AlgoSymbol13700(l);case 21207:return new SuperMap.Plot.AlgoSymbol15200(l);case 2120701:return new SuperMap.Plot.AlgoSymbol15201(l);case 2120702:return new SuperMap.Plot.AlgoSymbol15202(l);case 21213:return new SuperMap.Plot.AlgoSymbol15800(l);case 2121301:return new SuperMap.Plot.AlgoSymbol15801(l);case 2121302:return new SuperMap.Plot.AlgoSymbol15802(l);case 2121303:return new SuperMap.Plot.AlgoSymbol15803(l);case 2121304:return new SuperMap.Plot.AlgoSymbol15804(l);case 2121305:return new SuperMap.Plot.AlgoSymbol15806(l);case 21214:return new SuperMap.Plot.AlgoSymbol15900(l);case 21215:return new SuperMap.Plot.AlgoSymbol16200(l);case 2121501:return new SuperMap.Plot.AlgoSymbol16201(l);case 2121502:return new SuperMap.Plot.AlgoSymbol16202(l);case 2121503:return new SuperMap.Plot.AlgoSymbol16203(l);case 2121504:return new SuperMap.Plot.AlgoSymbol2121504(l);case 2121505:return new SuperMap.Plot.AlgoSymbol2121505(l);case 2121506:return new SuperMap.Plot.AlgoSymbol2121506(l);case 2121507:return new SuperMap.Plot.AlgoSymbol2121507(l);case 21216:return new SuperMap.Plot.AlgoSymbol21216(l);case 2121601:return new SuperMap.Plot.AlgoSymbol2121601(l);case 2121602:return new SuperMap.Plot.AlgoSymbol2121602(l);case 21218:return new SuperMap.Plot.AlgoSymbol16700(l);case 21221:return new SuperMap.Plot.AlgoSymbol21221(l);case 2122101:return new SuperMap.Plot.AlgoSymbol2122101(l);case 21222:return new SuperMap.Plot.AlgoSymbol17500(l);case 2122201:return new SuperMap.Plot.AlgoSymbol17501(l);case 21223:return new SuperMap.Plot.AlgoSymbol17700(l);case 2122301:return new SuperMap.Plot.AlgoSymbol2122301(l);case 2122303:return new SuperMap.Plot.AlgoSymbol17703(l);case 2122304:return new SuperMap.Plot.AlgoSymbol17704(l);case 21224:return new SuperMap.Plot.AlgoSymbol17800(l);case 2122401:return new SuperMap.Plot.AlgoSymbol17801(l);case 2122402:return new SuperMap.Plot.AlgoSymbol17802(l);case 2122403:return new SuperMap.Plot.AlgoSymbol17803(l);case 2122404:return new SuperMap.Plot.AlgoSymbol17804(l);case 2122405:return new SuperMap.Plot.AlgoSymbol17805(l);case 2122406:return new SuperMap.Plot.AlgoSymbol17806(l);case 21605:return new SuperMap.Plot.AlgoSymbol20300(l);case 2160501:return new SuperMap.Plot.AlgoSymbol20301(l);case 30008:return new SuperMap.Plot.AlgoSymbol30008(l);case 3000801:return new SuperMap.Plot.AlgoSymbol3000801(l);case 3000802:return new SuperMap.Plot.AlgoSymbol3000802(l);case 3000803:return new SuperMap.Plot.AlgoSymbol3000803(l);case 3000804:return new SuperMap.Plot.AlgoSymbol3000804(l);case 3000805:return new SuperMap.Plot.AlgoSymbol3000805(l);case 3000806:return new SuperMap.Plot.AlgoSymbol3000806(l);case 3000807:return new SuperMap.Plot.AlgoSymbol3000807(l);case 3000808:return new SuperMap.Plot.AlgoSymbol3000808(l);case 3000809:return new SuperMap.Plot.AlgoSymbol3000809(l);case 30009:return new SuperMap.Plot.AlgoSymbol30009(l);case 30010:return new SuperMap.Plot.AlgoSymbol30010(l);case 30011:return new SuperMap.Plot.AlgoSymbol30011(l);case 3001101:return new SuperMap.Plot.AlgoSymbol3001101(l);case 3001102:return new SuperMap.Plot.AlgoSymbol3001102(l);case 3001103:return new SuperMap.Plot.AlgoSymbol3001103(l);case 3001104:return new SuperMap.Plot.AlgoSymbol3001104(l);case 3001105:return new SuperMap.Plot.AlgoSymbol3001105(l);case 30012:return new SuperMap.Plot.AlgoSymbol30012(l);case 30013:return new SuperMap.Plot.AlgoSymbol30013(l);case 50106:return new SuperMap.Plot.AlgoSymbol21900(l);case 3001301:return new SuperMap.Plot.AlgoSymbol3001301(l);case 3001302:return new SuperMap.Plot.AlgoSymbol3001302(l);case 30014:return new SuperMap.Plot.AlgoSymbol30014(l);case 30018:return new SuperMap.Plot.AlgoSymbol42500(l);case 30020:return new SuperMap.Plot.AlgoSymbol30020(l);case 3002001:return new SuperMap.Plot.AlgoSymbol3002001(l);case 3002002:return new SuperMap.Plot.AlgoSymbol3002002(l);case 3002004:return new SuperMap.Plot.AlgoSymbol3002004(l);case 3002005:return new SuperMap.Plot.AlgoSymbol3002005(l);case 30025:return new SuperMap.Plot.AlgoSymbol30025(l);case 5010301:return new SuperMap.Plot.AlgoSymbol3010301(l);case 50108:return new SuperMap.Plot.AlgoSymbol50108(l);case 5010303:return new SuperMap.Plot.AlgoSymbol3010303(l);case 5010304:return new SuperMap.Plot.AlgoSymbol3010304(l);case 5010401:return new SuperMap.Plot.AlgoSymbol5010401(l);case 5020801:return new SuperMap.Plot.AlgoSymbol3020901(l);case 5020802:return new SuperMap.Plot.AlgoSymbol5020802(l);case 5021803:return new SuperMap.Plot.AlgoSymbol5021803(l);case 5022001:return new SuperMap.Plot.AlgoSymbol5022001(l);case 5022002:return new SuperMap.Plot.AlgoSymbol5022002(l);case 50223:return new SuperMap.Plot.AlgoSymbol50223(l);case 5022301:return new SuperMap.Plot.AlgoSymbol5022301(l);case 3002501:return new SuperMap.Plot.AlgoSymbol3002501(l);case 30026:return new SuperMap.Plot.AlgoSymbol30026(l);case 40104:return new SuperMap.Plot.AlgoSymbol40104(l);case 40301:case 4030101:case 4030102:case 4030103:case 4030104:return new SuperMap.Plot.AlgoSymbol22000(l);case 40302:case 4030201:case 4030202:case 4030203:case 4030204:return new SuperMap.Plot.AlgoSymbol40302(l);case 40303:return new SuperMap.Plot.AlgoSymbol26501(l);case 4030301:return new SuperMap.Plot.AlgoSymbol4030301(l);case 4030302:return new SuperMap.Plot.AlgoSymbol4030302(l);case 4030303:return new SuperMap.Plot.AlgoSymbol4030303(l);case 40304:return new SuperMap.Plot.AlgoSymbol40304(l);case 4030401:return new SuperMap.Plot.AlgoSymbol4030401(l);case 50101:return new SuperMap.Plot.AlgoSymbol25201(l);case 5010101:return new SuperMap.Plot.AlgoSymbol21401(l);case 50102:return new SuperMap.Plot.AlgoSymbol21500(l);case 5010202:return new SuperMap.Plot.AlgoSymbol21502(l);case 5010203:return new SuperMap.Plot.AlgoSymbol21503(l);case 5010204:return new SuperMap.Plot.AlgoSymbol21504(l);case 50103:case 5010302:return new SuperMap.Plot.AlgoSymbol21600(l);case 50104:return new SuperMap.Plot.AlgoSymbol21800(l);case 50107:case 5010701:return new SuperMap.Plot.AlgoSymbol22000(l);case 50208:return new SuperMap.Plot.AlgoSymbol23400(l);case 50209:return new SuperMap.Plot.AlgoSymbol23500(l);case 50210:return new SuperMap.Plot.AlgoSymbol23800(l);case 50212:case 5021101:return new SuperMap.Plot.AlgoSymbol23901(l);case 5021102:return new SuperMap.Plot.AlgoSymbol23902(l);case 50220:return new SuperMap.Plot.AlgoSymbol28900(l);case 50221:return new SuperMap.Plot.AlgoSymbol29000(l);case 50225:return new SuperMap.Plot.AlgoSymbol50225(l);case 50226:return new SuperMap.Plot.AlgoSymbol50226(l);case 50222:return new SuperMap.Plot.AlgoSymbol29101(l);case 5022201:return new SuperMap.Plot.AlgoSymbol29103(l);case 50227:return new SuperMap.Plot.AlgoSymbol35200(l);case 50301:return new SuperMap.Plot.AlgoSymbol1004(l);case 5030101:return new SuperMap.Plot.AlgoSymbol25200(l);case 5030102:return new SuperMap.Plot.AlgoSymbol25201(l);case 50302:return new SuperMap.Plot.AlgoSymbol25000(l);case 50303:return new SuperMap.Plot.AlgoSymbol25400(l);case 5030301:return new SuperMap.Plot.AlgoSymbol5030301(l);case 50308:return new SuperMap.Plot.AlgoSymbol50308(l);case 50309:return new SuperMap.Plot.AlgoSymbol26500(l);case 50310:return new SuperMap.Plot.AlgoSymbol26600(l);case 5031001:return new SuperMap.Plot.AlgoSymbol26601(l);case 50312:return new SuperMap.Plot.AlgoSymbol28000(l);case 50313:return new SuperMap.Plot.AlgoSymbol28100(l);case 50314:return new SuperMap.Plot.AlgoSymbol28200(l);case 5031401:return new SuperMap.Plot.AlgoSymbol5031401(l);case 50315:return new SuperMap.Plot.AlgoSymbol28300(l);case 5031501:return new SuperMap.Plot.AlgoSymbol28301(l);case 50316:return new SuperMap.Plot.AlgoSymbol29800(l);case 50317:return new SuperMap.Plot.AlgoSymbol1006(l);case 50320:return new SuperMap.Plot.AlgoSymbol30000(l);case 5010201:return new SuperMap.Plot.AlgoSymbol21501(l);case 5032001:case 5032002:return new SuperMap.Plot.AlgoSymbol30002(l);case 50321:case 5032101:case 5032102:return new SuperMap.Plot.AlgoSymbol30100(l);case 50322:return new SuperMap.Plot.AlgoSymbol30200(l);case 5032201:return new SuperMap.Plot.AlgoSymbol30201(l);case 50330:case 50331:return new SuperMap.Plot.AlgoSymbol30800(l);case 5032003:return new SuperMap.Plot.AlgoSymbol5032003(l);case 5033001:return new SuperMap.Plot.AlgoSymbol5033001(l);case 50338:return new SuperMap.Plot.AlgoSymbol31300(l);case 5033801:return new SuperMap.Plot.AlgoSymbol31301(l);case 5033802:return new SuperMap.Plot.AlgoSymbol5033802(l);case 5033803:return new SuperMap.Plot.AlgoSymbol5033803(l);case 50339:return new SuperMap.Plot.AlgoSymbol31400(l);case 5033901:return new SuperMap.Plot.AlgoSymbol31401(l);case 50342:return new SuperMap.Plot.AlgoSymbol50342(l);case 5034201:return new SuperMap.Plot.AlgoSymbol5034201(l);case 5034202:return new SuperMap.Plot.AlgoSymbol5034202(l);case 5034203:return new SuperMap.Plot.AlgoSymbol5034203(l);case 50348:return new SuperMap.Plot.AlgoSymbol32300(l);case 5034801:return new SuperMap.Plot.AlgoSymbol5034801(l);case 50352:return new SuperMap.Plot.AlgoSymbol50352(l);case 5035201:return new SuperMap.Plot.AlgoSymbol5035201(l);case 5035202:return new SuperMap.Plot.AlgoSymbol5035202(l);case 5035203:return new SuperMap.Plot.AlgoSymbol5035203(l);case 5035204:return new SuperMap.Plot.AlgoSymbol21501(l);case 5035205:return new SuperMap.Plot.AlgoSymbol5035205(l);case 60203:return new SuperMap.Plot.AlgoSymbol60203(l);case 60205:return new SuperMap.Plot.AlgoSymbol60205(l);case 60301:return new SuperMap.Plot.AlgoSymbol60301(l);case 6030101:return new SuperMap.Plot.AlgoSymbol6030101(l);case 6030102:return new SuperMap.Plot.AlgoSymbol6030102(l);case 6030103:return new SuperMap.Plot.AlgoSymbol6030103(l);case 6030104:return new SuperMap.Plot.AlgoSymbol6030104(l);case 6030105:return new SuperMap.Plot.AlgoSymbol6030105(l);case 6030106:return new SuperMap.Plot.AlgoSymbol6030106(l);case 6030107:return new SuperMap.Plot.AlgoSymbol6030107(l);case 60304:return new SuperMap.Plot.AlgoSymbol60304(l);case 60305:return new SuperMap.Plot.AlgoSymbol60305(l);case 6030501:return new SuperMap.Plot.AlgoSymbol6030501(l);case 60306:return new SuperMap.Plot.AlgoSymbol60306(l);case 6030601:return new SuperMap.Plot.AlgoSymbol6030601(l);case 60310:return new SuperMap.Plot.AlgoSymbol60310(l);case 6031001:return new SuperMap.Plot.AlgoSymbol6031001(l);case 70109:return new SuperMap.Plot.AlgoSymbol40900(l);case 70201:return new SuperMap.Plot.AlgoSymbol41100(l);case 70202:return new SuperMap.Plot.AlgoSymbol41200(l);case 7020201:return new SuperMap.Plot.AlgoSymbol41201(l);case 7020202:return new SuperMap.Plot.AlgoSymbol41202(l);case 80202:return new SuperMap.Plot.AlgoSymbol42200(l);case 90105:return new SuperMap.Plot.AlgoSymbol35000(l);case 90107:return new SuperMap.Plot.AlgoSymbol35200(l);case 90305:return new SuperMap.Plot.AlgoSymbol37700(l);case 90404:return new SuperMap.Plot.AlgoSymbol40100(l);case 9040401:return new SuperMap.Plot.AlgoSymbol40101(l);case 90507:return new SuperMap.Plot.AlgoSymbol44100(l);default:return new SuperMap.Plot.AlgoSymbol(l)}},SuperMap.Plot.WJAlgoSymbolFactory.isAccessServer=function(t,e){if(123!==t)return!0;switch(e){case 20915:case 2091501:case 2091502:case 2091503:case 2092101:case 21003:case 21207:case 2120701:case 2120702:case 21213:case 2121301:case 2121302:case 2121303:case 2121304:case 2121305:case 21214:case 21215:case 2121501:case 2121502:case 2121503:case 2121504:case 2121505:case 2121506:case 2121507:case 21216:case 2121601:case 2121602:case 21218:case 21221:case 2122101:case 21222:case 2122201:case 21223:case 2122301:case 2122303:case 2122304:case 21224:case 2122401:case 2122402:case 2122403:case 2122404:case 2122405:case 2122406:case 21605:case 2160501:case 30008:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 30009:case 30010:case 30011:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 30012:case 30013:case 3001301:case 3001302:case 30014:case 30018:case 30020:case 3002001:case 3002002:case 3002004:case 3002005:case 30025:case 5010301:case 5010303:case 5010304:case 5010401:case 50108:case 50106:case 5020802:case 5021803:case 5022001:case 5022002:case 50223:case 5022301:case 3002501:case 30026:case 40104:case 40301:case 4030101:case 4030102:case 4030103:case 4030104:case 40302:case 4030201:case 4030202:case 4030203:case 4030204:case 40303:case 4030301:case 4030302:case 4030303:case 40304:case 4030401:case 50101:case 5010101:case 50102:case 5010201:case 5010202:case 5010203:case 5010204:case 50103:case 5010302:case 50104:case 50107:case 5010701:case 50208:case 50209:case 50210:case 5021101:case 5021102:case 50212:case 50220:case 50221:case 50222:case 50225:case 50226:case 5022201:case 50227:case 50301:case 5030101:case 5030102:case 50302:case 50303:case 5030301:case 50308:case 50309:case 50310:case 5031001:case 50312:case 50313:case 50314:case 5031401:case 50315:case 5031501:case 50316:case 50317:case 50320:case 5032001:case 5032002:case 5032003:case 50321:case 5032101:case 5032102:case 50322:case 5032201:case 50330:case 5033001:case 50338:case 5033801:case 5033802:case 5033803:case 50339:case 5033901:case 50342:case 5034201:case 5034202:case 5034203:case 50348:case 5034801:case 50352:case 5035201:case 5035202:case 5035203:case 5035204:case 5035205:case 60203:case 60205:case 60301:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 60304:case 60305:case 6030501:case 60306:case 6030601:case 60310:case 6031001:case 70109:case 70201:case 70202:case 7020201:case 7020202:case 80202:case 90105:case 90107:case 90305:case 90404:case 9040401:case 9050301:case 90507:return!1;default:return!0}},SuperMap.Plot.WJAlgoSymbolFactory.getSymbolWayType=function(t,e){if(123!==t)return SuperMap.Plot.AddPoint_WayType.UNKNOWN;switch(e){case 21003:case 21207:case 2120701:case 2121503:case 21218:case 30008:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 30009:case 5021803:case 5022001:case 5022002:case 40301:case 4030101:case 4030102:case 4030103:case 4030104:case 40303:case 4030301:case 4030302:case 4030303:case 50101:case 5010101:case 50102:case 5010201:case 5010202:case 5010203:case 5010204:case 50103:case 5010301:case 5010302:case 5010303:case 5010304:case 50107:case 5010701:case 50210:case 50220:case 50221:case 50225:case 5030102:case 50303:case 5030301:case 50309:case 50320:case 5032001:case 5032002:case 5032003:case 50321:case 5032101:case 5032102:case 50322:case 5032201:case 50330:case 5033001:case 5034203:case 5035201:case 5035204:case 60205:case 90105:return SuperMap.Plot.AddPoint_WayType.CURVE;case 20915:case 2091502:case 2092101:case 2120702:case 21216:case 2121601:case 2121602:case 21605:case 30010:case 30011:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 30012:case 30020:case 3002001:case 3002002:case 3002005:case 30025:case 3002501:case 30026:case 40104:case 40302:case 4030201:case 4030202:case 4030203:case 4030204:case 50227:case 5035205:case 60301:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 70202:case 7020201:case 7020202:case 90107:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}},SuperMap.Plot.WJAlgoSymbolFactory.getDefaultSubSymbols=function(t,e){var l=[];if(123!==t)return l;switch(e){case 2092101:return l.push(new SuperMap.Plot.SubSymbol(123,20921)),l;case 80202:return l.push(new SuperMap.Plot.SubSymbol(123,2170201)),l;case 21221:case 2122101:return l.push(new SuperMap.Plot.SubSymbol(123,21220)),l.push(new SuperMap.Plot.SubSymbol(123,2122001)),l;case 3000801:return l.push(new SuperMap.Plot.SubSymbol(123,3000106)),l;case 50209:return l.push(new SuperMap.Plot.SubSymbol(100,1300)),l;case 3000802:return l.push(new SuperMap.Plot.SubSymbol(123,3000107)),l;case 3000803:return l.push(new SuperMap.Plot.SubSymbol(123,3000108)),l;case 3000804:return l.push(new SuperMap.Plot.SubSymbol(123,20303)),l;case 3000805:case 3000808:case 3001301:case 4030103:case 4030202:case 5020802:case 5010201:case 2121504:case 50108:return l.push(new SuperMap.Plot.SubSymbol(123,21601)),l;case 3000806:return l.push(new SuperMap.Plot.SubSymbol(123,20404)),l;case 3000807:return l.push(new SuperMap.Plot.SubSymbol(123,2010103)),l.push(new SuperMap.Plot.SubSymbol(123,21601)),l;case 3000809:return l.push(new SuperMap.Plot.SubSymbol(123,21601)),l.push(new SuperMap.Plot.SubSymbol(123,30006)),l;case 30010:return l.push(new SuperMap.Plot.SubSymbol(123,10305)),l;case 3001104:case 3001105:return l.push(new SuperMap.Plot.SubSymbol(123,20404)),l;case 30012:return l.push(new SuperMap.Plot.SubSymbol(123,30006)),l;case 3002005:return l.push(new SuperMap.Plot.SubSymbol(123,21305)),l;case 40301:return l.push(new SuperMap.Plot.SubSymbol(123,40201)),l;case 5021803:return l.push(new SuperMap.Plot.SubSymbol(123,50218)),l;case 50225:return l.push(new SuperMap.Plot.SubSymbol(123,10103)),l;case 50226:return l.push(new SuperMap.Plot.SubSymbol(123,10103)),l.push(new SuperMap.Plot.SubSymbol(123,10103)),l;case 5032003:return l.push(new SuperMap.Plot.SubSymbol(123,20304)),l.push(new SuperMap.Plot.SubSymbol(123,20301)),l;case 5030301:case 5022301:case 5033001:case 5034201:case 5034202:case 50342:return l.push(new SuperMap.Plot.SubSymbol(123,10104)),l;case 5033802:return l.push(new SuperMap.Plot.SubSymbol(123,20202)),l;case 5033803:return l.push(new SuperMap.Plot.SubSymbol(123,20203)),l;case 5034203:return l.push(new SuperMap.Plot.SubSymbol(123,2050302)),l;case 50352:return l.push(new SuperMap.Plot.SubSymbol(123,50231)),l;case 5035202:return l.push(new SuperMap.Plot.SubSymbol(123,21227)),l;case 5035205:return l.push(new SuperMap.Plot.SubSymbol(123,2050308)),l;case 4030101:return l.push(new SuperMap.Plot.SubSymbol(123,2030303)),l;case 4030102:case 4030201:return l.push(new SuperMap.Plot.SubSymbol(123,20303)),l;case 4030104:case 4030203:return l.push(new SuperMap.Plot.SubSymbol(123,20401)),l;case 4030204:return l.push(new SuperMap.Plot.SubSymbol(123,10104)),l;case 40302:case 40303:case 4030301:case 4030302:case 4030303:return l.push(new SuperMap.Plot.SubSymbol(123,40201)),l;case 5010202:return l.push(new SuperMap.Plot.SubSymbol(123,2040301)),l;case 5010203:return l.push(new SuperMap.Plot.SubSymbol(123,20501)),l;case 5010204:return l.push(new SuperMap.Plot.SubSymbol(123,20503)),l;case 50107:return l.push(new SuperMap.Plot.SubSymbol(123,10105)),l;case 5010701:return l.push(new SuperMap.Plot.SubSymbol(123,5010503)),l;case 5021101:case 5021102:case 50212:return l.push(new SuperMap.Plot.SubSymbol(123,2020301)),l;case 50227:return l.push(new SuperMap.Plot.SubSymbol(123,10103)),l;case 5030101:return l.push(new SuperMap.Plot.SubSymbol(123,2050302)),l;case 50315:return l.push(new SuperMap.Plot.SubSymbol(123,21302)),l;case 5031501:return l.push(new SuperMap.Plot.SubSymbol(123,21302)),l.push(new SuperMap.Plot.SubSymbol(123,21302)),l;case 5032001:return l.push(new SuperMap.Plot.SubSymbol(123,20301)),l.push(new SuperMap.Plot.SubSymbol(123,20301)),l;case 5032002:return l.push(new SuperMap.Plot.SubSymbol(123,20304)),l.push(new SuperMap.Plot.SubSymbol(123,20304)),l;case 5035201:return l.push(new SuperMap.Plot.SubSymbol(123,50231)),l;case 5035204:return l.push(new SuperMap.Plot.SubSymbol(123,2040106)),l;case 60205:return l.push(new SuperMap.Plot.SubSymbol(123,21503)),l.push(new SuperMap.Plot.SubSymbol(123,21501)),l;case 60310:return l.push(new SuperMap.Plot.SubSymbol(123,5023103)),l;case 6031001:return l.push(new SuperMap.Plot.SubSymbol(123,2122701)),l.push(new SuperMap.Plot.SubSymbol(123,2122702)),l.push(new SuperMap.Plot.SubSymbol(123,2122703)),l;case 90107:return l.push(new SuperMap.Plot.SubSymbol(123,2040301)),l;case 90305:return l.push(new SuperMap.Plot.SubSymbol(123,50304)),l;default:return l}},SuperMap.Plot.WJAlgoSymbolFactory.getMinEditPts=function(t,e){if(123!==t)return 0;switch(e){case 20915:case 21003:case 21207:case 21213:case 21214:case 21215:case 21216:case 21218:case 21221:case 21222:case 21223:case 21224:case 21605:case 30008:case 30009:case 30010:case 30013:case 30014:case 30018:case 40301:case 40303:case 40304:case 50101:case 50102:case 50103:case 50104:case 50106:case 50107:case 50108:case 50208:case 50209:case 50210:case 50212:case 50220:case 50221:case 50222:case 50223:case 50226:case 50302:case 50303:case 50308:case 50309:case 50310:case 50312:case 50313:case 50314:case 50315:case 50320:case 50322:case 50330:case 50331:case 50338:case 50339:case 50342:case 50348:case 60203:case 60205:case 60304:case 60305:case 60306:case 70109:case 70201:case 70202:case 80202:case 90105:case 90107:case 90305:case 90404:case 90507:case 2091501:case 2091502:case 2091503:case 2092101:case 2120701:case 2120702:case 2121301:case 2121302:case 2121303:case 2121304:case 2121305:case 2121501:case 2121502:case 2121503:case 2121504:case 2121505:case 2121506:case 2121507:case 2121601:case 2121602:case 2122101:case 2122201:case 2122301:case 2122303:case 2122304:case 2122401:case 2122402:case 2122403:case 2122404:case 2122405:case 2122406:case 2160501:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 3001301:case 3001302:case 3002004:case 4030101:case 4030102:case 4030103:case 4030104:case 4030301:case 4030302:case 4030303:case 4030401:case 5010101:case 5010201:case 5010202:case 5010203:case 5010204:case 5010301:case 5010302:case 5010303:case 5010304:case 5010401:case 5010701:case 5020802:case 5021101:case 5021102:case 5021803:case 5022001:case 5022002:case 5022201:case 5022301:case 5030102:case 5030301:case 5031001:case 5031401:case 5031501:case 5032001:case 5032002:case 5032003:case 5032201:case 5033001:case 5033801:case 5033802:case 5033803:case 5033901:case 5034201:case 5034202:case 5034203:case 5034801:case 5035201:case 5035203:case 5035204:case 6030501:case 6030601:case 7020201:case 7020202:case 9040401:return 2;case 30011:case 30012:case 30020:case 30025:case 30026:case 40104:case 40302:case 50225:case 50227:case 50301:case 50316:case 50317:case 50352:case 60301:case 60310:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 3002001:case 3002002:case 3002005:case 3002501:case 4030201:case 4030202:case 4030203:case 4030204:case 5020801:case 5030101:case 5035202:case 5035205:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 6031001:return 3;default:return 0}},SuperMap.Plot.WJAlgoSymbolFactory.getMaxEditPts=function(t,e){if(123!==t)return 0;switch(e){case 21218:case 30018:case 50104:case 50302:case 50313:case 50338:case 50339:case 60203:case 60304:case 60305:case 60306:case 70201:case 90507:case 2120702:case 2121502:case 2121504:case 2121505:case 2121506:case 2121507:case 2122301:case 2160501:case 3001301:case 4030401:case 5010401:case 5031401:case 5031501:case 5033801:case 5033802:case 5033803:case 5033901:case 6030501:case 6030601:return 2;case 21003:case 21224:case 50212:case 50221:case 50222:case 50348:case 2122401:case 2122402:case 2122403:case 2122404:case 2122405:case 2122406:case 2021101:case 2021102:case 5022201:case 5034801:return 3;case 50312:case 50317:return 4;case 21221:case 21222:case 50225:case 50226:case 50316:case 50320:case 50322:case 2122101:case 2122201:case 5020801:case 5032001:case 5032002:case 5032003:case 5032201:return 30;case 50227:case 50352:case 60310:case 5022001:case 5022002:case 5030101:case 5035202:case 5035203:case 6031001:return 512;case 20915:case 21213:case 21214:case 21215:case 21216:case 21223:case 21605:case 30008:case 30010:case 30011:case 30012:case 30020:case 30025:case 30026:case 40104:case 40301:case 40302:case 40303:case 50101:case 50102:case 50106:case 50107:case 50108:case 50209:case 50210:case 50220:case 50223:case 50303:case 50309:case 50315:case 50330:case 50331:case 60301:case 70202:case 80202:case 2091501:case 2091502:case 2091503:case 2120701:case 2121301:case 2121302:case 2121303:case 2121304:case 2121305:case 2121501:case 2121503:case 2121601:case 2121602:case 2122303:case 2122304:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 3002001:case 3002002:case 3002004:case 3002005:case 3002501:case 4030101:case 4030102:case 4030103:case 4030104:case 4030201:case 4030202:case 4030203:case 4030204:case 5010101:case 5010701:case 5020802:case 5022301:case 5030102:case 5030301:case 5035205:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 7020201:case 7020202:return 1e3;case 21207:case 30009:case 30013:case 30014:case 40304:case 50103:case 50208:case 50301:case 50308:case 50310:case 50314:case 50342:case 60205:case 70109:case 90105:case 90107:case 90305:case 90404:case 2092101:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 3001302:case 4030301:case 4030302:case 4030303:case 5010201:case 5010202:case 5010203:case 5010204:case 5010301:case 5010302:case 5010303:case 5010304:case 5021803:case 5031001:case 5033001:case 5034201:case 5034202:case 5034203:case 5035201:case 5035204:case 9040401:return 9999;default:return 0}},SuperMap.Plot.WJAlgoSymbolFactory.getDefaultStyle=function(t,e){var l={};if(123===t)switch(e){case 50108:case 3000808:case 30012:case 3000801:case 3001101:case 30011:case 30013:case 30010:case 3001104:case 30014:case 30009:case 30008:l.color=l.strokeColor="#0000ff";break;case 3001302:case 40104:l.color=l.strokeColor="#048e24";break;case 30025:l.color=l.strokeColor="#00ff00";break;case 3002501:l.color=l.strokeColor="#00c000"}return l},SuperMap.Plot.WJAlgoSymbolFactory.canSetSubSymbol=function(t,e){return SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(t,e).length>0||123===this.libID&&(5030101===e||5020801===e||50208===e||50331===e)},SuperMap.Plot.WJAlgoSymbolFactory.zoomInCalSymbol=function(){return!1},SuperMap.Plot.WJAlgoSymbolFactory.zoomCalSymbol=function(t,e){if(123!==t)return!1;switch(e){case 50312:case 50313:case 50314:case 50348:return!0;default:return!1}}},function(t,e,l){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WJAlgoSymbolFactory=void 0;var o=l(189);e.WJAlgoSymbolFactory=o.WJAlgoSymbolFactory}]);
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports) {
-
-/*!
- * 
- *          iclient-plot-algorithms-yj.(http://iclient.supermap.io)
- *          Copyright© 2000 - 2018 SuperMap Software Co.Ltd
- *          license: undefined
- *          version: v9.1.0
- *         
- */!function(t){var e={};function o(l){if(e[l])return e[l].exports;var i=e[l]={i:l,l:!1,exports:{}};return t[l].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=t,o.c=e,o.d=function(t,e,l){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:l})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var l=Object.create(null);if(o.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)o.d(l,i,function(e){return t[e]}.bind(null,i));return l},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=14)}([function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol610100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.05),o.scaleValues.push(.01)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=[];e=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue(),this.scaleValues[1]=.0625*this.getSubSymbolScaleValue());for(var o=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=o*this.scaleValues[0],i=o*this.scaleValues[1],n=e[0],r=0,a=1;a<e.length;a++){var p=e[a],u=SuperMap.Plot.PlottingUtil.distance(n,p);switch(r%4){case 0:if(u>=l){var s=SuperMap.Plot.PlottingUtil.findPointInLine(n,p,l);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[n,s]),n=s,r++,a--}break;case 1:case 3:var P=3*i;if(u>P)n=SuperMap.Plot.PlottingUtil.findPointInLine(n,p,P),r++,a--;break;case 2:if(u>2*i){var c=SuperMap.Plot.PlottingUtil.findPointInLine(n,p,2*i);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[new SuperMap.Geometry.Point(.5*(n.x+c.x),.5*(n.y+c.y)),c],{fillLimit:!0,fill:!0}),n=c,r++,a--}}}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol610100=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol530200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues[0]=.05,o.scaleValues[1]=.05),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues[0]=this.getSubSymbolScaleValue(),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var l=e*this.scaleValues[0],i=this.getLinePts(o,this.scaleValues[0],5/14),n=this.getLinePts(o,this.scaleValues[0],9/14),r=new SuperMap.Geometry.Point((i.startPt.x+i.endPt.x)/2,(i.startPt.y+i.endPt.y)/2),a=180*SuperMap.Plot.PlottingUtil.radian(i.startPt,i.endPt)/Math.PI;this.createSubSymbol(r,l,a);var p=new SuperMap.Geometry.Point((n.startPt.x+n.endPt.x)/2,(n.startPt.y+n.endPt.y)/2),u=180*SuperMap.Plot.PlottingUtil.radian(n.startPt,n.endPt)/Math.PI;this.createSubSymbol(p,l,u);var s=SuperMap.Plot.PlottingUtil.circlePoint(p,.5*l,.5*l,u+90);this.addScalePoint(s);for(var P=[],c=[],S=[],y=0;y<=i.startIndex;y++)P.push(o[y]);if(P.push(i.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),i.endIndex<=n.startIndex){c.push(i.endPt);for(var h=i.endIndex+1;h<=n.startIndex;h++)c.push(o[h]);c.push(n.startPt),2===o.length&&SuperMap.Plot.PlottingUtil.distance(o[0],i.endPt)<=SuperMap.Plot.PlottingUtil.distance(o[0],n.startPt)&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c),o.length>2&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c)}S.push(n.endPt);for(var f=n.endIndex+1;f<o.length;f++)S.push(o[f]);this.addArrow(S,this.scaleValues[1]),this.finish()}}},{key:"createSubSymbol",value:function(t,e,o){var l=this.getSubSymbolPts1(e);this.createSubSymbol1(t,e,o,l);var i=this.getSubSymbolPts2(e);this.createSubSymbol2(t,e,o,i)}},{key:"createSubSymbol2",value:function(t,e,o,l){for(var i=[],n=0;n<l.length;n++){var r=SuperMap.Plot.PlottingUtil.coordinateTrans(t,l[n],o);i.push(r)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}},{key:"createSubSymbol1",value:function(t,e,o,l){for(var i=[],n=0;n<l.length;n++){var r=SuperMap.Plot.PlottingUtil.coordinateTrans(t,l[n],o);i.push(r)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,i)}},{key:"getSubSymbolPts1",value:function(t){var e=t/2,o=[];return o.push(new SuperMap.Geometry.Point(2*e,0)),o.push(new SuperMap.Geometry.Point(0,e)),o.push(new SuperMap.Geometry.Point(-2*e,0)),o.push(new SuperMap.Geometry.Point(0,-e)),o}},{key:"getSubSymbolPts2",value:function(t){var e=t/2,o=[];return o.push(new SuperMap.Geometry.Point(-e,e)),o.push(new SuperMap.Geometry.Point(e,e)),o}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!==t&&1!==t)return;var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(9*i/14,l),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;r<=.3&&(this.scaleValues[0]=r)}}}]),e}();SuperMap.Plot.AlgoSymbol530200=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol530100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues[0]=.05,o.scaleValues[1]=.05),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue(o),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var l=this.getLinePts(e,this.scaleValues[0]),i=new SuperMap.Geometry.Point((l.startPt.x+l.endPt.x)/2,(l.startPt.y+l.endPt.y)/2),n=180*SuperMap.Plot.PlottingUtil.radian(l.startPt,l.endPt)/Math.PI,r=SuperMap.Plot.PlottingUtil.distance(l.startPt,l.endPt);if(0<this.subSymbols.length)this.computeSubSymbol(this.subSymbols[0],i,r,n-90);else{var a=new SuperMap.Geometry.Point(-.5*r,.25*r),p=new SuperMap.Geometry.Point(-.5*r,-.25*r),u=SuperMap.Plot.PlottingUtil.coordinateTrans(i,a,n),s=SuperMap.Plot.PlottingUtil.coordinateTrans(i,p,n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[u,s]);var P=new SuperMap.Geometry.Point(-.5*r,.125*r),c=new SuperMap.Geometry.Point(.25*r,.125*r),S=new SuperMap.Geometry.Point(.5*r,0),y=new SuperMap.Geometry.Point(.25*r,-.125*r),h=new SuperMap.Geometry.Point(-.5*r,-.125*r),f=SuperMap.Plot.PlottingUtil.coordinateTrans(i,P,n),g=SuperMap.Plot.PlottingUtil.coordinateTrans(i,c,n),M=SuperMap.Plot.PlottingUtil.coordinateTrans(i,S,n),b=SuperMap.Plot.PlottingUtil.coordinateTrans(i,y,n),m=SuperMap.Plot.PlottingUtil.coordinateTrans(i,h,n);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[f,g,M,b,m])}for(var d=[],v=[],O=0;O<=l.startIndex;O++)d.push(e[O]);if(d.push(l.startPt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d),l.endIndex<=e.length){v.push(l.endPt);for(var U=l.endIndex+1;U<=e.length-1;U++)v.push(e[U]);this.addDovetailArrow(v,this.scaleValues[1])}var w=SuperMap.Plot.PlottingUtil.circlePoint(i,.5*r,.5*r,n+90);this.addScalePoint(w,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*i,l),r=2*SuperMap.Plot.PlottingUtil.distance(n.pts,e)/i;this.scaleValues[0]=r<=.5?r:.5}}}]),e}();SuperMap.Plot.AlgoSymbol530100=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol520500=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.02),o.scaleValues.push(.01)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue(o),this.scaleValues[1]=.15*this.getSubSymbolScaleValue(o));var l=.5*o,i=180*SuperMap.Plot.PlottingUtil.radian(t[0],t[1])/Math.PI,n=o*this.scaleValues[0],r=Math.sqrt(n*n+n*n)+n/2,a=l-r,p=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e).pts,u=this.computeXPts(p,n,e,i),s=[];s.push(new SuperMap.Geometry.Point(u[0].x,u[0].y)),s.push(new SuperMap.Geometry.Point(u[1].x,u[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);var P=[];P.push(new SuperMap.Geometry.Point(u[2].x,u[2].y)),P.push(new SuperMap.Geometry.Point(u[3].x,u[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var c=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l,e).pts,S=this.computeXPts(c,n,e,i),y=[];y.push(new SuperMap.Geometry.Point(S[0].x,S[0].y)),y.push(new SuperMap.Geometry.Point(S[1].x,S[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var h=[];h.push(new SuperMap.Geometry.Point(S[2].x,S[2].y)),h.push(new SuperMap.Geometry.Point(S[3].x,S[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var f=l+r,g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(f,e).pts,M=this.computeXPts(g,n,e,i),b=[];b.push(new SuperMap.Geometry.Point(M[0].x,M[0].y)),b.push(new SuperMap.Geometry.Point(M[1].x,M[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var m=[];m.push(new SuperMap.Geometry.Point(M[2].x,M[2].y)),m.push(new SuperMap.Geometry.Point(M[3].x,M[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);var d=l-2*r,v=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(d,e);if(v.bfind){for(var O=v.index,U=v.pts,w=[],L=0;L<=O;L++)w.push(e[L]);w.push(U);var _=o*this.scaleValues[1];this.computeDashLines(w,_)}var x=l+2*r,A=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(x,e);if(A.bfind){var Y=A.index,V=A.pts,E=[];if(Y<=e.length){E.push(V);for(var T=Y+1;T<=e.length-1;T++)E.push(e[T])}this.computeDashLines(E,_)}var j=SuperMap.Plot.PlottingUtil.circlePoint(t[0],r,r,90);this.addScalePoint(j,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=.5*SuperMap.Plot.PlottingUtil.distance(o[0],e)/i;n>=.12&&(n=.12),this.scaleValues[0]=n}}},{key:"computeXPts",value:function(t,e,o,l){var i=[],n=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+45),r=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+225);i.push(n),i.push(r);var a=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+135),p=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+315);return i.push(a),i.push(p),i}},{key:"computeDashLines",value:function(t,e){for(var o=this.computeDashLine(2*e,2*e,t),l=.5*e,i=0;i<o.length;i++){var n=o[i];if(!((n=SuperMap.Plot.PlottingUtil.clearSamePts(n)).length<=1)){var r=new SuperMap.Geometry.Point(n[0].x,n[0].y),a=new SuperMap.Geometry.Point(n[n.length-1].x,n[n.length-1].y),p=180*SuperMap.Plot.PlottingUtil.radian(r,a)/Math.PI,u=SuperMap.Plot.PlottingUtil.circlePoint(r,l,l,p+90),s=SuperMap.Plot.PlottingUtil.circlePoint(r,l,l,p+270),P=SuperMap.Plot.PlottingUtil.circlePoint(a,l,l,p+90),c=SuperMap.Plot.PlottingUtil.circlePoint(a,l,l,p+270),S=[];S.push(u),S.push(s),S.push(c),S.push(P),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,S,{fillLimit:!0,fill:!0})}}}}]),e}();SuperMap.Plot.AlgoSymbol520500=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol520300=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.05),o.scaleValues.push(.05)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length?(this.scaleValues[0]=.05,this.scaleValues[1]=.05):1==this.scaleValues.length&&(this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!1);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.8*this.getSubSymbolScaleValue(o),this.scaleValues[1]=.5*this.getSubSymbolScaleValue());var l=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,.3*o);if(-1!==l.index){var i=l.pt,n=l.index,r=o*this.scaleValues[0]*.5,a=SuperMap.Plot.PlottingUtil.radian(i,e[n+1])*SuperMap.Plot.PlottingUtil.RTOD,p=SuperMap.Plot.PlottingUtil.circlePoint(i,r,r,a+90),u=SuperMap.Plot.PlottingUtil.circlePoint(i,r,r,a-90),s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,i,p),P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,i,u);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s.pntLeft,s.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[P.pntLeft,P.pntRight]);var c=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,.6*o);if(-1!==c.index){var S=c.pt,y=c.index,h=SuperMap.Plot.PlottingUtil.radian(S,e[y+1])*SuperMap.Plot.PlottingUtil.RTOD,f=SuperMap.Plot.PlottingUtil.circlePoint(S,r,r,h+90),g=SuperMap.Plot.PlottingUtil.circlePoint(S,r,r,h-90),M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,S,f),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,S,g);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[M.pntLeft,M.pntRight]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[b.pntLeft,b.pntRight]),this.addDovetailArrow(e,this.scaleValues[1]),this.addScalePoint(g,0),this.finish()}}}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(0!=t)return;var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.minEditPts>o.length)return;var l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o,!1);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.6*i,l);if(!n.bfind)return;var r=2*SuperMap.Plot.PlottingUtil.distance(e,n.pts);this.scaleValues[0]=r/i}}}]),e}();SuperMap.Plot.AlgoSymbol520300=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol520200=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol520100),l(e,[{key:"computeSubSymbol",value:function(t,e){var o=.5*e,l=[];l.push(t),l.push(new SuperMap.Geometry.Point(t.x+o,t.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,l);var i=.6*o,n=SuperMap.Plot.PlottingUtil.circlePoint(t,i,i,60),r=new SuperMap.Geometry.Point(t.x-.3*o,t.y),a=SuperMap.Plot.PlottingUtil.circlePoint(t,i,i,240),p=new SuperMap.Geometry.Point(t.x+.3*o,t.y),u=[];u.push(n),u.push(r),u.push(t),u.push(p),u.push(a),u.push(t),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u,{fillLimit:!0,fill:!0})}}]),e}();SuperMap.Plot.AlgoSymbol520200=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol520100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.5),o.scaleValues.push(.03)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues[1]=this.getSubSymbolScaleValue());for(var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=this.scaleValues[1]*e,l=this.scaleValues[0]*e,i=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,l).pt,n=[],r=0;r<t.length;r++){if(r===t.length-1){n.push(t[r]);break}n.push(t[r]);var a=[];if(this.intersectLineAndCircle(t[r],t[r+1],i,o,a))for(var p=0;p<a.length;p++)n.push(a[p])}for(var u=[],s=0;s<n.length;s++){if(s===n.length-1){0!==u.length&&(u.push(n[s]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),u=[]);break}this.isLineInCircle(n[s],n[s+1],i,o)?0!==u.length&&(u.push(n[s]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u),u=[]):u.push(n[s])}this.computeSubSymbol(i,2*o),this.addScalePoint(i);var P=new SuperMap.Geometry.Point(i.x+o,i.y);SuperMap.Plot.PlottingUtil.rotateAngle(i,30,P),this.addScalePoint(P),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){if(this.scalePoints.length<=t)return;var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var l=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){for(var i=0,n=-1,r=null,a=0;a<o.length-1;a++){var p=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,o[a],o[a+1]);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(p.projectPoint,o[a],o[a+1])){var u=SuperMap.Plot.PlottingUtil.distance(p.projectPoint,e);0===i?(i=u,n=a,r=p.projectPoint):u<i&&(i=u,n=a,r=p.projectPoint)}}if(-1===n)return;for(var s=0,P=0;P<n;P++)s+=SuperMap.Plot.PlottingUtil.distance(o[P],o[P+1]);var c=(s+=SuperMap.Plot.PlottingUtil.distance(r,o[n]))/l;c>1&&(c=1),this.scaleValues[0]=c}if(1===t){var S=this.scaleValues[0]*l,y=SuperMap.Plot.PlottingUtil.findPointInPolyLine(o,S);if(-1===y.index)return;var h=SuperMap.Plot.PlottingUtil.distance(y.pt,e)/l;h>.4&&(h=.4),this.scaleValues[1]=h}}}},{key:"intersectLineAndCircle",value:function(t,e,o,l,i){for(var n=!1,r=SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[o,new SuperMap.Geometry.Point(o.x+l,o.y)]),a=0;a<r.length-1;a++){var p=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.intersectLineSegs(t,e,r[a],r[a+1],p)&&(n=!0,i.push(p))}if(t.x>e.x){for(var u=0;u<i.length&&u!==i.length-1;u++)if(i[u].x<i[u+1].x){var s=i[u];i[u]=i[u+1],i[u+1]=s}}else if(t.x<e.x){for(var P=0;P<i.length&&P!==i.length-1;P++)if(i[P].x>i[P+1].x){var c=i[P];i[P]=i[P+1],i[P+1]=c}}else if(t.y>e.y){for(var S=0;S<i.length&&S!==i.length-1;S++)if(i[S].y<i[S+1].y){var y=i[S];i[S]=i[S+1],i[S+1]=y}}else if(t.y<e.y)for(var h=0;h<i.length&&h!==i.length-1;h++)if(i[h].y>i[h+1].y){var f=i[h];i[h]=i[h+1],i[h+1]=f}return n}},{key:"isLineInCircle",value:function(t,e,o,l){var i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2);return SuperMap.Plot.PlottingUtil.distance(i,o)<l}},{key:"computeSubSymbol",value:function(t,e){var o=.5*e,l=[];l.push(t),l.push(new SuperMap.Geometry.Point(t.x+o,t.y)),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,l);var i=[];i.push(new SuperMap.Geometry.Point(t.x-o,t.y)),i.push(new SuperMap.Geometry.Point(t.x+o,t.y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);var n=new SuperMap.Geometry.Point(t.x+.75*o,t.y),r=.8*o,a=SuperMap.Plot.PlottingUtil.circlePoint(n,r,r,155),p=SuperMap.Plot.PlottingUtil.circlePoint(n,r,r,205),u=[];u.push(a);var s=r*(Math.cos(25*SuperMap.Plot.PlottingUtil.DTOR)-Math.cos(75*SuperMap.Plot.PlottingUtil.DTOR));u.push(new SuperMap.Geometry.Point(n.x-s,n.y)),u.push(p),u.push(n),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u,{fillLimit:!0,fill:!0})}}]),e}();SuperMap.Plot.AlgoSymbol520100=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol510100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.0375),o.scaleValues.push(.025)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.3*this.getSubSymbolScaleValue(o),this.scaleValues[1]=.35*this.getSubSymbolScaleValue());var l=.5*o,i=180*SuperMap.Plot.PlottingUtil.radian(t[0],t[1])/Math.PI,n=o*this.scaleValues[0],r=Math.sqrt(n*n+n*n)+n/2,a=l-r,p=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(a,e).pts,u=this.computeXPts(p,n,e,i),s=[];s.push(new SuperMap.Geometry.Point(u[0].x,u[0].y)),s.push(new SuperMap.Geometry.Point(u[1].x,u[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s);var P=[];P.push(new SuperMap.Geometry.Point(u[2].x,u[2].y)),P.push(new SuperMap.Geometry.Point(u[3].x,u[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P);var c=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(l,e).pts,S=this.computeXPts(c,n,e,i),y=[];y.push(new SuperMap.Geometry.Point(S[0].x,S[0].y)),y.push(new SuperMap.Geometry.Point(S[1].x,S[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var h=[];h.push(new SuperMap.Geometry.Point(S[2].x,S[2].y)),h.push(new SuperMap.Geometry.Point(S[3].x,S[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h);var f=l+r,g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(f,e).pts,M=this.computeXPts(g,n,e,i),b=[];b.push(new SuperMap.Geometry.Point(M[0].x,M[0].y)),b.push(new SuperMap.Geometry.Point(M[1].x,M[1].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b);var m=[];m.push(new SuperMap.Geometry.Point(M[2].x,M[2].y)),m.push(new SuperMap.Geometry.Point(M[3].x,M[3].y)),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m);for(var d=l-2*r,v=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(d,e),O=v.index,U=v.pts,w=[],L=0;L<=O;L++)w.push(e[L]);w.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w);var _=l+2*r,x=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(_,e),A=x.index,Y=x.pts,V=[];if(A<=e.length){V.push(Y);for(var E=A+1;E<=e.length-1;E++)V.push(e[E])}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V);var T=e[0],j=e[1],I=e[e.length-2],C=e[e.length-1],B=o*this.scaleValues[1],G=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(B,j,T),N=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(B,I,C),D=[];D.push(T),D.push(G.pntRight),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,D);var R=[];R.push(C),R.push(N.pntLeft),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,R);var k=SuperMap.Plot.PlottingUtil.circlePoint(t[0],r,r,90);this.addScalePoint(k,0),this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(0===t&&!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var l=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o);l=SuperMap.Plot.PlottingUtil.clearSamePts(l);var i=SuperMap.Plot.PlottingUtil.polylineDistance(l),n=.5*SuperMap.Plot.PlottingUtil.distance(o[0],e)/i;n>=.12&&(n=.12),this.scaleValues[0]=n}}},{key:"computeXPts",value:function(t,e,o,l){var i=[],n=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+45),r=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+225);i.push(n),i.push(r);var a=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+135),p=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,l+315);return i.push(a),i.push(p),i}}]),e}();SuperMap.Plot.AlgoSymbol510100=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol29101=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol29100),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.25*this.getSubSymbolScaleValue());var o=[];o=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o);for(var l=0;l<4;l++){var i=l*(o.length-1)/4,n=new SuperMap.Geometry.Point(o[i].x,o[i].y),r=new SuperMap.Geometry.Point(o[i+1].x,o[i+1].y),a=new SuperMap.Geometry.Point((n.x+r.x)/2,(n.y+r.y)/2),p=SuperMap.Plot.PlottingUtil.radian(a,r)*SuperMap.Plot.PlottingUtil.RTOD,u=this.scaleValues[0]*e/2,s=SuperMap.Plot.PlottingUtil.circlePoint(a,u,u,p),P=SuperMap.Plot.PlottingUtil.circlePoint(a,4*u,4*u,p+270),c=SuperMap.Plot.PlottingUtil.circlePoint(a,u,u,p+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P,c])}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29101=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol29100=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.05),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);this.isEdit||(this.scaleValues[0]=.25*this.getSubSymbolScaleValue());var o=[];o=3>=t.length?SuperMap.Plot.Primitives.getSpatialData(SuperMap.Plot.SymbolType.KIDNEY,t):SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t,!0),o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o);for(var l=0;l<4;l++){var i=Math.floor(l*o.length/4),n=new SuperMap.Geometry.Point(o[i].x,o[i].y),r=new SuperMap.Geometry.Point(o[i+1].x,o[i+1].y),a=new SuperMap.Geometry.Point((n.x+r.x)/2,(n.y+r.y)/2),p=SuperMap.Plot.PlottingUtil.radian(r,a)*SuperMap.Plot.PlottingUtil.RTOD,u=this.scaleValues[0]*e/2,s=SuperMap.Plot.PlottingUtil.circlePoint(a,u,u,p),P=SuperMap.Plot.PlottingUtil.circlePoint(a,4*u,4*u,p+270),c=SuperMap.Plot.PlottingUtil.circlePoint(a,u,u,p+180);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[s,P,c],{lineTypeLimit:!0,surroundLineLimit:!0})}this.finish()}}}]),e}();SuperMap.Plot.AlgoSymbol29100=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol15200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.05),o.scaleValues.push(0),o.scaleValues.push(.185)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var o=0,l=0,i=e.length-1;l<i;l++)o+=SuperMap.Plot.PlottingUtil.distance(e[l],e[l+1]);for(var n=0,r=0,a=t.length-1;r<a;r++)n+=SuperMap.Plot.PlottingUtil.distance(t[r],t[r+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());for(var p=this.scaleValues[0]*n,u=this.scaleValues[1],s=this.scaleValues[2]*n,P=.3*s,c=s;c<o;c+=s){var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(c,e);if(-1===S.index)return void this.finish();var y=c+P,h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(y,e);if(-1===h.index)return void this.finish();var f=[],g=[];f.push(S.pts);var M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,e[S.index],S.pts);0===u?f.push(new SuperMap.Geometry.Point(M.pntLeft.x,M.pntLeft.y)):f.push(new SuperMap.Geometry.Point(M.pntRight.x,M.pntRight.y)),g.push(h.pts);var b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(p,e[h.index],h.pts);if(0===u?g.push(new SuperMap.Geometry.Point(b.pntLeft.x,b.pntLeft.y)):g.push(new SuperMap.Geometry.Point(b.pntRight.x,b.pntRight.y)),s===c){this.scalePoints=[];var m=new SuperMap.Geometry.Point(f[1].x,f[1].y);m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m),(m=new SuperMap.Geometry.Point(f[0].x,f[0].y)).isScalePoint=!0,m.tag=1,this.scalePoints.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,g)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;for(var l=0,i=0,n=o.length-1;i<n;i++)l+=SuperMap.Plot.PlottingUtil.distance(o[i],o[i+1]);var r=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o),a=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,l*this.scaleValues[2]);if(-1===p.index)return;var u=SuperMap.Plot.PlottingUtil.distance(p.pt,a)/l,s=SuperMap.Plot.PlottingUtil.pointIsRightToLine(r[0],r[1],e);this.scaleValues[1]=s?1:0,this.scaleValues[0]=u}else if(1===t){for(var P=0,c=-1,S=[],y=0,h=r.length-1;y<h;y++){var f=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,r[y],r[y+1]);if(f.isOnline){var g=SuperMap.Plot.PlottingUtil.distance(f.projectPoint,this.controlPoints[1]);0==P?(P=g,c=y,S=e):g<P&&(P=g,c=y,S=e)}}if(-1==c)return;for(var M=0,b=0,m=c-1;b<m;b++)M+=SuperMap.Plot.PlottingUtil.distance(r[b],r[b+1]);var d=(M+=SuperMap.Plot.PlottingUtil.distance(S,r[c]))/l;d>.7&&(d=.7),this.scaleValues[2]=d}}}}]),e}();SuperMap.Plot.AlgoSymbol15200=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var o=0;o<e.length;o++){var l=e[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(t,l.key,l)}}return function(e,o,l){return o&&t(e.prototype,o),l&&t(e,l),e}}();var i=e.AlgoSymbol15804=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.029615),o.scaleValues.push(1),o.scaleValues.push(.12)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol15800),l(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=this.scaleValues[0],l=SuperMap.Plot.PlottingUtil.polylineDistance(t),i=o*l,n=this.scaleValues[2]*l*.5,r=!1;r=0===this.scaleValues[1];var a=SuperMap.Plot.PlottingUtil.polylineDistance(e);if(0!==a){for(var p=[],u=0;u<=a;u+=n){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,u);if(!(s.index<0)){var P=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,e[s.index+1],s.pt);if(r?p.push(P.pntRight):p.push(P.pntLeft),Math.abs(u)<=1e-6){this.scalePoints=[];var c=new SuperMap.Geometry.Point(p[0].x,p[0].y);c.isScalePoint=!0,c.tag=0,this.scalePoints.push(c)}else Math.abs(2*n-u)<=1e-6&&((c=new SuperMap.Geometry.Point(s.pt.x,s.pt.y)).isScalePoint=!0,c.tag=1,this.scalePoints.push(c));r=!r}}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p);for(var S=p.length,y=0,h=0;h<S-1;++h){var f=new SuperMap.Geometry.Point(p[h].x,p[h].y),g=new SuperMap.Geometry.Point(p[h+1].x,p[h+1].y);y=.3*SuperMap.Plot.PlottingUtil.distance(f,g);var M=[],b=new SuperMap.Geometry.Point(.5*(f.x+g.x),.5*(f.y+g.y)),m=SuperMap.Plot.PlottingUtil.dirAngle(f,g)*SuperMap.Plot.PlottingUtil.RTOD,d=SuperMap.Plot.PlottingUtil.circlePoint(b,y,y,m+90),v=1.5*y,O=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+260),U=SuperMap.Plot.PlottingUtil.circlePoint(d,v,v,m+280);M.push(O),M.push(d),M.push(U),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M)}this.finish()}}}}]),e}();SuperMap.Plot.AlgoSymbol15804=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbol610100=e.AlgoSymbol530200=e.AlgoSymbol530100=e.AlgoSymbol520500=e.AlgoSymbol520300=e.AlgoSymbol520200=e.AlgoSymbol520100=e.AlgoSymbol510100=e.AlgoSymbol29101=e.AlgoSymbol29100=e.AlgoSymbol15200=e.AlgoSymbol15804=void 0;var l=o(11),i=o(10),n=o(9),r=o(8),a=o(7),p=o(6),u=o(5),s=o(4),P=o(3),c=o(2),S=o(1),y=o(0);e.AlgoSymbol15804=l.AlgoSymbol15804,e.AlgoSymbol15200=i.AlgoSymbol15200,e.AlgoSymbol29100=n.AlgoSymbol29100,e.AlgoSymbol29101=r.AlgoSymbol29101,e.AlgoSymbol510100=a.AlgoSymbol510100,e.AlgoSymbol520100=p.AlgoSymbol520100,e.AlgoSymbol520200=u.AlgoSymbol520200,e.AlgoSymbol520300=s.AlgoSymbol520300,e.AlgoSymbol520500=P.AlgoSymbol520500,e.AlgoSymbol530100=c.AlgoSymbol530100,e.AlgoSymbol530200=S.AlgoSymbol530200,e.AlgoSymbol610100=y.AlgoSymbol610100},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.YJAlgoSymbolFactory=void 0,o(12);e.YJAlgoSymbolFactory=SuperMap.Plot.YJAlgoSymbolFactory=SuperMap.Plot.YJAlgoSymbolFactory||{};SuperMap.Plot.YJAlgoSymbolFactory.getAlgoSymbol=function(t,e,o){if(999!==t)return new SuperMap.Plot.AlgoSymbol(o);switch(e){case 510100:return new SuperMap.Plot.AlgoSymbol510100(o);case 510200:return new SuperMap.Plot.AlgoSymbol15804(o);case 520100:return new SuperMap.Plot.AlgoSymbol520100(o);case 520200:return new SuperMap.Plot.AlgoSymbol520200(o);case 520300:return new SuperMap.Plot.AlgoSymbol520300(o);case 520400:return new SuperMap.Plot.AlgoSymbol15200(o);case 520500:return new SuperMap.Plot.AlgoSymbol520500(o);case 530100:return new SuperMap.Plot.AlgoSymbol530100(o);case 530200:return new SuperMap.Plot.AlgoSymbol530200(o);case 610100:return new SuperMap.Plot.AlgoSymbol610100(o);case 610200:return new SuperMap.Plot.AlgoSymbol29100(o);case 610300:return new SuperMap.Plot.AlgoSymbol29101(o);default:return new SuperMap.Plot.AlgoSymbol(o)}},SuperMap.Plot.YJAlgoSymbolFactory.isAccessServer=function(t,e){if(999!==t)return!0;switch(e){case 510100:case 510200:case 520100:case 520200:case 520300:case 520400:case 520500:case 530100:case 530200:case 610100:return!1;default:return!0}},SuperMap.Plot.YJAlgoSymbolFactory.getSymbolWayType=function(t,e){if(999===t)switch(e){case 510100:case 510200:case 520100:case 520200:case 520300:case 520400:case 520500:case 530100:case 530200:case 610100:case 610200:case 610300:return SuperMap.Plot.AddPoint_WayType.CURVE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}},SuperMap.Plot.YJAlgoSymbolFactory.getDefaultSubSymbols=function(){return[]},SuperMap.Plot.YJAlgoSymbolFactory.getMinEditPts=function(t,e){if(999!==t)return 0;switch(e){case 510100:case 510200:case 520100:case 520200:case 520300:case 520400:case 520500:case 530100:case 530200:case 610100:case 610200:case 610300:return 2;default:return 0}},SuperMap.Plot.YJAlgoSymbolFactory.getMaxEditPts=function(t,e){if(999!==t)return 0;switch(e){case 510100:case 510200:case 520100:case 520200:case 520300:case 520400:case 520500:case 530100:case 530200:case 610100:return 9999;case 610200:case 610300:return 3;default:return 0}},SuperMap.Plot.YJAlgoSymbolFactory.getDefaultStyle=function(){return{}},SuperMap.Plot.YJAlgoSymbolFactory.canSetSubSymbol=function(t,e){return SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(t,e).length>0},SuperMap.Plot.YJAlgoSymbolFactory.zoomInCalSymbol=function(){return!1},SuperMap.Plot.YJAlgoSymbolFactory.zoomCalSymbol=function(){return!1}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.YJAlgoSymbolFactory=void 0;var l=o(13);e.YJAlgoSymbolFactory=l.YJAlgoSymbolFactory}]);
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports) {
-
-/*!
- * 
- *          iclient9-plot-webgl.(http://iclient.supermap.io)
- *          Copyright© 2000 - 2018 SuperMap Software Co.Ltd
- *          license: undefined
- *          version: v9.1.0
- *         
- */!function(t){var e={};function o(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)o.d(n,i,function(e){return t[e]}.bind(null,i));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=115)}([function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),(e.SuperMap=window.SuperMap=window.SuperMap||{}).Widgets=window.SuperMap.Widgets||{}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Util=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=o(0);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                               * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                               * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/o(2);var l,r,a;e.Util=i.SuperMap.Util=i.SuperMap.Util||{};i.SuperMap.Util.extend=function(t,e){if(t=t||{},e){for(var o in e){var n=e[o];void 0!==n&&(t[o]=n)}!("function"==typeof window.Event&&e instanceof window.Event)&&e.hasOwnProperty&&e.hasOwnProperty("toString")&&(t.toString=e.toString)}return t},i.SuperMap.Util.copy=function(t,e){var o;if(t=t||{},e)for(var n in t)void 0!==(o=e[n])&&(t[n]=o)},i.SuperMap.Util.reset=function(t){for(var e in t=t||{})if(t.hasOwnProperty(e)){if("object"===n(t[e])&&t[e]instanceof Array){for(var o in t[e])t[e][o].destroy&&t[e][o].destroy();t[e].length=0}else"object"===n(t[e])&&t[e]instanceof Object&&t[e].destroy&&t[e].destroy();t[e]=null}},i.SuperMap.Util.getElement=function(){for(var t=[],e=0,o=arguments.length;e<o;e++){var n=arguments[e];if("string"==typeof n&&(n=document.getElementById(n)),1===arguments.length)return n;t.push(n)}return t},i.SuperMap.Util.isElement=function(t){return!(!t||1!==t.nodeType)},i.SuperMap.Util.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)},i.SuperMap.Util.removeItem=function(t,e){for(var o=t.length-1;o>=0;o--)t[o]===e&&t.splice(o,1);return t},i.SuperMap.Util.indexOf=function(t,e){if(null==t)return-1;if("function"==typeof t.indexOf)return t.indexOf(e);for(var o=0,n=t.length;o<n;o++)if(t[o]===e)return o;return-1},i.SuperMap.Util.modifyDOMElement=function(t,e,o,n,i,l,r,a){e&&(t.id=e),o&&(t.style.left=o.x+"px",t.style.top=o.y+"px"),n&&(t.style.width=n.w+"px",t.style.height=n.h+"px"),i&&(t.style.position=i),l&&(t.style.border=l),r&&(t.style.overflow=r),parseFloat(a)>=0&&parseFloat(a)<1?(t.style.filter="alpha(opacity="+100*a+")",t.style.opacity=a):1===parseFloat(a)&&(t.style.filter="",t.style.opacity="")},i.SuperMap.Util.applyDefaults=function(t,e){t=t||{};var o="function"==typeof window.Event&&e instanceof window.Event;for(var n in e)(void 0===t[n]||!o&&e.hasOwnProperty&&e.hasOwnProperty(n)&&!t.hasOwnProperty(n))&&(t[n]=e[n]);return!o&&e&&e.hasOwnProperty&&e.hasOwnProperty("toString")&&!t.hasOwnProperty("toString")&&(t.toString=e.toString),t},i.SuperMap.Util.getParameterString=function(t){var e=[];for(var o in t){var i=t[o];if(null!=i&&"function"!=typeof i){var l;if("object"===(void 0===i?"undefined":n(i))&&i.constructor===Array){for(var r,a=[],s=0,u=i.length;s<u;s++)r=i[s],a.push(encodeURIComponent(null===r||void 0===r?"":r));l=a.join(",")}else l=encodeURIComponent(i);e.push(encodeURIComponent(o)+"="+l)}}return e.join("&")},i.SuperMap.Util.urlAppend=function(t,e){var o=t;if(e){var n=(t+" ").split(/[?&]/);o+=" "===n.pop()?e:n.length?"&"+e:"?"+e}return o},i.SuperMap.Util.DEFAULT_PRECISION=14,i.SuperMap.Util.toFloat=function(t,e){return null==e&&(e=i.SuperMap.Util.DEFAULT_PRECISION),"number"!=typeof t&&(t=parseFloat(t)),0===e?t:parseFloat(t.toPrecision(e))},i.SuperMap.Util.rad=function(t){return t*Math.PI/180},i.SuperMap.Util.getParameters=function(t){t=null===t||void 0===t?window.location.href:t;var e="";if(i.SuperMap.String.contains(t,"?")){var o=t.indexOf("?")+1,n=i.SuperMap.String.contains(t,"#")?t.indexOf("#"):t.length;e=t.substring(o,n)}for(var l={},r=e.split(/[&;]/),a=0,s=r.length;a<s;++a){var u=r[a].split("=");if(u[0]){var p=u[0];try{p=decodeURIComponent(p)}catch(t){p=unescape(p)}var c=(u[1]||"").replace(/\+/g," ");try{c=decodeURIComponent(c)}catch(t){c=unescape(c)}1==(c=c.split(",")).length&&(c=c[0]),l[p]=c}}return l},i.SuperMap.Util.lastSeqID=0,i.SuperMap.Util.createUniqueID=function(t){return null==t&&(t="id_"),i.SuperMap.Util.lastSeqID+=1,t+i.SuperMap.Util.lastSeqID},i.SuperMap.INCHES_PER_UNIT={inches:1,ft:12,mi:63360,m:39.3701,km:39370.1,dd:4374754,yd:36},i.SuperMap.INCHES_PER_UNIT.in=i.SuperMap.INCHES_PER_UNIT.inches,i.SuperMap.INCHES_PER_UNIT.degrees=i.SuperMap.INCHES_PER_UNIT.dd,i.SuperMap.INCHES_PER_UNIT.nmi=1852*i.SuperMap.INCHES_PER_UNIT.m,i.SuperMap.METERS_PER_INCH=.0254000508001016,i.SuperMap.Util.extend(i.SuperMap.INCHES_PER_UNIT,{Inch:i.SuperMap.INCHES_PER_UNIT.inches,Meter:1/i.SuperMap.METERS_PER_INCH,Foot:.3048006096012192/i.SuperMap.METERS_PER_INCH,IFoot:.3048/i.SuperMap.METERS_PER_INCH,ClarkeFoot:.3047972651151/i.SuperMap.METERS_PER_INCH,SearsFoot:.30479947153867626/i.SuperMap.METERS_PER_INCH,GoldCoastFoot:.3047997101815088/i.SuperMap.METERS_PER_INCH,IInch:.0254/i.SuperMap.METERS_PER_INCH,MicroInch:254e-7/i.SuperMap.METERS_PER_INCH,Mil:2.54e-8/i.SuperMap.METERS_PER_INCH,Centimeter:.01/i.SuperMap.METERS_PER_INCH,Kilometer:1e3/i.SuperMap.METERS_PER_INCH,Yard:.9144018288036576/i.SuperMap.METERS_PER_INCH,SearsYard:.914398414616029/i.SuperMap.METERS_PER_INCH,IndianYard:.9143985307444408/i.SuperMap.METERS_PER_INCH,IndianYd37:.91439523/i.SuperMap.METERS_PER_INCH,IndianYd62:.9143988/i.SuperMap.METERS_PER_INCH,IndianYd75:.9143985/i.SuperMap.METERS_PER_INCH,IndianFoot:.30479951/i.SuperMap.METERS_PER_INCH,IndianFt37:.30479841/i.SuperMap.METERS_PER_INCH,IndianFt62:.3047996/i.SuperMap.METERS_PER_INCH,IndianFt75:.3047995/i.SuperMap.METERS_PER_INCH,Mile:1609.3472186944373/i.SuperMap.METERS_PER_INCH,IYard:.9144/i.SuperMap.METERS_PER_INCH,IMile:1609.344/i.SuperMap.METERS_PER_INCH,NautM:1852/i.SuperMap.METERS_PER_INCH,"Lat-66":110943.31648893273/i.SuperMap.METERS_PER_INCH,"Lat-83":110946.25736872235/i.SuperMap.METERS_PER_INCH,Decimeter:.1/i.SuperMap.METERS_PER_INCH,Millimeter:.001/i.SuperMap.METERS_PER_INCH,Dekameter:10/i.SuperMap.METERS_PER_INCH,Decameter:10/i.SuperMap.METERS_PER_INCH,Hectometer:100/i.SuperMap.METERS_PER_INCH,GermanMeter:1.0000135965/i.SuperMap.METERS_PER_INCH,CaGrid:.999738/i.SuperMap.METERS_PER_INCH,ClarkeChain:20.1166194976/i.SuperMap.METERS_PER_INCH,GunterChain:20.11684023368047/i.SuperMap.METERS_PER_INCH,BenoitChain:20.116782494375872/i.SuperMap.METERS_PER_INCH,SearsChain:20.11676512155/i.SuperMap.METERS_PER_INCH,ClarkeLink:.201166194976/i.SuperMap.METERS_PER_INCH,GunterLink:.2011684023368047/i.SuperMap.METERS_PER_INCH,BenoitLink:.20116782494375873/i.SuperMap.METERS_PER_INCH,SearsLink:.2011676512155/i.SuperMap.METERS_PER_INCH,Rod:5.02921005842012/i.SuperMap.METERS_PER_INCH,IntnlChain:20.1168/i.SuperMap.METERS_PER_INCH,IntnlLink:.201168/i.SuperMap.METERS_PER_INCH,Perch:5.02921005842012/i.SuperMap.METERS_PER_INCH,Pole:5.02921005842012/i.SuperMap.METERS_PER_INCH,Furlong:201.1684023368046/i.SuperMap.METERS_PER_INCH,Rood:3.778266898/i.SuperMap.METERS_PER_INCH,CapeFoot:.3047972615/i.SuperMap.METERS_PER_INCH,Brealey:375/i.SuperMap.METERS_PER_INCH,ModAmFt:.304812252984506/i.SuperMap.METERS_PER_INCH,Fathom:1.8288/i.SuperMap.METERS_PER_INCH,"NautM-UK":1853.184/i.SuperMap.METERS_PER_INCH,"50kilometers":5e4/i.SuperMap.METERS_PER_INCH,"150kilometers":15e4/i.SuperMap.METERS_PER_INCH}),i.SuperMap.Util.extend(i.SuperMap.INCHES_PER_UNIT,{mm:i.SuperMap.INCHES_PER_UNIT.Meter/1e3,cm:i.SuperMap.INCHES_PER_UNIT.Meter/100,dm:100*i.SuperMap.INCHES_PER_UNIT.Meter,km:1e3*i.SuperMap.INCHES_PER_UNIT.Meter,kmi:i.SuperMap.INCHES_PER_UNIT.nmi,fath:i.SuperMap.INCHES_PER_UNIT.Fathom,ch:i.SuperMap.INCHES_PER_UNIT.IntnlChain,link:i.SuperMap.INCHES_PER_UNIT.IntnlLink,"us-in":i.SuperMap.INCHES_PER_UNIT.inches,"us-ft":i.SuperMap.INCHES_PER_UNIT.Foot,"us-yd":i.SuperMap.INCHES_PER_UNIT.Yard,"us-ch":i.SuperMap.INCHES_PER_UNIT.GunterChain,"us-mi":i.SuperMap.INCHES_PER_UNIT.Mile,"ind-yd":i.SuperMap.INCHES_PER_UNIT.IndianYd37,"ind-ft":i.SuperMap.INCHES_PER_UNIT.IndianFt37,"ind-ch":20.11669506/i.SuperMap.METERS_PER_INCH}),i.SuperMap.DOTS_PER_INCH=96,i.SuperMap.Util.normalizeScale=function(t){return t>1?1/t:t},i.SuperMap.Util.getResolutionFromScale=function(t,e){var o;t&&(null==e&&(e="degrees"),o=1/(i.SuperMap.Util.normalizeScale(t)*i.SuperMap.INCHES_PER_UNIT[e]*i.SuperMap.DOTS_PER_INCH));return o},i.SuperMap.Util.getScaleFromResolution=function(t,e){return null==e&&(e="degrees"),t*i.SuperMap.INCHES_PER_UNIT[e]*i.SuperMap.DOTS_PER_INCH},i.SuperMap.IS_GECKO=-1===(l=navigator.userAgent.toLowerCase()).indexOf("webkit")&&-1!==l.indexOf("gecko"),i.SuperMap.Browser=function(){var t,e="",o="",n="pc",i=navigator.userAgent.toLowerCase();return i.indexOf("msie")>-1||i.indexOf("trident")>-1&&i.indexOf("rv")>-1?(e="msie",t=i.match(/msie ([\d.]+)/)||i.match(/rv:([\d.]+)/)):i.indexOf("chrome")>-1?(e="chrome",t=i.match(/chrome\/([\d.]+)/)):i.indexOf("firefox")>-1?(e="firefox",t=i.match(/firefox\/([\d.]+)/)):i.indexOf("opera")>-1?(e="opera",t=i.match(/version\/([\d.]+)/)):i.indexOf("safari")>-1&&(e="safari",t=i.match(/version\/([\d.]+)/)),o=t?t[1]:"",i.indexOf("ipad")>-1||i.indexOf("ipod")>-1||i.indexOf("iphone")>-1?n="apple":i.indexOf("android")>-1&&(o=(t=i.match(/version\/([\d.]+)/))?t[1]:"",n="android"),{name:e,version:o,device:n}}(),i.SuperMap.Util.getBrowser=function(){return i.SuperMap.Browser},i.SuperMap.Util.isSupportCanvas=(r=!0,a=i.SuperMap.Util.getBrowser(),document.createElement("canvas").getContext?("firefox"===a.name&&parseFloat(a.version)<5&&(r=!1),"safari"===a.name&&parseFloat(a.version)<4&&(r=!1),"opera"===a.name&&parseFloat(a.version)<10&&(r=!1),"msie"===a.name&&parseFloat(a.version)<9&&(r=!1)):r=!1,r),i.SuperMap.Util.supportCanvas=function(){return i.SuperMap.Util.isSupportCanvas},i.SuperMap.INCHES_PER_UNIT.degree=i.SuperMap.INCHES_PER_UNIT.dd,i.SuperMap.INCHES_PER_UNIT.meter=i.SuperMap.INCHES_PER_UNIT.m,i.SuperMap.INCHES_PER_UNIT.foot=i.SuperMap.INCHES_PER_UNIT.ft,i.SuperMap.INCHES_PER_UNIT.inch=i.SuperMap.INCHES_PER_UNIT.inches,i.SuperMap.INCHES_PER_UNIT.mile=i.SuperMap.INCHES_PER_UNIT.mi,i.SuperMap.INCHES_PER_UNIT.kilometer=i.SuperMap.INCHES_PER_UNIT.km,i.SuperMap.INCHES_PER_UNIT.yard=i.SuperMap.INCHES_PER_UNIT.yd,i.SuperMap.Util.isInTheSameDomain=function(t){if(!t)return!0;var e=t.indexOf("//"),o=document.location.toString(),n=o.indexOf("//");if(-1===e)return!0;var i,l=i=t.substring(0,e),r=o.substring(n+2);n=r.indexOf("/");var a=r.indexOf(":"),s=r.substring(0,n),u=document.location.protocol;if(-1!==a||(s+=":"+("http:"===u.toLowerCase()?80:443)),u.toLowerCase()!==l.toLowerCase())return!1;var p=(l=t.substring(e+2)).indexOf(":");e=l.indexOf("/");var c,y=l.substring(0,e);return-1!==p?c=l.substring(0,p):(c=l.substring(0,e),y+=":"+("http:"===i.toLowerCase()?80:443)),c===document.domain&&y===s},i.SuperMap.Util.calculateDpi=function(t,e,o,n,i){if(t&&e&&o){var l,r=t.getWidth(),a=t.getHeight(),s=e.w,u=e.h;if(i=i||6378137,"degree"===(n=n||"degrees").toLowerCase()||"degrees"===n.toLowerCase()||"dd"===n.toLowerCase()){var p=r/s,c=a/u;l=254/(p>c?p:c)/o/(2*Math.PI*i/360)/1e4}else{l=254/(r/s)/o/1e4}return l}},i.SuperMap.Util.toJSON=function(t){var e=t;if(null==e)return null;switch(e.constructor){case String:return e=(e=(e=(e=(e=(e=(e='"'+e.replace(/(["\\])/g,"\\$1")+'"').replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace("<","&lt;")).replace(">","&gt;")).replace(/%/g,"%25")).replace(/&/g,"%26");case Array:for(var o=[],l=0,r=e.length;l<r;l++)o.push(i.SuperMap.Util.toJSON(e[l]));return"["+o.join(",")+"]";case Number:return isFinite(e)?String(e):null;case Boolean:return String(e);case Date:return"{'__type':\"System.DateTime\",'Year':"+e.getFullYear()+",'Month':"+(e.getMonth()+1)+",'Day':"+e.getDate()+",'Hour':"+e.getHours()+",'Minute':"+e.getMinutes()+",'Second':"+e.getSeconds()+",'Millisecond':"+e.getMilliseconds()+",'TimezoneOffset':"+e.getTimezoneOffset()+"}";default:if(null!=e.toJSON&&"function"==typeof e.toJSON)return e.toJSON();if("object"===(void 0===e?"undefined":n(e))){if(e.length){for(var a=[],s=0,u=e.length;s<u;s++)a.push(i.SuperMap.Util.toJSON(e[s]));return"["+a.join(",")+"]"}var p=[];for(var c in e)"function"!=typeof e[c]&&"CLASS_NAME"!==c&&"parent"!==c&&p.push("'"+c+"':"+i.SuperMap.Util.toJSON(e[c]));return p.length>0?"{"+p.join(",")+"}":"{}"}return e.toString()}},i.SuperMap.Util.getResolutionFromScaleDpi=function(t,e,o,n){return n=n||6378137,o=o||"",t>0&&e>0?(t=i.SuperMap.Util.normalizeScale(t),"degree"===o.toLowerCase()||"degrees"===o.toLowerCase()||"dd"===o.toLowerCase()?254/e/t/(2*Math.PI*n/360)/1e4:254/e/t/1e4):-1},i.SuperMap.Util.getScaleFromResolutionDpi=function(t,e,o,n){return n=n||6378137,o=o||"",t>0&&e>0?"degree"===o.toLowerCase()||"degrees"===o.toLowerCase()||"dd"===o.toLowerCase()?254/e/t/(2*Math.PI*n/360)/1e4:254/e/t/1e4:-1},i.SuperMap.Util.transformResult=function(t){return t.responseText&&"string"==typeof t.responseText&&(t=JSON.parse(t.responseText)),t},i.SuperMap.Util.copyAttributes=function(t,e){if(t=t||{},e)for(var o in e){var n=e[o];void 0!==n&&"CLASS_NAME"!==o&&"function"!=typeof n&&(t[o]=n)}return t},i.SuperMap.Util.copyAttributesWithClip=function(t,e,o){if(t=t||{},e)for(var n in e){var i=!1;if(o&&o.length)for(var l=0,r=o.length;l<r;l++)if(n===o[l]){i=!0;break}if(!0!==i){var a=e[n];void 0!==a&&"CLASS_NAME"!==n&&"function"!=typeof a&&(t[n]=a)}}return t},i.SuperMap.Util.cloneObject=function(t){if(null===t||"object"!==(void 0===t?"undefined":n(t)))return t;if(t instanceof Date){var e=new Date;return e.setTime(t.getTime()),e}if(t instanceof Array)return t.slice(0);if(t instanceof Object){var o={};for(var l in t)t.hasOwnProperty(l)&&(o[l]=i.SuperMap.Util.cloneObject(t[l]));return o}throw new Error("Unable to copy obj! Its type isn't supported.")},i.SuperMap.Util.lineIntersection=function(t,e,o,n){var l,r,a=null,s=(n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x),u=(e.x-t.x)*(t.y-o.y)-(e.y-t.y)*(t.x-o.x),p=(n.y-o.y)*(e.x-t.x)-(n.x-o.x)*(e.y-t.y);if(0!=p)r=u/p,a=(l=s/p)>=0&&r<=1&&l<=1&&r>=0?new i.SuperMap.Geometry.Point(t.x+l*(e.x-t.x),t.y+l*(e.y-t.y)):"No Intersection";else if(0==s&&0==u){var c=Math.max(t.y,e.y),y=Math.min(t.y,e.y),P=Math.max(t.x,e.x),h=Math.min(t.x,e.x);a=(o.y>=y&&o.y<=c||n.y>=y&&n.y<=c)&&o.x>=h&&o.x<=P||n.x>=h&&n.x<=P?"Coincident":"Parallel"}else a="Parallel";return a},i.SuperMap.Util.getTextBounds=function(t,e,o){document.body.appendChild(o),o.style.width="auto",o.style.height="auto",t.fontSize&&(o.style.fontSize=t.fontSize),t.fontFamily&&(o.style.fontFamily=t.fontFamily),t.fontWeight&&(o.style.fontWeight=t.fontWeight),o.style.position="relative",o.style.visibility="hidden",o.style.display="inline-block",o.innerHTML=e;var n=o.clientWidth,i=o.clientHeight;return document.body.removeChild(o),{textWidth:n,textHeight:i}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ArrayExt=e.FunctionExt=e.NumberExt=e.StringExt=void 0;var n=o(0);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                           * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                           * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
-n.SuperMap.inherit=function(t,e){var o,i,l,r=function(){};for(r.prototype=e.prototype,t.prototype=new r,o=2,i=arguments.length;o<i;o++)"function"==typeof(l=arguments[o])&&(l=l.prototype),n.SuperMap.Util.extend(t.prototype,l)},n.SuperMap.mixin=function(){for(var t=arguments.length,e=Array(t),o=0;o<t;o++)e[o]=arguments[o];for(var n=function t(o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);for(var n=0;n<e.length;n++)r(this,new e[n](o))},i=0;i<e.length;i++){var l=e[i];r(n,l),r(n.prototype,l.prototype),r(n.prototype,new l)}return n;function r(t,e){var o=Object.getOwnPropertyNames(e);Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(e)));for(var n=0;n<o.length;n++){var i=o[n];if("constructor"!==i&&"prototype"!==i&&"name"!==i&&"length"!==i){var l=Object.getOwnPropertyDescriptor(e,i);window.ActiveXObject?Object.defineProperty(t,i,l||{}):Object.defineProperty(t,i,l)}}}};e.StringExt=n.SuperMap.String={startsWith:function(t,e){return 0==t.indexOf(e)},contains:function(t,e){return-1!=t.indexOf(e)},trim:function(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},camelize:function(t){for(var e=t.split("-"),o=e[0],n=1,i=e.length;n<i;n++){var l=e[n];o+=l.charAt(0).toUpperCase()+l.substring(1)}return o},format:function(t,e,o){e||(e=window);return t.replace(n.SuperMap.String.tokenRegEx,function(t,n){for(var i,l=n.split(/\.+/),r=0;r<l.length;r++)0==r&&(i=e),i=i[l[r]];return"function"==typeof i&&(i=o?i.apply(null,o):i()),void 0===i?"undefined":i})},tokenRegEx:/\$\{([\w.]+?)\}/g,numberRegEx:/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,isNumeric:function(t){return n.SuperMap.String.numberRegEx.test(t)},numericIf:function(t){return n.SuperMap.String.isNumeric(t)?parseFloat(t):t}};var i=e.NumberExt=n.SuperMap.Number={decimalSeparator:".",thousandsSeparator:",",limitSigDigs:function(t,e){var o=0;return e>0&&(o=parseFloat(t.toPrecision(e))),o},format:function(t,e,o,i){e=void 0!==e?e:0,o=void 0!==o?o:n.SuperMap.Number.thousandsSeparator,i=void 0!==i?i:n.SuperMap.Number.decimalSeparator,null!=e&&(t=parseFloat(t.toFixed(e)));var l=t.toString().split(".");1===l.length&&null==e&&(e=0);var r,a=l[0];if(o)for(var s=/(-?[0-9]+)([0-9]{3})/;s.test(a);)a=a.replace(s,"$1"+o+"$2");if(0==e)r=a;else{var u=l.length>1?l[1]:"0";null!=e&&(u+=new Array(e-u.length+1).join("0")),r=a+i+u}return r}};Number.prototype.limitSigDigs||(Number.prototype.limitSigDigs=function(t){return i.limitSigDigs(this,t)});e.FunctionExt=n.SuperMap.Function={bind:function(t,e){var o=Array.prototype.slice.apply(arguments,[2]);return function(){var n=o.concat(Array.prototype.slice.apply(arguments,[0]));return t.apply(e,n)}},bindAsEventListener:function(t,e){return function(o){return t.call(e,o||window.event)}},False:function(){return!1},True:function(){return!0},Void:function(){}},e.ArrayExt=n.SuperMap.Array={filter:function(t,e,o){var n=[];if(Array.prototype.filter)n=t.filter(e,o);else{var i=t.length;if("function"!=typeof e)throw new TypeError;for(var l=0;l<i;l++)if(l in t){var r=t[l];e.call(o,r,l,t)&&n.push(r)}}return n}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BasicAlgoSymbolFactory=void 0,o(54);e.BasicAlgoSymbolFactory=SuperMap.Plot.BasicAlgoSymbolFactory=SuperMap.Plot.BasicAlgoSymbolFactory||{};SuperMap.Plot.BasicAlgoSymbolFactory.getAlgoSymbol=function(t,e,o){if(0===t)switch(e){case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL:return new SuperMap.Plot.GeoTooltipBox(o);case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM:return new SuperMap.Plot.GeoTooltipBoxM(o);case SuperMap.Plot.SymbolType.PATHTEXT:return new SuperMap.Plot.PathText(o);case SuperMap.Plot.SymbolType.ARROWLINE:return new SuperMap.Plot.ArrowLine(o);case SuperMap.Plot.SymbolType.CURVEEIGHT:return new SuperMap.Plot.CurveEight(o);case SuperMap.Plot.SymbolType.RUNWAY:return new SuperMap.Plot.Runway(o);case SuperMap.Plot.SymbolType.CONCENTRICCIRCLE:return new SuperMap.Plot.ConcentricCircle(o);case SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE:return new SuperMap.Plot.CombinationalCircle(o);case SuperMap.Plot.SymbolType.FREECURVE:return new SuperMap.Plot.FreeCurve(o);case SuperMap.Plot.SymbolType.REGULARPOLYGON:return new SuperMap.Plot.RegularPolygon(o);case SuperMap.Plot.SymbolType.BRACESYMBOL:return new SuperMap.Plot.Brace(o);case SuperMap.Plot.SymbolType.TRAPEZOIDSYMBOL:return new SuperMap.Plot.Trapezoid(o);case SuperMap.Plot.SymbolType.SYMBOLTEXTBOX:return new SuperMap.Plot.SymbolTextBox(o);case SuperMap.Plot.SymbolType.NODECHAIN:return new SuperMap.Plot.NodeChain(o);case SuperMap.Plot.SymbolType.LINERELATION:return new SuperMap.Plot.LineRelation(o);case SuperMap.Plot.SymbolType.LINEMARKING:return new SuperMap.Plot.LineMarking(o);case SuperMap.Plot.SymbolType.POLYGONREGION:return new SuperMap.Plot.PolygonRegion(o);case SuperMap.Plot.SymbolType.WIRE:return new SuperMap.Plot.Wire(o);default:return new SuperMap.Plot.AlgoSymbol(o)}else if(22===t)switch(e){case 1001:return new SuperMap.Plot.AlgoSymbol1001(o);case 1002:return new SuperMap.Plot.AlgoSymbol1002(o);case 1003:return new SuperMap.Plot.AlgoSymbol1003(o);case 1004:return new SuperMap.Plot.AlgoSymbol1004(o);case 1005:return new SuperMap.Plot.AlgoSymbol1005(o);case 1006:return new SuperMap.Plot.AlgoSymbol1006(o);case 1007:return new SuperMap.Plot.AlgoSymbol1007(o);case 1008:return new SuperMap.Plot.AlgoSymbol1008(o);case 1009:return new SuperMap.Plot.AlgoSymbol1009(o);case 1010:return new SuperMap.Plot.AlgoSymbol1010(o);case 1011:return new SuperMap.Plot.AlgoSymbol1011(o);case 1012:return new SuperMap.Plot.AlgoSymbol1012(o);case 1013:return new SuperMap.Plot.AlgoSymbol1013(o);case 1014:return new SuperMap.Plot.AlgoSymbol1014(o);case 1015:return new SuperMap.Plot.AlgoSymbol1015(o);case 1016:return new SuperMap.Plot.AlgoSymbol1016(o);case 1017:return new SuperMap.Plot.AlgoSymbol1017(o);case 1018:return new SuperMap.Plot.AlgoSymbol1018(o);case 1019:return new SuperMap.Plot.AlgoSymbol1019(o);case 1020:return new SuperMap.Plot.AlgoSymbol1020(o);case 1021:return new SuperMap.Plot.AlgoSymbol1021(o);case 1022:return new SuperMap.Plot.AlgoSymbol1022(o);default:return null}else{if(421!==t)return null;switch(e){case 311:return new SuperMap.Plot.AlgoSymbol1004(o);case 315:return new SuperMap.Plot.AlgoSymbol315(o);case 317:return new SuperMap.Plot.AlgoSymbol1006(o);case 318:return new SuperMap.Plot.AlgoSymbol1002(o);case 319:return new SuperMap.Plot.AlgoSymbol15200(o);default:return null}}},SuperMap.Plot.BasicAlgoSymbolFactory.getSymbolWayType=function(t,e){if(0===t)switch(e){case SuperMap.Plot.SymbolType.POLYLINESYMBOL:case SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL:return SuperMap.Plot.AddPoint_WayType.POLYLINE;case SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL:case SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL:return SuperMap.Plot.AddPoint_WayType.CURVE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}else if(22===t)switch(e){case 1005:case 1008:case 1012:case 1014:return SuperMap.Plot.AddPoint_WayType.CURVE;case 1007:case 1009:case 1013:case 1015:case 1017:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}},SuperMap.Plot.BasicAlgoSymbolFactory.isAccessServer=function(t,e){if(0===t||22===t)return!1;if(421!==t)return!0;switch(e){case 311:case 317:case 318:case 315:case 319:return!1;default:return!0}},SuperMap.Plot.BasicAlgoSymbolFactory.getDefaultSubSymbols=function(){return[]},SuperMap.Plot.BasicAlgoSymbolFactory.getMinEditPts=function(t,e){if(0===t)switch(e){case SuperMap.Plot.SymbolType.TEXTSYMBOL:case SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE:return 1;case SuperMap.Plot.SymbolType.CIRCLESYMBOL:case SuperMap.Plot.SymbolType.RECTANGLESYMBOL:case SuperMap.Plot.SymbolType.POLYLINESYMBOL:case SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL:case SuperMap.Plot.SymbolType.KIDNEY:case SuperMap.Plot.SymbolType.ARROWLINE:case SuperMap.Plot.SymbolType.BRACESYMBOL:case SuperMap.Plot.SymbolType.CURVEEIGHT:case SuperMap.Plot.SymbolType.FREECURVE:case SuperMap.Plot.SymbolType.LINEMARKING:case SuperMap.Plot.SymbolType.LINERELATION:case SuperMap.Plot.SymbolType.NODECHAIN:case SuperMap.Plot.SymbolType.PATHTEXT:case SuperMap.Plot.SymbolType.REGULARPOLYGON:case SuperMap.Plot.SymbolType.RUNWAY:case SuperMap.Plot.SymbolType.SYMBOLTEXTBOX:case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM:case SuperMap.Plot.SymbolType.CONCENTRICCIRCLE:case SuperMap.Plot.SymbolType.WIRE:return 2;case SuperMap.Plot.SymbolType.ARCSYMBOL:case SuperMap.Plot.SymbolType.CHORDSYMBOL:case SuperMap.Plot.SymbolType.PIESYMBOL:case SuperMap.Plot.SymbolType.ELLIPSESYMBOL:case SuperMap.Plot.SymbolType.PARALLELOGRAM:case SuperMap.Plot.SymbolType.PARALLELLINE:case SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL:case SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL:case SuperMap.Plot.SymbolType.POLYGONREGION:case SuperMap.Plot.SymbolType.TRAPEZOIDSYMBOL:case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL:return 3}else if(22===t)switch(e){case 1001:case 1003:case 1005:case 1007:case 1008:case 1009:case 1011:case 1012:case 1013:case 1014:case 1015:case 1016:case 1017:case 1019:case 1020:case 1022:return 2;case 1002:case 1004:case 1006:case 1010:case 1018:case 1021:return 3}else if(421===t)switch(e){case 319:return 2;case 311:case 315:case 317:case 318:return 3}},SuperMap.Plot.BasicAlgoSymbolFactory.getMaxEditPts=function(t,e){if(0===t)switch(e){case SuperMap.Plot.SymbolType.TEXTSYMBOL:return 1;case SuperMap.Plot.SymbolType.CIRCLESYMBOL:case SuperMap.Plot.SymbolType.RECTANGLESYMBOL:case SuperMap.Plot.SymbolType.BRACESYMBOL:case SuperMap.Plot.SymbolType.LINEMARKING:case SuperMap.Plot.SymbolType.LINERELATION:case SuperMap.Plot.SymbolType.RUNWAY:case SuperMap.Plot.SymbolType.SYMBOLTEXTBOX:case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM:return 2;case SuperMap.Plot.SymbolType.ARCSYMBOL:case SuperMap.Plot.SymbolType.CHORDSYMBOL:case SuperMap.Plot.SymbolType.PIESYMBOL:case SuperMap.Plot.SymbolType.ELLIPSESYMBOL:case SuperMap.Plot.SymbolType.PARALLELOGRAM:case SuperMap.Plot.SymbolType.KIDNEY:case SuperMap.Plot.SymbolType.CONCENTRICCIRCLE:case SuperMap.Plot.SymbolType.CURVEEIGHT:case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL:case SuperMap.Plot.SymbolType.TRAPEZOIDSYMBOL:return 3;case SuperMap.Plot.SymbolType.POLYLINESYMBOL:case SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL:case SuperMap.Plot.SymbolType.PARALLELLINE:case SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL:case SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL:case SuperMap.Plot.SymbolType.ARROWLINE:case SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE:case SuperMap.Plot.SymbolType.FREECURVE:case SuperMap.Plot.SymbolType.NODECHAIN:case SuperMap.Plot.SymbolType.PATHTEXT:case SuperMap.Plot.SymbolType.POLYGONREGION:case SuperMap.Plot.SymbolType.REGULARPOLYGON:case SuperMap.Plot.SymbolType.WIRE:return 9999}else if(22===t)switch(e){case 1003:case 1019:case 1020:case 1022:return 2;case 1006:case 1021:return 4;case 1001:case 1002:case 1004:case 1005:case 1007:case 1008:case 1009:case 1010:case 1011:case 1012:case 1013:case 1014:case 1015:case 1016:case 1017:case 1018:return 99999}else if(421===t)switch(e){case 317:return 4;case 311:case 315:case 318:case 319:return 99999}},SuperMap.Plot.BasicAlgoSymbolFactory.getDefaultStyle=function(){return{}},SuperMap.Plot.BasicAlgoSymbolFactory.canSetSubSymbol=function(t,e){return SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(t,e).length>0||0===this.libID&&this.code===SuperMap.Plot.SymbolType.NODECHAIN},SuperMap.Plot.BasicAlgoSymbolFactory.zoomInCalSymbol=function(){if(22!==libID)return!1;switch(code){case 1012:case 1013:case 1014:case 1015:return!0;default:return!1}},SuperMap.Plot.BasicAlgoSymbolFactory.zoomCalSymbol=function(){return!1},SuperMap.Plot.BasicAlgoSymbolFactory.getSymbolName=function(t,e){var o="";if(0===t)switch(e){case SuperMap.Plot.SymbolType.TEXTSYMBOL:o="文本";break;case SuperMap.Plot.SymbolType.CIRCLESYMBOL:o="圆";break;case SuperMap.Plot.SymbolType.RECTANGLESYMBOL:o="矩形";break;case SuperMap.Plot.SymbolType.ARCSYMBOL:o="弧线";break;case SuperMap.Plot.SymbolType.CHORDSYMBOL:o="弓形";break;case SuperMap.Plot.SymbolType.PIESYMBOL:o="扇形";break;case SuperMap.Plot.SymbolType.ELLIPSESYMBOL:o="椭圆";break;case SuperMap.Plot.SymbolType.PARALLELOGRAM:o="平行四边形";break;case SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL:o="多边形";break;case SuperMap.Plot.SymbolType.POLYLINESYMBOL:o="折线";break;case SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL:o="贝赛尔曲线";break;case SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL:o="闭合贝塞尔曲线";break;case SuperMap.Plot.SymbolType.PARALLELLINE:o="平行线";break;case SuperMap.Plot.SymbolType.KIDNEY:o="集结地";break;case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL:o="注记指示框";break;case SuperMap.Plot.SymbolType.ARROWLINE:o="箭头线";break;case SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE:o="组合圆";break;case SuperMap.Plot.SymbolType.CONCENTRICCIRCLE:o="同心圆";break;case SuperMap.Plot.SymbolType.CURVEEIGHT:o="八字形";break;case SuperMap.Plot.SymbolType.FREECURVE:o="自由线";break;case SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM:o="多角标注框";break;case SuperMap.Plot.SymbolType.LINEMARKING:o="线型标注";break;case SuperMap.Plot.SymbolType.LINERELATION:o="对象间连线";break;case SuperMap.Plot.SymbolType.NODECHAIN:o="节点链";break;case SuperMap.Plot.SymbolType.PATHTEXT:o="沿线注记";break;case SuperMap.Plot.SymbolType.POLYGONREGION:o="多边形区域管理";break;case SuperMap.Plot.SymbolType.RUNWAY:o="跑道线";break;case SuperMap.Plot.SymbolType.SYMBOLTEXTBOX:o="标注框";break;case SuperMap.Plot.SymbolType.REGULARPOLYGON:o="正多边形";break;case SuperMap.Plot.SymbolType.BRACESYMBOL:o="大括号";break;case SuperMap.Plot.SymbolType.TRAPEZOIDSYMBOL:o="梯形";break;case SuperMap.Plot.SymbolType.WIRE:o="铁丝网"}return o}},function(t,e,o){"use strict";var n,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"===("undefined"==typeof window?"undefined":i(window))&&(n=window)}t.exports=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FetchRequest=e.getRequestTimeout=e.setRequestTimeout=e.isCORS=e.setCORS=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                               * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                               * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/o(113),o(108);var i,l=o(107),r=(i=l)&&i.__esModule?i:{default:i},a=o(0),s=o(1);var u=window.fetch,p=(e.setCORS=a.SuperMap.setCORS=function(t){a.SuperMap.CORS=t},e.isCORS=a.SuperMap.isCORS=function(){return void 0!=a.SuperMap.CORS?a.SuperMap.CORS:window.XMLHttpRequest&&"withCredentials"in new window.XMLHttpRequest}),c=(e.setRequestTimeout=a.SuperMap.setRequestTimeout=function(t){return a.SuperMap.RequestTimeout=t},e.getRequestTimeout=a.SuperMap.getRequestTimeout=function(){return a.SuperMap.RequestTimeout||45e3});e.FetchRequest=a.SuperMap.FetchRequest={commit:function(t,e,o,n){switch(t=t?t.toUpperCase():t){case"GET":return this.get(e,o,n);case"POST":return this.post(e,o,n);case"PUT":return this.put(e,o,n);case"DELETE":return this.delete(e,o,n);default:return this.get(e,o,n)}},supportDirectRequest:function(t,e){return s.Util.isInTheSameDomain(t)||p()||e.proxy},get:function(t,e,o){o=o||{};if(t=this._processUrl(t,o),t=s.Util.urlAppend(t,this._getParameterString(e||{})),!this.supportDirectRequest(t,o)){var n={url:t=t.replace(".json",".jsonp"),data:e};return a.SuperMap.Util.RequestJSONPPromise.GET(n)}return this.urlIsLong(t)?this._postSimulatie("GET",t.substring(0,t.indexOf("?")-1),e,o):this._fetch(t,e,o,"GET")},delete:function(t,e,o){o=o||{};if(t=this._processUrl(t,o),t=s.Util.urlAppend(t,this._getParameterString(e||{})),!this.supportDirectRequest(t,o)){t=t.replace(".json",".jsonp");var n={url:t+="&_method=DELETE",data:e};return a.SuperMap.Util.RequestJSONPPromise.DELETE(n)}return this.urlIsLong(t)?this._postSimulatie("DELETE",t.substring(0,t.indexOf("?")-1),e,o):this._fetch(t,e,o,"DELETE")},post:function(t,e,o){if(o=o||{},!this.supportDirectRequest(t,o)){t=t.replace(".json",".jsonp");var n={url:t+="&_method=POST",data:e};return a.SuperMap.Util.RequestJSONPPromise.POST(n)}return this._fetch(this._processUrl(t,o),e,o,"POST")},put:function(t,e,o){if(o=o||{},t=this._processUrl(t,o),!this.supportDirectRequest(t,o)){t=t.replace(".json",".jsonp");var n={url:t+="&_method=PUT",data:e};return a.SuperMap.Util.RequestJSONPPromise.DELETE(n)}return this._fetch(t,e,o,"PUT")},urlIsLong:function(t){for(var e=0,o=null,n=0,i=t.length;n<i;n++)(o=t.charCodeAt(n))<127?e++:128<=o&&o<=2047?e+=2:2048<=o&&o<=65535&&(e+=3);return!(e<2e3)},_postSimulatie:function(t,e,o,n){return e+=(e.indexOf("?")>-1?"&":"?")+"_method="+t,"string"!=typeof o&&(o=JSON.stringify(o)),this.post(e,o,n)},_processUrl:function(t,e){if(this._isMVTRequest(t))return t;if(-1===t.indexOf(".json")&&!e.withoutFormatSuffix)if(t.indexOf("?")<0)t+=".json";else{var o=t.split("?");2===o.length&&(t=o[0]+".json?"+o[1])}return e&&e.proxy&&("function"==typeof e.proxy?t=e.proxy(t):(t=decodeURIComponent(t),t=e.proxy+encodeURIComponent(t))),t},_fetch:function(t,e,o,n){return(o=o||{}).headers=o.headers||{},o.headers["Content-Type"]||(o.headers["Content-Type"]="application/x-www-form-urlencoded;charset=UTF-8"),o.timeout?this._timeout(o.timeout,u(t,{method:n,headers:o.headers,body:"PUT"===n||"POST"===n?e:void 0,credentials:o.withCredentials?"include":"omit",mode:"cors",timeout:c()}).then(function(t){return t})):u(t,{method:n,body:"PUT"===n||"POST"===n?e:void 0,headers:o.headers,credentials:o.withCredentials?"include":"omit",mode:"cors",timeout:c()}).then(function(t){return t})},_fetchJsonp:function(t,e){return e=e||{},(0,r.default)(t,{method:"GET",timeout:e.timeout}).then(function(t){return t})},_timeout:function(t,e){return new Promise(function(o,n){setTimeout(function(){n(new Error("timeout"))},t),e.then(o,n)})},_getParameterString:function(t){var e=[];for(var o in t){var i=t[o];if(null!=i&&"function"!=typeof i){var l;if("object"===(void 0===i?"undefined":n(i))&&i.constructor===Array){for(var r,a=[],s=0,u=i.length;s<u;s++)r=i[s],a.push(encodeURIComponent(null===r||void 0===r?"":r));l="["+a.join(",")+"]"}else l=encodeURIComponent(i);e.push(encodeURIComponent(o)+"="+l)}}return e.join("&")},_isMVTRequest:function(t){return t.indexOf(".mvt")>-1||t.indexOf(".pbf")>-1}};a.SuperMap.Util.RequestJSONPPromise={limitLength:1500,queryKeys:[],queryValues:[],supermap_callbacks:{},addQueryStrings:function(t){for(var e in t){this.queryKeys.push(e),"string"!=typeof t[e]&&(t[e]=a.SuperMap.Util.toJSON(t[e]));var o=encodeURIComponent(t[e]);this.queryValues.push(o)}},issue:function(t){for(var e=this,o=e.getUid(),n=t.url,i=[],l=new Promise(function(t){e.supermap_callbacks[o]=function(n){delete e.supermap_callbacks[o],t(n)}}),r=n,a=0,s=e.queryKeys?e.queryKeys.length:0,u=0;u<s;u++)if(r.length+e.queryKeys[u].length+2>=e.limitLength){if(0==a)return!1;i.push(r),r=n,a=0,u--}else if(r.length+e.queryKeys[u].length+2+e.queryValues[u].length>e.limitLength)for(var p=e.queryValues[u];p.length>0;){var c=e.limitLength-r.length-e.queryKeys[u].length-2;r.indexOf("?")>-1?r+="&":r+="?";var y=p.substring(0,c);"%"===y.substring(c-1,c)?(c-=1,y=p.substring(0,c)):"%"===y.substring(c-2,c-1)&&(c-=2,y=p.substring(0,c)),r+=e.queryKeys[u]+"="+y,p=p.substring(c),y.length>0&&(i.push(r),r=n,a=0)}else a++,r.indexOf("?")>-1?r+="&":r+="?",r+=e.queryKeys[u]+"="+e.queryValues[u];return i.push(r),e.send(i,"SuperMap.Util.RequestJSONPPromise.supermap_callbacks["+o+"]",t&&t.proxy),l},getUid:function(){return 1e3*(new Date).getTime()+Math.floor(1e17*Math.random())},send:function(t,e,o){var n=t.length;if(n>0)for(var i=(new Date).getTime(),l=0;l<n;l++){var a=t[l];a.indexOf("?")>-1?a+="&":a+="?",a+="sectionCount="+n,a+="&sectionIndex="+l,a+="&jsonpUserID="+i,o&&(a=decodeURIComponent(a),a=o+encodeURIComponent(a)),(0,r.default)(a,{jsonpCallbackFunction:e,timeout:3e4})}},GET:function(t){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings(t.params),this.issue(t)},POST:function(t){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings({requestEntity:t.data}),this.issue(t)},PUT:function(t){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings({requestEntity:t.data}),this.issue(t)},DELETE:function(t){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings({requestEntity:t.data}),this.issue(t)}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbolFactory=void 0,o(3);e.AlgoSymbolFactory=SuperMap.Plot.AlgoSymbolFactory=SuperMap.Plot.AlgoSymbolFactory||{};SuperMap.Plot.AlgoSymbolFactory.getAlgoSymbol=function(t){var e=t.libID,o=t.code;return 0!==e&&22!==e&&421!==e||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===e&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.getAlgoSymbol(e,o,t):123===e&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.getAlgoSymbol(e,o,t):999===e&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.getAlgoSymbol(e,o,t):null:SuperMap.Plot.BasicAlgoSymbolFactory.getAlgoSymbol(e,o,t)},SuperMap.Plot.AlgoSymbolFactory.getSymbolWayType=function(t,e){if(0===t)switch(e){case SuperMap.Plot.SymbolType.POLYLINESYMBOL:case SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL:return SuperMap.Plot.AddPoint_WayType.POLYLINE;case SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL:case SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL:return SuperMap.Plot.AddPoint_WayType.CURVE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}if(22===t)switch(e){case 1005:case 1008:case 1012:case 1014:return SuperMap.Plot.AddPoint_WayType.CURVE;case 1007:case 1009:case 1013:case 1015:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}if(100===t){if(void 0!==SuperMap.Plot.JBAlgoSymbolFactory)return SuperMap.Plot.JBAlgoSymbolFactory.getSymbolWayType(t,e);switch(e){case 15200:case 15201:case 16203:case 17703:case 17704:case 21400:case 21401:case 21500:case 21501:case 21502:case 21503:case 21504:case 21600:case 21900:case 22e3:case 22103:case 23800:case 24700:case 25201:case 25400:case 25601:case 25801:case 25901:case 26500:case 26501:case 26502:case 26503:case 26600:case 28900:case 29e3:case 29003:case 29903:case 3e4:case 30001:case 30002:case 30100:case 30102:case 30200:case 30201:case 30800:case 31803:case 33400:case 34900:case 34901:case 34902:case 35e3:case 36400:case 44200:case 3010102:case 3010103:case 3010104:case 3010105:case 3010106:case 3010107:case 3010108:case 3010301:case 3010302:case 3010303:case 3010304:return SuperMap.Plot.AddPoint_WayType.CURVE;case 12500:case 12502:case 16100:case 20300:case 25501:case 25502:case 25503:case 32900:case 34700:case 35200:case 36401:case 41200:case 41201:case 41202:case 42700:case 44400:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}}if(123===t){if(void 0!==SuperMap.Plot.WJAlgoSymbolFactory)return SuperMap.Plot.WJAlgoSymbolFactory.getSymbolWayType(t,e);switch(e){case 21003:case 21207:case 2120701:case 2121503:case 21218:case 30008:case 3000801:case 3000802:case 3000803:case 3000804:case 3000805:case 3000806:case 3000807:case 3000808:case 3000809:case 30009:case 5021803:case 5022001:case 5022002:case 40301:case 4030101:case 4030102:case 4030103:case 4030104:case 40303:case 4030301:case 4030302:case 4030303:case 50101:case 5010101:case 50102:case 5010201:case 5010202:case 5010203:case 5010204:case 50103:case 5010301:case 5010302:case 5010303:case 5010304:case 50107:case 5010701:case 50210:case 50220:case 50221:case 50225:case 5030102:case 50303:case 5030301:case 50309:case 50320:case 5032001:case 5032002:case 5032003:case 50321:case 5032101:case 5032102:case 50322:case 5032201:case 50330:case 5033001:case 5034203:case 5035201:case 5035204:case 60205:case 90105:return SuperMap.Plot.AddPoint_WayType.CURVE;case 20915:case 2091502:case 2092101:case 2120702:case 21216:case 2121601:case 2121602:case 21605:case 30010:case 30011:case 3001101:case 3001102:case 3001103:case 3001104:case 3001105:case 30012:case 30020:case 3002001:case 3002002:case 3002005:case 30025:case 3002501:case 30026:case 40104:case 40302:case 4030201:case 4030202:case 4030203:case 4030204:case 50227:case 5035205:case 60301:case 6030101:case 6030102:case 6030103:case 6030104:case 6030105:case 6030106:case 6030107:case 70202:case 7020201:case 7020202:case 90107:return SuperMap.Plot.AddPoint_WayType.POLYLINE;default:return SuperMap.Plot.AddPoint_WayType.UNKNOWN}}},SuperMap.Plot.AlgoSymbolFactory.isAccessServer=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.isAccessServer(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.isAccessServer(t,e):999!==t||void 0===SuperMap.Plot.YJAlgoSymbolFactory||SuperMap.Plot.YJAlgoSymbolFactory.isAccessServer(t,e):SuperMap.Plot.BasicAlgoSymbolFactory.isAccessServer(t,e)},SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols=function(t,e){return 100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.getDefaultSubSymbols(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.getDefaultSubSymbols(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.getDefaultSubSymbols(t,e):[]},SuperMap.Plot.AlgoSymbolFactory.getMinEditPts=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.getMinEditPts(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.getMinEditPts(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.getMinEditPts(t,e):0:SuperMap.Plot.BasicAlgoSymbolFactory.getMinEditPts(t,e)},SuperMap.Plot.AlgoSymbolFactory.getMaxEditPts=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.getMaxEditPts(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.getMaxEditPts(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.getMaxEditPts(t,e):0:SuperMap.Plot.BasicAlgoSymbolFactory.getMaxEditPts(t,e)},SuperMap.Plot.AlgoSymbolFactory.getDefaultStyle=function(t,e){return 100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.getDefaultStyle(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.getDefaultStyle(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.getDefaultStyle(t,e):{}},SuperMap.Plot.AlgoSymbolFactory.getSymbolName=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?"":SuperMap.Plot.BasicAlgoSymbolFactory.getSymbolName(t,e)},SuperMap.Plot.AlgoSymbolFactory.canPolylineConnect=function(t,e){return 100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory&&SuperMap.Plot.JBAlgoSymbolFactory.canPolylineConnect(t,e)},SuperMap.Plot.AlgoSymbolFactory.canSetSubSymbol=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.canSetSubSymbol(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.canSetSubSymbol(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory&&SuperMap.Plot.YJAlgoSymbolFactory.canSetSubSymbol(t,e):SuperMap.Plot.BasicAlgoSymbolFactory.canSetSubSymbol(t,e)},SuperMap.Plot.AlgoSymbolFactory.zoomInCalSymbol=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.zoomInCalSymbol(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.zoomInCalSymbol(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.zoomInCalSymbol(t,e):0:SuperMap.Plot.BasicAlgoSymbolFactory.zoomInCalSymbol(t,e)},SuperMap.Plot.AlgoSymbolFactory.zoomCalSymbol=function(t,e){return 0!==t&&22!==t&&421!==t||void 0===SuperMap.Plot.BasicAlgoSymbolFactory?100===t&&void 0!==SuperMap.Plot.JBAlgoSymbolFactory?SuperMap.Plot.JBAlgoSymbolFactory.zoomCalSymbol(t,e):123===t&&void 0!==SuperMap.Plot.WJAlgoSymbolFactory?SuperMap.Plot.WJAlgoSymbolFactory.zoomCalSymbol(t,e):999===t&&void 0!==SuperMap.Plot.YJAlgoSymbolFactory?SuperMap.Plot.YJAlgoSymbolFactory.zoomCalSymbol(t,e):0:SuperMap.Plot.BasicAlgoSymbolFactory.zoomCalSymbol(t,e)}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol15200=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.05),o.scaleValues.push(0),o.scaleValues.push(.185)),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var o=0,n=0,i=e.length-1;n<i;n++)o+=SuperMap.Plot.PlottingUtil.distance(e[n],e[n+1]);for(var l=0,r=0,a=t.length-1;r<a;r++)l+=SuperMap.Plot.PlottingUtil.distance(t[r],t[r+1]);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue());for(var s=this.scaleValues[0]*l,u=this.scaleValues[1],p=this.scaleValues[2]*l,c=.3*p,y=p;y<o;y+=p){var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(y,e);if(-1===P.index)return void this.finish();var h=y+c,f=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(h,e);if(-1===f.index)return void this.finish();var S=[],d=[];S.push(P.pts);var g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[P.index],P.pts);0===u?S.push(new SuperMap.Geometry.Point(g.pntLeft.x,g.pntLeft.y)):S.push(new SuperMap.Geometry.Point(g.pntRight.x,g.pntRight.y)),d.push(f.pts);var M=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,e[f.index],f.pts);if(0===u?d.push(new SuperMap.Geometry.Point(M.pntLeft.x,M.pntLeft.y)):d.push(new SuperMap.Geometry.Point(M.pntRight.x,M.pntRight.y)),p===y){this.scalePoints=[];var m=new SuperMap.Geometry.Point(S[1].x,S[1].y);m.isScalePoint=!0,m.tag=0,this.scalePoints.push(m),(m=new SuperMap.Geometry.Point(S[0].x,S[0].y)).isScalePoint=!0,m.tag=1,this.scalePoints.push(m)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,S),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,d)}this.finish()}}},{key:"computeScaleValues",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;for(var n=0,i=0,l=o.length-1;i<l;i++)n+=SuperMap.Plot.PlottingUtil.distance(o[i],o[i+1]);var r=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(o),a=new SuperMap.Geometry.Point(e.x,e.y);if(0===t){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(r,n*this.scaleValues[2]);if(-1===s.index)return;var u=SuperMap.Plot.PlottingUtil.distance(s.pt,a)/n,p=SuperMap.Plot.PlottingUtil.pointIsRightToLine(r[0],r[1],e);this.scaleValues[1]=p?1:0,this.scaleValues[0]=u}else if(1===t){for(var c=0,y=-1,P=[],h=0,f=r.length-1;h<f;h++){var S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,r[h],r[h+1]);if(S.isOnline){var d=SuperMap.Plot.PlottingUtil.distance(S.projectPoint,this.controlPoints[1]);0==c?(c=d,y=h,P=e):d<c&&(c=d,y=h,P=e)}}if(-1==y)return;for(var g=0,M=0,m=y-1;M<m;M++)g+=SuperMap.Plot.PlottingUtil.distance(r[M],r[M+1]);var v=(g+=SuperMap.Plot.PlottingUtil.distance(P,r[y]))/n;v>.7&&(v=.7),this.scaleValues[2]=v}}}}]),e}();SuperMap.Plot.AlgoSymbol15200=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol315=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0!==o.scaleValues.length&&(o.scaleValues=[],o.scaleValues.push(.2),o.scaleValues.push(.2),o.scaleValues.push(.4),o.scaleValues.push(.4),o.scaleValues.push(.1),o.scaleValues.push(.2),o.scaleValues.push(.1),o.scaleValues.push(.2),o.scaleValues.push(1),o.scaleValues.push(1)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol315",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){for(var e=0,o=0;o<t.length-1;o++)e+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);SuperMap.Plot.AlgoSymbol1004.prototype.applyUse.apply(this,arguments),this.scaleValues.length<9&&(this.scaleValues=[],this.scaleValues.push(.2),this.scaleValues.push(.2),this.scaleValues.push(.4),this.scaleValues.push(.4),this.scaleValues.push(.1),this.scaleValues.push(.2),this.scaleValues.push(.1),this.scaleValues.push(.2),this.scaleValues.push(1),this.scaleValues.push(1));var n,i=e*this.scaleValues[4],l=e*this.scaleValues[5],r=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),a=SuperMap.Plot.PlottingUtil.linePnt(t[1],t[0],r+l);n=(this.scaleValues[8],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(i,t[1],a));var s,u=e*this.scaleValues[6],p=e*this.scaleValues[7],c=SuperMap.Plot.PlottingUtil.linePnt(t[0],t[1],r+p);s=(this.scaleValues[9],SuperMap.Plot.PlottingUtil.getSidePointsOfLine(u,t[0],c));var y=[];y.push(new SuperMap.Geometry.Point(n.pntLeft.x,n.pntLeft.y)),y.push(new SuperMap.Geometry.Point(t[0].x,t[0].y)),y.push(new SuperMap.Geometry.Point(t[1].x,t[1].y)),y.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y));var P=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(y);P=SuperMap.Plot.PlottingUtil.clearSamePts(P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.addScalePoint(n.pntLeft,3),this.addScalePoint(s.pntRight,4)}}},{key:"modifyPoint",value:function(t,o){if(!0===o.isScalePoint){var n=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);n=SuperMap.Plot.PlottingUtil.clearSamePts(n);var i=SuperMap.Plot.PlottingUtil.polylineDistance(n),l=SuperMap.Plot.PlottingUtil.projectPoint(o,n[0],n[1]);if(t<=2&&(SuperMap.Plot.AlgoSymbol1004.prototype.modifyPoint.apply(this,arguments),function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"modifyPoint",this).call(this,t,o)),3===t){var r=SuperMap.Plot.PlottingUtil.distance(o,l)/i,a=SuperMap.Plot.PlottingUtil.distance(l,n[0])/i;this.scaleValues[4]=r,this.scaleValues[5]=a,SuperMap.Plot.PlottingUtil.pointIsRightToLine(n[0],n[1],o)?this.scaleValues[8]=1:this.scaleValues[8]=0}if(4===t){var s=SuperMap.Plot.PlottingUtil.distance(o,l)/i,u=SuperMap.Plot.PlottingUtil.distance(l,n[1])/i;this.scaleValues[6]=s,this.scaleValues[7]=u,SuperMap.Plot.PlottingUtil.pointIsRightToLine(n[0],n[1],o)?this.scaleValues[9]=1:this.scaleValues[9]=0}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol315=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1022=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.05),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1022",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=e*this.scaleValues[0],n=SuperMap.Plot.PlottingUtil.paraLine(t,o,!0),i=SuperMap.Plot.PlottingUtil.paraLine(t,o,!1),l=SuperMap.Plot.PlottingUtil.findPointInLine(n[0],n[1],.6*e),r=SuperMap.Plot.PlottingUtil.findPointInLine(n[0],n[1],.5*e),a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.1*e,n[0],r).pntLeft;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[a,l,n[1]],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0});var s=SuperMap.Plot.PlottingUtil.findPointInLine(i[0],i[1],.4*e),u=SuperMap.Plot.PlottingUtil.findPointInLine(i[0],i[1],.5*e),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(.1*e,i[0],u).pntRight;this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[p,s,i[0]],{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[i[1],i[0]]),this.addScalePoint(n[0],0),this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t){var i=SuperMap.Plot.PlottingUtil.distance(o[0],e)/n;this.scaleValues[0]=i}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1022=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1021=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.25),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1021",o.QIANJI_RATE1=9,o.QIANJI_RATE2=20,o.QIANJI_RATE4=5,o.QIANJI_RATE3=1/3,o.QIANJI_TAIL_RATE1=8,o.QIANJI_TAIL_RATE2=3,o.QIANJI_TAIL_RATE3=.6,o.SV1_Default=.25,o.SV1_MinValue=0,o.SV1_MaxValue=.5,o.DEFAULT_ARROW_TAIL_POS=.4,o.SCALE_VALUE_COUNT=1,o.MIN_LEN_LeftToRightCenter=1e-7,o.SCALE_AT=1/3,o.SCALE_ATAJ=1/7,o.SCALE_ATAE=1/3,o.SCALE_AW=2/3,o.SCALE_ATAJctrlDefSide=.8,o.SCALE_ATAJctrlSameSide=2/3,o.SCALE_MM_LEFT=.25,o.SCALE_MM_RIGHT=.75,o.BEZIER_K1=1/3,o.QIANJI_OPERATE_RATE1=1,o.m_dMaxDis=0,o.m_bIsAnimation=!1,o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(t=SuperMap.Plot.PlottingUtil.clearSamePts(t),this.components=[],this.m_scalePoints=[],t.length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<3)){var e=SuperMap.Plot.PlottingUtil.clonePoints(t),o=this.arrowMeshs(e);o.LeftArowHead.unshift(o.LeftArowLeftBody[0][o.LeftArowLeftBody[0].length-1]),o.RightArowHead.unshift(o.RightArowLeftBody[o.RightArowLeftBody.length-1]),o.LeftArowLeftBody[0].push(o.LeftArowHead[0]),o.RightArowLeftBody.push(o.RightArowHead[0]),o.shapePts.push(o.shapePts[0]);var n=SuperMap.Plot.PlottingUtil.polylineDistance(o.LeftArowLeftBody[0]),i=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.4*n,o.LeftArowLeftBody[0]),l=[],r=[];if(i.bfind)for(var a=0;a<=i.index;a++)l.push(o.LeftArowLeftBody[0][a]);var s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*n,o.LeftArowLeftBody[0]);if(s.bfind)for(var u=s.index;u<o.LeftArowLeftBody[0].length-1;u++)r.push(o.LeftArowLeftBody[0][u]);var p=SuperMap.Plot.PlottingUtil.polylineDistance(o.RightArowLeftBody),c=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.4*p,o.RightArowLeftBody),y=[],P=[];if(c.bfind)for(var h=0;h<=c.index;h++)y.push(o.RightArowLeftBody[h]);var f=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*p,o.RightArowLeftBody);if(f.bfind)for(var S=f.index;S<o.RightArowLeftBody.length-1;S++)P.push(o.RightArowLeftBody[S]);var d=SuperMap.Plot.PlottingUtil.polylineDistance(o.RightArowRightBody),g=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.4*d,o.RightArowRightBody),M=[],m=[];if(g.bfind)for(var v=0;v<=g.index;v++)M.push(o.RightArowRightBody[v]);var b=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.5*d,o.RightArowRightBody);if(b.bfind)for(var T=b.index;T<o.RightArowRightBody.length-1;T++)m.push(o.RightArowRightBody[T]);o.shapePts.length>0&&(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o.shapePts,{strokeWidth:0,weight:0,lineWidthLimit:!0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,r),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o.LeftArowHead,{lineTypeLimit:!0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o.LeftArowRightBody),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o.RightArowHead,{lineTypeLimit:!0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m)),this.scalePoints=[];for(var A=0;A<this.m_scalePoints.length;A++)this.m_scalePoints[A].isScalePoint=!0,this.m_scalePoints[A].tag=A,this.scalePoints.push(this.m_scalePoints[A]);this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var n,i=SuperMap.Plot.PlottingUtil.operateControlPoints(o),l=new SuperMap.Geometry.Point((i[0].x+i[1].x)/2,(i[0].y+i[1].y)/2),r=new SuperMap.Geometry.Point((i[2].x+i[3].x)/2,(i[2].y+i[3].y)/2),a=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,l,r);if(a.isOnline){var s=SuperMap.Plot.PlottingUtil.distance(a.projectPoint,l),u=SuperMap.Plot.PlottingUtil.distance(l,r);(n=SuperMap.Plot.PlottingUtil.equalFuzzy(s,0)?this.SV1_MinValue:s/u)>this.SV1_MaxValue&&(n=this.SV1_MaxValue)}else n=SuperMap.Plot.PlottingUtil.distance(a.projectPoint,l)<SuperMap.Plot.PlottingUtil.distance(a.projectPoint,r)?this.SV1_MinValue:this.SV1_MaxValue;this.scaleValues=[],this.scaleValues.push(n)}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=new SuperMap.Plot.Path2D,o=[];o=this.m_bIsAnimation&&4===t.length?SuperMap.Plot.PlottingUtil.clonePoints(t):SuperMap.Plot.PlottingUtil.operateControlPoints(t);var n=this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.distance(o[0],o[3]),l=SuperMap.Plot.PlottingUtil.distance(o[1],o[2]),r=o[1].clone(),a=.5*(o[0].x+o[3].x),s=.5*(o[0].y+o[3].y),u=new SuperMap.Geometry.Point(a,s),p=.5*(o[1].x+o[2].x),c=.5*(o[1].y+o[2].y),y=new SuperMap.Geometry.Point(p,c),P=SuperMap.Plot.PlottingUtil.distance(u,y);P<this.MIN_LEN_LeftToRightCenter&&(P=this.MIN_LEN_LeftToRightCenter),u.x=a+i*(a-p)/(P*this.QIANJI_RATE1),u.y=s+i*(s-c)/(P*this.QIANJI_RATE1),y.x=p+l*(p-a)/(P*this.QIANJI_RATE1),y.y=c+l*(c-s)/(P*this.QIANJI_RATE1);var h=new SuperMap.Geometry.Point(0,0),f=new SuperMap.Geometry.Point(0,0);h.x=a+i*(a-p)/(P*this.QIANJI_RATE2),h.y=s+i*(s-c)/(P*this.QIANJI_RATE2),f.x=p+l*(p-a)/(P*this.QIANJI_RATE2),f.y=c+l*(c-s)/(P*this.QIANJI_RATE2);var S=new SuperMap.Geometry.Point((o[0].x+o[1].x)/2,(o[0].y+o[1].y)/2),d=new SuperMap.Geometry.Point((o[2].x+o[3].x)/2,(o[2].y+o[3].y)/2),g=o[3].x-(o[3].x-u.x)*this.SCALE_AT,M=o[3].y-(o[3].y-u.y)*this.SCALE_AT,m=o[2].x-(o[2].x-y.x)*this.SCALE_AT,v=o[2].y-(o[2].y-y.y)*this.SCALE_AT,b=new SuperMap.Geometry.Point(0,0),T=new SuperMap.Geometry.Point(0,0),A=new SuperMap.Geometry.Point(0,0),L=new SuperMap.Geometry.Point(0,0);T.x=g-(M-o[3].y)*this.SCALE_ATAJ,T.y=M+(g-o[3].x)*this.SCALE_ATAJ,b.x=g+(M-o[3].y)*this.SCALE_ATAJ,b.y=M-(g-o[3].x)*this.SCALE_ATAJ,L.x=m-(v-o[2].y)*this.SCALE_ATAJ,L.y=v+(m-o[2].x)*this.SCALE_ATAJ,A.x=m+(v-o[2].y)*this.SCALE_ATAJ,A.y=v-(m-o[2].x)*this.SCALE_ATAJ;var O=new SuperMap.Geometry.Point(0,0),E=new SuperMap.Geometry.Point(0,0),x=new SuperMap.Geometry.Point(0,0),w=new SuperMap.Geometry.Point(0,0);O.x=3*b.x-2*g-(o[3].x-g)*this.SCALE_ATAE,O.y=3*b.y-2*M-(o[3].y-M)*this.SCALE_ATAE,E.x=3*T.x-2*g-(o[3].x-g)*this.SCALE_ATAE,E.y=3*T.y-2*M-(o[3].y-M)*this.SCALE_ATAE,x.x=3*A.x-2*m-(o[2].x-m)*this.SCALE_ATAE,x.y=3*A.y-2*v-(o[2].y-v)*this.SCALE_ATAE,w.x=3*L.x-2*m-(o[2].x-m)*this.SCALE_ATAE,w.y=3*L.y-2*v-(o[2].y-v)*this.SCALE_ATAE,u.x=a+i*(a-p)/(P*this.QIANJI_RATE4),u.y=s+i*(s-c)/(P*this.QIANJI_RATE4),y.x=p+l*(p-a)/(P*this.QIANJI_RATE4),y.y=c+l*(c-s)/(P*this.QIANJI_RATE4);var I=new SuperMap.Geometry.Point(0,0);I.x=o[0].x+(u.x-o[0].x)*this.SCALE_AW,I.y=o[0].y+(u.y-o[0].y)*this.SCALE_AW;var R=new SuperMap.Geometry.Point(0,0);R.x=o[1].x+(y.x-o[1].x)*this.SCALE_AW,R.y=o[1].y+(y.y-o[1].y)*this.SCALE_AW;var C=new SuperMap.Geometry.Point(0,0);C.x=b.x+(u.x-b.x)*this.SCALE_ATAJctrlSameSide,C.y=b.y+(u.y-b.y)*this.SCALE_ATAJctrlSameSide;var _=new SuperMap.Geometry.Point(0,0);_.x=L.x+(y.x-L.x)*this.SCALE_ATAJctrlSameSide,_.y=L.y+(y.y-L.y)*this.SCALE_ATAJctrlSameSide;var U=new SuperMap.Geometry.Point(0,0);U.x=T.x+(h.x-T.x)*this.SCALE_ATAJctrlDefSide,U.y=T.y+(h.y-T.y)*this.SCALE_ATAJctrlDefSide;var N=new SuperMap.Geometry.Point(0,0);N.x=A.x+(f.x-A.x)*this.SCALE_ATAJctrlDefSide,N.y=A.y+(f.y-A.y)*this.SCALE_ATAJctrlDefSide;var D=new SuperMap.Geometry.Point(0,0);D.x=S.x+(d.x-S.x)*n,D.y=S.y+(d.y-S.y)*n,this.m_scalePoints.push(new SuperMap.Geometry.Point(D.x,D.y));var B=new SuperMap.Geometry.Point(0,0),G=new SuperMap.Geometry.Point(0,0);B.x=o[0].x+(o[3].x-o[0].x)*n,B.y=o[0].y+(o[3].y-o[0].y)*n,G.x=o[1].x+(o[2].x-o[1].x)*n,G.y=o[1].y+(o[2].y-o[1].y)*n,B.x=B.x+(D.x-B.x)*this.QIANJI_RATE3,B.y=B.y+(D.y-B.y)*this.QIANJI_RATE3,G.x=G.x+(D.x-G.x)*this.QIANJI_RATE3,G.y=G.y+(D.y-G.y)*this.QIANJI_RATE3;var k=[];k.push(o[0].clone()),k.push(I.clone()),k.push(C.clone()),k.push(b.clone()),e.MoveTo(k[0]),e.CurveTo(k[1],k[2],k[3]);var V,Y=[],F=[],j=[],z=[],W=[],H=[],q=[];for(e.ToSubPathPolygons(q),Y.push(q[0]),V=q[0].length,e.LineTo(O),e.LineTo(o[3]),e.LineTo(E),(k=[]).push(T),k.push(U),k.push(B),k.push(D),e.LineTo(k[0]),q=[],e.ToSubPathPolygons(q);V<q[0].length;V++)F.push(q[0][V]);for(V=q[0].length,e.CurveTo(k[1],k[2],k[3]),q=[],e.ToSubPathPolygons(q);V<q[0].length;V++)j.push(q[0][V]);for(V=q[0].length,(k=[]).push(G),k.push(N),k.push(A),e.CurveTo(k[0],k[1],k[2]),q=[],e.ToSubPathPolygons(q);V<q[0].length;V++)z.push(q[0][V]);for(V=q[0].length,e.LineTo(x),e.LineTo(o[2]),e.LineTo(w),(k=[]).push(L),k.push(_),k.push(R),k.push(r),e.LineTo(k[0]),q=[],e.ToSubPathPolygons(q);V<q[0].length;V++)W.push(q[0][V]);for(V=q[0].length,e.CurveTo(k[1],k[2],k[3]),q=[],e.ToSubPathPolygons(q);V<q[0].length;V++)H.push(q[0][V]);return q=[],e.ToSubPathPolygons(q),{shapePts:q[0],LeftArowLeftBody:Y,LeftArowHead:F,LeftArowRightBody:j,ArowMidBody:[],RightArowLeftBody:z,RightArowHead:W,RightArowRightBody:H}}}]),e}();SuperMap.Plot.AlgoSymbol1021=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1020=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.5),o.scaleValues.push(.222222),o.scaleValues.push(.5),o.scaleValues.push(.5),o.scaleValues.push(.5)),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1020",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.222222),this.scaleValues.push(.5),this.scaleValues.push(.5),this.scaleValues.push(.5));var e=t[0].clone(),o=t[1].clone(),n=SuperMap.Plot.PlottingUtil.distance(e,o),i=this.scaleValues[0],l=new SuperMap.Geometry.Point(0,-n*i),r=new SuperMap.Geometry.Point(0,n*i),a=this.scaleValues[1],s=this.scaleValues[3],u=new SuperMap.Geometry.Point(n*(1-s),-n*a),p=new SuperMap.Geometry.Point(n*(1-s),n*a),c=this.scaleValues[2],y=this.scaleValues[4],P=new SuperMap.Geometry.Point(n*(1-y),-n*c),h=new SuperMap.Geometry.Point(n*(1-y),n*c),f=new SuperMap.Geometry.Point(n,0),S=SuperMap.Plot.PlottingUtil.radian(e,o),d=SuperMap.Plot.PlottingUtil.distance(l,u),g=SuperMap.Plot.PlottingUtil.findPointInLine(l,u,.3*d),M=SuperMap.Plot.PlottingUtil.findPointInLine(l,u,.4*d),m=SuperMap.Plot.PlottingUtil.distance(p,r),v=SuperMap.Plot.PlottingUtil.findPointInLine(p,r,.6*m),b=SuperMap.Plot.PlottingUtil.findPointInLine(p,r,.7*m),T=[];T.push(l),T.push(g),T.push(M),T.push(u),T.push(P),T.push(f),T.push(h),T.push(p),T.push(v),T.push(b),T.push(r);for(var A=[],L=0;L<T.length;L++){var O=SuperMap.Plot.PlottingUtil.coordinateTrans(e,T[L],S*SuperMap.Plot.PlottingUtil.RTOD);A.push(O)}for(var E=[],x=A.length-1;x>=0;--x)E.push(A[x]);var w=SuperMap.Plot.PlottingUtil.clonePoints(E);w.push(w[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,w,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E[0],E[1]]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E[2],E[3]]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E[3],E[4],E[5],E[6],E[7]],{lineTypeLimit:!0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E[7],E[8]]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[E[9],E[10]]),this.scalePoints=[];var I=A[0].clone();I.isScalePoint=!0,I.tag=0,this.scalePoints.push(I);var R=A[3].clone();R.isScalePoint=!0,R.tag=1,this.scalePoints.push(R);var C=A[4].clone();C.isScalePoint=!0,C.tag=2,this.scalePoints.push(C),this.finish()}}},{key:"modifyPoint",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var n=SuperMap.Plot.PlottingUtil.distance(o[0],o[1]),i=o[0].clone(),l=o[1].clone(),r=e.clone();if(0==t){var a=SuperMap.Plot.PlottingUtil.distance(r,i)/n;this.scaleValues[0]=a}else if(1==t){var s=SuperMap.Plot.PlottingUtil.projectPoint(r,i,l),u=SuperMap.Plot.PlottingUtil.distance(s,r)/n;this.scaleValues[1]=u;var p=SuperMap.Plot.PlottingUtil.distance(s,l)/n;this.scaleValues[3]=p}else if(2==t){var c=SuperMap.Plot.PlottingUtil.projectPoint(r,i,l),y=SuperMap.Plot.PlottingUtil.distance(c,r)/n;this.scaleValues[2]=y;var P=SuperMap.Plot.PlottingUtil.distance(c,l)/n;this.scaleValues[4]=P}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1020=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1019=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.5),o.scaleValues.push(.222222),o.scaleValues.push(.5),o.scaleValues.push(.5),o.scaleValues.push(.5)),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1019",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){0==this.scaleValues.length&&(this.scaleValues=[],this.scaleValues.push(.5),this.scaleValues.push(.222222),this.scaleValues.push(.5),this.scaleValues.push(.5),this.scaleValues.push(.5));var e=t[0].clone(),o=t[1].clone(),n=SuperMap.Plot.PlottingUtil.distance(e,o),i=this.scaleValues[0],l=new SuperMap.Geometry.Point(0,-n*i),r=new SuperMap.Geometry.Point(0,n*i),a=this.scaleValues[1],s=this.scaleValues[3],u=new SuperMap.Geometry.Point(n*(1-s),-n*a),p=new SuperMap.Geometry.Point(n*(1-s),n*a),c=this.scaleValues[2],y=this.scaleValues[4],P=new SuperMap.Geometry.Point(n*(1-y),-n*c),h=new SuperMap.Geometry.Point(n*(1-y),n*c),f=new SuperMap.Geometry.Point(n,0),S=SuperMap.Plot.PlottingUtil.radian(e,o),d=[];d.push(l),d.push(u),d.push(P),d.push(f),d.push(h),d.push(p),d.push(r),d.push(l);for(var g=[],M=0;M<d.length;M++){var m=SuperMap.Plot.PlottingUtil.coordinateTrans(e,d[M],S*SuperMap.Plot.PlottingUtil.RTOD);g.push(m)}for(var v=[],b=g.length-1;b>=0;--b)v.push(g[b]);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,v,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[v[2],v[1],v[7],v[6]],{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[v[6],v[5],v[4],v[3],v[2]],{lineTypeLimit:!0,surroundLineFlag:!1}),this.scalePoints=[];var T=g[0].clone();T.isScalePoint=!0,T.tag=0,this.scalePoints.push(T);var A=g[1].clone();A.isScalePoint=!0,A.tag=1,this.scalePoints.push(A);var L=g[2].clone();L.isScalePoint=!0,L.tag=2,this.scalePoints.push(L),this.finish()}}},{key:"modifyPoint",value:function(t,e){if(e.isScalePoint&&(t>=0||t<3)){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o);var n=SuperMap.Plot.PlottingUtil.distance(o[0],o[1]),i=o[0].clone(),l=o[1].clone(),r=e.clone();if(0==t){var a=SuperMap.Plot.PlottingUtil.distance(r,i)/n;this.scaleValues[0]=a}else if(1==t){var s=SuperMap.Plot.PlottingUtil.projectPoint(r,i,l),u=SuperMap.Plot.PlottingUtil.distance(s,r)/n;this.scaleValues[1]=u;var p=SuperMap.Plot.PlottingUtil.distance(s,l)/n;this.scaleValues[3]=p}else if(2==t){var c=SuperMap.Plot.PlottingUtil.projectPoint(r,i,l),y=SuperMap.Plot.PlottingUtil.distance(c,r)/n;this.scaleValues[2]=y;var P=SuperMap.Plot.PlottingUtil.distance(c,l)/n;this.scaleValues[4]=P}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1019=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1018=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.MAX_ARRAY_SIZE=128,o.sv1_DefaultAtLenDivAbLen=0,o.sv2_DefaultAjWidthDivAtLen=.148,o.sv3_DefaultAeWidthDivAtLen=.4,o.sv4_DefaultAeLenDivAtLen=.312,o.sv_AtScaleParameter=1.5,o.sv_AtLenDivAtWidth=1.35,o.sv_AtWidthDivAwWidth=.5,o.sv_defaultAwLenDivAbLen=.15,0===o.scaleValues.length&&(o.scaleValues.push(o.sv1_DefaultAtLenDivAbLen),o.scaleValues.push(o.sv2_DefaultAjWidthDivAtLen),o.scaleValues.push(o.sv3_DefaultAeWidthDivAtLen),o.scaleValues.push(o.sv4_DefaultAeLenDivAtLen)),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1018",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init(),this.applyUse()}},{key:"applyUse",value:function(){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<3)){var e=SuperMap.Plot.PlottingUtil.clonePoints(t),o=this.arrowMeshs(e),n=SuperMap.Plot.PlottingUtil.clonePoints(o.shapePts);(n=SuperMap.Plot.PlottingUtil.clearSamePts(n)).push(n[0]);var i=SuperMap.Plot.PlottingUtil.clearSamePts(o.leftBodyPts),l=SuperMap.Plot.PlottingUtil.clearSamePts(o.rightBodyPts),r=SuperMap.Plot.PlottingUtil.clearSamePts(o.arrowHeadPts);if(0!=o.shapePts.length){var a=SuperMap.Plot.PlottingUtil.polylineDistance(i),s=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.4*a,i),u=[],p=[],c=[];if(s.bfind)for(var y=0;y<=s.index;y++)u.push(i[y]);var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.45*a,i),h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.8*a,i);if(P.bfind&&h.bfind)for(var f=P.index;f<=h.index;f++)p.push(i[f]);var S=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.85*a,i);if(S.bfind)for(var d=S.index;d<i.length;d++)c.push(i[d]);var g=SuperMap.Plot.PlottingUtil.polylineDistance(l),M=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.15*g,l),m=[],v=[],b=[];if(M.bfind)for(var T=0;T<=M.index;T++)m.push(l[T]);var A=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.2*g,l),L=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.55*g,l);if(A.bfind&&L.bfind)for(var O=A.index;O<=L.index;O++)v.push(l[O]);var E=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(.6*g,l);if(E.bfind)for(var x=E.index;x<l.length;x++)b.push(l[x]);var w=SuperMap.Plot.PlottingUtil.clonePoints(r);w.splice(0,0,i[i.length-1]),w.push(l[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,n,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,v,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,b,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,w,{surroundLineFlag:!1,lineTypeLimit:!0});var I=this.updateScalePoints(e);if(this.scalePoints=[],3!=I.length)I=[];else for(var R=0;R<I.length;R++)I[R].isScalePoint=!0,I[R].tag=R,this.scalePoints.push(I[R]);this.finish()}else this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.scaleValues.length<4&&(this.scaleValues.push(this.sv1_DefaultAtLenDivAbLen),this.scaleValues.push(this.sv2_DefaultAjWidthDivAtLen),this.scaleValues.push(this.sv3_DefaultAeWidthDivAtLen),this.scaleValues.push(this.sv4_DefaultAeLenDivAtLen));var n=o.length;if(n<=2)return;var i,l,r,a,s=this.operateCtrlPts(o);n=s.length,n--;var u=this.calcScaleValueCount(o.length);if(this.scaleValues.length<u){var p=this.calcDefaultScaleValues(n);i=p[0],l=p[1],r=p[2],a=p[3]}else i=this.scaleValues[0],l=this.scaleValues[1],r=this.scaleValues[2],a=this.scaleValues[3];for(var c=SuperMap.Plot.PlottingUtil.polylineDistance(o),y=[],P=0;P<this.scalePoints.length;P++)y.push(this.scalePoints[P].clone());if(0==y.length)return;y[t]=e.clone();var h,f,S=n-1;h=n<=3?new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2):s[S-1].clone();var d,g,M,m,v,b,T=new SuperMap.Geometry.Point(0,0),A=new SuperMap.Geometry.Point(0,0),L=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,h,s[S],s[S+1],A,L),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,s[n],s[n-1],L,T),f=T.clone();var O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[2]);d=O.dLen1,O.dLen2,0==d&&(d=.1),g=d,i=(d/=a+1)/c,1==t?(m=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[1])).dLen1,r=(v=O.dLen2)/d,a=(m-d)/d):0==t?(d=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[0])).dLen1,l=(M=O.dLen2)/d,(b=SuperMap.Plot.PlottingUtil.distance(s[n],s[n-1]))<2*d&&(d=.5*b),m=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[1])).dLen1,r=(v=O.dLen2)/d,(a=(g-d)/d)<.1&&(r=v/(d=g/(1+(a=.1))),l=M/d),i=d/c):2==t&&(i=d/c),M=d*l,(b=SuperMap.Plot.PlottingUtil.distance(s[n],s[n-1]))<2*d&&(M=(d=.5*b)*l,i=d/c),this.scaleValues[0]=i,this.scaleValues[1]=l,this.scaleValues[2]=r,this.scaleValues[3]=a}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=[],o=[],n=[],i=[],l=SuperMap.Plot.PlottingUtil.clonePoints(t),r=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(l,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER),a=r.arrowTouLen,s=r.leftBodyPts,u=r.rightBodyPts;if(!SuperMap.Plot.PlottingUtil.equalFuzzy(a,0)){var p=[];p.push(s[s.length-1]),p.push(u[u.length-1]);var c=[];c.push(this.scaleValues[2]),c.push(this.scaleValues[3]),c.push(0),c.push(0);for(var y=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(l,p,c,a,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR),P=0;P<s.length;P++)e.push(s[P]),o.push(s[P]);for(var h=0;h<y.length;h++)e.push(y[h]),i.push(y[h]);for(var f=u.length-1;f>=0;f--)e.push(u[f]),n.push(u[f])}return{shapePts:e,leftBodyPts:o,rightBodyPts:n,arrowHeadPts:i}}},{key:"updateScalePoints",value:function(t){var e=t.length,o=[];if(!(e<3)){var n=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!SuperMap.Plot.PlottingUtil.equalFuzzy(n,0)){var i=this.operateCtrlPts(t);e=i.length,e--;for(var l=[],r=0;r<this.scaleValues.length;r++)l.push(this.scaleValues[r]);var a=this.genArrowBodyPts(n,i,l),s=a.ArrowBodyCenterPts,u=this.genAtPts(e,s,l,a.ArrowTouLen),p=this.calc3rdScalePt(e,s,l,a.ArrowTouLen);return o.push(new SuperMap.Geometry.Point(a.LeftBodyPtsTemp[e].x,a.LeftBodyPtsTemp[e].y)),o.push(new SuperMap.Geometry.Point(u[2].x,u[2].y)),o.push(new SuperMap.Geometry.Point(p.x,p.y)),o}}}},{key:"operateCtrlPts",value:function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t);if(3===e.length){var o=((e[0].x+e[1].x)/2+e[2].x)/2,n=((e[0].y+e[1].y)/2+e[2].y)/2,i=new SuperMap.Geometry.Point(o,n),l=e[2];e[2]=i,e.push(l)}return e}},{key:"genArrowBodyPts",value:function(t,e,o){var n,i,l,r=[],a=[],s=[],u=[],p=[],c=[],y=e.length;if(y--,o.length<this.calcScaleValueCount(y)){var P=this.calcDefaultScaleValues(y);i=P[0],l=P[1]}else i=o[0],l=o[1];var h=SuperMap.Plot.PlottingUtil.clonePoints(e),f=(h[0].x+h[1].x)/2,S=(h[0].y+h[1].y)/2,d=Math.abs(f-h[2].x),g=Math.abs(S-h[2].y),M=0;if(d>0&&g>0){var m=1/(f-h[2].x),v=-1/(S-h[2].y),b=1*h[2].y/(S-h[2].y)-1*h[2].x/(f-h[2].x);M=Math.abs(m*h[0].x+v*h[0].y+b)/Math.sqrt(m*m+v*v)}else g<=1e-4?M=Math.abs(S-h[1].y):d<=1e-4&&(M=Math.abs(f-h[1].x));var T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,h[2],new SuperMap.Geometry.Point(f,S)),A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(h[1],h[2],h[0]);A?(r[1]=h[1],a[1]=h[0]):(r[1]=h[0],a[1]=h[1]),h[1]=new SuperMap.Geometry.Point((h[0].x+h[1].x)/2,(h[0].y+h[1].y)/2);var L=Math.sqrt((T.pntLeft.x-T.pntRight.x)*(T.pntLeft.x-T.pntRight.x)+(T.pntLeft.y-T.pntRight.y)*(T.pntLeft.y-T.pntRight.y))*this.sv_AtWidthDivAwWidth,O=(n=L*this.sv_AtLenDivAtWidth)*l;SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||(O=(n=t*i)*l);var E,x,w=SuperMap.Plot.PlottingUtil.distance(h[y],h[y-1]),I=2*n;w<I&&(O=(n=w/2)*l),h.push(h[y].clone()),E=0,x=0;var R=0,C=[];for(R=2;R<=y;R++)E+=SuperMap.Plot.PlottingUtil.distance(h[R],h[R-1]);for(E-=n,R=2;R<=y-1;R++)x+=SuperMap.Plot.PlottingUtil.distance(h[R],h[R-1]),C[R]=O+(L-O)*Math.pow((E-x)/E,this.sv_AtScaleParameter);C[y]=O;var _,U,N=new SuperMap.Geometry.Point(0,0),D=new SuperMap.Geometry.Point(0,0),B=new SuperMap.Geometry.Point(0,0);for(R=2;R<=y-1;R++)SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,h[R-1],h[R],h[R+1],D,B),R==y-1&&SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,h[y],h[y-1],B,N),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(C[R],D,h[R]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(B,D,_.pntRight))?(r[R]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),a[R]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)):(r[R]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),a[R]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));for(Math.sqrt(1*(h[y].x-N.x)*(h[y].x-N.x)+1*(h[y].y-N.y)*(h[y].y-N.y))>0&&(h[y]=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(n,h[y],N)),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,h[y+1],h[y]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(h[y],h[y+1],_.pntLeft))?(a[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),r[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y)):(a[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),r[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)),R=2;R<y;R++)SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,r[R-1],r[R],r[R+1],D,B),s[R]=new SuperMap.Geometry.Point(D.x,D.y),u[R]=new SuperMap.Geometry.Point(B.x,B.y),SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,a[R-1],a[R],a[R+1],D,B),p[R]=new SuperMap.Geometry.Point(D.x,D.y),c[R]=new SuperMap.Geometry.Point(B.x,B.y),2==R&&(SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,r[1],r[2],s[2],N),u[R]=new SuperMap.Geometry.Point(N.x,N.y),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,a[1],a[2],p[2],N),c[R]=new SuperMap.Geometry.Point(N.x,N.y)),R==y-1&&(I=(w=SuperMap.Plot.PlottingUtil.distance(r[y],r[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,h[y],h[y+1])).x+=r[y].x-h[y].x,U.y+=r[y].y-h[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,r[y],U),s[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),I=(w=SuperMap.Plot.PlottingUtil.distance(a[y],a[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,h[y],h[y+1])).x+=a[y].x-h[y].x,U.y+=a[y].y-h[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,a[y],U),p[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));return{ArrowBodyCenterPts:SuperMap.Plot.PlottingUtil.clonePoints(h),LeftBodyPtsTemp:r,RightBodyPtsTemp:a,LeftBodyPtsLeftCtrlPts:s,LeftBodyPtsRightCtrlPts:u,RightBodyPtsLeftCtrlPts:p,RightBodyPtsRightCtrlPts:c,ArrowTouLen:n}}},{key:"calcScaleValueCount",value:function(){return 4}},{key:"calcDefaultScaleValues",value:function(){var t=[];return t.push(this.sv1_DefaultAtLenDivAbLen),t.push(this.sv2_DefaultAjWidthDivAtLen),t.push(this.sv3_DefaultAeWidthDivAtLen),t.push(this.sv4_DefaultAeLenDivAtLen),t}},{key:"genAtPts",value:function(t,e,o,n){var i=o[2],l=[],r=n*o[3],a=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(r,e[t],e[t+1]);r=n*i;var s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,e[t+1],a);return l.push(new SuperMap.Geometry.Point(s.pntLeft.x,s.pntLeft.y)),l.push(e[t+1]),l.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y)),l}},{key:"calc3rdScalePt",value:function(t,e,o,n){var i=n*o[3];return SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(i,e[t],e[t+1])}}]),e}();SuperMap.Plot.AlgoSymbol1018=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1017=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.1),o.scaleValues.push(.2),o.scaleValues.push(0),o.scaleValues.push(.3),o.scaleValues.push(.3)),o.CLASS_NAME="SuperMap.Geometry.AlgoSymbol1017",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=this.minEditPts){this.scalePoints=[];var e=SuperMap.Plot.PlottingUtil.clonePoints(t);this.isEdit||(this.scaleValues[0]=1.5*this.getSubSymbolScaleValue());var o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(e,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_PARALLEL),n=o.arrowTouLen,i=o.leftBodyPts,l=o.rightBodyPts,r=[];r.push(i[i.length-1]),r.push(l[l.length-1]);var a=[];a.push(this.scaleValues[3]),a.push(this.scaleValues[4]),a.push(this.scaleValues[0]),a.push(this.scaleValues[1]);var s=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(e,r,a,n,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR),u=[];u=(u=u.concat(i)).concat(s);for(var p=l.length-1;p>=0;p--)u.push(l[p]);u.push(u[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u,{lineWidthLimit:!0,strokeWidth:0,weight:0,surroundLineFlag:!1});for(var c=SuperMap.Plot.PlottingUtil.clonePoints(i),y=[],P=l.length-1;P>=0;P--)y.push(l[P]);y=y.concat(c),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,y);var h=SuperMap.Plot.PlottingUtil.clonePoints(s);h.push(l[l.length-1]),h.splice(0,0,i[i.length-1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,h,{lineTypeLimit:!0});var f=new SuperMap.Geometry.Point((r[0].x+r[1].x)/2,(r[0].y+r[1].y)/2),S=new SuperMap.Geometry.Point(f.x,f.y);S.isScalePoint=!0,S.tag=0,this.scalePoints.push(S);var d=new SuperMap.Geometry.Point(i[i.length-1].x,i[i.length-1].y);d.isScalePoint=!0,d.tag=1,this.scalePoints.push(d);var g=new SuperMap.Geometry.Point(s[0].x,s[0].y);g.isScalePoint=!0,g.tag=2,this.scalePoints.push(g),this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=new SuperMap.Geometry.Point(this.scalePoints[0].x,this.scalePoints[0].y),n=new SuperMap.Geometry.Point(this.scalePoints[1].x,this.scalePoints[1].y),i=new SuperMap.Geometry.Point(this.scalePoints[2].x,this.scalePoints[2].y),l=this.scaleValues[0],r=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);r=SuperMap.Plot.PlottingUtil.clearSamePts(r);var a=SuperMap.Plot.PlottingUtil.polylineDistance(r),s=a*l;if(0==t){var u=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,r[r.length-2],r[r.length-1]),p=u.projectPoint;if(u.isOnline){var c=SuperMap.Plot.PlottingUtil.distance(p,r[r.length-1]);this.scaleValues[0]=c/a}}else if(1==t){var y=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n,i).projectPoint,P=SuperMap.Plot.PlottingUtil.distance(y,o);this.scaleValues[1]=P/s}else if(2==t){var h=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,r[1],i).projectPoint,f=SuperMap.Plot.PlottingUtil.pointProjectToSegment(h,o,r[1]),S=f.projectPoint,d=SuperMap.Plot.PlottingUtil.distance(S,o);!1===f.isOnline&&(this.scaleValues[4]=d/s)}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1017=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1016=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.1),o.arrowHeadType=t.arrowHeadType?t.arrowHeadType:0,o.arrowBodyType=t.arrowBodyType?t.arrowBodyType:0,o.arrowTailType=t.arrowTailType?t.arrowTailType:0,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1016",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fillStyle:0,lineTypeLimit:!0};this.scaleValues[0]=this.getSubSymbolScaleValue();var o,n=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],i=2*Math.sqrt(n*n/3)/1.4,l=Math.sqrt(n*n/3),r=!1;this.arrowBodyType===SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_COATTAIL?o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,n,this.arrowBodyType,r):this.arrowHeadType===SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE||this.arrowHeadType===SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE_SOLID?(r=!0,o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,n,this.arrowBodyType,r)):this.arrowHeadType===SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_POLYLINE?o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,n,this.arrowBodyType,r):this.arrowHeadType===SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL_HOLLOW?(r=!0,o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,i,this.arrowBodyType,r)):this.arrowHeadType===SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL?(r=!0,o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,l,this.arrowBodyType,r)):o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,0,this.arrowBodyType,r);var a=[];this.arrowBodyType===SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_COATTAIL?(a.push(t[t.length-1]),a.push(t[t.length-2])):r?(a.push(t[t.length-1]),a.push(o[o.length-1])):(a.push(o[o.length-1]),a.push(o[o.length-2]));var s,u=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine(a,n,this.arrowHeadType);if(o.length>1)if(this.arrowBodyType!==SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_COATTAIL)this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);else for(var p=0,c=o.length-1;p<c;p+=2){var y=SuperMap.Plot.PlottingUtil.distance(o[p+1],o[p]),P=180*SuperMap.Plot.PlottingUtil.radian(o[p+1],o[p])/Math.PI,h=SuperMap.Plot.PlottingUtil.circlePoint(o[p+1],.3*y,.3*y,P+30),f=SuperMap.Plot.PlottingUtil.circlePoint(o[p+1],.3*y,.3*y,P+330),S=SuperMap.Plot.PlottingUtil.circlePoint(o[p],.3*y,.3*y,P+30),d=SuperMap.Plot.PlottingUtil.circlePoint(o[p],.3*y,.3*y,P+330),g=[];g.push(h,o[p+1],f,d,o[p],S),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,g,e)}s=this.arrowBodyType===SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYBEZIER?SuperMap.Plot.ArrowToolkit.generateArrowTailShapePtsBySingleLine([o[0],o[1]],n,this.arrowTailType):SuperMap.Plot.ArrowToolkit.generateArrowTailShapePtsBySingleLine([t[0],t[1]],n,this.arrowTailType);var M=SuperMap.Plot.SymbolType.POLYLINESYMBOL;this.arrowHeadType!==SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL&&this.arrowHeadType!==SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE_SOLID&&this.arrowHeadType!==SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE&&this.arrowHeadType!==SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL_HOLLOW||(M=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL),u.length>1&&this.addCell(M,u,e),s.length>1&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}}}]),e}();SuperMap.Plot.AlgoSymbol1016=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.AlgoSymbol1015=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.subSymbolDefaultPixelSize=15,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1015",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1009),e}();SuperMap.Plot.AlgoSymbol1015=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.AlgoSymbol1014=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.subSymbolDefaultPixelSize=15,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1014",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1008),e}();SuperMap.Plot.AlgoSymbol1014=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.AlgoSymbol1013=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.subSymbolDefaultPixelSize=15,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1013",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1007),e}();SuperMap.Plot.AlgoSymbol1013=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.AlgoSymbol1012=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.subSymbolDefaultPixelSize=15,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1012",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1005),e}();SuperMap.Plot.AlgoSymbol1012=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1011=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.sv1_DefaultAtLenDivAbLen=0,o.sv2_DefaultAjWidthDivAtLen=.148,o.sv3_DefaultAeWidthDivAtLen=.4,o.sv4_DefaultAeLenDivAtLen=.312,o.sv_arrowTailWidth=.05,5!==o.scaleValues.length&&(o.scaleValues=[],o.scaleValues.push(o.sv1_DefaultAtLenDivAbLen),o.scaleValues.push(o.sv2_DefaultAjWidthDivAtLen),o.scaleValues.push(o.sv3_DefaultAeWidthDivAtLen),o.scaleValues.push(o.sv4_DefaultAeLenDivAtLen),o.scaleValues.push(o.sv_arrowTailWidth)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1011",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol1004),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<2)){var e=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(0!==e){var o=e*this.scaleValues[4],n=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(o,t[1],t[0]);void 0!==t[0].z&&(n.pntLeft.z=t[0].z,n.pntRight.z=t[0].z),this.controlPoints=[],this.controlPoints.push(n.pntLeft),this.controlPoints.push(n.pntRight);for(var i=1;i<t.length;i++)this.controlPoints.push(t[i].clone());for(var l=[],r=0;r<this.scaleValues.length;r++)l.push(this.scaleValues[r]);this.scaleValues=[];for(var a=0;a<l.length-1;a++)this.scaleValues.push(l[a]);SuperMap.Plot.AlgoSymbol1004.prototype.calculateParts.apply(this,arguments);var s=n.pntRight.clone();s.isScalePoint=!0,s.tag=3,this.addScalePoint(s),this.controlPoints=SuperMap.Plot.PlottingUtil.clonePoints(t),this.scaleValues=[];for(var u=0;u<l.length;u++)this.scaleValues.push(l[u])}}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(o.length<2)return;this.scaleValues.length<5&&(this.scaleValues=[],this.scaleValues.push(this.sv1_DefaultAtLenDivAbLen),this.scaleValues.push(this.sv2_DefaultAjWidthDivAtLen),this.scaleValues.push(this.sv3_DefaultAeWidthDivAtLen),this.scaleValues.push(this.sv4_DefaultAeLenDivAtLen),this.scaleValues.push(this.sv_arrowTailWidth));var n,i=o[0].clone(),l=SuperMap.Plot.PlottingUtil.polylineDistance(o),r=l*this.scaleValues[4],a=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,o[1],o[0]);(o=[]).push(a.pntLeft),o.push(a.pntRight);for(var s=1;s<this.controlPoints.length;s++)o.push(this.controlPoints[s].clone());var u,p,c,y,P,h=o.length,f=this.operateCtrlPts(o);h=f.length,h--;var S=this.calcScaleValueCount(o.length);if(S++,this.scaleValues.length<S){var d=this.calcDefaultScaleValues(h);u=d[0],p=d[1],c=d[2],y=d[3],P=this.sv_arrowTailWidth}else u=this.scaleValues[0],p=this.scaleValues[1],c=this.scaleValues[2],y=this.scaleValues[3],P=this.scaleValues[4];n=SuperMap.Plot.PlottingUtil.polylineDistance(o);for(var g=[],M=0;M<this.scalePoints.length;M++)g.push(this.scalePoints[M].clone());if(0===g.length)return;g[t]=e.clone();var m,v,b=h-1;m=h<=3?new SuperMap.Geometry.Point((f[0].x+f[1].x)/2,(f[0].y+f[1].y)/2):f[b-1].clone();var T,A,L,O,E,x,w=new SuperMap.Geometry.Point(0,0),I=new SuperMap.Geometry.Point(0,0),R=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,m,f[b],f[b+1],I,R),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,f[h],f[h-1],R,w),v=w.clone();var C=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(f[h],v,g[2]);if(T=C.dLen1,C.dLen2,0===T&&(T=.1),A=T,u=(T/=y+1)/n,1===t)O=(C=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(f[h],v,g[1])).dLen1,c=(E=C.dLen2)/T,y=(O-T)/T;else if(0===t)T=(C=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(f[h],v,g[0])).dLen1,p=(L=C.dLen2)/T,(x=SuperMap.Plot.PlottingUtil.distance(f[h],f[h-1]))<2*T&&(T=.5*x),O=(C=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(f[h],v,g[1])).dLen1,c=(E=C.dLen2)/T,(y=(A-T)/T)<.1&&(c=E/(T=A/(1+(y=.1))),p=L/T),u=T/n;else if(2===t)u=T/n;else{P=SuperMap.Plot.PlottingUtil.distance(e,i)/l}L=T*p,(x=SuperMap.Plot.PlottingUtil.distance(f[h],f[h-1]))<2*T&&(L=(T=.5*x)*p,u=T/n),this.scaleValues[0]=u,this.scaleValues[1]=p,this.scaleValues[2]=c,this.scaleValues[3]=y,this.scaleValues[4]=P}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=[],o=[],n=[],i=[],l=SuperMap.Plot.PlottingUtil.clonePoints(t),r=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(l,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER),a=r.arrowTouLen,s=r.leftBodyPts,u=r.rightBodyPts;if(!SuperMap.Plot.PlottingUtil.equalFuzzy(a,0)){var p=[];p.push(s[s.length-1]),p.push(u[u.length-1]);var c=[];c.push(this.scaleValues[2]),c.push(this.scaleValues[3]),c.push(0),c.push(0);for(var y=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(l,p,c,a,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR),P=0;P<s.length;P++)e.push(s[P]),o.push(s[P]);for(var h=0;h<y.length;h++)e.push(y[h]),i.push(y[h]);for(var f=u.length-1;f>=0;f--)e.push(u[f]),n.push(u[f])}return{shapePts:e,leftBodyPts:o,rightBodyPts:n,arrowHeadPts:i}}},{key:"updateScalePoints",value:function(t){var e=t.length,o=[];if(!(e<3)){var n=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!SuperMap.Plot.PlottingUtil.equalFuzzy(n,0)){var i=this.operateCtrlPts(t);e=i.length,e--;for(var l=[],r=0;r<this.scaleValues.length;r++)l.push(this.scaleValues[r]);var a=this.genArrowBodyPts(n,i,l),s=a.ArrowBodyCenterPts,u=this.genAtPts(e,s,l,a.ArrowTouLen),p=this.calc3rdScalePt(e,s,l,a.ArrowTouLen);return o.push(new SuperMap.Geometry.Point(a.LeftBodyPtsTemp[e].x,a.LeftBodyPtsTemp[e].y)),o.push(new SuperMap.Geometry.Point(u[2].x,u[2].y)),o.push(new SuperMap.Geometry.Point(p.x,p.y)),o}}}},{key:"operateCtrlPts",value:function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t);if(3===e.length){var o=((e[0].x+e[1].x)/2+e[2].x)/2,n=((e[0].y+e[1].y)/2+e[2].y)/2,i=new SuperMap.Geometry.Point(o,n),l=e[2];e[2]=i,e.push(l)}return e}},{key:"genArrowBodyPts",value:function(t,e,o){var n,i,l,r=[],a=[],s=[],u=[],p=[],c=[],y=e.length;if(y--,o.length<this.calcScaleValueCount(y)){var P=this.calcDefaultScaleValues(y);i=P[0],l=P[1]}else i=o[0],l=o[1];var h=SuperMap.Plot.PlottingUtil.clonePoints(e),f=(h[0].x+h[1].x)/2,S=(h[0].y+h[1].y)/2,d=Math.abs(f-h[2].x),g=Math.abs(S-h[2].y),M=0;if(d>0&&g>0){var m=1/(f-h[2].x),v=-1/(S-h[2].y),b=1*h[2].y/(S-h[2].y)-1*h[2].x/(f-h[2].x);M=Math.abs(m*h[0].x+v*h[0].y+b)/Math.sqrt(m*m+v*v)}else g<=1e-4?M=Math.abs(S-h[1].y):d<=1e-4&&(M=Math.abs(f-h[1].x));var T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,h[2],new SuperMap.Geometry.Point(f,S)),A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(h[1],h[2],h[0]);A?(r[1]=h[1],a[1]=h[0]):(r[1]=h[0],a[1]=h[1]),h[1]=new SuperMap.Geometry.Point((h[0].x+h[1].x)/2,(h[0].y+h[1].y)/2);var L=Math.sqrt((T.pntLeft.x-T.pntRight.x)*(T.pntLeft.x-T.pntRight.x)+(T.pntLeft.y-T.pntRight.y)*(T.pntLeft.y-T.pntRight.y))*this.sv_AtWidthDivAwWidth,O=(n=L*this.sv_AtLenDivAtWidth)*l;SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||(O=(n=t*i)*l);var E,x,w=SuperMap.Plot.PlottingUtil.distance(h[y],h[y-1]),I=2*n;w<I&&(O=(n=w/2)*l),h.push(h[y].clone()),E=0,x=0;var R=0,C=[];for(R=2;R<=y;R++)E+=SuperMap.Plot.PlottingUtil.distance(h[R],h[R-1]);for(E-=n,R=2;R<=y-1;R++)x+=SuperMap.Plot.PlottingUtil.distance(h[R],h[R-1]),C[R]=O+(L-O)*Math.pow((E-x)/E,this.sv_AtScaleParameter);C[y]=O;var _,U,N=new SuperMap.Geometry.Point(0,0),D=new SuperMap.Geometry.Point(0,0),B=new SuperMap.Geometry.Point(0,0);for(R=2;R<=y-1;R++)SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,h[R-1],h[R],h[R+1],D,B),R===y-1&&SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,h[y],h[y-1],B,N),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(C[R],D,h[R]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(B,D,_.pntRight))?(r[R]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),a[R]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)):(r[R]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),a[R]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));for(Math.sqrt(1*(h[y].x-N.x)*(h[y].x-N.x)+1*(h[y].y-N.y)*(h[y].y-N.y))>0&&(h[y]=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(n,h[y],N)),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,h[y+1],h[y]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(h[y],h[y+1],_.pntLeft))?(a[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),r[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y)):(a[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),r[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)),R=2;R<y;R++)SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,r[R-1],r[R],r[R+1],D,B),s[R]=new SuperMap.Geometry.Point(D.x,D.y),u[R]=new SuperMap.Geometry.Point(B.x,B.y),SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,a[R-1],a[R],a[R+1],D,B),p[R]=new SuperMap.Geometry.Point(D.x,D.y),c[R]=new SuperMap.Geometry.Point(B.x,B.y),2===R&&(SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,r[1],r[2],s[2],N),u[R]=new SuperMap.Geometry.Point(N.x,N.y),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,a[1],a[2],p[2],N),c[R]=new SuperMap.Geometry.Point(N.x,N.y)),R===y-1&&(I=(w=SuperMap.Plot.PlottingUtil.distance(r[y],r[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,h[y],h[y+1])).x+=r[y].x-h[y].x,U.y+=r[y].y-h[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,r[y],U),s[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),I=(w=SuperMap.Plot.PlottingUtil.distance(a[y],a[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,h[y],h[y+1])).x+=a[y].x-h[y].x,U.y+=a[y].y-h[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,a[y],U),p[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));return{ArrowBodyCenterPts:SuperMap.Plot.PlottingUtil.clonePoints(h),LeftBodyPtsTemp:r,RightBodyPtsTemp:a,LeftBodyPtsLeftCtrlPts:s,LeftBodyPtsRightCtrlPts:u,RightBodyPtsLeftCtrlPts:p,RightBodyPtsRightCtrlPts:c,ArrowTouLen:n}}},{key:"calcScaleValueCount",value:function(){return 4}},{key:"calcDefaultScaleValues",value:function(){var t=[];return t.push(this.sv1_DefaultAtLenDivAbLen),t.push(this.sv2_DefaultAjWidthDivAtLen),t.push(this.sv3_DefaultAeWidthDivAtLen),t.push(this.sv4_DefaultAeLenDivAtLen),t}},{key:"genAtPts",value:function(t,e,o,n){var i=o[2],l=[],r=n*o[3],a=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(r,e[t],e[t+1]);r=n*i;var s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,e[t+1],a);return l.push(new SuperMap.Geometry.Point(s.pntLeft.x,s.pntLeft.y)),l.push(e[t+1]),l.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y)),l}},{key:"calc3rdScalePt",value:function(t,e,o,n){var i=n*o[3];return SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(i,e[t],e[t+1])}}]),e}();SuperMap.Plot.AlgoSymbol1011=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1010=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(0),o.scaleValues.push(.148),o.scaleValues.push(.4),o.scaleValues.push(.312),o.scaleValues.push(.2)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1010",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){var e=this.arrowMeshs(t);if(SuperMap.Plot.PlottingUtil.clearSamePts(e.shapePts),0!==e.shapePts.length){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.shapePts,{surroundLineFlag:!1}),this.scalePoints=[];for(var o=0;o<e.m_scalePoints.length;o++)this.addScalePoint(e.m_scalePoints[o])}}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);this.scaleValues.length<4&&(this.scaleValues.push(0),this.scaleValues.push(.148),this.scaleValues.push(.4),this.scaleValues.push(.312),this.scaleValues.push(.2));var n,i,l,r,a=o.length;if(a<=2)return;this.scaleValues.length<4?(n=0,i=.148,l=.4,r=.312):(n=this.scaleValues[0],i=this.scaleValues[1],l=this.scaleValues[2],r=this.scaleValues[3]);var s=SuperMap.Plot.PlottingUtil.polylineDistance(o),u=this.operateCtrlPts(o);a=u.length,a--;for(var p=[],c=0;c<this.scalePoints.length;c++)p.push(this.scalePoints[c].clone());if(0===p.length)return;if(p[t]=e.clone(),3===t){var y=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(o,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER),P=new SuperMap.Geometry.Point(.5*(y.leftBodyPts[0].x+y.rightBodyPts[0].x),.5*(y.leftBodyPts[0].y+y.rightBodyPts[0].y)),h=SuperMap.Plot.PlottingUtil.distance(y.leftBodyPts[0],y.rightBodyPts[0]);this.scaleValues[4]=SuperMap.Plot.PlottingUtil.distance(P,e)/h}else{var f,S,d=a-1;f=a<=3?new SuperMap.Geometry.Point((u[0].x+u[1].x)/2,(u[0].y+u[1].y)/2):u[d-1].clone();var g,M,m,v,b,T,A=new SuperMap.Geometry.Point(0,0),L=new SuperMap.Geometry.Point(0,0),O=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,f,u[d],u[d+1],L,O),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,u[a],u[a-1],O,A),S=A.clone();var E=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(u[a],S,p[2]);g=E.dLen1,E.dLen2,0===g&&(g=.1),M=g,n=(g/=r+1)/s,1===t?(v=(E=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(u[a],S,p[1])).dLen1,l=(b=E.dLen2)/g,r=(v-g)/g):0===t?(g=(E=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(u[a],S,p[0])).dLen1,i=(m=E.dLen2)/g,(T=SuperMap.Plot.PlottingUtil.distance(u[a],u[a-1]))<2*g&&(g=.5*T),v=(E=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(u[a],S,p[1])).dLen1,l=(b=E.dLen2)/g,(r=(M-g)/g)<.1&&(l=b/(g=M/(1+(r=.1))),i=m/g),n=g/s):2===t&&(n=g/s),m=g*i,(T=SuperMap.Plot.PlottingUtil.distance(u[a],u[a-1]))<2*g&&(m=(g=.5*T)*i,n=g/s),this.scaleValues[0]=n,this.scaleValues[1]=i,this.scaleValues[2]=l,this.scaleValues[3]=r}}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=[],o=[],n=[],i=[],l=[],r=[],a=SuperMap.Plot.PlottingUtil.clonePoints(t),s=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(a,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER),u=s.arrowTouLen,p=s.leftBodyPts,c=s.rightBodyPts;if(a=s.OpectrlPoints,!SuperMap.Plot.PlottingUtil.equalFuzzy(u,0)){var y=[];y.push(p[p.length-1]),y.push(c[c.length-1]);var P=[];P.push(this.scaleValues[2]),P.push(this.scaleValues[3]),P.push(0),P.push(0);var h=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(a,y,P,u,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR),f=[];f.push(p[0]),f.push(c[0]);for(var S,d=SuperMap.Plot.ArrowToolkit.generateArrowTailShapePts(t,f,this.scaleValues[4],SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_COATTAIL_POLYBODY),g=0;g<p.length;g++)e.push(p[g]),o.push(p[g]);for(var M=0;M<h.length;M++)e.push(h[M]),i.push(h[M]);for(var m=c.length-1;m>=0;m--)e.push(c[m]),n.push(c[m]);for(var v=1;v<d.length;v++)e.push(d[v]),l.push(d[v]);var b=a.length;b-=2;var T=u*this.scaleValues[3];S=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(T,a[b],a[b+1]);var A=new SuperMap.Geometry.Point(o[o.length-1].x,o[o.length-1].y);A.isScalePoint=!0,A.tag=0,r.push(A),(A=new SuperMap.Geometry.Point(i[0].x,i[0].y)).isScalePoint=!0,A.tag=1,r.push(A),(A=new SuperMap.Geometry.Point(S.x,S.y)).isScalePoint=!0,A.tag=2,r.push(A),(A=new SuperMap.Geometry.Point(d[1].x,d[1].y)).isScalePoint=!0,A.tag=3,r.push(A)}return{shapePts:e,leftBodyPts:o,rightBodyPts:n,arrowHeadPts:i,arrowTailPts:l,m_scalePoints:r}}},{key:"operateCtrlPts",value:function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t);if(3===e.length){var o=((e[0].x+e[1].x)/2+e[2].x)/2,n=((e[0].y+e[1].y)/2+e[2].y)/2,i=new SuperMap.Geometry.Point(o,n),l=e[2];e[2]=i,e.push(l)}return e}}]),e}();SuperMap.Plot.AlgoSymbol1010=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1009=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.1),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1009",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=!1;void 0!==t[0].z&&(e=!0),this.scaleValues[0]=this.getSubSymbolScaleValue();var o=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],n=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,0,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYLINE,!1),i=[];i.push(n[n.length-1]),i.push(n[n.length-2]);var l=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine(i,o,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_POLYLINE),r=[];r.push(n[0]),r.push(n[1]);var a=SuperMap.Plot.ArrowToolkit.generateArrowTailShapePtsBySingleLine(r,o,SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_COATTAIL);if(e){for(var s=t.length,u=[],p=[],c=[],y=0;y<s;++y)u.push({x:ptsClone[y].x,y:ptsClone[y].y,z:t[y].z});var P,h={x:t[s-1].x,y:t[s-1].y,z:t[s-1].z},f={x:t[s-2].x,y:t[s-2].y,z:t[s-2].z};P=this.ComputeZValue(n[s-1],h,f),u.push({x:n[s-1].x,y:n[s-1].y,z:P});for(var S=0;S<l.length;++S)P=this.ComputeZValue(l[S],h,f),p.push({x:l[S].x,y:l[S].y,z:P});for(var d={x:t[1].x,y:t[1].y,z:t[1].z},g={x:t[0].x,y:t[0].y,z:t[0].z},M=0;M<a.length;++M)P=this.ComputeZValue(a[M],d,g),c.push({x:a[M].x,y:a[M].y,z:P});this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,p),0!==c.length&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c)}else{this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n,{surroundLineFlag:!1}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l),0!==a.length&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a)}}}}]),e}();SuperMap.Plot.AlgoSymbol1009=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1008=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.1),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1008",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues[0]=this.getSubSymbolScaleValue();var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],o=Math.sqrt(e*e/3),n=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,o,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYBEZIER,!0),i=[];i.push(t[t.length-1]),i.push(n[n.length-1]);var l=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine(i,e,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL);n.push(t[t.length-1]),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);l.length>0&&this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l,{surroundLineFlag:!1,fillLimit:!0,fill:!0})}}}]),e}();SuperMap.Plot.AlgoSymbol1008=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1007=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.1),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1007",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=!1;void 0!==t[0].z&&(e=!0),this.scaleValues[0]=this.getSubSymbolScaleValue();var o=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],n=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,o,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYLINE,!0),i=[];i.push(t[t.length-1]),i.push(n[n.length-1]);var l=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine(i,o,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE_SOLID);if(e){for(var r=t.length,a=[],s=[],u=0;u<r;++u)a.push({x:n[u].x,y:n[u].y,z:t[u].z});var p={x:t[r-1].x,y:t[r-1].y,z:t[r-1].z},c={x:t[r-2].x,y:t[r-2].y,z:t[r-2].z},y=this.ComputeZValue(n[r-1],p,c);a.push({x:n[r-1].x,y:n[r-1].y,z:y});for(var P=0;P<l.length;++P){var h=this.ComputeZValue(l[P],p,c);s.push({x:l[P].x,y:l[P].y,z:h})}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,a);s.length>0&&this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,s,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}else{this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n);l.length>0&&this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l,{surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0})}}}}]),e}();SuperMap.Plot.AlgoSymbol1007=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1006=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.QIANJI_RATE1=9,o.QIANJI_RATE2=20,o.QIANJI_RATE4=5,o.QIANJI_RATE3=1/3,o.QIANJI_TAIL_RATE1=8,o.QIANJI_TAIL_RATE2=3,o.QIANJI_TAIL_RATE3=.6,o.SV1_Default=.25,o.SV1_MinValue=0,o.SV1_MaxValue=.5,o.DEFAULT_ARROW_TAIL_POS=.4,o.SCALE_VALUE_COUNT=1,o.MIN_LEN_LeftToRightCenter=1e-7,o.SCALE_AT=1/3,o.SCALE_ATAJ=1/7,o.SCALE_ATAE=1/3,o.SCALE_AW=2/3,o.SCALE_ATAJctrlDefSide=.8,o.SCALE_ATAJctrlSameSide=2/3,o.SCALE_MM_LEFT=.25,o.SCALE_MM_RIGHT=.75,o.BEZIER_K1=1/3,o.QIANJI_OPERATE_RATE1=1,0===o.scaleValues.length&&o.scaleValues.push(o.SV1_Default),o.m_dMaxDis=0,o.m_bIsAnimation=!1,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1006",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init(),this.m_scalePoints=[];var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){var e=SuperMap.Plot.PlottingUtil.clonePoints(t),o=e.length,n=!1;void 0!==e[0].z&&(n=!0);var i=this.arrowMeshs(t);if(n){for(var l=[],r=0;r<o;r++)l.push(e[r]);var a=i.LeftArowLeftBody,s=i.LeftArowHead,u=i.LeftArowRightBody,p=i.RightArowLeftBody,c=i.RightArowHead,y=i.RightArowRightBody;if(0==a.length)return!1;var P=[],h=[],f=[];if(3==l.length)a[0].x==l[0].x&&a[0].y==l[0].y?(h.push(l[0]),h.push(l[2]),f.push(l[1]),f.push(l[2])):(h.push(l[1]),h.push(l[2]),f.push(l[0]),f.push(l[2]));else{if(4!=l.length)return!1;a[0].x==l[0].x&&a[0].y==l[0].y?(h.push(l[0]),f.push(l[1])):(h.push(l[1]),f.push(l[0])),s[1].x==l[2].x&&s[1].y==l[2].y?(h.push(l[2]),f.push(l[3])):(h.push(l[3]),f.push(l[2]))}var S=new SuperMap.Geometry.Point;S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(a[a.length-1],{x:h[0].x,y:h[0].y},{x:h[1].x,y:h[1].y}).projectPoint;var d=this.ComputeZValue(S,h[1],h[0]),g=[];this.ComputeHeight(a,g,h[0].z,d),P=P.concat(g);for(var M=0;M<s.length;M++){S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(s[M],{x:h[0].x,y:h[0].y},{x:h[1].x,y:h[1].y}).projectPoint;var m=this.ComputeZValue(S,h[1],h[0]);P.push({x:s[M].x,y:s[M].y,z:m})}S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(u[0],{x:h[0].x,y:h[0].y},{x:h[1].x,y:h[1].y}).projectPoint,this.ComputeZValue(S,h[1],h[0]),S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(u[u.length-1],{x:h[0].x,y:h[0].y},{x:h[1].x,y:h[1].y}).projectPoint;var v=this.ComputeZValue(S,h[1],h[0]);S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(p[0],{x:f[0].x,y:f[0].y},{x:f[1].x,y:f[1].y}).projectPoint;var b=(this.ComputeZValue(S,f[1],f[0])+v)/2,T=[];this.ComputeHeight(u,T,d,b),P=P.concat(T),S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(p[p.length-1],{x:f[0].x,y:f[0].y},{x:f[1].x,y:f[1].y}).projectPoint;var A=this.ComputeZValue(S,f[1],f[0]),L=[];this.ComputeHeight(p,L,b,A),P=P.concat(L);for(var O=0;O<c.length;O++){S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(c[O],{x:f[0].x,y:f[0].y},{x:f[1].x,y:f[1].y}).projectPoint;var E=this.ComputeZValue(S,f[1],f[0]);P.push({x:c[O].x,y:c[O].y,z:E})}S=SuperMap.Plot.PlottingUtil.pointProjectToSegment(y[0],{x:f[0].x,y:f[0].y},{x:f[1].x,y:f[1].y}).projectPoint;var x=this.ComputeZValue(S,f[1],f[0]),w=[];this.ComputeHeight(y,w,x,f[0].z),(P=P.concat(w)).length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,P,{surroundLineFlag:!1}),this.m_scalePoints.length>0&&(this.m_scalePoints[0]={x:this.m_scalePoints[0].x,y:this.m_scalePoints[0].y,z:b});for(var I=0;I<this.m_scalePoints.length;I++)this.m_scalePoints[I].isScalePoint=!0,this.m_scalePoints[I].tag=I,this.addScalePoint(this.m_scalePoints[I]);return!0}var R=i.shapePts;R.length>0&&(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,R,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,R,{surroundLineFlag:!1})),this.scalePoints=[];for(var C=0;C<this.m_scalePoints.length;C++)this.m_scalePoints[C].isScalePoint=!0,this.m_scalePoints[C].tag=C,this.addScalePoint(this.m_scalePoints[C])}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o,n=SuperMap.Plot.PlottingUtil.operateControlPoints(this.controlPoints),i=new SuperMap.Geometry.Point((n[0].x+n[1].x)/2,(n[0].y+n[1].y)/2),l=new SuperMap.Geometry.Point((n[2].x+n[3].x)/2,(n[2].y+n[3].y)/2),r=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,i,l);if(r.isOnline){var a=SuperMap.Plot.PlottingUtil.distance(r.projectPoint,i),s=SuperMap.Plot.PlottingUtil.distance(i,l);(o=SuperMap.Plot.PlottingUtil.equalFuzzy(a,0)?this.SV1_MinValue:a/s)>this.SV1_MaxValue&&(o=this.SV1_MaxValue)}else o=SuperMap.Plot.PlottingUtil.distance(r.projectPoint,i)<SuperMap.Plot.PlottingUtil.distance(r.projectPoint,l)?this.SV1_MinValue:this.SV1_MaxValue;this.scaleValues=[],this.scaleValues.push(o)}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=new SuperMap.Plot.Path2D,o=[];this.m_bIsAnimation&&4==t.length?o=SuperMap.Plot.PlottingUtil.clonePoints(t):(o=SuperMap.Plot.PlottingUtil.operateControlPoints(t),void 0!==t[0].z&&(o[o.length-1].z=o[o.length-2].z));var n=this.scaleValues[0],i=SuperMap.Plot.PlottingUtil.distance(o[0],o[3]),l=SuperMap.Plot.PlottingUtil.distance(o[1],o[2]),r=o[1].clone(),a=.5*(o[0].x+o[3].x),s=.5*(o[0].y+o[3].y),u=new SuperMap.Geometry.Point(a,s),p=.5*(o[1].x+o[2].x),c=.5*(o[1].y+o[2].y),y=new SuperMap.Geometry.Point(p,c),P=SuperMap.Plot.PlottingUtil.distance(u,y);P<this.MIN_LEN_LeftToRightCenter&&(P=this.MIN_LEN_LeftToRightCenter),u.x=a+i*(a-p)/(P*this.QIANJI_RATE1),u.y=s+i*(s-c)/(P*this.QIANJI_RATE1),y.x=p+l*(p-a)/(P*this.QIANJI_RATE1),y.y=c+l*(c-s)/(P*this.QIANJI_RATE1);var h=new SuperMap.Geometry.Point(0,0),f=new SuperMap.Geometry.Point(0,0);h.x=a+i*(a-p)/(P*this.QIANJI_RATE2),h.y=s+i*(s-c)/(P*this.QIANJI_RATE2),f.x=p+l*(p-a)/(P*this.QIANJI_RATE2),f.y=c+l*(c-s)/(P*this.QIANJI_RATE2);var S=new SuperMap.Geometry.Point((o[0].x+o[1].x)/2,(o[0].y+o[1].y)/2),d=new SuperMap.Geometry.Point((o[2].x+o[3].x)/2,(o[2].y+o[3].y)/2),g=o[3].x-(o[3].x-u.x)*this.SCALE_AT,M=o[3].y-(o[3].y-u.y)*this.SCALE_AT,m=o[2].x-(o[2].x-y.x)*this.SCALE_AT,v=o[2].y-(o[2].y-y.y)*this.SCALE_AT,b=new SuperMap.Geometry.Point(0,0),T=new SuperMap.Geometry.Point(0,0),A=new SuperMap.Geometry.Point(0,0),L=new SuperMap.Geometry.Point(0,0);T.x=g-(M-o[3].y)*this.SCALE_ATAJ,T.y=M+(g-o[3].x)*this.SCALE_ATAJ,b.x=g+(M-o[3].y)*this.SCALE_ATAJ,b.y=M-(g-o[3].x)*this.SCALE_ATAJ,L.x=m-(v-o[2].y)*this.SCALE_ATAJ,L.y=v+(m-o[2].x)*this.SCALE_ATAJ,A.x=m+(v-o[2].y)*this.SCALE_ATAJ,A.y=v-(m-o[2].x)*this.SCALE_ATAJ;var O=new SuperMap.Geometry.Point(0,0),E=new SuperMap.Geometry.Point(0,0),x=new SuperMap.Geometry.Point(0,0),w=new SuperMap.Geometry.Point(0,0);O.x=3*b.x-2*g-(o[3].x-g)*this.SCALE_ATAE,O.y=3*b.y-2*M-(o[3].y-M)*this.SCALE_ATAE,E.x=3*T.x-2*g-(o[3].x-g)*this.SCALE_ATAE,E.y=3*T.y-2*M-(o[3].y-M)*this.SCALE_ATAE,x.x=3*A.x-2*m-(o[2].x-m)*this.SCALE_ATAE,x.y=3*A.y-2*v-(o[2].y-v)*this.SCALE_ATAE,w.x=3*L.x-2*m-(o[2].x-m)*this.SCALE_ATAE,w.y=3*L.y-2*v-(o[2].y-v)*this.SCALE_ATAE,u.x=a+i*(a-p)/(P*this.QIANJI_RATE4),u.y=s+i*(s-c)/(P*this.QIANJI_RATE4),y.x=p+l*(p-a)/(P*this.QIANJI_RATE4),y.y=c+l*(c-s)/(P*this.QIANJI_RATE4);var I=new SuperMap.Geometry.Point(0,0);I.x=o[0].x+(u.x-o[0].x)*this.SCALE_AW,I.y=o[0].y+(u.y-o[0].y)*this.SCALE_AW;var R=new SuperMap.Geometry.Point(0,0);R.x=o[1].x+(y.x-o[1].x)*this.SCALE_AW,R.y=o[1].y+(y.y-o[1].y)*this.SCALE_AW;var C=new SuperMap.Geometry.Point(0,0);C.x=b.x+(u.x-b.x)*this.SCALE_ATAJctrlSameSide,C.y=b.y+(u.y-b.y)*this.SCALE_ATAJctrlSameSide;var _=new SuperMap.Geometry.Point(0,0);_.x=L.x+(y.x-L.x)*this.SCALE_ATAJctrlSameSide,_.y=L.y+(y.y-L.y)*this.SCALE_ATAJctrlSameSide;var U=new SuperMap.Geometry.Point(0,0);U.x=T.x+(h.x-T.x)*this.SCALE_ATAJctrlDefSide,U.y=T.y+(h.y-T.y)*this.SCALE_ATAJctrlDefSide;var N=new SuperMap.Geometry.Point(0,0);N.x=A.x+(f.x-A.x)*this.SCALE_ATAJctrlDefSide,N.y=A.y+(f.y-A.y)*this.SCALE_ATAJctrlDefSide;var D=new SuperMap.Geometry.Point(0,0);D.x=S.x+(d.x-S.x)*n,D.y=S.y+(d.y-S.y)*n,this.m_scalePoints.push(new SuperMap.Geometry.Point(D.x,D.y));var B=new SuperMap.Geometry.Point(0,0),G=new SuperMap.Geometry.Point(0,0);B.x=o[0].x+(o[3].x-o[0].x)*n,B.y=o[0].y+(o[3].y-o[0].y)*n,G.x=o[1].x+(o[2].x-o[1].x)*n,G.y=o[1].y+(o[2].y-o[1].y)*n,B.x=B.x+(D.x-B.x)*this.QIANJI_RATE3,B.y=B.y+(D.y-B.y)*this.QIANJI_RATE3,G.x=G.x+(D.x-G.x)*this.QIANJI_RATE3,G.y=G.y+(D.y-G.y)*this.QIANJI_RATE3;var k=[];k.push(o[0].clone()),k.push(I.clone()),k.push(C.clone()),k.push(b.clone()),e.MoveTo(k[0]),e.CurveTo(k[1],k[2],k[3]);var V,Y,F=[],j=[],z=[],W=[],H=[],q=[];for(e.ToSubPathPolygons(q),V=q[0],Y=q[0].length,e.LineTo(O),e.LineTo(o[3]),e.LineTo(E),(k=[]).push(T),k.push(U),k.push(B),k.push(D),e.LineTo(k[0]),q=[],e.ToSubPathPolygons(q);Y<q[0].length;Y++)F.push(q[0][Y]);for(Y=q[0].length,e.CurveTo(k[1],k[2],k[3]),q=[],e.ToSubPathPolygons(q);Y<q[0].length;Y++)j.push(q[0][Y]);for(Y=q[0].length,(k=[]).push(G),k.push(N),k.push(A),e.CurveTo(k[0],k[1],k[2]),q=[],e.ToSubPathPolygons(q);Y<q[0].length;Y++)z.push(q[0][Y]);for(Y=q[0].length,e.LineTo(x),e.LineTo(o[2]),e.LineTo(w),(k=[]).push(L),k.push(_),k.push(R),k.push(r),e.LineTo(k[0]),q=[],e.ToSubPathPolygons(q);Y<q[0].length;Y++)W.push(q[0][Y]);for(Y=q[0].length,e.CurveTo(k[1],k[2],k[3]),q=[],e.ToSubPathPolygons(q);Y<q[0].length;Y++)H.push(q[0][Y]);return q=[],e.ToSubPathPolygons(q),{shapePts:q[0],LeftArowLeftBody:V,LeftArowHead:F,LeftArowRightBody:j,RightArowLeftBody:z,RightArowHead:W,RightArowRightBody:H}}}]),e}();SuperMap.Plot.AlgoSymbol1006=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1005=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.1),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1005",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.scaleValues[0]=this.getSubSymbolScaleValue();var e=SuperMap.Plot.PlottingUtil.polylineDistance(t)*this.scaleValues[0],o=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine(t,e,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYBEZIER,!1),n=[];n.push(o[o.length-1]),n.push(o[o.length-2]);var i=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine(n,e,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_POLYLINE);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o),i.length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i)}}}]),e}();SuperMap.Plot.AlgoSymbol1005=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1004=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.MAX_ARRAY_SIZE=128,o.sv1_DefaultAtLenDivAbLen=0,o.sv2_DefaultAjWidthDivAtLen=.148,o.sv3_DefaultAeWidthDivAtLen=.4,o.sv4_DefaultAeLenDivAtLen=.312,o.sv_AtScaleParameter=1.5,o.sv_AtLenDivAtWidth=1.35,o.sv_AtWidthDivAwWidth=.5,o.sv_defaultAwLenDivAbLen=.15,0===o.scaleValues.length&&(o.scaleValues.push(o.sv1_DefaultAtLenDivAbLen),o.scaleValues.push(o.sv2_DefaultAjWidthDivAtLen),o.scaleValues.push(o.sv3_DefaultAeWidthDivAtLen),o.scaleValues.push(o.sv4_DefaultAeLenDivAtLen)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1004",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init(),this.applyUse()}},{key:"applyUse",value:function(){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){var e=this.arrowMeshs(t);SuperMap.Plot.PlottingUtil.clearSamePts(e.shapePts);var o=SuperMap.Plot.PlottingUtil.clonePoints(t),n=o.length,i=!1;if(void 0!==o[0].z&&(i=!0),i){for(var l=e.leftBodyPts,r=e.rightBodyPts,a=e.arrowHeadPts,s=e.shapePts,u=[],p=0;p<s.length;p++)u.push({x:s[p].x,y:s[p].y,z:0});if(0==s.length)return!1;var c=this.updateScalePoints(t);if(this.scalePoints=[],3!=c.length)c=[];else for(var y=0;y<c.length;y++)c[y].isScalePoint=!0,c[y].tag=y,this.addScalePoint(c[y]);var P=[],h={x:(o[0].x+o[1].x)/2,y:(o[0].y+o[1].y)/2},f={x:(l[l.length-1].x+r[0].x)/2,y:(l[l.length-1].y+r[0].y)/2},S=this.ComputeZValue(f,o[n-1],o[n-2]),d=0,g=0;l[0].x==o[0].x&&l[0].y==o[0].y?(d=o[0].z,g=o[1].z):(d=o[1].z,g=o[0].z),P.push({x:h.x,y:h.y,z:d});for(var M=2;M<n-1;M++)P.push(o[M]);P.push({x:f.x,y:f.y,z:S});var m=[];this.ComputeBeizerZValueByDis(P,l,m),(P=[]).push({x:f.x,y:f.y,z:S});for(var v=n-2;v>=2;v--)P.push(o[v]);P.push({x:h.x,y:h.y,z:g});var b=[];this.ComputeBeizerZValueByDis(P,r,b);for(var T=[],A=0;A<a.length;A++){var L=this.ComputeZValue(a[A],o[n-1],o[n-2]);T.push({x:a[A].x,y:a[A].y,z:L})}if(m.length>0&&b.length>0&&T.length>0){u=(u=(u=(u=[]).concat(m)).concat(T)).concat(b),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u,{surroundLineFlag:!1});for(var O=[],E=0;E<c.length;E++){var x=this.ComputeZValue(c[E],o[n-1],o[n-2]),w=new SuperMap.Geometry.Point(c[E].x,c[E].y);w.z=x,O.push(w)}3!=c.length?this.scalePoints=[]:this.scalePoints=this.scalePoints.concat(O)}}else{if(0==e.shapePts.length)return;if(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.shapePts,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e.shapePts,{surroundLineFlag:!1}),c=this.updateScalePoints(t),this.scalePoints=[],3!=c.length)c=[];else for(var I=0;I<c.length;I++)c[I].isScalePoint=!0,c[I].tag=I,this.addScalePoint(c[I])}}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);o=SuperMap.Plot.PlottingUtil.clearSamePts(o),this.scaleValues.length<4&&(this.scaleValues.push(this.sv1_DefaultAtLenDivAbLen),this.scaleValues.push(this.sv2_DefaultAjWidthDivAtLen),this.scaleValues.push(this.sv3_DefaultAeWidthDivAtLen),this.scaleValues.push(this.sv4_DefaultAeLenDivAtLen));var n=o.length;if(n<=2)return;var i,l,r,a,s=this.operateCtrlPts(o);n=s.length,n--;var u=this.calcScaleValueCount(o.length);if(this.scaleValues.length<u){var p=this.calcDefaultScaleValues(n);i=p[0],l=p[1],r=p[2],a=p[3]}else i=this.scaleValues[0],l=this.scaleValues[1],r=this.scaleValues[2],a=this.scaleValues[3];for(var c=SuperMap.Plot.PlottingUtil.polylineDistance(o),y=[],P=0;P<this.scalePoints.length;P++)y.push(this.scalePoints[P].clone());if(0==y.length)return;y[t]=e.clone();var h,f,S=n-1;h=n<=3?new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2):s[S-1].clone();var d,g,M,m,v,b,T=new SuperMap.Geometry.Point(0,0),A=new SuperMap.Geometry.Point(0,0),L=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,h,s[S],s[S+1],A,L),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,s[n],s[n-1],L,T),f=T.clone();var O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[2]);d=O.dLen1,O.dLen2,0==d&&(d=.1),g=d,i=(d/=a+1)/c,1==t?(m=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[1])).dLen1,r=(v=O.dLen2)/d,a=(m-d)/d):0==t?(d=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[0])).dLen1,l=(M=O.dLen2)/d,(b=SuperMap.Plot.PlottingUtil.distance(s[n],s[n-1]))<2*d&&(d=.5*b),m=(O=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(s[n],f,y[1])).dLen1,r=(v=O.dLen2)/d,(a=(g-d)/d)<.1&&(r=v/(d=g/(1+(a=.1))),l=M/d),i=d/c):2==t&&(i=d/c),M=d*l,(b=SuperMap.Plot.PlottingUtil.distance(s[n],s[n-1]))<2*d&&(M=(d=.5*b)*l,i=d/c),this.scaleValues[0]=i,this.scaleValues[1]=l,this.scaleValues[2]=r,this.scaleValues[3]=a}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=[],o=[],n=[],i=[],l=SuperMap.Plot.PlottingUtil.clonePoints(t),r=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(l,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER),a=r.arrowTouLen,s=r.leftBodyPts,u=r.rightBodyPts;if(!SuperMap.Plot.PlottingUtil.equalFuzzy(a,0)){var p=[];p.push(s[s.length-1]),p.push(u[u.length-1]);var c=[];c.push(this.scaleValues[2]),c.push(this.scaleValues[3]),c.push(0),c.push(0);for(var y=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(l,p,c,a,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR),P=0;P<s.length;P++)e.push(s[P]),o.push(s[P]);for(var h=0;h<y.length;h++)e.push(y[h]),i.push(y[h]);for(var f=u.length-1;f>=0;f--)e.push(u[f]),n.push(u[f])}return{shapePts:e,leftBodyPts:o,rightBodyPts:n,arrowHeadPts:i}}},{key:"updateScalePoints",value:function(t){var e=t.length,o=[];if(!(e<3)){var n=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(!SuperMap.Plot.PlottingUtil.equalFuzzy(n,0)){var i=this.operateCtrlPts(t);e=i.length,e--;for(var l=[],r=0;r<this.scaleValues.length;r++)l.push(this.scaleValues[r]);var a=this.genArrowBodyPts(n,i,l),s=a.ArrowBodyCenterPts,u=this.genAtPts(e,s,l,a.ArrowTouLen),p=this.calc3rdScalePt(e,s,l,a.ArrowTouLen);return o.push(new SuperMap.Geometry.Point(a.LeftBodyPtsTemp[e].x,a.LeftBodyPtsTemp[e].y)),o.push(new SuperMap.Geometry.Point(u[2].x,u[2].y)),o.push(new SuperMap.Geometry.Point(p.x,p.y)),o}}}},{key:"operateCtrlPts",value:function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t);if(3===e.length){var o=((e[0].x+e[1].x)/2+e[2].x)/2,n=((e[0].y+e[1].y)/2+e[2].y)/2,i=new SuperMap.Geometry.Point(o,n),l=e[2];e[2]=i,e.push(l)}return e}},{key:"genArrowBodyPts",value:function(t,e,o){var n,i,l,r=[],a=[],s=[],u=[],p=[],c=[],y=e.length;if(y--,o.length<this.calcScaleValueCount(y)){var P=this.calcDefaultScaleValues(y);i=P[0],l=P[1]}else i=o[0],l=o[1];var h=SuperMap.Plot.PlottingUtil.clonePoints(e),f=(h[0].x+h[1].x)/2,S=(h[0].y+h[1].y)/2,d=Math.abs(f-h[2].x),g=Math.abs(S-h[2].y),M=0;if(d>0&&g>0){var m=1/(f-h[2].x),v=-1/(S-h[2].y),b=1*h[2].y/(S-h[2].y)-1*h[2].x/(f-h[2].x);M=Math.abs(m*h[0].x+v*h[0].y+b)/Math.sqrt(m*m+v*v)}else g<=1e-4?M=Math.abs(S-h[1].y):d<=1e-4&&(M=Math.abs(f-h[1].x));var T=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(M,h[2],new SuperMap.Geometry.Point(f,S)),A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(h[1],h[2],h[0]);A?(r[1]=h[1],a[1]=h[0]):(r[1]=h[0],a[1]=h[1]),h[1]=new SuperMap.Geometry.Point((h[0].x+h[1].x)/2,(h[0].y+h[1].y)/2);var L=Math.sqrt((T.pntLeft.x-T.pntRight.x)*(T.pntLeft.x-T.pntRight.x)+(T.pntLeft.y-T.pntRight.y)*(T.pntLeft.y-T.pntRight.y))*this.sv_AtWidthDivAwWidth,O=(n=L*this.sv_AtLenDivAtWidth)*l;SuperMap.Plot.PlottingUtil.equalFuzzy(i,0)||(O=(n=t*i)*l);var E,x,w=SuperMap.Plot.PlottingUtil.distance(h[y],h[y-1]),I=2*n;w<I&&(O=(n=w/2)*l),h.push(h[y].clone()),E=0,x=0;var R=0,C=[];for(R=2;R<=y;R++)E+=SuperMap.Plot.PlottingUtil.distance(h[R],h[R-1]);for(E-=n,R=2;R<=y-1;R++)x+=SuperMap.Plot.PlottingUtil.distance(h[R],h[R-1]),C[R]=O+(L-O)*Math.pow((E-x)/E,this.sv_AtScaleParameter);C[y]=O;var _,U,N=new SuperMap.Geometry.Point(0,0),D=new SuperMap.Geometry.Point(0,0),B=new SuperMap.Geometry.Point(0,0);for(R=2;R<=y-1;R++)SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,h[R-1],h[R],h[R+1],D,B),R==y-1&&SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,h[y],h[y-1],B,N),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(C[R],D,h[R]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(B,D,_.pntRight))?(r[R]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),a[R]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)):(r[R]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),a[R]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));for(Math.sqrt(1*(h[y].x-N.x)*(h[y].x-N.x)+1*(h[y].y-N.y)*(h[y].y-N.y))>0&&(h[y]=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(n,h[y],N)),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(O,h[y+1],h[y]),(A=SuperMap.Plot.PlottingUtil.pointIsRightToLine(h[y],h[y+1],_.pntLeft))?(a[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),r[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y)):(a[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y),r[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y)),R=2;R<y;R++)SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,r[R-1],r[R],r[R+1],D,B),s[R]=new SuperMap.Geometry.Point(D.x,D.y),u[R]=new SuperMap.Geometry.Point(B.x,B.y),SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,a[R-1],a[R],a[R+1],D,B),p[R]=new SuperMap.Geometry.Point(D.x,D.y),c[R]=new SuperMap.Geometry.Point(B.x,B.y),2==R&&(SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,r[1],r[2],s[2],N),u[R]=new SuperMap.Geometry.Point(N.x,N.y),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,a[1],a[2],p[2],N),c[R]=new SuperMap.Geometry.Point(N.x,N.y)),R==y-1&&(I=(w=SuperMap.Plot.PlottingUtil.distance(r[y],r[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,h[y],h[y+1])).x+=r[y].x-h[y].x,U.y+=r[y].y-h[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,r[y],U),s[y]=new SuperMap.Geometry.Point(_.pntLeft.x,_.pntLeft.y),I=(w=SuperMap.Plot.PlottingUtil.distance(a[y],a[y-1]))/3,(U=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(I,h[y],h[y+1])).x+=a[y].x-h[y].x,U.y+=a[y].y-h[y].y,I=(w=L-O)*Math.pow(I/E,this.sv_AtScaleParameter),_=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I,a[y],U),p[y]=new SuperMap.Geometry.Point(_.pntRight.x,_.pntRight.y));return{ArrowBodyCenterPts:SuperMap.Plot.PlottingUtil.clonePoints(h),LeftBodyPtsTemp:r,RightBodyPtsTemp:a,LeftBodyPtsLeftCtrlPts:s,LeftBodyPtsRightCtrlPts:u,RightBodyPtsLeftCtrlPts:p,RightBodyPtsRightCtrlPts:c,ArrowTouLen:n}}},{key:"calcScaleValueCount",value:function(){return 4}},{key:"calcDefaultScaleValues",value:function(){var t=[];return t.push(this.sv1_DefaultAtLenDivAbLen),t.push(this.sv2_DefaultAjWidthDivAtLen),t.push(this.sv3_DefaultAeWidthDivAtLen),t.push(this.sv4_DefaultAeLenDivAtLen),t}},{key:"genAtPts",value:function(t,e,o,n){var i=o[2],l=[],r=n*o[3],a=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(r,e[t],e[t+1]);r=n*i;var s=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(r,e[t+1],a);return l.push(new SuperMap.Geometry.Point(s.pntLeft.x,s.pntLeft.y)),l.push(e[t+1]),l.push(new SuperMap.Geometry.Point(s.pntRight.x,s.pntRight.y)),l}},{key:"calc3rdScalePt",value:function(t,e,o,n){var i=n*o[3];return SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(i,e[t],e[t+1])}}]),e}();SuperMap.Plot.AlgoSymbol1004=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1003=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.3),o.scaleValues.push(.28),o.scaleValues.push(.433333),o.scaleValues.push(.53),o.scaleValues.push(0)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1003",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),e=(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length;if(e>=this.minEditPts){if(SuperMap.Plot.PlottingUtil.equalFuzzy(this.controlPoints[0].x,this.controlPoints[1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(this.controlPoints[0].y,this.controlPoints[1].y))return;var o=SuperMap.Plot.PlottingUtil.clonePoints(t),n=!1;void 0!==o[0].z&&(n=!0);var i=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(t,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_TRAPEZOID),l=i.arrowTouLen,r=i.leftBodyPts,a=i.rightBodyPts,s=[];s.push(r[r.length-1]),s.push(a[a.length-1]);var u=[];u.push(this.scaleValues[3]),u.push(this.scaleValues[4]),u.push(0),u.push(0);var p=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(t,s,u,l,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR),c=[];c=(c=c.concat(r)).concat(p);for(var y=a.length-1;y>=0;y--)c.push(a[y]);if(c.push(r[0]),n){for(var P=[],h={x:o[1].x,y:o[1].y,z:o[1].z},f={x:o[0].x,y:o[0].y,z:o[0].z},S=0;S<c.length;S++){var d=this.ComputeZValue(c[S],h,f);P.push({x:c[S].x,y:c[S].y,z:d})}var g=new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2),M=new SuperMap.Geometry.Point(g.x,g.y);M.isScalePoint=!0,M.tag=0,this.addScalePoint(M);var m=new SuperMap.Geometry.Point(r[r.length-1].x,r[r.length-1].y);m.isScalePoint=!0,m.tag=1,this.addScalePoint(m);var v=new SuperMap.Geometry.Point(p[0].x,p[0].y);v.isScalePoint=!0,v.tag=2,this.addScalePoint(v);for(var b={x:o[e-1].x,y:o[e-1].y,z:o[e-1].z},T={x:o[e-2].x,y:o[e-2].y,z:o[e-2].z},A=[],L=0;L<this.scalePoints.length;L++){var O={x:this.scalePoints[L].x,y:this.scalePoints[L].y},E=this.ComputeZValue(O,b,T);A.push({x:O.x,y:O.y,z:E})}this.scalePoints=A,this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P)}else{var x=new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2),w=new SuperMap.Geometry.Point(x.x,x.y);w.isScalePoint=!0,w.tag=0,this.addScalePoint(w);var I=new SuperMap.Geometry.Point(r[r.length-1].x,r[r.length-1].y);I.isScalePoint=!0,I.tag=1,this.addScalePoint(I);var R=new SuperMap.Geometry.Point(p[0].x,p[0].y);R.isScalePoint=!0,R.tag=2,this.addScalePoint(R),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,c)}}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=new SuperMap.Geometry.Point(this.scalePoints[0].x,this.scalePoints[0].y),n=new SuperMap.Geometry.Point(this.scalePoints[1].x,this.scalePoints[1].y),i=new SuperMap.Geometry.Point(this.scalePoints[2].x,this.scalePoints[2].y),l=this.scaleValues[0],r=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints),a=r*l;if(0==t){var s=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,this.controlPoints[0],this.controlPoints[1]),u=s.projectPoint;if(s.isOnline){var p=SuperMap.Plot.PlottingUtil.distance(u,this.controlPoints[1]);this.scaleValues[0]=p/r}}else if(1==t){var c=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n,i).projectPoint,y=SuperMap.Plot.PlottingUtil.distance(c,o),P=a*this.scaleValues[1];this.scaleValues[1]=y/a,this.scaleValues[2]=(a*this.scaleValues[2]+y-P)/a}else if(2==t){var h=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,this.controlPoints[1],i).projectPoint,f=SuperMap.Plot.PlottingUtil.pointProjectToSegment(h,o,this.controlPoints[1]),S=f.projectPoint,d=SuperMap.Plot.PlottingUtil.distance(S,o);!0===f.inOnline?this.scaleValues[4]=-d/a:this.scaleValues[4]=d/a}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1003=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1002=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.MIN_GEOPT_COUNT=2,o.MAX_GEOPT_COUNT=1024,o.SV1_defaultATLenDivABLen=0,o.SV2_defaultAYPosScale=.65,o.SV_AJCtrl=.6,o.SV_ArrowWoCtrl=.6,o.SV2_DefaultAJWidDiviedByATLen=.148,o.SV3_DefaultAEWidDividedByATLen=.4,o.SV4_DefaultAELenDividedByATLen=.3,o.SV_ATScaleParameter=1.25,o.SV_ATLenDividedByATWid=1.35,o.SV_ATWidDividedByArrowWeiWid=.5,o.AB_VERTEX_COUNT=4,o.MIN_PTCOUNT_PERARROW=3,o.ATL_DIV_AWW=.7,o.ATL_DIV_ABL=.12,o.ATL_DIV_ABL_1=.18,o.DEFAULT_ARROW_TAIL_POS=.12,o.DUOJIANTOU_TAIL_RATE_1=8,o.DUOJIANTOU_TAIL_RATE_2=3,o.DUOJIANTOU_TAIL_RATE_3=.6,o.AB_CTRLPT_RATE1=0,o.AB_CTRLPT_RATE2=3,o.AB_CTRLPT_RATE3=.5,o.MIN_SCALEVALUE=.1,o.MAX_SCALEVALUE=1,o.m_scalePoints=null,o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1002",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init(),this.m_scalePoints=[];var t=SuperMap.Plot.PlottingUtil.clearSamePts(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){var e=this.operateCtrlPts(t),o=e.length,n=Math.floor(o/this.MIN_PTCOUNT_PERARROW),i=this.scaleValues.length;if(i<2*n-1){0==i&&(this.scaleValues.push(this.SV1_defaultATLenDivABLen),i++);for(var l=2*n-1-i,r=0;r<l;r+=2)this.scaleValues.splice(i/2+1,0,this.SV1_defaultATLenDivABLen),this.scaleValues.splice(this.scaleValues.length,0,this.SV2_defaultAYPosScale)}else if(i>2*n-1){for(var a=0;a<n;a++)this.scaleValues.push(this.SV1_defaultATLenDivABLen);for(var s=0;s<n-1;s++)this.scaleValues.push(this.SV2_defaultAYPosScale)}var u=this.arrowMeshs(e);SuperMap.Plot.PlottingUtil.clearSamePts(u.shapePts);var p=!1;if(void 0!==t[0].z&&(p=!0),p){var c=this.operateCtrlPts3D(t),y=u.arrLeftPts2D,P=u.arrRightPts2D,h=u.arrHeadPts2D;if(n!=y.length&&n!=P.length&&n!=h.length)return!1;for(var f=[],S=0;S<n;S++){for(var d=[],g=3*S;g<3*(S+1)&&g<c.length;g++)d.push(c[g]);f.push(d)}for(var M=[],m=[],v=[],b=0;b<n;b++)if(!(2>f[b].length)){for(var T=y[b][y[b].length-1],A=P[b][0],L=new SuperMap.Geometry.Point(.5*(T.x+A.x),.5*(T.y+A.y)),O=f[b][f[b].length-1],E=f[b][f[b].length-2],x=this.ComputeZValue(L,O,E),w={x:L.x,y:L.y,z:x},I=[],R=[],C=0;C<f[b].length-1;C++)if(0==b)R.push(f[b][C]);else{var _={x:f[b][C].x,y:f[b][C].y,z:.5*(f[b][C].z+f[b-1][C].z)};R.push(_)}R.push(w),this.ComputeBeizerZValueByDis(R,y[b],I),M.push(I),I=[];var U=[];U.push(w);for(var N=f[b].length-2;N>=0;N--)if(b==n-1)U.push(f[b][N]);else{var D={x:f[b][N].x,y:f[b][N].y,z:.5*(f[b][N].z+f[b+1][N].z)};U.push(D)}this.ComputeBeizerZValueByDis(U,P[b],I),m.push(I),I=[];for(var B=h[b],G=0;G<B.length;G++){var k=this.ComputeZValue(B[G],O,E);I.push({x:B[G].x,y:B[G].y,z:k})}v.push(I)}for(var V=[],Y=0;Y<n;Y++)V=(V=(V=V.concat(M[Y])).concat(v[Y])).concat(m[Y]);return SuperMap.Plot.PlottingUtil.clearSamePts(V),u.shapePts.length>0&&this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,V,{surroundLineFlag:!1}),this.scalePoints=this.scalePoints.concat(this.m_scalePoints),!0}u.shapePts.length>0&&(this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u.shapePts,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u.shapePts,{surroundLineFlag:!1})),this.scalePoints=[];for(var F=0;F<this.m_scalePoints.length;F++)this.m_scalePoints[F].isScalePoint=!0,this.m_scalePoints[F].tag=F,this.addScalePoint(this.m_scalePoints[F])}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=this.operateCtrlPts(this.controlPoints),n=o.length,i=Math.floor(n/this.MIN_PTCOUNT_PERARROW),l=0;if(t<i){var r=[],a=t*this.MIN_PTCOUNT_PERARROW;r[0]=o[a],r[1]=o[a+1],r[2]=o[a+2];var s=SuperMap.Plot.PlottingUtil.polylineDistance(r),u=new SuperMap.Geometry.Point(0,0),p=new SuperMap.Geometry.Point(0,0),c=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE1,this.AB_CTRLPT_RATE2,r[0],r[1],r[2],u,p),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,r[2],r[1],p,c),l=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(r[2],c,e).dLen1/(this.SV4_DefaultAELenDividedByATLen+1)/s}else{var y=[],P=[],h=(t-i)*this.MIN_PTCOUNT_PERARROW;y[0]=o[h],y[1]=o[h+1],y[2]=o[h+2];var f=(t-i+1)*this.MIN_PTCOUNT_PERARROW;P[0]=o[f],P[1]=o[f+1],P[2]=o[f+2];var S=new SuperMap.Geometry.Point(0,0),d=new SuperMap.Geometry.Point(0,0),g=new SuperMap.Geometry.Point(0,0);S.x=.5*(y[2].x+P[2].x),d.x=.5*(y[1].x+P[1].x),g.x=.5*(y[0].x+P[0].x),S.y=.5*(y[2].y+P[2].y),d.y=.5*(y[1].y+P[1].y),g.y=.5*(y[0].y+P[0].y);var M=SuperMap.Plot.PlottingUtil.distance(S,d),m=SuperMap.Plot.PlottingUtil.distance(g,d),v=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(S,d,e),b=v.dLen1;l=b<M?b/(M+m):((b=(v=SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen(d,g,e)).dLen1)+M)/(M+m)}l>this.MAX_SCALEVALUE?l=this.MAX_SCALEVALUE:l<this.MIN_SCALEVALUE&&(l=this.MIN_SCALEVALUE),this.scaleValues[t]=l}this.calculateParts()}},{key:"arrowMeshs",value:function(t){var e=[],o=[],n=[],i=new SuperMap.Plot.Path2D,l=t.length,r=Math.floor(l/this.MIN_PTCOUNT_PERARROW),a=this.generateAWWidth(r,t),s=[],u=[],p=0,c=0,y=0,P=[];for(c=0,y=0;c<r;c++,y+=this.MIN_PTCOUNT_PERARROW){P[0]=t[y],P[1]=t[y+1],P[2]=t[y+2],p=this.scaleValues[c];var h=this.generateArrowBodyPts(P,a[c],p);p=h.dATLenDivABLen,s[c]=h.arrowBodyPts,u.push(p)}var f=[],S=0,d=0,g=0,M=[],m=[];for(c=0;c<r-1;c++,d+=this.MIN_PTCOUNT_PERARROW){g=d+this.MIN_PTCOUNT_PERARROW,M[0]=t[d],M[1]=t[d+1],M[2]=t[d+2],m[0]=t[g],m[1]=t[g+1],m[2]=t[g+2],S=this.scaleValues[r+c];var v=this.generateAYPts(M,s[c],m,s[c+1],S);f.push(v.arrowLeftYaoPts),f.push(v.arrowRightYaoPts)}var b=[],T=s[0],A=[],L=0,O=[];i.MoveTo(T[0]),i.CurveTo(T[1],T[2],T[3]),i.CurveTo(T[4],T[5],T[6]),i.ToSubPathPolygons(A),e.push(A[0]),L=A[0].length;for(var E=7;E<10;E++)i.LineTo(T[E]);for(A=[],i.ToSubPathPolygons(A);L<A[0].length;L++)O.push(A[0][L]);for(n.push(O),b.push(T[0]),b.push(t[0]),c=1,y=this.MIN_PTCOUNT_PERARROW;c<r;c++,y+=this.MIN_PTCOUNT_PERARROW){var x=s[c],w=c+c-2,I=f[w];for(i.LineTo(I[0]),i.CurveTo(I[1],I[2],I[3]),A=[],O=[],i.ToSubPathPolygons(A);L<A[0].length;L++)O.push(A[0][L]);o.push(O);var R=f[w+1];for(i.CurveTo(R[1],R[2],R[3]),A=[],O=[],i.ToSubPathPolygons(A);L<A[0].length;L++)O.push(A[0][L]);e.push(O);for(var C=7;C<10;C++)i.LineTo(x[C]);for(A=[],O=[],i.ToSubPathPolygons(A);L<A[0].length;L++)O.push(A[0][L]);n.push(O),b.push(t[y].clone())}var _=s[r-1];for(i.LineTo(_[10]),i.CurveTo(_[11],_[12],_[13]),i.CurveTo(_[14],_[15],_[16]),A=[],O=[],i.ToSubPathPolygons(A);L<A[0].length;L++)O.push(A[0][L]);o.push(O),b.push(_[16]);var U=[];return i.ToSubPathPolygons(U),{shapePts:U[0],arrLeftPts2D:e,arrRightPts2D:o,arrHeadPts2D:n}}},{key:"operateCtrlPts",value:function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t),o=e.length,n=Math.floor(o/this.MIN_PTCOUNT_PERARROW),i=o%this.MIN_PTCOUNT_PERARROW,l=new SuperMap.Geometry.Point;if(2==i&&(l.x=.5*(e[o-2].x+e[o-1].x),l.y=.5*(e[o-2].y+e[o-1].y),l.x==e[o-1].x&&l.y==e[o-1].y||(e.push(e[o-1].clone()),e[o-1]=l,o++,n++)),o>3)for(var r=n-1,a=0,s=r;a<r;s--,a++)for(var u=s*this.MIN_PTCOUNT_PERARROW,p=0;p<u;p+=this.MIN_PTCOUNT_PERARROW){if(!SuperMap.Plot.PlottingUtil.isRight(e[p+3],e[p+1],e[p+2])){var c=e[p];e[p]=e[p+3],e[p+3]=c,c=e[p+1],e[p+1]=e[p+4],e[p+4]=c,c=e[p+2],e[p+2]=e[p+5],e[p+5]=c}}return e}},{key:"operateCtrlPts3D",value:function(t){var e=t,o=e.length,n=Math.floor(o/this.MIN_PTCOUNT_PERARROW),i={x:0,y:0,z:0};if(2==o%3&&(i.x=.5*(e[o-2].x+e[o-1].x),i.y=.5*(e[o-2].y+e[o-1].y),i.z=.5*(e[o-2].z+e[o-1].z),i.x==e[o-1].x&&i.y==e[o-1].y&&i.z==e[o-1].z||(e.push(e[o-1]),e[o-1]=i,o++,n++)),o>3)for(var l=n-1,r=0,a=l;r<l;a--,r++)for(var s=3*a,u=0;u<s;u+=3){if(!SuperMap.Plot.PlottingUtil.isRight(e[u+3],e[u+1],e[u+2])){var p=e[u];e[u]=e[u+3],e[u+3]=p,p=e[u+1],e[u+1]=e[u+4],e[u+4]=p,p=e[u+2],e[u+2]=e[u+5],e[u+5]=p}}return e}},{key:"generateAWWidth",value:function(t,e){var o=[];if(t>0)if(1==t)o.push(0);else{var n=SuperMap.Plot.PlottingUtil.distance(e[0],e[this.MIN_PTCOUNT_PERARROW]);o.push(n);for(var i=1,l=this.MIN_PTCOUNT_PERARROW;i<t-1;i++,l+=this.MIN_PTCOUNT_PERARROW){n=.5*(SuperMap.Plot.PlottingUtil.distance(e[l-this.MIN_PTCOUNT_PERARROW],e[l])+SuperMap.Plot.PlottingUtil.distance(e[l],e[l+this.MIN_PTCOUNT_PERARROW])),o.push(n)}n=SuperMap.Plot.PlottingUtil.distance(e[l-this.MIN_PTCOUNT_PERARROW],e[l]),o.push(n)}return o}},{key:"generateArrowBodyPts",value:function(t,e,o){var n=[],i=[],l=[],r=[],a=[],s=[],u=[],p=t.length-1;if(p<2)return{dATLenDivABLen:o=0,arrowBodyPts:n};var c=o,y=this.SV2_DefaultAJWidDiviedByATLen,P=this.SV3_DefaultAEWidDividedByATLen,h=this.SV4_DefaultAELenDividedByATLen,f=SuperMap.Plot.PlottingUtil.clonePoints(t),S=SuperMap.Plot.PlottingUtil.polylineDistance(f),d=0==e?S*this.ATL_DIV_ABL_1:(S+e)*this.ATL_DIV_ABL,g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,f[1],f[0]);i[1]=g.pntLeft.clone(),l[1]=g.pntRight.clone();var M=0;M=SuperMap.Plot.PlottingUtil.equalFuzzy(c,0,1e-14)?d*this.ATL_DIV_AWW:S*c;var m=SuperMap.Plot.PlottingUtil.distance(f[1],f[2]);M+M>m&&(M=.5*m);var v=M*y;f.push(f[p].clone());var b,T=0;b=S-M;var A=[],L=0;for(L=2;L<=p;L++)T+=SuperMap.Plot.PlottingUtil.distance(f[L-1],f[L-2]),SuperMap.Plot.PlottingUtil.equalFuzzy(b,0,1e-14)?A[L]=0:SuperMap.Plot.PlottingUtil.equalFuzzy(b-T,0,1e-14)?A[L]=v:A[L]=v+(d-v)*Math.pow((b-T)/b,this.SV_ATScaleParameter);A[p+1]=v;var O=new SuperMap.Geometry.Point(0,0),E=new SuperMap.Geometry.Point(0,0),x=new SuperMap.Geometry.Point(0,0);for(L=2;L<=p;L++){SuperMap.Plot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE1,this.AB_CTRLPT_RATE2,f[L-2],f[L-1],f[L],E,x),p==L&&SuperMap.Plot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,f[p],f[p-1],x,O);var w=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(A[L],E,f[L-1]);l[L]=w.pntLeft,i[L]=w.pntRight}var I,R,C=O.clone();if(SuperMap.Plot.PlottingUtil.distance(f[p],C)>0){var _=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(M,f[p],O);f[p]=_.clone()}for(g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(v,f[p+1],f[p]),i[p+1]=g.pntLeft,l[p+1]=g.pntRight,L=2;L<=p;L++)SuperMap.Plot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE2,this.AB_CTRLPT_RATE2,i[L-1],i[L],i[L+1],E,x),r[L]=E.clone(),a[L]=x.clone(),SuperMap.Plot.PlottingUtil.getTrianglePoints(this.AB_CTRLPT_RATE2,this.AB_CTRLPT_RATE2,l[L-1],l[L],l[L+1],E,x),s[L]=E.clone(),u[L]=x.clone();SuperMap.Plot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,i[1],i[2],r[2],O),a[1]=O.clone(),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(this.AB_CTRLPT_RATE3,l[1],l[2],s[2],O),u[1]=O.clone();R=SuperMap.Plot.PlottingUtil.distance(i[p+1],i[p])*(1/3),(I=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(R,f[p],f[p+1])).x+=i[p+1].x-f[p].x,I.y+=i[p+1].y-f[p].y,R=(d-v)*Math.pow(R/b,this.SV_ATScaleParameter+.3),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(R,i[p+1],I),r[p+1]=g.pntLeft.clone(),R=SuperMap.Plot.PlottingUtil.distance(l[p+1],l[p])*(1/3),(I=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(R,f[p],f[p+1])).x+=l[p+1].x-f[p].x,I.y+=l[p+1].y-f[p].y,R=(d-v)*Math.pow(R/b,this.SV_ATScaleParameter+.3),g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(R,l[p+1],I),s[p+1]=g.pntRight.clone();var U=[],N=M*h,D=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(N,f[p],f[p+1]);this.m_scalePoints.push(D.clone()),N=M*P,g=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(N,f[p+1],D),U.push(g.pntRight),U.push(f[p+1]),U.push(g.pntLeft);var B=[];for(B.push(i[p+1]),L=p;L>=1;L--)B.push(r[L+1]),B.push(a[L]),B.push(i[L]);var G=[];for(L=1;L<=p;L++)G.push(l[L]),G.push(u[L]),G.push(s[L+1]);G.push(l[p+1]),n.push.apply(n,G),n.push.apply(n,U),n.push.apply(n,B),o=M/S;var k=[];for(L=B.length-1;L>=0;L--)k.push(B[L]);return{dATLenDivABLen:o,arrowBodyPts:n}}},{key:"generateAYPts",value:function(t,e,o,n,i){var l=new SuperMap.Geometry.Point(.5*(t[2].x+o[2].x),.5*(t[2].y+o[2].y)),r=new SuperMap.Geometry.Point(.5*(t[1].x+o[1].x),.5*(t[1].y+o[1].y)),a=new SuperMap.Geometry.Point(.5*(t[0].x+o[0].x),.5*(t[0].y+o[0].y)),s=SuperMap.Plot.PlottingUtil.distance(l,r),u=SuperMap.Plot.PlottingUtil.distance(a,r),p=i*(s+u),c=new SuperMap.Geometry.Point(0,0),y=new SuperMap.Geometry.Point(0,0),P=new SuperMap.Geometry.Point(0,0);if(p>s){p=s+u-p,c=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(p,a,r);var h=SuperMap.Plot.PlottingUtil.distance(t[1],t[0]),f=SuperMap.Plot.PlottingUtil.distance(o[1],o[0]);h=h*p/u,y=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(h,t[0],t[1]),f=f*p/u,P=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(f,o[0],o[1])}else{c=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(p,l,r);var S=SuperMap.Plot.PlottingUtil.distance(t[1],t[2]),d=SuperMap.Plot.PlottingUtil.distance(o[1],o[2]);S=S*p/s,y=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(S,t[2],t[1]),d=d*p/s,P=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(d,o[2],o[1])}this.m_scalePoints.push(c.clone());var g=this.SV_ArrowWoCtrl*SuperMap.Plot.PlottingUtil.distance(c,y),M=this.SV_ArrowWoCtrl*SuperMap.Plot.PlottingUtil.distance(c,P),m=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(g,c,y),v=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(M,c,P),b=e[11].clone(),T=e[10].clone(),A=n[5].clone(),L=n[6].clone(),O=SuperMap.Plot.PlottingUtil.intersectLines(T,b,c,y),E=SuperMap.Plot.PlottingUtil.distance(O.intersectPoint,T),x=SuperMap.Plot.PlottingUtil.distance(T,c);E=E>x?this.SV_AJCtrl*x:this.SV_AJCtrl*E;var w=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(E,T,b);b=w.clone(),e[11]=w.clone(),O=SuperMap.Plot.PlottingUtil.intersectLines(L,A,c,P),E=(E=SuperMap.Plot.PlottingUtil.distance(O.intersectPoint,L))>(x=SuperMap.Plot.PlottingUtil.distance(L,c))?this.SV_AJCtrl*x:this.SV_AJCtrl*E,A=(w=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(E,L,A)).clone(),n[5]=w.clone();var I=[];I.push(T),I.push(b),I.push(m),I.push(c);var R=[];return R.push(c),R.push(v),R.push(A),R.push(L),{arrowLeftYaoPts:I,arrowRightYaoPts:R}}}]),e}();SuperMap.Plot.AlgoSymbol1002=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol1001=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.1),o.scaleValues.push(.2),o.scaleValues.push(0),o.scaleValues.push(.3),o.scaleValues.push(.08)),o.CLASS_NAME="SuperMap.Plot.AlgoSymbol1001",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),e=(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length;if(e>=this.minEditPts){this.scalePoints=[];var o=SuperMap.Plot.PlottingUtil.clonePoints(t),n=!1;void 0!==o[0].z&&(n=!0);var i=SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts(t,this.scaleValues,SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_PARALLEL),l=i.arrowTouLen,r=i.leftBodyPts,a=i.rightBodyPts,s=[];s.push(r[r.length-1]),s.push(a[a.length-1]);var u=[];u.push(this.scaleValues[3]),u.push(this.scaleValues[4]),u.push(this.scaleValues[0]),u.push(this.scaleValues[1]);var p=SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts(t,s,u,l,SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR),c=[];if(n){for(var y=[],P=[],h=[],f=0;f<e-1;f++)P.push({x:r[f].x,y:r[f].y,z:o[f].z}),h.push({x:a[f].x,y:a[f].y,z:o[f].z});var S={x:o[e-2].x,y:o[e-2].y,z:o[e-2].z},d={x:o[e-1].x,y:o[e-1].y,z:o[e-1].z},g=this.ComputeZValue(r[e-1],d,S);P.push({x:r[e-1].x,y:r[e-1].y,z:g});var M=this.ComputeZValue(a[e-1],d,S);h.push({x:a[e-1].x,y:a[e-1].y,z:M});for(var m=0;m<p.length;m++){var v=this.ComputeZValue(p[m],d,S);y.push({x:p[m].x,y:p[m].y,z:v})}c=(c=c.concat(P)).concat(y);for(var b=h.length-1;b>=0;b--)c.push(h[b]);var T=new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2),A=new SuperMap.Geometry.Point(T.x,T.y);A.isScalePoint=!0,A.tag=0,this.addScalePoint(A);var L=new SuperMap.Geometry.Point(r[r.length-1].x,r[r.length-1].y);L.isScalePoint=!0,L.tag=1,this.addScalePoint(L);var O=new SuperMap.Geometry.Point(p[0].x,p[0].y);O.isScalePoint=!0,O.tag=2,this.addScalePoint(O);for(var E=0;E<this.scalePoints.length;E++){var x=new SuperMap.Geometry.Point(this.scalePoints[E].x,this.scalePoints[E].y);this.scalePoints[E].z=this.ComputeZValue(x,d,S)}}else{c=(c=c.concat(r)).concat(p);for(var w=a.length-1;w>=0;w--)c.push(a[w]);var I=new SuperMap.Geometry.Point((s[0].x+s[1].x)/2,(s[0].y+s[1].y)/2),R=new SuperMap.Geometry.Point(I.x,I.y);R.isScalePoint=!0,R.tag=0,this.addScalePoint(R);var C=new SuperMap.Geometry.Point(r[r.length-1].x,r[r.length-1].y);C.isScalePoint=!0,C.tag=1,this.addScalePoint(C);var _=new SuperMap.Geometry.Point(p[0].x,p[0].y);_.isScalePoint=!0,_.tag=2,this.addScalePoint(_)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,c,{surroundLineFlag:!1,lineWidthLimit:!0,strokeWidth:0,weight:0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,c)}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=new SuperMap.Geometry.Point(this.scalePoints[0].x,this.scalePoints[0].y),n=new SuperMap.Geometry.Point(this.scalePoints[1].x,this.scalePoints[1].y),i=new SuperMap.Geometry.Point(this.scalePoints[2].x,this.scalePoints[2].y),l=this.scaleValues[0],r=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints),a=r*l;if(0==t){var s=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,this.controlPoints[this.controlPoints.length-2],this.controlPoints[this.controlPoints.length-1]),u=s.projectPoint;if(s.isOnline){var p=SuperMap.Plot.PlottingUtil.distance(u,this.controlPoints[this.controlPoints.length-1]);this.scaleValues[0]=p/r}}else if(1==t){var c=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,n,i).projectPoint,y=SuperMap.Plot.PlottingUtil.distance(c,o);this.scaleValues[1]=y/a}else if(2==t){var P=SuperMap.Plot.PlottingUtil.pointProjectToSegment(e,this.controlPoints[1],i).projectPoint,h=SuperMap.Plot.PlottingUtil.pointProjectToSegment(P,o,this.controlPoints[1]),f=h.projectPoint,S=SuperMap.Plot.PlottingUtil.distance(f,o);!0===h.inOnline?this.scaleValues[4]=-S/a:this.scaleValues[4]=S/a}}this.calculateParts()}}]),e}();SuperMap.Plot.AlgoSymbol1001=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Wire=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.05),o.CLASS_NAME="SuperMap.Plot.Wire",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.isEdit||(this.scaleValues[0]=2*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e);for(var n=o*this.scaleValues[0],i=o*this.scaleValues[0]/2,l=SuperMap.Plot.PlottingUtil.clonePoints(e),r=parseInt((o-i)/n),a=0;a<=r&&!(i+n*a>o);a++){var s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(l,i+n*a);if(-1!==s.index){var u=new SuperMap.Geometry.Point(s.pt.x,s.pt.y),p=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(n/2,e[s.index],u);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,[p.pntLeft,p.pntRight])}}this.finish()}}}]),e}();SuperMap.Plot.Wire=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0};var l=e.PolygonRegion=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(0),o.scaleValues.push(0)),o.CLASS_NAME="SuperMap.Plot.PolygonRegion",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){i(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(null!=(t=SuperMap.Plot.PlottingUtil.clearSamePts(t))&&t.length>=this.minEditPts){if(this.addCell(32,t,{surroundLineFlag:!1}),this.textContent&&null!=this.textContent&&this.textContent.length>0){var e=[];this.scaleValues[1]>t.length&&(this.scaleValues[1]=0);var o={labelRotation:0,surroundLineFlag:!1,labelAlign:"lt"};if(0===this.scaleValues[1])e=[SuperMap.Plot.PlottingUtil.getPolygonCenterPt(t)];else{var n=null,i=null;this.scaleValues[1]===t.length?(n=t[t.length-1],i=t[0]):(n=t[this.scaleValues[1]-1],i=t[this.scaleValues[1]]),o.labelRotation=-SuperMap.Plot.PlottingUtil.radian(n,i)/Math.PI*180;var l=this.scaleValues[0]*SuperMap.Plot.PlottingUtil.distance(n,i);e=[SuperMap.Plot.PlottingUtil.findPoint(n,i,l,0)]}this.addCell(34,e,o,this.textContent);var r=new SuperMap.Geometry.Point(e[0].x,e[0].y);r.isScalePoint=!0,r.tag=0,this.scalePoints=[],this.addScalePoint(r)}}else this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine()}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){for(var o=0,n=SuperMap.Plot.PlottingUtil.distance(e,this.controlPoints[0]),i=1;i<this.controlPoints.length;i++){var l=SuperMap.Plot.PlottingUtil.distance(e,this.controlPoints[i]);l<n&&(n=l,o=i)}var r=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);(r=SuperMap.Plot.PlottingUtil.clearSamePts(r)).push(r[0].clone());var a=SuperMap.Plot.PlottingUtil.computePointToLineMinDis(e,r);if(-1===a.minDis)this.scaleValues[1]=o+1,this.offsetX=0,this.offsetY=0;else{var s=SuperMap.Plot.PlottingUtil.projectPoint(e,r[a.index],r[a.index+1]),u=SuperMap.Plot.PlottingUtil.distance(e,s),p=SuperMap.Plot.PlottingUtil.getPolygonCenterPt(this.controlPoints),c=SuperMap.Plot.PlottingUtil.distance(e,p);if(c<u&&c<n)this.scaleValues[1]=0,this.scaleValues[0]=0;else if(n<u&&n<c)this.scaleValues[1]=o+1,this.scaleValues[0]=0;else if(u<n&&u<c){this.scaleValues[1]=a.index+1;var y=null,P=null;this.scaleValues[1]===this.controlPoints.length?(y=this.controlPoints[this.controlPoints.length-1],P=this.controlPoints[0]):(y=this.controlPoints[this.scaleValues[1]-1],P=this.controlPoints[this.scaleValues[1]]);var h=SuperMap.Plot.PlottingUtil.distance(s,y),f=SuperMap.Plot.PlottingUtil.distance(y,P);this.scaleValues[0]=h/f}}}this.calculateParts()}},{key:"parseSymbolData",value:function(){i(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"parseSymbolData",this).call(this),this.symbolData&&(this.scaleValues[1]=this.symbolData.annotationPosition)}},{key:"setSymbolData",value:function(){i(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"setSymbolData",this).call(this),this.symbolData&&(this.symbolData.annotationPosition=this.scaleValues[1])}}]),e}();SuperMap.Plot.PolygonRegion=l},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.LineRelation=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.subSectionCount=t.subSectionCount?t.subSectionCount:10,o.CLASS_NAME="SuperMap.Plot.LineRelation",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){this.subSectionCount=null,function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){this.init();for(var t=0;t<this.controlPoints.length;t++)this.controlPoints[t].tag=t;var e=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);null!==e&&e.length>=this.minEditPts&&this.computeLine(e)}},{key:"computeLine",value:function(t){this.components=[];var e=t[0],o=t[t.length-1];this.subSectionCount<=1&&(this.subSectionCount=10);var n=SuperMap.Plot.PlottingUtil.distance(e,o)/(2*this.subSectionCount-1);if(this.lineRelationType===SuperMap.Plot.LineRelationType.SOLID)this.addCell(24,t,{surroundLineFlag:!1});else if(this.lineRelationType===SuperMap.Plot.LineRelationType.DASH)for(var i=0;i<this.subSectionCount;i++){var l=SuperMap.Plot.PlottingUtil.findPoint(e,o,2*i*n,0),r=SuperMap.Plot.PlottingUtil.findPoint(e,o,(2*i+1)*n,0);this.addCell(24,[l,r],{surroundLineFlag:!1})}else if(this.lineRelationType===SuperMap.Plot.LineRelationType.ARROW)for(var a=0;a<this.subSectionCount;a++){var s=SuperMap.Plot.PlottingUtil.findPoint(e,o,2*a*n,0),u=SuperMap.Plot.PlottingUtil.findPoint(e,o,(2*a+1)*n,0),p=SuperMap.Plot.PlottingUtil.findPoint(u,s,n,60),c=SuperMap.Plot.PlottingUtil.findPoint(u,s,n,-60);this.addCell(24,[p,u,c],{surroundLineFlag:!1})}}}]),e}();SuperMap.Plot.LineRelation=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.LineMarking=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.islocationCircle=!!t.islocationCircle&&t.islocationCircle,o.textBoxType=t.textBoxType?t.textBoxType:SuperMap.Plot.TextBoxType.RECTBOX,0===o.scaleValues.length&&(o.scaleValues.push(.126),o.scaleValues.push(0),o.scaleValues.push(0),o.scaleValues.push(4)),o.CLASS_NAME="SuperMap.Plot.LineMarking",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){this.islocationCircle=null,this.textBoxType=null,function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){this.init(),this.controlPoints=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),this.controlPoints=SuperMap.Plot.PlottingUtil.clearSamePts(this.controlPoints);var t=this.scaleValues[0];if(!(t<0||t>1)){if(t=(1-t)/2,this.controlPoints.length>=this.minEditPts){var e,o,n,i;this.scalePoints=[];var l=[];this.controlPoints[0].x<this.controlPoints[1].x?(e=this.controlPoints[0].x,n=this.controlPoints[1].x):(e=this.controlPoints[1].x,n=this.controlPoints[0].x),this.controlPoints[0].y<this.controlPoints[1].y?(i=this.controlPoints[0].y,o=this.controlPoints[1].y):(i=this.controlPoints[1].y,o=this.controlPoints[0].y),l.push(new SuperMap.Geometry.Point(e,i)),l.push(new SuperMap.Geometry.Point(e,o)),l.push(new SuperMap.Geometry.Point(n,o)),l.push(new SuperMap.Geometry.Point(n,i)),!1===this.isEdit&&(this.scaleValues[1]=e+.1*(n-e),this.scaleValues[2]=i+-.3*(o-i));var r=this.getAction(this.scaleValues[1],this.scaleValues[2],e,o,n,i),a=new SuperMap.Geometry.Point(this.scaleValues[1],this.scaleValues[2]);if(this.textBoxType===SuperMap.Plot.TextBoxType.RECTBOX||this.textBoxType===SuperMap.Plot.TextBoxType.LINEBOX){var s=[];switch(r){case 0:this.addScalePoint(a);break;case 1:this.addScalePoint(a),s.push(new SuperMap.Geometry.Point(e,o-(o-i)*t)),s.push(a);break;case 2:this.addScalePoint(a),s.push(new SuperMap.Geometry.Point(n-(n-e)*t,o)),s.push(a);break;case 3:this.addScalePoint(a),s.push(new SuperMap.Geometry.Point(n,o-(o-i)*t)),s.push(a);break;case 4:this.addScalePoint(a),s.push(new SuperMap.Geometry.Point(n-(n-e)*t,i)),s.push(a)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,s)}if(0!==l.length&&this.textBoxType===SuperMap.Plot.TextBoxType.RECTBOX)this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l);else if(0!==l.length&&this.textBoxType===SuperMap.Plot.TextBoxType.LINEBOX){var u=[];switch(r){case 0:break;case 1:u=(u=(u=u.concat(l[0])).concat(l[1])).concat(l[2]);break;case 2:u=(u=(u=u.concat(l[1])).concat(l[2])).concat(l[3]);break;case 3:u=(u=(u=u.concat(l[2])).concat(l[3])).concat(l[4]);break;case 4:u=(u=(u=u.concat(l[3])).concat(l[4])).concat(l[0])}3===u.length?this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,u):this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,this.controlPoints)}this.islocationCircle&&this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[a,new SuperMap.Geometry.Point(a.x-.05,a.y-.05)]),this.annotationContent(e,o,n,i)}else this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,this.controlPoints);this.finish()}}},{key:"modifyPoint",value:function(t,e){!0===e.isScalePoint&&(this.scaleValues[1]=e.x,this.scaleValues[2]=e.y),this.calculateParts()}},{key:"getAction",value:function(t,e,o,n,i,l){var r=(n-l)/(i-o);return t<o?e>n?Math.abs((e-n)/(t-o))>r?2:1:e<l&&Math.abs((e-l)/(t-o))>r?4:1:t>i?e>n?Math.abs((e-n)/(t-i))>r?2:3:e<l&&Math.abs((e-l)/(t-i))>r?4:3:e>n?2:e<l?4:0}}]),e}();SuperMap.Plot.LineMarking=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.PathText=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.relLineText=t.relLineText?t.relLineText:0,o.showPathLine=!t.showPathLine||t.showPathLine,o.showPathLineArrow=!!t.showPathLineArrow&&t.showPathLineArrow,o.isCurve=!!t.isCurve&&t.isCurve,o.isAvoid=!!t.isAvoid&&t.isAvoid,o.textToLineDistance=t.textToLineDistance?t.textToLineDistance:0,o.CLASS_NAME="SuperMap.Plot.PathText",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){if(this.init(),null!==this.controlPoints&&0!==this.controlPoints.length&&!(this.controlPoints.length<this.minEditPts)){SuperMap.Util.isArray(this.textContent)||(this.textContent=[this.textContent]);var t=[];if(t=this.isCurve?SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(this.controlPoints):SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),this.relLineText===SuperMap.Plot.RelLineText.ONBOTHLINE){this.relLineText=SuperMap.Plot.RelLineText.ONRIGHTLINE;var e=this.getTextPathPts(t,!1);this.computeText(e,this.textContent[0],t),this.relLineText=SuperMap.Plot.RelLineText.ONLEFTLINE;var o=this.showPathLine;this.showPathLine=!1;var n=this.getTextPathPts(t,!0);this.textContent.length>1?this.computeText(n,this.textContent[1],t):this.computeText(n,this.textContent[0],t),this.relLineText=SuperMap.Plot.RelLineText.ONBOTHLINE,this.showPathLine=o}else{var i=[];i=this.relLineText===SuperMap.Plot.RelLineText.ONRIGHTLINE?this.getTextPathPts(t,!1):this.relLineText===SuperMap.Plot.RelLineText.ONLEFTLINE?this.getTextPathPts(t,!0):t,this.computeText(i,this.textContent[0],t)}this.finish()}}},{key:"getTextPathPts",value:function(t,e){t=SuperMap.Plot.PlottingUtil.clearSamePts(t);var o=this.getLonLatDistanceFromPixel(this.textToLineDistance);if(0>=o)return SuperMap.Plot.PlottingUtil.clonePoints(t);var n=SuperMap.Plot.PlottingUtil.paraLine(t,o,e);return SuperMap.Plot.PlottingUtil.clearSamePts(n)}},{key:"computeText",value:function(t,e,o){if(!(t.length<2)){for(var n=e.length,i=t,l=i.length,r=0,a=0;a<i.length-1;a++)r+=SuperMap.Plot.PlottingUtil.distance(i[a],i[a+1]);var s={index:-1,pt:i[0]},u=0,p=0,c=0,y=180/Math.PI,P=this.getTextBounds(this.style,e),h="lm";h=this.relLineText===SuperMap.Plot.RelLineText.ONLINE?"lm":this.relLineText===SuperMap.Plot.RelLineText.ONLEFTLINE?"lb":"lt",(u=(r-P.getWidth())/2)<=0&&(u=0);for(var f=[],S=0;S<n;S++){var d=this.getTextBounds(this.style,e.charAt(S));f.push(new SuperMap.Bounds(0,-P.getHeight(),d.getWidth(),0))}for(var g,M=!1,m=!1,v=0,b=0,T=[];p<=u&&c<l-1;)c++,p+=SuperMap.Plot.PlottingUtil.distance(i[c-1],i[c]);var A=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,u),L=SuperMap.Plot.PlottingUtil.radian(i[c-1],i[c])*y;L>180&&(L-=360),L<-180&&(L+=360),L>90&&L<=180?(v=-180,M=!0,m=!0):L>-180&&L<-90&&(v=180,M=!0,m=!0),!0,0!=v?this.relLineText===SuperMap.Plot.RelLineText.ONLINE||(h=this.relLineText===SuperMap.Plot.RelLineText.ONLEFTLINE?"lt":"lb"):this.relLineText===SuperMap.Plot.RelLineText.ONLINE||(h=this.relLineText===SuperMap.Plot.RelLineText.ONLEFTLINE?"lb":"lt");for(var O=0;O<n&&!(u>r);O++){var E=O;for(m&&(E=n-O-1),b=(g=f[E]).getWidth(),M&&(u+=b);p<=u&&c<l-1;)c++,p+=SuperMap.Plot.PlottingUtil.distance(i[c-1],i[c]);var x=(L=SuperMap.Plot.PlottingUtil.radian(i[c-1],i[c])*y)+v;if((s=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,u)).index<0)break;g.add(s.pt.x,s.pt.y);var w=e.charAt(E),I={};I.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,I.textContent=w,I.positionPoints=[s.pt],I.style={surroundLineFlag:!1,labelAlign:h,labelRotation:-x},T.push(I),M||(u+=b)}var R=SuperMap.Plot.PlottingUtil.findPointInPolyLine(i,u);if(this.showPathLine){if(this.relLineText===SuperMap.Plot.RelLineText.ONLINE&&this.isAvoid){if(A.index>=0){for(var C=[],_=0;_<=A.index;_++)C.push(o[_]);C.push(A.pt),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,C)}if(R.index>=0){var U=[];U.push(R.pt);for(var N=R.index+1;N<o.length;N++)U.push(o[N]);this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,U)}}else this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,o);this.showPathLineArrow&&this.addArrow(o)}for(var D=0;D<T.length;D++)this.components.push(T[D])}}},{key:"addArrow",value:function(t){if(t.length<2)return t;var e=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints)*(this.isEdit,null==this.getSubSymbolScaleValue()?.05:.5*this.getSubSymbolScaleValue()),o=t[t.length-1];if(t.length>2){for(var n=-1,i=t.length-2;i>=0;i--)if(e<SuperMap.Plot.PlottingUtil.distance(o,t[i])){n=i;break}t.splice(n+1,t.length-n),t.push(o)}var l=t[t.length-2],r=t[t.length-1],a=e;if(void 0===l)return t;if(!(SuperMap.Plot.PlottingUtil.distance(l,r)<e)){var s=SuperMap.Plot.PlottingUtil.radian(l,r)*SuperMap.Plot.PlottingUtil.RTOD,u=SuperMap.Plot.PlottingUtil.circlePoint(r,a,a,s+157.5),p=SuperMap.Plot.PlottingUtil.circlePoint(r,a,a,s+202.5);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[u,t[t.length-1],p],{surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0,fill:!0})}}}]),e}();SuperMap.Plot.PathText=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.CurveEight=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.CLASS_NAME="SuperMap.Plot.CurveEight",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){if(this.init(),this.controlPoints&&null!==this.controlPoints&&!(this.minEditPts>this.controlPoints.length))if(2===this.controlPoints.length){var t=this.controlPoints[0].clone(),e=this.controlPoints[1].clone(),o=SuperMap.Plot.PlottingUtil.distance(t,e)/2,n=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,i=new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2),l=SuperMap.Plot.PlottingUtil.circlePoint(i,o,o,n+90),r=SuperMap.Plot.PlottingUtil.circlePoint(i,3*o,3*o,n+90);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[l,new SuperMap.Geometry.Point(l.x+o,l.y)]),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[r,new SuperMap.Geometry.Point(r.x+o,r.y)])}else{var a=this.controlPoints[0].clone(),s=this.controlPoints[1].clone(),u=this.controlPoints[2].clone(),p=0;p=SuperMap.Plot.PlottingUtil.isRight(u,a,s)?180*SuperMap.Plot.PlottingUtil.radian(s,a)/Math.PI+90:180*SuperMap.Plot.PlottingUtil.radian(a,s)/Math.PI+90;var c=SuperMap.Plot.PlottingUtil.distance(a,s)/2,y=new SuperMap.Geometry.Point((a.x+s.x)/2,(a.y+s.y)/2),P=SuperMap.Plot.PlottingUtil.circlePoint(y,c,c,p),h=SuperMap.Plot.PlottingUtil.plumbLineLen(u,a,s);if(h<=4*c){var f=SuperMap.Plot.PlottingUtil.circlePoint(y,3*c,3*c,p);this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[P,new SuperMap.Geometry.Point(P.x+c,P.y)]),this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[f,new SuperMap.Geometry.Point(f.x+c,f.y)])}else{for(var S=SuperMap.Plot.PlottingUtil.circlePoint(y,h-c,h-c,p),d=180*Math.acos(c/(h-2*c))/Math.PI,g=p-d,M=p-180+d,m=p-180-d+360,v=[],b=p+d-360;b<=g;b+=4){var T=SuperMap.Plot.PlottingUtil.circlePoint(P,c,c,b);v.push(T)}var A=SuperMap.Plot.PlottingUtil.circlePoint(P,c,c,g);v.push(A);for(var L=[],O=M;O<m;O+=4){var E=SuperMap.Plot.PlottingUtil.circlePoint(S,c,c,O);L.push(E)}var x=SuperMap.Plot.PlottingUtil.circlePoint(S,c,c,m);L.push(x);var w=[];w=w.concat(v);for(var I=L.length-1;I>=0;I--)w.push(L[I]);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,w)}}}}]),e}();SuperMap.Plot.CurveEight=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Runway=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.2),o.CLASS_NAME="SuperMap.Plot.Runway",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){if(this.init(),this.controlPoints.length>=this.minEditPts){for(var t=this.controlPoints[0],e=this.controlPoints[1],o=SuperMap.Plot.PlottingUtil.distance(t,e),n=this.scaleValues[0]*o,i=SuperMap.Plot.PlottingUtil.parallel(this.controlPoints,n/2),l=SuperMap.Plot.PlottingUtil.parallel(this.controlPoints,-n/2),r=180*SuperMap.Plot.PlottingUtil.radian(t,e)/Math.PI,a=[],s=r+90;s<=r+270;s+=10){var u=SuperMap.Plot.PlottingUtil.circlePoint(t,n/2,n/2,s);a.push(u)}for(var p=[],c=r-90;c<=r+90;c+=10){var y=SuperMap.Plot.PlottingUtil.circlePoint(e,n/2,n/2,c);p.push(y)}var P=[];(P=(P=(P=(P=P.concat(a)).concat(l)).concat(p)).concat(i)).push(P[0]),this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,P);var h=new SuperMap.Geometry.Point(a[0].x,a[0].y);this.addScalePoint(h)}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint&&0==t){var o=SuperMap.Plot.PlottingUtil.distance(e,this.controlPoints[0]),n=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[1]);this.scaleValues[0]=2*o/n}this.calculateParts()}}]),e}();SuperMap.Plot.Runway=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.NodeChain=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(0),o.scaleValues[1]=.1),o.CLASS_NAME="SuperMap.Plot.NodeChain",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){if(this.init(),this.controlPoints&&null!==this.controlPoints){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t),this.isEdit||(this.scaleValues[1]=.25*this.getSubSymbolScaleValue());var e=SuperMap.Plot.PlottingUtil.polylineDistance(t),o=e*this.scaleValues[0],n=e*this.scaleValues[1];if(0<this.subSymbols.length&&null!==this.subSymbols[0]&&void 0!==this.subSymbols[0])if(this.subSymbols[0].code>0)for(var i=0;i<t.length;i++){var l=new SuperMap.Geometry.Point(t[i].x,t[i].y+o);this.computeSubSymbol(this.subSymbols[0],l,2*n,0)}else this.addCircles(t,o,n);else this.addCircles(t,o,n);var r=new SuperMap.Geometry.Point(t[0].x,t[0].y+o);this.addScalePoint(r);var a=SuperMap.Plot.PlottingUtil.circlePoint(r,n,n,90);this.addScalePoint(a)}}}},{key:"addCircles",value:function(t,e,o){for(var n={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0},i=0;i<t.length;i++){var l=new SuperMap.Geometry.Point(t[i].x,t[i].y+e),r=this.getCirclePts(l,o);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,r,n)}}},{key:"getCirclePts",value:function(t,e){for(var o=[],n=0;n<=360;n+=12){var i=SuperMap.Plot.PlottingUtil.circlePoint(t,e,e,n);o.push(i)}return o}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((o=SuperMap.Plot.PlottingUtil.clearSamePts(o)).length<this.minEditPts)return;var n=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(0===t)this.scaleValues[0]=(e.y-o[0].y)/n;else if(1===t){var i=SuperMap.Plot.PlottingUtil.distance(e,o[0]);this.scaleValues[1]=i/n}}this.calculateParts()}}]),e}();SuperMap.Plot.NodeChain=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.FreeCurve=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.CLASS_NAME="SuperMap.Plot.FreeCurve",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){if(this.init(),!(null==this.controlPoints||this.controlPoints.length<this.minEditPts)){this.scalePoints=[];var t=[];if(this.controlPoints.length<3)t.push(this.controlPoints[0]),t.push(this.controlPoints[1]);else{if(!this.isEdit){var e=this.getLonLatFromPixel(0,0),o=this.getLonLatFromPixel(100,100),n=Math.abs(e.lon-o.lon),i=this.reSample(this.controlPoints,n/50);i.length<3&&(i=this.controlPoints),this.controlPoints=[],this.controlPoints=this.controlPoints.concat(i)}var l=SuperMap.Plot.PlottingUtil.computeBeizerPoints(this.isEdit,this.controlPoints,this.scaleValues);l.scalePoints=SuperMap.Plot.PlottingUtil.clearSamePts(l.scalePoints),l.scaleValues=SuperMap.Plot.PlottingUtil.clearSamePts(l.scaleValues),this.scaleValues=l.scaleValues;for(var r=0,a=l.scalePoints.length;r<a;r++){var s=l.scalePoints[r];s.isScalePoint=!0,s.tag=r,this.addScalePoint(s)}t=SuperMap.Plot.PlottingUtil.clonePoints(l.beizerPoints)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t)}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>2*this.controlPoints.length-1)return;var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(2>o.length)return;var n=SuperMap.Plot.PlottingUtil.polylineDistance(o),i=-1;i=t%2==0?Math.floor(t/2):Math.floor((t+1)/2);var l=(e.x-o[i].x)/n,r=(e.y-o[i].y)/n;this.scaleValues[2*t]=l,this.scaleValues[2*t+1]=r}this.calculateParts()}},{key:"reSample",value:function(t,e){var o=[];if(null==t||e<0)return o;var n=t.length;if(n>2){var i=new SuperMap.Geometry.Point(0,0),l=0,r=0,a=0,s=2*Math.PI;i=t[0],o.push(i);for(var u=!1,p=!1,c=!1,y=1;y<n;y++)if(r=Math.sqrt((t[y].y-i.y)*(t[y].y-i.y)+(t[y].x-i.x)*(t[y].x-i.x)),SuperMap.Plot.PlottingUtil.equalFuzzy(0,r))u&&(i=t[y-1],y--,o.push(i),a=0,s=2*Math.PI,u=!1,p=!1,c=!1);else{var P=(t[y].x-i.x)/r,h=(t[y].y-i.y)/r;if(l=h>0||SuperMap.Plot.PlottingUtil.equalFuzzy(0,h)?Math.acos(P):2*Math.PI-Math.acos(P),s>2*Math.PI&&l+2*Math.PI<s?(l+=2*Math.PI,a<0&&(a+=2*Math.PI)):a<0&&l-2*Math.PI>a&&(l-=2*Math.PI,s>2*Math.PI&&(s-=2*Math.PI)),l>a&&l<s||SuperMap.Plot.PlottingUtil.equalFuzzy(0,l-a)||SuperMap.Plot.PlottingUtil.equalFuzzy(0,l-s)){var f=Math.atan(e/r);p?a<l-f&&(a=l-f):(p=!0,a=l-f),c?s>l+f&&(s=l+f):(c=!0,s=l+f),u=!0}else i=t[y-1],y--,o.push(i),a=0,s=2*Math.PI,u=!1,p=!1,c=!1}return o.push(t[n-1]),o}return o}},{key:"reSampleByAngle",value:function(t,e){var o=[],n=t.length;if(null==t||n<=0||e<=0)return o;for(var i=t,l=n,r=!1;SuperMap.Plot.PlottingUtil.equalFuzzy(i[0].x,i[l-1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(i[0].y,i[l-1].y);){if((l-=1)<=0)return o;r=!0}var a,s,u=[];for(a=0;a<l;a++)u.push(0);for(u[0]=1,u[l-1]=1,s=0,a=1;a<l-1;a++)if(SuperMap.Plot.PlottingUtil.distance(i[s],i[a])>1e-10&&SuperMap.Plot.PlottingUtil.distance(i[s],i[a+1])>1e-10){var p=180*SuperMap.Plot.PlottingUtil.InnerAngle(i[a],i[s],i[a+1])/Math.PI;p>e&&p<180-e&&(u[a]=1,s++)}var c=0;for(a=0;a<l;a++)1==u[a]&&c++;if(c>0){for(r&&c++,o=[],s=0,a=0;a<l;a++)1==u[a]&&(o[s++]=i[a]);return r&&(o[s]=o[0]),o}return o}}]),e}();SuperMap.Plot.FreeCurve=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.CombinationalCircle=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.angleRange=[],o.defaultRadius=t.defaultRadius?t.defaultRadius:60,o.CLASS_NAME="SuperMap.Plot.CombinationalCircle",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){if(this.init(),this.controlPoints=SuperMap.Plot.PlottingUtil.clearSamePts(this.controlPoints),!(null==this.controlPoints||this.controlPoints.length<1)){var t=this.getCircleLonLat(this.controlPoints[0],this.defaultRadius);this.angleRange=[];for(var e=0;e<this.controlPoints.length;e++)null==this.scaleValues[e]&&(this.scaleValues[e]=t),this.angleRange.push([{Start:0,End:360}]);for(var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),n=0;n<o.length;n++)if(0!==this.angleRange[n].length&&(0!==this.angleRange[n][0].Start||0!==this.angleRange[n][0].End))for(var i=n+1;i<o.length;i++)if(0!==this.angleRange[i].length&&(0!==this.angleRange[i][0].Start||0!==this.angleRange[i][0].End)){var l=SuperMap.Plot.PlottingUtil.distance(o[n],o[i]);if(l<this.scaleValues[n]+this.scaleValues[i])if(l>Math.abs(this.scaleValues[n]-this.scaleValues[i]))for(var r=0;r<2;r++){var a,s,u;0==r?(u=n,a=SuperMap.Plot.PlottingUtil.radian(o[n],o[i])*SuperMap.Plot.PlottingUtil.RTOD,s=Math.acos((l*l+this.scaleValues[n]*this.scaleValues[n]-this.scaleValues[i]*this.scaleValues[i])/(2*l*this.scaleValues[n]))*SuperMap.Plot.PlottingUtil.RTOD):(u=i,a=SuperMap.Plot.PlottingUtil.radian(o[i],o[n])*SuperMap.Plot.PlottingUtil.RTOD,s=Math.acos((l*l+this.scaleValues[i]*this.scaleValues[i]-this.scaleValues[n]*this.scaleValues[n])/(2*l*this.scaleValues[i]))*SuperMap.Plot.PlottingUtil.RTOD);var p=a-s,c=a+s,y=p<0&&c>0||p>360||c>360;p=this.adjustAngle(p),c=this.adjustAngle(c);for(var P=this.angleRange[u].length-1;P>=0;P--)if(y){if(c>this.angleRange[u][P].End||SuperMap.Plot.PlottingUtil.equalFuzzy(c,this.angleRange[u][P].End)){this.angleRange[u].splice(P,1);continue}if(c>this.angleRange[u][P].Start&&(this.angleRange[u][P].Start=c),p<this.angleRange[u][P].Start||SuperMap.Plot.PlottingUtil.equalFuzzy(p,this.angleRange[u][P].Start)){this.angleRange[u].splice(P,1);continue}p<this.angleRange[u][P].End&&(this.angleRange[u][P].End=p)}else if(p<this.angleRange[u][P].Start&&c>this.angleRange[u][P].End)this.angleRange[u].splice(P,1);else if(p>this.angleRange[u][P].Start&&c<this.angleRange[u][P].End)this.angleRange[u].push({Start:this.angleRange[u][P].Start,End:p}),this.angleRange[u].push({Start:c,End:this.angleRange[u][P].End}),this.angleRange[u].splice(P,1);else{if(p>this.angleRange[u][P].End)continue;if(p>this.angleRange[u][P].Start&&(this.angleRange[u][P].End=p),c<this.angleRange[u][P].Start)continue;c<this.angleRange[u][P].End&&(this.angleRange[u][P].Start=c)}}else{if(this.scaleValues[n]<this.scaleValues[i]){this.angleRange[n][0].Start=0,this.angleRange[n][0].End=0;break}this.angleRange[i][0].Start=0,this.angleRange[i][0].End=0}}for(var h=[],f=0;f<o.length;f++)if(0!==this.angleRange[f].length&&(0!==this.angleRange[f][0].Start||0!==this.angleRange[f][0].End))for(var S=this.angleRange[f].length-1;S>=0;S--){for(var d=this.adjustAngle(this.angleRange[f][S].Start),g=this.adjustAngle(this.angleRange[f][S].End);g<d;)g+=360;if(g-d==360)this.addCell(SuperMap.Plot.SymbolType.CIRCLESYMBOL,[o[f],new SuperMap.Geometry.Point(o[f].x,o[f].y+this.scaleValues[f])]);else{for(var M=[],m=(g-d)/72,v=d;v<g+m/2;v+=m){var b=o[f].x+this.scaleValues[f]*Math.cos(v*SuperMap.Plot.PlottingUtil.DTOR),T=o[f].y+this.scaleValues[f]*Math.sin(v*SuperMap.Plot.PlottingUtil.DTOR);M.push(new SuperMap.Geometry.Point(b,T))}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,M),h.push(M)}}for(var A=[];0!==h.length;){var L=h[0];h.splice(0,1),void 0!==(L=this.generatePolygon(h,L))&&A.push(L)}for(var O=[],E=0;E<A.length;E++)O.push(A[E]);for(var x=O.length-1;x>=0;x--)for(var w=0;w<O[x].length;w++){for(var I in O)if(parseInt(I)!==x){var R=O[I];if(SuperMap.Plot.PlottingUtil.ptIsInPolygon(R,O[x][w])){var C=x,_=parseInt(I);O[_].push(O[_][0]),O[C].push(O[C][0]),O[_]=O[_].concat(O[C]),O.splice(C,1);break}}if(!isNaN(C)&&!isNaN(_))break}for(var U=0;U<O.length;U++){var N={type:SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,positionPoints:O[U],style:{surroundLineFlag:!1,lineWidthLimit:!0,weight:0}};this.components.splice(0,0,N)}for(var D=0;D<o.length;D++){var B=new SuperMap.Geometry.Point(o[D].x+this.scaleValues[D],o[D].y);B.isScalePoint=!0,B.tag=D,this.addScalePoint(B)}}}},{key:"generatePolygon",value:function(t,e){if(0===t.length||SuperMap.Plot.PlottingUtil.equalFuzzy(e[0].x,e[e.length-1].x,1e-7)&&SuperMap.Plot.PlottingUtil.equalFuzzy(e[0].y,e[e.length-1].y,1e-7))return e;for(var o,n=e[e.length-1],i=0;i<t.length;i++)if(SuperMap.Plot.PlottingUtil.equalFuzzy(t[i][0].x,n.x,1e-7)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t[i][0].y,n.y,1e-7)){if(e=e.concat(t[i]),t.splice(i,1),void 0!==(o=this.generatePolygon(t,e))&&0!==o.length)return o}else if(SuperMap.Plot.PlottingUtil.equalFuzzy(t[i][t[i].length-1].x,n.x,1e-7)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t[i][t[i].length-1].y,n.y,1e-7)){for(var l=t[i].length-1;l>=0;l--)e.push(t[i][l]);if(t.splice(i,1),void 0!==(o=this.generatePolygon(t,e))&&0!==o.length)return o}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){if(t<0||t>=this.controlPoints.length)return;var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),n=SuperMap.Plot.PlottingUtil.distance(o[t],e);this.scaleValues[t]=n}this.calculateParts()}},{key:"adjustAngle",value:function(t){for(;t>360;)t-=360;for(;t<0;)t+=360;return t}},{key:"getCircleLonLat",value:function(t,e){return null===this.map?2*this.getDefaultSubSymbolSize():this.map&&"undefined"!=typeof L&&void 0!==L.Map&&this.map instanceof L.Map?((o=this.map.latLngToLayerPoint(L.latLng(t.y,t.x))).x+=e,this.map.layerPointToLatLng(L.point(o.x,o.y)).lng-t.x):this.map&&"undefined"!=typeof SuperMap&&void 0!==SuperMap.Map&&this.map instanceof SuperMap.Map?((o=this.map.getPixelFromLonLat(new SuperMap.LonLat(t.x,t.y))).x+=e,this.map.getLonLatFromPixel(new SuperMap.Pixel(o.x,o.y)).lon-t.x):void 0;var o}}]),e}();SuperMap.Plot.CombinationalCircle=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.ConcentricCircle=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return void 0===o.scaleValues[0]&&(o.scaleValues[0]=0),void 0===o.scaleValues[1]&&(o.scaleValues[1]=360),o.CLASS_NAME="SuperMap.Plot.ConcentricCircle",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!(null==(t=SuperMap.Plot.PlottingUtil.clearSamePts(t))||t.length<2)){for(2==t.length&&t.push(t[1].clone());this.scaleValues[0]>360;)this.scaleValues[0]-=360;for(;this.scaleValues[0]<0;)this.scaleValues[0]+=360;for(;this.scaleValues[1]>360;)this.scaleValues[1]-=360;for(;this.scaleValues[1]<0;)this.scaleValues[1]+=360;for(;this.scaleValues[1]<=this.scaleValues[0];)this.scaleValues[1]+=360;for(var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]),o=SuperMap.Plot.PlottingUtil.distance(t[0],t[2]),n=[],i=[],l=Math.PI/180,r=(this.scaleValues[1]-this.scaleValues[0])/72,a=this.scaleValues[0];a<this.scaleValues[1]+r/2;a+=r){var s=t[0].x+e*Math.cos(a*l),u=t[0].y+e*Math.sin(a*l),p=t[0].x+o*Math.cos(a*l),c=t[0].y+o*Math.sin(a*l);n.push(new SuperMap.Geometry.Point(s,u)),i.push(new SuperMap.Geometry.Point(p,c))}for(var y=[],P=0;P<n.length;P++)y.push(n[P]);y.push(n[0]);for(var h=i.length-1;h>=0;h--)y.push(i[h]);this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,y,{surroundLineFlag:!1,lineWidthLimit:!0,weight:0,strokeWidth:0}),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,i);var f=t[0].x+e/2*Math.cos(this.scaleValues[0]*l),S=t[0].y+e/2*Math.sin(this.scaleValues[0]*l),d=t[0].x+o/2*Math.cos(this.scaleValues[1]*l),g=t[0].y+o/2*Math.sin(this.scaleValues[1]*l),M=new SuperMap.Geometry.Point(f,S);M.isScalePoint=!0,M.tag=0,this.addScalePoint(M);var m=new SuperMap.Geometry.Point(d,g);m.isScalePoint=!0,m.tag=1,this.addScalePoint(m)}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){for(var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),n=180*SuperMap.Plot.PlottingUtil.radian(o[0],e)/Math.PI;n>360;)n-=360;for(;n<0;)n+=360;0==t?this.scaleValues[0]=n:1==t&&(this.scaleValues[1]=n)}this.calculateParts()}}]),e}();SuperMap.Plot.ConcentricCircle=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.SymbolTextBox=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.roundBox=!!t.roundBox&&t.roundBox,o.textBoxType=t.textBoxType?t.textBoxType:SuperMap.Plot.TextBoxType.WITHTIPBOX,0===o.scaleValues.length&&(o.scaleValues.push(.126),o.scaleValues.push(0),o.scaleValues.push(0)),o.CLASS_NAME="SuperMap.Plot.SymbolTextBox",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){this.roundBox=null,this.textBoxType=null,function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){this.init();var t=this.scaleValues[0];if(!(t<0||t>1)){if(t=(1-t)/2,this.controlPoints.length>=this.minEditPts){var e,o,n,i;this.scalePoints=[];var l=[];this.controlPoints[0].x<this.controlPoints[1].x?(e=this.controlPoints[0].x,n=this.controlPoints[1].x):(e=this.controlPoints[1].x,n=this.controlPoints[0].x),this.controlPoints[0].y<this.controlPoints[1].y?(i=this.controlPoints[0].y,o=this.controlPoints[1].y):(i=this.controlPoints[1].y,o=this.controlPoints[0].y);var r=1,a=2,s=3,u=4;if(this.roundBox){var p=Math.max(e,n),c=Math.min(e,n),y=Math.max(o,i),P=Math.min(o,i),h=.1*Math.min(Math.abs(e-n),Math.abs(o-i)),f=new SuperMap.Geometry.Point(c+h,P+h),S=new SuperMap.Geometry.Point(c+h,y-h),d=new SuperMap.Geometry.Point(p-h,y-h),g=new SuperMap.Geometry.Point(p-h,P+h),M=this.calculateArc(f,h,3*Math.PI/2,Math.PI,-1,180),m=this.calculateArc(S,h,Math.PI,Math.PI/2,-1,180),v=this.calculateArc(d,h,Math.PI/2,0,-1,180),b=this.calculateArc(g,h,2*Math.PI,3*Math.PI/2,-1,180);r=M.length,a=M.length+m.length,s=M.length+m.length+v.length,u=M.length+m.length+v.length+b.length,l=M.concat(m,v,b)}else l.push(new SuperMap.Geometry.Point(e,i)),l.push(new SuperMap.Geometry.Point(e,o)),l.push(new SuperMap.Geometry.Point(n,o)),l.push(new SuperMap.Geometry.Point(n,i));this.isEdit||(this.scaleValues[1]=e+.1*(n-e),this.scaleValues[2]=i+-.3*(o-i));var T=new SuperMap.Geometry.Point(this.scaleValues[1],this.scaleValues[2]),A=this.getAction(this.scaleValues[1],this.scaleValues[2],e,o,n,i);if(this.textBoxType===SuperMap.Plot.TextBoxType.WITHTIPBOX)switch(this.addScalePoint(T,0),A){case 0:break;case 1:this.addScalePoint(new SuperMap.Geometry.Point(e,o-(o-i)*t)),l.splice(r,0,new SuperMap.Geometry.Point(e,o-(o-i)*t)),l.splice(r,0,T),l.splice(r,0,new SuperMap.Geometry.Point(e,i+(o-i)*t));break;case 2:this.addScalePoint(new SuperMap.Geometry.Point(n-(n-e)*t,o)),l.splice(a,0,new SuperMap.Geometry.Point(n-(n-e)*t,o)),l.splice(a,0,T),l.splice(a,0,new SuperMap.Geometry.Point(e+(n-e)*t,o));break;case 3:this.addScalePoint(new SuperMap.Geometry.Point(n,o-(o-i)*t)),l.splice(s,0,new SuperMap.Geometry.Point(n,i+(o-i)*t)),l.splice(s,0,T),l.splice(s,0,new SuperMap.Geometry.Point(n,o-(o-i)*t));break;case 4:this.addScalePoint(new SuperMap.Geometry.Point(n-(n-e)*t,i)),l.splice(u,0,new SuperMap.Geometry.Point(e+(n-e)*t,i)),l.splice(u,0,T),l.splice(u,0,new SuperMap.Geometry.Point(n-(n-e)*t,i))}if(0!==l.length)if(this.textBoxType===SuperMap.Plot.TextBoxType.NONEBOX){this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l,{surroundLineFlag:!1,weight:0,lineWidthLimit:!0})}else this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l)}else this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.addCell(SuperMap.Plot.SymbolType.RECTANGLESYMBOL,this.controlPoints);this.annotationContent(e,o,n,i),this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint)if(0===t)this.scaleValues[1]=e.x,this.scaleValues[2]=e.y;else if(1===t){var o,n,i,l,r,a,s=this.scalePoints[0];this.controlPoints[0].x<this.controlPoints[1].x?(o=this.controlPoints[0].x,i=this.controlPoints[1].x):(o=this.controlPoints[1].x,i=this.controlPoints[0].x),this.controlPoints[0].y<this.controlPoints[1].y?(l=this.controlPoints[0].y,n=this.controlPoints[1].y):(l=this.controlPoints[1].y,n=this.controlPoints[0].y),r=this.scaleValues[1],a=this.scaleValues[2];var u=(n-l)/(i-o),p=.25;switch(r<o?a>n?Math.abs((a-n)/(r-o))>u?2:1:a<l&&Math.abs((a-l)/(r-o))>u?4:1:r>i?a>n?Math.abs((a-n)/(r-i))>u?2:3:a<l&&Math.abs((a-l)/(r-i))>u?4:3:a>n?2:a<l?4:0){case 1:case 3:var c=s.y+(e.y-s.y);c>n&&(c=n),c<(n+l)/2&&(c=(n+l)/2),p=1-2*(n-c)/(n-l);break;case 2:case 4:var y=s.x+(e.x-s.x);y>i&&(y=i),y<(o+i)/2&&(y=(o+i)/2),p=1-2*(i-y)/(i-o)}p<0&&(p=0),p>1&&(p=1),this.scaleValues[0]=p}this.calculateParts()}},{key:"calculateArc",value:function(t,e,o,n,i,l){(!i||1!=i&&-1!=i)&&(i=-1),l||(l=360);for(var r=Math.PI/l/2,a=r*i,s=Math.abs(n-o),u=[],p=o,c=0;c<s;c+=r){var y=new SuperMap.Geometry.Point(Math.cos(p)*e+t.x,Math.sin(p)*e+t.y);u.push(y),p=(p=(p+=a)<0?p+2*Math.PI:p)>2*Math.PI?p-2*Math.PI:p}return u}},{key:"getAction",value:function(t,e,o,n,i,l){var r=(n-l)/(i-o);return t<o?e>n?Math.abs((e-n)/(t-o))>r?2:1:e<l&&Math.abs((e-l)/(t-o))>r?4:1:t>i?e>n?Math.abs((e-n)/(t-i))>r?2:3:e<l&&Math.abs((e-l)/(t-i))>r?4:3:e>n?2:e<l?4:0}}]),e}();SuperMap.Plot.SymbolTextBox=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GeoTooltipBoxM=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(0),o.scaleValues.push(0),o.scaleValues.push(0),o.scaleValues.push(0)),o.CLASS_NAME="SuperMap.Plot.GeoTooltipBoxM",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destory",this).call(this)}},{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=this.minEditPts){var e,o,n,i;t[0].x<t[1].x?(e=t[0].x,n=t[1].x):(e=t[1].x,n=t[0].x),t[0].y<t[1].y?(i=t[0].y,o=t[1].y):(i=t[1].y,o=t[0].y),this.scalePoints=[];var l=[];l.push(new SuperMap.Geometry.Point(e,i)),l.push(new SuperMap.Geometry.Point(e,o)),l.push(new SuperMap.Geometry.Point(n,o)),l.push(new SuperMap.Geometry.Point(n,i)),this.isEdit||(this.scaleValues[0]=e,this.scaleValues[1]=i-.3*(o-i),this.scaleValues[2]=e+.5*(n-e),this.scaleValues[3]=i-.3*(o-i));for(var r=[],a=[],s=0;s<this.scaleValues.length/2;s++)r.push(this.getAction(this.scaleValues[2*s],this.scaleValues[2*s+1],e,o,n,i)),a.push(new SuperMap.Geometry.Point(this.scaleValues[2*s],this.scaleValues[2*s+1]));for(var u,p,c,y,P=a.length,h=[],f=[],S=[],d=[],g=[],M=0;M<r.length;M++)0===r[M]&&h.push(a[M]),1===r[M]&&f.push(a[M]),2===r[M]&&S.push(a[M]),3===r[M]&&d.push(a[M]),4===r[M]&&g.push(a[M]);var m=r.slice();m.sort();var v=new SuperMap.Geometry.Point(0,0);if(m[0]===m[m.length-1]&&0!==m[0]){var b=[];switch(m[0]){case 0:break;case 1:u=1/(2*f.length+1);for(var T=new SuperMap.Geometry.Point,A=0;A<2*f.length;A++)T=new SuperMap.Geometry.Point(e,i+(o-i)*u*(A+1)),b.unshift(T);break;case 2:p=1/(2*S.length+1);for(var L=new SuperMap.Geometry.Point,O=0;O<2*S.length;O++)L=new SuperMap.Geometry.Point(e+(n-e)*p*(O+1),o),b.unshift(L);break;case 3:c=1/(2*d.length+1);for(var E=new SuperMap.Geometry.Point,x=0;x<2*d.length;x++)E=new SuperMap.Geometry.Point(n,i+(o-i)*c*(x+1)),b.push(E);break;case 4:y=1/(2*g.length+1);for(var w=new SuperMap.Geometry.Point,I=0;I<2*g.length;I++)w=new SuperMap.Geometry.Point(e+(n-e)*y*(I+1),i),b.push(w)}for(var R=0;R<P;R++)for(var C=0;C<P;C++){var _=SuperMap.Plot.PlottingUtil.intersectLineSegs(b[2*R+1],a[R],b[2*C],a[C],v);if(_&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.x,b[2*R+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.y,b[2*R+1].y)&&(_=!1),_){var U=a[C].clone();a[C]=a[R],a[R]=U}}for(var N=0;N<P;N++)l.splice(m[0],0,b[2*N]),l.splice(m[0],0,a[N]),l.splice(m[0],0,b[2*N+1])}else{for(var D,B,G=[],k=[],V=[],Y=[],F=0;F<r.length;F++)switch(r[F]){case 0:break;case 1:u=1/(2*f.length+1);for(var j=0;j<2*f.length;j++){var z=new SuperMap.Geometry.Point(e,i+(o-i)*u*(j+1));G.unshift(z)}for(var W=0;W<f.length;W++)for(var H=1;H<f.length;H++)(D=SuperMap.Plot.PlottingUtil.intersectLineSegs(G[2*W+1],f[W],G[2*H],f[H],v))&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.x,G[2*W+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.y,G[2*W+1].y)&&(D=!1),D&&(B=f[H].clone(),f[H]=f[W],f[W]=B);break;case 2:p=1/(2*S.length+1);for(var q=0;q<2*S.length;q++){var J=new SuperMap.Geometry.Point(e+(n-e)*p*(q+1),o);k.unshift(J)}for(var X=0;X<S.length;X++)for(var K=1;K<S.length;K++)(D=SuperMap.Plot.PlottingUtil.intersectLineSegs(k[2*X+1],S[X],k[2*K],S[K],v))&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.x,k[2*X+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.y,k[2*X+1].y)&&(D=!1),D&&(B=S[K].clone(),S[K]=S[X],S[X]=B);break;case 3:c=1/(2*d.length+1);for(var Q=0;Q<2*d.length;Q++){var Z=new SuperMap.Geometry.Point(n,i+(o-i)*c*(Q+1));V.push(Z)}for(var $=0;$<d.length;$++)for(var tt=1;tt<d.length;tt++)(D=SuperMap.Plot.PlottingUtil.intersectLineSegs(V[2*$+1],d[$],V[2*tt],d[tt],v))&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.x,V[2*$+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.y,V[2*$+1].y)&&(D=!1),D&&(B=d[tt].clone(),d[tt]=d[$],d[$]=B);break;case 4:y=1/(2*g.length+1);for(var et=0;et<2*g.length;et++){var ot=new SuperMap.Geometry.Point(e+(n-e)*y*(et+1),i);Y.push(ot)}for(var nt=0;nt<g.length;nt++)for(var it=1;it<g.length;it++)(D=SuperMap.Plot.PlottingUtil.intersectLineSegs(Y[2*nt+1],g[nt],Y[2*it],g[it],v))&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.x,Y[2*nt+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(v.y,Y[2*nt+1].y)&&(D=!1),D&&(B=g[it].clone(),g[it]=g[nt],g[nt]=B)}for(var lt=0;lt<g.length;lt++)l.splice(4,0,Y[2*lt]),l.splice(4,0,g[lt]),l.splice(4,0,Y[2*lt+1]);for(var rt=0;rt<d.length;rt++)l.splice(3,0,V[2*rt]),l.splice(3,0,d[rt]),l.splice(3,0,V[2*rt+1]);for(var at=0;at<S.length;at++)l.splice(2,0,k[2*at]),l.splice(2,0,S[at]),l.splice(2,0,k[2*at+1]);for(var st=0;st<f.length;st++)l.splice(1,0,G[2*st]),l.splice(1,0,f[st]),l.splice(1,0,G[2*st+1])}for(var ut=0;ut<a.length;ut++)this.addScalePoint(a[ut],ut)}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l),this.annotationContent(e,o,n,i),this.finish()}},{key:"modifyPoint",value:function(t,e){!0===e.isScalePoint&&(null==t&&void 0===t||(this.scaleValues[2*t]=e.x,this.scaleValues[2*t+1]=e.y)),this.calculateParts()}},{key:"getAction",value:function(t,e,o,n,i,l){var r=(n-l)/(i-o);return t<o?e>n?Math.abs((e-n)/(t-o))>r?2:1:e<l&&Math.abs((e-l)/(t-o))>r?4:1:t>i?e>n?Math.abs((e-n)/(t-i))>r?2:3:e<l&&Math.abs((e-l)/(t-i))>r?4:3:e>n?2:e<l?4:0}}]),e}();SuperMap.Plot.GeoTooltipBoxM=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GeoTooltipBox=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(.126),o.CLASS_NAME="SuperMap.Plot.GeoTooltipBox",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"calculateParts",value:function(){this.init();var t=this.scaleValues[0];if(!(t<0||t>1)){if(t=(1-t)/2,this.controlPoints.length>=this.minEditPts){var e,o,n,i,l,r;this.controlPoints[2]&&(this.controlPoints[2].isFixedPos=!0),this.controlPoints[0].x<this.controlPoints[1].x?(e=this.controlPoints[0].x,n=this.controlPoints[1].x):(e=this.controlPoints[1].x,n=this.controlPoints[0].x),this.controlPoints[0].y<this.controlPoints[1].y?(i=this.controlPoints[0].y,o=this.controlPoints[1].y):(i=this.controlPoints[1].y,o=this.controlPoints[0].y),l=this.controlPoints[2].x,r=this.controlPoints[2].y;var a=0,s=(o-i)/(n-e);a=l<e?r>o?Math.abs((r-o)/(l-e))>s?2:1:r<i&&Math.abs((r-i)/(l-e))>s?4:1:l>n?r>o?Math.abs((r-o)/(l-n))>s?2:3:r<i&&Math.abs((r-i)/(l-n))>s?4:3:r>o?2:r<i?4:0,this.scalePoints=[];var u=[];switch(u.push(new SuperMap.Geometry.Point(e,i)),u.push(new SuperMap.Geometry.Point(e,o)),u.push(new SuperMap.Geometry.Point(n,o)),u.push(new SuperMap.Geometry.Point(n,i)),a){case 0:break;case 1:this.addScalePoint(new SuperMap.Geometry.Point(e,o-(o-i)*t)),u.splice(a,0,new SuperMap.Geometry.Point(e,o-(o-i)*t)),u.splice(a,0,this.controlPoints[2].clone()),u.splice(a,0,new SuperMap.Geometry.Point(e,i+(o-i)*t));break;case 2:this.addScalePoint(new SuperMap.Geometry.Point(n-(n-e)*t,o)),u.splice(a,0,new SuperMap.Geometry.Point(n-(n-e)*t,o)),u.splice(a,0,this.controlPoints[2].clone()),u.splice(a,0,new SuperMap.Geometry.Point(e+(n-e)*t,o));break;case 3:this.addScalePoint(new SuperMap.Geometry.Point(n,o-(o-i)*t)),u.splice(a,0,new SuperMap.Geometry.Point(n,i+(o-i)*t)),u.splice(a,0,this.controlPoints[2].clone()),u.splice(a,0,new SuperMap.Geometry.Point(n,o-(o-i)*t));break;case 4:this.addScalePoint(new SuperMap.Geometry.Point(n-(n-e)*t,i)),u.splice(a,0,new SuperMap.Geometry.Point(e+(n-e)*t,i)),u.splice(a,0,this.controlPoints[2].clone()),u.splice(a,0,new SuperMap.Geometry.Point(n-(n-e)*t,i))}this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,u),this.annotationContent(e,o,n,i)}this.finish()}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint&&0==t){var o,n,i,l,r,a,s=this.scalePoints[0];this.controlPoints[0].x<this.controlPoints[1].x?(o=this.controlPoints[0].x,i=this.controlPoints[1].x):(o=this.controlPoints[1].x,i=this.controlPoints[0].x),this.controlPoints[0].y<this.controlPoints[1].y?(l=this.controlPoints[0].y,n=this.controlPoints[1].y):(l=this.controlPoints[1].y,n=this.controlPoints[0].y),r=this.controlPoints[2].x,a=this.controlPoints[2].y;var u=(n-l)/(i-o),p=.25;switch(r<o?a>n?Math.abs((a-n)/(r-o))>u?2:1:a<l&&Math.abs((a-l)/(r-o))>u?4:1:r>i?a>n?Math.abs((a-n)/(r-i))>u?2:3:a<l&&Math.abs((a-l)/(r-i))>u?4:3:a>n?2:a<l?4:0){case 1:case 3:var c=s.y+(e.y-s.y);c>n&&(c=n),c<(n+l)/2&&(c=(n+l)/2),p=1-2*(n-c)/(n-l);break;case 2:case 4:var y=s.x+(e.x-s.x);y>i&&(y=i),y<(o+i)/2&&(y=(o+i)/2),p=1-2*(i-y)/(i-o)}p<0&&(p=0),p>1&&(p=1),this.scaleValues[0]=p}this.calculateParts()}}]),e}();SuperMap.Plot.GeoTooltipBox=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Trapezoid=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.CLASS_NAME="SuperMap.Plot.Trapezoid",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length>=2&&t.length<this.minEditPts&&this.calAssistantLine(),!(t.length<this.minEditPts)){var e=[],o=t[0],n=t[1],i=t[2],l=new SuperMap.Geometry.Point(0,0);this.GetPointsByTrapezoid(1,i,n,o,l),e.push(o),e.push(n),e.push(i),e.push(l);var r=SuperMap.Plot.PlottingUtil.intersectLines(o,n,i,l),a=r.intersectPoint;r.isIntersectLines&&(a.x>o.x&&a.x<n.x||a.y>o.y&&a.y<n.y||a.x<o.x&&a.x>n.x||a.y<o.y&&a.y>n.y)&&(e[0]=l,e[3]=o),4==e.length&&this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e)}}},{key:"GetPointsByTrapezoid",value:function(t,e,o,n,i){var l=e.x,r=e.y,a=o.x,s=o.y,u=n.x,p=n.y,c=0,y=0,P=0,h=0;if(SuperMap.Plot.PlottingUtil.equalFuzzy(Math.abs(r-s),0))c=l+a-u,y=p;else if(SuperMap.Plot.PlottingUtil.equalFuzzy(Math.abs(l-a),0))c=u,y=r+s-p;else{var f=1*(r-s)/(l-a),S=p-f*u;y=f*(c=((s+r)/2+(l+a)/(2*f)-S)/(f+1/f))+S,c=2*c-u,y=2*y-p}var d=Math.sqrt(1*(l-a)*(l-a)+1*(r-s)*(r-s)),g=Math.sqrt(1*(l-c)*(l-c)+1*(r-y)*(r-y));d>0?(P=l+(a-l)*g/d,h=r+(s-r)*g/d):(P=l,h=r);var M=P+(c-P)*t,m=h+(y-h)*t;i.x=M,i.y=m}}]),e}();SuperMap.Plot.Trapezoid=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Brace=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&(o.scaleValues.push(.1),o.scaleValues.push(.1)),o.CLASS_NAME="SuperMap.Plot.Brace",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){this.init();var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);if(!((t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length<this.minEditPts)){var e=t[0],o=t[1],n=SuperMap.Plot.PlottingUtil.distance(e,o);this.scaleValues.length<2&&(this.scaleValues=[],this.scaleValues.push(.1),this.scaleValues.push(.1));for(var i=this.scaleValues[0],l=this.scaleValues[1],r=new SuperMap.Geometry.Point(n*i,n*i),a=new SuperMap.Geometry.Point(n*(.5-l/2),0),s=new SuperMap.Geometry.Point(.5*n,-n*l),u=new SuperMap.Geometry.Point(n*(.5+l/2),0),p=new SuperMap.Geometry.Point(n*(1-i),n*i),c=[],y=180*Math.PI/180,P=270*Math.PI/180,h=3*Math.PI/180,f=y;f<=P;f+=h){var S=new SuperMap.Geometry.Point(r.x+n*i,r.y);S=SuperMap.Plot.PlottingUtil.rotateAngle(r,f,S),c.push(S)}c.push(a),c.push(s),c.push(u),y=270*Math.PI/180,P=360*Math.PI/180;for(var d=y;d<=P;d+=h){var g=new SuperMap.Geometry.Point(p.x+n*i,p.y);g=SuperMap.Plot.PlottingUtil.rotateAngle(p,d,g),c.push(g)}for(var M=SuperMap.Plot.PlottingUtil.radian(e,o),m=[],v=0;v<c.length;v++){var b=new SuperMap.Geometry.Point(c[v].x+e.x,c[v].y+e.y);b=SuperMap.Plot.PlottingUtil.rotateAngle(e,M,b),m.push(b)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,m),this.scalePoints=[];var T=new SuperMap.Geometry.Point(n*i,0),A=new SuperMap.Geometry.Point(T.x+e.x,T.y+e.y);(A=SuperMap.Plot.PlottingUtil.rotateAngle(e,M,A)).isScalePoint=!0,A.tag=0,this.addScalePoint(A);var L=new SuperMap.Geometry.Point(s.x+e.x,s.y+e.y);SuperMap.Plot.PlottingUtil.rotateAngle(e,M,L),L.isScalePoint=!0,L.tag=1,this.addScalePoint(L)}}},{key:"modifyPoint",value:function(t,e){if(!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),n=SuperMap.Plot.PlottingUtil.distance(o[0],o[1]);if(0==t){var i=SuperMap.Plot.PlottingUtil.distance(o[0],e)/n;i>0&&i<.4&&(this.scaleValues[0]=i)}else if(1==t){var l=new SuperMap.Geometry.Point((o[0].x+o[1].x)/2,(o[0].y+o[1].y)/2),r=SuperMap.Plot.PlottingUtil.distance(e,l)/n;0<r&&.2>r&&(this.scaleValues[1]=r)}}this.calculateParts()}}]),e}();SuperMap.Plot.Brace=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.RegularPolygon=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return 0===o.scaleValues.length&&o.scaleValues.push(1),o.CLASS_NAME="SuperMap.Plot.RegularPolygon",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){if(this.init(),!(this.controlPoints.length<this.minEditPts)){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),e=this.controlPoints.length+1,o=2*Math.PI/e;if(!this.isEdit){var n=this.controlPoints[this.controlPoints.length-1],i=new SuperMap.Geometry.Point(this.controlPoints[this.controlPoints.length-1].x,this.controlPoints[this.controlPoints.length-1].y);SuperMap.Plot.PlottingUtil.rotateAngle(this.controlPoints[0],o,i),this.scaleValues[0]=SuperMap.Plot.PlottingUtil.distance(t[0],this.calculateMidPt(n,i))/SuperMap.Plot.PlottingUtil.distance(t[0],t[t.length-1])}var l=[],r=this.controlPoints[this.controlPoints.length-1].clone();l.push(r.clone()),r=SuperMap.Plot.PlottingUtil.rotateAngle(this.controlPoints[0],o/2,r);var a=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(this.scaleValues[0],this.controlPoints[0],r);l.push(a);for(var s=1;s<e;s++)r=SuperMap.Plot.PlottingUtil.rotateAngle(this.controlPoints[0],o/2,r),l.push(r.clone()),r=SuperMap.Plot.PlottingUtil.rotateAngle(this.controlPoints[0],o/2,r),a=SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(this.scaleValues[0],this.controlPoints[0],r),l.push(a);var u=l[1];this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,l,{surroundLineFlag:!1,fill:!1}),this.addScalePoint(u),0!==this.textContent.length&&this.createTextContent(),this.finish()}}},{key:"calculateMidPt",value:function(t,e){return new SuperMap.Geometry.Point((t.x+e.x)/2,(t.y+e.y)/2)}},{key:"modifyPoint",value:function(t,e){if(0===t&&!0===e.isScalePoint){var o=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[this.controlPoints.length-1]),n=this.scalePoints[0],i=SuperMap.Plot.PlottingUtil.projectPoint(e,this.controlPoints[0],n),l=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],i);this.scaleValues[0]=l/o}this.calculateParts()}}]),e}();SuperMap.Plot.RegularPolygon=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.ArrowLine=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.arrowAngle=t.arrowAngle?t.arrowAngle:45,0===o.scaleValues.length&&(o.scaleValues.push(.3),o.scaleValues.push(0),o.scaleValues.push(0)),o.CLASS_NAME="SuperMap.Plot.ArrowLine",o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.Plot.AlgoSymbol),n(e,[{key:"calculateParts",value:function(){if(this.init(),!(null==this.controlPoints||this.controlPoints.length<this.minEditPts)){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);t=SuperMap.Plot.PlottingUtil.clearSamePts(t);var e=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);e=SuperMap.Plot.PlottingUtil.clearSamePts(e);var o=SuperMap.Plot.PlottingUtil.polylineDistance(e);this.isEdit||(this.scaleValues[0]=.5*this.getSubSymbolScaleValue(o));var n,i=this.scaleValues[0]*o,l=this.arrowAngle*Math.PI/180/2,r=(n=e.length>2?SuperMap.Plot.PlottingUtil.radian(e[e.length-1],e[e.length-2]):SuperMap.Plot.PlottingUtil.radian(e[1],e[0]))-l,a=e[e.length-1].x+i*Math.cos(r),s=e[e.length-1].y+i*Math.sin(r),u=new SuperMap.Geometry.Point(a,s),p=n+l,c=e[e.length-1].x+i*Math.cos(p),y=e[e.length-1].y+i*Math.sin(p),P=new SuperMap.Geometry.Point(c,y),h=[];h.push(u),h.push(e[e.length-1].clone()),h.push(P);var f={surroundLineFlag:!1,fillLimit:!0,lineTypeLimit:!0},S=SuperMap.Plot.PlottingUtil.radian(e[0],e[1]);r=S-l,a=e[0].x+i*Math.cos(r),s=e[0].y+i*Math.sin(r),u=new SuperMap.Geometry.Point(a,s),p=S+l,c=e[0].x+i*Math.cos(p),y=e[0].y+i*Math.sin(p),P=new SuperMap.Geometry.Point(c,y);var d=[];d.push(u),d.push(e[0].clone()),d.push(P);var g=this.scaleValues[1]===SuperMap.Plot.ArrowLineType.DOUBLELINE?SuperMap.Plot.SymbolType.POLYLINESYMBOL:SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,M=this.scaleValues[2]===SuperMap.Plot.ArrowLineType.DOUBLELINE?SuperMap.Plot.SymbolType.POLYLINESYMBOL:SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL;this.scaleValues[1]===SuperMap.Plot.ArrowLineType.DOUBLELINE?this.addCell(g,d,f):this.scaleValues[1]===SuperMap.Plot.ArrowLineType.TRIANGLESOLID&&this.addCell(g,d,f),this.scaleValues[2]===SuperMap.Plot.ArrowLineType.DOUBLELINE?this.addCell(M,h,f):this.scaleValues[2]===SuperMap.Plot.ArrowLineType.TRIANGLESOLID&&this.addCell(M,h,f),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,e),this.finish()}}}]),e}();SuperMap.Plot.ArrowLine=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.AlgoSymbol=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.style=null,this.libID=e.libID?e.libID:0,this.code=e.code?e.code:0,this.maxEditPts=e.maxEditPts?e.maxEditPts:SuperMap.Plot.AlgoSymbolFactory.getMaxEditPts(e.libID,e.code),this.minEditPts=e.minEditPts?e.minEditPts:SuperMap.Plot.AlgoSymbolFactory.getMinEditPts(e.libID,e.code),this.isEdit=!!e.isEdit&&e.isEdit,this.controlPoints=e.controlPoints?e.controlPoints:[],this.scalePoints=e.scalePoints?e.scalePoints:[],this.scaleValues=e.scaleValues?e.scaleValues:[],this.subSymbols=e.subSymbols?e.subSymbols:SuperMap.Plot.AlgoSymbolFactory.getDefaultSubSymbols(e.libID,e.code),this.polylineConnectLocationPoint=!!e.polylineConnectLocationPoint&&e.polylineConnectLocationPoint,this.style=e.style?e.style:SuperMap.Plot.PlottingUtil.copyAttributes(this.style,SuperMap.Plot.AlgoSymbolFactory.getDefaultStyle(e.libID,e.code)),this.textContent=e.textContent?e.textContent:"",this.map=e.map?e.map:null,this.scene=e.scene?e.scene:null,this.subSymbolDefaultPixelSize=e.subSymbolDefaultPixelSize?e.subSymbolDefaultPixelSize:30,this.components=[],this.symbolType=0===this.libID?this.code:2}return n(t,[{key:"addScalePoint",value:function(t,e){if(null!=t){void 0!==e&&null!==e||(e=this.scalePoints.length);var o=new SuperMap.Geometry.Point(t.x,t.y);o.isScalePoint=!0,o.tag=e,this.scalePoints.push(o)}}},{key:"setOptions",value:function(t){if(t)for(var e in this)t[e]&&(this[e]=t[e])}},{key:"getAlgorithmResult",value:function(t){t.components=this.components,t.scalePoints=this.scalePoints,t.scaleValues=this.scaleValues}}]),n(t,[{key:"destroy",value:function(){this.minEditPts=null,this.maxEditPts=null,this.controlPoints.length=0,this.controlPoints=null,this.scalePoints.length=0,this.scalePoints=null,this.scaleValues.length=0,this.scaleValues=null,this.subSymbols.length=0,this.subSymbols=null,this.subSymbolSize=0,this.components=[],this.style=null}},{key:"init",value:function(){if(this.components=[],this.scalePoints=[],this.controlPoints.length>=2&&this.controlPoints.length<this.minEditPts&&this.calAssistantLine(),this.maxEditPts<this.controlPoints.length&&this.symbolType!==SuperMap.Plot.SymbolType.ELLIPSESYMBOL){var t=this.controlPoints.shift(),e=this.controlPoints.pop();this.controlPoints=[],this.controlPoints.push(t,e)}}},{key:"finish",value:function(){}},{key:"calculateParts",value:function(){if(this.init(),this.controlPoints=SuperMap.Plot.PlottingUtil.clearSamePts(this.controlPoints),this.controlPoints=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints),this.controlPoints.length>=this.minEditPts){var t={textContent:this.textContent,type:this.symbolType,surroundLineFlag:!1,positionPoints:this.controlPoints,style:{}};if(t.type===SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL&&t.positionPoints.push(t.positionPoints[0]),this.symbolType===SuperMap.Plot.SymbolType.PARALLELLINE){if(this.controlPoints&&this.controlPoints.length>=3){var e=!1;void 0!==this.controlPoints[0].z&&(e=!0);var o=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[1]);SuperMap.Plot.PlottingUtil.isRight(this.controlPoints[0],this.controlPoints[1],this.controlPoints[2])&&(o=-o);for(var n=[],i=1;i<this.controlPoints.length;i++)n.push(this.controlPoints[i].clone());var l=SuperMap.Plot.PlottingUtil.parallel(n,o);if(this.controlPoints[0].x=l[0].x,this.controlPoints[0].y=l[0].y,e)for(var r=0;r<n.length;r++)l[r].z=n[r].z;this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,n),this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,l)}}else this.components.push(t)}}},{key:"modifyPoint",value:function(t,e){if(0===this.libID&&31===this.code){if(0===t)return this.controlPoints[0].x=(this.controlPoints[1].x+this.controlPoints[3].x)/2,void(this.controlPoints[0].y=(this.controlPoints[1].y+this.controlPoints[3].y)/2);var o=-1;0===(o=(t+2)%4)&&(o=4);var n=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[0],this.controlPoints[t]),i=SuperMap.Plot.PlottingUtil.findPointInLine(this.controlPoints[0],this.controlPoints[o],n),l=new SuperMap.Geometry.Point(2*this.controlPoints[0].x-i.x,2*this.controlPoints[0].y-i.y),r=this.getPixelFromLonLat(i.x,i.y),a=this.getPixelFromLonLat(l.x,l.y),s=!1;(SuperMap.Plot.PlottingUtil.equalFuzzy(r.x-a.x,0)||SuperMap.Plot.PlottingUtil.equalFuzzy(r.y-a.y,0))&&(s=!0),s?(this.controlPoints[o].x=l.x,this.controlPoints[o].y=l.y,this.controlPoints[t].x=i.x,this.controlPoints[t].y=i.y):(this.controlPoints[o].x=i.x,this.controlPoints[o].y=i.y,this.controlPoints[t].x=l.x,this.controlPoints[t].y=l.y)}else this.computeScaleValues(t,e),this.calculateParts()}},{key:"computeScaleValues",value:function(){}},{key:"getLonLatDistanceFromPixel",value:function(t){if(null===this.map)return 0;var e,o;if(this.map&&"undefined"!=typeof L&&void 0!==L.Map&&this.map instanceof L.Map){var n=this.map.layerPointToLatLng(L.point(0,0)),i=this.map.layerPointToLatLng(L.point(t,0));e=new SuperMap.Geometry.Point(n.lng,n.lat),o=new SuperMap.Geometry.Point(i.lng,i.lat)}else if(this.map&&"undefined"!=typeof SuperMap&&void 0!==SuperMap.Map&&this.map instanceof SuperMap.Map){n=this.map.getLonLatFromPixel(new SuperMap.Pixel(0,0)),i=this.map.getLonLatFromPixel(new SuperMap.Pixel(t,0));e=new SuperMap.Geometry.Point(n.lon,n.lat),o=new SuperMap.Geometry.Point(i.lon,i.lat)}return SuperMap.Plot.PlottingUtil.distance(e,o)}},{key:"getPixelFromLonLat",value:function(t,e){if(this.map&&"undefined"!=typeof L&&void 0!==L.Map&&this.map instanceof L.Map){var o=this.map.latLngToLayerPoint(L.latLng(e,t));return{x:o.x,y:o.y}}if(this.map&&"undefined"!=typeof SuperMap&&void 0!==SuperMap.Map&&this.map instanceof SuperMap.Map){var n=this.map.getPixelFromLonLat(new SuperMap.LonLat(t,e));return{x:n.x,y:n.y}}}},{key:"getLonLatFromPixel",value:function(t,e){if(this.map&&"undefined"!=typeof L&&void 0!==L.Map&&this.map instanceof L.Map){var o=this.map.layerPointToLatLng(L.point(t,e));return{lon:o.lng,lat:o.lat}}if(this.map&&"undefined"!=typeof SuperMap&&void 0!==SuperMap.Map&&this.map instanceof SuperMap.Map){var n=this.map.getLonLatFromPixel(new SuperMap.Pixel(t,e));return{lon:n.lon,lat:n.lat}}}},{key:"pixelBoundsToLonLat",value:function(t){var e=this.getLonLatFromPixel(t.left,t.top),o=this.getLonLatFromPixel(t.right,t.bottom);return new SuperMap.Bounds(e.lon,o.lat,o.lon,e.lat)}},{key:"annotationContent",value:function(t,e,o,n){var i=this.textContent;if(0!==i.length){var l=SuperMap.Plot.PlottingUtil.getTextWidth(this.style,i),r=this.getPixelFromLonLat(t,e),a=this.getPixelFromLonLat(o,n),s=parseFloat(Math.abs(a.x-r.x)),u=parseFloat(Math.abs(r.y-a.y));if(l>=s){var p=i.split("");i="";var c=1,y=0;this.style.weight?y=parseFloat(this.style.fontSize)+2*this.style.weight+.2*parseFloat(this.style.fontSize)+c:this.style.strokeWidth&&(y=parseFloat(this.style.fontSize)+2*this.style.strokeWidth+.2*parseFloat(this.style.fontSize)+c);for(var P="",h=0,f=p.length;h<f&&y<=u;h++){if(P+=p[h],SuperMap.Plot.PlottingUtil.getTextWidth(this.style,P)>=s){var S=p[h];if(p[h]="\n",c++,this.style.weight?y=parseFloat(this.style.fontSize)*c+c+2*this.style.weight+.2*parseFloat(this.style.fontSize):this.style.strokeWidth&&(y=parseFloat(this.style.fontSize)*c+c+2*this.style.strokeWidth+.2*parseFloat(this.style.fontSize)),!(y<u))break;p[h]+=S,P=S}i+=p[h]}}if(0!==i.length){var d=this.style.labelAlign,g=0,M=0;"l"===d[0]?g=t:"r"===d[0]?g=o:"c"===d[0]&&(g=(t+o)/2),"t"===d[1]?M=e:"b"===d[1]?M=n:"m"===d[1]&&(M=(e+n)/2);var m=new SuperMap.Geometry.Point(g,M),v={};v.positionPoints=[m],v.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,v.textContent=i,v.style={surroundLineFlag:!1,labelAlign:d},this.components.push(v)}}}},{key:"addCell",value:function(t,e,o,n){if(t&&e){var i={};i.type=t,i.textContent=n,i.positionPoints=e,i.style=null==o?{surroundLineFlag:!1}:o,this.components.push(i)}}},{key:"addText",value:function(t,e,o,n,i){if(t&&e){var l={};l.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,l.textContent=t,l.positionPoints=[e];var r=o/t.length/2;l.style={},l.style.surroundLineFlag=!1,l.style.labelRotation=-n,l.style.fontSize=r,l.style.fontColor=void 0===i?"#000000":i,l.style.fontSizeLimit=!0,l.style.sizeFixed=!1,l.style.labelAlign="cm",l.style.label=t,this.components.push(l)}}},{key:"getLinePts",value:function(t,e,o){var n=new Object;if(e>.5)return n.startIndex=0,n.startPt=t[0],n.endIndex=t.length-1,n.endPt=t[t.length-1],n;null==o&&(o=.5);var i=SuperMap.Plot.PlottingUtil.polylineDistance(t),l=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i*(o-e),t),r=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(i*(o+e),t);return n.startIndex=l.index,n.startPt=l.pts,n.endIndex=r.index,n.endPt=r.pts,n}},{key:"computeDashLine",value:function(t,e,o){var n=[],i=SuperMap.Plot.PlottingUtil.polylineDistance(o);if(i<=0)return[];for(var l,r=o[0],a=1,s=0,u=!0,p=!0;s<i;){var c,y=[];y.push(r),s+=t;var P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,o);if(c=P.index,l=P.pts,!(u=P.bfind))break;if(a<c)for(var h=a;h<c;h++)y.push(o[h]);y.push(l),n.push(y),s+=e;var f=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(s,o);if(c=f.index,r=f.pts,a=c+1,!(p=f.bfind))break}if(!u){var S=[];S.push(r);for(var d=a;d<o.length;d++)S.push(o[d]);2===S.length&&SuperMap.Plot.PlottingUtil.equalFuzzy(SuperMap.Plot.PlottingUtil.distance(S[0],S[1]),0)||n.push(S)}if(!p){var g=o[o.length-1],M=SuperMap.Plot.PlottingUtil.distance(l,g);if(M*=.01,!SuperMap.Plot.PlottingUtil.equalFuzzy(M,0)){var m=SuperMap.Plot.PlottingUtil.linePnt(g,l,M),v=[];v.push(m),v.push(g),n.push(v)}}return n}},{key:"addArrow",value:function(t,e){if(t.length<2)return t;var o,n=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);void 0===e&&(e=(this.isEdit,.5*this.getSubSymbolScaleValue())),o=n*e;var i=t[t.length-1];if(t.length>2){for(var l=-1,r=t.length-2;r>=0;r--)if(o<SuperMap.Plot.PlottingUtil.distance(i,t[r])){l=r;break}t.splice(l+1,t.length-l),t.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var a=t[t.length-2],s=t[t.length-1],u=o;if(void 0===a)return t;if(!(SuperMap.Plot.PlottingUtil.distance(a,s)<o)){var p=SuperMap.Plot.PlottingUtil.radian(a,s)*SuperMap.Plot.PlottingUtil.RTOD,c=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+157.5),y=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+202.5),P={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.NONE};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,[c,t[t.length-1],y],P)}}},{key:"addDovetailArrow",value:function(t,e){if(t.length<2)return t;var o,n=SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);void 0===e&&(e=(this.isEdit,.5*this.getSubSymbolScaleValue())),o=n*e;var i=t[t.length-1];if(t.length>2){for(var l=-1,r=t.length-2;r>=0;r--)if(o<SuperMap.Plot.PlottingUtil.distance(i,t[r])){l=r;break}t.splice(l+1,t.length-l),t.push(i)}this.addCell(SuperMap.Plot.SymbolType.POLYLINESYMBOL,t);var a=t[t.length-2],s=t[t.length-1],u=o;if(void 0===a)return t;if(!(SuperMap.Plot.PlottingUtil.distance(a,s)<o)){var p=SuperMap.Plot.PlottingUtil.radian(a,s)*SuperMap.Plot.PlottingUtil.RTOD,c=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+157.5),y=SuperMap.Plot.PlottingUtil.circlePoint(s,u,u,p+202.5),P=SuperMap.Plot.PlottingUtil.circlePoint(s,.5*u,.5*u,p+180),h=[];h.push(c),h.push(t[t.length-1]),h.push(y),h.push(P);var f={surroundLineFlag:!1,fillLimit:!0,fillColorLimit:!1,fill:!0,lineTypeLimit:!0,surroundLineLimit:!0,surroundLineType:SuperMap.Plot.AlgoSurroundLineType.NONE};this.addCell(SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,h,f)}}},{key:"getDefaultSubSymbolSize",value:function(){var t=0;if(this.map){var e=this.getLonLatFromPixel(0,0),o=this.getLonLatFromPixel(this.subSymbolDefaultPixelSize,0),n=new SuperMap.Geometry.Point(e.lon,e.lat),i=new SuperMap.Geometry.Point(o.lon,o.lat);t=SuperMap.Plot.PlottingUtil.distance(n,i)}if(0===t){if(0!==this.subSymbolSize)return this.subSymbolSize;for(var l=0,r=0;r<this.controlPoints.length-1;r++)l+=SuperMap.Plot.PlottingUtil.distance(this.controlPoints[r],this.controlPoints[r+1]);t=.3*l}return t}},{key:"getTextBounds",value:function(t,e){" "===e&&(e="_");var o=document.createElement("span");document.body.appendChild(o),o.style.width="auto",o.style.height="auto",t.fontSize&&(o.style.fontSize=new String(t.fontSize)+"px"),t.fontFamily&&(o.style.fontFamily=t.fontFamily),t.fontWeight&&(o.style.fontWeight=t.fontWeight),o.style.position="absolute",o.style.visibility="hidden",o.innerHTML=e;var n=new SuperMap.Bounds(o.clientLeft,o.clientTop+o.clientHeight-6,o.clientLeft+o.clientWidth,o.clientTop+4),i=this.pixelBoundsToLonLat(n);return document.body.removeChild(o),i}},{key:"calAssistantLine",value:function(){var t=SuperMap.Plot.PlottingUtil.clonePoints(this.controlPoints);this.symbolType===SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL&&(t.splice(1,0,new SuperMap.Geometry.Point(this.controlPoints[1].x,this.controlPoints[0].y)),t.push(new SuperMap.Geometry.Point(this.controlPoints[0].x,this.controlPoints[1].y)),t.push(new SuperMap.Geometry.Point(this.controlPoints[0].x,this.controlPoints[0].y)));var e={type:24,surroundLineFlag:!1,positionPoints:t,style:{color:"#0000ff",opacity:1,weight:1,dashArray:"5, 5",strokeColor:"#0000ff",strokeOpacity:1,strokeWidth:1,strokeDashstyle:"dash",lineColorLimit:!0,lineTypeLimit:!0,lineWidthLimit:!0,surroundLineFlag:!1}};this.components.push(e)}},{key:"getSubSymbolScaleValue",value:function(t,e){var o=0;o=t&&!SuperMap.Plot.PlottingUtil.equalFuzzy(t,0)?t:SuperMap.Plot.PlottingUtil.polylineDistance(this.controlPoints);var n=this.getDefaultSubSymbolSize()/o;return void 0===e&&(e=.3),(n>e||n<=0)&&(n=e),n}},{key:"computeSubSymbol",value:function(t,e,o,n,i,l){if(null==t.symbolData||null==t.symbolData.innerCells)return null;void 0===i&&(i=0),void 0===l&&(l=0);for(var r=SuperMap.Plot.AnalysisSymbol.analysisSymbolCells(t.symbolData,!0),a=0,s=0,u=0,p=0,c=0;c<r.length;c++)for(var y=SuperMap.Plot.Primitives.getSpatialData(r[c].type,r[c].positionPoints,r[c].textContent,0,r[c].isCalculate),P=0,h=y.length;P<h;P++)a<y[P].x&&(a=y[P].x),s<y[P].y&&(s=y[P].y),u>y[P].x&&(u=y[P].x),p>y[P].y&&(p=y[P].y);var f=new SuperMap.Geometry.Point(a,s),S=new SuperMap.Geometry.Point(u,p),d=(f.y-S.y)/o,g=(f.x-S.x)/o,M=g>d?g:d,m=new SuperMap.Geometry.Point(.5*(f.x+S.x),.5*(f.y+S.y));m.x+=i*(f.x-S.x),m.y+=l*(f.y-S.y);for(var v=0,b=r.length;v<b;v++){for(var T=0,A=r[v].positionPoints.length;T<A;T++)r[v].positionPoints[T].x-=m.x,r[v].positionPoints[T].y-=m.y,r[v].positionPoints[T].x/=M,r[v].positionPoints[T].y/=M,SuperMap.Plot.PlottingUtil.rotateAngle(new SuperMap.Geometry.Point(0,0),n*Math.PI/180,r[v].positionPoints[T]),r[v].positionPoints[T].x+=e.x,r[v].positionPoints[T].y+=e.y;r[v].type===SuperMap.Plot.SymbolType.TEXTSYMBOL&&(r[v].style.fontSize/=10*M,r[v].style.labelRotation=-n,r[v].style.sizeFixed=!1),r[v].isCalculate=!1,this.components.push(r[v])}return r}},{key:"ComputeZValue",value:function(t,e,o){var n=SuperMap.Plot.PlottingUtil.pointProjectToSegment(t,e,o),i=new SuperMap.Geometry.Point(n.projectPoint.x,n.projectPoint.y),l=SuperMap.Plot.PlottingUtil.distance(e,o),r=SuperMap.Plot.PlottingUtil.distance(e,t),a=SuperMap.Plot.PlottingUtil.distance(o,t);if(!n.isOnline){if(r>=l)return o.z;if(a>=l)return e.z}return i.x!=e.x&&e.x!=o.x?e.z+(i.x-e.x)/(e.x-o.x)*(e.z-o.z):i.y!=e.y&&e.y!=o.y?e.z+(i.y-e.y)/(e.y-o.y)*(e.z-o.z):0==(r=SuperMap.Plot.PlottingUtil.distance(e,i))?e.z:e.z-(e.z-o.z)*(r/l)}},{key:"ComputeBeizerZValueByDis",value:function(t,e,o){if(t.length<2)return!1;for(var n=[],i=0;i<t.length;i++)n.push({x:t[i].x,y:t[i].y});var l=SuperMap.Plot.PlottingUtil.polylineDistance(n);if(0==l)return!1;var r=SuperMap.Plot.PlottingUtil.polylineDistance(e),a=[];a.push(n[0]);for(var s=-1,u=0,p=e[0],c=1;c<n.length;c++){a.push(n[c]);var y=SuperMap.Plot.PlottingUtil.polylineDistance(a)/l,P=r*y,h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(P,e),f=h.index,S=h.pts;if(h.bfind){for(var d=t[c-1].z,g=t[c].z,M=r*(y-u),m=0,v=++s;v<=f;v++){var b=d+(g-d)*((m+=v==s?SuperMap.Plot.PlottingUtil.distance(p,e[v]):SuperMap.Plot.PlottingUtil.distance(e[v-1],e[v]))/M);o.push({x:e[v].x,y:e[v].y,z:b})}s=f}u=y,p=S}for(var T=s+1;T<e.length;T++)o.push({x:e[T].x,y:e[T].y,z:t[t.length-1].z});return!0}},{key:"ComputeHeight",value:function(t,e,o,n){if(o!=n){if(0!=t.length)if(1==t.length)e.push({x:t[0].x,y:t[0].y,z:o});else if(2==t.length)e.push({x:t[0].x,y:t[0].y,z:o}),e.push({x:t[1].x,y:t[1].y,z:n});else{var i=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(0!=i){var l=[];l.push(t[0]),e.push({x:t[0].x,y:t[0].y,z:o});for(var r=1;r<t.length-1;r++){l.push(t[r]);var a=o+(n-o)*SuperMap.Plot.PlottingUtil.polylineDistance(l)/i;e.push({x:t[r].x,y:t[r].y,z:a})}e.push({x:t[t.length-1].x,y:t[t.length-1].y,z:n})}else for(var s=0;s<t.length;s++)e.push({x:t[s].x,y:t[s].y,z:o})}}else for(var u=0;u<t.length;u++)e.push({x:t[u].x,y:t[u].y,z:o})}}]),t}();SuperMap.Plot.AlgoSymbol=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.ArrowToolkit=SuperMap.Plot.ArrowToolkit=SuperMap.Plot.ArrowToolkit||{};SuperMap.Plot.ArrowToolkit.ConstValue={MAX_ARRAY_SIZE:128,sv_AtScaleParameter:1.5,sv_AtLenDivAtWidth:1.35,sv_AtWidthDivAwWidth:.5,DUOJIANTOU_TAIL_RATE_1:8,DUOJIANTOU_TAIL_RATE_2:3,DUOJIANTOU_TAIL_RATE_3:.6},SuperMap.Plot.ArrowToolkit.ArrowTailType={ARROWTAIL_NONE:0,ARROWTAIL_LINE:1,ARROWTAIL_CURVE:2,ARROWTAIL_COATTAIL:3,ARROWTAIL_COATTAIL_POLYBODY:4},SuperMap.Plot.ArrowToolkit.ArrowHeadType={ARROWHEAD_POLYLINE:0,ARROWHEAD_TRIANGLE:1,ARROWHEAD_COATTAIL:2,ARROWHEAD_TRIANGLE_SOLID:3,ARROWHEAD_COATTAIL_HOLLOW:6,ARROWHEAD_WITH_EAR:4,ARROWHEAD_WITHOUT_EAR:5},SuperMap.Plot.ArrowToolkit.ArrowBodyType={ARROWBODY_POLYLINE:0,ARROWBODY_POLYBEZIER:1,ARROWBODY_COATTAIL:5,ARROWBODY_PARALLEL:2,ARROWBODY_TRAPEZOID:3,ARROWBODY_MULTIPOLYBEZIER:4},SuperMap.Plot.ArrowToolkit.parallel=function(t,e){var o={leftParallelPts:[],rightParallelPts:[]};return 1===t.length||2===t.length&&t[0].x===t[1].x&&t[0].y===t[1].y?o:(o.leftParallelPts=SuperMap.Plot.PlottingUtil.parallel(t,e),o.rightParallelPts=SuperMap.Plot.PlottingUtil.parallel(t,-e),o)},SuperMap.Plot.ArrowToolkit.trapezoid=function(t,e,o){var n={leftParallelPts:[],rightParallelPts:[]};if(1===t.length||2===t.length&&t[0].x===t[1].x&&t[0].y===t[1].y)return n;for(var i=0;i<t.length-1;i++){t[i].x===t[i+1].x&&t[i].y===t[i+1].y&&(n.leftParallelPts.push(n.leftParallelPts[n.leftParallelPts.length-1]),n.rightParallelPts.push(n.rightParallelPts[n.rightParallelPts.length-1]));var l=t[i+1];l=SuperMap.Plot.PlottingUtil.rotate(t[i],0,1,l),n.leftParallelPts.push(SuperMap.Plot.PlottingUtil.findPointInLine(t[i],l,e)),l=t[i],l=SuperMap.Plot.PlottingUtil.rotate(t[i+1],0,-1,l),n.leftParallelPts.push(SuperMap.Plot.PlottingUtil.findPointInLine(t[i+1],l,o)),l=t[i+1],l=SuperMap.Plot.PlottingUtil.rotate(t[i],0,-1,l),n.rightParallelPts.push(SuperMap.Plot.PlottingUtil.findPointInLine(t[i],l,e)),l=t[i],l=SuperMap.Plot.PlottingUtil.rotate(t[i+1],0,1,l),n.rightParallelPts.push(SuperMap.Plot.PlottingUtil.findPointInLine(t[i+1],l,o))}return n},SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePts=function(t,e,o){var n={};switch(o){case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_PARALLEL:case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_TRAPEZOID:var i=e[0],l=e[1],r=e[2],a=SuperMap.Plot.PlottingUtil.equalFuzzy(r,0);if(!a&&t.length>2){var s=t.length;t.splice(2,s-2)}var u=SuperMap.Plot.PlottingUtil.polylineDistance(t);n.arrowTouLen=u*i;for(var p=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,u-n.arrowTouLen).pt,c=[],y=n.arrowTouLen*r,P=n.arrowTouLen*l,h=t.length-1,f=0;f<h;f++)c.push(t[f]);c.push(p);var S={leftParallelPts:[],rightParallelPts:[]};S=!0===a?SuperMap.Plot.ArrowToolkit.parallel(c,P):SuperMap.Plot.ArrowToolkit.trapezoid(c,y,P);var d=t[t.length-1];t[t.length-1]=p,t.push(d);n.leftBodyPts=S.leftParallelPts,n.rightBodyPts=S.rightParallelPts,n.OpectrlPoints=null;break;case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_MULTIPOLYBEZIER:var g=SuperMap.Plot.PlottingUtil.polylineDistance(t);if(0==g)return;var M=SuperMap.Plot.ArrowToolkit.OperateCtrlPts(t),m=M.length;m--;var v=SuperMap.Plot.ArrowToolkit.generateMultiBezier(M,m,e,g);t=[];for(var b=0;b<M.length;b++)t.push(M[b]);n.arrowTouLen=v.arrowTouLen,n.leftBodyPts=v.leftBodyPts,n.rightBodyPts=v.rightBodyPts,n.OpectrlPoints=M}return n},SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePts=function(t,e,o,n,i){var l=[];switch(i){case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITH_EAR:case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_WITHOUT_EAR:var r=o[0],a=o[1],s=0,u=0;3==o.length&&(s=o[2]),4==o.length&&(s=o[2],u=o[3]);var p=0;if(!SuperMap.Plot.PlottingUtil.equalFuzzy(s,0)&&!SuperMap.Plot.PlottingUtil.equalFuzzy(u,0)){var c=SuperMap.Plot.PlottingUtil.clonePoints(t);c.splice(c.length-1,1),p=SuperMap.Plot.PlottingUtil.polylineDistance(c)*s*u}var y=new SuperMap.Geometry.Point((e[0].x+e[1].x)/2,(e[0].y+e[1].y)/2);if(SuperMap.Plot.PlottingUtil.equalFuzzy(a,0)){var P=n*r,h=t[t.length-1];return h=SuperMap.Plot.PlottingUtil.rotate(y,0,1,h),l.push(SuperMap.Plot.PlottingUtil.findPointInLine(y,h,P)),l.push(t[t.length-1]),h=t[t.length-1],h=SuperMap.Plot.PlottingUtil.rotate(y,0,-1,h),l.push(SuperMap.Plot.PlottingUtil.findPointInLine(y,h,P)),l}var f=n*a,S=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(f,y,t[t.length-1]);f=n*r,f+=p;var d=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(f,t[t.length-1],S),g=d.pntLeft,M=d.pntRight,m=t[t.length-1];return l.push(M),l.push(m),l.push(g),l}},SuperMap.Plot.ArrowToolkit.generateArrowBodyShapePtsBySingleLine=function(t,e,o,n){var i=[];if(2>t.length)return i;var l,r=SuperMap.Plot.PlottingUtil.polylineDistance(t),a=SuperMap.Plot.PlottingUtil.equalFuzzy(e,0);switch(o){case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYLINE:i=i.concat(t),n&&!a&&SuperMap.Plot.PlottingUtil.distance(t[t.length-1],t[t.length-2])>e&&(l=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,r-e),i.splice(i.length-1,1),i.push(l.pt));break;case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_POLYBEZIER:if(2==t.length)i=i.concat(t),n&&!a&&SuperMap.Plot.PlottingUtil.distance(t[t.length-1],t[t.length-2])>e&&(l=SuperMap.Plot.PlottingUtil.findPointInPolyLine(t,r-e),i.splice(i.length-1,1),i.push(l.pt));else{var s=SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t);if(a)i=i.concat(s);else{var u=s[s.length-1];if(!a&&(e<SuperMap.Plot.PlottingUtil.distance(t[t.length-1],t[t.length-2])||SuperMap.Plot.PlottingUtil.equalFuzzy(SuperMap.Plot.PlottingUtil.distance(t[t.length-1],t[t.length-2]),e,1e-7))){for(var p=s.length-1;p>1;p--){if(!(e>SuperMap.Plot.PlottingUtil.distance(u,s[p]))){var c=SuperMap.Plot.PlottingUtil.findPoint(u,s[p],e,0);s.push(c),i=s;break}s.splice(p,1)}n||i.push(u)}else i=i.concat(s)}}break;case SuperMap.Plot.ArrowToolkit.ArrowBodyType.ARROWBODY_COATTAIL:var y=e;if(y>r)return i;for(var P,h,f=Math.ceil(r/(1.4*y)),S=0,d=[],g=0;g<f;g++)P=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(y*S,t),h=SuperMap.Plot.PlottingUtil.getPtsIndexByDistance(y*(S+1),t),P.bfind&&h.bfind&&(d.push(P.pts),d.push(h.pts)),S=1.4*(g+1);i=d}return i},SuperMap.Plot.ArrowToolkit.generateArrowHeadShapePtsBySingleLine=function(t,e,o){var n=[];if(2>t.length)return n;switch(o){case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_POLYLINE:var i=t[0],l=t[1],r=SuperMap.Plot.PlottingUtil.distance(i,l);if(SuperMap.Plot.PlottingUtil.equalFuzzy(r,e,1e-7)||r>e){var a=SuperMap.Plot.PlottingUtil.findPoint(i,l,e,0),s=e*Math.tan(.125*Math.PI),u=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(s,t[0],a);n.push(u.pntLeft),n.push(t[0]),n.push(u.pntRight)}break;case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE:break;case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_TRIANGLE_SOLID:var p=t[0],c=t[1],y=SuperMap.Plot.PlottingUtil.distance(p,c);if(SuperMap.Plot.PlottingUtil.equalFuzzy(y,e,1e-7)||y>e){var P=e*Math.tan(.125*Math.PI),h=SuperMap.Plot.PlottingUtil.findPoint(p,c,e,0),f=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(P,t[0],h);n.push(f.pntLeft),n.push(p),n.push(f.pntRight),n.push(f.pntLeft)}break;case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL:var S=t[0],d=2*Math.sqrt(e*e/3),g=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(SuperMap.Plot.PlottingUtil.equalFuzzy(d/2,g,1e-7)||g>d/2){var M=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],d,20),m=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],d,-20),v=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],d/2,0);n.push(S),n.push(M),n.push(v),n.push(m),n.push(S)}break;case SuperMap.Plot.ArrowToolkit.ArrowHeadType.ARROWHEAD_COATTAIL_HOLLOW:var b=[],T=t[0],A=2*Math.sqrt(e*e/3),L=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(SuperMap.Plot.PlottingUtil.equalFuzzy(A/1.4,L,1e-7)||L>A/1.4){var O=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],A,20),E=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],A,-20),x=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],A/1.4,0);b.push(T),b.push(O),b.push(x),b.push(E),b.push(T);var w=new SuperMap.Geometry.Point((b[0].x+b[1].x)/2,(b[0].y+b[1].y)/2),I=new SuperMap.Geometry.Point((b[3].x+b[4].x)/2,(b[3].y+b[4].y)/2),R=new SuperMap.Geometry.Point((w.x+I.x)/2,(w.y+I.y)/2),C=.75*SuperMap.Plot.PlottingUtil.distance(w,I)/2,_=SuperMap.Plot.PlottingUtil.findPointInLine(R,w,C),U=SuperMap.Plot.PlottingUtil.findPointInLine(R,I,C);n.push(b[0]),n.push(_),n.push(b[1]),n.push(b[2]),n.push(b[3]),n.push(U),n.push(b[4])}}return n},SuperMap.Plot.ArrowToolkit.generateArrowTailShapePts=function(t,e,o,n){for(var i=e.length,l=[],r=0,a=0;a<t.length-1;a++)r+=SuperMap.Plot.PlottingUtil.distance(t[a],t[a+1]);var s=r*o;switch(n){case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_NONE:break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_LINE:var u=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],s,90),p=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],s,-90);l.push(u),l.push(p);break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_CURVE:var c=new SuperMap.Geometry.Point(.5*(e[0].x+e[i-1].x),.5*(e[0].y+e[i-1].y)),y=SuperMap.Plot.PlottingUtil.distance(e[0],e[i-1]),P=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(y*o,c,t[t.length-1]),h=new SuperMap.Geometry.Point(0,0),f=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrianglePoints(SuperMap.Plot.ArrowToolkit.ConstValue.DUOJIANTOU_TAIL_RATE_1,SuperMap.Plot.ArrowToolkit.ConstValue.DUOJIANTOU_TAIL_RATE_2,e[0],P,e[i-1],h,f);var S=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrapezoidPoints(SuperMap.Plot.ArrowToolkit.ConstValue.DUOJIANTOU_TAIL_RATE_3,e[0],P,h,S);var d=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrapezoidPoints(SuperMap.Plot.ArrowToolkit.ConstValue.DUOJIANTOU_TAIL_RATE_3,e[i-1],P,f,d);break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_COATTAIL:var g=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],s,157.5),M=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],s,-157.5);l.push(g),l.push(t[0]),l.push(M);break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_COATTAIL_POLYBODY:var m=new SuperMap.Geometry.Point(.5*(e[0].x+e[i-1].x),.5*(e[0].y+e[i-1].y)),v=SuperMap.Plot.PlottingUtil.distance(e[0],e[i-1]),b=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(v*o,e[0],m);l.push(e[i-1]),l.push(b.pntLeft),l.push(e[0])}return l},SuperMap.Plot.ArrowToolkit.generateArrowTailShapePtsBySingleLine=function(t,e,o){var n=[];switch(o){case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_NONE:break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_LINE:var i=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],e,90),l=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],e,-90);n.push(i),n.push(l);break;case SuperMap.Plot.ArrowToolkit.ArrowTailType.ARROWTAIL_COATTAIL:var r=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],e,157.5),a=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],e,-157.5);n.push(r),n.push(t[0]),n.push(a)}return n},SuperMap.Plot.ArrowToolkit.OperateCtrlPts=function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t);if(3==e.length){var o=((e[0].x+e[1].x)/2+e[2].x)/2,n=((e[0].y+e[1].y)/2+e[2].y)/2,i=new SuperMap.Geometry.Point(o,n),l=e[2].clone();e[2]=i,e.push(l)}return e},SuperMap.Plot.ArrowToolkit.generateMultiBezier=function(t,e,o,n){var i=0,l=[],r=[],a=[],s=[],u=[],p=[],c=o[0],y=o[1],P=(t[0].x+t[1].x)/2,h=(t[0].y+t[1].y)/2,f=Math.abs(P-t[2].x),S=Math.abs(h-t[2].y),d=0;if(f>0&&S>0){var g=1/(P-t[2].x),M=-1/(h-t[2].y),m=1*t[2].y/(h-t[2].y)-1*t[2].x/(P-t[2].x);d=Math.abs(g*t[0].x+M*t[0].y+m)/Math.sqrt(g*g+M*M)}else S<=1e-4?d=Math.abs(h-t[1].y):f<=1e-4&&(d=Math.abs(P-t[1].x));var v=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(d,t[2],new SuperMap.Geometry.Point(P,h)),b=SuperMap.Plot.PlottingUtil.pointIsRightToLine(t[1],t[2],t[0]);b?(l[1]=t[1],r[1]=t[0]):(l[1]=t[0],r[1]=t[1]),t[1]=new SuperMap.Geometry.Point((t[0].x+t[1].x)/2,(t[0].y+t[1].y)/2);var T=Math.sqrt((v.pntLeft.x-v.pntRight.x)*(v.pntLeft.x-v.pntRight.x)+(v.pntLeft.y-v.pntRight.y)*(v.pntLeft.y-v.pntRight.y))*SuperMap.Plot.ArrowToolkit.ConstValue.sv_AtWidthDivAwWidth,A=(i=T*SuperMap.Plot.ArrowToolkit.ConstValue.sv_AtLenDivAtWidth)*y;SuperMap.Plot.PlottingUtil.equalFuzzy(c,0)||(A=(i=n*c)*y);var L,O,E=SuperMap.Plot.PlottingUtil.distance(t[e],t[e-1]),x=2*i;E<x&&(A=(i=E/2)*y),t.push(t[e]),L=0,O=0;var w=0,I=[];for(w=2;w<=e;w++)L+=SuperMap.Plot.PlottingUtil.distance(t[w],t[w-1]);for(L-=i,w=2;w<=e-1;w++)O+=SuperMap.Plot.PlottingUtil.distance(t[w],t[w-1]),I[w]=A+(T-A)*Math.pow((L-O)/L,SuperMap.Plot.ArrowToolkit.ConstValue.sv_AtScaleParameter);I[e]=A;var R,C,_=new SuperMap.Geometry.Point(0,0),U=new SuperMap.Geometry.Point(0,0),N=new SuperMap.Geometry.Point(0,0);for(w=2;w<=e-1;w++)SuperMap.Plot.PlottingUtil.getTrianglePoints(0,3,t[w-1],t[w],t[w+1],U,N),w==e-1&&SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,t[e],t[e-1],N,_),R=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(I[w],U,t[w]),(b=SuperMap.Plot.PlottingUtil.pointIsRightToLine(N,U,R.pntRight))?(l[w]=new SuperMap.Geometry.Point(R.pntRight.x,R.pntRight.y),r[w]=new SuperMap.Geometry.Point(R.pntLeft.x,R.pntLeft.y)):(l[w]=new SuperMap.Geometry.Point(R.pntLeft.x,R.pntLeft.y),r[w]=new SuperMap.Geometry.Point(R.pntRight.x,R.pntRight.y));for(Math.sqrt(1*(t[e].x-_.x)*(t[e].x-_.x)+1*(t[e].y-_.y)*(t[e].y-_.y))>0&&(t[e]=SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale(i,t[e],_)),R=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(A,t[e+1],t[e]),(b=SuperMap.Plot.PlottingUtil.pointIsRightToLine(t[e],t[e+1],R.pntLeft))?(r[e]=new SuperMap.Geometry.Point(R.pntLeft.x,R.pntLeft.y),l[e]=new SuperMap.Geometry.Point(R.pntRight.x,R.pntRight.y)):(r[e]=new SuperMap.Geometry.Point(R.pntRight.x,R.pntRight.y),l[e]=new SuperMap.Geometry.Point(R.pntLeft.x,R.pntLeft.y)),w=2;w<e;w++)SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,l[w-1],l[w],l[w+1],U,N),a[w]=new SuperMap.Geometry.Point(U.x,U.y),s[w]=new SuperMap.Geometry.Point(N.x,N.y),SuperMap.Plot.PlottingUtil.getTrianglePoints(3,3,r[w-1],r[w],r[w+1],U,N),u[w]=new SuperMap.Geometry.Point(U.x,U.y),p[w]=new SuperMap.Geometry.Point(N.x,N.y),2==w&&(SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,l[1],l[2],a[2],_),s[1]=new SuperMap.Geometry.Point(_.x,_.y),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.5,r[1],r[2],u[2],_),p[1]=new SuperMap.Geometry.Point(_.x,_.y)),w==e-1&&(x=(E=SuperMap.Plot.PlottingUtil.distance(l[e],l[e-1]))/3,(C=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(x,t[e],t[e+1])).x+=l[e].x-t[e].x,C.y+=l[e].y-t[e].y,x=(E=T-A)*Math.pow(x/L,SuperMap.Plot.ArrowToolkit.ConstValue.sv_AtScaleParameter),R=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(x,l[e],C),a[e]=new SuperMap.Geometry.Point(R.pntLeft.x,R.pntLeft.y),x=(E=SuperMap.Plot.PlottingUtil.distance(r[e],r[e-1]))/3,(C=SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale(x,t[e],t[e+1])).x+=r[e].x-t[e].x,C.y+=r[e].y-t[e].y,x=(E=T-A)*Math.pow(x/L,SuperMap.Plot.ArrowToolkit.ConstValue.sv_AtScaleParameter),R=SuperMap.Plot.PlottingUtil.getSidePointsOfLine(x,r[e],C),u[e]=new SuperMap.Geometry.Point(R.pntRight.x,R.pntRight.y));return{arrowTouLen:i,leftBodyPts:SuperMap.Plot.ArrowToolkit.genArrowBody(e,l,a,s),rightBodyPts:SuperMap.Plot.ArrowToolkit.genArrowBody(e,r,u,p)}},SuperMap.Plot.ArrowToolkit.genArrowBody=function(t,e,o,n){var i=new SuperMap.Plot.Path2D;if(!(t<2)){i.MoveTo(e[1]);for(var l=1;l<=t-1;l++)i.CubicTo(n[l],o[l+1],e[l+1]);var r=[];return i.ToSubPathPolygons(r),r[0]}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Path2DData=function(){function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e){this.cStart=e.cStart,this.fillRule=e.fillRule,this.require_StartNewFigure=e.require_StartNewFigure,this.isBoundsDirty=e.isBoundsDirty,this.bounds=new SuperMap.Bounds(e.bounds.left,e.bounds.bottom,e.bounds.right,e.bounds.top),this.ref=1,this.elements=[];for(var o=0;o<e.elements.length;o++)this.elements.push(e.elements[o].clone())}else this.ref=1,this.bounds=new SuperMap.Bounds(0,0,0,0),this.elements=[];this.CLASS_NAME="SuperMap.Plot.Path2DData"}return n(t,[{key:"IsClosed",value:function(){var t=this.elements[this.cStart],e=this.elements[this.elements.length-1];return t.GetX()==e.GetX()&&t.GetY()==e.GetY()}},{key:"Close",value:function(){this.require_StartNewFigure=!0;var t=this.elements[this.cStart],e=this.elements[this.elements.length-1];t!=e&&(t.Equal(e)?e.SetPosition(t.GetX(),t.GetY()):this.elements.push(new SuperMap.Plot.Element(t.GetX(),t.GetY(),SuperMap.Plot.ElementType.LineToElement)))}},{key:"MaybeStartNewFigure",value:function(){if(this.require_StartNewFigure){var t=this.elements[this.elements.length-1].clone();t.SetType(0),this.elements.push(t),this.require_StartNewFigure=!1}}}]),t}();SuperMap.Plot.Path2DData=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Element=function(){function t(e,o,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.m_x=e,this.m_y=o,this.m_type=n,this.CLASS_NAME="SuperMap.Plot.Element"}return n(t,[{key:"GetX",value:function(){return this.m_x}},{key:"GetY",value:function(){return this.m_y}},{key:"GetType",value:function(){return this.m_type}},{key:"GetPosition",value:function(){return SuperMap.Geometry.Point(this.m_x,this.m_y)}},{key:"SetPosition",value:function(t,e){this.m_x=t,this.m_y=e}},{key:"SetType",value:function(t){this.m_type=t}},{key:"IsCurveTo",value:function(){return 2==this.m_type}},{key:"IsLineTo",value:function(){return 1==this.m_type}},{key:"IsMoveTo",value:function(){return 0==this.m_type}},{key:"Equal",value:function(t){return SuperMap.Plot.PlottingUtil.equalFuzzy(this.m_x,t.m_x,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(this.m_y,t.m_y,1e-10)&&this.m_type==t.m_type}},{key:"clone",value:function(){return new SuperMap.Plot.Path2D.Element(this.m_x,this.m_y,this.m_type)}}]),t}();SuperMap.Plot.Element=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Path2D=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.m_pData=null,this.CLASS_NAME="SuperMap.Plot.Path2D"}return n(t,[{key:"MoveTo",value:function(t){this.ensureData(),this.detach();var e=this.getDataPtr();if(e.require_StartNewFigure=!1,0==e.elements[e.elements.length-1].GetType())e.elements[e.elements.length-1].SetPosition(t.x,t.y);else{var o=new SuperMap.Plot.Element(t.x,t.y,0);e.elements.push(o)}e.cStart=e.elements.length-1}},{key:"LineTo",value:function(t){this.ensureData(),this.detach();var e=this.getDataPtr();if(e.MaybeStartNewFigure(),e.elements[e.elements.length-1].GetX()!=t.x||e.elements[e.elements.length-1].GetY()!=t.y){var o=new SuperMap.Plot.Element(t.x,t.y,1);e.elements.push(o)}}},{key:"CurveTo",value:function(t,e,o){this.ensureData(),this.detach();var n=this.getDataPtr();if(n.elements[n.elements.length-1].GetX()!=t.x||n.elements[n.elements.length-1].GetY()!=t.y||t.x!=e.x||t.y!=e.y||e.x!=o.x||e.y!=o.y){n.MaybeStartNewFigure();var i=new SuperMap.Plot.Element(t.x,t.y,2),l=new SuperMap.Plot.Element(e.x,e.y,3),r=new SuperMap.Plot.Element(o.x,o.y,3);n.elements.push(i),n.elements.push(l),n.elements.push(r)}}},{key:"CubicTo",value:function(t,e,o){this.ensureData(),this.detach();var n=this.getDataPtr();if(n.elements[n.elements.length-1].GetX()!=t.x||n.elements[n.elements.length-1].GetY()!=t.y||t.x!=e.x||t.y!=e.y||e.x!=o.x||e.y!=o.y){n.MaybeStartNewFigure();var i=new SuperMap.Plot.Element(t.x,t.y,2),l=new SuperMap.Plot.Element(e.x,e.y,3),r=new SuperMap.Plot.Element(o.x,o.y,3);n.elements.push(i),n.elements.push(l),n.elements.push(r)}}},{key:"ToSubPathPolygons",value:function(t){var e,o,n=this.getDataPtr();if(this.IsEmpty())return!1;for(var i=[],l=this.GetElementCount(),r=0;r<l;r++){var a=n.elements[r];switch(a.GetType()){case 0:i.length>1&&t.push(i),i=[],e=a.GetX(),o=a.GetY(),i.push(new SuperMap.Geometry.Point(e,o));break;case 1:e=a.GetX(),o=a.GetY(),i.push(new SuperMap.Geometry.Point(e,o));break;case 2:if(3!=n.elements[r+1].GetType()||3!=n.elements[r+1].GetType())break;for(var s=n.elements[r-1].GetX(),u=n.elements[r-1].GetY(),p=a.GetX(),c=a.GetY(),y=n.elements[r+1].GetX(),P=n.elements[r+1].GetY(),h=n.elements[r+2].GetX(),f=n.elements[r+2].GetY(),S=0;S<=1;S+=.03125){var d=S*S,g=d*S,M=1-3*S+3*d-g,m=3*(S-2*d+g),v=3*(d-g),b=g;i.push(new SuperMap.Geometry.Point(M*s+m*p+v*y+b*h,M*u+m*c+v*P+b*f))}r+=2}}return i.length>1&&t.push(i),!0}},{key:"ensureData",value:function(){null==this.m_pData&&this.ensureData_helper()}},{key:"ensureData_helper",value:function(){var t=new SuperMap.Plot.Path2DData,e=new SuperMap.Plot.Element(0,0,0);t.elements.push(e),null==this.m_pData||this.mtDeRef(this.m_pData.ref)||(this.m_pData=null),this.m_pData=t}},{key:"detach",value:function(){1!=this.m_pData.ref&&this.detach_helper(),this.setBoundsDirty(!0)}},{key:"detach_helper",value:function(){var t=new SuperMap.Plot.Path2DData;null==this.m_pData||this.mtDeRef(this.m_pData.ref)||(this.m_pData=null),this.m_pData=t}},{key:"setBoundsDirty",value:function(t){this.getDataPtr().isBoundsDirty=t}},{key:"getDataPtr",value:function(){return this.m_pData}},{key:"IsEmpty",value:function(){if(null==this.m_pData)return!0;var t=this.m_pData.elements.length;return 0==t||1==t&&0==this.m_pData.elements[0].GetType()}},{key:"GetElementCount",value:function(){return null!=this.m_pData?this.m_pData.elements.length:0}}],[{key:"mtRef",value:function(t){return 0!=++t}},{key:"mtDeRef",value:function(t){return 0!=--t}}]),t}();SuperMap.Plot.Path2D=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbol15200=e.AlgoSymbol315=e.AlgoSymbol1022=e.AlgoSymbol1021=e.AlgoSymbol1020=e.AlgoSymbol1019=e.AlgoSymbol1018=e.AlgoSymbol1017=e.AlgoSymbol1016=e.AlgoSymbol1015=e.AlgoSymbol1014=e.AlgoSymbol1013=e.AlgoSymbol1012=e.AlgoSymbol1011=e.AlgoSymbol1010=e.AlgoSymbol1009=e.AlgoSymbol1008=e.AlgoSymbol1007=e.AlgoSymbol1006=e.AlgoSymbol1005=e.AlgoSymbol1004=e.AlgoSymbol1003=e.AlgoSymbol1002=e.AlgoSymbol1001=e.Wire=e.PolygonRegion=e.LineRelation=e.LineMarking=e.PathText=e.CurveEight=e.Runway=e.NodeChain=e.FreeCurve=e.CombinationalCircle=e.ConcentricCircle=e.SymbolTextBox=e.GeoTooltipBoxM=e.GeoTooltipBox=e.Trapezoid=e.Brace=e.RegularPolygon=e.ArrowLine=e.AlgoSymbol=e.ArrowToolkit=e.Path2DData=e.Element=e.Path2D=void 0;var n=o(53),i=o(52),l=o(51),r=o(50),a=o(49),s=o(48),u=o(47),p=o(46),c=o(45),y=o(44),P=o(43),h=o(42),f=o(41),S=o(40),d=o(39),g=o(38),M=o(37),m=o(36),v=o(35),b=o(34),T=o(33),A=o(32),L=o(31),O=o(30),E=o(29),x=o(28),w=o(27),I=o(26),R=o(25),C=o(24),_=o(23),U=o(22),N=o(21),D=o(20),B=o(19),G=o(18),k=o(17),V=o(16),Y=o(15),F=o(14),j=o(13),z=o(12),W=o(11),H=o(10),q=o(9),J=o(8),X=o(7);e.Path2D=n.Path2D,e.Element=i.Element,e.Path2DData=l.Path2DData,e.ArrowToolkit=r.ArrowToolkit,e.AlgoSymbol=a.AlgoSymbol,e.ArrowLine=s.ArrowLine,e.RegularPolygon=u.RegularPolygon,e.Brace=p.Brace,e.Trapezoid=c.Trapezoid,e.GeoTooltipBox=y.GeoTooltipBox,e.GeoTooltipBoxM=P.GeoTooltipBoxM,e.SymbolTextBox=h.SymbolTextBox,e.ConcentricCircle=f.ConcentricCircle,e.CombinationalCircle=S.CombinationalCircle,e.FreeCurve=d.FreeCurve,e.NodeChain=g.NodeChain,e.Runway=M.Runway,e.CurveEight=m.CurveEight,e.PathText=v.PathText,e.LineMarking=b.LineMarking,e.LineRelation=T.LineRelation,e.PolygonRegion=A.PolygonRegion,e.Wire=L.Wire,e.AlgoSymbol1001=O.AlgoSymbol1001,e.AlgoSymbol1002=E.AlgoSymbol1002,e.AlgoSymbol1003=x.AlgoSymbol1003,e.AlgoSymbol1004=w.AlgoSymbol1004,e.AlgoSymbol1005=I.AlgoSymbol1005,e.AlgoSymbol1006=R.AlgoSymbol1006,e.AlgoSymbol1007=C.AlgoSymbol1007,e.AlgoSymbol1008=_.AlgoSymbol1008,e.AlgoSymbol1009=U.AlgoSymbol1009,e.AlgoSymbol1010=N.AlgoSymbol1010,e.AlgoSymbol1011=D.AlgoSymbol1011,e.AlgoSymbol1012=B.AlgoSymbol1012,e.AlgoSymbol1013=G.AlgoSymbol1013,e.AlgoSymbol1014=k.AlgoSymbol1014,e.AlgoSymbol1015=V.AlgoSymbol1015,e.AlgoSymbol1016=Y.AlgoSymbol1016,e.AlgoSymbol1017=F.AlgoSymbol1017,e.AlgoSymbol1018=j.AlgoSymbol1018,e.AlgoSymbol1019=z.AlgoSymbol1019,e.AlgoSymbol1020=W.AlgoSymbol1020,e.AlgoSymbol1021=H.AlgoSymbol1021,e.AlgoSymbol1022=q.AlgoSymbol1022,e.AlgoSymbol315=J.AlgoSymbol315,e.AlgoSymbol15200=X.AlgoSymbol15200},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbolFactory=e.BasicAlgoSymbolFactory=void 0;var n=o(3),i=o(6);e.BasicAlgoSymbolFactory=n.BasicAlgoSymbolFactory,e.AlgoSymbolFactory=i.AlgoSymbolFactory},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.AddPoint_WayType=SuperMap.Plot.AddPoint_WayType={UNKNOWN:0,POLYLINE:1,CURVE:2}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.RouteNodePrimitives=SuperMap.Plot.RouteNodePrimitives=SuperMap.Plot.RouteNodePrimitives||{};SuperMap.Plot.RouteNodePrimitives={initialize:function(){},rendezvousPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(0,0)),o.textContent="会",o.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},o.style.labelAlign="cm",t.push(o),t.push(e),t},expandingPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(0,0)),o.textContent="展",o.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},o.style.labelAlign="cm",t.push(o),t.push(e),t},volleyPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(0,0)),o.textContent="齐",o.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},o.style.labelAlign="cm",t.push(o),t.push(e),t},standbyPoint_Outer:function(t,e){var o=[],n=new SuperMap.Geometry.Point(0,0),i=new SuperMap.Geometry.Point(0,30);t||(t=90);var l=new Object;l.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,l.positionPoints=[];for(var r=t+10;r<170+t;r+=10){var a=SuperMap.Plot.PlottingUtil.findPoint(n,i,30,r);l.positionPoints.push(a)}l.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},o.push(l);var s=l.positionPoints[l.positionPoints.length-1],u=l.positionPoints[l.positionPoints.length-2],p=SuperMap.Plot.PlottingUtil.findPoint(s,u,9,22.5),c=SuperMap.Plot.PlottingUtil.findPoint(s,u,9,-22.5),y=new Object;y.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,y.positionPoints=[],y.positionPoints.push(p),y.positionPoints.push(s.clone()),y.positionPoints.push(c),y.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},o.push(y);var P=new Object;P.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,P.positionPoints=[];for(var h=190+t;h<350+t;h+=10){var f=SuperMap.Plot.PlottingUtil.findPoint(n,i,30,h);P.positionPoints.push(f)}P.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},o.push(P);var S=P.positionPoints[P.positionPoints.length-1],d=P.positionPoints[P.positionPoints.length-2],g=SuperMap.Plot.PlottingUtil.findPoint(S,d,9,22.5),M=SuperMap.Plot.PlottingUtil.findPoint(S,d,9,-22.5),m=new Object;m.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,m.positionPoints=[],m.positionPoints.push(g),m.positionPoints.push(S.clone()),m.positionPoints.push(M),m.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},o.push(m);for(var v=0;v<o.length;v++)for(var b=0;b<o[v].positionPoints.length;b++){var T=e*(Math.PI/180);SuperMap.Plot.PlottingUtil.rotateAngle(n,T,o[v].positionPoints[b])}return o},standbyPoint_Inner:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(-20,0)),e.positionPoints.push(new SuperMap.Geometry.Point(20,10)),e.positionPoints.push(new SuperMap.Geometry.Point(20,-10)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e);var o=new Object;o.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(-5,0)),o.positionPoints.push(new SuperMap.Geometry.Point(17,0)),o.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(o);var n=new Object;return n.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,n.positionPoints=[],n.positionPoints.push(new SuperMap.Geometry.Point(-2,1.5)),n.positionPoints.push(new SuperMap.Geometry.Point(-5,0)),n.positionPoints.push(new SuperMap.Geometry.Point(-2,-1.5)),n.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(n),t},supplyPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.TEXTSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(0,0)),o.textContent="补",o.style={surroundLineFlag:!1,fontSize:14,fontSizeLimit:!0},o.style.labelAlign="cm",t.push(o),t.push(e),t},takeoffPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(-15,25)),e.positionPoints.push(new SuperMap.Geometry.Point(15,25)),e.positionPoints.push(new SuperMap.Geometry.Point(15,-25)),e.positionPoints.push(new SuperMap.Geometry.Point(0,-35)),e.positionPoints.push(new SuperMap.Geometry.Point(-15,-25)),e.positionPoints.push(new SuperMap.Geometry.Point(-15,25)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},initialPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(-30,30)),e.positionPoints.push(new SuperMap.Geometry.Point(30,30)),e.positionPoints.push(new SuperMap.Geometry.Point(30,-30)),e.positionPoints.push(new SuperMap.Geometry.Point(-30,-30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},visualInitalPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.positionPoints.push(new SuperMap.Geometry.Point(30,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,-30)),e.positionPoints.push(new SuperMap.Geometry.Point(-30,0)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},lanchPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.positionPoints.push(new SuperMap.Geometry.Point(20,-30)),e.positionPoints.push(new SuperMap.Geometry.Point(-20,-30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},turningPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},aimingPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,-30)),e.positionPoints.push(new SuperMap.Geometry.Point(20,30)),e.positionPoints.push(new SuperMap.Geometry.Point(-20,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},targetPoint:function(){var t=[],e=new Object;return e.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.positionPoints.push(new SuperMap.Geometry.Point(30,-30)),e.positionPoints.push(new SuperMap.Geometry.Point(-30,-30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t},eightSpiralPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(30,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(-30,0)),o.positionPoints.push(new SuperMap.Geometry.Point(0,0)),o.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t.push(o),t},happyValleyPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(-30,20)),e.positionPoints.push(new SuperMap.Geometry.Point(30,20)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;o.type=SuperMap.Plot.SymbolType.POLYLINESYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(30,-20)),o.positionPoints.push(new SuperMap.Geometry.Point(-30,-20)),o.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var n=new Object;n.type=SuperMap.Plot.SymbolType.ARCSYMBOL,n.positionPoints=[],n.positionPoints.push(new SuperMap.Geometry.Point(-30,20)),n.positionPoints.push(new SuperMap.Geometry.Point(-50,0)),n.positionPoints.push(new SuperMap.Geometry.Point(-30,-20)),n.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var i=new Object;return i.type=SuperMap.Plot.SymbolType.ARCSYMBOL,i.positionPoints=[],i.positionPoints.push(new SuperMap.Geometry.Point(30,20)),i.positionPoints.push(new SuperMap.Geometry.Point(50,0)),i.positionPoints.push(new SuperMap.Geometry.Point(30,-20)),i.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(e),t.push(o),t.push(n),t.push(i),t},attackPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fillLimit:!0,fill:!1};var o=new Object;return o.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(0,20)),o.positionPoints.push(new SuperMap.Geometry.Point(20,-20)),o.positionPoints.push(new SuperMap.Geometry.Point(-20,-20)),o.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(o),t.push(e),t},suppressPoint:function(){var t=[],e=new Object;e.type=SuperMap.Plot.SymbolType.CIRCLESYMBOL,e.positionPoints=[],e.positionPoints.push(new SuperMap.Geometry.Point(0,0)),e.positionPoints.push(new SuperMap.Geometry.Point(0,30)),e.style={surroundLineFlag:!1,fontSize:14};var o=new Object;return o.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL,o.positionPoints=[],o.positionPoints.push(new SuperMap.Geometry.Point(-15,15)),o.positionPoints.push(new SuperMap.Geometry.Point(15,15)),o.positionPoints.push(new SuperMap.Geometry.Point(15,-15)),o.positionPoints.push(new SuperMap.Geometry.Point(-15,-15)),o.style={surroundLineFlag:!1,fillLimit:!0,fill:!1},t.push(o),t.push(e),t},getRouteNodeCells:function(t,e,o){switch(t){case SuperMap.Plot.RouteNodeType.RENDEZVOUS:return this.rendezvousPoint();case SuperMap.Plot.RouteNodeType.EXPANDING:return this.expandingPoint();case SuperMap.Plot.RouteNodeType.VOLLEY:return this.volleyPoint();case SuperMap.Plot.RouteNodeType.STANDBY:return e?this.standbyPoint_Inner():this.standbyPoint_Outer(null,o);case SuperMap.Plot.RouteNodeType.SUPPLY:return this.supplyPoint();case SuperMap.Plot.RouteNodeType.TAKEOFF:return this.takeoffPoint();case SuperMap.Plot.RouteNodeType.INITIAL:return this.initialPoint();case SuperMap.Plot.RouteNodeType.VISUALINITAL:return this.visualInitalPoint();case SuperMap.Plot.RouteNodeType.LANCH:case SuperMap.Plot.RouteNodeType.WEAPONLAUNCH:return this.lanchPoint();case SuperMap.Plot.RouteNodeType.TURNING:case SuperMap.Plot.RouteNodeType.COMMONROUTE:return this.turningPoint();case SuperMap.Plot.RouteNodeType.AIMING:return this.aimingPoint();case SuperMap.Plot.RouteNodeType.TARGET:return this.targetPoint();case SuperMap.Plot.RouteNodeType.ATTACK:return this.attackPoint();case SuperMap.Plot.RouteNodeType.SUPPRESS:return this.suppressPoint();case SuperMap.Plot.RouteNodeType.EIGHTSPIRAL:return this.eightSpiralPoint();case SuperMap.Plot.RouteNodeType.HAPPYVALLEY:return this.happyValleyPoint();default:return[]}},getRouteNodeNameByType:function(t){switch(t){case SuperMap.Plot.RouteNodeType.RENDEZVOUS:return"会合点";case SuperMap.Plot.RouteNodeType.EXPANDING:return"展开点";case SuperMap.Plot.RouteNodeType.VOLLEY:return"齐射点";case SuperMap.Plot.RouteNodeType.STANDBY:return"待机点";case SuperMap.Plot.RouteNodeType.SUPPLY:return"补给点";case SuperMap.Plot.RouteNodeType.TAKEOFF:return"起飞点";case SuperMap.Plot.RouteNodeType.INITIAL:return"初始点";case SuperMap.Plot.RouteNodeType.VISUALINITAL:return"可视化初始点";case SuperMap.Plot.RouteNodeType.LANCH:return"发射点";case SuperMap.Plot.RouteNodeType.WEAPONLAUNCH:return"武器发射点";case SuperMap.Plot.RouteNodeType.TURNING:return"转弯点";case SuperMap.Plot.RouteNodeType.COMMONROUTE:return"普通航路点";case SuperMap.Plot.RouteNodeType.AIMING:return"目标瞄准点";case SuperMap.Plot.RouteNodeType.TARGET:return"目标点";case SuperMap.Plot.RouteNodeType.ATTACK:return"攻击点";case SuperMap.Plot.RouteNodeType.SUPPRESS:return"压制点";case SuperMap.Plot.RouteNodeType.EIGHTSPIRAL:return"八字盘旋点";case SuperMap.Plot.RouteNodeType.HAPPYVALLEY:return"跑马圈点";default:return""}}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.Primitives=SuperMap.Plot.Primitives=SuperMap.Plot.Primitives||{};SuperMap.Plot.Primitives={nSegmentCount:72,initialize:function(t){t&&t.nSegmentCount&&(this.nSegmentCount=t.nSegmentCount)},polyline:function(t){return t},parallelline:function(t){if(t&&t.length>=3){var e=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);SuperMap.Plot.PlottingUtil.isRight(t[0],t[1],t[2])&&(e=-e);for(var o=[],n=1;n<t.length;n++)o.push(t[n].clone());var i=SuperMap.Plot.PlottingUtil.parallel(o,e);return t[0].x=i[0].x,t[0].y=i[0].y,[o,i]}return[]},kidney:function(t,e){if(t){return e?this.getKendyShapePts(t):t}},bezier:function(t,e){if(t){var o=[];return o=e?SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t):t,SuperMap.Plot.PlottingUtil.clearSamePts(o),o}},loopbezier:function(t,e){if(t){t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y||t.push(t[0]);var o=[];return o=e?SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt(t):t,SuperMap.Plot.PlottingUtil.clearSamePts(o),o}},parallelogram:function(t){if(t&&t.length>=3){var e=t[0].x+(t[2].x-t[1].x),o=t[0].y+(t[2].y-t[1].y),n=new SuperMap.Geometry.Point(e,o),i=[];return i.push.apply(i,t),i.push(n),i.push(i[0]),i}},polygon:function(t){if(t&&t.length>2)return t},circle:function(t){if(t&&2===t.length){for(var e=t[0],o=t[1],n=[],i=Math.sqrt((o.x-e.x)*(o.x-e.x)+(o.y-e.y)*(o.y-e.y)),l=360/this.nSegmentCount,r=0;r<this.nSegmentCount;r++){var a=(r*l+1)*Math.PI/180,s=new SuperMap.Geometry.Point(Math.cos(a)*i+e.x,Math.sin(a)*i+e.y);n[r]=s}return n}},rectangle:function(t){if(t&&2===t.length){var e=t[0],o=t[1],n=e.clone();return[n,new SuperMap.Geometry.Point(o.x,e.y),o.clone(),new SuperMap.Geometry.Point(e.x,o.y),n]}},sector:function(t){if(t&&t.length>=3){var e=this.getArcInfo(t[0],t[1],t[2]);e.dStartAngle*=Math.PI/180,e.dEndAngle*=Math.PI/180;var o=(e.dEndAngle-e.dStartAngle)/this.nSegmentCount,n=this.getArcSpatialData(e.pntCenter,e.dRadius,e.dRadius,0,e.dStartAngle,e.dEndAngle,o);if(n.push(e.pntCenter),0!==n.length)return n}},lune:function(t){if(t&&t.length>=3){var e=this.getArcInfo(t[0],t[1],t[2]);e.dStartAngle*=Math.PI/180,e.dEndAngle*=Math.PI/180;var o=(e.dEndAngle-e.dStartAngle)/this.nSegmentCount,n=this.getArcSpatialData(e.pntCenter,e.dRadius,e.dRadius,0,e.dStartAngle,e.dEndAngle,o);if(0!==n.length)return n}},arc:function(t){if(t&&t.length>=3){var e=this.getArcInfo(t[0],t[1],t[2]);e.dStartAngle*=Math.PI/180,e.dEndAngle*=Math.PI/180;var o=(e.dEndAngle-e.dStartAngle)/this.nSegmentCount,n=this.getArcSpatialData(e.pntCenter,e.dRadius,e.dRadius,0,e.dStartAngle,e.dEndAngle,o);if(0!==n.length)return n}},ellipse:function(t,e,o,n,i){if(!0===o){if((!n||null==n)&&t&&t.length>=3&&(n=SuperMap.Plot.PlottingUtil.distance(t[0],t[1])),(!i||null==i)&&t&&t.length>=3){var l=SuperMap.Plot.PlottingUtil.projectPoint(t[2],t[0],t[1]);i=SuperMap.Plot.PlottingUtil.distance(l,t[2])}}else i=SuperMap.Plot.PlottingUtil.distance(t[0],t[2]),n=SuperMap.Plot.PlottingUtil.distance(t[0],t[1]);if(e&&null!=e?e*=Math.PI/180:e=SuperMap.Plot.PlottingUtil.radian(t[0],t[1]),t&&t.length>0){var r=2*Math.PI,a=r/this.nSegmentCount,s=this.getArcSpatialData(t[0],n,i,e,0,r,a);if(!0===o){var u=Math.sin(e),p=Math.cos(e);t[2].x>t[1].x?(t[2].x=t[0].x-i*u,t[2].y=t[0].y+i*p):(t[2].x=t[0].x+i*u,t[2].y=t[0].y-i*p)}return s}},getArcSpatialData:function(t,e,o,n,i,l,r){var a=[];if(Math.abs(r)<1e-9)return a;for(;l<i;)l+=2*Math.PI;for(;l>i+2*Math.PI;)i+=2*Math.PI;var s=Math.cos(n)*e,u=Math.sin(n)*e,p=Math.cos(n)*o,c=Math.sin(n)*o,y=this.calcEllipseRadian(i,e,o),P=this.calcEllipseRadian(l,e,o);P-y<1e-5&&(P+=2*Math.PI);var h=Math.round(Math.abs((P-y)/r)+1);if(h<2)return a;for(var f=0;f<h-1;y+=r,f++){f===h-2&&(y=l);var S=t.x+s*Math.cos(y)-c*Math.sin(y),d=t.y+u*Math.cos(y)+p*Math.sin(y);a.push(new SuperMap.Geometry.Point(S,d))}return 0>a.length&&(a[a.length-1].x=t.x+s*Math.cos(P)-c*Math.sin(P),a[a.length-1].y=t.y+u*Math.cos(P)+p*Math.sin(P)),a},getArcInfo:function(t,e,o){var n={};n.pntCenter=new SuperMap.Geometry.Point(0,0),n.dRadius=0,n.dStartAngle=0,n.dEndAngle=0;var i=e.x-t.x,l=e.y-t.y;if(Math.abs(i)<1e-9){var r={},a={};r.x=(e.x+t.x)/2,r.y=(e.y+t.y)/2,a.x=(e.x+o.x)/2,a.y=(e.y+o.y)/2;var s=0;Math.abs(o.x-e.x)>=1e-9&&(s=(o.y-e.y)/(o.x-e.x)),n.pntCenter.y=r.y,Math.abs(s)<1e-9?n.pntCenter.x=a.x:n.pntCenter.x=a.x-s*(r.y-a.y)}else{var u={},p={};u.x=(e.x+t.x)/2,u.y=(e.y+t.y)/2,p.x=(e.x+o.x)/2,p.y=(e.y+o.y)/2;var c=l/i,y=1;Math.abs(c)<1e-9?(n.pntCenter.x=u.x,Math.abs(o.x-e.x<1e-9)?n.pntCenter.y=p.y:n.pntCenter.y=-(o.x-e.x)/(o.y-e.y)*(n.pntCenter.x-p.x)+p.y):Math.abs(o.x-e.x)<1e-9?(n.pntCenter.y=p.y,n.pntCenter.x=-c*(n.pntCenter.y-u.y)+u.x):(y=(o.y-e.y)/(o.x-e.x),n.pntCenter.x=(c*y*(u.y-p.y)+y*u.x-c*p.x)/(y-c),n.pntCenter.y=(p.x-u.x+y*p.y-c*u.y)/(y-c))}var P=Math.atan2(t.y-n.pntCenter.y,t.x-n.pntCenter.x),h=Math.atan2(o.y-n.pntCenter.y,o.x-n.pntCenter.x);if(SuperMap.Plot.PlottingUtil.isCounterClockwise(t,e,o)){for(;P>=2*Math.PI;)P-=2*Math.PI;for(;P<0;)P+=2*Math.PI;for(;h>2*Math.PI;)h-=2*Math.PI;for(;h<P;)h+=2*Math.PI}else{for(;h>=2*Math.PI;)h-=2*Math.PI;for(;h<0;)h+=2*Math.PI;for(;P>2*Math.PI;)P-=2*Math.PI;for(;h>P;)P+=2*Math.PI;var f=P;P=h,h=f}return n.dRadius=Math.sqrt((n.pntCenter.x-t.x)*(n.pntCenter.x-t.x)+(n.pntCenter.y-t.y)*(n.pntCenter.y-t.y)),n.dEndAngle=180*h/Math.PI,n.dStartAngle=180*P/Math.PI,n},calcEllipseRadian:function(t,e,o){var n=t,i=e*Math.sin(t),l=o*Math.cos(t),r=Math.atan2(i,l);if(t>Math.PI)for(;n>Math.PI;)n-=2*Math.PI,r+=2*Math.PI;else if(t<-Math.PI)for(;n<-Math.PI;)n+=2*Math.PI,r-=2*Math.PI;return r},getKendyShapePts:function(t){var e=[];if(2>(t=SuperMap.Plot.PlottingUtil.clearSamePts(t)).length)return e;var o=this.calcShapePoints(t);if(12!=o.length)return e;o.push(o[0]),o.push(o[1]),o.splice(0,1);for(var n=0;n<o.length-3;n+=3){var i;i=this.getBezierPtsWithScalePts(o[n],o[n+1],o[n+2],o[n+3]),e=e.concat(i)}return e},calcShapePoints:function(t){var e=[],o=[],n=t.length;if(0!==n){if(1!==n){if(2==n){var i=this.calcProtudeC3(t[0],t[1]);o.push(t[0]),o.push(t[1]),o.push(i)}else if(o.push(t[0]),o.push(t[1]),o.push(t[2]),(SuperMap.Plot.PlottingUtil.isSamePt(t[0],t[2])||SuperMap.Plot.PlottingUtil.isSamePt(t[1],t[2]))&&(e.push(t[0]),e.push(t[1])),SuperMap.Plot.PlottingUtil.isSamePt(t[0],t[1]))return e.push(t[0]),void e.push(t[2]);o=this.reNormalizeKidneyCtrlPoints(o);var l=new SuperMap.Geometry.Point(0,0),r=new SuperMap.Geometry.Point(0,0);l.x=.5*(o[0].x+o[1].x),l.y=.5*(o[0].y+o[1].y),r.x=l.x-.1*(o[2].x-l.x),r.y=l.y-.1*(o[2].y-l.y);var a=this.GetPtsByTriangle(3,0,o[1],o[0],r);e.push(a.pr),e.push(r),e.push(a.pl);var s=this.GetPtsByTriangle(4,2,o[2],o[0],o[1]);e.push(s.pr),e.push(o[1]),e.push(s.pl);var u=this.GetPtsByTriangle(2,0,o[0],o[1],o[2]);e.push(u.pr),e.push(o[2]),e.push(u.pl);var p=this.GetPtsByTriangle(4,1,o[1],o[2],o[0]);return e.push(p.pr),e.push(o[0]),e.push(p.pl),e}e.push(t[0])}},calcProtudeC3:function(t,e){var o,n=new SuperMap.Geometry.Point(0,0);return n.x=.5*(t.x+e.x),n.y=.5*(t.y+e.y),o=SuperMap.Plot.PlottingUtil.distance(e,t)/2.7,this.GetPointsOfNormal(o,t,n).pt3},GetPointsOfNormal:function(t,e,o){var n,i=new SuperMap.Geometry.Point(0,0),l=new SuperMap.Geometry.Point(0,0),r=new SuperMap.Geometry.Point(0,0);return 0==(n=SuperMap.Plot.PlottingUtil.distance(e,o))?(r.y=0,r.x=t):(r.x=t*(e.x-o.x)/n,r.y=t*(e.y-o.y)/n),i.x=-r.y+o.x,i.y=r.x+o.y,l.x=r.y+o.x,l.y=-r.x+o.y,{pt3:i,pt4:l}},reNormalizeKidneyCtrlPoints:function(t){var e=[];e.push(new SuperMap.Geometry.Point(0,0)),e.push(new SuperMap.Geometry.Point(0,0)),e.push(new SuperMap.Geometry.Point(0,0));var o=t.length;if(o<2)return e;if(2==o)e[0]=t[0],e[1]=t[1],e[2]=this.calcProtudeC3(t[0],t[1]);else{var n,i,l,r=t[0],a=t[1],s=t[2];if(n=SuperMap.Plot.PlottingUtil.distance(a,r),i=SuperMap.Plot.PlottingUtil.distance(s,a),l=SuperMap.Plot.PlottingUtil.distance(r,s),i>=n&&i>=l){var u=r.clone();r=s.clone(),s=u.clone()}else if(l>=n&&l>=i){var p=s.clone();s=a.clone(),a=p.clone()}if(!SuperMap.Plot.PlottingUtil.isRight(s,r,a)){var c=r.clone();r=a.clone(),a=c.clone()}e[0]=r,e[1]=a,e[2]=s}return e},GetPtsByTriangle:function(t,e,o,n,i){var l=new SuperMap.Geometry.Point(0,0),r=0,a=0;return r=SuperMap.Plot.PlottingUtil.distance(i,o),a=SuperMap.Plot.PlottingUtil.distance(n,i),1==e&&(r*=2),2==e&&(a*=2),l.x=(r*n.x+a*o.x)/(r+a),l.y=(r*n.y+a*o.y)/(r+a),{pl:this.GetWhichPtOfNormal(t,o,l,i),pr:this.GetWhichPtOfNormal(t,n,l,i)}},GetWhichPtOfNormal:function(t,e,o,n){var i=0;i=SuperMap.Plot.PlottingUtil.distance(n,e)/t;var l=this.GetPointsOfNormal(i,o,n);return SuperMap.Plot.PlottingUtil.distance(e,l.pt4)>=(i=SuperMap.Plot.PlottingUtil.distance(e,l.pt3))?l.pt3:l.pt4},getBezierPtsWithScalePts:function(t,e,o,n){var i=[],l=t.x,r=t.y,a=e.x,s=e.y,u=o.x,p=o.y,c=n.x,y=n.y;if(SuperMap.Plot.PlottingUtil.equalFuzzy(l,a,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(r,s,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(u,c,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(p,y,1e-10))i.push(new SuperMap.Geometry.Point(l,r)),i.push(new SuperMap.Geometry.Point(u,p));else for(var P=0;P<=1;P+=.03125){var h,f,S,d,g=P*P,M=g*P;h=1-3*P+3*g-M,f=3*(P-2*g+M),S=3*(g-M),d=M;var m=new SuperMap.Geometry.Point(h*l+f*a+S*u+d*c,h*r+f*s+S*p+d*y);i.push(m)}return i},getSpatialData:function(t,e,o,n){switch(null==n&&(n=!0),t){case 24:return this.polyline(e);case 390:return this.kidney(e,n);case 590:return this.bezier(e,n);case 360:return this.loopbezier(e,n);case 28:return this.parallelogram(e);case 32:return this.polygon(e);case 29:return this.circle(e);case 26:return this.rectangle(e);case 380:return this.sector(e);case 370:return this.lune(e);case 44:return this.arc(e);case 31:return this.ellipse(e,o,n);case 48:return this.parallelline(e);default:return e}}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.PlottingUtil=SuperMap.Plot.PlottingUtil=SuperMap.Plot.PlottingUtil||{};SuperMap.Plot.PlottingUtil.DEFAULT_PRECISION=14,SuperMap.Plot.PlottingUtil.DPI=96,SuperMap.Plot.PlottingUtil.RTOD=57.29577951308232,SuperMap.Plot.PlottingUtil.DTOR=.017453292519943295,SuperMap.Plot.PlottingUtil.dirAngle=function(t,e){var o,n,i,l;o=e.x,n=e.y,i=o-t.x,l=n-t.y;var r=Math.atan2(l,i);return r<0&&(r+=2*Math.PI),r},SuperMap.Plot.PlottingUtil.generateUuid=function(){for(var t=[],e=0;e<36;e++)t[e]="0123456789abcdef".substr(Math.floor(16*Math.random()),1);return t[14]="4",t[19]="0123456789abcdef".substr(3&t[19]|8,1),t[8]=t[13]=t[18]=t[23]="-",t.join("")},SuperMap.Plot.PlottingUtil.cloneObject=function(t){return JSON.parse(JSON.stringify(t))},SuperMap.Plot.PlottingUtil.colorRGBA=function(t,e){var o=t.substring(1,3),n=parseInt(o,16),i=t.substring(3,5),l=parseInt(i,16),r=t.substring(5);return"rgba("+n+","+l+","+parseInt(r,16)+","+e+")"},SuperMap.Plot.PlottingUtil.colorRGBToString=function(t){var e=t.red.toString(16);e.length<2&&(e="0"+e);var o=t.green.toString(16);o.length<2&&(o="0"+o);var n=t.blue.toString(16);return n.length<2&&(n="0"+n),"#"+e+o+n},SuperMap.Plot.PlottingUtil.colorStringToRGB=function(t){var e={},o=t.substring(1,3);e.red=parseInt(o,16);var n=t.substring(3,5);e.green=parseInt(n,16);var i=t.substring(5);return e.blue=parseInt(i,16),e},SuperMap.Plot.PlottingUtil.decimalToHex=function(t){for(var e=t.toString(16);e.length<8;)e="0"+e;var o=e.substring(0,2),n=e.substring(2,4),i=e.substring(4,6);return{color:"#"+e.substring(6)+i+n,alpha:parseInt(o,16)/255}},SuperMap.Plot.PlottingUtil.hexToDecimal=function(t,e){var o=t.substring(1,3),n=t.substring(3,5),i=t.substring(5),l=parseInt(i+n+o,16),r=Math.round(255*e).toString(16);return parseInt(r+"000000",16)+l},SuperMap.Plot.PlottingUtil.getAlign=function(t){return"TOPLEFT"===t?"lt":"TOPCENTER"===t?"ct":"TOPRIGHT"===t?"rt":"BOTTOMLEFT"===t?"lb":"BOTTOMCENTER"===t?"cb":"BOTTOMRIGHT"===t?"rb":"MIDDLELEFT"===t?"lm":"MIDDLECENTER"===t?"cm":"MIDDLERIGHT"===t?"rm":"lt"},SuperMap.Plot.PlottingUtil.trim=function(t){return null==t?"":t.replace(/(^\s*)|(\s*$)/g,"")},SuperMap.Plot.PlottingUtil.getTextWidth=function(t,e){" "===e&&(e="_");var o=document.createElement("span");document.body.appendChild(o),o.style.width="auto",o.style.height="auto",t.fontSize&&(o.style.fontSize=new String(t.fontSize)+"px"),t.fontFamily&&(o.style.fontFamily=t.fontFamily),t.fontWeight&&(o.style.fontWeight=t.fontWeight),o.style.position="absolute",o.style.visibility="hidden",o.style.display="inline-block",o.innerHTML=e;var n=o.clientWidth,i=e.length;return void 0===t.fontSpace&&void 0===t.fontPercent||(0!==t.fontSpace&&100!==t.fontPercent&&void 0!==t.fontSpace||void 0!==t.fontPercent?n=t.fontPercent/100*n+t.fontSpace*(t.fontPercent/100)*(i-1):0===t.fontSpace&&100!==t.fontPercent&&void 0!==t.fontPercent?n=t.fontPercent/100*n:0!==t.fontSpace&&100===t.fontPercent&&void 0!==t.fontSpace&&(n+=t.fontSpace*(i-1))),document.body.removeChild(o),n},SuperMap.Plot.PlottingUtil.getTextCount=function(t){for(var e=0,o=0,n=0;n<t.length;n++)t.charCodeAt(n)>255?e++:o++;return e+o/2},SuperMap.Plot.PlottingUtil.toJSON=function(t){var e=t;if(null==e)return null;switch(e.constructor){case String:return e=(e=(e=(e=(e=(e=(e='"'+e.replace(/(["\\])/g,"\\$1")+'"').replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace("<","&lt;")).replace(">","&gt;")).replace(/%/g,"%2525")).replace(/&/g,"%26");case Array:for(var o=[],i=0,l=e.length;i<l;i++)o.push(SuperMap.Plot.PlottingUtil.toJSON(e[i]));return"["+o.join(",")+"]";case Number:return isFinite(e)?String(e):null;case Boolean:return String(e);case Date:return"{'__type':\"System.DateTime\",'Year':"+e.getFullYear()+",'Month':"+(e.getMonth()+1)+",'Day':"+e.getDate()+",'Hour':"+e.getHours()+",'Minute':"+e.getMinutes()+",'Second':"+e.getSeconds()+",'Millisecond':"+e.getMilliseconds()+",'TimezoneOffset':"+e.getTimezoneOffset()+"}";default:if(null!=e.toJSON&&"function"==typeof e.toJSON)return e.toJSON();if("object"===(void 0===e?"undefined":n(e))){if(e.length){for(var r=[],a=0,s=e.length;a<s;a++)r.push(SuperMap.Plot.PlottingUtil.toJSON(e[a]));return"["+r.join(",")+"]"}var u=[];for(var p in e)"function"!=typeof e[p]&&"CLASS_NAME"!==p&&"parent"!==p&&u.push('"'+p+'":'+SuperMap.Plot.PlottingUtil.toJSON(e[p]));return u.length>0?"{"+u.join(",")+"}":"{}"}return e.toString()}},SuperMap.Plot.PlottingUtil.copyFeature=function(t){var e=null;if(null!=t&&t.geometry){var o=t.geometry.clone();e=new SuperMap.Feature.Vector(o),t.style&&(e.style=SuperMap.Plot.PlottingUtil.copyAttributes(e.style,t.style)),o.feature=e,o.calculateParts()}return e},SuperMap.Plot.PlottingUtil.getSurroundLinePts=function(t,e){for(var o=[],n=[],i=0;i<t.length-1;i++){var l,r,a=[];if(!SuperMap.Plot.PlottingUtil.equalFuzzy(t[i].x,t[i+1].x)||!SuperMap.Plot.PlottingUtil.equalFuzzy(t[i].y,t[i+1].y)){a.push(t[i]),a.push(t[i+1]);var s=SuperMap.Plot.PlottingUtil.parallel(a,e);if(l=s[0],r=s[1],0!=o.length){var u=SuperMap.Plot.PlottingUtil.intersectLines(l,r,o[0],o[1]);if(u.isIntersectLines){var p=u.intersectPoint,c=SuperMap.Plot.PlottingUtil.distance(l,r);SuperMap.Plot.PlottingUtil.distance(p,r)>2*c?n.push(r):(n[n.length-1]=p,n.push(r))}else n.push(r)}else n.push(l),n.push(r);(o=[]).push(n[n.length-2]),o.push(n[n.length-1])}}if(t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y&&1<n.length){var y=SuperMap.Plot.PlottingUtil.intersectLines(n[0],n[1],n[n.length-2],n[n.length-1]);if(y.isIntersectLines){var P=y.intersectPoint;n[n.length-1]=P,n[0]=P}}return n},SuperMap.Plot.PlottingUtil.copyFontStyle=function(t,e){void 0===t.labelAlign&&void 0!==e.labelAlign&&(t.labelAlign=e.labelAlign),!0!==t.fontSizeLimit&&(void 0!==e.fontSize&&(t.fontSize=e.fontSize),void 0!==e.fontWeight&&(t.fontWeight=e.fontWeight),void 0!==e.fontStyle&&(t.fontStyle=e.fontStyle),void 0!==e.fontSpace&&(t.fontSpace=e.fontSpace),void 0!==e.fontPercent&&(t.fontPercent=e.fontPercent)),t.strokeWidth=e.strokeWidth},SuperMap.Plot.PlottingUtil.getDataFromServer=function(t,e,o,i,l,r,a,s){var u=void 0;if(void 0!==r&&(u=r),"undefined"!=typeof SuperMap&&void 0!==SuperMap.GetSymbolInfoService){var p=new SuperMap.GetSymbolInfoService(t);p.events.on({processCompleted:a,processFailed:s,scope:u});var c=new SuperMap.GetSymbolInfoParameters;c.libID=e,c.code=o,l&&SuperMap.Plot.PlottingUtil.extend(c,l),i&&null!=i&&(SuperMap.Plot.PlottingUtil.isArray(i)||(i=[i]),c.inputPoints=i),p.processAsync(c)}else if(void 0!==("undefined"==typeof SuperMap?"undefined":n(SuperMap))&&void 0!==n(SuperMap.REST)&&void 0!==n(SuperMap.REST.GetSymbolInfoService)){var y=new SuperMap.REST.GetSymbolInfoService(t);y.events.on({processCompleted:a,processFailed:s,scope:u});var P=new SuperMap.REST.GetSymbolInfoParameters;if(P.libID=e,P.code=o,l&&SuperMap.Plot.PlottingUtil.extend(P,l),i&&null!=i&&(SuperMap.Plot.PlottingUtil.isArray(i)||(i=[i]),P.inputPoints=i),l&&l.credential){var h=l.credential;y.processAsync(P,h)}else y.processAsync(P)}},SuperMap.Plot.PlottingUtil.innerOutlineDir=function(t){function e(t,e){function o(t){var e=Math.atan2(t.y,t.x);return e<0&&(e+=2*Math.PI),e}var n=o(e)-o(t);return n<-Math.PI&&(n+=2*Math.PI),n>Math.PI&&(n-=2*Math.PI),n}if(t.length<3)return 1;for(var o=0,n={x:0,y:0},i={x:0,y:0},l=2;l<t.length;l++)i.x=t[l].x-t[l-1].x,i.y=t[l].y-t[l-1].y,n.x=t[l-1].x-t[l-2].x,n.y=t[l-1].y-t[l-2].y,o+=e(n,i);return i.x=t[1].x-t[0].x,i.y=t[1].y-t[0].y,n.x=t[0].x-t[t.length-1].x,n.y=t[0].y-t[t.length-1].y,(o+=e(n,i))>=0?-1:1},SuperMap.Plot.PlottingUtil.isNear=function(t,e){return e||(e=SuperMap.Plot.PlottingUtil.TORLERANCE_STATIC),t<e&&t>-e},SuperMap.Plot.PlottingUtil.equalFuzzy=function(t,e,o){return o||(o=1e-18),Math.abs(t-e)<=o},SuperMap.Plot.PlottingUtil.intersectLines=function(t,e,o,n){var i={isIntersectLines:!1};if(t.x===e.x&&t.y===e.y||o.x===n.x&&o.y===n.y)return i;var l=e.x-t.x,r=e.y-t.y,a=n.x-o.x,s=n.y-o.y,u=l*s-a*r;if(SuperMap.Plot.PlottingUtil.isNear(u))return i;var p=(l*(t.y-o.y)-r*(t.x-o.x))/u,c=new SuperMap.Geometry.Point(0,0);return c.x=p*a+o.x,c.y=p*s+o.y,i.isIntersectLines=!0,i.intersectPoint=c,i},SuperMap.Plot.PlottingUtil.getEnvelopePoints=function(t){function e(t,e){if(t.length!==e.length)return!1;for(var o=0;o<t.length;o++)if(t[o].x!==e[o].x||t[o].y!==e[o].y)return!1;return!0}function o(t,e,o){for(var n=0;n<t.length;n++)if(t[n].containsPoint(e))return o.index=n,!0;return!1}function n(t,e,o){for(var n=t.components[0].components,i=new SuperMap.Geometry.Point(0,0),l=0;l<n.length-1;l++)if(SuperMap.Plot.PlottingUtil.intersectLineSegs(e,o,n[l],n[l+1],i))return i;return null}function i(t,e){if(0===t.length||SuperMap.Plot.PlottingUtil.equalFuzzy(e[0].x,e[e.length-1].x,.5)&&SuperMap.Plot.PlottingUtil.equalFuzzy(e[0].y,e[e.length-1].y,.5))return e;for(var o=e[e.length-1],n=0;n<t.length;n++)if(SuperMap.Plot.PlottingUtil.equalFuzzy(t[n][0].x,o.x,.5)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t[n][0].y,o.y,.5)){e=e.concat(t[n]),t.splice(n,1);var l=i(t,e);if(void 0!==l&&0!==l.length)return l}else if(SuperMap.Plot.PlottingUtil.equalFuzzy(t[n][t[n].length-1].x,o.x,.5)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t[n][t[n].length-1].y,o.y,.5)){for(var r=t[n].length-1;r>=0;r--)e.push(t[n][r]);t.splice(n,1);var a=i(t,e);if(void 0!==a&&0!==a.length)return a}return e}if(SuperMap.Plot.PlottingUtil.isArray(t)||(t=[t]),0===t.length)return[];if(1===t.length)return t[0];for(var l=0;l<t.length;l++)for(var r=l+1;r<t.length;)e(t[l],t[r])?t.splice(r,1):r++;for(var a=[],s=0;s<t.length;s++)a.push(new SuperMap.Geometry.Polygon([new SuperMap.Geometry.LinearRing(t[s])]));for(var u=[],p=0;p<t.length;p++){var c=[],y=[],P=-1,h=-1,f=a.slice();f.splice(p,1);for(var S={},d=0;d<t[p].length;d++)if(o(f,t[p][d],S)){if(0!==y.length){var g=n(a[S.index],t[p][d-1],t[p][d]);g&&g!==t[p][d-1]&&g!==t[p][d]&&y.push(g),c.push(y),y=[]}}else{if(0===d&&(P=c.length),d===t[p].length-1&&(h=c.length),0===y.length&&void 0!==S.index){var M=n(a[S.index],t[p][d-1],t[p][d]);M&&M!==t[p][d-1]&&M!==t[p][d]&&y.push(M)}y.push(t[p][d].clone())}if(0!==y.length&&c.push(y),P<c.length&&h<c.length&&P!==h){for(var m=0;m<c[P].length;m++)c[h].push(c[P][m]);c.splice(P,1)}u=u.concat(c)}for(var v=[];0!==u.length;){var b=u[0];u.splice(0,1);var T=i(u,b);void 0!==T&&(b=T),b.length>2&&v.push(b)}return v},SuperMap.Plot.PlottingUtil.isRight=function(t,e,o){var n=e,i=o,l=e,r=t;return(i.x-n.x)*(r.y-l.y)-(r.x-l.x)*(i.y-n.y)<0},SuperMap.Plot.PlottingUtil.radian=function(t,e){var o,n,i=0;return o=e.x-t.x,n=e.y-t.y,(i=Math.atan2(n,o))<0&&(i+=2*Math.PI),i},SuperMap.Plot.PlottingUtil.findBisectorPoint=function(t,e,o,n){var i=SuperMap.Plot.PlottingUtil.radian(e,t),l=(i+SuperMap.Plot.PlottingUtil.radian(e,o))/2,r=Math.cos(l-i+Math.PI/2),a=n;SuperMap.Plot.PlottingUtil.isNear(r,.15)||(a=n/r);var s=e.x+a*Math.cos(l),u=e.y+a*Math.sin(l);return new SuperMap.Geometry.Point(s,u)},SuperMap.Plot.PlottingUtil.findPoint=function(t,e,o,n){if(t===e||Math.abs(o)<1e-18)return t;var i=SuperMap.Plot.PlottingUtil.radian(t,e)+n*Math.PI/180,l=t.x+o*Math.cos(i),r=t.y+o*Math.sin(i);return new SuperMap.Geometry.Point(l,r)},SuperMap.Plot.PlottingUtil.isSameQuadrant=function(t,e,o,n){var i=(e.x-t.x)*(n.x-o.x),l=(e.y-t.y)*(n.y-o.y);return!(Math.abs(i)<1e-18&&Math.abs(l)<1e-18)&&((i>0||Math.abs(i)<1e-18)&&(l>0||Math.abs(l)<1e-18))},SuperMap.Plot.PlottingUtil.isCross=function(t,e,o,n){var i=new SuperMap.Geometry.Point(0,0);return!(!SuperMap.Plot.PlottingUtil.intersectLineSegs(t,e,o,n,i)||i==t||i===e||i===o||i==n)},SuperMap.Plot.PlottingUtil.intersectLineSegs=function(t,e,o,n,i){if(SuperMap.Plot.PlottingUtil.equalFuzzy(t.x,e.x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t.y,e.y))return i.x=t.x,i.y=t.y,!1;if(SuperMap.Plot.PlottingUtil.equalFuzzy(o.x,n.x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(o.y,n.y))return i.x=o.x,i.y=o.y,!1;var l=0,r=0;if(l=t.x>e.x?t.x:e.x,r=t.x<e.x?t.x:e.x,o.x-l>1e-16&&n.x-l>1e-16||o.x-r<-1e-16&&n.x-r<-1e-16)return!1;if(l=t.y>e.y?t.y:e.y,r=t.y<e.y?t.y:e.y,o.y-l>1e-16&&n.y-l>1e-16||o.y-r<-1e-16&&n.y-r<-1e-16)return!1;var a=e.x-t.x,s=e.y-t.y,u=n.x-o.x,p=n.y-o.y,c=t.x-o.x,y=t.y-o.y,P=a*p-u*s,h=P;if(Math.abs(a)>1e-18&&Math.abs(u)>1e-18&&(h/=a*u),Math.abs(h)<1e-18)return t===o?(i.x=t.x,i.y=t.y,!SuperMap.Plot.PlottingUtil.isSameQuadrant(t,e,o,n)):e===n?(i.x=e.x,i.y=e.y,!SuperMap.Plot.PlottingUtil.isSameQuadrant(t,e,o,n)):t===n?(i.x=t.x,i.y=t.y,SuperMap.Plot.PlottingUtil.isSameQuadrant(t,e,o,n)):e===o&&(i.x=e.x,i.y=e.y,SuperMap.Plot.PlottingUtil.isSameQuadrant(t,e,o,n));var f=(a*y-s*c)/P,S=(u*y-p*c)/P;return!(f<0&&(Math.abs(f*u)>1e-16||Math.abs(f*p)>1e-16))&&(!(f>1&&(Math.abs((f-1)*u)>1e-16||Math.abs((f-1)*p)>1e-16))&&(!(S<0&&(Math.abs(S*a)>1e-16||Math.abs(S*s)>1e-16))&&(!(S>1&&(Math.abs((S-1)*a)>1e-16||Math.abs((S-1)*s)>1e-16))&&(Math.abs(f)<1e-18?(i.x=o.x,i.y=o.y,!0):Math.abs(f-1)<1e-18?(i.x=n.x,i.y=n.y,!0):Math.abs(S)<1e-18?(i.x=t.x,i.y=t.y,!0):Math.abs(S-1)<1e-18?(i.x=e.x,i.y=e.y,!0):!(f<0&&(Math.abs(f*u)>1e-16||Math.abs(f*p)>1e-16))&&(!(f>1&&(Math.abs((f-1)*u)>1e-16||Math.abs((f-1)*p)>1e-16))&&(!(S<0&&(Math.abs(S*a)>1e-16||Math.abs(S*s)>1e-16))&&(!(S>1&&(Math.abs((S-1)*a)>1e-16||Math.abs((S-1)*s)>1e-16))&&(i.x=f*u+o.x,i.y=f*p+o.y,!0))))))))},SuperMap.Plot.PlottingUtil.parallel=function(t,e){var o=[],n=t.length;if(!t||null==t||t.length<2)return o;var i=!1;t.length>3&&t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y&&(i=!0),i?(o[0]=SuperMap.Plot.PlottingUtil.findBisectorPoint(t[t.length-2],t[0],t[1],e),o[t.length-1]=o[0]):(o[0]=SuperMap.Plot.PlottingUtil.findPoint(t[0],t[1],e,90),o[t.length-1]=SuperMap.Plot.PlottingUtil.findPoint(t[t.length-1],t[t.length-2],-e,90));for(var l=t[0],r=t[1],a=t[1],s=1;s<t.length-1;s++)if(r=t[s],t[s]!==t[s-1]&&(l=t[s-1]),t[s]!==t[s+1]){a=t[s+1];var u=SuperMap.Plot.PlottingUtil.findBisectorPoint(l,r,a,e);SuperMap.Plot.PlottingUtil.isCross(l,o[s-1],r,u)&&(u=o[s-1]),o[s]=u}else{for(var p=s;p<n-1;){if(t[p]!==t[p+1]){a=t[p+1];break}p++}if(p<n-1){var c=SuperMap.Plot.PlottingUtil.FindBisectorPoint(l,r,a,e);for(SuperMap.Plot.PlottingUtil.isCross(l,o[s-1],r,c)&&(c=o[s-1]);s<p;)o[s]=c,s++;s=p-1}}return o},SuperMap.Plot.PlottingUtil.distance=function(t,e){return Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y))},SuperMap.Plot.PlottingUtil.projectPoint=function(t,e,o){if(e===o)return e;var n=new SuperMap.Geometry.Point(0,0),i=o.x-e.x,l=e.y-o.y,r=i*i,a=l*l,s=i*l,u=i*i+l*l;return n.x=(s*(e.y-t.y)+e.x*a+t.x*r)/u,n.y=(s*(e.x-t.x)+e.y*r+t.y*a)/u,n},SuperMap.Plot.PlottingUtil.pointToLineDis=function(t,e,o){var n=SuperMap.Plot.PlottingUtil.projectPoint(t,e,o);return SuperMap.Plot.PlottingUtil.distance(t,n)},SuperMap.Plot.PlottingUtil.pointToPloyLineDis=function(t,e,o){if(e===o)return SuperMap.Plot.PlottingUtil.distance(t,e);var n=(e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y),i=(o.x-t.x)*(o.x-t.x)+(o.y-t.y)*(o.y-t.y),l=(e.x-o.x)*(e.x-o.x)+(e.y-o.y)*(e.y-o.y),r=(n+l-i)/(2*l);r<0?r=0:r>1&&(r=1);var a=(o.x-e.x)*r+e.x,s=(o.y-e.y)*r+e.y,u=(a-t.x)*(a-t.x)+(s-t.y)*(s-t.y);return Math.sqrt(u)},SuperMap.Plot.PlottingUtil.isCounterClockwise=function(t,e,o){return(o.x-e.x)*(t.y-e.y)-(t.x-e.x)*(o.y-e.y)>0},SuperMap.Plot.PlottingUtil.clearSamePts=function(t){for(var e=t.length,o=0;o<e-1;)SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].x,t[o+1].x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t[o].y,t[o+1].y)?(t.splice(o,1),e--):o++;return t},SuperMap.Plot.PlottingUtil.getBeizerCtrlPt=function(t){var e=[],o=t.length;if(o<3)for(var n=0;n<o;++n)e[n]=t[n].clone();else{for(var i=0,l=0;l<3*o-2;l+=3)e[l]=t[i].clone(),e[l+1]=new SuperMap.Geometry.Point(0,0),e[l+2]=new SuperMap.Geometry.Point(0,0),i++;for(var r=1;r<o-1;r++)SuperMap.Plot.PlottingUtil.getTrianglePoints(8,3,t[r-1],t[r],t[r+1],e[3*r-1],e[3*r+1]);SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.6,e[0],e[3],e[2],e[1]),SuperMap.Plot.PlottingUtil.getTrapezoidPoints(.6,e[3*o-3],e[3*o-6],e[3*o-5],e[3*o-4]),e[3*o-1]=e[3*o-2]=t[o-1].clone()}return e},SuperMap.Plot.PlottingUtil.generateBeizerPointsNoCtrlPt=function(t,e){var o=t.slice();!0===e&&o.push(o[0]);var n=SuperMap.Plot.PlottingUtil.getBeizerCtrlPt(o);return SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(n)},SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt=function(t){var e=t.length,o=[];if(t.length<3)for(var n=0;n<e;n++)o[n]=t[n].clone();else{e/=3;for(var i=0;i<3*e&&!(i+4>=3*e);i+=3){var l=t[i].x,r=t[i].y,a=t[i+1].x,s=t[i+1].y,u=t[i+2].x,p=t[i+2].y,c=t[i+3].x,y=t[i+3].y;if(SuperMap.Plot.PlottingUtil.equalFuzzy(l,a,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(r,s,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(u,c,1e-10)&&SuperMap.Plot.PlottingUtil.equalFuzzy(p,y,1e-10))o.push(new SuperMap.Geometry.Point(l,r)),o.push(new SuperMap.Geometry.Point(u,p));else for(var P=0;P<=1;P+=.03125){var h,f,S,d,g=P*P,M=g*P;h=1-3*P+3*g-M,f=3*(P-2*g+M),S=3*(g-M),d=M;var m=new SuperMap.Geometry.Point(h*l+f*a+S*u+d*c,h*r+f*s+S*p+d*y);o.push(m)}}}return o},SuperMap.Plot.PlottingUtil.computeBeizerPoints=function(t,e,o){var n=SuperMap.Plot.PlottingUtil.polylineDistance(e),i=[],l=[],r=[];if(t){l.push(e[0]);var a=o[0],s=o[1],u=e[0].x+n*a,p=e[0].y+n*s;l.push(new SuperMap.Geometry.Point(u,p)),i.push(new SuperMap.Geometry.Point(u,p));for(var c=1;c<e.length-1;c++){var y=o[4*c-2],P=o[4*c-1],h=e[c].x+n*y,f=e[c].y+n*P;l.push(new SuperMap.Geometry.Point(h,f)),i.push(new SuperMap.Geometry.Point(h,f)),l.push(new SuperMap.Geometry.Point(e[c].x,e[c].y)),y=o[4*c],P=o[4*c+1],h=e[c].x+n*y,f=e[c].y+n*P,l.push(new SuperMap.Geometry.Point(h,f)),i.push(new SuperMap.Geometry.Point(h,f))}var S=e.length-1;a=o[4*S-2],s=o[4*S-1],u=e[S].x+n*a,p=e[S].y+n*s,l.push(new SuperMap.Geometry.Point(u,p)),i.push(new SuperMap.Geometry.Point(u,p)),l.push(new SuperMap.Geometry.Point(e[S].x,e[S].y)),l.push(new SuperMap.Geometry.Point(e[S].x,e[S].y)),l.push(new SuperMap.Geometry.Point(e[S].x,e[S].y)),r=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(l)}else{o=[];var d=(l=SuperMap.Plot.PlottingUtil.getBeizerCtrlPt(e))[1].x-l[0].x,g=l[1].y-l[0].y,M=d/n,m=g/n;o.push(M),o.push(m),i.push(l[1]);for(var v=1;v<e.length-1;v++){var b=(l[3*v-1].x-l[3*v].x)/n,T=(l[3*v-1].y-l[3*v].y)/n;o.push(b),o.push(T),i.push(l[3*v-1]);var A=(l[3*v+1].x-l[3*v].x)/n,L=(l[3*v+1].y-l[3*v].y)/n;o.push(A),o.push(L),i.push(l[3*v+1])}M=(d=l[3*(e.length-1)-1].x-l[3*(e.length-1)].x)/n,m=(g=l[3*(e.length-1)-1].y-l[3*(e.length-1)].y)/n,o.push(M),o.push(m),i.push(l[3*(e.length-1)-1]),r=SuperMap.Plot.PlottingUtil.generateBeizerPointsWithCtrlPt(l)}return{scalePoints:i,scaleValues:o,beizerPoints:r}},SuperMap.Plot.PlottingUtil.getTrianglePoints=function(t,e,o,n,i,l,r){var a=o.x,s=o.y,u=n.x,p=n.y,c=i.x,y=i.y;SuperMap.Plot.PlottingUtil.getPointsByTriangle(t,e,a,s,u,p,c,y,l,r)},SuperMap.Plot.PlottingUtil.getPointsByTriangle=function(t,e,o,n,i,l,r,a,s,u){var p=i+(r-o),c=l+(a-n),y=0,P=0;if(o==r)y=o,P=c;else if(n==a)y=p,P=n;else{var h=1*(a-n)/(r-o),f=n-o*h;P=h*(y=(c+p/h-f)/(h+1/h))+f}var S=Math.sqrt(1*(i-p)*(i-p)+1*(l-c)*(l-c)),d=Math.sqrt(1*(o-i)*(o-i)+1*(n-l)*(n-l)),g=Math.sqrt(1*(i-r)*(i-r)+1*(l-a)*(l-a)),M=0;p=y+(p-y)*(M=d+g?1+(g-d)*t/(g+d):1),c=P+(c-P)*M,0==S&&(S=1),s.x=i+(i-p)*d/(e*S),s.y=l+(l-c)*d/(e*S),u.x=i+(p-i)*g/(e*S),u.y=l+(c-l)*g/(e*S)},SuperMap.Plot.PlottingUtil.getTrapezoidPoints=function(t,e,o,n,i){var l=e.x,r=e.y,a=o.x,s=o.y,u=n.x,p=n.y;return SuperMap.Plot.PlottingUtil.getPointsByTrapezoid(t,l,r,a,s,u,p,i)},SuperMap.Plot.PlottingUtil.getPointsByTrapezoid=function(t,e,o,n,i,l,r,a){var s=0,u=0,p=0,c=0;if(0==Math.abs(o-i))s=e+n-l,u=r;else if(0==Math.abs(e-n))s=l,u=o+i-r;else{var y=1*(o-i)/(e-n),P=r-y*l;u=y*(s=((i+o)/2+(e+n)/(2*y)-P)/(y+1/y))+P,s=2*s-l,u=2*u-r}var h=Math.sqrt(1*(e-n)*(e-n)+1*(o-i)*(o-i)),f=Math.sqrt(1*(e-s)*(e-s)+1*(o-u)*(o-u));return h>0?(p=e+(n-e)*f/h,c=o+(i-o)*f/h):(p=e,c=o),a.x=p+(s-p)*t,a.y=c+(u-c)*t,a},SuperMap.Plot.PlottingUtil.pointIsOnPolyLine=function(t,e,o){if(SuperMap.Plot.PlottingUtil.equalFuzzy(t.x,e.x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t.y,e.y)||SuperMap.Plot.PlottingUtil.equalFuzzy(t.x,o.x)&&SuperMap.Plot.PlottingUtil.equalFuzzy(t.y,o.y))return!0;var n=t.x-e.x,i=t.y-e.y,l=t.x-o.x,r=t.y-o.y,a=(n*l+i*r)/(Math.sqrt(n*n+i*i)*Math.sqrt(l*l+r*r));return!!SuperMap.Plot.PlottingUtil.equalFuzzy(a,-1,.1)},SuperMap.Plot.PlottingUtil.pointIsOnPolyLines=function(t,e){if(!e||0===e.length)return{isOnPolyLine:!1,index:-1};for(var o=!1,n=-1,i=0;i<e.length-1;i++)if(o=SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(t,e[i],e[i+1])){n=i;break}return{isOnPolyLine:o,index:n}},SuperMap.Plot.PlottingUtil.computePointToLineMinDis=function(t,e){for(var o=-1,n=-1,i=0;i<e.length-1;i++){var l=e[i],r=e[i+1],a=SuperMap.Plot.PlottingUtil.projectPoint(t,l,r);if(SuperMap.Plot.PlottingUtil.pointIsOnPolyLine(a,l,r)){var s=SuperMap.Plot.PlottingUtil.distance(t,a);o<0?(o=s,n&&(n=i)):o>s&&(o=s,n=i)}}return n&&o<0&&(n=-1),{minDis:o,index:n}},SuperMap.Plot.PlottingUtil.findPointInLine=function(t,e,o){if(t===e||Math.abs(o)<1e-18)return t;var n=e.x-t.x,i=e.y-t.y,l=o/Math.sqrt(n*n+i*i),r=t.x+n*l,a=t.y+i*l;return new SuperMap.Geometry.Point(r,a)},SuperMap.Plot.PlottingUtil.operateControlPoints=function(t){var e=t,o=e.length;if(3==o){var n=new SuperMap.Geometry.Point(0,0);SuperMap.Plot.PlottingUtil.getTrapezoidPoints(1,t[0],t[1],t[2],n),e.push(n)}if(o>4&&(e.splice(4,o-4),o=e.length),SuperMap.Plot.PlottingUtil.pointIsRightToLine(t[0],t[1],e[2])){var i=e[0];e[0]=e[1],e[1]=i}if(!SuperMap.Plot.PlottingUtil.pointIsRightToVerticle(e[0],e[1],e[2])){var l=e[2];e[2]=e[3],e[3]=l}return e},SuperMap.Plot.PlottingUtil.pointIsRightToLine=function(t,e,o){return(e.x-t.x)*(o.y-t.y)-(o.x-t.x)*(e.y-t.y)<0},SuperMap.Plot.PlottingUtil.pointIsRightToVerticle=function(t,e,o){var n=new SuperMap.Geometry.Point(.5*(e.x+t.x),.5*(e.y+t.y)),i=new SuperMap.Geometry.Point(e.x-t.x,e.y-t.y),l=new SuperMap.Geometry.Point(o.x-n.x,o.y-n.y);return i.x*l.x+i.y*l.y>0},SuperMap.Plot.PlottingUtil.linePnt=function(t,e,o){var n=SuperMap.Plot.PlottingUtil.distance(t,e);if(0==n)return t;var i=o/n;return SuperMap.Plot.PlottingUtil.findPointOnLineByRatio(i,t,e)},SuperMap.Plot.PlottingUtil.findPointOnLineByRatio=function(t,e,o){var n=new SuperMap.Geometry.Point(0,0);return n.x=e.x+(o.x-e.x)*t,n.y=e.y+(o.y-e.y)*t,n},SuperMap.Plot.PlottingUtil.rotateAngle=function(t,e,o){var n=e,i=Math.cos(n),l=Math.sin(n),r=o.x-t.x,a=o.y-t.y;return o.x=r*i-a*l+t.x,o.y=r*l+a*i+t.y,o},SuperMap.Plot.PlottingUtil.resize=function(t,e,o){return o.x=t.x+e*(o.x-t.x),o.y=t.y+e*(o.y-t.y),o},SuperMap.Plot.PlottingUtil.findPointInPolyLine=function(t,e){if(e<0||t.length<2)return{index:-1,pt:null};if(Math.abs(e)<1e-18)return{index:0,pt:t[0]};for(var o=0,n=0;n<t.length-1;n++)if((o+=SuperMap.Plot.PlottingUtil.distance(t[n],t[n+1]))>e||SuperMap.Plot.PlottingUtil.equalFuzzy(o,e)){var i=o-e,l=t[n+1],r=t[n],a=i/SuperMap.Plot.PlottingUtil.distance(l,r),s=new SuperMap.Geometry.Point(0,0);return s.x=l.x+(r.x-l.x)*a,s.y=l.y+(r.y-l.y)*a,{index:n,pt:s}}return{index:-1,pt:null}},SuperMap.Plot.PlottingUtil.polylineDistance=function(t){if(0===t.length)return 0;for(var e=0,o=0;o<t.length-1;o++)e+=SuperMap.Plot.PlottingUtil.distance(t[o],t[o+1]);return e},SuperMap.Plot.PlottingUtil.rotate=function(t,e,o,n){var i=n.x-t.x,l=n.y-t.y,r=i*e-l*o+t.x,a=i*o+l*e+t.y;return new SuperMap.Geometry.Point(r,a)},SuperMap.Plot.PlottingUtil.getIncentrePointOnSegmentByScale=function(t,e,o){var n=e.x,i=e.y,l=o.x,r=o.y,a=Math.sqrt(1*(n-l)*(n-l)+1*(i-r)*(i-r)),s=0,u=0;return 0==a?(s=n,u=i):(s=n+(l-n)*t/a,u=i+(r-i)*t/a),new SuperMap.Geometry.Point(s,u)},SuperMap.Plot.PlottingUtil.getExcentrePointOnSegmentByScale=function(t,e,o){var n=e.x,i=e.y,l=o.x,r=o.y,a=0,s=0,u=Math.sqrt(1*(n-l)*(n-l)+1*(i-r)*(i-r));return 0===u?(a=n,s=i):(a=n+(n-l)*t/u,s=i+(i-r)*t/u),new SuperMap.Geometry.Point(a,s)},SuperMap.Plot.PlottingUtil.getSidePointsOfLine=function(t,e,o){var n=e.x,i=e.y,l=o.x,r=o.y,a=Math.sqrt(1*(n-l)*(n-l)+1*(i-r)*(i-r)),s=0,u=0;0==a?(u=0,s=t):(s=t*(n-l)/a,u=t*(i-r)/a);var p=-u+l,c=+s+r,y=+u+l,P=-s+r;return{pntLeft:new SuperMap.Geometry.Point(y,P),pntRight:new SuperMap.Geometry.Point(p,c)}},SuperMap.Plot.PlottingUtil.pointProjectToSegment=function(t,e,o){var n=0,i=0,l=0,r=1,a=void 0,s=void 0;if(i=e.x!==t.x?(e.y-t.y)/(e.x-t.x):1.7976931348623157e308,l=o.x!==t.x?(o.y-t.y)/(o.x-t.x):1.7976931348623157e308,n=o.y!==e.y?(o.x-e.x)/(e.y-o.y):1.7976931348623157e308,(a=e.x>=t.x&&e.y>=t.y?1:e.x<t.x&&e.y>t.y?2:e.x<=t.x&&e.y<=t.y?3:4)==(s=o.x>t.x&&o.y>t.y?1:o.x<t.x&&o.y>t.y?2:o.x<t.x&&o.y<t.y?3:4))(i<n&&l<n||i>n&&l>n)&&(r=0);else switch(a){case 1:(4==s&&i<n||2==s&&i>n)&&(r=0);break;case 2:(1==s&&i<n||3==s&&i>n)&&(r=0);break;case 3:(2==s&&i<n||4==s&&i>n)&&(r=0);break;case 4:(3==s&&i<n||1==s&&i>n)&&(r=0)}var u=new SuperMap.Geometry.Point(0,0);return SuperMap.Plot.PlottingUtil.equalFuzzy(n-1.7976931348623157e308,0)?(u.x=t.x,u.y=e.y):SuperMap.Plot.PlottingUtil.equalFuzzy(n,0)?(u.x=e.x,u.y=t.y):(u.x=(n*(e.y-t.y)+n*n*t.x+e.x)/(n*n+1),u.y=t.y+n*(u.x-t.x)),{isOnline:1===r,projectPoint:u}},SuperMap.Plot.PlottingUtil.coordinateTrans=function(t,e,o){var n=SuperMap.Plot.PlottingUtil.distance(new SuperMap.Geometry.Point(0,0),e),i=SuperMap.Plot.PlottingUtil.radian(new SuperMap.Geometry.Point(0,0),e)+o*Math.PI/180,l=n*Math.cos(i)+t.x,r=n*Math.sin(i)+t.y;return new SuperMap.Geometry.Point(l,r)},SuperMap.Plot.PlottingUtil.triangleHeightAndPartBottomLen=function(t,e,o){var n=void 0,i=void 0,l=(o.x-e.x)*(o.x-e.x)+(o.y-e.y)*(o.y-e.y),r=Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y)),a=Math.sqrt((t.x-o.x)*(t.x-o.x)+(t.y-o.y)*(t.y-o.y));if(0==a||0==r)n=0,i=0;else if(0==l)n=r,i=0;else{var s=(r*r+a*a-l)/2/r/a,u=0;s>=1?(s=1,u=0):u=Math.sqrt(1-s*s),n=a*s,i=a*u}return{dLen1:n,dLen2:i}},SuperMap.Plot.PlottingUtil.paraLine=function(t,e,o){var n=[];if(2>t.length)return n;if(o){var i=t[1].clone();i=SuperMap.Plot.PlottingUtil.rotateAngle(t[0],Math.PI/2,i),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[0],i,e));for(var l=1;l<t.length-1;l++)if(!SuperMap.Plot.PlottingUtil.equalFuzzy(t[l].x,t[l+1].x)||!SuperMap.Plot.PlottingUtil.equalFuzzy(t[l].y,t[l+1].y)){for(var r=SuperMap.Plot.PlottingUtil.radian(t[l],t[l+1]),a=SuperMap.Plot.PlottingUtil.radian(t[l],t[l-1])-r;a<0;)a+=2*Math.PI;var s=a/2,u=void 0;u=s>Math.PI/2?s-Math.PI/2:Math.PI/2-s;var p=e/Math.cos(u);i=t[l+1].clone(),i=SuperMap.Plot.PlottingUtil.rotateAngle(t[l],s,i),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[l],i,p))}i=t[t.length-2].clone(),i=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],-1*Math.PI/2,i),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],i,e))}else{var c=t[1].clone();c=SuperMap.Plot.PlottingUtil.rotateAngle(t[0],-Math.PI/2,c),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[0],c,e));for(var y=1;y<t.length-1;y++)if(!SuperMap.Plot.PlottingUtil.equalFuzzy(t[y].x,t[y+1].x)||!SuperMap.Plot.PlottingUtil.equalFuzzy(t[y].y,t[y+1].y)){for(var P=SuperMap.Plot.PlottingUtil.radian(t[y],t[y+1]),h=SuperMap.Plot.PlottingUtil.radian(t[y],t[y-1])-P;h<0;)h+=2*Math.PI;var f=Math.PI-h/2,S=void 0;S=f>Math.PI/2?f-Math.PI/2:Math.PI/2-f;var d=e/Math.cos(S);c=t[y-1].clone(),c=SuperMap.Plot.PlottingUtil.rotateAngle(t[y],f,c),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[y],c,d))}c=t[t.length-2].clone(),c=SuperMap.Plot.PlottingUtil.rotateAngle(t[t.length-1],Math.PI/2,c),n.push(SuperMap.Plot.PlottingUtil.linePnt(t[t.length-1],c,e))}return n},SuperMap.Plot.PlottingUtil.circlePoint=function(t,e,o,n){n*=Math.PI/180;var i=t.x+e*Math.cos(n),l=t.y+o*Math.sin(n);return new SuperMap.Geometry.Point(i,l)},SuperMap.Plot.PlottingUtil.getPolygonCenterPt=function(t){if(!t||0===t.length)return null;for(var e=0,o=0,n=0;n<t.length;n++)e+=t[n].x,o+=t[n].y;return new SuperMap.Geometry.Point(e/t.length,o/t.length)},SuperMap.Plot.PlottingUtil.ptIsInPolygon=function(t,e){if(!t||0===t.length)return!1;for(var o=0,n=t.length,i=0;i<n;i++){var l=t[i],r=t[(i+1)%n];if(l.y!==r.y){var a=l.y<r.y?l.y:r.y,s=l.y>r.y?l.y:r.y;if(!(e.y<a||e.y>s))(e.y-l.y)*(r.x-l.x)/(r.y-l.y)+l.x>e.x&&o++}}return o%2==1},SuperMap.Plot.PlottingUtil.projectPtOnPolyLine=function(t,e){if(2>e.length)return{index:-1,pt:null};for(var o=0;o<e.length-1;o++){var n=SuperMap.Plot.PlottingUtil.pointProjectToSegment(t,e[o],e[o+1]);if(n.isOnline)return{index:o,pt:n.projectPoint}}return{index:-1,pt:null}},SuperMap.Plot.PlottingUtil.isPloyClockwise=function(t){var e=SuperMap.Plot.PlottingUtil.clonePoints(t),o=e.length;if(!(o<3)){var n=e[0].y*(e[o-1].x-e[1].x);e.push(e[0].clone());for(var i=1;i<o;++i)n+=e[i].y*(e[i-1].x-e[i+1].x);return n>0?0:1}},SuperMap.Plot.PlottingUtil.isSamePt=function(t,e){return!(!SuperMap.Plot.PlottingUtil.equalFuzzy(t.x,e.x)||!SuperMap.Plot.PlottingUtil.equalFuzzy(t.y,e.y))},SuperMap.Plot.PlottingUtil.getPtsIndexByDistance=function(t,e){var o=SuperMap.Plot.PlottingUtil.findPointInPolyLine(e,t);return{index:o.index,pts:o.pt,bfind:-1!==o.index}},SuperMap.Plot.PlottingUtil.ptInBounds=function(t,e){return t.x>e.left&&t.x<e.right&&t.y<e.top&&t.y>e.bottom},SuperMap.Plot.PlottingUtil.InnerAngle=function(t,e,o){if(t==e||t==o)return 0;var n=SuperMap.Plot.PlottingUtil.distance(t,e),i=SuperMap.Plot.PlottingUtil.distance(t,o),l=SuperMap.Plot.PlottingUtil.distance(e,o),r=(n*n+i*i-l*l)/(2*n*i);return r>1&&SuperMap.Plot.PlottingUtil.equalFuzzy(r,1)?r=1:r<1&&SuperMap.Plot.PlottingUtil.equalFuzzy(r,-1)&&(r=-1),Math.acos(r)},SuperMap.Plot.PlottingUtil.plumbLineLen=function(t,e,o){return SuperMap.Plot.PlottingUtil.distance(t,e)*Math.sin(SuperMap.Plot.PlottingUtil.InnerAngle(e,t,o))},SuperMap.Plot.PlottingUtil.paraPolygon=function(t,e,o){var n=[],i=SuperMap.Plot.PlottingUtil.clonePoints(t),l=i.length;if(l<2)return n;var r=new SuperMap.Geometry.Point(0,0);if(o){if(l<3)r=i[1].clone(),SuperMap.Plot.PlottingUtil.rotateAngle(i[0],Math.PI,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[0],r,e));else{for(var a=SuperMap.Plot.PlottingUtil.radian(i[0],i[1]),s=SuperMap.Plot.PlottingUtil.radian(i[0],i[i.length-1])-a;s<0;)s+=2*Math.PI;var u=s/2,p=void 0;p=u>Math.PI/2?u-Math.PI/2:Math.PI/2-u;var c=e/Math.cos(p);r=i[1].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[0],u,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[0],r,c))}for(var y=1;y<l-1;y++){for(var P=SuperMap.Plot.PlottingUtil.radian(i[y],i[y+1]),h=SuperMap.Plot.PlottingUtil.radian(i[y],i[y-1])-P;h<0;)h+=2*Math.PI;var f=h/2,S=void 0;S=f>Math.PI/2?f-Math.PI/2:Math.PI/2-f;var d=e/Math.cos(S);r=i[y+1].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[y],f,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[y],r,d))}if(l<3)r=i[l-2].clone(),SuperMap.Plot.PlottingUtil.rotateAngle(i[l-1],0,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[l-1],r,e));else{for(var g=SuperMap.Plot.PlottingUtil.radian(i[l-1],i[0]),M=SuperMap.Plot.PlottingUtil.radian(i[l-1],i[l-2])-g;M<0;)M+=2*Math.PI;var m=M/2,v=void 0;v=m>Math.PI/2?m-Math.PI/2:Math.PI/2-m;var b=e/Math.cos(v);r=i[0].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[l-1],m,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[l-1],r,b))}}else{if(l<3){var T=i[1].clone();SuperMap.Plot.PlottingUtil.rotateAngle(i[0],0,T),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[0],T,e))}else{for(var A=SuperMap.Plot.PlottingUtil.radian(i[0],i[1]),L=SuperMap.Plot.PlottingUtil.radian(i[0],i[l-1])-A;L<0;)L+=2*Math.PI;var O=Math.PI-L/2,E=void 0;E=O>Math.PI/2?O-Math.PI/2:Math.PI/2-O;var x=e/Math.cos(E);r=i[l-1].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[0],O,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[0],r,x))}for(var w=1;w<l-1;w++){for(var I=SuperMap.Plot.PlottingUtil.radian(i[w],i[w+1]),R=SuperMap.Plot.PlottingUtil.radian(i[w],i[w-1])-I;R<0;)R+=2*Math.PI;var C=Math.PI-R/2,_=void 0;_=C>Math.PI/2?C-Math.PI/2:Math.PI/2-C;var U=e/Math.cos(_);r=i[w-1].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[w],C,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[w],r,U))}if(l<3)r=i[l-2].clone(),SuperMap.Plot.PlottingUtil.rotateAngle(i[l-1],Math.PI,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[l-1],r,e));else{for(var N=SuperMap.Plot.PlottingUtil.radian(i[l-1],i[0]),D=SuperMap.Plot.PlottingUtil.radian(i[l-1],i[l-2])-N;D<0;)D+=2*Math.PI;var B=Math.PI-D/2,G=void 0;G=B>Math.PI/2?B-Math.PI/2:Math.PI/2-B;var k=e/Math.cos(G);r=i[l-2].clone(),r=SuperMap.Plot.PlottingUtil.rotateAngle(i[l-1],B,r),n.push(SuperMap.Plot.PlottingUtil.linePnt(i[l-1],r,k))}}return n},SuperMap.Plot.PlottingUtil.getOutRectangleDis=function(t){if(2>t.length)return 0;for(var e=t[0].x,o=t[0].x,n=t[0].y,i=t[0].y,l=1;l<t.length;l++)e<t[l].x&&(e=t[l].x),o>t[l].x&&(o=t[l].x),n<t[l].y&&(n=t[l].y),i>t[l].y&&(i=t[l].y);return SuperMap.Plot.PlottingUtil.distance(new SuperMap.Geometry.Point(e,n),new SuperMap.Geometry.Point(o,i))},SuperMap.Plot.PlottingUtil.clonePoints=function(t){var e=[];if(void 0===t||null===t)return e;if(SuperMap.Plot.PlottingUtil.isArray(t)||(t=[t]),t&&null!=t)for(var o=0;o<t.length;o++)void 0!==t[o]&&null!==t[o]&&e.push(t[o].clone());return e},SuperMap.Plot.PlottingUtil.extend=function(t,e){if("function"==typeof SuperMap.Util.extend)return SuperMap.Util.extend(t,e);if(t=t||{},e){for(var o in e){var n=e[o];void 0!==n&&(t[o]=n)}!("function"==typeof window.Event&&e instanceof window.Event)&&e.hasOwnProperty&&e.hasOwnProperty("toString")&&(t.toString=e.toString)}return t},SuperMap.Plot.PlottingUtil.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)},SuperMap.Plot.PlottingUtil.indexOf=function(t,e){if(null==t)return-1;if("function"==typeof t.indexOf)return t.indexOf(e);for(var o=0,n=t.length;o<n;o++)if(t[o]===e)return o;return-1},SuperMap.Plot.PlottingUtil.copyAttributes=function(t,e){if(t=t||{},e)for(var o in e){var n=e[o];void 0!==n&&"CLASS_NAME"!==o&&"function"!=typeof n&&(t[o]=n)}return t},SuperMap.Plot.PlottingUtil.cloneObject=function(t){if(null===t||"object"!==(void 0===t?"undefined":n(t)))return t;if(t instanceof Date){var e=new Date;return e.setTime(t.getTime()),e}if(t instanceof Array)return t.slice(0);if(t instanceof Object){var o={};for(var i in t)t.hasOwnProperty(i)&&(o[i]=SuperMap.Plot.PlottingUtil.cloneObject(t[i]));return o}throw new Error("Unable to copy obj! Its type isn't supported.")},SuperMap.Plot.PlottingUtil.rad=function(t){return t*Math.PI/180},SuperMap.Plot.PlottingUtil.deg=function(t){return 180*t/Math.PI},SuperMap.Plot.PlottingUtil.VincentyConstants={a:6378137,b:6356752.3142,f:1/298.257223563},SuperMap.Plot.PlottingUtil.distVincenty=function(t,e){var o,n,i,l=SuperMap.Plot.PlottingUtil.VincentyConstants,r=l.a,a=l.b,s=l.f;"undefined"!=typeof L&&void 0!==L.LatLng&&t instanceof L.LatLng&&e instanceof L.LatLng?(o=SuperMap.Plot.PlottingUtil.rad(e.lng-t.lng),n=Math.atan((1-s)*Math.tan(SuperMap.Plot.PlottingUtil.rad(t.lat))),i=Math.atan((1-s)*Math.tan(SuperMap.Plot.PlottingUtil.rad(e.lat)))):(o=SuperMap.Plot.PlottingUtil.rad(e.lon-t.lon),n=Math.atan((1-s)*Math.tan(SuperMap.Plot.PlottingUtil.rad(t.lat))),i=Math.atan((1-s)*Math.tan(SuperMap.Plot.PlottingUtil.rad(e.lat))));for(var u=Math.sin(n),p=Math.cos(n),c=Math.sin(i),y=Math.cos(i),P=o,h=2*Math.PI,f=20;Math.abs(P-h)>1e-12&&--f>0;){var S=Math.sin(P),d=Math.cos(P),g=Math.sqrt(y*S*(y*S)+(p*c-u*y*d)*(p*c-u*y*d));if(0==g)return 0;var M=u*c+p*y*d,m=Math.atan2(g,M),v=Math.asin(p*y*S/g),b=Math.cos(v)*Math.cos(v),T=M-2*u*c/b,A=s/16*b*(4+s*(4-3*b));h=P,P=o+(1-A)*s*Math.sin(v)*(m+A*g*(T+A*M*(2*T*T-1)))}if(0==f)return NaN;var O=b*(r*r-a*a)/(a*a),E=O/1024*(256+O*(O*(74-47*O)-128));return(a*(1+O/16384*(4096+O*(O*(320-175*O)-768)))*(m-E*g*(T+E/4*(M*(2*T*T-1)-E/6*T*(4*g*g-3)*(4*T*T-3))))).toFixed(3)/1e3},SuperMap.Plot.PlottingUtil.destinationVincenty=function(t,e,o){var n,i,l=SuperMap.Plot.PlottingUtil,r=l.VincentyConstants,a=r.a,s=r.b,u=r.f;"undefined"!=typeof L&&void 0!==L.LatLng&&t instanceof L.LatLng?(n=t.lng,i=t.lat):(n=t.lon,i=t.lat);for(var p=o,c=l.rad(e),y=Math.sin(c),P=Math.cos(c),h=(1-u)*Math.tan(l.rad(i)),f=1/Math.sqrt(1+h*h),S=h*f,d=Math.atan2(h,P),g=f*y,M=1-g*g,m=M*(a*a-s*s)/(s*s),v=1+m/16384*(4096+m*(m*(320-175*m)-768)),b=m/1024*(256+m*(m*(74-47*m)-128)),T=p/(s*v),A=2*Math.PI;Math.abs(T-A)>1e-12;){var O=Math.cos(2*d+T),E=Math.sin(T),x=Math.cos(T);A=T,T=p/(s*v)+b*E*(O+b/4*(x*(2*O*O-1)-b/6*O*(4*E*E-3)*(4*O*O-3)))}var w=S*E-f*x*P,I=Math.atan2(S*x+f*E*P,(1-u)*Math.sqrt(g*g+w*w)),R=u/16*M*(4+u*(4-3*M)),C=Math.atan2(E*y,f*x-S*E*P)-(1-R)*u*g*(T+R*E*(O+R*x*(2*O*O-1)));return"undefined"!=typeof L&&void 0!==L.LatLng&&t instanceof L.LatLng?L.latLng(l.deg(I),n+l.deg(C)):new SuperMap.LonLat(n+l.deg(C),l.deg(I))}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.AnalysisSymbol=SuperMap.Plot.AnalysisSymbol=SuperMap.Plot.AnalysisSymbol||{};SuperMap.Plot.AnalysisSymbol.analysisBasicInfo=function(t){var e=new Object;return e.libID=t.libID,e.code=t.code,e.symbolType=t.symbolType,e.symbolName=t.symbolName,e.textContent=t.textContent,e.minEditPts=t.algoMinEditPts,e.maxEditPts=t.algoMaxEditPts,e.surroundLineType=t.surroundLineType,e},SuperMap.Plot.AnalysisSymbol.analysisDotBasicInfo=function(t){var e=SuperMap.Plot.PlottingUtil.DPI,o=new Object;o.anchorPoint=new SuperMap.Geometry.Point(t.anchorPoint.x,t.anchorPoint.y);var n=0,i=0;return void 0!==t.symbolSizeInLib?(n=Math.round(t.symbolSizeInLib.x*e/25.4/10),i=Math.round(t.symbolSizeInLib.y*e/25.4/10)):(n=Math.round(t.symbolSize.x*e/25.4/10),i=Math.round(t.symbolSize.y*e/25.4/10)),o.symbolSizeInLib=new SuperMap.Size(n,i),o.symbolSizeInLib.w=n,o.symbolSizeInLib.h=i,o.middleMarkBounds=new SuperMap.Bounds(t.middleMarkBounds.leftBottom.x,t.middleMarkBounds.leftBottom.y,t.middleMarkBounds.rightTop.x,t.middleMarkBounds.rightTop.y),o},SuperMap.Plot.AnalysisSymbol.analysisAlgoBasicInfo=function(t,e){var o=new Object;if(o.subSymbols=[],o.scalePoints=[],o.scaleValues=[],e&&t.subSymbols)for(var n=0;n<t.subSymbols.length;n++)o.subSymbols.push(new SuperMap.Plot.SubSymbol(t.libID,t.subSymbols[n]));if(t.scalePoints){o.scalePoints=[];for(var i=0;i<t.scalePoints.length;i++){var l=new SuperMap.Geometry.Point(t.scalePoints[i].x,t.scalePoints[i].y);l.tag=i,l.isScalePoint=!0,o.scalePoints.push(l)}}if(t.scaleValues)for(var r=0;r<t.scaleValues.length;r++)o.scaleValues.push(t.scaleValues[r]);return o},SuperMap.Plot.AnalysisSymbol.analysisSymbolCells=function(t,e){var o=[];if(t&&(function(t,o){if(t.innerCells&&t.innerCells.length)for(var n=0;n<t.innerCells.length;n++){var i=t.innerCells[n];if(t.symbolIsCanFill&&i.type!==SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL){var l=new Object,r=SuperMap.Plot.AnalysisSymbol.getStyle(t,e);l.type=32,l.style={fillSymbolID:r.fillSymbolID,fillColor:r.fillColor,fillOpacity:r.fillOpacity,strokeOpacity:0,strokeWidth:0,fillLimit:!1,lineColorLimit:!0,lineWidthLimit:!0},l.positionPoints=[];for(var a=0;a<i.positionPoints.length;a++){var s=new SuperMap.Geometry.Point(i.positionPoints[a].x,i.positionPoints[a].y);l.positionPoints.push(s)}o.push(l)}}}(t,o),t.innerCells)){var n=t.innerCells;if(0!==n.length)for(var i=0;i<n.length;i++)o.push(SuperMap.Plot.AnalysisSymbol.analysisInnerCell(n[i],e))}return o},SuperMap.Plot.AnalysisSymbol.analysisInnerCell=function(t,e){var o=new Object;if(o.positionPoints=[],t){if(o.type=t.type,o.surroundLineFlag=t.surroundLineFlag,o.textContent=t.textContent,o.style=SuperMap.Plot.AnalysisSymbol.getStyle(t,e),null!=t.positionPoints)for(var n=t.positionPoints,i=0;i<n.length;i++){var l=new SuperMap.Geometry.Point(n[i].x,n[i].y);o.positionPoints.push(l)}if(o.style.lineColorLimit=t.lineColorLimit,o.style.lineTypeLimit=t.lineTypeLimit,o.style.lineWidthLimit=t.lineWidthLimit,o.style.fillLimit=t.fillLimit,o.style.fillColorLimit=t.fillColorLimit,o.style.fontColorLimit=t.fontColorLimit,o.style.surroundLineLimit=t.surroundLineLimit,o.style.surroundLineFlag=o.surroundLineFlag,34==t.type?o.style.fontColorLimit=!0:o.style.fontColorLimit=t.fontColorLimit,o.type===SuperMap.Plot.SymbolType.RECTANGLESYMBOL){var r=o.positionPoints[0],a=o.positionPoints[1],s=r.clone(),u=new SuperMap.Geometry.Point(a.x,r.y),p=a.clone(),c=new SuperMap.Geometry.Point(r.x,a.y);o.positionPoints=[],o.positionPoints.push(s),o.positionPoints.push(u),o.positionPoints.push(p),o.positionPoints.push(c),o.type=SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL}o.type===SuperMap.Plot.SymbolType.TEXTSYMBOL&&(o.style.fontSizeLimit=!0)}return o},SuperMap.Plot.AnalysisSymbol.getStyle=function(t,e){function o(t){var e=t.red.toString(16);e.length<2&&(e="0"+e);var o=t.green.toString(16);o.length<2&&(o="0"+o);var n=t.blue.toString(16);return n.length<2&&(n="0"+n),"#"+e+o+n}function n(t){return"TOPLEFT"===t?"lt":"TOPCENTER"===t?"ct":"TOPRIGHT"===t?"rt":"BOTTOMLEFT"===t?"lb":"BOTTOMCENTER"===t?"cb":"BOTTOMRIGHT"===t?"rb":"MIDDLELEFT"===t?"lm":"MIDDLECENTER"===t?"cm":"MIDDLERIGHT"===t?"rm":0===t?"lt":1===t?"ct":2===t?"rt":6===t?"lb":7===t?"cb":8===t?"rb":3===t?"lm":4===t?"cm":5===t?"rm":"lt"}var i=SuperMap.Plot.PlottingUtil.DPI,l={};return t.style?(e?(l.fillSymbolID=t.style.fillSymbolID,l.fillSymbolID||(l.fill=t.style.fill)):(!1===t.style.fill?t.style.fillSymbolID=1:!0===t.style.fill&&(t.style.fillSymbolID=0),l.fillSymbolID=t.style.fillSymbolID),void 0!==t.style.strokeGradientMode&&null!=t.style.strokeGradientMode?1===t.style.strokeGradientMode?l.strokeGradientMode="LINEAR":2===t.style.strokeGradientMode?l.strokeGradientMode="RADIAL":"LINEAR"!==t.style.strokeGradientMode&&"RADIAL"!==t.style.strokeGradientMode&&(l.strokeGradientMode="NONE"):l.strokeGradientMode="NONE",void 0!==t.style.strokeBackColor?(l.strokeBackColor=o(t.style.strokeBackColor),l.strokeBackOpacity=(t.style.strokeBackColor.alpha/255).toFixed(2)):t.style.fillBackColor&&(l.strokeBackColor=o(t.style.fillBackColor),l.strokeBackOpacity=(t.style.fillBackColor.alpha/255).toFixed(2)),void 0!==t.style.fillGradientMode&&null!=t.style.fillGradientMode&&(1===t.style.fillGradientMode?l.fillGradientMode="LINEAR":2===t.style.fillGradientMode?l.fillGradientMode="RADIAL":"LINEAR"!==t.style.fillGradientMode&&"RADIAL"!==t.style.fillGradientMode&&(l.fillGradientMode="NONE")),null!=t.style.fillGradientAngle&&void 0!==t.style.fillGradientAngle?l.fillAngle=t.style.fillGradientAngle:void 0!==t.style.fillAngle&&null!=t.style.fillAngle&&(l.fillAngle=t.style.fillAngle),void 0!==t.style.fillGradientOffsetRatioX&&null!=t.style.fillGradientOffsetRatioX?l.fillCenterOffsetX=t.style.fillGradientOffsetRatioX/100:void 0!==t.style.fillCenterOffsetX&&null!=t.style.fillCenterOffsetX&&(l.fillCenterOffsetX=t.style.fillCenterOffsetX/100),void 0!==t.style.fillGradientOffsetRatioY&&null!=t.style.fillGradientOffsetRatioY?l.fillCenterOffsetY=t.style.fillGradientOffsetRatioY/100:void 0!==t.style.fillCenterOffsetY&&null!=t.style.fillCenterOffsetY&&(l.fillCenterOffsetY=t.style.fillCenterOffsetY/100),void 0!==t.style.fillForeColor&&(l.fillColor=o(t.style.fillForeColor)),void 0!==t.style.fillOpaqueRate&&(l.fillOpacity=(t.style.fillOpaqueRate/100).toFixed(2),100!==t.style.fillOpaqueRate||1===t.style.fillGradientMode&&2===t.style.fillGradientMode||(l.fillOpacity=(t.style.fillForeColor.alpha/255).toFixed(2))),void 0!==t.style.fillBackColor&&(l.fillBackColor=o(t.style.fillBackColor)),0===t.style.fillBackOpaque?l.fillBackOpacity=0:t.style.fillBackColor&&t.style.fillBackColor.alpha&&(l.fillBackOpacity=(t.style.fillBackColor.alpha/255).toFixed(2)),void 0!==t.style.lineColor&&(!0===e?(l.color=o(t.style.lineColor),l.opacity=(t.style.lineColor.alpha/255).toFixed(2)):(l.strokeColor=o(t.style.lineColor),l.strokeOpacity=(t.style.lineColor.alpha/255).toFixed(2))),void 0!==t.style.lineWidth&&(!0===e?l.weight=Math.ceil(t.style.lineWidth*i/25.4):l.strokeWidth=Math.ceil(t.style.lineWidth*i/25.4)),e?(l.lineSymbolID=t.style.lineSymbolID,l.lineSymbolID||(l.dashArray=t.style.dashArray)):1===t.style.lineSymbolID?l.strokeDashstyle="dash":2===t.style.lineSymbolID?l.strokeDashstyle="dot":3===t.style.lineSymbolID?l.strokeDashstyle="dashdot":l.strokeDashstyle="solid",t.textStyle2D&&null!=t.textStyle2D?(void 0!==t.textStyle2D.sizeFixed&&(l.sizeFixed=t.textStyle2D.sizeFixed),void 0!==t.textStyle2D.fontName&&(l.fontFamily=t.textStyle2D.fontName),void 0!==t.textStyle2D.fontHeight&&(l.sizeFixed?l.fontSize=Math.ceil(t.textStyle2D.fontHeight*i/25.4):l.fontSize=t.textStyle2D.fontHeight),void 0!==t.textStyle2D.foreColor&&(l.fontColor=o(t.textStyle2D.foreColor)),void 0!==t.textStyle2D.align&&(l.labelAlign=n(t.textStyle2D.align)),void 0!==t.textStyle2D.rotation&&(l.labelRotation=-t.textStyle2D.rotation),void 0!==t.textStyle2D.bold&&(l.fontWeight=-t.textStyle2D.bold),l.labelXOffset=0,l.labelYOffset=0):t.textStyle&&null!=t.textStyle&&(void 0!==t.textStyle.sizeFixed&&(l.sizeFixed=t.textStyle.sizeFixed),void 0!==t.textStyle.fontName&&(l.fontFamily=t.textStyle.fontName),void 0!==t.textStyle.fontHeight&&(l.sizeFixed?l.fontSize=Math.ceil(t.textStyle.fontHeight*i/25.4):l.fontSize=t.textStyle.fontHeight),void 0!==t.textStyle.foreColor&&(l.fontColor=o(t.textStyle.foreColor)),void 0!==t.textStyle.align&&(l.labelAlign=n(t.textStyle.align)),void 0!==t.textStyle.rotation&&(l.labelRotation=-t.textStyle.rotation),void 0!==t.textStyle.bold&&(l.fontWeight=-t.textStyle.bold),l.labelXOffset=0,l.labelYOffset=0),void 0!==t.style.fontOpacity&&(l.fontOpacity=t.style.fontOpacity),void 0!==t.style.fontStroke?l.fontStroke=t.style.fontStroke:t.textStyle2D&&void 0!==t.textStyle2D.outline&&(l.fontStroke=t.textStyle2D.outline),void 0!==t.style.fontStrokeColor?l.fontStrokeColor=t.style.fontStrokeColor:t.textStyle2D&&void 0!==t.textStyle2D.backColor&&(l.fontStrokeColor=o(t.textStyle2D.backColor)),void 0!==l.fontStrokeWidth&&(l.fontStrokeWidth=t.style.fontStrokeWidth),void 0!==t.style.fontBackground&&(l.fontBackground=t.style.fontBackground),void 0!==t.style.fontBackgroundColor&&(l.fontBackgroundColor=t.style.fontBackgroundColor),void 0!==t.style.fontShadow&&(l.fontShadow=t.style.fontShadow),void 0!==t.style.fontShadowColor&&(l.fontShadowColor=t.style.fontShadowColor),void 0!==t.style.fontShadowOffsetX&&(l.fontShadowOffsetX=t.style.fontShadowOffsetX),void 0!==t.style.fontShadowOffsetY&&(l.fontShadowOffsetY=t.style.fontShadowOffsetY),void 0!==t.style.fontSpace&&(l.fontSpace=t.style.fontSpace),void 0!==t.style.fontPercent&&(l.fontPercent=t.style.fontPercent),void 0!==t.style.fontWeight&&(l.fontWeight=t.style.fontWeight),void 0!==t.style.fontStyle&&(l.fontStyle=t.style.fontStyle),void 0!==t.surroundLineColor&&null!=t.surroundLineColor&&(l.surroundLineColor=o(t.surroundLineColor),l.surroundLineColorOpacity=(t.surroundLineColor.alpha/255).toFixed(2)),void 0!==t.surroundLineWidth2D&&null!=t.surroundLineWidth2D?l.surroundLineWidth=Math.round(t.surroundLineWidth2D*i/25.4):void 0!==t.surroundLineWidth&&null!=t.surroundLineWidth&&(l.surroundLineWidth=Math.round(t.surroundLineWidth*i/25.4)),!1===t.visibility?l.display="none":l.display="display",l):l},SuperMap.Plot.AnalysisSymbol.setStyle=function(t,e,o){var n=SuperMap.Plot.PlottingUtil.DPI;if(null!=e)return e.style||(e.style={}),e.textStyle2D||(e.textStyle2D={}),o?(e.style.fillSymbolID=t.fillSymbolID,e.style.fillSymbolID||(e.style.fill=t.fill)):(!1===t.fill?t.fillSymbolID=1:!0===t.fill&&(t.fillSymbolID=0),e.style.fillSymbolID=t.fillSymbolID),t.fillGradientMode&&(e.style.fillGradientMode=t.fillGradientMode),t.fillGradientMode&&("LINEAR"===t.fillGradientMode?e.style.fillGradientMode=1:"RADIAL"===t.fillGradientMode?e.style.fillGradientMode=2:e.style.fillGradientMode=0),t.strokeGradientMode&&("LINEAR"===t.strokeGradientMode?e.style.strokeGradientMode=1:"RADIAL"===t.strokeGradientMode?e.style.strokeGradientMode=2:e.style.strokeGradientMode=0),t.strokeBackColor&&(e.style.strokeBackColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.strokeBackColor)),t.strokeBackOpacity&&e.style.strokeBackColor&&(e.style.strokeBackColor.alpha=255*t.strokeBackOpacity),null!=t.fillAngle&&void 0!==t.fillAngle&&(e.style.fillAngle=t.fillAngle,e.style.fillGradientAngle=t.fillAngle),null!=t.fillCenterOffsetX&&void 0!==t.fillCenterOffsetX&&(e.style.fillCenterOffsetX=100*t.fillCenterOffsetX,e.style.fillGradientOffsetRatioX=100*t.fillCenterOffsetX),null!=t.fillCenterOffsetY&&void 0!==t.fillCenterOffsetY&&(e.style.fillCenterOffsetY=100*t.fillCenterOffsetY,e.style.fillGradientOffsetRatioY=100*t.fillCenterOffsetY),t.fillColor&&(e.style.fillForeColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.fillColor)),void 0!==t.fillOpacity&&null!=t.fillOpacity&&(e.style.fillOpaqueRate=100*t.fillOpacity,e.style.fillForeColor.alpha=255),t.fillBackColor&&(e.style.fillBackColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.fillBackColor)),void 0!==t.fillBackOpacity&&null!=t.fillBackOpacity&&(0===t.fillBackOpacity?(e.style.fillBackOpaque=0,e.style.fillBackColor.alpha=255):(e.style.fillBackOpaque=1,e.style.fillBackColor.alpha=255*t.fillBackOpacity)),!0===o&&t.color?e.style.lineColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.color):t.strokeColor&&(e.style.lineColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.strokeColor)),!0===o&&null!=t.opacity&&void 0!==t.opacity?(e.style.lineColor.alpha=255*t.opacity,e.style.lineColor.alpha<1&&(e.style.lineColor.alpha=1)):null!=t.strokeOpacity&&void 0!==t.strokeOpacity&&(e.style.lineColor.alpha=255*t.strokeOpacity,e.style.lineColor.alpha<1&&(e.style.lineColor.alpha=1)),!0===o&&t.weight?e.style.lineWidth=25.4*t.weight/n:t.strokeWidth&&(e.style.lineWidth=25.4*t.strokeWidth/n),o?(e.style.lineSymbolID=t.lineSymbolID,e.style.lineSymbolID||(e.style.dashArray=t.dashArray)):"dot"===t.strokeDashstyle?e.style.lineSymbolID=2:"dash"===t.strokeDashstyle||"longdash"===t.strokeDashstyle?e.style.lineSymbolID=1:"dashdot"===t.strokeDashstyle||"longdashdot"===t.strokeDashstyle?e.style.lineSymbolID=3:e.style.lineSymbolID=0,t.fontFamily&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.fontName=t.fontFamily:e.textStyle&&null!=e.textStyle&&(e.textStyle.fontName=t.fontFamily)),t.sizeFixed&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.sizeFixed=t.sizeFixed:e.textStyle&&null!=e.textStyle&&(e.textStyle.sizeFixed=t.sizeFixed)),t.fontSize&&(e.textStyle2D&&null!=e.textStyle2D?t.sizeFixed?e.textStyle2D.fontHeight=25.4*t.fontSize/n:e.textStyle2D.fontHeight=t.fontSize:e.textStyle&&null!=e.textStyle&&(t.sizeFixed?e.textStyle.fontHeight=25.4*t.fontSize/n:e.textStyle.fontHeight=t.fontSize)),t.fontWeight&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.bold=t.fontWeight:e.textStyle&&null!=e.textStyle&&(e.textStyle.bold=t.fontWeight)),t.fontColor&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.foreColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.fontColor):e.textStyle&&null!=e.textStyle&&(e.textStyle.foreColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.fontColor))),t.labelRotation&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.rotation=-t.labelRotation:e.textStyle&&null!=e.textStyle&&(e.textStyle.rotation=-t.labelRotation)),void 0!==t.fontOpacity&&(e.style.fontOpacity=t.fontOpacity),void 0!==t.fontStroke&&(e.textStyle2D.outline=t.fontStroke),void 0!==t.fontStrokeColor&&(e.textStyle2D.backColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.fontStrokeColor)),void 0!==t.fontStrokeWidth&&(e.style.fontStrokeWidth=t.fontStrokeWidth),void 0!==t.fontBackground&&(e.style.fontBackground=t.fontBackground),void 0!==t.fontBackgroundColor&&(e.style.fontBackgroundColor=t.fontBackgroundColor),void 0!==t.fontShadow&&(e.style.fontShadow=t.fontShadow),void 0!==t.fontShadowColor&&(e.style.fontShadowColor=t.fontShadowColor),void 0!==t.fontShadowOffsetX&&(e.style.fontShadowOffsetX=t.fontShadowOffsetX),void 0!==t.fontShadowOffsetY&&(e.style.fontShadowOffsetY=t.fontShadowOffsetY),void 0!==t.fontSpace&&(e.style.fontSpace=t.fontSpace),void 0!==t.fontPercent&&(e.style.fontPercent=t.fontPercent),void 0!==t.fontWeight&&(e.style.fontWeight=t.fontWeight),void 0!==t.fontStyle&&(e.style.fontStyle=t.fontStyle),t.surroundLineColor&&(e.surroundLineColor=SuperMap.Plot.PlottingUtil.colorStringToRGB(t.surroundLineColor)),null!=t.surroundLineColorOpacity&&void 0!==t.surroundLineColorOpacity&&(e.surroundLineColor.alpha=255*t.surroundLineColorOpacity),t.surroundLineWidth&&(e.surroundLineWidth2D=25.4*t.surroundLineWidth/n),void 0!==t.labelAlign&&("lt"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=0:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=0):"ct"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=1:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=1):"rt"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=2:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=2):"lb"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=6:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=6):"cb"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=7:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=7):"rb"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=8:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=8):"lm"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=3:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=3):"cm"===t.labelAlign?e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=4:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=4):"rm"===t.labelAlign&&(e.textStyle2D&&null!=e.textStyle2D?e.textStyle2D.align=5:e.textStyle&&null!=e.textStyle&&(e.textStyle.align=5))),t.display&&"none"===t.display?e.visibility=!1:e.visibility=!0,t},SuperMap.Plot.AnalysisSymbol.mergeDefaultStyleToFeature=function(t,e,o){var n=void 0,i=void 0;n=t.style,i=!0!==o?t.geometry:t,e&&!0===e.defaultFlag&&!1===i.isEdit&&(i.surroundLineType=e.surroundLineType,n.surroundLineColor=e.surroundLineColor,n.surroundLineWidth=e.surroundLineWidth,n.surroundLineColorOpacity=e.surroundLineColorOpacity,n.fillBackColor=e.fillBackColor,n.fillBackOpacity=e.fillBackOpacity,n.fillGradientMode=e.fillGradientMode,n.fillCenterOffsetX=e.fillCenterOffsetX,n.fillCenterOffsetY=e.fillCenterOffsetY,n.fillAngle=e.fillAngle,!0===o?(n.color=e.lineColor,n.weight=e.lineWidth,n.opacity=e.lineOpacity,n.lineSymbolID=e.lineType,n.linecap=e.lineCap,n.linejoin=e.lineJoin):(n.strokeColor=e.lineColor,n.strokeWidth=e.lineWidth,n.strokeOpacity=e.lineOpacity,n.strokeDashstyle=e.lineType,n.strokeLinecap=e.lineCap,n.strokeLinejoin=e.lineJoin),n.fillSymbolID=e.fillSymbolID,n.fillColor=e.fillColor,n.fillOpacity=e.fillOpacity,n.fontColor=e.fontColor,n.fontOpacity=e.fontOpacity,n.fontSize=e.fontSize,n.fontFamily=e.fontFamily,n.fontWeight=e.fontWeight,n.fontStyle=e.fontStyle,n.fontStroke=e.fontStroke,n.fontStrokeColor=e.fontStrokeColor,n.fontStrokeWidth=e.fontStrokeWidth,n.fontBackground=e.fontBackground,n.fontBackgroundColor=e.fontBackgroundColor,n.fontShadow=e.fontShadow,n.fontShadowColor=e.fontShadowColor,n.fontShadowOffsetX=e.fontShadowOffsetX,n.fontShadowOffsetY=e.fontShadowOffsetY,n.fontSpace=e.fontSpace,n.fontPercent=e.fontPercent,n.strokeGradientMode=e.strokeGradientMode,n.strokeBackColor=e.strokeBackColor,n.strokeBackOpacity=e.strokeBackOpacity)},SuperMap.Plot.AnalysisSymbol.mergeSymbolDataAndServerData=function(t,e){t.hasOwnProperty("algoMinEditPts")||(t.algoMinEditPts=e.algoMinEditPts),t.hasOwnProperty("algoMaxEditPts")||(t.algoMaxEditPts=e.algoMaxEditPts),t.hasOwnProperty("innerCells")||(t.innerCells=SuperMap.Util.cloneObject(e.innerCells)),t.hasOwnProperty("symbolRanks")||(t.symbolRanks=SuperMap.Util.cloneObject(e.symbolRanks)),t.hasOwnProperty("symbolSizeInLib")||(t.symbolSizeInLib=SuperMap.Util.cloneObject(e.symbolSize)),t.hasOwnProperty("middleMarkExist")||(t.middleMarkExist=SuperMap.Util.cloneObject(e.middleMarkExist)),t.hasOwnProperty("middleMarkBounds")||(t.middleMarkBounds=SuperMap.Util.cloneObject(e.middleMarkBounds)),t.hasOwnProperty("anchorPoint")||(t.anchorPoint=SuperMap.Util.cloneObject(e.anchorPoint))},SuperMap.Plot.AnalysisSymbol.setSymbolData=function(t,e,o){null==e&&(e={}),e.hasOwnProperty("type")||(e.type="GRAPHICOBJECT"),e.isEdit=!0,e.uuid=t.uuid,e.associatedUuid=t.associatedUuid,e.hasOwnProperty("rotate2D")?e.rotate2D.x=t.dRotate:e.rotate2D={x:t.dRotate,y:0,z:0},e.hasOwnProperty("scale2D")?e.scale2D.x=t.dScale:e.scale2D={x:t.dScale,y:0,z:0},e.libID=t.libID,e.code=t.code,e.symbolType=t.symbolType,e.symbolName=t.symbolName,e.annotationPosition=t.annotationPosition?t.annotationPosition:t.textPosition,e.textContent=t.textContent,e.scaleByMap=t.scaleByMap,e.resolution=t.resolution,e.isLocked=t.isLocked,e.note=t.note,e.custom=t.custom,e.subSymbols=[];for(var n=0;n<t.subSymbols.length;n++){var i=t.subSymbols[n];e.subSymbols.push({libID:i.libID,code:i.code,symbolData:i.symbolData,textContent:i.textContent,totalNum:i.totalNum})}e.extendProperty=[];for(var l=t.getExtendProperty().getPropertyCount(),r=0;r<l;r++){var a=t.getExtendProperty().getPropertyByIndex(r);e.extendProperty.push({key:a.key,value:a.value})}e.avoidRegions=[];for(var s=0;s<t.avoidRegions.length;s++){var u={};SuperMap.Plot.AnalysisSymbol.setStyle(t.avoidRegions[s].feature.style,u,o),e.avoidRegions.push([t.avoidRegions[s].getSymbolData(),u])}if(!0===o?SuperMap.Plot.AnalysisSymbol.setStyle(t.style,e,o):null!=t.feature&&SuperMap.Plot.AnalysisSymbol.setStyle(t.feature.style,e),t.symbolType===SuperMap.Plot.SymbolType.AIRROUTE||t.symbolType===SuperMap.Plot.SymbolType.NAVYROUTE||t.symbolType===SuperMap.Plot.SymbolType.MISSILEROUTE){if(e.routeNodes=t.routeNodes,o)for(var p=0;p<t.routeNodes.length;p++)e.routeNodes[p].positionPoint={},e.routeNodes[p].positionPoint.x=t.routeNodes[p].x,e.routeNodes[p].positionPoint.y=t.routeNodes[p].y,e.routeNodes[p].positionPoint.z=t.routeNodes[p].z,delete e.routeNodes[p].x,delete e.routeNodes[p].y,delete e.routeNodes[p].z;e.arrRoutePts=t.arrRoutePts,e.lineStyle=t.lineStyle}else if(t.symbolType===SuperMap.Plot.SymbolType.GROUPOBJECT||t.symbolType===SuperMap.Plot.SymbolType.FLAGGROUP||t.symbolType===SuperMap.Plot.SymbolType.NAVYDEPLOYMENT||t.symbolType===SuperMap.Plot.SymbolType.AIRDEPLOYMENT){if(e.subAssociatedUuids=t.subAssociatedUuids,e.subFeatures=[],o)for(var c=0;c<t.subObjects.length;c++)e.subFeatures.push(t.subObjects[c].getSymbolData());else for(var y=0;y<t.components.length;y++)e.subFeatures.push(t.components[y].geometry.getSymbolData());0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.FLAGGROUP?e.ratio=t.ratio:0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.AIRDEPLOYMENT?(e.colNum=t.colNum,e.speceDis=t.speceDis,e.isShowTooltip=t.isShowTooltip):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.NAVYDEPLOYMENT&&(e.colNum=t.colNum,e.speceDis=t.speceDis)}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXT)e.symbolTexts=t.symbolTexts,e.addFrame=t.addFrame;else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXT1)e.space=t.space,e.offsetX=t.offsetX,e.offsetY=t.offsetY;else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SATELLITE){if(e.hasOwnProperty("scaleValues"))for(var P=0;P<t.scaleValues.length;P++)e.scaleValues.length>P?e.scaleValues[P]=t.scaleValues[P]:e.scaleValues.push(t.scaleValues[P]);else e.scaleValues=[],e.scaleValues=t.scaleValues;e.visible=t.visible,e.orbitPoints=t.orbitPoints}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS)e.timeWindows=t.timeWindows;else{var h=void 0;h=!0===o?L.Util.latLngsToSuperMapPoints(t.getLatLngs()):t.controlPoints,e.hasOwnProperty("localePoints")||(e.localePoints=[]);var f=h.length;t.symbolType===SuperMap.Plot.SymbolType.ELLIPSESYMBOL&&(f=3);for(var S=0;S<f;S++)e.localePoints.length>S?(e.localePoints[S].x=h[S].x,e.localePoints[S].y=h[S].y,e.localePoints[S].hasOwnProperty("z")||(e.localePoints[S].z=0)):e.localePoints.push({x:h[S].x,y:h[S].y,z:0});if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.LINERELATION)e.endAssociatedUuid=t.endAssociatedUuid,e.lineRelationType=t.lineRelationType,e.startAssociatedUuid=t.startAssociatedUuid,e.subSectionCount=t.subSectionCount;else if(t.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL){e.surroundLineType=t.surroundLineType,e.symbolRank=t.symbolRank,e.negativeImage=t.negativeImage,e.space=t.space,e.flagTextSize=t.flagTextSize,e.maxScale=t.maxScale,e.minScale=t.minScale,e.textDisplay=t.textDisplay,e.actualScale=t.actualScale,void 0!==t.fontSize&&(e.fontSize=t.fontSize),void 0!==t.strokeWidth&&(e.strokeWidth=t.strokeWidth);var d=25.4*t.symbolSize.w*10/SuperMap.Plot.PlottingUtil.DPI,g=25.4*t.symbolSize.h*10/SuperMap.Plot.PlottingUtil.DPI;e.symbolSize={x:d,y:g};var M=25.4*t.symbolSizeInLib.w*10/SuperMap.Plot.PlottingUtil.DPI,m=25.4*t.symbolSizeInLib.h*10/SuperMap.Plot.PlottingUtil.DPI;e.symbolSizeInLib={x:M,y:m},e.positionOffset=t.positionOffset,e.positionOffsetType=t.positionOffsetType,e.positionOffsetX=t.positionOffsetX,e.positionOffsetY=t.positionOffsetY,!1===t.widthHeightLimit||!0===t.widthHeightLimit?e.limitWidthHeight=t.widthHeightLimit:e.limitWidthHeight=t.limitWidthHeight}else{if(e.surroundLineType=t.surroundLineType,e.hasOwnProperty("scaleValues"))for(var v=0;v<t.scaleValues.length;v++)e.scaleValues.length>v?e.scaleValues[v]=t.scaleValues[v]:e.scaleValues.push(t.scaleValues[v]);else e.scaleValues=[],e.scaleValues=t.scaleValues;e.subSymbolScaleValue=t.subSymbolScaleValue,e.baseScale=t.baseScale,e.strokeWidth=t.strokeWidth,e.polylineConnectLocationPoint=t.polylineConnectLocationPoint,22===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ALGOSYMBOL?(e.arrowHeadType=t.arrowHeadType,e.arrowBodyType=t.arrowBodyType,e.arrowTailType=t.arrowTailType):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ARROWLINE?e.arrowAngle=t.arrowAngle:0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE?e.defaultRadius=t.defaultRadius:0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.CONCENTRICCIRCLE||(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.LINEMARKING?(e.islocationCircle=t.islocationCircle,e.textBoxType=t.textBoxType):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXTBOX?(e.roundBox=t.roundBox,e.textBoxType=t.textBoxType):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.PATHTEXT?(e.isAvoid=t.isAvoid,e.isCurve=t.isCurve,e.relLineText=t.relLineText,e.showPathLine=t.showPathLine,e.textToLineDistance=t.textToLineDistance,e.showPathLineArrow=t.showPathLineArrow):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ARCREGION&&(o?(e.centerPoint={x:t.centerPoint.lng,y:t.centerPoint.lat},e.circlePts=t.circlePts,e.spatialAnalystUrl=t.spatialAnalystUrl):e.centerPoint=t.centerPoint,e.endAngle=t.endAngle,e.radius=t.radius,e.radiusPosAngle=t.radiusPosAngle,e.startAngle=t.startAngle,e.textPosition=t.textPosition,e.radiusLineType=t.radiusLineType,e.radiusText=t.radiusText))}}t.symbolData=e},SuperMap.Plot.AnalysisSymbol.parseSymbolData=function(t,e,o){if(null!=e){if(void 0!==e.isEdit&&(t.isEdit=e.isEdit),t.libID=parseInt(e.libID),t.code=parseInt(e.code),t.symbolType=e.symbolType,t.symbolName=e.symbolName,t.textContent=e.textContent,void 0!==e.dScale?t.dScale=e.dScale:void 0!==e.scale2D&&(t.dScale=e.scale2D.x),void 0!==e.dRotate?t.dRotate=e.dRotate:void 0!==e.rotate2D&&(t.dRotate=e.rotate2D.x),void 0!==e.resolution&&(t.resolution=e.resolution),void 0!==e.uuid&&(t.uuid=e.uuid),void 0!==e.associatedUuid&&(t.associatedUuid=e.associatedUuid),void 0!==e.annotationPosition&&(o?t.annotationPosition=e.annotationPosition:t.textPosition=e.annotationPosition),void 0!==e.scaleByMap&&(t.scaleByMap=e.scaleByMap),void 0!==e.isLocked&&(t.isLocked=e.isLocked),void 0!==e.note&&(t.note=e.note),void 0!==e.custom&&(t.custom=e.custom),e.extendProperty)for(var n=0;n<e.extendProperty.length;n++){var i=e.extendProperty[n];t.extendProperty.addProperty(i.key,i.value)}if(e.hasOwnProperty("subSymbols")&&null!=e.subSymbols){t.subSymbols=[];for(var l=0;l<e.subSymbols.length;l++){var r=e.subSymbols[l].libID;void 0===r&&(r=t.libID);var a=e.subSymbols[l].code;if(void 0!==a){var s={};void 0!==e.subSymbols[l].textContent&&(s.textContent=e.subSymbols[l].textContent),void 0!==e.subSymbols[l].totalNum&&(s.totalNum=e.subSymbols[l].totalNum),void 0!==e.subSymbols[l].symbolData&&(s.symbolData=e.subSymbols[l].symbolData),t.subSymbols.push(new SuperMap.Plot.SubSymbol(r,a,s))}}}if(e.avoidRegions&&0!==e.avoidRegions.length)for(var u=0;u<e.avoidRegions.length;u++){var p={libID:0,code:SuperMap.Plot.SymbolType.AVOIDREGION,map:t.map,symbolData:e.avoidRegions[u][0]},c=null;if(o)(c=L.supermap.plotting.avoidRegion(0,SuperMap.Plot.SymbolType.AVOIDREGION,[],p)).style=SuperMap.Plot.AnalysisSymbol.getStyle(t.symbolData.avoidRegions[u][1],!0);else{c=new SuperMap.Geometry.AvoidRegion(p);var y=new SuperMap.Feature.Vector(c);y.style=SuperMap.Plot.AnalysisSymbol.getStyle(e.avoidRegions[u][1],o),c.feature=y,c.calculateParts()}t.avoidRegions.push(c)}if(!0===o&&(t.style=SuperMap.Plot.AnalysisSymbol.getStyle(e,!0)),t.symbolType===SuperMap.Plot.SymbolType.AIRROUTE||t.symbolType===SuperMap.Plot.SymbolType.NAVYROUTE||t.symbolType===SuperMap.Plot.SymbolType.MISSILEROUTE){t.routeNodes=e.routeNodes,t.routeNodes=[];for(var P=0;P<e.routeNodes.length;P++){var h=new SuperMap.Plot.RouteNode;null==e.routeNodes[P].id&&void 0===e.routeNodes[P].id||(h.id=e.routeNodes[P].id),h.type=e.routeNodes[P].type,h.name=e.routeNodes[P].name,h.rotate=e.routeNodes[P].rotate,o?(h.x=e.routeNodes[P].positionPoint.x,h.y=e.routeNodes[P].positionPoint.y,h.z=e.routeNodes[P].positionPoint.z):h.positionPoint=new SuperMap.Geometry.Point(e.routeNodes[P].positionPoint.x,e.routeNodes[P].positionPoint.y),h.towardNodes=[];for(var f=0;f<e.routeNodes[P].towardNodes.length;f++){var S=new SuperMap.Plot.TowardNode;S.routeNodeId=e.routeNodes[P].towardNodes[f].routeNodeId,S.relLineText=e.routeNodes[P].towardNodes[f].relLineText,S.textContent=e.routeNodes[P].towardNodes[f].textContent,S.offsetX=e.routeNodes[P].towardNodes[f].offsetX,S.offsetY=e.routeNodes[P].towardNodes[f].offsetY,S.style=e.routeNodes[P].towardNodes[f].style,h.towardNodes.push(S)}h.style=e.routeNodes[P].style,t.routeNodes.push(h)}t.arrRoutePts=[];for(var d=0;d<e.arrRoutePts.length;d++){for(var g=[],M=0;M<e.arrRoutePts[d].length;M++)e.arrRoutePts[d][M].hasOwnProperty("lat")&&e.arrRoutePts[d][M].hasOwnProperty("lng")?g.push(new SuperMap.Geometry.Point(e.arrRoutePts[d][M].lng,e.arrRoutePts[d][M].lat)):void 0===e.arrRoutePts[d][M].x&&void 0===e.arrRoutePts[d][M].y||g.push(new SuperMap.Geometry.Point(e.arrRoutePts[d][M].x,e.arrRoutePts[d][M].y));o&&(g=L.Util.superMapPointsToLatLngs(g)),t.arrRoutePts.push(g)}t.lineStyle=e.lineStyle}else if(t.symbolType===SuperMap.Plot.SymbolType.GROUPOBJECT||t.symbolType===SuperMap.Plot.SymbolType.FLAGGROUP||t.symbolType===SuperMap.Plot.SymbolType.NAVYDEPLOYMENT||t.symbolType===SuperMap.Plot.SymbolType.AIRDEPLOYMENT){if(t.subAssociatedUuids=e.subAssociatedUuids,o){for(var m=[],v=0;v<e.subFeatures.length;v++){var b=e.subFeatures[v];b.uuid=SuperMap.Plot.PlottingUtil.generateUuid();var T=L.supermap.plotting.PlottingObject.createSymbol(b.libID,b.code,null,{symbolData:b});m.push(T)}t.subObjects=m}else for(var A=0;A<e.subFeatures.length;A++){var O=e.subFeatures[A],E=SuperMap.Geometry.PlottingGeometry.createFeature(O.libID,O.code,null,{symbolData:O,map:t.map});E.geometry.ownGroupObj=t,t.components.push(E)}0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.FLAGGROUP?(t.ratio=e.ratio,t.subFeatures=e.subFeatures):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.AIRDEPLOYMENT?(t.colNum=e.colNum,t.speceDis=e.speceDis,t.isShowTooltip=e.isShowTooltip):0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.NAVYDEPLOYMENT&&(t.colNum=e.colNum,t.speceDis=e.speceDis)}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXT){t.addFrame=e.addFrame,t.symbolTexts=[];for(var x=0,w=e.symbolTexts.length;x<w;x++){var I=new SuperMap.Plot.SymbolText;I.textContent=e.symbolTexts[x].textContent,I.textPosition=e.symbolTexts[x].textPosition,I.style=e.symbolTexts[x].style,I.offsetX=e.symbolTexts[x].offsetX,I.offsetY=e.symbolTexts[x].offsetY,t.symbolTexts.push(I)}}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXT1)void 0!==e.space&&(t.space=e.space),void 0!==e.offsetX&&(t.offsetX=e.offsetX),void 0!==e.offsetY&&(t.offsetY=e.offsetY);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SATELLITE){if(e.scaleValues&&0!==e.scaleValues.length){t.scaleValues=[];for(var R=0;R<e.scaleValues.length;R++)t.scaleValues.push(e.scaleValues[R])}if(e.subSymbol&&(t.subSymbols=[e.subSymbol]),t.visible=e.visible,e.orbitPoints){t.orbitPoints=[];for(var C=0;C<e.orbitPoints.length;C++)t.orbitPoints.push(new SuperMap.Plot.OrbitPoint(e.orbitPoints[C].x,e.orbitPoints[C].y,e.orbitPoints[C].z,e.orbitPoints[C].number,e.orbitPoints[C].time))}}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS){t.timeWindows=e.timeWindows;for(var _=0;_<t.timeWindows.length;_++)"Time"!==e.type&&"Number"!==e.type||(t.timeWindows[_].type=e.type)}else{if(e.localePoints){t.controlPoints=[];for(var U=0;U<e.localePoints.length;U++)t.controlPoints.push(new SuperMap.Geometry.Point(e.localePoints[U].x,e.localePoints[U].y));!0===o&&(t.latLngs=L.Util.superMapPointsToLatLngs(t.controlPoints),delete t.controlPoints)}if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.LINERELATION)t.endAssociatedUuid=e.endAssociatedUuid,t.lineRelationType=e.lineRelationType,t.startAssociatedUuid=e.startAssociatedUuid,t.subSectionCount=e.subSectionCount;else if(t.symbolType===SuperMap.Plot.SymbolType.DOTSYMBOL){t.surroundLineType=e.surroundLineType,t.symbolRank=e.symbolRank,t.negativeImage=e.negativeImage;var N=SuperMap.Plot.AnalysisSymbol.analysisDotBasicInfo(e);if(t.anchorPoint=N.anchorPoint,t.symbolSizeInLib=N.symbolSizeInLib,t.middleMarkBounds=N.middleMarkBounds,void 0!==e.actualScale&&(t.actualScale=e.actualScale),void 0!==e.limitWidthHeight&&(t.limitWidthHeight=e.limitWidthHeight),void 0!==e.fontSize&&(t.fontSize=e.fontSize),void 0!==e.strokeWidth&&(t.strokeWidth=e.strokeWidth),void 0!==e.space&&(t.space=e.space),void 0!==e.flagTextSize&&(t.flagTextSize=e.flagTextSize),void 0!==e.maxScale&&(t.maxScale=e.maxScale),void 0!==e.minScale&&(t.minScale=e.minScale),void 0!==e.textDisplay&&(t.textDisplay=e.textDisplay),!1!==t.isEdit){var D={x:0,y:0};-1===e.symbolSize.x&&-1===e.symbolSize.x?(D.x=e.symbolSizeInLib.x*SuperMap.Plot.PlottingUtil.DPI/25.4/10,D.y=e.symbolSizeInLib.y*SuperMap.Plot.PlottingUtil.DPI/25.4/10):(D.x=e.symbolSize.x*SuperMap.Plot.PlottingUtil.DPI/25.4/10,D.y=e.symbolSize.y*SuperMap.Plot.PlottingUtil.DPI/25.4/10),t.setSymbolSize(D.x,D.y)}void 0!==e.positionOffset&&null!==e.positionOffset&&(t.positionOffset=e.positionOffset),void 0!==e.positionOffsetType&&null!==e.positionOffsetType&&(t.positionOffsetType=e.positionOffsetType),void 0!==e.positionOffsetX&&null!==e.positionOffsetX&&(t.positionOffsetX=e.positionOffsetX),void 0!==e.positionOffsetY&&null!==e.positionOffsetY&&(t.positionOffsetY=e.positionOffsetY)}else{if(t.surroundLineType=e.surroundLineType,e.scaleValues&&0!==e.scaleValues.length){t.scaleValues=[];for(var B=0;B<e.scaleValues.length;B++)t.scaleValues.push(e.scaleValues[B])}if(void 0!==e.strokeWidth&&null!==e.strokeWidth&&(t.strokeWidth=e.strokeWidth),void 0!==e.baseScale&&null!==e.baseScale&&(t.baseScale=e.baseScale),void 0!==e.polylineConnectLocationPoint&&null!==e.polylineConnectLocationPoint&&(t.polylineConnectLocationPoint=e.polylineConnectLocationPoint),22===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ALGOSYMBOL)void 0!==e.arrowHeadType&&null!==e.arrowHeadType&&(t.arrowHeadType=e.arrowHeadType),void 0!==e.arrowBodyType&&null!==e.arrowBodyType&&(t.arrowBodyType=e.arrowBodyType),void 0!==e.arrowTailType&&null!==e.arrowTailType&&(t.arrowTailType=e.arrowTailType);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ARROWLINE)t.arrowAngle=e.arrowAngle,void 0!==e.arrowTypeStart&&(t.scaleValues[1]=e.arrowTypeStart),void 0!==e.arrowTypeEnd&&(t.scaleValues[2]=e.arrowTypeEnd);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE){if(e.radius&&0!==e.radius.length&&0===t.scaleValues.length)for(var G=0;G<e.radius.length;G++)t.scaleValues.push(e.radius[G])}else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.CONCENTRICCIRCLE)t.symbolData.hasOwnProperty("startAngle")&&(t.scaleValues[0]=t.symbolData.startAngle),t.symbolData.hasOwnProperty("endAngle")&&(t.scaleValues[1]=t.symbolData.endAngle);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.LINEMARKING)void 0!==e.islocationCircle&&null!==e.islocationCircle&&(t.islocationCircle=e.islocationCircle),void 0!==e.textBoxType&&null!==e.textBoxType&&(t.textBoxType=e.textBoxType),e.tipPoint&&(this.scaleValues[1]=e.tipPoint.x,this.scaleValues[2]=e.tipPoint.y);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.SYMBOLTEXTBOX)void 0!==e.roundBox&&null!==e.roundBox&&(t.roundBox=e.roundBox),void 0!==e.textBoxType&&null!==e.textBoxType&&(t.textBoxType=e.textBoxType),e.tipPoint&&(this.scaleValues[1]=e.tipPoint.x,this.scaleValues[2]=e.tipPoint.y);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM)e.tipPoint1&&(this.scaleValues[0]=e.tipPoint1.x,this.scaleValues[1]=e.tipPoint1.y),e.tipPoint2&&(this.scaleValues[2]=e.tipPoint2.x,this.scaleValues[3]=e.tipPoint2.y);else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.PATHTEXT)t.isAvoid=e.isAvoid,t.isCurve=e.isCurve,t.relLineText=e.relLineText,t.showPathLine=e.showPathLine,t.textToLineDistance=e.textToLineDistance,t.showPathLineArrow=e.showPathLineArrow;else if(0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.ARCREGION){if(o){if(t.centerPoint=L.latLng(e.centerPoint.y,e.centerPoint.x),t.symbolData.circlePts){for(var k=[],V=0;V<e.circlePts.length;V++)k.push(new SuperMap.Geometry.Point(e.circlePts[V].x,e.circlePts[V].y));0!==k.length&&(t.circlePts=k)}t.spatialAnalystUrl=e.spatialAnalystUrl}else t.centerPoint=new SuperMap.Geometry.Point(e.centerPoint.x,e.centerPoint.y);t.endAngle=e.endAngle,t.radius=e.radius,t.radiusPosAngle=e.radiusPosAngle,t.startAngle=e.startAngle,t.textPosition=e.textPosition,t.radiusLineType=e.radiusLineType,t.radiusText=e.radiusText}else 0===t.libID&&t.symbolType===SuperMap.Plot.SymbolType.POLYGONREGION&&(t.symbolData.hasOwnProperty("textPosition")?t.scaleValues[1]=t.symbolData.textPosition:void 0===t.scaleValues[1]&&(t.scaleValues[1]=t.symbolData.annotationPosition))}}}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AddPoint_WayType=e.RouteNodePrimitives=e.Primitives=e.PlottingUtil=e.AnalysisSymbol=void 0;var n=o(60),i=o(59),l=o(58),r=o(57),a=o(56);e.AnalysisSymbol=n.AnalysisSymbol,e.PlottingUtil=i.PlottingUtil,e.Primitives=l.Primitives,e.RouteNodePrimitives=r.RouteNodePrimitives,e.AddPoint_WayType=a.AddPoint_WayType},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.CalculateSVGGradient=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.feature=e}return n(t,[{key:"destroy",value:function(){this.feature=null}},{key:"createGradient",value:function(){var t=!1;this.feature.layer._renderer._container.defs||(this.feature.layer._renderer._container.defs=L.SVG.create("defs"),t=!0);var e=null;"LINEAR"===this.feature.style.fillGradientMode&&(e=document.getElementById("linearGradient_"+this.feature.uuid)),"RADIAL"===this.feature.style.fillGradientMode&&(e=document.getElementById("radialGradient_"+this.feature.uuid));var o=this.createGradientDirection();for("LINEAR"===this.feature.style.fillGradientMode?((e=null===e?L.SVG.create("linearGradient"):e).setAttributeNS(null,"x1",o.x1),e.setAttributeNS(null,"y1",o.y1),e.setAttributeNS(null,"x2",o.x2),e.setAttributeNS(null,"y2",o.y2)):"RADIAL"===this.feature.style.fillGradientMode&&((e=null===e?L.SVG.create("radialGradient"):e).setAttributeNS(null,"cx",o.cx),e.setAttributeNS(null,"cy",o.cy),e.setAttributeNS(null,"fx",o.fx),e.setAttributeNS(null,"fy",o.fy),e.setAttributeNS(null,"r",o.r));e.hasChildNodes();)e.removeChild(e.firstChild);for(var n=0,i=o.colors.length;n<i;n++){var l=L.SVG.create("stop");l.setAttributeNS(null,"offset",o.colors[n].offset),l.setAttributeNS(null,"style","stop-color:"+SuperMap.Plot.PlottingUtil.colorRGBA(o.colors[n].color,o.colors[n].opacity)),e.appendChild(l)}return 0===e.id.length&&e.setAttributeNS(null,"id",e.tagName+"_"+this.feature.uuid),this.feature.layer._renderer._container.defs.appendChild(e),t&&this.feature.layer._renderer._container.appendChild(this.feature.layer._renderer._container.defs),e.id}},{key:"createTextureFill",value:function(t){var e=!1;this.feature.layer._renderer._container.defs||(this.feature.layer._renderer._container.defs=L.SVG.create("defs"),e=!0);var o=document.getElementById("patternFill_"+this.feature.uuid);function n(t){var e="";return 2===t.fillID?e="rotate(-45)":3===t.fillID||6===t.fillID?e="rotate(0)":4===t.fillID||5===t.fillID?e="rotate(45)":7===t.fillID&&(e="rotate(90)"),e}function i(t,e,o){var n=L.SVG.create("path");n.setAttributeNS(null,"d",t),n.setAttributeNS(null,"stroke",o.color),n.setAttributeNS(null,"stroke-width","2"),n.setAttributeNS(null,"stroke-linecap","square"),n.setAttributeNS(null,"stroke-opacity",o.opacity),e.appendChild(n)}function l(t,e,o){var n=L.SVG.create("polygon");n.setAttributeNS(null,"points",t),n.setAttributeNS(null,"fill",o.color),n.setAttributeNS(null,"fill-opacity",o.opacity),e.appendChild(n)}return o?(o.setAttributeNS(null,"patternTransform",n(t[0]).toString()),3===t[0].fillID||6===t[0].fillID||7===t[0].fillID?(o.setAttributeNS(null,"width",7.3),o.setAttributeNS(null,"height",7.3),o.childNodes[0].setAttributeNS(null,"points","0 0 0 7.3 7.3 7.3 7.3 0"),o.childNodes[1].setAttributeNS(null,"d","M 7.3 0 L 0 0")):(o.setAttributeNS(null,"width",5.4),o.setAttributeNS(null,"height",5.4),o.childNodes[0].setAttributeNS(null,"points","0 0 0 5.4 5.4 5.4 5.4 0"),o.childNodes[1].setAttributeNS(null,"d","M 5.4 0 L 0 0")),o.childNodes[0].setAttributeNS(null,"fill",t[1].color),o.childNodes[0].setAttributeNS(null,"fill-opacity",t[1].opacity),o.childNodes[1].setAttributeNS(null,"stroke",t[0].color),o.childNodes[1].setAttributeNS(null,"stroke-opacity",t[0].opacity),3===t[0].fillID||4===t[0].fillID?(o.childNodes[2]&&(o.childNodes[2].setAttributeNS(null,"stroke",t[0].color),o.childNodes[2].setAttributeNS(null,"stroke-opacity",t[0].opacity)),3===t[0].fillID?null===o&&i("M 0 7.3 L 0 0",o,t[0]):4===t[0].fillID&&null===o&&i("M 0 5.4 L 0 0",o,t[0])):o.childNodes[2]&&o.removeChild(o.childNodes[2]),0===o.id.length&&o.setAttributeNS(null,"id","patternFill_"+this.feature.uuid),o.id):((o=null===o?L.SVG.create("pattern"):o).setAttributeNS(null,"x",0),o.setAttributeNS(null,"y",0),3===t[0].fillID||6===t[0].fillID||7===t[0].fillID?(o.setAttributeNS(null,"width",7.3),o.setAttributeNS(null,"height",7.3)):(o.setAttributeNS(null,"width",5.4),o.setAttributeNS(null,"height",5.4)),o.setAttributeNS(null,"patternUnits","userSpaceOnUse"),o.setAttributeNS(null,"patternTransform",n(t[0]).toString()),3===t[0].fillID||6===t[0].fillID||7===t[0].fillID?(l("0 0 0 7.3 7.3 7.3 7.3 0",o,t[1]),i("M 7.3 0 L 0 0",o,t[0])):(l("0 0 0 5.4 5.4 5.4 5.4 0",o,t[1]),i("M 5.4 0 L 0 0",o,t[0])),4===t[0].fillID?i("M 0 5.4 L 0 0",o,t[0]):3===t[0].fillID&&i("M 0 7.3 L 0 0",o,t[0]),this.feature.layer._renderer._container.defs.appendChild(o),e&&this.feature.layer._renderer._container.appendChild(this.feature.layer._renderer._container.defs),0===o.id.length&&o.setAttributeNS(null,"id","patternFill_"+this.feature.uuid),o.id)}},{key:"createFillMode",value:function(t){if(void 0!==this.feature.style.fillSymbolID)if(t.fill=this.feature.style.fill,t.fillSymbolID=this.feature.style.fillSymbolID,0===this.feature.style.fillSymbolID||1===this.feature.style.fillSymbolID||!0===this.feature.style.fill||!1===this.feature.style.fill)0===this.feature.style.fillSymbolID?t.fill=!0:1===this.feature.style.fillSymbolID&&(t.fill=!1),t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity;else if(this.feature._map.getRenderer(this.feature.layer)instanceof L.SVG)if(this.feature.style.fillColor!==this.feature.style.fillBackColor||this.feature.style.fillBackOpacity>0&&this.feature.style.fillBackOpacity<1){var e=[];e.push({fillID:this.feature.style.fillSymbolID,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity},{fillID:this.feature.style.fillSymbolID,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillBackOpacity}),t.fillOpacity=1,t.fillColor="url(#"+this.createTextureFill(e)+")",t.fill=t.fillColor}else t.fill=!0,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity;else t.fill=!0,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity;else t.fill=this.feature.style.fill,t.fillColor=this.feature.style.fillColor,t.fillOpacity=this.feature.style.fillOpacity}},{key:"createGradientDirection",value:function(){var t=[];if("LINEAR"===this.feature.style.fillGradientMode){if(null!==this.feature.style.fillCenterOffsetX&&void 0!==this.feature.style.fillCenterOffsetX&&(0===this.feature.style.fillAngle||180===this.feature.style.fillAngle?(t.push({offset:0,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}),t.push({offset:this.feature.style.fillCenterOffsetX,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity})):90===this.feature.style.fillAngle||270===this.feature.style.fillAngle?(t.push({offset:0,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}),t.push({offset:this.feature.style.fillCenterOffsetY,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity})):(t.push({offset:0,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}),t.push({offset:this.feature.style.fillCenterOffsetX/2*(Math.sqrt(2)/2)*Math.abs(Math.sin(this.feature.style.fillAngle*Math.PI/180)),color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillOpacity}))),this.feature.style.fillAngle>=360&&(this.feature.style.fillAngle=0),0===this.feature.style.fillAngle)return{x1:0,y1:0,x2:1,y2:0,colors:t};if(90===this.feature.style.fillAngle)return{x1:0,y1:1,x2:0,y2:0,colors:t};if(180===this.feature.style.fillAngle)return{x1:1,y1:0,x2:0,y2:0,colors:t};if(270===this.feature.style.fillAngle)return{x1:0,y1:0,x2:0,y2:1,colors:t};if(0<this.feature.style.fillAngle&&this.feature.style.fillAngle<=45)return{x1:0,y1:1,x2:1,y2:(1-Math.tan(this.feature.style.fillAngle*Math.PI/180))/2,colors:t};if(45<this.feature.style.fillAngle&&this.feature.style.fillAngle<90)return{x1:0,y1:1,x2:(1-Math.tan((this.feature.style.fillAngle-45)*Math.PI/180))/2,y2:0,colors:t};if(90<this.feature.style.fillAngle&&this.feature.style.fillAngle<=135)return{x1:1,y1:1,x2:Math.tan((this.feature.style.fillAngle-90)*Math.PI/180)/2,y2:0,colors:t};if(135<this.feature.style.fillAngle&&this.feature.style.fillAngle<180)return{x1:1,y1:1,x2:0,y2:Math.tan((this.feature.style.fillAngle-135)*Math.PI/180)/2,colors:t};if(180<this.feature.style.fillAngle&&this.feature.style.fillAngle<=225)return{x1:1,y1:0,x2:0,y2:Math.tan((this.feature.style.fillAngle-180)*Math.PI/180)/2,colors:t};if(225<this.feature.style.fillAngle&&this.feature.style.fillAngle<270)return{x1:1,y1:0,x2:Math.tan((this.feature.style.fillAngle-225)*Math.PI/180)/2,y2:0,colors:t};if(270<this.feature.style.fillAngle&&this.feature.style.fillAngle<=315)return{x1:0,y1:0,x2:1-Math.tan((this.feature.style.fillAngle-270)*Math.PI/180)/2,y2:1,colors:t};if(315<this.feature.style.fillAngle&&this.feature.style.fillAngle<360)return{x1:0,y1:0,x2:1,y2:Math.tan((this.feature.style.fillAngle-315)*Math.PI/180)/2,colors:t}}else if("RADIAL"===this.feature.style.fillGradientMode)if(null!==this.feature.style.fillCenterOffsetX&&void 0!==this.feature.style.fillCenterOffsetX&&null!==this.feature.style.fillCenterOffsetY&&void 0!==this.feature.style.fillCenterOffsetY&&(t.push({offset:0,color:this.feature.style.fillColor,opacity:this.feature.style.fillOpacity}),t.push({offset:1,color:this.feature.style.fillBackColor,opacity:this.feature.style.fillBackOpacity})),this.feature.style.fillCenterOffsetX<=.5&&this.feature.style.fillCenterOffsetX>=0||this.feature.style.fillCenterOffsetX<=0&&this.feature.style.fillCenterOffsetX>=-1){if(this.feature.style.fillCenterOffsetY>=0&&this.feature.style.fillCenterOffsetY<=.5||this.feature.style.fillCenterOffsetY>=-.5&&this.feature.style.fillCenterOffsetY<=0)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.5*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.5&&this.feature.style.fillCenterOffsetY<=.8||this.feature.style.fillCenterOffsetY>=-.8&&this.feature.style.fillCenterOffsetY<=-.5)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.8*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.8&&this.feature.style.fillCenterOffsetY<=1||this.feature.style.fillCenterOffsetY>=-1&&this.feature.style.fillCenterOffsetY<=-.8)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t}}else if(this.feature.style.fillCenterOffsetX<=.8&&this.feature.style.fillCenterOffsetX>.5||this.feature.style.fillCenterOffsetX<=-.5&&this.feature.style.fillCenterOffsetX>=-.8){if(this.feature.style.fillCenterOffsetY>=0&&this.feature.style.fillCenterOffsetY<=.5||this.feature.style.fillCenterOffsetY>=-.5&&this.feature.style.fillCenterOffsetY<=0)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.8*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.5&&this.feature.style.fillCenterOffsetY<=.8||this.feature.style.fillCenterOffsetY>=-.8&&this.feature.style.fillCenterOffsetY<=-.5)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:.8*Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.8&&this.feature.style.fillCenterOffsetY<=1||this.feature.style.fillCenterOffsetY>=-1&&this.feature.style.fillCenterOffsetY<=-.8)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t}}else if(this.feature.style.fillCenterOffsetX<=1&&this.feature.style.fillCenterOffsetX>.8||this.feature.style.fillCenterOffsetX<=-.8&&this.feature.style.fillCenterOffsetX>=-1){if(this.feature.style.fillCenterOffsetY>=0&&this.feature.style.fillCenterOffsetY<=.5||this.feature.style.fillCenterOffsetY>=-.5&&this.feature.style.fillCenterOffsetY<=0)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.5&&this.feature.style.fillCenterOffsetY<=.8||this.feature.style.fillCenterOffsetY>=-.8&&this.feature.style.fillCenterOffsetY<=-.5)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t};if(this.feature.style.fillCenterOffsetY>=.8&&this.feature.style.fillCenterOffsetY<=1||this.feature.style.fillCenterOffsetY>=-1&&this.feature.style.fillCenterOffsetY<=-.8)return{cx:.5,cy:.5,fx:.5+this.feature.style.fillCenterOffsetX,fy:.5-this.feature.style.fillCenterOffsetY,r:Math.sqrt(2),colors:t}}}}]),t}();SuperMap.Plot.CalculateSVGGradient=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.CalculateCanvasGradient=function(){function t(e,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.feature=e,this._bounds=o}return n(t,[{key:"destroy",value:function(){this.feature=null}},{key:"getContext",value:function(){return this.feature._map.getRenderer(this.feature.layer)._ctx}},{key:"calculateObjectByBounds",value:function(){var t=this.feature._map.latLngToLayerPoint(L.latLng(this._bounds.getNorth(),this._bounds.getWest())),e=this.feature._map.latLngToLayerPoint(L.latLng(this._bounds.getSouth(),this._bounds.getEast())),o=this.feature._map.latLngToLayerPoint(L.latLng(this._bounds.getCenter()));if(t.x!==e.x||t.y!==e.y){var n=Math.max(t.x,e.x),i=Math.max(t.y,e.y),l=Math.min(t.x,e.x),r=Math.min(t.y,e.y);return{ptMinX:l,ptMinY:r,width:Math.abs(n-l),height:Math.abs(i-r),center:o,r:Math.abs(t.x-e.x)>Math.abs(e.y-e.y)?Math.abs(t.x-e.x):Math.abs(t.y-e.y)}}}},{key:"createGradient",value:function(){var t=function(t,e){var o=t.substring(1,3),n=parseInt(o,16),i=t.substring(3,5),l=parseInt(i,16),r=t.substring(5);return"rgba("+n+","+l+","+parseInt(r,16)+","+e+")"},e=null;if(this.getContext()instanceof CanvasRenderingContext2D){var o=this.calculateObjectByBounds();if("LINEAR"===this.feature.style.fillGradientMode){var n=this.getGradientDirection(this.feature.style.fillAngle);if(e=this.getContext().createLinearGradient(o.ptMinX+o.width*n.x1,o.ptMinY+o.height*n.y1,o.ptMinX+o.width*n.x2,o.ptMinY+o.height*n.y2),0===this.feature.style.fillCenterOffsetX&&0===this.feature.style.fillCenterOffsetY)e.addColorStop(0,t(this.feature.style.fillColor,this.feature.style.fillOpacity)),e.addColorStop(1,t(this.feature.style.fillBackColor,this.feature.style.fillOpacity));else{var i=this.feature.style.fillAngle;0===i||180===i||90===i||270===i?(e.addColorStop(0,t(this.feature.style.fillBackColor,this.feature.style.fillOpacity)),0!==i&&180!==i||e.addColorStop(this.feature.style.fillCenterOffsetX,t(this.feature.style.fillColor,this.feature.style.fillOpacity)),90!==i&&270!==i||e.addColorStop(this.feature.style.fillCenterOffsetY,t(this.feature.style.fillColor,this.feature.style.fillOpacity)),e.addColorStop(1,t(this.feature.style.fillBackColor,this.feature.style.fillOpacity))):(e.addColorStop(0,t(this.feature.style.fillBackColor,this.feature.style.fillOpacity)),e.addColorStop(this.feature.style.fillCenterOffsetX>=this.feature.style.fillCenterOffsetY?this.feature.style.fillCenterOffsetX:this.feature.style.fillCenterOffsetY*Math.cos(this.feature.style.fillAngle*Math.PI/180),t(this.feature.style.fillColor,this.feature.style.fillOpacity)),e.addColorStop(1,t(this.feature.style.fillBackColor,this.feature.style.fillOpacity)))}}else if("RADIAL"===this.feature.style.fillGradientMode){var l=this.feature.style.fillCenterOffsetX*o.r,r=this.feature.style.fillCenterOffsetY*o.r,a=o.r/Math.sqrt(2)+Math.abs(l)>o.r/Math.sqrt(2)+Math.abs(r)?o.r/Math.sqrt(2)+Math.abs(l):o.r/Math.sqrt(2)+Math.abs(r);(e=this.getContext().createRadialGradient(o.center.x+l,o.center.y-r,0,o.center.x+l,o.center.y-r,a)).addColorStop(0,t(this.feature.style.fillColor,this.feature.style.fillOpacity)),e.addColorStop(1,t(this.feature.style.fillBackColor,this.feature.style.fillBackOpacity))}return e}}},{key:"getGradientDirection",value:function(t){var e=function(t){return{x:Math.cos(t),y:Math.sin(t)}},o=function(t){return t*Math.PI/180},n=e(o(180-t%360)),i=e(o(360-t%360)),l=Math.pow(2,-52);return(n.x<=0||Math.abs(n.x)<=l)&&(n.x=0),(n.y<=0||Math.abs(n.y)<=l)&&(n.y=0),(i.x<=0||Math.abs(i.x)<=l)&&(i.x=0),(i.y<=0||Math.abs(i.y)<=l)&&(i.y=0),{x1:n.x,y1:n.y,x2:i.x,y2:i.y}}}]),t}();SuperMap.Plot.CalculateCanvasGradient=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CalculateSVGGradient=e.CalculateCanvasGradient=void 0;var n=o(63),i=o(62);e.CalculateCanvasGradient=n.CalculateCanvasGradient,e.CalculateSVGGradient=i.CalculateSVGGradient},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.TransactionInfo=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.layer=e.layer?e.layer:null,this.feature=e.feature?e.feature:null,this.uuid=e.uuid?e.uuid:null,this.functionName=e.functionName?e.functionName:null,this.undoParams=e.undoParams?e.undoParams:null,this.redoParams=e.redoParams?e.redoParams:null,this.propertyName=e.propertyName?e.propertyName:null,this.undoValue=e.undoValue?e.undoValue:null,this.redoValue=e.redoValue?e.redoValue:null,this.CLASS_NAME="SuperMap.Plot.TransactionInfo"};SuperMap.Plot.TransactionInfo=n},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Transaction=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.transType=e.transType?e.transType:SuperMap.Plot.TransactionType.EDIT,this.transInfos=[],this.CLASS_NAME="SuperMap.Plot.Transaction"}return n(t,[{key:"destroy",value:function(){this.transInfos=null,this.transType=null}}]),t}();SuperMap.Plot.Transaction=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.TowardNode=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.routeNodeId=e.routeNodeId?e.routeNodeId:null,this.relLineText=e.relLineText?e.relLineText:SuperMap.Plot.RelLineText.ONLEFTLINE,this.index=e.index?e.index:0,this.textContent=e.textContent?e.textContent:null,this.offsetX=e.offsetX?e.offsetX:null,this.offsetY=e.offsetY?e.offsetY:null,this.style=e.style?e.style:{fontSize:12,fontFamily:"Microsoft YaHei"},this.CLASS_NAME="SuperMap.Plot.TowardNode"}return n(t,[{key:"destroy",value:function(){this.routeNodeId=null,this.relLineText=null,this.textContent=null,this.style=null}},{key:"clone",value:function(){return new t({routeNodeId:this.routeNodeId,relLineText:this.relLineText,textContent:this.textContent,style:SuperMap.Util.cloneObject(this.style)})}}]),t}();SuperMap.Plot.TowardNode=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.TimeWindowParameter=function(){function t(e,o,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.startOrbitPoint=e,this.endOrbitPoint=o,this.type=n,this.CLASS_NAME="SuperMap.Plot.TimeWindowParameter"}return n(t,[{key:"destroy",value:function(){this.startOrbitPoint=null,this.endOrbitPoint=null,this.type=null}}]),t}();SuperMap.Plot.TimeWindowParameter=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.SymbolText=function(){function t(e,o,n,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),i=i||{},this.textContent=e,this.textPosition=o,void 0!==this.textPosition&&null!==this.textPosition||(this.textPosition=0),this.offsetX=i.offsetX?i.offsetX:0,this.offsetY=i.offsetY?i.offsetY:0,this.style=n,this.CLASS_NAME="SuperMap.Plot.SymbolText"}return n(t,[{key:"destroy",value:function(){this.textContent=null,this.textPosition=null,this.offsetX=null,this.offsetY=null}}]),t}();SuperMap.Plot.SymbolText=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.SubSymbol=function(){function t(e,o,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),n=n||{},this.libID=e,this.code=o,this.symbolData=n.symbolData?n.symbolData:null,this.textContent=n.textContent?n.textContent:null,this.totalNum=n.totalNum?n.totalNum:null,this.CLASS_NAME="SuperMap.Plot.SubSymbol"}return n(t,[{key:"destroy",value:function(){this.libID=null,this.code=null,this.symbolData=null,this.totalNum=null}},{key:"clone",value:function(){var t=new SuperMap.Plot.SubSymbol(this.libID,this.code);return t.symbolData={},t.symbolData=SuperMap.Util.copyAttributes(t.symbolData,this.symbolData),t.textContent=this.textContent,t.totalNum=this.totalNum,t}}]),t}();SuperMap.Plot.SubSymbol=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.SMLInfoStruct=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e&&(this.SMLName=e.SMLName,this.SMLDesc=e.SMLDesc,this.SMLSeclevel=e.SMLSeclevel,this.SMLDepat=e.SMLDepat,this.SMLAuthor=e.SMLAuthor,this.SMLTime=e.SMLTime),this.CLASS_NAME="SuperMap.Plot.SMLInfoStruct"}return n(t,[{key:"destroy",value:function(){this.SMLName="",this.SMLDesc="",this.SMLAuthor="",this.SMLSeclevel="",this.SMLDepat="",this.SMLTime=""}},{key:"fromJSON",value:function(t){this.SMLName=t.SMLName,this.SMLDesc=t.SMLDesc,this.SMLSeclevel=t.SMLSeclevel,this.SMLDepat=t.SMLDepat,this.SMLAuthor=t.SMLAuthor,this.SMLTime=t.SMLTime}},{key:"toJSON",value:function(){return'{"SMLName":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLName)+',"SMLDesc":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLDesc)+',"SMLSeclevel":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLSeclevel)+',"SMLDepat":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLDepat)+',"SMLAuthor":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLAuthor)+',"SMLTime":'+SuperMap.Plot.PlottingUtil.toJSON(this.SMLTime)+"}"}}]),t}();SuperMap.Plot.SMLInfoStruct=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.SitDataStruct=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.smlInfo=e.smlInfo?e.smlInfo:null,this.mapInfo=e.mapInfo?e.mapInfo:null,this.layerDatas=e.layerDatas?e.layerDatas:null,this.CLASS_NAME="SuperMap.Plot.SitDataStruct"}return n(t,[{key:"destroy",value:function(){this.smlInfo=null,this.mapInfo=null,this.layerDatas=null}}]),t}();SuperMap.Plot.SitDataStruct=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.RouteNode=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.id=e.id?e.id:SuperMap.Plot.PlottingUtil.generateUuid(),this.x=e.x?e.x:null,this.y=e.y?e.y:null,this.z=e.z?e.z:null,this.type=e.type?e.type:null,this.name=e.name?e.name:null,this.rotate=e.rotate?e.rotate:0,this.towardNodes=e.towardNodes?e.towardNodes:[],this.style=e.style?e.style:{},this.CLASS_NAME="SuperMap.Plot.RouteNode"}return n(t,[{key:"destroy",value:function(){this.type=null,this.position=null,this.name=null,this.id=null,this.rotate=null,this.towardNodes&&null!==this.towardNodes||(this.towardNodes=null);for(var t=0;t<this.towardNodes.length;t++)this.towardNodes[t].destroy();this.towardNodes=null}},{key:"clone",value:function(){var e=new t({id:this.id,type:this.type,name:this.name,rotate:this.rotate,towardNodes:this.towardNodes});return e.positionPoint=this.positionPoint.clone(),e.style={},e.style=SuperMap.Util.copyAttributes(e.style,this.style),e}}]),t}();SuperMap.Plot.RouteNode=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.Property=function(){function t(e,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e&&(this.key=e),o&&(this.value=o),this.CLASS_NAME="SuperMap.Plot.Property"}return n(t,[{key:"setKey",value:function(t){this.key=t}},{key:"getKey",value:function(){return this.key}},{key:"setValue",value:function(t){this.value=t}},{key:"getValue",value:function(){return this.value}},{key:"destroy",value:function(){this.key=null,this.value=null}},{key:"clone",value:function(){return new SuperMap.Plot.Property(this.key,this.value)}}]),t}();SuperMap.Plot.Property=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.OrbitPoint=function(){function t(e,o,n,i,l){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.x=parseFloat(e),this.y=parseFloat(o),(n||0==n)&&(this.z=parseFloat(n)),i&&(this.number=i),l&&(this.time=l),this.CLASS_NAME="SuperMap.Plot.OrbitPoint"}return n(t,[{key:"destroy",value:function(){this.x=null,this.y=null,this.z=null,this.index=null,this.time=null}},{key:"clone",value:function(t){return null==t&&(t=new SuperMap.Plot.OrbitPoint(this.x,this.y,this.z)),SuperMap.Util.applyDefaults(t,this),t}}]),t}();SuperMap.Plot.OrbitPoint=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.MapInfoStruct=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.zoom=e.zoom?e.zoom:null,this.centerX=e.centerX?e.centerX:null,this.centerY=e.centerY?e.centerY:null,this.CLASS_NAME="SuperMap.Plot.MapInfoStruct"}return n(t,[{key:"destroy",value:function(){this.zoom=null,this.centerX=null,this.centerY=null}},{key:"fromJSON",value:function(t){void 0!==t.zoom&&(this.zoom=t.zoom),void 0!==t.centerX&&(this.centerX=t.centerX),void 0!==t.centerY&&(this.centerY=t.centerY)}},{key:"toJSON",value:function(){return'{"zoom":'+SuperMap.Plot.PlottingUtil.toJSON(this.zoom)+',"centerX":'+SuperMap.Plot.PlottingUtil.toJSON(this.centerX)+',"centerY":'+SuperMap.Plot.PlottingUtil.toJSON(this.centerY)+"}"}}]),t}();SuperMap.Plot.MapInfoStruct=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.LayerDataStruct=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.layerName=e.layerName?e.layerName:null,this.spatialAnalystUrl=e.spatialAnalystUrl?e.spatialAnalystUrl:null,this.useCanvas2=!!e.useCanvas2&&e.useCanvas2,this.useCanvas=!!e.useCanvas&&e.useCanvas,this.features=e.features?e.features:null,this.CLASS_NAME="SuperMap.Plot.LayerDataStruct"}return n(t,[{key:"destroy",value:function(){this.layerName=null,this.spatialAnalystUrl=null,this.useCanvas2=null,this.useCanvas=null,this.features=null}},{key:"toJSON",value:function(){for(var t=[],e=0;e<this.features.length;e++)t.push(this.features[e].getSymbolData());return'{"layerName":'+SuperMap.Plot.PlottingUtil.toJSON(this.layerName)+', "spatialAnalystUrl":'+SuperMap.Plot.PlottingUtil.toJSON(this.spatialAnalystUrl)+', "useCanvas2":'+SuperMap.Plot.PlottingUtil.toJSON(this.useCanvas2)+', "useCanvas":'+SuperMap.Plot.PlottingUtil.toJSON(this.useCanvas)+', "isEditable":'+SuperMap.Plot.PlottingUtil.toJSON(this.isEditable)+', "isLocked":'+SuperMap.Plot.PlottingUtil.toJSON(this.isLocked)+', "visibility":'+SuperMap.Plot.PlottingUtil.toJSON(this.visibility)+',"features":'+SuperMap.Plot.PlottingUtil.toJSON(t)+"}"}}]),t}();SuperMap.Plot.LayerDataStruct=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.ExtendProperty=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.properties=e.properties?e.properties:[],this.CLASS_NAME="SuperMap.Plot.ExtendProperty"}return n(t,[{key:"addProperty",value:function(t,e){var o=this.findProperty(t);return null==o?this.properties.push(new SuperMap.Plot.Property(t,e)):o.setValue(e),!0}},{key:"deleteProperty",value:function(t){for(var e=0;e<this.properties.length;e++)if(this.properties[e].key===t)return this.properties.slice(e,1),!0;return!1}},{key:"findProperty",value:function(t){for(var e=0;e<this.properties.length;e++)if(this.properties[e].key===t)return this.properties[e];return null}},{key:"getPropertyValue",value:function(t){for(var e=0;e<this.properties.length;e++)if(this.properties[e].key===t)return this.properties[e].value;return null}},{key:"getPropertyByIndex",value:function(t){return t<this.properties.length?this.properties[t]:null}},{key:"getPropertyCount",value:function(){return this.properties.length}},{key:"destroy",value:function(){this.properties=null}}]),t}();SuperMap.Plot.ExtendProperty=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.DefaultStyle=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.lineColor=e.lineColor?e.lineColor:"#ff0000",this.lineWidth=e.lineWidth?e.lineWidth:2,this.lineType=e.lineType?e.lineType:0,this.lineOpacity=e.lineOpacity?e.lineOpacity:1,this.lineCap=e.lineCap?e.lineCap:"round",this.flagTextSize=e.flagTextSize?e.flagTextSize:60,this.maxScale=e.maxScale?e.maxScale:5,this.minScale=e.minScale?e.minScale:1,this.dotSymbolSize=e.dotSymbolSize?e.dotSymbolSize:40,this.dotTextSpace=e.dotTextSpace?e.dotTextSpace:7,this.scaleByMap=!!e.scaleByMap&&e.scaleByMap,this.fillColor=e.fillColor?e.fillColor:"#ff0000",this.fillOpacity=e.fillOpacity?e.fillOpacity:.31,this.fontColor=e.fontColor?e.fontColor:"#000000",this.fontOpacity=e.fontOpacity?e.fontOpacity:1,this.fontStroke=!!e.fontStroke&&e.fontStroke,this.fontStrokeColor=e.fontStrokeColor?e.fontStrokeColor:"#ff0000",this.fontStrokeWidth=e.fontStrokeWidth?e.fontStrokeWidth:"2px",this.fontBackground=!!e.fontBackground&&e.fontBackground,this.fontBackgroundColor=e.fontBackgroundColor?e.fontBackgroundColor:"#ff0000",this.fontShadow=!!e.fontShadow&&e.fontShadow,this.fontShadowColor=e.fontShadowColor?e.fontShadowColor:"#ff0000",this.fontShadowOffsetX=e.fontShadowOffsetX?e.fontShadowOffsetX:0,this.fontShadowOffsetY=e.fontShadowOffsetY?e.fontShadowOffsetY:0,this.fontSize=e.fontSize?e.fontSize:14,this.fontSpace=e.fontSpace?e.fontSpace:0,this.fontPercent=e.fontPercent?e.fontPercent:100,this.fontFamily=e.fontFamily?e.fontFamily:"微软雅黑",this.fontWeight=e.fontWeight?e.fontWeight:"bold",this.fontStyle=e.fontStyle?e.fontStyle:"",this.surroundLineType=e.surroundLineType?e.surroundLineType:0,this.surroundLineColor=e.surroundLineColor?e.surroundLineColor:"#ffff00",this.surroundLineWidth=e.surroundLineWidth?e.surroundLineWidth:4,this.surroundLineColorOpacity=e.surroundLineColorOpacity?e.surroundLineColorOpacity:1,this.fontStyle=e.fontStyle?e.fontStyle:"",this.fillBackColor=e.fillBackColor?e.fillBackColor:"#ff0000",this.fillBackOpacity=e.fillBackOpacity?e.fillBackOpacity:1,this.fillGradientMode=e.fillGradientMode?e.fillGradientMode:"NONE",this.fillCenterOffsetX=e.fillCenterOffsetX?e.fillCenterOffsetX:0,this.fillCenterOffsetY=e.fillCenterOffsetY?e.fillCenterOffsetY:0,this.fillAngle=e.fillAngle?e.fillAngle:0,this.fillSymbolID=e.fillSymbolID?e.fillSymbolID:1,this.defaultFlag=!!e.defaultFlag&&e.defaultFlag,this.CLASS_NAME="SuperMap.Plot.DefaultStyle",this.parserConfiguration()}return n(t,[{key:"parserConfiguration",value:function(){"undefined"!=typeof DefaultStyleConfiguration&&("undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.flagTextSize&&(this.flagTextSize=parseFloat(DefaultStyleConfiguration.flagTextSize)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.maxScale&&(this.maxScale=parseFloat(DefaultStyleConfiguration.maxScale)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.minScale&&(this.minScale=parseFloat(DefaultStyleConfiguration.minScale)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.dotSymbolSize&&(this.dotSymbolSize=parseFloat(DefaultStyleConfiguration.dotSymbolSize)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.dotTextSpace&&(this.dotTextSpace=parseFloat(DefaultStyleConfiguration.dotTextSpace)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.scaleByMap&&(this.scaleByMap=DefaultStyleConfiguration.scaleByMap),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.strokeWidth&&(this.lineWidth=parseFloat(DefaultStyleConfiguration.strokeWidth)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.strokeColor&&(this.lineColor=DefaultStyleConfiguration.strokeColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.strokeOpacity&&(this.lineOpacity=parseFloat(DefaultStyleConfiguration.strokeOpacity)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.strokeDashstyle&&(this.lineType=DefaultStyleConfiguration.strokeDashstyle),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.strokeLinecap&&(this.lineCap=DefaultStyleConfiguration.strokeLinecap),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillColor&&(this.fillColor=DefaultStyleConfiguration.fillColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillOpacity&&(this.fillOpacity=parseFloat(DefaultStyleConfiguration.fillOpacity)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontColor&&(this.fontColor=DefaultStyleConfiguration.fontColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontOpacity&&(this.fontOpacity=parseFloat(DefaultStyleConfiguration.fontOpacity)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontStroke&&(this.fontStroke=DefaultStyleConfiguration.fontStroke),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontStrokeColor&&(this.fontStrokeColor=DefaultStyleConfiguration.fontStrokeColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontStrokeWidth&&(this.fontStrokeWidth=parseFloat(DefaultStyleConfiguration.fontStrokeWidth)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontBackground&&(this.fontBackground=DefaultStyleConfiguration.fontBackground),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontBackgroundColor&&(this.fontBackgroundColor=DefaultStyleConfiguration.fontBackgroundColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontShadow&&(this.fontShadow=DefaultStyleConfiguration.fontShadow),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontShadowColor&&(this.fontShadowColor=DefaultStyleConfiguration.fontShadowColor),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontShadowOffsetX&&(this.fontShadowOffsetX=DefaultStyleConfiguration.fontShadowOffsetX),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontShadowOffsetY&&(this.fontShadowOffsetY=DefaultStyleConfiguration.fontShadowOffsetY),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontSpace&&(this.fontSpace=parseInt(DefaultStyleConfiguration.fontSpace)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontPercent&&(this.fontPercent=parseFloat(DefaultStyleConfiguration.fontPercent)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontSize&&(this.fontSize=parseFloat(DefaultStyleConfiguration.fontSize)),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontFamily&&(this.fontFamily=DefaultStyleConfiguration.fontFamily),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontWeight&&(this.fontWeight=DefaultStyleConfiguration.fontWeight),"undefined"==typeof DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fontStyle&&(this.fontStyle=DefaultStyleConfiguration.fontStyle),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.surroundLineType&&(this.surroundLineType=parseFloat(DefaultStyleConfiguration.surroundLineType)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.surroundLineColor&&(this.surroundLineColor=DefaultStyleConfiguration.surroundLineColor),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.surroundLineWidth&&(this.surroundLineWidth=parseFloat(DefaultStyleConfiguration.surroundLineWidth)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.surroundLineColorOpacity&&(this.surroundLineColorOpacity=parseFloat(DefaultStyleConfiguration.surroundLineColorOpacity)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillBackColor&&(this.fillBackColor=DefaultStyleConfiguration.fillBackColor),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillBackOpacity&&(this.fillBackOpacity=parseFloat(DefaultStyleConfiguration.fillBackOpacity)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillGradientMode&&(this.fillGradientMode=DefaultStyleConfiguration.fillGradientMode),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillAngle&&(this.fillAngle=parseFloat(DefaultStyleConfiguration.fillAngle)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillCenterOffsetX&&(this.fillCenterOffsetX=parseFloat(DefaultStyleConfiguration.fillCenterOffsetX)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillCenterOffsetY&&(this.fillCenterOffsetY=parseFloat(DefaultStyleConfiguration.fillCenterOffsetY)),DefaultStyleConfiguration&&void 0!==DefaultStyleConfiguration.fillSymbolID&&(this.fillSymbolID=parseFloat(DefaultStyleConfiguration.fillSymbolID)))}},{key:"destroy",value:function(){this.lineColor=null,this.lineWidth=null,this.dotSymbolSize=null,this.lineType=null,this.defaultFlag=null,this.flagTextSize=null,this.maxScale=null,this.minScale=null,this.dotTextSpace=null,this.scaleByMap=null,this.lineOpacity=null,this.lineCap=null,this.fillColor=null,this.fillOpacity=null,this.fontColor=null,this.fontOpacity=null,this.fontSize=null,this.fontFamily=null,this.fontWeight=null,this.fontStyle=null,this.fontPercent=null,this.fontSpace=null,this.surroundLineType=null,this.surroundLineColor=null,this.surroundLineWidth=null,this.surroundLineColorOpacity=null,this.fillBackColor=null,this.fillBackOpacity=null,this.fillGradientMode=null,this.fillAngle=null,this.fillCenterOffsetX=null,this.fillCenterOffsetY=null,this.fillSymbolID=null}}]),t}();SuperMap.Plot.DefaultStyle=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TransactionInfo=e.Transaction=e.TowardNode=e.TimeWindowParameter=e.SymbolText=e.SubSymbol=e.SMLInfoStruct=e.SitDataStruct=e.RouteNode=e.Property=e.OrbitPoint=e.MapInfoStruct=e.LayerDataStruct=e.ExtendProperty=e.DefaultStyle=void 0;var n=o(79),i=o(78),l=o(77),r=o(76),a=o(75),s=o(74),u=o(73),p=o(72),c=o(71),y=o(70),P=o(69),h=o(68),f=o(67),S=o(66),d=o(65);e.DefaultStyle=n.DefaultStyle,e.ExtendProperty=i.ExtendProperty,e.LayerDataStruct=l.LayerDataStruct,e.MapInfoStruct=r.MapInfoStruct,e.OrbitPoint=a.OrbitPoint,e.Property=s.Property,e.RouteNode=u.RouteNode,e.SitDataStruct=p.SitDataStruct,e.SMLInfoStruct=c.SMLInfoStruct,e.SubSymbol=y.SubSymbol,e.SymbolText=P.SymbolText,e.TimeWindowParameter=h.TimeWindowParameter,e.TowardNode=f.TowardNode,e.Transaction=S.Transaction,e.TransactionInfo=d.TransactionInfo},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetSymbolInfoService=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),o=o||{};var n,i=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o)),l=i;return n=l.url.substr(l.url.length-1,1),l.url+="/"==n?"graphicObject.json?":"/graphicObject.json?",i.CLASS_NAME="SuperMap.GetSymbolInfoService",i}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.PlotCommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"processAsync",value:function(t){if(t){var e,o=Math.floor(1e3*Math.random()),n=this;e=SuperMap.GetSymbolInfoParameters.toUrlParameters(t),n.url+=e,n.url+="&dynamicPermission="+o,"MSIE"===SuperMap.Browser.name.toUpperCase()&&(n.url=encodeURI(n.url)),n.request({method:"GET",params:null,scope:n,success:n.serviceProcessCompleted,failure:n.serviceProcessFailed,dynamicPermission:o})}}}]),e}();SuperMap.GetSymbolInfoService=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetSymbolInfoParameters=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.libID=e.libID?e.libID:null,this.code=e.code?e.code:null,this.inputPoints=e.inputPoints?e.inputPoints:null,this.symbolRank=e.symbolRank?e.symbolRank:null,this.negativeImage=e.negativeImage?e.negativeImage:null,this.surroundLineType=e.surroundLineType?e.surroundLineType:null,this.subSymbols=e.subSymbols?e.subSymbols:null,this.scaleValues=e.scaleValues?e.scaleValues:null,this.scalePoints=e.scalePoints?e.scalePoints:null,this.newScalePoint=e.newScalePoint?e.newScalePoint:null,this.newScalePointIndex=e.newScalePointIndex?e.newScalePointIndex:null,this.CLASS_NAME="SuperMap.GetSymbolInfoParameters"}return n(t,[{key:"destroy",value:function(){var t=this;t.libID=null,t.code=null,t.inputPoints=null,t.symbolRank=null,t.negativeImage=null,t.surroundLineType=null,t.subSymbols=null,t.scaleValues=null,t.scalePoints=null,t.newScalePoint=null,t.newScalePointIndex=null}}],[{key:"toUrlParameters",value:function(t){if(t&&null!==t.libID&&null!==t.code){var e="libID="+t.libID+"&code="+t.code;if(t.inputPoints&&null!==t.inputPoints&&0!==t.inputPoints.length){e+="&inputPoints=[";for(var o=0;o<t.inputPoints.length;o++)o===t.inputPoints.length-1?e+='{"x":'+t.inputPoints[o].x+', "y":'+t.inputPoints[o].y+"}]":e+='{"x":'+t.inputPoints[o].x+', "y":'+t.inputPoints[o].y+"},"}if(t.scalePoints&&null!==t.scalePoints&&0!==t.scalePoints.length){e+="&scalePoints=[";for(var n=0;n<t.scalePoints.length;n++)n===t.scalePoints.length-1?e+='{"x":'+t.scalePoints[n].x+', "y":'+t.scalePoints[n].y+"}]":e+='{"x":'+t.scalePoints[n].x+', "y":'+t.scalePoints[n].y+"},"}if(t.scaleValues&&null!==t.scaleValues&&0!==t.scaleValues.length){e+="&scaleValues=[";for(var i=0;i<t.scaleValues.length;i++)i===t.scaleValues.length-1?e+=t.scaleValues[i]+"]":e+=t.scaleValues[i]+","}if(t.subSymbols&&null!==t.subSymbols&&0!==t.subSymbols.length){e+="&subSymbols=[";for(var l=0;l<t.subSymbols.length;l++)l===t.subSymbols.length-1?e+=t.subSymbols[l].code+"]":e+=t.subSymbols[l].code+","}return t.newScalePoint&&null!==t.newScalePoint&&(e+='&newScalePoint={"x":'+t.newScalePoint.x+', "y":'+t.newScalePoint.y+"}"),t.newScalePointIndex&&null!==t.newScalePointIndex&&(e+="&newScalePointIndex="+t.newScalePointIndex),t.symbolRank&&null!==t.symbolRank&&(e+="&symbolRank="+t.symbolRank),t.negativeImage&&null!==t.negativeImage&&(e+="&negativeImage="+t.negativeImage),t.surroundLineType&&null!==t.surroundLineType&&(e+="&surroundLineType="+t.surroundLineType),e}}}]),t}();SuperMap.GetSymbolInfoParameters=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetSMLInfosService=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o));(o=o||{})&&SuperMap.Util.extend(n,o);var i,l=n;return l.events=new SuperMap.Events(l,null,l.EVENT_TYPES,!0),l.eventListeners instanceof Object&&l.events.on(l.eventListeners),i=l.url.substr(l.url.length-1,1),l.url+="/"==i?"smlInfos":"/smlInfos",l.url+=".json",n.CLASS_NAME="SuperMap.GetSMLInfosService",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.PlotCommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"processAsync",value:function(t){if(t){var e=this;e.url+=SuperMap.GetSMLInfosParameters.toUrlParameters(t),e.request({method:"GET",data:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}}]),e}();SuperMap.GetSMLInfosService=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetSMLInfosParameters=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.start=e.start?e.start:null,this.count=e.count?e.count:null,this.CLASS_NAME="SuperMap.GetSMLInfosParameters"}return n(t,[{key:"destroy",value:function(){this.start=null,this.count=null}}],[{key:"toUrlParameters",value:function(t){if(t){var e="";return null!==t.start&&(e="?start="+t.start),!t.count||null===t.count&&0===t.count||(e+="&count="+t.count),e}}}]),t}();SuperMap.GetSMLInfosParameters=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetLibInfoService=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o));(o=o||{})&&SuperMap.Util.extend(n,o);var i,l=n;return i=l.url.substr(l.url.length-1,1),l.url+="/"==i?"symbolLibs/":"/symbolLibs/",n.CLASS_NAME="SuperMap.GetLibInfoService",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.PlotCommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"processAsync",value:function(t){var e=this;t&&null!==t.libID&&(e.libID=t.libID),e.url+=e.libID,e.url+=".json",e.request({method:"GET",data:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}]),e}();SuperMap.GetLibInfoService=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetLibInfoParameter=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.libID=e.libID?e.libID:null,this.CLASS_NAME="SuperMap.GetLibInfoParameter"}return n(t,[{key:"destroy",value:function(){this.libID=null}}]),t}();SuperMap.GetLibInfoParameter=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.GetLibIDsService=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o));(o=o||{})&&SuperMap.Util.extend(n,o);var i,l=n;return i=l.url.substr(l.url.length-1,1),l.url+="/"==i?"symbolLibs.json?":"/symbolLibs.json?",n.CLASS_NAME="SuperMap.GetLibIDsService",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.PlotCommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"processAsync",value:function(){this.request({method:"GET",data:null,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}}]),e}();SuperMap.GetLibIDsService=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.EditSmlFileService=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o));(o=o||{})&&SuperMap.Util.extend(n,o);var i=n;return i.events=new SuperMap.Events(i,null,i.EVENT_TYPES,!0),i.eventListeners instanceof Object&&i.events.on(i.eventListeners),n.CLASS_NAME="SuperMap.EditSmlFileService",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.PlotCommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"processAsync",value:function(t){if(t){var e=this,o=t.method,n=e.url.substr(e.url.length-1,1);e.url+="/"==n?"smlInfos/":"/smlInfos/",e.url+=t.smlFileName+".json",e.url+="?isCover="+t.isCover;var i=null;t.method&&"POST"===t.method&&(i=SuperMap.EditSmlFileParameters.toJsonParameters(t)),e.request({method:o,data:i,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}}]),e}();SuperMap.EditSmlFileService=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.EditSmlFileParameters=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.method=e.method?e.method:"POST",this.sitData=e.sitData?e.sitData:null,this.smlFileName=e.smlFileName?e.smlFileName:"",this.isCover=!!e.isCover&&e.isCover,this.CLASS_NAME="SuperMap.EditSmlFileParameters"}return n(t,[{key:"destroy",value:function(){this.method="POST",this.sitData=null,this.isCover=!1,this.smlFileName=""}}],[{key:"toJsonParameters",value:function(t){if(t)return SuperMap.Plot.PlottingUtil.toJSON(t.sitData)}}]),t}();SuperMap.EditSmlFileParameters=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}();var i=e.PlotCommonServiceBase=function(t){function e(t,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,o));return n.CLASS_NAME="SuperMap.PlotCommonServiceBase",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,SuperMap.CommonServiceBase),n(e,[{key:"destroy",value:function(){(function t(e,o,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,o);if(void 0===i){var l=Object.getPrototypeOf(e);return null===l?void 0:t(l,o,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0})(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this)}},{key:"_commit",value:function(t){"POST"!==t.method&&"PUT"!==t.method||(t.params&&(t.url=SuperMap.Util.urlAppend(t.url,SuperMap.Util.getParameterString(t.params||{}))),t.params=t.data),SuperMap.FetchRequest.commit(t.method,t.url,t.params,{headers:t.headers,withCredentials:t.withCredentials,timeout:t.async?0:null,proxy:t.proxy}).then(function(t){return t.text()}).then(function(e){var o=(new SuperMap.Format.JSON).read(e);(o||(o={error:e}),o.error)?(t.scope?SuperMap.Function.bind(t.failure,t.scope):t.failure)(o.error):(o.succeed=void 0==o.succeed||o.succeed,(t.scope?SuperMap.Function.bind(t.success,t.scope):t.success)(o))})}}]),e}();SuperMap.PlotCommonServiceBase=i},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GetSymbolInfoService=e.GetSymbolInfoParameters=e.GetSMLInfosService=e.GetSMLInfosParameters=e.GetLibInfoService=e.GetLibInfoParameter=e.GetLibIDsService=e.EditSmlFileService=e.EditSmlFileParameters=e.PlotCommonServiceBase=void 0;var n=o(90),i=o(89),l=o(88),r=o(87),a=o(86),s=o(85),u=o(84),p=o(83),c=o(82),y=o(81);e.PlotCommonServiceBase=n.PlotCommonServiceBase,e.EditSmlFileParameters=i.EditSmlFileParameters,e.EditSmlFileService=l.EditSmlFileService,e.GetLibIDsService=r.GetLibIDsService,e.GetLibInfoParameter=a.GetLibInfoParameter,e.GetLibInfoService=s.GetLibInfoService,e.GetSMLInfosParameters=u.GetSMLInfosParameters,e.GetSMLInfosService=p.GetSMLInfosService,e.GetSymbolInfoParameters=c.GetSymbolInfoParameters,e.GetSymbolInfoService=y.GetSymbolInfoService},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=SuperMap.Plot.GOAnimationType={ANIMATION_UNKNOWN:-1,ANIMATION_WAY:0,ANIMATION_BLINK:1,ANIMATION_ATTRIBUTE:2,ANIMATION_SHOW:3,ANIMATION_ROTATE:4,ANIMATION_SCALE:5,ANIMATION_GROW:6};e.GOAnimationType=n;var i=SuperMap.Plot.BlinkAnimationBlinkStyle={Blink_Frequency:0,Blink_Number:1};e.BlinkAnimationBlinkStyle=i;var l=SuperMap.Plot.BlinkAnimationReplaceStyle={Replace_NoColor:0,Replace_Color:1};e.BlinkAnimationReplaceStyle=l;var r=SuperMap.Plot.RotateDirection={ClockWise:0,AntiClockWise:1};e.RotateDirection=r;var a=SuperMap.Plot.WayPathType={POLYLINE:0,CURVE:1};e.WayPathType=a;var s=SuperMap.Plot.GOAnimationState={UNKNOWN:0,PLAYING:1,PAUSE:2,STOP:3,RESET:4};e.GOAnimationState=s},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GOAnimationState=e.WayPathType=e.RotateDirection=e.BlinkAnimationReplaceStyle=e.BlinkAnimationBlinkStyle=e.GOAnimationType=void 0;var n=o(92);e.GOAnimationType=n.GOAnimationType,e.BlinkAnimationBlinkStyle=n.BlinkAnimationBlinkStyle,e.BlinkAnimationReplaceStyle=n.BlinkAnimationReplaceStyle,e.RotateDirection=n.RotateDirection,e.WayPathType=n.WayPathType,e.GOAnimationState=n.GOAnimationState},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.Event=SuperMap.Plot.Event=SuperMap.Plot.Event||{};SuperMap.Plot.Event.beforefeatureadded="beforefeatureadded",SuperMap.Plot.Event.featureadded="featureadded",SuperMap.Plot.Event.beforefeaturesselected="beforefeaturesselected",SuperMap.Plot.Event.featuresselected="featuresselected",SuperMap.Plot.Event.beforefeaturesunselected="beforefeaturesunselected",SuperMap.Plot.Event.featuresunselected="featuresunselected",SuperMap.Plot.Event.beforefeaturesmodified="beforefeaturesmodified",SuperMap.Plot.Event.featuresmodified="featuresmodified",SuperMap.Plot.Event.initializecompleted="initializecompleted",SuperMap.Plot.Event.cachecompleted="cachecompleted",SuperMap.Plot.Event.reseteditmarkersvalues="reseteditmarkersvalues",SuperMap.Plot.Event.reseteditmarkers="reseteditmarkers"},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=o(94);e.Event=n.Event},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.ArrowTailType=SuperMap.Plot.ArrowTailType={ARROWTAIL_NONE:0,ARROWTAIL_LINE:1,ARROWTAIL_CURVE:2,ARROWTAIL_COATTAIL:3,ARROWTAIL_COATTAIL_POLYBODY:4},e.ArrowHeadType=SuperMap.Plot.ArrowHeadType={ARROWHEAD_POLYLINE:0,ARROWHEAD_TRIANGLE:1,ARROWHEAD_COATTAIL:2,ARROWHEAD_TRIANGLE_SOLID:3,ARROWHEAD_WITH_EAR:4,ARROWHEAD_WITHOUT_EAR:5,ARROWHEAD_COATTAIL_HOLLOW:6},e.ArrowBodyType=SuperMap.Plot.ArrowBodyType={ARROWBODY_POLYLINE:0,ARROWBODY_POLYBEZIER:1,ARROWBODY_PARALLEL:2,ARROWBODY_TRAPEZOID:3,ARROWBODY_MULTIPOLYBEZIER:4,ARROWBODY_COATTAIL:5},e.SymbolType=SuperMap.Plot.SymbolType={DOTSYMBOL:1,ALGOSYMBOL:2,TEXTSYMBOL:34,ELLIPSESYMBOL:31,CIRCLESYMBOL:29,RECTANGLESYMBOL:26,ARBITRARYPOLYGONSYMBOL:32,POLYLINESYMBOL:24,PARALLELOGRAM:28,ARCSYMBOL:44,REGULARPOLYGON:410,CHORDSYMBOL:370,PIESYMBOL:380,KIDNEY:390,POLYBEZIERSYMBOL:590,PARALLELLINE:48,BRACESYMBOL:400,ANNOFRAMESYMBOL:320,ANNOFRAMESYMBOLM:321,TRAPEZOIDSYMBOL:350,POLYBEZIERCLOSESYMBOL:360,GROUPOBJECT:1e3,LINERELATION:1001,INTERFERENCEBEAM:1002,POLYGONREGION:1003,ARCREGION:1004,AIRROUTE:1005,NAVYROUTE:1006,MISSILEROUTE:1007,NAVYDEPLOYMENT:1008,AIRDEPLOYMENT:1009,SATELLITE:1010,SATELLITETIMEWINDOWS:1011,SYMBOLTEXT:1012,RUNWAY:1013,CURVEEIGHT:1014,ROUTENODE:1015,ARROWLINE:1016,PATHTEXT:1017,LITERATESIGN:1018,CONCENTRICCIRCLE:1019,FLAGGROUP:1020,SYMBOLTEXT1:1021,COMBINATIONALCIRCLE:1022,FREECURVE:1023,SYMBOLTEXTBOX:1024,NODECHAIN:1025,LINEMARKING:1026,AVOIDREGION:1027,WIRE:1028},e.LineRelationType=SuperMap.Plot.LineRelationType={SOLID:0,DASH:1,ARROW:2},e.AlgoSurroundLineType=SuperMap.Plot.AlgoSurroundLineType={NONE:0,INNER:1,OUT:2,ALL:3},e.RouteNodeType=SuperMap.Plot.RouteNodeType={RENDEZVOUS:"RENDEZVOUS",EXPANDING:"EXPANDING",VOLLEY:"VOLLEY",STANDBY:"STANDBY",SUPPLY:"SUPPLY",TAKEOFF:"TAKEOFF",INITIAL:"INITIAL",VISUALINITAL:"VISUALINITAL",LANCH:"LANCH",TURNING:"TURNING",AIMING:"AIMING",COMMONROUTE:"COMMONROUTE",WEAPONLAUNCH:"WEAPONLAUNCH",TARGET:"TARGET",ATTACK:"ATTACK",SUPPRESS:"SUPPRESS",EIGHTSPIRAL:"EIGHTSPIRAL",HAPPYVALLEY:"HAPPYVALLEY"},e.RelLineText=SuperMap.Plot.RelLineText={ONLINE:0,ONLEFTLINE:1,ONRIGHTLINE:2,ONBOTHLINE:3},e.RadiusLineType=SuperMap.Plot.RadiusLineType={NONE:0,SOLID:1,ARROW:2},e.AnnoPosition=SuperMap.Plot.AnnoPosition={LEFTTOP:0,LEFTBOTTOM:1,RIGHTTOP:2,RIGHTBOTTOM:3,TOP:4,BOTTOM:5,LEFT:6,RIGHT:7},e.ArrowLineType=SuperMap.Plot.ArrowLineType={DOUBLELINE:0,TRIANGLESOLID:1,NONE:2},e.TextBoxType=SuperMap.Plot.TextBoxType={WITHTIPBOX:0,RECTBOX:1,LINEBOX:2,NONEBOX:3},e.PositionOffsetType=SuperMap.Plot.PositionOffsetType={LINE:0,GRADIENTLINE:1},e.AlignType=SuperMap.Plot.AlignType={LEFT:0,RIGHT:1,UP:2,DOWN:3,VERTICALCENTER:4,HORIZONTALCENTER:5},e.EditMode=SuperMap.Plot.EditMode={ADDCONTROLPOINT:0,EDITCONTROLPOINT:1,EDITCIRCUMRECTANGLE:2,REMOVECONTROLPOINT:3};SuperMap.Plot.EqualBigType={WIDTH:0,HEIGHT:1,SAME:2},SuperMap.Plot.EquiType={LEVEL:0,VERTICAL:1};e.TransactionType=SuperMap.Plot.TransactionType={CREATE:0,EDIT:1,REMOVE:2}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=e.SuperMap=window.SuperMap=window.SuperMap||{};e.Plot=n.Plot=n.Plot||{}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CalculateSVGGradient=e.CalculateCanvasGradient=e.TransactionInfo=e.Transaction=e.TowardNode=e.TimeWindowParameter=e.SymbolText=e.SubSymbol=e.SMLInfoStruct=e.SitDataStruct=e.RouteNode=e.Property=e.OrbitPoint=e.MapInfoStruct=e.LayerDataStruct=e.ExtendProperty=e.DefaultStyle=e.GetSymbolInfoService=e.GetSymbolInfoParameters=e.GetSMLInfosService=e.GetSMLInfosParameters=e.GetLibInfoService=e.GetLibInfoParameter=e.GetLibIDsService=e.EditSmlFileService=e.EditSmlFileParameters=e.PlotCommonServiceBase=e.GOAnimationType=e.Event=e.EditMode=e.AlignType=e.PositionOffsetType=e.TextBoxType=e.ArrowLineType=e.AnnoPosition=e.RadiusLineType=e.RelLineText=e.RouteNodeType=e.AlgoSurroundLineType=e.LineRelationType=e.SymbolType=e.Plot=void 0;var n=o(97),i=o(96),l=o(95),r=o(93),a=o(91),s=o(80),u=o(64);e.Plot=n.Plot,e.SymbolType=i.SymbolType,e.LineRelationType=i.LineRelationType,e.AlgoSurroundLineType=i.AlgoSurroundLineType,e.RouteNodeType=i.RouteNodeType,e.RelLineText=i.RelLineText,e.RadiusLineType=i.RadiusLineType,e.AnnoPosition=i.AnnoPosition,e.ArrowLineType=i.ArrowLineType,e.TextBoxType=i.TextBoxType,e.PositionOffsetType=i.PositionOffsetType,e.AlignType=i.AlignType,e.EditMode=i.EditMode,e.Event=l.Event,e.GOAnimationType=r.GOAnimationType,e.PlotCommonServiceBase=a.PlotCommonServiceBase,e.EditSmlFileParameters=a.EditSmlFileParameters,e.EditSmlFileService=a.EditSmlFileService,e.GetLibIDsService=a.GetLibIDsService,e.GetLibInfoParameter=a.GetLibInfoParameter,e.GetLibInfoService=a.GetLibInfoService,e.GetSMLInfosParameters=a.GetSMLInfosParameters,e.GetSMLInfosService=a.GetSMLInfosService,e.GetSymbolInfoParameters=a.GetSymbolInfoParameters,e.GetSymbolInfoService=a.GetSymbolInfoService,e.DefaultStyle=s.DefaultStyle,e.ExtendProperty=s.ExtendProperty,e.LayerDataStruct=s.LayerDataStruct,e.MapInfoStruct=s.MapInfoStruct,e.OrbitPoint=s.OrbitPoint,e.Property=s.Property,e.RouteNode=s.RouteNode,e.SitDataStruct=s.SitDataStruct,e.SMLInfoStruct=s.SMLInfoStruct,e.SubSymbol=s.SubSymbol,e.SymbolText=s.SymbolText,e.TimeWindowParameter=s.TimeWindowParameter,e.TowardNode=s.TowardNode,e.Transaction=s.Transaction,e.TransactionInfo=s.TransactionInfo,e.CalculateCanvasGradient=u.CalculateCanvasGradient,e.CalculateSVGGradient=u.CalculateSVGGradient},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Format=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0),l=o(1);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var r=e.Format=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=null,this.keepData=!1,l.Util.extend(this,e),this.options=e,this.CLASS_NAME="SuperMap.Format"}return n(t,[{key:"destroy",value:function(){}},{key:"read",value:function(t){}},{key:"write",value:function(t){}}]),t}();i.SuperMap.Format=r},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JSONFormat=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),l=o(0),r=o(99);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
-var a=e.JSONFormat=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.indent="    ",o.space=" ",o.newline="\n",o.level=0,o.pretty=!1,o.nativeJSON=!(!window.JSON||"function"!=typeof JSON.parse||"function"!=typeof JSON.stringify),o.CLASS_NAME="SuperMap.Format.JSON",o.serialize={object:function(t){if(null==t)return"null";if(t.constructor===Date)return this.serialize.date.apply(this,[t]);if(t.constructor===Array)return this.serialize.array.apply(this,[t]);var e,o,n,i=["{"];this.level+=1;var l=!1;for(e in t)t.hasOwnProperty(e)&&(o=this.write.apply(this,[e,this.pretty]),n=this.write.apply(this,[t[e],this.pretty]),null!=o&&null!=n&&(l&&i.push(","),i.push(this.writeNewline(),this.writeIndent(),o,":",this.writeSpace(),n),l=!0));return this.level-=1,i.push(this.writeNewline(),this.writeIndent(),"}"),i.join("")},array:function(t){var e,o=["["];this.level+=1;for(var n=0,i=t.length;n<i;++n)null!=(e=this.write.apply(this,[t[n],this.pretty]))&&(n>0&&o.push(","),o.push(this.writeNewline(),this.writeIndent(),e));return this.level-=1,o.push(this.writeNewline(),this.writeIndent(),"]"),o.join("")},string:function(t){var e={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return/["\\\x00-\x1f]/.test(t)?'"'+t.replace(/([\x00-\x1f\\"])/g,function(t,o){var n=e[o];return n||(n=o.charCodeAt(),"\\u00"+Math.floor(n/16).toString(16)+(n%16).toString(16))})+'"':'"'+t+'"'},number:function(t){return isFinite(t)?String(t):"null"},boolean:function(t){return String(t)},date:function(t){function e(t){return t<10?"0"+t:t}return'"'+t.getFullYear()+"-"+e(t.getMonth()+1)+"-"+e(t.getDate())+"T"+e(t.getHours())+":"+e(t.getMinutes())+":"+e(t.getSeconds())+'"'}},o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,r.Format),i(e,[{key:"read",value:function(t,e){var o;if(this.nativeJSON)try{o=JSON.parse(t,e)}catch(t){}return this.keepData&&(this.data=o),o}},{key:"write",value:function(t,e){this.pretty=!!e;var o=null,i=void 0===t?"undefined":n(t);if(this.serialize[i])try{o=!this.pretty&&this.nativeJSON?JSON.stringify(t):this.serialize[i].apply(this,[t])}catch(t){}return o}},{key:"writeIndent",value:function(){var t=[];if(this.pretty)for(var e=0;e<this.level;++e)t.push(this.indent);return t.join("")}},{key:"writeNewline",value:function(){return this.pretty?this.newline:""}},{key:"writeSpace",value:function(){return this.pretty?this.space:""}}]),e}();l.SuperMap.Format.JSON=a},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GetFeatureMode=e.AggregationQueryBuilderType=e.AggregationType=e.TopologyValidatorRule=e.SummaryType=e.StatisticAnalystMode=e.AnalystSizeUnit=e.AnalystAreaUnit=e.ClipAnalystMode=e.ChartType=e.ClientType=e.Exponent=e.VariogramMode=e.InterpolationAlgorithmType=e.SearchMode=e.PixelFormat=e.StatisticMode=e.UGCLayerType=e.LayerType=e.ColorSpaceType=e.GridType=e.TransferPreference=e.TransferTactic=e.EditType=e.DataReturnMode=e.SurfaceAnalystMethod=e.SmoothMethod=e.OutputType=e.OverlayOperationType=e.BufferEndType=e.TurnType=e.SupplyCenterType=e.SideType=e.DirectionType=e.LabelOverLengthMode=e.LabelBackShape=e.AlongLineDirection=e.FillGradientMode=e.TextAlignment=e.ColorGradientType=e.ThemeType=e.RangeMode=e.GraduatedMode=e.GraphAxesTextDisplayMode=e.ThemeGraphType=e.ThemeGraphTextFormat=e.EngineType=e.BufferRadiusUnit=e.Unit=e.MeasureMode=e.SpatialRelationType=e.SpatialQueryMode=e.JoinType=e.QueryOption=e.GeometryType=e.ServerType=e.DataFormat=void 0;var n=o(0),i=n.SuperMap.DataFormat={GEOJSON:"GEOJSON",ISERVER:"ISERVER"};
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-    * This program are made available under the terms of the Apache License, Version 2.0
-    * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
-e.DataFormat=i;var l=n.SuperMap.ServerType={ISERVER:"ISERVER",IPORTAL:"IPORTAL",ONLINE:"ONLINE"};e.ServerType=l;var r=n.SuperMap.GeometryType={LINE:"LINE",LINEM:"LINEM",POINT:"POINT",REGION:"REGION",ELLIPSE:"ELLIPSE",CIRCLE:"CIRCLE",TEXT:"TEXT",RECTANGLE:"RECTANGLE",UNKNOWN:"UNKNOWN"};e.GeometryType=r;var a=n.SuperMap.QueryOption={ATTRIBUTE:"ATTRIBUTE",ATTRIBUTEANDGEOMETRY:"ATTRIBUTEANDGEOMETRY",GEOMETRY:"GEOMETRY"};e.QueryOption=a;var s=n.SuperMap.JoinType={INNERJOIN:"INNERJOIN",LEFTJOIN:"LEFTJOIN"};e.JoinType=s;var u=n.SuperMap.SpatialQueryMode={CONTAIN:"CONTAIN",CROSS:"CROSS",DISJOINT:"DISJOINT",IDENTITY:"IDENTITY",INTERSECT:"INTERSECT",NONE:"NONE",OVERLAP:"OVERLAP",TOUCH:"TOUCH",WITHIN:"WITHIN"};e.SpatialQueryMode=u;var p=n.SuperMap.SpatialRelationType={CONTAIN:"CONTAIN",INTERSECT:"INTERSECT",WITHIN:"WITHIN"};e.SpatialRelationType=p;var c=n.SuperMap.MeasureMode={DISTANCE:"DISTANCE",AREA:"AREA"};e.MeasureMode=c;var y=n.SuperMap.Unit={METER:"METER",KILOMETER:"KILOMETER",MILE:"MILE",YARD:"YARD",DEGREE:"DEGREE",MILLIMETER:"MILLIMETER",CENTIMETER:"CENTIMETER",INCH:"INCH",DECIMETER:"DECIMETER",FOOT:"FOOT",SECOND:"SECOND",MINUTE:"MINUTE",RADIAN:"RADIAN"};e.Unit=y;var P=n.SuperMap.BufferRadiusUnit={CENTIMETER:"CENTIMETER",DECIMETER:"DECIMETER",FOOT:"FOOT",INCH:"INCH",KILOMETER:"KILOMETER",METER:"METER",MILE:"MILE",MILLIMETER:"MILLIMETER",YARD:"YARD"};e.BufferRadiusUnit=P;var h=n.SuperMap.EngineType={IMAGEPLUGINS:"IMAGEPLUGINS",OGC:"OGC",ORACLEPLUS:"ORACLEPLUS",SDBPLUS:"SDBPLUS",SQLPLUS:"SQLPLUS",UDB:"UDB"};e.EngineType=h;var f=n.SuperMap.ThemeGraphTextFormat={CAPTION:"CAPTION",CAPTION_PERCENT:"CAPTION_PERCENT",CAPTION_VALUE:"CAPTION_VALUE",PERCENT:"PERCENT",VALUE:"VALUE"};e.ThemeGraphTextFormat=f;var S=n.SuperMap.ThemeGraphType={AREA:"AREA",BAR:"BAR",BAR3D:"BAR3D",LINE:"LINE",PIE:"PIE",PIE3D:"PIE3D",POINT:"POINT",RING:"RING",ROSE:"ROSE",ROSE3D:"ROSE3D",STACK_BAR:"STACK_BAR",STACK_BAR3D:"STACK_BAR3D",STEP:"STEP"};e.ThemeGraphType=S;var d=n.SuperMap.GraphAxesTextDisplayMode={ALL:"ALL",NONE:"NONE",YAXES:"YAXES"};e.GraphAxesTextDisplayMode=d;var g=n.SuperMap.GraduatedMode={CONSTANT:"CONSTANT",LOGARITHM:"LOGARITHM",SQUAREROOT:"SQUAREROOT"};e.GraduatedMode=g;var M=n.SuperMap.RangeMode={CUSTOMINTERVAL:"CUSTOMINTERVAL",EQUALINTERVAL:"EQUALINTERVAL",LOGARITHM:"LOGARITHM",QUANTILE:"QUANTILE",SQUAREROOT:"SQUAREROOT",STDDEVIATION:"STDDEVIATION"};e.RangeMode=M;var m=n.SuperMap.ThemeType={DOTDENSITY:"DOTDENSITY",GRADUATEDSYMBOL:"GRADUATEDSYMBOL",GRAPH:"GRAPH",LABEL:"LABEL",RANGE:"RANGE",UNIQUE:"UNIQUE"};e.ThemeType=m;var v=n.SuperMap.ColorGradientType={BLACK_WHITE:"BLACKWHITE",BLUE_BLACK:"BLUEBLACK",BLUE_RED:"BLUERED",BLUE_WHITE:"BLUEWHITE",CYAN_BLACK:"CYANBLACK",CYAN_BLUE:"CYANBLUE",CYAN_GREEN:"CYANGREEN",CYAN_WHITE:"CYANWHITE",GREEN_BLACK:"GREENBLACK",GREEN_BLUE:"GREENBLUE",GREEN_ORANGE_VIOLET:"GREENORANGEVIOLET",GREEN_RED:"GREENRED",GREEN_WHITE:"GREENWHITE",PINK_BLACK:"PINKBLACK",PINK_BLUE:"PINKBLUE",PINK_RED:"PINKRED",PINK_WHITE:"PINKWHITE",RAIN_BOW:"RAINBOW",RED_BLACK:"REDBLACK",RED_WHITE:"REDWHITE",SPECTRUM:"SPECTRUM",TERRAIN:"TERRAIN",YELLOW_BLACK:"YELLOWBLACK",YELLOW_BLUE:"YELLOWBLUE",YELLOW_GREEN:"YELLOWGREEN",YELLOW_RED:"YELLOWRED",YELLOW_WHITE:"YELLOWWHITE"};e.ColorGradientType=v;var b=n.SuperMap.TextAlignment={TOPLEFT:"TOPLEFT",TOPCENTER:"TOPCENTER",TOPRIGHT:"TOPRIGHT",BASELINELEFT:"BASELINELEFT",BASELINECENTER:"BASELINECENTER",BASELINERIGHT:"BASELINERIGHT",BOTTOMLEFT:"BOTTOMLEFT",BOTTOMCENTER:"BOTTOMCENTER",BOTTOMRIGHT:"BOTTOMRIGHT",MIDDLELEFT:"MIDDLELEFT",MIDDLECENTER:"MIDDLECENTER",MIDDLERIGHT:"MIDDLERIGHT"};e.TextAlignment=b;var T=n.SuperMap.FillGradientMode={NONE:"NONE",LINEAR:"LINEAR",RADIAL:"RADIAL",CONICAL:"CONICAL",SQUARE:"SQUARE"};e.FillGradientMode=T;var A=n.SuperMap.AlongLineDirection={NORMAL:"ALONG_LINE_NORMAL",LB_TO_RT:"LEFT_BOTTOM_TO_RIGHT_TOP",LT_TO_RB:"LEFT_TOP_TO_RIGHT_BOTTOM",RB_TO_LT:"RIGHT_BOTTOM_TO_LEFT_TOP",RT_TO_LB:"RIGHT_TOP_TO_LEFT_BOTTOM"};e.AlongLineDirection=A;var L=n.SuperMap.LabelBackShape={DIAMOND:"DIAMOND",ELLIPSE:"ELLIPSE",MARKER:"MARKER",NONE:"NONE",RECT:"RECT",ROUNDRECT:"ROUNDRECT",TRIANGLE:"TRIANGLE"};e.LabelBackShape=L;var O=n.SuperMap.LabelOverLengthMode={NEWLINE:"NEWLINE",NONE:"NONE",OMIT:"OMIT"};e.LabelOverLengthMode=O;var E=n.SuperMap.DirectionType={EAST:"EAST",NONE:"NONE",NORTH:"NORTH",SOURTH:"SOURTH",WEST:"WEST"};e.DirectionType=E;var x=n.SuperMap.SideType={LEFT:"LEFT",MIDDLE:"MIDDLE",NONE:"NONE",RIGHT:"RIGHT"};e.SideType=x;var w=n.SuperMap.SupplyCenterType={FIXEDCENTER:"FIXEDCENTER",NULL:"NULL",OPTIONALCENTER:"OPTIONALCENTER"};e.SupplyCenterType=w;var I=n.SuperMap.TurnType={AHEAD:"AHEAD",BACK:"BACK",END:"END",LEFT:"LEFT",NONE:"NONE",RIGHT:"RIGHT"};e.TurnType=I;var R=n.SuperMap.BufferEndType={FLAT:"FLAT",ROUND:"ROUND"};e.BufferEndType=R;var C=n.SuperMap.OverlayOperationType={CLIP:"CLIP",ERASE:"ERASE",IDENTITY:"IDENTITY",INTERSECT:"INTERSECT",UNION:"UNION",UPDATE:"UPDATE",XOR:"XOR"};e.OverlayOperationType=C;var _=n.SuperMap.OutputType={INDEXEDHDFS:"INDEXEDHDFS",UDB:"UDB",MONGODB:"MONGODB",PG:"PG"};e.OutputType=_;var U=n.SuperMap.SmoothMethod={BSPLINE:"BSPLINE",POLISH:"POLISH"};e.SmoothMethod=U;var N=n.SuperMap.SurfaceAnalystMethod={ISOLINE:"ISOLINE",ISOREGION:"ISOREGION"};e.SurfaceAnalystMethod=N;var D=n.SuperMap.DataReturnMode={DATASET_AND_RECORDSET:"DATASET_AND_RECORDSET",DATASET_ONLY:"DATASET_ONLY",RECORDSET_ONLY:"RECORDSET_ONLY"};e.DataReturnMode=D;var B=n.SuperMap.EditType={ADD:"add",UPDATE:"update",DELETE:"delete"};e.EditType=B;var G=n.SuperMap.TransferTactic={LESS_TIME:"LESS_TIME",LESS_TRANSFER:"LESS_TRANSFER",LESS_WALK:"LESS_WALK",MIN_DISTANCE:"MIN_DISTANCE"};e.TransferTactic=G;var k=n.SuperMap.TransferPreference={BUS:"BUS",SUBWAY:"SUBWAY",NO_SUBWAY:"NO_SUBWAY",NONE:"NONE"};e.TransferPreference=k;var V=n.SuperMap.GridType={CROSS:"CROSS",GRID:"GRID",POINT:"POINT"};e.GridType=V;var Y=n.SuperMap.ColorSpaceType={CMYK:"CMYK",RGB:"RGB"};e.ColorSpaceType=Y;var F=n.SuperMap.LayerType={UGC:"UGC",WMS:"WMS",WFS:"WFS",CUSTOM:"CUSTOM"};e.LayerType=F;var j=n.SuperMap.UGCLayerType={THEME:"THEME",VECTOR:"VECTOR",GRID:"GRID",IMAGE:"IMAGE"};e.UGCLayerType=j;var z=n.SuperMap.StatisticMode={AVERAGE:"AVERAGE",MAX:"MAX",MIN:"MIN",STDDEVIATION:"STDDEVIATION",SUM:"SUM",VARIANCE:"VARIANCE"};e.StatisticMode=z;var W=n.SuperMap.PixelFormat={BIT16:"BIT16",BIT32:"BIT32",BIT64:"BIT64",SINGLE:"SINGLE",DOUBLE:"DOUBLE",UBIT1:"UBIT1",UBIT4:"UBIT4",UBIT8:"UBIT8",UBIT24:"UBIT24",UBIT32:"UBIT32"};e.PixelFormat=W;var H=n.SuperMap.SearchMode={KDTREE_FIXED_COUNT:"KDTREE_FIXED_COUNT",KDTREE_FIXED_RADIUS:"KDTREE_FIXED_RADIUS",NONE:"NONE",QUADTREE:"QUADTREE"};e.SearchMode=H;var q=n.SuperMap.InterpolationAlgorithmType={KRIGING:"KRIGING",SimpleKriging:"SimpleKriging",UniversalKriging:"UniversalKriging"};e.InterpolationAlgorithmType=q;var J=n.SuperMap.VariogramMode={EXPONENTIAL:"EXPONENTIAL",GAUSSIAN:"GAUSSIAN",SPHERICAL:"SPHERICAL"};e.VariogramMode=J;var X=n.SuperMap.Exponent={EXP1:"EXP1",EXP2:"EXP2"};e.Exponent=X;var K=n.SuperMap.ClientType={IP:"IP",REFERER:"Referer",REQUESTIP:"RequestIP",NONE:"NONE",SERVER:"SERVER",WEB:"WEB"};e.ClientType=K;var Q=n.SuperMap.ChartType={BAR:"Bar",BAR3D:"Bar3D",CIRCLE:"Circle",PIE:"Pie",POINT:"Point",LINE:"Line",RING:"Ring"};e.ChartType=Q;var Z=n.SuperMap.ClipAnalystMode={CLIP:"clip",INTERSECT:"intersect"};e.ClipAnalystMode=Z;var $=n.SuperMap.AnalystAreaUnit={SQUAREMETER:"SquareMeter",SQUAREKILOMETER:"SquareKiloMeter",HECTARE:"Hectare",ARE:"Are",ACRE:"Acre",SQUAREFOOT:"SquareFoot",SQUAREYARD:"SquareYard",SQUAREMILE:"SquareMile"};e.AnalystAreaUnit=$;var tt=n.SuperMap.AnalystSizeUnit={METER:"Meter",KILOMETER:"Kilometer",YARD:"Yard",FOOT:"Foot",MILE:"Mile"};e.AnalystSizeUnit=tt;var et=n.SuperMap.StatisticAnalystMode={MAX:"max",MIN:"min",AVERAGE:"average",SUM:"sum",VARIANCE:"variance",STDDEVIATION:"stdDeviation"};e.StatisticAnalystMode=et;var ot=n.SuperMap.SummaryType={SUMMARYMESH:"SUMMARYMESH",SUMMARYREGION:"SUMMARYREGION"};e.SummaryType=ot;var nt=n.SuperMap.TopologyValidatorRule={REGIONNOOVERLAP:"REGIONNOOVERLAP",REGIONNOOVERLAPWITH:"REGIONNOOVERLAPWITH",REGIONCONTAINEDBYREGION:"REGIONCONTAINEDBYREGION",REGIONCOVEREDBYREGION:"REGIONCOVEREDBYREGION",LINENOOVERLAP:"LINENOOVERLAP",LINENOOVERLAPWITH:"LINENOOVERLAPWITH",POINTNOIDENTICAL:"POINTNOIDENTICAL"};e.TopologyValidatorRule=nt;var it=n.SuperMap.AggregationType={GEOHASH_GRID:"geohash_grid",FILTER:"filter"};e.AggregationType=it;var lt=n.SuperMap.AggregationQueryBuilderType={GEO_BOUNDING_BOX:"geo_bounding_box"};e.AggregationQueryBuilderType=lt;var rt=n.SuperMap.GetFeatureMode={BOUNDS:"BOUNDS",BUFFER:"BUFFER",ID:"ID",SPATIAL:"SPATIAL",SQL:"SQL"};e.GetFeatureMode=rt},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SecurityManager=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0),l=o(1),r=o(5);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var a=e.SecurityManager=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return n(t,null,[{key:"generateToken",value:function(t,e){var o=this.servers[t];if(o)return r.FetchRequest.post(o.tokenServiceUrl,JSON.stringify(e.toJSON())).then(function(t){return t.text()})}},{key:"registerServers",value:function(t){this.servers=this.servers||{},l.Util.isArray(t)||(t=[t]);for(var e=0;e<t.length;e++){var o=t[e];this.servers[o.server]=o}}},{key:"registerToken",value:function(t,e){if(this.tokens=this.tokens||{},t&&e){var o=this._getTokenStorageKey(t);this.tokens[o]=e}}},{key:"registerKey",value:function(t,e){if(this.keys=this.keys||{},t&&!(t.length<1)&&e){t=l.Util.isArray(t)?t:[t];for(var o=0;o<t.length;o++){var n=this._getUrlRestString(t[0])||t[0];this.keys[n]=e}}}},{key:"getServerInfo",value:function(t){return this.servers=this.servers||{},this.servers[t]}},{key:"getToken",value:function(t){if(t){this.tokens=this.tokens||{};var e=this._getTokenStorageKey(t);return this.tokens[e]}}},{key:"getKey",value:function(t){this.keys=this.keys||{};var e=this._getUrlRestString(t)||t;return this.keys[e]}},{key:"loginiServer",value:function(t,e,o,n){t+="/"===t.substr(t.length-1,1)?"services/security/login.json":"/services/security/login.json";var i={username:e&&e.toString(),password:o&&o.toString(),rememberme:n};i=JSON.stringify(i);return r.FetchRequest.post(t,i,{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}}).then(function(t){return t.json()})}},{key:"logoutiServer",value:function(t){t+="/"===t.substr(t.length-1,1)?"services/security/logout":"/services/security/logout";return r.FetchRequest.get(t,"",{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},withoutFormatSuffix:!0}).then(function(){return!0}).catch(function(){return!1})}},{key:"loginOnline",value:function(e,o){var n=t.SSO+"/login?service="+e;this._open(n,o)}},{key:"loginiPortal",value:function(t,e,o){t+="/"===t.substr(t.length-1,1)?"web/login.json":"/web/login.json";var n={username:e&&e.toString(),password:o&&o.toString()};n=JSON.stringify(n);return r.FetchRequest.post(t,n,{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},withCredentials:!0}).then(function(t){return t.json()})}},{key:"logoutiPortal",value:function(t){t+="/"===t.substr(t.length-1,1)?"services/security/logout":"/services/security/logout";return r.FetchRequest.get(t,"",{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},withCredentials:!0,withoutFormatSuffix:!0}).then(function(){return!0}).catch(function(){return!1})}},{key:"loginManager",value:function(t,e,o){if(l.Util.isInTheSameDomain(t)){var n="/"===t.substr(t.length-1,1)?t+"icloud/security/tokens.json":t+"/icloud/security/tokens.json",i=e||{},a={username:i.userName&&i.userName.toString(),password:i.password&&i.password.toString()};a=JSON.stringify(a);var s=this;return r.FetchRequest.post(n,a,{headers:{Accept:"*/*","Content-Type":"application/json"}}).then(function(t){t.text().then(function(t){return s.imanagerToken=t,t})})}var u=!o||o.isNewTab;this._open(t,u)}},{key:"destroyAllCredentials",value:function(){this.keys=null,this.tokens=null,this.servers=null}},{key:"destroyToken",value:function(t){if(t){var e=this._getTokenStorageKey(t);this.tokens=this.tokens||{},this.tokens[e]&&delete this.tokens[e]}}},{key:"destroyKey",value:function(t){if(t){this.keys=this.keys||{};var e=this._getUrlRestString(t)||t;this.keys[e]&&delete this.keys[e]}}},{key:"_open",value:function(t,e){e=null==e||e;var o=window.screen.availWidth/2-this.INNER_WINDOW_WIDTH/2,n=window.screen.availHeight/2-this.INNER_WINDOW_HEIGHT/2,i="height="+this.INNER_WINDOW_HEIGHT+", width="+this.INNER_WINDOW_WIDTH+",top="+n+", left="+o+",toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no";e?window.open(t,"login"):window.open(t,"login",i)}},{key:"_getTokenStorageKey",value:function(t){var e=t.match(/(.*?):\/\/([^\/]+)/i);return e?e[0]:t}},{key:"_getUrlRestString",value:function(t){if(!t)return t;var e=t.match(/http:\/\/(.*\/rest)/i);return e?e[0]:t}}]),t}();a.INNER_WINDOW_WIDTH=600,a.INNER_WINDOW_HEIGHT=600,a.SSO="https://sso.supermap.com",a.ONLINE="http://www.supermapol.com",i.SuperMap.SecurityManager=a},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Credential=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var l=e.Credential=function(){function t(e,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.value=e||"",this.name=o||"token",this.CLASS_NAME="SuperMap.Credential"}return n(t,[{key:"getUrlParameters",value:function(){return this.name+"="+this.value}},{key:"getValue",value:function(){return this.value}},{key:"destroy",value:function(){this.value=null,this.name=null}}]),t}();l.CREDENTIAL=null,i.SuperMap.Credential=l},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=o(0),i=o(1),l=e.Event=n.SuperMap.Event={observers:!1,KEY_SPACE:32,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(t){return t.target||t.srcElement},isSingleTouch:function(t){return t.touches&&1===t.touches.length},isMultiTouch:function(t){return t.touches&&t.touches.length>1},isLeftClick:function(t){return t.which&&1===t.which||t.button&&1===t.button},isRightClick:function(t){return t.which&&3===t.which||t.button&&2===t.button},stop:function(t,e){e||(t.preventDefault?t.preventDefault():t.returnValue=!1),t.stopPropagation?t.stopPropagation():t.cancelBubble=!0},findElement:function(t,e){for(var o=n.SuperMap.Event.element(t);o.parentNode&&(!o.tagName||o.tagName.toUpperCase()!=e.toUpperCase());)o=o.parentNode;return o},observe:function(t,e,o,n){var l=i.Util.getElement(t);if(n=n||!1,"keypress"===e&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||l.attachEvent)&&(e="keydown"),this.observers||(this.observers={}),!l._eventCacheID){var r="eventCacheID_";l.id&&(r=l.id+"_"+r),l._eventCacheID=i.Util.createUniqueID(r)}var a=l._eventCacheID;this.observers[a]||(this.observers[a]=[]),this.observers[a].push({element:l,name:e,observer:o,useCapture:n}),l.addEventListener?l.addEventListener(e,o,n):l.attachEvent&&l.attachEvent("on"+e,o)},stopObservingElement:function(t){var e=i.Util.getElement(t)._eventCacheID;this._removeElementObservers(n.SuperMap.Event.observers[e])},_removeElementObservers:function(t){if(t)for(var e=t.length-1;e>=0;e--){var o=t[e],i=new Array(o.element,o.name,o.observer,o.useCapture);n.SuperMap.Event.stopObserving.apply(this,i)}},stopObserving:function(t,e,o,l){l=l||!1;var r=i.Util.getElement(t),a=r._eventCacheID;"keypress"===e&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||r.detachEvent)&&(e="keydown");var s=!1,u=n.SuperMap.Event.observers[a];if(u)for(var p=0;!s&&p<u.length;){var c=u[p];if(c.name===e&&c.observer===o&&c.useCapture===l){u.splice(p,1),0==u.length&&delete n.SuperMap.Event.observers[a],s=!0;break}p++}return s&&(r.removeEventListener?r.removeEventListener(e,o,l):r&&r.detachEvent&&r.detachEvent("on"+e,o)),s},unloadCache:function(){if(n.SuperMap.Event&&n.SuperMap.Event.observers){for(var t in n.SuperMap.Event.observers){var e=n.SuperMap.Event.observers[t];n.SuperMap.Event._removeElementObservers.apply(this,[e])}n.SuperMap.Event.observers=!1}},CLASS_NAME:"SuperMap.Event"};n.SuperMap.Event=l,n.SuperMap.Event.observe(window,"unload",n.SuperMap.Event.unloadCache,!1)},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Pixel=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var l=e.Pixel=function(){function t(e,o,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.x=e?parseFloat(e):0,this.y=o?parseFloat(o):0,this.mode=n,this.CLASS_NAME="SuperMap.Pixel",i.SuperMap.Pixel.Mode={LeftTop:"lefttop",RightTop:"righttop",RightBottom:"rightbottom",LeftBottom:"leftbottom"}}return n(t,[{key:"toString",value:function(){return"x="+this.x+",y="+this.y}},{key:"clone",value:function(){return new t(this.x,this.y,this.mode)}},{key:"equals",value:function(t){var e=!1;return null!=t&&(e=this.x==t.x&&this.y==t.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(t.x)&&isNaN(t.y)),e}},{key:"distanceTo",value:function(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))}},{key:"add",value:function(e,o){if(null==e||null==o)throw new TypeError("Pixel.add cannot receive null values");return new t(this.x+e,this.y+o)}},{key:"offset",value:function(t){var e=this.clone();return t&&(e=this.add(t.x,t.y)),e}},{key:"destroy",value:function(){this.x=null,this.y=null,this.mode=null}}]),t}();i.SuperMap.Pixel=l},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Events=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),l=o(0),r=o(105),a=o(104),s=o(2),u=o(1);var p=e.Events=function(){function t(e,o,n,i,l){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.BROWSER_EVENTS=["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","rightclick","dblrightclick","resize","focus","blur","touchstart","touchmove","touchend","keydown","MSPointerDown","MSPointerUp","pointerdown","pointerup","MSGestureStart","MSGestureChange","MSGestureEnd","contextmenu"],this.listeners={},this.object=e,this.element=null,this.eventTypes=[],this.eventHandler=null,this.fallThrough=i,this.includeXY=!1,this.extensions={},this.extensionCount={},this.clearMouseListener=null,u.Util.extend(this,l),null!=n)for(var r=0,a=n.length;r<a;r++)this.addEventType(n[r]);null!=o&&this.attachToElement(o),this.CLASS_NAME="SuperMap.Events"}return i(t,[{key:"destroy",value:function(){for(var t in this.extensions)"boolean"!=typeof this.extensions[t]&&this.extensions[t].destroy();this.extensions=null,this.element&&(a.Event.stopObservingElement(this.element),this.element.hasScrollEvent&&a.Event.stopObserving(window,"scroll",this.clearMouseListener)),this.element=null,this.listeners=null,this.object=null,this.eventTypes=null,this.fallThrough=null,this.eventHandler=null}},{key:"addEventType",value:function(t){this.listeners[t]||(this.eventTypes.push(t),this.listeners[t]=[])}},{key:"attachToElement",value:function(t){this.element?a.Event.stopObservingElement(this.element):(this.eventHandler=s.FunctionExt.bindAsEventListener(this.handleBrowserEvent,this),this.clearMouseListener=s.FunctionExt.bind(this.clearMouseCache,this)),this.element=t;for(var e=0,o=this.BROWSER_EVENTS.length;e<o;e++){var n=this.BROWSER_EVENTS[e];this.addEventType(n),a.Event.observe(t,n,this.eventHandler)}a.Event.observe(t,"dragstart",a.Event.stop)}},{key:"on",value:function(t){for(var e in t)"scope"!==e&&t.hasOwnProperty(e)&&this.register(e,t.scope,t[e])}},{key:"register",value:function(e,o,i,l){if(e in t&&!this.extensions[e]&&(this.extensions[e]=new t[e](this)),null!=i&&-1!==u.Util.indexOf(this.eventTypes,e)){null==o&&(o=this.object);var r=this.listeners[e];r||(r=[],this.listeners[e]=r,this.extensionCount[e]=0);var a={obj:o,func:i};l?(r.splice(this.extensionCount[e],0,a),"object"===(void 0===l?"undefined":n(l))&&l.extension&&this.extensionCount[e]++):r.push(a)}}},{key:"registerPriority",value:function(t,e,o){this.register(t,e,o,!0)}},{key:"un",value:function(t){for(var e in t)"scope"!==e&&t.hasOwnProperty(e)&&this.unregister(e,t.scope,t[e])}},{key:"unregister",value:function(t,e,o){null==e&&(e=this.object);var n=this.listeners[t];if(null!=n)for(var i=0,l=n.length;i<l;i++)if(n[i].obj===e&&n[i].func===o){n.splice(i,1);break}}},{key:"remove",value:function(t){null!=this.listeners[t]&&(this.listeners[t]=[])}},{key:"triggerEvent",value:function(t,e){var o=this.listeners[t];if(o&&0!=o.length){var n;null==e&&(e={}),e.object=this.object,e.element=this.element,e.type||(e.type=t);for(var i=0,l=(o=o.slice()).length;i<l;i++){var r=o[i];if(void 0!=(n=r.func.apply(r.obj,[e]))&&0==n)break}return this.fallThrough||a.Event.stop(e,!0),n}}},{key:"handleBrowserEvent",value:function(t){var e=t.type,o=this.listeners[e];if(o&&0!=o.length){var n=t.touches;if(n&&n[0]){for(var i,l=0,r=0,a=n.length,s=0;s<a;++s)l+=(i=n[s]).clientX,r+=i.clientY;t.clientX=l/a,t.clientY=r/a}this.includeXY&&(t.xy=this.getMousePosition(t)),this.triggerEvent(e,t)}}},{key:"clearMouseCache",value:function(){this.element.scrolls=null,this.element.lefttop=null;var t=document.body;t&&(0==t.scrollTop&&0==t.scrollLeft||!navigator.userAgent.match(/iPhone/i))&&(this.element.offsets=null)}},{key:"getMousePosition",value:function(t){if(this.includeXY?this.element.hasScrollEvent||(a.Event.observe(window,"scroll",this.clearMouseListener),this.element.hasScrollEvent=!0):this.clearMouseCache(),!this.element.scrolls){var e=u.Util.getViewportElement();this.element.scrolls=[e.scrollLeft,e.scrollTop]}return this.element.lefttop||(this.element.lefttop=[document.documentElement.clientLeft||0,document.documentElement.clientTop||0]),this.element.offsets||(this.element.offsets=u.Util.pagePosition(this.element)),new r.Pixel(t.clientX+this.element.scrolls[0]-this.element.offsets[0]-this.element.lefttop[0],t.clientY+this.element.scrolls[1]-this.element.offsets[1]-this.element.lefttop[1])}}]),t}();l.SuperMap.Events=p,l.SuperMap.Events.prototype.BROWSER_EVENTS=["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","rightclick","dblrightclick","resize","focus","blur","touchstart","touchmove","touchend","keydown","MSPointerDown","MSPointerUp","pointerdown","pointerup","MSGestureStart","MSGestureChange","MSGestureEnd","contextmenu"]},function(t,e,o){"use strict";var n,i,l;i=[e,t],void 0===(l="function"==typeof(n=function(t,e){var o={timeout:5e3,jsonpCallback:"callback",jsonpCallbackFunction:null};function n(t){try{delete window[t]}catch(e){window[t]=void 0}}function i(t){var e=document.getElementById(t);document.getElementsByTagName("head")[0].removeChild(e)}e.exports=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],l=t,r=e.timeout||o.timeout,a=e.jsonpCallback||o.jsonpCallback,s=void 0;return new Promise(function(o,u){var p=e.jsonpCallbackFunction||"jsonp_"+Date.now()+"_"+Math.ceil(1e5*Math.random()),c=a+"_"+p;window[p]=function(t){o({ok:!0,json:function(){return Promise.resolve(t)}}),s&&clearTimeout(s),i(c),n(p)},l+=-1===l.indexOf("?")?"?":"&";var y=document.createElement("script");y.setAttribute("src",""+l+a+"="+p),y.id=c,document.getElementsByTagName("head")[0].appendChild(y),s=setTimeout(function(){u(new Error("JSONP request to "+t+" timed out")),n(p),i(c)},r)})}})?n.apply(e,i):n)||(t.exports=l)},function(t,e,o){"use strict";!function(e){if(e.__disableNativeFetch||!e.fetch){a.prototype.append=function(t,e){t=l(t),e=r(e);var o=this.map[t];o||(o=[],this.map[t]=o),o.push(e)},a.prototype.delete=function(t){delete this.map[l(t)]},a.prototype.get=function(t){var e=this.map[l(t)];return e?e[0]:null},a.prototype.getAll=function(t){return this.map[l(t)]||[]},a.prototype.has=function(t){return this.map.hasOwnProperty(l(t))},a.prototype.set=function(t,e){this.map[l(t)]=[r(e)]},a.prototype.forEach=function(t,e){Object.getOwnPropertyNames(this.map).forEach(function(o){this.map[o].forEach(function(n){t.call(e,n,o,this)},this)},this)};var o={blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e},n=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];y.prototype.clone=function(){return new y(this)},c.call(y.prototype),c.call(h.prototype),h.prototype.clone=function(){return new h(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new a(this.headers),url:this.url})},h.error=function(){var t=new h(null,{status:0,statusText:""});return t.type="error",t};var i=[301,302,303,307,308];h.redirect=function(t,e){if(-1===i.indexOf(e))throw new RangeError("Invalid status code");return new h(null,{status:e,headers:{location:t}})},e.Headers=a,e.Request=y,e.Response=h,e.fetch=function(t,e){return new Promise(function(n,i){var l;l=y.prototype.isPrototypeOf(t)&&!e?t:new y(t,e);var r=new XMLHttpRequest;var s=!1;function u(){if(4===r.readyState){var t=1223===r.status?204:r.status;if(t<100||t>599){if(s)return;return s=!0,void i(new TypeError("Network request failed"))}var e={status:t,statusText:r.statusText,headers:function(t){var e=new a;return t.getAllResponseHeaders().trim().split("\n").forEach(function(t){var o=t.trim().split(":"),n=o.shift().trim(),i=o.join(":").trim();e.append(n,i)}),e}(r),url:"responseURL"in r?r.responseURL:/^X-Request-URL:/m.test(r.getAllResponseHeaders())?r.getResponseHeader("X-Request-URL"):void 0},o="response"in r?r.response:r.responseText;s||(s=!0,n(new h(o,e)))}}r.onreadystatechange=u,r.onload=u,r.onerror=function(){s||(s=!0,i(new TypeError("Network request failed")))},r.open(l.method,l.url,!0);try{"include"===l.credentials&&("withCredentials"in r?r.withCredentials=!0:console&&console.warn&&console.warn("withCredentials is not supported, you can ignore this warning"))}catch(t){console&&console.warn&&console.warn("set withCredentials error:"+t)}"responseType"in r&&o.blob&&(r.responseType="blob"),l.headers.forEach(function(t,e){r.setRequestHeader(e,t)}),r.send(void 0===l._bodyInit?null:l._bodyInit)})},e.fetch.polyfill=!0,void 0!==t&&t.exports&&(t.exports=e.fetch)}function l(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function r(t){return"string"!=typeof t&&(t=String(t)),t}function a(t){this.map={},t instanceof a?t.forEach(function(t,e){this.append(e,t)},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function s(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function u(t){return new Promise(function(e,o){t.onload=function(){e(t.result)},t.onerror=function(){o(t.error)}})}function p(t){var e=new FileReader;return e.readAsArrayBuffer(t),u(e)}function c(){return this.bodyUsed=!1,this._initBody=function(t,e){if(this._bodyInit=t,"string"==typeof t)this._bodyText=t;else if(o.blob&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t,this._options=e;else if(o.formData&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(t){if(!o.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(t))throw new Error("unsupported BodyInit type")}else this._bodyText=""},o.blob?(this.blob=function(){var t=s(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this.blob().then(p)},this.text=function(){var t,e,o,n,i,l,r,a=s(this);if(a)return a;if(this._bodyBlob)return t=this._bodyBlob,e=this._options,o=new FileReader,n=e.headers.map["content-type"]?e.headers.map["content-type"].toString():"",i=/charset\=[0-9a-zA-Z\-\_]*;?/,l=t.type.match(i)||n.match(i),r=[t],l&&r.push(l[0].replace(/^charset\=/,"").replace(/;$/,"")),o.readAsText.apply(o,r),u(o);if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)}):this.text=function(){var t=s(this);return t||Promise.resolve(this._bodyText)},o.formData&&(this.formData=function(){return this.text().then(P)}),this.json=function(){return this.text().then(JSON.parse)},this}function y(t,e){var o,i,l=(e=e||{}).body;if(y.prototype.isPrototypeOf(t)){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new a(t.headers)),this.method=t.method,this.mode=t.mode,l||(l=t._bodyInit,t.bodyUsed=!0)}else this.url=t;if(this.credentials=e.credentials||this.credentials||"omit",!e.headers&&this.headers||(this.headers=new a(e.headers)),this.method=(o=e.method||this.method||"GET",i=o.toUpperCase(),n.indexOf(i)>-1?i:o),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&l)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(l,e)}function P(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var o=t.split("="),n=o.shift().replace(/\+/g," "),i=o.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(i))}}),e}function h(t,e){e||(e={}),this._initBody(t,e),this.type="default",this.status=e.status,this.ok=this.status>=200&&this.status<300,this.statusText=e.statusText,this.headers=e.headers instanceof a?e.headers:new a(e.headers),this.url=e.url||""}}("undefined"!=typeof self?self:void 0)},function(t,e,o){"use strict";var n,i,l=t.exports={};function r(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===r||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:r}catch(t){n=r}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(t){i=a}}();var u,p=[],c=!1,y=-1;function P(){c&&u&&(c=!1,u.length?p=u.concat(p):y=-1,p.length&&h())}function h(){if(!c){var t=s(P);c=!0;for(var e=p.length;e;){for(u=p,p=[];++y<e;)u&&u[y].run();y=-1,e=p.length}u=null,c=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function f(t,e){this.fun=t,this.array=e}function S(){}l.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var o=1;o<arguments.length;o++)e[o-1]=arguments[o];p.push(new f(t,e)),1!==p.length||c||s(h)},f.prototype.run=function(){this.fun.apply(null,this.array)},l.title="browser",l.browser=!0,l.env={},l.argv=[],l.version="",l.versions={},l.on=S,l.addListener=S,l.once=S,l.off=S,l.removeListener=S,l.removeAllListeners=S,l.emit=S,l.prependListener=S,l.prependOnceListener=S,l.listeners=function(t){return[]},l.binding=function(t){throw new Error("process.binding is not supported")},l.cwd=function(){return"/"},l.chdir=function(t){throw new Error("process.chdir is not supported")},l.umask=function(){return 0}},function(t,e,o){"use strict";(function(t,e){!function(t,o){if(!t.setImmediate){var n,i,l,r,a,s=1,u={},p=!1,c=t.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(t);y=y&&y.setTimeout?y:t,"[object process]"==={}.toString.call(t.process)?n=function(t){e.nextTick(function(){h(t)})}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,o=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=o,e}}()?t.MessageChannel?((l=new MessageChannel).port1.onmessage=function(t){h(t.data)},n=function(t){l.port2.postMessage(t)}):c&&"onreadystatechange"in c.createElement("script")?(i=c.documentElement,n=function(t){var e=c.createElement("script");e.onreadystatechange=function(){h(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(h,0,t)}:(r="setImmediate$"+Math.random()+"$",a=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(r)&&h(+e.data.slice(r.length))},t.addEventListener?t.addEventListener("message",a,!1):t.attachEvent("onmessage",a),n=function(e){t.postMessage(r+e,"*")}),y.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),o=0;o<e.length;o++)e[o]=arguments[o+1];var i={callback:t,args:e};return u[s]=i,n(s),s++},y.clearImmediate=P}function P(t){delete u[t]}function h(t){if(p)setTimeout(h,0,t);else{var e=u[t];if(e){p=!0;try{!function(t){var e=t.callback,n=t.args;switch(n.length){case 0:e();break;case 1:e(n[0]);break;case 2:e(n[0],n[1]);break;case 3:e(n[0],n[1],n[2]);break;default:e.apply(o,n)}}(e)}finally{P(t),p=!1}}}}}("undefined"==typeof self?void 0===t?void 0:t:self)}).call(this,o(4),o(109))},function(t,e,o){"use strict";(function(t){var n=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function l(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new l(i.call(setTimeout,n,arguments),clearTimeout)},e.setInterval=function(){return new l(i.call(setInterval,n,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},l.prototype.unref=l.prototype.ref=function(){},l.prototype.close=function(){this._clearFn.call(n,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},o(110),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||void 0,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||void 0}).call(this,o(4))},function(t,e,o){"use strict";(function(e){var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(n){var i=setTimeout;function l(){}function r(t){if("object"!==o(this))throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],c(t,this)}function a(t,e){for(;3===t._state;)t=t._value;0!==t._state?(t._handled=!0,r._immediateFn(function(){var o=1===t._state?e.onFulfilled:e.onRejected;if(null!==o){var n;try{n=o(t._value)}catch(t){return void u(e.promise,t)}s(e.promise,n)}else(1===t._state?s:u)(e.promise,t._value)})):t._deferreds.push(e)}function s(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"===(void 0===e?"undefined":o(e))||"function"==typeof e)){var n=e.then;if(e instanceof r)return t._state=3,t._value=e,void p(t);if("function"==typeof n)return void c((i=n,l=e,function(){i.apply(l,arguments)}),t)}t._state=1,t._value=e,p(t)}catch(e){u(t,e)}var i,l}function u(t,e){t._state=2,t._value=e,p(t)}function p(t){2===t._state&&0===t._deferreds.length&&r._immediateFn(function(){t._handled||r._unhandledRejectionFn(t._value)});for(var e=0,o=t._deferreds.length;e<o;e++)a(t,t._deferreds[e]);t._deferreds=null}function c(t,e){var o=!1;try{t(function(t){o||(o=!0,s(e,t))},function(t){o||(o=!0,u(e,t))})}catch(t){if(o)return;o=!0,u(e,t)}}r.prototype.catch=function(t){return this.then(null,t)},r.prototype.then=function(t,e){var o=new this.constructor(l);return a(this,new function(t,e,o){this.onFulfilled="function"==typeof t?t:null,this.onRejected="function"==typeof e?e:null,this.promise=o}(t,e,o)),o},r.all=function(t){var e=Array.prototype.slice.call(t);return new r(function(t,n){if(0===e.length)return t([]);var i=e.length;function l(r,a){try{if(a&&("object"===(void 0===a?"undefined":o(a))||"function"==typeof a)){var s=a.then;if("function"==typeof s)return void s.call(a,function(t){l(r,t)},n)}e[r]=a,0==--i&&t(e)}catch(t){n(t)}}for(var r=0;r<e.length;r++)l(r,e[r])})},r.resolve=function(t){return t&&"object"===(void 0===t?"undefined":o(t))&&t.constructor===r?t:new r(function(e){e(t)})},r.reject=function(t){return new r(function(e,o){o(t)})},r.race=function(t){return new r(function(e,o){for(var n=0,i=t.length;n<i;n++)t[n].then(e,o)})},r._immediateFn="function"==typeof e&&function(t){e(t)}||function(t){i(t,0)},r._unhandledRejectionFn=function(t){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",t)},r._setImmediateFn=function(t){r._immediateFn=t},r._setUnhandledRejectionFn=function(t){r._unhandledRejectionFn=t},void 0!==t&&t.exports?t.exports=r:n.Promise||(n.Promise=r)}(void 0)}).call(this,o(111).setImmediate)},function(t,e,o){"use strict";var n,i=o(112),l=(n=i)&&n.__esModule?n:{default:n};window.Promise=l.default},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CommonServiceBase=void 0;var n=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),i=o(0),l=o(5),r=o(106),a=o(103),s=o(102),u=o(1),p=o(101),c=o(100),y=o(2);
-/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * This program are made available under the terms of the Apache License, Version 2.0
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/var P=e.CommonServiceBase=function(){function t(e,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=this;this.EVENT_TYPES=["processCompleted","processFailed"],this.events=null,this.eventListeners=null,this.url=null,this.urls=null,this.proxy=null,this.serverType=null,this.index=null,this.length=null,this.options=null,this.totalTimes=null,this.POLLING_TIMES=3,this._processSuccess=null,this._processFailed=null,this.isInTheSameDomain=null,this.withCredentials=!1,u.Util.isArray(e)?(n.urls=e,n.length=e.length,n.totalTimes=n.length,1===n.length?n.url=e[0]:(n.index=parseInt(Math.random()*n.length),n.url=e[n.index])):(n.totalTimes=1,n.url=e),u.Util.isArray(e)&&!n.isServiceSupportPolling()&&(n.url=e[0],n.totalTimes=1),n.serverType=n.serverType||p.ServerType.ISERVER,o=o||{},u.Util.extend(this,o),n.isInTheSameDomain=u.Util.isInTheSameDomain(n.url),n.events=new r.Events(n,null,n.EVENT_TYPES,!0),n.eventListeners instanceof Object&&n.events.on(n.eventListeners),this.CLASS_NAME="SuperMap.CommonServiceBase"}return n(t,[{key:"destroy",value:function(){var t=this;u.Util.isArray(t.urls)&&(t.urls=null,t.index=null,t.length=null,t.totalTimes=null),t.url=null,t.options=null,t._processSuccess=null,t._processFailed=null,t.isInTheSameDomain=null,t.EVENT_TYPES=null,t.events&&(t.events.destroy(),t.events=null),t.eventListeners&&(t.eventListeners=null)}},{key:"request",value:function(t){var e=this;t.url=t.url||e.url,t.proxy=t.proxy||e.proxy,t.withCredentials=void 0!=t.withCredentials?t.withCredentials:e.withCredentials,t.isInTheSameDomain=e.isInTheSameDomain;var o=this.getCredential(t.url);if(o){var n=t.url.substring(t.url.length-1,t.url.length);t.url.indexOf("?")>-1&&"?"===n?t.url+=o.getUrlParameters():t.url.indexOf("?")>-1&&"?"!==n?t.url+="&"+o.getUrlParameters():t.url+="?"+o.getUrlParameters()}e.calculatePollingTimes(),e._processSuccess=t.success,e._processFailed=t.failure,t.scope=e,t.success=e.getUrlCompleted,t.failure=e.getUrlFailed,e.options=t,e._commit(e.options)}},{key:"getCredential",value:function(t){var e=t,o=void 0,n=void 0;switch(this.serverType){case p.ServerType.IPORTAL:(o=(n=s.SecurityManager.getToken(e))?new a.Credential(n,"token"):null)||(o=(n=s.SecurityManager.getKey(e))?new a.Credential(n,"key"):null);break;case p.ServerType.ONLINE:o=(n=s.SecurityManager.getKey(e))?new a.Credential(n,"key"):null;break;default:o=(n=s.SecurityManager.getToken(e))?new a.Credential(n,"token"):null}return o}},{key:"getUrlCompleted",value:function(t){this._processSuccess(t)}},{key:"getUrlFailed",value:function(t){this.totalTimes>0?(this.totalTimes--,this.ajaxPolling()):this._processFailed(t)}},{key:"ajaxPolling",value:function(){var t=this,e=t.options.url,o=/^http:\/\/([a-z]{9}|(\d+\.){3}\d+):\d{0,4}/;t.index=parseInt(Math.random()*t.length),t.url=t.urls[t.index],e=e.replace(o,o.exec(t.url)[0]),t.options.url=e,t.options.isInTheSameDomain=u.Util.isInTheSameDomain(e),t._commit(t.options)}},{key:"calculatePollingTimes",value:function(){var t=this;t.times?t.totalTimes>t.POLLING_TIMES?t.times>t.POLLING_TIMES?t.totalTimes=t.POLLING_TIMES:t.totalTimes=t.times:t.times<t.totalTimes&&(t.totalTimes=t.times):t.totalTimes>t.POLLING_TIMES&&(t.totalTimes=t.POLLING_TIMES),t.totalTimes--}},{key:"isServiceSupportPolling",value:function(){return!("SuperMap.REST.ThemeService"===this.CLASS_NAME||"SuperMap.REST.EditFeaturesService"===this.CLASS_NAME)}},{key:"serviceProcessCompleted",value:function(t){t=u.Util.transformResult(t),this.events.triggerEvent("processCompleted",{result:t})}},{key:"serviceProcessFailed",value:function(t){var e=(t=u.Util.transformResult(t)).error||t;this.events.triggerEvent("processFailed",{error:e})}},{key:"_commit",value:function(t){"POST"!==t.method&&"PUT"!==t.method||(t.params&&(t.url=u.Util.urlAppend(t.url,u.Util.getParameterString(t.params||{}))),t.params=t.data),l.FetchRequest.commit(t.method,t.url,t.params,{headers:t.headers,withCredentials:t.withCredentials,timeout:t.async?0:null,proxy:t.proxy}).then(function(t){return t.text?t.text():t.json?t.json():t}).then(function(e){var o=e;("string"==typeof e&&(o=(new c.JSONFormat).read(e)),(!o||o.error||o.code>=300&&304!==o.code)&&(o=o&&o.error?{error:o.error}:{error:o}),o.error)?(t.scope?y.FunctionExt.bind(t.failure,t.scope):t.failure)(o):(o.succeed=void 0==o.succeed||o.succeed,(t.scope?y.FunctionExt.bind(t.success,t.scope):t.success)(o))})}}]),t}();i.SuperMap.CommonServiceBase=P},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AlgoSymbolFactory=e.BasicAlgoSymbolFactory=e.AddPoint_WayType=e.Primitives=e.PlottingUtil=e.RouteNodePrimitives=e.AnalysisSymbol=e.TowardNode=e.TimeWindowParameter=e.SymbolText=e.SubSymbol=e.SMLInfoStruct=e.SitDataStruct=e.RouteNode=e.Property=e.OrbitPoint=e.MapInfoStruct=e.LayerDataStruct=e.ExtendProperty=e.DefaultStyle=e.GetSymbolInfoService=e.GetSymbolInfoParameters=e.GetSMLInfosService=e.GetSMLInfosParameters=e.GetLibInfoService=e.GetLibInfoParameter=e.GetLibIDsService=e.EditSmlFileService=e.EditSmlFileParameters=e.PlotCommonServiceBase=e.GOAnimationType=e.Event=e.EditMode=e.AlignType=e.PositionOffsetType=e.TextBoxType=e.ArrowLineType=e.AnnoPosition=e.RadiusLineType=e.RelLineText=e.RouteNodeType=e.AlgoSurroundLineType=e.LineRelationType=e.SymbolType=e.Plot=e.CommonServiceBase=void 0;var n=o(114),i=o(98),l=o(61),r=o(55);e.CommonServiceBase=n.CommonServiceBase,e.Plot=i.Plot,e.SymbolType=i.SymbolType,e.LineRelationType=i.LineRelationType,e.AlgoSurroundLineType=i.AlgoSurroundLineType,e.RouteNodeType=i.RouteNodeType,e.RelLineText=i.RelLineText,e.RadiusLineType=i.RadiusLineType,e.AnnoPosition=i.AnnoPosition,e.ArrowLineType=i.ArrowLineType,e.TextBoxType=i.TextBoxType,e.PositionOffsetType=i.PositionOffsetType,e.AlignType=i.AlignType,e.EditMode=i.EditMode,e.Event=i.Event,e.GOAnimationType=i.GOAnimationType,e.PlotCommonServiceBase=i.PlotCommonServiceBase,e.EditSmlFileParameters=i.EditSmlFileParameters,e.EditSmlFileService=i.EditSmlFileService,e.GetLibIDsService=i.GetLibIDsService,e.GetLibInfoParameter=i.GetLibInfoParameter,e.GetLibInfoService=i.GetLibInfoService,e.GetSMLInfosParameters=i.GetSMLInfosParameters,e.GetSMLInfosService=i.GetSMLInfosService,e.GetSymbolInfoParameters=i.GetSymbolInfoParameters,e.GetSymbolInfoService=i.GetSymbolInfoService,e.DefaultStyle=i.DefaultStyle,e.ExtendProperty=i.ExtendProperty,e.LayerDataStruct=i.LayerDataStruct,e.MapInfoStruct=i.MapInfoStruct,e.OrbitPoint=i.OrbitPoint,e.Property=i.Property,e.RouteNode=i.RouteNode,e.SitDataStruct=i.SitDataStruct,e.SMLInfoStruct=i.SMLInfoStruct,e.SubSymbol=i.SubSymbol,e.SymbolText=i.SymbolText,e.TimeWindowParameter=i.TimeWindowParameter,e.TowardNode=i.TowardNode,e.AnalysisSymbol=l.AnalysisSymbol,e.RouteNodePrimitives=l.RouteNodePrimitives,e.PlottingUtil=l.PlottingUtil,e.Primitives=l.Primitives,e.AddPoint_WayType=l.AddPoint_WayType,e.BasicAlgoSymbolFactory=r.BasicAlgoSymbolFactory,e.AlgoSymbolFactory=r.AlgoSymbolFactory}]);
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(4);
-__webpack_require__(1);
-__webpack_require__(2);
-__webpack_require__(3);
-__webpack_require__(0);
-
-
-
-/***/ })
-/******/ ]);
\ No newline at end of file
diff --git a/libs/supermap/ThirdParty/Workers/deflate.js b/libs/supermap/ThirdParty/Workers/deflate.js
deleted file mode 100644
index 20baf84..0000000
--- a/libs/supermap/ThirdParty/Workers/deflate.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-!function(n){var h=15,st=256,p=573,lt=256,ct=-2,ht=-5,e=[0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29];function pt(){var c=this;function u(t,e){for(var n=0;n|=1&t,t>>>=1,n<<=1,0<--e;);return n>>>1}c.build_tree=function(t){var e,n,a,i=c.dyn_tree,r=c.stat_desc.static_tree,_=c.stat_desc.elems,o=-1;for(t.heap_len=0,t.heap_max=p,e=0;e<_;e++)0!==i[2*e]?(t.heap[++t.heap_len]=o=e,t.depth[e]=0):i[2*e+1]=0;for(;t.heap_len<2;)i[2*(a=t.heap[++t.heap_len]=o<2?++o:0)]=1,t.depth[a]=0,t.opt_len--,r&&(t.static_len-=r[2*a+1]);for(c.max_code=o,e=Math.floor(t.heap_len/2);1<=e;e--)t.pqdownheap(i,e);for(a=_;e=t.heap[1],t.heap[1]=t.heap[t.heap_len--],t.pqdownheap(i,1),n=t.heap[1],t.heap[--t.heap_max]=e,t.heap[--t.heap_max]=n,i[2*a]=i[2*e]+i[2*n],t.depth[a]=Math.max(t.depth[e],t.depth[n])+1,i[2*e+1]=i[2*n+1]=a,t.heap[1]=a++,t.pqdownheap(i,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t){var e,n,a,i,r,_,o=c.dyn_tree,u=c.stat_desc.static_tree,f=c.stat_desc.extra_bits,d=c.stat_desc.extra_base,s=c.stat_desc.max_length,l=0;for(i=0;i<=h;i++)t.bl_count[i]=0;for(o[2*t.heap[t.heap_max]+1]=0,e=t.heap_max+1;e<p;e++)s<(i=o[2*o[2*(n=t.heap[e])+1]+1]+1)&&(i=s,l++),o[2*n+1]=i,n>c.max_code||(t.bl_count[i]++,r=0,d<=n&&(r=f[n-d]),_=o[2*n],t.opt_len+=_*(i+r),u&&(t.static_len+=_*(u[2*n+1]+r)));if(0!==l){do{for(i=s-1;0===t.bl_count[i];)i--;t.bl_count[i]--,t.bl_count[i+1]+=2,t.bl_count[s]--,l-=2}while(0<l);for(i=s;0!==i;i--)for(n=t.bl_count[i];0!==n;)(a=t.heap[--e])>c.max_code||(o[2*a+1]!=i&&(t.opt_len+=(i-o[2*a+1])*o[2*a],o[2*a+1]=i),n--)}}(t),function(t,e,n){var a,i,r,_=[],o=0;for(a=1;a<=h;a++)_[a]=o=o+n[a-1]<<1;for(i=0;i<=e;i++)0!==(r=t[2*i+1])&&(t[2*i]=u(_[r]++,r))}(i,c.max_code,t.bl_count)}}function xt(t,e,n,a,i){var r=this;r.static_tree=t,r.extra_bits=e,r.extra_base=n,r.elems=a,r.max_length=i}pt._length_code=[0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28],pt.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],pt.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],pt.d_code=function(t){return t<256?e[t]:e[256+(t>>>7)]},pt.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],pt.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],pt.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],pt.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],xt.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8],xt.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5],xt.static_l_desc=new xt(xt.static_ltree,pt.extra_lbits,257,286,h),xt.static_d_desc=new xt(xt.static_dtree,pt.extra_dbits,0,30,h),xt.static_bl_desc=new xt(null,pt.extra_blbits,0,19,7);function t(t,e,n,a,i){var r=this;r.good_length=t,r.max_lazy=e,r.nice_length=n,r.max_chain=a,r.func=i}var a,vt=[new t(0,0,0,0,0),new t(4,4,8,4,1),new t(4,5,16,8,1),new t(4,6,32,32,1),new t(4,4,16,16,2),new t(8,16,32,32,2),new t(8,16,128,128,2),new t(8,32,128,256,2),new t(32,128,258,1024,2),new t(32,258,258,4096,2)],bt=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],gt=113,wt=666,mt=258,yt=262;function Mt(t,e,n,a){var i=t[2*e],r=t[2*n];return i<r||i==r&&a[e]<=a[n]}function i(){var u,f,d,s,l,c,h,p,i,x,v,b,g,_,w,m,y,M,A,U,E,k,z,q,D,I,P,S,L,j,o,B,C,F,G,H,J,r,K,N,O,Q=this,R=new pt,T=new pt,V=new pt;function W(){var t;for(t=0;t<286;t++)o[2*t]=0;for(t=0;t<30;t++)B[2*t]=0;for(t=0;t<19;t++)C[2*t]=0;o[512]=1,Q.opt_len=Q.static_len=0,H=r=0}function X(t,e){var n,a,i=-1,r=t[1],_=0,o=7,u=4;for(0===r&&(o=138,u=3),t[2*(e+1)+1]=65535,n=0;n<=e;n++)a=r,r=t[2*(n+1)+1],++_<o&&a==r||(_<u?C[2*a]+=_:0!==a?(a!=i&&C[2*a]++,C[32]++):_<=10?C[34]++:C[36]++,i=a,u=(_=0)===r?(o=138,3):a==r?(o=6,3):(o=7,4))}function Y(t){Q.pending_buf[Q.pending++]=t}function Z(t){Y(255&t),Y(t>>>8&255)}function $(t,e){var n,a=e;16-a<O?(Z(N|=(n=t)<<O&65535),N=n>>>16-O,O+=a-16):(N|=t<<O&65535,O+=a)}function tt(t,e){var n=2*t;$(65535&e[n],65535&e[n+1])}function et(t,e){var n,a,i=-1,r=t[1],_=0,o=7,u=4;for(0===r&&(o=138,u=3),n=0;n<=e;n++)if(a=r,r=t[2*(n+1)+1],!(++_<o&&a==r)){if(_<u)for(;tt(a,C),0!=--_;);else 0!==a?(a!=i&&(tt(a,C),_--),tt(16,C),$(_-3,2)):_<=10?(tt(17,C),$(_-3,3)):(tt(18,C),$(_-11,7));i=a,u=(_=0)===r?(o=138,3):a==r?(o=6,3):(o=7,4)}}function nt(){16==O?(Z(N),O=N=0):8<=O&&(Y(255&N),N>>>=8,O-=8)}function at(t,e){var n,a,i;if(Q.pending_buf[J+2*H]=t>>>8&255,Q.pending_buf[J+2*H+1]=255&t,Q.pending_buf[F+H]=255&e,H++,0===t?o[2*e]++:(r++,t--,o[2*(pt._length_code[e]+st+1)]++,B[2*pt.d_code(t)]++),0==(8191&H)&&2<P){for(n=8*H,a=E-y,i=0;i<30;i++)n+=B[2*i]*(5+pt.extra_dbits[i]);if(n>>>=3,r<Math.floor(H/2)&&n<Math.floor(a/2))return!0}return H==G-1}function it(t,e){var n,a,i,r,_=0;if(0!==H)for(;n=Q.pending_buf[J+2*_]<<8&65280|255&Q.pending_buf[J+2*_+1],a=255&Q.pending_buf[F+_],_++,0===n?tt(a,t):(tt((i=pt._length_code[a])+st+1,t),0!==(r=pt.extra_lbits[i])&&$(a-=pt.base_length[i],r),tt(i=pt.d_code(--n),e),0!==(r=pt.extra_dbits[i])&&$(n-=pt.base_dist[i],r)),_<H;);tt(lt,t),K=t[513]}function rt(){8<O?Z(N):0<O&&Y(255&N),O=N=0}function _t(t,e,n){var a,i,r;$(0+(n?1:0),3),a=t,i=e,r=!0,rt(),K=8,r&&(Z(i),Z(~i)),Q.pending_buf.set(p.subarray(a,a+i),Q.pending),Q.pending+=i}function e(t,e,n){var a,i,r=0;0<P?(R.build_tree(Q),T.build_tree(Q),r=function(){var t;for(X(o,R.max_code),X(B,T.max_code),V.build_tree(Q),t=18;3<=t&&0===C[2*pt.bl_order[t]+1];t--);return Q.opt_len+=3*(t+1)+5+5+4,t}(),a=Q.opt_len+3+7>>>3,(i=Q.static_len+3+7>>>3)<=a&&(a=i)):a=i=e+5,e+4<=a&&-1!=t?_t(t,e,n):i==a?($(2+(n?1:0),3),it(xt.static_ltree,xt.static_dtree)):($(4+(n?1:0),3),function(t,e,n){var a;for($(t-257,5),$(e-1,5),$(n-4,4),a=0;a<n;a++)$(C[2*pt.bl_order[a]+1],3);et(o,t-1),et(B,e-1)}(R.max_code+1,T.max_code+1,r+1),it(o,B)),W(),n&&rt()}function ot(t){e(0<=y?y:-1,E-y,t),y=E,u.flush_pending()}function ut(){var t,e,n,a;do{if(0===(a=i-z-E)&&0===E&&0===z)a=l;else if(-1==a)a--;else if(l+l-yt<=E){for(p.set(p.subarray(l,l+l),0),k-=l,E-=l,y-=l,n=t=g;e=65535&v[--n],v[n]=l<=e?e-l:0,0!=--t;);for(n=t=l;e=65535&x[--n],x[n]=l<=e?e-l:0,0!=--t;);a+=l}if(0===u.avail_in)return;t=u.read_buf(p,E+z,a),3<=(z+=t)&&(b=((b=255&p[E])<<m^255&p[E+1])&w)}while(z<yt&&0!==u.avail_in)}function ft(t){var e,n,a=D,i=E,r=q,_=l-yt<E?E-(l-yt):0,o=j,u=h,f=E+mt,d=p[i+r-1],s=p[i+r];L<=q&&(a>>=2),z<o&&(o=z);do{if(p[(e=t)+r]==s&&p[e+r-1]==d&&p[e]==p[i]&&p[++e]==p[i+1]){i+=2,e++;do{}while(p[++i]==p[++e]&&p[++i]==p[++e]&&p[++i]==p[++e]&&p[++i]==p[++e]&&p[++i]==p[++e]&&p[++i]==p[++e]&&p[++i]==p[++e]&&p[++i]==p[++e]&&i<f);if(n=mt-(f-i),i=f-mt,r<n){if(k=t,o<=(r=n))break;d=p[i+r-1],s=p[i+r]}}}while((t=65535&x[t&u])>_&&0!=--a);return r<=z?r:z}function dt(t){return t.total_in=t.total_out=0,t.msg=null,Q.pending=0,Q.pending_out=0,f=gt,s=0,R.dyn_tree=o,R.stat_desc=xt.static_l_desc,T.dyn_tree=B,T.stat_desc=xt.static_d_desc,V.dyn_tree=C,V.stat_desc=xt.static_bl_desc,O=N=0,K=8,W(),function(){var t;for(i=2*l,t=v[g-1]=0;t<g-1;t++)v[t]=0;I=vt[P].max_lazy,L=vt[P].good_length,j=vt[P].nice_length,D=vt[P].max_chain,M=q=2,b=U=z=y=E=0}(),0}Q.depth=[],Q.bl_count=[],Q.heap=[],o=[],B=[],C=[],Q.pqdownheap=function(t,e){for(var n=Q.heap,a=n[e],i=e<<1;i<=Q.heap_len&&(i<Q.heap_len&&Mt(t,n[i+1],n[i],Q.depth)&&i++,!Mt(t,a,n[i],Q.depth));)n[e]=n[i],e=i,i<<=1;n[e]=a},Q.deflateInit=function(t,e,n,a,i,r){return a||(a=8),i||(i=8),r||(r=0),t.msg=null,-1==e&&(e=6),i<1||9<i||8!=a||n<9||15<n||e<0||9<e||r<0||2<r?ct:(t.dstate=Q,h=(l=1<<(c=n))-1,w=(g=1<<(_=i+7))-1,m=Math.floor((_+3-1)/3),p=new Uint8Array(2*l),x=[],v=[],G=1<<i+6,Q.pending_buf=new Uint8Array(4*G),d=4*G,J=Math.floor(G/2),F=3*G,P=e,S=r,255&a,dt(t))},Q.deflateEnd=function(){return 42!=f&&f!=gt&&f!=wt?ct:(Q.pending_buf=null,p=x=v=null,Q.dstate=null,f==gt?-3:0)},Q.deflateParams=function(t,e,n){var a=0;return-1==e&&(e=6),e<0||9<e||n<0||2<n?ct:(vt[P].func!=vt[e].func&&0!==t.total_in&&(a=t.deflate(1)),P!=e&&(I=vt[P=e].max_lazy,L=vt[P].good_length,j=vt[P].nice_length,D=vt[P].max_chain),S=n,a)},Q.deflateSetDictionary=function(t,e,n){var a,i=n,r=0;if(!e||42!=f)return ct;if(i<3)return 0;for(l-yt<i&&(r=n-(i=l-yt)),p.set(e.subarray(r,r+i),0),y=E=i,b=((b=255&p[0])<<m^255&p[1])&w,a=0;a<=i-3;a++)b=(b<<m^255&p[a+2])&w,x[a&h]=v[b],v[b]=a;return 0},Q.deflate=function(t,e){var n,a,i,r,_,o;if(4<e||e<0)return ct;if(!t.next_out||!t.next_in&&0!==t.avail_in||f==wt&&4!=e)return t.msg=bt[4],ct;if(0===t.avail_out)return t.msg=bt[7],ht;if(u=t,r=s,s=e,42==f&&(a=8+(c-8<<4)<<8,3<(i=(P-1&255)>>1)&&(i=3),a|=i<<6,0!==E&&(a|=32),f=gt,Y((o=a+=31-a%31)>>8&255),Y(255&o)),0!==Q.pending){if(u.flush_pending(),0===u.avail_out)return s=-1,0}else if(0===u.avail_in&&e<=r&&4!=e)return u.msg=bt[7],ht;if(f==wt&&0!==u.avail_in)return t.msg=bt[7],ht;if(0!==u.avail_in||0!==z||0!=e&&f!=wt){switch(_=-1,vt[P].func){case 0:_=function(t){var e,n=65535;for(d-5<n&&(n=d-5);;){if(z<=1){if(ut(),0===z&&0==t)return 0;if(0===z)break}if(E+=z,e=y+n,((z=0)===E||e<=E)&&(z=E-e,E=e,ot(!1),0===u.avail_out))return 0;if(l-yt<=E-y&&(ot(!1),0===u.avail_out))return 0}return ot(4==t),0===u.avail_out?4==t?2:0:4==t?3:1}(e);break;case 1:_=function(t){for(var e,n=0;;){if(z<yt){if(ut(),z<yt&&0==t)return 0;if(0===z)break}if(3<=z&&(b=(b<<m^255&p[E+2])&w,n=65535&v[b],x[E&h]=v[b],v[b]=E),0!==n&&(E-n&65535)<=l-yt&&2!=S&&(M=ft(n)),3<=M)if(e=at(E-k,M-3),z-=M,M<=I&&3<=z){for(M--;b=(b<<m^255&p[++E+2])&w,n=65535&v[b],x[E&h]=v[b],v[b]=E,0!=--M;);E++}else E+=M,M=0,b=((b=255&p[E])<<m^255&p[E+1])&w;else e=at(0,255&p[E]),z--,E++;if(e&&(ot(!1),0===u.avail_out))return 0}return ot(4==t),0===u.avail_out?4==t?2:0:4==t?3:1}(e);break;case 2:_=function(t){for(var e,n,a=0;;){if(z<yt){if(ut(),z<yt&&0==t)return 0;if(0===z)break}if(3<=z&&(b=(b<<m^255&p[E+2])&w,a=65535&v[b],x[E&h]=v[b],v[b]=E),q=M,A=k,M=2,0!==a&&q<I&&(E-a&65535)<=l-yt&&(2!=S&&(M=ft(a)),M<=5&&(1==S||3==M&&4096<E-k)&&(M=2)),3<=q&&M<=q){for(n=E+z-3,e=at(E-1-A,q-3),z-=q-1,q-=2;++E<=n&&(b=(b<<m^255&p[E+2])&w,a=65535&v[b],x[E&h]=v[b],v[b]=E),0!=--q;);if(U=0,M=2,E++,e&&(ot(!1),0===u.avail_out))return 0}else if(0!==U){if((e=at(0,255&p[E-1]))&&ot(!1),E++,z--,0===u.avail_out)return 0}else U=1,E++,z--}return 0!==U&&(e=at(0,255&p[E-1]),U=0),ot(4==t),0===u.avail_out?4==t?2:0:4==t?3:1}(e)}if(2!=_&&3!=_||(f=wt),0==_||2==_)return 0===u.avail_out&&(s=-1),0;if(1==_){if(1==e)$(2,3),tt(lt,xt.static_ltree),nt(),1+K+10-O<9&&($(2,3),tt(lt,xt.static_ltree),nt()),K=7;else if(_t(0,0,!1),3==e)for(n=0;n<g;n++)v[n]=0;if(u.flush_pending(),0===u.avail_out)return s=-1,0}}return 4!=e?0:1}}function r(){var t=this;t.next_in_index=0,t.next_out_index=0,t.avail_in=0,t.total_in=0,t.avail_out=0,t.total_out=0}function _(t){var o=new r,u=new Uint8Array(512);void 0===t&&(t=-1),o.deflateInit(t),o.next_out=u,this.append=function(t,e){var n,a=[],i=0,r=0,_=0;if(t.length){o.next_in_index=0,o.next_in=t,o.avail_in=t.length;do{if(o.next_out_index=0,o.avail_out=512,0!=o.deflate(0))throw"deflating: "+o.msg;o.next_out_index&&(512==o.next_out_index?a.push(new Uint8Array(u)):a.push(new Uint8Array(u.subarray(0,o.next_out_index)))),_+=o.next_out_index,e&&0<o.next_in_index&&o.next_in_index!=i&&(e(o.next_in_index),i=o.next_in_index)}while(0<o.avail_in||0===o.avail_out);return n=new Uint8Array(_),a.forEach(function(t){n.set(t,r),r+=t.length}),n}},this.flush=function(){var t,e,n=[],a=0,i=0;do{if(o.next_out_index=0,o.avail_out=512,1!=(t=o.deflate(4))&&0!=t)throw"deflating: "+o.msg;0<512-o.avail_out&&n.push(new Uint8Array(u.subarray(0,o.next_out_index))),i+=o.next_out_index}while(0<o.avail_in||0===o.avail_out);return o.deflateEnd(),e=new Uint8Array(i),n.forEach(function(t){e.set(t,a),a+=t.length}),e}}r.prototype={deflateInit:function(t,e){return this.dstate=new i,e||(e=h),this.dstate.deflateInit(this,t,e)},deflate:function(t){return this.dstate?this.dstate.deflate(this,t):ct},deflateEnd:function(){if(!this.dstate)return ct;var t=this.dstate.deflateEnd();return this.dstate=null,t},deflateParams:function(t,e){return this.dstate?this.dstate.deflateParams(this,t,e):ct},deflateSetDictionary:function(t,e){return this.dstate?this.dstate.deflateSetDictionary(this,t,e):ct},read_buf:function(t,e,n){var a=this,i=a.avail_in;return n<i&&(i=n),0===i?0:(a.avail_in-=i,t.set(a.next_in.subarray(a.next_in_index,a.next_in_index+i),e),a.next_in_index+=i,a.total_in+=i,i)},flush_pending:function(){var t=this,e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}},n.zip?n.zip.Deflater=_:(a=new _,n.addEventListener("message",function(t){var e=t.data;e.init&&(a=new _(e.level),n.postMessage({oninit:!0})),e.append&&n.postMessage({onappend:!0,data:a.append(e.data,function(t){n.postMessage({progress:!0,current:t})})}),e.flush&&n.postMessage({onflush:!0,data:a.flush()})},!1))}(this);
\ No newline at end of file
diff --git a/libs/supermap/ThirdParty/Workers/draco_decoder.js b/libs/supermap/ThirdParty/Workers/draco_decoder.js
deleted file mode 100644
index c9e972c..0000000
--- a/libs/supermap/ThirdParty/Workers/draco_decoder.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-
-var DracoDecoderModule = (function() {
-  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
-  if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
-  return (
-function(DracoDecoderModule) {
-  DracoDecoderModule = DracoDecoderModule || {};
-
-var Module=typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:{};var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};Module["onModuleParsed"]=function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function convertJsFunctionToWasm(func,sig){return func}function addFunctionWasm(func,sig){var table=wasmTable;var ret=table.length;try{table.grow(1)}catch(err){if(!err instanceof RangeError){throw err}throw"Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."}try{table.set(ret,func)}catch(err){if(!err instanceof TypeError){throw err}assert(typeof sig!=="undefined","Missing signature argument to addFunction");var wrapped=convertJsFunctionToWasm(func,sig);table.set(ret,wrapped)}return ret}function removeFunctionWasm(index){}var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];var WebAssembly={Memory:function(opts){return{buffer:new ArrayBuffer(opts["initial"]*65536),grow:function(amount){var ret=__growWasmMemory(amount);return ret}}},Table:function(opts){var ret=new Array(opts["initial"]);ret.grow=function(by){if(ret.length>=381+0){abort("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH.")}ret.push(null)};ret.set=function(i,func){ret[i]=func};ret.get=function(i){return ret[i]};return ret},Module:function(binary){return{}},Instance:function(module,info){var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}var atob=decodeBase64;var exports=(
-// EMSCRIPTEN_START_ASM
-function a(/** @suppress {uselessCode} */asmLibraryArg,wasmMemory,wasmTable){var scratchBuffer=new ArrayBuffer(8);var b=new Int32Array(scratchBuffer);var c=new Float32Array(scratchBuffer);var d=new Float64Array(scratchBuffer);function e(index){return b[index]}function f(index,value){b[index]=value}function g(){return d[0]}function h(value){d[0]=value}function i(low,high){b[0]=low;b[1]=high}function j(){return c[0]}function k(value){c[0]=value}function l(global,env,buffer){var m=env.memory;var n=wasmTable;var o=new global.Int8Array(buffer);var p=new global.Int16Array(buffer);var q=new global.Int32Array(buffer);var r=new global.Uint8Array(buffer);var s=new global.Uint16Array(buffer);var t=new global.Uint32Array(buffer);var u=new global.Float32Array(buffer);var v=new global.Float64Array(buffer);var w=global.Math.imul;var x=global.Math.fround;var y=global.Math.abs;var z=global.Math.clz32;var A=global.Math.min;var B=global.Math.max;var C=global.Math.floor;var D=global.Math.ceil;var E=global.Math.sqrt;var F=env.abort;var G=global.NaN;var H=global.Infinity;var I=env.__cxa_allocate_exception;var J=env.__cxa_throw;var K=env.fd_write;var L=env.fd_close;var M=env.environ_sizes_get;var N=env.environ_get;var O=env.abort;var P=env.emscripten_resize_heap;var Q=env.emscripten_memcpy_big;var R=env.setTempRet0;var S=env.fd_seek;var T=5261296;var U=18412;var V=0;
-// EMSCRIPTEN_START_FUNCS
-function ea(){tm()}function fa(a,b){var c=0,d=0,e=0,f=0;c=T-16|0;T=c;q[c+8>>2]=0;q[c>>2]=0;q[c+4>>2]=0;d=dm(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){f=d+16&-16;e=Mm(f);q[c+8>>2]=f|-2147483648;q[c>>2]=e;q[c+4>>2]=d;break b}o[c+11|0]=d;e=c;if(!d){break a}}Cn(e,b,d)}o[d+e|0]=0;a=ga(a,c);if(o[c+11|0]<=-1){An(q[c>>2])}T=c+16|0;return(a|0)!=0}Pm();F()}function ga(a,b){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=q[a+4>>2];if(a){h=r[b+11|0];i=h<<24>>24<0;h=i?q[b+4>>2]:h;l=i?q[b>>2]:b;while(1){b=a+16|0;g=r[a+27|0];i=g<<24>>24<0;j=i?q[a+20>>2]:g;m=j>>>0<h>>>0;a:{b:{c:{d:{e:{f:{g=m?j:h;if(g){k=i?q[b>>2]:b;n=cm(l,k,g);if(n){break f}}if(h>>>0<j>>>0){break a}if(!g){break d}k=i?q[b>>2]:b;break e}if((n|0)<=-1){break a}}b=cm(k,l,g);if(b){break c}}if(m){break b}return 1}if((b|0)<=-1){break b}return 1}a=a+4|0}a=q[a>>2];if(a){continue}break}}return 0}function ha(a,b){var p=0,r=0,s=0,t=0;p=T-16|0;T=p;q[p+12>>2]=0;q[p+8>>2]=0;q[p>>2]=0;q[p+4>>2]=0;r=dm(b);if(r>>>0<4294967280){a:{b:{if(r>>>0>=11){t=r+16&-16;s=Mm(t);q[p+8>>2]=t|-2147483648;q[p>>2]=s;q[p+4>>2]=r;break b}o[p+11|0]=r;s=p;if(!r){break a}}Cn(s,b,r)}o[r+s|0]=0;Vk(a,p,p+12|0);a=q[p+12>>2];if(o[p+11|0]<=-1){An(q[p>>2])}T=p+16|0;return a}Pm();F()}function ia(a,b,u){var v=0,w=0,x=0,y=0;v=T-32|0;T=v;q[v+24>>2]=0;q[v+16>>2]=0;q[v+20>>2]=0;w=dm(b);if(w>>>0<4294967280){a:{b:{if(w>>>0>=11){y=w+16&-16;x=Mm(y);q[v+24>>2]=y|-2147483648;q[v+16>>2]=x;q[v+20>>2]=w;break b}o[v+27|0]=w;x=v+16|0;if(!w){break a}}Cn(x,b,w)}o[w+x|0]=0;q[v+8>>2]=0;q[v>>2]=0;q[v+4>>2]=0;Wk(a,v+16|0,v);a=q[u>>2];if(a){q[u+4>>2]=a;An(a);q[u+8>>2]=0;q[u>>2]=0;q[u+4>>2]=0}q[u>>2]=q[v>>2];q[u+4>>2]=q[v+4>>2];q[u+8>>2]=q[v+8>>2];if(o[v+27|0]<=-1){An(q[v+16>>2])}T=v+32|0;return}Pm();F()}function ja(a,b){var u=0,z=0,A=0,B=0,C=0;u=T-32|0;T=u;q[u+24>>2]=0;q[u+28>>2]=0;q[u+16>>2]=0;q[u+8>>2]=0;q[u+12>>2]=0;z=dm(b);if(z>>>0<4294967280){a:{b:{if(z>>>0>=11){B=z+16&-16;A=Mm(B);q[u+16>>2]=B|-2147483648;q[u+8>>2]=A;q[u+12>>2]=z;break b}o[u+19|0]=z;A=u+8|0;if(!z){break a}}Cn(A,b,z)}o[z+A|0]=0;Xk(a,u+8|0,u+24|0);C=v[u+24>>3];if(o[u+19|0]<=-1){An(q[u+8>>2])}T=u+32|0;return C}Pm();F()}function ka(a,b,D){var E=0,G=0,H=0,I=0;E=T-16|0;T=E;q[E+8>>2]=0;q[E>>2]=0;q[E+4>>2]=0;G=dm(D);if(G>>>0<4294967280){a:{b:{if(G>>>0>=11){I=G+16&-16;H=Mm(I);q[E+8>>2]=I|-2147483648;q[E>>2]=H;q[E+4>>2]=G;break b}o[E+11|0]=G;H=E;if(!G){break a}}Cn(H,D,G)}o[G+H|0]=0;a=a+16|0;D=0;c:{if(!Yk(b,E,a)){break c}D=q[a>>2];if(o[a+11|0]<=-1){break c}D=a}if(o[E+11|0]<=-1){An(q[E>>2])}T=E+16|0;return D}Pm();F()}function la(a,b,D){var F=0,J=0,K=0,L=0;a:{if(q[a+12>>2]==(b|0)){break a}F=q[a>>2];K=a+4|0;J=q[K>>2];if((F|0)!=(J|0)){while(1){L=J+ -12|0;if(o[J+ -1|0]<=-1){An(q[L>>2])}J=L;if((J|0)!=(F|0)){continue}break}}q[a+12>>2]=b;q[K>>2]=F;J=q[b>>2];K=b+4|0;if((J|0)==(K|0)){break a}L=a+8|0;while(1){b=J+16|0;b:{if(q[L>>2]!=(F|0)){Rm(F,b);b=a+4|0;q[b>>2]=q[b>>2]+12;break b}ma(a,b)}F=q[J+4>>2];c:{if(!F){b=q[J+8>>2];if(q[b>>2]==(J|0)){break c}J=J+8|0;while(1){F=q[J>>2];J=F+8|0;b=q[F+8>>2];if((F|0)!=q[b>>2]){continue}break}break c}while(1){b=F;F=q[F>>2];if(F){continue}break}}if((b|0)==(K|0)){break a}F=q[a+4>>2];J=b;continue}}F=0;d:{if((D|0)<0){break d}b=q[a+4>>2];a=q[a>>2];if((b-a|0)/12>>>0<=D>>>0){break d}F=a+w(D,12)|0;if(o[F+11|0]>-1){break d}F=q[F>>2]}return F}function ma(a,b){var D=0,M=0,N=0,O=0,P=0;a:{b:{c:{N=q[a>>2];P=(q[a+4>>2]-N|0)/12|0;D=P+1|0;if(D>>>0<357913942){N=(q[a+8>>2]-N|0)/12|0;O=N<<1;D=N>>>0<178956970?O>>>0<D>>>0?D:O:357913941;M=0;d:{if(!D){break d}if(D>>>0>=357913942){break c}M=Mm(w(D,12))}N=M+w(D,12)|0;b=Rm(M+w(P,12)|0,b);P=b+12|0;D=q[a+4>>2];M=q[a>>2];if((D|0)==(M|0)){break b}while(1){D=D+ -12|0;O=q[D+4>>2];b=b+ -12|0;q[b>>2]=q[D>>2];q[b+4>>2]=O;O=D+8|0;q[b+8>>2]=q[O>>2];q[D>>2]=0;q[D+4>>2]=0;q[O>>2]=0;if((D|0)!=(M|0)){continue}break}M=q[a+4>>2];D=q[a>>2];break a}bn();F()}ab(1040);F()}D=M}q[a>>2]=b;q[a+8>>2]=N;q[a+4>>2]=P;if((D|0)!=(M|0)){while(1){a=M+ -12|0;if(o[M+ -1|0]<=-1){An(q[a>>2])}M=a;if((a|0)!=(D|0)){continue}break}}if(D){An(D)}}function na(a){var b=0;ck(a);b=a+16|0;q[b>>2]=0;q[b+4>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0;q[a+12>>2]=b;q[a+32>>2]=0;q[a+36>>2]=0;return a}function oa(a){var Q=0;Q=T-32|0;T=Q;hh(Q+8|0,a);a=q[Q+24>>2];if(o[Q+23|0]<=-1){An(q[Q+12>>2])}T=Q+32|0;return a}function pa(a,R,S){var U=0;U=T-16|0;T=U;ih(U,a,R,S);q[a+24>>2]=q[U>>2];Tm(a+28|0,U|4);a=a+24|0;if(o[U+15|0]<=-1){An(q[U+4>>2])}T=U+16|0;return a}function qa(a,R,S){var V=0;V=T-16|0;T=V;jh(V,a,R,S);q[a+24>>2]=q[V>>2];Tm(a+28|0,V|4);a=a+24|0;if(o[V+15|0]<=-1){An(q[V+4>>2])}T=V+16|0;return a}function ra(a,R){var S=0,W=0,X=0,Y=0;S=T-32|0;T=S;q[S+24>>2]=0;q[S+16>>2]=0;q[S+20>>2]=0;W=dm(R);if(W>>>0<4294967280){a:{b:{if(W>>>0>=11){Y=W+16&-16;X=Mm(Y);q[S+24>>2]=Y|-2147483648;q[S+16>>2]=X;q[S+20>>2]=W;break b}o[S+27|0]=W;X=S+16|0;if(!W){break a}}Cn(X,R,W)}o[W+X|0]=0;q[S+8>>2]=67108864;q[S>>2]=0;q[S+4>>2]=0;o[S+4|0]=0;q[S>>2]=1701667182;W=q[a+4>>2];R=-1;c:{if(!W){break c}W=Pk(W,S,S+16|0);R=-1;if(!W){break c}R=el(a,q[W+24>>2])}if(o[S+11|0]<=-1){An(q[S>>2])}if(o[S+27|0]<=-1){An(q[S+16>>2])}T=S+32|0;return R}Pm();F()}function sa(a,R,Z){var _=0,$=0,aa=0,ba=0;_=T-32|0;T=_;q[_+24>>2]=0;q[_+16>>2]=0;q[_+20>>2]=0;a:{ba=dm(R);if(ba>>>0<4294967280){b:{c:{if(ba>>>0>=11){$=ba+16&-16;aa=Mm($);q[_+24>>2]=$|-2147483648;q[_+16>>2]=aa;q[_+20>>2]=ba;break c}o[_+27|0]=ba;aa=_+16|0;if(!ba){break b}}Cn(aa,R,ba)}o[aa+ba|0]=0;q[_+8>>2]=0;q[_>>2]=0;q[_+4>>2]=0;$=dm(Z);if($>>>0>=4294967280){break a}d:{e:{if($>>>0>=11){R=$+16&-16;aa=Mm(R);q[_+8>>2]=R|-2147483648;q[_>>2]=aa;q[_+4>>2]=$;break e}o[_+11|0]=$;aa=_;if(!$){break d}}Cn(aa,Z,$)}o[$+aa|0]=0;Z=q[a+4>>2];R=-1;f:{if(!Z){break f}Z=Pk(Z,_+16|0,_);R=-1;if(!Z){break f}R=el(a,q[Z+24>>2])}a=R;if(o[_+11|0]<=-1){An(q[_>>2])}if(o[_+27|0]<=-1){An(q[_+16>>2])}T=_+32|0;return a}Pm();F()}Pm();F()}function ta(a,o,R){var Z=0,ca=0,da=0;Z=T-16|0;T=Z;ca=q[a+96>>2];q[Z+8>>2]=0;q[Z>>2]=0;q[Z+4>>2]=0;a=Mm(12);q[Z>>2]=a;q[Z+4>>2]=a;da=a+12|0;q[Z+8>>2]=da;ca=Cn(a,ca+w(o,12)|0,12)+12|0;q[Z+4>>2]=ca;o=q[R>>2];if(o){q[R+4>>2]=o;An(o);q[R+8>>2]=0;q[R>>2]=0;q[R+4>>2]=0}q[R>>2]=a;q[R+8>>2]=da;q[R+4>>2]=ca;T=Z+16|0;return 1}function ua(a,o){var R=0,ea=0;R=T-96|0;T=R;Dn(R+16|0,0,76);q[R+92>>2]=-1;q[R+8>>2]=0;q[R>>2]=0;q[R+4>>2]=0;a:{if(va(R+16|0,a,R)){a=q[o>>2];if(a){q[o+4>>2]=a;An(a);q[o+8>>2]=0;q[o>>2]=0;q[o+4>>2]=0}q[o>>2]=q[R>>2];q[o+4>>2]=q[R+4>>2];q[o+8>>2]=q[R+8>>2];q[R+8>>2]=0;q[R>>2]=0;q[R+4>>2]=0;ea=q[R+84>>2];break a}a=q[R>>2];if(!a){break a}q[R+4>>2]=a;An(a)}a=q[R+72>>2];if(a){An(a)}a=q[R+48>>2];if(a){q[R+52>>2]=a;An(a)}a=q[R+36>>2];if(a){q[R+40>>2]=a;An(a)}a=q[R+24>>2];if(a){q[R+28>>2]=a;An(a)}a=q[R+20>>2];q[R+20>>2]=0;if(a){wa(R+16|4,a)}T=R+96|0;return ea}function va(a,o,fa){var ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ja=T-16|0;T=ja;a:{if(!xa(a,o)){break a}ia=1;ha=q[o+96>>2];oa=o+100|0;ga=q[oa>>2];if((ha|0)==(ga|0)){break a}pa=a+12|0;qa=a+24|0;ra=a+36|0;na=fa+8|0;la=fa+4|0;while(1){if(!(q[q[a+56>>2]+(ma>>>3&536870908)>>2]>>>(ma&31)&1)){ia=w(ma,3);Jk(a,0,ia);sa=q[pa>>2];ka=q[a+8>>2];Jk(a,1,ia+1|0);ha=q[qa>>2];ga=q[a+20>>2];Jk(a,2,ia+2|0);ia=ha-ga>>2;ha=sa-ka|0;ga=ha>>2;ka=ia>>>0>ga>>>0;ka=q[ra>>2]-q[a+32>>2]>>2>>>0>(ka?ia:ga)>>>0?2:ka?1:ha?0:-1;b:{if(q[a+68>>2]<1){break b}ga=q[a+76>>2];q[ja+12>>2]=ga;ha=q[la>>2];c:{if(ha>>>0<t[na>>2]){q[ha>>2]=ga;q[la>>2]=ha+4;break c}ya(fa,ja+12|0)}ga=ja;ia=q[((ka<<2)+a|0)+44>>2];ha=-1;d:{if((ia|0)<0){break d}ha=(ia>>>0)/3|0;ha=q[(q[q[a>>2]+96>>2]+w(ha,12)|0)+(ia-w(ha,3)<<2)>>2]}q[ga+8>>2]=ha;ga=q[la>>2];e:{if(ga>>>0<t[na>>2]){q[ga>>2]=ha;q[la>>2]=ga+4;break e}ya(fa,ja+8|0)}ga=q[a+72>>2]+2|0;q[a+72>>2]=ga;if(!(ga&1)){break b}q[ja+4>>2]=ha;ga=q[la>>2];f:{if(ga>>>0<t[na>>2]){q[ga>>2]=ha;q[la>>2]=ga+4;break f}ya(fa,ja+4|0)}q[a+72>>2]=q[a+72>>2]+1}za(a,ka,fa);ha=q[o+96>>2];ga=q[oa>>2]}ia=1;ma=ma+1|0;if(ma>>>0<(ga-ha|0)/12>>>0){continue}break}}T=ja+16|0;return ia}function wa(a,o){if(o){a=q[o+76>>2];if(a){q[o+80>>2]=a;An(a)}a=q[o- -64>>2];if(a){q[o+68>>2]=a;An(a)}a=q[o+48>>2];if(a){q[o+52>>2]=a;An(a)}a=q[o+24>>2];if(a){q[o+28>>2]=a;An(a)}a=q[o+12>>2];if(a){q[o+16>>2]=a;An(a)}a=q[o>>2];if(a){q[o+4>>2]=a;An(a)}An(o)}}function xa(a,fa){var ta=0,ua=0,va=0;ta=T-16|0;T=ta;q[a+68>>2]=0;q[a+72>>2]=0;q[a>>2]=fa;Ik(ta+8|0,fa);ua=q[ta+8>>2];q[ta+8>>2]=0;va=q[a+4>>2];q[a+4>>2]=ua;a:{if(!va){q[ta+8>>2]=0;break a}ua=a+4|0;wa(ua,va);va=q[ta+8>>2];q[ta+8>>2]=0;if(va){wa(ta+8|0,va)}ua=q[ua>>2]}if(ua){ua=q[fa+100>>2];fa=q[fa+96>>2];o[ta+7|0]=0;bb(a+56|0,(ua-fa|0)/12|0,ta+7|0);a=1}else{a=0}T=ta+16|0;return a}function ya(a,o){var T=0,fa=0,wa=0,xa=0,ya=0,za=0;a:{wa=q[a>>2];ya=q[a+4>>2]-wa|0;T=ya>>2;fa=T+1|0;if(fa>>>0<1073741824){za=T<<2;T=q[a+8>>2]-wa|0;xa=T>>1;fa=T>>2>>>0<536870911?xa>>>0<fa>>>0?fa:xa:1073741823;T=0;b:{if(!fa){break b}if(fa>>>0>=1073741824){break a}T=Mm(fa<<2)}xa=za+T|0;q[xa>>2]=q[o>>2];o=T+(fa<<2)|0;fa=xa+4|0;if((ya|0)>=1){Cn(T,wa,ya)}q[a>>2]=T;q[a+8>>2]=o;q[a+4>>2]=fa;if(wa){An(wa)}return}bn();F()}ab(1040);F()}function za(a,o,Aa){var Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;Da=T-16|0;T=Da;q[a+68>>2]=q[a+68>>2]+1;Ba=w(o,12)+a|0;Ba=q[Ba+12>>2]-q[Ba+8>>2]|0;if((Ba|0)>=1){Ia=Ba>>2;Ba=q[((o<<2)+a|0)+44>>2];Ga=Aa+8|0;Ea=Aa+4|0;while(1){o=Ba;Fa=(Ba>>>0)/3|0;Ba=(Ba|0)==-1?-1:Fa;Ca=q[a+56>>2]+(Ba>>>3&536870908)|0;q[Ca>>2]=q[Ca>>2]|1<<(Ba&31);q[a+72>>2]=q[a+72>>2]+1;a:{b:{if(!Ha){Ba=(o|0)<0?-1:q[(q[q[a>>2]+96>>2]+w(Fa,12)|0)+((o>>>0)%3<<2)>>2];q[Da+12>>2]=Ba;Ca=q[Ea>>2];c:{if(Ca>>>0<t[Ga>>2]){q[Ca>>2]=Ba;q[Ea>>2]=Ca+4;break c}ya(Aa,Da+12|0)}Ba=-1;d:{if((o|0)==-1){break d}Ca=o+1|0;Ca=(Ca>>>0)%3|0?Ca:o+ -2|0;if((Ca|0)<0){break d}Ba=(Ca>>>0)/3|0;Ba=q[(q[q[a>>2]+96>>2]+w(Ba,12)|0)+(Ca-w(Ba,3)<<2)>>2]}q[Da+12>>2]=Ba;Ca=q[Ea>>2];e:{if(Ca>>>0<t[Ga>>2]){q[Ca>>2]=Ba;q[Ea>>2]=Ca+4;break e}ya(Aa,Da+12|0)}Ca=a;Ba=-1;f:{if((o|0)==-1){break f}Fa=((o>>>0)%3|0?-1:2)+o|0;Ba=-1;if((Fa|0)<0){break f}Ba=(Fa>>>0)/3|0;Ba=q[(q[q[a>>2]+96>>2]+w(Ba,12)|0)+(Fa-w(Ba,3)<<2)>>2]}q[Ca+76>>2]=Ba;q[Da+12>>2]=Ba;Ca=q[Ea>>2];if(Ca>>>0<t[Ga>>2]){q[Ca>>2]=Ba;q[Ea>>2]=Ca+4;break b}ya(Aa,Da+12|0);break b}Ba=(o|0)<0?-1:q[(q[q[a>>2]+96>>2]+w(Fa,12)|0)+((o>>>0)%3<<2)>>2];q[a+76>>2]=Ba;q[Da+12>>2]=Ba;Ca=q[Ea>>2];g:{if(Ca>>>0<t[Ga>>2]){q[Ca>>2]=Ba;q[Ea>>2]=Ca+4;break g}ya(Aa,Da+12|0)}if(Ha&1){Ba=-1;if((o|0)==-1){break a}if(o-w(Fa,3)){o=o+ -1|0;break b}o=o+2|0;break b}Ba=-1;if((o|0)==-1){break a}Ba=o+1|0;o=(Ba>>>0)%3|0?Ba:o+ -2|0}Ba=-1;if((o|0)==-1){break a}Ba=q[q[q[a+4>>2]+12>>2]+(o<<2)>>2]}Ha=Ha+1|0;if((Ha|0)<(Ia|0)){continue}break}}T=Da+16|0}function Aa(a,o,Aa){var Ja=0,Ka=0,La=0;a:{if(t[a+80>>2]>65535){break a}Ka=q[a+96>>2];a=q[a+100>>2]-Ka|0;La=(a|0)/12|0;if((w(La,6)|0)!=(o|0)){break a}if(!a){return 1}a=0;while(1){o=w(a,6)+Aa|0;Ja=w(a,12)+Ka|0;p[o>>1]=q[Ja>>2];p[o+2>>1]=q[Ja+4>>2];p[o+4>>1]=q[Ja+8>>2];Ja=1;a=a+1|0;if(a>>>0<La>>>0){continue}break}}return Ja}function Ba(a,o,Aa){var Ma=0,Na=0,Oa=0;Na=q[a+96>>2];a=q[a+100>>2]-Na|0;Oa=(a|0)/12|0;if((a|0)==(o|0)){if(!o){return 1}a=0;while(1){Ma=w(a,12);o=Ma+Aa|0;Ma=Ma+Na|0;q[o>>2]=q[Ma>>2];q[o+4>>2]=q[Ma+4>>2];q[o+8>>2]=q[Ma+8>>2];Ma=1;a=a+1|0;if(a>>>0<Oa>>>0){continue}break}}return Ma}function Ca(a,Aa,Pa){var Qa=0,Ra=0,Sa=0,Ta=0;Qa=T-32|0;T=Qa;Ra=o[a+24|0];Ta=q[259];q[Qa+24>>2]=q[258];q[Qa+28>>2]=Ta;Ta=q[257];q[Qa+16>>2]=q[256];q[Qa+20>>2]=Ta;a:{if(Da(a,Aa,Ra,Qa+16|0)){a=0;q[Qa+8>>2]=0;q[Qa>>2]=0;q[Qa+4>>2]=0;Aa=0;if(Ra){if((Ra|0)<=-1){break a}Aa=Ra<<2;Sa=Mm(Aa);q[Qa>>2]=Sa;a=(Ra<<2)+Sa|0;q[Qa+8>>2]=a;Cn(Sa,Qa+16|0,Aa);q[Qa+4>>2]=a;Aa=a}Ra=q[Pa>>2];if(Ra){q[Pa+4>>2]=Ra;An(Ra);q[Pa+8>>2]=0;q[Pa>>2]=0;q[Pa+4>>2]=0;Aa=q[Qa+4>>2];Sa=q[Qa>>2];a=q[Qa+8>>2]}q[Pa>>2]=Sa;q[Pa+8>>2]=a;q[Pa+4>>2]=Aa;Sa=1}T=Qa+32|0;return Sa}bn();F()}function Da(a,Aa,Pa,Ua){var Va=0,Wa=0,Xa=x(0),Ya=0,Za=0;a:{b:{if(!Ua){break b}Va=q[a+28>>2]+ -1|0;if(Va>>>0>10){break b}c:{switch(Va-1|0){default:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(o[Aa|0]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa/x(127)):Xa;Aa=Aa+1|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 0:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(r[Aa|0]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa/x(255)):Xa;Aa=Aa+1|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 1:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(p[Aa>>1]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa/x(32767)):Xa;Aa=Aa+2|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 2:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(s[Aa>>1]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa/x(65535)):Xa;Aa=Aa+2|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 3:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(q[Aa>>2]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa*x(4.656612873077393e-10)):Xa;Aa=Aa+4|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 4:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(t[Aa>>2]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa*x(2.3283064365386963e-10)):Xa;Aa=Aa+4|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 5:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(+t[Aa>>2]+4294967296*+q[Aa+4>>2]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa*x(1.0842021724855044e-19)):Xa;Aa=Aa+8|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 6:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(+t[Aa>>2]+4294967296*+t[Aa+4>>2]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa*x(5.421010862427522e-20)):Xa;Aa=Aa+8|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 7:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;while(1){q[(Wa<<2)+Ua>>2]=q[Aa>>2];Aa=Aa+4|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 8:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;while(1){u[(Wa<<2)+Ua>>2]=v[Aa>>3];Aa=Aa+8|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 9:break c}}Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;while(1){u[(Wa<<2)+Ua>>2]=r[Aa|0]?x(1):x(0);Aa=Aa+1|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}Dn((Va<<2)+Ua|0,0,Pa-Va<<2)}return Za}Dn((Va<<2)+Ua|0,0,Pa-Va<<2);return 1}function Ea(a,Aa,Pa){var Ua=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0;Ua=T-16|0;T=Ua;bb=q[a+80>>2];cb=o[Aa+24|0];a=q[259];q[Ua+8>>2]=q[258];q[Ua+12>>2]=a;a=q[257];q[Ua>>2]=q[256];q[Ua+4>>2]=a;a=w(bb,cb);$a=q[Pa>>2];_a=q[Pa+4>>2]-$a>>2;a:{if(a>>>0>_a>>>0){Fa(Pa,a-_a|0);break a}if(a>>>0>=_a>>>0){break a}q[Pa+4>>2]=$a+(a<<2)}b:{if(!bb){a=1;break b}$a=0;db=Aa+68|0;eb=(cb|0)<1;while(1){a=ab;_a=Aa;if(!r[_a+84|0]){a=q[q[db>>2]+(ab<<2)>>2]}if(!Da(_a,a,o[Aa+24|0],Ua)){a=0;break b}if(!eb){_a=q[Pa>>2];a=0;while(1){q[_a+($a<<2)>>2]=q[(a<<2)+Ua>>2];$a=$a+1|0;a=a+1|0;if((cb|0)!=(a|0)){continue}break}}a=1;ab=ab+1|0;if((bb|0)!=(ab|0)){continue}break}}T=Ua+16|0;return a}function Fa(a,o){var Aa=0,Pa=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0;Pa=q[a+8>>2];fb=a+4|0;Aa=q[fb>>2];if(Pa-Aa>>2>>>0>=o>>>0){a=o<<2;kb=fb,lb=Dn(Aa,0,a)+a|0,q[kb>>2]=lb;return}a:{fb=q[a>>2];hb=Aa-fb|0;Aa=hb>>2;gb=Aa+o|0;if(gb>>>0<1073741824){jb=Aa<<2;Pa=Pa-fb|0;Aa=Pa>>1;Pa=Pa>>2>>>0<536870911?Aa>>>0<gb>>>0?gb:Aa:1073741823;Aa=0;b:{if(!Pa){break b}if(Pa>>>0>=1073741824){break a}ib=Mm(Pa<<2);Aa=ib}Dn(jb+Aa|0,0,o<<2);o=Aa+(gb<<2)|0;gb=Aa+(Pa<<2)|0;if((hb|0)>=1){Cn(ib,fb,hb)}q[a>>2]=Aa;q[a+8>>2]=gb;q[a+4>>2]=o;if(fb){An(fb)}return}bn();F()}ab(1040);F()}function Ga(a,mb,nb){var ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0;pb=T-16|0;T=pb;sb=q[a+80>>2];rb=o[mb+24|0];qb=w(sb,rb);a:{a=q[mb+28>>2];b:{if(!(!r[mb+84|0]|((a|0)!=2?(a|0)!=1:0))){rb=q[mb+48>>2];mb=q[q[mb>>2]>>2];q[pb+8>>2]=0;q[pb>>2]=0;q[pb+4>>2]=0;a=0;if(qb){if((qb|0)<=-1){break a}a=Mm(qb);q[pb>>2]=a;ob=a+qb|0;q[pb+8>>2]=ob;Cn(a,mb+rb|0,qb);q[pb+4>>2]=ob}mb=q[nb>>2];if(mb){q[nb+4>>2]=mb;An(mb);q[nb+8>>2]=0;q[nb>>2]=0;q[nb+4>>2]=0}q[nb>>2]=a;q[nb+8>>2]=ob;q[nb+4>>2]=ob;ob=1;break b}q[pb+8>>2]=0;q[pb>>2]=0;q[pb+4>>2]=0;if(rb){if((rb|0)<=-1){break a}ob=Mm(rb);q[pb>>2]=ob;q[pb+4>>2]=ob;q[pb+8>>2]=ob+rb;a=rb;while(1){o[ob|0]=0;ob=q[pb+4>>2]+1|0;q[pb+4>>2]=ob;a=a+ -1|0;if(a){continue}break}}ob=q[nb>>2];a=q[nb+4>>2]-ob|0;c:{if(qb>>>0>a>>>0){Ha(nb,qb-a|0);break c}if(qb>>>0>=a>>>0){break c}q[nb+4>>2]=ob+qb}d:{if(!sb){ob=1;break d}a=0;tb=mb+68|0;ub=(rb|0)<1;qb=0;while(1){ob=qb;vb=mb;if(!r[mb+84|0]){ob=q[q[tb>>2]+(qb<<2)>>2]}if(!Ia(vb,ob,o[mb+24|0],q[pb>>2])){ob=0;break d}ob=0;if(!ub){while(1){o[q[nb>>2]+a|0]=r[q[pb>>2]+ob|0];a=a+1|0;ob=ob+1|0;if((rb|0)!=(ob|0)){continue}break}}ob=1;qb=qb+1|0;if((sb|0)!=(qb|0)){continue}break}}a=q[pb>>2];if(!a){break b}q[pb+4>>2]=a;An(a)}T=pb+16|0;return ob}bn();F()}function Ha(a,mb){var nb=0,wb=0,xb=0,yb=0,zb=0,Ab=0;a:{wb=q[a+8>>2];xb=a+4|0;nb=q[xb>>2];b:{if(wb-nb>>>0>=mb>>>0){while(1){o[nb|0]=0;nb=q[xb>>2]+1|0;q[xb>>2]=nb;mb=mb+ -1|0;if(mb){continue}break b}}yb=q[a>>2];zb=nb-yb|0;nb=zb+mb|0;if((nb|0)<=-1){break a}xb=0;wb=wb-yb|0;Ab=wb<<1;wb=wb>>>0<1073741823?Ab>>>0<nb>>>0?nb:Ab:2147483647;if(wb){xb=Mm(wb)}nb=xb+zb|0;Dn(nb,0,mb);wb=wb+xb|0;while(1){nb=nb+1|0;mb=mb+ -1|0;if(mb){continue}break}if((zb|0)>=1){Cn(xb,yb,zb)}q[a>>2]=xb;q[a+8>>2]=wb;q[a+4>>2]=nb;if(!yb){break b}An(yb)}return}bn();F()}function Ia(a,mb,Bb,Cb){var Db=0,Eb=0,Fb=0,Gb=0,Hb=x(0),Ib=0;a:{b:{if(!Cb){break b}Db=q[a+28>>2]+ -1|0;if(Db>>>0>10){break b}c:{d:{e:{switch(Db-1|0){default:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=r[mb|0];mb=mb+1|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 0:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=r[mb|0];mb=mb+1|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 1:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=r[mb|0];mb=mb+2|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 2:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=r[mb|0];mb=mb+2|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 3:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=q[mb>>2];mb=mb+4|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 4:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=q[mb>>2];mb=mb+4|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 5:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=q[mb>>2];mb=mb+8|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 6:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=q[mb>>2];mb=mb+8|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 7:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24<1){break c}Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){Db=Cb+Eb|0;Hb=u[mb>>2];f:{if(x(y(Hb))<x(2147483648)){Gb=~~Hb;break f}Gb=-2147483648}o[Db|0]=Gb;mb=mb+4|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}break c;case 8:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24<1){break d}Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){Db=Cb+Eb|0;Ib=v[mb>>3];g:{if(y(Ib)<2147483648){Gb=~~Ib;break g}Gb=-2147483648}o[Db|0]=Gb;mb=mb+8|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}break d;case 9:break e}}Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=r[mb|0];mb=mb+1|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}Dn(Cb+Db|0,0,Bb-Db|0);break b}if((Db|0)>=(Bb|0)){break b}break a}if((Db|0)>=(Bb|0)){break b}break a}return Fb}Dn(Cb+Db|0,0,Bb-Db|0);return 1}function Ja(a,mb,Bb){var Cb=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0;Jb=T-16|0;T=Jb;Mb=q[a+80>>2];Lb=o[mb+24|0];Kb=w(Mb,Lb);a:{a=q[mb+28>>2];b:{if(!(!r[mb+84|0]|((a|0)!=2?(a|0)!=1:0))){Lb=q[mb+48>>2];mb=q[q[mb>>2]>>2];q[Jb+8>>2]=0;q[Jb>>2]=0;q[Jb+4>>2]=0;a=0;if(Kb){if((Kb|0)<=-1){break a}a=Mm(Kb);q[Jb>>2]=a;Cb=a+Kb|0;q[Jb+8>>2]=Cb;Cn(a,mb+Lb|0,Kb);q[Jb+4>>2]=Cb}mb=q[Bb>>2];if(mb){q[Bb+4>>2]=mb;An(mb);q[Bb+8>>2]=0;q[Bb>>2]=0;q[Bb+4>>2]=0}q[Bb>>2]=a;q[Bb+8>>2]=Cb;q[Bb+4>>2]=Cb;Cb=1;break b}q[Jb+8>>2]=0;q[Jb>>2]=0;q[Jb+4>>2]=0;if(Lb){if((Lb|0)<=-1){break a}Cb=Mm(Lb);q[Jb>>2]=Cb;q[Jb+4>>2]=Cb;q[Jb+8>>2]=Cb+Lb;a=Lb;while(1){o[Cb|0]=0;Cb=q[Jb+4>>2]+1|0;q[Jb+4>>2]=Cb;a=a+ -1|0;if(a){continue}break}}Cb=q[Bb>>2];a=q[Bb+4>>2]-Cb|0;c:{if(Kb>>>0>a>>>0){Ha(Bb,Kb-a|0);break c}if(Kb>>>0>=a>>>0){break c}q[Bb+4>>2]=Cb+Kb}d:{if(!Mb){Cb=1;break d}a=0;Nb=mb+68|0;Ob=(Lb|0)<1;Kb=0;while(1){Cb=Kb;Pb=mb;if(!r[mb+84|0]){Cb=q[q[Nb>>2]+(Kb<<2)>>2]}if(!Ka(Pb,Cb,o[mb+24|0],q[Jb>>2])){Cb=0;break d}Cb=0;if(!Ob){while(1){o[q[Bb>>2]+a|0]=r[q[Jb>>2]+Cb|0];a=a+1|0;Cb=Cb+1|0;if((Lb|0)!=(Cb|0)){continue}break}}Cb=1;Kb=Kb+1|0;if((Mb|0)!=(Kb|0)){continue}break}}a=q[Jb>>2];if(!a){break b}q[Jb+4>>2]=a;An(a)}T=Jb+16|0;return Cb}bn();F()}function Ka(a,mb,Bb,Qb){var Rb=0,Sb=0,Tb=0,Ub=0,Vb=x(0),Wb=0;a:{b:{if(!Qb){break b}Rb=q[a+28>>2]+ -1|0;if(Rb>>>0>10){break b}c:{d:{e:{switch(Rb-1|0){default:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=r[mb|0];mb=mb+1|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 0:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=r[mb|0];mb=mb+1|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 1:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=r[mb|0];mb=mb+2|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 2:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=r[mb|0];mb=mb+2|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 3:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=q[mb>>2];mb=mb+4|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 4:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=q[mb>>2];mb=mb+4|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 5:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=q[mb>>2];mb=mb+8|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 6:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=q[mb>>2];mb=mb+8|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 7:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24<1){break c}Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){Rb=Qb+Sb|0;Vb=u[mb>>2];f:{if(Vb<x(4294967296)&Vb>=x(0)){Ub=~~Vb>>>0;break f}Ub=0}o[Rb|0]=Ub;mb=mb+4|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}break c;case 8:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24<1){break d}Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){Rb=Qb+Sb|0;Wb=v[mb>>3];g:{if(Wb<4294967296&Wb>=0){Ub=~~Wb>>>0;break g}Ub=0}o[Rb|0]=Ub;mb=mb+8|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}break d;case 9:break e}}Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=r[mb|0];mb=mb+1|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}Dn(Qb+Rb|0,0,Bb-Rb|0);break b}if((Rb|0)>=(Bb|0)){break b}break a}if((Rb|0)>=(Bb|0)){break b}break a}return Tb}Dn(Qb+Rb|0,0,Bb-Rb|0);return 1}function La(a,mb,Bb){var Qb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0;Qb=T-16|0;T=Qb;ac=q[a+80>>2];_b=o[mb+24|0];a=w(ac,_b);a:{Xb=q[mb+28>>2];b:{if(!(!r[mb+84|0]|((Xb|0)!=4?(Xb|0)!=3:0))){$b=q[mb+48>>2];Xb=q[q[mb>>2]>>2];q[Qb+8>>2]=0;q[Qb>>2]=0;q[Qb+4>>2]=0;mb=0;a=a<<1;if(a){if((a|0)<=-1){break a}Yb=Mm(a);q[Qb>>2]=Yb;Zb=(a>>1<<1)+Yb|0;q[Qb+8>>2]=Zb;mb=Cn(Yb,Xb+$b|0,a)+a|0;q[Qb+4>>2]=mb}a=q[Bb>>2];if(a){q[Bb+4>>2]=a;An(a);q[Bb+8>>2]=0;q[Bb>>2]=0;q[Bb+4>>2]=0}q[Bb>>2]=Yb;q[Bb+8>>2]=Zb;q[Bb+4>>2]=mb;a=1;break b}q[Qb+8>>2]=0;q[Qb>>2]=0;q[Qb+4>>2]=0;if(_b){if((_b|0)<=-1){break a}Xb=_b<<1;Yb=Mm(Xb);q[Qb>>2]=Yb;Zb=Xb+Yb|0;q[Qb+8>>2]=Zb;Dn(Yb,0,Xb);q[Qb+4>>2]=Zb}Yb=q[Bb>>2];Xb=q[Bb+4>>2]-Yb>>1;c:{if(a>>>0>Xb>>>0){Ma(Bb,a-Xb|0);break c}if(a>>>0>=Xb>>>0){break c}q[Bb+4>>2]=Yb+(a<<1)}d:{if(!ac){a=1;break d}Yb=0;Zb=mb+68|0;bc=(_b|0)<1;while(1){a=$b;Xb=mb;if(!r[mb+84|0]){a=q[q[Zb>>2]+($b<<2)>>2]}if(!Na(Xb,a,o[mb+24|0],q[Qb>>2])){a=0;break d}if(!bc){Xb=q[Bb>>2];a=0;cc=q[Qb>>2];while(1){p[Xb+(Yb<<1)>>1]=s[cc+(a<<1)>>1];Yb=Yb+1|0;a=a+1|0;if((_b|0)!=(a|0)){continue}break}}a=1;$b=$b+1|0;if((ac|0)!=($b|0)){continue}break}}mb=q[Qb>>2];if(!mb){break b}q[Qb+4>>2]=mb;An(mb)}T=Qb+16|0;return a}bn();F()}function Ma(a,o){var mb=0,Bb=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0;Bb=q[a+8>>2];dc=a+4|0;mb=q[dc>>2];if(Bb-mb>>1>>>0>=o>>>0){a=o<<1;ic=dc,jc=Dn(mb,0,a)+a|0,q[ic>>2]=jc;return}a:{dc=q[a>>2];fc=mb-dc|0;mb=fc>>1;ec=mb+o|0;if((ec|0)>-1){hc=mb<<1;Bb=Bb-dc|0;Bb=Bb>>1>>>0<1073741823?Bb>>>0<ec>>>0?ec:Bb:2147483647;mb=0;b:{if(!Bb){break b}if((Bb|0)<=-1){break a}gc=Mm(Bb<<1);mb=gc}Dn(hc+mb|0,0,o<<1);o=mb+(ec<<1)|0;ec=mb+(Bb<<1)|0;if((fc|0)>=1){Cn(gc,dc,fc)}q[a>>2]=mb;q[a+8>>2]=ec;q[a+4>>2]=o;if(dc){An(dc)}return}bn();F()}ab(1040);F()}function Na(a,kc,lc,mc){var nc=0,oc=0,pc=0,qc=0,rc=x(0),sc=0;a:{b:{if(!mc){break b}nc=q[a+28>>2]+ -1|0;if(nc>>>0>10){break b}c:{d:{e:{switch(nc-1|0){default:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=o[kc|0];kc=kc+1|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 0:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=r[kc|0];kc=kc+1|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 1:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=s[kc>>1];kc=kc+2|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 2:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=s[kc>>1];kc=kc+2|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 3:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=q[kc>>2];kc=kc+4|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 4:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=q[kc>>2];kc=kc+4|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 5:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=q[kc>>2];kc=kc+8|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 6:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=q[kc>>2];kc=kc+8|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 7:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24<1){break c}nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){nc=(oc<<1)+mc|0;rc=u[kc>>2];f:{if(x(y(rc))<x(2147483648)){qc=~~rc;break f}qc=-2147483648}p[nc>>1]=qc;kc=kc+4|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}break c;case 8:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24<1){break d}nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){nc=(oc<<1)+mc|0;sc=v[kc>>3];g:{if(y(sc)<2147483648){qc=~~sc;break g}qc=-2147483648}p[nc>>1]=qc;kc=kc+8|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}break d;case 9:break e}}pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=r[kc|0];kc=kc+1|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}Dn((nc<<1)+mc|0,0,lc-nc<<1);break b}if((nc|0)>=(lc|0)){break b}break a}if((nc|0)>=(lc|0)){break b}break a}return pc}Dn((nc<<1)+mc|0,0,lc-nc<<1);return 1}function Oa(a,kc,lc){var mc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0;mc=T-16|0;T=mc;yc=q[a+80>>2];wc=o[kc+24|0];a=w(yc,wc);a:{tc=q[kc+28>>2];b:{if(!(!r[kc+84|0]|((tc|0)!=4?(tc|0)!=3:0))){xc=q[kc+48>>2];tc=q[q[kc>>2]>>2];q[mc+8>>2]=0;q[mc>>2]=0;q[mc+4>>2]=0;kc=0;a=a<<1;if(a){if((a|0)<=-1){break a}uc=Mm(a);q[mc>>2]=uc;vc=(a>>1<<1)+uc|0;q[mc+8>>2]=vc;kc=Cn(uc,tc+xc|0,a)+a|0;q[mc+4>>2]=kc}a=q[lc>>2];if(a){q[lc+4>>2]=a;An(a);q[lc+8>>2]=0;q[lc>>2]=0;q[lc+4>>2]=0}q[lc>>2]=uc;q[lc+8>>2]=vc;q[lc+4>>2]=kc;a=1;break b}q[mc+8>>2]=0;q[mc>>2]=0;q[mc+4>>2]=0;if(wc){if((wc|0)<=-1){break a}tc=wc<<1;uc=Mm(tc);q[mc>>2]=uc;vc=tc+uc|0;q[mc+8>>2]=vc;Dn(uc,0,tc);q[mc+4>>2]=vc}uc=q[lc>>2];tc=q[lc+4>>2]-uc>>1;c:{if(a>>>0>tc>>>0){Ma(lc,a-tc|0);break c}if(a>>>0>=tc>>>0){break c}q[lc+4>>2]=uc+(a<<1)}d:{if(!yc){a=1;break d}uc=0;vc=kc+68|0;zc=(wc|0)<1;while(1){a=xc;tc=kc;if(!r[kc+84|0]){a=q[q[vc>>2]+(xc<<2)>>2]}if(!Pa(tc,a,o[kc+24|0],q[mc>>2])){a=0;break d}if(!zc){tc=q[lc>>2];a=0;Ac=q[mc>>2];while(1){p[tc+(uc<<1)>>1]=s[Ac+(a<<1)>>1];uc=uc+1|0;a=a+1|0;if((wc|0)!=(a|0)){continue}break}}a=1;xc=xc+1|0;if((yc|0)!=(xc|0)){continue}break}}kc=q[mc>>2];if(!kc){break b}q[mc+4>>2]=kc;An(kc)}T=mc+16|0;return a}bn();F()}function Pa(a,kc,lc,Bc){var Cc=0,Dc=0,Ec=0,Fc=0,Gc=x(0),Hc=0;a:{b:{if(!Bc){break b}Cc=q[a+28>>2]+ -1|0;if(Cc>>>0>10){break b}c:{d:{e:{switch(Cc-1|0){default:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=o[kc|0];kc=kc+1|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 0:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=r[kc|0];kc=kc+1|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 1:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=s[kc>>1];kc=kc+2|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 2:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=s[kc>>1];kc=kc+2|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 3:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=q[kc>>2];kc=kc+4|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 4:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=q[kc>>2];kc=kc+4|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 5:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=q[kc>>2];kc=kc+8|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 6:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=q[kc>>2];kc=kc+8|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 7:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24<1){break c}Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){Cc=(Dc<<1)+Bc|0;Gc=u[kc>>2];f:{if(Gc<x(4294967296)&Gc>=x(0)){Fc=~~Gc>>>0;break f}Fc=0}p[Cc>>1]=Fc;kc=kc+4|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}break c;case 8:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24<1){break d}Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){Cc=(Dc<<1)+Bc|0;Hc=v[kc>>3];g:{if(Hc<4294967296&Hc>=0){Fc=~~Hc>>>0;break g}Fc=0}p[Cc>>1]=Fc;kc=kc+8|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}break d;case 9:break e}}Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=r[kc|0];kc=kc+1|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}Dn((Cc<<1)+Bc|0,0,lc-Cc<<1);break b}if((Cc|0)>=(lc|0)){break b}break a}if((Cc|0)>=(lc|0)){break b}break a}return Ec}Dn((Cc<<1)+Bc|0,0,lc-Cc<<1);return 1}function Qa(a,kc,lc){var Bc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0;Bc=T-16|0;T=Bc;Nc=q[a+80>>2];Kc=o[kc+24|0];Jc=w(Nc,Kc);a:{a=q[kc+28>>2];b:{if(!(!r[kc+84|0]|((a|0)!=6?(a|0)!=5:0))){Mc=q[kc+48>>2];Kc=q[q[kc>>2]>>2];q[Bc+8>>2]=0;q[Bc>>2]=0;q[Bc+4>>2]=0;a=0;kc=Jc<<2;c:{if(!kc){break c}a=kc>>2;if(a>>>0>=1073741824){break a}Ic=Mm(kc);q[Bc>>2]=Ic;q[Bc+4>>2]=Ic;Lc=(a<<2)+Ic|0;q[Bc+8>>2]=Lc;if((kc|0)<1){a=Ic;break c}a=Cn(Ic,Kc+Mc|0,kc)+kc|0;q[Bc+4>>2]=a}kc=q[lc>>2];if(kc){q[lc+4>>2]=kc;An(kc);q[lc+8>>2]=0;q[lc>>2]=0;q[lc+4>>2]=0}q[lc>>2]=Ic;q[lc+8>>2]=Lc;q[lc+4>>2]=a;a=1;break b}q[Bc+8>>2]=0;q[Bc>>2]=0;q[Bc+4>>2]=0;if(Kc){if((Kc|0)<=-1){break a}a=Kc<<2;Ic=Mm(a);q[Bc>>2]=Ic;Lc=a+Ic|0;q[Bc+8>>2]=Lc;Dn(Ic,0,a);q[Bc+4>>2]=Lc}Ic=q[lc>>2];a=q[lc+4>>2]-Ic>>2;d:{if(Jc>>>0>a>>>0){Fa(lc,Jc-a|0);break d}if(Jc>>>0>=a>>>0){break d}q[lc+4>>2]=Ic+(Jc<<2)}e:{if(!Nc){a=1;break e}Ic=0;Lc=kc+68|0;Oc=(Kc|0)<1;while(1){a=Mc;Jc=kc;if(!r[kc+84|0]){a=q[q[Lc>>2]+(Mc<<2)>>2]}if(!Ra(Jc,a,o[kc+24|0],q[Bc>>2])){a=0;break e}if(!Oc){Jc=q[lc>>2];a=0;Pc=q[Bc>>2];while(1){q[Jc+(Ic<<2)>>2]=q[Pc+(a<<2)>>2];Ic=Ic+1|0;a=a+1|0;if((Kc|0)!=(a|0)){continue}break}}a=1;Mc=Mc+1|0;if((Nc|0)!=(Mc|0)){continue}break}}kc=q[Bc>>2];if(!kc){break b}q[Bc+4>>2]=kc;An(kc)}T=Bc+16|0;return a}bn();F()}function Ra(a,kc,lc,Qc){var Rc=0,Sc=0,Tc=0,Uc=0,Vc=x(0),Wc=0;a:{b:{if(!Qc){break b}Rc=q[a+28>>2]+ -1|0;if(Rc>>>0>10){break b}c:{d:{e:{switch(Rc-1|0){default:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=o[kc|0];kc=kc+1|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 0:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=r[kc|0];kc=kc+1|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 1:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=p[kc>>1];kc=kc+2|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 2:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=s[kc>>1];kc=kc+2|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 3:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=q[kc>>2];kc=kc+4|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 4:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=q[kc>>2];kc=kc+4|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 5:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=q[kc>>2];kc=kc+8|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 6:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=q[kc>>2];kc=kc+8|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 7:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24<1){break c}Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){Rc=(Sc<<2)+Qc|0;Vc=u[kc>>2];f:{if(x(y(Vc))<x(2147483648)){Uc=~~Vc;break f}Uc=-2147483648}q[Rc>>2]=Uc;kc=kc+4|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}break c;case 8:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24<1){break d}Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){Rc=(Sc<<2)+Qc|0;Wc=v[kc>>3];g:{if(y(Wc)<2147483648){Uc=~~Wc;break g}Uc=-2147483648}q[Rc>>2]=Uc;kc=kc+8|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}break d;case 9:break e}}Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=r[kc|0];kc=kc+1|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}Dn((Rc<<2)+Qc|0,0,lc-Rc<<2);break b}if((Rc|0)>=(lc|0)){break b}break a}if((Rc|0)>=(lc|0)){break b}break a}return Tc}Dn((Rc<<2)+Qc|0,0,lc-Rc<<2);return 1}function Sa(a,kc,lc){var Qc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0;Qc=T-16|0;T=Qc;ad=q[a+80>>2];Zc=o[kc+24|0];Yc=w(ad,Zc);a:{a=q[kc+28>>2];b:{if(!(!r[kc+84|0]|((a|0)!=6?(a|0)!=5:0))){$c=q[kc+48>>2];Zc=q[q[kc>>2]>>2];q[Qc+8>>2]=0;q[Qc>>2]=0;q[Qc+4>>2]=0;a=0;kc=Yc<<2;c:{if(!kc){break c}a=kc>>2;if(a>>>0>=1073741824){break a}Xc=Mm(kc);q[Qc>>2]=Xc;q[Qc+4>>2]=Xc;_c=(a<<2)+Xc|0;q[Qc+8>>2]=_c;if((kc|0)<1){a=Xc;break c}a=Cn(Xc,Zc+$c|0,kc)+kc|0;q[Qc+4>>2]=a}kc=q[lc>>2];if(kc){q[lc+4>>2]=kc;An(kc);q[lc+8>>2]=0;q[lc>>2]=0;q[lc+4>>2]=0}q[lc>>2]=Xc;q[lc+8>>2]=_c;q[lc+4>>2]=a;a=1;break b}q[Qc+8>>2]=0;q[Qc>>2]=0;q[Qc+4>>2]=0;if(Zc){if((Zc|0)<=-1){break a}a=Zc<<2;Xc=Mm(a);q[Qc>>2]=Xc;_c=a+Xc|0;q[Qc+8>>2]=_c;Dn(Xc,0,a);q[Qc+4>>2]=_c}Xc=q[lc>>2];a=q[lc+4>>2]-Xc>>2;d:{if(Yc>>>0>a>>>0){Fa(lc,Yc-a|0);break d}if(Yc>>>0>=a>>>0){break d}q[lc+4>>2]=Xc+(Yc<<2)}e:{if(!ad){a=1;break e}Xc=0;_c=kc+68|0;bd=(Zc|0)<1;while(1){a=$c;Yc=kc;if(!r[kc+84|0]){a=q[q[_c>>2]+($c<<2)>>2]}if(!Ta(Yc,a,o[kc+24|0],q[Qc>>2])){a=0;break e}if(!bd){Yc=q[lc>>2];a=0;cd=q[Qc>>2];while(1){q[Yc+(Xc<<2)>>2]=q[cd+(a<<2)>>2];Xc=Xc+1|0;a=a+1|0;if((Zc|0)!=(a|0)){continue}break}}a=1;$c=$c+1|0;if((ad|0)!=($c|0)){continue}break}}kc=q[Qc>>2];if(!kc){break b}q[Qc+4>>2]=kc;An(kc)}T=Qc+16|0;return a}bn();F()}function Ta(a,kc,lc,dd){var ed=0,fd=0,gd=0,hd=0,id=x(0),jd=0;a:{b:{if(!dd){break b}ed=q[a+28>>2]+ -1|0;if(ed>>>0>10){break b}c:{d:{e:{switch(ed-1|0){default:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=o[kc|0];kc=kc+1|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 0:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=r[kc|0];kc=kc+1|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 1:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=p[kc>>1];kc=kc+2|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 2:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=s[kc>>1];kc=kc+2|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 3:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=q[kc>>2];kc=kc+4|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 4:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=q[kc>>2];kc=kc+4|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 5:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=q[kc>>2];kc=kc+8|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 6:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=q[kc>>2];kc=kc+8|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 7:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24<1){break c}ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){ed=(fd<<2)+dd|0;id=u[kc>>2];f:{if(id<x(4294967296)&id>=x(0)){hd=~~id>>>0;break f}hd=0}q[ed>>2]=hd;kc=kc+4|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}break c;case 8:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24<1){break d}ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){ed=(fd<<2)+dd|0;jd=v[kc>>3];g:{if(jd<4294967296&jd>=0){hd=~~jd>>>0;break g}hd=0}q[ed>>2]=hd;kc=kc+8|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}break d;case 9:break e}}gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=r[kc|0];kc=kc+1|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}Dn((ed<<2)+dd|0,0,lc-ed<<2);break b}if((ed|0)>=(lc|0)){break b}break a}if((ed|0)>=(lc|0)){break b}break a}return gd}Dn((ed<<2)+dd|0,0,lc-ed<<2);return 1}function Ua(a,kc,lc,dd,kd){var ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0;md=T-16|0;T=md;lc=lc+ -1|0;a:{if(lc>>>0>8){break a}b:{switch(lc-1|0){default:ld=Va(a,kc,dd,kd);break a;case 1:ld=Wa(a,kc,dd,kd);break a;case 3:ld=Xa(a,kc,dd,kd);break a;case 0:ld=Ya(a,kc,dd,kd);break a;case 2:ld=Za(a,kc,dd,kd);break a;case 4:ld=_a(a,kc,dd,kd);break a;case 5:case 6:break a;case 7:break b}}nd=q[a+80>>2];od=o[kc+24|0];pd=od<<2;if((w(nd,pd)|0)!=(dd|0)){break a}a=0;lc=q[259];q[md+8>>2]=q[258];q[md+12>>2]=lc;lc=q[257];q[md>>2]=q[256];q[md+4>>2]=lc;if(!nd){ld=1;break a}qd=kc+68|0;rd=(od|0)<1;lc=0;while(1){dd=lc;ld=kc;if(!r[kc+84|0]){dd=q[q[qd>>2]+(lc<<2)>>2]}if(!Da(ld,dd,o[kc+24|0],md)){ld=0;break a}if(!rd){Cn((a<<2)+kd|0,md,pd);a=a+od|0}ld=1;lc=lc+1|0;if((nd|0)!=(lc|0)){continue}break}}T=md+16|0;return ld}function Va(a,kc,lc,dd){var kd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0;sd=T-16|0;T=sd;a:{vd=q[a+80>>2];td=o[kc+24|0];b:{if((w(vd,td)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=1)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);kd=1;break b}q[sd+8>>2]=0;q[sd>>2]=0;q[sd+4>>2]=0;if(td){if((td|0)<=-1){break a}kd=Mm(td);q[sd>>2]=kd;q[sd+4>>2]=kd;q[sd+8>>2]=kd+td;lc=td;while(1){o[kd|0]=0;kd=q[sd+4>>2]+1|0;q[sd+4>>2]=kd;lc=lc+ -1|0;if(lc){continue}break}}c:{if(!vd){kd=1;break c}lc=0;wd=kc+68|0;xd=(td|0)<1;while(1){a=ud;kd=kc;if(!r[kd+84|0]){a=q[q[wd>>2]+(ud<<2)>>2]}if(!Ia(kd,a,o[kc+24|0],q[sd>>2])){kd=0;break c}if(!xd){kd=0;a=q[sd>>2];while(1){o[lc+dd|0]=r[a+kd|0];lc=lc+1|0;kd=kd+1|0;if((td|0)!=(kd|0)){continue}break}}kd=1;ud=ud+1|0;if((vd|0)!=(ud|0)){continue}break}}a=q[sd>>2];if(!a){break b}q[sd+4>>2]=a;An(a)}T=sd+16|0;return kd}bn();F()}function Wa(a,kc,lc,dd){var yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0;yd=T-16|0;T=yd;a:{Cd=q[a+80>>2];Ad=o[kc+24|0];a=Ad<<1;b:{if((w(Cd,a)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=3)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);zd=1;break b}lc=0;q[yd+8>>2]=0;q[yd>>2]=0;q[yd+4>>2]=0;if(Ad){if((Ad|0)<=-1){break a}lc=Mm(a);q[yd>>2]=lc;q[yd+8>>2]=(Ad<<1)+lc;Fd=yd,Gd=Dn(lc,0,a)+a|0,q[Fd+4>>2]=Gd}c:{if(!Cd){zd=1;break c}lc=0;Dd=kc+68|0;Ed=(Ad|0)<1;while(1){a=Bd;zd=kc;if(!r[kc+84|0]){a=q[q[Dd>>2]+(Bd<<2)>>2]}d:{if(!Na(zd,a,o[kc+24|0],q[yd>>2])){zd=0;break d}if(!Ed){zd=0;a=q[yd>>2];while(1){p[(lc<<1)+dd>>1]=s[a+(zd<<1)>>1];lc=lc+1|0;zd=zd+1|0;if((Ad|0)!=(zd|0)){continue}break}}zd=1;Bd=Bd+1|0;if((Cd|0)!=(Bd|0)){continue}}break}lc=q[yd>>2]}if(!lc){break b}q[yd+4>>2]=lc;An(lc)}T=yd+16|0;return zd}bn();F()}function Xa(a,kc,lc,dd){var Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0;Hd=T-16|0;T=Hd;a:{Ld=q[a+80>>2];Jd=o[kc+24|0];a=Jd<<2;b:{if((w(Ld,a)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=5)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);Id=1;break b}lc=0;q[Hd+8>>2]=0;q[Hd>>2]=0;q[Hd+4>>2]=0;if(Jd){if((Jd|0)<=-1){break a}lc=Mm(a);q[Hd>>2]=lc;q[Hd+8>>2]=(Jd<<2)+lc;Od=Hd,Pd=Dn(lc,0,a)+a|0,q[Od+4>>2]=Pd}c:{if(!Ld){Id=1;break c}lc=0;Md=kc+68|0;Nd=(Jd|0)<1;while(1){a=Kd;Id=kc;if(!r[kc+84|0]){a=q[q[Md>>2]+(Kd<<2)>>2]}d:{if(!Ra(Id,a,o[kc+24|0],q[Hd>>2])){Id=0;break d}if(!Nd){Id=0;a=q[Hd>>2];while(1){q[(lc<<2)+dd>>2]=q[a+(Id<<2)>>2];lc=lc+1|0;Id=Id+1|0;if((Jd|0)!=(Id|0)){continue}break}}Id=1;Kd=Kd+1|0;if((Ld|0)!=(Kd|0)){continue}}break}lc=q[Hd>>2]}if(!lc){break b}q[Hd+4>>2]=lc;An(lc)}T=Hd+16|0;return Id}bn();F()}function Ya(a,kc,lc,dd){var Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0;Rd=T-16|0;T=Rd;a:{Ud=q[a+80>>2];Sd=o[kc+24|0];b:{if((w(Ud,Sd)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=2)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);Qd=1;break b}q[Rd+8>>2]=0;q[Rd>>2]=0;q[Rd+4>>2]=0;if(Sd){if((Sd|0)<=-1){break a}Qd=Mm(Sd);q[Rd>>2]=Qd;q[Rd+4>>2]=Qd;q[Rd+8>>2]=Qd+Sd;lc=Sd;while(1){o[Qd|0]=0;Qd=q[Rd+4>>2]+1|0;q[Rd+4>>2]=Qd;lc=lc+ -1|0;if(lc){continue}break}}c:{if(!Ud){Qd=1;break c}lc=0;Vd=kc+68|0;Wd=(Sd|0)<1;while(1){a=Td;Qd=kc;if(!r[Qd+84|0]){a=q[q[Vd>>2]+(Td<<2)>>2]}if(!Ka(Qd,a,o[kc+24|0],q[Rd>>2])){Qd=0;break c}if(!Wd){Qd=0;a=q[Rd>>2];while(1){o[lc+dd|0]=r[a+Qd|0];lc=lc+1|0;Qd=Qd+1|0;if((Sd|0)!=(Qd|0)){continue}break}}Qd=1;Td=Td+1|0;if((Ud|0)!=(Td|0)){continue}break}}a=q[Rd>>2];if(!a){break b}q[Rd+4>>2]=a;An(a)}T=Rd+16|0;return Qd}bn();F()}function Za(a,kc,lc,dd){var Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0;Xd=T-16|0;T=Xd;a:{$d=q[a+80>>2];Zd=o[kc+24|0];a=Zd<<1;b:{if((w($d,a)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=4)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);Yd=1;break b}lc=0;q[Xd+8>>2]=0;q[Xd>>2]=0;q[Xd+4>>2]=0;if(Zd){if((Zd|0)<=-1){break a}lc=Mm(a);q[Xd>>2]=lc;q[Xd+8>>2]=(Zd<<1)+lc;ce=Xd,de=Dn(lc,0,a)+a|0,q[ce+4>>2]=de}c:{if(!$d){Yd=1;break c}lc=0;ae=kc+68|0;be=(Zd|0)<1;while(1){a=_d;Yd=kc;if(!r[kc+84|0]){a=q[q[ae>>2]+(_d<<2)>>2]}d:{if(!Pa(Yd,a,o[kc+24|0],q[Xd>>2])){Yd=0;break d}if(!be){Yd=0;a=q[Xd>>2];while(1){p[(lc<<1)+dd>>1]=s[a+(Yd<<1)>>1];lc=lc+1|0;Yd=Yd+1|0;if((Zd|0)!=(Yd|0)){continue}break}}Yd=1;_d=_d+1|0;if(($d|0)!=(_d|0)){continue}}break}lc=q[Xd>>2]}if(!lc){break b}q[Xd+4>>2]=lc;An(lc)}T=Xd+16|0;return Yd}bn();F()}function _a(a,kc,lc,dd){var ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0;ee=T-16|0;T=ee;a:{ie=q[a+80>>2];ge=o[kc+24|0];a=ge<<2;b:{if((w(ie,a)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=6)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);fe=1;break b}lc=0;q[ee+8>>2]=0;q[ee>>2]=0;q[ee+4>>2]=0;if(ge){if((ge|0)<=-1){break a}lc=Mm(a);q[ee>>2]=lc;q[ee+8>>2]=(ge<<2)+lc;le=ee,me=Dn(lc,0,a)+a|0,q[le+4>>2]=me}c:{if(!ie){fe=1;break c}lc=0;je=kc+68|0;ke=(ge|0)<1;while(1){a=he;fe=kc;if(!r[kc+84|0]){a=q[q[je>>2]+(he<<2)>>2]}d:{if(!Ta(fe,a,o[kc+24|0],q[ee>>2])){fe=0;break d}if(!ke){fe=0;a=q[ee>>2];while(1){q[(lc<<2)+dd>>2]=q[a+(fe<<2)>>2];lc=lc+1|0;fe=fe+1|0;if((ge|0)!=(fe|0)){continue}break}}fe=1;he=he+1|0;if((ie|0)!=(he|0)){continue}}break}lc=q[ee>>2]}if(!lc){break b}q[ee+4>>2]=lc;An(lc)}T=ee+16|0;return fe}bn();F()}function $a(a,o){var kc=0,lc=0;kc=q[a+4>>2];if(!kc){return 0}o=q[q[q[a+8>>2]+(o<<2)>>2]+60>>2];if((o|0)<0){return 0}a=q[kc+24>>2];kc=q[kc+28>>2];if((a|0)==(kc|0)){return 0}a:{while(1){lc=q[a>>2];if((o|0)==q[lc+24>>2]){break a}a=a+4|0;if((kc|0)!=(a|0)){continue}break}return 0}return lc}function ab(a){var o=0;o=I(8)|0;q[o>>2]=15856;q[o>>2]=15900;Nm(o+4|0,a);q[o>>2]=15948;J(o|0,15980,1);F()}function bb(a,dd,ne){var oe=0,pe=0,qe=0,re=0,se=0;pe=T-16|0;T=pe;q[a+4>>2]=0;a:{b:{if(!dd){break b}qe=q[a+8>>2];oe=qe<<5;c:{if(oe>>>0>=dd>>>0){q[a+4>>2]=dd;break c}q[pe+8>>2]=0;q[pe>>2]=0;q[pe+4>>2]=0;if((dd|0)<=-1){break a}se=pe;if(oe>>>0<=1073741822){re=dd+31&-32;oe=qe<<6;re=oe>>>0<re>>>0?re:oe}else{re=2147483647}cb(se,re);re=q[a>>2];q[a>>2]=q[pe>>2];q[pe>>2]=re;qe=q[a+4>>2];q[a+4>>2]=dd;q[pe+4>>2]=qe;oe=a+8|0;qe=q[oe>>2];q[oe>>2]=q[pe+8>>2];q[pe+8>>2]=qe;if(!re){break c}An(re)}oe=dd>>>5;qe=oe<<2;a=q[a>>2];if(r[ne|0]){a=Dn(a,255,qe);dd=dd&31;if(!dd){break b}a=a+(oe<<2)|0;q[a>>2]=q[a>>2]|-1>>>32-dd;break b}a=Dn(a,0,qe);dd=dd&31;if(!dd){break b}a=a+(oe<<2)|0;q[a>>2]=q[a>>2]&(-1>>>32-dd^-1)}T=pe+16|0;return}bn();F()}function cb(a,dd){var ne=0,te=0;ne=T-32|0;T=ne;a:{b:{if(q[a+8>>2]<<5>>>0>=dd>>>0){break b}q[ne+24>>2]=0;q[ne+16>>2]=0;q[ne+20>>2]=0;if((dd|0)<=-1){break a}dd=(dd+ -1>>>5)+1|0;te=Mm(dd<<2);q[ne+24>>2]=dd;q[ne+20>>2]=0;q[ne+16>>2]=te;dd=q[a>>2];q[ne+12>>2]=0;q[ne+8>>2]=dd;te=q[a+4>>2];q[ne+4>>2]=te&31;q[ne>>2]=dd+(te>>>3&536870908);db(ne+16|0,ne+8|0,ne);dd=q[a>>2];q[a>>2]=q[ne+16>>2];q[ne+16>>2]=dd;te=q[a+4>>2];q[a+4>>2]=q[ne+20>>2];q[ne+20>>2]=te;a=a+8|0;te=q[a>>2];q[a>>2]=q[ne+24>>2];q[ne+24>>2]=te;if(!dd){break b}An(dd)}T=ne+32|0;return}bn();F()}function db(a,dd,ue){var ve=0,we=0,xe=0,ye=0,ze=0,Ae=0;xe=T-32|0;T=xe;ze=q[ue+4>>2];ve=q[dd+4>>2];Ae=q[ue>>2];ye=q[dd>>2];dd=(ze-ve|0)+(Ae-ye<<3)|0;ue=q[a+4>>2];we=dd+ue|0;q[a+4>>2]=we;a:{if(!(!ue|(we+ -1^ue+ -1)>>>0>31)){a=q[a>>2];break a}a=q[a>>2];if(we>>>0<=32){q[a>>2]=0;break a}q[(we+ -1>>>3&536870908)+a>>2]=0}a=(ue>>>3&536870908)+a|0;ue=ue&31;b:{if((ue|0)==(ve|0)){c:{if((dd|0)<1){break c}d:{if(!ve){ue=0;break d}we=32-ve|0;ue=(dd|0)<(we|0)?dd:we;we=-1<<ve&-1>>>we-ue;q[a>>2]=q[a>>2]&(we^-1)|we&q[ye>>2];dd=dd-ue|0;ve=ue+ve|0;ue=ve&31;a=(ve>>>3&536870908)+a|0;ye=ye+4|0}ve=(dd|0)/32|0;we=ve<<2;a=En(a,ye,we)+we|0;ve=dd-(ve<<5)|0;if((ve|0)<1){ve=ue;break c}dd=-1>>>32-ve;q[a>>2]=q[a>>2]&(dd^-1)|dd&q[we+ye>>2]}q[xe+4>>2]=ve;q[xe>>2]=a;break b}q[xe+28>>2]=ve;q[xe+24>>2]=ye;q[xe+20>>2]=ze;q[xe+16>>2]=Ae;q[xe+12>>2]=ue;q[xe+8>>2]=a;eb(xe,xe+24|0,xe+16|0,xe+8|0)}T=xe+32|0}function eb(a,dd,ue,Be){var Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0;De=q[dd>>2];Ce=q[ue+4>>2]+(q[ue>>2]-De<<3)|0;ue=q[dd+4>>2];Ee=Ce-ue|0;a:{if((Ee|0)<=0){ue=q[Be+4>>2];break a}b:{if(!ue){ue=q[Be+4>>2];break b}Ce=q[Be+4>>2];He=32-Ce|0;Ie=32-ue|0;Fe=(Ee|0)<(Ie|0)?Ee:Ie;Ge=He>>>0<Fe>>>0?He:Fe;Je=q[Be>>2];De=q[De>>2]&(-1<<ue&-1>>>Ie-Fe);q[Je>>2]=q[Je>>2]&(-1<<Ce&-1>>>He-Ge^-1)|(Ce>>>0>ue>>>0?De<<Ce-ue:De>>>ue-Ce);Ce=Ce+Ge|0;ue=Ce&31;q[Be+4>>2]=ue;He=Je+(Ce>>>3&536870908)|0;q[Be>>2]=He;Ce=Fe-Ge|0;if((Ce|0)>=1){q[He>>2]=q[He>>2]&(-1>>>32-Ce^-1)|De>>>Ge+q[dd+4>>2];q[Be+4>>2]=Ce;ue=Ce}Ee=Ee-Fe|0;De=q[dd>>2]+4|0;q[dd>>2]=De}Ge=-1<<ue;Fe=32-ue|0;c:{if((Ee|0)<32){Ce=Ee;break c}He=Ge^-1;while(1){Ce=q[Be>>2];De=q[De>>2];q[Ce>>2]=He&q[Ce>>2]|De<<ue;q[Be>>2]=Ce+4;q[Ce+4>>2]=Ge&q[Ce+4>>2]|De>>>Fe;De=q[dd>>2]+4|0;q[dd>>2]=De;Ie=(Ee|0)>63;Ce=Ee+ -32|0;Ee=Ce;if(Ie){continue}break}}if((Ce|0)<1){break a}dd=q[Be>>2];Ee=(Fe|0)<(Ce|0)?Fe:Ce;Ge=q[dd>>2]&(Ge&-1>>>Fe-Ee^-1);Fe=q[De>>2]&-1>>>32-Ce;q[dd>>2]=Ge|Fe<<ue;De=ue+Ee|0;ue=De&31;q[Be+4>>2]=ue;De=dd+(De>>>3&536870908)|0;q[Be>>2]=De;dd=Ce-Ee|0;if((dd|0)<1){break a}q[De>>2]=q[De>>2]&(-1>>>32-dd^-1)|Fe>>>Ee;q[Be+4>>2]=dd;ue=dd}dd=q[Be>>2];q[a+4>>2]=ue;q[a>>2]=dd}function fb(a){a=a|0;return q[a>>2]}function gb(a){a=a|0;return!q[a>>2]|0}function hb(a){a=a|0;var dd=0;dd=a+4|0;if(o[a+15|0]<=-1){dd=q[dd>>2]}return dd|0}function ib(a){a=a|0;if(a){if(o[a+15|0]<=-1){An(q[a+4>>2])}An(a)}}function jb(){var a=0;a=Mm(12);q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;return a|0}function kb(ue,Be){ue=ue|0;Be=Be|0;return s[q[ue>>2]+(Be<<1)>>1]}function lb(ue){ue=ue|0;return q[ue+4>>2]-q[ue>>2]>>1}function mb(ue){ue=ue|0;var Be=0;if(ue){Be=q[ue>>2];if(Be){q[ue+4>>2]=Be;An(Be)}An(ue)}}function nb(){return al(Mm(84))|0}function ob(ue){ue=ue|0;return q[ue+12>>2]-q[ue+8>>2]>>2}function pb(ue){ue=ue|0;return q[ue+80>>2]}function qb(ue){ue=ue|0;if(ue){n[q[q[ue>>2]+4>>2]](ue)}}function rb(ue,Ke){ue=ue|0;Ke=Ke|0;return r[q[ue>>2]+Ke|0]}function sb(ue){ue=ue|0;return q[ue+4>>2]-q[ue>>2]|0}function tb(ue,Ke){ue=ue|0;Ke=Ke|0;return q[q[ue>>2]+(Ke<<2)>>2]}function ub(ue){ue=ue|0;return q[ue+4>>2]-q[ue>>2]>>2}function vb(){var ue=0;ue=Mm(8);q[ue+4>>2]=-1;q[ue>>2]=1116;return ue|0}function wb(Ke,Le){Ke=Ke|0;Le=Le|0;return n[q[q[Ke>>2]+12>>2]](Ke,Le)|0}function xb(Ke){Ke=Ke|0;return q[Ke+4>>2]}function yb(){return rd(Mm(96))|0}function zb(Ke){Ke=Ke|0;return q[Ke+88>>2]}function Ab(Ke){Ke=Ke|0;return q[Ke+56>>2]}function Bb(Ke){Ke=Ke|0;return q[Ke+28>>2]}function Cb(q){q=q|0;return o[q+24|0]}function Db(q){q=q|0;return r[q+32|0]}function Eb(Ke){Ke=Ke|0;return q[Ke+40>>2]}function Fb(Ke){Ke=Ke|0;return q[Ke+48>>2]}function Gb(Ke){Ke=Ke|0;return q[Ke+60>>2]}function Hb(Ke){Ke=Ke|0;var Le=0,Me=0;if(Ke){Le=Ke+88|0;Me=q[Le>>2];q[Le>>2]=0;if(Me){Le=q[Me+8>>2];if(Le){q[Me+12>>2]=Le;An(Le)}An(Me)}Me=q[Ke+68>>2];if(Me){q[Ke+72>>2]=Me;An(Me)}Le=Ke- -64|0;Me=q[Le>>2];q[Le>>2]=0;if(Me){Le=q[Me>>2];if(Le){q[Me+4>>2]=Le;An(Le)}An(Me)}An(Ke)}}function Ib(){var Ke=0;Ke=Mm(40);q[Ke>>2]=-1;Uj(Ke+8|0);return Ke|0}function Jb(Ne){Ne=Ne|0;var Oe=0;if(Ne){Oe=q[Ne+8>>2];if(Oe){q[Ne+12>>2]=Oe;An(Oe)}An(Ne)}}function Kb(){var Ne=0;Ne=Mm(24);q[Ne+4>>2]=-1;q[Ne>>2]=1232;q[Ne+8>>2]=0;q[Ne+12>>2]=0;q[Ne+16>>2]=0;q[Ne+20>>2]=0;return Ne|0}function Lb(Pe,Qe){Pe=Pe|0;Qe=Qe|0;return x(u[q[Pe+8>>2]+(Qe<<2)>>2])}function Mb(q){q=q|0;return x(u[q+20>>2])}function Nb(Pe,Qe){Pe=Pe|0;Qe=Qe|0;return o[q[Pe>>2]+Qe|0]}function Ob(){var Pe=0;Pe=Mm(28);q[Pe>>2]=0;q[Pe+4>>2]=0;q[Pe+24>>2]=0;q[Pe+16>>2]=0;q[Pe+20>>2]=0;q[Pe+8>>2]=0;q[Pe+12>>2]=0;return Pe|0}function Pb(q,Qe,Re){q=q|0;Qe=Qe|0;Re=Re|0;return fa(Qe,Re)|0}function Qb(q,Qe,Re){q=q|0;Qe=Qe|0;Re=Re|0;return ha(Qe,Re)|0}function Rb(q,Qe,Re,Se){q=q|0;Qe=Qe|0;Re=Re|0;Se=Se|0;ia(Qe,Re,Se)}function Sb(q,Qe,Re){q=q|0;Qe=Qe|0;Re=Re|0;return+ja(Qe,Re)}function Tb(q,Qe,Re){q=q|0;Qe=Qe|0;Re=Re|0;return ka(q,Qe,Re)|0}function Ub(Qe,Re){Qe=Qe|0;Re=Re|0;return q[Re+8>>2]}function Vb(q,Qe,Re){q=q|0;Qe=Qe|0;Re=Re|0;return la(q,Qe,Re)|0}function Wb(Qe){Qe=Qe|0;var Re=0,Se=0,Te=0,Ue=0,Ve=0;if(Qe){if(o[Qe+27|0]<=-1){An(q[Qe+16>>2])}Se=q[Qe>>2];if(Se){Re=Se;Ve=Qe+4|0;Te=q[Ve>>2];Ue=Re;a:{if((Te|0)==(Re|0)){break a}while(1){Re=Te+ -12|0;if(o[Te+ -1|0]<=-1){An(q[Re>>2])}Te=Re;if((Re|0)!=(Se|0)){continue}break}Ue=q[Qe>>2]}Re=Ue;q[Ve>>2]=Se;An(Re)}An(Qe)}}function Xb(Qe,We){Qe=Qe|0;We=We|0;return p[q[Qe>>2]+(We<<1)>>1]}function Yb(Qe,We){Qe=Qe|0;We=We|0;return x(u[q[Qe>>2]+(We<<2)>>2])}function Zb(){return nd(Mm(64))|0}function _b(q){q=q|0;if(q){An(q)}}function $b(){return Yj(Mm(40))|0}function ac(Qe,We,Xe){Qe=Qe|0;We=We|0;Xe=Xe|0;q[Qe+16>>2]=0;q[Qe+20>>2]=0;q[Qe>>2]=We;q[Qe+8>>2]=Xe;q[Qe+12>>2]=0}function bc(){return na(Mm(40))|0}function cc(q,Qe){q=q|0;Qe=Qe|0;return oa(Qe)|0}function dc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return pa(q,Qe,We)|0}function ec(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return qa(q,Qe,We)|0}function fc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return bl(Qe,We)|0}function gc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return ra(Qe,We)|0}function hc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return sa(Qe,We,Xe)|0}function ic(Qe,We,Xe){Qe=Qe|0;We=We|0;Xe=Xe|0;return q[q[We+8>>2]+(Xe<<2)>>2]}function jc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return dl(Qe,We)|0}function kc(Qe,We){Qe=Qe|0;We=We|0;return q[We+4>>2]}function lc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return $a(Qe,We)|0}function mc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return ta(Qe,We,Xe)|0}function nc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return ua(Qe,We)|0}function oc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Aa(Qe,We,Xe)|0}function pc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ba(Qe,We,Xe)|0}function qc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ca(Qe,We,Xe)|0}function rc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ea(Qe,We,Xe)|0}function sc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Qa(Qe,We,Xe)|0}function tc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ga(Qe,We,Xe)|0}function uc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ja(Qe,We,Xe)|0}function vc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return La(Qe,We,Xe)|0}function wc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Oa(Qe,We,Xe)|0}function xc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Sa(Qe,We,Xe)|0}function yc(q,Qe,We,Xe,Ye,Ze){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;Ye=Ye|0;Ze=Ze|0;return Ua(Qe,We,Xe,Ye,Ze)|0}function zc(q,Qe){q=q|0;Qe=Qe|0;kh(q,Qe)}function Ac(Qe){Qe=Qe|0;if(Qe){if(o[Qe+39|0]<=-1){An(q[Qe+28>>2])}Bc(Qe+12|0,q[Qe+16>>2]);Cc(Qe,q[Qe+4>>2]);An(Qe)}}function Bc(Qe,We){if(We){Bc(Qe,q[We>>2]);Bc(Qe,q[We+4>>2]);Cc(We+20|0,q[We+24>>2]);An(We)}}function Cc(Qe,We){if(We){Cc(Qe,q[We>>2]);Cc(Qe,q[We+4>>2]);if(o[We+39|0]<=-1){An(q[We+28>>2])}if(o[We+27|0]<=-1){An(q[We+16>>2])}An(We)}}function Dc(){return vk(Mm(108))|0}function Ec(Qe){Qe=Qe|0;return(q[Qe+100>>2]-q[Qe+96>>2]|0)/12|0}function Fc(){var Qe=0,We=0,Xe=0;We=Mm(24);Xe=We+4|0;Qe=Xe;q[Qe>>2]=0;q[Qe+4>>2]=0;Qe=We+16|0;q[Qe>>2]=0;q[Qe+4>>2]=0;q[We>>2]=Xe;q[We+12>>2]=Qe;return We|0}function Gc(Ye){Ye=Ye|0;if(Ye){Hc(Ye+12|0,q[Ye+16>>2]);Ic(Ye,q[Ye+4>>2]);An(Ye)}}function Hc(Ye,Ze){var _e=0;if(Ze){Hc(Ye,q[Ze>>2]);Hc(Ye,q[Ze+4>>2]);_e=Ze+28|0;Ye=q[_e>>2];q[_e>>2]=0;if(Ye){Hc(Ye+12|0,q[Ye+16>>2]);Ic(Ye,q[Ye+4>>2]);An(Ye)}if(o[Ze+27|0]<=-1){An(q[Ze+16>>2])}An(Ze)}}function Ic(Ye,Ze){if(Ze){Ic(Ye,q[Ze>>2]);Ic(Ye,q[Ze+4>>2]);Ye=q[Ze+28>>2];if(Ye){q[Ze+32>>2]=Ye;An(Ye)}if(o[Ze+27|0]<=-1){An(q[Ze+16>>2])}An(Ze)}}function Jc(){return 0}function Kc(){return-1}function Lc(){return-2}function Mc(){return-3}function Nc(){return-4}function Oc(){return-5}function Pc(){return 1}function Qc(){return 2}function Rc(){return 3}function Sc(){return 4}function Tc(){return 5}function Uc(){return 6}function Vc(){return 7}function Wc(){return 8}function Xc(){return 9}function Yc(){return 10}function Zc(){return 11}function _c(){return 12}function $c(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var $e=0;Ze=q[Ze+88>>2];if(!(!Ze|q[Ze>>2]!=2)){$e=Ye;Ye=q[Ze+8>>2];q[$e+4>>2]=r[Ye|0]|r[Ye+1|0]<<8|(r[Ye+2|0]<<16|r[Ye+3|0]<<24);$e=1}return $e|0}function ad(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var af=0,bf=0;q[Ze>>2]=2;af=q[Ze+8>>2];bf=q[Ze+12>>2]-af|0;if(bf>>>0<=4294967291){Ze=Ze+8|0;Xj(Ze,bf+4|0);af=q[Ze>>2]}Ze=af+bf|0;Ye=r[Ye+4|0]|r[Ye+5|0]<<8|(r[Ye+6|0]<<16|r[Ye+7|0]<<24);o[Ze|0]=Ye;o[Ze+1|0]=Ye>>>8;o[Ze+2|0]=Ye>>>16;o[Ze+3|0]=Ye>>>24}function bd(q){q=q|0;return q|0}function cd(q){q=q|0;An(q)}function dd(q){q=q|0;return 2}function ed(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var cf=0,df=0,ef=0,ff=0,gf=0,hf=0;ef=q[Ze+88>>2];if(!(!ef|q[ef>>2]!=1)){ff=ef+8|0;ef=q[ff>>2];cf=ef;q[Ye+4>>2]=r[cf|0]|r[cf+1|0]<<8|(r[cf+2|0]<<16|r[cf+3|0]<<24);gf=Ye+8|0;hf=q[Ye+8>>2];df=q[Ye+12>>2]-hf>>2;cf=o[Ze+24|0];a:{if(df>>>0<cf>>>0){Fa(gf,cf-df|0);ef=q[ff>>2];cf=r[Ze+24|0];break a}if(df>>>0<=cf>>>0){break a}q[Ye+12>>2]=hf+(cf<<2)}ff=1;Ze=ef;df=r[Ze+4|0]|r[Ze+5|0]<<8|(r[Ze+6|0]<<16|r[Ze+7|0]<<24);if(cf<<24>>24>=1){hf=cf&255;gf=q[gf>>2];Ze=0;cf=4;while(1){q[gf+(Ze<<2)>>2]=df;cf=cf+4|0;df=ef+cf|0;df=r[df|0]|r[df+1|0]<<8|(r[df+2|0]<<16|r[df+3|0]<<24);Ze=Ze+1|0;if(Ze>>>0<hf>>>0){continue}break}}q[Ye+20>>2]=df}return ff|0}function fd(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var jf=0,kf=0,lf=0,mf=0,nf=0,of=0;q[Ze>>2]=1;mf=Ze+8|0;jf=q[Ze+8>>2];kf=q[Ze+12>>2]-jf|0;if(kf>>>0<=4294967291){Xj(mf,kf+4|0);jf=q[mf>>2]}kf=jf+kf|0;jf=r[Ye+4|0]|r[Ye+5|0]<<8|(r[Ye+6|0]<<16|r[Ye+7|0]<<24);o[kf|0]=jf;o[kf+1|0]=jf>>>8;o[kf+2|0]=jf>>>16;o[kf+3|0]=jf>>>24;jf=q[Ye+8>>2];if((jf|0)!=q[Ye+12>>2]){of=Ze+12|0;while(1){kf=(nf<<2)+jf|0;jf=q[Ze+8>>2];lf=q[of>>2]-jf|0;if(lf>>>0<=4294967291){Xj(mf,lf+4|0);jf=q[mf>>2]}lf=jf+lf|0;jf=r[kf|0]|r[kf+1|0]<<8|(r[kf+2|0]<<16|r[kf+3|0]<<24);o[lf|0]=jf;o[lf+1|0]=jf>>>8;o[lf+2|0]=jf>>>16;o[lf+3|0]=jf>>>24;nf=nf+1|0;jf=q[Ye+8>>2];if(nf>>>0<q[Ye+12>>2]-jf>>2>>>0){continue}break}}jf=q[Ze+12>>2];Ze=q[Ze+8>>2];jf=jf-Ze|0;if(jf>>>0<=4294967291){Xj(mf,jf+4|0);Ze=q[mf>>2]}Ze=Ze+jf|0;Ye=r[Ye+20|0]|r[Ye+21|0]<<8|(r[Ye+22|0]<<16|r[Ye+23|0]<<24);o[Ze|0]=Ye;o[Ze+1|0]=Ye>>>8;o[Ze+2|0]=Ye>>>16;o[Ze+3|0]=Ye>>>24}function gd(Ye,Ze,pf,qf,rf){q[Ye+4>>2]=Ze;hd(Ye+8|0,pf,(qf<<2)+pf|0);u[Ye+20>>2]=rf}function hd(Ye,Ze,pf){var qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0;a:{tf=pf-Ze|0;sf=tf>>2;qf=q[Ye+8>>2];rf=q[Ye>>2];b:{if(sf>>>0<=qf-rf>>2>>>0){qf=q[Ye+4>>2]-rf|0;tf=qf>>2;qf=sf>>>0>tf>>>0?Ze+qf|0:pf;uf=qf-Ze|0;if(uf){En(rf,Ze,uf)}if(sf>>>0>tf>>>0){Ze=pf-qf|0;if((Ze|0)<1){break b}Ye=Ye+4|0;Cn(q[Ye>>2],qf,Ze);q[Ye>>2]=Ze+q[Ye>>2];return}q[Ye+4>>2]=rf+(uf>>2<<2);return}if(rf){q[Ye+4>>2]=rf;An(rf);q[Ye+8>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;qf=0}if(sf>>>0>=1073741824){break a}pf=qf>>1;pf=qf>>2>>>0<536870911?pf>>>0<sf>>>0?sf:pf:1073741823;if(pf>>>0>=1073741824){break a}rf=pf<<2;pf=Mm(rf);q[Ye>>2]=pf;sf=Ye+4|0;q[sf>>2]=pf;q[Ye+8>>2]=pf+rf;if((tf|0)<1){break b}vf=sf,wf=Cn(pf,Ze,tf)+tf|0,q[vf>>2]=wf}return}bn();F()}function id(Ye){Ye=Ye|0;var Ze=0;q[Ye>>2]=1232;Ze=q[Ye+8>>2];if(Ze){q[Ye+12>>2]=Ze;An(Ze)}return Ye|0}function jd(Ye){Ye=Ye|0;var pf=0;q[Ye>>2]=1232;pf=q[Ye+8>>2];if(pf){q[Ye+12>>2]=pf;An(pf)}An(Ye)}function kd(q){q=q|0;return 1}function ld(Ye,xf){var yf=0;yf=Mm(40);q[yf>>2]=-1;Uj(yf+8|0);n[q[q[Ye>>2]+16>>2]](Ye,yf);Ye=q[xf+88>>2];q[xf+88>>2]=yf;if(Ye){xf=q[Ye+8>>2];if(xf){q[Ye+12>>2]=xf;An(xf)}An(Ye)}return 1}function md(Ye,xf,zf){var Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0;Cf=q[Ye+8>>2];Af=q[Ye+4>>2];if(Cf-Af>>2>>>0>=xf>>>0){while(1){q[Af>>2]=q[zf>>2];Af=Af+4|0;xf=xf+ -1|0;if(xf){continue}break}q[Ye+4>>2]=Af;return}a:{Df=q[Ye>>2];Ef=Af-Df|0;Ff=Ef>>2;Af=Ff+xf|0;if(Af>>>0<1073741824){Cf=Cf-Df|0;Bf=Cf>>1;Af=Cf>>2>>>0<536870911?Bf>>>0<Af>>>0?Af:Bf:1073741823;Bf=0;b:{if(!Af){break b}if(Af>>>0>=1073741824){break a}Bf=Mm(Af<<2)}Cf=Bf+(Af<<2)|0;Af=Bf+(Ff<<2)|0;while(1){q[Af>>2]=q[zf>>2];Af=Af+4|0;xf=xf+ -1|0;if(xf){continue}break}if((Ef|0)>=1){Cn(Bf,Df,Ef)}q[Ye>>2]=Bf;q[Ye+8>>2]=Cf;q[Ye+4>>2]=Af;if(Df){An(Df)}return}bn();F()}ab(1308);F()}function nd(Ye){q[Ye+8>>2]=0;q[Ye+12>>2]=0;q[Ye>>2]=0;q[Ye+40>>2]=0;q[Ye+44>>2]=0;q[Ye+28>>2]=9;o[Ye+24|0]=1;q[Ye+56>>2]=-1;q[Ye+60>>2]=0;q[Ye+16>>2]=0;q[Ye+20>>2]=0;q[Ye+48>>2]=0;q[Ye+52>>2]=0;return Ye}function od(Ye,xf,zf,Gf,Hf,If,Jf){q[Ye>>2]=0;q[Ye+56>>2]=xf;q[Ye+48>>2]=0;q[Ye+52>>2]=0;q[Ye+40>>2]=If;q[Ye+44>>2]=Jf;o[Ye+32|0]=Hf;q[Ye+28>>2]=Gf;o[Ye+24|0]=zf}function pd(Ye,xf){var zf=0,Gf=0,Hf=0;Gf=q[Ye>>2];a:{if(!Gf){break a}zf=q[xf>>2];if(!zf){break a}Hf=Gf;Gf=q[zf>>2];Vj(Hf,Gf,q[zf+4>>2]-Gf|0,0);o[Ye+24|0]=r[xf+24|0];q[Ye+28>>2]=q[xf+28>>2];o[Ye+32|0]=r[xf+32|0];zf=q[xf+44>>2];q[Ye+40>>2]=q[xf+40>>2];q[Ye+44>>2]=zf;zf=q[xf+52>>2];q[Ye+48>>2]=q[xf+48>>2];q[Ye+52>>2]=zf;q[Ye+56>>2]=q[xf+56>>2];zf=q[xf+12>>2];q[Ye+8>>2]=q[xf+8>>2];q[Ye+12>>2]=zf;zf=q[xf+20>>2];q[Ye+16>>2]=q[xf+16>>2];q[Ye+20>>2]=zf;q[Ye+60>>2]=q[xf+60>>2];Hf=1}return Hf}function qd(Ye,xf,If,Jf){var Kf=0;q[Ye>>2]=xf;Kf=q[xf+20>>2];q[Ye+8>>2]=q[xf+16>>2];q[Ye+12>>2]=Kf;Kf=q[xf+24>>2];xf=q[xf+28>>2];q[Ye+48>>2]=0;q[Ye+52>>2]=0;q[Ye+40>>2]=If;q[Ye+44>>2]=Jf;q[Ye+16>>2]=Kf;q[Ye+20>>2]=xf}function rd(Ye){nd(Ye);q[Ye+64>>2]=0;q[Ye+68>>2]=0;q[Ye+88>>2]=0;q[Ye+72>>2]=0;q[Ye+76>>2]=0;o[Ye+77|0]=0;o[Ye+78|0]=0;o[Ye+79|0]=0;o[Ye+80|0]=0;o[Ye+81|0]=0;o[Ye+82|0]=0;o[Ye+83|0]=0;o[Ye+84|0]=0;return Ye}function sd(Ye,xf){var If=0;If=q[xf+4>>2];q[Ye>>2]=q[xf>>2];q[Ye+4>>2]=If;If=q[xf+60>>2];q[Ye+56>>2]=q[xf+56>>2];q[Ye+60>>2]=If;If=q[xf+52>>2];q[Ye+48>>2]=q[xf+48>>2];q[Ye+52>>2]=If;If=q[xf+44>>2];q[Ye+40>>2]=q[xf+40>>2];q[Ye+44>>2]=If;If=q[xf+36>>2];q[Ye+32>>2]=q[xf+32>>2];q[Ye+36>>2]=If;If=q[xf+28>>2];q[Ye+24>>2]=q[xf+24>>2];q[Ye+28>>2]=If;If=q[xf+20>>2];q[Ye+16>>2]=q[xf+16>>2];q[Ye+20>>2]=If;If=q[xf+12>>2];q[Ye+8>>2]=q[xf+8>>2];q[Ye+12>>2]=If;q[Ye+88>>2]=0;q[Ye+64>>2]=0;q[Ye+68>>2]=0;q[Ye+72>>2]=0;q[Ye+76>>2]=0;o[Ye+77|0]=0;o[Ye+78|0]=0;o[Ye+79|0]=0;o[Ye+80|0]=0;o[Ye+81|0]=0;o[Ye+82|0]=0;o[Ye+83|0]=0;o[Ye+84|0]=0}function td(Ye,xf){var Jf=0,Lf=0;a:{if(q[Ye+64>>2]){break a}Lf=Mm(32);Uj(Lf);Jf=q[Ye+64>>2];q[Ye+64>>2]=Lf;if(!Jf){break a}Lf=q[Jf>>2];if(Lf){q[Jf+4>>2]=Lf;An(Lf)}An(Jf)}Jf=bk(q[Ye+28>>2]);Jf=w(Jf,o[Ye+24|0]);Lf=Jf;Jf=Jf>>31;if(Vj(q[Ye+64>>2],0,$n(Lf,Jf,xf,0),V)){qd(Ye,q[Ye+64>>2],Lf,Jf);q[Ye+80>>2]=xf;Ye=1}else{Ye=0}return Ye}function ud(Ye,xf){var Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0;if(!q[Ye- -64>>2]){Mf=Mm(32);Uj(Mf);Of=q[Ye+64>>2];q[Ye+64>>2]=Mf;Nf=Ye;if(Of){Mf=q[Of>>2];if(Mf){q[Of+4>>2]=Mf;An(Mf)}An(Of);Mf=q[Ye+64>>2]}qd(Nf,Mf,0,0)}a:{b:{if(!pd(Ye,xf)){break b}o[Ye+84|0]=r[xf+84|0];q[Ye+80>>2]=q[xf+80>>2];if((Ye|0)!=(xf|0)){vd(Ye+68|0,q[xf+68>>2],q[xf+72>>2])}Mf=q[xf+88>>2];if(Mf){xf=Mm(40);Nf=q[Mf>>2];q[xf+16>>2]=0;q[xf+8>>2]=0;q[xf+12>>2]=0;q[xf>>2]=Nf;Nf=q[Mf+12>>2]-q[Mf+8>>2]|0;c:{if(!Nf){break c}if((Nf|0)<=-1){break a}Of=Mm(Nf);q[xf+8>>2]=Of;Pf=xf+12|0;q[Pf>>2]=Of;q[xf+16>>2]=Nf+Of;Qf=q[Mf+8>>2];Nf=q[Mf+12>>2]-Qf|0;if((Nf|0)<1){break c}Rf=Pf,Sf=Cn(Of,Qf,Nf)+Nf|0,q[Rf>>2]=Sf}Nf=q[Mf+36>>2];q[xf+32>>2]=q[Mf+32>>2];q[xf+36>>2]=Nf;Nf=q[Mf+28>>2];q[xf+24>>2]=q[Mf+24>>2];q[xf+28>>2]=Nf;Mf=q[Ye+88>>2];q[Ye+88>>2]=xf;if(!Mf){break b}Ye=q[Mf+8>>2];if(Ye){q[Mf+12>>2]=Ye;An(Ye)}An(Mf);return}xf=Ye+88|0;Ye=q[xf>>2];q[xf>>2]=0;if(!Ye){break b}xf=q[Ye+8>>2];if(xf){q[Ye+12>>2]=xf;An(xf)}An(Ye)}return}bn();F()}function vd(Ye,xf,Tf){var Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0;a:{Uf=Tf-xf|0;Wf=Uf>>2;Xf=q[Ye+8>>2];Vf=q[Ye>>2];b:{if(Wf>>>0<=Xf-Vf>>2>>>0){Yf=q[Ye+4>>2];Uf=Yf-Vf|0;Xf=Uf>>2;Uf=Wf>>>0>Xf>>>0?xf+Uf|0:Tf;if((Uf|0)!=(xf|0)){while(1){q[Vf>>2]=q[xf>>2];Vf=Vf+4|0;xf=xf+4|0;if((Uf|0)!=(xf|0)){continue}break}}if(Wf>>>0>Xf>>>0){xf=Tf-Uf|0;if((xf|0)<1){break b}Cn(Yf,Uf,xf);Ye=Ye+4|0;q[Ye>>2]=xf+q[Ye>>2];return}q[Ye+4>>2]=Vf;return}if(Vf){q[Ye+4>>2]=Vf;An(Vf);q[Ye+8>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;Xf=0}if(Wf>>>0>=1073741824){break a}Tf=Xf>>1;Tf=Xf>>2>>>0<536870911?Tf>>>0<Wf>>>0?Wf:Tf:1073741823;if(Tf>>>0>=1073741824){break a}Vf=Tf<<2;Tf=Mm(Vf);q[Ye>>2]=Tf;Wf=Ye+4|0;q[Wf>>2]=Tf;q[Ye+8>>2]=Tf+Vf;if((Uf|0)<1){break b}Zf=Wf,_f=Cn(Tf,xf,Uf)+Uf|0,q[Zf>>2]=_f}return}bn();F()}function wd(Ye){q[Ye>>2]=1384;q[Ye+4>>2]=0;q[Ye+8>>2]=0;q[Ye+12>>2]=0;q[Ye+16>>2]=0;q[Ye+20>>2]=0;q[Ye+24>>2]=0;q[Ye+28>>2]=0;q[Ye+32>>2]=0}function xd(Ye,xf,Tf){Ye=Ye|0;xf=xf|0;Tf=Tf|0;q[Ye+32>>2]=Tf;q[Ye+28>>2]=xf;return 1}function yd(Ye,xf){Ye=Ye|0;xf=xf|0;var Tf=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0;cg=T-96|0;T=cg;a:{b:{if(r[q[Ye+28>>2]+36|0]<=1){eg=q[xf+12>>2];Tf=q[xf+20>>2];bg=q[xf+16>>2];$f=bg+4|0;if($f>>>0<4){Tf=Tf+1|0}dg=$f;$f=Tf;if((eg|0)<(Tf|0)?1:(eg|0)<=(Tf|0)?t[xf+8>>2]>=dg>>>0?0:1:0){break a}Tf=bg+q[xf>>2]|0;eg=r[Tf|0]|r[Tf+1|0]<<8|(r[Tf+2|0]<<16|r[Tf+3|0]<<24);q[cg+92>>2]=eg;q[xf+16>>2]=dg;q[xf+20>>2]=$f;break b}if(!zd(1,cg+92|0,xf)){break a}eg=q[cg+92>>2]}if(!eg){break a}$f=q[Ye+4>>2];Tf=q[Ye+8>>2]-$f>>2;c:{if(eg>>>0>Tf>>>0){Fa(Ye+4|0,eg-Tf|0);break c}if(eg>>>0>=Tf>>>0){break c}q[Ye+8>>2]=$f+(eg<<2)}lg=Ye+16|0;mg=q[Ye+32>>2];ng=Ye+20|0;while(1){gg=q[xf+8>>2];dg=q[xf+16>>2];bg=q[xf+12>>2];$f=bg;Tf=q[xf+20>>2];if(($f|0)<(Tf|0)?1:($f|0)<=(Tf|0)?gg>>>0>dg>>>0?0:1:0){ag=0;break a}ig=q[xf>>2];og=r[ig+dg|0];$f=Tf;fg=dg+1|0;if(fg>>>0<1){$f=$f+1|0}ag=xf;q[xf+16>>2]=fg;q[xf+20>>2]=$f;if((bg|0)<($f|0)?1:(bg|0)<=($f|0)?gg>>>0>fg>>>0?0:1:0){ag=0;break a}fg=r[fg+ig|0];$f=Tf;hg=dg+2|0;if(hg>>>0<2){$f=$f+1|0}q[xf+16>>2]=hg;q[ag+20>>2]=$f;if((bg|0)<($f|0)?1:(bg|0)<=($f|0)?gg>>>0>hg>>>0?0:1:0){ag=0;break a}hg=r[hg+ig|0];$f=Tf;jg=dg+3|0;if(jg>>>0<3){$f=$f+1|0}q[xf+16>>2]=jg;q[ag+20>>2]=$f;if((bg|0)<($f|0)?1:(bg|0)<=($f|0)?gg>>>0>jg>>>0?0:1:0){ag=0;break a}bg=r[jg+ig|0];$f=Tf;Tf=dg+4|0;if(Tf>>>0<4){$f=$f+1|0}q[xf+16>>2]=Tf;q[ag+20>>2]=$f;if(og>>>0>4){ag=0;break a}if((fg+ -1&255)>>>0>10){ag=0;break a}dg=nd(cg+24|0);Tf=w(bk(fg),hg);od(dg,og,hg<<24>>24,fg,(bg|0)!=0,Tf,Tf>>31);d:{Tf=s[q[Ye+28>>2]+36>>1];e:{if((Tf<<24|Tf<<8&16711680)>>>16>>>0<=258){ag=q[xf+12>>2];$f=q[xf+20>>2];bg=q[xf+16>>2];Tf=bg+2|0;if(Tf>>>0<2){$f=$f+1|0}gg=Tf;Tf=$f;if((ag|0)<(Tf|0)?1:(ag|0)<=(Tf|0)?t[xf+8>>2]>=gg>>>0?0:1:0){break d}$f=bg+q[xf>>2]|0;$f=r[$f|0]|r[$f+1|0]<<8;q[xf+16>>2]=gg;q[xf+20>>2]=Tf;q[cg+20>>2]=$f;break e}zd(1,cg+20|0,xf);$f=q[cg+20>>2]}q[cg+84>>2]=$f;Tf=Mm(96);sd(Tf,dg);q[cg+16>>2]=Tf;Tf=fl(mg,cg+16|0);ag=q[cg+16>>2];q[cg+16>>2]=0;if(ag){Hb(ag)}bg=Tf<<2;q[q[bg+q[mg+8>>2]>>2]+60>>2]=$f;q[q[Ye+4>>2]+(kg<<2)>>2]=Tf;$f=q[Ye+16>>2];ag=q[ng>>2]-$f>>2;f:{if((Tf|0)<(ag|0)){break f}q[cg+12>>2]=-1;Tf=Tf+1|0;if(Tf>>>0>ag>>>0){Ad(lg,Tf-ag|0,cg+12|0);$f=q[lg>>2];break f}if(Tf>>>0>=ag>>>0){break f}q[ng>>2]=(Tf<<2)+$f}q[$f+bg>>2]=kg;ag=1;kg=kg+1|0;if((kg|0)!=(eg|0)){continue}break a}break}ag=0}T=cg+96|0;return ag|0}function zd(Ye,xf,pg){var qg=0,rg=0,sg=0,tg=0;a:{if(Ye>>>0>5){break a}sg=q[pg+16>>2];qg=q[pg+12>>2];rg=q[pg+20>>2];if((qg|0)<(rg|0)?1:(qg|0)<=(rg|0)?t[pg+8>>2]>sg>>>0?0:1:0){break a}qg=r[sg+q[pg>>2]|0];sg=sg+1|0;if(sg>>>0<1){rg=rg+1|0}q[pg+16>>2]=sg;q[pg+20>>2]=rg;rg=xf;if(qg&128){if(!zd(Ye+1|0,xf,pg)){break a}Ye=q[xf>>2]<<7;q[xf>>2]=Ye;qg=Ye|qg&127}q[rg>>2]=qg;tg=1}return tg}function Ad(Ye,xf,pg){var ug=0,vg=0,wg=0,xg=0,yg=0,zg=0;wg=q[Ye+8>>2];ug=q[Ye+4>>2];if(wg-ug>>2>>>0>=xf>>>0){while(1){q[ug>>2]=q[pg>>2];ug=ug+4|0;xf=xf+ -1|0;if(xf){continue}break}q[Ye+4>>2]=ug;return}a:{xg=q[Ye>>2];yg=ug-xg|0;zg=yg>>2;ug=zg+xf|0;if(ug>>>0<1073741824){wg=wg-xg|0;vg=wg>>1;ug=wg>>2>>>0<536870911?vg>>>0<ug>>>0?ug:vg:1073741823;vg=0;b:{if(!ug){break b}if(ug>>>0>=1073741824){break a}vg=Mm(ug<<2)}wg=vg+(ug<<2)|0;ug=vg+(zg<<2)|0;while(1){q[ug>>2]=q[pg>>2];ug=ug+4|0;xf=xf+ -1|0;if(xf){continue}break}if((yg|0)>=1){Cn(vg,xg,yg)}q[Ye>>2]=vg;q[Ye+8>>2]=wg;q[Ye+4>>2]=ug;if(xg){An(xg)}return}bn();F()}ab(1520);F()}function Bd(Ye){Ye=Ye|0;var xf=0;q[Ye>>2]=1384;xf=q[Ye+16>>2];if(xf){q[Ye+20>>2]=xf;An(xf)}xf=q[Ye+4>>2];if(xf){q[Ye+8>>2]=xf;An(xf)}return Ye|0}function Cd(q){q=q|0;F()}function Dd(Ye,pg){Ye=Ye|0;pg=pg|0;var Ag=0;a:{if(!n[q[q[Ye>>2]+36>>2]](Ye,pg)){break a}if(!n[q[q[Ye>>2]+40>>2]](Ye,pg)){break a}Ag=n[q[q[Ye>>2]+44>>2]](Ye)|0}return Ag|0}function Ed(Ye,pg){Ye=Ye|0;pg=pg|0;return q[q[Ye+4>>2]+(pg<<2)>>2]}function Fd(Ye){Ye=Ye|0;return q[Ye+8>>2]-q[Ye+4>>2]>>2}function Gd(q,Ye){q=q|0;Ye=Ye|0;return 0}function Hd(q,Ye){q=q|0;Ye=Ye|0;return 1}function Id(Ye){wd(Ye);q[Ye+36>>2]=0;q[Ye+40>>2]=0;q[Ye>>2]=1596;q[Ye+44>>2]=0;q[Ye+48>>2]=0;q[Ye+52>>2]=0;q[Ye+56>>2]=0;q[Ye+60>>2]=0;q[Ye+64>>2]=0;q[Ye+68>>2]=0}function Jd(Ye,pg){Ye=Ye|0;pg=pg|0;var Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0;Cg=T-704|0;T=Cg;Dg=1;a:{b:{if(s[pg+38>>1]<515){break b}Dg=0;Eg=q[pg+16>>2];Hg=q[pg+12>>2];Bg=q[pg+20>>2];if((Hg|0)<(Bg|0)?1:(Hg|0)<=(Bg|0)?t[pg+8>>2]>Eg>>>0?0:1:0){break b}Jg=r[Eg+q[pg>>2]|0];Eg=Eg+1|0;if(Eg>>>0<1){Bg=Bg+1|0}q[pg+16>>2]=Eg;q[pg+20>>2]=Bg;Kg=q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+80>>2];Bg=n[q[q[Ye>>2]+24>>2]](Ye)|0;q[Cg+696>>2]=0;q[Cg+688>>2]=0;q[Cg+692>>2]=0;if(Bg){if(Bg>>>0>=214748365){break a}Eg=w(Bg,20);Dg=Mm(Eg);q[Cg+688>>2]=Dg;q[Cg+692>>2]=Dg;q[Cg+696>>2]=Dg+Eg;Dn(Dg,0,Eg);while(1){Dg=Dg+20|0;Bg=Bg+ -1|0;if(Bg){continue}break}q[Cg+692>>2]=Dg}Ng=Ye+48|0;Og=Ye+60|0;Pg=Ye+56|0;Lg=Ye+52|0;Qg=Ye+68|0;Hg=Ye- -64|0;c:{while(1){if((Ig|0)<(n[q[q[Ye>>2]+24>>2]](Ye)|0)){Bg=n[q[q[Ye>>2]+20>>2]](Ye,Ig)|0;Eg=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(Bg<<2)>>2];td(Eg,Kg);o[Eg+84|0]=1;q[Eg+72>>2]=q[Eg+68>>2];Dg=0;Bg=q[Eg+28>>2];if(Bg>>>0>9){break c}d:{e:{f:{Fg=1<<Bg;if(!(Fg&42)){if(Fg&84){break d}if((Bg|0)!=9){break c}Bg=o[Eg+24|0];Dg=nd(Cg);Fg=q[Eg+56>>2];Eg=Bg;Bg=w(bk(6),Bg);od(Dg,Fg,Eg,6,0,Bg,Bg>>31);Bg=Mm(96);sd(Bg,Dg);q[Cg+656>>2]=Bg;o[Bg+84|0]=1;q[Bg+72>>2]=q[Bg+68>>2];td(Bg,Kg);Bg=q[Hg>>2];if(Bg>>>0>=t[Qg>>2]){break f}Dg=q[Cg+656>>2];q[Cg+656>>2]=0;q[Bg>>2]=Dg;Bg=Bg+4|0;q[Hg>>2]=Bg;break e}Bg=0;Fg=Eg+24|0;if(o[Fg|0]<=0){break d}while(1){q[Cg>>2]=0;Dg=q[Lg>>2];g:{if(Dg>>>0<t[Pg>>2]){q[Dg>>2]=0;q[Lg>>2]=Dg+4;break g}ya(Ng,Cg)}Bg=Bg+1|0;if((Bg|0)<o[Fg|0]){continue}break}break d}Kd(Og,Cg+656|0);Bg=q[Hg>>2]}Eg=q[Bg+ -4>>2];Bg=q[Cg+656>>2];q[Cg+656>>2]=0;if(!Bg){break d}Hb(Bg)}Fg=q[Eg+28>>2];Dg=bk(Fg);Bg=q[Cg+688>>2]+w(Ig,20)|0;Mg=o[Eg+24|0];q[Bg+16>>2]=Mg;q[Bg+12>>2]=(Dg|0)>0?Dg:0;q[Bg+8>>2]=Fg;q[Bg+4>>2]=Gg;q[Bg>>2]=Eg;Ig=Ig+1|0;Gg=Gg+Mg|0;continue}break}Dg=0;Ye=Ld(Cg+656|0,Cg+688|0);h:{if(Jg>>>0>6){break h}i:{j:{switch(Jg-1|0){default:Bg=Od(Cg,Gg);pg=Md(Bg,pg,Ye);Nd(Bg);if(pg){break i}break h;case 0:Bg=Od(Cg,Gg);pg=Pd(Bg,pg,Ye);Nd(Bg);if(pg){break i}break h;case 1:Bg=Sd(Cg,Gg);pg=Qd(Bg,pg,Ye);Rd(Bg);if(pg){break i}break h;case 2:Bg=Sd(Cg,Gg);pg=Td(Bg,pg,Ye);Rd(Bg);if(pg){break i}break h;case 3:Bg=Wd(Cg,Gg);pg=Ud(Bg,pg,Ye);Vd(Bg);if(pg){break i}break h;case 4:Bg=Wd(Cg,Gg);pg=Xd(Bg,pg,Ye);Vd(Bg);if(pg){break i}break h;case 5:break j}}Bg=Wd(Cg,Gg);pg=Yd(Bg,pg,Ye);Vd(Bg);if(!pg){break h}}Dg=1}pg=q[Ye+16>>2];if(pg){q[Ye+20>>2]=pg;An(pg)}pg=q[Ye>>2];if(!pg){break c}q[Ye+4>>2]=pg;An(pg)}Ye=q[Cg+688>>2];if(!Ye){break b}q[Cg+692>>2]=Ye;An(Ye)}T=Cg+704|0;return Dg|0}bn();F()}function Kd(Ye,pg){var Rg=0,Sg=0,Tg=0,Ug=0,Vg=0;a:{b:{c:{Tg=q[Ye>>2];Ug=q[Ye+4>>2]-Tg>>2;Rg=Ug+1|0;if(Rg>>>0<1073741824){Tg=q[Ye+8>>2]-Tg|0;Vg=Tg>>1;Rg=Tg>>2>>>0<536870911?Vg>>>0<Rg>>>0?Rg:Vg:1073741823;if(Rg){if(Rg>>>0>=1073741824){break c}Sg=Mm(Rg<<2)}Tg=q[pg>>2];q[pg>>2]=0;pg=(Ug<<2)+Sg|0;q[pg>>2]=Tg;Tg=(Rg<<2)+Sg|0;Ug=pg+4|0;Rg=q[Ye+4>>2];Sg=q[Ye>>2];if((Rg|0)==(Sg|0)){break b}while(1){Rg=Rg+ -4|0;Vg=q[Rg>>2];q[Rg>>2]=0;pg=pg+ -4|0;q[pg>>2]=Vg;if((Rg|0)!=(Sg|0)){continue}break}Sg=q[Ye+4>>2];Rg=q[Ye>>2];break a}bn();F()}ab(1780);F()}Rg=Sg}q[Ye>>2]=pg;q[Ye+8>>2]=Tg;q[Ye+4>>2]=Ug;if((Rg|0)!=(Sg|0)){while(1){Sg=Sg+ -4|0;Ye=q[Sg>>2];q[Sg>>2]=0;if(Ye){Hb(Ye)}if((Rg|0)!=(Sg|0)){continue}break}}if(Rg){An(Rg)}}function Ld(Ye,pg){var Wg=0,Xg=0,Yg=0,Zg=0,_g=0;q[Ye+16>>2]=0;q[Ye+20>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;q[Ye+24>>2]=0;q[Ye+8>>2]=0;Wg=q[pg+4>>2]-q[pg>>2]|0;Yg=(Wg|0)/20|0;a:{b:{if(Wg){if(Yg>>>0>=214748365){break a}Wg=Mm(Wg);q[Ye+16>>2]=Wg;Xg=Ye+20|0;q[Xg>>2]=Wg;q[Ye+24>>2]=Wg+w(Yg,20);Yg=q[pg>>2];pg=q[pg+4>>2]-Yg|0;if((pg|0)>0){break b}}q[Ye+28>>2]=0;q[Ye+12>>2]=0;return Ye}Yg=Cn(Wg,Yg,pg);q[Ye+28>>2]=0;_g=Xg;Xg=w((pg>>>0)/20|0,20);Wg=Xg+Yg|0;q[_g>>2]=Wg;pg=0;_g=Ye;if(Xg){Wg=(Wg-Yg|0)/20|0;Xg=0;while(1){Zg=w(Xg,20)+Yg|0;Zg=w(q[Zg+16>>2],q[Zg+12>>2]);pg=pg>>>0<Zg>>>0?Zg:pg;Xg=Xg+1|0;if(Xg>>>0<Wg>>>0){continue}break}if(!pg){q[Ye+12>>2]=0;return Ye}Ha(Ye,pg);pg=q[Ye>>2]}else{pg=0}q[_g+12>>2]=pg;return Ye}bn();F()}function Md(Ye,pg,ah){var bh=0,ch=0,dh=0,eh=0,fh=0,gh=0;ch=q[pg+12>>2];a:{dh=q[pg+20>>2];eh=q[pg+16>>2];bh=eh+4|0;if(bh>>>0<4){dh=dh+1|0}if((ch|0)<(dh|0)?1:(ch|0)<=(dh|0)?t[pg+8>>2]>=bh>>>0?0:1:0){break a}bh=eh+q[pg>>2]|0;bh=r[bh|0]|r[bh+1|0]<<8|(r[bh+2|0]<<16|r[bh+3|0]<<24);q[Ye>>2]=bh;ch=q[pg+20>>2];eh=ch;fh=q[pg+16>>2];dh=fh+4|0;if(dh>>>0<4){ch=ch+1|0}q[pg+16>>2]=dh;q[pg+20>>2]=ch;if(bh>>>0>32){break a}ch=q[pg+12>>2];bh=fh+8|0;if(bh>>>0<8){eh=eh+1|0}if((ch|0)<(eh|0)?1:(ch|0)<=(eh|0)?t[pg+8>>2]>=bh>>>0?0:1:0){break a}bh=dh+q[pg>>2]|0;ch=r[bh|0]|r[bh+1|0]<<8|(r[bh+2|0]<<16|r[bh+3|0]<<24);q[Ye+4>>2]=ch;dh=q[pg+20>>2];eh=q[pg+16>>2]+4|0;if(eh>>>0<4){dh=dh+1|0}q[pg+16>>2]=eh;q[pg+20>>2]=dh;if(!ch){gh=1;break a}q[Ye+8>>2]=0;if(!$g(Ye+16|0,pg)){break a}if(!$g(Ye+36|0,pg)){break a}if(!$g(Ye+56|0,pg)){break a}if(!$g(Ye+76|0,pg)){break a}return Zd(Ye,q[Ye+4>>2],ah)}return gh}function Nd(Ye){var pg=0,$g=0,ah=0,hh=0,ih=0;ah=q[Ye+132>>2];if(ah){ih=Ye+136|0;pg=q[ih>>2];$g=ah;a:{if((ah|0)==(pg|0)){break a}while(1){$g=pg+ -12|0;hh=q[$g>>2];if(hh){q[pg+ -8>>2]=hh;An(hh)}pg=$g;if((pg|0)!=(ah|0)){continue}break}$g=q[Ye+132>>2]}q[ih>>2]=ah;An($g)}ah=q[Ye+120>>2];if(ah){ih=Ye+124|0;pg=q[ih>>2];$g=ah;b:{if((ah|0)==(pg|0)){break b}while(1){$g=pg+ -12|0;hh=q[$g>>2];if(hh){q[pg+ -8>>2]=hh;An(hh)}pg=$g;if((pg|0)!=(ah|0)){continue}break}$g=q[Ye+120>>2]}q[ih>>2]=ah;An($g)}pg=q[Ye+108>>2];if(pg){q[Ye+112>>2]=pg;An(pg)}pg=q[Ye+96>>2];if(pg){q[Ye+100>>2]=pg;An(pg)}_g(Ye+76|0);_g(Ye+56|0);_g(Ye+36|0);_g(Ye+16|0)}function Od(Ye,jh){var kh=0,lh=0,mh=0,nh=0;mh=T-16|0;T=mh;q[Ye+12>>2]=jh;q[Ye+8>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;Zg(Ye+16|0);Zg(Ye+36|0);Zg(Ye+56|0);Zg(Ye+76|0);q[Ye+104>>2]=0;q[Ye+96>>2]=0;q[Ye+100>>2]=0;a:{b:{c:{if(jh){if(jh>>>0>=1073741824){break c}kh=jh<<2;lh=Mm(kh);q[Ye+96>>2]=lh;q[Ye+100>>2]=lh;q[Ye+104>>2]=lh+kh;Dn(lh,0,kh);kh=jh;while(1){lh=lh+4|0;kh=kh+ -1|0;if(kh){continue}break}q[Ye+100>>2]=lh}q[Ye+108>>2]=0;q[Ye+112>>2]=0;q[Ye+116>>2]=0;if(jh){if(jh>>>0>=1073741824){break b}kh=jh<<2;lh=Mm(kh);q[Ye+108>>2]=lh;q[Ye+112>>2]=lh;q[Ye+116>>2]=lh+kh;Dn(lh,0,kh);kh=jh;while(1){lh=lh+4|0;kh=kh+ -1|0;if(kh){continue}break}q[Ye+112>>2]=lh}q[mh+8>>2]=0;q[mh>>2]=0;q[mh+4>>2]=0;if(jh){if(jh>>>0>=1073741824){break a}kh=jh<<2;lh=Mm(kh);q[mh>>2]=lh;q[mh+4>>2]=lh;q[mh+8>>2]=lh+kh;Dn(lh,0,kh);kh=jh;while(1){lh=lh+4|0;kh=kh+ -1|0;if(kh){continue}break}q[mh+4>>2]=lh}nh=jh<<5|1;_d(Ye+120|0,nh,mh);kh=q[mh>>2];if(kh){q[mh+4>>2]=kh;An(kh)}q[mh+8>>2]=0;q[mh>>2]=0;q[mh+4>>2]=0;if(jh){if(jh>>>0>=1073741824){break a}kh=jh<<2;lh=Mm(kh);q[mh>>2]=lh;q[mh+4>>2]=lh;q[mh+8>>2]=lh+kh;Dn(lh,0,kh);while(1){lh=lh+4|0;jh=jh+ -1|0;if(jh){continue}break}q[mh+4>>2]=lh}_d(Ye+132|0,nh,mh);jh=q[mh>>2];if(jh){q[mh+4>>2]=jh;An(jh)}T=mh+16|0;return Ye}bn();F()}bn();F()}bn();F()}function Pd(Ye,jh,oh){var ph=0,qh=0,rh=0,sh=0,th=0,uh=0;qh=q[jh+12>>2];a:{rh=q[jh+20>>2];sh=q[jh+16>>2];ph=sh+4|0;if(ph>>>0<4){rh=rh+1|0}if((qh|0)<(rh|0)?1:(qh|0)<=(rh|0)?t[jh+8>>2]>=ph>>>0?0:1:0){break a}ph=sh+q[jh>>2]|0;ph=r[ph|0]|r[ph+1|0]<<8|(r[ph+2|0]<<16|r[ph+3|0]<<24);q[Ye>>2]=ph;qh=q[jh+20>>2];sh=qh;th=q[jh+16>>2];rh=th+4|0;if(rh>>>0<4){qh=qh+1|0}q[jh+16>>2]=rh;q[jh+20>>2]=qh;if(ph>>>0>32){break a}qh=q[jh+12>>2];ph=th+8|0;if(ph>>>0<8){sh=sh+1|0}if((qh|0)<(sh|0)?1:(qh|0)<=(sh|0)?t[jh+8>>2]>=ph>>>0?0:1:0){break a}ph=rh+q[jh>>2]|0;qh=r[ph|0]|r[ph+1|0]<<8|(r[ph+2|0]<<16|r[ph+3|0]<<24);q[Ye+4>>2]=qh;rh=q[jh+20>>2];sh=q[jh+16>>2]+4|0;if(sh>>>0<4){rh=rh+1|0}q[jh+16>>2]=sh;q[jh+20>>2]=rh;if(!qh){uh=1;break a}q[Ye+8>>2]=0;if(!$g(Ye+16|0,jh)){break a}if(!$g(Ye+36|0,jh)){break a}if(!$g(Ye+56|0,jh)){break a}if(!$g(Ye+76|0,jh)){break a}return $d(Ye,q[Ye+4>>2],oh)}return uh}function Qd(Ye,jh,oh){var vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0;wh=q[jh+12>>2];a:{xh=q[jh+20>>2];yh=q[jh+16>>2];vh=yh+4|0;if(vh>>>0<4){xh=xh+1|0}if((wh|0)<(xh|0)?1:(wh|0)<=(xh|0)?t[jh+8>>2]>=vh>>>0?0:1:0){break a}vh=yh+q[jh>>2]|0;vh=r[vh|0]|r[vh+1|0]<<8|(r[vh+2|0]<<16|r[vh+3|0]<<24);q[Ye>>2]=vh;wh=q[jh+20>>2];yh=wh;zh=q[jh+16>>2];xh=zh+4|0;if(xh>>>0<4){wh=wh+1|0}q[jh+16>>2]=xh;q[jh+20>>2]=wh;if(vh>>>0>32){break a}wh=q[jh+12>>2];vh=zh+8|0;if(vh>>>0<8){yh=yh+1|0}if((wh|0)<(yh|0)?1:(wh|0)<=(yh|0)?t[jh+8>>2]>=vh>>>0?0:1:0){break a}vh=xh+q[jh>>2]|0;wh=r[vh|0]|r[vh+1|0]<<8|(r[vh+2|0]<<16|r[vh+3|0]<<24);q[Ye+4>>2]=wh;xh=q[jh+20>>2];yh=q[jh+16>>2]+4|0;if(yh>>>0<4){xh=xh+1|0}q[jh+16>>2]=yh;q[jh+20>>2]=xh;if(!wh){Ah=1;break a}q[Ye+8>>2]=0;if(!bh(Ye+16|0,jh)){break a}if(!$g(Ye+32|0,jh)){break a}if(!$g(Ye+52|0,jh)){break a}if(!$g(Ye+72|0,jh)){break a}return ae(Ye,q[Ye+4>>2],oh)}return Ah}function Rd(Ye){var jh=0,oh=0,Bh=0,Ch=0,Dh=0;Bh=q[Ye+128>>2];if(Bh){Dh=Ye+132|0;jh=q[Dh>>2];oh=Bh;a:{if((Bh|0)==(jh|0)){break a}while(1){oh=jh+ -12|0;Ch=q[oh>>2];if(Ch){q[jh+ -8>>2]=Ch;An(Ch)}jh=oh;if((jh|0)!=(Bh|0)){continue}break}oh=q[Ye+128>>2]}q[Dh>>2]=Bh;An(oh)}Bh=q[Ye+116>>2];if(Bh){Dh=Ye+120|0;jh=q[Dh>>2];oh=Bh;b:{if((Bh|0)==(jh|0)){break b}while(1){oh=jh+ -12|0;Ch=q[oh>>2];if(Ch){q[jh+ -8>>2]=Ch;An(Ch)}jh=oh;if((jh|0)!=(Bh|0)){continue}break}oh=q[Ye+116>>2]}q[Dh>>2]=Bh;An(oh)}jh=q[Ye+104>>2];if(jh){q[Ye+108>>2]=jh;An(jh)}jh=q[Ye+92>>2];if(jh){q[Ye+96>>2]=jh;An(jh)}_g(Ye+72|0);_g(Ye+52|0);_g(Ye+32|0)}function Sd(Ye,Eh){var Fh=0,Gh=0,Hh=0,Ih=0;Hh=T-16|0;T=Hh;q[Ye+12>>2]=Eh;q[Ye+8>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;ah(Ye+16|0);Zg(Ye+32|0);Zg(Ye+52|0);Zg(Ye+72|0);q[Ye+100>>2]=0;q[Ye+92>>2]=0;q[Ye+96>>2]=0;a:{b:{c:{if(Eh){if(Eh>>>0>=1073741824){break c}Fh=Eh<<2;Gh=Mm(Fh);q[Ye+92>>2]=Gh;q[Ye+96>>2]=Gh;q[Ye+100>>2]=Gh+Fh;Dn(Gh,0,Fh);Fh=Eh;while(1){Gh=Gh+4|0;Fh=Fh+ -1|0;if(Fh){continue}break}q[Ye+96>>2]=Gh}q[Ye+104>>2]=0;q[Ye+108>>2]=0;q[Ye+112>>2]=0;if(Eh){if(Eh>>>0>=1073741824){break b}Fh=Eh<<2;Gh=Mm(Fh);q[Ye+104>>2]=Gh;q[Ye+108>>2]=Gh;q[Ye+112>>2]=Gh+Fh;Dn(Gh,0,Fh);Fh=Eh;while(1){Gh=Gh+4|0;Fh=Fh+ -1|0;if(Fh){continue}break}q[Ye+108>>2]=Gh}q[Hh+8>>2]=0;q[Hh>>2]=0;q[Hh+4>>2]=0;if(Eh){if(Eh>>>0>=1073741824){break a}Fh=Eh<<2;Gh=Mm(Fh);q[Hh>>2]=Gh;q[Hh+4>>2]=Gh;q[Hh+8>>2]=Gh+Fh;Dn(Gh,0,Fh);Fh=Eh;while(1){Gh=Gh+4|0;Fh=Fh+ -1|0;if(Fh){continue}break}q[Hh+4>>2]=Gh}Ih=Eh<<5|1;_d(Ye+116|0,Ih,Hh);Fh=q[Hh>>2];if(Fh){q[Hh+4>>2]=Fh;An(Fh)}q[Hh+8>>2]=0;q[Hh>>2]=0;q[Hh+4>>2]=0;if(Eh){if(Eh>>>0>=1073741824){break a}Fh=Eh<<2;Gh=Mm(Fh);q[Hh>>2]=Gh;q[Hh+4>>2]=Gh;q[Hh+8>>2]=Gh+Fh;Dn(Gh,0,Fh);while(1){Gh=Gh+4|0;Eh=Eh+ -1|0;if(Eh){continue}break}q[Hh+4>>2]=Gh}_d(Ye+128|0,Ih,Hh);Eh=q[Hh>>2];if(Eh){q[Hh+4>>2]=Eh;An(Eh)}T=Hh+16|0;return Ye}bn();F()}bn();F()}bn();F()}function Td(Ye,Eh,Jh){var Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0;Lh=q[Eh+12>>2];a:{Mh=q[Eh+20>>2];Nh=q[Eh+16>>2];Kh=Nh+4|0;if(Kh>>>0<4){Mh=Mh+1|0}if((Lh|0)<(Mh|0)?1:(Lh|0)<=(Mh|0)?t[Eh+8>>2]>=Kh>>>0?0:1:0){break a}Kh=Nh+q[Eh>>2]|0;Kh=r[Kh|0]|r[Kh+1|0]<<8|(r[Kh+2|0]<<16|r[Kh+3|0]<<24);q[Ye>>2]=Kh;Lh=q[Eh+20>>2];Nh=Lh;Oh=q[Eh+16>>2];Mh=Oh+4|0;if(Mh>>>0<4){Lh=Lh+1|0}q[Eh+16>>2]=Mh;q[Eh+20>>2]=Lh;if(Kh>>>0>32){break a}Lh=q[Eh+12>>2];Kh=Oh+8|0;if(Kh>>>0<8){Nh=Nh+1|0}if((Lh|0)<(Nh|0)?1:(Lh|0)<=(Nh|0)?t[Eh+8>>2]>=Kh>>>0?0:1:0){break a}Kh=Mh+q[Eh>>2]|0;Lh=r[Kh|0]|r[Kh+1|0]<<8|(r[Kh+2|0]<<16|r[Kh+3|0]<<24);q[Ye+4>>2]=Lh;Mh=q[Eh+20>>2];Nh=q[Eh+16>>2]+4|0;if(Nh>>>0<4){Mh=Mh+1|0}q[Eh+16>>2]=Nh;q[Eh+20>>2]=Mh;if(!Lh){Ph=1;break a}q[Ye+8>>2]=0;if(!bh(Ye+16|0,Eh)){break a}if(!$g(Ye+32|0,Eh)){break a}if(!$g(Ye+52|0,Eh)){break a}if(!$g(Ye+72|0,Eh)){break a}return be(Ye,q[Ye+4>>2],Jh)}return Ph}function Ud(Ye,Eh,Jh){var Qh=0,Rh=0,Sh=0,Th=0,Uh=0,Vh=0;Rh=q[Eh+12>>2];a:{Sh=q[Eh+20>>2];Th=q[Eh+16>>2];Qh=Th+4|0;if(Qh>>>0<4){Sh=Sh+1|0}if((Rh|0)<(Sh|0)?1:(Rh|0)<=(Sh|0)?t[Eh+8>>2]>=Qh>>>0?0:1:0){break a}Qh=Th+q[Eh>>2]|0;Qh=r[Qh|0]|r[Qh+1|0]<<8|(r[Qh+2|0]<<16|r[Qh+3|0]<<24);q[Ye>>2]=Qh;Rh=q[Eh+20>>2];Th=Rh;Uh=q[Eh+16>>2];Sh=Uh+4|0;if(Sh>>>0<4){Rh=Rh+1|0}q[Eh+16>>2]=Sh;q[Eh+20>>2]=Rh;if(Qh>>>0>32){break a}Rh=q[Eh+12>>2];Qh=Uh+8|0;if(Qh>>>0<8){Th=Th+1|0}if((Rh|0)<(Th|0)?1:(Rh|0)<=(Th|0)?t[Eh+8>>2]>=Qh>>>0?0:1:0){break a}Qh=Sh+q[Eh>>2]|0;Rh=r[Qh|0]|r[Qh+1|0]<<8|(r[Qh+2|0]<<16|r[Qh+3|0]<<24);q[Ye+4>>2]=Rh;Sh=q[Eh+20>>2];Th=q[Eh+16>>2]+4|0;if(Th>>>0<4){Sh=Sh+1|0}q[Eh+16>>2]=Th;q[Eh+20>>2]=Sh;if(!Rh){Vh=1;break a}q[Ye+8>>2]=0;Qh=0;while(1){if(!bh(((Qh<<4)+Ye|0)+16|0,Eh)){break a}Qh=Qh+1|0;if((Qh|0)!=32){continue}break}if(!bh(Ye+528|0,Eh)){break a}if(!$g(Ye+544|0,Eh)){break a}if(!$g(Ye+564|0,Eh)){break a}if(!$g(Ye+584|0,Eh)){break a}return ce(Ye,q[Ye+4>>2],Jh)}return Vh}function Vd(Ye){var Eh=0,Jh=0,Wh=0,Xh=0,Yh=0;Wh=q[Ye+640>>2];if(Wh){Yh=Ye+644|0;Eh=q[Yh>>2];Jh=Wh;a:{if((Wh|0)==(Eh|0)){break a}while(1){Jh=Eh+ -12|0;Xh=q[Jh>>2];if(Xh){q[Eh+ -8>>2]=Xh;An(Xh)}Eh=Jh;if((Eh|0)!=(Wh|0)){continue}break}Jh=q[Ye+640>>2]}q[Yh>>2]=Wh;An(Jh)}Wh=q[Ye+628>>2];if(Wh){Yh=Ye+632|0;Eh=q[Yh>>2];Jh=Wh;b:{if((Wh|0)==(Eh|0)){break b}while(1){Jh=Eh+ -12|0;Xh=q[Jh>>2];if(Xh){q[Eh+ -8>>2]=Xh;An(Xh)}Eh=Jh;if((Eh|0)!=(Wh|0)){continue}break}Jh=q[Ye+628>>2]}q[Yh>>2]=Wh;An(Jh)}Eh=q[Ye+616>>2];if(Eh){q[Ye+620>>2]=Eh;An(Eh)}Eh=q[Ye+604>>2];if(Eh){q[Ye+608>>2]=Eh;An(Eh)}_g(Ye+584|0);_g(Ye+564|0);_g(Ye+544|0)}function Wd(Ye,Zh){var _h=0,$h=0,ai=0,bi=0;ai=T-16|0;T=ai;q[Ye+12>>2]=Zh;q[Ye+8>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;de(Ye+16|0);ah(Ye+528|0);Zg(Ye+544|0);Zg(Ye+564|0);Zg(Ye+584|0);q[Ye+612>>2]=0;q[Ye+604>>2]=0;q[Ye+608>>2]=0;a:{b:{c:{if(Zh){if(Zh>>>0>=1073741824){break c}_h=Zh<<2;$h=Mm(_h);q[Ye+604>>2]=$h;q[Ye+608>>2]=$h;q[Ye+612>>2]=$h+_h;Dn($h,0,_h);_h=Zh;while(1){$h=$h+4|0;_h=_h+ -1|0;if(_h){continue}break}q[Ye+608>>2]=$h}q[Ye+616>>2]=0;q[Ye+620>>2]=0;q[Ye+624>>2]=0;if(Zh){if(Zh>>>0>=1073741824){break b}_h=Zh<<2;$h=Mm(_h);q[Ye+616>>2]=$h;q[Ye+620>>2]=$h;q[Ye+624>>2]=$h+_h;Dn($h,0,_h);_h=Zh;while(1){$h=$h+4|0;_h=_h+ -1|0;if(_h){continue}break}q[Ye+620>>2]=$h}q[ai+8>>2]=0;q[ai>>2]=0;q[ai+4>>2]=0;if(Zh){if(Zh>>>0>=1073741824){break a}_h=Zh<<2;$h=Mm(_h);q[ai>>2]=$h;q[ai+4>>2]=$h;q[ai+8>>2]=$h+_h;Dn($h,0,_h);_h=Zh;while(1){$h=$h+4|0;_h=_h+ -1|0;if(_h){continue}break}q[ai+4>>2]=$h}bi=Zh<<5|1;_d(Ye+628|0,bi,ai);_h=q[ai>>2];if(_h){q[ai+4>>2]=_h;An(_h)}q[ai+8>>2]=0;q[ai>>2]=0;q[ai+4>>2]=0;if(Zh){if(Zh>>>0>=1073741824){break a}_h=Zh<<2;$h=Mm(_h);q[ai>>2]=$h;q[ai+4>>2]=$h;q[ai+8>>2]=$h+_h;Dn($h,0,_h);while(1){$h=$h+4|0;Zh=Zh+ -1|0;if(Zh){continue}break}q[ai+4>>2]=$h}_d(Ye+640|0,bi,ai);Zh=q[ai>>2];if(Zh){q[ai+4>>2]=Zh;An(Zh)}T=ai+16|0;return Ye}bn();F()}bn();F()}bn();F()}function Xd(Ye,Zh,ci){var di=0,ei=0,fi=0,gi=0,hi=0,ii=0;ei=q[Zh+12>>2];a:{fi=q[Zh+20>>2];gi=q[Zh+16>>2];di=gi+4|0;if(di>>>0<4){fi=fi+1|0}if((ei|0)<(fi|0)?1:(ei|0)<=(fi|0)?t[Zh+8>>2]>=di>>>0?0:1:0){break a}di=gi+q[Zh>>2]|0;di=r[di|0]|r[di+1|0]<<8|(r[di+2|0]<<16|r[di+3|0]<<24);q[Ye>>2]=di;ei=q[Zh+20>>2];gi=ei;hi=q[Zh+16>>2];fi=hi+4|0;if(fi>>>0<4){ei=ei+1|0}q[Zh+16>>2]=fi;q[Zh+20>>2]=ei;if(di>>>0>32){break a}ei=q[Zh+12>>2];di=hi+8|0;if(di>>>0<8){gi=gi+1|0}if((ei|0)<(gi|0)?1:(ei|0)<=(gi|0)?t[Zh+8>>2]>=di>>>0?0:1:0){break a}di=fi+q[Zh>>2]|0;ei=r[di|0]|r[di+1|0]<<8|(r[di+2|0]<<16|r[di+3|0]<<24);q[Ye+4>>2]=ei;fi=q[Zh+20>>2];gi=q[Zh+16>>2]+4|0;if(gi>>>0<4){fi=fi+1|0}q[Zh+16>>2]=gi;q[Zh+20>>2]=fi;if(!ei){ii=1;break a}q[Ye+8>>2]=0;di=0;while(1){if(!bh(((di<<4)+Ye|0)+16|0,Zh)){break a}di=di+1|0;if((di|0)!=32){continue}break}if(!bh(Ye+528|0,Zh)){break a}if(!$g(Ye+544|0,Zh)){break a}if(!$g(Ye+564|0,Zh)){break a}if(!$g(Ye+584|0,Zh)){break a}return ee(Ye,q[Ye+4>>2],ci)}return ii}function Yd(Ye,Zh,ci){var ji=0,ki=0,li=0,mi=0,ni=0,oi=0;ki=q[Zh+12>>2];a:{li=q[Zh+20>>2];mi=q[Zh+16>>2];ji=mi+4|0;if(ji>>>0<4){li=li+1|0}if((ki|0)<(li|0)?1:(ki|0)<=(li|0)?t[Zh+8>>2]>=ji>>>0?0:1:0){break a}ji=mi+q[Zh>>2]|0;ji=r[ji|0]|r[ji+1|0]<<8|(r[ji+2|0]<<16|r[ji+3|0]<<24);q[Ye>>2]=ji;ki=q[Zh+20>>2];mi=ki;ni=q[Zh+16>>2];li=ni+4|0;if(li>>>0<4){ki=ki+1|0}q[Zh+16>>2]=li;q[Zh+20>>2]=ki;if(ji>>>0>32){break a}ki=q[Zh+12>>2];ji=ni+8|0;if(ji>>>0<8){mi=mi+1|0}if((ki|0)<(mi|0)?1:(ki|0)<=(mi|0)?t[Zh+8>>2]>=ji>>>0?0:1:0){break a}ji=li+q[Zh>>2]|0;ki=r[ji|0]|r[ji+1|0]<<8|(r[ji+2|0]<<16|r[ji+3|0]<<24);q[Ye+4>>2]=ki;li=q[Zh+20>>2];mi=q[Zh+16>>2]+4|0;if(mi>>>0<4){li=li+1|0}q[Zh+16>>2]=mi;q[Zh+20>>2]=li;if(!ki){oi=1;break a}q[Ye+8>>2]=0;ji=0;while(1){if(!bh(((ji<<4)+Ye|0)+16|0,Zh)){break a}ji=ji+1|0;if((ji|0)!=32){continue}break}if(!bh(Ye+528|0,Zh)){break a}if(!$g(Ye+544|0,Zh)){break a}if(!$g(Ye+564|0,Zh)){break a}if(!$g(Ye+584|0,Zh)){break a}return fe(Ye,q[Ye+4>>2],ci)}return oi}function Zd(Ye,Zh,ci){var pi=0,qi=0,ri=0,si=0,ti=0,ui=0,vi=0,wi=0,xi=0,yi=0,zi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0,Fi=0,Gi=0,Hi=0,Ii=0,Ji=0,Ki=0,Li=0,Mi=0,Ni=0,Oi=0;si=T-32|0;T=si;qi=q[Ye+12>>2];q[si+16>>2]=0;q[si+8>>2]=0;q[si+12>>2]=0;a:{if(qi){if(qi>>>0>=1073741824){break a}pi=qi<<2;ri=Mm(pi);q[si+8>>2]=ri;q[si+12>>2]=ri;q[si+16>>2]=pi+ri;ui=Dn(ri,0,pi);pi=qi;while(1){ui=ui+4|0;pi=pi+ -1|0;if(pi){continue}break}q[si+12>>2]=ui}ti=q[Ye+120>>2];pi=q[ti>>2];if(pi){q[ti+4>>2]=pi;An(pi);q[ti+8>>2]=0;q[ti>>2]=0;q[ti+4>>2]=0;qi=q[Ye+12>>2];ui=q[si+12>>2];ri=q[si+8>>2]}q[ti>>2]=ri;q[ti+4>>2]=ui;q[ti+8>>2]=q[si+16>>2];ui=0;q[si+16>>2]=0;q[si+8>>2]=0;q[si+12>>2]=0;pi=0;b:{if(qi){if(qi>>>0>=1073741824){break b}ri=qi<<2;pi=Mm(ri);q[si+8>>2]=pi;q[si+12>>2]=pi;q[si+16>>2]=pi+ri;ui=Dn(pi,0,ri);while(1){ui=ui+4|0;qi=qi+ -1|0;if(qi){continue}break}q[si+12>>2]=ui}ti=q[Ye+132>>2];ri=q[ti>>2];if(ri){q[ti+4>>2]=ri;An(ri);q[ti+8>>2]=0;q[ti>>2]=0;q[ti+4>>2]=0;ui=q[si+12>>2];pi=q[si+8>>2]}q[ti>>2]=pi;q[ti+4>>2]=ui;q[ti+8>>2]=q[si+16>>2];qi=si+24|0;q[qi>>2]=0;q[qi+4>>2]=0;ri=si+16|0;q[ri>>2]=0;q[ri+4>>2]=0;q[si+8>>2]=0;q[si+12>>2]=0;re(si+8|0);ti=q[si+12>>2];pi=0;c:{if((ti|0)==q[ri>>2]){break c}ri=q[qi>>2]+q[si+28>>2]|0;pi=(ri>>>0)/341|0;pi=q[ti+(pi<<2)>>2]+w(ri-w(pi,341)|0,12)|0}q[pi+4>>2]=0;q[pi+8>>2]=0;q[pi>>2]=Zh;pi=1;ri=q[si+28>>2];qi=ri+1|0;q[si+28>>2]=qi;d:{if(qi>>>0<ri>>>0){break d}Li=Ye+132|0;Ki=Ye+120|0;Gi=ci+20|0;Mi=Ye+108|0;Ni=Ye+96|0;Hi=Ye+48|0;Ii=Ye+28|0;Oi=Ye+80|0;while(1){pi=q[si+12>>2];vi=q[si+24>>2];wi=qi+ -1|0;ti=vi+wi|0;ri=(ti>>>0)/341|0;ri=q[pi+(ri<<2)>>2]+w(ti-w(ri,341)|0,12)|0;Ai=q[ri+8>>2];ti=q[ri+4>>2];zi=q[ri>>2];q[si+28>>2]=wi;ri=q[si+16>>2];pi=ri-pi|0;if(((pi?w(pi>>2,341)+ -1|0:0)-(qi+vi|0)|0)+1>>>0>=682){An(q[ri+ -4>>2]);q[si+16>>2]=q[si+16>>2]+ -4}pi=0;if(zi>>>0>Zh>>>0){break d}ri=q[Ki>>2];Bi=w(Ai,12);Ei=Bi+q[Li>>2]|0;ui=ml(Ye,Ei,ti);if(ui>>>0>=t[Ye+12>>2]){break d}Fi=ri+Bi|0;e:{f:{Ci=ui<<2;ti=q[Ye>>2]-q[Ci+q[Ei>>2]>>2]|0;if(!ti){if(!zi){break f}xi=0;while(1){ti=0;qi=q[ci+16>>2];g:{if((qi|0)==q[Gi>>2]){break g}while(1){qi=w(ti,20)+qi|0;ri=q[Fi>>2]+(q[qi+4>>2]<<2)|0;yi=q[qi>>2];ui=q[qi+12>>2];h:{if(ui>>>0>3){break h}pi=q[ci+12>>2];vi=qi+16|0;if(!q[vi>>2]){ri=pi;break h}wi=qi+12|0;qi=0;while(1){pi=Cn(pi,(qi<<2)+ri|0,ui);ui=q[wi>>2];pi=pi+ui|0;qi=qi+1|0;if(qi>>>0<t[vi>>2]){continue}break}ri=q[ci+12>>2]}qi=q[ci+28>>2];qi=r[yi+84|0]?qi:q[q[yi+68>>2]+(qi<<2)>>2];if(qi>>>0>=t[yi+80>>2]){break g}pi=q[yi+40>>2];Cn(q[q[yi>>2]>>2]+w(pi,qi)|0,ri,pi);ti=ti+1|0;qi=q[ci+16>>2];if(ti>>>0<(q[Gi>>2]-qi|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;xi=xi+1|0;if((zi|0)!=(xi|0)){continue}break}break f}i:{j:{k:{l:{if(zi>>>0<=2){ri=q[Mi>>2];q[ri>>2]=ui;pi=1;qi=q[Ye+12>>2];if(qi>>>0>1){break l}break i}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}pi=q[Ki>>2];xi=Ai+1|0;yi=w(xi,12);ri=pi+yi|0;if((ri|0)!=(Fi|0)){hd(ri,q[Fi>>2],q[Fi+4>>2]);pi=q[Ki>>2]}pi=Ci+q[pi+yi>>2]|0;q[pi>>2]=q[pi>>2]+(1<<ti+ -1);vi=z(zi)^31;wi=q[Ye+32>>2];ti=32-wi|0;m:{if((vi|0)<=(ti|0)){ti=q[Ii>>2];if((ti|0)==q[Ye+20>>2]){pi=0;break m}pi=q[ti>>2];ri=vi+wi|0;q[Ye+32>>2]=ri;pi=pi<<wi>>>32-vi;if((ri|0)!=32){break m}q[Ye+32>>2]=0;q[Ii>>2]=ti+4;break m}qi=q[Ii>>2];pi=qi+4|0;if((pi|0)==q[Ye+20>>2]){pi=0;break m}ri=q[qi>>2];q[Ii>>2]=pi;pi=vi-ti|0;q[Ye+32>>2]=pi;pi=q[qi+4>>2]>>>32-pi|ri<<wi>>>32-vi}ri=(zi>>>1)-pi|0;pi=zi-ri|0;n:{if((pi|0)==(ri|0)){pi=ri;break n}vi=q[Ye+88>>2];if((vi|0)==q[Oi>>2]){break k}wi=q[vi>>2];qi=q[Ye+92>>2];ti=qi+1|0;q[Ye+92>>2]=ti;qi=wi&-2147483648>>>qi;o:{if((ti|0)==32){q[Ye+92>>2]=0;q[Ye+88>>2]=vi+4;if(qi){break o}break k}if(!qi){break k}}}ti=pi;pi=ri;break j}while(1){ui=(qi+ -1|0)==(ui|0)?0:ui+1|0;q[ri+(pi<<2)>>2]=ui;pi=pi+1|0;qi=q[Ye+12>>2];if(pi>>>0<qi>>>0){continue}break}break i}ti=ri}vi=q[Li>>2];wi=vi+Bi|0;qi=q[wi>>2];ri=qi+Ci|0;q[ri>>2]=q[ri>>2]+1;hd(vi+yi|0,qi,q[wi+4>>2]);if(pi){ri=q[si+28>>2]+q[si+24>>2]|0;vi=q[si+16>>2];qi=q[si+12>>2];wi=vi-qi|0;if((ri|0)==((wi?w(wi>>2,341)+ -1|0:0)|0)){re(si+8|0);qi=q[si+12>>2];vi=q[si+16>>2];ri=q[si+24>>2]+q[si+28>>2]|0}if((qi|0)==(vi|0)){ri=0}else{Ei=qi;qi=(ri>>>0)/341|0;ri=q[Ei+(qi<<2)>>2]+w(ri-w(qi,341)|0,12)|0}q[ri+8>>2]=Ai;q[ri+4>>2]=ui;q[ri>>2]=pi;q[si+28>>2]=q[si+28>>2]+1}if(!ti){break f}pi=q[si+28>>2]+q[si+24>>2]|0;ri=q[si+16>>2];qi=q[si+12>>2];wi=ri-qi|0;if((pi|0)==((wi?w(wi>>2,341)+ -1|0:0)|0)){re(si+8|0);ri=q[si+16>>2];qi=q[si+12>>2];pi=q[si+24>>2]+q[si+28>>2]|0}if((qi|0)==(ri|0)){pi=0}else{ri=(pi>>>0)/341|0;pi=q[(ri<<2)+qi>>2]+w(pi-w(ri,341)|0,12)|0}q[pi+8>>2]=xi;q[pi+4>>2]=ui;q[pi>>2]=ti;qi=q[si+28>>2]+1|0;q[si+28>>2]=qi;break e}if(!zi){break f}Ai=0;while(1){if(qi){ui=q[Ni>>2];xi=q[Mi>>2];vi=q[Fi>>2];wi=q[Ei>>2];qi=0;while(1){Bi=xi+(qi<<2)|0;q[ui+(q[Bi>>2]<<2)>>2]=0;pi=q[Bi>>2]<<2;Di=q[Ye>>2]-q[pi+wi>>2]|0;p:{if(!Di){break p}Ji=pi+ui|0;Ci=q[Ye+52>>2];ti=32-Ci|0;if((Di|0)<=(ti|0)){ri=q[Hi>>2];if((ri|0)==q[Ye+40>>2]){q[Ji>>2]=0;break p}q[Ji>>2]=q[ri>>2]<<Ci>>>32-Di;pi=Di+q[Ye+52>>2]|0;q[Ye+52>>2]=pi;if((pi|0)!=32){break p}q[Ye+52>>2]=0;q[Hi>>2]=ri+4;break p}yi=q[Hi>>2];pi=yi+4|0;if((pi|0)==q[Ye+40>>2]){q[Ji>>2]=0;break p}ri=q[yi>>2];q[Hi>>2]=pi;pi=Di-ti|0;q[Ye+52>>2]=pi;q[Ji>>2]=q[yi+4>>2]>>>32-pi|ri<<Ci>>>32-Di}ri=q[Bi>>2]<<2;pi=ri+ui|0;q[pi>>2]=q[pi>>2]|q[ri+vi>>2];qi=qi+1|0;if(qi>>>0<t[Ye+12>>2]){continue}break}}ti=0;qi=q[ci+16>>2];q:{if((qi|0)==q[Gi>>2]){break q}while(1){qi=w(ti,20)+qi|0;ri=q[Ni>>2]+(q[qi+4>>2]<<2)|0;xi=q[qi>>2];ui=q[qi+12>>2];r:{if(ui>>>0>3){break r}pi=q[ci+12>>2];vi=qi+16|0;if(!q[vi>>2]){ri=pi;break r}wi=qi+12|0;qi=0;while(1){pi=Cn(pi,(qi<<2)+ri|0,ui);ui=q[wi>>2];pi=pi+ui|0;qi=qi+1|0;if(qi>>>0<t[vi>>2]){continue}break}ri=q[ci+12>>2]}qi=q[ci+28>>2];qi=r[xi+84|0]?qi:q[q[xi+68>>2]+(qi<<2)>>2];if(qi>>>0>=t[xi+80>>2]){break q}pi=q[xi+40>>2];Cn(q[q[xi>>2]>>2]+w(pi,qi)|0,ri,pi);ti=ti+1|0;qi=q[ci+16>>2];if(ti>>>0<(q[Gi>>2]-qi|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Ai=Ai+1|0;if((Ai|0)==(zi|0)){break f}qi=q[Ye+12>>2];continue}}qi=q[si+28>>2]}if(qi){continue}break}pi=1}se(si+8|0);qi=q[si+12>>2];Ye=q[si+16>>2];s:{if((qi|0)==(Ye|0)){break s}while(1){An(q[qi>>2]);qi=qi+4|0;if((Ye|0)!=(qi|0)){continue}break}Zh=q[si+16>>2];Ye=q[si+12>>2];if((Zh|0)==(Ye|0)){break s}q[si+16>>2]=Zh+(((Zh-Ye|0)+ -4>>>2^-1)<<2)}Ye=q[si+8>>2];if(Ye){An(Ye)}T=si+32|0;return pi}bn();F()}bn();F()}function _d(Ye,Zh,ci){var Pi=0,Qi=0,Ri=0,Si=0,Ti=0,Ui=0,Vi=0,Wi=0;q[Ye>>2]=0;q[Ye+4>>2]=0;q[Ye+8>>2]=0;a:{b:{if(Zh){if(Zh>>>0>=357913942){break b}Qi=w(Zh,12);Pi=Mm(Qi);q[Ye>>2]=Pi;Ri=Ye+4|0;q[Ri>>2]=Pi;q[Ye+8>>2]=Pi+Qi;while(1){q[Pi>>2]=0;q[Pi+4>>2]=0;Qi=Pi+8|0;q[Qi>>2]=0;Si=ci+4|0;Ye=q[Si>>2]-q[ci>>2]|0;c:{if(!Ye){break c}Ti=Ye>>2;if(Ti>>>0>=1073741824){break a}Ye=Mm(Ye);q[Pi>>2]=Ye;Ui=Pi+4|0;q[Ui>>2]=Ye;q[Qi>>2]=Ye+(Ti<<2);Qi=q[ci>>2];Pi=q[Si>>2]-Qi|0;if((Pi|0)<1){break c}Vi=Ui,Wi=Cn(Ye,Qi,Pi)+Pi|0,q[Vi>>2]=Wi}Pi=q[Ri>>2]+12|0;q[Ri>>2]=Pi;Zh=Zh+ -1|0;if(Zh){continue}break}}return}bn();F()}bn();F()}function $d(Ye,Zh,ci){var Xi=0,Yi=0,Zi=0,_i=0,$i=0,aj=0,bj=0,cj=0,dj=0,ej=0,fj=0,gj=0,hj=0,ij=0,jj=0,kj=0,lj=0,mj=0,nj=0,oj=0,pj=0,qj=0,rj=0,sj=0,tj=0,uj=0;_i=T-32|0;T=_i;Yi=q[Ye+12>>2];q[_i+16>>2]=0;q[_i+8>>2]=0;q[_i+12>>2]=0;a:{if(Yi){if(Yi>>>0>=1073741824){break a}Xi=Yi<<2;Zi=Mm(Xi);q[_i+8>>2]=Zi;q[_i+12>>2]=Zi;q[_i+16>>2]=Xi+Zi;$i=Dn(Zi,0,Xi);Xi=Yi;while(1){$i=$i+4|0;Xi=Xi+ -1|0;if(Xi){continue}break}q[_i+12>>2]=$i}Xi=q[Ye+120>>2];aj=q[Xi>>2];if(aj){q[Xi+4>>2]=aj;An(aj);q[Xi+8>>2]=0;q[Xi>>2]=0;q[Xi+4>>2]=0;Yi=q[Ye+12>>2];$i=q[_i+12>>2];Zi=q[_i+8>>2]}q[Xi>>2]=Zi;q[Xi+4>>2]=$i;q[Xi+8>>2]=q[_i+16>>2];$i=0;q[_i+16>>2]=0;q[_i+8>>2]=0;q[_i+12>>2]=0;Xi=0;b:{if(Yi){if(Yi>>>0>=1073741824){break b}Zi=Yi<<2;Xi=Mm(Zi);q[_i+8>>2]=Xi;q[_i+12>>2]=Xi;q[_i+16>>2]=Xi+Zi;$i=Dn(Xi,0,Zi);while(1){$i=$i+4|0;Yi=Yi+ -1|0;if(Yi){continue}break}q[_i+12>>2]=$i}Zi=q[Ye+132>>2];aj=q[Zi>>2];if(aj){q[Zi+4>>2]=aj;An(aj);q[Zi+8>>2]=0;q[Zi>>2]=0;q[Zi+4>>2]=0;$i=q[_i+12>>2];Xi=q[_i+8>>2]}q[Zi>>2]=Xi;q[Zi+4>>2]=$i;q[Zi+8>>2]=q[_i+16>>2];Zi=_i+24|0;q[Zi>>2]=0;q[Zi+4>>2]=0;aj=_i+16|0;q[aj>>2]=0;q[aj+4>>2]=0;q[_i+8>>2]=0;q[_i+12>>2]=0;re(_i+8|0);Yi=q[aj>>2];aj=q[_i+12>>2];Xi=0;c:{if((Yi|0)==(aj|0)){break c}Xi=q[Zi>>2]+q[_i+28>>2]|0;Zi=(Xi>>>0)/341|0;Xi=q[aj+(Zi<<2)>>2]+w(Xi-w(Zi,341)|0,12)|0}q[Xi+4>>2]=0;q[Xi+8>>2]=0;q[Xi>>2]=Zh;Zi=1;Xi=q[_i+28>>2];Yi=Xi+1|0;q[_i+28>>2]=Yi;d:{if(Yi>>>0<Xi>>>0){break d}nj=Ye+120|0;oj=Ye+132|0;jj=ci+20|0;pj=Ye+108|0;qj=Ye+96|0;kj=Ye+48|0;lj=Ye+28|0;sj=Ye+80|0;while(1){fj=q[_i+12>>2];Zi=q[_i+24>>2];bj=Yi+ -1|0;Xi=Zi+bj|0;aj=(Xi>>>0)/341|0;Xi=q[fj+(aj<<2)>>2]+w(Xi-w(aj,341)|0,12)|0;ej=q[Xi+8>>2];$i=q[Xi+4>>2];aj=q[Xi>>2];q[_i+28>>2]=bj;Xi=q[_i+16>>2];bj=Xi-fj|0;if(((bj?w(bj>>2,341)+ -1|0:0)-(Yi+Zi|0)|0)+1>>>0>=682){An(q[Xi+ -4>>2]);q[_i+16>>2]=q[_i+16>>2]+ -4}if(aj>>>0>Zh>>>0){Zi=0;break d}Zi=0;Xi=q[Ye+12>>2];$i=($i|0)==(Xi+ -1|0)?0:$i+1|0;if($i>>>0>=Xi>>>0){break d}Xi=q[nj>>2];Yi=w(ej,12);fj=Xi+Yi|0;e:{f:{bj=$i<<2;gj=Yi+q[oj>>2]|0;cj=q[Ye>>2]-q[bj+q[gj>>2]>>2]|0;if(!cj){if(!aj){break f}cj=0;while(1){ej=0;Yi=q[ci+16>>2];g:{if((Yi|0)==q[jj>>2]){break g}while(1){Yi=w(ej,20)+Yi|0;Zi=q[fj>>2]+(q[Yi+4>>2]<<2)|0;bj=q[Yi>>2];$i=q[Yi+12>>2];h:{if($i>>>0>3){break h}Xi=q[ci+12>>2];dj=Yi+16|0;if(!q[dj>>2]){Zi=Xi;break h}gj=Yi+12|0;Yi=0;while(1){Xi=Cn(Xi,(Yi<<2)+Zi|0,$i);$i=q[gj>>2];Xi=Xi+$i|0;Yi=Yi+1|0;if(Yi>>>0<t[dj>>2]){continue}break}Zi=q[ci+12>>2]}Yi=q[ci+28>>2];Yi=r[bj+84|0]?Yi:q[q[bj+68>>2]+(Yi<<2)>>2];if(Yi>>>0>=t[bj+80>>2]){break g}Xi=q[bj+40>>2];Cn(q[q[bj>>2]>>2]+w(Xi,Yi)|0,Zi,Xi);ej=ej+1|0;Yi=q[ci+16>>2];if(ej>>>0<(q[jj>>2]-Yi|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;cj=cj+1|0;if((aj|0)!=(cj|0)){continue}break}break f}i:{j:{k:{l:{if(aj>>>0<=2){Zi=q[pj>>2];q[Zi>>2]=$i;Xi=1;Yi=q[Ye+12>>2];if(Yi>>>0>1){break l}break i}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}Zi=Xi;Xi=Yi+12|0;hd(Zi+Xi|0,q[fj>>2],q[fj+4>>2]);Xi=bj+q[Xi+q[nj>>2]>>2]|0;q[Xi>>2]=q[Xi>>2]+(1<<cj+ -1);Xi=z(aj)^31;Zi=q[Ye+32>>2];cj=32-Zi|0;m:{if((Xi|0)<=(cj|0)){fj=q[lj>>2];if((fj|0)==q[Ye+20>>2]){Zi=0;break m}cj=q[fj>>2];dj=Xi+Zi|0;q[Ye+32>>2]=dj;Zi=cj<<Zi>>>32-Xi;if((dj|0)!=32){break m}q[Ye+32>>2]=0;q[lj>>2]=fj+4;break m}fj=q[lj>>2];dj=fj+4|0;if((dj|0)==q[Ye+20>>2]){Zi=0;break m}gj=q[fj>>2];q[lj>>2]=dj;cj=Xi-cj|0;q[Ye+32>>2]=cj;Zi=q[fj+4>>2]>>>32-cj|gj<<Zi>>>32-Xi}fj=ej+1|0;Xi=(aj>>>1)-Zi|0;Zi=aj-Xi|0;n:{if((Zi|0)==(Xi|0)){Zi=Xi;break n}aj=q[Ye+88>>2];if((aj|0)==q[sj>>2]){break k}cj=q[aj>>2];dj=q[Ye+92>>2];gj=dj+1|0;q[Ye+92>>2]=gj;cj=cj&-2147483648>>>dj;o:{if((gj|0)==32){q[Ye+92>>2]=0;q[Ye+88>>2]=aj+4;if(cj){break o}break k}if(!cj){break k}}}aj=Zi;Zi=Xi;break j}while(1){$i=(Yi+ -1|0)==($i|0)?0:$i+1|0;q[Zi+(Xi<<2)>>2]=$i;Xi=Xi+1|0;Yi=q[Ye+12>>2];if(Xi>>>0<Yi>>>0){continue}break}break i}aj=Xi}hj=bj;Xi=q[oj>>2];Yi=Xi+Yi|0;bj=q[Yi>>2];cj=hj+bj|0;q[cj>>2]=q[cj>>2]+1;hd(Xi+w(fj,12)|0,bj,q[Yi+4>>2]);if(Zi){Xi=q[_i+28>>2]+q[_i+24>>2]|0;bj=q[_i+16>>2];Yi=q[_i+12>>2];cj=bj-Yi|0;if((Xi|0)==((cj?w(cj>>2,341)+ -1|0:0)|0)){re(_i+8|0);bj=q[_i+16>>2];Yi=q[_i+12>>2];Xi=q[_i+24>>2]+q[_i+28>>2]|0}if((Yi|0)==(bj|0)){Xi=0}else{hj=Yi;Yi=(Xi>>>0)/341|0;Xi=q[hj+(Yi<<2)>>2]+w(Xi-w(Yi,341)|0,12)|0}q[Xi+8>>2]=ej;q[Xi+4>>2]=$i;q[Xi>>2]=Zi;q[_i+28>>2]=q[_i+28>>2]+1}if(!aj){break f}Xi=q[_i+28>>2]+q[_i+24>>2]|0;Zi=q[_i+16>>2];Yi=q[_i+12>>2];ej=Zi-Yi|0;if((Xi|0)==((ej?w(ej>>2,341)+ -1|0:0)|0)){re(_i+8|0);Zi=q[_i+16>>2];Yi=q[_i+12>>2];Xi=q[_i+24>>2]+q[_i+28>>2]|0}if((Yi|0)==(Zi|0)){Xi=0}else{Zi=(Xi>>>0)/341|0;Xi=q[(Zi<<2)+Yi>>2]+w(Xi-w(Zi,341)|0,12)|0}q[Xi+8>>2]=fj;q[Xi+4>>2]=$i;q[Xi>>2]=aj;Yi=q[_i+28>>2]+1|0;q[_i+28>>2]=Yi;break e}if(!aj){break f}cj=0;while(1){if(Yi){$i=q[qj>>2];mj=q[pj>>2];tj=q[fj>>2];uj=q[gj>>2];Yi=0;while(1){ej=mj+(Yi<<2)|0;q[$i+(q[ej>>2]<<2)>>2]=0;Zi=q[ej>>2]<<2;Xi=q[Ye>>2]-q[Zi+uj>>2]|0;p:{if(!Xi){break p}Zi=Zi+$i|0;bj=q[Ye+52>>2];ij=32-bj|0;if((Xi|0)<=(ij|0)){dj=q[kj>>2];if((dj|0)==q[Ye+40>>2]){q[Zi>>2]=0;break p}q[Zi>>2]=q[dj>>2]<<bj>>>32-Xi;Xi=Xi+q[Ye+52>>2]|0;q[Ye+52>>2]=Xi;if((Xi|0)!=32){break p}q[Ye+52>>2]=0;q[kj>>2]=dj+4;break p}dj=q[kj>>2];rj=dj+4|0;if((rj|0)==q[Ye+40>>2]){q[Zi>>2]=0;break p}hj=q[dj>>2];q[kj>>2]=rj;ij=Xi-ij|0;q[Ye+52>>2]=ij;q[Zi>>2]=q[dj+4>>2]>>>32-ij|hj<<bj>>>32-Xi}Xi=q[ej>>2]<<2;Zi=Xi+$i|0;q[Zi>>2]=q[Zi>>2]|q[Xi+tj>>2];Yi=Yi+1|0;if(Yi>>>0<t[Ye+12>>2]){continue}break}}ej=0;Yi=q[ci+16>>2];q:{if((Yi|0)==q[jj>>2]){break q}while(1){Yi=w(ej,20)+Yi|0;Zi=q[qj>>2]+(q[Yi+4>>2]<<2)|0;bj=q[Yi>>2];$i=q[Yi+12>>2];r:{if($i>>>0>3){break r}Xi=q[ci+12>>2];dj=Yi+16|0;if(!q[dj>>2]){Zi=Xi;break r}mj=Yi+12|0;Yi=0;while(1){Xi=Cn(Xi,(Yi<<2)+Zi|0,$i);$i=q[mj>>2];Xi=Xi+$i|0;Yi=Yi+1|0;if(Yi>>>0<t[dj>>2]){continue}break}Zi=q[ci+12>>2]}Yi=q[ci+28>>2];Yi=r[bj+84|0]?Yi:q[q[bj+68>>2]+(Yi<<2)>>2];if(Yi>>>0>=t[bj+80>>2]){break q}Xi=q[bj+40>>2];Cn(q[q[bj>>2]>>2]+w(Xi,Yi)|0,Zi,Xi);ej=ej+1|0;Yi=q[ci+16>>2];if(ej>>>0<(q[jj>>2]-Yi|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;cj=cj+1|0;if((cj|0)==(aj|0)){break f}Yi=q[Ye+12>>2];continue}}Yi=q[_i+28>>2]}if(Yi){continue}break}Zi=1}se(_i+8|0);Yi=q[_i+12>>2];Ye=q[_i+16>>2];s:{if((Yi|0)==(Ye|0)){break s}while(1){An(q[Yi>>2]);Yi=Yi+4|0;if((Ye|0)!=(Yi|0)){continue}break}Ye=q[_i+16>>2];Zh=q[_i+12>>2];if((Ye|0)==(Zh|0)){break s}q[_i+16>>2]=Ye+(((Ye-Zh|0)+ -4>>>2^-1)<<2)}Ye=q[_i+8>>2];if(Ye){An(Ye)}T=_i+32|0;return Zi}bn();F()}bn();F()}function ae(Ye,Zh,ci){var vj=0,wj=0,xj=0,yj=0,zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Hj=0,Ij=0,Jj=0,Kj=0,Lj=0,Mj=0,Nj=0,Oj=0,Pj=0,Qj=0,Rj=0,Sj=0,Tj=0,Uj=0,Vj=0;yj=T-32|0;T=yj;vj=q[Ye+12>>2];q[yj+16>>2]=0;q[yj+8>>2]=0;q[yj+12>>2]=0;a:{if(vj){if(vj>>>0>=1073741824){break a}wj=vj<<2;xj=Mm(wj);q[yj+8>>2]=xj;q[yj+12>>2]=xj;q[yj+16>>2]=wj+xj;Aj=Dn(xj,0,wj);wj=vj;while(1){Aj=Aj+4|0;wj=wj+ -1|0;if(wj){continue}break}q[yj+12>>2]=Aj}zj=q[Ye+116>>2];wj=q[zj>>2];if(wj){q[zj+4>>2]=wj;An(wj);q[zj+8>>2]=0;q[zj>>2]=0;q[zj+4>>2]=0;vj=q[Ye+12>>2];Aj=q[yj+12>>2];xj=q[yj+8>>2]}q[zj>>2]=xj;q[zj+4>>2]=Aj;q[zj+8>>2]=q[yj+16>>2];Aj=0;q[yj+16>>2]=0;q[yj+8>>2]=0;q[yj+12>>2]=0;wj=0;b:{if(vj){if(vj>>>0>=1073741824){break b}xj=vj<<2;wj=Mm(xj);q[yj+8>>2]=wj;q[yj+12>>2]=wj;q[yj+16>>2]=wj+xj;Aj=Dn(wj,0,xj);while(1){Aj=Aj+4|0;vj=vj+ -1|0;if(vj){continue}break}q[yj+12>>2]=Aj}zj=q[Ye+128>>2];xj=q[zj>>2];if(xj){q[zj+4>>2]=xj;An(xj);q[zj+8>>2]=0;q[zj>>2]=0;q[zj+4>>2]=0;Aj=q[yj+12>>2];wj=q[yj+8>>2]}q[zj>>2]=wj;q[zj+4>>2]=Aj;q[zj+8>>2]=q[yj+16>>2];vj=yj+24|0;q[vj>>2]=0;q[vj+4>>2]=0;xj=yj+16|0;q[xj>>2]=0;q[xj+4>>2]=0;q[yj+8>>2]=0;q[yj+12>>2]=0;re(yj+8|0);zj=q[yj+12>>2];wj=0;c:{if((zj|0)==q[xj>>2]){break c}xj=q[vj>>2]+q[yj+28>>2]|0;wj=(xj>>>0)/341|0;wj=q[zj+(wj<<2)>>2]+w(xj-w(wj,341)|0,12)|0}q[wj+4>>2]=0;q[wj+8>>2]=0;q[wj>>2]=Zh;wj=1;xj=q[yj+28>>2];vj=xj+1|0;q[yj+28>>2]=vj;d:{if(vj>>>0<xj>>>0){break d}Uj=Ye+16|0;Qj=Ye+128|0;Oj=Ye+116|0;Lj=ci+20|0;Rj=Ye+104|0;Sj=Ye+92|0;Mj=Ye+44|0;Tj=Ye+36|0;Vj=Ye+76|0;while(1){wj=q[yj+12>>2];Bj=q[yj+24>>2];Cj=vj+ -1|0;zj=Bj+Cj|0;xj=(zj>>>0)/341|0;xj=q[wj+(xj<<2)>>2]+w(zj-w(xj,341)|0,12)|0;Gj=q[xj+8>>2];zj=q[xj+4>>2];Fj=q[xj>>2];q[yj+28>>2]=Cj;xj=q[yj+16>>2];wj=xj-wj|0;if(((wj?w(wj>>2,341)+ -1|0:0)-(vj+Bj|0)|0)+1>>>0>=682){An(q[xj+ -4>>2]);q[yj+16>>2]=q[yj+16>>2]+ -4}wj=0;if(Fj>>>0>Zh>>>0){break d}xj=q[Oj>>2];Hj=w(Gj,12);Pj=Hj+q[Qj>>2]|0;Aj=ml(Ye,Pj,zj);if(Aj>>>0>=t[Ye+12>>2]){break d}Kj=xj+Hj|0;e:{Ij=Aj<<2;zj=q[Ye>>2]-q[Ij+q[Pj>>2]>>2]|0;if(!zj){if(!Fj){break e}Dj=0;while(1){zj=0;vj=q[ci+16>>2];f:{if((vj|0)==q[Lj>>2]){break f}while(1){vj=w(zj,20)+vj|0;xj=q[Kj>>2]+(q[vj+4>>2]<<2)|0;Ej=q[vj>>2];Aj=q[vj+12>>2];g:{if(Aj>>>0>3){break g}wj=q[ci+12>>2];Bj=vj+16|0;if(!q[Bj>>2]){xj=wj;break g}Cj=vj+12|0;vj=0;while(1){wj=Cn(wj,(vj<<2)+xj|0,Aj);Aj=q[Cj>>2];wj=wj+Aj|0;vj=vj+1|0;if(vj>>>0<t[Bj>>2]){continue}break}xj=q[ci+12>>2]}vj=q[ci+28>>2];vj=r[Ej+84|0]?vj:q[q[Ej+68>>2]+(vj<<2)>>2];if(vj>>>0>=t[Ej+80>>2]){break f}wj=q[Ej+40>>2];Cn(q[q[Ej>>2]>>2]+w(wj,vj)|0,xj,wj);zj=zj+1|0;vj=q[ci+16>>2];if(zj>>>0<(q[Lj>>2]-vj|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Dj=Dj+1|0;if((Fj|0)!=(Dj|0)){continue}break}break e}h:{i:{j:{k:{if(Fj>>>0<=2){xj=q[Rj>>2];q[xj>>2]=Aj;wj=1;vj=q[Ye+12>>2];if(vj>>>0>1){break k}break h}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}wj=q[Oj>>2];Dj=Gj+1|0;Ej=w(Dj,12);xj=wj+Ej|0;if((xj|0)!=(Kj|0)){hd(xj,q[Kj>>2],q[Kj+4>>2]);wj=q[Oj>>2]}wj=Ij+q[wj+Ej>>2]|0;q[wj>>2]=q[wj>>2]+(1<<zj+ -1);q[yj+4>>2]=0;eh(Uj,z(Fj)^31,yj+4|0);xj=(Fj>>>1)-q[yj+4>>2]|0;wj=Fj-xj|0;l:{if((wj|0)==(xj|0)){wj=xj;break l}Bj=q[Ye+84>>2];if((Bj|0)==q[Vj>>2]){break j}Cj=q[Bj>>2];vj=q[Ye+88>>2];zj=vj+1|0;q[Ye+88>>2]=zj;vj=Cj&-2147483648>>>vj;m:{if((zj|0)==32){q[Ye+88>>2]=0;q[Ye+84>>2]=Bj+4;if(vj){break m}break j}if(!vj){break j}}}zj=wj;wj=xj;break i}while(1){Aj=(vj+ -1|0)==(Aj|0)?0:Aj+1|0;q[xj+(wj<<2)>>2]=Aj;wj=wj+1|0;vj=q[Ye+12>>2];if(wj>>>0<vj>>>0){continue}break}break h}zj=xj}Bj=q[Qj>>2];Cj=Bj+Hj|0;vj=q[Cj>>2];xj=vj+Ij|0;q[xj>>2]=q[xj>>2]+1;hd(Bj+Ej|0,vj,q[Cj+4>>2]);if(wj){xj=q[yj+28>>2]+q[yj+24>>2]|0;Bj=q[yj+16>>2];vj=q[yj+12>>2];Cj=Bj-vj|0;if((xj|0)==((Cj?w(Cj>>2,341)+ -1|0:0)|0)){re(yj+8|0);vj=q[yj+12>>2];Bj=q[yj+16>>2];xj=q[yj+24>>2]+q[yj+28>>2]|0}if((vj|0)==(Bj|0)){xj=0}else{Bj=vj;vj=(xj>>>0)/341|0;xj=q[Bj+(vj<<2)>>2]+w(xj-w(vj,341)|0,12)|0}q[xj+8>>2]=Gj;q[xj+4>>2]=Aj;q[xj>>2]=wj;q[yj+28>>2]=q[yj+28>>2]+1}if(!zj){break e}wj=q[yj+28>>2]+q[yj+24>>2]|0;xj=q[yj+16>>2];vj=q[yj+12>>2];Cj=xj-vj|0;if((wj|0)==((Cj?w(Cj>>2,341)+ -1|0:0)|0)){re(yj+8|0);xj=q[yj+16>>2];vj=q[yj+12>>2];wj=q[yj+24>>2]+q[yj+28>>2]|0}if((vj|0)==(xj|0)){wj=0}else{xj=(wj>>>0)/341|0;wj=q[(xj<<2)+vj>>2]+w(wj-w(xj,341)|0,12)|0}q[wj+8>>2]=Dj;q[wj+4>>2]=Aj;q[wj>>2]=zj;q[yj+28>>2]=q[yj+28>>2]+1;break e}if(!Fj){break e}Gj=0;while(1){if(vj){Aj=q[Sj>>2];Dj=q[Rj>>2];Bj=q[Kj>>2];Cj=q[Pj>>2];vj=0;while(1){Hj=Dj+(vj<<2)|0;q[Aj+(q[Hj>>2]<<2)>>2]=0;wj=q[Hj>>2]<<2;Jj=q[Ye>>2]-q[wj+Cj>>2]|0;n:{if(!Jj){break n}Nj=wj+Aj|0;Ij=q[Ye+48>>2];zj=32-Ij|0;if((Jj|0)<=(zj|0)){xj=q[Mj>>2];if((xj|0)==q[Tj>>2]){q[Nj>>2]=0;break n}q[Nj>>2]=q[xj>>2]<<Ij>>>32-Jj;wj=Jj+q[Ye+48>>2]|0;q[Ye+48>>2]=wj;if((wj|0)!=32){break n}q[Ye+48>>2]=0;q[Mj>>2]=xj+4;break n}Ej=q[Mj>>2];wj=Ej+4|0;if((wj|0)==q[Tj>>2]){q[Nj>>2]=0;break n}xj=q[Ej>>2];q[Mj>>2]=wj;wj=Jj-zj|0;q[Ye+48>>2]=wj;q[Nj>>2]=q[Ej+4>>2]>>>32-wj|xj<<Ij>>>32-Jj}xj=q[Hj>>2]<<2;wj=xj+Aj|0;q[wj>>2]=q[wj>>2]|q[xj+Bj>>2];vj=vj+1|0;if(vj>>>0<t[Ye+12>>2]){continue}break}}zj=0;vj=q[ci+16>>2];o:{if((vj|0)==q[Lj>>2]){break o}while(1){vj=w(zj,20)+vj|0;xj=q[Sj>>2]+(q[vj+4>>2]<<2)|0;Dj=q[vj>>2];Aj=q[vj+12>>2];p:{if(Aj>>>0>3){break p}wj=q[ci+12>>2];Bj=vj+16|0;if(!q[Bj>>2]){xj=wj;break p}Cj=vj+12|0;vj=0;while(1){wj=Cn(wj,(vj<<2)+xj|0,Aj);Aj=q[Cj>>2];wj=wj+Aj|0;vj=vj+1|0;if(vj>>>0<t[Bj>>2]){continue}break}xj=q[ci+12>>2]}vj=q[ci+28>>2];vj=r[Dj+84|0]?vj:q[q[Dj+68>>2]+(vj<<2)>>2];if(vj>>>0>=t[Dj+80>>2]){break o}wj=q[Dj+40>>2];Cn(q[q[Dj>>2]>>2]+w(wj,vj)|0,xj,wj);zj=zj+1|0;vj=q[ci+16>>2];if(zj>>>0<(q[Lj>>2]-vj|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Gj=Gj+1|0;if((Gj|0)==(Fj|0)){break e}vj=q[Ye+12>>2];continue}}vj=q[yj+28>>2];if(vj){continue}break}wj=1}se(yj+8|0);vj=q[yj+12>>2];Ye=q[yj+16>>2];q:{if((vj|0)==(Ye|0)){break q}while(1){An(q[vj>>2]);vj=vj+4|0;if((Ye|0)!=(vj|0)){continue}break}Zh=q[yj+16>>2];Ye=q[yj+12>>2];if((Zh|0)==(Ye|0)){break q}q[yj+16>>2]=Zh+(((Zh-Ye|0)+ -4>>>2^-1)<<2)}Ye=q[yj+8>>2];if(Ye){An(Ye)}T=yj+32|0;return wj}bn();F()}bn();F()}function be(Ye,Zh,ci){var Wj=0,Xj=0,Yj=0,Zj=0,_j=0,$j=0,ak=0,bk=0,ck=0,dk=0,ek=0,fk=0,gk=0,hk=0,ik=0,jk=0,kk=0,lk=0,mk=0,nk=0,ok=0,pk=0,qk=0,rk=0,sk=0,tk=0,uk=0;Zj=T-32|0;T=Zj;Xj=q[Ye+12>>2];q[Zj+16>>2]=0;q[Zj+8>>2]=0;q[Zj+12>>2]=0;a:{if(Xj){if(Xj>>>0>=1073741824){break a}Wj=Xj<<2;Yj=Mm(Wj);q[Zj+8>>2]=Yj;q[Zj+12>>2]=Yj;q[Zj+16>>2]=Wj+Yj;_j=Dn(Yj,0,Wj);Wj=Xj;while(1){_j=_j+4|0;Wj=Wj+ -1|0;if(Wj){continue}break}q[Zj+12>>2]=_j}Wj=q[Ye+116>>2];$j=q[Wj>>2];if($j){q[Wj+4>>2]=$j;An($j);q[Wj+8>>2]=0;q[Wj>>2]=0;q[Wj+4>>2]=0;Xj=q[Ye+12>>2];_j=q[Zj+12>>2];Yj=q[Zj+8>>2]}q[Wj>>2]=Yj;q[Wj+4>>2]=_j;q[Wj+8>>2]=q[Zj+16>>2];_j=0;q[Zj+16>>2]=0;q[Zj+8>>2]=0;q[Zj+12>>2]=0;Wj=0;b:{if(Xj){if(Xj>>>0>=1073741824){break b}Yj=Xj<<2;Wj=Mm(Yj);q[Zj+8>>2]=Wj;q[Zj+12>>2]=Wj;q[Zj+16>>2]=Wj+Yj;_j=Dn(Wj,0,Yj);while(1){_j=_j+4|0;Xj=Xj+ -1|0;if(Xj){continue}break}q[Zj+12>>2]=_j}Yj=q[Ye+128>>2];$j=q[Yj>>2];if($j){q[Yj+4>>2]=$j;An($j);q[Yj+8>>2]=0;q[Yj>>2]=0;q[Yj+4>>2]=0;_j=q[Zj+12>>2];Wj=q[Zj+8>>2]}q[Yj>>2]=Wj;q[Yj+4>>2]=_j;q[Yj+8>>2]=q[Zj+16>>2];Yj=Zj+24|0;q[Yj>>2]=0;q[Yj+4>>2]=0;$j=Zj+16|0;q[$j>>2]=0;q[$j+4>>2]=0;q[Zj+8>>2]=0;q[Zj+12>>2]=0;re(Zj+8|0);Xj=q[$j>>2];$j=q[Zj+12>>2];Wj=0;c:{if((Xj|0)==($j|0)){break c}Wj=q[Yj>>2]+q[Zj+28>>2]|0;Yj=(Wj>>>0)/341|0;Wj=q[$j+(Yj<<2)>>2]+w(Wj-w(Yj,341)|0,12)|0}q[Wj+4>>2]=0;q[Wj+8>>2]=0;q[Wj>>2]=Zh;Yj=1;Wj=q[Zj+28>>2];Xj=Wj+1|0;q[Zj+28>>2]=Xj;d:{if(Xj>>>0<Wj>>>0){break d}qk=Ye+16|0;kk=Ye+116|0;lk=Ye+128|0;hk=ci+20|0;mk=Ye+104|0;nk=Ye+92|0;ik=Ye+44|0;ok=Ye+36|0;rk=Ye+76|0;while(1){ek=q[Zj+12>>2];Yj=q[Zj+24>>2];ak=Xj+ -1|0;Wj=Yj+ak|0;$j=(Wj>>>0)/341|0;Wj=q[ek+($j<<2)>>2]+w(Wj-w($j,341)|0,12)|0;ck=q[Wj+8>>2];_j=q[Wj+4>>2];$j=q[Wj>>2];q[Zj+28>>2]=ak;Wj=q[Zj+16>>2];ak=Wj-ek|0;if(((ak?w(ak>>2,341)+ -1|0:0)-(Xj+Yj|0)|0)+1>>>0>=682){An(q[Wj+ -4>>2]);q[Zj+16>>2]=q[Zj+16>>2]+ -4}if($j>>>0>Zh>>>0){Yj=0;break d}Yj=0;Wj=q[Ye+12>>2];_j=(_j|0)==(Wj+ -1|0)?0:_j+1|0;if(_j>>>0>=Wj>>>0){break d}Wj=q[kk>>2];Xj=w(ck,12);ek=Wj+Xj|0;e:{ak=_j<<2;fk=Xj+q[lk>>2]|0;bk=q[Ye>>2]-q[ak+q[fk>>2]>>2]|0;if(!bk){if(!$j){break e}bk=0;while(1){ck=0;Xj=q[ci+16>>2];f:{if((Xj|0)==q[hk>>2]){break f}while(1){Xj=w(ck,20)+Xj|0;Yj=q[ek>>2]+(q[Xj+4>>2]<<2)|0;ak=q[Xj>>2];_j=q[Xj+12>>2];g:{if(_j>>>0>3){break g}Wj=q[ci+12>>2];dk=Xj+16|0;if(!q[dk>>2]){Yj=Wj;break g}fk=Xj+12|0;Xj=0;while(1){Wj=Cn(Wj,(Xj<<2)+Yj|0,_j);_j=q[fk>>2];Wj=Wj+_j|0;Xj=Xj+1|0;if(Xj>>>0<t[dk>>2]){continue}break}Yj=q[ci+12>>2]}Xj=q[ci+28>>2];Xj=r[ak+84|0]?Xj:q[q[ak+68>>2]+(Xj<<2)>>2];if(Xj>>>0>=t[ak+80>>2]){break f}Wj=q[ak+40>>2];Cn(q[q[ak>>2]>>2]+w(Wj,Xj)|0,Yj,Wj);ck=ck+1|0;Xj=q[ci+16>>2];if(ck>>>0<(q[hk>>2]-Xj|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;bk=bk+1|0;if(($j|0)!=(bk|0)){continue}break}break e}h:{i:{j:{k:{if($j>>>0<=2){Yj=q[mk>>2];q[Yj>>2]=_j;Wj=1;Xj=q[Ye+12>>2];if(Xj>>>0>1){break k}break h}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}Yj=Wj;Wj=Xj+12|0;hd(Yj+Wj|0,q[ek>>2],q[ek+4>>2]);Wj=ak+q[Wj+q[kk>>2]>>2]|0;q[Wj>>2]=q[Wj>>2]+(1<<bk+ -1);q[Zj+4>>2]=0;eh(qk,z($j)^31,Zj+4|0);ek=ck+1|0;Wj=($j>>>1)-q[Zj+4>>2]|0;Yj=$j-Wj|0;l:{if((Yj|0)==(Wj|0)){Yj=Wj;break l}$j=q[Ye+84>>2];if(($j|0)==q[rk>>2]){break j}bk=q[$j>>2];dk=q[Ye+88>>2];fk=dk+1|0;q[Ye+88>>2]=fk;bk=bk&-2147483648>>>dk;m:{if((fk|0)==32){q[Ye+88>>2]=0;q[Ye+84>>2]=$j+4;if(bk){break m}break j}if(!bk){break j}}}$j=Yj;Yj=Wj;break i}while(1){_j=(Xj+ -1|0)==(_j|0)?0:_j+1|0;q[Yj+(Wj<<2)>>2]=_j;Wj=Wj+1|0;Xj=q[Ye+12>>2];if(Wj>>>0<Xj>>>0){continue}break}break h}$j=Wj}bk=ak;Wj=q[lk>>2];Xj=Wj+Xj|0;ak=q[Xj>>2];bk=bk+ak|0;q[bk>>2]=q[bk>>2]+1;hd(Wj+w(ek,12)|0,ak,q[Xj+4>>2]);if(Yj){Wj=q[Zj+28>>2]+q[Zj+24>>2]|0;ak=q[Zj+16>>2];Xj=q[Zj+12>>2];bk=ak-Xj|0;if((Wj|0)==((bk?w(bk>>2,341)+ -1|0:0)|0)){re(Zj+8|0);ak=q[Zj+16>>2];Xj=q[Zj+12>>2];Wj=q[Zj+24>>2]+q[Zj+28>>2]|0}if((Xj|0)==(ak|0)){Wj=0}else{ak=Xj;Xj=(Wj>>>0)/341|0;Wj=q[ak+(Xj<<2)>>2]+w(Wj-w(Xj,341)|0,12)|0}q[Wj+8>>2]=ck;q[Wj+4>>2]=_j;q[Wj>>2]=Yj;q[Zj+28>>2]=q[Zj+28>>2]+1}if(!$j){break e}Wj=q[Zj+28>>2]+q[Zj+24>>2]|0;Yj=q[Zj+16>>2];Xj=q[Zj+12>>2];ck=Yj-Xj|0;if((Wj|0)==((ck?w(ck>>2,341)+ -1|0:0)|0)){re(Zj+8|0);Yj=q[Zj+16>>2];Xj=q[Zj+12>>2];Wj=q[Zj+24>>2]+q[Zj+28>>2]|0}if((Xj|0)==(Yj|0)){Wj=0}else{Yj=(Wj>>>0)/341|0;Wj=q[(Yj<<2)+Xj>>2]+w(Wj-w(Yj,341)|0,12)|0}q[Wj+8>>2]=ek;q[Wj+4>>2]=_j;q[Wj>>2]=$j;q[Zj+28>>2]=q[Zj+28>>2]+1;break e}if(!$j){break e}bk=0;while(1){if(Xj){_j=q[nk>>2];jk=q[mk>>2];sk=q[ek>>2];tk=q[fk>>2];Xj=0;while(1){ck=jk+(Xj<<2)|0;q[_j+(q[ck>>2]<<2)>>2]=0;Yj=q[ck>>2]<<2;Wj=q[Ye>>2]-q[Yj+tk>>2]|0;n:{if(!Wj){break n}Yj=Yj+_j|0;ak=q[Ye+48>>2];gk=32-ak|0;if((Wj|0)<=(gk|0)){dk=q[ik>>2];if((dk|0)==q[ok>>2]){q[Yj>>2]=0;break n}q[Yj>>2]=q[dk>>2]<<ak>>>32-Wj;Wj=Wj+q[Ye+48>>2]|0;q[Ye+48>>2]=Wj;if((Wj|0)!=32){break n}q[Ye+48>>2]=0;q[ik>>2]=dk+4;break n}dk=q[ik>>2];pk=dk+4|0;if((pk|0)==q[ok>>2]){q[Yj>>2]=0;break n}uk=q[dk>>2];q[ik>>2]=pk;gk=Wj-gk|0;q[Ye+48>>2]=gk;q[Yj>>2]=q[dk+4>>2]>>>32-gk|uk<<ak>>>32-Wj}Wj=q[ck>>2]<<2;Yj=Wj+_j|0;q[Yj>>2]=q[Yj>>2]|q[Wj+sk>>2];Xj=Xj+1|0;if(Xj>>>0<t[Ye+12>>2]){continue}break}}ck=0;Xj=q[ci+16>>2];o:{if((Xj|0)==q[hk>>2]){break o}while(1){Xj=w(ck,20)+Xj|0;Yj=q[nk>>2]+(q[Xj+4>>2]<<2)|0;ak=q[Xj>>2];_j=q[Xj+12>>2];p:{if(_j>>>0>3){break p}Wj=q[ci+12>>2];dk=Xj+16|0;if(!q[dk>>2]){Yj=Wj;break p}jk=Xj+12|0;Xj=0;while(1){Wj=Cn(Wj,(Xj<<2)+Yj|0,_j);_j=q[jk>>2];Wj=Wj+_j|0;Xj=Xj+1|0;if(Xj>>>0<t[dk>>2]){continue}break}Yj=q[ci+12>>2]}Xj=q[ci+28>>2];Xj=r[ak+84|0]?Xj:q[q[ak+68>>2]+(Xj<<2)>>2];if(Xj>>>0>=t[ak+80>>2]){break o}Wj=q[ak+40>>2];Cn(q[q[ak>>2]>>2]+w(Wj,Xj)|0,Yj,Wj);ck=ck+1|0;Xj=q[ci+16>>2];if(ck>>>0<(q[hk>>2]-Xj|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;bk=bk+1|0;if((bk|0)==($j|0)){break e}Xj=q[Ye+12>>2];continue}}Xj=q[Zj+28>>2];if(Xj){continue}break}Yj=1}se(Zj+8|0);Xj=q[Zj+12>>2];Ye=q[Zj+16>>2];q:{if((Xj|0)==(Ye|0)){break q}while(1){An(q[Xj>>2]);Xj=Xj+4|0;if((Ye|0)!=(Xj|0)){continue}break}Ye=q[Zj+16>>2];Zh=q[Zj+12>>2];if((Ye|0)==(Zh|0)){break q}q[Zj+16>>2]=Ye+(((Ye-Zh|0)+ -4>>>2^-1)<<2)}Ye=q[Zj+8>>2];if(Ye){An(Ye)}T=Zj+32|0;return Yj}bn();F()}bn();F()}function ce(Ye,Zh,ci){var vk=0,wk=0,xk=0,yk=0,zk=0,Ak=0,Bk=0,Ck=0,Dk=0,Ek=0,Fk=0,Gk=0,Hk=0,Ik=0,Jk=0,Kk=0,Lk=0,Mk=0,Nk=0,Ok=0,Pk=0,Qk=0,Rk=0,Sk=0,Tk=0,Uk=0;yk=T-32|0;T=yk;vk=q[Ye+12>>2];q[yk+16>>2]=0;q[yk+8>>2]=0;q[yk+12>>2]=0;a:{if(vk){if(vk>>>0>=1073741824){break a}wk=vk<<2;xk=Mm(wk);q[yk+8>>2]=xk;q[yk+12>>2]=xk;q[yk+16>>2]=wk+xk;Ak=Dn(xk,0,wk);wk=vk;while(1){Ak=Ak+4|0;wk=wk+ -1|0;if(wk){continue}break}q[yk+12>>2]=Ak}wk=q[Ye+628>>2];zk=q[wk>>2];if(zk){q[wk+4>>2]=zk;An(zk);q[wk+8>>2]=0;q[wk>>2]=0;q[wk+4>>2]=0;vk=q[Ye+12>>2];Ak=q[yk+12>>2];xk=q[yk+8>>2]}q[wk>>2]=xk;q[wk+4>>2]=Ak;q[wk+8>>2]=q[yk+16>>2];Ak=0;q[yk+16>>2]=0;q[yk+8>>2]=0;q[yk+12>>2]=0;wk=0;b:{if(vk){if(vk>>>0>=1073741824){break b}xk=vk<<2;wk=Mm(xk);q[yk+8>>2]=wk;q[yk+12>>2]=wk;q[yk+16>>2]=wk+xk;Ak=Dn(wk,0,xk);while(1){Ak=Ak+4|0;vk=vk+ -1|0;if(vk){continue}break}q[yk+12>>2]=Ak}xk=q[Ye+640>>2];vk=q[xk>>2];if(vk){q[xk+4>>2]=vk;An(vk);q[xk+8>>2]=0;q[xk>>2]=0;q[xk+4>>2]=0;Ak=q[yk+12>>2];wk=q[yk+8>>2]}q[xk>>2]=wk;q[xk+4>>2]=Ak;q[xk+8>>2]=q[yk+16>>2];vk=yk+24|0;q[vk>>2]=0;q[vk+4>>2]=0;wk=yk+16|0;q[wk>>2]=0;q[wk+4>>2]=0;q[yk+8>>2]=0;q[yk+12>>2]=0;re(yk+8|0);zk=q[wk>>2];wk=q[yk+12>>2];xk=0;c:{if((zk|0)==(wk|0)){break c}xk=q[vk>>2]+q[yk+28>>2]|0;vk=(xk>>>0)/341|0;xk=q[wk+(vk<<2)>>2]+w(xk-w(vk,341)|0,12)|0}q[xk+4>>2]=0;q[xk+8>>2]=0;q[xk>>2]=Zh;wk=1;xk=q[yk+28>>2];vk=xk+1|0;q[yk+28>>2]=vk;d:{if(vk>>>0<xk>>>0){break d}Mk=Ye+640|0;Lk=Ye+628|0;Jk=ci+20|0;Nk=Ye+616|0;Ok=Ye+604|0;Kk=Ye+556|0;Pk=Ye+548|0;Rk=Ye+588|0;while(1){Dk=q[yk+12>>2];wk=q[yk+24>>2];Ak=vk+ -1|0;xk=wk+Ak|0;zk=(xk>>>0)/341|0;xk=q[Dk+(zk<<2)>>2]+w(xk-w(zk,341)|0,12)|0;Ck=q[xk+8>>2];Fk=q[xk+4>>2];zk=q[xk>>2];q[yk+28>>2]=Ak;xk=q[yk+16>>2];Ak=xk-Dk|0;if(((Ak?w(Ak>>2,341)+ -1|0:0)-(vk+wk|0)|0)+1>>>0>=682){An(q[xk+ -4>>2]);q[yk+16>>2]=q[yk+16>>2]+ -4}wk=0;if(zk>>>0>Zh>>>0){break d}xk=q[Lk>>2];Bk=w(Ck,12);Gk=Bk+q[Mk>>2]|0;Ak=ml(Ye,Gk,Fk);if(Ak>>>0>=t[Ye+12>>2]){break d}Dk=xk+Bk|0;e:{f:{Fk=Ak<<2;vk=q[Ye>>2]-q[Fk+q[Gk>>2]>>2]|0;if(!vk){if(!zk){break f}Gk=0;while(1){Ck=0;vk=q[ci+16>>2];g:{if((vk|0)==q[Jk>>2]){break g}while(1){vk=w(Ck,20)+vk|0;xk=q[Dk>>2]+(q[vk+4>>2]<<2)|0;Bk=q[vk>>2];Ak=q[vk+12>>2];h:{if(Ak>>>0>3){break h}wk=q[ci+12>>2];Fk=vk+16|0;if(!q[Fk>>2]){xk=wk;break h}Ek=vk+12|0;vk=0;while(1){wk=Cn(wk,(vk<<2)+xk|0,Ak);Ak=q[Ek>>2];wk=wk+Ak|0;vk=vk+1|0;if(vk>>>0<t[Fk>>2]){continue}break}xk=q[ci+12>>2]}vk=q[ci+28>>2];vk=r[Bk+84|0]?vk:q[q[Bk+68>>2]+(vk<<2)>>2];if(vk>>>0>=t[Bk+80>>2]){break g}wk=vk;vk=q[Bk+40>>2];Cn(q[q[Bk>>2]>>2]+w(wk,vk)|0,xk,vk);Ck=Ck+1|0;vk=q[ci+16>>2];if(Ck>>>0<(q[Jk>>2]-vk|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Gk=Gk+1|0;if((zk|0)!=(Gk|0)){continue}break}break f}i:{j:{k:{l:{if(zk>>>0<=2){xk=q[Nk>>2];q[xk>>2]=Ak;wk=1;vk=q[Ye+12>>2];if(vk>>>0>1){break l}break i}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}xk=q[Lk>>2];Ek=Ck+1|0;Gk=w(Ek,12);wk=xk+Gk|0;if((wk|0)!=(Dk|0)){hd(wk,q[Dk>>2],q[Dk+4>>2]);xk=q[Lk>>2]}xk=Fk+q[xk+Gk>>2]|0;q[xk>>2]=q[xk>>2]+(1<<vk+ -1);wk=0;vk=0;xk=z(zk)^31;if(xk){while(1){wk=dh(((vk<<4)+Ye|0)+16|0)|wk<<1;vk=vk+1|0;if((xk|0)!=(vk|0)){continue}break}}wk=(zk>>>1)-wk|0;vk=zk-wk|0;m:{if((vk|0)==(wk|0)){vk=wk;break m}xk=q[Ye+596>>2];if((xk|0)==q[Rk>>2]){break k}zk=q[xk>>2];Dk=q[Ye+600>>2];Hk=Dk+1|0;q[Ye+600>>2]=Hk;zk=zk&-2147483648>>>Dk;n:{if((Hk|0)==32){q[Ye+600>>2]=0;q[Ye+596>>2]=xk+4;if(zk){break n}break k}if(!zk){break k}}}xk=vk;vk=wk;break j}while(1){Ak=(vk+ -1|0)==(Ak|0)?0:Ak+1|0;q[xk+(wk<<2)>>2]=Ak;wk=wk+1|0;vk=q[Ye+12>>2];if(wk>>>0<vk>>>0){continue}break}break i}xk=wk}wk=q[Mk>>2];zk=wk+Bk|0;Dk=q[zk>>2];Bk=Dk+Fk|0;q[Bk>>2]=q[Bk>>2]+1;hd(wk+Gk|0,Dk,q[zk+4>>2]);if(vk){Dk=q[yk+28>>2]+q[yk+24>>2]|0;Bk=q[yk+16>>2];wk=q[yk+12>>2];zk=Bk-wk|0;if((Dk|0)==((zk?w(zk>>2,341)+ -1|0:0)|0)){re(yk+8|0);Dk=q[yk+24>>2]+q[yk+28>>2]|0;Bk=q[yk+16>>2];wk=q[yk+12>>2]}zk=0;o:{if((wk|0)==(Bk|0)){break o}zk=wk;wk=(Dk>>>0)/341|0;zk=q[zk+(wk<<2)>>2]+w(Dk-w(wk,341)|0,12)|0}q[zk+8>>2]=Ck;q[zk+4>>2]=Ak;q[zk>>2]=vk;q[yk+28>>2]=q[yk+28>>2]+1}if(!xk){break f}wk=q[yk+28>>2]+q[yk+24>>2]|0;zk=q[yk+16>>2];vk=q[yk+12>>2];Ck=zk-vk|0;if((wk|0)==((Ck?w(Ck>>2,341)+ -1|0:0)|0)){re(yk+8|0);zk=q[yk+16>>2];wk=q[yk+24>>2]+q[yk+28>>2]|0;vk=q[yk+12>>2]}if((vk|0)==(zk|0)){vk=0}else{zk=vk;vk=(wk>>>0)/341|0;vk=q[zk+(vk<<2)>>2]+w(wk-w(vk,341)|0,12)|0}q[vk+8>>2]=Ek;q[vk+4>>2]=Ak;q[vk>>2]=xk;vk=q[yk+28>>2]+1|0;q[yk+28>>2]=vk;break e}if(!zk){break f}Fk=0;while(1){if(vk){Ak=q[Ok>>2];Hk=q[Nk>>2];Sk=q[Dk>>2];Tk=q[Gk>>2];vk=0;while(1){Ck=Hk+(vk<<2)|0;q[Ak+(q[Ck>>2]<<2)>>2]=0;wk=q[Ck>>2]<<2;xk=q[Ye>>2]-q[wk+Tk>>2]|0;p:{if(!xk){break p}wk=wk+Ak|0;Bk=q[Ye+560>>2];Ik=32-Bk|0;if((xk|0)<=(Ik|0)){Ek=q[Kk>>2];if((Ek|0)==q[Pk>>2]){q[wk>>2]=0;break p}q[wk>>2]=q[Ek>>2]<<Bk>>>32-xk;xk=xk+q[Ye+560>>2]|0;q[Ye+560>>2]=xk;if((xk|0)!=32){break p}q[Ye+560>>2]=0;q[Kk>>2]=Ek+4;break p}Ek=q[Kk>>2];Qk=Ek+4|0;if((Qk|0)==q[Pk>>2]){q[wk>>2]=0;break p}Uk=q[Ek>>2];q[Kk>>2]=Qk;Ik=xk-Ik|0;q[Ye+560>>2]=Ik;q[wk>>2]=q[Ek+4>>2]>>>32-Ik|Uk<<Bk>>>32-xk}xk=q[Ck>>2]<<2;wk=xk+Ak|0;q[wk>>2]=q[wk>>2]|q[xk+Sk>>2];vk=vk+1|0;if(vk>>>0<t[Ye+12>>2]){continue}break}}Ck=0;vk=q[ci+16>>2];q:{if((vk|0)==q[Jk>>2]){break q}while(1){vk=w(Ck,20)+vk|0;xk=q[Ok>>2]+(q[vk+4>>2]<<2)|0;Bk=q[vk>>2];Ak=q[vk+12>>2];r:{if(Ak>>>0>3){break r}wk=q[ci+12>>2];Ek=vk+16|0;if(!q[Ek>>2]){xk=wk;break r}Hk=vk+12|0;vk=0;while(1){wk=Cn(wk,(vk<<2)+xk|0,Ak);Ak=q[Hk>>2];wk=wk+Ak|0;vk=vk+1|0;if(vk>>>0<t[Ek>>2]){continue}break}xk=q[ci+12>>2]}vk=q[ci+28>>2];vk=r[Bk+84|0]?vk:q[q[Bk+68>>2]+(vk<<2)>>2];if(vk>>>0>=t[Bk+80>>2]){break q}wk=vk;vk=q[Bk+40>>2];Cn(q[q[Bk>>2]>>2]+w(wk,vk)|0,xk,vk);Ck=Ck+1|0;vk=q[ci+16>>2];if(Ck>>>0<(q[Jk>>2]-vk|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Fk=Fk+1|0;if((Fk|0)==(zk|0)){break f}vk=q[Ye+12>>2];continue}}vk=q[yk+28>>2]}if(vk){continue}break}wk=1}se(yk+8|0);vk=q[yk+12>>2];Ye=q[yk+16>>2];s:{if((vk|0)==(Ye|0)){break s}while(1){An(q[vk>>2]);vk=vk+4|0;if((Ye|0)!=(vk|0)){continue}break}Ye=q[yk+16>>2];Zh=q[yk+12>>2];if((Ye|0)==(Zh|0)){break s}q[yk+16>>2]=Ye+(((Ye-Zh|0)+ -4>>>2^-1)<<2)}Ye=q[yk+8>>2];if(Ye){An(Ye)}T=yk+32|0;return wk}bn();F()}bn();F()}function de(q){ah(q);ah(q+16|0);ah(q+32|0);ah(q+48|0);ah(q- -64|0);ah(q+80|0);ah(q+96|0);ah(q+112|0);ah(q+128|0);ah(q+144|0);ah(q+160|0);ah(q+176|0);ah(q+192|0);ah(q+208|0);ah(q+224|0);ah(q+240|0);ah(q+256|0);ah(q+272|0);ah(q+288|0);ah(q+304|0);ah(q+320|0);ah(q+336|0);ah(q+352|0);ah(q+368|0);ah(q+384|0);ah(q+400|0);ah(q+416|0);ah(q+432|0);ah(q+448|0);ah(q+464|0);ah(q+480|0);ah(q+496|0)}function ee(Ye,Zh,ci){var Vk=0,Wk=0,Xk=0,Yk=0,Zk=0,_k=0,$k=0,al=0,bl=0,cl=0,dl=0,el=0,fl=0,gl=0,hl=0,il=0,jl=0,kl=0,ll=0,ml=0,nl=0,ol=0,pl=0,ql=0,rl=0,sl=0;Yk=T-32|0;T=Yk;Vk=q[Ye+12>>2];q[Yk+16>>2]=0;q[Yk+8>>2]=0;q[Yk+12>>2]=0;a:{if(Vk){if(Vk>>>0>=1073741824){break a}Wk=Vk<<2;Xk=Mm(Wk);q[Yk+8>>2]=Xk;q[Yk+12>>2]=Xk;q[Yk+16>>2]=Wk+Xk;Zk=Dn(Xk,0,Wk);Wk=Vk;while(1){Zk=Zk+4|0;Wk=Wk+ -1|0;if(Wk){continue}break}q[Yk+12>>2]=Zk}Wk=q[Ye+628>>2];_k=q[Wk>>2];if(_k){q[Wk+4>>2]=_k;An(_k);q[Wk+8>>2]=0;q[Wk>>2]=0;q[Wk+4>>2]=0;Vk=q[Ye+12>>2];Zk=q[Yk+12>>2];Xk=q[Yk+8>>2]}q[Wk>>2]=Xk;q[Wk+4>>2]=Zk;q[Wk+8>>2]=q[Yk+16>>2];Zk=0;q[Yk+16>>2]=0;q[Yk+8>>2]=0;q[Yk+12>>2]=0;Wk=0;b:{if(Vk){if(Vk>>>0>=1073741824){break b}Xk=Vk<<2;Wk=Mm(Xk);q[Yk+8>>2]=Wk;q[Yk+12>>2]=Wk;q[Yk+16>>2]=Wk+Xk;Zk=Dn(Wk,0,Xk);while(1){Zk=Zk+4|0;Vk=Vk+ -1|0;if(Vk){continue}break}q[Yk+12>>2]=Zk}Xk=q[Ye+640>>2];Vk=q[Xk>>2];if(Vk){q[Xk+4>>2]=Vk;An(Vk);q[Xk+8>>2]=0;q[Xk>>2]=0;q[Xk+4>>2]=0;Zk=q[Yk+12>>2];Wk=q[Yk+8>>2]}q[Xk>>2]=Wk;q[Xk+4>>2]=Zk;q[Xk+8>>2]=q[Yk+16>>2];Vk=Yk+24|0;q[Vk>>2]=0;q[Vk+4>>2]=0;Wk=Yk+16|0;q[Wk>>2]=0;q[Wk+4>>2]=0;q[Yk+8>>2]=0;q[Yk+12>>2]=0;re(Yk+8|0);_k=q[Wk>>2];Wk=q[Yk+12>>2];Xk=0;c:{if((_k|0)==(Wk|0)){break c}Xk=q[Vk>>2]+q[Yk+28>>2]|0;Vk=(Xk>>>0)/341|0;Xk=q[Wk+(Vk<<2)>>2]+w(Xk-w(Vk,341)|0,12)|0}q[Xk+4>>2]=0;q[Xk+8>>2]=0;q[Xk>>2]=Zh;Xk=1;Wk=q[Yk+28>>2];Vk=Wk+1|0;q[Yk+28>>2]=Vk;d:{if(Vk>>>0<Wk>>>0){break d}jl=Ye+628|0;kl=Ye+640|0;gl=ci+20|0;ll=Ye+616|0;ml=Ye+604|0;hl=Ye+556|0;nl=Ye+548|0;pl=Ye+588|0;while(1){dl=q[Yk+12>>2];Zk=q[Yk+24>>2];$k=Vk+ -1|0;Xk=Zk+$k|0;Wk=(Xk>>>0)/341|0;Xk=q[dl+(Wk<<2)>>2]+w(Xk-w(Wk,341)|0,12)|0;al=q[Xk+8>>2];Wk=q[Xk+4>>2];_k=q[Xk>>2];q[Yk+28>>2]=$k;Xk=q[Yk+16>>2];$k=Xk-dl|0;if((($k?w($k>>2,341)+ -1|0:0)-(Vk+Zk|0)|0)+1>>>0>=682){An(q[Xk+ -4>>2]);q[Yk+16>>2]=q[Yk+16>>2]+ -4}if(_k>>>0>Zh>>>0){Xk=0;break d}Xk=0;Vk=q[Ye+12>>2];Zk=(Wk|0)==(Vk+ -1|0)?0:Wk+1|0;if(Zk>>>0>=Vk>>>0){break d}Vk=q[jl>>2];$k=w(al,12);dl=Vk+$k|0;e:{f:{bl=Zk<<2;el=$k+q[kl>>2]|0;Wk=q[Ye>>2]-q[bl+q[el>>2]>>2]|0;if(!Wk){if(!_k){break f}bl=0;while(1){$k=0;Vk=q[ci+16>>2];g:{if((Vk|0)==q[gl>>2]){break g}while(1){Vk=w($k,20)+Vk|0;Xk=q[dl>>2]+(q[Vk+4>>2]<<2)|0;al=q[Vk>>2];Zk=q[Vk+12>>2];h:{if(Zk>>>0>3){break h}Wk=q[ci+12>>2];cl=Vk+16|0;if(!q[cl>>2]){Xk=Wk;break h}el=Vk+12|0;Vk=0;while(1){Wk=Cn(Wk,(Vk<<2)+Xk|0,Zk);Zk=q[el>>2];Wk=Wk+Zk|0;Vk=Vk+1|0;if(Vk>>>0<t[cl>>2]){continue}break}Xk=q[ci+12>>2]}Vk=q[ci+28>>2];Vk=r[al+84|0]?Vk:q[q[al+68>>2]+(Vk<<2)>>2];if(Vk>>>0>=t[al+80>>2]){break g}Wk=Vk;Vk=q[al+40>>2];Cn(q[q[al>>2]>>2]+w(Wk,Vk)|0,Xk,Vk);$k=$k+1|0;Vk=q[ci+16>>2];if($k>>>0<(q[gl>>2]-Vk|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;bl=bl+1|0;if((_k|0)!=(bl|0)){continue}break}break f}i:{j:{k:{l:{if(_k>>>0<=2){Xk=q[ll>>2];q[Xk>>2]=Zk;Wk=1;Vk=q[Ye+12>>2];if(Vk>>>0>1){break l}break i}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}Xk=$k+12|0;hd(Xk+Vk|0,q[dl>>2],q[dl+4>>2]);Xk=bl+q[Xk+q[jl>>2]>>2]|0;q[Xk>>2]=q[Xk>>2]+(1<<Wk+ -1);Wk=0;Vk=0;Xk=z(_k)^31;if(Xk){while(1){Wk=dh(((Vk<<4)+Ye|0)+16|0)|Wk<<1;Vk=Vk+1|0;if((Xk|0)!=(Vk|0)){continue}break}}dl=al+1|0;Wk=(_k>>>1)-Wk|0;Vk=_k-Wk|0;m:{if((Vk|0)==(Wk|0)){Vk=Wk;break m}Xk=q[Ye+596>>2];if((Xk|0)==q[pl>>2]){break k}_k=q[Xk>>2];cl=q[Ye+600>>2];el=cl+1|0;q[Ye+600>>2]=el;_k=_k&-2147483648>>>cl;n:{if((el|0)==32){q[Ye+600>>2]=0;q[Ye+596>>2]=Xk+4;if(_k){break n}break k}if(!_k){break k}}}Xk=Vk;Vk=Wk;break j}while(1){Zk=(Vk+ -1|0)==(Zk|0)?0:Zk+1|0;q[Xk+(Wk<<2)>>2]=Zk;Wk=Wk+1|0;Vk=q[Ye+12>>2];if(Wk>>>0<Vk>>>0){continue}break}break i}Xk=Wk}Wk=q[kl>>2];_k=Wk+$k|0;$k=q[_k>>2];bl=$k+bl|0;q[bl>>2]=q[bl>>2]+1;hd(Wk+w(dl,12)|0,$k,q[_k+4>>2]);if(Vk){$k=q[Yk+28>>2]+q[Yk+24>>2]|0;bl=q[Yk+16>>2];Wk=q[Yk+12>>2];_k=bl-Wk|0;if(($k|0)==((_k?w(_k>>2,341)+ -1|0:0)|0)){re(Yk+8|0);$k=q[Yk+24>>2]+q[Yk+28>>2]|0;bl=q[Yk+16>>2];Wk=q[Yk+12>>2]}_k=0;o:{if((Wk|0)==(bl|0)){break o}_k=Wk;Wk=($k>>>0)/341|0;_k=q[_k+(Wk<<2)>>2]+w($k-w(Wk,341)|0,12)|0}q[_k+8>>2]=al;q[_k+4>>2]=Zk;q[_k>>2]=Vk;q[Yk+28>>2]=q[Yk+28>>2]+1}if(!Xk){break f}Wk=q[Yk+28>>2]+q[Yk+24>>2]|0;$k=q[Yk+16>>2];Vk=q[Yk+12>>2];_k=$k-Vk|0;if((Wk|0)==((_k?w(_k>>2,341)+ -1|0:0)|0)){re(Yk+8|0);$k=q[Yk+16>>2];Wk=q[Yk+24>>2]+q[Yk+28>>2]|0;Vk=q[Yk+12>>2]}if((Vk|0)==($k|0)){Vk=0}else{_k=Vk;Vk=(Wk>>>0)/341|0;Vk=q[_k+(Vk<<2)>>2]+w(Wk-w(Vk,341)|0,12)|0}q[Vk+8>>2]=dl;q[Vk+4>>2]=Zk;q[Vk>>2]=Xk;Vk=q[Yk+28>>2]+1|0;q[Yk+28>>2]=Vk;break e}if(!_k){break f}bl=0;while(1){if(Vk){Zk=q[ml>>2];il=q[ll>>2];ql=q[dl>>2];rl=q[el>>2];Vk=0;while(1){$k=il+(Vk<<2)|0;q[Zk+(q[$k>>2]<<2)>>2]=0;Wk=q[$k>>2]<<2;Xk=q[Ye>>2]-q[Wk+rl>>2]|0;p:{if(!Xk){break p}Wk=Wk+Zk|0;al=q[Ye+560>>2];fl=32-al|0;if((Xk|0)<=(fl|0)){cl=q[hl>>2];if((cl|0)==q[nl>>2]){q[Wk>>2]=0;break p}q[Wk>>2]=q[cl>>2]<<al>>>32-Xk;Xk=Xk+q[Ye+560>>2]|0;q[Ye+560>>2]=Xk;if((Xk|0)!=32){break p}q[Ye+560>>2]=0;q[hl>>2]=cl+4;break p}cl=q[hl>>2];ol=cl+4|0;if((ol|0)==q[nl>>2]){q[Wk>>2]=0;break p}sl=q[cl>>2];q[hl>>2]=ol;fl=Xk-fl|0;q[Ye+560>>2]=fl;q[Wk>>2]=q[cl+4>>2]>>>32-fl|sl<<al>>>32-Xk}Xk=q[$k>>2]<<2;Wk=Xk+Zk|0;q[Wk>>2]=q[Wk>>2]|q[Xk+ql>>2];Vk=Vk+1|0;if(Vk>>>0<t[Ye+12>>2]){continue}break}}$k=0;Vk=q[ci+16>>2];q:{if((Vk|0)==q[gl>>2]){break q}while(1){Vk=w($k,20)+Vk|0;Xk=q[ml>>2]+(q[Vk+4>>2]<<2)|0;al=q[Vk>>2];Zk=q[Vk+12>>2];r:{if(Zk>>>0>3){break r}Wk=q[ci+12>>2];cl=Vk+16|0;if(!q[cl>>2]){Xk=Wk;break r}il=Vk+12|0;Vk=0;while(1){Wk=Cn(Wk,(Vk<<2)+Xk|0,Zk);Zk=q[il>>2];Wk=Wk+Zk|0;Vk=Vk+1|0;if(Vk>>>0<t[cl>>2]){continue}break}Xk=q[ci+12>>2]}Vk=q[ci+28>>2];Vk=r[al+84|0]?Vk:q[q[al+68>>2]+(Vk<<2)>>2];if(Vk>>>0>=t[al+80>>2]){break q}Wk=Vk;Vk=q[al+40>>2];Cn(q[q[al>>2]>>2]+w(Wk,Vk)|0,Xk,Vk);$k=$k+1|0;Vk=q[ci+16>>2];if($k>>>0<(q[gl>>2]-Vk|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;bl=bl+1|0;if((bl|0)==(_k|0)){break f}Vk=q[Ye+12>>2];continue}}Vk=q[Yk+28>>2]}if(Vk){continue}break}Xk=1}se(Yk+8|0);Vk=q[Yk+12>>2];Ye=q[Yk+16>>2];s:{if((Vk|0)==(Ye|0)){break s}while(1){An(q[Vk>>2]);Vk=Vk+4|0;if((Ye|0)!=(Vk|0)){continue}break}Ye=q[Yk+16>>2];Zh=q[Yk+12>>2];if((Ye|0)==(Zh|0)){break s}q[Yk+16>>2]=Ye+(((Ye-Zh|0)+ -4>>>2^-1)<<2)}Ye=q[Yk+8>>2];if(Ye){An(Ye)}T=Yk+32|0;return Xk}bn();F()}bn();F()}function fe(Ye,Zh,ci){var tl=0,ul=0,vl=0,wl=0,xl=0,yl=0,zl=0,Al=0,Bl=0,Cl=0,Dl=0,El=0,Fl=0,Gl=0,Hl=0,Il=0,Jl=0,Kl=0,Ll=0,Ml=0,Nl=0,Ol=0,Pl=0,Ql=0,Rl=0,Sl=0;wl=T-32|0;T=wl;tl=q[Ye+12>>2];q[wl+16>>2]=0;q[wl+8>>2]=0;q[wl+12>>2]=0;a:{if(tl){if(tl>>>0>=1073741824){break a}ul=tl<<2;vl=Mm(ul);q[wl+8>>2]=vl;q[wl+12>>2]=vl;q[wl+16>>2]=ul+vl;yl=Dn(vl,0,ul);ul=tl;while(1){yl=yl+4|0;ul=ul+ -1|0;if(ul){continue}break}q[wl+12>>2]=yl}ul=q[Ye+628>>2];xl=q[ul>>2];if(xl){q[ul+4>>2]=xl;An(xl);q[ul+8>>2]=0;q[ul>>2]=0;q[ul+4>>2]=0;tl=q[Ye+12>>2];yl=q[wl+12>>2];vl=q[wl+8>>2]}q[ul>>2]=vl;q[ul+4>>2]=yl;q[ul+8>>2]=q[wl+16>>2];yl=0;q[wl+16>>2]=0;q[wl+8>>2]=0;q[wl+12>>2]=0;ul=0;b:{if(tl){if(tl>>>0>=1073741824){break b}vl=tl<<2;ul=Mm(vl);q[wl+8>>2]=ul;q[wl+12>>2]=ul;q[wl+16>>2]=ul+vl;yl=Dn(ul,0,vl);while(1){yl=yl+4|0;tl=tl+ -1|0;if(tl){continue}break}q[wl+12>>2]=yl}vl=q[Ye+640>>2];tl=q[vl>>2];if(tl){q[vl+4>>2]=tl;An(tl);q[vl+8>>2]=0;q[vl>>2]=0;q[vl+4>>2]=0;yl=q[wl+12>>2];ul=q[wl+8>>2]}q[vl>>2]=ul;q[vl+4>>2]=yl;q[vl+8>>2]=q[wl+16>>2];tl=wl+24|0;q[tl>>2]=0;q[tl+4>>2]=0;ul=wl+16|0;q[ul>>2]=0;q[ul+4>>2]=0;q[wl+8>>2]=0;q[wl+12>>2]=0;re(wl+8|0);xl=q[ul>>2];ul=q[wl+12>>2];vl=0;c:{if((xl|0)==(ul|0)){break c}vl=q[tl>>2]+q[wl+28>>2]|0;tl=(vl>>>0)/341|0;vl=q[ul+(tl<<2)>>2]+w(vl-w(tl,341)|0,12)|0}q[vl+4>>2]=0;q[vl+8>>2]=0;q[vl>>2]=Zh;ul=1;vl=q[wl+28>>2];tl=vl+1|0;q[wl+28>>2]=tl;d:{if(tl>>>0<vl>>>0){break d}Kl=Ye+640|0;Jl=Ye+628|0;Hl=ci+20|0;Ll=Ye+616|0;Ml=Ye+604|0;Il=Ye+556|0;Nl=Ye+548|0;Pl=Ye+588|0;while(1){Bl=q[wl+12>>2];ul=q[wl+24>>2];yl=tl+ -1|0;vl=ul+yl|0;xl=(vl>>>0)/341|0;vl=q[Bl+(xl<<2)>>2]+w(vl-w(xl,341)|0,12)|0;Al=q[vl+8>>2];xl=q[vl>>2];q[wl+28>>2]=yl;vl=q[wl+16>>2];yl=vl-Bl|0;if(((yl?w(yl>>2,341)+ -1|0:0)-(tl+ul|0)|0)+1>>>0>=682){An(q[vl+ -4>>2]);q[wl+16>>2]=q[wl+16>>2]+ -4}ul=0;if(xl>>>0>Zh>>>0){break d}vl=q[Jl>>2];zl=w(Al,12);Dl=zl+q[Kl>>2]|0;yl=nl(Ye,xl,Dl);if(yl>>>0>=t[Ye+12>>2]){break d}Bl=vl+zl|0;e:{f:{El=yl<<2;tl=q[Ye>>2]-q[El+q[Dl>>2]>>2]|0;if(!tl){if(!xl){break f}Dl=0;while(1){Al=0;tl=q[ci+16>>2];g:{if((tl|0)==q[Hl>>2]){break g}while(1){tl=w(Al,20)+tl|0;vl=q[Bl>>2]+(q[tl+4>>2]<<2)|0;zl=q[tl>>2];yl=q[tl+12>>2];h:{if(yl>>>0>3){break h}ul=q[ci+12>>2];El=tl+16|0;if(!q[El>>2]){vl=ul;break h}Cl=tl+12|0;tl=0;while(1){ul=Cn(ul,(tl<<2)+vl|0,yl);yl=q[Cl>>2];ul=ul+yl|0;tl=tl+1|0;if(tl>>>0<t[El>>2]){continue}break}vl=q[ci+12>>2]}tl=q[ci+28>>2];tl=r[zl+84|0]?tl:q[q[zl+68>>2]+(tl<<2)>>2];if(tl>>>0>=t[zl+80>>2]){break g}ul=tl;tl=q[zl+40>>2];Cn(q[q[zl>>2]>>2]+w(ul,tl)|0,vl,tl);Al=Al+1|0;tl=q[ci+16>>2];if(Al>>>0<(q[Hl>>2]-tl|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Dl=Dl+1|0;if((xl|0)!=(Dl|0)){continue}break}break f}i:{j:{k:{l:{if(xl>>>0<=2){vl=q[Ll>>2];q[vl>>2]=yl;ul=1;tl=q[Ye+12>>2];if(tl>>>0>1){break l}break i}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}vl=q[Jl>>2];Cl=Al+1|0;Dl=w(Cl,12);ul=vl+Dl|0;if((ul|0)!=(Bl|0)){hd(ul,q[Bl>>2],q[Bl+4>>2]);vl=q[Jl>>2]}vl=El+q[vl+Dl>>2]|0;q[vl>>2]=q[vl>>2]+(1<<tl+ -1);ul=0;tl=0;vl=z(xl)^31;if(vl){while(1){ul=dh(((tl<<4)+Ye|0)+16|0)|ul<<1;tl=tl+1|0;if((vl|0)!=(tl|0)){continue}break}}ul=(xl>>>1)-ul|0;tl=xl-ul|0;m:{if((tl|0)==(ul|0)){tl=ul;break m}vl=q[Ye+596>>2];if((vl|0)==q[Pl>>2]){break k}xl=q[vl>>2];Bl=q[Ye+600>>2];Fl=Bl+1|0;q[Ye+600>>2]=Fl;xl=xl&-2147483648>>>Bl;n:{if((Fl|0)==32){q[Ye+600>>2]=0;q[Ye+596>>2]=vl+4;if(xl){break n}break k}if(!xl){break k}}}vl=tl;tl=ul;break j}while(1){yl=(tl+ -1|0)==(yl|0)?0:yl+1|0;q[vl+(ul<<2)>>2]=yl;ul=ul+1|0;tl=q[Ye+12>>2];if(ul>>>0<tl>>>0){continue}break}break i}vl=ul}ul=q[Kl>>2];xl=ul+zl|0;Bl=q[xl>>2];zl=Bl+El|0;q[zl>>2]=q[zl>>2]+1;hd(ul+Dl|0,Bl,q[xl+4>>2]);if(tl){Bl=q[wl+28>>2]+q[wl+24>>2]|0;zl=q[wl+16>>2];ul=q[wl+12>>2];xl=zl-ul|0;if((Bl|0)==((xl?w(xl>>2,341)+ -1|0:0)|0)){re(wl+8|0);Bl=q[wl+24>>2]+q[wl+28>>2]|0;zl=q[wl+16>>2];ul=q[wl+12>>2]}xl=0;o:{if((ul|0)==(zl|0)){break o}xl=ul;ul=(Bl>>>0)/341|0;xl=q[xl+(ul<<2)>>2]+w(Bl-w(ul,341)|0,12)|0}q[xl+8>>2]=Al;q[xl+4>>2]=yl;q[xl>>2]=tl;q[wl+28>>2]=q[wl+28>>2]+1}if(!vl){break f}ul=q[wl+28>>2]+q[wl+24>>2]|0;xl=q[wl+16>>2];tl=q[wl+12>>2];Al=xl-tl|0;if((ul|0)==((Al?w(Al>>2,341)+ -1|0:0)|0)){re(wl+8|0);xl=q[wl+16>>2];ul=q[wl+24>>2]+q[wl+28>>2]|0;tl=q[wl+12>>2]}if((tl|0)==(xl|0)){tl=0}else{xl=tl;tl=(ul>>>0)/341|0;tl=q[xl+(tl<<2)>>2]+w(ul-w(tl,341)|0,12)|0}q[tl+8>>2]=Cl;q[tl+4>>2]=yl;q[tl>>2]=vl;tl=q[wl+28>>2]+1|0;q[wl+28>>2]=tl;break e}if(!xl){break f}El=0;while(1){if(tl){yl=q[Ml>>2];Fl=q[Ll>>2];Ql=q[Bl>>2];Rl=q[Dl>>2];tl=0;while(1){Al=Fl+(tl<<2)|0;q[yl+(q[Al>>2]<<2)>>2]=0;ul=q[Al>>2]<<2;vl=q[Ye>>2]-q[ul+Rl>>2]|0;p:{if(!vl){break p}ul=ul+yl|0;zl=q[Ye+560>>2];Gl=32-zl|0;if((vl|0)<=(Gl|0)){Cl=q[Il>>2];if((Cl|0)==q[Nl>>2]){q[ul>>2]=0;break p}q[ul>>2]=q[Cl>>2]<<zl>>>32-vl;vl=vl+q[Ye+560>>2]|0;q[Ye+560>>2]=vl;if((vl|0)!=32){break p}q[Ye+560>>2]=0;q[Il>>2]=Cl+4;break p}Cl=q[Il>>2];Ol=Cl+4|0;if((Ol|0)==q[Nl>>2]){q[ul>>2]=0;break p}Sl=q[Cl>>2];q[Il>>2]=Ol;Gl=vl-Gl|0;q[Ye+560>>2]=Gl;q[ul>>2]=q[Cl+4>>2]>>>32-Gl|Sl<<zl>>>32-vl}vl=q[Al>>2]<<2;ul=vl+yl|0;q[ul>>2]=q[ul>>2]|q[vl+Ql>>2];tl=tl+1|0;if(tl>>>0<t[Ye+12>>2]){continue}break}}Al=0;tl=q[ci+16>>2];q:{if((tl|0)==q[Hl>>2]){break q}while(1){tl=w(Al,20)+tl|0;vl=q[Ml>>2]+(q[tl+4>>2]<<2)|0;zl=q[tl>>2];yl=q[tl+12>>2];r:{if(yl>>>0>3){break r}ul=q[ci+12>>2];Cl=tl+16|0;if(!q[Cl>>2]){vl=ul;break r}Fl=tl+12|0;tl=0;while(1){ul=Cn(ul,(tl<<2)+vl|0,yl);yl=q[Fl>>2];ul=ul+yl|0;tl=tl+1|0;if(tl>>>0<t[Cl>>2]){continue}break}vl=q[ci+12>>2]}tl=q[ci+28>>2];tl=r[zl+84|0]?tl:q[q[zl+68>>2]+(tl<<2)>>2];if(tl>>>0>=t[zl+80>>2]){break q}ul=tl;tl=q[zl+40>>2];Cn(q[q[zl>>2]>>2]+w(ul,tl)|0,vl,tl);Al=Al+1|0;tl=q[ci+16>>2];if(Al>>>0<(q[Hl>>2]-tl|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;El=El+1|0;if((El|0)==(xl|0)){break f}tl=q[Ye+12>>2];continue}}tl=q[wl+28>>2]}if(tl){continue}break}ul=1}se(wl+8|0);tl=q[wl+12>>2];Ye=q[wl+16>>2];s:{if((tl|0)==(Ye|0)){break s}while(1){An(q[tl>>2]);tl=tl+4|0;if((Ye|0)!=(tl|0)){continue}break}Ye=q[wl+16>>2];Zh=q[wl+12>>2];if((Ye|0)==(Zh|0)){break s}q[wl+16>>2]=Ye+(((Ye-Zh|0)+ -4>>>2^-1)<<2)}Ye=q[wl+8>>2];if(Ye){An(Ye)}T=wl+32|0;return ul}bn();F()}bn();F()}function ge(Ye,Zh){Ye=Ye|0;Zh=Zh|0;var ci=0,Tl=0,Ul=0,Vl=0,Wl=0,Xl=0,Zl=0,_l=0,$l=0,am=0,bm=0,cm=0,dm=0,em=0,fm=0,gm=0,hm=0,im=0,jm=0;Ul=T-720|0;T=Ul;a:{b:{c:{d:{if(s[Zh+38>>1]>=515){q[Ul+680>>2]=0;q[Ul+672>>2]=0;q[Ul+676>>2]=0;cm=Ye+36|0;am=Ul+24|0;$l=Ye+40|0;dm=Ye+60|0;fm=Ye+44|0;while(1){if((Wl|0)>=(n[q[q[Ye>>2]+24>>2]](Ye)|0)){gm=1;ci=Ye+52|0;if(q[ci>>2]==q[Ye+48>>2]){break b}Wl=0;while(1){if(he(1,Ul+16|0,Zh)){Tl=q[Ul+16>>2];Xl=0-(Tl&1)^Tl>>>1}Tl=q[Ye+48>>2];q[Tl+(Wl<<2)>>2]=Xl;Wl=Wl+1|0;if(Wl>>>0<q[ci>>2]-Tl>>2>>>0){continue}break}break b}ci=n[q[q[Ye>>2]+20>>2]](Ye,Wl)|0;Tl=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(ci<<2)>>2];if(q[Tl+28>>2]==9){Vl=q[Ul+672>>2];ci=q[Ul+676>>2]-Vl>>2;Zl=o[Tl+24|0];e:{if(ci>>>0<Zl>>>0){Fa(Ul+672|0,Zl-ci|0);break e}if(ci>>>0<=Zl>>>0){break e}q[Ul+676>>2]=Vl+(Zl<<2)}ci=q[Zh+12>>2];Tl=q[Zh+20>>2];Xl=q[Zh+16>>2];_l=Zl<<2;Vl=_l;em=Xl+Vl|0;if(em>>>0<Vl>>>0){Tl=Tl+1|0}if((ci|0)<(Tl|0)?1:(ci|0)<=(Tl|0)?t[Zh+8>>2]>=em>>>0?0:1:0){break b}Cn(q[Ul+672>>2],Xl+q[Zh>>2]|0,_l);ci=q[Zh+20>>2];Xl=Vl+q[Zh+16>>2]|0;if(Xl>>>0<Vl>>>0){ci=ci+1|0}q[Zh+16>>2]=Xl;q[Zh+20>>2]=ci;Vl=q[Zh+12>>2];bm=Vl;Tl=ci;_l=Xl+4|0;if(_l>>>0<4){Tl=Tl+1|0}em=q[Zh+8>>2];if((Vl|0)<(Tl|0)?1:(Vl|0)<=(Tl|0)?em>>>0>=_l>>>0?0:1:0){break b}hm=q[Zh>>2];Vl=hm+Xl|0;Vl=r[Vl|0]|r[Vl+1|0]<<8|(r[Vl+2|0]<<16|r[Vl+3|0]<<24);q[Zh+16>>2]=_l;q[Zh+20>>2]=Tl;if((bm|0)<(Tl|0)?1:(bm|0)<=(Tl|0)?em>>>0>_l>>>0?0:1:0){break b}_l=r[_l+hm|0];Tl=ci;ci=Xl+5|0;if(ci>>>0<5){Tl=Tl+1|0}q[Zh+16>>2]=ci;q[Zh+20>>2]=Tl;if(_l>>>0>31){break b}q[Ul+20>>2]=-1;q[Ul+16>>2]=1232;ci=am;q[ci+8>>2]=0;q[ci+12>>2]=0;q[ci>>2]=0;q[ci+4>>2]=0;gd(Ul+16|0,_l,q[Ul+672>>2],Zl,(f(0,Vl),j()));ci=1;if(ld(Ul+16|0,q[q[dm>>2]+((q[$l>>2]-q[Ye+36>>2]|0)/24<<2)>>2])){ci=q[$l>>2];f:{if((ci|0)!=q[fm>>2]){q[ci>>2]=1232;Tl=q[Ul+20>>2];Vl=ci+16|0;q[Vl>>2]=0;q[ci+8>>2]=0;q[ci+12>>2]=0;q[ci+4>>2]=Tl;Tl=q[Ul+28>>2]-q[Ul+24>>2]|0;g:{if(!Tl){break g}Zl=Tl>>2;if(Zl>>>0>=1073741824){break d}Tl=Mm(Tl);q[ci+8>>2]=Tl;Xl=ci+12|0;q[Xl>>2]=Tl;q[Vl>>2]=Tl+(Zl<<2);Zl=q[Ul+24>>2];Vl=q[Ul+28>>2]-Zl|0;if((Vl|0)<1){break g}im=Xl,jm=Cn(Tl,Zl,Vl)+Vl|0,q[im>>2]=jm}q[ci+20>>2]=q[Ul+36>>2];q[$l>>2]=q[$l>>2]+24;break f}ie(cm,Ul+16|0)}ci=0}q[Ul+16>>2]=1232;Xl=q[Ul+24>>2];if(Xl){q[Ul+28>>2]=Xl;An(Xl)}if(ci){break b}}Wl=Wl+1|0;continue}}am=n[q[q[Ye>>2]+24>>2]](Ye)|0;q[Ul+712>>2]=0;q[Ul+704>>2]=0;q[Ul+708>>2]=0;h:{i:{if(!am){Wl=q[q[Ye>>2]+20>>2];break i}if(am>>>0>=214748365){break c}ci=w(am,20);Wl=Mm(ci);q[Ul+704>>2]=Wl;q[Ul+708>>2]=Wl;q[Ul+712>>2]=ci+Wl;Dn(Wl,0,ci);ci=am;while(1){Wl=Wl+20|0;ci=ci+ -1|0;if(ci){continue}break}q[Ul+708>>2]=Wl;Wl=q[q[Ye>>2]+20>>2];if(!am){break i}ci=0;while(1){Tl=n[Wl](Ye,ci)|0;Vl=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(Tl<<2)>>2];Wl=q[Vl+28>>2];Tl=bk(Wl);Zl=(Tl|0)>0?Tl:0;if(Zl>>>0>4){break h}Tl=q[Ul+704>>2]+w(ci,20)|0;$l=o[Vl+24|0];q[Tl+16>>2]=$l;q[Tl+12>>2]=Zl;q[Tl+8>>2]=Wl;q[Tl+4>>2]=Xl;q[Tl>>2]=Vl;Xl=Xl+$l|0;Wl=q[q[Ye>>2]+20>>2];ci=ci+1|0;if((am|0)!=(ci|0)){continue}break}}ci=n[Wl](Ye,0)|0;cm=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(ci<<2)>>2];o[cm+84|0]=1;q[cm+72>>2]=q[cm+68>>2];_l=q[Zh+8>>2];$l=q[Zh+16>>2];Vl=q[Zh+12>>2];ci=Vl;Tl=q[Zh+20>>2];if((ci|0)<(Tl|0)?1:(ci|0)<=(Tl|0)?_l>>>0>$l>>>0?0:1:0){break h}dm=q[Zh>>2];fm=r[dm+$l|0];Zl=Zh;ci=Tl;Wl=$l+1|0;if(Wl>>>0<1){ci=ci+1|0}bm=Wl;Wl=ci;q[Zl+16>>2]=bm;q[Zl+20>>2]=ci;if(fm>>>0>1){break h}j:{if(fm-1){if((Vl|0)<(Wl|0)?1:(Vl|0)<=(Wl|0)?_l>>>0>bm>>>0?0:1:0){break h}Ye=Tl;am=$l+2|0;if(am>>>0<2){Ye=Ye+1|0}ci=Zh;q[ci+16>>2]=am;q[ci+20>>2]=Ye;Ye=$l+6|0;if(Ye>>>0<6){Tl=Tl+1|0}Wl=Ye;Ye=Tl;if((Vl|0)<(Ye|0)?1:(Vl|0)<=(Ye|0)?_l>>>0>=Wl>>>0?0:1:0){break h}ci=am+dm|0;ci=r[ci|0]|r[ci+1|0]<<8|(r[ci+2|0]<<16|r[ci+3|0]<<24);q[Zh+16>>2]=Wl;q[Zh+20>>2]=Ye;td(cm,ci);Ye=Ul+672|0;q[Ye+20>>2]=0;q[Ye+12>>2]=0;q[Ye+16>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;q[Ye+20>>2]=ci;ci=Ye;Ye=Ld(Ul+16|0,Ul+704|0);ci=je(ci,Zh,Ye);Zh=q[Ye+16>>2];if(Zh){q[Ye+20>>2]=Zh;An(Zh)}Zh=q[Ye>>2];if(Zh){q[Ye+4>>2]=Zh;An(Zh)}if(ci){break j}break h}if((Vl|0)<(Wl|0)?1:(Vl|0)<=(Wl|0)?_l>>>0>bm>>>0?0:1:0){break h}Zl=r[bm+dm|0];ci=Tl;bm=$l+2|0;if(bm>>>0<2){ci=ci+1|0}q[Zh+16>>2]=bm;q[Zh+20>>2]=ci;if(Zl>>>0>=7){q[Ul>>2]=Zl;Yl(1644,Ul);break h}ci=$l+6|0;if(ci>>>0<6){Tl=Tl+1|0}Wl=ci;ci=Tl;if((Vl|0)<(ci|0)?1:(Vl|0)<=(ci|0)?_l>>>0>=Wl>>>0?0:1:0){break h}Tl=bm+dm|0;Vl=r[Tl|0]|r[Tl+1|0]<<8|(r[Tl+2|0]<<16|r[Tl+3|0]<<24);q[Zh+16>>2]=Wl;q[Zh+20>>2]=ci;if(am){ci=0;while(1){Tl=n[q[q[Ye>>2]+20>>2]](Ye,ci)|0;Tl=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(Tl<<2)>>2];td(Tl,Vl);o[Tl+84|0]=1;q[Tl+72>>2]=q[Tl+68>>2];ci=ci+1|0;if((am|0)!=(ci|0)){continue}break}}Wl=1;Ye=Ld(Ul+672|0,Ul+704|0);k:{if(Zl>>>0>6){break k}l:{m:{switch(Zl-1|0){default:ci=Od(Ul+16|0,Xl);Zh=Md(ci,Zh,Ye);Nd(ci);if(Zh){break l}break k;case 0:ci=Od(Ul+16|0,Xl);Zh=Pd(ci,Zh,Ye);Nd(ci);if(Zh){break l}break k;case 1:ci=Sd(Ul+16|0,Xl);Zh=Qd(ci,Zh,Ye);Rd(ci);if(Zh){break l}break k;case 2:ci=Sd(Ul+16|0,Xl);Zh=Td(ci,Zh,Ye);Rd(ci);if(Zh){break l}break k;case 3:ci=Wd(Ul+16|0,Xl);Zh=Ud(ci,Zh,Ye);Vd(ci);if(Zh){break l}break k;case 4:ci=Wd(Ul+16|0,Xl);Zh=Xd(ci,Zh,Ye);Vd(ci);if(Zh){break l}break k;case 5:break m}}ci=Wd(Ul+16|0,Xl);Zh=Yd(ci,Zh,Ye);Vd(ci);if(!Zh){break k}}Wl=0}Zh=q[Ye+16>>2];if(Zh){q[Ye+20>>2]=Zh;An(Zh)}Zh=q[Ye>>2];if(Zh){q[Ye+4>>2]=Zh;An(Zh)}if(Wl){break h}}gm=1}Ye=q[Ul+704>>2];if(!Ye){break a}q[Ul+708>>2]=Ye;An(Ye);break a}bn();F()}bn();F()}Ye=q[Ul+672>>2];if(!Ye){break a}q[Ul+676>>2]=Ye;An(Ye)}T=Ul+720|0;return gm|0}function he(Ye,Zh,Yl){var km=0,lm=0,mm=0,nm=0;a:{if(Ye>>>0>5){break a}mm=q[Yl+16>>2];km=q[Yl+12>>2];lm=q[Yl+20>>2];if((km|0)<(lm|0)?1:(km|0)<=(lm|0)?t[Yl+8>>2]>mm>>>0?0:1:0){break a}km=r[mm+q[Yl>>2]|0];mm=mm+1|0;if(mm>>>0<1){lm=lm+1|0}q[Yl+16>>2]=mm;q[Yl+20>>2]=lm;lm=Zh;if(km&128){if(!he(Ye+1|0,Zh,Yl)){break a}Ye=q[Zh>>2]<<7;q[Zh>>2]=Ye;km=Ye|km&127}q[lm>>2]=km;nm=1}return nm}function ie(Ye,Zh){var Yl=0,om=0,pm=0,qm=0,rm=0,sm=0,tm=0;a:{b:{c:{om=q[Ye>>2];rm=(q[Ye+4>>2]-om|0)/24|0;Yl=rm+1|0;if(Yl>>>0<178956971){om=(q[Ye+8>>2]-om|0)/24|0;sm=om<<1;om=om>>>0<89478485?sm>>>0<Yl>>>0?Yl:sm:178956970;pm=0;d:{if(!om){break d}if(om>>>0>=178956971){break c}pm=Mm(w(om,24))}Yl=pm+w(rm,24)|0;ve(Yl,Zh);rm=pm+w(om,24)|0;sm=Yl+24|0;Zh=q[Ye+4>>2];pm=q[Ye>>2];if((Zh|0)==(pm|0)){break b}while(1){Yl=Yl+ -24|0;q[Yl>>2]=1232;om=q[Zh+ -20>>2];qm=Yl+16|0;q[qm>>2]=0;q[Yl+8>>2]=0;q[Yl+12>>2]=0;q[Yl+4>>2]=om;om=Zh+ -16|0;q[Yl+8>>2]=q[om>>2];q[Yl+12>>2]=q[Zh+ -12>>2];tm=qm;qm=Zh+ -8|0;q[tm>>2]=q[qm>>2];q[qm>>2]=0;q[om>>2]=0;q[om+4>>2]=0;q[Yl+20>>2]=q[Zh+ -4>>2];Zh=Zh+ -24|0;if((pm|0)!=(Zh|0)){continue}break}pm=q[Ye+4>>2];Zh=q[Ye>>2];break a}bn();F()}ab(1780);F()}Zh=pm}q[Ye>>2]=Yl;q[Ye+8>>2]=rm;q[Ye+4>>2]=sm;if((Zh|0)!=(pm|0)){while(1){pm=pm+ -24|0;n[q[q[pm>>2]>>2]](pm)|0;if((Zh|0)!=(pm|0)){continue}break}}if(Zh){An(Zh)}}function je(Ye,Zh,um){var vm=0,wm=0,xm=0,ym=0,zm=0,Am=0,Bm=0,Cm=0,Dm=0,Em=0;wm=T-32|0;T=wm;q[wm+24>>2]=0;q[wm+16>>2]=0;q[wm+20>>2]=0;zm=q[Zh+12>>2];xm=zm;ym=q[Zh+20>>2];Am=ym;Bm=q[Zh+16>>2];vm=Bm+4|0;if(vm>>>0<4){ym=ym+1|0}Dm=q[Zh+8>>2];Cm=vm;a:{if((xm|0)<(ym|0)?1:(xm|0)<=(ym|0)?Dm>>>0>=vm>>>0?0:1:0){break a}xm=q[Zh>>2];vm=Bm+xm|0;vm=r[vm|0]|r[vm+1|0]<<8|(r[vm+2|0]<<16|r[vm+3|0]<<24);q[Zh+16>>2]=Cm;q[Zh+20>>2]=ym;b:{c:{vm=vm+ -2|0;if(vm>>>0<=1){if(vm-1){break c}if((zm|0)<(ym|0)?1:(zm|0)<=(ym|0)?Dm>>>0>Cm>>>0?0:1:0){break a}xm=o[xm+Cm|0];vm=Bm+5|0;if(vm>>>0<5){Am=Am+1|0}q[Zh+16>>2]=vm;q[Zh+20>>2]=Am;q[Ye+8>>2]=xm;if((xm|0)==1){if(ol(Ye,Zh,wm+16|0)){break b}break a}Gl(1848,23,q[3794]);break a}Gl(1872,24,q[3794]);break a}if(!ol(Ye,Zh,wm+16|0)){break a}}q[wm+8>>2]=q[wm+16>>2];q[wm>>2]=q[wm+20>>2];ke(wm+8|0,wm,Ye,um);Em=1}Ye=q[wm+16>>2];if(Ye){q[wm+20>>2]=Ye;An(Ye)}T=wm+32|0;return Em}function ke(Ye,Zh,um,Fm){var Gm=0,Hm=0,Im=0,Jm=x(0),Km=0,Lm=0,Mm=0,Nm=0;Gm=T-32|0;T=Gm;Hm=q[um>>2];Jm=u[um+4>>2];Lm=hk(Gm+24|0);Hm=-1<<Hm^-1;ik(Lm,Jm,Hm);um=q[Ye>>2];if((um|0)!=q[Zh>>2]){Ye=q[Fm+28>>2];Mm=Fm+16|0;while(1){Im=q[um>>2];Km=q[um+4>>2];Jm=u[Lm>>2];u[Gm+16>>2]=Jm*x(q[um+8>>2]-Hm|0);u[Gm+12>>2]=Jm*x(Km-Hm|0);u[Gm+8>>2]=Jm*x(Im-Hm|0);Km=q[Mm>>2];Im=q[Km>>2];if(!r[Im+84|0]){Ye=q[q[Im+68>>2]+(Ye<<2)>>2]}Nm=Ye;Ye=q[Im+40>>2];Cn(q[q[Im>>2]>>2]+w(Nm,Ye)|0,(Gm+8|0)+(q[Km+4>>2]<<2)|0,Ye);Ye=q[Fm+28>>2]+1|0;q[Fm+28>>2]=Ye;um=um+12|0;if((um|0)!=q[Zh>>2]){continue}break}}T=Gm+32|0}function le(Ye){Ye=Ye|0;var Zh=0,um=0,Fm=0,Om=0,Pm=0,Qm=0,Rm=0,Sm=0,Tm=0,Um=0,Vm=0,Wm=0,Xm=0,Ym=0,Zm=0,_m=0,$m=0,an=0,cn=0,dn=x(0);Om=T-32|0;T=Om;a:{b:{c:{if(!(q[Ye+60>>2]!=q[Ye- -64>>2]|q[Ye+48>>2]!=q[Ye+52>>2])){Zh=1;break c}Zh=1;if((n[q[q[Ye>>2]+24>>2]](Ye)|0)<1){break c}Zm=Ye+60|0;_m=Ye+36|0;d:{while(1){e:{Zh=n[q[q[Ye>>2]+20>>2]](Ye,Xm)|0;Qm=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(Zh<<2)>>2];Sm=Qm+28|0;Zh=q[Sm>>2]+ -1|0;f:{if(Zh>>>0>8){break f}g:{switch(Zh-1|0){default:Fm=Qm+24|0;Zh=o[Fm|0];um=0;q[Om+24>>2]=0;q[Om+16>>2]=0;q[Om+20>>2]=0;if(Zh){if((Zh|0)<=-1){break b}Zh=Zh<<2;um=Mm(Zh);q[Om+16>>2]=um;Pm=Zh+um|0;q[Om+24>>2]=Pm;Dn(um,0,Zh);q[Om+20>>2]=Pm;um=r[Fm|0]}q[Om+8>>2]=0;q[Om>>2]=0;q[Om+4>>2]=0;if(um&255){Zh=um<<24>>24;if((Zh|0)<=-1){break a}Zh=Zh<<2;um=Mm(Zh);q[Om>>2]=um;Pm=Zh+um|0;q[Om+8>>2]=Pm;Dn(um,0,Zh);q[Om+4>>2]=Pm}Zh=q[Sm>>2]+ -1|0;h:{i:{if(Zh>>>0>4){break i}j:{switch(Zh-1|0){case 3:Zh=1;if(me(Ye,Qm,Wm)){break i}break h;case 1:Zh=1;if(ne(Ye,Qm,Wm)){break i}break h;case 0:case 2:break i;default:break j}}Zh=1;if(!oe(Ye,Qm,Wm)){break h}}Wm=o[Fm|0]+Wm|0;Zh=0}Fm=q[Om>>2];if(Fm){q[Om+4>>2]=Fm;An(Fm)}Fm=q[Om+16>>2];if(Fm){q[Om+20>>2]=Fm;An(Fm)}if(!Zh){break f}break d;case 0:case 2:case 4:case 5:case 6:break f;case 7:break g}}Sm=q[q[Zm>>2]+(Rm<<2)>>2];Vm=q[_m>>2];Zh=n[q[q[Ye>>2]+28>>2]](Ye)|0;Pm=q[Qm+56>>2];Tm=q[Zh+40>>2];Zh=Mm(32);q[Om+16>>2]=Zh;q[Om+20>>2]=24;q[Om+24>>2]=-2147483616;o[Zh+24|0]=0;Fm=r[1726]|r[1727]<<8|(r[1728]<<16|r[1729]<<24);um=r[1722]|r[1723]<<8|(r[1724]<<16|r[1725]<<24);o[Zh+16|0]=um;o[Zh+17|0]=um>>>8;o[Zh+18|0]=um>>>16;o[Zh+19|0]=um>>>24;o[Zh+20|0]=Fm;o[Zh+21|0]=Fm>>>8;o[Zh+22|0]=Fm>>>16;o[Zh+23|0]=Fm>>>24;Fm=r[1718]|r[1719]<<8|(r[1720]<<16|r[1721]<<24);um=r[1714]|r[1715]<<8|(r[1716]<<16|r[1717]<<24);o[Zh+8|0]=um;o[Zh+9|0]=um>>>8;o[Zh+10|0]=um>>>16;o[Zh+11|0]=um>>>24;o[Zh+12|0]=Fm;o[Zh+13|0]=Fm>>>8;o[Zh+14|0]=Fm>>>16;o[Zh+15|0]=Fm>>>24;Fm=r[1710]|r[1711]<<8|(r[1712]<<16|r[1713]<<24);um=r[1706]|r[1707]<<8|(r[1708]<<16|r[1709]<<24);o[Zh|0]=um;o[Zh+1|0]=um>>>8;o[Zh+2|0]=um>>>16;o[Zh+3|0]=um>>>24;o[Zh+4|0]=Fm;o[Zh+5|0]=Fm>>>8;o[Zh+6|0]=Fm>>>16;o[Zh+7|0]=Fm>>>24;k:{l:{Fm=Tm+16|0;um=Fm;Zh=q[um>>2];if(!Zh){break l}while(1){Um=q[Zh+16>>2]<(Pm|0);um=Um?um:Zh;Zh=q[(Um<<2)+Zh>>2];if(Zh){continue}break}if((um|0)==(Fm|0)|(Pm|0)<q[um+16>>2]){break l}Zh=um+20|0;if(!ga(Zh,Om+16|0)){break l}Zh=gk(Zh,Om+16|0);break k}Zh=gk(Tm,Om+16|0)}if(o[Om+27|0]<=-1){An(q[Om+16>>2])}Fm=Rm+1|0;m:{if(Zh){ud(Qm,Sm);break m}Zh=Vm+w(Rm,24)|0;um=q[Zh+4>>2];Rm=o[Qm+24|0];Vm=Rm<<2;Pm=Mm((Rm|0)!=(Rm&1073741823)?-1:Vm);if(!ik(hk(Om+16|0),u[Zh+20>>2],-1<<um^-1)){break e}if(q[Sm+80>>2]){$m=q[q[Sm>>2]>>2]+q[Sm+48>>2]|0;an=Zh+8|0;Um=0;Tm=0;um=0;while(1){if((Rm|0)>=1){cn=q[an>>2];Zh=0;dn=u[Om+16>>2];while(1){Ym=Zh<<2;u[Ym+Pm>>2]=x(dn*x(q[$m+(um<<2)>>2]))+u[cn+Ym>>2];um=um+1|0;Zh=Zh+1|0;if((Rm|0)!=(Zh|0)){continue}break}}Cn(q[q[Qm- -64>>2]>>2]+Tm|0,Pm,Vm);Tm=Tm+Vm|0;Um=Um+1|0;if(Um>>>0<t[Sm+80>>2]){continue}break}}An(Pm)}Rm=Fm}Zh=1;Xm=Xm+1|0;if((Xm|0)<(n[q[q[Ye>>2]+24>>2]](Ye)|0)){continue}break c}break}An(Pm)}Zh=0}T=Om+32|0;return Zh|0}bn();F()}bn();F()}function me(Ye,en,fn){var gn=0,hn=0,jn=0,kn=0,ln=0,mn=0,nn=0,on=0,pn=0,qn=0,rn=0,sn=0,tn=0,un=0,vn=0;hn=T-16|0;T=hn;gn=o[en+24|0];q[hn+8>>2]=0;q[hn>>2]=0;q[hn+4>>2]=0;a:{b:{if(gn){if((gn|0)<=-1){break b}jn=gn<<2;kn=Mm(jn);q[hn>>2]=kn;ln=jn+kn|0;q[hn+8>>2]=ln;Dn(kn,0,jn);q[hn+4>>2]=ln;pn=Mm(jn);jn=Dn(pn,0,jn)}else{jn=0}if(!q[en+80>>2]){break a}sn=en+40|0;un=en+48|0;vn=Ye+48|0;while(1){tn=q[en>>2];mn=q[tn>>2];qn=q[un>>2];Ye=q[sn>>2];ln=$n(Ye,q[sn+4>>2],rn,nn);on=mn;mn=ln+qn|0;ln=Cn(kn,on+mn|0,Ye);if(gn<<24>>24>=1){mn=gn&255;qn=q[vn>>2];gn=0;while(1){on=gn<<2;q[on+jn>>2]=q[(fn+gn<<2)+qn>>2]+q[ln+on>>2];gn=gn+1|0;if(gn>>>0<mn>>>0){continue}break}}Cn(q[tn>>2]+w(Ye,rn)|0,pn,Ye);Ye=rn+1|0;if(Ye>>>0<1){nn=nn+1|0}rn=Ye;if(!nn&Ye>>>0>=t[en+80>>2]|nn>>>0>0){break a}gn=r[en+24|0];continue}}bn();F()}if(jn){An(pn)}if(kn){q[hn+4>>2]=kn;An(kn)}T=hn+16|0;return 1}function ne(Ye,en,fn){var wn=0,xn=0,yn=0,zn=0,Bn=0,En=0,Fn=0,Gn=0,Hn=0,In=0,Jn=0,Kn=0,Ln=0,Mn=0,Nn=0;xn=T-16|0;T=xn;wn=o[en+24|0];q[xn+8>>2]=0;q[xn>>2]=0;q[xn+4>>2]=0;a:{b:{if(wn){if((wn|0)<=-1){break b}yn=wn<<1;zn=Mm(yn);q[xn>>2]=zn;Bn=yn+zn|0;q[xn+8>>2]=Bn;Dn(zn,0,yn);q[xn+4>>2]=Bn;Hn=Mm(yn);yn=Dn(Hn,0,yn)}else{yn=0}if(!q[en+80>>2]){break a}Kn=en+40|0;Mn=en+48|0;Nn=Ye+48|0;while(1){Ln=q[en>>2];En=q[Ln>>2];In=q[Mn>>2];Ye=q[Kn>>2];Bn=$n(Ye,q[Kn+4>>2],Jn,Fn);Gn=En;En=Bn+In|0;Bn=Cn(zn,Gn+En|0,Ye);if(wn<<24>>24>=1){En=wn&255;In=q[Nn>>2];wn=0;while(1){Gn=wn<<1;p[Gn+yn>>1]=s[Bn+Gn>>1]+s[(fn+wn<<2)+In>>1];wn=wn+1|0;if(wn>>>0<En>>>0){continue}break}}Cn(q[Ln>>2]+w(Ye,Jn)|0,Hn,Ye);Ye=Jn+1|0;if(Ye>>>0<1){Fn=Fn+1|0}Jn=Ye;if(!Fn&Ye>>>0>=t[en+80>>2]|Fn>>>0>0){break a}wn=r[en+24|0];continue}}bn();F()}if(yn){An(Hn)}if(zn){q[xn+4>>2]=zn;An(zn)}T=xn+16|0;return 1}function oe(Ye,en,fn){var Dn=0,On=0,Pn=0,Qn=0,Rn=0,Sn=0,Tn=0,Un=0,Vn=0,Wn=0;On=T-32|0;T=On;Dn=o[en+24|0];q[On+24>>2]=0;q[On+16>>2]=0;q[On+20>>2]=0;a:{b:{c:{if(Dn){if((Dn|0)<=-1){break c}Pn=Mm(Dn);q[On+16>>2]=Pn;q[On+20>>2]=Pn;q[On+24>>2]=Dn+Pn;while(1){o[Pn|0]=0;Pn=q[On+20>>2]+1|0;q[On+20>>2]=Pn;Dn=Dn+ -1|0;if(Dn){continue}break}Pn=r[en+24|0]}q[On+8>>2]=0;q[On>>2]=0;q[On+4>>2]=0;if(Pn&255){if(Pn<<24>>24<=-1){break b}Pn=Pn<<24>>24;Dn=Mm(Pn);q[On>>2]=Dn;q[On+4>>2]=Dn;q[On+8>>2]=Dn+Pn;while(1){o[Dn|0]=0;Dn=q[On+4>>2]+1|0;q[On+4>>2]=Dn;Pn=Pn+ -1|0;if(Pn){continue}break}}if(!q[en+80>>2]){Dn=q[On>>2];break a}Pn=en+40|0;Un=en+48|0;Tn=en+24|0;while(1){Vn=q[On+16>>2];Wn=q[q[en>>2]>>2];Dn=q[Pn>>2];Qn=q[Un>>2]+$n(Dn,q[Pn+4>>2],Rn,Sn)|0;Dn=Cn(Vn,Wn+Qn|0,Dn);d:{if(o[Tn|0]<1){break d}Qn=Ye+48|0;o[q[On>>2]]=r[Dn|0]+r[q[Qn>>2]+(fn<<2)|0];Dn=1;if(o[Tn|0]<2){break d}while(1){o[q[On>>2]+Dn|0]=r[q[On+16>>2]+Dn|0]+r[q[Qn>>2]+(fn+Dn<<2)|0];Dn=Dn+1|0;if((Dn|0)<o[Tn|0]){continue}break}}Qn=q[Pn>>2];Dn=q[On>>2];Cn(q[q[en>>2]>>2]+w(Qn,Rn)|0,Dn,Qn);Rn=Rn+1|0;if(Rn>>>0<1){Sn=Sn+1|0}Qn=Rn;if(!Sn&Qn>>>0<t[en+80>>2]|Sn>>>0<0){continue}break}break a}bn();F()}bn();F()}if(Dn){q[On+4>>2]=Dn;An(Dn)}Ye=q[On+16>>2];if(Ye){q[On+20>>2]=Ye;An(Ye)}T=On+32|0;return 1}function pe(Ye){Ye=Ye|0;var bn=0,en=0,fn=0,Cn=0;q[Ye>>2]=1596;bn=q[Ye+60>>2];if(bn){Cn=Ye- -64|0;en=q[Cn>>2];fn=bn;a:{if((bn|0)==(en|0)){break a}while(1){en=en+ -4|0;fn=q[en>>2];q[en>>2]=0;if(fn){Hb(fn)}if((bn|0)!=(en|0)){continue}break}fn=q[Ye+60>>2]}q[Cn>>2]=bn;An(fn)}bn=q[Ye+48>>2];if(bn){q[Ye+52>>2]=bn;An(bn)}bn=q[Ye+36>>2];if(bn){Cn=Ye+40|0;en=q[Cn>>2];fn=bn;b:{if((bn|0)==(en|0)){break b}while(1){en=en+ -24|0;n[q[q[en>>2]>>2]](en)|0;if((bn|0)!=(en|0)){continue}break}fn=q[Ye+36>>2]}q[Cn>>2]=bn;An(fn)}q[Ye>>2]=1384;bn=q[Ye+16>>2];if(bn){q[Ye+20>>2]=bn;An(bn)}bn=q[Ye+4>>2];if(bn){q[Ye+8>>2]=bn;An(bn)}return Ye|0}function qe(q){q=q|0;An(pe(q))}function re(Ye){var Xn=0,Yn=0,Zn=0,_n=0,$n=0,ao=0,bo=0,co=0,eo=0,fo=0,go=0,ho=0;ao=T-32|0;T=ao;a:{b:{Xn=Ye+16|0;Yn=q[Xn>>2];if(Yn>>>0>=341){q[Xn>>2]=Yn+ -341;Xn=Ye+4|0;Yn=q[Xn>>2];eo=q[Yn>>2];Yn=Yn+4|0;q[Xn>>2]=Yn;co=Ye+8|0;Zn=q[co>>2];Xn=q[Ye+12>>2];c:{if((Zn|0)!=(Xn|0)){break c}_n=q[Ye>>2];if(Yn>>>0>_n>>>0){Zn=Zn-Yn|0;bo=Zn>>2;_n=((Yn-_n>>2)+1|0)/-2<<2;$n=_n+Yn|0;Xn=Ye;if(Zn){En($n,Yn,Zn);Yn=q[Ye+4>>2]}q[Xn+4>>2]=Yn+_n;Zn=$n+(bo<<2)|0;q[Ye+8>>2]=Zn;break c}Xn=Xn-_n|0;Xn=Xn?Xn>>1:1;if(Xn>>>0>=1073741824){break b}$n=Xn<<2;bo=Mm($n);fo=$n+bo|0;$n=bo+(Xn&-4)|0;Xn=$n;if((Yn|0)!=(Zn|0)){Xn=$n;while(1){q[Xn>>2]=q[Yn>>2];Xn=Xn+4|0;Yn=Yn+4|0;if((Zn|0)!=(Yn|0)){continue}break}_n=q[Ye>>2]}q[Ye>>2]=bo;q[Ye+12>>2]=fo;Yn=Ye+8|0;q[Yn>>2]=Xn;q[Ye+4>>2]=$n;if(!_n){Zn=Xn;break c}An(_n);Zn=q[Yn>>2]}q[Zn>>2]=eo;q[co>>2]=q[co>>2]+4;break a}d:{Yn=q[Ye+8>>2];Zn=Yn-q[Ye+4>>2]>>2;$n=Ye+12|0;_n=q[$n>>2];Xn=_n-q[Ye>>2]|0;if(Zn>>>0<Xn>>2>>>0){if((Yn|0)!=(_n|0)){go=ao,ho=Mm(4092),q[go+8>>2]=ho;te(Ye,ao+8|0);break a}go=ao,ho=Mm(4092),q[go+8>>2]=ho;ue(Ye,ao+8|0);Xn=Ye+4|0;Yn=q[Xn>>2];eo=q[Yn>>2];Yn=Yn+4|0;q[Xn>>2]=Yn;co=Ye+8|0;Zn=q[co>>2];Xn=q[Ye+12>>2];e:{if((Zn|0)!=(Xn|0)){break e}_n=q[Ye>>2];if(Yn>>>0>_n>>>0){Zn=Zn-Yn|0;bo=Zn>>2;_n=((Yn-_n>>2)+1|0)/-2<<2;$n=_n+Yn|0;Xn=Ye;if(Zn){En($n,Yn,Zn);Yn=q[Ye+4>>2]}q[Xn+4>>2]=Yn+_n;Zn=$n+(bo<<2)|0;q[Ye+8>>2]=Zn;break e}Xn=Xn-_n|0;Xn=Xn?Xn>>1:1;if(Xn>>>0>=1073741824){break d}$n=Xn<<2;bo=Mm($n);fo=$n+bo|0;$n=bo+(Xn&-4)|0;Xn=$n;if((Yn|0)!=(Zn|0)){Xn=$n;while(1){q[Xn>>2]=q[Yn>>2];Xn=Xn+4|0;Yn=Yn+4|0;if((Zn|0)!=(Yn|0)){continue}break}_n=q[Ye>>2]}q[Ye>>2]=bo;q[Ye+12>>2]=fo;Yn=Ye+8|0;q[Yn>>2]=Xn;q[Ye+4>>2]=$n;if(!_n){Zn=Xn;break e}An(_n);Zn=q[Yn>>2]}q[Zn>>2]=eo;q[co>>2]=q[co>>2]+4;break a}q[ao+24>>2]=$n;q[ao+20>>2]=0;Xn=Xn?Xn>>1:1;if(Xn>>>0<1073741824){Yn=Xn<<2;Xn=Mm(Yn);q[ao+8>>2]=Xn;Zn=Xn+(Zn<<2)|0;q[ao+16>>2]=Zn;q[ao+20>>2]=Xn+Yn;q[ao+12>>2]=Zn;go=ao,ho=Mm(4092),q[go+4>>2]=ho;te(ao+8|0,ao+4|0);Yn=q[Ye+8>>2];Xn=Ye+4|0;while(1){$n=q[Xn>>2];if(($n|0)==(Yn|0)){Zn=q[Ye>>2];q[Ye>>2]=q[ao+8>>2];q[ao+8>>2]=Zn;q[Ye+4>>2]=q[ao+12>>2];q[ao+12>>2]=$n;_n=Ye+8|0;Xn=q[_n>>2];q[_n>>2]=q[ao+16>>2];q[ao+16>>2]=Xn;Ye=Ye+12|0;_n=q[Ye>>2];q[Ye>>2]=q[ao+20>>2];q[ao+20>>2]=_n;if((Xn|0)!=(Yn|0)){q[ao+16>>2]=Xn+(((Xn-$n|0)+ -4>>>2^-1)<<2)}if(!Zn){break a}An(Zn);break a}else{Yn=Yn+ -4|0;ue(ao+8|0,Yn);continue}}}ab(1780);F()}ab(1780);F()}ab(1780);F()}T=ao+32|0}function se(Ye){var io=0,jo=0,ko=0,lo=0,mo=0,no=0,oo=0;jo=q[Ye+16>>2];io=(jo>>>0)/341|0;ko=q[Ye+4>>2];no=q[Ye+8>>2];a:{if((ko|0)==(no|0)){mo=Ye+20|0;break a}lo=(io<<2)+ko|0;io=q[lo>>2]+w(jo-w(io,341)|0,12)|0;mo=Ye+20|0;jo=jo+q[mo>>2]|0;oo=(jo>>>0)/341|0;jo=q[(oo<<2)+ko>>2]+w(jo-w(oo,341)|0,12)|0;if((io|0)==(jo|0)){break a}while(1){io=io+12|0;if((io-q[lo>>2]|0)==4092){io=q[lo+4>>2];lo=lo+4|0}if((io|0)!=(jo|0)){continue}break}}q[mo>>2]=0;io=no-ko>>2;if(io>>>0>2){while(1){An(q[ko>>2]);ko=q[Ye+4>>2]+4|0;q[Ye+4>>2]=ko;io=q[Ye+8>>2]-ko>>2;if(io>>>0>2){continue}break}}io=io+ -1|0;if(io>>>0<=1){q[Ye+16>>2]=io-1|0?170:341}}function te(Ye,po){var qo=0,ro=0,so=0,to=0,uo=0,vo=0,wo=0;a:{so=q[Ye+8>>2];qo=q[Ye+12>>2];b:{if((so|0)!=(qo|0)){qo=so;break b}ro=q[Ye+4>>2];to=q[Ye>>2];if(ro>>>0>to>>>0){so=so-ro|0;vo=so>>2;to=((ro-to>>2)+1|0)/-2<<2;uo=to+ro|0;qo=Ye;if(so){En(uo,ro,so);ro=q[Ye+4>>2]}q[qo+4>>2]=ro+to;qo=uo+(vo<<2)|0;q[Ye+8>>2]=qo;break b}qo=qo-to|0;qo=qo?qo>>1:1;if(qo>>>0>=1073741824){break a}uo=qo<<2;vo=Mm(uo);wo=uo+vo|0;uo=vo+(qo&-4)|0;qo=uo;if((ro|0)!=(so|0)){qo=uo;while(1){q[qo>>2]=q[ro>>2];qo=qo+4|0;ro=ro+4|0;if((so|0)!=(ro|0)){continue}break}to=q[Ye>>2]}q[Ye+8>>2]=qo;q[Ye+4>>2]=uo;q[Ye>>2]=vo;q[Ye+12>>2]=wo;if(!to){break b}An(to);qo=q[Ye+8>>2]}q[qo>>2]=q[po>>2];q[Ye+8>>2]=q[Ye+8>>2]+4;return}ab(1780);F()}function ue(Ye,po){var xo=0,yo=0,zo=0,Ao=0,Bo=0,Co=0;a:{zo=q[Ye+4>>2];yo=q[Ye>>2];b:{if((zo|0)!=(yo|0)){xo=zo;break b}Ao=q[Ye+8>>2];xo=q[Ye+12>>2];if(Ao>>>0<xo>>>0){Bo=((xo-Ao>>2)+1|0)/2<<2;xo=Bo+Ao|0;yo=Ao-zo|0;if(yo){xo=xo-yo|0;En(xo,zo,yo);Ao=q[Ye+8>>2]}q[Ye+4>>2]=xo;q[Ye+8>>2]=Ao+Bo;break b}xo=xo-yo|0;xo=xo?xo>>1:1;if(xo>>>0>=1073741824){break a}yo=xo<<2;Bo=Mm(yo);Co=yo+Bo|0;xo=Bo+(xo+3&-4)|0;c:{if((zo|0)==(Ao|0)){yo=xo;break c}yo=xo;while(1){q[yo>>2]=q[zo>>2];yo=yo+4|0;zo=zo+4|0;if((Ao|0)!=(zo|0)){continue}break}zo=q[Ye>>2]}q[Ye+8>>2]=yo;q[Ye+4>>2]=xo;q[Ye>>2]=Bo;q[Ye+12>>2]=Co;if(!zo){break b}An(zo);xo=q[Ye+4>>2]}q[xo+ -4>>2]=q[po>>2];q[Ye+4>>2]=q[Ye+4>>2]+ -4;return}ab(1780);F()}function ve(Ye,An){var po=0,Do=0,Eo=0,Fo=0,Go=0,Ho=0;q[Ye>>2]=1232;po=q[An+4>>2];q[Ye+16>>2]=0;q[Ye+8>>2]=0;q[Ye+12>>2]=0;q[Ye+4>>2]=po;a:{po=q[An+12>>2]-q[An+8>>2]|0;b:{if(!po){break b}Do=po>>2;if(Do>>>0>=1073741824){break a}po=Mm(po);q[Ye+8>>2]=po;Eo=Ye+12|0;q[Eo>>2]=po;q[Ye+16>>2]=po+(Do<<2);Fo=q[An+8>>2];Do=q[An+12>>2]-Fo|0;if((Do|0)<1){break b}Go=Eo,Ho=Cn(po,Fo,Do)+Do|0,q[Go>>2]=Ho}q[Ye+20>>2]=q[An+20>>2];return}bn();F()}function we(Ye){q[Ye+12>>2]=-1;q[Ye+16>>2]=0;q[Ye+4>>2]=0;q[Ye+8>>2]=0;q[Ye>>2]=1908}function xe(Ye,An,Io){Ye=Ye|0;An=An|0;Io=Io|0;q[Ye+4>>2]=An;An=q[q[q[An+4>>2]+8>>2]+(Io<<2)>>2];q[Ye+12>>2]=Io;q[Ye+8>>2]=An;return 1}function ye(Ye,An){Ye=Ye|0;An=An|0;q[Ye+12>>2]=-1;q[Ye+8>>2]=An;return 1}function ze(Ye,An,Io){Ye=Ye|0;An=An|0;Io=Io|0;var Jo=0,Ko=0;Jo=q[Ye+8>>2];a:{if(o[Jo+24|0]<1){break a}if(!td(Jo,q[An+4>>2]-q[An>>2]>>2)){break a}Ko=n[q[q[Ye>>2]+32>>2]](Ye,An,Io)|0}return Ko|0}function Ae(q,Ye,An){q=q|0;Ye=Ye|0;An=An|0;return 1}function Be(Ye){var An=0,Io=0,Lo=0,Mo=0,No=0,Oo=0,Po=0,Qo=0;a:{Lo=q[Ye+8>>2];if(r[Lo+84|0]){break a}An=q[Ye+16>>2];if(!An|!r[An+84|0]){break a}Io=q[Lo+72>>2];Mo=q[Lo+68>>2];o[An+84|0]=0;Io=Io-Mo>>2;No=q[An+68>>2];Mo=q[An+72>>2]-No>>2;b:{if(Io>>>0>Mo>>>0){md(An+68|0,Io-Mo|0,1992);Lo=q[Ye+8>>2];break b}if(Io>>>0>=Mo>>>0){break b}q[An+72>>2]=No+(Io<<2)}An=0;Mo=r[Lo+84|0];Oo=Lo+72|0;Po=Ye+16|0;Qo=Lo+68|0;while(1){if(An>>>0>=(Mo?0:q[Oo>>2]-q[Lo+68>>2]>>2)>>>0){break a}Io=An;No=q[q[Po>>2]+68>>2]+(An<<2)|0;if(!Mo){Io=q[q[Qo>>2]+(An<<2)>>2]}q[No>>2]=Io;An=An+1|0;continue}}return q[Ye+16>>2]}function Ce(Ye,Ro){Ye=Ye|0;Ro=Ro|0;var So=0,To=0,Uo=0;if((n[q[q[Ro>>2]+20>>2]](Ro)|0)>=1){while(1){So=bl(q[q[Ye+4>>2]+4>>2],n[q[q[Ro>>2]+24>>2]](Ro,To)|0);if((So|0)==-1){return 0}a:{Uo=q[Ye+4>>2];if(r[Uo+36|0]<=1){if(n[q[q[Ro>>2]+28>>2]](Ro,q[q[q[Uo+4>>2]+8>>2]+(So<<2)>>2])){break a}return 0}So=Pj(Uo,So);if(!So){return 0}if(n[q[q[Ro>>2]+28>>2]](Ro,So)){break a}return 0}To=To+1|0;if((To|0)<(n[q[q[Ro>>2]+20>>2]](Ro)|0)){continue}break}}return 1}function De(Ye,Ro,Vo){Ye=Ye|0;Ro=Ro|0;Vo=Vo|0;var Wo=0,Xo=0,Yo=0,Zo=0,_o=0,$o=0,ap=0,bp=0,cp=0,dp=0,ep=0;Wo=q[Ro+4>>2];Xo=q[Ro>>2];Ro=q[q[Ye+8>>2]+40>>2];Yo=Ro;Zo=Mm((Ro|0)>-1?Ro:-1);Wo=Wo-Xo|0;if((Wo|0)>=1){dp=Wo>>2;while(1){$o=q[Vo+12>>2];Wo=ep+q[Vo+20>>2]|0;ap=q[Vo+16>>2];_o=Ro+ap|0;if(_o>>>0<Ro>>>0){Wo=Wo+1|0}Xo=Wo;if(($o|0)<(Wo|0)?1:($o|0)<=(Wo|0)?t[Vo+8>>2]>=_o>>>0?0:1:0){An(Zo);return 0}Wo=Cn(Zo,ap+q[Vo>>2]|0,Yo);q[Vo+16>>2]=_o;q[Vo+20>>2]=Xo;Cn(q[q[q[Ye+8>>2]- -64>>2]>>2]+bp|0,Wo,Yo);bp=Yo+bp|0;cp=cp+1|0;if((cp|0)<(dp|0)){continue}break}}An(Zo);return 1}function Ee(Ye){Ye=Ye|0;var Ro=0;q[Ye>>2]=1908;Ro=q[Ye+16>>2];q[Ye+16>>2]=0;if(Ro){Hb(Ro)}return Ye|0}function Fe(Ye){Ye=Ye|0;var Vo=0;q[Ye>>2]=1908;Vo=q[Ye+16>>2];q[Ye+16>>2]=0;if(Vo){Hb(Vo)}An(Ye)}function Ge(Ye,fp){var gp=0;wd(Ye);q[Ye+36>>2]=0;q[Ye+40>>2]=0;q[Ye>>2]=2004;q[Ye+44>>2]=0;q[Ye+48>>2]=0;q[Ye+52>>2]=0;q[Ye+56>>2]=0;gp=q[fp>>2];q[fp>>2]=0;q[Ye+60>>2]=gp}function He(Ye,fp){Ye=Ye|0;fp=fp|0;var hp=0,ip=0,jp=0,kp=0,lp=0,mp=0,np=0,op=0,pp=0,qp=0,rp=0,sp=0,tp=0;lp=T-16|0;T=lp;a:{if(!yd(Ye,fp)){break a}pp=Ye+36|0;mp=n[q[q[Ye>>2]+24>>2]](Ye)|0;jp=q[Ye+40>>2];ip=q[Ye+36>>2];hp=jp-ip>>2;b:{if(mp>>>0>hp>>>0){Ie(pp,mp-hp|0);break b}if(mp>>>0>=hp>>>0){break b}ip=ip+(mp<<2)|0;if((ip|0)!=(jp|0)){while(1){jp=jp+ -4|0;hp=q[jp>>2];q[jp>>2]=0;if(hp){n[q[q[hp>>2]+4>>2]](hp)}if((jp|0)!=(ip|0)){continue}break}}q[Ye+40>>2]=ip}op=1;if((mp|0)<1){break a}op=0;jp=0;while(1){kp=q[fp+16>>2];ip=q[fp+12>>2];hp=q[fp+20>>2];if((ip|0)<(hp|0)?1:(ip|0)<=(hp|0)?t[fp+8>>2]>kp>>>0?0:1:0){break a}np=r[kp+q[fp>>2]|0];kp=kp+1|0;if(kp>>>0<1){hp=hp+1|0}ip=fp;q[ip+16>>2]=kp;q[ip+20>>2]=hp;n[q[q[Ye>>2]+48>>2]](lp+8|0,Ye,np);hp=q[Ye+36>>2];ip=q[lp+8>>2];q[lp+8>>2]=0;kp=jp<<2;np=hp+kp|0;hp=q[np>>2];q[np>>2]=ip;if(hp){n[q[q[hp>>2]+4>>2]](hp)}hp=q[lp+8>>2];q[lp+8>>2]=0;if(hp){n[q[q[hp>>2]+4>>2]](hp)}hp=q[q[pp>>2]+kp>>2];if(!hp){break a}if(!(rp=hp,sp=n[q[q[Ye>>2]+28>>2]](Ye)|0,tp=n[q[q[Ye>>2]+20>>2]](Ye,jp)|0,qp=q[q[hp>>2]+8>>2],n[qp](rp|0,sp|0,tp|0)|0)){break a}jp=jp+1|0;if((mp|0)!=(jp|0)){continue}break}op=1}T=lp+16|0;return op|0}function Ie(Ye,fp){var up=0,vp=0,wp=0,xp=0,yp=0,zp=0,Ap=0,Bp=0,Cp=0;vp=q[Ye+8>>2];wp=Ye+4|0;up=q[wp>>2];if(vp-up>>2>>>0>=fp>>>0){Ye=fp<<2;Bp=wp,Cp=Dn(up,0,Ye)+Ye|0,q[Bp>>2]=Cp;return}a:{wp=q[Ye>>2];xp=up-wp>>2;yp=xp+fp|0;if(yp>>>0<1073741824){xp=xp<<2;vp=vp-wp|0;Ap=vp>>1;vp=vp>>2>>>0<536870911?Ap>>>0<yp>>>0?yp:Ap:1073741823;if(vp){if(vp>>>0>=1073741824){break a}zp=Mm(vp<<2)}xp=xp+zp|0;Dn(xp,0,fp<<2);fp=(yp<<2)+zp|0;yp=(vp<<2)+zp|0;if((up|0)!=(wp|0)){while(1){up=up+ -4|0;vp=q[up>>2];q[up>>2]=0;xp=xp+ -4|0;q[xp>>2]=vp;if((up|0)!=(wp|0)){continue}break}wp=q[Ye>>2];up=q[Ye+4>>2]}q[Ye>>2]=xp;q[Ye+8>>2]=yp;q[Ye+4>>2]=fp;if((up|0)!=(wp|0)){while(1){up=up+ -4|0;Ye=q[up>>2];q[up>>2]=0;if(Ye){n[q[q[Ye>>2]+4>>2]](Ye)}if((up|0)!=(wp|0)){continue}break}}if(wp){An(wp)}return}bn();F()}ab(2144);F()}function Je(Ye,fp){Ye=Ye|0;fp=fp|0;var Dp=0,Ep=0,Fp=0,Gp=0,Hp=0,Ip=0,Jp=0;Dp=q[Ye+60>>2];a:{if(!Dp){break a}q[Dp+4>>2]=Ye+48;if(!n[q[q[Dp>>2]+12>>2]](Dp)){break a}b:{Ep=n[q[q[Ye>>2]+24>>2]](Ye)|0;if((Ep|0)<1){break b}Gp=Ye+60|0;Dp=0;while(1){c:{Hp=q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2];Ip=n[q[q[Ye>>2]+20>>2]](Ye,Dp)|0;Fp=q[Gp>>2];if(!n[q[q[Fp>>2]+8>>2]](Fp,q[q[Hp+8>>2]+(Ip<<2)>>2])){break c}Dp=Dp+1|0;if((Ep|0)!=(Dp|0)){continue}break b}break}return 0}if(!n[q[q[Ye>>2]+36>>2]](Ye,fp)){break a}if(!n[q[q[Ye>>2]+40>>2]](Ye,fp)){break a}Jp=n[q[q[Ye>>2]+44>>2]](Ye)|0}return Jp|0}function Ke(Ye,fp){Ye=Ye|0;fp=fp|0;var Kp=0,Lp=0,Mp=0,Np=0,Op=0;Kp=1;Lp=n[q[q[Ye>>2]+24>>2]](Ye)|0;a:{if((Lp|0)<1){break a}Np=Ye+48|0;Kp=0;Op=Ye+36|0;Ye=0;while(1){Mp=q[q[Op>>2]+(Ye<<2)>>2];if(!n[q[q[Mp>>2]+16>>2]](Mp,Np,fp)){break a}Ye=Ye+1|0;if((Lp|0)!=(Ye|0)){continue}break}Kp=1}return Kp|0}function Le(Ye,fp){Ye=Ye|0;fp=fp|0;var Pp=0,Qp=0,Rp=0,Sp=0,Tp=0;Pp=1;Qp=n[q[q[Ye>>2]+24>>2]](Ye)|0;a:{if((Qp|0)<1){break a}Sp=Ye+48|0;Pp=0;Tp=Ye+36|0;Ye=0;while(1){Rp=q[q[Tp>>2]+(Ye<<2)>>2];if(!n[q[q[Rp>>2]+20>>2]](Rp,Sp,fp)){break a}Ye=Ye+1|0;if((Qp|0)!=(Ye|0)){continue}break}Pp=1}return Pp|0}function Me(Ye){Ye=Ye|0;var fp=0,Up=0,Vp=0,Wp=0,Xp=0,Yp=0,Zp=0,_p=0,$p=0,aq=0,bq=0,cq=0,dq=0;Wp=T-16|0;T=Wp;fp=1;Zp=n[q[q[Ye>>2]+24>>2]](Ye)|0;a:{if((Zp|0)<1){break a}dq=Ye+48|0;Yp=Ye+36|0;while(1){b:{c:{if(!q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+40>>2]){break c}_p=Xp<<2;fp=q[_p+q[Yp>>2]>>2];Up=q[fp+8>>2];$p=Be(fp);if(!$p){break c}fp=n[q[q[Ye>>2]+28>>2]](Ye)|0;aq=q[Up+56>>2];bq=q[fp+40>>2];fp=Mm(32);q[Wp>>2]=fp;q[Wp+4>>2]=24;q[Wp+8>>2]=-2147483616;o[fp+24|0]=0;Up=r[2076]|r[2077]<<8|(r[2078]<<16|r[2079]<<24);Vp=r[2072]|r[2073]<<8|(r[2074]<<16|r[2075]<<24);o[fp+16|0]=Vp;o[fp+17|0]=Vp>>>8;o[fp+18|0]=Vp>>>16;o[fp+19|0]=Vp>>>24;o[fp+20|0]=Up;o[fp+21|0]=Up>>>8;o[fp+22|0]=Up>>>16;o[fp+23|0]=Up>>>24;Up=r[2068]|r[2069]<<8|(r[2070]<<16|r[2071]<<24);Vp=r[2064]|r[2065]<<8|(r[2066]<<16|r[2067]<<24);o[fp+8|0]=Vp;o[fp+9|0]=Vp>>>8;o[fp+10|0]=Vp>>>16;o[fp+11|0]=Vp>>>24;o[fp+12|0]=Up;o[fp+13|0]=Up>>>8;o[fp+14|0]=Up>>>16;o[fp+15|0]=Up>>>24;Up=r[2060]|r[2061]<<8|(r[2062]<<16|r[2063]<<24);Vp=r[2056]|r[2057]<<8|(r[2058]<<16|r[2059]<<24);o[fp|0]=Vp;o[fp+1|0]=Vp>>>8;o[fp+2|0]=Vp>>>16;o[fp+3|0]=Vp>>>24;o[fp+4|0]=Up;o[fp+5|0]=Up>>>8;o[fp+6|0]=Up>>>16;o[fp+7|0]=Up>>>24;d:{e:{Vp=bq+16|0;Up=Vp;fp=q[Up>>2];if(!fp){break e}while(1){cq=q[fp+16>>2]<(aq|0);Up=cq?Up:fp;fp=q[(cq<<2)+fp>>2];if(fp){continue}break}if((Up|0)==(Vp|0)|(aq|0)<q[Up+16>>2]){break e}fp=Up+20|0;if(!ga(fp,Wp)){break e}fp=gk(fp,Wp);break d}fp=gk(bq,Wp)}if(o[Wp+11|0]<=-1){An(q[Wp>>2])}if(!fp){break c}ud(q[q[q[Yp>>2]+_p>>2]+8>>2],$p);break b}fp=q[q[Yp>>2]+(Xp<<2)>>2];if(n[q[q[fp>>2]+24>>2]](fp,dq)){break b}fp=0;break a}fp=1;Xp=Xp+1|0;if((Zp|0)!=(Xp|0)){continue}break}}T=Wp+16|0;return fp|0}function Ne(Ye,eq,fq){Ye=Ye|0;eq=eq|0;fq=fq|0;if(fq>>>0>3){q[Ye>>2]=0;return}a:{b:{switch(fq-1|0){default:eq=Mm(20);we(eq);break a;case 0:eq=Mm(24);Re(eq);break a;case 1:eq=Mm(36);Re(eq);q[eq+32>>2]=0;q[eq+24>>2]=-1;q[eq+28>>2]=0;q[eq>>2]=10764;break a;case 2:break b}}eq=Mm(28);Re(eq);q[eq+24>>2]=-1;q[eq>>2]=6744;q[Ye>>2]=eq;return}q[Ye>>2]=eq}function Oe(Ye){Ye=Ye|0;var eq=0,fq=0,gq=0,hq=0,iq=0;q[Ye>>2]=2004;eq=Ye+60|0;fq=q[eq>>2];q[eq>>2]=0;if(fq){n[q[q[fq>>2]+4>>2]](fq)}eq=q[Ye+48>>2];if(eq){q[Ye+52>>2]=eq;An(eq)}fq=q[Ye+36>>2];if(fq){eq=fq;iq=Ye+40|0;gq=q[iq>>2];hq=eq;a:{if((eq|0)==(gq|0)){break a}while(1){gq=gq+ -4|0;eq=q[gq>>2];q[gq>>2]=0;if(eq){n[q[q[eq>>2]+4>>2]](eq)}if((fq|0)!=(gq|0)){continue}break}hq=q[Ye+36>>2]}eq=hq;q[iq>>2]=fq;An(eq)}q[Ye>>2]=1384;eq=q[Ye+16>>2];if(eq){q[Ye+20>>2]=eq;An(eq)}eq=q[Ye+4>>2];if(eq){q[Ye+8>>2]=eq;An(eq)}return Ye|0}function Pe(Ye){Ye=Ye|0;var jq=0,kq=0,lq=0,mq=0,nq=0;q[Ye>>2]=2004;jq=Ye+60|0;kq=q[jq>>2];q[jq>>2]=0;if(kq){n[q[q[kq>>2]+4>>2]](kq)}jq=q[Ye+48>>2];if(jq){q[Ye+52>>2]=jq;An(jq)}kq=q[Ye+36>>2];if(kq){jq=kq;nq=Ye+40|0;lq=q[nq>>2];mq=jq;a:{if((jq|0)==(lq|0)){break a}while(1){lq=lq+ -4|0;jq=q[lq>>2];q[lq>>2]=0;if(jq){n[q[q[jq>>2]+4>>2]](jq)}if((kq|0)!=(lq|0)){continue}break}mq=q[Ye+36>>2]}jq=mq;q[nq>>2]=kq;An(jq)}q[Ye>>2]=1384;jq=q[Ye+16>>2];if(jq){q[Ye+20>>2]=jq;An(jq)}jq=q[Ye+4>>2];if(jq){q[Ye+8>>2]=jq;An(jq)}An(Ye)}function Qe(Ye,oq){Ye=Ye|0;oq=oq|0;var pq=0,qq=0;qq=q[Ye+16>>2];pq=0;a:{if(q[Ye+20>>2]-qq>>2<=(oq|0)){break a}oq=q[(oq<<2)+qq>>2];pq=0;if((oq|0)<0){break a}pq=Be(q[q[Ye+36>>2]+(oq<<2)>>2])}return pq|0}function Re(Ye){we(Ye);q[Ye+20>>2]=0;q[Ye>>2]=2220}function Se(q,Ye,oq){q=q|0;Ye=Ye|0;oq=oq|0;return xe(q,Ye,oq)|0}function Te(Ye,oq){Ye=Ye|0;oq=oq|0;var rq=0,sq=0;sq=q[Ye+4>>2];a:{if(sq){rq=1;if(r[sq+36|0]<2){break a}}rq=n[q[q[Ye>>2]+48>>2]](Ye,q[oq+4>>2]-q[oq>>2]>>2)|0}return rq|0}function Ue(Ye,oq,tq){Ye=Ye|0;oq=oq|0;tq=tq|0;var uq=0,vq=0,wq=0,xq=0,yq=0,zq=0,Aq=0,Bq=0,Cq=0,Dq=0;wq=T-16|0;T=wq;Aq=q[tq+8>>2];xq=q[tq+16>>2];yq=q[tq+12>>2];uq=yq;vq=q[tq+20>>2];a:{if((uq|0)<(vq|0)?1:(uq|0)<=(vq|0)?Aq>>>0>xq>>>0?0:1:0){break a}Bq=q[tq>>2];Cq=o[Bq+xq|0];uq=vq;zq=xq+1|0;if(zq>>>0<1){uq=uq+1|0}q[tq+16>>2]=zq;q[tq+20>>2]=uq;b:{if((Cq|0)==-2){break b}if((yq|0)<(uq|0)?1:(yq|0)<=(uq|0)?Aq>>>0>zq>>>0?0:1:0){break a}yq=o[zq+Bq|0];xq=xq+2|0;if(xq>>>0<2){vq=vq+1|0}uq=tq;q[uq+16>>2]=xq;q[uq+20>>2]=vq;n[q[q[Ye>>2]+40>>2]](wq+8|0,Ye,Cq,yq);vq=q[wq+8>>2];q[wq+8>>2]=0;uq=q[Ye+20>>2];q[Ye+20>>2]=vq;if(!uq){q[wq+8>>2]=0;break b}n[q[q[uq>>2]+4>>2]](uq);uq=q[wq+8>>2];q[wq+8>>2]=0;if(!uq){break b}n[q[q[uq>>2]+4>>2]](uq)}uq=q[Ye+20>>2];if(uq){if(!n[q[q[Ye>>2]+28>>2]](Ye,uq)){break a}}if(!n[q[q[Ye>>2]+36>>2]](Ye,oq,tq)){break a}tq=q[Ye+4>>2];if(!(!tq|r[tq+36|0]>1)){if(!n[q[q[Ye>>2]+48>>2]](Ye,q[oq+4>>2]-q[oq>>2]>>2)){break a}}Dq=1}T=wq+16|0;return Dq|0}function Ve(Ye,oq,tq,Eq){Ye=Ye|0;oq=oq|0;tq=tq|0;Eq=Eq|0;var Fq=0,Gq=0;Fq=T-48|0;T=Fq;a:{if((Eq|0)!=1){q[Ye>>2]=0;break a}Eq=q[oq+4>>2];oq=q[oq+12>>2];q[Fq+40>>2]=0;Gq=Fq+32|0;q[Gq>>2]=0;q[Gq+4>>2]=0;q[Fq+24>>2]=0;q[Fq+28>>2]=0;q[Fq+16>>2]=0;q[Fq+20>>2]=0;q[Fq+8>>2]=0;q[Fq+12>>2]=0;We(Fq,tq,oq,Eq,Fq+8|0);oq=q[Gq>>2];if(oq){q[Fq+36>>2]=oq;An(oq)}q[Ye>>2]=q[Fq>>2]}T=Fq+48|0}function We(Ye,oq,tq,Eq,Hq){var Iq=0,Jq=0;a:{if((oq|0)!=-2){Jq=q[q[q[Eq+4>>2]+8>>2]+(tq<<2)>>2];if((n[q[q[Eq>>2]+8>>2]](Eq)|0)==1){Iq=oq;oq=s[Eq+36>>1];bf(Ye,Eq,Iq,tq,Hq,(oq<<24|oq<<8&16711680)>>>16);if(q[Ye>>2]){break a}q[Ye>>2]=0}Iq=Mm(44);cf(Iq,Jq,Hq)}q[Ye>>2]=Iq}}function Xe(oq,tq,Eq){oq=oq|0;tq=tq|0;Eq=Eq|0;var Hq=0,Kq=0,Lq=0,Mq=0,Nq=0,Oq=0,Pq=0,Qq=0,Rq=0,Sq=0,Tq=0,Uq=0,Vq=0;a:{Tq=n[q[q[oq>>2]+44>>2]](oq)|0;if((Tq|0)<1){break a}Nq=q[tq+4>>2]-q[tq>>2]>>2;Ye(oq,Nq,Tq);Hq=q[oq+16>>2];if(!q[Hq+80>>2]){break a}Lq=q[q[Hq>>2]>>2];if(!Lq){break a}Pq=q[Eq+8>>2];Oq=q[Eq+16>>2];Mq=q[Eq+12>>2];Qq=Mq;Kq=q[Eq+20>>2];if((Qq|0)<(Kq|0)?1:(Qq|0)<=(Kq|0)?Pq>>>0>Oq>>>0?0:1:0){break a}Qq=w(Nq,Tq);Sq=Lq+q[Hq+48>>2]|0;Uq=q[Eq>>2];Vq=r[Uq+Oq|0];Nq=Eq;Hq=Kq;Lq=Oq+1|0;if(Lq>>>0<1){Hq=Hq+1|0}Rq=Lq;Lq=Hq;q[Nq+16>>2]=Rq;q[Nq+20>>2]=Hq;b:{c:{d:{if(Vq){if(qh(Qq,Tq,Eq,Sq)){break d}break a}if((Mq|0)<(Lq|0)?1:(Mq|0)<=(Lq|0)?Pq>>>0>Rq>>>0?0:1:0){break a}Nq=r[Rq+Uq|0];Hq=Kq;Kq=Oq+2|0;if(Kq>>>0<2){Hq=Hq+1|0}q[Eq+16>>2]=Kq;q[Eq+20>>2]=Hq;Hq=bk(5);Kq=q[q[oq+16>>2]- -64>>2];Kq=q[Kq+4>>2]-q[Kq>>2]|0;e:{if((Hq|0)==(Nq|0)){Nq=Qq<<2;if(Kq>>>0<Nq>>>0){break a}Lq=q[Eq+12>>2];Hq=q[Eq+20>>2];Oq=q[Eq+16>>2];Kq=Nq;Mq=Oq+Kq|0;if(Mq>>>0<Kq>>>0){Hq=Hq+1|0}if((Lq|0)>(Hq|0)?1:(Lq|0)>=(Hq|0)?t[Eq+8>>2]<Mq>>>0?0:1:0){break e}break a}if(Kq>>>0<w(Nq,Qq)>>>0){break a}Oq=q[Eq+12>>2];Hq=q[Eq+20>>2];Pq=q[Eq+8>>2];Lq=Pq;Rq=q[Eq+16>>2];Mq=Rq;Kq=Nq;Vq=Lq-Mq>>>0>=$n(Kq,0,Qq,0)>>>0?0:1;Lq=Oq-(Hq+(Lq>>>0<Mq>>>0)|0)|0;Mq=V;if((Lq|0)<(Mq|0)?1:(Lq|0)<=(Mq|0)?Vq:0){break a}Lq=0;if(!Qq){break c}Mq=0;Lq=Pq;Pq=Kq+Rq|0;if(Pq>>>0<Kq>>>0){Hq=Hq+1|0}if((Oq|0)<(Hq|0)?1:(Oq|0)<=(Hq|0)?Lq>>>0>=Pq>>>0?0:1:0){break b}Pq=0;while(1){Cn(Sq+(Pq<<2)|0,Rq+q[Eq>>2]|0,Nq);Hq=q[Eq+20>>2];Rq=Kq+q[Eq+16>>2]|0;if(Rq>>>0<Kq>>>0){Hq=Hq+1|0}q[Eq+16>>2]=Rq;q[Eq+20>>2]=Hq;Pq=Pq+1|0;if((Qq|0)==(Pq|0)){break d}Oq=q[Eq+12>>2];Uq=Kq+Rq|0;if(Uq>>>0<Kq>>>0){Hq=Hq+1|0}if((Oq|0)>(Hq|0)?1:(Oq|0)>=(Hq|0)?t[Eq+8>>2]<Uq>>>0?0:1:0){continue}break}break b}Cn(Sq,Oq+q[Eq>>2]|0,Nq);Hq=q[Eq+20>>2];Lq=Kq+q[Eq+16>>2]|0;if(Lq>>>0<Kq>>>0){Hq=Hq+1|0}q[Eq+16>>2]=Lq;q[Eq+20>>2]=Hq}Lq=0;if(!Qq){break c}Kq=q[oq+20>>2];if(Kq){Lq=1;if(n[q[q[Kq>>2]+32>>2]](Kq)){break c}}Tj(Sq,Qq,Sq);Lq=1}Kq=q[oq+20>>2];f:{if(!Kq){break f}if(!n[q[q[Kq>>2]+40>>2]](Kq,Eq)){break a}if(!Lq){break f}Mq=0;oq=q[oq+20>>2];if(!n[q[q[oq>>2]+44>>2]](oq,Sq,Sq,Qq,Tq,q[tq>>2])){break b}}Mq=1}return Mq|0}return 0}function Ye(Ye,oq,tq){var Eq=0,Wq=0,Xq=0,Yq=0;Eq=T-80|0;T=Eq;Wq=nd(Eq+16|0);Xq=q[q[Ye+8>>2]+56>>2];Yq=tq<<24>>24;tq=w(bk(5),tq);od(Wq,Xq,Yq,5,0,tq,tq>>31);tq=Mm(96);sd(tq,Wq);q[Eq+8>>2]=tq;o[tq+84|0]=1;q[tq+72>>2]=q[tq+68>>2];td(tq,oq);q[Eq>>2]=0;oq=q[Eq+8>>2];q[Eq+8>>2]=0;tq=Ye+16|0;Ye=q[tq>>2];q[tq>>2]=oq;a:{if(!Ye){q[Eq>>2]=0;break a}Hb(Ye);Ye=q[Eq>>2];q[Eq>>2]=0;if(!Ye){break a}Hb(Ye)}Ye=q[Eq+8>>2];q[Eq+8>>2]=0;if(Ye){Hb(Ye)}T=Eq+80|0}function Ze(Ye,oq){Ye=Ye|0;oq=oq|0;var tq=0,Zq=0,_q=0,$q=0,ar=0,br=0,cr=0,dr=0,er=0;Zq=q[Ye+8>>2];tq=q[Zq+28>>2]+ -1|0;if(tq>>>0>5){return 0}a:{b:{switch(tq-1|0){case 0:$q=o[Zq+24|0];ar=Mm(($q|0)>-1?$q:-1);tq=q[Ye+16>>2];Zq=0;c:{if(!q[tq+80>>2]){break c}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}br=($q|0)<1;dr=Ye+8|0;tq=0;while(1){Ye=0;if(!br){while(1){o[Ye+ar|0]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if(($q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[dr>>2]- -64>>2]>>2]+cr|0,ar,$q);cr=$q+cr|0;_q=_q+1|0;if((_q|0)!=(oq|0)){continue}break}break a;default:$q=o[Zq+24|0];ar=Mm(($q|0)>-1?$q:-1);tq=q[Ye+16>>2];Zq=0;d:{if(!q[tq+80>>2]){break d}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}br=($q|0)<1;dr=Ye+8|0;tq=0;while(1){Ye=0;if(!br){while(1){o[Ye+ar|0]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if(($q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[dr>>2]- -64>>2]>>2]+cr|0,ar,$q);cr=$q+cr|0;_q=_q+1|0;if((_q|0)!=(oq|0)){continue}break}break a;case 2:_q=o[Zq+24|0];Zq=_q+_q|0;ar=Mm(Zq>>>0<_q>>>0?-1:Zq);tq=q[Ye+16>>2];Zq=0;e:{if(!q[tq+80>>2]){break e}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}br=_q<<1;dr=(_q|0)<1;er=Ye+8|0;tq=0;while(1){Ye=0;if(!dr){while(1){p[(Ye<<1)+ar>>1]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if((_q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[er>>2]- -64>>2]>>2]+cr|0,ar,br);cr=cr+br|0;$q=$q+1|0;if(($q|0)!=(oq|0)){continue}break}break a;case 1:_q=o[Zq+24|0];Zq=_q+_q|0;ar=Mm(Zq>>>0<_q>>>0?-1:Zq);tq=q[Ye+16>>2];Zq=0;f:{if(!q[tq+80>>2]){break f}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}br=_q<<1;dr=(_q|0)<1;er=Ye+8|0;tq=0;while(1){Ye=0;if(!dr){while(1){p[(Ye<<1)+ar>>1]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if((_q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[er>>2]- -64>>2]>>2]+cr|0,ar,br);cr=cr+br|0;$q=$q+1|0;if(($q|0)!=(oq|0)){continue}break}break a;case 4:_q=o[Zq+24|0];br=_q<<2;ar=Mm((_q|0)!=(_q&1073741823)?-1:br);tq=q[Ye+16>>2];Zq=0;g:{if(!q[tq+80>>2]){break g}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}dr=(_q|0)<1;er=Ye+8|0;tq=0;while(1){Ye=0;if(!dr){while(1){q[(Ye<<2)+ar>>2]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if((_q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[er>>2]- -64>>2]>>2]+cr|0,ar,br);cr=cr+br|0;$q=$q+1|0;if(($q|0)!=(oq|0)){continue}break}break a;case 3:break b}}_q=o[Zq+24|0];br=_q<<2;ar=Mm((_q|0)!=(_q&1073741823)?-1:br);tq=q[Ye+16>>2];Zq=0;h:{if(!q[tq+80>>2]){break h}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}dr=(_q|0)<1;er=Ye+8|0;tq=0;while(1){Ye=0;if(!dr){while(1){q[(Ye<<2)+ar>>2]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if((_q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[er>>2]- -64>>2]>>2]+cr|0,ar,br);cr=cr+br|0;$q=$q+1|0;if(($q|0)!=(oq|0)){continue}break}}An(ar);return 1}function _e(Ye){Ye=Ye|0;var oq=0,fr=0;q[Ye>>2]=2220;fr=Ye+20|0;oq=q[fr>>2];q[fr>>2]=0;if(oq){n[q[q[oq>>2]+4>>2]](oq)}q[Ye>>2]=1908;fr=Ye+16|0;oq=q[fr>>2];q[fr>>2]=0;if(oq){Hb(oq)}return Ye|0}function $e(Ye){Ye=Ye|0;var gr=0,hr=0;q[Ye>>2]=2220;hr=Ye+20|0;gr=q[hr>>2];q[hr>>2]=0;if(gr){n[q[q[gr>>2]+4>>2]](gr)}q[Ye>>2]=1908;hr=Ye+16|0;gr=q[hr>>2];q[hr>>2]=0;if(gr){Hb(gr)}An(Ye)}function af(Ye){Ye=Ye|0;return o[q[Ye+8>>2]+24|0]}function bf(Ye,ir,jr,kr,lr,mr){var nr=0,or=0,pr=0,qr=0;nr=T-32|0;T=nr;pr=q[q[q[ir+4>>2]+8>>2]+(kr<<2)>>2];a:{b:{if((n[q[q[ir>>2]+8>>2]](ir)|0)!=1|jr+ -1>>>0>5){break b}qr=n[q[q[ir>>2]+36>>2]](ir)|0;or=n[q[q[ir>>2]+44>>2]](ir,kr)|0;if(!(or?qr:0)){q[Ye>>2]=0;break a}kr=n[q[q[ir>>2]+40>>2]](ir,kr)|0;if(kr){ir=q[ir+44>>2];q[nr+12>>2]=kr;q[nr+8>>2]=ir;q[nr+20>>2]=or;q[nr+16>>2]=or+12;df(Ye,jr,pr,lr,nr+8|0,mr);if(q[Ye>>2]){break a}q[Ye>>2]=0;break b}ir=q[ir+44>>2];q[nr+12>>2]=qr;q[nr+8>>2]=ir;q[nr+20>>2]=or;q[nr+16>>2]=or+12;ef(Ye,jr,pr,lr,nr+8|0,mr);if(q[Ye>>2]){break a}q[Ye>>2]=0}q[Ye>>2]=0}T=nr+32|0}function cf(Ye,ir,jr){var kr=0,lr=0,mr=0,rr=0,sr=0,tr=0,ur=0,vr=0;q[Ye>>2]=3044;q[Ye+4>>2]=ir;ir=q[jr+8>>2];kr=q[jr+12>>2];lr=q[jr+16>>2];rr=q[jr+20>>2];sr=q[jr>>2];tr=q[jr+4>>2];q[Ye+40>>2]=0;mr=Ye+32|0;q[mr>>2]=0;q[mr+4>>2]=0;q[Ye+24>>2]=lr;q[Ye+28>>2]=rr;q[Ye+16>>2]=ir;q[Ye+20>>2]=kr;q[Ye+8>>2]=sr;q[Ye+12>>2]=tr;a:{ir=q[jr+28>>2]-q[jr+24>>2]|0;b:{if(!ir){break b}kr=ir>>2;if(kr>>>0>=1073741824){break a}ir=Mm(ir);q[Ye+32>>2]=ir;lr=Ye+36|0;q[lr>>2]=ir;q[Ye+40>>2]=ir+(kr<<2);kr=q[jr+24>>2];jr=q[jr+28>>2]-kr|0;if((jr|0)<1){break b}ur=lr,vr=Cn(ir,kr,jr)+jr|0,q[ur>>2]=vr}q[Ye>>2]=6584;return}bn();F()}function df(Ye,ir,jr,wr,xr,yr){ir=ir+ -1|0;if(ir>>>0>5){q[Ye>>2]=0;return}a:{b:{switch(ir-1|0){default:ir=Mm(60);ff(ir,jr,wr,xr);q[ir>>2]=2336;break a;case 0:ir=Mm(60);ff(ir,jr,wr,xr);q[ir>>2]=3100;break a;case 2:ir=Mm(112);ff(ir,jr,wr,xr);q[ir>>2]=3336;q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir+68>>2]=0;q[ir+72>>2]=0;q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+84>>2]=0;q[ir+88>>2]=0;q[ir+92>>2]=0;q[ir+96>>2]=0;q[ir+100>>2]=0;q[ir+104>>2]=0;q[ir+108>>2]=0;break a;case 1:ir=Mm(92);ff(ir,jr,wr,xr);q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir>>2]=3584;q[ir+88>>2]=yr;q[ir+68>>2]=0;q[ir+72>>2]=0;q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+84>>2]=0;break a;case 3:ir=Mm(104);ff(ir,jr,wr,xr);q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir>>2]=3812;q[ir+84>>2]=0;jr=q[xr+4>>2];q[ir+88>>2]=q[xr>>2];q[ir+92>>2]=jr;jr=q[xr+12>>2];q[ir+96>>2]=q[xr+8>>2];q[ir+100>>2]=jr;break a;case 4:break b}}ir=Mm(124);ff(ir,jr,wr,xr);q[ir>>2]=4048;jr=ir- -64|0;q[jr>>2]=0;q[jr+4>>2]=0;jr=q[xr+4>>2];q[ir+72>>2]=q[xr>>2];q[ir+76>>2]=jr;jr=q[xr+12>>2];q[ir+80>>2]=q[xr+8>>2];q[ir+84>>2]=jr;q[ir+92>>2]=-1;q[ir+96>>2]=-1;q[ir+88>>2]=1;q[ir+60>>2]=4284;q[ir+100>>2]=-1;q[ir+104>>2]=-1;ah(ir+108|0);q[Ye>>2]=ir;return}q[Ye>>2]=ir}function ef(Ye,ir,jr,wr,xr,yr){ir=ir+ -1|0;if(ir>>>0>5){q[Ye>>2]=0;return}a:{b:{switch(ir-1|0){default:ir=Mm(60);Vf(ir,jr,wr,xr);q[ir>>2]=4676;break a;case 0:ir=Mm(60);Vf(ir,jr,wr,xr);q[ir>>2]=5100;break a;case 2:ir=Mm(112);Vf(ir,jr,wr,xr);q[ir>>2]=5324;q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir+68>>2]=0;q[ir+72>>2]=0;q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+84>>2]=0;q[ir+88>>2]=0;q[ir+92>>2]=0;q[ir+96>>2]=0;q[ir+100>>2]=0;q[ir+104>>2]=0;q[ir+108>>2]=0;break a;case 1:ir=Mm(92);Vf(ir,jr,wr,xr);q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir>>2]=5560;q[ir+88>>2]=yr;q[ir+68>>2]=0;q[ir+72>>2]=0;q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+84>>2]=0;break a;case 3:ir=Mm(104);Vf(ir,jr,wr,xr);q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir>>2]=5776;q[ir+84>>2]=0;jr=q[xr+4>>2];q[ir+88>>2]=q[xr>>2];q[ir+92>>2]=jr;jr=q[xr+12>>2];q[ir+96>>2]=q[xr+8>>2];q[ir+100>>2]=jr;break a;case 4:break b}}ir=Mm(124);Vf(ir,jr,wr,xr);q[ir>>2]=6e3;jr=ir- -64|0;q[jr>>2]=0;q[jr+4>>2]=0;jr=q[xr+4>>2];q[ir+72>>2]=q[xr>>2];q[ir+76>>2]=jr;jr=q[xr+12>>2];q[ir+80>>2]=q[xr+8>>2];q[ir+84>>2]=jr;q[ir+92>>2]=-1;q[ir+96>>2]=-1;q[ir+88>>2]=1;q[ir+60>>2]=6220;q[ir+100>>2]=-1;q[ir+104>>2]=-1;ah(ir+108|0);q[Ye>>2]=ir;return}q[Ye>>2]=ir}function ff(Ye,ir,jr,wr){var xr=0,yr=0,zr=0,Ar=0,Br=0,Cr=0,Dr=0,Er=0;q[Ye>>2]=3044;q[Ye+4>>2]=ir;ir=q[jr+8>>2];xr=q[jr+12>>2];yr=q[jr+16>>2];Ar=q[jr+20>>2];Br=q[jr>>2];Cr=q[jr+4>>2];q[Ye+40>>2]=0;zr=Ye+32|0;q[zr>>2]=0;q[zr+4>>2]=0;q[Ye+24>>2]=yr;q[Ye+28>>2]=Ar;q[Ye+16>>2]=ir;q[Ye+20>>2]=xr;q[Ye+8>>2]=Br;q[Ye+12>>2]=Cr;a:{ir=q[jr+28>>2]-q[jr+24>>2]|0;b:{if(!ir){break b}xr=ir>>2;if(xr>>>0>=1073741824){break a}ir=Mm(ir);q[Ye+32>>2]=ir;yr=Ye+36|0;q[yr>>2]=ir;q[Ye+40>>2]=ir+(xr<<2);xr=q[jr+24>>2];jr=q[jr+28>>2]-xr|0;if((jr|0)<1){break b}Dr=yr,Er=Cn(ir,xr,jr)+jr|0,q[Dr>>2]=Er}q[Ye>>2]=2988;ir=q[wr+4>>2];q[Ye+44>>2]=q[wr>>2];q[Ye+48>>2]=ir;ir=q[wr+12>>2];q[Ye+52>>2]=q[wr+8>>2];q[Ye+56>>2]=ir;return}bn();F()}function gf(Ye){Ye=Ye|0;var ir=0;q[Ye>>2]=3044;ir=q[Ye+32>>2];if(ir){q[Ye+36>>2]=ir;An(ir)}An(Ye)}function hf(Ye){Ye=Ye|0;var jr=0;if(!(!q[Ye+52>>2]|(!q[Ye+44>>2]|!q[Ye+48>>2]))){jr=q[Ye+56>>2]!=0}return jr|0}function jf(q){q=q|0;return 0}function kf(q,Ye){q=q|0;Ye=Ye|0;return-1}function lf(Ye,wr){Ye=Ye|0;wr=wr|0;var Fr=0,Gr=0,Hr=0,Ir=0,Jr=0,Kr=0,Lr=0,Mr=0,Nr=0,Or=0;Gr=q[wr+12>>2];Lr=Gr;Fr=q[wr+20>>2];Ir=Fr;Jr=q[wr+16>>2];Hr=Jr+4|0;if(Hr>>>0<4){Fr=Fr+1|0}Mr=q[wr+8>>2];Kr=Hr;Hr=Fr;a:{if((Gr|0)<(Fr|0)?1:(Gr|0)<=(Fr|0)?Mr>>>0>=Kr>>>0?0:1:0){break a}Nr=q[wr>>2];Fr=Nr+Jr|0;Gr=r[Fr|0]|r[Fr+1|0]<<8|(r[Fr+2|0]<<16|r[Fr+3|0]<<24);q[wr+16>>2]=Kr;q[wr+20>>2]=Hr;Fr=Ir;Ir=Jr+8|0;if(Ir>>>0<8){Fr=Fr+1|0}Hr=Ir;Ir=Fr;if((Lr|0)<(Fr|0)?1:(Lr|0)<=(Fr|0)?Mr>>>0>=Hr>>>0?0:1:0){break a}Fr=Kr+Nr|0;Fr=r[Fr|0]|r[Fr+1|0]<<8|(r[Fr+2|0]<<16|r[Fr+3|0]<<24);q[wr+16>>2]=Hr;q[wr+20>>2]=Ir;if((Gr|0)>(Fr|0)){break a}q[Ye+16>>2]=Fr;q[Ye+12>>2]=Gr;wr=Gr;Gr=(Fr>>31)-((Fr>>>0<wr>>>0)+(wr>>31)|0)|0;wr=Fr-wr|0;if(!Gr&wr>>>0>2147483646|Gr>>>0>0){break a}Or=1;wr=wr+1|0;q[Ye+20>>2]=wr;Gr=Ye+24|0;Fr=(wr|0)/2|0;q[Gr>>2]=Fr;q[Ye+28>>2]=0-Fr;if(wr&1){break a}q[Gr>>2]=Fr+ -1}return Or|0}function mf(Ye,wr,Pr,Qr,Rr,Sr){Ye=Ye|0;wr=wr|0;Pr=Pr|0;Qr=Qr|0;Rr=Rr|0;Sr=Sr|0;var Tr=0,Ur=0,Vr=0,Wr=0,Xr=0,Yr=0,Zr=0,_r=0,$r=0,as=0,bs=0,cs=0,ds=0,es=0,fs=0,gs=0;q[Ye+8>>2]=Rr;Sr=Ye+32|0;Tr=q[Sr>>2];Qr=q[Ye+36>>2]-Tr>>2;a:{if(Qr>>>0<Rr>>>0){Fa(Sr,Rr-Qr|0);break a}if(Qr>>>0<=Rr>>>0){break a}q[Ye+36>>2]=Tr+(Rr<<2)}fs=q[Ye+52>>2];cs=q[Ye+48>>2];Qr=0;Sr=(Rr&1073741823)!=(Rr|0)?-1:Rr<<2;as=Dn(Mm(Sr),0,Sr);Yr=Ye+8|0;Sr=q[Yr>>2];b:{if((Sr|0)<1){break b}Zr=Ye+16|0;Tr=Ye+32|0;_r=Ye+12|0;while(1){Sr=Qr<<2;Vr=q[Sr+as>>2];Xr=q[Zr>>2];c:{if((Vr|0)>(Xr|0)){Ur=q[Tr>>2];q[Sr+Ur>>2]=Xr;break c}Ur=q[Tr>>2];Sr=Sr+Ur|0;Xr=q[_r>>2];if((Vr|0)<(Xr|0)){q[Sr>>2]=Xr;break c}q[Sr>>2]=Vr}Qr=Qr+1|0;Sr=q[Yr>>2];if((Qr|0)<(Sr|0)){continue}break}if((Sr|0)<1){break b}Tr=0;Yr=Ye+16|0;Vr=Ye+20|0;Zr=Ye+8|0;_r=Ye+12|0;while(1){Sr=Tr<<2;Qr=Sr+Pr|0;Sr=q[wr+Sr>>2]+q[Sr+Ur>>2]|0;q[Qr>>2]=Sr;d:{if((Sr|0)>q[Yr>>2]){Sr=Sr-q[Vr>>2]|0}else{if((Sr|0)>=q[_r>>2]){break d}Sr=Sr+q[Vr>>2]|0}q[Qr>>2]=Sr}Tr=Tr+1|0;Sr=q[Zr>>2];if((Tr|0)<(Sr|0)){continue}break}}Qr=q[Ye+56>>2];ds=q[Qr>>2];Qr=q[Qr+4>>2]-ds|0;if((Qr|0)>=5){es=Qr>>2;Yr=Ye+16|0;Zr=Ye+32|0;_r=Ye+8|0;Xr=Ye+20|0;bs=Ye+12|0;gs=cs+28|0;Vr=1;while(1){e:{f:{if(es>>>0>Vr>>>0){$r=w(Rr,Vr);Ye=q[(Vr<<2)+ds>>2];if((Ye|0)==-1|q[q[cs>>2]+(Ye>>>3&536870908)>>2]>>>(Ye&31)&1){break f}Ye=q[q[q[cs+64>>2]+12>>2]+(Ye<<2)>>2];if((Ye|0)==-1){break f}Tr=q[fs>>2];Qr=q[gs>>2];Ur=q[Tr+(q[Qr+(Ye<<2)>>2]<<2)>>2];if((Ur|0)>=(Vr|0)){break f}Wr=Ye+1|0;Wr=q[Tr+(q[Qr+(((Wr>>>0)%3|0?Wr:Ye+ -2|0)<<2)>>2]<<2)>>2];if((Wr|0)>=(Vr|0)){break f}Ye=q[Tr+(q[Qr+(Ye+((Ye>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((Ye|0)>=(Vr|0)){break f}if((Rr|0)>=1){Ye=w(Ye,Rr);Tr=w(Rr,Wr);Ur=w(Rr,Ur);Qr=0;while(1){q[(Qr<<2)+as>>2]=(q[(Ye+Qr<<2)+Pr>>2]+q[(Qr+Tr<<2)+Pr>>2]|0)-q[(Qr+Ur<<2)+Pr>>2];Qr=Qr+1|0;if((Rr|0)!=(Qr|0)){continue}break}}if((Sr|0)<1){break e}Qr=0;while(1){Ye=Qr<<2;Sr=q[Ye+as>>2];Tr=q[Yr>>2];g:{if((Sr|0)>(Tr|0)){Ur=q[Zr>>2];q[Ye+Ur>>2]=Tr;break g}Ur=q[Zr>>2];Ye=Ye+Ur|0;Tr=q[bs>>2];if((Sr|0)<(Tr|0)){q[Ye>>2]=Tr;break g}q[Ye>>2]=Sr}Qr=Qr+1|0;Sr=q[_r>>2];if((Qr|0)<(Sr|0)){continue}break}Tr=0;if((Sr|0)<1){break e}Ye=$r<<2;$r=Ye+Pr|0;Wr=Ye+wr|0;while(1){Qr=Tr<<2;Ye=Qr+$r|0;Qr=q[Qr+Wr>>2]+q[Qr+Ur>>2]|0;q[Ye>>2]=Qr;h:{if((Qr|0)>q[Yr>>2]){Qr=Qr-q[Xr>>2]|0}else{if((Qr|0)>=q[bs>>2]){break h}Qr=Qr+q[Xr>>2]|0}q[Ye>>2]=Qr}Tr=Tr+1|0;Sr=q[_r>>2];if((Tr|0)<(Sr|0)){continue}break}break e}cn();F()}if((Sr|0)<1){break e}Tr=(w(Vr+ -1|0,Rr)<<2)+Pr|0;Qr=0;while(1){Ye=Qr<<2;Sr=q[Ye+Tr>>2];Wr=q[Yr>>2];i:{if((Sr|0)>(Wr|0)){Ur=q[Zr>>2];q[Ye+Ur>>2]=Wr;break i}Ur=q[Zr>>2];Ye=Ye+Ur|0;Wr=q[bs>>2];if((Sr|0)<(Wr|0)){q[Ye>>2]=Wr;break i}q[Ye>>2]=Sr}Qr=Qr+1|0;Sr=q[_r>>2];if((Qr|0)<(Sr|0)){continue}break}Tr=0;if((Sr|0)<1){break e}Ye=$r<<2;$r=Ye+Pr|0;Wr=Ye+wr|0;while(1){Qr=Tr<<2;Ye=Qr+$r|0;Qr=q[Qr+Wr>>2]+q[Qr+Ur>>2]|0;q[Ye>>2]=Qr;j:{if((Qr|0)>q[Yr>>2]){Qr=Qr-q[Xr>>2]|0}else{if((Qr|0)>=q[bs>>2]){break j}Qr=Qr+q[Xr>>2]|0}q[Ye>>2]=Qr}Tr=Tr+1|0;Sr=q[_r>>2];if((Tr|0)<(Sr|0)){continue}break}}Vr=Vr+1|0;if((Vr|0)<(es|0)){continue}break}}An(as);return 1}function nf(Ye){Ye=Ye|0;var wr=0;q[Ye>>2]=3044;wr=q[Ye+32>>2];if(wr){q[Ye+36>>2]=wr;An(wr)}return Ye|0}function of(Ye,Pr,Qr,Rr,Sr,hs){Ye=Ye|0;Pr=Pr|0;Qr=Qr|0;Rr=Rr|0;Sr=Sr|0;hs=hs|0;var is=0,js=0,ks=0,ls=0,ms=0,ns=0,os=0,ps=0,qs=0,rs=0,ss=0,ts=0,us=0,vs=0,ws=0,xs=0,ys=0,zs=0,As=0,Bs=0,Cs=0,Ds=0;q[Ye+8>>2]=Sr;hs=Ye+32|0;is=q[hs>>2];Rr=q[Ye+36>>2]-is>>2;a:{if(Rr>>>0<Sr>>>0){Fa(hs,Sr-Rr|0);break a}if(Rr>>>0<=Sr>>>0){break a}q[Ye+36>>2]=is+(Sr<<2)}hs=0;Rr=(Sr&1073741823)!=(Sr|0)?-1:Sr<<2;rs=Dn(Mm(Rr),0,Rr);ws=Dn(Mm(Rr),0,Rr);os=Ye+8|0;is=q[os>>2];b:{if((is|0)<1){break b}ps=Ye+16|0;Rr=Ye+32|0;qs=Ye+12|0;while(1){is=hs<<2;ls=q[is+rs>>2];ns=q[ps>>2];c:{if((ls|0)>(ns|0)){ks=q[Rr>>2];q[is+ks>>2]=ns;break c}ks=q[Rr>>2];is=is+ks|0;ns=q[qs>>2];if((ls|0)<(ns|0)){q[is>>2]=ns;break c}q[is>>2]=ls}hs=hs+1|0;is=q[os>>2];if((hs|0)<(is|0)){continue}break}if((is|0)<1){break b}Rr=0;os=Ye+16|0;ls=Ye+20|0;ps=Ye+8|0;qs=Ye+12|0;while(1){is=Rr<<2;hs=is+Qr|0;is=q[Pr+is>>2]+q[is+ks>>2]|0;q[hs>>2]=is;d:{if((is|0)>q[os>>2]){is=is-q[ls>>2]|0}else{if((is|0)>=q[qs>>2]){break d}is=is+q[ls>>2]|0}q[hs>>2]=is}Rr=Rr+1|0;is=q[ps>>2];if((Rr|0)<(is|0)){continue}break}}Rr=q[Ye+56>>2];xs=q[Rr>>2];Rr=q[Rr+4>>2]-xs|0;if((Rr|0)>=5){ys=Rr>>2;As=Sr<<2;Bs=q[Ye+52>>2];os=Ye+16|0;ps=Ye+32|0;qs=Ye+8|0;ns=Ye+20|0;us=Ye+12|0;ss=q[Ye+48>>2];Cs=ss+28|0;ls=1;while(1){e:{f:{g:{if(ys>>>0>ls>>>0){Ye=q[(ls<<2)+xs>>2];zs=(Sr|0)<1;if(!zs){Dn(rs,0,As)}if((Ye|0)==-1){Ye=w(Sr,ls);break f}Ds=q[ss>>2];ks=0;Rr=Ye;while(1){h:{if(q[Ds+(Rr>>>3&536870908)>>2]>>>(Rr&31)&1){break h}hs=q[q[q[ss+64>>2]+12>>2]+(Rr<<2)>>2];if((hs|0)==-1){break h}ms=q[Bs>>2];js=q[Cs>>2];vs=q[ms+(q[js+(hs<<2)>>2]<<2)>>2];if((vs|0)>=(ls|0)){break h}ts=hs+1|0;ts=q[ms+(q[js+(((ts>>>0)%3|0?ts:hs+ -2|0)<<2)>>2]<<2)>>2];if((ts|0)>=(ls|0)){break h}hs=q[ms+(q[js+(hs+((hs>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((hs|0)>=(ls|0)){break h}i:{if(zs){break i}js=w(Sr,hs);ms=w(Sr,ts);vs=w(Sr,vs);hs=0;while(1){q[ws+(hs<<2)>>2]=(q[(hs+js<<2)+Qr>>2]+q[(hs+ms<<2)+Qr>>2]|0)-q[(hs+vs<<2)+Qr>>2];hs=hs+1|0;if((hs|0)!=(Sr|0)){continue}break}hs=0;if((Sr|0)<=0){break i}while(1){js=hs<<2;ms=js+rs|0;q[ms>>2]=q[ms>>2]+q[js+ws>>2];hs=hs+1|0;if((hs|0)!=(Sr|0)){continue}break}}ks=ks+1|0}hs=-1;Rr=((Rr>>>0)%3|0?-1:2)+Rr|0;j:{if((Rr|0)==-1|q[q[ss>>2]+(Rr>>>3&536870908)>>2]>>>(Rr&31)&1){break j}Rr=q[q[q[ss+64>>2]+12>>2]+(Rr<<2)>>2];if((Rr|0)==-1){break j}if((Rr>>>0)%3){hs=Rr+ -1|0;break j}hs=Rr+2|0}Rr=(Ye|0)==(hs|0)?-1:hs;if((Rr|0)!=-1){continue}break}Ye=w(Sr,ls);if(!ks){break f}hs=0;if((Sr|0)<=0){break g}while(1){Rr=(hs<<2)+rs|0;q[Rr>>2]=q[Rr>>2]/(ks|0);hs=hs+1|0;if((hs|0)!=(Sr|0)){continue}break}break g}cn();F()}if((is|0)<1){break e}hs=0;while(1){Rr=hs<<2;is=q[Rr+rs>>2];js=q[os>>2];k:{if((is|0)>(js|0)){ks=q[ps>>2];q[Rr+ks>>2]=js;break k}ks=q[ps>>2];Rr=Rr+ks|0;js=q[us>>2];if((is|0)<(js|0)){q[Rr>>2]=js;break k}q[Rr>>2]=is}hs=hs+1|0;is=q[qs>>2];if((hs|0)<(is|0)){continue}break}Rr=0;if((is|0)<1){break e}Ye=Ye<<2;js=Ye+Qr|0;ms=Ye+Pr|0;while(1){hs=Rr<<2;Ye=hs+js|0;hs=q[hs+ms>>2]+q[hs+ks>>2]|0;q[Ye>>2]=hs;l:{if((hs|0)>q[os>>2]){hs=hs-q[ns>>2]|0}else{if((hs|0)>=q[us>>2]){break l}hs=hs+q[ns>>2]|0}q[Ye>>2]=hs}Rr=Rr+1|0;is=q[qs>>2];if((Rr|0)<(is|0)){continue}break}break e}if((is|0)<1){break e}js=(w(ls+ -1|0,Sr)<<2)+Qr|0;hs=0;while(1){Rr=hs<<2;is=q[Rr+js>>2];ms=q[os>>2];m:{if((is|0)>(ms|0)){ks=q[ps>>2];q[Rr+ks>>2]=ms;break m}ks=q[ps>>2];Rr=Rr+ks|0;ms=q[us>>2];if((is|0)<(ms|0)){q[Rr>>2]=ms;break m}q[Rr>>2]=is}hs=hs+1|0;is=q[qs>>2];if((hs|0)<(is|0)){continue}break}Rr=0;if((is|0)<1){break e}Ye=Ye<<2;js=Ye+Qr|0;ms=Ye+Pr|0;while(1){hs=Rr<<2;Ye=hs+js|0;hs=q[hs+ms>>2]+q[hs+ks>>2]|0;q[Ye>>2]=hs;n:{if((hs|0)>q[os>>2]){hs=hs-q[ns>>2]|0}else{if((hs|0)>=q[us>>2]){break n}hs=hs+q[ns>>2]|0}q[Ye>>2]=hs}Rr=Rr+1|0;is=q[qs>>2];if((Rr|0)<(is|0)){continue}break}}ls=ls+1|0;if((ls|0)<(ys|0)){continue}break}}An(ws);An(rs);return 1}function pf(Ye){Ye=Ye|0;var Pr=0;q[Ye>>2]=3336;Pr=q[Ye+96>>2];if(Pr){An(Pr)}Pr=q[Ye+84>>2];if(Pr){An(Pr)}Pr=q[Ye+72>>2];if(Pr){An(Pr)}Pr=q[Ye+60>>2];if(Pr){An(Pr)}q[Ye>>2]=3044;Pr=q[Ye+32>>2];if(Pr){q[Ye+36>>2]=Pr;An(Pr)}return Ye|0}function qf(Ye){Ye=Ye|0;var Qr=0;q[Ye>>2]=3336;Qr=q[Ye+96>>2];if(Qr){An(Qr)}Qr=q[Ye+84>>2];if(Qr){An(Qr)}Qr=q[Ye+72>>2];if(Qr){An(Qr)}Qr=q[Ye+60>>2];if(Qr){An(Qr)}q[Ye>>2]=3044;Qr=q[Ye+32>>2];if(Qr){q[Ye+36>>2]=Qr;An(Qr)}An(Ye)}function rf(q){q=q|0;return 4}function sf(Ye,Rr){Ye=Ye|0;Rr=Rr|0;var Sr=0,hs=0,Es=0,Fs=0,Gs=0,Hs=0,Is=0,Js=0,Ks=0,Ls=0,Ms=0;Js=T-32|0;T=Js;a:{if(s[Rr+38>>1]<=513){Es=q[Rr+16>>2];hs=q[Rr+12>>2];Sr=q[Rr+20>>2];if((hs|0)<(Sr|0)?1:(hs|0)<=(Sr|0)?t[Rr+8>>2]>Es>>>0?0:1:0){break a}Fs=r[Es+q[Rr>>2]|0];Es=Es+1|0;if(Es>>>0<1){Sr=Sr+1|0}q[Rr+16>>2]=Es;q[Rr+20>>2]=Sr;if(Fs){break a}}b:{while(1){if(!tf(1,Js+28|0,Rr)){break b}Sr=q[Js+28>>2];if(Sr){Fs=(w(Gs,12)+Ye|0)+60|0;uf(Fs,Sr);Is=ah(Js+8|0);if(!bh(Is,Rr)){break b}Hs=0;while(1){hs=1<<(Hs&31);Ks=dh(Is);Es=q[Fs>>2]+(Hs>>>3&536870908)|0;Ls=Es;if(Ks){hs=hs|q[Es>>2]}else{hs=q[Es>>2]&(hs^-1)}q[Ls>>2]=hs;Hs=Hs+1|0;if((Sr|0)!=(Hs|0)){continue}break}}Gs=Gs+1|0;if((Gs|0)!=4){continue}break}Hs=0;hs=q[Rr+12>>2];Es=hs;Sr=q[Rr+20>>2];Gs=Sr;Is=q[Rr+16>>2];Fs=Is+4|0;if(Fs>>>0<4){Sr=Sr+1|0}Ls=q[Rr+8>>2];Ks=Fs;Fs=Sr;if((hs|0)<(Sr|0)?1:(hs|0)<=(Sr|0)?Ls>>>0>=Ks>>>0?0:1:0){break a}Ms=q[Rr>>2];Sr=Ms+Is|0;hs=r[Sr|0]|r[Sr+1|0]<<8|(r[Sr+2|0]<<16|r[Sr+3|0]<<24);q[Rr+16>>2]=Ks;q[Rr+20>>2]=Fs;Sr=Gs;Gs=Is+8|0;if(Gs>>>0<8){Sr=Sr+1|0}Fs=Gs;Gs=Sr;if((Es|0)<(Sr|0)?1:(Es|0)<=(Sr|0)?Ls>>>0>=Fs>>>0?0:1:0){break a}Sr=Ks+Ms|0;Sr=r[Sr|0]|r[Sr+1|0]<<8|(r[Sr+2|0]<<16|r[Sr+3|0]<<24);q[Rr+16>>2]=Fs;q[Rr+20>>2]=Gs;if((hs|0)>(Sr|0)){break a}q[Ye+16>>2]=Sr;q[Ye+12>>2]=hs;Rr=hs;hs=(Sr>>31)-((Sr>>>0<Rr>>>0)+(Rr>>31)|0)|0;Rr=Sr-Rr|0;if(!hs&Rr>>>0>2147483646|hs>>>0>0){break a}Hs=1;Rr=Rr+1|0;q[Ye+20>>2]=Rr;hs=Ye+24|0;Sr=(Rr|0)/2|0;q[hs>>2]=Sr;q[Ye+28>>2]=0-Sr;if(Rr&1){break a}q[hs>>2]=Sr+ -1;break a}Hs=0}T=Js+32|0;return Hs|0}function tf(Ye,Rr,Ns){var Os=0,Ps=0,Qs=0,Rs=0;a:{if(Ye>>>0>5){break a}Qs=q[Ns+16>>2];Os=q[Ns+12>>2];Ps=q[Ns+20>>2];if((Os|0)<(Ps|0)?1:(Os|0)<=(Ps|0)?t[Ns+8>>2]>Qs>>>0?0:1:0){break a}Os=r[Qs+q[Ns>>2]|0];Qs=Qs+1|0;if(Qs>>>0<1){Ps=Ps+1|0}q[Ns+16>>2]=Qs;q[Ns+20>>2]=Ps;Ps=Rr;if(Os&128){if(!tf(Ye+1|0,Rr,Ns)){break a}Ye=q[Rr>>2]<<7;q[Rr>>2]=Ye;Os=Ye|Os&127}q[Ps>>2]=Os;Rs=1}return Rs}function uf(Ye,Rr){var Ns=0,Ss=0,Ts=0,Us=0,Vs=0,Ws=0;Ss=T-32|0;T=Ss;a:{Ns=q[Ye+4>>2];b:{if(Ns>>>0<Rr>>>0){Vs=q[Ye+8>>2];Ts=Vs<<5;Us=Rr-Ns|0;c:{if(!(Ts>>>0<Us>>>0|Ns>>>0>Ts-Us>>>0)){q[Ye+4>>2]=Rr;Rr=Ns&31;Ye=q[Ye>>2]+(Ns>>>3&536870908)|0;break c}q[Ss+24>>2]=0;q[Ss+16>>2]=0;q[Ss+20>>2]=0;if((Rr|0)<=-1){break a}Ns=Ss+16|0;if(Ts>>>0<=1073741822){Rr=Rr+31&-32;Ts=Vs<<6;Rr=Ts>>>0<Rr>>>0?Rr:Ts}else{Rr=2147483647}cb(Ns,Rr);Ns=q[Ye+4>>2];q[Ss+20>>2]=Ns+Us;Rr=q[Ss+16>>2];d:{if((Ns|0)<1){Ns=0;break d}Vs=q[Ye>>2];Ts=Ns>>>5<<2;Rr=En(Rr,Vs,Ts)+Ts|0;Ns=Ns&31;if(!Ns){Ns=0;break d}Ws=-1>>>32-Ns;q[Rr>>2]=q[Rr>>2]&(Ws^-1)|q[Ts+Vs>>2]&Ws}q[Ss+12>>2]=Ns;q[Ss+8>>2]=Rr;Ns=q[Ss+8>>2];Rr=q[Ss+12>>2];Ts=q[Ye>>2];q[Ye>>2]=q[Ss+16>>2];q[Ss+16>>2]=Ts;Vs=q[Ye+4>>2];q[Ye+4>>2]=q[Ss+20>>2];q[Ss+20>>2]=Vs;Ye=Ye+8|0;Vs=q[Ye>>2];q[Ye>>2]=q[Ss+24>>2];q[Ss+24>>2]=Vs;if(Ts){An(Ts)}Ye=Ns}if(!Us){break b}if(Rr){Ns=32-Rr|0;Ts=Ns>>>0>Us>>>0?Us:Ns;q[Ye>>2]=q[Ye>>2]&(-1<<Rr&-1>>>Ns-Ts^-1);Us=Us-Ts|0;Ye=Ye+4|0}Rr=Ye;Ye=Us>>>5<<2;Rr=Dn(Rr,0,Ye);Ns=Us&31;if(!Ns){break b}Ye=Ye+Rr|0;q[Ye>>2]=q[Ye>>2]&(-1>>>32-Ns^-1);break b}q[Ye+4>>2]=Rr}T=Ss+32|0;return}bn();F()}function vf(Ye,Rr,Xs,Ys,Zs,_s){Ye=Ye|0;Rr=Rr|0;Xs=Xs|0;Ys=Ys|0;Zs=Zs|0;_s=_s|0;var $s=0,at=0,bt=0,ct=0,dt=0,et=0,ft=0,gt=0,ht=0,it=0,jt=0,kt=0,lt=0,mt=0,nt=0,ot=0,pt=0,qt=0,rt=0,st=0,tt=0,ut=0,vt=0,wt=0,xt=0,yt=0;bt=T+ -64|0;T=bt;q[Ye+8>>2]=Zs;_s=Ye+32|0;ct=q[_s>>2];Ys=q[Ye+36>>2]-ct>>2;a:{if(Ys>>>0<Zs>>>0){Fa(_s,Zs-Ys|0);break a}if(Ys>>>0<=Zs>>>0){break a}q[Ye+36>>2]=ct+(Zs<<2)}q[bt+56>>2]=0;q[bt+60>>2]=0;q[bt+48>>2]=0;q[bt+52>>2]=0;q[bt+40>>2]=0;q[bt+44>>2]=0;_s=bt+32|0;q[_s>>2]=0;q[_s+4>>2]=0;q[bt+24>>2]=0;q[bt+28>>2]=0;q[bt+16>>2]=0;q[bt+20>>2]=0;q[bt>>2]=0;Ys=0;if(Zs){Ad(bt+16|0,Zs,bt);at=q[bt+28>>2];Ys=q[_s>>2]}q[bt>>2]=0;Ys=Ys-at>>2;b:{if(Ys>>>0>=Zs>>>0){if(Ys>>>0<=Zs>>>0){break b}q[bt+32>>2]=(Zs<<2)+at;break b}Ad(bt+16|12,Zs-Ys|0,bt)}q[bt>>2]=0;_s=q[bt+40>>2];Ys=q[bt+44>>2]-_s>>2;c:{if(Ys>>>0>=Zs>>>0){if(Ys>>>0<=Zs>>>0){break c}q[bt+44>>2]=_s+(Zs<<2);break c}Ad(bt+40|0,Zs-Ys|0,bt)}q[bt>>2]=0;_s=q[bt+52>>2];Ys=q[bt+56>>2]-_s>>2;d:{if(Ys>>>0>=Zs>>>0){if(Ys>>>0<=Zs>>>0){break d}q[bt+56>>2]=_s+(Zs<<2);break d}Ad(bt+52|0,Zs-Ys|0,bt)}et=Ye+8|0;e:{if(q[et>>2]<=0){break e}ft=q[bt+16>>2];at=0;ht=Ye+16|0;Ys=Ye+32|0;dt=Ye+12|0;while(1){_s=at<<2;$s=q[_s+ft>>2];it=q[ht>>2];f:{if(($s|0)>(it|0)){ct=q[Ys>>2];q[_s+ct>>2]=it;break f}ct=q[Ys>>2];_s=_s+ct|0;it=q[dt>>2];if(($s|0)<(it|0)){q[_s>>2]=it;break f}q[_s>>2]=$s}at=at+1|0;_s=q[et>>2];if((at|0)<(_s|0)){continue}break}if((_s|0)<1){break e}Ys=0;et=Ye+16|0;at=Ye+20|0;ft=Ye+8|0;ht=Ye+12|0;while(1){$s=Ys<<2;_s=$s+Xs|0;$s=q[Rr+$s>>2]+q[$s+ct>>2]|0;q[_s>>2]=$s;g:{if(($s|0)>q[et>>2]){$s=$s-q[at>>2]|0}else{if(($s|0)>=q[ht>>2]){break g}$s=$s+q[at>>2]|0}q[_s>>2]=$s}Ys=Ys+1|0;if((Ys|0)<q[ft>>2]){continue}break}}wt=q[Ye+52>>2];ft=q[Ye+48>>2];qt=Mm(16);Ys=qt;q[Ys>>2]=0;q[Ys+4>>2]=0;q[Ys+8>>2]=0;q[Ys+12>>2]=0;q[bt+8>>2]=0;q[bt>>2]=0;q[bt+4>>2]=0;h:{if(Zs){if(Zs>>>0>=1073741824){break h}Ys=Zs<<2;mt=Mm(Ys);q[bt>>2]=mt;_s=Ys+mt|0;q[bt+8>>2]=_s;Dn(mt,0,Ys);q[bt+4>>2]=_s}Ys=1;_s=q[Ye+56>>2];ut=q[_s>>2];_s=q[_s+4>>2]-ut|0;i:{if((_s|0)<5){break i}vt=_s>>2;xt=Zs<<2;ht=Ye+8|0;it=Ye+16|0;nt=Ye+32|0;ot=Ye+20|0;pt=Ye+12|0;yt=ft+28|0;et=1;while(1){j:{k:{l:{if(vt>>>0>et>>>0){m:{n:{ct=q[(et<<2)+ut>>2];if((ct|0)==-1){break n}gt=ct+((ct>>>0)%3|0?-1:2)|0;rt=gt>>>5;dt=1;st=1<<(gt&31);tt=q[ft>>2];_s=0;Ys=ct;o:{while(1){p:{if(q[tt+(Ys>>>3&536870908)>>2]>>>(Ys&31)&1){break p}$s=q[q[q[ft+64>>2]+12>>2]+(Ys<<2)>>2];if(($s|0)==-1){break p}kt=q[wt>>2];at=q[yt>>2];lt=q[kt+(q[at+($s<<2)>>2]<<2)>>2];if((lt|0)>=(et|0)){break p}jt=$s+1|0;jt=q[kt+(q[at+(((jt>>>0)%3|0?jt:$s+ -2|0)<<2)>>2]<<2)>>2];if((jt|0)>=(et|0)){break p}$s=q[kt+(q[at+($s+(($s>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if(($s|0)>=(et|0)){break p}if((Zs|0)>=1){kt=q[(bt+16|0)+w(_s,12)>>2];$s=w(Zs,$s);jt=w(Zs,jt);lt=w(Zs,lt);at=0;while(1){q[kt+(at<<2)>>2]=(q[($s+at<<2)+Xs>>2]+q[(at+jt<<2)+Xs>>2]|0)-q[(at+lt<<2)+Xs>>2];at=at+1|0;if((at|0)!=(Zs|0)){continue}break}}$s=4;_s=_s+1|0;if((_s|0)==4){break o}}q:{if(dt&1){at=-1;$s=Ys+1|0;Ys=($s>>>0)%3|0?$s:Ys+ -2|0;if((Ys|0)==-1|q[q[ft>>2]+(Ys>>>3&536870908)>>2]>>>(Ys&31)&1){break q}Ys=q[q[q[ft+64>>2]+12>>2]+(Ys<<2)>>2];if((Ys|0)==-1){break q}$s=Ys+1|0;at=($s>>>0)%3|0?$s:Ys+ -2|0;break q}at=-1;Ys=((Ys>>>0)%3|0?-1:2)+Ys|0;if((Ys|0)==-1|q[q[ft>>2]+(Ys>>>3&536870908)>>2]>>>(Ys&31)&1){break q}Ys=q[q[q[ft+64>>2]+12>>2]+(Ys<<2)>>2];if((Ys|0)==-1){break q}if((Ys>>>0)%3){at=Ys+ -1|0;break q}at=Ys+2|0}r:{if((at|0)==(ct|0)){break r}Ys=at;$s=(at|0)!=-1;at=($s|dt^-1)&1;Ys=at?Ys:-1;dt=$s&dt;if(!((gt|0)==-1|at)){if(q[q[ft>>2]+(rt<<2)>>2]&st){break r}$s=q[q[q[ft+64>>2]+12>>2]+(gt<<2)>>2];if(($s|0)==-1){break r}dt=0;if(($s>>>0)%3){Ys=$s+ -1|0}else{Ys=$s+2|0}}if((Ys|0)!=-1){continue}}break}$s=_s;if(($s|0)<1){break n}}gt=(Zs|0)<1;if(!gt){Dn(mt,0,xt)}Ys=$s+ -1|0;dt=(Ys<<2)+qt|0;Ys=w(Ys,12)+Ye|0;kt=Ys+60|0;rt=q[Ys- -64>>2];Ys=0;st=q[bt>>2];ct=0;_s=0;while(1){at=q[dt>>2];q[dt>>2]=at+1;if(rt>>>0<=at>>>0){break i}s:{if(q[q[kt>>2]+(at>>>3&536870908)>>2]>>>(at&31)&1){break s}_s=_s+1|0;if(gt){break s}tt=q[(bt+16|0)+w(ct,12)>>2];at=0;while(1){lt=at<<2;jt=lt+st|0;q[jt>>2]=q[jt>>2]+q[lt+tt>>2];at=at+1|0;if((at|0)!=(Zs|0)){continue}break}}ct=ct+1|0;if(($s|0)!=(ct|0)){continue}break}dt=w(Zs,et);$s=dt;if(!_s){break m}at=0;if((Zs|0)>0){break l}break k}$s=w(Zs,et)}if(q[ht>>2]<1){break j}dt=(w(et+ -1|0,Zs)<<2)+Xs|0;at=0;while(1){Ys=at<<2;_s=q[Ys+dt>>2];gt=q[it>>2];t:{if((_s|0)>(gt|0)){ct=q[nt>>2];q[Ys+ct>>2]=gt;break t}ct=q[nt>>2];Ys=Ys+ct|0;gt=q[pt>>2];if((_s|0)<(gt|0)){q[Ys>>2]=gt;break t}q[Ys>>2]=_s}at=at+1|0;_s=q[ht>>2];if((at|0)<(_s|0)){continue}break}Ys=0;if((_s|0)<1){break j}_s=$s<<2;at=_s+Xs|0;dt=Rr+_s|0;while(1){$s=Ys<<2;_s=$s+at|0;$s=q[$s+dt>>2]+q[$s+ct>>2]|0;q[_s>>2]=$s;u:{if(($s|0)>q[it>>2]){$s=$s-q[ot>>2]|0}else{if(($s|0)>=q[pt>>2]){break u}$s=$s+q[ot>>2]|0}q[_s>>2]=$s}Ys=Ys+1|0;if((Ys|0)<q[ht>>2]){continue}break}break j}cn();F()}while(1){Ys=(at<<2)+mt|0;q[Ys>>2]=q[Ys>>2]/(_s|0);at=at+1|0;if((at|0)!=(Zs|0)){continue}break}}if(q[ht>>2]<1){break j}at=0;while(1){Ys=at<<2;_s=q[Ys+mt>>2];$s=q[it>>2];v:{if((_s|0)>($s|0)){ct=q[nt>>2];q[Ys+ct>>2]=$s;break v}ct=q[nt>>2];Ys=Ys+ct|0;$s=q[pt>>2];if((_s|0)<($s|0)){q[Ys>>2]=$s;break v}q[Ys>>2]=_s}at=at+1|0;_s=q[ht>>2];if((at|0)<(_s|0)){continue}break}Ys=0;if((_s|0)<1){break j}_s=dt<<2;at=_s+Xs|0;dt=Rr+_s|0;while(1){$s=Ys<<2;_s=$s+at|0;$s=q[$s+dt>>2]+q[$s+ct>>2]|0;q[_s>>2]=$s;w:{if(($s|0)>q[it>>2]){$s=$s-q[ot>>2]|0}else{if(($s|0)>=q[pt>>2]){break w}$s=$s+q[ot>>2]|0}q[_s>>2]=$s}Ys=Ys+1|0;if((Ys|0)<q[ht>>2]){continue}break}}Ys=1;et=et+1|0;if((et|0)<(vt|0)){continue}break}}Ye=q[bt>>2];if(Ye){q[bt+4>>2]=Ye;An(Ye)}An(qt);Ye=q[bt+52>>2];if(Ye){q[bt+56>>2]=Ye;An(Ye)}Ye=q[bt+40>>2];if(Ye){q[bt+44>>2]=Ye;An(Ye)}Ye=q[bt+28>>2];if(Ye){q[bt+32>>2]=Ye;An(Ye)}Ye=q[bt+16>>2];if(Ye){q[bt+20>>2]=Ye;An(Ye)}T=bt- -64|0;return Ys|0}bn();F()}function wf(Ye){Ye=Ye|0;var Rr=0,Xs=0;q[Ye>>2]=3584;Rr=q[Ye+76>>2];if(Rr){An(Rr)}Xs=Ye+68|0;Rr=q[Xs>>2];q[Xs>>2]=0;if(Rr){An(Rr)}q[Ye>>2]=3044;Rr=q[Ye+32>>2];if(Rr){q[Ye+36>>2]=Rr;An(Rr)}return Ye|0}function xf(Ye){Ye=Ye|0;var Ys=0,Zs=0;q[Ye>>2]=3584;Ys=q[Ye+76>>2];if(Ys){An(Ys)}Zs=Ye+68|0;Ys=q[Zs>>2];q[Zs>>2]=0;if(Ys){An(Ys)}q[Ye>>2]=3044;Ys=q[Ye+32>>2];if(Ys){q[Ye+36>>2]=Ys;An(Ys)}An(Ye)}function yf(q){q=q|0;return 3}function zf(Ye){Ye=Ye|0;if(!(!q[Ye+60>>2]|!q[Ye+44>>2]|(!q[Ye+48>>2]|!q[Ye+52>>2]))){return q[Ye+56>>2]!=0|0}return 0}function Af(Ye,_s){Ye=Ye|0;_s=_s|0;var zt=0;if(!(q[_s+56>>2]|!_s|r[_s+24|0]!=3)){q[Ye+60>>2]=_s;zt=1}return zt|0}function Bf(Ye,_s){Ye=Ye|0;_s=_s|0;var At=0,Bt=0,Ct=0,Dt=0,Et=0,Ft=0,Gt=0,Ht=0,It=0,Jt=0,Kt=0;Gt=T-32|0;T=Gt;q[Gt+28>>2]=0;a:{b:{if(s[_s+38>>1]<=513){Et=q[_s+12>>2];At=q[_s+20>>2];Ct=q[_s+16>>2];Bt=Ct+4|0;if(Bt>>>0<4){At=At+1|0}Dt=Bt;Bt=At;if((Et|0)<(At|0)?1:(Et|0)<=(At|0)?t[_s+8>>2]>=Dt>>>0?0:1:0){break a}At=Ct+q[_s>>2]|0;At=r[At|0]|r[At+1|0]<<8|(r[At+2|0]<<16|r[At+3|0]<<24);q[Gt+28>>2]=At;q[_s+16>>2]=Dt;q[_s+20>>2]=Bt;break b}if(!tf(1,Gt+28|0,_s)){break a}At=q[Gt+28>>2]}if(!At){break a}Dt=Ye+76|0;uf(Dt,At);It=ah(Gt+8|0);c:{if(!bh(It,_s)){break c}Et=1;while(1){Ct=1<<(Ht&31);Ft=dh(It);Bt=q[Dt>>2]+(Ht>>>3&536870908)|0;Et=Et^Ft;Ft=q[Bt>>2]|Ct;d:{if(!(Et&1)){break d}Ft=q[Bt>>2]&(Ct^-1)}Ct=Ft;Et=Et^1;q[Bt>>2]=Ct;Ht=Ht+1|0;if((At|0)!=(Ht|0)){continue}break}Ht=0;Bt=q[_s+12>>2];Et=Bt;At=q[_s+20>>2];Ct=At;It=q[_s+16>>2];Dt=It+4|0;if(Dt>>>0<4){At=At+1|0}Jt=q[_s+8>>2];Ft=Dt;Dt=At;if((Bt|0)<(At|0)?1:(Bt|0)<=(At|0)?Jt>>>0>=Ft>>>0?0:1:0){break c}Kt=q[_s>>2];At=Kt+It|0;Bt=r[At|0]|r[At+1|0]<<8|(r[At+2|0]<<16|r[At+3|0]<<24);q[_s+16>>2]=Ft;q[_s+20>>2]=Dt;At=Ct;Ct=It+8|0;if(Ct>>>0<8){At=At+1|0}Dt=Ct;Ct=At;if((Et|0)<(At|0)?1:(Et|0)<=(At|0)?Jt>>>0>=Dt>>>0?0:1:0){break c}At=Ft+Kt|0;At=r[At|0]|r[At+1|0]<<8|(r[At+2|0]<<16|r[At+3|0]<<24);q[_s+16>>2]=Dt;q[_s+20>>2]=Ct;if((Bt|0)>(At|0)){break c}q[Ye+16>>2]=At;q[Ye+12>>2]=Bt;_s=Bt;Bt=(At>>31)-((At>>>0<_s>>>0)+(_s>>31)|0)|0;_s=At-_s|0;if(!Bt&_s>>>0>2147483646|Bt>>>0>0){break c}Ht=1;_s=_s+1|0;q[Ye+20>>2]=_s;Bt=Ye+24|0;At=(_s|0)/2|0;q[Bt>>2]=At;q[Ye+28>>2]=0-At;if(_s&1){break c}q[Bt>>2]=At+ -1}}T=Gt+32|0;return Ht|0}function Cf(Ye,_s,Lt,Mt,Nt,Ot){Ye=Ye|0;_s=_s|0;Lt=Lt|0;Mt=Mt|0;Nt=Nt|0;Ot=Ot|0;var Pt=0,Qt=0,Rt=0,St=0,Tt=0,Ut=0,Vt=0,Wt=0,Xt=0,Yt=0,Zt=0,_t=0;q[Ye+64>>2]=Ot;q[Ye+72>>2]=Nt;Ot=Mm((Nt&1073741823)!=(Nt|0)?-1:Nt<<2);Mt=q[Ye+68>>2];q[Ye+68>>2]=Ot;if(Mt){An(Mt)}q[Ye+8>>2]=Nt;Ot=Ye+32|0;Pt=q[Ot>>2];Mt=q[Ye+36>>2]-Pt>>2;a:{if(Mt>>>0<Nt>>>0){Fa(Ot,Nt-Mt|0);break a}if(Mt>>>0<=Nt>>>0){break a}q[Ye+36>>2]=Pt+(Nt<<2)}b:{Mt=q[Ye+56>>2];Pt=q[Mt+4>>2];Ot=q[Mt>>2];Mt=Pt-Ot|0;if((Mt|0)<1){break b}if((Ot|0)!=(Pt|0)){Zt=Mt>>2;Tt=Ye+8|0;Vt=Ye+16|0;Wt=Ye+32|0;Xt=Ye+20|0;Yt=Ye+12|0;_t=Ye+56|0;while(1){Df(Ye,q[(Rt<<2)+Ot>>2],Lt,Rt);c:{if(q[Tt>>2]<1){break c}Ut=q[Ye+68>>2];Ot=0;while(1){Mt=Ot<<2;Pt=q[Mt+Ut>>2];Qt=q[Vt>>2];d:{if((Pt|0)>(Qt|0)){St=q[Wt>>2];q[Mt+St>>2]=Qt;break d}St=q[Wt>>2];Mt=Mt+St|0;Qt=q[Yt>>2];if((Pt|0)<(Qt|0)){q[Mt>>2]=Qt;break d}q[Mt>>2]=Pt}Ot=Ot+1|0;Pt=q[Tt>>2];if((Ot|0)<(Pt|0)){continue}break}Mt=0;if((Pt|0)<1){break c}Ot=w(Nt,Rt)<<2;Ut=Ot+Lt|0;Qt=_s+Ot|0;while(1){Pt=Mt<<2;Ot=Pt+Ut|0;Pt=q[Pt+Qt>>2]+q[Pt+St>>2]|0;q[Ot>>2]=Pt;e:{if((Pt|0)>q[Vt>>2]){Pt=Pt-q[Xt>>2]|0}else{if((Pt|0)>=q[Yt>>2]){break e}Pt=Pt+q[Xt>>2]|0}q[Ot>>2]=Pt}Mt=Mt+1|0;if((Mt|0)<q[Tt>>2]){continue}break}}Rt=Rt+1|0;if((Rt|0)>=(Zt|0)){break b}Mt=q[_t>>2];Ot=q[Mt>>2];if(q[Mt+4>>2]-Ot>>2>>>0>Rt>>>0){continue}break}}cn();F()}return 1}function Df(Ye,_s,Lt,Mt){var Nt=0,Ot=0,$t=0,au=x(0),bu=x(0),cu=x(0),du=0,eu=x(0),fu=x(0),gu=x(0),hu=x(0),iu=x(0),ju=0,ku=0,lu=x(0),mu=x(0),nu=x(0),ou=x(0),pu=x(0),qu=x(0),ru=x(0),su=x(0),tu=0;Nt=T-48|0;T=Nt;du=-1;Ot=-1;a:{if((_s|0)==-1){break a}Ot=_s+1|0;du=(Ot>>>0)%3|0?Ot:_s+ -2|0;Ot=_s+ -1|0;if((_s>>>0)%3){break a}Ot=_s+2|0}$t=q[Ye+52>>2];_s=q[$t>>2];b:{$t=q[$t+4>>2]-_s>>2;ju=q[q[Ye+48>>2]+28>>2];du=q[ju+(du<<2)>>2];if($t>>>0<=du>>>0){break b}tu=$t;$t=q[(Ot<<2)+ju>>2];if(tu>>>0<=$t>>>0){break b}c:{d:{Ot=q[_s+(du<<2)>>2];ju=(Ot|0)>=(Mt|0);if(ju){break d}du=q[_s+($t<<2)>>2];if((du|0)>=(Mt|0)){break d}_s=q[Ye+72>>2];$t=(w(_s,du)<<2)+Lt|0;bu=x(q[$t+4>>2]);_s=(w(_s,Ot)<<2)+Lt|0;iu=x(q[_s+4>>2]);lu=x(q[$t>>2]);ou=x(q[_s>>2]);if(!(lu!=ou|bu!=iu)){Ye=q[Ye+68>>2];_s=Ye;if(x(y(bu))<x(2147483648)){Lt=~~bu}else{Lt=-2147483648}q[_s+4>>2]=Lt;if(x(y(lu))<x(2147483648)){q[Ye>>2]=~~lu;break c}q[Ye>>2]=-2147483648;break c}Mt=q[q[Ye+64>>2]+(Mt<<2)>>2];q[Nt+40>>2]=0;q[Nt+32>>2]=0;q[Nt+36>>2]=0;_s=q[Ye+60>>2];if(!r[_s+84|0]){Mt=q[q[_s+68>>2]+(Mt<<2)>>2]}Da(_s,Mt,o[_s+24|0],Nt+32|0);Mt=q[q[Ye+64>>2]+(Ot<<2)>>2];q[Nt+24>>2]=0;q[Nt+16>>2]=0;q[Nt+20>>2]=0;_s=q[Ye+60>>2];if(!r[_s+84|0]){Mt=q[q[_s+68>>2]+(Mt<<2)>>2]}Da(_s,Mt,o[_s+24|0],Nt+16|0);Lt=q[q[Ye+64>>2]+(du<<2)>>2];q[Nt+8>>2]=0;q[Nt>>2]=0;q[Nt+4>>2]=0;_s=q[Ye+60>>2];if(!r[_s+84|0]){Lt=q[q[_s+68>>2]+(Lt<<2)>>2]}Da(_s,Lt,o[_s+24|0],Nt);mu=u[Nt+40>>2];nu=u[Nt+36>>2];eu=u[Nt+32>>2];qu=u[Nt+16>>2];cu=x(u[Nt>>2]-qu);ru=u[Nt+20>>2];fu=x(u[Nt+4>>2]-ru);su=u[Nt+24>>2];gu=x(u[Nt+8>>2]-su);pu=x(x(x(x(cu*cu)+x(0))+x(fu*fu))+x(gu*gu));e:{if(!(pu>x(0))){hu=x(0);if(q[Ye+88>>2]>257){break e}}eu=x(eu-qu);nu=x(nu-ru);mu=x(mu-su);au=x(x(x(x(x(cu*eu)+x(0))+x(fu*nu))+x(gu*mu))/pu);gu=x(mu-x(gu*au));fu=x(nu-x(fu*au));cu=x(eu-x(cu*au));hu=x(E(x(x(x(gu*gu)+x(x(fu*fu)+x(x(cu*cu)+x(0))))/pu)))}eu=hu;Lt=Ye+80|0;_s=q[Lt>>2]+ -1|0;Mt=q[q[Ye+76>>2]+(_s>>>3&536870908)>>2];q[Lt>>2]=_s;cu=x(bu-iu);hu=x(x(cu*au)+iu);iu=x(lu-ou);bu=x(iu*eu);_s=Mt>>>(_s&31)&1;bu=x(hu+(_s?bu:x(-bu)));hu=x(x(iu*au)+ou);au=x(cu*eu);au=x(hu+(_s?x(-au):au));f:{if(((k(au),e(0))&2147483647)>>>0>=2139095041){_s=q[Ye+68>>2];q[_s>>2]=-2147483648;break f}_s=q[Ye+68>>2];Ye=_s;ku=C(+au+.5);g:{if(y(ku)<2147483648){Lt=~~ku;break g}Lt=-2147483648}q[Ye>>2]=Lt}Lt=((k(bu),e(0))&2147483647)>>>0>2139095040;ku=C(+bu+.5);h:{if(y(ku)<2147483648){Ye=~~ku;break h}Ye=-2147483648}q[_s+4>>2]=Lt?-2147483648:Ye;break c}i:{if(!ju){_s=q[Ye+72>>2];Mt=w(Ot,_s);break i}if((Mt|0)<=0){if(q[Ye+72>>2]<1){break c}Lt=q[Ye+68>>2];_s=0;while(1){q[Lt+(_s<<2)>>2]=0;_s=_s+1|0;if((_s|0)<q[Ye+72>>2]){continue}break}break c}_s=q[Ye+72>>2];Mt=w(_s,Mt+ -1|0)}if((_s|0)<1){break c}Ot=q[Ye+68>>2];_s=0;while(1){q[Ot+(_s<<2)>>2]=q[(_s+Mt<<2)+Lt>>2];_s=_s+1|0;if((_s|0)<q[Ye+72>>2]){continue}break}}T=Nt+48|0;return}cn();F()}function Ef(Ye){Ye=Ye|0;var _s=0;q[Ye>>2]=3812;_s=q[Ye+76>>2];if(_s){An(_s)}q[Ye>>2]=3044;_s=q[Ye+32>>2];if(_s){q[Ye+36>>2]=_s;An(_s)}return Ye|0}function Ff(Ye){Ye=Ye|0;var Lt=0;q[Ye>>2]=3812;Lt=q[Ye+76>>2];if(Lt){An(Lt)}q[Ye>>2]=3044;Lt=q[Ye+32>>2];if(Lt){q[Ye+36>>2]=Lt;An(Lt)}An(Ye)}function Gf(q){q=q|0;return 5}function Hf(Ye,Mt){Ye=Ye|0;Mt=Mt|0;var uu=0,vu=0,wu=0,xu=0,yu=0,zu=0,Au=0,Bu=0,Cu=0,Du=0,Eu=0;Bu=T-16|0;T=Bu;wu=q[Mt+12>>2];uu=q[Mt+20>>2];xu=q[Mt+16>>2];vu=xu+4|0;if(vu>>>0<4){uu=uu+1|0}yu=vu;vu=uu;a:{if((wu|0)<(uu|0)?1:(wu|0)<=(uu|0)?t[Mt+8>>2]>=yu>>>0?0:1:0){break a}uu=xu+q[Mt>>2]|0;uu=r[uu|0]|r[uu+1|0]<<8|(r[uu+2|0]<<16|r[uu+3|0]<<24);q[Mt+16>>2]=yu;q[Mt+20>>2]=vu;if((uu|0)<0){break a}uf(Ye+76|0,uu);yu=ah(Bu);b:{if(!bh(yu,Mt)){break b}if((uu|0)>=1){wu=1;while(1){xu=1<<(Au&31);zu=dh(yu);vu=q[Ye+76>>2]+(Au>>>3&536870908)|0;wu=wu^zu;zu=q[vu>>2]|xu;c:{if(!(wu&1)){break c}zu=q[vu>>2]&(xu^-1)}xu=zu;wu=wu^1;q[vu>>2]=xu;Au=Au+1|0;if((uu|0)!=(Au|0)){continue}break}}vu=q[Mt+12>>2];Au=vu;uu=q[Mt+20>>2];wu=uu;yu=q[Mt+16>>2];xu=yu+4|0;if(xu>>>0<4){uu=uu+1|0}Cu=q[Mt+8>>2];zu=xu;xu=uu;if((vu|0)<(uu|0)?1:(vu|0)<=(uu|0)?Cu>>>0>=zu>>>0?0:1:0){break b}Du=q[Mt>>2];uu=Du+yu|0;vu=r[uu|0]|r[uu+1|0]<<8|(r[uu+2|0]<<16|r[uu+3|0]<<24);q[Mt+16>>2]=zu;q[Mt+20>>2]=xu;uu=wu;wu=yu+8|0;if(wu>>>0<8){uu=uu+1|0}xu=wu;wu=uu;if((Au|0)<(uu|0)?1:(Au|0)<=(uu|0)?Cu>>>0>=xu>>>0?0:1:0){break b}uu=zu+Du|0;uu=r[uu|0]|r[uu+1|0]<<8|(r[uu+2|0]<<16|r[uu+3|0]<<24);q[Mt+16>>2]=xu;q[Mt+20>>2]=wu;if((vu|0)>(uu|0)){break b}q[Ye+16>>2]=uu;q[Ye+12>>2]=vu;Mt=vu;vu=(uu>>31)-((uu>>>0<Mt>>>0)+(Mt>>31)|0)|0;Mt=uu-Mt|0;if(!vu&Mt>>>0>2147483646|vu>>>0>0){break b}Eu=1;Mt=Mt+1|0;q[Ye+20>>2]=Mt;vu=Ye+24|0;uu=(Mt|0)/2|0;q[vu>>2]=uu;q[Ye+28>>2]=0-uu;if(Mt&1){break b}q[vu>>2]=uu+ -1}}T=Bu+16|0;return Eu|0}function If(Ye,Mt,Fu,Gu,Hu,Iu){Ye=Ye|0;Mt=Mt|0;Fu=Fu|0;Gu=Gu|0;Hu=Hu|0;Iu=Iu|0;var Ju=0,Ku=0,Lu=0,Mu=0,Nu=0,Ou=0,Pu=0,Qu=0,Ru=0,Su=0,Tu=0,Uu=0;Gu=0;a:{if((Hu|0)!=2){break a}q[Ye+8>>2]=2;q[Ye- -64>>2]=Iu;Gu=Ye+32|0;Hu=q[Gu>>2];Iu=q[Ye+36>>2]-Hu|0;Ju=Iu>>2;b:{if(Ju>>>0<=1){Fa(Gu,2-Ju|0);break b}if((Iu|0)==8){break b}q[Ye+36>>2]=Hu+8}Gu=1;Hu=q[Ye+56>>2];Iu=q[Hu+4>>2];Hu=q[Hu>>2];Ju=Iu-Hu|0;if((Ju|0)<1){break a}if((Hu|0)!=(Iu|0)){Ru=Ye+60|0;Su=Ju>>2;Ju=Ye+8|0;Nu=Ye+16|0;Ou=Ye+32|0;Pu=Ye+20|0;Qu=Ye+12|0;Tu=Ye+56|0;while(1){if(!Jf(Ru,q[(Lu<<2)+Hu>>2],Fu,Lu)){Gu=0;break a}c:{if(q[Ju>>2]<1){break c}Hu=0;while(1){Gu=Hu<<2;Iu=q[(Gu+Ye|0)+68>>2];Ku=q[Nu>>2];d:{if((Iu|0)>(Ku|0)){Mu=q[Ou>>2];q[Gu+Mu>>2]=Ku;break d}Mu=q[Ou>>2];Gu=Gu+Mu|0;Ku=q[Qu>>2];if((Iu|0)<(Ku|0)){q[Gu>>2]=Ku;break d}q[Gu>>2]=Iu}Hu=Hu+1|0;Gu=q[Ju>>2];if((Hu|0)<(Gu|0)){continue}break}Iu=0;if((Gu|0)<1){break c}Gu=Lu<<3;Ku=Gu+Fu|0;Uu=Mt+Gu|0;while(1){Hu=Iu<<2;Gu=Hu+Ku|0;Hu=q[Hu+Uu>>2]+q[Hu+Mu>>2]|0;q[Gu>>2]=Hu;e:{if((Hu|0)>q[Nu>>2]){Hu=Hu-q[Pu>>2]|0}else{if((Hu|0)>=q[Qu>>2]){break e}Hu=Hu+q[Pu>>2]|0}q[Gu>>2]=Hu}Iu=Iu+1|0;if((Iu|0)<q[Ju>>2]){continue}break}}Gu=1;Lu=Lu+1|0;if((Lu|0)>=(Su|0)){break a}Gu=q[Tu>>2];Hu=q[Gu>>2];if(q[Gu+4>>2]-Hu>>2>>>0>Lu>>>0){continue}break}}cn();F()}return Gu|0}function Jf(Ye,Mt,Fu,Gu){var Hu=0,Iu=0,Vu=0,Wu=0,Xu=0,Yu=0,Zu=0,_u=0,$u=0,av=0,bv=0,cv=0,dv=0,ev=0,fv=0,gv=0,hv=0,iv=0,jv=0,kv=0,lv=0,mv=0,nv=0,ov=0,pv=0;Vu=T-80|0;T=Vu;Iu=-1;Hu=-1;a:{if((Mt|0)==-1){break a}Hu=Mt+1|0;Iu=(Hu>>>0)%3|0?Hu:Mt+ -2|0;Hu=Mt+ -1|0;if((Mt>>>0)%3){break a}Hu=Mt+2|0}Wu=q[Ye+36>>2];Mt=q[Wu>>2];b:{c:{d:{e:{f:{Wu=q[Wu+4>>2]-Mt>>2;Xu=Iu<<2;Iu=q[q[Ye+32>>2]+28>>2];Yu=q[Xu+Iu>>2];if(Wu>>>0<=Yu>>>0){break f}Hu=q[Iu+(Hu<<2)>>2];if(Wu>>>0<=Hu>>>0){break f}g:{h:{$u=q[Mt+(Yu<<2)>>2];cv=($u|0)>=(Gu|0);if(cv){break h}Iu=q[Mt+(Hu<<2)>>2];if((Iu|0)>=(Gu|0)){break h}Mt=Iu<<3;hv=q[(Mt|4)+Fu>>2];Hu=$u<<3;av=q[(Hu|4)+Fu>>2];ev=q[Mt+Fu>>2];gv=q[Fu+Hu>>2];if(!((ev|0)!=(gv|0)|(av|0)!=(hv|0))){q[Ye+8>>2]=gv;q[Ye+12>>2]=av;break g}Mt=q[q[Ye+4>>2]+(Gu<<2)>>2];q[Vu+72>>2]=0;q[Vu+76>>2]=0;Hu=Vu- -64|0;q[Hu>>2]=0;q[Hu+4>>2]=0;q[Vu+56>>2]=0;q[Vu+60>>2]=0;Hu=q[Ye>>2];if(!r[Hu+84|0]){Mt=q[q[Hu+68>>2]+(Mt<<2)>>2]}Kf(Hu,Mt,o[Hu+24|0],Vu+56|0);Mt=q[q[Ye+4>>2]+($u<<2)>>2];q[Vu+48>>2]=0;q[Vu+52>>2]=0;q[Vu+40>>2]=0;q[Vu+44>>2]=0;q[Vu+32>>2]=0;q[Vu+36>>2]=0;Hu=q[Ye>>2];if(!r[Hu+84|0]){Mt=q[q[Hu+68>>2]+(Mt<<2)>>2]}Kf(Hu,Mt,o[Hu+24|0],Vu+32|0);Mt=q[q[Ye+4>>2]+(Iu<<2)>>2];q[Vu+24>>2]=0;q[Vu+28>>2]=0;q[Vu+16>>2]=0;q[Vu+20>>2]=0;q[Vu+8>>2]=0;q[Vu+12>>2]=0;Hu=q[Ye>>2];if(!r[Hu+84|0]){Mt=q[q[Hu+68>>2]+(Mt<<2)>>2]}Kf(Hu,Mt,o[Hu+24|0],Vu+8|0);iv=q[Vu+44>>2];Mt=q[Vu+16>>2];Xu=q[Vu+40>>2];Hu=Xu;Iu=q[Vu+20>>2]-(iv+(Mt>>>0<Hu>>>0)|0)|0;kv=Mt-Hu|0;Mt=$n(kv,Iu,kv,Iu);Hu=V;_u=Mt;jv=q[Vu+36>>2];Mt=q[Vu+8>>2];Zu=q[Vu+32>>2];Yu=Zu;Wu=q[Vu+12>>2]-(jv+(Mt>>>0<Yu>>>0)|0)|0;lv=Mt-Yu|0;Yu=$n(lv,Wu,lv,Wu);Mt=_u+Yu|0;Hu=V+Hu|0;Hu=Mt>>>0<Yu>>>0?Hu+1|0:Hu;dv=Mt;nv=q[Vu+52>>2];Mt=q[Vu+24>>2];_u=q[Vu+48>>2];Yu=_u;bv=q[Vu+28>>2]-(nv+(Mt>>>0<Yu>>>0)|0)|0;mv=Mt-Yu|0;Yu=$n(mv,bv,mv,bv);Mt=dv+Yu|0;Hu=V+Hu|0;fv=Mt;Yu=Mt>>>0<Yu>>>0?Hu+1|0:Hu;if(!(Mt|Yu)){break h}Gu=1;Mt=0;Hu=q[Vu+64>>2];Fu=q[Vu+68>>2]-((Hu>>>0<Xu>>>0)+iv|0)|0;Hu=Hu-Xu|0;$u=Hu;cv=Fu;Fu=$n(kv,Iu,Hu,Fu);Hu=V;dv=Fu;Xu=q[Vu+56>>2];Fu=Xu-Zu|0;iv=q[Vu+60>>2]-((Xu>>>0<Zu>>>0)+jv|0)|0;Zu=$n(Fu,iv,lv,Wu);Xu=dv+Zu|0;Hu=V+Hu|0;Hu=Xu>>>0<Zu>>>0?Hu+1|0:Hu;dv=Xu;Xu=q[Vu+72>>2];Zu=Xu-_u|0;jv=q[Vu+76>>2]-((Xu>>>0<_u>>>0)+nv|0)|0;_u=$n(Zu,jv,mv,bv);Xu=dv+_u|0;Hu=V+Hu|0;Hu=Xu>>>0<_u>>>0?Hu+1|0:Hu;_u=Xu;Xu=Hu;Iu=ao($n(_u,Hu,kv,Iu),V,fv,Yu);cv=cv-(V+($u>>>0<Iu>>>0)|0)|0;Iu=$u-Iu|0;Iu=$n(Iu,cv,Iu,cv);$u=V;dv=Iu;Hu=ao($n(lv,Wu,_u,Hu),V,fv,Yu);Iu=iv-(V+(Fu>>>0<Hu>>>0)|0)|0;Fu=Fu-Hu|0;Iu=$n(Fu,Iu,Fu,Iu);Fu=dv+Iu|0;Hu=V+$u|0;Hu=Fu>>>0<Iu>>>0?Hu+1|0:Hu;Wu=Fu;Fu=ao($n(_u,Xu,mv,bv),V,fv,Yu);Iu=jv-(V+(Zu>>>0<Fu>>>0)|0)|0;Fu=Zu-Fu|0;Iu=$n(Fu,Iu,Fu,Iu);Fu=Wu+Iu|0;Hu=V+Hu|0;Iu=$n(Fu,Fu>>>0<Iu>>>0?Hu+1|0:Hu,fv,Yu);Fu=V;Wu=Fu;if(!Fu&Iu>>>0<=1|Fu>>>0<0){break e}bv=Iu;Fu=Wu;while(1){Hu=Mt<<1|Gu>>>31;Gu=Gu<<1;Mt=Hu;Zu=!Fu&bv>>>0>7|Fu>>>0>0;bv=(Fu&3)<<30|bv>>>2;Fu=Fu>>>2;if(Zu){continue}break}break d}Hu=Ye;if(cv){if((Gu|0)<=0){q[Ye+8>>2]=0;q[Ye+12>>2]=0;break g}Mt=(Gu<<1)+ -2|0}else{Mt=$u<<1}Mt=(Mt<<2)+Fu|0;q[Hu+8>>2]=q[Mt>>2];q[Ye+12>>2]=q[Mt+4>>2]}Fu=1;break b}cn();F()}Gu=Iu;Mt=Wu;if(Iu-1){break c}}while(1){Fu=bo(Iu,Wu,Gu,Mt)+Gu|0;Hu=Mt+V|0;Hu=Fu>>>0<Gu>>>0?Hu+1|0:Hu;Gu=(Hu&1)<<31|Fu>>>1;Mt=Hu>>>1;Fu=$n(Gu,Mt,Gu,Mt);Hu=V;if((Wu|0)==(Hu|0)&Fu>>>0>Iu>>>0|Hu>>>0>Wu>>>0){continue}break}}Hu=q[Ye+20>>2];Fu=0;if(!Hu){break b}Wu=Hu+ -1|0;bv=q[q[Ye+16>>2]+(Wu>>>3&536870908)>>2];q[Ye+20>>2]=Wu;Fu=hv;Hu=av;Zu=Fu-Hu|0;av=Hu>>31;hv=(Fu>>31)-(av+(Fu>>>0<Hu>>>0)|0)|0;Fu=$n(_u,Xu,Zu,hv);Iu=V;av=$n(Hu,av,fv,Yu);Fu=av+Fu|0;Hu=V+Iu|0;Hu=Fu>>>0<av>>>0?Hu+1|0:Hu;dv=Fu;Fu=ev;Iu=gv;$u=Fu-Iu|0;gv=Iu>>31;av=(Fu>>31)-(gv+(Fu>>>0<Iu>>>0)|0)|0;Fu=$n(Gu,Mt,$u,av);ev=Fu;Fu=bv>>>(Wu&31)&1;cv=Fu?0-ev|0:ev;Wu=dv+cv|0;bv=Hu;Hu=V;Hu=bv+(Fu?0-(Hu+(0<ev>>>0)|0)|0:Hu)|0;ov=Ye,pv=ao(Wu,Wu>>>0<cv>>>0?Hu+1|0:Hu,fv,Yu),q[ov+12>>2]=pv;Hu=$n(_u,Xu,$u,av);Wu=V;ev=Ye;Iu=$n(Iu,gv,fv,Yu);Ye=Iu+Hu|0;Hu=V+Wu|0;Hu=Ye>>>0<Iu>>>0?Hu+1|0:Hu;Xu=Ye;Ye=$n(Gu,Mt,Zu,hv);Gu=Fu?Ye:0-Ye|0;Mt=Xu+Gu|0;Xu=Hu;Hu=V;Ye=Xu+(Fu?Hu:0-((0<Ye>>>0)+Hu|0)|0)|0;ov=ev,pv=ao(Mt,Mt>>>0<Gu>>>0?Ye+1|0:Ye,fv,Yu),q[ov+8>>2]=pv;Fu=1}T=Vu+80|0;return Fu}
-
-
-
-function Kf(a,b,c,d){var e=0,f=0,g=0,h=0,i=x(0),j=0,k=0;a:{b:{if(!d){break b}e=q[a+28>>2]+ -1|0;if(e>>>0>10){break b}c:{d:{e:{switch(e-1|0){default:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;h=o[b|0];q[e>>2]=h;q[e+4>>2]=h>>31;b=b+1|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 0:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;q[e>>2]=r[b|0];q[e+4>>2]=0;b=b+1|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;h=p[b>>1];q[e>>2]=h;q[e+4>>2]=h>>31;b=b+2|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;q[e>>2]=s[b>>1];q[e+4>>2]=0;b=b+2|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;h=q[b>>2];q[e>>2]=h;q[e+4>>2]=h>>31;b=b+4|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;q[e>>2]=q[b>>2];q[e+4>>2]=0;b=b+4|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){h=q[b+4>>2];e=(f<<3)+d|0;q[e>>2]=q[b>>2];q[e+4>>2]=h;b=b+8|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){h=q[b+4>>2];e=(f<<3)+d|0;q[e>>2]=q[b>>2];q[e+4>>2]=h;b=b+8|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break c}g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;g=e;i=u[b>>2];f:{if(x(y(i))<x(0x8000000000000000)){h=x(y(i))>=x(1)?i>x(0)?~~x(A(x(C(x(i/x(4294967296)))),x(4294967296)))>>>0:~~x(D(x(x(i-x(~~i>>>0>>>0))/x(4294967296))))>>>0:0;k=~~i>>>0;break f}h=-2147483648;k=0}q[g>>2]=k;q[e+4>>2]=h;b=b+4|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break c;case 8:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;g=e;j=v[b>>3];g:{if(y(j)<0x8000000000000000){h=y(j)>=1?j>0?~~A(C(j/4294967296),4294967295)>>>0:~~D((j- +(~~j>>>0>>>0))/4294967296)>>>0:0;k=~~j>>>0;break g}h=-2147483648;k=0}q[g>>2]=k;q[e+4>>2]=h;b=b+8|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break d;case 9:break e}}e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;q[e>>2]=r[b|0];q[e+4>>2]=0;b=b+1|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}Dn((e<<3)+d|0,0,c-e<<3);break b}if((e|0)>=(c|0)){break b}break a}if((e|0)>=(c|0)){break b}Dn((e<<3)+d|0,0,c-e<<3)}return}Dn((e<<3)+d|0,0,c-e<<3)}function Lf(a){a=a|0;var b=0;q[a>>2]=4048;q[a>>2]=3044;b=q[a+32>>2];if(b){q[a+36>>2]=b;An(b)}return a|0}function Mf(a){a=a|0;var c=0;q[a>>2]=4048;q[a>>2]=3044;c=q[a+32>>2];if(c){q[a+36>>2]=c;An(c)}An(a)}function Nf(a){a=a|0;return 6}function Of(a){a=a|0;var d=0;a:{if(!q[a- -64>>2]|!q[a+68>>2]|(!q[a+44>>2]|!q[a+48>>2])){break a}if(!q[a+52>>2]|!q[a+56>>2]){break a}d=q[a+92>>2]!=-1}return d|0}function Pf(a,l){a=a|0;l=l|0;var m=0;if(!(q[l+56>>2]|r[l+24|0]!=3)){q[a- -64>>2]=l;m=1}return m|0}function Qf(a,l){a=a|0;l=l|0;var n=0,o=0,p=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=q[l+12>>2];p=w;o=q[l+20>>2];u=o;x=q[l+16>>2];n=x+4|0;if(n>>>0<4){o=o+1|0}y=q[l+8>>2];t=n;n=o;a:{if((p|0)<(n|0)?1:(p|0)<=(n|0)?y>>>0>=t>>>0?0:1:0){break a}z=q[l>>2];o=x+z|0;p=r[o|0]|r[o+1|0]<<8|(r[o+2|0]<<16|r[o+3|0]<<24);q[l+16>>2]=t;q[l+20>>2]=n;n=w;o=u;v=x+8|0;if(v>>>0<8){o=o+1|0}if((n|0)<(o|0)?1:(n|0)<=(o|0)?y>>>0>=v>>>0?0:1:0){break a}n=t+z|0;n=r[n|0]|r[n+1|0]<<8|(r[n+2|0]<<16|r[n+3|0]<<24);q[l+16>>2]=v;q[l+20>>2]=o;if((p|0)>(n|0)){break a}q[a+16>>2]=n;q[a+12>>2]=p;t=p;p=(n>>31)-((p>>31)+(n>>>0<p>>>0)|0)|0;n=n-t|0;if(!p&n>>>0>2147483646|p>>>0>0){break a}p=n+1|0;q[a+20>>2]=p;t=a+24|0;n=(p|0)/2|0;q[t>>2]=n;q[a+28>>2]=0-n;if(!(p&1)){q[t>>2]=n+ -1}if(s[l+38>>1]<=513){if((w|0)<(o|0)?1:(w|0)<=(o|0)?y>>>0>v>>>0?0:1:0){break a}n=r[v+z|0];o=u;u=x+9|0;if(u>>>0<9){o=o+1|0}p=l;q[p+16>>2]=u;q[p+20>>2]=o;if(n>>>0>1){break a}q[a+88>>2]=n-1|0?0:1}A=bh(a+108|0,l)}return A|0}function Rf(a,l,r,s,B,C){a=a|0;l=l|0;r=r|0;s=s|0;B=B|0;C=C|0;var D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;E=T-32|0;T=E;q[a+68>>2]=C;s=q[a+56>>2];B=q[s>>2];C=s+4|0;D=q[C>>2];q[E+24>>2]=0;q[E+16>>2]=0;q[E+20>>2]=0;a:{B=D-B|0;if((B|0)<1){break a}s=q[s>>2];if((s|0)!=q[C>>2]){P=B>>2;Q=a+60|0;R=a+108|0;K=a+8|0;L=a+16|0;M=a+32|0;N=a+20|0;O=a+12|0;S=a+56|0;while(1){Sf(Q,q[(I<<2)+s>>2],E+16|0);B=q[E+20>>2];D=B>>31;C=q[E+16>>2];G=C>>31;J=q[E+24>>2];H=J>>31;s=0;H=H^H+J;D=H+((D^B+D)+(G^C+G)|0)|0;if(D>>>0<H>>>0){s=1}b:{if(!(s|D)){q[E+16>>2]=q[a+104>>2];break b}G=q[a+104>>2];H=G>>31;B=ao($n(G,H,B,B>>31),V,D,s);q[E+20>>2]=B;s=ao($n(G,H,C,C>>31),V,D,s);q[E+16>>2]=s;C=s;s=s>>31;s=(G-(C+s^s)|0)+((B|0)<0?B:0-B|0)|0;if((J|0)>=0){q[E+24>>2]=s;break b}q[E+24>>2]=0-s}s=dh(R);C=q[E+16>>2];c:{if(!s){B=q[E+20>>2];break c}q[E+24>>2]=0-q[E+24>>2];B=0-q[E+20>>2]|0;q[E+20>>2]=B;C=0-C|0;q[E+16>>2]=C}d:{if((C|0)>=0){s=q[a+104>>2];C=s+q[E+24>>2]|0;s=s+B|0;break d}e:{if((B|0)<=-1){C=q[E+24>>2];s=C>>31;s=s^s+C;break e}C=q[E+24>>2];s=C>>31;s=q[a+100>>2]-(s^s+C)|0}if((C|0)<=-1){C=B;B=B>>31;C=C+B^B;break d}C=B;B=B>>31;C=q[a+100>>2]-(C+B^B)|0}B=q[a+100>>2];f:{if(!(s|C)){C=B;s=B;break f}if(!((B|0)!=(C|0)|s)){s=C;break f}if(!((s|0)!=(B|0)|C)){C=s;break f}g:{if(s){break g}D=q[a+104>>2];if((D|0)>=(C|0)){break g}C=(D<<1)-C|0;s=0;break f}h:{if((s|0)!=(B|0)){break h}D=q[a+104>>2];if((D|0)<=(C|0)){break h}C=(D<<1)-C|0;break f}i:{if((B|0)!=(C|0)){break i}B=q[a+104>>2];if((B|0)<=(s|0)){break i}s=(B<<1)-s|0;break f}if(C){break f}C=0;B=q[a+104>>2];if((B|0)>=(s|0)){break f}s=(B<<1)-s|0}q[E+12>>2]=C;q[E+8>>2]=s;j:{if(q[K>>2]<1){break j}C=0;while(1){D=q[L>>2];k:{if((s|0)>(D|0)){B=q[M>>2];q[B+(C<<2)>>2]=D;break k}B=q[M>>2];D=B+(C<<2)|0;G=q[O>>2];if((s|0)<(G|0)){q[D>>2]=G;break k}q[D>>2]=s}C=C+1|0;D=q[K>>2];if((C|0)<(D|0)){s=q[(E+8|0)+(C<<2)>>2];continue}break}s=0;if((D|0)<1){break j}C=I<<3;G=C+r|0;J=l+C|0;while(1){D=s<<2;C=D+G|0;D=q[D+J>>2]+q[B+D>>2]|0;q[C>>2]=D;l:{if((D|0)>q[L>>2]){H=D-q[N>>2]|0}else{if((D|0)>=q[O>>2]){break l}H=D+q[N>>2]|0}q[C>>2]=H}s=s+1|0;if((s|0)<q[K>>2]){continue}break}}I=I+1|0;if((I|0)>=(P|0)){break a}B=q[S>>2];s=q[B>>2];if(q[B+4>>2]-s>>2>>>0>I>>>0){continue}break}}cn();F()}T=E+32|0;return 1}function Sf(a,l,s){a=a|0;l=l|0;s=s|0;var B=0,C=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;C=T-96|0;T=C;B=q[a+16>>2];o[C+92|0]=1;q[C+88>>2]=l;q[C+84>>2]=l;q[C+80>>2]=B;W=q[a+20>>2];U=q[W>>2];a:{b:{c:{d:{B=q[q[B+28>>2]+(l<<2)>>2];if(q[W+4>>2]-U>>2>>>0>B>>>0){B=q[q[a+8>>2]+(q[U+(B<<2)>>2]<<2)>>2];U=q[a+4>>2];if(!r[U+84|0]){B=q[q[U+68>>2]+(B<<2)>>2]}q[C+72>>2]=0;q[C+76>>2]=0;W=C- -64|0;q[W>>2]=0;q[W+4>>2]=0;q[C+56>>2]=0;q[C+60>>2]=0;Kf(U,B,o[U+24|0],C+56|0);if((l|0)==-1){break a}B=l+1|0;W=(B>>>0)%3|0?B:l+ -2|0;ea=((l>>>0)%3|0?-1:2)+l|0;la=a+28|0;X=!q[la>>2];ma=a+20|0;na=a+16|0;oa=a+8|0;while(1){U=W;B=ea;e:{if(X){break e}B=l+1|0;U=(B>>>0)%3|0?B:l+ -2|0;B=l+ -1|0;if((l>>>0)%3){break e}B=l+2|0}X=q[ma>>2];l=q[X>>2];U=q[q[q[na>>2]+28>>2]+(U<<2)>>2];if(q[X+4>>2]-l>>2>>>0<=U>>>0){break d}U=q[q[oa>>2]+(q[l+(U<<2)>>2]<<2)>>2];X=a+4|0;l=q[X>>2];if(!r[l+84|0]){U=q[q[l+68>>2]+(U<<2)>>2]}q[C+48>>2]=0;q[C+52>>2]=0;q[C+40>>2]=0;q[C+44>>2]=0;q[C+32>>2]=0;q[C+36>>2]=0;Kf(l,U,o[l+24|0],C+32|0);U=q[ma>>2];l=q[U>>2];B=q[q[q[na>>2]+28>>2]+(B<<2)>>2];if(q[U+4>>2]-l>>2>>>0<=B>>>0){break c}U=q[q[oa>>2]+(q[l+(B<<2)>>2]<<2)>>2];l=q[X>>2];if(!r[l+84|0]){U=q[q[l+68>>2]+(U<<2)>>2]}X=C+24|0;B=X;q[B>>2]=0;q[B+4>>2]=0;_=C+16|0;B=_;q[B>>2]=0;q[B+4>>2]=0;q[C+8>>2]=0;q[C+12>>2]=0;Kf(l,U,o[l+24|0],C+8|0);B=q[C+8>>2];l=q[C+56>>2];fa=B-l|0;ga=q[C+60>>2];U=q[C+12>>2]-(ga+(B>>>0<l>>>0)|0)|0;ha=q[C+40>>2];B=q[C+64>>2];pa=ha-B|0;ia=q[C+68>>2];ha=q[C+44>>2]-(ia+(ha>>>0<B>>>0)|0)|0;ja=$n(fa,U,pa,ha);ka=Y-ja|0;$=$-(V+(Y>>>0<ja>>>0)|0)|0;Y=q[_>>2];ja=Y-B|0;_=q[_+4>>2]-((Y>>>0<B>>>0)+ia|0)|0;Y=q[C+32>>2];ia=Y-l|0;ga=q[C+36>>2]-((Y>>>0<l>>>0)+ga|0)|0;B=$n(ja,_,ia,ga);Y=B+ka|0;l=V+$|0;l=Y>>>0<B>>>0?l+1|0:l;$=l;B=Z;ba=fa;qa=U;Z=q[C+48>>2];l=q[C+72>>2];U=Z-l|0;fa=q[C+76>>2];ka=q[C+52>>2]-(fa+(Z>>>0<l>>>0)|0)|0;ba=$n(ba,qa,U,ka);Z=B+ba|0;B=V+ca|0;B=Z>>>0<ba>>>0?B+1|0:B;ca=Z;Z=q[X>>2];ba=Z-l|0;l=q[X+4>>2]-((Z>>>0<l>>>0)+fa|0)|0;X=$n(ba,l,ia,ga);Z=ca-X|0;ca=B-(V+(ca>>>0<X>>>0)|0)|0;B=$n(ja,_,U,ka);U=aa-B|0;da=da-(V+(aa>>>0<B>>>0)|0)|0;B=$n(ba,l,pa,ha);aa=B+U|0;l=V+da|0;l=aa>>>0<B>>>0?l+1|0:l;da=l;Uf(C+80|0);_=q[la>>2];X=!_;l=q[C+88>>2];if((l|0)!=-1){continue}break}l=ca;B=l>>31;a=l>>31;l=a+l|0;W=B+Z|0;if(W>>>0<B>>>0){l=l+1|0}B=B^W;X=a^l;l=da;a=l>>31;l=l>>31;W=a;ea=da+a|0;U=l+aa|0;if(U>>>0<l>>>0){ea=ea+1|0}a=l^U;U=W^ea;f:{if(($|0)<-1?1:($|0)<=-1?Y>>>0>4294967295?0:1:0){l=Y;W=a+(B-l|0)|0;l=U+(X-((B>>>0<l>>>0)+$|0)|0)|0;B=W;a=B>>>0<a>>>0?l+1|0:l;if(!_){break f}break b}l=X+$|0;W=B;B=Y;W=W+B|0;if(W>>>0<B>>>0){l=l+1|0}B=a;W=B+W|0;a=l+U|0;a=W>>>0<B>>>0?a+1|0:a;B=W;if(_){break b}}if((B|0)<536870913){break a}a=((a&536870911)<<3|B>>>29)&7;l=0;Y=ao(Y,$,a,l);Z=ao(Z,ca,a,l);aa=ao(aa,da,a,l);break a}cn();F()}cn();F()}cn();F()}if((a|0)<0?1:(a|0)<=0?B>>>0>=536870913?0:1:0){break a}l=a>>>29;a=(a&536870911)<<3|B>>>29;Y=ao(Y,$,a,l);Z=ao(Z,ca,a,l);aa=ao(aa,da,a,l)}q[s+8>>2]=Y;q[s+4>>2]=Z;q[s>>2]=aa;T=C+96|0}function Tf(a,l){a=a|0;l=l|0;if(l>>>0<=1){q[a+28>>2]=l;a=1}else{a=0}return a|0}function Uf(a){var l=0,s=0,F=0;l=q[a+8>>2];F=q[a>>2];a:{if(r[a+12|0]){b:{c:{d:{e:{if((l|0)==-1){break e}s=l+1|0;l=(s>>>0)%3|0?s:l+ -2|0;if((l|0)==-1|q[q[F>>2]+(l>>>3&536870908)>>2]>>>(l&31)&1){break e}l=q[q[q[F+64>>2]+12>>2]+(l<<2)>>2];if((l|0)!=-1){break d}}q[a+8>>2]=-1;break c}s=l+1|0;l=(s>>>0)%3|0?s:l+ -2|0;q[a+8>>2]=l;if((l|0)!=-1){break b}}l=-1;s=q[a+4>>2];f:{if((s|0)==-1){break f}s=s+((s>>>0)%3|0?-1:2)|0;if((s|0)==-1|q[q[F>>2]+(s>>>3&536870908)>>2]>>>(s&31)&1){break f}F=q[q[q[F+64>>2]+12>>2]+(s<<2)>>2];if((F|0)==-1){break f}if((F>>>0)%3){l=F+ -1|0;break f}l=F+2|0}o[a+12|0]=0;q[a+8>>2]=l;return}if((l|0)!=q[a+4>>2]){break a}q[a+8>>2]=-1;return}s=-1;g:{if((l|0)==-1){break g}l=l+((l>>>0)%3|0?-1:2)|0;if((l|0)==-1|q[q[F>>2]+(l>>>3&536870908)>>2]>>>(l&31)&1){break g}l=q[q[q[F+64>>2]+12>>2]+(l<<2)>>2];if((l|0)==-1){break g}if((l>>>0)%3){s=l+ -1|0;break g}s=l+2|0}q[a+8>>2]=s}}function Vf(a,r,T,V){var ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;q[a>>2]=3044;q[a+4>>2]=r;r=q[T+8>>2];ra=q[T+12>>2];sa=q[T+16>>2];ua=q[T+20>>2];va=q[T>>2];wa=q[T+4>>2];q[a+40>>2]=0;ta=a+32|0;q[ta>>2]=0;q[ta+4>>2]=0;q[a+24>>2]=sa;q[a+28>>2]=ua;q[a+16>>2]=r;q[a+20>>2]=ra;q[a+8>>2]=va;q[a+12>>2]=wa;a:{r=q[T+28>>2]-q[T+24>>2]|0;b:{if(!r){break b}ra=r>>2;if(ra>>>0>=1073741824){break a}r=Mm(r);q[a+32>>2]=r;sa=a+36|0;q[sa>>2]=r;q[a+40>>2]=r+(ra<<2);ra=q[T+24>>2];T=q[T+28>>2]-ra|0;if((T|0)<1){break b}xa=sa,ya=Cn(r,ra,T)+T|0,q[xa>>2]=ya}q[a>>2]=5044;r=q[V+4>>2];q[a+44>>2]=q[V>>2];q[a+48>>2]=r;r=q[V+12>>2];q[a+52>>2]=q[V+8>>2];q[a+56>>2]=r;return}bn();F()}function Wf(a,r,T,V,za,Aa){a=a|0;r=r|0;T=T|0;V=V|0;za=za|0;Aa=Aa|0;var Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0;q[a+8>>2]=za;Aa=a+32|0;Ca=q[Aa>>2];V=q[a+36>>2]-Ca>>2;a:{if(V>>>0<za>>>0){Fa(Aa,za-V|0);break a}if(V>>>0<=za>>>0){break a}q[a+36>>2]=Ca+(za<<2)}Ra=q[a+52>>2];Oa=q[a+48>>2];V=0;Aa=(za&1073741823)!=(za|0)?-1:za<<2;Na=Dn(Mm(Aa),0,Aa);Ga=a+8|0;Aa=q[Ga>>2];b:{if((Aa|0)<1){break b}Ia=a+16|0;Ca=a+32|0;Ja=a+12|0;while(1){Aa=V<<2;Ba=q[Aa+Na>>2];Ea=q[Ia>>2];c:{if((Ba|0)>(Ea|0)){Ha=q[Ca>>2];q[Aa+Ha>>2]=Ea;break c}Ha=q[Ca>>2];Aa=Aa+Ha|0;Ea=q[Ja>>2];if((Ba|0)<(Ea|0)){q[Aa>>2]=Ea;break c}q[Aa>>2]=Ba}V=V+1|0;Aa=q[Ga>>2];if((V|0)<(Aa|0)){continue}break}if((Aa|0)<1){break b}Ca=0;Ga=a+16|0;Ba=a+20|0;Ia=a+8|0;Ja=a+12|0;while(1){Aa=Ca<<2;V=Aa+T|0;Aa=q[r+Aa>>2]+q[Aa+Ha>>2]|0;q[V>>2]=Aa;d:{if((Aa|0)>q[Ga>>2]){Aa=Aa-q[Ba>>2]|0}else{if((Aa|0)>=q[Ja>>2]){break d}Aa=Aa+q[Ba>>2]|0}q[V>>2]=Aa}Ca=Ca+1|0;Aa=q[Ia>>2];if((Ca|0)<(Aa|0)){continue}break}}V=q[a+56>>2];Pa=q[V>>2];V=q[V+4>>2]-Pa|0;if((V|0)>=5){Qa=V>>2;Ha=a+16|0;Ga=a+32|0;Ia=a+8|0;Ja=a+20|0;Ea=a+12|0;Ca=1;while(1){e:{f:{if(Qa>>>0>Ca>>>0){Ma=w(za,Ca);a=q[(Ca<<2)+Pa>>2];if((a|0)==-1){break f}a=q[q[Oa+12>>2]+(a<<2)>>2];if((a|0)==-1){break f}V=-1;Da=q[Ra>>2];Ba=q[Oa>>2];Ka=q[Da+(q[Ba+(a<<2)>>2]<<2)>>2];La=a+1|0;La=(La>>>0)%3|0?La:a+ -2|0;if((La|0)!=-1){La=q[Ba+(La<<2)>>2]}else{La=-1}a=a+((a>>>0)%3|0?-1:2)|0;if((a|0)!=-1){V=q[Ba+(a<<2)>>2]}if((Ka|0)>=(Ca|0)){break f}a=q[(La<<2)+Da>>2];if((a|0)>=(Ca|0)){break f}V=q[Da+(V<<2)>>2];if((V|0)>=(Ca|0)){break f}if((za|0)>=1){Ba=w(V,za);a=w(a,za);Da=w(za,Ka);V=0;while(1){q[(V<<2)+Na>>2]=(q[(V+Ba<<2)+T>>2]+q[(a+V<<2)+T>>2]|0)-q[(V+Da<<2)+T>>2];V=V+1|0;if((za|0)!=(V|0)){continue}break}}if((Aa|0)<1){break e}V=0;while(1){a=V<<2;Aa=q[a+Na>>2];Da=q[Ha>>2];g:{if((Aa|0)>(Da|0)){Ba=q[Ga>>2];q[a+Ba>>2]=Da;break g}Ba=q[Ga>>2];a=a+Ba|0;Da=q[Ea>>2];if((Aa|0)<(Da|0)){q[a>>2]=Da;break g}q[a>>2]=Aa}V=V+1|0;Aa=q[Ia>>2];if((V|0)<(Aa|0)){continue}break}V=0;if((Aa|0)<1){break e}a=Ma<<2;Ma=a+T|0;Da=a+r|0;while(1){Aa=V<<2;a=Aa+Ma|0;Aa=q[Aa+Da>>2]+q[Aa+Ba>>2]|0;q[a>>2]=Aa;h:{if((Aa|0)>q[Ha>>2]){Aa=Aa-q[Ja>>2]|0}else{if((Aa|0)>=q[Ea>>2]){break h}Aa=Aa+q[Ja>>2]|0}q[a>>2]=Aa}V=V+1|0;Aa=q[Ia>>2];if((V|0)<(Aa|0)){continue}break}break e}cn();F()}if((Aa|0)<1){break e}Da=(w(Ca+ -1|0,za)<<2)+T|0;V=0;while(1){a=V<<2;Aa=q[a+Da>>2];Ka=q[Ha>>2];i:{if((Aa|0)>(Ka|0)){Ba=q[Ga>>2];q[a+Ba>>2]=Ka;break i}Ba=q[Ga>>2];a=a+Ba|0;Ka=q[Ea>>2];if((Aa|0)<(Ka|0)){q[a>>2]=Ka;break i}q[a>>2]=Aa}V=V+1|0;Aa=q[Ia>>2];if((V|0)<(Aa|0)){continue}break}V=0;if((Aa|0)<1){break e}a=Ma<<2;Ma=a+T|0;Da=a+r|0;while(1){Aa=V<<2;a=Aa+Ma|0;Aa=q[Aa+Da>>2]+q[Aa+Ba>>2]|0;q[a>>2]=Aa;j:{if((Aa|0)>q[Ha>>2]){Aa=Aa-q[Ja>>2]|0}else{if((Aa|0)>=q[Ea>>2]){break j}Aa=Aa+q[Ja>>2]|0}q[a>>2]=Aa}V=V+1|0;Aa=q[Ia>>2];if((V|0)<(Aa|0)){continue}break}}Ca=Ca+1|0;if((Ca|0)<(Qa|0)){continue}break}}An(Na);return 1}function Xf(a,r,T,V,za,Aa){a=a|0;r=r|0;T=T|0;V=V|0;za=za|0;Aa=Aa|0;var Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0;q[a+8>>2]=za;Aa=a+32|0;Sa=q[Aa>>2];V=q[a+36>>2]-Sa>>2;a:{if(V>>>0<za>>>0){Fa(Aa,za-V|0);break a}if(V>>>0<=za>>>0){break a}q[a+36>>2]=Sa+(za<<2)}Sa=0;V=(za&1073741823)!=(za|0)?-1:za<<2;$a=Dn(Mm(V),0,V);db=Dn(Mm(V),0,V);Va=a+8|0;Ta=q[Va>>2];b:{if((Ta|0)<1){break b}Za=a+16|0;V=a+32|0;_a=a+12|0;while(1){Aa=Sa<<2;Ta=q[Aa+$a>>2];Wa=q[Za>>2];c:{if((Ta|0)>(Wa|0)){Ua=q[V>>2];q[Aa+Ua>>2]=Wa;break c}Ua=q[V>>2];Aa=Aa+Ua|0;Wa=q[_a>>2];if((Ta|0)<(Wa|0)){q[Aa>>2]=Wa;break c}q[Aa>>2]=Ta}Sa=Sa+1|0;Ta=q[Va>>2];if((Sa|0)<(Ta|0)){continue}break}if((Ta|0)<1){break b}Aa=0;Za=a+16|0;Va=a+20|0;_a=a+8|0;Wa=a+12|0;while(1){Sa=Aa<<2;V=Sa+T|0;Sa=q[r+Sa>>2]+q[Sa+Ua>>2]|0;q[V>>2]=Sa;d:{if((Sa|0)>q[Za>>2]){Xa=Sa-q[Va>>2]|0}else{if((Sa|0)>=q[Wa>>2]){break d}Xa=Sa+q[Va>>2]|0}q[V>>2]=Xa}Aa=Aa+1|0;Ta=q[_a>>2];if((Aa|0)<(Ta|0)){continue}break}}V=q[a+56>>2];eb=q[V>>2];V=q[V+4>>2]-eb|0;if((V|0)>=5){fb=V>>2;gb=q[a+48>>2];kb=za<<2;lb=q[a+52>>2];Za=a+16|0;_a=a+32|0;Wa=a+8|0;bb=a+20|0;cb=a+12|0;Va=1;while(1){e:{f:{g:{if(fb>>>0>Va>>>0){Aa=q[(Va<<2)+eb>>2];hb=(za|0)<1;if(!hb){Dn($a,0,kb)}if((Aa|0)==-1){a=w(za,Va);break f}ib=q[gb+12>>2];Ya=0;V=Aa;while(1){a=q[ib+(V<<2)>>2];h:{if((a|0)==-1){break h}Ua=-1;ab=q[lb>>2];Sa=q[gb>>2];jb=q[ab+(q[Sa+(a<<2)>>2]<<2)>>2];Xa=a+1|0;Xa=(Xa>>>0)%3|0?Xa:a+ -2|0;if((Xa|0)!=-1){Xa=q[Sa+(Xa<<2)>>2]}else{Xa=-1}a=a+((a>>>0)%3|0?-1:2)|0;if((a|0)!=-1){Ua=q[Sa+(a<<2)>>2]}if((jb|0)>=(Va|0)){break h}a=q[(Xa<<2)+ab>>2];if((a|0)>=(Va|0)){break h}Sa=q[ab+(Ua<<2)>>2];if((Sa|0)>=(Va|0)){break h}i:{if(hb){break i}Ua=w(za,Sa);a=w(a,za);ab=w(za,jb);Sa=0;while(1){q[db+(Sa<<2)>>2]=(q[(Sa+Ua<<2)+T>>2]+q[(a+Sa<<2)+T>>2]|0)-q[(Sa+ab<<2)+T>>2];Sa=Sa+1|0;if((Sa|0)!=(za|0)){continue}break}Sa=0;if((za|0)<=0){break i}while(1){a=Sa<<2;Ua=a+$a|0;q[Ua>>2]=q[Ua>>2]+q[a+db>>2];Sa=Sa+1|0;if((Sa|0)!=(za|0)){continue}break}}Ya=Ya+1|0}V=((V>>>0)%3|0?-1:2)+V|0;a=-1;j:{if((V|0)==-1){break j}V=q[ib+(V<<2)>>2];a=-1;if((V|0)==-1){break j}a=V+ -1|0;if((V>>>0)%3){break j}a=V+2|0}V=(a|0)==(Aa|0)?-1:a;if((V|0)!=-1){continue}break}a=w(za,Va);if(!Ya){break f}Sa=0;if((za|0)<=0){break g}while(1){V=(Sa<<2)+$a|0;q[V>>2]=q[V>>2]/(Ya|0);Sa=Sa+1|0;if((Sa|0)!=(za|0)){continue}break}break g}cn();F()}if((Ta|0)<1){break e}Sa=0;while(1){V=Sa<<2;Aa=q[V+$a>>2];Ta=q[Za>>2];k:{if((Aa|0)>(Ta|0)){Ua=q[_a>>2];q[V+Ua>>2]=Ta;break k}Ua=q[_a>>2];V=V+Ua|0;Ta=q[cb>>2];if((Aa|0)<(Ta|0)){q[V>>2]=Ta;break k}q[V>>2]=Aa}Sa=Sa+1|0;Ta=q[Wa>>2];if((Sa|0)<(Ta|0)){continue}break}Aa=0;if((Ta|0)<1){break e}a=a<<2;Sa=a+T|0;Ya=a+r|0;while(1){V=Aa<<2;a=V+Sa|0;V=q[V+Ya>>2]+q[V+Ua>>2]|0;q[a>>2]=V;l:{if((V|0)>q[Za>>2]){V=V-q[bb>>2]|0}else{if((V|0)>=q[cb>>2]){break l}V=V+q[bb>>2]|0}q[a>>2]=V}Aa=Aa+1|0;Ta=q[Wa>>2];if((Aa|0)<(Ta|0)){continue}break}break e}if((Ta|0)<1){break e}Ya=(w(Va+ -1|0,za)<<2)+T|0;Sa=0;while(1){V=Sa<<2;Aa=q[V+Ya>>2];Ta=q[Za>>2];m:{if((Aa|0)>(Ta|0)){Ua=q[_a>>2];q[V+Ua>>2]=Ta;break m}Ua=q[_a>>2];V=V+Ua|0;Ta=q[cb>>2];if((Aa|0)<(Ta|0)){q[V>>2]=Ta;break m}q[V>>2]=Aa}Sa=Sa+1|0;Ta=q[Wa>>2];if((Sa|0)<(Ta|0)){continue}break}Aa=0;if((Ta|0)<1){break e}a=a<<2;Sa=a+T|0;Ya=a+r|0;while(1){V=Aa<<2;a=V+Sa|0;V=q[V+Ya>>2]+q[V+Ua>>2]|0;q[a>>2]=V;n:{if((V|0)>q[Za>>2]){V=V-q[bb>>2]|0}else{if((V|0)>=q[cb>>2]){break n}V=V+q[bb>>2]|0}q[a>>2]=V}Aa=Aa+1|0;Ta=q[Wa>>2];if((Aa|0)<(Ta|0)){continue}break}}Va=Va+1|0;if((Va|0)<(fb|0)){continue}break}}An(db);An($a);return 1}function Yf(a){a=a|0;var r=0;q[a>>2]=5324;r=q[a+96>>2];if(r){An(r)}r=q[a+84>>2];if(r){An(r)}r=q[a+72>>2];if(r){An(r)}r=q[a+60>>2];if(r){An(r)}q[a>>2]=3044;r=q[a+32>>2];if(r){q[a+36>>2]=r;An(r)}return a|0}function Zf(a){a=a|0;var T=0;q[a>>2]=5324;T=q[a+96>>2];if(T){An(T)}T=q[a+84>>2];if(T){An(T)}T=q[a+72>>2];if(T){An(T)}T=q[a+60>>2];if(T){An(T)}q[a>>2]=3044;T=q[a+32>>2];if(T){q[a+36>>2]=T;An(T)}An(a)}function _f(a,V,za,Aa,mb,nb){a=a|0;V=V|0;za=za|0;Aa=Aa|0;mb=mb|0;nb=nb|0;var ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0;qb=T+ -64|0;T=qb;q[a+8>>2]=mb;nb=a+32|0;rb=q[nb>>2];Aa=q[a+36>>2]-rb>>2;a:{if(Aa>>>0<mb>>>0){Fa(nb,mb-Aa|0);break a}if(Aa>>>0<=mb>>>0){break a}q[a+36>>2]=rb+(mb<<2)}q[qb+56>>2]=0;q[qb+60>>2]=0;q[qb+48>>2]=0;q[qb+52>>2]=0;q[qb+40>>2]=0;q[qb+44>>2]=0;Aa=qb+32|0;q[Aa>>2]=0;q[Aa+4>>2]=0;q[qb+24>>2]=0;q[qb+28>>2]=0;q[qb+16>>2]=0;q[qb+20>>2]=0;q[qb>>2]=0;nb=0;if(mb){Ad(qb+16|0,mb,qb);pb=q[qb+28>>2];nb=q[Aa>>2]}q[qb>>2]=0;Aa=nb-pb>>2;b:{if(Aa>>>0>=mb>>>0){if(Aa>>>0<=mb>>>0){break b}q[qb+32>>2]=(mb<<2)+pb;break b}Ad(qb+16|12,mb-Aa|0,qb)}q[qb>>2]=0;nb=q[qb+40>>2];Aa=q[qb+44>>2]-nb>>2;c:{if(Aa>>>0>=mb>>>0){if(Aa>>>0<=mb>>>0){break c}q[qb+44>>2]=nb+(mb<<2);break c}Ad(qb+40|0,mb-Aa|0,qb)}q[qb>>2]=0;nb=q[qb+52>>2];Aa=q[qb+56>>2]-nb>>2;d:{if(Aa>>>0>=mb>>>0){if(Aa>>>0<=mb>>>0){break d}q[qb+56>>2]=nb+(mb<<2);break d}Ad(qb+52|0,mb-Aa|0,qb)}tb=a+8|0;e:{if(q[tb>>2]<=0){break e}vb=q[qb+16>>2];pb=0;sb=a+16|0;Aa=a+32|0;Ab=a+12|0;while(1){nb=pb<<2;ob=q[nb+vb>>2];wb=q[sb>>2];f:{if((ob|0)>(wb|0)){rb=q[Aa>>2];q[nb+rb>>2]=wb;break f}rb=q[Aa>>2];nb=nb+rb|0;wb=q[Ab>>2];if((ob|0)<(wb|0)){q[nb>>2]=wb;break f}q[nb>>2]=ob}pb=pb+1|0;nb=q[tb>>2];if((pb|0)<(nb|0)){continue}break}if((nb|0)<1){break e}nb=0;tb=a+16|0;pb=a+20|0;vb=a+8|0;sb=a+12|0;while(1){ob=nb<<2;Aa=ob+za|0;ob=q[V+ob>>2]+q[ob+rb>>2]|0;q[Aa>>2]=ob;g:{if((ob|0)>q[tb>>2]){ob=ob-q[pb>>2]|0}else{if((ob|0)>=q[sb>>2]){break g}ob=ob+q[pb>>2]|0}q[Aa>>2]=ob}nb=nb+1|0;if((nb|0)<q[vb>>2]){continue}break}}Lb=q[a+52>>2];Ib=q[a+48>>2];Hb=Mm(16);Aa=Hb;q[Aa>>2]=0;q[Aa+4>>2]=0;q[Aa+8>>2]=0;q[Aa+12>>2]=0;q[qb+8>>2]=0;q[qb>>2]=0;q[qb+4>>2]=0;h:{if(mb){if(mb>>>0>=1073741824){break h}Aa=mb<<2;Bb=Mm(Aa);q[qb>>2]=Bb;nb=Aa+Bb|0;q[qb+8>>2]=nb;Dn(Bb,0,Aa);q[qb+4>>2]=nb}rb=1;Aa=q[a+56>>2];Jb=q[Aa>>2];Aa=q[Aa+4>>2]-Jb|0;i:{if((Aa|0)<5){break i}Kb=Aa>>2;Mb=mb<<2;vb=a+8|0;Ab=a+16|0;wb=a+32|0;Eb=a+20|0;Fb=a+12|0;tb=1;while(1){j:{k:{l:{if(Kb>>>0>tb>>>0){m:{n:{rb=q[(tb<<2)+Jb>>2];if((rb|0)==-1){break n}ub=q[Ib+12>>2];Db=rb+((rb>>>0)%3|0?-1:2)|0;Gb=ub+(Db<<2)|0;sb=1;nb=0;Aa=rb;o:{while(1){ob=q[ub+(Aa<<2)>>2];p:{if((ob|0)==-1){break p}pb=-1;zb=q[Lb>>2];xb=q[Ib>>2];Cb=q[zb+(q[xb+(ob<<2)>>2]<<2)>>2];yb=ob+1|0;yb=(yb>>>0)%3|0?yb:ob+ -2|0;if((yb|0)!=-1){yb=q[xb+(yb<<2)>>2]}else{yb=-1}ob=ob+((ob>>>0)%3|0?-1:2)|0;if((ob|0)!=-1){pb=q[xb+(ob<<2)>>2]}if((Cb|0)>=(tb|0)){break p}ob=q[(yb<<2)+zb>>2];if((ob|0)>=(tb|0)){break p}pb=q[zb+(pb<<2)>>2];if((pb|0)>=(tb|0)){break p}xb=q[(qb+16|0)+w(nb,12)>>2];if((mb|0)>=1){zb=w(mb,pb);ob=w(mb,ob);Cb=w(mb,Cb);pb=0;while(1){q[xb+(pb<<2)>>2]=(q[(pb+zb<<2)+za>>2]+q[(ob+pb<<2)+za>>2]|0)-q[(pb+Cb<<2)+za>>2];pb=pb+1|0;if((pb|0)!=(mb|0)){continue}break}}ob=4;nb=nb+1|0;if((nb|0)==4){break o}}q:{if(sb&1){xb=Aa+1|0;Aa=(xb>>>0)%3|0?xb:Aa+ -2|0;ob=-1;if((Aa|0)==-1){break q}Aa=q[ub+(Aa<<2)>>2];ob=-1;if((Aa|0)==-1){break q}ob=Aa+1|0;ob=(ob>>>0)%3|0?ob:Aa+ -2|0;break q}Aa=((Aa>>>0)%3|0?-1:2)+Aa|0;ob=-1;if((Aa|0)==-1){break q}Aa=q[ub+(Aa<<2)>>2];ob=-1;if((Aa|0)==-1){break q}ob=Aa+ -1|0;if((Aa>>>0)%3){break q}ob=Aa+2|0}r:{if((ob|0)==(rb|0)){break r}Aa=ob;ob=(ob|0)!=-1;pb=(ob|sb^-1)&1;Aa=pb?Aa:-1;sb=ob&sb;if(!((Db|0)==-1|pb)){ob=q[Gb>>2];if((ob|0)==-1){break r}sb=0;if((ob>>>0)%3){Aa=ob+ -1|0}else{Aa=ob+2|0}}if((Aa|0)!=-1){continue}}break}ob=nb;if((ob|0)<1){break n}}ub=(mb|0)<1;if(!ub){Dn(Bb,0,Mb)}Aa=ob+ -1|0;sb=(Aa<<2)+Hb|0;Aa=w(Aa,12)+a|0;xb=Aa+60|0;zb=q[Aa- -64>>2];rb=0;Cb=q[qb>>2];Aa=0;nb=0;while(1){pb=q[sb>>2];q[sb>>2]=pb+1;if(zb>>>0<=pb>>>0){break i}s:{if(q[q[xb>>2]+(pb>>>3&536870908)>>2]>>>(pb&31)&1){break s}nb=nb+1|0;if(ub){break s}yb=q[(qb+16|0)+w(Aa,12)>>2];pb=0;while(1){Db=pb<<2;Gb=Db+Cb|0;q[Gb>>2]=q[Gb>>2]+q[yb+Db>>2];pb=pb+1|0;if((pb|0)!=(mb|0)){continue}break}}Aa=Aa+1|0;if((ob|0)!=(Aa|0)){continue}break}ob=w(mb,tb);Aa=ob;if(!nb){break m}pb=0;if((mb|0)>0){break l}break k}Aa=w(mb,tb)}if(q[vb>>2]<1){break j}sb=(w(tb+ -1|0,mb)<<2)+za|0;pb=0;while(1){nb=pb<<2;ob=q[nb+sb>>2];ub=q[Ab>>2];t:{if((ob|0)>(ub|0)){rb=q[wb>>2];q[nb+rb>>2]=ub;break t}rb=q[wb>>2];nb=nb+rb|0;ub=q[Fb>>2];if((ob|0)<(ub|0)){q[nb>>2]=ub;break t}q[nb>>2]=ob}pb=pb+1|0;ob=q[vb>>2];if((pb|0)<(ob|0)){continue}break}nb=0;if((ob|0)<1){break j}Aa=Aa<<2;pb=Aa+za|0;sb=V+Aa|0;while(1){ob=nb<<2;Aa=ob+pb|0;ob=q[ob+sb>>2]+q[ob+rb>>2]|0;q[Aa>>2]=ob;u:{if((ob|0)>q[Ab>>2]){ob=ob-q[Eb>>2]|0}else{if((ob|0)>=q[Fb>>2]){break u}ob=ob+q[Eb>>2]|0}q[Aa>>2]=ob}nb=nb+1|0;if((nb|0)<q[vb>>2]){continue}break}break j}cn();F()}while(1){Aa=(pb<<2)+Bb|0;q[Aa>>2]=q[Aa>>2]/(nb|0);pb=pb+1|0;if((pb|0)!=(mb|0)){continue}break}}if(q[vb>>2]<1){break j}pb=0;while(1){Aa=pb<<2;nb=q[Aa+Bb>>2];sb=q[Ab>>2];v:{if((nb|0)>(sb|0)){rb=q[wb>>2];q[Aa+rb>>2]=sb;break v}rb=q[wb>>2];Aa=Aa+rb|0;sb=q[Fb>>2];if((nb|0)<(sb|0)){q[Aa>>2]=sb;break v}q[Aa>>2]=nb}pb=pb+1|0;Aa=q[vb>>2];if((pb|0)<(Aa|0)){continue}break}nb=0;if((Aa|0)<1){break j}Aa=ob<<2;pb=Aa+za|0;sb=V+Aa|0;while(1){ob=nb<<2;Aa=ob+pb|0;ob=q[ob+sb>>2]+q[ob+rb>>2]|0;q[Aa>>2]=ob;w:{if((ob|0)>q[Ab>>2]){ob=ob-q[Eb>>2]|0}else{if((ob|0)>=q[Fb>>2]){break w}ob=ob+q[Eb>>2]|0}q[Aa>>2]=ob}nb=nb+1|0;if((nb|0)<q[vb>>2]){continue}break}}rb=1;tb=tb+1|0;if((tb|0)<(Kb|0)){continue}break}}a=q[qb>>2];if(a){q[qb+4>>2]=a;An(a)}An(Hb);a=q[qb+52>>2];if(a){q[qb+56>>2]=a;An(a)}a=q[qb+40>>2];if(a){q[qb+44>>2]=a;An(a)}a=q[qb+28>>2];if(a){q[qb+32>>2]=a;An(a)}a=q[qb+16>>2];if(a){q[qb+20>>2]=a;An(a)}T=qb- -64|0;return rb|0}bn();F()}function $f(a){a=a|0;var V=0,za=0;q[a>>2]=5560;V=q[a+76>>2];if(V){An(V)}za=a+68|0;V=q[za>>2];q[za>>2]=0;if(V){An(V)}q[a>>2]=3044;V=q[a+32>>2];if(V){q[a+36>>2]=V;An(V)}return a|0}function ag(a){a=a|0;var Aa=0,Fa=0;q[a>>2]=5560;Aa=q[a+76>>2];if(Aa){An(Aa)}Fa=a+68|0;Aa=q[Fa>>2];q[Fa>>2]=0;if(Aa){An(Aa)}q[a>>2]=3044;Aa=q[a+32>>2];if(Aa){q[a+36>>2]=Aa;An(Aa)}An(a)}function bg(a,mb,nb,Nb,Ob,Pb){a=a|0;mb=mb|0;nb=nb|0;Nb=Nb|0;Ob=Ob|0;Pb=Pb|0;var Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0;q[a+64>>2]=Pb;q[a+72>>2]=Ob;Pb=Mm((Ob&1073741823)!=(Ob|0)?-1:Ob<<2);Nb=q[a+68>>2];q[a+68>>2]=Pb;if(Nb){An(Nb)}q[a+8>>2]=Ob;Pb=a+32|0;Qb=q[Pb>>2];Nb=q[a+36>>2]-Qb>>2;a:{if(Nb>>>0<Ob>>>0){Fa(Pb,Ob-Nb|0);break a}if(Nb>>>0<=Ob>>>0){break a}q[a+36>>2]=Qb+(Ob<<2)}b:{Nb=q[a+56>>2];Qb=q[Nb+4>>2];Pb=q[Nb>>2];Nb=Qb-Pb|0;if((Nb|0)<1){break b}if((Pb|0)!=(Qb|0)){_b=Nb>>2;Ub=a+8|0;Wb=a+16|0;Xb=a+32|0;Yb=a+20|0;Zb=a+12|0;$b=a+56|0;while(1){cg(a,q[(Sb<<2)+Pb>>2],nb,Sb);c:{if(q[Ub>>2]<1){break c}Vb=q[a+68>>2];Pb=0;while(1){Nb=Pb<<2;Qb=q[Nb+Vb>>2];Rb=q[Wb>>2];d:{if((Qb|0)>(Rb|0)){Tb=q[Xb>>2];q[Nb+Tb>>2]=Rb;break d}Tb=q[Xb>>2];Nb=Nb+Tb|0;Rb=q[Zb>>2];if((Qb|0)<(Rb|0)){q[Nb>>2]=Rb;break d}q[Nb>>2]=Qb}Pb=Pb+1|0;Qb=q[Ub>>2];if((Pb|0)<(Qb|0)){continue}break}Nb=0;if((Qb|0)<1){break c}Pb=w(Ob,Sb)<<2;Vb=Pb+nb|0;Rb=mb+Pb|0;while(1){Qb=Nb<<2;Pb=Qb+Vb|0;Qb=q[Qb+Rb>>2]+q[Qb+Tb>>2]|0;q[Pb>>2]=Qb;e:{if((Qb|0)>q[Wb>>2]){Qb=Qb-q[Yb>>2]|0}else{if((Qb|0)>=q[Zb>>2]){break e}Qb=Qb+q[Yb>>2]|0}q[Pb>>2]=Qb}Nb=Nb+1|0;if((Nb|0)<q[Ub>>2]){continue}break}}Sb=Sb+1|0;if((Sb|0)>=(_b|0)){break b}Nb=q[$b>>2];Pb=q[Nb>>2];if(q[Nb+4>>2]-Pb>>2>>>0>Sb>>>0){continue}break}}cn();F()}return 1}function cg(a,mb,nb,Nb){var Ob=0,Pb=0,ac=0,bc=x(0),cc=0,dc=x(0),ec=x(0),fc=x(0),gc=x(0),hc=x(0),ic=x(0),jc=x(0),kc=0,lc=0,mc=x(0),nc=x(0),oc=x(0),pc=x(0),qc=x(0),rc=0,sc=x(0),tc=x(0),uc=x(0);Ob=T-48|0;T=Ob;Pb=-1;cc=-1;a:{if((mb|0)==-1){break a}ac=((mb>>>0)%3|0?-1:2)+mb|0;kc=q[a+48>>2];rc=mb+1|0;mb=(rc>>>0)%3|0?rc:mb+ -2|0;if((mb|0)!=-1){Pb=q[q[kc>>2]+(mb<<2)>>2]}if((ac|0)==-1){break a}cc=q[q[kc>>2]+(ac<<2)>>2]}ac=q[a+52>>2];mb=q[ac>>2];ac=q[ac+4>>2]-mb>>2;if(!(ac>>>0<=Pb>>>0|ac>>>0<=cc>>>0)){b:{c:{Pb=q[mb+(Pb<<2)>>2];kc=(Pb|0)>=(Nb|0);if(kc){break c}ac=q[mb+(cc<<2)>>2];if((ac|0)>=(Nb|0)){break c}mb=q[a+72>>2];cc=(w(mb,ac)<<2)+nb|0;dc=x(q[cc+4>>2]);mb=(w(mb,Pb)<<2)+nb|0;jc=x(q[mb+4>>2]);mc=x(q[cc>>2]);pc=x(q[mb>>2]);if(!(mc!=pc|dc!=jc)){a=q[a+68>>2];mb=a;if(x(y(dc))<x(2147483648)){nb=~~dc}else{nb=-2147483648}q[mb+4>>2]=nb;if(x(y(mc))<x(2147483648)){q[a>>2]=~~mc;break b}q[a>>2]=-2147483648;break b}cc=q[q[a+64>>2]+(Nb<<2)>>2];q[Ob+40>>2]=0;q[Ob+32>>2]=0;q[Ob+36>>2]=0;mb=q[a+60>>2];if(!r[mb+84|0]){cc=q[q[mb+68>>2]+(cc<<2)>>2]}Da(mb,cc,o[mb+24|0],Ob+32|0);Pb=q[q[a+64>>2]+(Pb<<2)>>2];q[Ob+24>>2]=0;q[Ob+16>>2]=0;q[Ob+20>>2]=0;mb=q[a+60>>2];if(!r[mb+84|0]){Pb=q[q[mb+68>>2]+(Pb<<2)>>2]}Da(mb,Pb,o[mb+24|0],Ob+16|0);nb=q[q[a+64>>2]+(ac<<2)>>2];q[Ob+8>>2]=0;q[Ob>>2]=0;q[Ob+4>>2]=0;mb=q[a+60>>2];if(!r[mb+84|0]){nb=q[q[mb+68>>2]+(nb<<2)>>2]}Da(mb,nb,o[mb+24|0],Ob);nc=u[Ob+40>>2];oc=u[Ob+36>>2];fc=u[Ob+32>>2];sc=u[Ob+16>>2];ec=x(u[Ob>>2]-sc);tc=u[Ob+20>>2];gc=x(u[Ob+4>>2]-tc);uc=u[Ob+24>>2];hc=x(u[Ob+8>>2]-uc);qc=x(x(x(x(ec*ec)+x(0))+x(gc*gc))+x(hc*hc));d:{if(!(qc>x(0))){ic=x(0);if(q[a+88>>2]>257){break d}}fc=x(fc-sc);oc=x(oc-tc);nc=x(nc-uc);bc=x(x(x(x(x(ec*fc)+x(0))+x(gc*oc))+x(hc*nc))/qc);hc=x(nc-x(hc*bc));gc=x(oc-x(gc*bc));ec=x(fc-x(ec*bc));ic=x(E(x(x(x(hc*hc)+x(x(gc*gc)+x(x(ec*ec)+x(0))))/qc)))}fc=ic;nb=a+80|0;mb=q[nb>>2]+ -1|0;Nb=q[q[a+76>>2]+(mb>>>3&536870908)>>2];q[nb>>2]=mb;ec=x(dc-jc);ic=x(x(ec*bc)+jc);jc=x(mc-pc);dc=x(jc*fc);mb=Nb>>>(mb&31)&1;dc=x(ic+(mb?dc:x(-dc)));ic=x(x(jc*bc)+pc);bc=x(ec*fc);bc=x(ic+(mb?x(-bc):bc));e:{if(((k(bc),e(0))&2147483647)>>>0>=2139095041){mb=q[a+68>>2];q[mb>>2]=-2147483648;break e}mb=q[a+68>>2];a=mb;lc=C(+bc+.5);f:{if(y(lc)<2147483648){nb=~~lc;break f}nb=-2147483648}q[a>>2]=nb}nb=((k(dc),e(0))&2147483647)>>>0>2139095040;lc=C(+dc+.5);g:{if(y(lc)<2147483648){a=~~lc;break g}a=-2147483648}q[mb+4>>2]=nb?-2147483648:a;break b}h:{if(!kc){mb=q[a+72>>2];Nb=w(Pb,mb);break h}if((Nb|0)<=0){if(q[a+72>>2]<1){break b}nb=q[a+68>>2];mb=0;while(1){q[nb+(mb<<2)>>2]=0;mb=mb+1|0;if((mb|0)<q[a+72>>2]){continue}break}break b}mb=q[a+72>>2];Nb=w(mb,Nb+ -1|0)}if((mb|0)<1){break b}Pb=q[a+68>>2];mb=0;while(1){q[Pb+(mb<<2)>>2]=q[(mb+Nb<<2)+nb>>2];mb=mb+1|0;if((mb|0)<q[a+72>>2]){continue}break}}T=Ob+48|0;return}cn();F()}function dg(a){a=a|0;var mb=0;q[a>>2]=5776;mb=q[a+76>>2];if(mb){An(mb)}q[a>>2]=3044;mb=q[a+32>>2];if(mb){q[a+36>>2]=mb;An(mb)}return a|0}function eg(a){a=a|0;var nb=0;q[a>>2]=5776;nb=q[a+76>>2];if(nb){An(nb)}q[a>>2]=3044;nb=q[a+32>>2];if(nb){q[a+36>>2]=nb;An(nb)}An(a)}function fg(a,Nb,vc,wc,xc,yc){a=a|0;Nb=Nb|0;vc=vc|0;wc=wc|0;xc=xc|0;yc=yc|0;var zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0;wc=0;a:{if((xc|0)!=2){break a}q[a+8>>2]=2;q[a- -64>>2]=yc;wc=a+32|0;xc=q[wc>>2];yc=q[a+36>>2]-xc|0;zc=yc>>2;b:{if(zc>>>0<=1){Fa(wc,2-zc|0);break b}if((yc|0)==8){break b}q[a+36>>2]=xc+8}wc=1;xc=q[a+56>>2];yc=q[xc+4>>2];xc=q[xc>>2];zc=yc-xc|0;if((zc|0)<1){break a}if((xc|0)!=(yc|0)){Hc=a+60|0;Ic=zc>>2;zc=a+8|0;Dc=a+16|0;Ec=a+32|0;Fc=a+20|0;Gc=a+12|0;Jc=a+56|0;while(1){if(!gg(Hc,q[(Bc<<2)+xc>>2],vc,Bc)){wc=0;break a}c:{if(q[zc>>2]<1){break c}xc=0;while(1){wc=xc<<2;yc=q[(wc+a|0)+68>>2];Ac=q[Dc>>2];d:{if((yc|0)>(Ac|0)){Cc=q[Ec>>2];q[wc+Cc>>2]=Ac;break d}Cc=q[Ec>>2];wc=wc+Cc|0;Ac=q[Gc>>2];if((yc|0)<(Ac|0)){q[wc>>2]=Ac;break d}q[wc>>2]=yc}xc=xc+1|0;wc=q[zc>>2];if((xc|0)<(wc|0)){continue}break}yc=0;if((wc|0)<1){break c}wc=Bc<<3;Ac=wc+vc|0;Kc=Nb+wc|0;while(1){xc=yc<<2;wc=xc+Ac|0;xc=q[xc+Kc>>2]+q[xc+Cc>>2]|0;q[wc>>2]=xc;e:{if((xc|0)>q[Dc>>2]){xc=xc-q[Fc>>2]|0}else{if((xc|0)>=q[Gc>>2]){break e}xc=xc+q[Fc>>2]|0}q[wc>>2]=xc}yc=yc+1|0;if((yc|0)<q[zc>>2]){continue}break}}wc=1;Bc=Bc+1|0;if((Bc|0)>=(Ic|0)){break a}wc=q[Jc>>2];xc=q[wc>>2];if(q[wc+4>>2]-xc>>2>>>0>Bc>>>0){continue}break}}cn();F()}return wc|0}function gg(a,Nb,vc,wc){var xc=0,yc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0;Lc=T-80|0;T=Lc;xc=-1;yc=-1;a:{if((Nb|0)==-1){break a}Mc=((Nb>>>0)%3|0?-1:2)+Nb|0;Nc=q[a+32>>2];Pc=Nb+1|0;Nb=(Pc>>>0)%3|0?Pc:Nb+ -2|0;if((Nb|0)!=-1){xc=q[q[Nc>>2]+(Nb<<2)>>2]}if((Mc|0)==-1){break a}yc=q[q[Nc>>2]+(Mc<<2)>>2]}Mc=q[a+36>>2];Nb=q[Mc>>2];b:{c:{d:{e:{Mc=q[Mc+4>>2]-Nb>>2;if(!(Mc>>>0<=xc>>>0|Mc>>>0<=yc>>>0)){f:{g:{Sc=q[Nb+(xc<<2)>>2];Uc=(Sc|0)>=(wc|0);if(Uc){break g}yc=q[Nb+(yc<<2)>>2];if((yc|0)>=(wc|0)){break g}Nb=yc<<3;Zc=q[(Nb|4)+vc>>2];xc=Sc<<3;Pc=q[(xc|4)+vc>>2];Wc=q[Nb+vc>>2];Yc=q[vc+xc>>2];if(!((Wc|0)!=(Yc|0)|(Pc|0)!=(Zc|0))){q[a+8>>2]=Yc;q[a+12>>2]=Pc;break f}Nb=q[q[a+4>>2]+(wc<<2)>>2];q[Lc+72>>2]=0;q[Lc+76>>2]=0;xc=Lc- -64|0;q[xc>>2]=0;q[xc+4>>2]=0;q[Lc+56>>2]=0;q[Lc+60>>2]=0;xc=q[a>>2];if(!r[xc+84|0]){Nb=q[q[xc+68>>2]+(Nb<<2)>>2]}Kf(xc,Nb,o[xc+24|0],Lc+56|0);Nb=q[q[a+4>>2]+(Sc<<2)>>2];q[Lc+48>>2]=0;q[Lc+52>>2]=0;q[Lc+40>>2]=0;q[Lc+44>>2]=0;q[Lc+32>>2]=0;q[Lc+36>>2]=0;xc=q[a>>2];if(!r[xc+84|0]){Nb=q[q[xc+68>>2]+(Nb<<2)>>2]}Kf(xc,Nb,o[xc+24|0],Lc+32|0);Nb=q[q[a+4>>2]+(yc<<2)>>2];q[Lc+24>>2]=0;q[Lc+28>>2]=0;q[Lc+16>>2]=0;q[Lc+20>>2]=0;q[Lc+8>>2]=0;q[Lc+12>>2]=0;xc=q[a>>2];if(!r[xc+84|0]){Nb=q[q[xc+68>>2]+(Nb<<2)>>2]}Kf(xc,Nb,o[xc+24|0],Lc+8|0);_c=q[Lc+44>>2];Nb=q[Lc+16>>2];Oc=q[Lc+40>>2];xc=Oc;yc=q[Lc+20>>2]-(_c+(Nb>>>0<xc>>>0)|0)|0;ad=Nb-xc|0;Nb=$n(ad,yc,ad,yc);xc=V;Rc=Nb;$c=q[Lc+36>>2];Nb=q[Lc+8>>2];Qc=q[Lc+32>>2];Nc=Qc;Mc=q[Lc+12>>2]-($c+(Nb>>>0<Nc>>>0)|0)|0;bd=Nb-Nc|0;Nc=$n(bd,Mc,bd,Mc);Nb=Rc+Nc|0;xc=V+xc|0;xc=Nb>>>0<Nc>>>0?xc+1|0:xc;Vc=Nb;dd=q[Lc+52>>2];Nb=q[Lc+24>>2];Rc=q[Lc+48>>2];Nc=Rc;Tc=q[Lc+28>>2]-(dd+(Nb>>>0<Nc>>>0)|0)|0;cd=Nb-Nc|0;Nc=$n(cd,Tc,cd,Tc);Nb=Vc+Nc|0;xc=V+xc|0;Xc=Nb;Nc=Nb>>>0<Nc>>>0?xc+1|0:xc;if(!(Nb|Nc)){break g}wc=1;Nb=0;xc=q[Lc+64>>2];vc=q[Lc+68>>2]-((xc>>>0<Oc>>>0)+_c|0)|0;xc=xc-Oc|0;Sc=xc;Uc=vc;vc=$n(ad,yc,xc,vc);xc=V;Vc=vc;Oc=q[Lc+56>>2];vc=Oc-Qc|0;_c=q[Lc+60>>2]-((Oc>>>0<Qc>>>0)+$c|0)|0;Qc=$n(vc,_c,bd,Mc);Oc=Vc+Qc|0;xc=V+xc|0;xc=Oc>>>0<Qc>>>0?xc+1|0:xc;Vc=Oc;Oc=q[Lc+72>>2];Qc=Oc-Rc|0;$c=q[Lc+76>>2]-((Oc>>>0<Rc>>>0)+dd|0)|0;Rc=$n(Qc,$c,cd,Tc);Oc=Vc+Rc|0;xc=V+xc|0;xc=Oc>>>0<Rc>>>0?xc+1|0:xc;Rc=Oc;Oc=xc;yc=ao($n(Rc,xc,ad,yc),V,Xc,Nc);Uc=Uc-(V+(Sc>>>0<yc>>>0)|0)|0;yc=Sc-yc|0;yc=$n(yc,Uc,yc,Uc);Sc=V;Vc=yc;xc=ao($n(bd,Mc,Rc,xc),V,Xc,Nc);yc=_c-(V+(vc>>>0<xc>>>0)|0)|0;vc=vc-xc|0;yc=$n(vc,yc,vc,yc);vc=Vc+yc|0;xc=V+Sc|0;xc=vc>>>0<yc>>>0?xc+1|0:xc;Mc=vc;vc=ao($n(Rc,Oc,cd,Tc),V,Xc,Nc);yc=$c-(V+(Qc>>>0<vc>>>0)|0)|0;vc=Qc-vc|0;yc=$n(vc,yc,vc,yc);vc=Mc+yc|0;xc=V+xc|0;yc=$n(vc,vc>>>0<yc>>>0?xc+1|0:xc,Xc,Nc);vc=V;Mc=vc;if(!vc&yc>>>0<=1|vc>>>0<0){break e}Tc=yc;vc=Mc;while(1){xc=Nb<<1|wc>>>31;wc=wc<<1;Nb=xc;Qc=!vc&Tc>>>0>7|vc>>>0>0;Tc=(vc&3)<<30|Tc>>>2;vc=vc>>>2;if(Qc){continue}break}break d}xc=a;if(Uc){if((wc|0)<=0){q[a+8>>2]=0;q[a+12>>2]=0;break f}Nb=(wc<<1)+ -2|0}else{Nb=Sc<<1}Nb=(Nb<<2)+vc|0;q[xc+8>>2]=q[Nb>>2];q[a+12>>2]=q[Nb+4>>2]}vc=1;break b}cn();F()}wc=yc;Nb=Mc;if(yc-1){break c}}while(1){vc=bo(yc,Mc,wc,Nb)+wc|0;xc=Nb+V|0;xc=vc>>>0<wc>>>0?xc+1|0:xc;wc=(xc&1)<<31|vc>>>1;Nb=xc>>>1;vc=$n(wc,Nb,wc,Nb);xc=V;if((Mc|0)==(xc|0)&vc>>>0>yc>>>0|xc>>>0>Mc>>>0){continue}break}}xc=q[a+20>>2];vc=0;if(!xc){break b}Mc=xc+ -1|0;Tc=q[q[a+16>>2]+(Mc>>>3&536870908)>>2];q[a+20>>2]=Mc;vc=Zc;xc=Pc;Qc=vc-xc|0;Pc=xc>>31;Zc=(vc>>31)-(Pc+(vc>>>0<xc>>>0)|0)|0;vc=$n(Rc,Oc,Qc,Zc);yc=V;Pc=$n(xc,Pc,Xc,Nc);vc=Pc+vc|0;xc=V+yc|0;xc=vc>>>0<Pc>>>0?xc+1|0:xc;Vc=vc;vc=Wc;yc=Yc;Sc=vc-yc|0;Yc=yc>>31;Pc=(vc>>31)-(Yc+(vc>>>0<yc>>>0)|0)|0;vc=$n(wc,Nb,Sc,Pc);Wc=vc;vc=Tc>>>(Mc&31)&1;Uc=vc?0-Wc|0:Wc;Mc=Vc+Uc|0;Tc=xc;xc=V;xc=Tc+(vc?0-(xc+(0<Wc>>>0)|0)|0:xc)|0;ed=a,fd=ao(Mc,Mc>>>0<Uc>>>0?xc+1|0:xc,Xc,Nc),q[ed+12>>2]=fd;xc=$n(Rc,Oc,Sc,Pc);Mc=V;Wc=a;yc=$n(yc,Yc,Xc,Nc);a=yc+xc|0;xc=V+Mc|0;xc=a>>>0<yc>>>0?xc+1|0:xc;Oc=a;a=$n(wc,Nb,Qc,Zc);wc=vc?a:0-a|0;Nb=Oc+wc|0;Oc=xc;xc=V;a=Oc+(vc?xc:0-((0<a>>>0)+xc|0)|0)|0;ed=Wc,fd=ao(Nb,Nb>>>0<wc>>>0?a+1|0:a,Xc,Nc),q[ed+8>>2]=fd;vc=1}T=Lc+80|0;return vc}function hg(a){a=a|0;var Nb=0;q[a>>2]=6e3;q[a>>2]=3044;Nb=q[a+32>>2];if(Nb){q[a+36>>2]=Nb;An(Nb)}return a|0}function ig(a){a=a|0;var vc=0;q[a>>2]=6e3;q[a>>2]=3044;vc=q[a+32>>2];if(vc){q[a+36>>2]=vc;An(vc)}An(a)}function jg(a,wc,gd,hd,id,jd){a=a|0;wc=wc|0;gd=gd|0;hd=hd|0;id=id|0;jd=jd|0;var kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0;ld=T-32|0;T=ld;q[a+68>>2]=jd;hd=q[a+56>>2];id=q[hd>>2];jd=hd+4|0;kd=q[jd>>2];q[ld+24>>2]=0;q[ld+16>>2]=0;q[ld+20>>2]=0;a:{id=kd-id|0;if((id|0)<1){break a}hd=q[hd>>2];if((hd|0)!=q[jd>>2]){vd=id>>2;wd=a+60|0;xd=a+108|0;qd=a+8|0;rd=a+16|0;sd=a+32|0;td=a+20|0;ud=a+12|0;yd=a+56|0;while(1){kg(wd,q[(od<<2)+hd>>2],ld+16|0);id=q[ld+20>>2];kd=id>>31;jd=q[ld+16>>2];md=jd>>31;pd=q[ld+24>>2];nd=pd>>31;hd=0;nd=nd^nd+pd;kd=nd+((kd^id+kd)+(md^jd+md)|0)|0;if(kd>>>0<nd>>>0){hd=1}b:{if(!(hd|kd)){q[ld+16>>2]=q[a+104>>2];break b}md=q[a+104>>2];nd=md>>31;id=ao($n(md,nd,id,id>>31),V,kd,hd);q[ld+20>>2]=id;hd=ao($n(md,nd,jd,jd>>31),V,kd,hd);q[ld+16>>2]=hd;jd=hd;hd=hd>>31;hd=(md-(jd+hd^hd)|0)+((id|0)<0?id:0-id|0)|0;if((pd|0)>=0){q[ld+24>>2]=hd;break b}q[ld+24>>2]=0-hd}hd=dh(xd);jd=q[ld+16>>2];c:{if(!hd){id=q[ld+20>>2];break c}q[ld+24>>2]=0-q[ld+24>>2];id=0-q[ld+20>>2]|0;q[ld+20>>2]=id;jd=0-jd|0;q[ld+16>>2]=jd}d:{if((jd|0)>=0){hd=q[a+104>>2];jd=hd+q[ld+24>>2]|0;hd=hd+id|0;break d}e:{if((id|0)<=-1){jd=q[ld+24>>2];hd=jd>>31;hd=hd^hd+jd;break e}jd=q[ld+24>>2];hd=jd>>31;hd=q[a+100>>2]-(hd^hd+jd)|0}if((jd|0)<=-1){jd=id;id=id>>31;jd=jd+id^id;break d}jd=id;id=id>>31;jd=q[a+100>>2]-(jd+id^id)|0}id=q[a+100>>2];f:{if(!(hd|jd)){jd=id;hd=id;break f}if(!((id|0)!=(jd|0)|hd)){hd=jd;break f}if(!((hd|0)!=(id|0)|jd)){jd=hd;break f}g:{if(hd){break g}kd=q[a+104>>2];if((kd|0)>=(jd|0)){break g}jd=(kd<<1)-jd|0;hd=0;break f}h:{if((hd|0)!=(id|0)){break h}kd=q[a+104>>2];if((kd|0)<=(jd|0)){break h}jd=(kd<<1)-jd|0;break f}i:{if((id|0)!=(jd|0)){break i}id=q[a+104>>2];if((id|0)<=(hd|0)){break i}hd=(id<<1)-hd|0;break f}if(jd){break f}jd=0;id=q[a+104>>2];if((id|0)>=(hd|0)){break f}hd=(id<<1)-hd|0}q[ld+12>>2]=jd;q[ld+8>>2]=hd;j:{if(q[qd>>2]<1){break j}jd=0;while(1){kd=q[rd>>2];k:{if((hd|0)>(kd|0)){id=q[sd>>2];q[id+(jd<<2)>>2]=kd;break k}id=q[sd>>2];kd=id+(jd<<2)|0;md=q[ud>>2];if((hd|0)<(md|0)){q[kd>>2]=md;break k}q[kd>>2]=hd}jd=jd+1|0;kd=q[qd>>2];if((jd|0)<(kd|0)){hd=q[(ld+8|0)+(jd<<2)>>2];continue}break}hd=0;if((kd|0)<1){break j}jd=od<<3;md=jd+gd|0;pd=wc+jd|0;while(1){kd=hd<<2;jd=kd+md|0;kd=q[kd+pd>>2]+q[id+kd>>2]|0;q[jd>>2]=kd;l:{if((kd|0)>q[rd>>2]){nd=kd-q[td>>2]|0}else{if((kd|0)>=q[ud>>2]){break l}nd=kd+q[td>>2]|0}q[jd>>2]=nd}hd=hd+1|0;if((hd|0)<q[qd>>2]){continue}break}}od=od+1|0;if((od|0)>=(vd|0)){break a}id=q[yd>>2];hd=q[id>>2];if(q[id+4>>2]-hd>>2>>>0>od>>>0){continue}break}}cn();F()}T=ld+32|0;return 1}function kg(a,wc,gd){a=a|0;wc=wc|0;gd=gd|0;var hd=0,id=0,jd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0;jd=T-96|0;T=jd;id=q[a+16>>2];o[jd+92|0]=1;q[jd+88>>2]=wc;q[jd+84>>2]=wc;q[jd+80>>2]=id;hd=-1;hd=(wc|0)!=-1?q[q[id>>2]+(wc<<2)>>2]:hd;zd=q[a+20>>2];id=q[zd>>2];a:{b:{c:{d:{if(q[zd+4>>2]-id>>2>>>0>hd>>>0){id=q[q[a+8>>2]+(q[id+(hd<<2)>>2]<<2)>>2];hd=q[a+4>>2];if(!r[hd+84|0]){id=q[q[hd+68>>2]+(id<<2)>>2]}q[jd+72>>2]=0;q[jd+76>>2]=0;zd=jd- -64|0;q[zd>>2]=0;q[zd+4>>2]=0;q[jd+56>>2]=0;q[jd+60>>2]=0;Kf(hd,id,o[hd+24|0],jd+56|0);if((wc|0)==-1){break a}hd=wc+1|0;zd=(hd>>>0)%3|0?hd:wc+ -2|0;Jd=((wc>>>0)%3|0?-1:2)+wc|0;Qd=a+28|0;Ad=!q[Qd>>2];Rd=a+20|0;Sd=a+8|0;Td=jd+48|0;while(1){id=zd;hd=Jd;e:{if(Ad){break e}hd=wc+1|0;id=(hd>>>0)%3|0?hd:wc+ -2|0;hd=wc+ -1|0;if((wc>>>0)%3){break e}hd=wc+2|0}wc=-1;wc=(id|0)!=-1?q[q[q[a+16>>2]>>2]+(id<<2)>>2]:wc;Ad=q[Rd>>2];id=q[Ad>>2];if(q[Ad+4>>2]-id>>2>>>0<=wc>>>0){break d}id=q[q[Sd>>2]+(q[id+(wc<<2)>>2]<<2)>>2];Ad=a+4|0;wc=q[Ad>>2];if(!r[wc+84|0]){id=q[q[wc+68>>2]+(id<<2)>>2]}q[Td>>2]=0;q[Td+4>>2]=0;q[jd+40>>2]=0;q[jd+44>>2]=0;q[jd+32>>2]=0;q[jd+36>>2]=0;Kf(wc,id,o[wc+24|0],jd+32|0);wc=-1;wc=(hd|0)!=-1?q[q[q[a+16>>2]>>2]+(hd<<2)>>2]:wc;id=q[Rd>>2];hd=q[id>>2];if(q[id+4>>2]-hd>>2>>>0<=wc>>>0){break c}hd=q[q[Sd>>2]+(q[hd+(wc<<2)>>2]<<2)>>2];wc=q[Ad>>2];if(!r[wc+84|0]){hd=q[q[wc+68>>2]+(hd<<2)>>2]}id=jd+24|0;q[id>>2]=0;q[id+4>>2]=0;Ad=jd+16|0;q[Ad>>2]=0;q[Ad+4>>2]=0;q[jd+8>>2]=0;q[jd+12>>2]=0;Kf(wc,hd,o[wc+24|0],jd+8|0);hd=q[jd+8>>2];wc=q[jd+56>>2];Kd=hd-wc|0;Ld=q[jd+60>>2];Dd=q[jd+12>>2]-(Ld+(hd>>>0<wc>>>0)|0)|0;Md=q[jd+40>>2];hd=q[jd+64>>2];Ud=Md-hd|0;Nd=q[jd+68>>2];Md=q[jd+44>>2]-(Nd+(Md>>>0<hd>>>0)|0)|0;Od=$n(Kd,Dd,Ud,Md);Pd=Bd-Od|0;Ed=Ed-(V+(Bd>>>0<Od>>>0)|0)|0;Bd=q[Ad>>2];Od=Bd-hd|0;Ad=q[Ad+4>>2]-((Bd>>>0<hd>>>0)+Nd|0)|0;Bd=q[jd+32>>2];Nd=Bd-wc|0;Ld=q[jd+36>>2]-((Bd>>>0<wc>>>0)+Ld|0)|0;hd=$n(Od,Ad,Nd,Ld);Bd=hd+Pd|0;wc=V+Ed|0;wc=Bd>>>0<hd>>>0?wc+1|0:wc;Ed=wc;hd=Cd;Gd=Kd;Vd=Dd;Cd=q[jd+48>>2];wc=q[jd+72>>2];Dd=Cd-wc|0;Kd=q[jd+76>>2];Pd=q[jd+52>>2]-(Kd+(Cd>>>0<wc>>>0)|0)|0;Gd=$n(Gd,Vd,Dd,Pd);Cd=hd+Gd|0;hd=V+Hd|0;hd=Cd>>>0<Gd>>>0?hd+1|0:hd;Hd=Cd;Cd=q[id>>2];Gd=Cd-wc|0;wc=q[id+4>>2]-((Cd>>>0<wc>>>0)+Kd|0)|0;id=$n(Gd,wc,Nd,Ld);Cd=Hd-id|0;Hd=hd-(V+(Hd>>>0<id>>>0)|0)|0;hd=$n(Od,Ad,Dd,Pd);id=Fd-hd|0;Id=Id-(V+(Fd>>>0<hd>>>0)|0)|0;hd=$n(Gd,wc,Ud,Md);Fd=hd+id|0;wc=V+Id|0;wc=Fd>>>0<hd>>>0?wc+1|0:wc;Id=wc;lg(jd+80|0);Dd=q[Qd>>2];Ad=!Dd;wc=q[jd+88>>2];if((wc|0)!=-1){continue}break}wc=Hd;hd=wc>>31;a=wc>>31;wc=a+wc|0;zd=hd+Cd|0;if(zd>>>0<hd>>>0){wc=wc+1|0}hd=hd^zd;Ad=a^wc;wc=Id;a=wc>>31;wc=wc>>31;zd=a;Jd=Id+a|0;id=wc+Fd|0;if(id>>>0<wc>>>0){Jd=Jd+1|0}a=wc^id;id=zd^Jd;f:{if((Ed|0)<-1?1:(Ed|0)<=-1?Bd>>>0>4294967295?0:1:0){wc=Bd;zd=a+(hd-wc|0)|0;wc=id+(Ad-((hd>>>0<wc>>>0)+Ed|0)|0)|0;hd=zd;a=hd>>>0<a>>>0?wc+1|0:wc;if(!Dd){break f}break b}wc=Ad+Ed|0;zd=hd;hd=Bd;zd=zd+hd|0;if(zd>>>0<hd>>>0){wc=wc+1|0}hd=a;zd=hd+zd|0;a=wc+id|0;a=zd>>>0<hd>>>0?a+1|0:a;hd=zd;if(Dd){break b}}if((hd|0)<536870913){break a}a=((a&536870911)<<3|hd>>>29)&7;wc=0;Bd=ao(Bd,Ed,a,wc);Cd=ao(Cd,Hd,a,wc);Fd=ao(Fd,Id,a,wc);break a}cn();F()}cn();F()}cn();F()}if((a|0)<0?1:(a|0)<=0?hd>>>0>=536870913?0:1:0){break a}wc=a>>>29;a=(a&536870911)<<3|hd>>>29;Bd=ao(Bd,Ed,a,wc);Cd=ao(Cd,Hd,a,wc);Fd=ao(Fd,Id,a,wc)}q[gd+8>>2]=Bd;q[gd+4>>2]=Cd;q[gd>>2]=Fd;T=jd+96|0}function lg(a){var wc=0,gd=0,Wd=0;wc=q[a+8>>2];Wd=q[a>>2];a:{if(r[a+12|0]){b:{c:{d:{e:{if((wc|0)==-1){break e}gd=wc+1|0;wc=(gd>>>0)%3|0?gd:wc+ -2|0;if((wc|0)==-1){break e}wc=q[q[Wd+12>>2]+(wc<<2)>>2];if((wc|0)!=-1){break d}}q[a+8>>2]=-1;break c}gd=wc+1|0;wc=(gd>>>0)%3|0?gd:wc+ -2|0;q[a+8>>2]=wc;if((wc|0)!=-1){break b}}gd=q[a+4>>2];wc=-1;f:{if((gd|0)==-1){break f}gd=gd+((gd>>>0)%3|0?-1:2)|0;wc=-1;if((gd|0)==-1){break f}gd=q[q[Wd+12>>2]+(gd<<2)>>2];wc=-1;if((gd|0)==-1){break f}wc=gd+ -1|0;if((gd>>>0)%3){break f}wc=gd+2|0}o[a+12|0]=0;q[a+8>>2]=wc;return}if((wc|0)!=q[a+4>>2]){break a}q[a+8>>2]=-1;return}gd=-1;g:{if((wc|0)==-1){break g}wc=wc+((wc>>>0)%3|0?-1:2)|0;gd=-1;if((wc|0)==-1){break g}wc=q[q[Wd+12>>2]+(wc<<2)>>2];gd=-1;if((wc|0)==-1){break g}gd=wc+ -1|0;if((wc>>>0)%3){break g}gd=wc+2|0}q[a+8>>2]=gd}}function mg(a,Xd,Yd,Zd,_d,$d){a=a|0;Xd=Xd|0;Yd=Yd|0;Zd=Zd|0;_d=_d|0;$d=$d|0;var ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0;q[a+8>>2]=_d;be=a+32|0;ae=q[be>>2];$d=q[a+36>>2]-ae>>2;a:{if($d>>>0<_d>>>0){Fa(be,_d-$d|0);break a}if($d>>>0<=_d>>>0){break a}q[a+36>>2]=ae+(_d<<2)}be=0;$d=(_d&1073741823)!=(_d|0)?-1:_d<<2;ke=Dn(Mm($d),0,$d);ee=a+8|0;ae=q[ee>>2];b:{if((ae|0)<1){break b}ge=a+16|0;$d=a+32|0;he=a+12|0;while(1){ae=be<<2;de=q[ae+ke>>2];ce=q[ge>>2];c:{if((de|0)>(ce|0)){fe=q[$d>>2];q[ae+fe>>2]=ce;break c}fe=q[$d>>2];ae=ae+fe|0;ce=q[he>>2];if((de|0)<(ce|0)){q[ae>>2]=ce;break c}q[ae>>2]=de}be=be+1|0;ae=q[ee>>2];if((be|0)<(ae|0)){continue}break}if((ae|0)<1){break b}be=0;ee=a+16|0;de=a+20|0;ge=a+8|0;he=a+12|0;while(1){ae=be<<2;$d=ae+Yd|0;ae=q[Xd+ae>>2]+q[ae+fe>>2]|0;q[$d>>2]=ae;d:{if((ae|0)>q[ee>>2]){ae=ae-q[de>>2]|0}else{if((ae|0)>=q[he>>2]){break d}ae=ae+q[de>>2]|0}q[$d>>2]=ae}be=be+1|0;ae=q[ge>>2];if((be|0)<(ae|0)){continue}break}}if((_d|0)<(Zd|0)){me=0-_d<<2;de=a+16|0;fe=a+32|0;ee=a+8|0;ge=a+20|0;he=a+12|0;$d=_d;while(1){e:{if((ae|0)<1){break e}je=$d<<2;le=je+Yd|0;ne=le+me|0;be=0;while(1){a=be<<2;ae=q[a+ne>>2];ie=q[de>>2];f:{if((ae|0)>(ie|0)){ce=q[fe>>2];q[a+ce>>2]=ie;break f}ce=q[fe>>2];a=a+ce|0;ie=q[he>>2];if((ae|0)<(ie|0)){q[a>>2]=ie;break f}q[a>>2]=ae}be=be+1|0;ae=q[ee>>2];if((be|0)<(ae|0)){continue}break}be=0;if((ae|0)<1){break e}je=Xd+je|0;while(1){ae=be<<2;a=ae+le|0;ae=q[ae+je>>2]+q[ae+ce>>2]|0;q[a>>2]=ae;g:{if((ae|0)>q[de>>2]){ae=ae-q[ge>>2]|0}else{if((ae|0)>=q[he>>2]){break g}ae=ae+q[ge>>2]|0}q[a>>2]=ae}be=be+1|0;ae=q[ee>>2];if((be|0)<(ae|0)){continue}break}}$d=_d+$d|0;if(($d|0)<(Zd|0)){continue}break}}An(ke);return 1}function ng(a,Xd,Yd){a=a|0;Xd=Xd|0;Yd=Yd|0;var Zd=0;a:{if(!Se(a,Xd,Yd)){break a}a=q[a+8>>2];if(r[a+24|0]!=3){break a}Zd=q[a+28>>2]==9}return Zd|0}function og(a,Xd,Yd){a=a|0;Xd=Xd|0;Yd=Yd|0;var _d=0,$d=0,oe=0,pe=0,qe=0;a:{if(r[q[a+4>>2]+36|0]<=1){_d=q[Yd+16>>2];$d=q[Yd+12>>2];oe=q[Yd+20>>2];qe=oe;pe=0;if(($d|0)<(qe|0)?1:($d|0)<=(qe|0)?t[Yd+8>>2]>_d>>>0?0:1:0){break a}$d=r[_d+q[Yd>>2]|0];_d=_d+1|0;if(_d>>>0<1){oe=oe+1|0}q[Yd+16>>2]=_d;q[Yd+20>>2]=oe;q[a+24>>2]=$d}pe=Xe(a,Xd,Yd)}return pe|0}function pg(a,Xd,Yd){a=a|0;Xd=Xd|0;Yd=Yd|0;var re=0,se=0,te=0,ue=0,ve=0;re=T-16|0;T=re;a:{b:{if(r[q[a+4>>2]+36|0]<=1){Xd=q[a+24>>2];break b}ue=q[Yd+16>>2];se=q[Yd+12>>2];te=q[Yd+20>>2];Xd=te;ve=0;if((se|0)<(Xd|0)?1:(se|0)<=(Xd|0)?t[Yd+8>>2]>ue>>>0?0:1:0){break a}Xd=r[ue+q[Yd>>2]|0];se=ue+1|0;if(se>>>0<1){te=te+1|0}q[Yd+16>>2]=se;q[Yd+20>>2]=te;q[a+24>>2]=Xd}q[re+12>>2]=-1;q[re+8>>2]=1116;q[(re+8|0)+4>>2]=Xd;ve=ld(re+8|0,q[a+16>>2])}a=ve;T=re+16|0;return a|0}function qg(a,Xd){a=a|0;Xd=Xd|0;var Yd=0,we=0,xe=0,ye=0,ze=0,Ae=x(0),Be=0,Ce=0;we=T-32|0;T=we;ye=o[q[a+8>>2]+24|0];Yd=q[a+16>>2];if(q[Yd+80>>2]){ze=q[q[Yd>>2]>>2]+q[Yd+48>>2]|0}q[we+8>>2]=-1;q[we+12>>2]=-1;q[we>>2]=-1;q[we+4>>2]=-1;a:{Yd=q[a+24>>2];if(Yd+ -2>>>0>28){break a}q[we>>2]=Yd;Yd=-1<<Yd;xe=-2-Yd|0;q[we+8>>2]=xe;q[we+4>>2]=Yd^-1;q[we+12>>2]=(xe|0)/2;if(!Xd){xe=1;break a}ye=ye<<2;Yd=0;Ce=a+8|0;a=0;while(1){Ae=x(x(1)/x(xe|0));xe=Yd<<2;rg(x(Ae*x(q[xe+ze>>2])),x(Ae*x(q[(xe|4)+ze>>2])),we+20|0);Cn(q[q[q[Ce>>2]- -64>>2]>>2]+a|0,we+20|0,ye);xe=1;Be=Be+1|0;if((Be|0)==(Xd|0)){break a}Yd=Yd+2|0;a=a+ye|0;xe=q[we+8>>2];continue}}T=we+32|0;return xe|0}function rg(a,Xd,De){var Ee=0,Fe=0,Ge=x(0),He=x(0),Ie=x(0),Je=0,Ke=0;Ge=x(a+Xd);a:{b:{Ie=x(a-Xd);if(Ie<=x(.5)^1|Ie>=x(-.5)^1|Ge>=x(.5)^1){break b}Fe=1;if(!(Ge<=x(1.5))){break b}He=Xd;break a}c:{if(!!(Ge<=x(.5))){He=x(x(.5)-a);a=x(x(.5)-Xd);break c}if(!!(Ge>=x(1.5))){He=x(x(1.5)-a);a=x(x(1.5)-Xd);break c}if(!!(Ie<=x(-.5))){He=x(a+x(.5));a=x(Xd+x(-.5));break c}He=x(a+x(-.5));a=x(Xd+x(.5))}Ie=x(a-He);Ge=x(He+a);Fe=-1}Ee=+He;Xd=x(Ee+Ee+ -1);Ee=+a;a=x(Ee+Ee+ -1);Ke=Fe;Fe=+Ie;Fe=Fe+Fe;Ee=1-Fe;Fe=Fe+1;Fe=Ee<Fe?Ee:Fe;Ee=+Ge;Ee=Ee+Ee;Je=3-Ee;Ee=Ee+ -1;Ee=Je<Ee?Je:Ee;He=x(Ke*(Fe<Ee?Fe:Ee));Ge=x(x(Xd*Xd)+x(x(a*a)+x(He*He)));d:{if(!!(+Ge<1e-6)){q[De>>2]=0;Ge=x(0);a=x(0);break d}Ie=x(x(1)/x(E(Ge)));u[De>>2]=Ie*He;Ge=x(Ie*Xd);a=x(Ie*a)}u[De+8>>2]=Ge;u[De+4>>2]=a}function sg(a,Xd,De,Le){a=a|0;Xd=Xd|0;De=De|0;Le=Le|0;var Me=0,Ne=0,Oe=0;Me=T-32|0;T=Me;Le=Le+ -2|0;a:{if(Le>>>0<=1){if(Le-1){Le=q[Xd+4>>2];Xd=q[Xd+12>>2];q[Me+24>>2]=-1;q[Me+28>>2]=-1;q[Me+16>>2]=-1;q[Me+20>>2]=-1;if((De|0)==-2){q[Me+8>>2]=0;q[a>>2]=0;break a}Ne=q[q[q[Le+4>>2]+8>>2]+(Xd<<2)>>2];if((n[q[q[Le>>2]+8>>2]](Le)|0)==1){Oe=Xd;Xd=s[Le+36>>1];tg(Me+8|0,Le,De,Oe,Me+16|0,(Xd<<24|Xd<<8&16711680)>>>16);Xd=q[Me+8>>2];if(Xd){q[a>>2]=Xd;break a}q[Me+8>>2]=0}Xd=Mm(24);q[Xd+4>>2]=Ne;De=q[Me+20>>2];q[Xd+8>>2]=q[Me+16>>2];q[Xd+12>>2]=De;De=q[Me+28>>2];q[Xd+16>>2]=q[Me+24>>2];q[Xd+20>>2]=De;q[Xd>>2]=8576;q[Me+8>>2]=Xd;q[a>>2]=Xd;break a}Le=q[Xd+4>>2];Xd=q[Xd+12>>2];q[Me+24>>2]=-1;q[Me+28>>2]=-1;q[Me+16>>2]=-1;q[Me+20>>2]=-1;if((De|0)==-2){q[Me+8>>2]=0;q[a>>2]=0;break a}Ne=q[q[q[Le+4>>2]+8>>2]+(Xd<<2)>>2];if((n[q[q[Le>>2]+8>>2]](Le)|0)==1){Oe=Xd;Xd=s[Le+36>>1];ug(Me+8|0,Le,De,Oe,Me+16|0,(Xd<<24|Xd<<8&16711680)>>>16);Xd=q[Me+8>>2];if(Xd){q[a>>2]=Xd;break a}q[Me+8>>2]=0}Xd=Mm(24);q[Xd+4>>2]=Ne;De=q[Me+20>>2];q[Xd+8>>2]=q[Me+16>>2];q[Xd+12>>2]=De;De=q[Me+28>>2];q[Xd+16>>2]=q[Me+24>>2];q[Xd+20>>2]=De;q[Xd>>2]=10580;q[Me+8>>2]=Xd;q[a>>2]=Xd;break a}q[a>>2]=0}T=Me+32|0}function tg(a,Xd,De,Le,Pe,Qe){var Re=0,Se=0,Te=0,Ue=0;Ue=q[q[q[Xd+4>>2]+8>>2]+(Le<<2)>>2];a:{b:{if((n[q[q[Xd>>2]+8>>2]](Xd)|0)!=1|De+ -1>>>0>5){break b}Se=n[q[q[Xd>>2]+36>>2]](Xd)|0;Qe=n[q[q[Xd>>2]+44>>2]](Xd,Le)|0;if(!Se|!Qe){break b}Te=n[q[q[Xd>>2]+40>>2]](Xd,Le)|0;Le=Qe+12|0;Re=q[Xd+44>>2];c:{if(Te){if((De|0)!=6){break c}Xd=Mm(104);q[Xd+4>>2]=Ue;De=q[Pe+4>>2];q[Xd+8>>2]=q[Pe>>2];q[Xd+12>>2]=De;De=q[Pe+12>>2];q[Xd+16>>2]=q[Pe+8>>2];q[Xd+20>>2]=De;q[Xd+36>>2]=Qe;q[Xd+32>>2]=Le;q[Xd+28>>2]=Te;q[Xd+24>>2]=Re;q[Xd+64>>2]=Qe;q[Xd+60>>2]=Le;q[Xd+56>>2]=Te;q[Xd+52>>2]=Re;q[Xd+44>>2]=0;q[Xd+48>>2]=0;q[Xd>>2]=6860;q[Xd+72>>2]=-1;q[Xd+76>>2]=-1;q[Xd+68>>2]=1;q[Xd+40>>2]=7384;break a}if((De|0)!=6){break c}Xd=Mm(104);q[Xd+4>>2]=Ue;De=q[Pe+4>>2];q[Xd+8>>2]=q[Pe>>2];q[Xd+12>>2]=De;De=q[Pe+12>>2];q[Xd+16>>2]=q[Pe+8>>2];q[Xd+20>>2]=De;q[Xd+36>>2]=Qe;q[Xd+32>>2]=Le;q[Xd+28>>2]=Se;q[Xd+24>>2]=Re;q[Xd+64>>2]=Qe;q[Xd+60>>2]=Le;q[Xd+56>>2]=Se;q[Xd+52>>2]=Re;q[Xd+44>>2]=0;q[Xd+48>>2]=0;q[Xd>>2]=7796;q[Xd+72>>2]=-1;q[Xd+76>>2]=-1;q[Xd+68>>2]=1;q[Xd+40>>2]=8188;break a}q[a>>2]=0}q[a>>2]=0;return}q[Xd+80>>2]=-1;q[Xd+84>>2]=-1;ah(Xd+88|0);q[a>>2]=Xd}function ug(a,Xd,De,Le,Pe,Qe){var Ve=0,We=0,Xe=0,Ye=0;Ye=q[q[q[Xd+4>>2]+8>>2]+(Le<<2)>>2];a:{b:{if((n[q[q[Xd>>2]+8>>2]](Xd)|0)!=1|De+ -1>>>0>5){break b}We=n[q[q[Xd>>2]+36>>2]](Xd)|0;Qe=n[q[q[Xd>>2]+44>>2]](Xd,Le)|0;if(!We|!Qe){break b}Xe=n[q[q[Xd>>2]+40>>2]](Xd,Le)|0;Le=Qe+12|0;Ve=q[Xd+44>>2];c:{if(Xe){if((De|0)!=6){break c}Xd=Mm(104);q[Xd+4>>2]=Ye;De=q[Pe+4>>2];q[Xd+8>>2]=q[Pe>>2];q[Xd+12>>2]=De;De=q[Pe+12>>2];q[Xd+16>>2]=q[Pe+8>>2];q[Xd+20>>2]=De;q[Xd+36>>2]=Qe;q[Xd+32>>2]=Le;q[Xd+28>>2]=Xe;q[Xd+24>>2]=Ve;q[Xd+64>>2]=Qe;q[Xd+60>>2]=Le;q[Xd+56>>2]=Xe;q[Xd+52>>2]=Ve;q[Xd+44>>2]=0;q[Xd+48>>2]=0;q[Xd>>2]=8744;q[Xd+72>>2]=-1;q[Xd+76>>2]=-1;q[Xd+68>>2]=1;q[Xd+40>>2]=9308;break a}if((De|0)!=6){break c}Xd=Mm(104);q[Xd+4>>2]=Ye;De=q[Pe+4>>2];q[Xd+8>>2]=q[Pe>>2];q[Xd+12>>2]=De;De=q[Pe+12>>2];q[Xd+16>>2]=q[Pe+8>>2];q[Xd+20>>2]=De;q[Xd+36>>2]=Qe;q[Xd+32>>2]=Le;q[Xd+28>>2]=We;q[Xd+24>>2]=Ve;q[Xd+64>>2]=Qe;q[Xd+60>>2]=Le;q[Xd+56>>2]=We;q[Xd+52>>2]=Ve;q[Xd+44>>2]=0;q[Xd+48>>2]=0;q[Xd>>2]=9748;q[Xd+72>>2]=-1;q[Xd+76>>2]=-1;q[Xd+68>>2]=1;q[Xd+40>>2]=10168;break a}q[a>>2]=0}q[a>>2]=0;return}q[Xd+80>>2]=-1;q[Xd+84>>2]=-1;ah(Xd+88|0);q[a>>2]=Xd}function vg(a){a=a|0;q[a>>2]=6860;return a|0}function wg(a){a=a|0;q[a>>2]=6860;An(a)}function xg(a){a=a|0;var Xd=0;a:{if(!q[a+44>>2]|!q[a+48>>2]|(!q[a+24>>2]|!q[a+28>>2])){break a}if(!q[a+32>>2]|!q[a+36>>2]){break a}Xd=q[a+72>>2]!=-1}return Xd|0}function yg(a,De){a=a|0;De=De|0;var Le=0;if(!(q[De+56>>2]|r[De+24|0]!=3)){q[a+44>>2]=De;Le=1}return Le|0}function zg(a,De){a=a|0;De=De|0;var Pe=0,Qe=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0;$e=q[De+12>>2];Pe=$e;Qe=q[De+20>>2];Ze=Qe;af=q[De+16>>2];_e=af+4|0;if(_e>>>0<4){Qe=Qe+1|0}bf=q[De+8>>2];a:{if((Pe|0)<(Qe|0)?1:(Pe|0)<=(Qe|0)?bf>>>0>=_e>>>0?0:1:0){break a}cf=q[De>>2];Pe=af+cf|0;df=r[Pe|0]|r[Pe+1|0]<<8|(r[Pe+2|0]<<16|r[Pe+3|0]<<24);q[De+16>>2]=_e;q[De+20>>2]=Qe;ef=s[De+38>>1];if(ef>>>0<=513){Pe=$e;Qe=Ze;Ze=af+8|0;if(Ze>>>0<8){Qe=Qe+1|0}_e=Ze;if((Pe|0)<(Qe|0)?1:(Pe|0)<=(Qe|0)?bf>>>0>=_e>>>0?0:1:0){break a}q[De+16>>2]=_e;q[De+20>>2]=Qe}if(!(df&1)){break a}Pe=z(df)^31;if(Pe+ -1>>>0>28){break a}q[a+8>>2]=Pe+1;Pe=-2<<Pe;Ze=-2-Pe|0;q[a+16>>2]=Ze;q[a+12>>2]=Pe^-1;q[a+20>>2]=(Ze|0)/2;if(ef>>>0<=513){if(($e|0)<(Qe|0)?1:($e|0)<=(Qe|0)?bf>>>0>_e>>>0?0:1:0){break a}Pe=r[_e+cf|0];Ze=_e+1|0;if(Ze>>>0<1){Qe=Qe+1|0}q[De+16>>2]=Ze;q[De+20>>2]=Qe;if(Pe>>>0>1){break a}q[a+68>>2]=Pe-1|0?0:1}ff=bh(a+88|0,De)}return ff|0}function Ag(a,De,gf,hf,jf,kf){a=a|0;De=De|0;gf=gf|0;hf=hf|0;jf=jf|0;kf=kf|0;var lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0;lf=T-48|0;T=lf;rf=a+8|0;hf=q[rf>>2];if(hf+ -2>>>0<=28){q[a+72>>2]=hf;hf=-1<<hf;jf=-2-hf|0;q[a+80>>2]=jf;q[a+76>>2]=hf^-1;q[a+84>>2]=(jf|0)/2}q[a+48>>2]=kf;hf=q[a+36>>2];jf=q[hf>>2];kf=hf+4|0;mf=q[kf>>2];q[lf+16>>2]=0;q[lf+8>>2]=0;q[lf+12>>2]=0;a:{jf=mf-jf|0;if((jf|0)<1){break a}hf=q[hf>>2];if((hf|0)!=q[kf>>2]){sf=jf>>2;tf=a+40|0;uf=a+88|0;vf=a+36|0;while(1){Sf(tf,q[(pf<<2)+hf>>2],lf+8|0);jf=q[lf+12>>2];mf=jf>>31;kf=q[lf+8>>2];of=kf>>31;qf=q[lf+16>>2];nf=qf>>31;hf=0;nf=nf^nf+qf;mf=nf+((mf^jf+mf)+(of^kf+of)|0)|0;if(mf>>>0<nf>>>0){hf=1}b:{if(!(hf|mf)){q[lf+8>>2]=q[a+84>>2];break b}of=q[a+84>>2];nf=of;nf=nf>>31;jf=ao($n(of,nf,jf,jf>>31),V,mf,hf);q[lf+12>>2]=jf;hf=ao($n(of,nf,kf,kf>>31),V,mf,hf);q[lf+8>>2]=hf;kf=hf;hf=hf>>31;hf=(of-(kf+hf^hf)|0)+((jf|0)<0?jf:0-jf|0)|0;if((qf|0)>=0){q[lf+16>>2]=hf;break b}q[lf+16>>2]=0-hf}hf=dh(uf);kf=q[lf+8>>2];c:{if(!hf){jf=q[lf+12>>2];break c}q[lf+16>>2]=0-q[lf+16>>2];jf=0-q[lf+12>>2]|0;q[lf+12>>2]=jf;kf=0-kf|0;q[lf+8>>2]=kf}d:{if((kf|0)>=0){kf=q[a+84>>2];hf=kf+q[lf+16>>2]|0;kf=jf+kf|0;break d}e:{if((jf|0)<=-1){hf=q[lf+16>>2];kf=hf>>31;kf=kf^hf+kf;break e}hf=q[lf+16>>2];kf=hf>>31;kf=q[a+80>>2]-(kf^hf+kf)|0}if((hf|0)<=-1){hf=jf>>31;hf=hf+jf^hf;break d}hf=jf>>31;hf=q[a+80>>2]-(hf+jf^hf)|0}jf=q[a+80>>2];f:{if(!(hf|kf)){hf=jf;kf=hf;break f}if(!((hf|0)!=(jf|0)|kf)){kf=hf;break f}if(!((jf|0)!=(kf|0)|hf)){hf=kf;break f}g:{if(kf){break g}mf=q[a+84>>2];if((mf|0)>=(hf|0)){break g}hf=(mf<<1)-hf|0;kf=0;break f}h:{if((jf|0)!=(kf|0)){break h}mf=q[a+84>>2];if((mf|0)<=(hf|0)){break h}hf=(mf<<1)-hf|0;break f}i:{if((hf|0)!=(jf|0)){break i}jf=q[a+84>>2];if((jf|0)<=(kf|0)){break i}kf=(jf<<1)-kf|0;break f}if(hf){break f}hf=0;jf=q[a+84>>2];if((jf|0)>=(kf|0)){break f}kf=(jf<<1)-kf|0}jf=pf<<3;mf=jf+De|0;of=q[mf+4>>2];q[lf+40>>2]=q[mf>>2];q[lf+44>>2]=of;q[lf+28>>2]=hf;q[lf+24>>2]=kf;Bg(lf+32|0,rf,lf+24|0,lf+40|0);hf=gf+jf|0;q[hf>>2]=q[lf+32>>2];q[hf+4>>2]=q[lf+36>>2];pf=pf+1|0;if((pf|0)>=(sf|0)){break a}jf=q[vf>>2];hf=q[jf>>2];if(q[jf+4>>2]-hf>>2>>>0>pf>>>0){continue}break}}cn();F()}T=lf+48|0;return 1}function Bg(a,De,gf,hf){var jf=0,kf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0;xf=De+12|0;Af=q[xf>>2];kf=q[gf+4>>2]-Af|0;jf=q[gf>>2]-Af|0;q[gf>>2]=jf;q[gf+4>>2]=kf;wf=kf>>31;yf=wf+kf^wf;wf=jf>>31;xf=q[xf>>2];Bf=(yf+(wf+jf^wf)|0)<=(xf|0);if(!Bf){a:{b:{if((jf|0)>=0){zf=1;yf=1;if((kf|0)>-1){break a}wf=1;zf=-1;yf=-1;if((jf|0)>=1){break b}break a}wf=-1;zf=-1;yf=-1;if((kf|0)<1){break a}}zf=(kf|0)<1?-1:1;yf=wf}wf=kf<<1;kf=w(xf,zf);wf=wf-kf|0;q[gf+4>>2]=wf;xf=w(xf,yf);jf=(jf<<1)-xf|0;q[gf>>2]=jf;c:{if((w(yf,zf)|0)>=0){wf=0-wf|0;q[gf>>2]=wf;jf=0-jf|0;break c}q[gf>>2]=wf}kf=(jf+kf|0)/2|0;q[gf+4>>2]=kf;jf=(xf+wf|0)/2|0;q[gf>>2]=jf;xf=q[De+12>>2]}jf=q[hf>>2]+jf|0;q[a>>2]=jf;gf=q[hf+4>>2]+kf|0;q[a+4>>2]=gf;d:{if((xf|0)<(jf|0)){jf=jf-q[De+4>>2]|0;break d}if((jf|0)>=(0-xf|0)){break d}jf=q[De+4>>2]+jf|0}q[a>>2]=jf;e:{if((xf|0)<(gf|0)){gf=gf-q[De+4>>2]|0;break e}if((gf|0)>=(0-xf|0)){break e}gf=q[De+4>>2]+gf|0}q[a+4>>2]=gf;if(!Bf){f:{g:{if((jf|0)>=0){De=1;hf=1;if((gf|0)>-1){break f}kf=1;De=-1;hf=-1;if((jf|0)>=1){break g}break f}kf=-1;De=-1;hf=-1;if((gf|0)<1){break f}}De=(gf|0)<1?-1:1;hf=kf}wf=w(De,xf);kf=(gf<<1)-wf|0;q[a+4>>2]=kf;yf=w(hf,xf);gf=(jf<<1)-yf|0;q[a>>2]=gf;h:{if((w(De,hf)|0)>=0){kf=0-kf|0;q[a>>2]=kf;gf=0-gf|0;break h}q[a>>2]=kf}gf=(gf+wf|0)/2|0;q[a+4>>2]=gf;jf=(kf+yf|0)/2|0;q[a>>2]=jf}q[a>>2]=jf+Af;q[a+4>>2]=gf+Af}function Cg(a,De){a=a|0;De=De|0;var gf=0,hf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0;gf=q[De+12>>2];Ff=gf;Cf=gf;gf=q[De+20>>2];Df=gf;Ef=q[De+16>>2];hf=Ef+4|0;if(hf>>>0<4){gf=gf+1|0}Gf=q[De+8>>2];Hf=hf;hf=gf;a:{if((Cf|0)<(gf|0)?1:(Cf|0)<=(gf|0)?Gf>>>0>=Hf>>>0?0:1:0){break a}gf=Ef+q[De>>2]|0;Cf=r[gf|0]|r[gf+1|0]<<8|(r[gf+2|0]<<16|r[gf+3|0]<<24);q[De+16>>2]=Hf;q[De+20>>2]=hf;if(s[De+38>>1]<=513){gf=Df;hf=Ef+8|0;if(hf>>>0<8){gf=gf+1|0}Df=hf;hf=gf;if((Ff|0)<(gf|0)?1:(Ff|0)<=(gf|0)?Gf>>>0>=Df>>>0?0:1:0){break a}q[De+16>>2]=Df;q[De+20>>2]=hf}if(!(Cf&1)){break a}De=z(Cf)^31;if(De+ -1>>>0>28){break a}If=1;q[a+8>>2]=De+1;gf=-2<<De;De=-2-gf|0;q[a+16>>2]=De;q[a+12>>2]=gf^-1;q[a+20>>2]=(De|0)/2}return If|0}function Dg(a){a=a|0;q[a>>2]=7796;return a|0}function Eg(a){a=a|0;q[a>>2]=7796;An(a)}function Fg(a,De,Jf,Kf,Lf,Mf){a=a|0;De=De|0;Jf=Jf|0;Kf=Kf|0;Lf=Lf|0;Mf=Mf|0;var Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0;Nf=T-48|0;T=Nf;Tf=a+8|0;Kf=q[Tf>>2];if(Kf+ -2>>>0<=28){q[a+72>>2]=Kf;Kf=-1<<Kf;Lf=-2-Kf|0;q[a+80>>2]=Lf;q[a+76>>2]=Kf^-1;q[a+84>>2]=(Lf|0)/2}q[a+48>>2]=Mf;Kf=q[a+36>>2];Lf=q[Kf>>2];Mf=Kf+4|0;Of=q[Mf>>2];q[Nf+16>>2]=0;q[Nf+8>>2]=0;q[Nf+12>>2]=0;a:{Lf=Of-Lf|0;if((Lf|0)<1){break a}Kf=q[Kf>>2];if((Kf|0)!=q[Mf>>2]){Uf=Lf>>2;Vf=a+40|0;Wf=a+88|0;Xf=a+36|0;while(1){kg(Vf,q[(Rf<<2)+Kf>>2],Nf+8|0);Lf=q[Nf+12>>2];Of=Lf>>31;Mf=q[Nf+8>>2];Qf=Mf>>31;Sf=q[Nf+16>>2];Pf=Sf>>31;Kf=0;Pf=Pf^Pf+Sf;Of=Pf+((Of^Lf+Of)+(Qf^Mf+Qf)|0)|0;if(Of>>>0<Pf>>>0){Kf=1}b:{if(!(Kf|Of)){q[Nf+8>>2]=q[a+84>>2];break b}Qf=q[a+84>>2];Pf=Qf;Pf=Pf>>31;Lf=ao($n(Qf,Pf,Lf,Lf>>31),V,Of,Kf);q[Nf+12>>2]=Lf;Kf=ao($n(Qf,Pf,Mf,Mf>>31),V,Of,Kf);q[Nf+8>>2]=Kf;Mf=Kf;Kf=Kf>>31;Kf=(Qf-(Mf+Kf^Kf)|0)+((Lf|0)<0?Lf:0-Lf|0)|0;if((Sf|0)>=0){q[Nf+16>>2]=Kf;break b}q[Nf+16>>2]=0-Kf}Kf=dh(Wf);Mf=q[Nf+8>>2];c:{if(!Kf){Lf=q[Nf+12>>2];break c}q[Nf+16>>2]=0-q[Nf+16>>2];Lf=0-q[Nf+12>>2]|0;q[Nf+12>>2]=Lf;Mf=0-Mf|0;q[Nf+8>>2]=Mf}d:{if((Mf|0)>=0){Mf=q[a+84>>2];Kf=Mf+q[Nf+16>>2]|0;Mf=Lf+Mf|0;break d}e:{if((Lf|0)<=-1){Kf=q[Nf+16>>2];Mf=Kf>>31;Mf=Mf^Kf+Mf;break e}Kf=q[Nf+16>>2];Mf=Kf>>31;Mf=q[a+80>>2]-(Mf^Kf+Mf)|0}if((Kf|0)<=-1){Kf=Lf>>31;Kf=Kf+Lf^Kf;break d}Kf=Lf>>31;Kf=q[a+80>>2]-(Kf+Lf^Kf)|0}Lf=q[a+80>>2];f:{if(!(Kf|Mf)){Kf=Lf;Mf=Kf;break f}if(!((Kf|0)!=(Lf|0)|Mf)){Mf=Kf;break f}if(!((Lf|0)!=(Mf|0)|Kf)){Kf=Mf;break f}g:{if(Mf){break g}Of=q[a+84>>2];if((Of|0)>=(Kf|0)){break g}Kf=(Of<<1)-Kf|0;Mf=0;break f}h:{if((Lf|0)!=(Mf|0)){break h}Of=q[a+84>>2];if((Of|0)<=(Kf|0)){break h}Kf=(Of<<1)-Kf|0;break f}i:{if((Kf|0)!=(Lf|0)){break i}Lf=q[a+84>>2];if((Lf|0)<=(Mf|0)){break i}Mf=(Lf<<1)-Mf|0;break f}if(Kf){break f}Kf=0;Lf=q[a+84>>2];if((Lf|0)>=(Mf|0)){break f}Mf=(Lf<<1)-Mf|0}Lf=Rf<<3;Of=Lf+De|0;Qf=q[Of+4>>2];q[Nf+40>>2]=q[Of>>2];q[Nf+44>>2]=Qf;q[Nf+28>>2]=Kf;q[Nf+24>>2]=Mf;Bg(Nf+32|0,Tf,Nf+24|0,Nf+40|0);Kf=Jf+Lf|0;q[Kf>>2]=q[Nf+32>>2];q[Kf+4>>2]=q[Nf+36>>2];Rf=Rf+1|0;if((Rf|0)>=(Uf|0)){break a}Lf=q[Xf>>2];Kf=q[Lf>>2];if(q[Lf+4>>2]-Kf>>2>>>0>Rf>>>0){continue}break}}cn();F()}T=Nf+48|0;return 1}function Gg(a,De,Jf,Kf,Lf,Mf){a=a|0;De=De|0;Jf=Jf|0;Kf=Kf|0;Lf=Lf|0;Mf=Mf|0;var Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0;Mf=T-32|0;T=Mf;Yf=(Lf&1073741823)!=(Lf|0)?-1:Lf<<2;bg=Dn(Mm(Yf),0,Yf);Yf=bg;_f=q[Yf>>2];Yf=q[Yf+4>>2];ag=q[De+4>>2];q[Mf+24>>2]=q[De>>2];q[Mf+28>>2]=ag;q[Mf+8>>2]=_f;q[Mf+12>>2]=Yf;_f=a+8|0;Bg(Mf+16|0,_f,Mf+8|0,Mf+24|0);q[Jf>>2]=q[Mf+16>>2];q[Jf+4>>2]=q[Mf+20>>2];if((Lf|0)<(Kf|0)){ag=0-Lf<<2;a=Lf;while(1){Zf=a<<2;Yf=Zf+Jf|0;$f=Yf+ag|0;cg=q[$f>>2];$f=q[$f+4>>2];Zf=De+Zf|0;dg=q[Zf+4>>2];q[Mf+24>>2]=q[Zf>>2];q[Mf+28>>2]=dg;q[Mf+8>>2]=cg;q[Mf+12>>2]=$f;Bg(Mf+16|0,_f,Mf+8|0,Mf+24|0);q[Yf>>2]=q[Mf+16>>2];q[Yf+4>>2]=q[Mf+20>>2];a=a+Lf|0;if((a|0)<(Kf|0)){continue}break}}An(bg);T=Mf+32|0;return 1}function Hg(a){a=a|0;q[a>>2]=8744;return a|0}function Ig(a){a=a|0;q[a>>2]=8744;An(a)}function Jg(a,De){a=a|0;De=De|0;var Jf=0,Kf=0,Lf=0,Mf=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0;Mf=q[De+12>>2];eg=Mf;Jf=q[De+20>>2];fg=Jf;gg=q[De+16>>2];Kf=gg+4|0;if(Kf>>>0<4){Jf=Jf+1|0}hg=q[De+8>>2];Lf=Kf;Kf=Jf;a:{if((eg|0)<(Jf|0)?1:(eg|0)<=(Jf|0)?hg>>>0>=Lf>>>0?0:1:0){break a}eg=q[De>>2];Jf=gg+eg|0;jg=r[Jf|0]|r[Jf+1|0]<<8|(r[Jf+2|0]<<16|r[Jf+3|0]<<24);q[De+16>>2]=Lf;q[De+20>>2]=Kf;Kf=Mf;Jf=fg;Lf=gg+8|0;if(Lf>>>0<8){Jf=Jf+1|0}ig=Lf;if((Kf|0)<(Jf|0)?1:(Kf|0)<=(Jf|0)?hg>>>0>=Lf>>>0?0:1:0){break a}q[De+16>>2]=ig;q[De+20>>2]=Jf;if(!(jg&1)){break a}Kf=z(jg)^31;if(Kf+ -1>>>0>28){break a}q[a+8>>2]=Kf+1;Lf=-2<<Kf;Kf=-2-Lf|0;q[a+16>>2]=Kf;q[a+12>>2]=Lf^-1;q[a+20>>2]=(Kf|0)/2;if(s[De+38>>1]<=513){if((Mf|0)<(Jf|0)?1:(Mf|0)<=(Jf|0)?hg>>>0>ig>>>0?0:1:0){break a}Mf=r[eg+ig|0];Kf=gg+9|0;if(Kf>>>0<9){fg=fg+1|0}Jf=De;q[Jf+16>>2]=Kf;q[Jf+20>>2]=fg;if(Mf>>>0>1){break a}q[a+68>>2]=Mf-1|0?0:1}kg=bh(a+88|0,De)}return kg|0}function Kg(a,De,lg,mg,ng,og){a=a|0;De=De|0;lg=lg|0;mg=mg|0;ng=ng|0;og=og|0;var pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0;pg=T-48|0;T=pg;vg=a+8|0;mg=q[vg>>2];if(mg+ -2>>>0<=28){q[a+72>>2]=mg;mg=-1<<mg;ng=-2-mg|0;q[a+80>>2]=ng;q[a+76>>2]=mg^-1;q[a+84>>2]=(ng|0)/2}q[a+48>>2]=og;mg=q[a+36>>2];ng=q[mg>>2];og=mg+4|0;qg=q[og>>2];q[pg+16>>2]=0;q[pg+8>>2]=0;q[pg+12>>2]=0;a:{ng=qg-ng|0;if((ng|0)<1){break a}mg=q[mg>>2];if((mg|0)!=q[og>>2]){wg=ng>>2;xg=a+40|0;yg=a+88|0;zg=a+36|0;while(1){Sf(xg,q[(tg<<2)+mg>>2],pg+8|0);ng=q[pg+12>>2];qg=ng>>31;og=q[pg+8>>2];sg=og>>31;ug=q[pg+16>>2];rg=ug>>31;mg=0;rg=rg^rg+ug;qg=rg+((qg^ng+qg)+(sg^og+sg)|0)|0;if(qg>>>0<rg>>>0){mg=1}b:{if(!(mg|qg)){q[pg+8>>2]=q[a+84>>2];break b}sg=q[a+84>>2];rg=sg;rg=rg>>31;ng=ao($n(sg,rg,ng,ng>>31),V,qg,mg);q[pg+12>>2]=ng;mg=ao($n(sg,rg,og,og>>31),V,qg,mg);q[pg+8>>2]=mg;og=mg;mg=mg>>31;mg=(sg-(og+mg^mg)|0)+((ng|0)<0?ng:0-ng|0)|0;if((ug|0)>=0){q[pg+16>>2]=mg;break b}q[pg+16>>2]=0-mg}mg=dh(yg);og=q[pg+8>>2];c:{if(!mg){ng=q[pg+12>>2];break c}q[pg+16>>2]=0-q[pg+16>>2];ng=0-q[pg+12>>2]|0;q[pg+12>>2]=ng;og=0-og|0;q[pg+8>>2]=og}d:{if((og|0)>=0){og=q[a+84>>2];mg=og+q[pg+16>>2]|0;og=ng+og|0;break d}e:{if((ng|0)<=-1){mg=q[pg+16>>2];og=mg>>31;og=og^mg+og;break e}mg=q[pg+16>>2];og=mg>>31;og=q[a+80>>2]-(og^mg+og)|0}if((mg|0)<=-1){mg=ng>>31;mg=mg+ng^mg;break d}mg=ng>>31;mg=q[a+80>>2]-(mg+ng^mg)|0}ng=q[a+80>>2];f:{if(!(mg|og)){mg=ng;og=mg;break f}if(!((mg|0)!=(ng|0)|og)){og=mg;break f}if(!((ng|0)!=(og|0)|mg)){mg=og;break f}g:{if(og){break g}qg=q[a+84>>2];if((qg|0)>=(mg|0)){break g}mg=(qg<<1)-mg|0;og=0;break f}h:{if((ng|0)!=(og|0)){break h}qg=q[a+84>>2];if((qg|0)<=(mg|0)){break h}mg=(qg<<1)-mg|0;break f}i:{if((mg|0)!=(ng|0)){break i}ng=q[a+84>>2];if((ng|0)<=(og|0)){break i}og=(ng<<1)-og|0;break f}if(mg){break f}mg=0;ng=q[a+84>>2];if((ng|0)>=(og|0)){break f}og=(ng<<1)-og|0}ng=tg<<3;qg=ng+De|0;sg=q[qg+4>>2];qg=q[qg>>2];q[pg+36>>2]=mg;q[pg+32>>2]=og;q[pg+24>>2]=qg;q[pg+28>>2]=sg;Lg(pg+40|0,vg,pg+32|0,pg+24|0);mg=lg+ng|0;q[mg>>2]=q[pg+40>>2];q[mg+4>>2]=q[pg+44>>2];tg=tg+1|0;if((tg|0)>=(wg|0)){break a}ng=q[zg>>2];mg=q[ng>>2];if(q[ng+4>>2]-mg>>2>>>0>tg>>>0){continue}break}}cn();F()}T=pg+48|0;return 1}function Lg(a,De,lg,mg){var ng=0,og=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0;Bg=De+12|0;Eg=q[Bg>>2];og=q[lg+4>>2]-Eg|0;ng=q[lg>>2]-Eg|0;q[lg>>2]=ng;q[lg+4>>2]=og;Ag=og>>31;Cg=Ag+og^Ag;Ag=ng>>31;Bg=q[Bg>>2];Fg=(Cg+(Ag+ng^Ag)|0)<=(Bg|0);if(!Fg){a:{b:{if((ng|0)>=0){Ag=1;Dg=1;if((og|0)>-1){break a}Cg=1;Ag=-1;Dg=-1;if((ng|0)>=1){break b}break a}Cg=-1;Ag=-1;Dg=-1;if((og|0)<1){break a}}Ag=(og|0)<1?-1:1;Dg=Cg}Cg=og<<1;og=w(Ag,Bg);Cg=Cg-og|0;q[lg+4>>2]=Cg;Bg=w(Bg,Dg);ng=(ng<<1)-Bg|0;q[lg>>2]=ng;c:{if((w(Ag,Dg)|0)>=0){Cg=0-Cg|0;q[lg>>2]=Cg;ng=0-ng|0;break c}q[lg>>2]=Cg}og=(ng+og|0)/2|0;q[lg+4>>2]=og;ng=(Bg+Cg|0)/2|0;q[lg>>2]=ng}d:{e:{f:{g:{h:{i:{j:{k:{if(!ng){if(og){break j}Bg=1;Dg=0;break k}Bg=1;Ag=(ng|0)<0&(og|0)<1;if((ng|0)>=1){Dg=(og|0)>-1?2:1;if(Ag){break k}break i}Dg=(og|0)>0?3:0;if(!Ag){break i}}Ag=og;Cg=ng;break d}if((og|0)>=1){break f}break h}Ag=Dg+ -1|0;if(Ag>>>0>2){Ag=og;og=ng;Dg=0;break e}switch(Ag-1|0){case 0:break g;case 1:break f;default:break h}}Ag=0-ng|0;Dg=1;break e}Ag=0-og|0;og=0-ng|0;Dg=2;break e}Ag=ng;og=0-og|0;Dg=3}ng=lg;Cg=og;q[ng>>2]=og;q[ng+4>>2]=Ag;Bg=0}og=q[mg>>2]+Cg|0;q[a>>2]=og;ng=q[mg+4>>2]+Ag|0;q[a+4>>2]=ng;Ag=q[De+12>>2];l:{if((Ag|0)<(og|0)){og=og-q[De+4>>2]|0;break l}if((og|0)>=(0-Ag|0)){break l}og=q[De+4>>2]+og|0}q[a>>2]=og;m:{if((Ag|0)<(ng|0)){ng=ng-q[De+4>>2]|0;break m}if((ng|0)>=(0-Ag|0)){break m}ng=q[De+4>>2]+ng|0}q[a+4>>2]=ng;n:{if(Bg){lg=ng;ng=og;break n}De=(4-Dg&3)+ -1|0;o:{if(De>>>0>2){lg=ng;ng=og;break o}p:{switch(De-1|0){default:lg=0-og|0;break o;case 0:lg=0-ng|0;ng=0-og|0;break o;case 1:break p}}ng=0-ng|0;lg=og}q[a>>2]=ng;q[a+4>>2]=lg}if(!Fg){q:{r:{if((ng|0)>=0){De=1;Bg=1;if((lg|0)>-1){break q}og=1;De=-1;Bg=-1;if((ng|0)>=1){break r}break q}og=-1;De=-1;Bg=-1;if((lg|0)<1){break q}}De=(lg|0)<1?-1:1;Bg=og}mg=lg<<1;lg=w(De,Ag);og=mg-lg|0;q[a+4>>2]=og;mg=w(Ag,Bg);ng=(ng<<1)-mg|0;q[a>>2]=ng;s:{if((w(De,Bg)|0)>=0){og=0-og|0;q[a>>2]=og;ng=0-ng|0;break s}q[a>>2]=og}lg=(lg+ng|0)/2|0;q[a+4>>2]=lg;ng=(mg+og|0)/2|0;q[a>>2]=ng}q[a>>2]=ng+Eg;q[a+4>>2]=lg+Eg}function Mg(a,De){a=a|0;De=De|0;var lg=0,mg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0;lg=q[De+12>>2];Jg=lg;Gg=lg;lg=q[De+20>>2];Hg=lg;Ig=q[De+16>>2];mg=Ig+4|0;if(mg>>>0<4){lg=lg+1|0}Kg=q[De+8>>2];Lg=mg;mg=lg;a:{if((Gg|0)<(lg|0)?1:(Gg|0)<=(lg|0)?Kg>>>0>=Lg>>>0?0:1:0){break a}lg=Ig+q[De>>2]|0;Gg=r[lg|0]|r[lg+1|0]<<8|(r[lg+2|0]<<16|r[lg+3|0]<<24);q[De+16>>2]=Lg;q[De+20>>2]=mg;lg=Hg;mg=Ig+8|0;if(mg>>>0<8){lg=lg+1|0}Hg=mg;mg=lg;if((Jg|0)<(lg|0)?1:(Jg|0)<=(lg|0)?Kg>>>0>=Hg>>>0?0:1:0){break a}q[De+16>>2]=Hg;q[De+20>>2]=mg;if(!(Gg&1)){break a}De=z(Gg)^31;if(De+ -1>>>0>28){break a}Mg=1;q[a+8>>2]=De+1;lg=-2<<De;De=-2-lg|0;q[a+16>>2]=De;q[a+12>>2]=lg^-1;q[a+20>>2]=(De|0)/2}return Mg|0}function Ng(a){a=a|0;q[a>>2]=9748;return a|0}function Og(a){a=a|0;q[a>>2]=9748;An(a)}function Pg(a,De,Ng,Og,Pg,Qg){a=a|0;De=De|0;Ng=Ng|0;Og=Og|0;Pg=Pg|0;Qg=Qg|0;var Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0;Rg=T-48|0;T=Rg;Xg=a+8|0;Og=q[Xg>>2];if(Og+ -2>>>0<=28){q[a+72>>2]=Og;Og=-1<<Og;Pg=-2-Og|0;q[a+80>>2]=Pg;q[a+76>>2]=Og^-1;q[a+84>>2]=(Pg|0)/2}q[a+48>>2]=Qg;Og=q[a+36>>2];Pg=q[Og>>2];Qg=Og+4|0;Sg=q[Qg>>2];q[Rg+16>>2]=0;q[Rg+8>>2]=0;q[Rg+12>>2]=0;a:{Pg=Sg-Pg|0;if((Pg|0)<1){break a}Og=q[Og>>2];if((Og|0)!=q[Qg>>2]){Yg=Pg>>2;Zg=a+40|0;_g=a+88|0;$g=a+36|0;while(1){kg(Zg,q[(Vg<<2)+Og>>2],Rg+8|0);Pg=q[Rg+12>>2];Sg=Pg>>31;Qg=q[Rg+8>>2];Ug=Qg>>31;Wg=q[Rg+16>>2];Tg=Wg>>31;Og=0;Tg=Tg^Tg+Wg;Sg=Tg+((Sg^Pg+Sg)+(Ug^Qg+Ug)|0)|0;if(Sg>>>0<Tg>>>0){Og=1}b:{if(!(Og|Sg)){q[Rg+8>>2]=q[a+84>>2];break b}Ug=q[a+84>>2];Tg=Ug;Tg=Tg>>31;Pg=ao($n(Ug,Tg,Pg,Pg>>31),V,Sg,Og);q[Rg+12>>2]=Pg;Og=ao($n(Ug,Tg,Qg,Qg>>31),V,Sg,Og);q[Rg+8>>2]=Og;Qg=Og;Og=Og>>31;Og=(Ug-(Qg+Og^Og)|0)+((Pg|0)<0?Pg:0-Pg|0)|0;if((Wg|0)>=0){q[Rg+16>>2]=Og;break b}q[Rg+16>>2]=0-Og}Og=dh(_g);Qg=q[Rg+8>>2];c:{if(!Og){Pg=q[Rg+12>>2];break c}q[Rg+16>>2]=0-q[Rg+16>>2];Pg=0-q[Rg+12>>2]|0;q[Rg+12>>2]=Pg;Qg=0-Qg|0;q[Rg+8>>2]=Qg}d:{if((Qg|0)>=0){Qg=q[a+84>>2];Og=Qg+q[Rg+16>>2]|0;Qg=Pg+Qg|0;break d}e:{if((Pg|0)<=-1){Og=q[Rg+16>>2];Qg=Og>>31;Qg=Qg^Og+Qg;break e}Og=q[Rg+16>>2];Qg=Og>>31;Qg=q[a+80>>2]-(Qg^Og+Qg)|0}if((Og|0)<=-1){Og=Pg>>31;Og=Og+Pg^Og;break d}Og=Pg>>31;Og=q[a+80>>2]-(Og+Pg^Og)|0}Pg=q[a+80>>2];f:{if(!(Og|Qg)){Og=Pg;Qg=Og;break f}if(!((Og|0)!=(Pg|0)|Qg)){Qg=Og;break f}if(!((Pg|0)!=(Qg|0)|Og)){Og=Qg;break f}g:{if(Qg){break g}Sg=q[a+84>>2];if((Sg|0)>=(Og|0)){break g}Og=(Sg<<1)-Og|0;Qg=0;break f}h:{if((Pg|0)!=(Qg|0)){break h}Sg=q[a+84>>2];if((Sg|0)<=(Og|0)){break h}Og=(Sg<<1)-Og|0;break f}i:{if((Og|0)!=(Pg|0)){break i}Pg=q[a+84>>2];if((Pg|0)<=(Qg|0)){break i}Qg=(Pg<<1)-Qg|0;break f}if(Og){break f}Og=0;Pg=q[a+84>>2];if((Pg|0)>=(Qg|0)){break f}Qg=(Pg<<1)-Qg|0}Pg=Vg<<3;Sg=Pg+De|0;Ug=q[Sg+4>>2];Sg=q[Sg>>2];q[Rg+36>>2]=Og;q[Rg+32>>2]=Qg;q[Rg+24>>2]=Sg;q[Rg+28>>2]=Ug;Lg(Rg+40|0,Xg,Rg+32|0,Rg+24|0);Og=Ng+Pg|0;q[Og>>2]=q[Rg+40>>2];q[Og+4>>2]=q[Rg+44>>2];Vg=Vg+1|0;if((Vg|0)>=(Yg|0)){break a}Pg=q[$g>>2];Og=q[Pg>>2];if(q[Pg+4>>2]-Og>>2>>>0>Vg>>>0){continue}break}}cn();F()}T=Rg+48|0;return 1}function Qg(a,De,Ng,Og,Pg,Qg){a=a|0;De=De|0;Ng=Ng|0;Og=Og|0;Pg=Pg|0;Qg=Qg|0;var ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0;Qg=T-32|0;T=Qg;bh=(Pg&1073741823)!=(Pg|0)?-1:Pg<<2;bh=Dn(Mm(bh),0,bh);ah=q[De>>2];ch=q[De+4>>2];eh=q[bh+4>>2];q[Qg+16>>2]=q[bh>>2];q[Qg+20>>2]=eh;q[Qg+8>>2]=ah;q[Qg+12>>2]=ch;ch=a+8|0;Lg(Qg+24|0,ch,Qg+16|0,Qg+8|0);q[Ng>>2]=q[Qg+24>>2];q[Ng+4>>2]=q[Qg+28>>2];if((Pg|0)<(Og|0)){eh=0-Pg<<2;a=Pg;while(1){ah=a<<2;dh=ah+De|0;gh=q[dh>>2];dh=q[dh+4>>2];ah=Ng+ah|0;fh=ah+eh|0;hh=q[fh+4>>2];q[Qg+16>>2]=q[fh>>2];q[Qg+20>>2]=hh;q[Qg+8>>2]=gh;q[Qg+12>>2]=dh;Lg(Qg+24|0,ch,Qg+16|0,Qg+8|0);q[ah>>2]=q[Qg+24>>2];q[ah+4>>2]=q[Qg+28>>2];a=a+Pg|0;if((a|0)<(Og|0)){continue}break}}An(bh);T=Qg+32|0;return 1}function Rg(a,De,Ng){a=a|0;De=De|0;Ng=Ng|0;if(Se(a,De,Ng)){a=q[q[q[q[De+4>>2]+8>>2]+(Ng<<2)>>2]+28>>2]==9}else{a=0}return a|0}function Sg(a,De,Ng){a=a|0;De=De|0;Ng=Ng|0;var Og=0;a:{if(r[q[a+4>>2]+36|0]<=1){Og=0;if(!n[q[q[a>>2]+52>>2]](a)){break a}}Og=Xe(a,De,Ng)}return Og|0}function Tg(a,De,Ng){a=a|0;De=De|0;Ng=Ng|0;De=T-32|0;T=De;a:{if(r[q[a+4>>2]+36|0]>=2){Ng=0;if(!n[q[q[a>>2]+52>>2]](a)){break a}}q[De+24>>2]=0;q[De+28>>2]=0;q[De+16>>2]=0;q[De+20>>2]=0;q[De+12>>2]=-1;q[De+8>>2]=1232;gd(De+8|0,q[a+24>>2],q[a+28>>2],o[q[a+8>>2]+24|0],u[a+32>>2]);Ng=ld(De+8|0,q[a+16>>2]);q[De+8>>2]=1232;a=q[De+16>>2];if(!a){break a}q[De+20>>2]=a;An(a)}T=De+32|0;return Ng|0}function Ug(a,De){a=a|0;De=De|0;return n[q[q[a>>2]+56>>2]](a,De)|0}function Vg(a){a=a|0;var De=0,Ng=0,Pg=0,Qg=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0;De=o[q[a+8>>2]+24|0];Pg=De<<2;De=Mm((De|0)!=(De&1073741823)?-1:Pg);Ng=q[a+28>>2];q[a+28>>2]=De;if(Ng){An(Ng)}lh=a+4|0;Ng=q[q[lh>>2]+32>>2];De=q[Ng+8>>2];mh=q[Ng+12>>2];jh=De;ih=q[Ng+20>>2];kh=q[Ng+16>>2];De=Pg;Qg=kh+De|0;if(Qg>>>0<De>>>0){ih=ih+1|0}a:{if((mh|0)<(ih|0)?1:(mh|0)<=(ih|0)?jh>>>0>=Qg>>>0?0:1:0){break a}Cn(q[a+28>>2],kh+q[Ng>>2]|0,Pg);Pg=Ng;jh=Ng;Qg=q[Ng+20>>2];Ng=De+q[Ng+16>>2]|0;if(Ng>>>0<De>>>0){Qg=Qg+1|0}q[jh+16>>2]=Ng;q[Pg+20>>2]=Qg;Qg=q[lh>>2];Pg=q[Qg+32>>2];De=q[Pg+8>>2];ih=q[Pg+12>>2];jh=De;kh=q[Pg+20>>2];Ng=q[Pg+16>>2];De=Ng+4|0;if(De>>>0<4){kh=kh+1|0}if((ih|0)<(kh|0)?1:(ih|0)<=(kh|0)?jh>>>0>=De>>>0?0:1:0){break a}De=Ng+q[Pg>>2]|0;q[a+32>>2]=r[De|0]|r[De+1|0]<<8|(r[De+2|0]<<16|r[De+3|0]<<24);De=Pg;jh=De;Ng=q[De+20>>2];Pg=q[De+16>>2]+4|0;if(Pg>>>0<4){Ng=Ng+1|0}q[jh+16>>2]=Pg;q[De+20>>2]=Ng;De=q[Qg+32>>2];ih=q[De+16>>2];Qg=q[De+12>>2];Pg=q[De+20>>2];Ng=Pg;if((Qg|0)<(Ng|0)?1:(Qg|0)<=(Ng|0)?t[De+8>>2]>ih>>>0?0:1:0){break a}Qg=r[ih+q[De>>2]|0];Ng=ih+1|0;if(Ng>>>0<1){Pg=Pg+1|0}q[De+16>>2]=Ng;q[De+20>>2]=Pg;if(Qg>>>0>31){break a}q[a+24>>2]=Qg;nh=1}return nh|0}function Wg(a,oh){a=a|0;oh=oh|0;var ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=x(0);sh=T-16|0;T=sh;qh=q[a+24>>2];rh=o[q[a+8>>2]+24|0];th=rh<<2;uh=Mm((rh&1073741823)!=(rh|0)?-1:th);vh=hk(sh+8|0);a:{if(!ik(vh,u[a+32>>2],-1<<qh^-1)){break a}ph=q[a+16>>2];qh=0;b:{if(!q[ph+80>>2]){break b}qh=q[q[ph>>2]>>2]+q[ph+48>>2]|0}if(!oh){ph=1;break a}zh=(rh|0)<1;Ah=a+28|0;Bh=a+8|0;a=0;while(1){if(!zh){Ch=q[Ah>>2];Dh=u[vh>>2];ph=0;while(1){wh=ph<<2;u[wh+uh>>2]=x(Dh*x(q[(a<<2)+qh>>2]))+u[Ch+wh>>2];a=a+1|0;ph=ph+1|0;if((rh|0)!=(ph|0)){continue}break}}Cn(q[q[q[Bh>>2]- -64>>2]>>2]+xh|0,uh,th);xh=th+xh|0;ph=1;yh=yh+1|0;if((yh|0)!=(oh|0)){continue}break}}An(uh);T=sh+16|0;return ph|0}function Xg(a){a=a|0;var oh=0,Eh=0;q[a>>2]=10764;Eh=a+28|0;oh=q[Eh>>2];q[Eh>>2]=0;if(oh){An(oh)}q[a>>2]=2220;Eh=a+20|0;oh=q[Eh>>2];q[Eh>>2]=0;if(oh){n[q[q[oh>>2]+4>>2]](oh)}q[a>>2]=1908;Eh=a+16|0;oh=q[Eh>>2];q[Eh>>2]=0;if(oh){Hb(oh)}return a|0}function Yg(a){a=a|0;var Fh=0,Gh=0;q[a>>2]=10764;Gh=a+28|0;Fh=q[Gh>>2];q[Gh>>2]=0;if(Fh){An(Fh)}q[a>>2]=2220;Gh=a+20|0;Fh=q[Gh>>2];q[Gh>>2]=0;if(Fh){n[q[q[Fh>>2]+4>>2]](Fh)}q[a>>2]=1908;Gh=a+16|0;Fh=q[Gh>>2];q[Gh>>2]=0;if(Fh){Hb(Fh)}An(a)}function Zg(a){q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0}function _g(a){var Hh=0,Ih=0;q[a+16>>2]=0;Ih=a+4|0;Hh=q[a>>2];q[Ih>>2]=Hh;q[a+12>>2]=Hh;if(Hh){q[Ih>>2]=Hh;An(Hh)}}function $g(a,Jh){var Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0;q[a+16>>2]=0;Kh=q[a>>2];q[a+4>>2]=Kh;q[a+12>>2]=Kh;Qh=q[Jh+12>>2];Kh=Qh;Lh=q[Jh+20>>2];Mh=q[Jh+16>>2];Nh=Mh+4|0;if(Nh>>>0<4){Lh=Lh+1|0}Ph=q[Jh+8>>2];Oh=Nh;Nh=Lh;a:{if((Kh|0)<(Lh|0)?1:(Kh|0)<=(Lh|0)?Ph>>>0>=Oh>>>0?0:1:0){break a}Kh=Mh+q[Jh>>2]|0;Lh=r[Kh|0]|r[Kh+1|0]<<8|(r[Kh+2|0]<<16|r[Kh+3|0]<<24);q[Jh+16>>2]=Oh;q[Jh+20>>2]=Nh;if(!Lh|Lh&3){break a}Mh=Ph;Kh=Lh;Rh=Mh-Oh>>>0>=Kh>>>0?0:1;Mh=Qh-(Nh+(Mh>>>0<Oh>>>0)|0)|0;if((Mh|0)<0?1:(Mh|0)<=0?Rh:0){break a}Mh=Lh>>>2;if(Mh){Fa(a,Mh);Ph=q[Jh+8>>2];Qh=q[Jh+12>>2];Oh=q[Jh+16>>2];Nh=q[Jh+20>>2]}Mh=Kh+Oh|0;if(Mh>>>0<Kh>>>0){Nh=Nh+1|0}if((Qh|0)<(Nh|0)?1:(Qh|0)<=(Nh|0)?Ph>>>0>=Mh>>>0?0:1:0){break a}Cn(q[a>>2],Oh+q[Jh>>2]|0,Lh);Nh=Jh;Ph=Jh;Lh=q[Jh+20>>2];Jh=Kh+q[Jh+16>>2]|0;if(Jh>>>0<Kh>>>0){Lh=Lh+1|0}q[Ph+16>>2]=Jh;q[Nh+20>>2]=Lh;q[a+16>>2]=0;q[a+12>>2]=q[a>>2];Sh=1}return Sh}function ah(a){q[a>>2]=0;q[a+4>>2]=0;o[a+5|0]=0;o[a+6|0]=0;o[a+7|0]=0;o[a+8|0]=0;o[a+9|0]=0;o[a+10|0]=0;o[a+11|0]=0;o[a+12|0]=0;return a}function bh(a,Jh){var Th=0,Uh=0,Vh=0,Wh=0,Xh=0,Yh=0,Zh=0,_h=0,$h=0,ai=0,bi=0;_h=T-16|0;T=_h;Wh=q[Jh+16>>2];Th=q[Jh+12>>2];Uh=q[Jh+20>>2];a:{if((Th|0)<(Uh|0)?1:(Th|0)<=(Uh|0)?t[Jh+8>>2]>Wh>>>0?0:1:0){break a}o[a+12|0]=r[Wh+q[Jh>>2]|0];Th=q[Jh+20>>2];Wh=Th;Xh=q[Jh+16>>2];Yh=Xh+1|0;if(Yh>>>0<1){Th=Th+1|0}Vh=Yh;q[Jh+16>>2]=Vh;q[Jh+20>>2]=Th;b:{if(s[Jh+38>>1]<=513){Zh=q[Jh+12>>2];$h=Zh;Uh=Wh;Th=Xh+5|0;if(Th>>>0<5){Uh=Uh+1|0}Yh=q[Jh+8>>2];Xh=Th;Th=Uh;if(($h|0)<(Th|0)?1:($h|0)<=(Th|0)?Yh>>>0>=Xh>>>0?0:1:0){break a}Uh=Vh+q[Jh>>2]|0;Vh=r[Uh|0]|r[Uh+1|0]<<8|(r[Uh+2|0]<<16|r[Uh+3|0]<<24);q[_h+12>>2]=Vh;q[Jh+16>>2]=Xh;q[Jh+20>>2]=Th;break b}if(!ch(1,_h+12|0,Jh)){break a}Xh=q[Jh+16>>2];Th=q[Jh+20>>2];Yh=q[Jh+8>>2];Zh=q[Jh+12>>2];Vh=q[_h+12>>2]}Uh=Vh;Wh=Zh-(Th+(Yh>>>0<Xh>>>0)|0)|0;if(((Wh|0)<0?1:(Wh|0)<=0?Yh-Xh>>>0>=Uh>>>0?0:1:0)|(Uh|0)<1){break a}Wh=Xh+q[Jh>>2]|0;q[a>>2]=Wh;Zh=Vh+ -1|0;$h=Zh+Wh|0;Yh=r[$h|0]>>>6;if((Yh|0)==3){break a}ai=a;c:{d:{switch(Yh-1|0){default:q[a+4>>2]=Zh;a=r[$h|0]&63;break c;case 0:if((Vh|0)<2){break a}q[a+4>>2]=Vh+ -2;a=(Vh+Wh|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c;case 1:break d}}if((Vh|0)<3){break a}q[a+4>>2]=Vh+ -3;a=(Vh+Wh|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0]}a=a+4096|0;q[ai+8>>2]=a;if(a>>>0>1048575){break a}a=Uh+Xh|0;if(a>>>0<Uh>>>0){Th=Th+1|0}q[Jh+16>>2]=a;q[Jh+20>>2]=Th;bi=1}T=_h+16|0;return bi}function ch(a,Jh,ci){var di=0,ei=0,fi=0,gi=0;a:{if(a>>>0>5){break a}fi=q[ci+16>>2];di=q[ci+12>>2];ei=q[ci+20>>2];if((di|0)<(ei|0)?1:(di|0)<=(ei|0)?t[ci+8>>2]>fi>>>0?0:1:0){break a}di=r[fi+q[ci>>2]|0];fi=fi+1|0;if(fi>>>0<1){ei=ei+1|0}q[ci+16>>2]=fi;q[ci+20>>2]=ei;ei=Jh;if(di&128){if(!ch(a+1|0,Jh,ci)){break a}a=q[Jh>>2]<<7;q[Jh>>2]=a;di=a|di&127}q[ei>>2]=di;gi=1}return gi}function dh(a){var Jh=0,ci=0,hi=0,ii=0,ji=0;hi=0-r[a+12|0]|0;ci=q[a+8>>2];a:{if(ci>>>0>4095){break a}Jh=q[a+4>>2];if((Jh|0)<1){break a}Jh=Jh+ -1|0;q[a+4>>2]=Jh;ci=r[Jh+q[a>>2]|0]|ci<<8;q[a+8>>2]=ci}hi=hi&255;Jh=w(hi,ci>>>8);ii=ci&255;ji=ii>>>0<hi>>>0;q[a+8>>2]=ji?Jh+ii|0:(ci-hi|0)-Jh|0;return ji}function eh(a,ki,li){var mi=0,ni=0,oi=0,pi=0,qi=0,ri=0;if(!ki){q[li>>2]=0;return}pi=0-r[a+12|0]&255;ni=q[a+8>>2];while(1){qi=mi<<1;a:{if(ni>>>0>4095){break a}mi=q[a+4>>2];if((mi|0)<1){break a}mi=mi+ -1|0;q[a+4>>2]=mi;ni=r[mi+q[a>>2]|0]|ni<<8;q[a+8>>2]=ni}oi=ni&255;mi=oi>>>0<pi>>>0;ri=oi;oi=w(ni>>>8,pi);ni=mi?ri+oi|0:(ni-pi|0)-oi|0;q[a+8>>2]=ni;mi=mi|qi;ki=ki+ -1|0;if(ki){continue}break}q[li>>2]=mi}function fh(a,ki){var li=0,si=0,ti=0;ti=T-32|0;T=ti;a:{if(ki>>>0<=1){if(ki-1){li=Mm(44);ki=li;q[ki>>2]=0;q[ki+4>>2]=0;q[ki+40>>2]=0;q[ki+32>>2]=0;q[ki+36>>2]=0;q[ki+24>>2]=0;q[ki+28>>2]=0;q[ki+16>>2]=0;q[ki+20>>2]=0;q[ki+8>>2]=0;q[ki+12>>2]=0;Ij(ki);q[ki>>2]=13760;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=ki;break a}li=Mm(44);ki=li;q[ki>>2]=0;q[ki+4>>2]=0;q[ki+40>>2]=0;q[ki+32>>2]=0;q[ki+36>>2]=0;q[ki+24>>2]=0;q[ki+28>>2]=0;q[ki+16>>2]=0;q[ki+20>>2]=0;q[ki+8>>2]=0;q[ki+12>>2]=0;Ij(ki);q[ki>>2]=13668;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=ki;break a}ki=Mm(32);q[ti>>2]=ki;q[ti+4>>2]=28;q[ti+8>>2]=-2147483616;o[ki+28|0]=0;li=r[10912]|r[10913]<<8|(r[10914]<<16|r[10915]<<24);o[ki+24|0]=li;o[ki+25|0]=li>>>8;o[ki+26|0]=li>>>16;o[ki+27|0]=li>>>24;li=r[10908]|r[10909]<<8|(r[10910]<<16|r[10911]<<24);si=r[10904]|r[10905]<<8|(r[10906]<<16|r[10907]<<24);o[ki+16|0]=si;o[ki+17|0]=si>>>8;o[ki+18|0]=si>>>16;o[ki+19|0]=si>>>24;o[ki+20|0]=li;o[ki+21|0]=li>>>8;o[ki+22|0]=li>>>16;o[ki+23|0]=li>>>24;li=r[10900]|r[10901]<<8|(r[10902]<<16|r[10903]<<24);si=r[10896]|r[10897]<<8|(r[10898]<<16|r[10899]<<24);o[ki+8|0]=si;o[ki+9|0]=si>>>8;o[ki+10|0]=si>>>16;o[ki+11|0]=si>>>24;o[ki+12|0]=li;o[ki+13|0]=li>>>8;o[ki+14|0]=li>>>16;o[ki+15|0]=li>>>24;li=r[10892]|r[10893]<<8|(r[10894]<<16|r[10895]<<24);si=r[10888]|r[10889]<<8|(r[10890]<<16|r[10891]<<24);o[ki|0]=si;o[ki+1|0]=si>>>8;o[ki+2|0]=si>>>16;o[ki+3|0]=si>>>24;o[ki+4|0]=li;o[ki+5|0]=li>>>8;o[ki+6|0]=li>>>16;o[ki+7|0]=li>>>24;q[ti+16>>2]=-1;ki=Rm(ti+16|4,ti);q[a>>2]=q[ti+16>>2];Rm(a+4|0,ki);q[a+16>>2]=0;if(o[ki+11|0]<=-1){An(q[ki>>2])}if(o[ti+11|0]>-1){break a}An(q[ti>>2])}T=ti+32|0}function gh(a,ki){var ui=0,vi=0,wi=0;wi=T-32|0;T=wi;a:{if(ki>>>0<=1){if(ki-1){ki=Mm(48);Rh(ki);q[ki>>2]=13064;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=ki;break a}ki=Mm(52);Rh(ki);q[ki+48>>2]=0;q[ki>>2]=11164;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=ki;break a}ki=Mm(32);q[wi>>2]=ki;q[wi+4>>2]=28;q[wi+8>>2]=-2147483616;o[ki+28|0]=0;ui=r[10912]|r[10913]<<8|(r[10914]<<16|r[10915]<<24);o[ki+24|0]=ui;o[ki+25|0]=ui>>>8;o[ki+26|0]=ui>>>16;o[ki+27|0]=ui>>>24;ui=r[10908]|r[10909]<<8|(r[10910]<<16|r[10911]<<24);vi=r[10904]|r[10905]<<8|(r[10906]<<16|r[10907]<<24);o[ki+16|0]=vi;o[ki+17|0]=vi>>>8;o[ki+18|0]=vi>>>16;o[ki+19|0]=vi>>>24;o[ki+20|0]=ui;o[ki+21|0]=ui>>>8;o[ki+22|0]=ui>>>16;o[ki+23|0]=ui>>>24;ui=r[10900]|r[10901]<<8|(r[10902]<<16|r[10903]<<24);vi=r[10896]|r[10897]<<8|(r[10898]<<16|r[10899]<<24);o[ki+8|0]=vi;o[ki+9|0]=vi>>>8;o[ki+10|0]=vi>>>16;o[ki+11|0]=vi>>>24;o[ki+12|0]=ui;o[ki+13|0]=ui>>>8;o[ki+14|0]=ui>>>16;o[ki+15|0]=ui>>>24;ui=r[10892]|r[10893]<<8|(r[10894]<<16|r[10895]<<24);vi=r[10888]|r[10889]<<8|(r[10890]<<16|r[10891]<<24);o[ki|0]=vi;o[ki+1|0]=vi>>>8;o[ki+2|0]=vi>>>16;o[ki+3|0]=vi>>>24;o[ki+4|0]=ui;o[ki+5|0]=ui>>>8;o[ki+6|0]=ui>>>16;o[ki+7|0]=ui>>>24;q[wi+16>>2]=-1;ki=Rm(wi+16|4,wi);q[a>>2]=q[wi+16>>2];Rm(a+4|0,ki);q[a+16>>2]=0;if(o[ki+11|0]<=-1){An(q[ki>>2])}if(o[wi+11|0]>-1){break a}An(q[wi>>2])}T=wi+32|0}function hh(a,ki){var xi=0,yi=0,zi=0;xi=T-80|0;T=xi;yi=q[ki+36>>2];q[xi+72>>2]=q[ki+32>>2];q[xi+76>>2]=yi;zi=q[ki+28>>2];yi=xi- -64|0;q[yi>>2]=q[ki+24>>2];q[yi+4>>2]=zi;yi=q[ki+20>>2];q[xi+56>>2]=q[ki+16>>2];q[xi+60>>2]=yi;yi=q[ki+12>>2];q[xi+48>>2]=q[ki+8>>2];q[xi+52>>2]=yi;yi=q[ki+4>>2];q[xi+40>>2]=q[ki>>2];q[xi+44>>2]=yi;Jj(xi+8|0,xi+40|0,xi+24|0);ki=q[xi+8>>2];a:{if(ki){q[a>>2]=ki;Rm(a+4|0,xi+8|4);if(o[xi+23|0]>=0){break a}An(q[xi+12>>2]);break a}if(o[xi+23|0]<=-1){An(q[xi+12>>2])}ki=r[xi+31|0];q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=ki;q[a+8>>2]=0;q[a+12>>2]=0}T=xi+80|0}function ih(a,ki,Ai,Bi){var Ci=0,Di=0,Ei=0;Ci=T-80|0;T=Ci;Di=q[Ai+36>>2];q[Ci+72>>2]=q[Ai+32>>2];q[Ci+76>>2]=Di;Ei=q[Ai+28>>2];Di=Ci- -64|0;q[Di>>2]=q[Ai+24>>2];q[Di+4>>2]=Ei;Di=q[Ai+20>>2];q[Ci+56>>2]=q[Ai+16>>2];q[Ci+60>>2]=Di;Di=q[Ai+12>>2];q[Ci+48>>2]=q[Ai+8>>2];q[Ci+52>>2]=Di;Di=q[Ai+4>>2];q[Ci+40>>2]=q[Ai>>2];q[Ci+44>>2]=Di;Jj(a,Ci+40|0,Ci+24|0);a:{if(q[a>>2]){break a}Ei=a+4|0;if(o[a+15|0]<=-1){An(q[Ei>>2])}if(r[Ci+31|0]){q[Ci+8>>2]=0;q[Ci>>2]=0;q[Ci+4>>2]=0;ki=Mm(32);q[Ci>>2]=ki;q[Ci+4>>2]=27;q[Ci+8>>2]=-2147483616;o[ki+27|0]=0;Ai=r[10940]|r[10941]<<8|(r[10942]<<16|r[10943]<<24);o[ki+23|0]=Ai;o[ki+24|0]=Ai>>>8;o[ki+25|0]=Ai>>>16;o[ki+26|0]=Ai>>>24;Ai=r[10937]|r[10938]<<8|(r[10939]<<16|r[10940]<<24);Bi=r[10933]|r[10934]<<8|(r[10935]<<16|r[10936]<<24);o[ki+16|0]=Bi;o[ki+17|0]=Bi>>>8;o[ki+18|0]=Bi>>>16;o[ki+19|0]=Bi>>>24;o[ki+20|0]=Ai;o[ki+21|0]=Ai>>>8;o[ki+22|0]=Ai>>>16;o[ki+23|0]=Ai>>>24;Ai=r[10929]|r[10930]<<8|(r[10931]<<16|r[10932]<<24);Bi=r[10925]|r[10926]<<8|(r[10927]<<16|r[10928]<<24);o[ki+8|0]=Bi;o[ki+9|0]=Bi>>>8;o[ki+10|0]=Bi>>>16;o[ki+11|0]=Bi>>>24;o[ki+12|0]=Ai;o[ki+13|0]=Ai>>>8;o[ki+14|0]=Ai>>>16;o[ki+15|0]=Ai>>>24;Ai=r[10921]|r[10922]<<8|(r[10923]<<16|r[10924]<<24);Bi=r[10917]|r[10918]<<8|(r[10919]<<16|r[10920]<<24);o[ki|0]=Bi;o[ki+1|0]=Bi>>>8;o[ki+2|0]=Bi>>>16;o[ki+3|0]=Bi>>>24;o[ki+4|0]=Ai;o[ki+5|0]=Ai>>>8;o[ki+6|0]=Ai>>>16;o[ki+7|0]=Ai>>>24;q[a>>2]=-1;Rm(Ei,Ci);if(o[Ci+11|0]>-1){break a}An(q[Ci>>2]);break a}fh(Ci,o[Ci+32|0]);Di=q[Ci>>2];b:{if(Di){q[a>>2]=Di;Rm(Ei,Ci|4);break b}Di=q[Ci+16>>2];q[Ci+16>>2]=0;Mj(a,Di,ki,Ai,Bi);if(!q[a>>2]){if(o[Ei+11|0]<=-1){An(q[Ei>>2])}q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0}if(!Di){break b}n[q[q[Di>>2]+4>>2]](Di)}a=q[Ci+16>>2];q[Ci+16>>2]=0;if(a){n[q[q[a>>2]+4>>2]](a)}if(o[Ci+15|0]>-1){break a}An(q[Ci+4>>2])}T=Ci+80|0}function jh(a,ki,Ai,Bi){var Fi=0,Gi=0,Hi=0;Fi=T-80|0;T=Fi;Gi=q[Ai+36>>2];q[Fi+72>>2]=q[Ai+32>>2];q[Fi+76>>2]=Gi;Hi=q[Ai+28>>2];Gi=Fi- -64|0;q[Gi>>2]=q[Ai+24>>2];q[Gi+4>>2]=Hi;Gi=q[Ai+20>>2];q[Fi+56>>2]=q[Ai+16>>2];q[Fi+60>>2]=Gi;Gi=q[Ai+12>>2];q[Fi+48>>2]=q[Ai+8>>2];q[Fi+52>>2]=Gi;Gi=q[Ai+4>>2];q[Fi+40>>2]=q[Ai>>2];q[Fi+44>>2]=Gi;Jj(a,Fi+40|0,Fi+24|0);a:{if(q[a>>2]){break a}Gi=a+4|0;if(o[a+15|0]<=-1){An(q[Gi>>2])}if(r[Fi+31|0]!=1){q[Fi+8>>2]=0;q[Fi>>2]=0;q[Fi+4>>2]=0;ki=Mm(32);q[Fi>>2]=ki;q[Fi+4>>2]=20;q[Fi+8>>2]=-2147483616;o[ki+20|0]=0;Ai=r[10961]|r[10962]<<8|(r[10963]<<16|r[10964]<<24);o[ki+16|0]=Ai;o[ki+17|0]=Ai>>>8;o[ki+18|0]=Ai>>>16;o[ki+19|0]=Ai>>>24;Ai=r[10957]|r[10958]<<8|(r[10959]<<16|r[10960]<<24);Bi=r[10953]|r[10954]<<8|(r[10955]<<16|r[10956]<<24);o[ki+8|0]=Bi;o[ki+9|0]=Bi>>>8;o[ki+10|0]=Bi>>>16;o[ki+11|0]=Bi>>>24;o[ki+12|0]=Ai;o[ki+13|0]=Ai>>>8;o[ki+14|0]=Ai>>>16;o[ki+15|0]=Ai>>>24;Ai=r[10949]|r[10950]<<8|(r[10951]<<16|r[10952]<<24);Bi=r[10945]|r[10946]<<8|(r[10947]<<16|r[10948]<<24);o[ki|0]=Bi;o[ki+1|0]=Bi>>>8;o[ki+2|0]=Bi>>>16;o[ki+3|0]=Bi>>>24;o[ki+4|0]=Ai;o[ki+5|0]=Ai>>>8;o[ki+6|0]=Ai>>>16;o[ki+7|0]=Ai>>>24;q[a>>2]=-1;Rm(Gi,Fi);if(o[Fi+11|0]>-1){break a}An(q[Fi>>2]);break a}gh(Fi,r[Fi+32|0]);Hi=q[Fi>>2];b:{if(Hi){q[a>>2]=Hi;Rm(Gi,Fi|4);break b}Hi=q[Fi+16>>2];q[Fi+16>>2]=0;q[Hi+44>>2]=Bi;Mj(a,Hi,ki,Ai,Bi);if(!q[a>>2]){if(o[Gi+11|0]<=-1){An(q[Gi>>2])}q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0}if(!Hi){break b}n[q[q[Hi>>2]+4>>2]](Hi)}a=q[Fi+16>>2];q[Fi+16>>2]=0;if(a){n[q[q[a>>2]+4>>2]](a)}if(o[Fi+15|0]>-1){break a}An(q[Fi+4>>2])}T=Fi+80|0}function kh(a,ki){var Ai=0,Bi=0,Ii=0;Ii=T-16|0;T=Ii;q[Ii+12>>2]=ki;ki=Mm(32);q[Ii>>2]=ki;q[Ii+4>>2]=24;q[Ii+8>>2]=-2147483616;o[ki+24|0]=0;Ai=r[10986]|r[10987]<<8|(r[10988]<<16|r[10989]<<24);Bi=r[10982]|r[10983]<<8|(r[10984]<<16|r[10985]<<24);o[ki+16|0]=Bi;o[ki+17|0]=Bi>>>8;o[ki+18|0]=Bi>>>16;o[ki+19|0]=Bi>>>24;o[ki+20|0]=Ai;o[ki+21|0]=Ai>>>8;o[ki+22|0]=Ai>>>16;o[ki+23|0]=Ai>>>24;Ai=r[10978]|r[10979]<<8|(r[10980]<<16|r[10981]<<24);Bi=r[10974]|r[10975]<<8|(r[10976]<<16|r[10977]<<24);o[ki+8|0]=Bi;o[ki+9|0]=Bi>>>8;o[ki+10|0]=Bi>>>16;o[ki+11|0]=Bi>>>24;o[ki+12|0]=Ai;o[ki+13|0]=Ai>>>8;o[ki+14|0]=Ai>>>16;o[ki+15|0]=Ai>>>24;Ai=r[10970]|r[10971]<<8|(r[10972]<<16|r[10973]<<24);Bi=r[10966]|r[10967]<<8|(r[10968]<<16|r[10969]<<24);o[ki|0]=Bi;o[ki+1|0]=Bi>>>8;o[ki+2|0]=Bi>>>16;o[ki+3|0]=Bi>>>24;o[ki+4|0]=Ai;o[ki+5|0]=Ai>>>8;o[ki+6|0]=Ai>>>16;o[ki+7|0]=Ai>>>24;ek(lh(a,Ii+12|0),Ii);if(o[Ii+11|0]<=-1){An(q[Ii>>2])}T=Ii+16|0}function lh(a,ki){var Ji=0,Ki=0,Li=0,Mi=0,Ni=0,Oi=0,Pi=0,Qi=0;Li=T-32|0;T=Li;Mi=a+16|0;Ki=q[Mi>>2];a:{b:{if(!Ki){break b}Oi=q[ki>>2];Ji=Mi;while(1){Ni=q[Ki+16>>2]<(Oi|0);Ji=Ni?Ji:Ki;Ki=q[(Ni<<2)+Ki>>2];if(Ki){continue}break}if((Ji|0)==(Mi|0)){break b}if((Oi|0)>=q[Ji+16>>2]){break a}}Oi=ck(Li+16|0);ki=q[ki>>2];Ni=Li+8|0;q[Ni>>2]=0;q[Ni+4>>2]=0;q[Li>>2]=ki;q[Li+4>>2]=Ni;Ji=q[Oi>>2];Pi=Oi+4|0;if((Ji|0)!=(Pi|0)){Qi=Li|4;while(1){ki=Ji;Ki=Ji+16|0;mh(Qi,Ni,Ki,Ki);Ki=q[Ji+4>>2];c:{if(!Ki){Ji=q[ki+8>>2];if((ki|0)==q[Ji>>2]){break c}ki=ki+8|0;while(1){Ki=q[ki>>2];ki=Ki+8|0;Ji=q[Ki+8>>2];if((Ki|0)!=q[Ji>>2]){continue}break}break c}while(1){Ji=Ki;Ki=q[Ji>>2];if(Ki){continue}break}}if((Ji|0)!=(Pi|0)){continue}break}}ki=a+16|0;Ki=q[ki>>2];d:{if(Ki){Mi=q[Li>>2];while(1){Ji=q[Ki+16>>2];e:{if((Mi|0)<(Ji|0)){Ji=q[Ki>>2];if(Ji){break e}ki=Ki;break d}if((Ji|0)>=(Mi|0)){break d}ki=Ki+4|0;Ji=q[Ki+4>>2];if(!Ji){break d}Ki=ki}ki=Ki;Ki=Ji;continue}}Ki=Mi;ki=Ki}Ji=q[ki>>2];if(!Ji){Ji=Mm(32);q[Ji+16>>2]=q[Li>>2];q[Ji+20>>2]=q[Li+4>>2];Mi=Ji+24|0;Pi=q[Li+8>>2];q[Mi>>2]=Pi;Qi=q[Li+12>>2];q[Ji+28>>2]=Qi;f:{if(!Qi){q[Ji+20>>2]=Mi;break f}q[Pi+8>>2]=Mi;q[Li+8>>2]=0;q[Li+12>>2]=0;q[Li+4>>2]=Ni}q[Ji+8>>2]=Ki;q[Ji>>2]=0;q[Ji+4>>2]=0;q[ki>>2]=Ji;Mi=q[q[a+12>>2]>>2];Ki=Ji;g:{if(!Mi){break g}q[a+12>>2]=Mi;Ki=q[ki>>2]}nh(q[a+16>>2],Ki);a=a+20|0;q[a>>2]=q[a>>2]+1}Cc(Li|4,q[Li+8>>2]);Cc(Oi,q[Oi+4>>2])}T=Li+32|0;return Ji+20|0}function mh(a,ki,Ri,Si){var Ti=0;Ti=T-16|0;T=Ti;Ri=oh(a,ki,Ti+12|0,Ti+8|0,Ri);if(!q[Ri>>2]){ki=Mm(40);Rm(ki+16|0,Si);Rm(ki+28|0,Si+12|0);q[ki+8>>2]=q[Ti+12>>2];q[ki>>2]=0;q[ki+4>>2]=0;q[Ri>>2]=ki;Si=ki;ki=q[q[a>>2]>>2];if(ki){q[a>>2]=ki;Si=q[Ri>>2]}nh(q[a+4>>2],Si);a=a+8|0;q[a>>2]=q[a>>2]+1}T=Ti+16|0}function nh(a,ki){var Ri=0,Si=0,Ui=0;Ri=(a|0)==(ki|0);o[ki+12|0]=Ri;a:{if(Ri){break a}while(1){Si=q[ki+8>>2];if(r[Si+12|0]){break a}b:{Ri=q[Si+8>>2];Ui=q[Ri>>2];if((Ui|0)==(Si|0)){Ui=q[Ri+4>>2];if(!(!Ui|r[Ui+12|0])){break b}c:{if(q[Si>>2]==(ki|0)){ki=Si;break c}ki=q[Si+4>>2];Ui=q[ki>>2];q[Si+4>>2]=Ui;a=ki;if(Ui){q[Ui+8>>2]=Si;Ri=q[Si+8>>2]}q[a+8>>2]=Ri;a=q[Si+8>>2];q[((Si|0)==q[a>>2]?a:a+4|0)>>2]=ki;q[ki>>2]=Si;q[Si+8>>2]=ki;Ri=q[ki+8>>2]}o[ki+12|0]=1;o[Ri+12|0]=0;a=q[Ri>>2];ki=q[a+4>>2];q[Ri>>2]=ki;if(ki){q[ki+8>>2]=Ri}q[a+8>>2]=q[Ri+8>>2];ki=q[Ri+8>>2];q[(q[ki>>2]==(Ri|0)?ki:ki+4|0)>>2]=a;q[a+4>>2]=Ri;q[Ri+8>>2]=a;return}if(!(r[Ui+12|0]|!Ui)){break b}d:{if(q[Si>>2]!=(ki|0)){ki=Si;break d}Ui=q[ki+4>>2];q[Si>>2]=Ui;a=ki;if(Ui){q[Ui+8>>2]=Si;Ri=q[Si+8>>2]}q[a+8>>2]=Ri;a=q[Si+8>>2];q[((Si|0)==q[a>>2]?a:a+4|0)>>2]=ki;q[ki+4>>2]=Si;q[Si+8>>2]=ki;Ri=q[ki+8>>2]}o[ki+12|0]=1;o[Ri+12|0]=0;a=q[Ri+4>>2];ki=q[a>>2];q[Ri+4>>2]=ki;if(ki){q[ki+8>>2]=Ri}q[a+8>>2]=q[Ri+8>>2];ki=q[Ri+8>>2];q[(q[ki>>2]==(Ri|0)?ki:ki+4|0)>>2]=a;q[a>>2]=Ri;q[Ri+8>>2]=a;break a}ki=Ui+12|0;o[Si+12|0]=1;o[Ri+12|0]=(a|0)==(Ri|0);o[ki|0]=1;ki=Ri;if((ki|0)!=(a|0)){continue}break}}}function oh(a,ki,Vi,Wi,Xi){var Yi=0,Zi=0,_i=0,$i=0,aj=0,bj=0,cj=0,dj=0,ej=0,fj=0,gj=0;a:{b:{c:{d:{e:{ej=a+4|0;f:{if((ej|0)==(ki|0)){break f}Yi=ki+16|0;_i=r[ki+27|0];fj=_i<<24>>24;Zi=(fj|0)<0;$i=r[Xi+11|0];aj=$i<<24>>24;bj=(aj|0)<0;cj=Zi?q[ki+20>>2]:_i;$i=bj?q[Xi+4>>2]:$i;dj=cj>>>0<$i>>>0;g:{_i=dj?cj:$i;if(_i){bj=bj?q[Xi>>2]:Xi;Zi=Zi?q[Yi>>2]:Yi;gj=cm(bj,Zi,_i);if(gj){break g}}if($i>>>0<cj>>>0){break f}if(!_i){break d}bj=(aj|0)<0?q[Xi>>2]:Xi;Zi=(fj|0)<0?q[Yi>>2]:Yi;break e}if((gj|0)>-1){break e}}_i=q[ki>>2];h:{i:{if(q[a>>2]==(ki|0)){Yi=ki;break i}j:{if(!_i){Wi=ki;while(1){Yi=q[Wi+8>>2];$i=q[Yi>>2]==(Wi|0);Wi=Yi;if($i){continue}break}break j}Wi=_i;while(1){Yi=Wi;Wi=q[Yi+4>>2];if(Wi){continue}break}}Zi=r[Xi+11|0];Wi=Zi<<24>>24<0;aj=r[Yi+27|0];$i=aj<<24>>24<0;k:{Zi=Wi?q[Xi+4>>2]:Zi;aj=$i?q[Yi+20>>2]:aj;bj=Zi>>>0<aj>>>0?Zi:aj;if(bj){cj=Yi+16|0;Wi=cm($i?q[cj>>2]:cj,Wi?q[Xi>>2]:Xi,bj);if(Wi){break k}}if(aj>>>0<Zi>>>0){break i}break h}if((Wi|0)>-1){break h}}if(!_i){q[Vi>>2]=ki;return ki}q[Vi>>2]=Yi;return Yi+4|0}return ph(a,Vi,Xi)}Yi=cm(Zi,bj,_i);if(Yi){break c}}if(dj){break b}break a}if((Yi|0)>-1){break a}}bj=ki+4|0;_i=q[bj>>2];l:{if(_i){Yi=_i;while(1){Wi=Yi;Yi=q[Yi>>2];if(Yi){continue}break}break l}Wi=q[ki+8>>2];if(q[Wi>>2]==(ki|0)){break l}Yi=ki+8|0;while(1){Zi=q[Yi>>2];Yi=Zi+8|0;Wi=q[Zi+8>>2];if((Zi|0)!=q[Wi>>2]){continue}break}}m:{n:{if((Wi|0)==(ej|0)){break n}Zi=r[Wi+27|0];Yi=Zi<<24>>24<0;o:{Zi=Yi?q[Wi+20>>2]:Zi;cj=Zi>>>0<$i>>>0?Zi:$i;if(cj){dj=(aj|0)<0?q[Xi>>2]:Xi;aj=Wi+16|0;Yi=cm(dj,Yi?q[aj>>2]:aj,cj);if(Yi){break o}}if($i>>>0<Zi>>>0){break n}break m}if((Yi|0)>-1){break m}}if(!_i){q[Vi>>2]=ki;return bj}q[Vi>>2]=Wi;return Wi}return ph(a,Vi,Xi)}q[Vi>>2]=ki;q[Wi>>2]=ki;return Wi}function ph(a,ki,Vi){var Wi=0,Xi=0,hj=0,ij=0,jj=0,kj=0,lj=0,mj=0,nj=0;a:{Wi=a+4|0;a=q[Wi>>2];if(a){hj=r[Vi+11|0];ij=hj<<24>>24<0;hj=ij?q[Vi+4>>2]:hj;lj=ij?q[Vi>>2]:Vi;while(1){Vi=a+16|0;Xi=r[a+27|0];ij=Xi<<24>>24<0;jj=ij?q[a+20>>2]:Xi;mj=jj>>>0<hj>>>0;b:{c:{d:{e:{f:{g:{h:{Xi=mj?jj:hj;if(Xi){kj=ij?q[Vi>>2]:Vi;nj=cm(lj,kj,Xi);if(nj){break h}}if(hj>>>0<jj>>>0){break g}if(!Xi){break e}kj=ij?q[Vi>>2]:Vi;break f}if((nj|0)>-1){break f}}Vi=q[a>>2];if(Vi){break b}q[ki>>2]=a;return a}Vi=cm(kj,lj,Xi);if(Vi){break d}}if(mj){break c}break a}if((Vi|0)>-1){break a}}Wi=a+4|0;Vi=q[a+4>>2];if(!Vi){break a}a=Wi}Wi=a;a=Vi;continue}}q[ki>>2]=Wi;return Wi}q[ki>>2]=a;return Wi}function qh(a,ki,Vi,oj){var pj=0,qj=0,rj=0,sj=0,tj=0;if(!a){return 1}pj=q[Vi+16>>2];sj=q[Vi+12>>2];rj=q[Vi+20>>2];qj=rj;a:{if((sj|0)<(qj|0)?1:(sj|0)<=(qj|0)?t[Vi+8>>2]>pj>>>0?0:1:0){break a}qj=r[pj+q[Vi>>2]|0];pj=pj+1|0;if(pj>>>0<1){rj=rj+1|0}q[Vi+16>>2]=pj;q[Vi+20>>2]=rj;if(qj>>>0>1){break a}if(qj-1){return rh(a,ki,Vi,oj)}tj=sh(a,Vi,oj)}return tj}function rh(a,ki,Vi,oj){var uj=0,vj=0,wj=0,xj=0,yj=0,zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Hj=0,Ij=0,Jj=0;uj=T+ -64|0;T=uj;q[uj+56>>2]=0;q[uj+48>>2]=0;q[uj+52>>2]=0;q[uj+40>>2]=0;q[uj+44>>2]=0;q[uj+32>>2]=0;q[uj+36>>2]=0;q[uj+24>>2]=0;q[uj+28>>2]=0;q[uj+16>>2]=0;q[uj+20>>2]=0;q[uj+8>>2]=0;q[uj+12>>2]=0;a:{if(!th(uj+8|0,Vi)){break a}if(!uh(uj+8|0,Vi)|(q[uj+20>>2]?0:a)){break a}_j(Vi,0,0);if(a){xj=q[uj+56>>2];Fj=q[uj+36>>2];Gj=q[uj+48>>2];Hj=q[uj+24>>2];while(1){b:{if(xj>>>0>16383){break b}vj=q[uj+52>>2];while(1){if((vj|0)<1){break b}vj=vj+ -1|0;q[uj+52>>2]=vj;xj=r[vj+Gj|0]|xj<<8;q[uj+56>>2]=xj;if(xj>>>0<16384){continue}break}}wj=xj&4095;Dj=q[(wj<<2)+Hj>>2];yj=(Dj<<3)+Fj|0;xj=(w(q[yj>>2],xj>>>12)+wj|0)-q[yj+4>>2]|0;q[uj+56>>2]=xj;if((ki|0)>=1){if(!r[Vi+36|0]){wj=0;break a}yj=ki+zj|0;while(1){c:{if((Dj|0)<1){Bj=0;break c}wj=q[Vi+32>>2];Ij=q[Vi+28>>2];Jj=q[Vi+24>>2];vj=0;Bj=0;while(1){Aj=(wj>>>3)+Jj|0;d:{if(Aj>>>0>=Ij>>>0){Cj=0;break d}Cj=r[Aj|0];Aj=wj+1|0;q[Vi+32>>2]=Aj;Cj=Cj>>>(wj&7)&1;wj=Aj}Bj=Cj<<vj|Bj;vj=vj+1|0;if((Dj|0)!=(vj|0)){continue}break}}q[(zj<<2)+oj>>2]=Bj;zj=zj+1|0;if((yj|0)!=(zj|0)){continue}break}zj=yj}Ej=ki+Ej|0;if(Ej>>>0<a>>>0){continue}break}}ak(Vi);wj=1}a=q[uj+36>>2];if(a){q[uj+40>>2]=a;An(a)}a=q[uj+24>>2];if(a){q[uj+28>>2]=a;An(a)}a=q[uj+8>>2];if(a){q[uj+12>>2]=a;An(a)}T=uj- -64|0;return wj}function sh(a,ki,Vi){var oj=0,Kj=0,Lj=0,Mj=0;a:{b:{Kj=q[ki+16>>2];Lj=q[ki+12>>2];oj=q[ki+20>>2];c:{if((Lj|0)<(oj|0)?1:(Lj|0)<=(oj|0)?t[ki+8>>2]>Kj>>>0?0:1:0){break c}Lj=r[Kj+q[ki>>2]|0];Kj=Kj+1|0;if(Kj>>>0<1){oj=oj+1|0}q[ki+16>>2]=Kj;q[ki+20>>2]=oj;oj=Lj+ -1|0;if(oj>>>0>17){break c}d:{e:{switch(oj-1|0){case 7:return wh(a,ki,Vi);case 8:return xh(a,ki,Vi);case 9:return yh(a,ki,Vi);case 10:return zh(a,ki,Vi);case 12:case 13:case 14:case 15:break a;case 16:break d;case 11:break e;default:break b}}return Ah(a,ki,Vi)}Mj=Bh(a,ki,Vi)}return Mj}return vh(a,ki,Vi)}return Bh(a,ki,Vi)}function th(a,ki){var Vi=0,Nj=0,Oj=0,Pj=0,Qj=0,Rj=0,Sj=0,Tj=0,Uj=0,Vj=0,Wj=0,Xj=0,Yj=0;a:{Vi=s[ki+38>>1];if(!Vi){break a}Sj=a+12|0;b:{if(Vi>>>0<=511){Nj=q[ki+12>>2];Vi=q[ki+20>>2];Oj=q[ki+16>>2];Qj=Oj+4|0;if(Qj>>>0<4){Vi=Vi+1|0}if((Nj|0)<(Vi|0)?1:(Nj|0)<=(Vi|0)?t[ki+8>>2]>=Qj>>>0?0:1:0){break a}Vi=Oj+q[ki>>2]|0;Oj=r[Vi|0]|r[Vi+1|0]<<8|(r[Vi+2|0]<<16|r[Vi+3|0]<<24);q[Sj>>2]=Oj;Nj=q[ki+20>>2];Qj=q[ki+16>>2]+4|0;if(Qj>>>0<4){Nj=Nj+1|0}Vi=ki;q[Vi+16>>2]=Qj;q[Vi+20>>2]=Nj;break b}if(!Ch(1,Sj,ki)){break a}Oj=q[Sj>>2]}Nj=q[a>>2];Vi=q[a+4>>2]-Nj>>2;c:{if(Oj>>>0>Vi>>>0){Fa(a,Oj-Vi|0);Oj=q[a+12>>2];break c}if(Oj>>>0>=Vi>>>0){break c}q[a+4>>2]=Nj+(Oj<<2)}if(!Oj){Yj=1;break a}Wj=q[ki+8>>2];Qj=q[ki+12>>2];while(1){Pj=q[ki+16>>2];Vi=q[ki+20>>2];if((Qj|0)<(Vi|0)?1:(Qj|0)<=(Vi|0)?Wj>>>0>Pj>>>0?0:1:0){break a}Xj=q[ki>>2];Tj=r[Xj+Pj|0];Pj=Pj+1|0;if(Pj>>>0<1){Vi=Vi+1|0}q[ki+16>>2]=Pj;q[ki+20>>2]=Vi;Uj=Tj>>>2;d:{e:{f:{Vj=Tj&3;if(Vj>>>0>3){Nj=0;break f}Nj=0;g:{switch(Vj-1|0){case 0:case 1:break f;case 2:break g;default:break e}}Vi=Rj+Uj|0;if(Vi>>>0>=Oj>>>0){return 0}Dn(q[a>>2]+(Rj<<2)|0,0,(Tj&252)+4|0);Rj=Vi;break d}while(1){if((Qj|0)<(Vi|0)?1:(Qj|0)<=(Vi|0)?Wj>>>0>Pj>>>0?0:1:0){return 0}Tj=r[Pj+Xj|0];Pj=Pj+1|0;if(Pj>>>0<1){Vi=Vi+1|0}q[ki+16>>2]=Pj;q[ki+20>>2]=Vi;Uj=Tj<<(Nj<<3|6)|Uj;Nj=Nj+1|0;if((Vj|0)!=(Nj|0)){continue}break}}q[q[a>>2]+(Rj<<2)>>2]=Uj}Rj=Rj+1|0;Oj=q[Sj>>2];if(Rj>>>0<Oj>>>0){continue}break}Rj=a+16|0;Sj=q[a>>2];ki=q[a+16>>2];Vi=q[a+20>>2]-ki|0;Nj=Vi>>2;h:{if(Nj>>>0<=4095){Fa(Rj,4096-Nj|0);break h}if((Vi|0)==16384){break h}q[a+20>>2]=ki+16384}i:{ki=a+28|0;Vi=q[ki>>2];Nj=q[a+32>>2]-Vi>>3;if(Oj>>>0>Nj>>>0){Dh(ki,Oj-Nj|0);Vi=q[ki>>2];break i}if(Oj>>>0<Nj>>>0){q[a+32>>2]=(Oj<<3)+Vi}if(Oj){break i}return 0}ki=0;Nj=0;while(1){a=Sj+(ki<<2)|0;Qj=q[a>>2];Pj=(ki<<3)+Vi|0;q[Pj+4>>2]=Nj;q[Pj>>2]=Qj;a=q[a>>2]+Nj|0;if(a>>>0>4096){break a}if(Nj>>>0<a>>>0){Qj=q[Rj>>2];while(1){q[Qj+(Nj<<2)>>2]=ki;Nj=Nj+1|0;if((a|0)!=(Nj|0)){continue}break}}Nj=a;ki=ki+1|0;if((Oj|0)!=(ki|0)){continue}break}return(a|0)==4096}return Yj}function uh(a,ki){var Zj=0,_j=0,$j=0,ak=0,bk=0,ck=0,dk=0,ek=0,fk=0;bk=T-16|0;T=bk;a:{b:{if(s[ki+38>>1]<=511){_j=q[ki+12>>2];ek=_j;Zj=q[ki+20>>2];$j=q[ki+16>>2];ak=$j+8|0;if(ak>>>0<8){Zj=Zj+1|0}ck=q[ki+8>>2];if((_j|0)<(Zj|0)?1:(_j|0)<=(Zj|0)?ck>>>0>=ak>>>0?0:1:0){break a}_j=$j+q[ki>>2]|0;$j=r[_j+4|0]|r[_j+5|0]<<8|(r[_j+6|0]<<16|r[_j+7|0]<<24);_j=r[_j|0]|r[_j+1|0]<<8|(r[_j+2|0]<<16|r[_j+3|0]<<24);q[bk+8>>2]=_j;q[bk+12>>2]=$j;q[ki+16>>2]=ak;q[ki+20>>2]=Zj;break b}if(!Eh(1,bk+8|0,ki)){break a}ak=q[ki+16>>2];Zj=q[ki+20>>2];ck=q[ki+8>>2];ek=q[ki+12>>2];_j=q[bk+8>>2];$j=q[bk+12>>2]}dk=ck-ak|0;ck=ek-(Zj+(ck>>>0<ak>>>0)|0)|0;if((ck|0)==($j|0)&_j>>>0>dk>>>0|$j>>>0>ck>>>0){break a}$j=Zj+$j|0;Zj=ak;dk=Zj+_j|0;if(dk>>>0<Zj>>>0){$j=$j+1|0}q[ki+16>>2]=dk;q[ki+20>>2]=$j;Zj=_j;if((Zj|0)<1){break a}ak=ak+q[ki>>2]|0;q[a+40>>2]=ak;ki=a;c:{d:{e:{f:{g:{_j=Zj+ -1|0;$j=ak+_j|0;switch((r[$j|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=_j;a=r[$j|0]&63;break c}if((Zj|0)<2){break a}q[a+44>>2]=Zj+ -2;a=(Zj+ak|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((Zj|0)<3){break a}q[a+44>>2]=Zj+ -3;a=(Zj+ak|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=Zj+ -4;a=(Zj+ak|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+16384|0;q[ki+48>>2]=a;fk=a>>>0<4194304}T=bk+16|0;return fk}function vh(a,ki,gk){var hk=0,ik=0,jk=0,kk=0,lk=0,mk=0,nk=0,ok=0;hk=T+ -64|0;T=hk;q[hk+56>>2]=0;q[hk+48>>2]=0;q[hk+52>>2]=0;q[hk+40>>2]=0;q[hk+44>>2]=0;q[hk+32>>2]=0;q[hk+36>>2]=0;q[hk+24>>2]=0;q[hk+28>>2]=0;q[hk+16>>2]=0;q[hk+20>>2]=0;q[hk+8>>2]=0;q[hk+12>>2]=0;a:{if(!th(hk+8|0,ki)|(q[hk+20>>2]?0:a)){break a}ik=uh(hk+8|0,ki);if(!a|!ik){break a}ki=q[hk+56>>2];mk=q[hk+36>>2];nk=q[hk+48>>2];ok=q[hk+24>>2];while(1){b:{if(ki>>>0>16383){break b}ik=q[hk+52>>2];while(1){if((ik|0)<1){break b}ik=ik+ -1|0;q[hk+52>>2]=ik;ki=r[ik+nk|0]|ki<<8;q[hk+56>>2]=ki;if(ki>>>0<16384){continue}break}}ik=ki&4095;kk=q[(ik<<2)+ok>>2];lk=(kk<<3)+mk|0;ki=(w(q[lk>>2],ki>>>12)+ik|0)-q[lk+4>>2]|0;q[hk+56>>2]=ki;q[(jk<<2)+gk>>2]=kk;ik=1;jk=jk+1|0;if((jk|0)!=(a|0)){continue}break}}a=q[hk+36>>2];if(a){q[hk+40>>2]=a;An(a)}a=q[hk+24>>2];if(a){q[hk+28>>2]=a;An(a)}a=q[hk+8>>2];if(a){q[hk+12>>2]=a;An(a)}T=hk- -64|0;return ik}function wh(a,ki,gk){var pk=0,qk=0,rk=0,sk=0,tk=0,uk=0,vk=0,wk=0;pk=T+ -64|0;T=pk;q[pk+56>>2]=0;q[pk+48>>2]=0;q[pk+52>>2]=0;q[pk+40>>2]=0;q[pk+44>>2]=0;q[pk+32>>2]=0;q[pk+36>>2]=0;q[pk+24>>2]=0;q[pk+28>>2]=0;q[pk+16>>2]=0;q[pk+20>>2]=0;q[pk+8>>2]=0;q[pk+12>>2]=0;a:{if(!Fh(pk+8|0,ki)|(q[pk+20>>2]?0:a)){break a}qk=Gh(pk+8|0,ki);if(!a|!qk){break a}ki=q[pk+56>>2];uk=q[pk+36>>2];vk=q[pk+48>>2];wk=q[pk+24>>2];while(1){b:{if(ki>>>0>32767){break b}qk=q[pk+52>>2];while(1){if((qk|0)<1){break b}qk=qk+ -1|0;q[pk+52>>2]=qk;ki=r[qk+vk|0]|ki<<8;q[pk+56>>2]=ki;if(ki>>>0<32768){continue}break}}qk=ki&8191;sk=q[(qk<<2)+wk>>2];tk=(sk<<3)+uk|0;ki=(w(q[tk>>2],ki>>>13)+qk|0)-q[tk+4>>2]|0;q[pk+56>>2]=ki;q[(rk<<2)+gk>>2]=sk;qk=1;rk=rk+1|0;if((rk|0)!=(a|0)){continue}break}}a=q[pk+36>>2];if(a){q[pk+40>>2]=a;An(a)}a=q[pk+24>>2];if(a){q[pk+28>>2]=a;An(a)}a=q[pk+8>>2];if(a){q[pk+12>>2]=a;An(a)}T=pk- -64|0;return qk}function xh(a,ki,gk){var xk=0,yk=0,zk=0,Ak=0,Bk=0,Ck=0,Dk=0,Ek=0;xk=T+ -64|0;T=xk;q[xk+56>>2]=0;q[xk+48>>2]=0;q[xk+52>>2]=0;q[xk+40>>2]=0;q[xk+44>>2]=0;q[xk+32>>2]=0;q[xk+36>>2]=0;q[xk+24>>2]=0;q[xk+28>>2]=0;q[xk+16>>2]=0;q[xk+20>>2]=0;q[xk+8>>2]=0;q[xk+12>>2]=0;a:{if(!Hh(xk+8|0,ki)|(q[xk+20>>2]?0:a)){break a}yk=Ih(xk+8|0,ki);if(!a|!yk){break a}ki=q[xk+56>>2];Ck=q[xk+36>>2];Dk=q[xk+48>>2];Ek=q[xk+24>>2];while(1){b:{if(ki>>>0>131071){break b}yk=q[xk+52>>2];while(1){if((yk|0)<1){break b}yk=yk+ -1|0;q[xk+52>>2]=yk;ki=r[yk+Dk|0]|ki<<8;q[xk+56>>2]=ki;if(ki>>>0<131072){continue}break}}yk=ki&32767;Ak=q[(yk<<2)+Ek>>2];Bk=(Ak<<3)+Ck|0;ki=(w(q[Bk>>2],ki>>>15)+yk|0)-q[Bk+4>>2]|0;q[xk+56>>2]=ki;q[(zk<<2)+gk>>2]=Ak;yk=1;zk=zk+1|0;if((zk|0)!=(a|0)){continue}break}}a=q[xk+36>>2];if(a){q[xk+40>>2]=a;An(a)}a=q[xk+24>>2];if(a){q[xk+28>>2]=a;An(a)}a=q[xk+8>>2];if(a){q[xk+12>>2]=a;An(a)}T=xk- -64|0;return yk}function yh(a,ki,gk){var Fk=0,Gk=0,Hk=0,Ik=0,Jk=0,Kk=0,Lk=0,Mk=0;Fk=T+ -64|0;T=Fk;q[Fk+56>>2]=0;q[Fk+48>>2]=0;q[Fk+52>>2]=0;q[Fk+40>>2]=0;q[Fk+44>>2]=0;q[Fk+32>>2]=0;q[Fk+36>>2]=0;q[Fk+24>>2]=0;q[Fk+28>>2]=0;q[Fk+16>>2]=0;q[Fk+20>>2]=0;q[Fk+8>>2]=0;q[Fk+12>>2]=0;a:{if(!Jh(Fk+8|0,ki)|(q[Fk+20>>2]?0:a)){break a}Gk=Kh(Fk+8|0,ki);if(!a|!Gk){break a}ki=q[Fk+56>>2];Kk=q[Fk+36>>2];Lk=q[Fk+48>>2];Mk=q[Fk+24>>2];while(1){b:{if(ki>>>0>262143){break b}Gk=q[Fk+52>>2];while(1){if((Gk|0)<1){break b}Gk=Gk+ -1|0;q[Fk+52>>2]=Gk;ki=r[Gk+Lk|0]|ki<<8;q[Fk+56>>2]=ki;if(ki>>>0<262144){continue}break}}Gk=ki&65535;Ik=q[(Gk<<2)+Mk>>2];Jk=(Ik<<3)+Kk|0;ki=(w(q[Jk>>2],ki>>>16)+Gk|0)-q[Jk+4>>2]|0;q[Fk+56>>2]=ki;q[(Hk<<2)+gk>>2]=Ik;Gk=1;Hk=Hk+1|0;if((Hk|0)!=(a|0)){continue}break}}a=q[Fk+36>>2];if(a){q[Fk+40>>2]=a;An(a)}a=q[Fk+24>>2];if(a){q[Fk+28>>2]=a;An(a)}a=q[Fk+8>>2];if(a){q[Fk+12>>2]=a;An(a)}T=Fk- -64|0;return Gk}function zh(a,ki,gk){var Nk=0,Ok=0,Pk=0,Qk=0,Rk=0,Sk=0,Tk=0,Uk=0;Nk=T+ -64|0;T=Nk;q[Nk+56>>2]=0;q[Nk+48>>2]=0;q[Nk+52>>2]=0;q[Nk+40>>2]=0;q[Nk+44>>2]=0;q[Nk+32>>2]=0;q[Nk+36>>2]=0;q[Nk+24>>2]=0;q[Nk+28>>2]=0;q[Nk+16>>2]=0;q[Nk+20>>2]=0;q[Nk+8>>2]=0;q[Nk+12>>2]=0;a:{if(!Lh(Nk+8|0,ki)|(q[Nk+20>>2]?0:a)){break a}Ok=Mh(Nk+8|0,ki);if(!a|!Ok){break a}ki=q[Nk+56>>2];Sk=q[Nk+36>>2];Tk=q[Nk+48>>2];Uk=q[Nk+24>>2];while(1){b:{if(ki>>>0>1048575){break b}Ok=q[Nk+52>>2];while(1){if((Ok|0)<1){break b}Ok=Ok+ -1|0;q[Nk+52>>2]=Ok;ki=r[Ok+Tk|0]|ki<<8;q[Nk+56>>2]=ki;if(ki>>>0<1048576){continue}break}}Ok=ki&262143;Qk=q[(Ok<<2)+Uk>>2];Rk=(Qk<<3)+Sk|0;ki=(w(q[Rk>>2],ki>>>18)+Ok|0)-q[Rk+4>>2]|0;q[Nk+56>>2]=ki;q[(Pk<<2)+gk>>2]=Qk;Ok=1;Pk=Pk+1|0;if((Pk|0)!=(a|0)){continue}break}}a=q[Nk+36>>2];if(a){q[Nk+40>>2]=a;An(a)}a=q[Nk+24>>2];if(a){q[Nk+28>>2]=a;An(a)}a=q[Nk+8>>2];if(a){q[Nk+12>>2]=a;An(a)}T=Nk- -64|0;return Ok}function Ah(a,ki,gk){var Vk=0,Wk=0,Xk=0,Yk=0,Zk=0,_k=0,$k=0,al=0;Vk=T+ -64|0;T=Vk;q[Vk+56>>2]=0;q[Vk+48>>2]=0;q[Vk+52>>2]=0;q[Vk+40>>2]=0;q[Vk+44>>2]=0;q[Vk+32>>2]=0;q[Vk+36>>2]=0;q[Vk+24>>2]=0;q[Vk+28>>2]=0;q[Vk+16>>2]=0;q[Vk+20>>2]=0;q[Vk+8>>2]=0;q[Vk+12>>2]=0;a:{if(!Nh(Vk+8|0,ki)|(q[Vk+20>>2]?0:a)){break a}Wk=Oh(Vk+8|0,ki);if(!a|!Wk){break a}ki=q[Vk+56>>2];_k=q[Vk+36>>2];$k=q[Vk+48>>2];al=q[Vk+24>>2];while(1){b:{if(ki>>>0>2097151){break b}Wk=q[Vk+52>>2];while(1){if((Wk|0)<1){break b}Wk=Wk+ -1|0;q[Vk+52>>2]=Wk;ki=r[Wk+$k|0]|ki<<8;q[Vk+56>>2]=ki;if(ki>>>0<2097152){continue}break}}Wk=ki&524287;Yk=q[(Wk<<2)+al>>2];Zk=(Yk<<3)+_k|0;ki=(w(q[Zk>>2],ki>>>19)+Wk|0)-q[Zk+4>>2]|0;q[Vk+56>>2]=ki;q[(Xk<<2)+gk>>2]=Yk;Wk=1;Xk=Xk+1|0;if((Xk|0)!=(a|0)){continue}break}}a=q[Vk+36>>2];if(a){q[Vk+40>>2]=a;An(a)}a=q[Vk+24>>2];if(a){q[Vk+28>>2]=a;An(a)}a=q[Vk+8>>2];if(a){q[Vk+12>>2]=a;An(a)}T=Vk- -64|0;return Wk}function Bh(a,ki,gk){var bl=0,cl=0,dl=0,el=0,fl=0,gl=0,hl=0,il=0;bl=T+ -64|0;T=bl;q[bl+56>>2]=0;q[bl+48>>2]=0;q[bl+52>>2]=0;q[bl+40>>2]=0;q[bl+44>>2]=0;q[bl+32>>2]=0;q[bl+36>>2]=0;q[bl+24>>2]=0;q[bl+28>>2]=0;q[bl+16>>2]=0;q[bl+20>>2]=0;q[bl+8>>2]=0;q[bl+12>>2]=0;a:{if(!Ph(bl+8|0,ki)|(q[bl+20>>2]?0:a)){break a}cl=Qh(bl+8|0,ki);if(!a|!cl){break a}ki=q[bl+56>>2];gl=q[bl+36>>2];hl=q[bl+48>>2];il=q[bl+24>>2];while(1){b:{if(ki>>>0>4194303){break b}cl=q[bl+52>>2];while(1){if((cl|0)<1){break b}cl=cl+ -1|0;q[bl+52>>2]=cl;ki=r[cl+hl|0]|ki<<8;q[bl+56>>2]=ki;if(ki>>>0<4194304){continue}break}}cl=ki&1048575;el=q[(cl<<2)+il>>2];fl=(el<<3)+gl|0;ki=(w(q[fl>>2],ki>>>20)+cl|0)-q[fl+4>>2]|0;q[bl+56>>2]=ki;q[(dl<<2)+gk>>2]=el;cl=1;dl=dl+1|0;if((dl|0)!=(a|0)){continue}break}}a=q[bl+36>>2];if(a){q[bl+40>>2]=a;An(a)}a=q[bl+24>>2];if(a){q[bl+28>>2]=a;An(a)}a=q[bl+8>>2];if(a){q[bl+12>>2]=a;An(a)}T=bl- -64|0;return cl}function Ch(a,ki,gk){var jl=0,kl=0,ll=0,ml=0;a:{if(a>>>0>5){break a}ll=q[gk+16>>2];jl=q[gk+12>>2];kl=q[gk+20>>2];if((jl|0)<(kl|0)?1:(jl|0)<=(kl|0)?t[gk+8>>2]>ll>>>0?0:1:0){break a}jl=r[ll+q[gk>>2]|0];ll=ll+1|0;if(ll>>>0<1){kl=kl+1|0}q[gk+16>>2]=ll;q[gk+20>>2]=kl;kl=ki;if(jl&128){if(!Ch(a+1|0,ki,gk)){break a}a=q[ki>>2]<<7;q[ki>>2]=a;jl=a|jl&127}q[kl>>2]=jl;ml=1}return ml}function Dh(a,ki){var gk=0,nl=0,ol=0,pl=0,ql=0,rl=0,sl=0;a:{b:{ol=q[a+8>>2];gk=a+4|0;nl=q[gk>>2];c:{if(ol-nl>>3>>>0>=ki>>>0){while(1){q[nl>>2]=0;q[nl+4>>2]=0;nl=q[gk>>2]+8|0;q[gk>>2]=nl;ki=ki+ -1|0;if(ki){continue}break c}}pl=q[a>>2];ql=nl-pl|0;gk=ql>>3;nl=gk+ki|0;if(nl>>>0>=536870912){break b}sl=gk<<3;ol=ol-pl|0;gk=ol>>2;ol=ol>>3>>>0<268435455?gk>>>0<nl>>>0?nl:gk:536870911;gk=0;d:{if(!ol){break d}if(ol>>>0>=536870912){break a}rl=Mm(ol<<3);gk=rl}nl=sl+gk|0;Dn(nl,0,ki<<3);ol=gk+(ol<<3)|0;while(1){nl=nl+8|0;ki=ki+ -1|0;if(ki){continue}break}if((ql|0)>=1){Cn(rl,pl,ql)}q[a>>2]=gk;q[a+8>>2]=ol;q[a+4>>2]=nl;if(!pl){break c}An(pl)}return}bn();F()}ab(10991);F()}function Eh(a,ki,tl){var ul=0,vl=0,wl=0,xl=0,yl=0,zl=0;a:{if(a>>>0>10){break a}wl=q[tl+16>>2];ul=q[tl+12>>2];vl=q[tl+20>>2];xl=vl;if((ul|0)<(xl|0)?1:(ul|0)<=(xl|0)?t[tl+8>>2]>wl>>>0?0:1:0){break a}yl=o[wl+q[tl>>2]|0];ul=wl+1|0;if(ul>>>0<1){vl=vl+1|0}q[tl+16>>2]=ul;q[tl+20>>2]=vl;xl=ki;wl=ki;ul=yl;b:{if((ul|0)<=-1){if(!Eh(a+1|0,ki,tl)){break a}a=ki;tl=q[ki+4>>2];ki=q[ki>>2];vl=tl<<7|ki>>>25;ki=ki<<7;q[a>>2]=ki;q[a+4>>2]=vl;a=ul&127|ki;break b}vl=0;a=ul&255}q[wl>>2]=a;q[xl+4>>2]=vl;zl=1}return zl}function Fh(a,ki){var tl=0,Al=0,Bl=0,Cl=0,Dl=0,El=0,Fl=0,Gl=0,Hl=0,Il=0,Jl=0,Kl=0,Ll=0;a:{tl=s[ki+38>>1];if(!tl){break a}Fl=a+12|0;b:{if(tl>>>0<=511){Al=q[ki+12>>2];tl=q[ki+20>>2];Bl=q[ki+16>>2];Dl=Bl+4|0;if(Dl>>>0<4){tl=tl+1|0}if((Al|0)<(tl|0)?1:(Al|0)<=(tl|0)?t[ki+8>>2]>=Dl>>>0?0:1:0){break a}tl=Bl+q[ki>>2]|0;Bl=r[tl|0]|r[tl+1|0]<<8|(r[tl+2|0]<<16|r[tl+3|0]<<24);q[Fl>>2]=Bl;Al=q[ki+20>>2];Dl=q[ki+16>>2]+4|0;if(Dl>>>0<4){Al=Al+1|0}tl=ki;q[tl+16>>2]=Dl;q[tl+20>>2]=Al;break b}if(!Ch(1,Fl,ki)){break a}Bl=q[Fl>>2]}Al=q[a>>2];tl=q[a+4>>2]-Al>>2;c:{if(Bl>>>0>tl>>>0){Fa(a,Bl-tl|0);Bl=q[a+12>>2];break c}if(Bl>>>0>=tl>>>0){break c}q[a+4>>2]=Al+(Bl<<2)}if(!Bl){Ll=1;break a}Jl=q[ki+8>>2];Dl=q[ki+12>>2];while(1){Cl=q[ki+16>>2];tl=q[ki+20>>2];if((Dl|0)<(tl|0)?1:(Dl|0)<=(tl|0)?Jl>>>0>Cl>>>0?0:1:0){break a}Kl=q[ki>>2];Gl=r[Kl+Cl|0];Cl=Cl+1|0;if(Cl>>>0<1){tl=tl+1|0}q[ki+16>>2]=Cl;q[ki+20>>2]=tl;Hl=Gl>>>2;d:{e:{f:{Il=Gl&3;if(Il>>>0>3){Al=0;break f}Al=0;g:{switch(Il-1|0){case 0:case 1:break f;case 2:break g;default:break e}}tl=El+Hl|0;if(tl>>>0>=Bl>>>0){return 0}Dn(q[a>>2]+(El<<2)|0,0,(Gl&252)+4|0);El=tl;break d}while(1){if((Dl|0)<(tl|0)?1:(Dl|0)<=(tl|0)?Jl>>>0>Cl>>>0?0:1:0){return 0}Gl=r[Cl+Kl|0];Cl=Cl+1|0;if(Cl>>>0<1){tl=tl+1|0}q[ki+16>>2]=Cl;q[ki+20>>2]=tl;Hl=Gl<<(Al<<3|6)|Hl;Al=Al+1|0;if((Il|0)!=(Al|0)){continue}break}}q[q[a>>2]+(El<<2)>>2]=Hl}El=El+1|0;Bl=q[Fl>>2];if(El>>>0<Bl>>>0){continue}break}El=a+16|0;Fl=q[a>>2];ki=q[a+16>>2];tl=q[a+20>>2]-ki|0;Al=tl>>2;h:{if(Al>>>0<=8191){Fa(El,8192-Al|0);break h}if((tl|0)==32768){break h}q[a+20>>2]=ki+32768}i:{ki=a+28|0;tl=q[ki>>2];Al=q[a+32>>2]-tl>>3;if(Bl>>>0>Al>>>0){Dh(ki,Bl-Al|0);tl=q[ki>>2];break i}if(Bl>>>0<Al>>>0){q[a+32>>2]=(Bl<<3)+tl}if(Bl){break i}return 0}ki=0;Al=0;while(1){a=Fl+(ki<<2)|0;Dl=q[a>>2];Cl=(ki<<3)+tl|0;q[Cl+4>>2]=Al;q[Cl>>2]=Dl;a=q[a>>2]+Al|0;if(a>>>0>8192){break a}if(Al>>>0<a>>>0){Dl=q[El>>2];while(1){q[Dl+(Al<<2)>>2]=ki;Al=Al+1|0;if((a|0)!=(Al|0)){continue}break}}Al=a;ki=ki+1|0;if((Bl|0)!=(ki|0)){continue}break}return(a|0)==8192}return Ll}function Gh(a,ki){var Ml=0,Nl=0,Ol=0,Pl=0,Ql=0,Rl=0,Sl=0,Tl=0,Ul=0;Ql=T-16|0;T=Ql;a:{b:{if(s[ki+38>>1]<=511){Nl=q[ki+12>>2];Tl=Nl;Ml=q[ki+20>>2];Ol=q[ki+16>>2];Pl=Ol+8|0;if(Pl>>>0<8){Ml=Ml+1|0}Rl=q[ki+8>>2];if((Nl|0)<(Ml|0)?1:(Nl|0)<=(Ml|0)?Rl>>>0>=Pl>>>0?0:1:0){break a}Nl=Ol+q[ki>>2]|0;Ol=r[Nl+4|0]|r[Nl+5|0]<<8|(r[Nl+6|0]<<16|r[Nl+7|0]<<24);Nl=r[Nl|0]|r[Nl+1|0]<<8|(r[Nl+2|0]<<16|r[Nl+3|0]<<24);q[Ql+8>>2]=Nl;q[Ql+12>>2]=Ol;q[ki+16>>2]=Pl;q[ki+20>>2]=Ml;break b}if(!Eh(1,Ql+8|0,ki)){break a}Pl=q[ki+16>>2];Ml=q[ki+20>>2];Rl=q[ki+8>>2];Tl=q[ki+12>>2];Nl=q[Ql+8>>2];Ol=q[Ql+12>>2]}Sl=Rl-Pl|0;Rl=Tl-(Ml+(Rl>>>0<Pl>>>0)|0)|0;if((Rl|0)==(Ol|0)&Nl>>>0>Sl>>>0|Ol>>>0>Rl>>>0){break a}Ol=Ml+Ol|0;Ml=Pl;Sl=Ml+Nl|0;if(Sl>>>0<Ml>>>0){Ol=Ol+1|0}q[ki+16>>2]=Sl;q[ki+20>>2]=Ol;Ml=Nl;if((Ml|0)<1){break a}Pl=Pl+q[ki>>2]|0;q[a+40>>2]=Pl;ki=a;c:{d:{e:{f:{g:{Nl=Ml+ -1|0;Ol=Pl+Nl|0;switch((r[Ol|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=Nl;a=r[Ol|0]&63;break c}if((Ml|0)<2){break a}q[a+44>>2]=Ml+ -2;a=(Ml+Pl|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((Ml|0)<3){break a}q[a+44>>2]=Ml+ -3;a=(Ml+Pl|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=Ml+ -4;a=(Ml+Pl|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+32768|0;q[ki+48>>2]=a;Ul=a>>>0<8388608}T=Ql+16|0;return Ul}function Hh(a,ki){var Vl=0,Wl=0,Xl=0,Yl=0,Zl=0,_l=0,$l=0,am=0,bm=0,cm=0,dm=0,em=0,fm=0;a:{Vl=s[ki+38>>1];if(!Vl){break a}$l=a+12|0;b:{if(Vl>>>0<=511){Wl=q[ki+12>>2];Vl=q[ki+20>>2];Xl=q[ki+16>>2];Zl=Xl+4|0;if(Zl>>>0<4){Vl=Vl+1|0}if((Wl|0)<(Vl|0)?1:(Wl|0)<=(Vl|0)?t[ki+8>>2]>=Zl>>>0?0:1:0){break a}Vl=Xl+q[ki>>2]|0;Xl=r[Vl|0]|r[Vl+1|0]<<8|(r[Vl+2|0]<<16|r[Vl+3|0]<<24);q[$l>>2]=Xl;Wl=q[ki+20>>2];Zl=q[ki+16>>2]+4|0;if(Zl>>>0<4){Wl=Wl+1|0}Vl=ki;q[Vl+16>>2]=Zl;q[Vl+20>>2]=Wl;break b}if(!Ch(1,$l,ki)){break a}Xl=q[$l>>2]}Wl=q[a>>2];Vl=q[a+4>>2]-Wl>>2;c:{if(Xl>>>0>Vl>>>0){Fa(a,Xl-Vl|0);Xl=q[a+12>>2];break c}if(Xl>>>0>=Vl>>>0){break c}q[a+4>>2]=Wl+(Xl<<2)}if(!Xl){fm=1;break a}dm=q[ki+8>>2];Zl=q[ki+12>>2];while(1){Yl=q[ki+16>>2];Vl=q[ki+20>>2];if((Zl|0)<(Vl|0)?1:(Zl|0)<=(Vl|0)?dm>>>0>Yl>>>0?0:1:0){break a}em=q[ki>>2];am=r[em+Yl|0];Yl=Yl+1|0;if(Yl>>>0<1){Vl=Vl+1|0}q[ki+16>>2]=Yl;q[ki+20>>2]=Vl;bm=am>>>2;d:{e:{f:{cm=am&3;if(cm>>>0>3){Wl=0;break f}Wl=0;g:{switch(cm-1|0){case 0:case 1:break f;case 2:break g;default:break e}}Vl=_l+bm|0;if(Vl>>>0>=Xl>>>0){return 0}Dn(q[a>>2]+(_l<<2)|0,0,(am&252)+4|0);_l=Vl;break d}while(1){if((Zl|0)<(Vl|0)?1:(Zl|0)<=(Vl|0)?dm>>>0>Yl>>>0?0:1:0){return 0}am=r[Yl+em|0];Yl=Yl+1|0;if(Yl>>>0<1){Vl=Vl+1|0}q[ki+16>>2]=Yl;q[ki+20>>2]=Vl;bm=am<<(Wl<<3|6)|bm;Wl=Wl+1|0;if((cm|0)!=(Wl|0)){continue}break}}q[q[a>>2]+(_l<<2)>>2]=bm}_l=_l+1|0;Xl=q[$l>>2];if(_l>>>0<Xl>>>0){continue}break}_l=a+16|0;$l=q[a>>2];ki=q[a+16>>2];Vl=q[a+20>>2]-ki|0;Wl=Vl>>2;h:{if(Wl>>>0<=32767){Fa(_l,32768-Wl|0);break h}if((Vl|0)==131072){break h}q[a+20>>2]=ki+131072}i:{ki=a+28|0;Vl=q[ki>>2];Wl=q[a+32>>2]-Vl>>3;if(Xl>>>0>Wl>>>0){Dh(ki,Xl-Wl|0);Vl=q[ki>>2];break i}if(Xl>>>0<Wl>>>0){q[a+32>>2]=(Xl<<3)+Vl}if(Xl){break i}return 0}ki=0;Wl=0;while(1){a=$l+(ki<<2)|0;Zl=q[a>>2];Yl=(ki<<3)+Vl|0;q[Yl+4>>2]=Wl;q[Yl>>2]=Zl;a=q[a>>2]+Wl|0;if(a>>>0>32768){break a}if(Wl>>>0<a>>>0){Zl=q[_l>>2];while(1){q[Zl+(Wl<<2)>>2]=ki;Wl=Wl+1|0;if((a|0)!=(Wl|0)){continue}break}}Wl=a;ki=ki+1|0;if((Xl|0)!=(ki|0)){continue}break}return(a|0)==32768}return fm}function Ih(a,ki){var gm=0,hm=0,im=0,jm=0,km=0,lm=0,mm=0,nm=0,om=0;km=T-16|0;T=km;a:{b:{if(s[ki+38>>1]<=511){hm=q[ki+12>>2];nm=hm;gm=q[ki+20>>2];im=q[ki+16>>2];jm=im+8|0;if(jm>>>0<8){gm=gm+1|0}lm=q[ki+8>>2];if((hm|0)<(gm|0)?1:(hm|0)<=(gm|0)?lm>>>0>=jm>>>0?0:1:0){break a}hm=im+q[ki>>2]|0;im=r[hm+4|0]|r[hm+5|0]<<8|(r[hm+6|0]<<16|r[hm+7|0]<<24);hm=r[hm|0]|r[hm+1|0]<<8|(r[hm+2|0]<<16|r[hm+3|0]<<24);q[km+8>>2]=hm;q[km+12>>2]=im;q[ki+16>>2]=jm;q[ki+20>>2]=gm;break b}if(!Eh(1,km+8|0,ki)){break a}jm=q[ki+16>>2];gm=q[ki+20>>2];lm=q[ki+8>>2];nm=q[ki+12>>2];hm=q[km+8>>2];im=q[km+12>>2]}mm=lm-jm|0;lm=nm-(gm+(lm>>>0<jm>>>0)|0)|0;if((lm|0)==(im|0)&hm>>>0>mm>>>0|im>>>0>lm>>>0){break a}im=gm+im|0;gm=jm;mm=gm+hm|0;if(mm>>>0<gm>>>0){im=im+1|0}q[ki+16>>2]=mm;q[ki+20>>2]=im;gm=hm;if((gm|0)<1){break a}jm=jm+q[ki>>2]|0;q[a+40>>2]=jm;ki=a;c:{d:{e:{f:{g:{hm=gm+ -1|0;im=jm+hm|0;switch((r[im|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=hm;a=r[im|0]&63;break c}if((gm|0)<2){break a}q[a+44>>2]=gm+ -2;a=(gm+jm|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((gm|0)<3){break a}q[a+44>>2]=gm+ -3;a=(gm+jm|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=gm+ -4;a=(gm+jm|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+131072|0;q[ki+48>>2]=a;om=a>>>0<33554432}T=km+16|0;return om}function Jh(a,ki){var pm=0,qm=0,rm=0,sm=0,tm=0,um=0,vm=0,wm=0,xm=0,ym=0,zm=0,Am=0,Bm=0;a:{pm=s[ki+38>>1];if(!pm){break a}vm=a+12|0;b:{if(pm>>>0<=511){qm=q[ki+12>>2];pm=q[ki+20>>2];rm=q[ki+16>>2];tm=rm+4|0;if(tm>>>0<4){pm=pm+1|0}if((qm|0)<(pm|0)?1:(qm|0)<=(pm|0)?t[ki+8>>2]>=tm>>>0?0:1:0){break a}pm=rm+q[ki>>2]|0;rm=r[pm|0]|r[pm+1|0]<<8|(r[pm+2|0]<<16|r[pm+3|0]<<24);q[vm>>2]=rm;qm=q[ki+20>>2];tm=q[ki+16>>2]+4|0;if(tm>>>0<4){qm=qm+1|0}pm=ki;q[pm+16>>2]=tm;q[pm+20>>2]=qm;break b}if(!Ch(1,vm,ki)){break a}rm=q[vm>>2]}qm=q[a>>2];pm=q[a+4>>2]-qm>>2;c:{if(rm>>>0>pm>>>0){Fa(a,rm-pm|0);rm=q[a+12>>2];break c}if(rm>>>0>=pm>>>0){break c}q[a+4>>2]=qm+(rm<<2)}if(!rm){Bm=1;break a}zm=q[ki+8>>2];tm=q[ki+12>>2];while(1){sm=q[ki+16>>2];pm=q[ki+20>>2];if((tm|0)<(pm|0)?1:(tm|0)<=(pm|0)?zm>>>0>sm>>>0?0:1:0){break a}Am=q[ki>>2];wm=r[Am+sm|0];sm=sm+1|0;if(sm>>>0<1){pm=pm+1|0}q[ki+16>>2]=sm;q[ki+20>>2]=pm;xm=wm>>>2;d:{e:{f:{ym=wm&3;if(ym>>>0>3){qm=0;break f}qm=0;g:{switch(ym-1|0){case 0:case 1:break f;case 2:break g;default:break e}}pm=um+xm|0;if(pm>>>0>=rm>>>0){return 0}Dn(q[a>>2]+(um<<2)|0,0,(wm&252)+4|0);um=pm;break d}while(1){if((tm|0)<(pm|0)?1:(tm|0)<=(pm|0)?zm>>>0>sm>>>0?0:1:0){return 0}wm=r[sm+Am|0];sm=sm+1|0;if(sm>>>0<1){pm=pm+1|0}q[ki+16>>2]=sm;q[ki+20>>2]=pm;xm=wm<<(qm<<3|6)|xm;qm=qm+1|0;if((ym|0)!=(qm|0)){continue}break}}q[q[a>>2]+(um<<2)>>2]=xm}um=um+1|0;rm=q[vm>>2];if(um>>>0<rm>>>0){continue}break}um=a+16|0;vm=q[a>>2];ki=q[a+16>>2];pm=q[a+20>>2]-ki|0;qm=pm>>2;h:{if(qm>>>0<=65535){Fa(um,65536-qm|0);break h}if((pm|0)==262144){break h}q[a+20>>2]=ki+262144}i:{ki=a+28|0;pm=q[ki>>2];qm=q[a+32>>2]-pm>>3;if(rm>>>0>qm>>>0){Dh(ki,rm-qm|0);pm=q[ki>>2];break i}if(rm>>>0<qm>>>0){q[a+32>>2]=(rm<<3)+pm}if(rm){break i}return 0}ki=0;qm=0;while(1){a=vm+(ki<<2)|0;tm=q[a>>2];sm=(ki<<3)+pm|0;q[sm+4>>2]=qm;q[sm>>2]=tm;a=q[a>>2]+qm|0;if(a>>>0>65536){break a}if(qm>>>0<a>>>0){tm=q[um>>2];while(1){q[tm+(qm<<2)>>2]=ki;qm=qm+1|0;if((a|0)!=(qm|0)){continue}break}}qm=a;ki=ki+1|0;if((rm|0)!=(ki|0)){continue}break}return(a|0)==65536}return Bm}function Kh(a,ki){var Cm=0,Dm=0,Em=0,Fm=0,Gm=0,Hm=0,Im=0,Jm=0,Km=0;Gm=T-16|0;T=Gm;a:{b:{if(s[ki+38>>1]<=511){Dm=q[ki+12>>2];Jm=Dm;Cm=q[ki+20>>2];Em=q[ki+16>>2];Fm=Em+8|0;if(Fm>>>0<8){Cm=Cm+1|0}Hm=q[ki+8>>2];if((Dm|0)<(Cm|0)?1:(Dm|0)<=(Cm|0)?Hm>>>0>=Fm>>>0?0:1:0){break a}Dm=Em+q[ki>>2]|0;Em=r[Dm+4|0]|r[Dm+5|0]<<8|(r[Dm+6|0]<<16|r[Dm+7|0]<<24);Dm=r[Dm|0]|r[Dm+1|0]<<8|(r[Dm+2|0]<<16|r[Dm+3|0]<<24);q[Gm+8>>2]=Dm;q[Gm+12>>2]=Em;q[ki+16>>2]=Fm;q[ki+20>>2]=Cm;break b}if(!Eh(1,Gm+8|0,ki)){break a}Fm=q[ki+16>>2];Cm=q[ki+20>>2];Hm=q[ki+8>>2];Jm=q[ki+12>>2];Dm=q[Gm+8>>2];Em=q[Gm+12>>2]}Im=Hm-Fm|0;Hm=Jm-(Cm+(Hm>>>0<Fm>>>0)|0)|0;if((Hm|0)==(Em|0)&Dm>>>0>Im>>>0|Em>>>0>Hm>>>0){break a}Em=Cm+Em|0;Cm=Fm;Im=Cm+Dm|0;if(Im>>>0<Cm>>>0){Em=Em+1|0}q[ki+16>>2]=Im;q[ki+20>>2]=Em;Cm=Dm;if((Cm|0)<1){break a}Fm=Fm+q[ki>>2]|0;q[a+40>>2]=Fm;ki=a;c:{d:{e:{f:{g:{Dm=Cm+ -1|0;Em=Fm+Dm|0;switch((r[Em|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=Dm;a=r[Em|0]&63;break c}if((Cm|0)<2){break a}q[a+44>>2]=Cm+ -2;a=(Cm+Fm|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((Cm|0)<3){break a}q[a+44>>2]=Cm+ -3;a=(Cm+Fm|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=Cm+ -4;a=(Cm+Fm|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+262144|0;q[ki+48>>2]=a;Km=a>>>0<67108864}T=Gm+16|0;return Km}function Lh(a,ki){var Lm=0,Mm=0,Nm=0,Om=0,Pm=0,Qm=0,Rm=0,Sm=0,Tm=0,Um=0,Vm=0,Wm=0,Xm=0;a:{Lm=s[ki+38>>1];if(!Lm){break a}Rm=a+12|0;b:{if(Lm>>>0<=511){Mm=q[ki+12>>2];Lm=q[ki+20>>2];Nm=q[ki+16>>2];Pm=Nm+4|0;if(Pm>>>0<4){Lm=Lm+1|0}if((Mm|0)<(Lm|0)?1:(Mm|0)<=(Lm|0)?t[ki+8>>2]>=Pm>>>0?0:1:0){break a}Lm=Nm+q[ki>>2]|0;Nm=r[Lm|0]|r[Lm+1|0]<<8|(r[Lm+2|0]<<16|r[Lm+3|0]<<24);q[Rm>>2]=Nm;Mm=q[ki+20>>2];Pm=q[ki+16>>2]+4|0;if(Pm>>>0<4){Mm=Mm+1|0}Lm=ki;q[Lm+16>>2]=Pm;q[Lm+20>>2]=Mm;break b}if(!Ch(1,Rm,ki)){break a}Nm=q[Rm>>2]}Mm=q[a>>2];Lm=q[a+4>>2]-Mm>>2;c:{if(Nm>>>0>Lm>>>0){Fa(a,Nm-Lm|0);Nm=q[a+12>>2];break c}if(Nm>>>0>=Lm>>>0){break c}q[a+4>>2]=Mm+(Nm<<2)}if(!Nm){Xm=1;break a}Vm=q[ki+8>>2];Pm=q[ki+12>>2];while(1){Om=q[ki+16>>2];Lm=q[ki+20>>2];if((Pm|0)<(Lm|0)?1:(Pm|0)<=(Lm|0)?Vm>>>0>Om>>>0?0:1:0){break a}Wm=q[ki>>2];Sm=r[Wm+Om|0];Om=Om+1|0;if(Om>>>0<1){Lm=Lm+1|0}q[ki+16>>2]=Om;q[ki+20>>2]=Lm;Tm=Sm>>>2;d:{e:{f:{Um=Sm&3;if(Um>>>0>3){Mm=0;break f}Mm=0;g:{switch(Um-1|0){case 0:case 1:break f;case 2:break g;default:break e}}Lm=Qm+Tm|0;if(Lm>>>0>=Nm>>>0){return 0}Dn(q[a>>2]+(Qm<<2)|0,0,(Sm&252)+4|0);Qm=Lm;break d}while(1){if((Pm|0)<(Lm|0)?1:(Pm|0)<=(Lm|0)?Vm>>>0>Om>>>0?0:1:0){return 0}Sm=r[Om+Wm|0];Om=Om+1|0;if(Om>>>0<1){Lm=Lm+1|0}q[ki+16>>2]=Om;q[ki+20>>2]=Lm;Tm=Sm<<(Mm<<3|6)|Tm;Mm=Mm+1|0;if((Um|0)!=(Mm|0)){continue}break}}q[q[a>>2]+(Qm<<2)>>2]=Tm}Qm=Qm+1|0;Nm=q[Rm>>2];if(Qm>>>0<Nm>>>0){continue}break}Qm=a+16|0;Rm=q[a>>2];ki=q[a+16>>2];Lm=q[a+20>>2]-ki|0;Mm=Lm>>2;h:{if(Mm>>>0<=262143){Fa(Qm,262144-Mm|0);break h}if((Lm|0)==1048576){break h}q[a+20>>2]=ki- -1048576}i:{ki=a+28|0;Lm=q[ki>>2];Mm=q[a+32>>2]-Lm>>3;if(Nm>>>0>Mm>>>0){Dh(ki,Nm-Mm|0);Lm=q[ki>>2];break i}if(Nm>>>0<Mm>>>0){q[a+32>>2]=(Nm<<3)+Lm}if(Nm){break i}return 0}ki=0;Mm=0;while(1){a=Rm+(ki<<2)|0;Pm=q[a>>2];Om=(ki<<3)+Lm|0;q[Om+4>>2]=Mm;q[Om>>2]=Pm;a=q[a>>2]+Mm|0;if(a>>>0>262144){break a}if(Mm>>>0<a>>>0){Pm=q[Qm>>2];while(1){q[Pm+(Mm<<2)>>2]=ki;Mm=Mm+1|0;if((a|0)!=(Mm|0)){continue}break}}Mm=a;ki=ki+1|0;if((Nm|0)!=(ki|0)){continue}break}return(a|0)==262144}return Xm}function Mh(a,ki){var Ym=0,Zm=0,_m=0,$m=0,an=0,bn=0,cn=0,dn=0,en=0;an=T-16|0;T=an;a:{b:{if(s[ki+38>>1]<=511){Zm=q[ki+12>>2];dn=Zm;Ym=q[ki+20>>2];_m=q[ki+16>>2];$m=_m+8|0;if($m>>>0<8){Ym=Ym+1|0}bn=q[ki+8>>2];if((Zm|0)<(Ym|0)?1:(Zm|0)<=(Ym|0)?bn>>>0>=$m>>>0?0:1:0){break a}Zm=_m+q[ki>>2]|0;_m=r[Zm+4|0]|r[Zm+5|0]<<8|(r[Zm+6|0]<<16|r[Zm+7|0]<<24);Zm=r[Zm|0]|r[Zm+1|0]<<8|(r[Zm+2|0]<<16|r[Zm+3|0]<<24);q[an+8>>2]=Zm;q[an+12>>2]=_m;q[ki+16>>2]=$m;q[ki+20>>2]=Ym;break b}if(!Eh(1,an+8|0,ki)){break a}$m=q[ki+16>>2];Ym=q[ki+20>>2];bn=q[ki+8>>2];dn=q[ki+12>>2];Zm=q[an+8>>2];_m=q[an+12>>2]}cn=bn-$m|0;bn=dn-(Ym+(bn>>>0<$m>>>0)|0)|0;if((bn|0)==(_m|0)&Zm>>>0>cn>>>0|_m>>>0>bn>>>0){break a}_m=Ym+_m|0;Ym=$m;cn=Ym+Zm|0;if(cn>>>0<Ym>>>0){_m=_m+1|0}q[ki+16>>2]=cn;q[ki+20>>2]=_m;Ym=Zm;if((Ym|0)<1){break a}$m=$m+q[ki>>2]|0;q[a+40>>2]=$m;ki=a;c:{d:{e:{f:{g:{Zm=Ym+ -1|0;_m=$m+Zm|0;switch((r[_m|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=Zm;a=r[_m|0]&63;break c}if((Ym|0)<2){break a}q[a+44>>2]=Ym+ -2;a=(Ym+$m|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((Ym|0)<3){break a}q[a+44>>2]=Ym+ -3;a=(Ym+$m|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=Ym+ -4;a=(Ym+$m|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a- -1048576|0;q[ki+48>>2]=a;en=a>>>0<268435456}T=an+16|0;return en}function Nh(a,ki){var fn=0,gn=0,hn=0,jn=0,kn=0,ln=0,mn=0,nn=0,on=0,pn=0,qn=0,rn=0,sn=0;a:{fn=s[ki+38>>1];if(!fn){break a}mn=a+12|0;b:{if(fn>>>0<=511){gn=q[ki+12>>2];fn=q[ki+20>>2];hn=q[ki+16>>2];kn=hn+4|0;if(kn>>>0<4){fn=fn+1|0}if((gn|0)<(fn|0)?1:(gn|0)<=(fn|0)?t[ki+8>>2]>=kn>>>0?0:1:0){break a}fn=hn+q[ki>>2]|0;hn=r[fn|0]|r[fn+1|0]<<8|(r[fn+2|0]<<16|r[fn+3|0]<<24);q[mn>>2]=hn;gn=q[ki+20>>2];kn=q[ki+16>>2]+4|0;if(kn>>>0<4){gn=gn+1|0}fn=ki;q[fn+16>>2]=kn;q[fn+20>>2]=gn;break b}if(!Ch(1,mn,ki)){break a}hn=q[mn>>2]}gn=q[a>>2];fn=q[a+4>>2]-gn>>2;c:{if(hn>>>0>fn>>>0){Fa(a,hn-fn|0);hn=q[a+12>>2];break c}if(hn>>>0>=fn>>>0){break c}q[a+4>>2]=gn+(hn<<2)}if(!hn){sn=1;break a}qn=q[ki+8>>2];kn=q[ki+12>>2];while(1){jn=q[ki+16>>2];fn=q[ki+20>>2];if((kn|0)<(fn|0)?1:(kn|0)<=(fn|0)?qn>>>0>jn>>>0?0:1:0){break a}rn=q[ki>>2];nn=r[rn+jn|0];jn=jn+1|0;if(jn>>>0<1){fn=fn+1|0}q[ki+16>>2]=jn;q[ki+20>>2]=fn;on=nn>>>2;d:{e:{f:{pn=nn&3;if(pn>>>0>3){gn=0;break f}gn=0;g:{switch(pn-1|0){case 0:case 1:break f;case 2:break g;default:break e}}fn=ln+on|0;if(fn>>>0>=hn>>>0){return 0}Dn(q[a>>2]+(ln<<2)|0,0,(nn&252)+4|0);ln=fn;break d}while(1){if((kn|0)<(fn|0)?1:(kn|0)<=(fn|0)?qn>>>0>jn>>>0?0:1:0){return 0}nn=r[jn+rn|0];jn=jn+1|0;if(jn>>>0<1){fn=fn+1|0}q[ki+16>>2]=jn;q[ki+20>>2]=fn;on=nn<<(gn<<3|6)|on;gn=gn+1|0;if((pn|0)!=(gn|0)){continue}break}}q[q[a>>2]+(ln<<2)>>2]=on}ln=ln+1|0;hn=q[mn>>2];if(ln>>>0<hn>>>0){continue}break}ln=a+16|0;mn=q[a>>2];ki=q[a+16>>2];fn=q[a+20>>2]-ki|0;gn=fn>>2;h:{if(gn>>>0<=524287){Fa(ln,524288-gn|0);break h}if((fn|0)==2097152){break h}q[a+20>>2]=ki+2097152}i:{ki=a+28|0;fn=q[ki>>2];gn=q[a+32>>2]-fn>>3;if(hn>>>0>gn>>>0){Dh(ki,hn-gn|0);fn=q[ki>>2];break i}if(hn>>>0<gn>>>0){q[a+32>>2]=(hn<<3)+fn}if(hn){break i}return 0}ki=0;gn=0;while(1){a=mn+(ki<<2)|0;kn=q[a>>2];jn=(ki<<3)+fn|0;q[jn+4>>2]=gn;q[jn>>2]=kn;a=q[a>>2]+gn|0;if(a>>>0>524288){break a}if(gn>>>0<a>>>0){kn=q[ln>>2];while(1){q[kn+(gn<<2)>>2]=ki;gn=gn+1|0;if((a|0)!=(gn|0)){continue}break}}gn=a;ki=ki+1|0;if((hn|0)!=(ki|0)){continue}break}return(a|0)==524288}return sn}function Oh(a,ki){var tn=0,un=0,vn=0,wn=0,xn=0,yn=0,zn=0,An=0,Bn=0;xn=T-16|0;T=xn;a:{b:{if(s[ki+38>>1]<=511){un=q[ki+12>>2];An=un;tn=q[ki+20>>2];vn=q[ki+16>>2];wn=vn+8|0;if(wn>>>0<8){tn=tn+1|0}yn=q[ki+8>>2];if((un|0)<(tn|0)?1:(un|0)<=(tn|0)?yn>>>0>=wn>>>0?0:1:0){break a}un=vn+q[ki>>2]|0;vn=r[un+4|0]|r[un+5|0]<<8|(r[un+6|0]<<16|r[un+7|0]<<24);un=r[un|0]|r[un+1|0]<<8|(r[un+2|0]<<16|r[un+3|0]<<24);q[xn+8>>2]=un;q[xn+12>>2]=vn;q[ki+16>>2]=wn;q[ki+20>>2]=tn;break b}if(!Eh(1,xn+8|0,ki)){break a}wn=q[ki+16>>2];tn=q[ki+20>>2];yn=q[ki+8>>2];An=q[ki+12>>2];un=q[xn+8>>2];vn=q[xn+12>>2]}zn=yn-wn|0;yn=An-(tn+(yn>>>0<wn>>>0)|0)|0;if((yn|0)==(vn|0)&un>>>0>zn>>>0|vn>>>0>yn>>>0){break a}vn=tn+vn|0;tn=wn;zn=tn+un|0;if(zn>>>0<tn>>>0){vn=vn+1|0}q[ki+16>>2]=zn;q[ki+20>>2]=vn;tn=un;if((tn|0)<1){break a}wn=wn+q[ki>>2]|0;q[a+40>>2]=wn;ki=a;c:{d:{e:{f:{g:{un=tn+ -1|0;vn=wn+un|0;switch((r[vn|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=un;a=r[vn|0]&63;break c}if((tn|0)<2){break a}q[a+44>>2]=tn+ -2;a=(tn+wn|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((tn|0)<3){break a}q[a+44>>2]=tn+ -3;a=(tn+wn|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=tn+ -4;a=(tn+wn|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+2097152|0;q[ki+48>>2]=a;Bn=a>>>0<536870912}T=xn+16|0;return Bn}function Ph(a,ki){var Cn=0,En=0,Fn=0,Gn=0,Hn=0,In=0,Jn=0,Kn=0,Ln=0,Mn=0,Nn=0,On=0,Pn=0;a:{Cn=s[ki+38>>1];if(!Cn){break a}Jn=a+12|0;b:{if(Cn>>>0<=511){En=q[ki+12>>2];Cn=q[ki+20>>2];Fn=q[ki+16>>2];Hn=Fn+4|0;if(Hn>>>0<4){Cn=Cn+1|0}if((En|0)<(Cn|0)?1:(En|0)<=(Cn|0)?t[ki+8>>2]>=Hn>>>0?0:1:0){break a}Cn=Fn+q[ki>>2]|0;Fn=r[Cn|0]|r[Cn+1|0]<<8|(r[Cn+2|0]<<16|r[Cn+3|0]<<24);q[Jn>>2]=Fn;En=q[ki+20>>2];Hn=q[ki+16>>2]+4|0;if(Hn>>>0<4){En=En+1|0}Cn=ki;q[Cn+16>>2]=Hn;q[Cn+20>>2]=En;break b}if(!Ch(1,Jn,ki)){break a}Fn=q[Jn>>2]}En=q[a>>2];Cn=q[a+4>>2]-En>>2;c:{if(Fn>>>0>Cn>>>0){Fa(a,Fn-Cn|0);Fn=q[a+12>>2];break c}if(Fn>>>0>=Cn>>>0){break c}q[a+4>>2]=En+(Fn<<2)}if(!Fn){Pn=1;break a}Nn=q[ki+8>>2];Hn=q[ki+12>>2];while(1){Gn=q[ki+16>>2];Cn=q[ki+20>>2];if((Hn|0)<(Cn|0)?1:(Hn|0)<=(Cn|0)?Nn>>>0>Gn>>>0?0:1:0){break a}On=q[ki>>2];Kn=r[On+Gn|0];Gn=Gn+1|0;if(Gn>>>0<1){Cn=Cn+1|0}q[ki+16>>2]=Gn;q[ki+20>>2]=Cn;Ln=Kn>>>2;d:{e:{f:{Mn=Kn&3;if(Mn>>>0>3){En=0;break f}En=0;g:{switch(Mn-1|0){case 0:case 1:break f;case 2:break g;default:break e}}Cn=In+Ln|0;if(Cn>>>0>=Fn>>>0){return 0}Dn(q[a>>2]+(In<<2)|0,0,(Kn&252)+4|0);In=Cn;break d}while(1){if((Hn|0)<(Cn|0)?1:(Hn|0)<=(Cn|0)?Nn>>>0>Gn>>>0?0:1:0){return 0}Kn=r[Gn+On|0];Gn=Gn+1|0;if(Gn>>>0<1){Cn=Cn+1|0}q[ki+16>>2]=Gn;q[ki+20>>2]=Cn;Ln=Kn<<(En<<3|6)|Ln;En=En+1|0;if((Mn|0)!=(En|0)){continue}break}}q[q[a>>2]+(In<<2)>>2]=Ln}In=In+1|0;Fn=q[Jn>>2];if(In>>>0<Fn>>>0){continue}break}In=a+16|0;Jn=q[a>>2];ki=q[a+16>>2];Cn=q[a+20>>2]-ki|0;En=Cn>>2;h:{if(En>>>0<=1048575){Fa(In,1048576-En|0);break h}if((Cn|0)==4194304){break h}q[a+20>>2]=ki+4194304}i:{ki=a+28|0;Cn=q[ki>>2];En=q[a+32>>2]-Cn>>3;if(Fn>>>0>En>>>0){Dh(ki,Fn-En|0);Cn=q[ki>>2];break i}if(Fn>>>0<En>>>0){q[a+32>>2]=(Fn<<3)+Cn}if(Fn){break i}return 0}ki=0;En=0;while(1){a=Jn+(ki<<2)|0;Hn=q[a>>2];Gn=(ki<<3)+Cn|0;q[Gn+4>>2]=En;q[Gn>>2]=Hn;a=q[a>>2]+En|0;if(a>>>0>1048576){break a}if(En>>>0<a>>>0){Hn=q[In>>2];while(1){q[Hn+(En<<2)>>2]=ki;En=En+1|0;if((a|0)!=(En|0)){continue}break}}En=a;ki=ki+1|0;if((Fn|0)!=(ki|0)){continue}break}return(a|0)==1048576}return Pn}function Qh(a,ki){var Dn=0,Qn=0,Rn=0,Sn=0,Tn=0,Un=0,Vn=0,Wn=0,Xn=0;Tn=T-16|0;T=Tn;a:{b:{if(s[ki+38>>1]<=511){Qn=q[ki+12>>2];Wn=Qn;Dn=q[ki+20>>2];Rn=q[ki+16>>2];Sn=Rn+8|0;if(Sn>>>0<8){Dn=Dn+1|0}Un=q[ki+8>>2];if((Qn|0)<(Dn|0)?1:(Qn|0)<=(Dn|0)?Un>>>0>=Sn>>>0?0:1:0){break a}Qn=Rn+q[ki>>2]|0;Rn=r[Qn+4|0]|r[Qn+5|0]<<8|(r[Qn+6|0]<<16|r[Qn+7|0]<<24);Qn=r[Qn|0]|r[Qn+1|0]<<8|(r[Qn+2|0]<<16|r[Qn+3|0]<<24);q[Tn+8>>2]=Qn;q[Tn+12>>2]=Rn;q[ki+16>>2]=Sn;q[ki+20>>2]=Dn;break b}if(!Eh(1,Tn+8|0,ki)){break a}Sn=q[ki+16>>2];Dn=q[ki+20>>2];Un=q[ki+8>>2];Wn=q[ki+12>>2];Qn=q[Tn+8>>2];Rn=q[Tn+12>>2]}Vn=Un-Sn|0;Un=Wn-(Dn+(Un>>>0<Sn>>>0)|0)|0;if((Un|0)==(Rn|0)&Qn>>>0>Vn>>>0|Rn>>>0>Un>>>0){break a}Rn=Dn+Rn|0;Dn=Sn;Vn=Dn+Qn|0;if(Vn>>>0<Dn>>>0){Rn=Rn+1|0}q[ki+16>>2]=Vn;q[ki+20>>2]=Rn;Dn=Qn;if((Dn|0)<1){break a}Sn=Sn+q[ki>>2]|0;q[a+40>>2]=Sn;ki=a;c:{d:{e:{f:{g:{Qn=Dn+ -1|0;Rn=Sn+Qn|0;switch((r[Rn|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=Qn;a=r[Rn|0]&63;break c}if((Dn|0)<2){break a}q[a+44>>2]=Dn+ -2;a=(Dn+Sn|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((Dn|0)<3){break a}q[a+44>>2]=Dn+ -3;a=(Dn+Sn|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=Dn+ -4;a=(Dn+Sn|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+4194304|0;q[ki+48>>2]=a;Xn=a>>>0<1073741824}T=Tn+16|0;return Xn}function Rh(a){Ij(a);q[a+44>>2]=0;q[a>>2]=11068}function Sh(a){a=a|0;if(q[a+44>>2]){return n[q[q[a>>2]+48>>2]](a)|0}return 0}function Th(a){a=a|0;var ki=0,Yn=0,Zn=0,_n=0,$n=0;q[a>>2]=13300;ki=q[a+20>>2];if(ki){q[a+24>>2]=ki;An(ki)}Zn=q[a+8>>2];if(Zn){ki=Zn;$n=a+12|0;Yn=q[$n>>2];_n=ki;a:{if((ki|0)==(Yn|0)){break a}while(1){Yn=Yn+ -4|0;ki=q[Yn>>2];q[Yn>>2]=0;if(ki){n[q[q[ki>>2]+4>>2]](ki)}if((Yn|0)!=(Zn|0)){continue}break}_n=q[a+8>>2]}ki=_n;q[$n>>2]=Zn;An(ki)}return a|0}function Uh(a,ao){a=a|0;ao=ao|0;a=q[a+48>>2];return n[q[q[a>>2]+20>>2]](a,ao)|0}function Vh(a){a=a|0;var ao=0,bo=0,co=0,eo=0;ao=q[a+32>>2];co=q[ao+16>>2];eo=q[ao+12>>2];bo=q[ao+20>>2];if((eo|0)>(bo|0)?1:(eo|0)>=(bo|0)?t[ao+8>>2]<=co>>>0?0:1:0){eo=r[co+q[ao>>2]|0];co=co+1|0;if(co>>>0<1){bo=bo+1|0}q[ao+16>>2]=co;q[ao+20>>2]=bo;ao=q[a+48>>2];q[a+48>>2]=0;if(ao){n[q[q[ao>>2]+4>>2]](ao)}a:{b:{if(eo>>>0>2){break b}c:{switch(eo-1|0){default:bo=Mm(384);bi(bo);ao=q[a+48>>2];q[a+48>>2]=bo;if(!ao){break a}n[q[q[ao>>2]+4>>2]](ao);break b;case 0:bo=Mm(424);Ei(bo);ao=q[a+48>>2];q[a+48>>2]=bo;if(!ao){break a}n[q[q[ao>>2]+4>>2]](ao);break b;case 1:break c}}bo=Mm(440);Ji(bo);ao=q[a+48>>2];q[a+48>>2]=bo;if(!ao){break a}n[q[q[ao>>2]+4>>2]](ao)}bo=q[a+48>>2];if(bo){break a}return 0}a=n[q[q[bo>>2]+8>>2]](bo,a)|0}else{a=0}return a|0}function Wh(a){a=a|0;a=q[a+48>>2];return n[q[q[a>>2]+24>>2]](a)|0}function Xh(a){a=a|0;a=q[a+48>>2];return n[q[q[a>>2]+28>>2]](a)|0}function Yh(a){a=a|0;var fo=0,go=0,ho=0,io=0,jo=0;q[a>>2]=11164;fo=a+48|0;go=q[fo>>2];q[fo>>2]=0;if(go){n[q[q[go>>2]+4>>2]](go)}q[a>>2]=13300;fo=q[a+20>>2];if(fo){q[a+24>>2]=fo;An(fo)}go=q[a+8>>2];if(go){fo=go;jo=a+12|0;ho=q[jo>>2];io=fo;a:{if((fo|0)==(ho|0)){break a}while(1){ho=ho+ -4|0;fo=q[ho>>2];q[ho>>2]=0;if(fo){n[q[q[fo>>2]+4>>2]](fo)}if((go|0)!=(ho|0)){continue}break}io=q[a+8>>2]}fo=io;q[jo>>2]=go;An(fo)}return a|0}function Zh(a){a=a|0;var ko=0,lo=0,mo=0,no=0,oo=0;q[a>>2]=11164;ko=a+48|0;lo=q[ko>>2];q[ko>>2]=0;if(lo){n[q[q[lo>>2]+4>>2]](lo)}q[a>>2]=13300;ko=q[a+20>>2];if(ko){q[a+24>>2]=ko;An(ko)}lo=q[a+8>>2];if(lo){ko=lo;oo=a+12|0;mo=q[oo>>2];no=ko;a:{if((ko|0)==(mo|0)){break a}while(1){mo=mo+ -4|0;ko=q[mo>>2];q[mo>>2]=0;if(ko){n[q[q[ko>>2]+4>>2]](ko)}if((lo|0)!=(mo|0)){continue}break}no=q[a+8>>2]}ko=no;q[oo>>2]=lo;An(ko)}An(a)}function _h(a){a=a|0;a=q[a+48>>2];return n[q[q[a>>2]+36>>2]](a)|0}function $h(a,po){a=a|0;po=po|0;a=q[a+48>>2];return n[q[q[a>>2]+12>>2]](a,po)|0}function ai(a,po){a=a|0;po=po|0;a=q[a+48>>2];return n[q[q[a>>2]+16>>2]](a,po)|0}function bi(a){q[a>>2]=11272;Dn(a+4|0,0,80);q[a+96>>2]=0;q[a+100>>2]=0;q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+104>>2]=0;q[a+108>>2]=0;q[a+112>>2]=0;q[a+116>>2]=0;q[a+120>>2]=0;q[a+124>>2]=0;q[a+128>>2]=0;q[a+132>>2]=0;q[a+136>>2]=0;q[a+140>>2]=0;q[a+144>>2]=0;q[a+148>>2]=0;q[a+156>>2]=0;q[a+160>>2]=0;q[a+152>>2]=1065353216;q[a+164>>2]=0;q[a+168>>2]=0;q[a+172>>2]=0;q[a+176>>2]=0;q[a+180>>2]=0;q[a+184>>2]=0;q[a+188>>2]=0;q[a+192>>2]=0;q[a+196>>2]=0;q[a+200>>2]=0;q[a+204>>2]=0;q[a+208>>2]=0;q[a+212>>2]=-1;q[a+216>>2]=0;q[a+220>>2]=0;q[a+224>>2]=0;ci(a+232|0)}function ci(a){Yj(a);Yj(a+40|0);ah(a+80|0);Yj(a+96|0);q[a+144>>2]=0;q[a+136>>2]=0;q[a+140>>2]=0}function di(a,po){a=a|0;po=po|0;q[a+4>>2]=po;return 1}function ei(a,po){a=a|0;po=po|0;var qo=0,ro=0,so=0,to=0,uo=0;qo=q[a+216>>2];to=a+220|0;if((qo|0)!=q[to>>2]){while(1){a:{qo=q[w(so,144)+qo>>2];if((qo|0)<0){break a}uo=q[a+4>>2];ro=q[uo+8>>2];if((qo|0)>=q[uo+12>>2]-ro>>2){break a}qo=q[ro+(qo<<2)>>2];if((n[q[q[qo>>2]+24>>2]](qo)|0)<1){break a}ro=0;while(1){if((n[q[q[qo>>2]+20>>2]](qo,ro)|0)!=(po|0)){ro=ro+1|0;if((ro|0)<(n[q[q[qo>>2]+24>>2]](qo)|0)){continue}break a}break}a=q[a+216>>2]+w(so,144)|0;return(r[a+100|0]?a+4|0:0)|0}so=so+1|0;qo=q[a+216>>2];if(so>>>0<(q[to>>2]-qo|0)/144>>>0){continue}break}}return 0}function fi(a,po){a=a|0;po=po|0;var vo=0,wo=0,xo=0,yo=0,zo=0;vo=q[a+216>>2];yo=a+220|0;if((vo|0)!=q[yo>>2]){while(1){a:{vo=q[w(xo,144)+vo>>2];if((vo|0)<0){break a}zo=q[a+4>>2];wo=q[zo+8>>2];if((vo|0)>=q[zo+12>>2]-wo>>2){break a}vo=q[wo+(vo<<2)>>2];if((n[q[q[vo>>2]+24>>2]](vo)|0)<1){break a}wo=0;while(1){if((n[q[q[vo>>2]+20>>2]](vo,wo)|0)!=(po|0)){wo=wo+1|0;if((wo|0)<(n[q[q[vo>>2]+24>>2]](vo)|0)){continue}break a}break}return(q[a+216>>2]+w(xo,144)|0)+104|0}xo=xo+1|0;vo=q[a+216>>2];if(xo>>>0<(q[yo>>2]-vo|0)/144>>>0){continue}break}}return a+184|0}function gi(a,po){a=a|0;po=po|0;var Ao=0,Bo=0,Co=0,Do=0,Eo=0,Fo=0,Go=0,Ho=0,Io=0,Jo=0,Ko=0,Lo=0,Mo=0,No=0,Oo=0;Do=T-80|0;T=Do;a:{b:{Mo=q[a+4>>2];Ao=q[Mo+32>>2];Io=q[Ao+8>>2];Ho=q[Ao+16>>2];Ko=q[Ao+12>>2];Bo=Ko;Fo=q[Ao+20>>2];Eo=Fo;c:{if((Bo|0)<(Eo|0)?1:(Bo|0)<=(Eo|0)?Io>>>0>Ho>>>0?0:1:0){break c}No=q[Ao>>2];Jo=r[No+Ho|0];Bo=Fo;Go=Ho+1|0;if(Go>>>0<1){Bo=Bo+1|0}Eo=Ao;q[Ao+16>>2]=Go;q[Ao+20>>2]=Bo;if((Ko|0)<(Bo|0)?1:(Ko|0)<=(Bo|0)?Io>>>0>Go>>>0?0:1:0){break c}Oo=r[Go+No|0];Bo=Fo;Go=Ho+2|0;if(Go>>>0<2){Bo=Bo+1|0}q[Ao+16>>2]=Go;q[Eo+20>>2]=Bo;Lo=Jo<<24>>24;d:{if((Lo|0)>=0){Eo=q[a+216>>2];if((q[a+220>>2]-Eo|0)/144>>>0<=Jo>>>0){break c}Eo=Eo+w(Jo,144)|0;if(q[Eo>>2]<=-1){break d}break c}if(q[a+212>>2]>-1){break c}Eo=a+212|0}q[Eo>>2]=po;Eo=0;Co=s[Mo+36>>1];if((Co<<24|Co<<8&16711680)>>>16>>>0>=258){Co=0;if((Ko|0)<(Bo|0)?1:(Ko|0)<=(Bo|0)?Io>>>0>Go>>>0?0:1:0){break c}Eo=r[Go+No|0];Bo=Ho+3|0;if(Bo>>>0<3){Fo=Fo+1|0}q[Ao+16>>2]=Bo;q[Ao+20>>2]=Fo}e:{f:{g:{if(!Oo){if((Lo|0)<=-1){Ao=a+184|0}else{Ao=q[a+216>>2]+w(Jo,144)|0;o[Ao+100|0]=0;Ao=Ao+104|0}Co=0;if(Eo>>>0>1){break c}if(!(Eo-1)){break g}hi(Do+16|0,a,Ao);break f}Co=0;if(Eo|(Lo|0)<0){break c}Fo=q[Mo+44>>2];Co=q[a+216>>2];Ao=Mm(80);q[Ao>>2]=12884;q[Ao+76>>2]=0;q[Ao+68>>2]=Fo;Bo=Ao+12|0;q[Bo>>2]=0;q[Bo+4>>2]=0;q[Ao+4>>2]=0;Eo=Ao+20|0;q[Eo>>2]=0;q[Eo+4>>2]=0;Ko=Ao+28|0;Ho=Ko;q[Ho>>2]=0;q[Ho+4>>2]=0;q[Ao+36>>2]=0;q[Ao+40>>2]=0;Ho=Ao+44|0;q[Ho>>2]=0;q[Ho+4>>2]=0;q[Ao+52>>2]=0;Co=Co+w(Jo,144)|0;Jo=Co+104|0;q[Ao+72>>2]=Jo;q[Ao- -64>>2]=0;Mo=Ao+56|0;Io=Mo;q[Io>>2]=0;q[Io+4>>2]=0;q[Ao+8>>2]=11760;Io=Do+56|0;q[Io>>2]=0;q[Io+4>>2]=0;q[Do+48>>2]=0;q[Do+52>>2]=0;No=Do+32|0;Go=No;q[Go>>2]=0;q[Go+4>>2]=0;q[Do+72>>2]=0;q[Do+40>>2]=0;q[Do+44>>2]=0;q[Do+24>>2]=0;q[Do+28>>2]=0;q[Do+64>>2]=0;q[Do+68>>2]=0;q[Do+16>>2]=11760;Go=Co+4|0;q[Do+20>>2]=Go;Co=q[Co+68>>2];Lo=q[Co>>2];Co=q[Co+4>>2];o[Do+79|0]=0;bb(Do+40|0,(Co-Lo>>2>>>0)/3|0,Do+79|0);Co=q[Do+20>>2];Lo=q[Co+56>>2];Co=q[Co+52>>2];o[Do+79|0]=0;bb(Do+52|0,Lo-Co>>2,Do+79|0);q[Do+36>>2]=Ao;q[No>>2]=Fo;Fo=Do+28|0;q[Fo>>2]=Jo;q[Do+24>>2]=Go;q[Ko>>2]=Ao;Co=q[Fo+4>>2];q[Eo>>2]=q[Fo>>2];q[Eo+4>>2]=Co;Fo=q[Do+24>>2];q[Bo>>2]=q[Do+20>>2];q[Bo+4>>2]=Fo;Fo=Ao;Co=q[Do+44>>2];if(Co){Bo=Ao+32|0;h:{if(Co>>>0<=q[Ao+40>>2]<<5>>>0){Eo=Co+ -1>>>5;Co=q[Bo>>2];break h}Bo=q[Bo>>2];if(Bo){An(Bo);q[Ao+40>>2]=0;q[Ao+32>>2]=0;q[Ao+36>>2]=0;Co=q[Do+44>>2]}if((Co|0)<=-1){break b}Eo=Co+ -1>>>5;Bo=Eo+1|0;Co=Mm(Bo<<2);q[Ao+40>>2]=Bo;q[Ao+36>>2]=0;q[Ao+32>>2]=Co}En(Co,q[Do+40>>2],(Eo<<2)+4|0);Bo=q[Do+44>>2]}else{Bo=0}q[Fo+36>>2]=Bo;Fo=Ao;Co=q[Io>>2];if(Co){i:{if(Co>>>0<=q[Ao+52>>2]<<5>>>0){Bo=Co+ -1>>>5;Co=q[Ho>>2];break i}Bo=q[Ho>>2];if(Bo){An(Bo);q[Ao+52>>2]=0;q[Ao+44>>2]=0;q[Ao+48>>2]=0;Co=q[Do+56>>2]}if((Co|0)<=-1){break a}Bo=Co+ -1>>>5;Eo=Bo+1|0;Co=Mm(Eo<<2);q[Ao+52>>2]=Eo;q[Ao+48>>2]=0;q[Ao+44>>2]=Co}En(Co,q[Do+52>>2],(Bo<<2)+4|0);Bo=q[Do+56>>2]}else{Bo=0}q[Fo+48>>2]=Bo;vd(Mo,q[Do+64>>2],q[Do+68>>2]);q[Do+16>>2]=11760;Fo=q[Do+64>>2];if(Fo){q[Do+68>>2]=Fo;An(Fo)}q[Do+16>>2]=12012;Fo=q[Do+52>>2];if(Fo){An(Fo)}Fo=q[Do+40>>2];if(!Fo){break e}An(Fo);break e}ii(Do+16|0,a,Ao)}Ao=q[Do+16>>2];if(!Ao){break c}}Fo=Mm(64);q[Do+8>>2]=Ao;Ge(Fo,Do+8|0);Ao=q[Do+8>>2];q[Do+8>>2]=0;if(Ao){n[q[q[Ao>>2]+4>>2]](Ao)}if((po|0)>=0){a=q[a+4>>2];Co=a+8|0;Ao=q[a+12>>2];Jo=q[a+8>>2];Bo=Ao-Jo>>2;j:{if((Bo|0)>(po|0)){break j}Eo=po+1|0;if(Bo>>>0<=po>>>0){ji(Co,Eo-Bo|0);break j}if(Eo>>>0>=Bo>>>0){break j}Eo=Jo+(Eo<<2)|0;if((Eo|0)!=(Ao|0)){while(1){Ao=Ao+ -4|0;Bo=q[Ao>>2];q[Ao>>2]=0;if(Bo){n[q[q[Bo>>2]+4>>2]](Bo)}if((Ao|0)!=(Eo|0)){continue}break}}q[a+12>>2]=Eo}po=q[Co>>2]+(po<<2)|0;a=q[po>>2];q[po>>2]=Fo;Co=1;if(!a){break c}n[q[q[a>>2]+4>>2]](a);break c}n[q[q[Fo>>2]+4>>2]](Fo);Co=0}T=Do+80|0;return Co|0}bn();F()}bn();F()}function hi(a,po,Po){var Qo=0,Ro=0,So=0,To=0,Uo=0,Vo=0,Wo=0,Xo=0,Yo=0,Zo=0,_o=0,$o=0;Qo=T+ -64|0;T=Qo;So=q[q[po+4>>2]+44>>2];Ro=Mm(80);q[Ro>>2]=12592;q[Ro+76>>2]=0;q[Ro+72>>2]=Po;q[Ro+68>>2]=So;To=Ro+12|0;q[To>>2]=0;q[To+4>>2]=0;q[Ro+4>>2]=0;Xo=Ro+20|0;Uo=Xo;q[Uo>>2]=0;q[Uo+4>>2]=0;Zo=Ro+28|0;Uo=Zo;q[Uo>>2]=0;q[Uo+4>>2]=0;q[Ro+36>>2]=0;q[Ro+40>>2]=0;Uo=Ro+44|0;q[Uo>>2]=0;q[Uo+4>>2]=0;q[Ro+52>>2]=0;q[Ro- -64>>2]=0;_o=Ro+56|0;Wo=_o;q[Wo>>2]=0;q[Wo+4>>2]=0;q[Ro+8>>2]=12756;po=q[po+8>>2];Wo=Qo+40|0;q[Wo>>2]=0;q[Wo+4>>2]=0;q[Qo+32>>2]=0;q[Qo+36>>2]=0;$o=Qo+16|0;Vo=$o;q[Vo>>2]=0;q[Vo+4>>2]=0;q[Qo+56>>2]=0;q[Qo+24>>2]=0;q[Qo+28>>2]=0;q[Qo+8>>2]=0;q[Qo+12>>2]=0;q[Qo+48>>2]=0;q[Qo+52>>2]=0;q[Qo>>2]=12756;q[Qo+4>>2]=po;Vo=q[po>>2];Yo=q[po+4>>2];o[Qo+63|0]=0;bb(Qo+24|0,(Yo-Vo>>2>>>0)/3|0,Qo+63|0);Vo=q[Qo+4>>2];Yo=q[Vo+28>>2];Vo=q[Vo+24>>2];o[Qo+63|0]=0;bb(Qo+36|0,Yo-Vo>>2,Qo+63|0);q[Qo+20>>2]=Ro;q[$o>>2]=So;So=Qo+12|0;q[So>>2]=Po;q[Qo+8>>2]=po;q[Zo>>2]=Ro;po=q[So+4>>2];q[Xo>>2]=q[So>>2];q[Xo+4>>2]=po;po=q[Qo+8>>2];q[To>>2]=q[Qo+4>>2];q[To+4>>2]=po;a:{b:{Po=Ro;po=q[Qo+28>>2];if(po){So=Ro+32|0;c:{if(po>>>0<=q[Ro+40>>2]<<5>>>0){To=po+ -1>>>5;po=q[So>>2];break c}So=q[So>>2];if(So){An(So);q[Ro+40>>2]=0;q[Ro+32>>2]=0;q[Ro+36>>2]=0;po=q[Qo+28>>2]}if((po|0)<=-1){break b}To=po+ -1>>>5;So=To+1|0;po=Mm(So<<2);q[Ro+40>>2]=So;q[Ro+36>>2]=0;q[Ro+32>>2]=po}En(po,q[Qo+24>>2],(To<<2)+4|0);po=q[Qo+28>>2]}else{po=0}q[Po+36>>2]=po;Xo=Ro;po=q[Wo>>2];if(po){d:{if(po>>>0<=q[Ro+52>>2]<<5>>>0){Po=po+ -1>>>5;po=q[Uo>>2];break d}Po=q[Uo>>2];if(Po){An(Po);q[Ro+52>>2]=0;q[Ro+44>>2]=0;q[Ro+48>>2]=0;po=q[Qo+40>>2]}if((po|0)<=-1){break a}Po=po+ -1>>>5;To=Po+1|0;po=Mm(To<<2);q[Ro+52>>2]=To;q[Ro+48>>2]=0;q[Ro+44>>2]=po}En(po,q[Qo+36>>2],(Po<<2)+4|0);po=q[Qo+40>>2]}else{po=0}q[Xo+48>>2]=po;vd(_o,q[Qo+48>>2],q[Qo+52>>2]);q[a>>2]=Ro;q[Qo>>2]=12756;a=q[Qo+48>>2];if(a){q[Qo+52>>2]=a;An(a)}q[Qo>>2]=12572;a=q[Qo+36>>2];if(a){An(a)}a=q[Qo+24>>2];if(a){An(a)}T=Qo- -64|0;return}bn();F()}bn();F()}function ii(a,po,Po){var ap=0,bp=0,cp=0,dp=0,ep=0,fp=0,gp=0;ap=T-112|0;T=ap;gp=q[q[po+4>>2]+44>>2];bp=Mm(120);q[bp>>2]=12124;q[bp+116>>2]=0;q[bp+112>>2]=Po;q[bp+108>>2]=gp;q[bp+12>>2]=0;q[bp+16>>2]=0;q[bp+4>>2]=0;q[bp+20>>2]=0;q[bp+24>>2]=0;q[bp+28>>2]=0;q[bp+32>>2]=0;q[bp+36>>2]=0;q[bp+40>>2]=0;q[bp+44>>2]=0;q[bp+48>>2]=0;q[bp+52>>2]=0;q[bp+56>>2]=0;q[bp+60>>2]=0;q[bp+8>>2]=12336;ep=bp- -64|0;q[ep>>2]=0;q[ep+4>>2]=0;q[bp+72>>2]=0;q[bp+76>>2]=0;q[bp+80>>2]=0;q[bp+84>>2]=0;q[bp+88>>2]=0;q[bp+104>>2]=0;q[bp+96>>2]=0;q[bp+100>>2]=0;po=q[po+8>>2];q[ap+48>>2]=0;q[ap+52>>2]=0;q[ap+40>>2]=0;q[ap+44>>2]=0;ep=ap+24|0;cp=ep;q[cp>>2]=0;q[cp+4>>2]=0;cp=ap- -64|0;q[cp>>2]=0;q[cp+4>>2]=0;q[ap+72>>2]=0;q[ap+76>>2]=0;cp=ap+80|0;q[cp>>2]=0;q[cp+4>>2]=0;q[ap+88>>2]=0;q[ap+104>>2]=0;q[ap+32>>2]=0;q[ap+36>>2]=0;q[ap+16>>2]=0;q[ap+20>>2]=0;q[ap+56>>2]=0;q[ap+60>>2]=0;q[ap+8>>2]=12336;q[ap+96>>2]=0;q[ap+100>>2]=0;q[ap+12>>2]=po;dp=q[po>>2];fp=q[po+4>>2];o[ap+111|0]=0;bb(ap+32|0,(fp-dp>>2>>>0)/3|0,ap+111|0);dp=q[ap+12>>2];fp=q[dp+28>>2];dp=q[dp+24>>2];o[ap+111|0]=0;bb(ap+44|0,fp-dp>>2,ap+111|0);q[ap+28>>2]=bp;q[ep>>2]=gp;q[ap+20>>2]=Po;q[ap+16>>2]=po;ki(bp,ap+8|0);q[a>>2]=bp;q[ap+8>>2]=12336;a=q[ap+96>>2];if(a){q[ap+100>>2]=a;An(a)}a=q[cp>>2];if(a){q[ap+84>>2]=a;An(a)}a=q[ap+68>>2];if(a){q[ap+72>>2]=a;An(a)}a=q[ap+56>>2];if(a){q[ap+60>>2]=a;An(a)}q[ap+8>>2]=12572;a=q[ap+44>>2];if(a){An(a)}a=q[ap+32>>2];if(a){An(a)}T=ap+112|0}function ji(a,po){var Po=0,hp=0,ip=0,jp=0,kp=0,lp=0,mp=0,np=0,op=0;hp=q[a+8>>2];ip=a+4|0;Po=q[ip>>2];if(hp-Po>>2>>>0>=po>>>0){a=po<<2;np=ip,op=Dn(Po,0,a)+a|0,q[np>>2]=op;return}a:{ip=q[a>>2];jp=Po-ip>>2;kp=jp+po|0;if(kp>>>0<1073741824){jp=jp<<2;hp=hp-ip|0;mp=hp>>1;hp=hp>>2>>>0<536870911?mp>>>0<kp>>>0?kp:mp:1073741823;if(hp){if(hp>>>0>=1073741824){break a}lp=Mm(hp<<2)}jp=jp+lp|0;Dn(jp,0,po<<2);po=(kp<<2)+lp|0;kp=(hp<<2)+lp|0;if((Po|0)!=(ip|0)){while(1){Po=Po+ -4|0;hp=q[Po>>2];q[Po>>2]=0;jp=jp+ -4|0;q[jp>>2]=hp;if((Po|0)!=(ip|0)){continue}break}ip=q[a>>2];Po=q[a+4>>2]}q[a>>2]=jp;q[a+8>>2]=kp;q[a+4>>2]=po;if((Po|0)!=(ip|0)){while(1){Po=Po+ -4|0;a=q[Po>>2];q[Po>>2]=0;if(a){n[q[q[a>>2]+4>>2]](a)}if((Po|0)!=(ip|0)){continue}break}}if(ip){An(ip)}return}bn();F()}ab(12024);F()}function ki(a,po){var pp=0;pp=q[po+8>>2];q[a+12>>2]=q[po+4>>2];q[a+16>>2]=pp;q[a+28>>2]=q[po+20>>2];pp=q[po+16>>2];q[a+20>>2]=q[po+12>>2];q[a+24>>2]=pp;$i(a+32|0,po+24|0);$i(a+44|0,po+36|0);if((a+8|0)==(po|0)){q[a+92>>2]=q[po+84>>2];return}vd(a+56|0,q[po+48>>2],q[po+52>>2]);vd(a+68|0,q[po+60>>2],q[po- -64>>2]);vd(a+80|0,q[po+72>>2],q[po+76>>2]);q[a+92>>2]=q[po+84>>2];hd(a+96|0,q[po+88>>2],q[po+92>>2])}function li(a,po,qp){a=a|0;po=po|0;qp=qp|0;var rp=0,sp=0;rp=T-16|0;T=rp;q[a+4>>2]=po;po=q[po+64>>2];sp=q[po+4>>2];po=q[po>>2];o[rp+15|0]=0;bb(a+24|0,(sp-po>>2>>>0)/3|0,rp+15|0);po=q[a+4>>2];sp=q[po+56>>2];po=q[po+52>>2];o[rp+14|0]=0;bb(a+36|0,sp-po>>2,rp+14|0);po=q[qp+12>>2];q[a+16>>2]=q[qp+8>>2];q[a+20>>2]=po;po=q[qp+4>>2];q[a+8>>2]=q[qp>>2];q[a+12>>2]=po;T=rp+16|0}function mi(a){a=a|0;var po=0;q[a>>2]=11760;po=q[a+48>>2];if(po){q[a+52>>2]=po;An(po)}q[a>>2]=12012;po=q[a+36>>2];if(po){An(po)}po=q[a+24>>2];if(po){An(po)}return a|0}function ni(a){a=a|0;var qp=0,tp=0,up=0,vp=0,wp=0,xp=0,yp=0,zp=0,Ap=0,Bp=0,Cp=0,Dp=0,Ep=0,Fp=0,Gp=0;zp=T+ -64|0;T=zp;q[a+132>>2]=0;if(q[a+148>>2]){up=a+144|0;tp=q[up>>2];if(tp){while(1){qp=q[tp>>2];An(tp);tp=qp;if(qp){continue}break}}q[up>>2]=0;qp=q[a+140>>2];if(qp){up=a+136|0;tp=0;while(1){q[q[up>>2]+(tp<<2)>>2]=0;tp=tp+1|0;if((qp|0)!=(tp|0)){continue}break}}q[a+148>>2]=0}a:{b:{c:{d:{e:{f:{tp=q[a+4>>2];up=r[tp+36|0];qp=up<<8|r[tp+37|0];g:{if(qp>>>0>513){break g}xp=q[tp+32>>2];if(qp>>>0<=511){wp=q[xp+12>>2];qp=q[xp+20>>2];yp=q[xp+16>>2];vp=yp+4|0;if(vp>>>0<4){qp=qp+1|0}Ap=vp;vp=qp;if((wp|0)<(qp|0)?1:(wp|0)<=(qp|0)?t[xp+8>>2]>=Ap>>>0?0:1:0){break f}qp=yp+q[xp>>2]|0;qp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp>>2]=qp;q[xp+16>>2]=Ap;q[xp+20>>2]=vp;q[a+132>>2]=qp;break g}if(!oi(1,zp,xp)){break f}tp=q[a+4>>2];up=r[tp+36|0];q[a+132>>2]=q[zp>>2]}tp=q[tp+32>>2];h:{i:{j:{if((up&255)>>>0<=1){up=0;xp=q[tp+12>>2];qp=q[tp+20>>2];wp=q[tp+16>>2];vp=wp+4|0;if(vp>>>0<4){qp=qp+1|0}yp=vp;vp=qp;if((xp|0)<(qp|0)?1:(xp|0)<=(qp|0)?t[tp+8>>2]>=yp>>>0?0:1:0){break a}qp=wp+q[tp>>2]|0;qp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp+60>>2]=qp;q[tp+16>>2]=yp;q[tp+20>>2]=vp;q[a+156>>2]=qp;Dp=a+156|0;break j}up=0;if(!oi(1,zp+60|0,tp)){break a}qp=q[a+4>>2];tp=q[qp+32>>2];qp=r[qp+36|0];q[a+156>>2]=q[zp+60>>2];Dp=a+156|0;if(qp>>>0>1){break i}}xp=q[tp+12>>2];qp=q[tp+20>>2];wp=q[tp+16>>2];vp=wp+4|0;if(vp>>>0<4){qp=qp+1|0}Ap=vp;vp=qp;if((xp|0)<(qp|0)?1:(xp|0)<=(qp|0)?t[tp+8>>2]>=Ap>>>0?0:1:0){break a}qp=wp+q[tp>>2]|0;yp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp+56>>2]=yp;q[tp+16>>2]=Ap;q[tp+20>>2]=vp;break h}if(!oi(1,zp+56|0,tp)){break a}yp=q[zp+56>>2]}if(yp>>>0>1431655765|t[Dp>>2]>w(yp,3)>>>0){break a}Bp=q[a+4>>2];vp=q[Bp+32>>2];Fp=q[vp+8>>2];Cp=q[vp+16>>2];xp=q[vp+12>>2];qp=xp;tp=q[vp+20>>2];if((qp|0)<(tp|0)?1:(qp|0)<=(tp|0)?Fp>>>0>Cp>>>0?0:1:0){break a}Gp=q[vp>>2];Ap=r[Gp+Cp|0];qp=tp;Ep=Cp+1|0;if(Ep>>>0<1){qp=qp+1|0}q[vp+16>>2]=Ep;q[vp+20>>2]=qp;k:{if(r[Bp+36|0]<=1){qp=tp;tp=Cp+5|0;if(tp>>>0<5){qp=qp+1|0}wp=tp;tp=qp;if((xp|0)<(qp|0)?1:(xp|0)<=(qp|0)?Fp>>>0>=wp>>>0?0:1:0){break a}qp=Ep+Gp|0;xp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp+52>>2]=xp;q[vp+16>>2]=wp;q[vp+20>>2]=tp;break k}if(!oi(1,zp+52|0,vp)){break a}xp=q[zp+52>>2]}if(yp>>>0<xp>>>0|yp>>>0>((xp>>>0)/3|0)+xp>>>0){break a}qp=q[a+4>>2];vp=q[qp+32>>2];l:{if(r[qp+36|0]<=1){wp=q[vp+12>>2];qp=q[vp+20>>2];Cp=q[vp+16>>2];tp=Cp+4|0;if(tp>>>0<4){qp=qp+1|0}Bp=tp;tp=qp;if((wp|0)<(qp|0)?1:(wp|0)<=(qp|0)?t[vp+8>>2]>=Bp>>>0?0:1:0){break a}qp=Cp+q[vp>>2]|0;wp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp+48>>2]=wp;q[vp+16>>2]=Bp;q[vp+20>>2]=tp;break l}if(!oi(1,zp+48|0,vp)){break a}wp=q[zp+48>>2]}if(wp>>>0>xp>>>0){break a}q[a+28>>2]=q[a+24>>2];tp=Mm(88);jk(tp);qp=q[a+8>>2];q[a+8>>2]=tp;vp=a+8|0;if(qp){wa(vp,qp);if(!q[vp>>2]){break a}}qp=q[a+160>>2];q[a+164>>2]=qp;m:{if(q[a+168>>2]-qp>>2>>>0>=yp>>>0){break m}if(yp>>>0>=1073741824){break e}up=yp<<2;tp=Mm(up);q[a+164>>2]=tp;q[a+160>>2]=tp;q[a+168>>2]=tp+up;if(!qp){break m}An(qp)}qp=q[a+172>>2];q[a+176>>2]=qp;n:{if(q[a+180>>2]-qp>>2>>>0>=yp>>>0){break n}if(yp>>>0>=1073741824){break d}up=yp<<2;tp=Mm(up);q[a+176>>2]=tp;q[a+172>>2]=tp;q[a+180>>2]=tp+up;if(!qp){break n}An(qp)}q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+40>>2]=q[a+36>>2];q[a- -64>>2]=0;q[a+52>>2]=q[a+48>>2];q[a+76>>2]=q[a+72>>2];Cp=a+216|0;tp=q[a+220>>2];up=q[a+216>>2];if((tp|0)==(up|0)){break c}while(1){qp=q[tp+ -12>>2];if(qp){q[tp+ -8>>2]=qp;An(qp)}qp=q[tp+ -28>>2];if(qp){q[tp+ -24>>2]=qp;An(qp)}qp=tp+ -144|0;Bp=q[tp+ -40>>2];if(Bp){q[tp+ -36>>2]=Bp;An(Bp)}pi(tp+ -140|0);tp=qp;if((up|0)!=(qp|0)){continue}break}qp=q[Cp>>2];break b}up=0;break a}ab(12024);F()}ab(12024);F()}qp=up}q[a+220>>2]=up;tp=(up-qp|0)/144|0;o:{if(tp>>>0<Ap>>>0){qi(Cp,Ap-tp|0);break o}if(tp>>>0<=Ap>>>0){break o}tp=qp+w(Ap,144)|0;if((tp|0)!=(up|0)){while(1){qp=q[up+ -12>>2];if(qp){q[up+ -8>>2]=qp;An(qp)}qp=q[up+ -28>>2];if(qp){q[up+ -24>>2]=qp;An(qp)}qp=up+ -144|0;Bp=q[up+ -40>>2];if(Bp){q[up+ -36>>2]=Bp;An(Bp)}pi(up+ -140|0);up=qp;if((qp|0)!=(tp|0)){continue}break}}q[a+220>>2]=tp}up=0;if(!tk(q[vp>>2],yp,q[Dp>>2]+wp|0)){break a}qp=q[a+156>>2];o[zp|0]=1;bb(a+120|0,qp+wp|0,zp);tp=q[a+4>>2];qp=s[tp+36>>1];qp=(qp<<24|qp<<8&16711680)>>>16;p:{if(qp>>>0<=513){wp=q[tp+32>>2];q:{if(qp>>>0<=511){yp=q[wp+12>>2];qp=q[wp+20>>2];Dp=q[wp+16>>2];tp=Dp+4|0;if(tp>>>0<4){qp=qp+1|0}Bp=tp;tp=qp;if((yp|0)<(qp|0)?1:(yp|0)<=(qp|0)?t[wp+8>>2]>=Bp>>>0?0:1:0){break a}qp=Dp+q[wp>>2]|0;yp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp+44>>2]=yp;q[wp+16>>2]=Bp;q[wp+20>>2]=tp;break q}if(!oi(1,zp+44|0,wp)){break a}yp=q[zp+44>>2]}if(!yp){break a}qp=q[q[a+4>>2]+32>>2];tp=q[qp+8>>2];wp=q[qp+16>>2];qp=q[qp+12>>2]-(q[qp+20>>2]+(tp>>>0<wp>>>0)|0)|0;if((qp|0)<0?1:(qp|0)<=0?tp-wp>>>0>=yp>>>0?0:1:0){break a}wp=Yj(zp);tp=q[q[a+4>>2]+32>>2];qp=q[tp+16>>2];Dp=q[tp+8>>2];Zj(wp,(qp+q[tp>>2]|0)+yp|0,(Dp-qp|0)-yp|0,s[tp+38>>1]);tp=ri(a,wp);if((tp|0)==-1){break a}qp=tp;wp=qp>>31;break p}qp=-1;wp=-1;if((ri(a,q[tp+32>>2])|0)==-1){break a}}q[a+376>>2]=a;Dp=a+232|0;tp=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];Bp=q[tp>>2]+q[tp+16>>2]|0;yp=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];tp=q[yp+8>>2];up=q[yp+16>>2];Zj(Dp,Bp,tp-up|0,s[q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);q[a+372>>2]=Ap;up=0;tp=Yj(zp);r:{if(!si(Dp,tp)){break r}yp=ti(a,xp);if((yp|0)==-1){break r}xp=q[q[a+4>>2]+32>>2];up=q[tp+16>>2];Ap=up+q[tp>>2]|0;tp=q[tp+8>>2];Zj(xp,Ap,tp-up|0,s[xp+38>>1]);tp=q[a+4>>2];up=s[tp+36>>1];xp=(up<<24|up<<8&16711680)>>>16;if(xp>>>0<=513){up=q[tp+32>>2];Ap=up;Bp=up;tp=wp+q[up+20>>2]|0;up=qp+q[up+16>>2]|0;if(up>>>0<qp>>>0){tp=tp+1|0}q[Bp+16>>2]=up;q[Ap+20>>2]=tp}s:{if(q[a+220>>2]==q[a+216>>2]){break s}tp=q[vp>>2];qp=q[tp+4>>2];tp=q[tp>>2];t:{if(xp>>>0>=513){if((qp|0)==(tp|0)){break s}tp=0;break t}if((qp|0)==(tp|0)){break s}tp=0;while(1){if(ui(a,tp)){tp=tp+3|0;qp=q[vp>>2];if(tp>>>0<q[qp+4>>2]-q[qp>>2]>>2>>>0){continue}break s}break}up=0;break r}while(1){if(vi(a,tp)){tp=tp+3|0;qp=q[vp>>2];if(tp>>>0<q[qp+4>>2]-q[qp>>2]>>2>>>0){continue}break s}break}up=0;break r}if(r[a+308|0]){ak(a+272|0)}if(s[a+270>>1]<=513){ak(a+328|0)}tp=q[a+216>>2];wp=a+220|0;if((tp|0)!=q[wp>>2]){xp=0;while(1){qp=w(xp,144);Ek((qp+tp|0)+4|0,q[vp>>2]);up=q[Cp>>2];Ap=qp+up|0;tp=q[Ap+132>>2];Ap=q[Ap+136>>2];if((tp|0)!=(Ap|0)){while(1){Gk((qp+up|0)+4|0,q[tp>>2]);up=q[Cp>>2];tp=tp+4|0;if((Ap|0)!=(tp|0)){continue}break}}Fk((qp+up|0)+4|0);xp=xp+1|0;tp=q[a+216>>2];if(xp>>>0<(q[wp>>2]-tp|0)/144>>>0){continue}break}}qp=q[a+8>>2];wi(a+184|0,q[qp+28>>2]-q[qp+24>>2]>>2);up=q[a+216>>2];if((up|0)!=q[wp>>2]){tp=0;xp=a+220|0;while(1){qp=w(tp,144)+up|0;up=q[qp+60>>2]-q[qp+56>>2]>>2;Ap=qp+104|0;qp=q[vp>>2];qp=q[qp+28>>2]-q[qp+24>>2]>>2;wi(Ap,(up|0)<(qp|0)?qp:up);tp=tp+1|0;up=q[a+216>>2];if(tp>>>0<(q[xp>>2]-up|0)/144>>>0){continue}break}}up=xi(a,yp)}}T=zp- -64|0;return up|0}function oi(a,Hp,Ip){var Jp=0,Kp=0,Lp=0,Mp=0;a:{if(a>>>0>5){break a}Lp=q[Ip+16>>2];Jp=q[Ip+12>>2];Kp=q[Ip+20>>2];if((Jp|0)<(Kp|0)?1:(Jp|0)<=(Kp|0)?t[Ip+8>>2]>Lp>>>0?0:1:0){break a}Jp=r[Lp+q[Ip>>2]|0];Lp=Lp+1|0;if(Lp>>>0<1){Kp=Kp+1|0}q[Ip+16>>2]=Lp;q[Ip+20>>2]=Kp;Kp=Hp;if(Jp&128){if(!oi(a+1|0,Hp,Ip)){break a}a=q[Hp>>2]<<7;q[Hp>>2]=a;Jp=a|Jp&127}q[Kp>>2]=Jp;Mp=1}return Mp}function pi(a){var Hp=0;Hp=q[a+84>>2];if(Hp){q[a+88>>2]=Hp;An(Hp)}Hp=q[a+72>>2];if(Hp){q[a+76>>2]=Hp;An(Hp)}Hp=q[a+52>>2];if(Hp){q[a+56>>2]=Hp;An(Hp)}Hp=q[a+40>>2];if(Hp){q[a+44>>2]=Hp;An(Hp)}Hp=q[a+28>>2];if(Hp){q[a+32>>2]=Hp;An(Hp)}Hp=q[a+12>>2];if(Hp){An(Hp)}a=q[a>>2];if(a){An(a)}}function qi(a,Ip){var Np=0,Op=0,Pp=0,Qp=0,Rp=0,Sp=0;Op=T-32|0;T=Op;a:{b:{Pp=q[a+8>>2];Qp=a+4|0;Np=q[Qp>>2];c:{if((Pp-Np|0)/144>>>0>=Ip>>>0){while(1){q[Np>>2]=-1;Dk(Np+4|0);q[Np+104>>2]=0;q[Np+108>>2]=0;o[Np+100|0]=1;q[Np+112>>2]=0;q[Np+116>>2]=0;q[Np+120>>2]=0;q[Np+124>>2]=0;q[Np+128>>2]=0;q[Np+132>>2]=0;q[Np+136>>2]=0;q[Np+140>>2]=0;Np=q[Qp>>2]+144|0;q[Qp>>2]=Np;Ip=Ip+ -1|0;if(Ip){continue}break c}}Rp=q[a>>2];Sp=(Np-Rp|0)/144|0;Np=Sp+Ip|0;if(Np>>>0>=29826162){break b}q[Op+24>>2]=a+8;Qp=0;q[Op+20>>2]=0;Pp=(Pp-Rp|0)/144|0;Rp=Pp<<1;Pp=Pp>>>0<14913080?Rp>>>0<Np>>>0?Np:Rp:29826161;if(Pp){if(Pp>>>0>=29826162){break a}Qp=Mm(w(Pp,144))}q[Op+8>>2]=Qp;Np=w(Sp,144)+Qp|0;q[Op+16>>2]=Np;q[Op+20>>2]=w(Pp,144)+Qp;q[Op+12>>2]=Np;while(1){q[Np>>2]=-1;Dk(Np+4|0);q[Np+104>>2]=0;q[Np+108>>2]=0;o[Np+100|0]=1;q[Np+112>>2]=0;q[Np+116>>2]=0;q[Np+120>>2]=0;q[Np+124>>2]=0;q[Np+128>>2]=0;q[Np+132>>2]=0;q[Np+136>>2]=0;q[Np+140>>2]=0;Np=q[Op+16>>2]+144|0;q[Op+16>>2]=Np;Ip=Ip+ -1|0;if(Ip){continue}break}Ip=q[a+4>>2];Pp=q[a>>2];d:{if((Ip|0)==(Pp|0)){Qp=q[Op+12>>2];break d}Qp=q[Op+12>>2];while(1){Ip=Ip+ -144|0;Qp=vj(Qp+ -144|0,Ip);if((Ip|0)!=(Pp|0)){continue}break}q[Op+12>>2]=Qp;Ip=q[a+4>>2];Pp=q[a>>2]}q[a>>2]=Qp;q[Op+12>>2]=Pp;q[a+4>>2]=Np;q[Op+16>>2]=Ip;a=a+8|0;Ip=q[a>>2];q[a>>2]=q[Op+20>>2];q[Op+8>>2]=Pp;q[Op+20>>2]=Ip;wj(Op+8|0)}T=Op+32|0;return}bn();F()}ab(12024);F()}function ri(a,Ip){var Tp=0,Up=0,Vp=0,Wp=0,Xp=0,Yp=0,Zp=0,_p=0,$p=0,aq=0,bq=0,cq=0,dq=0,eq=0,fq=0,gq=0;Vp=T-32|0;T=Vp;a:{b:{if(r[q[a+4>>2]+36|0]<=1){Zp=-1;Xp=q[Ip+12>>2];Tp=q[Ip+20>>2];Wp=q[Ip+16>>2];Up=Wp+4|0;if(Up>>>0<4){Tp=Tp+1|0}Yp=Up;Up=Tp;if((Xp|0)<(Tp|0)?1:(Xp|0)<=(Tp|0)?t[Ip+8>>2]>=Yp>>>0?0:1:0){break a}Tp=Wp+q[Ip>>2]|0;$p=r[Tp|0]|r[Tp+1|0]<<8|(r[Tp+2|0]<<16|r[Tp+3|0]<<24);q[Vp+28>>2]=$p;q[Ip+16>>2]=Yp;q[Ip+20>>2]=Up;break b}Zp=-1;if(!oi(1,Vp+28|0,Ip)){break a}$p=q[Vp+28>>2]}c:{if(!$p){break c}Tp=q[a+8>>2];if($p>>>0>(q[Tp+4>>2]-q[Tp>>2]>>2>>>0)/3>>>0){break a}Tp=s[q[a+4>>2]+36>>1];if((Tp<<24|Tp<<8&16711680)>>>16>>>0>=258){Wp=a+36|0;Yp=a+44|0;Up=a+40|0;Xp=0;while(1){oi(1,Vp+8|0,Ip);q[Vp+20>>2]=q[Vp+8>>2]+Xp;oi(1,Vp+8|0,Ip);Xp=q[Vp+20>>2];Tp=q[Vp+8>>2];if(Xp>>>0<Tp>>>0){break a}q[Vp+16>>2]=Xp-Tp;Tp=q[Up>>2];d:{if((Tp|0)!=q[Yp>>2]){aq=q[Vp+20>>2];q[Tp>>2]=q[Vp+16>>2];q[Tp+4>>2]=aq;q[Tp+8>>2]=q[Vp+24>>2];q[Up>>2]=q[Up>>2]+12;break d}yi(Wp,Vp+16|0)}_p=_p+1|0;if((_p|0)!=($p|0)){continue}break}Xp=0;_j(Ip,0,0);Yp=a+36|0;while(1){Tp=r[Ip+36|0];Up=s[q[a+4>>2]+36>>1];e:{if((Up<<24|Up<<8&16711680)>>>16>>>0<=513){if(!Tp){break e}Zp=0;Tp=q[Ip+32>>2];Wp=Tp>>>3;aq=q[Ip+24>>2];Up=Wp+aq|0;_p=q[Ip+28>>2];f:{if(Up>>>0>=_p>>>0){Up=Tp;break f}Zp=r[Up|0];Up=Tp+1|0;q[Ip+32>>2]=Up;Wp=Up>>>3;Zp=Zp>>>(Tp&7)&1}if(Wp+aq>>>0>=_p>>>0){break e}q[Ip+32>>2]=Up+1;break e}if(!Tp){break e}Zp=0;Tp=q[Ip+32>>2];Up=q[Ip+24>>2]+(Tp>>>3)|0;if(Up>>>0>=t[Ip+28>>2]){break e}Up=r[Up|0];q[Ip+32>>2]=Tp+1;Zp=Up>>>(Tp&7)&1}Tp=q[Yp>>2]+w(Xp,12)|0;o[Tp+8|0]=r[Tp+8|0]&254|Zp&1;Xp=Xp+1|0;if(($p|0)!=(Xp|0)){continue}break}ak(Ip);break c}fq=a+36|0;gq=a+44|0;aq=a+40|0;while(1){Wp=q[Ip+12>>2];Xp=Wp;Tp=q[Ip+20>>2];Up=Tp;_p=q[Ip+16>>2];Yp=_p+4|0;if(Yp>>>0<4){Tp=Tp+1|0}bq=q[Ip+8>>2];cq=Yp;Yp=Tp;if((Wp|0)<(Tp|0)?1:(Wp|0)<=(Tp|0)?bq>>>0>=cq>>>0?0:1:0){break a}dq=q[Ip>>2];Tp=dq+_p|0;q[Vp+16>>2]=r[Tp|0]|r[Tp+1|0]<<8|(r[Tp+2|0]<<16|r[Tp+3|0]<<24);q[Ip+16>>2]=cq;q[Ip+20>>2]=Yp;Wp=Xp;Tp=Up;Yp=_p+8|0;if(Yp>>>0<8){Tp=Tp+1|0}if((Wp|0)<(Tp|0)?1:(Wp|0)<=(Tp|0)?bq>>>0>=Yp>>>0?0:1:0){break a}Wp=cq+dq|0;q[Vp+20>>2]=r[Wp|0]|r[Wp+1|0]<<8|(r[Wp+2|0]<<16|r[Wp+3|0]<<24);q[Ip+16>>2]=Yp;q[Ip+20>>2]=Tp;if((Xp|0)<(Tp|0)?1:(Xp|0)<=(Tp|0)?bq>>>0>Yp>>>0?0:1:0){break a}Xp=r[Yp+dq|0];Wp=_p+9|0;if(Wp>>>0<9){Up=Up+1|0}Tp=Ip;q[Tp+16>>2]=Wp;q[Tp+20>>2]=Up;o[Vp+24|0]=r[Vp+24|0]&254|Xp&1;Tp=q[aq>>2];g:{if((Tp|0)!=q[gq>>2]){Up=q[Vp+20>>2];q[Tp>>2]=q[Vp+16>>2];q[Tp+4>>2]=Up;q[Tp+8>>2]=q[Vp+24>>2];q[aq>>2]=q[aq>>2]+12;break g}yi(fq,Vp+16|0)}eq=eq+1|0;if(($p|0)!=(eq|0)){continue}break}}q[Vp+16>>2]=0;h:{Tp=s[q[a+4>>2]+36>>1];Tp=(Tp<<24|Tp<<8&16711680)>>>16;i:{if(Tp>>>0<=511){Zp=-1;Xp=q[Ip+12>>2];Tp=q[Ip+20>>2];Wp=q[Ip+16>>2];Up=Wp+4|0;if(Up>>>0<4){Tp=Tp+1|0}Yp=Up;Up=Tp;if((Xp|0)<(Tp|0)?1:(Xp|0)<=(Tp|0)?t[Ip+8>>2]>=Yp>>>0?0:1:0){break a}Tp=Wp+q[Ip>>2]|0;Wp=r[Tp|0]|r[Tp+1|0]<<8|(r[Tp+2|0]<<16|r[Tp+3|0]<<24);q[Vp+16>>2]=Wp;q[Ip+16>>2]=Yp;q[Ip+20>>2]=Up;break i}if((Tp|0)!=512){break h}Zp=-1;if(!oi(1,Vp+16|0,Ip)){break a}Wp=q[Vp+16>>2]}if(!Wp){break h}Tp=s[q[a+4>>2]+36>>1];if((Tp<<24|Tp<<8&16711680)>>>16>>>0>=258){Yp=a+48|0;Zp=a+56|0;Tp=a+52|0;Xp=0;a=0;while(1){q[Vp+8>>2]=0;oi(1,Vp+4|0,Ip);a=q[Vp+4>>2]+a|0;q[Vp+8>>2]=a;Up=q[Tp>>2];j:{if((Up|0)!=q[Zp>>2]){q[Up>>2]=a;q[Tp>>2]=Up+4;break j}zi(Yp,Vp+8|0)}Xp=Xp+1|0;if((Wp|0)!=(Xp|0)){continue}break}break h}Yp=a+48|0;Zp=a+56|0;Up=a+52|0;$p=0;while(1){k:{q[Vp+8>>2]=0;Xp=q[Ip+12>>2];Tp=q[Ip+20>>2];aq=q[Ip+16>>2];a=aq+4|0;if(a>>>0<4){Tp=Tp+1|0}_p=a;a=Tp;if((Xp|0)<(Tp|0)?1:(Xp|0)<=(Tp|0)?t[Ip+8>>2]>=_p>>>0?0:1:0){break k}Tp=aq+q[Ip>>2]|0;Tp=r[Tp|0]|r[Tp+1|0]<<8|(r[Tp+2|0]<<16|r[Tp+3|0]<<24);q[Vp+8>>2]=Tp;q[Ip+16>>2]=_p;q[Ip+20>>2]=a;a=q[Up>>2];l:{if((a|0)!=q[Zp>>2]){q[a>>2]=Tp;q[Up>>2]=a+4;break l}zi(Yp,Vp+8|0)}$p=$p+1|0;if(($p|0)!=(Wp|0)){continue}break h}break}Zp=-1;break a}Zp=q[Ip+16>>2]}T=Vp+32|0;return Zp}function si(a,Ip){var hq=0,iq=0,jq=0,kq=0,lq=0,mq=0,nq=0,oq=0;nq=T-16|0;T=nq;hq=q[a+4>>2];q[a+40>>2]=q[a>>2];q[a+44>>2]=hq;jq=a+32|0;hq=jq;iq=q[hq+4>>2];q[a+72>>2]=q[hq>>2];q[a+76>>2]=iq;iq=a+24|0;lq=q[iq+4>>2];hq=a- -64|0;q[hq>>2]=q[iq>>2];q[hq+4>>2]=lq;kq=a+16|0;hq=kq;lq=q[hq+4>>2];q[a+56>>2]=q[hq>>2];q[a+60>>2]=lq;lq=a+8|0;hq=lq;mq=q[hq+4>>2];q[a+48>>2]=q[hq>>2];q[a+52>>2]=mq;a:{b:{hq=a+40|0;if(_j(hq,1,nq+8|0)){mq=q[hq+4>>2];q[a>>2]=q[hq>>2];q[a+4>>2]=mq;mq=q[hq+36>>2];q[jq>>2]=q[hq+32>>2];q[jq+4>>2]=mq;jq=q[hq+28>>2];q[iq>>2]=q[hq+24>>2];q[iq+4>>2]=jq;iq=q[hq+20>>2];mq=iq;jq=q[hq+16>>2];q[kq>>2]=jq;q[kq+4>>2]=iq;iq=q[hq+12>>2];kq=iq;hq=q[hq+8>>2];q[lq>>2]=hq;q[lq+4>>2]=iq;iq=jq;lq=hq-iq|0;oq=q[nq+12>>2];iq=kq-((hq>>>0<iq>>>0)+mq|0)|0;hq=q[nq+8>>2];if((oq|0)==(iq|0)&hq>>>0<=lq>>>0|oq>>>0<iq>>>0){break b}}hq=0;break a}kq=mq+oq|0;jq=hq+jq|0;if(jq>>>0<hq>>>0){kq=kq+1|0}q[a+16>>2]=jq;q[a+20>>2]=kq;c:{if(s[a+38>>1]<=513){hq=q[a+4>>2];q[a+96>>2]=q[a>>2];q[a+100>>2]=hq;jq=a+32|0;hq=jq;iq=q[hq+4>>2];q[a+128>>2]=q[hq>>2];q[a+132>>2]=iq;iq=a+24|0;hq=iq;kq=q[hq+4>>2];q[a+120>>2]=q[hq>>2];q[a+124>>2]=kq;kq=a+16|0;hq=kq;lq=q[hq+4>>2];q[a+112>>2]=q[hq>>2];q[a+116>>2]=lq;lq=a+8|0;hq=lq;mq=q[hq+4>>2];q[a+104>>2]=q[hq>>2];q[a+108>>2]=mq;d:{hq=a+96|0;if(_j(hq,1,nq+8|0)){mq=q[hq+4>>2];q[a>>2]=q[hq>>2];q[a+4>>2]=mq;mq=q[hq+36>>2];q[jq>>2]=q[hq+32>>2];q[jq+4>>2]=mq;jq=q[hq+28>>2];q[iq>>2]=q[hq+24>>2];q[iq+4>>2]=jq;iq=q[hq+20>>2];mq=iq;jq=q[hq+16>>2];q[kq>>2]=jq;q[kq+4>>2]=iq;iq=q[hq+12>>2];kq=iq;hq=q[hq+8>>2];q[lq>>2]=hq;q[lq+4>>2]=iq;iq=jq;lq=hq-iq|0;oq=q[nq+12>>2];iq=kq-((hq>>>0<iq>>>0)+mq|0)|0;hq=q[nq+8>>2];if((oq|0)==(iq|0)&hq>>>0<=lq>>>0|oq>>>0<iq>>>0){break d}}hq=0;break a}kq=mq+oq|0;jq=hq+jq|0;if(jq>>>0<hq>>>0){kq=kq+1|0}q[a+16>>2]=jq;q[a+20>>2]=kq;break c}hq=0;if(!bh(a+80|0,a)){break a}}hq=0;if(!Ai(a)){break a}hq=q[a+4>>2];q[Ip>>2]=q[a>>2];q[Ip+4>>2]=hq;hq=q[a+36>>2];q[Ip+32>>2]=q[a+32>>2];q[Ip+36>>2]=hq;hq=q[a+28>>2];q[Ip+24>>2]=q[a+24>>2];q[Ip+28>>2]=hq;hq=q[a+20>>2];q[Ip+16>>2]=q[a+16>>2];q[Ip+20>>2]=hq;hq=q[a+12>>2];q[Ip+8>>2]=q[a+8>>2];q[Ip+12>>2]=hq;hq=1}T=nq+16|0;return hq}function ti(a,Ip){var pq=0,qq=0,rq=0,sq=0,tq=0,uq=0,vq=0,wq=0,xq=0,yq=0,zq=0,Aq=0,Bq=0,Cq=0,Dq=0,Eq=0,Fq=0,Gq=0,Hq=0,Iq=0,Jq=0,Kq=0,Lq=0;sq=T-96|0;T=sq;q[sq+72>>2]=0;q[sq+64>>2]=0;q[sq+68>>2]=0;q[sq+48>>2]=0;q[sq+52>>2]=0;q[sq+40>>2]=0;q[sq+44>>2]=0;q[sq+56>>2]=1065353216;q[sq+32>>2]=0;q[sq+24>>2]=0;q[sq+28>>2]=0;Jq=q[a+124>>2];a:{b:{c:{d:{if((Ip|0)>=1){Iq=a+8|0;Fq=q[a+216>>2]!=q[a+220>>2];Gq=a+40|0;while(1){e:{f:{g:{h:{i:{j:{k:{if(!r[a+308|0]){break k}l:{m:{wq=q[a+296>>2];yq=q[a+304>>2];pq=wq+(yq>>>3)|0;uq=q[a+300>>2];if(pq>>>0>=uq>>>0){break m}pq=r[pq|0];qq=yq+1|0;q[a+304>>2]=qq;if(!(pq>>>(yq&7)&1)){break m}pq=qq>>>3;rq=wq+pq|0;n:{if(rq>>>0>=uq>>>0){rq=qq;qq=0;break n}vq=r[rq|0];rq=yq+2|0;q[a+304>>2]=rq;pq=rq>>>3;qq=vq>>>(qq&7)&1}pq=pq+wq|0;if(pq>>>0<uq>>>0){pq=r[pq|0];q[a+304>>2]=rq+1;pq=pq>>>(rq&7)<<1&2}else{pq=0}pq=(qq|pq)<<1|1;switch(pq+ -2|0){case 0:case 2:case 4:break h;case 5:break j;case 1:case 3:break l;default:break k}}qq=q[sq+68>>2];if((qq|0)==q[sq+64>>2]){break d}wq=-1;Aq=q[Iq>>2];uq=q[Aq+24>>2];rq=uq;vq=qq+ -4|0;Dq=q[vq>>2];pq=-1;o:{if((Dq|0)==-1){break o}qq=Dq+1|0;qq=(qq>>>0)%3|0?qq:Dq+ -2|0;pq=-1;if((qq|0)==-1){break o}pq=q[q[Aq>>2]+(qq<<2)>>2]}rq=q[rq+(pq<<2)>>2];if((rq|0)!=-1){qq=rq+1|0;wq=(qq>>>0)%3|0?qq:rq+ -2|0}rq=q[Aq+12>>2];Bq=w(tq,3);qq=Bq+1|0;q[rq+(Dq<<2)>>2]=qq;qq=qq<<2;q[qq+rq>>2]=Dq;zq=Bq+2|0;q[rq+(wq<<2)>>2]=zq;yq=zq<<2;q[yq+rq>>2]=wq;Cq=q[Aq>>2];q[Cq+(Bq<<2)>>2]=pq;rq=qq+Cq|0;xq=-1;p:{if((wq|0)==-1){break p}qq=wq+1|0;qq=(qq>>>0)%3|0?qq:wq+ -2|0;xq=-1;if((qq|0)==-1){break p}xq=q[Cq+(qq<<2)>>2]}q[rq>>2]=xq;q:{r:{if((Dq|0)!=-1){qq=Dq+((Dq>>>0)%3|0?-1:2)|0;if((qq|0)!=-1){break r}}q[yq+Cq>>2]=-1;break q}qq=q[Cq+(qq<<2)>>2];q[yq+Cq>>2]=qq;if((qq|0)==-1){break q}q[uq+(qq<<2)>>2]=zq}rq=q[a+120>>2]+(pq>>>3&536870908)|0;qq=q[rq>>2];Kq=rq,Lq=eo(pq)&qq,q[Kq>>2]=Lq;q[vq>>2]=Bq;break e}rq=q[sq+68>>2];if((rq|0)==q[sq+64>>2]){break d}yq=q[Iq>>2];qq=q[yq+12>>2];zq=w(tq,3);wq=(pq|0)==5;uq=zq+(wq?2:1)|0;pq=uq<<2;Cq=q[rq+ -4>>2];q[qq+pq>>2]=Cq;q[qq+(Cq<<2)>>2]=uq;vq=yq+24|0;rq=yq+28|0;qq=q[rq>>2];s:{if((qq|0)!=q[yq+32>>2]){q[qq>>2]=-1;Aq=qq+4|0;q[rq>>2]=Aq;break s}zi(vq,11312);Aq=q[rq>>2]}rq=-1;qq=q[Iq>>2];yq=q[qq+24>>2];if(q[qq+28>>2]-yq>>2>(Jq|0)){break c}rq=zq+2|0;Bq=q[qq>>2];xq=Bq+pq|0;qq=Aq-q[vq>>2]|0;pq=(qq>>2)+ -1|0;q[xq>>2]=pq;if(qq){q[yq+(pq<<2)>>2]=uq}rq=wq?zq:rq;qq=Bq+(wq+zq<<2)|0;t:{u:{v:{if((Cq|0)!=-1){pq=Cq+((Cq>>>0)%3|0?-1:2)|0;if((pq|0)==-1){break v}pq=q[Bq+(pq<<2)>>2];q[Bq+(rq<<2)>>2]=pq;if((pq|0)==-1){break u}q[yq+(pq<<2)>>2]=rq;break u}q[Bq+(rq<<2)>>2]=-1;rq=-1;break t}q[Bq+(rq<<2)>>2]=-1}pq=Cq+1|0;pq=(pq>>>0)%3|0?pq:Cq+ -2|0;rq=-1;if((pq|0)==-1){break t}rq=q[Bq+(pq<<2)>>2]}q[qq>>2]=rq;q[q[sq+68>>2]+ -4>>2]=zq;break i}rq=-1;pq=q[sq+68>>2];Aq=q[sq+64>>2];if((pq|0)==(Aq|0)){break c}qq=pq+ -4|0;Eq=q[qq>>2];q[sq+68>>2]=qq;zq=q[sq+44>>2];w:{if(!zq){pq=qq;break w}uq=q[sq+40>>2];yq=co(zq)>>>0>1;vq=zq+2147483647&tq;x:{if(!yq){break x}vq=tq;if(tq>>>0<zq>>>0){break x}vq=(tq>>>0)%(zq>>>0)|0}uq=q[uq+(vq<<2)>>2];if(!uq){pq=qq;break w}xq=q[uq>>2];if(!xq){pq=qq;break w}uq=zq+ -1|0;y:{while(1){wq=q[xq+4>>2];z:{if((wq|0)!=(tq|0)){A:{if(!yq){wq=wq&uq;break A}if(wq>>>0<zq>>>0){break A}wq=(wq>>>0)%(zq>>>0)|0}if((wq|0)==(vq|0)){break z}pq=qq;break w}if(q[xq+8>>2]==(tq|0)){break y}}xq=q[xq>>2];if(xq){continue}break}pq=qq;break w}vq=xq+12|0;if((qq|0)!=q[sq+72>>2]){q[qq>>2]=q[vq>>2];q[sq+68>>2]=pq;break w}zi(sq- -64|0,vq);pq=q[sq+68>>2];Aq=q[sq+64>>2]}if((pq|0)==(Aq|0)){break c}Dq=q[pq+ -4>>2];vq=(Dq|0)==-1;Hq=q[Iq>>2];if(q[q[Hq+12>>2]+(Dq<<2)>>2]!=-1?!vq:0){break c}yq=(Eq|0)==-1;zq=Hq+12|0;uq=q[zq>>2];if(q[uq+(Eq<<2)>>2]!=-1?!yq:0){break c}Cq=w(tq,3);Aq=Cq+2|0;q[uq+(Dq<<2)>>2]=Aq;Bq=Aq<<2;q[Bq+uq>>2]=Dq;qq=Cq+1|0;q[uq+(Eq<<2)>>2]=qq;wq=uq;uq=qq<<2;q[wq+uq>>2]=Eq;if(vq){break g}wq=-1;vq=q[Hq>>2];xq=vq+(Cq<<2)|0;qq=Dq+((Dq>>>0)%3|0?-1:2)|0;if((qq|0)!=-1){wq=q[(qq<<2)+vq>>2]}q[xq>>2]=wq;qq=Dq+1|0;qq=(qq>>>0)%3|0?qq:Dq+ -2|0;if((qq|0)==-1){break f}rq=q[(qq<<2)+vq>>2];break f}q[sq>>2]=w(tq,3);pq=q[Iq>>2];rq=pq+24|0;uq=q[pq+32>>2];qq=pq+28|0;pq=q[qq>>2];B:{if((uq|0)!=(pq|0)){q[pq>>2]=-1;pq=pq+4|0;q[qq>>2]=pq;break B}zi(rq,11312);pq=q[qq>>2]}Aq=q[Iq>>2];wq=q[Aq>>2];qq=q[sq>>2];yq=pq-q[rq>>2]|0;zq=yq>>2;rq=zq+ -1|0;q[wq+(qq<<2)>>2]=rq;qq=qq+1|0;uq=Aq+24|0;vq=Aq+28|0;pq=q[vq>>2];C:{if((pq|0)!=q[Aq+32>>2]){q[pq>>2]=-1;pq=pq+4|0;q[vq>>2]=pq;break C}zi(uq,11312);pq=q[vq>>2];wq=q[Aq>>2]}q[(qq<<2)+wq>>2]=(pq-q[uq>>2]>>2)+ -1;pq=q[sq>>2]+2|0;uq=q[Iq>>2];qq=uq+28|0;vq=q[qq>>2];D:{if((vq|0)!=q[uq+32>>2]){q[vq>>2]=-1;wq=vq+4|0;q[qq>>2]=wq;break D}zi(uq+24|0,11312);wq=q[qq>>2]}q[q[uq>>2]+(pq<<2)>>2]=(wq-q[uq+24>>2]>>2)+ -1;pq=q[Iq>>2];qq=q[pq+24>>2];if(q[pq+28>>2]-qq>>2>(Jq|0)){break d}pq=q[sq>>2];E:{F:{if(!yq){wq=1;q[qq+(zq<<2)>>2]=pq+1;break F}q[qq+(rq<<2)>>2]=pq;wq=0;if((yq|0)==-4){break F}q[qq+(zq<<2)>>2]=q[sq>>2]+1;wq=zq+1|0;if((wq|0)==-1){break E}}q[qq+(wq<<2)>>2]=q[sq>>2]+2}pq=q[sq+68>>2];if((pq|0)!=q[sq+72>>2]){q[pq>>2]=q[sq>>2];q[sq+68>>2]=pq+4;break i}zi(sq- -64|0,sq)}xq=q[Gq>>2];if((xq|0)==q[a+36>>2]){break e}uq=(tq^-1)+Ip|0;while(1){rq=-1;pq=q[xq+ -8>>2];if(pq>>>0>uq>>>0){break c}if((pq|0)!=(uq|0)){break e}qq=r[xq+ -4|0];pq=xq+ -12|0;vq=q[pq>>2];q[Gq>>2]=pq;if((vq|0)<0){break c}rq=q[q[sq+68>>2]+ -4>>2];q[sq+20>>2]=(vq^-1)+Ip;q[sq+88>>2]=sq+20;Bi(sq,sq+40|0,sq+20|0,sq+88|0);vq=q[sq>>2];G:{if(qq&1){pq=-1;if((rq|0)==-1){break G}pq=rq+1|0;pq=(pq>>>0)%3|0?pq:rq+ -2|0;break G}pq=-1;if((rq|0)==-1){break G}pq=rq+ -1|0;if((rq>>>0)%3){break G}pq=rq+2|0}q[vq+12>>2]=pq;xq=q[Gq>>2];if((xq|0)!=q[a+36>>2]){continue}break}break e}F()}wq=-1;vq=q[Hq>>2];q[vq+(Cq<<2)>>2]=-1}q[uq+vq>>2]=rq;H:{I:{J:{if(!yq){qq=Eq+((Eq>>>0)%3|0?-1:2)|0;if((qq|0)==-1){break J}qq=q[(qq<<2)+vq>>2];q[vq+Bq>>2]=qq;if((qq|0)==-1){break I}q[q[Hq+24>>2]+(qq<<2)>>2]=Aq;break I}q[vq+Bq>>2]=-1;xq=-1;rq=-1;break H}q[vq+Bq>>2]=-1}xq=-1;qq=Eq+1|0;qq=(qq>>>0)%3|0?qq:Eq+ -2|0;rq=-1;if((qq|0)==-1){break H}xq=q[(qq<<2)+vq>>2];rq=qq}q[sq>>2]=xq;uq=q[Hq+24>>2];if((wq|0)!=-1){q[uq+(wq<<2)>>2]=q[uq+(xq<<2)>>2]}K:{if((rq|0)==-1){break K}vq=q[Hq>>2];while(1){q[vq+(rq<<2)>>2]=wq;qq=rq+1|0;qq=(qq>>>0)%3|0?qq:rq+ -2|0;if((qq|0)==-1){break K}rq=q[q[zq>>2]+(qq<<2)>>2];if((rq|0)==-1){break K}qq=rq+1|0;rq=(qq>>>0)%3|0?qq:rq+ -2|0;if((rq|0)!=-1){continue}break}}q[uq+(q[sq>>2]<<2)>>2]=-1;L:{if(Fq){break L}qq=q[sq+28>>2];if((qq|0)!=q[sq+32>>2]){q[qq>>2]=q[sq>>2];q[sq+28>>2]=qq+4;break L}zi(sq+24|0,sq);pq=q[sq+68>>2]}q[pq+ -4>>2]=Cq}tq=tq+1|0;if((tq|0)!=(Ip|0)){continue}break}wq=Ip}rq=-1;xq=q[a+8>>2];if(q[xq+28>>2]-q[xq+24>>2]>>2>(Jq|0)){break c}tq=q[sq+68>>2];if((tq|0)!=q[sq+64>>2]){Dq=a+72|0;qq=a+60|0;Aq=a+312|0;Fq=a+8|0;Cq=a+68|0;Jq=a+80|0;Hq=a+76|0;while(1){pq=tq+ -4|0;Ip=q[pq>>2];q[sq+68>>2]=pq;q[sq>>2]=Ip;M:{N:{O:{P:{if(s[a+270>>1]<=513){if(!r[a+364|0]){break O}pq=q[a+360>>2];Ip=q[a+352>>2]+(pq>>>3)|0;if(Ip>>>0>=t[a+356>>2]){break N}Ip=r[Ip|0];q[a+360>>2]=pq+1;Ip=Ip>>>(pq&7)&1;break P}Ip=dh(Aq)}if(!Ip){break N}}zq=q[Fq>>2];Eq=q[zq>>2];if((wq|0)>=((q[zq+4>>2]-Eq>>2>>>0)/3|0)){break d}pq=-1;xq=-1;tq=q[zq+24>>2];uq=tq;Gq=q[sq>>2];vq=-1;Q:{if((Gq|0)==-1){break Q}Ip=Gq+1|0;Ip=(Ip>>>0)%3|0?Ip:Gq+ -2|0;vq=-1;if((Ip|0)==-1){break Q}vq=q[Eq+(Ip<<2)>>2]}uq=q[uq+(vq<<2)>>2];R:{if((uq|0)==-1){break R}Ip=uq+1|0;Ip=(Ip>>>0)%3|0?Ip:uq+ -2|0;if((Ip|0)==-1){break R}pq=Ip+1|0;pq=(pq>>>0)%3|0?pq:Ip+ -2|0;if((pq|0)!=-1){xq=q[Eq+(pq<<2)>>2]}pq=Ip}Ip=-1;Bq=-1;yq=q[tq+(xq<<2)>>2];uq=-1;S:{if((yq|0)==-1){break S}tq=yq+1|0;tq=(tq>>>0)%3|0?tq:yq+ -2|0;uq=-1;if((tq|0)==-1){break S}uq=tq+1|0;uq=(uq>>>0)%3|0?uq:tq+ -2|0;if((uq|0)!=-1){Bq=q[Eq+(uq<<2)>>2]}uq=tq}tq=w(wq,3);q[sq+88>>2]=tq;yq=q[zq+12>>2];q[yq+(tq<<2)>>2]=Gq;q[yq+(Gq<<2)>>2]=tq;tq=q[sq+88>>2]+1|0;q[yq+(tq<<2)>>2]=pq;q[yq+(pq<<2)>>2]=tq;pq=q[sq+88>>2]+2|0;q[yq+(pq<<2)>>2]=uq;q[yq+(uq<<2)>>2]=pq;pq=q[sq+88>>2];q[Eq+(pq<<2)>>2]=xq;Gq=pq+1|0;zq=Eq+(Gq<<2)|0;q[zq>>2]=Bq;yq=pq+2|0;uq=Eq+(yq<<2)|0;q[uq>>2]=vq;Bq=q[a+120>>2];tq=Gq>>>0<pq>>>0?-1:xq;vq=Bq+(tq>>>3&536870908)|0;pq=q[vq>>2];Kq=vq,Lq=eo(tq)&pq,q[Kq>>2]=Lq;Ip=(Gq|0)!=-1?q[zq>>2]:Ip;vq=Bq+(Ip>>>3&536870908)|0;pq=q[vq>>2];Kq=vq,Lq=eo(Ip)&pq,q[Kq>>2]=Lq;tq=-1;tq=(yq|0)!=-1?q[uq>>2]:tq;pq=Bq+(tq>>>3&536870908)|0;Ip=q[pq>>2];Kq=pq,Lq=eo(tq)&Ip,q[Kq>>2]=Lq;tq=q[a+64>>2];pq=q[Cq>>2];if((tq|0)==pq<<5){if((tq+1|0)<=-1){break a}Ip=qq;if(tq>>>0<=1073741822){vq=tq+32&-32;pq=pq<<6;pq=pq>>>0<vq>>>0?vq:pq}else{pq=2147483647}cb(Ip,pq);tq=q[a+64>>2]}wq=wq+1|0;q[a+64>>2]=tq+1;Ip=q[a+60>>2]+(tq>>>3&536870908)|0;q[Ip>>2]=q[Ip>>2]|1<<(tq&31);Ip=q[Hq>>2];if((Ip|0)!=q[Jq>>2]){q[Ip>>2]=q[sq+88>>2];q[Hq>>2]=Ip+4;break M}zi(Dq,sq+88|0);break M}tq=q[a+64>>2];pq=q[Cq>>2];if((tq|0)==pq<<5){if((tq+1|0)<=-1){break a}Ip=qq;if(tq>>>0<=1073741822){vq=tq+32&-32;pq=pq<<6;pq=pq>>>0<vq>>>0?vq:pq}else{pq=2147483647}cb(Ip,pq);tq=q[a+64>>2]}q[a+64>>2]=tq+1;pq=q[a+60>>2]+(tq>>>3&536870908)|0;Ip=q[pq>>2];Kq=pq,Lq=eo(tq)&Ip,q[Kq>>2]=Lq;Ip=q[Hq>>2];if((Ip|0)!=q[Jq>>2]){q[Ip>>2]=q[sq>>2];q[Hq>>2]=Ip+4;break M}zi(Dq,sq)}tq=q[sq+68>>2];if((tq|0)!=q[sq+64>>2]){continue}break}xq=q[a+8>>2]}if(((q[xq+4>>2]-q[xq>>2]>>2>>>0)/3|0)!=(wq|0)){break c}rq=q[xq+28>>2]-q[xq+24>>2]>>2;Fq=q[sq+24>>2];uq=q[sq+28>>2];if((Fq|0)==(uq|0)){break b}vq=a+8|0;while(1){zq=q[Fq>>2];wq=q[xq+24>>2];tq=rq+ -1|0;T:{if(q[wq+(tq<<2)>>2]!=-1){pq=rq;break T}wq=q[xq+24>>2];while(1){tq=rq+ -2|0;pq=rq+ -1|0;rq=pq;if(q[(tq<<2)+wq>>2]==-1){continue}break}}if(!(tq>>>0<zq>>>0)){q[sq>>2]=xq;Ip=tq<<2;rq=q[Ip+wq>>2];o[sq+12|0]=1;q[sq+8>>2]=rq;q[sq+4>>2]=rq;if((rq|0)!=-1){while(1){q[q[xq>>2]+(rq<<2)>>2]=zq;lg(sq);xq=q[vq>>2];rq=q[sq+8>>2];if((rq|0)!=-1){continue}break}}qq=Ip;Ip=q[xq+24>>2];qq=qq+Ip|0;if((zq|0)!=-1){q[Ip+(zq<<2)>>2]=q[qq>>2]}q[qq>>2]=-1;yq=1<<(zq&31);Ip=q[a+120>>2];rq=Ip+(zq>>>3&536870908)|0;qq=rq;wq=Ip+(tq>>>3&536870908)|0;Ip=1<<(tq&31);tq=yq|q[rq>>2];U:{if(q[wq>>2]&Ip){break U}tq=q[rq>>2]&(yq^-1)}q[qq>>2]=tq;q[wq>>2]=q[wq>>2]&(Ip^-1);pq=pq+ -1|0}rq=pq;Fq=Fq+4|0;if((uq|0)!=(Fq|0)){continue}break}break c}rq=-1}Fq=q[sq+24>>2]}if(Fq){q[sq+28>>2]=Fq;An(Fq)}tq=q[sq+48>>2];if(tq){while(1){a=q[tq>>2];An(tq);tq=a;if(tq){continue}break}}a=q[sq+40>>2];q[sq+40>>2]=0;if(a){An(a)}a=q[sq+64>>2];if(a){q[sq+68>>2]=a;An(a)}T=sq+96|0;return rq}bn();F()}function ui(a,Ip){var Mq=0,Nq=0,Oq=0,Pq=0,Qq=0,Rq=0,Sq=0,Tq=0,Uq=0,Vq=0,Wq=0;Nq=T-32|0;T=Nq;q[Nq+16>>2]=Ip;Mq=-1;a:{if((Ip|0)==-1){q[Nq+20>>2]=-1;break a}Mq=Ip+1|0;q[Nq+20>>2]=(Mq>>>0)%3|0?Mq:Ip+ -2|0;if((Ip>>>0)%3){Mq=Ip+ -1|0;break a}Mq=Ip+2|0}q[Nq+24>>2]=Mq;Rq=a+220|0;Vq=a+8|0;Wq=a+368|0;while(1){b:{if(!((Ip|0)==-1|q[q[q[Vq>>2]+12>>2]+(Ip<<2)>>2]==-1)){Mq=0;if(q[Rq>>2]==q[a+216>>2]){break b}while(1){c:{if(!dh(q[Wq>>2]+(Mq<<4)|0)){break c}Oq=q[a+216>>2];q[Nq+12>>2]=Ip;Oq=Oq+w(Mq,144)|0;Qq=Oq+136|0;Pq=q[Qq>>2];if(Pq>>>0<t[Oq+140>>2]){q[Pq>>2]=Ip;q[Qq>>2]=Pq+4;break c}ya(Oq+132|0,Nq+12|0)}Mq=Mq+1|0;if(Mq>>>0<(q[Rq>>2]-q[a+216>>2]|0)/144>>>0){continue}break}break b}Mq=0;Oq=q[a+216>>2];Pq=q[Rq>>2];if((Oq|0)==(Pq|0)){break b}while(1){q[Nq+12>>2]=Ip;Qq=w(Mq,144)+Oq|0;Uq=Qq+136|0;Sq=q[Uq>>2];d:{if(Sq>>>0<t[Qq+140>>2]){q[Sq>>2]=Ip;q[Uq>>2]=Sq+4;break d}ya(Qq+132|0,Nq+12|0);Pq=q[Rq>>2];Oq=q[a+216>>2]}Mq=Mq+1|0;if(Mq>>>0<(Pq-Oq|0)/144>>>0){continue}break}}Tq=Tq+1|0;if((Tq|0)!=3){Ip=q[(Nq+16|0)+(Tq<<2)>>2];continue}break}T=Nq+32|0;return 1}function vi(a,Ip){var Xq=0,Yq=0,Zq=0,_q=0,$q=0,ar=0,br=0,cr=0,dr=0,er=0,fr=0,gr=0;Yq=T-32|0;T=Yq;q[Yq+16>>2]=Ip;Xq=-1;a:{if((Ip|0)==-1){q[Yq+20>>2]=-1;break a}Xq=Ip+1|0;q[Yq+20>>2]=(Xq>>>0)%3|0?Xq:Ip+ -2|0;if((Ip>>>0)%3){Xq=Ip+ -1|0;break a}Xq=Ip+2|0}q[Yq+24>>2]=Xq;er=(Ip|0)==-1?-1:(Ip>>>0)/3|0;ar=a+220|0;fr=a+8|0;gr=a+368|0;while(1){b:{c:{if((Ip|0)!=-1){Xq=q[q[q[fr>>2]+12>>2]+(Ip<<2)>>2];if((Xq|0)!=-1){break c}}Xq=0;Zq=q[a+216>>2];_q=q[ar>>2];if((Zq|0)==(_q|0)){break b}while(1){q[Yq+12>>2]=Ip;$q=w(Xq,144)+Zq|0;dr=$q+136|0;br=q[dr>>2];d:{if(br>>>0<t[$q+140>>2]){q[br>>2]=Ip;q[dr>>2]=br+4;break d}ya($q+132|0,Yq+12|0);_q=q[ar>>2];Zq=q[a+216>>2]}Xq=Xq+1|0;if(Xq>>>0<(_q-Zq|0)/144>>>0){continue}break}break b}if((Xq>>>0)/3>>>0<er>>>0){break b}Xq=0;if(q[ar>>2]==q[a+216>>2]){break b}while(1){e:{if(!dh(q[gr>>2]+(Xq<<4)|0)){break e}Zq=q[a+216>>2];q[Yq+12>>2]=Ip;Zq=Zq+w(Xq,144)|0;$q=Zq+136|0;_q=q[$q>>2];if(_q>>>0<t[Zq+140>>2]){q[_q>>2]=Ip;q[$q>>2]=_q+4;break e}ya(Zq+132|0,Yq+12|0)}Xq=Xq+1|0;if(Xq>>>0<(q[ar>>2]-q[a+216>>2]|0)/144>>>0){continue}break}}cr=cr+1|0;if((cr|0)!=3){Ip=q[(Yq+16|0)+(cr<<2)>>2];continue}break}T=Yq+32|0;return 1}function wi(a,Ip){var hr=0,ir=0,jr=0,kr=0,lr=0;ir=q[a+12>>2];hr=q[a+16>>2]-ir>>2;a:{if(hr>>>0<Ip>>>0){Fa(a+12|0,Ip-hr|0);break a}if(hr>>>0<=Ip>>>0){break a}q[a+16>>2]=ir+(Ip<<2)}b:{hr=q[a>>2];c:{if(q[a+8>>2]-hr>>2>>>0>=Ip>>>0){break c}if(Ip>>>0>=1073741824){break b}kr=a+4|0;ir=q[kr>>2];jr=Ip<<2;Ip=Mm(jr);jr=Ip+jr|0;ir=ir-hr|0;lr=ir+Ip|0;if((ir|0)>=1){Cn(Ip,hr,ir)}q[a>>2]=Ip;q[a+8>>2]=jr;q[kr>>2]=lr;if(!hr){break c}An(hr)}return}ab(12024);F()}function xi(a,Ip){var mr=0,nr=0,or=0,pr=0,qr=0,rr=0,sr=0,tr=0,ur=0,vr=0,wr=0,xr=0,yr=0,zr=0,Ar=0,Br=0;nr=T-48|0;T=nr;mr=q[a+8>>2];or=q[mr>>2];qr=q[mr+4>>2];mr=q[q[a+4>>2]+44>>2];q[nr+40>>2]=0;q[nr+32>>2]=0;q[nr+36>>2]=0;or=(qr-or>>2>>>0)/3|0;pr=q[mr+96>>2];qr=(q[mr+100>>2]-pr|0)/12|0;a:{if(or>>>0>qr>>>0){Ci(mr+96|0,or-qr|0,nr+32|0);break a}if(or>>>0>=qr>>>0){break a}q[mr+100>>2]=pr+w(or,12)}b:{if(q[a+216>>2]==q[a+220>>2]){ur=q[a+4>>2];mr=q[ur+44>>2];or=q[mr+100>>2];sr=q[mr+96>>2];if((or|0)!=(sr|0)){vr=(or-sr|0)/12|0;wr=nr+40|0;mr=0;while(1){q[wr>>2]=0;q[nr+32>>2]=0;q[nr+36>>2]=0;qr=nr;c:{d:{e:{pr=w(mr,3);if((pr|0)==-1){or=-1;q[nr+32>>2]=-1;rr=0;break e}or=q[q[q[a+8>>2]>>2]+(pr<<2)>>2];q[nr+32>>2]=or;rr=pr+1|0;if((rr|0)!=-1){break e}q[nr+36>>2]=-1;pr=0;break d}q[nr+36>>2]=q[q[q[a+8>>2]>>2]+(rr<<2)>>2];pr=pr+2|0;xr=-1;if((pr|0)==-1){break c}}xr=q[q[q[a+8>>2]>>2]+(pr<<2)>>2]}q[qr+40>>2]=xr;qr=sr+w(mr,12)|0;q[qr>>2]=or;q[qr+4>>2]=q[nr+36>>2];q[qr+8>>2]=q[nr+40>>2];mr=mr+1|0;if(mr>>>0<vr>>>0){continue}break}}q[q[ur+4>>2]+80>>2]=Ip;mr=1;break b}q[nr+40>>2]=0;q[nr+32>>2]=0;q[nr+36>>2]=0;pr=q[a+8>>2];Ip=q[pr>>2];mr=q[pr+4>>2];q[nr+24>>2]=0;q[nr+16>>2]=0;q[nr+20>>2]=0;f:{g:{h:{Ip=mr-Ip|0;if(Ip){or=Ip>>2;if(or>>>0>=1073741824){break h}mr=Mm(Ip);q[nr+16>>2]=mr;q[nr+24>>2]=mr+(or<<2);Ar=nr,Br=Dn(mr,0,Ip)+Ip|0,q[Ar+20>>2]=Br}if((q[pr+28>>2]-q[pr+24>>2]|0)<1){break g}ur=a+220|0;vr=a+8|0;while(1){or=q[q[pr+24>>2]+(sr<<2)>>2];i:{if((or|0)==-1){break i}j:{if(q[q[a+120>>2]+(sr>>>3&536870908)>>2]>>>(sr&31)&1){break j}Ip=q[ur>>2];wr=q[a+216>>2];if((Ip|0)==(wr|0)){break j}xr=(Ip-wr|0)/144|0;yr=((or>>>0)%3|0?-1:2)+or|0;rr=0;while(1){zr=or<<2;tr=wr+w(rr,144)|0;Ip=q[zr+q[q[tr+68>>2]>>2]>>2];k:{if(!(q[q[tr+16>>2]+(Ip>>>3&536870908)>>2]>>>(Ip&31)&1)){break k}Ip=or;mr=-1;l:{if((yr|0)==-1){break l}qr=q[q[pr+12>>2]+(yr<<2)>>2];mr=-1;if((qr|0)==-1){break l}mr=qr+ -1|0;if((qr>>>0)%3){break l}mr=qr+2|0}if((Ip|0)==(mr|0)){break k}tr=q[tr+32>>2];zr=q[tr+zr>>2];while(1){Ip=0;if((mr|0)==-1){break f}if((zr|0)!=q[tr+(mr<<2)>>2]){or=mr;break j}qr=or;mr=((mr>>>0)%3|0?-1:2)+mr|0;Ip=-1;m:{if((mr|0)==-1){break m}mr=q[q[pr+12>>2]+(mr<<2)>>2];Ip=-1;if((mr|0)==-1){break m}Ip=mr+ -1|0;if((mr>>>0)%3){break m}Ip=mr+2|0}mr=Ip;if((qr|0)!=(mr|0)){continue}break}}rr=rr+1|0;if(rr>>>0<xr>>>0){continue}break}}Ip=q[nr+36>>2];q[q[nr+16>>2]+(or<<2)>>2]=Ip-q[nr+32>>2]>>2;q[nr>>2]=or;n:{if(t[nr+40>>2]>Ip>>>0){q[Ip>>2]=or;q[nr+36>>2]=Ip+4;break n}ya(nr+32|0,nr);pr=q[vr>>2]}if((or|0)==-1){break i}Ip=((or>>>0)%3|0?-1:2)+or|0;if((Ip|0)==-1){break i}Ip=q[q[pr+12>>2]+(Ip<<2)>>2];if((Ip|0)==-1){break i}mr=Ip+((Ip>>>0)%3|0?-1:2)|0;if((mr|0)==-1){break i}qr=or;if((mr|0)==(or|0)){break i}while(1){Ip=mr;o:{p:{mr=q[ur>>2];rr=q[a+216>>2];if((mr|0)==(rr|0)){break p}wr=(mr-rr|0)/144|0;mr=0;while(1){yr=q[(rr+w(mr,144)|0)+32>>2];tr=Ip<<2;if(q[yr+tr>>2]==q[yr+(qr<<2)>>2]){mr=mr+1|0;if(mr>>>0<wr>>>0){continue}break p}break}mr=q[nr+36>>2];q[tr+q[nr+16>>2]>>2]=mr-q[nr+32>>2]>>2;q[nr>>2]=Ip;if(t[nr+40>>2]>mr>>>0){q[mr>>2]=Ip;q[nr+36>>2]=mr+4;break o}ya(nr+32|0,nr);pr=q[vr>>2];break o}mr=q[nr+16>>2];q[mr+(Ip<<2)>>2]=q[mr+(qr<<2)>>2]}if((Ip|0)==-1){break i}mr=Ip+((Ip>>>0)%3|0?-1:2)|0;if((mr|0)==-1){break i}mr=q[q[pr+12>>2]+(mr<<2)>>2];if((mr|0)==-1){break i}mr=mr+((mr>>>0)%3|0?-1:2)|0;if((mr|0)==-1){break i}qr=Ip;if((mr|0)!=(or|0)){continue}break}}sr=sr+1|0;if((sr|0)<q[pr+28>>2]-q[pr+24>>2]>>2){continue}break}break g}bn();F()}or=q[a+4>>2];a=q[or+44>>2];Ip=q[a+100>>2];a=q[a+96>>2];if((Ip|0)!=(a|0)){qr=(Ip-a|0)/12|0;mr=0;pr=q[nr+16>>2];while(1){sr=nr+8|0;rr=w(mr,12);Ip=rr+pr|0;q[sr>>2]=q[Ip+8>>2];ur=q[Ip+4>>2];vr=q[Ip>>2];q[nr>>2]=vr;q[nr+4>>2]=ur;Ip=a+rr|0;q[Ip>>2]=vr;q[Ip+4>>2]=q[nr+4>>2];q[Ip+8>>2]=q[sr>>2];mr=mr+1|0;if(mr>>>0<qr>>>0){continue}break}}q[q[or+4>>2]+80>>2]=q[nr+36>>2]-q[nr+32>>2]>>2;Ip=1}mr=Ip;a=q[nr+16>>2];if(a){q[nr+20>>2]=a;An(a)}a=q[nr+32>>2];if(!a){break b}q[nr+36>>2]=a;An(a)}T=nr+48|0;return mr}function yi(a,Ip){var Cr=0,Dr=0,Er=0,Fr=0,Gr=0,Hr=0;a:{Fr=q[a>>2];Gr=q[a+4>>2]-Fr|0;Cr=(Gr|0)/12|0;Dr=Cr+1|0;if(Dr>>>0<357913942){Hr=w(Cr,12);Er=(q[a+8>>2]-Fr|0)/12|0;Cr=Er<<1;Er=Er>>>0<178956970?Cr>>>0<Dr>>>0?Dr:Cr:357913941;Cr=0;b:{if(!Er){break b}if(Er>>>0>=357913942){break a}Cr=Mm(w(Er,12))}Dr=Hr+Cr|0;Hr=q[Ip+4>>2];q[Dr>>2]=q[Ip>>2];q[Dr+4>>2]=Hr;q[Dr+8>>2]=q[Ip+8>>2];Ip=Dr+w((Gr|0)/-12|0,12)|0;Cr=Cr+w(Er,12)|0;Dr=Dr+12|0;if((Gr|0)>=1){Cn(Ip,Fr,Gr)}q[a>>2]=Ip;q[a+8>>2]=Cr;q[a+4>>2]=Dr;if(Fr){An(Fr)}return}bn();F()}ab(12024);F()}function zi(a,Ip){var Ir=0,Jr=0,Kr=0,Lr=0,Mr=0,Nr=0;a:{Kr=q[a>>2];Mr=q[a+4>>2]-Kr|0;Ir=Mr>>2;Jr=Ir+1|0;if(Jr>>>0<1073741824){Nr=Ir<<2;Ir=q[a+8>>2]-Kr|0;Lr=Ir>>1;Jr=Ir>>2>>>0<536870911?Lr>>>0<Jr>>>0?Jr:Lr:1073741823;Ir=0;b:{if(!Jr){break b}if(Jr>>>0>=1073741824){break a}Ir=Mm(Jr<<2)}Lr=Nr+Ir|0;q[Lr>>2]=q[Ip>>2];Ip=Ir+(Jr<<2)|0;Jr=Lr+4|0;if((Mr|0)>=1){Cn(Ir,Kr,Mr)}q[a>>2]=Ir;q[a+8>>2]=Ip;q[a+4>>2]=Jr;if(Kr){An(Kr)}return}bn();F()}ab(12024);F()}function Ai(a){var Ip=0,Or=0,Pr=0,Qr=0;Or=1;Pr=q[a+140>>2];a:{if((Pr|0)<1){break a}Ip=Pr<<4;Or=Mm((Pr|0)!=(Pr&268435455)?-1:Ip|4);q[Or>>2]=Pr;Or=Or+4|0;Pr=Or+Ip|0;Ip=Or;while(1){Ip=ah(Ip)+16|0;if((Pr|0)!=(Ip|0)){continue}break}Qr=q[a+136>>2];q[a+136>>2]=Or;if(Qr){Pr=Qr+ -4|0;Or=q[Pr>>2];if(Or){Ip=Qr+(Or<<4)|0;while(1){Ip=Ip+ -16|0;if((Qr|0)!=(Ip|0)){continue}break}}An(Pr)}Or=1;if(q[a+140>>2]<1){break a}Or=0;Ip=0;while(1){if(!bh(q[a+136>>2]+(Ip<<4)|0,a)){break a}Ip=Ip+1|0;if((Ip|0)<q[a+140>>2]){continue}break}Or=1}return Or}function Bi(a,Rr,Sr,Tr){var Ur=0,Vr=0,Wr=0,Xr=0,Yr=0,Zr=x(0),_r=0,$r=x(0),as=0;Ur=q[Sr>>2];as=a;a:{b:{Vr=q[Rr+4>>2];if(!Vr){break b}_r=q[Rr>>2];Xr=co(Vr);Sr=Vr+ -1&Ur;c:{if(Xr>>>0<=1){break c}Sr=Ur;if(Ur>>>0<Vr>>>0){break c}Sr=(Ur>>>0)%(Vr>>>0)|0}Wr=Sr;Sr=q[(Sr<<2)+_r>>2];if(!Sr){break b}_r=Vr+ -1|0;Xr=Xr>>>0>1;while(1){Sr=q[Sr>>2];if(!Sr){break b}Yr=q[Sr+4>>2];if((Yr|0)!=(Ur|0)){d:{if(!Xr){Yr=Yr&_r;break d}if(Yr>>>0<Vr>>>0){break d}Yr=(Yr>>>0)%(Vr>>>0)|0}if((Wr|0)!=(Yr|0)){break b}}if(q[Sr+8>>2]!=(Ur|0)){continue}break}Rr=0;break a}Sr=Mm(16);Tr=q[q[Tr>>2]>>2];q[Sr+12>>2]=0;q[Sr+8>>2]=Tr;q[Sr+4>>2]=Ur;q[Sr>>2]=0;$r=u[Rr+16>>2];Zr=x(q[Rr+12>>2]+1>>>0);e:{if(!(!Vr|!!(x($r*x(Vr>>>0))<Zr))){Ur=Wr;break e}Wr=(Vr+ -1&Vr)!=0|Vr>>>0<3|Vr<<1;Tr=Rr;Zr=x(D(x(Zr/$r)));f:{if(Zr<x(4294967296)&Zr>=x(0)){Xr=~~Zr>>>0;break f}Xr=0}xj(Tr,Wr>>>0<Xr>>>0?Xr:Wr);Vr=q[Rr+4>>2];if(!(Vr&Vr+ -1)){Ur=Vr+ -1&Ur;break e}if(Ur>>>0<Vr>>>0){break e}Ur=(Ur>>>0)%(Vr>>>0)|0}Tr=q[Rr>>2]+(Ur<<2)|0;Ur=q[Tr>>2];g:{h:{if(!Ur){Wr=Rr+8|0;q[Sr>>2]=q[Wr>>2];q[Wr>>2]=Sr;q[Tr>>2]=Wr;Tr=q[Sr>>2];if(!Tr){break g}Ur=q[Tr+4>>2];Tr=Vr+ -1|0;i:{if(!(Tr&Vr)){Ur=Tr&Ur;break i}if(Ur>>>0<Vr>>>0){break i}Ur=(Ur>>>0)%(Vr>>>0)|0}Ur=q[Rr>>2]+(Ur<<2)|0;break h}q[Sr>>2]=q[Ur>>2]}q[Ur>>2]=Sr}Rr=Rr+12|0;q[Rr>>2]=q[Rr>>2]+1;Rr=1}o[as+4|0]=Rr;q[a>>2]=Sr}function Ci(a,Rr,Sr){var Tr=0,bs=0,cs=0,ds=0,es=0;a:{b:{ds=q[a+8>>2];bs=a+4|0;Tr=q[bs>>2];c:{if((ds-Tr|0)/12>>>0>=Rr>>>0){while(1){a=q[Sr+4>>2];q[Tr>>2]=q[Sr>>2];q[Tr+4>>2]=a;q[Tr+8>>2]=q[Sr+8>>2];Tr=q[bs>>2]+12|0;q[bs>>2]=Tr;Rr=Rr+ -1|0;if(Rr){continue}break c}}cs=q[a>>2];es=(Tr-cs|0)/12|0;bs=es+Rr|0;if(bs>>>0>=357913942){break b}ds=(ds-cs|0)/12|0;cs=ds<<1;bs=ds>>>0<178956970?cs>>>0<bs>>>0?bs:cs:357913941;Tr=0;d:{if(!bs){break d}if(bs>>>0>=357913942){break a}Tr=Mm(w(bs,12))}ds=Tr+w(bs,12)|0;bs=Tr+w(es,12)|0;Tr=bs;while(1){cs=q[Sr+4>>2];q[Tr>>2]=q[Sr>>2];q[Tr+4>>2]=cs;q[Tr+8>>2]=q[Sr+8>>2];Tr=Tr+12|0;Rr=Rr+ -1|0;if(Rr){continue}break}cs=a+4|0;Rr=q[a>>2];Sr=q[cs>>2]-Rr|0;bs=bs+w((Sr|0)/-12|0,12)|0;if((Sr|0)>=1){Cn(bs,Rr,Sr)}q[a>>2]=bs;q[a+8>>2]=ds;q[cs>>2]=Tr;if(!Rr){break c}An(Rr)}return}bn();F()}ab(12024);F()}function Di(a){a=a|0;return q[a+8>>2]}function Ei(a){q[a>>2]=11324;Dn(a+4|0,0,80);q[a+96>>2]=0;q[a+100>>2]=0;q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+104>>2]=0;q[a+108>>2]=0;q[a+112>>2]=0;q[a+116>>2]=0;q[a+120>>2]=0;q[a+124>>2]=0;q[a+128>>2]=0;q[a+132>>2]=0;q[a+136>>2]=0;q[a+140>>2]=0;q[a+144>>2]=0;q[a+148>>2]=0;q[a+156>>2]=0;q[a+160>>2]=0;q[a+152>>2]=1065353216;q[a+164>>2]=0;q[a+168>>2]=0;q[a+172>>2]=0;q[a+176>>2]=0;q[a+180>>2]=0;q[a+184>>2]=0;q[a+188>>2]=0;q[a+192>>2]=0;q[a+196>>2]=0;q[a+200>>2]=0;q[a+204>>2]=0;q[a+208>>2]=0;q[a+212>>2]=-1;q[a+216>>2]=0;q[a+220>>2]=0;q[a+224>>2]=0;ci(a+232|0);q[a+396>>2]=0;q[a+388>>2]=0;q[a+392>>2]=0;q[a+380>>2]=0;q[a+384>>2]=0;ah(a+400|0);q[a+416>>2]=-1;q[a+420>>2]=-1}function Fi(a){a=a|0;var Rr=0,Sr=0,fs=0,gs=0,hs=0,is=0,js=0,ks=0,ls=0,ms=0,ns=0,os=0,ps=0,qs=0,rs=0,ss=0,ts=0;ks=T+ -64|0;T=ks;q[a+132>>2]=0;if(q[a+148>>2]){fs=a+144|0;Sr=q[fs>>2];if(Sr){while(1){Rr=q[Sr>>2];An(Sr);Sr=Rr;if(Rr){continue}break}}q[fs>>2]=0;Rr=q[a+140>>2];if(Rr){fs=a+136|0;Sr=0;while(1){q[q[fs>>2]+(Sr<<2)>>2]=0;Sr=Sr+1|0;if((Rr|0)!=(Sr|0)){continue}break}}q[a+148>>2]=0}a:{b:{c:{d:{e:{f:{Sr=q[a+4>>2];fs=r[Sr+36|0];Rr=fs<<8|r[Sr+37|0];g:{if(Rr>>>0>513){break g}is=q[Sr+32>>2];if(Rr>>>0<=511){gs=q[is+12>>2];Rr=q[is+20>>2];js=q[is+16>>2];hs=js+4|0;if(hs>>>0<4){Rr=Rr+1|0}ls=hs;hs=Rr;if((gs|0)<(Rr|0)?1:(gs|0)<=(Rr|0)?t[is+8>>2]>=ls>>>0?0:1:0){break f}Rr=js+q[is>>2]|0;Rr=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks>>2]=Rr;q[is+16>>2]=ls;q[is+20>>2]=hs;q[a+132>>2]=Rr;break g}if(!oi(1,ks,is)){break f}Sr=q[a+4>>2];fs=r[Sr+36|0];q[a+132>>2]=q[ks>>2]}Sr=q[Sr+32>>2];h:{i:{j:{if((fs&255)>>>0<=1){fs=0;is=q[Sr+12>>2];Rr=q[Sr+20>>2];gs=q[Sr+16>>2];hs=gs+4|0;if(hs>>>0<4){Rr=Rr+1|0}js=hs;hs=Rr;if((is|0)<(Rr|0)?1:(is|0)<=(Rr|0)?t[Sr+8>>2]>=js>>>0?0:1:0){break a}Rr=gs+q[Sr>>2]|0;Rr=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks+60>>2]=Rr;q[Sr+16>>2]=js;q[Sr+20>>2]=hs;q[a+156>>2]=Rr;ns=a+156|0;break j}fs=0;if(!oi(1,ks+60|0,Sr)){break a}Rr=q[a+4>>2];Sr=q[Rr+32>>2];Rr=r[Rr+36|0];q[a+156>>2]=q[ks+60>>2];ns=a+156|0;if(Rr>>>0>1){break i}}is=q[Sr+12>>2];Rr=q[Sr+20>>2];gs=q[Sr+16>>2];hs=gs+4|0;if(hs>>>0<4){Rr=Rr+1|0}ls=hs;hs=Rr;if((is|0)<(Rr|0)?1:(is|0)<=(Rr|0)?t[Sr+8>>2]>=ls>>>0?0:1:0){break a}Rr=gs+q[Sr>>2]|0;js=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks+56>>2]=js;q[Sr+16>>2]=ls;q[Sr+20>>2]=hs;break h}if(!oi(1,ks+56|0,Sr)){break a}js=q[ks+56>>2]}if(js>>>0>1431655765|t[ns>>2]>w(js,3)>>>0){break a}os=q[a+4>>2];hs=q[os+32>>2];ps=q[hs+8>>2];ms=q[hs+16>>2];is=q[hs+12>>2];Rr=is;Sr=q[hs+20>>2];if((Rr|0)<(Sr|0)?1:(Rr|0)<=(Sr|0)?ps>>>0>ms>>>0?0:1:0){break a}rs=q[hs>>2];ls=r[rs+ms|0];Rr=Sr;qs=ms+1|0;if(qs>>>0<1){Rr=Rr+1|0}q[hs+16>>2]=qs;q[hs+20>>2]=Rr;k:{if(r[os+36|0]<=1){Rr=Sr;Sr=ms+5|0;if(Sr>>>0<5){Rr=Rr+1|0}gs=Sr;Sr=Rr;if((is|0)<(Rr|0)?1:(is|0)<=(Rr|0)?ps>>>0>=gs>>>0?0:1:0){break a}Rr=qs+rs|0;is=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks+52>>2]=is;q[hs+16>>2]=gs;q[hs+20>>2]=Sr;break k}if(!oi(1,ks+52|0,hs)){break a}is=q[ks+52>>2]}if(js>>>0<is>>>0|js>>>0>((is>>>0)/3|0)+is>>>0){break a}Rr=q[a+4>>2];hs=q[Rr+32>>2];l:{if(r[Rr+36|0]<=1){gs=q[hs+12>>2];Rr=q[hs+20>>2];ms=q[hs+16>>2];Sr=ms+4|0;if(Sr>>>0<4){Rr=Rr+1|0}os=Sr;Sr=Rr;if((gs|0)<(Rr|0)?1:(gs|0)<=(Rr|0)?t[hs+8>>2]>=os>>>0?0:1:0){break a}Rr=ms+q[hs>>2]|0;ms=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks+48>>2]=ms;q[hs+16>>2]=os;q[hs+20>>2]=Sr;break l}if(!oi(1,ks+48|0,hs)){break a}ms=q[ks+48>>2]}if(ms>>>0>is>>>0){break a}q[a+28>>2]=q[a+24>>2];Sr=Mm(88);jk(Sr);Rr=q[a+8>>2];q[a+8>>2]=Sr;hs=a+8|0;if(Rr){wa(hs,Rr);if(!q[hs>>2]){break a}}Rr=q[a+160>>2];q[a+164>>2]=Rr;m:{if(q[a+168>>2]-Rr>>2>>>0>=js>>>0){break m}if(js>>>0>=1073741824){break e}fs=js<<2;Sr=Mm(fs);q[a+164>>2]=Sr;q[a+160>>2]=Sr;q[a+168>>2]=Sr+fs;if(!Rr){break m}An(Rr)}Rr=q[a+172>>2];q[a+176>>2]=Rr;n:{if(q[a+180>>2]-Rr>>2>>>0>=js>>>0){break n}if(js>>>0>=1073741824){break d}fs=js<<2;Sr=Mm(fs);q[a+176>>2]=Sr;q[a+172>>2]=Sr;q[a+180>>2]=Sr+fs;if(!Rr){break n}An(Rr)}q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+40>>2]=q[a+36>>2];q[a- -64>>2]=0;q[a+52>>2]=q[a+48>>2];q[a+76>>2]=q[a+72>>2];os=a+216|0;Sr=q[a+220>>2];fs=q[a+216>>2];if((Sr|0)==(fs|0)){break c}while(1){Rr=q[Sr+ -12>>2];if(Rr){q[Sr+ -8>>2]=Rr;An(Rr)}Rr=q[Sr+ -28>>2];if(Rr){q[Sr+ -24>>2]=Rr;An(Rr)}Rr=Sr+ -144|0;gs=q[Sr+ -40>>2];if(gs){q[Sr+ -36>>2]=gs;An(gs)}pi(Sr+ -140|0);Sr=Rr;if((fs|0)!=(Rr|0)){continue}break}Rr=q[os>>2];break b}fs=0;break a}ab(12024);F()}ab(12024);F()}Rr=fs}q[a+220>>2]=fs;Sr=(fs-Rr|0)/144|0;o:{if(Sr>>>0<ls>>>0){qi(os,ls-Sr|0);break o}if(Sr>>>0<=ls>>>0){break o}Sr=Rr+w(ls,144)|0;if((Sr|0)!=(fs|0)){while(1){Rr=q[fs+ -12>>2];if(Rr){q[fs+ -8>>2]=Rr;An(Rr)}Rr=q[fs+ -28>>2];if(Rr){q[fs+ -24>>2]=Rr;An(Rr)}Rr=fs+ -144|0;gs=q[fs+ -40>>2];if(gs){q[fs+ -36>>2]=gs;An(gs)}pi(fs+ -140|0);fs=Rr;if((Rr|0)!=(Sr|0)){continue}break}}q[a+220>>2]=Sr}fs=0;if(!tk(q[hs>>2],js,q[ns>>2]+ms|0)){break a}Rr=q[a+156>>2];o[ks|0]=1;bb(a+120|0,Rr+ms|0,ks);Sr=q[a+4>>2];Rr=s[Sr+36>>1];Rr=(Rr<<24|Rr<<8&16711680)>>>16;p:{if(Rr>>>0<=513){gs=q[Sr+32>>2];q:{if(Rr>>>0<=511){js=q[gs+12>>2];Rr=q[gs+20>>2];ns=q[gs+16>>2];Sr=ns+4|0;if(Sr>>>0<4){Rr=Rr+1|0}ps=Sr;Sr=Rr;if((js|0)<(Rr|0)?1:(js|0)<=(Rr|0)?t[gs+8>>2]>=ps>>>0?0:1:0){break a}Rr=ns+q[gs>>2]|0;js=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks+44>>2]=js;q[gs+16>>2]=ps;q[gs+20>>2]=Sr;break q}if(!oi(1,ks+44|0,gs)){break a}js=q[ks+44>>2]}if(!js){break a}Rr=q[q[a+4>>2]+32>>2];Sr=q[Rr+8>>2];gs=q[Rr+16>>2];Rr=q[Rr+12>>2]-(q[Rr+20>>2]+(Sr>>>0<gs>>>0)|0)|0;if((Rr|0)<0?1:(Rr|0)<=0?Sr-gs>>>0>=js>>>0?0:1:0){break a}gs=Yj(ks);Sr=q[q[a+4>>2]+32>>2];Rr=q[Sr+16>>2];ns=q[Sr+8>>2];Zj(gs,(Rr+q[Sr>>2]|0)+js|0,(ns-Rr|0)-js|0,s[Sr+38>>1]);Sr=ri(a,gs);if((Sr|0)==-1){break a}Rr=Sr;gs=Rr>>31;break p}Rr=-1;gs=-1;if((ri(a,q[Sr+32>>2])|0)==-1){break a}}q[a+376>>2]=a;ns=a+232|0;Sr=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];ps=q[Sr>>2]+q[Sr+16>>2]|0;js=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];Sr=q[js+8>>2];fs=q[js+16>>2];Zj(ns,ps,Sr-fs|0,s[q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);ss=a,ts=n[q[q[a>>2]+36>>2]](a)|0,q[ss+380>>2]=ts;q[a+372>>2]=ls;q[a+384>>2]=q[a+156>>2]+ms;fs=0;Sr=Yj(ks);r:{if(!Gi(ns,Sr)){break r}js=Hi(a,is);if((js|0)==-1){break r}is=q[q[a+4>>2]+32>>2];fs=q[Sr+16>>2];ls=fs+q[Sr>>2]|0;Sr=q[Sr+8>>2];Zj(is,ls,Sr-fs|0,s[is+38>>1]);Sr=q[a+4>>2];fs=s[Sr+36>>1];is=(fs<<24|fs<<8&16711680)>>>16;if(is>>>0<=513){fs=q[Sr+32>>2];ls=fs;ps=fs;Sr=gs+q[fs+20>>2]|0;fs=Rr+q[fs+16>>2]|0;if(fs>>>0<Rr>>>0){Sr=Sr+1|0}q[ps+16>>2]=fs;q[ls+20>>2]=Sr}s:{if(q[a+220>>2]==q[a+216>>2]){break s}Sr=q[hs>>2];Rr=q[Sr+4>>2];Sr=q[Sr>>2];t:{if(is>>>0>=513){if((Rr|0)==(Sr|0)){break s}Sr=0;break t}if((Rr|0)==(Sr|0)){break s}Sr=0;while(1){if(ui(a,Sr)){Sr=Sr+3|0;Rr=q[hs>>2];if(Sr>>>0<q[Rr+4>>2]-q[Rr>>2]>>2>>>0){continue}break s}break}fs=0;break r}while(1){if(vi(a,Sr)){Sr=Sr+3|0;Rr=q[hs>>2];if(Sr>>>0<q[Rr+4>>2]-q[Rr>>2]>>2>>>0){continue}break s}break}fs=0;break r}if(r[a+308|0]){ak(a+272|0)}if(s[a+270>>1]<=513){ak(a+328|0)}Sr=q[a+216>>2];gs=a+220|0;if((Sr|0)!=q[gs>>2]){is=0;while(1){Rr=w(is,144);Ek((Rr+Sr|0)+4|0,q[hs>>2]);fs=q[os>>2];ls=Rr+fs|0;Sr=q[ls+132>>2];ls=q[ls+136>>2];if((Sr|0)!=(ls|0)){while(1){Gk((Rr+fs|0)+4|0,q[Sr>>2]);fs=q[os>>2];Sr=Sr+4|0;if((ls|0)!=(Sr|0)){continue}break}}Fk((Rr+fs|0)+4|0);is=is+1|0;Sr=q[a+216>>2];if(is>>>0<(q[gs>>2]-Sr|0)/144>>>0){continue}break}}Rr=q[a+8>>2];wi(a+184|0,q[Rr+28>>2]-q[Rr+24>>2]>>2);fs=q[a+216>>2];if((fs|0)!=q[gs>>2]){Sr=0;is=a+220|0;while(1){Rr=w(Sr,144)+fs|0;fs=q[Rr+60>>2]-q[Rr+56>>2]>>2;ls=Rr+104|0;Rr=q[hs>>2];Rr=q[Rr+28>>2]-q[Rr+24>>2]>>2;wi(ls,(fs|0)<(Rr|0)?Rr:fs);Sr=Sr+1|0;fs=q[a+216>>2];if(Sr>>>0<(q[is>>2]-fs|0)/144>>>0){continue}break}}fs=xi(a,js)}}T=ks- -64|0;return fs|0}function Gi(a,us){var vs=0,ws=0,xs=0,ys=0,zs=0,As=0,Bs=0;ys=T-16|0;T=ys;a:{if(!si(a,us)){break a}zs=q[us+12>>2];vs=q[us+20>>2];As=q[us+16>>2];xs=As+4|0;if(xs>>>0<4){vs=vs+1|0}ws=xs;xs=vs;if((zs|0)<(vs|0)?1:(zs|0)<=(vs|0)?t[us+8>>2]>=ws>>>0?0:1:0){break a}vs=As+q[us>>2]|0;vs=r[vs|0]|r[vs+1|0]<<8|(r[vs+2|0]<<16|r[vs+3|0]<<24);q[us+16>>2]=ws;q[us+20>>2]=xs;if((vs|0)<0){break a}ws=q[a+152>>2];if((vs|0)>=(ws|0)){break a}q[ys+12>>2]=0;xs=q[a+156>>2];vs=q[a+160>>2]-xs>>2;b:{if(ws>>>0>vs>>>0){Ad(a+156|0,ws-vs|0,ys+12|0);break b}if(ws>>>0>=vs>>>0){break b}q[a+160>>2]=xs+(ws<<2)}Bs=bh(a+168|0,us)}T=ys+16|0;return Bs}function Hi(a,us){var Cs=0,Ds=0,Es=0,Fs=0,Gs=0,Hs=0,Is=0,Js=0,Ks=0,Ls=0,Ms=0,Ns=0,Os=0,Ps=0,Qs=0,Rs=0,Ss=0,Ts=0,Us=0,Vs=0,Ws=0,Xs=0,Ys=0,Zs=0,_s=0,$s=0,at=0;Gs=T-96|0;T=Gs;q[Gs+72>>2]=0;q[Gs+64>>2]=0;q[Gs+68>>2]=0;q[Gs+48>>2]=0;q[Gs+52>>2]=0;q[Gs+40>>2]=0;q[Gs+44>>2]=0;q[Gs+56>>2]=1065353216;q[Gs+32>>2]=0;q[Gs+24>>2]=0;q[Gs+28>>2]=0;Ss=q[a+124>>2];a:{b:{c:{if((us|0)>=1){Ts=a+400|0;Us=a+232|0;Zs=a+296|0;Vs=a+8|0;_s=a+388|0;Ys=q[a+216>>2]!=q[a+220>>2];Ws=a+40|0;while(1){d:{e:{f:{g:{h:{if(q[a+420>>2]!=-1){if(dh(Ts)){break h}}Cs=a;Js=Cs;if(r[Cs+308|0]){Ks=q[Zs>>2];Is=q[a+304>>2];Ds=Ks+(Is>>>3)|0;Hs=q[a+300>>2];if(Ds>>>0>=Hs>>>0){break g}Es=r[Ds|0];Ds=Is+1|0;q[a+304>>2]=Ds;if(!(Es>>>(Is&7)&1)){break g}Ms=Ds>>>3;Es=Ks+Ms|0;i:{if(Es>>>0>=Hs>>>0){Es=Ds;Cs=0;break i}Fs=r[Es|0];Es=Is+2|0;q[a+304>>2]=Es;Ms=Es>>>3;Cs=Fs>>>(Ds&7)&1}Fs=Ks+Ms|0;if(Fs>>>0<Hs>>>0){Fs=r[Fs|0];q[a+304>>2]=Es+1;Ds=Fs>>>(Es&7)<<1&2}else{Ds=0}Ds=(Cs|Ds)<<1|1}else{Ds=1}q[Js+416>>2]=Ds;break e}Ds=q[a+420>>2];q[a+416>>2]=Ds;if(Ds){break e}break f}q[a+416>>2]=0}Ds=q[Gs+68>>2];if((Ds|0)==q[Gs+64>>2]){Es=-1;break c}Ns=-1;Os=q[Vs>>2];Ks=q[Os+24>>2];Fs=Ks;Hs=Ds+ -4|0;Rs=q[Hs>>2];Cs=-1;j:{if((Rs|0)==-1){break j}Es=Rs+1|0;Es=(Es>>>0)%3|0?Es:Rs+ -2|0;Cs=-1;if((Es|0)==-1){break j}Cs=q[q[Os>>2]+(Es<<2)>>2]}Fs=q[Fs+(Cs<<2)>>2];if((Fs|0)!=-1){Es=Fs+1|0;Ns=(Es>>>0)%3|0?Es:Fs+ -2|0}Fs=q[Os+12>>2];Ps=w(Ls,3);Es=Ps+1|0;q[Fs+(Rs<<2)>>2]=Es;Es=Es<<2;q[Es+Fs>>2]=Rs;Qs=Ps+2|0;q[Fs+(Ns<<2)>>2]=Qs;Is=Qs<<2;q[Is+Fs>>2]=Ns;Ms=q[Os>>2];q[Ms+(Ps<<2)>>2]=Cs;Js=Es+Ms|0;Fs=-1;k:{if((Ns|0)==-1){break k}Es=Ns+1|0;Es=(Es>>>0)%3|0?Es:Ns+ -2|0;Fs=-1;if((Es|0)==-1){break k}Fs=q[Ms+(Es<<2)>>2]}q[Js>>2]=Fs;l:{m:{if((Rs|0)!=-1){Es=Rs+((Rs>>>0)%3|0?-1:2)|0;if((Es|0)!=-1){break m}}q[Is+Ms>>2]=-1;break l}Es=q[Ms+(Es<<2)>>2];q[Is+Ms>>2]=Es;if((Es|0)==-1){break l}q[Ks+(Es<<2)>>2]=Qs}Fs=q[a+120>>2]+(Cs>>>3&536870908)|0;Es=q[Fs>>2];$s=Fs,at=eo(Cs)&Es,q[$s>>2]=at;q[Hs>>2]=Ps;Cs=0;break d}Es=-1;Cs=Ds+ -1|0;if(Cs>>>0>6){break c}n:{o:{p:{q:{switch(Cs-1|0){case 1:case 3:Fs=q[Gs+68>>2];if((Fs|0)==q[Gs+64>>2]){break c}Es=q[Vs>>2];Cs=q[Es+12>>2];Qs=w(Ls,3);Ks=(Ds|0)==5;Hs=Qs+(Ks?2:1)|0;Ds=Hs<<2;Ms=q[Fs+ -4>>2];q[Cs+Ds>>2]=Ms;q[Cs+(Ms<<2)>>2]=Hs;Fs=Es+24|0;Js=q[Es+32>>2];Es=Es+28|0;Cs=q[Es>>2];r:{if((Js|0)!=(Cs|0)){q[Cs>>2]=-1;Os=Cs+4|0;q[Es>>2]=Os;break r}zi(Fs,11312);Os=q[Es>>2]}Es=-1;Cs=q[Vs>>2];Is=q[Cs+24>>2];if(q[Cs+28>>2]-Is>>2>(Ss|0)){break c}Es=Qs+2|0;Ps=q[Cs>>2];Js=Ps+Ds|0;Cs=Os-q[Fs>>2]|0;Ds=(Cs>>2)+ -1|0;q[Js>>2]=Ds;if(Cs){q[Is+(Ds<<2)>>2]=Hs}Es=Ks?Qs:Es;Fs=Ps+(Ks+Qs<<2)|0;s:{t:{u:{if((Ms|0)!=-1){Ds=Ms+((Ms>>>0)%3|0?-1:2)|0;if((Ds|0)==-1){break u}Ds=q[Ps+(Ds<<2)>>2];q[Ps+(Es<<2)>>2]=Ds;if((Ds|0)==-1){break t}q[Is+(Ds<<2)>>2]=Es;break t}q[Ps+(Es<<2)>>2]=-1;Cs=-1;break s}q[Ps+(Es<<2)>>2]=-1}Ds=Ms+1|0;Ds=(Ds>>>0)%3|0?Ds:Ms+ -2|0;Cs=-1;if((Ds|0)==-1){break s}Cs=q[Ps+(Ds<<2)>>2]}q[Fs>>2]=Cs;Ds=q[Gs+68>>2];q[Ds+ -4>>2]=Qs;break p;default:Ds=q[Gs+68>>2];Os=q[Gs+64>>2];if((Ds|0)==(Os|0)){break c}Cs=Ds+ -4|0;Xs=q[Cs>>2];q[Gs+68>>2]=Cs;Is=q[Gs+44>>2];v:{if(!Is){Ds=Cs;break v}Js=q[Gs+40>>2];Ks=co(Is)>>>0>1;Hs=Is+2147483647&Ls;w:{if(!Ks){break w}Fs=Ls;Hs=Fs;if(Fs>>>0<Is>>>0){break w}Hs=(Ls>>>0)%(Is>>>0)|0}Fs=Hs;Hs=q[Js+(Fs<<2)>>2];if(!Hs){Ds=Cs;break v}Js=q[Hs>>2];if(!Js){Ds=Cs;break v}Hs=Is+ -1|0;x:{while(1){Ns=q[Js+4>>2];y:{if((Ls|0)!=(Ns|0)){z:{if(!Ks){Ns=Hs&Ns;break z}if(Ns>>>0<Is>>>0){break z}Ns=(Ns>>>0)%(Is>>>0)|0}if((Fs|0)==(Ns|0)){break y}Ds=Cs;break v}if(q[Js+8>>2]==(Ls|0)){break x}}Js=q[Js>>2];if(Js){continue}break}Ds=Cs;break v}Fs=Js+12|0;if((Cs|0)!=q[Gs+72>>2]){q[Cs>>2]=q[Fs>>2];q[Gs+68>>2]=Ds;break v}zi(Gs- -64|0,Fs);Ds=q[Gs+68>>2];Os=q[Gs+64>>2]}if((Ds|0)==(Os|0)){break c}Ms=q[Ds+ -4>>2];Fs=(Ms|0)==-1;Rs=q[Vs>>2];if(q[q[Rs+12>>2]+(Ms<<2)>>2]!=-1?!Fs:0){break c}Ks=(Xs|0)==-1;Is=Rs+12|0;Hs=q[Is>>2];if(q[Hs+(Xs<<2)>>2]!=-1?!Ks:0){break c}Ps=w(Ls,3);Qs=Ps+2|0;q[Hs+(Ms<<2)>>2]=Qs;Os=Qs<<2;q[Os+Hs>>2]=Ms;Cs=Ps+1|0;q[Hs+(Xs<<2)>>2]=Cs;Js=Hs;Hs=Cs<<2;q[Js+Hs>>2]=Xs;if(Fs){break o}Ns=-1;Fs=q[Rs>>2];Js=Fs+(Ps<<2)|0;Cs=Ms+((Ms>>>0)%3|0?-1:2)|0;if((Cs|0)!=-1){Ns=q[(Cs<<2)+Fs>>2]}q[Js>>2]=Ns;Cs=Ms+1|0;Cs=(Cs>>>0)%3|0?Cs:Ms+ -2|0;if((Cs|0)==-1){break n}Es=q[(Cs<<2)+Fs>>2];break n;case 5:break q;case 0:case 2:case 4:break c}}q[Gs>>2]=w(Ls,3);Ds=q[Vs>>2];Fs=Ds+24|0;Hs=q[Ds+32>>2];Cs=Ds+28|0;Ds=q[Cs>>2];A:{if((Hs|0)!=(Ds|0)){q[Ds>>2]=-1;Ms=Ds+4|0;q[Cs>>2]=Ms;break A}zi(Fs,11312);Ms=q[Cs>>2]}Os=q[Vs>>2];Ns=q[Os>>2];Ds=q[Gs>>2];Is=Ms-q[Fs>>2]|0;Qs=Is>>2;Cs=Qs+ -1|0;q[Ns+(Ds<<2)>>2]=Cs;Ds=Ds+1|0;Ks=Os+24|0;Hs=Os+28|0;Fs=q[Hs>>2];B:{if((Fs|0)!=q[Os+32>>2]){q[Fs>>2]=-1;Ms=Fs+4|0;q[Hs>>2]=Ms;break B}zi(Ks,11312);Ms=q[Hs>>2];Ns=q[Os>>2]}q[(Ds<<2)+Ns>>2]=(Ms-q[Ks>>2]>>2)+ -1;Ds=q[Gs>>2]+2|0;Ks=q[Vs>>2];Fs=Ks+28|0;Hs=q[Fs>>2];C:{if((Hs|0)!=q[Ks+32>>2]){q[Hs>>2]=-1;Ns=Hs+4|0;q[Fs>>2]=Ns;break C}zi(Ks+24|0,11312);Ns=q[Fs>>2]}q[q[Ks>>2]+(Ds<<2)>>2]=(Ns-q[Ks+24>>2]>>2)+ -1;Ds=q[Vs>>2];Fs=q[Ds+24>>2];if(q[Ds+28>>2]-Fs>>2>(Ss|0)){break c}Ds=q[Gs>>2];D:{E:{if(!Is){Es=1;q[Fs+(Qs<<2)>>2]=Ds+1;break E}q[Fs+(Cs<<2)>>2]=Ds;Es=0;if((Is|0)==-4){break E}q[Fs+(Qs<<2)>>2]=q[Gs>>2]+1;Es=Qs+1|0;if((Es|0)==-1){break D}}q[Fs+(Es<<2)>>2]=q[Gs>>2]+2}Ds=q[Gs+68>>2];if((Ds|0)!=q[Gs+72>>2]){q[Ds>>2]=q[Gs>>2];Ds=Ds+4|0;q[Gs+68>>2]=Ds;break p}zi(Gs- -64|0,Gs);Ds=q[Gs+68>>2]}Cs=1;break d}Ns=-1;Fs=q[Rs>>2];q[Fs+(Ps<<2)>>2]=-1}q[Fs+Hs>>2]=Es;F:{G:{H:{if(!Ks){Cs=Xs+((Xs>>>0)%3|0?-1:2)|0;if((Cs|0)==-1){break H}Cs=q[(Cs<<2)+Fs>>2];q[Fs+Os>>2]=Cs;if((Cs|0)==-1){break G}q[q[Rs+24>>2]+(Cs<<2)>>2]=Qs;break G}q[Fs+Os>>2]=-1;Js=-1;Es=-1;break F}q[Fs+Os>>2]=-1}Js=-1;Cs=Xs+1|0;Cs=(Cs>>>0)%3|0?Cs:Xs+ -2|0;Es=-1;if((Cs|0)==-1){break F}Js=q[(Cs<<2)+Fs>>2];Es=Cs}q[Gs>>2]=Js;Hs=q[_s>>2];Fs=Ns<<2;Cs=Hs+Fs|0;q[Cs>>2]=q[Cs>>2]+q[Hs+(Js<<2)>>2];Hs=q[Rs+24>>2];if((Ns|0)!=-1){q[Fs+Hs>>2]=q[Hs+(q[Gs>>2]<<2)>>2]}I:{if((Es|0)==-1){break I}Fs=q[Rs>>2];while(1){q[Fs+(Es<<2)>>2]=Ns;Cs=Es+1|0;Cs=(Cs>>>0)%3|0?Cs:Es+ -2|0;if((Cs|0)==-1){break I}Es=q[q[Is>>2]+(Cs<<2)>>2];if((Es|0)==-1){break I}Cs=Es+1|0;Es=(Cs>>>0)%3|0?Cs:Es+ -2|0;if((Es|0)!=-1){continue}break}}q[Hs+(q[Gs>>2]<<2)>>2]=-1;J:{if(Ys){break J}Cs=q[Gs+28>>2];if((Cs|0)!=q[Gs+32>>2]){q[Cs>>2]=q[Gs>>2];q[Gs+28>>2]=Cs+4;break J}zi(Gs+24|0,Gs);Ds=q[Gs+68>>2]}q[Ds+ -4>>2]=Ps;Cs=0}Ii(Us,q[Ds+ -4>>2]);K:{if(!Cs){break K}Ds=q[Ws>>2];if((Ds|0)==q[a+36>>2]){break K}Hs=(Ls^-1)+us|0;while(1){Es=-1;Cs=q[Ds+ -8>>2];if(Cs>>>0>Hs>>>0){break c}if((Cs|0)!=(Hs|0)){break K}Cs=r[Ds+ -4|0];Ds=Ds+ -12|0;Fs=q[Ds>>2];q[Ws>>2]=Ds;if((Fs|0)<0){break c}Es=q[q[Gs+68>>2]+ -4>>2];q[Gs+20>>2]=(Fs^-1)+us;q[Gs+88>>2]=Gs+20;Bi(Gs,Gs+40|0,Gs+20|0,Gs+88|0);Fs=q[Gs>>2];L:{if(Cs&1){Cs=-1;if((Es|0)==-1){break L}Ds=Es+1|0;Cs=(Ds>>>0)%3|0?Ds:Es+ -2|0;break L}Cs=-1;if((Es|0)==-1){break L}Cs=Es+ -1|0;if((Es>>>0)%3){break L}Cs=Es+2|0}q[Fs+12>>2]=Cs;Ds=q[Ws>>2];if((Ds|0)!=q[a+36>>2]){continue}break}}Ls=Ls+1|0;if((Ls|0)!=(us|0)){continue}break}Hs=us}Es=-1;Js=q[a+8>>2];if(q[Js+28>>2]-q[Js+24>>2]>>2>(Ss|0)){break c}Ds=q[Gs+68>>2];if((Ds|0)!=q[Gs+64>>2]){Ps=a+72|0;us=a+60|0;Zs=a+312|0;_s=a+352|0;Ys=a+8|0;Os=a+68|0;Qs=a+80|0;Ws=a+76|0;while(1){Cs=Ds+ -4|0;Ds=q[Cs>>2];q[Gs+68>>2]=Cs;q[Gs>>2]=Ds;M:{N:{O:{P:{if(s[a+270>>1]<=513){if(!r[a+364|0]){break O}Cs=q[a+360>>2];Ds=q[_s>>2]+(Cs>>>3)|0;if(Ds>>>0>=t[a+356>>2]){break N}Ds=r[Ds|0];q[a+360>>2]=Cs+1;Cs=Ds>>>(Cs&7)&1;break P}Cs=dh(Zs)}if(!Cs){break N}}Is=q[Ys>>2];Ss=q[Is>>2];if((Hs|0)>=((q[Is+4>>2]-Ss>>2>>>0)/3|0)){break c}Ls=-1;Js=-1;Ks=q[Is+24>>2];Fs=Ks;Ts=q[Gs>>2];Ds=-1;Q:{if((Ts|0)==-1){break Q}Cs=Ts+1|0;Cs=(Cs>>>0)%3|0?Cs:Ts+ -2|0;Ds=-1;if((Cs|0)==-1){break Q}Ds=q[Ss+(Cs<<2)>>2]}Fs=q[Fs+(Ds<<2)>>2];R:{if((Fs|0)==-1){break R}Cs=Fs+1|0;Cs=(Cs>>>0)%3|0?Cs:Fs+ -2|0;if((Cs|0)==-1){break R}Ls=Cs+1|0;Ls=(Ls>>>0)%3|0?Ls:Cs+ -2|0;if((Ls|0)!=-1){Js=q[Ss+(Ls<<2)>>2]}Ls=Cs}Ms=-1;Us=-1;Ks=q[Ks+(Js<<2)>>2];Fs=-1;S:{if((Ks|0)==-1){break S}Cs=Ks+1|0;Cs=(Cs>>>0)%3|0?Cs:Ks+ -2|0;Fs=-1;if((Cs|0)==-1){break S}Fs=Cs+1|0;Fs=(Fs>>>0)%3|0?Fs:Cs+ -2|0;if((Fs|0)!=-1){Us=q[Ss+(Fs<<2)>>2]}Fs=Cs}Cs=w(Hs,3);q[Gs+88>>2]=Cs;Ks=q[Is+12>>2];q[Ks+(Cs<<2)>>2]=Ts;q[Ks+(Ts<<2)>>2]=Cs;Cs=q[Gs+88>>2]+1|0;q[Ks+(Cs<<2)>>2]=Ls;q[Ks+(Ls<<2)>>2]=Cs;Cs=q[Gs+88>>2]+2|0;q[Ks+(Cs<<2)>>2]=Fs;q[Ks+(Fs<<2)>>2]=Cs;Cs=q[Gs+88>>2];q[Ss+(Cs<<2)>>2]=Js;Ts=Cs+1|0;Is=Ss+(Ts<<2)|0;q[Is>>2]=Us;Ks=Cs+2|0;Fs=Ss+(Ks<<2)|0;q[Fs>>2]=Ds;Us=q[a+120>>2];Ls=Ts>>>0<Cs>>>0?-1:Js;Cs=Us+(Ls>>>3&536870908)|0;Ds=q[Cs>>2];$s=Cs,at=eo(Ls)&Ds,q[$s>>2]=at;Ms=(Ts|0)!=-1?q[Is>>2]:Ms;Cs=Us+(Ms>>>3&536870908)|0;Ds=q[Cs>>2];$s=Cs,at=eo(Ms)&Ds,q[$s>>2]=at;Ds=-1;Ds=(Ks|0)!=-1?q[Fs>>2]:Ds;Ls=Us+(Ds>>>3&536870908)|0;Cs=q[Ls>>2];$s=Ls,at=eo(Ds)&Cs,q[$s>>2]=at;Ds=q[a+64>>2];Fs=q[Os>>2];if((Ds|0)==Fs<<5){if((Ds+1|0)<=-1){break a}Cs=us;if(Ds>>>0<=1073741822){Ls=Ds+32&-32;Ds=Fs<<6;Ds=Ds>>>0<Ls>>>0?Ls:Ds}else{Ds=2147483647}cb(Cs,Ds);Ds=q[a+64>>2]}Hs=Hs+1|0;q[a+64>>2]=Ds+1;Cs=q[a+60>>2]+(Ds>>>3&536870908)|0;q[Cs>>2]=q[Cs>>2]|1<<(Ds&31);Ds=q[Ws>>2];if((Ds|0)!=q[Qs>>2]){q[Ds>>2]=q[Gs+88>>2];q[Ws>>2]=Ds+4;break M}zi(Ps,Gs+88|0);break M}Ds=q[a+64>>2];Fs=q[Os>>2];if((Ds|0)==Fs<<5){if((Ds+1|0)<=-1){break a}Cs=us;if(Ds>>>0<=1073741822){Ls=Ds+32&-32;Ds=Fs<<6;Ds=Ds>>>0<Ls>>>0?Ls:Ds}else{Ds=2147483647}cb(Cs,Ds);Ds=q[a+64>>2]}q[a+64>>2]=Ds+1;Ls=q[a+60>>2]+(Ds>>>3&536870908)|0;Cs=q[Ls>>2];$s=Ls,at=eo(Ds)&Cs,q[$s>>2]=at;Ds=q[Ws>>2];if((Ds|0)!=q[Qs>>2]){q[Ds>>2]=q[Gs>>2];q[Ws>>2]=Ds+4;break M}zi(Ps,Gs)}Ds=q[Gs+68>>2];if((Ds|0)!=q[Gs+64>>2]){continue}break}Js=q[a+8>>2]}if(((q[Js+4>>2]-q[Js>>2]>>2>>>0)/3|0)!=(Hs|0)){break c}Es=q[Js+28>>2]-q[Js+24>>2]>>2;us=q[Gs+24>>2];Ks=q[Gs+28>>2];if((us|0)==(Ks|0)){break b}Fs=a+8|0;while(1){Is=q[us>>2];Hs=q[Js+24>>2];Ds=Es+ -1|0;T:{if(q[Hs+(Ds<<2)>>2]!=-1){Ls=Es;break T}Hs=q[Js+24>>2];while(1){Ds=Es+ -2|0;Ls=Es+ -1|0;Es=Ls;if(q[(Ds<<2)+Hs>>2]==-1){continue}break}}if(!(Ds>>>0<Is>>>0)){q[Gs>>2]=Js;Cs=Ds<<2;Es=q[Cs+Hs>>2];o[Gs+12|0]=1;q[Gs+8>>2]=Es;q[Gs+4>>2]=Es;if((Es|0)!=-1){while(1){q[q[Js>>2]+(Es<<2)>>2]=Is;lg(Gs);Js=q[Fs>>2];Es=q[Gs+8>>2];if((Es|0)!=-1){continue}break}}Es=Cs;Cs=q[Js+24>>2];Es=Es+Cs|0;if((Is|0)!=-1){q[Cs+(Is<<2)>>2]=q[Es>>2]}q[Es>>2]=-1;Ys=1<<(Is&31);Es=q[a+120>>2];Is=Es+(Is>>>3&536870908)|0;Cs=Is;Hs=Es+(Ds>>>3&536870908)|0;Ds=1<<(Ds&31);Es=Ys|q[Is>>2];U:{if(q[Hs>>2]&Ds){break U}Es=q[Is>>2]&(Ys^-1)}q[Cs>>2]=Es;q[Hs>>2]=q[Hs>>2]&(Ds^-1);Ls=Ls+ -1|0}Es=Ls;us=us+4|0;if((Ks|0)!=(us|0)){continue}break}}us=q[Gs+24>>2]}if(us){q[Gs+28>>2]=us;An(us)}Ds=q[Gs+48>>2];if(Ds){while(1){a=q[Ds>>2];An(Ds);Ds=a;if(Ds){continue}break}}a=q[Gs+40>>2];q[Gs+40>>2]=0;if(a){An(a)}a=q[Gs+64>>2];if(a){q[Gs+68>>2]=a;An(a)}T=Gs+96|0;return Es}bn();F()}function Ii(a,us){var bt=0,ct=0,dt=0,et=0,ft=0;ct=-1;ft=-1;a:{if((us|0)==-1){break a}bt=us+1|0;ct=(bt>>>0)%3|0?bt:us+ -2|0;ft=us+ -1|0;if((us>>>0)%3){break a}ft=us+2|0}bt=q[a+184>>2];b:{if(bt>>>0>7){break b}c:{d:{switch(bt-2|0){default:dt=q[a+148>>2];bt=-1;bt=(ct|0)!=-1?q[q[dt>>2]+(ct<<2)>>2]:bt;ct=1;et=bt<<2;bt=q[a+156>>2];et=et+bt|0;q[et>>2]=q[et>>2]+1;bt=(((ft|0)!=-1?q[q[dt>>2]+(ft<<2)>>2]:-1)<<2)+bt|0;break c;case 3:et=q[a+148>>2];bt=q[a+156>>2];dt=bt+(((us|0)!=-1?q[q[et>>2]+(us<<2)>>2]:-1)<<2)|0;q[dt>>2]=q[dt>>2]+1;dt=(((ct|0)!=-1?q[q[et>>2]+(ct<<2)>>2]:-1)<<2)+bt|0;q[dt>>2]=q[dt>>2]+1;ct=2;bt=(((ft|0)!=-1?q[q[et>>2]+(ft<<2)>>2]:-1)<<2)+bt|0;break c;case 1:et=q[a+148>>2];bt=q[a+156>>2];dt=bt+(((us|0)!=-1?q[q[et>>2]+(us<<2)>>2]:-1)<<2)|0;q[dt>>2]=q[dt>>2]+1;dt=(((ct|0)!=-1?q[q[et>>2]+(ct<<2)>>2]:-1)<<2)+bt|0;q[dt>>2]=q[dt>>2]+2;ct=1;bt=(((ft|0)!=-1?q[q[et>>2]+(ft<<2)>>2]:-1)<<2)+bt|0;break c;case 0:case 2:case 4:break b;case 5:break d}}et=q[a+148>>2];bt=q[a+156>>2];dt=bt+(((us|0)!=-1?q[q[et>>2]+(us<<2)>>2]:-1)<<2)|0;q[dt>>2]=q[dt>>2]+2;dt=(((ct|0)!=-1?q[q[et>>2]+(ct<<2)>>2]:-1)<<2)+bt|0;q[dt>>2]=q[dt>>2]+2;ct=2;bt=(((ft|0)!=-1?q[q[et>>2]+(ft<<2)>>2]:-1)<<2)+bt|0}q[bt>>2]=q[bt>>2]+ct;bt=q[a+184>>2]}e:{if(bt>>>0>5){break e}f:{switch(bt-1|0){case 0:case 1:case 2:case 3:break e;default:break f}}bt=a;ft=bt;bt=q[bt+156>>2];ct=-1;g:{if((us|0)==-1){break g}ct=us+1|0;us=(ct>>>0)%3|0?ct:us+ -2|0;ct=-1;if((us|0)==-1){break g}ct=q[q[q[a+148>>2]>>2]+(us<<2)>>2]}q[ft+188>>2]=q[bt+(ct<<2)>>2]>5?0:5;return}q[a+188>>2]=-1}function Ji(a){q[a>>2]=11372;Dn(a+4|0,0,80);q[a+96>>2]=0;q[a+100>>2]=0;q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+104>>2]=0;q[a+108>>2]=0;q[a+112>>2]=0;q[a+116>>2]=0;q[a+120>>2]=0;q[a+124>>2]=0;q[a+128>>2]=0;q[a+132>>2]=0;q[a+136>>2]=0;q[a+140>>2]=0;q[a+144>>2]=0;q[a+148>>2]=0;q[a+156>>2]=0;q[a+160>>2]=0;q[a+152>>2]=1065353216;q[a+164>>2]=0;q[a+168>>2]=0;q[a+172>>2]=0;q[a+176>>2]=0;q[a+180>>2]=0;q[a+184>>2]=0;q[a+188>>2]=0;q[a+192>>2]=0;q[a+196>>2]=0;q[a+200>>2]=0;q[a+204>>2]=0;q[a+208>>2]=0;q[a+212>>2]=-1;q[a+216>>2]=0;q[a+220>>2]=0;q[a+224>>2]=0;ci(a+232|0);q[a+388>>2]=0;q[a+392>>2]=0;q[a+380>>2]=0;q[a+384>>2]=0;q[a+416>>2]=0;q[a+420>>2]=0;q[a+412>>2]=7;q[a+404>>2]=-1;q[a+408>>2]=2;q[a+396>>2]=0;q[a+400>>2]=-1;q[a+424>>2]=0;q[a+428>>2]=0;q[a+432>>2]=0;q[a+436>>2]=0}function Ki(a){a=a|0;var us=0,gt=0,ht=0,it=0,jt=0,kt=0,lt=0,mt=0,nt=0,ot=0,pt=0,qt=0,rt=0,st=0,tt=0,ut=0,vt=0;mt=T+ -64|0;T=mt;q[a+132>>2]=0;if(q[a+148>>2]){ht=a+144|0;gt=q[ht>>2];if(gt){while(1){us=q[gt>>2];An(gt);gt=us;if(us){continue}break}}q[ht>>2]=0;us=q[a+140>>2];if(us){ht=a+136|0;gt=0;while(1){q[q[ht>>2]+(gt<<2)>>2]=0;gt=gt+1|0;if((us|0)!=(gt|0)){continue}break}}q[a+148>>2]=0}a:{b:{c:{d:{e:{f:{gt=q[a+4>>2];ht=r[gt+36|0];us=ht<<8|r[gt+37|0];g:{if(us>>>0>513){break g}kt=q[gt+32>>2];if(us>>>0<=511){it=q[kt+12>>2];us=q[kt+20>>2];lt=q[kt+16>>2];jt=lt+4|0;if(jt>>>0<4){us=us+1|0}nt=jt;jt=us;if((it|0)<(us|0)?1:(it|0)<=(us|0)?t[kt+8>>2]>=nt>>>0?0:1:0){break f}us=lt+q[kt>>2]|0;us=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt>>2]=us;q[kt+16>>2]=nt;q[kt+20>>2]=jt;q[a+132>>2]=us;break g}if(!oi(1,mt,kt)){break f}gt=q[a+4>>2];ht=r[gt+36|0];q[a+132>>2]=q[mt>>2]}gt=q[gt+32>>2];h:{i:{j:{if((ht&255)>>>0<=1){ht=0;kt=q[gt+12>>2];us=q[gt+20>>2];it=q[gt+16>>2];jt=it+4|0;if(jt>>>0<4){us=us+1|0}lt=jt;jt=us;if((kt|0)<(us|0)?1:(kt|0)<=(us|0)?t[gt+8>>2]>=lt>>>0?0:1:0){break a}us=it+q[gt>>2]|0;us=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt+60>>2]=us;q[gt+16>>2]=lt;q[gt+20>>2]=jt;q[a+156>>2]=us;pt=a+156|0;break j}ht=0;if(!oi(1,mt+60|0,gt)){break a}us=q[a+4>>2];gt=q[us+32>>2];us=r[us+36|0];q[a+156>>2]=q[mt+60>>2];pt=a+156|0;if(us>>>0>1){break i}}kt=q[gt+12>>2];us=q[gt+20>>2];it=q[gt+16>>2];jt=it+4|0;if(jt>>>0<4){us=us+1|0}nt=jt;jt=us;if((kt|0)<(us|0)?1:(kt|0)<=(us|0)?t[gt+8>>2]>=nt>>>0?0:1:0){break a}us=it+q[gt>>2]|0;lt=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt+56>>2]=lt;q[gt+16>>2]=nt;q[gt+20>>2]=jt;break h}if(!oi(1,mt+56|0,gt)){break a}lt=q[mt+56>>2]}if(lt>>>0>1431655765|t[pt>>2]>w(lt,3)>>>0){break a}qt=q[a+4>>2];jt=q[qt+32>>2];rt=q[jt+8>>2];ot=q[jt+16>>2];kt=q[jt+12>>2];us=kt;gt=q[jt+20>>2];if((us|0)<(gt|0)?1:(us|0)<=(gt|0)?rt>>>0>ot>>>0?0:1:0){break a}tt=q[jt>>2];nt=r[tt+ot|0];us=gt;st=ot+1|0;if(st>>>0<1){us=us+1|0}q[jt+16>>2]=st;q[jt+20>>2]=us;k:{if(r[qt+36|0]<=1){us=gt;gt=ot+5|0;if(gt>>>0<5){us=us+1|0}it=gt;gt=us;if((kt|0)<(us|0)?1:(kt|0)<=(us|0)?rt>>>0>=it>>>0?0:1:0){break a}us=st+tt|0;kt=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt+52>>2]=kt;q[jt+16>>2]=it;q[jt+20>>2]=gt;break k}if(!oi(1,mt+52|0,jt)){break a}kt=q[mt+52>>2]}if(lt>>>0<kt>>>0|lt>>>0>((kt>>>0)/3|0)+kt>>>0){break a}us=q[a+4>>2];jt=q[us+32>>2];l:{if(r[us+36|0]<=1){it=q[jt+12>>2];us=q[jt+20>>2];ot=q[jt+16>>2];gt=ot+4|0;if(gt>>>0<4){us=us+1|0}qt=gt;gt=us;if((it|0)<(us|0)?1:(it|0)<=(us|0)?t[jt+8>>2]>=qt>>>0?0:1:0){break a}us=ot+q[jt>>2]|0;ot=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt+48>>2]=ot;q[jt+16>>2]=qt;q[jt+20>>2]=gt;break l}if(!oi(1,mt+48|0,jt)){break a}ot=q[mt+48>>2]}if(ot>>>0>kt>>>0){break a}q[a+28>>2]=q[a+24>>2];gt=Mm(88);jk(gt);us=q[a+8>>2];q[a+8>>2]=gt;jt=a+8|0;if(us){wa(jt,us);if(!q[jt>>2]){break a}}us=q[a+160>>2];q[a+164>>2]=us;m:{if(q[a+168>>2]-us>>2>>>0>=lt>>>0){break m}if(lt>>>0>=1073741824){break e}ht=lt<<2;gt=Mm(ht);q[a+164>>2]=gt;q[a+160>>2]=gt;q[a+168>>2]=gt+ht;if(!us){break m}An(us)}us=q[a+172>>2];q[a+176>>2]=us;n:{if(q[a+180>>2]-us>>2>>>0>=lt>>>0){break n}if(lt>>>0>=1073741824){break d}ht=lt<<2;gt=Mm(ht);q[a+176>>2]=gt;q[a+172>>2]=gt;q[a+180>>2]=gt+ht;if(!us){break n}An(us)}q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+40>>2]=q[a+36>>2];q[a- -64>>2]=0;q[a+52>>2]=q[a+48>>2];q[a+76>>2]=q[a+72>>2];qt=a+216|0;gt=q[a+220>>2];ht=q[a+216>>2];if((gt|0)==(ht|0)){break c}while(1){us=q[gt+ -12>>2];if(us){q[gt+ -8>>2]=us;An(us)}us=q[gt+ -28>>2];if(us){q[gt+ -24>>2]=us;An(us)}us=gt+ -144|0;it=q[gt+ -40>>2];if(it){q[gt+ -36>>2]=it;An(it)}pi(gt+ -140|0);gt=us;if((ht|0)!=(us|0)){continue}break}us=q[qt>>2];break b}ht=0;break a}ab(12024);F()}ab(12024);F()}us=ht}q[a+220>>2]=ht;gt=(ht-us|0)/144|0;o:{if(gt>>>0<nt>>>0){qi(qt,nt-gt|0);break o}if(gt>>>0<=nt>>>0){break o}gt=us+w(nt,144)|0;if((gt|0)!=(ht|0)){while(1){us=q[ht+ -12>>2];if(us){q[ht+ -8>>2]=us;An(us)}us=q[ht+ -28>>2];if(us){q[ht+ -24>>2]=us;An(us)}us=ht+ -144|0;it=q[ht+ -40>>2];if(it){q[ht+ -36>>2]=it;An(it)}pi(ht+ -140|0);ht=us;if((us|0)!=(gt|0)){continue}break}}q[a+220>>2]=gt}ht=0;if(!tk(q[jt>>2],lt,q[pt>>2]+ot|0)){break a}us=q[a+156>>2];o[mt|0]=1;bb(a+120|0,us+ot|0,mt);gt=q[a+4>>2];us=s[gt+36>>1];us=(us<<24|us<<8&16711680)>>>16;p:{if(us>>>0<=513){it=q[gt+32>>2];q:{if(us>>>0<=511){lt=q[it+12>>2];us=q[it+20>>2];pt=q[it+16>>2];gt=pt+4|0;if(gt>>>0<4){us=us+1|0}rt=gt;gt=us;if((lt|0)<(us|0)?1:(lt|0)<=(us|0)?t[it+8>>2]>=rt>>>0?0:1:0){break a}us=pt+q[it>>2]|0;lt=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt+44>>2]=lt;q[it+16>>2]=rt;q[it+20>>2]=gt;break q}if(!oi(1,mt+44|0,it)){break a}lt=q[mt+44>>2]}if(!lt){break a}us=q[q[a+4>>2]+32>>2];gt=q[us+8>>2];it=q[us+16>>2];us=q[us+12>>2]-(q[us+20>>2]+(gt>>>0<it>>>0)|0)|0;if((us|0)<0?1:(us|0)<=0?gt-it>>>0>=lt>>>0?0:1:0){break a}it=Yj(mt);gt=q[q[a+4>>2]+32>>2];us=q[gt+16>>2];pt=q[gt+8>>2];Zj(it,(us+q[gt>>2]|0)+lt|0,(pt-us|0)-lt|0,s[gt+38>>1]);gt=ri(a,it);if((gt|0)==-1){break a}us=gt;it=us>>31;break p}us=-1;it=-1;if((ri(a,q[gt+32>>2])|0)==-1){break a}}q[a+376>>2]=a;pt=a+232|0;gt=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];rt=q[gt>>2]+q[gt+16>>2]|0;lt=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];gt=q[lt+8>>2];ht=q[lt+16>>2];Zj(pt,rt,gt-ht|0,s[q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);ut=a,vt=n[q[q[a>>2]+36>>2]](a)|0,q[ut+380>>2]=vt;q[a+372>>2]=nt;q[a+384>>2]=q[a+156>>2]+ot;ht=0;gt=Yj(mt);r:{if(!Li(pt,gt)){break r}lt=Mi(a,kt);if((lt|0)==-1){break r}kt=q[q[a+4>>2]+32>>2];ht=q[gt+16>>2];nt=ht+q[gt>>2]|0;gt=q[gt+8>>2];Zj(kt,nt,gt-ht|0,s[kt+38>>1]);gt=q[a+4>>2];ht=s[gt+36>>1];kt=(ht<<24|ht<<8&16711680)>>>16;if(kt>>>0<=513){ht=q[gt+32>>2];nt=ht;rt=ht;gt=it+q[ht+20>>2]|0;ht=us+q[ht+16>>2]|0;if(ht>>>0<us>>>0){gt=gt+1|0}q[rt+16>>2]=ht;q[nt+20>>2]=gt}s:{if(q[a+220>>2]==q[a+216>>2]){break s}gt=q[jt>>2];us=q[gt+4>>2];gt=q[gt>>2];t:{if(kt>>>0>=513){if((us|0)==(gt|0)){break s}gt=0;break t}if((us|0)==(gt|0)){break s}gt=0;while(1){if(ui(a,gt)){gt=gt+3|0;us=q[jt>>2];if(gt>>>0<q[us+4>>2]-q[us>>2]>>2>>>0){continue}break s}break}ht=0;break r}while(1){if(vi(a,gt)){gt=gt+3|0;us=q[jt>>2];if(gt>>>0<q[us+4>>2]-q[us>>2]>>2>>>0){continue}break s}break}ht=0;break r}if(r[a+308|0]){ak(a+272|0)}if(s[a+270>>1]<=513){ak(a+328|0)}gt=q[a+216>>2];it=a+220|0;if((gt|0)!=q[it>>2]){kt=0;while(1){us=w(kt,144);Ek((us+gt|0)+4|0,q[jt>>2]);ht=q[qt>>2];nt=us+ht|0;gt=q[nt+132>>2];nt=q[nt+136>>2];if((gt|0)!=(nt|0)){while(1){Gk((us+ht|0)+4|0,q[gt>>2]);ht=q[qt>>2];gt=gt+4|0;if((nt|0)!=(gt|0)){continue}break}}Fk((us+ht|0)+4|0);kt=kt+1|0;gt=q[a+216>>2];if(kt>>>0<(q[it>>2]-gt|0)/144>>>0){continue}break}}us=q[a+8>>2];wi(a+184|0,q[us+28>>2]-q[us+24>>2]>>2);ht=q[a+216>>2];if((ht|0)!=q[it>>2]){gt=0;kt=a+220|0;while(1){us=w(gt,144)+ht|0;ht=q[us+60>>2]-q[us+56>>2]>>2;nt=us+104|0;us=q[jt>>2];us=q[us+28>>2]-q[us+24>>2]>>2;wi(nt,(ht|0)<(us|0)?us:ht);gt=gt+1|0;ht=q[a+216>>2];if(gt>>>0<(q[kt>>2]-ht|0)/144>>>0){continue}break}}ht=xi(a,lt)}}T=mt- -64|0;return ht|0}function Li(a,wt){var xt=0,yt=0,zt=0,At=0,Bt=0,Ct=0,Dt=0,Et=0,Ft=0,Gt=0,Ht=0,It=0;Et=T-16|0;T=Et;xt=q[a+144>>2];xt=s[(n[q[q[xt>>2]+32>>2]](xt)|0)+36>>1];a:{if((xt<<24|xt<<8&16711680)>>>16>>>0<=513){xt=q[a+4>>2];q[a+40>>2]=q[a>>2];q[a+44>>2]=xt;zt=a+32|0;xt=zt;yt=q[xt+4>>2];q[a+72>>2]=q[xt>>2];q[a+76>>2]=yt;yt=q[a+28>>2];xt=a- -64|0;q[xt>>2]=q[a+24>>2];q[xt+4>>2]=yt;xt=q[a+20>>2];q[a+56>>2]=q[a+16>>2];q[a+60>>2]=xt;xt=q[a+12>>2];q[a+48>>2]=q[a+8>>2];q[a+52>>2]=xt;b:{xt=a+40|0;if(_j(xt,1,Et+8|0)){yt=q[xt+4>>2];q[a>>2]=q[xt>>2];q[a+4>>2]=yt;yt=q[xt+36>>2];q[zt>>2]=q[xt+32>>2];q[zt+4>>2]=yt;zt=q[xt+28>>2];q[a+24>>2]=q[xt+24>>2];q[a+28>>2]=zt;yt=q[xt+20>>2];Bt=yt;zt=q[xt+16>>2];q[a+16>>2]=zt;q[a+20>>2]=yt;yt=q[xt+12>>2];xt=q[xt+8>>2];q[a+8>>2]=xt;q[a+12>>2]=yt;Ct=xt-zt|0;Dt=q[Et+12>>2];xt=yt-((xt>>>0<zt>>>0)+Bt|0)|0;yt=q[Et+8>>2];if((Dt|0)==(xt|0)&yt>>>0<=Ct>>>0|Dt>>>0<xt>>>0){break b}}At=0;break a}xt=Bt+Dt|0;zt=zt+yt|0;if(zt>>>0<yt>>>0){xt=xt+1|0}q[a+16>>2]=zt;q[a+20>>2]=xt}c:{if(s[a+38>>1]<=513){xt=q[a+4>>2];q[a+96>>2]=q[a>>2];q[a+100>>2]=xt;zt=a+32|0;xt=zt;yt=q[xt+4>>2];q[a+128>>2]=q[xt>>2];q[a+132>>2]=yt;yt=a+24|0;xt=yt;At=q[xt+4>>2];q[a+120>>2]=q[xt>>2];q[a+124>>2]=At;At=a+16|0;xt=At;Bt=q[xt+4>>2];q[a+112>>2]=q[xt>>2];q[a+116>>2]=Bt;Bt=a+8|0;xt=Bt;Ct=q[xt+4>>2];q[a+104>>2]=q[xt>>2];q[a+108>>2]=Ct;d:{xt=a+96|0;if(_j(xt,1,Et+8|0)){Ct=q[xt+4>>2];q[a>>2]=q[xt>>2];q[a+4>>2]=Ct;Ct=q[xt+36>>2];q[zt>>2]=q[xt+32>>2];q[zt+4>>2]=Ct;zt=q[xt+28>>2];q[yt>>2]=q[xt+24>>2];q[yt+4>>2]=zt;yt=q[xt+20>>2];Ct=yt;zt=q[xt+16>>2];q[At>>2]=zt;q[At+4>>2]=yt;yt=q[xt+12>>2];xt=q[xt+8>>2];q[Bt>>2]=xt;q[Bt+4>>2]=yt;Bt=xt-zt|0;Dt=q[Et+12>>2];yt=yt-((xt>>>0<zt>>>0)+Ct|0)|0;xt=q[Et+8>>2];if((Dt|0)==(yt|0)&xt>>>0<=Bt>>>0|Dt>>>0<yt>>>0){break d}}At=0;break a}At=Ct+Dt|0;zt=xt+zt|0;if(zt>>>0<xt>>>0){At=At+1|0}q[a+16>>2]=zt;q[a+20>>2]=At;break c}At=0;if(!bh(a+80|0,a)){break a}}At=0;if(!Ai(a)){break a}xt=q[a+4>>2];q[wt>>2]=q[a>>2];q[wt+4>>2]=xt;xt=q[a+36>>2];q[wt+32>>2]=q[a+32>>2];q[wt+36>>2]=xt;xt=q[a+28>>2];q[wt+24>>2]=q[a+24>>2];q[wt+28>>2]=xt;xt=q[a+20>>2];q[wt+16>>2]=q[a+16>>2];q[wt+20>>2]=xt;xt=q[a+12>>2];q[wt+8>>2]=q[a+8>>2];q[wt+12>>2]=xt;xt=q[a+144>>2];xt=s[(n[q[q[xt>>2]+32>>2]](xt)|0)+36>>1];e:{if((xt<<24|xt<<8&16711680)>>>16>>>0<=513){xt=q[a+144>>2];f:{if(r[(n[q[q[xt>>2]+32>>2]](xt)|0)+36|0]<=1){yt=q[wt+12>>2];xt=q[wt+20>>2];Bt=q[wt+16>>2];zt=Bt+4|0;if(zt>>>0<4){xt=xt+1|0}Ct=zt;zt=xt;if((yt|0)<(xt|0)?1:(yt|0)<=(xt|0)?t[wt+8>>2]>=Ct>>>0?0:1:0){break a}xt=Bt+q[wt>>2]|0;yt=r[xt|0]|r[xt+1|0]<<8|(r[xt+2|0]<<16|r[xt+3|0]<<24);q[Et+8>>2]=yt;q[wt+16>>2]=Ct;q[wt+20>>2]=zt;break f}if(!oi(1,Et+8|0,wt)){break a}yt=q[Et+8>>2]}xt=q[a+152>>2];if(yt>>>0>=xt>>>0){break a}Bt=q[wt+16>>2];yt=q[wt+12>>2];zt=q[wt+20>>2];if((yt|0)<(zt|0)?1:(yt|0)<=(zt|0)?t[wt+8>>2]>Bt>>>0?0:1:0){break a}Ct=r[Bt+q[wt>>2]|0];Bt=Bt+1|0;if(Bt>>>0<1){zt=zt+1|0}yt=wt;q[yt+16>>2]=Bt;q[yt+20>>2]=zt;if(Ct){break a}q[a+176>>2]=2;q[a+180>>2]=7;break e}q[a+176>>2]=2;q[a+180>>2]=7;xt=q[a+152>>2]}if((xt|0)<0){break a}q[Et+8>>2]=0;At=2;Bt=q[a+156>>2];yt=q[a+160>>2]-Bt>>2;g:{if(xt>>>0>yt>>>0){Ad(a+156|0,xt-yt|0,Et+8|0);At=q[a+176>>2];zt=q[a+180>>2];break g}zt=7;if(xt>>>0>=yt>>>0){break g}q[a+160>>2]=Bt+(xt<<2)}Bt=a+184|0;zt=(zt-At|0)+1|0;At=a+188|0;xt=q[At>>2];Ct=q[a+184>>2];yt=(xt-Ct|0)/12|0;h:{if(zt>>>0>yt>>>0){Ni(Bt,zt-yt|0);zt=q[At>>2];break h}if(zt>>>0>=yt>>>0){zt=xt;break h}zt=Ct+w(zt,12)|0;if((zt|0)!=(xt|0)){while(1){yt=xt+ -12|0;At=q[yt>>2];if(At){q[xt+ -8>>2]=At;An(At)}xt=yt;if((xt|0)!=(zt|0)){continue}break}}q[a+188>>2]=zt}Ct=a+196|0;xt=q[a+184>>2];yt=(zt-xt|0)/12|0;Dt=q[a+196>>2];At=q[a+200>>2]-Dt>>2;i:{if(yt>>>0>At>>>0){Fa(Ct,yt-At|0);zt=q[a+188>>2];xt=q[a+184>>2];break i}if(yt>>>0>=At>>>0){break i}q[a+200>>2]=Dt+(yt<<2)}At=1;if((xt|0)==(zt|0)){break a}xt=0;It=a+188|0;while(1){oi(1,Et+8|0,wt);zt=q[Et+8>>2];if(zt){yt=q[Bt>>2];Ft=w(xt,12);At=yt+Ft|0;Gt=At+4|0;Ht=q[At>>2];Dt=q[Gt>>2]-Ht>>2;j:{if(zt>>>0>Dt>>>0){Fa(At,zt-Dt|0);yt=q[Bt>>2];break j}if(zt>>>0>=Dt>>>0){break j}q[Gt>>2]=(zt<<2)+Ht}qh(zt,1,wt,q[yt+Ft>>2]);q[q[Ct>>2]+(xt<<2)>>2]=zt}At=1;xt=xt+1|0;if(xt>>>0<(q[It>>2]-q[a+184>>2]|0)/12>>>0){continue}break}}T=Et+16|0;return At}
-
-
-
-function Mi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0;g=T-96|0;T=g;q[g+72>>2]=0;q[g+64>>2]=0;q[g+68>>2]=0;q[g+48>>2]=0;q[g+52>>2]=0;q[g+40>>2]=0;q[g+44>>2]=0;q[g+56>>2]=1065353216;q[g+32>>2]=0;q[g+24>>2]=0;q[g+28>>2]=0;C=q[a+124>>2];a:{b:{c:{if((b|0)>=1){A=a+232|0;B=a+8|0;D=a+40|0;G=a+388|0;E=q[a+216>>2]!=q[a+220>>2];while(1){h=Oi(A);d:{if(!h){d=q[g+68>>2];if((d|0)==q[g+64>>2]){e=-1;break c}n=-1;u=q[B>>2];i=q[u+24>>2];f=i;h=d+ -4|0;v=q[h>>2];c=-1;e:{if((v|0)==-1){break e}e=v+1|0;e=(e>>>0)%3|0?e:v+ -2|0;c=-1;if((e|0)==-1){break e}c=q[q[u>>2]+(e<<2)>>2]}f=q[f+(c<<2)>>2];if((f|0)!=-1){e=f+1|0;n=(e>>>0)%3|0?e:f+ -2|0}f=q[u+12>>2];x=w(j,3);e=x+1|0;q[f+(v<<2)>>2]=e;e=e<<2;q[e+f>>2]=v;y=x+2|0;q[f+(n<<2)>>2]=y;k=y<<2;q[k+f>>2]=n;p=q[u>>2];q[p+(x<<2)>>2]=c;m=e+p|0;f=-1;f:{if((n|0)==-1){break f}e=n+1|0;e=(e>>>0)%3|0?e:n+ -2|0;f=-1;if((e|0)==-1){break f}f=q[p+(e<<2)>>2]}q[m>>2]=f;g:{h:{if((v|0)!=-1){e=v+((v>>>0)%3|0?-1:2)|0;if((e|0)!=-1){break h}}q[k+p>>2]=-1;break g}e=q[p+(e<<2)>>2];q[k+p>>2]=e;if((e|0)==-1){break g}q[i+(e<<2)>>2]=y}f=q[a+120>>2]+(c>>>3&536870908)|0;e=q[f>>2];H=f,I=eo(c)&e,q[H>>2]=I;q[h>>2]=x;c=0;break d}e=-1;d=h+ -1|0;if(d>>>0>6){break c}i:{j:{k:{l:{switch(d-1|0){case 1:case 3:f=q[g+68>>2];if((f|0)==q[g+64>>2]){break c}e=q[B>>2];c=q[e+12>>2];y=w(j,3);i=(h|0)==5;h=y+(i?2:1)|0;d=h<<2;p=q[f+ -4>>2];q[c+d>>2]=p;q[c+(p<<2)>>2]=h;f=e+24|0;m=q[e+32>>2];e=e+28|0;c=q[e>>2];m:{if((m|0)!=(c|0)){q[c>>2]=-1;u=c+4|0;q[e>>2]=u;break m}zi(f,11312);u=q[e>>2]}e=-1;c=q[B>>2];k=q[c+24>>2];if(q[c+28>>2]-k>>2>(C|0)){break c}e=y+2|0;x=q[c>>2];m=x+d|0;c=u-q[f>>2]|0;d=(c>>2)+ -1|0;q[m>>2]=d;if(c){q[k+(d<<2)>>2]=h}e=i?y:e;f=x+(i+y<<2)|0;n:{o:{p:{if((p|0)!=-1){d=p+((p>>>0)%3|0?-1:2)|0;if((d|0)==-1){break p}d=q[x+(d<<2)>>2];q[x+(e<<2)>>2]=d;if((d|0)==-1){break o}q[k+(d<<2)>>2]=e;break o}q[x+(e<<2)>>2]=-1;c=-1;break n}q[x+(e<<2)>>2]=-1}d=p+1|0;d=(d>>>0)%3|0?d:p+ -2|0;c=-1;if((d|0)==-1){break n}c=q[x+(d<<2)>>2]}q[f>>2]=c;d=q[g+68>>2];q[d+ -4>>2]=y;break k;default:d=q[g+68>>2];u=q[g+64>>2];if((d|0)==(u|0)){break c}c=d+ -4|0;z=q[c>>2];q[g+68>>2]=c;k=q[g+44>>2];q:{if(!k){d=c;break q}i=co(k)>>>0>1;r:{if(!i){f=k+2147483647&j;break r}f=j;if(f>>>0<k>>>0){break r}f=(j>>>0)%(k>>>0)|0}h=q[q[g+40>>2]+(f<<2)>>2];if(!h){d=c;break q}l=q[h>>2];if(!l){d=c;break q}h=k+ -1|0;s:{while(1){n=q[l+4>>2];t:{if((j|0)!=(n|0)){u:{if(!i){n=h&n;break u}if(n>>>0<k>>>0){break u}n=(n>>>0)%(k>>>0)|0}if((f|0)==(n|0)){break t}d=c;break q}if(q[l+8>>2]==(j|0)){break s}}l=q[l>>2];if(l){continue}break}d=c;break q}f=l+12|0;if((c|0)!=q[g+72>>2]){q[c>>2]=q[f>>2];q[g+68>>2]=d;break q}zi(g- -64|0,f);d=q[g+68>>2];u=q[g+64>>2]}if((d|0)==(u|0)){break c}p=q[d+ -4>>2];f=(p|0)==-1;v=q[B>>2];if(q[q[v+12>>2]+(p<<2)>>2]!=-1?!f:0){break c}i=(z|0)==-1;k=v+12|0;h=q[k>>2];if(q[h+(z<<2)>>2]!=-1?!i:0){break c}x=w(j,3);y=x+2|0;q[h+(p<<2)>>2]=y;u=y<<2;q[u+h>>2]=p;c=x+1|0;q[h+(z<<2)>>2]=c;m=h;h=c<<2;q[m+h>>2]=z;if(f){break j}n=-1;m=q[v>>2];f=m+(x<<2)|0;c=p+((p>>>0)%3|0?-1:2)|0;if((c|0)!=-1){n=q[(c<<2)+m>>2]}q[f>>2]=n;c=p+1|0;c=(c>>>0)%3|0?c:p+ -2|0;if((c|0)==-1){break i}e=q[(c<<2)+m>>2];break i;case 5:break l;case 0:case 2:case 4:break c}}q[g>>2]=w(j,3);d=q[B>>2];f=d+24|0;i=q[d+32>>2];c=d+28|0;d=q[c>>2];v:{if((i|0)!=(d|0)){q[d>>2]=-1;m=d+4|0;q[c>>2]=m;break v}zi(f,11312);m=q[c>>2]}u=q[B>>2];n=q[u>>2];d=q[g>>2];k=m-q[f>>2]|0;y=k>>2;c=y+ -1|0;q[n+(d<<2)>>2]=c;d=d+1|0;i=u+24|0;h=u+28|0;f=q[h>>2];w:{if((f|0)!=q[u+32>>2]){q[f>>2]=-1;m=f+4|0;q[h>>2]=m;break w}zi(i,11312);m=q[h>>2];n=q[u>>2]}q[(d<<2)+n>>2]=(m-q[i>>2]>>2)+ -1;d=q[g>>2]+2|0;i=q[B>>2];f=i+28|0;h=q[f>>2];x:{if((h|0)!=q[i+32>>2]){q[h>>2]=-1;n=h+4|0;q[f>>2]=n;break x}zi(i+24|0,11312);n=q[f>>2]}q[q[i>>2]+(d<<2)>>2]=(n-q[i+24>>2]>>2)+ -1;d=q[B>>2];f=q[d+24>>2];if(q[d+28>>2]-f>>2>(C|0)){break c}d=q[g>>2];y:{z:{if(!k){e=1;q[f+(y<<2)>>2]=d+1;break z}q[f+(c<<2)>>2]=d;e=0;if((k|0)==-4){break z}q[f+(y<<2)>>2]=q[g>>2]+1;e=y+1|0;if((e|0)==-1){break y}}q[f+(e<<2)>>2]=q[g>>2]+2}d=q[g+68>>2];if((d|0)!=q[g+72>>2]){q[d>>2]=q[g>>2];d=d+4|0;q[g+68>>2]=d;break k}zi(g- -64|0,g);d=q[g+68>>2]}c=1;break d}n=-1;m=q[v>>2];q[m+(x<<2)>>2]=-1}q[h+m>>2]=e;A:{B:{C:{if(!i){c=z+((z>>>0)%3|0?-1:2)|0;if((c|0)==-1){break C}c=q[(c<<2)+m>>2];q[u+m>>2]=c;if((c|0)==-1){break B}q[q[v+24>>2]+(c<<2)>>2]=y;break B}q[u+m>>2]=-1;l=-1;e=-1;break A}q[u+m>>2]=-1}l=-1;c=z+1|0;c=(c>>>0)%3|0?c:z+ -2|0;e=-1;if((c|0)==-1){break A}l=q[(c<<2)+m>>2];e=c}q[g>>2]=l;h=q[G>>2];f=n<<2;c=h+f|0;q[c>>2]=q[c>>2]+q[h+(l<<2)>>2];h=q[v+24>>2];if((n|0)!=-1){q[f+h>>2]=q[h+(q[g>>2]<<2)>>2]}D:{if((e|0)==-1){break D}f=q[v>>2];while(1){q[f+(e<<2)>>2]=n;c=e+1|0;c=(c>>>0)%3|0?c:e+ -2|0;if((c|0)==-1){break D}e=q[q[k>>2]+(c<<2)>>2];if((e|0)==-1){break D}c=e+1|0;e=(c>>>0)%3|0?c:e+ -2|0;if((e|0)!=-1){continue}break}}q[h+(q[g>>2]<<2)>>2]=-1;E:{if(E){break E}c=q[g+28>>2];if((c|0)!=q[g+32>>2]){q[c>>2]=q[g>>2];q[g+28>>2]=c+4;break E}zi(g+24|0,g);d=q[g+68>>2]}q[d+ -4>>2]=x;c=0}Pi(A,q[d+ -4>>2]);F:{if(!c){break F}d=q[D>>2];if((d|0)==q[a+36>>2]){break F}h=(j^-1)+b|0;while(1){e=-1;c=q[d+ -8>>2];if(c>>>0>h>>>0){break c}if((c|0)!=(h|0)){break F}c=r[d+ -4|0];d=d+ -12|0;f=q[d>>2];q[D>>2]=d;if((f|0)<0){break c}e=q[q[g+68>>2]+ -4>>2];q[g+20>>2]=(f^-1)+b;q[g+88>>2]=g+20;Bi(g,g+40|0,g+20|0,g+88|0);f=q[g>>2];G:{if(c&1){c=-1;if((e|0)==-1){break G}d=e+1|0;c=(d>>>0)%3|0?d:e+ -2|0;break G}c=-1;if((e|0)==-1){break G}c=e+ -1|0;if((e>>>0)%3){break G}c=e+2|0}q[f+12>>2]=c;d=q[D>>2];if((d|0)!=q[a+36>>2]){continue}break}}j=j+1|0;if((j|0)!=(b|0)){continue}break}h=b}e=-1;l=q[a+8>>2];if(q[l+28>>2]-q[l+24>>2]>>2>(C|0)){break c}d=q[g+68>>2];if((d|0)!=q[g+64>>2]){C=a+72|0;b=a+60|0;y=a+312|0;G=a+352|0;E=a+8|0;D=a+68|0;x=a+80|0;v=a+76|0;while(1){c=d+ -4|0;d=q[c>>2];q[g+68>>2]=c;q[g>>2]=d;H:{I:{J:{K:{if(s[a+270>>1]<=513){if(!r[a+364|0]){break J}c=q[a+360>>2];d=q[G>>2]+(c>>>3)|0;if(d>>>0>=t[a+356>>2]){break I}d=r[d|0];q[a+360>>2]=c+1;c=d>>>(c&7)&1;break K}c=dh(y)}if(!c){break I}}k=q[E>>2];z=q[k>>2];if((h|0)>=((q[k+4>>2]-z>>2>>>0)/3|0)){break c}j=-1;l=-1;i=q[k+24>>2];f=i;A=q[g>>2];d=-1;L:{if((A|0)==-1){break L}c=A+1|0;c=(c>>>0)%3|0?c:A+ -2|0;d=-1;if((c|0)==-1){break L}d=q[z+(c<<2)>>2]}f=q[f+(d<<2)>>2];M:{if((f|0)==-1){break M}c=f+1|0;c=(c>>>0)%3|0?c:f+ -2|0;if((c|0)==-1){break M}j=c+1|0;j=(j>>>0)%3|0?j:c+ -2|0;if((j|0)!=-1){l=q[z+(j<<2)>>2]}j=c}p=-1;m=-1;i=q[i+(l<<2)>>2];f=-1;N:{if((i|0)==-1){break N}c=i+1|0;c=(c>>>0)%3|0?c:i+ -2|0;f=-1;if((c|0)==-1){break N}f=c+1|0;f=(f>>>0)%3|0?f:c+ -2|0;if((f|0)!=-1){m=q[z+(f<<2)>>2]}f=c}c=w(h,3);q[g+88>>2]=c;i=q[k+12>>2];q[i+(c<<2)>>2]=A;q[i+(A<<2)>>2]=c;c=q[g+88>>2]+1|0;q[i+(c<<2)>>2]=j;q[i+(j<<2)>>2]=c;c=q[g+88>>2]+2|0;q[i+(c<<2)>>2]=f;q[i+(f<<2)>>2]=c;c=q[g+88>>2];q[z+(c<<2)>>2]=l;u=c+1|0;k=z+(u<<2)|0;q[k>>2]=m;i=c+2|0;f=z+(i<<2)|0;q[f>>2]=d;A=q[a+120>>2];j=u>>>0<c>>>0?-1:l;c=A+(j>>>3&536870908)|0;d=q[c>>2];H=c,I=eo(j)&d,q[H>>2]=I;p=(u|0)!=-1?q[k>>2]:p;c=A+(p>>>3&536870908)|0;d=q[c>>2];H=c,I=eo(p)&d,q[H>>2]=I;d=-1;d=(i|0)!=-1?q[f>>2]:d;j=A+(d>>>3&536870908)|0;c=q[j>>2];H=j,I=eo(d)&c,q[H>>2]=I;d=q[a+64>>2];f=q[D>>2];if((d|0)==f<<5){if((d+1|0)<=-1){break a}c=b;if(d>>>0<=1073741822){j=d+32&-32;d=f<<6;d=d>>>0<j>>>0?j:d}else{d=2147483647}cb(c,d);d=q[a+64>>2]}h=h+1|0;q[a+64>>2]=d+1;c=q[a+60>>2]+(d>>>3&536870908)|0;q[c>>2]=q[c>>2]|1<<(d&31);d=q[v>>2];if((d|0)!=q[x>>2]){q[d>>2]=q[g+88>>2];q[v>>2]=d+4;break H}zi(C,g+88|0);break H}d=q[a+64>>2];f=q[D>>2];if((d|0)==f<<5){if((d+1|0)<=-1){break a}c=b;if(d>>>0<=1073741822){j=d+32&-32;d=f<<6;d=d>>>0<j>>>0?j:d}else{d=2147483647}cb(c,d);d=q[a+64>>2]}q[a+64>>2]=d+1;j=q[a+60>>2]+(d>>>3&536870908)|0;c=q[j>>2];H=j,I=eo(d)&c,q[H>>2]=I;d=q[v>>2];if((d|0)!=q[x>>2]){q[d>>2]=q[g>>2];q[v>>2]=d+4;break H}zi(C,g)}d=q[g+68>>2];if((d|0)!=q[g+64>>2]){continue}break}l=q[a+8>>2]}if(((q[l+4>>2]-q[l>>2]>>2>>>0)/3|0)!=(h|0)){break c}e=q[l+28>>2]-q[l+24>>2]>>2;b=q[g+24>>2];i=q[g+28>>2];if((b|0)==(i|0)){break b}f=a+8|0;while(1){k=q[b>>2];h=q[l+24>>2];d=e+ -1|0;O:{if(q[h+(d<<2)>>2]!=-1){j=e;break O}h=q[l+24>>2];while(1){d=e+ -2|0;j=e+ -1|0;e=j;if(q[(d<<2)+h>>2]==-1){continue}break}}if(d>>>0>=k>>>0){q[g>>2]=l;c=d<<2;e=q[c+h>>2];o[g+12|0]=1;q[g+8>>2]=e;q[g+4>>2]=e;if((e|0)!=-1){while(1){q[q[l>>2]+(e<<2)>>2]=k;lg(g);l=q[f>>2];e=q[g+8>>2];if((e|0)!=-1){continue}break}}e=c;c=q[l+24>>2];e=e+c|0;if((k|0)!=-1){q[c+(k<<2)>>2]=q[e>>2]}q[e>>2]=-1;E=1<<(k&31);e=q[a+120>>2];k=e+(k>>>3&536870908)|0;c=k;h=e+(d>>>3&536870908)|0;d=1<<(d&31);e=E|q[k>>2];P:{if(q[h>>2]&d){break P}e=q[k>>2]&(E^-1)}q[c>>2]=e;q[h>>2]=q[h>>2]&(d^-1);j=j+ -1|0}e=j;b=b+4|0;if((i|0)!=(b|0)){continue}break}}b=q[g+24>>2]}if(b){q[g+28>>2]=b;An(b)}d=q[g+48>>2];if(d){while(1){a=q[d>>2];An(d);d=a;if(d){continue}break}}a=q[g+40>>2];q[g+40>>2]=0;if(a){An(a)}a=q[g+64>>2];if(a){q[g+68>>2]=a;An(a)}T=g+96|0;return e}bn();F()}function Ni(a,b){var o=0,r=0,s=0,t=0,J=0,K=0,L=0,M=0,N=0;s=q[a+8>>2];t=a+4|0;o=q[t>>2];if((s-o|0)/12>>>0>=b>>>0){a=w(b,12);M=t,N=Dn(o,0,a)+a|0,q[M>>2]=N;return}a:{t=q[a>>2];r=(o-t|0)/12|0;J=r+b|0;if(J>>>0<357913942){L=w(r,12);s=(s-t|0)/12|0;r=s<<1;r=s>>>0<178956970?r>>>0<J>>>0?J:r:357913941;if(r){if(r>>>0>=357913942){break a}K=Mm(w(r,12))}s=K+L|0;Dn(s,0,w(b,12));b=w(J,12)+K|0;J=w(r,12)+K|0;if((o|0)!=(t|0)){while(1){s=s+ -12|0;q[s>>2]=0;q[s+4>>2]=0;r=s+8|0;q[r>>2]=0;o=o+ -12|0;q[s>>2]=q[o>>2];q[s+4>>2]=q[o+4>>2];K=r;r=o+8|0;q[K>>2]=q[r>>2];q[r>>2]=0;q[o>>2]=0;q[o+4>>2]=0;if((o|0)!=(t|0)){continue}break}t=q[a>>2];o=q[a+4>>2]}q[a>>2]=s;q[a+8>>2]=J;q[a+4>>2]=b;if((o|0)!=(t|0)){while(1){a=o+ -12|0;b=q[a>>2];if(b){q[o+ -8>>2]=b;An(b)}o=a;if((o|0)!=(t|0)){continue}break}}if(t){An(t)}return}bn();F()}ab(12024);F()}function Oi(a){var b=0,F=0,O=0,P=0,Q=0,R=0,S=0;b=q[a+172>>2];if((b|0)!=-1){F=q[a+196>>2]+(b<<2)|0;O=q[F>>2];b=O+ -1|0;q[F>>2]=b;if((O|0)<1){return 9}F=a;a=q[(q[q[q[a+184>>2]+w(q[a+172>>2],12)>>2]+(b<<2)>>2]<<2)+12096>>2];q[F+168>>2]=a;return a}b=7;F=q[a+144>>2];F=s[(n[q[q[F>>2]+32>>2]](F)|0)+36>>1];a:{if((F<<24|F<<8&16711680)>>>16>>>0>513){break a}if(!r[a+76|0]){q[a+168>>2]=1;return 1}b=0;Q=q[a- -64>>2];O=q[a+72>>2];F=Q+(O>>>3)|0;R=q[a+68>>2];if(F>>>0>=R>>>0){break a}P=r[F|0];F=O+1|0;q[a+72>>2]=F;if(!(P>>>(O&7)&1)){break a}P=F>>>3;b=Q+P|0;b:{if(b>>>0>=R>>>0){b=F;F=0;break b}S=r[b|0];b=O+2|0;q[a+72>>2]=b;P=b>>>3;F=S>>>(F&7)&1}O=P+Q|0;if(O>>>0<R>>>0){O=r[O|0];q[a+72>>2]=b+1;b=O>>>(b&7)<<1&2}else{b=0}b=(F|b)<<1|1}q[a+168>>2]=b;return b}function Pi(a,w){var T=0,U=0,V=0,W=0,X=0;W=-1;U=-1;a:{if((w|0)==-1){break a}U=w+1|0;W=(U>>>0)%3|0?U:w+ -2|0;U=w+ -1|0;if((w>>>0)%3){break a}U=w+2|0}T=q[a+168>>2];b:{if(T>>>0>7){break b}c:{d:{switch(T-2|0){default:T=q[a+148>>2];V=1;w=q[a+156>>2];X=w+(((W|0)!=-1?q[q[T>>2]+(W<<2)>>2]:-1)<<2)|0;q[X>>2]=q[X>>2]+1;w=(((U|0)!=-1?q[q[T>>2]+(U<<2)>>2]:-1)<<2)+w|0;break c;case 3:V=q[a+148>>2];T=-1;T=((w|0)!=-1?q[q[V>>2]+(w<<2)>>2]:T)<<2;w=q[a+156>>2];T=T+w|0;q[T>>2]=q[T>>2]+1;T=(((W|0)!=-1?q[q[V>>2]+(W<<2)>>2]:-1)<<2)+w|0;q[T>>2]=q[T>>2]+1;T=-1;T=(U|0)!=-1?q[q[V>>2]+(U<<2)>>2]:T;V=2;w=w+(T<<2)|0;break c;case 1:V=q[a+148>>2];T=-1;T=((w|0)!=-1?q[q[V>>2]+(w<<2)>>2]:T)<<2;w=q[a+156>>2];T=T+w|0;q[T>>2]=q[T>>2]+1;T=(((W|0)!=-1?q[q[V>>2]+(W<<2)>>2]:-1)<<2)+w|0;q[T>>2]=q[T>>2]+2;w=(((U|0)!=-1?q[q[V>>2]+(U<<2)>>2]:-1)<<2)+w|0;V=1;break c;case 0:case 2:case 4:break b;case 5:break d}}V=q[a+148>>2];T=-1;T=((w|0)!=-1?q[q[V>>2]+(w<<2)>>2]:T)<<2;w=q[a+156>>2];T=T+w|0;q[T>>2]=q[T>>2]+2;T=(((W|0)!=-1?q[q[V>>2]+(W<<2)>>2]:-1)<<2)+w|0;q[T>>2]=q[T>>2]+2;T=-1;T=(U|0)!=-1?q[q[V>>2]+(U<<2)>>2]:T;V=2;w=w+(T<<2)|0}q[w>>2]=q[w>>2]+V}T=-1;T=(W|0)!=-1?q[q[q[a+148>>2]>>2]+(W<<2)>>2]:T;W=q[a+176>>2];w=W;U=a;T=q[q[a+156>>2]+(T<<2)>>2];if((T|0)>=(w|0)){a=q[a+180>>2];w=(T|0)>(a|0)?a:T}q[U+172>>2]=w-W}function Qi(a){a=a|0;var w=0,Y=0,Z=0,_=0,$=0;q[a>>2]=11272;w=a+368|0;Z=q[w>>2];q[w>>2]=0;if(Z){Y=Z+ -4|0;w=q[Y>>2];if(w){w=Z+(w<<4)|0;while(1){w=w+ -16|0;if((Z|0)!=(w|0)){continue}break}}An(Y)}Z=q[a+216>>2];if(Z){$=a+220|0;w=q[$>>2];Y=Z;a:{if((Z|0)==(w|0)){break a}while(1){Y=q[w+ -12>>2];if(Y){q[w+ -8>>2]=Y;An(Y)}Y=q[w+ -28>>2];if(Y){q[w+ -24>>2]=Y;An(Y)}Y=w+ -144|0;_=q[w+ -40>>2];if(_){q[w+ -36>>2]=_;An(_)}pi(w+ -140|0);w=Y;if((Z|0)!=(w|0)){continue}break}Y=q[a+216>>2]}q[$>>2]=Z;An(Y)}w=q[a+196>>2];if(w){q[a+200>>2]=w;An(w)}w=q[a+184>>2];if(w){q[a+188>>2]=w;An(w)}w=q[a+172>>2];if(w){q[a+176>>2]=w;An(w)}w=q[a+160>>2];if(w){q[a+164>>2]=w;An(w)}w=q[a+144>>2];if(w){while(1){Z=q[w>>2];An(w);w=Z;if(w){continue}break}}Z=a+136|0;w=q[Z>>2];q[Z>>2]=0;if(w){An(w)}w=q[a+120>>2];if(w){An(w)}w=q[a+108>>2];if(w){An(w)}w=q[a+96>>2];if(w){An(w)}w=q[a+72>>2];if(w){q[a+76>>2]=w;An(w)}w=q[a+60>>2];if(w){An(w)}w=q[a+48>>2];if(w){q[a+52>>2]=w;An(w)}w=q[a+36>>2];if(w){q[a+40>>2]=w;An(w)}w=q[a+24>>2];if(w){q[a+28>>2]=w;An(w)}w=q[a+12>>2];if(w){q[a+16>>2]=w;An(w)}w=q[a+8>>2];q[a+8>>2]=0;if(w){wa(a+8|0,w)}return a|0}function Ri(a){a=a|0;An(Qi(a))}function Si(a){a=a|0;var aa=0,ba=0,ca=0,da=0,ea=0;q[a>>2]=11324;aa=q[a+388>>2];if(aa){q[a+392>>2]=aa;An(aa)}aa=a+368|0;ca=q[aa>>2];q[aa>>2]=0;if(ca){ba=ca+ -4|0;aa=q[ba>>2];if(aa){aa=ca+(aa<<4)|0;while(1){aa=aa+ -16|0;if((ca|0)!=(aa|0)){continue}break}}An(ba)}ca=q[a+216>>2];if(ca){ea=a+220|0;aa=q[ea>>2];ba=ca;a:{if((ca|0)==(aa|0)){break a}while(1){ba=q[aa+ -12>>2];if(ba){q[aa+ -8>>2]=ba;An(ba)}ba=q[aa+ -28>>2];if(ba){q[aa+ -24>>2]=ba;An(ba)}ba=aa+ -144|0;da=q[aa+ -40>>2];if(da){q[aa+ -36>>2]=da;An(da)}pi(aa+ -140|0);aa=ba;if((ca|0)!=(aa|0)){continue}break}ba=q[a+216>>2]}q[ea>>2]=ca;An(ba)}aa=q[a+196>>2];if(aa){q[a+200>>2]=aa;An(aa)}aa=q[a+184>>2];if(aa){q[a+188>>2]=aa;An(aa)}aa=q[a+172>>2];if(aa){q[a+176>>2]=aa;An(aa)}aa=q[a+160>>2];if(aa){q[a+164>>2]=aa;An(aa)}aa=q[a+144>>2];if(aa){while(1){ca=q[aa>>2];An(aa);aa=ca;if(aa){continue}break}}ca=a+136|0;aa=q[ca>>2];q[ca>>2]=0;if(aa){An(aa)}aa=q[a+120>>2];if(aa){An(aa)}aa=q[a+108>>2];if(aa){An(aa)}aa=q[a+96>>2];if(aa){An(aa)}aa=q[a+72>>2];if(aa){q[a+76>>2]=aa;An(aa)}aa=q[a+60>>2];if(aa){An(aa)}aa=q[a+48>>2];if(aa){q[a+52>>2]=aa;An(aa)}aa=q[a+36>>2];if(aa){q[a+40>>2]=aa;An(aa)}aa=q[a+24>>2];if(aa){q[a+28>>2]=aa;An(aa)}aa=q[a+12>>2];if(aa){q[a+16>>2]=aa;An(aa)}aa=q[a+8>>2];q[a+8>>2]=0;if(aa){wa(a+8|0,aa)}return a|0}function Ti(a){a=a|0;An(Si(a))}function Ui(a){a=a|0;var fa=0,ga=0,ha=0,ia=0,ja=0;q[a>>2]=11372;Vi(a+232|0);ia=q[a+216>>2];if(ia){ga=ia;ja=a+220|0;fa=q[ja>>2];ha=ga;a:{if((ga|0)==(fa|0)){break a}while(1){ga=q[fa+ -12>>2];if(ga){q[fa+ -8>>2]=ga;An(ga)}ga=q[fa+ -28>>2];if(ga){q[fa+ -24>>2]=ga;An(ga)}ga=fa+ -144|0;ha=q[fa+ -40>>2];if(ha){q[fa+ -36>>2]=ha;An(ha)}pi(fa+ -140|0);fa=ga;if((ia|0)!=(fa|0)){continue}break}ha=q[a+216>>2]}ga=ha;q[ja>>2]=ia;An(ga)}fa=q[a+196>>2];if(fa){q[a+200>>2]=fa;An(fa)}fa=q[a+184>>2];if(fa){q[a+188>>2]=fa;An(fa)}fa=q[a+172>>2];if(fa){q[a+176>>2]=fa;An(fa)}fa=q[a+160>>2];if(fa){q[a+164>>2]=fa;An(fa)}fa=q[a+144>>2];if(fa){while(1){ga=q[fa>>2];An(fa);fa=ga;if(fa){continue}break}}fa=a+136|0;ga=q[fa>>2];q[fa>>2]=0;if(ga){An(ga)}fa=q[a+120>>2];if(fa){An(fa)}fa=q[a+108>>2];if(fa){An(fa)}fa=q[a+96>>2];if(fa){An(fa)}fa=q[a+72>>2];if(fa){q[a+76>>2]=fa;An(fa)}fa=q[a+60>>2];if(fa){An(fa)}fa=q[a+48>>2];if(fa){q[a+52>>2]=fa;An(fa)}fa=q[a+36>>2];if(fa){q[a+40>>2]=fa;An(fa)}fa=q[a+24>>2];if(fa){q[a+28>>2]=fa;An(fa)}fa=q[a+12>>2];if(fa){q[a+16>>2]=fa;An(fa)}fa=q[a+8>>2];q[a+8>>2]=0;if(fa){wa(a+8|0,fa)}return a|0}function Vi(a){var ka=0,la=0,ma=0,na=0,oa=0;ka=q[a+196>>2];if(ka){q[a+200>>2]=ka;An(ka)}ka=q[a+184>>2];if(ka){oa=a+188|0;la=q[oa>>2];ma=ka;a:{if((ka|0)==(la|0)){break a}while(1){ma=la+ -12|0;na=q[ma>>2];if(na){q[la+ -8>>2]=na;An(na)}la=ma;if((la|0)!=(ka|0)){continue}break}ma=q[a+184>>2]}q[oa>>2]=ka;An(ma)}ka=q[a+156>>2];if(ka){q[a+160>>2]=ka;An(ka)}ka=a+136|0;a=q[ka>>2];q[ka>>2]=0;if(a){la=a+ -4|0;ka=q[la>>2];if(ka){ka=a+(ka<<4)|0;while(1){ka=ka+ -16|0;if((a|0)!=(ka|0)){continue}break}}An(la)}}function Wi(a){a=a|0;An(Ui(a))}function Xi(a){a=a|0;var pa=0;q[a>>2]=11760;pa=q[a+48>>2];if(pa){q[a+52>>2]=pa;An(pa)}q[a>>2]=12012;pa=q[a+36>>2];if(pa){An(pa)}pa=q[a+24>>2];if(pa){An(pa)}An(a)}function Yi(a){a=a|0;var qa=0;q[a>>2]=12012;qa=q[a+36>>2];if(qa){An(qa)}qa=q[a+24>>2];if(qa){An(qa)}return a|0}function Zi(a){a=a|0;var ra=0;q[a>>2]=12012;ra=q[a+36>>2];if(ra){An(ra)}ra=q[a+24>>2];if(ra){An(ra)}An(a)}function _i(a,sa,ta){a=a|0;sa=sa|0;ta=ta|0;var ua=0,va=0;ua=T-16|0;T=ua;q[a+4>>2]=sa;va=q[sa+4>>2];sa=q[sa>>2];o[ua+15|0]=0;bb(a+24|0,(va-sa>>2>>>0)/3|0,ua+15|0);sa=q[a+4>>2];va=q[sa+28>>2];sa=q[sa+24>>2];o[ua+14|0]=0;bb(a+36|0,va-sa>>2,ua+14|0);sa=q[ta+12>>2];q[a+16>>2]=q[ta+8>>2];q[a+20>>2]=sa;sa=q[ta+4>>2];q[a+8>>2]=q[ta>>2];q[a+12>>2]=sa;T=ua+16|0}function $i(a,sa){var ta=0,wa=0,xa=0;a:{if((a|0)!=(sa|0)){xa=a;ta=q[sa+4>>2];wa=0;b:{if(!ta){break b}c:{if(ta>>>0<=q[a+8>>2]<<5>>>0){wa=q[a>>2];break c}wa=q[a>>2];if(wa){An(wa);q[a+8>>2]=0;q[a>>2]=0;q[a+4>>2]=0;ta=q[sa+4>>2]}if((ta|0)<=-1){break a}ta=(ta+ -1>>>5)+1|0;wa=Mm(ta<<2);q[a+8>>2]=ta;q[a+4>>2]=0;q[a>>2]=wa;ta=q[sa+4>>2]}En(wa,q[sa>>2],(ta+ -1>>>3&536870908)+4|0);wa=q[sa+4>>2]}q[xa+4>>2]=wa}return}bn();F()}function aj(a){a=a|0;var sa=0;q[a>>2]=12336;sa=q[a+88>>2];if(sa){q[a+92>>2]=sa;An(sa)}sa=q[a+72>>2];if(sa){q[a+76>>2]=sa;An(sa)}sa=q[a+60>>2];if(sa){q[a- -64>>2]=sa;An(sa)}sa=q[a+48>>2];if(sa){q[a+52>>2]=sa;An(sa)}q[a>>2]=12572;sa=q[a+36>>2];if(sa){An(sa)}sa=q[a+24>>2];if(sa){An(sa)}return a|0}function bj(a){a=a|0;var ya=0;q[a>>2]=12124;q[a+8>>2]=12336;ya=q[a+96>>2];if(ya){q[a+100>>2]=ya;An(ya)}ya=q[a+80>>2];if(ya){q[a+84>>2]=ya;An(ya)}ya=q[a+68>>2];if(ya){q[a+72>>2]=ya;An(ya)}ya=q[a+56>>2];if(ya){q[a+60>>2]=ya;An(ya)}q[a+8>>2]=12572;ya=q[a+44>>2];if(ya){An(ya)}ya=q[a+32>>2];if(ya){An(ya)}return a|0}function cj(a){a=a|0;var za=0;q[a>>2]=12124;q[a+8>>2]=12336;za=q[a+96>>2];if(za){q[a+100>>2]=za;An(za)}za=q[a+80>>2];if(za){q[a+84>>2]=za;An(za)}za=q[a+68>>2];if(za){q[a+72>>2]=za;An(za)}za=q[a+56>>2];if(za){q[a+60>>2]=za;An(za)}q[a+8>>2]=12572;za=q[a+44>>2];if(za){An(za)}za=q[a+32>>2];if(za){An(za)}An(a)}function dj(a,Aa){a=a|0;Aa=Aa|0;var Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;Ja=q[a+12>>2];Ba=q[a+108>>2];Ca=q[Ba+80>>2];o[Aa+84|0]=0;Fa=q[Aa+68>>2];Da=q[Aa+72>>2]-Fa>>2;a:{if(Ca>>>0>Da>>>0){md(Aa+68|0,Ca-Da|0,12324);Ba=q[a+108>>2];Ca=q[Ba+80>>2];break a}if(Ca>>>0>=Da>>>0){break a}q[Aa+72>>2]=Fa+(Ca<<2)}Ia=q[Ba+96>>2];Ba=q[Ba+100>>2]-Ia|0;Ka=(Ba|0)/12|0;if(!Ba){return 1}La=Aa+68|0;Aa=0;b:{while(1){c:{if((Aa|0)==1431655765){break c}Ba=q[Ja>>2]+(w(Aa,3)<<2)|0;Fa=q[Ba>>2];if((Fa|0)==-1){break c}Da=w(Aa,12)+Ia|0;Ga=q[Da>>2];if(Ga>>>0>=Ca>>>0){break c}Ea=Fa<<2;Fa=q[q[a+112>>2]+12>>2];Ea=q[Ea+Fa>>2];if(Ea>>>0>=Ca>>>0){break c}Ha=Ga<<2;Ga=q[La>>2];q[Ha+Ga>>2]=Ea;Ea=q[Ba+4>>2];if((Ea|0)==-1){break c}Ha=q[Da+4>>2];if(Ha>>>0>=Ca>>>0){break c}Ea=q[Fa+(Ea<<2)>>2];if(Ea>>>0>=Ca>>>0){break c}q[Ga+(Ha<<2)>>2]=Ea;Ba=q[Ba+8>>2];if((Ba|0)==-1){break c}Da=q[Da+8>>2];if(Da>>>0>=Ca>>>0){break c}Ba=q[Fa+(Ba<<2)>>2];if(Ba>>>0>=Ca>>>0){break c}q[Ga+(Da<<2)>>2]=Ba;Ba=1;Aa=Aa+1|0;if(Aa>>>0<Ka>>>0){continue}break b}break}Ba=0}return Ba|0}function ej(a){a=a|0;var Aa=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0;Pa=T-16|0;T=Pa;Ma=q[a+4>>2];Aa=q[Ma>>2];a:{Sa=a+12|0;Na=q[Sa>>2];Oa=q[Na+28>>2]-q[Na+24>>2]|0;Na=Oa>>2;b:{if(q[Ma+8>>2]-Aa>>2>>>0>=Na>>>0){break b}if(Na>>>0>=1073741824){break a}Ta=Ma+4|0;Qa=q[Ta>>2];Ra=Na<<2;Na=Mm(Oa);Ra=Ra+Na|0;Oa=Qa-Aa|0;Qa=Oa+Na|0;if((Oa|0)>=1){Cn(Na,Aa,Oa)}q[Ma>>2]=Na;q[Ma+8>>2]=Ra;q[Ta>>2]=Qa;if(!Aa){break b}An(Aa)}Aa=q[Sa>>2];Ma=q[Aa+24>>2];Aa=q[Aa+28>>2];q[Pa+12>>2]=0;Aa=Aa-Ma>>2;Na=a+96|0;Oa=q[Na>>2];Ma=q[a+100>>2]-Oa>>2;c:{if(Aa>>>0>Ma>>>0){Ad(Na,Aa-Ma|0,Pa+12|0);break c}if(Aa>>>0>=Ma>>>0){break c}q[a+100>>2]=Oa+(Aa<<2)}Oa=a+8|0;d:{e:{Aa=q[a+116>>2];if(Aa){Na=q[Aa>>2];Ma=1;if((Na|0)==q[Aa+4>>2]){break d}Aa=0;while(1){if(!fj(Oa,q[(Aa<<2)+Na>>2])){break e}Ma=q[a+116>>2];Na=q[Ma>>2];Aa=Aa+1|0;if(Aa>>>0<q[Ma+4>>2]-Na>>2>>>0){continue}break}Ma=1;break d}Aa=0;a=q[a+12>>2];a=(q[a+4>>2]-q[a>>2]>>2>>>0)/3|0;Ma=1;if((a|0)<=0){break d}while(1){if(!fj(Oa,w(Aa,3))){break e}Aa=Aa+1|0;if(Aa>>>0<a>>>0){continue}break}Ma=1;break d}Ma=0}T=Pa+16|0;return Ma|0}ab(12024);F()}function fj(a,Ua){var Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0;Ya=T-32|0;T=Ya;q[Ya+8>>2]=Ua;a:{if(q[a+92>>2]==q[a+88>>2]){break a}Xa=a+52|0;Va=q[Xa>>2];b:{if((Va|0)!=q[a+56>>2]){q[Va>>2]=Ua;q[Xa>>2]=Va+4;break b}zi(a+48|0,Ya+8|0)}q[a+84>>2]=0;Ua=-1;Xa=-1;Va=q[Ya+8>>2];c:{if((Va|0)==-1){break c}Wa=q[a+4>>2];Za=Va+1|0;Za=(Za>>>0)%3|0?Za:Va+ -2|0;if((Za|0)!=-1){Ua=q[q[Wa>>2]+(Za<<2)>>2]}Va=Va+((Va>>>0)%3|0?-1:2)|0;if((Va|0)==-1){break c}Xa=q[q[Wa>>2]+(Va<<2)>>2]}Va=q[a+36>>2];Wa=Va+(Ua>>>3&536870908)|0;Za=q[Wa>>2];$a=1<<(Ua&31);if(!(Za&$a)){q[Wa>>2]=Za|$a;Va=-1;Wa=q[Ya+8>>2];if((Wa|0)!=-1){Va=Wa+1|0;Va=(Va>>>0)%3|0?Va:Wa+ -2|0}q[Ya+16>>2]=Va;Wa=q[a+20>>2];Za=(Va>>>0)/3|0;Za=q[(q[q[a+16>>2]+96>>2]+w(Za,12)|0)+(Va-w(Za,3)<<2)>>2];q[Ya+24>>2]=Za;Wa=q[Wa+4>>2];$a=Wa+4|0;Va=q[$a>>2];d:{if((Va|0)!=q[Wa+8>>2]){q[Va>>2]=Za;q[$a>>2]=Va+4;break d}zi(Wa,Ya+24|0)}Za=a+12|0;Va=q[Za>>2];$a=Va+4|0;Wa=q[$a>>2];e:{if((Wa|0)!=q[Va+8>>2]){q[Wa>>2]=q[Ya+16>>2];q[$a>>2]=Wa+4;break e}zi(Va,Ya+16|0);Va=q[Za>>2]}q[q[Va+12>>2]+(Ua<<2)>>2]=q[Va+24>>2];q[Va+24>>2]=q[Va+24>>2]+1;Va=q[a+36>>2]}Ua=Va+(Xa>>>3&536870908)|0;Va=q[Ua>>2];Wa=1<<(Xa&31);if(!(Va&Wa)){q[Ua>>2]=Va|Wa;Ua=Ya;ab=Ua;Wa=q[Ua+8>>2];Va=-1;f:{if((Wa|0)==-1){break f}Va=Wa+ -1|0;if((Wa>>>0)%3){break f}Va=Wa+2|0}q[ab+16>>2]=Va;Ua=q[a+20>>2];Wa=(Va>>>0)/3|0;Wa=q[(q[q[a+16>>2]+96>>2]+w(Wa,12)|0)+(Va-w(Wa,3)<<2)>>2];q[Ya+24>>2]=Wa;Va=q[Ua+4>>2];Za=Va+4|0;Ua=q[Za>>2];g:{if((Ua|0)!=q[Va+8>>2]){q[Ua>>2]=Wa;q[Za>>2]=Ua+4;break g}zi(Va,Ya+24|0)}Wa=a+12|0;Ua=q[Wa>>2];Za=Ua+4|0;Va=q[Za>>2];h:{if((Va|0)!=q[Ua+8>>2]){q[Va>>2]=q[Ya+16>>2];q[Za>>2]=Va+4;break h}zi(Ua,Ya+16|0);Ua=q[Wa>>2]}q[q[Ua+12>>2]+(Xa<<2)>>2]=q[Ua+24>>2];q[Ua+24>>2]=q[Ua+24>>2]+1}Ua=-1;Va=q[Ya+8>>2];if((Va|0)!=-1){Ua=q[q[q[a+4>>2]>>2]+(Va<<2)>>2]}Va=q[a+36>>2]+(Ua>>>3&536870908)|0;Xa=q[Va>>2];Wa=1<<(Ua&31);if(!(Xa&Wa)){q[Va>>2]=Wa|Xa;Va=q[Ya+8>>2];q[Ya+16>>2]=Va;Xa=q[a+20>>2];Wa=(Va>>>0)/3|0;Wa=q[(q[q[a+16>>2]+96>>2]+w(Wa,12)|0)+(Va-w(Wa,3)<<2)>>2];q[Ya+24>>2]=Wa;Xa=q[Xa+4>>2];Za=Xa+4|0;Va=q[Za>>2];i:{if((Va|0)!=q[Xa+8>>2]){q[Va>>2]=Wa;q[Za>>2]=Va+4;break i}zi(Xa,Ya+24|0)}Wa=a+12|0;Xa=q[Wa>>2];Za=Xa+4|0;Va=q[Za>>2];j:{if((Va|0)!=q[Xa+8>>2]){q[Va>>2]=q[Ya+16>>2];q[Za>>2]=Va+4;break j}zi(Xa,Ya+16|0);Xa=q[Wa>>2]}q[q[Xa+12>>2]+(Ua<<2)>>2]=q[Xa+24>>2];q[Xa+24>>2]=q[Xa+24>>2]+1}Va=q[a+84>>2];k:{if((Va|0)>2){break k}Za=a+24|0;$a=a+36|0;eb=a+16|0;fb=a+20|0;cb=a+88|0;while(1){Xa=w(Va,12)+a|0;Wa=Xa+52|0;Ua=q[Wa>>2];if((Ua|0)==q[Xa+48>>2]){Ua=(Va|0)<2;Va=Va+1|0;if(Ua){continue}break k}Xa=Ua+ -4|0;Ua=q[Xa>>2];q[Wa>>2]=Xa;q[a+84>>2]=Va;q[Ya+8>>2]=Ua;if((Ua|0)==-1){break a}Xa=q[Za>>2];Wa=(Ua>>>0)/3|0;l:{if(q[Xa+(Wa>>>3&268435452)>>2]>>>(Wa&31)&1){break l}m:{while(1){Ua=(Ua>>>0)/3|0;Va=(Ua>>>3&268435452)+Xa|0;q[Va>>2]=q[Va>>2]|1<<(Ua&31);Ua=-1;Xa=q[Ya+8>>2];if((Xa|0)!=-1){Ua=q[q[q[a+4>>2]>>2]+(Xa<<2)>>2]}Va=q[$a>>2]+(Ua>>>3&536870908)|0;Wa=q[Va>>2];_a=1<<(Ua&31);if(!(Wa&_a)){q[Va>>2]=Wa|_a;Va=q[Ya+8>>2];q[Ya+16>>2]=Va;Xa=q[fb>>2];Wa=(Va>>>0)/3|0;Wa=q[(q[q[eb>>2]+96>>2]+w(Wa,12)|0)+(Va-w(Wa,3)<<2)>>2];q[Ya+24>>2]=Wa;Xa=q[Xa+4>>2];_a=Xa+4|0;Va=q[_a>>2];n:{if((Va|0)!=q[Xa+8>>2]){q[Va>>2]=Wa;q[_a>>2]=Va+4;break n}zi(Xa,Ya+24|0)}Wa=a+12|0;Xa=q[Wa>>2];_a=Xa+4|0;Va=q[_a>>2];o:{if((Va|0)!=q[Xa+8>>2]){q[Va>>2]=q[Ya+16>>2];q[_a>>2]=Va+4;break o}zi(Xa,Ya+16|0);Xa=q[Wa>>2]}q[q[Xa+12>>2]+(Ua<<2)>>2]=q[Xa+24>>2];q[Xa+24>>2]=q[Xa+24>>2]+1;Xa=q[Ya+8>>2]}if((Xa|0)==-1){break m}db=a+4|0;_a=q[db>>2];Ua=-1;Va=-1;Wa=Xa+1|0;Wa=(Wa>>>0)%3|0?Wa:Xa+ -2|0;if((Wa|0)!=-1){Va=q[q[_a+12>>2]+(Wa<<2)>>2]}Xa=((Xa>>>0)%3|0?-1:2)+Xa|0;if((Xa|0)!=-1){Ua=q[q[_a+12>>2]+(Xa<<2)>>2]}Wa=(Ua>>>0)/3|0;bb=(Va>>>0)/3|0;ab=(Va|0)==-1;Xa=1;p:{if(ab){break p}Xa=ab?-1:bb;Xa=q[q[Za>>2]+(Xa>>>3&536870908)>>2]>>>(Xa&31)&1}q:{r:{s:{if((Ua|0)==-1){if(!Xa){break s}break m}Wa=(Ua|0)==-1?-1:Wa;t:{if(q[q[Za>>2]+(Wa>>>3&536870908)>>2]>>>(Wa&31)&1){break t}Wa=0;ab=Xa;_a=q[q[_a>>2]+(Ua<<2)>>2];if(!(q[q[$a>>2]+(_a>>>3&536870908)>>2]>>>(_a&31)&1)){_a=q[cb>>2]+(_a<<2)|0;Wa=q[_a>>2];q[_a>>2]=Wa+1;Wa=(Wa|0)<1?2:1}if((Wa|0)<=q[a+84>>2]?ab:0){break r}q[Ya+24>>2]=Ua;bb=w(Wa,12)+a|0;ab=bb+52|0;_a=q[ab>>2];u:{if((_a|0)!=q[bb+56>>2]){q[_a>>2]=Ua;q[ab>>2]=_a+4;break u}zi(bb+48|0,Ya+24|0)}if(q[a+84>>2]<=(Wa|0)){break t}q[a+84>>2]=Wa}if(Xa){break m}}Ua=-1;Xa=0;Ua=(Va|0)!=-1?q[q[q[db>>2]>>2]+(Va<<2)>>2]:Ua;if(!(q[q[$a>>2]+(Ua>>>3&536870908)>>2]>>>(Ua&31)&1)){Xa=q[cb>>2]+(Ua<<2)|0;Ua=q[Xa>>2];q[Xa>>2]=Ua+1;Xa=(Ua|0)<1?2:1}if((Xa|0)>q[a+84>>2]){break q}Ua=Va}q[Ya+8>>2]=Ua;Xa=q[Za>>2];continue}break}q[Ya+24>>2]=Va;Wa=w(Xa,12)+a|0;_a=Wa+52|0;Ua=q[_a>>2];v:{if((Ua|0)!=q[Wa+56>>2]){q[Ua>>2]=Va;q[_a>>2]=Ua+4;break v}zi(Wa+48|0,Ya+24|0)}Va=q[a+84>>2];if((Va|0)<=(Xa|0)){break l}q[a+84>>2]=Xa;Va=Xa;break l}Va=q[a+84>>2]}if((Va|0)<3){continue}break}}q[Ya+8>>2]=-1}T=Ya+32|0;return 1}function gj(a){a=a|0;var Ua=0;q[a>>2]=12336;Ua=q[a+88>>2];if(Ua){q[a+92>>2]=Ua;An(Ua)}Ua=q[a+72>>2];if(Ua){q[a+76>>2]=Ua;An(Ua)}Ua=q[a+60>>2];if(Ua){q[a- -64>>2]=Ua;An(Ua)}Ua=q[a+48>>2];if(Ua){q[a+52>>2]=Ua;An(Ua)}q[a>>2]=12572;Ua=q[a+36>>2];if(Ua){An(Ua)}Ua=q[a+24>>2];if(Ua){An(Ua)}An(a)}function hj(a){a=a|0;var gb=0;q[a>>2]=12572;gb=q[a+36>>2];if(gb){An(gb)}gb=q[a+24>>2];if(gb){An(gb)}return a|0}function ij(a){a=a|0;var hb=0;q[a>>2]=12572;hb=q[a+36>>2];if(hb){An(hb)}hb=q[a+24>>2];if(hb){An(hb)}An(a)}function jj(a){a=a|0;var ib=0;q[a>>2]=12756;ib=q[a+48>>2];if(ib){q[a+52>>2]=ib;An(ib)}q[a>>2]=12572;ib=q[a+36>>2];if(ib){An(ib)}ib=q[a+24>>2];if(ib){An(ib)}return a|0}function kj(a){a=a|0;var jb=0,kb=0;q[a>>2]=12592;kb=a+8|0;q[kb>>2]=12756;jb=q[a+56>>2];if(jb){q[a+60>>2]=jb;An(jb)}q[kb>>2]=12572;jb=q[a+44>>2];if(jb){An(jb)}jb=q[a+32>>2];if(jb){An(jb)}return a|0}function lj(a){a=a|0;var lb=0,mb=0;q[a>>2]=12592;mb=a+8|0;q[mb>>2]=12756;lb=q[a+56>>2];if(lb){q[a+60>>2]=lb;An(lb)}q[mb>>2]=12572;lb=q[a+44>>2];if(lb){An(lb)}lb=q[a+32>>2];if(lb){An(lb)}An(a)}function mj(a,nb){a=a|0;nb=nb|0;var ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0;wb=q[a+12>>2];ob=q[a+68>>2];pb=q[ob+80>>2];o[nb+84|0]=0;sb=q[nb+68>>2];qb=q[nb+72>>2]-sb>>2;a:{if(pb>>>0>qb>>>0){md(nb+68|0,pb-qb|0,12324);ob=q[a+68>>2];pb=q[ob+80>>2];break a}if(pb>>>0>=qb>>>0){break a}q[nb+72>>2]=sb+(pb<<2)}vb=q[ob+96>>2];ob=q[ob+100>>2]-vb|0;xb=(ob|0)/12|0;if(!ob){return 1}yb=nb+68|0;nb=0;b:{while(1){c:{if((nb|0)==1431655765){break c}ob=q[wb>>2]+(w(nb,3)<<2)|0;sb=q[ob>>2];if((sb|0)==-1){break c}qb=w(nb,12)+vb|0;tb=q[qb>>2];if(tb>>>0>=pb>>>0){break c}rb=sb<<2;sb=q[q[a+72>>2]+12>>2];rb=q[rb+sb>>2];if(rb>>>0>=pb>>>0){break c}ub=tb<<2;tb=q[yb>>2];q[ub+tb>>2]=rb;rb=q[ob+4>>2];if((rb|0)==-1){break c}ub=q[qb+4>>2];if(ub>>>0>=pb>>>0){break c}rb=q[sb+(rb<<2)>>2];if(rb>>>0>=pb>>>0){break c}q[tb+(ub<<2)>>2]=rb;ob=q[ob+8>>2];if((ob|0)==-1){break c}qb=q[qb+8>>2];if(qb>>>0>=pb>>>0){break c}ob=q[sb+(ob<<2)>>2];if(ob>>>0>=pb>>>0){break c}q[tb+(qb<<2)>>2]=ob;ob=1;nb=nb+1|0;if(nb>>>0<xb>>>0){continue}break b}break}ob=0}return ob|0}function nj(a){a=a|0;var nb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;Bb=q[a+4>>2];nb=q[Bb>>2];a:{zb=q[a+12>>2];Ab=q[zb+28>>2]-q[zb+24>>2]|0;zb=Ab>>2;b:{if(q[Bb+8>>2]-nb>>2>>>0>=zb>>>0){break b}if(zb>>>0>=1073741824){break a}Eb=Bb+4|0;Cb=q[Eb>>2];Db=zb<<2;zb=Mm(Ab);Db=Db+zb|0;Ab=Cb-nb|0;Cb=Ab+zb|0;if((Ab|0)>=1){Cn(zb,nb,Ab)}q[Bb>>2]=zb;q[Bb+8>>2]=Db;q[Eb>>2]=Cb;if(!nb){break b}An(nb)}zb=a+8|0;c:{d:{nb=q[a+76>>2];if(nb){Bb=q[nb>>2];Ab=1;if((Bb|0)==q[nb+4>>2]){break c}nb=0;while(1){if(!oj(zb,q[(nb<<2)+Bb>>2])){break d}Ab=q[a+76>>2];Bb=q[Ab>>2];nb=nb+1|0;if(nb>>>0<q[Ab+4>>2]-Bb>>2>>>0){continue}break}return 1}nb=0;a=q[a+12>>2];a=(q[a+4>>2]-q[a>>2]>>2>>>0)/3|0;if((a|0)<=0){return 1}while(1){if(!oj(zb,w(nb,3))){break d}nb=nb+1|0;if(nb>>>0<a>>>0){continue}break}return 1}Ab=0}return Ab|0}ab(12024);F()}function oj(a,Fb){var Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0;Kb=T-32|0;T=Kb;q[Kb+8>>2]=Fb;a:{if((Fb|0)==-1){Jb=1;break a}Jb=1;Gb=(Fb>>>0)/3|0;if(q[q[a+24>>2]+(Gb>>>3&268435452)>>2]>>>(Gb&31)&1){break a}Gb=a+52|0;Ib=q[a+48>>2];q[Gb>>2]=Ib;Pb=a+48|0;b:{if((Ib|0)!=q[a+56>>2]){q[Ib>>2]=Fb;q[Gb>>2]=Ib+4;break b}zi(Pb,Kb+8|0)}Jb=-1;Ib=q[Kb+8>>2];if((Ib|0)==-1){Jb=0;break a}Gb=q[a+4>>2];Fb=Ib+1|0;Fb=(Fb>>>0)%3|0?Fb:Ib+ -2|0;if((Fb|0)!=-1){Jb=q[q[Gb>>2]+(Fb<<2)>>2]}Fb=Ib+((Ib>>>0)%3|0?-1:2)|0;if((Fb|0)==-1){Jb=0;break a}if((Jb|0)==-1){Jb=0;break a}Lb=q[q[Gb>>2]+(Fb<<2)>>2];if((Lb|0)==-1){Jb=0;break a}Fb=q[a+36>>2];Hb=Fb+(Jb>>>3&536870908)|0;Ib=q[Hb>>2];Gb=1<<(Jb&31);if(!(Ib&Gb)){q[Hb>>2]=Gb|Ib;Hb=-1;Gb=q[Kb+8>>2];if((Gb|0)!=-1){Fb=Gb+1|0;Hb=(Fb>>>0)%3|0?Fb:Gb+ -2|0}q[Kb+16>>2]=Hb;Ib=q[a+20>>2];Fb=(Hb>>>0)/3|0;Gb=q[(q[q[a+16>>2]+96>>2]+w(Fb,12)|0)+(Hb-w(Fb,3)<<2)>>2];q[Kb+24>>2]=Gb;Ib=q[Ib+4>>2];Fb=Ib+4|0;Hb=q[Fb>>2];c:{if((Hb|0)!=q[Ib+8>>2]){q[Hb>>2]=Gb;q[Fb>>2]=Hb+4;break c}zi(Ib,Kb+24|0)}Gb=a+12|0;Hb=q[Gb>>2];Fb=Hb+4|0;Ib=q[Fb>>2];d:{if((Ib|0)!=q[Hb+8>>2]){q[Ib>>2]=q[Kb+16>>2];q[Fb>>2]=Ib+4;break d}zi(Hb,Kb+16|0);Hb=q[Gb>>2]}q[q[Hb+12>>2]+(Jb<<2)>>2]=q[Hb+24>>2];q[Hb+24>>2]=q[Hb+24>>2]+1;Fb=q[a+36>>2]}Ib=(Lb>>>3&536870908)+Fb|0;Gb=q[Ib>>2];Fb=1<<(Lb&31);if(!(Gb&Fb)){q[Ib>>2]=Fb|Gb;Fb=Kb;Ib=Fb;Gb=q[Fb+8>>2];Hb=-1;e:{if((Gb|0)==-1){break e}Hb=Gb+ -1|0;if((Gb>>>0)%3){break e}Hb=Gb+2|0}q[Ib+16>>2]=Hb;Ib=q[a+20>>2];Fb=(Hb>>>0)/3|0;Gb=q[(q[q[a+16>>2]+96>>2]+w(Fb,12)|0)+(Hb-w(Fb,3)<<2)>>2];q[Kb+24>>2]=Gb;Ib=q[Ib+4>>2];Fb=Ib+4|0;Hb=q[Fb>>2];f:{if((Hb|0)!=q[Ib+8>>2]){q[Hb>>2]=Gb;q[Fb>>2]=Hb+4;break f}zi(Ib,Kb+24|0)}Gb=a+12|0;Jb=q[Gb>>2];Fb=Jb+4|0;Ib=q[Fb>>2];g:{if((Ib|0)!=q[Jb+8>>2]){q[Ib>>2]=q[Kb+16>>2];q[Fb>>2]=Ib+4;break g}zi(Jb,Kb+16|0);Jb=q[Gb>>2]}q[q[Jb+12>>2]+(Lb<<2)>>2]=q[Jb+24>>2];q[Jb+24>>2]=q[Jb+24>>2]+1}Nb=a+52|0;Fb=q[Nb>>2];if((Fb|0)==q[a+48>>2]){Jb=1;break a}Ob=a+24|0;Qb=a+4|0;Rb=a+36|0;Sb=a+16|0;Tb=a+20|0;Ub=a+56|0;while(1){Hb=Fb+ -4|0;Gb=q[Hb>>2];q[Kb+8>>2]=Gb;Fb=(Gb>>>0)/3|0;h:{i:{j:{if((Gb|0)==-1){break j}Ib=q[Ob>>2]+(Fb>>>3&268435452)|0;Gb=q[Ib>>2];Fb=1<<(Fb&31);if(Gb&Fb){break j}q[Ib>>2]=Fb|Gb;Fb=q[Kb+8>>2];if((Fb|0)!=-1){break i}Jb=0;break a}q[Nb>>2]=Hb;break h}k:{l:{m:{while(1){Mb=q[Qb>>2];Gb=q[q[Mb>>2]+(Fb<<2)>>2];if((Gb|0)==-1){Jb=0;break a}Lb=q[Rb>>2]+(Gb>>>3&536870908)|0;Hb=q[Lb>>2];Ib=1<<(Gb&31);n:{if(!(Hb&Ib)){Jb=Gb<<2;Gb=q[Jb+q[Mb+24>>2]>>2];o:{p:{if((Gb|0)==-1){break p}Fb=Gb+1|0;Fb=(Fb>>>0)%3|0?Fb:Gb+ -2|0;if((Fb|0)==-1){break p}Mb=q[q[Mb+12>>2]+(Fb<<2)>>2];if((Mb|0)==-1){break p}Fb=Mb+1|0;Gb=0;if((((Fb>>>0)%3|0?Fb:Mb+ -2|0)|0)!=-1){break o}}Gb=1}q[Lb>>2]=Ib|Hb;Ib=q[Kb+8>>2];q[Kb+16>>2]=Ib;Hb=q[Tb>>2];Fb=(Ib>>>0)/3|0;Ib=q[(q[q[Sb>>2]+96>>2]+w(Fb,12)|0)+(Ib-w(Fb,3)<<2)>>2];q[Kb+24>>2]=Ib;Hb=q[Hb+4>>2];Fb=Hb+4|0;Lb=q[Fb>>2];q:{if((Lb|0)!=q[Hb+8>>2]){q[Lb>>2]=Ib;q[Fb>>2]=Lb+4;break q}zi(Hb,Kb+24|0)}Hb=a+12|0;Fb=q[Hb>>2];Ib=Fb+4|0;Lb=q[Ib>>2];r:{if((Lb|0)!=q[Fb+8>>2]){q[Lb>>2]=q[Kb+16>>2];q[Ib>>2]=Lb+4;break r}zi(Fb,Kb+16|0);Fb=q[Hb>>2]}q[q[Fb+12>>2]+Jb>>2]=q[Fb+24>>2];q[Fb+24>>2]=q[Fb+24>>2]+1;Mb=q[Qb>>2];Fb=q[Kb+8>>2];if(!Gb){Gb=Kb;Hb=-1;s:{if((Fb|0)==-1){break s}Ib=Fb+1|0;Fb=(Ib>>>0)%3|0?Ib:Fb+ -2|0;Hb=-1;if((Fb|0)==-1){break s}Hb=q[q[Mb+12>>2]+(Fb<<2)>>2]}q[Gb+8>>2]=Hb;Fb=(Hb>>>0)/3|0;break n}if((Fb|0)==-1){break l}}Hb=-1;Jb=-1;Gb=Fb+1|0;Gb=(Gb>>>0)%3|0?Gb:Fb+ -2|0;if((Gb|0)!=-1){Jb=q[q[Mb+12>>2]+(Gb<<2)>>2]}q[Kb+24>>2]=Jb;Fb=((Fb>>>0)%3|0?-1:2)+Fb|0;if((Fb|0)!=-1){Hb=q[q[Mb+12>>2]+(Fb<<2)>>2]}Ib=(Hb>>>0)/3|0;Fb=(Jb>>>0)/3|0;Gb=(Jb|0)==-1;t:{if(Gb){Fb=-1;Gb=1;break t}Gb=Gb?-1:Fb;Gb=q[q[Ob>>2]+(Gb>>>3&536870908)>>2]>>>(Gb&31)&1}u:{if((Hb|0)!=-1){Lb=(Hb|0)==-1?-1:Ib;Lb=q[q[Ob>>2]+(Lb>>>3&536870908)>>2]&1<<(Lb&31);if(Gb){Jb=Hb;Fb=Ib;if(!Lb){break u}break k}if(Lb){break u}Fb=q[Nb>>2];q[Fb+ -4>>2]=Hb;if((Fb|0)==q[Ub>>2]){break m}q[Fb>>2]=q[Kb+24>>2];q[Nb>>2]=Fb+4;break h}if(Gb){break k}}q[Kb+8>>2]=Jb}Gb=q[Ob>>2]+(Fb>>>3&536870908)|0;q[Gb>>2]=q[Gb>>2]|1<<(Fb&31);Fb=q[Kb+8>>2];if((Fb|0)!=-1){continue}break}Jb=0;break a}zi(Pb,Kb+24|0);break h}q[Kb+24>>2]=-1}q[Nb>>2]=q[Nb>>2]+ -4}Jb=1;Fb=q[Nb>>2];if((Fb|0)!=q[a+48>>2]){continue}break}}T=Kb+32|0;return Jb}function pj(a){a=a|0;var Fb=0;q[a>>2]=12756;Fb=q[a+48>>2];if(Fb){q[a+52>>2]=Fb;An(Fb)}q[a>>2]=12572;Fb=q[a+36>>2];if(Fb){An(Fb)}Fb=q[a+24>>2];if(Fb){An(Fb)}An(a)}function qj(a){a=a|0;var Vb=0,Wb=0;q[a>>2]=12884;Wb=a+8|0;q[Wb>>2]=11760;Vb=q[a+56>>2];if(Vb){q[a+60>>2]=Vb;An(Vb)}q[Wb>>2]=12012;Vb=q[a+44>>2];if(Vb){An(Vb)}Vb=q[a+32>>2];if(Vb){An(Vb)}return a|0}function rj(a){a=a|0;var Xb=0,Yb=0;q[a>>2]=12884;Yb=a+8|0;q[Yb>>2]=11760;Xb=q[a+56>>2];if(Xb){q[a+60>>2]=Xb;An(Xb)}q[Yb>>2]=12012;Xb=q[a+44>>2];if(Xb){An(Xb)}Xb=q[a+32>>2];if(Xb){An(Xb)}An(a)}function sj(a,Zb){a=a|0;Zb=Zb|0;var _b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0;dc=q[a+12>>2];_b=q[a+68>>2];$b=q[_b+80>>2];o[Zb+84|0]=0;cc=q[Zb+68>>2];ac=q[Zb+72>>2]-cc>>2;a:{if($b>>>0>ac>>>0){md(Zb+68|0,$b-ac|0,12324);_b=q[a+68>>2];$b=q[_b+80>>2];break a}if($b>>>0>=ac>>>0){break a}q[Zb+72>>2]=cc+($b<<2)}fc=q[_b+96>>2];_b=q[_b+100>>2]-fc|0;gc=(_b|0)/12|0;if(!_b){return 1}hc=q[dc+28>>2];ic=Zb+68|0;Zb=0;b:{while(1){c:{_b=(w(Zb,3)<<2)+hc|0;dc=q[_b>>2];if((dc|0)==-1){break c}ac=w(Zb,12)+fc|0;cc=q[ac>>2];if(cc>>>0>=$b>>>0){break c}bc=dc<<2;dc=q[q[a+72>>2]+12>>2];bc=q[bc+dc>>2];if(bc>>>0>=$b>>>0){break c}ec=cc<<2;cc=q[ic>>2];q[ec+cc>>2]=bc;bc=q[_b+4>>2];if((bc|0)==-1){break c}ec=q[ac+4>>2];if(ec>>>0>=$b>>>0){break c}bc=q[dc+(bc<<2)>>2];if(bc>>>0>=$b>>>0){break c}q[cc+(ec<<2)>>2]=bc;_b=q[_b+8>>2];if((_b|0)==-1){break c}ac=q[ac+8>>2];if(ac>>>0>=$b>>>0){break c}_b=q[dc+(_b<<2)>>2];if(_b>>>0>=$b>>>0){break c}q[cc+(ac<<2)>>2]=_b;_b=1;Zb=Zb+1|0;if(Zb>>>0<gc>>>0){continue}break b}break}_b=0}return _b|0}function tj(a){a=a|0;var Zb=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0;lc=q[a+4>>2];Zb=q[lc>>2];a:{jc=q[a+12>>2];kc=q[jc+56>>2]-q[jc+52>>2]|0;jc=kc>>2;b:{if(q[lc+8>>2]-Zb>>2>>>0>=jc>>>0){break b}if(jc>>>0>=1073741824){break a}oc=lc+4|0;mc=q[oc>>2];nc=jc<<2;jc=Mm(kc);nc=nc+jc|0;kc=mc-Zb|0;mc=kc+jc|0;if((kc|0)>=1){Cn(jc,Zb,kc)}q[lc>>2]=jc;q[lc+8>>2]=nc;q[oc>>2]=mc;if(!Zb){break b}An(Zb)}jc=a+8|0;c:{d:{Zb=q[a+76>>2];if(Zb){lc=q[Zb>>2];kc=1;if((lc|0)==q[Zb+4>>2]){break c}Zb=0;while(1){if(!uj(jc,q[(Zb<<2)+lc>>2])){break d}kc=q[a+76>>2];lc=q[kc>>2];Zb=Zb+1|0;if(Zb>>>0<q[kc+4>>2]-lc>>2>>>0){continue}break}return 1}Zb=0;a=q[q[a+12>>2]+64>>2];a=(q[a+4>>2]-q[a>>2]>>2>>>0)/3|0;if((a|0)<=0){return 1}while(1){if(!uj(jc,w(Zb,3))){break d}Zb=Zb+1|0;if(Zb>>>0<a>>>0){continue}break}return 1}kc=0}return kc|0}ab(12024);F()}function uj(a,pc){var qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0;uc=T-32|0;T=uc;q[uc+8>>2]=pc;a:{if((pc|0)==-1){qc=1;break a}qc=1;tc=(pc>>>0)/3|0;if(q[q[a+24>>2]+(tc>>>3&268435452)>>2]>>>(tc&31)&1){break a}tc=a+52|0;qc=q[a+48>>2];q[tc>>2]=qc;zc=a+48|0;b:{if((qc|0)!=q[a+56>>2]){q[qc>>2]=pc;q[tc>>2]=qc+4;break b}zi(zc,uc+8|0)}rc=-1;qc=q[a+4>>2];pc=q[uc+8>>2];c:{if((pc|0)==-1){tc=q[qc+28>>2];qc=q[tc+ -4>>2];break c}tc=q[qc+28>>2];qc=pc+1|0;qc=q[tc+(((qc>>>0)%3|0?qc:pc+ -2|0)<<2)>>2];if((pc>>>0)%3){rc=pc+ -1|0;break c}rc=pc+2|0}if((qc|0)==-1){qc=0;break a}tc=q[(rc<<2)+tc>>2];if((tc|0)==-1){qc=0;break a}pc=q[a+36>>2];sc=pc+(qc>>>3&536870908)|0;rc=q[sc>>2];vc=1<<(qc&31);if(!(rc&vc)){q[sc>>2]=rc|vc;rc=-1;pc=q[uc+8>>2];if((pc|0)!=-1){sc=pc+1|0;rc=(sc>>>0)%3|0?sc:pc+ -2|0}q[uc+16>>2]=rc;pc=q[a+20>>2];sc=(rc>>>0)/3|0;rc=q[(q[q[a+16>>2]+96>>2]+w(sc,12)|0)+(rc-w(sc,3)<<2)>>2];q[uc+24>>2]=rc;sc=q[pc+4>>2];vc=sc+4|0;pc=q[vc>>2];d:{if((pc|0)!=q[sc+8>>2]){q[pc>>2]=rc;q[vc>>2]=pc+4;break d}zi(sc,uc+24|0)}sc=a+12|0;rc=q[sc>>2];vc=rc+4|0;pc=q[vc>>2];e:{if((pc|0)!=q[rc+8>>2]){q[pc>>2]=q[uc+16>>2];q[vc>>2]=pc+4;break e}zi(rc,uc+16|0);rc=q[sc>>2]}q[q[rc+12>>2]+(qc<<2)>>2]=q[rc+24>>2];q[rc+24>>2]=q[rc+24>>2]+1;pc=q[a+36>>2]}pc=(tc>>>3&536870908)+pc|0;qc=q[pc>>2];sc=1<<(tc&31);if(!(qc&sc)){q[pc>>2]=qc|sc;pc=uc;rc=pc;sc=q[pc+8>>2];qc=-1;f:{if((sc|0)==-1){break f}qc=sc+ -1|0;if((sc>>>0)%3){break f}qc=sc+2|0}q[rc+16>>2]=qc;pc=q[a+20>>2];sc=(qc>>>0)/3|0;sc=q[(q[q[a+16>>2]+96>>2]+w(sc,12)|0)+(qc-w(sc,3)<<2)>>2];q[uc+24>>2]=sc;qc=q[pc+4>>2];rc=qc+4|0;pc=q[rc>>2];g:{if((pc|0)!=q[qc+8>>2]){q[pc>>2]=sc;q[rc>>2]=pc+4;break g}zi(qc,uc+24|0)}sc=a+12|0;qc=q[sc>>2];rc=qc+4|0;pc=q[rc>>2];h:{if((pc|0)!=q[qc+8>>2]){q[pc>>2]=q[uc+16>>2];q[rc>>2]=pc+4;break h}zi(qc,uc+16|0);qc=q[sc>>2]}q[q[qc+12>>2]+(tc<<2)>>2]=q[qc+24>>2];q[qc+24>>2]=q[qc+24>>2]+1}vc=a+52|0;pc=q[vc>>2];if((pc|0)==q[a+48>>2]){qc=1;break a}xc=a+24|0;yc=a+4|0;Bc=a+36|0;Cc=a+16|0;Dc=a+20|0;Ec=a+56|0;while(1){tc=pc+ -4|0;pc=q[tc>>2];q[uc+8>>2]=pc;qc=(pc>>>0)/3|0;i:{j:{k:{if((pc|0)==-1){break k}pc=q[xc>>2]+(qc>>>3&268435452)|0;sc=q[pc>>2];qc=1<<(qc&31);if(sc&qc){break k}q[pc>>2]=qc|sc;rc=q[yc>>2];pc=q[uc+8>>2];qc=q[q[rc+28>>2]+(pc<<2)>>2];if((qc|0)!=-1){break j}qc=0;break a}q[vc>>2]=tc;break i}l:{m:{n:{while(1){o:{p:{tc=q[Bc>>2]+(qc>>>3&536870908)|0;sc=q[tc>>2];wc=1<<(qc&31);if(sc&wc){break p}Ac=qc<<2;qc=q[Ac+q[rc+40>>2]>>2];pc=1;q:{if((qc|0)==-1){break q}pc=qc+1|0;pc=(pc>>>0)%3|0?pc:qc+ -2|0;r:{if((pc|0)==-1|q[q[rc>>2]+(pc>>>3&536870908)>>2]>>>(pc&31)&1){break r}qc=q[q[q[rc+64>>2]+12>>2]+(pc<<2)>>2];if((qc|0)==-1){break r}rc=qc+1|0;pc=0;if((((rc>>>0)%3|0?rc:qc+ -2|0)|0)!=-1){break q}}pc=1}qc=pc;q[tc>>2]=sc|wc;pc=q[uc+8>>2];q[uc+16>>2]=pc;tc=q[Dc>>2];sc=(pc>>>0)/3|0;sc=q[(q[q[Cc>>2]+96>>2]+w(sc,12)|0)+(pc-w(sc,3)<<2)>>2];q[uc+24>>2]=sc;tc=q[tc+4>>2];rc=tc+4|0;pc=q[rc>>2];s:{if((pc|0)!=q[tc+8>>2]){q[pc>>2]=sc;q[rc>>2]=pc+4;break s}zi(tc,uc+24|0)}sc=a+12|0;pc=q[sc>>2];rc=pc+4|0;tc=q[rc>>2];t:{if((tc|0)!=q[pc+8>>2]){q[tc>>2]=q[uc+16>>2];q[rc>>2]=tc+4;break t}zi(pc,uc+16|0);pc=q[sc>>2]}q[q[pc+12>>2]+Ac>>2]=q[pc+24>>2];q[pc+24>>2]=q[pc+24>>2]+1;rc=q[yc>>2];pc=q[uc+8>>2];if(qc){break p}qc=-1;u:{if((pc|0)==-1){break u}tc=pc+1|0;pc=(tc>>>0)%3|0?tc:pc+ -2|0;if((pc|0)==-1|q[q[rc>>2]+(pc>>>3&536870908)>>2]>>>(pc&31)&1){break u}qc=q[q[q[rc+64>>2]+12>>2]+(pc<<2)>>2]}q[uc+8>>2]=qc;pc=(qc>>>0)/3|0;break o}if((pc|0)==-1){break m}tc=-1;sc=uc;wc=pc+1|0;wc=(wc>>>0)%3|0?wc:pc+ -2|0;qc=-1;v:{if((wc|0)==-1){break v}qc=-1;if(q[q[rc>>2]+(wc>>>3&536870908)>>2]>>>(wc&31)&1){break v}qc=q[q[q[rc+64>>2]+12>>2]+(wc<<2)>>2]}q[sc+24>>2]=qc;pc=((pc>>>0)%3|0?-1:2)+pc|0;if(!((pc|0)==-1|q[q[rc>>2]+(pc>>>3&536870908)>>2]>>>(pc&31)&1)){tc=q[q[q[rc+64>>2]+12>>2]+(pc<<2)>>2]}sc=(tc>>>0)/3|0;pc=(qc>>>0)/3|0;rc=(qc|0)==-1;w:{if(rc){pc=-1;rc=1;break w}rc=rc?-1:pc;rc=q[q[xc>>2]+(rc>>>3&536870908)>>2]>>>(rc&31)&1}x:{if((tc|0)!=-1){wc=(tc|0)==-1?-1:sc;wc=q[q[xc>>2]+(wc>>>3&536870908)>>2]&1<<(wc&31);if(rc){qc=tc;pc=sc;if(!wc){break x}break l}if(wc){break x}pc=q[vc>>2];q[pc+ -4>>2]=tc;if((pc|0)==q[Ec>>2]){break n}q[pc>>2]=q[uc+24>>2];q[vc>>2]=pc+4;break i}if(rc){break l}}q[uc+8>>2]=qc}qc=q[xc>>2]+(pc>>>3&536870908)|0;q[qc>>2]=q[qc>>2]|1<<(pc&31);rc=q[yc>>2];pc=q[uc+8>>2];qc=q[q[rc+28>>2]+(pc<<2)>>2];if((qc|0)!=-1){continue}break}qc=0;break a}zi(zc,uc+24|0);break i}q[uc+24>>2]=-1}q[vc>>2]=q[vc>>2]+ -4}qc=1;pc=q[vc>>2];if((pc|0)!=q[a+48>>2]){continue}break}}T=uc+32|0;return qc}function vj(a,pc){var Fc=0,Gc=0,Hc=0;q[a>>2]=q[pc>>2];q[a+4>>2]=q[pc+4>>2];q[a+8>>2]=q[pc+8>>2];Fc=pc+12|0;q[a+12>>2]=q[Fc>>2];q[Fc>>2]=0;q[pc+4>>2]=0;q[pc+8>>2]=0;Fc=pc+16|0;q[a+16>>2]=q[Fc>>2];q[a+20>>2]=q[pc+20>>2];Gc=pc+24|0;q[a+24>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Gc=r[pc+28|0];Hc=a+40|0;q[Hc>>2]=0;Fc=a+32|0;q[Fc>>2]=0;q[Fc+4>>2]=0;o[a+28|0]=Gc;Gc=Fc;Fc=pc+32|0;q[Gc>>2]=q[Fc>>2];q[a+36>>2]=q[pc+36>>2];Gc=pc+40|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Gc=a+52|0;q[Gc>>2]=0;Fc=a+44|0;q[Fc>>2]=0;q[Fc+4>>2]=0;Hc=Fc;Fc=pc+44|0;q[Hc>>2]=q[Fc>>2];q[a+48>>2]=q[pc+48>>2];Hc=Gc;Gc=pc+52|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Gc=a- -64|0;q[Gc>>2]=0;Fc=a+56|0;q[Fc>>2]=0;q[Fc+4>>2]=0;Hc=Fc;Fc=pc+56|0;q[Hc>>2]=q[Fc>>2];q[a+60>>2]=q[pc+60>>2];Hc=Gc;Gc=pc- -64|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;q[a+68>>2]=q[pc+68>>2];Gc=q[pc+72>>2];Hc=a+84|0;q[Hc>>2]=0;Fc=a+76|0;q[Fc>>2]=0;q[Fc+4>>2]=0;q[a+72>>2]=Gc;Gc=Fc;Fc=pc+76|0;q[Gc>>2]=q[Fc>>2];q[a+80>>2]=q[pc+80>>2];Gc=pc+84|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Gc=a+96|0;q[Gc>>2]=0;Fc=a+88|0;q[Fc>>2]=0;q[Fc+4>>2]=0;Hc=Fc;Fc=pc+88|0;q[Hc>>2]=q[Fc>>2];q[a+92>>2]=q[pc+92>>2];Hc=Gc;Gc=pc+96|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Fc=r[pc+100|0];Gc=a+112|0;q[Gc>>2]=0;q[a+104>>2]=0;q[a+108>>2]=0;o[a+100|0]=Fc;q[a+104>>2]=q[pc+104>>2];q[a+108>>2]=q[pc+108>>2];Fc=pc+112|0;q[Gc>>2]=q[Fc>>2];q[Fc>>2]=0;q[pc+104>>2]=0;q[pc+108>>2]=0;Gc=a+124|0;q[Gc>>2]=0;Fc=a+116|0;q[Fc>>2]=0;q[Fc+4>>2]=0;Hc=Fc;Fc=pc+116|0;q[Hc>>2]=q[Fc>>2];q[a+120>>2]=q[pc+120>>2];Hc=Gc;Gc=pc+124|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Fc=q[pc+128>>2];Gc=a+140|0;q[Gc>>2]=0;q[a+132>>2]=0;q[a+136>>2]=0;q[a+128>>2]=Fc;q[a+132>>2]=q[pc+132>>2];q[a+136>>2]=q[pc+136>>2];Fc=pc+140|0;q[Gc>>2]=q[Fc>>2];q[Fc>>2]=0;q[pc+132>>2]=0;q[pc+136>>2]=0;return a}function wj(a){var pc=0,Ic=0,Jc=0;Ic=q[a+8>>2];Jc=q[a+4>>2];if((Ic|0)!=(Jc|0)){while(1){pc=Ic+ -144|0;q[a+8>>2]=pc;pc=q[pc+132>>2];if(pc){q[Ic+ -8>>2]=pc;An(pc)}pc=q[Ic+ -28>>2];if(pc){q[Ic+ -24>>2]=pc;An(pc)}pc=q[Ic+ -40>>2];if(pc){q[Ic+ -36>>2]=pc;An(pc)}pi(Ic+ -140|0);Ic=q[a+8>>2];if((Jc|0)!=(Ic|0)){continue}break}}a=q[a>>2];if(a){An(a)}}function xj(a,Kc){var Lc=0,Mc=0,Nc=x(0);Lc=2;a:{if((Kc|0)==1){break a}Lc=Kc;if(!(Kc+ -1&Kc)){break a}Lc=jm(Kc)}Mc=q[a+4>>2];if(Lc>>>0>Mc>>>0){yj(a,Lc);return}b:{if(Lc>>>0>=Mc>>>0){break b}Nc=x(D(x(x(t[a+12>>2])/u[a+16>>2])));c:{if(Nc<x(4294967296)&Nc>=x(0)){Kc=~~Nc>>>0;break c}Kc=0}d:{e:{if(Mc>>>0<3){break e}if(co(Mc)>>>0>1){break e}Kc=Kc>>>0<2?Kc:1<<32-z(Kc+ -1|0);break d}Kc=jm(Kc)}Kc=Lc>>>0<Kc>>>0?Kc:Lc;if(Kc>>>0>=Mc>>>0){break b}yj(a,Kc)}}function yj(a,Kc){var Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0;a:{b:{if(Kc){if(Kc>>>0>=1073741824){break a}Oc=Mm(Kc<<2);Pc=q[a>>2];q[a>>2]=Oc;if(Pc){An(Pc)}q[a+4>>2]=Kc;Oc=0;while(1){q[q[a>>2]+(Oc<<2)>>2]=0;Oc=Oc+1|0;if((Oc|0)!=(Kc|0)){continue}break}Pc=a+8|0;Rc=q[Pc>>2];if(!Rc){break b}Sc=q[Rc+4>>2];Oc=co(Kc);c:{if(Oc>>>0<=1){Sc=Kc+ -1&Sc;break c}if(Sc>>>0<Kc>>>0){break c}Sc=(Sc>>>0)%(Kc>>>0)|0}q[q[a>>2]+(Sc<<2)>>2]=Pc;Pc=q[Rc>>2];if(!Pc){break b}Vc=Kc+ -1|0;Wc=Oc>>>0>1;while(1){Qc=q[Pc+4>>2];d:{if(!Wc){Qc=Qc&Vc;break d}if(Qc>>>0<Kc>>>0){break d}Qc=(Qc>>>0)%(Kc>>>0)|0}e:{if((Qc|0)==(Sc|0)){Rc=Pc;break e}Oc=Pc;Tc=Qc<<2;Uc=Tc+q[a>>2]|0;if(!q[Uc>>2]){q[Uc>>2]=Rc;Rc=Pc;Sc=Qc;break e}while(1){Qc=Oc;Oc=q[Oc>>2];if(q[Pc+8>>2]==q[Oc+8>>2]?Oc:0){continue}break}q[Rc>>2]=Oc;q[Qc>>2]=q[q[q[a>>2]+Tc>>2]>>2];q[q[q[a>>2]+Tc>>2]>>2]=Pc}Pc=q[Rc>>2];if(Pc){continue}break}break b}Kc=q[a>>2];q[a>>2]=0;if(Kc){An(Kc)}q[a+4>>2]=0}return}ab(12024);F()}function zj(a){a=a|0;var Kc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0;Zc=T-32|0;T=Zc;$c=q[a+32>>2];Xc=s[a+36>>1];a:{b:{if((Xc<<24|Xc<<8&16711680)>>>16>>>0<=513){Xc=q[$c+12>>2];Yc=Xc;Kc=q[$c+20>>2];_c=Kc;bd=q[$c+16>>2];ad=bd+4|0;if(ad>>>0<4){Kc=Kc+1|0}gd=q[$c+8>>2];ed=ad;ad=Kc;if((Xc|0)<(Kc|0)?1:(Xc|0)<=(Kc|0)?gd>>>0>=ed>>>0?0:1:0){break a}id=q[$c>>2];Xc=id+bd|0;hd=r[Xc|0]|r[Xc+1|0]<<8|(r[Xc+2|0]<<16|r[Xc+3|0]<<24);q[Zc+28>>2]=hd;q[$c+16>>2]=ed;q[$c+20>>2]=ad;Kc=Yc;Xc=_c;Yc=bd+8|0;if(Yc>>>0<8){Xc=Xc+1|0}_c=Yc;Yc=Xc;if((Kc|0)<(Xc|0)?1:(Kc|0)<=(Xc|0)?gd>>>0>=_c>>>0?0:1:0){break a}Xc=ed+id|0;q[Zc+24>>2]=r[Xc|0]|r[Xc+1|0]<<8|(r[Xc+2|0]<<16|r[Xc+3|0]<<24);q[$c+16>>2]=_c;q[$c+20>>2]=Yc;break b}if(!Aj(1,Zc+28|0,$c)){break a}if(!Aj(1,Zc+24|0,q[a+32>>2])){break a}hd=q[Zc+28>>2]}if(hd>>>0>1431655765){break a}Xc=$n(hd,0,3,0);Kc=V;id=q[Zc+24>>2];if(!Kc&Xc>>>0<id>>>0|Kc>>>0<0){break a}Yc=q[a+32>>2];Xc=Yc;$c=q[Xc+16>>2];ad=t[Xc+8>>2]>$c>>>0?0:1;_c=q[Xc+12>>2];Kc=q[Xc+20>>2];if((_c|0)<(Kc|0)?1:(_c|0)<=(Kc|0)?ad:0){break a}ad=r[$c+q[Yc>>2]|0];Xc=Kc;bd=$c+1|0;if(bd>>>0<1){Xc=Xc+1|0}q[Yc+16>>2]=bd;q[Yc+20>>2]=Xc;c:{if(!ad){if(!Bj(a,hd)){break a}break c}d:{if(id>>>0<=255){if(!hd){break c}gd=0;$c=Zc+16|0;q[$c>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;dd=q[Yc+8>>2];_c=q[Yc+12>>2];Kc=_c;if((Kc|0)<(Xc|0)?1:(Kc|0)<=(Xc|0)?dd>>>0>bd>>>0?0:1:0){break d}fd=a+44|0;jd=a+32|0;while(1){ed=q[Yc>>2];kd=r[ed+bd|0];Kc=Xc;cd=bd+1|0;if(cd>>>0<1){Kc=Kc+1|0}ad=Yc;q[Yc+16>>2]=cd;q[Yc+20>>2]=Kc;q[Zc+8>>2]=kd;if((_c|0)<(Kc|0)?1:(_c|0)<=(Kc|0)?dd>>>0>cd>>>0?0:1:0){break d}kd=r[cd+ed|0];Kc=Xc;cd=bd+2|0;if(cd>>>0<2){Kc=Kc+1|0}q[Yc+16>>2]=cd;q[ad+20>>2]=Kc;q[Zc+12>>2]=kd;if((_c|0)<(Kc|0)?1:(_c|0)<=(Kc|0)?dd>>>0>cd>>>0?0:1:0){break d}Kc=r[cd+ed|0];_c=bd+3|0;if(_c>>>0<3){Xc=Xc+1|0}q[Yc+16>>2]=_c;q[Yc+20>>2]=Xc;q[Zc+16>>2]=Kc;Kc=q[fd>>2];Yc=Kc+100|0;Xc=q[Yc>>2];e:{if((Xc|0)==q[Kc+104>>2]){Cj(Kc+96|0,Zc+8|0);break e}Kc=q[Zc+12>>2];q[Xc>>2]=q[Zc+8>>2];q[Xc+4>>2]=Kc;q[Xc+8>>2]=q[$c>>2];q[Yc>>2]=q[Yc>>2]+12}gd=gd+1|0;if((hd|0)==(gd|0)){break c}Yc=q[jd>>2];Kc=Yc;bd=q[Kc+16>>2];Xc=q[Kc+20>>2];q[$c>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;dd=q[Kc+8>>2];_c=q[Kc+12>>2];Kc=_c;if((Kc|0)>(Xc|0)?1:(Kc|0)>=(Xc|0)?dd>>>0<=bd>>>0?0:1:0){continue}break}break d}if(id>>>0<=65535){if(!hd){break c}gd=0;cd=Zc+16|0;q[cd>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;ad=q[Yc+12>>2];fd=ad;_c=$c+3|0;if(_c>>>0<3){Kc=Kc+1|0}ed=q[Yc+8>>2];dd=_c;_c=Kc;if((fd|0)<(Kc|0)?1:(fd|0)<=(Kc|0)?ed>>>0>=dd>>>0?0:1:0){break d}kd=a+44|0;ld=a+32|0;while(1){fd=q[Yc>>2];Kc=fd+bd|0;Kc=r[Kc|0]|r[Kc+1|0]<<8;q[Yc+16>>2]=dd;q[Yc+20>>2]=_c;q[Zc+8>>2]=Kc;_c=ad;Kc=Xc;$c=bd+4|0;if($c>>>0<4){Kc=Kc+1|0}jd=$c;$c=Kc;if((_c|0)<(Kc|0)?1:(_c|0)<=(Kc|0)?ed>>>0>=jd>>>0?0:1:0){break d}Kc=dd+fd|0;Kc=r[Kc|0]|r[Kc+1|0]<<8;q[Yc+16>>2]=jd;q[Yc+20>>2]=$c;q[Zc+12>>2]=Kc;Kc=bd+6|0;if(Kc>>>0<6){Xc=Xc+1|0}_c=Kc;Kc=Xc;if((ad|0)<(Kc|0)?1:(ad|0)<=(Kc|0)?ed>>>0>=_c>>>0?0:1:0){break d}Xc=fd+jd|0;Xc=r[Xc|0]|r[Xc+1|0]<<8;q[Yc+16>>2]=_c;q[Yc+20>>2]=Kc;q[Zc+16>>2]=Xc;Kc=q[kd>>2];Yc=Kc+100|0;Xc=q[Yc>>2];f:{if((Xc|0)==q[Kc+104>>2]){Cj(Kc+96|0,Zc+8|0);break f}Kc=q[Zc+12>>2];q[Xc>>2]=q[Zc+8>>2];q[Xc+4>>2]=Kc;q[Xc+8>>2]=q[cd>>2];q[Yc>>2]=q[Yc>>2]+12}gd=gd+1|0;if((hd|0)==(gd|0)){break c}Yc=q[ld>>2];Kc=Yc;bd=q[Kc+16>>2];Xc=q[Kc+20>>2];q[cd>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;$c=q[Kc+12>>2];ad=$c;ed=q[Kc+8>>2];fd=ed;Kc=Xc;_c=bd+2|0;if(_c>>>0<2){Kc=Kc+1|0}dd=_c;_c=Kc;if(($c|0)>(Kc|0)?1:($c|0)>=(Kc|0)?fd>>>0<dd>>>0?0:1:0){continue}break}break d}g:{if(t[q[a+44>>2]+80>>2]>2097151){break g}_c=s[a+36>>1];if((_c<<24|_c<<8&16711680)>>>16>>>0<514){break g}if(!hd){break c}_c=Zc+16|0;q[_c>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;if(!Aj(1,Zc+4|0,Yc)){break d}Kc=a+32|0;$c=a+44|0;while(1){q[Zc+8>>2]=q[Zc+4>>2];if(!Aj(1,Zc+4|0,q[Kc>>2])){break d}q[Zc+12>>2]=q[Zc+4>>2];if(!Aj(1,Zc+4|0,q[Kc>>2])){break d}q[Zc+16>>2]=q[Zc+4>>2];Yc=q[$c>>2];ad=Yc+100|0;Xc=q[ad>>2];h:{if((Xc|0)==q[Yc+104>>2]){Cj(Yc+96|0,Zc+8|0);break h}Yc=q[Zc+12>>2];q[Xc>>2]=q[Zc+8>>2];q[Xc+4>>2]=Yc;q[Xc+8>>2]=q[_c>>2];q[ad>>2]=q[ad>>2]+12}cd=cd+1|0;if((cd|0)==(hd|0)){break c}Xc=q[Kc>>2];q[_c>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;if(Aj(1,Zc+4|0,Xc)){continue}break}break d}if(!hd){break c}gd=Zc+16|0;q[gd>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;ad=q[Yc+12>>2];cd=ad;_c=$c+5|0;if(_c>>>0<5){Kc=Kc+1|0}ed=q[Yc+8>>2];dd=_c;_c=Kc;if((cd|0)<(Kc|0)?1:(cd|0)<=(Kc|0)?ed>>>0>=dd>>>0?0:1:0){break d}jd=a+44|0;kd=a+32|0;while(1){cd=q[Yc>>2];Kc=cd+bd|0;Kc=r[Kc|0]|r[Kc+1|0]<<8|(r[Kc+2|0]<<16|r[Kc+3|0]<<24);q[Yc+16>>2]=dd;q[Yc+20>>2]=_c;q[Zc+8>>2]=Kc;_c=ad;Kc=Xc;$c=bd+8|0;if($c>>>0<8){Kc=Kc+1|0}fd=$c;$c=Kc;if((_c|0)<(Kc|0)?1:(_c|0)<=(Kc|0)?ed>>>0>=fd>>>0?0:1:0){break d}Kc=cd+dd|0;Kc=r[Kc|0]|r[Kc+1|0]<<8|(r[Kc+2|0]<<16|r[Kc+3|0]<<24);q[Yc+16>>2]=fd;q[Yc+20>>2]=$c;q[Zc+12>>2]=Kc;Kc=Xc;Xc=bd+12|0;if(Xc>>>0<12){Kc=Kc+1|0}_c=Xc;Xc=Kc;if((ad|0)<(Kc|0)?1:(ad|0)<=(Kc|0)?ed>>>0>=_c>>>0?0:1:0){break d}Kc=cd+fd|0;Kc=r[Kc|0]|r[Kc+1|0]<<8|(r[Kc+2|0]<<16|r[Kc+3|0]<<24);q[Yc+16>>2]=_c;q[Yc+20>>2]=Xc;q[Zc+16>>2]=Kc;Kc=q[jd>>2];Yc=Kc+100|0;Xc=q[Yc>>2];i:{if((Xc|0)==q[Kc+104>>2]){Cj(Kc+96|0,Zc+8|0);break i}Kc=q[Zc+12>>2];q[Xc>>2]=q[Zc+8>>2];q[Xc+4>>2]=Kc;q[Xc+8>>2]=q[gd>>2];q[Yc>>2]=q[Yc>>2]+12}ld=ld+1|0;if((hd|0)==(ld|0)){break c}Yc=q[kd>>2];Kc=Yc;bd=q[Kc+16>>2];Xc=q[Kc+20>>2];q[gd>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;$c=q[Kc+12>>2];ad=$c;ed=q[Kc+8>>2];fd=ed;Kc=Xc;_c=bd+4|0;if(_c>>>0<4){Kc=Kc+1|0}dd=_c;_c=Kc;if(($c|0)>(Kc|0)?1:($c|0)>=(Kc|0)?fd>>>0<dd>>>0?0:1:0){continue}break}}dd=0;break a}q[q[a+4>>2]+80>>2]=id;dd=1}T=Zc+32|0;return dd|0}function Aj(a,md,nd){var od=0,pd=0,qd=0,rd=0;a:{if(a>>>0>5){break a}qd=q[nd+16>>2];od=q[nd+12>>2];pd=q[nd+20>>2];if((od|0)<(pd|0)?1:(od|0)<=(pd|0)?t[nd+8>>2]>qd>>>0?0:1:0){break a}od=r[qd+q[nd>>2]|0];qd=qd+1|0;if(qd>>>0<1){pd=pd+1|0}q[nd+16>>2]=qd;q[nd+20>>2]=pd;pd=md;if(od&128){if(!Aj(a+1|0,md,nd)){break a}a=q[md>>2]<<7;q[md>>2]=a;od=a|od&127}q[pd>>2]=od;rd=1}return rd}function Bj(a,md){var nd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0;nd=T-32|0;T=nd;q[nd+24>>2]=0;q[nd+16>>2]=0;q[nd+20>>2]=0;a:{ud=w(md,3);if(ud){if(ud>>>0>=1073741824){break a}sd=w(md,12);vd=Mm(sd);q[nd+16>>2]=vd;q[nd+24>>2]=(ud<<2)+vd;zd=nd,Ad=Dn(vd,0,sd)+sd|0,q[zd+20>>2]=Ad}b:{if(!qh(ud,1,q[a+32>>2],vd)){break b}td=1;if(!md){break b}yd=a+44|0;vd=0;while(1){ud=nd+8|0;q[ud>>2]=0;q[nd>>2]=0;q[nd+4>>2]=0;a=q[nd+16>>2]+(vd<<2)|0;sd=q[a>>2];td=sd>>>1;sd=(sd&1?0-td|0:td)+wd|0;q[nd>>2]=sd;td=q[a+4>>2];wd=td>>>1;sd=sd+(td&1?0-wd|0:wd)|0;q[nd+4>>2]=sd;a=q[a+8>>2];td=a>>>1;wd=sd+(a&1?0-td|0:td)|0;q[ud>>2]=wd;sd=q[yd>>2];td=sd+100|0;a=q[td>>2];c:{if((a|0)!=q[sd+104>>2]){sd=q[nd+4>>2];q[a>>2]=q[nd>>2];q[a+4>>2]=sd;q[a+8>>2]=q[ud>>2];q[td>>2]=q[td>>2]+12;break c}Cj(sd+96|0,nd)}vd=vd+3|0;td=1;xd=xd+1|0;if((xd|0)!=(md|0)){continue}break}}a=q[nd+16>>2];if(a){q[nd+20>>2]=a;An(a)}T=nd+32|0;return td}bn();F()}function Cj(a,md){var Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0;a:{Ed=q[a>>2];Fd=q[a+4>>2]-Ed|0;Bd=(Fd|0)/12|0;Cd=Bd+1|0;if(Cd>>>0<357913942){Gd=w(Bd,12);Dd=(q[a+8>>2]-Ed|0)/12|0;Bd=Dd<<1;Dd=Dd>>>0<178956970?Bd>>>0<Cd>>>0?Cd:Bd:357913941;Bd=0;b:{if(!Dd){break b}if(Dd>>>0>=357913942){break a}Bd=Mm(w(Dd,12))}Cd=Gd+Bd|0;Gd=q[md+4>>2];q[Cd>>2]=q[md>>2];q[Cd+4>>2]=Gd;q[Cd+8>>2]=q[md+8>>2];md=Cd+w((Fd|0)/-12|0,12)|0;Bd=Bd+w(Dd,12)|0;Cd=Cd+12|0;if((Fd|0)>=1){Cn(md,Ed,Fd)}q[a>>2]=md;q[a+8>>2]=Bd;q[a+4>>2]=Cd;if(Ed){An(Ed)}return}bn();F()}ab(13160);F()}function Dj(a,md){a=a|0;md=md|0;var Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0;Kd=T-16|0;T=Kd;Ld=Mm(64);Hd=Mm(12);q[Hd+8>>2]=q[q[a+4>>2]+80>>2];q[Hd>>2]=13236;q[Hd+4>>2]=0;q[Kd+8>>2]=Hd;Ge(Ld,Kd+8|0);a:{if((md|0)>=0){Hd=q[a+12>>2];Md=a+8|0;Nd=q[Md>>2];Id=Hd-Nd>>2;b:{if((Id|0)>(md|0)){break b}Jd=md+1|0;if(Id>>>0<=md>>>0){ji(Md,Jd-Id|0);break b}if(Jd>>>0>=Id>>>0){break b}Jd=Nd+(Jd<<2)|0;if((Jd|0)!=(Hd|0)){while(1){Hd=Hd+ -4|0;Id=q[Hd>>2];q[Hd>>2]=0;if(Id){n[q[q[Id>>2]+4>>2]](Id)}if((Hd|0)!=(Jd|0)){continue}break}}q[a+12>>2]=Jd}md=q[Md>>2]+(md<<2)|0;a=q[md>>2];q[md>>2]=Ld;Id=1;if(!a){break a}n[q[q[a>>2]+4>>2]](a);break a}n[q[q[Ld>>2]+4>>2]](Ld)}a=q[Kd+8>>2];q[Kd+8>>2]=0;if(a){n[q[q[a>>2]+4>>2]](a)}T=Kd+16|0;return Id|0}function Ej(a){a=a|0;var md=0,Od=0,Pd=0,Qd=0,Rd=0;q[a>>2]=13300;md=q[a+20>>2];if(md){q[a+24>>2]=md;An(md)}Pd=q[a+8>>2];if(Pd){md=Pd;Rd=a+12|0;Od=q[Rd>>2];Qd=md;a:{if((md|0)==(Od|0)){break a}while(1){Od=Od+ -4|0;md=q[Od>>2];q[Od>>2]=0;if(md){n[q[q[md>>2]+4>>2]](md)}if((Od|0)!=(Pd|0)){continue}break}Qd=q[a+8>>2]}md=Qd;q[Rd>>2]=Pd;An(md)}An(a)}function Fj(a,Sd){a=a|0;Sd=Sd|0;o[Sd+84|0]=1;q[Sd+72>>2]=q[Sd+68>>2];return 1}function Gj(a){a=a|0;var Sd=0,Td=0,Ud=0,Vd=0;a:{Sd=q[a+8>>2];b:{if((Sd|0)<0){break b}Td=q[a+4>>2];Vd=q[Td>>2];Ud=q[Td+4>>2]-Vd>>2;c:{if(Sd>>>0>Ud>>>0){Hj(Td,Sd-Ud|0);Sd=q[a+8>>2];break c}if(Sd>>>0>=Ud>>>0){break c}q[Td+4>>2]=Vd+(Sd<<2)}Vd=1;if((Sd|0)<1){break b}a=q[a+4>>2];Td=q[a>>2];Ud=q[a+4>>2]-Td>>2;a=0;while(1){if((a|0)==(Ud|0)){break a}q[Td+(a<<2)>>2]=a;a=a+1|0;if((a|0)<(Sd|0)){continue}break}}return Vd|0}cn();F()}function Hj(a,Wd){var Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0;Yd=q[a+8>>2];Zd=a+4|0;Xd=q[Zd>>2];if(Yd-Xd>>2>>>0>=Wd>>>0){a=Wd<<2;ce=Zd,de=Dn(Xd,0,a)+a|0,q[ce>>2]=de;return}a:{Zd=q[a>>2];$d=Xd-Zd|0;Xd=$d>>2;_d=Xd+Wd|0;if(_d>>>0<1073741824){be=Xd<<2;Yd=Yd-Zd|0;Xd=Yd>>1;Yd=Yd>>2>>>0<536870911?Xd>>>0<_d>>>0?_d:Xd:1073741823;Xd=0;b:{if(!Yd){break b}if(Yd>>>0>=1073741824){break a}ae=Mm(Yd<<2);Xd=ae}Dn(be+Xd|0,0,Wd<<2);Wd=Xd+(_d<<2)|0;_d=Xd+(Yd<<2)|0;if(($d|0)>=1){Cn(ae,Zd,$d)}q[a>>2]=Xd;q[a+8>>2]=_d;q[a+4>>2]=Wd;if(Zd){An(Zd)}return}bn();F()}ab(13160);F()}function Ij(a){q[a+40>>2]=0;q[a>>2]=13300;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0;q[a+32>>2]=0;p[a+36>>1]=0}function Jj(a,Wd,ee){var fe=0,ge=0,he=0,ie=0,je=0,ke=0;ge=T-16|0;T=ge;ie=q[Wd+12>>2];fe=q[Wd+20>>2];he=q[Wd+16>>2];je=he+5|0;if(je>>>0<5){fe=fe+1|0}a:{if((ie|0)<(fe|0)?1:(ie|0)<=(fe|0)?t[Wd+8>>2]>=je>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}fe=he+q[Wd>>2]|0;ie=r[fe|0]|r[fe+1|0]<<8|(r[fe+2|0]<<16|r[fe+3|0]<<24);o[ee|0]=ie;o[ee+1|0]=ie>>>8;o[ee+2|0]=ie>>>16;o[ee+3|0]=ie>>>24;o[ee+4|0]=r[fe+4|0];ie=Wd;fe=q[Wd+20>>2];he=q[Wd+16>>2]+5|0;if(he>>>0<5){fe=fe+1|0}je=he;he=fe;q[ie+16>>2]=je;q[ie+20>>2]=fe;if(cm(ee,13374,5)){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=17;q[ge+8>>2]=-2147483616;o[Wd+17|0]=0;o[Wd+16|0]=r[13396];ee=r[13392]|r[13393]<<8|(r[13394]<<16|r[13395]<<24);fe=r[13388]|r[13389]<<8|(r[13390]<<16|r[13391]<<24);o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=r[13384]|r[13385]<<8|(r[13386]<<16|r[13387]<<24);fe=r[13380]|r[13381]<<8|(r[13382]<<16|r[13383]<<24);o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-1;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}fe=q[Wd+12>>2];if((fe|0)<(he|0)?1:(fe|0)<=(he|0)?t[Wd+8>>2]>je>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}o[ee+5|0]=r[je+q[Wd>>2]|0];fe=q[Wd+20>>2];he=q[Wd+16>>2]+1|0;if(he>>>0<1){fe=fe+1|0}q[Wd+16>>2]=he;q[ie+20>>2]=fe;ie=q[Wd+12>>2];if((ie|0)<(fe|0)?1:(ie|0)<=(fe|0)?t[Wd+8>>2]>he>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}o[ee+6|0]=r[he+q[Wd>>2]|0];fe=q[Wd+20>>2];he=q[Wd+16>>2]+1|0;if(he>>>0<1){fe=fe+1|0}q[Wd+16>>2]=he;q[Wd+20>>2]=fe;ie=q[Wd+12>>2];if((ie|0)<(fe|0)?1:(ie|0)<=(fe|0)?t[Wd+8>>2]>he>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}o[ee+7|0]=r[he+q[Wd>>2]|0];fe=q[Wd+20>>2];he=q[Wd+16>>2]+1|0;if(he>>>0<1){fe=fe+1|0}q[Wd+16>>2]=he;q[Wd+20>>2]=fe;ie=q[Wd+12>>2];if((ie|0)<(fe|0)?1:(ie|0)<=(fe|0)?t[Wd+8>>2]>he>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}o[ee+8|0]=r[he+q[Wd>>2]|0];fe=q[Wd+20>>2];he=fe;ke=q[Wd+16>>2];je=ke+1|0;if(je>>>0<1){fe=fe+1|0}q[Wd+16>>2]=je;q[Wd+20>>2]=fe;ie=q[Wd+12>>2];fe=he;he=ke+3|0;if(he>>>0<3){fe=fe+1|0}if((ie|0)<(fe|0)?1:(ie|0)<=(fe|0)?t[Wd+8>>2]>=he>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}he=ee;ee=je+q[Wd>>2]|0;p[he+10>>1]=r[ee|0]|r[ee+1|0]<<8;ee=Wd;he=Wd;fe=q[Wd+20>>2];Wd=q[Wd+16>>2]+2|0;if(Wd>>>0<2){fe=fe+1|0}q[he+16>>2]=Wd;q[ee+20>>2]=fe;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0}T=ge+16|0}function Kj(a,Wd){var ee=0,le=0,me=0,ne=0;le=T-48|0;T=le;ee=Mm(36);me=ee+4|0;q[me>>2]=0;q[me+4>>2]=0;ne=ee+16|0;q[ne>>2]=0;q[ne+4>>2]=0;q[ee>>2]=me;q[ee+32>>2]=0;q[ee+24>>2]=0;q[ee+28>>2]=0;q[ee+12>>2]=ne;q[le+40>>2]=ee;ee=le+32|0;q[ee>>2]=0;a:{if(!Ok(ee,q[Wd+32>>2],q[le+40>>2])){q[le+24>>2]=0;q[le+16>>2]=0;q[le+20>>2]=0;Wd=Mm(32);q[le+16>>2]=Wd;q[le+20>>2]=26;q[le+24>>2]=-2147483616;o[Wd+26|0]=0;ee=r[13422]|r[13423]<<8;o[Wd+24|0]=ee;o[Wd+25|0]=ee>>>8;ee=r[13418]|r[13419]<<8|(r[13420]<<16|r[13421]<<24);me=r[13414]|r[13415]<<8|(r[13416]<<16|r[13417]<<24);o[Wd+16|0]=me;o[Wd+17|0]=me>>>8;o[Wd+18|0]=me>>>16;o[Wd+19|0]=me>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=r[13410]|r[13411]<<8|(r[13412]<<16|r[13413]<<24);me=r[13406]|r[13407]<<8|(r[13408]<<16|r[13409]<<24);o[Wd+8|0]=me;o[Wd+9|0]=me>>>8;o[Wd+10|0]=me>>>16;o[Wd+11|0]=me>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=r[13402]|r[13403]<<8|(r[13404]<<16|r[13405]<<24);me=r[13398]|r[13399]<<8|(r[13400]<<16|r[13401]<<24);o[Wd|0]=me;o[Wd+1|0]=me>>>8;o[Wd+2|0]=me>>>16;o[Wd+3|0]=me>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-1;Rm(a+4|0,le+16|0);if(o[le+27|0]>-1){break a}An(q[le+16>>2]);break a}Wd=q[Wd+4>>2];q[le+8>>2]=0;me=q[le+40>>2];q[le+40>>2]=0;ee=q[Wd+4>>2];q[Wd+4>>2]=me;b:{if(!ee){q[le+8>>2]=0;break b}Lj(ee);Wd=q[le+8>>2];q[le+8>>2]=0;if(!Wd){break b}Lj(Wd)}q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0}a=q[le+40>>2];q[le+40>>2]=0;if(a){Lj(a)}T=le+48|0}function Lj(a){var Wd=0,oe=0,pe=0,qe=0,re=0;if(a){pe=q[a+24>>2];if(pe){Wd=pe;re=a+28|0;oe=q[re>>2];qe=Wd;a:{if((oe|0)==(Wd|0)){break a}while(1){oe=oe+ -4|0;Wd=q[oe>>2];q[oe>>2]=0;if(Wd){Hc(Wd+12|0,q[Wd+16>>2]);Ic(Wd,q[Wd+4>>2]);An(Wd)}if((oe|0)!=(pe|0)){continue}break}qe=q[a+24>>2]}Wd=qe;q[re>>2]=pe;An(Wd)}Hc(a+12|0,q[a+16>>2]);Ic(a,q[a+4>>2]);An(a)}}function Mj(a,se,te,ue,ve){var we=0,xe=0;we=T-32|0;T=we;q[se+32>>2]=ue;q[se+40>>2]=te;q[se+4>>2]=ve;Jj(a,ue,we+16|0);a:{if(q[a>>2]){break a}te=a+4|0;if(o[a+15|0]<=-1){An(q[te>>2])}ve=r[we+23|0];if((n[q[q[se>>2]+8>>2]](se)|0)!=(ve|0)){se=Mm(64);q[we>>2]=se;q[we+4>>2]=50;q[we+8>>2]=-2147483584;o[se+50|0]=0;ue=r[13473]|r[13474]<<8;o[se+48|0]=ue;o[se+49|0]=ue>>>8;ue=r[13469]|r[13470]<<8|(r[13471]<<16|r[13472]<<24);ve=r[13465]|r[13466]<<8|(r[13467]<<16|r[13468]<<24);o[se+40|0]=ve;o[se+41|0]=ve>>>8;o[se+42|0]=ve>>>16;o[se+43|0]=ve>>>24;o[se+44|0]=ue;o[se+45|0]=ue>>>8;o[se+46|0]=ue>>>16;o[se+47|0]=ue>>>24;ue=r[13461]|r[13462]<<8|(r[13463]<<16|r[13464]<<24);ve=r[13457]|r[13458]<<8|(r[13459]<<16|r[13460]<<24);o[se+32|0]=ve;o[se+33|0]=ve>>>8;o[se+34|0]=ve>>>16;o[se+35|0]=ve>>>24;o[se+36|0]=ue;o[se+37|0]=ue>>>8;o[se+38|0]=ue>>>16;o[se+39|0]=ue>>>24;ue=r[13453]|r[13454]<<8|(r[13455]<<16|r[13456]<<24);ve=r[13449]|r[13450]<<8|(r[13451]<<16|r[13452]<<24);o[se+24|0]=ve;o[se+25|0]=ve>>>8;o[se+26|0]=ve>>>16;o[se+27|0]=ve>>>24;o[se+28|0]=ue;o[se+29|0]=ue>>>8;o[se+30|0]=ue>>>16;o[se+31|0]=ue>>>24;ue=r[13445]|r[13446]<<8|(r[13447]<<16|r[13448]<<24);ve=r[13441]|r[13442]<<8|(r[13443]<<16|r[13444]<<24);o[se+16|0]=ve;o[se+17|0]=ve>>>8;o[se+18|0]=ve>>>16;o[se+19|0]=ve>>>24;o[se+20|0]=ue;o[se+21|0]=ue>>>8;o[se+22|0]=ue>>>16;o[se+23|0]=ue>>>24;ue=r[13437]|r[13438]<<8|(r[13439]<<16|r[13440]<<24);ve=r[13433]|r[13434]<<8|(r[13435]<<16|r[13436]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13429]|r[13430]<<8|(r[13431]<<16|r[13432]<<24);ve=r[13425]|r[13426]<<8|(r[13427]<<16|r[13428]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-1;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}ue=r[we+21|0];o[se+36|0]=ue;xe=r[we+22|0];o[se+37|0]=xe;if((ue+ -1&255)>>>0>=2){se=Mm(32);q[we>>2]=se;q[we+4>>2]=22;q[we+8>>2]=-2147483616;o[se+22|0]=0;ue=r[13494]|r[13495]<<8|(r[13496]<<16|r[13497]<<24);ve=r[13490]|r[13491]<<8|(r[13492]<<16|r[13493]<<24);o[se+14|0]=ve;o[se+15|0]=ve>>>8;o[se+16|0]=ve>>>16;o[se+17|0]=ve>>>24;o[se+18|0]=ue;o[se+19|0]=ue>>>8;o[se+20|0]=ue>>>16;o[se+21|0]=ue>>>24;ue=r[13488]|r[13489]<<8|(r[13490]<<16|r[13491]<<24);ve=r[13484]|r[13485]<<8|(r[13486]<<16|r[13487]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13480]|r[13481]<<8|(r[13482]<<16|r[13483]<<24);ve=r[13476]|r[13477]<<8|(r[13478]<<16|r[13479]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-5;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}if(!((ue|0)!=2|(ve?2:3)>>>0>=xe>>>0)){se=Mm(32);q[we>>2]=se;q[we+4>>2]=22;q[we+8>>2]=-2147483616;o[se+22|0]=0;ue=r[13517]|r[13518]<<8|(r[13519]<<16|r[13520]<<24);ve=r[13513]|r[13514]<<8|(r[13515]<<16|r[13516]<<24);o[se+14|0]=ve;o[se+15|0]=ve>>>8;o[se+16|0]=ve>>>16;o[se+17|0]=ve>>>24;o[se+18|0]=ue;o[se+19|0]=ue>>>8;o[se+20|0]=ue>>>16;o[se+21|0]=ue>>>24;ue=r[13511]|r[13512]<<8|(r[13513]<<16|r[13514]<<24);ve=r[13507]|r[13508]<<8|(r[13509]<<16|r[13510]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13503]|r[13504]<<8|(r[13505]<<16|r[13506]<<24);ve=r[13499]|r[13500]<<8|(r[13501]<<16|r[13502]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-5;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}ue=ue<<8|xe;p[q[se+32>>2]+38>>1]=ue;b:{if((ue&65535)>>>0<259|p[we+26>>1]>-1){break b}Kj(a,se);if(q[a>>2]){break a}if(o[te+11|0]>-1){break b}An(q[te>>2])}if(!n[q[q[se>>2]+12>>2]](se)){se=Mm(48);q[we>>2]=se;q[we+4>>2]=33;q[we+8>>2]=-2147483600;o[se+33|0]=0;o[se+32|0]=r[13554];ue=r[13550]|r[13551]<<8|(r[13552]<<16|r[13553]<<24);ve=r[13546]|r[13547]<<8|(r[13548]<<16|r[13549]<<24);o[se+24|0]=ve;o[se+25|0]=ve>>>8;o[se+26|0]=ve>>>16;o[se+27|0]=ve>>>24;o[se+28|0]=ue;o[se+29|0]=ue>>>8;o[se+30|0]=ue>>>16;o[se+31|0]=ue>>>24;ue=r[13542]|r[13543]<<8|(r[13544]<<16|r[13545]<<24);ve=r[13538]|r[13539]<<8|(r[13540]<<16|r[13541]<<24);o[se+16|0]=ve;o[se+17|0]=ve>>>8;o[se+18|0]=ve>>>16;o[se+19|0]=ve>>>24;o[se+20|0]=ue;o[se+21|0]=ue>>>8;o[se+22|0]=ue>>>16;o[se+23|0]=ue>>>24;ue=r[13534]|r[13535]<<8|(r[13536]<<16|r[13537]<<24);ve=r[13530]|r[13531]<<8|(r[13532]<<16|r[13533]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13526]|r[13527]<<8|(r[13528]<<16|r[13529]<<24);ve=r[13522]|r[13523]<<8|(r[13524]<<16|r[13525]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-1;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}if(!n[q[q[se>>2]+20>>2]](se)){se=Mm(32);q[we>>2]=se;q[we+4>>2]=31;q[we+8>>2]=-2147483616;o[se+31|0]=0;ue=r[13583]|r[13584]<<8|(r[13585]<<16|r[13586]<<24);ve=r[13579]|r[13580]<<8|(r[13581]<<16|r[13582]<<24);o[se+23|0]=ve;o[se+24|0]=ve>>>8;o[se+25|0]=ve>>>16;o[se+26|0]=ve>>>24;o[se+27|0]=ue;o[se+28|0]=ue>>>8;o[se+29|0]=ue>>>16;o[se+30|0]=ue>>>24;ue=r[13576]|r[13577]<<8|(r[13578]<<16|r[13579]<<24);ve=r[13572]|r[13573]<<8|(r[13574]<<16|r[13575]<<24);o[se+16|0]=ve;o[se+17|0]=ve>>>8;o[se+18|0]=ve>>>16;o[se+19|0]=ve>>>24;o[se+20|0]=ue;o[se+21|0]=ue>>>8;o[se+22|0]=ue>>>16;o[se+23|0]=ue>>>24;ue=r[13568]|r[13569]<<8|(r[13570]<<16|r[13571]<<24);ve=r[13564]|r[13565]<<8|(r[13566]<<16|r[13567]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13560]|r[13561]<<8|(r[13562]<<16|r[13563]<<24);ve=r[13556]|r[13557]<<8|(r[13558]<<16|r[13559]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-1;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}if(!n[q[q[se>>2]+24>>2]](se)){se=Mm(48);q[we>>2]=se;q[we+4>>2]=34;q[we+8>>2]=-2147483600;o[se+34|0]=0;ue=r[13620]|r[13621]<<8;o[se+32|0]=ue;o[se+33|0]=ue>>>8;ue=r[13616]|r[13617]<<8|(r[13618]<<16|r[13619]<<24);ve=r[13612]|r[13613]<<8|(r[13614]<<16|r[13615]<<24);o[se+24|0]=ve;o[se+25|0]=ve>>>8;o[se+26|0]=ve>>>16;o[se+27|0]=ve>>>24;o[se+28|0]=ue;o[se+29|0]=ue>>>8;o[se+30|0]=ue>>>16;o[se+31|0]=ue>>>24;ue=r[13608]|r[13609]<<8|(r[13610]<<16|r[13611]<<24);ve=r[13604]|r[13605]<<8|(r[13606]<<16|r[13607]<<24);o[se+16|0]=ve;o[se+17|0]=ve>>>8;o[se+18|0]=ve>>>16;o[se+19|0]=ve>>>24;o[se+20|0]=ue;o[se+21|0]=ue>>>8;o[se+22|0]=ue>>>16;o[se+23|0]=ue>>>24;ue=r[13600]|r[13601]<<8|(r[13602]<<16|r[13603]<<24);ve=r[13596]|r[13597]<<8|(r[13598]<<16|r[13599]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13592]|r[13593]<<8|(r[13594]<<16|r[13595]<<24);ve=r[13588]|r[13589]<<8|(r[13590]<<16|r[13591]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-1;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0}T=we+32|0}function Nj(a){a=a|0;var se=0,te=0,ue=0,ve=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0;a:{se=q[a+32>>2];ve=q[se+16>>2];ze=q[se+12>>2];ue=q[se+20>>2];b:{if((ze|0)<(ue|0)?1:(ze|0)<=(ue|0)?t[se+8>>2]>ve>>>0?0:1:0){break b}ye=r[ve+q[se>>2]|0];Ae=ve+1|0;if(Ae>>>0<1){ue=ue+1|0}q[se+16>>2]=Ae;q[se+20>>2]=ue;c:{if(!ye){break c}while(1){if(n[q[q[a>>2]+16>>2]](a,te)){te=te+1|0;if((ye|0)!=(te|0)){continue}break c}break}return 0}te=q[a+8>>2];ue=q[a+12>>2];if((te|0)!=(ue|0)){while(1){se=q[te>>2];if(!n[q[q[se>>2]+8>>2]](se,a,q[a+4>>2])){break b}te=te+4|0;if((ue|0)!=(te|0)){continue}break}}d:{if(!ye){break d}te=0;ue=a+8|0;while(1){se=q[q[ue>>2]+(te<<2)>>2];if(!n[q[q[se>>2]+12>>2]](se,q[a+32>>2])){break a}te=te+1|0;if((ye|0)!=(te|0)){continue}break}if(!ye){break d}ve=a+20|0;Be=a+8|0;ze=a+24|0;while(1){te=0;Ae=Ce<<2;se=q[Ae+q[Be>>2]>>2];ue=n[q[q[se>>2]+24>>2]](se)|0;if((ue|0)>0){while(1){se=q[q[Be>>2]+Ae>>2];se=n[q[q[se>>2]+20>>2]](se,te)|0;De=q[a+20>>2];Ee=q[ze>>2]-De>>2;e:{if(se>>>0<Ee>>>0){break e}Fe=se+1|0;if(Fe>>>0>Ee>>>0){Fa(ve,Fe-Ee|0);De=q[ve>>2];break e}if(Fe>>>0>=Ee>>>0){break e}q[ze>>2]=(Fe<<2)+De}q[(se<<2)+De>>2]=Ce;te=te+1|0;if((ue|0)!=(te|0)){continue}break}}Ce=Ce+1|0;if((Ce|0)!=(ye|0)){continue}break}}Be=0;if(!n[q[q[a>>2]+28>>2]](a)){break b}Be=n[q[q[a>>2]+32>>2]](a)|0}return Be|0}return 0}function Oj(a){a=a|0;var Ge=0,He=0,Ie=0,Je=0;He=1;Ge=q[a+8>>2];Ie=q[a+12>>2];a:{if((Ge|0)==(Ie|0)){break a}while(1){Je=q[Ge>>2];if(n[q[q[Je>>2]+16>>2]](Je,q[a+32>>2])){Ge=Ge+4|0;if((Ie|0)!=(Ge|0)){continue}break a}break}He=0}return He|0}function Pj(a,Ke){var Le=0,Me=0;a:{if((Ke|0)<0){break a}Le=q[a+4>>2];if(q[Le+12>>2]-q[Le+8>>2]>>2<=(Ke|0)){break a}a=q[q[a+8>>2]+(q[q[a+20>>2]+(Ke<<2)>>2]<<2)>>2];Me=n[q[q[a>>2]+32>>2]](a,Ke)|0}return Me}function Qj(a){a=a|0;var Ke=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0;Oe=q[a+32>>2];Ne=Oe;Pe=q[Ne+8>>2];Qe=q[Ne+12>>2];Ke=q[Ne+20>>2];Se=Pe;Pe=q[Ne+16>>2];Ne=Pe+4|0;if(Ne>>>0<4){Ke=Ke+1|0}Re=Ne;Ne=Ke;a:{if((Qe|0)<(Ke|0)?1:(Qe|0)<=(Ke|0)?Se>>>0>=Re>>>0?0:1:0){break a}Ke=Pe+q[Oe>>2]|0;Ke=r[Ke|0]|r[Ke+1|0]<<8|(r[Ke+2|0]<<16|r[Ke+3|0]<<24);q[Oe+16>>2]=Re;q[Oe+20>>2]=Ne;if((Ke|0)<0){break a}q[q[a+4>>2]+80>>2]=Ke;Te=1}return Te|0}function Rj(a,Ue){a=a|0;Ue=Ue|0;var Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0;Ye=Mm(72);Id(Ye);a:{if((Ue|0)>=0){Ve=q[a+12>>2];Ze=a+8|0;_e=q[Ze>>2];We=Ve-_e>>2;b:{if((We|0)>(Ue|0)){break b}Xe=Ue+1|0;if(We>>>0<=Ue>>>0){ji(Ze,Xe-We|0);break b}if(Xe>>>0>=We>>>0){break b}Xe=_e+(Xe<<2)|0;if((Xe|0)!=(Ve|0)){while(1){Ve=Ve+ -4|0;We=q[Ve>>2];q[Ve>>2]=0;if(We){n[q[q[We>>2]+4>>2]](We)}if((Ve|0)!=(Xe|0)){continue}break}}q[a+12>>2]=Xe}Ue=q[Ze>>2]+(Ue<<2)|0;a=q[Ue>>2];q[Ue>>2]=Ye;Ve=1;if(!a){break a}n[q[q[a>>2]+4>>2]](a);return 1}n[q[q[Ye>>2]+4>>2]](Ye)}return Ve|0}function Sj(a){a=a|0;var Ue=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0;af=q[a+32>>2];$e=af;bf=q[$e+8>>2];cf=q[$e+12>>2];Ue=q[$e+20>>2];ef=bf;bf=q[$e+16>>2];$e=bf+4|0;if($e>>>0<4){Ue=Ue+1|0}df=$e;$e=Ue;if((cf|0)>(Ue|0)?1:(cf|0)>=(Ue|0)?ef>>>0<df>>>0?0:1:0){Ue=bf+q[af>>2]|0;Ue=r[Ue|0]|r[Ue+1|0]<<8|(r[Ue+2|0]<<16|r[Ue+3|0]<<24);q[af+16>>2]=df;q[af+20>>2]=$e;q[q[a+4>>2]+80>>2]=Ue;a=1}else{a=0}return a|0}function Tj(a,ff,gf){var hf=0,jf=0,kf=0;if((ff|0)>0){while(1){jf=hf<<2;kf=q[jf+a>>2];q[gf+jf>>2]=0-(kf&1)^kf>>>1;hf=hf+1|0;if((hf|0)!=(ff|0)){continue}break}}}function Uj(a){q[a+16>>2]=0;q[a+20>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0}function Vj(a,q,ff,gf){return Wj(a,q,ff,gf)}function Wj(a,ff,gf,lf){var mf=0,nf=0,of=0;a:{if(!ff){ff=gf;lf=ff>>>0<0?lf+1|0:lf;if((lf|0)<0?1:(lf|0)<=0?ff>>>0>=0?0:1:0){return 0}lf=q[a>>2];gf=q[a+4>>2]-lf|0;if(gf>>>0<ff>>>0){Ha(a,ff-gf|0);break a}if(gf>>>0<=ff>>>0){break a}q[a+4>>2]=ff+lf;break a}if((lf|0)<0?1:(lf|0)<=0?gf>>>0>=0?0:1:0){return 0}nf=gf;if(gf>>>0<0){lf=lf+1|0}of=q[a>>2];mf=q[a+4>>2]-of|0;b:{if((lf|0)<0?1:(lf|0)<=0?nf>>>0>mf>>>0?0:1:0){break b}lf=nf;if(mf>>>0<lf>>>0){Ha(a,lf-mf|0);break b}if(mf>>>0<=lf>>>0){break b}q[a+4>>2]=lf+of}if(!gf){break a}En(q[a>>2],ff,gf)}ff=a+24|0;gf=ff;lf=ff;a=q[ff+4>>2];ff=q[ff>>2]+1|0;if(ff>>>0<1){a=a+1|0}q[lf>>2]=ff;q[gf+4>>2]=a;return 1}function Xj(a,ff){var gf=0,lf=0;lf=q[a>>2];gf=q[a+4>>2]-lf|0;a:{if(gf>>>0<ff>>>0){Ha(a,ff-gf|0);break a}if(gf>>>0<=ff>>>0){break a}q[a+4>>2]=ff+lf}ff=a+24|0;gf=ff;lf=ff;a=q[ff+4>>2];ff=q[ff>>2]+1|0;if(ff>>>0<1){a=a+1|0}q[lf>>2]=ff;q[gf+4>>2]=a}function Yj(a){p[a+38>>1]=0;q[a>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0;o[a+29|0]=0;o[a+30|0]=0;o[a+31|0]=0;o[a+32|0]=0;o[a+33|0]=0;o[a+34|0]=0;o[a+35|0]=0;o[a+36|0]=0;return a}function Zj(a,ff,pf,qf){p[a+38>>1]=qf;q[a>>2]=ff;q[a+16>>2]=0;q[a+20>>2]=0;q[a+8>>2]=pf;q[a+12>>2]=0}function _j(a,ff,pf){var qf=0,rf=0,sf=0,tf=0;a:{b:{if(!ff){break b}if(s[a+38>>1]<=513){rf=q[a+12>>2];ff=q[a+20>>2];sf=q[a+16>>2];tf=sf+8|0;if(tf>>>0<8){ff=ff+1|0}if((rf|0)<(ff|0)?1:(rf|0)<=(ff|0)?t[a+8>>2]>=tf>>>0?0:1:0){break a}ff=sf+q[a>>2]|0;qf=r[ff+4|0]|r[ff+5|0]<<8|(r[ff+6|0]<<16|r[ff+7|0]<<24);q[pf>>2]=r[ff|0]|r[ff+1|0]<<8|(r[ff+2|0]<<16|r[ff+3|0]<<24);q[pf+4>>2]=qf;pf=q[a+20>>2];qf=q[a+16>>2]+8|0;if(qf>>>0<8){pf=pf+1|0}q[a+16>>2]=qf;q[a+20>>2]=pf;break b}if(!$j(1,pf,a)){break a}}o[a+36|0]=1;q[a+32>>2]=0;ff=q[a+16>>2];pf=ff+q[a>>2]|0;q[a+24>>2]=pf;qf=a;a=q[a+8>>2];q[qf+28>>2]=pf+(a-ff|0);qf=1}return qf}function $j(a,ff,pf){var uf=0,vf=0,wf=0,xf=0,yf=0,zf=0;a:{if(a>>>0>10){break a}wf=q[pf+16>>2];uf=q[pf+12>>2];vf=q[pf+20>>2];xf=vf;if((uf|0)<(xf|0)?1:(uf|0)<=(xf|0)?t[pf+8>>2]>wf>>>0?0:1:0){break a}yf=o[wf+q[pf>>2]|0];uf=wf+1|0;if(uf>>>0<1){vf=vf+1|0}q[pf+16>>2]=uf;q[pf+20>>2]=vf;xf=ff;wf=ff;uf=yf;b:{if((uf|0)<=-1){if(!$j(a+1|0,ff,pf)){break a}a=ff;pf=q[ff+4>>2];ff=q[ff>>2];vf=pf<<7|ff>>>25;ff=ff<<7;q[a>>2]=ff;q[a+4>>2]=vf;a=uf&127|ff;break b}vf=0;a=uf&255}q[wf>>2]=a;q[xf+4>>2]=vf;zf=1}return zf}function ak(a){var ff=0,pf=0,Af=0,Bf=0,Cf=0,Df=0;o[a+36|0]=0;Af=q[a+20>>2];Bf=a;Cf=a;Df=q[a+16>>2];a=q[a+32>>2]+7|0;if(a>>>0<7){ff=1}pf=ff>>>3;a=ff<<29|a>>>3;ff=Df+a|0;pf=pf+Af|0;q[Cf+16>>2]=ff;q[Bf+20>>2]=ff>>>0<a>>>0?pf+1|0:pf}function bk(a){a=a+ -1|0;if(a>>>0<=10){return q[(a<<2)+13848>>2]}return-1}function ck(a){var Ef=0;Ef=a+4|0;q[Ef>>2]=0;q[Ef+4>>2]=0;q[a>>2]=Ef;return a}function dk(a,Ff,Gf,Hf){var If=0,Jf=0,Kf=0,Lf=0;If=T-16|0;T=If;Lf=a;Jf=ph(Ff,If+12|0,Gf);Gf=q[Jf>>2];if(Gf){Ff=0}else{Gf=Mm(40);Rm(Gf+16|0,q[Hf>>2]);q[Gf+36>>2]=0;q[Gf+28>>2]=0;q[Gf+32>>2]=0;q[Gf+8>>2]=q[If+12>>2];q[Gf>>2]=0;q[Gf+4>>2]=0;q[Jf>>2]=Gf;Hf=Gf;Kf=q[q[Ff>>2]>>2];if(Kf){q[Ff>>2]=Kf;Hf=q[Jf>>2]}nh(q[Ff+4>>2],Hf);Ff=Ff+8|0;q[Ff>>2]=q[Ff>>2]+1;Ff=1}o[Lf+4|0]=Ff;q[a>>2]=Gf;T=If+16|0}function ek(a,Ff){var Gf=0;Gf=T-48|0;T=Gf;$m(Gf+8|0);q[Gf+32>>2]=Ff;dk(Gf+40|0,a,Ff,Gf+32|0);a=q[Gf+40>>2];Ff=a+28|0;a:{if(o[a+39|0]>=0){o[Ff+11|0]=0;o[Ff|0]=0;break a}o[q[a+28>>2]]=0;q[a+32>>2]=0;if(o[a+39|0]>-1){break a}An(q[a+28>>2]);q[a+36>>2]=0}a=q[Gf+12>>2];q[Ff>>2]=q[Gf+8>>2];q[Ff+4>>2]=a;q[Ff+8>>2]=q[Gf+16>>2];T=Gf+48|0}function fk(a,Ff){var Hf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0;Pf=a+4|0;a=q[Pf>>2];a:{b:{if(!a){break b}Hf=r[Ff+11|0];Mf=Hf<<24>>24<0;Nf=Mf?q[Ff+4>>2]:Hf;Rf=Mf?q[Ff>>2]:Ff;Hf=Pf;while(1){Ff=r[a+27|0];Sf=Ff<<24>>24<0;Qf=Sf?q[a+20>>2]:Ff;Of=Nf>>>0<Qf>>>0;Mf=Of?Nf:Qf;c:{if(Mf){Ff=a+16|0;Ff=cm(Sf?q[Ff>>2]:Ff,Rf,Mf);if(Ff){break c}}Ff=Qf>>>0<Nf>>>0?-1:Of}Hf=(Ff|0)<0?Hf:a;a=q[(Ff>>>29&4)+a>>2];if(a){continue}break}if((Hf|0)==(Pf|0)){break b}a=r[Hf+27|0];Of=a<<24>>24<0;d:{Mf=Of?q[Hf+20>>2]:a;Ff=Mf>>>0<Nf>>>0?Mf:Nf;if(Ff){a=Hf+16|0;a=cm(Rf,Of?q[a>>2]:a,Ff);if(a){break d}}if(Nf>>>0<Mf>>>0){break b}break a}if((a|0)>-1){break a}}Hf=Pf}return Hf}function gk(a,Ff){var Tf=0;Ff=fk(a,Ff);a:{if((Ff|0)==(a+4|0)){break a}a=Ff+28|0;if(o[Ff+39|0]<=-1){a=q[a>>2]}a=bm(a);if((a|0)==-1){break a}Tf=(a|0)!=0}return Tf}function hk(a){q[a>>2]=1065353216;return a}function ik(a,q,Ff){if((Ff|0)<1){return 0}u[a>>2]=q/x(Ff|0);return 1}function jk(a){var Ff=0;q[a>>2]=0;q[a+4>>2]=0;q[a+56>>2]=0;q[a+48>>2]=0;q[a+52>>2]=0;q[a+40>>2]=0;q[a+44>>2]=0;q[a+32>>2]=0;q[a+36>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;Ff=a- -64|0;q[Ff>>2]=0;q[Ff+4>>2]=0;q[a+72>>2]=0;q[a+76>>2]=0;q[a+80>>2]=0;q[a+84>>2]=0;q[a+60>>2]=a}function kk(a,Uf){var Vf=0,Wf=0,Xf=0;Xf=T-16|0;T=Xf;Wf=Mm(88);Vf=Wf;q[Vf>>2]=0;q[Vf+4>>2]=0;q[Vf+56>>2]=0;q[Vf+48>>2]=0;q[Vf+52>>2]=0;q[Vf+40>>2]=0;q[Vf+44>>2]=0;q[Vf+32>>2]=0;q[Vf+36>>2]=0;q[Vf+24>>2]=0;q[Vf+28>>2]=0;q[Vf+16>>2]=0;q[Vf+20>>2]=0;q[Vf+8>>2]=0;q[Vf+12>>2]=0;Vf=Vf- -64|0;q[Vf>>2]=0;q[Vf+4>>2]=0;q[Wf+72>>2]=0;q[Wf+76>>2]=0;q[Wf+80>>2]=0;q[Wf+84>>2]=0;q[Wf+60>>2]=Wf;q[Xf+8>>2]=Wf;a:{if(lk(Wf,Uf)){q[a>>2]=q[Xf+8>>2];q[Xf+8>>2]=0;break a}q[a>>2]=0;a=q[Xf+8>>2];q[Xf+8>>2]=0;if(!a){break a}wa(Xf+8|0,a)}T=Xf+16|0}function lk(a,Uf){var Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0;$f=T-16|0;T=$f;q[a+80>>2]=0;q[a+84>>2]=0;Yf=a+76|0;Zf=q[Yf>>2];q[Yf>>2]=0;if(Zf){An(Zf)}q[a+68>>2]=0;q[a+72>>2]=0;Yf=a- -64|0;Zf=q[Yf>>2];q[Yf>>2]=0;if(Zf){An(Zf)}bg=Uf+4|0;Yf=q[bg>>2];Zf=q[Uf>>2];_f=w((Yf-Zf|0)/12|0,3);cg=q[a>>2];ag=q[a+4>>2]-cg>>2;a:{if(_f>>>0>ag>>>0){mk(a,_f-ag|0);Yf=q[bg>>2];Zf=q[Uf>>2];break a}if(_f>>>0>=ag>>>0){break a}q[a+4>>2]=(_f<<2)+cg}if((Yf|0)!=(Zf|0)){ag=(Yf-Zf|0)/12|0;bg=q[a>>2];Uf=0;while(1){_f=w(Uf,12);Yf=_f+bg|0;_f=Zf+_f|0;q[Yf>>2]=q[_f>>2];q[Yf+4>>2]=q[_f+4>>2];q[Yf+8>>2]=q[_f+8>>2];Uf=Uf+1|0;if(Uf>>>0<ag>>>0){continue}break}}q[$f+12>>2]=-1;Uf=0;if(nk(a,$f+12|0)){ok(a);pk(a,q[$f+12>>2]);Uf=1}T=$f+16|0;return Uf}function mk(a,Uf){var dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0;eg=q[a+8>>2];fg=a+4|0;dg=q[fg>>2];if(eg-dg>>2>>>0>=Uf>>>0){a=Uf<<2;kg=fg,lg=Dn(dg,0,a)+a|0,q[kg>>2]=lg;return}a:{fg=q[a>>2];hg=dg-fg|0;dg=hg>>2;gg=dg+Uf|0;if(gg>>>0<1073741824){jg=dg<<2;eg=eg-fg|0;dg=eg>>1;eg=eg>>2>>>0<536870911?dg>>>0<gg>>>0?gg:dg:1073741823;dg=0;b:{if(!eg){break b}if(eg>>>0>=1073741824){break a}ig=Mm(eg<<2);dg=ig}Dn(jg+dg|0,0,Uf<<2);Uf=dg+(gg<<2)|0;gg=dg+(eg<<2)|0;if((hg|0)>=1){Cn(ig,fg,hg)}q[a>>2]=dg;q[a+8>>2]=gg;q[a+4>>2]=Uf;if(fg){An(fg)}return}bn();F()}ab(13904);F()}function nk(a,Uf){var mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0;og=T-48|0;T=og;if(Uf){Dg=a+12|0;ng=a+4|0;tg=q[ng>>2];ug=q[a>>2];rg=tg-ug|0;pg=rg>>2;mg=q[a+12>>2];qg=q[a+16>>2]-mg>>2;a:{if(pg>>>0>qg>>>0){qk(Dg,pg-qg|0);tg=q[ng>>2];ug=q[a>>2];rg=tg-ug|0;pg=rg>>2;break a}if(pg>>>0>=qg>>>0){break a}q[a+16>>2]=mg+(pg<<2)}ng=0;q[og+40>>2]=0;q[og+32>>2]=0;q[og+36>>2]=0;b:{c:{d:{if(!pg){mg=0;qg=0;break d}if(pg>>>0>=1073741824){break c}mg=Mm(rg);q[og+36>>2]=mg;q[og+32>>2]=mg;q[og+40>>2]=(pg<<2)+mg;qg=mg}e:{if(!rg){break e}sg=a+4|0;ng=qg;wg=ng;rg=0;while(1){vg=q[(rg<<2)+ug>>2];wg=wg-ng>>2;if(vg>>>0>=wg>>>0){q[og+16>>2]=0;mg=vg+1|0;f:{if(mg>>>0>wg>>>0){Ad(og+32|0,mg-wg|0,og+16|0);tg=q[sg>>2];ug=q[a>>2];break f}if(mg>>>0>=wg>>>0){break f}q[og+36>>2]=(mg<<2)+ng}mg=q[og+32>>2];qg=mg}ng=(vg<<2)+mg|0;q[ng>>2]=q[ng>>2]+1;rg=rg+1|0;ng=tg-ug|0;pg=ng>>2;if(rg>>>0>=pg>>>0){break e}wg=q[og+36>>2];ng=mg;continue}}q[og+24>>2]=0;q[og+16>>2]=0;q[og+20>>2]=0;rg=0;g:{if(ng){if(pg>>>0>=536870912){break g}rg=Mm(ng<<1);q[og+16>>2]=rg;q[og+20>>2]=rg;ng=pg<<3;q[og+24>>2]=ng+rg;ng=Dn(rg,255,ng);while(1){ng=ng+8|0;pg=pg+ -1|0;if(pg){continue}break}q[og+20>>2]=ng}q[og+8>>2]=0;q[og>>2]=0;q[og+4>>2]=0;ng=q[og+36>>2]-qg|0;Ag=ng>>2;h:{if(ng){if(Ag>>>0>=1073741824){break h}xg=Mm(ng);q[og>>2]=xg;q[og+8>>2]=(Ag<<2)+xg;pg=0;sg=Dn(xg,0,ng);q[og+4>>2]=sg+ng;ng=0;while(1){qg=ng<<2;q[qg+sg>>2]=pg;pg=q[mg+qg>>2]+pg|0;ng=ng+1|0;if(ng>>>0<Ag>>>0){continue}break}}if((tg|0)==(ug|0)){break b}Gg=tg-ug>>2;sg=0;Eg=q[og+32>>2];while(1){Bg=sg<<2;wg=q[Bg+ug>>2];tg=-1;ng=sg+1|0;mg=(ng>>>0)%3|0?ng:sg+ -2|0;if((mg|0)!=-1){tg=q[(mg<<2)+ug>>2]}yg=-1;qg=(sg>>>0)%3|0;mg=(qg?-1:2)+sg|0;if((mg|0)!=-1){yg=q[(mg<<2)+ug>>2]}i:{j:{if(qg){break j}k:{if((tg|0)==(yg|0)){break k}mg=q[ug+Bg>>2];if((mg|0)==(tg|0)){break k}if((mg|0)!=(yg|0)){break j}}q[a+40>>2]=q[a+40>>2]+1;ng=sg+3|0;break i}mg=yg<<2;Cg=q[mg+Eg>>2];l:{m:{if((Cg|0)<1){break m}mg=q[mg+xg>>2];pg=0;while(1){vg=(mg<<3)+rg|0;qg=q[vg>>2];if((qg|0)==-1){break m}n:{if((qg|0)!=(tg|0)){break n}zg=q[vg+4>>2];if((zg|0)!=-1){qg=q[(zg<<2)+ug>>2]}else{qg=-1}if((qg|0)==(wg|0)){break n}while(1){qg=mg;pg=pg+1|0;o:{if((pg|0)>=(Cg|0)){break o}Fg=(qg<<3)+rg|0;mg=qg+1|0;wg=(mg<<3)+rg|0;vg=q[wg>>2];q[Fg>>2]=vg;q[Fg+4>>2]=q[wg+4>>2];if((vg|0)!=-1){continue}}break}q[(qg<<3)+rg>>2]=-1;if((zg|0)==-1){break m}mg=q[Dg>>2];q[mg+Bg>>2]=zg;q[mg+(zg<<2)>>2]=sg;break l}mg=mg+1|0;pg=pg+1|0;if((Cg|0)!=(pg|0)){continue}break}}mg=tg<<2;qg=q[mg+Eg>>2];if((qg|0)<1){break l}mg=q[mg+xg>>2];pg=0;while(1){vg=(mg<<3)+rg|0;if(q[vg>>2]==-1){q[vg>>2]=yg;q[vg+4>>2]=sg;break l}mg=mg+1|0;pg=pg+1|0;if((qg|0)!=(pg|0)){continue}break}}}sg=ng;if(sg>>>0<Gg>>>0){continue}break}break b}bn();F()}bn();F()}ab(13904);F()}q[Uf>>2]=Ag;if(xg){q[og+4>>2]=xg;An(xg)}a=q[og+16>>2];if(a){q[og+20>>2]=a;An(a)}a=q[og+32>>2];if(a){q[og+36>>2]=a;An(a)}a=1}else{a=0}T=og+48|0;return a}function ok(a){var Uf=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0;Ig=T-48|0;T=Ig;Qg=a+4|0;Uf=q[Qg>>2];Og=q[a>>2];o[Ig+16|0]=0;Rg=rk(Ig+32|0,Uf-Og>>2,Ig+16|0);q[Ig+24>>2]=0;q[Ig+16>>2]=0;q[Ig+20>>2]=0;Uf=q[Qg>>2];Mg=q[a>>2];Ng=a+12|0;while(1){Sg=0;Lg=0;a:{if((Uf|0)==(Mg|0)){break a}while(1){Jg=q[Rg>>2];b:{if(q[Jg+(Lg>>>3&536870908)>>2]>>>(Lg&31)&1){break b}Kg=q[Ig+16>>2];q[Ig+20>>2]=Kg;Uf=Lg;while(1){Hg=Uf+1|0;Og=Uf;Uf=(Hg>>>0)%3|0?Hg:Uf+ -2|0;c:{if((Uf|0)==-1){break c}Uf=q[q[Ng>>2]+(Uf<<2)>>2];if((Uf|0)==-1){break c}Hg=Uf+1|0;Uf=(Hg>>>0)%3|0?Hg:Uf+ -2|0;if((Lg|0)==(Uf|0)|(Uf|0)==-1){break c}if(!(q[(Uf>>>3&536870908)+Jg>>2]>>>(Uf&31)&1)){continue}}break}Uf=Kg;Hg=Og;while(1){Jg=(Hg>>>3&536870908)+Jg|0;q[Jg>>2]=q[Jg>>2]|1<<(Hg&31);Jg=Hg+1|0;Tg=(Jg>>>0)%3|0?Jg:Hg+ -2|0;Jg=((Hg>>>0)%3|0?-1:2)+Hg|0;if((Uf|0)!=(Kg|0)){Ug=q[(Tg<<2)+Mg>>2];while(1){d:{if((Ug|0)!=q[Uf>>2]){break d}Hg=-1;Pg=q[Uf+4>>2];Hg=(Jg|0)!=-1?q[q[Ng>>2]+(Jg<<2)>>2]:Hg;if((Pg|0)==(Hg|0)){break d}Kg=-1;Kg=(Pg|0)!=-1?q[q[Ng>>2]+(Pg<<2)>>2]:Kg;if((Hg|0)!=-1){q[q[Ng>>2]+(Hg<<2)>>2]=-1}Uf=q[Ng>>2];if((Kg|0)!=-1){q[Uf+(Kg<<2)>>2]=-1}q[Uf+(Jg<<2)>>2]=-1;q[Uf+(Pg<<2)>>2]=-1;Sg=1;break b}Uf=Uf+8|0;if((Kg|0)!=(Uf|0)){continue}break}}q[Ig+8>>2]=0;Uf=Jg<<2;Hg=q[Uf+Mg>>2];q[Ig+12>>2]=Tg;q[Ig+8>>2]=Hg;e:{if(q[Ig+24>>2]!=(Kg|0)){Hg=q[Ig+12>>2];q[Kg>>2]=q[Ig+8>>2];q[Kg+4>>2]=Hg;q[Ig+20>>2]=q[Ig+20>>2]+8;break e}sk(Ig+16|0,Ig+8|0)}f:{if((Jg|0)==-1){break f}Uf=q[Uf+q[Ng>>2]>>2];if((Uf|0)==-1){break f}Hg=Uf+((Uf>>>0)%3|0?-1:2)|0;if((Og|0)==(Hg|0)|(Hg|0)==-1){break f}Mg=q[a>>2];Jg=q[Rg>>2];Kg=q[Ig+20>>2];Uf=q[Ig+16>>2];continue}break}Mg=q[a>>2]}Lg=Lg+1|0;Uf=q[Qg>>2];if(Lg>>>0<Uf-Mg>>2>>>0){continue}break}if(Sg){continue}}break}a=q[Ig+16>>2];if(a){q[Ig+20>>2]=a;An(a)}a=q[Rg>>2];if(a){An(a)}T=Ig+48|0}function pk(a,Vg){var Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0;$g=T-48|0;T=$g;q[a+36>>2]=Vg;fh=a+24|0;Yg=q[a+24>>2];Wg=q[a+28>>2]-Yg>>2;a:{if(Wg>>>0<Vg>>>0){qk(fh,Vg-Wg|0);break a}if(Wg>>>0<=Vg>>>0){break a}q[a+28>>2]=Yg+(Vg<<2)}o[$g+16|0]=0;ah=rk($g+32|0,Vg,$g+16|0);gh=a+4|0;Wg=q[gh>>2];Yg=q[a>>2];o[$g+8|0]=0;ch=rk($g+16|0,Wg-Yg>>2,$g+8|0);b:{Wg=q[a>>2];if(q[gh>>2]-Wg>>2>>>0<3){break b}mh=a+48|0;hh=a+12|0;nh=a+32|0;jh=a+28|0;oh=a+56|0;kh=a+52|0;while(1){dh=w(ih,3);Zg=q[(dh<<2)+Wg>>2];_g=0;Xg=-1;Yg=dh+1|0;c:{if((Yg|0)!=-1){Xg=q[(Yg<<2)+Wg>>2];_g=dh+2|0;Yg=-1;if((_g|0)==-1){break c}}Yg=q[(_g<<2)+Wg>>2]}d:{if(!((Yg|0)==(Xg|0)|(Xg|0)==(Zg|0)|(Yg|0)==(Zg|0))){bh=q[ch>>2];eh=0;while(1){Yg=dh+eh|0;e:{if(q[(Yg>>>3&536870908)+bh>>2]>>>(Yg&31)&1){break e}_g=q[q[a>>2]+(Yg<<2)>>2];q[$g+8>>2]=_g;Wg=1<<(_g&31);Xg=q[ah>>2];_g=_g>>>5;bh=q[Xg+(_g<<2)>>2];Zg=0;f:{if(!(Wg&bh)){break f}Wg=q[jh>>2];g:{if((Wg|0)!=q[nh>>2]){q[Wg>>2]=-1;q[jh>>2]=Wg+4;break g}zi(fh,13900)}Wg=q[kh>>2];h:{if((Wg|0)!=q[oh>>2]){q[Wg>>2]=q[$g+8>>2];q[kh>>2]=Wg+4;break h}zi(mh,$g+8|0)}Wg=q[ah+4>>2];Zg=q[ah+8>>2];if((Wg|0)==Zg<<5){if((Wg+1|0)<=-1){break d}Xg=ah;if(Wg>>>0<=1073741822){Wg=Wg+32&-32;Zg=Zg<<6;Wg=Zg>>>0<Wg>>>0?Wg:Zg}else{Wg=2147483647}cb(Xg,Wg);Wg=q[ah+4>>2]}q[ah+4>>2]=Wg+1;Xg=q[ah>>2];Zg=Xg+(Wg>>>3&536870908)|0;_g=q[Zg>>2];ph=Zg,qh=eo(Wg)&_g,q[ph>>2]=qh;q[$g+8>>2]=Vg;Wg=1<<(Vg&31);_g=Vg>>>5;bh=q[(_g<<2)+Xg>>2];Vg=Vg+1|0;Zg=1}q[(_g<<2)+Xg>>2]=Wg|bh;bh=q[ch>>2];Wg=Yg;i:{while(1){if((Wg|0)==-1){break i}Xg=(Wg>>>3&536870908)+bh|0;q[Xg>>2]=q[Xg>>2]|1<<(Wg&31);Xg=q[$g+8>>2];q[q[fh>>2]+(Xg<<2)>>2]=Wg;if(Zg){q[q[a>>2]+(Wg<<2)>>2]=Xg}_g=Yg;Xg=Wg+1|0;Wg=(Xg>>>0)%3|0?Xg:Wg+ -2|0;Xg=-1;j:{if((Wg|0)==-1){break j}Wg=q[q[hh>>2]+(Wg<<2)>>2];Xg=-1;if((Wg|0)==-1){break j}Xg=Wg+1|0;Xg=(Xg>>>0)%3|0?Xg:Wg+ -2|0}Wg=Xg;if((_g|0)!=(Wg|0)){continue}break}if((Yg|0)!=-1){break e}}Wg=Yg+((Yg>>>0)%3|0?-1:2)|0;if((Wg|0)==-1){break e}Wg=q[q[hh>>2]+(Wg<<2)>>2];if((Wg|0)==-1){break e}Wg=Wg+((Wg>>>0)%3|0?-1:2)|0;if((Wg|0)==-1){break e}bh=q[ch>>2];while(1){Yg=(Wg>>>3&536870908)+bh|0;q[Yg>>2]=q[Yg>>2]|1<<(Wg&31);if(Zg){q[q[a>>2]+(Wg<<2)>>2]=q[$g+8>>2]}Wg=((Wg>>>0)%3|0?-1:2)+Wg|0;if((Wg|0)==-1){break e}Wg=q[q[hh>>2]+(Wg<<2)>>2];if((Wg|0)==-1){break e}Wg=Wg+((Wg>>>0)%3|0?-1:2)|0;if((Wg|0)!=-1){continue}break}}eh=eh+1|0;if((eh|0)!=3){continue}break}}ih=ih+1|0;Wg=q[a>>2];if(ih>>>0<(q[gh>>2]-Wg>>2>>>0)/3>>>0){continue}break b}break}bn();F()}q[a+44>>2]=0;Vg=q[ah>>2];Wg=q[ah+4>>2];Yg=Wg>>>5;Zg=Wg&31;if(Yg|Zg){Yg=(Yg<<2)+Vg|0;Xg=Vg;Wg=0;while(1){if(!(q[Xg>>2]>>>Wg&1)){lh=lh+1|0;q[a+44>>2]=lh}_g=(Wg|0)==31;Wg=_g?0:Wg+1|0;Xg=_g?Xg+4|0:Xg;if((Yg|0)!=(Xg|0)|(Wg|0)!=(Zg|0)){continue}break}}a=q[ch>>2];if(a){An(a);Vg=q[ah>>2]}if(Vg){An(Vg)}T=$g+48|0}function qk(a,Vg){var rh=0,sh=0,th=0,uh=0,vh=0,wh=0;th=q[a+8>>2];rh=q[a+4>>2];if(th-rh>>2>>>0>=Vg>>>0){while(1){q[rh>>2]=q[3475];rh=rh+4|0;Vg=Vg+ -1|0;if(Vg){continue}break}q[a+4>>2]=rh;return}a:{uh=q[a>>2];vh=rh-uh|0;wh=vh>>2;rh=wh+Vg|0;if(rh>>>0<1073741824){th=th-uh|0;sh=th>>1;rh=th>>2>>>0<536870911?sh>>>0<rh>>>0?rh:sh:1073741823;sh=0;b:{if(!rh){break b}if(rh>>>0>=1073741824){break a}sh=Mm(rh<<2)}th=sh+(rh<<2)|0;rh=sh+(wh<<2)|0;while(1){q[rh>>2]=q[3475];rh=rh+4|0;Vg=Vg+ -1|0;if(Vg){continue}break}if((vh|0)>=1){Cn(sh,uh,vh)}q[a>>2]=sh;q[a+8>>2]=th;q[a+4>>2]=rh;if(uh){An(uh)}return}bn();F()}ab(13904);F()}function rk(a,Vg,xh){var yh=0,zh=0,Ah=0;q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;a:{b:{if(!Vg){break b}if((Vg|0)<=-1){break a}zh=Vg+ -1>>>5;Ah=zh+1|0;yh=Mm(Ah<<2);q[a+8>>2]=Ah;q[a>>2]=yh;Ah=r[xh|0];q[a+4>>2]=Vg;q[(Vg>>>0<33?yh:yh+(zh<<2)|0)>>2]=0;xh=Vg>>>5;zh=xh<<2;if(Ah){yh=Dn(yh,255,zh);Vg=Vg&31;if(!Vg){break b}xh=yh+(xh<<2)|0;q[xh>>2]=q[xh>>2]|-1>>>32-Vg;return a}yh=Dn(yh,0,zh);Vg=Vg&31;if(!Vg){break b}xh=yh+(xh<<2)|0;q[xh>>2]=q[xh>>2]&(-1>>>32-Vg^-1)}return a}bn();F()}function sk(a,Vg){var xh=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0;a:{Ch=q[a>>2];Fh=q[a+4>>2]-Ch|0;xh=Fh>>3;Bh=xh+1|0;if(Bh>>>0<536870912){Dh=xh<<3;Eh=q[a+8>>2]-Ch|0;xh=Eh>>2;Bh=Eh>>3>>>0<268435455?xh>>>0<Bh>>>0?Bh:xh:536870911;xh=0;b:{if(!Bh){break b}if(Bh>>>0>=536870912){break a}xh=Mm(Bh<<3)}Dh=Dh+xh|0;Eh=q[Vg+4>>2];q[Dh>>2]=q[Vg>>2];q[Dh+4>>2]=Eh;Vg=xh+(Bh<<3)|0;Bh=Dh+8|0;if((Fh|0)>=1){Cn(xh,Ch,Fh)}q[a>>2]=xh;q[a+8>>2]=Vg;q[a+4>>2]=Bh;if(Ch){An(Ch)}return}bn();F()}ab(13904);F()}function tk(a,Vg,Gh){var Hh=0,Ih=0,Jh=0,Kh=0;a:{b:{if((Vg|Gh)<0|Vg>>>0>1431655765){break b}Vg=w(Vg,3);uk(a,Vg,13896);uk(a+12|0,Vg,13900);Vg=q[a+24>>2];c:{if(q[a+32>>2]-Vg>>2>>>0>=Gh>>>0){break c}if(Gh>>>0>=1073741824){break a}Jh=a+28|0;Hh=q[Jh>>2];Ih=Gh<<2;Gh=Mm(Ih);Ih=Gh+Ih|0;Hh=Hh-Vg|0;Kh=Hh+Gh|0;if((Hh|0)>=1){Cn(Gh,Vg,Hh)}q[a+24>>2]=Gh;q[a+32>>2]=Ih;q[Jh>>2]=Kh;if(!Vg){break c}An(Vg)}q[a+80>>2]=0;q[a+84>>2]=0;Gh=a+76|0;Vg=q[Gh>>2];q[Gh>>2]=0;if(Vg){An(Vg)}q[a+68>>2]=0;q[a+72>>2]=0;Vg=a- -64|0;a=q[Vg>>2];q[Vg>>2]=0;Hh=1;if(!a){break b}An(a)}return Hh}ab(13904);F()}function uk(a,Vg,Gh){var Lh=0,Mh=0,Nh=0,Oh=0,Ph=0;Lh=q[a+8>>2];Mh=q[a>>2];if(Lh-Mh>>2>>>0>=Vg>>>0){Nh=q[a+4>>2];Oh=Nh-Mh>>2;Ph=Oh>>>0<Vg>>>0?Oh:Vg;if(Ph){Lh=Mh;while(1){q[Lh>>2]=q[Gh>>2];Lh=Lh+4|0;Ph=Ph+ -1|0;if(Ph){continue}break}}if(Oh>>>0<Vg>>>0){Lh=Vg-Oh|0;while(1){q[Nh>>2]=q[Gh>>2];Nh=Nh+4|0;Lh=Lh+ -1|0;if(Lh){continue}break}q[a+4>>2]=Nh;return}q[a+4>>2]=(Vg<<2)+Mh;return}if(Mh){q[a+4>>2]=Mh;An(Mh);q[a+8>>2]=0;q[a>>2]=0;q[a+4>>2]=0;Lh=0}a:{if(Vg>>>0>=1073741824){break a}Mh=Lh>>1;Mh=Lh>>2>>>0<536870911?Mh>>>0<Vg>>>0?Vg:Mh:1073741823;if(Mh>>>0>=1073741824){break a}Mh=Mh<<2;Lh=Mm(Mh);q[a>>2]=Lh;q[a+4>>2]=Lh;q[a+8>>2]=Lh+Mh;while(1){q[Lh>>2]=q[Gh>>2];Lh=Lh+4|0;Vg=Vg+ -1|0;if(Vg){continue}break}q[a+4>>2]=Lh;return}bn();F()}function vk(a){al(a);q[a+84>>2]=0;q[a+88>>2]=0;q[a>>2]=13980;q[a+92>>2]=0;q[a+96>>2]=0;q[a+100>>2]=0;q[a+104>>2]=0;return a}function wk(a){a=a|0;var Vg=0,Gh=0,Qh=0,Rh=0,Sh=0;q[a>>2]=14380;Vg=q[a+68>>2];if(Vg){q[a+72>>2]=Vg;An(Vg)}Vg=q[a+56>>2];if(Vg){q[a+60>>2]=Vg;An(Vg)}Vg=q[a+44>>2];if(Vg){q[a+48>>2]=Vg;An(Vg)}Vg=q[a+32>>2];if(Vg){q[a+36>>2]=Vg;An(Vg)}Vg=q[a+20>>2];if(Vg){q[a+24>>2]=Vg;An(Vg)}Qh=q[a+8>>2];if(Qh){Vg=Qh;Sh=a+12|0;Gh=q[Sh>>2];Rh=Vg;a:{if((Vg|0)==(Gh|0)){break a}while(1){Gh=Gh+ -4|0;Vg=q[Gh>>2];q[Gh>>2]=0;if(Vg){Hb(Vg)}if((Gh|0)!=(Qh|0)){continue}break}Rh=q[a+8>>2]}Vg=Rh;q[Sh>>2]=Qh;An(Vg)}Vg=q[a+4>>2];q[a+4>>2]=0;if(Vg){Lj(Vg)}return a|0}function xk(a){a=a|0;var Th=0;q[a>>2]=13980;Th=q[a+96>>2];if(Th){q[a+100>>2]=Th;An(Th)}Th=q[a+84>>2];if(Th){q[a+88>>2]=Th;An(Th)}wk(a);return a|0}function yk(a){a=a|0;var Uh=0;q[a>>2]=13980;Uh=q[a+96>>2];if(Uh){q[a+100>>2]=Uh;An(Uh)}Uh=q[a+84>>2];if(Uh){q[a+88>>2]=Uh;An(Uh)}wk(a);An(a)}function zk(a,Vh,Wh){a=a|0;Vh=Vh|0;Wh=Wh|0;var Xh=0,Yh=0;Xh=T-16|0;T=Xh;Yh=q[Wh>>2];q[Wh>>2]=0;q[Xh+8>>2]=Yh;gl(a,Vh,Xh+8|0);Wh=q[Xh+8>>2];q[Xh+8>>2]=0;if(Wh){Hb(Wh)}Yh=q[a+84>>2];Wh=q[a+88>>2]-Yh>>2;a:{if((Wh|0)>(Vh|0)){break a}Vh=Vh+1|0;if(Vh>>>0>Wh>>>0){Ak(a+84|0,Vh-Wh|0);break a}if(Vh>>>0>=Wh>>>0){break a}q[a+88>>2]=Yh+(Vh<<2)}T=Xh+16|0}function Ak(a,Vh){var Wh=0,Zh=0,_h=0,$h=0,ai=0,bi=0;_h=q[a+8>>2];Wh=q[a+4>>2];if(_h-Wh>>2>>>0>=Vh>>>0){while(1){q[Wh>>2]=1;Wh=Wh+4|0;Vh=Vh+ -1|0;if(Vh){continue}break}q[a+4>>2]=Wh;return}a:{$h=q[a>>2];ai=Wh-$h|0;bi=ai>>2;Wh=bi+Vh|0;if(Wh>>>0<1073741824){_h=_h-$h|0;Zh=_h>>1;Wh=_h>>2>>>0<536870911?Zh>>>0<Wh>>>0?Wh:Zh:1073741823;Zh=0;b:{if(!Wh){break b}if(Wh>>>0>=1073741824){break a}Zh=Mm(Wh<<2)}_h=Zh+(Wh<<2)|0;Wh=Zh+(bi<<2)|0;while(1){q[Wh>>2]=1;Wh=Wh+4|0;Vh=Vh+ -1|0;if(Vh){continue}break}if((ai|0)>=1){Cn(Zh,$h,ai)}q[a>>2]=Zh;q[a+8>>2]=_h;q[a+4>>2]=Wh;if($h){An($h)}return}bn();F()}ab(14024);F()}function Bk(a,Vh){a=a|0;Vh=Vh|0;var ci=0,di=0,ei=0;jl(a,Vh);a:{if((Vh|0)<0){break a}ci=q[a+88>>2];di=q[a+84>>2];if(ci-di>>2<=(Vh|0)){break a}Vh=di+(Vh<<2)|0;di=Vh+4|0;ci=ci-di|0;ei=ci>>2;if(ci){En(Vh,di,ci)}q[a+88>>2]=Vh+(ei<<2)}}function Ck(a,Vh){var fi=0,gi=0,hi=0,ii=0,ji=0,ki=0;a:{hi=q[a>>2];ji=q[a+4>>2]-hi|0;fi=ji>>2;gi=fi+1|0;if(gi>>>0<1073741824){ki=fi<<2;fi=q[a+8>>2]-hi|0;ii=fi>>1;gi=fi>>2>>>0<536870911?ii>>>0<gi>>>0?gi:ii:1073741823;fi=0;b:{if(!gi){break b}if(gi>>>0>=1073741824){break a}fi=Mm(gi<<2)}ii=ki+fi|0;q[ii>>2]=q[Vh>>2];Vh=fi+(gi<<2)|0;gi=ii+4|0;if((ji|0)>=1){Cn(fi,hi,ji)}q[a>>2]=fi;q[a+8>>2]=Vh;q[a+4>>2]=gi;if(hi){An(hi)}return}bn();F()}ab(14092);F()}function Dk(a){q[a>>2]=0;q[a+4>>2]=0;o[a+24|0]=1;q[a+16>>2]=0;q[a+20>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;q[a+28>>2]=0;q[a+32>>2]=0;q[a+36>>2]=0;q[a+40>>2]=0;q[a+44>>2]=0;q[a+48>>2]=0;q[a+52>>2]=0;q[a+56>>2]=0;q[a+60>>2]=0;q[a+64>>2]=0;q[a+72>>2]=0;q[a+76>>2]=0;q[a+80>>2]=0;q[a+84>>2]=0;q[a+88>>2]=0;q[a+92>>2]=0;q[a+68>>2]=a}function Ek(a,Vh){var li=0,mi=0,ni=0,oi=0,pi=0,qi=0,ri=0,si=0;qi=T-16|0;T=qi;a:{b:{if(Vh){q[a+88>>2]=0;q[a+92>>2]=0;li=a+84|0;mi=q[li>>2];q[li>>2]=0;if(mi){An(mi)}q[a+76>>2]=0;q[a+80>>2]=0;li=a+72|0;mi=q[li>>2];q[li>>2]=0;if(mi){An(mi)}mi=Vh+4|0;li=q[mi>>2];ni=q[Vh>>2];o[qi+15|0]=0;bb(a,li-ni>>2,qi+15|0);ni=Vh+28|0;li=q[ni>>2];oi=q[Vh+24>>2];o[qi+14|0]=0;bb(a+12|0,li-oi>>2,qi+14|0);uk(a+28|0,q[mi>>2]-q[Vh>>2]>>2,14160);mi=q[a+52>>2];oi=q[ni>>2]-q[Vh+24>>2]|0;li=oi>>2;c:{if(q[a+60>>2]-mi>>2>>>0>=li>>>0){break c}if(li>>>0>=1073741824){break b}ri=a+56|0;pi=q[ri>>2];si=li<<2;li=Mm(oi);si=si+li|0;oi=pi-mi|0;pi=oi+li|0;if((oi|0)>=1){Cn(li,mi,oi)}q[a+52>>2]=li;q[a+60>>2]=si;q[ri>>2]=pi;if(!mi){break c}An(mi)}mi=q[a+40>>2];ni=q[ni>>2]-q[Vh+24>>2]|0;li=ni>>2;d:{if(q[a+48>>2]-mi>>2>>>0>=li>>>0){break d}if(li>>>0>=1073741824){break a}oi=a+44|0;ri=q[oi>>2];pi=li<<2;li=Mm(ni);pi=pi+li|0;ni=ri-mi|0;ri=ni+li|0;if((ni|0)>=1){Cn(li,mi,ni)}q[a+40>>2]=li;q[a+48>>2]=pi;q[oi>>2]=ri;if(!mi){break d}An(mi)}o[a+24|0]=1;q[a+64>>2]=Vh}T=qi+16|0;return}ab(14164);F()}ab(14164);F()}function Fk(a){var Vh=0,ti=0,ui=0,vi=0,wi=0,xi=0,yi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0,Fi=0;ui=T-32|0;T=ui;xi=a+56|0;q[xi>>2]=q[a+52>>2];yi=a+44|0;q[yi>>2]=q[a+40>>2];Vh=q[a+64>>2];if(q[Vh+28>>2]!=q[Vh+24>>2]){Bi=a+40|0;Ci=a+52|0;Di=a+60|0;Ei=a+48|0;while(1){ti=q[q[Vh+24>>2]+(Ai<<2)>>2];a:{if((ti|0)==-1){break a}q[ui+24>>2]=wi;Vh=q[xi>>2];b:{if((Vh|0)!=q[Di>>2]){q[Vh>>2]=wi;q[xi>>2]=Vh+4;break b}Hk(Ci,ui+24|0)}q[ui+16>>2]=ti;q[ui+8>>2]=0;c:{if(!(q[q[a+12>>2]+(Ai>>>3&536870908)>>2]>>>(Ai&31)&1)){break c}d:{Vh=ti+1|0;Vh=(Vh>>>0)%3|0?Vh:ti+ -2|0;if(!((Vh|0)==-1|q[q[a>>2]+(Vh>>>3&536870908)>>2]>>>(Vh&31)&1)){Vh=q[q[q[a+64>>2]+12>>2]+(Vh<<2)>>2];if((Vh|0)!=-1){break d}}q[ui+8>>2]=-1;break c}vi=Vh+1|0;Vh=(vi>>>0)%3|0?vi:Vh+ -2|0;q[ui+8>>2]=Vh;if((Vh|0)==-1){break c}while(1){q[ui+16>>2]=Vh;e:{vi=Vh+1|0;ti=Vh;Vh=(vi>>>0)%3|0?vi:Vh+ -2|0;if(!((Vh|0)==-1|q[q[a>>2]+(Vh>>>3&536870908)>>2]>>>(Vh&31)&1)){Vh=q[q[q[a+64>>2]+12>>2]+(Vh<<2)>>2];if((Vh|0)!=-1){break e}}q[ui+8>>2]=-1;break c}vi=Vh+1|0;Vh=(vi>>>0)%3|0?vi:Vh+ -2|0;q[ui+8>>2]=Vh;if((Vh|0)!=-1){continue}break}}Fi=a+28|0;q[q[Fi>>2]+(ti<<2)>>2]=q[ui+24>>2];Vh=q[yi>>2];f:{if((Vh|0)!=q[Ei>>2]){q[Vh>>2]=q[ui+16>>2];q[yi>>2]=Vh+4;break f}zi(Bi,ui+16|0)}wi=wi+1|0;Vh=q[a+64>>2];g:{vi=q[ui+16>>2];if((vi|0)==-1){break g}ti=vi+((vi>>>0)%3|0?-1:2)|0;if((ti|0)==-1){break g}ti=q[q[Vh+12>>2]+(ti<<2)>>2];if((ti|0)==-1){break g}ti=ti+((ti>>>0)%3|0?-1:2)|0;q[ui+8>>2]=ti;if((ti|0)==-1|(ti|0)==(vi|0)){break a}while(1){Vh=ti+1|0;Vh=(Vh>>>0)%3|0?Vh:ti+ -2|0;h:{if(!(q[q[a>>2]+(Vh>>>3&536870908)>>2]>>>(Vh&31)&1)){break h}q[ui+24>>2]=wi;Vh=q[xi>>2];i:{if((Vh|0)!=q[Di>>2]){q[Vh>>2]=wi;q[xi>>2]=Vh+4;break i}Hk(Ci,ui+24|0)}wi=wi+1|0;Vh=q[yi>>2];if((Vh|0)!=q[Ei>>2]){q[Vh>>2]=q[ui+8>>2];q[yi>>2]=Vh+4;break h}zi(Bi,ui+8|0)}q[q[Fi>>2]+(q[ui+8>>2]<<2)>>2]=q[ui+24>>2];Vh=q[a+64>>2];ti=q[ui+8>>2];if((ti|0)==-1){break g}ti=ti+((ti>>>0)%3|0?-1:2)|0;if((ti|0)==-1){break g}ti=q[q[Vh+12>>2]+(ti<<2)>>2];if((ti|0)==-1){break g}ti=ti+((ti>>>0)%3|0?-1:2)|0;q[ui+8>>2]=ti;if((ti|0)==-1){break a}if(q[ui+16>>2]!=(ti|0)){continue}break}break a}q[ui+8>>2]=-1}Ai=Ai+1|0;if(Ai>>>0<q[Vh+28>>2]-q[Vh+24>>2]>>2>>>0){continue}break}}T=ui+32|0}function Gk(a,zi){var Gi=0,Hi=0,Ii=0,Ji=0,Ki=0,Li=0;Ii=q[a>>2];Gi=Ii+(zi>>>3&536870908)|0;q[Gi>>2]=q[Gi>>2]|1<<(zi&31);Ki=q[a+64>>2];Ji=(zi|0)==-1;Gi=-1;a:{if(Ji){break a}Hi=zi+1|0;Hi=(Hi>>>0)%3|0?Hi:zi+ -2|0;Gi=-1;if((Hi|0)==-1){break a}Gi=q[q[Ki>>2]+(Hi<<2)>>2]}Hi=q[a+12>>2];Li=(Gi>>>3&536870908)+Hi|0;q[Li>>2]=q[Li>>2]|1<<(Gi&31);b:{c:{if(!Ji){Gi=-1;Ji=((zi>>>0)%3|0?-1:2)+zi|0;if((Ji|0)!=-1){Gi=q[q[Ki>>2]+(Ji<<2)>>2]}Ji=Hi+(Gi>>>3&536870908)|0;q[Ji>>2]=q[Ji>>2]|1<<(Gi&31);zi=q[q[Ki+12>>2]+(zi<<2)>>2];if((zi|0)==-1){break b}o[a+24|0]=0;a=(zi>>>3&536870908)+Ii|0;q[a>>2]=q[a>>2]|1<<(zi&31);a=-1;Gi=-1;Ii=zi+1|0;Ii=(Ii>>>0)%3|0?Ii:zi+ -2|0;if((Ii|0)!=-1){Gi=q[q[Ki>>2]+(Ii<<2)>>2]}Ii=Hi+(Gi>>>3&536870908)|0;q[Ii>>2]=q[Ii>>2]|1<<(Gi&31);zi=zi+((zi>>>0)%3|0?-1:2)|0;if((zi|0)!=-1){a=q[q[Ki>>2]+(zi<<2)>>2]}zi=1<<(a&31);a=Hi+(a>>>3&536870908)|0;Gi=q[a>>2];break c}a=Hi+536870908|0;zi=q[Hi+536870908>>2];Gi=-2147483648}q[a>>2]=zi|Gi}}function Hk(a,zi){var Mi=0,Ni=0,Oi=0,Pi=0,Qi=0,Ri=0;a:{Oi=q[a>>2];Qi=q[a+4>>2]-Oi|0;Mi=Qi>>2;Ni=Mi+1|0;if(Ni>>>0<1073741824){Ri=Mi<<2;Mi=q[a+8>>2]-Oi|0;Pi=Mi>>1;Ni=Mi>>2>>>0<536870911?Pi>>>0<Ni>>>0?Ni:Pi:1073741823;Mi=0;b:{if(!Ni){break b}if(Ni>>>0>=1073741824){break a}Mi=Mm(Ni<<2)}Pi=Ri+Mi|0;q[Pi>>2]=q[zi>>2];zi=Mi+(Ni<<2)|0;Ni=Pi+4|0;if((Qi|0)>=1){Cn(Mi,Oi,Qi)}q[a>>2]=Mi;q[a+8>>2]=zi;q[a+4>>2]=Ni;if(Oi){An(Oi)}return}bn();F()}ab(14164);F()}function Ik(a,zi){var Si=0,Ti=0,Ui=0,Vi=0,Wi=0,Xi=0,Yi=0,Zi=0,_i=0,$i=0,aj=0;Ti=T-16|0;T=Ti;a:{Ui=cl(zi);if(!Ui){q[a>>2]=0;break a}Vi=q[zi+100>>2];Zi=q[zi+96>>2];q[Ti+8>>2]=0;q[Ti>>2]=0;q[Ti+4>>2]=0;zi=Vi-Zi|0;Yi=(zi|0)/12|0;b:{if(zi){if(Yi>>>0>=357913942){break b}Wi=Mm(zi);q[Ti>>2]=Wi;q[Ti+4>>2]=Wi;q[Ti+8>>2]=w(Yi,12)+Wi;zi=Dn(Wi,0,zi);Si=Yi;while(1){zi=zi+12|0;Si=Si+ -1|0;if(Si){continue}break}q[Ti+4>>2]=zi}if((Vi|0)!=(Zi|0)){zi=0;$i=r[Ui+84|0];aj=Ui+68|0;while(1){_i=w(zi,12);Si=_i+Zi|0;Ui=q[Si>>2];c:{if($i){Vi=Si+8|0;Si=Si+4|0;break c}Xi=q[aj>>2];Vi=Xi+(q[Si+8>>2]<<2)|0;Ui=q[Xi+(Ui<<2)>>2];Si=Xi+(q[Si+4>>2]<<2)|0}Xi=q[Si>>2];Si=Wi+_i|0;q[Si+8>>2]=q[Vi>>2];q[Si+4>>2]=Xi;q[Si>>2]=Ui;zi=zi+1|0;if(zi>>>0<Yi>>>0){continue}break}}kk(a,Ti);a=q[Ti>>2];if(!a){break a}q[Ti+4>>2]=a;An(a);break a}bn();F()}T=Ti+16|0}function Jk(a,zi,bj){var cj=0,dj=0,ej=0,fj=0,gj=0,hj=0,ij=0,jj=0,kj=0,lj=0,mj=0,nj=0,oj=0,pj=0,qj=0,rj=0;hj=T-16|0;T=hj;gj=w(zi,12)+a|0;ij=gj+12|0;nj=gj+8|0;q[ij>>2]=q[nj>>2];q[hj+8>>2]=(bj|0)==-1?-1:(bj>>>0)/3|0;oj=gj+16|0;pj=a+4|0;ej=bj;while(1){gj=dj;jj=(dj|0)==1;a:{b:{if(!jj){dj=q[hj+8>>2];break b}if((ej|0)==-1){ej=-1;Kk(a,-1);break a}if((ej|0)==-1|(Kk(a,((ej>>>0)%3|0?-1:2)+ej|0)|0)==-1){break a}bj=ej+1|0;cj=(bj>>>0)%3|0?bj:ej+ -2|0;if((cj|0)==-1){break a}bj=cj+1|0;bj=(bj>>>0)%3|0?bj:cj+ -2|0;if((bj|0)==-1){break a}cj=q[q[q[pj>>2]+12>>2]+(bj<<2)>>2];if((cj|0)==-1){break a}bj=cj+1|0;bj=(bj>>>0)%3|0?bj:cj+ -2|0;if((bj|0)==-1){break a}dj=(bj>>>0)/3|0;q[hj+8>>2]=dj}kj=1<<(dj&31);lj=q[a+56>>2]+(dj>>>3&536870908)|0;mj=q[lj>>2];c:{if(kj&mj){break c}fj=0;while(1){q[lj>>2]=kj|mj;cj=q[ij>>2];d:{if((cj|0)!=q[oj>>2]){q[cj>>2]=dj;q[ij>>2]=cj+4;break d}Ck(nj,hj+8|0)}cj=fj+1|0;e:{if(!fj){break e}if(cj&1){if((bj|0)==-1){bj=-1;break e}fj=bj+1|0;bj=(fj>>>0)%3|0?fj:bj+ -2|0;break e}ej=jj?bj:ej;if((bj|0)==-1){bj=-1;break e}if((bj>>>0)%3){bj=bj+ -1|0;break e}bj=bj+2|0}bj=Kk(a,bj);if((bj|0)!=-1){dj=(bj>>>0)/3|0;q[hj+8>>2]=dj;fj=cj;kj=1<<(dj&31);lj=q[a+56>>2]+(dj>>>3&268435452)|0;mj=q[lj>>2];if(!(kj&mj)){continue}}break}if(!(cj&1)|(gj|0)!=1){break c}jj=q[ij>>2]+ -4|0;dj=q[jj>>2];fj=q[a+56>>2]+(dj>>>3&536870908)|0;cj=q[fj>>2];qj=fj,rj=eo(dj)&cj,q[qj>>2]=rj;q[ij>>2]=jj}dj=1;if(!gj){continue}}break}q[((zi<<2)+a|0)+44>>2]=ej;zi=q[ij>>2];ej=q[nj>>2];if((zi|0)!=(ej|0)){fj=zi-ej>>2;cj=q[a+56>>2];bj=0;while(1){gj=q[ej+(bj<<2)>>2];zi=cj+(gj>>>3&536870908)|0;a=q[zi>>2];qj=zi,rj=eo(gj)&a,q[qj>>2]=rj;bj=bj+1|0;if(bj>>>0<fj>>>0){continue}break}}T=hj+16|0}function Kk(a,zi){var bj=0,sj=0,tj=0,uj=0,vj=0;sj=-1;uj=-1;tj=-1;a:{b:{if((zi|0)==-1){break b}vj=1;uj=q[q[q[a+4>>2]+12>>2]+(zi<<2)>>2];bj=zi+1|0;bj=(bj>>>0)%3|0?bj:zi+ -2|0;if((bj|0)>=0){tj=(bj>>>0)/3|0;tj=q[(q[q[a>>2]+96>>2]+w(tj,12)|0)+(bj-w(tj,3)<<2)>>2]}c:{if((uj|0)==-1){break c}vj=0;bj=((uj>>>0)%3|0?-1:2)+uj|0;if((bj|0)<0){break c}sj=(bj>>>0)/3|0;sj=q[(q[q[a>>2]+96>>2]+w(sj,12)|0)+(bj-w(sj,3)<<2)>>2]}bj=-1;if((sj|0)!=(tj|0)){break a}tj=-1;d:{zi=((zi>>>0)%3|0?-1:2)+zi|0;if((zi|0)>=0){sj=(zi>>>0)/3|0;sj=q[(q[q[a>>2]+96>>2]+w(sj,12)|0)+(zi-w(sj,3)<<2)>>2];if(vj){break b}break d}sj=-1;if(!vj){break d}break b}zi=uj+1|0;zi=(zi>>>0)%3|0?zi:uj+ -2|0;if((zi|0)<0){break b}tj=q[q[a>>2]+96>>2];a=(zi>>>0)/3|0;tj=q[(tj+w(a,12)|0)+(zi-w(a,3)<<2)>>2]}bj=(sj|0)==(tj|0)?uj:-1}return bj}function Lk(a,zi){var wj=0,xj=0,yj=0,zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0;xj=T-48|0;T=xj;q[xj+40>>2]=0;q[xj+32>>2]=0;q[xj+36>>2]=0;wj=Mm(8);q[wj+4>>2]=zi;q[wj>>2]=0;zi=wj+8|0;q[xj+40>>2]=zi;q[xj+36>>2]=zi;q[xj+32>>2]=wj;a:{b:{c:{d:{while(1){zi=zi+ -8|0;Bj=q[zi+4>>2];Gj=q[zi>>2];q[xj+36>>2]=zi;if(Gj){q[xj+24>>2]=0;q[xj+16>>2]=0;q[xj+20>>2]=0;Dj=1;zi=q[a>>2];Aj=q[zi+16>>2];zj=q[zi+12>>2];wj=q[zi+20>>2];e:{if((zj|0)<(wj|0)?1:(zj|0)<=(wj|0)?t[zi+8>>2]>Aj>>>0?0:1:0){break e}yj=r[Aj+q[zi>>2]|0];zj=Aj+1|0;if(zj>>>0<1){wj=wj+1|0}q[zi+16>>2]=zj;q[zi+20>>2]=wj;Wm(xj+16|0,yj);if(yj){zj=q[a>>2];Fj=_m(xj+16|0);Cj=q[zj+12>>2];Aj=q[zj+20>>2];Ej=q[zj+16>>2];zi=yj;wj=Ej+zi|0;if(wj>>>0<zi>>>0){Aj=Aj+1|0}if((Cj|0)<(Aj|0)?1:(Cj|0)<=(Aj|0)?t[zj+8>>2]>=wj>>>0?0:1:0){break e}Cn(Fj,Ej+q[zj>>2]|0,yj);wj=zj;zj=wj;Aj=q[wj+20>>2];yj=zi+q[wj+16>>2]|0;if(yj>>>0<zi>>>0){Aj=Aj+1|0}q[zj+16>>2]=yj;q[wj+20>>2]=Aj}Bj=Mm(24);wj=Bj+4|0;q[wj>>2]=0;q[wj+4>>2]=0;zi=Bj+16|0;q[zi>>2]=0;q[zi+4>>2]=0;q[Bj>>2]=wj;q[Bj+12>>2]=zi;q[xj+8>>2]=Bj;_k(Gj,xj+16|0,xj+8|0);zi=q[xj+8>>2];Dj=0;q[xj+8>>2]=0;if(!zi){break e}Hc(zi+12|0,q[zi+16>>2]);Ic(zi,q[zi+4>>2]);An(zi)}if(o[xj+27|0]<=-1){An(q[xj+16>>2])}if(Dj){break b}}if(!Bj){break b}q[xj+16>>2]=0;if(!Mk(1,xj+16|0,q[a>>2])){break b}zi=0;wj=q[xj+16>>2];if(wj){while(1){if(!Nk(a,Bj)){break b}zi=zi+1|0;if(zi>>>0<wj>>>0){continue}break}}q[xj+4>>2]=0;if(!Mk(1,xj+4|0,q[a>>2])){break b}Aj=q[xj+4>>2];if(Aj){Dj=0;while(1){zi=q[xj+36>>2];wj=q[xj+40>>2];f:{if(zi>>>0<wj>>>0){q[zi+4>>2]=0;q[zi>>2]=Bj;q[xj+36>>2]=q[xj+36>>2]+8;break f}Cj=q[xj+32>>2];Fj=zi-Cj|0;zi=Fj>>3;Ej=zi+1|0;if(Ej>>>0>=536870912){break d}zj=zi<<3;yj=wj-Cj|0;wj=yj>>2;yj=yj>>3>>>0<268435455?wj>>>0<Ej>>>0?Ej:wj:536870911;zi=0;g:{if(!yj){break g}if(yj>>>0>=536870912){break c}zi=Mm(yj<<3)}wj=zj+zi|0;q[wj+4>>2]=0;q[wj>>2]=Bj;yj=zi+(yj<<3)|0;wj=wj+8|0;if((Fj|0)>=1){Cn(zi,Cj,Fj)}q[xj+40>>2]=yj;q[xj+36>>2]=wj;q[xj+32>>2]=zi;if(!Cj){break f}An(Cj)}Dj=Dj+1|0;if(Dj>>>0<Aj>>>0){continue}break}}zi=q[xj+36>>2];wj=q[xj+32>>2];if((zi|0)!=(wj|0)){continue}break}a=1;break a}bn();F()}ab(14232);F()}wj=q[xj+32>>2];a=0}if(wj){q[xj+36>>2]=wj;An(wj)}T=xj+48|0;return a}function Mk(a,zi,Hj){var Ij=0,Jj=0,Kj=0,Lj=0;a:{if(a>>>0>5){break a}Kj=q[Hj+16>>2];Ij=q[Hj+12>>2];Jj=q[Hj+20>>2];if((Ij|0)<(Jj|0)?1:(Ij|0)<=(Jj|0)?t[Hj+8>>2]>Kj>>>0?0:1:0){break a}Ij=r[Kj+q[Hj>>2]|0];Kj=Kj+1|0;if(Kj>>>0<1){Jj=Jj+1|0}q[Hj+16>>2]=Kj;q[Hj+20>>2]=Jj;Jj=zi;if(Ij&128){if(!Mk(a+1|0,zi,Hj)){break a}a=q[zi>>2]<<7;q[zi>>2]=a;Ij=a|Ij&127}q[Jj>>2]=Ij;Lj=1}return Lj}function Nk(a,zi){var Hj=0,Mj=0,Nj=0,Oj=0,Pj=0,Qj=0,Rj=0,Sj=0,Tj=0,Uj=0;Mj=T-32|0;T=Mj;q[Mj+24>>2]=0;q[Mj+16>>2]=0;q[Mj+20>>2]=0;a:{Nj=q[a>>2];Hj=Nj;Pj=q[Hj+16>>2];Qj=t[Hj+8>>2]>Pj>>>0?0:1;Oj=q[Hj+12>>2];Hj=q[Hj+20>>2];b:{if((Oj|0)<(Hj|0)?1:(Oj|0)<=(Hj|0)?Qj:0){break b}Qj=r[Pj+q[Nj>>2]|0];Oj=Hj;Hj=Pj+1|0;if(Hj>>>0<1){Oj=Oj+1|0}q[Nj+16>>2]=Hj;q[Nj+20>>2]=Oj;Wm(Mj+16|0,Qj);if(Qj){Oj=q[a>>2];Sj=_m(Mj+16|0);Uj=q[Oj+12>>2];Pj=q[Oj+20>>2];Tj=q[Oj+16>>2];Nj=Qj;Hj=Tj+Nj|0;if(Hj>>>0<Nj>>>0){Pj=Pj+1|0}if((Uj|0)<(Pj|0)?1:(Uj|0)<=(Pj|0)?t[Oj+8>>2]>=Hj>>>0?0:1:0){break b}Cn(Sj,Tj+q[Oj>>2]|0,Qj);Hj=Oj;Oj=Hj;Pj=q[Hj+20>>2];Qj=Nj+q[Hj+16>>2]|0;if(Qj>>>0<Nj>>>0){Pj=Pj+1|0}q[Oj+16>>2]=Qj;q[Hj+20>>2]=Pj}q[Mj+12>>2]=0;Hj=Mk(1,Mj+12|0,q[a>>2]);Nj=q[Mj+12>>2];if(!Nj|!Hj){break b}q[Mj+8>>2]=0;q[Mj>>2]=0;q[Mj+4>>2]=0;if((Nj|0)<=-1){break a}Rj=Mm(Nj);q[Mj>>2]=Rj;q[Mj+4>>2]=Rj;q[Mj+8>>2]=Nj+Rj;Hj=Nj;while(1){o[Rj|0]=0;Rj=q[Mj+4>>2]+1|0;q[Mj+4>>2]=Rj;Hj=Hj+ -1|0;if(Hj){continue}break}Rj=0;Hj=q[a>>2];a=q[Hj+8>>2];Tj=q[Hj+12>>2];Oj=a;Sj=q[Hj+20>>2];Pj=q[Hj+16>>2];a=Nj;Qj=Pj+Nj|0;if(Qj>>>0<Nj>>>0){Sj=Sj+1|0}if((Tj|0)>(Sj|0)?1:(Tj|0)>=(Sj|0)?Oj>>>0<Qj>>>0?0:1:0){Cn(q[Mj>>2],Pj+q[Hj>>2]|0,Nj);Nj=Hj;Qj=Hj;Oj=q[Hj+20>>2];Hj=a+q[Hj+16>>2]|0;if(Hj>>>0<a>>>0){Oj=Oj+1|0}q[Qj+16>>2]=Hj;q[Nj+20>>2]=Oj;Zk(zi,Mj+16|0,Mj);Rj=1}a=q[Mj>>2];if(!a){break b}q[Mj+4>>2]=a;An(a)}if(o[Mj+27|0]<=-1){An(q[Mj+16>>2])}T=Mj+32|0;return Rj}bn();F()}function Ok(a,zi,Vj){var Wj=0,Xj=0,Yj=0,Zj=0,_j=0;Xj=T-16|0;T=Xj;a:{b:{if(!Vj){break b}q[a>>2]=zi;q[Xj+12>>2]=0;Wj=0;if(!Mk(1,Xj+12|0,zi)){break a}c:{_j=q[Xj+12>>2];if(_j){zi=0;while(1){if(!Mk(1,Xj+8|0,q[a>>2])){break b}Wj=Mm(28);Yj=Wj+4|0;q[Yj>>2]=0;q[Yj+4>>2]=0;Zj=Wj+16|0;q[Zj>>2]=0;q[Zj+4>>2]=0;q[Wj>>2]=Yj;Yj=Wj+12|0;q[Yj>>2]=Zj;q[Wj+24>>2]=q[Xj+8>>2];if(!Lk(a,Wj)){break c}q[Xj>>2]=Wj;Qk(Vj,Xj);Wj=q[Xj>>2];q[Xj>>2]=0;if(Wj){Hc(Wj+12|0,q[Wj+16>>2]);Ic(Wj,q[Wj+4>>2]);An(Wj)}zi=zi+1|0;if(zi>>>0<_j>>>0){continue}break}}Wj=Lk(a,Vj);break a}Hc(Yj,q[Wj+16>>2]);Ic(Wj,q[Wj+4>>2]);An(Wj)}Wj=0}T=Xj+16|0;return Wj}function Pk(a,zi,Vj){var $j=0,ak=0,bk=0,ck=0,dk=0,ek=0,fk=0,gk=0,hk=0,ik=0,jk=0,kk=0;$j=T-16|0;T=$j;ck=q[a+24>>2];hk=q[a+28>>2];a:{if((ck|0)!=(hk|0)){jk=$j+8|0;kk=Vj+4|0;while(1){q[jk>>2]=0;q[$j>>2]=0;q[$j+4>>2]=0;a=Yk(q[ck>>2],zi,$j);dk=r[$j+11|0];gk=dk<<24>>24;b:{c:{d:{if(!a){a=3;break d}a=0;ak=r[Vj+11|0];bk=ak<<24>>24;fk=(gk|0)<0?q[$j+4>>2]:dk;if((fk|0)!=(((bk|0)<0?q[kk>>2]:ak)|0)){break d}ek=(bk|0)<0?q[Vj>>2]:Vj;bk=q[$j>>2];ak=(gk|0)<0;e:{if(!ak){if(!fk){break e}ak=$j;if(r[ek|0]!=(bk&255)){break d}while(1){dk=dk+ -1|0;if(!dk){break e}bk=r[ek+1|0];ek=ek+1|0;ak=ak+1|0;if((bk|0)==r[ak|0]){continue}break}break d}if(!fk){break e}if(cm(ak?bk:$j,ek,fk)){break c}}ik=q[ck>>2];a=1}if((gk|0)>-1){break b}}An(q[$j>>2])}if(a>>>0>3){break a}f:{switch(a-1|0){case 0:case 1:break a;default:break f}}ck=ck+4|0;if((hk|0)!=(ck|0)){continue}break}}ik=0}T=$j+16|0;return ik}function Qk(a,zi){var Vj=0,lk=0,mk=0;lk=q[zi>>2];if(!lk){return}Vj=a+28|0;mk=q[Vj>>2];if(mk>>>0<t[a+32>>2]){q[zi>>2]=0;q[mk>>2]=lk;q[Vj>>2]=q[Vj>>2]+4;return}Rk(a+24|0,zi)}function Rk(a,zi){var nk=0,ok=0,pk=0,qk=0,rk=0;a:{b:{c:{pk=q[a>>2];qk=q[a+4>>2]-pk>>2;nk=qk+1|0;if(nk>>>0<1073741824){pk=q[a+8>>2]-pk|0;rk=pk>>1;nk=pk>>2>>>0<536870911?rk>>>0<nk>>>0?nk:rk:1073741823;if(nk){if(nk>>>0>=1073741824){break c}ok=Mm(nk<<2)}pk=q[zi>>2];q[zi>>2]=0;zi=(qk<<2)+ok|0;q[zi>>2]=pk;pk=(nk<<2)+ok|0;qk=zi+4|0;nk=q[a+4>>2];ok=q[a>>2];if((nk|0)==(ok|0)){break b}while(1){nk=nk+ -4|0;rk=q[nk>>2];q[nk>>2]=0;zi=zi+ -4|0;q[zi>>2]=rk;if((nk|0)!=(ok|0)){continue}break}ok=q[a+4>>2];nk=q[a>>2];break a}bn();F()}ab(14300);F()}nk=ok}q[a>>2]=zi;q[a+8>>2]=pk;q[a+4>>2]=qk;if((nk|0)!=(ok|0)){while(1){ok=ok+ -4|0;a=q[ok>>2];q[ok>>2]=0;if(a){Hc(a+12|0,q[a+16>>2]);Ic(a,q[a+4>>2]);An(a)}if((nk|0)!=(ok|0)){continue}break}}if(nk){An(nk)}}function Sk(a,zi,sk,tk){var uk=0,vk=0,wk=0,xk=0;uk=T-16|0;T=uk;xk=a;vk=ph(zi,uk+12|0,sk);sk=q[vk>>2];if(sk){zi=0}else{sk=Mm(32);Rm(sk+16|0,q[tk>>2]);q[sk+28>>2]=0;q[sk+8>>2]=q[uk+12>>2];q[sk>>2]=0;q[sk+4>>2]=0;q[vk>>2]=sk;tk=sk;wk=q[q[zi>>2]>>2];if(wk){q[zi>>2]=wk;tk=q[vk>>2]}nh(q[zi+4>>2],tk);zi=zi+8|0;q[zi>>2]=q[zi>>2]+1;zi=1}o[xk+4|0]=zi;q[a>>2]=sk;T=uk+16|0}function Tk(a,zi){var sk=0,tk=0,yk=0;sk=q[zi+4>>2];a:{if(!sk){tk=q[zi+8>>2];if(q[tk>>2]==(zi|0)){break a}yk=zi+8|0;while(1){sk=q[yk>>2];yk=sk+8|0;tk=q[sk+8>>2];if((sk|0)!=q[tk>>2]){continue}break}break a}while(1){tk=sk;sk=q[sk>>2];if(sk){continue}break}}if(q[a>>2]==(zi|0)){q[a>>2]=tk}tk=a+8|0;q[tk>>2]=q[tk>>2]+ -1;$k(q[a+4>>2],zi);a=q[zi+28>>2];if(a){q[zi+32>>2]=a;An(a)}if(o[zi+27|0]<=-1){An(q[zi+16>>2])}An(zi)}function Uk(a,zi,zk){var Ak=0,Bk=0,Ck=0,Dk=0,Ek=0;Ak=Mm(40);o[a+8|0]=0;q[a+4>>2]=zi+4;q[a>>2]=Ak;zi=zk+8|0;q[Ak+24>>2]=q[zi>>2];Bk=q[zk+4>>2];q[Ak+16>>2]=q[zk>>2];q[Ak+20>>2]=Bk;q[zk>>2]=0;q[zk+4>>2]=0;q[zi>>2]=0;q[Ak+36>>2]=0;q[Ak+28>>2]=0;q[Ak+32>>2]=0;Ck=zk+16|0;Bk=q[Ck>>2];zi=q[zk+12>>2];Dk=Bk-zi|0;if(Dk){zi=Ak+28|0;Ha(zi,Dk);Bk=q[Ck>>2];Ek=q[zi>>2];zi=q[zk+12>>2]}Cn(Ek,zi,Bk-zi|0);o[a+8|0]=1}function Vk(a,zi,zk){var Fk=0;Fk=a+4|0;a=fk(a,zi);a:{if((Fk|0)==(a|0)){break a}zi=q[a+32>>2];a=q[a+28>>2];if((zi-a|0)!=4){break a}q[zk>>2]=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24)}}function Wk(a,zi,zk){var Gk=0,Hk=0,Ik=0,Jk=0;a:{zi=fk(a,zi);b:{if((zi|0)==(a+4|0)){break b}a=q[zi+28>>2];Gk=q[zi+32>>2];if((a|0)==(Gk|0)){break b}a=Gk-a|0;if(a&3){break b}Gk=a>>>2;Jk=zk+4|0;Hk=q[Jk>>2];a=q[zk>>2];Ik=Hk-a>>2;c:{if(Gk>>>0>Ik>>>0){Fa(zk,Gk-Ik|0);Hk=q[Jk>>2];a=q[zk>>2];break c}if(Gk>>>0>=Ik>>>0){break c}Hk=(Gk<<2)+a|0;q[zk+4>>2]=Hk}if((a|0)==(Hk|0)){break a}zk=a;a=q[zi+28>>2];Cn(zk,a,q[zi+32>>2]-a|0)}return}cn();F()}function Xk(a,zi,zk){var Kk=0;Kk=a+4|0;a=fk(a,zi);a:{if((Kk|0)==(a|0)){break a}zi=q[a+32>>2];a=q[a+28>>2];if((zi-a|0)!=8){break a}zi=r[a+4|0]|r[a+5|0]<<8|(r[a+6|0]<<16|r[a+7|0]<<24);q[zk>>2]=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);q[zk+4>>2]=zi}}function Yk(a,zi,zk){var Lk=0,Mk=0,Nk=0;Lk=a+4|0;a=fk(a,zi);a:{if((Lk|0)==(a|0)){break a}zi=a+32|0;Lk=q[zi>>2];Mk=q[a+28>>2];if((Lk|0)==(Mk|0)){break a}Wm(zk,Lk-Mk|0);zk=_m(zk);a=q[a+28>>2];Cn(zk,a,q[zi>>2]-a|0);Nk=1}return Nk}function Zk(a,zi,zk){var Ok=0,Pk=0,Qk=0,Rk=0;Ok=T+ -64|0;T=Ok;Pk=fk(a,zi);if((Pk|0)!=(a+4|0)){Tk(a,Pk)}Pk=0;q[Ok+16>>2]=0;q[Ok+8>>2]=0;q[Ok+12>>2]=0;Rk=q[zk>>2];Qk=q[zk+4>>2]-Rk|0;if(Qk){Ha(Ok+8|0,Qk);Rk=q[zk>>2];zk=q[Ok+8>>2]}else{zk=0}Cn(zk,Rk,Qk);Rk=Rm(Ok+24|0,zi);q[Ok+44>>2]=0;q[Ok+36>>2]=0;q[Ok+40>>2]=0;zi=q[Ok+12>>2];zk=q[Ok+8>>2];Qk=zi-zk|0;if(Qk){Ha(Ok+36|0,Qk);zk=q[Ok+8>>2];Pk=q[Ok+36>>2];zi=q[Ok+12>>2]}Cn(Pk,zk,zi-zk|0);zi=ph(a,Ok+60|0,Rk);if(!q[zi>>2]){Uk(Ok+48|0,a,Ok+24|0);zk=q[Ok+48>>2];q[zk+8>>2]=q[Ok+60>>2];q[zk>>2]=0;q[zk+4>>2]=0;q[zi>>2]=zk;Pk=q[q[a>>2]>>2];if(Pk){q[a>>2]=Pk;zk=q[zi>>2]}nh(q[a+4>>2],zk);a=a+8|0;q[a>>2]=q[a>>2]+1}a=q[Ok+36>>2];if(a){q[Ok+40>>2]=a;An(a)}if(o[Ok+35|0]<=-1){An(q[Ok+24>>2])}a=q[Ok+8>>2];if(a){q[Ok+12>>2]=a;An(a)}T=Ok- -64|0}function _k(a,zi,zk){var Tk=0,Uk=0;Tk=T-32|0;T=Tk;Uk=a+12|0;a:{if((fk(Uk,zi)|0)!=(a+16|0)){break a}q[Tk+16>>2]=zi;Sk(Tk+24|0,Uk,zi,Tk+16|0);a=q[Tk+24>>2];zi=q[zk>>2];q[zk>>2]=0;zk=a+28|0;a=q[zk>>2];q[zk>>2]=zi;if(!a){break a}Hc(a+12|0,q[a+16>>2]);Ic(a,q[a+4>>2]);An(a)}T=Tk+32|0}function $k(a,zi){var zk=0,Sk=0,Vk=0,Wk=0,Xk=0,Yk=0;a:{b:{Sk=zi;Vk=q[zi>>2];if(Vk){zk=q[zi+4>>2];if(!zk){break b}while(1){Sk=zk;zk=q[zk>>2];if(zk){continue}break}}Vk=q[Sk+4>>2];if(Vk){break b}Vk=0;Xk=0;break a}q[Vk+8>>2]=q[Sk+8>>2];Xk=1}Wk=q[Sk+8>>2];zk=q[Wk>>2];c:{if((zk|0)==(Sk|0)){q[Wk>>2]=Vk;if((a|0)==(Sk|0)){zk=0;a=Vk;break c}zk=q[Wk+4>>2];break c}q[Wk+4>>2]=Vk}d:{e:{f:{Yk=!r[Sk+12|0];if((zi|0)!=(Sk|0)){Wk=q[zi+8>>2];q[Sk+8>>2]=Wk;q[Wk+((q[q[zi+8>>2]>>2]!=(zi|0))<<2)>>2]=Sk;Wk=q[zi>>2];q[Sk>>2]=Wk;q[Wk+8>>2]=Sk;Wk=q[zi+4>>2];q[Sk+4>>2]=Wk;if(Wk){q[Wk+8>>2]=Sk}o[Sk+12|0]=r[zi+12|0];a=(a|0)==(zi|0)?Sk:a}if(!(Yk|!a)){if(!Xk){while(1){zi=r[zk+12|0];g:{Vk=q[zk+8>>2];if(q[Vk>>2]!=(zk|0)){if(!zi){o[zk+12|0]=1;o[Vk+12|0]=0;zi=Vk+4|0;Xk=q[zi>>2];Sk=q[Xk>>2];q[zi>>2]=Sk;if(Sk){q[Sk+8>>2]=Vk}q[Xk+8>>2]=q[Vk+8>>2];zi=q[Vk+8>>2];q[((Vk|0)==q[zi>>2]?zi:zi+4|0)>>2]=Xk;q[Xk>>2]=Vk;q[Vk+8>>2]=Xk;zi=q[zk>>2];a=(zi|0)==(a|0)?zk:a;zk=q[zi+4>>2]}Sk=q[zk>>2];if(!(r[Sk+12|0]?0:Sk)){zi=q[zk+4>>2];if(r[zi+12|0]?0:zi){break f}o[zk+12|0]=0;zk=q[zk+8>>2];h:{if((zk|0)==(a|0)){zk=a;break h}if(r[zk+12|0]){break g}}o[zk+12|0]=1;return}zi=q[zk+4>>2];if(zi){break f}break e}i:{if(zi){zi=zk;break i}o[zk+12|0]=1;o[Vk+12|0]=0;zi=q[zk+4>>2];q[Vk>>2]=zi;if(zi){q[zi+8>>2]=Vk}q[zk+8>>2]=q[Vk+8>>2];Sk=q[Vk+8>>2];j:{if((Vk|0)==q[Sk>>2]){q[Sk>>2]=zk;zi=q[Vk>>2];break j}q[Sk+4>>2]=zk}q[zk+4>>2]=Vk;q[Vk+8>>2]=zk;a=(a|0)==(Vk|0)?zk:a}Sk=q[zi>>2];k:{if(!(!Sk|r[Sk+12|0])){zk=zi;break k}zk=q[zi+4>>2];if(!(r[zk+12|0]?0:zk)){o[zi+12|0]=0;zk=q[zi+8>>2];if(r[zk+12|0]?(zk|0)!=(a|0):0){break g}o[zk+12|0]=1;return}if(Sk){if(!r[Sk+12|0]){zk=zi;break k}zk=q[zi+4>>2]}o[zk+12|0]=1;o[zi+12|0]=0;a=q[zk>>2];q[zi+4>>2]=a;if(a){q[a+8>>2]=zi}q[zk+8>>2]=q[zi+8>>2];a=q[zi+8>>2];q[(q[a>>2]==(zi|0)?a:a+4|0)>>2]=zk;q[zk>>2]=zi;q[zi+8>>2]=zk;Sk=zi}a=zk;zk=q[zk+8>>2];o[a+12|0]=r[zk+12|0];o[zk+12|0]=1;o[Sk+12|0]=1;zi=q[zk>>2];a=q[zi+4>>2];q[zk>>2]=a;if(a){q[a+8>>2]=zk}q[zi+8>>2]=q[zk+8>>2];a=q[zk+8>>2];q[((zk|0)==q[a>>2]?a:a+4|0)>>2]=zi;q[zi+4>>2]=zk;q[zk+8>>2]=zi;return}zi=q[zk+8>>2];zk=q[(q[zi>>2]==(zk|0)?zi+4|0:zi)>>2];continue}}o[Vk+12|0]=1}return}if(r[zi+12|0]){break e}Sk=zk;break d}o[Sk+12|0]=1;o[zk+12|0]=0;a=q[Sk+4>>2];q[zk>>2]=a;if(a){q[a+8>>2]=zk}q[Sk+8>>2]=q[zk+8>>2];a=q[zk+8>>2];q[(q[a>>2]==(zk|0)?a:a+4|0)>>2]=Sk;q[Sk+4>>2]=zk;q[zk+8>>2]=Sk;zi=zk}zk=q[Sk+8>>2];o[Sk+12|0]=r[zk+12|0];o[zk+12|0]=1;o[zi+12|0]=1;zi=q[zk+4>>2];a=q[zi>>2];q[zk+4>>2]=a;if(a){q[a+8>>2]=zk}q[zi+8>>2]=q[zk+8>>2];a=q[zk+8>>2];q[((zk|0)==q[a>>2]?a:a+4|0)>>2]=zi;q[zi>>2]=zk;q[zk+8>>2]=zi}function al(a){q[a>>2]=14380;Dn(a+4|0,0,80);return a}function bl(a,zi){var Zk=0;Zk=-1;a:{if((zi|0)==-1|(zi|0)>4){break a}zi=w(zi,12)+a|0;a=q[zi+20>>2];if((q[zi+24>>2]-a|0)<1){break a}Zk=q[a>>2]}return Zk}function cl(a){var zi=0,_k=0;zi=q[a+20>>2];a:{if((q[a+24>>2]-zi|0)<1){break a}zi=q[zi>>2];if((zi|0)==-1){break a}_k=q[q[a+8>>2]+(zi<<2)>>2]}return _k}function dl(a,$k){var al=0,bl=0,cl=0;al=q[a+8>>2];a=q[a+12>>2];a:{if((al|0)==(a|0)){break a}cl=a-al>>2;a=0;while(1){bl=q[(a<<2)+al>>2];if(q[bl+60>>2]==($k|0)){break a}a=a+1|0;if(a>>>0<cl>>>0){continue}break}bl=0}return bl}function el(a,$k){var dl=0,el=0;dl=q[a+8>>2];a=q[a+12>>2];if((dl|0)!=(a|0)){el=a-dl>>2;a=0;while(1){if(q[q[(a<<2)+dl>>2]+60>>2]==($k|0)){return a}a=a+1|0;if(a>>>0<el>>>0){continue}break}}return-1}function fl(a,$k){var fl=0,gl=0,hl=0,il=0,jl=0;fl=T-16|0;T=fl;gl=a+12|0;hl=q[gl>>2];il=q[a+8>>2];jl=q[$k>>2];q[$k>>2]=0;q[fl+8>>2]=jl;n[q[q[a>>2]+8>>2]](a,hl-il>>2,fl+8|0);$k=q[fl+8>>2];q[fl+8>>2]=0;if($k){Hb($k)}T=fl+16|0;return(q[gl>>2]-q[a+8>>2]>>2)+ -1|0}function gl(a,$k,kl){a=a|0;$k=$k|0;kl=kl|0;var ll=0,ml=0,nl=0,ol=0,pl=0,ql=0;ol=T-16|0;T=ol;q[ol+12>>2]=$k;pl=a+8|0;ll=q[a+12>>2];ql=q[a+8>>2];ml=ll-ql>>2;a:{if((ml|0)>($k|0)){break a}nl=$k+1|0;if(nl>>>0>ml>>>0){hl(pl,nl-ml|0);break a}if(nl>>>0>=ml>>>0){break a}ml=ql+(nl<<2)|0;if((ml|0)!=(ll|0)){while(1){ll=ll+ -4|0;nl=q[ll>>2];q[ll>>2]=0;if(nl){Hb(nl)}if((ll|0)!=(ml|0)){continue}break}}q[a+12>>2]=ml}ll=q[q[kl>>2]+56>>2];b:{if((ll|0)>4){break b}ll=w(ll,12)+a|0;ml=ll+24|0;a=q[ml>>2];if((a|0)!=q[ll+28>>2]){q[a>>2]=$k;q[ml>>2]=a+4;break b}il(ll+20|0,ol+12|0)}$k=q[kl>>2];a=q[ol+12>>2];q[$k+60>>2]=a;ll=q[pl>>2];q[kl>>2]=0;kl=ll+(a<<2)|0;a=q[kl>>2];q[kl>>2]=$k;if(a){Hb(a)}T=ol+16|0}function hl(a,$k){var kl=0,rl=0,sl=0,tl=0,ul=0,vl=0,wl=0,xl=0,yl=0;rl=q[a+8>>2];sl=a+4|0;kl=q[sl>>2];if(rl-kl>>2>>>0>=$k>>>0){a=$k<<2;xl=sl,yl=Dn(kl,0,a)+a|0,q[xl>>2]=yl;return}a:{sl=q[a>>2];tl=kl-sl>>2;ul=tl+$k|0;if(ul>>>0<1073741824){tl=tl<<2;rl=rl-sl|0;wl=rl>>1;rl=rl>>2>>>0<536870911?wl>>>0<ul>>>0?ul:wl:1073741823;if(rl){if(rl>>>0>=1073741824){break a}vl=Mm(rl<<2)}tl=tl+vl|0;Dn(tl,0,$k<<2);$k=(ul<<2)+vl|0;ul=(rl<<2)+vl|0;if((kl|0)!=(sl|0)){while(1){kl=kl+ -4|0;rl=q[kl>>2];q[kl>>2]=0;tl=tl+ -4|0;q[tl>>2]=rl;if((kl|0)!=(sl|0)){continue}break}sl=q[a>>2];kl=q[a+4>>2]}q[a>>2]=tl;q[a+8>>2]=ul;q[a+4>>2]=$k;if((kl|0)!=(sl|0)){while(1){kl=kl+ -4|0;a=q[kl>>2];q[kl>>2]=0;if(a){Hb(a)}if((kl|0)!=(sl|0)){continue}break}}if(sl){An(sl)}return}bn();F()}ab(14428);F()}function il(a,$k){var zl=0,Al=0,Bl=0,Cl=0,Dl=0,El=0;a:{Bl=q[a>>2];Dl=q[a+4>>2]-Bl|0;zl=Dl>>2;Al=zl+1|0;if(Al>>>0<1073741824){El=zl<<2;zl=q[a+8>>2]-Bl|0;Cl=zl>>1;Al=zl>>2>>>0<536870911?Cl>>>0<Al>>>0?Al:Cl:1073741823;zl=0;b:{if(!Al){break b}if(Al>>>0>=1073741824){break a}zl=Mm(Al<<2)}Cl=El+zl|0;q[Cl>>2]=q[$k>>2];$k=zl+(Al<<2)|0;Al=Cl+4|0;if((Dl|0)>=1){Cn(zl,Bl,Dl)}q[a>>2]=zl;q[a+8>>2]=$k;q[a+4>>2]=Al;if(Bl){An(Bl)}return}bn();F()}ab(14428);F()}function jl(a,$k){a=a|0;$k=$k|0;var Fl=0,Gl=0,Hl=0,Il=0,Jl=0,Kl=0,Ll=0;a:{if(($k|0)<0){break a}Fl=q[a+12>>2];Gl=q[a+8>>2];if(Fl-Gl>>2>>>0<=$k>>>0){break a}Gl=Gl+($k<<2)|0;Hl=q[Gl>>2];Kl=q[Hl+60>>2];Il=q[Hl+56>>2];Hl=Gl+4|0;b:{if((Hl|0)!=(Fl|0)){while(1){Ll=q[Hl>>2];q[Hl>>2]=0;Jl=q[Gl>>2];q[Gl>>2]=Ll;if(Jl){Hb(Jl)}Gl=Gl+4|0;Hl=Hl+4|0;if((Hl|0)!=(Fl|0)){continue}break}Fl=q[a+12>>2];if((Gl|0)==(Fl|0)){break b}}while(1){Fl=Fl+ -4|0;Hl=q[Fl>>2];q[Fl>>2]=0;if(Hl){Hb(Hl)}if((Fl|0)!=(Gl|0)){continue}break}}q[a+12>>2]=Gl;Fl=q[a+4>>2];if(Fl){kl(Fl,Kl)}c:{if((Il|0)>4){break c}d:{Gl=w(Il,12)+a|0;Fl=q[Gl+20>>2];Hl=Gl+24|0;Gl=q[Hl>>2];if((Fl|0)==(Gl|0)){break d}while(1){if(q[Fl>>2]==($k|0)){break d}Fl=Fl+4|0;if((Gl|0)!=(Fl|0)){continue}break}break c}if((Fl|0)==(Gl|0)){break c}Il=Fl+4|0;Gl=Gl-Il|0;Jl=Gl>>2;if(Gl){En(Fl,Il,Gl)}q[Hl>>2]=(Jl<<2)+Fl}Fl=q[a+24>>2];Gl=q[a+20>>2];if((Fl|0)!=(Gl|0)){Hl=Fl-Gl>>2;Fl=0;while(1){Il=Gl+(Fl<<2)|0;Jl=q[Il>>2];if((Jl|0)>($k|0)){q[Il>>2]=Jl+ -1}Fl=Fl+1|0;if(Fl>>>0<Hl>>>0){continue}break}}Fl=q[a+36>>2];Gl=q[a+32>>2];if((Fl|0)!=(Gl|0)){Hl=Fl-Gl>>2;Fl=0;while(1){Il=Gl+(Fl<<2)|0;Jl=q[Il>>2];if((Jl|0)>($k|0)){q[Il>>2]=Jl+ -1}Fl=Fl+1|0;if(Fl>>>0<Hl>>>0){continue}break}}Fl=q[a+48>>2];Gl=q[a+44>>2];if((Fl|0)!=(Gl|0)){Hl=Fl-Gl>>2;Fl=0;while(1){Il=Gl+(Fl<<2)|0;Jl=q[Il>>2];if((Jl|0)>($k|0)){q[Il>>2]=Jl+ -1}Fl=Fl+1|0;if(Fl>>>0<Hl>>>0){continue}break}}Fl=q[a+60>>2];Gl=q[a+56>>2];if((Fl|0)!=(Gl|0)){Hl=Fl-Gl>>2;Fl=0;while(1){Il=Gl+(Fl<<2)|0;Jl=q[Il>>2];if((Jl|0)>($k|0)){q[Il>>2]=Jl+ -1}Fl=Fl+1|0;if(Fl>>>0<Hl>>>0){continue}break}}Fl=q[a+72>>2];a=q[a+68>>2];if((Fl|0)==(a|0)){break a}Gl=Fl-a>>2;Fl=0;while(1){Hl=a+(Fl<<2)|0;Il=q[Hl>>2];if((Il|0)>($k|0)){q[Hl>>2]=Il+ -1}Fl=Fl+1|0;if(Fl>>>0<Gl>>>0){continue}break}}}function kl(a,$k){var Ml=0,Nl=0,Ol=0,Pl=0;a:{if(($k|0)<0){break a}Ml=q[a+28>>2];Ol=q[a+24>>2];while(1){Nl=Ol;if((Ml|0)==(Nl|0)){break a}Ol=Nl+4|0;if(q[q[Nl>>2]+24>>2]!=($k|0)){continue}break}b:{if((Ml|0)!=(Ol|0)){while(1){$k=q[Ol>>2];q[Ol>>2]=0;Pl=q[Nl>>2];q[Nl>>2]=$k;if(Pl){Hc(Pl+12|0,q[Pl+16>>2]);Ic(Pl,q[Pl+4>>2]);An(Pl)}Nl=Nl+4|0;Ol=Ol+4|0;if((Ml|0)!=(Ol|0)){continue}break}Ml=q[a+28>>2];if((Ml|0)==(Nl|0)){break b}}while(1){Ml=Ml+ -4|0;$k=q[Ml>>2];q[Ml>>2]=0;if($k){Hc($k+12|0,q[$k+16>>2]);Ic($k,q[$k+4>>2]);An($k)}if((Nl|0)!=(Ml|0)){continue}break}}q[a+28>>2]=Nl}}function ll(a){a=a|0;An(wk(a))}function ml(a,$k,Ql){return(q[a+12>>2]+ -1|0)==(Ql|0)?0:Ql+1|0}function nl(a,$k,Ql){var Rl=0,Sl=0,Tl=0;a:{if($k>>>0<=63){$k=0;Rl=q[a+12>>2];if(Rl>>>0<2){break a}Ql=q[Ql>>2];a=1;while(1){$k=t[Ql+($k<<2)>>2]>t[Ql+(a<<2)>>2]?a:$k;a=a+1|0;if(a>>>0<Rl>>>0){continue}break}break a}$k=q[a+580>>2];Rl=32-$k|0;if((Rl|0)>=4){Ql=q[a+576>>2];if((Ql|0)==q[a+568>>2]){return 0}Rl=q[Ql>>2];Sl=$k+4|0;q[a+580>>2]=Sl;$k=Rl<<$k>>>28;if((Sl|0)!=32){break a}q[a+580>>2]=0;q[a+576>>2]=Ql+4;return $k}Ql=q[a+576>>2];Sl=Ql+4|0;if((Sl|0)==q[a+568>>2]){return 0}Tl=q[Ql>>2];q[a+576>>2]=Sl;q[a+580>>2]=$k+ -28;a=60-$k|0;$k=q[Ql+4>>2]>>>a|Tl<<$k>>>a-Rl}return $k}function ol(a,$k,Ql){var Ul=0,Vl=0,Wl=0,Xl=0,Zl=0,_l=0,$l=0,am=0,bm=0;Zl=T-672|0;T=Zl;Vl=q[$k+12>>2];a:{Xl=q[$k+20>>2];Wl=q[$k+16>>2];Ul=Wl+4|0;if(Ul>>>0<4){Xl=Xl+1|0}b:{if((Vl|0)<(Xl|0)?1:(Vl|0)<=(Xl|0)?t[$k+8>>2]>=Ul>>>0?0:1:0){break b}Ul=Wl+q[$k>>2]|0;$l=r[Ul|0]|r[Ul+1|0]<<8|(r[Ul+2|0]<<16|r[Ul+3|0]<<24);q[a>>2]=$l;Ul=q[$k+20>>2];Vl=Ul;am=q[$k+16>>2];Xl=am+4|0;if(Xl>>>0<4){Ul=Ul+1|0}q[$k+16>>2]=Xl;q[$k+20>>2]=Ul;if($l>>>0>31){break b}Wl=q[$k+12>>2];Ul=am+8|0;if(Ul>>>0<8){Vl=Vl+1|0}if((Wl|0)<(Vl|0)?1:(Wl|0)<=(Vl|0)?t[$k+8>>2]>=Ul>>>0?0:1:0){break b}Ul=Xl+q[$k>>2]|0;q[a+4>>2]=r[Ul|0]|r[Ul+1|0]<<8|(r[Ul+2|0]<<16|r[Ul+3|0]<<24);Ul=q[$k+20>>2];Vl=Ul;am=q[$k+16>>2];Xl=am+4|0;if(Xl>>>0<4){Ul=Ul+1|0}q[$k+16>>2]=Xl;q[$k+20>>2]=Ul;$l=q[$k+12>>2];Ul=Vl;Wl=am+8|0;if(Wl>>>0<8){Ul=Ul+1|0}if(($l|0)<(Ul|0)?1:($l|0)<=(Ul|0)?t[$k+8>>2]>=Wl>>>0?0:1:0){break b}Ul=Xl+q[$k>>2]|0;$l=r[Ul|0]|r[Ul+1|0]<<8|(r[Ul+2|0]<<16|r[Ul+3|0]<<24);q[a+12>>2]=$l;Vl=q[$k+20>>2];Wl=Vl;Ul=$k;bm=Ul;am=q[Ul+16>>2];Xl=am+4|0;if(Xl>>>0<4){Vl=Vl+1|0}q[bm+16>>2]=Xl;q[Ul+20>>2]=Vl;Ul=q[a+20>>2];if((Ul|0)!=($l|0)?Ul:0){break b}Vl=q[$k+12>>2];Ul=Wl;Wl=am+8|0;if(Wl>>>0<8){Ul=Ul+1|0}if((Vl|0)<(Ul|0)?1:(Vl|0)<=(Ul|0)?t[$k+8>>2]>=Wl>>>0?0:1:0){break b}Ul=Xl+q[$k>>2]|0;Vl=r[Ul|0]|r[Ul+1|0]<<8|(r[Ul+2|0]<<16|r[Ul+3|0]<<24);q[a+16>>2]=Vl;Ul=$k;bm=Ul;Xl=q[Ul+20>>2];Wl=q[Ul+16>>2]+4|0;if(Wl>>>0<4){Xl=Xl+1|0}q[bm+16>>2]=Wl;q[Ul+20>>2]=Xl;if(Vl>>>0>=7){q[Zl>>2]=Vl;Yl(14496,Zl);break b}q[Zl+664>>2]=Ql;c:{if(!$l){break c}Vl=q[Ql>>2];d:{if((q[Ql+8>>2]-Vl|0)/12>>>0>=$l>>>0){break d}if($l>>>0>=357913942){break a}am=Ql+4|0;_l=q[am>>2];Ul=w($l,12);Wl=Mm(Ul);Xl=Ul+Wl|0;Ul=Wl+w((_l-Vl|0)/12|0,12)|0;e:{if((Vl|0)==(_l|0)){Wl=Ul;break e}Wl=Ul;while(1){Wl=Wl+ -12|0;_l=_l+ -12|0;q[Wl>>2]=q[_l>>2];q[Wl+4>>2]=q[_l+4>>2];q[Wl+8>>2]=q[_l+8>>2];if((Vl|0)!=(_l|0)){continue}break}_l=Vl}q[Ql>>2]=Wl;q[Ql+8>>2]=Xl;q[am>>2]=Ul;if(!_l){break d}An(_l)}Ul=q[a+16>>2];if(Ul>>>0>6){_l=0;break b}f:{switch(Ul-1|0){default:Ul=Od(Zl+8|0,3);pl(Ul,$k,Zl+664|0);Nd(Ul);break c;case 0:Ul=Od(Zl+8|0,3);ql(Ul,$k,Zl+664|0);Nd(Ul);break c;case 1:Ul=Sd(Zl+8|0,3);rl(Ul,$k,Zl+664|0);Rd(Ul);break c;case 2:Ul=Sd(Zl+8|0,3);sl(Ul,$k,Zl+664|0);Rd(Ul);break c;case 3:Ul=Wd(Zl+8|0,3);tl(Ul,$k,Zl+664|0);Vd(Ul);break c;case 4:Ul=Wd(Zl+8|0,3);ul(Ul,$k,Zl+664|0);Vd(Ul);break c;case 5:break f}}Ul=Wd(Zl+8|0,3);vl(Ul,$k,Zl+664|0);Vd(Ul)}_l=q[a+12>>2]==((q[Ql+4>>2]-q[Ql>>2]|0)/12|0)}T=Zl+672|0;return _l}ab(14557);F()}function pl(a,$k,Ql){var Yl=0,cm=0,dm=0,em=0,fm=0;cm=q[$k+12>>2];dm=q[$k+20>>2];em=q[$k+16>>2];Yl=em+4|0;if(Yl>>>0<4){dm=dm+1|0}a:{if((cm|0)<(dm|0)?1:(cm|0)<=(dm|0)?t[$k+8>>2]>=Yl>>>0?0:1:0){break a}Yl=em+q[$k>>2]|0;Yl=r[Yl|0]|r[Yl+1|0]<<8|(r[Yl+2|0]<<16|r[Yl+3|0]<<24);q[a>>2]=Yl;cm=q[$k+20>>2];em=cm;fm=q[$k+16>>2];dm=fm+4|0;if(dm>>>0<4){cm=cm+1|0}q[$k+16>>2]=dm;q[$k+20>>2]=cm;if(Yl>>>0>32){break a}cm=q[$k+12>>2];Yl=fm+8|0;if(Yl>>>0<8){em=em+1|0}if((cm|0)<(em|0)?1:(cm|0)<=(em|0)?t[$k+8>>2]>=Yl>>>0?0:1:0){break a}Yl=dm+q[$k>>2]|0;cm=r[Yl|0]|r[Yl+1|0]<<8|(r[Yl+2|0]<<16|r[Yl+3|0]<<24);q[a+4>>2]=cm;dm=q[$k+20>>2];em=q[$k+16>>2]+4|0;if(em>>>0<4){dm=dm+1|0}q[$k+16>>2]=em;q[$k+20>>2]=dm;if(!cm){break a}q[a+8>>2]=0;if(!$g(a+16|0,$k)){break a}if(!$g(a+36|0,$k)){break a}if(!$g(a+56|0,$k)){break a}if(!$g(a+76|0,$k)){break a}wl(a,q[a+4>>2],Ql)}}function ql(a,$k,Ql){var gm=0,hm=0,im=0,jm=0,km=0;hm=q[$k+12>>2];im=q[$k+20>>2];jm=q[$k+16>>2];gm=jm+4|0;if(gm>>>0<4){im=im+1|0}a:{if((hm|0)<(im|0)?1:(hm|0)<=(im|0)?t[$k+8>>2]>=gm>>>0?0:1:0){break a}gm=jm+q[$k>>2]|0;gm=r[gm|0]|r[gm+1|0]<<8|(r[gm+2|0]<<16|r[gm+3|0]<<24);q[a>>2]=gm;hm=q[$k+20>>2];jm=hm;km=q[$k+16>>2];im=km+4|0;if(im>>>0<4){hm=hm+1|0}q[$k+16>>2]=im;q[$k+20>>2]=hm;if(gm>>>0>32){break a}hm=q[$k+12>>2];gm=km+8|0;if(gm>>>0<8){jm=jm+1|0}if((hm|0)<(jm|0)?1:(hm|0)<=(jm|0)?t[$k+8>>2]>=gm>>>0?0:1:0){break a}gm=im+q[$k>>2]|0;hm=r[gm|0]|r[gm+1|0]<<8|(r[gm+2|0]<<16|r[gm+3|0]<<24);q[a+4>>2]=hm;im=q[$k+20>>2];jm=q[$k+16>>2]+4|0;if(jm>>>0<4){im=im+1|0}q[$k+16>>2]=jm;q[$k+20>>2]=im;if(!hm){break a}q[a+8>>2]=0;if(!$g(a+16|0,$k)){break a}if(!$g(a+36|0,$k)){break a}if(!$g(a+56|0,$k)){break a}if(!$g(a+76|0,$k)){break a}xl(a,q[a+4>>2],Ql)}}function rl(a,$k,Ql){var lm=0,mm=0,nm=0,om=0,pm=0;mm=q[$k+12>>2];nm=q[$k+20>>2];om=q[$k+16>>2];lm=om+4|0;if(lm>>>0<4){nm=nm+1|0}a:{if((mm|0)<(nm|0)?1:(mm|0)<=(nm|0)?t[$k+8>>2]>=lm>>>0?0:1:0){break a}lm=om+q[$k>>2]|0;lm=r[lm|0]|r[lm+1|0]<<8|(r[lm+2|0]<<16|r[lm+3|0]<<24);q[a>>2]=lm;mm=q[$k+20>>2];om=mm;pm=q[$k+16>>2];nm=pm+4|0;if(nm>>>0<4){mm=mm+1|0}q[$k+16>>2]=nm;q[$k+20>>2]=mm;if(lm>>>0>32){break a}mm=q[$k+12>>2];lm=pm+8|0;if(lm>>>0<8){om=om+1|0}if((mm|0)<(om|0)?1:(mm|0)<=(om|0)?t[$k+8>>2]>=lm>>>0?0:1:0){break a}lm=nm+q[$k>>2]|0;mm=r[lm|0]|r[lm+1|0]<<8|(r[lm+2|0]<<16|r[lm+3|0]<<24);q[a+4>>2]=mm;nm=q[$k+20>>2];om=q[$k+16>>2]+4|0;if(om>>>0<4){nm=nm+1|0}q[$k+16>>2]=om;q[$k+20>>2]=nm;if(!mm){break a}q[a+8>>2]=0;if(!bh(a+16|0,$k)){break a}if(!$g(a+32|0,$k)){break a}if(!$g(a+52|0,$k)){break a}if(!$g(a+72|0,$k)){break a}yl(a,q[a+4>>2],Ql)}}function sl(a,$k,Ql){var qm=0,rm=0,sm=0,tm=0,um=0;rm=q[$k+12>>2];sm=q[$k+20>>2];tm=q[$k+16>>2];qm=tm+4|0;if(qm>>>0<4){sm=sm+1|0}a:{if((rm|0)<(sm|0)?1:(rm|0)<=(sm|0)?t[$k+8>>2]>=qm>>>0?0:1:0){break a}qm=tm+q[$k>>2]|0;qm=r[qm|0]|r[qm+1|0]<<8|(r[qm+2|0]<<16|r[qm+3|0]<<24);q[a>>2]=qm;rm=q[$k+20>>2];tm=rm;um=q[$k+16>>2];sm=um+4|0;if(sm>>>0<4){rm=rm+1|0}q[$k+16>>2]=sm;q[$k+20>>2]=rm;if(qm>>>0>32){break a}rm=q[$k+12>>2];qm=um+8|0;if(qm>>>0<8){tm=tm+1|0}if((rm|0)<(tm|0)?1:(rm|0)<=(tm|0)?t[$k+8>>2]>=qm>>>0?0:1:0){break a}qm=sm+q[$k>>2]|0;rm=r[qm|0]|r[qm+1|0]<<8|(r[qm+2|0]<<16|r[qm+3|0]<<24);q[a+4>>2]=rm;sm=q[$k+20>>2];tm=q[$k+16>>2]+4|0;if(tm>>>0<4){sm=sm+1|0}q[$k+16>>2]=tm;q[$k+20>>2]=sm;if(!rm){break a}q[a+8>>2]=0;if(!bh(a+16|0,$k)){break a}if(!$g(a+32|0,$k)){break a}if(!$g(a+52|0,$k)){break a}if(!$g(a+72|0,$k)){break a}zl(a,q[a+4>>2],Ql)}}function tl(a,$k,Ql){var vm=0,wm=0,xm=0,ym=0,zm=0;wm=q[$k+12>>2];xm=q[$k+20>>2];ym=q[$k+16>>2];vm=ym+4|0;if(vm>>>0<4){xm=xm+1|0}a:{if((wm|0)<(xm|0)?1:(wm|0)<=(xm|0)?t[$k+8>>2]>=vm>>>0?0:1:0){break a}vm=ym+q[$k>>2]|0;vm=r[vm|0]|r[vm+1|0]<<8|(r[vm+2|0]<<16|r[vm+3|0]<<24);q[a>>2]=vm;wm=q[$k+20>>2];ym=wm;zm=q[$k+16>>2];xm=zm+4|0;if(xm>>>0<4){wm=wm+1|0}q[$k+16>>2]=xm;q[$k+20>>2]=wm;if(vm>>>0>32){break a}wm=q[$k+12>>2];vm=zm+8|0;if(vm>>>0<8){ym=ym+1|0}if((wm|0)<(ym|0)?1:(wm|0)<=(ym|0)?t[$k+8>>2]>=vm>>>0?0:1:0){break a}vm=xm+q[$k>>2]|0;wm=r[vm|0]|r[vm+1|0]<<8|(r[vm+2|0]<<16|r[vm+3|0]<<24);q[a+4>>2]=wm;xm=q[$k+20>>2];ym=q[$k+16>>2]+4|0;if(ym>>>0<4){xm=xm+1|0}q[$k+16>>2]=ym;q[$k+20>>2]=xm;if(!wm){break a}q[a+8>>2]=0;vm=0;while(1){if(!bh(((vm<<4)+a|0)+16|0,$k)){break a}vm=vm+1|0;if((vm|0)!=32){continue}break}if(!bh(a+528|0,$k)){break a}if(!$g(a+544|0,$k)){break a}if(!$g(a+564|0,$k)){break a}if(!$g(a+584|0,$k)){break a}Al(a,q[a+4>>2],Ql)}}function ul(a,$k,Ql){var Am=0,Bm=0,Cm=0,Dm=0,Em=0;Bm=q[$k+12>>2];Cm=q[$k+20>>2];Dm=q[$k+16>>2];Am=Dm+4|0;if(Am>>>0<4){Cm=Cm+1|0}a:{if((Bm|0)<(Cm|0)?1:(Bm|0)<=(Cm|0)?t[$k+8>>2]>=Am>>>0?0:1:0){break a}Am=Dm+q[$k>>2]|0;Am=r[Am|0]|r[Am+1|0]<<8|(r[Am+2|0]<<16|r[Am+3|0]<<24);q[a>>2]=Am;Bm=q[$k+20>>2];Dm=Bm;Em=q[$k+16>>2];Cm=Em+4|0;if(Cm>>>0<4){Bm=Bm+1|0}q[$k+16>>2]=Cm;q[$k+20>>2]=Bm;if(Am>>>0>32){break a}Bm=q[$k+12>>2];Am=Em+8|0;if(Am>>>0<8){Dm=Dm+1|0}if((Bm|0)<(Dm|0)?1:(Bm|0)<=(Dm|0)?t[$k+8>>2]>=Am>>>0?0:1:0){break a}Am=Cm+q[$k>>2]|0;Bm=r[Am|0]|r[Am+1|0]<<8|(r[Am+2|0]<<16|r[Am+3|0]<<24);q[a+4>>2]=Bm;Cm=q[$k+20>>2];Dm=q[$k+16>>2]+4|0;if(Dm>>>0<4){Cm=Cm+1|0}q[$k+16>>2]=Dm;q[$k+20>>2]=Cm;if(!Bm){break a}q[a+8>>2]=0;Am=0;while(1){if(!bh(((Am<<4)+a|0)+16|0,$k)){break a}Am=Am+1|0;if((Am|0)!=32){continue}break}if(!bh(a+528|0,$k)){break a}if(!$g(a+544|0,$k)){break a}if(!$g(a+564|0,$k)){break a}if(!$g(a+584|0,$k)){break a}Bl(a,q[a+4>>2],Ql)}}function vl(a,$k,Ql){var Fm=0,Gm=0,Hm=0,Im=0,Jm=0;Gm=q[$k+12>>2];Hm=q[$k+20>>2];Im=q[$k+16>>2];Fm=Im+4|0;if(Fm>>>0<4){Hm=Hm+1|0}a:{if((Gm|0)<(Hm|0)?1:(Gm|0)<=(Hm|0)?t[$k+8>>2]>=Fm>>>0?0:1:0){break a}Fm=Im+q[$k>>2]|0;Fm=r[Fm|0]|r[Fm+1|0]<<8|(r[Fm+2|0]<<16|r[Fm+3|0]<<24);q[a>>2]=Fm;Gm=q[$k+20>>2];Im=Gm;Jm=q[$k+16>>2];Hm=Jm+4|0;if(Hm>>>0<4){Gm=Gm+1|0}q[$k+16>>2]=Hm;q[$k+20>>2]=Gm;if(Fm>>>0>32){break a}Gm=q[$k+12>>2];Fm=Jm+8|0;if(Fm>>>0<8){Im=Im+1|0}if((Gm|0)<(Im|0)?1:(Gm|0)<=(Im|0)?t[$k+8>>2]>=Fm>>>0?0:1:0){break a}Fm=Hm+q[$k>>2]|0;Gm=r[Fm|0]|r[Fm+1|0]<<8|(r[Fm+2|0]<<16|r[Fm+3|0]<<24);q[a+4>>2]=Gm;Hm=q[$k+20>>2];Im=q[$k+16>>2]+4|0;if(Im>>>0<4){Hm=Hm+1|0}q[$k+16>>2]=Im;q[$k+20>>2]=Hm;if(!Gm){break a}q[a+8>>2]=0;Fm=0;while(1){if(!bh(((Fm<<4)+a|0)+16|0,$k)){break a}Fm=Fm+1|0;if((Fm|0)!=32){continue}break}if(!bh(a+528|0,$k)){break a}if(!$g(a+544|0,$k)){break a}if(!$g(a+564|0,$k)){break a}if(!$g(a+584|0,$k)){break a}Cl(a,q[a+4>>2],Ql)}}function wl(a,$k,Ql){var Km=0,Lm=0,Nm=0,Om=0,Pm=0,Qm=0,Rm=0,Sm=0,Tm=0,Um=0,Vm=0,Wm=0,Xm=0,Ym=0,Zm=0,_m=0,$m=0,an=0,cn=0,dn=0,en=0,fn=0,gn=0,hn=0,jn=0,kn=0,ln=0;Nm=T-48|0;T=Nm;Km=q[a+12>>2];q[Nm+16>>2]=0;q[Nm+8>>2]=0;q[Nm+12>>2]=0;a:{if(Km){if(Km>>>0>=1073741824){break a}Lm=Km<<2;Pm=Mm(Lm);q[Nm+8>>2]=Pm;q[Nm+12>>2]=Pm;q[Nm+16>>2]=Lm+Pm;Om=Dn(Pm,0,Lm);Lm=Km;while(1){Om=Om+4|0;Lm=Lm+ -1|0;if(Lm){continue}break}q[Nm+12>>2]=Om}Lm=q[a+120>>2];Rm=q[Lm>>2];if(Rm){q[Lm+4>>2]=Rm;An(Rm);q[Lm+8>>2]=0;q[Lm>>2]=0;q[Lm+4>>2]=0;Om=q[Nm+12>>2];Pm=q[Nm+8>>2];Km=q[a+12>>2]}q[Lm>>2]=Pm;q[Lm+4>>2]=Om;q[Lm+8>>2]=q[Nm+16>>2];Om=0;q[Nm+16>>2]=0;q[Nm+8>>2]=0;q[Nm+12>>2]=0;Lm=0;b:{if(Km){if(Km>>>0>=1073741824){break b}Rm=Km<<2;Lm=Mm(Rm);q[Nm+8>>2]=Lm;q[Nm+12>>2]=Lm;q[Nm+16>>2]=Lm+Rm;Om=Dn(Lm,0,Rm);while(1){Om=Om+4|0;Km=Km+ -1|0;if(Km){continue}break}q[Nm+12>>2]=Om}Km=q[a+132>>2];Rm=q[Km>>2];if(Rm){q[Km+4>>2]=Rm;An(Rm);q[Km+8>>2]=0;q[Km>>2]=0;q[Km+4>>2]=0;Om=q[Nm+12>>2];Lm=q[Nm+8>>2]}q[Km>>2]=Lm;q[Km+4>>2]=Om;q[Km+8>>2]=q[Nm+16>>2];Lm=Nm+24|0;q[Lm>>2]=0;q[Lm+4>>2]=0;Rm=Nm+16|0;q[Rm>>2]=0;q[Rm+4>>2]=0;q[Nm+8>>2]=0;q[Nm+12>>2]=0;re(Nm+8|0);Qm=q[Rm>>2];Rm=q[Nm+12>>2];Km=0;c:{if((Qm|0)==(Rm|0)){break c}Km=q[Lm>>2]+q[Nm+28>>2]|0;Lm=(Km>>>0)/341|0;Km=q[Rm+(Lm<<2)>>2]+w(Km-w(Lm,341)|0,12)|0}q[Km+4>>2]=0;q[Km+8>>2]=0;q[Km>>2]=$k;Lm=q[Nm+28>>2];Km=Lm+1|0;q[Nm+28>>2]=Km;d:{if(Km>>>0<Lm>>>0){break d}cn=a+132|0;$m=a+120|0;dn=a+108|0;en=a+96|0;Zm=a+48|0;fn=a+40|0;_m=a+28|0;gn=a+20|0;jn=a+80|0;while(1){Pm=q[Nm+12>>2];Qm=q[Nm+24>>2];Om=Km+ -1|0;Lm=Qm+Om|0;Rm=(Lm>>>0)/341|0;Lm=q[Pm+(Rm<<2)>>2]+w(Lm-w(Rm,341)|0,12)|0;Um=q[Lm+8>>2];Tm=q[Lm+4>>2];Rm=q[Lm>>2];q[Nm+28>>2]=Om;Lm=q[Nm+16>>2];Om=Lm-Pm|0;if(((Om?w(Om>>2,341)+ -1|0:0)-(Km+Qm|0)|0)+1>>>0>=682){An(q[Lm+ -4>>2]);q[Nm+16>>2]=q[Nm+16>>2]+ -4}if(Rm>>>0>$k>>>0){break d}Km=q[$m>>2];Pm=w(Um,12);Vm=Pm+q[cn>>2]|0;Om=ml(a,Vm,Tm);if(Om>>>0>=t[a+12>>2]){break d}Qm=Km+Pm|0;e:{f:{Tm=Om<<2;Lm=q[a>>2]-q[Tm+q[Vm>>2]>>2]|0;if(!Lm){if(!Rm){break f}Lm=0;while(1){Km=q[Qm>>2];Pm=q[Km>>2];q[Nm+32>>2]=Pm;q[Nm+36>>2]=q[Km+4>>2];q[Nm+40>>2]=q[Km+8>>2];Om=q[Ql>>2];Um=Om+4|0;Km=q[Um>>2];g:{if(Km>>>0<t[Om+8>>2]){q[Km>>2]=Pm;q[Km+4>>2]=q[Nm+36>>2];q[Km+8>>2]=q[Nm+40>>2];q[Um>>2]=Km+12;break g}Dl(Om,Nm+32|0)}q[a+8>>2]=q[a+8>>2]+1;Lm=Lm+1|0;if((Rm|0)!=(Lm|0)){continue}break}break f}h:{i:{j:{k:{if(Rm>>>0<=2){Pm=q[dn>>2];q[Pm>>2]=Om;Lm=1;Km=q[a+12>>2];if(Km>>>0>1){break k}break h}if(t[a+8>>2]>t[a+4>>2]){break d}Km=q[$m>>2];Xm=Um+1|0;Vm=w(Xm,12);Sm=Km+Vm|0;if((Sm|0)!=(Qm|0)){hd(Sm,q[Qm>>2],q[Qm+4>>2]);Km=q[$m>>2]}Km=Tm+q[Km+Vm>>2]|0;q[Km>>2]=q[Km>>2]+(1<<Lm+ -1);Km=z(Rm)^31;Lm=q[a+32>>2];Sm=32-Lm|0;l:{if((Km|0)<=(Sm|0)){Qm=q[_m>>2];if((Qm|0)==q[gn>>2]){Lm=0;break l}Sm=q[Qm>>2];Wm=Km+Lm|0;q[a+32>>2]=Wm;Lm=Sm<<Lm>>>32-Km;if((Wm|0)!=32){break l}q[a+32>>2]=0;q[_m>>2]=Qm+4;break l}Qm=q[_m>>2];Wm=Qm+4|0;if((Wm|0)==q[gn>>2]){Lm=0;break l}an=q[Qm>>2];q[_m>>2]=Wm;Sm=Km-Sm|0;q[a+32>>2]=Sm;Lm=q[Qm+4>>2]>>>32-Sm|an<<Lm>>>32-Km}Km=(Rm>>>1)-Lm|0;Lm=Rm-Km|0;m:{if((Lm|0)==(Km|0)){Lm=Km;break m}Rm=q[a+88>>2];if((Rm|0)==q[jn>>2]){break j}Qm=q[Rm>>2];Sm=q[a+92>>2];Wm=Sm+1|0;q[a+92>>2]=Wm;Qm=Qm&-2147483648>>>Sm;n:{if((Wm|0)==32){q[a+92>>2]=0;q[a+88>>2]=Rm+4;if(Qm){break n}break j}if(!Qm){break j}}}Rm=Lm;Lm=Km;break i}while(1){Om=(Km+ -1|0)==(Om|0)?0:Om+1|0;q[Pm+(Lm<<2)>>2]=Om;Lm=Lm+1|0;Km=q[a+12>>2];if(Lm>>>0<Km>>>0){continue}break}break h}Rm=Km}Km=q[cn>>2];Qm=Km+Pm|0;Pm=q[Qm>>2];Tm=Pm+Tm|0;q[Tm>>2]=q[Tm>>2]+1;hd(Km+Vm|0,Pm,q[Qm+4>>2]);if(Lm){Pm=q[Nm+28>>2]+q[Nm+24>>2]|0;Qm=q[Nm+16>>2];Km=q[Nm+12>>2];Vm=Qm-Km|0;if((Pm|0)==((Vm?w(Vm>>2,341)+ -1|0:0)|0)){re(Nm+8|0);Pm=q[Nm+24>>2]+q[Nm+28>>2]|0;Qm=q[Nm+16>>2];Km=q[Nm+12>>2]}if((Km|0)==(Qm|0)){Km=0}else{Qm=Km;Km=(Pm>>>0)/341|0;Km=q[Qm+(Km<<2)>>2]+w(Pm-w(Km,341)|0,12)|0}q[Km+8>>2]=Um;q[Km+4>>2]=Om;q[Km>>2]=Lm;q[Nm+28>>2]=q[Nm+28>>2]+1}if(!Rm){break f}Lm=q[Nm+28>>2]+q[Nm+24>>2]|0;Pm=q[Nm+16>>2];Km=q[Nm+12>>2];Qm=Pm-Km|0;if((Lm|0)==((Qm?w(Qm>>2,341)+ -1|0:0)|0)){re(Nm+8|0);Lm=q[Nm+24>>2]+q[Nm+28>>2]|0;Pm=q[Nm+16>>2];Km=q[Nm+12>>2]}Qm=0;o:{if((Km|0)==(Pm|0)){break o}Qm=Km;Km=(Lm>>>0)/341|0;Qm=q[Qm+(Km<<2)>>2]+w(Lm-w(Km,341)|0,12)|0}q[Qm+8>>2]=Xm;q[Qm+4>>2]=Om;q[Qm>>2]=Rm;Km=q[Nm+28>>2]+1|0;q[Nm+28>>2]=Km;break e}if(!Rm){break f}Um=0;while(1){p:{if(!Km){Lm=q[en>>2];break p}Lm=q[en>>2];Wm=q[dn>>2];an=q[Qm>>2];kn=q[Vm>>2];Km=0;while(1){Tm=Wm+(Km<<2)|0;q[(q[Tm>>2]<<2)+Lm>>2]=0;Pm=q[Tm>>2]<<2;Om=q[a>>2]-q[Pm+kn>>2]|0;q:{if(!Om){break q}Pm=Lm+Pm|0;Xm=q[a+52>>2];Ym=32-Xm|0;if((Om|0)<=(Ym|0)){Sm=q[Zm>>2];if((Sm|0)==q[fn>>2]){q[Pm>>2]=0;break q}q[Pm>>2]=q[Sm>>2]<<Xm>>>32-Om;Om=Om+q[a+52>>2]|0;q[a+52>>2]=Om;if((Om|0)!=32){break q}q[a+52>>2]=0;q[Zm>>2]=Sm+4;break q}Sm=q[Zm>>2];hn=Sm+4|0;if((hn|0)==q[fn>>2]){q[Pm>>2]=0;break q}ln=q[Sm>>2];q[Zm>>2]=hn;Ym=Om-Ym|0;q[a+52>>2]=Ym;q[Pm>>2]=q[Sm+4>>2]>>>32-Ym|ln<<Xm>>>32-Om}Om=q[Tm>>2]<<2;Pm=Om+Lm|0;q[Pm>>2]=q[Pm>>2]|q[Om+an>>2];Km=Km+1|0;if(Km>>>0<t[a+12>>2]){continue}break}}Om=q[Lm>>2];q[Nm+32>>2]=Om;q[Nm+36>>2]=q[Lm+4>>2];q[Nm+40>>2]=q[Lm+8>>2];Lm=q[Ql>>2];Pm=Lm+4|0;Km=q[Pm>>2];r:{if(Km>>>0<t[Lm+8>>2]){q[Km>>2]=Om;q[Km+4>>2]=q[Nm+36>>2];q[Km+8>>2]=q[Nm+40>>2];q[Pm>>2]=Km+12;break r}Dl(Lm,Nm+32|0)}q[a+8>>2]=q[a+8>>2]+1;Um=Um+1|0;if((Um|0)==(Rm|0)){break f}Km=q[a+12>>2];continue}}Km=q[Nm+28>>2]}if(Km){continue}break}}se(Nm+8|0);a=q[Nm+12>>2];$k=q[Nm+16>>2];s:{if((a|0)==($k|0)){break s}while(1){An(q[a>>2]);a=a+4|0;if(($k|0)!=(a|0)){continue}break}a=q[Nm+16>>2];$k=q[Nm+12>>2];if((a|0)==($k|0)){break s}q[Nm+16>>2]=a+(((a-$k|0)+ -4>>>2^-1)<<2)}a=q[Nm+8>>2];if(a){An(a)}T=Nm+48|0;return}bn();F()}bn();F()}function xl(a,$k,Ql){var mn=0,nn=0,on=0,pn=0,qn=0,rn=0,sn=0,tn=0,un=0,vn=0,wn=0,xn=0,yn=0,zn=0,Bn=0,Cn=0,En=0,Fn=0,Gn=0,Hn=0,In=0,Jn=0,Kn=0,Ln=0,Mn=0,Nn=0,On=0;on=T-48|0;T=on;mn=q[a+12>>2];q[on+16>>2]=0;q[on+8>>2]=0;q[on+12>>2]=0;a:{if(mn){if(mn>>>0>=1073741824){break a}nn=mn<<2;rn=Mm(nn);q[on+8>>2]=rn;q[on+12>>2]=rn;q[on+16>>2]=nn+rn;qn=Dn(rn,0,nn);pn=mn;while(1){qn=qn+4|0;pn=pn+ -1|0;if(pn){continue}break}q[on+12>>2]=qn}nn=q[a+120>>2];sn=q[nn>>2];if(sn){q[nn+4>>2]=sn;An(sn);q[nn+8>>2]=0;q[nn>>2]=0;q[nn+4>>2]=0;qn=q[on+12>>2];rn=q[on+8>>2];mn=q[a+12>>2]}q[nn>>2]=rn;q[nn+4>>2]=qn;q[nn+8>>2]=q[on+16>>2];qn=0;q[on+16>>2]=0;q[on+8>>2]=0;q[on+12>>2]=0;pn=0;b:{if(mn){if(mn>>>0>=1073741824){break b}nn=mn<<2;pn=Mm(nn);q[on+8>>2]=pn;q[on+12>>2]=pn;q[on+16>>2]=nn+pn;qn=Dn(pn,0,nn);while(1){qn=qn+4|0;mn=mn+ -1|0;if(mn){continue}break}q[on+12>>2]=qn}mn=q[a+132>>2];nn=q[mn>>2];if(nn){q[mn+4>>2]=nn;An(nn);q[mn+8>>2]=0;q[mn>>2]=0;q[mn+4>>2]=0;qn=q[on+12>>2];pn=q[on+8>>2]}q[mn>>2]=pn;q[mn+4>>2]=qn;q[mn+8>>2]=q[on+16>>2];nn=on+24|0;q[nn>>2]=0;q[nn+4>>2]=0;sn=on+16|0;q[sn>>2]=0;q[sn+4>>2]=0;q[on+8>>2]=0;q[on+12>>2]=0;re(on+8|0);pn=q[sn>>2];sn=q[on+12>>2];mn=0;c:{if((pn|0)==(sn|0)){break c}mn=q[nn>>2]+q[on+28>>2]|0;nn=(mn>>>0)/341|0;mn=q[sn+(nn<<2)>>2]+w(mn-w(nn,341)|0,12)|0}q[mn+4>>2]=0;q[mn+8>>2]=0;q[mn>>2]=$k;nn=q[on+28>>2];mn=nn+1|0;q[on+28>>2]=mn;d:{if(mn>>>0<nn>>>0){break d}Cn=a+120|0;En=a+132|0;Fn=a+108|0;Gn=a+96|0;zn=a+48|0;Hn=a+40|0;Bn=a+28|0;In=a+20|0;Kn=a+80|0;while(1){un=q[on+12>>2];qn=q[on+24>>2];rn=mn+ -1|0;nn=qn+rn|0;sn=(nn>>>0)/341|0;nn=q[un+(sn<<2)>>2]+w(nn-w(sn,341)|0,12)|0;wn=q[nn+8>>2];pn=q[nn+4>>2];sn=q[nn>>2];q[on+28>>2]=rn;nn=q[on+16>>2];rn=nn-un|0;if(((rn?w(rn>>2,341)+ -1|0:0)-(mn+qn|0)|0)+1>>>0>=682){An(q[nn+ -4>>2]);q[on+16>>2]=q[on+16>>2]+ -4}if(sn>>>0>$k>>>0){break d}mn=q[a+12>>2];qn=(pn|0)==(mn+ -1|0)?0:pn+1|0;if(qn>>>0>=mn>>>0){break d}mn=q[Cn>>2];pn=w(wn,12);rn=mn+pn|0;e:{f:{un=qn<<2;xn=pn+q[En>>2]|0;nn=q[a>>2]-q[un+q[xn>>2]>>2]|0;if(!nn){if(!sn){break f}pn=0;while(1){mn=q[rn>>2];qn=q[mn>>2];q[on+32>>2]=qn;q[on+36>>2]=q[mn+4>>2];q[on+40>>2]=q[mn+8>>2];nn=q[Ql>>2];wn=nn+4|0;mn=q[wn>>2];g:{if(mn>>>0<t[nn+8>>2]){q[mn>>2]=qn;q[mn+4>>2]=q[on+36>>2];q[mn+8>>2]=q[on+40>>2];q[wn>>2]=mn+12;break g}Dl(nn,on+32|0)}q[a+8>>2]=q[a+8>>2]+1;pn=pn+1|0;if((sn|0)!=(pn|0)){continue}break}break f}h:{i:{j:{k:{if(sn>>>0<=2){nn=q[Fn>>2];q[nn>>2]=qn;pn=1;mn=q[a+12>>2];if(mn>>>0>1){break k}break h}if(t[a+8>>2]>t[a+4>>2]){break d}tn=mn;mn=pn+12|0;hd(tn+mn|0,q[rn>>2],q[rn+4>>2]);mn=un+q[mn+q[Cn>>2]>>2]|0;q[mn>>2]=q[mn>>2]+(1<<nn+ -1);mn=z(sn)^31;nn=q[a+32>>2];vn=32-nn|0;l:{if((mn|0)<=(vn|0)){rn=q[Bn>>2];if((rn|0)==q[In>>2]){nn=0;break l}vn=q[rn>>2];tn=mn+nn|0;q[a+32>>2]=tn;nn=vn<<nn>>>32-mn;if((tn|0)!=32){break l}q[a+32>>2]=0;q[Bn>>2]=rn+4;break l}rn=q[Bn>>2];tn=rn+4|0;if((tn|0)==q[In>>2]){nn=0;break l}xn=q[rn>>2];q[Bn>>2]=tn;vn=mn-vn|0;q[a+32>>2]=vn;nn=q[rn+4>>2]>>>32-vn|xn<<nn>>>32-mn}vn=wn+1|0;mn=(sn>>>1)-nn|0;nn=sn-mn|0;m:{if((nn|0)==(mn|0)){nn=mn;break m}sn=q[a+88>>2];if((sn|0)==q[Kn>>2]){break j}rn=q[sn>>2];tn=q[a+92>>2];xn=tn+1|0;q[a+92>>2]=xn;rn=rn&-2147483648>>>tn;n:{if((xn|0)==32){q[a+92>>2]=0;q[a+88>>2]=sn+4;if(rn){break n}break j}if(!rn){break j}}}sn=nn;nn=mn;break i}while(1){qn=(mn+ -1|0)==(qn|0)?0:qn+1|0;q[nn+(pn<<2)>>2]=qn;pn=pn+1|0;mn=q[a+12>>2];if(pn>>>0<mn>>>0){continue}break}break h}sn=mn}mn=q[En>>2];pn=mn+pn|0;rn=q[pn>>2];un=rn+un|0;q[un>>2]=q[un>>2]+1;hd(mn+w(vn,12)|0,rn,q[pn+4>>2]);if(nn){pn=q[on+28>>2]+q[on+24>>2]|0;rn=q[on+16>>2];mn=q[on+12>>2];un=rn-mn|0;if((pn|0)==((un?w(un>>2,341)+ -1|0:0)|0)){re(on+8|0);pn=q[on+24>>2]+q[on+28>>2]|0;rn=q[on+16>>2];mn=q[on+12>>2]}if((mn|0)==(rn|0)){mn=0}else{tn=mn;mn=(pn>>>0)/341|0;mn=q[tn+(mn<<2)>>2]+w(pn-w(mn,341)|0,12)|0}q[mn+8>>2]=wn;q[mn+4>>2]=qn;q[mn>>2]=nn;q[on+28>>2]=q[on+28>>2]+1}if(!sn){break f}pn=q[on+28>>2]+q[on+24>>2]|0;rn=q[on+16>>2];mn=q[on+12>>2];nn=rn-mn|0;if((pn|0)==((nn?w(nn>>2,341)+ -1|0:0)|0)){re(on+8|0);pn=q[on+24>>2]+q[on+28>>2]|0;rn=q[on+16>>2];mn=q[on+12>>2]}nn=0;o:{if((mn|0)==(rn|0)){break o}nn=mn;mn=(pn>>>0)/341|0;nn=q[nn+(mn<<2)>>2]+w(pn-w(mn,341)|0,12)|0}q[nn+8>>2]=vn;q[nn+4>>2]=qn;q[nn>>2]=sn;mn=q[on+28>>2]+1|0;q[on+28>>2]=mn;break e}if(!sn){break f}wn=0;while(1){p:{if(!mn){pn=q[Gn>>2];break p}pn=q[Gn>>2];Ln=q[Fn>>2];Mn=q[rn>>2];Nn=q[xn>>2];mn=0;while(1){un=Ln+(mn<<2)|0;q[(q[un>>2]<<2)+pn>>2]=0;qn=q[un>>2]<<2;nn=q[a>>2]-q[qn+Nn>>2]|0;q:{if(!nn){break q}qn=pn+qn|0;vn=q[a+52>>2];yn=32-vn|0;if((nn|0)<=(yn|0)){tn=q[zn>>2];if((tn|0)==q[Hn>>2]){q[qn>>2]=0;break q}q[qn>>2]=q[tn>>2]<<vn>>>32-nn;nn=nn+q[a+52>>2]|0;q[a+52>>2]=nn;if((nn|0)!=32){break q}q[a+52>>2]=0;q[zn>>2]=tn+4;break q}tn=q[zn>>2];Jn=tn+4|0;if((Jn|0)==q[Hn>>2]){q[qn>>2]=0;break q}On=q[tn>>2];q[zn>>2]=Jn;yn=nn-yn|0;q[a+52>>2]=yn;q[qn>>2]=q[tn+4>>2]>>>32-yn|On<<vn>>>32-nn}nn=q[un>>2]<<2;qn=nn+pn|0;q[qn>>2]=q[qn>>2]|q[nn+Mn>>2];mn=mn+1|0;if(mn>>>0<t[a+12>>2]){continue}break}}qn=q[pn>>2];q[on+32>>2]=qn;q[on+36>>2]=q[pn+4>>2];q[on+40>>2]=q[pn+8>>2];nn=q[Ql>>2];pn=nn+4|0;mn=q[pn>>2];r:{if(mn>>>0<t[nn+8>>2]){q[mn>>2]=qn;q[mn+4>>2]=q[on+36>>2];q[mn+8>>2]=q[on+40>>2];q[pn>>2]=mn+12;break r}Dl(nn,on+32|0)}q[a+8>>2]=q[a+8>>2]+1;wn=wn+1|0;if((wn|0)==(sn|0)){break f}mn=q[a+12>>2];continue}}mn=q[on+28>>2]}if(mn){continue}break}}se(on+8|0);a=q[on+12>>2];$k=q[on+16>>2];s:{if((a|0)==($k|0)){break s}while(1){An(q[a>>2]);a=a+4|0;if(($k|0)!=(a|0)){continue}break}a=q[on+16>>2];$k=q[on+12>>2];if((a|0)==($k|0)){break s}q[on+16>>2]=a+(((a-$k|0)+ -4>>>2^-1)<<2)}a=q[on+8>>2];if(a){An(a)}T=on+48|0;return}bn();F()}bn();F()}function yl(a,$k,Ql){var Pn=0,Qn=0,Rn=0,Sn=0,Tn=0,Un=0,Vn=0,Wn=0,Xn=0,Yn=0,Zn=0,_n=0,$n=0,ao=0,bo=0,co=0,eo=0,fo=0,go=0,ho=0,io=0,jo=0,ko=0,lo=0,mo=0,no=0;Qn=T-48|0;T=Qn;Pn=q[a+12>>2];q[Qn+16>>2]=0;q[Qn+8>>2]=0;q[Qn+12>>2]=0;a:{if(Pn){if(Pn>>>0>=1073741824){break a}Rn=Pn<<2;Tn=Mm(Rn);q[Qn+8>>2]=Tn;q[Qn+12>>2]=Tn;q[Qn+16>>2]=Rn+Tn;Sn=Dn(Tn,0,Rn);Rn=Pn;while(1){Sn=Sn+4|0;Rn=Rn+ -1|0;if(Rn){continue}break}q[Qn+12>>2]=Sn}Rn=q[a+116>>2];Un=q[Rn>>2];if(Un){q[Rn+4>>2]=Un;An(Un);q[Rn+8>>2]=0;q[Rn>>2]=0;q[Rn+4>>2]=0;Sn=q[Qn+12>>2];Tn=q[Qn+8>>2];Pn=q[a+12>>2]}q[Rn>>2]=Tn;q[Rn+4>>2]=Sn;q[Rn+8>>2]=q[Qn+16>>2];Sn=0;q[Qn+16>>2]=0;q[Qn+8>>2]=0;q[Qn+12>>2]=0;Rn=0;b:{if(Pn){if(Pn>>>0>=1073741824){break b}Un=Pn<<2;Rn=Mm(Un);q[Qn+8>>2]=Rn;q[Qn+12>>2]=Rn;q[Qn+16>>2]=Rn+Un;Sn=Dn(Rn,0,Un);while(1){Sn=Sn+4|0;Pn=Pn+ -1|0;if(Pn){continue}break}q[Qn+12>>2]=Sn}Pn=q[a+128>>2];Un=q[Pn>>2];if(Un){q[Pn+4>>2]=Un;An(Un);q[Pn+8>>2]=0;q[Pn>>2]=0;q[Pn+4>>2]=0;Sn=q[Qn+12>>2];Rn=q[Qn+8>>2]}q[Pn>>2]=Rn;q[Pn+4>>2]=Sn;q[Pn+8>>2]=q[Qn+16>>2];Rn=Qn+24|0;q[Rn>>2]=0;q[Rn+4>>2]=0;Un=Qn+16|0;q[Un>>2]=0;q[Un+4>>2]=0;q[Qn+8>>2]=0;q[Qn+12>>2]=0;re(Qn+8|0);Vn=q[Un>>2];Un=q[Qn+12>>2];Pn=0;c:{if((Vn|0)==(Un|0)){break c}Pn=q[Rn>>2]+q[Qn+28>>2]|0;Rn=(Pn>>>0)/341|0;Pn=q[Un+(Rn<<2)>>2]+w(Pn-w(Rn,341)|0,12)|0}q[Pn+4>>2]=0;q[Pn+8>>2]=0;q[Pn>>2]=$k;Rn=q[Qn+28>>2];Pn=Rn+1|0;q[Qn+28>>2]=Pn;d:{if(Pn>>>0<Rn>>>0){break d}jo=a+16|0;eo=a+128|0;co=a+116|0;fo=a+104|0;go=a+92|0;ao=a+44|0;ho=a+36|0;ko=a+76|0;while(1){Tn=q[Qn+12>>2];Vn=q[Qn+24>>2];Sn=Pn+ -1|0;Rn=Vn+Sn|0;Un=(Rn>>>0)/341|0;Rn=q[Tn+(Un<<2)>>2]+w(Rn-w(Un,341)|0,12)|0;Yn=q[Rn+8>>2];Xn=q[Rn+4>>2];Un=q[Rn>>2];q[Qn+28>>2]=Sn;Rn=q[Qn+16>>2];Sn=Rn-Tn|0;if(((Sn?w(Sn>>2,341)+ -1|0:0)-(Pn+Vn|0)|0)+1>>>0>=682){An(q[Rn+ -4>>2]);q[Qn+16>>2]=q[Qn+16>>2]+ -4}if(Un>>>0>$k>>>0){break d}Pn=q[co>>2];Tn=w(Yn,12);Zn=Tn+q[eo>>2]|0;Sn=ml(a,Zn,Xn);if(Sn>>>0>=t[a+12>>2]){break d}Vn=Pn+Tn|0;e:{Xn=Sn<<2;Rn=q[a>>2]-q[Xn+q[Zn>>2]>>2]|0;if(!Rn){if(!Un){break e}Rn=0;while(1){Pn=q[Vn>>2];Tn=q[Pn>>2];q[Qn+32>>2]=Tn;q[Qn+36>>2]=q[Pn+4>>2];q[Qn+40>>2]=q[Pn+8>>2];Sn=q[Ql>>2];Yn=Sn+4|0;Pn=q[Yn>>2];f:{if(Pn>>>0<t[Sn+8>>2]){q[Pn>>2]=Tn;q[Pn+4>>2]=q[Qn+36>>2];q[Pn+8>>2]=q[Qn+40>>2];q[Yn>>2]=Pn+12;break f}Dl(Sn,Qn+32|0)}q[a+8>>2]=q[a+8>>2]+1;Rn=Rn+1|0;if((Un|0)!=(Rn|0)){continue}break}break e}g:{h:{i:{j:{if(Un>>>0<=2){Tn=q[fo>>2];q[Tn>>2]=Sn;Rn=1;Pn=q[a+12>>2];if(Pn>>>0>1){break j}break g}if(t[a+8>>2]>t[a+4>>2]){break d}Pn=q[co>>2];_n=Yn+1|0;Zn=w(_n,12);Wn=Pn+Zn|0;if((Wn|0)!=(Vn|0)){hd(Wn,q[Vn>>2],q[Vn+4>>2]);Pn=q[co>>2]}Pn=Xn+q[Pn+Zn>>2]|0;q[Pn>>2]=q[Pn>>2]+(1<<Rn+ -1);q[Qn+32>>2]=0;eh(jo,z(Un)^31,Qn+32|0);Pn=(Un>>>1)-q[Qn+32>>2]|0;Rn=Un-Pn|0;k:{if((Rn|0)==(Pn|0)){Rn=Pn;break k}Un=q[a+84>>2];if((Un|0)==q[ko>>2]){break i}Vn=q[Un>>2];Wn=q[a+88>>2];bo=Wn+1|0;q[a+88>>2]=bo;Vn=Vn&-2147483648>>>Wn;l:{if((bo|0)==32){q[a+88>>2]=0;q[a+84>>2]=Un+4;if(Vn){break l}break i}if(!Vn){break i}}}Un=Rn;Rn=Pn;break h}while(1){Sn=(Pn+ -1|0)==(Sn|0)?0:Sn+1|0;q[Tn+(Rn<<2)>>2]=Sn;Rn=Rn+1|0;Pn=q[a+12>>2];if(Rn>>>0<Pn>>>0){continue}break}break g}Un=Pn}Pn=q[eo>>2];Vn=Pn+Tn|0;Tn=q[Vn>>2];Xn=Tn+Xn|0;q[Xn>>2]=q[Xn>>2]+1;hd(Pn+Zn|0,Tn,q[Vn+4>>2]);if(Rn){Tn=q[Qn+28>>2]+q[Qn+24>>2]|0;Vn=q[Qn+16>>2];Pn=q[Qn+12>>2];Zn=Vn-Pn|0;if((Tn|0)==((Zn?w(Zn>>2,341)+ -1|0:0)|0)){re(Qn+8|0);Tn=q[Qn+24>>2]+q[Qn+28>>2]|0;Vn=q[Qn+16>>2];Pn=q[Qn+12>>2]}if((Pn|0)==(Vn|0)){Pn=0}else{Vn=Pn;Pn=(Tn>>>0)/341|0;Pn=q[Vn+(Pn<<2)>>2]+w(Tn-w(Pn,341)|0,12)|0}q[Pn+8>>2]=Yn;q[Pn+4>>2]=Sn;q[Pn>>2]=Rn;q[Qn+28>>2]=q[Qn+28>>2]+1}if(!Un){break e}Rn=q[Qn+28>>2]+q[Qn+24>>2]|0;Tn=q[Qn+16>>2];Pn=q[Qn+12>>2];Vn=Tn-Pn|0;if((Rn|0)==((Vn?w(Vn>>2,341)+ -1|0:0)|0)){re(Qn+8|0);Rn=q[Qn+24>>2]+q[Qn+28>>2]|0;Tn=q[Qn+16>>2];Pn=q[Qn+12>>2]}Vn=0;m:{if((Pn|0)==(Tn|0)){break m}Vn=Pn;Pn=(Rn>>>0)/341|0;Vn=q[Vn+(Pn<<2)>>2]+w(Rn-w(Pn,341)|0,12)|0}q[Vn+8>>2]=_n;q[Vn+4>>2]=Sn;q[Vn>>2]=Un;q[Qn+28>>2]=q[Qn+28>>2]+1;break e}if(!Un){break e}Yn=0;while(1){n:{if(!Pn){Rn=q[go>>2];break n}Rn=q[go>>2];bo=q[fo>>2];lo=q[Vn>>2];mo=q[Zn>>2];Pn=0;while(1){Xn=bo+(Pn<<2)|0;q[(q[Xn>>2]<<2)+Rn>>2]=0;Tn=q[Xn>>2]<<2;Sn=q[a>>2]-q[Tn+mo>>2]|0;o:{if(!Sn){break o}Tn=Rn+Tn|0;_n=q[a+48>>2];$n=32-_n|0;if((Sn|0)<=($n|0)){Wn=q[ao>>2];if((Wn|0)==q[ho>>2]){q[Tn>>2]=0;break o}q[Tn>>2]=q[Wn>>2]<<_n>>>32-Sn;Sn=Sn+q[a+48>>2]|0;q[a+48>>2]=Sn;if((Sn|0)!=32){break o}q[a+48>>2]=0;q[ao>>2]=Wn+4;break o}Wn=q[ao>>2];io=Wn+4|0;if((io|0)==q[ho>>2]){q[Tn>>2]=0;break o}no=q[Wn>>2];q[ao>>2]=io;$n=Sn-$n|0;q[a+48>>2]=$n;q[Tn>>2]=q[Wn+4>>2]>>>32-$n|no<<_n>>>32-Sn}Sn=q[Xn>>2]<<2;Tn=Sn+Rn|0;q[Tn>>2]=q[Tn>>2]|q[Sn+lo>>2];Pn=Pn+1|0;if(Pn>>>0<t[a+12>>2]){continue}break}}Sn=q[Rn>>2];q[Qn+32>>2]=Sn;q[Qn+36>>2]=q[Rn+4>>2];q[Qn+40>>2]=q[Rn+8>>2];Rn=q[Ql>>2];Tn=Rn+4|0;Pn=q[Tn>>2];p:{if(Pn>>>0<t[Rn+8>>2]){q[Pn>>2]=Sn;q[Pn+4>>2]=q[Qn+36>>2];q[Pn+8>>2]=q[Qn+40>>2];q[Tn>>2]=Pn+12;break p}Dl(Rn,Qn+32|0)}q[a+8>>2]=q[a+8>>2]+1;Yn=Yn+1|0;if((Yn|0)==(Un|0)){break e}Pn=q[a+12>>2];continue}}Pn=q[Qn+28>>2];if(Pn){continue}break}}se(Qn+8|0);a=q[Qn+12>>2];$k=q[Qn+16>>2];q:{if((a|0)==($k|0)){break q}while(1){An(q[a>>2]);a=a+4|0;if(($k|0)!=(a|0)){continue}break}a=q[Qn+16>>2];$k=q[Qn+12>>2];if((a|0)==($k|0)){break q}q[Qn+16>>2]=a+(((a-$k|0)+ -4>>>2^-1)<<2)}a=q[Qn+8>>2];if(a){An(a)}T=Qn+48|0;return}bn();F()}bn();F()}function zl(a,$k,Ql){var oo=0,po=0,qo=0,ro=0,so=0,to=0,uo=0,vo=0,wo=0,xo=0,yo=0,zo=0,Ao=0,Bo=0,Co=0,Do=0,Eo=0,Fo=0,Go=0,Ho=0,Io=0,Jo=0,Ko=0,Lo=0,Mo=0,No=0;po=T-48|0;T=po;oo=q[a+12>>2];q[po+16>>2]=0;q[po+8>>2]=0;q[po+12>>2]=0;a:{if(oo){if(oo>>>0>=1073741824){break a}qo=oo<<2;uo=Mm(qo);q[po+8>>2]=uo;q[po+12>>2]=uo;q[po+16>>2]=qo+uo;to=Dn(uo,0,qo);ro=oo;while(1){to=to+4|0;ro=ro+ -1|0;if(ro){continue}break}q[po+12>>2]=to}qo=q[a+116>>2];so=q[qo>>2];if(so){q[qo+4>>2]=so;An(so);q[qo+8>>2]=0;q[qo>>2]=0;q[qo+4>>2]=0;to=q[po+12>>2];uo=q[po+8>>2];oo=q[a+12>>2]}q[qo>>2]=uo;q[qo+4>>2]=to;q[qo+8>>2]=q[po+16>>2];to=0;q[po+16>>2]=0;q[po+8>>2]=0;q[po+12>>2]=0;ro=0;b:{if(oo){if(oo>>>0>=1073741824){break b}qo=oo<<2;ro=Mm(qo);q[po+8>>2]=ro;q[po+12>>2]=ro;q[po+16>>2]=qo+ro;to=Dn(ro,0,qo);while(1){to=to+4|0;oo=oo+ -1|0;if(oo){continue}break}q[po+12>>2]=to}oo=q[a+128>>2];qo=q[oo>>2];if(qo){q[oo+4>>2]=qo;An(qo);q[oo+8>>2]=0;q[oo>>2]=0;q[oo+4>>2]=0;to=q[po+12>>2];ro=q[po+8>>2]}q[oo>>2]=ro;q[oo+4>>2]=to;q[oo+8>>2]=q[po+16>>2];qo=po+24|0;q[qo>>2]=0;q[qo+4>>2]=0;so=po+16|0;q[so>>2]=0;q[so+4>>2]=0;q[po+8>>2]=0;q[po+12>>2]=0;re(po+8|0);ro=q[so>>2];so=q[po+12>>2];oo=0;c:{if((ro|0)==(so|0)){break c}oo=q[qo>>2]+q[po+28>>2]|0;qo=(oo>>>0)/341|0;oo=q[so+(qo<<2)>>2]+w(oo-w(qo,341)|0,12)|0}q[oo+4>>2]=0;q[oo+8>>2]=0;q[oo>>2]=$k;qo=q[po+28>>2];oo=qo+1|0;q[po+28>>2]=oo;d:{if(oo>>>0<qo>>>0){break d}Io=a+16|0;Co=a+116|0;Do=a+128|0;Eo=a+104|0;Fo=a+92|0;Bo=a+44|0;Go=a+36|0;Jo=a+76|0;while(1){uo=q[po+12>>2];ro=q[po+24>>2];to=oo+ -1|0;qo=ro+to|0;so=(qo>>>0)/341|0;qo=q[uo+(so<<2)>>2]+w(qo-w(so,341)|0,12)|0;xo=q[qo+8>>2];so=q[qo+4>>2];qo=q[qo>>2];q[po+28>>2]=to;to=q[po+16>>2];uo=to-uo|0;if(((uo?w(uo>>2,341)+ -1|0:0)-(oo+ro|0)|0)+1>>>0>=682){An(q[to+ -4>>2]);q[po+16>>2]=q[po+16>>2]+ -4}if(qo>>>0>$k>>>0){break d}oo=q[a+12>>2];to=(so|0)==(oo+ -1|0)?0:so+1|0;if(to>>>0>=oo>>>0){break d}oo=q[Co>>2];ro=w(xo,12);uo=oo+ro|0;e:{wo=to<<2;zo=ro+q[Do>>2]|0;so=q[a>>2]-q[wo+q[zo>>2]>>2]|0;if(!so){if(!qo){break e}ro=0;while(1){oo=q[uo>>2];to=q[oo>>2];q[po+32>>2]=to;q[po+36>>2]=q[oo+4>>2];q[po+40>>2]=q[oo+8>>2];so=q[Ql>>2];xo=so+4|0;oo=q[xo>>2];f:{if(oo>>>0<t[so+8>>2]){q[oo>>2]=to;q[oo+4>>2]=q[po+36>>2];q[oo+8>>2]=q[po+40>>2];q[xo>>2]=oo+12;break f}Dl(so,po+32|0)}q[a+8>>2]=q[a+8>>2]+1;ro=ro+1|0;if((qo|0)!=(ro|0)){continue}break}break e}g:{h:{i:{j:{if(qo>>>0<=2){so=q[Eo>>2];q[so>>2]=to;ro=1;oo=q[a+12>>2];if(oo>>>0>1){break j}break g}if(t[a+8>>2]>t[a+4>>2]){break d}vo=oo;oo=ro+12|0;hd(vo+oo|0,q[uo>>2],q[uo+4>>2]);oo=wo+q[oo+q[Co>>2]>>2]|0;q[oo>>2]=q[oo>>2]+(1<<so+ -1);q[po+32>>2]=0;eh(Io,z(qo)^31,po+32|0);yo=xo+1|0;oo=(qo>>>1)-q[po+32>>2]|0;qo=qo-oo|0;k:{if((qo|0)==(oo|0)){qo=oo;break k}so=q[a+84>>2];if((so|0)==q[Jo>>2]){break i}uo=q[so>>2];vo=q[a+88>>2];zo=vo+1|0;q[a+88>>2]=zo;uo=uo&-2147483648>>>vo;l:{if((zo|0)==32){q[a+88>>2]=0;q[a+84>>2]=so+4;if(uo){break l}break i}if(!uo){break i}}}so=qo;qo=oo;break h}while(1){to=(oo+ -1|0)==(to|0)?0:to+1|0;q[so+(ro<<2)>>2]=to;ro=ro+1|0;oo=q[a+12>>2];if(ro>>>0<oo>>>0){continue}break}break g}so=oo}oo=q[Do>>2];ro=oo+ro|0;uo=q[ro>>2];wo=uo+wo|0;q[wo>>2]=q[wo>>2]+1;hd(oo+w(yo,12)|0,uo,q[ro+4>>2]);if(qo){ro=q[po+28>>2]+q[po+24>>2]|0;uo=q[po+16>>2];oo=q[po+12>>2];wo=uo-oo|0;if((ro|0)==((wo?w(wo>>2,341)+ -1|0:0)|0)){re(po+8|0);ro=q[po+24>>2]+q[po+28>>2]|0;uo=q[po+16>>2];oo=q[po+12>>2]}if((oo|0)==(uo|0)){oo=0}else{vo=oo;oo=(ro>>>0)/341|0;oo=q[vo+(oo<<2)>>2]+w(ro-w(oo,341)|0,12)|0}q[oo+8>>2]=xo;q[oo+4>>2]=to;q[oo>>2]=qo;q[po+28>>2]=q[po+28>>2]+1}if(!so){break e}ro=q[po+28>>2]+q[po+24>>2]|0;uo=q[po+16>>2];oo=q[po+12>>2];qo=uo-oo|0;if((ro|0)==((qo?w(qo>>2,341)+ -1|0:0)|0)){re(po+8|0);ro=q[po+24>>2]+q[po+28>>2]|0;uo=q[po+16>>2];oo=q[po+12>>2]}qo=0;m:{if((oo|0)==(uo|0)){break m}qo=oo;oo=(ro>>>0)/341|0;qo=q[qo+(oo<<2)>>2]+w(ro-w(oo,341)|0,12)|0}q[qo+8>>2]=yo;q[qo+4>>2]=to;q[qo>>2]=so;q[po+28>>2]=q[po+28>>2]+1;break e}if(!qo){break e}xo=0;while(1){n:{if(!oo){ro=q[Fo>>2];break n}ro=q[Fo>>2];Ko=q[Eo>>2];Lo=q[uo>>2];Mo=q[zo>>2];oo=0;while(1){wo=Ko+(oo<<2)|0;q[(q[wo>>2]<<2)+ro>>2]=0;to=q[wo>>2]<<2;so=q[a>>2]-q[to+Mo>>2]|0;o:{if(!so){break o}to=ro+to|0;yo=q[a+48>>2];Ao=32-yo|0;if((so|0)<=(Ao|0)){vo=q[Bo>>2];if((vo|0)==q[Go>>2]){q[to>>2]=0;break o}q[to>>2]=q[vo>>2]<<yo>>>32-so;so=so+q[a+48>>2]|0;q[a+48>>2]=so;if((so|0)!=32){break o}q[a+48>>2]=0;q[Bo>>2]=vo+4;break o}vo=q[Bo>>2];Ho=vo+4|0;if((Ho|0)==q[Go>>2]){q[to>>2]=0;break o}No=q[vo>>2];q[Bo>>2]=Ho;Ao=so-Ao|0;q[a+48>>2]=Ao;q[to>>2]=q[vo+4>>2]>>>32-Ao|No<<yo>>>32-so}so=q[wo>>2]<<2;to=so+ro|0;q[to>>2]=q[to>>2]|q[so+Lo>>2];oo=oo+1|0;if(oo>>>0<t[a+12>>2]){continue}break}}to=q[ro>>2];q[po+32>>2]=to;q[po+36>>2]=q[ro+4>>2];q[po+40>>2]=q[ro+8>>2];so=q[Ql>>2];ro=so+4|0;oo=q[ro>>2];p:{if(oo>>>0<t[so+8>>2]){q[oo>>2]=to;q[oo+4>>2]=q[po+36>>2];q[oo+8>>2]=q[po+40>>2];q[ro>>2]=oo+12;break p}Dl(so,po+32|0)}q[a+8>>2]=q[a+8>>2]+1;xo=xo+1|0;if((xo|0)==(qo|0)){break e}oo=q[a+12>>2];continue}}oo=q[po+28>>2];if(oo){continue}break}}se(po+8|0);a=q[po+12>>2];$k=q[po+16>>2];q:{if((a|0)==($k|0)){break q}while(1){An(q[a>>2]);a=a+4|0;if(($k|0)!=(a|0)){continue}break}a=q[po+16>>2];$k=q[po+12>>2];if((a|0)==($k|0)){break q}q[po+16>>2]=a+(((a-$k|0)+ -4>>>2^-1)<<2)}a=q[po+8>>2];if(a){An(a)}T=po+48|0;return}bn();F()}bn();F()}function Al(a,$k,Ql){var Oo=0,Po=0,Qo=0,Ro=0,So=0,To=0,Uo=0,Vo=0,Wo=0,Xo=0,Yo=0,Zo=0,_o=0,$o=0,ap=0,bp=0,cp=0,dp=0,ep=0,fp=0,gp=0,hp=0,ip=0,jp=0,kp=0;Qo=T-48|0;T=Qo;Oo=q[a+12>>2];q[Qo+16>>2]=0;q[Qo+8>>2]=0;q[Qo+12>>2]=0;a:{if(Oo){if(Oo>>>0>=1073741824){break a}Po=Oo<<2;So=Mm(Po);q[Qo+8>>2]=So;q[Qo+12>>2]=So;q[Qo+16>>2]=Po+So;Ro=Dn(So,0,Po);Po=Oo;while(1){Ro=Ro+4|0;Po=Po+ -1|0;if(Po){continue}break}q[Qo+12>>2]=Ro}Po=q[a+628>>2];To=q[Po>>2];if(To){q[Po+4>>2]=To;An(To);q[Po+8>>2]=0;q[Po>>2]=0;q[Po+4>>2]=0;Ro=q[Qo+12>>2];So=q[Qo+8>>2];Oo=q[a+12>>2]}q[Po>>2]=So;q[Po+4>>2]=Ro;q[Po+8>>2]=q[Qo+16>>2];Ro=0;q[Qo+16>>2]=0;q[Qo+8>>2]=0;q[Qo+12>>2]=0;Po=0;b:{if(Oo){if(Oo>>>0>=1073741824){break b}So=Oo<<2;Po=Mm(So);q[Qo+8>>2]=Po;q[Qo+12>>2]=Po;q[Qo+16>>2]=Po+So;Ro=Dn(Po,0,So);while(1){Ro=Ro+4|0;Oo=Oo+ -1|0;if(Oo){continue}break}q[Qo+12>>2]=Ro}Oo=q[a+640>>2];So=q[Oo>>2];if(So){q[Oo+4>>2]=So;An(So);q[Oo+8>>2]=0;q[Oo>>2]=0;q[Oo+4>>2]=0;Ro=q[Qo+12>>2];Po=q[Qo+8>>2]}q[Oo>>2]=Po;q[Oo+4>>2]=Ro;q[Oo+8>>2]=q[Qo+16>>2];Po=Qo+24|0;q[Po>>2]=0;q[Po+4>>2]=0;So=Qo+16|0;q[So>>2]=0;q[So+4>>2]=0;q[Qo+8>>2]=0;q[Qo+12>>2]=0;re(Qo+8|0);To=q[So>>2];So=q[Qo+12>>2];Oo=0;c:{if((To|0)==(So|0)){break c}Oo=q[Po>>2]+q[Qo+28>>2]|0;Po=(Oo>>>0)/341|0;Oo=q[So+(Po<<2)>>2]+w(Oo-w(Po,341)|0,12)|0}q[Oo+4>>2]=0;q[Oo+8>>2]=0;q[Oo>>2]=$k;Po=q[Qo+28>>2];Oo=Po+1|0;q[Qo+28>>2]=Oo;d:{if(Oo>>>0<Po>>>0){break d}cp=a+640|0;bp=a+628|0;dp=a+616|0;ep=a+604|0;$o=a+556|0;fp=a+548|0;hp=a+588|0;while(1){Vo=q[Qo+12>>2];To=q[Qo+24>>2];Ro=Oo+ -1|0;Po=To+Ro|0;So=(Po>>>0)/341|0;Po=q[Vo+(So<<2)>>2]+w(Po-w(So,341)|0,12)|0;Uo=q[Po+8>>2];Wo=q[Po+4>>2];So=q[Po>>2];q[Qo+28>>2]=Ro;Po=q[Qo+16>>2];Ro=Po-Vo|0;if(((Ro?w(Ro>>2,341)+ -1|0:0)-(Oo+To|0)|0)+1>>>0>=682){An(q[Po+ -4>>2]);q[Qo+16>>2]=q[Qo+16>>2]+ -4}Po=0;if(So>>>0>$k>>>0){break d}Oo=q[bp>>2];Vo=w(Uo,12);Xo=Vo+q[cp>>2]|0;Ro=ml(a,Xo,Wo);if(Ro>>>0>=t[a+12>>2]){break d}To=Oo+Vo|0;e:{f:{Wo=Ro<<2;Zo=q[a>>2]-q[Wo+q[Xo>>2]>>2]|0;if(!Zo){if(!So){break f}while(1){Oo=q[To>>2];Uo=q[Oo>>2];q[Qo+32>>2]=Uo;q[Qo+36>>2]=q[Oo+4>>2];q[Qo+40>>2]=q[Oo+8>>2];Ro=q[Ql>>2];Vo=Ro+4|0;Oo=q[Vo>>2];g:{if(Oo>>>0<t[Ro+8>>2]){q[Oo>>2]=Uo;q[Oo+4>>2]=q[Qo+36>>2];q[Oo+8>>2]=q[Qo+40>>2];q[Vo>>2]=Oo+12;break g}Dl(Ro,Qo+32|0)}q[a+8>>2]=q[a+8>>2]+1;Po=Po+1|0;if((So|0)!=(Po|0)){continue}break}break f}h:{i:{j:{k:{if(So>>>0<=2){Uo=q[dp>>2];q[Uo>>2]=Ro;Po=1;Oo=q[a+12>>2];if(Oo>>>0>1){break k}break h}if(t[a+8>>2]>t[a+4>>2]){break d}Oo=q[bp>>2];Yo=Uo+1|0;Xo=w(Yo,12);Po=Oo+Xo|0;if((Po|0)!=(To|0)){hd(Po,q[To>>2],q[To+4>>2]);Oo=q[bp>>2]}Oo=Wo+q[Oo+Xo>>2]|0;q[Oo>>2]=q[Oo>>2]+(1<<Zo+ -1);Po=0;Oo=0;To=z(So)^31;if(To){while(1){Po=dh(((Oo<<4)+a|0)+16|0)|Po<<1;Oo=Oo+1|0;if((To|0)!=(Oo|0)){continue}break}}Po=(So>>>1)-Po|0;Oo=So-Po|0;l:{if((Oo|0)==(Po|0)){Oo=Po;break l}So=q[a+596>>2];if((So|0)==q[hp>>2]){break j}To=q[So>>2];Zo=q[a+600>>2];ap=Zo+1|0;q[a+600>>2]=ap;To=To&-2147483648>>>Zo;m:{if((ap|0)==32){q[a+600>>2]=0;q[a+596>>2]=So+4;if(To){break m}break j}if(!To){break j}}}So=Oo;Oo=Po;break i}while(1){Ro=(Oo+ -1|0)==(Ro|0)?0:Ro+1|0;q[Uo+(Po<<2)>>2]=Ro;Po=Po+1|0;Oo=q[a+12>>2];if(Po>>>0<Oo>>>0){continue}break}break h}So=Po}Po=q[cp>>2];To=Po+Vo|0;Vo=q[To>>2];Wo=Vo+Wo|0;q[Wo>>2]=q[Wo>>2]+1;hd(Po+Xo|0,Vo,q[To+4>>2]);if(Oo){Vo=q[Qo+28>>2]+q[Qo+24>>2]|0;Xo=q[Qo+16>>2];Po=q[Qo+12>>2];To=Xo-Po|0;if((Vo|0)==((To?w(To>>2,341)+ -1|0:0)|0)){re(Qo+8|0);Vo=q[Qo+24>>2]+q[Qo+28>>2]|0;Xo=q[Qo+16>>2];Po=q[Qo+12>>2]}To=0;n:{if((Po|0)==(Xo|0)){break n}To=Po;Po=(Vo>>>0)/341|0;To=q[To+(Po<<2)>>2]+w(Vo-w(Po,341)|0,12)|0}q[To+8>>2]=Uo;q[To+4>>2]=Ro;q[To>>2]=Oo;q[Qo+28>>2]=q[Qo+28>>2]+1}if(!So){break f}Po=q[Qo+28>>2]+q[Qo+24>>2]|0;To=q[Qo+16>>2];Oo=q[Qo+12>>2];Uo=To-Oo|0;if((Po|0)==((Uo?w(Uo>>2,341)+ -1|0:0)|0)){re(Qo+8|0);To=q[Qo+16>>2];Po=q[Qo+24>>2]+q[Qo+28>>2]|0;Oo=q[Qo+12>>2]}if((Oo|0)==(To|0)){Oo=0}else{To=Oo;Oo=(Po>>>0)/341|0;Oo=q[To+(Oo<<2)>>2]+w(Po-w(Oo,341)|0,12)|0}q[Oo+8>>2]=Yo;q[Oo+4>>2]=Ro;q[Oo>>2]=So;Oo=q[Qo+28>>2]+1|0;q[Qo+28>>2]=Oo;break e}if(!So){break f}Vo=0;while(1){o:{if(!Oo){Po=q[ep>>2];break o}Po=q[ep>>2];ap=q[dp>>2];ip=q[To>>2];jp=q[Xo>>2];Oo=0;while(1){Wo=ap+(Oo<<2)|0;q[(q[Wo>>2]<<2)+Po>>2]=0;Uo=q[Wo>>2]<<2;Ro=q[a>>2]-q[Uo+jp>>2]|0;p:{if(!Ro){break p}Uo=Po+Uo|0;Zo=q[a+560>>2];_o=32-Zo|0;if((Ro|0)<=(_o|0)){Yo=q[$o>>2];if((Yo|0)==q[fp>>2]){q[Uo>>2]=0;break p}q[Uo>>2]=q[Yo>>2]<<Zo>>>32-Ro;Ro=Ro+q[a+560>>2]|0;q[a+560>>2]=Ro;if((Ro|0)!=32){break p}q[a+560>>2]=0;q[$o>>2]=Yo+4;break p}Yo=q[$o>>2];gp=Yo+4|0;if((gp|0)==q[fp>>2]){q[Uo>>2]=0;break p}kp=q[Yo>>2];q[$o>>2]=gp;_o=Ro-_o|0;q[a+560>>2]=_o;q[Uo>>2]=q[Yo+4>>2]>>>32-_o|kp<<Zo>>>32-Ro}Ro=q[Wo>>2]<<2;Uo=Ro+Po|0;q[Uo>>2]=q[Uo>>2]|q[Ro+ip>>2];Oo=Oo+1|0;if(Oo>>>0<t[a+12>>2]){continue}break}}Ro=q[Po>>2];q[Qo+32>>2]=Ro;q[Qo+36>>2]=q[Po+4>>2];q[Qo+40>>2]=q[Po+8>>2];Po=q[Ql>>2];Uo=Po+4|0;Oo=q[Uo>>2];q:{if(Oo>>>0<t[Po+8>>2]){q[Oo>>2]=Ro;q[Oo+4>>2]=q[Qo+36>>2];q[Oo+8>>2]=q[Qo+40>>2];q[Uo>>2]=Oo+12;break q}Dl(Po,Qo+32|0)}q[a+8>>2]=q[a+8>>2]+1;Vo=Vo+1|0;if((Vo|0)==(So|0)){break f}Oo=q[a+12>>2];continue}}Oo=q[Qo+28>>2]}if(Oo){continue}break}}se(Qo+8|0);a=q[Qo+12>>2];$k=q[Qo+16>>2];r:{if((a|0)==($k|0)){break r}while(1){An(q[a>>2]);a=a+4|0;if(($k|0)!=(a|0)){continue}break}a=q[Qo+16>>2];$k=q[Qo+12>>2];if((a|0)==($k|0)){break r}q[Qo+16>>2]=a+(((a-$k|0)+ -4>>>2^-1)<<2)}a=q[Qo+8>>2];if(a){An(a)}T=Qo+48|0;return}bn();F()}bn();F()}function Bl(a,$k,Ql){var lp=0,mp=0,np=0,op=0,pp=0,qp=0,rp=0,sp=0,tp=0,up=0,vp=0,wp=0,xp=0,yp=0,zp=0,Ap=0,Bp=0,Cp=0,Dp=0,Ep=0,Fp=0,Gp=0,Hp=0,Ip=0,Jp=0;np=T-48|0;T=np;lp=q[a+12>>2];q[np+16>>2]=0;q[np+8>>2]=0;q[np+12>>2]=0;a:{if(lp){if(lp>>>0>=1073741824){break a}mp=lp<<2;pp=Mm(mp);q[np+8>>2]=pp;q[np+12>>2]=pp;q[np+16>>2]=mp+pp;qp=Dn(pp,0,mp);mp=lp;while(1){qp=qp+4|0;mp=mp+ -1|0;if(mp){continue}break}q[np+12>>2]=qp}mp=q[a+628>>2];op=q[mp>>2];if(op){q[mp+4>>2]=op;An(op);q[mp+8>>2]=0;q[mp>>2]=0;q[mp+4>>2]=0;qp=q[np+12>>2];pp=q[np+8>>2];lp=q[a+12>>2]}q[mp>>2]=pp;q[mp+4>>2]=qp;q[mp+8>>2]=q[np+16>>2];qp=0;q[np+16>>2]=0;q[np+8>>2]=0;q[np+12>>2]=0;mp=0;b:{if(lp){if(lp>>>0>=1073741824){break b}pp=lp<<2;mp=Mm(pp);q[np+8>>2]=mp;q[np+12>>2]=mp;q[np+16>>2]=mp+pp;qp=Dn(mp,0,pp);while(1){qp=qp+4|0;lp=lp+ -1|0;if(lp){continue}break}q[np+12>>2]=qp}lp=q[a+640>>2];pp=q[lp>>2];if(pp){q[lp+4>>2]=pp;An(pp);q[lp+8>>2]=0;q[lp>>2]=0;q[lp+4>>2]=0;qp=q[np+12>>2];mp=q[np+8>>2]}q[lp>>2]=mp;q[lp+4>>2]=qp;q[lp+8>>2]=q[np+16>>2];mp=np+24|0;q[mp>>2]=0;q[mp+4>>2]=0;pp=np+16|0;q[pp>>2]=0;q[pp+4>>2]=0;q[np+8>>2]=0;q[np+12>>2]=0;re(np+8|0);op=q[pp>>2];pp=q[np+12>>2];lp=0;c:{if((op|0)==(pp|0)){break c}lp=q[mp>>2]+q[np+28>>2]|0;mp=(lp>>>0)/341|0;lp=q[pp+(mp<<2)>>2]+w(lp-w(mp,341)|0,12)|0}q[lp+4>>2]=0;q[lp+8>>2]=0;q[lp>>2]=$k;mp=q[np+28>>2];lp=mp+1|0;q[np+28>>2]=lp;d:{if(lp>>>0<mp>>>0){break d}zp=a+628|0;Ap=a+640|0;Bp=a+616|0;Cp=a+604|0;yp=a+556|0;Dp=a+548|0;Fp=a+588|0;while(1){sp=q[np+12>>2];qp=q[np+24>>2];rp=lp+ -1|0;mp=qp+rp|0;pp=(mp>>>0)/341|0;mp=q[sp+(pp<<2)>>2]+w(mp-w(pp,341)|0,12)|0;up=q[mp+8>>2];op=q[mp+4>>2];pp=q[mp>>2];q[np+28>>2]=rp;mp=q[np+16>>2];rp=mp-sp|0;if(((rp?w(rp>>2,341)+ -1|0:0)-(lp+qp|0)|0)+1>>>0>=682){An(q[mp+ -4>>2]);q[np+16>>2]=q[np+16>>2]+ -4}if(pp>>>0>$k>>>0){break d}lp=q[a+12>>2];qp=(op|0)==(lp+ -1|0)?0:op+1|0;if(qp>>>0>=lp>>>0){break d}lp=q[zp>>2];op=w(up,12);rp=lp+op|0;e:{f:{sp=qp<<2;wp=op+q[Ap>>2]|0;mp=q[a>>2]-q[sp+q[wp>>2]>>2]|0;if(!mp){if(!pp){break f}mp=0;while(1){lp=q[rp>>2];qp=q[lp>>2];q[np+32>>2]=qp;q[np+36>>2]=q[lp+4>>2];q[np+40>>2]=q[lp+8>>2];op=q[Ql>>2];up=op+4|0;lp=q[up>>2];g:{if(lp>>>0<t[op+8>>2]){q[lp>>2]=qp;q[lp+4>>2]=q[np+36>>2];q[lp+8>>2]=q[np+40>>2];q[up>>2]=lp+12;break g}Dl(op,np+32|0)}q[a+8>>2]=q[a+8>>2]+1;mp=mp+1|0;if((pp|0)!=(mp|0)){continue}break}break f}h:{i:{j:{k:{if(pp>>>0<=2){op=q[Bp>>2];q[op>>2]=qp;mp=1;lp=q[a+12>>2];if(lp>>>0>1){break k}break h}if(t[a+8>>2]>t[a+4>>2]){break d}tp=lp;lp=op+12|0;hd(tp+lp|0,q[rp>>2],q[rp+4>>2]);lp=sp+q[lp+q[zp>>2]>>2]|0;q[lp>>2]=q[lp>>2]+(1<<mp+ -1);mp=0;lp=0;rp=z(pp)^31;if(rp){while(1){mp=dh(((lp<<4)+a|0)+16|0)|mp<<1;lp=lp+1|0;if((rp|0)!=(lp|0)){continue}break}}vp=up+1|0;mp=(pp>>>1)-mp|0;lp=pp-mp|0;l:{if((lp|0)==(mp|0)){lp=mp;break l}pp=q[a+596>>2];if((pp|0)==q[Fp>>2]){break j}rp=q[pp>>2];tp=q[a+600>>2];wp=tp+1|0;q[a+600>>2]=wp;rp=rp&-2147483648>>>tp;m:{if((wp|0)==32){q[a+600>>2]=0;q[a+596>>2]=pp+4;if(rp){break m}break j}if(!rp){break j}}}pp=lp;lp=mp;break i}while(1){qp=(lp+ -1|0)==(qp|0)?0:qp+1|0;q[op+(mp<<2)>>2]=qp;mp=mp+1|0;lp=q[a+12>>2];if(mp>>>0<lp>>>0){continue}break}break h}pp=mp}mp=q[Ap>>2];op=mp+op|0;rp=q[op>>2];sp=rp+sp|0;q[sp>>2]=q[sp>>2]+1;hd(mp+w(vp,12)|0,rp,q[op+4>>2]);if(lp){rp=q[np+28>>2]+q[np+24>>2]|0;sp=q[np+16>>2];mp=q[np+12>>2];op=sp-mp|0;if((rp|0)==((op?w(op>>2,341)+ -1|0:0)|0)){re(np+8|0);rp=q[np+24>>2]+q[np+28>>2]|0;sp=q[np+16>>2];mp=q[np+12>>2]}op=0;n:{if((mp|0)==(sp|0)){break n}op=mp;mp=(rp>>>0)/341|0;op=q[op+(mp<<2)>>2]+w(rp-w(mp,341)|0,12)|0}q[op+8>>2]=up;q[op+4>>2]=qp;q[op>>2]=lp;q[np+28>>2]=q[np+28>>2]+1}if(!pp){break f}mp=q[np+28>>2]+q[np+24>>2]|0;rp=q[np+16>>2];lp=q[np+12>>2];op=rp-lp|0;if((mp|0)==((op?w(op>>2,341)+ -1|0:0)|0)){re(np+8|0);rp=q[np+16>>2];mp=q[np+24>>2]+q[np+28>>2]|0;lp=q[np+12>>2]}if((lp|0)==(rp|0)){lp=0}else{op=lp;lp=(mp>>>0)/341|0;lp=q[op+(lp<<2)>>2]+w(mp-w(lp,341)|0,12)|0}q[lp+8>>2]=vp;q[lp+4>>2]=qp;q[lp>>2]=pp;lp=q[np+28>>2]+1|0;q[np+28>>2]=lp;break e}if(!pp){break f}up=0;while(1){o:{if(!lp){mp=q[Cp>>2];break o}mp=q[Cp>>2];Gp=q[Bp>>2];Hp=q[rp>>2];Ip=q[wp>>2];lp=0;while(1){sp=Gp+(lp<<2)|0;q[(q[sp>>2]<<2)+mp>>2]=0;qp=q[sp>>2]<<2;op=q[a>>2]-q[qp+Ip>>2]|0;p:{if(!op){break p}qp=mp+qp|0;vp=q[a+560>>2];xp=32-vp|0;if((op|0)<=(xp|0)){tp=q[yp>>2];if((tp|0)==q[Dp>>2]){q[qp>>2]=0;break p}q[qp>>2]=q[tp>>2]<<vp>>>32-op;op=op+q[a+560>>2]|0;q[a+560>>2]=op;if((op|0)!=32){break p}q[a+560>>2]=0;q[yp>>2]=tp+4;break p}tp=q[yp>>2];Ep=tp+4|0;if((Ep|0)==q[Dp>>2]){q[qp>>2]=0;break p}Jp=q[tp>>2];q[yp>>2]=Ep;xp=op-xp|0;q[a+560>>2]=xp;q[qp>>2]=q[tp+4>>2]>>>32-xp|Jp<<vp>>>32-op}op=q[sp>>2]<<2;qp=op+mp|0;q[qp>>2]=q[qp>>2]|q[op+Hp>>2];lp=lp+1|0;if(lp>>>0<t[a+12>>2]){continue}break}}op=q[mp>>2];q[np+32>>2]=op;q[np+36>>2]=q[mp+4>>2];q[np+40>>2]=q[mp+8>>2];mp=q[Ql>>2];qp=mp+4|0;lp=q[qp>>2];q:{if(lp>>>0<t[mp+8>>2]){q[lp>>2]=op;q[lp+4>>2]=q[np+36>>2];q[lp+8>>2]=q[np+40>>2];q[qp>>2]=lp+12;break q}Dl(mp,np+32|0)}q[a+8>>2]=q[a+8>>2]+1;up=up+1|0;if((up|0)==(pp|0)){break f}lp=q[a+12>>2];continue}}lp=q[np+28>>2]}if(lp){continue}break}}se(np+8|0);a=q[np+12>>2];$k=q[np+16>>2];r:{if((a|0)==($k|0)){break r}while(1){An(q[a>>2]);a=a+4|0;if(($k|0)!=(a|0)){continue}break}a=q[np+16>>2];$k=q[np+12>>2];if((a|0)==($k|0)){break r}q[np+16>>2]=a+(((a-$k|0)+ -4>>>2^-1)<<2)}a=q[np+8>>2];if(a){An(a)}T=np+48|0;return}bn();F()}bn();F()}function Cl(a,$k,Ql){var Kp=0,Lp=0,Mp=0,Np=0,Op=0,Pp=0,Qp=0,Rp=0,Sp=0,Tp=0,Up=0,Vp=0,Wp=0,Xp=0,Yp=0,Zp=0,_p=0,$p=0,aq=0,bq=0,cq=0,dq=0,eq=0,fq=0,gq=0;Mp=T-48|0;T=Mp;Kp=q[a+12>>2];q[Mp+16>>2]=0;q[Mp+8>>2]=0;q[Mp+12>>2]=0;a:{if(Kp){if(Kp>>>0>=1073741824){break a}Lp=Kp<<2;Op=Mm(Lp);q[Mp+8>>2]=Op;q[Mp+12>>2]=Op;q[Mp+16>>2]=Lp+Op;Np=Dn(Op,0,Lp);Lp=Kp;while(1){Np=Np+4|0;Lp=Lp+ -1|0;if(Lp){continue}break}q[Mp+12>>2]=Np}Lp=q[a+628>>2];Pp=q[Lp>>2];if(Pp){q[Lp+4>>2]=Pp;An(Pp);q[Lp+8>>2]=0;q[Lp>>2]=0;q[Lp+4>>2]=0;Np=q[Mp+12>>2];Op=q[Mp+8>>2];Kp=q[a+12>>2]}q[Lp>>2]=Op;q[Lp+4>>2]=Np;q[Lp+8>>2]=q[Mp+16>>2];Np=0;q[Mp+16>>2]=0;q[Mp+8>>2]=0;q[Mp+12>>2]=0;Lp=0;b:{if(Kp){if(Kp>>>0>=1073741824){break b}Op=Kp<<2;Lp=Mm(Op);q[Mp+8>>2]=Lp;q[Mp+12>>2]=Lp;q[Mp+16>>2]=Lp+Op;Np=Dn(Lp,0,Op);while(1){Np=Np+4|0;Kp=Kp+ -1|0;if(Kp){continue}break}q[Mp+12>>2]=Np}Kp=q[a+640>>2];Op=q[Kp>>2];if(Op){q[Kp+4>>2]=Op;An(Op);q[Kp+8>>2]=0;q[Kp>>2]=0;q[Kp+4>>2]=0;Np=q[Mp+12>>2];Lp=q[Mp+8>>2]}q[Kp>>2]=Lp;q[Kp+4>>2]=Np;q[Kp+8>>2]=q[Mp+16>>2];Lp=Mp+24|0;q[Lp>>2]=0;q[Lp+4>>2]=0;Op=Mp+16|0;q[Op>>2]=0;q[Op+4>>2]=0;q[Mp+8>>2]=0;q[Mp+12>>2]=0;re(Mp+8|0);Pp=q[Op>>2];Op=q[Mp+12>>2];Kp=0;c:{if((Pp|0)==(Op|0)){break c}Kp=q[Lp>>2]+q[Mp+28>>2]|0;Lp=(Kp>>>0)/341|0;Kp=q[Op+(Lp<<2)>>2]+w(Kp-w(Lp,341)|0,12)|0}q[Kp+4>>2]=0;q[Kp+8>>2]=0;q[Kp>>2]=$k;Lp=q[Mp+28>>2];Kp=Lp+1|0;q[Mp+28>>2]=Kp;d:{if(Kp>>>0<Lp>>>0){break d}_p=a+640|0;Zp=a+628|0;$p=a+616|0;aq=a+604|0;Xp=a+556|0;bq=a+548|0;dq=a+588|0;while(1){Rp=q[Mp+12>>2];Pp=q[Mp+24>>2];Np=Kp+ -1|0;Lp=Pp+Np|0;Op=(Lp>>>0)/341|0;Lp=q[Rp+(Op<<2)>>2]+w(Lp-w(Op,341)|0,12)|0;Qp=q[Lp+8>>2];Op=q[Lp>>2];q[Mp+28>>2]=Np;Lp=q[Mp+16>>2];Np=Lp-Rp|0;if(((Np?w(Np>>2,341)+ -1|0:0)-(Kp+Pp|0)|0)+1>>>0>=682){An(q[Lp+ -4>>2]);q[Mp+16>>2]=q[Mp+16>>2]+ -4}Lp=0;if(Op>>>0>$k>>>0){break d}Kp=q[Zp>>2];Rp=w(Qp,12);Sp=Rp+q[_p>>2]|0;Np=nl(a,Op,Sp);if(Np>>>0>=t[a+12>>2]){break d}Pp=Kp+Rp|0;e:{f:{Tp=Np<<2;Vp=q[a>>2]-q[Tp+q[Sp>>2]>>2]|0;if(!Vp){if(!Op){break f}while(1){Kp=q[Pp>>2];Qp=q[Kp>>2];q[Mp+32>>2]=Qp;q[Mp+36>>2]=q[Kp+4>>2];q[Mp+40>>2]=q[Kp+8>>2];Np=q[Ql>>2];Rp=Np+4|0;Kp=q[Rp>>2];g:{if(Kp>>>0<t[Np+8>>2]){q[Kp>>2]=Qp;q[Kp+4>>2]=q[Mp+36>>2];q[Kp+8>>2]=q[Mp+40>>2];q[Rp>>2]=Kp+12;break g}Dl(Np,Mp+32|0)}q[a+8>>2]=q[a+8>>2]+1;Lp=Lp+1|0;if((Op|0)!=(Lp|0)){continue}break}break f}h:{i:{j:{k:{if(Op>>>0<=2){Qp=q[$p>>2];q[Qp>>2]=Np;Lp=1;Kp=q[a+12>>2];if(Kp>>>0>1){break k}break h}if(t[a+8>>2]>t[a+4>>2]){break d}Kp=q[Zp>>2];Up=Qp+1|0;Sp=w(Up,12);Lp=Kp+Sp|0;if((Lp|0)!=(Pp|0)){hd(Lp,q[Pp>>2],q[Pp+4>>2]);Kp=q[Zp>>2]}Kp=Tp+q[Kp+Sp>>2]|0;q[Kp>>2]=q[Kp>>2]+(1<<Vp+ -1);Lp=0;Kp=0;Pp=z(Op)^31;if(Pp){while(1){Lp=dh(((Kp<<4)+a|0)+16|0)|Lp<<1;Kp=Kp+1|0;if((Pp|0)!=(Kp|0)){continue}break}}Lp=(Op>>>1)-Lp|0;Kp=Op-Lp|0;l:{if((Kp|0)==(Lp|0)){Kp=Lp;break l}Op=q[a+596>>2];if((Op|0)==q[dq>>2]){break j}Pp=q[Op>>2];Vp=q[a+600>>2];Yp=Vp+1|0;q[a+600>>2]=Yp;Pp=Pp&-2147483648>>>Vp;m:{if((Yp|0)==32){q[a+600>>2]=0;q[a+596>>2]=Op+4;if(Pp){break m}break j}if(!Pp){break j}}}Op=Kp;Kp=Lp;break i}while(1){Np=(Kp+ -1|0)==(Np|0)?0:Np+1|0;q[Qp+(Lp<<2)>>2]=Np;Lp=Lp+1|0;Kp=q[a+12>>2];if(Lp>>>0<Kp>>>0){continue}break}break h}Op=Lp}Lp=q[_p>>2];Pp=Lp+Rp|0;Rp=q[Pp>>2];Tp=Rp+Tp|0;q[Tp>>2]=q[Tp>>2]+1;hd(Lp+Sp|0,Rp,q[Pp+4>>2]);if(Kp){Rp=q[Mp+28>>2]+q[Mp+24>>2]|0;Sp=q[Mp+16>>2];Lp=q[Mp+12>>2];Pp=Sp-Lp|0;if((Rp|0)==((Pp?w(Pp>>2,341)+ -1|0:0)|0)){re(Mp+8|0);Rp=q[Mp+24>>2]+q[Mp+28>>2]|0;Sp=q[Mp+16>>2];Lp=q[Mp+12>>2]}Pp=0;n:{if((Lp|0)==(Sp|0)){break n}Pp=Lp;Lp=(Rp>>>0)/341|0;Pp=q[Pp+(Lp<<2)>>2]+w(Rp-w(Lp,341)|0,12)|0}q[Pp+8>>2]=Qp;q[Pp+4>>2]=Np;q[Pp>>2]=Kp;q[Mp+28>>2]=q[Mp+28>>2]+1}if(!Op){break f}Lp=q[Mp+28>>2]+q[Mp+24>>2]|0;Pp=q[Mp+16>>2];Kp=q[Mp+12>>2];Qp=Pp-Kp|0;if((Lp|0)==((Qp?w(Qp>>2,341)+ -1|0:0)|0)){re(Mp+8|0);Pp=q[Mp+16>>2];Lp=q[Mp+24>>2]+q[Mp+28>>2]|0;Kp=q[Mp+12>>2]}if((Kp|0)==(Pp|0)){Kp=0}else{Pp=Kp;Kp=(Lp>>>0)/341|0;Kp=q[Pp+(Kp<<2)>>2]+w(Lp-w(Kp,341)|0,12)|0}q[Kp+8>>2]=Up;q[Kp+4>>2]=Np;q[Kp>>2]=Op;Kp=q[Mp+28>>2]+1|0;q[Mp+28>>2]=Kp;break e}if(!Op){break f}Rp=0;while(1){o:{if(!Kp){Lp=q[aq>>2];break o}Lp=q[aq>>2];Yp=q[$p>>2];eq=q[Pp>>2];fq=q[Sp>>2];Kp=0;while(1){Tp=Yp+(Kp<<2)|0;q[(q[Tp>>2]<<2)+Lp>>2]=0;Qp=q[Tp>>2]<<2;Np=q[a>>2]-q[Qp+fq>>2]|0;p:{if(!Np){break p}Qp=Lp+Qp|0;Vp=q[a+560>>2];Wp=32-Vp|0;if((Np|0)<=(Wp|0)){Up=q[Xp>>2];if((Up|0)==q[bq>>2]){q[Qp>>2]=0;break p}q[Qp>>2]=q[Up>>2]<<Vp>>>32-Np;Np=Np+q[a+560>>2]|0;q[a+560>>2]=Np;if((Np|0)!=32){break p}q[a+560>>2]=0;q[Xp>>2]=Up+4;break p}Up=q[Xp>>2];cq=Up+4|0;if((cq|0)==q[bq>>2]){q[Qp>>2]=0;break p}gq=q[Up>>2];q[Xp>>2]=cq;Wp=Np-Wp|0;q[a+560>>2]=Wp;q[Qp>>2]=q[Up+4>>2]>>>32-Wp|gq<<Vp>>>32-Np}Np=q[Tp>>2]<<2;Qp=Np+Lp|0;q[Qp>>2]=q[Qp>>2]|q[Np+eq>>2];Kp=Kp+1|0;if(Kp>>>0<t[a+12>>2]){continue}break}}Np=q[Lp>>2];q[Mp+32>>2]=Np;q[Mp+36>>2]=q[Lp+4>>2];q[Mp+40>>2]=q[Lp+8>>2];Lp=q[Ql>>2];Qp=Lp+4|0;Kp=q[Qp>>2];q:{if(Kp>>>0<t[Lp+8>>2]){q[Kp>>2]=Np;q[Kp+4>>2]=q[Mp+36>>2];q[Kp+8>>2]=q[Mp+40>>2];q[Qp>>2]=Kp+12;break q}Dl(Lp,Mp+32|0)}q[a+8>>2]=q[a+8>>2]+1;Rp=Rp+1|0;if((Rp|0)==(Op|0)){break f}Kp=q[a+12>>2];continue}}Kp=q[Mp+28>>2]}if(Kp){continue}break}}se(Mp+8|0);a=q[Mp+12>>2];$k=q[Mp+16>>2];r:{if((a|0)==($k|0)){break r}while(1){An(q[a>>2]);a=a+4|0;if(($k|0)!=(a|0)){continue}break}a=q[Mp+16>>2];$k=q[Mp+12>>2];if((a|0)==($k|0)){break r}q[Mp+16>>2]=a+(((a-$k|0)+ -4>>>2^-1)<<2)}a=q[Mp+8>>2];if(a){An(a)}T=Mp+48|0;return}bn();F()}bn();F()}function Dl(a,$k){var Ql=0,Dn=0,hq=0,iq=0,jq=0,kq=0;a:{hq=q[a+4>>2];jq=q[a>>2];Dn=(hq-jq|0)/12|0;iq=Dn+1|0;if(iq>>>0<357913942){kq=w(Dn,12);Ql=(q[a+8>>2]-jq|0)/12|0;Dn=Ql<<1;Dn=Ql>>>0<178956970?Dn>>>0<iq>>>0?iq:Dn:357913941;iq=0;b:{if(!Dn){break b}if(Dn>>>0>=357913942){break a}iq=Mm(w(Dn,12))}Ql=kq+iq|0;q[Ql>>2]=q[$k>>2];q[Ql+4>>2]=q[$k+4>>2];q[Ql+8>>2]=q[$k+8>>2];Dn=iq+w(Dn,12)|0;$k=Ql+12|0;if((hq|0)!=(jq|0)){while(1){Ql=Ql+ -12|0;hq=hq+ -12|0;q[Ql>>2]=q[hq>>2];q[Ql+4>>2]=q[hq+4>>2];q[Ql+8>>2]=q[hq+8>>2];if((hq|0)!=(jq|0)){continue}break}hq=jq}q[a>>2]=Ql;q[a+8>>2]=Dn;q[a+4>>2]=$k;if(hq){An(hq)}return}bn();F()}ab(14557);F()}function El(a){var $k=0;$k=r[a+74|0];o[a+74|0]=$k+ -1|$k;$k=q[a>>2];if($k&8){q[a>>2]=$k|32;return-1}q[a+4>>2]=0;q[a+8>>2]=0;$k=q[a+44>>2];q[a+28>>2]=$k;q[a+20>>2]=$k;q[a+16>>2]=$k+q[a+48>>2];return 0}function Fl(a,Mm,bn){var An=0,lq=0,mq=0,nq=0;An=q[bn+16>>2];a:{if(!An){if(El(bn)){break a}An=q[bn+16>>2]}mq=q[bn+20>>2];if(An-mq>>>0<Mm>>>0){return n[q[bn+36>>2]](bn,a,Mm)|0}b:{if(o[bn+75|0]<0){break b}lq=Mm;while(1){An=lq;if(!An){break b}lq=An+ -1|0;if(r[lq+a|0]!=10){continue}break}lq=n[q[bn+36>>2]](bn,a,An)|0;if(lq>>>0<An>>>0){break a}Mm=Mm-An|0;a=a+An|0;mq=q[bn+20>>2];nq=An}Cn(mq,a,Mm);q[bn+20>>2]=q[bn+20>>2]+Mm;lq=Mm+nq|0}return lq}function Gl(a,Mm,bn){a:{if(q[bn+76>>2]<=-1){a=Fl(a,Mm,bn);break a}a=Fl(a,Mm,bn)}}function Hl(a){a=a|0}function Il(a,Mm,bn,oq,pq){var qq=0,rq=0,sq=0;qq=T-208|0;T=qq;q[qq+204>>2]=bn;bn=0;Dn(qq+160|0,0,40);q[qq+200>>2]=q[qq+204>>2];a:{if((Jl(0,Mm,qq+200|0,qq+80|0,qq+160|0,oq,pq)|0)<0){Mm=-1;break a}bn=q[a+76>>2]>=0?1:bn;rq=q[a>>2];if(o[a+74|0]<=0){q[a>>2]=rq&-33}sq=rq&32;b:{if(q[a+48>>2]){Mm=Jl(a,Mm,qq+200|0,qq+80|0,qq+160|0,oq,pq);break b}q[a+48>>2]=80;q[a+16>>2]=qq+80;q[a+28>>2]=qq;q[a+20>>2]=qq;rq=q[a+44>>2];q[a+44>>2]=qq;oq=Jl(a,Mm,qq+200|0,qq+80|0,qq+160|0,oq,pq);Mm=oq;if(!rq){break b}n[q[a+36>>2]](a,0,0)|0;q[a+48>>2]=0;q[a+44>>2]=rq;q[a+28>>2]=0;q[a+16>>2]=0;Mm=q[a+20>>2];q[a+20>>2]=0;Mm=Mm?oq:-1}oq=a;a=q[a>>2];q[oq>>2]=a|sq;Mm=a&32?-1:Mm;if(!bn){break a}}T=qq+208|0;return Mm}function Jl(a,Mm,bn,oq,pq,tq,uq){var vq=0,wq=0,xq=0,yq=0,zq=0,Aq=0,Bq=0,Cq=0,Dq=0,Eq=0,Fq=0,Gq=0,Hq=0,Iq=0,Jq=0;vq=T-80|0;T=vq;q[vq+76>>2]=Mm;Jq=vq+55|0;Gq=vq+56|0;Mm=0;a:{b:while(1){c:{if((Dq|0)<0){break c}if((Mm|0)>(2147483647-Dq|0)){q[4458]=61;Dq=-1;break c}Dq=Mm+Dq|0}d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{zq=q[vq+76>>2];Mm=zq;yq=r[Mm|0];if(yq){while(1){r:{s:{wq=yq&255;t:{if(!wq){yq=Mm;break t}if((wq|0)!=37){break s}yq=Mm;while(1){if(r[Mm+1|0]!=37){break t}wq=Mm+2|0;q[vq+76>>2]=wq;yq=yq+1|0;xq=r[Mm+2|0];Mm=wq;if((xq|0)==37){continue}break}}Mm=yq-zq|0;if(a){Kl(a,zq,Mm)}if(Mm){continue b}Eq=-1;yq=1;wq=vq;Aq=!Zl(o[q[vq+76>>2]+1|0]);Mm=q[vq+76>>2];if(!(Aq|r[Mm+2|0]!=36)){Eq=o[Mm+1|0]+ -48|0;Hq=1;yq=3}Mm=yq+Mm|0;q[wq+76>>2]=Mm;yq=0;Fq=o[Mm|0];xq=Fq+ -32|0;u:{if(xq>>>0>31){wq=Mm;break u}wq=Mm;xq=1<<xq;if(!(xq&75913)){break u}while(1){wq=Mm+1|0;q[vq+76>>2]=wq;yq=xq|yq;Fq=o[Mm+1|0];xq=Fq+ -32|0;if(xq>>>0>31){break u}Mm=wq;xq=1<<xq;if(xq&75913){continue}break}}v:{if((Fq|0)==42){Aq=vq;w:{x:{if(!Zl(o[wq+1|0])){break x}Mm=q[vq+76>>2];if(r[Mm+2|0]!=36){break x}q[((o[Mm+1|0]<<2)+pq|0)+ -192>>2]=10;Bq=q[((o[Mm+1|0]<<3)+oq|0)+ -384>>2];Hq=1;Mm=Mm+3|0;break w}if(Hq){break q}Hq=0;Bq=0;if(a){Mm=q[bn>>2];q[bn>>2]=Mm+4;Bq=q[Mm>>2]}Mm=q[vq+76>>2]+1|0}q[Aq+76>>2]=Mm;if((Bq|0)>-1){break v}Bq=0-Bq|0;yq=yq|8192;break v}Bq=Ll(vq+76|0);if((Bq|0)<0){break q}Mm=q[vq+76>>2]}xq=-1;y:{if(r[Mm|0]!=46){break y}if(r[Mm+1|0]==42){z:{if(!Zl(o[Mm+2|0])){break z}Mm=q[vq+76>>2];if(r[Mm+3|0]!=36){break z}q[((o[Mm+2|0]<<2)+pq|0)+ -192>>2]=10;xq=q[((o[Mm+2|0]<<3)+oq|0)+ -384>>2];Mm=Mm+4|0;q[vq+76>>2]=Mm;break y}if(Hq){break q}if(a){Mm=q[bn>>2];q[bn>>2]=Mm+4;xq=q[Mm>>2]}else{xq=0}Mm=q[vq+76>>2]+2|0;q[vq+76>>2]=Mm;break y}q[vq+76>>2]=Mm+1;xq=Ll(vq+76|0);Mm=q[vq+76>>2]}wq=0;while(1){Iq=wq;Cq=-1;if(o[Mm|0]+ -65>>>0>57){break a}Fq=Mm+1|0;q[vq+76>>2]=Fq;wq=o[Mm|0];Mm=Fq;wq=r[(wq+w(Iq,58)|0)+14591|0];if(wq+ -1>>>0<8){continue}break}if(!wq){break a}A:{B:{C:{if((wq|0)==19){if((Eq|0)<=-1){break C}break a}if((Eq|0)<0){break B}q[(Eq<<2)+pq>>2]=wq;Mm=(Eq<<3)+oq|0;wq=q[Mm+4>>2];q[vq+64>>2]=q[Mm>>2];q[vq+68>>2]=wq}Mm=0;if(!a){continue b}break A}if(!a){break d}Ml(vq- -64|0,wq,bn,uq);Fq=q[vq+76>>2]}Aq=yq&-65537;yq=yq&8192?Aq:yq;Cq=0;Eq=14625;wq=Gq;Mm=o[Fq+ -1|0];Mm=Iq?(Mm&15)==3?Mm&-33:Mm:Mm;Fq=Mm+ -88|0;if(Fq>>>0<=32){break r}D:{E:{F:{G:{Aq=Mm+ -65|0;if(Aq>>>0>6){if((Mm|0)!=83){break e}if(!xq){break G}wq=q[vq+64>>2];break E}switch(Aq-1|0){case 1:break F;case 0:case 2:break e;default:break p}}Mm=0;Nl(a,32,Bq,0,yq);break D}q[vq+12>>2]=0;q[vq+8>>2]=q[vq+64>>2];q[vq+64>>2]=vq+8;xq=-1;wq=vq+8|0}Mm=0;H:{while(1){zq=q[wq>>2];if(!zq){break H}zq=_l(vq+4|0,zq);Aq=(zq|0)<0;if(!(Aq|zq>>>0>xq-Mm>>>0)){wq=wq+4|0;Mm=Mm+zq|0;if(xq>>>0>Mm>>>0){continue}break H}break}Cq=-1;if(Aq){break a}}Nl(a,32,Bq,Mm,yq);if(!Mm){Mm=0;break D}xq=0;wq=q[vq+64>>2];while(1){zq=q[wq>>2];if(!zq){break D}zq=_l(vq+4|0,zq);xq=zq+xq|0;if((xq|0)>(Mm|0)){break D}Kl(a,vq+4|0,zq);wq=wq+4|0;if(xq>>>0<Mm>>>0){continue}break}}Nl(a,32,Bq,Mm,yq^8192);Mm=(Bq|0)>(Mm|0)?Bq:Mm;continue b}wq=Mm+1|0;q[vq+76>>2]=wq;yq=r[Mm+1|0];Mm=wq;continue}break}switch(Fq-1|0){case 21:break i;case 23:break k;case 22:break l;case 11:case 16:break m;case 10:break n;case 26:break o;case 8:case 12:case 13:case 14:break p;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 15:case 17:case 18:case 19:case 20:case 24:case 25:case 27:case 29:case 30:break e;case 28:break h;default:break j}}Cq=Dq;if(a){break a}if(!Hq){break d}Mm=1;while(1){a=q[(Mm<<2)+pq>>2];if(a){Ml((Mm<<3)+oq|0,a,bn,uq);Cq=1;Mm=Mm+1|0;if((Mm|0)!=10){continue}break a}break}Cq=1;if(Mm>>>0>=10){break a}while(1){if(q[(Mm<<2)+pq>>2]){break q}a=Mm>>>0>8;Mm=Mm+1|0;if(!a){continue}break}break a}Cq=-1;break a}Mm=n[tq](a,v[vq+64>>3],Bq,xq,yq,Mm)|0;continue}Mm=q[vq+64>>2];zq=Mm?Mm:14635;Mm=em(zq,xq);wq=Mm?Mm:xq+zq|0;yq=Aq;xq=Mm?Mm-zq|0:xq;break e}o[vq+55|0]=q[vq+64>>2];xq=1;zq=Jq;yq=Aq;break e}Aq=q[vq+68>>2];Mm=Aq;zq=q[vq+64>>2];if((Mm|0)<-1?1:(Mm|0)<=-1?zq>>>0>4294967295?0:1:0){Mm=0-(Mm+(0<zq>>>0)|0)|0;zq=0-zq|0;q[vq+64>>2]=zq;q[vq+68>>2]=Mm;Cq=1;Eq=14625;break g}if(yq&2048){Cq=1;Eq=14626;break g}Cq=yq&1;Eq=Cq?14627:14625;break g}zq=Ol(q[vq+64>>2],q[vq+68>>2],Gq);if(!(yq&8)){break f}Mm=Gq-zq|0;xq=(xq|0)>(Mm|0)?xq:Mm+1|0;break f}xq=xq>>>0>8?xq:8;yq=yq|8;Mm=120}zq=Pl(q[vq+64>>2],q[vq+68>>2],Gq,Mm&32);if(!(yq&8)|!(q[vq+64>>2]|q[vq+68>>2])){break f}Eq=(Mm>>>4)+14625|0;Cq=2;break f}Mm=0;wq=Iq&255;if(wq>>>0>7){continue}I:{switch(wq-1|0){default:q[q[vq+64>>2]>>2]=Dq;continue;case 0:q[q[vq+64>>2]>>2]=Dq;continue;case 1:wq=q[vq+64>>2];q[wq>>2]=Dq;q[wq+4>>2]=Dq>>31;continue;case 2:p[q[vq+64>>2]>>1]=Dq;continue;case 3:o[q[vq+64>>2]]=Dq;continue;case 5:q[q[vq+64>>2]>>2]=Dq;continue;case 4:continue;case 6:break I}}wq=q[vq+64>>2];q[wq>>2]=Dq;q[wq+4>>2]=Dq>>31;continue}zq=q[vq+64>>2];Mm=q[vq+68>>2];Eq=14625}zq=Ql(zq,Mm,Gq)}yq=(xq|0)>-1?yq&-65537:yq;Mm=q[vq+64>>2];Aq=q[vq+68>>2];J:{if(!(!!(Mm|Aq)|xq)){zq=Gq;xq=0;break J}Mm=!(Mm|Aq)+(Gq-zq|0)|0;xq=(xq|0)>(Mm|0)?xq:Mm}}Aq=wq-zq|0;xq=(xq|0)<(Aq|0)?Aq:xq;wq=xq+Cq|0;Mm=(Bq|0)<(wq|0)?wq:Bq;Nl(a,32,Mm,wq,yq);Kl(a,Eq,Cq);Nl(a,48,Mm,wq,yq^65536);Nl(a,48,xq,Aq,0);Kl(a,zq,Aq);Nl(a,32,Mm,wq,yq^8192);continue}break}Cq=0}T=vq+80|0;return Cq}function Kl(a,q,Mm){if(!(r[a|0]&32)){Fl(q,Mm,a)}}function Ll(a){var Mm=0,bn=0,oq=0;if(Zl(o[q[a>>2]])){while(1){Mm=q[a>>2];oq=o[Mm|0];q[a>>2]=Mm+1;bn=(w(bn,10)+oq|0)+ -48|0;if(Zl(o[Mm+1|0])){continue}break}}return bn}function Ml(a,pq,tq,uq){a:{b:{if(pq>>>0>20){break b}pq=pq+ -9|0;if(pq>>>0>9){break b}c:{switch(pq-1|0){default:pq=q[tq>>2];q[tq>>2]=pq+4;q[a>>2]=q[pq>>2];return;case 0:pq=q[tq>>2];q[tq>>2]=pq+4;pq=q[pq>>2];q[a>>2]=pq;q[a+4>>2]=pq>>31;return;case 1:pq=q[tq>>2];q[tq>>2]=pq+4;q[a>>2]=q[pq>>2];q[a+4>>2]=0;return;case 3:pq=q[tq>>2];q[tq>>2]=pq+4;pq=p[pq>>1];q[a>>2]=pq;q[a+4>>2]=pq>>31;return;case 4:pq=q[tq>>2];q[tq>>2]=pq+4;q[a>>2]=s[pq>>1];q[a+4>>2]=0;return;case 5:pq=q[tq>>2];q[tq>>2]=pq+4;pq=o[pq|0];q[a>>2]=pq;q[a+4>>2]=pq>>31;return;case 6:pq=q[tq>>2];q[tq>>2]=pq+4;q[a>>2]=r[pq|0];q[a+4>>2]=0;return;case 2:case 7:break a;case 8:break c}}n[uq](a,tq)}return}pq=q[tq>>2]+7&-8;q[tq>>2]=pq+8;tq=q[pq+4>>2];q[a>>2]=q[pq>>2];q[a+4>>2]=tq}function Nl(a,q,pq,tq,uq){var Kq=0,Lq=0,Mq=0;Kq=T-256|0;T=Kq;if(!(uq&73728|(pq|0)<=(tq|0))){uq=pq-tq|0;Lq=uq>>>0<256;Dn(Kq,q,Lq?uq:256);q=a;Mq=Kq;if(!Lq){pq=pq-tq|0;while(1){Kl(a,Kq,256);uq=uq+ -256|0;if(uq>>>0>255){continue}break}uq=pq&255}Kl(q,Mq,uq)}T=Kq+256|0}function Ol(a,q,pq){if(a|q){while(1){pq=pq+ -1|0;o[pq|0]=a&7|48;a=(q&7)<<29|a>>>3;q=q>>>3;if(a|q){continue}break}}return pq}function Pl(a,q,pq,tq){if(a|q){while(1){pq=pq+ -1|0;o[pq|0]=r[(a&15)+15120|0]|tq;a=(q&15)<<28|a>>>4;q=q>>>4;if(a|q){continue}break}}return pq}function Ql(a,q,pq){var tq=0,uq=0,Nq=0;a:{if((q|0)==1&a>>>0<0|q>>>0<1){tq=a;break a}while(1){tq=bo(a,q,10,0);uq=V;Nq=uq;uq=$n(tq,uq,10,0);pq=pq+ -1|0;o[pq|0]=a-uq|48;uq=(q|0)==9&a>>>0>4294967295|q>>>0>9;a=tq;q=Nq;if(uq){continue}break}}if(tq){while(1){pq=pq+ -1|0;a=(tq>>>0)/10|0;o[pq|0]=tq-w(a,10)|48;q=tq>>>0>9;tq=a;if(q){continue}break}}return pq}function Rl(a,q,pq){return Il(a,q,pq,355,356)}function Sl(a,pq,Oq,Pq,Qq,Rq){a=a|0;pq=+pq;Oq=Oq|0;Pq=Pq|0;Qq=Qq|0;Rq=Rq|0;var Sq=0,Tq=0,Uq=0,Vq=0,Wq=0,Xq=0,Yq=0,Zq=0,_q=0,$q=0,ar=0,br=0,cr=0,dr=0,er=0,fr=0,gr=0,hr=0,ir=0,jr=0,kr=0,lr=0,mr=0,nr=0,or=0;Wq=T-560|0;T=Wq;q[Wq+44>>2]=0;h(+pq);Sq=e(1)|0;a:{if(jr=1,kr=(mr=e(0)>>>0>4294967295?0:1,nr=0,or=(Sq|0)<=-1,or?mr:nr),lr=(Sq|0)<-1,lr?jr:kr){pq=-pq;h(+pq);Sq=e(1)|0;e(0)|0;er=1;fr=15136;break a}if(Qq&2048){er=1;fr=15139;break a}er=Qq&1;fr=er?15142:15137}b:{if((Sq&2146435072)==2146435072){Yq=er+3|0;Nl(a,32,Oq,Yq,Qq&-65537);Kl(a,fr,er);Pq=Rq>>>5&1;Kl(a,pq!=pq?Pq?15163:15167:Pq?15155:15159,3);break b}pq=am(pq,Wq+44|0);pq=pq+pq;if(pq!=0){q[Wq+44>>2]=q[Wq+44>>2]+ -1}br=Wq+16|0;gr=Rq|32;if((gr|0)==97){Xq=Rq&32;Tq=Xq?fr+9|0:fr;c:{if(Pq>>>0>11){break c}Sq=12-Pq|0;if(!Sq){break c}cr=8;while(1){cr=cr*16;Sq=Sq+ -1|0;if(Sq){continue}break}if(r[Tq|0]==45){pq=-(cr+(-pq-cr));break c}pq=pq+cr-cr}Vq=q[Wq+44>>2];Sq=Vq>>31;Sq=Ql(Sq^Sq+Vq,0,br);if((br|0)==(Sq|0)){o[Wq+15|0]=48;Sq=Wq+15|0}Vq=er|2;Uq=q[Wq+44>>2];_q=Sq+ -2|0;o[_q|0]=Rq+15;o[Sq+ -1|0]=(Uq|0)<0?45:43;fr=Qq&8;Uq=Wq+16|0;while(1){Rq=Uq;Yq=Xq;if(y(pq)<2147483648){Sq=~~pq}else{Sq=-2147483648}o[Uq|0]=Yq|r[Sq+15120|0];pq=(pq- +(Sq|0))*16;Uq=Rq+1|0;if(!((Uq-(Wq+16|0)|0)!=1|(pq==0?!((Pq|0)>0|fr):0))){o[Rq+1|0]=46;Uq=Rq+2|0}if(pq!=0){continue}break}Rq=a;Sq=Oq;if(!Pq|((Uq-Wq|0)+ -18|0)>=(Pq|0)){Xq=((br-(Wq+16|0)|0)-_q|0)+Uq|0}else{Xq=((Pq+br|0)-_q|0)+2|0}Pq=Xq;Yq=Pq+Vq|0;Nl(Rq,32,Sq,Yq,Qq);Kl(a,Tq,Vq);Nl(a,48,Oq,Yq,Qq^65536);Rq=Uq-(Wq+16|0)|0;Kl(a,Wq+16|0,Rq);Pq=br-_q|0;Nl(a,48,Xq-(Pq+Rq|0)|0,0,0);Kl(a,_q,Pq);break b}Sq=(Pq|0)<0;d:{if(pq==0){Tq=q[Wq+44>>2];break d}Tq=q[Wq+44>>2]+ -28|0;q[Wq+44>>2]=Tq;pq=pq*268435456}Xq=Sq?6:Pq;_q=(Tq|0)<0?Wq+48|0:Wq+336|0;Vq=_q;while(1){Pq=Vq;if(pq<4294967296&pq>=0){Sq=~~pq>>>0}else{Sq=0}q[Pq>>2]=Sq;Vq=Vq+4|0;pq=(pq- +(Sq>>>0))*1e9;if(pq!=0){continue}break}e:{if((Tq|0)<1){Sq=Vq;Uq=_q;break e}Uq=_q;while(1){Zq=(Tq|0)<29?Tq:29;Sq=Vq+ -4|0;f:{if(Sq>>>0<Uq>>>0){break f}Pq=Zq;Tq=0;while(1){Yq=Sq;hr=Tq;ar=q[Sq>>2];$q=Pq&31;if(32<=(Pq&63)>>>0){Tq=ar<<$q;ar=0}else{Tq=(1<<$q)-1&ar>>>32-$q;ar=ar<<$q}$q=hr+ar|0;Tq=Tq+ir|0;Tq=$q>>>0<ar>>>0?Tq+1|0:Tq;Tq=bo($q,Tq,1e9,0);ar=Yq;Yq=$n(Tq,V,1e9,0);q[ar>>2]=$q-Yq;Sq=Sq+ -4|0;if(Sq>>>0>=Uq>>>0){continue}break}if(!Tq){break f}Uq=Uq+ -4|0;q[Uq>>2]=Tq}while(1){Sq=Vq;if(Sq>>>0>Uq>>>0){Vq=Sq+ -4|0;if(!q[Vq>>2]){continue}}break}Tq=q[Wq+44>>2]-Zq|0;q[Wq+44>>2]=Tq;Vq=Sq;if((Tq|0)>0){continue}break}}if((Tq|0)<=-1){dr=((Xq+25|0)/9|0)+1|0;Zq=(gr|0)==102;while(1){Pq=(Tq|0)<-9?9:0-Tq|0;g:{if(Uq>>>0>=Sq>>>0){Uq=q[Uq>>2]?Uq:Uq+4|0;break g}Yq=1e9>>>Pq;$q=-1<<Pq^-1;Tq=0;Vq=Uq;while(1){ar=Tq;Tq=q[Vq>>2];q[Vq>>2]=ar+(Tq>>>Pq);Tq=w(Yq,Tq&$q);Vq=Vq+4|0;if(Vq>>>0<Sq>>>0){continue}break}Uq=q[Uq>>2]?Uq:Uq+4|0;if(!Tq){break g}q[Sq>>2]=Tq;Sq=Sq+4|0}Tq=Pq+q[Wq+44>>2]|0;q[Wq+44>>2]=Tq;Pq=Zq?_q:Uq;Sq=Sq-Pq>>2>(dr|0)?Pq+(dr<<2)|0:Sq;if((Tq|0)<0){continue}break}}Vq=0;h:{if(Uq>>>0>=Sq>>>0){break h}Vq=w(_q-Uq>>2,9);Tq=10;Pq=q[Uq>>2];if(Pq>>>0<10){break h}while(1){Vq=Vq+1|0;Tq=w(Tq,10);if(Pq>>>0>=Tq>>>0){continue}break}}Pq=(Xq-((gr|0)==102?0:Vq)|0)-((gr|0)==103&(Xq|0)!=0)|0;if((Pq|0)<(w(Sq-_q>>2,9)+ -9|0)){Tq=Pq+9216|0;Yq=(Tq|0)/9|0;Zq=(_q+(Yq<<2)|0)+ -4092|0;Pq=10;Tq=Tq-w(Yq,9)|0;if((Tq|0)<=7){while(1){Pq=w(Pq,10);Yq=(Tq|0)<7;Tq=Tq+1|0;if(Yq){continue}break}}Yq=q[Zq>>2];$q=(Yq>>>0)/(Pq>>>0)|0;dr=Zq+4|0;Tq=Yq-w(Pq,$q)|0;i:{if(Tq?0:(dr|0)==(Sq|0)){break i}ar=Pq>>>1;cr=Tq>>>0<ar>>>0?.5:(Sq|0)==(dr|0)?(ar|0)==(Tq|0)?1:1.5:1.5;pq=$q&1?9007199254740994:9007199254740992;if(!(!er|r[fr|0]!=45)){cr=-cr;pq=-pq}Tq=Yq-Tq|0;q[Zq>>2]=Tq;if(pq+cr==pq){break i}Pq=Pq+Tq|0;q[Zq>>2]=Pq;if(Pq>>>0>=1e9){while(1){q[Zq>>2]=0;Zq=Zq+ -4|0;if(Zq>>>0<Uq>>>0){Uq=Uq+ -4|0;q[Uq>>2]=0}Pq=q[Zq>>2]+1|0;q[Zq>>2]=Pq;if(Pq>>>0>999999999){continue}break}}Vq=w(_q-Uq>>2,9);Tq=10;Pq=q[Uq>>2];if(Pq>>>0<10){break i}while(1){Vq=Vq+1|0;Tq=w(Tq,10);if(Pq>>>0>=Tq>>>0){continue}break}}Pq=Zq+4|0;Sq=Sq>>>0>Pq>>>0?Pq:Sq}j:{while(1){Tq=Sq;Zq=0;if(Sq>>>0<=Uq>>>0){break j}Sq=Tq+ -4|0;if(!q[Sq>>2]){continue}break}Zq=1}k:{if((gr|0)!=103){$q=Qq&8;break k}Pq=Xq?Xq:1;Sq=(Pq|0)>(Vq|0)&(Vq|0)>-5;Xq=(Sq?Vq^-1:-1)+Pq|0;Rq=(Sq?-1:-2)+Rq|0;$q=Qq&8;if($q){break k}Sq=9;l:{if(!Zq){break l}Yq=q[Tq+ -4>>2];if(!Yq){break l}Pq=10;Sq=0;if((Yq>>>0)%10){break l}while(1){Sq=Sq+1|0;Pq=w(Pq,10);if(!((Yq>>>0)%(Pq>>>0))){continue}break}}Pq=w(Tq-_q>>2,9)+ -9|0;if((Rq|32)==102){$q=0;Pq=Pq-Sq|0;Pq=(Pq|0)>0?Pq:0;Xq=(Xq|0)<(Pq|0)?Xq:Pq;break k}$q=0;Pq=(Pq+Vq|0)-Sq|0;Pq=(Pq|0)>0?Pq:0;Xq=(Xq|0)<(Pq|0)?Xq:Pq}gr=Xq|$q;ar=(gr|0)!=0;Pq=a;hr=Oq;ir=Rq|32;Sq=(Vq|0)>0?Vq:0;m:{if((ir|0)==102){break m}Sq=Vq>>31;Sq=Ql(Sq+Vq^Sq,0,br);if((br-Sq|0)<=1){while(1){Sq=Sq+ -1|0;o[Sq|0]=48;if((br-Sq|0)<2){continue}break}}dr=Sq+ -2|0;o[dr|0]=Rq;o[Sq+ -1|0]=(Vq|0)<0?45:43;Sq=br-dr|0}Yq=(Sq+(ar+(Xq+er|0)|0)|0)+1|0;Nl(Pq,32,hr,Yq,Qq);Kl(a,fr,er);Nl(a,48,Oq,Yq,Qq^65536);n:{o:{p:{if((ir|0)==102){Pq=Wq+16|8;Rq=Wq+16|9;Vq=Uq>>>0>_q>>>0?_q:Uq;Uq=Vq;while(1){Sq=Ql(q[Uq>>2],0,Rq);q:{if((Uq|0)!=(Vq|0)){if(Sq>>>0<=Wq+16>>>0){break q}while(1){Sq=Sq+ -1|0;o[Sq|0]=48;if(Sq>>>0>Wq+16>>>0){continue}break}break q}if((Rq|0)!=(Sq|0)){break q}o[Wq+24|0]=48;Sq=Pq}Kl(a,Sq,Rq-Sq|0);Uq=Uq+4|0;if(Uq>>>0<=_q>>>0){continue}break}if(gr){Kl(a,15171,1)}if((Xq|0)<1|Uq>>>0>=Tq>>>0){break p}while(1){Sq=Ql(q[Uq>>2],0,Rq);if(Sq>>>0>Wq+16>>>0){while(1){Sq=Sq+ -1|0;o[Sq|0]=48;if(Sq>>>0>Wq+16>>>0){continue}break}}Kl(a,Sq,(Xq|0)<9?Xq:9);Sq=Xq+ -9|0;Uq=Uq+4|0;if(Uq>>>0>=Tq>>>0){break o}Pq=(Xq|0)>9;Xq=Sq;if(Pq){continue}break}break o}r:{if((Xq|0)<0){break r}_q=Zq?Tq:Uq+4|0;Pq=Wq+16|8;Rq=Wq+16|9;Vq=Uq;while(1){Sq=Ql(q[Vq>>2],0,Rq);if((Rq|0)==(Sq|0)){o[Wq+24|0]=48;Sq=Pq}s:{if((Uq|0)!=(Vq|0)){if(Sq>>>0<=Wq+16>>>0){break s}while(1){Sq=Sq+ -1|0;o[Sq|0]=48;if(Sq>>>0>Wq+16>>>0){continue}break}break s}Kl(a,Sq,1);Sq=Sq+1|0;if((Xq|0)<1?!$q:0){break s}Kl(a,15171,1)}Tq=Sq;Sq=Rq-Sq|0;Kl(a,Tq,(Xq|0)>(Sq|0)?Sq:Xq);Xq=Xq-Sq|0;Vq=Vq+4|0;if(Vq>>>0>=_q>>>0){break r}if((Xq|0)>-1){continue}break}}Nl(a,48,Xq+18|0,18,0);Kl(a,dr,br-dr|0);break n}Sq=Xq}Nl(a,48,Sq+9|0,9,0)}}Nl(a,32,Oq,Yq,Qq^8192);T=Wq+560|0;return((Yq|0)<(Oq|0)?Oq:Yq)|0}function Tl(a,pq){a=a|0;pq=pq|0;var Oq=0,Pq=0,Qq=0;Oq=pq;pq=q[pq>>2]+15&-16;q[Oq>>2]=pq+16;Pq=a,Qq=im(q[pq>>2],q[pq+4>>2],q[pq+8>>2],q[pq+12>>2]),v[Pq>>3]=Qq}function Ul(a,pq,Rq){a=a|0;pq=pq|0;Rq=Rq|0;var pr=0,qr=0,rr=0,sr=0,tr=0,ur=0;pr=T-32|0;T=pr;qr=q[a+28>>2];q[pr+16>>2]=qr;rr=q[a+20>>2];q[pr+28>>2]=Rq;q[pr+24>>2]=pq;pq=rr-qr|0;q[pr+20>>2]=pq;rr=pq+Rq|0;tr=2;pq=pr+16|0;while(1){a:{b:{if(fm(K(q[a+60>>2],pq|0,tr|0,pr+12|0)|0)){q[pr+12>>2]=-1;qr=-1;break b}qr=q[pr+12>>2]}c:{if((qr|0)==(rr|0)){pq=q[a+44>>2];q[a+28>>2]=pq;q[a+20>>2]=pq;q[a+16>>2]=pq+q[a+48>>2];a=Rq;break c}if((qr|0)>-1){break a}q[a+28>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a>>2]=q[a>>2]|32;a=0;if((tr|0)==2){break c}a=Rq-q[pq+4>>2]|0}T=pr+32|0;return a|0}sr=q[pq+4>>2];ur=qr>>>0>sr>>>0;pq=ur?pq+8|0:pq;sr=qr-(ur?sr:0)|0;q[pq>>2]=sr+q[pq>>2];q[pq+4>>2]=q[pq+4>>2]-sr;rr=rr-qr|0;tr=tr-ur|0;continue}}function Vl(a,pq,Rq,vr){a=a|0;pq=pq|0;Rq=Rq|0;vr=vr|0;var wr=0;wr=T-16|0;T=wr;a:{if(!fm(S(q[a+60>>2],pq|0,Rq|0,vr&255,wr+8|0)|0)){pq=q[wr+12>>2];a=q[wr+8>>2];break a}q[wr+8>>2]=-1;q[wr+12>>2]=-1;pq=-1;a=-1}T=wr+16|0;V=pq;return a|0}function Wl(a){a=a|0;return L(q[a+60>>2])|0}function Xl(a,q,pq,Rq){a=a|0;q=q|0;pq=pq|0;Rq=Rq|0;V=0;return 0}function Yl(a,pq){var Rq=0;Rq=T-16|0;T=Rq;q[Rq+12>>2]=pq;Il(q[3795],a,pq,0,0);T=Rq+16|0}function Zl(a){return a+ -48>>>0<10}function _l(a,q){if(!a){return 0}return $l(a,q)}function $l(a,pq){a:{if(a){if(pq>>>0<=127){break a}b:{if(!q[q[4181]>>2]){if((pq&-128)==57216){break a}break b}if(pq>>>0<=2047){o[a+1|0]=pq&63|128;o[a|0]=pq>>>6|192;return 2}if(!((pq&-8192)!=57344?pq>>>0>=55296:0)){o[a+2|0]=pq&63|128;o[a|0]=pq>>>12|224;o[a+1|0]=pq>>>6&63|128;return 3}if(pq+ -65536>>>0<=1048575){o[a+3|0]=pq&63|128;o[a|0]=pq>>>18|240;o[a+2|0]=pq>>>6&63|128;o[a+1|0]=pq>>>12&63|128;return 4}}q[4458]=25;a=-1}else{a=1}return a}o[a|0]=pq;return 1}function am(a,pq){var vr=0,xr=0,yr=0;h(+a);vr=e(1)|0;xr=e(0)|0;yr=vr;vr=vr>>>20&2047;if((vr|0)!=2047){if(!vr){vr=pq;if(a==0){pq=0}else{a=am(a*0x10000000000000000,pq);pq=q[pq>>2]+ -64|0}q[vr>>2]=pq;return a}q[pq>>2]=vr+ -1022;f(0,xr|0);f(1,yr&-2146435073|1071644672);a=+g()}return a}function bm(a){var q=0,pq=0,zr=0,Ar=0,Br=0,Cr=0;while(1){q=a;a=q+1|0;pq=o[q|0];if((pq|0)==32|pq+ -9>>>0<5){continue}break}pq=o[q|0];Ar=pq+ -43|0;a:{if(Ar>>>0>2){break a}b:{switch(Ar-1|0){case 1:Br=1;break;case 0:break a;default:break b}}pq=o[a|0];q=a;Cr=Br}if(Zl(pq)){while(1){zr=(w(zr,10)-o[q|0]|0)+48|0;a=o[q+1|0];q=q+1|0;if(Zl(a)){continue}break}}return Cr?zr:0-zr|0}function cm(a,Dr,Er){var Fr=0,Gr=0,Hr=0;a:{if(!Er){break a}while(1){Fr=r[a|0];Gr=r[Dr|0];if((Fr|0)==(Gr|0)){Dr=Dr+1|0;a=a+1|0;Er=Er+ -1|0;if(Er){continue}break a}break}Hr=Fr-Gr|0}return Hr}function dm(a){var Dr=0,Er=0,Ir=0;a:{b:{Dr=a;if(!(Dr&3)){break b}if(!r[a|0]){break a}while(1){Dr=Dr+1|0;if(!(Dr&3)){break b}if(r[Dr|0]){continue}break}break a}while(1){Er=Dr;Dr=Dr+4|0;Ir=q[Er>>2];if(!((Ir^-1)&Ir+ -16843009&-2139062144)){continue}break}if(!(Ir&255)){Dr=Er;break a}while(1){Ir=r[Er+1|0];Dr=Er+1|0;Er=Dr;if(Ir){continue}break}}return Dr-a|0}function em(a,Jr){var Kr=0,Lr=0,Mr=0;Kr=(Jr|0)!=0;a:{b:{c:{d:{if(!Jr|!(a&3)){break d}while(1){if(!r[a|0]){break c}a=a+1|0;Jr=Jr+ -1|0;Kr=(Jr|0)!=0;if(!Jr){break d}if(a&3){continue}break}}if(!Kr){break b}}if(!r[a|0]){break a}e:{if(Jr>>>0>=4){Kr=Jr+ -4|0;Lr=Kr&-4;Kr=Kr-Lr|0;Lr=(a+Lr|0)+4|0;while(1){Mr=q[a>>2];if((Mr^-1)&Mr+ -16843009&-2139062144){break e}a=a+4|0;Jr=Jr+ -4|0;if(Jr>>>0>3){continue}break}Jr=Kr;a=Lr}if(!Jr){break b}}while(1){if(!r[a|0]){break a}a=a+1|0;Jr=Jr+ -1|0;if(Jr){continue}break}}return 0}return a}function fm(a){if(!a){return 0}q[4458]=a;return-1}function gm(a,Jr,Nr,Or,Pr,Qr){var Rr=0,Sr=0,Tr=0,Ur=0;a:{if(Qr&64){Or=Jr;Pr=Qr+ -64|0;Jr=Pr&31;if(32<=(Pr&63)>>>0){Pr=Or<<Jr;Or=0}else{Pr=(1<<Jr)-1&Or>>>32-Jr|Nr<<Jr;Or=Or<<Jr}Jr=0;Nr=0;break a}if(!Qr){break a}Rr=Or;Tr=Qr;Or=Qr&31;if(32<=(Qr&63)>>>0){Sr=Rr<<Or;Ur=0}else{Sr=(1<<Or)-1&Rr>>>32-Or|Pr<<Or;Ur=Rr<<Or}Or=Nr;Rr=Jr;Qr=64-Qr|0;Pr=Qr&31;if(32<=(Qr&63)>>>0){Qr=0;Or=Or>>>Pr}else{Qr=Or>>>Pr;Or=((1<<Pr)-1&Or)<<32-Pr|Rr>>>Pr}Or=Ur|Or;Pr=Qr|Sr;Qr=Jr;Jr=Tr&31;if(32<=(Tr&63)>>>0){Sr=Qr<<Jr;Jr=0}else{Sr=(1<<Jr)-1&Qr>>>32-Jr|Nr<<Jr;Jr=Qr<<Jr}Nr=Sr}q[a>>2]=Jr;q[a+4>>2]=Nr;q[a+8>>2]=Or;q[a+12>>2]=Pr}function hm(a,Jr,Nr,Or,Pr,Qr){var Vr=0,Wr=0,Xr=0,Yr=0;a:{b:{if(Qr&64){Nr=Qr+ -64|0;Jr=Nr&31;if(32<=(Nr&63)>>>0){Nr=0;Jr=Pr>>>Jr}else{Nr=Pr>>>Jr;Jr=((1<<Jr)-1&Pr)<<32-Jr|Or>>>Jr}Or=0;Pr=0;break b}if(!Qr){break a}Wr=Pr;Xr=Or;Yr=64-Qr|0;Vr=Yr&31;if(32<=(Yr&63)>>>0){Wr=Xr<<Vr;Yr=0}else{Wr=(1<<Vr)-1&Xr>>>32-Vr|Wr<<Vr;Yr=Xr<<Vr}Xr=Jr;Vr=Qr;Jr=Vr&31;if(32<=(Vr&63)>>>0){Vr=0;Jr=Nr>>>Jr}else{Vr=Nr>>>Jr;Jr=((1<<Jr)-1&Nr)<<32-Jr|Xr>>>Jr}Jr=Yr|Jr;Nr=Vr|Wr;Vr=Or;Or=Qr&31;if(32<=(Qr&63)>>>0){Wr=0;Or=Pr>>>Or}else{Wr=Pr>>>Or;Or=((1<<Or)-1&Pr)<<32-Or|Vr>>>Or}Pr=Wr}}q[a>>2]=Jr;q[a+4>>2]=Nr;q[a+8>>2]=Or;q[a+12>>2]=Pr}function im(a,Jr,Nr,Or){var Pr=0,Qr=0,Zr=0,_r=0,$r=0,as=0,bs=0;Zr=T-32|0;T=Zr;Pr=Or&2147483647;$r=Pr;Pr=Pr+ -1006698496|0;_r=Nr;Qr=Nr;if(Nr>>>0<0){Pr=Pr+1|0}as=Qr;Qr=Pr;Pr=$r+ -1140785152|0;bs=_r;if(_r>>>0<0){Pr=Pr+1|0}a:{if((Pr|0)==(Qr|0)&as>>>0<bs>>>0|Qr>>>0<Pr>>>0){Pr=Or<<4|Nr>>>28;Nr=Nr<<4|Jr>>>28;Jr=Jr&268435455;_r=Jr;if((Jr|0)==134217728&a>>>0>=1|Jr>>>0>134217728){Pr=Pr+1073741824|0;a=Nr+1|0;if(a>>>0<1){Pr=Pr+1|0}Qr=a;break a}Qr=Nr;Pr=Pr-((Nr>>>0<0)+ -1073741824|0)|0;if(a|_r^134217728){break a}a=Qr+(Qr&1)|0;if(a>>>0<Qr>>>0){Pr=Pr+1|0}Qr=a;break a}if(!(!_r&($r|0)==2147418112?!(a|Jr):($r|0)==2147418112&_r>>>0<0|$r>>>0<2147418112)){Pr=Or<<4|Nr>>>28;Qr=Nr<<4|Jr>>>28;Pr=Pr&524287|2146959360;break a}Qr=0;Pr=2146435072;if(($r|0)==1140785151&_r>>>0>4294967295|$r>>>0>1140785151){break a}Pr=0;_r=$r>>>16;if(_r>>>0<15249){break a}Pr=Or&65535|65536;hm(Zr,a,Jr,Nr,Pr,15361-_r|0);gm(Zr+16|0,a,Jr,Nr,Pr,_r+ -15233|0);Nr=q[Zr+4>>2];a=q[Zr+8>>2];Pr=q[Zr+12>>2]<<4|a>>>28;Qr=a<<4|Nr>>>28;a=Nr&268435455;Nr=a;Jr=q[Zr>>2]|((q[Zr+16>>2]|q[Zr+24>>2])!=0|(q[Zr+20>>2]|q[Zr+28>>2])!=0);if((a|0)==134217728&Jr>>>0>=1|a>>>0>134217728){a=Qr+1|0;if(a>>>0<1){Pr=Pr+1|0}Qr=a;break a}if(Jr|Nr^134217728){break a}a=Qr+(Qr&1)|0;if(a>>>0<Qr>>>0){Pr=Pr+1|0}Qr=a}T=Zr+32|0;f(0,Qr|0);f(1,Or&-2147483648|Pr);return+g()}function jm(a){var Jr=0,Nr=0,Or=0,cs=0,ds=0,es=0,fs=0,gs=0;cs=T-16|0;T=cs;q[cs+12>>2]=a;a:{if(a>>>0<=211){a=q[km(15184,15376,cs+12|0)>>2];break a}ds=(a>>>0)/210|0;Or=w(ds,210);q[cs+8>>2]=a-Or;es=km(15376,15568,cs+8|0)-15376>>2;b:{while(1){a=q[(es<<2)+15376>>2]+Or|0;Or=5;c:{d:{e:{while(1){if((Or|0)==47){break e}Jr=q[(Or<<2)+15184>>2];Nr=(a>>>0)/(Jr>>>0)|0;fs=Nr>>>0<Jr>>>0;gs=fs?a:gs;Or=Or+1|0;Jr=fs?1:(w(Jr,Nr)|0)==(a|0)?7:0;if(!Jr){continue}break}Or=Jr+ -4|0;if(Or>>>0>3){break b}switch(Or-1|0){case 0:case 1:break b;case 2:break d;default:break e}}Or=211;while(1){Jr=(a>>>0)/(Or>>>0)|0;if(Jr>>>0<Or>>>0){break c}if((w(Jr,Or)|0)==(a|0)){break d}Jr=Or+10|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+12|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+16|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+18|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+22|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+28|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+30|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+36|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+40|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+42|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+46|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+52|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+58|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+60|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+66|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+70|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+72|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+78|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+82|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+88|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+96|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+100|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+102|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+106|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+108|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+112|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+120|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+126|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+130|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+136|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+138|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+142|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+148|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+150|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+156|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+162|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+166|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+168|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+172|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+178|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+180|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+186|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+190|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+192|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+196|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+198|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}if((w(Jr,Nr)|0)==(a|0)){break d}Jr=Or+208|0;Nr=(a>>>0)/(Jr>>>0)|0;if(Nr>>>0<Jr>>>0){break c}Or=Or+210|0;if((w(Jr,Nr)|0)!=(a|0)){continue}break}}Or=es+1|0;a=(Or|0)==48;es=a?0:Or;ds=a+ds|0;Or=w(ds,210);continue}break}q[cs+12>>2]=a;break a}q[cs+12>>2]=a;a=gs}T=cs+16|0;return a}function km(a,hs,is){return lm(a,hs,is)}function lm(a,hs,is){var js=0;js=T-16|0;T=js;a=mm(a,hs,is);T=js+16|0;return a}function mm(a,hs,is){var ks=0,ls=0,ms=0,ns=0;ks=T-16|0;T=ks;hs=hs-a>>2;while(1){if(hs){q[ks+12>>2]=a;ls=ks+12|0;ms=ls;ns=q[ls>>2];ls=hs>>>1;q[ms>>2]=ns+(ls<<2);if(nm(q[ks+12>>2],is)){a=q[ks+12>>2]+4|0;q[ks+12>>2]=a;hs=(ls^-1)+hs|0}else{hs=ls}continue}break}T=ks+16|0;return a}function nm(a,hs){return t[a>>2]<t[hs>>2]}function om(a,hs,is){if(is){Cn(a,hs,is)}}function pm(a,hs){return qm(a,hs)}function qm(a,hs){var is=0,os=0;is=T-16|0;T=is;os=nm(a,hs);T=is+16|0;return os?hs:a}function rm(a){q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0}function sm(a,hs){var ps=0,qs=0;ps=r[a|0];qs=r[hs|0];a:{if(!ps|(ps|0)!=(qs|0)){break a}while(1){qs=r[hs+1|0];ps=r[a+1|0];if(!ps){break a}hs=hs+1|0;a=a+1|0;if((ps|0)==(qs|0)){continue}break}}return ps-qs|0}function tm(){var a=0,hs=0,rs=0;a=T-16|0;T=a;a:{if(M(a+12|0,a+8|0)){break a}hs=zn((q[a+12>>2]<<2)+4|0);q[4475]=hs;if(!hs){break a}b:{hs=zn(q[a+8>>2]);if(hs){rs=q[4475];if(rs){break b}}q[4475]=0;break a}q[(q[a+12>>2]<<2)+rs>>2]=0;if(!N(q[4475],hs|0)){break a}q[4475]=0}T=a+16|0}function um(ss,ts,us){var vs=0,ws=0;vs=T-160|0;T=vs;Cn(vs+8|0,15568,144);a:{b:{if(ts+ -1>>>0>=2147483647){if(ts){break b}ts=1;ss=vs+159|0}q[vs+52>>2]=ss;q[vs+28>>2]=ss;ws=-2-ss|0;ts=ts>>>0>ws>>>0?ws:ts;q[vs+56>>2]=ts;ss=ss+ts|0;q[vs+36>>2]=ss;q[vs+24>>2]=ss;ss=Rl(vs+8|0,15793,us);if(!ts){break a}ts=q[vs+28>>2];o[ts-((ts|0)==q[vs+24>>2])|0]=0;break a}q[4458]=61;ss=-1}T=vs+160|0;return ss}function vm(ss,ts,us){ss=ss|0;ts=ts|0;us=us|0;var xs=0,ys=0;ys=q[ss+20>>2];xs=q[ss+16>>2]-ys|0;xs=xs>>>0>us>>>0?us:xs;Cn(ys,ts,xs);q[ss+20>>2]=xs+q[ss+20>>2];return us|0}function wm(ss,ts,us){var zs=0;zs=T-16|0;T=zs;q[zs+12>>2]=us;ss=um(ss,ts,us);T=zs+16|0;return ss}function xm(ss){if(Bm(ss)){return q[ss+4>>2]}return r[ss+11|0]}function ym(ss){if(Bm(ss)){ss=Cm(ss)+ -1|0}else{ss=10}return ss}function zm(ss,ts){Wm(ss,ts)}function Am(ss){var ts=0;ts=ss;ss=0;while(1){if((ss|0)!=3){q[(ss<<2)+ts>>2]=0;ss=ss+1|0;continue}break}}function Bm(ss){return o[ss+11|0]<0}function Cm(ss){return q[ss+8>>2]&2147483647}function Dm(ss){if(Bm(ss)){return q[ss>>2]}return ss}function Em(ss,us){o[ss|0]=r[us|0]}function Fm(ss,us){q[ss+4>>2]=us}function Gm(ss,us){o[ss+11|0]=us}function Hm(ss){var us=0;if(ss>>>0>=11){us=ss+16&-16;ss=us+ -1|0;ss=(ss|0)==11?us:ss}else{ss=10}return ss}function Im(ss){if(4294967295<ss>>>0){ab(15712);F()}return Mm(ss)}function Jm(ss,As){q[ss>>2]=As}function Km(ss,As){q[ss+8>>2]=As|-2147483648}function Lm(ss,As){if(Bm(ss)){Fm(ss,As);return}Gm(ss,As)}function Mm(ss){var As=0,Bs=0;ss=ss?ss:1;while(1){a:{As=zn(ss);if(As){break a}Bs=q[4476];if(!Bs){break a}n[Bs]();continue}break}return As}function Nm(ss,Cs){var Ds=0,Es=0,Fs=0,Gs=0;Ds=dm(Cs);Es=Mm(Ds+13|0);q[Es+8>>2]=0;q[Es+4>>2]=Ds;q[Es>>2]=Ds;Fs=ss,Gs=Cn(Es+12|0,Cs,Ds+1|0),q[Fs>>2]=Gs}function Om(ss){var Cs=0,Hs=0,Is=0;Cs=T-16|0;T=Cs;o[Cs+15|0]=10;Hs=q[ss+16>>2];a:{if(!Hs){if(El(ss)){break a}Hs=q[ss+16>>2]}Is=q[ss+20>>2];if(!(o[ss+75|0]==10|Is>>>0>=Hs>>>0)){q[ss+20>>2]=Is+1;o[Is|0]=10;break a}if((n[q[ss+36>>2]](ss,Cs+15|0,1)|0)!=1){break a}}T=Cs+16|0}function Pm(){ab(15780);F()}function Qm(){O();F()}function Rm(ss,Js){var Ks=0,Ls=0,Ms=0;Ls=T-16|0;T=Ls;rm(ss);Ks=ss;a:{if(!Bm(Js)){q[Ks+8>>2]=q[Js+8>>2];Ms=q[Js+4>>2];q[Ks>>2]=q[Js>>2];q[Ks+4>>2]=Ms;break a}Sm(ss,q[Js>>2],q[Js+4>>2])}T=Ls+16|0;return ss}function Sm(ss,Js,Ns){var Os=0,Ps=0,Qs=0;Os=T-16|0;T=Os;if(4294967279>=Ns>>>0){a:{if(Ns>>>0<=10){Gm(ss,Ns);Ps=ss;break a}Qs=Hm(Ns)+1|0;Ps=Im(Qs);Jm(ss,Ps);Km(ss,Qs);Fm(ss,Ns)}om(Ps,Js,Ns);o[Os+15|0]=0;Em(Ns+Ps|0,Os+15|0);T=Os+16|0;return}Pm();F()}function Tm(ss,Js){if((ss|0)!=(Js|0)){Um(ss,Dm(Js),xm(Js))}}function Um(ss,Js,Ns){var Rs=0,Ss=0,Ts=0,Us=0;Ss=T-16|0;T=Ss;Rs=ym(ss);a:{if(Rs>>>0>=Ns>>>0){Ts=Dm(ss);Us=Ts;Rs=Ns;if(Ns){En(Us,Js,Rs)}o[Ss+15|0]=0;Em(Ns+Ts|0,Ss+15|0);Lm(ss,Ns);break a}Ts=ss;ss=xm(ss);Vm(Ts,Rs,Ns-Rs|0,ss,ss,Ns,Js)}T=Ss+16|0}function Vm(ss,Js,Ns,Vs,Ws,Xs,Ys){var Zs=0,_s=0,$s=0;Zs=T-16|0;T=Zs;if((Js^-1)+ -17>>>0>=Ns>>>0){_s=Dm(ss);a:{if(2147483623>Js>>>0){q[Zs+8>>2]=Js<<1;q[Zs+12>>2]=Js+Ns;Ns=Hm(q[pm(Zs+12|0,Zs+8|0)>>2]);break a}Ns=-18}$s=Ns+1|0;Ns=Im($s);if(Xs){om(Ns,Ys,Xs)}Vs=Vs-Ws|0;Ys=Vs;if(Vs){om(Ns+Xs|0,Ws+_s|0,Ys)}if((Js|0)!=10){An(_s)}Jm(ss,Ns);Km(ss,$s);Js=ss;ss=Vs+Xs|0;Fm(Js,ss);o[Zs+7|0]=0;Em(ss+Ns|0,Zs+7|0);T=Zs+16|0;return}Pm();F()}function Wm(ss,Js){var Ns=0;Ns=xm(ss);if(Ns>>>0<Js>>>0){Xm(ss,Js-Ns|0);return}Ym(ss,Js)}function Xm(ss,Js){var Vs=0,Ws=0,Xs=0,Ys=0;Xs=T-16|0;T=Xs;if(Js){Ws=ym(ss);Vs=xm(ss);Ys=Vs+Js|0;if(Ws-Vs>>>0<Js>>>0){Zm(ss,Ws,Ys-Ws|0,Vs,Vs)}Ws=Vs;Vs=Dm(ss);Ws=Ws+Vs|0;if(Js){Dn(Ws,0,Js)}Lm(ss,Ys);o[Xs+15|0]=0;Em(Vs+Ys|0,Xs+15|0)}T=Xs+16|0}function Ym(ss,Js){var at=0,bt=0;at=T-16|0;T=at;a:{if(Bm(ss)){bt=q[ss>>2];o[at+15|0]=0;Em(Js+bt|0,at+15|0);Fm(ss,Js);break a}o[at+14|0]=0;Em(ss+Js|0,at+14|0);Gm(ss,Js)}T=at+16|0}function Zm(ss,Js,ct,dt,et){var ft=0,gt=0,ht=0;ft=T-16|0;T=ft;if(-17-Js>>>0>=ct>>>0){gt=Dm(ss);a:{if(2147483623>Js>>>0){q[ft+8>>2]=Js<<1;q[ft+12>>2]=Js+ct;ct=Hm(q[pm(ft+12|0,ft+8|0)>>2]);break a}ct=-18}ht=ct+1|0;ct=Im(ht);if(et){om(ct,gt,et)}dt=dt-et|0;if(dt){om(ct+et|0,et+gt|0,dt)}if((Js|0)!=10){An(gt)}Jm(ss,ct);Km(ss,ht);T=ft+16|0;return}Pm();F()}function _m(ss){if(xm(ss)>>>0<=0){Qm();F()}return Dm(ss)}function $m(ss){var Js=0,ct=0;Js=T-16|0;T=Js;rm(Js);Am(Js);zm(Js,ym(Js));an(ss,Js);ss=Js;if(Bm(Js)){ct=q[ss>>2];Cm(ss);An(ct)}T=Js+16|0}function an(ss,dt){var et=0,it=0,jt=0,kt=0;jt=T-16|0;T=jt;et=xm(dt);while(1){a:{it=Dm(dt);q[jt>>2]=1;kt=dt;it=wm(it,et+1|0,jt);b:{if((it|0)>=0){if(it>>>0<=et>>>0){break a}et=it;break b}et=et<<1|1}zm(kt,et);continue}break}zm(dt,it);et=q[dt+4>>2];q[ss>>2]=q[dt>>2];q[ss+4>>2]=et;q[ss+8>>2]=q[dt+8>>2];Am(dt);T=jt+16|0}function bn(){ab(15796);F()}function cn(){Qm();F()}function dn(ss){var dt=0;if(q[ss+76>>2]<0){a:{if(o[ss+75|0]==10){break a}dt=q[ss+20>>2];if(dt>>>0>=t[ss+16>>2]){break a}q[ss+20>>2]=dt+1;o[dt|0]=10;return}Om(ss);return}b:{c:{if(o[ss+75|0]==10){break c}dt=q[ss+20>>2];if(dt>>>0>=t[ss+16>>2]){break c}q[ss+20>>2]=dt+1;o[dt|0]=10;break b}Om(ss)}}function en(){var ss=0;ss=T-16|0;T=ss;q[ss+12>>2]=0;ss=q[3794];Rl(ss,15803,0);dn(ss);O();F()}function fn(){en();F()}function gn(lt){lt=lt|0;return 15833}function hn(lt){lt=lt|0;q[lt>>2]=15900;jn(lt+4|0);return lt|0}function jn(lt){var mt=0,nt=0;mt=q[lt>>2]+ -12|0;nt=mt+8|0;lt=q[nt>>2]+ -1|0;q[nt>>2]=lt;a:{if((lt|0)>-1){break a}An(mt)}}function kn(lt){lt=lt|0;An(hn(lt))}function ln(lt){lt=lt|0;return q[lt+4>>2]}function mn(lt){lt=lt|0;hn(lt);An(lt)}function nn(lt,ot,pt){if(!pt){return(lt|0)==(ot|0)}return!sm(q[lt+4>>2],q[ot+4>>2])}function on(lt,ot,pt){lt=lt|0;ot=ot|0;pt=pt|0;var qt=0,rt=0;qt=T+ -64|0;T=qt;rt=1;a:{if(nn(lt,ot,0)){break a}rt=0;if(!ot){break a}ot=pn(ot);rt=0;if(!ot){break a}q[qt+20>>2]=-1;q[qt+16>>2]=lt;q[qt+12>>2]=0;q[qt+8>>2]=ot;Dn(qt+24|0,0,39);q[qt+56>>2]=1;n[q[q[ot>>2]+28>>2]](ot,qt+8|0,q[pt>>2],1);rt=0;if(q[qt+32>>2]!=1){break a}q[pt>>2]=q[qt+24>>2];rt=1}T=qt- -64|0;return rt|0}function pn(lt){var ot=0,pt=0,st=0,tt=0;ot=T+ -64|0;T=ot;pt=q[lt>>2];tt=q[pt+ -8>>2];pt=q[pt+ -4>>2];q[ot+20>>2]=0;q[ot+16>>2]=16052;q[ot+12>>2]=lt;q[ot+8>>2]=16100;Dn(ot+24|0,0,39);lt=lt+tt|0;a:{if(nn(pt,16100,0)){q[ot+56>>2]=1;n[q[q[pt>>2]+20>>2]](pt,ot+8|0,lt,lt,1,0);st=q[ot+32>>2]==1?lt:0;break a}n[q[q[pt>>2]+24>>2]](pt,ot+8|0,lt,1,0);lt=q[ot+44>>2];if(lt>>>0>1){break a}if(lt-1){st=q[ot+48>>2]==1?q[ot+36>>2]==1?q[ot+40>>2]==1?q[ot+28>>2]:0:0:0;break a}if(q[ot+32>>2]!=1){if(q[ot+48>>2]|q[ot+36>>2]!=1|q[ot+40>>2]!=1){break a}}st=q[ot+24>>2]}T=ot- -64|0;return st}function qn(lt,ut,vt){var wt=0;wt=q[lt+16>>2];if(!wt){q[lt+36>>2]=1;q[lt+24>>2]=vt;q[lt+16>>2]=ut;return}a:{if((ut|0)==(wt|0)){if(q[lt+24>>2]!=2){break a}q[lt+24>>2]=vt;return}o[lt+54|0]=1;q[lt+24>>2]=2;q[lt+36>>2]=q[lt+36>>2]+1}}function rn(lt,ut,vt,xt){lt=lt|0;ut=ut|0;vt=vt|0;xt=xt|0;if(nn(lt,q[ut+8>>2],0)){qn(ut,vt,xt)}}function sn(lt,ut,vt,xt){lt=lt|0;ut=ut|0;vt=vt|0;xt=xt|0;if(nn(lt,q[ut+8>>2],0)){qn(ut,vt,xt);return}lt=q[lt+8>>2];n[q[q[lt>>2]+28>>2]](lt,ut,vt,xt)}function tn(lt,ut,vt,xt){o[lt+53|0]=1;a:{if(q[lt+4>>2]!=(vt|0)){break a}o[lt+52|0]=1;vt=q[lt+16>>2];if(!vt){q[lt+36>>2]=1;q[lt+24>>2]=xt;q[lt+16>>2]=ut;if((xt|0)!=1|q[lt+48>>2]!=1){break a}o[lt+54|0]=1;return}if((ut|0)==(vt|0)){vt=q[lt+24>>2];if((vt|0)==2){q[lt+24>>2]=xt;vt=xt}if(q[lt+48>>2]!=1|(vt|0)!=1){break a}o[lt+54|0]=1;return}o[lt+54|0]=1;q[lt+36>>2]=q[lt+36>>2]+1}}function un(lt,ut,vt){if(!(q[lt+28>>2]==1|q[lt+4>>2]!=(ut|0))){q[lt+28>>2]=vt}}function vn(lt,ut,vt,xt,yt){lt=lt|0;ut=ut|0;vt=vt|0;xt=xt|0;yt=yt|0;if(nn(lt,q[ut+8>>2],yt)){un(ut,vt,xt);return}a:{if(nn(lt,q[ut>>2],yt)){if(!(q[ut+20>>2]!=(vt|0)?q[ut+16>>2]!=(vt|0):0)){if((xt|0)!=1){break a}q[ut+32>>2]=1;return}q[ut+32>>2]=xt;b:{if(q[ut+44>>2]==4){break b}p[ut+52>>1]=0;lt=q[lt+8>>2];n[q[q[lt>>2]+20>>2]](lt,ut,vt,vt,1,yt);if(r[ut+53|0]){q[ut+44>>2]=3;if(!r[ut+52|0]){break b}break a}q[ut+44>>2]=4}q[ut+20>>2]=vt;q[ut+40>>2]=q[ut+40>>2]+1;if(q[ut+36>>2]!=1|q[ut+24>>2]!=2){break a}o[ut+54|0]=1;return}lt=q[lt+8>>2];n[q[q[lt>>2]+24>>2]](lt,ut,vt,xt,yt)}}function wn(lt,ut,vt,xt,yt){lt=lt|0;ut=ut|0;vt=vt|0;xt=xt|0;yt=yt|0;if(nn(lt,q[ut+8>>2],yt)){un(ut,vt,xt);return}a:{if(!nn(lt,q[ut>>2],yt)){break a}if(!(q[ut+20>>2]!=(vt|0)?q[ut+16>>2]!=(vt|0):0)){if((xt|0)!=1){break a}q[ut+32>>2]=1;return}q[ut+20>>2]=vt;q[ut+32>>2]=xt;q[ut+40>>2]=q[ut+40>>2]+1;if(!(q[ut+36>>2]!=1|q[ut+24>>2]!=2)){o[ut+54|0]=1}q[ut+44>>2]=4}}function xn(lt,ut,vt,xt,yt,zt){lt=lt|0;ut=ut|0;vt=vt|0;xt=xt|0;yt=yt|0;zt=zt|0;if(nn(lt,q[ut+8>>2],zt)){tn(ut,vt,xt,yt);return}lt=q[lt+8>>2];n[q[q[lt>>2]+20>>2]](lt,ut,vt,xt,yt,zt)}function yn(lt,ut,vt,xt,yt,zt){lt=lt|0;ut=ut|0;vt=vt|0;xt=xt|0;yt=yt|0;zt=zt|0;if(nn(lt,q[ut+8>>2],zt)){tn(ut,vt,xt,yt)}}
-
-
-
-function zn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=T-16|0;T=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){f=q[4477];h=a>>>0<11?16:a+11&-8;b=h>>>3;a=f>>>b;if(a&3){d=b+((a^-1)&1)|0;b=d<<3;e=q[b+17956>>2];a=e+8|0;c=q[e+8>>2];b=b+17948|0;l:{if((c|0)==(b|0)){m=17908,n=eo(d)&f,q[m>>2]=n;break l}q[c+12>>2]=b;q[b+8>>2]=c}b=d<<3;q[e+4>>2]=b|3;b=b+e|0;q[b+4>>2]=q[b+4>>2]|1;break a}k=q[4479];if(h>>>0<=k>>>0){break k}if(a){c=a<<b;a=2<<b;a=c&(0-a|a);b=(0-a&a)+ -1|0;a=b>>>12&16;c=a;b=b>>>a;a=b>>>5&8;c=c|a;b=b>>>a;a=b>>>2&4;c=c|a;b=b>>>a;a=b>>>1&2;c=c|a;b=b>>>a;a=b>>>1&1;c=(c|a)+(b>>>a)|0;a=c<<3;g=q[a+17956>>2];b=q[g+8>>2];a=a+17948|0;m:{if((b|0)==(a|0)){f=eo(c)&f;q[4477]=f;break m}q[b+12>>2]=a;q[a+8>>2]=b}a=g+8|0;q[g+4>>2]=h|3;d=g+h|0;b=c<<3;e=b-h|0;q[d+4>>2]=e|1;q[b+g>>2]=e;if(k){b=k>>>3;c=(b<<3)+17948|0;h=q[4482];b=1<<b;n:{if(!(b&f)){q[4477]=b|f;b=c;break n}b=q[c+8>>2]}q[c+8>>2]=h;q[b+12>>2]=h;q[h+12>>2]=c;q[h+8>>2]=b}q[4482]=d;q[4479]=e;break a}i=q[4478];if(!i){break k}b=(i&0-i)+ -1|0;a=b>>>12&16;c=a;b=b>>>a;a=b>>>5&8;c=c|a;b=b>>>a;a=b>>>2&4;c=c|a;b=b>>>a;a=b>>>1&2;c=c|a;b=b>>>a;a=b>>>1&1;b=q[((c|a)+(b>>>a)<<2)+18212>>2];d=(q[b+4>>2]&-8)-h|0;c=b;while(1){o:{a=q[c+16>>2];if(!a){a=q[c+20>>2];if(!a){break o}}c=(q[a+4>>2]&-8)-h|0;e=c>>>0<d>>>0;d=e?c:d;b=e?a:b;c=a;continue}break}j=q[b+24>>2];e=q[b+12>>2];if((e|0)!=(b|0)){a=q[b+8>>2];q[a+12>>2]=e;q[e+8>>2]=a;break b}c=b+20|0;a=q[c>>2];if(!a){a=q[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;e=a;c=a+20|0;a=q[c>>2];if(a){continue}c=e+16|0;a=q[e+16>>2];if(a){continue}break}q[g>>2]=0;break b}h=-1;if(a>>>0>4294967231){break k}a=a+11|0;h=a&-8;i=q[4478];if(!i){break k}a=a>>>8;g=0;p:{if(!a){break p}g=31;if(h>>>0>16777215){break p}b=a+1048320>>>16&8;a=a<<b;d=a+520192>>>16&4;a=a<<d;c=a+245760>>>16&2;a=(a<<c>>>15)-(c|(b|d))|0;g=(a<<1|h>>>a+21&1)+28|0}c=0-h|0;d=q[(g<<2)+18212>>2];q:{r:{s:{if(!d){a=0;break s}b=h<<((g|0)==31?0:25-(g>>>1)|0);a=0;while(1){t:{f=(q[d+4>>2]&-8)-h|0;if(f>>>0>=c>>>0){break t}e=d;c=f;if(c){break t}c=0;a=d;break r}f=q[d+20>>2];d=q[((b>>>29&4)+d|0)+16>>2];a=f?(f|0)==(d|0)?a:f:a;b=b<<((d|0)!=0);if(d){continue}break}}if(!(a|e)){a=2<<g;a=(0-a|a)&i;if(!a){break k}b=(a&0-a)+ -1|0;a=b>>>12&16;d=a;b=b>>>a;a=b>>>5&8;d=d|a;b=b>>>a;a=b>>>2&4;d=d|a;b=b>>>a;a=b>>>1&2;d=d|a;b=b>>>a;a=b>>>1&1;a=q[((d|a)+(b>>>a)<<2)+18212>>2]}if(!a){break q}}while(1){b=(q[a+4>>2]&-8)-h|0;d=b>>>0<c>>>0;c=d?b:c;e=d?a:e;b=q[a+16>>2];if(b){a=b}else{a=q[a+20>>2]}if(a){continue}break}}if(!e|c>>>0>=q[4479]-h>>>0){break k}g=q[e+24>>2];b=q[e+12>>2];if((e|0)!=(b|0)){a=q[e+8>>2];q[a+12>>2]=b;q[b+8>>2]=a;break c}d=e+20|0;a=q[d>>2];if(!a){a=q[e+16>>2];if(!a){break i}d=e+16|0}while(1){f=d;b=a;d=a+20|0;a=q[d>>2];if(a){continue}d=b+16|0;a=q[b+16>>2];if(a){continue}break}q[f>>2]=0;break c}c=q[4479];if(c>>>0>=h>>>0){d=q[4482];b=c-h|0;u:{if(b>>>0>=16){q[4479]=b;a=d+h|0;q[4482]=a;q[a+4>>2]=b|1;q[c+d>>2]=b;q[d+4>>2]=h|3;break u}q[4482]=0;q[4479]=0;q[d+4>>2]=c|3;a=c+d|0;q[a+4>>2]=q[a+4>>2]|1}a=d+8|0;break a}j=q[4480];if(j>>>0>h>>>0){b=j-h|0;q[4480]=b;c=q[4483];a=c+h|0;q[4483]=a;q[a+4>>2]=b|1;q[c+4>>2]=h|3;a=c+8|0;break a}a=0;i=h+47|0;b=i;if(q[4595]){c=q[4597]}else{q[4598]=-1;q[4599]=-1;q[4596]=4096;q[4597]=4096;q[4595]=l+12&-16^1431655768;q[4600]=0;q[4588]=0;c=4096}g=b+c|0;f=0-c|0;c=g&f;if(c>>>0<=h>>>0){break a}e=q[4587];if(e){d=q[4585];b=d+c|0;if(b>>>0<=d>>>0|b>>>0>e>>>0){break a}}if(r[18352]&4){break f}v:{w:{d=q[4483];if(d){a=18356;while(1){b=q[a>>2];if(b+q[a+4>>2]>>>0>d>>>0?b>>>0<=d>>>0:0){break w}a=q[a+8>>2];if(a){continue}break}}b=Bn(0);if((b|0)==-1){break g}f=c;d=q[4596];a=d+ -1|0;if(a&b){f=(c-b|0)+(a+b&0-d)|0}if(f>>>0<=h>>>0|f>>>0>2147483646){break g}e=q[4587];if(e){d=q[4585];a=d+f|0;if(a>>>0<=d>>>0|a>>>0>e>>>0){break g}}a=Bn(f);if((b|0)!=(a|0)){break v}break e}f=f&g-j;if(f>>>0>2147483646){break g}b=Bn(f);if((b|0)==(q[a>>2]+q[a+4>>2]|0)){break h}a=b}b=a;if(!(h+48>>>0<=f>>>0|f>>>0>2147483646|(a|0)==-1)){a=q[4597];a=a+(i-f|0)&0-a;if(a>>>0>2147483646){break e}if((Bn(a)|0)!=-1){f=a+f|0;break e}Bn(0-f|0);break g}if((b|0)!=-1){break e}break g}e=0;break b}b=0;break c}if((b|0)!=-1){break e}}q[4588]=q[4588]|4}if(c>>>0>2147483646){break d}b=Bn(c);a=Bn(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=h+40>>>0){break d}}a=q[4585]+f|0;q[4585]=a;if(a>>>0>t[4586]){q[4586]=a}x:{y:{z:{d=q[4483];if(d){a=18356;while(1){e=q[a>>2];c=q[a+4>>2];if((e+c|0)==(b|0)){break z}a=q[a+8>>2];if(a){continue}break}break y}a=q[4481];if(!(b>>>0>=a>>>0?a:0)){q[4481]=b}a=0;q[4590]=f;q[4589]=b;q[4485]=-1;q[4486]=q[4595];q[4592]=0;while(1){d=a<<3;c=d+17948|0;q[d+17956>>2]=c;q[d+17960>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=f+ -40|0;a=b+8&7?-8-b&7:0;c=d-a|0;q[4480]=c;a=a+b|0;q[4483]=a;q[a+4>>2]=c|1;q[(b+d|0)+4>>2]=40;q[4484]=q[4599];break x}if(r[a+12|0]&8|b>>>0<=d>>>0|e>>>0>d>>>0){break y}q[a+4>>2]=c+f;a=d+8&7?-8-d&7:0;c=a+d|0;q[4483]=c;b=q[4480]+f|0;a=b-a|0;q[4480]=a;q[c+4>>2]=a|1;q[(b+d|0)+4>>2]=40;q[4484]=q[4599];break x}e=q[4481];if(b>>>0<e>>>0){q[4481]=b;e=0}c=b+f|0;a=18356;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=q[a>>2]){a=q[a+8>>2];if(a){continue}break F}break}if(!(r[a+12|0]&8)){break E}}a=18356;while(1){c=q[a>>2];if(c>>>0<=d>>>0){g=c+q[a+4>>2]|0;if(g>>>0>d>>>0){break D}}a=q[a+8>>2];continue}}q[a>>2]=b;q[a+4>>2]=q[a+4>>2]+f;j=(b+8&7?-8-b&7:0)+b|0;q[j+4>>2]=h|3;b=c+(c+8&7?-8-c&7:0)|0;a=(b-j|0)-h|0;g=h+j|0;if((b|0)==(d|0)){q[4483]=g;a=q[4480]+a|0;q[4480]=a;q[g+4>>2]=a|1;break B}if(q[4482]==(b|0)){q[4482]=g;a=q[4479]+a|0;q[4479]=a;q[g+4>>2]=a|1;q[a+g>>2]=a;break B}c=q[b+4>>2];if((c&3)==1){i=c&-8;G:{if(c>>>0<=255){e=q[b+8>>2];c=c>>>3;d=q[b+12>>2];if((d|0)==(e|0)){m=17908,n=q[4477]&eo(c),q[m>>2]=n;break G}q[e+12>>2]=d;q[d+8>>2]=e;break G}k=q[b+24>>2];f=q[b+12>>2];H:{if((f|0)!=(b|0)){c=q[b+8>>2];q[c+12>>2]=f;q[f+8>>2]=c;break H}I:{d=b+20|0;h=q[d>>2];if(h){break I}d=b+16|0;h=q[d>>2];if(h){break I}f=0;break H}while(1){c=d;f=h;d=f+20|0;h=q[d>>2];if(h){continue}d=f+16|0;h=q[f+16>>2];if(h){continue}break}q[c>>2]=0}if(!k){break G}d=q[b+28>>2];c=(d<<2)+18212|0;J:{if(q[c>>2]==(b|0)){q[c>>2]=f;if(f){break J}m=17912,n=q[4478]&eo(d),q[m>>2]=n;break G}q[k+(q[k+16>>2]==(b|0)?16:20)>>2]=f;if(!f){break G}}q[f+24>>2]=k;c=q[b+16>>2];if(c){q[f+16>>2]=c;q[c+24>>2]=f}c=q[b+20>>2];if(!c){break G}q[f+20>>2]=c;q[c+24>>2]=f}b=b+i|0;a=a+i|0}q[b+4>>2]=q[b+4>>2]&-2;q[g+4>>2]=a|1;q[a+g>>2]=a;if(a>>>0<=255){a=a>>>3;b=(a<<3)+17948|0;c=q[4477];a=1<<a;K:{if(!(c&a)){q[4477]=a|c;a=b;break K}a=q[b+8>>2]}q[b+8>>2]=g;q[a+12>>2]=g;q[g+12>>2]=b;q[g+8>>2]=a;break B}b=g;d=a>>>8;c=0;L:{if(!d){break L}c=31;if(a>>>0>16777215){break L}c=d;d=d+1048320>>>16&8;c=c<<d;f=c+520192>>>16&4;c=c<<f;e=c+245760>>>16&2;c=(c<<e>>>15)-(e|(d|f))|0;c=(c<<1|a>>>c+21&1)+28|0}q[b+28>>2]=c;q[g+16>>2]=0;q[g+20>>2]=0;e=(c<<2)+18212|0;d=q[4478];b=1<<c;M:{if(!(d&b)){q[4478]=b|d;q[e>>2]=g;q[g+24>>2]=e;break M}d=a<<((c|0)==31?0:25-(c>>>1)|0);b=q[e>>2];while(1){c=b;if((q[b+4>>2]&-8)==(a|0)){break C}b=d>>>29;d=d<<1;e=(c+(b&4)|0)+16|0;b=q[e>>2];if(b){continue}break}q[e>>2]=g;q[g+24>>2]=c}q[g+12>>2]=g;q[g+8>>2]=g;break B}e=f+ -40|0;a=b+8&7?-8-b&7:0;c=e-a|0;q[4480]=c;a=a+b|0;q[4483]=a;q[a+4>>2]=c|1;q[(b+e|0)+4>>2]=40;q[4484]=q[4599];a=(g+(g+ -39&7?39-g&7:0)|0)+ -47|0;c=a>>>0<d+16>>>0?d:a;q[c+4>>2]=27;a=q[4592];q[c+16>>2]=q[4591];q[c+20>>2]=a;a=q[4590];q[c+8>>2]=q[4589];q[c+12>>2]=a;q[4591]=c+8;q[4590]=f;q[4589]=b;q[4592]=0;a=c+24|0;while(1){q[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0<g>>>0){continue}break}if((c|0)==(d|0)){break x}q[c+4>>2]=q[c+4>>2]&-2;g=c-d|0;q[d+4>>2]=g|1;q[c>>2]=g;if(g>>>0<=255){a=g>>>3;b=(a<<3)+17948|0;c=q[4477];a=1<<a;N:{if(!(c&a)){q[4477]=a|c;a=b;break N}a=q[b+8>>2]}q[b+8>>2]=d;q[a+12>>2]=d;q[d+12>>2]=b;q[d+8>>2]=a;break x}q[d+16>>2]=0;q[d+20>>2]=0;a=d;c=g>>>8;b=0;O:{if(!c){break O}b=31;if(g>>>0>16777215){break O}b=c;c=c+1048320>>>16&8;b=b<<c;f=b+520192>>>16&4;b=b<<f;e=b+245760>>>16&2;b=(b<<e>>>15)-(e|(c|f))|0;b=(b<<1|g>>>b+21&1)+28|0}q[a+28>>2]=b;e=(b<<2)+18212|0;c=q[4478];a=1<<b;P:{if(!(c&a)){q[4478]=a|c;q[e>>2]=d;q[d+24>>2]=e;break P}a=g<<((b|0)==31?0:25-(b>>>1)|0);b=q[e>>2];while(1){c=b;if((g|0)==(q[b+4>>2]&-8)){break A}b=a>>>29;a=a<<1;e=(c+(b&4)|0)+16|0;b=q[e>>2];if(b){continue}break}q[e>>2]=d;q[d+24>>2]=c}q[d+12>>2]=d;q[d+8>>2]=d;break x}a=q[c+8>>2];q[a+12>>2]=g;q[c+8>>2]=g;q[g+24>>2]=0;q[g+12>>2]=c;q[g+8>>2]=a}a=j+8|0;break a}a=q[c+8>>2];q[a+12>>2]=d;q[c+8>>2]=d;q[d+24>>2]=0;q[d+12>>2]=c;q[d+8>>2]=a}a=q[4480];if(a>>>0<=h>>>0){break d}b=a-h|0;q[4480]=b;c=q[4483];a=c+h|0;q[4483]=a;q[a+4>>2]=b|1;q[c+4>>2]=h|3;a=c+8|0;break a}q[4458]=48;a=0;break a}Q:{if(!g){break Q}d=q[e+28>>2];a=(d<<2)+18212|0;R:{if(q[a>>2]==(e|0)){q[a>>2]=b;if(b){break R}i=eo(d)&i;q[4478]=i;break Q}q[g+(q[g+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break Q}}q[b+24>>2]=g;a=q[e+16>>2];if(a){q[b+16>>2]=a;q[a+24>>2]=b}a=q[e+20>>2];if(!a){break Q}q[b+20>>2]=a;q[a+24>>2]=b}S:{if(c>>>0<=15){a=c+h|0;q[e+4>>2]=a|3;a=a+e|0;q[a+4>>2]=q[a+4>>2]|1;break S}q[e+4>>2]=h|3;d=e+h|0;q[d+4>>2]=c|1;q[c+d>>2]=c;if(c>>>0<=255){a=c>>>3;b=(a<<3)+17948|0;c=q[4477];a=1<<a;T:{if(!(c&a)){q[4477]=a|c;a=b;break T}a=q[b+8>>2]}q[b+8>>2]=d;q[a+12>>2]=d;q[d+12>>2]=b;q[d+8>>2]=a;break S}a=d;f=c>>>8;b=0;U:{if(!f){break U}b=31;if(c>>>0>16777215){break U}b=f;f=f+1048320>>>16&8;b=b<<f;g=b+520192>>>16&4;b=b<<g;h=b+245760>>>16&2;b=(b<<h>>>15)-(h|(f|g))|0;b=(b<<1|c>>>b+21&1)+28|0}q[a+28>>2]=b;q[d+16>>2]=0;q[d+20>>2]=0;f=(b<<2)+18212|0;V:{a=1<<b;W:{if(!(a&i)){q[4478]=a|i;q[f>>2]=d;q[d+24>>2]=f;break W}a=c<<((b|0)==31?0:25-(b>>>1)|0);h=q[f>>2];while(1){b=h;if((q[b+4>>2]&-8)==(c|0)){break V}f=a>>>29;a=a<<1;f=(b+(f&4)|0)+16|0;h=q[f>>2];if(h){continue}break}q[f>>2]=d;q[d+24>>2]=b}q[d+12>>2]=d;q[d+8>>2]=d;break S}a=q[b+8>>2];q[a+12>>2]=d;q[b+8>>2]=d;q[d+24>>2]=0;q[d+12>>2]=b;q[d+8>>2]=a}a=e+8|0;break a}X:{if(!j){break X}c=q[b+28>>2];a=(c<<2)+18212|0;Y:{if(q[a>>2]==(b|0)){q[a>>2]=e;if(e){break Y}m=17912,n=eo(c)&i,q[m>>2]=n;break X}q[(q[j+16>>2]==(b|0)?16:20)+j>>2]=e;if(!e){break X}}q[e+24>>2]=j;a=q[b+16>>2];if(a){q[e+16>>2]=a;q[a+24>>2]=e}a=q[b+20>>2];if(!a){break X}q[e+20>>2]=a;q[a+24>>2]=e}Z:{if(d>>>0<=15){a=d+h|0;q[b+4>>2]=a|3;a=a+b|0;q[a+4>>2]=q[a+4>>2]|1;break Z}q[b+4>>2]=h|3;e=b+h|0;q[e+4>>2]=d|1;q[d+e>>2]=d;if(k){a=k>>>3;c=(a<<3)+17948|0;h=q[4482];a=1<<a;_:{if(!(a&f)){q[4477]=a|f;a=c;break _}a=q[c+8>>2]}q[c+8>>2]=h;q[a+12>>2]=h;q[h+12>>2]=c;q[h+8>>2]=a}q[4482]=e;q[4479]=d}a=b+8|0}T=l+16|0;return a|0}function An(a){a=a|0;var o=0,p=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;a:{if(!a){break a}r=a+ -8|0;p=q[a+ -4>>2];a=p&-8;u=r+a|0;b:{if(p&1){break b}if(!(p&3)){break a}p=q[r>>2];r=r-p|0;if(r>>>0<t[4481]){break a}a=a+p|0;if(q[4482]!=(r|0)){if(p>>>0<=255){s=q[r+8>>2];p=p>>>3;o=q[r+12>>2];if((o|0)==(s|0)){x=17908,y=q[4477]&eo(p),q[x>>2]=y;break b}q[s+12>>2]=o;q[o+8>>2]=s;break b}w=q[r+24>>2];p=q[r+12>>2];c:{if((p|0)!=(r|0)){o=q[r+8>>2];q[o+12>>2]=p;q[p+8>>2]=o;break c}d:{s=r+20|0;o=q[s>>2];if(o){break d}s=r+16|0;o=q[s>>2];if(o){break d}p=0;break c}while(1){v=s;p=o;s=p+20|0;o=q[s>>2];if(o){continue}s=p+16|0;o=q[p+16>>2];if(o){continue}break}q[v>>2]=0}if(!w){break b}s=q[r+28>>2];o=(s<<2)+18212|0;e:{if(q[o>>2]==(r|0)){q[o>>2]=p;if(p){break e}x=17912,y=q[4478]&eo(s),q[x>>2]=y;break b}q[w+(q[w+16>>2]==(r|0)?16:20)>>2]=p;if(!p){break b}}q[p+24>>2]=w;o=q[r+16>>2];if(o){q[p+16>>2]=o;q[o+24>>2]=p}o=q[r+20>>2];if(!o){break b}q[p+20>>2]=o;q[o+24>>2]=p;break b}p=q[u+4>>2];if((p&3)!=3){break b}q[4479]=a;q[u+4>>2]=p&-2;q[r+4>>2]=a|1;q[a+r>>2]=a;return}if(u>>>0<=r>>>0){break a}p=q[u+4>>2];if(!(p&1)){break a}f:{if(!(p&2)){if((u|0)==q[4483]){q[4483]=r;a=q[4480]+a|0;q[4480]=a;q[r+4>>2]=a|1;if(q[4482]!=(r|0)){break a}q[4479]=0;q[4482]=0;return}if((u|0)==q[4482]){q[4482]=r;a=q[4479]+a|0;q[4479]=a;q[r+4>>2]=a|1;q[a+r>>2]=a;return}a=(p&-8)+a|0;g:{if(p>>>0<=255){o=q[u+8>>2];p=p>>>3;s=q[u+12>>2];if((o|0)==(s|0)){x=17908,y=q[4477]&eo(p),q[x>>2]=y;break g}q[o+12>>2]=s;q[s+8>>2]=o;break g}w=q[u+24>>2];p=q[u+12>>2];h:{if((u|0)!=(p|0)){o=q[u+8>>2];q[o+12>>2]=p;q[p+8>>2]=o;break h}i:{s=u+20|0;o=q[s>>2];if(o){break i}s=u+16|0;o=q[s>>2];if(o){break i}p=0;break h}while(1){v=s;p=o;s=p+20|0;o=q[s>>2];if(o){continue}s=p+16|0;o=q[p+16>>2];if(o){continue}break}q[v>>2]=0}if(!w){break g}s=q[u+28>>2];o=(s<<2)+18212|0;j:{if((u|0)==q[o>>2]){q[o>>2]=p;if(p){break j}x=17912,y=q[4478]&eo(s),q[x>>2]=y;break g}q[w+((u|0)==q[w+16>>2]?16:20)>>2]=p;if(!p){break g}}q[p+24>>2]=w;o=q[u+16>>2];if(o){q[p+16>>2]=o;q[o+24>>2]=p}o=q[u+20>>2];if(!o){break g}q[p+20>>2]=o;q[o+24>>2]=p}q[r+4>>2]=a|1;q[a+r>>2]=a;if(q[4482]!=(r|0)){break f}q[4479]=a;return}q[u+4>>2]=p&-2;q[r+4>>2]=a|1;q[a+r>>2]=a}if(a>>>0<=255){a=a>>>3;p=(a<<3)+17948|0;o=q[4477];a=1<<a;k:{if(!(o&a)){q[4477]=a|o;a=p;break k}a=q[p+8>>2]}q[p+8>>2]=r;q[a+12>>2]=r;q[r+12>>2]=p;q[r+8>>2]=a;return}q[r+16>>2]=0;q[r+20>>2]=0;p=r;s=a>>>8;o=0;l:{if(!s){break l}o=31;if(a>>>0>16777215){break l}o=s;s=s+1048320>>>16&8;o=o<<s;w=o+520192>>>16&4;o=o<<w;v=o+245760>>>16&2;o=(o<<v>>>15)-(v|(s|w))|0;o=(o<<1|a>>>o+21&1)+28|0}q[p+28>>2]=o;v=(o<<2)+18212|0;s=q[4478];p=1<<o;m:{if(!(s&p)){q[4478]=p|s;q[v>>2]=r;q[r+12>>2]=r;q[r+24>>2]=v;q[r+8>>2]=r;break m}s=a<<((o|0)==31?0:25-(o>>>1)|0);p=q[v>>2];n:{while(1){o=p;if((q[p+4>>2]&-8)==(a|0)){break n}p=s>>>29;s=s<<1;v=(o+(p&4)|0)+16|0;p=q[v>>2];if(p){continue}break}q[v>>2]=r;q[r+12>>2]=r;q[r+24>>2]=o;q[r+8>>2]=r;break m}a=q[o+8>>2];q[a+12>>2]=r;q[o+8>>2]=r;q[r+24>>2]=0;q[r+12>>2]=o;q[r+8>>2]=a}a=q[4485]+ -1|0;q[4485]=a;if(a){break a}r=18364;while(1){a=q[r>>2];r=a+8|0;if(a){continue}break}q[4485]=-1}}function Bn(a){var t=0;t=q[4604];a=t+a|0;if((a|0)<=-1){q[4458]=48;return-1}a:{if(a>>>0<=W()<<16>>>0){break a}if(P(a|0)){break a}q[4458]=48;return-1}q[4604]=a;return t}function Cn(a,z,A){var B=0,C=0,D=0;if(A>>>0>=8192){Q(a|0,z|0,A|0)|0;return a}C=a+A|0;a:{if(!((a^z)&3)){b:{if((A|0)<1){A=a;break b}if(!(a&3)){A=a;break b}A=a;while(1){o[A|0]=r[z|0];z=z+1|0;A=A+1|0;if(A>>>0>=C>>>0){break b}if(A&3){continue}break}}B=C&-4;c:{if(B>>>0<64){break c}D=B+ -64|0;if(A>>>0>D>>>0){break c}while(1){q[A>>2]=q[z>>2];q[A+4>>2]=q[z+4>>2];q[A+8>>2]=q[z+8>>2];q[A+12>>2]=q[z+12>>2];q[A+16>>2]=q[z+16>>2];q[A+20>>2]=q[z+20>>2];q[A+24>>2]=q[z+24>>2];q[A+28>>2]=q[z+28>>2];q[A+32>>2]=q[z+32>>2];q[A+36>>2]=q[z+36>>2];q[A+40>>2]=q[z+40>>2];q[A+44>>2]=q[z+44>>2];q[A+48>>2]=q[z+48>>2];q[A+52>>2]=q[z+52>>2];q[A+56>>2]=q[z+56>>2];q[A+60>>2]=q[z+60>>2];z=z- -64|0;A=A- -64|0;if(A>>>0<=D>>>0){continue}break}}if(A>>>0>=B>>>0){break a}while(1){q[A>>2]=q[z>>2];z=z+4|0;A=A+4|0;if(A>>>0<B>>>0){continue}break}break a}if(C>>>0<4){A=a;break a}B=C+ -4|0;if(B>>>0<a>>>0){A=a;break a}A=a;while(1){o[A|0]=r[z|0];o[A+1|0]=r[z+1|0];o[A+2|0]=r[z+2|0];o[A+3|0]=r[z+3|0];z=z+4|0;A=A+4|0;if(A>>>0<=B>>>0){continue}break}}if(A>>>0<C>>>0){while(1){o[A|0]=r[z|0];z=z+1|0;A=A+1|0;if((C|0)!=(A|0)){continue}break}}return a}function Dn(a,z,A){var E=0,F=0,G=0,H=0;a:{if(!A){break a}E=a+A|0;o[E+ -1|0]=z;o[a|0]=z;if(A>>>0<3){break a}o[E+ -2|0]=z;o[a+1|0]=z;o[E+ -3|0]=z;o[a+2|0]=z;if(A>>>0<7){break a}o[E+ -4|0]=z;o[a+3|0]=z;if(A>>>0<9){break a}E=0-a&3;F=E+a|0;z=w(z&255,16843009);q[F>>2]=z;A=A-E&-4;E=A+F|0;q[E+ -4>>2]=z;if(A>>>0<9){break a}q[F+8>>2]=z;q[F+4>>2]=z;q[E+ -8>>2]=z;q[E+ -12>>2]=z;if(A>>>0<25){break a}q[F+24>>2]=z;q[F+20>>2]=z;q[F+16>>2]=z;q[F+12>>2]=z;q[E+ -16>>2]=z;q[E+ -20>>2]=z;q[E+ -24>>2]=z;q[E+ -28>>2]=z;H=F&4|24;A=A-H|0;if(A>>>0<32){break a}E=z;G=z;z=F+H|0;while(1){q[z+24>>2]=G;q[z+28>>2]=E;q[z+16>>2]=G;q[z+20>>2]=E;q[z+8>>2]=G;q[z+12>>2]=E;q[z>>2]=G;q[z+4>>2]=E;z=z+32|0;A=A+ -32|0;if(A>>>0>31){continue}break}}return a}function En(a,z,A){var I=0,J=0;a:{if((a|0)==(z|0)){break a}b:{if(z+A>>>0>a>>>0){J=a+A|0;if(J>>>0>z>>>0){break b}}return Cn(a,z,A)}I=(a^z)&3;c:{d:{if(a>>>0<z>>>0){if(I){I=a;break c}if(!(a&3)){I=a;break d}I=a;while(1){if(!A){break a}o[I|0]=r[z|0];z=z+1|0;A=A+ -1|0;I=I+1|0;if(I&3){continue}break}break d}e:{if(I){break e}if(J&3){while(1){if(!A){break a}A=A+ -1|0;I=A+a|0;o[I|0]=r[z+A|0];if(I&3){continue}break}}if(A>>>0<=3){break e}while(1){A=A+ -4|0;q[A+a>>2]=q[z+A>>2];if(A>>>0>3){continue}break}}if(!A){break a}while(1){A=A+ -1|0;o[A+a|0]=r[z+A|0];if(A){continue}break}break a}if(A>>>0<=3){break c}J=A;while(1){q[I>>2]=q[z>>2];z=z+4|0;I=I+4|0;J=J+ -4|0;if(J>>>0>3){continue}break}A=A&3}if(!A){break a}while(1){o[I|0]=r[z|0];I=I+1|0;z=z+1|0;A=A+ -1|0;if(A){continue}break}}return a}function Fn(a,z){a=a|0;z=z|0;if(!q[4601]){q[4602]=z;q[4601]=a}}function Gn(){return T|0}function Hn(a){a=a|0;a=T-a&-16;T=a;return a|0}function In(a){a=a|0;T=a}function Jn(a){a=a|0;return X(a|0)|0}function Kn(a,q){a=a|0;q=q|0;return n[a](q)|0}function Ln(a,q){a=a|0;q=q|0;n[a](q)}function Mn(a,q,z){a=a|0;q=q|0;z=z|0;return n[a](q,z)|0}function Nn(a,q,z){a=a|0;q=q|0;z=z|0;n[a](q,z)}function On(a,q,z,A){a=a|0;q=q|0;z=z|0;A=A|0;return n[a](q,z,A)|0}function Pn(a){a=a|0;n[a]()}function Qn(a,q,z,A){a=a|0;q=q|0;z=z|0;A=A|0;n[a](q,z,A)}function Rn(a,q,z,A,K){a=a|0;q=q|0;z=z|0;A=A|0;K=K|0;n[a](q,z,A,K)}function Sn(a,q,z,A,K,L,M){a=a|0;q=q|0;z=z|0;A=A|0;K=K|0;L=L|0;M=M|0;return n[a](q,z,A,K,L,M)|0}function Tn(a,q,z,A,K,L,M){a=a|0;q=q|0;z=+z;A=A|0;K=K|0;L=L|0;M=M|0;return n[a](q,z,A,K,L,M)|0}function Un(a,q,z,A,K,L,M){a=a|0;q=q|0;z=z|0;A=A|0;K=K|0;L=L|0;M=M|0;n[a](q,z,A,K,L,M)}function Vn(a,q,z,A,K,L){a=a|0;q=q|0;z=z|0;A=A|0;K=K|0;L=L|0;n[a](q,z,A,K,L)}function Wn(a,q,z,A,K){a=a|0;q=q|0;z=z|0;A=A|0;K=K|0;a=n[a](q,z,A,K)|0;R(V|0);return a|0}function Xn(a,q){i(a|0,q|0)}function Yn(a,q,z,A){var K=0,L=0,M=0,N=0,O=0,P=0;K=z>>>16;L=a>>>16;P=w(K,L);M=z&65535;N=a&65535;O=w(M,N);L=(O>>>16)+w(L,M)|0;K=(L&65535)+w(K,N)|0;a=(((w(q,z)+P|0)+w(a,A)|0)+(L>>>16)|0)+(K>>>16)|0;q=O&65535|K<<16;V=a;return q}function Zn(a,q,z,A){var Q=0,R=0,S=0,T=0;Q=q;R=Q>>31;Q=Q>>31;a=a^Q;S=a-Q|0;T=(q^R)-((a>>>0<Q>>>0)+R|0)|0;Q=A;R=Q>>31;Q=Q>>31;a=z^Q;Q=bo(S,T,a-Q|0,(A^R)-((a>>>0<Q>>>0)+R|0)|0);q=q^A;z=q>>31;a=q>>31;q=Q^a;A=q-a|0;V=(z^V)-((q>>>0<a>>>0)+z|0)|0;return A}function _n(a,q,A,U){var W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{Y=q;if(Y){W=A;if(!W){break j}X=U;if(!X){break i}X=z(X)-z(Y)|0;if(X>>>0<=31){break h}break b}if((U|0)==1&A>>>0>=0|U>>>0>1){break b}q=(a>>>0)/(A>>>0)|0;Xn(a-w(q,A)|0,0);V=0;return q}W=U;if(!a){break g}if(!W){break f}X=W+ -1|0;if(X&W){break f}Xn(a,X&Y);a=Y>>>(fo(W)&31);V=0;return a}X=W+ -1|0;if(!(X&W)){break e}$=(z(W)+33|0)-z(Y)|0;Z=0-$|0;break c}$=X+1|0;Z=63-X|0;break c}a=(Y>>>0)/(W>>>0)|0;Xn(0,Y-w(a,W)|0);V=0;return a}X=z(W)-z(Y)|0;if(X>>>0<31){break d}break b}Xn(a&X,0);if((W|0)==1){break a}A=a;a=fo(W);U=a&31;if(32<=(a&63)>>>0){X=0;a=q>>>U}else{X=q>>>U;a=((1<<U)-1&q)<<32-U|A>>>U}V=X;return a}$=X+1|0;Z=63-X|0}W=q;Y=a;X=$&63;_=X&31;if(32<=(X&63)>>>0){X=0;ba=W>>>_}else{X=W>>>_;ba=((1<<_)-1&W)<<32-_|Y>>>_}a=Z&63;Z=a&31;if(32<=(a&63)>>>0){W=Y<<Z;a=0}else{W=(1<<Z)-1&Y>>>32-Z|q<<Z;a=Y<<Z}q=W;if($){Y=U+ -1|0;W=A+ -1|0;if(W>>>0<4294967295){Y=Y+1|0}Z=W;while(1){W=ba;X=X<<1|W>>>31;W=W<<1;aa=X;X=q>>>31|W;ca=aa;W=aa;aa=X;_=Y-((Z>>>0<X>>>0)+W|0)|0;W=_>>31;_=_>>31;X=A&_;ba=aa-X|0;X=ca-((U&W)+(aa>>>0<X>>>0)|0)|0;W=q<<1|a>>>31;a=da|a<<1;q=W|ea;W=0;ca=W;aa=_&1;da=aa;$=$+ -1|0;if($){continue}break}}Xn(ba,X);W=q<<1|a>>>31;a=aa|a<<1;V=W|ca;return a}Xn(a,q);a=0;q=0}V=q;return a}function $n(a,q,z,A){a=Yn(a,q,z,A);return a}function ao(a,q,z,A){a=Zn(a,q,z,A);return a}function bo(a,q,z,A){a=_n(a,q,z,A);return a}function co(a){var q=0,z=0;while(1){z=q;if(a){a=a-1&a;q=q+1|0;continue}break}return z}function eo(a){var A=0;A=a&31;a=0-a&31;return(-1>>>A&-2)<<A|(-1<<a&-2)>>>a}function fo(a){if(a){return 31-z(a+ -1^a)|0}return 32}
-
-
-
-
-// EMSCRIPTEN_END_FUNCS
-n[1]=hn;n[2]=bd;n[3]=cd;n[4]=dd;n[5]=$c;n[6]=ad;n[7]=id;n[8]=jd;n[9]=kd;n[10]=ed;n[11]=fd;n[12]=Bd;n[13]=Cd;n[14]=xd;n[15]=yd;n[16]=Dd;n[17]=Ed;n[18]=Fd;n[19]=Bb;n[20]=Gd;n[21]=fn;n[22]=Hd;n[23]=kd;n[24]=pe;n[25]=qe;n[26]=Jd;n[27]=ge;n[28]=le;n[29]=Ee;n[30]=Fe;n[31]=xe;n[32]=ye;n[33]=ze;n[34]=Ae;n[35]=Hd;n[36]=Ce;n[37]=De;n[38]=Oe;n[39]=Pe;n[40]=He;n[41]=Je;n[42]=Qe;n[43]=Ke;n[44]=Le;n[45]=Me;n[46]=Ne;n[47]=_e;n[48]=$e;n[49]=Se;n[50]=Te;n[51]=Ue;n[52]=Xe;n[53]=Ve;n[54]=af;n[55]=Ze;n[56]=nf;n[57]=gf;n[58]=kd;n[59]=xb;n[60]=hf;n[61]=jf;n[62]=kf;n[63]=Gd;n[64]=jf;n[65]=kd;n[66]=lf;n[67]=mf;n[68]=Cd;n[69]=Cd;n[70]=gf;n[71]=dd;n[72]=hf;n[73]=of;n[74]=pf;n[75]=qf;n[76]=rf;n[77]=hf;n[78]=sf;n[79]=vf;n[80]=wf;n[81]=xf;n[82]=yf;n[83]=zf;n[84]=kd;n[85]=Gd;n[86]=Af;n[87]=Bf;n[88]=Cf;n[89]=Ef;n[90]=Ff;n[91]=Gf;n[92]=zf;n[93]=kd;n[94]=Gd;n[95]=Af;n[96]=Hf;n[97]=If;n[98]=Lf;n[99]=Mf;n[100]=Nf;n[101]=Of;n[102]=kd;n[103]=Gd;n[104]=Pf;n[105]=Qf;n[106]=Rf;n[107]=bd;n[108]=cd;n[109]=Tf;n[110]=Bb;n[111]=Sf;n[112]=gf;n[113]=kd;n[114]=hf;n[115]=Wf;n[116]=Cd;n[117]=gf;n[118]=dd;n[119]=hf;n[120]=Xf;n[121]=Yf;n[122]=Zf;n[123]=rf;n[124]=hf;n[125]=sf;n[126]=_f;n[127]=$f;n[128]=ag;n[129]=yf;n[130]=zf;n[131]=kd;n[132]=Gd;n[133]=Af;n[134]=Bf;n[135]=bg;n[136]=dg;n[137]=eg;n[138]=Gf;n[139]=zf;n[140]=kd;n[141]=Gd;n[142]=Af;n[143]=Hf;n[144]=fg;n[145]=hg;n[146]=ig;n[147]=Nf;n[148]=Of;n[149]=kd;n[150]=Gd;n[151]=Pf;n[152]=Qf;n[153]=jg;n[154]=bd;n[155]=cd;n[156]=Tf;n[157]=Bb;n[158]=kg;n[159]=gf;n[160]=jf;n[161]=kd;n[162]=mg;n[163]=$e;n[164]=ng;n[165]=pg;n[166]=og;n[167]=sg;n[168]=dd;n[169]=qg;n[170]=vg;n[171]=wg;n[172]=Nf;n[173]=xb;n[174]=xg;n[175]=kd;n[176]=Gd;n[177]=yg;n[178]=kd;n[179]=dd;n[180]=zg;n[181]=Ag;n[182]=bd;n[183]=cd;n[184]=Tf;n[185]=Bb;n[186]=Sf;n[187]=Dg;n[188]=Eg;n[189]=Nf;n[190]=xg;n[191]=kd;n[192]=Gd;n[193]=yg;n[194]=zg;n[195]=Fg;n[196]=bd;n[197]=cd;n[198]=Tf;n[199]=Bb;n[200]=kg;n[201]=bd;n[202]=cd;n[203]=jf;n[204]=kd;n[205]=jf;n[206]=kf;n[207]=Gd;n[208]=Cg;n[209]=Gg;n[210]=Hg;n[211]=Ig;n[212]=Nf;n[213]=xb;n[214]=xg;n[215]=kd;n[216]=Gd;n[217]=yg;n[218]=kd;n[219]=yf;n[220]=Jg;n[221]=Kg;n[222]=bd;n[223]=cd;n[224]=Tf;n[225]=Bb;n[226]=Sf;n[227]=Ng;n[228]=Og;n[229]=Nf;n[230]=xg;n[231]=kd;n[232]=Gd;n[233]=yg;n[234]=Jg;n[235]=Pg;n[236]=bd;n[237]=cd;n[238]=Tf;n[239]=Bb;n[240]=kg;n[241]=cd;n[242]=jf;n[243]=kd;n[244]=jf;n[245]=kf;n[246]=Gd;n[247]=Mg;n[248]=Qg;n[249]=Xg;n[250]=Yg;n[251]=Rg;n[252]=Tg;n[253]=Sg;n[254]=Ug;n[255]=Vg;n[256]=Wg;n[257]=Th;n[258]=Cd;n[259]=kd;n[260]=kd;n[261]=Sh;n[262]=Nj;n[263]=Oj;n[264]=kd;n[265]=jf;n[266]=Gd;n[267]=Gd;n[268]=Yh;n[269]=Zh;n[270]=Vh;n[271]=Uh;n[272]=Xh;n[273]=_h;n[274]=$h;n[275]=ai;n[276]=Wh;n[277]=Qi;n[278]=Ri;n[279]=di;n[280]=ei;n[281]=fi;n[282]=gi;n[283]=ni;n[284]=kd;n[285]=xb;n[286]=Di;n[287]=Si;n[288]=Ti;n[289]=di;n[290]=ei;n[291]=fi;n[292]=gi;n[293]=Fi;n[294]=kd;n[295]=xb;n[296]=Di;n[297]=Ui;n[298]=Wi;n[299]=di;n[300]=ei;n[301]=fi;n[302]=gi;n[303]=Ki;n[304]=kd;n[305]=xb;n[306]=Di;n[307]=mi;n[308]=Xi;n[309]=li;n[310]=Yi;n[311]=Zi;n[312]=bj;n[313]=cj;n[314]=dj;n[315]=ej;n[316]=aj;n[317]=gj;n[318]=_i;n[319]=hj;n[320]=ij;n[321]=kj;n[322]=lj;n[323]=mj;n[324]=nj;n[325]=jj;n[326]=pj;n[327]=qj;n[328]=rj;n[329]=sj;n[330]=tj;n[331]=Ej;n[332]=Dj;n[333]=zj;n[334]=bd;n[335]=cd;n[336]=Fj;n[337]=Gj;n[338]=Cd;n[339]=jf;n[340]=kd;n[341]=Ej;n[342]=Rj;n[343]=Qj;n[344]=Ej;n[345]=Dj;n[346]=Sj;n[347]=xk;n[348]=yk;n[349]=zk;n[350]=Bk;n[351]=wk;n[352]=ll;n[353]=gl;n[354]=jl;n[355]=Sl;n[356]=Tl;n[357]=Wl;n[358]=Ul;n[359]=Vl;n[360]=jf;n[361]=Xl;n[362]=vm;n[363]=bd;n[364]=cd;n[365]=gn;n[366]=kn;n[367]=ln;n[368]=mn;n[369]=bd;n[370]=cd;n[371]=Hl;n[372]=Hl;n[373]=on;n[374]=yn;n[375]=wn;n[376]=rn;n[377]=cd;n[378]=xn;n[379]=vn;n[380]=sn;function W(){return buffer.byteLength/65536|0}function X(pagesToAdd){pagesToAdd=pagesToAdd|0;var Y=W()|0;var Z=Y+pagesToAdd|0;if(Y<Z&&Z<65536){var _=new ArrayBuffer(w(Z,65536));var $=new global.Int8Array(_);$.set(o);o=$;o=new global.Int8Array(_);p=new global.Int16Array(_);q=new global.Int32Array(_);r=new global.Uint8Array(_);s=new global.Uint16Array(_);t=new global.Uint32Array(_);u=new global.Float32Array(_);v=new global.Float64Array(_);buffer=_;m.buffer=_}return Y}return{"__wasm_call_ctors":ea,"emscripten_bind_Status_code_0":fb,"emscripten_bind_Status_ok_0":gb,"emscripten_bind_Status_error_msg_0":hb,"emscripten_bind_Status___destroy___0":ib,"emscripten_bind_DracoUInt16Array_DracoUInt16Array_0":jb,"emscripten_bind_DracoUInt16Array_GetValue_1":kb,"emscripten_bind_DracoUInt16Array_size_0":lb,"emscripten_bind_DracoUInt16Array___destroy___0":mb,"emscripten_bind_PointCloud_PointCloud_0":nb,"emscripten_bind_PointCloud_num_attributes_0":ob,"emscripten_bind_PointCloud_num_points_0":pb,"emscripten_bind_PointCloud___destroy___0":qb,"emscripten_bind_DracoUInt8Array_DracoUInt8Array_0":jb,"emscripten_bind_DracoUInt8Array_GetValue_1":rb,"emscripten_bind_DracoUInt8Array_size_0":sb,"emscripten_bind_DracoUInt8Array___destroy___0":mb,"emscripten_bind_DracoUInt32Array_DracoUInt32Array_0":jb,"emscripten_bind_DracoUInt32Array_GetValue_1":tb,"emscripten_bind_DracoUInt32Array_size_0":ub,"emscripten_bind_DracoUInt32Array___destroy___0":mb,"emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0":vb,"emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1":wb,"emscripten_bind_AttributeOctahedronTransform_quantization_bits_0":xb,"emscripten_bind_AttributeOctahedronTransform___destroy___0":qb,"emscripten_bind_PointAttribute_PointAttribute_0":yb,"emscripten_bind_PointAttribute_size_0":pb,"emscripten_bind_PointAttribute_GetAttributeTransformData_0":zb,"emscripten_bind_PointAttribute_attribute_type_0":Ab,"emscripten_bind_PointAttribute_data_type_0":Bb,"emscripten_bind_PointAttribute_num_components_0":Cb,"emscripten_bind_PointAttribute_normalized_0":Db,"emscripten_bind_PointAttribute_byte_stride_0":Eb,"emscripten_bind_PointAttribute_byte_offset_0":Fb,"emscripten_bind_PointAttribute_unique_id_0":Gb,"emscripten_bind_PointAttribute___destroy___0":Hb,"emscripten_bind_AttributeTransformData_AttributeTransformData_0":Ib,"emscripten_bind_AttributeTransformData_transform_type_0":fb,"emscripten_bind_AttributeTransformData___destroy___0":Jb,"emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0":Kb,"emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1":wb,"emscripten_bind_AttributeQuantizationTransform_quantization_bits_0":xb,"emscripten_bind_AttributeQuantizationTransform_min_value_1":Lb,"emscripten_bind_AttributeQuantizationTransform_range_0":Mb,"emscripten_bind_AttributeQuantizationTransform___destroy___0":qb,"emscripten_bind_DracoInt8Array_DracoInt8Array_0":jb,"emscripten_bind_DracoInt8Array_GetValue_1":Nb,"emscripten_bind_DracoInt8Array_size_0":sb,"emscripten_bind_DracoInt8Array___destroy___0":mb,"emscripten_bind_MetadataQuerier_MetadataQuerier_0":Ob,"emscripten_bind_MetadataQuerier_HasEntry_2":Pb,"emscripten_bind_MetadataQuerier_GetIntEntry_2":Qb,"emscripten_bind_MetadataQuerier_GetIntEntryArray_3":Rb,"emscripten_bind_MetadataQuerier_GetDoubleEntry_2":Sb,"emscripten_bind_MetadataQuerier_GetStringEntry_2":Tb,"emscripten_bind_MetadataQuerier_NumEntries_1":Ub,"emscripten_bind_MetadataQuerier_GetEntryName_2":Vb,"emscripten_bind_MetadataQuerier___destroy___0":Wb,"emscripten_bind_DracoInt16Array_DracoInt16Array_0":jb,"emscripten_bind_DracoInt16Array_GetValue_1":Xb,"emscripten_bind_DracoInt16Array_size_0":lb,"emscripten_bind_DracoInt16Array___destroy___0":mb,"emscripten_bind_DracoFloat32Array_DracoFloat32Array_0":jb,"emscripten_bind_DracoFloat32Array_GetValue_1":Yb,"emscripten_bind_DracoFloat32Array_size_0":ub,"emscripten_bind_DracoFloat32Array___destroy___0":mb,"emscripten_bind_GeometryAttribute_GeometryAttribute_0":Zb,"emscripten_bind_GeometryAttribute___destroy___0":_b,"emscripten_bind_DecoderBuffer_DecoderBuffer_0":$b,"emscripten_bind_DecoderBuffer_Init_2":ac,"emscripten_bind_DecoderBuffer___destroy___0":_b,"emscripten_bind_Decoder_Decoder_0":bc,"emscripten_bind_Decoder_GetEncodedGeometryType_1":cc,"emscripten_bind_Decoder_DecodeBufferToPointCloud_2":dc,"emscripten_bind_Decoder_DecodeBufferToMesh_2":ec,"emscripten_bind_Decoder_GetAttributeId_2":fc,"emscripten_bind_Decoder_GetAttributeIdByName_2":gc,"emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3":hc,"emscripten_bind_Decoder_GetAttribute_2":ic,"emscripten_bind_Decoder_GetAttributeByUniqueId_2":jc,"emscripten_bind_Decoder_GetMetadata_1":kc,"emscripten_bind_Decoder_GetAttributeMetadata_2":lc,"emscripten_bind_Decoder_GetFaceFromMesh_3":mc,"emscripten_bind_Decoder_GetTriangleStripsFromMesh_2":nc,"emscripten_bind_Decoder_GetTrianglesUInt16Array_3":oc,"emscripten_bind_Decoder_GetTrianglesUInt32Array_3":pc,"emscripten_bind_Decoder_GetAttributeFloat_3":qc,"emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3":rc,"emscripten_bind_Decoder_GetAttributeIntForAllPoints_3":sc,"emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3":tc,"emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3":uc,"emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3":vc,"emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3":wc,"emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3":sc,"emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3":xc,"emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5":yc,"emscripten_bind_Decoder_SkipAttributeTransform_1":zc,"emscripten_bind_Decoder___destroy___0":Ac,"emscripten_bind_Mesh_Mesh_0":Dc,"emscripten_bind_Mesh_num_faces_0":Ec,"emscripten_bind_Mesh_num_attributes_0":ob,"emscripten_bind_Mesh_num_points_0":pb,"emscripten_bind_Mesh___destroy___0":qb,"emscripten_bind_VoidPtr___destroy___0":_b,"emscripten_bind_DracoInt32Array_DracoInt32Array_0":jb,"emscripten_bind_DracoInt32Array_GetValue_1":tb,"emscripten_bind_DracoInt32Array_size_0":ub,"emscripten_bind_DracoInt32Array___destroy___0":mb,"emscripten_bind_Metadata_Metadata_0":Fc,"emscripten_bind_Metadata___destroy___0":Gc,"emscripten_enum_draco_StatusCode_OK":Jc,"emscripten_enum_draco_StatusCode_DRACO_ERROR":Kc,"emscripten_enum_draco_StatusCode_IO_ERROR":Lc,"emscripten_enum_draco_StatusCode_INVALID_PARAMETER":Mc,"emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION":Nc,"emscripten_enum_draco_StatusCode_UNKNOWN_VERSION":Oc,"emscripten_enum_draco_DataType_DT_INVALID":Jc,"emscripten_enum_draco_DataType_DT_INT8":Pc,"emscripten_enum_draco_DataType_DT_UINT8":Qc,"emscripten_enum_draco_DataType_DT_INT16":Rc,"emscripten_enum_draco_DataType_DT_UINT16":Sc,"emscripten_enum_draco_DataType_DT_INT32":Tc,"emscripten_enum_draco_DataType_DT_UINT32":Uc,"emscripten_enum_draco_DataType_DT_INT64":Vc,"emscripten_enum_draco_DataType_DT_UINT64":Wc,"emscripten_enum_draco_DataType_DT_FLOAT32":Xc,"emscripten_enum_draco_DataType_DT_FLOAT64":Yc,"emscripten_enum_draco_DataType_DT_BOOL":Zc,"emscripten_enum_draco_DataType_DT_TYPES_COUNT":_c,"emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE":Kc,"emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD":Jc,"emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH":Pc,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM":Kc,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM":Jc,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM":Pc,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM":Qc,"emscripten_enum_draco_GeometryAttribute_Type_INVALID":Kc,"emscripten_enum_draco_GeometryAttribute_Type_POSITION":Jc,"emscripten_enum_draco_GeometryAttribute_Type_NORMAL":Pc,"emscripten_enum_draco_GeometryAttribute_Type_COLOR":Qc,"emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD":Rc,"emscripten_enum_draco_GeometryAttribute_Type_GENERIC":Sc,"setThrew":Fn,"_ZSt18uncaught_exceptionv":Jc,"free":An,"malloc":zn,"stackSave":Gn,"stackAlloc":Hn,"stackRestore":In,"__growWasmMemory":Jn,"dynCall_ii":Kn,"dynCall_vi":Ln,"dynCall_iii":Mn,"dynCall_vii":Nn,"dynCall_iiii":On,"dynCall_v":Pn,"dynCall_viii":Qn,"dynCall_viiii":Rn,"dynCall_iiiiiii":Sn,"dynCall_iidiiii":Tn,"dynCall_jiji":Wn,"dynCall_viiiiii":Un,"dynCall_viiiii":Vn}}var aa=(function(mem){var ba=new Uint8Array(mem);return(function(offset,s){var ca,da;if(typeof Buffer==="undefined"){ca=atob(s);for(da=0;da<ca.length;da++)ba[offset+da]=ca.charCodeAt(da)}else{ca=Buffer.from(s,"base64");for(da=0;da<ca.length;da++)ba[offset+da]=ca[da]}})})(wasmMemory.buffer);aa(1027,"wAAAAMAAAADAAAAAwGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAALwEAAACAAAAAwAAAAQAAAAFAAAABgAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUA+D4AAJcEAAAgPwAAcAQAALQEAAAAAAAAEAUAAAcAAAAIAAAACQAAAAoAAAALAAAATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQAAAAAgPwAA5AQAALQEAABhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAAAAAADkBQAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAATjVkcmFjbzE3QXR0cmlidXRlc0RlY29kZXJFAE41ZHJhY28yNkF0dHJpYnV0ZXNEZWNvZGVySW50ZXJmYWNlRQAAAAD4PgAAtAUAACA/AACYBQAA3AUAAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAOgGAAAYAAAAGQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAaAAAAGwAAABwAAABLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlckUAAAAAID8AAMMGAADkBQAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBNZXRob2Qgbm90IHN1cHBvcnRlZC4gCgBWZXJzaW9uIG5vdCBzdXBwb3J0ZWQuIAo=");aa(1904,"wAcAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQAAAAD4PgAAmAcAAP////8AAAAAVAgAACYAAAAnAAAADgAAACgAAAApAAAAEQAAABIAAAATAAAAKgAAACsAAAAsAAAALQAAAC4AAABza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0ATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUAAAAAID8AACEIAADkBQAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAADAkAAC8AAAAwAAAAMQAAACAAAAAhAAAAIgAAADIAAAAkAAAAMwAAADQAAAA1AAAANgAAADcAAABONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZURlY29kZXJFACA/AADgCAAAwAcAAAAAAACYCwAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZERlY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUA+D4AADwLAAAgPwAAEQsAAGALAAAgPwAA3QoAAGgLAAAgPwAAiQoAAHQLAAAgPwAA8wkAAIALAAAgPwAAUAkAAIwLAAAAAAAAjAsAADgAAABEAAAAFQAAADsAAAAVAAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAFQAAAAAAAACACwAAOAAAAEUAAAAVAAAAOwAAABUAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAAAVAAAAAAAAAPQMAAA4AAAARgAAAEcAAAA7AAAASAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEkAAABONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAgPwAATAwAAIwLAAAAAAAA7A0AAEoAAABLAAAATAAAADsAAABNAAAAPQAAAD4AAAA/AAAAQAAAAEEAAABOAAAATwAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAACA/AAA4DQAAjAsAAAAAAADQDgAAUAAAAFEAAABSAAAAOwAAAFMAAABUAAAAVQAAAFYAAABAAAAAQQAAAFcAAABYAAAATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAACA/AAAwDgAAjAsAAAAAAAC8DwAAWQAAAFoAAABbAAAAOwAAAFwAAABdAAAAXgAAAF8AAABAAAAAQQAAAGAAAABhAAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAID8AABQPAACMCwAAAAAAAKgQAABiAAAAYwAAAGQAAAA7AAAAZQAAAGYAAABnAAAAaAAAAEAAAABBAAAAaQAAAGoAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAAAAgPwAAABAAAIwLAAAAAAAAMBIAAGsAAABsAAAAbQAAAG4AAABvAAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAD4PgAAexEAACA/AADQEAAAKBIAAAAAAACgEwAAOAAAAHAAAABxAAAAOwAAAHIAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABzAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAID8AAAoTAACACwAAID8AAHQSAACUEwAAAAAAAJQTAAA4AAAAdAAAABUAAAA7AAAAFQAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAABUAAAAAAAAAuBQAADgAAAB1AAAAdgAAADsAAAB3AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAeAAAAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAACA/AAAcFAAAlBMAAAAAAACkFQAAeQAAAHoAAAB7AAAAOwAAAHwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAH0AAAB+AAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAID8AAPwUAACUEwAAAAAAAHwWAAB/AAAAgAAAAIEAAAA7AAAAggAAAIMAAACEAAAAhQAAAEAAAABBAAAAhgAAAIcAAABONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0RlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAID8AAOgVAACUEwAAAAAAAFwXAACIAAAAiQAAAIoAAAA7AAAAiwAAAIwAAACNAAAAjgAAAEAAAABBAAAAjwAAAJAAAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAAgPwAAwBYAAJQTAAAAAAAAOBgAAJEAAACSAAAAkwAAADsAAACUAAAAlQAAAJYAAACXAAAAQAAAAEEAAACYAAAAmQAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAID8AAKAXAACUEwAAAAAAAKQZAACaAAAAmwAAAJwAAACdAAAAngAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQD4PgAA/hgAACA/AABgGAAAnBkAAAAAAABEGgAAOAAAAJ8AAACgAAAAOwAAAKEAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAACiAAAATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQAAAAAgPwAA6BkAAIALAAAAAAAAuBoAAC8AAACjAAAApAAAACAAAAAhAAAApQAAADIAAAAkAAAAMwAAAKYAAACnAAAAqAAAAKkAAABONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRGVjb2RlckUAACA/AACMGgAADAkAAAAAAADEHAAAqgAAAKsAAACsAAAArQAAAK4AAACvAAAAsAAAALEAAACyAAAAswAAALQAAAC1AAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUAID8AAE0cAAB0CwAAID8AAKwbAACsHAAAID8AAPwaAAC4HAAAAAAAAGAeAAC2AAAAtwAAALgAAAC5AAAAugAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQD4PgAAoh0AACA/AADsHAAAWB4AAAAAAADoHwAAuwAAALwAAAC9AAAArQAAAL4AAAC/AAAAwAAAAMEAAACyAAAAswAAAMIAAADDAAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAID8AAEcfAACsHAAAID8AAKQeAADcHwAAAAAAAGwhAADEAAAAxQAAAMYAAADHAAAAyAAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAD4PgAAuSAAACA/AAAQIAAAZCEAAAAAAAAUIgAAyQAAAMoAAADLAAAArQAAAMwAAADNAAAAzgAAAM8AAACyAAAAswAAANAAAADRAAAATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRUVFACA/AACwIQAArBwAAAAAAABIJAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAA2wAAANwAAADdAAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUAACA/AADDIwAAdAsAACA/AAAVIwAAMCQAACA/AABYIgAAPCQAAAAAAAAAJgAA3gAAAN8AAADgAAAA4QAAAOIAAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAAPg+AAAzJQAAID8AAHAkAAD4JQAAAAAAAKQnAADjAAAA5AAAAOUAAADVAAAA5gAAAOcAAADoAAAA6QAAANoAAADbAAAA6gAAAOsAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAAAID8AAPQmAAAwJAAAID8AAEQmAACYJwAAAAAAAEApAADsAAAA7QAAAO4AAADvAAAA8AAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQD4PgAAgigAACA/AADMJwAAOCkAAAAAAAD4KQAAyQAAAPEAAADyAAAA1QAAAPMAAAD0AAAA9QAAAPYAAADaAAAA2wAAAPcAAAD4AAAATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAAAAgPwAAhCkAADAkAAAAAAAAfCoAAPkAAAD6AAAA+wAAACAAAAAhAAAA/AAAADIAAAAkAAAAMwAAAP0AAAA1AAAANgAAAP4AAAD/AAAAAAEAAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVEZWNvZGVyRQAAAAAgPwAASCoAAAwJAABVbnN1cHBvcnRlZCBlbmNvZGluZyBtZXRob2QuAElucHV0IGlzIG5vdCBhIHBvaW50IGNsb3VkLgBJbnB1dCBpcyBub3QgYSBtZXNoLgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0AYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAAIgrAAABAQAAAgEAAAMBAAAEAQAAFQAAAAUBAAAGAQAABwEAAAgBAAAJAQAACgEAAAsBAAAVAAAATjVkcmFjbzExTWVzaERlY29kZXJFAAAAID8AAHArAABUNQAAAAAAAPQrAAAMAQAADQEAAAMBAAAOAQAADwEAAAUBAAAGAQAABwEAABABAAARAQAAEgEAABMBAAAUAQAATjVkcmFjbzIyTWVzaEVkZ2VicmVha2VyRGVjb2RlckUAAAAAID8AANArAACIKwAAAAAAABgtAAAVAQAAFgEAABcBAAAYAQAAGQEAABoBAAAbAQAAHAEAAB0BAAAeAQAA/////wAAAAB8LQAAHwEAACABAAAhAQAAIgEAACMBAAAkAQAAJQEAACYBAAAnAQAAKAEAAAAAAADcLQAAKQEAACoBAAArAQAALAEAAC0BAAAuAQAALwEAADABAAAxAQAAMgEAAE41ZHJhY28yNk1lc2hFZGdlYnJlYWtlckRlY29kZXJJbXBsSU5TXzMxTWVzaEVkZ2VicmVha2VyVHJhdmVyc2FsRGVjb2RlckVFRQBONWRyYWNvMzVNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUAAAD4PgAA4CwAACA/AACULAAAEC0AAE41ZHJhY28yNk1lc2hFZGdlYnJlYWtlckRlY29kZXJJbXBsSU5TXzQxTWVzaEVkZ2VicmVha2VyVHJhdmVyc2FsUHJlZGljdGl2ZURlY29kZXJFRUUAAAAgPwAAJC0AABAtAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAAAgPwAAiC0AABAtAAAAAAAA2C4AADMBAAA0AQAANQEAAE41ZHJhY28xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUA+D4AAGkuAAAgPwAA/C0AANAuAAAAAAAA0C4AADYBAAA3AQAANQEAAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemU=");aa(12100,"AQAAAAMAAAAFAAAABwAAAAAAAAAYMAAAOAEAADkBAAA6AQAAOwEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAA+D4AAPMvAAAgPwAAbC8AABAwAAD/////AAAAAAgxAAA8AQAAPQEAAD4BAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAA+D4AAKUwAAAgPwAAPDAAAAAxAAAAAAAAADEAAD8BAABAAQAAPgEAAAAAAADAMQAAQQEAAEIBAABDAQAARAEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAAID8AAEAxAAAQMAAAAAAAAEAyAABFAQAARgEAAD4BAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAgPwAA4DEAAAAxAAAAAAAA8DIAAEcBAABIAQAASQEAAEoBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAACA/AABkMgAAEDA=");aa(13060,"XDMAAAEBAABLAQAAAwEAAAQBAABMAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAE0BAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFACA/AAA8MwAAiCsAAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAOAzAABOAQAATwEAAFABAABRAQAATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQAAACA/AADEMwAAEDAAAAAAAABUNQAAAQEAAFIBAABTAQAABAEAABUAAABUAQAABgEAAAcBAAAIAQ==");aa(13344,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ARFJBQ08ATm90IGEgRHJhY28gZmlsZS4ARmFpbGVkIHRvIGRlY29kZSBtZXRhZGF0YS4AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4AVW5rbm93biBtYWpvciB2ZXJzaW9uLgBVbmtub3duIG1pbm9yIHZlcnNpb24uAEZhaWxlZCB0byBpbml0aWFsaXplIHRoZSBkZWNvZGVyLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAEZhaWxlZCB0byBkZWNvZGUgcG9pbnQgYXR0cmlidXRlcy4ATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAAD4PgAANzUAAAAAAACsNQAAAQEAAFUBAABTAQAABAEAAFYBAABXAQAABgEAAAcBAAAIAQAATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZURlY29kZXJFAAAAID8AAIg1AABUNQAAAAAAAAw2AAABAQAAWAEAAFMBAAAEAQAAWQEAAFoBAAAGAQAABwEAAAgBAABONWRyYWNvMjdQb2ludENsb3VkU2VxdWVudGlhbERlY29kZXJFAAAAID8AAOQ1AABUNQAAAQAAAAEAAAACAAAAAgAAAAQAAAAEAAAACAAAAAgAAAAEAAAACAAAAAEAAAAAAAAA//////////9hbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAAAAAAC8NgAAWwEAAFwBAABdAQAAXgEAAE41ZHJhY280TWVzaEUAAAAgPwAArDYAAFQ4AABhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUA/////2FsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXpl");aa(14376,"VDgAAF8BAABgAQAAYQEAAGIBAABONWRyYWNvMTBQb2ludENsb3VkRQAAAAD4PgAAPDgAAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARmxvYXRQb2ludHNUcmVlRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUALSsgICAwWDB4AChudWxsKQ==");aa(14656,"EQAKABEREQAAAAAFAAAAAAAACQAAAAAL");aa(14688,"EQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERER");aa(14737,"Cw==");aa(14746,"EQAKChEREQAKAAACAAkLAAAACQALAAAL");aa(14795,"DA==");aa(14807,"DAAAAAAMAAAAAAkMAAAAAAAMAAAM");aa(14853,"Dg==");aa(14865,"DQAAAAQNAAAAAAkOAAAAAAAOAAAO");aa(14911,"EA==");aa(14923,"DwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhIS");aa(14978,"EgAAABISEgAAAAAAAAk=");aa(15027,"Cw==");aa(15039,"CgAAAAAKAAAAAAkLAAAAAAALAAAL");aa(15085,"DA==");aa(15097,"DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGLTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAuAAAAAHg/AAAIQAAAAAAAAAIAAAADAAAABQAAAAcAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAH8AAACDAAAAiQAAAIsAAACVAAAAlwAAAJ0AAACjAAAApwAAAK0AAACzAAAAtQAAAL8AAADBAAAAxQAAAMcAAADTAAAAAQAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAeQAAAH8AAACDAAAAiQAAAIsAAACPAAAAlQAAAJcAAACdAAAAowAAAKcAAACpAAAArQAAALMAAAC1AAAAuwAAAL8AAADBAAAAxQAAAMcAAADR");aa(15604,"agE=");aa(15643,"//////8=");aa(15712,"YWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBiYXNpY19zdHJpbmcAJWQAdmVjdG9yAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAHN0ZDo6ZXhjZXB0aW9uAAAAAAAMPgAAawEAAGwBAABtAQAAU3Q5ZXhjZXB0aW9uAAAAAPg+AAD8PQAAAAAAADg+AAABAAAAbgEAAG8BAABTdDExbG9naWNfZXJyb3IAID8AACg+AAAMPgAAAAAAAGw+AAABAAAAcAEAAG8BAABTdDEybGVuZ3RoX2Vycm9yAAAAACA/AABYPgAAOD4AAFN0OXR5cGVfaW5mbwAAAAD4PgAAeD4AAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAACA/AACQPgAAiD4AAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAACA/AADAPgAAtD4AAAAAAADkPgAAcQEAAHIBAABzAQAAdAEAAHUBAAB2AQAAdwEAAHgBAAAAAAAAaD8AAHEBAAB5AQAAcwEAAHQBAAB1AQAAegEAAHsBAAB8AQAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAACA/AABAPwAA5D4=");aa(16248,"BQ==");aa(16260,"ZQE=");aa(16284,"ZgEAAGcBAACYQQ==");aa(16308,"Ag==");aa(16323,"//////8=");aa(16392,"BQ==");aa(16404,"aAE=");aa(16428,"ZgEAAGkBAACoQQAAAAQ=");aa(16452,"AQ==");aa(16467,"Cv////8=");aa(16724,"1EU=");return l({"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"Math":Math},asmLibraryArg,wasmMemory.buffer)}
-
-
-// EMSCRIPTEN_END_ASM
-
-
-
-
-)(asmLibraryArg,wasmMemory,wasmTable);return{"exports":exports}},instantiate:function(binary,info){return{then:function(ok,err){ok({"instance":new WebAssembly.Instance(new WebAssembly.Module(binary,info))})}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":381,"maximum":381+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}var ALLOC_NONE=3;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=u8Array[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=5261456,DYNAMIC_BASE=5261456,DYNAMICTOP_PTR=18416;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="draco_decoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(wasmBinaryFile);if(binary){return binary}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function _abort(){abort()}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_sbrk_ptr(){return 18416}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize<requestedSize){if(newSize<=536870912){newSize=alignUp(2*newSize,PAGE_MULTIPLE)}else{newSize=Math.min(alignUp((3*newSize+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=emscripten_realloc_buffer(newSize);if(!replacement){return false}return true}var ENV={};function _emscripten_get_environ(){if(!_emscripten_get_environ.strings){var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8","_":thisProgram};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}_emscripten_get_environ.strings=strings}return _emscripten_get_environ.strings}function _environ_get(__environ,environ_buf){var strings=_emscripten_get_environ();var bufSize=0;strings.forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=_emscripten_get_environ();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function _fd_close(fd){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){SYSCALLS.printChar(fd,HEAPU8[ptr+j])}num+=len}HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+")  at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmLibraryArg={"__cxa_allocate_exception":___cxa_allocate_exception,"__cxa_throw":___cxa_throw,"abort":_abort,"emscripten_get_sbrk_ptr":_emscripten_get_sbrk_ptr,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_resize_heap":_emscripten_resize_heap,"environ_get":_environ_get,"environ_sizes_get":_environ_sizes_get,"fd_close":_fd_close,"fd_seek":_fd_seek,"fd_write":_fd_write,"getTempRet0":getTempRet0,"memory":wasmMemory,"setTempRet0":setTempRet0,"table":wasmTable};var asm=createWasm();Module["asm"]=asm;var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return Module["asm"]["__wasm_call_ctors"].apply(null,arguments)};var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=function(){return Module["asm"]["emscripten_bind_Status_code_0"].apply(null,arguments)};var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=function(){return Module["asm"]["emscripten_bind_Status_ok_0"].apply(null,arguments)};var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=function(){return Module["asm"]["emscripten_bind_Status_error_msg_0"].apply(null,arguments)};var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=function(){return Module["asm"]["emscripten_bind_Status___destroy___0"].apply(null,arguments)};var _emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=Module["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"]=function(){return Module["asm"]["emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"].apply(null,arguments)};var _emscripten_bind_DracoUInt16Array_GetValue_1=Module["_emscripten_bind_DracoUInt16Array_GetValue_1"]=function(){return Module["asm"]["emscripten_bind_DracoUInt16Array_GetValue_1"].apply(null,arguments)};var _emscripten_bind_DracoUInt16Array_size_0=Module["_emscripten_bind_DracoUInt16Array_size_0"]=function(){return Module["asm"]["emscripten_bind_DracoUInt16Array_size_0"].apply(null,arguments)};var _emscripten_bind_DracoUInt16Array___destroy___0=Module["_emscripten_bind_DracoUInt16Array___destroy___0"]=function(){return Module["asm"]["emscripten_bind_DracoUInt16Array___destroy___0"].apply(null,arguments)};var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=function(){return Module["asm"]["emscripten_bind_PointCloud_PointCloud_0"].apply(null,arguments)};var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=function(){return Module["asm"]["emscripten_bind_PointCloud_num_attributes_0"].apply(null,arguments)};var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=function(){return Module["asm"]["emscripten_bind_PointCloud_num_points_0"].apply(null,arguments)};var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=function(){return Module["asm"]["emscripten_bind_PointCloud___destroy___0"].apply(null,arguments)};var _emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=Module["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"]=function(){return Module["asm"]["emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"].apply(null,arguments)};var _emscripten_bind_DracoUInt8Array_GetValue_1=Module["_emscripten_bind_DracoUInt8Array_GetValue_1"]=function(){return Module["asm"]["emscripten_bind_DracoUInt8Array_GetValue_1"].apply(null,arguments)};var _emscripten_bind_DracoUInt8Array_size_0=Module["_emscripten_bind_DracoUInt8Array_size_0"]=function(){return Module["asm"]["emscripten_bind_DracoUInt8Array_size_0"].apply(null,arguments)};var _emscripten_bind_DracoUInt8Array___destroy___0=Module["_emscripten_bind_DracoUInt8Array___destroy___0"]=function(){return Module["asm"]["emscripten_bind_DracoUInt8Array___destroy___0"].apply(null,arguments)};var _emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=Module["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"]=function(){return Module["asm"]["emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"].apply(null,arguments)};var _emscripten_bind_DracoUInt32Array_GetValue_1=Module["_emscripten_bind_DracoUInt32Array_GetValue_1"]=function(){return Module["asm"]["emscripten_bind_DracoUInt32Array_GetValue_1"].apply(null,arguments)};var _emscripten_bind_DracoUInt32Array_size_0=Module["_emscripten_bind_DracoUInt32Array_size_0"]=function(){return Module["asm"]["emscripten_bind_DracoUInt32Array_size_0"].apply(null,arguments)};var _emscripten_bind_DracoUInt32Array___destroy___0=Module["_emscripten_bind_DracoUInt32Array___destroy___0"]=function(){return Module["asm"]["emscripten_bind_DracoUInt32Array___destroy___0"].apply(null,arguments)};var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=function(){return Module["asm"]["emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"].apply(null,arguments)};var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=function(){return Module["asm"]["emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"].apply(null,arguments)};var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=function(){return Module["asm"]["emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"].apply(null,arguments)};var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=function(){return Module["asm"]["emscripten_bind_AttributeOctahedronTransform___destroy___0"].apply(null,arguments)};var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute_PointAttribute_0"].apply(null,arguments)};var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute_size_0"].apply(null,arguments)};var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute_GetAttributeTransformData_0"].apply(null,arguments)};var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute_attribute_type_0"].apply(null,arguments)};var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute_data_type_0"].apply(null,arguments)};var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute_num_components_0"].apply(null,arguments)};var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute_normalized_0"].apply(null,arguments)};var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute_byte_stride_0"].apply(null,arguments)};var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute_byte_offset_0"].apply(null,arguments)};var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute_unique_id_0"].apply(null,arguments)};var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=function(){return Module["asm"]["emscripten_bind_PointAttribute___destroy___0"].apply(null,arguments)};var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=function(){return Module["asm"]["emscripten_bind_AttributeTransformData_AttributeTransformData_0"].apply(null,arguments)};var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=function(){return Module["asm"]["emscripten_bind_AttributeTransformData_transform_type_0"].apply(null,arguments)};var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=function(){return Module["asm"]["emscripten_bind_AttributeTransformData___destroy___0"].apply(null,arguments)};var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=function(){return Module["asm"]["emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"].apply(null,arguments)};var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=function(){return Module["asm"]["emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"].apply(null,arguments)};var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=function(){return Module["asm"]["emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"].apply(null,arguments)};var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=function(){return Module["asm"]["emscripten_bind_AttributeQuantizationTransform_min_value_1"].apply(null,arguments)};var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=function(){return Module["asm"]["emscripten_bind_AttributeQuantizationTransform_range_0"].apply(null,arguments)};var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=function(){return Module["asm"]["emscripten_bind_AttributeQuantizationTransform___destroy___0"].apply(null,arguments)};var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=function(){return Module["asm"]["emscripten_bind_DracoInt8Array_DracoInt8Array_0"].apply(null,arguments)};var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=function(){return Module["asm"]["emscripten_bind_DracoInt8Array_GetValue_1"].apply(null,arguments)};var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=function(){return Module["asm"]["emscripten_bind_DracoInt8Array_size_0"].apply(null,arguments)};var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=function(){return Module["asm"]["emscripten_bind_DracoInt8Array___destroy___0"].apply(null,arguments)};var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=function(){return Module["asm"]["emscripten_bind_MetadataQuerier_MetadataQuerier_0"].apply(null,arguments)};var _emscripten_bind_MetadataQuerier_HasEntry_2=Module["_emscripten_bind_MetadataQuerier_HasEntry_2"]=function(){return Module["asm"]["emscripten_bind_MetadataQuerier_HasEntry_2"].apply(null,arguments)};var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=function(){return Module["asm"]["emscripten_bind_MetadataQuerier_GetIntEntry_2"].apply(null,arguments)};var _emscripten_bind_MetadataQuerier_GetIntEntryArray_3=Module["_emscripten_bind_MetadataQuerier_GetIntEntryArray_3"]=function(){return Module["asm"]["emscripten_bind_MetadataQuerier_GetIntEntryArray_3"].apply(null,arguments)};var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=function(){return Module["asm"]["emscripten_bind_MetadataQuerier_GetDoubleEntry_2"].apply(null,arguments)};var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=function(){return Module["asm"]["emscripten_bind_MetadataQuerier_GetStringEntry_2"].apply(null,arguments)};var _emscripten_bind_MetadataQuerier_NumEntries_1=Module["_emscripten_bind_MetadataQuerier_NumEntries_1"]=function(){return Module["asm"]["emscripten_bind_MetadataQuerier_NumEntries_1"].apply(null,arguments)};var _emscripten_bind_MetadataQuerier_GetEntryName_2=Module["_emscripten_bind_MetadataQuerier_GetEntryName_2"]=function(){return Module["asm"]["emscripten_bind_MetadataQuerier_GetEntryName_2"].apply(null,arguments)};var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=function(){return Module["asm"]["emscripten_bind_MetadataQuerier___destroy___0"].apply(null,arguments)};var _emscripten_bind_DracoInt16Array_DracoInt16Array_0=Module["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"]=function(){return Module["asm"]["emscripten_bind_DracoInt16Array_DracoInt16Array_0"].apply(null,arguments)};var _emscripten_bind_DracoInt16Array_GetValue_1=Module["_emscripten_bind_DracoInt16Array_GetValue_1"]=function(){return Module["asm"]["emscripten_bind_DracoInt16Array_GetValue_1"].apply(null,arguments)};var _emscripten_bind_DracoInt16Array_size_0=Module["_emscripten_bind_DracoInt16Array_size_0"]=function(){return Module["asm"]["emscripten_bind_DracoInt16Array_size_0"].apply(null,arguments)};var _emscripten_bind_DracoInt16Array___destroy___0=Module["_emscripten_bind_DracoInt16Array___destroy___0"]=function(){return Module["asm"]["emscripten_bind_DracoInt16Array___destroy___0"].apply(null,arguments)};var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=function(){return Module["asm"]["emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"].apply(null,arguments)};var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=function(){return Module["asm"]["emscripten_bind_DracoFloat32Array_GetValue_1"].apply(null,arguments)};var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=function(){return Module["asm"]["emscripten_bind_DracoFloat32Array_size_0"].apply(null,arguments)};var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=function(){return Module["asm"]["emscripten_bind_DracoFloat32Array___destroy___0"].apply(null,arguments)};var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=function(){return Module["asm"]["emscripten_bind_GeometryAttribute_GeometryAttribute_0"].apply(null,arguments)};var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=function(){return Module["asm"]["emscripten_bind_GeometryAttribute___destroy___0"].apply(null,arguments)};var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=function(){return Module["asm"]["emscripten_bind_DecoderBuffer_DecoderBuffer_0"].apply(null,arguments)};var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=function(){return Module["asm"]["emscripten_bind_DecoderBuffer_Init_2"].apply(null,arguments)};var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=function(){return Module["asm"]["emscripten_bind_DecoderBuffer___destroy___0"].apply(null,arguments)};var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=function(){return Module["asm"]["emscripten_bind_Decoder_Decoder_0"].apply(null,arguments)};var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetEncodedGeometryType_1"].apply(null,arguments)};var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=function(){return Module["asm"]["emscripten_bind_Decoder_DecodeBufferToPointCloud_2"].apply(null,arguments)};var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=function(){return Module["asm"]["emscripten_bind_Decoder_DecodeBufferToMesh_2"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeId_2"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeIdByName_2"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttribute_2"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeByUniqueId_2"].apply(null,arguments)};var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetMetadata_1"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeMetadata_2"].apply(null,arguments)};var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetFaceFromMesh_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"].apply(null,arguments)};var _emscripten_bind_Decoder_GetTrianglesUInt16Array_3=Module["_emscripten_bind_Decoder_GetTrianglesUInt16Array_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetTrianglesUInt16Array_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetTrianglesUInt32Array_3=Module["_emscripten_bind_Decoder_GetTrianglesUInt32Array_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetTrianglesUInt32Array_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeFloat_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"].apply(null,arguments)};var _emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=Module["_emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5"]=function(){return Module["asm"]["emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5"].apply(null,arguments)};var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=function(){return Module["asm"]["emscripten_bind_Decoder_SkipAttributeTransform_1"].apply(null,arguments)};var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=function(){return Module["asm"]["emscripten_bind_Decoder___destroy___0"].apply(null,arguments)};var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=function(){return Module["asm"]["emscripten_bind_Mesh_Mesh_0"].apply(null,arguments)};var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=function(){return Module["asm"]["emscripten_bind_Mesh_num_faces_0"].apply(null,arguments)};var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=function(){return Module["asm"]["emscripten_bind_Mesh_num_attributes_0"].apply(null,arguments)};var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=function(){return Module["asm"]["emscripten_bind_Mesh_num_points_0"].apply(null,arguments)};var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=function(){return Module["asm"]["emscripten_bind_Mesh___destroy___0"].apply(null,arguments)};var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=function(){return Module["asm"]["emscripten_bind_VoidPtr___destroy___0"].apply(null,arguments)};var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=function(){return Module["asm"]["emscripten_bind_DracoInt32Array_DracoInt32Array_0"].apply(null,arguments)};var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=function(){return Module["asm"]["emscripten_bind_DracoInt32Array_GetValue_1"].apply(null,arguments)};var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=function(){return Module["asm"]["emscripten_bind_DracoInt32Array_size_0"].apply(null,arguments)};var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=function(){return Module["asm"]["emscripten_bind_DracoInt32Array___destroy___0"].apply(null,arguments)};var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=function(){return Module["asm"]["emscripten_bind_Metadata_Metadata_0"].apply(null,arguments)};var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=function(){return Module["asm"]["emscripten_bind_Metadata___destroy___0"].apply(null,arguments)};var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=function(){return Module["asm"]["emscripten_enum_draco_StatusCode_OK"].apply(null,arguments)};var _emscripten_enum_draco_StatusCode_DRACO_ERROR=Module["_emscripten_enum_draco_StatusCode_DRACO_ERROR"]=function(){return Module["asm"]["emscripten_enum_draco_StatusCode_DRACO_ERROR"].apply(null,arguments)};var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=function(){return Module["asm"]["emscripten_enum_draco_StatusCode_IO_ERROR"].apply(null,arguments)};var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=function(){return Module["asm"]["emscripten_enum_draco_StatusCode_INVALID_PARAMETER"].apply(null,arguments)};var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=function(){return Module["asm"]["emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"].apply(null,arguments)};var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=function(){return Module["asm"]["emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_INVALID=Module["_emscripten_enum_draco_DataType_DT_INVALID"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_INVALID"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_INT8=Module["_emscripten_enum_draco_DataType_DT_INT8"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_INT8"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_UINT8=Module["_emscripten_enum_draco_DataType_DT_UINT8"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_UINT8"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_INT16=Module["_emscripten_enum_draco_DataType_DT_INT16"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_INT16"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_UINT16=Module["_emscripten_enum_draco_DataType_DT_UINT16"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_UINT16"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_INT32=Module["_emscripten_enum_draco_DataType_DT_INT32"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_INT32"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_UINT32=Module["_emscripten_enum_draco_DataType_DT_UINT32"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_UINT32"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_INT64=Module["_emscripten_enum_draco_DataType_DT_INT64"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_INT64"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_UINT64=Module["_emscripten_enum_draco_DataType_DT_UINT64"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_UINT64"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_FLOAT32=Module["_emscripten_enum_draco_DataType_DT_FLOAT32"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_FLOAT32"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_FLOAT64=Module["_emscripten_enum_draco_DataType_DT_FLOAT64"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_FLOAT64"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_BOOL=Module["_emscripten_enum_draco_DataType_DT_BOOL"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_BOOL"].apply(null,arguments)};var _emscripten_enum_draco_DataType_DT_TYPES_COUNT=Module["_emscripten_enum_draco_DataType_DT_TYPES_COUNT"]=function(){return Module["asm"]["emscripten_enum_draco_DataType_DT_TYPES_COUNT"].apply(null,arguments)};var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=function(){return Module["asm"]["emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"].apply(null,arguments)};var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=function(){return Module["asm"]["emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"].apply(null,arguments)};var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=function(){return Module["asm"]["emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"].apply(null,arguments)};var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=function(){return Module["asm"]["emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"].apply(null,arguments)};var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=function(){return Module["asm"]["emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"].apply(null,arguments)};var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=function(){return Module["asm"]["emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"].apply(null,arguments)};var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=function(){return Module["asm"]["emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"].apply(null,arguments)};var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=function(){return Module["asm"]["emscripten_enum_draco_GeometryAttribute_Type_INVALID"].apply(null,arguments)};var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=function(){return Module["asm"]["emscripten_enum_draco_GeometryAttribute_Type_POSITION"].apply(null,arguments)};var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=function(){return Module["asm"]["emscripten_enum_draco_GeometryAttribute_Type_NORMAL"].apply(null,arguments)};var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=function(){return Module["asm"]["emscripten_enum_draco_GeometryAttribute_Type_COLOR"].apply(null,arguments)};var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=function(){return Module["asm"]["emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"].apply(null,arguments)};var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=function(){return Module["asm"]["emscripten_enum_draco_GeometryAttribute_Type_GENERIC"].apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return Module["asm"]["setThrew"].apply(null,arguments)};var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=function(){return Module["asm"]["_ZSt18uncaught_exceptionv"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["free"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["malloc"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["stackSave"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["stackAlloc"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["stackRestore"].apply(null,arguments)};var __growWasmMemory=Module["__growWasmMemory"]=function(){return Module["asm"]["__growWasmMemory"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return Module["asm"]["dynCall_ii"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return Module["asm"]["dynCall_iii"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["dynCall_vii"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["dynCall_iiii"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["dynCall_v"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["dynCall_viii"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["dynCall_viiii"].apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return Module["asm"]["dynCall_iiiiiii"].apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return Module["asm"]["dynCall_iidiiii"].apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return Module["asm"]["dynCall_jiji"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return Module["asm"]["dynCall_viiiiii"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["dynCall_viiiii"].apply(null,arguments)};Module["asm"]=asm;var calledRun;Module["then"]=function(func){if(calledRun){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=function(){if(old)old();func(Module)}}return Module};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i<ensureCache.temps.length;i++){Module["_free"](ensureCache.temps[i])}ensureCache.temps.length=0;Module["_free"](ensureCache.buffer);ensureCache.buffer=0;ensureCache.size+=ensureCache.needed;ensureCache.needed=0}if(!ensureCache.buffer){ensureCache.size+=128;ensureCache.buffer=Module["_malloc"](ensureCache.size);assert(ensureCache.buffer)}ensureCache.pos=0},alloc:function(array,view){assert(ensureCache.buffer);var bytes=view.BYTES_PER_ELEMENT;var len=array.length*bytes;len=len+7&-8;var ret;if(ensureCache.pos+len>=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i<array.length;i++){view[offsetShifted+i]=array[i]}}};function ensureString(value){if(typeof value==="string"){var intArray=intArrayFromString(value);var offset=ensureCache.alloc(intArray,HEAP8);ensureCache.copy(intArray,HEAP8,offset);return offset}return value}function ensureInt8(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP8);ensureCache.copy(value,HEAP8,offset);return offset}return value}function Status(){throw"cannot construct a Status, no constructor in IDL"}Status.prototype=Object.create(WrapperObject.prototype);Status.prototype.constructor=Status;Status.prototype.__class__=Status;Status.__cache__={};Module["Status"]=Status;Status.prototype["code"]=Status.prototype.code=function(){var self=this.ptr;return _emscripten_bind_Status_code_0(self)};Status.prototype["ok"]=Status.prototype.ok=function(){var self=this.ptr;return!!_emscripten_bind_Status_ok_0(self)};Status.prototype["error_msg"]=Status.prototype.error_msg=function(){var self=this.ptr;return UTF8ToString(_emscripten_bind_Status_error_msg_0(self))};Status.prototype["__destroy__"]=Status.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Status___destroy___0(self)};function DracoUInt16Array(){this.ptr=_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0();getCache(DracoUInt16Array)[this.ptr]=this}DracoUInt16Array.prototype=Object.create(WrapperObject.prototype);DracoUInt16Array.prototype.constructor=DracoUInt16Array;DracoUInt16Array.prototype.__class__=DracoUInt16Array;DracoUInt16Array.__cache__={};Module["DracoUInt16Array"]=DracoUInt16Array;DracoUInt16Array.prototype["GetValue"]=DracoUInt16Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoUInt16Array_GetValue_1(self,index)};DracoUInt16Array.prototype["size"]=DracoUInt16Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoUInt16Array_size_0(self)};DracoUInt16Array.prototype["__destroy__"]=DracoUInt16Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoUInt16Array___destroy___0(self)};function PointCloud(){this.ptr=_emscripten_bind_PointCloud_PointCloud_0();getCache(PointCloud)[this.ptr]=this}PointCloud.prototype=Object.create(WrapperObject.prototype);PointCloud.prototype.constructor=PointCloud;PointCloud.prototype.__class__=PointCloud;PointCloud.__cache__={};Module["PointCloud"]=PointCloud;PointCloud.prototype["num_attributes"]=PointCloud.prototype.num_attributes=function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_attributes_0(self)};PointCloud.prototype["num_points"]=PointCloud.prototype.num_points=function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_points_0(self)};PointCloud.prototype["__destroy__"]=PointCloud.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_PointCloud___destroy___0(self)};function DracoUInt8Array(){this.ptr=_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0();getCache(DracoUInt8Array)[this.ptr]=this}DracoUInt8Array.prototype=Object.create(WrapperObject.prototype);DracoUInt8Array.prototype.constructor=DracoUInt8Array;DracoUInt8Array.prototype.__class__=DracoUInt8Array;DracoUInt8Array.__cache__={};Module["DracoUInt8Array"]=DracoUInt8Array;DracoUInt8Array.prototype["GetValue"]=DracoUInt8Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoUInt8Array_GetValue_1(self,index)};DracoUInt8Array.prototype["size"]=DracoUInt8Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoUInt8Array_size_0(self)};DracoUInt8Array.prototype["__destroy__"]=DracoUInt8Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoUInt8Array___destroy___0(self)};function DracoUInt32Array(){this.ptr=_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0();getCache(DracoUInt32Array)[this.ptr]=this}DracoUInt32Array.prototype=Object.create(WrapperObject.prototype);DracoUInt32Array.prototype.constructor=DracoUInt32Array;DracoUInt32Array.prototype.__class__=DracoUInt32Array;DracoUInt32Array.__cache__={};Module["DracoUInt32Array"]=DracoUInt32Array;DracoUInt32Array.prototype["GetValue"]=DracoUInt32Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoUInt32Array_GetValue_1(self,index)};DracoUInt32Array.prototype["size"]=DracoUInt32Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoUInt32Array_size_0(self)};DracoUInt32Array.prototype["__destroy__"]=DracoUInt32Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoUInt32Array___destroy___0(self)};function AttributeOctahedronTransform(){this.ptr=_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0();getCache(AttributeOctahedronTransform)[this.ptr]=this}AttributeOctahedronTransform.prototype=Object.create(WrapperObject.prototype);AttributeOctahedronTransform.prototype.constructor=AttributeOctahedronTransform;AttributeOctahedronTransform.prototype.__class__=AttributeOctahedronTransform;AttributeOctahedronTransform.__cache__={};Module["AttributeOctahedronTransform"]=AttributeOctahedronTransform;AttributeOctahedronTransform.prototype["InitFromAttribute"]=AttributeOctahedronTransform.prototype.InitFromAttribute=function(att){var self=this.ptr;if(att&&typeof att==="object")att=att.ptr;return!!_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1(self,att)};AttributeOctahedronTransform.prototype["quantization_bits"]=AttributeOctahedronTransform.prototype.quantization_bits=function(){var self=this.ptr;return _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0(self)};AttributeOctahedronTransform.prototype["__destroy__"]=AttributeOctahedronTransform.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_AttributeOctahedronTransform___destroy___0(self)};function PointAttribute(){this.ptr=_emscripten_bind_PointAttribute_PointAttribute_0();getCache(PointAttribute)[this.ptr]=this}PointAttribute.prototype=Object.create(WrapperObject.prototype);PointAttribute.prototype.constructor=PointAttribute;PointAttribute.prototype.__class__=PointAttribute;PointAttribute.__cache__={};Module["PointAttribute"]=PointAttribute;PointAttribute.prototype["size"]=PointAttribute.prototype.size=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_size_0(self)};PointAttribute.prototype["GetAttributeTransformData"]=PointAttribute.prototype.GetAttributeTransformData=function(){var self=this.ptr;return wrapPointer(_emscripten_bind_PointAttribute_GetAttributeTransformData_0(self),AttributeTransformData)};PointAttribute.prototype["attribute_type"]=PointAttribute.prototype.attribute_type=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_attribute_type_0(self)};PointAttribute.prototype["data_type"]=PointAttribute.prototype.data_type=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_data_type_0(self)};PointAttribute.prototype["num_components"]=PointAttribute.prototype.num_components=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_num_components_0(self)};PointAttribute.prototype["normalized"]=PointAttribute.prototype.normalized=function(){var self=this.ptr;return!!_emscripten_bind_PointAttribute_normalized_0(self)};PointAttribute.prototype["byte_stride"]=PointAttribute.prototype.byte_stride=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_stride_0(self)};PointAttribute.prototype["byte_offset"]=PointAttribute.prototype.byte_offset=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_offset_0(self)};PointAttribute.prototype["unique_id"]=PointAttribute.prototype.unique_id=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_unique_id_0(self)};PointAttribute.prototype["__destroy__"]=PointAttribute.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_PointAttribute___destroy___0(self)};function AttributeTransformData(){this.ptr=_emscripten_bind_AttributeTransformData_AttributeTransformData_0();getCache(AttributeTransformData)[this.ptr]=this}AttributeTransformData.prototype=Object.create(WrapperObject.prototype);AttributeTransformData.prototype.constructor=AttributeTransformData;AttributeTransformData.prototype.__class__=AttributeTransformData;AttributeTransformData.__cache__={};Module["AttributeTransformData"]=AttributeTransformData;AttributeTransformData.prototype["transform_type"]=AttributeTransformData.prototype.transform_type=function(){var self=this.ptr;return _emscripten_bind_AttributeTransformData_transform_type_0(self)};AttributeTransformData.prototype["__destroy__"]=AttributeTransformData.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_AttributeTransformData___destroy___0(self)};function AttributeQuantizationTransform(){this.ptr=_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0();getCache(AttributeQuantizationTransform)[this.ptr]=this}AttributeQuantizationTransform.prototype=Object.create(WrapperObject.prototype);AttributeQuantizationTransform.prototype.constructor=AttributeQuantizationTransform;AttributeQuantizationTransform.prototype.__class__=AttributeQuantizationTransform;AttributeQuantizationTransform.__cache__={};Module["AttributeQuantizationTransform"]=AttributeQuantizationTransform;AttributeQuantizationTransform.prototype["InitFromAttribute"]=AttributeQuantizationTransform.prototype.InitFromAttribute=function(att){var self=this.ptr;if(att&&typeof att==="object")att=att.ptr;return!!_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1(self,att)};AttributeQuantizationTransform.prototype["quantization_bits"]=AttributeQuantizationTransform.prototype.quantization_bits=function(){var self=this.ptr;return _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0(self)};AttributeQuantizationTransform.prototype["min_value"]=AttributeQuantizationTransform.prototype.min_value=function(axis){var self=this.ptr;if(axis&&typeof axis==="object")axis=axis.ptr;return _emscripten_bind_AttributeQuantizationTransform_min_value_1(self,axis)};AttributeQuantizationTransform.prototype["range"]=AttributeQuantizationTransform.prototype.range=function(){var self=this.ptr;return _emscripten_bind_AttributeQuantizationTransform_range_0(self)};AttributeQuantizationTransform.prototype["__destroy__"]=AttributeQuantizationTransform.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_AttributeQuantizationTransform___destroy___0(self)};function DracoInt8Array(){this.ptr=_emscripten_bind_DracoInt8Array_DracoInt8Array_0();getCache(DracoInt8Array)[this.ptr]=this}DracoInt8Array.prototype=Object.create(WrapperObject.prototype);DracoInt8Array.prototype.constructor=DracoInt8Array;DracoInt8Array.prototype.__class__=DracoInt8Array;DracoInt8Array.__cache__={};Module["DracoInt8Array"]=DracoInt8Array;DracoInt8Array.prototype["GetValue"]=DracoInt8Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoInt8Array_GetValue_1(self,index)};DracoInt8Array.prototype["size"]=DracoInt8Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoInt8Array_size_0(self)};DracoInt8Array.prototype["__destroy__"]=DracoInt8Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoInt8Array___destroy___0(self)};function MetadataQuerier(){this.ptr=_emscripten_bind_MetadataQuerier_MetadataQuerier_0();getCache(MetadataQuerier)[this.ptr]=this}MetadataQuerier.prototype=Object.create(WrapperObject.prototype);MetadataQuerier.prototype.constructor=MetadataQuerier;MetadataQuerier.prototype.__class__=MetadataQuerier;MetadataQuerier.__cache__={};Module["MetadataQuerier"]=MetadataQuerier;MetadataQuerier.prototype["HasEntry"]=MetadataQuerier.prototype.HasEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return!!_emscripten_bind_MetadataQuerier_HasEntry_2(self,metadata,entry_name)};MetadataQuerier.prototype["GetIntEntry"]=MetadataQuerier.prototype.GetIntEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return _emscripten_bind_MetadataQuerier_GetIntEntry_2(self,metadata,entry_name)};MetadataQuerier.prototype["GetIntEntryArray"]=MetadataQuerier.prototype.GetIntEntryArray=function(metadata,entry_name,out_values){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);if(out_values&&typeof out_values==="object")out_values=out_values.ptr;_emscripten_bind_MetadataQuerier_GetIntEntryArray_3(self,metadata,entry_name,out_values)};MetadataQuerier.prototype["GetDoubleEntry"]=MetadataQuerier.prototype.GetDoubleEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return _emscripten_bind_MetadataQuerier_GetDoubleEntry_2(self,metadata,entry_name)};MetadataQuerier.prototype["GetStringEntry"]=MetadataQuerier.prototype.GetStringEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return UTF8ToString(_emscripten_bind_MetadataQuerier_GetStringEntry_2(self,metadata,entry_name))};MetadataQuerier.prototype["NumEntries"]=MetadataQuerier.prototype.NumEntries=function(metadata){var self=this.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;return _emscripten_bind_MetadataQuerier_NumEntries_1(self,metadata)};MetadataQuerier.prototype["GetEntryName"]=MetadataQuerier.prototype.GetEntryName=function(metadata,entry_id){var self=this.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_id&&typeof entry_id==="object")entry_id=entry_id.ptr;return UTF8ToString(_emscripten_bind_MetadataQuerier_GetEntryName_2(self,metadata,entry_id))};MetadataQuerier.prototype["__destroy__"]=MetadataQuerier.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_MetadataQuerier___destroy___0(self)};function DracoInt16Array(){this.ptr=_emscripten_bind_DracoInt16Array_DracoInt16Array_0();getCache(DracoInt16Array)[this.ptr]=this}DracoInt16Array.prototype=Object.create(WrapperObject.prototype);DracoInt16Array.prototype.constructor=DracoInt16Array;DracoInt16Array.prototype.__class__=DracoInt16Array;DracoInt16Array.__cache__={};Module["DracoInt16Array"]=DracoInt16Array;DracoInt16Array.prototype["GetValue"]=DracoInt16Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoInt16Array_GetValue_1(self,index)};DracoInt16Array.prototype["size"]=DracoInt16Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoInt16Array_size_0(self)};DracoInt16Array.prototype["__destroy__"]=DracoInt16Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoInt16Array___destroy___0(self)};function DracoFloat32Array(){this.ptr=_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0();getCache(DracoFloat32Array)[this.ptr]=this}DracoFloat32Array.prototype=Object.create(WrapperObject.prototype);DracoFloat32Array.prototype.constructor=DracoFloat32Array;DracoFloat32Array.prototype.__class__=DracoFloat32Array;DracoFloat32Array.__cache__={};Module["DracoFloat32Array"]=DracoFloat32Array;DracoFloat32Array.prototype["GetValue"]=DracoFloat32Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoFloat32Array_GetValue_1(self,index)};DracoFloat32Array.prototype["size"]=DracoFloat32Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoFloat32Array_size_0(self)};DracoFloat32Array.prototype["__destroy__"]=DracoFloat32Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoFloat32Array___destroy___0(self)};function GeometryAttribute(){this.ptr=_emscripten_bind_GeometryAttribute_GeometryAttribute_0();getCache(GeometryAttribute)[this.ptr]=this}GeometryAttribute.prototype=Object.create(WrapperObject.prototype);GeometryAttribute.prototype.constructor=GeometryAttribute;GeometryAttribute.prototype.__class__=GeometryAttribute;GeometryAttribute.__cache__={};Module["GeometryAttribute"]=GeometryAttribute;GeometryAttribute.prototype["__destroy__"]=GeometryAttribute.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_GeometryAttribute___destroy___0(self)};function DecoderBuffer(){this.ptr=_emscripten_bind_DecoderBuffer_DecoderBuffer_0();getCache(DecoderBuffer)[this.ptr]=this}DecoderBuffer.prototype=Object.create(WrapperObject.prototype);DecoderBuffer.prototype.constructor=DecoderBuffer;DecoderBuffer.prototype.__class__=DecoderBuffer;DecoderBuffer.__cache__={};Module["DecoderBuffer"]=DecoderBuffer;DecoderBuffer.prototype["Init"]=DecoderBuffer.prototype.Init=function(data,data_size){var self=this.ptr;ensureCache.prepare();if(typeof data=="object"){data=ensureInt8(data)}if(data_size&&typeof data_size==="object")data_size=data_size.ptr;_emscripten_bind_DecoderBuffer_Init_2(self,data,data_size)};DecoderBuffer.prototype["__destroy__"]=DecoderBuffer.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DecoderBuffer___destroy___0(self)};function Decoder(){this.ptr=_emscripten_bind_Decoder_Decoder_0();getCache(Decoder)[this.ptr]=this}Decoder.prototype=Object.create(WrapperObject.prototype);Decoder.prototype.constructor=Decoder;Decoder.prototype.__class__=Decoder;Decoder.__cache__={};Module["Decoder"]=Decoder;Decoder.prototype["GetEncodedGeometryType"]=Decoder.prototype.GetEncodedGeometryType=function(in_buffer){var self=this.ptr;if(in_buffer&&typeof in_buffer==="object")in_buffer=in_buffer.ptr;return _emscripten_bind_Decoder_GetEncodedGeometryType_1(self,in_buffer)};Decoder.prototype["DecodeBufferToPointCloud"]=Decoder.prototype.DecodeBufferToPointCloud=function(in_buffer,out_point_cloud){var self=this.ptr;if(in_buffer&&typeof in_buffer==="object")in_buffer=in_buffer.ptr;if(out_point_cloud&&typeof out_point_cloud==="object")out_point_cloud=out_point_cloud.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeBufferToPointCloud_2(self,in_buffer,out_point_cloud),Status)};Decoder.prototype["DecodeBufferToMesh"]=Decoder.prototype.DecodeBufferToMesh=function(in_buffer,out_mesh){var self=this.ptr;if(in_buffer&&typeof in_buffer==="object")in_buffer=in_buffer.ptr;if(out_mesh&&typeof out_mesh==="object")out_mesh=out_mesh.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeBufferToMesh_2(self,in_buffer,out_mesh),Status)};Decoder.prototype["GetAttributeId"]=Decoder.prototype.GetAttributeId=function(pc,type){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;return _emscripten_bind_Decoder_GetAttributeId_2(self,pc,type)};Decoder.prototype["GetAttributeIdByName"]=Decoder.prototype.GetAttributeIdByName=function(pc,name){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(name&&typeof name==="object")name=name.ptr;else name=ensureString(name);return _emscripten_bind_Decoder_GetAttributeIdByName_2(self,pc,name)};Decoder.prototype["GetAttributeIdByMetadataEntry"]=Decoder.prototype.GetAttributeIdByMetadataEntry=function(pc,name,value){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(name&&typeof name==="object")name=name.ptr;else name=ensureString(name);if(value&&typeof value==="object")value=value.ptr;else value=ensureString(value);return _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3(self,pc,name,value)};Decoder.prototype["GetAttribute"]=Decoder.prototype.GetAttribute=function(pc,att_id){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(att_id&&typeof att_id==="object")att_id=att_id.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttribute_2(self,pc,att_id),PointAttribute)};Decoder.prototype["GetAttributeByUniqueId"]=Decoder.prototype.GetAttributeByUniqueId=function(pc,unique_id){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(unique_id&&typeof unique_id==="object")unique_id=unique_id.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttributeByUniqueId_2(self,pc,unique_id),PointAttribute)};Decoder.prototype["GetMetadata"]=Decoder.prototype.GetMetadata=function(pc){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;return wrapPointer(_emscripten_bind_Decoder_GetMetadata_1(self,pc),Metadata)};Decoder.prototype["GetAttributeMetadata"]=Decoder.prototype.GetAttributeMetadata=function(pc,att_id){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(att_id&&typeof att_id==="object")att_id=att_id.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttributeMetadata_2(self,pc,att_id),Metadata)};Decoder.prototype["GetFaceFromMesh"]=Decoder.prototype.GetFaceFromMesh=function(m,face_id,out_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(face_id&&typeof face_id==="object")face_id=face_id.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetFaceFromMesh_3(self,m,face_id,out_values)};Decoder.prototype["GetTriangleStripsFromMesh"]=Decoder.prototype.GetTriangleStripsFromMesh=function(m,strip_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(strip_values&&typeof strip_values==="object")strip_values=strip_values.ptr;return _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2(self,m,strip_values)};Decoder.prototype["GetTrianglesUInt16Array"]=Decoder.prototype.GetTrianglesUInt16Array=function(m,out_size,out_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(out_size&&typeof out_size==="object")out_size=out_size.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetTrianglesUInt16Array_3(self,m,out_size,out_values)};Decoder.prototype["GetTrianglesUInt32Array"]=Decoder.prototype.GetTrianglesUInt32Array=function(m,out_size,out_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(out_size&&typeof out_size==="object")out_size=out_size.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetTrianglesUInt32Array_3(self,m,out_size,out_values)};Decoder.prototype["GetAttributeFloat"]=Decoder.prototype.GetAttributeFloat=function(pa,att_index,out_values){var self=this.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(att_index&&typeof att_index==="object")att_index=att_index.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeFloat_3(self,pa,att_index,out_values)};Decoder.prototype["GetAttributeFloatForAllPoints"]=Decoder.prototype.GetAttributeFloatForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeIntForAllPoints"]=Decoder.prototype.GetAttributeIntForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeInt8ForAllPoints"]=Decoder.prototype.GetAttributeInt8ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeUInt8ForAllPoints"]=Decoder.prototype.GetAttributeUInt8ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeInt16ForAllPoints"]=Decoder.prototype.GetAttributeInt16ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeUInt16ForAllPoints"]=Decoder.prototype.GetAttributeUInt16ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeInt32ForAllPoints"]=Decoder.prototype.GetAttributeInt32ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeUInt32ForAllPoints"]=Decoder.prototype.GetAttributeUInt32ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeDataArrayForAllPoints"]=Decoder.prototype.GetAttributeDataArrayForAllPoints=function(pc,pa,data_type,out_size,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(data_type&&typeof data_type==="object")data_type=data_type.ptr;if(out_size&&typeof out_size==="object")out_size=out_size.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5(self,pc,pa,data_type,out_size,out_values)};Decoder.prototype["SkipAttributeTransform"]=Decoder.prototype.SkipAttributeTransform=function(att_type){var self=this.ptr;if(att_type&&typeof att_type==="object")att_type=att_type.ptr;_emscripten_bind_Decoder_SkipAttributeTransform_1(self,att_type)};Decoder.prototype["__destroy__"]=Decoder.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Decoder___destroy___0(self)};function Mesh(){this.ptr=_emscripten_bind_Mesh_Mesh_0();getCache(Mesh)[this.ptr]=this}Mesh.prototype=Object.create(WrapperObject.prototype);Mesh.prototype.constructor=Mesh;Mesh.prototype.__class__=Mesh;Mesh.__cache__={};Module["Mesh"]=Mesh;Mesh.prototype["num_faces"]=Mesh.prototype.num_faces=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_faces_0(self)};Mesh.prototype["num_attributes"]=Mesh.prototype.num_attributes=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_attributes_0(self)};Mesh.prototype["num_points"]=Mesh.prototype.num_points=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_points_0(self)};Mesh.prototype["__destroy__"]=Mesh.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Mesh___destroy___0(self)};function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL"}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.__class__=VoidPtr;VoidPtr.__cache__={};Module["VoidPtr"]=VoidPtr;VoidPtr.prototype["__destroy__"]=VoidPtr.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_VoidPtr___destroy___0(self)};function DracoInt32Array(){this.ptr=_emscripten_bind_DracoInt32Array_DracoInt32Array_0();getCache(DracoInt32Array)[this.ptr]=this}DracoInt32Array.prototype=Object.create(WrapperObject.prototype);DracoInt32Array.prototype.constructor=DracoInt32Array;DracoInt32Array.prototype.__class__=DracoInt32Array;DracoInt32Array.__cache__={};Module["DracoInt32Array"]=DracoInt32Array;DracoInt32Array.prototype["GetValue"]=DracoInt32Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoInt32Array_GetValue_1(self,index)};DracoInt32Array.prototype["size"]=DracoInt32Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoInt32Array_size_0(self)};DracoInt32Array.prototype["__destroy__"]=DracoInt32Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoInt32Array___destroy___0(self)};function Metadata(){this.ptr=_emscripten_bind_Metadata_Metadata_0();getCache(Metadata)[this.ptr]=this}Metadata.prototype=Object.create(WrapperObject.prototype);Metadata.prototype.constructor=Metadata;Metadata.prototype.__class__=Metadata;Metadata.__cache__={};Module["Metadata"]=Metadata;Metadata.prototype["__destroy__"]=Metadata.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Metadata___destroy___0(self)};(function(){function setupEnums(){Module["OK"]=_emscripten_enum_draco_StatusCode_OK();Module["DRACO_ERROR"]=_emscripten_enum_draco_StatusCode_DRACO_ERROR();Module["IO_ERROR"]=_emscripten_enum_draco_StatusCode_IO_ERROR();Module["INVALID_PARAMETER"]=_emscripten_enum_draco_StatusCode_INVALID_PARAMETER();Module["UNSUPPORTED_VERSION"]=_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION();Module["UNKNOWN_VERSION"]=_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION();Module["DT_INVALID"]=_emscripten_enum_draco_DataType_DT_INVALID();Module["DT_INT8"]=_emscripten_enum_draco_DataType_DT_INT8();Module["DT_UINT8"]=_emscripten_enum_draco_DataType_DT_UINT8();Module["DT_INT16"]=_emscripten_enum_draco_DataType_DT_INT16();Module["DT_UINT16"]=_emscripten_enum_draco_DataType_DT_UINT16();Module["DT_INT32"]=_emscripten_enum_draco_DataType_DT_INT32();Module["DT_UINT32"]=_emscripten_enum_draco_DataType_DT_UINT32();Module["DT_INT64"]=_emscripten_enum_draco_DataType_DT_INT64();Module["DT_UINT64"]=_emscripten_enum_draco_DataType_DT_UINT64();Module["DT_FLOAT32"]=_emscripten_enum_draco_DataType_DT_FLOAT32();Module["DT_FLOAT64"]=_emscripten_enum_draco_DataType_DT_FLOAT64();Module["DT_BOOL"]=_emscripten_enum_draco_DataType_DT_BOOL();Module["DT_TYPES_COUNT"]=_emscripten_enum_draco_DataType_DT_TYPES_COUNT();Module["INVALID_GEOMETRY_TYPE"]=_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE();Module["POINT_CLOUD"]=_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD();Module["TRIANGULAR_MESH"]=_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH();Module["ATTRIBUTE_INVALID_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM();Module["ATTRIBUTE_NO_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM();Module["ATTRIBUTE_QUANTIZATION_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM();Module["ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM();Module["INVALID"]=_emscripten_enum_draco_GeometryAttribute_Type_INVALID();Module["POSITION"]=_emscripten_enum_draco_GeometryAttribute_Type_POSITION();Module["NORMAL"]=_emscripten_enum_draco_GeometryAttribute_Type_NORMAL();Module["COLOR"]=_emscripten_enum_draco_GeometryAttribute_Type_COLOR();Module["TEX_COORD"]=_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD();Module["GENERIC"]=_emscripten_enum_draco_GeometryAttribute_Type_GENERIC()}if(runtimeInitialized)setupEnums();else addOnPreMain(setupEnums)})();if(typeof Module["onModuleParsed"]==="function"){Module["onModuleParsed"]()}
-
-
-  return DracoDecoderModule
-}
-);
-})();
-if (typeof exports === 'object' && typeof module === 'object')
-      module.exports = DracoDecoderModule;
-    else if (typeof define === 'function' && define['amd'])
-      define([], function() { return DracoDecoderModule; });
-    else if (typeof exports === 'object')
-      exports["DracoDecoderModule"] = DracoDecoderModule;
-    
\ No newline at end of file
diff --git a/libs/supermap/ThirdParty/Workers/draco_wasm_wrapper.js b/libs/supermap/ThirdParty/Workers/draco_wasm_wrapper.js
deleted file mode 100644
index 6774812..0000000
--- a/libs/supermap/ThirdParty/Workers/draco_wasm_wrapper.js
+++ /dev/null
@@ -1,1811 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-var $jscomp = $jscomp || {};
-$jscomp.scope = {};
-$jscomp.arrayIteratorImpl = function (f) {
-    var m = 0;
-    return function () {
-        return m < f.length ? {done: !1, value: f[m++]} : {done: !0}
-    }
-};
-$jscomp.arrayIterator = function (f) {
-    return{next: $jscomp.arrayIteratorImpl(f)}
-};
-$jscomp.makeIterator = function (f) {
-    var m = "undefined" != typeof Symbol && Symbol.iterator && f[Symbol.iterator];
-    return m ? m.call(f) : $jscomp.arrayIterator(f)
-};
-$jscomp.getGlobal = function (f) {
-    return"undefined" != typeof window && window === f ? f : "undefined" != typeof global && null != global ? global : f
-};
-$jscomp.global = $jscomp.getGlobal(this);
-$jscomp.ASSUME_ES5 = !1;
-$jscomp.ASSUME_NO_NATIVE_MAP = !1;
-$jscomp.ASSUME_NO_NATIVE_SET = !1;
-$jscomp.SIMPLE_FROUND_POLYFILL = !1;
-$jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function (f, m, v) {
-    f != Array.prototype && f != Object.prototype && (f[m] = v.value)
-};
-$jscomp.polyfill = function (f, m, v, t) {
-    if (m) {
-        v = $jscomp.global;
-        f = f.split(".");
-        for (t = 0; t < f.length - 1; t++) {
-            var h = f[t];
-            h in v || (v[h] = {});
-            v = v[h]
-        }
-        f = f[f.length - 1];
-        t = v[f];
-        m = m(t);
-        m != t && null != m && $jscomp.defineProperty(v, f, {configurable: !0, writable: !0, value: m})
-    }
-};
-$jscomp.FORCE_POLYFILL_PROMISE = !1;
-$jscomp.polyfill("Promise", function (f) {
-    function m() {
-        this.batch_ = null
-    }
-
-    function v(e) {
-        return e instanceof h ? e : new h(function (l, f) {
-            l(e)
-        })
-    }
-
-    if (f && !$jscomp.FORCE_POLYFILL_PROMISE)return f;
-    m.prototype.asyncExecute = function (e) {
-        if (null == this.batch_) {
-            this.batch_ = [];
-            var l = this;
-            this.asyncExecuteFunction(function () {
-                l.executeBatch_()
-            })
-        }
-        this.batch_.push(e)
-    };
-    var t = $jscomp.global.setTimeout;
-    m.prototype.asyncExecuteFunction = function (e) {
-        t(e, 0)
-    };
-    m.prototype.executeBatch_ = function () {
-        for (; this.batch_ && this.batch_.length;) {
-            var e =
-                this.batch_;
-            this.batch_ = [];
-            for (var l = 0; l < e.length; ++l) {
-                var f = e[l];
-                e[l] = null;
-                try {
-                    f()
-                } catch (z) {
-                    this.asyncThrow_(z)
-                }
-            }
-        }
-        this.batch_ = null
-    };
-    m.prototype.asyncThrow_ = function (e) {
-        this.asyncExecuteFunction(function () {
-            throw e;
-        })
-    };
-    var h = function (e) {
-        this.state_ = 0;
-        this.result_ = void 0;
-        this.onSettledCallbacks_ = [];
-        var l = this.createResolveAndReject_();
-        try {
-            e(l.resolve, l.reject)
-        } catch (S) {
-            l.reject(S)
-        }
-    };
-    h.prototype.createResolveAndReject_ = function () {
-        function e(e) {
-            return function (h) {
-                f || (f = !0, e.call(l, h))
-            }
-        }
-
-        var l = this, f = !1;
-        return{resolve: e(this.resolveTo_), reject: e(this.reject_)}
-    };
-    h.prototype.resolveTo_ = function (e) {
-        if (e === this)this.reject_(new TypeError("A Promise cannot resolve to itself")); else if (e instanceof h)this.settleSameAsPromise_(e); else {
-            a:switch (typeof e) {
-                case "object":
-                    var l = null != e;
-                    break a;
-                case "function":
-                    l = !0;
-                    break a;
-                default:
-                    l = !1
-            }
-            l ? this.resolveToNonPromiseObj_(e) : this.fulfill_(e)
-        }
-    };
-    h.prototype.resolveToNonPromiseObj_ = function (e) {
-        var l = void 0;
-        try {
-            l = e.then
-        } catch (S) {
-            this.reject_(S);
-            return
-        }
-        "function" == typeof l ?
-            this.settleSameAsThenable_(l, e) : this.fulfill_(e)
-    };
-    h.prototype.reject_ = function (e) {
-        this.settle_(2, e)
-    };
-    h.prototype.fulfill_ = function (e) {
-        this.settle_(1, e)
-    };
-    h.prototype.settle_ = function (e, l) {
-        if (0 != this.state_)throw Error("Cannot settle(" + e + ", " + l + "): Promise already settled in state" + this.state_);
-        this.state_ = e;
-        this.result_ = l;
-        this.executeOnSettledCallbacks_()
-    };
-    h.prototype.executeOnSettledCallbacks_ = function () {
-        if (null != this.onSettledCallbacks_) {
-            for (var e = 0; e < this.onSettledCallbacks_.length; ++e)X.asyncExecute(this.onSettledCallbacks_[e]);
-            this.onSettledCallbacks_ = null
-        }
-    };
-    var X = new m;
-    h.prototype.settleSameAsPromise_ = function (e) {
-        var l = this.createResolveAndReject_();
-        e.callWhenSettled_(l.resolve, l.reject)
-    };
-    h.prototype.settleSameAsThenable_ = function (e, l) {
-        var f = this.createResolveAndReject_();
-        try {
-            e.call(l, f.resolve, f.reject)
-        } catch (z) {
-            f.reject(z)
-        }
-    };
-    h.prototype.then = function (e, f) {
-        function l(e, f) {
-            return"function" == typeof e ? function (f) {
-                try {
-                    m(e(f))
-                } catch (p) {
-                    v(p)
-                }
-            } : f
-        }
-
-        var m, v, t = new h(function (e, f) {
-            m = e;
-            v = f
-        });
-        this.callWhenSettled_(l(e, m), l(f, v));
-        return t
-    };
-    h.prototype.catch = function (e) {
-        return this.then(void 0, e)
-    };
-    h.prototype.callWhenSettled_ = function (e, f) {
-        function l() {
-            switch (h.state_) {
-                case 1:
-                    e(h.result_);
-                    break;
-                case 2:
-                    f(h.result_);
-                    break;
-                default:
-                    throw Error("Unexpected state: " + h.state_);
-            }
-        }
-
-        var h = this;
-        null == this.onSettledCallbacks_ ? X.asyncExecute(l) : this.onSettledCallbacks_.push(l)
-    };
-    h.resolve = v;
-    h.reject = function (e) {
-        return new h(function (f, h) {
-            h(e)
-        })
-    };
-    h.race = function (e) {
-        return new h(function (f, h) {
-            for (var l = $jscomp.makeIterator(e), m = l.next(); !m.done; m = l.next())v(m.value).callWhenSettled_(f,
-                h)
-        })
-    };
-    h.all = function (e) {
-        var f = $jscomp.makeIterator(e), m = f.next();
-        return m.done ? v([]) : new h(function (e, h) {
-            function l(f) {
-                return function (h) {
-                    t[f] = h;
-                    z--;
-                    0 == z && e(t)
-                }
-            }
-
-            var t = [], z = 0;
-            do t.push(void 0), z++, v(m.value).callWhenSettled_(l(t.length - 1), h), m = f.next(); while (!m.done)
-        })
-    };
-    return h
-}, "es6", "es3");
-var DracoDecoderModule = function () {
-    var f = "undefined" !== typeof document && document.currentScript ? document.currentScript.src : void 0;
-    "undefined" !== typeof __filename && (f = f || __filename);
-    return function (m) {
-        function v(k) {
-            return a.locateFile ? a.locateFile(k, M) : M + k
-        }
-
-        function t(a, c) {
-            a || z("Assertion failed: " + c)
-        }
-
-        function h(a, c, b) {
-            var d = c + b;
-            for (b = c; a[b] && !(b >= d);)++b;
-            if (16 < b - c && a.subarray && xa)return xa.decode(a.subarray(c, b));
-            for (d = ""; c < b;) {
-                var k = a[c++];
-                if (k & 128) {
-                    var e = a[c++] & 63;
-                    if (192 == (k & 224))d += String.fromCharCode((k &
-                        31) << 6 | e); else {
-                        var f = a[c++] & 63;
-                        k = 224 == (k & 240) ? (k & 15) << 12 | e << 6 | f : (k & 7) << 18 | e << 12 | f << 6 | a[c++] & 63;
-                        65536 > k ? d += String.fromCharCode(k) : (k -= 65536, d += String.fromCharCode(55296 | k >> 10, 56320 | k & 1023))
-                    }
-                } else d += String.fromCharCode(k)
-            }
-            return d
-        }
-
-        function X(a, c) {
-            return a ? h(ca, a, c) : ""
-        }
-
-        function e(a, c) {
-            0 < a % c && (a += c - a % c);
-            return a
-        }
-
-        function l(k) {
-            ka = k;
-            a.HEAP8 = T = new Int8Array(k);
-            a.HEAP16 = new Int16Array(k);
-            a.HEAP32 = P = new Int32Array(k);
-            a.HEAPU8 = ca = new Uint8Array(k);
-            a.HEAPU16 = new Uint16Array(k);
-            a.HEAPU32 = new Uint32Array(k);
-            a.HEAPF32 = new Float32Array(k);
-            a.HEAPF64 = new Float64Array(k)
-        }
-
-        function S(k) {
-            for (; 0 < k.length;) {
-                var c = k.shift();
-                if ("function" == typeof c)c(); else {
-                    var b = c.func;
-                    "number" === typeof b ? void 0 === c.arg ? a.dynCall_v(b) : a.dynCall_vi(b, c.arg) : b(void 0 === c.arg ? null : c.arg)
-                }
-            }
-        }
-
-        function z(k) {
-            if (a.onAbort)a.onAbort(k);
-            k += "";
-            ya(k);
-            Y(k);
-            za = !0;
-            throw new WebAssembly.RuntimeError("abort(" + k + "). Build with -s ASSERTIONS=1 for more info.");
-        }
-
-        function va(a) {
-            return String.prototype.startsWith ? a.startsWith("data:application/octet-stream;base64,") :
-                0 === a.indexOf("data:application/octet-stream;base64,")
-        }
-
-        function wa() {
-            try {
-                if (da)return new Uint8Array(da);
-                if (la)return la(U);
-                throw"both async and sync fetching of the wasm failed";
-            } catch (k) {
-                z(k)
-            }
-        }
-
-        function Ma() {
-            return da || !ea && !Z || "function" !== typeof fetch ? new Promise(function (a, c) {
-                a(wa())
-            }) : fetch(U, {credentials: "same-origin"}).then(function (a) {
-                if (!a.ok)throw"failed to load wasm binary file at '" + U + "'";
-                return a.arrayBuffer()
-            }).catch(function () {
-                return wa()
-            })
-        }
-
-        function ba() {
-            if (!ba.strings) {
-                var a = {USER: "web_user",
-                    LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: ("object" === typeof navigator && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", _: na}, c;
-                for (c in Aa)a[c] = Aa[c];
-                var b = [];
-                for (c in a)b.push(c + "=" + a[c]);
-                ba.strings = b
-            }
-            return ba.strings
-        }
-
-        function ma(k) {
-            function c() {
-                if (!fa && (fa = !0, !za)) {
-                    Ba = !0;
-                    S(Ca);
-                    S(Da);
-                    if (a.onRuntimeInitialized)a.onRuntimeInitialized();
-                    if (a.postRun)for ("function" == typeof a.postRun && (a.postRun = [a.postRun]); a.postRun.length;)Ea.unshift(a.postRun.shift());
-                    S(Ea)
-                }
-            }
-
-            if (!(0 < aa)) {
-                if (a.preRun)for ("function" == typeof a.preRun && (a.preRun = [a.preRun]); a.preRun.length;)Fa.unshift(a.preRun.shift());
-                S(Fa);
-                0 < aa || (a.setStatus ? (a.setStatus("Running..."), setTimeout(function () {
-                    setTimeout(function () {
-                        a.setStatus("")
-                    }, 1);
-                    c()
-                }, 1)) : c())
-            }
-        }
-
-        function p() {
-        }
-
-        function u(a) {
-            return(a || p).__cache__
-        }
-
-        function N(a, c) {
-            var b = u(c), d = b[a];
-            if (d)return d;
-            d = Object.create((c || p).prototype);
-            d.ptr = a;
-            return b[a] = d
-        }
-
-        function V(a) {
-            if ("string" === typeof a) {
-                for (var c = 0, b = 0; b < a.length; ++b) {
-                    var d = a.charCodeAt(b);
-                    55296 <= d && 57343 >= d && (d = 65536 + ((d & 1023) << 10) | a.charCodeAt(++b) & 1023);
-                    127 >= d ? ++c : c = 2047 >= d ? c + 2 : 65535 >= d ? c + 3 : c + 4
-                }
-                c = Array(c + 1);
-                b = 0;
-                d = c.length;
-                if (0 < d) {
-                    d = b + d - 1;
-                    for (var k = 0; k < a.length; ++k) {
-                        var e = a.charCodeAt(k);
-                        if (55296 <= e && 57343 >= e) {
-                            var f = a.charCodeAt(++k);
-                            e = 65536 + ((e & 1023) << 10) | f & 1023
-                        }
-                        if (127 >= e) {
-                            if (b >= d)break;
-                            c[b++] = e
-                        } else {
-                            if (2047 >= e) {
-                                if (b + 1 >= d)break;
-                                c[b++] = 192 | e >> 6
-                            } else {
-                                if (65535 >= e) {
-                                    if (b + 2 >= d)break;
-                                    c[b++] = 224 | e >> 12
-                                } else {
-                                    if (b + 3 >= d)break;
-                                    c[b++] = 240 | e >> 18;
-                                    c[b++] = 128 | e >> 12 & 63
-                                }
-                                c[b++] = 128 | e >> 6 & 63
-                            }
-                            c[b++] = 128 |
-                                e & 63
-                        }
-                    }
-                    c[b] = 0
-                }
-                a = n.alloc(c, T);
-                n.copy(c, T, a)
-            }
-            return a
-        }
-
-        function x() {
-            throw"cannot construct a Status, no constructor in IDL";
-        }
-
-        function A() {
-            this.ptr = Oa();
-            u(A)[this.ptr] = this
-        }
-
-        function B() {
-            this.ptr = Pa();
-            u(B)[this.ptr] = this
-        }
-
-        function C() {
-            this.ptr = Qa();
-            u(C)[this.ptr] = this
-        }
-
-        function D() {
-            this.ptr = Ra();
-            u(D)[this.ptr] = this
-        }
-
-        function E() {
-            this.ptr = Sa();
-            u(E)[this.ptr] = this
-        }
-
-        function q() {
-            this.ptr = Ta();
-            u(q)[this.ptr] = this
-        }
-
-        function J() {
-            this.ptr = Ua();
-            u(J)[this.ptr] = this
-        }
-
-        function w() {
-            this.ptr = Va();
-            u(w)[this.ptr] = this
-        }
-
-        function F() {
-            this.ptr =
-                Wa();
-            u(F)[this.ptr] = this
-        }
-
-        function r() {
-            this.ptr = Xa();
-            u(r)[this.ptr] = this
-        }
-
-        function G() {
-            this.ptr = Ya();
-            u(G)[this.ptr] = this
-        }
-
-        function H() {
-            this.ptr = Za();
-            u(H)[this.ptr] = this
-        }
-
-        function O() {
-            this.ptr = $a();
-            u(O)[this.ptr] = this
-        }
-
-        function K() {
-            this.ptr = ab();
-            u(K)[this.ptr] = this
-        }
-
-        function g() {
-            this.ptr = bb();
-            u(g)[this.ptr] = this
-        }
-
-        function y() {
-            this.ptr = cb();
-            u(y)[this.ptr] = this
-        }
-
-        function Q() {
-            throw"cannot construct a VoidPtr, no constructor in IDL";
-        }
-
-        function I() {
-            this.ptr = db();
-            u(I)[this.ptr] = this
-        }
-
-        function L() {
-            this.ptr = eb();
-            u(L)[this.ptr] =
-                this
-        }
-
-        m = m || {};
-        var a = "undefined" !== typeof m ? m : {}, Ga = !1, Ha = !1;
-        a.onRuntimeInitialized = function () {
-            Ga = !0;
-            if (Ha && "function" === typeof a.onModuleLoaded)a.onModuleLoaded(a)
-        };
-        a.onModuleParsed = function () {
-            Ha = !0;
-            if (Ga && "function" === typeof a.onModuleLoaded)a.onModuleLoaded(a)
-        };
-        a.isVersionSupported = function (a) {
-            if ("string" !== typeof a)return!1;
-            a = a.split(".");
-            return 2 > a.length || 3 < a.length ? !1 : 1 == a[0] && 0 <= a[1] && 3 >= a[1] ? !0 : 0 != a[0] || 10 < a[1] ? !1 : !0
-        };
-        var ha = {}, W;
-        for (W in a)a.hasOwnProperty(W) && (ha[W] = a[W]);
-        var na = "./this.program",
-            ea = !1, Z = !1, oa = !1, fb = !1, Ia = !1;
-        ea = "object" === typeof window;
-        Z = "function" === typeof importScripts;
-        oa = (fb = "object" === typeof process && "object" === typeof process.versions && "string" === typeof process.versions.node) && !ea && !Z;
-        Ia = !ea && !oa && !Z;
-        var M = "", pa, qa;
-        if (oa) {
-            M = __dirname + "/";
-            var ra = function (a, c) {
-                pa || (pa = require("fs"));
-                qa || (qa = require("path"));
-                a = qa.normalize(a);
-                return pa.readFileSync(a, c ? null : "utf8")
-            };
-            var la = function (a) {
-                a = ra(a, !0);
-                a.buffer || (a = new Uint8Array(a));
-                t(a.buffer);
-                return a
-            };
-            1 < process.argv.length &&
-            (na = process.argv[1].replace(/\\/g, "/"));
-            process.argv.slice(2);
-            process.on("uncaughtException", function (a) {
-                throw a;
-            });
-            process.on("unhandledRejection", z);
-            a.inspect = function () {
-                return"[Emscripten Module object]"
-            }
-        } else if (Ia)"undefined" != typeof read && (ra = function (a) {
-            return read(a)
-        }), la = function (a) {
-            if ("function" === typeof readbuffer)return new Uint8Array(readbuffer(a));
-            a = read(a, "binary");
-            t("object" === typeof a);
-            return a
-        }, "undefined" !== typeof print && ("undefined" === typeof console && (console = {}), console.log = print,
-            console.warn = console.error = "undefined" !== typeof printErr ? printErr : print); else if (ea || Z)Z ? M = self.location.href : document.currentScript && (M = document.currentScript.src), f && (M = f), M = 0 !== M.indexOf("blob:") ? M.substr(0, M.lastIndexOf("/") + 1) : "", ra = function (a) {
-            var c = new XMLHttpRequest;
-            c.open("GET", a, !1);
-            c.send(null);
-            return c.responseText
-        }, Z && (la = function (a) {
-            var c = new XMLHttpRequest;
-            c.open("GET", a, !1);
-            c.responseType = "arraybuffer";
-            c.send(null);
-            return new Uint8Array(c.response)
-        });
-        var ya = a.print || console.log.bind(console),
-            Y = a.printErr || console.warn.bind(console);
-        for (W in ha)ha.hasOwnProperty(W) && (a[W] = ha[W]);
-        ha = null;
-        a.thisProgram && (na = a.thisProgram);
-        var da;
-        a.wasmBinary && (da = a.wasmBinary);
-        "object" !== typeof WebAssembly && Y("no native wasm support detected");
-        var ia, gb = new WebAssembly.Table({initial: 381, maximum: 381, element: "anyfunc"}), za = !1, xa = "undefined" !== typeof TextDecoder ? new TextDecoder("utf8") : void 0;
-        "undefined" !== typeof TextDecoder && new TextDecoder("utf-16le");
-        var T, ca, P, Ja = a.TOTAL_MEMORY || 16777216;
-        if (ia = a.wasmMemory ?
-            a.wasmMemory : new WebAssembly.Memory({initial: Ja / 65536}))var ka = ia.buffer;
-        Ja = ka.byteLength;
-        l(ka);
-        P[4604] = 5261456;
-        var Fa = [], Ca = [], Da = [], Ea = [], Ba = !1, aa = 0, sa = null, ja = null;
-        a.preloadedImages = {};
-        a.preloadedAudios = {};
-        var U = "draco_decoder.wasm";
-        va(U) || (U = v(U));
-        Ca.push({func: function () {
-            hb()
-        }});
-        var Aa = {}, R = {buffers: [null, [], []], printChar: function (a, c) {
-            var b = R.buffers[a];
-            0 === c || 10 === c ? ((1 === a ? ya : Y)(h(b, 0)), b.length = 0) : b.push(c)
-        }, varargs: 0, get: function (a) {
-            R.varargs += 4;
-            return P[R.varargs - 4 >> 2]
-        }, getStr: function () {
-            return X(R.get())
-        },
-            get64: function () {
-                var a = R.get();
-                R.get();
-                return a
-            }, getZero: function () {
-                R.get()
-            }}, Ka = {__cxa_allocate_exception: function (a) {
-            return ib(a)
-        }, __cxa_throw: function (a, c, b) {
-            "uncaught_exception"in ta ? ta.uncaught_exceptions++ : ta.uncaught_exceptions = 1;
-            throw a;
-        }, abort: function () {
-            z()
-        }, emscripten_get_sbrk_ptr: function () {
-            return 18416
-        }, emscripten_memcpy_big: function (a, c, b) {
-            ca.set(ca.subarray(c, c + b), a)
-        }, emscripten_resize_heap: function (a) {
-            if (2147418112 < a)return!1;
-            for (var c = Math.max(T.length, 16777216); c < a;)c = 536870912 >=
-                c ? e(2 * c, 65536) : Math.min(e((3 * c + 2147483648) / 4, 65536), 2147418112);
-            a:{
-                try {
-                    ia.grow(c - ka.byteLength + 65535 >> 16);
-                    l(ia.buffer);
-                    var b = 1;
-                    break a
-                } catch (d) {
-                }
-                b = void 0
-            }
-            return b ? !0 : !1
-        }, environ_get: function (a, c) {
-            var b = 0;
-            ba().forEach(function (d, e) {
-                var f = c + b;
-                e = P[a + 4 * e >> 2] = f;
-                for (f = 0; f < d.length; ++f)T[e++ >> 0] = d.charCodeAt(f);
-                T[e >> 0] = 0;
-                b += d.length + 1
-            });
-            return 0
-        }, environ_sizes_get: function (a, c) {
-            var b = ba();
-            P[a >> 2] = b.length;
-            var d = 0;
-            b.forEach(function (a) {
-                d += a.length + 1
-            });
-            P[c >> 2] = d;
-            return 0
-        }, fd_close: function (a) {
-            return 0
-        }, fd_seek: function (a, c, b, d, e) {
-            return 0
-        }, fd_write: function (a, c, b, d) {
-            try {
-                for (var e = 0, f = 0; f < b; f++) {
-                    for (var g = P[c + 8 * f >> 2], k = P[c + (8 * f + 4) >> 2], h = 0; h < k; h++)R.printChar(a, ca[g + h]);
-                    e += k
-                }
-                P[d >> 2] = e;
-                return 0
-            } catch (ua) {
-                return"undefined" !== typeof FS && ua instanceof FS.ErrnoError || z(ua), ua.errno
-            }
-        }, memory: ia, setTempRet0: function (a) {
-        }, table: gb}, La = function () {
-            function e(c, b) {
-                a.asm = c.exports;
-                aa--;
-                a.monitorRunDependencies && a.monitorRunDependencies(aa);
-                0 == aa && (null !== sa && (clearInterval(sa), sa = null), ja && (c = ja, ja = null, c()))
-            }
-
-            function c(a) {
-                e(a.instance)
-            }
-
-            function b(a) {
-                return Ma().then(function (a) {
-                    return WebAssembly.instantiate(a, d)
-                }).then(a, function (a) {
-                    Y("failed to asynchronously prepare wasm: " + a);
-                    z(a)
-                })
-            }
-
-            var d = {env: Ka, wasi_unstable: Ka};
-            aa++;
-            a.monitorRunDependencies && a.monitorRunDependencies(aa);
-            if (a.instantiateWasm)try {
-                return a.instantiateWasm(d, e)
-            } catch (Na) {
-                return Y("Module.instantiateWasm callback failed with error: " + Na), !1
-            }
-            (function () {
-                if (da || "function" !== typeof WebAssembly.instantiateStreaming || va(U) || "function" !== typeof fetch)return b(c);
-                fetch(U,
-                    {credentials: "same-origin"}).then(function (a) {
-                        return WebAssembly.instantiateStreaming(a, d).then(c, function (a) {
-                            Y("wasm streaming compile failed: " + a);
-                            Y("falling back to ArrayBuffer instantiation");
-                            b(c)
-                        })
-                    })
-            })();
-            return{}
-        }();
-        a.asm = La;
-        var hb = a.___wasm_call_ctors = function () {
-                return a.asm.__wasm_call_ctors.apply(null, arguments)
-            }, jb = a._emscripten_bind_Status_code_0 = function () {
-                return a.asm.emscripten_bind_Status_code_0.apply(null, arguments)
-            }, kb = a._emscripten_bind_Status_ok_0 = function () {
-                return a.asm.emscripten_bind_Status_ok_0.apply(null,
-                    arguments)
-            }, lb = a._emscripten_bind_Status_error_msg_0 = function () {
-                return a.asm.emscripten_bind_Status_error_msg_0.apply(null, arguments)
-            }, mb = a._emscripten_bind_Status___destroy___0 = function () {
-                return a.asm.emscripten_bind_Status___destroy___0.apply(null, arguments)
-            }, Oa = a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0 = function () {
-                return a.asm.emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null, arguments)
-            }, nb = a._emscripten_bind_DracoUInt16Array_GetValue_1 = function () {
-                return a.asm.emscripten_bind_DracoUInt16Array_GetValue_1.apply(null,
-                    arguments)
-            }, ob = a._emscripten_bind_DracoUInt16Array_size_0 = function () {
-                return a.asm.emscripten_bind_DracoUInt16Array_size_0.apply(null, arguments)
-            }, pb = a._emscripten_bind_DracoUInt16Array___destroy___0 = function () {
-                return a.asm.emscripten_bind_DracoUInt16Array___destroy___0.apply(null, arguments)
-            }, Pa = a._emscripten_bind_PointCloud_PointCloud_0 = function () {
-                return a.asm.emscripten_bind_PointCloud_PointCloud_0.apply(null, arguments)
-            }, qb = a._emscripten_bind_PointCloud_num_attributes_0 = function () {
-                return a.asm.emscripten_bind_PointCloud_num_attributes_0.apply(null,
-                    arguments)
-            }, rb = a._emscripten_bind_PointCloud_num_points_0 = function () {
-                return a.asm.emscripten_bind_PointCloud_num_points_0.apply(null, arguments)
-            }, sb = a._emscripten_bind_PointCloud___destroy___0 = function () {
-                return a.asm.emscripten_bind_PointCloud___destroy___0.apply(null, arguments)
-            }, Qa = a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0 = function () {
-                return a.asm.emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null, arguments)
-            }, tb = a._emscripten_bind_DracoUInt8Array_GetValue_1 = function () {
-                return a.asm.emscripten_bind_DracoUInt8Array_GetValue_1.apply(null,
-                    arguments)
-            }, ub = a._emscripten_bind_DracoUInt8Array_size_0 = function () {
-                return a.asm.emscripten_bind_DracoUInt8Array_size_0.apply(null, arguments)
-            }, vb = a._emscripten_bind_DracoUInt8Array___destroy___0 = function () {
-                return a.asm.emscripten_bind_DracoUInt8Array___destroy___0.apply(null, arguments)
-            }, Ra = a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0 = function () {
-                return a.asm.emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null, arguments)
-            }, wb = a._emscripten_bind_DracoUInt32Array_GetValue_1 = function () {
-                return a.asm.emscripten_bind_DracoUInt32Array_GetValue_1.apply(null,
-                    arguments)
-            }, xb = a._emscripten_bind_DracoUInt32Array_size_0 = function () {
-                return a.asm.emscripten_bind_DracoUInt32Array_size_0.apply(null, arguments)
-            }, yb = a._emscripten_bind_DracoUInt32Array___destroy___0 = function () {
-                return a.asm.emscripten_bind_DracoUInt32Array___destroy___0.apply(null, arguments)
-            }, Sa = a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0 = function () {
-                return a.asm.emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null, arguments)
-            }, zb = a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1 =
-                function () {
-                    return a.asm.emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null, arguments)
-                }, Ab = a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0 = function () {
-                return a.asm.emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null, arguments)
-            }, Bb = a._emscripten_bind_AttributeOctahedronTransform___destroy___0 = function () {
-                return a.asm.emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null, arguments)
-            }, Ta = a._emscripten_bind_PointAttribute_PointAttribute_0 =
-                function () {
-                    return a.asm.emscripten_bind_PointAttribute_PointAttribute_0.apply(null, arguments)
-                }, Cb = a._emscripten_bind_PointAttribute_size_0 = function () {
-                return a.asm.emscripten_bind_PointAttribute_size_0.apply(null, arguments)
-            }, Db = a._emscripten_bind_PointAttribute_GetAttributeTransformData_0 = function () {
-                return a.asm.emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null, arguments)
-            }, Eb = a._emscripten_bind_PointAttribute_attribute_type_0 = function () {
-                return a.asm.emscripten_bind_PointAttribute_attribute_type_0.apply(null,
-                    arguments)
-            }, Fb = a._emscripten_bind_PointAttribute_data_type_0 = function () {
-                return a.asm.emscripten_bind_PointAttribute_data_type_0.apply(null, arguments)
-            }, Gb = a._emscripten_bind_PointAttribute_num_components_0 = function () {
-                return a.asm.emscripten_bind_PointAttribute_num_components_0.apply(null, arguments)
-            }, Hb = a._emscripten_bind_PointAttribute_normalized_0 = function () {
-                return a.asm.emscripten_bind_PointAttribute_normalized_0.apply(null, arguments)
-            }, Ib = a._emscripten_bind_PointAttribute_byte_stride_0 = function () {
-                return a.asm.emscripten_bind_PointAttribute_byte_stride_0.apply(null,
-                    arguments)
-            }, Jb = a._emscripten_bind_PointAttribute_byte_offset_0 = function () {
-                return a.asm.emscripten_bind_PointAttribute_byte_offset_0.apply(null, arguments)
-            }, Kb = a._emscripten_bind_PointAttribute_unique_id_0 = function () {
-                return a.asm.emscripten_bind_PointAttribute_unique_id_0.apply(null, arguments)
-            }, Lb = a._emscripten_bind_PointAttribute___destroy___0 = function () {
-                return a.asm.emscripten_bind_PointAttribute___destroy___0.apply(null, arguments)
-            }, Ua = a._emscripten_bind_AttributeTransformData_AttributeTransformData_0 =
-                function () {
-                    return a.asm.emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null, arguments)
-                }, Mb = a._emscripten_bind_AttributeTransformData_transform_type_0 = function () {
-                return a.asm.emscripten_bind_AttributeTransformData_transform_type_0.apply(null, arguments)
-            }, Nb = a._emscripten_bind_AttributeTransformData___destroy___0 = function () {
-                return a.asm.emscripten_bind_AttributeTransformData___destroy___0.apply(null, arguments)
-            }, Va = a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0 =
-                function () {
-                    return a.asm.emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null, arguments)
-                }, Ob = a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1 = function () {
-                return a.asm.emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null, arguments)
-            }, Pb = a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0 = function () {
-                return a.asm.emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null, arguments)
-            },
-            Qb = a._emscripten_bind_AttributeQuantizationTransform_min_value_1 = function () {
-                return a.asm.emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null, arguments)
-            }, Rb = a._emscripten_bind_AttributeQuantizationTransform_range_0 = function () {
-                return a.asm.emscripten_bind_AttributeQuantizationTransform_range_0.apply(null, arguments)
-            }, Sb = a._emscripten_bind_AttributeQuantizationTransform___destroy___0 = function () {
-                return a.asm.emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null, arguments)
-            },
-            Wa = a._emscripten_bind_DracoInt8Array_DracoInt8Array_0 = function () {
-                return a.asm.emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null, arguments)
-            }, Tb = a._emscripten_bind_DracoInt8Array_GetValue_1 = function () {
-                return a.asm.emscripten_bind_DracoInt8Array_GetValue_1.apply(null, arguments)
-            }, Ub = a._emscripten_bind_DracoInt8Array_size_0 = function () {
-                return a.asm.emscripten_bind_DracoInt8Array_size_0.apply(null, arguments)
-            }, Vb = a._emscripten_bind_DracoInt8Array___destroy___0 = function () {
-                return a.asm.emscripten_bind_DracoInt8Array___destroy___0.apply(null,
-                    arguments)
-            }, Xa = a._emscripten_bind_MetadataQuerier_MetadataQuerier_0 = function () {
-                return a.asm.emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null, arguments)
-            }, Wb = a._emscripten_bind_MetadataQuerier_HasEntry_2 = function () {
-                return a.asm.emscripten_bind_MetadataQuerier_HasEntry_2.apply(null, arguments)
-            }, Xb = a._emscripten_bind_MetadataQuerier_GetIntEntry_2 = function () {
-                return a.asm.emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null, arguments)
-            }, Yb = a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3 =
-                function () {
-                    return a.asm.emscripten_bind_MetadataQuerier_GetIntEntryArray_3.apply(null, arguments)
-                }, Zb = a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2 = function () {
-                return a.asm.emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null, arguments)
-            }, $b = a._emscripten_bind_MetadataQuerier_GetStringEntry_2 = function () {
-                return a.asm.emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null, arguments)
-            }, ac = a._emscripten_bind_MetadataQuerier_NumEntries_1 = function () {
-                return a.asm.emscripten_bind_MetadataQuerier_NumEntries_1.apply(null,
-                    arguments)
-            }, bc = a._emscripten_bind_MetadataQuerier_GetEntryName_2 = function () {
-                return a.asm.emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null, arguments)
-            }, cc = a._emscripten_bind_MetadataQuerier___destroy___0 = function () {
-                return a.asm.emscripten_bind_MetadataQuerier___destroy___0.apply(null, arguments)
-            }, Ya = a._emscripten_bind_DracoInt16Array_DracoInt16Array_0 = function () {
-                return a.asm.emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null, arguments)
-            }, dc = a._emscripten_bind_DracoInt16Array_GetValue_1 =
-                function () {
-                    return a.asm.emscripten_bind_DracoInt16Array_GetValue_1.apply(null, arguments)
-                }, ec = a._emscripten_bind_DracoInt16Array_size_0 = function () {
-                return a.asm.emscripten_bind_DracoInt16Array_size_0.apply(null, arguments)
-            }, fc = a._emscripten_bind_DracoInt16Array___destroy___0 = function () {
-                return a.asm.emscripten_bind_DracoInt16Array___destroy___0.apply(null, arguments)
-            }, Za = a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0 = function () {
-                return a.asm.emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,
-                    arguments)
-            }, gc = a._emscripten_bind_DracoFloat32Array_GetValue_1 = function () {
-                return a.asm.emscripten_bind_DracoFloat32Array_GetValue_1.apply(null, arguments)
-            }, hc = a._emscripten_bind_DracoFloat32Array_size_0 = function () {
-                return a.asm.emscripten_bind_DracoFloat32Array_size_0.apply(null, arguments)
-            }, ic = a._emscripten_bind_DracoFloat32Array___destroy___0 = function () {
-                return a.asm.emscripten_bind_DracoFloat32Array___destroy___0.apply(null, arguments)
-            }, $a = a._emscripten_bind_GeometryAttribute_GeometryAttribute_0 = function () {
-                return a.asm.emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null,
-                    arguments)
-            }, jc = a._emscripten_bind_GeometryAttribute___destroy___0 = function () {
-                return a.asm.emscripten_bind_GeometryAttribute___destroy___0.apply(null, arguments)
-            }, ab = a._emscripten_bind_DecoderBuffer_DecoderBuffer_0 = function () {
-                return a.asm.emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null, arguments)
-            }, kc = a._emscripten_bind_DecoderBuffer_Init_2 = function () {
-                return a.asm.emscripten_bind_DecoderBuffer_Init_2.apply(null, arguments)
-            }, lc = a._emscripten_bind_DecoderBuffer___destroy___0 = function () {
-                return a.asm.emscripten_bind_DecoderBuffer___destroy___0.apply(null,
-                    arguments)
-            }, bb = a._emscripten_bind_Decoder_Decoder_0 = function () {
-                return a.asm.emscripten_bind_Decoder_Decoder_0.apply(null, arguments)
-            }, mc = a._emscripten_bind_Decoder_GetEncodedGeometryType_1 = function () {
-                return a.asm.emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null, arguments)
-            }, nc = a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2 = function () {
-                return a.asm.emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null, arguments)
-            }, oc = a._emscripten_bind_Decoder_DecodeBufferToMesh_2 = function () {
-                return a.asm.emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null,
-                    arguments)
-            }, pc = a._emscripten_bind_Decoder_GetAttributeId_2 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeId_2.apply(null, arguments)
-            }, qc = a._emscripten_bind_Decoder_GetAttributeIdByName_2 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null, arguments)
-            }, rc = a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null, arguments)
-            }, sc = a._emscripten_bind_Decoder_GetAttribute_2 =
-                function () {
-                    return a.asm.emscripten_bind_Decoder_GetAttribute_2.apply(null, arguments)
-                }, tc = a._emscripten_bind_Decoder_GetAttributeByUniqueId_2 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null, arguments)
-            }, uc = a._emscripten_bind_Decoder_GetMetadata_1 = function () {
-                return a.asm.emscripten_bind_Decoder_GetMetadata_1.apply(null, arguments)
-            }, vc = a._emscripten_bind_Decoder_GetAttributeMetadata_2 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,
-                    arguments)
-            }, wc = a._emscripten_bind_Decoder_GetFaceFromMesh_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null, arguments)
-            }, xc = a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2 = function () {
-                return a.asm.emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null, arguments)
-            }, yc = a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetTrianglesUInt16Array_3.apply(null, arguments)
-            }, zc = a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3 =
-                function () {
-                    return a.asm.emscripten_bind_Decoder_GetTrianglesUInt32Array_3.apply(null, arguments)
-                }, Ac = a._emscripten_bind_Decoder_GetAttributeFloat_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeFloat_3.apply(null, arguments)
-            }, Bc = a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null, arguments)
-            }, Cc = a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,
-                    arguments)
-            }, Dc = a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null, arguments)
-            }, Ec = a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null, arguments)
-            }, Fc = a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null, arguments)
-            },
-            Gc = a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null, arguments)
-            }, Hc = a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null, arguments)
-            }, Ic = a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3 = function () {
-                return a.asm.emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null, arguments)
-            }, Jc =
-                a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5 = function () {
-                    return a.asm.emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5.apply(null, arguments)
-                }, Kc = a._emscripten_bind_Decoder_SkipAttributeTransform_1 = function () {
-                return a.asm.emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null, arguments)
-            }, Lc = a._emscripten_bind_Decoder___destroy___0 = function () {
-                return a.asm.emscripten_bind_Decoder___destroy___0.apply(null, arguments)
-            }, cb = a._emscripten_bind_Mesh_Mesh_0 = function () {
-                return a.asm.emscripten_bind_Mesh_Mesh_0.apply(null,
-                    arguments)
-            }, Mc = a._emscripten_bind_Mesh_num_faces_0 = function () {
-                return a.asm.emscripten_bind_Mesh_num_faces_0.apply(null, arguments)
-            }, Nc = a._emscripten_bind_Mesh_num_attributes_0 = function () {
-                return a.asm.emscripten_bind_Mesh_num_attributes_0.apply(null, arguments)
-            }, Oc = a._emscripten_bind_Mesh_num_points_0 = function () {
-                return a.asm.emscripten_bind_Mesh_num_points_0.apply(null, arguments)
-            }, Pc = a._emscripten_bind_Mesh___destroy___0 = function () {
-                return a.asm.emscripten_bind_Mesh___destroy___0.apply(null, arguments)
-            },
-            Qc = a._emscripten_bind_VoidPtr___destroy___0 = function () {
-                return a.asm.emscripten_bind_VoidPtr___destroy___0.apply(null, arguments)
-            }, db = a._emscripten_bind_DracoInt32Array_DracoInt32Array_0 = function () {
-                return a.asm.emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null, arguments)
-            }, Rc = a._emscripten_bind_DracoInt32Array_GetValue_1 = function () {
-                return a.asm.emscripten_bind_DracoInt32Array_GetValue_1.apply(null, arguments)
-            }, Sc = a._emscripten_bind_DracoInt32Array_size_0 = function () {
-                return a.asm.emscripten_bind_DracoInt32Array_size_0.apply(null,
-                    arguments)
-            }, Tc = a._emscripten_bind_DracoInt32Array___destroy___0 = function () {
-                return a.asm.emscripten_bind_DracoInt32Array___destroy___0.apply(null, arguments)
-            }, eb = a._emscripten_bind_Metadata_Metadata_0 = function () {
-                return a.asm.emscripten_bind_Metadata_Metadata_0.apply(null, arguments)
-            }, Uc = a._emscripten_bind_Metadata___destroy___0 = function () {
-                return a.asm.emscripten_bind_Metadata___destroy___0.apply(null, arguments)
-            }, Vc = a._emscripten_enum_draco_StatusCode_OK = function () {
-                return a.asm.emscripten_enum_draco_StatusCode_OK.apply(null,
-                    arguments)
-            }, Wc = a._emscripten_enum_draco_StatusCode_DRACO_ERROR = function () {
-                return a.asm.emscripten_enum_draco_StatusCode_DRACO_ERROR.apply(null, arguments)
-            }, Xc = a._emscripten_enum_draco_StatusCode_IO_ERROR = function () {
-                return a.asm.emscripten_enum_draco_StatusCode_IO_ERROR.apply(null, arguments)
-            }, Yc = a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER = function () {
-                return a.asm.emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null, arguments)
-            }, Zc = a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION =
-                function () {
-                    return a.asm.emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, arguments)
-                }, $c = a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION = function () {
-                return a.asm.emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null, arguments)
-            }, ad = a._emscripten_enum_draco_DataType_DT_INVALID = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_INVALID.apply(null, arguments)
-            }, bd = a._emscripten_enum_draco_DataType_DT_INT8 = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_INT8.apply(null,
-                    arguments)
-            }, cd = a._emscripten_enum_draco_DataType_DT_UINT8 = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_UINT8.apply(null, arguments)
-            }, dd = a._emscripten_enum_draco_DataType_DT_INT16 = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_INT16.apply(null, arguments)
-            }, ed = a._emscripten_enum_draco_DataType_DT_UINT16 = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_UINT16.apply(null, arguments)
-            }, fd = a._emscripten_enum_draco_DataType_DT_INT32 = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_INT32.apply(null,
-                    arguments)
-            }, gd = a._emscripten_enum_draco_DataType_DT_UINT32 = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_UINT32.apply(null, arguments)
-            }, hd = a._emscripten_enum_draco_DataType_DT_INT64 = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_INT64.apply(null, arguments)
-            }, id = a._emscripten_enum_draco_DataType_DT_UINT64 = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_UINT64.apply(null, arguments)
-            }, jd = a._emscripten_enum_draco_DataType_DT_FLOAT32 = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_FLOAT32.apply(null,
-                    arguments)
-            }, kd = a._emscripten_enum_draco_DataType_DT_FLOAT64 = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_FLOAT64.apply(null, arguments)
-            }, ld = a._emscripten_enum_draco_DataType_DT_BOOL = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_BOOL.apply(null, arguments)
-            }, md = a._emscripten_enum_draco_DataType_DT_TYPES_COUNT = function () {
-                return a.asm.emscripten_enum_draco_DataType_DT_TYPES_COUNT.apply(null, arguments)
-            }, nd = a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE = function () {
-                return a.asm.emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null,
-                    arguments)
-            }, od = a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD = function () {
-                return a.asm.emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null, arguments)
-            }, pd = a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH = function () {
-                return a.asm.emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null, arguments)
-            }, qd = a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM = function () {
-                return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,
-                    arguments)
-            }, rd = a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM = function () {
-                return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null, arguments)
-            }, sd = a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM = function () {
-                return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null, arguments)
-            }, td = a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM = function () {
-                return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,
-                    arguments)
-            }, ud = a._emscripten_enum_draco_GeometryAttribute_Type_INVALID = function () {
-                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null, arguments)
-            }, vd = a._emscripten_enum_draco_GeometryAttribute_Type_POSITION = function () {
-                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null, arguments)
-            }, wd = a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL = function () {
-                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null, arguments)
-            }, xd = a._emscripten_enum_draco_GeometryAttribute_Type_COLOR =
-                function () {
-                    return a.asm.emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null, arguments)
-                }, yd = a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD = function () {
-                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null, arguments)
-            }, zd = a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC = function () {
-                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null, arguments)
-            };
-        a._setThrew = function () {
-            return a.asm.setThrew.apply(null, arguments)
-        };
-        var ta = a.__ZSt18uncaught_exceptionv =
-            function () {
-                return a.asm._ZSt18uncaught_exceptionv.apply(null, arguments)
-            };
-        a._free = function () {
-            return a.asm.free.apply(null, arguments)
-        };
-        var ib = a._malloc = function () {
-            return a.asm.malloc.apply(null, arguments)
-        };
-        a.stackSave = function () {
-            return a.asm.stackSave.apply(null, arguments)
-        };
-        a.stackAlloc = function () {
-            return a.asm.stackAlloc.apply(null, arguments)
-        };
-        a.stackRestore = function () {
-            return a.asm.stackRestore.apply(null, arguments)
-        };
-        a.__growWasmMemory = function () {
-            return a.asm.__growWasmMemory.apply(null, arguments)
-        };
-        a.dynCall_ii = function () {
-            return a.asm.dynCall_ii.apply(null, arguments)
-        };
-        a.dynCall_vi = function () {
-            return a.asm.dynCall_vi.apply(null, arguments)
-        };
-        a.dynCall_iii = function () {
-            return a.asm.dynCall_iii.apply(null, arguments)
-        };
-        a.dynCall_vii = function () {
-            return a.asm.dynCall_vii.apply(null, arguments)
-        };
-        a.dynCall_iiii = function () {
-            return a.asm.dynCall_iiii.apply(null, arguments)
-        };
-        a.dynCall_v = function () {
-            return a.asm.dynCall_v.apply(null, arguments)
-        };
-        a.dynCall_viii = function () {
-            return a.asm.dynCall_viii.apply(null, arguments)
-        };
-        a.dynCall_viiii = function () {
-            return a.asm.dynCall_viiii.apply(null, arguments)
-        };
-        a.dynCall_iiiiiii = function () {
-            return a.asm.dynCall_iiiiiii.apply(null, arguments)
-        };
-        a.dynCall_iidiiii = function () {
-            return a.asm.dynCall_iidiiii.apply(null, arguments)
-        };
-        a.dynCall_jiji = function () {
-            return a.asm.dynCall_jiji.apply(null, arguments)
-        };
-        a.dynCall_viiiiii = function () {
-            return a.asm.dynCall_viiiiii.apply(null, arguments)
-        };
-        a.dynCall_viiiii = function () {
-            return a.asm.dynCall_viiiii.apply(null, arguments)
-        };
-        a.asm = La;
-        var fa;
-        a.then = function (e) {
-            if (fa)e(a);
-            else {
-                var c = a.onRuntimeInitialized;
-                a.onRuntimeInitialized = function () {
-                    c && c();
-                    e(a)
-                }
-            }
-            return a
-        };
-        ja = function c() {
-            fa || ma();
-            fa || (ja = c)
-        };
-        a.run = ma;
-        if (a.preInit)for ("function" == typeof a.preInit && (a.preInit = [a.preInit]); 0 < a.preInit.length;)a.preInit.pop()();
-        ma();
-        p.prototype = Object.create(p.prototype);
-        p.prototype.constructor = p;
-        p.prototype.__class__ = p;
-        p.__cache__ = {};
-        a.WrapperObject = p;
-        a.getCache = u;
-        a.wrapPointer = N;
-        a.castObject = function (a, b) {
-            return N(a.ptr, b)
-        };
-        a.NULL = N(0);
-        a.destroy = function (a) {
-            if (!a.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";
-            a.__destroy__();
-            delete u(a.__class__)[a.ptr]
-        };
-        a.compare = function (a, b) {
-            return a.ptr === b.ptr
-        };
-        a.getPointer = function (a) {
-            return a.ptr
-        };
-        a.getClass = function (a) {
-            return a.__class__
-        };
-        var n = {buffer: 0, size: 0, pos: 0, temps: [], needed: 0, prepare: function () {
-            if (n.needed) {
-                for (var c = 0; c < n.temps.length; c++)a._free(n.temps[c]);
-                n.temps.length = 0;
-                a._free(n.buffer);
-                n.buffer = 0;
-                n.size += n.needed;
-                n.needed = 0
-            }
-            n.buffer || (n.size += 128, n.buffer = a._malloc(n.size), t(n.buffer));
-            n.pos = 0
-        }, alloc: function (c, b) {
-            t(n.buffer);
-            c = c.length * b.BYTES_PER_ELEMENT;
-            c = c + 7 & -8;
-            n.pos + c >= n.size ? (t(0 < c), n.needed += c, b = a._malloc(c), n.temps.push(b)) : (b = n.buffer + n.pos, n.pos += c);
-            return b
-        }, copy: function (a, b, d) {
-            switch (b.BYTES_PER_ELEMENT) {
-                case 2:
-                    d >>= 1;
-                    break;
-                case 4:
-                    d >>= 2;
-                    break;
-                case 8:
-                    d >>= 3
-            }
-            for (var c = 0; c < a.length; c++)b[d + c] = a[c]
-        }};
-        x.prototype = Object.create(p.prototype);
-        x.prototype.constructor = x;
-        x.prototype.__class__ = x;
-        x.__cache__ = {};
-        a.Status = x;
-        x.prototype.code = x.prototype.code = function () {
-            return jb(this.ptr)
-        };
-        x.prototype.ok = x.prototype.ok = function () {
-            return!!kb(this.ptr)
-        };
-        x.prototype.error_msg =
-            x.prototype.error_msg = function () {
-                return X(lb(this.ptr))
-            };
-        x.prototype.__destroy__ = x.prototype.__destroy__ = function () {
-            mb(this.ptr)
-        };
-        A.prototype = Object.create(p.prototype);
-        A.prototype.constructor = A;
-        A.prototype.__class__ = A;
-        A.__cache__ = {};
-        a.DracoUInt16Array = A;
-        A.prototype.GetValue = A.prototype.GetValue = function (a) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            return nb(c, a)
-        };
-        A.prototype.size = A.prototype.size = function () {
-            return ob(this.ptr)
-        };
-        A.prototype.__destroy__ = A.prototype.__destroy__ = function () {
-            pb(this.ptr)
-        };
-        B.prototype = Object.create(p.prototype);
-        B.prototype.constructor = B;
-        B.prototype.__class__ = B;
-        B.__cache__ = {};
-        a.PointCloud = B;
-        B.prototype.num_attributes = B.prototype.num_attributes = function () {
-            return qb(this.ptr)
-        };
-        B.prototype.num_points = B.prototype.num_points = function () {
-            return rb(this.ptr)
-        };
-        B.prototype.__destroy__ = B.prototype.__destroy__ = function () {
-            sb(this.ptr)
-        };
-        C.prototype = Object.create(p.prototype);
-        C.prototype.constructor = C;
-        C.prototype.__class__ = C;
-        C.__cache__ = {};
-        a.DracoUInt8Array = C;
-        C.prototype.GetValue =
-            C.prototype.GetValue = function (a) {
-                var c = this.ptr;
-                a && "object" === typeof a && (a = a.ptr);
-                return tb(c, a)
-            };
-        C.prototype.size = C.prototype.size = function () {
-            return ub(this.ptr)
-        };
-        C.prototype.__destroy__ = C.prototype.__destroy__ = function () {
-            vb(this.ptr)
-        };
-        D.prototype = Object.create(p.prototype);
-        D.prototype.constructor = D;
-        D.prototype.__class__ = D;
-        D.__cache__ = {};
-        a.DracoUInt32Array = D;
-        D.prototype.GetValue = D.prototype.GetValue = function (a) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            return wb(c, a)
-        };
-        D.prototype.size = D.prototype.size =
-            function () {
-                return xb(this.ptr)
-            };
-        D.prototype.__destroy__ = D.prototype.__destroy__ = function () {
-            yb(this.ptr)
-        };
-        E.prototype = Object.create(p.prototype);
-        E.prototype.constructor = E;
-        E.prototype.__class__ = E;
-        E.__cache__ = {};
-        a.AttributeOctahedronTransform = E;
-        E.prototype.InitFromAttribute = E.prototype.InitFromAttribute = function (a) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            return!!zb(c, a)
-        };
-        E.prototype.quantization_bits = E.prototype.quantization_bits = function () {
-            return Ab(this.ptr)
-        };
-        E.prototype.__destroy__ = E.prototype.__destroy__ =
-            function () {
-                Bb(this.ptr)
-            };
-        q.prototype = Object.create(p.prototype);
-        q.prototype.constructor = q;
-        q.prototype.__class__ = q;
-        q.__cache__ = {};
-        a.PointAttribute = q;
-        q.prototype.size = q.prototype.size = function () {
-            return Cb(this.ptr)
-        };
-        q.prototype.GetAttributeTransformData = q.prototype.GetAttributeTransformData = function () {
-            return N(Db(this.ptr), J)
-        };
-        q.prototype.attribute_type = q.prototype.attribute_type = function () {
-            return Eb(this.ptr)
-        };
-        q.prototype.data_type = q.prototype.data_type = function () {
-            return Fb(this.ptr)
-        };
-        q.prototype.num_components =
-            q.prototype.num_components = function () {
-                return Gb(this.ptr)
-            };
-        q.prototype.normalized = q.prototype.normalized = function () {
-            return!!Hb(this.ptr)
-        };
-        q.prototype.byte_stride = q.prototype.byte_stride = function () {
-            return Ib(this.ptr)
-        };
-        q.prototype.byte_offset = q.prototype.byte_offset = function () {
-            return Jb(this.ptr)
-        };
-        q.prototype.unique_id = q.prototype.unique_id = function () {
-            return Kb(this.ptr)
-        };
-        q.prototype.__destroy__ = q.prototype.__destroy__ = function () {
-            Lb(this.ptr)
-        };
-        J.prototype = Object.create(p.prototype);
-        J.prototype.constructor =
-            J;
-        J.prototype.__class__ = J;
-        J.__cache__ = {};
-        a.AttributeTransformData = J;
-        J.prototype.transform_type = J.prototype.transform_type = function () {
-            return Mb(this.ptr)
-        };
-        J.prototype.__destroy__ = J.prototype.__destroy__ = function () {
-            Nb(this.ptr)
-        };
-        w.prototype = Object.create(p.prototype);
-        w.prototype.constructor = w;
-        w.prototype.__class__ = w;
-        w.__cache__ = {};
-        a.AttributeQuantizationTransform = w;
-        w.prototype.InitFromAttribute = w.prototype.InitFromAttribute = function (a) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            return!!Ob(c, a)
-        };
-        w.prototype.quantization_bits = w.prototype.quantization_bits = function () {
-            return Pb(this.ptr)
-        };
-        w.prototype.min_value = w.prototype.min_value = function (a) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            return Qb(c, a)
-        };
-        w.prototype.range = w.prototype.range = function () {
-            return Rb(this.ptr)
-        };
-        w.prototype.__destroy__ = w.prototype.__destroy__ = function () {
-            Sb(this.ptr)
-        };
-        F.prototype = Object.create(p.prototype);
-        F.prototype.constructor = F;
-        F.prototype.__class__ = F;
-        F.__cache__ = {};
-        a.DracoInt8Array = F;
-        F.prototype.GetValue = F.prototype.GetValue =
-            function (a) {
-                var c = this.ptr;
-                a && "object" === typeof a && (a = a.ptr);
-                return Tb(c, a)
-            };
-        F.prototype.size = F.prototype.size = function () {
-            return Ub(this.ptr)
-        };
-        F.prototype.__destroy__ = F.prototype.__destroy__ = function () {
-            Vb(this.ptr)
-        };
-        r.prototype = Object.create(p.prototype);
-        r.prototype.constructor = r;
-        r.prototype.__class__ = r;
-        r.__cache__ = {};
-        a.MetadataQuerier = r;
-        r.prototype.HasEntry = r.prototype.HasEntry = function (a, b) {
-            var c = this.ptr;
-            n.prepare();
-            a && "object" === typeof a && (a = a.ptr);
-            b = b && "object" === typeof b ? b.ptr : V(b);
-            return!!Wb(c,
-                a, b)
-        };
-        r.prototype.GetIntEntry = r.prototype.GetIntEntry = function (a, b) {
-            var c = this.ptr;
-            n.prepare();
-            a && "object" === typeof a && (a = a.ptr);
-            b = b && "object" === typeof b ? b.ptr : V(b);
-            return Xb(c, a, b)
-        };
-        r.prototype.GetIntEntryArray = r.prototype.GetIntEntryArray = function (a, b, d) {
-            var c = this.ptr;
-            n.prepare();
-            a && "object" === typeof a && (a = a.ptr);
-            b = b && "object" === typeof b ? b.ptr : V(b);
-            d && "object" === typeof d && (d = d.ptr);
-            Yb(c, a, b, d)
-        };
-        r.prototype.GetDoubleEntry = r.prototype.GetDoubleEntry = function (a, b) {
-            var c = this.ptr;
-            n.prepare();
-            a && "object" === typeof a && (a = a.ptr);
-            b = b && "object" === typeof b ? b.ptr : V(b);
-            return Zb(c, a, b)
-        };
-        r.prototype.GetStringEntry = r.prototype.GetStringEntry = function (a, b) {
-            var c = this.ptr;
-            n.prepare();
-            a && "object" === typeof a && (a = a.ptr);
-            b = b && "object" === typeof b ? b.ptr : V(b);
-            return X($b(c, a, b))
-        };
-        r.prototype.NumEntries = r.prototype.NumEntries = function (a) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            return ac(c, a)
-        };
-        r.prototype.GetEntryName = r.prototype.GetEntryName = function (a, b) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            return X(bc(c, a, b))
-        };
-        r.prototype.__destroy__ = r.prototype.__destroy__ = function () {
-            cc(this.ptr)
-        };
-        G.prototype = Object.create(p.prototype);
-        G.prototype.constructor = G;
-        G.prototype.__class__ = G;
-        G.__cache__ = {};
-        a.DracoInt16Array = G;
-        G.prototype.GetValue = G.prototype.GetValue = function (a) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            return dc(c, a)
-        };
-        G.prototype.size = G.prototype.size = function () {
-            return ec(this.ptr)
-        };
-        G.prototype.__destroy__ = G.prototype.__destroy__ = function () {
-            fc(this.ptr)
-        };
-        H.prototype =
-            Object.create(p.prototype);
-        H.prototype.constructor = H;
-        H.prototype.__class__ = H;
-        H.__cache__ = {};
-        a.DracoFloat32Array = H;
-        H.prototype.GetValue = H.prototype.GetValue = function (a) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            return gc(c, a)
-        };
-        H.prototype.size = H.prototype.size = function () {
-            return hc(this.ptr)
-        };
-        H.prototype.__destroy__ = H.prototype.__destroy__ = function () {
-            ic(this.ptr)
-        };
-        O.prototype = Object.create(p.prototype);
-        O.prototype.constructor = O;
-        O.prototype.__class__ = O;
-        O.__cache__ = {};
-        a.GeometryAttribute = O;
-        O.prototype.__destroy__ =
-            O.prototype.__destroy__ = function () {
-                jc(this.ptr)
-            };
-        K.prototype = Object.create(p.prototype);
-        K.prototype.constructor = K;
-        K.prototype.__class__ = K;
-        K.__cache__ = {};
-        a.DecoderBuffer = K;
-        K.prototype.Init = K.prototype.Init = function (a, b) {
-            var c = this.ptr;
-            n.prepare();
-            if ("object" == typeof a && "object" === typeof a) {
-                var e = n.alloc(a, T);
-                n.copy(a, T, e);
-                a = e
-            }
-            b && "object" === typeof b && (b = b.ptr);
-            kc(c, a, b)
-        };
-        K.prototype.__destroy__ = K.prototype.__destroy__ = function () {
-            lc(this.ptr)
-        };
-        g.prototype = Object.create(p.prototype);
-        g.prototype.constructor =
-            g;
-        g.prototype.__class__ = g;
-        g.__cache__ = {};
-        a.Decoder = g;
-        g.prototype.GetEncodedGeometryType = g.prototype.GetEncodedGeometryType = function (a) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            return mc(c, a)
-        };
-        g.prototype.DecodeBufferToPointCloud = g.prototype.DecodeBufferToPointCloud = function (a, b) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            return N(nc(c, a, b), x)
-        };
-        g.prototype.DecodeBufferToMesh = g.prototype.DecodeBufferToMesh = function (a, b) {
-            var c = this.ptr;
-            a && "object" === typeof a &&
-            (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            return N(oc(c, a, b), x)
-        };
-        g.prototype.GetAttributeId = g.prototype.GetAttributeId = function (a, b) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            return pc(c, a, b)
-        };
-        g.prototype.GetAttributeIdByName = g.prototype.GetAttributeIdByName = function (a, b) {
-            var c = this.ptr;
-            n.prepare();
-            a && "object" === typeof a && (a = a.ptr);
-            b = b && "object" === typeof b ? b.ptr : V(b);
-            return qc(c, a, b)
-        };
-        g.prototype.GetAttributeIdByMetadataEntry = g.prototype.GetAttributeIdByMetadataEntry =
-            function (a, b, d) {
-                var c = this.ptr;
-                n.prepare();
-                a && "object" === typeof a && (a = a.ptr);
-                b = b && "object" === typeof b ? b.ptr : V(b);
-                d = d && "object" === typeof d ? d.ptr : V(d);
-                return rc(c, a, b, d)
-            };
-        g.prototype.GetAttribute = g.prototype.GetAttribute = function (a, b) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            return N(sc(c, a, b), q)
-        };
-        g.prototype.GetAttributeByUniqueId = g.prototype.GetAttributeByUniqueId = function (a, b) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            return N(tc(c, a, b), q)
-        };
-        g.prototype.GetMetadata = g.prototype.GetMetadata = function (a) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            return N(uc(c, a), L)
-        };
-        g.prototype.GetAttributeMetadata = g.prototype.GetAttributeMetadata = function (a, b) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            return N(vc(c, a, b), L)
-        };
-        g.prototype.GetFaceFromMesh = g.prototype.GetFaceFromMesh = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            return!!wc(c, a, b, d)
-        };
-        g.prototype.GetTriangleStripsFromMesh = g.prototype.GetTriangleStripsFromMesh = function (a, b) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            return xc(c, a, b)
-        };
-        g.prototype.GetTrianglesUInt16Array = g.prototype.GetTrianglesUInt16Array = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            return!!yc(c, a, b, d)
-        };
-        g.prototype.GetTrianglesUInt32Array = g.prototype.GetTrianglesUInt32Array =
-            function (a, b, d) {
-                var c = this.ptr;
-                a && "object" === typeof a && (a = a.ptr);
-                b && "object" === typeof b && (b = b.ptr);
-                d && "object" === typeof d && (d = d.ptr);
-                return!!zc(c, a, b, d)
-            };
-        g.prototype.GetAttributeFloat = g.prototype.GetAttributeFloat = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            return!!Ac(c, a, b, d)
-        };
-        g.prototype.GetAttributeFloatForAllPoints = g.prototype.GetAttributeFloatForAllPoints = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a &&
-            (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            return!!Bc(c, a, b, d)
-        };
-        g.prototype.GetAttributeIntForAllPoints = g.prototype.GetAttributeIntForAllPoints = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            return!!Cc(c, a, b, d)
-        };
-        g.prototype.GetAttributeInt8ForAllPoints = g.prototype.GetAttributeInt8ForAllPoints = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b &&
-            (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            return!!Dc(c, a, b, d)
-        };
-        g.prototype.GetAttributeUInt8ForAllPoints = g.prototype.GetAttributeUInt8ForAllPoints = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            return!!Ec(c, a, b, d)
-        };
-        g.prototype.GetAttributeInt16ForAllPoints = g.prototype.GetAttributeInt16ForAllPoints = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d &&
-            (d = d.ptr);
-            return!!Fc(c, a, b, d)
-        };
-        g.prototype.GetAttributeUInt16ForAllPoints = g.prototype.GetAttributeUInt16ForAllPoints = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            return!!Gc(c, a, b, d)
-        };
-        g.prototype.GetAttributeInt32ForAllPoints = g.prototype.GetAttributeInt32ForAllPoints = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            return!!Hc(c,
-                a, b, d)
-        };
-        g.prototype.GetAttributeUInt32ForAllPoints = g.prototype.GetAttributeUInt32ForAllPoints = function (a, b, d) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            return!!Ic(c, a, b, d)
-        };
-        g.prototype.GetAttributeDataArrayForAllPoints = g.prototype.GetAttributeDataArrayForAllPoints = function (a, b, d, e, f) {
-            var c = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            b && "object" === typeof b && (b = b.ptr);
-            d && "object" === typeof d && (d = d.ptr);
-            e && "object" === typeof e &&
-            (e = e.ptr);
-            f && "object" === typeof f && (f = f.ptr);
-            return!!Jc(c, a, b, d, e, f)
-        };
-        g.prototype.SkipAttributeTransform = g.prototype.SkipAttributeTransform = function (a) {
-            var b = this.ptr;
-            a && "object" === typeof a && (a = a.ptr);
-            Kc(b, a)
-        };
-        g.prototype.__destroy__ = g.prototype.__destroy__ = function () {
-            Lc(this.ptr)
-        };
-        y.prototype = Object.create(p.prototype);
-        y.prototype.constructor = y;
-        y.prototype.__class__ = y;
-        y.__cache__ = {};
-        a.Mesh = y;
-        y.prototype.num_faces = y.prototype.num_faces = function () {
-            return Mc(this.ptr)
-        };
-        y.prototype.num_attributes = y.prototype.num_attributes =
-            function () {
-                return Nc(this.ptr)
-            };
-        y.prototype.num_points = y.prototype.num_points = function () {
-            return Oc(this.ptr)
-        };
-        y.prototype.__destroy__ = y.prototype.__destroy__ = function () {
-            Pc(this.ptr)
-        };
-        Q.prototype = Object.create(p.prototype);
-        Q.prototype.constructor = Q;
-        Q.prototype.__class__ = Q;
-        Q.__cache__ = {};
-        a.VoidPtr = Q;
-        Q.prototype.__destroy__ = Q.prototype.__destroy__ = function () {
-            Qc(this.ptr)
-        };
-        I.prototype = Object.create(p.prototype);
-        I.prototype.constructor = I;
-        I.prototype.__class__ = I;
-        I.__cache__ = {};
-        a.DracoInt32Array = I;
-        I.prototype.GetValue =
-            I.prototype.GetValue = function (a) {
-                var b = this.ptr;
-                a && "object" === typeof a && (a = a.ptr);
-                return Rc(b, a)
-            };
-        I.prototype.size = I.prototype.size = function () {
-            return Sc(this.ptr)
-        };
-        I.prototype.__destroy__ = I.prototype.__destroy__ = function () {
-            Tc(this.ptr)
-        };
-        L.prototype = Object.create(p.prototype);
-        L.prototype.constructor = L;
-        L.prototype.__class__ = L;
-        L.__cache__ = {};
-        a.Metadata = L;
-        L.prototype.__destroy__ = L.prototype.__destroy__ = function () {
-            Uc(this.ptr)
-        };
-        (function () {
-            function c() {
-                a.OK = Vc();
-                a.DRACO_ERROR = Wc();
-                a.IO_ERROR = Xc();
-                a.INVALID_PARAMETER =
-                    Yc();
-                a.UNSUPPORTED_VERSION = Zc();
-                a.UNKNOWN_VERSION = $c();
-                a.DT_INVALID = ad();
-                a.DT_INT8 = bd();
-                a.DT_UINT8 = cd();
-                a.DT_INT16 = dd();
-                a.DT_UINT16 = ed();
-                a.DT_INT32 = fd();
-                a.DT_UINT32 = gd();
-                a.DT_INT64 = hd();
-                a.DT_UINT64 = id();
-                a.DT_FLOAT32 = jd();
-                a.DT_FLOAT64 = kd();
-                a.DT_BOOL = ld();
-                a.DT_TYPES_COUNT = md();
-                a.INVALID_GEOMETRY_TYPE = nd();
-                a.POINT_CLOUD = od();
-                a.TRIANGULAR_MESH = pd();
-                a.ATTRIBUTE_INVALID_TRANSFORM = qd();
-                a.ATTRIBUTE_NO_TRANSFORM = rd();
-                a.ATTRIBUTE_QUANTIZATION_TRANSFORM = sd();
-                a.ATTRIBUTE_OCTAHEDRON_TRANSFORM = td();
-                a.INVALID = ud();
-                a.POSITION = vd();
-                a.NORMAL = wd();
-                a.COLOR = xd();
-                a.TEX_COORD = yd();
-                a.GENERIC = zd()
-            }
-
-            Ba ? c() : Da.unshift(c)
-        })();
-        if ("function" === typeof a.onModuleParsed)a.onModuleParsed();
-        return m
-    }
-}();
-"object" === typeof exports && "object" === typeof module ? module.exports = DracoDecoderModule : "function" === typeof define && define.amd ? define([], function () {
-    return DracoDecoderModule
-}) : "object" === typeof exports && (exports.DracoDecoderModule = DracoDecoderModule);
diff --git a/libs/supermap/ThirdParty/Workers/ie-webworker-promise-polyfill.js b/libs/supermap/ThirdParty/Workers/ie-webworker-promise-polyfill.js
deleted file mode 100644
index 9eaea78..0000000
--- a/libs/supermap/ThirdParty/Workers/ie-webworker-promise-polyfill.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define([],function(){function c(t){return"function"==typeof t}var n=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},r=0,e=void 0,o=void 0,u=function(t,e){h[r]=t,h[r+1]=e,2===(r+=2)&&(o?o(v):m())};var t="undefined"!=typeof window?window:void 0,i=t||{},s=i.MutationObserver||i.WebKitMutationObserver,a="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),f="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function l(){var t=setTimeout;return function(){return t(v,1)}}var h=new Array(1e3);function v(){for(var t=0;t<r;t+=2){(0,h[t])(h[t+1]),h[t]=void 0,h[t+1]=void 0}r=0}var p,_,d,y,m=void 0;function b(t,e){var n=this,r=new this.constructor(A);void 0===r[g]&&q(r);var o=n._state;if(o){var i=arguments[o-1];u(function(){return Y(o,r,i,n._result)})}else x(n,r,t,e);return r}function w(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var e=new this(A);return M(e,t),e}m=a?function(){return process.nextTick(v)}:s?(_=0,d=new s(v),y=document.createTextNode(""),d.observe(y,{characterData:!0}),function(){y.data=_=++_%2}):f?((p=new MessageChannel).port1.onmessage=v,function(){return p.port2.postMessage(0)}):void 0===t&&"function"==typeof require?function(){try{var t=Function("return this")().require("vertx");return void 0!==(e=t.runOnLoop||t.runOnContext)?function(){e(v)}:l()}catch(t){return l()}}():l();var g=Math.random().toString(36).substring(2);function A(){}var j=void 0,S=1,E=2;function T(t,e,n){var r,o,i,s;e.constructor===t.constructor&&n===b&&e.constructor.resolve===w?(i=t,(s=e)._state===S?O(i,s._result):s._state===E?P(i,s._result):x(s,void 0,function(t){return M(i,t)},function(t){return P(i,t)})):void 0===n?O(t,e):c(n)?(r=e,o=n,u(function(e){var n=!1,t=function(t,e,n,r){try{t.call(e,n,r)}catch(t){return t}}(o,r,function(t){n||(n=!0,r!==t?M(e,t):O(e,t))},function(t){n||(n=!0,P(e,t))},e._label);!n&&t&&(n=!0,P(e,t))},t)):O(t,e)}function M(e,t){if(e===t)P(e,new TypeError("You cannot resolve a promise with itself"));else if(o=typeof(r=t),null===r||"object"!==o&&"function"!==o)O(e,t);else{var n=void 0;try{n=t.then}catch(t){return void P(e,t)}T(e,t,n)}var r,o}function C(t){t._onerror&&t._onerror(t._result),F(t)}function O(t,e){t._state===j&&(t._result=e,t._state=S,0!==t._subscribers.length&&u(F,t))}function P(t,e){t._state===j&&(t._state=E,t._result=e,u(C,t))}function x(t,e,n,r){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=e,o[i+S]=n,o[i+E]=r,0===i&&t._state&&u(F,t)}function F(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r=void 0,o=void 0,i=t._result,s=0;s<e.length;s+=3)r=e[s],o=e[s+n],r?Y(n,r,o,i):o(i);t._subscribers.length=0}}function Y(t,e,n,r){var o=c(n),i=void 0,s=void 0,u=!0;if(o){try{i=n(r)}catch(t){u=!1,s=t}if(e===i)return void P(e,new TypeError("A promises callback cannot return that same promise."))}else i=r;e._state!==j||(o&&u?M(e,i):!1===u?P(e,s):t===S?O(e,i):t===E&&P(e,i))}var k=0;function q(t){t[g]=k++,t._state=void 0,t._result=void 0,t._subscribers=[]}var D=function(){function t(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[g]||q(this.promise),n(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?O(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&O(this.promise,this._result))):P(this.promise,new Error("Array Methods must be provided an Array"))}return t.prototype._enumerate=function(t){for(var e=0;this._state===j&&e<t.length;e++)this._eachEntry(t[e],e)},t.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,r=n.resolve;if(r===w){var o=void 0,i=void 0,s=!1;try{o=e.then}catch(t){s=!0,i=t}if(o===b&&e._state!==j)this._settledAt(e._state,t,e._result);else if("function"!=typeof o)this._remaining--,this._result[t]=e;else if(n===K){var u=new n(A);s?P(u,i):T(u,e,o),this._willSettleAt(u,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(r(e),t)},t.prototype._settledAt=function(t,e,n){var r=this.promise;r._state===j&&(this._remaining--,t===E?P(r,n):this._result[e]=n),0===this._remaining&&O(r,this._result)},t.prototype._willSettleAt=function(t,e){var n=this;x(t,void 0,function(t){return n._settledAt(S,e,t)},function(t){return n._settledAt(E,e,t)})},t}();var K=function(){function e(t){this[g]=k++,this._result=this._state=void 0,this._subscribers=[],A!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof e?function(e,t){try{t(function(t){M(e,t)},function(t){P(e,t)})}catch(t){P(e,t)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return e.prototype.catch=function(t){return this.then(null,t)},e.prototype.finally=function(e){var n=this.constructor;return c(e)?this.then(function(t){return n.resolve(e()).then(function(){return t})},function(t){return n.resolve(e()).then(function(){throw t})}):this.then(e,e)},e}();return K.prototype.then=b,K.all=function(t){return new D(this,t).promise},K.race=function(o){var i=this;return n(o)?new i(function(t,e){for(var n=o.length,r=0;r<n;r++)i.resolve(o[r]).then(t,e)}):new i(function(t,e){return e(new TypeError("You must pass an array to race."))})},K.resolve=w,K.reject=function(t){var e=new this(A);return P(e,t),e},K._setScheduler=function(t){o=t},K._setAsap=function(t){u=t},K._asap=u,K.polyfill=function(){var t=void 0;if("undefined"!=typeof global)t=global;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var n=null;try{n=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===n&&!e.cast)return}t.Promise=K},K.Promise=K});
\ No newline at end of file
diff --git a/libs/supermap/ThirdParty/Workers/inflate.js b/libs/supermap/ThirdParty/Workers/inflate.js
deleted file mode 100644
index 4e089fa..0000000
--- a/libs/supermap/ThirdParty/Workers/inflate.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-!function(e){var L=0,P=1,j=-2,q=-3,x=-4,B=-5,C=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],F=1440,a=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],r=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],w=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],c=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],v=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],h=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],D=15;function G(){var f,o,E,S,U,z;function b(i,t,e,n,a,r,_,l,d,s,f){var o,b,u,x,w,c,v,h,k,m,y,g,p,A,I;for(m=0,w=e;E[i[t+m]]++,m++,0!==--w;);if(E[0]==e)return _[0]=-1,l[0]=0,L;for(h=l[0],c=1;c<=D&&0===E[c];c++);for(h<(v=c)&&(h=c),w=D;0!==w&&0===E[w];w--);for((u=w)<h&&(h=w),l[0]=h,A=1<<c;c<w;c++,A<<=1)if((A-=E[c])<0)return q;if((A-=E[w])<0)return q;for(E[w]+=A,z[1]=c=0,m=1,p=2;0!=--w;)z[p]=c+=E[m],p++,m++;for(m=w=0;0!==(c=i[t+m])&&(f[z[c]++]=w),m++,++w<e;);for(e=z[u],z[0]=w=0,x=-1,g=-h,I=y=U[m=0]=0;v<=u;v++)for(o=E[v];0!=o--;){for(;g+h<v;){if(x++,I=h<(I=u-(g+=h))?h:I,(b=1<<(c=v-g))>o+1&&(b-=o+1,p=v,c<I))for(;++c<I&&!((b<<=1)<=E[++p]);)b-=E[p];if(I=1<<c,s[0]+I>F)return q;U[x]=y=s[0],s[0]+=I,0!==x?(z[x]=w,S[0]=c,c=w>>>g-(S[1]=h),S[2]=y-U[x-1]-c,d.set(S,3*(U[x-1]+c))):_[0]=y}for(S[1]=v-g,e<=m?S[0]=192:f[m]<n?(S[0]=f[m]<256?0:96,S[2]=f[m++]):(S[0]=r[f[m]-n]+16+64,S[2]=a[f[m++]-n]),b=1<<v-g,c=w>>>g;c<I;c+=b)d.set(S,3*(y+c));for(c=1<<v-1;0!=(w&c);c>>>=1)w^=c;for(w^=c,k=(1<<g)-1;(w&k)!=z[x];)x--,k=(1<<(g-=h))-1}return 0!==A&&1!=u?B:L}function u(i){var t;for(f||(f=[],o=[],E=new Int32Array(D+1),S=[],U=new Int32Array(D),z=new Int32Array(D+1)),o.length<i&&(o=[]),t=0;t<i;t++)o[t]=0;for(t=0;t<D+1;t++)E[t]=0;for(t=0;t<3;t++)S[t]=0;U.set(E.subarray(0,D),0),z.set(E.subarray(0,D+1),0)}this.inflate_trees_bits=function(i,t,e,n,a){var r;return u(19),(r=b(i,f[0]=0,19,19,null,null,e,t,n,f,o))==q?a.msg="oversubscribed dynamic bit lengths tree":r!=B&&0!==t[0]||(a.msg="incomplete dynamic bit lengths tree",r=q),r},this.inflate_trees_dynamic=function(i,t,e,n,a,r,_,l,d){var s;return u(288),(s=b(e,f[0]=0,i,257,w,c,r,n,l,f,o))!=L||0===n[0]?(s==q?d.msg="oversubscribed literal/length tree":s!=x&&(d.msg="incomplete literal/length tree",s=q),s):(u(288),(s=b(e,i,t,0,v,h,_,a,l,f,o))!=L||0===a[0]&&257<i?(s==q?d.msg="oversubscribed distance tree":s==B?(d.msg="incomplete distance tree",s=q):s!=x&&(d.msg="empty distance tree with lengths",s=q),s):L)}}G.inflate_trees_fixed=function(i,t,e,n){return i[0]=9,t[0]=5,e[0]=a,n[0]=r,L};var U=0,z=1,M=2,H=3,J=4,K=5,N=6,O=7,Q=8,R=9;function n(){var u,x,w,c,v=0,h=0,k=0,m=0,y=0,g=0,p=0,A=0,I=0,E=0;function S(i,t,e,n,a,r,_,l){var d,s,f,o,b,u,x,w,c,v,h,k,m,y,g,p;x=l.next_in_index,w=l.avail_in,b=_.bitb,u=_.bitk,v=(c=_.write)<_.read?_.read-c-1:_.end-c,h=C[i],k=C[t];do{for(;u<20;)w--,b|=(255&l.read_byte(x++))<<u,u+=8;if(0!==(o=(s=e)[p=3*((f=n)+(d=b&h))]))for(;;){if(b>>=s[p+1],u-=s[p+1],0!=(16&o)){for(o&=15,m=s[p+2]+(b&C[o]),b>>=o,u-=o;u<15;)w--,b|=(255&l.read_byte(x++))<<u,u+=8;for(o=(s=a)[p=3*((f=r)+(d=b&k))];;){if(b>>=s[p+1],u-=s[p+1],0!=(16&o)){for(o&=15;u<o;)w--,b|=(255&l.read_byte(x++))<<u,u+=8;if(y=s[p+2]+(b&C[o]),b>>=o,u-=o,v-=m,y<=c)0<c-(g=c-y)&&c-g<2?(_.window[c++]=_.window[g++],_.window[c++]=_.window[g++]):(_.window.set(_.window.subarray(g,g+2),c),c+=2,g+=2),m-=2;else{for(g=c-y;(g+=_.end)<0;);if((o=_.end-g)<m){if(m-=o,0<c-g&&c-g<o)for(;_.window[c++]=_.window[g++],0!=--o;);else _.window.set(_.window.subarray(g,g+o),c),c+=o,g+=o,o=0;g=0}}if(0<c-g&&c-g<m)for(;_.window[c++]=_.window[g++],0!=--m;);else _.window.set(_.window.subarray(g,g+m),c),c+=m,g+=m,m=0;break}if(0!=(64&o))return l.msg="invalid distance code",w+=m=u>>3<(m=l.avail_in-w)?u>>3:m,x-=m,u-=m<<3,_.bitb=b,_.bitk=u,l.avail_in=w,l.total_in+=x-l.next_in_index,l.next_in_index=x,_.write=c,q;d+=s[p+2],o=s[p=3*(f+(d+=b&C[o]))]}break}if(0!=(64&o))return 0!=(32&o)?(w+=m=u>>3<(m=l.avail_in-w)?u>>3:m,x-=m,u-=m<<3,_.bitb=b,_.bitk=u,l.avail_in=w,l.total_in+=x-l.next_in_index,l.next_in_index=x,_.write=c,P):(l.msg="invalid literal/length code",w+=m=u>>3<(m=l.avail_in-w)?u>>3:m,x-=m,u-=m<<3,_.bitb=b,_.bitk=u,l.avail_in=w,l.total_in+=x-l.next_in_index,l.next_in_index=x,_.write=c,q);if(d+=s[p+2],0===(o=s[p=3*(f+(d+=b&C[o]))])){b>>=s[p+1],u-=s[p+1],_.window[c++]=s[p+2],v--;break}}else b>>=s[p+1],u-=s[p+1],_.window[c++]=s[p+2],v--}while(258<=v&&10<=w);return w+=m=u>>3<(m=l.avail_in-w)?u>>3:m,x-=m,u-=m<<3,_.bitb=b,_.bitk=u,l.avail_in=w,l.total_in+=x-l.next_in_index,l.next_in_index=x,_.write=c,L}this.init=function(i,t,e,n,a,r){u=U,p=i,A=t,w=e,I=n,c=a,E=r,x=null},this.proc=function(i,t,e){var n,a,r,_,l,d,s,f=0,o=0,b=0;for(b=t.next_in_index,_=t.avail_in,f=i.bitb,o=i.bitk,d=(l=i.write)<i.read?i.read-l-1:i.end-l;;)switch(u){case U:if(258<=d&&10<=_&&(i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,e=S(p,A,w,I,c,E,i,t),b=t.next_in_index,_=t.avail_in,f=i.bitb,o=i.bitk,d=(l=i.write)<i.read?i.read-l-1:i.end-l,e!=L)){u=e==P?O:R;break}k=p,x=w,h=I,u=z;case z:for(n=k;o<n;){if(0===_)return i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);e=L,_--,f|=(255&t.read_byte(b++))<<o,o+=8}if(a=3*(h+(f&C[n])),f>>>=x[a+1],o-=x[a+1],0===(r=x[a])){m=x[a+2],u=N;break}if(0!=(16&r)){y=15&r,v=x[a+2],u=M;break}if(0==(64&r)){k=r,h=a/3+x[a+2];break}if(0==(32&r))return u=R,t.msg="invalid literal/length code",e=q,i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);u=O;break;case M:for(n=y;o<n;){if(0===_)return i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);e=L,_--,f|=(255&t.read_byte(b++))<<o,o+=8}v+=f&C[n],f>>=n,o-=n,k=A,x=c,h=E,u=H;case H:for(n=k;o<n;){if(0===_)return i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);e=L,_--,f|=(255&t.read_byte(b++))<<o,o+=8}if(a=3*(h+(f&C[n])),f>>=x[a+1],o-=x[a+1],0!=(16&(r=x[a]))){y=15&r,g=x[a+2],u=J;break}if(0!=(64&r))return u=R,t.msg="invalid distance code",e=q,i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);k=r,h=a/3+x[a+2];break;case J:for(n=y;o<n;){if(0===_)return i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);e=L,_--,f|=(255&t.read_byte(b++))<<o,o+=8}g+=f&C[n],f>>=n,o-=n,u=K;case K:for(s=l-g;s<0;)s+=i.end;for(;0!==v;){if(0===d&&(l==i.end&&0!==i.read&&(d=(l=0)<i.read?i.read-l-1:i.end-l),0===d&&(i.write=l,e=i.inflate_flush(t,e),d=(l=i.write)<i.read?i.read-l-1:i.end-l,l==i.end&&0!==i.read&&(d=(l=0)<i.read?i.read-l-1:i.end-l),0===d)))return i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);i.window[l++]=i.window[s++],d--,s==i.end&&(s=0),v--}u=U;break;case N:if(0===d&&(l==i.end&&0!==i.read&&(d=(l=0)<i.read?i.read-l-1:i.end-l),0===d&&(i.write=l,e=i.inflate_flush(t,e),d=(l=i.write)<i.read?i.read-l-1:i.end-l,l==i.end&&0!==i.read&&(d=(l=0)<i.read?i.read-l-1:i.end-l),0===d)))return i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);e=L,i.window[l++]=m,d--,u=U;break;case O:if(7<o&&(o-=8,_++,b--),i.write=l,e=i.inflate_flush(t,e),d=(l=i.write)<i.read?i.read-l-1:i.end-l,i.read!=i.write)return i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);u=Q;case Q:return e=P,i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);case R:return e=q,i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e);default:return e=j,i.bitb=f,i.bitk=o,t.avail_in=_,t.total_in+=b-t.next_in_index,t.next_in_index=b,i.write=l,i.inflate_flush(t,e)}},this.free=function(){}}var T=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],V=0,W=1,X=2,Y=3,Z=4,$=5,ii=6,ti=7,ei=8,ni=9;function l(i,t){var m,y=this,g=V,p=0,A=0,I=0,E=[0],S=[0],U=new n,z=0,D=new Int32Array(3*F),M=new G;y.bitk=0,y.bitb=0,y.window=new Uint8Array(t),y.end=t,y.read=0,y.write=0,y.reset=function(i,t){t&&(t[0]=0),g==ii&&U.free(i),g=V,y.bitk=0,y.bitb=0,y.read=y.write=0},y.reset(i,null),y.inflate_flush=function(i,t){var e,n,a;return n=i.next_out_index,(e=((a=y.read)<=y.write?y.write:y.end)-a)>i.avail_out&&(e=i.avail_out),0!==e&&t==B&&(t=L),i.avail_out-=e,i.total_out+=e,i.next_out.set(y.window.subarray(a,a+e),n),n+=e,(a+=e)==y.end&&(a=0,y.write==y.end&&(y.write=0),(e=y.write-a)>i.avail_out&&(e=i.avail_out),0!==e&&t==B&&(t=L),i.avail_out-=e,i.total_out+=e,i.next_out.set(y.window.subarray(a,a+e),n),n+=e,a+=e),i.next_out_index=n,y.read=a,t},y.proc=function(i,t){var e,n,a,r,_,l,d,s;for(r=i.next_in_index,_=i.avail_in,n=y.bitb,a=y.bitk,d=(l=y.write)<y.read?y.read-l-1:y.end-l;;)switch(g){case V:for(;a<3;){if(0===_)return y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);t=L,_--,n|=(255&i.read_byte(r++))<<a,a+=8}switch(z=1&(e=7&n),e>>>1){case 0:n>>>=3,n>>>=e=7&(a-=3),a-=e,g=W;break;case 1:var f=[],o=[],b=[[]],u=[[]];G.inflate_trees_fixed(f,o,b,u),U.init(f[0],o[0],b[0],0,u[0],0),n>>>=3,a-=3,g=ii;break;case 2:n>>>=3,a-=3,g=Y;break;case 3:return n>>>=3,a-=3,g=ni,i.msg="invalid block type",t=q,y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t)}break;case W:for(;a<32;){if(0===_)return y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);t=L,_--,n|=(255&i.read_byte(r++))<<a,a+=8}if((~n>>>16&65535)!=(65535&n))return g=ni,i.msg="invalid stored block lengths",t=q,y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);p=65535&n,n=a=0,g=0!==p?X:0!==z?ti:V;break;case X:if(0===_)return y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);if(0===d&&(l==y.end&&0!==y.read&&(d=(l=0)<y.read?y.read-l-1:y.end-l),0===d&&(y.write=l,t=y.inflate_flush(i,t),d=(l=y.write)<y.read?y.read-l-1:y.end-l,l==y.end&&0!==y.read&&(d=(l=0)<y.read?y.read-l-1:y.end-l),0===d)))return y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);if(t=L,_<(e=p)&&(e=_),d<e&&(e=d),y.window.set(i.read_buf(r,e),l),r+=e,_-=e,l+=e,d-=e,0!=(p-=e))break;g=0!==z?ti:V;break;case Y:for(;a<14;){if(0===_)return y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);t=L,_--,n|=(255&i.read_byte(r++))<<a,a+=8}if(A=e=16383&n,29<(31&e)||29<(e>>5&31))return g=ni,i.msg="too many length or distance symbols",t=q,y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);if(e=258+(31&e)+(e>>5&31),!m||m.length<e)m=[];else for(s=0;s<e;s++)m[s]=0;n>>>=14,a-=14,I=0,g=Z;case Z:for(;I<4+(A>>>10);){for(;a<3;){if(0===_)return y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);t=L,_--,n|=(255&i.read_byte(r++))<<a,a+=8}m[T[I++]]=7&n,n>>>=3,a-=3}for(;I<19;)m[T[I++]]=0;if(E[0]=7,(e=M.inflate_trees_bits(m,E,S,D,i))!=L)return(t=e)==q&&(m=null,g=ni),y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);I=0,g=$;case $:for(;I<258+(31&(e=A))+(e>>5&31);){var x,w;for(e=E[0];a<e;){if(0===_)return y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);t=L,_--,n|=(255&i.read_byte(r++))<<a,a+=8}if(e=D[3*(S[0]+(n&C[e]))+1],(w=D[3*(S[0]+(n&C[e]))+2])<16)n>>>=e,a-=e,m[I++]=w;else{for(s=18==w?7:w-14,x=18==w?11:3;a<e+s;){if(0===_)return y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);t=L,_--,n|=(255&i.read_byte(r++))<<a,a+=8}if(a-=e,x+=(n>>>=e)&C[s],n>>>=s,a-=s,258+(31&(e=A))+(e>>5&31)<(s=I)+x||16==w&&s<1)return m=null,g=ni,i.msg="invalid bit length repeat",t=q,y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);for(w=16==w?m[s-1]:0;m[s++]=w,0!=--x;);I=s}}S[0]=-1;var c=[],v=[],h=[],k=[];if(c[0]=9,v[0]=6,e=A,(e=M.inflate_trees_dynamic(257+(31&e),1+(e>>5&31),m,c,v,h,k,D,i))!=L)return e==q&&(m=null,g=ni),t=e,y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);U.init(c[0],v[0],D,h[0],D,k[0]),g=ii;case ii:if(y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,(t=U.proc(y,i,t))!=P)return y.inflate_flush(i,t);if(t=L,U.free(i),r=i.next_in_index,_=i.avail_in,n=y.bitb,a=y.bitk,d=(l=y.write)<y.read?y.read-l-1:y.end-l,0===z){g=V;break}g=ti;case ti:if(y.write=l,t=y.inflate_flush(i,t),d=(l=y.write)<y.read?y.read-l-1:y.end-l,y.read!=y.write)return y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);g=ei;case ei:return t=P,y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);case ni:return t=q,y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t);default:return t=j,y.bitb=n,y.bitk=a,i.avail_in=_,i.total_in+=r-i.next_in_index,i.next_in_index=r,y.write=l,y.inflate_flush(i,t)}},y.free=function(i){y.reset(i,null),y.window=null,D=null},y.set_dictionary=function(i,t,e){y.window.set(i.subarray(t,t+e),0),y.read=y.write=e},y.sync_point=function(){return g==W?1:0}}var _,d=[0,0,255,255];function t(){var e=this;function _(i){return i&&i.istate?(i.total_in=i.total_out=0,i.msg=null,i.istate.mode=7,i.istate.blocks.reset(i,null),L):j}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=function(i){return e.blocks&&e.blocks.free(i),e.blocks=null,L},e.inflateInit=function(i,t){return i.msg=null,e.blocks=null,t<8||15<t?(e.inflateEnd(i),j):(e.wbits=t,i.istate.blocks=new l(i,1<<t),_(i),L)},e.inflate=function(i,t){var e,n;if(!i||!i.istate||!i.next_in)return j;for(t=4==t?B:L,e=B;;)switch(i.istate.mode){case 0:if(0===i.avail_in)return e;if(e=t,i.avail_in--,i.total_in++,8!=(15&(i.istate.method=i.read_byte(i.next_in_index++)))){i.istate.mode=13,i.msg="unknown compression method",i.istate.marker=5;break}if(8+(i.istate.method>>4)>i.istate.wbits){i.istate.mode=13,i.msg="invalid window size",i.istate.marker=5;break}i.istate.mode=1;case 1:if(0===i.avail_in)return e;if(e=t,i.avail_in--,i.total_in++,n=255&i.read_byte(i.next_in_index++),((i.istate.method<<8)+n)%31!=0){i.istate.mode=13,i.msg="incorrect header check",i.istate.marker=5;break}if(0==(32&n)){i.istate.mode=7;break}i.istate.mode=2;case 2:if(0===i.avail_in)return e;e=t,i.avail_in--,i.total_in++,i.istate.need=(255&i.read_byte(i.next_in_index++))<<24&4278190080,i.istate.mode=3;case 3:if(0===i.avail_in)return e;e=t,i.avail_in--,i.total_in++,i.istate.need+=(255&i.read_byte(i.next_in_index++))<<16&16711680,i.istate.mode=4;case 4:if(0===i.avail_in)return e;e=t,i.avail_in--,i.total_in++,i.istate.need+=(255&i.read_byte(i.next_in_index++))<<8&65280,i.istate.mode=5;case 5:return 0===i.avail_in?e:(e=t,i.avail_in--,i.total_in++,i.istate.need+=255&i.read_byte(i.next_in_index++),i.istate.mode=6,2);case 6:return i.istate.mode=13,i.msg="need dictionary",i.istate.marker=0,j;case 7:if((e=i.istate.blocks.proc(i,e))==q){i.istate.mode=13,i.istate.marker=0;break}if(e==L&&(e=t),e!=P)return e;e=t,i.istate.blocks.reset(i,i.istate.was),i.istate.mode=12;case 12:return P;case 13:return q;default:return j}},e.inflateSetDictionary=function(i,t,e){var n=0,a=e;return i&&i.istate&&6==i.istate.mode?(a>=1<<i.istate.wbits&&(n=e-(a=(1<<i.istate.wbits)-1)),i.istate.blocks.set_dictionary(t,n,a),i.istate.mode=7,L):j},e.inflateSync=function(i){var t,e,n,a,r;if(!i||!i.istate)return j;if(13!=i.istate.mode&&(i.istate.mode=13,i.istate.marker=0),0===(t=i.avail_in))return B;for(e=i.next_in_index,n=i.istate.marker;0!==t&&n<4;)i.read_byte(e)==d[n]?n++:n=0!==i.read_byte(e)?0:4-n,e++,t--;return i.total_in+=e-i.next_in_index,i.next_in_index=e,i.avail_in=t,4!=(i.istate.marker=n)?q:(a=i.total_in,r=i.total_out,_(i),i.total_in=a,i.total_out=r,i.istate.mode=7,L)},e.inflateSyncPoint=function(i){return i&&i.istate&&i.istate.blocks?i.istate.blocks.sync_point():j}}function i(){}function s(){var d=new i,s=new Uint8Array(512),f=!1;d.inflateInit(),d.next_out=s,this.append=function(i,t){var e,n,a=[],r=0,_=0,l=0;if(0!==i.length){d.next_in_index=0,d.next_in=i,d.avail_in=i.length;do{if(d.next_out_index=0,d.avail_out=512,0!==d.avail_in||f||(d.next_in_index=0,f=!0),e=d.inflate(0),f&&e==B)return-1;if(e!=L&&e!=P)throw"inflating: "+d.msg;if((f||e==P)&&d.avail_in==i.length)return-1;d.next_out_index&&(512==d.next_out_index?a.push(new Uint8Array(s)):a.push(new Uint8Array(s.subarray(0,d.next_out_index)))),l+=d.next_out_index,t&&0<d.next_in_index&&d.next_in_index!=r&&(t(d.next_in_index),r=d.next_in_index)}while(0<d.avail_in||0===d.avail_out);return n=new Uint8Array(l),a.forEach(function(i){n.set(i,_),_+=i.length}),n}},this.flush=function(){d.inflateEnd()}}i.prototype={inflateInit:function(i){return this.istate=new t,i||(i=15),this.istate.inflateInit(this,i)},inflate:function(i){return this.istate?this.istate.inflate(this,i):j},inflateEnd:function(){if(!this.istate)return j;var i=this.istate.inflateEnd(this);return this.istate=null,i},inflateSync:function(){return this.istate?this.istate.inflateSync(this):j},inflateSetDictionary:function(i,t){return this.istate?this.istate.inflateSetDictionary(this,i,t):j},read_byte:function(i){return this.next_in.subarray(i,i+1)[0]},read_buf:function(i,t){return this.next_in.subarray(i,i+t)}},e.zip?e.zip.Inflater=s:(_=new s,e.addEventListener("message",function(i){var t=i.data;t.append&&e.postMessage({onappend:!0,data:_.append(t.data,function(i){e.postMessage({progress:!0,current:i})})}),t.flush&&(_.flush(),e.postMessage({onflush:!0}))},!1))}(this);
\ No newline at end of file
diff --git a/libs/supermap/ThirdParty/crunch.js b/libs/supermap/ThirdParty/crunch.js
deleted file mode 100644
index 739cea3..0000000
--- a/libs/supermap/ThirdParty/crunch.js
+++ /dev/null
@@ -1 +0,0 @@
-var key,Module=void 0!==Module?Module:{},moduleOverrides={};for(key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var arguments_=[],thisProgram="./this.program",quit_=function(e,n){throw n},ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_HAS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE=(ENVIRONMENT_HAS_NODE="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node)&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var read_,readAsync,readBinary,setWindowTitle,nodeFS,nodePath,scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}ENVIRONMENT_IS_NODE?(scriptDirectory=__dirname+"/",read_=function(e,n){return nodeFS||(nodeFS=require("fs")),nodePath||(nodePath=require("path")),e=nodePath.normalize(e),nodeFS.readFileSync(e,n?null:"utf8")},readBinary=function(e){var n=read_(e,!0);return n.buffer||(n=new Uint8Array(n)),assert(n.buffer),n},1<process.argv.length&&(thisProgram=process.argv[1].replace(/\\/g,"/")),arguments_=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=Module),process.on("uncaughtException",function(e){if(!(e instanceof ExitStatus))throw e}),process.on("unhandledRejection",abort),quit_=function(e){process.exit(e)},Module.inspect=function(){return"[Emscripten Module object]"}):ENVIRONMENT_IS_SHELL?("undefined"!=typeof read&&(read_=function(e){return read(e)}),readBinary=function(e){var n;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(assert("object"==typeof(n=read(e,"binary"))),n)},"undefined"!=typeof scriptArgs?arguments_=scriptArgs:"undefined"!=typeof arguments&&(arguments_=arguments),"function"==typeof quit&&(quit_=function(e){quit(e)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:document.currentScript&&(scriptDirectory=document.currentScript.src),scriptDirectory=0!==scriptDirectory.indexOf("blob:")?scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1):"",read_=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.send(null),n.responseText},ENVIRONMENT_IS_WORKER&&(readBinary=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.responseType="arraybuffer",n.send(null),new Uint8Array(n.response)}),readAsync=function(e,n,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?n(t.response):r()},t.onerror=r,t.send(null)},setWindowTitle=function(e){document.title=e});var wasmBinary,noExitRuntime,wasmMemory,out=Module.print||console.log.bind(console),err=Module.printErr||console.warn.bind(console);for(key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.quit&&(quit_=Module.quit),Module.wasmBinary&&(wasmBinary=Module.wasmBinary),Module.noExitRuntime&&(noExitRuntime=Module.noExitRuntime),"object"!=typeof WebAssembly&&err("no native wasm support detected");var wasmTable=new WebAssembly.Table({initial:6,maximum:6,element:"anyfunc"}),ABORT=!1,EXITSTATUS=0;function assert(e,n){e||abort("Assertion failed: "+n)}var UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(e,n,r){for(var t=n+r,o=n;e[o]&&!(t<=o);)++o;if(16<o-n&&e.subarray&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(n,o));for(var i="";n<o;){var u=e[n++];if(128&u){var a=63&e[n++];if(192!=(224&u)){var s=63&e[n++];if((u=224==(240&u)?(15&u)<<12|a<<6|s:(7&u)<<18|a<<12|s<<6|63&e[n++])<65536)i+=String.fromCharCode(u);else{var l=u-65536;i+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else i+=String.fromCharCode((31&u)<<6|a)}else i+=String.fromCharCode(u)}return i}function UTF8ToString(e,n){return e?UTF8ArrayToString(HEAPU8,e,n):""}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,UTF16Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,WASM_PAGE_SIZE=65536;function alignUp(e,n){return 0<e%n&&(e+=n-e%n),e}function updateGlobalBufferAndViews(e){buffer=e,Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e)}var DYNAMIC_BASE=5247584,DYNAMICTOP_PTR=4544,INITIAL_TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216;function callRuntimeCallbacks(e){for(;0<e.length;){var n=e.shift();if("function"!=typeof n){var r=n.func;"number"==typeof r?void 0===n.arg?Module.dynCall_v(r):Module.dynCall_vi(r,n.arg):r(void 0===n.arg?null:n.arg)}else n()}}(wasmMemory=Module.wasmMemory?Module.wasmMemory:new WebAssembly.Memory({initial:INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE}))&&(buffer=wasmMemory.buffer),INITIAL_TOTAL_MEMORY=buffer.byteLength,updateGlobalBufferAndViews(buffer),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATPOSTRUN__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}var runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var n=dependenciesFulfilled;dependenciesFulfilled=null,n()}}function abort(e){throw Module.onAbort&&Module.onAbort(e),out(e+=""),err(e),ABORT=!0,EXITSTATUS=1,e="abort("+e+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(e)}Module.preloadedImages={},Module.preloadedAudios={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(e){return String.prototype.startsWith?e.startsWith(dataURIPrefix):0===e.indexOf(dataURIPrefix)}var wasmBinaryFile="crunch.wasm";function getBinary(){try{if(wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(wasmBinaryFile);throw"both async and sync fetching of the wasm failed"}catch(e){abort(e)}}function getBinaryPromise(){return wasmBinary||!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER||"function"!=typeof fetch?new Promise(function(e,n){e(getBinary())}):fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+wasmBinaryFile+"'";return e.arrayBuffer()}).catch(function(){return getBinary()})}function createWasm(){var n={env:asmLibraryArg,wasi_unstable:asmLibraryArg};function r(e,n){var r=e.exports;Module.asm=r,removeRunDependency("wasm-instantiate")}function t(e){r(e.instance)}function o(e){return getBinaryPromise().then(function(e){return WebAssembly.instantiate(e,n)}).then(e,function(e){err("failed to asynchronously prepare wasm: "+e),abort(e)})}if(addRunDependency("wasm-instantiate"),Module.instantiateWasm)try{return Module.instantiateWasm(n,r)}catch(e){return err("Module.instantiateWasm callback failed with error: "+e),!1}return function(){if(wasmBinary||"function"!=typeof WebAssembly.instantiateStreaming||isDataURI(wasmBinaryFile)||"function"!=typeof fetch)return o(t);fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,n).then(t,function(e){err("wasm streaming compile failed: "+e),err("falling back to ArrayBuffer instantiation"),o(t)})})}(),{}}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_memcpy_big(e,n,r){HEAPU8.set(HEAPU8.subarray(n,n+r),e)}function emscripten_realloc_buffer(e){try{return wasmMemory.grow(e-buffer.byteLength+65535>>16),updateGlobalBufferAndViews(wasmMemory.buffer),1}catch(e){}}function _emscripten_resize_heap(e){var n=_emscripten_get_heap_size(),r=2147418112;if(r<e)return!1;for(var t=Math.max(n,16777216);t<e;)t=t<=536870912?alignUp(2*t,65536):Math.min(alignUp((3*t+2147483648)/4,65536),r);return!!emscripten_realloc_buffer(t)}isDataURI(wasmBinaryFile)||(wasmBinaryFile="../ThirdParty/crunch.wasm"),__ATINIT__.push({func:function(){___wasm_call_ctors()}});var PATH={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,n){for(var r=0,t=e.length-1;0<=t;t--){var o=e[t];"."===o?e.splice(t,1):".."===o?(e.splice(t,1),r++):r&&(e.splice(t,1),r--)}if(n)for(;r;r--)e.unshift("..");return e},normalize:function(e){var n="/"===e.charAt(0),r="/"===e.substr(-1);return(e=PATH.normalizeArray(e.split("/").filter(function(e){return!!e}),!n).join("/"))||n||(e="."),e&&r&&(e+="/"),(n?"/":"")+e},dirname:function(e){var n=PATH.splitPath(e),r=n[0],t=n[1];return r||t?(t&&(t=t.substr(0,t.length-1)),r+t):"."},basename:function(e){if("/"===e)return"/";var n=e.lastIndexOf("/");return-1===n?e:e.substr(n+1)},extname:function(e){return PATH.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return PATH.normalize(e.join("/"))},join2:function(e,n){return PATH.normalize(e+"/"+n)}},SYSCALLS={buffers:[null,[],[]],printChar:function(e,n){var r=SYSCALLS.buffers[e];0===n||10===n?((1===e?out:err)(UTF8ArrayToString(r,0)),r.length=0):r.push(n)},varargs:0,get:function(e){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(){return UTF8ToString(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get();SYSCALLS.get();return e},getZero:function(){SYSCALLS.get()}};function _fd_write(e,n,r,t){try{for(var o=0,i=0;i<r;i++){for(var u=HEAP32[n+8*i>>2],a=HEAP32[n+(8*i+4)>>2],s=0;s<a;s++)SYSCALLS.printChar(e,HEAPU8[u+s]);o+=a}return HEAP32[t>>2]=o,0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),e.errno}}var asmLibraryArg={a:_emscripten_memcpy_big,b:_emscripten_resize_heap,c:_fd_write,memory:wasmMemory,table:wasmTable},asm=createWasm();Module.asm=asm;var calledRun,___wasm_call_ctors=Module.___wasm_call_ctors=function(){return Module.asm.d.apply(null,arguments)},_malloc=Module._malloc=function(){return Module.asm.e.apply(null,arguments)},_free=Module._free=function(){return Module.asm.f.apply(null,arguments)},_crn_get_width=Module._crn_get_width=function(){return Module.asm.g.apply(null,arguments)},_crn_get_height=Module._crn_get_height=function(){return Module.asm.h.apply(null,arguments)},_crn_get_levels=Module._crn_get_levels=function(){return Module.asm.i.apply(null,arguments)},_crn_get_dxt_format=Module._crn_get_dxt_format=function(){return Module.asm.j.apply(null,arguments)},_crn_get_bytes_per_block=Module._crn_get_bytes_per_block=function(){return Module.asm.k.apply(null,arguments)},_crn_get_uncompressed_size=Module._crn_get_uncompressed_size=function(){return Module.asm.l.apply(null,arguments)},_crn_decompress=Module._crn_decompress=function(){return Module.asm.m.apply(null,arguments)};function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function run(e){function n(){calledRun||(calledRun=!0,ABORT||(initRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),postRun()))}e=e||arguments_,0<runDependencies||(preRun(),0<runDependencies||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),n()},1)):n()))}if(Module.asm=asm,dependenciesFulfilled=function e(){calledRun||run(),calledRun||(dependenciesFulfilled=e)},Module.run=run,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);0<Module.preInit.length;)Module.preInit.pop()();noExitRuntime=!0,run();
\ No newline at end of file
diff --git a/libs/supermap/ThirdParty/crunch.wasm b/libs/supermap/ThirdParty/crunch.wasm
deleted file mode 100644
index 981cd9a..0000000
--- a/libs/supermap/ThirdParty/crunch.wasm
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/ThirdParty/draco_decoder.wasm b/libs/supermap/ThirdParty/draco_decoder.wasm
deleted file mode 100644
index 3f0ba9c..0000000
--- a/libs/supermap/ThirdParty/draco_decoder.wasm
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/ThirdParty/google-earth-dbroot-parser.js b/libs/supermap/ThirdParty/google-earth-dbroot-parser.js
deleted file mode 100644
index 5b927a6..0000000
--- a/libs/supermap/ThirdParty/google-earth-dbroot-parser.js
+++ /dev/null
@@ -1 +0,0 @@
-window.cesiumGoogleEarthDbRootParser=function(t){"use strict";var e,r,i=t.Reader,l=(t.Writer,t.util),s=[],p=t.roots.default||(t.roots.default={});return p.keyhole=((r={}).dbroot=((e={}).StringEntryProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.stringId=0,e.prototype.stringValue="",e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.StringEntryProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.stringId=e.fixed32();break;case 2:o.stringValue=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":l.isInteger(e.stringId)?l.isString(e.stringValue)?null:"stringValue: string expected":"stringId: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.StringEntryProto)return e;var r=new p.keyhole.dbroot.StringEntryProto;return void 0!==e.stringId&&null!==e.stringId&&(r.stringId=e.stringId>>>0),void 0!==e.stringValue&&null!==e.stringValue&&(r.stringValue=String(e.stringValue)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.stringId=0,t.stringValue=""),void 0!==e.stringId&&null!==e.stringId&&e.hasOwnProperty("stringId")&&(t.stringId=e.stringId),void 0!==e.stringValue&&null!==e.stringValue&&e.hasOwnProperty("stringValue")&&(t.stringValue=e.stringValue),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.StringIdOrValueProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.stringId=0,e.prototype.value="",e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.StringIdOrValueProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.stringId=e.fixed32();break;case 2:o.value=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.stringId||l.isInteger(e.stringId)?void 0===e.value||l.isString(e.value)?null:"value: string expected":"stringId: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.StringIdOrValueProto)return e;var r=new p.keyhole.dbroot.StringIdOrValueProto;return void 0!==e.stringId&&null!==e.stringId&&(r.stringId=e.stringId>>>0),void 0!==e.value&&null!==e.value&&(r.value=String(e.value)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.stringId=0,t.value=""),void 0!==e.stringId&&null!==e.stringId&&e.hasOwnProperty("stringId")&&(t.stringId=e.stringId),void 0!==e.value&&null!==e.value&&e.hasOwnProperty("value")&&(t.value=e.value),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.PlanetModelProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.radius=6378.137,e.prototype.flattening=.00335281066474748,e.prototype.elevationBias=0,e.prototype.negativeAltitudeExponentBias=0,e.prototype.compressedNegativeAltitudeThreshold=0,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.PlanetModelProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.radius=e.double();break;case 2:o.flattening=e.double();break;case 4:o.elevationBias=e.double();break;case 5:o.negativeAltitudeExponentBias=e.int32();break;case 6:o.compressedNegativeAltitudeThreshold=e.double();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.radius&&"number"!=typeof e.radius?"radius: number expected":void 0!==e.flattening&&"number"!=typeof e.flattening?"flattening: number expected":void 0!==e.elevationBias&&"number"!=typeof e.elevationBias?"elevationBias: number expected":void 0===e.negativeAltitudeExponentBias||l.isInteger(e.negativeAltitudeExponentBias)?void 0!==e.compressedNegativeAltitudeThreshold&&"number"!=typeof e.compressedNegativeAltitudeThreshold?"compressedNegativeAltitudeThreshold: number expected":null:"negativeAltitudeExponentBias: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.PlanetModelProto)return e;var r=new p.keyhole.dbroot.PlanetModelProto;return void 0!==e.radius&&null!==e.radius&&(r.radius=Number(e.radius)),void 0!==e.flattening&&null!==e.flattening&&(r.flattening=Number(e.flattening)),void 0!==e.elevationBias&&null!==e.elevationBias&&(r.elevationBias=Number(e.elevationBias)),void 0!==e.negativeAltitudeExponentBias&&null!==e.negativeAltitudeExponentBias&&(r.negativeAltitudeExponentBias=0|e.negativeAltitudeExponentBias),void 0!==e.compressedNegativeAltitudeThreshold&&null!==e.compressedNegativeAltitudeThreshold&&(r.compressedNegativeAltitudeThreshold=Number(e.compressedNegativeAltitudeThreshold)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.radius=6378.137,t.flattening=.00335281066474748,t.elevationBias=0,t.negativeAltitudeExponentBias=0,t.compressedNegativeAltitudeThreshold=0),void 0!==e.radius&&null!==e.radius&&e.hasOwnProperty("radius")&&(t.radius=e.radius),void 0!==e.flattening&&null!==e.flattening&&e.hasOwnProperty("flattening")&&(t.flattening=e.flattening),void 0!==e.elevationBias&&null!==e.elevationBias&&e.hasOwnProperty("elevationBias")&&(t.elevationBias=e.elevationBias),void 0!==e.negativeAltitudeExponentBias&&null!==e.negativeAltitudeExponentBias&&e.hasOwnProperty("negativeAltitudeExponentBias")&&(t.negativeAltitudeExponentBias=e.negativeAltitudeExponentBias),void 0!==e.compressedNegativeAltitudeThreshold&&null!==e.compressedNegativeAltitudeThreshold&&e.hasOwnProperty("compressedNegativeAltitudeThreshold")&&(t.compressedNegativeAltitudeThreshold=e.compressedNegativeAltitudeThreshold),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.ProviderInfoProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.providerId=0,e.prototype.copyrightString=null,e.prototype.verticalPixelOffset=-1;var n={1:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.ProviderInfoProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.providerId=e.int32();break;case 2:o.copyrightString=n[1].decode(e,e.uint32());break;case 3:o.verticalPixelOffset=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!l.isInteger(e.providerId))return"providerId: integer expected";if(void 0!==e.copyrightString&&null!==e.copyrightString){var r=n[1].verify(e.copyrightString);if(r)return"copyrightString."+r}return void 0===e.verticalPixelOffset||l.isInteger(e.verticalPixelOffset)?null:"verticalPixelOffset: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.ProviderInfoProto)return e;var r=new p.keyhole.dbroot.ProviderInfoProto;if(void 0!==e.providerId&&null!==e.providerId&&(r.providerId=0|e.providerId),void 0!==e.copyrightString&&null!==e.copyrightString){if("object"!=typeof e.copyrightString)throw TypeError(".keyhole.dbroot.ProviderInfoProto.copyrightString: object expected");r.copyrightString=n[1].fromObject(e.copyrightString)}return void 0!==e.verticalPixelOffset&&null!==e.verticalPixelOffset&&(r.verticalPixelOffset=0|e.verticalPixelOffset),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.providerId=0,t.copyrightString=null,t.verticalPixelOffset=-1),void 0!==e.providerId&&null!==e.providerId&&e.hasOwnProperty("providerId")&&(t.providerId=e.providerId),void 0!==e.copyrightString&&null!==e.copyrightString&&e.hasOwnProperty("copyrightString")&&(t.copyrightString=n[1].toObject(e.copyrightString,r)),void 0!==e.verticalPixelOffset&&null!==e.verticalPixelOffset&&e.hasOwnProperty("verticalPixelOffset")&&(t.verticalPixelOffset=e.verticalPixelOffset),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.PopUpProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.isBalloonStyle=!1,e.prototype.text=null,e.prototype.backgroundColorAbgr=4294967295,e.prototype.textColorAbgr=4278190080;var n={1:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.PopUpProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.isBalloonStyle=e.bool();break;case 2:o.text=n[1].decode(e,e.uint32());break;case 3:o.backgroundColorAbgr=e.fixed32();break;case 4:o.textColorAbgr=e.fixed32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.isBalloonStyle&&"boolean"!=typeof e.isBalloonStyle)return"isBalloonStyle: boolean expected";if(void 0!==e.text&&null!==e.text){var r=n[1].verify(e.text);if(r)return"text."+r}return void 0===e.backgroundColorAbgr||l.isInteger(e.backgroundColorAbgr)?void 0===e.textColorAbgr||l.isInteger(e.textColorAbgr)?null:"textColorAbgr: integer expected":"backgroundColorAbgr: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.PopUpProto)return e;var r=new p.keyhole.dbroot.PopUpProto;if(void 0!==e.isBalloonStyle&&null!==e.isBalloonStyle&&(r.isBalloonStyle=Boolean(e.isBalloonStyle)),void 0!==e.text&&null!==e.text){if("object"!=typeof e.text)throw TypeError(".keyhole.dbroot.PopUpProto.text: object expected");r.text=n[1].fromObject(e.text)}return void 0!==e.backgroundColorAbgr&&null!==e.backgroundColorAbgr&&(r.backgroundColorAbgr=e.backgroundColorAbgr>>>0),void 0!==e.textColorAbgr&&null!==e.textColorAbgr&&(r.textColorAbgr=e.textColorAbgr>>>0),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.isBalloonStyle=!1,t.text=null,t.backgroundColorAbgr=4294967295,t.textColorAbgr=4278190080),void 0!==e.isBalloonStyle&&null!==e.isBalloonStyle&&e.hasOwnProperty("isBalloonStyle")&&(t.isBalloonStyle=e.isBalloonStyle),void 0!==e.text&&null!==e.text&&e.hasOwnProperty("text")&&(t.text=n[1].toObject(e.text,r)),void 0!==e.backgroundColorAbgr&&null!==e.backgroundColorAbgr&&e.hasOwnProperty("backgroundColorAbgr")&&(t.backgroundColorAbgr=e.backgroundColorAbgr),void 0!==e.textColorAbgr&&null!==e.textColorAbgr&&e.hasOwnProperty("textColorAbgr")&&(t.textColorAbgr=e.textColorAbgr),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.StyleAttributeProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.styleId="",e.prototype.providerId=0,e.prototype.polyColorAbgr=4294967295,e.prototype.lineColorAbgr=4294967295,e.prototype.lineWidth=1,e.prototype.labelColorAbgr=4294967295,e.prototype.labelScale=1,e.prototype.placemarkIconColorAbgr=4294967295,e.prototype.placemarkIconScale=1,e.prototype.placemarkIconPath=null,e.prototype.placemarkIconX=0,e.prototype.placemarkIconY=0,e.prototype.placemarkIconWidth=32,e.prototype.placemarkIconHeight=32,e.prototype.popUp=null,e.prototype.drawFlag=l.emptyArray;var n={9:"keyhole.dbroot.StringIdOrValueProto",14:"keyhole.dbroot.PopUpProto",15:"keyhole.dbroot.DrawFlagProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.StyleAttributeProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.styleId=e.string();break;case 3:o.providerId=e.int32();break;case 4:o.polyColorAbgr=e.fixed32();break;case 5:o.lineColorAbgr=e.fixed32();break;case 6:o.lineWidth=e.float();break;case 7:o.labelColorAbgr=e.fixed32();break;case 8:o.labelScale=e.float();break;case 9:o.placemarkIconColorAbgr=e.fixed32();break;case 10:o.placemarkIconScale=e.float();break;case 11:o.placemarkIconPath=n[9].decode(e,e.uint32());break;case 12:o.placemarkIconX=e.int32();break;case 13:o.placemarkIconY=e.int32();break;case 14:o.placemarkIconWidth=e.int32();break;case 15:o.placemarkIconHeight=e.int32();break;case 16:o.popUp=n[14].decode(e,e.uint32());break;case 17:o.drawFlag&&o.drawFlag.length||(o.drawFlag=[]),o.drawFlag.push(n[15].decode(e,e.uint32()));break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!l.isString(e.styleId))return"styleId: string expected";if(void 0!==e.providerId&&!l.isInteger(e.providerId))return"providerId: integer expected";if(void 0!==e.polyColorAbgr&&!l.isInteger(e.polyColorAbgr))return"polyColorAbgr: integer expected";if(void 0!==e.lineColorAbgr&&!l.isInteger(e.lineColorAbgr))return"lineColorAbgr: integer expected";if(void 0!==e.lineWidth&&"number"!=typeof e.lineWidth)return"lineWidth: number expected";if(void 0!==e.labelColorAbgr&&!l.isInteger(e.labelColorAbgr))return"labelColorAbgr: integer expected";if(void 0!==e.labelScale&&"number"!=typeof e.labelScale)return"labelScale: number expected";if(void 0!==e.placemarkIconColorAbgr&&!l.isInteger(e.placemarkIconColorAbgr))return"placemarkIconColorAbgr: integer expected";if(void 0!==e.placemarkIconScale&&"number"!=typeof e.placemarkIconScale)return"placemarkIconScale: number expected";if(void 0!==e.placemarkIconPath&&null!==e.placemarkIconPath&&(t=n[9].verify(e.placemarkIconPath)))return"placemarkIconPath."+t;if(void 0!==e.placemarkIconX&&!l.isInteger(e.placemarkIconX))return"placemarkIconX: integer expected";if(void 0!==e.placemarkIconY&&!l.isInteger(e.placemarkIconY))return"placemarkIconY: integer expected";if(void 0!==e.placemarkIconWidth&&!l.isInteger(e.placemarkIconWidth))return"placemarkIconWidth: integer expected";if(void 0!==e.placemarkIconHeight&&!l.isInteger(e.placemarkIconHeight))return"placemarkIconHeight: integer expected";if(void 0!==e.popUp&&null!==e.popUp&&(t=n[14].verify(e.popUp)))return"popUp."+t;if(void 0!==e.drawFlag){if(!Array.isArray(e.drawFlag))return"drawFlag: array expected";for(var r=0;r<e.drawFlag.length;++r){var t;if(t=n[15].verify(e.drawFlag[r]))return"drawFlag."+t}}return null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.StyleAttributeProto)return e;var r=new p.keyhole.dbroot.StyleAttributeProto;if(void 0!==e.styleId&&null!==e.styleId&&(r.styleId=String(e.styleId)),void 0!==e.providerId&&null!==e.providerId&&(r.providerId=0|e.providerId),void 0!==e.polyColorAbgr&&null!==e.polyColorAbgr&&(r.polyColorAbgr=e.polyColorAbgr>>>0),void 0!==e.lineColorAbgr&&null!==e.lineColorAbgr&&(r.lineColorAbgr=e.lineColorAbgr>>>0),void 0!==e.lineWidth&&null!==e.lineWidth&&(r.lineWidth=Number(e.lineWidth)),void 0!==e.labelColorAbgr&&null!==e.labelColorAbgr&&(r.labelColorAbgr=e.labelColorAbgr>>>0),void 0!==e.labelScale&&null!==e.labelScale&&(r.labelScale=Number(e.labelScale)),void 0!==e.placemarkIconColorAbgr&&null!==e.placemarkIconColorAbgr&&(r.placemarkIconColorAbgr=e.placemarkIconColorAbgr>>>0),void 0!==e.placemarkIconScale&&null!==e.placemarkIconScale&&(r.placemarkIconScale=Number(e.placemarkIconScale)),void 0!==e.placemarkIconPath&&null!==e.placemarkIconPath){if("object"!=typeof e.placemarkIconPath)throw TypeError(".keyhole.dbroot.StyleAttributeProto.placemarkIconPath: object expected");r.placemarkIconPath=n[9].fromObject(e.placemarkIconPath)}if(void 0!==e.placemarkIconX&&null!==e.placemarkIconX&&(r.placemarkIconX=0|e.placemarkIconX),void 0!==e.placemarkIconY&&null!==e.placemarkIconY&&(r.placemarkIconY=0|e.placemarkIconY),void 0!==e.placemarkIconWidth&&null!==e.placemarkIconWidth&&(r.placemarkIconWidth=0|e.placemarkIconWidth),void 0!==e.placemarkIconHeight&&null!==e.placemarkIconHeight&&(r.placemarkIconHeight=0|e.placemarkIconHeight),void 0!==e.popUp&&null!==e.popUp){if("object"!=typeof e.popUp)throw TypeError(".keyhole.dbroot.StyleAttributeProto.popUp: object expected");r.popUp=n[14].fromObject(e.popUp)}if(e.drawFlag){if(!Array.isArray(e.drawFlag))throw TypeError(".keyhole.dbroot.StyleAttributeProto.drawFlag: array expected");r.drawFlag=[];for(var t=0;t<e.drawFlag.length;++t){if("object"!=typeof e.drawFlag[t])throw TypeError(".keyhole.dbroot.StyleAttributeProto.drawFlag: object expected");r.drawFlag[t]=n[15].fromObject(e.drawFlag[t])}}return r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.drawFlag=[]),r.defaults&&(t.styleId="",t.providerId=0,t.polyColorAbgr=4294967295,t.lineColorAbgr=4294967295,t.lineWidth=1,t.labelColorAbgr=4294967295,t.labelScale=1,t.placemarkIconColorAbgr=4294967295,t.placemarkIconScale=1,t.placemarkIconPath=null,t.placemarkIconX=0,t.placemarkIconY=0,t.placemarkIconWidth=32,t.placemarkIconHeight=32,t.popUp=null),void 0!==e.styleId&&null!==e.styleId&&e.hasOwnProperty("styleId")&&(t.styleId=e.styleId),void 0!==e.providerId&&null!==e.providerId&&e.hasOwnProperty("providerId")&&(t.providerId=e.providerId),void 0!==e.polyColorAbgr&&null!==e.polyColorAbgr&&e.hasOwnProperty("polyColorAbgr")&&(t.polyColorAbgr=e.polyColorAbgr),void 0!==e.lineColorAbgr&&null!==e.lineColorAbgr&&e.hasOwnProperty("lineColorAbgr")&&(t.lineColorAbgr=e.lineColorAbgr),void 0!==e.lineWidth&&null!==e.lineWidth&&e.hasOwnProperty("lineWidth")&&(t.lineWidth=e.lineWidth),void 0!==e.labelColorAbgr&&null!==e.labelColorAbgr&&e.hasOwnProperty("labelColorAbgr")&&(t.labelColorAbgr=e.labelColorAbgr),void 0!==e.labelScale&&null!==e.labelScale&&e.hasOwnProperty("labelScale")&&(t.labelScale=e.labelScale),void 0!==e.placemarkIconColorAbgr&&null!==e.placemarkIconColorAbgr&&e.hasOwnProperty("placemarkIconColorAbgr")&&(t.placemarkIconColorAbgr=e.placemarkIconColorAbgr),void 0!==e.placemarkIconScale&&null!==e.placemarkIconScale&&e.hasOwnProperty("placemarkIconScale")&&(t.placemarkIconScale=e.placemarkIconScale),void 0!==e.placemarkIconPath&&null!==e.placemarkIconPath&&e.hasOwnProperty("placemarkIconPath")&&(t.placemarkIconPath=n[9].toObject(e.placemarkIconPath,r)),void 0!==e.placemarkIconX&&null!==e.placemarkIconX&&e.hasOwnProperty("placemarkIconX")&&(t.placemarkIconX=e.placemarkIconX),void 0!==e.placemarkIconY&&null!==e.placemarkIconY&&e.hasOwnProperty("placemarkIconY")&&(t.placemarkIconY=e.placemarkIconY),void 0!==e.placemarkIconWidth&&null!==e.placemarkIconWidth&&e.hasOwnProperty("placemarkIconWidth")&&(t.placemarkIconWidth=e.placemarkIconWidth),void 0!==e.placemarkIconHeight&&null!==e.placemarkIconHeight&&e.hasOwnProperty("placemarkIconHeight")&&(t.placemarkIconHeight=e.placemarkIconHeight),void 0!==e.popUp&&null!==e.popUp&&e.hasOwnProperty("popUp")&&(t.popUp=n[14].toObject(e.popUp,r)),void 0!==e.drawFlag&&null!==e.drawFlag&&e.hasOwnProperty("drawFlag")){t.drawFlag=[];for(var o=0;o<e.drawFlag.length;++o)t.drawFlag[o]=n[15].toObject(e.drawFlag[o],r)}return t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.StyleMapProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.styleMapId=0,e.prototype.channelId=l.emptyArray,e.prototype.normalStyleAttribute=0,e.prototype.highlightStyleAttribute=0,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.StyleMapProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.styleMapId=e.int32();break;case 2:if(o.channelId&&o.channelId.length||(o.channelId=[]),2==(7&a))for(var n=e.uint32()+e.pos;e.pos<n;)o.channelId.push(e.int32());else o.channelId.push(e.int32());break;case 3:o.normalStyleAttribute=e.int32();break;case 4:o.highlightStyleAttribute=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!l.isInteger(e.styleMapId))return"styleMapId: integer expected";if(void 0!==e.channelId){if(!Array.isArray(e.channelId))return"channelId: array expected";for(var r=0;r<e.channelId.length;++r)if(!l.isInteger(e.channelId[r]))return"channelId: integer[] expected"}return void 0===e.normalStyleAttribute||l.isInteger(e.normalStyleAttribute)?void 0===e.highlightStyleAttribute||l.isInteger(e.highlightStyleAttribute)?null:"highlightStyleAttribute: integer expected":"normalStyleAttribute: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.StyleMapProto)return e;var r=new p.keyhole.dbroot.StyleMapProto;if(void 0!==e.styleMapId&&null!==e.styleMapId&&(r.styleMapId=0|e.styleMapId),e.channelId){if(!Array.isArray(e.channelId))throw TypeError(".keyhole.dbroot.StyleMapProto.channelId: array expected");r.channelId=[];for(var t=0;t<e.channelId.length;++t)r.channelId[t]=0|e.channelId[t]}return void 0!==e.normalStyleAttribute&&null!==e.normalStyleAttribute&&(r.normalStyleAttribute=0|e.normalStyleAttribute),void 0!==e.highlightStyleAttribute&&null!==e.highlightStyleAttribute&&(r.highlightStyleAttribute=0|e.highlightStyleAttribute),r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.channelId=[]),r.defaults&&(t.styleMapId=0,t.normalStyleAttribute=0,t.highlightStyleAttribute=0),void 0!==e.styleMapId&&null!==e.styleMapId&&e.hasOwnProperty("styleMapId")&&(t.styleMapId=e.styleMapId),void 0!==e.channelId&&null!==e.channelId&&e.hasOwnProperty("channelId")){t.channelId=[];for(var o=0;o<e.channelId.length;++o)t.channelId[o]=e.channelId[o]}return void 0!==e.normalStyleAttribute&&null!==e.normalStyleAttribute&&e.hasOwnProperty("normalStyleAttribute")&&(t.normalStyleAttribute=e.normalStyleAttribute),void 0!==e.highlightStyleAttribute&&null!==e.highlightStyleAttribute&&e.hasOwnProperty("highlightStyleAttribute")&&(t.highlightStyleAttribute=e.highlightStyleAttribute),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.ZoomRangeProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.minZoom=0,e.prototype.maxZoom=0,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.ZoomRangeProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.minZoom=e.int32();break;case 2:o.maxZoom=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":l.isInteger(e.minZoom)?l.isInteger(e.maxZoom)?null:"maxZoom: integer expected":"minZoom: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.ZoomRangeProto)return e;var r=new p.keyhole.dbroot.ZoomRangeProto;return void 0!==e.minZoom&&null!==e.minZoom&&(r.minZoom=0|e.minZoom),void 0!==e.maxZoom&&null!==e.maxZoom&&(r.maxZoom=0|e.maxZoom),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.minZoom=0,t.maxZoom=0),void 0!==e.minZoom&&null!==e.minZoom&&e.hasOwnProperty("minZoom")&&(t.minZoom=e.minZoom),void 0!==e.maxZoom&&null!==e.maxZoom&&e.hasOwnProperty("maxZoom")&&(t.maxZoom=e.maxZoom),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.DrawFlagProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.drawFlagType=1;var r,o={0:"keyhole.dbroot.DrawFlagProto.DrawFlagType"};return s.push(o),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.DrawFlagProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.drawFlagType=e.uint32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";switch(e.drawFlagType){default:return"drawFlagType: enum value expected";case 1:case 2:case 3:case 4:case 5:}return null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.DrawFlagProto)return e;var r=new p.keyhole.dbroot.DrawFlagProto;switch(e.drawFlagType){case"TYPE_FILL_ONLY":case 1:r.drawFlagType=1;break;case"TYPE_OUTLINE_ONLY":case 2:r.drawFlagType=2;break;case"TYPE_FILL_AND_OUTLINE":case 3:r.drawFlagType=3;break;case"TYPE_ANTIALIASING":case 4:r.drawFlagType=4;break;case"TYPE_CENTER_LABEL":case 5:r.drawFlagType=5}return r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.drawFlagType=r.enums===String?"TYPE_FILL_ONLY":1),void 0!==e.drawFlagType&&null!==e.drawFlagType&&e.hasOwnProperty("drawFlagType")&&(t.drawFlagType=r.enums===String?o[0][e.drawFlagType]:e.drawFlagType),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.DrawFlagType=((r=Object.create({})).TYPE_FILL_ONLY=1,r.TYPE_OUTLINE_ONLY=2,r.TYPE_FILL_AND_OUTLINE=3,r.TYPE_ANTIALIASING=4,r.TYPE_CENTER_LABEL=5,r),e}(),e.LayerProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.zoomRange=l.emptyArray,e.prototype.preserveTextLevel=30,e.prototype.lodBeginTransition=!1,e.prototype.lodEndTransition=!1;var n={0:"keyhole.dbroot.ZoomRangeProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.LayerProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.zoomRange&&o.zoomRange.length||(o.zoomRange=[]),o.zoomRange.push(n[0].decode(e,e.uint32()));break;case 2:o.preserveTextLevel=e.int32();break;case 4:o.lodBeginTransition=e.bool();break;case 5:o.lodEndTransition=e.bool();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.zoomRange){if(!Array.isArray(e.zoomRange))return"zoomRange: array expected";for(var r=0;r<e.zoomRange.length;++r){var t=n[0].verify(e.zoomRange[r]);if(t)return"zoomRange."+t}}return void 0===e.preserveTextLevel||l.isInteger(e.preserveTextLevel)?void 0!==e.lodBeginTransition&&"boolean"!=typeof e.lodBeginTransition?"lodBeginTransition: boolean expected":void 0!==e.lodEndTransition&&"boolean"!=typeof e.lodEndTransition?"lodEndTransition: boolean expected":null:"preserveTextLevel: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.LayerProto)return e;var r=new p.keyhole.dbroot.LayerProto;if(e.zoomRange){if(!Array.isArray(e.zoomRange))throw TypeError(".keyhole.dbroot.LayerProto.zoomRange: array expected");r.zoomRange=[];for(var t=0;t<e.zoomRange.length;++t){if("object"!=typeof e.zoomRange[t])throw TypeError(".keyhole.dbroot.LayerProto.zoomRange: object expected");r.zoomRange[t]=n[0].fromObject(e.zoomRange[t])}}return void 0!==e.preserveTextLevel&&null!==e.preserveTextLevel&&(r.preserveTextLevel=0|e.preserveTextLevel),void 0!==e.lodBeginTransition&&null!==e.lodBeginTransition&&(r.lodBeginTransition=Boolean(e.lodBeginTransition)),void 0!==e.lodEndTransition&&null!==e.lodEndTransition&&(r.lodEndTransition=Boolean(e.lodEndTransition)),r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.zoomRange=[]),r.defaults&&(t.preserveTextLevel=30,t.lodBeginTransition=!1,t.lodEndTransition=!1),void 0!==e.zoomRange&&null!==e.zoomRange&&e.hasOwnProperty("zoomRange")){t.zoomRange=[];for(var o=0;o<e.zoomRange.length;++o)t.zoomRange[o]=n[0].toObject(e.zoomRange[o],r)}return void 0!==e.preserveTextLevel&&null!==e.preserveTextLevel&&e.hasOwnProperty("preserveTextLevel")&&(t.preserveTextLevel=e.preserveTextLevel),void 0!==e.lodBeginTransition&&null!==e.lodBeginTransition&&e.hasOwnProperty("lodBeginTransition")&&(t.lodBeginTransition=e.lodBeginTransition),void 0!==e.lodEndTransition&&null!==e.lodEndTransition&&e.hasOwnProperty("lodEndTransition")&&(t.lodEndTransition=e.lodEndTransition),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.FolderProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.isExpandable=!0,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.FolderProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.isExpandable=e.bool();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.isExpandable&&"boolean"!=typeof e.isExpandable?"isExpandable: boolean expected":null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.FolderProto)return e;var r=new p.keyhole.dbroot.FolderProto;return void 0!==e.isExpandable&&null!==e.isExpandable&&(r.isExpandable=Boolean(e.isExpandable)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.isExpandable=!0),void 0!==e.isExpandable&&null!==e.isExpandable&&e.hasOwnProperty("isExpandable")&&(t.isExpandable=e.isExpandable),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.RequirementProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.requiredVram="",e.prototype.requiredClientVer="",e.prototype.probability="",e.prototype.requiredUserAgent="",e.prototype.requiredClientCapabilities="",e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.RequirementProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 3:o.requiredVram=e.string();break;case 4:o.requiredClientVer=e.string();break;case 5:o.probability=e.string();break;case 6:o.requiredUserAgent=e.string();break;case 7:o.requiredClientCapabilities=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.requiredVram||l.isString(e.requiredVram)?void 0===e.requiredClientVer||l.isString(e.requiredClientVer)?void 0===e.probability||l.isString(e.probability)?void 0===e.requiredUserAgent||l.isString(e.requiredUserAgent)?void 0===e.requiredClientCapabilities||l.isString(e.requiredClientCapabilities)?null:"requiredClientCapabilities: string expected":"requiredUserAgent: string expected":"probability: string expected":"requiredClientVer: string expected":"requiredVram: string expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.RequirementProto)return e;var r=new p.keyhole.dbroot.RequirementProto;return void 0!==e.requiredVram&&null!==e.requiredVram&&(r.requiredVram=String(e.requiredVram)),void 0!==e.requiredClientVer&&null!==e.requiredClientVer&&(r.requiredClientVer=String(e.requiredClientVer)),void 0!==e.probability&&null!==e.probability&&(r.probability=String(e.probability)),void 0!==e.requiredUserAgent&&null!==e.requiredUserAgent&&(r.requiredUserAgent=String(e.requiredUserAgent)),void 0!==e.requiredClientCapabilities&&null!==e.requiredClientCapabilities&&(r.requiredClientCapabilities=String(e.requiredClientCapabilities)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.requiredVram="",t.requiredClientVer="",t.probability="",t.requiredUserAgent="",t.requiredClientCapabilities=""),void 0!==e.requiredVram&&null!==e.requiredVram&&e.hasOwnProperty("requiredVram")&&(t.requiredVram=e.requiredVram),void 0!==e.requiredClientVer&&null!==e.requiredClientVer&&e.hasOwnProperty("requiredClientVer")&&(t.requiredClientVer=e.requiredClientVer),void 0!==e.probability&&null!==e.probability&&e.hasOwnProperty("probability")&&(t.probability=e.probability),void 0!==e.requiredUserAgent&&null!==e.requiredUserAgent&&e.hasOwnProperty("requiredUserAgent")&&(t.requiredUserAgent=e.requiredUserAgent),void 0!==e.requiredClientCapabilities&&null!==e.requiredClientCapabilities&&e.hasOwnProperty("requiredClientCapabilities")&&(t.requiredClientCapabilities=e.requiredClientCapabilities),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.LookAtProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.longitude=0,e.prototype.latitude=0,e.prototype.range=0,e.prototype.tilt=0,e.prototype.heading=0,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.LookAtProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.longitude=e.float();break;case 2:o.latitude=e.float();break;case 3:o.range=e.float();break;case 4:o.tilt=e.float();break;case 5:o.heading=e.float();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":"number"!=typeof e.longitude?"longitude: number expected":"number"!=typeof e.latitude?"latitude: number expected":void 0!==e.range&&"number"!=typeof e.range?"range: number expected":void 0!==e.tilt&&"number"!=typeof e.tilt?"tilt: number expected":void 0!==e.heading&&"number"!=typeof e.heading?"heading: number expected":null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.LookAtProto)return e;var r=new p.keyhole.dbroot.LookAtProto;return void 0!==e.longitude&&null!==e.longitude&&(r.longitude=Number(e.longitude)),void 0!==e.latitude&&null!==e.latitude&&(r.latitude=Number(e.latitude)),void 0!==e.range&&null!==e.range&&(r.range=Number(e.range)),void 0!==e.tilt&&null!==e.tilt&&(r.tilt=Number(e.tilt)),void 0!==e.heading&&null!==e.heading&&(r.heading=Number(e.heading)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.longitude=0,t.latitude=0,t.range=0,t.tilt=0,t.heading=0),void 0!==e.longitude&&null!==e.longitude&&e.hasOwnProperty("longitude")&&(t.longitude=e.longitude),void 0!==e.latitude&&null!==e.latitude&&e.hasOwnProperty("latitude")&&(t.latitude=e.latitude),void 0!==e.range&&null!==e.range&&e.hasOwnProperty("range")&&(t.range=e.range),void 0!==e.tilt&&null!==e.tilt&&e.hasOwnProperty("tilt")&&(t.tilt=e.tilt),void 0!==e.heading&&null!==e.heading&&e.hasOwnProperty("heading")&&(t.heading=e.heading),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.NestedFeatureProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.featureType=1,e.prototype.kmlUrl=null,e.prototype.databaseUrl="",e.prototype.layer=null,e.prototype.folder=null,e.prototype.requirement=null,e.prototype.channelId=0,e.prototype.displayName=null,e.prototype.isVisible=!0,e.prototype.isEnabled=!0,e.prototype.isChecked=!1,e.prototype.layerMenuIconPath="icons/773_l.png",e.prototype.description=null,e.prototype.lookAt=null,e.prototype.assetUuid="",e.prototype.isSaveLocked=!0,e.prototype.children=l.emptyArray,e.prototype.clientConfigScriptName="",e.prototype.dioramaDataChannelBase=-1,e.prototype.replicaDataChannelBase=-1;var r,n={0:"keyhole.dbroot.NestedFeatureProto.FeatureType",1:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.LayerProto",4:"keyhole.dbroot.FolderProto",5:"keyhole.dbroot.RequirementProto",7:"keyhole.dbroot.StringIdOrValueProto",12:"keyhole.dbroot.StringIdOrValueProto",13:"keyhole.dbroot.LookAtProto",16:"keyhole.dbroot.NestedFeatureProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.NestedFeatureProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.featureType=e.uint32();break;case 2:o.kmlUrl=n[1].decode(e,e.uint32());break;case 21:o.databaseUrl=e.string();break;case 3:o.layer=n[3].decode(e,e.uint32());break;case 4:o.folder=n[4].decode(e,e.uint32());break;case 5:o.requirement=n[5].decode(e,e.uint32());break;case 6:o.channelId=e.int32();break;case 7:o.displayName=n[7].decode(e,e.uint32());break;case 8:o.isVisible=e.bool();break;case 9:o.isEnabled=e.bool();break;case 10:o.isChecked=e.bool();break;case 11:o.layerMenuIconPath=e.string();break;case 12:o.description=n[12].decode(e,e.uint32());break;case 13:o.lookAt=n[13].decode(e,e.uint32());break;case 15:o.assetUuid=e.string();break;case 16:o.isSaveLocked=e.bool();break;case 17:o.children&&o.children.length||(o.children=[]),o.children.push(n[16].decode(e,e.uint32()));break;case 18:o.clientConfigScriptName=e.string();break;case 19:o.dioramaDataChannelBase=e.int32();break;case 20:o.replicaDataChannelBase=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.featureType)switch(e.featureType){default:return"featureType: enum value expected";case 1:case 2:case 3:case 4:}if(void 0!==e.kmlUrl&&null!==e.kmlUrl&&(t=n[1].verify(e.kmlUrl)))return"kmlUrl."+t;if(void 0!==e.databaseUrl&&!l.isString(e.databaseUrl))return"databaseUrl: string expected";if(void 0!==e.layer&&null!==e.layer&&(t=n[3].verify(e.layer)))return"layer."+t;if(void 0!==e.folder&&null!==e.folder&&(t=n[4].verify(e.folder)))return"folder."+t;if(void 0!==e.requirement&&null!==e.requirement&&(t=n[5].verify(e.requirement)))return"requirement."+t;if(!l.isInteger(e.channelId))return"channelId: integer expected";if(void 0!==e.displayName&&null!==e.displayName&&(t=n[7].verify(e.displayName)))return"displayName."+t;if(void 0!==e.isVisible&&"boolean"!=typeof e.isVisible)return"isVisible: boolean expected";if(void 0!==e.isEnabled&&"boolean"!=typeof e.isEnabled)return"isEnabled: boolean expected";if(void 0!==e.isChecked&&"boolean"!=typeof e.isChecked)return"isChecked: boolean expected";if(void 0!==e.layerMenuIconPath&&!l.isString(e.layerMenuIconPath))return"layerMenuIconPath: string expected";if(void 0!==e.description&&null!==e.description&&(t=n[12].verify(e.description)))return"description."+t;if(void 0!==e.lookAt&&null!==e.lookAt&&(t=n[13].verify(e.lookAt)))return"lookAt."+t;if(void 0!==e.assetUuid&&!l.isString(e.assetUuid))return"assetUuid: string expected";if(void 0!==e.isSaveLocked&&"boolean"!=typeof e.isSaveLocked)return"isSaveLocked: boolean expected";if(void 0!==e.children){if(!Array.isArray(e.children))return"children: array expected";for(var r=0;r<e.children.length;++r){var t;if(t=n[16].verify(e.children[r]))return"children."+t}}return void 0===e.clientConfigScriptName||l.isString(e.clientConfigScriptName)?void 0===e.dioramaDataChannelBase||l.isInteger(e.dioramaDataChannelBase)?void 0===e.replicaDataChannelBase||l.isInteger(e.replicaDataChannelBase)?null:"replicaDataChannelBase: integer expected":"dioramaDataChannelBase: integer expected":"clientConfigScriptName: string expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.NestedFeatureProto)return e;var r=new p.keyhole.dbroot.NestedFeatureProto;switch(e.featureType){case"TYPE_POINT_Z":case 1:r.featureType=1;break;case"TYPE_POLYGON_Z":case 2:r.featureType=2;break;case"TYPE_LINE_Z":case 3:r.featureType=3;break;case"TYPE_TERRAIN":case 4:r.featureType=4}if(void 0!==e.kmlUrl&&null!==e.kmlUrl){if("object"!=typeof e.kmlUrl)throw TypeError(".keyhole.dbroot.NestedFeatureProto.kmlUrl: object expected");r.kmlUrl=n[1].fromObject(e.kmlUrl)}if(void 0!==e.databaseUrl&&null!==e.databaseUrl&&(r.databaseUrl=String(e.databaseUrl)),void 0!==e.layer&&null!==e.layer){if("object"!=typeof e.layer)throw TypeError(".keyhole.dbroot.NestedFeatureProto.layer: object expected");r.layer=n[3].fromObject(e.layer)}if(void 0!==e.folder&&null!==e.folder){if("object"!=typeof e.folder)throw TypeError(".keyhole.dbroot.NestedFeatureProto.folder: object expected");r.folder=n[4].fromObject(e.folder)}if(void 0!==e.requirement&&null!==e.requirement){if("object"!=typeof e.requirement)throw TypeError(".keyhole.dbroot.NestedFeatureProto.requirement: object expected");r.requirement=n[5].fromObject(e.requirement)}if(void 0!==e.channelId&&null!==e.channelId&&(r.channelId=0|e.channelId),void 0!==e.displayName&&null!==e.displayName){if("object"!=typeof e.displayName)throw TypeError(".keyhole.dbroot.NestedFeatureProto.displayName: object expected");r.displayName=n[7].fromObject(e.displayName)}if(void 0!==e.isVisible&&null!==e.isVisible&&(r.isVisible=Boolean(e.isVisible)),void 0!==e.isEnabled&&null!==e.isEnabled&&(r.isEnabled=Boolean(e.isEnabled)),void 0!==e.isChecked&&null!==e.isChecked&&(r.isChecked=Boolean(e.isChecked)),void 0!==e.layerMenuIconPath&&null!==e.layerMenuIconPath&&(r.layerMenuIconPath=String(e.layerMenuIconPath)),void 0!==e.description&&null!==e.description){if("object"!=typeof e.description)throw TypeError(".keyhole.dbroot.NestedFeatureProto.description: object expected");r.description=n[12].fromObject(e.description)}if(void 0!==e.lookAt&&null!==e.lookAt){if("object"!=typeof e.lookAt)throw TypeError(".keyhole.dbroot.NestedFeatureProto.lookAt: object expected");r.lookAt=n[13].fromObject(e.lookAt)}if(void 0!==e.assetUuid&&null!==e.assetUuid&&(r.assetUuid=String(e.assetUuid)),void 0!==e.isSaveLocked&&null!==e.isSaveLocked&&(r.isSaveLocked=Boolean(e.isSaveLocked)),e.children){if(!Array.isArray(e.children))throw TypeError(".keyhole.dbroot.NestedFeatureProto.children: array expected");r.children=[];for(var t=0;t<e.children.length;++t){if("object"!=typeof e.children[t])throw TypeError(".keyhole.dbroot.NestedFeatureProto.children: object expected");r.children[t]=n[16].fromObject(e.children[t])}}return void 0!==e.clientConfigScriptName&&null!==e.clientConfigScriptName&&(r.clientConfigScriptName=String(e.clientConfigScriptName)),void 0!==e.dioramaDataChannelBase&&null!==e.dioramaDataChannelBase&&(r.dioramaDataChannelBase=0|e.dioramaDataChannelBase),void 0!==e.replicaDataChannelBase&&null!==e.replicaDataChannelBase&&(r.replicaDataChannelBase=0|e.replicaDataChannelBase),r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.children=[]),r.defaults&&(t.featureType=r.enums===String?"TYPE_POINT_Z":1,t.kmlUrl=null,t.databaseUrl="",t.layer=null,t.folder=null,t.requirement=null,t.channelId=0,t.displayName=null,t.isVisible=!0,t.isEnabled=!0,t.isChecked=!1,t.layerMenuIconPath="icons/773_l.png",t.description=null,t.lookAt=null,t.assetUuid="",t.isSaveLocked=!0,t.clientConfigScriptName="",t.dioramaDataChannelBase=-1,t.replicaDataChannelBase=-1),void 0!==e.featureType&&null!==e.featureType&&e.hasOwnProperty("featureType")&&(t.featureType=r.enums===String?n[0][e.featureType]:e.featureType),void 0!==e.kmlUrl&&null!==e.kmlUrl&&e.hasOwnProperty("kmlUrl")&&(t.kmlUrl=n[1].toObject(e.kmlUrl,r)),void 0!==e.databaseUrl&&null!==e.databaseUrl&&e.hasOwnProperty("databaseUrl")&&(t.databaseUrl=e.databaseUrl),void 0!==e.layer&&null!==e.layer&&e.hasOwnProperty("layer")&&(t.layer=n[3].toObject(e.layer,r)),void 0!==e.folder&&null!==e.folder&&e.hasOwnProperty("folder")&&(t.folder=n[4].toObject(e.folder,r)),void 0!==e.requirement&&null!==e.requirement&&e.hasOwnProperty("requirement")&&(t.requirement=n[5].toObject(e.requirement,r)),void 0!==e.channelId&&null!==e.channelId&&e.hasOwnProperty("channelId")&&(t.channelId=e.channelId),void 0!==e.displayName&&null!==e.displayName&&e.hasOwnProperty("displayName")&&(t.displayName=n[7].toObject(e.displayName,r)),void 0!==e.isVisible&&null!==e.isVisible&&e.hasOwnProperty("isVisible")&&(t.isVisible=e.isVisible),void 0!==e.isEnabled&&null!==e.isEnabled&&e.hasOwnProperty("isEnabled")&&(t.isEnabled=e.isEnabled),void 0!==e.isChecked&&null!==e.isChecked&&e.hasOwnProperty("isChecked")&&(t.isChecked=e.isChecked),void 0!==e.layerMenuIconPath&&null!==e.layerMenuIconPath&&e.hasOwnProperty("layerMenuIconPath")&&(t.layerMenuIconPath=e.layerMenuIconPath),void 0!==e.description&&null!==e.description&&e.hasOwnProperty("description")&&(t.description=n[12].toObject(e.description,r)),void 0!==e.lookAt&&null!==e.lookAt&&e.hasOwnProperty("lookAt")&&(t.lookAt=n[13].toObject(e.lookAt,r)),void 0!==e.assetUuid&&null!==e.assetUuid&&e.hasOwnProperty("assetUuid")&&(t.assetUuid=e.assetUuid),void 0!==e.isSaveLocked&&null!==e.isSaveLocked&&e.hasOwnProperty("isSaveLocked")&&(t.isSaveLocked=e.isSaveLocked),void 0!==e.children&&null!==e.children&&e.hasOwnProperty("children")){t.children=[];for(var o=0;o<e.children.length;++o)t.children[o]=n[16].toObject(e.children[o],r)}return void 0!==e.clientConfigScriptName&&null!==e.clientConfigScriptName&&e.hasOwnProperty("clientConfigScriptName")&&(t.clientConfigScriptName=e.clientConfigScriptName),void 0!==e.dioramaDataChannelBase&&null!==e.dioramaDataChannelBase&&e.hasOwnProperty("dioramaDataChannelBase")&&(t.dioramaDataChannelBase=e.dioramaDataChannelBase),void 0!==e.replicaDataChannelBase&&null!==e.replicaDataChannelBase&&e.hasOwnProperty("replicaDataChannelBase")&&(t.replicaDataChannelBase=e.replicaDataChannelBase),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.FeatureType=((r=Object.create({})).TYPE_POINT_Z=1,r.TYPE_POLYGON_Z=2,r.TYPE_LINE_Z=3,r.TYPE_TERRAIN=4,r),e}(),e.MfeDomainFeaturesProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.countryCode="",e.prototype.domainName="",e.prototype.supportedFeatures=l.emptyArray;var r,a={2:"keyhole.dbroot.MfeDomainFeaturesProto.SupportedFeature"};return s.push(a),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.MfeDomainFeaturesProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.countryCode=e.string();break;case 2:o.domainName=e.string();break;case 3:if(o.supportedFeatures&&o.supportedFeatures.length||(o.supportedFeatures=[]),2==(7&a))for(var n=e.uint32()+e.pos;e.pos<n;)o.supportedFeatures.push(e.uint32());else o.supportedFeatures.push(e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!l.isString(e.countryCode))return"countryCode: string expected";if(!l.isString(e.domainName))return"domainName: string expected";if(void 0!==e.supportedFeatures){if(!Array.isArray(e.supportedFeatures))return"supportedFeatures: array expected";for(var r=0;r<e.supportedFeatures.length;++r)switch(e.supportedFeatures[r]){default:return"supportedFeatures: enum value[] expected";case 0:case 1:case 2:}}return null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.MfeDomainFeaturesProto)return e;var r=new p.keyhole.dbroot.MfeDomainFeaturesProto;if(void 0!==e.countryCode&&null!==e.countryCode&&(r.countryCode=String(e.countryCode)),void 0!==e.domainName&&null!==e.domainName&&(r.domainName=String(e.domainName)),e.supportedFeatures){if(!Array.isArray(e.supportedFeatures))throw TypeError(".keyhole.dbroot.MfeDomainFeaturesProto.supportedFeatures: array expected");r.supportedFeatures=[];for(var t=0;t<e.supportedFeatures.length;++t)switch(e.supportedFeatures[t]){default:case"GEOCODING":case 0:r.supportedFeatures[t]=0;break;case"LOCAL_SEARCH":case 1:r.supportedFeatures[t]=1;break;case"DRIVING_DIRECTIONS":case 2:r.supportedFeatures[t]=2}}return r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.supportedFeatures=[]),r.defaults&&(t.countryCode="",t.domainName=""),void 0!==e.countryCode&&null!==e.countryCode&&e.hasOwnProperty("countryCode")&&(t.countryCode=e.countryCode),void 0!==e.domainName&&null!==e.domainName&&e.hasOwnProperty("domainName")&&(t.domainName=e.domainName),void 0!==e.supportedFeatures&&null!==e.supportedFeatures&&e.hasOwnProperty("supportedFeatures")){t.supportedFeatures=[];for(var o=0;o<e.supportedFeatures.length;++o)t.supportedFeatures[o]=r.enums===String?a[2][e.supportedFeatures[o]]:e.supportedFeatures[o]}return t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.SupportedFeature=((r=Object.create({})).GEOCODING=0,r.LOCAL_SEARCH=1,r.DRIVING_DIRECTIONS=2,r),e}(),e.ClientOptionsProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.disableDiskCache=!1,e.prototype.disableEmbeddedBrowserVista=!1,e.prototype.drawAtmosphere=!0,e.prototype.drawStars=!0,e.prototype.shaderFilePrefix="",e.prototype.useProtobufQuadtreePackets=!1,e.prototype.useExtendedCopyrightIds=!0,e.prototype.precipitationsOptions=null,e.prototype.captureOptions=null,e.prototype.show_2dMapsIcon=!0,e.prototype.disableInternalBrowser=!1,e.prototype.internalBrowserBlacklist="",e.prototype.internalBrowserOriginWhitelist="*",e.prototype.polarTileMergingLevel=0,e.prototype.jsBridgeRequestWhitelist="http://*.google.com/*",e.prototype.mapsOptions=null;var n={7:"keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions",8:"keyhole.dbroot.ClientOptionsProto.CaptureOptions",15:"keyhole.dbroot.ClientOptionsProto.MapsOptions"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.ClientOptionsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.disableDiskCache=e.bool();break;case 2:o.disableEmbeddedBrowserVista=e.bool();break;case 3:o.drawAtmosphere=e.bool();break;case 4:o.drawStars=e.bool();break;case 5:o.shaderFilePrefix=e.string();break;case 6:o.useProtobufQuadtreePackets=e.bool();break;case 7:o.useExtendedCopyrightIds=e.bool();break;case 8:o.precipitationsOptions=n[7].decode(e,e.uint32());break;case 9:o.captureOptions=n[8].decode(e,e.uint32());break;case 10:o.show_2dMapsIcon=e.bool();break;case 11:o.disableInternalBrowser=e.bool();break;case 12:o.internalBrowserBlacklist=e.string();break;case 13:o.internalBrowserOriginWhitelist=e.string();break;case 14:o.polarTileMergingLevel=e.int32();break;case 15:o.jsBridgeRequestWhitelist=e.string();break;case 16:o.mapsOptions=n[15].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.disableDiskCache&&"boolean"!=typeof e.disableDiskCache?"disableDiskCache: boolean expected":void 0!==e.disableEmbeddedBrowserVista&&"boolean"!=typeof e.disableEmbeddedBrowserVista?"disableEmbeddedBrowserVista: boolean expected":void 0!==e.drawAtmosphere&&"boolean"!=typeof e.drawAtmosphere?"drawAtmosphere: boolean expected":void 0!==e.drawStars&&"boolean"!=typeof e.drawStars?"drawStars: boolean expected":void 0===e.shaderFilePrefix||l.isString(e.shaderFilePrefix)?void 0!==e.useProtobufQuadtreePackets&&"boolean"!=typeof e.useProtobufQuadtreePackets?"useProtobufQuadtreePackets: boolean expected":void 0!==e.useExtendedCopyrightIds&&"boolean"!=typeof e.useExtendedCopyrightIds?"useExtendedCopyrightIds: boolean expected":void 0!==e.precipitationsOptions&&null!==e.precipitationsOptions&&(r=n[7].verify(e.precipitationsOptions))?"precipitationsOptions."+r:void 0!==e.captureOptions&&null!==e.captureOptions&&(r=n[8].verify(e.captureOptions))?"captureOptions."+r:void 0!==e.show_2dMapsIcon&&"boolean"!=typeof e.show_2dMapsIcon?"show_2dMapsIcon: boolean expected":void 0!==e.disableInternalBrowser&&"boolean"!=typeof e.disableInternalBrowser?"disableInternalBrowser: boolean expected":void 0===e.internalBrowserBlacklist||l.isString(e.internalBrowserBlacklist)?void 0===e.internalBrowserOriginWhitelist||l.isString(e.internalBrowserOriginWhitelist)?void 0===e.polarTileMergingLevel||l.isInteger(e.polarTileMergingLevel)?void 0===e.jsBridgeRequestWhitelist||l.isString(e.jsBridgeRequestWhitelist)?void 0!==e.mapsOptions&&null!==e.mapsOptions&&(r=n[15].verify(e.mapsOptions))?"mapsOptions."+r:null:"jsBridgeRequestWhitelist: string expected":"polarTileMergingLevel: integer expected":"internalBrowserOriginWhitelist: string expected":"internalBrowserBlacklist: string expected":"shaderFilePrefix: string expected";var r},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.ClientOptionsProto)return e;var r=new p.keyhole.dbroot.ClientOptionsProto;if(void 0!==e.disableDiskCache&&null!==e.disableDiskCache&&(r.disableDiskCache=Boolean(e.disableDiskCache)),void 0!==e.disableEmbeddedBrowserVista&&null!==e.disableEmbeddedBrowserVista&&(r.disableEmbeddedBrowserVista=Boolean(e.disableEmbeddedBrowserVista)),void 0!==e.drawAtmosphere&&null!==e.drawAtmosphere&&(r.drawAtmosphere=Boolean(e.drawAtmosphere)),void 0!==e.drawStars&&null!==e.drawStars&&(r.drawStars=Boolean(e.drawStars)),void 0!==e.shaderFilePrefix&&null!==e.shaderFilePrefix&&(r.shaderFilePrefix=String(e.shaderFilePrefix)),void 0!==e.useProtobufQuadtreePackets&&null!==e.useProtobufQuadtreePackets&&(r.useProtobufQuadtreePackets=Boolean(e.useProtobufQuadtreePackets)),void 0!==e.useExtendedCopyrightIds&&null!==e.useExtendedCopyrightIds&&(r.useExtendedCopyrightIds=Boolean(e.useExtendedCopyrightIds)),void 0!==e.precipitationsOptions&&null!==e.precipitationsOptions){if("object"!=typeof e.precipitationsOptions)throw TypeError(".keyhole.dbroot.ClientOptionsProto.precipitationsOptions: object expected");r.precipitationsOptions=n[7].fromObject(e.precipitationsOptions)}if(void 0!==e.captureOptions&&null!==e.captureOptions){if("object"!=typeof e.captureOptions)throw TypeError(".keyhole.dbroot.ClientOptionsProto.captureOptions: object expected");r.captureOptions=n[8].fromObject(e.captureOptions)}if(void 0!==e.show_2dMapsIcon&&null!==e.show_2dMapsIcon&&(r.show_2dMapsIcon=Boolean(e.show_2dMapsIcon)),void 0!==e.disableInternalBrowser&&null!==e.disableInternalBrowser&&(r.disableInternalBrowser=Boolean(e.disableInternalBrowser)),void 0!==e.internalBrowserBlacklist&&null!==e.internalBrowserBlacklist&&(r.internalBrowserBlacklist=String(e.internalBrowserBlacklist)),void 0!==e.internalBrowserOriginWhitelist&&null!==e.internalBrowserOriginWhitelist&&(r.internalBrowserOriginWhitelist=String(e.internalBrowserOriginWhitelist)),void 0!==e.polarTileMergingLevel&&null!==e.polarTileMergingLevel&&(r.polarTileMergingLevel=0|e.polarTileMergingLevel),void 0!==e.jsBridgeRequestWhitelist&&null!==e.jsBridgeRequestWhitelist&&(r.jsBridgeRequestWhitelist=String(e.jsBridgeRequestWhitelist)),void 0!==e.mapsOptions&&null!==e.mapsOptions){if("object"!=typeof e.mapsOptions)throw TypeError(".keyhole.dbroot.ClientOptionsProto.mapsOptions: object expected");r.mapsOptions=n[15].fromObject(e.mapsOptions)}return r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.disableDiskCache=!1,t.disableEmbeddedBrowserVista=!1,t.drawAtmosphere=!0,t.drawStars=!0,t.shaderFilePrefix="",t.useProtobufQuadtreePackets=!1,t.useExtendedCopyrightIds=!0,t.precipitationsOptions=null,t.captureOptions=null,t.show_2dMapsIcon=!0,t.disableInternalBrowser=!1,t.internalBrowserBlacklist="",t.internalBrowserOriginWhitelist="*",t.polarTileMergingLevel=0,t.jsBridgeRequestWhitelist="http://*.google.com/*",t.mapsOptions=null),void 0!==e.disableDiskCache&&null!==e.disableDiskCache&&e.hasOwnProperty("disableDiskCache")&&(t.disableDiskCache=e.disableDiskCache),void 0!==e.disableEmbeddedBrowserVista&&null!==e.disableEmbeddedBrowserVista&&e.hasOwnProperty("disableEmbeddedBrowserVista")&&(t.disableEmbeddedBrowserVista=e.disableEmbeddedBrowserVista),void 0!==e.drawAtmosphere&&null!==e.drawAtmosphere&&e.hasOwnProperty("drawAtmosphere")&&(t.drawAtmosphere=e.drawAtmosphere),void 0!==e.drawStars&&null!==e.drawStars&&e.hasOwnProperty("drawStars")&&(t.drawStars=e.drawStars),void 0!==e.shaderFilePrefix&&null!==e.shaderFilePrefix&&e.hasOwnProperty("shaderFilePrefix")&&(t.shaderFilePrefix=e.shaderFilePrefix),void 0!==e.useProtobufQuadtreePackets&&null!==e.useProtobufQuadtreePackets&&e.hasOwnProperty("useProtobufQuadtreePackets")&&(t.useProtobufQuadtreePackets=e.useProtobufQuadtreePackets),void 0!==e.useExtendedCopyrightIds&&null!==e.useExtendedCopyrightIds&&e.hasOwnProperty("useExtendedCopyrightIds")&&(t.useExtendedCopyrightIds=e.useExtendedCopyrightIds),void 0!==e.precipitationsOptions&&null!==e.precipitationsOptions&&e.hasOwnProperty("precipitationsOptions")&&(t.precipitationsOptions=n[7].toObject(e.precipitationsOptions,r)),void 0!==e.captureOptions&&null!==e.captureOptions&&e.hasOwnProperty("captureOptions")&&(t.captureOptions=n[8].toObject(e.captureOptions,r)),void 0!==e.show_2dMapsIcon&&null!==e.show_2dMapsIcon&&e.hasOwnProperty("show_2dMapsIcon")&&(t.show_2dMapsIcon=e.show_2dMapsIcon),void 0!==e.disableInternalBrowser&&null!==e.disableInternalBrowser&&e.hasOwnProperty("disableInternalBrowser")&&(t.disableInternalBrowser=e.disableInternalBrowser),void 0!==e.internalBrowserBlacklist&&null!==e.internalBrowserBlacklist&&e.hasOwnProperty("internalBrowserBlacklist")&&(t.internalBrowserBlacklist=e.internalBrowserBlacklist),void 0!==e.internalBrowserOriginWhitelist&&null!==e.internalBrowserOriginWhitelist&&e.hasOwnProperty("internalBrowserOriginWhitelist")&&(t.internalBrowserOriginWhitelist=e.internalBrowserOriginWhitelist),void 0!==e.polarTileMergingLevel&&null!==e.polarTileMergingLevel&&e.hasOwnProperty("polarTileMergingLevel")&&(t.polarTileMergingLevel=e.polarTileMergingLevel),void 0!==e.jsBridgeRequestWhitelist&&null!==e.jsBridgeRequestWhitelist&&e.hasOwnProperty("jsBridgeRequestWhitelist")&&(t.jsBridgeRequestWhitelist=e.jsBridgeRequestWhitelist),void 0!==e.mapsOptions&&null!==e.mapsOptions&&e.hasOwnProperty("mapsOptions")&&(t.mapsOptions=n[15].toObject(e.mapsOptions,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.PrecipitationsOptions=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.imageUrl="",e.prototype.imageExpireTime=900,e.prototype.maxColorDistance=20,e.prototype.imageLevel=5,e.prototype.weatherMapping=l.emptyArray,e.prototype.cloudsLayerUrl="",e.prototype.animationDecelerationDelay=20;var n={4:"keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.imageUrl=e.string();break;case 2:o.imageExpireTime=e.int32();break;case 3:o.maxColorDistance=e.int32();break;case 4:o.imageLevel=e.int32();break;case 5:o.weatherMapping&&o.weatherMapping.length||(o.weatherMapping=[]),o.weatherMapping.push(n[4].decode(e,e.uint32()));break;case 6:o.cloudsLayerUrl=e.string();break;case 7:o.animationDecelerationDelay=e.float();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.imageUrl&&!l.isString(e.imageUrl))return"imageUrl: string expected";if(void 0!==e.imageExpireTime&&!l.isInteger(e.imageExpireTime))return"imageExpireTime: integer expected";if(void 0!==e.maxColorDistance&&!l.isInteger(e.maxColorDistance))return"maxColorDistance: integer expected";if(void 0!==e.imageLevel&&!l.isInteger(e.imageLevel))return"imageLevel: integer expected";if(void 0!==e.weatherMapping){if(!Array.isArray(e.weatherMapping))return"weatherMapping: array expected";for(var r=0;r<e.weatherMapping.length;++r){var t=n[4].verify(e.weatherMapping[r]);if(t)return"weatherMapping."+t}}return void 0===e.cloudsLayerUrl||l.isString(e.cloudsLayerUrl)?void 0!==e.animationDecelerationDelay&&"number"!=typeof e.animationDecelerationDelay?"animationDecelerationDelay: number expected":null:"cloudsLayerUrl: string expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions)return e;var r=new p.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions;if(void 0!==e.imageUrl&&null!==e.imageUrl&&(r.imageUrl=String(e.imageUrl)),void 0!==e.imageExpireTime&&null!==e.imageExpireTime&&(r.imageExpireTime=0|e.imageExpireTime),void 0!==e.maxColorDistance&&null!==e.maxColorDistance&&(r.maxColorDistance=0|e.maxColorDistance),void 0!==e.imageLevel&&null!==e.imageLevel&&(r.imageLevel=0|e.imageLevel),e.weatherMapping){if(!Array.isArray(e.weatherMapping))throw TypeError(".keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.weatherMapping: array expected");r.weatherMapping=[];for(var t=0;t<e.weatherMapping.length;++t){if("object"!=typeof e.weatherMapping[t])throw TypeError(".keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.weatherMapping: object expected");r.weatherMapping[t]=n[4].fromObject(e.weatherMapping[t])}}return void 0!==e.cloudsLayerUrl&&null!==e.cloudsLayerUrl&&(r.cloudsLayerUrl=String(e.cloudsLayerUrl)),void 0!==e.animationDecelerationDelay&&null!==e.animationDecelerationDelay&&(r.animationDecelerationDelay=Number(e.animationDecelerationDelay)),r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.weatherMapping=[]),r.defaults&&(t.imageUrl="",t.imageExpireTime=900,t.maxColorDistance=20,t.imageLevel=5,t.cloudsLayerUrl="",t.animationDecelerationDelay=20),void 0!==e.imageUrl&&null!==e.imageUrl&&e.hasOwnProperty("imageUrl")&&(t.imageUrl=e.imageUrl),void 0!==e.imageExpireTime&&null!==e.imageExpireTime&&e.hasOwnProperty("imageExpireTime")&&(t.imageExpireTime=e.imageExpireTime),void 0!==e.maxColorDistance&&null!==e.maxColorDistance&&e.hasOwnProperty("maxColorDistance")&&(t.maxColorDistance=e.maxColorDistance),void 0!==e.imageLevel&&null!==e.imageLevel&&e.hasOwnProperty("imageLevel")&&(t.imageLevel=e.imageLevel),void 0!==e.weatherMapping&&null!==e.weatherMapping&&e.hasOwnProperty("weatherMapping")){t.weatherMapping=[];for(var o=0;o<e.weatherMapping.length;++o)t.weatherMapping[o]=n[4].toObject(e.weatherMapping[o],r)}return void 0!==e.cloudsLayerUrl&&null!==e.cloudsLayerUrl&&e.hasOwnProperty("cloudsLayerUrl")&&(t.cloudsLayerUrl=e.cloudsLayerUrl),void 0!==e.animationDecelerationDelay&&null!==e.animationDecelerationDelay&&e.hasOwnProperty("animationDecelerationDelay")&&(t.animationDecelerationDelay=e.animationDecelerationDelay),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.WeatherMapping=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.colorAbgr=0,e.prototype.weatherType=0,e.prototype.elongation=1,e.prototype.opacity=0,e.prototype.fogDensity=0,e.prototype.speed0=0,e.prototype.speed1=0,e.prototype.speed2=0,e.prototype.speed3=0;var r,o={1:"keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping.WeatherType"};return s.push(o),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.colorAbgr=e.uint32();break;case 2:o.weatherType=e.uint32();break;case 3:o.elongation=e.float();break;case 4:o.opacity=e.float();break;case 5:o.fogDensity=e.float();break;case 6:o.speed0=e.float();break;case 7:o.speed1=e.float();break;case 8:o.speed2=e.float();break;case 9:o.speed3=e.float();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!l.isInteger(e.colorAbgr))return"colorAbgr: integer expected";switch(e.weatherType){default:return"weatherType: enum value expected";case 0:case 1:case 2:}return void 0!==e.elongation&&"number"!=typeof e.elongation?"elongation: number expected":void 0!==e.opacity&&"number"!=typeof e.opacity?"opacity: number expected":void 0!==e.fogDensity&&"number"!=typeof e.fogDensity?"fogDensity: number expected":void 0!==e.speed0&&"number"!=typeof e.speed0?"speed0: number expected":void 0!==e.speed1&&"number"!=typeof e.speed1?"speed1: number expected":void 0!==e.speed2&&"number"!=typeof e.speed2?"speed2: number expected":void 0!==e.speed3&&"number"!=typeof e.speed3?"speed3: number expected":null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping)return e;var r=new p.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping;switch(void 0!==e.colorAbgr&&null!==e.colorAbgr&&(r.colorAbgr=e.colorAbgr>>>0),e.weatherType){case"NO_PRECIPITATION":case 0:r.weatherType=0;break;case"RAIN":case 1:r.weatherType=1;break;case"SNOW":case 2:r.weatherType=2}return void 0!==e.elongation&&null!==e.elongation&&(r.elongation=Number(e.elongation)),void 0!==e.opacity&&null!==e.opacity&&(r.opacity=Number(e.opacity)),void 0!==e.fogDensity&&null!==e.fogDensity&&(r.fogDensity=Number(e.fogDensity)),void 0!==e.speed0&&null!==e.speed0&&(r.speed0=Number(e.speed0)),void 0!==e.speed1&&null!==e.speed1&&(r.speed1=Number(e.speed1)),void 0!==e.speed2&&null!==e.speed2&&(r.speed2=Number(e.speed2)),void 0!==e.speed3&&null!==e.speed3&&(r.speed3=Number(e.speed3)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.colorAbgr=0,t.weatherType=r.enums===String?"NO_PRECIPITATION":0,t.elongation=1,t.opacity=0,t.fogDensity=0,t.speed0=0,t.speed1=0,t.speed2=0,t.speed3=0),void 0!==e.colorAbgr&&null!==e.colorAbgr&&e.hasOwnProperty("colorAbgr")&&(t.colorAbgr=e.colorAbgr),void 0!==e.weatherType&&null!==e.weatherType&&e.hasOwnProperty("weatherType")&&(t.weatherType=r.enums===String?o[1][e.weatherType]:e.weatherType),void 0!==e.elongation&&null!==e.elongation&&e.hasOwnProperty("elongation")&&(t.elongation=e.elongation),void 0!==e.opacity&&null!==e.opacity&&e.hasOwnProperty("opacity")&&(t.opacity=e.opacity),void 0!==e.fogDensity&&null!==e.fogDensity&&e.hasOwnProperty("fogDensity")&&(t.fogDensity=e.fogDensity),void 0!==e.speed0&&null!==e.speed0&&e.hasOwnProperty("speed0")&&(t.speed0=e.speed0),void 0!==e.speed1&&null!==e.speed1&&e.hasOwnProperty("speed1")&&(t.speed1=e.speed1),void 0!==e.speed2&&null!==e.speed2&&e.hasOwnProperty("speed2")&&(t.speed2=e.speed2),void 0!==e.speed3&&null!==e.speed3&&e.hasOwnProperty("speed3")&&(t.speed3=e.speed3),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.WeatherType=((r=Object.create({})).NO_PRECIPITATION=0,r.RAIN=1,r.SNOW=2,r),e}(),e}(),e.CaptureOptions=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.allowSaveAsImage=!0,e.prototype.maxFreeCaptureRes=2400,e.prototype.maxPremiumCaptureRes=4800,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.ClientOptionsProto.CaptureOptions;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.allowSaveAsImage=e.bool();break;case 2:o.maxFreeCaptureRes=e.int32();break;case 3:o.maxPremiumCaptureRes=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.allowSaveAsImage&&"boolean"!=typeof e.allowSaveAsImage?"allowSaveAsImage: boolean expected":void 0===e.maxFreeCaptureRes||l.isInteger(e.maxFreeCaptureRes)?void 0===e.maxPremiumCaptureRes||l.isInteger(e.maxPremiumCaptureRes)?null:"maxPremiumCaptureRes: integer expected":"maxFreeCaptureRes: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.ClientOptionsProto.CaptureOptions)return e;var r=new p.keyhole.dbroot.ClientOptionsProto.CaptureOptions;return void 0!==e.allowSaveAsImage&&null!==e.allowSaveAsImage&&(r.allowSaveAsImage=Boolean(e.allowSaveAsImage)),void 0!==e.maxFreeCaptureRes&&null!==e.maxFreeCaptureRes&&(r.maxFreeCaptureRes=0|e.maxFreeCaptureRes),void 0!==e.maxPremiumCaptureRes&&null!==e.maxPremiumCaptureRes&&(r.maxPremiumCaptureRes=0|e.maxPremiumCaptureRes),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.allowSaveAsImage=!0,t.maxFreeCaptureRes=2400,t.maxPremiumCaptureRes=4800),void 0!==e.allowSaveAsImage&&null!==e.allowSaveAsImage&&e.hasOwnProperty("allowSaveAsImage")&&(t.allowSaveAsImage=e.allowSaveAsImage),void 0!==e.maxFreeCaptureRes&&null!==e.maxFreeCaptureRes&&e.hasOwnProperty("maxFreeCaptureRes")&&(t.maxFreeCaptureRes=e.maxFreeCaptureRes),void 0!==e.maxPremiumCaptureRes&&null!==e.maxPremiumCaptureRes&&e.hasOwnProperty("maxPremiumCaptureRes")&&(t.maxPremiumCaptureRes=e.maxPremiumCaptureRes),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.MapsOptions=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.enableMaps=!1,e.prototype.docsAutoDownloadEnabled=!1,e.prototype.docsAutoDownloadInterval=0,e.prototype.docsAutoUploadEnabled=!1,e.prototype.docsAutoUploadDelay=0,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.ClientOptionsProto.MapsOptions;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.enableMaps=e.bool();break;case 2:o.docsAutoDownloadEnabled=e.bool();break;case 3:o.docsAutoDownloadInterval=e.int32();break;case 4:o.docsAutoUploadEnabled=e.bool();break;case 5:o.docsAutoUploadDelay=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.enableMaps&&"boolean"!=typeof e.enableMaps?"enableMaps: boolean expected":void 0!==e.docsAutoDownloadEnabled&&"boolean"!=typeof e.docsAutoDownloadEnabled?"docsAutoDownloadEnabled: boolean expected":void 0===e.docsAutoDownloadInterval||l.isInteger(e.docsAutoDownloadInterval)?void 0!==e.docsAutoUploadEnabled&&"boolean"!=typeof e.docsAutoUploadEnabled?"docsAutoUploadEnabled: boolean expected":void 0===e.docsAutoUploadDelay||l.isInteger(e.docsAutoUploadDelay)?null:"docsAutoUploadDelay: integer expected":"docsAutoDownloadInterval: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.ClientOptionsProto.MapsOptions)return e;var r=new p.keyhole.dbroot.ClientOptionsProto.MapsOptions;return void 0!==e.enableMaps&&null!==e.enableMaps&&(r.enableMaps=Boolean(e.enableMaps)),void 0!==e.docsAutoDownloadEnabled&&null!==e.docsAutoDownloadEnabled&&(r.docsAutoDownloadEnabled=Boolean(e.docsAutoDownloadEnabled)),void 0!==e.docsAutoDownloadInterval&&null!==e.docsAutoDownloadInterval&&(r.docsAutoDownloadInterval=0|e.docsAutoDownloadInterval),void 0!==e.docsAutoUploadEnabled&&null!==e.docsAutoUploadEnabled&&(r.docsAutoUploadEnabled=Boolean(e.docsAutoUploadEnabled)),void 0!==e.docsAutoUploadDelay&&null!==e.docsAutoUploadDelay&&(r.docsAutoUploadDelay=0|e.docsAutoUploadDelay),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.enableMaps=!1,t.docsAutoDownloadEnabled=!1,t.docsAutoDownloadInterval=0,t.docsAutoUploadEnabled=!1,t.docsAutoUploadDelay=0),void 0!==e.enableMaps&&null!==e.enableMaps&&e.hasOwnProperty("enableMaps")&&(t.enableMaps=e.enableMaps),void 0!==e.docsAutoDownloadEnabled&&null!==e.docsAutoDownloadEnabled&&e.hasOwnProperty("docsAutoDownloadEnabled")&&(t.docsAutoDownloadEnabled=e.docsAutoDownloadEnabled),void 0!==e.docsAutoDownloadInterval&&null!==e.docsAutoDownloadInterval&&e.hasOwnProperty("docsAutoDownloadInterval")&&(t.docsAutoDownloadInterval=e.docsAutoDownloadInterval),void 0!==e.docsAutoUploadEnabled&&null!==e.docsAutoUploadEnabled&&e.hasOwnProperty("docsAutoUploadEnabled")&&(t.docsAutoUploadEnabled=e.docsAutoUploadEnabled),void 0!==e.docsAutoUploadDelay&&null!==e.docsAutoUploadDelay&&e.hasOwnProperty("docsAutoUploadDelay")&&(t.docsAutoUploadDelay=e.docsAutoUploadDelay),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e}(),e.FetchingOptionsProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.maxRequestsPerQuery=1,e.prototype.forceMaxRequestsPerQuery=!1,e.prototype.sortBatches=!1,e.prototype.maxDrawable=2,e.prototype.maxImagery=2,e.prototype.maxTerrain=5,e.prototype.maxQuadtree=5,e.prototype.maxDioramaMetadata=1,e.prototype.maxDioramaData=0,e.prototype.maxConsumerFetchRatio=1,e.prototype.maxProEcFetchRatio=0,e.prototype.safeOverallQps=0,e.prototype.safeImageryQps=0,e.prototype.domainsForHttps="google.com gstatic.com",e.prototype.hostsForHttp="",e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.FetchingOptionsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.maxRequestsPerQuery=e.int32();break;case 12:o.forceMaxRequestsPerQuery=e.bool();break;case 13:o.sortBatches=e.bool();break;case 2:o.maxDrawable=e.int32();break;case 3:o.maxImagery=e.int32();break;case 4:o.maxTerrain=e.int32();break;case 5:o.maxQuadtree=e.int32();break;case 6:o.maxDioramaMetadata=e.int32();break;case 7:o.maxDioramaData=e.int32();break;case 8:o.maxConsumerFetchRatio=e.float();break;case 9:o.maxProEcFetchRatio=e.float();break;case 10:o.safeOverallQps=e.float();break;case 11:o.safeImageryQps=e.float();break;case 14:o.domainsForHttps=e.string();break;case 15:o.hostsForHttp=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.maxRequestsPerQuery||l.isInteger(e.maxRequestsPerQuery)?void 0!==e.forceMaxRequestsPerQuery&&"boolean"!=typeof e.forceMaxRequestsPerQuery?"forceMaxRequestsPerQuery: boolean expected":void 0!==e.sortBatches&&"boolean"!=typeof e.sortBatches?"sortBatches: boolean expected":void 0===e.maxDrawable||l.isInteger(e.maxDrawable)?void 0===e.maxImagery||l.isInteger(e.maxImagery)?void 0===e.maxTerrain||l.isInteger(e.maxTerrain)?void 0===e.maxQuadtree||l.isInteger(e.maxQuadtree)?void 0===e.maxDioramaMetadata||l.isInteger(e.maxDioramaMetadata)?void 0===e.maxDioramaData||l.isInteger(e.maxDioramaData)?void 0!==e.maxConsumerFetchRatio&&"number"!=typeof e.maxConsumerFetchRatio?"maxConsumerFetchRatio: number expected":void 0!==e.maxProEcFetchRatio&&"number"!=typeof e.maxProEcFetchRatio?"maxProEcFetchRatio: number expected":void 0!==e.safeOverallQps&&"number"!=typeof e.safeOverallQps?"safeOverallQps: number expected":void 0!==e.safeImageryQps&&"number"!=typeof e.safeImageryQps?"safeImageryQps: number expected":void 0===e.domainsForHttps||l.isString(e.domainsForHttps)?void 0===e.hostsForHttp||l.isString(e.hostsForHttp)?null:"hostsForHttp: string expected":"domainsForHttps: string expected":"maxDioramaData: integer expected":"maxDioramaMetadata: integer expected":"maxQuadtree: integer expected":"maxTerrain: integer expected":"maxImagery: integer expected":"maxDrawable: integer expected":"maxRequestsPerQuery: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.FetchingOptionsProto)return e;var r=new p.keyhole.dbroot.FetchingOptionsProto;return void 0!==e.maxRequestsPerQuery&&null!==e.maxRequestsPerQuery&&(r.maxRequestsPerQuery=0|e.maxRequestsPerQuery),void 0!==e.forceMaxRequestsPerQuery&&null!==e.forceMaxRequestsPerQuery&&(r.forceMaxRequestsPerQuery=Boolean(e.forceMaxRequestsPerQuery)),void 0!==e.sortBatches&&null!==e.sortBatches&&(r.sortBatches=Boolean(e.sortBatches)),void 0!==e.maxDrawable&&null!==e.maxDrawable&&(r.maxDrawable=0|e.maxDrawable),void 0!==e.maxImagery&&null!==e.maxImagery&&(r.maxImagery=0|e.maxImagery),void 0!==e.maxTerrain&&null!==e.maxTerrain&&(r.maxTerrain=0|e.maxTerrain),void 0!==e.maxQuadtree&&null!==e.maxQuadtree&&(r.maxQuadtree=0|e.maxQuadtree),void 0!==e.maxDioramaMetadata&&null!==e.maxDioramaMetadata&&(r.maxDioramaMetadata=0|e.maxDioramaMetadata),void 0!==e.maxDioramaData&&null!==e.maxDioramaData&&(r.maxDioramaData=0|e.maxDioramaData),void 0!==e.maxConsumerFetchRatio&&null!==e.maxConsumerFetchRatio&&(r.maxConsumerFetchRatio=Number(e.maxConsumerFetchRatio)),void 0!==e.maxProEcFetchRatio&&null!==e.maxProEcFetchRatio&&(r.maxProEcFetchRatio=Number(e.maxProEcFetchRatio)),void 0!==e.safeOverallQps&&null!==e.safeOverallQps&&(r.safeOverallQps=Number(e.safeOverallQps)),void 0!==e.safeImageryQps&&null!==e.safeImageryQps&&(r.safeImageryQps=Number(e.safeImageryQps)),void 0!==e.domainsForHttps&&null!==e.domainsForHttps&&(r.domainsForHttps=String(e.domainsForHttps)),void 0!==e.hostsForHttp&&null!==e.hostsForHttp&&(r.hostsForHttp=String(e.hostsForHttp)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.maxRequestsPerQuery=1,t.forceMaxRequestsPerQuery=!1,t.sortBatches=!1,t.maxDrawable=2,t.maxImagery=2,t.maxTerrain=5,t.maxQuadtree=5,t.maxDioramaMetadata=1,t.maxDioramaData=0,t.maxConsumerFetchRatio=1,t.maxProEcFetchRatio=0,t.safeOverallQps=0,t.safeImageryQps=0,t.domainsForHttps="google.com gstatic.com",t.hostsForHttp=""),void 0!==e.maxRequestsPerQuery&&null!==e.maxRequestsPerQuery&&e.hasOwnProperty("maxRequestsPerQuery")&&(t.maxRequestsPerQuery=e.maxRequestsPerQuery),void 0!==e.forceMaxRequestsPerQuery&&null!==e.forceMaxRequestsPerQuery&&e.hasOwnProperty("forceMaxRequestsPerQuery")&&(t.forceMaxRequestsPerQuery=e.forceMaxRequestsPerQuery),void 0!==e.sortBatches&&null!==e.sortBatches&&e.hasOwnProperty("sortBatches")&&(t.sortBatches=e.sortBatches),void 0!==e.maxDrawable&&null!==e.maxDrawable&&e.hasOwnProperty("maxDrawable")&&(t.maxDrawable=e.maxDrawable),void 0!==e.maxImagery&&null!==e.maxImagery&&e.hasOwnProperty("maxImagery")&&(t.maxImagery=e.maxImagery),void 0!==e.maxTerrain&&null!==e.maxTerrain&&e.hasOwnProperty("maxTerrain")&&(t.maxTerrain=e.maxTerrain),void 0!==e.maxQuadtree&&null!==e.maxQuadtree&&e.hasOwnProperty("maxQuadtree")&&(t.maxQuadtree=e.maxQuadtree),void 0!==e.maxDioramaMetadata&&null!==e.maxDioramaMetadata&&e.hasOwnProperty("maxDioramaMetadata")&&(t.maxDioramaMetadata=e.maxDioramaMetadata),void 0!==e.maxDioramaData&&null!==e.maxDioramaData&&e.hasOwnProperty("maxDioramaData")&&(t.maxDioramaData=e.maxDioramaData),void 0!==e.maxConsumerFetchRatio&&null!==e.maxConsumerFetchRatio&&e.hasOwnProperty("maxConsumerFetchRatio")&&(t.maxConsumerFetchRatio=e.maxConsumerFetchRatio),void 0!==e.maxProEcFetchRatio&&null!==e.maxProEcFetchRatio&&e.hasOwnProperty("maxProEcFetchRatio")&&(t.maxProEcFetchRatio=e.maxProEcFetchRatio),void 0!==e.safeOverallQps&&null!==e.safeOverallQps&&e.hasOwnProperty("safeOverallQps")&&(t.safeOverallQps=e.safeOverallQps),void 0!==e.safeImageryQps&&null!==e.safeImageryQps&&e.hasOwnProperty("safeImageryQps")&&(t.safeImageryQps=e.safeImageryQps),void 0!==e.domainsForHttps&&null!==e.domainsForHttps&&e.hasOwnProperty("domainsForHttps")&&(t.domainsForHttps=e.domainsForHttps),void 0!==e.hostsForHttp&&null!==e.hostsForHttp&&e.hasOwnProperty("hostsForHttp")&&(t.hostsForHttp=e.hostsForHttp),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.TimeMachineOptionsProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.serverUrl="",e.prototype.isTimemachine=!1,e.prototype.dwellTimeMs=500,e.prototype.discoverabilityAltitudeMeters=15e3,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.TimeMachineOptionsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.serverUrl=e.string();break;case 2:o.isTimemachine=e.bool();break;case 3:o.dwellTimeMs=e.int32();break;case 4:o.discoverabilityAltitudeMeters=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.serverUrl||l.isString(e.serverUrl)?void 0!==e.isTimemachine&&"boolean"!=typeof e.isTimemachine?"isTimemachine: boolean expected":void 0===e.dwellTimeMs||l.isInteger(e.dwellTimeMs)?void 0===e.discoverabilityAltitudeMeters||l.isInteger(e.discoverabilityAltitudeMeters)?null:"discoverabilityAltitudeMeters: integer expected":"dwellTimeMs: integer expected":"serverUrl: string expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.TimeMachineOptionsProto)return e;var r=new p.keyhole.dbroot.TimeMachineOptionsProto;return void 0!==e.serverUrl&&null!==e.serverUrl&&(r.serverUrl=String(e.serverUrl)),void 0!==e.isTimemachine&&null!==e.isTimemachine&&(r.isTimemachine=Boolean(e.isTimemachine)),void 0!==e.dwellTimeMs&&null!==e.dwellTimeMs&&(r.dwellTimeMs=0|e.dwellTimeMs),void 0!==e.discoverabilityAltitudeMeters&&null!==e.discoverabilityAltitudeMeters&&(r.discoverabilityAltitudeMeters=0|e.discoverabilityAltitudeMeters),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.serverUrl="",t.isTimemachine=!1,t.dwellTimeMs=500,t.discoverabilityAltitudeMeters=15e3),void 0!==e.serverUrl&&null!==e.serverUrl&&e.hasOwnProperty("serverUrl")&&(t.serverUrl=e.serverUrl),void 0!==e.isTimemachine&&null!==e.isTimemachine&&e.hasOwnProperty("isTimemachine")&&(t.isTimemachine=e.isTimemachine),void 0!==e.dwellTimeMs&&null!==e.dwellTimeMs&&e.hasOwnProperty("dwellTimeMs")&&(t.dwellTimeMs=e.dwellTimeMs),void 0!==e.discoverabilityAltitudeMeters&&null!==e.discoverabilityAltitudeMeters&&e.hasOwnProperty("discoverabilityAltitudeMeters")&&(t.discoverabilityAltitudeMeters=e.discoverabilityAltitudeMeters),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.AutopiaOptionsProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.metadataServerUrl="http://cbk0.google.com/cbk",e.prototype.depthmapServerUrl="http://cbk0.google.com/cbk",e.prototype.coverageOverlayUrl="",e.prototype.maxImageryQps=0,e.prototype.maxMetadataDepthmapQps=0,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.AutopiaOptionsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.metadataServerUrl=e.string();break;case 2:o.depthmapServerUrl=e.string();break;case 3:o.coverageOverlayUrl=e.string();break;case 4:o.maxImageryQps=e.float();break;case 5:o.maxMetadataDepthmapQps=e.float();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.metadataServerUrl||l.isString(e.metadataServerUrl)?void 0===e.depthmapServerUrl||l.isString(e.depthmapServerUrl)?void 0===e.coverageOverlayUrl||l.isString(e.coverageOverlayUrl)?void 0!==e.maxImageryQps&&"number"!=typeof e.maxImageryQps?"maxImageryQps: number expected":void 0!==e.maxMetadataDepthmapQps&&"number"!=typeof e.maxMetadataDepthmapQps?"maxMetadataDepthmapQps: number expected":null:"coverageOverlayUrl: string expected":"depthmapServerUrl: string expected":"metadataServerUrl: string expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.AutopiaOptionsProto)return e;var r=new p.keyhole.dbroot.AutopiaOptionsProto;return void 0!==e.metadataServerUrl&&null!==e.metadataServerUrl&&(r.metadataServerUrl=String(e.metadataServerUrl)),void 0!==e.depthmapServerUrl&&null!==e.depthmapServerUrl&&(r.depthmapServerUrl=String(e.depthmapServerUrl)),void 0!==e.coverageOverlayUrl&&null!==e.coverageOverlayUrl&&(r.coverageOverlayUrl=String(e.coverageOverlayUrl)),void 0!==e.maxImageryQps&&null!==e.maxImageryQps&&(r.maxImageryQps=Number(e.maxImageryQps)),void 0!==e.maxMetadataDepthmapQps&&null!==e.maxMetadataDepthmapQps&&(r.maxMetadataDepthmapQps=Number(e.maxMetadataDepthmapQps)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.metadataServerUrl="http://cbk0.google.com/cbk",t.depthmapServerUrl="http://cbk0.google.com/cbk",t.coverageOverlayUrl="",t.maxImageryQps=0,t.maxMetadataDepthmapQps=0),void 0!==e.metadataServerUrl&&null!==e.metadataServerUrl&&e.hasOwnProperty("metadataServerUrl")&&(t.metadataServerUrl=e.metadataServerUrl),void 0!==e.depthmapServerUrl&&null!==e.depthmapServerUrl&&e.hasOwnProperty("depthmapServerUrl")&&(t.depthmapServerUrl=e.depthmapServerUrl),void 0!==e.coverageOverlayUrl&&null!==e.coverageOverlayUrl&&e.hasOwnProperty("coverageOverlayUrl")&&(t.coverageOverlayUrl=e.coverageOverlayUrl),void 0!==e.maxImageryQps&&null!==e.maxImageryQps&&e.hasOwnProperty("maxImageryQps")&&(t.maxImageryQps=e.maxImageryQps),void 0!==e.maxMetadataDepthmapQps&&null!==e.maxMetadataDepthmapQps&&e.hasOwnProperty("maxMetadataDepthmapQps")&&(t.maxMetadataDepthmapQps=e.maxMetadataDepthmapQps),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.CSIOptionsProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.samplingPercentage=0,e.prototype.experimentId="",e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.CSIOptionsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.samplingPercentage=e.int32();break;case 2:o.experimentId=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.samplingPercentage||l.isInteger(e.samplingPercentage)?void 0===e.experimentId||l.isString(e.experimentId)?null:"experimentId: string expected":"samplingPercentage: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.CSIOptionsProto)return e;var r=new p.keyhole.dbroot.CSIOptionsProto;return void 0!==e.samplingPercentage&&null!==e.samplingPercentage&&(r.samplingPercentage=0|e.samplingPercentage),void 0!==e.experimentId&&null!==e.experimentId&&(r.experimentId=String(e.experimentId)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.samplingPercentage=0,t.experimentId=""),void 0!==e.samplingPercentage&&null!==e.samplingPercentage&&e.hasOwnProperty("samplingPercentage")&&(t.samplingPercentage=e.samplingPercentage),void 0!==e.experimentId&&null!==e.experimentId&&e.hasOwnProperty("experimentId")&&(t.experimentId=e.experimentId),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.SearchTabProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.isVisible=!1,e.prototype.tabLabel=null,e.prototype.baseUrl="",e.prototype.viewportPrefix="",e.prototype.inputBox=l.emptyArray,e.prototype.requirement=null;var n={1:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.SearchTabProto.InputBoxInfo",5:"keyhole.dbroot.RequirementProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.SearchTabProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.isVisible=e.bool();break;case 2:o.tabLabel=n[1].decode(e,e.uint32());break;case 3:o.baseUrl=e.string();break;case 4:o.viewportPrefix=e.string();break;case 5:o.inputBox&&o.inputBox.length||(o.inputBox=[]),o.inputBox.push(n[4].decode(e,e.uint32()));break;case 6:o.requirement=n[5].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if("boolean"!=typeof e.isVisible)return"isVisible: boolean expected";if(void 0!==e.tabLabel&&null!==e.tabLabel&&(t=n[1].verify(e.tabLabel)))return"tabLabel."+t;if(void 0!==e.baseUrl&&!l.isString(e.baseUrl))return"baseUrl: string expected";if(void 0!==e.viewportPrefix&&!l.isString(e.viewportPrefix))return"viewportPrefix: string expected";if(void 0!==e.inputBox){if(!Array.isArray(e.inputBox))return"inputBox: array expected";for(var r=0;r<e.inputBox.length;++r){var t;if(t=n[4].verify(e.inputBox[r]))return"inputBox."+t}}return void 0!==e.requirement&&null!==e.requirement&&(t=n[5].verify(e.requirement))?"requirement."+t:null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.SearchTabProto)return e;var r=new p.keyhole.dbroot.SearchTabProto;if(void 0!==e.isVisible&&null!==e.isVisible&&(r.isVisible=Boolean(e.isVisible)),void 0!==e.tabLabel&&null!==e.tabLabel){if("object"!=typeof e.tabLabel)throw TypeError(".keyhole.dbroot.SearchTabProto.tabLabel: object expected");r.tabLabel=n[1].fromObject(e.tabLabel)}if(void 0!==e.baseUrl&&null!==e.baseUrl&&(r.baseUrl=String(e.baseUrl)),void 0!==e.viewportPrefix&&null!==e.viewportPrefix&&(r.viewportPrefix=String(e.viewportPrefix)),e.inputBox){if(!Array.isArray(e.inputBox))throw TypeError(".keyhole.dbroot.SearchTabProto.inputBox: array expected");r.inputBox=[];for(var t=0;t<e.inputBox.length;++t){if("object"!=typeof e.inputBox[t])throw TypeError(".keyhole.dbroot.SearchTabProto.inputBox: object expected");r.inputBox[t]=n[4].fromObject(e.inputBox[t])}}if(void 0!==e.requirement&&null!==e.requirement){if("object"!=typeof e.requirement)throw TypeError(".keyhole.dbroot.SearchTabProto.requirement: object expected");r.requirement=n[5].fromObject(e.requirement)}return r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.inputBox=[]),r.defaults&&(t.isVisible=!1,t.tabLabel=null,t.baseUrl="",t.viewportPrefix="",t.requirement=null),void 0!==e.isVisible&&null!==e.isVisible&&e.hasOwnProperty("isVisible")&&(t.isVisible=e.isVisible),void 0!==e.tabLabel&&null!==e.tabLabel&&e.hasOwnProperty("tabLabel")&&(t.tabLabel=n[1].toObject(e.tabLabel,r)),void 0!==e.baseUrl&&null!==e.baseUrl&&e.hasOwnProperty("baseUrl")&&(t.baseUrl=e.baseUrl),void 0!==e.viewportPrefix&&null!==e.viewportPrefix&&e.hasOwnProperty("viewportPrefix")&&(t.viewportPrefix=e.viewportPrefix),void 0!==e.inputBox&&null!==e.inputBox&&e.hasOwnProperty("inputBox")){t.inputBox=[];for(var o=0;o<e.inputBox.length;++o)t.inputBox[o]=n[4].toObject(e.inputBox[o],r)}return void 0!==e.requirement&&null!==e.requirement&&e.hasOwnProperty("requirement")&&(t.requirement=n[5].toObject(e.requirement,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.InputBoxInfo=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.label=null,e.prototype.queryVerb="",e.prototype.queryPrepend="";var n={0:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.SearchTabProto.InputBoxInfo;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.label=n[0].decode(e,e.uint32());break;case 2:o.queryVerb=e.string();break;case 3:o.queryPrepend=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var r=n[0].verify(e.label);return r?"label."+r:l.isString(e.queryVerb)?void 0===e.queryPrepend||l.isString(e.queryPrepend)?null:"queryPrepend: string expected":"queryVerb: string expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.SearchTabProto.InputBoxInfo)return e;var r=new p.keyhole.dbroot.SearchTabProto.InputBoxInfo;if(void 0!==e.label&&null!==e.label){if("object"!=typeof e.label)throw TypeError(".keyhole.dbroot.SearchTabProto.InputBoxInfo.label: object expected");r.label=n[0].fromObject(e.label)}return void 0!==e.queryVerb&&null!==e.queryVerb&&(r.queryVerb=String(e.queryVerb)),void 0!==e.queryPrepend&&null!==e.queryPrepend&&(r.queryPrepend=String(e.queryPrepend)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.label=null,t.queryVerb="",t.queryPrepend=""),void 0!==e.label&&null!==e.label&&e.hasOwnProperty("label")&&(t.label=n[0].toObject(e.label,r)),void 0!==e.queryVerb&&null!==e.queryVerb&&e.hasOwnProperty("queryVerb")&&(t.queryVerb=e.queryVerb),void 0!==e.queryPrepend&&null!==e.queryPrepend&&e.hasOwnProperty("queryPrepend")&&(t.queryPrepend=e.queryPrepend),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e}(),e.CobrandProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.logoUrl="",e.prototype.xCoord=null,e.prototype.yCoord=null,e.prototype.tiePoint=6,e.prototype.screenSize=0;var r,n={1:"keyhole.dbroot.CobrandProto.Coord",2:"keyhole.dbroot.CobrandProto.Coord",3:"keyhole.dbroot.CobrandProto.TiePoint"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.CobrandProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.logoUrl=e.string();break;case 2:o.xCoord=n[1].decode(e,e.uint32());break;case 3:o.yCoord=n[2].decode(e,e.uint32());break;case 4:o.tiePoint=e.uint32();break;case 5:o.screenSize=e.double();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!l.isString(e.logoUrl))return"logoUrl: string expected";var r;if(void 0!==e.xCoord&&null!==e.xCoord&&(r=n[1].verify(e.xCoord)))return"xCoord."+r;if(void 0!==e.yCoord&&null!==e.yCoord&&(r=n[2].verify(e.yCoord)))return"yCoord."+r;if(void 0!==e.tiePoint)switch(e.tiePoint){default:return"tiePoint: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:}return void 0!==e.screenSize&&"number"!=typeof e.screenSize?"screenSize: number expected":null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.CobrandProto)return e;var r=new p.keyhole.dbroot.CobrandProto;if(void 0!==e.logoUrl&&null!==e.logoUrl&&(r.logoUrl=String(e.logoUrl)),void 0!==e.xCoord&&null!==e.xCoord){if("object"!=typeof e.xCoord)throw TypeError(".keyhole.dbroot.CobrandProto.xCoord: object expected");r.xCoord=n[1].fromObject(e.xCoord)}if(void 0!==e.yCoord&&null!==e.yCoord){if("object"!=typeof e.yCoord)throw TypeError(".keyhole.dbroot.CobrandProto.yCoord: object expected");r.yCoord=n[2].fromObject(e.yCoord)}switch(e.tiePoint){case"TOP_LEFT":case 0:r.tiePoint=0;break;case"TOP_CENTER":case 1:r.tiePoint=1;break;case"TOP_RIGHT":case 2:r.tiePoint=2;break;case"MID_LEFT":case 3:r.tiePoint=3;break;case"MID_CENTER":case 4:r.tiePoint=4;break;case"MID_RIGHT":case 5:r.tiePoint=5;break;case"BOTTOM_LEFT":case 6:r.tiePoint=6;break;case"BOTTOM_CENTER":case 7:r.tiePoint=7;break;case"BOTTOM_RIGHT":case 8:r.tiePoint=8}return void 0!==e.screenSize&&null!==e.screenSize&&(r.screenSize=Number(e.screenSize)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.logoUrl="",t.xCoord=null,t.yCoord=null,t.tiePoint=r.enums===String?"BOTTOM_LEFT":6,t.screenSize=0),void 0!==e.logoUrl&&null!==e.logoUrl&&e.hasOwnProperty("logoUrl")&&(t.logoUrl=e.logoUrl),void 0!==e.xCoord&&null!==e.xCoord&&e.hasOwnProperty("xCoord")&&(t.xCoord=n[1].toObject(e.xCoord,r)),void 0!==e.yCoord&&null!==e.yCoord&&e.hasOwnProperty("yCoord")&&(t.yCoord=n[2].toObject(e.yCoord,r)),void 0!==e.tiePoint&&null!==e.tiePoint&&e.hasOwnProperty("tiePoint")&&(t.tiePoint=r.enums===String?n[3][e.tiePoint]:e.tiePoint),void 0!==e.screenSize&&null!==e.screenSize&&e.hasOwnProperty("screenSize")&&(t.screenSize=e.screenSize),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.Coord=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.value=0,e.prototype.isRelative=!1,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.CobrandProto.Coord;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.value=e.double();break;case 2:o.isRelative=e.bool();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":"number"!=typeof e.value?"value: number expected":void 0!==e.isRelative&&"boolean"!=typeof e.isRelative?"isRelative: boolean expected":null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.CobrandProto.Coord)return e;var r=new p.keyhole.dbroot.CobrandProto.Coord;return void 0!==e.value&&null!==e.value&&(r.value=Number(e.value)),void 0!==e.isRelative&&null!==e.isRelative&&(r.isRelative=Boolean(e.isRelative)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.value=0,t.isRelative=!1),void 0!==e.value&&null!==e.value&&e.hasOwnProperty("value")&&(t.value=e.value),void 0!==e.isRelative&&null!==e.isRelative&&e.hasOwnProperty("isRelative")&&(t.isRelative=e.isRelative),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.TiePoint=((r=Object.create({})).TOP_LEFT=0,r.TOP_CENTER=1,r.TOP_RIGHT=2,r.MID_LEFT=3,r.MID_CENTER=4,r.MID_RIGHT=5,r.BOTTOM_LEFT=6,r.BOTTOM_CENTER=7,r.BOTTOM_RIGHT=8,r),e}(),e.DatabaseDescriptionProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.databaseName=null,e.prototype.databaseUrl="";var n={0:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.DatabaseDescriptionProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.databaseName=n[0].decode(e,e.uint32());break;case 2:o.databaseUrl=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.databaseName&&null!==e.databaseName){var r=n[0].verify(e.databaseName);if(r)return"databaseName."+r}return l.isString(e.databaseUrl)?null:"databaseUrl: string expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.DatabaseDescriptionProto)return e;var r=new p.keyhole.dbroot.DatabaseDescriptionProto;if(void 0!==e.databaseName&&null!==e.databaseName){if("object"!=typeof e.databaseName)throw TypeError(".keyhole.dbroot.DatabaseDescriptionProto.databaseName: object expected");r.databaseName=n[0].fromObject(e.databaseName)}return void 0!==e.databaseUrl&&null!==e.databaseUrl&&(r.databaseUrl=String(e.databaseUrl)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.databaseName=null,t.databaseUrl=""),void 0!==e.databaseName&&null!==e.databaseName&&e.hasOwnProperty("databaseName")&&(t.databaseName=n[0].toObject(e.databaseName,r)),void 0!==e.databaseUrl&&null!==e.databaseUrl&&e.hasOwnProperty("databaseUrl")&&(t.databaseUrl=e.databaseUrl),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.ConfigScriptProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.scriptName="",e.prototype.scriptData="",e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.ConfigScriptProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.scriptName=e.string();break;case 2:o.scriptData=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":l.isString(e.scriptName)?l.isString(e.scriptData)?null:"scriptData: string expected":"scriptName: string expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.ConfigScriptProto)return e;var r=new p.keyhole.dbroot.ConfigScriptProto;return void 0!==e.scriptName&&null!==e.scriptName&&(r.scriptName=String(e.scriptName)),void 0!==e.scriptData&&null!==e.scriptData&&(r.scriptData=String(e.scriptData)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.scriptName="",t.scriptData=""),void 0!==e.scriptName&&null!==e.scriptName&&e.hasOwnProperty("scriptName")&&(t.scriptName=e.scriptName),void 0!==e.scriptData&&null!==e.scriptData&&e.hasOwnProperty("scriptData")&&(t.scriptData=e.scriptData),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.SwoopParamsProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.startDistInMeters=0,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.SwoopParamsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.startDistInMeters=e.double();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.startDistInMeters&&"number"!=typeof e.startDistInMeters?"startDistInMeters: number expected":null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.SwoopParamsProto)return e;var r=new p.keyhole.dbroot.SwoopParamsProto;return void 0!==e.startDistInMeters&&null!==e.startDistInMeters&&(r.startDistInMeters=Number(e.startDistInMeters)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.startDistInMeters=0),void 0!==e.startDistInMeters&&null!==e.startDistInMeters&&e.hasOwnProperty("startDistInMeters")&&(t.startDistInMeters=e.startDistInMeters),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.PostingServerProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.name=null,e.prototype.baseUrl=null,e.prototype.postWizardPath=null,e.prototype.fileSubmitPath=null;var n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.StringIdOrValueProto",2:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.PostingServerProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.name=n[0].decode(e,e.uint32());break;case 2:o.baseUrl=n[1].decode(e,e.uint32());break;case 3:o.postWizardPath=n[2].decode(e,e.uint32());break;case 4:o.fileSubmitPath=n[3].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.name&&null!==e.name&&(r=n[0].verify(e.name))?"name."+r:void 0!==e.baseUrl&&null!==e.baseUrl&&(r=n[1].verify(e.baseUrl))?"baseUrl."+r:void 0!==e.postWizardPath&&null!==e.postWizardPath&&(r=n[2].verify(e.postWizardPath))?"postWizardPath."+r:void 0!==e.fileSubmitPath&&null!==e.fileSubmitPath&&(r=n[3].verify(e.fileSubmitPath))?"fileSubmitPath."+r:null;var r},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.PostingServerProto)return e;var r=new p.keyhole.dbroot.PostingServerProto;if(void 0!==e.name&&null!==e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.PostingServerProto.name: object expected");r.name=n[0].fromObject(e.name)}if(void 0!==e.baseUrl&&null!==e.baseUrl){if("object"!=typeof e.baseUrl)throw TypeError(".keyhole.dbroot.PostingServerProto.baseUrl: object expected");r.baseUrl=n[1].fromObject(e.baseUrl)}if(void 0!==e.postWizardPath&&null!==e.postWizardPath){if("object"!=typeof e.postWizardPath)throw TypeError(".keyhole.dbroot.PostingServerProto.postWizardPath: object expected");r.postWizardPath=n[2].fromObject(e.postWizardPath)}if(void 0!==e.fileSubmitPath&&null!==e.fileSubmitPath){if("object"!=typeof e.fileSubmitPath)throw TypeError(".keyhole.dbroot.PostingServerProto.fileSubmitPath: object expected");r.fileSubmitPath=n[3].fromObject(e.fileSubmitPath)}return r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.name=null,t.baseUrl=null,t.postWizardPath=null,t.fileSubmitPath=null),void 0!==e.name&&null!==e.name&&e.hasOwnProperty("name")&&(t.name=n[0].toObject(e.name,r)),void 0!==e.baseUrl&&null!==e.baseUrl&&e.hasOwnProperty("baseUrl")&&(t.baseUrl=n[1].toObject(e.baseUrl,r)),void 0!==e.postWizardPath&&null!==e.postWizardPath&&e.hasOwnProperty("postWizardPath")&&(t.postWizardPath=n[2].toObject(e.postWizardPath,r)),void 0!==e.fileSubmitPath&&null!==e.fileSubmitPath&&e.hasOwnProperty("fileSubmitPath")&&(t.fileSubmitPath=n[3].toObject(e.fileSubmitPath,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.PlanetaryDatabaseProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null,e.prototype.name=null;var n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.PlanetaryDatabaseProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.url=n[0].decode(e,e.uint32());break;case 2:o.name=n[1].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":(r=n[0].verify(e.url))?"url."+r:(r=n[1].verify(e.name))?"name."+r:null;var r},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.PlanetaryDatabaseProto)return e;var r=new p.keyhole.dbroot.PlanetaryDatabaseProto;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.PlanetaryDatabaseProto.url: object expected");r.url=n[0].fromObject(e.url)}if(void 0!==e.name&&null!==e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.PlanetaryDatabaseProto.name: object expected");r.name=n[1].fromObject(e.name)}return r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null,t.name=null),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),void 0!==e.name&&null!==e.name&&e.hasOwnProperty("name")&&(t.name=n[1].toObject(e.name,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.LogServerProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null,e.prototype.enable=!1,e.prototype.throttlingFactor=1;var n={0:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.LogServerProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.url=n[0].decode(e,e.uint32());break;case 2:o.enable=e.bool();break;case 3:o.throttlingFactor=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.url&&null!==e.url){var r=n[0].verify(e.url);if(r)return"url."+r}return void 0!==e.enable&&"boolean"!=typeof e.enable?"enable: boolean expected":void 0===e.throttlingFactor||l.isInteger(e.throttlingFactor)?null:"throttlingFactor: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.LogServerProto)return e;var r=new p.keyhole.dbroot.LogServerProto;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.LogServerProto.url: object expected");r.url=n[0].fromObject(e.url)}return void 0!==e.enable&&null!==e.enable&&(r.enable=Boolean(e.enable)),void 0!==e.throttlingFactor&&null!==e.throttlingFactor&&(r.throttlingFactor=0|e.throttlingFactor),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null,t.enable=!1,t.throttlingFactor=1),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),void 0!==e.enable&&null!==e.enable&&e.hasOwnProperty("enable")&&(t.enable=e.enable),void 0!==e.throttlingFactor&&null!==e.throttlingFactor&&e.hasOwnProperty("throttlingFactor")&&(t.throttlingFactor=e.throttlingFactor),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.EndSnippetProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.model=null,e.prototype.authServerUrl=null,e.prototype.disableAuthentication=!1,e.prototype.mfeDomains=l.emptyArray,e.prototype.mfeLangParam="hl=$5Bhl5D",e.prototype.adsUrlPatterns="",e.prototype.reverseGeocoderUrl=null,e.prototype.reverseGeocoderProtocolVersion=3,e.prototype.skyDatabaseIsAvailable=!0,e.prototype.skyDatabaseUrl=null,e.prototype.defaultWebPageIntlUrl=null,e.prototype.numStartUpTips=17,e.prototype.startUpTipsUrl=null,e.prototype.numProStartUpTips=0,e.prototype.proStartUpTipsUrl=null,e.prototype.startupTipsIntlUrl=null,e.prototype.userGuideIntlUrl=null,e.prototype.supportCenterIntlUrl=null,e.prototype.businessListingIntlUrl=null,e.prototype.supportAnswerIntlUrl=null,e.prototype.supportTopicIntlUrl=null,e.prototype.supportRequestIntlUrl=null,e.prototype.earthIntlUrl=null,e.prototype.addContentUrl=null,e.prototype.sketchupNotInstalledUrl=null,e.prototype.sketchupErrorUrl=null,e.prototype.freeLicenseUrl=null,e.prototype.proLicenseUrl=null,e.prototype.tutorialUrl=null,e.prototype.keyboardShortcutsUrl=null,e.prototype.releaseNotesUrl=null,e.prototype.hideUserData=!1,e.prototype.useGeLogo=!0,e.prototype.dioramaDescriptionUrlBase=null,e.prototype.dioramaDefaultColor=4291281607,e.prototype.dioramaBlacklistUrl=null,e.prototype.clientOptions=null,e.prototype.fetchingOptions=null,e.prototype.timeMachineOptions=null,e.prototype.csiOptions=null,e.prototype.searchTab=l.emptyArray,e.prototype.cobrandInfo=l.emptyArray,e.prototype.validDatabase=l.emptyArray,e.prototype.configScript=l.emptyArray,e.prototype.deauthServerUrl=null,e.prototype.swoopParameters=null,e.prototype.bbsServerInfo=null,e.prototype.dataErrorServerInfo=null,e.prototype.planetaryDatabase=l.emptyArray,e.prototype.logServer=null,e.prototype.autopiaOptions=null,e.prototype.searchConfig=null,e.prototype.searchInfo=null,e.prototype.elevationServiceBaseUrl="http://maps.google.com/maps/api/elevation/",e.prototype.elevationProfileQueryDelay=500,e.prototype.proUpgradeUrl=null,e.prototype.earthCommunityUrl=null,e.prototype.googleMapsUrl=null,e.prototype.sharingUrl=null,e.prototype.privacyPolicyUrl=null,e.prototype.doGplusUserCheck=!1,e.prototype.rocktreeDataProto=null,e.prototype.filmstripConfig=l.emptyArray,e.prototype.showSigninButton=!1,e.prototype.proMeasureUpsellUrl=null,e.prototype.proPrintUpsellUrl=null,e.prototype.starDataProto=null,e.prototype.feedbackUrl=null,e.prototype.oauth2LoginUrl=null;var n={0:"keyhole.dbroot.PlanetModelProto",1:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.MfeDomainFeaturesProto",6:"keyhole.dbroot.StringIdOrValueProto",9:"keyhole.dbroot.StringIdOrValueProto",10:"keyhole.dbroot.StringIdOrValueProto",12:"keyhole.dbroot.StringIdOrValueProto",14:"keyhole.dbroot.StringIdOrValueProto",15:"keyhole.dbroot.StringIdOrValueProto",16:"keyhole.dbroot.StringIdOrValueProto",17:"keyhole.dbroot.StringIdOrValueProto",18:"keyhole.dbroot.StringIdOrValueProto",19:"keyhole.dbroot.StringIdOrValueProto",20:"keyhole.dbroot.StringIdOrValueProto",21:"keyhole.dbroot.StringIdOrValueProto",22:"keyhole.dbroot.StringIdOrValueProto",23:"keyhole.dbroot.StringIdOrValueProto",24:"keyhole.dbroot.StringIdOrValueProto",25:"keyhole.dbroot.StringIdOrValueProto",26:"keyhole.dbroot.StringIdOrValueProto",27:"keyhole.dbroot.StringIdOrValueProto",28:"keyhole.dbroot.StringIdOrValueProto",29:"keyhole.dbroot.StringIdOrValueProto",30:"keyhole.dbroot.StringIdOrValueProto",33:"keyhole.dbroot.StringIdOrValueProto",35:"keyhole.dbroot.StringIdOrValueProto",36:"keyhole.dbroot.ClientOptionsProto",37:"keyhole.dbroot.FetchingOptionsProto",38:"keyhole.dbroot.TimeMachineOptionsProto",39:"keyhole.dbroot.CSIOptionsProto",40:"keyhole.dbroot.SearchTabProto",41:"keyhole.dbroot.CobrandProto",42:"keyhole.dbroot.DatabaseDescriptionProto",43:"keyhole.dbroot.ConfigScriptProto",44:"keyhole.dbroot.StringIdOrValueProto",45:"keyhole.dbroot.SwoopParamsProto",46:"keyhole.dbroot.PostingServerProto",47:"keyhole.dbroot.PostingServerProto",48:"keyhole.dbroot.PlanetaryDatabaseProto",49:"keyhole.dbroot.LogServerProto",50:"keyhole.dbroot.AutopiaOptionsProto",51:"keyhole.dbroot.EndSnippetProto.SearchConfigProto",52:"keyhole.dbroot.EndSnippetProto.SearchInfoProto",55:"keyhole.dbroot.StringIdOrValueProto",56:"keyhole.dbroot.StringIdOrValueProto",57:"keyhole.dbroot.StringIdOrValueProto",58:"keyhole.dbroot.StringIdOrValueProto",59:"keyhole.dbroot.StringIdOrValueProto",61:"keyhole.dbroot.EndSnippetProto.RockTreeDataProto",62:"keyhole.dbroot.EndSnippetProto.FilmstripConfigProto",64:"keyhole.dbroot.StringIdOrValueProto",65:"keyhole.dbroot.StringIdOrValueProto",66:"keyhole.dbroot.EndSnippetProto.StarDataProto",67:"keyhole.dbroot.StringIdOrValueProto",68:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.model=n[0].decode(e,e.uint32());break;case 2:o.authServerUrl=n[1].decode(e,e.uint32());break;case 3:o.disableAuthentication=e.bool();break;case 4:o.mfeDomains&&o.mfeDomains.length||(o.mfeDomains=[]),o.mfeDomains.push(n[3].decode(e,e.uint32()));break;case 5:o.mfeLangParam=e.string();break;case 6:o.adsUrlPatterns=e.string();break;case 7:o.reverseGeocoderUrl=n[6].decode(e,e.uint32());break;case 8:o.reverseGeocoderProtocolVersion=e.int32();break;case 9:o.skyDatabaseIsAvailable=e.bool();break;case 10:o.skyDatabaseUrl=n[9].decode(e,e.uint32());break;case 11:o.defaultWebPageIntlUrl=n[10].decode(e,e.uint32());break;case 12:o.numStartUpTips=e.int32();break;case 13:o.startUpTipsUrl=n[12].decode(e,e.uint32());break;case 51:o.numProStartUpTips=e.int32();break;case 52:o.proStartUpTipsUrl=n[14].decode(e,e.uint32());break;case 64:o.startupTipsIntlUrl=n[15].decode(e,e.uint32());break;case 14:o.userGuideIntlUrl=n[16].decode(e,e.uint32());break;case 15:o.supportCenterIntlUrl=n[17].decode(e,e.uint32());break;case 16:o.businessListingIntlUrl=n[18].decode(e,e.uint32());break;case 17:o.supportAnswerIntlUrl=n[19].decode(e,e.uint32());break;case 18:o.supportTopicIntlUrl=n[20].decode(e,e.uint32());break;case 19:o.supportRequestIntlUrl=n[21].decode(e,e.uint32());break;case 20:o.earthIntlUrl=n[22].decode(e,e.uint32());break;case 21:o.addContentUrl=n[23].decode(e,e.uint32());break;case 22:o.sketchupNotInstalledUrl=n[24].decode(e,e.uint32());break;case 23:o.sketchupErrorUrl=n[25].decode(e,e.uint32());break;case 24:o.freeLicenseUrl=n[26].decode(e,e.uint32());break;case 25:o.proLicenseUrl=n[27].decode(e,e.uint32());break;case 48:o.tutorialUrl=n[28].decode(e,e.uint32());break;case 49:o.keyboardShortcutsUrl=n[29].decode(e,e.uint32());break;case 50:o.releaseNotesUrl=n[30].decode(e,e.uint32());break;case 26:o.hideUserData=e.bool();break;case 27:o.useGeLogo=e.bool();break;case 28:o.dioramaDescriptionUrlBase=n[33].decode(e,e.uint32());break;case 29:o.dioramaDefaultColor=e.uint32();break;case 53:o.dioramaBlacklistUrl=n[35].decode(e,e.uint32());break;case 30:o.clientOptions=n[36].decode(e,e.uint32());break;case 31:o.fetchingOptions=n[37].decode(e,e.uint32());break;case 32:o.timeMachineOptions=n[38].decode(e,e.uint32());break;case 33:o.csiOptions=n[39].decode(e,e.uint32());break;case 34:o.searchTab&&o.searchTab.length||(o.searchTab=[]),o.searchTab.push(n[40].decode(e,e.uint32()));break;case 35:o.cobrandInfo&&o.cobrandInfo.length||(o.cobrandInfo=[]),o.cobrandInfo.push(n[41].decode(e,e.uint32()));break;case 36:o.validDatabase&&o.validDatabase.length||(o.validDatabase=[]),o.validDatabase.push(n[42].decode(e,e.uint32()));break;case 37:o.configScript&&o.configScript.length||(o.configScript=[]),o.configScript.push(n[43].decode(e,e.uint32()));break;case 38:o.deauthServerUrl=n[44].decode(e,e.uint32());break;case 39:o.swoopParameters=n[45].decode(e,e.uint32());break;case 40:o.bbsServerInfo=n[46].decode(e,e.uint32());break;case 41:o.dataErrorServerInfo=n[47].decode(e,e.uint32());break;case 42:o.planetaryDatabase&&o.planetaryDatabase.length||(o.planetaryDatabase=[]),o.planetaryDatabase.push(n[48].decode(e,e.uint32()));break;case 43:o.logServer=n[49].decode(e,e.uint32());break;case 44:o.autopiaOptions=n[50].decode(e,e.uint32());break;case 54:o.searchConfig=n[51].decode(e,e.uint32());break;case 45:o.searchInfo=n[52].decode(e,e.uint32());break;case 46:o.elevationServiceBaseUrl=e.string();break;case 47:o.elevationProfileQueryDelay=e.int32();break;case 55:o.proUpgradeUrl=n[55].decode(e,e.uint32());break;case 56:o.earthCommunityUrl=n[56].decode(e,e.uint32());break;case 57:o.googleMapsUrl=n[57].decode(e,e.uint32());break;case 58:o.sharingUrl=n[58].decode(e,e.uint32());break;case 59:o.privacyPolicyUrl=n[59].decode(e,e.uint32());break;case 60:o.doGplusUserCheck=e.bool();break;case 61:o.rocktreeDataProto=n[61].decode(e,e.uint32());break;case 62:o.filmstripConfig&&o.filmstripConfig.length||(o.filmstripConfig=[]),o.filmstripConfig.push(n[62].decode(e,e.uint32()));break;case 63:o.showSigninButton=e.bool();break;case 65:o.proMeasureUpsellUrl=n[64].decode(e,e.uint32());break;case 66:o.proPrintUpsellUrl=n[65].decode(e,e.uint32());break;case 67:o.starDataProto=n[66].decode(e,e.uint32());break;case 68:o.feedbackUrl=n[67].decode(e,e.uint32());break;case 69:o.oauth2LoginUrl=n[68].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.model&&null!==e.model&&(t=n[0].verify(e.model)))return"model."+t;if(void 0!==e.authServerUrl&&null!==e.authServerUrl&&(t=n[1].verify(e.authServerUrl)))return"authServerUrl."+t;if(void 0!==e.disableAuthentication&&"boolean"!=typeof e.disableAuthentication)return"disableAuthentication: boolean expected";if(void 0!==e.mfeDomains){if(!Array.isArray(e.mfeDomains))return"mfeDomains: array expected";for(var r=0;r<e.mfeDomains.length;++r)if(t=n[3].verify(e.mfeDomains[r]))return"mfeDomains."+t}if(void 0!==e.mfeLangParam&&!l.isString(e.mfeLangParam))return"mfeLangParam: string expected";if(void 0!==e.adsUrlPatterns&&!l.isString(e.adsUrlPatterns))return"adsUrlPatterns: string expected";if(void 0!==e.reverseGeocoderUrl&&null!==e.reverseGeocoderUrl&&(t=n[6].verify(e.reverseGeocoderUrl)))return"reverseGeocoderUrl."+t;if(void 0!==e.reverseGeocoderProtocolVersion&&!l.isInteger(e.reverseGeocoderProtocolVersion))return"reverseGeocoderProtocolVersion: integer expected";if(void 0!==e.skyDatabaseIsAvailable&&"boolean"!=typeof e.skyDatabaseIsAvailable)return"skyDatabaseIsAvailable: boolean expected";if(void 0!==e.skyDatabaseUrl&&null!==e.skyDatabaseUrl&&(t=n[9].verify(e.skyDatabaseUrl)))return"skyDatabaseUrl."+t;if(void 0!==e.defaultWebPageIntlUrl&&null!==e.defaultWebPageIntlUrl&&(t=n[10].verify(e.defaultWebPageIntlUrl)))return"defaultWebPageIntlUrl."+t;if(void 0!==e.numStartUpTips&&!l.isInteger(e.numStartUpTips))return"numStartUpTips: integer expected";if(void 0!==e.startUpTipsUrl&&null!==e.startUpTipsUrl&&(t=n[12].verify(e.startUpTipsUrl)))return"startUpTipsUrl."+t;if(void 0!==e.numProStartUpTips&&!l.isInteger(e.numProStartUpTips))return"numProStartUpTips: integer expected";if(void 0!==e.proStartUpTipsUrl&&null!==e.proStartUpTipsUrl&&(t=n[14].verify(e.proStartUpTipsUrl)))return"proStartUpTipsUrl."+t;if(void 0!==e.startupTipsIntlUrl&&null!==e.startupTipsIntlUrl&&(t=n[15].verify(e.startupTipsIntlUrl)))return"startupTipsIntlUrl."+t;if(void 0!==e.userGuideIntlUrl&&null!==e.userGuideIntlUrl&&(t=n[16].verify(e.userGuideIntlUrl)))return"userGuideIntlUrl."+t;if(void 0!==e.supportCenterIntlUrl&&null!==e.supportCenterIntlUrl&&(t=n[17].verify(e.supportCenterIntlUrl)))return"supportCenterIntlUrl."+t;if(void 0!==e.businessListingIntlUrl&&null!==e.businessListingIntlUrl&&(t=n[18].verify(e.businessListingIntlUrl)))return"businessListingIntlUrl."+t;if(void 0!==e.supportAnswerIntlUrl&&null!==e.supportAnswerIntlUrl&&(t=n[19].verify(e.supportAnswerIntlUrl)))return"supportAnswerIntlUrl."+t;if(void 0!==e.supportTopicIntlUrl&&null!==e.supportTopicIntlUrl&&(t=n[20].verify(e.supportTopicIntlUrl)))return"supportTopicIntlUrl."+t;if(void 0!==e.supportRequestIntlUrl&&null!==e.supportRequestIntlUrl&&(t=n[21].verify(e.supportRequestIntlUrl)))return"supportRequestIntlUrl."+t;if(void 0!==e.earthIntlUrl&&null!==e.earthIntlUrl&&(t=n[22].verify(e.earthIntlUrl)))return"earthIntlUrl."+t;if(void 0!==e.addContentUrl&&null!==e.addContentUrl&&(t=n[23].verify(e.addContentUrl)))return"addContentUrl."+t;if(void 0!==e.sketchupNotInstalledUrl&&null!==e.sketchupNotInstalledUrl&&(t=n[24].verify(e.sketchupNotInstalledUrl)))return"sketchupNotInstalledUrl."+t;if(void 0!==e.sketchupErrorUrl&&null!==e.sketchupErrorUrl&&(t=n[25].verify(e.sketchupErrorUrl)))return"sketchupErrorUrl."+t;if(void 0!==e.freeLicenseUrl&&null!==e.freeLicenseUrl&&(t=n[26].verify(e.freeLicenseUrl)))return"freeLicenseUrl."+t;if(void 0!==e.proLicenseUrl&&null!==e.proLicenseUrl&&(t=n[27].verify(e.proLicenseUrl)))return"proLicenseUrl."+t;if(void 0!==e.tutorialUrl&&null!==e.tutorialUrl&&(t=n[28].verify(e.tutorialUrl)))return"tutorialUrl."+t;if(void 0!==e.keyboardShortcutsUrl&&null!==e.keyboardShortcutsUrl&&(t=n[29].verify(e.keyboardShortcutsUrl)))return"keyboardShortcutsUrl."+t;if(void 0!==e.releaseNotesUrl&&null!==e.releaseNotesUrl&&(t=n[30].verify(e.releaseNotesUrl)))return"releaseNotesUrl."+t;if(void 0!==e.hideUserData&&"boolean"!=typeof e.hideUserData)return"hideUserData: boolean expected";if(void 0!==e.useGeLogo&&"boolean"!=typeof e.useGeLogo)return"useGeLogo: boolean expected";if(void 0!==e.dioramaDescriptionUrlBase&&null!==e.dioramaDescriptionUrlBase&&(t=n[33].verify(e.dioramaDescriptionUrlBase)))return"dioramaDescriptionUrlBase."+t;if(void 0!==e.dioramaDefaultColor&&!l.isInteger(e.dioramaDefaultColor))return"dioramaDefaultColor: integer expected";if(void 0!==e.dioramaBlacklistUrl&&null!==e.dioramaBlacklistUrl&&(t=n[35].verify(e.dioramaBlacklistUrl)))return"dioramaBlacklistUrl."+t;if(void 0!==e.clientOptions&&null!==e.clientOptions&&(t=n[36].verify(e.clientOptions)))return"clientOptions."+t;if(void 0!==e.fetchingOptions&&null!==e.fetchingOptions&&(t=n[37].verify(e.fetchingOptions)))return"fetchingOptions."+t;if(void 0!==e.timeMachineOptions&&null!==e.timeMachineOptions&&(t=n[38].verify(e.timeMachineOptions)))return"timeMachineOptions."+t;if(void 0!==e.csiOptions&&null!==e.csiOptions&&(t=n[39].verify(e.csiOptions)))return"csiOptions."+t;if(void 0!==e.searchTab){if(!Array.isArray(e.searchTab))return"searchTab: array expected";for(r=0;r<e.searchTab.length;++r)if(t=n[40].verify(e.searchTab[r]))return"searchTab."+t}if(void 0!==e.cobrandInfo){if(!Array.isArray(e.cobrandInfo))return"cobrandInfo: array expected";for(r=0;r<e.cobrandInfo.length;++r)if(t=n[41].verify(e.cobrandInfo[r]))return"cobrandInfo."+t}if(void 0!==e.validDatabase){if(!Array.isArray(e.validDatabase))return"validDatabase: array expected";for(r=0;r<e.validDatabase.length;++r)if(t=n[42].verify(e.validDatabase[r]))return"validDatabase."+t}if(void 0!==e.configScript){if(!Array.isArray(e.configScript))return"configScript: array expected";for(r=0;r<e.configScript.length;++r)if(t=n[43].verify(e.configScript[r]))return"configScript."+t}if(void 0!==e.deauthServerUrl&&null!==e.deauthServerUrl&&(t=n[44].verify(e.deauthServerUrl)))return"deauthServerUrl."+t;if(void 0!==e.swoopParameters&&null!==e.swoopParameters&&(t=n[45].verify(e.swoopParameters)))return"swoopParameters."+t;if(void 0!==e.bbsServerInfo&&null!==e.bbsServerInfo&&(t=n[46].verify(e.bbsServerInfo)))return"bbsServerInfo."+t;if(void 0!==e.dataErrorServerInfo&&null!==e.dataErrorServerInfo&&(t=n[47].verify(e.dataErrorServerInfo)))return"dataErrorServerInfo."+t;if(void 0!==e.planetaryDatabase){if(!Array.isArray(e.planetaryDatabase))return"planetaryDatabase: array expected";for(r=0;r<e.planetaryDatabase.length;++r)if(t=n[48].verify(e.planetaryDatabase[r]))return"planetaryDatabase."+t}if(void 0!==e.logServer&&null!==e.logServer&&(t=n[49].verify(e.logServer)))return"logServer."+t;if(void 0!==e.autopiaOptions&&null!==e.autopiaOptions&&(t=n[50].verify(e.autopiaOptions)))return"autopiaOptions."+t;if(void 0!==e.searchConfig&&null!==e.searchConfig&&(t=n[51].verify(e.searchConfig)))return"searchConfig."+t;if(void 0!==e.searchInfo&&null!==e.searchInfo&&(t=n[52].verify(e.searchInfo)))return"searchInfo."+t;if(void 0!==e.elevationServiceBaseUrl&&!l.isString(e.elevationServiceBaseUrl))return"elevationServiceBaseUrl: string expected";if(void 0!==e.elevationProfileQueryDelay&&!l.isInteger(e.elevationProfileQueryDelay))return"elevationProfileQueryDelay: integer expected";if(void 0!==e.proUpgradeUrl&&null!==e.proUpgradeUrl&&(t=n[55].verify(e.proUpgradeUrl)))return"proUpgradeUrl."+t;if(void 0!==e.earthCommunityUrl&&null!==e.earthCommunityUrl&&(t=n[56].verify(e.earthCommunityUrl)))return"earthCommunityUrl."+t;if(void 0!==e.googleMapsUrl&&null!==e.googleMapsUrl&&(t=n[57].verify(e.googleMapsUrl)))return"googleMapsUrl."+t;if(void 0!==e.sharingUrl&&null!==e.sharingUrl&&(t=n[58].verify(e.sharingUrl)))return"sharingUrl."+t;if(void 0!==e.privacyPolicyUrl&&null!==e.privacyPolicyUrl&&(t=n[59].verify(e.privacyPolicyUrl)))return"privacyPolicyUrl."+t;if(void 0!==e.doGplusUserCheck&&"boolean"!=typeof e.doGplusUserCheck)return"doGplusUserCheck: boolean expected";if(void 0!==e.rocktreeDataProto&&null!==e.rocktreeDataProto&&(t=n[61].verify(e.rocktreeDataProto)))return"rocktreeDataProto."+t;if(void 0!==e.filmstripConfig){if(!Array.isArray(e.filmstripConfig))return"filmstripConfig: array expected";for(r=0;r<e.filmstripConfig.length;++r){var t;if(t=n[62].verify(e.filmstripConfig[r]))return"filmstripConfig."+t}}return void 0!==e.showSigninButton&&"boolean"!=typeof e.showSigninButton?"showSigninButton: boolean expected":void 0!==e.proMeasureUpsellUrl&&null!==e.proMeasureUpsellUrl&&(t=n[64].verify(e.proMeasureUpsellUrl))?"proMeasureUpsellUrl."+t:void 0!==e.proPrintUpsellUrl&&null!==e.proPrintUpsellUrl&&(t=n[65].verify(e.proPrintUpsellUrl))?"proPrintUpsellUrl."+t:void 0!==e.starDataProto&&null!==e.starDataProto&&(t=n[66].verify(e.starDataProto))?"starDataProto."+t:void 0!==e.feedbackUrl&&null!==e.feedbackUrl&&(t=n[67].verify(e.feedbackUrl))?"feedbackUrl."+t:void 0!==e.oauth2LoginUrl&&null!==e.oauth2LoginUrl&&(t=n[68].verify(e.oauth2LoginUrl))?"oauth2LoginUrl."+t:null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto)return e;var r=new p.keyhole.dbroot.EndSnippetProto;if(void 0!==e.model&&null!==e.model){if("object"!=typeof e.model)throw TypeError(".keyhole.dbroot.EndSnippetProto.model: object expected");r.model=n[0].fromObject(e.model)}if(void 0!==e.authServerUrl&&null!==e.authServerUrl){if("object"!=typeof e.authServerUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.authServerUrl: object expected");r.authServerUrl=n[1].fromObject(e.authServerUrl)}if(void 0!==e.disableAuthentication&&null!==e.disableAuthentication&&(r.disableAuthentication=Boolean(e.disableAuthentication)),e.mfeDomains){if(!Array.isArray(e.mfeDomains))throw TypeError(".keyhole.dbroot.EndSnippetProto.mfeDomains: array expected");r.mfeDomains=[];for(var t=0;t<e.mfeDomains.length;++t){if("object"!=typeof e.mfeDomains[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.mfeDomains: object expected");r.mfeDomains[t]=n[3].fromObject(e.mfeDomains[t])}}if(void 0!==e.mfeLangParam&&null!==e.mfeLangParam&&(r.mfeLangParam=String(e.mfeLangParam)),void 0!==e.adsUrlPatterns&&null!==e.adsUrlPatterns&&(r.adsUrlPatterns=String(e.adsUrlPatterns)),void 0!==e.reverseGeocoderUrl&&null!==e.reverseGeocoderUrl){if("object"!=typeof e.reverseGeocoderUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.reverseGeocoderUrl: object expected");r.reverseGeocoderUrl=n[6].fromObject(e.reverseGeocoderUrl)}if(void 0!==e.reverseGeocoderProtocolVersion&&null!==e.reverseGeocoderProtocolVersion&&(r.reverseGeocoderProtocolVersion=0|e.reverseGeocoderProtocolVersion),void 0!==e.skyDatabaseIsAvailable&&null!==e.skyDatabaseIsAvailable&&(r.skyDatabaseIsAvailable=Boolean(e.skyDatabaseIsAvailable)),void 0!==e.skyDatabaseUrl&&null!==e.skyDatabaseUrl){if("object"!=typeof e.skyDatabaseUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.skyDatabaseUrl: object expected");r.skyDatabaseUrl=n[9].fromObject(e.skyDatabaseUrl)}if(void 0!==e.defaultWebPageIntlUrl&&null!==e.defaultWebPageIntlUrl){if("object"!=typeof e.defaultWebPageIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.defaultWebPageIntlUrl: object expected");r.defaultWebPageIntlUrl=n[10].fromObject(e.defaultWebPageIntlUrl)}if(void 0!==e.numStartUpTips&&null!==e.numStartUpTips&&(r.numStartUpTips=0|e.numStartUpTips),void 0!==e.startUpTipsUrl&&null!==e.startUpTipsUrl){if("object"!=typeof e.startUpTipsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.startUpTipsUrl: object expected");r.startUpTipsUrl=n[12].fromObject(e.startUpTipsUrl)}if(void 0!==e.numProStartUpTips&&null!==e.numProStartUpTips&&(r.numProStartUpTips=0|e.numProStartUpTips),void 0!==e.proStartUpTipsUrl&&null!==e.proStartUpTipsUrl){if("object"!=typeof e.proStartUpTipsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proStartUpTipsUrl: object expected");r.proStartUpTipsUrl=n[14].fromObject(e.proStartUpTipsUrl)}if(void 0!==e.startupTipsIntlUrl&&null!==e.startupTipsIntlUrl){if("object"!=typeof e.startupTipsIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.startupTipsIntlUrl: object expected");r.startupTipsIntlUrl=n[15].fromObject(e.startupTipsIntlUrl)}if(void 0!==e.userGuideIntlUrl&&null!==e.userGuideIntlUrl){if("object"!=typeof e.userGuideIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.userGuideIntlUrl: object expected");r.userGuideIntlUrl=n[16].fromObject(e.userGuideIntlUrl)}if(void 0!==e.supportCenterIntlUrl&&null!==e.supportCenterIntlUrl){if("object"!=typeof e.supportCenterIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportCenterIntlUrl: object expected");r.supportCenterIntlUrl=n[17].fromObject(e.supportCenterIntlUrl)}if(void 0!==e.businessListingIntlUrl&&null!==e.businessListingIntlUrl){if("object"!=typeof e.businessListingIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.businessListingIntlUrl: object expected");r.businessListingIntlUrl=n[18].fromObject(e.businessListingIntlUrl)}if(void 0!==e.supportAnswerIntlUrl&&null!==e.supportAnswerIntlUrl){if("object"!=typeof e.supportAnswerIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportAnswerIntlUrl: object expected");r.supportAnswerIntlUrl=n[19].fromObject(e.supportAnswerIntlUrl)}if(void 0!==e.supportTopicIntlUrl&&null!==e.supportTopicIntlUrl){if("object"!=typeof e.supportTopicIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportTopicIntlUrl: object expected");r.supportTopicIntlUrl=n[20].fromObject(e.supportTopicIntlUrl)}if(void 0!==e.supportRequestIntlUrl&&null!==e.supportRequestIntlUrl){if("object"!=typeof e.supportRequestIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportRequestIntlUrl: object expected");r.supportRequestIntlUrl=n[21].fromObject(e.supportRequestIntlUrl)}if(void 0!==e.earthIntlUrl&&null!==e.earthIntlUrl){if("object"!=typeof e.earthIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.earthIntlUrl: object expected");r.earthIntlUrl=n[22].fromObject(e.earthIntlUrl)}if(void 0!==e.addContentUrl&&null!==e.addContentUrl){if("object"!=typeof e.addContentUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.addContentUrl: object expected");r.addContentUrl=n[23].fromObject(e.addContentUrl)}if(void 0!==e.sketchupNotInstalledUrl&&null!==e.sketchupNotInstalledUrl){if("object"!=typeof e.sketchupNotInstalledUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.sketchupNotInstalledUrl: object expected");r.sketchupNotInstalledUrl=n[24].fromObject(e.sketchupNotInstalledUrl)}if(void 0!==e.sketchupErrorUrl&&null!==e.sketchupErrorUrl){if("object"!=typeof e.sketchupErrorUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.sketchupErrorUrl: object expected");r.sketchupErrorUrl=n[25].fromObject(e.sketchupErrorUrl)}if(void 0!==e.freeLicenseUrl&&null!==e.freeLicenseUrl){if("object"!=typeof e.freeLicenseUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.freeLicenseUrl: object expected");r.freeLicenseUrl=n[26].fromObject(e.freeLicenseUrl)}if(void 0!==e.proLicenseUrl&&null!==e.proLicenseUrl){if("object"!=typeof e.proLicenseUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proLicenseUrl: object expected");r.proLicenseUrl=n[27].fromObject(e.proLicenseUrl)}if(void 0!==e.tutorialUrl&&null!==e.tutorialUrl){if("object"!=typeof e.tutorialUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.tutorialUrl: object expected");r.tutorialUrl=n[28].fromObject(e.tutorialUrl)}if(void 0!==e.keyboardShortcutsUrl&&null!==e.keyboardShortcutsUrl){if("object"!=typeof e.keyboardShortcutsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.keyboardShortcutsUrl: object expected");r.keyboardShortcutsUrl=n[29].fromObject(e.keyboardShortcutsUrl)}if(void 0!==e.releaseNotesUrl&&null!==e.releaseNotesUrl){if("object"!=typeof e.releaseNotesUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.releaseNotesUrl: object expected");r.releaseNotesUrl=n[30].fromObject(e.releaseNotesUrl)}if(void 0!==e.hideUserData&&null!==e.hideUserData&&(r.hideUserData=Boolean(e.hideUserData)),void 0!==e.useGeLogo&&null!==e.useGeLogo&&(r.useGeLogo=Boolean(e.useGeLogo)),void 0!==e.dioramaDescriptionUrlBase&&null!==e.dioramaDescriptionUrlBase){if("object"!=typeof e.dioramaDescriptionUrlBase)throw TypeError(".keyhole.dbroot.EndSnippetProto.dioramaDescriptionUrlBase: object expected");r.dioramaDescriptionUrlBase=n[33].fromObject(e.dioramaDescriptionUrlBase)}if(void 0!==e.dioramaDefaultColor&&null!==e.dioramaDefaultColor&&(r.dioramaDefaultColor=e.dioramaDefaultColor>>>0),void 0!==e.dioramaBlacklistUrl&&null!==e.dioramaBlacklistUrl){if("object"!=typeof e.dioramaBlacklistUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.dioramaBlacklistUrl: object expected");r.dioramaBlacklistUrl=n[35].fromObject(e.dioramaBlacklistUrl)}if(void 0!==e.clientOptions&&null!==e.clientOptions){if("object"!=typeof e.clientOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.clientOptions: object expected");r.clientOptions=n[36].fromObject(e.clientOptions)}if(void 0!==e.fetchingOptions&&null!==e.fetchingOptions){if("object"!=typeof e.fetchingOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.fetchingOptions: object expected");r.fetchingOptions=n[37].fromObject(e.fetchingOptions)}if(void 0!==e.timeMachineOptions&&null!==e.timeMachineOptions){if("object"!=typeof e.timeMachineOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.timeMachineOptions: object expected");r.timeMachineOptions=n[38].fromObject(e.timeMachineOptions)}if(void 0!==e.csiOptions&&null!==e.csiOptions){if("object"!=typeof e.csiOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.csiOptions: object expected");r.csiOptions=n[39].fromObject(e.csiOptions)}if(e.searchTab){if(!Array.isArray(e.searchTab))throw TypeError(".keyhole.dbroot.EndSnippetProto.searchTab: array expected");for(r.searchTab=[],t=0;t<e.searchTab.length;++t){if("object"!=typeof e.searchTab[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.searchTab: object expected");r.searchTab[t]=n[40].fromObject(e.searchTab[t])}}if(e.cobrandInfo){if(!Array.isArray(e.cobrandInfo))throw TypeError(".keyhole.dbroot.EndSnippetProto.cobrandInfo: array expected");for(r.cobrandInfo=[],t=0;t<e.cobrandInfo.length;++t){if("object"!=typeof e.cobrandInfo[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.cobrandInfo: object expected");r.cobrandInfo[t]=n[41].fromObject(e.cobrandInfo[t])}}if(e.validDatabase){if(!Array.isArray(e.validDatabase))throw TypeError(".keyhole.dbroot.EndSnippetProto.validDatabase: array expected");for(r.validDatabase=[],t=0;t<e.validDatabase.length;++t){if("object"!=typeof e.validDatabase[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.validDatabase: object expected");r.validDatabase[t]=n[42].fromObject(e.validDatabase[t])}}if(e.configScript){if(!Array.isArray(e.configScript))throw TypeError(".keyhole.dbroot.EndSnippetProto.configScript: array expected");for(r.configScript=[],t=0;t<e.configScript.length;++t){if("object"!=typeof e.configScript[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.configScript: object expected");r.configScript[t]=n[43].fromObject(e.configScript[t])}}if(void 0!==e.deauthServerUrl&&null!==e.deauthServerUrl){if("object"!=typeof e.deauthServerUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.deauthServerUrl: object expected");r.deauthServerUrl=n[44].fromObject(e.deauthServerUrl)}if(void 0!==e.swoopParameters&&null!==e.swoopParameters){if("object"!=typeof e.swoopParameters)throw TypeError(".keyhole.dbroot.EndSnippetProto.swoopParameters: object expected");r.swoopParameters=n[45].fromObject(e.swoopParameters)}if(void 0!==e.bbsServerInfo&&null!==e.bbsServerInfo){if("object"!=typeof e.bbsServerInfo)throw TypeError(".keyhole.dbroot.EndSnippetProto.bbsServerInfo: object expected");r.bbsServerInfo=n[46].fromObject(e.bbsServerInfo)}if(void 0!==e.dataErrorServerInfo&&null!==e.dataErrorServerInfo){if("object"!=typeof e.dataErrorServerInfo)throw TypeError(".keyhole.dbroot.EndSnippetProto.dataErrorServerInfo: object expected");r.dataErrorServerInfo=n[47].fromObject(e.dataErrorServerInfo)}if(e.planetaryDatabase){if(!Array.isArray(e.planetaryDatabase))throw TypeError(".keyhole.dbroot.EndSnippetProto.planetaryDatabase: array expected");for(r.planetaryDatabase=[],t=0;t<e.planetaryDatabase.length;++t){if("object"!=typeof e.planetaryDatabase[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.planetaryDatabase: object expected");r.planetaryDatabase[t]=n[48].fromObject(e.planetaryDatabase[t])}}if(void 0!==e.logServer&&null!==e.logServer){if("object"!=typeof e.logServer)throw TypeError(".keyhole.dbroot.EndSnippetProto.logServer: object expected");r.logServer=n[49].fromObject(e.logServer)}if(void 0!==e.autopiaOptions&&null!==e.autopiaOptions){if("object"!=typeof e.autopiaOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.autopiaOptions: object expected");r.autopiaOptions=n[50].fromObject(e.autopiaOptions)}if(void 0!==e.searchConfig&&null!==e.searchConfig){if("object"!=typeof e.searchConfig)throw TypeError(".keyhole.dbroot.EndSnippetProto.searchConfig: object expected");r.searchConfig=n[51].fromObject(e.searchConfig)}if(void 0!==e.searchInfo&&null!==e.searchInfo){if("object"!=typeof e.searchInfo)throw TypeError(".keyhole.dbroot.EndSnippetProto.searchInfo: object expected");r.searchInfo=n[52].fromObject(e.searchInfo)}if(void 0!==e.elevationServiceBaseUrl&&null!==e.elevationServiceBaseUrl&&(r.elevationServiceBaseUrl=String(e.elevationServiceBaseUrl)),void 0!==e.elevationProfileQueryDelay&&null!==e.elevationProfileQueryDelay&&(r.elevationProfileQueryDelay=0|e.elevationProfileQueryDelay),void 0!==e.proUpgradeUrl&&null!==e.proUpgradeUrl){if("object"!=typeof e.proUpgradeUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proUpgradeUrl: object expected");r.proUpgradeUrl=n[55].fromObject(e.proUpgradeUrl)}if(void 0!==e.earthCommunityUrl&&null!==e.earthCommunityUrl){if("object"!=typeof e.earthCommunityUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.earthCommunityUrl: object expected");r.earthCommunityUrl=n[56].fromObject(e.earthCommunityUrl)}if(void 0!==e.googleMapsUrl&&null!==e.googleMapsUrl){if("object"!=typeof e.googleMapsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.googleMapsUrl: object expected");r.googleMapsUrl=n[57].fromObject(e.googleMapsUrl)}if(void 0!==e.sharingUrl&&null!==e.sharingUrl){if("object"!=typeof e.sharingUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.sharingUrl: object expected");r.sharingUrl=n[58].fromObject(e.sharingUrl)}if(void 0!==e.privacyPolicyUrl&&null!==e.privacyPolicyUrl){if("object"!=typeof e.privacyPolicyUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.privacyPolicyUrl: object expected");r.privacyPolicyUrl=n[59].fromObject(e.privacyPolicyUrl)}if(void 0!==e.doGplusUserCheck&&null!==e.doGplusUserCheck&&(r.doGplusUserCheck=Boolean(e.doGplusUserCheck)),void 0!==e.rocktreeDataProto&&null!==e.rocktreeDataProto){if("object"!=typeof e.rocktreeDataProto)throw TypeError(".keyhole.dbroot.EndSnippetProto.rocktreeDataProto: object expected");r.rocktreeDataProto=n[61].fromObject(e.rocktreeDataProto)}if(e.filmstripConfig){if(!Array.isArray(e.filmstripConfig))throw TypeError(".keyhole.dbroot.EndSnippetProto.filmstripConfig: array expected");for(r.filmstripConfig=[],t=0;t<e.filmstripConfig.length;++t){if("object"!=typeof e.filmstripConfig[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.filmstripConfig: object expected");r.filmstripConfig[t]=n[62].fromObject(e.filmstripConfig[t])}}if(void 0!==e.showSigninButton&&null!==e.showSigninButton&&(r.showSigninButton=Boolean(e.showSigninButton)),void 0!==e.proMeasureUpsellUrl&&null!==e.proMeasureUpsellUrl){if("object"!=typeof e.proMeasureUpsellUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proMeasureUpsellUrl: object expected");r.proMeasureUpsellUrl=n[64].fromObject(e.proMeasureUpsellUrl)}if(void 0!==e.proPrintUpsellUrl&&null!==e.proPrintUpsellUrl){if("object"!=typeof e.proPrintUpsellUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proPrintUpsellUrl: object expected");r.proPrintUpsellUrl=n[65].fromObject(e.proPrintUpsellUrl)}if(void 0!==e.starDataProto&&null!==e.starDataProto){if("object"!=typeof e.starDataProto)throw TypeError(".keyhole.dbroot.EndSnippetProto.starDataProto: object expected");r.starDataProto=n[66].fromObject(e.starDataProto)}if(void 0!==e.feedbackUrl&&null!==e.feedbackUrl){if("object"!=typeof e.feedbackUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.feedbackUrl: object expected");r.feedbackUrl=n[67].fromObject(e.feedbackUrl)}if(void 0!==e.oauth2LoginUrl&&null!==e.oauth2LoginUrl){if("object"!=typeof e.oauth2LoginUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.oauth2LoginUrl: object expected");r.oauth2LoginUrl=n[68].fromObject(e.oauth2LoginUrl)}return r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.mfeDomains=[],t.searchTab=[],t.cobrandInfo=[],t.validDatabase=[],t.configScript=[],t.planetaryDatabase=[],t.filmstripConfig=[]),r.defaults&&(t.model=null,t.authServerUrl=null,t.disableAuthentication=!1,t.mfeLangParam="hl=$5Bhl5D",t.adsUrlPatterns="",t.reverseGeocoderUrl=null,t.reverseGeocoderProtocolVersion=3,t.skyDatabaseIsAvailable=!0,t.skyDatabaseUrl=null,t.defaultWebPageIntlUrl=null,t.numStartUpTips=17,t.startUpTipsUrl=null,t.numProStartUpTips=0,t.proStartUpTipsUrl=null,t.startupTipsIntlUrl=null,t.userGuideIntlUrl=null,t.supportCenterIntlUrl=null,t.businessListingIntlUrl=null,t.supportAnswerIntlUrl=null,t.supportTopicIntlUrl=null,t.supportRequestIntlUrl=null,t.earthIntlUrl=null,t.addContentUrl=null,t.sketchupNotInstalledUrl=null,t.sketchupErrorUrl=null,t.freeLicenseUrl=null,t.proLicenseUrl=null,t.tutorialUrl=null,t.keyboardShortcutsUrl=null,t.releaseNotesUrl=null,t.hideUserData=!1,t.useGeLogo=!0,t.dioramaDescriptionUrlBase=null,t.dioramaDefaultColor=4291281607,t.dioramaBlacklistUrl=null,t.clientOptions=null,t.fetchingOptions=null,t.timeMachineOptions=null,t.csiOptions=null,t.deauthServerUrl=null,t.swoopParameters=null,t.bbsServerInfo=null,t.dataErrorServerInfo=null,t.logServer=null,t.autopiaOptions=null,t.searchConfig=null,t.searchInfo=null,t.elevationServiceBaseUrl="http://maps.google.com/maps/api/elevation/",t.elevationProfileQueryDelay=500,t.proUpgradeUrl=null,t.earthCommunityUrl=null,t.googleMapsUrl=null,t.sharingUrl=null,t.privacyPolicyUrl=null,t.doGplusUserCheck=!1,t.rocktreeDataProto=null,t.showSigninButton=!1,t.proMeasureUpsellUrl=null,t.proPrintUpsellUrl=null,t.starDataProto=null,t.feedbackUrl=null,t.oauth2LoginUrl=null),void 0!==e.model&&null!==e.model&&e.hasOwnProperty("model")&&(t.model=n[0].toObject(e.model,r)),void 0!==e.authServerUrl&&null!==e.authServerUrl&&e.hasOwnProperty("authServerUrl")&&(t.authServerUrl=n[1].toObject(e.authServerUrl,r)),void 0!==e.disableAuthentication&&null!==e.disableAuthentication&&e.hasOwnProperty("disableAuthentication")&&(t.disableAuthentication=e.disableAuthentication),void 0!==e.mfeDomains&&null!==e.mfeDomains&&e.hasOwnProperty("mfeDomains")){t.mfeDomains=[];for(var o=0;o<e.mfeDomains.length;++o)t.mfeDomains[o]=n[3].toObject(e.mfeDomains[o],r)}if(void 0!==e.mfeLangParam&&null!==e.mfeLangParam&&e.hasOwnProperty("mfeLangParam")&&(t.mfeLangParam=e.mfeLangParam),void 0!==e.adsUrlPatterns&&null!==e.adsUrlPatterns&&e.hasOwnProperty("adsUrlPatterns")&&(t.adsUrlPatterns=e.adsUrlPatterns),void 0!==e.reverseGeocoderUrl&&null!==e.reverseGeocoderUrl&&e.hasOwnProperty("reverseGeocoderUrl")&&(t.reverseGeocoderUrl=n[6].toObject(e.reverseGeocoderUrl,r)),void 0!==e.reverseGeocoderProtocolVersion&&null!==e.reverseGeocoderProtocolVersion&&e.hasOwnProperty("reverseGeocoderProtocolVersion")&&(t.reverseGeocoderProtocolVersion=e.reverseGeocoderProtocolVersion),void 0!==e.skyDatabaseIsAvailable&&null!==e.skyDatabaseIsAvailable&&e.hasOwnProperty("skyDatabaseIsAvailable")&&(t.skyDatabaseIsAvailable=e.skyDatabaseIsAvailable),void 0!==e.skyDatabaseUrl&&null!==e.skyDatabaseUrl&&e.hasOwnProperty("skyDatabaseUrl")&&(t.skyDatabaseUrl=n[9].toObject(e.skyDatabaseUrl,r)),void 0!==e.defaultWebPageIntlUrl&&null!==e.defaultWebPageIntlUrl&&e.hasOwnProperty("defaultWebPageIntlUrl")&&(t.defaultWebPageIntlUrl=n[10].toObject(e.defaultWebPageIntlUrl,r)),void 0!==e.numStartUpTips&&null!==e.numStartUpTips&&e.hasOwnProperty("numStartUpTips")&&(t.numStartUpTips=e.numStartUpTips),void 0!==e.startUpTipsUrl&&null!==e.startUpTipsUrl&&e.hasOwnProperty("startUpTipsUrl")&&(t.startUpTipsUrl=n[12].toObject(e.startUpTipsUrl,r)),void 0!==e.numProStartUpTips&&null!==e.numProStartUpTips&&e.hasOwnProperty("numProStartUpTips")&&(t.numProStartUpTips=e.numProStartUpTips),void 0!==e.proStartUpTipsUrl&&null!==e.proStartUpTipsUrl&&e.hasOwnProperty("proStartUpTipsUrl")&&(t.proStartUpTipsUrl=n[14].toObject(e.proStartUpTipsUrl,r)),void 0!==e.startupTipsIntlUrl&&null!==e.startupTipsIntlUrl&&e.hasOwnProperty("startupTipsIntlUrl")&&(t.startupTipsIntlUrl=n[15].toObject(e.startupTipsIntlUrl,r)),void 0!==e.userGuideIntlUrl&&null!==e.userGuideIntlUrl&&e.hasOwnProperty("userGuideIntlUrl")&&(t.userGuideIntlUrl=n[16].toObject(e.userGuideIntlUrl,r)),void 0!==e.supportCenterIntlUrl&&null!==e.supportCenterIntlUrl&&e.hasOwnProperty("supportCenterIntlUrl")&&(t.supportCenterIntlUrl=n[17].toObject(e.supportCenterIntlUrl,r)),void 0!==e.businessListingIntlUrl&&null!==e.businessListingIntlUrl&&e.hasOwnProperty("businessListingIntlUrl")&&(t.businessListingIntlUrl=n[18].toObject(e.businessListingIntlUrl,r)),void 0!==e.supportAnswerIntlUrl&&null!==e.supportAnswerIntlUrl&&e.hasOwnProperty("supportAnswerIntlUrl")&&(t.supportAnswerIntlUrl=n[19].toObject(e.supportAnswerIntlUrl,r)),void 0!==e.supportTopicIntlUrl&&null!==e.supportTopicIntlUrl&&e.hasOwnProperty("supportTopicIntlUrl")&&(t.supportTopicIntlUrl=n[20].toObject(e.supportTopicIntlUrl,r)),void 0!==e.supportRequestIntlUrl&&null!==e.supportRequestIntlUrl&&e.hasOwnProperty("supportRequestIntlUrl")&&(t.supportRequestIntlUrl=n[21].toObject(e.supportRequestIntlUrl,r)),void 0!==e.earthIntlUrl&&null!==e.earthIntlUrl&&e.hasOwnProperty("earthIntlUrl")&&(t.earthIntlUrl=n[22].toObject(e.earthIntlUrl,r)),void 0!==e.addContentUrl&&null!==e.addContentUrl&&e.hasOwnProperty("addContentUrl")&&(t.addContentUrl=n[23].toObject(e.addContentUrl,r)),void 0!==e.sketchupNotInstalledUrl&&null!==e.sketchupNotInstalledUrl&&e.hasOwnProperty("sketchupNotInstalledUrl")&&(t.sketchupNotInstalledUrl=n[24].toObject(e.sketchupNotInstalledUrl,r)),void 0!==e.sketchupErrorUrl&&null!==e.sketchupErrorUrl&&e.hasOwnProperty("sketchupErrorUrl")&&(t.sketchupErrorUrl=n[25].toObject(e.sketchupErrorUrl,r)),void 0!==e.freeLicenseUrl&&null!==e.freeLicenseUrl&&e.hasOwnProperty("freeLicenseUrl")&&(t.freeLicenseUrl=n[26].toObject(e.freeLicenseUrl,r)),void 0!==e.proLicenseUrl&&null!==e.proLicenseUrl&&e.hasOwnProperty("proLicenseUrl")&&(t.proLicenseUrl=n[27].toObject(e.proLicenseUrl,r)),void 0!==e.tutorialUrl&&null!==e.tutorialUrl&&e.hasOwnProperty("tutorialUrl")&&(t.tutorialUrl=n[28].toObject(e.tutorialUrl,r)),void 0!==e.keyboardShortcutsUrl&&null!==e.keyboardShortcutsUrl&&e.hasOwnProperty("keyboardShortcutsUrl")&&(t.keyboardShortcutsUrl=n[29].toObject(e.keyboardShortcutsUrl,r)),void 0!==e.releaseNotesUrl&&null!==e.releaseNotesUrl&&e.hasOwnProperty("releaseNotesUrl")&&(t.releaseNotesUrl=n[30].toObject(e.releaseNotesUrl,r)),void 0!==e.hideUserData&&null!==e.hideUserData&&e.hasOwnProperty("hideUserData")&&(t.hideUserData=e.hideUserData),void 0!==e.useGeLogo&&null!==e.useGeLogo&&e.hasOwnProperty("useGeLogo")&&(t.useGeLogo=e.useGeLogo),void 0!==e.dioramaDescriptionUrlBase&&null!==e.dioramaDescriptionUrlBase&&e.hasOwnProperty("dioramaDescriptionUrlBase")&&(t.dioramaDescriptionUrlBase=n[33].toObject(e.dioramaDescriptionUrlBase,r)),void 0!==e.dioramaDefaultColor&&null!==e.dioramaDefaultColor&&e.hasOwnProperty("dioramaDefaultColor")&&(t.dioramaDefaultColor=e.dioramaDefaultColor),void 0!==e.dioramaBlacklistUrl&&null!==e.dioramaBlacklistUrl&&e.hasOwnProperty("dioramaBlacklistUrl")&&(t.dioramaBlacklistUrl=n[35].toObject(e.dioramaBlacklistUrl,r)),void 0!==e.clientOptions&&null!==e.clientOptions&&e.hasOwnProperty("clientOptions")&&(t.clientOptions=n[36].toObject(e.clientOptions,r)),void 0!==e.fetchingOptions&&null!==e.fetchingOptions&&e.hasOwnProperty("fetchingOptions")&&(t.fetchingOptions=n[37].toObject(e.fetchingOptions,r)),void 0!==e.timeMachineOptions&&null!==e.timeMachineOptions&&e.hasOwnProperty("timeMachineOptions")&&(t.timeMachineOptions=n[38].toObject(e.timeMachineOptions,r)),void 0!==e.csiOptions&&null!==e.csiOptions&&e.hasOwnProperty("csiOptions")&&(t.csiOptions=n[39].toObject(e.csiOptions,r)),void 0!==e.searchTab&&null!==e.searchTab&&e.hasOwnProperty("searchTab"))for(t.searchTab=[],o=0;o<e.searchTab.length;++o)t.searchTab[o]=n[40].toObject(e.searchTab[o],r);if(void 0!==e.cobrandInfo&&null!==e.cobrandInfo&&e.hasOwnProperty("cobrandInfo"))for(t.cobrandInfo=[],o=0;o<e.cobrandInfo.length;++o)t.cobrandInfo[o]=n[41].toObject(e.cobrandInfo[o],r);if(void 0!==e.validDatabase&&null!==e.validDatabase&&e.hasOwnProperty("validDatabase"))for(t.validDatabase=[],o=0;o<e.validDatabase.length;++o)t.validDatabase[o]=n[42].toObject(e.validDatabase[o],r);if(void 0!==e.configScript&&null!==e.configScript&&e.hasOwnProperty("configScript"))for(t.configScript=[],o=0;o<e.configScript.length;++o)t.configScript[o]=n[43].toObject(e.configScript[o],r);if(void 0!==e.deauthServerUrl&&null!==e.deauthServerUrl&&e.hasOwnProperty("deauthServerUrl")&&(t.deauthServerUrl=n[44].toObject(e.deauthServerUrl,r)),void 0!==e.swoopParameters&&null!==e.swoopParameters&&e.hasOwnProperty("swoopParameters")&&(t.swoopParameters=n[45].toObject(e.swoopParameters,r)),void 0!==e.bbsServerInfo&&null!==e.bbsServerInfo&&e.hasOwnProperty("bbsServerInfo")&&(t.bbsServerInfo=n[46].toObject(e.bbsServerInfo,r)),void 0!==e.dataErrorServerInfo&&null!==e.dataErrorServerInfo&&e.hasOwnProperty("dataErrorServerInfo")&&(t.dataErrorServerInfo=n[47].toObject(e.dataErrorServerInfo,r)),void 0!==e.planetaryDatabase&&null!==e.planetaryDatabase&&e.hasOwnProperty("planetaryDatabase"))for(t.planetaryDatabase=[],o=0;o<e.planetaryDatabase.length;++o)t.planetaryDatabase[o]=n[48].toObject(e.planetaryDatabase[o],r);if(void 0!==e.logServer&&null!==e.logServer&&e.hasOwnProperty("logServer")&&(t.logServer=n[49].toObject(e.logServer,r)),void 0!==e.autopiaOptions&&null!==e.autopiaOptions&&e.hasOwnProperty("autopiaOptions")&&(t.autopiaOptions=n[50].toObject(e.autopiaOptions,r)),void 0!==e.searchConfig&&null!==e.searchConfig&&e.hasOwnProperty("searchConfig")&&(t.searchConfig=n[51].toObject(e.searchConfig,r)),void 0!==e.searchInfo&&null!==e.searchInfo&&e.hasOwnProperty("searchInfo")&&(t.searchInfo=n[52].toObject(e.searchInfo,r)),void 0!==e.elevationServiceBaseUrl&&null!==e.elevationServiceBaseUrl&&e.hasOwnProperty("elevationServiceBaseUrl")&&(t.elevationServiceBaseUrl=e.elevationServiceBaseUrl),void 0!==e.elevationProfileQueryDelay&&null!==e.elevationProfileQueryDelay&&e.hasOwnProperty("elevationProfileQueryDelay")&&(t.elevationProfileQueryDelay=e.elevationProfileQueryDelay),void 0!==e.proUpgradeUrl&&null!==e.proUpgradeUrl&&e.hasOwnProperty("proUpgradeUrl")&&(t.proUpgradeUrl=n[55].toObject(e.proUpgradeUrl,r)),void 0!==e.earthCommunityUrl&&null!==e.earthCommunityUrl&&e.hasOwnProperty("earthCommunityUrl")&&(t.earthCommunityUrl=n[56].toObject(e.earthCommunityUrl,r)),void 0!==e.googleMapsUrl&&null!==e.googleMapsUrl&&e.hasOwnProperty("googleMapsUrl")&&(t.googleMapsUrl=n[57].toObject(e.googleMapsUrl,r)),void 0!==e.sharingUrl&&null!==e.sharingUrl&&e.hasOwnProperty("sharingUrl")&&(t.sharingUrl=n[58].toObject(e.sharingUrl,r)),void 0!==e.privacyPolicyUrl&&null!==e.privacyPolicyUrl&&e.hasOwnProperty("privacyPolicyUrl")&&(t.privacyPolicyUrl=n[59].toObject(e.privacyPolicyUrl,r)),void 0!==e.doGplusUserCheck&&null!==e.doGplusUserCheck&&e.hasOwnProperty("doGplusUserCheck")&&(t.doGplusUserCheck=e.doGplusUserCheck),void 0!==e.rocktreeDataProto&&null!==e.rocktreeDataProto&&e.hasOwnProperty("rocktreeDataProto")&&(t.rocktreeDataProto=n[61].toObject(e.rocktreeDataProto,r)),void 0!==e.filmstripConfig&&null!==e.filmstripConfig&&e.hasOwnProperty("filmstripConfig"))for(t.filmstripConfig=[],o=0;o<e.filmstripConfig.length;++o)t.filmstripConfig[o]=n[62].toObject(e.filmstripConfig[o],r);return void 0!==e.showSigninButton&&null!==e.showSigninButton&&e.hasOwnProperty("showSigninButton")&&(t.showSigninButton=e.showSigninButton),void 0!==e.proMeasureUpsellUrl&&null!==e.proMeasureUpsellUrl&&e.hasOwnProperty("proMeasureUpsellUrl")&&(t.proMeasureUpsellUrl=n[64].toObject(e.proMeasureUpsellUrl,r)),void 0!==e.proPrintUpsellUrl&&null!==e.proPrintUpsellUrl&&e.hasOwnProperty("proPrintUpsellUrl")&&(t.proPrintUpsellUrl=n[65].toObject(e.proPrintUpsellUrl,r)),void 0!==e.starDataProto&&null!==e.starDataProto&&e.hasOwnProperty("starDataProto")&&(t.starDataProto=n[66].toObject(e.starDataProto,r)),void 0!==e.feedbackUrl&&null!==e.feedbackUrl&&e.hasOwnProperty("feedbackUrl")&&(t.feedbackUrl=n[67].toObject(e.feedbackUrl,r)),void 0!==e.oauth2LoginUrl&&null!==e.oauth2LoginUrl&&e.hasOwnProperty("oauth2LoginUrl")&&(t.oauth2LoginUrl=n[68].toObject(e.oauth2LoginUrl,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.SearchConfigProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.searchServer=l.emptyArray,e.prototype.oneboxService=l.emptyArray,e.prototype.kmlSearchUrl=null,e.prototype.kmlRenderUrl=null,e.prototype.searchHistoryUrl=null,e.prototype.errorPageUrl=null;var n={0:"keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer",1:"keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto",2:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.StringIdOrValueProto",5:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto.SearchConfigProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.searchServer&&o.searchServer.length||(o.searchServer=[]),o.searchServer.push(n[0].decode(e,e.uint32()));break;case 2:o.oneboxService&&o.oneboxService.length||(o.oneboxService=[]),o.oneboxService.push(n[1].decode(e,e.uint32()));break;case 3:o.kmlSearchUrl=n[2].decode(e,e.uint32());break;case 4:o.kmlRenderUrl=n[3].decode(e,e.uint32());break;case 6:o.searchHistoryUrl=n[4].decode(e,e.uint32());break;case 5:o.errorPageUrl=n[5].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.searchServer){if(!Array.isArray(e.searchServer))return"searchServer: array expected";for(var r=0;r<e.searchServer.length;++r)if(t=n[0].verify(e.searchServer[r]))return"searchServer."+t}if(void 0!==e.oneboxService){if(!Array.isArray(e.oneboxService))return"oneboxService: array expected";for(r=0;r<e.oneboxService.length;++r)if(t=n[1].verify(e.oneboxService[r]))return"oneboxService."+t}var t;return void 0!==e.kmlSearchUrl&&null!==e.kmlSearchUrl&&(t=n[2].verify(e.kmlSearchUrl))?"kmlSearchUrl."+t:void 0!==e.kmlRenderUrl&&null!==e.kmlRenderUrl&&(t=n[3].verify(e.kmlRenderUrl))?"kmlRenderUrl."+t:void 0!==e.searchHistoryUrl&&null!==e.searchHistoryUrl&&(t=n[4].verify(e.searchHistoryUrl))?"searchHistoryUrl."+t:void 0!==e.errorPageUrl&&null!==e.errorPageUrl&&(t=n[5].verify(e.errorPageUrl))?"errorPageUrl."+t:null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto.SearchConfigProto)return e;var r=new p.keyhole.dbroot.EndSnippetProto.SearchConfigProto;if(e.searchServer){if(!Array.isArray(e.searchServer))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.searchServer: array expected");r.searchServer=[];for(var t=0;t<e.searchServer.length;++t){if("object"!=typeof e.searchServer[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.searchServer: object expected");r.searchServer[t]=n[0].fromObject(e.searchServer[t])}}if(e.oneboxService){if(!Array.isArray(e.oneboxService))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.oneboxService: array expected");for(r.oneboxService=[],t=0;t<e.oneboxService.length;++t){if("object"!=typeof e.oneboxService[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.oneboxService: object expected");r.oneboxService[t]=n[1].fromObject(e.oneboxService[t])}}if(void 0!==e.kmlSearchUrl&&null!==e.kmlSearchUrl){if("object"!=typeof e.kmlSearchUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.kmlSearchUrl: object expected");r.kmlSearchUrl=n[2].fromObject(e.kmlSearchUrl)}if(void 0!==e.kmlRenderUrl&&null!==e.kmlRenderUrl){if("object"!=typeof e.kmlRenderUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.kmlRenderUrl: object expected");r.kmlRenderUrl=n[3].fromObject(e.kmlRenderUrl)}if(void 0!==e.searchHistoryUrl&&null!==e.searchHistoryUrl){if("object"!=typeof e.searchHistoryUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.searchHistoryUrl: object expected");r.searchHistoryUrl=n[4].fromObject(e.searchHistoryUrl)}if(void 0!==e.errorPageUrl&&null!==e.errorPageUrl){if("object"!=typeof e.errorPageUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.errorPageUrl: object expected");r.errorPageUrl=n[5].fromObject(e.errorPageUrl)}return r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.searchServer=[],t.oneboxService=[]),r.defaults&&(t.kmlSearchUrl=null,t.kmlRenderUrl=null,t.searchHistoryUrl=null,t.errorPageUrl=null),void 0!==e.searchServer&&null!==e.searchServer&&e.hasOwnProperty("searchServer")){t.searchServer=[];for(var o=0;o<e.searchServer.length;++o)t.searchServer[o]=n[0].toObject(e.searchServer[o],r)}if(void 0!==e.oneboxService&&null!==e.oneboxService&&e.hasOwnProperty("oneboxService"))for(t.oneboxService=[],o=0;o<e.oneboxService.length;++o)t.oneboxService[o]=n[1].toObject(e.oneboxService[o],r);return void 0!==e.kmlSearchUrl&&null!==e.kmlSearchUrl&&e.hasOwnProperty("kmlSearchUrl")&&(t.kmlSearchUrl=n[2].toObject(e.kmlSearchUrl,r)),void 0!==e.kmlRenderUrl&&null!==e.kmlRenderUrl&&e.hasOwnProperty("kmlRenderUrl")&&(t.kmlRenderUrl=n[3].toObject(e.kmlRenderUrl,r)),void 0!==e.searchHistoryUrl&&null!==e.searchHistoryUrl&&e.hasOwnProperty("searchHistoryUrl")&&(t.searchHistoryUrl=n[4].toObject(e.searchHistoryUrl,r)),void 0!==e.errorPageUrl&&null!==e.errorPageUrl&&e.hasOwnProperty("errorPageUrl")&&(t.errorPageUrl=n[5].toObject(e.errorPageUrl,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.SearchServer=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.name=null,e.prototype.url=null,e.prototype.type=0,e.prototype.htmlTransformUrl=null,e.prototype.kmlTransformUrl=null,e.prototype.supplementalUi=null,e.prototype.suggestion=l.emptyArray,e.prototype.searchlet=l.emptyArray,e.prototype.requirements=null,e.prototype.suggestServer=null;var r,n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.StringIdOrValueProto",2:"keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.ResultType",3:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.StringIdOrValueProto",5:"keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi",6:"keyhole.dbroot.StringIdOrValueProto",7:"keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto",8:"keyhole.dbroot.RequirementProto",9:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.name=n[0].decode(e,e.uint32());break;case 2:o.url=n[1].decode(e,e.uint32());break;case 3:o.type=e.uint32();break;case 4:o.htmlTransformUrl=n[3].decode(e,e.uint32());break;case 5:o.kmlTransformUrl=n[4].decode(e,e.uint32());break;case 6:o.supplementalUi=n[5].decode(e,e.uint32());break;case 9:o.suggestion&&o.suggestion.length||(o.suggestion=[]),o.suggestion.push(n[6].decode(e,e.uint32()));break;case 7:o.searchlet&&o.searchlet.length||(o.searchlet=[]),o.searchlet.push(n[7].decode(e,e.uint32()));break;case 8:o.requirements=n[8].decode(e,e.uint32());break;case 10:o.suggestServer=n[9].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.name&&null!==e.name&&(t=n[0].verify(e.name)))return"name."+t;if(void 0!==e.url&&null!==e.url&&(t=n[1].verify(e.url)))return"url."+t;if(void 0!==e.type)switch(e.type){default:return"type: enum value expected";case 0:case 1:}if(void 0!==e.htmlTransformUrl&&null!==e.htmlTransformUrl&&(t=n[3].verify(e.htmlTransformUrl)))return"htmlTransformUrl."+t;if(void 0!==e.kmlTransformUrl&&null!==e.kmlTransformUrl&&(t=n[4].verify(e.kmlTransformUrl)))return"kmlTransformUrl."+t;if(void 0!==e.supplementalUi&&null!==e.supplementalUi&&(t=n[5].verify(e.supplementalUi)))return"supplementalUi."+t;if(void 0!==e.suggestion){if(!Array.isArray(e.suggestion))return"suggestion: array expected";for(var r=0;r<e.suggestion.length;++r)if(t=n[6].verify(e.suggestion[r]))return"suggestion."+t}if(void 0!==e.searchlet){if(!Array.isArray(e.searchlet))return"searchlet: array expected";for(r=0;r<e.searchlet.length;++r){var t;if(t=n[7].verify(e.searchlet[r]))return"searchlet."+t}}return void 0!==e.requirements&&null!==e.requirements&&(t=n[8].verify(e.requirements))?"requirements."+t:void 0!==e.suggestServer&&null!==e.suggestServer&&(t=n[9].verify(e.suggestServer))?"suggestServer."+t:null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer)return e;var r=new p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer;if(void 0!==e.name&&null!==e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.name: object expected");r.name=n[0].fromObject(e.name)}if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.url: object expected");r.url=n[1].fromObject(e.url)}switch(e.type){case"RESULT_TYPE_KML":case 0:r.type=0;break;case"RESULT_TYPE_XML":case 1:r.type=1}if(void 0!==e.htmlTransformUrl&&null!==e.htmlTransformUrl){if("object"!=typeof e.htmlTransformUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.htmlTransformUrl: object expected");r.htmlTransformUrl=n[3].fromObject(e.htmlTransformUrl)}if(void 0!==e.kmlTransformUrl&&null!==e.kmlTransformUrl){if("object"!=typeof e.kmlTransformUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.kmlTransformUrl: object expected");r.kmlTransformUrl=n[4].fromObject(e.kmlTransformUrl)}if(void 0!==e.supplementalUi&&null!==e.supplementalUi){if("object"!=typeof e.supplementalUi)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.supplementalUi: object expected");r.supplementalUi=n[5].fromObject(e.supplementalUi)}if(e.suggestion){if(!Array.isArray(e.suggestion))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.suggestion: array expected");r.suggestion=[];for(var t=0;t<e.suggestion.length;++t){if("object"!=typeof e.suggestion[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.suggestion: object expected");r.suggestion[t]=n[6].fromObject(e.suggestion[t])}}if(e.searchlet){if(!Array.isArray(e.searchlet))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.searchlet: array expected");for(r.searchlet=[],t=0;t<e.searchlet.length;++t){if("object"!=typeof e.searchlet[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.searchlet: object expected");r.searchlet[t]=n[7].fromObject(e.searchlet[t])}}if(void 0!==e.requirements&&null!==e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.requirements: object expected");r.requirements=n[8].fromObject(e.requirements)}if(void 0!==e.suggestServer&&null!==e.suggestServer){if("object"!=typeof e.suggestServer)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.suggestServer: object expected");r.suggestServer=n[9].fromObject(e.suggestServer)}return r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.suggestion=[],t.searchlet=[]),r.defaults&&(t.name=null,t.url=null,t.type=r.enums===String?"RESULT_TYPE_KML":0,t.htmlTransformUrl=null,t.kmlTransformUrl=null,t.supplementalUi=null,t.requirements=null,t.suggestServer=null),void 0!==e.name&&null!==e.name&&e.hasOwnProperty("name")&&(t.name=n[0].toObject(e.name,r)),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[1].toObject(e.url,r)),void 0!==e.type&&null!==e.type&&e.hasOwnProperty("type")&&(t.type=r.enums===String?n[2][e.type]:e.type),void 0!==e.htmlTransformUrl&&null!==e.htmlTransformUrl&&e.hasOwnProperty("htmlTransformUrl")&&(t.htmlTransformUrl=n[3].toObject(e.htmlTransformUrl,r)),void 0!==e.kmlTransformUrl&&null!==e.kmlTransformUrl&&e.hasOwnProperty("kmlTransformUrl")&&(t.kmlTransformUrl=n[4].toObject(e.kmlTransformUrl,r)),void 0!==e.supplementalUi&&null!==e.supplementalUi&&e.hasOwnProperty("supplementalUi")&&(t.supplementalUi=n[5].toObject(e.supplementalUi,r)),void 0!==e.suggestion&&null!==e.suggestion&&e.hasOwnProperty("suggestion")){t.suggestion=[];for(var o=0;o<e.suggestion.length;++o)t.suggestion[o]=n[6].toObject(e.suggestion[o],r)}if(void 0!==e.searchlet&&null!==e.searchlet&&e.hasOwnProperty("searchlet"))for(t.searchlet=[],o=0;o<e.searchlet.length;++o)t.searchlet[o]=n[7].toObject(e.searchlet[o],r);return void 0!==e.requirements&&null!==e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=n[8].toObject(e.requirements,r)),void 0!==e.suggestServer&&null!==e.suggestServer&&e.hasOwnProperty("suggestServer")&&(t.suggestServer=n[9].toObject(e.suggestServer,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.ResultType=((r=Object.create({})).RESULT_TYPE_KML=0,r.RESULT_TYPE_XML=1,r),e.SupplementalUi=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null,e.prototype.label=null,e.prototype.height=160;var n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.url=n[0].decode(e,e.uint32());break;case 2:o.label=n[1].decode(e,e.uint32());break;case 3:o.height=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.url&&null!==e.url&&(r=n[0].verify(e.url))?"url."+r:void 0!==e.label&&null!==e.label&&(r=n[1].verify(e.label))?"label."+r:void 0===e.height||l.isInteger(e.height)?null:"height: integer expected";var r},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi)return e;var r=new p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi.url: object expected");r.url=n[0].fromObject(e.url)}if(void 0!==e.label&&null!==e.label){if("object"!=typeof e.label)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi.label: object expected");r.label=n[1].fromObject(e.label)}return void 0!==e.height&&null!==e.height&&(r.height=0|e.height),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null,t.label=null,t.height=160),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),void 0!==e.label&&null!==e.label&&e.hasOwnProperty("label")&&(t.label=n[1].toObject(e.label,r)),void 0!==e.height&&null!==e.height&&e.hasOwnProperty("height")&&(t.height=e.height),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.SearchletProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null,e.prototype.name=null,e.prototype.requirements=null;var n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.StringIdOrValueProto",2:"keyhole.dbroot.RequirementProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.url=n[0].decode(e,e.uint32());break;case 2:o.name=n[1].decode(e,e.uint32());break;case 3:o.requirements=n[2].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.url&&null!==e.url&&(r=n[0].verify(e.url))?"url."+r:void 0!==e.name&&null!==e.name&&(r=n[1].verify(e.name))?"name."+r:void 0!==e.requirements&&null!==e.requirements&&(r=n[2].verify(e.requirements))?"requirements."+r:null;var r},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto)return e;var r=new p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.url: object expected");r.url=n[0].fromObject(e.url)}if(void 0!==e.name&&null!==e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.name: object expected");r.name=n[1].fromObject(e.name)}if(void 0!==e.requirements&&null!==e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.requirements: object expected");r.requirements=n[2].fromObject(e.requirements)}return r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null,t.name=null,t.requirements=null),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),void 0!==e.name&&null!==e.name&&e.hasOwnProperty("name")&&(t.name=n[1].toObject(e.name,r)),void 0!==e.requirements&&null!==e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=n[2].toObject(e.requirements,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e}(),e.OneboxServiceProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.serviceUrl=null,e.prototype.requirements=null;var n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.RequirementProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.serviceUrl=n[0].decode(e,e.uint32());break;case 2:o.requirements=n[1].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.serviceUrl&&null!==e.serviceUrl&&(r=n[0].verify(e.serviceUrl))?"serviceUrl."+r:void 0!==e.requirements&&null!==e.requirements&&(r=n[1].verify(e.requirements))?"requirements."+r:null;var r},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto)return e;var r=new p.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto;if(void 0!==e.serviceUrl&&null!==e.serviceUrl){if("object"!=typeof e.serviceUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto.serviceUrl: object expected");r.serviceUrl=n[0].fromObject(e.serviceUrl)}if(void 0!==e.requirements&&null!==e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto.requirements: object expected");r.requirements=n[1].fromObject(e.requirements)}return r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.serviceUrl=null,t.requirements=null),void 0!==e.serviceUrl&&null!==e.serviceUrl&&e.hasOwnProperty("serviceUrl")&&(t.serviceUrl=n[0].toObject(e.serviceUrl,r)),void 0!==e.requirements&&null!==e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=n[1].toObject(e.requirements,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e}(),e.SearchInfoProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.defaultUrl="http://maps.google.com/maps",e.prototype.geocodeParam="q",e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto.SearchInfoProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.defaultUrl=e.string();break;case 2:o.geocodeParam=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.defaultUrl||l.isString(e.defaultUrl)?void 0===e.geocodeParam||l.isString(e.geocodeParam)?null:"geocodeParam: string expected":"defaultUrl: string expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto.SearchInfoProto)return e;var r=new p.keyhole.dbroot.EndSnippetProto.SearchInfoProto;return void 0!==e.defaultUrl&&null!==e.defaultUrl&&(r.defaultUrl=String(e.defaultUrl)),void 0!==e.geocodeParam&&null!==e.geocodeParam&&(r.geocodeParam=String(e.geocodeParam)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.defaultUrl="http://maps.google.com/maps",t.geocodeParam="q"),void 0!==e.defaultUrl&&null!==e.defaultUrl&&e.hasOwnProperty("defaultUrl")&&(t.defaultUrl=e.defaultUrl),void 0!==e.geocodeParam&&null!==e.geocodeParam&&e.hasOwnProperty("geocodeParam")&&(t.geocodeParam=e.geocodeParam),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.RockTreeDataProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null;var n={0:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto.RockTreeDataProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.url=n[0].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.url&&null!==e.url){var r=n[0].verify(e.url);if(r)return"url."+r}return null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto.RockTreeDataProto)return e;var r=new p.keyhole.dbroot.EndSnippetProto.RockTreeDataProto;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.RockTreeDataProto.url: object expected");r.url=n[0].fromObject(e.url)}return r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.FilmstripConfigProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.requirements=null,e.prototype.alleycatUrlTemplate=null,e.prototype.fallbackAlleycatUrlTemplate=null,e.prototype.metadataUrlTemplate=null,e.prototype.thumbnailUrlTemplate=null,e.prototype.kmlUrlTemplate=null,e.prototype.featuredToursUrl=null,e.prototype.enableViewportFallback=!1,e.prototype.viewportFallbackDistance=0,e.prototype.imageryType=l.emptyArray;var n={0:"keyhole.dbroot.RequirementProto",1:"keyhole.dbroot.StringIdOrValueProto",2:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.StringIdOrValueProto",5:"keyhole.dbroot.StringIdOrValueProto",6:"keyhole.dbroot.StringIdOrValueProto",9:"keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.requirements=n[0].decode(e,e.uint32());break;case 2:o.alleycatUrlTemplate=n[1].decode(e,e.uint32());break;case 9:o.fallbackAlleycatUrlTemplate=n[2].decode(e,e.uint32());break;case 3:o.metadataUrlTemplate=n[3].decode(e,e.uint32());break;case 4:o.thumbnailUrlTemplate=n[4].decode(e,e.uint32());break;case 5:o.kmlUrlTemplate=n[5].decode(e,e.uint32());break;case 6:o.featuredToursUrl=n[6].decode(e,e.uint32());break;case 7:o.enableViewportFallback=e.bool();break;case 8:o.viewportFallbackDistance=e.uint32();break;case 10:o.imageryType&&o.imageryType.length||(o.imageryType=[]),o.imageryType.push(n[9].decode(e,e.uint32()));break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.requirements&&null!==e.requirements&&(t=n[0].verify(e.requirements)))return"requirements."+t;if(void 0!==e.alleycatUrlTemplate&&null!==e.alleycatUrlTemplate&&(t=n[1].verify(e.alleycatUrlTemplate)))return"alleycatUrlTemplate."+t;if(void 0!==e.fallbackAlleycatUrlTemplate&&null!==e.fallbackAlleycatUrlTemplate&&(t=n[2].verify(e.fallbackAlleycatUrlTemplate)))return"fallbackAlleycatUrlTemplate."+t;if(void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate&&(t=n[3].verify(e.metadataUrlTemplate)))return"metadataUrlTemplate."+t;if(void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate&&(t=n[4].verify(e.thumbnailUrlTemplate)))return"thumbnailUrlTemplate."+t;if(void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate&&(t=n[5].verify(e.kmlUrlTemplate)))return"kmlUrlTemplate."+t;if(void 0!==e.featuredToursUrl&&null!==e.featuredToursUrl&&(t=n[6].verify(e.featuredToursUrl)))return"featuredToursUrl."+t;if(void 0!==e.enableViewportFallback&&"boolean"!=typeof e.enableViewportFallback)return"enableViewportFallback: boolean expected";if(void 0!==e.viewportFallbackDistance&&!l.isInteger(e.viewportFallbackDistance))return"viewportFallbackDistance: integer expected";if(void 0!==e.imageryType){if(!Array.isArray(e.imageryType))return"imageryType: array expected";for(var r=0;r<e.imageryType.length;++r){var t;if(t=n[9].verify(e.imageryType[r]))return"imageryType."+t}}return null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto)return e;var r=new p.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto;if(void 0!==e.requirements&&null!==e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.requirements: object expected");r.requirements=n[0].fromObject(e.requirements)}if(void 0!==e.alleycatUrlTemplate&&null!==e.alleycatUrlTemplate){if("object"!=typeof e.alleycatUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.alleycatUrlTemplate: object expected");r.alleycatUrlTemplate=n[1].fromObject(e.alleycatUrlTemplate)}if(void 0!==e.fallbackAlleycatUrlTemplate&&null!==e.fallbackAlleycatUrlTemplate){if("object"!=typeof e.fallbackAlleycatUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.fallbackAlleycatUrlTemplate: object expected");r.fallbackAlleycatUrlTemplate=n[2].fromObject(e.fallbackAlleycatUrlTemplate)}if(void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate){if("object"!=typeof e.metadataUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.metadataUrlTemplate: object expected");r.metadataUrlTemplate=n[3].fromObject(e.metadataUrlTemplate)}if(void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate){if("object"!=typeof e.thumbnailUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.thumbnailUrlTemplate: object expected");r.thumbnailUrlTemplate=n[4].fromObject(e.thumbnailUrlTemplate)}if(void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate){if("object"!=typeof e.kmlUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.kmlUrlTemplate: object expected");r.kmlUrlTemplate=n[5].fromObject(e.kmlUrlTemplate)}if(void 0!==e.featuredToursUrl&&null!==e.featuredToursUrl){if("object"!=typeof e.featuredToursUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.featuredToursUrl: object expected");r.featuredToursUrl=n[6].fromObject(e.featuredToursUrl)}if(void 0!==e.enableViewportFallback&&null!==e.enableViewportFallback&&(r.enableViewportFallback=Boolean(e.enableViewportFallback)),void 0!==e.viewportFallbackDistance&&null!==e.viewportFallbackDistance&&(r.viewportFallbackDistance=e.viewportFallbackDistance>>>0),e.imageryType){if(!Array.isArray(e.imageryType))throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.imageryType: array expected");r.imageryType=[];for(var t=0;t<e.imageryType.length;++t){if("object"!=typeof e.imageryType[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.imageryType: object expected");r.imageryType[t]=n[9].fromObject(e.imageryType[t])}}return r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.imageryType=[]),r.defaults&&(t.requirements=null,t.alleycatUrlTemplate=null,t.fallbackAlleycatUrlTemplate=null,t.metadataUrlTemplate=null,t.thumbnailUrlTemplate=null,t.kmlUrlTemplate=null,t.featuredToursUrl=null,t.enableViewportFallback=!1,t.viewportFallbackDistance=0),void 0!==e.requirements&&null!==e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=n[0].toObject(e.requirements,r)),void 0!==e.alleycatUrlTemplate&&null!==e.alleycatUrlTemplate&&e.hasOwnProperty("alleycatUrlTemplate")&&(t.alleycatUrlTemplate=n[1].toObject(e.alleycatUrlTemplate,r)),void 0!==e.fallbackAlleycatUrlTemplate&&null!==e.fallbackAlleycatUrlTemplate&&e.hasOwnProperty("fallbackAlleycatUrlTemplate")&&(t.fallbackAlleycatUrlTemplate=n[2].toObject(e.fallbackAlleycatUrlTemplate,r)),void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate&&e.hasOwnProperty("metadataUrlTemplate")&&(t.metadataUrlTemplate=n[3].toObject(e.metadataUrlTemplate,r)),void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate&&e.hasOwnProperty("thumbnailUrlTemplate")&&(t.thumbnailUrlTemplate=n[4].toObject(e.thumbnailUrlTemplate,r)),void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate&&e.hasOwnProperty("kmlUrlTemplate")&&(t.kmlUrlTemplate=n[5].toObject(e.kmlUrlTemplate,r)),void 0!==e.featuredToursUrl&&null!==e.featuredToursUrl&&e.hasOwnProperty("featuredToursUrl")&&(t.featuredToursUrl=n[6].toObject(e.featuredToursUrl,r)),void 0!==e.enableViewportFallback&&null!==e.enableViewportFallback&&e.hasOwnProperty("enableViewportFallback")&&(t.enableViewportFallback=e.enableViewportFallback),void 0!==e.viewportFallbackDistance&&null!==e.viewportFallbackDistance&&e.hasOwnProperty("viewportFallbackDistance")&&(t.viewportFallbackDistance=e.viewportFallbackDistance),void 0!==e.imageryType&&null!==e.imageryType&&e.hasOwnProperty("imageryType")){t.imageryType=[];for(var o=0;o<e.imageryType.length;++o)t.imageryType[o]=n[9].toObject(e.imageryType[o],r)}return t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.AlleycatImageryTypeProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.imageryTypeId=0,e.prototype.imageryTypeLabel="",e.prototype.metadataUrlTemplate=null,e.prototype.thumbnailUrlTemplate=null,e.prototype.kmlUrlTemplate=null;var n={2:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.imageryTypeId=e.int32();break;case 2:o.imageryTypeLabel=e.string();break;case 3:o.metadataUrlTemplate=n[2].decode(e,e.uint32());break;case 4:o.thumbnailUrlTemplate=n[3].decode(e,e.uint32());break;case 5:o.kmlUrlTemplate=n[4].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.imageryTypeId||l.isInteger(e.imageryTypeId)?void 0===e.imageryTypeLabel||l.isString(e.imageryTypeLabel)?void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate&&(r=n[2].verify(e.metadataUrlTemplate))?"metadataUrlTemplate."+r:void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate&&(r=n[3].verify(e.thumbnailUrlTemplate))?"thumbnailUrlTemplate."+r:void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate&&(r=n[4].verify(e.kmlUrlTemplate))?"kmlUrlTemplate."+r:null:"imageryTypeLabel: string expected":"imageryTypeId: integer expected";var r},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto)return e;var r=new p.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto;if(void 0!==e.imageryTypeId&&null!==e.imageryTypeId&&(r.imageryTypeId=0|e.imageryTypeId),void 0!==e.imageryTypeLabel&&null!==e.imageryTypeLabel&&(r.imageryTypeLabel=String(e.imageryTypeLabel)),void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate){if("object"!=typeof e.metadataUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.metadataUrlTemplate: object expected");r.metadataUrlTemplate=n[2].fromObject(e.metadataUrlTemplate)}if(void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate){if("object"!=typeof e.thumbnailUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.thumbnailUrlTemplate: object expected");r.thumbnailUrlTemplate=n[3].fromObject(e.thumbnailUrlTemplate)}if(void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate){if("object"!=typeof e.kmlUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.kmlUrlTemplate: object expected");r.kmlUrlTemplate=n[4].fromObject(e.kmlUrlTemplate)}return r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.imageryTypeId=0,t.imageryTypeLabel="",t.metadataUrlTemplate=null,t.thumbnailUrlTemplate=null,t.kmlUrlTemplate=null),void 0!==e.imageryTypeId&&null!==e.imageryTypeId&&e.hasOwnProperty("imageryTypeId")&&(t.imageryTypeId=e.imageryTypeId),void 0!==e.imageryTypeLabel&&null!==e.imageryTypeLabel&&e.hasOwnProperty("imageryTypeLabel")&&(t.imageryTypeLabel=e.imageryTypeLabel),void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate&&e.hasOwnProperty("metadataUrlTemplate")&&(t.metadataUrlTemplate=n[2].toObject(e.metadataUrlTemplate,r)),void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate&&e.hasOwnProperty("thumbnailUrlTemplate")&&(t.thumbnailUrlTemplate=n[3].toObject(e.thumbnailUrlTemplate,r)),void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate&&e.hasOwnProperty("kmlUrlTemplate")&&(t.kmlUrlTemplate=n[4].toObject(e.kmlUrlTemplate,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e}(),e.StarDataProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null;var n={0:"keyhole.dbroot.StringIdOrValueProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EndSnippetProto.StarDataProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.url=n[0].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.url&&null!==e.url){var r=n[0].verify(e.url);if(r)return"url."+r}return null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EndSnippetProto.StarDataProto)return e;var r=new p.keyhole.dbroot.EndSnippetProto.StarDataProto;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.StarDataProto.url: object expected");r.url=n[0].fromObject(e.url)}return r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url=null),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e}(),e.DbRootRefProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url="",e.prototype.isCritical=!1,e.prototype.requirements=null;var n={2:"keyhole.dbroot.RequirementProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.DbRootRefProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 2:o.url=e.string();break;case 1:o.isCritical=e.bool();break;case 3:o.requirements=n[2].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!l.isString(e.url))return"url: string expected";if(void 0!==e.isCritical&&"boolean"!=typeof e.isCritical)return"isCritical: boolean expected";if(void 0!==e.requirements&&null!==e.requirements){var r=n[2].verify(e.requirements);if(r)return"requirements."+r}return null},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.DbRootRefProto)return e;var r=new p.keyhole.dbroot.DbRootRefProto;if(void 0!==e.url&&null!==e.url&&(r.url=String(e.url)),void 0!==e.isCritical&&null!==e.isCritical&&(r.isCritical=Boolean(e.isCritical)),void 0!==e.requirements&&null!==e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.DbRootRefProto.requirements: object expected");r.requirements=n[2].fromObject(e.requirements)}return r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.url="",t.isCritical=!1,t.requirements=null),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=e.url),void 0!==e.isCritical&&null!==e.isCritical&&e.hasOwnProperty("isCritical")&&(t.isCritical=e.isCritical),void 0!==e.requirements&&null!==e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=n[2].toObject(e.requirements,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.DatabaseVersionProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return e.prototype.quadtreeVersion=0,e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.DatabaseVersionProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.quadtreeVersion=e.uint32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":l.isInteger(e.quadtreeVersion)?null:"quadtreeVersion: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.DatabaseVersionProto)return e;var r=new p.keyhole.dbroot.DatabaseVersionProto;return void 0!==e.quadtreeVersion&&null!==e.quadtreeVersion&&(r.quadtreeVersion=e.quadtreeVersion>>>0),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.quadtreeVersion=0),void 0!==e.quadtreeVersion&&null!==e.quadtreeVersion&&e.hasOwnProperty("quadtreeVersion")&&(t.quadtreeVersion=e.quadtreeVersion),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.DbRootProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.databaseName=null,e.prototype.imageryPresent=!0,e.prototype.protoImagery=!1,e.prototype.terrainPresent=!1,e.prototype.providerInfo=l.emptyArray,e.prototype.nestedFeature=l.emptyArray,e.prototype.styleAttribute=l.emptyArray,e.prototype.styleMap=l.emptyArray,e.prototype.endSnippet=null,e.prototype.translationEntry=l.emptyArray,e.prototype.language="en",e.prototype.version=5,e.prototype.dbrootReference=l.emptyArray,e.prototype.databaseVersion=null,e.prototype.refreshTimeout=0;var n={0:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.ProviderInfoProto",5:"keyhole.dbroot.NestedFeatureProto",6:"keyhole.dbroot.StyleAttributeProto",7:"keyhole.dbroot.StyleMapProto",8:"keyhole.dbroot.EndSnippetProto",9:"keyhole.dbroot.StringEntryProto",12:"keyhole.dbroot.DbRootRefProto",13:"keyhole.dbroot.DatabaseVersionProto"};return s.push(n),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.DbRootProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 15:o.databaseName=n[0].decode(e,e.uint32());break;case 1:o.imageryPresent=e.bool();break;case 14:o.protoImagery=e.bool();break;case 2:o.terrainPresent=e.bool();break;case 3:o.providerInfo&&o.providerInfo.length||(o.providerInfo=[]),o.providerInfo.push(n[4].decode(e,e.uint32()));break;case 4:o.nestedFeature&&o.nestedFeature.length||(o.nestedFeature=[]),o.nestedFeature.push(n[5].decode(e,e.uint32()));break;case 5:o.styleAttribute&&o.styleAttribute.length||(o.styleAttribute=[]),o.styleAttribute.push(n[6].decode(e,e.uint32()));break;case 6:o.styleMap&&o.styleMap.length||(o.styleMap=[]),o.styleMap.push(n[7].decode(e,e.uint32()));break;case 7:o.endSnippet=n[8].decode(e,e.uint32());break;case 8:o.translationEntry&&o.translationEntry.length||(o.translationEntry=[]),o.translationEntry.push(n[9].decode(e,e.uint32()));break;case 9:o.language=e.string();break;case 10:o.version=e.int32();break;case 11:o.dbrootReference&&o.dbrootReference.length||(o.dbrootReference=[]),o.dbrootReference.push(n[12].decode(e,e.uint32()));break;case 13:o.databaseVersion=n[13].decode(e,e.uint32());break;case 16:o.refreshTimeout=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.databaseName&&null!==e.databaseName&&(t=n[0].verify(e.databaseName)))return"databaseName."+t;if(void 0!==e.imageryPresent&&"boolean"!=typeof e.imageryPresent)return"imageryPresent: boolean expected";if(void 0!==e.protoImagery&&"boolean"!=typeof e.protoImagery)return"protoImagery: boolean expected";if(void 0!==e.terrainPresent&&"boolean"!=typeof e.terrainPresent)return"terrainPresent: boolean expected";if(void 0!==e.providerInfo){if(!Array.isArray(e.providerInfo))return"providerInfo: array expected";for(var r=0;r<e.providerInfo.length;++r)if(t=n[4].verify(e.providerInfo[r]))return"providerInfo."+t}if(void 0!==e.nestedFeature){if(!Array.isArray(e.nestedFeature))return"nestedFeature: array expected";for(r=0;r<e.nestedFeature.length;++r)if(t=n[5].verify(e.nestedFeature[r]))return"nestedFeature."+t}if(void 0!==e.styleAttribute){if(!Array.isArray(e.styleAttribute))return"styleAttribute: array expected";for(r=0;r<e.styleAttribute.length;++r)if(t=n[6].verify(e.styleAttribute[r]))return"styleAttribute."+t}if(void 0!==e.styleMap){if(!Array.isArray(e.styleMap))return"styleMap: array expected";for(r=0;r<e.styleMap.length;++r)if(t=n[7].verify(e.styleMap[r]))return"styleMap."+t}if(void 0!==e.endSnippet&&null!==e.endSnippet&&(t=n[8].verify(e.endSnippet)))return"endSnippet."+t;if(void 0!==e.translationEntry){if(!Array.isArray(e.translationEntry))return"translationEntry: array expected";for(r=0;r<e.translationEntry.length;++r)if(t=n[9].verify(e.translationEntry[r]))return"translationEntry."+t}if(void 0!==e.language&&!l.isString(e.language))return"language: string expected";if(void 0!==e.version&&!l.isInteger(e.version))return"version: integer expected";if(void 0!==e.dbrootReference){if(!Array.isArray(e.dbrootReference))return"dbrootReference: array expected";for(r=0;r<e.dbrootReference.length;++r){var t;if(t=n[12].verify(e.dbrootReference[r]))return"dbrootReference."+t}}return void 0!==e.databaseVersion&&null!==e.databaseVersion&&(t=n[13].verify(e.databaseVersion))?"databaseVersion."+t:void 0===e.refreshTimeout||l.isInteger(e.refreshTimeout)?null:"refreshTimeout: integer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.DbRootProto)return e;var r=new p.keyhole.dbroot.DbRootProto;if(void 0!==e.databaseName&&null!==e.databaseName){if("object"!=typeof e.databaseName)throw TypeError(".keyhole.dbroot.DbRootProto.databaseName: object expected");r.databaseName=n[0].fromObject(e.databaseName)}if(void 0!==e.imageryPresent&&null!==e.imageryPresent&&(r.imageryPresent=Boolean(e.imageryPresent)),void 0!==e.protoImagery&&null!==e.protoImagery&&(r.protoImagery=Boolean(e.protoImagery)),void 0!==e.terrainPresent&&null!==e.terrainPresent&&(r.terrainPresent=Boolean(e.terrainPresent)),e.providerInfo){if(!Array.isArray(e.providerInfo))throw TypeError(".keyhole.dbroot.DbRootProto.providerInfo: array expected");r.providerInfo=[];for(var t=0;t<e.providerInfo.length;++t){if("object"!=typeof e.providerInfo[t])throw TypeError(".keyhole.dbroot.DbRootProto.providerInfo: object expected");r.providerInfo[t]=n[4].fromObject(e.providerInfo[t])}}if(e.nestedFeature){if(!Array.isArray(e.nestedFeature))throw TypeError(".keyhole.dbroot.DbRootProto.nestedFeature: array expected");for(r.nestedFeature=[],t=0;t<e.nestedFeature.length;++t){if("object"!=typeof e.nestedFeature[t])throw TypeError(".keyhole.dbroot.DbRootProto.nestedFeature: object expected");r.nestedFeature[t]=n[5].fromObject(e.nestedFeature[t])}}if(e.styleAttribute){if(!Array.isArray(e.styleAttribute))throw TypeError(".keyhole.dbroot.DbRootProto.styleAttribute: array expected");for(r.styleAttribute=[],t=0;t<e.styleAttribute.length;++t){if("object"!=typeof e.styleAttribute[t])throw TypeError(".keyhole.dbroot.DbRootProto.styleAttribute: object expected");r.styleAttribute[t]=n[6].fromObject(e.styleAttribute[t])}}if(e.styleMap){if(!Array.isArray(e.styleMap))throw TypeError(".keyhole.dbroot.DbRootProto.styleMap: array expected");for(r.styleMap=[],t=0;t<e.styleMap.length;++t){if("object"!=typeof e.styleMap[t])throw TypeError(".keyhole.dbroot.DbRootProto.styleMap: object expected");r.styleMap[t]=n[7].fromObject(e.styleMap[t])}}if(void 0!==e.endSnippet&&null!==e.endSnippet){if("object"!=typeof e.endSnippet)throw TypeError(".keyhole.dbroot.DbRootProto.endSnippet: object expected");r.endSnippet=n[8].fromObject(e.endSnippet)}if(e.translationEntry){if(!Array.isArray(e.translationEntry))throw TypeError(".keyhole.dbroot.DbRootProto.translationEntry: array expected");for(r.translationEntry=[],t=0;t<e.translationEntry.length;++t){if("object"!=typeof e.translationEntry[t])throw TypeError(".keyhole.dbroot.DbRootProto.translationEntry: object expected");r.translationEntry[t]=n[9].fromObject(e.translationEntry[t])}}if(void 0!==e.language&&null!==e.language&&(r.language=String(e.language)),void 0!==e.version&&null!==e.version&&(r.version=0|e.version),e.dbrootReference){if(!Array.isArray(e.dbrootReference))throw TypeError(".keyhole.dbroot.DbRootProto.dbrootReference: array expected");for(r.dbrootReference=[],t=0;t<e.dbrootReference.length;++t){if("object"!=typeof e.dbrootReference[t])throw TypeError(".keyhole.dbroot.DbRootProto.dbrootReference: object expected");r.dbrootReference[t]=n[12].fromObject(e.dbrootReference[t])}}if(void 0!==e.databaseVersion&&null!==e.databaseVersion){if("object"!=typeof e.databaseVersion)throw TypeError(".keyhole.dbroot.DbRootProto.databaseVersion: object expected");r.databaseVersion=n[13].fromObject(e.databaseVersion)}return void 0!==e.refreshTimeout&&null!==e.refreshTimeout&&(r.refreshTimeout=0|e.refreshTimeout),r},e.toObject=function(e,r){r||(r={});var t={};if((r.arrays||r.defaults)&&(t.providerInfo=[],t.nestedFeature=[],t.styleAttribute=[],t.styleMap=[],t.translationEntry=[],t.dbrootReference=[]),r.defaults&&(t.databaseName=null,t.imageryPresent=!0,t.protoImagery=!1,t.terrainPresent=!1,t.endSnippet=null,t.language="en",t.version=5,t.databaseVersion=null,t.refreshTimeout=0),void 0!==e.databaseName&&null!==e.databaseName&&e.hasOwnProperty("databaseName")&&(t.databaseName=n[0].toObject(e.databaseName,r)),void 0!==e.imageryPresent&&null!==e.imageryPresent&&e.hasOwnProperty("imageryPresent")&&(t.imageryPresent=e.imageryPresent),void 0!==e.protoImagery&&null!==e.protoImagery&&e.hasOwnProperty("protoImagery")&&(t.protoImagery=e.protoImagery),void 0!==e.terrainPresent&&null!==e.terrainPresent&&e.hasOwnProperty("terrainPresent")&&(t.terrainPresent=e.terrainPresent),void 0!==e.providerInfo&&null!==e.providerInfo&&e.hasOwnProperty("providerInfo")){t.providerInfo=[];for(var o=0;o<e.providerInfo.length;++o)t.providerInfo[o]=n[4].toObject(e.providerInfo[o],r)}if(void 0!==e.nestedFeature&&null!==e.nestedFeature&&e.hasOwnProperty("nestedFeature"))for(t.nestedFeature=[],o=0;o<e.nestedFeature.length;++o)t.nestedFeature[o]=n[5].toObject(e.nestedFeature[o],r);if(void 0!==e.styleAttribute&&null!==e.styleAttribute&&e.hasOwnProperty("styleAttribute"))for(t.styleAttribute=[],o=0;o<e.styleAttribute.length;++o)t.styleAttribute[o]=n[6].toObject(e.styleAttribute[o],r);if(void 0!==e.styleMap&&null!==e.styleMap&&e.hasOwnProperty("styleMap"))for(t.styleMap=[],o=0;o<e.styleMap.length;++o)t.styleMap[o]=n[7].toObject(e.styleMap[o],r);if(void 0!==e.endSnippet&&null!==e.endSnippet&&e.hasOwnProperty("endSnippet")&&(t.endSnippet=n[8].toObject(e.endSnippet,r)),void 0!==e.translationEntry&&null!==e.translationEntry&&e.hasOwnProperty("translationEntry"))for(t.translationEntry=[],o=0;o<e.translationEntry.length;++o)t.translationEntry[o]=n[9].toObject(e.translationEntry[o],r);if(void 0!==e.language&&null!==e.language&&e.hasOwnProperty("language")&&(t.language=e.language),void 0!==e.version&&null!==e.version&&e.hasOwnProperty("version")&&(t.version=e.version),void 0!==e.dbrootReference&&null!==e.dbrootReference&&e.hasOwnProperty("dbrootReference"))for(t.dbrootReference=[],o=0;o<e.dbrootReference.length;++o)t.dbrootReference[o]=n[12].toObject(e.dbrootReference[o],r);return void 0!==e.databaseVersion&&null!==e.databaseVersion&&e.hasOwnProperty("databaseVersion")&&(t.databaseVersion=n[13].toObject(e.databaseVersion,r)),void 0!==e.refreshTimeout&&null!==e.refreshTimeout&&e.hasOwnProperty("refreshTimeout")&&(t.refreshTimeout=e.refreshTimeout),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e}(),e.EncryptedDbRootProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.encryptionType=0,e.prototype.encryptionData=l.newBuffer([]),e.prototype.dbrootData=l.newBuffer([]);var r,o={0:"keyhole.dbroot.EncryptedDbRootProto.EncryptionType"};return s.push(o),e.decode=function(e,r){e instanceof i||(e=i.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new p.keyhole.dbroot.EncryptedDbRootProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.encryptionType=e.uint32();break;case 2:o.encryptionData=e.bytes();break;case 3:o.dbrootData=e.bytes();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.encryptionType)switch(e.encryptionType){default:return"encryptionType: enum value expected";case 0:}return void 0===e.encryptionData||e.encryptionData&&"number"==typeof e.encryptionData.length||l.isString(e.encryptionData)?void 0===e.dbrootData||e.dbrootData&&"number"==typeof e.dbrootData.length||l.isString(e.dbrootData)?null:"dbrootData: buffer expected":"encryptionData: buffer expected"},e.from=e.fromObject=function(e){if(e instanceof p.keyhole.dbroot.EncryptedDbRootProto)return e;var r=new p.keyhole.dbroot.EncryptedDbRootProto;switch(e.encryptionType){case"ENCRYPTION_XOR":case 0:r.encryptionType=0}return void 0!==e.encryptionData&&null!==e.encryptionData&&("string"==typeof e.encryptionData?l.base64.decode(e.encryptionData,r.encryptionData=l.newBuffer(l.base64.length(e.encryptionData)),0):e.encryptionData.length&&(r.encryptionData=e.encryptionData)),void 0!==e.dbrootData&&null!==e.dbrootData&&("string"==typeof e.dbrootData?l.base64.decode(e.dbrootData,r.dbrootData=l.newBuffer(l.base64.length(e.dbrootData)),0):e.dbrootData.length&&(r.dbrootData=e.dbrootData)),r},e.toObject=function(e,r){r||(r={});var t={};return r.defaults&&(t.encryptionType=r.enums===String?"ENCRYPTION_XOR":0,t.encryptionData=r.bytes===String?"":[],t.dbrootData=r.bytes===String?"":[]),void 0!==e.encryptionType&&null!==e.encryptionType&&e.hasOwnProperty("encryptionType")&&(t.encryptionType=r.enums===String?o[0][e.encryptionType]:e.encryptionType),void 0!==e.encryptionData&&null!==e.encryptionData&&e.hasOwnProperty("encryptionData")&&(t.encryptionData=r.bytes===String?l.base64.encode(e.encryptionData,0,e.encryptionData.length):r.bytes===Array?Array.prototype.slice.call(e.encryptionData):e.encryptionData),void 0!==e.dbrootData&&null!==e.dbrootData&&e.hasOwnProperty("dbrootData")&&(t.dbrootData=r.bytes===String?l.base64.encode(e.dbrootData,0,e.dbrootData.length):r.bytes===Array?Array.prototype.slice.call(e.dbrootData):e.dbrootData),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,t.util.toJSONOptions)},e.EncryptionType=((r=Object.create({})).ENCRYPTION_XOR=0,r),e}(),e),r),l.lazyResolve(p,s),p.keyhole.dbroot};
\ No newline at end of file
diff --git a/libs/supermap/ThirdParty/unzip.wasm b/libs/supermap/ThirdParty/unzip.wasm
deleted file mode 100644
index 1d665f6..0000000
--- a/libs/supermap/ThirdParty/unzip.wasm
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Animation/Animation.css b/libs/supermap/Widgets/Animation/Animation.css
deleted file mode 100644
index b694f6f..0000000
--- a/libs/supermap/Widgets/Animation/Animation.css
+++ /dev/null
@@ -1,176 +0,0 @@
-.cesium-animation-theme {
-    visibility: hidden;
-    display: block;
-    position: absolute;
-    z-index: -100;
-}
-
-.cesium-animation-themeNormal {
-    color: #222;
-}
-
-.cesium-animation-themeHover {
-    color: #4488B0;
-}
-
-.cesium-animation-themeSelect {
-    color: #242;
-}
-
-.cesium-animation-themeDisabled {
-    color: #333;
-}
-
-.cesium-animation-themeKnob {
-    color: #222;
-}
-
-.cesium-animation-themePointer {
-    color: #2E2;
-}
-
-.cesium-animation-themeSwoosh {
-    color: #8AC;
-}
-
-.cesium-animation-themeSwooshHover {
-    color: #AEF;
-}
-
-.cesium-animation-svgText {
-    fill: #edffff;
-    font-family: Sans-Serif;
-    font-size: 15px;
-    text-anchor: middle;
-}
-
-.cesium-animation-blank {
-    fill: #000;
-    fill-opacity: 0.01; /* This must be clickable, so it can't be 'fill: none'. */
-    stroke: none;
-}
-
-.cesium-animation-rectButton {
-    cursor: pointer;
-    -moz-user-select: none;
-    -webkit-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-}
-
-.cesium-animation-rectButton .cesium-animation-buttonGlow {
-    fill: #fff;
-    stroke: none;
-    /* Widget will add: filter: url(#animation_blurred); */
-    display: none;
-}
-
-.cesium-animation-rectButton:hover .cesium-animation-buttonGlow {
-    display: block;
-}
-
-.cesium-animation-rectButton .cesium-animation-buttonPath {
-    fill: #edffff;
-}
-
-.cesium-animation-rectButton .cesium-animation-buttonMain {
-    /* Widget will add: fill: url(#animation_buttonNormal); */
-    stroke: #444;
-    stroke-width: 1.2;
-}
-
-.cesium-animation-rectButton:hover .cesium-animation-buttonMain {
-    /* Widget will add: fill: url(#animation_buttonHovered); */
-    stroke: #AEF;
-}
-
-.cesium-animation-rectButton:active .cesium-animation-buttonMain {
-    fill: #ABD6FF;
-}
-
-.cesium-animation-buttonDisabled {
-    -moz-user-select: none;
-    -webkit-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-}
-
-.cesium-animation-buttonDisabled .cesium-animation-buttonMain {
-    /* Widget will add: fill: url(#animation_buttonDisabled); */
-    stroke: #555;
-}
-
-.cesium-animation-buttonDisabled .cesium-animation-buttonPath {
-    fill: #818181;
-}
-
-.cesium-animation-buttonDisabled .cesium-animation-buttonGlow {
-    display: none;
-}
-
-.cesium-animation-buttonToggled .cesium-animation-buttonGlow {
-    display: block;
-    fill: #2E2;
-}
-
-.cesium-animation-buttonToggled .cesium-animation-buttonMain {
-    stroke: #2E2;
-}
-
-.cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow {
-    fill: #fff;
-}
-
-.cesium-animation-buttonToggled:hover .cesium-animation-buttonMain {
-    stroke: #2E2;
-}
-
-.cesium-animation-shuttleRingG {
-    cursor: pointer;
-}
-
-/* Widget will add:
-.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh {
-    fill: url(#animation_shuttleRingSwooshGradient);
-}
-
-.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh {
-    fill: url(#animation_shuttleRingSwooshHovered);
-}
-*/
-
-.cesium-animation-shuttleRingPointer {
-    /* Widget will add: fill: url(#animation_shuttleRingPointerGradient); */
-    cursor: pointer;
-}
-
-.cesium-animation-shuttleRingPausePointer {
-    /* Widget will add: fill: url(#animation_shuttleRingPointerPaused); */
-    cursor: pointer;
-}
-
-.cesium-animation-shuttleRingBack {
-    fill: #181818;
-    fill-opacity: 0.8;
-    stroke: #333;
-    stroke-width: 1.2;
-}
-
-.cesium-animation-shuttleRingSwoosh line {
-    stroke: #8AC;
-    stroke-width: 3;
-    stroke-opacity: 0.2;
-    stroke-linecap: round;
-}
-
-.cesium-animation-knobOuter {
-    /* Widget will add: fill: url(#animation_knobOuter); */
-    cursor: pointer;
-    stroke: #444;
-    stroke-width: 1.2;
-}
-
-.cesium-animation-knobInner {
-    /* Widget will add: fill: url(#animation_knobInner); */
-    cursor: pointer;
-}
diff --git a/libs/supermap/Widgets/Animation/lighter.css b/libs/supermap/Widgets/Animation/lighter.css
deleted file mode 100644
index ad41c8e..0000000
--- a/libs/supermap/Widgets/Animation/lighter.css
+++ /dev/null
@@ -1,91 +0,0 @@
-.cesium-lighter .cesium-animation-themeNormal {
-    color: #E5F2FE;
-}
-
-.cesium-lighter .cesium-animation-themeHover {
-    color: #ABD6FF;
-}
-
-.cesium-lighter .cesium-animation-themeSelect {
-    color: #E5F2FE;
-}
-
-.cesium-lighter .cesium-animation-themeDisabled {
-    color: #EFEFEF;
-}
-
-.cesium-lighter .cesium-animation-themeKnob {
-    color: #E1E2E3;
-}
-
-.cesium-lighter .cesium-animation-themePointer {
-    color: #FA5;
-}
-
-.cesium-lighter .cesium-animation-themeSwoosh {
-    color: #ACE;
-}
-
-.cesium-lighter .cesium-animation-themeSwooshHover {
-    color: #BDF;
-}
-
-.cesium-lighter .cesium-animation-svgText {
-    fill: #111;
-}
-
-.cesium-lighter .cesium-animation-rectButton .cesium-animation-buttonPath {
-    fill: #111;
-}
-
-.cesium-lighter .cesium-animation-rectButton .cesium-animation-buttonMain {
-    stroke: #759DC0;
-}
-
-.cesium-lighter .cesium-animation-buttonToggled .cesium-animation-buttonGlow {
-    fill: #FFAA2A;
-}
-
-.cesium-lighter .cesium-animation-buttonToggled .cesium-animation-buttonMain {
-    /* Widget will add: fill: url(#animation_buttonToggled); */
-    stroke: #EA0;
-}
-
-.cesium-lighter .cesium-animation-rectButton:hover .cesium-animation-buttonMain {
-    stroke: #759DC0;
-}
-
-.cesium-lighter .cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow {
-    fill: #fff;
-}
-
-.cesium-lighter .cesium-animation-buttonToggled:hover .cesium-animation-buttonMain {
-    stroke: #EA0;
-}
-
-.cesium-lighter .cesium-animation-rectButton:active .cesium-animation-buttonMain {
-    fill: #ABD6FF;
-}
-
-.cesium-lighter .cesium-animation-buttonDisabled .cesium-animation-buttonMain {
-    stroke: #D3D3D3;
-}
-
-.cesium-lighter .cesium-animation-buttonDisabled .cesium-animation-buttonPath {
-    fill: #818181;
-}
-
-.cesium-lighter .cesium-animation-shuttleRingBack {
-    fill: #FAFAFA;
-    fill-opacity: 1;
-    stroke: #AEAEAE;
-    stroke-width: 1.2;
-}
-
-.cesium-lighter .cesium-animation-shuttleRingSwoosh line {
-    stroke: #8AC;
-}
-
-.cesium-lighter .cesium-animation-knobOuter {
-    stroke: #A5A5A5;
-}
diff --git a/libs/supermap/Widgets/BaseLayerPicker/BaseLayerPicker.css b/libs/supermap/Widgets/BaseLayerPicker/BaseLayerPicker.css
deleted file mode 100644
index bcc7db6..0000000
--- a/libs/supermap/Widgets/BaseLayerPicker/BaseLayerPicker.css
+++ /dev/null
@@ -1,116 +0,0 @@
-.cesium-baseLayerPicker-selected {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-    border: none;
-}
-
-.cesium-baseLayerPicker-dropDown {
-    display: block;
-    position: absolute;
-    box-sizing: content-box;
-    top: auto;
-    right: 0;
-    width: 320px; /* Includes space needed for scrollbar */
-    max-height: 500px;
-    margin-top: 5px;
-    background-color: rgba(38, 38, 38, 0.75);
-    border: 1px solid #444;
-    padding: 6px;
-    overflow: auto;
-    border-radius: 10px;
-    -moz-user-select: none;
-    -webkit-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-    transform: translate(0, -20%);
-    visibility: hidden;
-    opacity: 0;
-    transition: visibility 0s 0.2s, opacity 0.2s ease-in, transform 0.2s ease-in;
-}
-
-.cesium-baseLayerPicker-dropDown-visible {
-    transform: translate(0, 0);
-    visibility: visible;
-    opacity: 1;
-    transition: opacity 0.2s ease-out, transform 0.2s ease-out;
-}
-
-.cesium-baseLayerPicker-sectionTitle {
-    display: block;
-    font-family: sans-serif;
-    font-size: 16pt;
-    text-align: left;
-    color: #edffff;
-    margin-bottom: 4px;
-}
-
-.cesium-baseLayerPicker-choices {
-    margin-bottom: 5px;
-}
-
-.cesium-baseLayerPicker-categoryTitle {
-    color: #edffff;
-    font-size: 11pt;
-}
-
-.cesium-baseLayerPicker-choices {
-    display: block;
-    border: 1px solid #888;
-    border-radius: 5px;
-    padding: 5px 0;
-}
-
-.cesium-baseLayerPicker-item {
-    display: inline-block;
-    vertical-align: top;
-    margin: 2px 5px;
-    width: 64px;
-    text-align: center;
-    cursor: pointer;
-}
-
-.cesium-baseLayerPicker-itemLabel {
-    display: block;
-    font-family: sans-serif;
-    font-size: 8pt;
-    text-align: center;
-    vertical-align: middle;
-    color: #edffff;
-    cursor: pointer;
-    word-wrap: break-word;
-}
-
-.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel, .cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel {
-    text-decoration: underline;
-}
-
-.cesium-baseLayerPicker-itemIcon {
-    display: inline-block;
-    position: relative;
-    width: inherit;
-    height: auto;
-    background-size: 100% 100%;
-    border: solid 1px #444;
-    border-radius: 9px;
-    color: #edffff;
-    margin: 0;
-    padding: 0;
-    cursor: pointer;
-    box-sizing: border-box;
-}
-
-.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon {
-    border-color: #fff;
-    box-shadow: 0 0 8px #fff, 0 0 8px #fff;
-}
-
-.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel {
-    color: rgb(189, 236, 248);
-}
-
-.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon {
-    border: double 4px rgb(189, 236, 248);
-}
diff --git a/libs/supermap/Widgets/BaseLayerPicker/lighter.css b/libs/supermap/Widgets/BaseLayerPicker/lighter.css
deleted file mode 100644
index 5cbb42a..0000000
--- a/libs/supermap/Widgets/BaseLayerPicker/lighter.css
+++ /dev/null
@@ -1,27 +0,0 @@
-.cesium-lighter .cesium-baseLayerPicker-itemIcon {
-    border-color: #759dc0;
-}
-
-.cesium-lighter .cesium-baseLayerPicker-dropDown {
-    background-color: rgba(240, 240, 240, 0.75);
-}
-
-.cesium-lighter .cesium-baseLayerPicker-sectionTitle {
-    color: black;
-}
-
-.cesium-lighter .cesium-baseLayerPicker-itemLabel {
-    color: black;
-}
-
-.cesium-lighter .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon {
-    border-color: #000;
-}
-
-.cesium-lighter .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel {
-    color: rgb(0, 61, 168);
-}
-
-.cesium-lighter .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon {
-    border: double 4px rgb(0, 61, 168);
-}
diff --git a/libs/supermap/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css b/libs/supermap/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css
deleted file mode 100644
index d72e80b..0000000
--- a/libs/supermap/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css
+++ /dev/null
@@ -1,114 +0,0 @@
-
-ul.cesium-cesiumInspector-statistics {
-    margin: 0;
-    padding-top: 3px;
-    padding-bottom: 3px;
-}
-
-ul.cesium-cesiumInspector-statistics + ul.cesium-cesiumInspector-statistics {
-    border-top: 1px solid #aaa;
-}
-
-.cesium-cesiumInspector-slider {
-    margin-top: 5px;
-}
-
-.cesium-cesiumInspector-slider input[type=number] {
-    text-align: left;
-    background-color: #222;
-    outline: none;
-    border: 1px solid #444;
-    color: #edffff;
-    width: 100px;
-    border-radius: 3px;
-    padding: 1px;
-    margin-left: 10px;
-    cursor: auto;
-}
-
-.cesium-cesiumInspector-slider input[type=number]::-webkit-outer-spin-button,
-.cesium-cesiumInspector-slider input[type=number]::-webkit-inner-spin-button {
-    -webkit-appearance: none;
-    margin: 0;
-}
-
-.cesium-cesiumInspector-slider input[type=range] {
-    margin-left: 5px;
-    vertical-align: middle;
-}
-
-.cesium-cesiumInspector-hide .cesium-cesiumInspector-styleEditor {
-    display: none;
-}
-
-.cesium-cesiumInspector-styleEditor {
-    padding: 10px;
-    border-radius: 5px;
-    background: rgba(48, 51, 54, 0.8);
-    border: 1px solid #444;
-}
-
-.cesium-cesiumInspector-styleEditor textarea {
-    width: 100%;
-    height: 300px;
-    background: transparent;
-    color: #edffff;
-    border: none;
-    padding: 0;
-    white-space: pre;
-    overflow-wrap: normal;
-    overflow-x: auto;
-}
-
-.cesium-3DTilesInspector {
-    width: 300px;
-    pointer-events: all;
-}
-
-.cesium-3DTilesInspector-statistics {
-    font-size: 11px;
-}
-
-.cesium-3DTilesInspector div, .cesium-3DTilesInspector input[type=range] {
-    width: 100%;
-    box-sizing: border-box;
-}
-
-.cesium-cesiumInspector-error {
-    color: #ff9e9e;
-    overflow: auto;
-}
-
-.cesium-3DTilesInspector .cesium-cesiumInspector-section {
-    margin-top: 3px;
-}
-
-.cesium-3DTilesInspector .cesium-cesiumInspector-sectionHeader + .cesium-cesiumInspector-show {
-    border-top: 1px solid white;
-}
-
-input.cesium-cesiumInspector-url {
-    overflow: hidden;
-    white-space: nowrap;
-    overflow-x: scroll;
-    background-color: transparent;
-    color: white;
-    outline: none;
-    border: none;
-    height: 1em;
-    width: 100%;
-}
-
-.cesium-cesiumInspector .field-group {
-    display: table;
-}
-
-.cesium-cesiumInspector .field-group > label {
-    display: table-cell;
-    font-weight: bold;
-}
-
-.cesium-cesiumInspector .field-group > .field {
-    display: table-cell;
-    width: 100%;
-}
diff --git a/libs/supermap/Widgets/CesiumInspector/CesiumInspector.css b/libs/supermap/Widgets/CesiumInspector/CesiumInspector.css
deleted file mode 100644
index f6202d1..0000000
--- a/libs/supermap/Widgets/CesiumInspector/CesiumInspector.css
+++ /dev/null
@@ -1,130 +0,0 @@
-.cesium-cesiumInspector {
-    border-radius: 5px;
-    transition: width ease-in-out 0.25s;
-    background: rgba(48, 51, 54, 0.8);
-    border: 1px solid #444;
-    color: #edffff;
-    display: inline-block;
-    position: relative;
-    padding: 4px 12px;
-    -moz-user-select: none;
-    -webkit-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-    overflow: hidden;
-}
-
-.cesium-cesiumInspector-button {
-    text-align: center;
-    font-size: 11pt;
-}
-
-.cesium-cesiumInspector-visible .cesium-cesiumInspector-button {
-    border-bottom: 1px solid #aaa;
-    padding-bottom: 3px;
-}
-
-.cesium-cesiumInspector input:enabled, .cesium-cesiumInspector-button {
-    cursor: pointer;
-}
-
-.cesium-cesiumInspector-visible {
-    width: 185px;
-    height: auto;
-}
-
-.cesium-cesiumInspector-hidden {
-    width: 122px;
-    height: 17px;
-}
-
-.cesium-cesiumInspector-sectionContent {
-    max-height: 500px;
-}
-
-.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionContent {
-    max-height: 0;
-    padding: 0 !important;
-    overflow: hidden;
-}
-
-.cesium-cesiumInspector-dropDown {
-    margin: 5px 0;
-    font-family: sans-serif;
-    font-size: 10pt;
-    width: 185px;
-}
-
-.cesium-cesiumInspector-frustumStatistics {
-    padding-left: 10px;
-    padding: 5px;
-    background-color: rgba(80, 80, 80, 0.75);
-}
-
-.cesium-cesiumInspector-pickButton {
-    background-color: rgba(0, 0, 0, 0.3);
-    border: 1px solid #444;
-    color: #edffff;
-    border-radius: 5px;
-    padding: 3px 7px;
-    cursor: pointer;
-    -moz-user-select: none;
-    -webkit-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-    margin: 0 auto;
-}
-
-.cesium-cesiumInspector-pickButton:focus {
-    outline: none;
-}
-
-.cesium-cesiumInspector-pickButton:active, .cesium-cesiumInspector-pickButtonHighlight {
-    color: #000; /* For text buttons */
-    background: #adf;
-    border-color: #fff;
-    box-shadow: 0 0 8px #fff;
-}
-
-.cesium-cesiumInspector-center {
-    text-align: center;
-}
-
-.cesium-cesiumInspector-sectionHeader {
-    font-weight: bold;
-    font-size: 10pt;
-    margin: 0;
-    cursor: pointer;
-}
-
-.cesium-cesiumInspector-pickSection {
-    border: 1px solid #aaa;
-    border-radius: 5px;
-    padding: 3px;
-    margin-bottom: 5px;
-}
-
-.cesium-cesiumInspector-sectionContent {
-    margin-bottom: 10px;
-    transition: max-height 0.25s;
-}
-
-.cesium-cesiumInspector-tileText {
-    padding-bottom: 10px;
-    border-bottom: 1px solid #aaa;
-}
-
-.cesium-cesiumInspector-relativeText {
-    padding-top: 10px;
-}
-
-.cesium-cesiumInspector-sectionHeader::before {
-    margin-right: 5px;
-    content: '-';
-    width: 1ch;
-    display: inline-block;
-}
-
-.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionHeader::before {
-    content: '+';
-}
diff --git a/libs/supermap/Widgets/CesiumWidget/CesiumWidget.css b/libs/supermap/Widgets/CesiumWidget/CesiumWidget.css
deleted file mode 100644
index f1d8464..0000000
--- a/libs/supermap/Widgets/CesiumWidget/CesiumWidget.css
+++ /dev/null
@@ -1,73 +0,0 @@
-.cesium-widget {
-    position: relative;
-}
-
-.cesium-widget, .cesium-widget canvas {
-    width: 100%;
-    height: 100%;
-    touch-action: none;
-}
-
-.cesium-widget-credits {
-    display: block;
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    color: #fff;
-    font-size: 10px;
-    text-shadow: 0px 0px 2px #000000;
-    padding-right: 5px;
-}
-
-.cesium-widget-credits a,
-.cesium-widget-credits a:visited {
-    color: #fff;
-}
-
-.cesium-widget-errorPanel {
-    position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
-    text-align: center;
-    background: rgba(0, 0, 0, 0.7);
-    z-index: 99999;
-}
-
-.cesium-widget-errorPanel:before {
-    display: inline-block;
-    vertical-align: middle;
-    height: 100%;
-    content: "";
-}
-
-.cesium-widget-errorPanel-content {
-    width: 75%;
-    display: inline-block;
-    text-align: left;
-    vertical-align: middle;
-    border: 1px solid #526F82;
-    border-radius: 7px;
-    background-color: black;
-    color: white;
-    font-size: 10pt;
-    padding: 1em;
-}
-
-.cesium-widget-errorPanel-header {
-    font-size: 120%;
-    color: #fe4;
-}
-
-.cesium-widget-errorPanel-scroll {
-    overflow: auto;
-    font-family: monospace;
-    white-space: pre-wrap;
-    padding: 0;
-    margin: 10px 0;
-}
-
-.cesium-widget-errorPanel-buttonPanel {
-    text-align: center;
-}
diff --git a/libs/supermap/Widgets/CesiumWidget/lighter.css b/libs/supermap/Widgets/CesiumWidget/lighter.css
deleted file mode 100644
index 17ea93a..0000000
--- a/libs/supermap/Widgets/CesiumWidget/lighter.css
+++ /dev/null
@@ -1,14 +0,0 @@
-.cesium-lighter .cesium-widget-errorPanel {
-    background: rgba(255, 255, 255, 0.7);
-}
-
-.cesium-lighter .cesium-widget-errorPanel-content {
-    border: 1px solid #526F82;
-    border-radius: 7px;
-    background-color: white;
-    color: black;
-}
-
-.cesium-lighter .cesium-widget-errorPanel-header {
-    color: #B87D00;
-}
diff --git a/libs/supermap/Widgets/FullscreenButton/FullscreenButton.css b/libs/supermap/Widgets/FullscreenButton/FullscreenButton.css
deleted file mode 100644
index 691903d..0000000
--- a/libs/supermap/Widgets/FullscreenButton/FullscreenButton.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.cesium-button.cesium-fullscreenButton {
-    display: block;
-    width: 100%;
-    height: 100%;
-    margin: 0;
-    border-radius: 0;
-}
diff --git a/libs/supermap/Widgets/Geocoder/Geocoder.css b/libs/supermap/Widgets/Geocoder/Geocoder.css
deleted file mode 100644
index 3e94d84..0000000
--- a/libs/supermap/Widgets/Geocoder/Geocoder.css
+++ /dev/null
@@ -1,78 +0,0 @@
-.cesium-viewer-geocoderContainer .cesium-geocoder-input {
-    border: solid 1px #444;
-    background-color: rgba(40, 40, 40, 0.7);
-    color: white;
-    display: inline-block;
-    vertical-align: middle;
-    width: 0;
-    height: 32px;
-    margin: 0;
-    padding: 0 32px 0 0;
-    border-radius: 0;
-    box-sizing: border-box;
-    transition: width ease-in-out 0.25s, background-color 0.2s ease-in-out;
-    -webkit-appearance: none;
-}
-
-.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input {
-    border-color: #aef;
-    box-shadow: 0 0 8px #fff;
-}
-
-.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus {
-    border-color: #ea4;
-    background-color: rgba(15, 15, 15, 0.9);
-    box-shadow: none;
-    outline: none;
-}
-
-.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input,
-.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus,
-.cesium-viewer-geocoderContainer .cesium-geocoder-input-wide {
-    padding-left: 4px;
-    width: 250px;
-}
-
-.cesium-viewer-geocoderContainer .search-results {
-    position: absolute;
-    background-color: #000;
-    color: #eee;
-    overflow-y: auto;
-    opacity: 0.8;
-    width: 100%;
-}
-
-.cesium-viewer-geocoderContainer .search-results ul {
-    list-style-type: none;
-    margin: 0;
-    padding: 0;
-}
-
-.cesium-viewer-geocoderContainer .search-results ul li {
-    font-size: 14px;
-    padding: 3px 10px;
-}
-.cesium-viewer-geocoderContainer .search-results ul li:hover {
-    cursor: pointer;
-}
-
-.cesium-viewer-geocoderContainer .search-results ul li.active {
-    background: #48b;
-}
-
-.cesium-geocoder-searchButton {
-    background-color: #303336;
-    display: inline-block;
-    position: absolute;
-    cursor: pointer;
-    width: 32px;
-    top: 1px;
-    right: 1px;
-    height: 30px;
-    vertical-align: middle;
-    fill: #edffff;
-}
-
-.cesium-geocoder-searchButton:hover {
-    background-color: #48b;
-}
diff --git a/libs/supermap/Widgets/Geocoder/lighter.css b/libs/supermap/Widgets/Geocoder/lighter.css
deleted file mode 100644
index 6d08f8d..0000000
--- a/libs/supermap/Widgets/Geocoder/lighter.css
+++ /dev/null
@@ -1,19 +0,0 @@
-.cesium-lighter .cesium-geocoder-input {
-    border: solid 1px #759dc0;
-    background-color: rgba(240, 240, 240, 0.9);
-    color: black;
-}
-
-.cesium-lighter .cesium-viewer-geocoderContainer:hover .cesium-geocoder-input {
-    border-color: #aef;
-    box-shadow: 0 0 8px #fff;
-}
-
-.cesium-lighter .cesium-geocoder-searchButton {
-    background-color: #e2f0ff;
-    fill: #111;
-}
-
-.cesium-lighter .cesium-geocoder-searchButton:hover {
-    background-color: #a6d2ff;
-}
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/bingAerial.png b/libs/supermap/Widgets/Images/ImageryProviders/bingAerial.png
deleted file mode 100644
index a78a154..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/bingAerial.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/bingAerialLabels.png b/libs/supermap/Widgets/Images/ImageryProviders/bingAerialLabels.png
deleted file mode 100644
index 4cafd40..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/bingAerialLabels.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/bingRoads.png b/libs/supermap/Widgets/Images/ImageryProviders/bingRoads.png
deleted file mode 100644
index 282d6ad..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/bingRoads.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/blueMarble.png b/libs/supermap/Widgets/Images/ImageryProviders/blueMarble.png
deleted file mode 100644
index b8b5b7b..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/blueMarble.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/earthAtNight.png b/libs/supermap/Widgets/Images/ImageryProviders/earthAtNight.png
deleted file mode 100644
index 45e0fc7..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/earthAtNight.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/esriNationalGeographic.png b/libs/supermap/Widgets/Images/ImageryProviders/esriNationalGeographic.png
deleted file mode 100644
index bcfdd0b..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/esriNationalGeographic.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/esriWorldImagery.png b/libs/supermap/Widgets/Images/ImageryProviders/esriWorldImagery.png
deleted file mode 100644
index a9429da..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/esriWorldImagery.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/esriWorldStreetMap.png b/libs/supermap/Widgets/Images/ImageryProviders/esriWorldStreetMap.png
deleted file mode 100644
index dfbc1f4..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/esriWorldStreetMap.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png b/libs/supermap/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png
deleted file mode 100644
index f2eba41..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/mapboxSatellite.png b/libs/supermap/Widgets/Images/ImageryProviders/mapboxSatellite.png
deleted file mode 100644
index 30ee6db..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/mapboxSatellite.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/mapboxStreets.png b/libs/supermap/Widgets/Images/ImageryProviders/mapboxStreets.png
deleted file mode 100644
index 6eef1fc..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/mapboxStreets.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/mapboxTerrain.png b/libs/supermap/Widgets/Images/ImageryProviders/mapboxTerrain.png
deleted file mode 100644
index e6bc355..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/mapboxTerrain.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/naturalEarthII.png b/libs/supermap/Widgets/Images/ImageryProviders/naturalEarthII.png
deleted file mode 100644
index 50271c7..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/naturalEarthII.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/openStreetMap.png b/libs/supermap/Widgets/Images/ImageryProviders/openStreetMap.png
deleted file mode 100644
index 84acdb8..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/openStreetMap.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/sentinel-2.png b/libs/supermap/Widgets/Images/ImageryProviders/sentinel-2.png
deleted file mode 100644
index 775fb38..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/sentinel-2.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/stamenToner.png b/libs/supermap/Widgets/Images/ImageryProviders/stamenToner.png
deleted file mode 100644
index af89409..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/stamenToner.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ImageryProviders/stamenWatercolor.png b/libs/supermap/Widgets/Images/ImageryProviders/stamenWatercolor.png
deleted file mode 100644
index 552130e..0000000
--- a/libs/supermap/Widgets/Images/ImageryProviders/stamenWatercolor.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/arrows_e_active.png b/libs/supermap/Widgets/Images/Navigation/arrows_e_active.png
deleted file mode 100644
index 73332a7..0000000
--- a/libs/supermap/Widgets/Images/Navigation/arrows_e_active.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/arrows_n_active.png b/libs/supermap/Widgets/Images/Navigation/arrows_n_active.png
deleted file mode 100644
index ca42c00..0000000
--- a/libs/supermap/Widgets/Images/Navigation/arrows_n_active.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/arrows_s_active.png b/libs/supermap/Widgets/Images/Navigation/arrows_s_active.png
deleted file mode 100644
index 06124ad..0000000
--- a/libs/supermap/Widgets/Images/Navigation/arrows_s_active.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/arrows_w_active.png b/libs/supermap/Widgets/Images/Navigation/arrows_w_active.png
deleted file mode 100644
index 7742ce0..0000000
--- a/libs/supermap/Widgets/Images/Navigation/arrows_w_active.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/compass_active.png b/libs/supermap/Widgets/Images/Navigation/compass_active.png
deleted file mode 100644
index 4e31c9c..0000000
--- a/libs/supermap/Widgets/Images/Navigation/compass_active.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/ring.png b/libs/supermap/Widgets/Images/Navigation/ring.png
deleted file mode 100644
index a3388d0..0000000
--- a/libs/supermap/Widgets/Images/Navigation/ring.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/ring_active.png b/libs/supermap/Widgets/Images/Navigation/ring_active.png
deleted file mode 100644
index 40f91a2..0000000
--- a/libs/supermap/Widgets/Images/Navigation/ring_active.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/tilt.png b/libs/supermap/Widgets/Images/Navigation/tilt.png
deleted file mode 100644
index 71a9bf9..0000000
--- a/libs/supermap/Widgets/Images/Navigation/tilt.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/tiltbar.png b/libs/supermap/Widgets/Images/Navigation/tiltbar.png
deleted file mode 100644
index 23eec46..0000000
--- a/libs/supermap/Widgets/Images/Navigation/tiltbar.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/zoom.png b/libs/supermap/Widgets/Images/Navigation/zoom.png
deleted file mode 100644
index fa81c00..0000000
--- a/libs/supermap/Widgets/Images/Navigation/zoom.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/zoom_active_in.png b/libs/supermap/Widgets/Images/Navigation/zoom_active_in.png
deleted file mode 100644
index 5716eee..0000000
--- a/libs/supermap/Widgets/Images/Navigation/zoom_active_in.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/zoom_active_out.png b/libs/supermap/Widgets/Images/Navigation/zoom_active_out.png
deleted file mode 100644
index cfff628..0000000
--- a/libs/supermap/Widgets/Images/Navigation/zoom_active_out.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/Navigation/zoombar.png b/libs/supermap/Widgets/Images/Navigation/zoombar.png
deleted file mode 100644
index ec34327..0000000
--- a/libs/supermap/Widgets/Images/Navigation/zoombar.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/NavigationHelp/Mouse.svg b/libs/supermap/Widgets/Images/NavigationHelp/Mouse.svg
deleted file mode 100644
index 7fae028..0000000
--- a/libs/supermap/Widgets/Images/NavigationHelp/Mouse.svg
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   id="Layer_1"
-   x="0px"
-   y="0px"
-   width="29.6875"
-   height="40.625095"
-   viewBox="0 0 29.6875 40.625095"
-   enable-background="new 0 0 64 64"
-   xml:space="preserve"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="Mouse.svg"><metadata
-   id="metadata21"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
-   id="defs19" /><sodipodi:namedview
-   pagecolor="#ffffff"
-   bordercolor="#666666"
-   borderopacity="1"
-   objecttolerance="10"
-   gridtolerance="10"
-   guidetolerance="10"
-   inkscape:pageopacity="0"
-   inkscape:pageshadow="2"
-   inkscape:window-width="747"
-   inkscape:window-height="596"
-   id="namedview17"
-   showgrid="false"
-   inkscape:zoom="1.84375"
-   inkscape:cx="-37.919388"
-   inkscape:cy="92.305679"
-   inkscape:window-x="266"
-   inkscape:window-y="72"
-   inkscape:window-maximized="0"
-   inkscape:current-layer="Layer_1"
-   inkscape:snap-center="false"
-   inkscape:snap-page="false"
-   fit-margin-top="0"
-   fit-margin-left="0"
-   fit-margin-right="0"
-   fit-margin-bottom="0" />
-<g
-   id="g3"
-   transform="translate(-17.15625,-19.531154)">
-	<g
-   id="g5"
-   style="fill:#4d4d4d;stroke:#4d4d4d">
-		<path
-   d="M 31.9335,20.041 C 24.639,20.034 17.653,20.318 17.653,44.617 c 0,10.951 8.799,15.032 14.347,15.032 5.545,0 14.347,-4.081 14.347,-15.032 0,-24.27 -7.119,-24.569 -14.4135,-24.576 z m 0.7515,1.358 c 5.643,0.012 10.927,0.236 12.063,16.153 -3.86,1.805 -7.916,2.765 -12.063,2.86 l 0,-2.966 c 0.845,-0.162 1.481,-0.909 1.481,-1.782 l 0,-8.956 c 0,-0.876 -0.637,-1.621 -1.481,-1.784 z m -1.027,4.855 0.685,0 c 0.249,0 0.453,0.205 0.453,0.454 l 0,8.956 c 0,0.249 -0.204,0.449 -0.453,0.449 l -0.685,0 c -0.249,0 -0.452,-0.2 -0.452,-0.449 l 0,-8.956 c 0,-0.249 0.203,-0.454 0.452,-0.454 z m -0.345,-4.855 0,3.525 c -0.845,0.163 -1.479,0.91 -1.479,1.784 l 0,8.956 c 0,0.873 0.634,1.62 1.479,1.782 l 0,2.966 C 25.002,40.264 20.408,38.16 19.25,37.573 20.381,21.633 25.668,21.411 31.313,21.399 z M 32,58.274 c -5.016,0 -12.976,-3.707 -12.976,-13.658 0,-1.983 0.045,-3.853 0.134,-5.563 2.003,0.929 6.696,2.74 12.868,2.74 4.394,0 8.704,-0.934 12.813,-2.771 0.089,1.718 0.135,3.6 0.135,5.595 0,9.95 -7.958,13.657 -12.974,13.657 z"
-   id="path7"
-   style="fill:#4d4d4d;stroke:#4d4d4d"
-   inkscape:connector-curvature="0"
-   sodipodi:nodetypes="cssscccccssccsssssssssccssccccsscscss" />
-	</g>
-	
-	
-<path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 32.922034,38.950793 c 0,-1.135825 0.114919,-1.458045 0.677966,-1.900938 l 0.677966,-0.533288 0,-5.28078 c 0,-5.271249 -0.0012,-5.282003 -0.677966,-5.958745 -0.557439,-0.557439 -0.677966,-0.940935 -0.677966,-2.157165 l 0,-1.479199 1.535487,0 c 5.657554,0 8.584338,3.728529 9.71855,12.380791 0.498434,3.802265 0.50348,3.525731 -0.0676,3.704572 -0.261017,0.08174 -1.528694,0.512016 -2.817059,0.956167 -2.037206,0.702306 -4.048032,1.113044 -7.488026,1.529528 l -0.881356,0.106707 0,-1.36765 z"
-   id="path3768"
-   inkscape:connector-curvature="0" /><path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 31.485081,35.842143 c -0.104591,-0.104591 -0.190166,-2.231347 -0.190166,-4.726123 0,-3.983994 0.05502,-4.557071 0.452127,-4.709456 0.24867,-0.09542 0.556802,-0.06882 0.684738,0.05912 0.127937,0.127936 0.199056,2.296481 0.158043,4.818988 -0.06319,3.886405 -0.13867,4.598683 -0.494572,4.667009 -0.231003,0.04435 -0.505579,-0.0049 -0.61017,-0.109533 l 0,0 z"
-   id="path3770"
-   inkscape:connector-curvature="0" /><path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 30.440433,57.945316 c -3.064053,-0.42113 -6.77723,-2.474953 -8.457621,-4.67806 -2.1588,-2.830333 -3.113918,-6.737716 -2.769592,-11.330385 l 0.193121,-2.575872 2.07988,0.735628 c 3.527026,1.247466 6.337701,1.719068 10.215474,1.71405 4.171771,-0.0054 6.642981,-0.38868 10.25836,-1.591058 2.178973,-0.724668 2.692193,-0.815856 2.813444,-0.499883 0.08157,0.21256 0.08664,2.119864 0.01127,4.238453 -0.106217,2.98581 -0.266531,4.212938 -0.712935,5.457208 -1.450217,4.042206 -4.401118,6.844156 -8.437938,8.012017 -2.314747,0.669661 -3.34314,0.772215 -5.193465,0.517902 z"
-   id="path3772"
-   inkscape:connector-curvature="0" /></g>
-<path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644;stroke-opacity:1"
-   d="M 11.584306,20.532528 C 9.1265112,20.247533 6.2927846,19.555647 4.1047676,18.706316 c -0.969492,-0.376332 -1.792939,-0.704961 -1.829884,-0.730287 -0.152564,-0.104584 0.766016,-6.242541 1.16801,-7.804656 1.421191,-5.5226316 4.304477,-8.0618496 9.1542404,-8.0618496 l 1.541531,0 0,1.627119 c 0,1.237125 -0.09381,1.627118 -0.391402,1.627118 -0.215271,0 -0.581373,0.271221 -0.813559,0.602714 -0.345889,0.493826 -0.422157,1.5275241 -0.422157,5.7217066 l 0,5.118992 0.813559,0.759978 c 0.675846,0.631335 0.813559,0.971083 0.813559,2.007108 0,0.835921 -0.111771,1.235378 -0.338983,1.211489 -0.18644,-0.0196 -1.18336,-0.133551 -2.215376,-0.25322 l 0,0 z"
-   id="path3766"
-   inkscape:connector-curvature="0" /></svg>
\ No newline at end of file
diff --git a/libs/supermap/Widgets/Images/NavigationHelp/MouseLeft.svg b/libs/supermap/Widgets/Images/NavigationHelp/MouseLeft.svg
deleted file mode 100644
index 0c49c15..0000000
--- a/libs/supermap/Widgets/Images/NavigationHelp/MouseLeft.svg
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   id="Layer_1"
-   x="0px"
-   y="0px"
-   width="64px"
-   height="64px"
-   viewBox="0 0 64 64"
-   enable-background="new 0 0 64 64"
-   xml:space="preserve"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="MouseLeft.svg"><metadata
-   id="metadata21"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
-   id="defs19" /><sodipodi:namedview
-   pagecolor="#ffffff"
-   bordercolor="#666666"
-   borderopacity="1"
-   objecttolerance="10"
-   gridtolerance="10"
-   guidetolerance="10"
-   inkscape:pageopacity="0"
-   inkscape:pageshadow="2"
-   inkscape:window-width="1282"
-   inkscape:window-height="886"
-   id="namedview17"
-   showgrid="false"
-   inkscape:zoom="3.6875"
-   inkscape:cx="-10.305085"
-   inkscape:cy="32"
-   inkscape:window-x="104"
-   inkscape:window-y="136"
-   inkscape:window-maximized="0"
-   inkscape:current-layer="g3" />
-<g
-   id="g3">
-	<g
-   id="g5"
-   style="fill:#4d4d4d;stroke:#4d4d4d">
-		<path
-   fill="#020202"
-   d="M32.854,20.028c-0.015-1.274,0.576-2.269,1.151-3.236c0.758-1.278,1.543-2.6,0.997-4.417    c-0.555-1.667-1.607-2.485-2.539-3.212c-1.254-0.973-2.159-1.676-1.687-4.343l0.041-0.229l-1.35-0.238L29.427,4.58    c-0.615,3.484,0.878,4.643,2.195,5.666c0.85,0.663,1.653,1.288,2.072,2.542c0.366,1.224-0.18,2.143-0.869,3.306    c-0.641,1.081-1.366,2.3-1.349,3.933c-6.837,0.007-13.823,0.291-13.823,24.59c0,10.951,8.799,15.032,14.347,15.032    c5.545,0,14.347-4.081,14.347-15.032C46.347,20.347,39.228,20.048,32.854,20.028z M32.685,21.399    c5.643,0.012,10.927,0.236,12.063,16.153c-3.86,1.805-7.916,2.765-12.063,2.86v-2.966c0.845-0.162,1.481-0.909,1.481-1.782v-8.956    c0-0.876-0.637-1.621-1.481-1.784V21.399z M31.658,26.254h0.685c0.249,0,0.453,0.205,0.453,0.454v8.956    c0,0.249-0.204,0.449-0.453,0.449h-0.685c-0.249,0-0.452-0.2-0.452-0.449v-8.956C31.206,26.459,31.409,26.254,31.658,26.254z     M31.313,21.399v3.525c-0.845,0.163-1.479,0.91-1.479,1.784v8.956c0,0.873,0.634,1.62,1.479,1.782v2.966    c-6.311-0.148-10.905-2.252-12.063-2.839C20.381,21.633,25.668,21.411,31.313,21.399z M32,58.274    c-5.016,0-12.976-3.707-12.976-13.658c0-1.983,0.045-3.853,0.134-5.563c2.003,0.929,6.696,2.74,12.868,2.74    c4.394,0,8.704-0.934,12.813-2.771c0.089,1.718,0.135,3.6,0.135,5.595C44.974,54.567,37.016,58.274,32,58.274z"
-   id="path7"
-   style="fill:#4d4d4d;stroke:#4d4d4d" />
-	</g>
-	
-	
-<path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 32.922034,38.950793 c 0,-1.135825 0.114919,-1.458045 0.677966,-1.900938 l 0.677966,-0.533288 0,-5.28078 c 0,-5.271249 -0.0012,-5.282003 -0.677966,-5.958745 -0.557439,-0.557439 -0.677966,-0.940935 -0.677966,-2.157165 l 0,-1.479199 1.535487,0 c 5.657554,0 8.584338,3.728529 9.71855,12.380791 0.498434,3.802265 0.50348,3.525731 -0.0676,3.704572 -0.261017,0.08174 -1.528694,0.512016 -2.817059,0.956167 -2.037206,0.702306 -4.048032,1.113044 -7.488026,1.529528 l -0.881356,0.106707 0,-1.36765 z"
-   id="path3768"
-   inkscape:connector-curvature="0" /><path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 31.485081,35.842143 c -0.104591,-0.104591 -0.190166,-2.231347 -0.190166,-4.726123 0,-3.983994 0.05502,-4.557071 0.452127,-4.709456 0.24867,-0.09542 0.556802,-0.06882 0.684738,0.05912 0.127937,0.127936 0.199056,2.296481 0.158043,4.818988 -0.06319,3.886405 -0.13867,4.598683 -0.494572,4.667009 -0.231003,0.04435 -0.505579,-0.0049 -0.61017,-0.109533 l 0,0 z"
-   id="path3770"
-   inkscape:connector-curvature="0" /><path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 30.440433,57.945316 c -3.064053,-0.42113 -6.77723,-2.474953 -8.457621,-4.67806 -2.1588,-2.830333 -3.113918,-6.737716 -2.769592,-11.330385 l 0.193121,-2.575872 2.07988,0.735628 c 3.527026,1.247466 6.337701,1.719068 10.215474,1.71405 4.171771,-0.0054 6.642981,-0.38868 10.25836,-1.591058 2.178973,-0.724668 2.692193,-0.815856 2.813444,-0.499883 0.08157,0.21256 0.08664,2.119864 0.01127,4.238453 -0.106217,2.98581 -0.266531,4.212938 -0.712935,5.457208 -1.450217,4.042206 -4.401118,6.844156 -8.437938,8.012017 -2.314747,0.669661 -3.34314,0.772215 -5.193465,0.517902 z"
-   id="path3772"
-   inkscape:connector-curvature="0" /></g>
-<path
-   style="fill:#66CCFF;stroke:#66CCFF;stroke-width:0.27118643999999997"
-   d="m 28.740556,40.063682 c -2.457795,-0.284995 -5.291522,-0.976881 -7.479539,-1.826212 -0.969492,-0.376332 -1.792939,-0.704961 -1.829884,-0.730287 -0.152564,-0.104584 0.766016,-6.242541 1.16801,-7.804656 1.421191,-5.522631 4.304477,-8.061849 9.154241,-8.061849 l 1.541531,0 0,1.627119 c 0,1.237125 -0.09381,1.627118 -0.391402,1.627118 -0.215271,0 -0.581373,0.271221 -0.813559,0.602714 -0.345889,0.493826 -0.422157,1.527524 -0.422157,5.721706 l 0,5.118992 0.813559,0.759978 c 0.675846,0.631335 0.813559,0.971083 0.813559,2.007108 0,0.835921 -0.111771,1.235378 -0.338983,1.211489 -0.18644,-0.0196 -1.18336,-0.133551 -2.215376,-0.25322 l 0,0 z"
-   id="path3766"
-   inkscape:connector-curvature="0" /></svg>
\ No newline at end of file
diff --git a/libs/supermap/Widgets/Images/NavigationHelp/MouseMiddle.svg b/libs/supermap/Widgets/Images/NavigationHelp/MouseMiddle.svg
deleted file mode 100644
index 9dd533d..0000000
--- a/libs/supermap/Widgets/Images/NavigationHelp/MouseMiddle.svg
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   id="Layer_1"
-   x="0px"
-   y="0px"
-   width="64px"
-   height="64px"
-   viewBox="0 0 64 64"
-   enable-background="new 0 0 64 64"
-   xml:space="preserve"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="MouseMiddle.svg"><metadata
-   id="metadata21"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
-   id="defs19" /><sodipodi:namedview
-   pagecolor="#ffffff"
-   bordercolor="#666666"
-   borderopacity="1"
-   objecttolerance="10"
-   gridtolerance="10"
-   guidetolerance="10"
-   inkscape:pageopacity="0"
-   inkscape:pageshadow="2"
-   inkscape:window-width="1282"
-   inkscape:window-height="886"
-   id="namedview17"
-   showgrid="false"
-   inkscape:zoom="3.6875"
-   inkscape:cx="-10.305085"
-   inkscape:cy="32"
-   inkscape:window-x="31"
-   inkscape:window-y="15"
-   inkscape:window-maximized="0"
-   inkscape:current-layer="g3" />
-<g
-   id="g3">
-	<g
-   id="g5"
-   style="stroke:#4d4d4d;fill:#4d4d4d">
-		<path
-   fill="#020202"
-   d="M32.854,20.028c-0.015-1.274,0.576-2.269,1.151-3.236c0.758-1.278,1.543-2.6,0.997-4.417    c-0.555-1.667-1.607-2.485-2.539-3.212c-1.254-0.973-2.159-1.676-1.687-4.343l0.041-0.229l-1.35-0.238L29.427,4.58    c-0.615,3.484,0.878,4.643,2.195,5.666c0.85,0.663,1.653,1.288,2.072,2.542c0.366,1.224-0.18,2.143-0.869,3.306    c-0.641,1.081-1.366,2.3-1.349,3.933c-6.837,0.007-13.823,0.291-13.823,24.59c0,10.951,8.799,15.032,14.347,15.032    c5.545,0,14.347-4.081,14.347-15.032C46.347,20.347,39.228,20.048,32.854,20.028z M32.685,21.399    c5.643,0.012,10.927,0.236,12.063,16.153c-3.86,1.805-7.916,2.765-12.063,2.86v-2.966c0.845-0.162,1.481-0.909,1.481-1.782v-8.956    c0-0.876-0.637-1.621-1.481-1.784V21.399z M31.658,26.254h0.685c0.249,0,0.453,0.205,0.453,0.454v8.956    c0,0.249-0.204,0.449-0.453,0.449h-0.685c-0.249,0-0.452-0.2-0.452-0.449v-8.956C31.206,26.459,31.409,26.254,31.658,26.254z     M31.313,21.399v3.525c-0.845,0.163-1.479,0.91-1.479,1.784v8.956c0,0.873,0.634,1.62,1.479,1.782v2.966    c-6.311-0.148-10.905-2.252-12.063-2.839C20.381,21.633,25.668,21.411,31.313,21.399z M32,58.274    c-5.016,0-12.976-3.707-12.976-13.658c0-1.983,0.045-3.853,0.134-5.563c2.003,0.929,6.696,2.74,12.868,2.74    c4.394,0,8.704-0.934,12.813-2.771c0.089,1.718,0.135,3.6,0.135,5.595C44.974,54.567,37.016,58.274,32,58.274z"
-   id="path7"
-   style="stroke:#4d4d4d;fill:#4d4d4d" />
-	</g>
-	
-	
-<path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118643999999997"
-   d="m 32.922034,38.950793 c 0,-1.135825 0.114919,-1.458045 0.677966,-1.900938 l 0.677966,-0.533288 0,-5.28078 c 0,-5.271249 -0.0012,-5.282003 -0.677966,-5.958745 -0.557439,-0.557439 -0.677966,-0.940935 -0.677966,-2.157165 l 0,-1.479199 1.535487,0 c 5.657554,0 8.584338,3.728529 9.71855,12.380791 0.498434,3.802265 0.50348,3.525731 -0.0676,3.704572 -0.261017,0.08174 -1.528694,0.512016 -2.817059,0.956167 -2.037206,0.702306 -4.048032,1.113044 -7.488026,1.529528 l -0.881356,0.106707 0,-1.36765 z"
-   id="path3768"
-   inkscape:connector-curvature="0" /><path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 30.440433,57.945316 c -3.064053,-0.42113 -6.77723,-2.474953 -8.457621,-4.67806 -2.1588,-2.830333 -3.113918,-6.737716 -2.769592,-11.330385 l 0.193121,-2.575872 2.07988,0.735628 c 3.527026,1.247466 6.337701,1.719068 10.215474,1.71405 4.171771,-0.0054 6.642981,-0.38868 10.25836,-1.591058 2.178973,-0.724668 2.692193,-0.815856 2.813444,-0.499883 0.08157,0.21256 0.08664,2.119864 0.01127,4.238453 -0.106217,2.98581 -0.266531,4.212938 -0.712935,5.457208 -1.450217,4.042206 -4.401118,6.844156 -8.437938,8.012017 -2.314747,0.669661 -3.34314,0.772215 -5.193465,0.517902 z"
-   id="path3772"
-   inkscape:connector-curvature="0" /><path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 28.740556,40.063682 c -2.457795,-0.284995 -5.291522,-0.976881 -7.479539,-1.826212 -0.969492,-0.376332 -1.792939,-0.704961 -1.829884,-0.730287 -0.152564,-0.104584 0.766016,-6.242541 1.16801,-7.804656 1.421191,-5.522631 4.304477,-8.061849 9.154241,-8.061849 l 1.541531,0 0,1.627119 c 0,1.237125 -0.09381,1.627118 -0.391402,1.627118 -0.215271,0 -0.581373,0.271221 -0.813559,0.602714 -0.345889,0.493826 -0.422157,1.527524 -0.422157,5.721706 l 0,5.118992 0.813559,0.759978 c 0.675846,0.631335 0.813559,0.971083 0.813559,2.007108 0,0.835921 -0.111771,1.235378 -0.338983,1.211489 -0.18644,-0.0196 -1.18336,-0.133551 -2.215376,-0.25322 l 0,0 z"
-   id="path3778"
-   inkscape:connector-curvature="0" /><path
-   style="fill:#ffd800;stroke:#ffd800;stroke-width:0.33870965"
-   d="m 31.356243,35.809264 c -0.164314,-0.103856 -0.298753,-2.215682 -0.298753,-4.692945 0,-3.956026 0.08644,-4.52508 0.710296,-4.676395 0.390663,-0.09475 0.87474,-0.06834 1.075729,0.0587 0.200991,0.127038 0.312719,2.28036 0.248288,4.785159 -0.09927,3.859122 -0.217853,4.566401 -0.776977,4.634247 -0.362909,0.04404 -0.79427,-0.0049 -0.958583,-0.108765 l 0,0 z"
-   id="path3770"
-   inkscape:connector-curvature="0" /></g>
-</svg>
\ No newline at end of file
diff --git a/libs/supermap/Widgets/Images/NavigationHelp/MouseRight.svg b/libs/supermap/Widgets/Images/NavigationHelp/MouseRight.svg
deleted file mode 100644
index 2662ad1..0000000
--- a/libs/supermap/Widgets/Images/NavigationHelp/MouseRight.svg
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   id="Layer_1"
-   x="0px"
-   y="0px"
-   width="64px"
-   height="64px"
-   viewBox="0 0 64 64"
-   enable-background="new 0 0 64 64"
-   xml:space="preserve"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="MouseRight.svg"><metadata
-   id="metadata21"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
-   id="defs19" /><sodipodi:namedview
-   pagecolor="#ffffff"
-   bordercolor="#666666"
-   borderopacity="1"
-   objecttolerance="10"
-   gridtolerance="10"
-   guidetolerance="10"
-   inkscape:pageopacity="0"
-   inkscape:pageshadow="2"
-   inkscape:window-width="1282"
-   inkscape:window-height="886"
-   id="namedview17"
-   showgrid="false"
-   inkscape:zoom="3.6875"
-   inkscape:cx="32"
-   inkscape:cy="32"
-   inkscape:window-x="31"
-   inkscape:window-y="15"
-   inkscape:window-maximized="0"
-   inkscape:current-layer="g3" />
-<g
-   id="g3">
-	<g
-   id="g5"
-   style="stroke:#4d4d4d;fill:#4d4d4d">
-		<path
-   fill="#020202"
-   d="M32.854,20.028c-0.015-1.274,0.576-2.269,1.151-3.236c0.758-1.278,1.543-2.6,0.997-4.417    c-0.555-1.667-1.607-2.485-2.539-3.212c-1.254-0.973-2.159-1.676-1.687-4.343l0.041-0.229l-1.35-0.238L29.427,4.58    c-0.615,3.484,0.878,4.643,2.195,5.666c0.85,0.663,1.653,1.288,2.072,2.542c0.366,1.224-0.18,2.143-0.869,3.306    c-0.641,1.081-1.366,2.3-1.349,3.933c-6.837,0.007-13.823,0.291-13.823,24.59c0,10.951,8.799,15.032,14.347,15.032    c5.545,0,14.347-4.081,14.347-15.032C46.347,20.347,39.228,20.048,32.854,20.028z M32.685,21.399    c5.643,0.012,10.927,0.236,12.063,16.153c-3.86,1.805-7.916,2.765-12.063,2.86v-2.966c0.845-0.162,1.481-0.909,1.481-1.782v-8.956    c0-0.876-0.637-1.621-1.481-1.784V21.399z M31.658,26.254h0.685c0.249,0,0.453,0.205,0.453,0.454v8.956    c0,0.249-0.204,0.449-0.453,0.449h-0.685c-0.249,0-0.452-0.2-0.452-0.449v-8.956C31.206,26.459,31.409,26.254,31.658,26.254z     M31.313,21.399v3.525c-0.845,0.163-1.479,0.91-1.479,1.784v8.956c0,0.873,0.634,1.62,1.479,1.782v2.966    c-6.311-0.148-10.905-2.252-12.063-2.839C20.381,21.633,25.668,21.411,31.313,21.399z M32,58.274    c-5.016,0-12.976-3.707-12.976-13.658c0-1.983,0.045-3.853,0.134-5.563c2.003,0.929,6.696,2.74,12.868,2.74    c4.394,0,8.704-0.934,12.813-2.771c0.089,1.718,0.135,3.6,0.135,5.595C44.974,54.567,37.016,58.274,32,58.274z"
-   id="path7"
-   style="stroke:#4d4d4d;fill:#4d4d4d" />
-	</g>
-	
-	
-<path
-   style="fill:#65FD00;stroke:#65FD00;stroke-width:0.27118643999999997"
-   d="m 32.922034,38.950793 c 0,-1.135825 0.114919,-1.458045 0.677966,-1.900938 l 0.677966,-0.533288 0,-5.28078 c 0,-5.271249 -0.0012,-5.282003 -0.677966,-5.958745 -0.557439,-0.557439 -0.677966,-0.940935 -0.677966,-2.157165 l 0,-1.479199 1.535487,0 c 5.657554,0 8.584338,3.728529 9.71855,12.380791 0.498434,3.802265 0.50348,3.525731 -0.0676,3.704572 -0.261017,0.08174 -1.528694,0.512016 -2.817059,0.956167 -2.037206,0.702306 -4.048032,1.113044 -7.488026,1.529528 l -0.881356,0.106707 0,-1.36765 z"
-   id="path3768"
-   inkscape:connector-curvature="0" /><path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 31.485081,35.842143 c -0.104591,-0.104591 -0.190166,-2.231347 -0.190166,-4.726123 0,-3.983994 0.05502,-4.557071 0.452127,-4.709456 0.24867,-0.09542 0.556802,-0.06882 0.684738,0.05912 0.127937,0.127936 0.199056,2.296481 0.158043,4.818988 -0.06319,3.886405 -0.13867,4.598683 -0.494572,4.667009 -0.231003,0.04435 -0.505579,-0.0049 -0.61017,-0.109533 l 0,0 z"
-   id="path3770"
-   inkscape:connector-curvature="0" /><path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 30.440433,57.945316 c -3.064053,-0.42113 -6.77723,-2.474953 -8.457621,-4.67806 -2.1588,-2.830333 -3.113918,-6.737716 -2.769592,-11.330385 l 0.193121,-2.575872 2.07988,0.735628 c 3.527026,1.247466 6.337701,1.719068 10.215474,1.71405 4.171771,-0.0054 6.642981,-0.38868 10.25836,-1.591058 2.178973,-0.724668 2.692193,-0.815856 2.813444,-0.499883 0.08157,0.21256 0.08664,2.119864 0.01127,4.238453 -0.106217,2.98581 -0.266531,4.212938 -0.712935,5.457208 -1.450217,4.042206 -4.401118,6.844156 -8.437938,8.012017 -2.314747,0.669661 -3.34314,0.772215 -5.193465,0.517902 z"
-   id="path3772"
-   inkscape:connector-curvature="0" /><path
-   style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644"
-   d="m 28.740556,40.063682 c -2.457795,-0.284995 -5.291522,-0.976881 -7.479539,-1.826212 -0.969492,-0.376332 -1.792939,-0.704961 -1.829884,-0.730287 -0.152564,-0.104584 0.766016,-6.242541 1.16801,-7.804656 1.421191,-5.522631 4.304477,-8.061849 9.154241,-8.061849 l 1.541531,0 0,1.627119 c 0,1.237125 -0.09381,1.627118 -0.391402,1.627118 -0.215271,0 -0.581373,0.271221 -0.813559,0.602714 -0.345889,0.493826 -0.422157,1.527524 -0.422157,5.721706 l 0,5.118992 0.813559,0.759978 c 0.675846,0.631335 0.813559,0.971083 0.813559,2.007108 0,0.835921 -0.111771,1.235378 -0.338983,1.211489 -0.18644,-0.0196 -1.18336,-0.133551 -2.215376,-0.25322 l 0,0 z"
-   id="path3778"
-   inkscape:connector-curvature="0" /></g>
-</svg>
\ No newline at end of file
diff --git a/libs/supermap/Widgets/Images/NavigationHelp/Touch.svg b/libs/supermap/Widgets/Images/NavigationHelp/Touch.svg
deleted file mode 100644
index e682b30..0000000
--- a/libs/supermap/Widgets/Images/NavigationHelp/Touch.svg
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   id="Capa_1"
-   x="0px"
-   y="0px"
-   width="76.664284"
-   height="128.25087"
-   viewBox="0 0 76.664283 128.25086"
-   xml:space="preserve"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="Touch.svg"><metadata
-   id="metadata3468"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
-   id="defs3466" /><sodipodi:namedview
-   pagecolor="#ffffff"
-   bordercolor="#666666"
-   borderopacity="1"
-   objecttolerance="10"
-   gridtolerance="10"
-   guidetolerance="10"
-   inkscape:pageopacity="0"
-   inkscape:pageshadow="2"
-   inkscape:window-width="920"
-   inkscape:window-height="780"
-   id="namedview3464"
-   showgrid="false"
-   inkscape:zoom="1.7688899"
-   inkscape:cx="-0.07794217"
-   inkscape:cy="94.239301"
-   inkscape:window-x="1529"
-   inkscape:window-y="186"
-   inkscape:window-maximized="0"
-   inkscape:current-layer="g3428"
-   fit-margin-top="0"
-   fit-margin-left="0"
-   fit-margin-right="0"
-   fit-margin-bottom="0" />
-<g
-   id="g3428"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-	
-	<path
-   d="M 76.151,80.896 C 77.465,66.89 62.145,65.577 62.145,65.577 57.771,52.885 46.39,59.45 46.39,59.45 40.701,46.758 29.322,55.511 29.322,55.511 27.912,55.092 25.613,11.796 24.414,11.604 23.44,7.068 14.011,-1.728 12.511,14.772 c 0,36.5 -1.135,47.304 -1.135,47.304 C 9.188,67.328 5.31,80.458 5.31,80.458 -3.006,89.649 0.933,96.214 0.933,96.214 c 7.002,12.255 21.385,28.449 21.385,28.449 6.129,5.252 2.627,8.316 2.627,8.316 l 42.455,0.438 2.334,-7.878 c 9.628,-18.382 6.417,-44.643 6.417,-44.643 z"
-   id="path3432"
-   inkscape:connector-curvature="0"
-   sodipodi:nodetypes="cccccccccccccc"
-   style="fill:#ffffff;fill-opacity:1" />
-</g>
-<g
-   id="g3434"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3436"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3438"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3440"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3442"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3444"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3446"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3448"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3450"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3452"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3454"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3456"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3458"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3460"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-<g
-   id="g3462"
-   transform="translate(-7.9878665e-4,-5.1661327)">
-</g>
-</svg>
\ No newline at end of file
diff --git a/libs/supermap/Widgets/Images/NavigationHelp/TouchDrag.svg b/libs/supermap/Widgets/Images/NavigationHelp/TouchDrag.svg
deleted file mode 100644
index f0509e8..0000000
--- a/libs/supermap/Widgets/Images/NavigationHelp/TouchDrag.svg
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   id="Capa_1"
-   x="0px"
-   y="0px"
-   width="76.664284"
-   height="133.41701"
-   viewBox="0 0 76.664283 133.417"
-   xml:space="preserve"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="TouchDrag.svg"><metadata
-   id="metadata3468"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
-   id="defs3466" /><sodipodi:namedview
-   pagecolor="#ffffff"
-   bordercolor="#666666"
-   borderopacity="1"
-   objecttolerance="10"
-   gridtolerance="10"
-   guidetolerance="10"
-   inkscape:pageopacity="0"
-   inkscape:pageshadow="2"
-   inkscape:window-width="920"
-   inkscape:window-height="780"
-   id="namedview3464"
-   showgrid="false"
-   inkscape:zoom="1.7688899"
-   inkscape:cx="-0.077942171"
-   inkscape:cy="94.239298"
-   inkscape:window-x="161"
-   inkscape:window-y="225"
-   inkscape:window-maximized="0"
-   inkscape:current-layer="g3428"
-   fit-margin-top="0"
-   fit-margin-left="0"
-   fit-margin-right="0"
-   fit-margin-bottom="0" />
-<g
-   id="g3428"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-	<path
-   style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd"
-   d="M 18.653,0 C 12.359,0 7.258,5.102 7.258,11.395 c 0,6.293 5.102,11.395 11.396,11.395 6.293,0 11.395,-5.102 11.395,-11.395 C 30.048,5.102 24.946,0 18.653,0 z m 0,20.43 c -4.989,0 -9.036,-4.046 -9.036,-9.036 0,-4.989 4.047,-9.035 9.036,-9.035 4.989,0 9.035,4.046 9.035,9.035 0,4.99 -4.045,9.036 -9.035,9.036 z"
-   id="path3430"
-   inkscape:connector-curvature="0" />
-	<path
-   d="M 76.151,80.896 C 77.465,66.89 62.145,65.577 62.145,65.577 57.771,52.885 46.39,59.45 46.39,59.45 40.701,46.758 29.322,55.511 29.322,55.511 27.912,55.092 25.613,11.796 24.414,11.604 23.44,7.068 14.011,-1.728 12.511,14.772 c 0,36.5 -1.135,47.304 -1.135,47.304 C 9.188,67.328 5.31,80.458 5.31,80.458 -3.006,89.649 0.933,96.214 0.933,96.214 c 7.002,12.255 21.385,28.449 21.385,28.449 6.129,5.252 2.627,8.316 2.627,8.316 l 42.455,0.438 2.334,-7.878 c 9.628,-18.382 6.417,-44.643 6.417,-44.643 z"
-   id="path3432"
-   inkscape:connector-curvature="0"
-   sodipodi:nodetypes="cccccccccccccc"
-   style="fill:#ffffff;fill-opacity:1" />
-<path
-   d="m 65.247258,98.823749 c -0.681067,0.71969 -7.149935,7.376421 -7.149935,7.376421 0,0 -0.86404,0.92222 -0.86404,-0.29705 0.0013,-1.22468 0.0013,-3.17039 0.0013,-3.17039 0,0 -0.498094,0.003 -1.261753,0.002 -2.35324,0.002 -6.936466,0.002 -8.692502,0.002 0,0 -0.07751,-0.007 -0.162642,-0.0472 0,0.0378 0,0.0972 0,0.13232 0.01652,0.0891 0.0013,0.16068 0,0.16608 0,0.0149 0,0.0419 0,0.0554 0,0 0.01779,0.077 0,0.17013 0,2.02673 0,6.49066 0,8.99672 0.0013,0.90332 0,1.49203 0,1.49203 0,0 2.283354,0.002 3.229986,0 0.942821,0 0.07751,0.87225 0.07751,0.87225 l -7.121981,7.36157 c 0,0 -0.470139,0.5833 -0.963151,0.0607 -0.677255,-0.72374 -6.941548,-7.59515 -6.941548,-7.59515 0,0 -0.867853,-0.91952 0.280812,-0.91952 1.151207,0.002 2.983481,0.002 2.983481,0.002 0,0 -0.0026,-0.52929 -0.0013,-1.34079 -0.0013,-2.50067 -0.0013,-7.37102 -0.0013,-9.23572 l 0,-0.004 c 0,-0.0567 0,-0.14582 0,-0.21333 -0.08259,0.0392 -0.15883,0.0459 -0.15883,0.0459 -1.756036,0 -6.339262,0 -8.696314,-0.002 -0.759847,0.002 -1.260482,0 -1.260482,0 0,0 0.0026,1.94706 0.0026,3.17039 -0.0013,1.21793 -0.864041,0.29975 -0.864041,0.29975 0,0 -6.467597,-6.655381 -7.147393,-7.377761 -0.493012,-0.52525 0.05464,-1.02484 0.05464,-1.02484 l 6.927571,-7.566801 c 0,0 0.82338,-0.92357 0.82211,0.08236 0.0026,1.004586 0.0026,3.432334 0.0026,3.432334 0,0 0.552732,-0.0014 1.402796,-0.0041 2.439643,0.0041 6.872933,0.0027 8.678524,0.0014 0,0 0.116899,-0.03106 0.23634,0.027 0,-4.084505 0,-8.204115 0.0013,-9.436893 -0.0013,-0.807449 0,-1.339448 0,-1.339448 0,0 -1.832274,0.0027 -2.983481,0.0027 -1.146124,-0.0014 -0.280813,-0.918169 -0.280813,-0.918169 0,0 6.261752,-6.872771 6.942819,-7.596505 0.494283,-0.522547 0.964422,0.05806 0.964422,0.05806 l 7.12071,7.361561 c 0,0 0.869123,0.874963 -0.07624,0.872261 -0.945362,0.0027 -3.229987,0.0027 -3.229987,0.0027 0,0 0.0013,0.587358 0.0038,1.492025 -0.0013,1.284087 -0.0026,5.419901 -0.0026,9.503056 0.120712,-0.06211 0.240153,-0.02835 0.240153,-0.02835 1.804319,0 6.237609,0 8.675982,0 0.851334,-0.0014 1.404066,0 1.404066,0 0,0 0.0013,-2.426399 0,-3.430985 0,-1.003235 0.820838,-0.08236 0.820838,-0.08236 l 6.927572,7.566803 c 0,0.001 0.546378,0.50094 0.05845,1.02484 z"
-   id="path3238"
-   inkscape:connector-curvature="0"
-   sodipodi:nodetypes="cccccccccccccccccccccsscccccccccccccccccccccccccccccccc"
-   style="fill:#66ccff;fill-opacity:1" /></g>
-<g
-   id="g3434"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3436"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3438"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3440"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3442"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3444"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3446"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3448"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3450"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3452"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3454"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3456"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3458"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3460"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-<g
-   id="g3462"
-   transform="translate(-7.9878665e-4,-2.9265169e-6)">
-</g>
-</svg>
\ No newline at end of file
diff --git a/libs/supermap/Widgets/Images/NavigationHelp/TouchRotate.svg b/libs/supermap/Widgets/Images/NavigationHelp/TouchRotate.svg
deleted file mode 100644
index fe968ff..0000000
--- a/libs/supermap/Widgets/Images/NavigationHelp/TouchRotate.svg
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   id="Capa_1"
-   x="0px"
-   y="0px"
-   width="99.001816"
-   height="101.57817"
-   viewBox="0 0 99.001814 101.57817"
-   enable-background="new 0 0 100.775 118.638"
-   xml:space="preserve"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="TouchRotate.svg"><metadata
-   id="metadata3382"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
-   id="defs3380" /><sodipodi:namedview
-   pagecolor="#ffffff"
-   bordercolor="#666666"
-   borderopacity="1"
-   objecttolerance="10"
-   gridtolerance="10"
-   guidetolerance="10"
-   inkscape:pageopacity="0"
-   inkscape:pageshadow="2"
-   inkscape:window-width="1105"
-   inkscape:window-height="739"
-   id="namedview3378"
-   showgrid="false"
-   inkscape:zoom="1.9873603"
-   inkscape:cx="11.856691"
-   inkscape:cy="15.112094"
-   inkscape:window-x="67"
-   inkscape:window-y="152"
-   inkscape:window-maximized="0"
-   inkscape:current-layer="Capa_1"
-   fit-margin-top="0"
-   fit-margin-left="0"
-   fit-margin-right="0"
-   fit-margin-bottom="0" />
-
-<path
-   inkscape:connector-curvature="0"
-   style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd"
-   d="m 48.832974,0 c -5.85006,0 -10.591269,4.862311 -10.591269,10.85967 0,5.997358 4.742138,10.859669 10.592198,10.859669 5.849132,0 10.59127,-4.862311 10.59127,-10.859669 C 59.42425,4.862311 54.682106,0 48.832974,0 z m 0,19.47021 c -4.637107,0 -8.398657,-3.855921 -8.398657,-8.611493 0,-4.754621 3.76155,-8.610543 8.398657,-8.610543 4.637107,0 8.397729,3.855922 8.397729,8.610543 0,4.755572 -3.759691,8.611493 -8.397729,8.611493 z"
-   id="path3430" /><path
-   inkscape:connector-curvature="0"
-   style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd"
-   d="m 27.154761,39.321738 c -5.457398,0 -9.88037,4.703155 -9.88037,10.504205 0,5.801049 4.423839,10.504204 9.881237,10.504204 5.456532,0 9.880371,-4.703155 9.880371,-10.504204 -8.67e-4,-5.80105 -4.424707,-10.504205 -9.881238,-10.504205 z m 0,18.8329 c -4.325859,0 -7.834929,-3.729707 -7.834929,-8.329617 0,-4.598989 3.50907,-8.328696 7.834929,-8.328696 4.32586,0 7.834063,3.729707 7.834063,8.328696 0,4.59991 -3.507336,8.329617 -7.834063,8.329617 z"
-   id="path3430-5" /><path
-   d="M 93.394891,94.930552 91.5074,101.57817 52.728925,101.21032 c 8.08e-4,-8.5e-4 2.829619,-2.585988 -2.124439,-7.016318 0,0 -10.822746,-5.22596 -18.506953,-18.0968 0,0 -6.310236,-6.742109 -6.091889,-9.206596 -0.583067,-4.408398 -1.209805,-6.954724 -1.715239,-8.534999 -1.063849,-4.039774 -1.553525,-2.844172 -1.553525,-7.228104 2.452812,-14.333817 10.869455,1.810623 12.764445,5.488368 0,0 6.305384,7.578229 9.063029,9.283373 8.851152,-2.291524 3.039071,-22.109494 3.660956,-23.668675 0,0 -1.25024,-10.043558 -2.822341,-23.064577 -3.9949,-15.561935 8.286796,-19.626706 11.636292,-3.093053 1.545414,7.344522 3.686834,19.52689 4.483397,19.774098 0,0 8.395048,-7.385018 12.995707,3.323385 0,0 9.202125,-5.538975 12.741777,5.170273 0,0 12.387573,1.10695 11.326563,12.923992 0,0 2.595085,22.156743 -5.191814,37.665865 z"
-   id="path3376"
-   inkscape:connector-curvature="0"
-   sodipodi:nodetypes="cccccccccccccccccc"
-   style="fill:#ffffff" /><path
-   d="m 36.857901,10.534807 -5.731265,12.511815 c 0,0 -0.666487,1.516584 -1.19043,0.316343 -0.52908,-1.19559 -1.800413,-4.092683 -1.800413,-4.092683 0,0 -0.774356,0.279126 -1.962218,0.711771 -3.412049,1.225827 -9.61846,3.462323 -12.145716,4.370646 0,0 -0.609983,0.412873 -1.019633,-0.532666 -0.419926,-0.944375 -3.7806092,-8.602891 -4.0798222,-9.279772 -0.294076,-0.674552 0.288938,-0.867615 0.288938,-0.867615 2.4553422,-0.886224 8.8659382,-3.19599 12.1688342,-4.381112 1.05816,-0.382636 1.763171,-0.631523 1.763171,-0.631523 0,0 -1.02734,-2.324887 -1.664289,-3.782156 -0.636951,-1.454944 1.049169,-0.79202 1.049169,-0.79202 0,0 12.534822,4.676522 13.866509,5.195231 0.963131,0.382636 0.457165,1.253741 0.457165,1.253741 z"
-   id="path9"
-   style="fill:#d800d8;fill-opacity:1"
-   inkscape:connector-curvature="0" /><g
-   id="g2997"
-   transform="matrix(0,-1,1,0,-0.01316643,45.882166)"
-   inkscape:transform-center-x="-4.9812271"
-   inkscape:transform-center-y="-4.2696251"><path
-     id="path2999"
-     d="M 6.6614176,0.14173229 19.48819,5.5984253 c 0,0 1.559055,0.6377953 0.354331,1.1338583 -1.240158,0.5314961 -4.181103,1.7716536 -4.181103,1.7716536 0,0 0.283465,0.7440945 0.744095,1.9133858 1.27559,3.259843 3.57874,9.248032 4.535433,11.692914 0,0 0.425197,0.566929 -0.566929,0.992126 -0.956693,0.389764 -8.751969,3.685039 -9.460631,4.003937 -0.673228,0.283464 -0.885827,-0.283465 -0.885827,-0.283465 C 9.1062996,24.448819 6.6968507,18.283465 5.4921262,15.094489 5.0669294,14.066929 4.8188979,13.393701 4.8188979,13.393701 c 0,0 -2.3740159,0.992126 -3.86220494,1.629921 -1.48818905,0.637796 -0.81496067,-0.992126 -0.81496067,-0.992126 0,0 4.71259861,-12.1535432 5.24409471,-13.42913378 0.3897638,-0.95669294 1.2755906,-0.46062993 1.2755906,-0.46062993 z"
-     style="fill:#d800d8;fill-opacity:1;fill-rule:nonzero;stroke:none"
-     inkscape:connector-curvature="0" /></g></svg>
\ No newline at end of file
diff --git a/libs/supermap/Widgets/Images/NavigationHelp/TouchTilt.svg b/libs/supermap/Widgets/Images/NavigationHelp/TouchTilt.svg
deleted file mode 100644
index e1206c5..0000000
--- a/libs/supermap/Widgets/Images/NavigationHelp/TouchTilt.svg
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   id="Capa_1"
-   x="0px"
-   y="0px"
-   width="76.663582"
-   height="140.44"
-   viewBox="0 0 76.663581 140.44"
-   xml:space="preserve"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="TouchTilt.svg"><metadata
-   id="metadata3364"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
-   id="defs3362" /><sodipodi:namedview
-   pagecolor="#ffffff"
-   bordercolor="#666666"
-   borderopacity="1"
-   objecttolerance="10"
-   gridtolerance="10"
-   guidetolerance="10"
-   inkscape:pageopacity="0"
-   inkscape:pageshadow="2"
-   inkscape:window-width="766"
-   inkscape:window-height="480"
-   id="namedview3360"
-   showgrid="false"
-   inkscape:zoom="1.6804329"
-   inkscape:cx="6.1930652"
-   inkscape:cy="74.717535"
-   inkscape:window-x="343"
-   inkscape:window-y="203"
-   inkscape:window-maximized="0"
-   inkscape:current-layer="Capa_1"
-   fit-margin-top="0"
-   fit-margin-left="0"
-   fit-margin-right="0"
-   fit-margin-bottom="0" />
-<g
-   id="g3322"
-   style="fill:#ffffff"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-	<path
-   style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd"
-   d="m 12.622,5.815 c -6.294,0 -11.396,5.102 -11.396,11.395 0,6.293 5.102,11.395 11.396,11.395 6.293,0 11.395,-5.102 11.395,-11.395 0,-6.293 -5.102,-11.395 -11.395,-11.395 z m 0,20.431 c -4.99,0 -9.036,-4.046 -9.036,-9.036 0,-4.989 4.046,-9.035 9.036,-9.035 4.988,0 9.035,4.046 9.035,9.035 0,4.99 -4.047,9.036 -9.035,9.036 z"
-   id="path3324"
-   inkscape:connector-curvature="0" />
-	<path
-   style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd"
-   d="m 43.793,0 c -6.294,0 -11.396,5.102 -11.396,11.395 0,6.293 5.102,11.395 11.396,11.395 6.293,0 11.395,-5.102 11.395,-11.395 C 55.188,5.102 50.086,0 43.793,0 z m 0,20.43 c -4.99,0 -9.036,-4.046 -9.036,-9.036 0,-4.989 4.046,-9.035 9.036,-9.035 4.988,0 9.035,4.046 9.035,9.035 0,4.99 -4.047,9.036 -9.035,9.036 z"
-   id="path3326"
-   inkscape:connector-curvature="0" />
-	<path
-   d="M 76.151,87.918 C 77.464,73.913 62.146,72.6 62.146,72.6 57.769,59.907 47.556,66.472 47.556,66.472 c 0,0 2.262,-49.025 1.395,-54.713 -0.51,-3.331 -6.383,-10.562 -9.998,-1.684 -2.137,6.166 -5.59,60.75 -9.465,56.874 C 24.984,62.447 20.611,18.817 19.414,18.626 18.438,14.09 9.011,5.294 7.511,21.794 c 3,39.5 3.865,47.304 3.865,47.304 C 9.187,74.35 5.31,87.481 5.31,87.481 c -8.316,9.191 -4.377,15.756 -4.377,15.756 7.002,12.255 21.385,28.449 21.385,28.449 6.127,5.252 2.625,8.316 2.625,8.316 l 42.455,0.438 2.334,-7.879 c 9.628,-18.382 6.419,-44.643 6.419,-44.643 z"
-   id="path3328"
-   inkscape:connector-curvature="0"
-   sodipodi:nodetypes="cccccccccccccccc"
-   style="fill:#ffffff" />
-</g>
-<g
-   id="g3330"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3332"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3334"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3336"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3338"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3340"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3342"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3344"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3346"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3348"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3350"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3352"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3354"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3356"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<g
-   id="g3358"
-   transform="translate(-7.9878665e-4,-3.8214145e-7)">
-</g>
-<path
-   inkscape:connector-curvature="0"
-   d="m 52.342987,124.78465 -8.980622,9.44613 c 0,0 -0.592129,0.74692 -1.214412,0.0786 -0.853927,-0.92772 -8.753091,-9.74549 -8.753091,-9.74549 0,0 -1.096535,-1.17966 0.352262,-1.17818 1.454279,10e-4 3.762485,10e-4 3.762485,10e-4 0,0 -0.0027,-0.67875 -0.0014,-1.72058 -0.0014,-3.20848 -0.0014,-9.4565 -0.0027,-11.8499 0,0 -0.01233,-0.56315 0.655179,-0.56019 0.672999,0 8.298029,0 9.238308,-0.003 0.937537,0.003 0.774428,0.66985 0.774428,0.66985 0,2.45861 0,8.50359 -0.0027,11.82767 0.0041,1.16039 0.0027,1.91472 0.0027,1.91472 0,0 2.879775,0.003 4.070886,0 1.192483,-10e-4 0.09869,1.11889 0.09869,1.11889 z m -0.09869,-37.828986 c -1.191111,0.003 -4.073627,0.003 -4.073627,0.003 0,0 0.0027,0.752845 0.0041,1.914716 -0.0041,3.327041 -0.0041,9.370556 -0.0014,11.83064 0,0 0.16174,0.66393 -0.774427,0.66096 -0.943021,0.006 -8.563939,0.003 -9.235567,0.004 -0.670257,-0.003 -0.65655,-0.56167 -0.65655,-0.56167 -0.0014,-2.393393 -0.0014,-8.642902 0.0014,-11.855831 -0.0014,-1.034421 0,-1.717613 0,-1.717613 0,0 -2.312318,0.003 -3.762486,0.0044 -1.444685,-0.003 -0.355003,-1.178173 -0.355003,-1.178173 0,0 7.896422,-8.81777 8.755832,-9.745488 0.622284,-0.671338 1.215783,0.07558 1.215783,0.07558 l 8.979252,9.444648 c 0,0 1.096534,1.121857 -0.09732,1.120375 z"
-   id="path3432"
-   sodipodi:nodetypes="ccccsccccccccccccccccccccccccc"
-   style="fill:#ffd800;fill-opacity:1" /></svg>
\ No newline at end of file
diff --git a/libs/supermap/Widgets/Images/NavigationHelp/TouchZoom.svg b/libs/supermap/Widgets/Images/NavigationHelp/TouchZoom.svg
deleted file mode 100644
index 74e55d7..0000000
--- a/libs/supermap/Widgets/Images/NavigationHelp/TouchZoom.svg
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   id="Capa_1"
-   x="0px"
-   y="0px"
-   width="95.087433"
-   height="118.43173"
-   viewBox="0 0 95.087431 118.43173"
-   enable-background="new 0 0 100.775 118.638"
-   xml:space="preserve"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="TouchZoom.svg"><metadata
-   id="metadata3382"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
-   id="defs3380" /><sodipodi:namedview
-   pagecolor="#ffffff"
-   bordercolor="#666666"
-   borderopacity="1"
-   objecttolerance="10"
-   gridtolerance="10"
-   guidetolerance="10"
-   inkscape:pageopacity="0"
-   inkscape:pageshadow="2"
-   inkscape:window-width="1105"
-   inkscape:window-height="739"
-   id="namedview3378"
-   showgrid="false"
-   inkscape:zoom="2.8132167"
-   inkscape:cx="10.565593"
-   inkscape:cy="72.192791"
-   inkscape:window-x="67"
-   inkscape:window-y="152"
-   inkscape:window-maximized="0"
-   inkscape:current-layer="Capa_1"
-   fit-margin-top="0"
-   fit-margin-left="0"
-   fit-margin-right="0"
-   fit-margin-bottom="0" />
-
-<path
-   d="m 0.0436199,84.941029 c 0,0 -0.2799964,-1.323641 0.578786,-0.720397 0.8621957,0.601498 2.9536375,2.059778 2.9536375,2.059778 0,0 0.3431801,-0.517567 0.8707286,-1.316651 1.521209,-2.28009 4.281925,-6.427623 5.405325,-8.116707 0,0 0.187721,-0.53855 0.863902,-0.06295 0.682926,0.472104 6.206065,4.329377 6.692655,4.668591 0.483157,0.340966 0.220227,0.718649 0.220227,0.718649 -1.094368,1.641877 -3.948985,5.929292 -5.418977,8.132449 -0.469526,0.711655 -0.783654,1.178514 -0.783654,1.178514 0,0 1.678274,1.168023 2.728271,1.900661 1.043172,0.732637 -0.28341,0.987925 -0.28341,0.987925 0,0 -9.7470195,2.05628 -10.7936043,2.25911 -0.756328,0.145111 -0.8468168,-0.666198 -0.8468168,-0.666198 z"
-   id="path3376-4"
-   inkscape:connector-curvature="0"
-   sodipodi:nodetypes="ccccccccccccccc"
-   style="fill:#65ff00;fill-opacity:1" /><path
-   inkscape:connector-curvature="0"
-   style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd"
-   d="m 44.918594,16.853557 c -5.85006,0 -10.591269,4.862311 -10.591269,10.85967 0,5.997358 4.742138,10.859669 10.592198,10.859669 5.849132,0 10.59127,-4.862311 10.59127,-10.859669 -9.23e-4,-5.997359 -4.743067,-10.85967 -10.592199,-10.85967 z m 0,19.47021 c -4.637107,0 -8.398657,-3.855921 -8.398657,-8.611493 0,-4.754621 3.76155,-8.610543 8.398657,-8.610543 4.637107,0 8.397729,3.855922 8.397729,8.610543 0,4.755572 -3.759691,8.611493 -8.397729,8.611493 z"
-   id="path3430" /><path
-   inkscape:connector-curvature="0"
-   style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd"
-   d="m 23.240381,56.175295 c -5.457398,0 -9.88037,4.703155 -9.88037,10.504205 0,5.801049 4.423839,10.504204 9.881237,10.504204 5.456532,0 9.880371,-4.703155 9.880371,-10.504204 -8.67e-4,-5.80105 -4.424707,-10.504205 -9.881238,-10.504205 z m 0,18.8329 c -4.325859,0 -7.834929,-3.729707 -7.834929,-8.329617 0,-4.598989 3.50907,-8.328696 7.834929,-8.328696 4.32586,0 7.834063,3.729707 7.834063,8.328696 0,4.59991 -3.507336,8.329617 -7.834063,8.329617 z"
-   id="path3430-5" /><path
-   d="m 89.480511,111.78411 -1.887491,6.64762 -38.778475,-0.36785 c 8.08e-4,-8.5e-4 2.829619,-2.58599 -2.124439,-7.01632 0,0 -10.822746,-5.22596 -18.506953,-18.096801 0,0 -6.310236,-6.742109 -6.091889,-9.206596 C 21.508197,79.335765 20.881459,76.789439 20.376025,75.209164 19.312176,71.16939 18.8225,72.364992 18.8225,67.98106 c 2.452812,-14.333817 10.869455,1.810623 12.764445,5.488368 0,0 6.305384,7.578229 9.063029,9.283373 8.851152,-2.291524 3.039071,-22.109494 3.660956,-23.668675 0,0 -1.25024,-10.043558 -2.822341,-23.064577 -3.9949,-15.561935 8.286796,-19.626706 11.636292,-3.093053 1.545414,7.344522 3.686834,19.52689 4.483397,19.774098 0,0 8.395048,-7.385018 12.995707,3.323385 0,0 9.202125,-5.538975 12.741777,5.170273 0,0 12.387573,1.10695 11.326563,12.923992 0,0 2.59509,22.156743 -5.191814,37.665866 z"
-   id="path3376"
-   inkscape:connector-curvature="0"
-   sodipodi:nodetypes="cccccccccccccccccc"
-   style="fill:#ffffff" /><path
-   d="m 49.854025,14.903508 c 0.696314,0.466948 6.359531,4.268019 6.858144,4.604015 0.491619,0.334273 0.748797,-0.05343 0.748797,-0.05343 1.121449,-1.617954 4.044902,-5.844621 5.545997,-8.013953 0.488115,-0.703007 0.803031,-1.164787 0.803031,-1.164787 0,0 1.714536,1.152726 2.792243,1.876411 1.07596,0.721961 0.813533,-0.620302 0.813533,-0.620302 0,0 -1.732034,-9.8989818 -1.933227,-10.95349441 -0.150463,-0.7615853 -0.939496,-0.5513731 -0.939496,-0.5513731 L 53.458049,1.9374693 c 0,0 -1.336636,0.2136595 -0.454876,0.8046693 0.88876,0.5927325 3.02493,2.0297666 3.02493,2.0297666 0,0 -0.355152,0.5083037 -0.895757,1.2940169 -1.558825,2.2468717 -4.387811,6.3339699 -5.538999,7.9984459 -0.0018,0.0017 -0.433883,0.370456 0.260678,0.83914 z"
-   id="path3376-7-4"
-   inkscape:connector-curvature="0"
-   sodipodi:nodetypes="ccccccccccccccc"
-   style="fill:#65ff00;fill-opacity:1" /></svg>
\ No newline at end of file
diff --git a/libs/supermap/Widgets/Images/PlotImages/pointRed_Go.png b/libs/supermap/Widgets/Images/PlotImages/pointRed_Go.png
deleted file mode 100644
index a54f732..0000000
--- a/libs/supermap/Widgets/Images/PlotImages/pointRed_Go.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/PlotImages/pointWhite_Go.png b/libs/supermap/Widgets/Images/PlotImages/pointWhite_Go.png
deleted file mode 100644
index 7e51026..0000000
--- a/libs/supermap/Widgets/Images/PlotImages/pointWhite_Go.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/PlotImages/pointYellow_Go.png b/libs/supermap/Widgets/Images/PlotImages/pointYellow_Go.png
deleted file mode 100644
index 3b23335..0000000
--- a/libs/supermap/Widgets/Images/PlotImages/pointYellow_Go.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png b/libs/supermap/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png
deleted file mode 100644
index 16343ec..0000000
--- a/libs/supermap/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/TerrainProviders/Ellipsoid.png b/libs/supermap/Widgets/Images/TerrainProviders/Ellipsoid.png
deleted file mode 100644
index a36259b..0000000
--- a/libs/supermap/Widgets/Images/TerrainProviders/Ellipsoid.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/TimelineIcons.png b/libs/supermap/Widgets/Images/TimelineIcons.png
deleted file mode 100644
index e3a0455..0000000
--- a/libs/supermap/Widgets/Images/TimelineIcons.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/ZoomIndicator/zoom_Identifiers.png b/libs/supermap/Widgets/Images/ZoomIndicator/zoom_Identifiers.png
deleted file mode 100644
index 15d7b85..0000000
--- a/libs/supermap/Widgets/Images/ZoomIndicator/zoom_Identifiers.png
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/compass.s3m b/libs/supermap/Widgets/Images/compass.s3m
deleted file mode 100644
index 1ae77d6..0000000
--- a/libs/supermap/Widgets/Images/compass.s3m
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/cur/Hold.cur b/libs/supermap/Widgets/Images/cur/Hold.cur
deleted file mode 100644
index 9937344..0000000
--- a/libs/supermap/Widgets/Images/cur/Hold.cur
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/cur/Pan.cur b/libs/supermap/Widgets/Images/cur/Pan.cur
deleted file mode 100644
index e02a1f2..0000000
--- a/libs/supermap/Widgets/Images/cur/Pan.cur
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/Images/info-loading.gif b/libs/supermap/Widgets/Images/info-loading.gif
deleted file mode 100644
index 8df10dd..0000000
--- a/libs/supermap/Widgets/Images/info-loading.gif
+++ /dev/null
Binary files differ
diff --git a/libs/supermap/Widgets/InfoBox/InfoBox.css b/libs/supermap/Widgets/InfoBox/InfoBox.css
deleted file mode 100644
index 61b8af1..0000000
--- a/libs/supermap/Widgets/InfoBox/InfoBox.css
+++ /dev/null
@@ -1,98 +0,0 @@
-.cesium-infoBox {
-    display: block;
-    position: absolute;
-    top: 50px;
-    right: 0;
-    width: 40%;
-    max-width: 480px;
-    background: rgba(38, 38, 38, 0.95);
-    color: #edffff;
-    border: 1px solid #444;
-    border-right: none;
-    border-top-left-radius: 7px;
-    border-bottom-left-radius: 7px;
-    box-shadow: 0 0 10px 1px #000;
-    transform: translate(100%, 0);
-    visibility: hidden;
-    opacity: 0;
-    transition: visibility 0s 0.2s, opacity 0.2s ease-in, transform 0.2s ease-in;
-}
-
-.cesium-infoBox-visible {
-    transform: translate(0, 0);
-    visibility: visible;
-    opacity: 1;
-    transition: opacity 0.2s ease-out, transform 0.2s ease-out;
-}
-
-.cesium-infoBox-title {
-    display: block;
-    height: 20px;
-    padding: 5px 30px 5px 25px;
-    background: rgba(84, 84, 84, 1.0);
-    border-top-left-radius: 7px;
-    text-align: center;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-    overflow: hidden;
-    box-sizing: content-box;
-}
-
-.cesium-infoBox-bodyless .cesium-infoBox-title {
-    border-bottom-left-radius: 7px;
-}
-
-button.cesium-infoBox-camera {
-    display: block;
-    position: absolute;
-    top: 4px;
-    left: 4px;
-    width: 22px;
-    height: 22px;
-    background: transparent;
-    border-color: transparent;
-    border-radius: 3px;
-    padding: 0 5px;
-    margin: 0;
-}
-
-button.cesium-infoBox-close {
-    display: block;
-    position: absolute;
-    top: 5px;
-    right: 5px;
-    height: 20px;
-    background: transparent;
-    border: none;
-    border-radius: 2px;
-    font-weight: bold;
-    font-size: 16px;
-    padding: 0 5px;
-    margin: 0;
-    color: #edffff;
-}
-
-button.cesium-infoBox-close:focus {
-    background: rgba(238, 136, 0, 0.44);
-    outline: none;
-}
-
-button.cesium-infoBox-close:hover {
-    background: #888;
-    color: #000;
-}
-
-button.cesium-infoBox-close:active {
-    background: #a00;
-    color: #000;
-}
-
-.cesium-infoBox-bodyless .cesium-infoBox-iframe {
-    display: none;
-}
-
-.cesium-infoBox-iframe {
-    border: none;
-    width: 100%; /* Fallback */
-    width: calc(100% - 2px);
-}
diff --git a/libs/supermap/Widgets/InfoBox/InfoBoxDescription.css b/libs/supermap/Widgets/InfoBox/InfoBoxDescription.css
deleted file mode 100644
index 962e2dd..0000000
--- a/libs/supermap/Widgets/InfoBox/InfoBoxDescription.css
+++ /dev/null
@@ -1,90 +0,0 @@
-@import url(../shared.css);
-body {
-    margin: 0;
-    padding: 0;
-}
-
-.cesium-infoBox-description {
-    font-family: sans-serif;
-    font-size: 13px;
-    padding: 4px 10px;
-    margin-right: 4px;
-    color: #edffff;
-}
-
-.cesium-infoBox-description a:link,
-.cesium-infoBox-description a:visited,
-.cesium-infoBox-description a:hover,
-.cesium-infoBox-description a:active {
-    color: #edffff;
-}
-
-.cesium-infoBox-description table {
-    color: #edffff;
-}
-
-.cesium-infoBox-defaultTable {
-    width: 100%;
-    color: #edffff;
-}
-
-.cesium-infoBox-defaultTable tr:nth-child(odd) {
-    background-color: rgba(84, 84, 84, 0.8);
-}
-
-.cesium-infoBox-defaultTable tr:nth-child(even) {
-    background-color: rgba(84, 84, 84, 0.25);
-}
-
-.cesium-infoBox-defaultTable th {
-    font-weight: normal;
-    padding: 3px;
-    vertical-align: middle;
-    text-align: center;
-}
-
-.cesium-infoBox-defaultTable td {
-    padding: 3px;
-    vertical-align: middle;
-    text-align: left;
-}
-
-.cesium-infoBox-description-lighter {
-    color: #000000;
-}
-
-.cesium-infoBox-description-lighter a:link,
-.cesium-infoBox-description-lighter a:visited,
-.cesium-infoBox-description-lighter a:hover,
-.cesium-infoBox-description-lighter a:active {
-    color: #000000;
-}
-
-.cesium-infoBox-description-lighter table {
-    color: #000000;
-}
-
-.cesium-infoBox-defaultTable-lighter {
-    width: 100%;
-    color: #000000;
-}
-
-.cesium-infoBox-defaultTable-lighter tr:nth-child(odd) {
-    background-color: rgba(179, 179, 179, 0.8);
-}
-
-.cesium-infoBox-defaultTable-lighter tr:nth-child(even) {
-    background-color: rgba(179, 179, 179, 0.25);
-}
-
-.cesium-infoBox-loadingContainer {
-    margin: 5px;
-    text-align: center;
-}
-
-.cesium-infoBox-loading {
-    display: inline-block;
-    background-image: url(../Images/info-loading.gif);
-    width: 16px;
-    height: 11px;
-}
diff --git a/libs/supermap/Widgets/Navigation/navigation.css b/libs/supermap/Widgets/Navigation/navigation.css
deleted file mode 100644
index 43b7221..0000000
--- a/libs/supermap/Widgets/Navigation/navigation.css
+++ /dev/null
@@ -1,219 +0,0 @@
-.sm-compass{
-    pointer-events: auto;
-    position: absolute;
-    right: 10px;
-    top: 10px;
-    width: 128px;
-    height: 128px;
-    overflow: hidden;
-}
-.sm-compass-outer-ring{
-    cursor: pointer;
-    position: absolute;
-    width: 128px;
-    height: 128px;
-    top: 0px;
-    transform: rotate(0rad);
-    -webkit-transform: rotate(0rad);
-    background-image: url("../Images/Navigation/ring.png");
-}
-.sm-compass-outer-ring:active{
-    background-image: url("../Images/Navigation/ring_active.png");
-}
-.sm-compass-tilt{
-    position: absolute;
-    width: 128px;
-    height: 128px;
-    background-image: url("../Images/Navigation/tilt.png");
-    visibility: hidden;
-}
-.cesium-viewer-navigationContainer {
-    display: block;
-    position: absolute;
-    top: 0;
-    right: 0;
-    padding: 0;
-    -moz-box-sizing: content-box;
-    -webkit-box-sizing: content-box;
-    box-sizing: content-box;
-    height: 300px;
-    width: 128px;
-}
-.cesium-viewer-navigationContainer:hover .sm-compass-tilt{
-    visibility: visible;
-}
-.cesium-viewer-navigationContainer:active .sm-compass-tilt{
-    visibility: visible;
-}
-
-.sm-compass-tiltbar{
-    cursor: pointer;
-    position: absolute;
-    width: 16px;
-    height: 16px;
-    /*left: 64px;
-    top: 5px;*/
-    background-image: url("../Images/Navigation/tiltbar.png");
-    background-repeat: no-repeat;
-    z-index: 10;
-    visibility: hidden;
-}
-
-.cesium-viewer-navigationContainer:hover .sm-compass-tiltbar{
-    visibility: visible;
-}
-
-.cesium-viewer-navigationContainer:active .sm-compass-tiltbar{
-    visibility: visible;
-}
-
-.sm-compass-arrows{
-    position: absolute;
-    width: 128px;
-    height: 128px;
-    top: 0px;
-    background-image: url("../Images/Navigation/compass_active.png");
-    visibility: hidden;
-}
-
-.cesium-viewer-navigationContainer:hover .sm-compass-arrows{
-    visibility: visible;
-}
-
-.cesium-viewer-navigationContainer:active .sm-compass-arrows{
-    visibility: visible;
-}
-
-.arrows_e_active{
-    cursor: pointer;
-    position: absolute;
-    width: 24px;
-    height: 24px;
-    top: 52px;
-    left: 68px;
-    visibility: hidden;
-}
-
-.cesium-viewer-navigationContainer:hover .arrows_e_active{
-    visibility: visible;
-}
-
-.cesium-viewer-navigationContainer:active .arrows_e_active{
-    visibility: visible;
-}
-
-.arrows_e_active:active{
-    background-image: url("../Images/Navigation/arrows_e_active.png");
-}
-
-.arrows_n_active{
-    cursor: pointer;
-    position: absolute;
-    width: 24px;
-    height: 24px;
-    top: 32px;
-    left: 53px;
-    visibility: hidden;
-}
-
-
-.arrows_n_active:active{
-    background-image: url("../Images/Navigation/arrows_n_active.png");
-}
-
-.cesium-viewer-navigationContainer:hover .arrows_n_active{
-    visibility: visible;
-}
-
-.cesium-viewer-navigationContainer:active .arrows_n_active{
-    visibility: visible;
-}
-
-.arrows_s_active{
-    cursor: pointer;
-    position: absolute;
-    width: 24px;
-    height: 24px;
-    top: 74px;
-    left: 53px;
-    visibility: hidden;
-}
-
-.arrows_s_active:active{
-    background-image: url("../Images/Navigation/arrows_s_active.png");
-}
-
-.cesium-viewer-navigationContainer:hover .arrows_s_active{
-    visibility: visible;
-}
-
-.cesium-viewer-navigationContainer:active .arrows_s_active{
-    visibility: visible;
-}
-
-.arrows_w_active{
-    cursor: pointer;
-    position: absolute;
-    width: 24px;
-    height: 24px;
-    top: 52px;
-    left: 35px;
-    visibility: hidden;
-}
-
-.arrows_w_active:active{
-    background-image: url("../Images/Navigation/arrows_w_active.png");
-}
-
-.cesium-viewer-navigationContainer:hover .arrows_w_active{
-    visibility: visible;
-}
-
-.cesium-viewer-navigationContainer:active .arrows_w_active{
-    visibility: visible;
-}
-
-.sm-zoom{
-    position: absolute;
-    width: 30px;
-    height: 150px;
-    background-image: url("../Images/Navigation/zoom.png");
-    top: 130px;
-    right: 60px;
-    visibility: hidden;
-}
-
-.cesium-viewer-navigationContainer:hover .sm-zoom{
-    visibility: visible;
-}
-.cesium-viewer-navigationContainer:active .sm-zoom{
-    visibility: visible;
-}
-
-.sm-zoomin{
-    cursor: pointer;
-    position: absolute;
-    width: 32px;
-    height: 32px;
-}
-.sm-zoomin:active{
-    background-image: url("../Images/Navigation/zoom_active_in.png");
-}
-.sm-zoomout{
-    cursor: pointer;
-    position: absolute;
-    width: 32px;
-    height: 32px;
-    bottom: 0px;
-}
-.sm-zoomout:active{
-    background-image: url("../Images/Navigation/zoom_active_out.png");
-}
-.sm-zoombar{
-    cursor: pointer;
-    position: absolute;
-    width: 32px;
-    height: 32px;
-    top: 65px;
-    background-image: url("../Images/Navigation/zoombar.png");
-}
diff --git a/libs/supermap/Widgets/NavigationHelpButton/NavigationHelpButton.css b/libs/supermap/Widgets/NavigationHelpButton/NavigationHelpButton.css
deleted file mode 100644
index 0a40ef9..0000000
--- a/libs/supermap/Widgets/NavigationHelpButton/NavigationHelpButton.css
+++ /dev/null
@@ -1,112 +0,0 @@
-.cesium-navigationHelpButton-wrapper {
-    position: relative;
-    display: inline-block;
-}
-
-.cesium-navigation-help {
-    visibility: hidden;
-    position: absolute;
-    top: 38px;
-    right: 2px;
-    width: 250px;
-    border-radius: 10px;
-    transform: scale(0.01);
-    transform-origin: 234px -10px;
-    transition: visibility 0s 0.25s, transform 0.25s ease-in;
-}
-
-.cesium-navigation-help-visible {
-    visibility: visible;
-    transform: scale(1);
-    transition: transform 0.25s ease-out;
-}
-
-.cesium-navigation-help-instructions {
-    border: 1px solid #444;
-    background-color: rgba(38, 38, 38, 0.75);
-    padding-bottom: 5px;
-    border-radius: 0 0 10px 10px;
-}
-
-.cesium-click-navigation-help {
-    display: none;
-}
-
-.cesium-touch-navigation-help {
-    display: none;
-    padding-top: 5px;
-}
-
-.cesium-click-navigation-help-visible {
-    display: block;
-}
-
-.cesium-touch-navigation-help-visible {
-    display: block;
-}
-
-.cesium-navigation-help-pan {
-    color: #66ccff;
-    font-weight: bold;
-}
-
-.cesium-navigation-help-zoom {
-    color: #65fd00;
-    font-weight: bold;
-}
-
-.cesium-navigation-help-rotate {
-    color: #ffd800;
-    font-weight: bold;
-}
-
-.cesium-navigation-help-tilt {
-    color: #d800d8;
-    font-weight: bold;
-}
-
-.cesium-navigation-help-details {
-    color: #ffffff;
-}
-
-.cesium-navigation-button {
-    color: #fff;
-    background-color: transparent;
-    border-bottom: none;
-    border-top: 1px solid #444;
-    border-right: 1px solid #444;
-    margin: 0;
-    width: 50%;
-    cursor: pointer;
-}
-
-.cesium-navigation-button-icon {
-    vertical-align: middle;
-    padding: 5px 1px;
-}
-
-.cesium-navigation-button:focus {
-    outline: none;
-}
-
-.cesium-navigation-button-left {
-    border-radius: 10px 0 0 0;
-    border-left: 1px solid #444;
-}
-
-.cesium-navigation-button-right {
-    border-radius: 0 10px 0 0;
-    border-left: none;
-}
-
-.cesium-navigation-button-selected {
-    background-color: rgba(38, 38, 38, 0.75);
-}
-
-.cesium-navigation-button-unselected {
-    background-color: rgba(0, 0, 0, 0.75);
-}
-
-.cesium-navigation-button-unselected:hover {
-    background-color: rgba(76, 76, 76, 0.75);
-}
diff --git a/libs/supermap/Widgets/NavigationHelpButton/lighter.css b/libs/supermap/Widgets/NavigationHelpButton/lighter.css
deleted file mode 100644
index 1da49db..0000000
--- a/libs/supermap/Widgets/NavigationHelpButton/lighter.css
+++ /dev/null
@@ -1,46 +0,0 @@
-.cesium-lighter .cesium-navigation-help-instructions {
-    border: 1px solid #759dc0;
-    background-color: rgba(255, 255, 255, 0.9);
-}
-
-.cesium-lighter .cesium-navigation-help-pan {
-    color: #66ccee;
-    font-weight: bold;
-}
-
-.cesium-lighter .cesium-navigation-help-zoom {
-    color: #65ec00;
-    font-weight: bold;
-}
-
-.cesium-lighter .cesium-navigation-help-rotate {
-    color: #eec722;
-    font-weight: bold;
-}
-
-.cesium-lighter .cesium-navigation-help-tilt {
-    color: #d800d8;
-    font-weight: bold;
-}
-
-.cesium-lighter .cesium-navigation-help-details {
-    color: #222222;
-}
-
-.cesium-lighter .cesium-navigation-button {
-    color: #222222;
-    border-top: 1px solid #759dc0;
-    border-right: 1px solid #759dc0;
-}
-
-.cesium-lighter .cesium-navigation-button-selected {
-    background-color: rgba(196, 225, 255, 0.9);
-}
-
-.cesium-lighter .cesium-navigation-button-unselected {
-    background-color: rgba(226, 240, 255, 0.9);
-}
-
-.cesium-lighter .cesium-navigation-button-unselected:hover {
-    background-color: rgba(166, 210, 255, 0.9);
-}
diff --git a/libs/supermap/Widgets/PerformanceWatchdog/PerformanceWatchdog.css b/libs/supermap/Widgets/PerformanceWatchdog/PerformanceWatchdog.css
deleted file mode 100644
index 188f237..0000000
--- a/libs/supermap/Widgets/PerformanceWatchdog/PerformanceWatchdog.css
+++ /dev/null
@@ -1,16 +0,0 @@
-.cesium-performance-watchdog-message-area {
-    position: relative;
-    background-color: yellow;
-    color: black;
-    padding: 10px;
-}
-
-.cesium-performance-watchdog-message {
-    margin-right: 30px;
-}
-
-.cesium-performance-watchdog-message-dismiss {
-    position: absolute;
-    right: 0;
-    margin: 0 10px 0 0;
-}
diff --git a/libs/supermap/Widgets/ProjectionPicker/ProjectionPicker.css b/libs/supermap/Widgets/ProjectionPicker/ProjectionPicker.css
deleted file mode 100644
index 3dc90a8..0000000
--- a/libs/supermap/Widgets/ProjectionPicker/ProjectionPicker.css
+++ /dev/null
@@ -1,45 +0,0 @@
-span.cesium-projectionPicker-wrapper {
-    display: inline-block;
-    position: relative;
-    margin: 0 3px;
-}
-
-.cesium-projectionPicker-visible {
-    visibility: visible;
-    opacity: 1;
-    transition: opacity 0.25s linear;
-}
-
-.cesium-projectionPicker-hidden {
-    visibility: hidden;
-    opacity: 0;
-    transition: visibility 0s 0.25s, opacity 0.25s linear;
-}
-
-.cesium-projectionPicker-wrapper .cesium-projectionPicker-none {
-    display: none;
-}
-
-.cesium-projectionPicker-wrapper .cesium-projectionPicker-dropDown-icon {
-    box-sizing: border-box;
-    padding: 0;
-    margin: 3px 0;
-}
-
-.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective,
-.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic {
-    margin: 0 0 3px 0;
-}
-
-.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective .cesium-projectionPicker-iconOrthographic {
-    left: 100%;
-}
-
-.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic .cesium-projectionPicker-iconPerspective {
-    left: -100%;
-}
-
-.cesium-projectionPicker-wrapper .cesium-projectionPicker-selected {
-    border-color: #2e2;
-    box-shadow: 0 0 8px #fff, 0 0 8px #fff;
-}
diff --git a/libs/supermap/Widgets/SceneModePicker/SceneModePicker.css b/libs/supermap/Widgets/SceneModePicker/SceneModePicker.css
deleted file mode 100644
index 400e9ef..0000000
--- a/libs/supermap/Widgets/SceneModePicker/SceneModePicker.css
+++ /dev/null
@@ -1,68 +0,0 @@
-span.cesium-sceneModePicker-wrapper {
-    display: inline-block;
-    position: relative;
-    margin: 0 3px;
-}
-
-.cesium-sceneModePicker-visible {
-    visibility: visible;
-    opacity: 1;
-    transition: opacity 0.25s linear;
-}
-
-.cesium-sceneModePicker-hidden {
-    visibility: hidden;
-    opacity: 0;
-    transition: visibility 0s 0.25s, opacity 0.25s linear;
-}
-
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-none {
-    display: none;
-}
-
-.cesium-sceneModePicker-slide-svg {
-    transition: left 2s;
-    top: 0;
-    left: 0;
-}
-
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon {
-    box-sizing: border-box;
-    padding: 0;
-    margin: 3px 0;
-}
-
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D,
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView,
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D {
-    margin: 0 0 3px 0;
-}
-
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-icon2D {
-    left: 100%;
-}
-
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-iconColumbusView {
-    left: 200%;
-}
-
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon3D {
-    left: -200%;
-}
-
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon2D {
-    left: -100%;
-}
-
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-icon3D {
-    left: -100%;
-}
-
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-iconColumbusView {
-    left: 100%;
-}
-
-.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-selected {
-    border-color: #2e2;
-    box-shadow: 0 0 8px #fff, 0 0 8px #fff;
-}
diff --git a/libs/supermap/Widgets/SelectionIndicator/SelectionIndicator.css b/libs/supermap/Widgets/SelectionIndicator/SelectionIndicator.css
deleted file mode 100644
index 83dbda4..0000000
--- a/libs/supermap/Widgets/SelectionIndicator/SelectionIndicator.css
+++ /dev/null
@@ -1,21 +0,0 @@
-.cesium-selection-wrapper {
-    position: absolute;
-    width: 160px;
-    height: 160px;
-    pointer-events: none;
-    visibility: hidden;
-    opacity: 0;
-    transition: visibility 0s 0.2s, opacity 0.2s ease-in;
-}
-
-.cesium-selection-wrapper-visible {
-    visibility: visible;
-    opacity: 1;
-    transition: opacity 0.2s ease-out;
-}
-
-.cesium-selection-wrapper svg {
-    fill: #2e2;
-    stroke: #000;
-    stroke-width: 1.1px;
-}
diff --git a/libs/supermap/Widgets/Timeline/Timeline.css b/libs/supermap/Widgets/Timeline/Timeline.css
deleted file mode 100644
index 2ef7ead..0000000
--- a/libs/supermap/Widgets/Timeline/Timeline.css
+++ /dev/null
@@ -1,103 +0,0 @@
-.cesium-timeline-main {
-	position: relative;
-	left: 0;
-	bottom: 0;
-	overflow: hidden;
-	border: solid 1px #888;
-}
-
-.cesium-timeline-trackContainer {
-	width: 100%;
-	overflow: auto;
-	border-top: solid 1px #888;
-	position: relative;
-	top: 0;
-	left: 0;
-}
-
-.cesium-timeline-tracks {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 100%;
-}
-
-.cesium-timeline-needle {
-	position: absolute;
-	left: 0;
-	top: 1.7em;
-	bottom: 0;
-	width: 1px;
-	background: #F00;
-}
-
-.cesium-timeline-bar {
-    position: relative;
-    left: 0;
-    top: 0;
-    overflow: hidden;
-    cursor: pointer;
-    width: 100%;
-    height: 1.7em;
-    background: linear-gradient(to bottom, rgba(116,117,119,0.8) 0%,rgba(58,68,82,0.8) 11%,rgba(46,50,56,0.8) 46%,rgba(53,53,53,0.8) 81%,rgba(53,53,53,0.8) 100%);
-}
-
-.cesium-timeline-ruler {
-	/* NOTE: The label and the ruler must use the same font/size */
-	visibility: hidden;
-	white-space: nowrap;
-	font-size: 80%;
-	z-index: -200;
-}
-
-.cesium-timeline-highlight {
-	position: absolute;
-	bottom: 0;
-	left: 0;
-	background: #08F;
-}
-
-.cesium-timeline-ticLabel {
-    position: absolute;
-    top: 0;
-    left: 0;
-    white-space: nowrap;
-    font-size: 80%;
-    color: #eee;
-}
-
-.cesium-timeline-ticMain {
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    width: 1px;
-    height: 50%;
-    background: #eee;
-}
-
-.cesium-timeline-ticSub {
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    width: 1px;
-    height: 33%;
-    background: #aaa;
-}
-
-.cesium-timeline-ticTiny {
-	position: absolute;
-	bottom: 0;
-	left: 0;
-	width: 1px;
-	height: 25%;
-	background: #888;
-}
-
-.cesium-timeline-icon16 {
-	display: block;
-	position: absolute;
-	width: 16px;
-	height: 16px;
-	background-image: url("../Images/TimelineIcons.png");
-	background-repeat: no-repeat;
-}
diff --git a/libs/supermap/Widgets/Timeline/lighter.css b/libs/supermap/Widgets/Timeline/lighter.css
deleted file mode 100644
index 8988470..0000000
--- a/libs/supermap/Widgets/Timeline/lighter.css
+++ /dev/null
@@ -1,20 +0,0 @@
-.cesium-lighter .cesium-timeline-bar {
-    background: linear-gradient(to bottom, #eeeeee 0%,#ffffff 50%,#fafafa 100%);
-}
-
-.cesium-lighter .cesium-timeline-ticLabel {
-    color: #000;
-}
-
-.cesium-lighter .cesium-timeline-ticMain {
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    width: 1px;
-    height: 50%;
-    background: #000;
-}
-
-.cesium-lighter .cesium-timeline-ticSub {
-    background: #444;
-}
diff --git a/libs/supermap/Widgets/VRButton/VRButton.css b/libs/supermap/Widgets/VRButton/VRButton.css
deleted file mode 100644
index 4c793c4..0000000
--- a/libs/supermap/Widgets/VRButton/VRButton.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.cesium-button.cesium-vrButton {
-    display: block;
-    width: 100%;
-    height: 100%;
-    margin: 0;
-    border-radius: 0;
-}
diff --git a/libs/supermap/Widgets/Viewer/Viewer.css b/libs/supermap/Widgets/Viewer/Viewer.css
deleted file mode 100644
index ff9ab1c..0000000
--- a/libs/supermap/Widgets/Viewer/Viewer.css
+++ /dev/null
@@ -1,108 +0,0 @@
-.cesium-viewer {
-    font-family: sans-serif;
-    font-size: 16px;
-    overflow: hidden;
-    display: block;
-    position: relative;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-}
-
-.cesium-viewer-cesiumWidgetContainer {
-    width: 100%;
-    height: 100%;
-}
-
-.cesium-viewer-bottom {
-    display: block;
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    right: 0;
-    padding-right: 5px;
-}
-
-.cesium-viewer .cesium-widget-credits {
-    display: inline;
-    position: static;
-    bottom: auto;
-    left: auto;
-    padding-right: 0;
-    color: #ffffff;
-    font-size: 10px;
-    text-shadow: 0 0 2px #000000;
-}
-
-.cesium-viewer-timelineContainer {
-    position: absolute;
-    bottom: 0;
-    left: 169px;
-    right: 29px;
-    height: 27px;
-    padding: 0;
-    margin: 0;
-    overflow: hidden;
-    font-size: 14px;
-}
-
-.cesium-viewer-animationContainer {
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    padding: 0;
-    width: 169px;
-    height: 112px;
-}
-
-.cesium-viewer-fullscreenContainer {
-    position: absolute;
-    bottom: 0;
-    right: 0;
-    padding: 0;
-    width: 29px;
-    height: 29px;
-    overflow: hidden;
-}
-
-.cesium-viewer-vrContainer {
-    position: absolute;
-    bottom: 0;
-    right: 0;
-    padding: 0;
-    width: 29px;
-    height: 29px;
-    overflow: hidden;
-}
-
-.cesium-viewer-toolbar {
-    display: block;
-    position: absolute;
-    top: 5px;
-    right: 5px;
-}
-
-.cesium-viewer-cesiumInspectorContainer {
-    display: block;
-    position: absolute;
-    top: 50px;
-    right: 10px;
-}
-
-.cesium-viewer-geocoderContainer {
-    position: relative;
-    display: inline-block;
-    margin: 0 3px;
-}
-
-.cesium-viewer-cesium3DTilesInspectorContainer {
-    display: block;
-    position: absolute;
-    top: 50px;
-    right: 10px;
-    max-height: calc(100% - 120px);
-    box-sizing: border-box;
-    overflow-y: auto;
-    overflow-x: hidden;
-}
diff --git a/libs/supermap/Widgets/ZoomIndicator/ZoomIndicator.css b/libs/supermap/Widgets/ZoomIndicator/ZoomIndicator.css
deleted file mode 100644
index 2e8f9c1..0000000
--- a/libs/supermap/Widgets/ZoomIndicator/ZoomIndicator.css
+++ /dev/null
@@ -1,19 +0,0 @@
-.cesium-zoom-wrapper {
-    position: absolute;
-    width: 160px;
-    height: 160px;
-    pointer-events: none;
-    visibility: hidden;
-    opacity: 0;
-    -webkit-transition: visibility 0s 0.2s, opacity 0.2s ease-in;
-    -moz-transition: visibility 0s 0.2s, opacity 0.2s ease-in;
-    transition: visibility 0s 0.2s, opacity 0.2s ease-in;
-}
-
-.cesium-zoom-wrapper-visible {
-    visibility: visible;
-    opacity: 1;
-    -webkit-transition: opacity 0.2s ease-out;
-    -moz-transition: opacity 0.2s ease-out;
-    transition: opacity 0.2s ease-out;
-}
\ No newline at end of file
diff --git a/libs/supermap/Widgets/lighter.css b/libs/supermap/Widgets/lighter.css
deleted file mode 100644
index ba847f0..0000000
--- a/libs/supermap/Widgets/lighter.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url(./lighterShared.css);
-@import url(./Animation/lighter.css);
-@import url(./BaseLayerPicker/lighter.css);
-@import url(./CesiumWidget/lighter.css);
-@import url(./Geocoder/lighter.css);
-@import url(./Timeline/lighter.css);
-@import url(./NavigationHelpButton/lighter.css);
diff --git a/libs/supermap/Widgets/lighterShared.css b/libs/supermap/Widgets/lighterShared.css
deleted file mode 100644
index 0a9f933..0000000
--- a/libs/supermap/Widgets/lighterShared.css
+++ /dev/null
@@ -1,52 +0,0 @@
-.cesium-lighter .cesium-button {
-    color: #111; /* For text buttons */
-    fill: #111; /* For SVG buttons */
-    background: #e2f0ff;
-    border: 1px solid #759dc0;
-}
-
-.cesium-lighter .cesium-button:focus {
-    color: #000; /* For text buttons */
-    fill: #000; /* For SVG buttons */
-    border-color: #ea4;
-}
-
-.cesium-lighter .cesium-button:hover {
-    color: #000; /* For text buttons */
-    fill: #000; /* For SVG buttons */
-    background: #a6d2ff;
-    border-color: #aef;
-    box-shadow: 0 0 8px #777;
-}
-
-.cesium-lighter .cesium-button:active {
-    color: #fff; /* For text buttons */
-    fill: #fff; /* For SVG buttons */
-    background: #48b;
-    border-color: #ea0;
-}
-
-.cesium-lighter .cesium-button:disabled,
-.cesium-lighter .cesium-button-disabled,
-.cesium-lighter .cesium-button-disabled:focus,
-.cesium-lighter .cesium-button-disabled:hover,
-.cesium-lighter .cesium-button-disabled:active {
-    background: #ccc;
-    border-color: #999;
-    color: #999; /* For text buttons */
-    fill: #999; /* For SVG buttons */
-    box-shadow: none;
-}
-
-.cesium-lighter .cesium-performanceDisplay {
-    background-color: #e2f0ff;
-    border-color: #759dc0;
-}
-
-.cesium-lighter .cesium-performanceDisplay-fps {
-    color: #e52;
-}
-
-.cesium-lighter .cesium-performanceDisplay-ms {
-    color: #ea4;
-}
diff --git a/libs/supermap/Widgets/shared.css b/libs/supermap/Widgets/shared.css
deleted file mode 100644
index 307ab8d..0000000
--- a/libs/supermap/Widgets/shared.css
+++ /dev/null
@@ -1,116 +0,0 @@
-.cesium-svgPath-svg {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-    overflow: hidden;
-}
-
-.cesium-button {
-    display: inline-block;
-    position: relative;
-    background: #303336;
-    border: 1px solid #444;
-    color: #edffff; /* For text buttons */
-    fill: #edffff; /* For SVG buttons */
-    border-radius: 4px;
-    padding: 5px 12px;
-    margin: 2px 3px;
-    cursor: pointer;
-    overflow: hidden;
-    -moz-user-select: none;
-    -webkit-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-}
-
-.cesium-button:focus {
-    color: #fff; /* For text buttons */
-    fill: #fff; /* For SVG buttons */
-    border-color: #ea4;
-    outline: none;
-}
-
-.cesium-button:hover {
-    color: #fff; /* For text buttons */
-    fill: #fff; /* For SVG buttons */
-    background: #48b;
-    border-color: #aef;
-    box-shadow: 0 0 8px #fff;
-}
-
-.cesium-button:active {
-    color: #000; /* For text buttons */
-    fill: #000; /* For SVG buttons */
-    background: #adf;
-    border-color: #fff;
-    box-shadow: 0 0 8px #fff;
-}
-
-.cesium-button:disabled,
-.cesium-button-disabled,
-.cesium-button-disabled:focus,
-.cesium-button-disabled:hover,
-.cesium-button-disabled:active {
-    background: #303336;
-    border-color: #444;
-    color: #646464; /* For text buttons */
-    fill: #646464; /* For SVG buttons */
-    box-shadow: none;
-    cursor: default;
-}
-
-.cesium-button option {
-    background-color: #000;
-    color: #eee;
-}
-
-.cesium-button option:disabled {
-    color: #777;
-}
-
-.cesium-button input, .cesium-button label {
-    cursor: pointer;
-}
-
-.cesium-button input {
-    vertical-align: sub;
-}
-
-.cesium-toolbar-button {
-    box-sizing: border-box;
-    width: 32px;
-    height: 32px;
-    border-radius: 14%;
-    padding: 0;
-    vertical-align: middle;
-    z-index: 0; /* Workaround for rounded raster image corners in Chrome */
-}
-
-.cesium-performanceDisplay-defaultContainer {
-    position: absolute;
-    top: 50px;
-    right: 10px;
-    text-align: right;
-}
-
-.cesium-performanceDisplay {
-    background-color: rgba(40, 40, 40, 0.7);
-    padding: 7px;
-    border-radius: 5px;
-    border: 1px solid #444;
-    font: bold 12px sans-serif;
-}
-
-.cesium-performanceDisplay-fps {
-    color: #e52;
-}
-
-.cesium-performanceDisplay-throttled {
-    color: #a42;
-}
-
-.cesium-performanceDisplay-ms {
-    color: #de3;
-}
diff --git a/libs/supermap/Widgets/widgets.css b/libs/supermap/Widgets/widgets.css
deleted file mode 100644
index ac4f536..0000000
--- a/libs/supermap/Widgets/widgets.css
+++ /dev/null
@@ -1,18 +0,0 @@
-@import url(./shared.css);
-@import url(./Animation/Animation.css);
-@import url(./BaseLayerPicker/BaseLayerPicker.css);
-@import url(./CesiumWidget/CesiumWidget.css);
-@import url(./CesiumInspector/CesiumInspector.css);
-@import url(./Cesium3DTilesInspector/Cesium3DTilesInspector.css);
-@import url(./FullscreenButton/FullscreenButton.css);
-@import url(./VRButton/VRButton.css);
-@import url(./Geocoder/Geocoder.css);
-@import url(./InfoBox/InfoBox.css);
-@import url(./SceneModePicker/SceneModePicker.css);
-@import url(./ProjectionPicker/ProjectionPicker.css);
-@import url(./PerformanceWatchdog/PerformanceWatchdog.css);
-@import url(./NavigationHelpButton/NavigationHelpButton.css);
-@import url(./SelectionIndicator/SelectionIndicator.css);
-@import url(./Timeline/Timeline.css);
-@import url(./Viewer/Viewer.css);
-@import url(./Navigation/navigation.css);
diff --git a/libs/supermap/Workers/ArcType-66bc286a.js b/libs/supermap/Workers/ArcType-66bc286a.js
deleted file mode 100644
index d84427d..0000000
--- a/libs/supermap/Workers/ArcType-66bc286a.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports'], function (exports) { 'use strict';
-
-    /**
-         * ArcType defines the path that should be taken connecting vertices.
-         *
-         * @exports ArcType
-         */
-        var ArcType = {
-            /**
-             * Straight line that does not conform to the surface of the ellipsoid.
-             *
-             * @type {Number}
-             * @constant
-             */
-            NONE : 0,
-
-            /**
-             * Follow geodesic path.
-             *
-             * @type {Number}
-             * @constant
-             */
-            GEODESIC : 1,
-
-            /**
-             * Follow rhumb or loxodrome path.
-             *
-             * @type {Number}
-             * @constant
-             */
-            RHUMB : 2
-        };
-    var ArcType$1 = Object.freeze(ArcType);
-
-    exports.ArcType = ArcType$1;
-
-});
diff --git a/libs/supermap/Workers/AttributeCompression-50ff7145.js b/libs/supermap/Workers/AttributeCompression-50ff7145.js
deleted file mode 100644
index b6301de..0000000
--- a/libs/supermap/Workers/AttributeCompression-50ff7145.js
+++ /dev/null
@@ -1,415 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75'], function (exports, when, Check, _Math, Cartesian2) { 'use strict';
-
-    var RIGHT_SHIFT = 1.0 / 256.0;
-    var LEFT_SHIFT = 256.0;
-
-    /**
-     * Attribute compression and decompression functions.
-     *
-     * @exports AttributeCompression
-     *
-     * @private
-     */
-    var AttributeCompression = {};
-
-    /**
-     * Encodes a normalized vector into 2 SNORM values in the range of [0-rangeMax] following the 'oct' encoding.
-     *
-     * Oct encoding is a compact representation of unit length vectors.
-     * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors",
-     * Cigolle et al 2014: {@link http://jcgt.org/published/0003/02/01/}
-     *
-     * @param {Cartesian3} vector The normalized vector to be compressed into 2 component 'oct' encoding.
-     * @param {Cartesian2} result The 2 component oct-encoded unit length vector.
-     * @param {Number} rangeMax The maximum value of the SNORM range. The encoded vector is stored in log2(rangeMax+1) bits.
-     * @returns {Cartesian2} The 2 component oct-encoded unit length vector.
-     *
-     * @exception {DeveloperError} vector must be normalized.
-     *
-     * @see AttributeCompression.octDecodeInRange
-     */
-    AttributeCompression.octEncodeInRange = function(vector, rangeMax, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('vector', vector);
-        Check.Check.defined('result', result);
-        var magSquared = Cartesian2.Cartesian3.magnitudeSquared(vector);
-        if (Math.abs(magSquared - 1.0) > _Math.CesiumMath.EPSILON6) {
-            throw new Check.DeveloperError('vector must be normalized.');
-        }
-        //>>includeEnd('debug');
-
-        result.x = vector.x / (Math.abs(vector.x) + Math.abs(vector.y) + Math.abs(vector.z));
-        result.y = vector.y / (Math.abs(vector.x) + Math.abs(vector.y) + Math.abs(vector.z));
-        if (vector.z < 0) {
-            var x = result.x;
-            var y = result.y;
-            result.x = (1.0 - Math.abs(y)) * _Math.CesiumMath.signNotZero(x);
-            result.y = (1.0 - Math.abs(x)) * _Math.CesiumMath.signNotZero(y);
-        }
-
-        result.x = _Math.CesiumMath.toSNorm(result.x, rangeMax);
-        result.y = _Math.CesiumMath.toSNorm(result.y, rangeMax);
-
-        return result;
-    };
-
-    /**
-     * Encodes a normalized vector into 2 SNORM values in the range of [0-255] following the 'oct' encoding.
-     *
-     * @param {Cartesian3} vector The normalized vector to be compressed into 2 byte 'oct' encoding.
-     * @param {Cartesian2} result The 2 byte oct-encoded unit length vector.
-     * @returns {Cartesian2} The 2 byte oct-encoded unit length vector.
-     *
-     * @exception {DeveloperError} vector must be normalized.
-     *
-     * @see AttributeCompression.octEncodeInRange
-     * @see AttributeCompression.octDecode
-     */
-    AttributeCompression.octEncode = function(vector, result) {
-        return AttributeCompression.octEncodeInRange(vector, 255, result);
-    };
-
-    var octEncodeScratch = new Cartesian2.Cartesian2();
-    var uint8ForceArray = new Uint8Array(1);
-    function forceUint8(value) {
-        uint8ForceArray[0] = value;
-        return uint8ForceArray[0];
-    }
-    /**
-     * @param {Cartesian3} vector The normalized vector to be compressed into 4 byte 'oct' encoding.
-     * @param {Cartesian4} result The 4 byte oct-encoded unit length vector.
-     * @returns {Cartesian4} The 4 byte oct-encoded unit length vector.
-     *
-     * @exception {DeveloperError} vector must be normalized.
-     *
-     * @see AttributeCompression.octEncodeInRange
-     * @see AttributeCompression.octDecodeFromCartesian4
-     */
-    AttributeCompression.octEncodeToCartesian4 = function(vector, result) {
-        AttributeCompression.octEncodeInRange(vector, 65535, octEncodeScratch);
-        result.x = forceUint8(octEncodeScratch.x * RIGHT_SHIFT);
-        result.y = forceUint8(octEncodeScratch.x);
-        result.z = forceUint8(octEncodeScratch.y * RIGHT_SHIFT);
-        result.w = forceUint8(octEncodeScratch.y);
-        return result;
-    };
-
-    /**
-     * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component vector.
-     *
-     * @param {Number} x The x component of the oct-encoded unit length vector.
-     * @param {Number} y The y component of the oct-encoded unit length vector.
-     * @param {Number} rangeMax The maximum value of the SNORM range. The encoded vector is stored in log2(rangeMax+1) bits.
-     * @param {Cartesian3} result The decoded and normalized vector
-     * @returns {Cartesian3} The decoded and normalized vector.
-     *
-     * @exception {DeveloperError} x and y must be unsigned normalized integers between 0 and rangeMax.
-     *
-     * @see AttributeCompression.octEncodeInRange
-     */
-    AttributeCompression.octDecodeInRange = function(x, y, rangeMax, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('result', result);
-        if (x < 0 || x > rangeMax || y < 0 || y > rangeMax) {
-            throw new Check.DeveloperError('x and y must be unsigned normalized integers between 0 and ' + rangeMax);
-        }
-        //>>includeEnd('debug');
-
-        result.x = _Math.CesiumMath.fromSNorm(x, rangeMax);
-        result.y = _Math.CesiumMath.fromSNorm(y, rangeMax);
-        result.z = 1.0 - (Math.abs(result.x) + Math.abs(result.y));
-
-        if (result.z < 0.0)
-        {
-            var oldVX = result.x;
-            result.x = (1.0 - Math.abs(result.y)) * _Math.CesiumMath.signNotZero(oldVX);
-            result.y = (1.0 - Math.abs(oldVX)) * _Math.CesiumMath.signNotZero(result.y);
-        }
-
-        return Cartesian2.Cartesian3.normalize(result, result);
-    };
-
-    /**
-     * Decodes a unit-length vector in 2 byte 'oct' encoding to a normalized 3-component vector.
-     *
-     * @param {Number} x The x component of the oct-encoded unit length vector.
-     * @param {Number} y The y component of the oct-encoded unit length vector.
-     * @param {Cartesian3} result The decoded and normalized vector.
-     * @returns {Cartesian3} The decoded and normalized vector.
-     *
-     * @exception {DeveloperError} x and y must be an unsigned normalized integer between 0 and 255.
-     *
-     * @see AttributeCompression.octDecodeInRange
-     */
-    AttributeCompression.octDecode = function(x, y, result) {
-        return AttributeCompression.octDecodeInRange(x, y, 255, result);
-    };
-
-    /**
-     * Decodes a unit-length vector in 4 byte 'oct' encoding to a normalized 3-component vector.
-     *
-     * @param {Cartesian4} encoded The oct-encoded unit length vector.
-     * @param {Cartesian3} result The decoded and normalized vector.
-     * @returns {Cartesian3} The decoded and normalized vector.
-     *
-     * @exception {DeveloperError} x, y, z, and w must be unsigned normalized integers between 0 and 255.
-     *
-     * @see AttributeCompression.octDecodeInRange
-     * @see AttributeCompression.octEncodeToCartesian4
-     */
-    AttributeCompression.octDecodeFromCartesian4 = function(encoded, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('encoded', encoded);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-        var x = encoded.x;
-        var y = encoded.y;
-        var z = encoded.z;
-        var w = encoded.w;
-        //>>includeStart('debug', pragmas.debug);
-        if (x < 0 || x > 255 || y < 0 || y > 255 || z < 0 || z > 255 || w < 0 || w > 255) {
-            throw new Check.DeveloperError('x, y, z, and w must be unsigned normalized integers between 0 and 255');
-        }
-        //>>includeEnd('debug');
-
-        var xOct16 = x * LEFT_SHIFT + y;
-        var yOct16 = z * LEFT_SHIFT + w;
-        return AttributeCompression.octDecodeInRange(xOct16, yOct16, 65535, result);
-    };
-
-    /**
-     * Packs an oct encoded vector into a single floating-point number.
-     *
-     * @param {Cartesian2} encoded The oct encoded vector.
-     * @returns {Number} The oct encoded vector packed into a single float.
-     *
-     */
-    AttributeCompression.octPackFloat = function(encoded) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('encoded', encoded);
-        //>>includeEnd('debug');
-        return 256.0 * encoded.x + encoded.y;
-    };
-
-    var scratchEncodeCart2 = new Cartesian2.Cartesian2();
-
-    /**
-     * Encodes a normalized vector into 2 SNORM values in the range of [0-255] following the 'oct' encoding and
-     * stores those values in a single float-point number.
-     *
-     * @param {Cartesian3} vector The normalized vector to be compressed into 2 byte 'oct' encoding.
-     * @returns {Number} The 2 byte oct-encoded unit length vector.
-     *
-     * @exception {DeveloperError} vector must be normalized.
-     */
-    AttributeCompression.octEncodeFloat = function(vector) {
-        AttributeCompression.octEncode(vector, scratchEncodeCart2);
-        return AttributeCompression.octPackFloat(scratchEncodeCart2);
-    };
-
-    /**
-     * Decodes a unit-length vector in 'oct' encoding packed in a floating-point number to a normalized 3-component vector.
-     *
-     * @param {Number} value The oct-encoded unit length vector stored as a single floating-point number.
-     * @param {Cartesian3} result The decoded and normalized vector
-     * @returns {Cartesian3} The decoded and normalized vector.
-     *
-     */
-    AttributeCompression.octDecodeFloat = function(value, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('value', value);
-        //>>includeEnd('debug');
-
-        var temp = value / 256.0;
-        var x = Math.floor(temp);
-        var y = (temp - x) * 256.0;
-
-        return AttributeCompression.octDecode(x, y, result);
-    };
-
-    /**
-     * Encodes three normalized vectors into 6 SNORM values in the range of [0-255] following the 'oct' encoding and
-     * packs those into two floating-point numbers.
-     *
-     * @param {Cartesian3} v1 A normalized vector to be compressed.
-     * @param {Cartesian3} v2 A normalized vector to be compressed.
-     * @param {Cartesian3} v3 A normalized vector to be compressed.
-     * @param {Cartesian2} result The 'oct' encoded vectors packed into two floating-point numbers.
-     * @returns {Cartesian2} The 'oct' encoded vectors packed into two floating-point numbers.
-     *
-     */
-    AttributeCompression.octPack = function(v1, v2, v3, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('v1', v1);
-        Check.Check.defined('v2', v2);
-        Check.Check.defined('v3', v3);
-        Check.Check.defined('result', result);
-        //>>includeEnd('debug');
-
-        var encoded1 = AttributeCompression.octEncodeFloat(v1);
-        var encoded2 = AttributeCompression.octEncodeFloat(v2);
-
-        var encoded3 = AttributeCompression.octEncode(v3, scratchEncodeCart2);
-        result.x = 65536.0 * encoded3.x + encoded1;
-        result.y = 65536.0 * encoded3.y + encoded2;
-        return result;
-    };
-
-    /**
-     * Decodes three unit-length vectors in 'oct' encoding packed into a floating-point number to a normalized 3-component vector.
-     *
-     * @param {Cartesian2} packed The three oct-encoded unit length vectors stored as two floating-point number.
-     * @param {Cartesian3} v1 One decoded and normalized vector.
-     * @param {Cartesian3} v2 One decoded and normalized vector.
-     * @param {Cartesian3} v3 One decoded and normalized vector.
-     */
-    AttributeCompression.octUnpack = function(packed, v1, v2, v3) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('packed', packed);
-        Check.Check.defined('v1', v1);
-        Check.Check.defined('v2', v2);
-        Check.Check.defined('v3', v3);
-        //>>includeEnd('debug');
-
-        var temp = packed.x / 65536.0;
-        var x = Math.floor(temp);
-        var encodedFloat1 = (temp - x) * 65536.0;
-
-        temp = packed.y / 65536.0;
-        var y = Math.floor(temp);
-        var encodedFloat2 = (temp - y) * 65536.0;
-
-        AttributeCompression.octDecodeFloat(encodedFloat1, v1);
-        AttributeCompression.octDecodeFloat(encodedFloat2, v2);
-        AttributeCompression.octDecode(x, y, v3);
-    };
-
-    /**
-     * Pack texture coordinates into a single float. The texture coordinates will only preserve 12 bits of precision.
-     *
-     * @param {Cartesian2} textureCoordinates The texture coordinates to compress.  Both coordinates must be in the range 0.0-1.0.
-     * @returns {Number} The packed texture coordinates.
-     *
-     */
-    AttributeCompression.compressTextureCoordinates = function(textureCoordinates) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('textureCoordinates', textureCoordinates);
-        //>>includeEnd('debug');
-
-        // Move x and y to the range 0-4095;
-        var x = (textureCoordinates.x * 4095.0) | 0;
-        var y = (textureCoordinates.y * 4095.0) | 0;
-        return 4096.0 * x + y;
-    };
-
-    /**
-     * Decompresses texture coordinates that were packed into a single float.
-     *
-     * @param {Number} compressed The compressed texture coordinates.
-     * @param {Cartesian2} result The decompressed texture coordinates.
-     * @returns {Cartesian2} The modified result parameter.
-     *
-     */
-    AttributeCompression.decompressTextureCoordinates = function(compressed, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('compressed', compressed);
-        Check.Check.defined('result', result);
-        //>>includeEnd('debug');
-
-        var temp = compressed / 4096.0;
-        var xZeroTo4095 = Math.floor(temp);
-        result.x = xZeroTo4095 / 4095.0;
-        result.y = (compressed - xZeroTo4095 * 4096) / 4095;
-        return result;
-    };
-
-    function zigZagDecode(value) {
-        return (value >> 1) ^ (-(value & 1));
-    }
-
-    /**
-     * Decodes delta and ZigZag encoded vertices. This modifies the buffers in place.
-     *
-     * @param {Uint16Array} uBuffer The buffer view of u values.
-     * @param {Uint16Array} vBuffer The buffer view of v values.
-     * @param {Uint16Array} [heightBuffer] The buffer view of height values.
-     *
-     * @see {@link https://github.com/AnalyticalGraphicsInc/quantized-mesh|quantized-mesh-1.0 terrain format}
-     */
-    AttributeCompression.zigZagDeltaDecode = function(uBuffer, vBuffer, heightBuffer) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('uBuffer', uBuffer);
-        Check.Check.defined('vBuffer', vBuffer);
-        Check.Check.typeOf.number.equals('uBuffer.length', 'vBuffer.length', uBuffer.length, vBuffer.length);
-        if (when.defined(heightBuffer)) {
-            Check.Check.typeOf.number.equals('uBuffer.length', 'heightBuffer.length', uBuffer.length, heightBuffer.length);
-        }
-        //>>includeEnd('debug');
-
-        var count = uBuffer.length;
-
-        var u = 0;
-        var v = 0;
-        var height = 0;
-
-        for (var i = 0; i < count; ++i) {
-            u += zigZagDecode(uBuffer[i]);
-            v += zigZagDecode(vBuffer[i]);
-
-            uBuffer[i] = u;
-            vBuffer[i] = v;
-
-            if (when.defined(heightBuffer)) {
-                height += zigZagDecode(heightBuffer[i]);
-                heightBuffer[i] = height;
-            }
-        }
-    };
-
-    // 将oct压缩的short转化为float
-    AttributeCompression.octShortToFloat = function(s){
-        //var tempF = s * 1.0 / ((1 << 15) - 1);
-        return  _Math.CesiumMath.clamp(s * 0.00003051850947599719, -1.0, 1.0);
-    };
-
-    // 将oct压缩的两个short解压为三个float
-    AttributeCompression.octShortDecode = function(x, y, result) {
-        Check.Check.defined('result', result);
-        result.x = AttributeCompression.octShortToFloat(x);
-        result.y = AttributeCompression.octShortToFloat(y);
-        result.z = 1.0 - (Math.abs(result.x) + Math.abs(result.y));
-
-        if (result.z < 0.0)
-        {
-            var oldVX = result.x;
-            result.x = (1.0 - Math.abs(result.y)) * _Math.CesiumMath.signNotZero(oldVX);
-            result.y = (1.0 - Math.abs(oldVX)) * _Math.CesiumMath.signNotZero(result.y);
-        }
-        return Cartesian2.Cartesian3.normalize(result, result);
-    };
-
-    exports.AttributeCompression = AttributeCompression;
-
-});
diff --git a/libs/supermap/Workers/BoundingRectangle-5220b474.js b/libs/supermap/Workers/BoundingRectangle-5220b474.js
deleted file mode 100644
index cddb679..0000000
--- a/libs/supermap/Workers/BoundingRectangle-5220b474.js
+++ /dev/null
@@ -1,376 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Cartesian2-2cbe6c75', './BoundingSphere-51445700'], function (exports, when, Check, Cartesian2, BoundingSphere) { 'use strict';
-
-    /**
-         * A bounding rectangle given by a corner, width and height.
-         * @alias BoundingRectangle
-         * @constructor
-         *
-         * @param {Number} [x=0.0] The x coordinate of the rectangle.
-         * @param {Number} [y=0.0] The y coordinate of the rectangle.
-         * @param {Number} [width=0.0] The width of the rectangle.
-         * @param {Number} [height=0.0] The height of the rectangle.
-         *
-         * @see BoundingSphere
-         * @see Packable
-         */
-        function BoundingRectangle(x, y, width, height) {
-            /**
-             * The x coordinate of the rectangle.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.x = when.defaultValue(x, 0.0);
-
-            /**
-             * The y coordinate of the rectangle.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.y = when.defaultValue(y, 0.0);
-
-            /**
-             * The width of the rectangle.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.width = when.defaultValue(width, 0.0);
-
-            /**
-             * The height of the rectangle.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.height = when.defaultValue(height, 0.0);
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        BoundingRectangle.packedLength = 4;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {BoundingRectangle} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        BoundingRectangle.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            array[startingIndex++] = value.x;
-            array[startingIndex++] = value.y;
-            array[startingIndex++] = value.width;
-            array[startingIndex] = value.height;
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {BoundingRectangle} [result] The object into which to store the result.
-         * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
-         */
-        BoundingRectangle.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new BoundingRectangle();
-            }
-            result.x = array[startingIndex++];
-            result.y = array[startingIndex++];
-            result.width = array[startingIndex++];
-            result.height = array[startingIndex];
-            return result;
-        };
-
-        /**
-         * Computes a bounding rectangle enclosing the list of 2D points.
-         * The rectangle is oriented with the corner at the bottom left.
-         *
-         * @param {Cartesian2[]} positions List of points that the bounding rectangle will enclose.  Each point must have <code>x</code> and <code>y</code> properties.
-         * @param {BoundingRectangle} [result] The object onto which to store the result.
-         * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
-         */
-        BoundingRectangle.fromPoints = function(positions, result) {
-            if (!when.defined(result)) {
-                result = new BoundingRectangle();
-            }
-
-            if (!when.defined(positions) || positions.length === 0) {
-                result.x = 0;
-                result.y = 0;
-                result.width = 0;
-                result.height = 0;
-                return result;
-            }
-
-            var length = positions.length;
-
-            var minimumX = positions[0].x;
-            var minimumY = positions[0].y;
-
-            var maximumX = positions[0].x;
-            var maximumY = positions[0].y;
-
-            for ( var i = 1; i < length; i++) {
-                var p = positions[i];
-                var x = p.x;
-                var y = p.y;
-
-                minimumX = Math.min(x, minimumX);
-                maximumX = Math.max(x, maximumX);
-                minimumY = Math.min(y, minimumY);
-                maximumY = Math.max(y, maximumY);
-            }
-
-            result.x = minimumX;
-            result.y = minimumY;
-            result.width = maximumX - minimumX;
-            result.height = maximumY - minimumY;
-            return result;
-        };
-
-        var defaultProjection = new BoundingSphere.GeographicProjection();
-        var fromRectangleLowerLeft = new Cartesian2.Cartographic();
-        var fromRectangleUpperRight = new Cartesian2.Cartographic();
-        /**
-         * Computes a bounding rectangle from a rectangle.
-         *
-         * @param {Rectangle} rectangle The valid rectangle used to create a bounding rectangle.
-         * @param {Object} [projection=GeographicProjection] The projection used to project the rectangle into 2D.
-         * @param {BoundingRectangle} [result] The object onto which to store the result.
-         * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
-         */
-        BoundingRectangle.fromRectangle = function(rectangle, projection, result) {
-            if (!when.defined(result)) {
-                result = new BoundingRectangle();
-            }
-
-            if (!when.defined(rectangle)) {
-                result.x = 0;
-                result.y = 0;
-                result.width = 0;
-                result.height = 0;
-                return result;
-            }
-
-            projection = when.defaultValue(projection, defaultProjection);
-
-            var lowerLeft = projection.project(Cartesian2.Rectangle.southwest(rectangle, fromRectangleLowerLeft));
-            var upperRight = projection.project(Cartesian2.Rectangle.northeast(rectangle, fromRectangleUpperRight));
-
-            Cartesian2.Cartesian2.subtract(upperRight, lowerLeft, upperRight);
-
-            result.x = lowerLeft.x;
-            result.y = lowerLeft.y;
-            result.width = upperRight.x;
-            result.height = upperRight.y;
-            return result;
-        };
-
-        /**
-         * Duplicates a BoundingRectangle instance.
-         *
-         * @param {BoundingRectangle} rectangle The bounding rectangle to duplicate.
-         * @param {BoundingRectangle} [result] The object onto which to store the result.
-         * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided. (Returns undefined if rectangle is undefined)
-         */
-        BoundingRectangle.clone = function(rectangle, result) {
-            if (!when.defined(rectangle)) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                return new BoundingRectangle(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
-            }
-
-            result.x = rectangle.x;
-            result.y = rectangle.y;
-            result.width = rectangle.width;
-            result.height = rectangle.height;
-            return result;
-        };
-
-        /**
-         * Computes a bounding rectangle that is the union of the left and right bounding rectangles.
-         *
-         * @param {BoundingRectangle} left A rectangle to enclose in bounding rectangle.
-         * @param {BoundingRectangle} right A rectangle to enclose in a bounding rectangle.
-         * @param {BoundingRectangle} [result] The object onto which to store the result.
-         * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
-         */
-        BoundingRectangle.union = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new BoundingRectangle();
-            }
-
-            var lowerLeftX = Math.min(left.x, right.x);
-            var lowerLeftY = Math.min(left.y, right.y);
-            var upperRightX = Math.max(left.x + left.width, right.x + right.width);
-            var upperRightY = Math.max(left.y + left.height, right.y + right.height);
-
-            result.x = lowerLeftX;
-            result.y = lowerLeftY;
-            result.width = upperRightX - lowerLeftX;
-            result.height = upperRightY - lowerLeftY;
-            return result;
-        };
-
-        /**
-         * Computes a bounding rectangle by enlarging the provided rectangle until it contains the provided point.
-         *
-         * @param {BoundingRectangle} rectangle A rectangle to expand.
-         * @param {Cartesian2} point A point to enclose in a bounding rectangle.
-         * @param {BoundingRectangle} [result] The object onto which to store the result.
-         * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
-         */
-        BoundingRectangle.expand = function(rectangle, point, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            Check.Check.typeOf.object('point', point);
-            //>>includeEnd('debug');
-
-            result = BoundingRectangle.clone(rectangle, result);
-
-            var width = point.x - result.x;
-            var height = point.y - result.y;
-
-            if (width > result.width) {
-                result.width = width;
-            } else if (width < 0) {
-                result.width -= width;
-                result.x = point.x;
-            }
-
-            if (height > result.height) {
-                result.height = height;
-            } else if (height < 0) {
-                result.height -= height;
-                result.y = point.y;
-            }
-
-            return result;
-        };
-
-        /**
-         * Determines if two rectangles intersect.
-         *
-         * @param {BoundingRectangle} left A rectangle to check for intersection.
-         * @param {BoundingRectangle} right The other rectangle to check for intersection.
-         * @returns {Intersect} <code>Intersect.INTESECTING</code> if the rectangles intersect, <code>Intersect.OUTSIDE</code> otherwise.
-         */
-        BoundingRectangle.intersect = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            var leftX = left.x;
-            var leftY = left.y;
-            var rightX = right.x;
-            var rightY = right.y;
-            if (!(leftX > rightX + right.width ||
-                  leftX + left.width < rightX ||
-                  leftY + left.height < rightY ||
-                  leftY > rightY + right.height)) {
-                return BoundingSphere.Intersect.INTERSECTING;
-            }
-
-            return BoundingSphere.Intersect.OUTSIDE;
-        };
-
-        /**
-         * Compares the provided BoundingRectangles componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {BoundingRectangle} [left] The first BoundingRectangle.
-         * @param {BoundingRectangle} [right] The second BoundingRectangle.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        BoundingRectangle.equals = function(left, right) {
-            return (left === right) ||
-                   ((when.defined(left)) &&
-                    (when.defined(right)) &&
-                    (left.x === right.x) &&
-                    (left.y === right.y) &&
-                    (left.width === right.width) &&
-                    (left.height === right.height));
-        };
-
-        /**
-         * Duplicates this BoundingRectangle instance.
-         *
-         * @param {BoundingRectangle} [result] The object onto which to store the result.
-         * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
-         */
-        BoundingRectangle.prototype.clone = function(result) {
-            return BoundingRectangle.clone(this, result);
-        };
-
-        /**
-         * Determines if this rectangle intersects with another.
-         *
-         * @param {BoundingRectangle} right A rectangle to check for intersection.
-         * @returns {Intersect} <code>Intersect.INTESECTING</code> if the rectangles intersect, <code>Intersect.OUTSIDE</code> otherwise.
-         */
-        BoundingRectangle.prototype.intersect = function(right) {
-            return BoundingRectangle.intersect(this, right);
-        };
-
-        /**
-         * Compares this BoundingRectangle against the provided BoundingRectangle componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {BoundingRectangle} [right] The right hand side BoundingRectangle.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        BoundingRectangle.prototype.equals = function(right) {
-            return BoundingRectangle.equals(this, right);
-        };
-
-    exports.BoundingRectangle = BoundingRectangle;
-
-});
diff --git a/libs/supermap/Workers/BoundingSphere-51445700.js b/libs/supermap/Workers/BoundingSphere-51445700.js
deleted file mode 100644
index 1d039ac..0000000
--- a/libs/supermap/Workers/BoundingSphere-51445700.js
+++ /dev/null
@@ -1,6552 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './RuntimeError-ba10bc3e'], function (exports, when, Check, _Math, Cartesian2, RuntimeError) { 'use strict';
-
-    /**
-     * A simple map projection where longitude and latitude are linearly mapped to X and Y by multiplying
-     * them by the {@link Ellipsoid#maximumRadius}.  This projection
-     * is commonly known as geographic, equirectangular, equidistant cylindrical, or plate carrée.  It
-     * is also known as EPSG:4326.
-     *
-     * @alias GeographicProjection
-     * @constructor
-     *
-     * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid.
-     *
-     * @see WebMercatorProjection
-     */
-    function GeographicProjection(ellipsoid) {
-        this._ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-        this._semimajorAxis = this._ellipsoid.maximumRadius;
-        this._oneOverSemimajorAxis = 1.0 / this._semimajorAxis;
-    }
-
-    Object.defineProperties(GeographicProjection.prototype, {
-        /**
-         * Gets the {@link Ellipsoid}.
-         *
-         * @memberof GeographicProjection.prototype
-         *
-         * @type {Ellipsoid}
-         * @readonly
-         */
-        ellipsoid : {
-            get : function() {
-                return this._ellipsoid;
-            }
-        }
-    });
-
-    /**
-     * Projects a set of {@link Cartographic} coordinates, in radians, to map coordinates, in meters.
-     * X and Y are the longitude and latitude, respectively, multiplied by the maximum radius of the
-     * ellipsoid.  Z is the unmodified height.
-     *
-     * @param {Cartographic} cartographic The coordinates to project.
-     * @param {Cartesian3} [result] An instance into which to copy the result.  If this parameter is
-     *        undefined, a new instance is created and returned.
-     * @returns {Cartesian3} The projected coordinates.  If the result parameter is not undefined, the
-     *          coordinates are copied there and that instance is returned.  Otherwise, a new instance is
-     *          created and returned.
-     */
-    GeographicProjection.prototype.project = function(cartographic, result) {
-        // Actually this is the special case of equidistant cylindrical called the plate carree
-        var semimajorAxis = this._semimajorAxis;
-        var x = cartographic.longitude * semimajorAxis;
-        var y = cartographic.latitude * semimajorAxis;
-        var z = cartographic.height;
-
-        if (!when.defined(result)) {
-            return new Cartesian2.Cartesian3(x, y, z);
-        }
-
-        result.x = x;
-        result.y = y;
-        result.z = z;
-        return result;
-    };
-
-    /**
-     * Unprojects a set of projected {@link Cartesian3} coordinates, in meters, to {@link Cartographic}
-     * coordinates, in radians.  Longitude and Latitude are the X and Y coordinates, respectively,
-     * divided by the maximum radius of the ellipsoid.  Height is the unmodified Z coordinate.
-     *
-     * @param {Cartesian3} cartesian The Cartesian position to unproject with height (z) in meters.
-     * @param {Cartographic} [result] An instance into which to copy the result.  If this parameter is
-     *        undefined, a new instance is created and returned.
-     * @returns {Cartographic} The unprojected coordinates.  If the result parameter is not undefined, the
-     *          coordinates are copied there and that instance is returned.  Otherwise, a new instance is
-     *          created and returned.
-     */
-    GeographicProjection.prototype.unproject = function(cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(cartesian)) {
-            throw new Check.DeveloperError('cartesian is required');
-        }
-        //>>includeEnd('debug');
-
-        var oneOverEarthSemimajorAxis = this._oneOverSemimajorAxis;
-        var longitude = cartesian.x * oneOverEarthSemimajorAxis;
-        var latitude = cartesian.y * oneOverEarthSemimajorAxis;
-        var height = cartesian.z;
-
-        if (!when.defined(result)) {
-            return new Cartesian2.Cartographic(longitude, latitude, height);
-        }
-
-        result.longitude = longitude;
-        result.latitude = latitude;
-        result.height = height;
-        return result;
-    };
-
-    /**
-         * This enumerated type is used in determining where, relative to the frustum, an
-         * object is located. The object can either be fully contained within the frustum (INSIDE),
-         * partially inside the frustum and partially outside (INTERSECTING), or somwhere entirely
-         * outside of the frustum's 6 planes (OUTSIDE).
-         *
-         * @exports Intersect
-         */
-        var Intersect = {
-            /**
-             * Represents that an object is not contained within the frustum.
-             *
-             * @type {Number}
-             * @constant
-             */
-            OUTSIDE : -1,
-
-            /**
-             * Represents that an object intersects one of the frustum's planes.
-             *
-             * @type {Number}
-             * @constant
-             */
-            INTERSECTING : 0,
-
-            /**
-             * Represents that an object is fully within the frustum.
-             *
-             * @type {Number}
-             * @constant
-             */
-            INSIDE : 1
-        };
-    var Intersect$1 = Object.freeze(Intersect);
-
-    /**
-         * Represents the closed interval [start, stop].
-         * @alias Interval
-         * @constructor
-         *
-         * @param {Number} [start=0.0] The beginning of the interval.
-         * @param {Number} [stop=0.0] The end of the interval.
-         */
-        function Interval(start, stop) {
-            /**
-             * The beginning of the interval.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.start = when.defaultValue(start, 0.0);
-            /**
-             * The end of the interval.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.stop = when.defaultValue(stop, 0.0);
-        }
-
-    /**
-         * A 3x3 matrix, indexable as a column-major order array.
-         * Constructor parameters are in row-major order for code readability.
-         * @alias Matrix3
-         * @constructor
-         *
-         * @param {Number} [column0Row0=0.0] The value for column 0, row 0.
-         * @param {Number} [column1Row0=0.0] The value for column 1, row 0.
-         * @param {Number} [column2Row0=0.0] The value for column 2, row 0.
-         * @param {Number} [column0Row1=0.0] The value for column 0, row 1.
-         * @param {Number} [column1Row1=0.0] The value for column 1, row 1.
-         * @param {Number} [column2Row1=0.0] The value for column 2, row 1.
-         * @param {Number} [column0Row2=0.0] The value for column 0, row 2.
-         * @param {Number} [column1Row2=0.0] The value for column 1, row 2.
-         * @param {Number} [column2Row2=0.0] The value for column 2, row 2.
-         *
-         * @see Matrix3.fromColumnMajorArray
-         * @see Matrix3.fromRowMajorArray
-         * @see Matrix3.fromQuaternion
-         * @see Matrix3.fromScale
-         * @see Matrix3.fromUniformScale
-         * @see Matrix2
-         * @see Matrix4
-         */
-        function Matrix3(column0Row0, column1Row0, column2Row0,
-                               column0Row1, column1Row1, column2Row1,
-                               column0Row2, column1Row2, column2Row2) {
-            this[0] = when.defaultValue(column0Row0, 0.0);
-            this[1] = when.defaultValue(column0Row1, 0.0);
-            this[2] = when.defaultValue(column0Row2, 0.0);
-            this[3] = when.defaultValue(column1Row0, 0.0);
-            this[4] = when.defaultValue(column1Row1, 0.0);
-            this[5] = when.defaultValue(column1Row2, 0.0);
-            this[6] = when.defaultValue(column2Row0, 0.0);
-            this[7] = when.defaultValue(column2Row1, 0.0);
-            this[8] = when.defaultValue(column2Row2, 0.0);
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        Matrix3.packedLength = 9;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {Matrix3} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        Matrix3.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            array[startingIndex++] = value[0];
-            array[startingIndex++] = value[1];
-            array[startingIndex++] = value[2];
-            array[startingIndex++] = value[3];
-            array[startingIndex++] = value[4];
-            array[startingIndex++] = value[5];
-            array[startingIndex++] = value[6];
-            array[startingIndex++] = value[7];
-            array[startingIndex++] = value[8];
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {Matrix3} [result] The object into which to store the result.
-         * @returns {Matrix3} The modified result parameter or a new Matrix3 instance if one was not provided.
-         */
-        Matrix3.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new Matrix3();
-            }
-
-            result[0] = array[startingIndex++];
-            result[1] = array[startingIndex++];
-            result[2] = array[startingIndex++];
-            result[3] = array[startingIndex++];
-            result[4] = array[startingIndex++];
-            result[5] = array[startingIndex++];
-            result[6] = array[startingIndex++];
-            result[7] = array[startingIndex++];
-            result[8] = array[startingIndex++];
-            return result;
-        };
-
-        /**
-         * Duplicates a Matrix3 instance.
-         *
-         * @param {Matrix3} matrix The matrix to duplicate.
-         * @param {Matrix3} [result] The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter or a new Matrix3 instance if one was not provided. (Returns undefined if matrix is undefined)
-         */
-        Matrix3.clone = function(matrix, result) {
-            if (!when.defined(matrix)) {
-                return undefined;
-            }
-            if (!when.defined(result)) {
-                return new Matrix3(matrix[0], matrix[3], matrix[6],
-                                   matrix[1], matrix[4], matrix[7],
-                                   matrix[2], matrix[5], matrix[8]);
-            }
-            result[0] = matrix[0];
-            result[1] = matrix[1];
-            result[2] = matrix[2];
-            result[3] = matrix[3];
-            result[4] = matrix[4];
-            result[5] = matrix[5];
-            result[6] = matrix[6];
-            result[7] = matrix[7];
-            result[8] = matrix[8];
-            return result;
-        };
-
-        /**
-         * Creates a Matrix3 from 9 consecutive elements in an array.
-         *
-         * @param {Number[]} array The array whose 9 consecutive elements correspond to the positions of the matrix.  Assumes column-major order.
-         * @param {Number} [startingIndex=0] The offset into the array of the first element, which corresponds to first column first row position in the matrix.
-         * @param {Matrix3} [result] The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter or a new Matrix3 instance if one was not provided.
-         *
-         * @example
-         * // Create the Matrix3:
-         * // [1.0, 2.0, 3.0]
-         * // [1.0, 2.0, 3.0]
-         * // [1.0, 2.0, 3.0]
-         *
-         * var v = [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
-         * var m = Cesium.Matrix3.fromArray(v);
-         *
-         * // Create same Matrix3 with using an offset into an array
-         * var v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
-         * var m2 = Cesium.Matrix3.fromArray(v2, 2);
-         */
-        Matrix3.fromArray = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new Matrix3();
-            }
-
-            result[0] = array[startingIndex];
-            result[1] = array[startingIndex + 1];
-            result[2] = array[startingIndex + 2];
-            result[3] = array[startingIndex + 3];
-            result[4] = array[startingIndex + 4];
-            result[5] = array[startingIndex + 5];
-            result[6] = array[startingIndex + 6];
-            result[7] = array[startingIndex + 7];
-            result[8] = array[startingIndex + 8];
-            return result;
-        };
-
-        /**
-         * Creates a Matrix3 instance from a column-major order array.
-         *
-         * @param {Number[]} values The column-major order array.
-         * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
-         */
-        Matrix3.fromColumnMajorArray = function(values, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('values', values);
-            //>>includeEnd('debug');
-
-            return Matrix3.clone(values, result);
-        };
-
-        /**
-         * Creates a Matrix3 instance from a row-major order array.
-         * The resulting matrix will be in column-major order.
-         *
-         * @param {Number[]} values The row-major order array.
-         * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
-         */
-        Matrix3.fromRowMajorArray = function(values, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('values', values);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Matrix3(values[0], values[1], values[2],
-                                   values[3], values[4], values[5],
-                                   values[6], values[7], values[8]);
-            }
-            result[0] = values[0];
-            result[1] = values[3];
-            result[2] = values[6];
-            result[3] = values[1];
-            result[4] = values[4];
-            result[5] = values[7];
-            result[6] = values[2];
-            result[7] = values[5];
-            result[8] = values[8];
-            return result;
-        };
-
-        /**
-         * Computes a 3x3 rotation matrix from the provided quaternion.
-         *
-         * @param {Quaternion} quaternion the quaternion to use.
-         * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix3} The 3x3 rotation matrix from this quaternion.
-         */
-        Matrix3.fromQuaternion = function(quaternion, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('quaternion', quaternion);
-            //>>includeEnd('debug');
-
-            var x2 = quaternion.x * quaternion.x;
-            var xy = quaternion.x * quaternion.y;
-            var xz = quaternion.x * quaternion.z;
-            var xw = quaternion.x * quaternion.w;
-            var y2 = quaternion.y * quaternion.y;
-            var yz = quaternion.y * quaternion.z;
-            var yw = quaternion.y * quaternion.w;
-            var z2 = quaternion.z * quaternion.z;
-            var zw = quaternion.z * quaternion.w;
-            var w2 = quaternion.w * quaternion.w;
-
-            var m00 = x2 - y2 - z2 + w2;
-            var m01 = 2.0 * (xy - zw);
-            var m02 = 2.0 * (xz + yw);
-
-            var m10 = 2.0 * (xy + zw);
-            var m11 = -x2 + y2 - z2 + w2;
-            var m12 = 2.0 * (yz - xw);
-
-            var m20 = 2.0 * (xz - yw);
-            var m21 = 2.0 * (yz + xw);
-            var m22 = -x2 - y2 + z2 + w2;
-
-            if (!when.defined(result)) {
-                return new Matrix3(m00, m01, m02,
-                                   m10, m11, m12,
-                                   m20, m21, m22);
-            }
-            result[0] = m00;
-            result[1] = m10;
-            result[2] = m20;
-            result[3] = m01;
-            result[4] = m11;
-            result[5] = m21;
-            result[6] = m02;
-            result[7] = m12;
-            result[8] = m22;
-            return result;
-        };
-
-        /**
-         * Computes a 3x3 rotation matrix from the provided headingPitchRoll. (see http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles )
-         *
-         * @param {HeadingPitchRoll} headingPitchRoll the headingPitchRoll to use.
-         * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix3} The 3x3 rotation matrix from this headingPitchRoll.
-         */
-        Matrix3.fromHeadingPitchRoll = function(headingPitchRoll, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('headingPitchRoll', headingPitchRoll);
-            //>>includeEnd('debug');
-
-            var cosTheta = Math.cos(-headingPitchRoll.pitch);
-            var cosPsi = Math.cos(-headingPitchRoll.heading);
-            var cosPhi = Math.cos(headingPitchRoll.roll);
-            var sinTheta = Math.sin(-headingPitchRoll.pitch);
-            var sinPsi = Math.sin(-headingPitchRoll.heading);
-            var sinPhi = Math.sin(headingPitchRoll.roll);
-
-            var m00 = cosTheta * cosPsi;
-            var m01 = -cosPhi * sinPsi + sinPhi * sinTheta * cosPsi;
-            var m02 = sinPhi * sinPsi + cosPhi * sinTheta * cosPsi;
-
-            var m10 = cosTheta * sinPsi;
-            var m11 = cosPhi * cosPsi + sinPhi * sinTheta * sinPsi;
-            var m12 = -sinPhi * cosPsi + cosPhi * sinTheta * sinPsi;
-
-            var m20 = -sinTheta;
-            var m21 = sinPhi * cosTheta;
-            var m22 = cosPhi * cosTheta;
-
-            if (!when.defined(result)) {
-                return new Matrix3(m00, m01, m02,
-                    m10, m11, m12,
-                    m20, m21, m22);
-            }
-            result[0] = m00;
-            result[1] = m10;
-            result[2] = m20;
-            result[3] = m01;
-            result[4] = m11;
-            result[5] = m21;
-            result[6] = m02;
-            result[7] = m12;
-            result[8] = m22;
-            return result;
-        };
-
-        /**
-         * Computes a Matrix3 instance representing a non-uniform scale.
-         *
-         * @param {Cartesian3} scale The x, y, and z scale factors.
-         * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
-         *
-         * @example
-         * // Creates
-         * //   [7.0, 0.0, 0.0]
-         * //   [0.0, 8.0, 0.0]
-         * //   [0.0, 0.0, 9.0]
-         * var m = Cesium.Matrix3.fromScale(new Cesium.Cartesian3(7.0, 8.0, 9.0));
-         */
-        Matrix3.fromScale = function(scale, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('scale', scale);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Matrix3(
-                    scale.x, 0.0,     0.0,
-                    0.0,     scale.y, 0.0,
-                    0.0,     0.0,     scale.z);
-            }
-
-            result[0] = scale.x;
-            result[1] = 0.0;
-            result[2] = 0.0;
-            result[3] = 0.0;
-            result[4] = scale.y;
-            result[5] = 0.0;
-            result[6] = 0.0;
-            result[7] = 0.0;
-            result[8] = scale.z;
-            return result;
-        };
-
-        /**
-         * Computes a Matrix3 instance representing a uniform scale.
-         *
-         * @param {Number} scale The uniform scale factor.
-         * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
-         *
-         * @example
-         * // Creates
-         * //   [2.0, 0.0, 0.0]
-         * //   [0.0, 2.0, 0.0]
-         * //   [0.0, 0.0, 2.0]
-         * var m = Cesium.Matrix3.fromUniformScale(2.0);
-         */
-        Matrix3.fromUniformScale = function(scale, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('scale', scale);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Matrix3(
-                    scale, 0.0,   0.0,
-                    0.0,   scale, 0.0,
-                    0.0,   0.0,   scale);
-            }
-
-            result[0] = scale;
-            result[1] = 0.0;
-            result[2] = 0.0;
-            result[3] = 0.0;
-            result[4] = scale;
-            result[5] = 0.0;
-            result[6] = 0.0;
-            result[7] = 0.0;
-            result[8] = scale;
-            return result;
-        };
-
-        /**
-         * Computes a Matrix3 instance representing the cross product equivalent matrix of a Cartesian3 vector.
-         *
-         * @param {Cartesian3} vector the vector on the left hand side of the cross product operation.
-         * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
-         *
-         * @example
-         * // Creates
-         * //   [0.0, -9.0,  8.0]
-         * //   [9.0,  0.0, -7.0]
-         * //   [-8.0, 7.0,  0.0]
-         * var m = Cesium.Matrix3.fromCrossProduct(new Cesium.Cartesian3(7.0, 8.0, 9.0));
-         */
-        Matrix3.fromCrossProduct = function(vector, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('vector', vector);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Matrix3(
-                          0.0, -vector.z,  vector.y,
-                     vector.z,       0.0, -vector.x,
-                    -vector.y,  vector.x,       0.0);
-            }
-
-            result[0] = 0.0;
-            result[1] = vector.z;
-            result[2] = -vector.y;
-            result[3] = -vector.z;
-            result[4] = 0.0;
-            result[5] = vector.x;
-            result[6] = vector.y;
-            result[7] = -vector.x;
-            result[8] = 0.0;
-            return result;
-        };
-
-        /**
-         * Creates a rotation matrix around the x-axis.
-         *
-         * @param {Number} angle The angle, in radians, of the rotation.  Positive angles are counterclockwise.
-         * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
-         *
-         * @example
-         * // Rotate a point 45 degrees counterclockwise around the x-axis.
-         * var p = new Cesium.Cartesian3(5, 6, 7);
-         * var m = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(45.0));
-         * var rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());
-         */
-        Matrix3.fromRotationX = function(angle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('angle', angle);
-            //>>includeEnd('debug');
-
-            var cosAngle = Math.cos(angle);
-            var sinAngle = Math.sin(angle);
-
-            if (!when.defined(result)) {
-                return new Matrix3(
-                    1.0, 0.0, 0.0,
-                    0.0, cosAngle, -sinAngle,
-                    0.0, sinAngle, cosAngle);
-            }
-
-            result[0] = 1.0;
-            result[1] = 0.0;
-            result[2] = 0.0;
-            result[3] = 0.0;
-            result[4] = cosAngle;
-            result[5] = sinAngle;
-            result[6] = 0.0;
-            result[7] = -sinAngle;
-            result[8] = cosAngle;
-
-            return result;
-        };
-
-        /**
-         * Creates a rotation matrix around the y-axis.
-         *
-         * @param {Number} angle The angle, in radians, of the rotation.  Positive angles are counterclockwise.
-         * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
-         *
-         * @example
-         * // Rotate a point 45 degrees counterclockwise around the y-axis.
-         * var p = new Cesium.Cartesian3(5, 6, 7);
-         * var m = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(45.0));
-         * var rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());
-         */
-        Matrix3.fromRotationY = function(angle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('angle', angle);
-            //>>includeEnd('debug');
-
-            var cosAngle = Math.cos(angle);
-            var sinAngle = Math.sin(angle);
-
-            if (!when.defined(result)) {
-                return new Matrix3(
-                    cosAngle, 0.0, sinAngle,
-                    0.0, 1.0, 0.0,
-                    -sinAngle, 0.0, cosAngle);
-            }
-
-            result[0] = cosAngle;
-            result[1] = 0.0;
-            result[2] = -sinAngle;
-            result[3] = 0.0;
-            result[4] = 1.0;
-            result[5] = 0.0;
-            result[6] = sinAngle;
-            result[7] = 0.0;
-            result[8] = cosAngle;
-
-            return result;
-        };
-
-        /**
-         * Creates a rotation matrix around the z-axis.
-         *
-         * @param {Number} angle The angle, in radians, of the rotation.  Positive angles are counterclockwise.
-         * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
-         *
-         * @example
-         * // Rotate a point 45 degrees counterclockwise around the z-axis.
-         * var p = new Cesium.Cartesian3(5, 6, 7);
-         * var m = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(45.0));
-         * var rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());
-         */
-        Matrix3.fromRotationZ = function(angle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('angle', angle);
-            //>>includeEnd('debug');
-
-            var cosAngle = Math.cos(angle);
-            var sinAngle = Math.sin(angle);
-
-            if (!when.defined(result)) {
-                return new Matrix3(
-                    cosAngle, -sinAngle, 0.0,
-                    sinAngle, cosAngle, 0.0,
-                    0.0, 0.0, 1.0);
-            }
-
-            result[0] = cosAngle;
-            result[1] = sinAngle;
-            result[2] = 0.0;
-            result[3] = -sinAngle;
-            result[4] = cosAngle;
-            result[5] = 0.0;
-            result[6] = 0.0;
-            result[7] = 0.0;
-            result[8] = 1.0;
-
-            return result;
-        };
-
-        /**
-         * Creates an Array from the provided Matrix3 instance.
-         * The array will be in column-major order.
-         *
-         * @param {Matrix3} matrix The matrix to use..
-         * @param {Number[]} [result] The Array onto which to store the result.
-         * @returns {Number[]} The modified Array parameter or a new Array instance if one was not provided.
-         */
-        Matrix3.toArray = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return [matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5], matrix[6], matrix[7], matrix[8]];
-            }
-            result[0] = matrix[0];
-            result[1] = matrix[1];
-            result[2] = matrix[2];
-            result[3] = matrix[3];
-            result[4] = matrix[4];
-            result[5] = matrix[5];
-            result[6] = matrix[6];
-            result[7] = matrix[7];
-            result[8] = matrix[8];
-            return result;
-        };
-
-        /**
-         * Computes the array index of the element at the provided row and column.
-         *
-         * @param {Number} row The zero-based index of the row.
-         * @param {Number} column The zero-based index of the column.
-         * @returns {Number} The index of the element at the provided row and column.
-         *
-         * @exception {DeveloperError} row must be 0, 1, or 2.
-         * @exception {DeveloperError} column must be 0, 1, or 2.
-         *
-         * @example
-         * var myMatrix = new Cesium.Matrix3();
-         * var column1Row0Index = Cesium.Matrix3.getElementIndex(1, 0);
-         * var column1Row0 = myMatrix[column1Row0Index]
-         * myMatrix[column1Row0Index] = 10.0;
-         */
-        Matrix3.getElementIndex = function(column, row) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number.greaterThanOrEquals('row', row, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('row', row, 2);
-            Check.Check.typeOf.number.greaterThanOrEquals('column', column, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('column', column, 2);
-            //>>includeEnd('debug');
-
-            return column * 3 + row;
-        };
-
-        /**
-         * Retrieves a copy of the matrix column at the provided index as a Cartesian3 instance.
-         *
-         * @param {Matrix3} matrix The matrix to use.
-         * @param {Number} index The zero-based index of the column to retrieve.
-         * @param {Cartesian3} result The object onto which to store the result.
-         * @returns {Cartesian3} The modified result parameter.
-         *
-         * @exception {DeveloperError} index must be 0, 1, or 2.
-         */
-        Matrix3.getColumn = function(matrix, index, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('index', index, 2);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var startIndex = index * 3;
-            var x = matrix[startIndex];
-            var y = matrix[startIndex + 1];
-            var z = matrix[startIndex + 2];
-
-            result.x = x;
-            result.y = y;
-            result.z = z;
-            return result;
-        };
-
-        /**
-         * Computes a new matrix that replaces the specified column in the provided matrix with the provided Cartesian3 instance.
-         *
-         * @param {Matrix3} matrix The matrix to use.
-         * @param {Number} index The zero-based index of the column to set.
-         * @param {Cartesian3} cartesian The Cartesian whose values will be assigned to the specified column.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         *
-         * @exception {DeveloperError} index must be 0, 1, or 2.
-         */
-        Matrix3.setColumn = function(matrix, index, cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('index', index, 2);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result = Matrix3.clone(matrix, result);
-            var startIndex = index * 3;
-            result[startIndex] = cartesian.x;
-            result[startIndex + 1] = cartesian.y;
-            result[startIndex + 2] = cartesian.z;
-            return result;
-        };
-
-        /**
-         * Retrieves a copy of the matrix row at the provided index as a Cartesian3 instance.
-         *
-         * @param {Matrix3} matrix The matrix to use.
-         * @param {Number} index The zero-based index of the row to retrieve.
-         * @param {Cartesian3} result The object onto which to store the result.
-         * @returns {Cartesian3} The modified result parameter.
-         *
-         * @exception {DeveloperError} index must be 0, 1, or 2.
-         */
-        Matrix3.getRow = function(matrix, index, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('index', index, 2);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var x = matrix[index];
-            var y = matrix[index + 3];
-            var z = matrix[index + 6];
-
-            result.x = x;
-            result.y = y;
-            result.z = z;
-            return result;
-        };
-
-        /**
-         * Computes a new matrix that replaces the specified row in the provided matrix with the provided Cartesian3 instance.
-         *
-         * @param {Matrix3} matrix The matrix to use.
-         * @param {Number} index The zero-based index of the row to set.
-         * @param {Cartesian3} cartesian The Cartesian whose values will be assigned to the specified row.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         *
-         * @exception {DeveloperError} index must be 0, 1, or 2.
-         */
-        Matrix3.setRow = function(matrix, index, cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('index', index, 2);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result = Matrix3.clone(matrix, result);
-            result[index] = cartesian.x;
-            result[index + 3] = cartesian.y;
-            result[index + 6] = cartesian.z;
-            return result;
-        };
-
-        var scratchColumn = new Cartesian2.Cartesian3();
-
-        /**
-         * Extracts the non-uniform scale assuming the matrix is an affine transformation.
-         *
-         * @param {Matrix3} matrix The matrix.
-         * @param {Cartesian3} result The object onto which to store the result.
-         * @returns {Cartesian3} The modified result parameter.
-         */
-        Matrix3.getScale = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.fromElements(matrix[0], matrix[1], matrix[2], scratchColumn));
-            result.y = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.fromElements(matrix[3], matrix[4], matrix[5], scratchColumn));
-            result.z = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.fromElements(matrix[6], matrix[7], matrix[8], scratchColumn));
-            return result;
-        };
-
-        var scratchScale = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes the maximum scale assuming the matrix is an affine transformation.
-         * The maximum scale is the maximum length of the column vectors.
-         *
-         * @param {Matrix3} matrix The matrix.
-         * @returns {Number} The maximum scale.
-         */
-        Matrix3.getMaximumScale = function(matrix) {
-            Matrix3.getScale(matrix, scratchScale);
-            return Cartesian2.Cartesian3.maximumComponent(scratchScale);
-        };
-
-        /**
-         * Computes the product of two matrices.
-         *
-         * @param {Matrix3} left The first matrix.
-         * @param {Matrix3} right The second matrix.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         */
-        Matrix3.multiply = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var column0Row0 = left[0] * right[0] + left[3] * right[1] + left[6] * right[2];
-            var column0Row1 = left[1] * right[0] + left[4] * right[1] + left[7] * right[2];
-            var column0Row2 = left[2] * right[0] + left[5] * right[1] + left[8] * right[2];
-
-            var column1Row0 = left[0] * right[3] + left[3] * right[4] + left[6] * right[5];
-            var column1Row1 = left[1] * right[3] + left[4] * right[4] + left[7] * right[5];
-            var column1Row2 = left[2] * right[3] + left[5] * right[4] + left[8] * right[5];
-
-            var column2Row0 = left[0] * right[6] + left[3] * right[7] + left[6] * right[8];
-            var column2Row1 = left[1] * right[6] + left[4] * right[7] + left[7] * right[8];
-            var column2Row2 = left[2] * right[6] + left[5] * right[7] + left[8] * right[8];
-
-            result[0] = column0Row0;
-            result[1] = column0Row1;
-            result[2] = column0Row2;
-            result[3] = column1Row0;
-            result[4] = column1Row1;
-            result[5] = column1Row2;
-            result[6] = column2Row0;
-            result[7] = column2Row1;
-            result[8] = column2Row2;
-            return result;
-        };
-
-        /**
-         * Computes the sum of two matrices.
-         *
-         * @param {Matrix3} left The first matrix.
-         * @param {Matrix3} right The second matrix.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         */
-        Matrix3.add = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = left[0] + right[0];
-            result[1] = left[1] + right[1];
-            result[2] = left[2] + right[2];
-            result[3] = left[3] + right[3];
-            result[4] = left[4] + right[4];
-            result[5] = left[5] + right[5];
-            result[6] = left[6] + right[6];
-            result[7] = left[7] + right[7];
-            result[8] = left[8] + right[8];
-            return result;
-        };
-
-        /**
-         * Computes the difference of two matrices.
-         *
-         * @param {Matrix3} left The first matrix.
-         * @param {Matrix3} right The second matrix.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         */
-        Matrix3.subtract = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = left[0] - right[0];
-            result[1] = left[1] - right[1];
-            result[2] = left[2] - right[2];
-            result[3] = left[3] - right[3];
-            result[4] = left[4] - right[4];
-            result[5] = left[5] - right[5];
-            result[6] = left[6] - right[6];
-            result[7] = left[7] - right[7];
-            result[8] = left[8] - right[8];
-            return result;
-        };
-
-        /**
-         * Computes the product of a matrix and a column vector.
-         *
-         * @param {Matrix3} matrix The matrix.
-         * @param {Cartesian3} cartesian The column.
-         * @param {Cartesian3} result The object onto which to store the result.
-         * @returns {Cartesian3} The modified result parameter.
-         */
-        Matrix3.multiplyByVector = function(matrix, cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var vX = cartesian.x;
-            var vY = cartesian.y;
-            var vZ = cartesian.z;
-
-            var x = matrix[0] * vX + matrix[3] * vY + matrix[6] * vZ;
-            var y = matrix[1] * vX + matrix[4] * vY + matrix[7] * vZ;
-            var z = matrix[2] * vX + matrix[5] * vY + matrix[8] * vZ;
-
-            result.x = x;
-            result.y = y;
-            result.z = z;
-            return result;
-        };
-
-        /**
-         * Computes the product of a matrix and a scalar.
-         *
-         * @param {Matrix3} matrix The matrix.
-         * @param {Number} scalar The number to multiply by.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         */
-        Matrix3.multiplyByScalar = function(matrix, scalar, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.number('scalar', scalar);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = matrix[0] * scalar;
-            result[1] = matrix[1] * scalar;
-            result[2] = matrix[2] * scalar;
-            result[3] = matrix[3] * scalar;
-            result[4] = matrix[4] * scalar;
-            result[5] = matrix[5] * scalar;
-            result[6] = matrix[6] * scalar;
-            result[7] = matrix[7] * scalar;
-            result[8] = matrix[8] * scalar;
-            return result;
-        };
-
-        /**
-         * Computes the product of a matrix times a (non-uniform) scale, as if the scale were a scale matrix.
-         *
-         * @param {Matrix3} matrix The matrix on the left-hand side.
-         * @param {Cartesian3} scale The non-uniform scale on the right-hand side.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         *
-         *
-         * @example
-         * // Instead of Cesium.Matrix3.multiply(m, Cesium.Matrix3.fromScale(scale), m);
-         * Cesium.Matrix3.multiplyByScale(m, scale, m);
-         *
-         * @see Matrix3.fromScale
-         * @see Matrix3.multiplyByUniformScale
-         */
-        Matrix3.multiplyByScale = function(matrix, scale, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('scale', scale);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = matrix[0] * scale.x;
-            result[1] = matrix[1] * scale.x;
-            result[2] = matrix[2] * scale.x;
-            result[3] = matrix[3] * scale.y;
-            result[4] = matrix[4] * scale.y;
-            result[5] = matrix[5] * scale.y;
-            result[6] = matrix[6] * scale.z;
-            result[7] = matrix[7] * scale.z;
-            result[8] = matrix[8] * scale.z;
-            return result;
-        };
-
-        /**
-         * Creates a negated copy of the provided matrix.
-         *
-         * @param {Matrix3} matrix The matrix to negate.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         */
-        Matrix3.negate = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = -matrix[0];
-            result[1] = -matrix[1];
-            result[2] = -matrix[2];
-            result[3] = -matrix[3];
-            result[4] = -matrix[4];
-            result[5] = -matrix[5];
-            result[6] = -matrix[6];
-            result[7] = -matrix[7];
-            result[8] = -matrix[8];
-            return result;
-        };
-
-        /**
-         * Computes the transpose of the provided matrix.
-         *
-         * @param {Matrix3} matrix The matrix to transpose.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         */
-        Matrix3.transpose = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var column0Row0 = matrix[0];
-            var column0Row1 = matrix[3];
-            var column0Row2 = matrix[6];
-            var column1Row0 = matrix[1];
-            var column1Row1 = matrix[4];
-            var column1Row2 = matrix[7];
-            var column2Row0 = matrix[2];
-            var column2Row1 = matrix[5];
-            var column2Row2 = matrix[8];
-
-            result[0] = column0Row0;
-            result[1] = column0Row1;
-            result[2] = column0Row2;
-            result[3] = column1Row0;
-            result[4] = column1Row1;
-            result[5] = column1Row2;
-            result[6] = column2Row0;
-            result[7] = column2Row1;
-            result[8] = column2Row2;
-            return result;
-        };
-
-        var UNIT = new Cartesian2.Cartesian3(1, 1, 1);
-
-        /**
-         * Extracts the rotation assuming the matrix is an affine transformation.
-         *
-         * @param {Matrix3} matrix The matrix.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter
-         */
-        Matrix3.getRotation = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var inverseScale = Cartesian2.Cartesian3.divideComponents(UNIT, Matrix3.getScale(matrix, scratchScale), scratchScale);
-            result = Matrix3.multiplyByScale(matrix, inverseScale, result);
-
-            return result;
-        };
-
-        function computeFrobeniusNorm(matrix) {
-            var norm = 0.0;
-            for (var i = 0; i < 9; ++i) {
-                var temp = matrix[i];
-                norm += temp * temp;
-            }
-
-            return Math.sqrt(norm);
-        }
-
-        var rowVal = [1, 0, 0];
-        var colVal = [2, 2, 1];
-
-        function offDiagonalFrobeniusNorm(matrix) {
-            // Computes the "off-diagonal" Frobenius norm.
-            // Assumes matrix is symmetric.
-
-            var norm = 0.0;
-            for (var i = 0; i < 3; ++i) {
-                var temp = matrix[Matrix3.getElementIndex(colVal[i], rowVal[i])];
-                norm += 2.0 * temp * temp;
-            }
-
-            return Math.sqrt(norm);
-        }
-
-        function shurDecomposition(matrix, result) {
-            // This routine was created based upon Matrix Computations, 3rd ed., by Golub and Van Loan,
-            // section 8.4.2 The 2by2 Symmetric Schur Decomposition.
-            //
-            // The routine takes a matrix, which is assumed to be symmetric, and
-            // finds the largest off-diagonal term, and then creates
-            // a matrix (result) which can be used to help reduce it
-
-            var tolerance = _Math.CesiumMath.EPSILON15;
-
-            var maxDiagonal = 0.0;
-            var rotAxis = 1;
-
-            // find pivot (rotAxis) based on max diagonal of matrix
-            for (var i = 0; i < 3; ++i) {
-                var temp = Math.abs(matrix[Matrix3.getElementIndex(colVal[i], rowVal[i])]);
-                if (temp > maxDiagonal) {
-                    rotAxis = i;
-                    maxDiagonal = temp;
-                }
-            }
-
-            var c = 1.0;
-            var s = 0.0;
-
-            var p = rowVal[rotAxis];
-            var q = colVal[rotAxis];
-
-            if (Math.abs(matrix[Matrix3.getElementIndex(q, p)]) > tolerance) {
-                var qq = matrix[Matrix3.getElementIndex(q, q)];
-                var pp = matrix[Matrix3.getElementIndex(p, p)];
-                var qp = matrix[Matrix3.getElementIndex(q, p)];
-
-                var tau = (qq - pp) / 2.0 / qp;
-                var t;
-
-                if (tau < 0.0) {
-                    t = -1.0 / (-tau + Math.sqrt(1.0 + tau * tau));
-                } else {
-                    t = 1.0 / (tau + Math.sqrt(1.0 + tau * tau));
-                }
-
-                c = 1.0 / Math.sqrt(1.0 + t * t);
-                s = t * c;
-            }
-
-            result = Matrix3.clone(Matrix3.IDENTITY, result);
-
-            result[Matrix3.getElementIndex(p, p)] = result[Matrix3.getElementIndex(q, q)] = c;
-            result[Matrix3.getElementIndex(q, p)] = s;
-            result[Matrix3.getElementIndex(p, q)] = -s;
-
-            return result;
-        }
-
-        var jMatrix = new Matrix3();
-        var jMatrixTranspose = new Matrix3();
-
-        /**
-         * Computes the eigenvectors and eigenvalues of a symmetric matrix.
-         * <p>
-         * Returns a diagonal matrix and unitary matrix such that:
-         * <code>matrix = unitary matrix * diagonal matrix * transpose(unitary matrix)</code>
-         * </p>
-         * <p>
-         * The values along the diagonal of the diagonal matrix are the eigenvalues. The columns
-         * of the unitary matrix are the corresponding eigenvectors.
-         * </p>
-         *
-         * @param {Matrix3} matrix The matrix to decompose into diagonal and unitary matrix. Expected to be symmetric.
-         * @param {Object} [result] An object with unitary and diagonal properties which are matrices onto which to store the result.
-         * @returns {Object} An object with unitary and diagonal properties which are the unitary and diagonal matrices, respectively.
-         *
-         * @example
-         * var a = //... symetric matrix
-         * var result = {
-         *     unitary : new Cesium.Matrix3(),
-         *     diagonal : new Cesium.Matrix3()
-         * };
-         * Cesium.Matrix3.computeEigenDecomposition(a, result);
-         *
-         * var unitaryTranspose = Cesium.Matrix3.transpose(result.unitary, new Cesium.Matrix3());
-         * var b = Cesium.Matrix3.multiply(result.unitary, result.diagonal, new Cesium.Matrix3());
-         * Cesium.Matrix3.multiply(b, unitaryTranspose, b); // b is now equal to a
-         *
-         * var lambda = Cesium.Matrix3.getColumn(result.diagonal, 0, new Cesium.Cartesian3()).x;  // first eigenvalue
-         * var v = Cesium.Matrix3.getColumn(result.unitary, 0, new Cesium.Cartesian3());          // first eigenvector
-         * var c = Cesium.Cartesian3.multiplyByScalar(v, lambda, new Cesium.Cartesian3());        // equal to Cesium.Matrix3.multiplyByVector(a, v)
-         */
-        Matrix3.computeEigenDecomposition = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            //>>includeEnd('debug');
-
-            // This routine was created based upon Matrix Computations, 3rd ed., by Golub and Van Loan,
-            // section 8.4.3 The Classical Jacobi Algorithm
-
-            var tolerance = _Math.CesiumMath.EPSILON20;
-            var maxSweeps = 10;
-
-            var count = 0;
-            var sweep = 0;
-
-            if (!when.defined(result)) {
-                result = {};
-            }
-
-            var unitaryMatrix = result.unitary = Matrix3.clone(Matrix3.IDENTITY, result.unitary);
-            var diagMatrix = result.diagonal = Matrix3.clone(matrix, result.diagonal);
-
-            var epsilon = tolerance * computeFrobeniusNorm(diagMatrix);
-
-            while (sweep < maxSweeps && offDiagonalFrobeniusNorm(diagMatrix) > epsilon) {
-                shurDecomposition(diagMatrix, jMatrix);
-                Matrix3.transpose(jMatrix, jMatrixTranspose);
-                Matrix3.multiply(diagMatrix, jMatrix, diagMatrix);
-                Matrix3.multiply(jMatrixTranspose, diagMatrix, diagMatrix);
-                Matrix3.multiply(unitaryMatrix, jMatrix, unitaryMatrix);
-
-                if (++count > 2) {
-                    ++sweep;
-                    count = 0;
-                }
-            }
-
-            return result;
-        };
-
-        /**
-         * Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements.
-         *
-         * @param {Matrix3} matrix The matrix with signed elements.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         */
-        Matrix3.abs = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = Math.abs(matrix[0]);
-            result[1] = Math.abs(matrix[1]);
-            result[2] = Math.abs(matrix[2]);
-            result[3] = Math.abs(matrix[3]);
-            result[4] = Math.abs(matrix[4]);
-            result[5] = Math.abs(matrix[5]);
-            result[6] = Math.abs(matrix[6]);
-            result[7] = Math.abs(matrix[7]);
-            result[8] = Math.abs(matrix[8]);
-
-            return result;
-        };
-
-        /**
-         * Computes the determinant of the provided matrix.
-         *
-         * @param {Matrix3} matrix The matrix to use.
-         * @returns {Number} The value of the determinant of the matrix.
-         */
-        Matrix3.determinant = function(matrix) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            //>>includeEnd('debug');
-
-            var m11 = matrix[0];
-            var m21 = matrix[3];
-            var m31 = matrix[6];
-            var m12 = matrix[1];
-            var m22 = matrix[4];
-            var m32 = matrix[7];
-            var m13 = matrix[2];
-            var m23 = matrix[5];
-            var m33 = matrix[8];
-
-            return m11 * (m22 * m33 - m23 * m32) + m12 * (m23 * m31 - m21 * m33) + m13 * (m21 * m32 - m22 * m31);
-        };
-
-        /**
-         * Computes the inverse of the provided matrix.
-         *
-         * @param {Matrix3} matrix The matrix to invert.
-         * @param {Matrix3} result The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter.
-         *
-         * @exception {DeveloperError} matrix is not invertible.
-         */
-        Matrix3.inverse = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var m11 = matrix[0];
-            var m21 = matrix[1];
-            var m31 = matrix[2];
-            var m12 = matrix[3];
-            var m22 = matrix[4];
-            var m32 = matrix[5];
-            var m13 = matrix[6];
-            var m23 = matrix[7];
-            var m33 = matrix[8];
-
-            var determinant = Matrix3.determinant(matrix);
-
-            //>>includeStart('debug', pragmas.debug);
-            if (Math.abs(determinant) <= _Math.CesiumMath.EPSILON15) {
-                throw new Check.DeveloperError('matrix is not invertible');
-            }
-            //>>includeEnd('debug');
-
-            result[0] = m22 * m33 - m23 * m32;
-            result[1] = m23 * m31 - m21 * m33;
-            result[2] = m21 * m32 - m22 * m31;
-            result[3] = m13 * m32 - m12 * m33;
-            result[4] = m11 * m33 - m13 * m31;
-            result[5] = m12 * m31 - m11 * m32;
-            result[6] = m12 * m23 - m13 * m22;
-            result[7] = m13 * m21 - m11 * m23;
-            result[8] = m11 * m22 - m12 * m21;
-
-           var scale = 1.0 / determinant;
-           return Matrix3.multiplyByScalar(result, scale, result);
-        };
-
-        /**
-         * Compares the provided matrices componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Matrix3} [left] The first matrix.
-         * @param {Matrix3} [right] The second matrix.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        Matrix3.equals = function(left, right) {
-            return (left === right) ||
-                   (when.defined(left) &&
-                    when.defined(right) &&
-                    left[0] === right[0] &&
-                    left[1] === right[1] &&
-                    left[2] === right[2] &&
-                    left[3] === right[3] &&
-                    left[4] === right[4] &&
-                    left[5] === right[5] &&
-                    left[6] === right[6] &&
-                    left[7] === right[7] &&
-                    left[8] === right[8]);
-        };
-
-        /**
-         * Compares the provided matrices componentwise and returns
-         * <code>true</code> if they are within the provided epsilon,
-         * <code>false</code> otherwise.
-         *
-         * @param {Matrix3} [left] The first matrix.
-         * @param {Matrix3} [right] The second matrix.
-         * @param {Number} epsilon The epsilon to use for equality testing.
-         * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Matrix3.equalsEpsilon = function(left, right, epsilon) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('epsilon', epsilon);
-            //>>includeEnd('debug');
-
-            return (left === right) ||
-                    (when.defined(left) &&
-                    when.defined(right) &&
-                    Math.abs(left[0] - right[0]) <= epsilon &&
-                    Math.abs(left[1] - right[1]) <= epsilon &&
-                    Math.abs(left[2] - right[2]) <= epsilon &&
-                    Math.abs(left[3] - right[3]) <= epsilon &&
-                    Math.abs(left[4] - right[4]) <= epsilon &&
-                    Math.abs(left[5] - right[5]) <= epsilon &&
-                    Math.abs(left[6] - right[6]) <= epsilon &&
-                    Math.abs(left[7] - right[7]) <= epsilon &&
-                    Math.abs(left[8] - right[8]) <= epsilon);
-        };
-
-        /**
-         * An immutable Matrix3 instance initialized to the identity matrix.
-         *
-         * @type {Matrix3}
-         * @constant
-         */
-        Matrix3.IDENTITY = Object.freeze(new Matrix3(1.0, 0.0, 0.0,
-                                                    0.0, 1.0, 0.0,
-                                                    0.0, 0.0, 1.0));
-
-        /**
-         * An immutable Matrix3 instance initialized to the zero matrix.
-         *
-         * @type {Matrix3}
-         * @constant
-         */
-        Matrix3.ZERO = Object.freeze(new Matrix3(0.0, 0.0, 0.0,
-                                                0.0, 0.0, 0.0,
-                                                0.0, 0.0, 0.0));
-
-        /**
-         * The index into Matrix3 for column 0, row 0.
-         *
-         * @type {Number}
-         * @constant
-         */
-        Matrix3.COLUMN0ROW0 = 0;
-
-        /**
-         * The index into Matrix3 for column 0, row 1.
-         *
-         * @type {Number}
-         * @constant
-         */
-        Matrix3.COLUMN0ROW1 = 1;
-
-        /**
-         * The index into Matrix3 for column 0, row 2.
-         *
-         * @type {Number}
-         * @constant
-         */
-        Matrix3.COLUMN0ROW2 = 2;
-
-        /**
-         * The index into Matrix3 for column 1, row 0.
-         *
-         * @type {Number}
-         * @constant
-         */
-        Matrix3.COLUMN1ROW0 = 3;
-
-        /**
-         * The index into Matrix3 for column 1, row 1.
-         *
-         * @type {Number}
-         * @constant
-         */
-        Matrix3.COLUMN1ROW1 = 4;
-
-        /**
-         * The index into Matrix3 for column 1, row 2.
-         *
-         * @type {Number}
-         * @constant
-         */
-        Matrix3.COLUMN1ROW2 = 5;
-
-        /**
-         * The index into Matrix3 for column 2, row 0.
-         *
-         * @type {Number}
-         * @constant
-         */
-        Matrix3.COLUMN2ROW0 = 6;
-
-        /**
-         * The index into Matrix3 for column 2, row 1.
-         *
-         * @type {Number}
-         * @constant
-         */
-        Matrix3.COLUMN2ROW1 = 7;
-
-        /**
-         * The index into Matrix3 for column 2, row 2.
-         *
-         * @type {Number}
-         * @constant
-         */
-        Matrix3.COLUMN2ROW2 = 8;
-
-        Object.defineProperties(Matrix3.prototype, {
-            /**
-             * Gets the number of items in the collection.
-             * @memberof Matrix3.prototype
-             *
-             * @type {Number}
-             */
-            length : {
-                get : function() {
-                    return Matrix3.packedLength;
-                }
-            }
-        });
-
-        /**
-         * Duplicates the provided Matrix3 instance.
-         *
-         * @param {Matrix3} [result] The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter or a new Matrix3 instance if one was not provided.
-         */
-        Matrix3.prototype.clone = function(result) {
-            return Matrix3.clone(this, result);
-        };
-
-        /**
-         * Compares this matrix to the provided matrix componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Matrix3} [right] The right hand side matrix.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        Matrix3.prototype.equals = function(right) {
-            return Matrix3.equals(this, right);
-        };
-
-        /**
-         * @private
-         */
-        Matrix3.equalsArray = function(matrix, array, offset) {
-            return matrix[0] === array[offset] &&
-                   matrix[1] === array[offset + 1] &&
-                   matrix[2] === array[offset + 2] &&
-                   matrix[3] === array[offset + 3] &&
-                   matrix[4] === array[offset + 4] &&
-                   matrix[5] === array[offset + 5] &&
-                   matrix[6] === array[offset + 6] &&
-                   matrix[7] === array[offset + 7] &&
-                   matrix[8] === array[offset + 8];
-        };
-
-        /**
-         * Compares this matrix to the provided matrix componentwise and returns
-         * <code>true</code> if they are within the provided epsilon,
-         * <code>false</code> otherwise.
-         *
-         * @param {Matrix3} [right] The right hand side matrix.
-         * @param {Number} epsilon The epsilon to use for equality testing.
-         * @returns {Boolean} <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Matrix3.prototype.equalsEpsilon = function(right, epsilon) {
-            return Matrix3.equalsEpsilon(this, right, epsilon);
-        };
-
-        /**
-         * Creates a string representing this Matrix with each row being
-         * on a separate line and in the format '(column0, column1, column2)'.
-         *
-         * @returns {String} A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2)'.
-         */
-        Matrix3.prototype.toString = function() {
-            return '(' + this[0] + ', ' + this[3] + ', ' + this[6] + ')\n' +
-                   '(' + this[1] + ', ' + this[4] + ', ' + this[7] + ')\n' +
-                   '(' + this[2] + ', ' + this[5] + ', ' + this[8] + ')';
-        };
-
-    /**
-         * A 4D Cartesian point.
-         * @alias Cartesian4
-         * @constructor
-         *
-         * @param {Number} [x=0.0] The X component.
-         * @param {Number} [y=0.0] The Y component.
-         * @param {Number} [z=0.0] The Z component.
-         * @param {Number} [w=0.0] The W component.
-         *
-         * @see Cartesian2
-         * @see Cartesian3
-         * @see Packable
-         */
-        function Cartesian4(x, y, z, w) {
-            /**
-             * The X component.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.x = when.defaultValue(x, 0.0);
-
-            /**
-             * The Y component.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.y = when.defaultValue(y, 0.0);
-
-            /**
-             * The Z component.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.z = when.defaultValue(z, 0.0);
-
-            /**
-             * The W component.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.w = when.defaultValue(w, 0.0);
-        }
-
-        /**
-         * Creates a Cartesian4 instance from x, y, z and w coordinates.
-         *
-         * @param {Number} x The x coordinate.
-         * @param {Number} y The y coordinate.
-         * @param {Number} z The z coordinate.
-         * @param {Number} w The w coordinate.
-         * @param {Cartesian4} [result] The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter or a new Cartesian4 instance if one was not provided.
-         */
-        Cartesian4.fromElements = function(x, y, z, w, result) {
-            if (!when.defined(result)) {
-                return new Cartesian4(x, y, z, w);
-            }
-
-            result.x = x;
-            result.y = y;
-            result.z = z;
-            result.w = w;
-            return result;
-        };
-
-        /**
-         * Creates a Cartesian4 instance from a {@link Color}. <code>red</code>, <code>green</code>, <code>blue</code>,
-         * and <code>alpha</code> map to <code>x</code>, <code>y</code>, <code>z</code>, and <code>w</code>, respectively.
-         *
-         * @param {Color} color The source color.
-         * @param {Cartesian4} [result] The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter or a new Cartesian4 instance if one was not provided.
-         */
-        Cartesian4.fromColor = function(color, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('color', color);
-            //>>includeEnd('debug');
-            if (!when.defined(result)) {
-                return new Cartesian4(color.red, color.green, color.blue, color.alpha);
-            }
-
-            result.x = color.red;
-            result.y = color.green;
-            result.z = color.blue;
-            result.w = color.alpha;
-            return result;
-        };
-
-        /**
-         * Duplicates a Cartesian4 instance.
-         *
-         * @param {Cartesian4} cartesian The Cartesian to duplicate.
-         * @param {Cartesian4} [result] The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter or a new Cartesian4 instance if one was not provided. (Returns undefined if cartesian is undefined)
-         */
-        Cartesian4.clone = function(cartesian, result) {
-            if (!when.defined(cartesian)) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                return new Cartesian4(cartesian.x, cartesian.y, cartesian.z, cartesian.w);
-            }
-
-            result.x = cartesian.x;
-            result.y = cartesian.y;
-            result.z = cartesian.z;
-            result.w = cartesian.w;
-            return result;
-        };
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        Cartesian4.packedLength = 4;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {Cartesian4} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        Cartesian4.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            array[startingIndex++] = value.x;
-            array[startingIndex++] = value.y;
-            array[startingIndex++] = value.z;
-            array[startingIndex] = value.w;
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {Cartesian4} [result] The object into which to store the result.
-         * @returns {Cartesian4}  The modified result parameter or a new Cartesian4 instance if one was not provided.
-         */
-        Cartesian4.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new Cartesian4();
-            }
-            result.x = array[startingIndex++];
-            result.y = array[startingIndex++];
-            result.z = array[startingIndex++];
-            result.w = array[startingIndex];
-            return result;
-        };
-
-        /**
-         * Flattens an array of Cartesian4s into and array of components.
-         *
-         * @param {Cartesian4[]} array The array of cartesians to pack.
-         * @param {Number[]} [result] The array onto which to store the result. If this is a typed array, it must have array.length * 4 components, else a {@link DeveloperError} will be thrown. If it is a regular array, it will be resized to have (array.length * 4) elements.
-
-         * @returns {Number[]} The packed array.
-         */
-        Cartesian4.packArray = function(array, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            var length = array.length;
-            var resultLength = length * 4;
-            if (!when.defined(result)) {
-                result = new Array(resultLength);
-            } else if (!Array.isArray(result) && result.length !== resultLength) {
-                throw new Check.DeveloperError('If result is a typed array, it must have exactly array.length * 4 elements');
-            } else if (result.length !== resultLength) {
-                result.length = resultLength;
-            }
-
-            for (var i = 0; i < length; ++i) {
-                Cartesian4.pack(array[i], result, i * 4);
-            }
-            return result;
-        };
-
-        /**
-         * Unpacks an array of cartesian components into and array of Cartesian4s.
-         *
-         * @param {Number[]} array The array of components to unpack.
-         * @param {Cartesian4[]} [result] The array onto which to store the result.
-         * @returns {Cartesian4[]} The unpacked array.
-         */
-        Cartesian4.unpackArray = function(array, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            Check.Check.typeOf.number.greaterThanOrEquals('array.length', array.length, 4);
-            if (array.length % 4 !== 0) {
-                throw new Check.DeveloperError('array length must be a multiple of 4.');
-            }
-            //>>includeEnd('debug');
-
-            var length = array.length;
-            if (!when.defined(result)) {
-                result = new Array(length / 4);
-            } else {
-                result.length = length / 4;
-            }
-
-            for (var i = 0; i < length; i += 4) {
-                var index = i / 4;
-                result[index] = Cartesian4.unpack(array, i, result[index]);
-            }
-            return result;
-        };
-
-        /**
-         * Creates a Cartesian4 from four consecutive elements in an array.
-         * @function
-         *
-         * @param {Number[]} array The array whose four consecutive elements correspond to the x, y, z, and w components, respectively.
-         * @param {Number} [startingIndex=0] The offset into the array of the first element, which corresponds to the x component.
-         * @param {Cartesian4} [result] The object onto which to store the result.
-         * @returns {Cartesian4}  The modified result parameter or a new Cartesian4 instance if one was not provided.
-         *
-         * @example
-         * // Create a Cartesian4 with (1.0, 2.0, 3.0, 4.0)
-         * var v = [1.0, 2.0, 3.0, 4.0];
-         * var p = Cesium.Cartesian4.fromArray(v);
-         *
-         * // Create a Cartesian4 with (1.0, 2.0, 3.0, 4.0) using an offset into an array
-         * var v2 = [0.0, 0.0, 1.0, 2.0, 3.0, 4.0];
-         * var p2 = Cesium.Cartesian4.fromArray(v2, 2);
-         */
-        Cartesian4.fromArray = Cartesian4.unpack;
-
-        /**
-         * Computes the value of the maximum component for the supplied Cartesian.
-         *
-         * @param {Cartesian4} cartesian The cartesian to use.
-         * @returns {Number} The value of the maximum component.
-         */
-        Cartesian4.maximumComponent = function(cartesian) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            return Math.max(cartesian.x, cartesian.y, cartesian.z, cartesian.w);
-        };
-
-        /**
-         * Computes the value of the minimum component for the supplied Cartesian.
-         *
-         * @param {Cartesian4} cartesian The cartesian to use.
-         * @returns {Number} The value of the minimum component.
-         */
-        Cartesian4.minimumComponent = function(cartesian) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            return Math.min(cartesian.x, cartesian.y, cartesian.z, cartesian.w);
-        };
-
-        /**
-         * Compares two Cartesians and computes a Cartesian which contains the minimum components of the supplied Cartesians.
-         *
-         * @param {Cartesian4} first A cartesian to compare.
-         * @param {Cartesian4} second A cartesian to compare.
-         * @param {Cartesian4} result The object into which to store the result.
-         * @returns {Cartesian4} A cartesian with the minimum components.
-         */
-        Cartesian4.minimumByComponent = function(first, second, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('first', first);
-            Check.Check.typeOf.object('second', second);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = Math.min(first.x, second.x);
-            result.y = Math.min(first.y, second.y);
-            result.z = Math.min(first.z, second.z);
-            result.w = Math.min(first.w, second.w);
-
-            return result;
-        };
-
-        /**
-         * Compares two Cartesians and computes a Cartesian which contains the maximum components of the supplied Cartesians.
-         *
-         * @param {Cartesian4} first A cartesian to compare.
-         * @param {Cartesian4} second A cartesian to compare.
-         * @param {Cartesian4} result The object into which to store the result.
-         * @returns {Cartesian4} A cartesian with the maximum components.
-         */
-        Cartesian4.maximumByComponent = function(first, second, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('first', first);
-            Check.Check.typeOf.object('second', second);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = Math.max(first.x, second.x);
-            result.y = Math.max(first.y, second.y);
-            result.z = Math.max(first.z, second.z);
-            result.w = Math.max(first.w, second.w);
-
-            return result;
-        };
-
-        /**
-         * Computes the provided Cartesian's squared magnitude.
-         *
-         * @param {Cartesian4} cartesian The Cartesian instance whose squared magnitude is to be computed.
-         * @returns {Number} The squared magnitude.
-         */
-        Cartesian4.magnitudeSquared = function(cartesian) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            return cartesian.x * cartesian.x + cartesian.y * cartesian.y + cartesian.z * cartesian.z + cartesian.w * cartesian.w;
-        };
-
-        /**
-         * Computes the Cartesian's magnitude (length).
-         *
-         * @param {Cartesian4} cartesian The Cartesian instance whose magnitude is to be computed.
-         * @returns {Number} The magnitude.
-         */
-        Cartesian4.magnitude = function(cartesian) {
-            return Math.sqrt(Cartesian4.magnitudeSquared(cartesian));
-        };
-
-        var distanceScratch = new Cartesian4();
-
-        /**
-         * Computes the 4-space distance between two points.
-         *
-         * @param {Cartesian4} left The first point to compute the distance from.
-         * @param {Cartesian4} right The second point to compute the distance to.
-         * @returns {Number} The distance between two points.
-         *
-         * @example
-         * // Returns 1.0
-         * var d = Cesium.Cartesian4.distance(
-         *   new Cesium.Cartesian4(1.0, 0.0, 0.0, 0.0),
-         *   new Cesium.Cartesian4(2.0, 0.0, 0.0, 0.0));
-         */
-        Cartesian4.distance = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            Cartesian4.subtract(left, right, distanceScratch);
-            return Cartesian4.magnitude(distanceScratch);
-        };
-
-        /**
-         * Computes the squared distance between two points.  Comparing squared distances
-         * using this function is more efficient than comparing distances using {@link Cartesian4#distance}.
-         *
-         * @param {Cartesian4} left The first point to compute the distance from.
-         * @param {Cartesian4} right The second point to compute the distance to.
-         * @returns {Number} The distance between two points.
-         *
-         * @example
-         * // Returns 4.0, not 2.0
-         * var d = Cesium.Cartesian4.distance(
-         *   new Cesium.Cartesian4(1.0, 0.0, 0.0, 0.0),
-         *   new Cesium.Cartesian4(3.0, 0.0, 0.0, 0.0));
-         */
-        Cartesian4.distanceSquared = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            Cartesian4.subtract(left, right, distanceScratch);
-            return Cartesian4.magnitudeSquared(distanceScratch);
-        };
-
-        /**
-         * Computes the normalized form of the supplied Cartesian.
-         *
-         * @param {Cartesian4} cartesian The Cartesian to be normalized.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter.
-         */
-        Cartesian4.normalize = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var magnitude = Cartesian4.magnitude(cartesian);
-
-            result.x = cartesian.x / magnitude;
-            result.y = cartesian.y / magnitude;
-            result.z = cartesian.z / magnitude;
-            result.w = cartesian.w / magnitude;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (isNaN(result.x) || isNaN(result.y) || isNaN(result.z) || isNaN(result.w)) {
-                throw new Check.DeveloperError('normalized result is not a number');
-            }
-            //>>includeEnd('debug');
-
-            return result;
-        };
-
-        /**
-         * Computes the dot (scalar) product of two Cartesians.
-         *
-         * @param {Cartesian4} left The first Cartesian.
-         * @param {Cartesian4} right The second Cartesian.
-         * @returns {Number} The dot product.
-         */
-        Cartesian4.dot = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            return left.x * right.x + left.y * right.y + left.z * right.z + left.w * right.w;
-        };
-
-        /**
-         * Computes the componentwise product of two Cartesians.
-         *
-         * @param {Cartesian4} left The first Cartesian.
-         * @param {Cartesian4} right The second Cartesian.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter.
-         */
-        Cartesian4.multiplyComponents = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = left.x * right.x;
-            result.y = left.y * right.y;
-            result.z = left.z * right.z;
-            result.w = left.w * right.w;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise quotient of two Cartesians.
-         *
-         * @param {Cartesian4} left The first Cartesian.
-         * @param {Cartesian4} right The second Cartesian.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter.
-         */
-        Cartesian4.divideComponents = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = left.x / right.x;
-            result.y = left.y / right.y;
-            result.z = left.z / right.z;
-            result.w = left.w / right.w;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise sum of two Cartesians.
-         *
-         * @param {Cartesian4} left The first Cartesian.
-         * @param {Cartesian4} right The second Cartesian.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter.
-         */
-        Cartesian4.add = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = left.x + right.x;
-            result.y = left.y + right.y;
-            result.z = left.z + right.z;
-            result.w = left.w + right.w;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise difference of two Cartesians.
-         *
-         * @param {Cartesian4} left The first Cartesian.
-         * @param {Cartesian4} right The second Cartesian.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter.
-         */
-        Cartesian4.subtract = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = left.x - right.x;
-            result.y = left.y - right.y;
-            result.z = left.z - right.z;
-            result.w = left.w - right.w;
-            return result;
-        };
-
-        /**
-         * Multiplies the provided Cartesian componentwise by the provided scalar.
-         *
-         * @param {Cartesian4} cartesian The Cartesian to be scaled.
-         * @param {Number} scalar The scalar to multiply with.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter.
-         */
-        Cartesian4.multiplyByScalar = function(cartesian, scalar, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.number('scalar', scalar);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = cartesian.x * scalar;
-            result.y = cartesian.y * scalar;
-            result.z = cartesian.z * scalar;
-            result.w = cartesian.w * scalar;
-            return result;
-        };
-
-        /**
-         * Divides the provided Cartesian componentwise by the provided scalar.
-         *
-         * @param {Cartesian4} cartesian The Cartesian to be divided.
-         * @param {Number} scalar The scalar to divide by.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter.
-         */
-        Cartesian4.divideByScalar = function(cartesian, scalar, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.number('scalar', scalar);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = cartesian.x / scalar;
-            result.y = cartesian.y / scalar;
-            result.z = cartesian.z / scalar;
-            result.w = cartesian.w / scalar;
-            return result;
-        };
-
-        /**
-         * Negates the provided Cartesian.
-         *
-         * @param {Cartesian4} cartesian The Cartesian to be negated.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter.
-         */
-        Cartesian4.negate = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = -cartesian.x;
-            result.y = -cartesian.y;
-            result.z = -cartesian.z;
-            result.w = -cartesian.w;
-            return result;
-        };
-
-        /**
-         * Computes the absolute value of the provided Cartesian.
-         *
-         * @param {Cartesian4} cartesian The Cartesian whose absolute value is to be computed.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter.
-         */
-        Cartesian4.abs = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = Math.abs(cartesian.x);
-            result.y = Math.abs(cartesian.y);
-            result.z = Math.abs(cartesian.z);
-            result.w = Math.abs(cartesian.w);
-            return result;
-        };
-
-        var lerpScratch = new Cartesian4();
-        /**
-         * Computes the linear interpolation or extrapolation at t using the provided cartesians.
-         *
-         * @param {Cartesian4} start The value corresponding to t at 0.0.
-         * @param {Cartesian4}end The value corresponding to t at 1.0.
-         * @param {Number} t The point along t at which to interpolate.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter.
-         */
-        Cartesian4.lerp = function(start, end, t, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('start', start);
-            Check.Check.typeOf.object('end', end);
-            Check.Check.typeOf.number('t', t);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            Cartesian4.multiplyByScalar(end, t, lerpScratch);
-            result = Cartesian4.multiplyByScalar(start, 1.0 - t, result);
-            return Cartesian4.add(lerpScratch, result, result);
-        };
-
-        var mostOrthogonalAxisScratch = new Cartesian4();
-        /**
-         * Returns the axis that is most orthogonal to the provided Cartesian.
-         *
-         * @param {Cartesian4} cartesian The Cartesian on which to find the most orthogonal axis.
-         * @param {Cartesian4} result The object onto which to store the result.
-         * @returns {Cartesian4} The most orthogonal axis.
-         */
-        Cartesian4.mostOrthogonalAxis = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var f = Cartesian4.normalize(cartesian, mostOrthogonalAxisScratch);
-            Cartesian4.abs(f, f);
-
-            if (f.x <= f.y) {
-                if (f.x <= f.z) {
-                    if (f.x <= f.w) {
-                        result = Cartesian4.clone(Cartesian4.UNIT_X, result);
-                    } else {
-                        result = Cartesian4.clone(Cartesian4.UNIT_W, result);
-                    }
-                } else if (f.z <= f.w) {
-                    result = Cartesian4.clone(Cartesian4.UNIT_Z, result);
-                } else {
-                    result = Cartesian4.clone(Cartesian4.UNIT_W, result);
-                }
-            } else if (f.y <= f.z) {
-                if (f.y <= f.w) {
-                    result = Cartesian4.clone(Cartesian4.UNIT_Y, result);
-                } else {
-                    result = Cartesian4.clone(Cartesian4.UNIT_W, result);
-                }
-            } else if (f.z <= f.w) {
-                result = Cartesian4.clone(Cartesian4.UNIT_Z, result);
-            } else {
-                result = Cartesian4.clone(Cartesian4.UNIT_W, result);
-            }
-
-            return result;
-        };
-
-        /**
-         * Compares the provided Cartesians componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Cartesian4} [left] The first Cartesian.
-         * @param {Cartesian4} [right] The second Cartesian.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        Cartesian4.equals = function(left, right) {
-            return (left === right) ||
-                   ((when.defined(left)) &&
-                    (when.defined(right)) &&
-                    (left.x === right.x) &&
-                    (left.y === right.y) &&
-                    (left.z === right.z) &&
-                    (left.w === right.w));
-        };
-
-        /**
-         * @private
-         */
-        Cartesian4.equalsArray = function(cartesian, array, offset) {
-            return cartesian.x === array[offset] &&
-                   cartesian.y === array[offset + 1] &&
-                   cartesian.z === array[offset + 2] &&
-                   cartesian.w === array[offset + 3];
-        };
-
-        /**
-         * Compares the provided Cartesians componentwise and returns
-         * <code>true</code> if they pass an absolute or relative tolerance test,
-         * <code>false</code> otherwise.
-         *
-         * @param {Cartesian4} [left] The first Cartesian.
-         * @param {Cartesian4} [right] The second Cartesian.
-         * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-         * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-         * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Cartesian4.equalsEpsilon = function(left, right, relativeEpsilon, absoluteEpsilon) {
-            return (left === right) ||
-                   (when.defined(left) &&
-                    when.defined(right) &&
-                    _Math.CesiumMath.equalsEpsilon(left.x, right.x, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(left.y, right.y, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(left.z, right.z, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(left.w, right.w, relativeEpsilon, absoluteEpsilon));
-        };
-
-        /**
-         * An immutable Cartesian4 instance initialized to (0.0, 0.0, 0.0, 0.0).
-         *
-         * @type {Cartesian4}
-         * @constant
-         */
-        Cartesian4.ZERO = Object.freeze(new Cartesian4(0.0, 0.0, 0.0, 0.0));
-
-        /**
-         * An immutable Cartesian4 instance initialized to (1.0, 0.0, 0.0, 0.0).
-         *
-         * @type {Cartesian4}
-         * @constant
-         */
-        Cartesian4.UNIT_X = Object.freeze(new Cartesian4(1.0, 0.0, 0.0, 0.0));
-
-        /**
-         * An immutable Cartesian4 instance initialized to (0.0, 1.0, 0.0, 0.0).
-         *
-         * @type {Cartesian4}
-         * @constant
-         */
-        Cartesian4.UNIT_Y = Object.freeze(new Cartesian4(0.0, 1.0, 0.0, 0.0));
-
-        /**
-         * An immutable Cartesian4 instance initialized to (0.0, 0.0, 1.0, 0.0).
-         *
-         * @type {Cartesian4}
-         * @constant
-         */
-        Cartesian4.UNIT_Z = Object.freeze(new Cartesian4(0.0, 0.0, 1.0, 0.0));
-
-        /**
-         * An immutable Cartesian4 instance initialized to (0.0, 0.0, 0.0, 1.0).
-         *
-         * @type {Cartesian4}
-         * @constant
-         */
-        Cartesian4.UNIT_W = Object.freeze(new Cartesian4(0.0, 0.0, 0.0, 1.0));
-
-        /**
-         * Duplicates this Cartesian4 instance.
-         *
-         * @param {Cartesian4} [result] The object onto which to store the result.
-         * @returns {Cartesian4} The modified result parameter or a new Cartesian4 instance if one was not provided.
-         */
-        Cartesian4.prototype.clone = function(result) {
-            return Cartesian4.clone(this, result);
-        };
-
-        /**
-         * Compares this Cartesian against the provided Cartesian componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Cartesian4} [right] The right hand side Cartesian.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        Cartesian4.prototype.equals = function(right) {
-            return Cartesian4.equals(this, right);
-        };
-
-        /**
-         * Compares this Cartesian against the provided Cartesian componentwise and returns
-         * <code>true</code> if they pass an absolute or relative tolerance test,
-         * <code>false</code> otherwise.
-         *
-         * @param {Cartesian4} [right] The right hand side Cartesian.
-         * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-         * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-         * @returns {Boolean} <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Cartesian4.prototype.equalsEpsilon = function(right, relativeEpsilon, absoluteEpsilon) {
-            return Cartesian4.equalsEpsilon(this, right, relativeEpsilon, absoluteEpsilon);
-        };
-
-        /**
-         * Creates a string representing this Cartesian in the format '(x, y, z, w)'.
-         *
-         * @returns {String} A string representing the provided Cartesian in the format '(x, y, z, w)'.
-         */
-        Cartesian4.prototype.toString = function() {
-            return '(' + this.x + ', ' + this.y + ', ' + this.z + ', ' + this.w + ')';
-        };
-
-        var scratchFloatArray = new Float32Array(1);
-        var SHIFT_LEFT_8 = 256.0;
-        var SHIFT_LEFT_16 = 65536.0;
-        var SHIFT_LEFT_24 = 16777216.0;
-
-        var SHIFT_RIGHT_8 = 1.0 / SHIFT_LEFT_8;
-        var SHIFT_RIGHT_16 = 1.0 / SHIFT_LEFT_16;
-        var SHIFT_RIGHT_24 = 1.0 / SHIFT_LEFT_24;
-
-        var BIAS = 38.0;
-
-        /**
-         * Packs an arbitrary floating point value to 4 values representable using uint8.
-         *
-         * @param {Number} value A floating point number
-         * @param {Cartesian4} [result] The Cartesian4 that will contain the packed float.
-         * @returns {Cartesian4} A Cartesian4 representing the float packed to values in x, y, z, and w.
-         */
-        Cartesian4.packFloat = function(value, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('value', value);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian4();
-            }
-
-            // Force the value to 32 bit precision
-            scratchFloatArray[0] = value;
-            value = scratchFloatArray[0];
-
-            if (value === 0.0) {
-                return Cartesian4.clone(Cartesian4.ZERO, result);
-            }
-
-            var sign = value < 0.0 ? 1.0 : 0.0;
-            var exponent;
-
-            if (!isFinite(value)) {
-                value = 0.1;
-                exponent = BIAS;
-            } else {
-                value = Math.abs(value);
-                exponent = Math.floor(_Math.CesiumMath.logBase(value, 10)) + 1.0;
-                value = value / Math.pow(10.0, exponent);
-            }
-
-            var temp = value * SHIFT_LEFT_8;
-            result.x = Math.floor(temp);
-            temp = (temp - result.x) * SHIFT_LEFT_8;
-            result.y = Math.floor(temp);
-            temp = (temp - result.y) * SHIFT_LEFT_8;
-            result.z = Math.floor(temp);
-            result.w = (exponent + BIAS) * 2.0 + sign;
-
-            return result;
-        };
-
-        /**
-         * Unpacks a float packed using Cartesian4.packFloat.
-         *
-         * @param {Cartesian4} packedFloat A Cartesian4 containing a float packed to 4 values representable using uint8.
-         * @returns {Number} The unpacked float.
-         * @private
-         */
-        Cartesian4.unpackFloat = function(packedFloat) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('packedFloat', packedFloat);
-            //>>includeEnd('debug');
-
-            var temp = packedFloat.w / 2.0;
-            var exponent = Math.floor(temp);
-            var sign = (temp - exponent) * 2.0;
-            exponent = exponent - BIAS;
-
-            sign = sign * 2.0 - 1.0;
-            sign = -sign;
-
-            if (exponent >= BIAS) {
-                return sign < 0.0 ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY;
-            }
-
-            var unpacked = sign * packedFloat.x * SHIFT_RIGHT_8;
-            unpacked += sign * packedFloat.y * SHIFT_RIGHT_16;
-            unpacked += sign * packedFloat.z * SHIFT_RIGHT_24;
-
-            return unpacked * Math.pow(10.0, exponent);
-        };
-
-    /**
-     * A 4x4 matrix, indexable as a column-major order array.
-     * Constructor parameters are in row-major order for code readability.
-     * @alias Matrix4
-     * @constructor
-     *
-     * @param {Number} [column0Row0=0.0] The value for column 0, row 0.
-     * @param {Number} [column1Row0=0.0] The value for column 1, row 0.
-     * @param {Number} [column2Row0=0.0] The value for column 2, row 0.
-     * @param {Number} [column3Row0=0.0] The value for column 3, row 0.
-     * @param {Number} [column0Row1=0.0] The value for column 0, row 1.
-     * @param {Number} [column1Row1=0.0] The value for column 1, row 1.
-     * @param {Number} [column2Row1=0.0] The value for column 2, row 1.
-     * @param {Number} [column3Row1=0.0] The value for column 3, row 1.
-     * @param {Number} [column0Row2=0.0] The value for column 0, row 2.
-     * @param {Number} [column1Row2=0.0] The value for column 1, row 2.
-     * @param {Number} [column2Row2=0.0] The value for column 2, row 2.
-     * @param {Number} [column3Row2=0.0] The value for column 3, row 2.
-     * @param {Number} [column0Row3=0.0] The value for column 0, row 3.
-     * @param {Number} [column1Row3=0.0] The value for column 1, row 3.
-     * @param {Number} [column2Row3=0.0] The value for column 2, row 3.
-     * @param {Number} [column3Row3=0.0] The value for column 3, row 3.
-     *
-     * @see Matrix4.fromColumnMajorArray
-     * @see Matrix4.fromRowMajorArray
-     * @see Matrix4.fromRotationTranslation
-     * @see Matrix4.fromTranslationRotationScale
-     * @see Matrix4.fromTranslationQuaternionRotationScale
-     * @see Matrix4.fromTranslation
-     * @see Matrix4.fromScale
-     * @see Matrix4.fromUniformScale
-     * @see Matrix4.fromCamera
-     * @see Matrix4.computePerspectiveFieldOfView
-     * @see Matrix4.computeOrthographicOffCenter
-     * @see Matrix4.computePerspectiveOffCenter
-     * @see Matrix4.computeInfinitePerspectiveOffCenter
-     * @see Matrix4.computeViewportTransformation
-     * @see Matrix4.computeView
-     * @see Matrix2
-     * @see Matrix3
-     * @see Packable
-     */
-    function Matrix4(column0Row0, column1Row0, column2Row0, column3Row0,
-                           column0Row1, column1Row1, column2Row1, column3Row1,
-                           column0Row2, column1Row2, column2Row2, column3Row2,
-                           column0Row3, column1Row3, column2Row3, column3Row3) {
-        this[0] = when.defaultValue(column0Row0, 0.0);
-        this[1] = when.defaultValue(column0Row1, 0.0);
-        this[2] = when.defaultValue(column0Row2, 0.0);
-        this[3] = when.defaultValue(column0Row3, 0.0);
-        this[4] = when.defaultValue(column1Row0, 0.0);
-        this[5] = when.defaultValue(column1Row1, 0.0);
-        this[6] = when.defaultValue(column1Row2, 0.0);
-        this[7] = when.defaultValue(column1Row3, 0.0);
-        this[8] = when.defaultValue(column2Row0, 0.0);
-        this[9] = when.defaultValue(column2Row1, 0.0);
-        this[10] = when.defaultValue(column2Row2, 0.0);
-        this[11] = when.defaultValue(column2Row3, 0.0);
-        this[12] = when.defaultValue(column3Row0, 0.0);
-        this[13] = when.defaultValue(column3Row1, 0.0);
-        this[14] = when.defaultValue(column3Row2, 0.0);
-        this[15] = when.defaultValue(column3Row3, 0.0);
-    }
-
-    /**
-     * The number of elements used to pack the object into an array.
-     * @type {Number}
-     */
-    Matrix4.packedLength = 16;
-
-    /**
-     * Stores the provided instance into the provided array.
-     *
-     * @param {Matrix4} value The value to pack.
-     * @param {Number[]} array The array to pack into.
-     * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-     *
-     * @returns {Number[]} The array that was packed into
-     */
-    Matrix4.pack = function(value, array, startingIndex) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('value', value);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        startingIndex = when.defaultValue(startingIndex, 0);
-
-        array[startingIndex++] = value[0];
-        array[startingIndex++] = value[1];
-        array[startingIndex++] = value[2];
-        array[startingIndex++] = value[3];
-        array[startingIndex++] = value[4];
-        array[startingIndex++] = value[5];
-        array[startingIndex++] = value[6];
-        array[startingIndex++] = value[7];
-        array[startingIndex++] = value[8];
-        array[startingIndex++] = value[9];
-        array[startingIndex++] = value[10];
-        array[startingIndex++] = value[11];
-        array[startingIndex++] = value[12];
-        array[startingIndex++] = value[13];
-        array[startingIndex++] = value[14];
-        array[startingIndex] = value[15];
-
-        return array;
-    };
-
-    /**
-     * Retrieves an instance from a packed array.
-     *
-     * @param {Number[]} array The packed array.
-     * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-     * @param {Matrix4} [result] The object into which to store the result.
-     * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if one was not provided.
-     */
-    Matrix4.unpack = function(array, startingIndex, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        startingIndex = when.defaultValue(startingIndex, 0);
-
-        if (!when.defined(result)) {
-            result = new Matrix4();
-        }
-
-        result[0] = array[startingIndex++];
-        result[1] = array[startingIndex++];
-        result[2] = array[startingIndex++];
-        result[3] = array[startingIndex++];
-        result[4] = array[startingIndex++];
-        result[5] = array[startingIndex++];
-        result[6] = array[startingIndex++];
-        result[7] = array[startingIndex++];
-        result[8] = array[startingIndex++];
-        result[9] = array[startingIndex++];
-        result[10] = array[startingIndex++];
-        result[11] = array[startingIndex++];
-        result[12] = array[startingIndex++];
-        result[13] = array[startingIndex++];
-        result[14] = array[startingIndex++];
-        result[15] = array[startingIndex];
-        return result;
-    };
-
-    /**
-     * Duplicates a Matrix4 instance.
-     *
-     * @param {Matrix4} matrix The matrix to duplicate.
-     * @param {Matrix4} [result] The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if one was not provided. (Returns undefined if matrix is undefined)
-     */
-    Matrix4.clone = function(matrix, result) {
-        if (!when.defined(matrix)) {
-            return undefined;
-        }
-        if (!when.defined(result)) {
-            return new Matrix4(matrix[0], matrix[4], matrix[8], matrix[12],
-                               matrix[1], matrix[5], matrix[9], matrix[13],
-                               matrix[2], matrix[6], matrix[10], matrix[14],
-                               matrix[3], matrix[7], matrix[11], matrix[15]);
-        }
-        result[0] = matrix[0];
-        result[1] = matrix[1];
-        result[2] = matrix[2];
-        result[3] = matrix[3];
-        result[4] = matrix[4];
-        result[5] = matrix[5];
-        result[6] = matrix[6];
-        result[7] = matrix[7];
-        result[8] = matrix[8];
-        result[9] = matrix[9];
-        result[10] = matrix[10];
-        result[11] = matrix[11];
-        result[12] = matrix[12];
-        result[13] = matrix[13];
-        result[14] = matrix[14];
-        result[15] = matrix[15];
-        return result;
-    };
-
-    /**
-     * Creates a Matrix4 from 16 consecutive elements in an array.
-     * @function
-     *
-     * @param {Number[]} array The array whose 16 consecutive elements correspond to the positions of the matrix.  Assumes column-major order.
-     * @param {Number} [startingIndex=0] The offset into the array of the first element, which corresponds to first column first row position in the matrix.
-     * @param {Matrix4} [result] The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if one was not provided.
-     *
-     * @example
-     * // Create the Matrix4:
-     * // [1.0, 2.0, 3.0, 4.0]
-     * // [1.0, 2.0, 3.0, 4.0]
-     * // [1.0, 2.0, 3.0, 4.0]
-     * // [1.0, 2.0, 3.0, 4.0]
-     *
-     * var v = [1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0];
-     * var m = Cesium.Matrix4.fromArray(v);
-     *
-     * // Create same Matrix4 with using an offset into an array
-     * var v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0];
-     * var m2 = Cesium.Matrix4.fromArray(v2, 2);
-     */
-    Matrix4.fromArray = Matrix4.unpack;
-
-    /**
-     * Computes a Matrix4 instance from a column-major order array.
-     *
-     * @param {Number[]} values The column-major order array.
-     * @param {Matrix4} [result] The object in which the result will be stored, if undefined a new instance will be created.
-     * @returns {Matrix4} The modified result parameter, or a new Matrix4 instance if one was not provided.
-     */
-    Matrix4.fromColumnMajorArray = function(values, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('values', values);
-        //>>includeEnd('debug');
-
-        return Matrix4.clone(values, result);
-    };
-
-    /**
-     * Computes a Matrix4 instance from a row-major order array.
-     * The resulting matrix will be in column-major order.
-     *
-     * @param {Number[]} values The row-major order array.
-     * @param {Matrix4} [result] The object in which the result will be stored, if undefined a new instance will be created.
-     * @returns {Matrix4} The modified result parameter, or a new Matrix4 instance if one was not provided.
-     */
-    Matrix4.fromRowMajorArray = function(values, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('values', values);
-        //>>includeEnd('debug');
-
-        if (!when.defined(result)) {
-            return new Matrix4(values[0], values[1], values[2], values[3],
-                               values[4], values[5], values[6], values[7],
-                               values[8], values[9], values[10], values[11],
-                               values[12], values[13], values[14], values[15]);
-        }
-        result[0] = values[0];
-        result[1] = values[4];
-        result[2] = values[8];
-        result[3] = values[12];
-        result[4] = values[1];
-        result[5] = values[5];
-        result[6] = values[9];
-        result[7] = values[13];
-        result[8] = values[2];
-        result[9] = values[6];
-        result[10] = values[10];
-        result[11] = values[14];
-        result[12] = values[3];
-        result[13] = values[7];
-        result[14] = values[11];
-        result[15] = values[15];
-        return result;
-    };
-
-    /**
-     * Computes a Matrix4 instance from a Matrix3 representing the rotation
-     * and a Cartesian3 representing the translation.
-     *
-     * @param {Matrix3} rotation The upper left portion of the matrix representing the rotation.
-     * @param {Cartesian3} [translation=Cartesian3.ZERO] The upper right portion of the matrix representing the translation.
-     * @param {Matrix4} [result] The object in which the result will be stored, if undefined a new instance will be created.
-     * @returns {Matrix4} The modified result parameter, or a new Matrix4 instance if one was not provided.
-     */
-    Matrix4.fromRotationTranslation = function(rotation, translation, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('rotation', rotation);
-        //>>includeEnd('debug');
-
-        translation = when.defaultValue(translation, Cartesian2.Cartesian3.ZERO);
-
-        if (!when.defined(result)) {
-            return new Matrix4(rotation[0], rotation[3], rotation[6], translation.x,
-                               rotation[1], rotation[4], rotation[7], translation.y,
-                               rotation[2], rotation[5], rotation[8], translation.z,
-                                       0.0,         0.0,         0.0,           1.0);
-        }
-
-        result[0] = rotation[0];
-        result[1] = rotation[1];
-        result[2] = rotation[2];
-        result[3] = 0.0;
-        result[4] = rotation[3];
-        result[5] = rotation[4];
-        result[6] = rotation[5];
-        result[7] = 0.0;
-        result[8] = rotation[6];
-        result[9] = rotation[7];
-        result[10] = rotation[8];
-        result[11] = 0.0;
-        result[12] = translation.x;
-        result[13] = translation.y;
-        result[14] = translation.z;
-        result[15] = 1.0;
-        return result;
-    };
-
-    /**
-     * Computes a Matrix4 instance from a translation, rotation, and scale (TRS)
-     * representation with the rotation represented as a quaternion.
-     *
-     * @param {Cartesian3} translation The translation transformation.
-     * @param {Quaternion} rotation The rotation transformation.
-     * @param {Cartesian3} scale The non-uniform scale transformation.
-     * @param {Matrix4} [result] The object in which the result will be stored, if undefined a new instance will be created.
-     * @returns {Matrix4} The modified result parameter, or a new Matrix4 instance if one was not provided.
-     *
-     * @example
-     * var result = Cesium.Matrix4.fromTranslationQuaternionRotationScale(
-     *   new Cesium.Cartesian3(1.0, 2.0, 3.0), // translation
-     *   Cesium.Quaternion.IDENTITY,           // rotation
-     *   new Cesium.Cartesian3(7.0, 8.0, 9.0), // scale
-     *   result);
-     */
-    Matrix4.fromTranslationQuaternionRotationScale = function(translation, rotation, scale, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('translation', translation);
-        Check.Check.typeOf.object('rotation', rotation);
-        Check.Check.typeOf.object('scale', scale);
-        //>>includeEnd('debug');
-
-        if (!when.defined(result)) {
-            result = new Matrix4();
-        }
-
-        var scaleX = scale.x;
-        var scaleY = scale.y;
-        var scaleZ = scale.z;
-
-        var x2 = rotation.x * rotation.x;
-        var xy = rotation.x * rotation.y;
-        var xz = rotation.x * rotation.z;
-        var xw = rotation.x * rotation.w;
-        var y2 = rotation.y * rotation.y;
-        var yz = rotation.y * rotation.z;
-        var yw = rotation.y * rotation.w;
-        var z2 = rotation.z * rotation.z;
-        var zw = rotation.z * rotation.w;
-        var w2 = rotation.w * rotation.w;
-
-        var m00 = x2 - y2 - z2 + w2;
-        var m01 = 2.0 * (xy - zw);
-        var m02 = 2.0 * (xz + yw);
-
-        var m10 = 2.0 * (xy + zw);
-        var m11 = -x2 + y2 - z2 + w2;
-        var m12 = 2.0 * (yz - xw);
-
-        var m20 = 2.0 * (xz - yw);
-        var m21 = 2.0 * (yz + xw);
-        var m22 = -x2 - y2 + z2 + w2;
-
-        result[0]  = m00 * scaleX;
-        result[1]  = m10 * scaleX;
-        result[2]  = m20 * scaleX;
-        result[3]  = 0.0;
-        result[4]  = m01 * scaleY;
-        result[5]  = m11 * scaleY;
-        result[6]  = m21 * scaleY;
-        result[7]  = 0.0;
-        result[8]  = m02 * scaleZ;
-        result[9]  = m12 * scaleZ;
-        result[10] = m22 * scaleZ;
-        result[11] = 0.0;
-        result[12] = translation.x;
-        result[13] = translation.y;
-        result[14] = translation.z;
-        result[15] = 1.0;
-
-        return result;
-    };
-
-    /**
-     * Creates a Matrix4 instance from a {@link TranslationRotationScale} instance.
-     *
-     * @param {TranslationRotationScale} translationRotationScale The instance.
-     * @param {Matrix4} [result] The object in which the result will be stored, if undefined a new instance will be created.
-     * @returns {Matrix4} The modified result parameter, or a new Matrix4 instance if one was not provided.
-     */
-    Matrix4.fromTranslationRotationScale = function(translationRotationScale, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('translationRotationScale', translationRotationScale);
-        //>>includeEnd('debug');
-
-        return Matrix4.fromTranslationQuaternionRotationScale(translationRotationScale.translation, translationRotationScale.rotation, translationRotationScale.scale, result);
-    };
-
-    /**
-     * Creates a Matrix4 instance from a Cartesian3 representing the translation.
-     *
-     * @param {Cartesian3} translation The upper right portion of the matrix representing the translation.
-     * @param {Matrix4} [result] The object in which the result will be stored, if undefined a new instance will be created.
-     * @returns {Matrix4} The modified result parameter, or a new Matrix4 instance if one was not provided.
-     *
-     * @see Matrix4.multiplyByTranslation
-     */
-    Matrix4.fromTranslation = function(translation, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('translation', translation);
-        //>>includeEnd('debug');
-
-        return Matrix4.fromRotationTranslation(Matrix3.IDENTITY, translation, result);
-    };
-
-    /**
-     * Computes a Matrix4 instance representing a non-uniform scale.
-     *
-     * @param {Cartesian3} scale The x, y, and z scale factors.
-     * @param {Matrix4} [result] The object in which the result will be stored, if undefined a new instance will be created.
-     * @returns {Matrix4} The modified result parameter, or a new Matrix4 instance if one was not provided.
-     *
-     * @example
-     * // Creates
-     * //   [7.0, 0.0, 0.0, 0.0]
-     * //   [0.0, 8.0, 0.0, 0.0]
-     * //   [0.0, 0.0, 9.0, 0.0]
-     * //   [0.0, 0.0, 0.0, 1.0]
-     * var m = Cesium.Matrix4.fromScale(new Cesium.Cartesian3(7.0, 8.0, 9.0));
-     */
-    Matrix4.fromScale = function(scale, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('scale', scale);
-        //>>includeEnd('debug');
-
-        if (!when.defined(result)) {
-            return new Matrix4(
-                scale.x, 0.0,     0.0,     0.0,
-                0.0,     scale.y, 0.0,     0.0,
-                0.0,     0.0,     scale.z, 0.0,
-                0.0,     0.0,     0.0,     1.0);
-        }
-
-        result[0] = scale.x;
-        result[1] = 0.0;
-        result[2] = 0.0;
-        result[3] = 0.0;
-        result[4] = 0.0;
-        result[5] = scale.y;
-        result[6] = 0.0;
-        result[7] = 0.0;
-        result[8] = 0.0;
-        result[9] = 0.0;
-        result[10] = scale.z;
-        result[11] = 0.0;
-        result[12] = 0.0;
-        result[13] = 0.0;
-        result[14] = 0.0;
-        result[15] = 1.0;
-        return result;
-    };
-
-    /**
-     * Computes a Matrix4 instance representing a uniform scale.
-     *
-     * @param {Number} scale The uniform scale factor.
-     * @param {Matrix4} [result] The object in which the result will be stored, if undefined a new instance will be created.
-     * @returns {Matrix4} The modified result parameter, or a new Matrix4 instance if one was not provided.
-     *
-     * @example
-     * // Creates
-     * //   [2.0, 0.0, 0.0, 0.0]
-     * //   [0.0, 2.0, 0.0, 0.0]
-     * //   [0.0, 0.0, 2.0, 0.0]
-     * //   [0.0, 0.0, 0.0, 1.0]
-     * var m = Cesium.Matrix4.fromUniformScale(2.0);
-     */
-    Matrix4.fromUniformScale = function(scale, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number('scale', scale);
-        //>>includeEnd('debug');
-
-        if (!when.defined(result)) {
-            return new Matrix4(scale, 0.0,   0.0,   0.0,
-                               0.0,   scale, 0.0,   0.0,
-                               0.0,   0.0,   scale, 0.0,
-                               0.0,   0.0,   0.0,   1.0);
-        }
-
-        result[0] = scale;
-        result[1] = 0.0;
-        result[2] = 0.0;
-        result[3] = 0.0;
-        result[4] = 0.0;
-        result[5] = scale;
-        result[6] = 0.0;
-        result[7] = 0.0;
-        result[8] = 0.0;
-        result[9] = 0.0;
-        result[10] = scale;
-        result[11] = 0.0;
-        result[12] = 0.0;
-        result[13] = 0.0;
-        result[14] = 0.0;
-        result[15] = 1.0;
-        return result;
-    };
-
-    var fromCameraF = new Cartesian2.Cartesian3();
-    var fromCameraR = new Cartesian2.Cartesian3();
-    var fromCameraU = new Cartesian2.Cartesian3();
-
-    /**
-     * Computes a Matrix4 instance from a Camera.
-     *
-     * @param {Camera} camera The camera to use.
-     * @param {Matrix4} [result] The object in which the result will be stored, if undefined a new instance will be created.
-     * @returns {Matrix4} The modified result parameter, or a new Matrix4 instance if one was not provided.
-     */
-    Matrix4.fromCamera = function(camera, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('camera', camera);
-        //>>includeEnd('debug');
-
-        var position = camera.position;
-        var direction = camera.direction;
-        var up = camera.up;
-
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('camera.position', position);
-        Check.Check.typeOf.object('camera.direction', direction);
-        Check.Check.typeOf.object('camera.up', up);
-        //>>includeEnd('debug');
-
-        Cartesian2.Cartesian3.normalize(direction, fromCameraF);
-        Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(fromCameraF, up, fromCameraR), fromCameraR);
-        Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(fromCameraR, fromCameraF, fromCameraU), fromCameraU);
-
-        var sX = fromCameraR.x;
-        var sY = fromCameraR.y;
-        var sZ = fromCameraR.z;
-        var fX = fromCameraF.x;
-        var fY = fromCameraF.y;
-        var fZ = fromCameraF.z;
-        var uX = fromCameraU.x;
-        var uY = fromCameraU.y;
-        var uZ = fromCameraU.z;
-        var positionX = position.x;
-        var positionY = position.y;
-        var positionZ = position.z;
-        var t0 = sX * -positionX + sY * -positionY+ sZ * -positionZ;
-        var t1 = uX * -positionX + uY * -positionY+ uZ * -positionZ;
-        var t2 = fX * positionX + fY * positionY + fZ * positionZ;
-
-        // The code below this comment is an optimized
-        // version of the commented lines.
-        // Rather that create two matrices and then multiply,
-        // we just bake in the multiplcation as part of creation.
-        // var rotation = new Matrix4(
-        //                 sX,  sY,  sZ, 0.0,
-        //                 uX,  uY,  uZ, 0.0,
-        //                -fX, -fY, -fZ, 0.0,
-        //                 0.0,  0.0,  0.0, 1.0);
-        // var translation = new Matrix4(
-        //                 1.0, 0.0, 0.0, -position.x,
-        //                 0.0, 1.0, 0.0, -position.y,
-        //                 0.0, 0.0, 1.0, -position.z,
-        //                 0.0, 0.0, 0.0, 1.0);
-        // return rotation.multiply(translation);
-        if (!when.defined(result)) {
-            return new Matrix4(
-                    sX,   sY,  sZ, t0,
-                    uX,   uY,  uZ, t1,
-                   -fX,  -fY, -fZ, t2,
-                    0.0, 0.0, 0.0, 1.0);
-        }
-        result[0] = sX;
-        result[1] = uX;
-        result[2] = -fX;
-        result[3] = 0.0;
-        result[4] = sY;
-        result[5] = uY;
-        result[6] = -fY;
-        result[7] = 0.0;
-        result[8] = sZ;
-        result[9] = uZ;
-        result[10] = -fZ;
-        result[11] = 0.0;
-        result[12] = t0;
-        result[13] = t1;
-        result[14] = t2;
-        result[15] = 1.0;
-        return result;
-    };
-
-     /**
-      * Computes a Matrix4 instance representing a perspective transformation matrix.
-      *
-      * @param {Number} fovY The field of view along the Y axis in radians.
-      * @param {Number} aspectRatio The aspect ratio.
-      * @param {Number} near The distance to the near plane in meters.
-      * @param {Number} far The distance to the far plane in meters.
-      * @param {Matrix4} result The object in which the result will be stored.
-      * @returns {Matrix4} The modified result parameter.
-      *
-      * @exception {DeveloperError} fovY must be in (0, PI].
-      * @exception {DeveloperError} aspectRatio must be greater than zero.
-      * @exception {DeveloperError} near must be greater than zero.
-      * @exception {DeveloperError} far must be greater than zero.
-      */
-    Matrix4.computePerspectiveFieldOfView = function(fovY, aspectRatio, near, far, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number.greaterThan('fovY', fovY, 0.0);
-        Check.Check.typeOf.number.lessThan('fovY', fovY, Math.PI);
-        Check.Check.typeOf.number.greaterThan('near', near, 0.0);
-        Check.Check.typeOf.number.greaterThan('far', far, 0.0);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var bottom = Math.tan(fovY * 0.5);
-
-        var column1Row1 = 1.0 / bottom;
-        var column0Row0 = column1Row1 / aspectRatio;
-        var column2Row2 = (far + near) / (near - far);
-        var column3Row2 = (2.0 * far * near) / (near - far);
-
-        result[0] = column0Row0;
-        result[1] = 0.0;
-        result[2] = 0.0;
-        result[3] = 0.0;
-        result[4] = 0.0;
-        result[5] = column1Row1;
-        result[6] = 0.0;
-        result[7] = 0.0;
-        result[8] = 0.0;
-        result[9] = 0.0;
-        result[10] = column2Row2;
-        result[11] = -1.0;
-        result[12] = 0.0;
-        result[13] = 0.0;
-        result[14] = column3Row2;
-        result[15] = 0.0;
-        return result;
-    };
-
-    /**
-    * Computes a Matrix4 instance representing an orthographic transformation matrix.
-    *
-    * @param {Number} left The number of meters to the left of the camera that will be in view.
-    * @param {Number} right The number of meters to the right of the camera that will be in view.
-    * @param {Number} bottom The number of meters below of the camera that will be in view.
-    * @param {Number} top The number of meters above of the camera that will be in view.
-    * @param {Number} near The distance to the near plane in meters.
-    * @param {Number} far The distance to the far plane in meters.
-    * @param {Matrix4} result The object in which the result will be stored.
-    * @returns {Matrix4} The modified result parameter.
-    */
-    Matrix4.computeOrthographicOffCenter = function(left, right, bottom, top, near, far, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number('left', left);
-        Check.Check.typeOf.number('right', right);
-        Check.Check.typeOf.number('bottom', bottom);
-        Check.Check.typeOf.number('top', top);
-        Check.Check.typeOf.number('near', near);
-        Check.Check.typeOf.number('far', far);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var a = 1.0 / (right - left);
-        var b = 1.0 / (top - bottom);
-        var c = 1.0 / (far - near);
-
-        var tx = -(right + left) * a;
-        var ty = -(top + bottom) * b;
-        var tz = -(far + near) * c;
-        a *= 2.0;
-        b *= 2.0;
-        c *= -2.0;
-
-        result[0] = a;
-        result[1] = 0.0;
-        result[2] = 0.0;
-        result[3] = 0.0;
-        result[4] = 0.0;
-        result[5] = b;
-        result[6] = 0.0;
-        result[7] = 0.0;
-        result[8] = 0.0;
-        result[9] = 0.0;
-        result[10] = c;
-        result[11] = 0.0;
-        result[12] = tx;
-        result[13] = ty;
-        result[14] = tz;
-        result[15] = 1.0;
-        return result;
-    };
-
-    /**
-     * Computes a Matrix4 instance representing an off center perspective transformation.
-     *
-     * @param {Number} left The number of meters to the left of the camera that will be in view.
-     * @param {Number} right The number of meters to the right of the camera that will be in view.
-     * @param {Number} bottom The number of meters below of the camera that will be in view.
-     * @param {Number} top The number of meters above of the camera that will be in view.
-     * @param {Number} near The distance to the near plane in meters.
-     * @param {Number} far The distance to the far plane in meters.
-     * @param {Matrix4} result The object in which the result will be stored.
-     * @returns {Matrix4} The modified result parameter.
-     */
-    Matrix4.computePerspectiveOffCenter = function(left, right, bottom, top, near, far, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number('left', left);
-        Check.Check.typeOf.number('right', right);
-        Check.Check.typeOf.number('bottom', bottom);
-        Check.Check.typeOf.number('top', top);
-        Check.Check.typeOf.number('near', near);
-        Check.Check.typeOf.number('far', far);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var column0Row0 = 2.0 * near / (right - left);
-        var column1Row1 = 2.0 * near / (top - bottom);
-        var column2Row0 = (right + left) / (right - left);
-        var column2Row1 = (top + bottom) / (top - bottom);
-        var column2Row2 = -(far + near) / (far - near);
-        var column2Row3 = -1.0;
-        var column3Row2 = -2.0 * far * near / (far - near);
-
-        result[0] = column0Row0;
-        result[1] = 0.0;
-        result[2] = 0.0;
-        result[3] = 0.0;
-        result[4] = 0.0;
-        result[5] = column1Row1;
-        result[6] = 0.0;
-        result[7] = 0.0;
-        result[8] = column2Row0;
-        result[9] = column2Row1;
-        result[10] = column2Row2;
-        result[11] = column2Row3;
-        result[12] = 0.0;
-        result[13] = 0.0;
-        result[14] = column3Row2;
-        result[15] = 0.0;
-        return result;
-    };
-
-    /**
-     * Computes a Matrix4 instance representing an infinite off center perspective transformation.
-     *
-     * @param {Number} left The number of meters to the left of the camera that will be in view.
-     * @param {Number} right The number of meters to the right of the camera that will be in view.
-     * @param {Number} bottom The number of meters below of the camera that will be in view.
-     * @param {Number} top The number of meters above of the camera that will be in view.
-     * @param {Number} near The distance to the near plane in meters.
-     * @param {Matrix4} result The object in which the result will be stored.
-     * @returns {Matrix4} The modified result parameter.
-     */
-    Matrix4.computeInfinitePerspectiveOffCenter = function(left, right, bottom, top, near, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number('left', left);
-        Check.Check.typeOf.number('right', right);
-        Check.Check.typeOf.number('bottom', bottom);
-        Check.Check.typeOf.number('top', top);
-        Check.Check.typeOf.number('near', near);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var column0Row0 = 2.0 * near / (right - left);
-        var column1Row1 = 2.0 * near / (top - bottom);
-        var column2Row0 = (right + left) / (right - left);
-        var column2Row1 = (top + bottom) / (top - bottom);
-        var column2Row2 = -1.0;
-        var column2Row3 = -1.0;
-        var column3Row2 = -2.0 * near;
-
-        result[0] = column0Row0;
-        result[1] = 0.0;
-        result[2] = 0.0;
-        result[3] = 0.0;
-        result[4] = 0.0;
-        result[5] = column1Row1;
-        result[6] = 0.0;
-        result[7] = 0.0;
-        result[8] = column2Row0;
-        result[9] = column2Row1;
-        result[10] = column2Row2;
-        result[11] = column2Row3;
-        result[12] = 0.0;
-        result[13] = 0.0;
-        result[14] = column3Row2;
-        result[15] = 0.0;
-        return result;
-    };
-
-    /**
-     * Computes a Matrix4 instance that transforms from normalized device coordinates to window coordinates.
-     *
-     * @param {Object}[viewport = { x : 0.0, y : 0.0, width : 0.0, height : 0.0 }] The viewport's corners as shown in Example 1.
-     * @param {Number}[nearDepthRange=0.0] The near plane distance in window coordinates.
-     * @param {Number}[farDepthRange=1.0] The far plane distance in window coordinates.
-     * @param {Matrix4} result The object in which the result will be stored.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     * @example
-     * // Create viewport transformation using an explicit viewport and depth range.
-     * var m = Cesium.Matrix4.computeViewportTransformation({
-     *     x : 0.0,
-     *     y : 0.0,
-     *     width : 1024.0,
-     *     height : 768.0
-     * }, 0.0, 1.0, new Cesium.Matrix4());
-     */
-    Matrix4.computeViewportTransformation = function(viewport, nearDepthRange, farDepthRange, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        viewport = when.defaultValue(viewport, when.defaultValue.EMPTY_OBJECT);
-        var x = when.defaultValue(viewport.x, 0.0);
-        var y = when.defaultValue(viewport.y, 0.0);
-        var width = when.defaultValue(viewport.width, 0.0);
-        var height = when.defaultValue(viewport.height, 0.0);
-        nearDepthRange = when.defaultValue(nearDepthRange, 0.0);
-        farDepthRange = when.defaultValue(farDepthRange, 1.0);
-
-        var halfWidth = width * 0.5;
-        var halfHeight = height * 0.5;
-        var halfDepth = (farDepthRange - nearDepthRange) * 0.5;
-
-        var column0Row0 = halfWidth;
-        var column1Row1 = halfHeight;
-        var column2Row2 = halfDepth;
-        var column3Row0 = x + halfWidth;
-        var column3Row1 = y + halfHeight;
-        var column3Row2 = nearDepthRange + halfDepth;
-        var column3Row3 = 1.0;
-
-        result[0] = column0Row0;
-        result[1] = 0.0;
-        result[2] = 0.0;
-        result[3] = 0.0;
-        result[4] = 0.0;
-        result[5] = column1Row1;
-        result[6] = 0.0;
-        result[7] = 0.0;
-        result[8] = 0.0;
-        result[9] = 0.0;
-        result[10] = column2Row2;
-        result[11] = 0.0;
-        result[12] = column3Row0;
-        result[13] = column3Row1;
-        result[14] = column3Row2;
-        result[15] = column3Row3;
-        return result;
-    };
-
-    /**
-     * Computes a Matrix4 instance that transforms from world space to view space.
-     *
-     * @param {Cartesian3} position The position of the camera.
-     * @param {Cartesian3} direction The forward direction.
-     * @param {Cartesian3} up The up direction.
-     * @param {Cartesian3} right The right direction.
-     * @param {Matrix4} result The object in which the result will be stored.
-     * @returns {Matrix4} The modified result parameter.
-     */
-    Matrix4.computeView = function(position, direction, up, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('position', position);
-        Check.Check.typeOf.object('direction', direction);
-        Check.Check.typeOf.object('up', up);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result[0] = right.x;
-        result[1] = up.x;
-        result[2] = -direction.x;
-        result[3] = 0.0;
-        result[4] = right.y;
-        result[5] = up.y;
-        result[6] = -direction.y;
-        result[7] = 0.0;
-        result[8] = right.z;
-        result[9] = up.z;
-        result[10] = -direction.z;
-        result[11] = 0.0;
-        result[12] = -Cartesian2.Cartesian3.dot(right, position);
-        result[13] = -Cartesian2.Cartesian3.dot(up, position);
-        result[14] = Cartesian2.Cartesian3.dot(direction, position);
-        result[15] = 1.0;
-        return result;
-    };
-
-    /**
-     * Computes an Array from the provided Matrix4 instance.
-     * The array will be in column-major order.
-     *
-     * @param {Matrix4} matrix The matrix to use..
-     * @param {Number[]} [result] The Array onto which to store the result.
-     * @returns {Number[]} The modified Array parameter or a new Array instance if one was not provided.
-     *
-     * @example
-     * //create an array from an instance of Matrix4
-     * // m = [10.0, 14.0, 18.0, 22.0]
-     * //     [11.0, 15.0, 19.0, 23.0]
-     * //     [12.0, 16.0, 20.0, 24.0]
-     * //     [13.0, 17.0, 21.0, 25.0]
-     * var a = Cesium.Matrix4.toArray(m);
-     *
-     * // m remains the same
-     * //creates a = [10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0]
-     */
-    Matrix4.toArray = function(matrix, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        //>>includeEnd('debug');
-
-        if (!when.defined(result)) {
-            return [matrix[0], matrix[1], matrix[2], matrix[3],
-                    matrix[4], matrix[5], matrix[6], matrix[7],
-                    matrix[8], matrix[9], matrix[10], matrix[11],
-                    matrix[12], matrix[13], matrix[14], matrix[15]];
-        }
-        result[0] = matrix[0];
-        result[1] = matrix[1];
-        result[2] = matrix[2];
-        result[3] = matrix[3];
-        result[4] = matrix[4];
-        result[5] = matrix[5];
-        result[6] = matrix[6];
-        result[7] = matrix[7];
-        result[8] = matrix[8];
-        result[9] = matrix[9];
-        result[10] = matrix[10];
-        result[11] = matrix[11];
-        result[12] = matrix[12];
-        result[13] = matrix[13];
-        result[14] = matrix[14];
-        result[15] = matrix[15];
-        return result;
-    };
-
-    /**
-     * Computes the array index of the element at the provided row and column.
-     *
-     * @param {Number} row The zero-based index of the row.
-     * @param {Number} column The zero-based index of the column.
-     * @returns {Number} The index of the element at the provided row and column.
-     *
-     * @exception {DeveloperError} row must be 0, 1, 2, or 3.
-     * @exception {DeveloperError} column must be 0, 1, 2, or 3.
-     *
-     * @example
-     * var myMatrix = new Cesium.Matrix4();
-     * var column1Row0Index = Cesium.Matrix4.getElementIndex(1, 0);
-     * var column1Row0 = myMatrix[column1Row0Index];
-     * myMatrix[column1Row0Index] = 10.0;
-     */
-    Matrix4.getElementIndex = function(column, row) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number.greaterThanOrEquals('row', row, 0);
-        Check.Check.typeOf.number.lessThanOrEquals('row', row, 3);
-
-        Check.Check.typeOf.number.greaterThanOrEquals('column', column, 0);
-        Check.Check.typeOf.number.lessThanOrEquals('column', column, 3);
-        //>>includeEnd('debug');
-
-        return column * 4 + row;
-    };
-
-    /**
-     * Retrieves a copy of the matrix column at the provided index as a Cartesian4 instance.
-     *
-     * @param {Matrix4} matrix The matrix to use.
-     * @param {Number} index The zero-based index of the column to retrieve.
-     * @param {Cartesian4} result The object onto which to store the result.
-     * @returns {Cartesian4} The modified result parameter.
-     *
-     * @exception {DeveloperError} index must be 0, 1, 2, or 3.
-     *
-     * @example
-     * //returns a Cartesian4 instance with values from the specified column
-     * // m = [10.0, 11.0, 12.0, 13.0]
-     * //     [14.0, 15.0, 16.0, 17.0]
-     * //     [18.0, 19.0, 20.0, 21.0]
-     * //     [22.0, 23.0, 24.0, 25.0]
-     *
-     * //Example 1: Creates an instance of Cartesian
-     * var a = Cesium.Matrix4.getColumn(m, 2, new Cesium.Cartesian4());
-     *
-     * @example
-     * //Example 2: Sets values for Cartesian instance
-     * var a = new Cesium.Cartesian4();
-     * Cesium.Matrix4.getColumn(m, 2, a);
-     *
-     * // a.x = 12.0; a.y = 16.0; a.z = 20.0; a.w = 24.0;
-     */
-    Matrix4.getColumn = function(matrix, index, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-
-        Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-        Check.Check.typeOf.number.lessThanOrEquals('index', index, 3);
-
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var startIndex = index * 4;
-        var x = matrix[startIndex];
-        var y = matrix[startIndex + 1];
-        var z = matrix[startIndex + 2];
-        var w = matrix[startIndex + 3];
-
-        result.x = x;
-        result.y = y;
-        result.z = z;
-        result.w = w;
-        return result;
-    };
-
-    /**
-     * Computes a new matrix that replaces the specified column in the provided matrix with the provided Cartesian4 instance.
-     *
-     * @param {Matrix4} matrix The matrix to use.
-     * @param {Number} index The zero-based index of the column to set.
-     * @param {Cartesian4} cartesian The Cartesian whose values will be assigned to the specified column.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     * @exception {DeveloperError} index must be 0, 1, 2, or 3.
-     *
-     * @example
-     * //creates a new Matrix4 instance with new column values from the Cartesian4 instance
-     * // m = [10.0, 11.0, 12.0, 13.0]
-     * //     [14.0, 15.0, 16.0, 17.0]
-     * //     [18.0, 19.0, 20.0, 21.0]
-     * //     [22.0, 23.0, 24.0, 25.0]
-     *
-     * var a = Cesium.Matrix4.setColumn(m, 2, new Cesium.Cartesian4(99.0, 98.0, 97.0, 96.0), new Cesium.Matrix4());
-     *
-     * // m remains the same
-     * // a = [10.0, 11.0, 99.0, 13.0]
-     * //     [14.0, 15.0, 98.0, 17.0]
-     * //     [18.0, 19.0, 97.0, 21.0]
-     * //     [22.0, 23.0, 96.0, 25.0]
-     */
-    Matrix4.setColumn = function(matrix, index, cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-
-        Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-        Check.Check.typeOf.number.lessThanOrEquals('index', index, 3);
-
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result = Matrix4.clone(matrix, result);
-        var startIndex = index * 4;
-        result[startIndex] = cartesian.x;
-        result[startIndex + 1] = cartesian.y;
-        result[startIndex + 2] = cartesian.z;
-        result[startIndex + 3] = cartesian.w;
-        return result;
-    };
-
-    /**
-     * Computes a new matrix that replaces the translation in the rightmost column of the provided
-     * matrix with the provided translation.  This assumes the matrix is an affine transformation
-     *
-     * @param {Matrix4} matrix The matrix to use.
-     * @param {Cartesian3} translation The translation that replaces the translation of the provided matrix.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     */
-    Matrix4.setTranslation = function(matrix, translation, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('translation', translation);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result[0] = matrix[0];
-        result[1] = matrix[1];
-        result[2] = matrix[2];
-        result[3] = matrix[3];
-
-        result[4] = matrix[4];
-        result[5] = matrix[5];
-        result[6] = matrix[6];
-        result[7] = matrix[7];
-
-        result[8] = matrix[8];
-        result[9] = matrix[9];
-        result[10] = matrix[10];
-        result[11] = matrix[11];
-
-        result[12] = translation.x;
-        result[13] = translation.y;
-        result[14] = translation.z;
-        result[15] = matrix[15];
-
-        return result;
-    };
-
-    var scaleScratch = new Cartesian2.Cartesian3();
-    /**
-     * Computes a new matrix that replaces the scale with the provided scale.  This assumes the matrix is an affine transformation
-     *
-     * @param {Matrix4} matrix The matrix to use.
-     * @param {Cartesian3} scale The scale that replaces the scale of the provided matrix.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     */
-    Matrix4.setScale = function(matrix, scale, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('scale', scale);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var existingScale = Matrix4.getScale(matrix, scaleScratch);
-        var newScale = Cartesian2.Cartesian3.divideComponents(scale, existingScale, scaleScratch);
-        return Matrix4.multiplyByScale(matrix, newScale, result);
-    };
-
-    /**
-     * Retrieves a copy of the matrix row at the provided index as a Cartesian4 instance.
-     *
-     * @param {Matrix4} matrix The matrix to use.
-     * @param {Number} index The zero-based index of the row to retrieve.
-     * @param {Cartesian4} result The object onto which to store the result.
-     * @returns {Cartesian4} The modified result parameter.
-     *
-     * @exception {DeveloperError} index must be 0, 1, 2, or 3.
-     *
-     * @example
-     * //returns a Cartesian4 instance with values from the specified column
-     * // m = [10.0, 11.0, 12.0, 13.0]
-     * //     [14.0, 15.0, 16.0, 17.0]
-     * //     [18.0, 19.0, 20.0, 21.0]
-     * //     [22.0, 23.0, 24.0, 25.0]
-     *
-     * //Example 1: Returns an instance of Cartesian
-     * var a = Cesium.Matrix4.getRow(m, 2, new Cesium.Cartesian4());
-     *
-     * @example
-     * //Example 2: Sets values for a Cartesian instance
-     * var a = new Cesium.Cartesian4();
-     * Cesium.Matrix4.getRow(m, 2, a);
-     *
-     * // a.x = 18.0; a.y = 19.0; a.z = 20.0; a.w = 21.0;
-     */
-    Matrix4.getRow = function(matrix, index, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-
-        Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-        Check.Check.typeOf.number.lessThanOrEquals('index', index, 3);
-
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var x = matrix[index];
-        var y = matrix[index + 4];
-        var z = matrix[index + 8];
-        var w = matrix[index + 12];
-
-        result.x = x;
-        result.y = y;
-        result.z = z;
-        result.w = w;
-        return result;
-    };
-
-    /**
-     * Computes a new matrix that replaces the specified row in the provided matrix with the provided Cartesian4 instance.
-     *
-     * @param {Matrix4} matrix The matrix to use.
-     * @param {Number} index The zero-based index of the row to set.
-     * @param {Cartesian4} cartesian The Cartesian whose values will be assigned to the specified row.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     * @exception {DeveloperError} index must be 0, 1, 2, or 3.
-     *
-     * @example
-     * //create a new Matrix4 instance with new row values from the Cartesian4 instance
-     * // m = [10.0, 11.0, 12.0, 13.0]
-     * //     [14.0, 15.0, 16.0, 17.0]
-     * //     [18.0, 19.0, 20.0, 21.0]
-     * //     [22.0, 23.0, 24.0, 25.0]
-     *
-     * var a = Cesium.Matrix4.setRow(m, 2, new Cesium.Cartesian4(99.0, 98.0, 97.0, 96.0), new Cesium.Matrix4());
-     *
-     * // m remains the same
-     * // a = [10.0, 11.0, 12.0, 13.0]
-     * //     [14.0, 15.0, 16.0, 17.0]
-     * //     [99.0, 98.0, 97.0, 96.0]
-     * //     [22.0, 23.0, 24.0, 25.0]
-     */
-    Matrix4.setRow = function(matrix, index, cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-
-        Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-        Check.Check.typeOf.number.lessThanOrEquals('index', index, 3);
-
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result = Matrix4.clone(matrix, result);
-        result[index] = cartesian.x;
-        result[index + 4] = cartesian.y;
-        result[index + 8] = cartesian.z;
-        result[index + 12] = cartesian.w;
-        return result;
-    };
-
-    var scratchColumn$1 = new Cartesian2.Cartesian3();
-
-    /**
-     * Extracts the non-uniform scale assuming the matrix is an affine transformation.
-     *
-     * @param {Matrix4} matrix The matrix.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter
-     */
-    Matrix4.getScale = function(matrix, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.fromElements(matrix[0], matrix[1], matrix[2], scratchColumn$1));
-        result.y = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.fromElements(matrix[4], matrix[5], matrix[6], scratchColumn$1));
-        result.z = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.fromElements(matrix[8], matrix[9], matrix[10], scratchColumn$1));
-        return result;
-    };
-
-    var scratchScale$1 = new Cartesian2.Cartesian3();
-
-    /**
-     * Computes the maximum scale assuming the matrix is an affine transformation.
-     * The maximum scale is the maximum length of the column vectors in the upper-left
-     * 3x3 matrix.
-     *
-     * @param {Matrix4} matrix The matrix.
-     * @returns {Number} The maximum scale.
-     */
-    Matrix4.getMaximumScale = function(matrix) {
-        Matrix4.getScale(matrix, scratchScale$1);
-        return Cartesian2.Cartesian3.maximumComponent(scratchScale$1);
-    };
-
-    /**
-     * Computes the product of two matrices.
-     *
-     * @param {Matrix4} left The first matrix.
-     * @param {Matrix4} right The second matrix.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     */
-    Matrix4.multiply = function(left, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var left0 = left[0];
-        var left1 = left[1];
-        var left2 = left[2];
-        var left3 = left[3];
-        var left4 = left[4];
-        var left5 = left[5];
-        var left6 = left[6];
-        var left7 = left[7];
-        var left8 = left[8];
-        var left9 = left[9];
-        var left10 = left[10];
-        var left11 = left[11];
-        var left12 = left[12];
-        var left13 = left[13];
-        var left14 = left[14];
-        var left15 = left[15];
-
-        var right0 = right[0];
-        var right1 = right[1];
-        var right2 = right[2];
-        var right3 = right[3];
-        var right4 = right[4];
-        var right5 = right[5];
-        var right6 = right[6];
-        var right7 = right[7];
-        var right8 = right[8];
-        var right9 = right[9];
-        var right10 = right[10];
-        var right11 = right[11];
-        var right12 = right[12];
-        var right13 = right[13];
-        var right14 = right[14];
-        var right15 = right[15];
-
-        var column0Row0 = left0 * right0 + left4 * right1 + left8 * right2 + left12 * right3;
-        var column0Row1 = left1 * right0 + left5 * right1 + left9 * right2 + left13 * right3;
-        var column0Row2 = left2 * right0 + left6 * right1 + left10 * right2 + left14 * right3;
-        var column0Row3 = left3 * right0 + left7 * right1 + left11 * right2 + left15 * right3;
-
-        var column1Row0 = left0 * right4 + left4 * right5 + left8 * right6 + left12 * right7;
-        var column1Row1 = left1 * right4 + left5 * right5 + left9 * right6 + left13 * right7;
-        var column1Row2 = left2 * right4 + left6 * right5 + left10 * right6 + left14 * right7;
-        var column1Row3 = left3 * right4 + left7 * right5 + left11 * right6 + left15 * right7;
-
-        var column2Row0 = left0 * right8 + left4 * right9 + left8 * right10 + left12 * right11;
-        var column2Row1 = left1 * right8 + left5 * right9 + left9 * right10 + left13 * right11;
-        var column2Row2 = left2 * right8 + left6 * right9 + left10 * right10 + left14 * right11;
-        var column2Row3 = left3 * right8 + left7 * right9 + left11 * right10 + left15 * right11;
-
-        var column3Row0 = left0 * right12 + left4 * right13 + left8 * right14 + left12 * right15;
-        var column3Row1 = left1 * right12 + left5 * right13 + left9 * right14 + left13 * right15;
-        var column3Row2 = left2 * right12 + left6 * right13 + left10 * right14 + left14 * right15;
-        var column3Row3 = left3 * right12 + left7 * right13 + left11 * right14 + left15 * right15;
-
-        result[0] = column0Row0;
-        result[1] = column0Row1;
-        result[2] = column0Row2;
-        result[3] = column0Row3;
-        result[4] = column1Row0;
-        result[5] = column1Row1;
-        result[6] = column1Row2;
-        result[7] = column1Row3;
-        result[8] = column2Row0;
-        result[9] = column2Row1;
-        result[10] = column2Row2;
-        result[11] = column2Row3;
-        result[12] = column3Row0;
-        result[13] = column3Row1;
-        result[14] = column3Row2;
-        result[15] = column3Row3;
-        return result;
-    };
-
-    /**
-     * Computes the sum of two matrices.
-     *
-     * @param {Matrix4} left The first matrix.
-     * @param {Matrix4} right The second matrix.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     */
-    Matrix4.add = function(left, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result[0] = left[0] + right[0];
-        result[1] = left[1] + right[1];
-        result[2] = left[2] + right[2];
-        result[3] = left[3] + right[3];
-        result[4] = left[4] + right[4];
-        result[5] = left[5] + right[5];
-        result[6] = left[6] + right[6];
-        result[7] = left[7] + right[7];
-        result[8] = left[8] + right[8];
-        result[9] = left[9] + right[9];
-        result[10] = left[10] + right[10];
-        result[11] = left[11] + right[11];
-        result[12] = left[12] + right[12];
-        result[13] = left[13] + right[13];
-        result[14] = left[14] + right[14];
-        result[15] = left[15] + right[15];
-        return result;
-    };
-
-    /**
-     * Computes the difference of two matrices.
-     *
-     * @param {Matrix4} left The first matrix.
-     * @param {Matrix4} right The second matrix.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     */
-    Matrix4.subtract = function(left, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result[0] = left[0] - right[0];
-        result[1] = left[1] - right[1];
-        result[2] = left[2] - right[2];
-        result[3] = left[3] - right[3];
-        result[4] = left[4] - right[4];
-        result[5] = left[5] - right[5];
-        result[6] = left[6] - right[6];
-        result[7] = left[7] - right[7];
-        result[8] = left[8] - right[8];
-        result[9] = left[9] - right[9];
-        result[10] = left[10] - right[10];
-        result[11] = left[11] - right[11];
-        result[12] = left[12] - right[12];
-        result[13] = left[13] - right[13];
-        result[14] = left[14] - right[14];
-        result[15] = left[15] - right[15];
-        return result;
-    };
-
-    /**
-     * Computes the product of two matrices assuming the matrices are
-     * affine transformation matrices, where the upper left 3x3 elements
-     * are a rotation matrix, and the upper three elements in the fourth
-     * column are the translation.  The bottom row is assumed to be [0, 0, 0, 1].
-     * The matrix is not verified to be in the proper form.
-     * This method is faster than computing the product for general 4x4
-     * matrices using {@link Matrix4.multiply}.
-     *
-     * @param {Matrix4} left The first matrix.
-     * @param {Matrix4} right The second matrix.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     * @example
-     * var m1 = new Cesium.Matrix4(1.0, 6.0, 7.0, 0.0, 2.0, 5.0, 8.0, 0.0, 3.0, 4.0, 9.0, 0.0, 0.0, 0.0, 0.0, 1.0);
-     * var m2 = Cesium.Transforms.eastNorthUpToFixedFrame(new Cesium.Cartesian3(1.0, 1.0, 1.0));
-     * var m3 = Cesium.Matrix4.multiplyTransformation(m1, m2, new Cesium.Matrix4());
-     */
-    Matrix4.multiplyTransformation = function(left, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var left0 = left[0];
-        var left1 = left[1];
-        var left2 = left[2];
-        var left4 = left[4];
-        var left5 = left[5];
-        var left6 = left[6];
-        var left8 = left[8];
-        var left9 = left[9];
-        var left10 = left[10];
-        var left12 = left[12];
-        var left13 = left[13];
-        var left14 = left[14];
-
-        var right0 = right[0];
-        var right1 = right[1];
-        var right2 = right[2];
-        var right4 = right[4];
-        var right5 = right[5];
-        var right6 = right[6];
-        var right8 = right[8];
-        var right9 = right[9];
-        var right10 = right[10];
-        var right12 = right[12];
-        var right13 = right[13];
-        var right14 = right[14];
-
-        var column0Row0 = left0 * right0 + left4 * right1 + left8 * right2;
-        var column0Row1 = left1 * right0 + left5 * right1 + left9 * right2;
-        var column0Row2 = left2 * right0 + left6 * right1 + left10 * right2;
-
-        var column1Row0 = left0 * right4 + left4 * right5 + left8 * right6;
-        var column1Row1 = left1 * right4 + left5 * right5 + left9 * right6;
-        var column1Row2 = left2 * right4 + left6 * right5 + left10 * right6;
-
-        var column2Row0 = left0 * right8 + left4 * right9 + left8 * right10;
-        var column2Row1 = left1 * right8 + left5 * right9 + left9 * right10;
-        var column2Row2 = left2 * right8 + left6 * right9 + left10 * right10;
-
-        var column3Row0 = left0 * right12 + left4 * right13 + left8 * right14 + left12;
-        var column3Row1 = left1 * right12 + left5 * right13 + left9 * right14 + left13;
-        var column3Row2 = left2 * right12 + left6 * right13 + left10 * right14 + left14;
-
-        result[0] = column0Row0;
-        result[1] = column0Row1;
-        result[2] = column0Row2;
-        result[3] = 0.0;
-        result[4] = column1Row0;
-        result[5] = column1Row1;
-        result[6] = column1Row2;
-        result[7] = 0.0;
-        result[8] = column2Row0;
-        result[9] = column2Row1;
-        result[10] = column2Row2;
-        result[11] = 0.0;
-        result[12] = column3Row0;
-        result[13] = column3Row1;
-        result[14] = column3Row2;
-        result[15] = 1.0;
-        return result;
-    };
-
-    /**
-     * Multiplies a transformation matrix (with a bottom row of <code>[0.0, 0.0, 0.0, 1.0]</code>)
-     * by a 3x3 rotation matrix.  This is an optimization
-     * for <code>Matrix4.multiply(m, Matrix4.fromRotationTranslation(rotation), m);</code> with less allocations and arithmetic operations.
-     *
-     * @param {Matrix4} matrix The matrix on the left-hand side.
-     * @param {Matrix3} rotation The 3x3 rotation matrix on the right-hand side.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     * @example
-     * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromRotationTranslation(rotation), m);
-     * Cesium.Matrix4.multiplyByMatrix3(m, rotation, m);
-     */
-    Matrix4.multiplyByMatrix3 = function(matrix, rotation, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('rotation', rotation);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var left0 = matrix[0];
-        var left1 = matrix[1];
-        var left2 = matrix[2];
-        var left4 = matrix[4];
-        var left5 = matrix[5];
-        var left6 = matrix[6];
-        var left8 = matrix[8];
-        var left9 = matrix[9];
-        var left10 = matrix[10];
-
-        var right0 = rotation[0];
-        var right1 = rotation[1];
-        var right2 = rotation[2];
-        var right4 = rotation[3];
-        var right5 = rotation[4];
-        var right6 = rotation[5];
-        var right8 = rotation[6];
-        var right9 = rotation[7];
-        var right10 = rotation[8];
-
-        var column0Row0 = left0 * right0 + left4 * right1 + left8 * right2;
-        var column0Row1 = left1 * right0 + left5 * right1 + left9 * right2;
-        var column0Row2 = left2 * right0 + left6 * right1 + left10 * right2;
-
-        var column1Row0 = left0 * right4 + left4 * right5 + left8 * right6;
-        var column1Row1 = left1 * right4 + left5 * right5 + left9 * right6;
-        var column1Row2 = left2 * right4 + left6 * right5 + left10 * right6;
-
-        var column2Row0 = left0 * right8 + left4 * right9 + left8 * right10;
-        var column2Row1 = left1 * right8 + left5 * right9 + left9 * right10;
-        var column2Row2 = left2 * right8 + left6 * right9 + left10 * right10;
-
-        result[0] = column0Row0;
-        result[1] = column0Row1;
-        result[2] = column0Row2;
-        result[3] = 0.0;
-        result[4] = column1Row0;
-        result[5] = column1Row1;
-        result[6] = column1Row2;
-        result[7] = 0.0;
-        result[8] = column2Row0;
-        result[9] = column2Row1;
-        result[10] = column2Row2;
-        result[11] = 0.0;
-        result[12] = matrix[12];
-        result[13] = matrix[13];
-        result[14] = matrix[14];
-        result[15] = matrix[15];
-        return result;
-    };
-
-    /**
-     * Multiplies a transformation matrix (with a bottom row of <code>[0.0, 0.0, 0.0, 1.0]</code>)
-     * by an implicit translation matrix defined by a {@link Cartesian3}.  This is an optimization
-     * for <code>Matrix4.multiply(m, Matrix4.fromTranslation(position), m);</code> with less allocations and arithmetic operations.
-     *
-     * @param {Matrix4} matrix The matrix on the left-hand side.
-     * @param {Cartesian3} translation The translation on the right-hand side.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     * @example
-     * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromTranslation(position), m);
-     * Cesium.Matrix4.multiplyByTranslation(m, position, m);
-     */
-    Matrix4.multiplyByTranslation = function(matrix, translation, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('translation', translation);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var x = translation.x;
-        var y = translation.y;
-        var z = translation.z;
-
-        var tx = (x * matrix[0]) + (y * matrix[4]) + (z * matrix[8]) + matrix[12];
-        var ty = (x * matrix[1]) + (y * matrix[5]) + (z * matrix[9]) + matrix[13];
-        var tz = (x * matrix[2]) + (y * matrix[6]) + (z * matrix[10]) + matrix[14];
-
-        result[0] = matrix[0];
-        result[1] = matrix[1];
-        result[2] = matrix[2];
-        result[3] = matrix[3];
-        result[4] = matrix[4];
-        result[5] = matrix[5];
-        result[6] = matrix[6];
-        result[7] = matrix[7];
-        result[8] = matrix[8];
-        result[9] = matrix[9];
-        result[10] = matrix[10];
-        result[11] = matrix[11];
-        result[12] = tx;
-        result[13] = ty;
-        result[14] = tz;
-        result[15] = matrix[15];
-        return result;
-    };
-
-    var uniformScaleScratch = new Cartesian2.Cartesian3();
-
-    /**
-     * Multiplies an affine transformation matrix (with a bottom row of <code>[0.0, 0.0, 0.0, 1.0]</code>)
-     * by an implicit uniform scale matrix.  This is an optimization
-     * for <code>Matrix4.multiply(m, Matrix4.fromUniformScale(scale), m);</code>, where
-     * <code>m</code> must be an affine matrix.
-     * This function performs fewer allocations and arithmetic operations.
-     *
-     * @param {Matrix4} matrix The affine matrix on the left-hand side.
-     * @param {Number} scale The uniform scale on the right-hand side.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     *
-     * @example
-     * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromUniformScale(scale), m);
-     * Cesium.Matrix4.multiplyByUniformScale(m, scale, m);
-     *
-     * @see Matrix4.fromUniformScale
-     * @see Matrix4.multiplyByScale
-     */
-    Matrix4.multiplyByUniformScale = function(matrix, scale, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.number('scale', scale);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        uniformScaleScratch.x = scale;
-        uniformScaleScratch.y = scale;
-        uniformScaleScratch.z = scale;
-        return Matrix4.multiplyByScale(matrix, uniformScaleScratch, result);
-    };
-
-    /**
-     * Multiplies an affine transformation matrix (with a bottom row of <code>[0.0, 0.0, 0.0, 1.0]</code>)
-     * by an implicit non-uniform scale matrix.  This is an optimization
-     * for <code>Matrix4.multiply(m, Matrix4.fromUniformScale(scale), m);</code>, where
-     * <code>m</code> must be an affine matrix.
-     * This function performs fewer allocations and arithmetic operations.
-     *
-     * @param {Matrix4} matrix The affine matrix on the left-hand side.
-     * @param {Cartesian3} scale The non-uniform scale on the right-hand side.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     *
-     * @example
-     * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromScale(scale), m);
-     * Cesium.Matrix4.multiplyByScale(m, scale, m);
-     *
-     * @see Matrix4.fromScale
-     * @see Matrix4.multiplyByUniformScale
-     */
-    Matrix4.multiplyByScale = function(matrix, scale, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('scale', scale);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var scaleX = scale.x;
-        var scaleY = scale.y;
-        var scaleZ = scale.z;
-
-        // Faster than Cartesian3.equals
-        if ((scaleX === 1.0) && (scaleY === 1.0) && (scaleZ === 1.0)) {
-            return Matrix4.clone(matrix, result);
-        }
-
-        result[0] = scaleX * matrix[0];
-        result[1] = scaleX * matrix[1];
-        result[2] = scaleX * matrix[2];
-        result[3] = 0.0;
-        result[4] = scaleY * matrix[4];
-        result[5] = scaleY * matrix[5];
-        result[6] = scaleY * matrix[6];
-        result[7] = 0.0;
-        result[8] = scaleZ * matrix[8];
-        result[9] = scaleZ * matrix[9];
-        result[10] = scaleZ * matrix[10];
-        result[11] = 0.0;
-        result[12] = matrix[12];
-        result[13] = matrix[13];
-        result[14] = matrix[14];
-        result[15] = 1.0;
-        return result;
-    };
-
-    /**
-     * Computes the product of a matrix and a column vector.
-     *
-     * @param {Matrix4} matrix The matrix.
-     * @param {Cartesian4} cartesian The vector.
-     * @param {Cartesian4} result The object onto which to store the result.
-     * @returns {Cartesian4} The modified result parameter.
-     */
-    Matrix4.multiplyByVector = function(matrix, cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var vX = cartesian.x;
-        var vY = cartesian.y;
-        var vZ = cartesian.z;
-        var vW = cartesian.w;
-
-        var x = matrix[0] * vX + matrix[4] * vY + matrix[8] * vZ + matrix[12] * vW;
-        var y = matrix[1] * vX + matrix[5] * vY + matrix[9] * vZ + matrix[13] * vW;
-        var z = matrix[2] * vX + matrix[6] * vY + matrix[10] * vZ + matrix[14] * vW;
-        var w = matrix[3] * vX + matrix[7] * vY + matrix[11] * vZ + matrix[15] * vW;
-
-        result.x = x;
-        result.y = y;
-        result.z = z;
-        result.w = w;
-        return result;
-    };
-
-    /**
-     * Computes the product of a matrix and a {@link Cartesian3}.  This is equivalent to calling {@link Matrix4.multiplyByVector}
-     * with a {@link Cartesian4} with a <code>w</code> component of zero.
-     *
-     * @param {Matrix4} matrix The matrix.
-     * @param {Cartesian3} cartesian The point.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     *
-     * @example
-     * var p = new Cesium.Cartesian3(1.0, 2.0, 3.0);
-     * var result = Cesium.Matrix4.multiplyByPointAsVector(matrix, p, new Cesium.Cartesian3());
-     * // A shortcut for
-     * //   Cartesian3 p = ...
-     * //   Cesium.Matrix4.multiplyByVector(matrix, new Cesium.Cartesian4(p.x, p.y, p.z, 0.0), result);
-     */
-    Matrix4.multiplyByPointAsVector = function(matrix, cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var vX = cartesian.x;
-        var vY = cartesian.y;
-        var vZ = cartesian.z;
-
-        var x = matrix[0] * vX + matrix[4] * vY + matrix[8] * vZ;
-        var y = matrix[1] * vX + matrix[5] * vY + matrix[9] * vZ;
-        var z = matrix[2] * vX + matrix[6] * vY + matrix[10] * vZ;
-
-        result.x = x;
-        result.y = y;
-        result.z = z;
-        return result;
-    };
-
-    /**
-     * Computes the product of a matrix and a {@link Cartesian3}. This is equivalent to calling {@link Matrix4.multiplyByVector}
-     * with a {@link Cartesian4} with a <code>w</code> component of 1, but returns a {@link Cartesian3} instead of a {@link Cartesian4}.
-     *
-     * @param {Matrix4} matrix The matrix.
-     * @param {Cartesian3} cartesian The point.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     *
-     * @example
-     * var p = new Cesium.Cartesian3(1.0, 2.0, 3.0);
-     * var result = Cesium.Matrix4.multiplyByPoint(matrix, p, new Cesium.Cartesian3());
-     */
-    Matrix4.multiplyByPoint = function(matrix, cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var vX = cartesian.x;
-        var vY = cartesian.y;
-        var vZ = cartesian.z;
-
-        var x = matrix[0] * vX + matrix[4] * vY + matrix[8] * vZ + matrix[12];
-        var y = matrix[1] * vX + matrix[5] * vY + matrix[9] * vZ + matrix[13];
-        var z = matrix[2] * vX + matrix[6] * vY + matrix[10] * vZ + matrix[14];
-
-        result.x = x;
-        result.y = y;
-        result.z = z;
-        return result;
-    };
-
-    /**
-     * Computes the product of a matrix and a scalar.
-     *
-     * @param {Matrix4} matrix The matrix.
-     * @param {Number} scalar The number to multiply by.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     * @example
-     * //create a Matrix4 instance which is a scaled version of the supplied Matrix4
-     * // m = [10.0, 11.0, 12.0, 13.0]
-     * //     [14.0, 15.0, 16.0, 17.0]
-     * //     [18.0, 19.0, 20.0, 21.0]
-     * //     [22.0, 23.0, 24.0, 25.0]
-     *
-     * var a = Cesium.Matrix4.multiplyByScalar(m, -2, new Cesium.Matrix4());
-     *
-     * // m remains the same
-     * // a = [-20.0, -22.0, -24.0, -26.0]
-     * //     [-28.0, -30.0, -32.0, -34.0]
-     * //     [-36.0, -38.0, -40.0, -42.0]
-     * //     [-44.0, -46.0, -48.0, -50.0]
-     */
-    Matrix4.multiplyByScalar = function(matrix, scalar, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.number('scalar', scalar);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result[0] = matrix[0] * scalar;
-        result[1] = matrix[1] * scalar;
-        result[2] = matrix[2] * scalar;
-        result[3] = matrix[3] * scalar;
-        result[4] = matrix[4] * scalar;
-        result[5] = matrix[5] * scalar;
-        result[6] = matrix[6] * scalar;
-        result[7] = matrix[7] * scalar;
-        result[8] = matrix[8] * scalar;
-        result[9] = matrix[9] * scalar;
-        result[10] = matrix[10] * scalar;
-        result[11] = matrix[11] * scalar;
-        result[12] = matrix[12] * scalar;
-        result[13] = matrix[13] * scalar;
-        result[14] = matrix[14] * scalar;
-        result[15] = matrix[15] * scalar;
-        return result;
-    };
-
-    /**
-     * Compute the product of a matrix and a plane.
-     * @param matrix
-     * @param plane
-     * @param result
-     * @returns {*}
-     */
-    Matrix4.multiplyByPlane = function(matrix, plane, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('plane', plane);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var inverseMat = new Matrix4();
-        var invTrans = new Matrix4();
-        Matrix4.inverse(matrix, inverseMat);
-        Matrix4.transpose(inverseMat, invTrans);
-        var v4 = new Cartesian4(plane.normal.x, plane.normal.y, plane.normal.z, plane.distance);
-        Matrix4.multiplyByVector(invTrans, v4, v4);
-
-        result.normal.x = v4.x;
-        result.normal.y = v4.y;
-        result.normal.z = v4.z;
-        var length = Cartesian2.Cartesian3.magnitude(result.normal);
-        Cartesian2.Cartesian3.normalize(result.normal, result.normal);
-        result.distance = v4.w / length;
-        return result;
-    };
-
-    /**
-     * Computes a negated copy of the provided matrix.
-     *
-     * @param {Matrix4} matrix The matrix to negate.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     * @example
-     * //create a new Matrix4 instance which is a negation of a Matrix4
-     * // m = [10.0, 11.0, 12.0, 13.0]
-     * //     [14.0, 15.0, 16.0, 17.0]
-     * //     [18.0, 19.0, 20.0, 21.0]
-     * //     [22.0, 23.0, 24.0, 25.0]
-     *
-     * var a = Cesium.Matrix4.negate(m, new Cesium.Matrix4());
-     *
-     * // m remains the same
-     * // a = [-10.0, -11.0, -12.0, -13.0]
-     * //     [-14.0, -15.0, -16.0, -17.0]
-     * //     [-18.0, -19.0, -20.0, -21.0]
-     * //     [-22.0, -23.0, -24.0, -25.0]
-     */
-    Matrix4.negate = function(matrix, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result[0] = -matrix[0];
-        result[1] = -matrix[1];
-        result[2] = -matrix[2];
-        result[3] = -matrix[3];
-        result[4] = -matrix[4];
-        result[5] = -matrix[5];
-        result[6] = -matrix[6];
-        result[7] = -matrix[7];
-        result[8] = -matrix[8];
-        result[9] = -matrix[9];
-        result[10] = -matrix[10];
-        result[11] = -matrix[11];
-        result[12] = -matrix[12];
-        result[13] = -matrix[13];
-        result[14] = -matrix[14];
-        result[15] = -matrix[15];
-        return result;
-    };
-
-    /**
-     * Computes the transpose of the provided matrix.
-     *
-     * @param {Matrix4} matrix The matrix to transpose.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     *
-     * @example
-     * //returns transpose of a Matrix4
-     * // m = [10.0, 11.0, 12.0, 13.0]
-     * //     [14.0, 15.0, 16.0, 17.0]
-     * //     [18.0, 19.0, 20.0, 21.0]
-     * //     [22.0, 23.0, 24.0, 25.0]
-     *
-     * var a = Cesium.Matrix4.transpose(m, new Cesium.Matrix4());
-     *
-     * // m remains the same
-     * // a = [10.0, 14.0, 18.0, 22.0]
-     * //     [11.0, 15.0, 19.0, 23.0]
-     * //     [12.0, 16.0, 20.0, 24.0]
-     * //     [13.0, 17.0, 21.0, 25.0]
-     */
-    Matrix4.transpose = function(matrix, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var matrix1 = matrix[1];
-        var matrix2 = matrix[2];
-        var matrix3 = matrix[3];
-        var matrix6 = matrix[6];
-        var matrix7 = matrix[7];
-        var matrix11 = matrix[11];
-
-        result[0] = matrix[0];
-        result[1] = matrix[4];
-        result[2] = matrix[8];
-        result[3] = matrix[12];
-        result[4] = matrix1;
-        result[5] = matrix[5];
-        result[6] = matrix[9];
-        result[7] = matrix[13];
-        result[8] = matrix2;
-        result[9] = matrix6;
-        result[10] = matrix[10];
-        result[11] = matrix[14];
-        result[12] = matrix3;
-        result[13] = matrix7;
-        result[14] = matrix11;
-        result[15] = matrix[15];
-        return result;
-    };
-
-    /**
-     * Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements.
-     *
-     * @param {Matrix4} matrix The matrix with signed elements.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     */
-    Matrix4.abs = function(matrix, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result[0] = Math.abs(matrix[0]);
-        result[1] = Math.abs(matrix[1]);
-        result[2] = Math.abs(matrix[2]);
-        result[3] = Math.abs(matrix[3]);
-        result[4] = Math.abs(matrix[4]);
-        result[5] = Math.abs(matrix[5]);
-        result[6] = Math.abs(matrix[6]);
-        result[7] = Math.abs(matrix[7]);
-        result[8] = Math.abs(matrix[8]);
-        result[9] = Math.abs(matrix[9]);
-        result[10] = Math.abs(matrix[10]);
-        result[11] = Math.abs(matrix[11]);
-        result[12] = Math.abs(matrix[12]);
-        result[13] = Math.abs(matrix[13]);
-        result[14] = Math.abs(matrix[14]);
-        result[15] = Math.abs(matrix[15]);
-
-        return result;
-    };
-
-    /**
-     * Compares the provided matrices componentwise and returns
-     * <code>true</code> if they are equal, <code>false</code> otherwise.
-     *
-     * @param {Matrix4} [left] The first matrix.
-     * @param {Matrix4} [right] The second matrix.
-     * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-     *
-     * @example
-     * //compares two Matrix4 instances
-     *
-     * // a = [10.0, 14.0, 18.0, 22.0]
-     * //     [11.0, 15.0, 19.0, 23.0]
-     * //     [12.0, 16.0, 20.0, 24.0]
-     * //     [13.0, 17.0, 21.0, 25.0]
-     *
-     * // b = [10.0, 14.0, 18.0, 22.0]
-     * //     [11.0, 15.0, 19.0, 23.0]
-     * //     [12.0, 16.0, 20.0, 24.0]
-     * //     [13.0, 17.0, 21.0, 25.0]
-     *
-     * if(Cesium.Matrix4.equals(a,b)) {
-     *      console.log("Both matrices are equal");
-     * } else {
-     *      console.log("They are not equal");
-     * }
-     *
-     * //Prints "Both matrices are equal" on the console
-     */
-    Matrix4.equals = function(left, right) {
-        // Given that most matrices will be transformation matrices, the elements
-        // are tested in order such that the test is likely to fail as early
-        // as possible.  I _think_ this is just as friendly to the L1 cache
-        // as testing in index order.  It is certainty faster in practice.
-        return (left === right) ||
-               (when.defined(left) &&
-                when.defined(right) &&
-                // Translation
-                left[12] === right[12] &&
-                left[13] === right[13] &&
-                left[14] === right[14] &&
-
-                // Rotation/scale
-                left[0] === right[0] &&
-                left[1] === right[1] &&
-                left[2] === right[2] &&
-                left[4] === right[4] &&
-                left[5] === right[5] &&
-                left[6] === right[6] &&
-                left[8] === right[8] &&
-                left[9] === right[9] &&
-                left[10] === right[10] &&
-
-                // Bottom row
-                left[3] === right[3] &&
-                left[7] === right[7] &&
-                left[11] === right[11] &&
-                left[15] === right[15]);
-    };
-
-    /**
-     * Compares the provided matrices componentwise and returns
-     * <code>true</code> if they are within the provided epsilon,
-     * <code>false</code> otherwise.
-     *
-     * @param {Matrix4} [left] The first matrix.
-     * @param {Matrix4} [right] The second matrix.
-     * @param {Number} epsilon The epsilon to use for equality testing.
-     * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-     *
-     * @example
-     * //compares two Matrix4 instances
-     *
-     * // a = [10.5, 14.5, 18.5, 22.5]
-     * //     [11.5, 15.5, 19.5, 23.5]
-     * //     [12.5, 16.5, 20.5, 24.5]
-     * //     [13.5, 17.5, 21.5, 25.5]
-     *
-     * // b = [10.0, 14.0, 18.0, 22.0]
-     * //     [11.0, 15.0, 19.0, 23.0]
-     * //     [12.0, 16.0, 20.0, 24.0]
-     * //     [13.0, 17.0, 21.0, 25.0]
-     *
-     * if(Cesium.Matrix4.equalsEpsilon(a,b,0.1)){
-     *      console.log("Difference between both the matrices is less than 0.1");
-     * } else {
-     *      console.log("Difference between both the matrices is not less than 0.1");
-     * }
-     *
-     * //Prints "Difference between both the matrices is not less than 0.1" on the console
-     */
-    Matrix4.equalsEpsilon = function(left, right, epsilon) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number('epsilon', epsilon);
-        //>>includeEnd('debug');
-
-        return (left === right) ||
-                (when.defined(left) &&
-                when.defined(right) &&
-                Math.abs(left[0] - right[0]) <= epsilon &&
-                Math.abs(left[1] - right[1]) <= epsilon &&
-                Math.abs(left[2] - right[2]) <= epsilon &&
-                Math.abs(left[3] - right[3]) <= epsilon &&
-                Math.abs(left[4] - right[4]) <= epsilon &&
-                Math.abs(left[5] - right[5]) <= epsilon &&
-                Math.abs(left[6] - right[6]) <= epsilon &&
-                Math.abs(left[7] - right[7]) <= epsilon &&
-                Math.abs(left[8] - right[8]) <= epsilon &&
-                Math.abs(left[9] - right[9]) <= epsilon &&
-                Math.abs(left[10] - right[10]) <= epsilon &&
-                Math.abs(left[11] - right[11]) <= epsilon &&
-                Math.abs(left[12] - right[12]) <= epsilon &&
-                Math.abs(left[13] - right[13]) <= epsilon &&
-                Math.abs(left[14] - right[14]) <= epsilon &&
-                Math.abs(left[15] - right[15]) <= epsilon);
-    };
-
-    /**
-     * Gets the translation portion of the provided matrix, assuming the matrix is a affine transformation matrix.
-     *
-     * @param {Matrix4} matrix The matrix to use.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Matrix4.getTranslation = function(matrix, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = matrix[12];
-        result.y = matrix[13];
-        result.z = matrix[14];
-        return result;
-    };
-
-    /**
-     * Gets the upper left 3x3 rotation matrix of the provided matrix, assuming the matrix is an affine transformation matrix.
-     *
-     * @param {Matrix4} matrix The matrix to use.
-     * @param {Matrix3} result The object onto which to store the result.
-     * @returns {Matrix3} The modified result parameter.
-     *
-     * @example
-     * // returns a Matrix3 instance from a Matrix4 instance
-     *
-     * // m = [10.0, 14.0, 18.0, 22.0]
-     * //     [11.0, 15.0, 19.0, 23.0]
-     * //     [12.0, 16.0, 20.0, 24.0]
-     * //     [13.0, 17.0, 21.0, 25.0]
-     *
-     * var b = new Cesium.Matrix3();
-     * Cesium.Matrix4.getMatrix3(m,b);
-     *
-     * // b = [10.0, 14.0, 18.0]
-     * //     [11.0, 15.0, 19.0]
-     * //     [12.0, 16.0, 20.0]
-     */
-    Matrix4.getMatrix3 = function(matrix, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result[0] = matrix[0];
-        result[1] = matrix[1];
-        result[2] = matrix[2];
-        result[3] = matrix[4];
-        result[4] = matrix[5];
-        result[5] = matrix[6];
-        result[6] = matrix[8];
-        result[7] = matrix[9];
-        result[8] = matrix[10];
-        return result;
-    };
-
-    /**
-     * Gets the upper left 3x3 rotation matrix of the provided matrix, assuming the matrix is a affine transformation matrix.
-     *
-     * @param {Matrix4} matrix The matrix to use.
-     * @param {Matrix3} result The object onto which to store the result.
-     * @returns {Matrix3} The modified result parameter.
-     *
-     * @example
-     * // returns a Matrix3 instance from a Matrix4 instance
-     *
-     * // m = [10.0, 14.0, 18.0, 22.0]
-     * //     [11.0, 15.0, 19.0, 23.0]
-     * //     [12.0, 16.0, 20.0, 24.0]
-     * //     [13.0, 17.0, 21.0, 25.0]
-     *
-     * var b = new Cesium.Matrix3();
-     * Cesium.Matrix4.getRotation(m,b);
-     *
-     * // b = [10.0, 14.0, 18.0]
-     * //     [11.0, 15.0, 19.0]
-     * //     [12.0, 16.0, 20.0]
-     */
-    Matrix4.getRotation = function(matrix, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result[0] = matrix[0];
-        result[1] = matrix[1];
-        result[2] = matrix[2];
-        result[3] = matrix[4];
-        result[4] = matrix[5];
-        result[5] = matrix[6];
-        result[6] = matrix[8];
-        result[7] = matrix[9];
-        result[8] = matrix[10];
-        return result;
-    };
-
-    var scratchInverseRotation = new Matrix3();
-    var scratchMatrix3Zero = new Matrix3();
-    var scratchBottomRow = new Cartesian4();
-    var scratchExpectedBottomRow = new Cartesian4(0.0, 0.0, 0.0, 1.0);
-
-     /**
-      * Computes the inverse of the provided matrix using Cramers Rule.
-      * If the determinant is zero, the matrix can not be inverted, and an exception is thrown.
-      * If the matrix is an affine transformation matrix, it is more efficient
-      * to invert it with {@link Matrix4.inverseTransformation}.
-      *
-      * @param {Matrix4} matrix The matrix to invert.
-      * @param {Matrix4} result The object onto which to store the result.
-      * @returns {Matrix4} The modified result parameter.
-      *
-      * @exception {RuntimeError} matrix is not invertible because its determinate is zero.
-      */
-    Matrix4.inverse = function(matrix, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-        //
-        // Ported from:
-        //   ftp://download.intel.com/design/PentiumIII/sml/24504301.pdf
-        //
-        var src0 = matrix[0];
-        var src1 = matrix[4];
-        var src2 = matrix[8];
-        var src3 = matrix[12];
-        var src4 = matrix[1];
-        var src5 = matrix[5];
-        var src6 = matrix[9];
-        var src7 = matrix[13];
-        var src8 = matrix[2];
-        var src9 = matrix[6];
-        var src10 = matrix[10];
-        var src11 = matrix[14];
-        var src12 = matrix[3];
-        var src13 = matrix[7];
-        var src14 = matrix[11];
-        var src15 = matrix[15];
-
-        // calculate pairs for first 8 elements (cofactors)
-        var tmp0 = src10 * src15;
-        var tmp1 = src11 * src14;
-        var tmp2 = src9 * src15;
-        var tmp3 = src11 * src13;
-        var tmp4 = src9 * src14;
-        var tmp5 = src10 * src13;
-        var tmp6 = src8 * src15;
-        var tmp7 = src11 * src12;
-        var tmp8 = src8 * src14;
-        var tmp9 = src10 * src12;
-        var tmp10 = src8 * src13;
-        var tmp11 = src9 * src12;
-
-        // calculate first 8 elements (cofactors)
-        var dst0 = (tmp0 * src5 + tmp3 * src6 + tmp4 * src7) - (tmp1 * src5 + tmp2 * src6 + tmp5 * src7);
-        var dst1 = (tmp1 * src4 + tmp6 * src6 + tmp9 * src7) - (tmp0 * src4 + tmp7 * src6 + tmp8 * src7);
-        var dst2 = (tmp2 * src4 + tmp7 * src5 + tmp10 * src7) - (tmp3 * src4 + tmp6 * src5 + tmp11 * src7);
-        var dst3 = (tmp5 * src4 + tmp8 * src5 + tmp11 * src6) - (tmp4 * src4 + tmp9 * src5 + tmp10 * src6);
-        var dst4 = (tmp1 * src1 + tmp2 * src2 + tmp5 * src3) - (tmp0 * src1 + tmp3 * src2 + tmp4 * src3);
-        var dst5 = (tmp0 * src0 + tmp7 * src2 + tmp8 * src3) - (tmp1 * src0 + tmp6 * src2 + tmp9 * src3);
-        var dst6 = (tmp3 * src0 + tmp6 * src1 + tmp11 * src3) - (tmp2 * src0 + tmp7 * src1 + tmp10 * src3);
-        var dst7 = (tmp4 * src0 + tmp9 * src1 + tmp10 * src2) - (tmp5 * src0 + tmp8 * src1 + tmp11 * src2);
-
-        // calculate pairs for second 8 elements (cofactors)
-        tmp0 = src2 * src7;
-        tmp1 = src3 * src6;
-        tmp2 = src1 * src7;
-        tmp3 = src3 * src5;
-        tmp4 = src1 * src6;
-        tmp5 = src2 * src5;
-        tmp6 = src0 * src7;
-        tmp7 = src3 * src4;
-        tmp8 = src0 * src6;
-        tmp9 = src2 * src4;
-        tmp10 = src0 * src5;
-        tmp11 = src1 * src4;
-
-        // calculate second 8 elements (cofactors)
-        var dst8 = (tmp0 * src13 + tmp3 * src14 + tmp4 * src15) - (tmp1 * src13 + tmp2 * src14 + tmp5 * src15);
-        var dst9 = (tmp1 * src12 + tmp6 * src14 + tmp9 * src15) - (tmp0 * src12 + tmp7 * src14 + tmp8 * src15);
-        var dst10 = (tmp2 * src12 + tmp7 * src13 + tmp10 * src15) - (tmp3 * src12 + tmp6 * src13 + tmp11 * src15);
-        var dst11 = (tmp5 * src12 + tmp8 * src13 + tmp11 * src14) - (tmp4 * src12 + tmp9 * src13 + tmp10 * src14);
-        var dst12 = (tmp2 * src10 + tmp5 * src11 + tmp1 * src9) - (tmp4 * src11 + tmp0 * src9 + tmp3 * src10);
-        var dst13 = (tmp8 * src11 + tmp0 * src8 + tmp7 * src10) - (tmp6 * src10 + tmp9 * src11 + tmp1 * src8);
-        var dst14 = (tmp6 * src9 + tmp11 * src11 + tmp3 * src8) - (tmp10 * src11 + tmp2 * src8 + tmp7 * src9);
-        var dst15 = (tmp10 * src10 + tmp4 * src8 + tmp9 * src9) - (tmp8 * src9 + tmp11 * src10 + tmp5 * src8);
-
-        // calculate determinant
-        var det = src0 * dst0 + src1 * dst1 + src2 * dst2 + src3 * dst3;
-
-        if (Math.abs(det) < _Math.CesiumMath.EPSILON21) {
-                // Special case for a zero scale matrix that can occur, for example,
-                // when a model's node has a [0, 0, 0] scale.
-                if (Matrix3.equalsEpsilon(Matrix4.getRotation(matrix, scratchInverseRotation), scratchMatrix3Zero, _Math.CesiumMath.EPSILON7) &&
-                Cartesian4.equals(Matrix4.getRow(matrix, 3, scratchBottomRow), scratchExpectedBottomRow)) {
-
-                result[0] = 0.0;
-                result[1] = 0.0;
-                result[2] = 0.0;
-                result[3] = 0.0;
-                result[4] = 0.0;
-                result[5] = 0.0;
-                result[6] = 0.0;
-                result[7] = 0.0;
-                result[8] = 0.0;
-                result[9] = 0.0;
-                result[10] = 0.0;
-                result[11] = 0.0;
-                result[12] = -matrix[12];
-                result[13] = -matrix[13];
-                result[14] = -matrix[14];
-                result[15] = 1.0;
-                return result;
-            }
-
-            throw new RuntimeError.RuntimeError('matrix is not invertible because its determinate is zero.');
-        }
-
-        // calculate matrix inverse
-        det = 1.0 / det;
-
-        result[0] = dst0 * det;
-        result[1] = dst1 * det;
-        result[2] = dst2 * det;
-        result[3] = dst3 * det;
-        result[4] = dst4 * det;
-        result[5] = dst5 * det;
-        result[6] = dst6 * det;
-        result[7] = dst7 * det;
-        result[8] = dst8 * det;
-        result[9] = dst9 * det;
-        result[10] = dst10 * det;
-        result[11] = dst11 * det;
-        result[12] = dst12 * det;
-        result[13] = dst13 * det;
-        result[14] = dst14 * det;
-        result[15] = dst15 * det;
-        return result;
-    };
-
-    /**
-     * Computes the inverse of the provided matrix assuming it is
-     * an affine transformation matrix, where the upper left 3x3 elements
-     * are a rotation matrix, and the upper three elements in the fourth
-     * column are the translation.  The bottom row is assumed to be [0, 0, 0, 1].
-     * The matrix is not verified to be in the proper form.
-     * This method is faster than computing the inverse for a general 4x4
-     * matrix using {@link Matrix4.inverse}.
-     *
-     * @param {Matrix4} matrix The matrix to invert.
-     * @param {Matrix4} result The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter.
-     */
-    Matrix4.inverseTransformation = function(matrix, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('matrix', matrix);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        //This function is an optimized version of the below 4 lines.
-        //var rT = Matrix3.transpose(Matrix4.getRotation(matrix));
-        //var rTN = Matrix3.negate(rT);
-        //var rTT = Matrix3.multiplyByVector(rTN, Matrix4.getTranslation(matrix));
-        //return Matrix4.fromRotationTranslation(rT, rTT, result);
-
-        var matrix0 = matrix[0];
-        var matrix1 = matrix[1];
-        var matrix2 = matrix[2];
-        var matrix4 = matrix[4];
-        var matrix5 = matrix[5];
-        var matrix6 = matrix[6];
-        var matrix8 = matrix[8];
-        var matrix9 = matrix[9];
-        var matrix10 = matrix[10];
-
-        var vX = matrix[12];
-        var vY = matrix[13];
-        var vZ = matrix[14];
-
-        var x = -matrix0 * vX - matrix1 * vY - matrix2 * vZ;
-        var y = -matrix4 * vX - matrix5 * vY - matrix6 * vZ;
-        var z = -matrix8 * vX - matrix9 * vY - matrix10 * vZ;
-
-        result[0] = matrix0;
-        result[1] = matrix4;
-        result[2] = matrix8;
-        result[3] = 0.0;
-        result[4] = matrix1;
-        result[5] = matrix5;
-        result[6] = matrix9;
-        result[7] = 0.0;
-        result[8] = matrix2;
-        result[9] = matrix6;
-        result[10] = matrix10;
-        result[11] = 0.0;
-        result[12] = x;
-        result[13] = y;
-        result[14] = z;
-        result[15] = 1.0;
-        return result;
-    };
-
-    /**
-     * An immutable Matrix4 instance initialized to the identity matrix.
-     *
-     * @type {Matrix4}
-     * @constant
-     */
-    Matrix4.IDENTITY = Object.freeze(new Matrix4(1.0, 0.0, 0.0, 0.0,
-                                                0.0, 1.0, 0.0, 0.0,
-                                                0.0, 0.0, 1.0, 0.0,
-                                                0.0, 0.0, 0.0, 1.0));
-
-    /**
-     * An immutable Matrix4 instance initialized to the zero matrix.
-     *
-     * @type {Matrix4}
-     * @constant
-     */
-    Matrix4.ZERO = Object.freeze(new Matrix4(0.0, 0.0, 0.0, 0.0,
-                                            0.0, 0.0, 0.0, 0.0,
-                                            0.0, 0.0, 0.0, 0.0,
-                                            0.0, 0.0, 0.0, 0.0));
-
-    /**
-     * The index into Matrix4 for column 0, row 0.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN0ROW0 = 0;
-
-    /**
-     * The index into Matrix4 for column 0, row 1.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN0ROW1 = 1;
-
-    /**
-     * The index into Matrix4 for column 0, row 2.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN0ROW2 = 2;
-
-    /**
-     * The index into Matrix4 for column 0, row 3.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN0ROW3 = 3;
-
-    /**
-     * The index into Matrix4 for column 1, row 0.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN1ROW0 = 4;
-
-    /**
-     * The index into Matrix4 for column 1, row 1.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN1ROW1 = 5;
-
-    /**
-     * The index into Matrix4 for column 1, row 2.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN1ROW2 = 6;
-
-    /**
-     * The index into Matrix4 for column 1, row 3.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN1ROW3 = 7;
-
-    /**
-     * The index into Matrix4 for column 2, row 0.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN2ROW0 = 8;
-
-    /**
-     * The index into Matrix4 for column 2, row 1.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN2ROW1 = 9;
-
-    /**
-     * The index into Matrix4 for column 2, row 2.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN2ROW2 = 10;
-
-    /**
-     * The index into Matrix4 for column 2, row 3.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN2ROW3 = 11;
-
-    /**
-     * The index into Matrix4 for column 3, row 0.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN3ROW0 = 12;
-
-    /**
-     * The index into Matrix4 for column 3, row 1.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN3ROW1 = 13;
-
-    /**
-     * The index into Matrix4 for column 3, row 2.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN3ROW2 = 14;
-
-    /**
-     * The index into Matrix4 for column 3, row 3.
-     *
-     * @type {Number}
-     * @constant
-     */
-    Matrix4.COLUMN3ROW3 = 15;
-
-    Object.defineProperties(Matrix4.prototype, {
-        /**
-         * Gets the number of items in the collection.
-         * @memberof Matrix4.prototype
-         *
-         * @type {Number}
-         */
-        length : {
-            get : function() {
-                return Matrix4.packedLength;
-            }
-        }
-    });
-
-    /**
-     * Duplicates the provided Matrix4 instance.
-     *
-     * @param {Matrix4} [result] The object onto which to store the result.
-     * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if one was not provided.
-     */
-    Matrix4.prototype.clone = function(result) {
-        return Matrix4.clone(this, result);
-    };
-
-    /**
-     * Compares this matrix to the provided matrix componentwise and returns
-     * <code>true</code> if they are equal, <code>false</code> otherwise.
-     *
-     * @param {Matrix4} [right] The right hand side matrix.
-     * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-     */
-    Matrix4.prototype.equals = function(right) {
-        return Matrix4.equals(this, right);
-    };
-
-    /**
-     * @private
-     */
-    Matrix4.equalsArray = function(matrix, array, offset) {
-        return matrix[0] === array[offset] &&
-               matrix[1] === array[offset + 1] &&
-               matrix[2] === array[offset + 2] &&
-               matrix[3] === array[offset + 3] &&
-               matrix[4] === array[offset + 4] &&
-               matrix[5] === array[offset + 5] &&
-               matrix[6] === array[offset + 6] &&
-               matrix[7] === array[offset + 7] &&
-               matrix[8] === array[offset + 8] &&
-               matrix[9] === array[offset + 9] &&
-               matrix[10] === array[offset + 10] &&
-               matrix[11] === array[offset + 11] &&
-               matrix[12] === array[offset + 12] &&
-               matrix[13] === array[offset + 13] &&
-               matrix[14] === array[offset + 14] &&
-               matrix[15] === array[offset + 15];
-    };
-
-    /**
-     * Compares this matrix to the provided matrix componentwise and returns
-     * <code>true</code> if they are within the provided epsilon,
-     * <code>false</code> otherwise.
-     *
-     * @param {Matrix4} [right] The right hand side matrix.
-     * @param {Number} epsilon The epsilon to use for equality testing.
-     * @returns {Boolean} <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
-     */
-    Matrix4.prototype.equalsEpsilon = function(right, epsilon) {
-        return Matrix4.equalsEpsilon(this, right, epsilon);
-    };
-
-    /**
-     * Computes a string representing this Matrix with each row being
-     * on a separate line and in the format '(column0, column1, column2, column3)'.
-     *
-     * @returns {String} A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2, column3)'.
-     */
-    Matrix4.prototype.toString = function() {
-        return '(' + this[0] + ', ' + this[4] + ', ' + this[8] + ', ' + this[12] +')\n' +
-               '(' + this[1] + ', ' + this[5] + ', ' + this[9] + ', ' + this[13] +')\n' +
-               '(' + this[2] + ', ' + this[6] + ', ' + this[10] + ', ' + this[14] +')\n' +
-               '(' + this[3] + ', ' + this[7] + ', ' + this[11] + ', ' + this[15] +')';
-    };
-
-    /**
-         * A bounding sphere with a center and a radius.
-         * @alias BoundingSphere
-         * @constructor
-         *
-         * @param {Cartesian3} [center=Cartesian3.ZERO] The center of the bounding sphere.
-         * @param {Number} [radius=0.0] The radius of the bounding sphere.
-         *
-         * @see AxisAlignedBoundingBox
-         * @see BoundingRectangle
-         * @see Packable
-         */
-        function BoundingSphere(center, radius) {
-            /**
-             * The center point of the sphere.
-             * @type {Cartesian3}
-             * @default {@link Cartesian3.ZERO}
-             */
-            this.center = Cartesian2.Cartesian3.clone(when.defaultValue(center, Cartesian2.Cartesian3.ZERO));
-
-            /**
-             * The radius of the sphere.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.radius = when.defaultValue(radius, 0.0);
-        }
-
-        var fromPointsXMin = new Cartesian2.Cartesian3();
-        var fromPointsYMin = new Cartesian2.Cartesian3();
-        var fromPointsZMin = new Cartesian2.Cartesian3();
-        var fromPointsXMax = new Cartesian2.Cartesian3();
-        var fromPointsYMax = new Cartesian2.Cartesian3();
-        var fromPointsZMax = new Cartesian2.Cartesian3();
-        var fromPointsCurrentPos = new Cartesian2.Cartesian3();
-        var fromPointsScratch = new Cartesian2.Cartesian3();
-        var fromPointsRitterCenter = new Cartesian2.Cartesian3();
-        var fromPointsMinBoxPt = new Cartesian2.Cartesian3();
-        var fromPointsMaxBoxPt = new Cartesian2.Cartesian3();
-        var fromPointsNaiveCenterScratch = new Cartesian2.Cartesian3();
-        var volumeConstant = (4.0 / 3.0) * _Math.CesiumMath.PI;
-
-        /**
-         * Computes a tight-fitting bounding sphere enclosing a list of 3D Cartesian points.
-         * The bounding sphere is computed by running two algorithms, a naive algorithm and
-         * Ritter's algorithm. The smaller of the two spheres is used to ensure a tight fit.
-         *
-         * @param {Cartesian3[]} [positions] An array of points that the bounding sphere will enclose.  Each point must have <code>x</code>, <code>y</code>, and <code>z</code> properties.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if one was not provided.
-         *
-         * @see {@link http://help.agi.com/AGIComponents/html/BlogBoundingSphere.htm|Bounding Sphere computation article}
-         */
-        BoundingSphere.fromPoints = function(positions, result) {
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            if (!when.defined(positions) || positions.length === 0) {
-                result.center = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, result.center);
-                result.radius = 0.0;
-                return result;
-            }
-
-            var currentPos = Cartesian2.Cartesian3.clone(positions[0], fromPointsCurrentPos);
-
-            var xMin = Cartesian2.Cartesian3.clone(currentPos, fromPointsXMin);
-            var yMin = Cartesian2.Cartesian3.clone(currentPos, fromPointsYMin);
-            var zMin = Cartesian2.Cartesian3.clone(currentPos, fromPointsZMin);
-
-            var xMax = Cartesian2.Cartesian3.clone(currentPos, fromPointsXMax);
-            var yMax = Cartesian2.Cartesian3.clone(currentPos, fromPointsYMax);
-            var zMax = Cartesian2.Cartesian3.clone(currentPos, fromPointsZMax);
-
-            var numPositions = positions.length;
-            var i;
-            for (i = 1; i < numPositions; i++) {
-                Cartesian2.Cartesian3.clone(positions[i], currentPos);
-
-                var x = currentPos.x;
-                var y = currentPos.y;
-                var z = currentPos.z;
-
-                // Store points containing the the smallest and largest components
-                if (x < xMin.x) {
-                    Cartesian2.Cartesian3.clone(currentPos, xMin);
-                }
-
-                if (x > xMax.x) {
-                    Cartesian2.Cartesian3.clone(currentPos, xMax);
-                }
-
-                if (y < yMin.y) {
-                    Cartesian2.Cartesian3.clone(currentPos, yMin);
-                }
-
-                if (y > yMax.y) {
-                    Cartesian2.Cartesian3.clone(currentPos, yMax);
-                }
-
-                if (z < zMin.z) {
-                    Cartesian2.Cartesian3.clone(currentPos, zMin);
-                }
-
-                if (z > zMax.z) {
-                    Cartesian2.Cartesian3.clone(currentPos, zMax);
-                }
-            }
-
-            // Compute x-, y-, and z-spans (Squared distances b/n each component's min. and max.).
-            var xSpan = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(xMax, xMin, fromPointsScratch));
-            var ySpan = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(yMax, yMin, fromPointsScratch));
-            var zSpan = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(zMax, zMin, fromPointsScratch));
-
-            // Set the diameter endpoints to the largest span.
-            var diameter1 = xMin;
-            var diameter2 = xMax;
-            var maxSpan = xSpan;
-            if (ySpan > maxSpan) {
-                maxSpan = ySpan;
-                diameter1 = yMin;
-                diameter2 = yMax;
-            }
-            if (zSpan > maxSpan) {
-                maxSpan = zSpan;
-                diameter1 = zMin;
-                diameter2 = zMax;
-            }
-
-            // Calculate the center of the initial sphere found by Ritter's algorithm
-            var ritterCenter = fromPointsRitterCenter;
-            ritterCenter.x = (diameter1.x + diameter2.x) * 0.5;
-            ritterCenter.y = (diameter1.y + diameter2.y) * 0.5;
-            ritterCenter.z = (diameter1.z + diameter2.z) * 0.5;
-
-            // Calculate the radius of the initial sphere found by Ritter's algorithm
-            var radiusSquared = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(diameter2, ritterCenter, fromPointsScratch));
-            var ritterRadius = Math.sqrt(radiusSquared);
-
-            // Find the center of the sphere found using the Naive method.
-            var minBoxPt = fromPointsMinBoxPt;
-            minBoxPt.x = xMin.x;
-            minBoxPt.y = yMin.y;
-            minBoxPt.z = zMin.z;
-
-            var maxBoxPt = fromPointsMaxBoxPt;
-            maxBoxPt.x = xMax.x;
-            maxBoxPt.y = yMax.y;
-            maxBoxPt.z = zMax.z;
-
-            var naiveCenter = Cartesian2.Cartesian3.midpoint(minBoxPt, maxBoxPt, fromPointsNaiveCenterScratch);
-
-            // Begin 2nd pass to find naive radius and modify the ritter sphere.
-            var naiveRadius = 0;
-            for (i = 0; i < numPositions; i++) {
-                Cartesian2.Cartesian3.clone(positions[i], currentPos);
-
-                // Find the furthest point from the naive center to calculate the naive radius.
-                var r = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.subtract(currentPos, naiveCenter, fromPointsScratch));
-                if (r > naiveRadius) {
-                    naiveRadius = r;
-                }
-
-                // Make adjustments to the Ritter Sphere to include all points.
-                var oldCenterToPointSquared = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(currentPos, ritterCenter, fromPointsScratch));
-                if (oldCenterToPointSquared > radiusSquared) {
-                    var oldCenterToPoint = Math.sqrt(oldCenterToPointSquared);
-                    // Calculate new radius to include the point that lies outside
-                    ritterRadius = (ritterRadius + oldCenterToPoint) * 0.5;
-                    radiusSquared = ritterRadius * ritterRadius;
-                    // Calculate center of new Ritter sphere
-                    var oldToNew = oldCenterToPoint - ritterRadius;
-                    ritterCenter.x = (ritterRadius * ritterCenter.x + oldToNew * currentPos.x) / oldCenterToPoint;
-                    ritterCenter.y = (ritterRadius * ritterCenter.y + oldToNew * currentPos.y) / oldCenterToPoint;
-                    ritterCenter.z = (ritterRadius * ritterCenter.z + oldToNew * currentPos.z) / oldCenterToPoint;
-                }
-            }
-
-            if (ritterRadius < naiveRadius) {
-                Cartesian2.Cartesian3.clone(ritterCenter, result.center);
-                result.radius = ritterRadius;
-            } else {
-                Cartesian2.Cartesian3.clone(naiveCenter, result.center);
-                result.radius = naiveRadius;
-            }
-
-            return result;
-        };
-
-        var defaultProjection = new GeographicProjection();
-        var fromRectangle2DLowerLeft = new Cartesian2.Cartesian3();
-        var fromRectangle2DUpperRight = new Cartesian2.Cartesian3();
-        var fromRectangle2DSouthwest = new Cartesian2.Cartographic();
-        var fromRectangle2DNortheast = new Cartesian2.Cartographic();
-
-        /**
-         * Computes a bounding sphere from a rectangle projected in 2D.
-         *
-         * @param {Rectangle} [rectangle] The rectangle around which to create a bounding sphere.
-         * @param {Object} [projection=GeographicProjection] The projection used to project the rectangle into 2D.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         */
-        BoundingSphere.fromRectangle2D = function(rectangle, projection, result) {
-            return BoundingSphere.fromRectangleWithHeights2D(rectangle, projection, 0.0, 0.0, result);
-        };
-
-        /**
-         * Computes a bounding sphere from a rectangle projected in 2D.  The bounding sphere accounts for the
-         * object's minimum and maximum heights over the rectangle.
-         *
-         * @param {Rectangle} [rectangle] The rectangle around which to create a bounding sphere.
-         * @param {Object} [projection=GeographicProjection] The projection used to project the rectangle into 2D.
-         * @param {Number} [minimumHeight=0.0] The minimum height over the rectangle.
-         * @param {Number} [maximumHeight=0.0] The maximum height over the rectangle.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         */
-        BoundingSphere.fromRectangleWithHeights2D = function(rectangle, projection, minimumHeight, maximumHeight, result) {
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            if (!when.defined(rectangle)) {
-                result.center = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, result.center);
-                result.radius = 0.0;
-                return result;
-            }
-
-            projection = when.defaultValue(projection, defaultProjection);
-
-            Cartesian2.Rectangle.southwest(rectangle, fromRectangle2DSouthwest);
-            fromRectangle2DSouthwest.height = minimumHeight;
-            Cartesian2.Rectangle.northeast(rectangle, fromRectangle2DNortheast);
-            fromRectangle2DNortheast.height = maximumHeight;
-
-            var lowerLeft = projection.project(fromRectangle2DSouthwest, fromRectangle2DLowerLeft);
-            var upperRight = projection.project(fromRectangle2DNortheast, fromRectangle2DUpperRight);
-
-            var width = upperRight.x - lowerLeft.x;
-            var height = upperRight.y - lowerLeft.y;
-            var elevation = upperRight.z - lowerLeft.z;
-
-            result.radius = Math.sqrt(width * width + height * height + elevation * elevation) * 0.5;
-            var center = result.center;
-            center.x = lowerLeft.x + width * 0.5;
-            center.y = lowerLeft.y + height * 0.5;
-            center.z = lowerLeft.z + elevation * 0.5;
-            return result;
-        };
-
-        var fromRectangle3DScratch = [];
-
-        /**
-         * Computes a bounding sphere from a rectangle in 3D. The bounding sphere is created using a subsample of points
-         * on the ellipsoid and contained in the rectangle. It may not be accurate for all rectangles on all types of ellipsoids.
-         *
-         * @param {Rectangle} [rectangle] The valid rectangle used to create a bounding sphere.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid used to determine positions of the rectangle.
-         * @param {Number} [surfaceHeight=0.0] The height above the surface of the ellipsoid.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         */
-        BoundingSphere.fromRectangle3D = function(rectangle, ellipsoid, surfaceHeight, result) {
-            ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            surfaceHeight = when.defaultValue(surfaceHeight, 0.0);
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            if (!when.defined(rectangle)) {
-                result.center = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, result.center);
-                result.radius = 0.0;
-                return result;
-            }
-
-            var positions = Cartesian2.Rectangle.subsample(rectangle, ellipsoid, surfaceHeight, fromRectangle3DScratch);
-            return BoundingSphere.fromPoints(positions, result);
-        };
-
-        /**
-         * Computes a tight-fitting bounding sphere enclosing a list of 3D points, where the points are
-         * stored in a flat array in X, Y, Z, order.  The bounding sphere is computed by running two
-         * algorithms, a naive algorithm and Ritter's algorithm. The smaller of the two spheres is used to
-         * ensure a tight fit.
-         *
-         * @param {Number[]} [positions] An array of points that the bounding sphere will enclose.  Each point
-         *        is formed from three elements in the array in the order X, Y, Z.
-         * @param {Cartesian3} [center=Cartesian3.ZERO] The position to which the positions are relative, which need not be the
-         *        origin of the coordinate system.  This is useful when the positions are to be used for
-         *        relative-to-center (RTC) rendering.
-         * @param {Number} [stride=3] The number of array elements per vertex.  It must be at least 3, but it may
-         *        be higher.  Regardless of the value of this parameter, the X coordinate of the first position
-         *        is at array index 0, the Y coordinate is at array index 1, and the Z coordinate is at array index
-         *        2.  When stride is 3, the X coordinate of the next position then begins at array index 3.  If
-         *        the stride is 5, however, two array elements are skipped and the next position begins at array
-         *        index 5.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if one was not provided.
-         *
-         * @example
-         * // Compute the bounding sphere from 3 positions, each specified relative to a center.
-         * // In addition to the X, Y, and Z coordinates, the points array contains two additional
-         * // elements per point which are ignored for the purpose of computing the bounding sphere.
-         * var center = new Cesium.Cartesian3(1.0, 2.0, 3.0);
-         * var points = [1.0, 2.0, 3.0, 0.1, 0.2,
-         *               4.0, 5.0, 6.0, 0.1, 0.2,
-         *               7.0, 8.0, 9.0, 0.1, 0.2];
-         * var sphere = Cesium.BoundingSphere.fromVertices(points, center, 5);
-         *
-         * @see {@link http://blogs.agi.com/insight3d/index.php/2008/02/04/a-bounding/|Bounding Sphere computation article}
-         */
-        BoundingSphere.fromVertices = function(positions, center, stride, result) {
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            if (!when.defined(positions) || positions.length === 0) {
-                result.center = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, result.center);
-                result.radius = 0.0;
-                return result;
-            }
-
-            center = when.defaultValue(center, Cartesian2.Cartesian3.ZERO);
-
-            stride = when.defaultValue(stride, 3);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number.greaterThanOrEquals('stride', stride, 3);
-            //>>includeEnd('debug');
-
-            var currentPos = fromPointsCurrentPos;
-            currentPos.x = positions[0] + center.x;
-            currentPos.y = positions[1] + center.y;
-            currentPos.z = positions[2] + center.z;
-
-            var xMin = Cartesian2.Cartesian3.clone(currentPos, fromPointsXMin);
-            var yMin = Cartesian2.Cartesian3.clone(currentPos, fromPointsYMin);
-            var zMin = Cartesian2.Cartesian3.clone(currentPos, fromPointsZMin);
-
-            var xMax = Cartesian2.Cartesian3.clone(currentPos, fromPointsXMax);
-            var yMax = Cartesian2.Cartesian3.clone(currentPos, fromPointsYMax);
-            var zMax = Cartesian2.Cartesian3.clone(currentPos, fromPointsZMax);
-
-            var numElements = positions.length;
-            var i;
-            for (i = 0; i < numElements; i += stride) {
-                var x = positions[i] + center.x;
-                var y = positions[i + 1] + center.y;
-                var z = positions[i + 2] + center.z;
-
-                currentPos.x = x;
-                currentPos.y = y;
-                currentPos.z = z;
-
-                // Store points containing the the smallest and largest components
-                if (x < xMin.x) {
-                    Cartesian2.Cartesian3.clone(currentPos, xMin);
-                }
-
-                if (x > xMax.x) {
-                    Cartesian2.Cartesian3.clone(currentPos, xMax);
-                }
-
-                if (y < yMin.y) {
-                    Cartesian2.Cartesian3.clone(currentPos, yMin);
-                }
-
-                if (y > yMax.y) {
-                    Cartesian2.Cartesian3.clone(currentPos, yMax);
-                }
-
-                if (z < zMin.z) {
-                    Cartesian2.Cartesian3.clone(currentPos, zMin);
-                }
-
-                if (z > zMax.z) {
-                    Cartesian2.Cartesian3.clone(currentPos, zMax);
-                }
-            }
-
-            // Compute x-, y-, and z-spans (Squared distances b/n each component's min. and max.).
-            var xSpan = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(xMax, xMin, fromPointsScratch));
-            var ySpan = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(yMax, yMin, fromPointsScratch));
-            var zSpan = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(zMax, zMin, fromPointsScratch));
-
-            // Set the diameter endpoints to the largest span.
-            var diameter1 = xMin;
-            var diameter2 = xMax;
-            var maxSpan = xSpan;
-            if (ySpan > maxSpan) {
-                maxSpan = ySpan;
-                diameter1 = yMin;
-                diameter2 = yMax;
-            }
-            if (zSpan > maxSpan) {
-                maxSpan = zSpan;
-                diameter1 = zMin;
-                diameter2 = zMax;
-            }
-
-            // Calculate the center of the initial sphere found by Ritter's algorithm
-            var ritterCenter = fromPointsRitterCenter;
-            ritterCenter.x = (diameter1.x + diameter2.x) * 0.5;
-            ritterCenter.y = (diameter1.y + diameter2.y) * 0.5;
-            ritterCenter.z = (diameter1.z + diameter2.z) * 0.5;
-
-            // Calculate the radius of the initial sphere found by Ritter's algorithm
-            var radiusSquared = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(diameter2, ritterCenter, fromPointsScratch));
-            var ritterRadius = Math.sqrt(radiusSquared);
-
-            // Find the center of the sphere found using the Naive method.
-            var minBoxPt = fromPointsMinBoxPt;
-            minBoxPt.x = xMin.x;
-            minBoxPt.y = yMin.y;
-            minBoxPt.z = zMin.z;
-
-            var maxBoxPt = fromPointsMaxBoxPt;
-            maxBoxPt.x = xMax.x;
-            maxBoxPt.y = yMax.y;
-            maxBoxPt.z = zMax.z;
-
-            var naiveCenter = Cartesian2.Cartesian3.midpoint(minBoxPt, maxBoxPt, fromPointsNaiveCenterScratch);
-
-            // Begin 2nd pass to find naive radius and modify the ritter sphere.
-            var naiveRadius = 0;
-            for (i = 0; i < numElements; i += stride) {
-                currentPos.x = positions[i] + center.x;
-                currentPos.y = positions[i + 1] + center.y;
-                currentPos.z = positions[i + 2] + center.z;
-
-                // Find the furthest point from the naive center to calculate the naive radius.
-                var r = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.subtract(currentPos, naiveCenter, fromPointsScratch));
-                if (r > naiveRadius) {
-                    naiveRadius = r;
-                }
-
-                // Make adjustments to the Ritter Sphere to include all points.
-                var oldCenterToPointSquared = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(currentPos, ritterCenter, fromPointsScratch));
-                if (oldCenterToPointSquared > radiusSquared) {
-                    var oldCenterToPoint = Math.sqrt(oldCenterToPointSquared);
-                    // Calculate new radius to include the point that lies outside
-                    ritterRadius = (ritterRadius + oldCenterToPoint) * 0.5;
-                    radiusSquared = ritterRadius * ritterRadius;
-                    // Calculate center of new Ritter sphere
-                    var oldToNew = oldCenterToPoint - ritterRadius;
-                    ritterCenter.x = (ritterRadius * ritterCenter.x + oldToNew * currentPos.x) / oldCenterToPoint;
-                    ritterCenter.y = (ritterRadius * ritterCenter.y + oldToNew * currentPos.y) / oldCenterToPoint;
-                    ritterCenter.z = (ritterRadius * ritterCenter.z + oldToNew * currentPos.z) / oldCenterToPoint;
-                }
-            }
-
-            if (ritterRadius < naiveRadius) {
-                Cartesian2.Cartesian3.clone(ritterCenter, result.center);
-                result.radius = ritterRadius;
-            } else {
-                Cartesian2.Cartesian3.clone(naiveCenter, result.center);
-                result.radius = naiveRadius;
-            }
-
-            return result;
-        };
-
-        /**
-         * Computes a tight-fitting bounding sphere enclosing a list of EncodedCartesian3s, where the points are
-         * stored in parallel flat arrays in X, Y, Z, order.  The bounding sphere is computed by running two
-         * algorithms, a naive algorithm and Ritter's algorithm. The smaller of the two spheres is used to
-         * ensure a tight fit.
-         *
-         * @param {Number[]} [positionsHigh] An array of high bits of the encoded cartesians that the bounding sphere will enclose.  Each point
-         *        is formed from three elements in the array in the order X, Y, Z.
-         * @param {Number[]} [positionsLow] An array of low bits of the encoded cartesians that the bounding sphere will enclose.  Each point
-         *        is formed from three elements in the array in the order X, Y, Z.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if one was not provided.
-         *
-         * @see {@link http://blogs.agi.com/insight3d/index.php/2008/02/04/a-bounding/|Bounding Sphere computation article}
-         */
-        BoundingSphere.fromEncodedCartesianVertices = function(positionsHigh, positionsLow, result) {
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            if (!when.defined(positionsHigh) || !when.defined(positionsLow) || positionsHigh.length !== positionsLow.length || positionsHigh.length === 0) {
-                result.center = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, result.center);
-                result.radius = 0.0;
-                return result;
-            }
-
-            var currentPos = fromPointsCurrentPos;
-            currentPos.x = positionsHigh[0] + positionsLow[0];
-            currentPos.y = positionsHigh[1] + positionsLow[1];
-            currentPos.z = positionsHigh[2] + positionsLow[2];
-
-            var xMin = Cartesian2.Cartesian3.clone(currentPos, fromPointsXMin);
-            var yMin = Cartesian2.Cartesian3.clone(currentPos, fromPointsYMin);
-            var zMin = Cartesian2.Cartesian3.clone(currentPos, fromPointsZMin);
-
-            var xMax = Cartesian2.Cartesian3.clone(currentPos, fromPointsXMax);
-            var yMax = Cartesian2.Cartesian3.clone(currentPos, fromPointsYMax);
-            var zMax = Cartesian2.Cartesian3.clone(currentPos, fromPointsZMax);
-
-            var numElements = positionsHigh.length;
-            var i;
-            for (i = 0; i < numElements; i += 3) {
-                var x = positionsHigh[i] + positionsLow[i];
-                var y = positionsHigh[i + 1] + positionsLow[i + 1];
-                var z = positionsHigh[i + 2] + positionsLow[i + 2];
-
-                currentPos.x = x;
-                currentPos.y = y;
-                currentPos.z = z;
-
-                // Store points containing the the smallest and largest components
-                if (x < xMin.x) {
-                    Cartesian2.Cartesian3.clone(currentPos, xMin);
-                }
-
-                if (x > xMax.x) {
-                    Cartesian2.Cartesian3.clone(currentPos, xMax);
-                }
-
-                if (y < yMin.y) {
-                    Cartesian2.Cartesian3.clone(currentPos, yMin);
-                }
-
-                if (y > yMax.y) {
-                    Cartesian2.Cartesian3.clone(currentPos, yMax);
-                }
-
-                if (z < zMin.z) {
-                    Cartesian2.Cartesian3.clone(currentPos, zMin);
-                }
-
-                if (z > zMax.z) {
-                    Cartesian2.Cartesian3.clone(currentPos, zMax);
-                }
-            }
-
-            // Compute x-, y-, and z-spans (Squared distances b/n each component's min. and max.).
-            var xSpan = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(xMax, xMin, fromPointsScratch));
-            var ySpan = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(yMax, yMin, fromPointsScratch));
-            var zSpan = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(zMax, zMin, fromPointsScratch));
-
-            // Set the diameter endpoints to the largest span.
-            var diameter1 = xMin;
-            var diameter2 = xMax;
-            var maxSpan = xSpan;
-            if (ySpan > maxSpan) {
-                maxSpan = ySpan;
-                diameter1 = yMin;
-                diameter2 = yMax;
-            }
-            if (zSpan > maxSpan) {
-                maxSpan = zSpan;
-                diameter1 = zMin;
-                diameter2 = zMax;
-            }
-
-            // Calculate the center of the initial sphere found by Ritter's algorithm
-            var ritterCenter = fromPointsRitterCenter;
-            ritterCenter.x = (diameter1.x + diameter2.x) * 0.5;
-            ritterCenter.y = (diameter1.y + diameter2.y) * 0.5;
-            ritterCenter.z = (diameter1.z + diameter2.z) * 0.5;
-
-            // Calculate the radius of the initial sphere found by Ritter's algorithm
-            var radiusSquared = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(diameter2, ritterCenter, fromPointsScratch));
-            var ritterRadius = Math.sqrt(radiusSquared);
-
-            // Find the center of the sphere found using the Naive method.
-            var minBoxPt = fromPointsMinBoxPt;
-            minBoxPt.x = xMin.x;
-            minBoxPt.y = yMin.y;
-            minBoxPt.z = zMin.z;
-
-            var maxBoxPt = fromPointsMaxBoxPt;
-            maxBoxPt.x = xMax.x;
-            maxBoxPt.y = yMax.y;
-            maxBoxPt.z = zMax.z;
-
-            var naiveCenter = Cartesian2.Cartesian3.midpoint(minBoxPt, maxBoxPt, fromPointsNaiveCenterScratch);
-
-            // Begin 2nd pass to find naive radius and modify the ritter sphere.
-            var naiveRadius = 0;
-            for (i = 0; i < numElements; i += 3) {
-                currentPos.x = positionsHigh[i] + positionsLow[i];
-                currentPos.y = positionsHigh[i + 1] + positionsLow[i + 1];
-                currentPos.z = positionsHigh[i + 2] + positionsLow[i + 2];
-
-                // Find the furthest point from the naive center to calculate the naive radius.
-                var r = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.subtract(currentPos, naiveCenter, fromPointsScratch));
-                if (r > naiveRadius) {
-                    naiveRadius = r;
-                }
-
-                // Make adjustments to the Ritter Sphere to include all points.
-                var oldCenterToPointSquared = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(currentPos, ritterCenter, fromPointsScratch));
-                if (oldCenterToPointSquared > radiusSquared) {
-                    var oldCenterToPoint = Math.sqrt(oldCenterToPointSquared);
-                    // Calculate new radius to include the point that lies outside
-                    ritterRadius = (ritterRadius + oldCenterToPoint) * 0.5;
-                    radiusSquared = ritterRadius * ritterRadius;
-                    // Calculate center of new Ritter sphere
-                    var oldToNew = oldCenterToPoint - ritterRadius;
-                    ritterCenter.x = (ritterRadius * ritterCenter.x + oldToNew * currentPos.x) / oldCenterToPoint;
-                    ritterCenter.y = (ritterRadius * ritterCenter.y + oldToNew * currentPos.y) / oldCenterToPoint;
-                    ritterCenter.z = (ritterRadius * ritterCenter.z + oldToNew * currentPos.z) / oldCenterToPoint;
-                }
-            }
-
-            if (ritterRadius < naiveRadius) {
-                Cartesian2.Cartesian3.clone(ritterCenter, result.center);
-                result.radius = ritterRadius;
-            } else {
-                Cartesian2.Cartesian3.clone(naiveCenter, result.center);
-                result.radius = naiveRadius;
-            }
-
-            return result;
-        };
-
-        /**
-         * Computes a bounding sphere from the corner points of an axis-aligned bounding box.  The sphere
-         * tighly and fully encompases the box.
-         *
-         * @param {Cartesian3} [corner] The minimum height over the rectangle.
-         * @param {Cartesian3} [oppositeCorner] The maximum height over the rectangle.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         *
-         * @example
-         * // Create a bounding sphere around the unit cube
-         * var sphere = Cesium.BoundingSphere.fromCornerPoints(new Cesium.Cartesian3(-0.5, -0.5, -0.5), new Cesium.Cartesian3(0.5, 0.5, 0.5));
-         */
-        BoundingSphere.fromCornerPoints = function(corner, oppositeCorner, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('corner', corner);
-            Check.Check.typeOf.object('oppositeCorner', oppositeCorner);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            var center = Cartesian2.Cartesian3.midpoint(corner, oppositeCorner, result.center);
-            result.radius = Cartesian2.Cartesian3.distance(center, oppositeCorner);
-            return result;
-        };
-
-        /**
-         * Creates a bounding sphere encompassing an ellipsoid.
-         *
-         * @param {Ellipsoid} ellipsoid The ellipsoid around which to create a bounding sphere.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         *
-         * @example
-         * var boundingSphere = Cesium.BoundingSphere.fromEllipsoid(ellipsoid);
-         */
-        BoundingSphere.fromEllipsoid = function(ellipsoid, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('ellipsoid', ellipsoid);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, result.center);
-            result.radius = ellipsoid.maximumRadius;
-            return result;
-        };
-
-        var fromBoundingSpheresScratch = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes a tight-fitting bounding sphere enclosing the provided array of bounding spheres.
-         *
-         * @param {BoundingSphere[]} [boundingSpheres] The array of bounding spheres.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         */
-        BoundingSphere.fromBoundingSpheres = function(boundingSpheres, result) {
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            if (!when.defined(boundingSpheres) || boundingSpheres.length === 0) {
-                result.center = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, result.center);
-                result.radius = 0.0;
-                return result;
-            }
-
-            var length = boundingSpheres.length;
-            if (length === 1) {
-                return BoundingSphere.clone(boundingSpheres[0], result);
-            }
-
-            if (length === 2) {
-                return BoundingSphere.union(boundingSpheres[0], boundingSpheres[1], result);
-            }
-
-            var positions = [];
-            var i;
-            for (i = 0; i < length; i++) {
-                positions.push(boundingSpheres[i].center);
-            }
-
-            result = BoundingSphere.fromPoints(positions, result);
-
-            var center = result.center;
-            var radius = result.radius;
-            for (i = 0; i < length; i++) {
-                var tmp = boundingSpheres[i];
-                radius = Math.max(radius, Cartesian2.Cartesian3.distance(center, tmp.center, fromBoundingSpheresScratch) + tmp.radius);
-            }
-            result.radius = radius;
-
-            return result;
-        };
-
-        var fromOrientedBoundingBoxScratchU = new Cartesian2.Cartesian3();
-        var fromOrientedBoundingBoxScratchV = new Cartesian2.Cartesian3();
-        var fromOrientedBoundingBoxScratchW = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes a tight-fitting bounding sphere enclosing the provided oriented bounding box.
-         *
-         * @param {OrientedBoundingBox} orientedBoundingBox The oriented bounding box.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         */
-        BoundingSphere.fromOrientedBoundingBox = function(orientedBoundingBox, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('orientedBoundingBox', orientedBoundingBox);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            var halfAxes = orientedBoundingBox.halfAxes;
-            var u = Matrix3.getColumn(halfAxes, 0, fromOrientedBoundingBoxScratchU);
-            var v = Matrix3.getColumn(halfAxes, 1, fromOrientedBoundingBoxScratchV);
-            var w = Matrix3.getColumn(halfAxes, 2, fromOrientedBoundingBoxScratchW);
-
-            Cartesian2.Cartesian3.add(u, v, u);
-            Cartesian2.Cartesian3.add(u, w, u);
-
-            result.center = Cartesian2.Cartesian3.clone(orientedBoundingBox.center, result.center);
-            result.radius = Cartesian2.Cartesian3.magnitude(u);
-
-            return result;
-        };
-
-        /**
-         * Duplicates a BoundingSphere instance.
-         *
-         * @param {BoundingSphere} sphere The bounding sphere to duplicate.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided. (Returns undefined if sphere is undefined)
-         */
-        BoundingSphere.clone = function(sphere, result) {
-            if (!when.defined(sphere)) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                return new BoundingSphere(sphere.center, sphere.radius);
-            }
-
-            result.center = Cartesian2.Cartesian3.clone(sphere.center, result.center);
-            result.radius = sphere.radius;
-            return result;
-        };
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        BoundingSphere.packedLength = 4;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {BoundingSphere} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        BoundingSphere.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var center = value.center;
-            array[startingIndex++] = center.x;
-            array[startingIndex++] = center.y;
-            array[startingIndex++] = center.z;
-            array[startingIndex] = value.radius;
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {BoundingSphere} [result] The object into which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if one was not provided.
-         */
-        BoundingSphere.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            var center = result.center;
-            center.x = array[startingIndex++];
-            center.y = array[startingIndex++];
-            center.z = array[startingIndex++];
-            result.radius = array[startingIndex];
-            return result;
-        };
-
-        var unionScratch = new Cartesian2.Cartesian3();
-        var unionScratchCenter = new Cartesian2.Cartesian3();
-        /**
-         * Computes a bounding sphere that contains both the left and right bounding spheres.
-         *
-         * @param {BoundingSphere} left A sphere to enclose in a bounding sphere.
-         * @param {BoundingSphere} right A sphere to enclose in a bounding sphere.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         */
-        BoundingSphere.union = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            var leftCenter = left.center;
-            var leftRadius = left.radius;
-            var rightCenter = right.center;
-            var rightRadius = right.radius;
-
-            var toRightCenter = Cartesian2.Cartesian3.subtract(rightCenter, leftCenter, unionScratch);
-            var centerSeparation = Cartesian2.Cartesian3.magnitude(toRightCenter);
-
-            if (leftRadius >= (centerSeparation + rightRadius)) {
-                // Left sphere wins.
-                left.clone(result);
-                return result;
-            }
-
-            if (rightRadius >= (centerSeparation + leftRadius)) {
-                // Right sphere wins.
-                right.clone(result);
-                return result;
-            }
-
-            // There are two tangent points, one on far side of each sphere.
-            var halfDistanceBetweenTangentPoints = (leftRadius + centerSeparation + rightRadius) * 0.5;
-
-            // Compute the center point halfway between the two tangent points.
-            var center = Cartesian2.Cartesian3.multiplyByScalar(toRightCenter,
-                    (-leftRadius + halfDistanceBetweenTangentPoints) / centerSeparation, unionScratchCenter);
-            Cartesian2.Cartesian3.add(center, leftCenter, center);
-            Cartesian2.Cartesian3.clone(center, result.center);
-            result.radius = halfDistanceBetweenTangentPoints;
-
-            return result;
-        };
-
-        var expandScratch = new Cartesian2.Cartesian3();
-        /**
-         * Computes a bounding sphere by enlarging the provided sphere to contain the provided point.
-         *
-         * @param {BoundingSphere} sphere A sphere to expand.
-         * @param {Cartesian3} point A point to enclose in a bounding sphere.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         */
-        BoundingSphere.expand = function(sphere, point, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('sphere', sphere);
-            Check.Check.typeOf.object('point', point);
-            //>>includeEnd('debug');
-
-            result = BoundingSphere.clone(sphere, result);
-
-            var radius = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.subtract(point, result.center, expandScratch));
-            if (radius > result.radius) {
-                result.radius = radius;
-            }
-
-            return result;
-        };
-
-        /**
-         * Determines which side of a plane a sphere is located.
-         *
-         * @param {BoundingSphere} sphere The bounding sphere to test.
-         * @param {Plane} plane The plane to test against.
-         * @returns {Intersect} {@link Intersect.INSIDE} if the entire sphere is on the side of the plane
-         *                      the normal is pointing, {@link Intersect.OUTSIDE} if the entire sphere is
-         *                      on the opposite side, and {@link Intersect.INTERSECTING} if the sphere
-         *                      intersects the plane.
-         */
-        BoundingSphere.intersectPlane = function(sphere, plane) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('sphere', sphere);
-            Check.Check.typeOf.object('plane', plane);
-            //>>includeEnd('debug');
-
-            var center = sphere.center;
-            var radius = sphere.radius;
-            var normal = plane.normal;
-            var distanceToPlane = Cartesian2.Cartesian3.dot(normal, center) + plane.distance;
-
-            if (distanceToPlane < -radius) {
-                // The center point is negative side of the plane normal
-                return Intersect$1.OUTSIDE;
-            } else if (distanceToPlane < radius) {
-                // The center point is positive side of the plane, but radius extends beyond it; partial overlap
-                return Intersect$1.INTERSECTING;
-            }
-            return Intersect$1.INSIDE;
-        };
-
-        /**
-         * Applies a 4x4 affine transformation matrix to a bounding sphere.
-         *
-         * @param {BoundingSphere} sphere The bounding sphere to apply the transformation to.
-         * @param {Matrix4} transform The transformation matrix to apply to the bounding sphere.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         */
-        BoundingSphere.transform = function(sphere, transform, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('sphere', sphere);
-            Check.Check.typeOf.object('transform', transform);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            result.center = Matrix4.multiplyByPoint(transform, sphere.center, result.center);
-            result.radius = Matrix4.getMaximumScale(transform) * sphere.radius;
-
-            return result;
-        };
-
-        var distanceSquaredToScratch = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes the estimated distance squared from the closest point on a bounding sphere to a point.
-         *
-         * @param {BoundingSphere} sphere The sphere.
-         * @param {Cartesian3} cartesian The point
-         * @returns {Number} The estimated distance squared from the bounding sphere to the point.
-         *
-         * @example
-         * // Sort bounding spheres from back to front
-         * spheres.sort(function(a, b) {
-         *     return Cesium.BoundingSphere.distanceSquaredTo(b, camera.positionWC) - Cesium.BoundingSphere.distanceSquaredTo(a, camera.positionWC);
-         * });
-         */
-        BoundingSphere.distanceSquaredTo = function(sphere, cartesian) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('sphere', sphere);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            var diff = Cartesian2.Cartesian3.subtract(sphere.center, cartesian, distanceSquaredToScratch);
-            return Cartesian2.Cartesian3.magnitudeSquared(diff) - sphere.radius * sphere.radius;
-        };
-
-        /**
-         * Applies a 4x4 affine transformation matrix to a bounding sphere where there is no scale
-         * The transformation matrix is not verified to have a uniform scale of 1.
-         * This method is faster than computing the general bounding sphere transform using {@link BoundingSphere.transform}.
-         *
-         * @param {BoundingSphere} sphere The bounding sphere to apply the transformation to.
-         * @param {Matrix4} transform The transformation matrix to apply to the bounding sphere.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         *
-         * @example
-         * var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(positionOnEllipsoid);
-         * var boundingSphere = new Cesium.BoundingSphere();
-         * var newBoundingSphere = Cesium.BoundingSphere.transformWithoutScale(boundingSphere, modelMatrix);
-         */
-        BoundingSphere.transformWithoutScale = function(sphere, transform, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('sphere', sphere);
-            Check.Check.typeOf.object('transform', transform);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere();
-            }
-
-            result.center = Matrix4.multiplyByPoint(transform, sphere.center, result.center);
-            result.radius = sphere.radius;
-
-            return result;
-        };
-
-        var scratchCartesian3 = new Cartesian2.Cartesian3();
-        /**
-         * The distances calculated by the vector from the center of the bounding sphere to position projected onto direction
-         * plus/minus the radius of the bounding sphere.
-         * <br>
-         * If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the
-         * closest and farthest planes from position that intersect the bounding sphere.
-         *
-         * @param {BoundingSphere} sphere The bounding sphere to calculate the distance to.
-         * @param {Cartesian3} position The position to calculate the distance from.
-         * @param {Cartesian3} direction The direction from position.
-         * @param {Interval} [result] A Interval to store the nearest and farthest distances.
-         * @returns {Interval} The nearest and farthest distances on the bounding sphere from position in direction.
-         */
-        BoundingSphere.computePlaneDistances = function(sphere, position, direction, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('sphere', sphere);
-            Check.Check.typeOf.object('position', position);
-            Check.Check.typeOf.object('direction', direction);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Interval();
-            }
-
-            var toCenter = Cartesian2.Cartesian3.subtract(sphere.center, position, scratchCartesian3);
-            var mag = Cartesian2.Cartesian3.dot(direction, toCenter);
-
-            result.start = mag - sphere.radius;
-            result.stop = mag + sphere.radius;
-            return result;
-        };
-
-        var projectTo2DNormalScratch = new Cartesian2.Cartesian3();
-        var projectTo2DEastScratch = new Cartesian2.Cartesian3();
-        var projectTo2DNorthScratch = new Cartesian2.Cartesian3();
-        var projectTo2DWestScratch = new Cartesian2.Cartesian3();
-        var projectTo2DSouthScratch = new Cartesian2.Cartesian3();
-        var projectTo2DCartographicScratch = new Cartesian2.Cartographic();
-        var projectTo2DPositionsScratch = new Array(8);
-        for (var n = 0; n < 8; ++n) {
-            projectTo2DPositionsScratch[n] = new Cartesian2.Cartesian3();
-        }
-
-        var projectTo2DProjection = new GeographicProjection();
-        /**
-         * Creates a bounding sphere in 2D from a bounding sphere in 3D world coordinates.
-         *
-         * @param {BoundingSphere} sphere The bounding sphere to transform to 2D.
-         * @param {Object} [projection=GeographicProjection] The projection to 2D.
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         */
-        BoundingSphere.projectTo2D = function(sphere, projection, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('sphere', sphere);
-            //>>includeEnd('debug');
-
-            projection = when.defaultValue(projection, projectTo2DProjection);
-
-            var ellipsoid = projection.ellipsoid;
-            var center = sphere.center;
-            var radius = sphere.radius;
-
-            var normal;
-            if (Cartesian2.Cartesian3.equals(center, Cartesian2.Cartesian3.ZERO)) {
-                // Bounding sphere is at the center. The geodetic surface normal is not
-                // defined here so pick the x-axis as a fallback.
-                normal = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_X, projectTo2DNormalScratch);
-            } else {
-                normal = ellipsoid.geodeticSurfaceNormal(center, projectTo2DNormalScratch);
-            }
-            var east = Cartesian2.Cartesian3.cross(Cartesian2.Cartesian3.UNIT_Z, normal, projectTo2DEastScratch);
-            Cartesian2.Cartesian3.normalize(east, east);
-            var north = Cartesian2.Cartesian3.cross(normal, east, projectTo2DNorthScratch);
-            Cartesian2.Cartesian3.normalize(north, north);
-
-            Cartesian2.Cartesian3.multiplyByScalar(normal, radius, normal);
-            Cartesian2.Cartesian3.multiplyByScalar(north, radius, north);
-            Cartesian2.Cartesian3.multiplyByScalar(east, radius, east);
-
-            var south = Cartesian2.Cartesian3.negate(north, projectTo2DSouthScratch);
-            var west = Cartesian2.Cartesian3.negate(east, projectTo2DWestScratch);
-
-            var positions = projectTo2DPositionsScratch;
-
-            // top NE corner
-            var corner = positions[0];
-            Cartesian2.Cartesian3.add(normal, north, corner);
-            Cartesian2.Cartesian3.add(corner, east, corner);
-
-            // top NW corner
-            corner = positions[1];
-            Cartesian2.Cartesian3.add(normal, north, corner);
-            Cartesian2.Cartesian3.add(corner, west, corner);
-
-            // top SW corner
-            corner = positions[2];
-            Cartesian2.Cartesian3.add(normal, south, corner);
-            Cartesian2.Cartesian3.add(corner, west, corner);
-
-            // top SE corner
-            corner = positions[3];
-            Cartesian2.Cartesian3.add(normal, south, corner);
-            Cartesian2.Cartesian3.add(corner, east, corner);
-
-            Cartesian2.Cartesian3.negate(normal, normal);
-
-            // bottom NE corner
-            corner = positions[4];
-            Cartesian2.Cartesian3.add(normal, north, corner);
-            Cartesian2.Cartesian3.add(corner, east, corner);
-
-            // bottom NW corner
-            corner = positions[5];
-            Cartesian2.Cartesian3.add(normal, north, corner);
-            Cartesian2.Cartesian3.add(corner, west, corner);
-
-            // bottom SW corner
-            corner = positions[6];
-            Cartesian2.Cartesian3.add(normal, south, corner);
-            Cartesian2.Cartesian3.add(corner, west, corner);
-
-            // bottom SE corner
-            corner = positions[7];
-            Cartesian2.Cartesian3.add(normal, south, corner);
-            Cartesian2.Cartesian3.add(corner, east, corner);
-
-            var length = positions.length;
-            for (var i = 0; i < length; ++i) {
-                var position = positions[i];
-                Cartesian2.Cartesian3.add(center, position, position);
-                var cartographic = ellipsoid.cartesianToCartographic(position, projectTo2DCartographicScratch);
-                projection.project(cartographic, position);
-            }
-
-            result = BoundingSphere.fromPoints(positions, result);
-
-            // swizzle center components
-            center = result.center;
-            var x = center.x;
-            var y = center.y;
-            var z = center.z;
-            center.x = z;
-            center.y = x;
-            center.z = y;
-
-            return result;
-        };
-
-        /**
-         * Determines whether or not a sphere is hidden from view by the occluder.
-         *
-         * @param {BoundingSphere} sphere The bounding sphere surrounding the occludee object.
-         * @param {Occluder} occluder The occluder.
-         * @returns {Boolean} <code>true</code> if the sphere is not visible; otherwise <code>false</code>.
-         */
-        BoundingSphere.isOccluded = function(sphere, occluder) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('sphere', sphere);
-            Check.Check.typeOf.object('occluder', occluder);
-            //>>includeEnd('debug');
-            return !occluder.isBoundingSphereVisible(sphere);
-        };
-
-        /**
-         * Compares the provided BoundingSphere componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {BoundingSphere} [left] The first BoundingSphere.
-         * @param {BoundingSphere} [right] The second BoundingSphere.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        BoundingSphere.equals = function(left, right) {
-            return (left === right) ||
-                   ((when.defined(left)) &&
-                    (when.defined(right)) &&
-                    Cartesian2.Cartesian3.equals(left.center, right.center) &&
-                    left.radius === right.radius);
-        };
-
-        /**
-         * Determines which side of a plane the sphere is located.
-         *
-         * @param {Plane} plane The plane to test against.
-         * @returns {Intersect} {@link Intersect.INSIDE} if the entire sphere is on the side of the plane
-         *                      the normal is pointing, {@link Intersect.OUTSIDE} if the entire sphere is
-         *                      on the opposite side, and {@link Intersect.INTERSECTING} if the sphere
-         *                      intersects the plane.
-         */
-        BoundingSphere.prototype.intersectPlane = function(plane) {
-            return BoundingSphere.intersectPlane(this, plane);
-        };
-
-        /**
-         * Computes the estimated distance squared from the closest point on a bounding sphere to a point.
-         *
-         * @param {Cartesian3} cartesian The point
-         * @returns {Number} The estimated distance squared from the bounding sphere to the point.
-         *
-         * @example
-         * // Sort bounding spheres from back to front
-         * spheres.sort(function(a, b) {
-         *     return b.distanceSquaredTo(camera.positionWC) - a.distanceSquaredTo(camera.positionWC);
-         * });
-         */
-        BoundingSphere.prototype.distanceSquaredTo = function(cartesian) {
-            return BoundingSphere.distanceSquaredTo(this, cartesian);
-        };
-
-        /**
-         * The distances calculated by the vector from the center of the bounding sphere to position projected onto direction
-         * plus/minus the radius of the bounding sphere.
-         * <br>
-         * If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the
-         * closest and farthest planes from position that intersect the bounding sphere.
-         *
-         * @param {Cartesian3} position The position to calculate the distance from.
-         * @param {Cartesian3} direction The direction from position.
-         * @param {Interval} [result] A Interval to store the nearest and farthest distances.
-         * @returns {Interval} The nearest and farthest distances on the bounding sphere from position in direction.
-         */
-        BoundingSphere.prototype.computePlaneDistances = function(position, direction, result) {
-            return BoundingSphere.computePlaneDistances(this, position, direction, result);
-        };
-
-        /**
-         * Determines whether or not a sphere is hidden from view by the occluder.
-         *
-         * @param {Occluder} occluder The occluder.
-         * @returns {Boolean} <code>true</code> if the sphere is not visible; otherwise <code>false</code>.
-         */
-        BoundingSphere.prototype.isOccluded = function(occluder) {
-            return BoundingSphere.isOccluded(this, occluder);
-        };
-
-        /**
-         * Compares this BoundingSphere against the provided BoundingSphere componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {BoundingSphere} [right] The right hand side BoundingSphere.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        BoundingSphere.prototype.equals = function(right) {
-            return BoundingSphere.equals(this, right);
-        };
-
-        /**
-         * Duplicates this BoundingSphere instance.
-         *
-         * @param {BoundingSphere} [result] The object onto which to store the result.
-         * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
-         */
-        BoundingSphere.prototype.clone = function(result) {
-            return BoundingSphere.clone(this, result);
-        };
-
-        /**
-         * Computes the radius of the BoundingSphere.
-         * @returns {Number} The radius of the BoundingSphere.
-         */
-        BoundingSphere.prototype.volume = function() {
-            var radius = this.radius;
-            return volumeConstant * radius * radius * radius;
-        };
-
-    exports.BoundingSphere = BoundingSphere;
-    exports.Cartesian4 = Cartesian4;
-    exports.GeographicProjection = GeographicProjection;
-    exports.Intersect = Intersect$1;
-    exports.Interval = Interval;
-    exports.Matrix3 = Matrix3;
-    exports.Matrix4 = Matrix4;
-
-});
diff --git a/libs/supermap/Workers/BoxGeometry-813ff9be.js b/libs/supermap/Workers/BoxGeometry-813ff9be.js
deleted file mode 100644
index b3819e5..0000000
--- a/libs/supermap/Workers/BoxGeometry-813ff9be.js
+++ /dev/null
@@ -1,870 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './GeometryAttributes-aacecde6', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402'], function (exports, when, Check, Cartesian2, BoundingSphere, ComponentDatatype, GeometryAttribute, PrimitiveType, GeometryAttributes, GeometryOffsetAttribute, VertexFormat) { 'use strict';
-
-    var diffScratch = new Cartesian2.Cartesian3();
-
-        /**
-         * Describes a cube centered at the origin.
-         *
-         * @alias BoxGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3} options.minimum The minimum x, y, and z coordinates of the box.
-         * @param {Cartesian3} options.maximum The maximum x, y, and z coordinates of the box.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         *
-         * @see BoxGeometry.fromDimensions
-         * @see BoxGeometry.createGeometry
-         * @see Packable
-         *
-         * @demo {@link https://sandcastle.cesium.com/index.html?src=Box.html|Cesium Sandcastle Box Demo}
-         *
-         * @example
-         * var box = new Cesium.BoxGeometry({
-         *   vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
-         *   maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0),
-         *   minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0)
-         * });
-         * var geometry = Cesium.BoxGeometry.createGeometry(box);
-         */
-        function BoxGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var min = options.minimum;
-            var max = options.maximum;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('min', min);
-            Check.Check.typeOf.object('max', max);
-            if (when.defined(options.offsetAttribute) && options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                throw new Check.DeveloperError('GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.');
-            }
-            //>>includeEnd('debug');
-
-            var vertexFormat = when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT);
-
-            this._minimum = Cartesian2.Cartesian3.clone(min);
-            this._maximum = Cartesian2.Cartesian3.clone(max);
-            this._vertexFormat = vertexFormat;
-            this._offsetAttribute = options.offsetAttribute;
-            this._workerName = 'createBoxGeometry';
-        }
-
-        /**
-         * Creates a cube centered at the origin given its dimensions.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3} options.dimensions The width, depth, and height of the box stored in the x, y, and z coordinates of the <code>Cartesian3</code>, respectively.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @returns {BoxGeometry}
-         *
-         * @exception {DeveloperError} All dimensions components must be greater than or equal to zero.
-         *
-         *
-         * @example
-         * var box = Cesium.BoxGeometry.fromDimensions({
-         *   vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
-         *   dimensions : new Cesium.Cartesian3(500000.0, 500000.0, 500000.0)
-         * });
-         * var geometry = Cesium.BoxGeometry.createGeometry(box);
-         *
-         * @see BoxGeometry.createGeometry
-         */
-        BoxGeometry.fromDimensions = function(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var dimensions = options.dimensions;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('dimensions', dimensions);
-            Check.Check.typeOf.number.greaterThanOrEquals('dimensions.x', dimensions.x, 0);
-            Check.Check.typeOf.number.greaterThanOrEquals('dimensions.y', dimensions.y, 0);
-            Check.Check.typeOf.number.greaterThanOrEquals('dimensions.z', dimensions.z, 0);
-            //>>includeEnd('debug');
-
-            var corner = Cartesian2.Cartesian3.multiplyByScalar(dimensions, 0.5, new Cartesian2.Cartesian3());
-
-            return new BoxGeometry({
-                minimum : Cartesian2.Cartesian3.negate(corner, new Cartesian2.Cartesian3()),
-                maximum : corner,
-                vertexFormat : options.vertexFormat,
-                offsetAttribute: options.offsetAttribute
-            });
-        };
-
-        /**
-         * Creates a cube from the dimensions of an AxisAlignedBoundingBox.
-         *
-         * @param {AxisAlignedBoundingBox} boundingBox A description of the AxisAlignedBoundingBox.
-         * @returns {BoxGeometry}
-         *
-         *
-         *
-         * @example
-         * var aabb = Cesium.AxisAlignedBoundingBox.fromPoints(Cesium.Cartesian3.fromDegreesArray([
-         *      -72.0, 40.0,
-         *      -70.0, 35.0,
-         *      -75.0, 30.0,
-         *      -70.0, 30.0,
-         *      -68.0, 40.0
-         * ]));
-         * var box = Cesium.BoxGeometry.fromAxisAlignedBoundingBox(aabb);
-         *
-         * @see BoxGeometry.createGeometry
-         */
-        BoxGeometry.fromAxisAlignedBoundingBox = function (boundingBox) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('boundingBox', boundingBox);
-            //>>includeEnd('debug');
-
-            return new BoxGeometry({
-                minimum : boundingBox.minimum,
-                maximum : boundingBox.maximum
-            });
-        };
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        BoxGeometry.packedLength = 2 * Cartesian2.Cartesian3.packedLength + VertexFormat.VertexFormat.packedLength + 1;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {BoxGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        BoxGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            Cartesian2.Cartesian3.pack(value._minimum, array, startingIndex);
-            Cartesian2.Cartesian3.pack(value._maximum, array, startingIndex + Cartesian2.Cartesian3.packedLength);
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex + 2 * Cartesian2.Cartesian3.packedLength);
-            array[startingIndex + 2 * Cartesian2.Cartesian3.packedLength + VertexFormat.VertexFormat.packedLength] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchMin = new Cartesian2.Cartesian3();
-        var scratchMax = new Cartesian2.Cartesian3();
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-        var scratchOptions = {
-            minimum: scratchMin,
-            maximum: scratchMax,
-            vertexFormat: scratchVertexFormat,
-            offsetAttribute : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {BoxGeometry} [result] The object into which to store the result.
-         * @returns {BoxGeometry} The modified result parameter or a new BoxGeometry instance if one was not provided.
-         */
-        BoxGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var min = Cartesian2.Cartesian3.unpack(array, startingIndex, scratchMin);
-            var max = Cartesian2.Cartesian3.unpack(array, startingIndex + Cartesian2.Cartesian3.packedLength, scratchMax);
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex + 2 * Cartesian2.Cartesian3.packedLength, scratchVertexFormat);
-            var offsetAttribute = array[startingIndex + 2 * Cartesian2.Cartesian3.packedLength + VertexFormat.VertexFormat.packedLength];
-
-            if (!when.defined(result)) {
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-                return new BoxGeometry(scratchOptions);
-            }
-
-            result._minimum = Cartesian2.Cartesian3.clone(min, result._minimum);
-            result._maximum = Cartesian2.Cartesian3.clone(max, result._maximum);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of a box, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {BoxGeometry} boxGeometry A description of the box.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        BoxGeometry.createGeometry = function(boxGeometry) {
-            var min = boxGeometry._minimum;
-            var max = boxGeometry._maximum;
-            var vertexFormat = boxGeometry._vertexFormat;
-
-            if (Cartesian2.Cartesian3.equals(min, max)) {
-                return;
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            var indices;
-            var positions;
-
-            if (vertexFormat.position &&
-                    (vertexFormat.st || vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent)) {
-                if (vertexFormat.position) {
-                    // 8 corner points.  Duplicated 3 times each for each incident edge/face.
-                    positions = new Float64Array(6 * 4 * 3);
-
-                    // +z face
-                    positions[0]  = min.x;
-                    positions[1]  = min.y;
-                    positions[2]  = max.z;
-                    positions[3]  = max.x;
-                    positions[4]  = min.y;
-                    positions[5]  = max.z;
-                    positions[6]  = max.x;
-                    positions[7]  = max.y;
-                    positions[8]  = max.z;
-                    positions[9]  = min.x;
-                    positions[10] = max.y;
-                    positions[11] = max.z;
-
-                    // -z face
-                    positions[12] = min.x;
-                    positions[13] = min.y;
-                    positions[14] = min.z;
-                    positions[15] = max.x;
-                    positions[16] = min.y;
-                    positions[17] = min.z;
-                    positions[18] = max.x;
-                    positions[19] = max.y;
-                    positions[20] = min.z;
-                    positions[21] = min.x;
-                    positions[22] = max.y;
-                    positions[23] = min.z;
-
-                    // +x face
-                    positions[24] = max.x;
-                    positions[25] = min.y;
-                    positions[26] = min.z;
-                    positions[27] = max.x;
-                    positions[28] = max.y;
-                    positions[29] = min.z;
-                    positions[30] = max.x;
-                    positions[31] = max.y;
-                    positions[32] = max.z;
-                    positions[33] = max.x;
-                    positions[34] = min.y;
-                    positions[35] = max.z;
-
-                    // -x face
-                    positions[36] = min.x;
-                    positions[37] = min.y;
-                    positions[38] = min.z;
-                    positions[39] = min.x;
-                    positions[40] = max.y;
-                    positions[41] = min.z;
-                    positions[42] = min.x;
-                    positions[43] = max.y;
-                    positions[44] = max.z;
-                    positions[45] = min.x;
-                    positions[46] = min.y;
-                    positions[47] = max.z;
-
-                    // +y face
-                    positions[48] = min.x;
-                    positions[49] = max.y;
-                    positions[50] = min.z;
-                    positions[51] = max.x;
-                    positions[52] = max.y;
-                    positions[53] = min.z;
-                    positions[54] = max.x;
-                    positions[55] = max.y;
-                    positions[56] = max.z;
-                    positions[57] = min.x;
-                    positions[58] = max.y;
-                    positions[59] = max.z;
-
-                    // -y face
-                    positions[60] = min.x;
-                    positions[61] = min.y;
-                    positions[62] = min.z;
-                    positions[63] = max.x;
-                    positions[64] = min.y;
-                    positions[65] = min.z;
-                    positions[66] = max.x;
-                    positions[67] = min.y;
-                    positions[68] = max.z;
-                    positions[69] = min.x;
-                    positions[70] = min.y;
-                    positions[71] = max.z;
-
-                    attributes.position = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                        componentsPerAttribute : 3,
-                        values : positions
-                    });
-                }
-
-                if (vertexFormat.normal) {
-                    var normals = new Float32Array(6 * 4 * 3);
-
-                    // +z face
-                    normals[0]  = 0.0;
-                    normals[1]  = 0.0;
-                    normals[2]  = 1.0;
-                    normals[3]  = 0.0;
-                    normals[4]  = 0.0;
-                    normals[5]  = 1.0;
-                    normals[6]  = 0.0;
-                    normals[7]  = 0.0;
-                    normals[8]  = 1.0;
-                    normals[9]  = 0.0;
-                    normals[10] = 0.0;
-                    normals[11] = 1.0;
-
-                    // -z face
-                    normals[12] = 0.0;
-                    normals[13] = 0.0;
-                    normals[14] = -1.0;
-                    normals[15] = 0.0;
-                    normals[16] = 0.0;
-                    normals[17] = -1.0;
-                    normals[18] = 0.0;
-                    normals[19] = 0.0;
-                    normals[20] = -1.0;
-                    normals[21] = 0.0;
-                    normals[22] = 0.0;
-                    normals[23] = -1.0;
-
-                    // +x face
-                    normals[24] = 1.0;
-                    normals[25] = 0.0;
-                    normals[26] = 0.0;
-                    normals[27] = 1.0;
-                    normals[28] = 0.0;
-                    normals[29] = 0.0;
-                    normals[30] = 1.0;
-                    normals[31] = 0.0;
-                    normals[32] = 0.0;
-                    normals[33] = 1.0;
-                    normals[34] = 0.0;
-                    normals[35] = 0.0;
-
-                    // -x face
-                    normals[36] = -1.0;
-                    normals[37] = 0.0;
-                    normals[38] = 0.0;
-                    normals[39] = -1.0;
-                    normals[40] = 0.0;
-                    normals[41] = 0.0;
-                    normals[42] = -1.0;
-                    normals[43] = 0.0;
-                    normals[44] = 0.0;
-                    normals[45] = -1.0;
-                    normals[46] = 0.0;
-                    normals[47] = 0.0;
-
-                    // +y face
-                    normals[48] = 0.0;
-                    normals[49] = 1.0;
-                    normals[50] = 0.0;
-                    normals[51] = 0.0;
-                    normals[52] = 1.0;
-                    normals[53] = 0.0;
-                    normals[54] = 0.0;
-                    normals[55] = 1.0;
-                    normals[56] = 0.0;
-                    normals[57] = 0.0;
-                    normals[58] = 1.0;
-                    normals[59] = 0.0;
-
-                    // -y face
-                    normals[60] = 0.0;
-                    normals[61] = -1.0;
-                    normals[62] = 0.0;
-                    normals[63] = 0.0;
-                    normals[64] = -1.0;
-                    normals[65] = 0.0;
-                    normals[66] = 0.0;
-                    normals[67] = -1.0;
-                    normals[68] = 0.0;
-                    normals[69] = 0.0;
-                    normals[70] = -1.0;
-                    normals[71] = 0.0;
-
-                    attributes.normal = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : normals
-                    });
-                }
-
-                if (vertexFormat.st) {
-                    var texCoords = new Float32Array(6 * 4 * 2);
-
-                    // +z face
-                    texCoords[0]  = 0.0;
-                    texCoords[1]  = 0.0;
-                    texCoords[2]  = 1.0;
-                    texCoords[3]  = 0.0;
-                    texCoords[4]  = 1.0;
-                    texCoords[5]  = 1.0;
-                    texCoords[6]  = 0.0;
-                    texCoords[7]  = 1.0;
-
-                    // -z face
-                    texCoords[8]  = 1.0;
-                    texCoords[9]  = 0.0;
-                    texCoords[10] = 0.0;
-                    texCoords[11] = 0.0;
-                    texCoords[12] = 0.0;
-                    texCoords[13] = 1.0;
-                    texCoords[14] = 1.0;
-                    texCoords[15] = 1.0;
-
-                    //+x face
-                    texCoords[16] = 0.0;
-                    texCoords[17] = 0.0;
-                    texCoords[18] = 1.0;
-                    texCoords[19] = 0.0;
-                    texCoords[20] = 1.0;
-                    texCoords[21] = 1.0;
-                    texCoords[22] = 0.0;
-                    texCoords[23] = 1.0;
-
-                    // -x face
-                    texCoords[24] = 1.0;
-                    texCoords[25] = 0.0;
-                    texCoords[26] = 0.0;
-                    texCoords[27] = 0.0;
-                    texCoords[28] = 0.0;
-                    texCoords[29] = 1.0;
-                    texCoords[30] = 1.0;
-                    texCoords[31] = 1.0;
-
-                    // +y face
-                    texCoords[32] = 1.0;
-                    texCoords[33] = 0.0;
-                    texCoords[34] = 0.0;
-                    texCoords[35] = 0.0;
-                    texCoords[36] = 0.0;
-                    texCoords[37] = 1.0;
-                    texCoords[38] = 1.0;
-                    texCoords[39] = 1.0;
-
-                    // -y face
-                    texCoords[40] = 0.0;
-                    texCoords[41] = 0.0;
-                    texCoords[42] = 1.0;
-                    texCoords[43] = 0.0;
-                    texCoords[44] = 1.0;
-                    texCoords[45] = 1.0;
-                    texCoords[46] = 0.0;
-                    texCoords[47] = 1.0;
-
-                    attributes.st = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 2,
-                        values : texCoords
-                    });
-                }
-
-                if (vertexFormat.tangent) {
-                    var tangents = new Float32Array(6 * 4 * 3);
-
-                    // +z face
-                    tangents[0]  = 1.0;
-                    tangents[1]  = 0.0;
-                    tangents[2]  = 0.0;
-                    tangents[3]  = 1.0;
-                    tangents[4]  = 0.0;
-                    tangents[5]  = 0.0;
-                    tangents[6]  = 1.0;
-                    tangents[7]  = 0.0;
-                    tangents[8]  = 0.0;
-                    tangents[9]  = 1.0;
-                    tangents[10] = 0.0;
-                    tangents[11] = 0.0;
-
-                    // -z face
-                    tangents[12] = -1.0;
-                    tangents[13] = 0.0;
-                    tangents[14] = 0.0;
-                    tangents[15] = -1.0;
-                    tangents[16] = 0.0;
-                    tangents[17] = 0.0;
-                    tangents[18] = -1.0;
-                    tangents[19] = 0.0;
-                    tangents[20] = 0.0;
-                    tangents[21] = -1.0;
-                    tangents[22] = 0.0;
-                    tangents[23] = 0.0;
-
-                    // +x face
-                    tangents[24] = 0.0;
-                    tangents[25] = 1.0;
-                    tangents[26] = 0.0;
-                    tangents[27] = 0.0;
-                    tangents[28] = 1.0;
-                    tangents[29] = 0.0;
-                    tangents[30] = 0.0;
-                    tangents[31] = 1.0;
-                    tangents[32] = 0.0;
-                    tangents[33] = 0.0;
-                    tangents[34] = 1.0;
-                    tangents[35] = 0.0;
-
-                    // -x face
-                    tangents[36] = 0.0;
-                    tangents[37] = -1.0;
-                    tangents[38] = 0.0;
-                    tangents[39] = 0.0;
-                    tangents[40] = -1.0;
-                    tangents[41] = 0.0;
-                    tangents[42] = 0.0;
-                    tangents[43] = -1.0;
-                    tangents[44] = 0.0;
-                    tangents[45] = 0.0;
-                    tangents[46] = -1.0;
-                    tangents[47] = 0.0;
-
-                    // +y face
-                    tangents[48] = -1.0;
-                    tangents[49] = 0.0;
-                    tangents[50] = 0.0;
-                    tangents[51] = -1.0;
-                    tangents[52] = 0.0;
-                    tangents[53] = 0.0;
-                    tangents[54] = -1.0;
-                    tangents[55] = 0.0;
-                    tangents[56] = 0.0;
-                    tangents[57] = -1.0;
-                    tangents[58] = 0.0;
-                    tangents[59] = 0.0;
-
-                    // -y face
-                    tangents[60] = 1.0;
-                    tangents[61] = 0.0;
-                    tangents[62] = 0.0;
-                    tangents[63] = 1.0;
-                    tangents[64] = 0.0;
-                    tangents[65] = 0.0;
-                    tangents[66] = 1.0;
-                    tangents[67] = 0.0;
-                    tangents[68] = 0.0;
-                    tangents[69] = 1.0;
-                    tangents[70] = 0.0;
-                    tangents[71] = 0.0;
-
-                    attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : tangents
-                    });
-                }
-
-                if (vertexFormat.bitangent) {
-                    var bitangents = new Float32Array(6 * 4 * 3);
-
-                    // +z face
-                    bitangents[0] = 0.0;
-                    bitangents[1] = 1.0;
-                    bitangents[2] = 0.0;
-                    bitangents[3] = 0.0;
-                    bitangents[4] = 1.0;
-                    bitangents[5] = 0.0;
-                    bitangents[6] = 0.0;
-                    bitangents[7] = 1.0;
-                    bitangents[8] = 0.0;
-                    bitangents[9] = 0.0;
-                    bitangents[10] = 1.0;
-                    bitangents[11] = 0.0;
-
-                    // -z face
-                    bitangents[12] = 0.0;
-                    bitangents[13] = 1.0;
-                    bitangents[14] = 0.0;
-                    bitangents[15] = 0.0;
-                    bitangents[16] = 1.0;
-                    bitangents[17] = 0.0;
-                    bitangents[18] = 0.0;
-                    bitangents[19] = 1.0;
-                    bitangents[20] = 0.0;
-                    bitangents[21] = 0.0;
-                    bitangents[22] = 1.0;
-                    bitangents[23] = 0.0;
-
-                    // +x face
-                    bitangents[24] = 0.0;
-                    bitangents[25] = 0.0;
-                    bitangents[26] = 1.0;
-                    bitangents[27] = 0.0;
-                    bitangents[28] = 0.0;
-                    bitangents[29] = 1.0;
-                    bitangents[30] = 0.0;
-                    bitangents[31] = 0.0;
-                    bitangents[32] = 1.0;
-                    bitangents[33] = 0.0;
-                    bitangents[34] = 0.0;
-                    bitangents[35] = 1.0;
-
-                    // -x face
-                    bitangents[36] = 0.0;
-                    bitangents[37] = 0.0;
-                    bitangents[38] = 1.0;
-                    bitangents[39] = 0.0;
-                    bitangents[40] = 0.0;
-                    bitangents[41] = 1.0;
-                    bitangents[42] = 0.0;
-                    bitangents[43] = 0.0;
-                    bitangents[44] = 1.0;
-                    bitangents[45] = 0.0;
-                    bitangents[46] = 0.0;
-                    bitangents[47] = 1.0;
-
-                    // +y face
-                    bitangents[48] = 0.0;
-                    bitangents[49] = 0.0;
-                    bitangents[50] = 1.0;
-                    bitangents[51] = 0.0;
-                    bitangents[52] = 0.0;
-                    bitangents[53] = 1.0;
-                    bitangents[54] = 0.0;
-                    bitangents[55] = 0.0;
-                    bitangents[56] = 1.0;
-                    bitangents[57] = 0.0;
-                    bitangents[58] = 0.0;
-                    bitangents[59] = 1.0;
-
-                    // -y face
-                    bitangents[60] = 0.0;
-                    bitangents[61] = 0.0;
-                    bitangents[62] = 1.0;
-                    bitangents[63] = 0.0;
-                    bitangents[64] = 0.0;
-                    bitangents[65] = 1.0;
-                    bitangents[66] = 0.0;
-                    bitangents[67] = 0.0;
-                    bitangents[68] = 1.0;
-                    bitangents[69] = 0.0;
-                    bitangents[70] = 0.0;
-                    bitangents[71] = 1.0;
-
-                    attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : bitangents
-                    });
-                }
-
-                // 12 triangles:  6 faces, 2 triangles each.
-                indices = new Uint16Array(6 * 2 * 3);
-
-                // +z face
-                indices[0] = 0;
-                indices[1] = 1;
-                indices[2] = 2;
-                indices[3] = 0;
-                indices[4] = 2;
-                indices[5] = 3;
-
-                // -z face
-                indices[6] = 4 + 2;
-                indices[7] = 4 + 1;
-                indices[8] = 4 + 0;
-                indices[9] = 4 + 3;
-                indices[10] = 4 + 2;
-                indices[11] = 4 + 0;
-
-                // +x face
-                indices[12] = 8 + 0;
-                indices[13] = 8 + 1;
-                indices[14] = 8 + 2;
-                indices[15] = 8 + 0;
-                indices[16] = 8 + 2;
-                indices[17] = 8 + 3;
-
-                // -x face
-                indices[18] = 12 + 2;
-                indices[19] = 12 + 1;
-                indices[20] = 12 + 0;
-                indices[21] = 12 + 3;
-                indices[22] = 12 + 2;
-                indices[23] = 12 + 0;
-
-                // +y face
-                indices[24] = 16 + 2;
-                indices[25] = 16 + 1;
-                indices[26] = 16 + 0;
-                indices[27] = 16 + 3;
-                indices[28] = 16 + 2;
-                indices[29] = 16 + 0;
-
-                // -y face
-                indices[30] = 20 + 0;
-                indices[31] = 20 + 1;
-                indices[32] = 20 + 2;
-                indices[33] = 20 + 0;
-                indices[34] = 20 + 2;
-                indices[35] = 20 + 3;
-            } else {
-                // Positions only - no need to duplicate corner points
-                positions = new Float64Array(8 * 3);
-
-                positions[0] = min.x;
-                positions[1] = min.y;
-                positions[2] = min.z;
-                positions[3] = max.x;
-                positions[4] = min.y;
-                positions[5] = min.z;
-                positions[6] = max.x;
-                positions[7] = max.y;
-                positions[8] = min.z;
-                positions[9] = min.x;
-                positions[10] = max.y;
-                positions[11] = min.z;
-                positions[12] = min.x;
-                positions[13] = min.y;
-                positions[14] = max.z;
-                positions[15] = max.x;
-                positions[16] = min.y;
-                positions[17] = max.z;
-                positions[18] = max.x;
-                positions[19] = max.y;
-                positions[20] = max.z;
-                positions[21] = min.x;
-                positions[22] = max.y;
-                positions[23] = max.z;
-
-                attributes.position = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : positions
-                });
-
-                // 12 triangles:  6 faces, 2 triangles each.
-                indices = new Uint16Array(6 * 2 * 3);
-
-                // plane z = corner.Z
-                indices[0] = 4;
-                indices[1] = 5;
-                indices[2] = 6;
-                indices[3] = 4;
-                indices[4] = 6;
-                indices[5] = 7;
-
-                // plane z = -corner.Z
-                indices[6] = 1;
-                indices[7] = 0;
-                indices[8] = 3;
-                indices[9] = 1;
-                indices[10] = 3;
-                indices[11] = 2;
-
-                // plane x = corner.X
-                indices[12] = 1;
-                indices[13] = 6;
-                indices[14] = 5;
-                indices[15] = 1;
-                indices[16] = 2;
-                indices[17] = 6;
-
-                // plane y = corner.Y
-                indices[18] = 2;
-                indices[19] = 3;
-                indices[20] = 7;
-                indices[21] = 2;
-                indices[22] = 7;
-                indices[23] = 6;
-
-                // plane x = -corner.X
-                indices[24] = 3;
-                indices[25] = 0;
-                indices[26] = 4;
-                indices[27] = 3;
-                indices[28] = 4;
-                indices[29] = 7;
-
-                // plane y = -corner.Y
-                indices[30] = 0;
-                indices[31] = 1;
-                indices[32] = 5;
-                indices[33] = 0;
-                indices[34] = 5;
-                indices[35] = 4;
-            }
-
-            var diff = Cartesian2.Cartesian3.subtract(max, min, diffScratch);
-            var radius = Cartesian2.Cartesian3.magnitude(diff) * 0.5;
-
-            if (when.defined(boxGeometry._offsetAttribute)) {
-                var length = positions.length;
-                var applyOffset = new Uint8Array(length / 3);
-                var offsetValue = boxGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values: applyOffset
-                });
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES,
-                boundingSphere : new BoundingSphere.BoundingSphere(Cartesian2.Cartesian3.ZERO, radius),
-                offsetAttribute : boxGeometry._offsetAttribute
-            });
-        };
-
-        var unitBoxGeometry;
-
-        /**
-         * Returns the geometric representation of a unit box, including its vertices, indices, and a bounding sphere.
-         * @returns {Geometry} The computed vertices and indices.
-         *
-         * @private
-         */
-        BoxGeometry.getUnitBox = function() {
-            if (!when.defined(unitBoxGeometry)) {
-                unitBoxGeometry = BoxGeometry.createGeometry(BoxGeometry.fromDimensions({
-                    dimensions : new Cartesian2.Cartesian3(1.0, 1.0, 1.0),
-                    vertexFormat : VertexFormat.VertexFormat.POSITION_ONLY
-                }));
-            }
-            return unitBoxGeometry;
-        };
-
-    exports.BoxGeometry = BoxGeometry;
-
-});
diff --git a/libs/supermap/Workers/Cartesian2-2cbe6c75.js b/libs/supermap/Workers/Cartesian2-2cbe6c75.js
deleted file mode 100644
index 7080e64..0000000
--- a/libs/supermap/Workers/Cartesian2-2cbe6c75.js
+++ /dev/null
@@ -1,3761 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240'], function (exports, when, Check, _Math) { 'use strict';
-
-    /**
-     * A 3D Cartesian point.
-     * @alias Cartesian3
-     * @constructor
-     *
-     * @param {Number} [x=0.0] The X component.
-     * @param {Number} [y=0.0] The Y component.
-     * @param {Number} [z=0.0] The Z component.
-     *
-     * @see Cartesian2
-     * @see Cartesian4
-     * @see Packable
-     */
-    function Cartesian3(x, y, z) {
-        /**
-         * The X component.
-         * @type {Number}
-         * @default 0.0
-         */
-        this.x = when.defaultValue(x, 0.0);
-
-        /**
-         * The Y component.
-         * @type {Number}
-         * @default 0.0
-         */
-        this.y = when.defaultValue(y, 0.0);
-
-        /**
-         * The Z component.
-         * @type {Number}
-         * @default 0.0
-         */
-        this.z = when.defaultValue(z, 0.0);
-    }
-
-    /**
-     * Converts the provided Spherical into Cartesian3 coordinates.
-     *
-     * @param {Spherical} spherical The Spherical to be converted to Cartesian3.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided.
-     */
-    Cartesian3.fromSpherical = function(spherical, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('spherical', spherical);
-        //>>includeEnd('debug');
-
-        if (!when.defined(result)) {
-            result = new Cartesian3();
-        }
-
-        var clock = spherical.clock;
-        var cone = spherical.cone;
-        var magnitude = when.defaultValue(spherical.magnitude, 1.0);
-        var radial = magnitude * Math.sin(cone);
-        result.x = radial * Math.cos(clock);
-        result.y = radial * Math.sin(clock);
-        result.z = magnitude * Math.cos(cone);
-        return result;
-    };
-
-    /**
-     * Creates a Cartesian3 instance from x, y and z coordinates.
-     *
-     * @param {Number} x The x coordinate.
-     * @param {Number} y The y coordinate.
-     * @param {Number} z The z coordinate.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided.
-     */
-    Cartesian3.fromElements = function(x, y, z, result) {
-        if (!when.defined(result)) {
-            return new Cartesian3(x, y, z);
-        }
-
-        result.x = x;
-        result.y = y;
-        result.z = z;
-        return result;
-    };
-
-    /**
-     * Duplicates a Cartesian3 instance.
-     *
-     * @param {Cartesian3} cartesian The Cartesian to duplicate.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided. (Returns undefined if cartesian is undefined)
-     */
-    Cartesian3.clone = function(cartesian, result) {
-        if (!when.defined(cartesian)) {
-            return undefined;
-        }
-        if (!when.defined(result)) {
-            return new Cartesian3(cartesian.x, cartesian.y, cartesian.z);
-        }
-
-        result.x = cartesian.x;
-        result.y = cartesian.y;
-        result.z = cartesian.z;
-        return result;
-    };
-
-    /**
-     * Creates a Cartesian3 instance from an existing Cartesian4.  This simply takes the
-     * x, y, and z properties of the Cartesian4 and drops w.
-     * @function
-     *
-     * @param {Cartesian4} cartesian The Cartesian4 instance to create a Cartesian3 instance from.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided.
-     */
-    Cartesian3.fromCartesian4 = Cartesian3.clone;
-
-    /**
-     * The number of elements used to pack the object into an array.
-     * @type {Number}
-     */
-    Cartesian3.packedLength = 3;
-
-    /**
-     * Stores the provided instance into the provided array.
-     *
-     * @param {Cartesian3} value The value to pack.
-     * @param {Number[]} array The array to pack into.
-     * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-     *
-     * @returns {Number[]} The array that was packed into
-     */
-    Cartesian3.pack = function(value, array, startingIndex) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('value', value);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        startingIndex = when.defaultValue(startingIndex, 0);
-
-        array[startingIndex++] = value.x;
-        array[startingIndex++] = value.y;
-        array[startingIndex] = value.z;
-
-        return array;
-    };
-
-    /**
-     * Retrieves an instance from a packed array.
-     *
-     * @param {Number[]} array The packed array.
-     * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-     * @param {Cartesian3} [result] The object into which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided.
-     */
-    Cartesian3.unpack = function(array, startingIndex, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        startingIndex = when.defaultValue(startingIndex, 0);
-
-        if (!when.defined(result)) {
-            result = new Cartesian3();
-        }
-        result.x = array[startingIndex++];
-        result.y = array[startingIndex++];
-        result.z = array[startingIndex];
-        return result;
-    };
-
-    /**
-     * Flattens an array of Cartesian3s into an array of components.
-     *
-     * @param {Cartesian3[]} array The array of cartesians to pack.
-     * @param {Number[]} result The array onto which to store the result.
-     * @returns {Number[]} The packed array.
-     */
-    Cartesian3.packArray = function(array, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        var length = array.length;
-        if (!when.defined(result)) {
-            result = new Array(length * 3);
-        } else {
-            result.length = length * 3;
-        }
-
-        for (var i = 0; i < length; ++i) {
-            Cartesian3.pack(array[i], result, i * 3);
-        }
-        return result;
-    };
-
-    /**
-     * Unpacks an array of cartesian components into an array of Cartesian3s.
-     *
-     * @param {Number[]} array The array of components to unpack.
-     * @param {Cartesian3[]} result The array onto which to store the result.
-     * @returns {Cartesian3[]} The unpacked array.
-     */
-    Cartesian3.unpackArray = function(array, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('array', array);
-        Check.Check.typeOf.number.greaterThanOrEquals('array.length', array.length, 3);
-        if (array.length % 3 !== 0) {
-            throw new Check.DeveloperError('array length must be a multiple of 3.');
-        }
-        //>>includeEnd('debug');
-
-        var length = array.length;
-        if (!when.defined(result)) {
-            result = new Array(length / 3);
-        } else {
-            result.length = length / 3;
-        }
-
-        for (var i = 0; i < length; i += 3) {
-            var index = i / 3;
-            result[index] = Cartesian3.unpack(array, i, result[index]);
-        }
-        return result;
-    };
-
-    /**
-     * Creates a Cartesian3 from three consecutive elements in an array.
-     * @function
-     *
-     * @param {Number[]} array The array whose three consecutive elements correspond to the x, y, and z components, respectively.
-     * @param {Number} [startingIndex=0] The offset into the array of the first element, which corresponds to the x component.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided.
-     *
-     * @example
-     * // Create a Cartesian3 with (1.0, 2.0, 3.0)
-     * var v = [1.0, 2.0, 3.0];
-     * var p = Cesium.Cartesian3.fromArray(v);
-     *
-     * // Create a Cartesian3 with (1.0, 2.0, 3.0) using an offset into an array
-     * var v2 = [0.0, 0.0, 1.0, 2.0, 3.0];
-     * var p2 = Cesium.Cartesian3.fromArray(v2, 2);
-     */
-    Cartesian3.fromArray = Cartesian3.unpack;
-
-    /**
-     * Computes the value of the maximum component for the supplied Cartesian.
-     *
-     * @param {Cartesian3} cartesian The cartesian to use.
-     * @returns {Number} The value of the maximum component.
-     */
-    Cartesian3.maximumComponent = function(cartesian) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        //>>includeEnd('debug');
-
-        return Math.max(cartesian.x, cartesian.y, cartesian.z);
-    };
-
-    /**
-     * Computes the value of the minimum component for the supplied Cartesian.
-     *
-     * @param {Cartesian3} cartesian The cartesian to use.
-     * @returns {Number} The value of the minimum component.
-     */
-    Cartesian3.minimumComponent = function(cartesian) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        //>>includeEnd('debug');
-
-        return Math.min(cartesian.x, cartesian.y, cartesian.z);
-    };
-
-    /**
-     * Compares two Cartesians and computes a Cartesian which contains the minimum components of the supplied Cartesians.
-     *
-     * @param {Cartesian3} first A cartesian to compare.
-     * @param {Cartesian3} second A cartesian to compare.
-     * @param {Cartesian3} result The object into which to store the result.
-     * @returns {Cartesian3} A cartesian with the minimum components.
-     */
-    Cartesian3.minimumByComponent = function(first, second, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('first', first);
-        Check.Check.typeOf.object('second', second);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = Math.min(first.x, second.x);
-        result.y = Math.min(first.y, second.y);
-        result.z = Math.min(first.z, second.z);
-
-        return result;
-    };
-
-    /**
-     * Compares two Cartesians and computes a Cartesian which contains the maximum components of the supplied Cartesians.
-     *
-     * @param {Cartesian3} first A cartesian to compare.
-     * @param {Cartesian3} second A cartesian to compare.
-     * @param {Cartesian3} result The object into which to store the result.
-     * @returns {Cartesian3} A cartesian with the maximum components.
-     */
-    Cartesian3.maximumByComponent = function(first, second, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('first', first);
-        Check.Check.typeOf.object('second', second);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = Math.max(first.x, second.x);
-        result.y = Math.max(first.y, second.y);
-        result.z = Math.max(first.z, second.z);
-        return result;
-    };
-
-    /**
-     * Computes the provided Cartesian's squared magnitude.
-     *
-     * @param {Cartesian3} cartesian The Cartesian instance whose squared magnitude is to be computed.
-     * @returns {Number} The squared magnitude.
-     */
-    Cartesian3.magnitudeSquared = function(cartesian) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        //>>includeEnd('debug');
-
-        return cartesian.x * cartesian.x + cartesian.y * cartesian.y + cartesian.z * cartesian.z;
-    };
-
-    /**
-     * Computes the Cartesian's magnitude (length).
-     *
-     * @param {Cartesian3} cartesian The Cartesian instance whose magnitude is to be computed.
-     * @returns {Number} The magnitude.
-     */
-    Cartesian3.magnitude = function(cartesian) {
-        return Math.sqrt(Cartesian3.magnitudeSquared(cartesian));
-    };
-
-    var distanceScratch = new Cartesian3();
-
-    /**
-     * Computes the distance between two points.
-     *
-     * @param {Cartesian3} left The first point to compute the distance from.
-     * @param {Cartesian3} right The second point to compute the distance to.
-     * @returns {Number} The distance between two points.
-     *
-     * @example
-     * // Returns 1.0
-     * var d = Cesium.Cartesian3.distance(new Cesium.Cartesian3(1.0, 0.0, 0.0), new Cesium.Cartesian3(2.0, 0.0, 0.0));
-     */
-    Cartesian3.distance = function(left, right) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        //>>includeEnd('debug');
-
-        Cartesian3.subtract(left, right, distanceScratch);
-        return Cartesian3.magnitude(distanceScratch);
-    };
-
-    /**
-     * Computes the squared distance between two points.  Comparing squared distances
-     * using this function is more efficient than comparing distances using {@link Cartesian3#distance}.
-     *
-     * @param {Cartesian3} left The first point to compute the distance from.
-     * @param {Cartesian3} right The second point to compute the distance to.
-     * @returns {Number} The distance between two points.
-     *
-     * @example
-     * // Returns 4.0, not 2.0
-     * var d = Cesium.Cartesian3.distanceSquared(new Cesium.Cartesian3(1.0, 0.0, 0.0), new Cesium.Cartesian3(3.0, 0.0, 0.0));
-     */
-    Cartesian3.distanceSquared = function(left, right) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        //>>includeEnd('debug');
-
-        Cartesian3.subtract(left, right, distanceScratch);
-        return Cartesian3.magnitudeSquared(distanceScratch);
-    };
-
-    /**
-     * Computes the normalized form of the supplied Cartesian.
-     *
-     * @param {Cartesian3} cartesian The Cartesian to be normalized.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Cartesian3.normalize = function(cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var magnitude = Cartesian3.magnitude(cartesian);
-
-        result.x = cartesian.x / magnitude;
-        result.y = cartesian.y / magnitude;
-        result.z = cartesian.z / magnitude;
-
-        //>>includeStart('debug', pragmas.debug);
-        if (isNaN(result.x) || isNaN(result.y) || isNaN(result.z)) {
-            throw new Check.DeveloperError('normalized result is not a number');
-        }
-        //>>includeEnd('debug');
-
-        return result;
-    };
-
-    /**
-     * Computes the dot (scalar) product of two Cartesians.
-     *
-     * @param {Cartesian3} left The first Cartesian.
-     * @param {Cartesian3} right The second Cartesian.
-     * @returns {Number} The dot product.
-     */
-    Cartesian3.dot = function(left, right) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        //>>includeEnd('debug');
-
-        return left.x * right.x + left.y * right.y + left.z * right.z;
-    };
-
-    /**
-     * Computes the componentwise product of two Cartesians.
-     *
-     * @param {Cartesian3} left The first Cartesian.
-     * @param {Cartesian3} right The second Cartesian.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Cartesian3.multiplyComponents = function(left, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = left.x * right.x;
-        result.y = left.y * right.y;
-        result.z = left.z * right.z;
-        return result;
-    };
-
-    /**
-     * Computes the componentwise quotient of two Cartesians.
-     *
-     * @param {Cartesian3} left The first Cartesian.
-     * @param {Cartesian3} right The second Cartesian.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Cartesian3.divideComponents = function(left, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = left.x / right.x;
-        result.y = left.y / right.y;
-        result.z = left.z / right.z;
-        return result;
-    };
-
-    /**
-     * Computes the componentwise sum of two Cartesians.
-     *
-     * @param {Cartesian3} left The first Cartesian.
-     * @param {Cartesian3} right The second Cartesian.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Cartesian3.add = function(left, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = left.x + right.x;
-        result.y = left.y + right.y;
-        result.z = left.z + right.z;
-        return result;
-    };
-
-    /**
-     * Computes the componentwise difference of two Cartesians.
-     *
-     * @param {Cartesian3} left The first Cartesian.
-     * @param {Cartesian3} right The second Cartesian.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Cartesian3.subtract = function(left, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = left.x - right.x;
-        result.y = left.y - right.y;
-        result.z = left.z - right.z;
-        return result;
-    };
-
-    /**
-     * Multiplies the provided Cartesian componentwise by the provided scalar.
-     *
-     * @param {Cartesian3} cartesian The Cartesian to be scaled.
-     * @param {Number} scalar The scalar to multiply with.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Cartesian3.multiplyByScalar = function(cartesian, scalar, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.number('scalar', scalar);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = cartesian.x * scalar;
-        result.y = cartesian.y * scalar;
-        result.z = cartesian.z * scalar;
-        return result;
-    };
-
-    /**
-     * Divides the provided Cartesian componentwise by the provided scalar.
-     *
-     * @param {Cartesian3} cartesian The Cartesian to be divided.
-     * @param {Number} scalar The scalar to divide by.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Cartesian3.divideByScalar = function(cartesian, scalar, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.number('scalar', scalar);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = cartesian.x / scalar;
-        result.y = cartesian.y / scalar;
-        result.z = cartesian.z / scalar;
-        return result;
-    };
-
-    /**
-     * Negates the provided Cartesian.
-     *
-     * @param {Cartesian3} cartesian The Cartesian to be negated.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Cartesian3.negate = function(cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = -cartesian.x;
-        result.y = -cartesian.y;
-        result.z = -cartesian.z;
-        return result;
-    };
-
-    /**
-     * Computes the absolute value of the provided Cartesian.
-     *
-     * @param {Cartesian3} cartesian The Cartesian whose absolute value is to be computed.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Cartesian3.abs = function(cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = Math.abs(cartesian.x);
-        result.y = Math.abs(cartesian.y);
-        result.z = Math.abs(cartesian.z);
-        return result;
-    };
-
-    var lerpScratch = new Cartesian3();
-    /**
-     * Computes the linear interpolation or extrapolation at t using the provided cartesians.
-     *
-     * @param {Cartesian3} start The value corresponding to t at 0.0.
-     * @param {Cartesian3} end The value corresponding to t at 1.0.
-     * @param {Number} t The point along t at which to interpolate.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter.
-     */
-    Cartesian3.lerp = function(start, end, t, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('start', start);
-        Check.Check.typeOf.object('end', end);
-        Check.Check.typeOf.number('t', t);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        Cartesian3.multiplyByScalar(end, t, lerpScratch);
-        result = Cartesian3.multiplyByScalar(start, 1.0 - t, result);
-        return Cartesian3.add(lerpScratch, result, result);
-    };
-
-    var angleBetweenScratch = new Cartesian3();
-    var angleBetweenScratch2 = new Cartesian3();
-    /**
-     * Returns the angle, in radians, between the provided Cartesians.
-     *
-     * @param {Cartesian3} left The first Cartesian.
-     * @param {Cartesian3} right The second Cartesian.
-     * @returns {Number} The angle between the Cartesians.
-     */
-    Cartesian3.angleBetween = function(left, right) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        //>>includeEnd('debug');
-
-        Cartesian3.normalize(left, angleBetweenScratch);
-        Cartesian3.normalize(right, angleBetweenScratch2);
-        var cosine = Cartesian3.dot(angleBetweenScratch, angleBetweenScratch2);
-        var sine = Cartesian3.magnitude(Cartesian3.cross(angleBetweenScratch, angleBetweenScratch2, angleBetweenScratch));
-        return Math.atan2(sine, cosine);
-    };
-
-    var mostOrthogonalAxisScratch = new Cartesian3();
-    /**
-     * Returns the axis that is most orthogonal to the provided Cartesian.
-     *
-     * @param {Cartesian3} cartesian The Cartesian on which to find the most orthogonal axis.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The most orthogonal axis.
-     */
-    Cartesian3.mostOrthogonalAxis = function(cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var f = Cartesian3.normalize(cartesian, mostOrthogonalAxisScratch);
-        Cartesian3.abs(f, f);
-
-        if (f.x <= f.y) {
-            if (f.x <= f.z) {
-                result = Cartesian3.clone(Cartesian3.UNIT_X, result);
-            } else {
-                result = Cartesian3.clone(Cartesian3.UNIT_Z, result);
-            }
-        } else if (f.y <= f.z) {
-            result = Cartesian3.clone(Cartesian3.UNIT_Y, result);
-        } else {
-            result = Cartesian3.clone(Cartesian3.UNIT_Z, result);
-        }
-
-        return result;
-    };
-
-    /**
-     * Projects vector a onto vector b
-     * @param {Cartesian3} a The vector that needs projecting
-     * @param {Cartesian3} b The vector to project onto
-     * @param {Cartesian3} result The result cartesian
-     * @returns {Cartesian3} The modified result parameter
-     */
-    Cartesian3.projectVector = function(a, b, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('a', a);
-        Check.Check.defined('b', b);
-        Check.Check.defined('result', result);
-        //>>includeEnd('debug');
-
-        var scalar = Cartesian3.dot(a, b) / Cartesian3.dot(b, b);
-        return Cartesian3.multiplyByScalar(b, scalar, result);
-    };
-
-    /**
-     * Compares the provided Cartesians componentwise and returns
-     * <code>true</code> if they are equal, <code>false</code> otherwise.
-     *
-     * @param {Cartesian3} [left] The first Cartesian.
-     * @param {Cartesian3} [right] The second Cartesian.
-     * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-     */
-    Cartesian3.equals = function(left, right) {
-            return (left === right) ||
-              ((when.defined(left)) &&
-               (when.defined(right)) &&
-               (left.x === right.x) &&
-               (left.y === right.y) &&
-               (left.z === right.z));
-    };
-
-    /**
-     * @private
-     */
-    Cartesian3.equalsArray = function(cartesian, array, offset) {
-        return cartesian.x === array[offset] &&
-               cartesian.y === array[offset + 1] &&
-               cartesian.z === array[offset + 2];
-    };
-
-    /**
-     * Compares the provided Cartesians componentwise and returns
-     * <code>true</code> if they pass an absolute or relative tolerance test,
-     * <code>false</code> otherwise.
-     *
-     * @param {Cartesian3} [left] The first Cartesian.
-     * @param {Cartesian3} [right] The second Cartesian.
-     * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-     * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-     * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-     */
-    Cartesian3.equalsEpsilon = function(left, right, relativeEpsilon, absoluteEpsilon) {
-        return (left === right) ||
-               (when.defined(left) &&
-                when.defined(right) &&
-                _Math.CesiumMath.equalsEpsilon(left.x, right.x, relativeEpsilon, absoluteEpsilon) &&
-                _Math.CesiumMath.equalsEpsilon(left.y, right.y, relativeEpsilon, absoluteEpsilon) &&
-                _Math.CesiumMath.equalsEpsilon(left.z, right.z, relativeEpsilon, absoluteEpsilon));
-    };
-
-    /**
-     * Computes the cross (outer) product of two Cartesians.
-     *
-     * @param {Cartesian3} left The first Cartesian.
-     * @param {Cartesian3} right The second Cartesian.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The cross product.
-     */
-    Cartesian3.cross = function(left, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        var leftX = left.x;
-        var leftY = left.y;
-        var leftZ = left.z;
-        var rightX = right.x;
-        var rightY = right.y;
-        var rightZ = right.z;
-
-        var x = leftY * rightZ - leftZ * rightY;
-        var y = leftZ * rightX - leftX * rightZ;
-        var z = leftX * rightY - leftY * rightX;
-
-        result.x = x;
-        result.y = y;
-        result.z = z;
-        return result;
-    };
-
-    /**
-     * Computes the midpoint between the right and left Cartesian.
-     * @param {Cartesian3} left The first Cartesian.
-     * @param {Cartesian3} right The second Cartesian.
-     * @param {Cartesian3} result The object onto which to store the result.
-     * @returns {Cartesian3} The midpoint.
-     */
-    Cartesian3.midpoint = function(left, right, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('left', left);
-        Check.Check.typeOf.object('right', right);
-        Check.Check.typeOf.object('result', result);
-        //>>includeEnd('debug');
-
-        result.x = (left.x + right.x) * 0.5;
-        result.y = (left.y + right.y) * 0.5;
-        result.z = (left.z + right.z) * 0.5;
-
-        return result;
-    };
-
-    /**
-     * Returns a Cartesian3 position from longitude and latitude values given in degrees.
-     *
-     * @param {Number} longitude The longitude, in degrees
-     * @param {Number} latitude The latitude, in degrees
-     * @param {Number} [height=0.0] The height, in meters, above the ellipsoid.
-     * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the position lies.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The position
-     *
-     * @example
-     * var position = Cesium.Cartesian3.fromDegrees(-115.0, 37.0);
-     */
-    Cartesian3.fromDegrees = function(longitude, latitude, height, ellipsoid, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number('longitude', longitude);
-        Check.Check.typeOf.number('latitude', latitude);
-        //>>includeEnd('debug');
-
-        longitude = _Math.CesiumMath.toRadians(longitude);
-        latitude = _Math.CesiumMath.toRadians(latitude);
-        return Cartesian3.fromRadians(longitude, latitude, height, ellipsoid, result);
-    };
-
-    var scratchN = new Cartesian3();
-    var scratchK = new Cartesian3();
-    var wgs84RadiiSquared = new Cartesian3(6378137.0 * 6378137.0, 6378137.0 * 6378137.0, 6356752.3142451793 * 6356752.3142451793);
-    var wgs84RadiiSquaredEx = new Cartesian3(6378137.0 * 6378137.0, 6378137.0 * 6378137.0, 6378137 * 6378137);
-
-    /**
-     * Returns a Cartesian3 position from longitude and latitude values given in radians.
-     *
-     * @param {Number} longitude The longitude, in radians
-     * @param {Number} latitude The latitude, in radians
-     * @param {Number} [height=0.0] The height, in meters, above the ellipsoid.
-     * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the position lies.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The position
-     *
-     * @example
-     * var position = Cesium.Cartesian3.fromRadians(-2.007, 0.645);
-     */
-    Cartesian3.fromRadians = function(longitude, latitude, height, ellipsoid, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number('longitude', longitude);
-        Check.Check.typeOf.number('latitude', latitude);
-        //>>includeEnd('debug');
-
-        height = when.defaultValue(height, 0.0);
-        var radiiSquared = when.defined(ellipsoid) ? ellipsoid.radiiSquared : wgs84RadiiSquaredEx;
-
-        if(_Math.CesiumMath.equalsEpsilon(_Math.CesiumMath.Radius, 6356752.3142451793, _Math.CesiumMath.EPSILON10))
-        {
-            radiiSquared = when.defined(ellipsoid) ? ellipsoid.radiiSquared : wgs84RadiiSquared;
-        }
-
-        var cosLatitude = Math.cos(latitude);
-        scratchN.x = cosLatitude * Math.cos(longitude);
-        scratchN.y = cosLatitude * Math.sin(longitude);
-        scratchN.z = Math.sin(latitude);
-        scratchN = Cartesian3.normalize(scratchN, scratchN);
-
-        Cartesian3.multiplyComponents(radiiSquared, scratchN, scratchK);
-        var gamma = Math.sqrt(Cartesian3.dot(scratchN, scratchK));
-        scratchK = Cartesian3.divideByScalar(scratchK, gamma, scratchK);
-        scratchN = Cartesian3.multiplyByScalar(scratchN, height, scratchN);
-
-        if (!when.defined(result)) {
-            result = new Cartesian3();
-        }
-        return Cartesian3.add(scratchK, scratchN, result);
-    };
-
-    /**
-     * Returns an array of Cartesian3 positions given an array of longitude and latitude values given in degrees.
-     *
-     * @param {Number[]} coordinates A list of longitude and latitude values. Values alternate [longitude, latitude, longitude, latitude...].
-     * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the coordinates lie.
-     * @param {Cartesian3[]} [result] An array of Cartesian3 objects to store the result.
-     * @returns {Cartesian3[]} The array of positions.
-     *
-     * @example
-     * var positions = Cesium.Cartesian3.fromDegreesArray([-115.0, 37.0, -107.0, 33.0]);
-     */
-    Cartesian3.fromDegreesArray = function(coordinates, ellipsoid, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('coordinates', coordinates);
-        if (coordinates.length < 2 || coordinates.length % 2 !== 0) {
-            throw new Check.DeveloperError('the number of coordinates must be a multiple of 2 and at least 2');
-        }
-        //>>includeEnd('debug');
-
-        var length = coordinates.length;
-        if (!when.defined(result)) {
-            result = new Array(length / 2);
-        } else {
-            result.length = length / 2;
-        }
-
-        for (var i = 0; i < length; i += 2) {
-            var longitude = coordinates[i];
-            var latitude = coordinates[i + 1];
-            var index = i / 2;
-            result[index] = Cartesian3.fromDegrees(longitude, latitude, 0, ellipsoid, result[index]);
-        }
-
-        return result;
-    };
-
-    /**
-     * Returns an array of Cartesian3 positions given an array of longitude and latitude values given in radians.
-     *
-     * @param {Number[]} coordinates A list of longitude and latitude values. Values alternate [longitude, latitude, longitude, latitude...].
-     * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the coordinates lie.
-     * @param {Cartesian3[]} [result] An array of Cartesian3 objects to store the result.
-     * @returns {Cartesian3[]} The array of positions.
-     *
-     * @example
-     * var positions = Cesium.Cartesian3.fromRadiansArray([-2.007, 0.645, -1.867, .575]);
-     */
-    Cartesian3.fromRadiansArray = function(coordinates, ellipsoid, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('coordinates', coordinates);
-        if (coordinates.length < 2 || coordinates.length % 2 !== 0) {
-            throw new Check.DeveloperError('the number of coordinates must be a multiple of 2 and at least 2');
-        }
-        //>>includeEnd('debug');
-
-        var length = coordinates.length;
-        if (!when.defined(result)) {
-            result = new Array(length / 2);
-        } else {
-            result.length = length / 2;
-        }
-
-        for (var i = 0; i < length; i += 2) {
-            var longitude = coordinates[i];
-            var latitude = coordinates[i + 1];
-            var index = i / 2;
-            result[index] = Cartesian3.fromRadians(longitude, latitude, 0, ellipsoid, result[index]);
-        }
-
-        return result;
-    };
-
-    /**
-     * Returns an array of Cartesian3 positions given an array of longitude, latitude and height values where longitude and latitude are given in degrees.
-     *
-     * @param {Number[]} coordinates A list of longitude, latitude and height values. Values alternate [longitude, latitude, height, longitude, latitude, height...].
-     * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the position lies.
-     * @param {Cartesian3[]} [result] An array of Cartesian3 objects to store the result.
-     * @returns {Cartesian3[]} The array of positions.
-     *
-     * @example
-     * var positions = Cesium.Cartesian3.fromDegreesArrayHeights([-115.0, 37.0, 100000.0, -107.0, 33.0, 150000.0]);
-     */
-    Cartesian3.fromDegreesArrayHeights = function(coordinates, ellipsoid, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('coordinates', coordinates);
-        if (coordinates.length < 3 || coordinates.length % 3 !== 0) {
-            throw new Check.DeveloperError('the number of coordinates must be a multiple of 3 and at least 3');
-        }
-        //>>includeEnd('debug');
-
-        var length = coordinates.length;
-        if (!when.defined(result)) {
-            result = new Array(length / 3);
-        } else {
-            result.length = length / 3;
-        }
-
-        for (var i = 0; i < length; i += 3) {
-            var longitude = coordinates[i];
-            var latitude = coordinates[i + 1];
-            var height = coordinates[i + 2];
-            var index = i / 3;
-            result[index] = Cartesian3.fromDegrees(longitude, latitude, height, ellipsoid, result[index]);
-        }
-
-        return result;
-    };
-
-    /**
-     * Returns an array of Cartesian3 positions given an array of longitude, latitude and height values where longitude and latitude are given in radians.
-     *
-     * @param {Number[]} coordinates A list of longitude, latitude and height values. Values alternate [longitude, latitude, height, longitude, latitude, height...].
-     * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the position lies.
-     * @param {Cartesian3[]} [result] An array of Cartesian3 objects to store the result.
-     * @returns {Cartesian3[]} The array of positions.
-     *
-     * @example
-     * var positions = Cesium.Cartesian3.fromRadiansArrayHeights([-2.007, 0.645, 100000.0, -1.867, .575, 150000.0]);
-     */
-    Cartesian3.fromRadiansArrayHeights = function(coordinates, ellipsoid, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('coordinates', coordinates);
-        if (coordinates.length < 3 || coordinates.length % 3 !== 0) {
-            throw new Check.DeveloperError('the number of coordinates must be a multiple of 3 and at least 3');
-        }
-        //>>includeEnd('debug');
-
-        var length = coordinates.length;
-        if (!when.defined(result)) {
-            result = new Array(length / 3);
-        } else {
-            result.length = length / 3;
-        }
-
-        for (var i = 0; i < length; i += 3) {
-            var longitude = coordinates[i];
-            var latitude = coordinates[i + 1];
-            var height = coordinates[i + 2];
-            var index = i / 3;
-            result[index] = Cartesian3.fromRadians(longitude, latitude, height, ellipsoid, result[index]);
-        }
-
-        return result;
-    };
-
-    /**
-     * An immutable Cartesian3 instance initialized to (0.0, 0.0, 0.0).
-     *
-     * @type {Cartesian3}
-     * @constant
-     */
-    Cartesian3.ZERO = Object.freeze(new Cartesian3(0.0, 0.0, 0.0));
-
-    /**
-     * An immutable Cartesian3 instance initialized to (1.0, 0.0, 0.0).
-     *
-     * @type {Cartesian3}
-     * @constant
-     */
-    Cartesian3.UNIT_X = Object.freeze(new Cartesian3(1.0, 0.0, 0.0));
-
-    /**
-     * An immutable Cartesian3 instance initialized to (0.0, 1.0, 0.0).
-     *
-     * @type {Cartesian3}
-     * @constant
-     */
-    Cartesian3.UNIT_Y = Object.freeze(new Cartesian3(0.0, 1.0, 0.0));
-
-    /**
-     * An immutable Cartesian3 instance initialized to (0.0, 0.0, 1.0).
-     *
-     * @type {Cartesian3}
-     * @constant
-     */
-    Cartesian3.UNIT_Z = Object.freeze(new Cartesian3(0.0, 0.0, 1.0));
-
-    /**
-     * Duplicates this Cartesian3 instance.
-     *
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided.
-     */
-    Cartesian3.prototype.clone = function(result) {
-        return Cartesian3.clone(this, result);
-    };
-
-    /**
-     * Compares this Cartesian against the provided Cartesian componentwise and returns
-     * <code>true</code> if they are equal, <code>false</code> otherwise.
-     *
-     * @param {Cartesian3} [right] The right hand side Cartesian.
-     * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-     */
-    Cartesian3.prototype.equals = function(right) {
-        return Cartesian3.equals(this, right);
-    };
-
-    /**
-     * Compares this Cartesian against the provided Cartesian componentwise and returns
-     * <code>true</code> if they pass an absolute or relative tolerance test,
-     * <code>false</code> otherwise.
-     *
-     * @param {Cartesian3} [right] The right hand side Cartesian.
-     * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-     * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-     * @returns {Boolean} <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
-     */
-    Cartesian3.prototype.equalsEpsilon = function(right, relativeEpsilon, absoluteEpsilon) {
-        return Cartesian3.equalsEpsilon(this, right, relativeEpsilon, absoluteEpsilon);
-    };
-
-    /**
-     * Creates a string representing this Cartesian in the format '(x, y, z)'.
-     *
-     * @returns {String} A string representing this Cartesian in the format '(x, y, z)'.
-     */
-    Cartesian3.prototype.toString = function() {
-        return '(' + this.x + ', ' + this.y + ', ' + this.z + ')';
-    };
-
-    var scaleToGeodeticSurfaceIntersection = new Cartesian3();
-        var scaleToGeodeticSurfaceGradient = new Cartesian3();
-
-        /**
-         * Scales the provided Cartesian position along the geodetic surface normal
-         * so that it is on the surface of this ellipsoid.  If the position is
-         * at the center of the ellipsoid, this function returns undefined.
-         *
-         * @param {Cartesian3} cartesian The Cartesian position to scale.
-         * @param {Cartesian3} oneOverRadii One over radii of the ellipsoid.
-         * @param {Cartesian3} oneOverRadiiSquared One over radii squared of the ellipsoid.
-         * @param {Number} centerToleranceSquared Tolerance for closeness to the center.
-         * @param {Cartesian3} [result] The object onto which to store the result.
-         * @returns {Cartesian3} The modified result parameter, a new Cartesian3 instance if none was provided, or undefined if the position is at the center.
-         *
-         * @exports scaleToGeodeticSurface
-         *
-         * @private
-         */
-        function scaleToGeodeticSurface(cartesian, oneOverRadii, oneOverRadiiSquared, centerToleranceSquared, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(cartesian)) {
-                throw new Check.DeveloperError('cartesian is required.');
-            }
-            if (!when.defined(oneOverRadii)) {
-                throw new Check.DeveloperError('oneOverRadii is required.');
-            }
-            if (!when.defined(oneOverRadiiSquared)) {
-                throw new Check.DeveloperError('oneOverRadiiSquared is required.');
-            }
-            if (!when.defined(centerToleranceSquared)) {
-                throw new Check.DeveloperError('centerToleranceSquared is required.');
-            }
-            //>>includeEnd('debug');
-
-            var positionX = cartesian.x;
-            var positionY = cartesian.y;
-            var positionZ = cartesian.z;
-
-            var oneOverRadiiX = oneOverRadii.x;
-            var oneOverRadiiY = oneOverRadii.y;
-            var oneOverRadiiZ = oneOverRadii.z;
-
-            var x2 = positionX * positionX * oneOverRadiiX * oneOverRadiiX;
-            var y2 = positionY * positionY * oneOverRadiiY * oneOverRadiiY;
-            var z2 = positionZ * positionZ * oneOverRadiiZ * oneOverRadiiZ;
-
-            // Compute the squared ellipsoid norm.
-            var squaredNorm = x2 + y2 + z2;
-            var ratio = Math.sqrt(1.0 / squaredNorm);
-
-            // As an initial approximation, assume that the radial intersection is the projection point.
-            var intersection = Cartesian3.multiplyByScalar(cartesian, ratio, scaleToGeodeticSurfaceIntersection);
-
-            // If the position is near the center, the iteration will not converge.
-            if (squaredNorm < centerToleranceSquared) {
-                return !isFinite(ratio) ? undefined : Cartesian3.clone(intersection, result);
-            }
-
-            var oneOverRadiiSquaredX = oneOverRadiiSquared.x;
-            var oneOverRadiiSquaredY = oneOverRadiiSquared.y;
-            var oneOverRadiiSquaredZ = oneOverRadiiSquared.z;
-
-            // Use the gradient at the intersection point in place of the true unit normal.
-            // The difference in magnitude will be absorbed in the multiplier.
-            var gradient = scaleToGeodeticSurfaceGradient;
-            gradient.x = intersection.x * oneOverRadiiSquaredX * 2.0;
-            gradient.y = intersection.y * oneOverRadiiSquaredY * 2.0;
-            gradient.z = intersection.z * oneOverRadiiSquaredZ * 2.0;
-
-            // Compute the initial guess at the normal vector multiplier, lambda.
-            var lambda = (1.0 - ratio) * Cartesian3.magnitude(cartesian) / (0.5 * Cartesian3.magnitude(gradient));
-            var correction = 0.0;
-
-            var func;
-            var denominator;
-            var xMultiplier;
-            var yMultiplier;
-            var zMultiplier;
-            var xMultiplier2;
-            var yMultiplier2;
-            var zMultiplier2;
-            var xMultiplier3;
-            var yMultiplier3;
-            var zMultiplier3;
-
-            do {
-                lambda -= correction;
-
-                xMultiplier = 1.0 / (1.0 + lambda * oneOverRadiiSquaredX);
-                yMultiplier = 1.0 / (1.0 + lambda * oneOverRadiiSquaredY);
-                zMultiplier = 1.0 / (1.0 + lambda * oneOverRadiiSquaredZ);
-
-                xMultiplier2 = xMultiplier * xMultiplier;
-                yMultiplier2 = yMultiplier * yMultiplier;
-                zMultiplier2 = zMultiplier * zMultiplier;
-
-                xMultiplier3 = xMultiplier2 * xMultiplier;
-                yMultiplier3 = yMultiplier2 * yMultiplier;
-                zMultiplier3 = zMultiplier2 * zMultiplier;
-
-                func = x2 * xMultiplier2 + y2 * yMultiplier2 + z2 * zMultiplier2 - 1.0;
-
-                // "denominator" here refers to the use of this expression in the velocity and acceleration
-                // computations in the sections to follow.
-                denominator = x2 * xMultiplier3 * oneOverRadiiSquaredX + y2 * yMultiplier3 * oneOverRadiiSquaredY + z2 * zMultiplier3 * oneOverRadiiSquaredZ;
-
-                var derivative = -2.0 * denominator;
-
-                correction = func / derivative;
-            } while (Math.abs(func) > _Math.CesiumMath.EPSILON12);
-
-            if (!when.defined(result)) {
-                return new Cartesian3(positionX * xMultiplier, positionY * yMultiplier, positionZ * zMultiplier);
-            }
-            result.x = positionX * xMultiplier;
-            result.y = positionY * yMultiplier;
-            result.z = positionZ * zMultiplier;
-            return result;
-        }
-
-    /**
-     * A position defined by longitude, latitude, and height.
-     * @alias Cartographic
-     * @constructor
-     *
-     * @param {Number} [longitude=0.0] The longitude, in radians.
-     * @param {Number} [latitude=0.0] The latitude, in radians.
-     * @param {Number} [height=0.0] The height, in meters, above the ellipsoid.
-     *
-     * @see Ellipsoid
-     */
-    function Cartographic(longitude, latitude, height) {
-        /**
-         * The longitude, in radians.
-         * @type {Number}
-         * @default 0.0
-         */
-        this.longitude = when.defaultValue(longitude, 0.0);
-
-        /**
-         * The latitude, in radians.
-         * @type {Number}
-         * @default 0.0
-         */
-        this.latitude = when.defaultValue(latitude, 0.0);
-
-        /**
-         * The height, in meters, above the ellipsoid.
-         * @type {Number}
-         * @default 0.0
-         */
-        this.height = when.defaultValue(height, 0.0);
-    }
-
-    /**
-     * Creates a new Cartographic instance from longitude and latitude
-     * specified in radians.
-     *
-     * @param {Number} longitude The longitude, in radians.
-     * @param {Number} latitude The latitude, in radians.
-     * @param {Number} [height=0.0] The height, in meters, above the ellipsoid.
-     * @param {Cartographic} [result] The object onto which to store the result.
-     * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided.
-     */
-    Cartographic.fromRadians = function(longitude, latitude, height, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number('longitude', longitude);
-        Check.Check.typeOf.number('latitude', latitude);
-        //>>includeEnd('debug');
-
-        height = when.defaultValue(height, 0.0);
-
-        if (!when.defined(result)) {
-            return new Cartographic(longitude, latitude, height);
-        }
-
-        result.longitude = longitude;
-        result.latitude = latitude;
-        result.height = height;
-        return result;
-    };
-
-    /**
-     * Creates a new Cartographic instance from longitude and latitude
-     * specified in degrees.  The values in the resulting object will
-     * be in radians.
-     *
-     * @param {Number} longitude The longitude, in degrees.
-     * @param {Number} latitude The latitude, in degrees.
-     * @param {Number} [height=0.0] The height, in meters, above the ellipsoid.
-     * @param {Cartographic} [result] The object onto which to store the result.
-     * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided.
-     */
-    Cartographic.fromDegrees = function(longitude, latitude, height, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number('longitude', longitude);
-        Check.Check.typeOf.number('latitude', latitude);
-        //>>includeEnd('debug');
-        longitude = _Math.CesiumMath.toRadians(longitude);
-        latitude = _Math.CesiumMath.toRadians(latitude);
-
-        return Cartographic.fromRadians(longitude, latitude, height, result);
-    };
-
-    var cartesianToCartographicN = new Cartesian3();
-    var cartesianToCartographicP = new Cartesian3();
-    var cartesianToCartographicH = new Cartesian3();
-    var wgs84OneOverRadii = new Cartesian3(1.0 / 6378137.0, 1.0 / 6378137.0, 1.0 / 6356752.3142451793);
-    var wgs84OneOverRadiiEx = new Cartesian3(1.0 / 6378137.0, 1.0 / 6378137.0, 1.0 / 6378137.0);
-    var wgs84OneOverRadiiSquared = new Cartesian3(1.0 / (6378137.0 * 6378137.0), 1.0 / (6378137.0 * 6378137.0), 1.0 / (6356752.3142451793 * 6356752.3142451793));
-    var wgs84OneOverRadiiSquaredEx = new Cartesian3(1.0 / (6378137.0 * 6378137.0), 1.0 / (6378137.0 * 6378137.0), 1.0 / (6378137.0 * 6378137.0));
-    var wgs84CenterToleranceSquared = _Math.CesiumMath.EPSILON1;
-
-    /**
-     * Creates a new Cartographic instance from a Cartesian position. The values in the
-     * resulting object will be in radians.
-     *
-     * @param {Cartesian3} cartesian The Cartesian position to convert to cartographic representation.
-     * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the position lies.
-     * @param {Cartographic} [result] The object onto which to store the result.
-     * @returns {Cartographic} The modified result parameter, new Cartographic instance if none was provided, or undefined if the cartesian is at the center of the ellipsoid.
-     */
-    Cartographic.fromCartesian = function(cartesian, ellipsoid, result) {
-        var oneOverRadii = when.defined(ellipsoid) ? ellipsoid.oneOverRadii : wgs84OneOverRadiiEx;
-        var oneOverRadiiSquared = when.defined(ellipsoid) ? ellipsoid.oneOverRadiiSquared : wgs84OneOverRadiiSquaredEx;
-        var centerToleranceSquared = when.defined(ellipsoid) ? ellipsoid._centerToleranceSquared : wgs84CenterToleranceSquared;
-
-        if(_Math.CesiumMath.equalsEpsilon(_Math.CesiumMath.Radius, 6356752.3142451793, _Math.CesiumMath.EPSILON10)) {
-            oneOverRadii = when.defined(ellipsoid) ? ellipsoid.oneOverRadii : wgs84OneOverRadii;
-            oneOverRadiiSquared = when.defined(ellipsoid) ? ellipsoid.oneOverRadiiSquared : wgs84OneOverRadiiSquared;
-        }
-
-        //`cartesian is required.` is thrown from scaleToGeodeticSurface
-        var p = scaleToGeodeticSurface(cartesian, oneOverRadii, oneOverRadiiSquared, centerToleranceSquared, cartesianToCartographicP);
-
-        if (!when.defined(p)) {
-            return undefined;
-        }
-
-        var n = Cartesian3.multiplyComponents(p, oneOverRadiiSquared, cartesianToCartographicN);
-        n = Cartesian3.normalize(n, n);
-
-        var h = Cartesian3.subtract(cartesian, p, cartesianToCartographicH);
-
-        var longitude = Math.atan2(n.y, n.x);
-        var latitude = Math.asin(n.z);
-        var height = _Math.CesiumMath.sign(Cartesian3.dot(h, cartesian)) * Cartesian3.magnitude(h);
-
-        if (!when.defined(result)) {
-            return new Cartographic(longitude, latitude, height);
-        }
-        result.longitude = longitude;
-        result.latitude = latitude;
-        result.height = height;
-        return result;
-    };
-
-    /**
-     * Creates a new Cartesian3 instance from a Cartographic input. The values in the inputted
-     * object should be in radians.
-     *
-     * @param {Cartographic} cartographic Input to be converted into a Cartesian3 output.
-     * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the position lies.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The position
-     */
-    Cartographic.toCartesian = function(cartographic, ellipsoid, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('cartographic', cartographic);
-        //>>includeEnd('debug');
-
-        return Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, cartographic.height, ellipsoid, result);
-    };
-
-    /**
-     * Computes the distance between two points by global
-     *
-     * @param {Number} longitudeA The longitude, in degrees.
-     * @param {Number} latitudeA The latitude, in degrees.
-     * @param {Number} longitudeB The longitude, in degrees.
-     * @param {Number} latitudeB The latitude, in degrees.
-     */
-    Cartographic.sphericalDistance = function(longitudeA, latitudeA, longitudeB, latitudeB) {
-        Check.Check.defined('longitudeA', longitudeA);
-        Check.Check.defined('longitudeB', longitudeB);
-        Check.Check.defined('latitudeA', latitudeA);
-        Check.Check.defined('latitudeB', latitudeB);
-
-        if(longitudeA === longitudeB && latitudeA === latitudeB){
-            return 0.0;
-        }
-
-        var latA = _Math.CesiumMath.toRadians(latitudeA);
-        var latB = _Math.CesiumMath.toRadians(latitudeB);
-        var lonA = _Math.CesiumMath.toRadians(longitudeA);
-        var lonB = _Math.CesiumMath.toRadians(longitudeB);
-
-        var a2 = lonA * lonA + latA * latA;
-        var b2 = lonB * lonB + latB * latB;
-        var c2 = (lonA - lonB) * (lonA - lonB) + (latA - latB) * (latA - latB);
-
-        var dacos = (a2 + b2 - c2) / (2.0 * Math.sqrt(a2) * Math.sqrt(b2));
-        dacos = _Math.CesiumMath.clamp(dacos, -1.0, 1.0);
-        return Math.acos(dacos) * _Math.CesiumMath.Radius;
-    };
-
-    /**
-     * Duplicates a Cartographic instance.
-     *
-     * @param {Cartographic} cartographic The cartographic to duplicate.
-     * @param {Cartographic} [result] The object onto which to store the result.
-     * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided. (Returns undefined if cartographic is undefined)
-     */
-    Cartographic.clone = function(cartographic, result) {
-        if (!when.defined(cartographic)) {
-            return undefined;
-        }
-        if (!when.defined(result)) {
-            return new Cartographic(cartographic.longitude, cartographic.latitude, cartographic.height);
-        }
-        result.longitude = cartographic.longitude;
-        result.latitude = cartographic.latitude;
-        result.height = cartographic.height;
-        return result;
-    };
-
-    /**
-     * Compares the provided cartographics componentwise and returns
-     * <code>true</code> if they are equal, <code>false</code> otherwise.
-     *
-     * @param {Cartographic} [left] The first cartographic.
-     * @param {Cartographic} [right] The second cartographic.
-     * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-     */
-    Cartographic.equals = function(left, right) {
-        return (left === right) ||
-                ((when.defined(left)) &&
-                 (when.defined(right)) &&
-                 (left.longitude === right.longitude) &&
-                 (left.latitude === right.latitude) &&
-                 (left.height === right.height));
-    };
-
-    /**
-     * Compares the provided cartographics componentwise and returns
-     * <code>true</code> if they are within the provided epsilon,
-     * <code>false</code> otherwise.
-     *
-     * @param {Cartographic} [left] The first cartographic.
-     * @param {Cartographic} [right] The second cartographic.
-     * @param {Number} epsilon The epsilon to use for equality testing.
-     * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-     */
-    Cartographic.equalsEpsilon = function(left, right, epsilon) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number('epsilon', epsilon);
-        //>>includeEnd('debug');
-
-        return (left === right) ||
-               ((when.defined(left)) &&
-                (when.defined(right)) &&
-                (Math.abs(left.longitude - right.longitude) <= epsilon) &&
-                (Math.abs(left.latitude - right.latitude) <= epsilon) &&
-                (Math.abs(left.height - right.height) <= epsilon));
-    };
-
-    /**
-     * An immutable Cartographic instance initialized to (0.0, 0.0, 0.0).
-     *
-     * @type {Cartographic}
-     * @constant
-     */
-    Cartographic.ZERO = Object.freeze(new Cartographic(0.0, 0.0, 0.0));
-
-    /**
-     * Duplicates this instance.
-     *
-     * @param {Cartographic} [result] The object onto which to store the result.
-     * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided.
-     */
-    Cartographic.prototype.clone = function(result) {
-        return Cartographic.clone(this, result);
-    };
-
-    /**
-     * Compares the provided against this cartographic componentwise and returns
-     * <code>true</code> if they are equal, <code>false</code> otherwise.
-     *
-     * @param {Cartographic} [right] The second cartographic.
-     * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-     */
-    Cartographic.prototype.equals = function(right) {
-        return Cartographic.equals(this, right);
-    };
-
-    /**
-     * Compares the provided against this cartographic componentwise and returns
-     * <code>true</code> if they are within the provided epsilon,
-     * <code>false</code> otherwise.
-     *
-     * @param {Cartographic} [right] The second cartographic.
-     * @param {Number} epsilon The epsilon to use for equality testing.
-     * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-     */
-    Cartographic.prototype.equalsEpsilon = function(right, epsilon) {
-        return Cartographic.equalsEpsilon(this, right, epsilon);
-    };
-
-    /**
-     * Creates a string representing this cartographic in the format '(longitude, latitude, height)'.
-     *
-     * @returns {String} A string representing the provided cartographic in the format '(longitude, latitude, height)'.
-     */
-    Cartographic.prototype.toString = function() {
-        return '(' + this.longitude + ', ' + this.latitude + ', ' + this.height + ')';
-    };
-
-    function initialize(ellipsoid, x, y, z) {
-        x = when.defaultValue(x, 0.0);
-        y = when.defaultValue(y, 0.0);
-        z = when.defaultValue(z, 0.0);
-
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.number.greaterThanOrEquals('x', x, 0.0);
-        Check.Check.typeOf.number.greaterThanOrEquals('y', y, 0.0);
-        Check.Check.typeOf.number.greaterThanOrEquals('z', z, 0.0);
-        //>>includeEnd('debug');
-
-        if(_Math.CesiumMath.equalsEpsilon(z, 6356752.3142451793, _Math.CesiumMath.EPSILON10)){
-            _Math.CesiumMath.Radius = z;
-        }
-
-        ellipsoid._radii = new Cartesian3(x, y, z);
-
-        ellipsoid._radiiSquared = new Cartesian3(x * x,
-                                            y * y,
-                                            z * z);
-
-        ellipsoid._radiiToTheFourth = new Cartesian3(x * x * x * x,
-                                                y * y * y * y,
-                                                z * z * z * z);
-
-        ellipsoid._oneOverRadii = new Cartesian3(x === 0.0 ? 0.0 : 1.0 / x,
-                                            y === 0.0 ? 0.0 : 1.0 / y,
-                                            z === 0.0 ? 0.0 : 1.0 / z);
-
-        ellipsoid._oneOverRadiiSquared = new Cartesian3(x === 0.0 ? 0.0 : 1.0 / (x * x),
-                                                   y === 0.0 ? 0.0 : 1.0 / (y * y),
-                                                   z === 0.0 ? 0.0 : 1.0 / (z * z));
-
-        ellipsoid._minimumRadius = Math.min(x, y, z);
-
-        ellipsoid._maximumRadius = Math.max(x, y, z);
-
-        ellipsoid._centerToleranceSquared = _Math.CesiumMath.EPSILON1;
-
-        if (ellipsoid._radiiSquared.z !== 0) {
-            ellipsoid._squaredXOverSquaredZ = ellipsoid._radiiSquared.x / ellipsoid._radiiSquared.z;
-        }
-    }
-
-    /**
-     * A quadratic surface defined in Cartesian coordinates by the equation
-     * <code>(x / a)^2 + (y / b)^2 + (z / c)^2 = 1</code>.  Primarily used
-     * by Cesium to represent the shape of planetary bodies.
-     *
-     * Rather than constructing this object directly, one of the provided
-     * constants is normally used.
-     * @alias Ellipsoid
-     * @constructor
-     *
-     * @param {Number} [x=0] The radius in the x direction.
-     * @param {Number} [y=0] The radius in the y direction.
-     * @param {Number} [z=0] The radius in the z direction.
-     *
-     * @exception {DeveloperError} All radii components must be greater than or equal to zero.
-     *
-     * @see Ellipsoid.fromCartesian3
-     * @see Ellipsoid.WGS84
-     * @see Ellipsoid.UNIT_SPHERE
-     */
-    function Ellipsoid(x, y, z) {
-        this._radii = undefined;
-        this._radiiSquared = undefined;
-        this._radiiToTheFourth = undefined;
-        this._oneOverRadii = undefined;
-        this._oneOverRadiiSquared = undefined;
-        this._minimumRadius = undefined;
-        this._maximumRadius = undefined;
-        this._centerToleranceSquared = undefined;
-        this._squaredXOverSquaredZ = undefined;
-
-        initialize(this, x, y, z);
-    }
-
-    Object.defineProperties(Ellipsoid.prototype, {
-        /**
-         * Gets the radii of the ellipsoid.
-         * @memberof Ellipsoid.prototype
-         * @type {Cartesian3}
-         * @readonly
-         */
-        radii : {
-            get: function() {
-                return this._radii;
-            }
-        },
-        /**
-         * Gets the squared radii of the ellipsoid.
-         * @memberof Ellipsoid.prototype
-         * @type {Cartesian3}
-         * @readonly
-         */
-        radiiSquared : {
-            get : function() {
-                return this._radiiSquared;
-            }
-        },
-        /**
-         * Gets the radii of the ellipsoid raise to the fourth power.
-         * @memberof Ellipsoid.prototype
-         * @type {Cartesian3}
-         * @readonly
-         */
-        radiiToTheFourth : {
-            get : function() {
-                return this._radiiToTheFourth;
-            }
-        },
-        /**
-         * Gets one over the radii of the ellipsoid.
-         * @memberof Ellipsoid.prototype
-         * @type {Cartesian3}
-         * @readonly
-         */
-        oneOverRadii : {
-            get : function() {
-                return this._oneOverRadii;
-            }
-        },
-        /**
-         * Gets one over the squared radii of the ellipsoid.
-         * @memberof Ellipsoid.prototype
-         * @type {Cartesian3}
-         * @readonly
-         */
-        oneOverRadiiSquared : {
-            get : function() {
-                return this._oneOverRadiiSquared;
-            }
-        },
-        /**
-         * Gets the minimum radius of the ellipsoid.
-         * @memberof Ellipsoid.prototype
-         * @type {Number}
-         * @readonly
-         */
-        minimumRadius : {
-            get : function() {
-                return this._minimumRadius;
-            }
-        },
-        /**
-         * Gets the maximum radius of the ellipsoid.
-         * @memberof Ellipsoid.prototype
-         * @type {Number}
-         * @readonly
-         */
-        maximumRadius : {
-            get : function() {
-                return this._maximumRadius;
-            }
-        }
-    });
-
-    /**
-     * Duplicates an Ellipsoid instance.
-     *
-     * @param {Ellipsoid} ellipsoid The ellipsoid to duplicate.
-     * @param {Ellipsoid} [result] The object onto which to store the result, or undefined if a new
-     *                    instance should be created.
-     * @returns {Ellipsoid} The cloned Ellipsoid. (Returns undefined if ellipsoid is undefined)
-     */
-    Ellipsoid.clone = function(ellipsoid, result) {
-        if (!when.defined(ellipsoid)) {
-            return undefined;
-        }
-        var radii = ellipsoid._radii;
-
-        if (!when.defined(result)) {
-            return new Ellipsoid(radii.x, radii.y, radii.z);
-        }
-
-        Cartesian3.clone(radii, result._radii);
-        Cartesian3.clone(ellipsoid._radiiSquared, result._radiiSquared);
-        Cartesian3.clone(ellipsoid._radiiToTheFourth, result._radiiToTheFourth);
-        Cartesian3.clone(ellipsoid._oneOverRadii, result._oneOverRadii);
-        Cartesian3.clone(ellipsoid._oneOverRadiiSquared, result._oneOverRadiiSquared);
-        result._minimumRadius = ellipsoid._minimumRadius;
-        result._maximumRadius = ellipsoid._maximumRadius;
-        result._centerToleranceSquared = ellipsoid._centerToleranceSquared;
-
-        return result;
-    };
-
-    /**
-     * Computes an Ellipsoid from a Cartesian specifying the radii in x, y, and z directions.
-     *
-     * @param {Cartesian3} [cartesian=Cartesian3.ZERO] The ellipsoid's radius in the x, y, and z directions.
-     * @param {Ellipsoid} [result] The object onto which to store the result, or undefined if a new
-     *                    instance should be created.
-     * @returns {Ellipsoid} A new Ellipsoid instance.
-     *
-     * @exception {DeveloperError} All radii components must be greater than or equal to zero.
-     *
-     * @see Ellipsoid.WGS84
-     * @see Ellipsoid.UNIT_SPHERE
-     */
-    Ellipsoid.fromCartesian3 = function(cartesian, result) {
-        if (!when.defined(result)) {
-            result = new Ellipsoid();
-        }
-
-        if (!when.defined(cartesian)) {
-            return result;
-        }
-
-        initialize(result, cartesian.x, cartesian.y, cartesian.z);
-        return result;
-    };
-
-    /**
-     * An Ellipsoid instance initialized to the WGS84 standard.
-     *
-     * @type {Ellipsoid}
-     * @constant
-     */
-    Ellipsoid.WGS84 = Object.freeze(new Ellipsoid(6378137.0, 6378137.0, _Math.CesiumMath.Radius));
-
-    Ellipsoid.XIAN80 = Object.freeze(new Ellipsoid(6378140.0, 6378140.0, 6356755.29));
-
-    Ellipsoid.CGCS2000 = Object.freeze(new Ellipsoid(6378137.0, 6378137.0, 6356752.31));
-
-    /**
-     * An Ellipsoid instance initialized to radii of (1.0, 1.0, 1.0).
-     *
-     * @type {Ellipsoid}
-     * @constant
-     */
-    Ellipsoid.UNIT_SPHERE = Object.freeze(new Ellipsoid(1.0, 1.0, 1.0));
-
-    /**
-     * An Ellipsoid instance initialized to a sphere with the lunar radius.
-     *
-     * @type {Ellipsoid}
-     * @constant
-     */
-    Ellipsoid.MOON = Object.freeze(new Ellipsoid(_Math.CesiumMath.LUNAR_RADIUS, _Math.CesiumMath.LUNAR_RADIUS, _Math.CesiumMath.LUNAR_RADIUS));
-
-    /**
-     * Duplicates an Ellipsoid instance.
-     *
-     * @param {Ellipsoid} [result] The object onto which to store the result, or undefined if a new
-     *                    instance should be created.
-     * @returns {Ellipsoid} The cloned Ellipsoid.
-     */
-    Ellipsoid.prototype.clone = function(result) {
-        return Ellipsoid.clone(this, result);
-    };
-
-    /**
-     * The number of elements used to pack the object into an array.
-     * @type {Number}
-     */
-    Ellipsoid.packedLength = Cartesian3.packedLength;
-
-    /**
-     * Stores the provided instance into the provided array.
-     *
-     * @param {Ellipsoid} value The value to pack.
-     * @param {Number[]} array The array to pack into.
-     * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-     *
-     * @returns {Number[]} The array that was packed into
-     */
-    Ellipsoid.pack = function(value, array, startingIndex) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('value', value);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        startingIndex = when.defaultValue(startingIndex, 0);
-
-        Cartesian3.pack(value._radii, array, startingIndex);
-
-        return array;
-    };
-
-    /**
-     * Retrieves an instance from a packed array.
-     *
-     * @param {Number[]} array The packed array.
-     * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-     * @param {Ellipsoid} [result] The object into which to store the result.
-     * @returns {Ellipsoid} The modified result parameter or a new Ellipsoid instance if one was not provided.
-     */
-    Ellipsoid.unpack = function(array, startingIndex, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        startingIndex = when.defaultValue(startingIndex, 0);
-
-        var radii = Cartesian3.unpack(array, startingIndex);
-        return Ellipsoid.fromCartesian3(radii, result);
-    };
-
-    /**
-     * Computes the unit vector directed from the center of this ellipsoid toward the provided Cartesian position.
-     * @function
-     *
-     * @param {Cartesian3} cartesian The Cartesian for which to to determine the geocentric normal.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
-     */
-    Ellipsoid.prototype.geocentricSurfaceNormal = Cartesian3.normalize;
-
-    /**
-     * Computes the normal of the plane tangent to the surface of the ellipsoid at the provided position.
-     *
-     * @param {Cartographic} cartographic The cartographic position for which to to determine the geodetic normal.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
-     */
-    Ellipsoid.prototype.geodeticSurfaceNormalCartographic = function(cartographic, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartographic', cartographic);
-        //>>includeEnd('debug');
-
-        var longitude = cartographic.longitude;
-        var latitude = cartographic.latitude;
-        var cosLatitude = Math.cos(latitude);
-
-        var x = cosLatitude * Math.cos(longitude);
-        var y = cosLatitude * Math.sin(longitude);
-        var z = Math.sin(latitude);
-
-        if (!when.defined(result)) {
-            result = new Cartesian3();
-        }
-        result.x = x;
-        result.y = y;
-        result.z = z;
-        return Cartesian3.normalize(result, result);
-    };
-
-    /**
-     * Computes the normal of the plane tangent to the surface of the ellipsoid at the provided position.
-     *
-     * @param {Cartesian3} cartesian The Cartesian position for which to to determine the surface normal.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
-     */
-    Ellipsoid.prototype.geodeticSurfaceNormal = function(cartesian, result) {
-        if (!when.defined(result)) {
-            result = new Cartesian3();
-        }
-        result = Cartesian3.multiplyComponents(cartesian, this._oneOverRadiiSquared, result);
-        return Cartesian3.normalize(result, result);
-    };
-
-    var cartographicToCartesianNormal = new Cartesian3();
-    var cartographicToCartesianK = new Cartesian3();
-
-    /**
-     * Converts the provided cartographic to Cartesian representation.
-     *
-     * @param {Cartographic} cartographic The cartographic position.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
-     *
-     * @example
-     * //Create a Cartographic and determine it's Cartesian representation on a WGS84 ellipsoid.
-     * var position = new Cesium.Cartographic(Cesium.Math.toRadians(21), Cesium.Math.toRadians(78), 5000);
-     * var cartesianPosition = Cesium.Ellipsoid.WGS84.cartographicToCartesian(position);
-     */
-    Ellipsoid.prototype.cartographicToCartesian = function(cartographic, result) {
-        //`cartographic is required` is thrown from geodeticSurfaceNormalCartographic.
-        var n = cartographicToCartesianNormal;
-        var k = cartographicToCartesianK;
-        this.geodeticSurfaceNormalCartographic(cartographic, n);
-        Cartesian3.multiplyComponents(this._radiiSquared, n, k);
-        var gamma = Math.sqrt(Cartesian3.dot(n, k));
-        Cartesian3.divideByScalar(k, gamma, k);
-        Cartesian3.multiplyByScalar(n, cartographic.height, n);
-
-        if (!when.defined(result)) {
-            result = new Cartesian3();
-        }
-        return Cartesian3.add(k, n, result);
-    };
-
-    /**
-     * Converts the provided array of cartographics to an array of Cartesians.
-     *
-     * @param {Cartographic[]} cartographics An array of cartographic positions.
-     * @param {Cartesian3[]} [result] The object onto which to store the result.
-     * @returns {Cartesian3[]} The modified result parameter or a new Array instance if none was provided.
-     *
-     * @example
-     * //Convert an array of Cartographics and determine their Cartesian representation on a WGS84 ellipsoid.
-     * var positions = [new Cesium.Cartographic(Cesium.Math.toRadians(21), Cesium.Math.toRadians(78), 0),
-     *                  new Cesium.Cartographic(Cesium.Math.toRadians(21.321), Cesium.Math.toRadians(78.123), 100),
-     *                  new Cesium.Cartographic(Cesium.Math.toRadians(21.645), Cesium.Math.toRadians(78.456), 250)];
-     * var cartesianPositions = Cesium.Ellipsoid.WGS84.cartographicArrayToCartesianArray(positions);
-     */
-    Ellipsoid.prototype.cartographicArrayToCartesianArray = function(cartographics, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('cartographics', cartographics);
-        //>>includeEnd('debug')
-
-        var length = cartographics.length;
-        if (!when.defined(result)) {
-            result = new Array(length);
-        } else {
-            result.length = length;
-        }
-        for ( var i = 0; i < length; i++) {
-            result[i] = this.cartographicToCartesian(cartographics[i], result[i]);
-        }
-        return result;
-    };
-
-    var cartesianToCartographicN$1 = new Cartesian3();
-    var cartesianToCartographicP$1 = new Cartesian3();
-    var cartesianToCartographicH$1 = new Cartesian3();
-
-    /**
-     * Converts the provided cartesian to cartographic representation.
-     * The cartesian is undefined at the center of the ellipsoid.
-     *
-     * @param {Cartesian3} cartesian The Cartesian position to convert to cartographic representation.
-     * @param {Cartographic} [result] The object onto which to store the result.
-     * @returns {Cartographic} The modified result parameter, new Cartographic instance if none was provided, or undefined if the cartesian is at the center of the ellipsoid.
-     *
-     * @example
-     * //Create a Cartesian and determine it's Cartographic representation on a WGS84 ellipsoid.
-     * var position = new Cesium.Cartesian3(17832.12, 83234.52, 952313.73);
-     * var cartographicPosition = Cesium.Ellipsoid.WGS84.cartesianToCartographic(position);
-     */
-    Ellipsoid.prototype.cartesianToCartographic = function(cartesian, result) {
-        //`cartesian is required.` is thrown from scaleToGeodeticSurface
-        var p = this.scaleToGeodeticSurface(cartesian, cartesianToCartographicP$1);
-
-        if (!when.defined(p)) {
-            return undefined;
-        }
-
-        var n = this.geodeticSurfaceNormal(p, cartesianToCartographicN$1);
-        var h = Cartesian3.subtract(cartesian, p, cartesianToCartographicH$1);
-
-        var longitude = Math.atan2(n.y, n.x);
-        var latitude = Math.asin(n.z);
-        var height = _Math.CesiumMath.sign(Cartesian3.dot(h, cartesian)) * Cartesian3.magnitude(h);
-
-        if (!when.defined(result)) {
-            return new Cartographic(longitude, latitude, height);
-        }
-        result.longitude = longitude;
-        result.latitude = latitude;
-        result.height = height;
-        return result;
-    };
-
-    /**
-     * Converts the provided array of cartesians to an array of cartographics.
-     *
-     * @param {Cartesian3[]} cartesians An array of Cartesian positions.
-     * @param {Cartographic[]} [result] The object onto which to store the result.
-     * @returns {Cartographic[]} The modified result parameter or a new Array instance if none was provided.
-     *
-     * @example
-     * //Create an array of Cartesians and determine their Cartographic representation on a WGS84 ellipsoid.
-     * var positions = [new Cesium.Cartesian3(17832.12, 83234.52, 952313.73),
-     *                  new Cesium.Cartesian3(17832.13, 83234.53, 952313.73),
-     *                  new Cesium.Cartesian3(17832.14, 83234.54, 952313.73)]
-     * var cartographicPositions = Cesium.Ellipsoid.WGS84.cartesianArrayToCartographicArray(positions);
-     */
-    Ellipsoid.prototype.cartesianArrayToCartographicArray = function(cartesians, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('cartesians', cartesians);
-        //>>includeEnd('debug');
-
-        var length = cartesians.length;
-        if (!when.defined(result)) {
-            result = new Array(length);
-        } else {
-            result.length = length;
-        }
-        for ( var i = 0; i < length; ++i) {
-            result[i] = this.cartesianToCartographic(cartesians[i], result[i]);
-        }
-        return result;
-    };
-
-    /**
-     * Scales the provided Cartesian position along the geodetic surface normal
-     * so that it is on the surface of this ellipsoid.  If the position is
-     * at the center of the ellipsoid, this function returns undefined.
-     *
-     * @param {Cartesian3} cartesian The Cartesian position to scale.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter, a new Cartesian3 instance if none was provided, or undefined if the position is at the center.
-     */
-    Ellipsoid.prototype.scaleToGeodeticSurface = function(cartesian, result) {
-        return scaleToGeodeticSurface(cartesian, this._oneOverRadii, this._oneOverRadiiSquared, this._centerToleranceSquared, result);
-    };
-
-    /**
-     * Scales the provided Cartesian position along the geocentric surface normal
-     * so that it is on the surface of this ellipsoid.
-     *
-     * @param {Cartesian3} cartesian The Cartesian position to scale.
-     * @param {Cartesian3} [result] The object onto which to store the result.
-     * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
-     */
-    Ellipsoid.prototype.scaleToGeocentricSurface = function(cartesian, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('cartesian', cartesian);
-        //>>includeEnd('debug');
-
-        if (!when.defined(result)) {
-            result = new Cartesian3();
-        }
-
-        var positionX = cartesian.x;
-        var positionY = cartesian.y;
-        var positionZ = cartesian.z;
-        var oneOverRadiiSquared = this._oneOverRadiiSquared;
-
-        var beta = 1.0 / Math.sqrt((positionX * positionX) * oneOverRadiiSquared.x +
-                                   (positionY * positionY) * oneOverRadiiSquared.y +
-                                   (positionZ * positionZ) * oneOverRadiiSquared.z);
-
-        return Cartesian3.multiplyByScalar(cartesian, beta, result);
-    };
-
-    /**
-     * Transforms a Cartesian X, Y, Z position to the ellipsoid-scaled space by multiplying
-     * its components by the result of {@link Ellipsoid#oneOverRadii}.
-     *
-     * @param {Cartesian3} position The position to transform.
-     * @param {Cartesian3} [result] The position to which to copy the result, or undefined to create and
-     *        return a new instance.
-     * @returns {Cartesian3} The position expressed in the scaled space.  The returned instance is the
-     *          one passed as the result parameter if it is not undefined, or a new instance of it is.
-     */
-    Ellipsoid.prototype.transformPositionToScaledSpace = function(position, result) {
-        if (!when.defined(result)) {
-            result = new Cartesian3();
-        }
-
-        return Cartesian3.multiplyComponents(position, this._oneOverRadii, result);
-    };
-
-    /**
-     * Transforms a Cartesian X, Y, Z position from the ellipsoid-scaled space by multiplying
-     * its components by the result of {@link Ellipsoid#radii}.
-     *
-     * @param {Cartesian3} position The position to transform.
-     * @param {Cartesian3} [result] The position to which to copy the result, or undefined to create and
-     *        return a new instance.
-     * @returns {Cartesian3} The position expressed in the unscaled space.  The returned instance is the
-     *          one passed as the result parameter if it is not undefined, or a new instance of it is.
-     */
-    Ellipsoid.prototype.transformPositionFromScaledSpace = function(position, result) {
-        if (!when.defined(result)) {
-            result = new Cartesian3();
-        }
-
-        return Cartesian3.multiplyComponents(position, this._radii, result);
-    };
-
-    /**
-     * Compares this Ellipsoid against the provided Ellipsoid componentwise and returns
-     * <code>true</code> if they are equal, <code>false</code> otherwise.
-     *
-     * @param {Ellipsoid} [right] The other Ellipsoid.
-     * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-     */
-    Ellipsoid.prototype.equals = function(right) {
-        return (this === right) ||
-               (when.defined(right) &&
-                Cartesian3.equals(this._radii, right._radii));
-    };
-
-    /**
-     * Creates a string representing this Ellipsoid in the format '(radii.x, radii.y, radii.z)'.
-     *
-     * @returns {String} A string representing this ellipsoid in the format '(radii.x, radii.y, radii.z)'.
-     */
-    Ellipsoid.prototype.toString = function() {
-        return this._radii.toString();
-    };
-
-    /**
-     * Computes a point which is the intersection of the surface normal with the z-axis.
-     *
-     * @param {Cartesian3} position the position. must be on the surface of the ellipsoid.
-     * @param {Number} [buffer = 0.0] A buffer to subtract from the ellipsoid size when checking if the point is inside the ellipsoid.
-     *                                In earth case, with common earth datums, there is no need for this buffer since the intersection point is always (relatively) very close to the center.
-     *                                In WGS84 datum, intersection point is at max z = +-42841.31151331382 (0.673% of z-axis).
-     *                                Intersection point could be outside the ellipsoid if the ratio of MajorAxis / AxisOfRotation is bigger than the square root of 2
-     * @param {Cartesian3} [result] The cartesian to which to copy the result, or undefined to create and
-     *        return a new instance.
-     * @returns {Cartesian3 | undefined} the intersection point if it's inside the ellipsoid, undefined otherwise
-     *
-     * @exception {DeveloperError} position is required.
-     * @exception {DeveloperError} Ellipsoid must be an ellipsoid of revolution (radii.x == radii.y).
-     * @exception {DeveloperError} Ellipsoid.radii.z must be greater than 0.
-     */
-    Ellipsoid.prototype.getSurfaceNormalIntersectionWithZAxis = function(position, buffer, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('position', position);
-
-        if (!_Math.CesiumMath.equalsEpsilon(this._radii.x, this._radii.y, _Math.CesiumMath.EPSILON15)) {
-            throw new Check.DeveloperError('Ellipsoid must be an ellipsoid of revolution (radii.x == radii.y)');
-        }
-
-        Check.Check.typeOf.number.greaterThan('Ellipsoid.radii.z', this._radii.z, 0);
-        //>>includeEnd('debug');
-
-        buffer = when.defaultValue(buffer, 0.0);
-
-        var squaredXOverSquaredZ = this._squaredXOverSquaredZ;
-
-        if (!when.defined(result)) {
-            result = new Cartesian3();
-        }
-
-        result.x = 0.0;
-        result.y = 0.0;
-        result.z = position.z * (1 - squaredXOverSquaredZ);
-
-        if (Math.abs(result.z) >= this._radii.z - buffer) {
-            return undefined;
-        }
-
-        return result;
-    };
-
-    /**
-         * A two dimensional region specified as longitude and latitude coordinates.
-         *
-         * @alias Rectangle
-         * @constructor
-         *
-         * @param {Number} [west=0.0] The westernmost longitude, in radians, in the range [-Pi, Pi].
-         * @param {Number} [south=0.0] The southernmost latitude, in radians, in the range [-Pi/2, Pi/2].
-         * @param {Number} [east=0.0] The easternmost longitude, in radians, in the range [-Pi, Pi].
-         * @param {Number} [north=0.0] The northernmost latitude, in radians, in the range [-Pi/2, Pi/2].
-         *
-         * @see Packable
-         */
-        function Rectangle(west, south, east, north) {
-            /**
-             * The westernmost longitude in radians in the range [-Pi, Pi].
-             *
-             * @type {Number}
-             * @default 0.0
-             */
-            this.west = when.defaultValue(west, 0.0);
-
-            /**
-             * The southernmost latitude in radians in the range [-Pi/2, Pi/2].
-             *
-             * @type {Number}
-             * @default 0.0
-             */
-            this.south = when.defaultValue(south, 0.0);
-
-            /**
-             * The easternmost longitude in radians in the range [-Pi, Pi].
-             *
-             * @type {Number}
-             * @default 0.0
-             */
-            this.east = when.defaultValue(east, 0.0);
-
-            /**
-             * The northernmost latitude in radians in the range [-Pi/2, Pi/2].
-             *
-             * @type {Number}
-             * @default 0.0
-             */
-            this.north = when.defaultValue(north, 0.0);
-        }
-
-        Object.defineProperties(Rectangle.prototype, {
-            /**
-             * Gets the width of the rectangle in radians.
-             * @memberof Rectangle.prototype
-             * @type {Number}
-             */
-            width : {
-                get : function() {
-                    return Rectangle.computeWidth(this);
-                }
-            },
-
-            /**
-             * Gets the height of the rectangle in radians.
-             * @memberof Rectangle.prototype
-             * @type {Number}
-             */
-            height : {
-                get : function() {
-                    return Rectangle.computeHeight(this);
-                }
-            }
-        });
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        Rectangle.packedLength = 4;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {Rectangle} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        Rectangle.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            array[startingIndex++] = value.west;
-            array[startingIndex++] = value.south;
-            array[startingIndex++] = value.east;
-            array[startingIndex] = value.north;
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {Rectangle} [result] The object into which to store the result.
-         * @returns {Rectangle} The modified result parameter or a new Rectangle instance if one was not provided.
-         */
-        Rectangle.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new Rectangle();
-            }
-
-            result.west = array[startingIndex++];
-            result.south = array[startingIndex++];
-            result.east = array[startingIndex++];
-            result.north = array[startingIndex];
-            return result;
-        };
-
-        /**
-         * Computes the width of a rectangle in radians.
-         * @param {Rectangle} rectangle The rectangle to compute the width of.
-         * @returns {Number} The width.
-         */
-        Rectangle.computeWidth = function(rectangle) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            //>>includeEnd('debug');
-            var east = rectangle.east;
-            var west = rectangle.west;
-            if (east < west) {
-                east += _Math.CesiumMath.TWO_PI;
-            }
-            return east - west;
-        };
-
-        /**
-         * Computes the height of a rectangle in radians.
-         * @param {Rectangle} rectangle The rectangle to compute the height of.
-         * @returns {Number} The height.
-         */
-        Rectangle.computeHeight = function(rectangle) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            //>>includeEnd('debug');
-            return rectangle.north - rectangle.south;
-        };
-
-        /**
-         * Creates a rectangle given the boundary longitude and latitude in degrees.
-         *
-         * @param {Number} [west=0.0] The westernmost longitude in degrees in the range [-180.0, 180.0].
-         * @param {Number} [south=0.0] The southernmost latitude in degrees in the range [-90.0, 90.0].
-         * @param {Number} [east=0.0] The easternmost longitude in degrees in the range [-180.0, 180.0].
-         * @param {Number} [north=0.0] The northernmost latitude in degrees in the range [-90.0, 90.0].
-         * @param {Rectangle} [result] The object onto which to store the result, or undefined if a new instance should be created.
-         * @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided.
-         *
-         * @example
-         * var rectangle = Cesium.Rectangle.fromDegrees(0.0, 20.0, 10.0, 30.0);
-         */
-        Rectangle.fromDegrees = function(west, south, east, north, result) {
-            west = _Math.CesiumMath.toRadians(when.defaultValue(west, 0.0));
-            south = _Math.CesiumMath.toRadians(when.defaultValue(south, 0.0));
-            east = _Math.CesiumMath.toRadians(when.defaultValue(east, 0.0));
-            north = _Math.CesiumMath.toRadians(when.defaultValue(north, 0.0));
-
-            if (!when.defined(result)) {
-                return new Rectangle(west, south, east, north);
-            }
-
-            result.west = west;
-            result.south = south;
-            result.east = east;
-            result.north = north;
-
-            return result;
-        };
-
-        /**
-         * Creates a rectangle given the boundary longitude and latitude in radians.
-         *
-         * @param {Number} [west=0.0] The westernmost longitude in radians in the range [-Math.PI, Math.PI].
-         * @param {Number} [south=0.0] The southernmost latitude in radians in the range [-Math.PI/2, Math.PI/2].
-         * @param {Number} [east=0.0] The easternmost longitude in radians in the range [-Math.PI, Math.PI].
-         * @param {Number} [north=0.0] The northernmost latitude in radians in the range [-Math.PI/2, Math.PI/2].
-         * @param {Rectangle} [result] The object onto which to store the result, or undefined if a new instance should be created.
-         * @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided.
-         *
-         * @example
-         * var rectangle = Cesium.Rectangle.fromRadians(0.0, Math.PI/4, Math.PI/8, 3*Math.PI/4);
-         */
-        Rectangle.fromRadians = function(west, south, east, north, result) {
-            if (!when.defined(result)) {
-                return new Rectangle(west, south, east, north);
-            }
-
-            result.west = when.defaultValue(west, 0.0);
-            result.south = when.defaultValue(south, 0.0);
-            result.east = when.defaultValue(east, 0.0);
-            result.north = when.defaultValue(north, 0.0);
-
-            return result;
-        };
-
-        /**
-         * Creates the smallest possible Rectangle that encloses all positions in the provided array.
-         *
-         * @param {Cartographic[]} cartographics The list of Cartographic instances.
-         * @param {Rectangle} [result] The object onto which to store the result, or undefined if a new instance should be created.
-         * @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided.
-         */
-        Rectangle.fromCartographicArray = function(cartographics, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('cartographics', cartographics);
-            //>>includeEnd('debug');
-
-            var west = Number.MAX_VALUE;
-            var east = -Number.MAX_VALUE;
-            var westOverIDL = Number.MAX_VALUE;
-            var eastOverIDL = -Number.MAX_VALUE;
-            var south = Number.MAX_VALUE;
-            var north = -Number.MAX_VALUE;
-
-            for ( var i = 0, len = cartographics.length; i < len; i++) {
-                var position = cartographics[i];
-                west = Math.min(west, position.longitude);
-                east = Math.max(east, position.longitude);
-                south = Math.min(south, position.latitude);
-                north = Math.max(north, position.latitude);
-
-                var lonAdjusted = position.longitude >= 0 ?  position.longitude : position.longitude +  _Math.CesiumMath.TWO_PI;
-                westOverIDL = Math.min(westOverIDL, lonAdjusted);
-                eastOverIDL = Math.max(eastOverIDL, lonAdjusted);
-            }
-
-            if(east - west > eastOverIDL - westOverIDL) {
-                west = westOverIDL;
-                east = eastOverIDL;
-
-                if (east > _Math.CesiumMath.PI) {
-                    east = east - _Math.CesiumMath.TWO_PI;
-                }
-                if (west > _Math.CesiumMath.PI) {
-                    west = west - _Math.CesiumMath.TWO_PI;
-                }
-            }
-
-            if (!when.defined(result)) {
-                return new Rectangle(west, south, east, north);
-            }
-
-            result.west = west;
-            result.south = south;
-            result.east = east;
-            result.north = north;
-            return result;
-        };
-
-        /**
-         * Creates the smallest possible Rectangle that encloses all positions in the provided array.
-         *
-         * @param {Cartesian3[]} cartesians The list of Cartesian instances.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid the cartesians are on.
-         * @param {Rectangle} [result] The object onto which to store the result, or undefined if a new instance should be created.
-         * @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided.
-         */
-        Rectangle.fromCartesianArray = function(cartesians, ellipsoid, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('cartesians', cartesians);
-            //>>includeEnd('debug');
-            ellipsoid = when.defaultValue(ellipsoid, Ellipsoid.WGS84);
-
-            var west = Number.MAX_VALUE;
-            var east = -Number.MAX_VALUE;
-            var westOverIDL = Number.MAX_VALUE;
-            var eastOverIDL = -Number.MAX_VALUE;
-            var south = Number.MAX_VALUE;
-            var north = -Number.MAX_VALUE;
-
-            for ( var i = 0, len = cartesians.length; i < len; i++) {
-                var position = ellipsoid.cartesianToCartographic(cartesians[i]);
-                west = Math.min(west, position.longitude);
-                east = Math.max(east, position.longitude);
-                south = Math.min(south, position.latitude);
-                north = Math.max(north, position.latitude);
-
-                var lonAdjusted = position.longitude >= 0 ?  position.longitude : position.longitude +  _Math.CesiumMath.TWO_PI;
-                westOverIDL = Math.min(westOverIDL, lonAdjusted);
-                eastOverIDL = Math.max(eastOverIDL, lonAdjusted);
-            }
-
-            if(east - west > eastOverIDL - westOverIDL) {
-                west = westOverIDL;
-                east = eastOverIDL;
-
-                if (east > _Math.CesiumMath.PI) {
-                    east = east - _Math.CesiumMath.TWO_PI;
-                }
-                if (west > _Math.CesiumMath.PI) {
-                    west = west - _Math.CesiumMath.TWO_PI;
-                }
-            }
-
-            if (!when.defined(result)) {
-                return new Rectangle(west, south, east, north);
-            }
-
-            result.west = west;
-            result.south = south;
-            result.east = east;
-            result.north = north;
-            return result;
-        };
-
-        /**
-         * Duplicates a Rectangle.
-         *
-         * @param {Rectangle} rectangle The rectangle to clone.
-         * @param {Rectangle} [result] The object onto which to store the result, or undefined if a new instance should be created.
-         * @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided. (Returns undefined if rectangle is undefined)
-         */
-        Rectangle.clone = function(rectangle, result) {
-            if (!when.defined(rectangle)) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                return new Rectangle(rectangle.west, rectangle.south, rectangle.east, rectangle.north);
-            }
-
-            result.west = rectangle.west;
-            result.south = rectangle.south;
-            result.east = rectangle.east;
-            result.north = rectangle.north;
-            return result;
-        };
-
-        /**
-         * Compares the provided Rectangles componentwise and returns
-         * <code>true</code> if they pass an absolute or relative tolerance test,
-         * <code>false</code> otherwise.
-         *
-         * @param {Rectangle} [left] The first Rectangle.
-         * @param {Rectangle} [right] The second Rectangle.
-         * @param {Number} absoluteEpsilon The absolute epsilon tolerance to use for equality testing.
-         * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Rectangle.equalsEpsilon = function(left, right, absoluteEpsilon) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('absoluteEpsilon', absoluteEpsilon);
-            //>>includeEnd('debug');
-
-            return (left === right) ||
-                   (when.defined(left) &&
-                    when.defined(right) &&
-                    (Math.abs(left.west - right.west) <= absoluteEpsilon) &&
-                    (Math.abs(left.south - right.south) <= absoluteEpsilon) &&
-                    (Math.abs(left.east - right.east) <= absoluteEpsilon) &&
-                    (Math.abs(left.north - right.north) <= absoluteEpsilon));
-        };
-
-        /**
-         * Duplicates this Rectangle.
-         *
-         * @param {Rectangle} [result] The object onto which to store the result.
-         * @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided.
-         */
-        Rectangle.prototype.clone = function(result) {
-            return Rectangle.clone(this, result);
-        };
-
-        /**
-         * Compares the provided Rectangle with this Rectangle componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Rectangle} [other] The Rectangle to compare.
-         * @returns {Boolean} <code>true</code> if the Rectangles are equal, <code>false</code> otherwise.
-         */
-        Rectangle.prototype.equals = function(other) {
-            return Rectangle.equals(this, other);
-        };
-
-        /**
-         * Compares the provided rectangles and returns <code>true</code> if they are equal,
-         * <code>false</code> otherwise.
-         *
-         * @param {Rectangle} [left] The first Rectangle.
-         * @param {Rectangle} [right] The second Rectangle.
-         * @returns {Boolean} <code>true</code> if left and right are equal; otherwise <code>false</code>.
-         */
-        Rectangle.equals = function(left, right) {
-            return (left === right) ||
-                   ((when.defined(left)) &&
-                    (when.defined(right)) &&
-                    (left.west === right.west) &&
-                    (left.south === right.south) &&
-                    (left.east === right.east) &&
-                    (left.north === right.north));
-        };
-
-        /**
-         * Compares the provided Rectangle with this Rectangle componentwise and returns
-         * <code>true</code> if they are within the provided epsilon,
-         * <code>false</code> otherwise.
-         *
-         * @param {Rectangle} [other] The Rectangle to compare.
-         * @param {Number} epsilon The epsilon to use for equality testing.
-         * @returns {Boolean} <code>true</code> if the Rectangles are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Rectangle.prototype.equalsEpsilon = function(other, epsilon) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('epsilon', epsilon);
-            //>>includeEnd('debug');
-
-            return Rectangle.equalsEpsilon(this, other, epsilon);
-        };
-
-        /**
-         * Checks a Rectangle's properties and throws if they are not in valid ranges.
-         *
-         * @param {Rectangle} rectangle The rectangle to validate
-         *
-         * @exception {DeveloperError} <code>north</code> must be in the interval [<code>-Pi/2</code>, <code>Pi/2</code>].
-         * @exception {DeveloperError} <code>south</code> must be in the interval [<code>-Pi/2</code>, <code>Pi/2</code>].
-         * @exception {DeveloperError} <code>east</code> must be in the interval [<code>-Pi</code>, <code>Pi</code>].
-         * @exception {DeveloperError} <code>west</code> must be in the interval [<code>-Pi</code>, <code>Pi</code>].
-         */
-        Rectangle.validate = function(rectangle) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-
-            var north = rectangle.north;
-            Check.Check.typeOf.number.greaterThanOrEquals('north', north, -_Math.CesiumMath.PI_OVER_TWO);
-            Check.Check.typeOf.number.lessThanOrEquals('north', north, _Math.CesiumMath.PI_OVER_TWO);
-
-            var south = rectangle.south;
-            Check.Check.typeOf.number.greaterThanOrEquals('south', south, -_Math.CesiumMath.PI_OVER_TWO);
-            Check.Check.typeOf.number.lessThanOrEquals('south', south, _Math.CesiumMath.PI_OVER_TWO);
-
-            var west = rectangle.west;
-            Check.Check.typeOf.number.greaterThanOrEquals('west', west, -Math.PI);
-            Check.Check.typeOf.number.lessThanOrEquals('west', west, Math.PI);
-
-            var east = rectangle.east;
-            Check.Check.typeOf.number.greaterThanOrEquals('east', east, -Math.PI);
-            Check.Check.typeOf.number.lessThanOrEquals('east', east, Math.PI);
-            //>>includeEnd('debug');
-        };
-
-        /**
-         * Computes the southwest corner of a rectangle.
-         *
-         * @param {Rectangle} rectangle The rectangle for which to find the corner
-         * @param {Cartographic} [result] The object onto which to store the result.
-         * @returns {Cartographic} The modified result parameter or a new Cartographic instance if none was provided.
-         */
-        Rectangle.southwest = function(rectangle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Cartographic(rectangle.west, rectangle.south);
-            }
-            result.longitude = rectangle.west;
-            result.latitude = rectangle.south;
-            result.height = 0.0;
-            return result;
-        };
-
-        /**
-         * Computes the northwest corner of a rectangle.
-         *
-         * @param {Rectangle} rectangle The rectangle for which to find the corner
-         * @param {Cartographic} [result] The object onto which to store the result.
-         * @returns {Cartographic} The modified result parameter or a new Cartographic instance if none was provided.
-         */
-        Rectangle.northwest = function(rectangle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Cartographic(rectangle.west, rectangle.north);
-            }
-            result.longitude = rectangle.west;
-            result.latitude = rectangle.north;
-            result.height = 0.0;
-            return result;
-        };
-
-        /**
-         * Computes the northeast corner of a rectangle.
-         *
-         * @param {Rectangle} rectangle The rectangle for which to find the corner
-         * @param {Cartographic} [result] The object onto which to store the result.
-         * @returns {Cartographic} The modified result parameter or a new Cartographic instance if none was provided.
-         */
-        Rectangle.northeast = function(rectangle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Cartographic(rectangle.east, rectangle.north);
-            }
-            result.longitude = rectangle.east;
-            result.latitude = rectangle.north;
-            result.height = 0.0;
-            return result;
-        };
-
-        /**
-         * Computes the southeast corner of a rectangle.
-         *
-         * @param {Rectangle} rectangle The rectangle for which to find the corner
-         * @param {Cartographic} [result] The object onto which to store the result.
-         * @returns {Cartographic} The modified result parameter or a new Cartographic instance if none was provided.
-         */
-        Rectangle.southeast = function(rectangle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Cartographic(rectangle.east, rectangle.south);
-            }
-            result.longitude = rectangle.east;
-            result.latitude = rectangle.south;
-            result.height = 0.0;
-            return result;
-        };
-
-        /**
-         * Computes the center of a rectangle.
-         *
-         * @param {Rectangle} rectangle The rectangle for which to find the center
-         * @param {Cartographic} [result] The object onto which to store the result.
-         * @returns {Cartographic} The modified result parameter or a new Cartographic instance if none was provided.
-         */
-        Rectangle.center = function(rectangle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            //>>includeEnd('debug');
-
-            var east = rectangle.east;
-            var west = rectangle.west;
-
-            if (east < west) {
-                east += _Math.CesiumMath.TWO_PI;
-            }
-
-            var longitude = _Math.CesiumMath.negativePiToPi((west + east) * 0.5);
-            var latitude = (rectangle.south + rectangle.north) * 0.5;
-
-            if (!when.defined(result)) {
-                return new Cartographic(longitude, latitude);
-            }
-
-            result.longitude = longitude;
-            result.latitude = latitude;
-            result.height = 0.0;
-            return result;
-        };
-
-        /**
-         * Computes the intersection of two rectangles.  This function assumes that the rectangle's coordinates are
-         * latitude and longitude in radians and produces a correct intersection, taking into account the fact that
-         * the same angle can be represented with multiple values as well as the wrapping of longitude at the
-         * anti-meridian.  For a simple intersection that ignores these factors and can be used with projected
-         * coordinates, see {@link Rectangle.simpleIntersection}.
-         *
-         * @param {Rectangle} rectangle On rectangle to find an intersection
-         * @param {Rectangle} otherRectangle Another rectangle to find an intersection
-         * @param {Rectangle} [result] The object onto which to store the result.
-         * @returns {Rectangle|undefined} The modified result parameter, a new Rectangle instance if none was provided or undefined if there is no intersection.
-         */
-        Rectangle.intersection = function(rectangle, otherRectangle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            Check.Check.typeOf.object('otherRectangle', otherRectangle);
-            //>>includeEnd('debug');
-
-            var rectangleEast = rectangle.east;
-            var rectangleWest = rectangle.west;
-
-            var otherRectangleEast = otherRectangle.east;
-            var otherRectangleWest = otherRectangle.west;
-
-            if (rectangleEast < rectangleWest && otherRectangleEast > 0.0) {
-                rectangleEast += _Math.CesiumMath.TWO_PI;
-            } else if (otherRectangleEast < otherRectangleWest && rectangleEast > 0.0) {
-                otherRectangleEast += _Math.CesiumMath.TWO_PI;
-            }
-
-            if (rectangleEast < rectangleWest && otherRectangleWest < 0.0) {
-                otherRectangleWest += _Math.CesiumMath.TWO_PI;
-            } else if (otherRectangleEast < otherRectangleWest && rectangleWest < 0.0) {
-                rectangleWest += _Math.CesiumMath.TWO_PI;
-            }
-
-            var west = _Math.CesiumMath.negativePiToPi(Math.max(rectangleWest, otherRectangleWest));
-            var east = _Math.CesiumMath.negativePiToPi(Math.min(rectangleEast, otherRectangleEast));
-
-            if ((rectangle.west < rectangle.east || otherRectangle.west < otherRectangle.east) && east <= west) {
-                return undefined;
-            }
-
-            var south = Math.max(rectangle.south, otherRectangle.south);
-            var north = Math.min(rectangle.north, otherRectangle.north);
-
-            if (south >= north) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                return new Rectangle(west, south, east, north);
-            }
-            result.west = west;
-            result.south = south;
-            result.east = east;
-            result.north = north;
-            return result;
-        };
-
-        /**
-         * Computes a simple intersection of two rectangles.  Unlike {@link Rectangle.intersection}, this function
-         * does not attempt to put the angular coordinates into a consistent range or to account for crossing the
-         * anti-meridian.  As such, it can be used for rectangles where the coordinates are not simply latitude
-         * and longitude (i.e. projected coordinates).
-         *
-         * @param {Rectangle} rectangle On rectangle to find an intersection
-         * @param {Rectangle} otherRectangle Another rectangle to find an intersection
-         * @param {Rectangle} [result] The object onto which to store the result.
-         * @returns {Rectangle|undefined} The modified result parameter, a new Rectangle instance if none was provided or undefined if there is no intersection.
-         */
-        Rectangle.simpleIntersection = function(rectangle, otherRectangle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            Check.Check.typeOf.object('otherRectangle', otherRectangle);
-            //>>includeEnd('debug');
-
-            var west = Math.max(rectangle.west, otherRectangle.west);
-            var south = Math.max(rectangle.south, otherRectangle.south);
-            var east = Math.min(rectangle.east, otherRectangle.east);
-            var north = Math.min(rectangle.north, otherRectangle.north);
-
-            if (south >= north || west >= east) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                return new Rectangle(west, south, east, north);
-            }
-
-            result.west = west;
-            result.south = south;
-            result.east = east;
-            result.north = north;
-            return result;
-        };
-
-        /**
-         * Computes a rectangle that is the union of two rectangles.
-         *
-         * @param {Rectangle} rectangle A rectangle to enclose in rectangle.
-         * @param {Rectangle} otherRectangle A rectangle to enclose in a rectangle.
-         * @param {Rectangle} [result] The object onto which to store the result.
-         * @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided.
-         */
-        Rectangle.union = function(rectangle, otherRectangle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            Check.Check.typeOf.object('otherRectangle', otherRectangle);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Rectangle();
-            }
-
-            var rectangleEast = rectangle.east;
-            var rectangleWest = rectangle.west;
-
-            var otherRectangleEast = otherRectangle.east;
-            var otherRectangleWest = otherRectangle.west;
-
-            if (rectangleEast < rectangleWest && otherRectangleEast > 0.0) {
-                rectangleEast += _Math.CesiumMath.TWO_PI;
-            } else if (otherRectangleEast < otherRectangleWest && rectangleEast > 0.0) {
-                otherRectangleEast += _Math.CesiumMath.TWO_PI;
-            }
-
-            if (rectangleEast < rectangleWest && otherRectangleWest < 0.0) {
-                otherRectangleWest += _Math.CesiumMath.TWO_PI;
-            } else if (otherRectangleEast < otherRectangleWest && rectangleWest < 0.0) {
-                rectangleWest += _Math.CesiumMath.TWO_PI;
-            }
-
-            var west = _Math.CesiumMath.convertLongitudeRange(Math.min(rectangleWest, otherRectangleWest));
-            var east = _Math.CesiumMath.convertLongitudeRange(Math.max(rectangleEast, otherRectangleEast));
-
-            result.west = west;
-            result.south = Math.min(rectangle.south, otherRectangle.south);
-            result.east = east;
-            result.north = Math.max(rectangle.north, otherRectangle.north);
-
-            return result;
-        };
-
-        /**
-         * Computes a rectangle by enlarging the provided rectangle until it contains the provided cartographic.
-         *
-         * @param {Rectangle} rectangle A rectangle to expand.
-         * @param {Cartographic} cartographic A cartographic to enclose in a rectangle.
-         * @param {Rectangle} [result] The object onto which to store the result.
-         * @returns {Rectangle} The modified result parameter or a new Rectangle instance if one was not provided.
-         */
-        Rectangle.expand = function(rectangle, cartographic, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            Check.Check.typeOf.object('cartographic', cartographic);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Rectangle();
-            }
-
-            result.west = Math.min(rectangle.west, cartographic.longitude);
-            result.south = Math.min(rectangle.south, cartographic.latitude);
-            result.east = Math.max(rectangle.east, cartographic.longitude);
-            result.north = Math.max(rectangle.north, cartographic.latitude);
-
-            return result;
-        };
-
-        /**
-         * Returns true if the cartographic is on or inside the rectangle, false otherwise.
-         *
-         * @param {Rectangle} rectangle The rectangle
-         * @param {Cartographic} cartographic The cartographic to test.
-         * @returns {Boolean} true if the provided cartographic is inside the rectangle, false otherwise.
-         */
-        Rectangle.contains = function(rectangle, cartographic) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            Check.Check.typeOf.object('cartographic', cartographic);
-            //>>includeEnd('debug');
-
-            var longitude = cartographic.longitude;
-            var latitude = cartographic.latitude;
-
-            var west = rectangle.west;
-            var east = rectangle.east;
-
-            if (east < west) {
-                east += _Math.CesiumMath.TWO_PI;
-                if (longitude < 0.0) {
-                    longitude += _Math.CesiumMath.TWO_PI;
-                }
-            }
-            return (longitude > west || _Math.CesiumMath.equalsEpsilon(longitude, west, _Math.CesiumMath.EPSILON14)) &&
-                   (longitude < east || _Math.CesiumMath.equalsEpsilon(longitude, east, _Math.CesiumMath.EPSILON14)) &&
-                   latitude >= rectangle.south &&
-                   latitude <= rectangle.north;
-        };
-
-        var subsampleLlaScratch = new Cartographic();
-        /**
-         * Samples a rectangle so that it includes a list of Cartesian points suitable for passing to
-         * {@link BoundingSphere#fromPoints}.  Sampling is necessary to account
-         * for rectangles that cover the poles or cross the equator.
-         *
-         * @param {Rectangle} rectangle The rectangle to subsample.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid to use.
-         * @param {Number} [surfaceHeight=0.0] The height of the rectangle above the ellipsoid.
-         * @param {Cartesian3[]} [result] The array of Cartesians onto which to store the result.
-         * @returns {Cartesian3[]} The modified result parameter or a new Array of Cartesians instances if none was provided.
-         */
-        Rectangle.subsample = function(rectangle, ellipsoid, surfaceHeight, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            //>>includeEnd('debug');
-
-            ellipsoid = when.defaultValue(ellipsoid, Ellipsoid.WGS84);
-            surfaceHeight = when.defaultValue(surfaceHeight, 0.0);
-
-            if (!when.defined(result)) {
-                result = [];
-            }
-            var length = 0;
-
-            var north = rectangle.north;
-            var south = rectangle.south;
-            var east = rectangle.east;
-            var west = rectangle.west;
-
-            var lla = subsampleLlaScratch;
-            lla.height = surfaceHeight;
-
-            lla.longitude = west;
-            lla.latitude = north;
-            result[length] = ellipsoid.cartographicToCartesian(lla, result[length]);
-            length++;
-
-            lla.longitude = east;
-            result[length] = ellipsoid.cartographicToCartesian(lla, result[length]);
-            length++;
-
-            lla.latitude = south;
-            result[length] = ellipsoid.cartographicToCartesian(lla, result[length]);
-            length++;
-
-            lla.longitude = west;
-            result[length] = ellipsoid.cartographicToCartesian(lla, result[length]);
-            length++;
-
-            if (north < 0.0) {
-                lla.latitude = north;
-            } else if (south > 0.0) {
-                lla.latitude = south;
-            } else {
-                lla.latitude = 0.0;
-            }
-
-            for ( var i = 1; i < 8; ++i) {
-                lla.longitude = -Math.PI + i * _Math.CesiumMath.PI_OVER_TWO;
-                if (Rectangle.contains(rectangle, lla)) {
-                    result[length] = ellipsoid.cartographicToCartesian(lla, result[length]);
-                    length++;
-                }
-            }
-
-            if (lla.latitude === 0.0) {
-                lla.longitude = west;
-                result[length] = ellipsoid.cartographicToCartesian(lla, result[length]);
-                length++;
-                lla.longitude = east;
-                result[length] = ellipsoid.cartographicToCartesian(lla, result[length]);
-                length++;
-            }
-            result.length = length;
-            return result;
-        };
-
-        /**
-         * The largest possible rectangle.
-         *
-         * @type {Rectangle}
-         * @constant
-        */
-        Rectangle.MAX_VALUE = Object.freeze(new Rectangle(-Math.PI, -_Math.CesiumMath.PI_OVER_TWO, Math.PI, _Math.CesiumMath.PI_OVER_TWO));
-
-    /**
-         * A 2D Cartesian point.
-         * @alias Cartesian2
-         * @constructor
-         *
-         * @param {Number} [x=0.0] The X component.
-         * @param {Number} [y=0.0] The Y component.
-         *
-         * @see Cartesian3
-         * @see Cartesian4
-         * @see Packable
-         */
-        function Cartesian2(x, y) {
-            /**
-             * The X component.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.x = when.defaultValue(x, 0.0);
-
-            /**
-             * The Y component.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.y = when.defaultValue(y, 0.0);
-        }
-
-        /**
-         * Creates a Cartesian2 instance from x and y coordinates.
-         *
-         * @param {Number} x The x coordinate.
-         * @param {Number} y The y coordinate.
-         * @param {Cartesian2} [result] The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
-         */
-        Cartesian2.fromElements = function(x, y, result) {
-            if (!when.defined(result)) {
-                return new Cartesian2(x, y);
-            }
-
-            result.x = x;
-            result.y = y;
-            return result;
-        };
-
-        /**
-         * Duplicates a Cartesian2 instance.
-         *
-         * @param {Cartesian2} cartesian The Cartesian to duplicate.
-         * @param {Cartesian2} [result] The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided. (Returns undefined if cartesian is undefined)
-         */
-        Cartesian2.clone = function(cartesian, result) {
-            if (!when.defined(cartesian)) {
-                return undefined;
-            }
-            if (!when.defined(result)) {
-                return new Cartesian2(cartesian.x, cartesian.y);
-            }
-
-            result.x = cartesian.x;
-            result.y = cartesian.y;
-            return result;
-        };
-
-        /**
-         * Creates a Cartesian2 instance from an existing Cartesian3.  This simply takes the
-         * x and y properties of the Cartesian3 and drops z.
-         * @function
-         *
-         * @param {Cartesian3} cartesian The Cartesian3 instance to create a Cartesian2 instance from.
-         * @param {Cartesian2} [result] The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
-         */
-        Cartesian2.fromCartesian3 = Cartesian2.clone;
-
-        /**
-         * Creates a Cartesian2 instance from an existing Cartesian4.  This simply takes the
-         * x and y properties of the Cartesian4 and drops z and w.
-         * @function
-         *
-         * @param {Cartesian4} cartesian The Cartesian4 instance to create a Cartesian2 instance from.
-         * @param {Cartesian2} [result] The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
-         */
-        Cartesian2.fromCartesian4 = Cartesian2.clone;
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        Cartesian2.packedLength = 2;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {Cartesian2} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        Cartesian2.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            array[startingIndex++] = value.x;
-            array[startingIndex] = value.y;
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {Cartesian2} [result] The object into which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
-         */
-        Cartesian2.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new Cartesian2();
-            }
-            result.x = array[startingIndex++];
-            result.y = array[startingIndex];
-            return result;
-        };
-
-        /**
-         * Flattens an array of Cartesian2s into and array of components.
-         *
-         * @param {Cartesian2[]} array The array of cartesians to pack.
-         * @param {Number[]} [result] The array onto which to store the result. If this is a typed array, it must have array.length * 2 components, else a {@link DeveloperError} will be thrown. If it is a regular array, it will be resized to have (array.length * 2) elements.
-
-         * @returns {Number[]} The packed array.
-         */
-        Cartesian2.packArray = function(array, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            var length = array.length;
-            var resultLength = length * 2;
-            if (!when.defined(result)) {
-                result = new Array(resultLength);
-            } else if (!Array.isArray(result) && result.length !== resultLength) {
-                throw new Check.DeveloperError('If result is a typed array, it must have exactly array.length * 2 elements');
-            } else if (result.length !== resultLength) {
-                result.length = resultLength;
-            }
-
-            for (var i = 0; i < length; ++i) {
-                Cartesian2.pack(array[i], result, i * 2);
-            }
-            return result;
-        };
-
-        /**
-         * Unpacks an array of cartesian components into and array of Cartesian2s.
-         *
-         * @param {Number[]} array The array of components to unpack.
-         * @param {Cartesian2[]} [result] The array onto which to store the result.
-         * @returns {Cartesian2[]} The unpacked array.
-         */
-        Cartesian2.unpackArray = function(array, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            Check.Check.typeOf.number.greaterThanOrEquals('array.length', array.length, 2);
-            if (array.length % 2 !== 0) {
-                throw new Check.DeveloperError('array length must be a multiple of 2.');
-            }
-            //>>includeEnd('debug');
-
-            var length = array.length;
-            if (!when.defined(result)) {
-                result = new Array(length / 2);
-            } else {
-                result.length = length / 2;
-            }
-
-            for (var i = 0; i < length; i += 2) {
-                var index = i / 2;
-                result[index] = Cartesian2.unpack(array, i, result[index]);
-            }
-            return result;
-        };
-
-        /**
-         * Creates a Cartesian2 from two consecutive elements in an array.
-         * @function
-         *
-         * @param {Number[]} array The array whose two consecutive elements correspond to the x and y components, respectively.
-         * @param {Number} [startingIndex=0] The offset into the array of the first element, which corresponds to the x component.
-         * @param {Cartesian2} [result] The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
-         *
-         * @example
-         * // Create a Cartesian2 with (1.0, 2.0)
-         * var v = [1.0, 2.0];
-         * var p = Cesium.Cartesian2.fromArray(v);
-         *
-         * // Create a Cartesian2 with (1.0, 2.0) using an offset into an array
-         * var v2 = [0.0, 0.0, 1.0, 2.0];
-         * var p2 = Cesium.Cartesian2.fromArray(v2, 2);
-         */
-        Cartesian2.fromArray = Cartesian2.unpack;
-
-        /**
-         * Computes the value of the maximum component for the supplied Cartesian.
-         *
-         * @param {Cartesian2} cartesian The cartesian to use.
-         * @returns {Number} The value of the maximum component.
-         */
-        Cartesian2.maximumComponent = function(cartesian) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            return Math.max(cartesian.x, cartesian.y);
-        };
-
-        /**
-         * Computes the value of the minimum component for the supplied Cartesian.
-         *
-         * @param {Cartesian2} cartesian The cartesian to use.
-         * @returns {Number} The value of the minimum component.
-         */
-        Cartesian2.minimumComponent = function(cartesian) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            return Math.min(cartesian.x, cartesian.y);
-        };
-
-        /**
-         * Compares two Cartesians and computes a Cartesian which contains the minimum components of the supplied Cartesians.
-         *
-         * @param {Cartesian2} first A cartesian to compare.
-         * @param {Cartesian2} second A cartesian to compare.
-         * @param {Cartesian2} result The object into which to store the result.
-         * @returns {Cartesian2} A cartesian with the minimum components.
-         */
-        Cartesian2.minimumByComponent = function(first, second, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('first', first);
-            Check.Check.typeOf.object('second', second);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = Math.min(first.x, second.x);
-            result.y = Math.min(first.y, second.y);
-
-            return result;
-        };
-
-        /**
-         * Compares two Cartesians and computes a Cartesian which contains the maximum components of the supplied Cartesians.
-         *
-         * @param {Cartesian2} first A cartesian to compare.
-         * @param {Cartesian2} second A cartesian to compare.
-         * @param {Cartesian2} result The object into which to store the result.
-         * @returns {Cartesian2} A cartesian with the maximum components.
-         */
-        Cartesian2.maximumByComponent = function(first, second, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('first', first);
-            Check.Check.typeOf.object('second', second);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = Math.max(first.x, second.x);
-            result.y = Math.max(first.y, second.y);
-            return result;
-        };
-
-        /**
-         * Computes the provided Cartesian's squared magnitude.
-         *
-         * @param {Cartesian2} cartesian The Cartesian instance whose squared magnitude is to be computed.
-         * @returns {Number} The squared magnitude.
-         */
-        Cartesian2.magnitudeSquared = function(cartesian) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            return cartesian.x * cartesian.x + cartesian.y * cartesian.y;
-        };
-
-        /**
-         * Computes the Cartesian's magnitude (length).
-         *
-         * @param {Cartesian2} cartesian The Cartesian instance whose magnitude is to be computed.
-         * @returns {Number} The magnitude.
-         */
-        Cartesian2.magnitude = function(cartesian) {
-            return Math.sqrt(Cartesian2.magnitudeSquared(cartesian));
-        };
-
-        var distanceScratch$1 = new Cartesian2();
-
-        /**
-         * Computes the distance between two points.
-         *
-         * @param {Cartesian2} left The first point to compute the distance from.
-         * @param {Cartesian2} right The second point to compute the distance to.
-         * @returns {Number} The distance between two points.
-         *
-         * @example
-         * // Returns 1.0
-         * var d = Cesium.Cartesian2.distance(new Cesium.Cartesian2(1.0, 0.0), new Cesium.Cartesian2(2.0, 0.0));
-         */
-        Cartesian2.distance = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            Cartesian2.subtract(left, right, distanceScratch$1);
-            return Cartesian2.magnitude(distanceScratch$1);
-        };
-
-        /**
-         * Computes the squared distance between two points.  Comparing squared distances
-         * using this function is more efficient than comparing distances using {@link Cartesian2#distance}.
-         *
-         * @param {Cartesian2} left The first point to compute the distance from.
-         * @param {Cartesian2} right The second point to compute the distance to.
-         * @returns {Number} The distance between two points.
-         *
-         * @example
-         * // Returns 4.0, not 2.0
-         * var d = Cesium.Cartesian2.distance(new Cesium.Cartesian2(1.0, 0.0), new Cesium.Cartesian2(3.0, 0.0));
-         */
-        Cartesian2.distanceSquared = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            Cartesian2.subtract(left, right, distanceScratch$1);
-            return Cartesian2.magnitudeSquared(distanceScratch$1);
-        };
-
-        /**
-         * Computes the normalized form of the supplied Cartesian.
-         *
-         * @param {Cartesian2} cartesian The Cartesian to be normalized.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Cartesian2.normalize = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var magnitude = Cartesian2.magnitude(cartesian);
-
-            result.x = cartesian.x / magnitude;
-            result.y = cartesian.y / magnitude;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (isNaN(result.x) || isNaN(result.y)) {
-                throw new Check.DeveloperError('normalized result is not a number');
-            }
-            //>>includeEnd('debug');
-
-            return result;
-        };
-
-        /**
-         * Computes the dot (scalar) product of two Cartesians.
-         *
-         * @param {Cartesian2} left The first Cartesian.
-         * @param {Cartesian2} right The second Cartesian.
-         * @returns {Number} The dot product.
-         */
-        Cartesian2.dot = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            return left.x * right.x + left.y * right.y;
-        };
-
-        /**
-         * Computes the componentwise product of two Cartesians.
-         *
-         * @param {Cartesian2} left The first Cartesian.
-         * @param {Cartesian2} right The second Cartesian.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Cartesian2.multiplyComponents = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = left.x * right.x;
-            result.y = left.y * right.y;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise quotient of two Cartesians.
-         *
-         * @param {Cartesian2} left The first Cartesian.
-         * @param {Cartesian2} right The second Cartesian.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Cartesian2.divideComponents = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = left.x / right.x;
-            result.y = left.y / right.y;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise sum of two Cartesians.
-         *
-         * @param {Cartesian2} left The first Cartesian.
-         * @param {Cartesian2} right The second Cartesian.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Cartesian2.add = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = left.x + right.x;
-            result.y = left.y + right.y;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise difference of two Cartesians.
-         *
-         * @param {Cartesian2} left The first Cartesian.
-         * @param {Cartesian2} right The second Cartesian.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Cartesian2.subtract = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = left.x - right.x;
-            result.y = left.y - right.y;
-            return result;
-        };
-
-        /**
-         * Multiplies the provided Cartesian componentwise by the provided scalar.
-         *
-         * @param {Cartesian2} cartesian The Cartesian to be scaled.
-         * @param {Number} scalar The scalar to multiply with.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Cartesian2.multiplyByScalar = function(cartesian, scalar, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.number('scalar', scalar);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = cartesian.x * scalar;
-            result.y = cartesian.y * scalar;
-            return result;
-        };
-
-        /**
-         * Divides the provided Cartesian componentwise by the provided scalar.
-         *
-         * @param {Cartesian2} cartesian The Cartesian to be divided.
-         * @param {Number} scalar The scalar to divide by.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Cartesian2.divideByScalar = function(cartesian, scalar, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.number('scalar', scalar);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = cartesian.x / scalar;
-            result.y = cartesian.y / scalar;
-            return result;
-        };
-
-        /**
-         * Negates the provided Cartesian.
-         *
-         * @param {Cartesian2} cartesian The Cartesian to be negated.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Cartesian2.negate = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = -cartesian.x;
-            result.y = -cartesian.y;
-            return result;
-        };
-
-        /**
-         * Computes the absolute value of the provided Cartesian.
-         *
-         * @param {Cartesian2} cartesian The Cartesian whose absolute value is to be computed.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Cartesian2.abs = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = Math.abs(cartesian.x);
-            result.y = Math.abs(cartesian.y);
-            return result;
-        };
-
-        var lerpScratch$1 = new Cartesian2();
-        /**
-         * Computes the linear interpolation or extrapolation at t using the provided cartesians.
-         *
-         * @param {Cartesian2} start The value corresponding to t at 0.0.
-         * @param {Cartesian2} end The value corresponding to t at 1.0.
-         * @param {Number} t The point along t at which to interpolate.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Cartesian2.lerp = function(start, end, t, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('start', start);
-            Check.Check.typeOf.object('end', end);
-            Check.Check.typeOf.number('t', t);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            Cartesian2.multiplyByScalar(end, t, lerpScratch$1);
-            result = Cartesian2.multiplyByScalar(start, 1.0 - t, result);
-            return Cartesian2.add(lerpScratch$1, result, result);
-        };
-
-        var angleBetweenScratch$1 = new Cartesian2();
-        var angleBetweenScratch2$1 = new Cartesian2();
-        /**
-         * Returns the angle, in radians, between the provided Cartesians.
-         *
-         * @param {Cartesian2} left The first Cartesian.
-         * @param {Cartesian2} right The second Cartesian.
-         * @returns {Number} The angle between the Cartesians.
-         */
-        Cartesian2.angleBetween = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            Cartesian2.normalize(left, angleBetweenScratch$1);
-            Cartesian2.normalize(right, angleBetweenScratch2$1);
-            return _Math.CesiumMath.acosClamped(Cartesian2.dot(angleBetweenScratch$1, angleBetweenScratch2$1));
-        };
-
-        var mostOrthogonalAxisScratch$1 = new Cartesian2();
-        /**
-         * Returns the axis that is most orthogonal to the provided Cartesian.
-         *
-         * @param {Cartesian2} cartesian The Cartesian on which to find the most orthogonal axis.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The most orthogonal axis.
-         */
-        Cartesian2.mostOrthogonalAxis = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var f = Cartesian2.normalize(cartesian, mostOrthogonalAxisScratch$1);
-            Cartesian2.abs(f, f);
-
-            if (f.x <= f.y) {
-                result = Cartesian2.clone(Cartesian2.UNIT_X, result);
-            } else {
-                result = Cartesian2.clone(Cartesian2.UNIT_Y, result);
-            }
-
-            return result;
-        };
-
-        /**
-         * Compares the provided Cartesians componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Cartesian2} [left] The first Cartesian.
-         * @param {Cartesian2} [right] The second Cartesian.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        Cartesian2.equals = function(left, right) {
-            return (left === right) ||
-                   ((when.defined(left)) &&
-                    (when.defined(right)) &&
-                    (left.x === right.x) &&
-                    (left.y === right.y));
-        };
-
-        /**
-         * @private
-         */
-        Cartesian2.equalsArray = function(cartesian, array, offset) {
-            return cartesian.x === array[offset] &&
-                   cartesian.y === array[offset + 1];
-        };
-
-        /**
-         * Compares the provided Cartesians componentwise and returns
-         * <code>true</code> if they pass an absolute or relative tolerance test,
-         * <code>false</code> otherwise.
-         *
-         * @param {Cartesian2} [left] The first Cartesian.
-         * @param {Cartesian2} [right] The second Cartesian.
-         * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-         * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-         * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Cartesian2.equalsEpsilon = function(left, right, relativeEpsilon, absoluteEpsilon) {
-            return (left === right) ||
-                   (when.defined(left) &&
-                    when.defined(right) &&
-                    _Math.CesiumMath.equalsEpsilon(left.x, right.x, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(left.y, right.y, relativeEpsilon, absoluteEpsilon));
-        };
-
-        /**
-         * An immutable Cartesian2 instance initialized to (0.0, 0.0).
-         *
-         * @type {Cartesian2}
-         * @constant
-         */
-        Cartesian2.ZERO = Object.freeze(new Cartesian2(0.0, 0.0));
-
-        /**
-         * An immutable Cartesian2 instance initialized to (1.0, 0.0).
-         *
-         * @type {Cartesian2}
-         * @constant
-         */
-        Cartesian2.UNIT_X = Object.freeze(new Cartesian2(1.0, 0.0));
-
-        /**
-         * An immutable Cartesian2 instance initialized to (0.0, 1.0).
-         *
-         * @type {Cartesian2}
-         * @constant
-         */
-        Cartesian2.UNIT_Y = Object.freeze(new Cartesian2(0.0, 1.0));
-
-        /**
-         * Duplicates this Cartesian2 instance.
-         *
-         * @param {Cartesian2} [result] The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
-         */
-        Cartesian2.prototype.clone = function(result) {
-            return Cartesian2.clone(this, result);
-        };
-
-        /**
-         * Compares this Cartesian against the provided Cartesian componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Cartesian2} [right] The right hand side Cartesian.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        Cartesian2.prototype.equals = function(right) {
-            return Cartesian2.equals(this, right);
-        };
-
-        /**
-         * Compares this Cartesian against the provided Cartesian componentwise and returns
-         * <code>true</code> if they pass an absolute or relative tolerance test,
-         * <code>false</code> otherwise.
-         *
-         * @param {Cartesian2} [right] The right hand side Cartesian.
-         * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-         * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-         * @returns {Boolean} <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Cartesian2.prototype.equalsEpsilon = function(right, relativeEpsilon, absoluteEpsilon) {
-            return Cartesian2.equalsEpsilon(this, right, relativeEpsilon, absoluteEpsilon);
-        };
-
-        /**
-         * Creates a string representing this Cartesian in the format '(x, y)'.
-         *
-         * @returns {String} A string representing the provided Cartesian in the format '(x, y)'.
-         */
-        Cartesian2.prototype.toString = function() {
-            return '(' + this.x + ', ' + this.y + ')';
-        };
-
-    exports.Cartesian2 = Cartesian2;
-    exports.Cartesian3 = Cartesian3;
-    exports.Cartographic = Cartographic;
-    exports.Ellipsoid = Ellipsoid;
-    exports.Rectangle = Rectangle;
-
-});
diff --git a/libs/supermap/Workers/Check-70bec281.js b/libs/supermap/Workers/Check-70bec281.js
deleted file mode 100644
index f33f1c6..0000000
--- a/libs/supermap/Workers/Check-70bec281.js
+++ /dev/null
@@ -1,274 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60'], function (exports, when) { 'use strict';
-
-    /**
-         * Constructs an exception object that is thrown due to a developer error, e.g., invalid argument,
-         * argument out of range, etc.  This exception should only be thrown during development;
-         * it usually indicates a bug in the calling code.  This exception should never be
-         * caught; instead the calling code should strive not to generate it.
-         * <br /><br />
-         * On the other hand, a {@link RuntimeError} indicates an exception that may
-         * be thrown at runtime, e.g., out of memory, that the calling code should be prepared
-         * to catch.
-         *
-         * @alias DeveloperError
-         * @constructor
-         * @extends Error
-         *
-         * @param {String} [message] The error message for this exception.
-         *
-         * @see RuntimeError
-         */
-        function DeveloperError(message) {
-            /**
-             * 'DeveloperError' indicating that this exception was thrown due to a developer error.
-             * @type {String}
-             * @readonly
-             */
-            this.name = 'DeveloperError';
-
-            /**
-             * The explanation for why this exception was thrown.
-             * @type {String}
-             * @readonly
-             */
-            this.message = message;
-
-            //Browsers such as IE don't have a stack property until you actually throw the error.
-            var stack;
-            try {
-                throw new Error();
-            } catch (e) {
-                stack = e.stack;
-            }
-
-            /**
-             * The stack trace of this exception, if available.
-             * @type {String}
-             * @readonly
-             */
-            this.stack = stack;
-        }
-
-        if (when.defined(Object.create)) {
-            DeveloperError.prototype = Object.create(Error.prototype);
-            DeveloperError.prototype.constructor = DeveloperError;
-        }
-
-        DeveloperError.prototype.toString = function() {
-            var str = this.name + ': ' + this.message;
-
-            if (when.defined(this.stack)) {
-                str += '\n' + this.stack.toString();
-            }
-
-            return str;
-        };
-
-        /**
-         * @private
-         */
-        DeveloperError.throwInstantiationError = function() {
-            throw new DeveloperError('This function defines an interface and should not be called directly.');
-        };
-
-    /**
-         * Contains functions for checking that supplied arguments are of a specified type
-         * or meet specified conditions
-         * @private
-         */
-        var Check = {};
-
-        /**
-         * Contains type checking functions, all using the typeof operator
-         */
-        Check.typeOf = {};
-
-        function getUndefinedErrorMessage(name) {
-            return name + ' is required, actual value was undefined';
-        }
-
-        function getFailedTypeErrorMessage(actual, expected, name) {
-            return 'Expected ' + name + ' to be typeof ' + expected + ', actual typeof was ' + actual;
-        }
-
-        /**
-         * Throws if test is not defined
-         *
-         * @param {String} name The name of the variable being tested
-         * @param {*} test The value that is to be checked
-         * @exception {DeveloperError} test must be defined
-         */
-        Check.defined = function (name, test) {
-            if (!when.defined(test)) {
-                throw new DeveloperError(getUndefinedErrorMessage(name));
-            }
-        };
-
-        /**
-         * Throws if test is not typeof 'function'
-         *
-         * @param {String} name The name of the variable being tested
-         * @param {*} test The value to test
-         * @exception {DeveloperError} test must be typeof 'function'
-         */
-        Check.typeOf.func = function (name, test) {
-            if (typeof test !== 'function') {
-                throw new DeveloperError(getFailedTypeErrorMessage(typeof test, 'function', name));
-            }
-        };
-
-        /**
-         * Throws if test is not typeof 'string'
-         *
-         * @param {String} name The name of the variable being tested
-         * @param {*} test The value to test
-         * @exception {DeveloperError} test must be typeof 'string'
-         */
-        Check.typeOf.string = function (name, test) {
-            if (typeof test !== 'string') {
-                throw new DeveloperError(getFailedTypeErrorMessage(typeof test, 'string', name));
-            }
-        };
-
-        /**
-         * Throws if test is not typeof 'number'
-         *
-         * @param {String} name The name of the variable being tested
-         * @param {*} test The value to test
-         * @exception {DeveloperError} test must be typeof 'number'
-         */
-        Check.typeOf.number = function (name, test) {
-            if (typeof test !== 'number') {
-                throw new DeveloperError(getFailedTypeErrorMessage(typeof test, 'number', name));
-            }
-        };
-
-        /**
-         * Throws if test is not typeof 'number' and less than limit
-         *
-         * @param {String} name The name of the variable being tested
-         * @param {*} test The value to test
-         * @param {Number} limit The limit value to compare against
-         * @exception {DeveloperError} test must be typeof 'number' and less than limit
-         */
-        Check.typeOf.number.lessThan = function (name, test, limit) {
-            Check.typeOf.number(name, test);
-            if (test >= limit) {
-                throw new DeveloperError('Expected ' + name + ' to be less than ' + limit + ', actual value was ' + test);
-            }
-        };
-
-        /**
-         * Throws if test is not typeof 'number' and less than or equal to limit
-         *
-         * @param {String} name The name of the variable being tested
-         * @param {*} test The value to test
-         * @param {Number} limit The limit value to compare against
-         * @exception {DeveloperError} test must be typeof 'number' and less than or equal to limit
-         */
-        Check.typeOf.number.lessThanOrEquals = function (name, test, limit) {
-            Check.typeOf.number(name, test);
-            if (test > limit) {
-                throw new DeveloperError('Expected ' + name + ' to be less than or equal to ' + limit + ', actual value was ' + test);
-            }
-        };
-
-        /**
-         * Throws if test is not typeof 'number' and greater than limit
-         *
-         * @param {String} name The name of the variable being tested
-         * @param {*} test The value to test
-         * @param {Number} limit The limit value to compare against
-         * @exception {DeveloperError} test must be typeof 'number' and greater than limit
-         */
-        Check.typeOf.number.greaterThan = function (name, test, limit) {
-            Check.typeOf.number(name, test);
-            if (test <= limit) {
-                throw new DeveloperError('Expected ' + name + ' to be greater than ' + limit + ', actual value was ' + test);
-            }
-        };
-
-        /**
-         * Throws if test is not typeof 'number' and greater than or equal to limit
-         *
-         * @param {String} name The name of the variable being tested
-         * @param {*} test The value to test
-         * @param {Number} limit The limit value to compare against
-         * @exception {DeveloperError} test must be typeof 'number' and greater than or equal to limit
-         */
-        Check.typeOf.number.greaterThanOrEquals = function (name, test, limit) {
-            Check.typeOf.number(name, test);
-            if (test < limit) {
-                throw new DeveloperError('Expected ' + name + ' to be greater than or equal to' + limit + ', actual value was ' + test);
-            }
-        };
-
-        /**
-         * Throws if test is not typeof 'object'
-         *
-         * @param {String} name The name of the variable being tested
-         * @param {*} test The value to test
-         * @exception {DeveloperError} test must be typeof 'object'
-         */
-        Check.typeOf.object = function (name, test) {
-            if (typeof test !== 'object') {
-                throw new DeveloperError(getFailedTypeErrorMessage(typeof test, 'object', name));
-            }
-        };
-
-        /**
-         * Throws if test is not typeof 'boolean'
-         *
-         * @param {String} name The name of the variable being tested
-         * @param {*} test The value to test
-         * @exception {DeveloperError} test must be typeof 'boolean'
-         */
-        Check.typeOf.bool = function (name, test) {
-            if (typeof test !== 'boolean') {
-                throw new DeveloperError(getFailedTypeErrorMessage(typeof test, 'boolean', name));
-            }
-        };
-
-        /**
-         * Throws if test1 and test2 is not typeof 'number' and not equal in value
-         *
-         * @param {String} name1 The name of the first variable being tested
-         * @param {String} name2 The name of the second variable being tested against
-         * @param {*} test1 The value to test
-         * @param {*} test2 The value to test against
-         * @exception {DeveloperError} test1 and test2 should be type of 'number' and be equal in value
-         */
-        Check.typeOf.number.equals = function (name1, name2, test1, test2) {
-            Check.typeOf.number(name1, test1);
-            Check.typeOf.number(name2, test2);
-            if (test1 !== test2) {
-                throw new DeveloperError(name1 + ' must be equal to ' + name2 + ', the actual values are ' + test1 + ' and ' + test2);
-            }
-        };
-
-    exports.Check = Check;
-    exports.DeveloperError = DeveloperError;
-
-});
diff --git a/libs/supermap/Workers/Color-69f1845f.js b/libs/supermap/Workers/Color-69f1845f.js
deleted file mode 100644
index b809fe5..0000000
--- a/libs/supermap/Workers/Color-69f1845f.js
+++ /dev/null
@@ -1,2225 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './FeatureDetection-7bd32c34'], function (exports, when, Check, _Math, FeatureDetection) { 'use strict';
-
-    function hue2rgb(m1, m2, h) {
-            if (h < 0) {
-                h += 1;
-            }
-            if (h > 1) {
-                h -= 1;
-            }
-            if (h * 6 < 1) {
-                return m1 + (m2 - m1) * 6 * h;
-            }
-            if (h * 2 < 1) {
-                return m2;
-            }
-            if (h * 3 < 2) {
-                return m1 + (m2 - m1) * (2 / 3 - h) * 6;
-            }
-            return m1;
-        }
-
-        /**
-         * A color, specified using red, green, blue, and alpha values,
-         * which range from <code>0</code> (no intensity) to <code>1.0</code> (full intensity).
-         * @param {Number} [red=1.0] The red component.
-         * @param {Number} [green=1.0] The green component.
-         * @param {Number} [blue=1.0] The blue component.
-         * @param {Number} [alpha=1.0] The alpha component.
-         *
-         * @constructor
-         * @alias Color
-         *
-         * @see Packable
-         */
-        function Color(red, green, blue, alpha) {
-            /**
-             * The red component.
-             * @type {Number}
-             * @default 1.0
-             */
-            this.red = when.defaultValue(red, 1.0);
-            /**
-             * The green component.
-             * @type {Number}
-             * @default 1.0
-             */
-            this.green = when.defaultValue(green, 1.0);
-            /**
-             * The blue component.
-             * @type {Number}
-             * @default 1.0
-             */
-            this.blue = when.defaultValue(blue, 1.0);
-            /**
-             * The alpha component.
-             * @type {Number}
-             * @default 1.0
-             */
-            this.alpha = when.defaultValue(alpha, 1.0);
-        }
-
-        /**
-         * Creates a Color instance from a {@link Cartesian4}. <code>x</code>, <code>y</code>, <code>z</code>,
-         * and <code>w</code> map to <code>red</code>, <code>green</code>, <code>blue</code>, and <code>alpha</code>, respectively.
-         *
-         * @param {Cartesian4} cartesian The source cartesian.
-         * @param {Color} [result] The object onto which to store the result.
-         * @returns {Color} The modified result parameter or a new Color instance if one was not provided.
-         */
-        Color.fromCartesian4 = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Color(cartesian.x, cartesian.y, cartesian.z, cartesian.w);
-            }
-
-            result.red = cartesian.x;
-            result.green = cartesian.y;
-            result.blue = cartesian.z;
-            result.alpha = cartesian.w;
-            return result;
-        };
-
-        /**
-         * Creates a new Color specified using red, green, blue, and alpha values
-         * that are in the range of 0 to 255, converting them internally to a range of 0.0 to 1.0.
-         *
-         * @param {Number} [red=255] The red component.
-         * @param {Number} [green=255] The green component.
-         * @param {Number} [blue=255] The blue component.
-         * @param {Number} [alpha=255] The alpha component.
-         * @param {Color} [result] The object onto which to store the result.
-         * @returns {Color} The modified result parameter or a new Color instance if one was not provided.
-         */
-        Color.fromBytes = function(red, green, blue, alpha, result) {
-            red = Color.byteToFloat(when.defaultValue(red, 255.0));
-            green = Color.byteToFloat(when.defaultValue(green, 255.0));
-            blue = Color.byteToFloat(when.defaultValue(blue, 255.0));
-            alpha = Color.byteToFloat(when.defaultValue(alpha, 255.0));
-
-            if (!when.defined(result)) {
-                return new Color(red, green, blue, alpha);
-            }
-
-            result.red = red;
-            result.green = green;
-            result.blue = blue;
-            result.alpha = alpha;
-            return result;
-        };
-
-        /**
-         * Creates a new Color that has the same red, green, and blue components
-         * of the specified color, but with the specified alpha value.
-         *
-         * @param {Color} color The base color
-         * @param {Number} alpha The new alpha component.
-         * @param {Color} [result] The object onto which to store the result.
-         * @returns {Color} The modified result parameter or a new Color instance if one was not provided.
-         *
-         * @example var translucentRed = Cesium.Color.fromAlpha(Cesium.Color.RED, 0.9);
-         */
-        Color.fromAlpha = function(color, alpha, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('color', color);
-            Check.Check.typeOf.number('alpha', alpha);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Color(color.red, color.green, color.blue, alpha);
-            }
-
-            result.red = color.red;
-            result.green = color.green;
-            result.blue = color.blue;
-            result.alpha = alpha;
-            return result;
-        };
-
-        var scratchArrayBuffer;
-        var scratchUint32Array;
-        var scratchUint8Array;
-        if (FeatureDetection.FeatureDetection.supportsTypedArrays()) {
-            scratchArrayBuffer = new ArrayBuffer(4);
-            scratchUint32Array = new Uint32Array(scratchArrayBuffer);
-            scratchUint8Array = new Uint8Array(scratchArrayBuffer);
-        }
-
-        /**
-         * Creates a new Color from a single numeric unsigned 32-bit RGBA value, using the endianness
-         * of the system.
-         *
-         * @param {Number} rgba A single numeric unsigned 32-bit RGBA value.
-         * @param {Color} [result] The object to store the result in, if undefined a new instance will be created.
-         * @returns {Color} The color object.
-         *
-         * @example
-         * var color = Cesium.Color.fromRgba(0x67ADDFFF);
-         *
-         * @see Color#toRgba
-         */
-        Color.fromRgba = function(rgba, result) {
-            // scratchUint32Array and scratchUint8Array share an underlying array buffer
-            scratchUint32Array[0] = rgba;
-            return Color.fromBytes(scratchUint8Array[0], scratchUint8Array[1], scratchUint8Array[2], scratchUint8Array[3], result);
-        };
-
-        Color.byteToRgba = function(red, green, blue, alpha) {
-            scratchUint8Array[0] = red;
-            scratchUint8Array[1] = green;
-            scratchUint8Array[2] = blue;
-            scratchUint8Array[3] = alpha;
-            return scratchUint32Array[0];
-        };
-
-        /**
-         * Creates a Color instance from hue, saturation, and lightness.
-         *
-         * @param {Number} [hue=0] The hue angle 0...1
-         * @param {Number} [saturation=0] The saturation value 0...1
-         * @param {Number} [lightness=0] The lightness value 0...1
-         * @param {Number} [alpha=1.0] The alpha component 0...1
-         * @param {Color} [result] The object to store the result in, if undefined a new instance will be created.
-         * @returns {Color} The color object.
-         *
-         * @see {@link http://www.w3.org/TR/css3-color/#hsl-color|CSS color values}
-         */
-        Color.fromHsl = function(hue, saturation, lightness, alpha, result) {
-            hue = when.defaultValue(hue, 0.0) % 1.0;
-            saturation = when.defaultValue(saturation, 0.0);
-            lightness = when.defaultValue(lightness, 0.0);
-            alpha = when.defaultValue(alpha, 1.0);
-
-            var red = lightness;
-            var green = lightness;
-            var blue = lightness;
-
-            if (saturation !== 0) {
-                var m2;
-                if (lightness < 0.5) {
-                    m2 = lightness * (1 + saturation);
-                } else {
-                    m2 = lightness + saturation - lightness * saturation;
-                }
-
-                var m1 = 2.0 * lightness - m2;
-                red = hue2rgb(m1, m2, hue + 1 / 3);
-                green = hue2rgb(m1, m2, hue);
-                blue = hue2rgb(m1, m2, hue - 1 / 3);
-            }
-
-            if (!when.defined(result)) {
-                return new Color(red, green, blue, alpha);
-            }
-
-            result.red = red;
-            result.green = green;
-            result.blue = blue;
-            result.alpha = alpha;
-            return result;
-        };
-
-        /**
-         * Creates a random color using the provided options. For reproducible random colors, you should
-         * call {@link CesiumMath#setRandomNumberSeed} once at the beginning of your application.
-         *
-         * @param {Object} [options] Object with the following properties:
-         * @param {Number} [options.red] If specified, the red component to use instead of a randomized value.
-         * @param {Number} [options.minimumRed=0.0] The maximum red value to generate if none was specified.
-         * @param {Number} [options.maximumRed=1.0] The minimum red value to generate if none was specified.
-         * @param {Number} [options.green] If specified, the green component to use instead of a randomized value.
-         * @param {Number} [options.minimumGreen=0.0] The maximum green value to generate if none was specified.
-         * @param {Number} [options.maximumGreen=1.0] The minimum green value to generate if none was specified.
-         * @param {Number} [options.blue] If specified, the blue component to use instead of a randomized value.
-         * @param {Number} [options.minimumBlue=0.0] The maximum blue value to generate if none was specified.
-         * @param {Number} [options.maximumBlue=1.0] The minimum blue value to generate if none was specified.
-         * @param {Number} [options.alpha] If specified, the alpha component to use instead of a randomized value.
-         * @param {Number} [options.minimumAlpha=0.0] The maximum alpha value to generate if none was specified.
-         * @param {Number} [options.maximumAlpha=1.0] The minimum alpha value to generate if none was specified.
-         * @param {Color} [result] The object to store the result in, if undefined a new instance will be created.
-         * @returns {Color} The modified result parameter or a new instance if result was undefined.
-         *
-         * @exception {DeveloperError} minimumRed must be less than or equal to maximumRed.
-         * @exception {DeveloperError} minimumGreen must be less than or equal to maximumGreen.
-         * @exception {DeveloperError} minimumBlue must be less than or equal to maximumBlue.
-         * @exception {DeveloperError} minimumAlpha must be less than or equal to maximumAlpha.
-         *
-         * @example
-         * //Create a completely random color
-         * var color = Cesium.Color.fromRandom();
-         *
-         * //Create a random shade of yellow.
-         * var color = Cesium.Color.fromRandom({
-         *     red : 1.0,
-         *     green : 1.0,
-         *     alpha : 1.0
-         * });
-         *
-         * //Create a random bright color.
-         * var color = Cesium.Color.fromRandom({
-         *     minimumRed : 0.75,
-         *     minimumGreen : 0.75,
-         *     minimumBlue : 0.75,
-         *     alpha : 1.0
-         * });
-         */
-        Color.fromRandom = function(options, result) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var red = options.red;
-            if (!when.defined(red)) {
-                var minimumRed = when.defaultValue(options.minimumRed, 0);
-                var maximumRed = when.defaultValue(options.maximumRed, 1.0);
-
-                //>>includeStart('debug', pragmas.debug);
-                Check.Check.typeOf.number.lessThanOrEquals('minimumRed', minimumRed, maximumRed);
-                //>>includeEnd('debug');
-
-                red = minimumRed + (_Math.CesiumMath.nextRandomNumber() * (maximumRed - minimumRed));
-            }
-
-            var green = options.green;
-            if (!when.defined(green)) {
-                var minimumGreen = when.defaultValue(options.minimumGreen, 0);
-                var maximumGreen = when.defaultValue(options.maximumGreen, 1.0);
-
-                //>>includeStart('debug', pragmas.debug);
-                Check.Check.typeOf.number.lessThanOrEquals('minimumGreen', minimumGreen, maximumGreen);
-                //>>includeEnd('debug');
-                green = minimumGreen + (_Math.CesiumMath.nextRandomNumber() * (maximumGreen - minimumGreen));
-            }
-
-            var blue = options.blue;
-            if (!when.defined(blue)) {
-                var minimumBlue = when.defaultValue(options.minimumBlue, 0);
-                var maximumBlue = when.defaultValue(options.maximumBlue, 1.0);
-
-                //>>includeStart('debug', pragmas.debug);
-                Check.Check.typeOf.number.lessThanOrEquals('minimumBlue', minimumBlue, maximumBlue);
-                //>>includeEnd('debug');
-
-                blue = minimumBlue + (_Math.CesiumMath.nextRandomNumber() * (maximumBlue - minimumBlue));
-            }
-
-            var alpha = options.alpha;
-            if (!when.defined(alpha)) {
-                var minimumAlpha = when.defaultValue(options.minimumAlpha, 0);
-                var maximumAlpha = when.defaultValue(options.maximumAlpha, 1.0);
-
-                //>>includeStart('debug', pragmas.debug);
-                Check.Check.typeOf.number.lessThanOrEquals('minumumAlpha', minimumAlpha, maximumAlpha);
-                //>>includeEnd('debug');
-
-                alpha = minimumAlpha + (_Math.CesiumMath.nextRandomNumber() * (maximumAlpha - minimumAlpha));
-            }
-
-            if (!when.defined(result)) {
-                return new Color(red, green, blue, alpha);
-            }
-
-            result.red = red;
-            result.green = green;
-            result.blue = blue;
-            result.alpha = alpha;
-            return result;
-        };
-
-        //#rgb
-        var rgbMatcher = /^#([0-9a-f])([0-9a-f])([0-9a-f])$/i;
-        //#rrggbb
-        var rrggbbMatcher = /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i;
-        //rgb(), rgba(), or rgb%()
-        var rgbParenthesesMatcher = /^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i;
-        //hsl(), hsla(), or hsl%()
-        var hslParenthesesMatcher = /^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;
-
-        /**
-         * Creates a Color instance from a CSS color value.
-         *
-         * @param {String} color The CSS color value in #rgb, #rrggbb, rgb(), rgba(), hsl(), or hsla() format.
-         * @param {Color} [result] The object to store the result in, if undefined a new instance will be created.
-         * @returns {Color} The color object, or undefined if the string was not a valid CSS color.
-         *
-         *
-         * @example
-         * var cesiumBlue = Cesium.Color.fromCssColorString('#67ADDF');
-         * var green = Cesium.Color.fromCssColorString('green');
-         *
-         * @see {@link http://www.w3.org/TR/css3-color|CSS color values}
-         */
-        Color.fromCssColorString = function(color, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.string('color', color);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Color();
-            }
-
-            var namedColor = Color[color.toUpperCase()];
-            if (when.defined(namedColor)) {
-                Color.clone(namedColor, result);
-                return result;
-            }
-
-            var matches = rgbMatcher.exec(color);
-            if (matches !== null) {
-                result.red = parseInt(matches[1], 16) / 15;
-                result.green = parseInt(matches[2], 16) / 15.0;
-                result.blue = parseInt(matches[3], 16) / 15.0;
-                result.alpha = 1.0;
-                return result;
-            }
-
-            matches = rrggbbMatcher.exec(color);
-            if (matches !== null) {
-                result.red = parseInt(matches[1], 16) / 255.0;
-                result.green = parseInt(matches[2], 16) / 255.0;
-                result.blue = parseInt(matches[3], 16) / 255.0;
-                result.alpha = 1.0;
-                return result;
-            }
-
-            matches = rgbParenthesesMatcher.exec(color);
-            if (matches !== null) {
-                result.red = parseFloat(matches[1]) / ('%' === matches[1].substr(-1) ? 100.0 : 255.0);
-                result.green = parseFloat(matches[2]) / ('%' === matches[2].substr(-1) ? 100.0 : 255.0);
-                result.blue = parseFloat(matches[3]) / ('%' === matches[3].substr(-1) ? 100.0 : 255.0);
-                result.alpha = parseFloat(when.defaultValue(matches[4], '1.0'));
-                return result;
-            }
-
-            matches = hslParenthesesMatcher.exec(color);
-            if (matches !== null) {
-                return Color.fromHsl(parseFloat(matches[1]) / 360.0,
-                                     parseFloat(matches[2]) / 100.0,
-                                     parseFloat(matches[3]) / 100.0,
-                                     parseFloat(when.defaultValue(matches[4], '1.0')), result);
-            }
-
-            result = undefined;
-            return result;
-        };
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        Color.packedLength = 4;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {Color} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        Color.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-            array[startingIndex++] = value.red;
-            array[startingIndex++] = value.green;
-            array[startingIndex++] = value.blue;
-            array[startingIndex] = value.alpha;
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {Color} [result] The object into which to store the result.
-         * @returns {Color} The modified result parameter or a new Color instance if one was not provided.
-         */
-        Color.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-            if (!when.defined(result)) {
-                result = new Color();
-            }
-            result.red = array[startingIndex++];
-            result.green = array[startingIndex++];
-            result.blue = array[startingIndex++];
-            result.alpha = array[startingIndex];
-            return result;
-        };
-
-        /**
-         * Converts a 'byte' color component in the range of 0 to 255 into
-         * a 'float' color component in the range of 0 to 1.0.
-         *
-         * @param {Number} number The number to be converted.
-         * @returns {Number} The converted number.
-         */
-        Color.byteToFloat = function(number) {
-            return number / 255.0;
-        };
-
-        /**
-         * Converts a 'float' color component in the range of 0 to 1.0 into
-         * a 'byte' color component in the range of 0 to 255.
-         *
-         * @param {Number} number The number to be converted.
-         * @returns {Number} The converted number.
-         */
-        Color.floatToByte = function(number) {
-            return number === 1.0 ? 255.0 : (number * 256.0) | 0;
-        };
-
-        /**
-         * Duplicates a Color.
-         *
-         * @param {Color} color The Color to duplicate.
-         * @param {Color} [result] The object to store the result in, if undefined a new instance will be created.
-         * @returns {Color} The modified result parameter or a new instance if result was undefined. (Returns undefined if color is undefined)
-         */
-        Color.clone = function(color, result) {
-            if (!when.defined(color)) {
-                return undefined;
-            }
-            if (!when.defined(result)) {
-                return new Color(color.red, color.green, color.blue, color.alpha);
-            }
-            result.red = color.red;
-            result.green = color.green;
-            result.blue = color.blue;
-            result.alpha = color.alpha;
-            return result;
-        };
-
-        /**
-         * Returns true if the first Color equals the second color.
-         *
-         * @param {Color} left The first Color to compare for equality.
-         * @param {Color} right The second Color to compare for equality.
-         * @returns {Boolean} <code>true</code> if the Colors are equal; otherwise, <code>false</code>.
-         */
-        Color.equals = function(left, right) {
-            return (left === right) || //
-                   (when.defined(left) && //
-                    when.defined(right) && //
-                    left.red === right.red && //
-                    left.green === right.green && //
-                    left.blue === right.blue && //
-                    left.alpha === right.alpha);
-        };
-
-        /**
-         * @private
-         */
-        Color.equalsArray = function(color, array, offset) {
-            return color.red === array[offset] &&
-                   color.green === array[offset + 1] &&
-                   color.blue === array[offset + 2] &&
-                   color.alpha === array[offset + 3];
-        };
-
-        /**
-         * Returns a duplicate of a Color instance.
-         *
-         * @param {Color} [result] The object to store the result in, if undefined a new instance will be created.
-         * @returns {Color} The modified result parameter or a new instance if result was undefined.
-         */
-        Color.prototype.clone = function(result) {
-            return Color.clone(this, result);
-        };
-
-        /**
-         * Returns true if this Color equals other.
-         *
-         * @param {Color} other The Color to compare for equality.
-         * @returns {Boolean} <code>true</code> if the Colors are equal; otherwise, <code>false</code>.
-         */
-        Color.prototype.equals = function(other) {
-            return Color.equals(this, other);
-        };
-
-        /**
-         * Returns <code>true</code> if this Color equals other componentwise within the specified epsilon.
-         *
-         * @param {Color} other The Color to compare for equality.
-         * @param {Number} [epsilon=0.0] The epsilon to use for equality testing.
-         * @returns {Boolean} <code>true</code> if the Colors are equal within the specified epsilon; otherwise, <code>false</code>.
-         */
-        Color.prototype.equalsEpsilon = function(other, epsilon) {
-            return (this === other) || //
-                   ((when.defined(other)) && //
-                    (Math.abs(this.red - other.red) <= epsilon) && //
-                    (Math.abs(this.green - other.green) <= epsilon) && //
-                    (Math.abs(this.blue - other.blue) <= epsilon) && //
-                    (Math.abs(this.alpha - other.alpha) <= epsilon));
-        };
-
-        /**
-         * Creates a string representing this Color in the format '(red, green, blue, alpha)'.
-         *
-         * @returns {String} A string representing this Color in the format '(red, green, blue, alpha)'.
-         */
-        Color.prototype.toString = function() {
-            return '(' + this.red + ', ' + this.green + ', ' + this.blue + ', ' + this.alpha + ')';
-        };
-
-        /**
-         * Creates a string containing the CSS color value for this color.
-         *
-         * @returns {String} The CSS equivalent of this color.
-         *
-         * @see {@link http://www.w3.org/TR/css3-color/#rgba-color|CSS RGB or RGBA color values}
-         */
-        Color.prototype.toCssColorString = function() {
-            var red = Color.floatToByte(this.red);
-            var green = Color.floatToByte(this.green);
-            var blue = Color.floatToByte(this.blue);
-            if (this.alpha === 1) {
-                return 'rgb(' + red + ',' + green + ',' + blue + ')';
-            }
-            return 'rgba(' + red + ',' + green + ',' + blue + ',' + this.alpha + ')';
-        };
-
-        /**
-         * Converts this color to an array of red, green, blue, and alpha values
-         * that are in the range of 0 to 255.
-         *
-         * @param {Number[]} [result] The array to store the result in, if undefined a new instance will be created.
-         * @returns {Number[]} The modified result parameter or a new instance if result was undefined.
-         */
-        Color.prototype.toBytes = function(result) {
-            var red = Color.floatToByte(this.red);
-            var green = Color.floatToByte(this.green);
-            var blue = Color.floatToByte(this.blue);
-            var alpha = Color.floatToByte(this.alpha);
-
-            if (!when.defined(result)) {
-                return [red, green, blue, alpha];
-            }
-            result[0] = red;
-            result[1] = green;
-            result[2] = blue;
-            result[3] = alpha;
-            return result;
-        };
-
-        /**
-         * Converts this color to a single numeric unsigned 32-bit RGBA value, using the endianness
-         * of the system.
-         *
-         * @returns {Number} A single numeric unsigned 32-bit RGBA value.
-         *
-         *
-         * @example
-         * var rgba = Cesium.Color.BLUE.toRgba();
-         *
-         * @see Color.fromRgba
-         */
-        Color.prototype.toRgba = function() {
-            // scratchUint32Array and scratchUint8Array share an underlying array buffer
-            scratchUint8Array[0] = Color.floatToByte(this.red);
-            scratchUint8Array[1] = Color.floatToByte(this.green);
-            scratchUint8Array[2] = Color.floatToByte(this.blue);
-            scratchUint8Array[3] = Color.floatToByte(this.alpha);
-            return scratchUint32Array[0];
-        };
-
-        /**
-         * Brightens this color by the provided magnitude.
-         *
-         * @param {Number} magnitude A positive number indicating the amount to brighten.
-         * @param {Color} result The object onto which to store the result.
-         * @returns {Color} The modified result parameter.
-         *
-         * @example
-         * var brightBlue = Cesium.Color.BLUE.brighten(0.5, new Cesium.Color());
-         */
-        Color.prototype.brighten = function(magnitude, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('magnitude', magnitude);
-            Check.Check.typeOf.number.greaterThanOrEquals('magnitude', magnitude, 0.0);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            magnitude = (1.0 - magnitude);
-            result.red = 1.0 - ((1.0 - this.red) * magnitude);
-            result.green = 1.0 - ((1.0 - this.green) * magnitude);
-            result.blue = 1.0 - ((1.0 - this.blue) * magnitude);
-            result.alpha = this.alpha;
-            return result;
-        };
-
-        /**
-         * Darkens this color by the provided magnitude.
-         *
-         * @param {Number} magnitude A positive number indicating the amount to darken.
-         * @param {Color} result The object onto which to store the result.
-         * @returns {Color} The modified result parameter.
-         *
-         * @example
-         * var darkBlue = Cesium.Color.BLUE.darken(0.5, new Cesium.Color());
-         */
-        Color.prototype.darken = function(magnitude, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('magnitude', magnitude);
-            Check.Check.typeOf.number.greaterThanOrEquals('magnitude', magnitude, 0.0);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            magnitude = (1.0 - magnitude);
-            result.red = this.red * magnitude;
-            result.green = this.green * magnitude;
-            result.blue = this.blue * magnitude;
-            result.alpha = this.alpha;
-            return result;
-        };
-
-        /**
-         * Creates a new Color that has the same red, green, and blue components
-         * as this Color, but with the specified alpha value.
-         *
-         * @param {Number} alpha The new alpha component.
-         * @param {Color} [result] The object onto which to store the result.
-         * @returns {Color} The modified result parameter or a new Color instance if one was not provided.
-         *
-         * @example var translucentRed = Cesium.Color.RED.withAlpha(0.9);
-         */
-        Color.prototype.withAlpha = function(alpha, result) {
-            return Color.fromAlpha(this, alpha, result);
-        };
-
-        /**
-         * Computes the componentwise sum of two Colors.
-         *
-         * @param {Color} left The first Color.
-         * @param {Color} right The second Color.
-         * @param {Color} result The object onto which to store the result.
-         * @returns {Color} The modified result parameter.
-         */
-        Color.add = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.red = left.red + right.red;
-            result.green = left.green + right.green;
-            result.blue = left.blue + right.blue;
-            result.alpha = left.alpha + right.alpha;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise difference of two Colors.
-         *
-         * @param {Color} left The first Color.
-         * @param {Color} right The second Color.
-         * @param {Color} result The object onto which to store the result.
-         * @returns {Color} The modified result parameter.
-         */
-        Color.subtract = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.red = left.red - right.red;
-            result.green = left.green - right.green;
-            result.blue = left.blue - right.blue;
-            result.alpha = left.alpha - right.alpha;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise product of two Colors.
-         *
-         * @param {Color} left The first Color.
-         * @param {Color} right The second Color.
-         * @param {Color} result The object onto which to store the result.
-         * @returns {Color} The modified result parameter.
-         */
-        Color.multiply = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.red = left.red * right.red;
-            result.green = left.green * right.green;
-            result.blue = left.blue * right.blue;
-            result.alpha = left.alpha * right.alpha;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise quotient of two Colors.
-         *
-         * @param {Color} left The first Color.
-         * @param {Color} right The second Color.
-         * @param {Color} result The object onto which to store the result.
-         * @returns {Color} The modified result parameter.
-         */
-        Color.divide = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.red = left.red / right.red;
-            result.green = left.green / right.green;
-            result.blue = left.blue / right.blue;
-            result.alpha = left.alpha / right.alpha;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise modulus of two Colors.
-         *
-         * @param {Color} left The first Color.
-         * @param {Color} right The second Color.
-         * @param {Color} result The object onto which to store the result.
-         * @returns {Color} The modified result parameter.
-         */
-        Color.mod = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.red = left.red % right.red;
-            result.green = left.green % right.green;
-            result.blue = left.blue % right.blue;
-            result.alpha = left.alpha % right.alpha;
-            return result;
-        };
-
-        /**
-         * Computes the linear interpolation or extrapolation at t between the provided colors.
-         *
-         * @param {Color} start The color corresponding to t at 0.0.
-         * @param {Color} end The color corresponding to t at 1.0.
-         * @param {Number} t The point along t at which to interpolate.
-         * @param {Color} result The object onto which to store the result.
-         * @returns {Color} The modified result parameter.
-         */
-        Color.lerp = function(start, end, t, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('start', start);
-            Check.Check.typeOf.object('end', end);
-            Check.Check.typeOf.number('t', t);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.red = _Math.CesiumMath.lerp(start.red, end.red, t);
-            result.green = _Math.CesiumMath.lerp(start.green, end.green, t);
-            result.blue = _Math.CesiumMath.lerp(start.blue, end.blue, t);
-            result.alpha = _Math.CesiumMath.lerp(start.alpha, end.alpha, t);
-            return result;
-        };
-
-        /**
-         * Multiplies the provided Color componentwise by the provided scalar.
-         *
-         * @param {Color} color The Color to be scaled.
-         * @param {Number} scalar The scalar to multiply with.
-         * @param {Color} result The object onto which to store the result.
-         * @returns {Color} The modified result parameter.
-         */
-        Color.multiplyByScalar = function(color, scalar, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('color', color);
-            Check.Check.typeOf.number('scalar', scalar);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.red = color.red * scalar;
-            result.green = color.green * scalar;
-            result.blue = color.blue * scalar;
-            result.alpha = color.alpha * scalar;
-            return result;
-        };
-
-        /**
-         * Divides the provided Color componentwise by the provided scalar.
-         *
-         * @param {Color} color The Color to be divided.
-         * @param {Number} scalar The scalar to divide with.
-         * @param {Color} result The object onto which to store the result.
-         * @returns {Color} The modified result parameter.
-         */
-        Color.divideByScalar = function(color, scalar, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('color', color);
-            Check.Check.typeOf.number('scalar', scalar);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.red = color.red / scalar;
-            result.green = color.green / scalar;
-            result.blue = color.blue / scalar;
-            result.alpha = color.alpha / scalar;
-            return result;
-        };
-
-        /**
-         * An immutable Color instance initialized to CSS color #F0F8FF
-         * <span class="colorSwath" style="background: #F0F8FF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.ALICEBLUE = Object.freeze(Color.fromCssColorString('#F0F8FF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FAEBD7
-         * <span class="colorSwath" style="background: #FAEBD7;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.ANTIQUEWHITE = Object.freeze(Color.fromCssColorString('#FAEBD7'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #00FFFF
-         * <span class="colorSwath" style="background: #00FFFF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.AQUA = Object.freeze(Color.fromCssColorString('#00FFFF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #7FFFD4
-         * <span class="colorSwath" style="background: #7FFFD4;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.AQUAMARINE = Object.freeze(Color.fromCssColorString('#7FFFD4'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #F0FFFF
-         * <span class="colorSwath" style="background: #F0FFFF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.AZURE = Object.freeze(Color.fromCssColorString('#F0FFFF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #F5F5DC
-         * <span class="colorSwath" style="background: #F5F5DC;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.BEIGE = Object.freeze(Color.fromCssColorString('#F5F5DC'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFE4C4
-         * <span class="colorSwath" style="background: #FFE4C4;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.BISQUE = Object.freeze(Color.fromCssColorString('#FFE4C4'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #000000
-         * <span class="colorSwath" style="background: #000000;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.BLACK = Object.freeze(Color.fromCssColorString('#000000'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFEBCD
-         * <span class="colorSwath" style="background: #FFEBCD;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.BLANCHEDALMOND = Object.freeze(Color.fromCssColorString('#FFEBCD'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #0000FF
-         * <span class="colorSwath" style="background: #0000FF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.BLUE = Object.freeze(Color.fromCssColorString('#0000FF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #8A2BE2
-         * <span class="colorSwath" style="background: #8A2BE2;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.BLUEVIOLET = Object.freeze(Color.fromCssColorString('#8A2BE2'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #A52A2A
-         * <span class="colorSwath" style="background: #A52A2A;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.BROWN = Object.freeze(Color.fromCssColorString('#A52A2A'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #DEB887
-         * <span class="colorSwath" style="background: #DEB887;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.BURLYWOOD = Object.freeze(Color.fromCssColorString('#DEB887'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #5F9EA0
-         * <span class="colorSwath" style="background: #5F9EA0;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.CADETBLUE = Object.freeze(Color.fromCssColorString('#5F9EA0'));
-        /**
-         * An immutable Color instance initialized to CSS color #7FFF00
-         * <span class="colorSwath" style="background: #7FFF00;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.CHARTREUSE = Object.freeze(Color.fromCssColorString('#7FFF00'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #D2691E
-         * <span class="colorSwath" style="background: #D2691E;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.CHOCOLATE = Object.freeze(Color.fromCssColorString('#D2691E'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FF7F50
-         * <span class="colorSwath" style="background: #FF7F50;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.CORAL = Object.freeze(Color.fromCssColorString('#FF7F50'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #6495ED
-         * <span class="colorSwath" style="background: #6495ED;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.CORNFLOWERBLUE = Object.freeze(Color.fromCssColorString('#6495ED'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFF8DC
-         * <span class="colorSwath" style="background: #FFF8DC;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.CORNSILK = Object.freeze(Color.fromCssColorString('#FFF8DC'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #DC143C
-         * <span class="colorSwath" style="background: #DC143C;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.CRIMSON = Object.freeze(Color.fromCssColorString('#DC143C'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #00FFFF
-         * <span class="colorSwath" style="background: #00FFFF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.CYAN = Object.freeze(Color.fromCssColorString('#00FFFF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #00008B
-         * <span class="colorSwath" style="background: #00008B;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKBLUE = Object.freeze(Color.fromCssColorString('#00008B'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #008B8B
-         * <span class="colorSwath" style="background: #008B8B;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKCYAN = Object.freeze(Color.fromCssColorString('#008B8B'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #B8860B
-         * <span class="colorSwath" style="background: #B8860B;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKGOLDENROD = Object.freeze(Color.fromCssColorString('#B8860B'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #A9A9A9
-         * <span class="colorSwath" style="background: #A9A9A9;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKGRAY = Object.freeze(Color.fromCssColorString('#A9A9A9'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #006400
-         * <span class="colorSwath" style="background: #006400;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKGREEN = Object.freeze(Color.fromCssColorString('#006400'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #A9A9A9
-         * <span class="colorSwath" style="background: #A9A9A9;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKGREY = Color.DARKGRAY;
-
-        /**
-         * An immutable Color instance initialized to CSS color #BDB76B
-         * <span class="colorSwath" style="background: #BDB76B;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKKHAKI = Object.freeze(Color.fromCssColorString('#BDB76B'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #8B008B
-         * <span class="colorSwath" style="background: #8B008B;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKMAGENTA = Object.freeze(Color.fromCssColorString('#8B008B'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #556B2F
-         * <span class="colorSwath" style="background: #556B2F;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKOLIVEGREEN = Object.freeze(Color.fromCssColorString('#556B2F'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FF8C00
-         * <span class="colorSwath" style="background: #FF8C00;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKORANGE = Object.freeze(Color.fromCssColorString('#FF8C00'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #9932CC
-         * <span class="colorSwath" style="background: #9932CC;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKORCHID = Object.freeze(Color.fromCssColorString('#9932CC'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #8B0000
-         * <span class="colorSwath" style="background: #8B0000;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKRED = Object.freeze(Color.fromCssColorString('#8B0000'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #E9967A
-         * <span class="colorSwath" style="background: #E9967A;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKSALMON = Object.freeze(Color.fromCssColorString('#E9967A'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #8FBC8F
-         * <span class="colorSwath" style="background: #8FBC8F;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKSEAGREEN = Object.freeze(Color.fromCssColorString('#8FBC8F'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #483D8B
-         * <span class="colorSwath" style="background: #483D8B;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKSLATEBLUE = Object.freeze(Color.fromCssColorString('#483D8B'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #2F4F4F
-         * <span class="colorSwath" style="background: #2F4F4F;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKSLATEGRAY = Object.freeze(Color.fromCssColorString('#2F4F4F'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #2F4F4F
-         * <span class="colorSwath" style="background: #2F4F4F;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKSLATEGREY = Color.DARKSLATEGRAY;
-
-        /**
-         * An immutable Color instance initialized to CSS color #00CED1
-         * <span class="colorSwath" style="background: #00CED1;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKTURQUOISE = Object.freeze(Color.fromCssColorString('#00CED1'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #9400D3
-         * <span class="colorSwath" style="background: #9400D3;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DARKVIOLET = Object.freeze(Color.fromCssColorString('#9400D3'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FF1493
-         * <span class="colorSwath" style="background: #FF1493;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DEEPPINK = Object.freeze(Color.fromCssColorString('#FF1493'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #00BFFF
-         * <span class="colorSwath" style="background: #00BFFF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DEEPSKYBLUE = Object.freeze(Color.fromCssColorString('#00BFFF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #696969
-         * <span class="colorSwath" style="background: #696969;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DIMGRAY = Object.freeze(Color.fromCssColorString('#696969'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #696969
-         * <span class="colorSwath" style="background: #696969;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DIMGREY = Color.DIMGRAY;
-
-        /**
-         * An immutable Color instance initialized to CSS color #1E90FF
-         * <span class="colorSwath" style="background: #1E90FF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.DODGERBLUE = Object.freeze(Color.fromCssColorString('#1E90FF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #B22222
-         * <span class="colorSwath" style="background: #B22222;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.FIREBRICK = Object.freeze(Color.fromCssColorString('#B22222'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFFAF0
-         * <span class="colorSwath" style="background: #FFFAF0;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.FLORALWHITE = Object.freeze(Color.fromCssColorString('#FFFAF0'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #228B22
-         * <span class="colorSwath" style="background: #228B22;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.FORESTGREEN = Object.freeze(Color.fromCssColorString('#228B22'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FF00FF
-         * <span class="colorSwath" style="background: #FF00FF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.FUCHSIA = Object.freeze(Color.fromCssColorString('#FF00FF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #DCDCDC
-         * <span class="colorSwath" style="background: #DCDCDC;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.GAINSBORO = Object.freeze(Color.fromCssColorString('#DCDCDC'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #F8F8FF
-         * <span class="colorSwath" style="background: #F8F8FF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.GHOSTWHITE = Object.freeze(Color.fromCssColorString('#F8F8FF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFD700
-         * <span class="colorSwath" style="background: #FFD700;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.GOLD = Object.freeze(Color.fromCssColorString('#FFD700'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #DAA520
-         * <span class="colorSwath" style="background: #DAA520;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.GOLDENROD = Object.freeze(Color.fromCssColorString('#DAA520'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #808080
-         * <span class="colorSwath" style="background: #808080;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.GRAY = Object.freeze(Color.fromCssColorString('#808080'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #008000
-         * <span class="colorSwath" style="background: #008000;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.GREEN = Object.freeze(Color.fromCssColorString('#008000'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #ADFF2F
-         * <span class="colorSwath" style="background: #ADFF2F;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.GREENYELLOW = Object.freeze(Color.fromCssColorString('#ADFF2F'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #808080
-         * <span class="colorSwath" style="background: #808080;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.GREY = Color.GRAY;
-
-        /**
-         * An immutable Color instance initialized to CSS color #F0FFF0
-         * <span class="colorSwath" style="background: #F0FFF0;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.HONEYDEW = Object.freeze(Color.fromCssColorString('#F0FFF0'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FF69B4
-         * <span class="colorSwath" style="background: #FF69B4;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.HOTPINK = Object.freeze(Color.fromCssColorString('#FF69B4'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #CD5C5C
-         * <span class="colorSwath" style="background: #CD5C5C;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.INDIANRED = Object.freeze(Color.fromCssColorString('#CD5C5C'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #4B0082
-         * <span class="colorSwath" style="background: #4B0082;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.INDIGO = Object.freeze(Color.fromCssColorString('#4B0082'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFFFF0
-         * <span class="colorSwath" style="background: #FFFFF0;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.IVORY = Object.freeze(Color.fromCssColorString('#FFFFF0'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #F0E68C
-         * <span class="colorSwath" style="background: #F0E68C;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.KHAKI = Object.freeze(Color.fromCssColorString('#F0E68C'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #E6E6FA
-         * <span class="colorSwath" style="background: #E6E6FA;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LAVENDER = Object.freeze(Color.fromCssColorString('#E6E6FA'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFF0F5
-         * <span class="colorSwath" style="background: #FFF0F5;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LAVENDAR_BLUSH = Object.freeze(Color.fromCssColorString('#FFF0F5'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #7CFC00
-         * <span class="colorSwath" style="background: #7CFC00;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LAWNGREEN = Object.freeze(Color.fromCssColorString('#7CFC00'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFFACD
-         * <span class="colorSwath" style="background: #FFFACD;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LEMONCHIFFON = Object.freeze(Color.fromCssColorString('#FFFACD'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #ADD8E6
-         * <span class="colorSwath" style="background: #ADD8E6;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTBLUE = Object.freeze(Color.fromCssColorString('#ADD8E6'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #F08080
-         * <span class="colorSwath" style="background: #F08080;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTCORAL = Object.freeze(Color.fromCssColorString('#F08080'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #E0FFFF
-         * <span class="colorSwath" style="background: #E0FFFF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTCYAN = Object.freeze(Color.fromCssColorString('#E0FFFF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FAFAD2
-         * <span class="colorSwath" style="background: #FAFAD2;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTGOLDENRODYELLOW = Object.freeze(Color.fromCssColorString('#FAFAD2'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #D3D3D3
-         * <span class="colorSwath" style="background: #D3D3D3;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTGRAY = Object.freeze(Color.fromCssColorString('#D3D3D3'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #90EE90
-         * <span class="colorSwath" style="background: #90EE90;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTGREEN = Object.freeze(Color.fromCssColorString('#90EE90'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #D3D3D3
-         * <span class="colorSwath" style="background: #D3D3D3;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTGREY = Color.LIGHTGRAY;
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFB6C1
-         * <span class="colorSwath" style="background: #FFB6C1;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTPINK = Object.freeze(Color.fromCssColorString('#FFB6C1'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #20B2AA
-         * <span class="colorSwath" style="background: #20B2AA;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTSEAGREEN = Object.freeze(Color.fromCssColorString('#20B2AA'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #87CEFA
-         * <span class="colorSwath" style="background: #87CEFA;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTSKYBLUE = Object.freeze(Color.fromCssColorString('#87CEFA'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #778899
-         * <span class="colorSwath" style="background: #778899;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTSLATEGRAY = Object.freeze(Color.fromCssColorString('#778899'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #778899
-         * <span class="colorSwath" style="background: #778899;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTSLATEGREY = Color.LIGHTSLATEGRAY;
-
-        /**
-         * An immutable Color instance initialized to CSS color #B0C4DE
-         * <span class="colorSwath" style="background: #B0C4DE;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTSTEELBLUE = Object.freeze(Color.fromCssColorString('#B0C4DE'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFFFE0
-         * <span class="colorSwath" style="background: #FFFFE0;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIGHTYELLOW = Object.freeze(Color.fromCssColorString('#FFFFE0'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #00FF00
-         * <span class="colorSwath" style="background: #00FF00;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIME = Object.freeze(Color.fromCssColorString('#00FF00'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #32CD32
-         * <span class="colorSwath" style="background: #32CD32;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LIMEGREEN = Object.freeze(Color.fromCssColorString('#32CD32'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FAF0E6
-         * <span class="colorSwath" style="background: #FAF0E6;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.LINEN = Object.freeze(Color.fromCssColorString('#FAF0E6'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FF00FF
-         * <span class="colorSwath" style="background: #FF00FF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MAGENTA = Object.freeze(Color.fromCssColorString('#FF00FF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #800000
-         * <span class="colorSwath" style="background: #800000;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MAROON = Object.freeze(Color.fromCssColorString('#800000'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #66CDAA
-         * <span class="colorSwath" style="background: #66CDAA;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MEDIUMAQUAMARINE = Object.freeze(Color.fromCssColorString('#66CDAA'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #0000CD
-         * <span class="colorSwath" style="background: #0000CD;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MEDIUMBLUE = Object.freeze(Color.fromCssColorString('#0000CD'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #BA55D3
-         * <span class="colorSwath" style="background: #BA55D3;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MEDIUMORCHID = Object.freeze(Color.fromCssColorString('#BA55D3'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #9370DB
-         * <span class="colorSwath" style="background: #9370DB;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MEDIUMPURPLE = Object.freeze(Color.fromCssColorString('#9370DB'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #3CB371
-         * <span class="colorSwath" style="background: #3CB371;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MEDIUMSEAGREEN = Object.freeze(Color.fromCssColorString('#3CB371'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #7B68EE
-         * <span class="colorSwath" style="background: #7B68EE;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MEDIUMSLATEBLUE = Object.freeze(Color.fromCssColorString('#7B68EE'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #00FA9A
-         * <span class="colorSwath" style="background: #00FA9A;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MEDIUMSPRINGGREEN = Object.freeze(Color.fromCssColorString('#00FA9A'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #48D1CC
-         * <span class="colorSwath" style="background: #48D1CC;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MEDIUMTURQUOISE = Object.freeze(Color.fromCssColorString('#48D1CC'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #C71585
-         * <span class="colorSwath" style="background: #C71585;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MEDIUMVIOLETRED = Object.freeze(Color.fromCssColorString('#C71585'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #191970
-         * <span class="colorSwath" style="background: #191970;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MIDNIGHTBLUE = Object.freeze(Color.fromCssColorString('#191970'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #F5FFFA
-         * <span class="colorSwath" style="background: #F5FFFA;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MINTCREAM = Object.freeze(Color.fromCssColorString('#F5FFFA'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFE4E1
-         * <span class="colorSwath" style="background: #FFE4E1;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MISTYROSE = Object.freeze(Color.fromCssColorString('#FFE4E1'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFE4B5
-         * <span class="colorSwath" style="background: #FFE4B5;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.MOCCASIN = Object.freeze(Color.fromCssColorString('#FFE4B5'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFDEAD
-         * <span class="colorSwath" style="background: #FFDEAD;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.NAVAJOWHITE = Object.freeze(Color.fromCssColorString('#FFDEAD'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #000080
-         * <span class="colorSwath" style="background: #000080;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.NAVY = Object.freeze(Color.fromCssColorString('#000080'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FDF5E6
-         * <span class="colorSwath" style="background: #FDF5E6;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.OLDLACE = Object.freeze(Color.fromCssColorString('#FDF5E6'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #808000
-         * <span class="colorSwath" style="background: #808000;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.OLIVE = Object.freeze(Color.fromCssColorString('#808000'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #6B8E23
-         * <span class="colorSwath" style="background: #6B8E23;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.OLIVEDRAB = Object.freeze(Color.fromCssColorString('#6B8E23'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFA500
-         * <span class="colorSwath" style="background: #FFA500;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.ORANGE = Object.freeze(Color.fromCssColorString('#FFA500'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FF4500
-         * <span class="colorSwath" style="background: #FF4500;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.ORANGERED = Object.freeze(Color.fromCssColorString('#FF4500'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #DA70D6
-         * <span class="colorSwath" style="background: #DA70D6;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.ORCHID = Object.freeze(Color.fromCssColorString('#DA70D6'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #EEE8AA
-         * <span class="colorSwath" style="background: #EEE8AA;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.PALEGOLDENROD = Object.freeze(Color.fromCssColorString('#EEE8AA'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #98FB98
-         * <span class="colorSwath" style="background: #98FB98;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.PALEGREEN = Object.freeze(Color.fromCssColorString('#98FB98'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #AFEEEE
-         * <span class="colorSwath" style="background: #AFEEEE;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.PALETURQUOISE = Object.freeze(Color.fromCssColorString('#AFEEEE'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #DB7093
-         * <span class="colorSwath" style="background: #DB7093;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.PALEVIOLETRED = Object.freeze(Color.fromCssColorString('#DB7093'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFEFD5
-         * <span class="colorSwath" style="background: #FFEFD5;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.PAPAYAWHIP = Object.freeze(Color.fromCssColorString('#FFEFD5'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFDAB9
-         * <span class="colorSwath" style="background: #FFDAB9;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.PEACHPUFF = Object.freeze(Color.fromCssColorString('#FFDAB9'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #CD853F
-         * <span class="colorSwath" style="background: #CD853F;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.PERU = Object.freeze(Color.fromCssColorString('#CD853F'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFC0CB
-         * <span class="colorSwath" style="background: #FFC0CB;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.PINK = Object.freeze(Color.fromCssColorString('#FFC0CB'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #DDA0DD
-         * <span class="colorSwath" style="background: #DDA0DD;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.PLUM = Object.freeze(Color.fromCssColorString('#DDA0DD'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #B0E0E6
-         * <span class="colorSwath" style="background: #B0E0E6;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.POWDERBLUE = Object.freeze(Color.fromCssColorString('#B0E0E6'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #800080
-         * <span class="colorSwath" style="background: #800080;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.PURPLE = Object.freeze(Color.fromCssColorString('#800080'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FF0000
-         * <span class="colorSwath" style="background: #FF0000;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.RED = Object.freeze(Color.fromCssColorString('#FF0000'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #BC8F8F
-         * <span class="colorSwath" style="background: #BC8F8F;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.ROSYBROWN = Object.freeze(Color.fromCssColorString('#BC8F8F'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #4169E1
-         * <span class="colorSwath" style="background: #4169E1;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.ROYALBLUE = Object.freeze(Color.fromCssColorString('#4169E1'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #8B4513
-         * <span class="colorSwath" style="background: #8B4513;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SADDLEBROWN = Object.freeze(Color.fromCssColorString('#8B4513'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FA8072
-         * <span class="colorSwath" style="background: #FA8072;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SALMON = Object.freeze(Color.fromCssColorString('#FA8072'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #F4A460
-         * <span class="colorSwath" style="background: #F4A460;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SANDYBROWN = Object.freeze(Color.fromCssColorString('#F4A460'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #2E8B57
-         * <span class="colorSwath" style="background: #2E8B57;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SEAGREEN = Object.freeze(Color.fromCssColorString('#2E8B57'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFF5EE
-         * <span class="colorSwath" style="background: #FFF5EE;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SEASHELL = Object.freeze(Color.fromCssColorString('#FFF5EE'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #A0522D
-         * <span class="colorSwath" style="background: #A0522D;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SIENNA = Object.freeze(Color.fromCssColorString('#A0522D'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #C0C0C0
-         * <span class="colorSwath" style="background: #C0C0C0;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SILVER = Object.freeze(Color.fromCssColorString('#C0C0C0'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #87CEEB
-         * <span class="colorSwath" style="background: #87CEEB;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SKYBLUE = Object.freeze(Color.fromCssColorString('#87CEEB'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #6A5ACD
-         * <span class="colorSwath" style="background: #6A5ACD;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SLATEBLUE = Object.freeze(Color.fromCssColorString('#6A5ACD'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #708090
-         * <span class="colorSwath" style="background: #708090;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SLATEGRAY = Object.freeze(Color.fromCssColorString('#708090'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #708090
-         * <span class="colorSwath" style="background: #708090;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SLATEGREY = Color.SLATEGRAY;
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFFAFA
-         * <span class="colorSwath" style="background: #FFFAFA;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SNOW = Object.freeze(Color.fromCssColorString('#FFFAFA'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #00FF7F
-         * <span class="colorSwath" style="background: #00FF7F;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.SPRINGGREEN = Object.freeze(Color.fromCssColorString('#00FF7F'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #4682B4
-         * <span class="colorSwath" style="background: #4682B4;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.STEELBLUE = Object.freeze(Color.fromCssColorString('#4682B4'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #D2B48C
-         * <span class="colorSwath" style="background: #D2B48C;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.TAN = Object.freeze(Color.fromCssColorString('#D2B48C'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #008080
-         * <span class="colorSwath" style="background: #008080;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.TEAL = Object.freeze(Color.fromCssColorString('#008080'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #D8BFD8
-         * <span class="colorSwath" style="background: #D8BFD8;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.THISTLE = Object.freeze(Color.fromCssColorString('#D8BFD8'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FF6347
-         * <span class="colorSwath" style="background: #FF6347;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.TOMATO = Object.freeze(Color.fromCssColorString('#FF6347'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #40E0D0
-         * <span class="colorSwath" style="background: #40E0D0;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.TURQUOISE = Object.freeze(Color.fromCssColorString('#40E0D0'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #EE82EE
-         * <span class="colorSwath" style="background: #EE82EE;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.VIOLET = Object.freeze(Color.fromCssColorString('#EE82EE'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #F5DEB3
-         * <span class="colorSwath" style="background: #F5DEB3;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.WHEAT = Object.freeze(Color.fromCssColorString('#F5DEB3'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFFFFF
-         * <span class="colorSwath" style="background: #FFFFFF;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.WHITE = Object.freeze(Color.fromCssColorString('#FFFFFF'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #F5F5F5
-         * <span class="colorSwath" style="background: #F5F5F5;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.WHITESMOKE = Object.freeze(Color.fromCssColorString('#F5F5F5'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #FFFF00
-         * <span class="colorSwath" style="background: #FFFF00;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.YELLOW = Object.freeze(Color.fromCssColorString('#FFFF00'));
-
-        /**
-         * An immutable Color instance initialized to CSS color #9ACD32
-         * <span class="colorSwath" style="background: #9ACD32;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.YELLOWGREEN = Object.freeze(Color.fromCssColorString('#9ACD32'));
-
-        /**
-         * An immutable Color instance initialized to CSS transparent.
-         * <span class="colorSwath" style="background: transparent;"></span>
-         *
-         * @constant
-         * @type {Color}
-         */
-        Color.TRANSPARENT = Object.freeze(new Color(0, 0, 0, 0));
-
-    exports.Color = Color;
-
-});
diff --git a/libs/supermap/Workers/ComponentDatatype-5862616f.js b/libs/supermap/Workers/ComponentDatatype-5862616f.js
deleted file mode 100644
index 2bffc1e..0000000
--- a/libs/supermap/Workers/ComponentDatatype-5862616f.js
+++ /dev/null
@@ -1,343 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './WebGLConstants-4c11ee5f'], function (exports, when, Check, WebGLConstants) { 'use strict';
-
-    /**
-         * WebGL component datatypes.  Components are intrinsics,
-         * which form attributes, which form vertices.
-         *
-         * @exports ComponentDatatype
-         */
-        var ComponentDatatype = {
-            /**
-             * 8-bit signed byte corresponding to <code>gl.BYTE</code> and the type
-             * of an element in <code>Int8Array</code>.
-             *
-             * @type {Number}
-             * @constant
-             */
-            BYTE : WebGLConstants.WebGLConstants.BYTE,
-
-            /**
-             * 8-bit unsigned byte corresponding to <code>UNSIGNED_BYTE</code> and the type
-             * of an element in <code>Uint8Array</code>.
-             *
-             * @type {Number}
-             * @constant
-             */
-            UNSIGNED_BYTE : WebGLConstants.WebGLConstants.UNSIGNED_BYTE,
-
-            /**
-             * 16-bit signed short corresponding to <code>SHORT</code> and the type
-             * of an element in <code>Int16Array</code>.
-             *
-             * @type {Number}
-             * @constant
-             */
-            SHORT : WebGLConstants.WebGLConstants.SHORT,
-
-            /**
-             * 16-bit unsigned short corresponding to <code>UNSIGNED_SHORT</code> and the type
-             * of an element in <code>Uint16Array</code>.
-             *
-             * @type {Number}
-             * @constant
-             */
-            UNSIGNED_SHORT : WebGLConstants.WebGLConstants.UNSIGNED_SHORT,
-
-            /**
-             * 32-bit signed int corresponding to <code>INT</code> and the type
-             * of an element in <code>Int32Array</code>.
-             *
-             * @memberOf ComponentDatatype
-             *
-             * @type {Number}
-             * @constant
-             */
-            INT : WebGLConstants.WebGLConstants.INT,
-
-            /**
-             * 32-bit unsigned int corresponding to <code>UNSIGNED_INT</code> and the type
-             * of an element in <code>Uint32Array</code>.
-             *
-             * @memberOf ComponentDatatype
-             *
-             * @type {Number}
-             * @constant
-             */
-            UNSIGNED_INT : WebGLConstants.WebGLConstants.UNSIGNED_INT,
-
-            /**
-             * 32-bit floating-point corresponding to <code>FLOAT</code> and the type
-             * of an element in <code>Float32Array</code>.
-             *
-             * @type {Number}
-             * @constant
-             */
-            FLOAT : WebGLConstants.WebGLConstants.FLOAT,
-
-            /**
-             * 64-bit floating-point corresponding to <code>gl.DOUBLE</code> (in Desktop OpenGL;
-             * this is not supported in WebGL, and is emulated in Cesium via {@link GeometryPipeline.encodeAttribute})
-             * and the type of an element in <code>Float64Array</code>.
-             *
-             * @memberOf ComponentDatatype
-             *
-             * @type {Number}
-             * @constant
-             * @default 0x140A
-             */
-            DOUBLE : WebGLConstants.WebGLConstants.DOUBLE
-        };
-
-        /**
-         * Returns the size, in bytes, of the corresponding datatype.
-         *
-         * @param {ComponentDatatype} componentDatatype The component datatype to get the size of.
-         * @returns {Number} The size in bytes.
-         *
-         * @exception {DeveloperError} componentDatatype is not a valid value.
-         *
-         * @example
-         * // Returns Int8Array.BYTES_PER_ELEMENT
-         * var size = Cesium.ComponentDatatype.getSizeInBytes(Cesium.ComponentDatatype.BYTE);
-         */
-        ComponentDatatype.getSizeInBytes = function(componentDatatype){
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(componentDatatype)) {
-                throw new Check.DeveloperError('value is required.');
-            }
-            //>>includeEnd('debug');
-
-            switch (componentDatatype) {
-            case ComponentDatatype.BYTE:
-                return Int8Array.BYTES_PER_ELEMENT;
-            case ComponentDatatype.UNSIGNED_BYTE:
-                return Uint8Array.BYTES_PER_ELEMENT;
-            case ComponentDatatype.SHORT:
-                return Int16Array.BYTES_PER_ELEMENT;
-            case ComponentDatatype.UNSIGNED_SHORT:
-                return Uint16Array.BYTES_PER_ELEMENT;
-            case ComponentDatatype.INT:
-                return Int32Array.BYTES_PER_ELEMENT;
-            case ComponentDatatype.UNSIGNED_INT:
-                return Uint32Array.BYTES_PER_ELEMENT;
-            case ComponentDatatype.FLOAT:
-                return Float32Array.BYTES_PER_ELEMENT;
-            case ComponentDatatype.DOUBLE:
-                return Float64Array.BYTES_PER_ELEMENT;
-            //>>includeStart('debug', pragmas.debug);
-            default:
-                throw new Check.DeveloperError('componentDatatype is not a valid value.');
-            //>>includeEnd('debug');
-            }
-        };
-
-        /**
-         * Gets the {@link ComponentDatatype} for the provided TypedArray instance.
-         *
-         * @param {TypedArray} array The typed array.
-         * @returns {ComponentDatatype} The ComponentDatatype for the provided array, or undefined if the array is not a TypedArray.
-         */
-        ComponentDatatype.fromTypedArray = function(array) {
-            if (array instanceof Int8Array) {
-                return ComponentDatatype.BYTE;
-            }
-            if (array instanceof Uint8Array) {
-                return ComponentDatatype.UNSIGNED_BYTE;
-            }
-            if (array instanceof Int16Array) {
-                return ComponentDatatype.SHORT;
-            }
-            if (array instanceof Uint16Array) {
-                return ComponentDatatype.UNSIGNED_SHORT;
-            }
-            if (array instanceof Int32Array) {
-                return ComponentDatatype.INT;
-            }
-            if (array instanceof Uint32Array) {
-                return ComponentDatatype.UNSIGNED_INT;
-            }
-            if (array instanceof Float32Array) {
-                return ComponentDatatype.FLOAT;
-            }
-            if (array instanceof Float64Array) {
-                return ComponentDatatype.DOUBLE;
-            }
-        };
-
-        /**
-         * Validates that the provided component datatype is a valid {@link ComponentDatatype}
-         *
-         * @param {ComponentDatatype} componentDatatype The component datatype to validate.
-         * @returns {Boolean} <code>true</code> if the provided component datatype is a valid value; otherwise, <code>false</code>.
-         *
-         * @example
-         * if (!Cesium.ComponentDatatype.validate(componentDatatype)) {
-         *   throw new Cesium.DeveloperError('componentDatatype must be a valid value.');
-         * }
-         */
-        ComponentDatatype.validate = function(componentDatatype) {
-            return when.defined(componentDatatype) &&
-                   (componentDatatype === ComponentDatatype.BYTE ||
-                    componentDatatype === ComponentDatatype.UNSIGNED_BYTE ||
-                    componentDatatype === ComponentDatatype.SHORT ||
-                    componentDatatype === ComponentDatatype.UNSIGNED_SHORT ||
-                    componentDatatype === ComponentDatatype.INT ||
-                    componentDatatype === ComponentDatatype.UNSIGNED_INT ||
-                    componentDatatype === ComponentDatatype.FLOAT ||
-                    componentDatatype === ComponentDatatype.DOUBLE);
-        };
-
-        /**
-         * Creates a typed array corresponding to component data type.
-         *
-         * @param {ComponentDatatype} componentDatatype The component data type.
-         * @param {Number|Array} valuesOrLength The length of the array to create or an array.
-         * @returns {Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array|Float32Array|Float64Array} A typed array.
-         *
-         * @exception {DeveloperError} componentDatatype is not a valid value.
-         *
-         * @example
-         * // creates a Float32Array with length of 100
-         * var typedArray = Cesium.ComponentDatatype.createTypedArray(Cesium.ComponentDatatype.FLOAT, 100);
-         */
-        ComponentDatatype.createTypedArray = function(componentDatatype, valuesOrLength) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(componentDatatype)) {
-                throw new Check.DeveloperError('componentDatatype is required.');
-            }
-            if (!when.defined(valuesOrLength)) {
-                throw new Check.DeveloperError('valuesOrLength is required.');
-            }
-            //>>includeEnd('debug');
-
-            switch (componentDatatype) {
-            case ComponentDatatype.BYTE:
-                return new Int8Array(valuesOrLength);
-            case ComponentDatatype.UNSIGNED_BYTE:
-                return new Uint8Array(valuesOrLength);
-            case ComponentDatatype.SHORT:
-                return new Int16Array(valuesOrLength);
-            case ComponentDatatype.UNSIGNED_SHORT:
-                return new Uint16Array(valuesOrLength);
-            case ComponentDatatype.INT:
-                return new Int32Array(valuesOrLength);
-            case ComponentDatatype.UNSIGNED_INT:
-                return new Uint32Array(valuesOrLength);
-            case ComponentDatatype.FLOAT:
-                return new Float32Array(valuesOrLength);
-            case ComponentDatatype.DOUBLE:
-                return new Float64Array(valuesOrLength);
-            //>>includeStart('debug', pragmas.debug);
-            default:
-                throw new Check.DeveloperError('componentDatatype is not a valid value.');
-            //>>includeEnd('debug');
-            }
-        };
-
-        /**
-         * Creates a typed view of an array of bytes.
-         *
-         * @param {ComponentDatatype} componentDatatype The type of the view to create.
-         * @param {ArrayBuffer} buffer The buffer storage to use for the view.
-         * @param {Number} [byteOffset] The offset, in bytes, to the first element in the view.
-         * @param {Number} [length] The number of elements in the view.
-         * @returns {Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array|Float32Array|Float64Array} A typed array view of the buffer.
-         *
-         * @exception {DeveloperError} componentDatatype is not a valid value.
-         */
-        ComponentDatatype.createArrayBufferView = function(componentDatatype, buffer, byteOffset, length) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(componentDatatype)) {
-                throw new Check.DeveloperError('componentDatatype is required.');
-            }
-            if (!when.defined(buffer)) {
-                throw new Check.DeveloperError('buffer is required.');
-            }
-            //>>includeEnd('debug');
-
-            byteOffset = when.defaultValue(byteOffset, 0);
-            length = when.defaultValue(length, (buffer.byteLength - byteOffset) / ComponentDatatype.getSizeInBytes(componentDatatype));
-
-            switch (componentDatatype) {
-            case ComponentDatatype.BYTE:
-                return new Int8Array(buffer, byteOffset, length);
-            case ComponentDatatype.UNSIGNED_BYTE:
-                return new Uint8Array(buffer, byteOffset, length);
-            case ComponentDatatype.SHORT:
-                return new Int16Array(buffer, byteOffset, length);
-            case ComponentDatatype.UNSIGNED_SHORT:
-                return new Uint16Array(buffer, byteOffset, length);
-            case ComponentDatatype.INT:
-                return new Int32Array(buffer, byteOffset, length);
-            case ComponentDatatype.UNSIGNED_INT:
-                return new Uint32Array(buffer, byteOffset, length);
-            case ComponentDatatype.FLOAT:
-                return new Float32Array(buffer, byteOffset, length);
-            case ComponentDatatype.DOUBLE:
-                return new Float64Array(buffer, byteOffset, length);
-            //>>includeStart('debug', pragmas.debug);
-            default:
-                throw new Check.DeveloperError('componentDatatype is not a valid value.');
-            //>>includeEnd('debug');
-            }
-        };
-
-        /**
-         * Get the ComponentDatatype from its name.
-         *
-         * @param {String} name The name of the ComponentDatatype.
-         * @returns {ComponentDatatype} The ComponentDatatype.
-         *
-         * @exception {DeveloperError} name is not a valid value.
-         */
-        ComponentDatatype.fromName = function(name) {
-            switch (name) {
-                case 'BYTE':
-                    return ComponentDatatype.BYTE;
-                case 'UNSIGNED_BYTE':
-                    return ComponentDatatype.UNSIGNED_BYTE;
-                case 'SHORT':
-                    return ComponentDatatype.SHORT;
-                case 'UNSIGNED_SHORT':
-                    return ComponentDatatype.UNSIGNED_SHORT;
-                case 'INT':
-                    return ComponentDatatype.INT;
-                case 'UNSIGNED_INT':
-                    return ComponentDatatype.UNSIGNED_INT;
-                case 'FLOAT':
-                    return ComponentDatatype.FLOAT;
-                case 'DOUBLE':
-                    return ComponentDatatype.DOUBLE;
-                //>>includeStart('debug', pragmas.debug);
-                default:
-                    throw new Check.DeveloperError('name is not a valid value.');
-                //>>includeEnd('debug');
-            }
-        };
-    var ComponentDatatype$1 = Object.freeze(ComponentDatatype);
-
-    exports.ComponentDatatype = ComponentDatatype$1;
-
-});
diff --git a/libs/supermap/Workers/CoplanarPolygonGeometryLibrary-a019671c.js b/libs/supermap/Workers/CoplanarPolygonGeometryLibrary-a019671c.js
deleted file mode 100644
index 56079c8..0000000
--- a/libs/supermap/Workers/CoplanarPolygonGeometryLibrary-a019671c.js
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './Check-70bec281', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './OrientedBoundingBox-2b1de35e'], function (exports, Check, Cartesian2, BoundingSphere, OrientedBoundingBox) { 'use strict';
-
-    /**
-         * @private
-         */
-        var CoplanarPolygonGeometryLibrary = {};
-
-        var scratchIntersectionPoint = new Cartesian2.Cartesian3();
-        var scratchXAxis = new Cartesian2.Cartesian3();
-        var scratchYAxis = new Cartesian2.Cartesian3();
-        var scratchZAxis = new Cartesian2.Cartesian3();
-        var obbScratch = new OrientedBoundingBox.OrientedBoundingBox();
-
-        CoplanarPolygonGeometryLibrary.validOutline = function(positions) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('positions', positions);
-            //>>includeEnd('debug');
-
-            var orientedBoundingBox = OrientedBoundingBox.OrientedBoundingBox.fromPoints(positions, obbScratch);
-            var halfAxes = orientedBoundingBox.halfAxes;
-            var xAxis = BoundingSphere.Matrix3.getColumn(halfAxes, 0, scratchXAxis);
-            var yAxis = BoundingSphere.Matrix3.getColumn(halfAxes, 1, scratchYAxis);
-            var zAxis = BoundingSphere.Matrix3.getColumn(halfAxes, 2, scratchZAxis);
-
-            var xMag = Cartesian2.Cartesian3.magnitude(xAxis);
-            var yMag = Cartesian2.Cartesian3.magnitude(yAxis);
-            var zMag = Cartesian2.Cartesian3.magnitude(zAxis);
-
-            // If all the points are on a line return undefined because we can't draw a polygon
-            return !((xMag === 0 && (yMag === 0 || zMag === 0)) || (yMag === 0 && zMag === 0));
-        };
-
-        // call after removeDuplicates
-        CoplanarPolygonGeometryLibrary.computeProjectTo2DArguments = function(positions, centerResult, planeAxis1Result, planeAxis2Result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('positions', positions);
-            Check.Check.defined('centerResult', centerResult);
-            Check.Check.defined('planeAxis1Result', planeAxis1Result);
-            Check.Check.defined('planeAxis2Result', planeAxis2Result);
-            //>>includeEnd('debug');
-
-            var orientedBoundingBox = OrientedBoundingBox.OrientedBoundingBox.fromPoints(positions, obbScratch);
-            var halfAxes = orientedBoundingBox.halfAxes;
-            var xAxis = BoundingSphere.Matrix3.getColumn(halfAxes, 0, scratchXAxis);
-            var yAxis = BoundingSphere.Matrix3.getColumn(halfAxes, 1, scratchYAxis);
-            var zAxis = BoundingSphere.Matrix3.getColumn(halfAxes, 2, scratchZAxis);
-
-            var xMag = Cartesian2.Cartesian3.magnitude(xAxis);
-            var yMag = Cartesian2.Cartesian3.magnitude(yAxis);
-            var zMag = Cartesian2.Cartesian3.magnitude(zAxis);
-            var min = Math.min(xMag, yMag, zMag);
-
-            // If all the points are on a line return undefined because we can't draw a polygon
-            if ((xMag === 0 && (yMag === 0 || zMag === 0)) || (yMag === 0 && zMag === 0)) {
-                return false;
-            }
-
-            var planeAxis1;
-            var planeAxis2;
-
-            if (min === yMag || min === zMag) {
-                planeAxis1 = xAxis;
-            }
-            if (min === xMag) {
-                planeAxis1 = yAxis;
-            } else if (min === zMag) {
-                planeAxis2 = yAxis;
-            }
-            if (min === xMag || min === yMag) {
-                planeAxis2 = zAxis;
-            }
-
-            Cartesian2.Cartesian3.normalize(planeAxis1, planeAxis1Result);
-            Cartesian2.Cartesian3.normalize(planeAxis2, planeAxis2Result);
-            Cartesian2.Cartesian3.clone(orientedBoundingBox.center, centerResult);
-            return true;
-        };
-
-        function projectTo2D(position, center, axis1, axis2, result) {
-            var v = Cartesian2.Cartesian3.subtract(position, center, scratchIntersectionPoint);
-            var x = Cartesian2.Cartesian3.dot(axis1, v);
-            var y = Cartesian2.Cartesian3.dot(axis2, v);
-
-            return Cartesian2.Cartesian2.fromElements(x, y, result);
-        }
-
-        CoplanarPolygonGeometryLibrary.createProjectPointsTo2DFunction = function(center, axis1, axis2) {
-            return function(positions) {
-                var positionResults = new Array(positions.length);
-                for (var i = 0; i < positions.length; i++) {
-                    positionResults[i] = projectTo2D(positions[i], center, axis1, axis2);
-                }
-
-                return positionResults;
-            };
-        };
-
-        CoplanarPolygonGeometryLibrary.createProjectPointTo2DFunction = function(center, axis1, axis2) {
-            return function(position, result) {
-                return projectTo2D(position, center, axis1, axis2, result);
-            };
-        };
-
-    exports.CoplanarPolygonGeometryLibrary = CoplanarPolygonGeometryLibrary;
-
-});
diff --git a/libs/supermap/Workers/CorridorGeometryLibrary-388594c9.js b/libs/supermap/Workers/CorridorGeometryLibrary-388594c9.js
deleted file mode 100644
index 58de62d..0000000
--- a/libs/supermap/Workers/CorridorGeometryLibrary-388594c9.js
+++ /dev/null
@@ -1,318 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './Transforms-2f2aa225', './PolylineVolumeGeometryLibrary-eb1fcd3f', './PolylinePipeline-3f99899a'], function (exports, when, _Math, Cartesian2, BoundingSphere, Transforms, PolylineVolumeGeometryLibrary, PolylinePipeline) { 'use strict';
-
-    /**
-         * @private
-         */
-        var CorridorGeometryLibrary = {};
-
-        var scratch1 = new Cartesian2.Cartesian3();
-        var scratch2 = new Cartesian2.Cartesian3();
-        var scratch3 = new Cartesian2.Cartesian3();
-        var scratch4 = new Cartesian2.Cartesian3();
-
-        var scaleArray2 = [new Cartesian2.Cartesian3(), new Cartesian2.Cartesian3()];
-
-        var cartesian1 = new Cartesian2.Cartesian3();
-        var cartesian2 = new Cartesian2.Cartesian3();
-        var cartesian3 = new Cartesian2.Cartesian3();
-        var cartesian4 = new Cartesian2.Cartesian3();
-        var cartesian5 = new Cartesian2.Cartesian3();
-        var cartesian6 = new Cartesian2.Cartesian3();
-        var cartesian7 = new Cartesian2.Cartesian3();
-        var cartesian8 = new Cartesian2.Cartesian3();
-        var cartesian9 = new Cartesian2.Cartesian3();
-        var cartesian10 = new Cartesian2.Cartesian3();
-
-        var quaterion = new Transforms.Quaternion();
-        var rotMatrix = new BoundingSphere.Matrix3();
-        function computeRoundCorner(cornerPoint, startPoint, endPoint, cornerType, leftIsOutside) {
-            var angle = Cartesian2.Cartesian3.angleBetween(Cartesian2.Cartesian3.subtract(startPoint, cornerPoint, scratch1), Cartesian2.Cartesian3.subtract(endPoint, cornerPoint, scratch2));
-            var granularity = (cornerType === PolylineVolumeGeometryLibrary.CornerType.BEVELED) ? 1 : Math.ceil(angle / _Math.CesiumMath.toRadians(5)) + 1;
-
-            var size = granularity * 3;
-            var array = new Array(size);
-
-            array[size - 3] = endPoint.x;
-            array[size - 2] = endPoint.y;
-            array[size - 1] = endPoint.z;
-
-            var m;
-            if (leftIsOutside) {
-                m = BoundingSphere.Matrix3.fromQuaternion(Transforms.Quaternion.fromAxisAngle(Cartesian2.Cartesian3.negate(cornerPoint, scratch1), angle / granularity, quaterion), rotMatrix);
-            } else {
-                m = BoundingSphere.Matrix3.fromQuaternion(Transforms.Quaternion.fromAxisAngle(cornerPoint, angle / granularity, quaterion), rotMatrix);
-            }
-
-            var index = 0;
-            startPoint = Cartesian2.Cartesian3.clone(startPoint, scratch1);
-            for (var i = 0; i < granularity; i++) {
-                startPoint = BoundingSphere.Matrix3.multiplyByVector(m, startPoint, startPoint);
-                array[index++] = startPoint.x;
-                array[index++] = startPoint.y;
-                array[index++] = startPoint.z;
-            }
-
-            return array;
-        }
-
-        function addEndCaps(calculatedPositions) {
-            var cornerPoint = cartesian1;
-            var startPoint = cartesian2;
-            var endPoint = cartesian3;
-
-            var leftEdge = calculatedPositions[1];
-            startPoint = Cartesian2.Cartesian3.fromArray(calculatedPositions[1], leftEdge.length - 3, startPoint);
-            endPoint = Cartesian2.Cartesian3.fromArray(calculatedPositions[0], 0, endPoint);
-            cornerPoint = Cartesian2.Cartesian3.midpoint(startPoint, endPoint, cornerPoint);
-            var firstEndCap = computeRoundCorner(cornerPoint, startPoint, endPoint, PolylineVolumeGeometryLibrary.CornerType.ROUNDED, false);
-
-            var length = calculatedPositions.length - 1;
-            var rightEdge = calculatedPositions[length - 1];
-            leftEdge = calculatedPositions[length];
-            startPoint = Cartesian2.Cartesian3.fromArray(rightEdge, rightEdge.length - 3, startPoint);
-            endPoint = Cartesian2.Cartesian3.fromArray(leftEdge, 0, endPoint);
-            cornerPoint = Cartesian2.Cartesian3.midpoint(startPoint, endPoint, cornerPoint);
-            var lastEndCap = computeRoundCorner(cornerPoint, startPoint, endPoint, PolylineVolumeGeometryLibrary.CornerType.ROUNDED, false);
-
-            return [firstEndCap, lastEndCap];
-        }
-
-        function computeMiteredCorner(position, leftCornerDirection, lastPoint, leftIsOutside) {
-            var cornerPoint = scratch1;
-            if (leftIsOutside) {
-                cornerPoint = Cartesian2.Cartesian3.add(position, leftCornerDirection, cornerPoint);
-            } else {
-                leftCornerDirection = Cartesian2.Cartesian3.negate(leftCornerDirection, leftCornerDirection);
-                cornerPoint = Cartesian2.Cartesian3.add(position, leftCornerDirection, cornerPoint);
-            }
-            return [cornerPoint.x, cornerPoint.y, cornerPoint.z, lastPoint.x, lastPoint.y, lastPoint.z];
-        }
-
-        function addShiftedPositions(positions, left, scalar, calculatedPositions) {
-            var rightPositions = new Array(positions.length);
-            var leftPositions = new Array(positions.length);
-            var scaledLeft = Cartesian2.Cartesian3.multiplyByScalar(left, scalar, scratch1);
-            var scaledRight = Cartesian2.Cartesian3.negate(scaledLeft, scratch2);
-            var rightIndex = 0;
-            var leftIndex = positions.length - 1;
-
-            for (var i = 0; i < positions.length; i += 3) {
-                var pos = Cartesian2.Cartesian3.fromArray(positions, i, scratch3);
-                var rightPos = Cartesian2.Cartesian3.add(pos, scaledRight, scratch4);
-                rightPositions[rightIndex++] = rightPos.x;
-                rightPositions[rightIndex++] = rightPos.y;
-                rightPositions[rightIndex++] = rightPos.z;
-
-                var leftPos = Cartesian2.Cartesian3.add(pos, scaledLeft, scratch4);
-                leftPositions[leftIndex--] = leftPos.z;
-                leftPositions[leftIndex--] = leftPos.y;
-                leftPositions[leftIndex--] = leftPos.x;
-            }
-            calculatedPositions.push(rightPositions, leftPositions);
-
-            return calculatedPositions;
-        }
-
-        /**
-         * @private
-         */
-        CorridorGeometryLibrary.addAttribute = function(attribute, value, front, back) {
-            var x = value.x;
-            var y = value.y;
-            var z = value.z;
-            if (when.defined(front)) {
-                attribute[front] = x;
-                attribute[front + 1] = y;
-                attribute[front + 2] = z;
-            }
-            if (when.defined(back)) {
-                attribute[back] = z;
-                attribute[back - 1] = y;
-                attribute[back - 2] = x;
-            }
-        };
-
-        var scratchForwardProjection = new Cartesian2.Cartesian3();
-        var scratchBackwardProjection = new Cartesian2.Cartesian3();
-
-        /**
-         * @private
-         */
-        CorridorGeometryLibrary.computePositions = function(params) {
-            var granularity = params.granularity;
-            var positions = params.positions;
-            var ellipsoid = params.ellipsoid;
-            var width = params.width / 2;
-            var cornerType = params.cornerType;
-            var saveAttributes = params.saveAttributes;
-            var normal = cartesian1;
-            var forward = cartesian2;
-            var backward = cartesian3;
-            var left = cartesian4;
-            var cornerDirection = cartesian5;
-            var startPoint = cartesian6;
-            var previousPos = cartesian7;
-            var rightPos = cartesian8;
-            var leftPos = cartesian9;
-            var center = cartesian10;
-            var calculatedPositions = [];
-            var calculatedLefts = (saveAttributes) ? [] : undefined;
-            var calculatedNormals = (saveAttributes) ? [] : undefined;
-            var position = positions[0]; //add first point
-            var nextPosition = positions[1];
-
-            forward = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.subtract(nextPosition, position, forward), forward);
-            normal = ellipsoid.geodeticSurfaceNormal(position, normal);
-            left = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(normal, forward, left), left);
-            if (saveAttributes) {
-                calculatedLefts.push(left.x, left.y, left.z);
-                calculatedNormals.push(normal.x, normal.y, normal.z);
-            }
-            previousPos = Cartesian2.Cartesian3.clone(position, previousPos);
-            position = nextPosition;
-            backward = Cartesian2.Cartesian3.negate(forward, backward);
-
-            var subdividedPositions;
-            var corners = [];
-            var i;
-            var length = positions.length;
-            for (i = 1; i < length - 1; i++) { // add middle points and corners
-                normal = ellipsoid.geodeticSurfaceNormal(position, normal);
-                nextPosition = positions[i + 1];
-                forward = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.subtract(nextPosition, position, forward), forward);
-                cornerDirection = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.add(forward, backward, cornerDirection), cornerDirection);
-
-                var forwardProjection = Cartesian2.Cartesian3.multiplyByScalar(normal, Cartesian2.Cartesian3.dot(forward, normal), scratchForwardProjection);
-                Cartesian2.Cartesian3.subtract(forward, forwardProjection, forwardProjection);
-                Cartesian2.Cartesian3.normalize(forwardProjection, forwardProjection);
-
-                var backwardProjection = Cartesian2.Cartesian3.multiplyByScalar(normal, Cartesian2.Cartesian3.dot(backward, normal), scratchBackwardProjection);
-                Cartesian2.Cartesian3.subtract(backward, backwardProjection, backwardProjection);
-                Cartesian2.Cartesian3.normalize(backwardProjection, backwardProjection);
-
-                var doCorner = !_Math.CesiumMath.equalsEpsilon(Math.abs(Cartesian2.Cartesian3.dot(forwardProjection, backwardProjection)), 1.0, _Math.CesiumMath.EPSILON7);
-
-                if (doCorner) {
-                    cornerDirection = Cartesian2.Cartesian3.cross(cornerDirection, normal, cornerDirection);
-                    cornerDirection = Cartesian2.Cartesian3.cross(normal, cornerDirection, cornerDirection);
-                    cornerDirection = Cartesian2.Cartesian3.normalize(cornerDirection, cornerDirection);
-                    var scalar = width / Math.max(0.25, Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.cross(cornerDirection, backward, scratch1)));
-                    var leftIsOutside = PolylineVolumeGeometryLibrary.PolylineVolumeGeometryLibrary.angleIsGreaterThanPi(forward, backward, position, ellipsoid);
-                    cornerDirection = Cartesian2.Cartesian3.multiplyByScalar(cornerDirection, scalar, cornerDirection);
-                    if (leftIsOutside) {
-                        rightPos = Cartesian2.Cartesian3.add(position, cornerDirection, rightPos);
-                        center = Cartesian2.Cartesian3.add(rightPos, Cartesian2.Cartesian3.multiplyByScalar(left, width, center), center);
-                        leftPos = Cartesian2.Cartesian3.add(rightPos, Cartesian2.Cartesian3.multiplyByScalar(left, width * 2, leftPos), leftPos);
-                        scaleArray2[0] = Cartesian2.Cartesian3.clone(previousPos, scaleArray2[0]);
-                        scaleArray2[1] = Cartesian2.Cartesian3.clone(center, scaleArray2[1]);
-                        subdividedPositions = PolylinePipeline.PolylinePipeline.generateArc({
-                            positions: scaleArray2,
-                            granularity: granularity,
-                            ellipsoid: ellipsoid
-                        });
-                        calculatedPositions = addShiftedPositions(subdividedPositions, left, width, calculatedPositions);
-                        if (saveAttributes) {
-                            calculatedLefts.push(left.x, left.y, left.z);
-                            calculatedNormals.push(normal.x, normal.y, normal.z);
-                        }
-                        startPoint = Cartesian2.Cartesian3.clone(leftPos, startPoint);
-                        left = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(normal, forward, left), left);
-                        leftPos = Cartesian2.Cartesian3.add(rightPos, Cartesian2.Cartesian3.multiplyByScalar(left, width * 2, leftPos), leftPos);
-                        previousPos = Cartesian2.Cartesian3.add(rightPos, Cartesian2.Cartesian3.multiplyByScalar(left, width, previousPos), previousPos);
-                        if (cornerType === PolylineVolumeGeometryLibrary.CornerType.ROUNDED || cornerType === PolylineVolumeGeometryLibrary.CornerType.BEVELED) {
-                            corners.push({
-                                leftPositions : computeRoundCorner(rightPos, startPoint, leftPos, cornerType, leftIsOutside)
-                            });
-                        } else {
-                            corners.push({
-                                leftPositions : computeMiteredCorner(position, Cartesian2.Cartesian3.negate(cornerDirection, cornerDirection), leftPos, leftIsOutside)
-                            });
-                        }
-                    } else {
-                        leftPos = Cartesian2.Cartesian3.add(position, cornerDirection, leftPos);
-                        center = Cartesian2.Cartesian3.add(leftPos, Cartesian2.Cartesian3.negate(Cartesian2.Cartesian3.multiplyByScalar(left, width, center), center), center);
-                        rightPos = Cartesian2.Cartesian3.add(leftPos, Cartesian2.Cartesian3.negate(Cartesian2.Cartesian3.multiplyByScalar(left, width * 2, rightPos), rightPos), rightPos);
-                        scaleArray2[0] = Cartesian2.Cartesian3.clone(previousPos, scaleArray2[0]);
-                        scaleArray2[1] = Cartesian2.Cartesian3.clone(center, scaleArray2[1]);
-                        subdividedPositions = PolylinePipeline.PolylinePipeline.generateArc({
-                            positions: scaleArray2,
-                            granularity: granularity,
-                            ellipsoid: ellipsoid
-                        });
-                        calculatedPositions = addShiftedPositions(subdividedPositions, left, width, calculatedPositions);
-                        if (saveAttributes) {
-                            calculatedLefts.push(left.x, left.y, left.z);
-                            calculatedNormals.push(normal.x, normal.y, normal.z);
-                        }
-                        startPoint = Cartesian2.Cartesian3.clone(rightPos, startPoint);
-                        left = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(normal, forward, left), left);
-                        rightPos = Cartesian2.Cartesian3.add(leftPos, Cartesian2.Cartesian3.negate(Cartesian2.Cartesian3.multiplyByScalar(left, width * 2, rightPos), rightPos), rightPos);
-                        previousPos = Cartesian2.Cartesian3.add(leftPos, Cartesian2.Cartesian3.negate(Cartesian2.Cartesian3.multiplyByScalar(left, width, previousPos), previousPos), previousPos);
-                        if (cornerType === PolylineVolumeGeometryLibrary.CornerType.ROUNDED || cornerType === PolylineVolumeGeometryLibrary.CornerType.BEVELED) {
-                            corners.push({
-                                rightPositions : computeRoundCorner(leftPos, startPoint, rightPos, cornerType, leftIsOutside)
-                            });
-                        } else {
-                            corners.push({
-                                rightPositions : computeMiteredCorner(position, cornerDirection, rightPos, leftIsOutside)
-                            });
-                        }
-                    }
-                    backward = Cartesian2.Cartesian3.negate(forward, backward);
-                }
-                position = nextPosition;
-            }
-
-            normal = ellipsoid.geodeticSurfaceNormal(position, normal);
-            scaleArray2[0] = Cartesian2.Cartesian3.clone(previousPos, scaleArray2[0]);
-            scaleArray2[1] = Cartesian2.Cartesian3.clone(position, scaleArray2[1]);
-            subdividedPositions = PolylinePipeline.PolylinePipeline.generateArc({
-                positions: scaleArray2,
-                granularity: granularity,
-                ellipsoid: ellipsoid
-            });
-            calculatedPositions = addShiftedPositions(subdividedPositions, left, width, calculatedPositions);
-            if (saveAttributes) {
-                calculatedLefts.push(left.x, left.y, left.z);
-                calculatedNormals.push(normal.x, normal.y, normal.z);
-            }
-
-            var endPositions;
-            if (cornerType === PolylineVolumeGeometryLibrary.CornerType.ROUNDED) {
-                endPositions = addEndCaps(calculatedPositions);
-            }
-
-            return {
-                positions : calculatedPositions,
-                corners : corners,
-                lefts : calculatedLefts,
-                normals : calculatedNormals,
-                endPositions : endPositions
-            };
-        };
-
-    exports.CorridorGeometryLibrary = CorridorGeometryLibrary;
-
-});
diff --git a/libs/supermap/Workers/CylinderGeometry-e7307876.js b/libs/supermap/Workers/CylinderGeometry-e7307876.js
deleted file mode 100644
index d73aa15..0000000
--- a/libs/supermap/Workers/CylinderGeometry-e7307876.js
+++ /dev/null
@@ -1,445 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './CylinderGeometryLibrary-8c0fda9f'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, ComponentDatatype, GeometryAttribute, PrimitiveType, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, VertexFormat, CylinderGeometryLibrary) { 'use strict';
-
-    var radiusScratch = new Cartesian2.Cartesian2();
-        var normalScratch = new Cartesian2.Cartesian3();
-        var bitangentScratch = new Cartesian2.Cartesian3();
-        var tangentScratch = new Cartesian2.Cartesian3();
-        var positionScratch = new Cartesian2.Cartesian3();
-
-        /**
-         * A description of a cylinder.
-         *
-         * @alias CylinderGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Number} options.length The length of the cylinder.
-         * @param {Number} options.topRadius The radius of the top of the cylinder.
-         * @param {Number} options.bottomRadius The radius of the bottom of the cylinder.
-         * @param {Number} [options.slices=128] The number of edges around the perimeter of the cylinder.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         *
-         * @exception {DeveloperError} options.slices must be greater than or equal to 3.
-         *
-         * @see CylinderGeometry.createGeometry
-         *
-         * @example
-         * // create cylinder geometry
-         * var cylinder = new Cesium.CylinderGeometry({
-         *     length: 200000,
-         *     topRadius: 80000,
-         *     bottomRadius: 200000,
-         * });
-         * var geometry = Cesium.CylinderGeometry.createGeometry(cylinder);
-         */
-        function CylinderGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var length = options.length;
-            var topRadius = options.topRadius;
-            var bottomRadius = options.bottomRadius;
-            var vertexFormat = when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT);
-            var slices = when.defaultValue(options.slices, 128);
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(length)) {
-                throw new Check.DeveloperError('options.length must be defined.');
-            }
-            if (!when.defined(topRadius)) {
-                throw new Check.DeveloperError('options.topRadius must be defined.');
-            }
-            if (!when.defined(bottomRadius)) {
-                throw new Check.DeveloperError('options.bottomRadius must be defined.');
-            }
-            if (slices < 3) {
-                throw new Check.DeveloperError('options.slices must be greater than or equal to 3.');
-            }
-            if (when.defined(options.offsetAttribute) && options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                throw new Check.DeveloperError('GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.');
-            }
-            //>>includeEnd('debug');
-
-            this._length = length;
-            this._topRadius = topRadius;
-            this._bottomRadius = bottomRadius;
-            this._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat);
-            this._slices = slices;
-            this._offsetAttribute = options.offsetAttribute;
-            this._workerName = 'createCylinderGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        CylinderGeometry.packedLength = VertexFormat.VertexFormat.packedLength + 5;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {CylinderGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        CylinderGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            array[startingIndex++] = value._length;
-            array[startingIndex++] = value._topRadius;
-            array[startingIndex++] = value._bottomRadius;
-            array[startingIndex++] = value._slices;
-            array[startingIndex] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-        var scratchOptions = {
-            vertexFormat : scratchVertexFormat,
-            length : undefined,
-            topRadius : undefined,
-            bottomRadius : undefined,
-            slices : undefined,
-            offsetAttribute : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {CylinderGeometry} [result] The object into which to store the result.
-         * @returns {CylinderGeometry} The modified result parameter or a new CylinderGeometry instance if one was not provided.
-         */
-        CylinderGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            var length = array[startingIndex++];
-            var topRadius = array[startingIndex++];
-            var bottomRadius = array[startingIndex++];
-            var slices = array[startingIndex++];
-            var offsetAttribute = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.length = length;
-                scratchOptions.topRadius = topRadius;
-                scratchOptions.bottomRadius = bottomRadius;
-                scratchOptions.slices = slices;
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-                return new CylinderGeometry(scratchOptions);
-            }
-
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._length = length;
-            result._topRadius = topRadius;
-            result._bottomRadius = bottomRadius;
-            result._slices = slices;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of a cylinder, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {CylinderGeometry} cylinderGeometry A description of the cylinder.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        CylinderGeometry.createGeometry = function(cylinderGeometry) {
-            var length = cylinderGeometry._length;
-            var topRadius = cylinderGeometry._topRadius;
-            var bottomRadius = cylinderGeometry._bottomRadius;
-            var vertexFormat = cylinderGeometry._vertexFormat;
-            var slices = cylinderGeometry._slices;
-
-            if ((length <= 0) || (topRadius < 0) || (bottomRadius < 0) || ((topRadius === 0) && (bottomRadius === 0))) {
-                return;
-            }
-
-            var twoSlices = slices + slices;
-            var threeSlices = slices + twoSlices;
-            var numVertices = twoSlices + twoSlices;
-
-            var positions = CylinderGeometryLibrary.CylinderGeometryLibrary.computePositions(length, topRadius, bottomRadius, slices, true);
-
-            var st = (vertexFormat.st) ? new Float32Array(numVertices * 2) : undefined;
-            var normals = (vertexFormat.normal) ? new Float32Array(numVertices * 3) : undefined;
-            var tangents = (vertexFormat.tangent) ? new Float32Array(numVertices * 3) : undefined;
-            var bitangents = (vertexFormat.bitangent) ? new Float32Array(numVertices * 3) : undefined;
-
-            var i;
-            var computeNormal = (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent);
-
-            if (computeNormal) {
-                var computeTangent = (vertexFormat.tangent || vertexFormat.bitangent);
-
-                var normalIndex = 0;
-                var tangentIndex = 0;
-                var bitangentIndex = 0;
-
-                var theta = Math.atan2(bottomRadius - topRadius, length);
-                var normal = normalScratch;
-                normal.z = Math.sin(theta);
-                var normalScale = Math.cos(theta);
-                var tangent = tangentScratch;
-                var bitangent = bitangentScratch;
-
-                for (i = 0; i < slices; i++) {
-                    var angle = i / slices * _Math.CesiumMath.TWO_PI;
-                    var x = normalScale * Math.cos(angle);
-                    var y = normalScale * Math.sin(angle);
-                    if (computeNormal) {
-                        normal.x = x;
-                        normal.y = y;
-
-                        if (computeTangent) {
-                            tangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(Cartesian2.Cartesian3.UNIT_Z, normal, tangent), tangent);
-                        }
-
-                        if (vertexFormat.normal) {
-                            normals[normalIndex++] = normal.x;
-                            normals[normalIndex++] = normal.y;
-                            normals[normalIndex++] = normal.z;
-                            normals[normalIndex++] = normal.x;
-                            normals[normalIndex++] = normal.y;
-                            normals[normalIndex++] = normal.z;
-                        }
-
-                        if (vertexFormat.tangent) {
-                            tangents[tangentIndex++] = tangent.x;
-                            tangents[tangentIndex++] = tangent.y;
-                            tangents[tangentIndex++] = tangent.z;
-                            tangents[tangentIndex++] = tangent.x;
-                            tangents[tangentIndex++] = tangent.y;
-                            tangents[tangentIndex++] = tangent.z;
-                        }
-
-                        if (vertexFormat.bitangent) {
-                            bitangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(normal, tangent, bitangent), bitangent);
-                            bitangents[bitangentIndex++] = bitangent.x;
-                            bitangents[bitangentIndex++] = bitangent.y;
-                            bitangents[bitangentIndex++] = bitangent.z;
-                            bitangents[bitangentIndex++] = bitangent.x;
-                            bitangents[bitangentIndex++] = bitangent.y;
-                            bitangents[bitangentIndex++] = bitangent.z;
-                        }
-                    }
-                }
-
-                for (i = 0; i < slices; i++) {
-                    if (vertexFormat.normal) {
-                        normals[normalIndex++] = 0;
-                        normals[normalIndex++] = 0;
-                        normals[normalIndex++] = -1;
-                    }
-                    if (vertexFormat.tangent) {
-                        tangents[tangentIndex++] = 1;
-                        tangents[tangentIndex++] = 0;
-                        tangents[tangentIndex++] = 0;
-                    }
-                    if (vertexFormat.bitangent) {
-                        bitangents[bitangentIndex++] = 0;
-                        bitangents[bitangentIndex++] = -1;
-                        bitangents[bitangentIndex++] = 0;
-                    }
-                }
-
-                for (i = 0; i < slices; i++) {
-                    if (vertexFormat.normal) {
-                        normals[normalIndex++] = 0;
-                        normals[normalIndex++] = 0;
-                        normals[normalIndex++] = 1;
-                    }
-                    if (vertexFormat.tangent) {
-                        tangents[tangentIndex++] = 1;
-                        tangents[tangentIndex++] = 0;
-                        tangents[tangentIndex++] = 0;
-                    }
-                    if (vertexFormat.bitangent) {
-                        bitangents[bitangentIndex++] = 0;
-                        bitangents[bitangentIndex++] = 1;
-                        bitangents[bitangentIndex++] = 0;
-                    }
-                }
-            }
-
-            var numIndices = 12 * slices - 12;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(numVertices, numIndices);
-            var index = 0;
-            var j = 0;
-            for (i = 0; i < slices - 1; i++) {
-                indices[index++] = j;
-                indices[index++] = j + 2;
-                indices[index++] = j + 3;
-
-                indices[index++] = j;
-                indices[index++] = j + 3;
-                indices[index++] = j + 1;
-
-                j += 2;
-            }
-
-            indices[index++] = twoSlices - 2;
-            indices[index++] = 0;
-            indices[index++] = 1;
-            indices[index++] = twoSlices - 2;
-            indices[index++] = 1;
-            indices[index++] = twoSlices - 1;
-
-            for (i = 1; i < slices - 1; i++) {
-                indices[index++] = twoSlices + i + 1;
-                indices[index++] = twoSlices + i;
-                indices[index++] = twoSlices;
-            }
-
-            for (i = 1; i < slices - 1; i++) {
-                indices[index++] = threeSlices;
-                indices[index++] = threeSlices + i;
-                indices[index++] = threeSlices + i + 1;
-            }
-
-            var textureCoordIndex = 0;
-            if (vertexFormat.st) {
-                var rad = Math.max(topRadius, bottomRadius);
-                for (i = 0; i < numVertices; i++) {
-                    var position = Cartesian2.Cartesian3.fromArray(positions, i * 3, positionScratch);
-                    st[textureCoordIndex++] = (position.x + rad) / (2.0 * rad);
-                    st[textureCoordIndex++] = (position.y + rad) / (2.0 * rad);
-                }
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            if (vertexFormat.position) {
-                attributes.position = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype: ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute: 3,
-                    values: positions
-                });
-            }
-
-            if (vertexFormat.normal) {
-                attributes.normal = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : normals
-                });
-            }
-
-            if (vertexFormat.tangent) {
-                attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : tangents
-                });
-            }
-
-            if (vertexFormat.bitangent) {
-                attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : bitangents
-                });
-            }
-
-            if (vertexFormat.st) {
-                attributes.st = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 2,
-                    values : st
-                });
-            }
-
-            radiusScratch.x = length * 0.5;
-            radiusScratch.y = Math.max(bottomRadius, topRadius);
-
-            var boundingSphere = new BoundingSphere.BoundingSphere(Cartesian2.Cartesian3.ZERO, Cartesian2.Cartesian2.magnitude(radiusScratch));
-
-            if (when.defined(cylinderGeometry._offsetAttribute)) {
-                length = positions.length;
-                var applyOffset = new Uint8Array(length / 3);
-                var offsetValue = cylinderGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values: applyOffset
-                });
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES,
-                boundingSphere : boundingSphere,
-                offsetAttribute : cylinderGeometry._offsetAttribute
-            });
-        };
-
-        var unitCylinderGeometry;
-
-        /**
-         * Returns the geometric representation of a unit cylinder, including its vertices, indices, and a bounding sphere.
-         * @returns {Geometry} The computed vertices and indices.
-         *
-         * @private
-         */
-        CylinderGeometry.getUnitCylinder = function() {
-            if (!when.defined(unitCylinderGeometry)) {
-                unitCylinderGeometry = CylinderGeometry.createGeometry(new CylinderGeometry({
-                    topRadius : 1.0,
-                    bottomRadius : 1.0,
-                    length : 1.0,
-                    vertexFormat : VertexFormat.VertexFormat.POSITION_ONLY
-                }));
-            }
-            return unitCylinderGeometry;
-        };
-
-    exports.CylinderGeometry = CylinderGeometry;
-
-});
diff --git a/libs/supermap/Workers/CylinderGeometryLibrary-8c0fda9f.js b/libs/supermap/Workers/CylinderGeometryLibrary-8c0fda9f.js
deleted file mode 100644
index 67ca7b6..0000000
--- a/libs/supermap/Workers/CylinderGeometryLibrary-8c0fda9f.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './Math-61ede240'], function (exports, _Math) { 'use strict';
-
-    /**
-         * @private
-         */
-        var CylinderGeometryLibrary = {};
-
-        /**
-         * @private
-         */
-        CylinderGeometryLibrary.computePositions = function(length, topRadius, bottomRadius, slices, fill){
-            var topZ = length * 0.5;
-            var bottomZ = -topZ;
-
-            var twoSlice = slices + slices;
-            var size = (fill) ? 2 * twoSlice : twoSlice;
-            var positions = new Float64Array(size*3);
-            var i;
-            var index = 0;
-            var tbIndex = 0;
-            var bottomOffset = (fill) ? twoSlice*3 : 0;
-            var topOffset = (fill) ? (twoSlice + slices)*3 : slices*3;
-
-            for (i = 0; i < slices; i++) {
-                var angle = i / slices * _Math.CesiumMath.TWO_PI;
-                var x = Math.cos(angle);
-                var y = Math.sin(angle);
-                var bottomX = x * bottomRadius;
-                var bottomY = y * bottomRadius;
-                var topX = x * topRadius;
-                var topY = y * topRadius;
-
-                positions[tbIndex + bottomOffset] = bottomX;
-                positions[tbIndex + bottomOffset + 1] = bottomY;
-                positions[tbIndex + bottomOffset + 2] = bottomZ;
-
-                positions[tbIndex + topOffset] = topX;
-                positions[tbIndex + topOffset + 1] = topY;
-                positions[tbIndex + topOffset + 2] = topZ;
-                tbIndex += 3;
-                if (fill) {
-                    positions[index++] = bottomX;
-                    positions[index++] = bottomY;
-                    positions[index++] = bottomZ;
-                    positions[index++] = topX;
-                    positions[index++] = topY;
-                    positions[index++] = topZ;
-                }
-            }
-
-            return positions;
-        };
-
-    exports.CylinderGeometryLibrary = CylinderGeometryLibrary;
-
-});
diff --git a/libs/supermap/Workers/EllipseGeometry-b36296ff.js b/libs/supermap/Workers/EllipseGeometry-b36296ff.js
deleted file mode 100644
index 6d1f2c7..0000000
--- a/libs/supermap/Workers/EllipseGeometry-b36296ff.js
+++ /dev/null
@@ -1,1073 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './Transforms-2f2aa225', './GeometryAttributes-aacecde6', './GeometryPipeline-cf04afb6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './EllipseGeometryLibrary-df806546', './GeometryInstance-41ec5f45'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, ComponentDatatype, GeometryAttribute, PrimitiveType, Transforms, GeometryAttributes, GeometryPipeline, IndexDatatype, GeometryOffsetAttribute, VertexFormat, EllipseGeometryLibrary, GeometryInstance) { 'use strict';
-
-    var scratchCartesian1 = new Cartesian2.Cartesian3();
-        var scratchCartesian2 = new Cartesian2.Cartesian3();
-        var scratchCartesian3 = new Cartesian2.Cartesian3();
-        var scratchCartesian4 = new Cartesian2.Cartesian3();
-        var texCoordScratch = new Cartesian2.Cartesian2();
-        var textureMatrixScratch = new BoundingSphere.Matrix3();
-        var tangentMatrixScratch = new BoundingSphere.Matrix3();
-        var quaternionScratch = new Transforms.Quaternion();
-
-        var scratchNormal = new Cartesian2.Cartesian3();
-        var scratchTangent = new Cartesian2.Cartesian3();
-        var scratchBitangent = new Cartesian2.Cartesian3();
-
-        var scratchCartographic = new Cartesian2.Cartographic();
-        var projectedCenterScratch = new Cartesian2.Cartesian3();
-
-        var scratchMinTexCoord = new Cartesian2.Cartesian2();
-        var scratchMaxTexCoord = new Cartesian2.Cartesian2();
-
-        function computeTopBottomAttributes(positions, options, extrude) {
-            var vertexFormat = options.vertexFormat;
-            var center = options.center;
-            var semiMajorAxis = options.semiMajorAxis;
-            var semiMinorAxis = options.semiMinorAxis;
-            var ellipsoid = options.ellipsoid;
-            var stRotation = options.stRotation;
-            var size = (extrude) ? positions.length / 3 * 2 : positions.length / 3;
-            var shadowVolume = options.shadowVolume;
-
-            var textureCoordinates = (vertexFormat.st) ? new Float32Array(size * 2) : undefined;
-            var normals = (vertexFormat.normal) ? new Float32Array(size * 3) : undefined;
-            var tangents = (vertexFormat.tangent) ? new Float32Array(size * 3) : undefined;
-            var bitangents = (vertexFormat.bitangent) ? new Float32Array(size * 3) : undefined;
-
-            var extrudeNormals = (shadowVolume) ? new Float32Array(size * 3) : undefined;
-
-            var textureCoordIndex = 0;
-
-            // Raise positions to a height above the ellipsoid and compute the
-            // texture coordinates, normals, tangents, and bitangents.
-            var normal = scratchNormal;
-            var tangent = scratchTangent;
-            var bitangent = scratchBitangent;
-
-            var projection = new BoundingSphere.GeographicProjection(ellipsoid);
-            var projectedCenter = projection.project(ellipsoid.cartesianToCartographic(center, scratchCartographic), projectedCenterScratch);
-
-            var geodeticNormal = ellipsoid.scaleToGeodeticSurface(center, scratchCartesian1);
-            ellipsoid.geodeticSurfaceNormal(geodeticNormal, geodeticNormal);
-
-            var textureMatrix = textureMatrixScratch;
-            var tangentMatrix = tangentMatrixScratch;
-            if (stRotation !== 0) {
-                var rotation = Transforms.Quaternion.fromAxisAngle(geodeticNormal, stRotation, quaternionScratch);
-                textureMatrix = BoundingSphere.Matrix3.fromQuaternion(rotation, textureMatrix);
-
-                rotation = Transforms.Quaternion.fromAxisAngle(geodeticNormal, -stRotation, quaternionScratch);
-                tangentMatrix = BoundingSphere.Matrix3.fromQuaternion(rotation, tangentMatrix);
-            } else {
-                textureMatrix = BoundingSphere.Matrix3.clone(BoundingSphere.Matrix3.IDENTITY, textureMatrix);
-                tangentMatrix = BoundingSphere.Matrix3.clone(BoundingSphere.Matrix3.IDENTITY, tangentMatrix);
-            }
-
-            var minTexCoord = Cartesian2.Cartesian2.fromElements(Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY, scratchMinTexCoord);
-            var maxTexCoord = Cartesian2.Cartesian2.fromElements(Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY, scratchMaxTexCoord);
-
-            var length = positions.length;
-            var bottomOffset = (extrude) ? length : 0;
-            var stOffset = bottomOffset / 3 * 2;
-            for (var i = 0; i < length; i += 3) {
-                var i1 = i + 1;
-                var i2 = i + 2;
-                var position = Cartesian2.Cartesian3.fromArray(positions, i, scratchCartesian1);
-
-                if (vertexFormat.st) {
-                    var rotatedPoint = BoundingSphere.Matrix3.multiplyByVector(textureMatrix, position, scratchCartesian2);
-                    var projectedPoint = projection.project(ellipsoid.cartesianToCartographic(rotatedPoint, scratchCartographic), scratchCartesian3);
-                    Cartesian2.Cartesian3.subtract(projectedPoint, projectedCenter, projectedPoint);
-
-                    texCoordScratch.x = (projectedPoint.x + semiMajorAxis) / (2.0 * semiMajorAxis);
-                    texCoordScratch.y = (projectedPoint.y + semiMinorAxis) / (2.0 * semiMinorAxis);
-
-                    minTexCoord.x = Math.min(texCoordScratch.x, minTexCoord.x);
-                    minTexCoord.y = Math.min(texCoordScratch.y, minTexCoord.y);
-                    maxTexCoord.x = Math.max(texCoordScratch.x, maxTexCoord.x);
-                    maxTexCoord.y = Math.max(texCoordScratch.y, maxTexCoord.y);
-
-                    if (extrude) {
-                        textureCoordinates[textureCoordIndex + stOffset] = texCoordScratch.x;
-                        textureCoordinates[textureCoordIndex + 1 + stOffset] = texCoordScratch.y;
-                    }
-
-                    textureCoordinates[textureCoordIndex++] = texCoordScratch.x;
-                    textureCoordinates[textureCoordIndex++] = texCoordScratch.y;
-                }
-
-                if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent || shadowVolume) {
-                    normal = ellipsoid.geodeticSurfaceNormal(position, normal);
-
-                    if (shadowVolume) {
-                        extrudeNormals[i + bottomOffset] = -normal.x;
-                        extrudeNormals[i1 + bottomOffset] = -normal.y;
-                        extrudeNormals[i2 + bottomOffset] = -normal.z;
-                    }
-
-                    if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
-                        if (vertexFormat.tangent || vertexFormat.bitangent) {
-                            tangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(Cartesian2.Cartesian3.UNIT_Z, normal, tangent), tangent);
-                            BoundingSphere.Matrix3.multiplyByVector(tangentMatrix, tangent, tangent);
-                        }
-                        if (vertexFormat.normal) {
-                            normals[i] = normal.x;
-                            normals[i1] = normal.y;
-                            normals[i2] = normal.z;
-                            if (extrude) {
-                                normals[i + bottomOffset] = -normal.x;
-                                normals[i1 + bottomOffset] = -normal.y;
-                                normals[i2 + bottomOffset] = -normal.z;
-                            }
-                        }
-
-                        if (vertexFormat.tangent) {
-                            tangents[i] = tangent.x;
-                            tangents[i1] = tangent.y;
-                            tangents[i2] = tangent.z;
-                            if (extrude) {
-                                tangents[i + bottomOffset] = -tangent.x;
-                                tangents[i1 + bottomOffset] = -tangent.y;
-                                tangents[i2 + bottomOffset] = -tangent.z;
-                            }
-                        }
-
-                        if (vertexFormat.bitangent) {
-                            bitangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(normal, tangent, bitangent), bitangent);
-                            bitangents[i ] = bitangent.x;
-                            bitangents[i1] = bitangent.y;
-                            bitangents[i2] = bitangent.z;
-                            if (extrude) {
-                                bitangents[i + bottomOffset] = bitangent.x;
-                                bitangents[i1 + bottomOffset] = bitangent.y;
-                                bitangents[i2 + bottomOffset] = bitangent.z;
-                            }
-                        }
-                    }
-                }
-            }
-
-            if (vertexFormat.st) {
-                length = textureCoordinates.length;
-                for (var k = 0; k < length; k += 2) {
-                    textureCoordinates[k] = (textureCoordinates[k] - minTexCoord.x) / (maxTexCoord.x - minTexCoord.x);
-                    textureCoordinates[k + 1] = (textureCoordinates[k + 1] - minTexCoord.y) / (maxTexCoord.y - minTexCoord.y);
-                }
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-
-            if (vertexFormat.position) {
-                var finalPositions = EllipseGeometryLibrary.EllipseGeometryLibrary.raisePositionsToHeight(positions, options, extrude);
-                attributes.position = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : finalPositions
-                });
-            }
-
-            if (vertexFormat.st) {
-                attributes.st = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 2,
-                    values : textureCoordinates
-                });
-            }
-
-            if (vertexFormat.normal) {
-                attributes.normal = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : normals
-                });
-            }
-
-            if (vertexFormat.tangent) {
-                attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : tangents
-                });
-            }
-
-            if (vertexFormat.bitangent) {
-                attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : bitangents
-                });
-            }
-
-            if (shadowVolume) {
-                attributes.extrudeDirection = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : extrudeNormals
-                });
-            }
-
-            if (extrude && when.defined(options.offsetAttribute)) {
-                var offsetAttribute = new Uint8Array(size);
-                if (options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                    offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, 1, 0, size / 2);
-                } else {
-                    var offsetValue = options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, offsetValue);
-                }
-
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values : offsetAttribute
-                });
-            }
-
-            return attributes;
-        }
-
-        function topIndices(numPts) {
-            // numTriangles in half = 3 + 8 + 12 + ... = -1 + 4 + (4 + 4) + (4 + 4 + 4) + ... = -1 + 4 * (1 + 2 + 3 + ...)
-            //              = -1 + 4 * ((n * ( n + 1)) / 2)
-            // total triangles = 2 * numTrangles in half
-            // indices = total triangles * 3;
-            // Substitute numPts for n above
-
-            var indices = new Array(12 * (numPts * ( numPts + 1)) - 6);
-            var indicesIndex = 0;
-            var prevIndex;
-            var numInterior;
-            var positionIndex;
-            var i;
-            var j;
-            // Indices triangles to the 'right' of the north vector
-
-            prevIndex = 0;
-            positionIndex = 1;
-            for (i = 0; i < 3; i++) {
-                indices[indicesIndex++] = positionIndex++;
-                indices[indicesIndex++] = prevIndex;
-                indices[indicesIndex++] = positionIndex;
-            }
-
-            for (i = 2; i < numPts + 1; ++i) {
-                positionIndex = i * (i + 1) - 1;
-                prevIndex = (i - 1) * i - 1;
-
-                indices[indicesIndex++] = positionIndex++;
-                indices[indicesIndex++] = prevIndex;
-                indices[indicesIndex++] = positionIndex;
-
-                numInterior = 2 * i;
-                for (j = 0; j < numInterior - 1; ++j) {
-
-                    indices[indicesIndex++] = positionIndex;
-                    indices[indicesIndex++] = prevIndex++;
-                    indices[indicesIndex++] = prevIndex;
-
-                    indices[indicesIndex++] = positionIndex++;
-                    indices[indicesIndex++] = prevIndex;
-                    indices[indicesIndex++] = positionIndex;
-                }
-
-                indices[indicesIndex++] = positionIndex++;
-                indices[indicesIndex++] = prevIndex;
-                indices[indicesIndex++] = positionIndex;
-            }
-
-            // Indices for center column of triangles
-            numInterior = numPts * 2;
-            ++positionIndex;
-            ++prevIndex;
-            for (i = 0; i < numInterior - 1; ++i) {
-                indices[indicesIndex++] = positionIndex;
-                indices[indicesIndex++] = prevIndex++;
-                indices[indicesIndex++] = prevIndex;
-
-                indices[indicesIndex++] = positionIndex++;
-                indices[indicesIndex++] = prevIndex;
-                indices[indicesIndex++] = positionIndex;
-            }
-
-            indices[indicesIndex++] = positionIndex;
-            indices[indicesIndex++] = prevIndex++;
-            indices[indicesIndex++] = prevIndex;
-
-            indices[indicesIndex++] = positionIndex++;
-            indices[indicesIndex++] = prevIndex++;
-            indices[indicesIndex++] = prevIndex;
-
-            // Reverse the process creating indices to the 'left' of the north vector
-            ++prevIndex;
-            for (i = numPts - 1; i > 1; --i) {
-                indices[indicesIndex++] = prevIndex++;
-                indices[indicesIndex++] = prevIndex;
-                indices[indicesIndex++] = positionIndex;
-
-                numInterior = 2 * i;
-                for (j = 0; j < numInterior - 1; ++j) {
-                    indices[indicesIndex++] = positionIndex;
-                    indices[indicesIndex++] = prevIndex++;
-                    indices[indicesIndex++] = prevIndex;
-
-                    indices[indicesIndex++] = positionIndex++;
-                    indices[indicesIndex++] = prevIndex;
-                    indices[indicesIndex++] = positionIndex;
-                }
-
-                indices[indicesIndex++] = prevIndex++;
-                indices[indicesIndex++] = prevIndex++;
-                indices[indicesIndex++] = positionIndex++;
-            }
-
-            for (i = 0; i < 3; i++) {
-                indices[indicesIndex++] = prevIndex++;
-                indices[indicesIndex++] = prevIndex;
-                indices[indicesIndex++] = positionIndex;
-            }
-            return indices;
-        }
-
-        var boundingSphereCenter = new Cartesian2.Cartesian3();
-
-        function computeEllipse(options) {
-            var center = options.center;
-            boundingSphereCenter = Cartesian2.Cartesian3.multiplyByScalar(options.ellipsoid.geodeticSurfaceNormal(center, boundingSphereCenter), options.height, boundingSphereCenter);
-            boundingSphereCenter = Cartesian2.Cartesian3.add(center, boundingSphereCenter, boundingSphereCenter);
-            var boundingSphere = new BoundingSphere.BoundingSphere(boundingSphereCenter, options.semiMajorAxis);
-            var cep = EllipseGeometryLibrary.EllipseGeometryLibrary.computeEllipsePositions(options, true, false);
-            var positions = cep.positions;
-            var numPts = cep.numPts;
-            var attributes = computeTopBottomAttributes(positions, options, false);
-            var indices = topIndices(numPts);
-            indices = IndexDatatype.IndexDatatype.createTypedArray(positions.length / 3, indices);
-            return {
-                boundingSphere : boundingSphere,
-                attributes : attributes,
-                indices : indices
-            };
-        }
-
-        function computeWallAttributes(positions, options) {
-            var vertexFormat = options.vertexFormat;
-            var center = options.center;
-            var semiMajorAxis = options.semiMajorAxis;
-            var semiMinorAxis = options.semiMinorAxis;
-            var ellipsoid = options.ellipsoid;
-            var height = options.height;
-            var extrudedHeight = options.extrudedHeight;
-            var stRotation = options.stRotation;
-            var size = positions.length / 3 * 2;
-
-            var finalPositions = new Float64Array(size * 3);
-            var textureCoordinates = (vertexFormat.st) ? new Float32Array(size * 2) : undefined;
-            var normals = (vertexFormat.normal) ? new Float32Array(size * 3) : undefined;
-            var tangents = (vertexFormat.tangent) ? new Float32Array(size * 3) : undefined;
-            var bitangents = (vertexFormat.bitangent) ? new Float32Array(size * 3) : undefined;
-
-            var shadowVolume = options.shadowVolume;
-            var extrudeNormals = (shadowVolume) ? new Float32Array(size * 3) : undefined;
-
-            var textureCoordIndex = 0;
-
-            // Raise positions to a height above the ellipsoid and compute the
-            // texture coordinates, normals, tangents, and bitangents.
-            var normal = scratchNormal;
-            var tangent = scratchTangent;
-            var bitangent = scratchBitangent;
-
-            var projection = new BoundingSphere.GeographicProjection(ellipsoid);
-            var projectedCenter = projection.project(ellipsoid.cartesianToCartographic(center, scratchCartographic), projectedCenterScratch);
-
-            var geodeticNormal = ellipsoid.scaleToGeodeticSurface(center, scratchCartesian1);
-            ellipsoid.geodeticSurfaceNormal(geodeticNormal, geodeticNormal);
-            var rotation = Transforms.Quaternion.fromAxisAngle(geodeticNormal, stRotation, quaternionScratch);
-            var textureMatrix = BoundingSphere.Matrix3.fromQuaternion(rotation, textureMatrixScratch);
-
-            var minTexCoord = Cartesian2.Cartesian2.fromElements(Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY, scratchMinTexCoord);
-            var maxTexCoord = Cartesian2.Cartesian2.fromElements(Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY, scratchMaxTexCoord);
-
-            var length = positions.length;
-            var stOffset = length / 3 * 2;
-            for (var i = 0; i < length; i += 3) {
-                var i1 = i + 1;
-                var i2 = i + 2;
-                var position = Cartesian2.Cartesian3.fromArray(positions, i, scratchCartesian1);
-                var extrudedPosition;
-
-                if (vertexFormat.st) {
-                    var rotatedPoint = BoundingSphere.Matrix3.multiplyByVector(textureMatrix, position, scratchCartesian2);
-                    var projectedPoint = projection.project(ellipsoid.cartesianToCartographic(rotatedPoint, scratchCartographic), scratchCartesian3);
-                    Cartesian2.Cartesian3.subtract(projectedPoint, projectedCenter, projectedPoint);
-
-                    texCoordScratch.x = (projectedPoint.x + semiMajorAxis) / (2.0 * semiMajorAxis);
-                    texCoordScratch.y = (projectedPoint.y + semiMinorAxis) / (2.0 * semiMinorAxis);
-
-                    minTexCoord.x = Math.min(texCoordScratch.x, minTexCoord.x);
-                    minTexCoord.y = Math.min(texCoordScratch.y, minTexCoord.y);
-                    maxTexCoord.x = Math.max(texCoordScratch.x, maxTexCoord.x);
-                    maxTexCoord.y = Math.max(texCoordScratch.y, maxTexCoord.y);
-
-                    textureCoordinates[textureCoordIndex + stOffset] = texCoordScratch.x;
-                    textureCoordinates[textureCoordIndex + 1 + stOffset] = texCoordScratch.y;
-
-                    textureCoordinates[textureCoordIndex++] = texCoordScratch.x;
-                    textureCoordinates[textureCoordIndex++] = texCoordScratch.y;
-                }
-
-                position = ellipsoid.scaleToGeodeticSurface(position, position);
-                extrudedPosition = Cartesian2.Cartesian3.clone(position, scratchCartesian2);
-                normal = ellipsoid.geodeticSurfaceNormal(position, normal);
-
-                if (shadowVolume) {
-                    extrudeNormals[i + length] = -normal.x;
-                    extrudeNormals[i1 + length] = -normal.y;
-                    extrudeNormals[i2 + length] = -normal.z;
-                }
-
-                var scaledNormal = Cartesian2.Cartesian3.multiplyByScalar(normal, height, scratchCartesian4);
-                position = Cartesian2.Cartesian3.add(position, scaledNormal, position);
-                scaledNormal = Cartesian2.Cartesian3.multiplyByScalar(normal, extrudedHeight, scaledNormal);
-                extrudedPosition = Cartesian2.Cartesian3.add(extrudedPosition, scaledNormal, extrudedPosition);
-
-                if (vertexFormat.position) {
-                    finalPositions[i + length] = extrudedPosition.x;
-                    finalPositions[i1 + length] = extrudedPosition.y;
-                    finalPositions[i2 + length] = extrudedPosition.z;
-
-                    finalPositions[i] = position.x;
-                    finalPositions[i1] = position.y;
-                    finalPositions[i2] = position.z;
-                }
-
-                if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
-
-                    bitangent = Cartesian2.Cartesian3.clone(normal, bitangent);
-                    var next = Cartesian2.Cartesian3.fromArray(positions, (i + 3) % length, scratchCartesian4);
-                    Cartesian2.Cartesian3.subtract(next, position, next);
-                    var bottom = Cartesian2.Cartesian3.subtract(extrudedPosition, position, scratchCartesian3);
-
-                    normal = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(bottom, next, normal), normal);
-
-                    if (vertexFormat.normal) {
-                        normals[i] = normal.x;
-                        normals[i1] = normal.y;
-                        normals[i2] = normal.z;
-
-                        normals[i + length] = normal.x;
-                        normals[i1 + length] = normal.y;
-                        normals[i2 + length] = normal.z;
-                    }
-
-                    if (vertexFormat.tangent) {
-                        tangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(bitangent, normal, tangent), tangent);
-                        tangents[i] = tangent.x;
-                        tangents[i1] = tangent.y;
-                        tangents[i2] = tangent.z;
-
-                        tangents[i + length] = tangent.x;
-                        tangents[i + 1 + length] = tangent.y;
-                        tangents[i + 2 + length] = tangent.z;
-                    }
-
-                    if (vertexFormat.bitangent) {
-                        bitangents[i ] = bitangent.x;
-                        bitangents[i1] = bitangent.y;
-                        bitangents[i2] = bitangent.z;
-
-                        bitangents[i + length] = bitangent.x;
-                        bitangents[i1 + length] = bitangent.y;
-                        bitangents[i2 + length] = bitangent.z;
-                    }
-                }
-            }
-
-            if (vertexFormat.st) {
-                length = textureCoordinates.length;
-                for (var k = 0; k < length; k += 2) {
-                    textureCoordinates[k] = (textureCoordinates[k] - minTexCoord.x) / (maxTexCoord.x - minTexCoord.x);
-                    textureCoordinates[k + 1] = (textureCoordinates[k + 1] - minTexCoord.y) / (maxTexCoord.y - minTexCoord.y);
-                }
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-
-            if (vertexFormat.position) {
-                attributes.position = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : finalPositions
-                });
-            }
-
-            if (vertexFormat.st) {
-                attributes.st = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 2,
-                    values : textureCoordinates
-                });
-            }
-
-            if (vertexFormat.normal) {
-                attributes.normal = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : normals
-                });
-            }
-
-            if (vertexFormat.tangent) {
-                attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : tangents
-                });
-            }
-
-            if (vertexFormat.bitangent) {
-                attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : bitangents
-                });
-            }
-
-            if (shadowVolume) {
-                attributes.extrudeDirection = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : extrudeNormals
-                });
-            }
-
-            if (when.defined(options.offsetAttribute)) {
-                var offsetAttribute = new Uint8Array(size);
-                if (options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                    offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, 1, 0, size / 2);
-                } else {
-                    var offsetValue = options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, offsetValue);
-                }
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values : offsetAttribute
-                });
-            }
-
-            return attributes;
-        }
-
-        function computeWallIndices(positions) {
-            var length = positions.length / 3;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(length, length * 6);
-            var index = 0;
-            for (var i = 0; i < length; i++) {
-                var UL = i;
-                var LL = i + length;
-                var UR = (UL + 1) % length;
-                var LR = UR + length;
-                indices[index++] = UL;
-                indices[index++] = LL;
-                indices[index++] = UR;
-                indices[index++] = UR;
-                indices[index++] = LL;
-                indices[index++] = LR;
-            }
-
-            return indices;
-        }
-
-        var topBoundingSphere = new BoundingSphere.BoundingSphere();
-        var bottomBoundingSphere = new BoundingSphere.BoundingSphere();
-
-        function computeExtrudedEllipse(options) {
-            var center = options.center;
-            var ellipsoid = options.ellipsoid;
-            var semiMajorAxis = options.semiMajorAxis;
-            var scaledNormal = Cartesian2.Cartesian3.multiplyByScalar(ellipsoid.geodeticSurfaceNormal(center, scratchCartesian1), options.height, scratchCartesian1);
-            topBoundingSphere.center = Cartesian2.Cartesian3.add(center, scaledNormal, topBoundingSphere.center);
-            topBoundingSphere.radius = semiMajorAxis;
-
-            scaledNormal = Cartesian2.Cartesian3.multiplyByScalar(ellipsoid.geodeticSurfaceNormal(center, scaledNormal), options.extrudedHeight, scaledNormal);
-            bottomBoundingSphere.center = Cartesian2.Cartesian3.add(center, scaledNormal, bottomBoundingSphere.center);
-            bottomBoundingSphere.radius = semiMajorAxis;
-
-            var cep = EllipseGeometryLibrary.EllipseGeometryLibrary.computeEllipsePositions(options, true, true);
-            var positions = cep.positions;
-            var numPts = cep.numPts;
-            var outerPositions = cep.outerPositions;
-            var boundingSphere = BoundingSphere.BoundingSphere.union(topBoundingSphere, bottomBoundingSphere);
-            var topBottomAttributes = computeTopBottomAttributes(positions, options, true);
-            var indices = topIndices(numPts);
-            var length = indices.length;
-            indices.length = length * 2;
-            var posLength = positions.length / 3;
-            for (var i = 0; i < length; i += 3) {
-                indices[i + length] = indices[i + 2] + posLength;
-                indices[i + 1 + length] = indices[i + 1] + posLength;
-                indices[i + 2 + length] = indices[i] + posLength;
-            }
-
-            var topBottomIndices = IndexDatatype.IndexDatatype.createTypedArray(posLength * 2 / 3, indices);
-
-            var topBottomGeo = new GeometryAttribute.Geometry({
-                attributes : topBottomAttributes,
-                indices : topBottomIndices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES
-            });
-
-            var wallAttributes = computeWallAttributes(outerPositions, options);
-            indices = computeWallIndices(outerPositions);
-            var wallIndices = IndexDatatype.IndexDatatype.createTypedArray(outerPositions.length * 2 / 3, indices);
-
-            var wallGeo = new GeometryAttribute.Geometry({
-                attributes : wallAttributes,
-                indices : wallIndices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES
-            });
-
-            var geo = GeometryPipeline.GeometryPipeline.combineInstances([
-                new GeometryInstance.GeometryInstance({
-                    geometry : topBottomGeo
-                }),
-                new GeometryInstance.GeometryInstance({
-                    geometry : wallGeo
-                })
-            ]);
-
-            return {
-                boundingSphere : boundingSphere,
-                attributes : geo[0].attributes,
-                indices : geo[0].indices
-            };
-        }
-
-        function computeRectangle(center, semiMajorAxis, semiMinorAxis, rotation, granularity, ellipsoid, result) {
-            var cep = EllipseGeometryLibrary.EllipseGeometryLibrary.computeEllipsePositions({
-                center : center,
-                semiMajorAxis : semiMajorAxis,
-                semiMinorAxis : semiMinorAxis,
-                rotation : rotation,
-                granularity : granularity
-            }, false, true);
-            var positionsFlat = cep.outerPositions;
-            var positionsCount = positionsFlat.length / 3;
-            var positions = new Array(positionsCount);
-            for (var i = 0; i < positionsCount; ++i) {
-                positions[i] = Cartesian2.Cartesian3.fromArray(positionsFlat, i * 3);
-            }
-            var rectangle = Cartesian2.Rectangle.fromCartesianArray(positions, ellipsoid, result);
-            // Rectangle width goes beyond 180 degrees when the ellipse crosses a pole.
-            // When this happens, make the rectangle into a "circle" around the pole
-            if (rectangle.width > _Math.CesiumMath.PI) {
-                rectangle.north = rectangle.north > 0.0 ? _Math.CesiumMath.PI_OVER_TWO - _Math.CesiumMath.EPSILON7 : rectangle.north;
-                rectangle.south = rectangle.south < 0.0 ? _Math.CesiumMath.EPSILON7 - _Math.CesiumMath.PI_OVER_TWO : rectangle.south;
-                rectangle.east = _Math.CesiumMath.PI;
-                rectangle.west = -_Math.CesiumMath.PI;
-            }
-            return rectangle;
-        }
-
-        /**
-         * A description of an ellipse on an ellipsoid. Ellipse geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}.
-         *
-         * @alias EllipseGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3} options.center The ellipse's center point in the fixed frame.
-         * @param {Number} options.semiMajorAxis The length of the ellipse's semi-major axis in meters.
-         * @param {Number} options.semiMinorAxis The length of the ellipse's semi-minor axis in meters.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid the ellipse will be on.
-         * @param {Number} [options.height=0.0] The distance in meters between the ellipse and the ellipsoid surface.
-         * @param {Number} [options.extrudedHeight] The distance in meters between the ellipse's extruded face and the ellipsoid surface.
-         * @param {Number} [options.rotation=0.0] The angle of rotation counter-clockwise from north.
-         * @param {Number} [options.stRotation=0.0] The rotation of the texture coordinates counter-clockwise from north.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The angular distance between points on the ellipse in radians.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         *
-         * @exception {DeveloperError} semiMajorAxis and semiMinorAxis must be greater than zero.
-         * @exception {DeveloperError} semiMajorAxis must be greater than or equal to the semiMinorAxis.
-         * @exception {DeveloperError} granularity must be greater than zero.
-         *
-         *
-         * @example
-         * // Create an ellipse.
-         * var ellipse = new Cesium.EllipseGeometry({
-         *   center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
-         *   semiMajorAxis : 500000.0,
-         *   semiMinorAxis : 300000.0,
-         *   rotation : Cesium.Math.toRadians(60.0)
-         * });
-         * var geometry = Cesium.EllipseGeometry.createGeometry(ellipse);
-         *
-         * @see EllipseGeometry.createGeometry
-         */
-        function EllipseGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var center = options.center;
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var semiMajorAxis = options.semiMajorAxis;
-            var semiMinorAxis = options.semiMinorAxis;
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            var vertexFormat = when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('options.center', center);
-            Check.Check.typeOf.number('options.semiMajorAxis', semiMajorAxis);
-            Check.Check.typeOf.number('options.semiMinorAxis', semiMinorAxis);
-            if (semiMajorAxis < semiMinorAxis) {
-                throw new Check.DeveloperError('semiMajorAxis must be greater than or equal to the semiMinorAxis.');
-            }
-            if (granularity <= 0.0) {
-                throw new Check.DeveloperError('granularity must be greater than zero.');
-            }
-            //>>includeEnd('debug');
-
-            var height = when.defaultValue(options.height, 0.0);
-            var extrudedHeight = when.defaultValue(options.extrudedHeight, height);
-
-            this._center = Cartesian2.Cartesian3.clone(center);
-            this._semiMajorAxis = semiMajorAxis;
-            this._semiMinorAxis = semiMinorAxis;
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid);
-            this._rotation = when.defaultValue(options.rotation, 0.0);
-            this._stRotation = when.defaultValue(options.stRotation, 0.0);
-            this._height = Math.max(extrudedHeight, height);
-            this._granularity = granularity;
-            this._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat);
-            this._extrudedHeight = Math.min(extrudedHeight, height);
-            this._shadowVolume = when.defaultValue(options.shadowVolume, false);
-            this._workerName = 'createEllipseGeometry';
-            this._offsetAttribute = options.offsetAttribute;
-
-            this._rectangle = undefined;
-            this._textureCoordinateRotationPoints = undefined;
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        EllipseGeometry.packedLength = Cartesian2.Cartesian3.packedLength + Cartesian2.Ellipsoid.packedLength + VertexFormat.VertexFormat.packedLength + 9;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {EllipseGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        EllipseGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            Cartesian2.Cartesian3.pack(value._center, array, startingIndex);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            array[startingIndex++] = value._semiMajorAxis;
-            array[startingIndex++] = value._semiMinorAxis;
-            array[startingIndex++] = value._rotation;
-            array[startingIndex++] = value._stRotation;
-            array[startingIndex++] = value._height;
-            array[startingIndex++] = value._granularity;
-            array[startingIndex++] = value._extrudedHeight;
-            array[startingIndex++] = value._shadowVolume ? 1.0 : 0.0;
-            array[startingIndex] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchCenter = new Cartesian2.Cartesian3();
-        var scratchEllipsoid = new Cartesian2.Ellipsoid();
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-        var scratchOptions = {
-            center : scratchCenter,
-            ellipsoid : scratchEllipsoid,
-            vertexFormat : scratchVertexFormat,
-            semiMajorAxis : undefined,
-            semiMinorAxis : undefined,
-            rotation : undefined,
-            stRotation : undefined,
-            height : undefined,
-            granularity : undefined,
-            extrudedHeight : undefined,
-            shadowVolume: undefined,
-            offsetAttribute: undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {EllipseGeometry} [result] The object into which to store the result.
-         * @returns {EllipseGeometry} The modified result parameter or a new EllipseGeometry instance if one was not provided.
-         */
-        EllipseGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var center = Cartesian2.Cartesian3.unpack(array, startingIndex, scratchCenter);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            var semiMajorAxis = array[startingIndex++];
-            var semiMinorAxis = array[startingIndex++];
-            var rotation = array[startingIndex++];
-            var stRotation = array[startingIndex++];
-            var height = array[startingIndex++];
-            var granularity = array[startingIndex++];
-            var extrudedHeight = array[startingIndex++];
-            var shadowVolume = array[startingIndex++] === 1.0;
-            var offsetAttribute = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.height = height;
-                scratchOptions.extrudedHeight = extrudedHeight;
-                scratchOptions.granularity = granularity;
-                scratchOptions.stRotation = stRotation;
-                scratchOptions.rotation = rotation;
-                scratchOptions.semiMajorAxis = semiMajorAxis;
-                scratchOptions.semiMinorAxis = semiMinorAxis;
-                scratchOptions.shadowVolume = shadowVolume;
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-                return new EllipseGeometry(scratchOptions);
-            }
-
-            result._center = Cartesian2.Cartesian3.clone(center, result._center);
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._semiMajorAxis = semiMajorAxis;
-            result._semiMinorAxis = semiMinorAxis;
-            result._rotation = rotation;
-            result._stRotation = stRotation;
-            result._height = height;
-            result._granularity = granularity;
-            result._extrudedHeight = extrudedHeight;
-            result._shadowVolume = shadowVolume;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the bounding rectangle based on the provided options
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3} options.center The ellipse's center point in the fixed frame.
-         * @param {Number} options.semiMajorAxis The length of the ellipse's semi-major axis in meters.
-         * @param {Number} options.semiMinorAxis The length of the ellipse's semi-minor axis in meters.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid the ellipse will be on.
-         * @param {Number} [options.rotation=0.0] The angle of rotation counter-clockwise from north.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The angular distance between points on the ellipse in radians.
-         * @param {Rectangle} [result] An object in which to store the result
-         *
-         * @returns {Rectangle} The result rectangle
-         */
-        EllipseGeometry.computeRectangle = function(options, result) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var center = options.center;
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var semiMajorAxis = options.semiMajorAxis;
-            var semiMinorAxis = options.semiMinorAxis;
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            var rotation = when.defaultValue(options.rotation, 0.0);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('options.center', center);
-            Check.Check.typeOf.number('options.semiMajorAxis', semiMajorAxis);
-            Check.Check.typeOf.number('options.semiMinorAxis', semiMinorAxis);
-            if (semiMajorAxis < semiMinorAxis) {
-                throw new Check.DeveloperError('semiMajorAxis must be greater than or equal to the semiMinorAxis.');
-            }
-            if (granularity <= 0.0) {
-                throw new Check.DeveloperError('granularity must be greater than zero.');
-            }
-            //>>includeEnd('debug');
-
-            return computeRectangle(center, semiMajorAxis, semiMinorAxis, rotation, granularity, ellipsoid, result);
-        };
-
-        /**
-         * Computes the geometric representation of a ellipse on an ellipsoid, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {EllipseGeometry} ellipseGeometry A description of the ellipse.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        EllipseGeometry.createGeometry = function(ellipseGeometry) {
-            if ((ellipseGeometry._semiMajorAxis <= 0.0) || (ellipseGeometry._semiMinorAxis <= 0.0)) {
-                return;
-            }
-
-            var height = ellipseGeometry._height;
-            var extrudedHeight = ellipseGeometry._extrudedHeight;
-            var extrude = !_Math.CesiumMath.equalsEpsilon(height, extrudedHeight, 0, _Math.CesiumMath.EPSILON2);
-
-            ellipseGeometry._center = ellipseGeometry._ellipsoid.scaleToGeodeticSurface(ellipseGeometry._center, ellipseGeometry._center);
-            var options = {
-                center : ellipseGeometry._center,
-                semiMajorAxis : ellipseGeometry._semiMajorAxis,
-                semiMinorAxis : ellipseGeometry._semiMinorAxis,
-                ellipsoid : ellipseGeometry._ellipsoid,
-                rotation : ellipseGeometry._rotation,
-                height : height,
-                granularity : ellipseGeometry._granularity,
-                vertexFormat : ellipseGeometry._vertexFormat,
-                stRotation : ellipseGeometry._stRotation
-            };
-            var geometry;
-            if (extrude) {
-                options.extrudedHeight = extrudedHeight;
-                options.shadowVolume = ellipseGeometry._shadowVolume;
-                options.offsetAttribute = ellipseGeometry._offsetAttribute;
-                geometry = computeExtrudedEllipse(options);
-            } else {
-                geometry = computeEllipse(options);
-
-                if (when.defined(ellipseGeometry._offsetAttribute)) {
-                    var length = geometry.attributes.position.values.length;
-                    var applyOffset = new Uint8Array(length / 3);
-                    var offsetValue = ellipseGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                    geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                        componentsPerAttribute : 1,
-                        values: applyOffset
-                    });
-                }
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : geometry.attributes,
-                indices : geometry.indices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES,
-                boundingSphere : geometry.boundingSphere,
-                offsetAttribute : ellipseGeometry._offsetAttribute
-            });
-        };
-
-        /**
-         * @private
-         */
-        EllipseGeometry.createShadowVolume = function(ellipseGeometry, minHeightFunc, maxHeightFunc) {
-            var granularity = ellipseGeometry._granularity;
-            var ellipsoid = ellipseGeometry._ellipsoid;
-
-            var minHeight = minHeightFunc(granularity, ellipsoid);
-            var maxHeight = maxHeightFunc(granularity, ellipsoid);
-
-            return new EllipseGeometry({
-                center : ellipseGeometry._center,
-                semiMajorAxis : ellipseGeometry._semiMajorAxis,
-                semiMinorAxis : ellipseGeometry._semiMinorAxis,
-                ellipsoid : ellipsoid,
-                rotation : ellipseGeometry._rotation,
-                stRotation : ellipseGeometry._stRotation,
-                granularity : granularity,
-                extrudedHeight : minHeight,
-                height : maxHeight,
-                vertexFormat : VertexFormat.VertexFormat.POSITION_ONLY,
-                shadowVolume: true
-            });
-        };
-
-        function textureCoordinateRotationPoints(ellipseGeometry) {
-            var stRotation = -ellipseGeometry._stRotation;
-            if (stRotation === 0.0) {
-                return [0, 0, 0, 1, 1, 0];
-            }
-
-            var cep = EllipseGeometryLibrary.EllipseGeometryLibrary.computeEllipsePositions({
-                center : ellipseGeometry._center,
-                semiMajorAxis : ellipseGeometry._semiMajorAxis,
-                semiMinorAxis : ellipseGeometry._semiMinorAxis,
-                rotation : ellipseGeometry._rotation,
-                granularity : ellipseGeometry._granularity
-            }, false, true);
-            var positionsFlat = cep.outerPositions;
-            var positionsCount = positionsFlat.length / 3;
-            var positions = new Array(positionsCount);
-            for (var i = 0; i < positionsCount; ++i) {
-                positions[i] = Cartesian2.Cartesian3.fromArray(positionsFlat, i * 3);
-            }
-
-            var ellipsoid = ellipseGeometry._ellipsoid;
-            var boundingRectangle = ellipseGeometry.rectangle;
-            return GeometryAttribute.Geometry._textureCoordinateRotationPoints(positions, stRotation, ellipsoid, boundingRectangle);
-        }
-
-        Object.defineProperties(EllipseGeometry.prototype, {
-            /**
-             * @private
-             */
-            rectangle : {
-                get : function() {
-                    if (!when.defined(this._rectangle)) {
-                        this._rectangle = computeRectangle(this._center, this._semiMajorAxis, this._semiMinorAxis, this._rotation, this._granularity, this._ellipsoid);
-                    }
-                    return this._rectangle;
-                }
-            },
-            /**
-             * For remapping texture coordinates when rendering EllipseGeometries as GroundPrimitives.
-             * @private
-             */
-            textureCoordinateRotationPoints : {
-                get : function() {
-                    if (!when.defined(this._textureCoordinateRotationPoints)) {
-                        this._textureCoordinateRotationPoints = textureCoordinateRotationPoints(this);
-                    }
-                    return this._textureCoordinateRotationPoints;
-                }
-            }
-        });
-
-    exports.EllipseGeometry = EllipseGeometry;
-
-});
diff --git a/libs/supermap/Workers/EllipseGeometryLibrary-df806546.js b/libs/supermap/Workers/EllipseGeometryLibrary-df806546.js
deleted file mode 100644
index 73c91f0..0000000
--- a/libs/supermap/Workers/EllipseGeometryLibrary-df806546.js
+++ /dev/null
@@ -1,285 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './Transforms-2f2aa225'], function (exports, _Math, Cartesian2, BoundingSphere, Transforms) { 'use strict';
-
-    var EllipseGeometryLibrary = {};
-
-        var rotAxis = new Cartesian2.Cartesian3();
-        var tempVec = new Cartesian2.Cartesian3();
-        var unitQuat = new Transforms.Quaternion();
-        var rotMtx = new BoundingSphere.Matrix3();
-
-        function pointOnEllipsoid(theta, rotation, northVec, eastVec, aSqr, ab, bSqr, mag, unitPos, result) {
-            var azimuth = theta + rotation;
-
-            Cartesian2.Cartesian3.multiplyByScalar(eastVec, Math.cos(azimuth), rotAxis);
-            Cartesian2.Cartesian3.multiplyByScalar(northVec, Math.sin(azimuth), tempVec);
-            Cartesian2.Cartesian3.add(rotAxis, tempVec, rotAxis);
-
-            var cosThetaSquared = Math.cos(theta);
-            cosThetaSquared = cosThetaSquared * cosThetaSquared;
-
-            var sinThetaSquared = Math.sin(theta);
-            sinThetaSquared = sinThetaSquared * sinThetaSquared;
-
-            var radius = ab / Math.sqrt(bSqr * cosThetaSquared + aSqr * sinThetaSquared);
-            var angle = radius / mag;
-
-            // Create the quaternion to rotate the position vector to the boundary of the ellipse.
-            Transforms.Quaternion.fromAxisAngle(rotAxis, angle, unitQuat);
-            BoundingSphere.Matrix3.fromQuaternion(unitQuat, rotMtx);
-
-            BoundingSphere.Matrix3.multiplyByVector(rotMtx, unitPos, result);
-            Cartesian2.Cartesian3.normalize(result, result);
-            Cartesian2.Cartesian3.multiplyByScalar(result, mag, result);
-            return result;
-        }
-
-        var scratchCartesian1 = new Cartesian2.Cartesian3();
-        var scratchCartesian2 = new Cartesian2.Cartesian3();
-        var scratchCartesian3 = new Cartesian2.Cartesian3();
-        var scratchNormal = new Cartesian2.Cartesian3();
-        /**
-         * Returns the positions raised to the given heights
-         * @private
-         */
-        EllipseGeometryLibrary.raisePositionsToHeight = function(positions, options, extrude) {
-            var ellipsoid = options.ellipsoid;
-            var height = options.height;
-            var extrudedHeight = options.extrudedHeight;
-            var size = (extrude) ? positions.length / 3 * 2 : positions.length / 3;
-
-            var finalPositions = new Float64Array(size * 3);
-
-            var length = positions.length;
-            var bottomOffset = (extrude) ? length : 0;
-            for (var i = 0; i < length; i += 3) {
-                var i1 = i + 1;
-                var i2 = i + 2;
-
-                var position = Cartesian2.Cartesian3.fromArray(positions, i, scratchCartesian1);
-                ellipsoid.scaleToGeodeticSurface(position, position);
-
-                var extrudedPosition = Cartesian2.Cartesian3.clone(position, scratchCartesian2);
-                var normal = ellipsoid.geodeticSurfaceNormal(position, scratchNormal);
-                var scaledNormal = Cartesian2.Cartesian3.multiplyByScalar(normal, height, scratchCartesian3);
-                Cartesian2.Cartesian3.add(position, scaledNormal, position);
-
-                if (extrude) {
-                    Cartesian2.Cartesian3.multiplyByScalar(normal, extrudedHeight, scaledNormal);
-                    Cartesian2.Cartesian3.add(extrudedPosition, scaledNormal, extrudedPosition);
-
-                    finalPositions[i + bottomOffset] = extrudedPosition.x;
-                    finalPositions[i1 + bottomOffset] = extrudedPosition.y;
-                    finalPositions[i2 + bottomOffset] = extrudedPosition.z;
-                }
-
-                finalPositions[i] = position.x;
-                finalPositions[i1] = position.y;
-                finalPositions[i2] = position.z;
-            }
-
-            return finalPositions;
-        };
-
-        var unitPosScratch = new Cartesian2.Cartesian3();
-        var eastVecScratch = new Cartesian2.Cartesian3();
-        var northVecScratch = new Cartesian2.Cartesian3();
-        /**
-         * Returns an array of positions that make up the ellipse.
-         * @private
-         */
-        EllipseGeometryLibrary.computeEllipsePositions = function(options, addFillPositions, addEdgePositions) {
-            var semiMinorAxis = options.semiMinorAxis;
-            var semiMajorAxis = options.semiMajorAxis;
-            var rotation = options.rotation;
-            var center = options.center;
-
-            // Computing the arc-length of the ellipse is too expensive to be practical. Estimating it using the
-            // arc length of the sphere is too inaccurate and creates sharp edges when either the semi-major or
-            // semi-minor axis is much bigger than the other. Instead, scale the angle delta to make
-            // the distance along the ellipse boundary more closely match the granularity.
-            var granularity = options.granularity * 8.0;
-
-            var aSqr = semiMinorAxis * semiMinorAxis;
-            var bSqr = semiMajorAxis * semiMajorAxis;
-            var ab = semiMajorAxis * semiMinorAxis;
-
-            var mag = Cartesian2.Cartesian3.magnitude(center);
-
-            var unitPos = Cartesian2.Cartesian3.normalize(center, unitPosScratch);
-            var eastVec = Cartesian2.Cartesian3.cross(Cartesian2.Cartesian3.UNIT_Z, center, eastVecScratch);
-            eastVec = Cartesian2.Cartesian3.normalize(eastVec, eastVec);
-            var northVec = Cartesian2.Cartesian3.cross(unitPos, eastVec, northVecScratch);
-
-            // The number of points in the first quadrant
-            var numPts = 1 + Math.ceil(_Math.CesiumMath.PI_OVER_TWO / granularity);
-
-            var deltaTheta = _Math.CesiumMath.PI_OVER_TWO / (numPts - 1);
-            var theta = _Math.CesiumMath.PI_OVER_TWO - numPts * deltaTheta;
-            if (theta < 0.0) {
-                numPts -= Math.ceil(Math.abs(theta) / deltaTheta);
-            }
-
-            // If the number of points were three, the ellipse
-            // would be tessellated like below:
-            //
-            //         *---*
-            //       / | \ | \
-            //     *---*---*---*
-            //   / | \ | \ | \ | \
-            //  / .*---*---*---*. \
-            // * ` | \ | \ | \ | `*
-            //  \`.*---*---*---*.`/
-            //   \ | \ | \ | \ | /
-            //     *---*---*---*
-            //       \ | \ | /
-            //         *---*
-            // The first and last column have one position and fan to connect to the adjacent column.
-            // Each other vertical column contains an even number of positions.
-            var size = 2 * (numPts * (numPts + 2));
-            var positions = (addFillPositions) ? new Array(size * 3) : undefined;
-            var positionIndex = 0;
-            var position = scratchCartesian1;
-            var reflectedPosition = scratchCartesian2;
-
-            var outerPositionsLength = (numPts * 4) * 3;
-            var outerRightIndex = outerPositionsLength - 1;
-            var outerLeftIndex = 0;
-            var outerPositions = (addEdgePositions) ? new Array(outerPositionsLength) : undefined;
-
-            var i;
-            var j;
-            var numInterior;
-            var t;
-            var interiorPosition;
-
-            // Compute points in the 'eastern' half of the ellipse
-            theta = _Math.CesiumMath.PI_OVER_TWO;
-            position = pointOnEllipsoid(theta, rotation, northVec, eastVec, aSqr, ab, bSqr, mag, unitPos, position);
-            if (addFillPositions) {
-                positions[positionIndex++] = position.x;
-                positions[positionIndex++] = position.y;
-                positions[positionIndex++] = position.z;
-            }
-            if (addEdgePositions) {
-                outerPositions[outerRightIndex--] = position.z;
-                outerPositions[outerRightIndex--] = position.y;
-                outerPositions[outerRightIndex--] = position.x;
-            }
-            theta = _Math.CesiumMath.PI_OVER_TWO -  deltaTheta;
-            for (i = 1; i < numPts + 1; ++i) {
-                position = pointOnEllipsoid(theta, rotation, northVec, eastVec, aSqr, ab, bSqr, mag, unitPos, position);
-                reflectedPosition = pointOnEllipsoid(Math.PI - theta, rotation, northVec, eastVec, aSqr, ab, bSqr, mag, unitPos, reflectedPosition);
-
-                if (addFillPositions) {
-                    positions[positionIndex++] = position.x;
-                    positions[positionIndex++] = position.y;
-                    positions[positionIndex++] = position.z;
-
-                    numInterior = 2 * i + 2;
-                    for (j = 1; j < numInterior - 1; ++j) {
-                        t = j / (numInterior - 1);
-                        interiorPosition = Cartesian2.Cartesian3.lerp(position, reflectedPosition, t, scratchCartesian3);
-                        positions[positionIndex++] = interiorPosition.x;
-                        positions[positionIndex++] = interiorPosition.y;
-                        positions[positionIndex++] = interiorPosition.z;
-                    }
-
-                    positions[positionIndex++] = reflectedPosition.x;
-                    positions[positionIndex++] = reflectedPosition.y;
-                    positions[positionIndex++] = reflectedPosition.z;
-                }
-
-                if (addEdgePositions) {
-                    outerPositions[outerRightIndex--] = position.z;
-                    outerPositions[outerRightIndex--] = position.y;
-                    outerPositions[outerRightIndex--] = position.x;
-                    outerPositions[outerLeftIndex++] = reflectedPosition.x;
-                    outerPositions[outerLeftIndex++] = reflectedPosition.y;
-                    outerPositions[outerLeftIndex++] = reflectedPosition.z;
-                }
-
-                theta = _Math.CesiumMath.PI_OVER_TWO - (i + 1) * deltaTheta;
-            }
-
-            // Compute points in the 'western' half of the ellipse
-            for (i = numPts; i > 1; --i) {
-                theta = _Math.CesiumMath.PI_OVER_TWO - (i - 1) * deltaTheta;
-
-                position = pointOnEllipsoid(-theta, rotation, northVec, eastVec, aSqr, ab, bSqr, mag, unitPos, position);
-                reflectedPosition = pointOnEllipsoid(theta + Math.PI, rotation, northVec, eastVec, aSqr, ab, bSqr, mag, unitPos, reflectedPosition);
-
-                if (addFillPositions) {
-                    positions[positionIndex++] = position.x;
-                    positions[positionIndex++] = position.y;
-                    positions[positionIndex++] = position.z;
-
-                    numInterior = 2 * (i - 1) + 2;
-                    for (j = 1; j < numInterior - 1; ++j) {
-                        t = j / (numInterior - 1);
-                        interiorPosition = Cartesian2.Cartesian3.lerp(position, reflectedPosition, t, scratchCartesian3);
-                        positions[positionIndex++] = interiorPosition.x;
-                        positions[positionIndex++] = interiorPosition.y;
-                        positions[positionIndex++] = interiorPosition.z;
-                    }
-
-                    positions[positionIndex++] = reflectedPosition.x;
-                    positions[positionIndex++] = reflectedPosition.y;
-                    positions[positionIndex++] = reflectedPosition.z;
-                }
-
-                if (addEdgePositions) {
-                    outerPositions[outerRightIndex--] = position.z;
-                    outerPositions[outerRightIndex--] = position.y;
-                    outerPositions[outerRightIndex--] = position.x;
-                    outerPositions[outerLeftIndex++] = reflectedPosition.x;
-                    outerPositions[outerLeftIndex++] = reflectedPosition.y;
-                    outerPositions[outerLeftIndex++] = reflectedPosition.z;
-                }
-            }
-
-            theta = _Math.CesiumMath.PI_OVER_TWO;
-            position = pointOnEllipsoid(-theta, rotation, northVec, eastVec, aSqr, ab, bSqr, mag, unitPos, position);
-
-            var r = {};
-            if (addFillPositions) {
-                positions[positionIndex++] = position.x;
-                positions[positionIndex++] = position.y;
-                positions[positionIndex++] = position.z;
-                r.positions = positions;
-                r.numPts = numPts;
-            }
-            if (addEdgePositions) {
-                outerPositions[outerRightIndex--] = position.z;
-                outerPositions[outerRightIndex--] = position.y;
-                outerPositions[outerRightIndex--] = position.x;
-                r.outerPositions = outerPositions;
-            }
-
-            return r;
-        };
-
-    exports.EllipseGeometryLibrary = EllipseGeometryLibrary;
-
-});
diff --git a/libs/supermap/Workers/EllipseOutlineGeometry-0fa300c2.js b/libs/supermap/Workers/EllipseOutlineGeometry-0fa300c2.js
deleted file mode 100644
index 135a578..0000000
--- a/libs/supermap/Workers/EllipseOutlineGeometry-0fa300c2.js
+++ /dev/null
@@ -1,387 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './EllipseGeometryLibrary-df806546'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, ComponentDatatype, GeometryAttribute, PrimitiveType, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, EllipseGeometryLibrary) { 'use strict';
-
-    var scratchCartesian1 = new Cartesian2.Cartesian3();
-        var boundingSphereCenter = new Cartesian2.Cartesian3();
-
-        function computeEllipse(options) {
-            var center = options.center;
-            boundingSphereCenter = Cartesian2.Cartesian3.multiplyByScalar(options.ellipsoid.geodeticSurfaceNormal(center, boundingSphereCenter), options.height, boundingSphereCenter);
-            boundingSphereCenter = Cartesian2.Cartesian3.add(center, boundingSphereCenter, boundingSphereCenter);
-            var boundingSphere = new BoundingSphere.BoundingSphere(boundingSphereCenter, options.semiMajorAxis);
-            var positions = EllipseGeometryLibrary.EllipseGeometryLibrary.computeEllipsePositions(options, false, true).outerPositions;
-
-            var attributes = new GeometryAttributes.GeometryAttributes({
-                position: new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : EllipseGeometryLibrary.EllipseGeometryLibrary.raisePositionsToHeight(positions, options, false)
-                })
-            });
-
-            var length = positions.length / 3;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(length, length * 2);
-            var index = 0;
-            for ( var i = 0; i < length; ++i) {
-                indices[index++] = i;
-                indices[index++] = (i + 1) % length;
-            }
-
-            return {
-                boundingSphere : boundingSphere,
-                attributes : attributes,
-                indices : indices
-            };
-        }
-
-        var topBoundingSphere = new BoundingSphere.BoundingSphere();
-        var bottomBoundingSphere = new BoundingSphere.BoundingSphere();
-        function computeExtrudedEllipse(options) {
-            var center = options.center;
-            var ellipsoid = options.ellipsoid;
-            var semiMajorAxis = options.semiMajorAxis;
-            var scaledNormal = Cartesian2.Cartesian3.multiplyByScalar(ellipsoid.geodeticSurfaceNormal(center, scratchCartesian1), options.height, scratchCartesian1);
-            topBoundingSphere.center = Cartesian2.Cartesian3.add(center, scaledNormal, topBoundingSphere.center);
-            topBoundingSphere.radius = semiMajorAxis;
-
-            scaledNormal = Cartesian2.Cartesian3.multiplyByScalar(ellipsoid.geodeticSurfaceNormal(center, scaledNormal), options.extrudedHeight, scaledNormal);
-            bottomBoundingSphere.center = Cartesian2.Cartesian3.add(center, scaledNormal, bottomBoundingSphere.center);
-            bottomBoundingSphere.radius = semiMajorAxis;
-
-            var positions = EllipseGeometryLibrary.EllipseGeometryLibrary.computeEllipsePositions(options, false, true).outerPositions;
-            var attributes = new GeometryAttributes.GeometryAttributes({
-                position: new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : EllipseGeometryLibrary.EllipseGeometryLibrary.raisePositionsToHeight(positions, options, true)
-                })
-            });
-
-            positions = attributes.position.values;
-            var boundingSphere = BoundingSphere.BoundingSphere.union(topBoundingSphere, bottomBoundingSphere);
-            var length = positions.length/3;
-
-            if (when.defined(options.offsetAttribute)) {
-                var applyOffset = new Uint8Array(length);
-                if (options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                    applyOffset = GeometryOffsetAttribute.arrayFill(applyOffset, 1, 0, length / 2);
-                } else {
-                    var offsetValue = options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    applyOffset = GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                }
-
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values: applyOffset
-                });
-            }
-
-            var numberOfVerticalLines = when.defaultValue(options.numberOfVerticalLines, 16);
-            numberOfVerticalLines = _Math.CesiumMath.clamp(numberOfVerticalLines, 0, length/2);
-
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(length, length * 2 + numberOfVerticalLines * 2);
-
-            length /= 2;
-            var index = 0;
-            var i;
-            for (i = 0; i < length; ++i) {
-                indices[index++] = i;
-                indices[index++] = (i + 1) % length;
-                indices[index++] = i + length;
-                indices[index++] = ((i + 1) % length) + length;
-            }
-
-            var numSide;
-            if (numberOfVerticalLines > 0) {
-                var numSideLines = Math.min(numberOfVerticalLines, length);
-                numSide = Math.round(length / numSideLines);
-
-                var maxI = Math.min(numSide * numberOfVerticalLines, length);
-                for (i = 0; i < maxI; i += numSide) {
-                    indices[index++] = i;
-                    indices[index++] = i + length;
-                }
-            }
-
-            return {
-                boundingSphere : boundingSphere,
-                attributes : attributes,
-                indices : indices
-            };
-        }
-
-        /**
-         * A description of the outline of an ellipse on an ellipsoid.
-         *
-         * @alias EllipseOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3} options.center The ellipse's center point in the fixed frame.
-         * @param {Number} options.semiMajorAxis The length of the ellipse's semi-major axis in meters.
-         * @param {Number} options.semiMinorAxis The length of the ellipse's semi-minor axis in meters.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid the ellipse will be on.
-         * @param {Number} [options.height=0.0] The distance in meters between the ellipse and the ellipsoid surface.
-         * @param {Number} [options.extrudedHeight] The distance in meters between the ellipse's extruded face and the ellipsoid surface.
-         * @param {Number} [options.rotation=0.0] The angle from north (counter-clockwise) in radians.
-         * @param {Number} [options.granularity=0.02] The angular distance between points on the ellipse in radians.
-         * @param {Number} [options.numberOfVerticalLines=16] Number of lines to draw between the top and bottom surface of an extruded ellipse.
-         *
-         * @exception {DeveloperError} semiMajorAxis and semiMinorAxis must be greater than zero.
-         * @exception {DeveloperError} semiMajorAxis must be greater than or equal to the semiMinorAxis.
-         * @exception {DeveloperError} granularity must be greater than zero.
-         *
-         * @see EllipseOutlineGeometry.createGeometry
-         *
-         * @example
-         * var ellipse = new Cesium.EllipseOutlineGeometry({
-         *   center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
-         *   semiMajorAxis : 500000.0,
-         *   semiMinorAxis : 300000.0,
-         *   rotation : Cesium.Math.toRadians(60.0)
-         * });
-         * var geometry = Cesium.EllipseOutlineGeometry.createGeometry(ellipse);
-         */
-        function EllipseOutlineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var center = options.center;
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var semiMajorAxis = options.semiMajorAxis;
-            var semiMinorAxis = options.semiMinorAxis;
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(center)) {
-                throw new Check.DeveloperError('center is required.');
-            }
-            if (!when.defined(semiMajorAxis)) {
-                throw new Check.DeveloperError('semiMajorAxis is required.');
-            }
-            if (!when.defined(semiMinorAxis)) {
-                throw new Check.DeveloperError('semiMinorAxis is required.');
-            }
-            if (semiMajorAxis < semiMinorAxis) {
-                throw new Check.DeveloperError('semiMajorAxis must be greater than or equal to the semiMinorAxis.');
-            }
-            if (granularity <= 0.0) {
-                throw new Check.DeveloperError('granularity must be greater than zero.');
-            }
-            //>>includeEnd('debug');
-
-            var height = when.defaultValue(options.height, 0.0);
-            var extrudedHeight = when.defaultValue(options.extrudedHeight, height);
-
-            this._center = Cartesian2.Cartesian3.clone(center);
-            this._semiMajorAxis = semiMajorAxis;
-            this._semiMinorAxis = semiMinorAxis;
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid);
-            this._rotation = when.defaultValue(options.rotation, 0.0);
-            this._height = Math.max(extrudedHeight, height);
-            this._granularity = granularity;
-            this._extrudedHeight = Math.min(extrudedHeight, height);
-            this._numberOfVerticalLines = Math.max(when.defaultValue(options.numberOfVerticalLines, 16), 0);
-            this._offsetAttribute = options.offsetAttribute;
-            this._workerName = 'createEllipseOutlineGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        EllipseOutlineGeometry.packedLength = Cartesian2.Cartesian3.packedLength + Cartesian2.Ellipsoid.packedLength + 8;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {EllipseOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        EllipseOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            Cartesian2.Cartesian3.pack(value._center, array, startingIndex);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            array[startingIndex++] = value._semiMajorAxis;
-            array[startingIndex++] = value._semiMinorAxis;
-            array[startingIndex++] = value._rotation;
-            array[startingIndex++] = value._height;
-            array[startingIndex++] = value._granularity;
-            array[startingIndex++] = value._extrudedHeight;
-            array[startingIndex++]   = value._numberOfVerticalLines;
-            array[startingIndex] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchCenter = new Cartesian2.Cartesian3();
-        var scratchEllipsoid = new Cartesian2.Ellipsoid();
-        var scratchOptions = {
-            center : scratchCenter,
-            ellipsoid : scratchEllipsoid,
-            semiMajorAxis : undefined,
-            semiMinorAxis : undefined,
-            rotation : undefined,
-            height : undefined,
-            granularity : undefined,
-            extrudedHeight : undefined,
-            numberOfVerticalLines : undefined,
-            offsetAttribute: undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {EllipseOutlineGeometry} [result] The object into which to store the result.
-         * @returns {EllipseOutlineGeometry} The modified result parameter or a new EllipseOutlineGeometry instance if one was not provided.
-         */
-        EllipseOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var center = Cartesian2.Cartesian3.unpack(array, startingIndex, scratchCenter);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var semiMajorAxis = array[startingIndex++];
-            var semiMinorAxis = array[startingIndex++];
-            var rotation = array[startingIndex++];
-            var height = array[startingIndex++];
-            var granularity = array[startingIndex++];
-            var extrudedHeight = array[startingIndex++];
-            var numberOfVerticalLines = array[startingIndex++];
-            var offsetAttribute = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.height = height;
-                scratchOptions.extrudedHeight = extrudedHeight;
-                scratchOptions.granularity = granularity;
-                scratchOptions.rotation = rotation;
-                scratchOptions.semiMajorAxis = semiMajorAxis;
-                scratchOptions.semiMinorAxis = semiMinorAxis;
-                scratchOptions.numberOfVerticalLines = numberOfVerticalLines;
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-                return new EllipseOutlineGeometry(scratchOptions);
-            }
-
-            result._center = Cartesian2.Cartesian3.clone(center, result._center);
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._semiMajorAxis = semiMajorAxis;
-            result._semiMinorAxis = semiMinorAxis;
-            result._rotation = rotation;
-            result._height = height;
-            result._granularity = granularity;
-            result._extrudedHeight = extrudedHeight;
-            result._numberOfVerticalLines = numberOfVerticalLines;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of an outline of an ellipse on an ellipsoid, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {EllipseOutlineGeometry} ellipseGeometry A description of the ellipse.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        EllipseOutlineGeometry.createGeometry = function(ellipseGeometry) {
-            if ((ellipseGeometry._semiMajorAxis <= 0.0) || (ellipseGeometry._semiMinorAxis <= 0.0)) {
-                return;
-            }
-
-            var height = ellipseGeometry._height;
-            var extrudedHeight = ellipseGeometry._extrudedHeight;
-            var extrude = !_Math.CesiumMath.equalsEpsilon(height, extrudedHeight, 0, _Math.CesiumMath.EPSILON2);
-
-            ellipseGeometry._center = ellipseGeometry._ellipsoid.scaleToGeodeticSurface(ellipseGeometry._center, ellipseGeometry._center);
-            var options = {
-                center : ellipseGeometry._center,
-                semiMajorAxis : ellipseGeometry._semiMajorAxis,
-                semiMinorAxis : ellipseGeometry._semiMinorAxis,
-                ellipsoid : ellipseGeometry._ellipsoid,
-                rotation : ellipseGeometry._rotation,
-                height : height,
-                granularity : ellipseGeometry._granularity,
-                numberOfVerticalLines : ellipseGeometry._numberOfVerticalLines
-            };
-            var geometry;
-            if (extrude) {
-                options.extrudedHeight = extrudedHeight;
-                options.offsetAttribute = ellipseGeometry._offsetAttribute;
-                geometry = computeExtrudedEllipse(options);
-            } else {
-                geometry = computeEllipse(options);
-
-                if (when.defined(ellipseGeometry._offsetAttribute)) {
-                    var length = geometry.attributes.position.values.length;
-                    var applyOffset = new Uint8Array(length / 3);
-                    var offsetValue = ellipseGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                    geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                        componentsPerAttribute : 1,
-                        values: applyOffset
-                    });
-                }
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : geometry.attributes,
-                indices : geometry.indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES,
-                boundingSphere : geometry.boundingSphere,
-                offsetAttribute : ellipseGeometry._offsetAttribute
-            });
-        };
-
-    exports.EllipseOutlineGeometry = EllipseOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/EllipsoidGeodesic-15923280.js b/libs/supermap/Workers/EllipsoidGeodesic-15923280.js
deleted file mode 100644
index 8fff59d..0000000
--- a/libs/supermap/Workers/EllipsoidGeodesic-15923280.js
+++ /dev/null
@@ -1,413 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75'], function (exports, when, Check, _Math, Cartesian2) { 'use strict';
-
-    function setConstants(ellipsoidGeodesic) {
-            var uSquared = ellipsoidGeodesic._uSquared;
-            var a = ellipsoidGeodesic._ellipsoid.maximumRadius;
-            var b = ellipsoidGeodesic._ellipsoid.minimumRadius;
-            var f = (a - b) / a;
-
-            var cosineHeading = Math.cos(ellipsoidGeodesic._startHeading);
-            var sineHeading = Math.sin(ellipsoidGeodesic._startHeading);
-
-            var tanU = (1 - f) * Math.tan(ellipsoidGeodesic._start.latitude);
-
-            var cosineU = 1.0 / Math.sqrt(1.0 + tanU * tanU);
-            var sineU = cosineU * tanU;
-
-            var sigma = Math.atan2(tanU, cosineHeading);
-
-            var sineAlpha = cosineU * sineHeading;
-            var sineSquaredAlpha = sineAlpha * sineAlpha;
-
-            var cosineSquaredAlpha = 1.0 - sineSquaredAlpha;
-            var cosineAlpha = Math.sqrt(cosineSquaredAlpha);
-
-            var u2Over4 = uSquared / 4.0;
-            var u4Over16 = u2Over4 * u2Over4;
-            var u6Over64 = u4Over16 * u2Over4;
-            var u8Over256 = u4Over16 * u4Over16;
-
-            var a0 = (1.0 + u2Over4 - 3.0 * u4Over16 / 4.0 + 5.0 * u6Over64 / 4.0 - 175.0 * u8Over256 / 64.0);
-            var a1 = (1.0 - u2Over4 + 15.0 * u4Over16 / 8.0 - 35.0 * u6Over64 / 8.0);
-            var a2 = (1.0 - 3.0 * u2Over4 + 35.0 * u4Over16 / 4.0);
-            var a3 = (1.0 - 5.0 * u2Over4);
-
-            var distanceRatio = a0 * sigma - a1 * Math.sin(2.0 * sigma) * u2Over4 / 2.0 - a2 * Math.sin(4.0 * sigma) * u4Over16 / 16.0 -
-                                a3 * Math.sin(6.0 * sigma) * u6Over64 / 48.0 - Math.sin(8.0 * sigma) * 5.0 * u8Over256 / 512;
-
-            var constants = ellipsoidGeodesic._constants;
-
-            constants.a = a;
-            constants.b = b;
-            constants.f = f;
-            constants.cosineHeading = cosineHeading;
-            constants.sineHeading = sineHeading;
-            constants.tanU = tanU;
-            constants.cosineU = cosineU;
-            constants.sineU = sineU;
-            constants.sigma = sigma;
-            constants.sineAlpha = sineAlpha;
-            constants.sineSquaredAlpha = sineSquaredAlpha;
-            constants.cosineSquaredAlpha = cosineSquaredAlpha;
-            constants.cosineAlpha = cosineAlpha;
-            constants.u2Over4 = u2Over4;
-            constants.u4Over16 = u4Over16;
-            constants.u6Over64 = u6Over64;
-            constants.u8Over256 = u8Over256;
-            constants.a0 = a0;
-            constants.a1 = a1;
-            constants.a2 = a2;
-            constants.a3 = a3;
-            constants.distanceRatio = distanceRatio;
-        }
-
-        function computeC(f, cosineSquaredAlpha) {
-            return f * cosineSquaredAlpha * (4.0 + f * (4.0 - 3.0 * cosineSquaredAlpha)) / 16.0;
-        }
-
-        function computeDeltaLambda(f, sineAlpha, cosineSquaredAlpha, sigma, sineSigma, cosineSigma, cosineTwiceSigmaMidpoint) {
-            var C = computeC(f, cosineSquaredAlpha);
-
-            return (1.0 - C) * f * sineAlpha * (sigma + C * sineSigma * (cosineTwiceSigmaMidpoint +
-                    C * cosineSigma * (2.0 * cosineTwiceSigmaMidpoint * cosineTwiceSigmaMidpoint - 1.0)));
-        }
-
-        function vincentyInverseFormula(ellipsoidGeodesic, major, minor, firstLongitude, firstLatitude, secondLongitude, secondLatitude) {
-            var eff = (major - minor) / major;
-            var l = secondLongitude - firstLongitude;
-
-            var u1 = Math.atan((1 - eff) * Math.tan(firstLatitude));
-            var u2 = Math.atan((1 - eff) * Math.tan(secondLatitude));
-
-            var cosineU1 = Math.cos(u1);
-            var sineU1 = Math.sin(u1);
-            var cosineU2 = Math.cos(u2);
-            var sineU2 = Math.sin(u2);
-
-            var cc = cosineU1 * cosineU2;
-            var cs = cosineU1 * sineU2;
-            var ss = sineU1 * sineU2;
-            var sc = sineU1 * cosineU2;
-
-            var lambda = l;
-            var lambdaDot = _Math.CesiumMath.TWO_PI;
-
-            var cosineLambda = Math.cos(lambda);
-            var sineLambda = Math.sin(lambda);
-
-            var sigma;
-            var cosineSigma;
-            var sineSigma;
-            var cosineSquaredAlpha;
-            var cosineTwiceSigmaMidpoint;
-
-            do {
-                cosineLambda = Math.cos(lambda);
-                sineLambda = Math.sin(lambda);
-
-                var temp = cs - sc * cosineLambda;
-                sineSigma = Math.sqrt(cosineU2 * cosineU2 * sineLambda * sineLambda + temp * temp);
-                cosineSigma = ss + cc * cosineLambda;
-
-                sigma = Math.atan2(sineSigma, cosineSigma);
-
-                var sineAlpha;
-
-                if (sineSigma === 0.0) {
-                    sineAlpha = 0.0;
-                    cosineSquaredAlpha = 1.0;
-                } else {
-                    sineAlpha = cc * sineLambda / sineSigma;
-                    cosineSquaredAlpha = 1.0 - sineAlpha * sineAlpha;
-                }
-
-                lambdaDot = lambda;
-
-                cosineTwiceSigmaMidpoint = cosineSigma - 2.0 * ss / cosineSquaredAlpha;
-
-                if (isNaN(cosineTwiceSigmaMidpoint)) {
-                    cosineTwiceSigmaMidpoint = 0.0;
-                }
-
-                lambda = l + computeDeltaLambda(eff, sineAlpha, cosineSquaredAlpha,
-                                                sigma, sineSigma, cosineSigma, cosineTwiceSigmaMidpoint);
-            } while (Math.abs(lambda - lambdaDot) > _Math.CesiumMath.EPSILON12);
-
-            var uSquared = cosineSquaredAlpha * (major * major - minor * minor) / (minor * minor);
-            var A = 1.0 + uSquared * (4096.0 + uSquared * (uSquared * (320.0 - 175.0 * uSquared) - 768.0)) / 16384.0;
-            var B = uSquared * (256.0 + uSquared * (uSquared * (74.0 - 47.0 * uSquared) - 128.0)) / 1024.0;
-
-            var cosineSquaredTwiceSigmaMidpoint = cosineTwiceSigmaMidpoint * cosineTwiceSigmaMidpoint;
-            var deltaSigma = B * sineSigma * (cosineTwiceSigmaMidpoint + B * (cosineSigma *
-                    (2.0 * cosineSquaredTwiceSigmaMidpoint - 1.0) - B * cosineTwiceSigmaMidpoint *
-                    (4.0 * sineSigma * sineSigma - 3.0) * (4.0 * cosineSquaredTwiceSigmaMidpoint - 3.0) / 6.0) / 4.0);
-
-            var distance = minor * A * (sigma - deltaSigma);
-
-            var startHeading = Math.atan2(cosineU2 * sineLambda, cs - sc * cosineLambda);
-            var endHeading = Math.atan2(cosineU1 * sineLambda, cs * cosineLambda - sc);
-
-            ellipsoidGeodesic._distance = distance;
-            ellipsoidGeodesic._startHeading = startHeading;
-            ellipsoidGeodesic._endHeading = endHeading;
-            ellipsoidGeodesic._uSquared = uSquared;
-        }
-
-        var scratchCart1 = new Cartesian2.Cartesian3();
-        var scratchCart2 = new Cartesian2.Cartesian3();
-        function computeProperties(ellipsoidGeodesic, start, end, ellipsoid) {
-            var firstCartesian = Cartesian2.Cartesian3.normalize(ellipsoid.cartographicToCartesian(start, scratchCart2), scratchCart1);
-            var lastCartesian = Cartesian2.Cartesian3.normalize(ellipsoid.cartographicToCartesian(end, scratchCart2), scratchCart2);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number.greaterThanOrEquals('value', Math.abs(Math.abs(Cartesian2.Cartesian3.angleBetween(firstCartesian, lastCartesian)) - Math.PI), 0.0125);
-            //>>includeEnd('debug');
-
-            vincentyInverseFormula(ellipsoidGeodesic, ellipsoid.maximumRadius, ellipsoid.minimumRadius,
-                                   start.longitude, start.latitude, end.longitude, end.latitude);
-
-            ellipsoidGeodesic._start = Cartesian2.Cartographic.clone(start, ellipsoidGeodesic._start);
-            ellipsoidGeodesic._end = Cartesian2.Cartographic.clone(end, ellipsoidGeodesic._end);
-            ellipsoidGeodesic._start.height = 0;
-            ellipsoidGeodesic._end.height = 0;
-
-            setConstants(ellipsoidGeodesic);
-        }
-
-        /**
-         * Initializes a geodesic on the ellipsoid connecting the two provided planetodetic points.
-         *
-         * @alias EllipsoidGeodesic
-         * @constructor
-         *
-         * @param {Cartographic} [start] The initial planetodetic point on the path.
-         * @param {Cartographic} [end] The final planetodetic point on the path.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the geodesic lies.
-         */
-        function EllipsoidGeodesic(start, end, ellipsoid) {
-            var e = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            this._ellipsoid = e;
-            this._start = new Cartesian2.Cartographic();
-            this._end = new Cartesian2.Cartographic();
-
-            this._constants = {};
-            this._startHeading = undefined;
-            this._endHeading = undefined;
-            this._distance = undefined;
-            this._uSquared = undefined;
-
-            if (when.defined(start) && when.defined(end)) {
-                computeProperties(this, start, end, e);
-            }
-        }
-
-        Object.defineProperties(EllipsoidGeodesic.prototype, {
-            /**
-             * Gets the ellipsoid.
-             * @memberof EllipsoidGeodesic.prototype
-             * @type {Ellipsoid}
-             * @readonly
-             */
-            ellipsoid : {
-                get : function() {
-                    return this._ellipsoid;
-                }
-            },
-
-            /**
-             * Gets the surface distance between the start and end point
-             * @memberof EllipsoidGeodesic.prototype
-             * @type {Number}
-             * @readonly
-             */
-            surfaceDistance : {
-                get : function() {
-                    //>>includeStart('debug', pragmas.debug);
-                    Check.Check.defined('distance', this._distance);
-                    //>>includeEnd('debug');
-
-                    return this._distance;
-                }
-            },
-
-            /**
-             * Gets the initial planetodetic point on the path.
-             * @memberof EllipsoidGeodesic.prototype
-             * @type {Cartographic}
-             * @readonly
-             */
-            start : {
-                get : function() {
-                    return this._start;
-                }
-            },
-
-            /**
-             * Gets the final planetodetic point on the path.
-             * @memberof EllipsoidGeodesic.prototype
-             * @type {Cartographic}
-             * @readonly
-             */
-            end : {
-                get : function() {
-                    return this._end;
-                }
-            },
-
-            /**
-             * Gets the heading at the initial point.
-             * @memberof EllipsoidGeodesic.prototype
-             * @type {Number}
-             * @readonly
-             */
-            startHeading : {
-                get : function() {
-                    //>>includeStart('debug', pragmas.debug);
-                    Check.Check.defined('distance', this._distance);
-                    //>>includeEnd('debug');
-
-                    return this._startHeading;
-                }
-            },
-
-            /**
-             * Gets the heading at the final point.
-             * @memberof EllipsoidGeodesic.prototype
-             * @type {Number}
-             * @readonly
-             */
-            endHeading : {
-                get : function() {
-                    //>>includeStart('debug', pragmas.debug);
-                    Check.Check.defined('distance', this._distance);
-                    //>>includeEnd('debug');
-
-                    return this._endHeading;
-                }
-            }
-        });
-
-        /**
-         * Sets the start and end points of the geodesic
-         *
-         * @param {Cartographic} start The initial planetodetic point on the path.
-         * @param {Cartographic} end The final planetodetic point on the path.
-         */
-        EllipsoidGeodesic.prototype.setEndPoints = function(start, end) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('start', start);
-            Check.Check.defined('end', end);
-            //>>includeEnd('debug');
-
-            computeProperties(this, start, end, this._ellipsoid);
-        };
-
-        /**
-         * Provides the location of a point at the indicated portion along the geodesic.
-         *
-         * @param {Number} fraction The portion of the distance between the initial and final points.
-         * @param {Cartographic} result The object in which to store the result.
-         * @returns {Cartographic} The location of the point along the geodesic.
-         */
-        EllipsoidGeodesic.prototype.interpolateUsingFraction = function(fraction, result) {
-            return this.interpolateUsingSurfaceDistance(this._distance * fraction, result);
-        };
-
-        /**
-         * Provides the location of a point at the indicated distance along the geodesic.
-         *
-         * @param {Number} distance The distance from the inital point to the point of interest along the geodesic
-         * @param {Cartographic} result The object in which to store the result.
-         * @returns {Cartographic} The location of the point along the geodesic.
-         *
-         * @exception {DeveloperError} start and end must be set before calling function interpolateUsingSurfaceDistance
-         */
-        EllipsoidGeodesic.prototype.interpolateUsingSurfaceDistance = function(distance, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('distance', this._distance);
-            //>>includeEnd('debug');
-
-            var constants = this._constants;
-
-            var s = constants.distanceRatio + distance / constants.b;
-
-            var cosine2S = Math.cos(2.0 * s);
-            var cosine4S = Math.cos(4.0 * s);
-            var cosine6S = Math.cos(6.0 * s);
-            var sine2S = Math.sin(2.0 * s);
-            var sine4S = Math.sin(4.0 * s);
-            var sine6S = Math.sin(6.0 * s);
-            var sine8S = Math.sin(8.0 * s);
-
-            var s2 = s * s;
-            var s3 = s * s2;
-
-            var u8Over256 = constants.u8Over256;
-            var u2Over4 = constants.u2Over4;
-            var u6Over64 = constants.u6Over64;
-            var u4Over16 = constants.u4Over16;
-            var sigma = 2.0 * s3 * u8Over256 * cosine2S / 3.0 +
-                s * (1.0 - u2Over4 + 7.0 * u4Over16 / 4.0 - 15.0 * u6Over64 / 4.0 + 579.0 * u8Over256 / 64.0 -
-                (u4Over16 - 15.0 * u6Over64 / 4.0 + 187.0 * u8Over256 / 16.0) * cosine2S -
-                (5.0 * u6Over64 / 4.0 - 115.0 * u8Over256 / 16.0) * cosine4S -
-                29.0 * u8Over256 * cosine6S / 16.0) +
-                (u2Over4 / 2.0 - u4Over16 + 71.0 * u6Over64 / 32.0 - 85.0 * u8Over256 / 16.0) * sine2S +
-                (5.0 * u4Over16 / 16.0 - 5.0 * u6Over64 / 4.0 + 383.0 * u8Over256 / 96.0) * sine4S -
-                s2 * ((u6Over64 - 11.0 * u8Over256 / 2.0) * sine2S + 5.0 * u8Over256 * sine4S / 2.0) +
-                (29.0 * u6Over64 / 96.0 - 29.0 * u8Over256 / 16.0) * sine6S +
-                539.0 * u8Over256 * sine8S / 1536.0;
-
-            var theta = Math.asin(Math.sin(sigma) * constants.cosineAlpha);
-            var latitude = Math.atan(constants.a / constants.b * Math.tan(theta));
-
-            // Redefine in terms of relative argument of latitude.
-            sigma = sigma - constants.sigma;
-
-            var cosineTwiceSigmaMidpoint = Math.cos(2.0 * constants.sigma + sigma);
-
-            var sineSigma = Math.sin(sigma);
-            var cosineSigma = Math.cos(sigma);
-
-            var cc = constants.cosineU * cosineSigma;
-            var ss = constants.sineU * sineSigma;
-
-            var lambda = Math.atan2(sineSigma * constants.sineHeading, cc - ss * constants.cosineHeading);
-
-            var l = lambda - computeDeltaLambda(constants.f, constants.sineAlpha, constants.cosineSquaredAlpha,
-                                                sigma, sineSigma, cosineSigma, cosineTwiceSigmaMidpoint);
-
-            if (when.defined(result)) {
-                result.longitude = this._start.longitude + l;
-                result.latitude = latitude;
-                result.height = 0.0;
-                return result;
-            }
-
-            return new Cartesian2.Cartographic(this._start.longitude + l, latitude, 0.0);
-        };
-
-    exports.EllipsoidGeodesic = EllipsoidGeodesic;
-
-});
diff --git a/libs/supermap/Workers/EllipsoidGeometry-b789d05a.js b/libs/supermap/Workers/EllipsoidGeometry-b789d05a.js
deleted file mode 100644
index 50c1b8c..0000000
--- a/libs/supermap/Workers/EllipsoidGeometry-b789d05a.js
+++ /dev/null
@@ -1,611 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, ComponentDatatype, GeometryAttribute, PrimitiveType, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, VertexFormat) { 'use strict';
-
-    var scratchPosition = new Cartesian2.Cartesian3();
-        var scratchNormal = new Cartesian2.Cartesian3();
-        var scratchTangent = new Cartesian2.Cartesian3();
-        var scratchBitangent = new Cartesian2.Cartesian3();
-        var scratchNormalST = new Cartesian2.Cartesian3();
-        var defaultRadii = new Cartesian2.Cartesian3(1.0, 1.0, 1.0);
-
-        var cos = Math.cos;
-        var sin = Math.sin;
-
-        /**
-         * A description of an ellipsoid centered at the origin.
-         *
-         * @alias EllipsoidGeometry
-         * @constructor
-         *
-         * @param {Object} [options] Object with the following properties:
-         * @param {Cartesian3} [options.radii=Cartesian3(1.0, 1.0, 1.0)] The radii of the ellipsoid in the x, y, and z directions.
-         * @param {Cartesian3} [options.innerRadii=options.radii] The inner radii of the ellipsoid in the x, y, and z directions.
-         * @param {Number} [options.minimumClock=0.0] The minimum angle lying in the xy-plane measured from the positive x-axis and toward the positive y-axis.
-         * @param {Number} [options.maximumClock=2*PI] The maximum angle lying in the xy-plane measured from the positive x-axis and toward the positive y-axis.
-         * @param {Number} [options.minimumCone=0.0] The minimum angle measured from the positive z-axis and toward the negative z-axis.
-         * @param {Number} [options.maximumCone=PI] The maximum angle measured from the positive z-axis and toward the negative z-axis.
-         * @param {Number} [options.stackPartitions=64] The number of times to partition the ellipsoid into stacks.
-         * @param {Number} [options.slicePartitions=64] The number of times to partition the ellipsoid into radial slices.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         *
-         * @exception {DeveloperError} options.slicePartitions cannot be less than three.
-         * @exception {DeveloperError} options.stackPartitions cannot be less than three.
-         *
-         * @see EllipsoidGeometry#createGeometry
-         *
-         * @example
-         * var ellipsoid = new Cesium.EllipsoidGeometry({
-         *   vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
-         *   radii : new Cesium.Cartesian3(1000000.0, 500000.0, 500000.0)
-         * });
-         * var geometry = Cesium.EllipsoidGeometry.createGeometry(ellipsoid);
-         */
-        function EllipsoidGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var radii = when.defaultValue(options.radii, defaultRadii);
-            var innerRadii = when.defaultValue(options.innerRadii, radii);
-            var minimumClock = when.defaultValue(options.minimumClock, 0.0);
-            var maximumClock = when.defaultValue(options.maximumClock, _Math.CesiumMath.TWO_PI);
-            var minimumCone = when.defaultValue(options.minimumCone, 0.0);
-            var maximumCone = when.defaultValue(options.maximumCone, _Math.CesiumMath.PI);
-            var stackPartitions = Math.round(when.defaultValue(options.stackPartitions, 64));
-            var slicePartitions = Math.round(when.defaultValue(options.slicePartitions, 64));
-            var vertexFormat = when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT);
-
-            //>>includeStart('debug', pragmas.debug);
-            if (slicePartitions < 3) {
-                throw new Check.DeveloperError('options.slicePartitions cannot be less than three.');
-            }
-            if (stackPartitions < 3) {
-                throw new Check.DeveloperError('options.stackPartitions cannot be less than three.');
-            }
-            //>>includeEnd('debug');
-
-            this._radii = Cartesian2.Cartesian3.clone(radii);
-            this._innerRadii = Cartesian2.Cartesian3.clone(innerRadii);
-            this._minimumClock = minimumClock;
-            this._maximumClock = maximumClock;
-            this._minimumCone = minimumCone;
-            this._maximumCone = maximumCone;
-            this._stackPartitions = stackPartitions;
-            this._slicePartitions = slicePartitions;
-            this._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat);
-            this._offsetAttribute = options.offsetAttribute;
-            this._workerName = 'createEllipsoidGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        EllipsoidGeometry.packedLength = 2 * (Cartesian2.Cartesian3.packedLength) + VertexFormat.VertexFormat.packedLength + 7;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {EllipsoidGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        EllipsoidGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            Cartesian2.Cartesian3.pack(value._radii, array, startingIndex);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            Cartesian2.Cartesian3.pack(value._innerRadii, array, startingIndex);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            array[startingIndex++] = value._minimumClock;
-            array[startingIndex++] = value._maximumClock;
-            array[startingIndex++] = value._minimumCone;
-            array[startingIndex++] = value._maximumCone;
-            array[startingIndex++] = value._stackPartitions;
-            array[startingIndex++] = value._slicePartitions;
-            array[startingIndex] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchRadii = new Cartesian2.Cartesian3();
-        var scratchInnerRadii = new Cartesian2.Cartesian3();
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-        var scratchOptions = {
-            radii : scratchRadii,
-            innerRadii : scratchInnerRadii,
-            vertexFormat : scratchVertexFormat,
-            minimumClock : undefined,
-            maximumClock : undefined,
-            minimumCone : undefined,
-            maximumCone : undefined,
-            stackPartitions : undefined,
-            slicePartitions : undefined,
-            offsetAttribute : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {EllipsoidGeometry} [result] The object into which to store the result.
-         * @returns {EllipsoidGeometry} The modified result parameter or a new EllipsoidGeometry instance if one was not provided.
-         */
-        EllipsoidGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var radii = Cartesian2.Cartesian3.unpack(array, startingIndex, scratchRadii);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            var innerRadii = Cartesian2.Cartesian3.unpack(array, startingIndex, scratchInnerRadii);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            var minimumClock = array[startingIndex++];
-            var maximumClock = array[startingIndex++];
-            var minimumCone = array[startingIndex++];
-            var maximumCone = array[startingIndex++];
-            var stackPartitions = array[startingIndex++];
-            var slicePartitions = array[startingIndex++];
-            var offsetAttribute = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.minimumClock = minimumClock;
-                scratchOptions.maximumClock = maximumClock;
-                scratchOptions.minimumCone = minimumCone;
-                scratchOptions.maximumCone = maximumCone;
-                scratchOptions.stackPartitions = stackPartitions;
-                scratchOptions.slicePartitions = slicePartitions;
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-                return new EllipsoidGeometry(scratchOptions);
-            }
-
-            result._radii = Cartesian2.Cartesian3.clone(radii, result._radii);
-            result._innerRadii = Cartesian2.Cartesian3.clone(innerRadii, result._innerRadii);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._minimumClock = minimumClock;
-            result._maximumClock = maximumClock;
-            result._minimumCone = minimumCone;
-            result._maximumCone = maximumCone;
-            result._stackPartitions = stackPartitions;
-            result._slicePartitions = slicePartitions;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of an ellipsoid, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {EllipsoidGeometry} ellipsoidGeometry A description of the ellipsoid.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        EllipsoidGeometry.createGeometry = function(ellipsoidGeometry) {
-            var radii = ellipsoidGeometry._radii;
-            if ((radii.x <= 0) || (radii.y <= 0) || (radii.z <= 0)) {
-                return;
-            }
-
-            var innerRadii = ellipsoidGeometry._innerRadii;
-            if ((innerRadii.x <= 0) || (innerRadii.y <= 0) || innerRadii.z <= 0) {
-                return;
-            }
-
-            var minimumClock = ellipsoidGeometry._minimumClock;
-            var maximumClock = ellipsoidGeometry._maximumClock;
-            var minimumCone = ellipsoidGeometry._minimumCone;
-            var maximumCone = ellipsoidGeometry._maximumCone;
-            var vertexFormat = ellipsoidGeometry._vertexFormat;
-
-            // Add an extra slice and stack so that the number of partitions is the
-            // number of surfaces rather than the number of joints
-            var slicePartitions = ellipsoidGeometry._slicePartitions + 1;
-            var stackPartitions = ellipsoidGeometry._stackPartitions + 1;
-
-            slicePartitions = Math.round(slicePartitions * Math.abs(maximumClock - minimumClock) / _Math.CesiumMath.TWO_PI);
-            stackPartitions = Math.round(stackPartitions * Math.abs(maximumCone - minimumCone) / _Math.CesiumMath.PI);
-
-            if (slicePartitions < 2) {
-                slicePartitions = 2;
-            }
-            if (stackPartitions < 2) {
-                stackPartitions = 2;
-            }
-
-            var i;
-            var j;
-            var index = 0;
-
-            // Create arrays for theta and phi. Duplicate first and last angle to
-            // allow different normals at the intersections.
-            var phis = [minimumCone];
-            var thetas = [minimumClock];
-            for (i = 0; i < stackPartitions; i++) {
-                phis.push(minimumCone + i * (maximumCone - minimumCone) / (stackPartitions - 1));
-            }
-            phis.push(maximumCone);
-            for (j = 0; j < slicePartitions; j++) {
-                thetas.push(minimumClock + j * (maximumClock - minimumClock) / (slicePartitions - 1));
-            }
-            thetas.push(maximumClock);
-            var numPhis = phis.length;
-            var numThetas = thetas.length;
-
-            // Allow for extra indices if there is an inner surface and if we need
-            // to close the sides if the clock range is not a full circle
-            var extraIndices = 0;
-            var vertexMultiplier = 1.0;
-            var hasInnerSurface = ((innerRadii.x !== radii.x) || (innerRadii.y !== radii.y) || innerRadii.z !== radii.z);
-            var isTopOpen = false;
-            var isBotOpen = false;
-            var isClockOpen = false;
-            if (hasInnerSurface) {
-                vertexMultiplier = 2.0;
-                if (minimumCone > 0.0) {
-                    isTopOpen = true;
-                    extraIndices += (slicePartitions - 1);
-                }
-                if (maximumCone < Math.PI) {
-                    isBotOpen = true;
-                    extraIndices += (slicePartitions - 1);
-                }
-                if ((maximumClock - minimumClock) % _Math.CesiumMath.TWO_PI) {
-                    isClockOpen = true;
-                    extraIndices += ((stackPartitions - 1) * 2) + 1;
-                } else {
-                    extraIndices += 1;
-                }
-            }
-
-            var vertexCount = numThetas * numPhis * vertexMultiplier;
-            var positions = new Float64Array(vertexCount * 3);
-            var isInner = GeometryOffsetAttribute.arrayFill(new Array(vertexCount), false);
-            var negateNormal = GeometryOffsetAttribute.arrayFill(new Array(vertexCount), false);
-
-            // Multiply by 6 because there are two triangles per sector
-            var indexCount = slicePartitions * stackPartitions * vertexMultiplier;
-            var numIndices = 6 * (indexCount + extraIndices + 1 - (slicePartitions + stackPartitions) * vertexMultiplier);
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(indexCount, numIndices);
-
-            var normals = (vertexFormat.normal) ? new Float32Array(vertexCount * 3) : undefined;
-            var tangents = (vertexFormat.tangent) ? new Float32Array(vertexCount * 3) : undefined;
-            var bitangents = (vertexFormat.bitangent) ? new Float32Array(vertexCount * 3) : undefined;
-            var st = (vertexFormat.st) ? new Float32Array(vertexCount * 2) : undefined;
-
-            // Calculate sin/cos phi
-            var sinPhi = new Array(numPhis);
-            var cosPhi = new Array(numPhis);
-            for (i = 0; i < numPhis; i++) {
-                sinPhi[i] = sin(phis[i]);
-                cosPhi[i] = cos(phis[i]);
-            }
-
-            // Calculate sin/cos theta
-            var sinTheta = new Array(numThetas);
-            var cosTheta = new Array(numThetas);
-            for (j = 0; j < numThetas; j++) {
-                cosTheta[j] = cos(thetas[j]);
-                sinTheta[j] = sin(thetas[j]);
-            }
-
-            // Create outer surface
-            for (i = 0; i < numPhis; i++) {
-                for (j = 0; j < numThetas; j++) {
-                    positions[index++] = radii.x * sinPhi[i] * cosTheta[j];
-                    positions[index++] = radii.y * sinPhi[i] * sinTheta[j];
-                    positions[index++] = radii.z * cosPhi[i];
-                }
-            }
-
-            // Create inner surface
-            var vertexIndex = vertexCount / 2.0;
-            if (hasInnerSurface) {
-                for (i = 0; i < numPhis; i++) {
-                    for (j = 0; j < numThetas; j++) {
-                        positions[index++] = innerRadii.x * sinPhi[i] * cosTheta[j];
-                        positions[index++] = innerRadii.y * sinPhi[i] * sinTheta[j];
-                        positions[index++] = innerRadii.z * cosPhi[i];
-
-                        // Keep track of which vertices are the inner and which ones
-                        // need the normal to be negated
-                        isInner[vertexIndex] = true;
-                        if (i > 0 && i !== (numPhis - 1) && j !== 0 && j !== (numThetas - 1)) {
-                            negateNormal[vertexIndex] = true;
-                        }
-                        vertexIndex++;
-                    }
-                }
-            }
-
-            // Create indices for outer surface
-            index = 0;
-            var topOffset;
-            var bottomOffset;
-            for (i = 1; i < (numPhis - 2); i++) {
-                topOffset = i * numThetas;
-                bottomOffset = (i + 1) * numThetas;
-
-                for (j = 1; j < numThetas - 2; j++) {
-                    indices[index++] = bottomOffset + j;
-                    indices[index++] = bottomOffset + j + 1;
-                    indices[index++] = topOffset + j + 1;
-
-                    indices[index++] = bottomOffset + j;
-                    indices[index++] = topOffset + j + 1;
-                    indices[index++] = topOffset + j;
-                }
-            }
-
-            // Create indices for inner surface
-            if (hasInnerSurface) {
-                var offset = numPhis * numThetas;
-                for (i = 1; i < (numPhis - 2); i++) {
-                    topOffset = offset + i * numThetas;
-                    bottomOffset = offset + (i + 1) * numThetas;
-
-                    for (j = 1; j < numThetas - 2; j++) {
-                        indices[index++] = bottomOffset + j;
-                        indices[index++] = topOffset + j;
-                        indices[index++] = topOffset + j + 1;
-
-                        indices[index++] = bottomOffset + j;
-                        indices[index++] = topOffset + j + 1;
-                        indices[index++] = bottomOffset + j + 1;
-                    }
-                }
-            }
-
-            var outerOffset;
-            var innerOffset;
-            if (hasInnerSurface) {
-                if (isTopOpen) {
-                    // Connect the top of the inner surface to the top of the outer surface
-                    innerOffset = numPhis * numThetas;
-                    for (i = 1; i < numThetas - 2; i++) {
-                        indices[index++] = i;
-                        indices[index++] = i + 1;
-                        indices[index++] = innerOffset + i + 1;
-
-                        indices[index++] = i;
-                        indices[index++] = innerOffset + i + 1;
-                        indices[index++] = innerOffset + i;
-                    }
-                }
-
-                if (isBotOpen) {
-                    // Connect the bottom of the inner surface to the bottom of the outer surface
-                    outerOffset = numPhis * numThetas - numThetas;
-                    innerOffset = numPhis * numThetas * vertexMultiplier - numThetas;
-                    for (i = 1; i < numThetas - 2; i++) {
-                        indices[index++] = outerOffset + i + 1;
-                        indices[index++] = outerOffset + i;
-                        indices[index++] = innerOffset + i;
-
-                        indices[index++] = outerOffset + i + 1;
-                        indices[index++] = innerOffset + i;
-                        indices[index++] = innerOffset + i + 1;
-                    }
-                }
-            }
-
-            // Connect the edges if clock is not closed
-            if (isClockOpen) {
-                for (i = 1; i < numPhis - 2; i++) {
-                    innerOffset = numThetas * numPhis + (numThetas * i);
-                    outerOffset = numThetas * i;
-                    indices[index++] = innerOffset;
-                    indices[index++] = outerOffset + numThetas;
-                    indices[index++] = outerOffset;
-
-                    indices[index++] = innerOffset;
-                    indices[index++] = innerOffset + numThetas;
-                    indices[index++] = outerOffset + numThetas;
-                }
-
-                for (i = 1; i < numPhis - 2; i++) {
-                    innerOffset = numThetas * numPhis + (numThetas * (i + 1)) - 1;
-                    outerOffset = numThetas * (i + 1) - 1;
-                    indices[index++] = outerOffset + numThetas;
-                    indices[index++] = innerOffset;
-                    indices[index++] = outerOffset;
-
-                    indices[index++] = outerOffset + numThetas;
-                    indices[index++] = innerOffset + numThetas;
-                    indices[index++] = innerOffset;
-                }
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-
-            if (vertexFormat.position) {
-                attributes.position = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : positions
-                });
-            }
-
-            var stIndex = 0;
-            var normalIndex = 0;
-            var tangentIndex = 0;
-            var bitangentIndex = 0;
-            var vertexCountHalf = vertexCount / 2.0;
-
-            var ellipsoid;
-            var ellipsoidOuter = Cartesian2.Ellipsoid.fromCartesian3(radii);
-            var ellipsoidInner = Cartesian2.Ellipsoid.fromCartesian3(innerRadii);
-
-            if (vertexFormat.st || vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
-                for (i = 0; i < vertexCount; i++) {
-                    ellipsoid = (isInner[i]) ? ellipsoidInner : ellipsoidOuter;
-                    var position = Cartesian2.Cartesian3.fromArray(positions, i * 3, scratchPosition);
-                    var normal = ellipsoid.geodeticSurfaceNormal(position, scratchNormal);
-                    if (negateNormal[i]) {
-                        Cartesian2.Cartesian3.negate(normal, normal);
-                    }
-
-                    if (vertexFormat.st) {
-                        var normalST = Cartesian2.Cartesian2.negate(normal, scratchNormalST);
-                        st[stIndex++] = (Math.atan2(normalST.y, normalST.x) / _Math.CesiumMath.TWO_PI) + 0.5;
-                        st[stIndex++] = (Math.asin(normal.z) / Math.PI) + 0.5;
-                    }
-
-                    if (vertexFormat.normal) {
-                        normals[normalIndex++] = normal.x;
-                        normals[normalIndex++] = normal.y;
-                        normals[normalIndex++] = normal.z;
-                    }
-
-                    if (vertexFormat.tangent || vertexFormat.bitangent) {
-                        var tangent = scratchTangent;
-
-                        // Use UNIT_X for the poles
-                        var tangetOffset = 0;
-                        var unit;
-                        if (isInner[i]) {
-                            tangetOffset = vertexCountHalf;
-                        }
-                        if ((!isTopOpen && (i >= tangetOffset && i < (tangetOffset + numThetas * 2)))) {
-                            unit = Cartesian2.Cartesian3.UNIT_X;
-                        } else {
-                            unit = Cartesian2.Cartesian3.UNIT_Z;
-                        }
-                        Cartesian2.Cartesian3.cross(unit, normal, tangent);
-                        Cartesian2.Cartesian3.normalize(tangent, tangent);
-
-                        if (vertexFormat.tangent) {
-                            tangents[tangentIndex++] = tangent.x;
-                            tangents[tangentIndex++] = tangent.y;
-                            tangents[tangentIndex++] = tangent.z;
-                        }
-
-                        if (vertexFormat.bitangent) {
-                            var bitangent = Cartesian2.Cartesian3.cross(normal, tangent, scratchBitangent);
-                            Cartesian2.Cartesian3.normalize(bitangent, bitangent);
-
-                            bitangents[bitangentIndex++] = bitangent.x;
-                            bitangents[bitangentIndex++] = bitangent.y;
-                            bitangents[bitangentIndex++] = bitangent.z;
-                        }
-                    }
-                }
-
-                if (vertexFormat.st) {
-                    attributes.st = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 2,
-                        values : st
-                    });
-                }
-
-                if (vertexFormat.normal) {
-                    attributes.normal = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : normals
-                    });
-                }
-
-                if (vertexFormat.tangent) {
-                    attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : tangents
-                    });
-                }
-
-                if (vertexFormat.bitangent) {
-                    attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : bitangents
-                    });
-                }
-            }
-
-            if (when.defined(ellipsoidGeometry._offsetAttribute)) {
-                var length = positions.length;
-                var applyOffset = new Uint8Array(length / 3);
-                var offsetValue = ellipsoidGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values : applyOffset
-                });
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES,
-                boundingSphere : BoundingSphere.BoundingSphere.fromEllipsoid(ellipsoidOuter),
-                offsetAttribute : ellipsoidGeometry._offsetAttribute
-            });
-        };
-
-        var unitEllipsoidGeometry;
-
-        /**
-         * Returns the geometric representation of a unit ellipsoid, including its vertices, indices, and a bounding sphere.
-         * @returns {Geometry} The computed vertices and indices.
-         *
-         * @private
-         */
-        EllipsoidGeometry.getUnitEllipsoid = function() {
-            if (!when.defined(unitEllipsoidGeometry)) {
-                unitEllipsoidGeometry = EllipsoidGeometry.createGeometry((new EllipsoidGeometry({
-                    radii : new Cartesian2.Cartesian3(1.0, 1.0, 1.0),
-                    vertexFormat : VertexFormat.VertexFormat.POSITION_ONLY
-                })));
-            }
-            return unitEllipsoidGeometry;
-        };
-
-    exports.EllipsoidGeometry = EllipsoidGeometry;
-
-});
diff --git a/libs/supermap/Workers/EllipsoidOutlineGeometry-696ac0ac.js b/libs/supermap/Workers/EllipsoidOutlineGeometry-696ac0ac.js
deleted file mode 100644
index d139e02..0000000
--- a/libs/supermap/Workers/EllipsoidOutlineGeometry-696ac0ac.js
+++ /dev/null
@@ -1,446 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, ComponentDatatype, GeometryAttribute, PrimitiveType, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute) { 'use strict';
-
-    var defaultRadii = new Cartesian2.Cartesian3(1.0, 1.0, 1.0);
-        var cos = Math.cos;
-        var sin = Math.sin;
-
-        /**
-         * A description of the outline of an ellipsoid centered at the origin.
-         *
-         * @alias EllipsoidOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} [options] Object with the following properties:
-         * @param {Cartesian3} [options.radii=Cartesian3(1.0, 1.0, 1.0)] The radii of the ellipsoid in the x, y, and z directions.
-         * @param {Cartesian3} [options.innerRadii=options.radii] The inner radii of the ellipsoid in the x, y, and z directions.
-         * @param {Number} [options.minimumClock=0.0] The minimum angle lying in the xy-plane measured from the positive x-axis and toward the positive y-axis.
-         * @param {Number} [options.maximumClock=2*PI] The maximum angle lying in the xy-plane measured from the positive x-axis and toward the positive y-axis.
-         * @param {Number} [options.minimumCone=0.0] The minimum angle measured from the positive z-axis and toward the negative z-axis.
-         * @param {Number} [options.maximumCone=PI] The maximum angle measured from the positive z-axis and toward the negative z-axis.
-         * @param {Number} [options.stackPartitions=10] The count of stacks for the ellipsoid (1 greater than the number of parallel lines).
-         * @param {Number} [options.slicePartitions=8] The count of slices for the ellipsoid (Equal to the number of radial lines).
-         * @param {Number} [options.subdivisions=128] The number of points per line, determining the granularity of the curvature.
-         *
-         * @exception {DeveloperError} options.stackPartitions must be greater than or equal to one.
-         * @exception {DeveloperError} options.slicePartitions must be greater than or equal to zero.
-         * @exception {DeveloperError} options.subdivisions must be greater than or equal to zero.
-         *
-         * @example
-         * var ellipsoid = new Cesium.EllipsoidOutlineGeometry({
-         *   radii : new Cesium.Cartesian3(1000000.0, 500000.0, 500000.0),
-         *   stackPartitions: 6,
-         *   slicePartitions: 5
-         * });
-         * var geometry = Cesium.EllipsoidOutlineGeometry.createGeometry(ellipsoid);
-         */
-        function EllipsoidOutlineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var radii = when.defaultValue(options.radii, defaultRadii);
-            var innerRadii = when.defaultValue(options.innerRadii, radii);
-            var minimumClock = when.defaultValue(options.minimumClock, 0.0);
-            var maximumClock = when.defaultValue(options.maximumClock, _Math.CesiumMath.TWO_PI);
-            var minimumCone = when.defaultValue(options.minimumCone, 0.0);
-            var maximumCone = when.defaultValue(options.maximumCone, _Math.CesiumMath.PI);
-            var stackPartitions = Math.round(when.defaultValue(options.stackPartitions, 10));
-            var slicePartitions = Math.round(when.defaultValue(options.slicePartitions, 8));
-            var subdivisions = Math.round(when.defaultValue(options.subdivisions, 128));
-
-            //>>includeStart('debug', pragmas.debug);
-            if (stackPartitions < 1) {
-                throw new Check.DeveloperError('options.stackPartitions cannot be less than 1');
-            }
-            if (slicePartitions < 0) {
-                throw new Check.DeveloperError('options.slicePartitions cannot be less than 0');
-            }
-            if (subdivisions < 0) {
-                throw new Check.DeveloperError('options.subdivisions must be greater than or equal to zero.');
-            }
-            if (when.defined(options.offsetAttribute) && options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                throw new Check.DeveloperError('GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.');
-            }
-            //>>includeEnd('debug');
-
-            this._radii = Cartesian2.Cartesian3.clone(radii);
-            this._innerRadii = Cartesian2.Cartesian3.clone(innerRadii);
-            this._minimumClock = minimumClock;
-            this._maximumClock = maximumClock;
-            this._minimumCone = minimumCone;
-            this._maximumCone = maximumCone;
-            this._stackPartitions = stackPartitions;
-            this._slicePartitions = slicePartitions;
-            this._subdivisions = subdivisions;
-            this._offsetAttribute = options.offsetAttribute;
-            this._workerName = 'createEllipsoidOutlineGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        EllipsoidOutlineGeometry.packedLength = 2 * (Cartesian2.Cartesian3.packedLength) + 8;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {EllipsoidOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        EllipsoidOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            Cartesian2.Cartesian3.pack(value._radii, array, startingIndex);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            Cartesian2.Cartesian3.pack(value._innerRadii, array, startingIndex);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            array[startingIndex++] = value._minimumClock;
-            array[startingIndex++] = value._maximumClock;
-            array[startingIndex++] = value._minimumCone;
-            array[startingIndex++] = value._maximumCone;
-            array[startingIndex++] = value._stackPartitions;
-            array[startingIndex++] = value._slicePartitions;
-            array[startingIndex++] = value._subdivisions;
-            array[startingIndex] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchRadii = new Cartesian2.Cartesian3();
-        var scratchInnerRadii = new Cartesian2.Cartesian3();
-        var scratchOptions = {
-            radii : scratchRadii,
-            innerRadii : scratchInnerRadii,
-            minimumClock : undefined,
-            maximumClock : undefined,
-            minimumCone : undefined,
-            maximumCone : undefined,
-            stackPartitions : undefined,
-            slicePartitions : undefined,
-            subdivisions : undefined,
-            offsetAttribute : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {EllipsoidOutlineGeometry} [result] The object into which to store the result.
-         * @returns {EllipsoidOutlineGeometry} The modified result parameter or a new EllipsoidOutlineGeometry instance if one was not provided.
-         */
-        EllipsoidOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var radii = Cartesian2.Cartesian3.unpack(array, startingIndex, scratchRadii);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            var innerRadii = Cartesian2.Cartesian3.unpack(array, startingIndex, scratchInnerRadii);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-
-            var minimumClock = array[startingIndex++];
-            var maximumClock = array[startingIndex++];
-            var minimumCone = array[startingIndex++];
-            var maximumCone = array[startingIndex++];
-            var stackPartitions = array[startingIndex++];
-            var slicePartitions = array[startingIndex++];
-            var subdivisions = array[startingIndex++];
-            var offsetAttribute = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.minimumClock = minimumClock;
-                scratchOptions.maximumClock = maximumClock;
-                scratchOptions.minimumCone = minimumCone;
-                scratchOptions.maximumCone = maximumCone;
-                scratchOptions.stackPartitions = stackPartitions;
-                scratchOptions.slicePartitions = slicePartitions;
-                scratchOptions.subdivisions = subdivisions;
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-                return new EllipsoidOutlineGeometry(scratchOptions);
-            }
-
-            result._radii = Cartesian2.Cartesian3.clone(radii, result._radii);
-            result._innerRadii = Cartesian2.Cartesian3.clone(innerRadii, result._innerRadii);
-            result._minimumClock = minimumClock;
-            result._maximumClock = maximumClock;
-            result._minimumCone = minimumCone;
-            result._maximumCone = maximumCone;
-            result._stackPartitions = stackPartitions;
-            result._slicePartitions = slicePartitions;
-            result._subdivisions = subdivisions;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of an outline of an ellipsoid, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {EllipsoidOutlineGeometry} ellipsoidGeometry A description of the ellipsoid outline.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        EllipsoidOutlineGeometry.createGeometry = function(ellipsoidGeometry) {
-            var radii = ellipsoidGeometry._radii;
-            if ((radii.x <= 0) || (radii.y <= 0) || (radii.z <= 0)) {
-                return;
-            }
-
-            var innerRadii = ellipsoidGeometry._innerRadii;
-            if ((innerRadii.x <= 0) || (innerRadii.y <= 0) || (innerRadii.z <= 0)) {
-                return;
-            }
-
-            var minimumClock = ellipsoidGeometry._minimumClock;
-            var maximumClock = ellipsoidGeometry._maximumClock;
-            var minimumCone = ellipsoidGeometry._minimumCone;
-            var maximumCone = ellipsoidGeometry._maximumCone;
-            var subdivisions = ellipsoidGeometry._subdivisions;
-            var ellipsoid = Cartesian2.Ellipsoid.fromCartesian3(radii);
-
-            // Add an extra slice and stack to remain consistent with EllipsoidGeometry
-            var slicePartitions = ellipsoidGeometry._slicePartitions + 1;
-            var stackPartitions = ellipsoidGeometry._stackPartitions + 1;
-
-            slicePartitions = Math.round(slicePartitions * Math.abs(maximumClock - minimumClock) / _Math.CesiumMath.TWO_PI);
-            stackPartitions = Math.round(stackPartitions * Math.abs(maximumCone - minimumCone) / _Math.CesiumMath.PI);
-
-            if (slicePartitions < 2) {
-                slicePartitions = 2;
-            }
-            if (stackPartitions < 2) {
-                stackPartitions = 2;
-            }
-
-            var extraIndices = 0;
-            var vertexMultiplier = 1.0;
-            var hasInnerSurface = ((innerRadii.x !== radii.x) || (innerRadii.y !== radii.y) || innerRadii.z !== radii.z);
-            var isTopOpen = false;
-            var isBotOpen = false;
-            if (hasInnerSurface) {
-                vertexMultiplier = 2.0;
-                // Add 2x slicePartitions to connect the top/bottom of the outer to
-                // the top/bottom of the inner
-                if (minimumCone > 0.0) {
-                    isTopOpen = true;
-                    extraIndices += slicePartitions;
-                }
-                if (maximumCone < Math.PI) {
-                    isBotOpen = true;
-                    extraIndices += slicePartitions;
-                }
-            }
-
-            var vertexCount = subdivisions * vertexMultiplier * (stackPartitions + slicePartitions);
-            var positions = new Float64Array(vertexCount * 3);
-
-            // Multiply by two because two points define each line segment
-            var numIndices = 2 * (vertexCount + extraIndices - (slicePartitions + stackPartitions) * vertexMultiplier);
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(vertexCount, numIndices);
-
-            var i;
-            var j;
-            var theta;
-            var phi;
-            var index = 0;
-
-            // Calculate sin/cos phi
-            var sinPhi = new Array(stackPartitions);
-            var cosPhi = new Array(stackPartitions);
-            for (i = 0; i < stackPartitions; i++) {
-                phi = minimumCone + i * (maximumCone - minimumCone) / (stackPartitions - 1);
-                sinPhi[i] = sin(phi);
-                cosPhi[i] = cos(phi);
-            }
-
-            // Calculate sin/cos theta
-            var sinTheta = new Array(subdivisions);
-            var cosTheta = new Array(subdivisions);
-            for (i = 0; i < subdivisions; i++) {
-                theta = minimumClock + i * (maximumClock - minimumClock) / (subdivisions - 1);
-                sinTheta[i] = sin(theta);
-                cosTheta[i] = cos(theta);
-            }
-
-            // Calculate the latitude lines on the outer surface
-            for (i = 0; i < stackPartitions; i++) {
-                for (j = 0; j < subdivisions; j++) {
-                    positions[index++] = radii.x * sinPhi[i] * cosTheta[j];
-                    positions[index++] = radii.y * sinPhi[i] * sinTheta[j];
-                    positions[index++] = radii.z * cosPhi[i];
-                }
-            }
-
-            // Calculate the latitude lines on the inner surface
-            if (hasInnerSurface) {
-                for (i = 0; i < stackPartitions; i++) {
-                    for (j = 0; j < subdivisions; j++) {
-                        positions[index++] = innerRadii.x * sinPhi[i] * cosTheta[j];
-                        positions[index++] = innerRadii.y * sinPhi[i] * sinTheta[j];
-                        positions[index++] = innerRadii.z * cosPhi[i];
-                    }
-                }
-            }
-
-            // Calculate sin/cos phi
-            sinPhi.length = subdivisions;
-            cosPhi.length = subdivisions;
-            for (i = 0; i < subdivisions; i++) {
-                phi = minimumCone + i * (maximumCone - minimumCone) / (subdivisions - 1);
-                sinPhi[i] = sin(phi);
-                cosPhi[i] = cos(phi);
-            }
-
-            // Calculate sin/cos theta for each slice partition
-            sinTheta.length = slicePartitions;
-            cosTheta.length = slicePartitions;
-            for (i = 0; i < slicePartitions; i++) {
-                theta = minimumClock + i * (maximumClock - minimumClock) / (slicePartitions - 1);
-                sinTheta[i] = sin(theta);
-                cosTheta[i] = cos(theta);
-            }
-
-            // Calculate the longitude lines on the outer surface
-            for (i = 0; i < subdivisions; i++) {
-                for (j = 0; j < slicePartitions; j++) {
-                    positions[index++] = radii.x * sinPhi[i] * cosTheta[j];
-                    positions[index++] = radii.y * sinPhi[i] * sinTheta[j];
-                    positions[index++] = radii.z * cosPhi[i];
-                }
-            }
-
-            // Calculate the longitude lines on the inner surface
-            if (hasInnerSurface) {
-                for (i = 0; i < subdivisions; i++) {
-                    for (j = 0; j < slicePartitions; j++) {
-                        positions[index++] = innerRadii.x * sinPhi[i] * cosTheta[j];
-                        positions[index++] = innerRadii.y * sinPhi[i] * sinTheta[j];
-                        positions[index++] = innerRadii.z * cosPhi[i];
-                    }
-                }
-            }
-
-            // Create indices for the latitude lines
-            index = 0;
-            for (i = 0; i < stackPartitions * vertexMultiplier; i++) {
-                var topOffset = i * subdivisions;
-                for (j = 0; j < subdivisions - 1; j++) {
-                    indices[index++] = topOffset + j;
-                    indices[index++] = topOffset + j + 1;
-                }
-            }
-
-            // Create indices for the outer longitude lines
-            var offset = stackPartitions * subdivisions * vertexMultiplier;
-            for (i = 0; i < slicePartitions; i++) {
-                for (j = 0; j < subdivisions - 1; j++) {
-                    indices[index++] = offset + i + (j * slicePartitions);
-                    indices[index++] = offset + i + (j + 1) * slicePartitions;
-                }
-            }
-
-            // Create indices for the inner longitude lines
-            if (hasInnerSurface) {
-                offset = stackPartitions * subdivisions * vertexMultiplier + slicePartitions * subdivisions;
-                for (i = 0; i < slicePartitions; i++) {
-                    for (j = 0; j < subdivisions - 1; j++) {
-                        indices[index++] = offset + i + (j * slicePartitions);
-                        indices[index++] = offset + i + (j + 1) * slicePartitions;
-                    }
-                }
-            }
-
-            if (hasInnerSurface) {
-                var outerOffset = stackPartitions * subdivisions * vertexMultiplier;
-                var innerOffset = outerOffset + (subdivisions * slicePartitions);
-                if (isTopOpen) {
-                    // Draw lines from the top of the inner surface to the top of the outer surface
-                    for (i = 0; i < slicePartitions; i++) {
-                        indices[index++] = outerOffset + i;
-                        indices[index++] = innerOffset + i;
-                    }
-                }
-
-                if (isBotOpen) {
-                    // Draw lines from the top of the inner surface to the top of the outer surface
-                    outerOffset += (subdivisions * slicePartitions) - slicePartitions;
-                    innerOffset += (subdivisions * slicePartitions) - slicePartitions;
-                    for (i = 0; i < slicePartitions; i++) {
-                        indices[index++] = outerOffset + i;
-                        indices[index++] = innerOffset + i;
-                    }
-                }
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes({
-                position : new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : positions
-                })
-            });
-
-            if (when.defined(ellipsoidGeometry._offsetAttribute)) {
-                var length = positions.length;
-                var applyOffset = new Uint8Array(length / 3);
-                var offsetValue = ellipsoidGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values : applyOffset
-                });
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES,
-                boundingSphere : BoundingSphere.BoundingSphere.fromEllipsoid(ellipsoid),
-                offsetAttribute : ellipsoidGeometry._offsetAttribute
-            });
-        };
-
-    exports.EllipsoidOutlineGeometry = EllipsoidOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/EllipsoidRhumbLine-4e6b52b7.js b/libs/supermap/Workers/EllipsoidRhumbLine-4e6b52b7.js
deleted file mode 100644
index f0249c3..0000000
--- a/libs/supermap/Workers/EllipsoidRhumbLine-4e6b52b7.js
+++ /dev/null
@@ -1,514 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75'], function (exports, when, Check, _Math, Cartesian2) { 'use strict';
-
-    function calculateM(ellipticity, major, latitude) {
-            if (ellipticity === 0.0) { // sphere
-                return major * latitude;
-            }
-
-            var e2 = ellipticity * ellipticity;
-            var e4 = e2 * e2;
-            var e6 = e4 * e2;
-            var e8 = e6 * e2;
-            var e10 = e8 * e2;
-            var e12 = e10 * e2;
-            var phi = latitude;
-            var sin2Phi = Math.sin(2 * phi);
-            var sin4Phi = Math.sin(4 * phi);
-            var sin6Phi = Math.sin(6 * phi);
-            var sin8Phi = Math.sin(8 * phi);
-            var sin10Phi = Math.sin(10 * phi);
-            var sin12Phi = Math.sin(12 * phi);
-
-            return major * ((1 - e2 / 4 - 3 * e4 / 64 - 5 * e6 / 256 - 175 * e8 / 16384 - 441 * e10 / 65536 - 4851 * e12 / 1048576) * phi
-                         - (3 * e2 / 8 + 3 * e4 / 32 + 45 * e6 / 1024 + 105 * e8 / 4096 + 2205 * e10 / 131072 + 6237 * e12 / 524288) * sin2Phi
-                         + (15 * e4 / 256 + 45 * e6 / 1024 + 525 * e8 / 16384 + 1575 * e10 / 65536 + 155925 * e12 / 8388608) * sin4Phi
-                         - (35 * e6 / 3072 + 175 * e8 / 12288 + 3675 * e10 / 262144 + 13475 * e12 / 1048576) * sin6Phi
-                         + (315 * e8 / 131072 + 2205 * e10 / 524288 + 43659 * e12 / 8388608) * sin8Phi
-                         - (693 * e10 / 1310720 + 6237 * e12 / 5242880) * sin10Phi
-                         + 1001 * e12 / 8388608 * sin12Phi);
-        }
-
-        function calculateInverseM(M, ellipticity, major) {
-            var d = M / major;
-
-            if (ellipticity === 0.0) { // sphere
-                return d;
-            }
-
-            var d2 = d * d;
-            var d3 = d2 * d;
-            var d4 = d3 * d;
-            var e = ellipticity;
-            var e2 = e * e;
-            var e4 = e2 * e2;
-            var e6 = e4 * e2;
-            var e8 = e6 * e2;
-            var e10 = e8 * e2;
-            var e12 = e10 * e2;
-            var sin2D = Math.sin(2 * d);
-            var cos2D = Math.cos(2 * d);
-            var sin4D = Math.sin(4 * d);
-            var cos4D = Math.cos(4 * d);
-            var sin6D = Math.sin(6 * d);
-            var cos6D = Math.cos(6 * d);
-            var sin8D = Math.sin(8 * d);
-            var cos8D = Math.cos(8 * d);
-            var sin10D = Math.sin(10 * d);
-            var cos10D = Math.cos(10 * d);
-            var sin12D = Math.sin(12 * d);
-
-            return d + d * e2 / 4 + 7 * d * e4 / 64 + 15 * d * e6 / 256 + 579 * d * e8 / 16384 + 1515 * d * e10 / 65536 + 16837 * d * e12 / 1048576
-                + (3 * d * e4 / 16 + 45 * d * e6 / 256 - d * (32 * d2 - 561) * e8 / 4096 - d * (232 * d2 - 1677) * e10 / 16384 + d * (399985 - 90560 * d2 + 512 * d4) * e12 / 5242880) * cos2D
-                + (21 * d * e6 / 256 + 483 * d * e8 / 4096 - d * (224 * d2 - 1969) * e10 / 16384 - d * (33152 * d2 - 112599) * e12 / 1048576) * cos4D
-                + (151 * d * e8 / 4096 + 4681 * d * e10 / 65536 + 1479 * d * e12 / 16384 - 453 * d3 * e12 / 32768) * cos6D
-                + (1097 * d * e10 / 65536 + 42783 * d * e12 / 1048576) * cos8D
-                + 8011 * d * e12 / 1048576 * cos10D
-                + (3 * e2 / 8 + 3 * e4 / 16 + 213 * e6 / 2048 - 3 * d2 * e6 / 64 + 255 * e8 / 4096 - 33 * d2 * e8 / 512 + 20861 * e10 / 524288 - 33 * d2 * e10 / 512 + d4 * e10 / 1024 + 28273 * e12 / 1048576 - 471 * d2 * e12 / 8192 + 9 * d4 * e12 / 4096) * sin2D
-                + (21 * e4 / 256 + 21 * e6 / 256 + 533 * e8 / 8192 - 21 * d2 * e8 / 512 + 197 * e10 / 4096 - 315 * d2 * e10 / 4096 + 584039 * e12 / 16777216 - 12517 * d2 * e12 / 131072 + 7 * d4 * e12 / 2048) * sin4D
-                + (151 * e6 / 6144 + 151 * e8 / 4096 + 5019 * e10 / 131072 - 453 * d2 * e10 / 16384 + 26965 * e12 / 786432 - 8607 * d2 * e12 / 131072) * sin6D
-                + (1097 * e8 / 131072 + 1097 * e10 / 65536 + 225797 * e12 / 10485760 - 1097 * d2 * e12 / 65536) * sin8D
-                + (8011 * e10 / 2621440 + 8011 * e12 / 1048576) * sin10D
-                + 293393 * e12 / 251658240 * sin12D;
-        }
-
-        function calculateSigma(ellipticity, latitude) {
-            if (ellipticity === 0.0) { // sphere
-                return Math.log(Math.tan(0.5 * (_Math.CesiumMath.PI_OVER_TWO + latitude)));
-            }
-
-            var eSinL = ellipticity * Math.sin(latitude);
-            return Math.log(Math.tan(0.5 * (_Math.CesiumMath.PI_OVER_TWO + latitude))) - (ellipticity / 2.0 * Math.log((1 + eSinL) / (1 - eSinL)));
-        }
-
-        function calculateHeading(ellipsoidRhumbLine, firstLongitude, firstLatitude, secondLongitude, secondLatitude) {
-            var sigma1 = calculateSigma(ellipsoidRhumbLine._ellipticity, firstLatitude);
-            var sigma2 = calculateSigma(ellipsoidRhumbLine._ellipticity, secondLatitude);
-            return Math.atan2(_Math.CesiumMath.negativePiToPi(secondLongitude - firstLongitude), sigma2 - sigma1);
-        }
-
-        function calculateArcLength(ellipsoidRhumbLine, major, minor, firstLongitude, firstLatitude, secondLongitude, secondLatitude) {
-            var heading = ellipsoidRhumbLine._heading;
-            var deltaLongitude = secondLongitude - firstLongitude;
-
-            var distance = 0.0;
-
-            //Check to see if the rhumb line has constant latitude
-            //This equation will diverge if heading gets close to 90 degrees
-            if (_Math.CesiumMath.equalsEpsilon(Math.abs(heading), _Math.CesiumMath.PI_OVER_TWO, _Math.CesiumMath.EPSILON8)) { //If heading is close to 90 degrees
-                if (major === minor) {
-                    distance = major * Math.cos(firstLatitude) * _Math.CesiumMath.negativePiToPi(deltaLongitude);
-                } else {
-                    var sinPhi = Math.sin(firstLatitude);
-                    distance = major * Math.cos(firstLatitude) * _Math.CesiumMath.negativePiToPi(deltaLongitude) / Math.sqrt(1 - ellipsoidRhumbLine._ellipticitySquared * sinPhi * sinPhi);
-                }
-            } else {
-                var M1 = calculateM(ellipsoidRhumbLine._ellipticity, major, firstLatitude);
-                var M2 = calculateM(ellipsoidRhumbLine._ellipticity, major, secondLatitude);
-
-                distance = (M2 - M1) / Math.cos(heading);
-            }
-            return Math.abs(distance);
-        }
-
-        var scratchCart1 = new Cartesian2.Cartesian3();
-        var scratchCart2 = new Cartesian2.Cartesian3();
-
-        function computeProperties(ellipsoidRhumbLine, start, end, ellipsoid) {
-            var firstCartesian = Cartesian2.Cartesian3.normalize(ellipsoid.cartographicToCartesian(start, scratchCart2), scratchCart1);
-            var lastCartesian = Cartesian2.Cartesian3.normalize(ellipsoid.cartographicToCartesian(end, scratchCart2), scratchCart2);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number.greaterThanOrEquals('value', Math.abs(Math.abs(Cartesian2.Cartesian3.angleBetween(firstCartesian, lastCartesian)) - Math.PI), 0.0125);
-            //>>includeEnd('debug');
-
-            var major = ellipsoid.maximumRadius;
-            var minor = ellipsoid.minimumRadius;
-            var majorSquared = major * major;
-            var minorSquared = minor * minor;
-            ellipsoidRhumbLine._ellipticitySquared = (majorSquared - minorSquared) / majorSquared;
-            ellipsoidRhumbLine._ellipticity = Math.sqrt(ellipsoidRhumbLine._ellipticitySquared);
-
-            ellipsoidRhumbLine._start = Cartesian2.Cartographic.clone(start, ellipsoidRhumbLine._start);
-            ellipsoidRhumbLine._start.height = 0;
-
-            ellipsoidRhumbLine._end = Cartesian2.Cartographic.clone(end, ellipsoidRhumbLine._end);
-            ellipsoidRhumbLine._end.height = 0;
-
-            ellipsoidRhumbLine._heading = calculateHeading(ellipsoidRhumbLine, start.longitude, start.latitude, end.longitude, end.latitude);
-            ellipsoidRhumbLine._distance = calculateArcLength(ellipsoidRhumbLine, ellipsoid.maximumRadius, ellipsoid.minimumRadius,
-                                                              start.longitude, start.latitude, end.longitude, end.latitude);
-        }
-
-        function interpolateUsingSurfaceDistance(start, heading, distance, major, ellipticity, result)
-        {
-            var ellipticitySquared = ellipticity * ellipticity;
-
-            var longitude;
-            var latitude;
-            var deltaLongitude;
-
-            //Check to see if the rhumb line has constant latitude
-            //This won't converge if heading is close to 90 degrees
-            if (Math.abs(_Math.CesiumMath.PI_OVER_TWO - Math.abs(heading)) > _Math.CesiumMath.EPSILON8) {
-                //Calculate latitude of the second point
-                var M1 = calculateM(ellipticity, major, start.latitude);
-                var deltaM = distance * Math.cos(heading);
-                var M2 = M1 + deltaM;
-                latitude = calculateInverseM(M2, ellipticity, major);
-
-                //Now find the longitude of the second point
-                var sigma1 = calculateSigma(ellipticity, start.latitude);
-                var sigma2 = calculateSigma(ellipticity, latitude);
-                deltaLongitude = Math.tan(heading) * (sigma2 - sigma1);
-                longitude = _Math.CesiumMath.negativePiToPi(start.longitude + deltaLongitude);
-            } else { //If heading is close to 90 degrees
-                latitude = start.latitude;
-                var localRad;
-
-                if (ellipticity === 0.0) { // sphere
-                    localRad = major * Math.cos(start.latitude);
-                } else {
-                    var sinPhi = Math.sin(start.latitude);
-                    localRad = major * Math.cos(start.latitude) / Math.sqrt(1 - ellipticitySquared * sinPhi * sinPhi);
-                }
-
-                deltaLongitude = distance / localRad;
-                if (heading > 0.0) {
-                    longitude = _Math.CesiumMath.negativePiToPi(start.longitude + deltaLongitude);
-                } else {
-                    longitude = _Math.CesiumMath.negativePiToPi(start.longitude - deltaLongitude);
-                }
-            }
-
-            if (when.defined(result)) {
-                result.longitude = longitude;
-                result.latitude = latitude;
-                result.height = 0;
-
-                return result;
-            }
-
-            return new Cartesian2.Cartographic(longitude, latitude, 0);
-        }
-
-        /**
-         * Initializes a rhumb line on the ellipsoid connecting the two provided planetodetic points.
-         *
-         * @alias EllipsoidRhumbLine
-         * @constructor
-         *
-         * @param {Cartographic} [start] The initial planetodetic point on the path.
-         * @param {Cartographic} [end] The final planetodetic point on the path.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the rhumb line lies.
-         *
-         * @exception {DeveloperError} angle between start and end must be at least 0.0125 radians.
-         */
-        function EllipsoidRhumbLine(start, end, ellipsoid) {
-            var e = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            this._ellipsoid = e;
-            this._start = new Cartesian2.Cartographic();
-            this._end = new Cartesian2.Cartographic();
-
-            this._heading = undefined;
-            this._distance = undefined;
-            this._ellipticity = undefined;
-            this._ellipticitySquared = undefined;
-
-            if (when.defined(start) && when.defined(end)) {
-                computeProperties(this, start, end, e);
-            }
-        }
-
-        Object.defineProperties(EllipsoidRhumbLine.prototype, {
-            /**
-             * Gets the ellipsoid.
-             * @memberof EllipsoidRhumbLine.prototype
-             * @type {Ellipsoid}
-             * @readonly
-             */
-            ellipsoid : {
-                get : function() {
-                    return this._ellipsoid;
-                }
-            },
-
-            /**
-             * Gets the surface distance between the start and end point
-             * @memberof EllipsoidRhumbLine.prototype
-             * @type {Number}
-             * @readonly
-             */
-            surfaceDistance : {
-                get : function() {
-                    //>>includeStart('debug', pragmas.debug);
-                    Check.Check.defined('distance', this._distance);
-                    //>>includeEnd('debug');
-
-                    return this._distance;
-                }
-            },
-
-            /**
-             * Gets the initial planetodetic point on the path.
-             * @memberof EllipsoidRhumbLine.prototype
-             * @type {Cartographic}
-             * @readonly
-             */
-            start : {
-                get : function() {
-                    return this._start;
-                }
-            },
-
-            /**
-             * Gets the final planetodetic point on the path.
-             * @memberof EllipsoidRhumbLine.prototype
-             * @type {Cartographic}
-             * @readonly
-             */
-            end : {
-                get : function() {
-                    return this._end;
-                }
-            },
-
-            /**
-             * Gets the heading from the start point to the end point.
-             * @memberof EllipsoidRhumbLine.prototype
-             * @type {Number}
-             * @readonly
-             */
-            heading : {
-                get : function() {
-                    //>>includeStart('debug', pragmas.debug);
-                    Check.Check.defined('distance', this._distance);
-                    //>>includeEnd('debug');
-
-                    return this._heading;
-                }
-            }
-        });
-
-        /**
-         * Create a rhumb line using an initial position with a heading and distance.
-         *
-         * @param {Cartographic} start The initial planetodetic point on the path.
-         * @param {Number} heading The heading in radians.
-         * @param {Number} distance The rhumb line distance between the start and end point.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the rhumb line lies.
-         * @param {EllipsoidRhumbLine} [result] The object in which to store the result.
-         * @returns {EllipsoidRhumbLine} The EllipsoidRhumbLine object.
-         */
-        EllipsoidRhumbLine.fromStartHeadingDistance = function(start, heading, distance, ellipsoid, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('start', start);
-            Check.Check.defined('heading', heading);
-            Check.Check.defined('distance', distance);
-            Check.Check.typeOf.number.greaterThan('distance', distance, 0.0);
-            //>>includeEnd('debug');
-
-            var e = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var major = e.maximumRadius;
-            var minor = e.minimumRadius;
-            var majorSquared = major * major;
-            var minorSquared = minor * minor;
-            var ellipticity = Math.sqrt((majorSquared - minorSquared) / majorSquared);
-
-            heading = _Math.CesiumMath.negativePiToPi(heading);
-            var end = interpolateUsingSurfaceDistance(start, heading, distance, e.maximumRadius, ellipticity);
-
-            if (!when.defined(result) || (when.defined(ellipsoid) && !ellipsoid.equals(result.ellipsoid))) {
-                return new EllipsoidRhumbLine(start, end, e);
-            }
-
-            result.setEndPoints(start, end);
-            return result;
-        };
-
-        /**
-         * Sets the start and end points of the rhumb line.
-         *
-         * @param {Cartographic} start The initial planetodetic point on the path.
-         * @param {Cartographic} end The final planetodetic point on the path.
-         */
-        EllipsoidRhumbLine.prototype.setEndPoints = function(start, end) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('start', start);
-            Check.Check.defined('end', end);
-            //>>includeEnd('debug');
-
-            computeProperties(this, start, end, this._ellipsoid);
-        };
-
-        /**
-         * Provides the location of a point at the indicated portion along the rhumb line.
-         *
-         * @param {Number} fraction The portion of the distance between the initial and final points.
-         * @param {Cartographic} [result] The object in which to store the result.
-         * @returns {Cartographic} The location of the point along the rhumb line.
-         */
-        EllipsoidRhumbLine.prototype.interpolateUsingFraction = function(fraction, result) {
-            return this.interpolateUsingSurfaceDistance(fraction * this._distance, result);
-        };
-
-        /**
-         * Provides the location of a point at the indicated distance along the rhumb line.
-         *
-         * @param {Number} distance The distance from the inital point to the point of interest along the rhumbLine.
-         * @param {Cartographic} [result] The object in which to store the result.
-         * @returns {Cartographic} The location of the point along the rhumb line.
-         *
-         * @exception {DeveloperError} start and end must be set before calling function interpolateUsingSurfaceDistance
-         */
-        EllipsoidRhumbLine.prototype.interpolateUsingSurfaceDistance = function(distance, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('distance', distance);
-            if (!when.defined(this._distance) || this._distance === 0.0) {
-                throw new Check.DeveloperError('EllipsoidRhumbLine must have distinct start and end set.');
-            }
-            //>>includeEnd('debug');
-
-            return interpolateUsingSurfaceDistance(this._start, this._heading, distance, this._ellipsoid.maximumRadius, this._ellipticity, result);
-        };
-
-        /**
-         * Provides the location of a point at the indicated longitude along the rhumb line.
-         * If the longitude is outside the range of start and end points, the first intersection with the longitude from the start point in the direction of the heading is returned. This follows the spiral property of a rhumb line.
-         *
-         * @param {Number} intersectionLongitude The longitude, in radians, at which to find the intersection point from the starting point using the heading.
-         * @param {Cartographic} [result] The object in which to store the result.
-         * @returns {Cartographic} The location of the intersection point along the rhumb line, undefined if there is no intersection or infinite intersections.
-         *
-         * @exception {DeveloperError} start and end must be set before calling function findIntersectionWithLongitude.
-         */
-        EllipsoidRhumbLine.prototype.findIntersectionWithLongitude = function(intersectionLongitude, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('intersectionLongitude', intersectionLongitude);
-            if (!when.defined(this._distance) || this._distance === 0.0) {
-                throw new Check.DeveloperError('EllipsoidRhumbLine must have distinct start and end set.');
-            }
-            //>>includeEnd('debug');
-
-            var ellipticity = this._ellipticity;
-            var heading = this._heading;
-            var absHeading = Math.abs(heading);
-            var start = this._start;
-
-            intersectionLongitude = _Math.CesiumMath.negativePiToPi(intersectionLongitude);
-
-            if (_Math.CesiumMath.equalsEpsilon(Math.abs(intersectionLongitude), Math.PI, _Math.CesiumMath.EPSILON14)) {
-                intersectionLongitude = _Math.CesiumMath.sign(start.longitude) * Math.PI;
-            }
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartographic();
-            }
-
-            // If heading is -PI/2 or PI/2, this is an E-W rhumb line
-            // If heading is 0 or PI, this is an N-S rhumb line
-            if (Math.abs(_Math.CesiumMath.PI_OVER_TWO - absHeading) <= _Math.CesiumMath.EPSILON8) {
-                result.longitude = intersectionLongitude;
-                result.latitude = start.latitude;
-                result.height = 0;
-                return result;
-            } else if (_Math.CesiumMath.equalsEpsilon(Math.abs(_Math.CesiumMath.PI_OVER_TWO - absHeading), _Math.CesiumMath.PI_OVER_TWO, _Math.CesiumMath.EPSILON8)) {
-                if (_Math.CesiumMath.equalsEpsilon(intersectionLongitude, start.longitude, _Math.CesiumMath.EPSILON12)) {
-                    return undefined;
-                }
-
-                result.longitude = intersectionLongitude;
-                result.latitude = _Math.CesiumMath.PI_OVER_TWO * _Math.CesiumMath.sign(_Math.CesiumMath.PI_OVER_TWO - heading);
-                result.height = 0;
-                return result;
-            }
-
-            // Use iterative solver from Equation 9 from http://edwilliams.org/ellipsoid/ellipsoid.pdf
-            var phi1 = start.latitude;
-            var eSinPhi1 = ellipticity * Math.sin(phi1);
-            var leftComponent = Math.tan(0.5 * (_Math.CesiumMath.PI_OVER_TWO + phi1)) * Math.exp((intersectionLongitude - start.longitude) / Math.tan(heading));
-            var denominator = (1 + eSinPhi1) / (1 - eSinPhi1);
-
-            var newPhi = start.latitude;
-            var phi;
-            do {
-                phi = newPhi;
-                var eSinPhi = ellipticity * Math.sin(phi);
-                var numerator = (1 + eSinPhi) / (1 - eSinPhi);
-                newPhi = 2 * Math.atan(leftComponent * Math.pow(numerator / denominator, ellipticity / 2)) - _Math.CesiumMath.PI_OVER_TWO;
-            } while (!_Math.CesiumMath.equalsEpsilon(newPhi, phi, _Math.CesiumMath.EPSILON12));
-
-            result.longitude = intersectionLongitude;
-            result.latitude = newPhi;
-            result.height = 0;
-            return result;
-        };
-
-        /**
-         * Provides the location of a point at the indicated latitude along the rhumb line.
-         * If the latitude is outside the range of start and end points, the first intersection with the latitude from that start point in the direction of the heading is returned. This follows the spiral property of a rhumb line.
-         *
-         * @param {Number} intersectionLatitude The latitude, in radians, at which to find the intersection point from the starting point using the heading.
-         * @param {Cartographic} [result] The object in which to store the result.
-         * @returns {Cartographic} The location of the intersection point along the rhumb line, undefined if there is no intersection or infinite intersections.
-         *
-         * @exception {DeveloperError} start and end must be set before calling function findIntersectionWithLongitude.
-         */
-        EllipsoidRhumbLine.prototype.findIntersectionWithLatitude = function(intersectionLatitude, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('intersectionLatitude', intersectionLatitude);
-            if (!when.defined(this._distance) || this._distance === 0.0) {
-                throw new Check.DeveloperError('EllipsoidRhumbLine must have distinct start and end set.');
-            }
-            //>>includeEnd('debug');
-
-            var ellipticity = this._ellipticity;
-            var heading = this._heading;
-            var start = this._start;
-
-            // If start and end have same latitude, return undefined since it's either no intersection or infinite intersections
-            if (_Math.CesiumMath.equalsEpsilon(Math.abs(heading), _Math.CesiumMath.PI_OVER_TWO, _Math.CesiumMath.EPSILON8)) {
-                return;
-            }
-
-            // Can be solved using the same equations from interpolateUsingSurfaceDistance
-            var sigma1 = calculateSigma(ellipticity, start.latitude);
-            var sigma2 = calculateSigma(ellipticity, intersectionLatitude);
-            var deltaLongitude = Math.tan(heading) * (sigma2 - sigma1);
-            var longitude = _Math.CesiumMath.negativePiToPi(start.longitude + deltaLongitude);
-
-            if (when.defined(result)) {
-                result.longitude = longitude;
-                result.latitude = intersectionLatitude;
-                result.height = 0;
-
-                return result;
-            }
-
-            return new Cartesian2.Cartographic(longitude, intersectionLatitude, 0);
-        };
-
-    exports.EllipsoidRhumbLine = EllipsoidRhumbLine;
-
-});
diff --git a/libs/supermap/Workers/EllipsoidTangentPlane-fe3014f8.js b/libs/supermap/Workers/EllipsoidTangentPlane-fe3014f8.js
deleted file mode 100644
index 2a65bb8..0000000
--- a/libs/supermap/Workers/EllipsoidTangentPlane-fe3014f8.js
+++ /dev/null
@@ -1,556 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './Transforms-2f2aa225', './IntersectionTests-99e636d3', './Plane-d0f009aa'], function (exports, when, Check, Cartesian2, BoundingSphere, Transforms, IntersectionTests, Plane) { 'use strict';
-
-    /**
-         * Creates an instance of an AxisAlignedBoundingBox from the minimum and maximum points along the x, y, and z axes.
-         * @alias AxisAlignedBoundingBox
-         * @constructor
-         *
-         * @param {Cartesian3} [minimum=Cartesian3.ZERO] The minimum point along the x, y, and z axes.
-         * @param {Cartesian3} [maximum=Cartesian3.ZERO] The maximum point along the x, y, and z axes.
-         * @param {Cartesian3} [center] The center of the box; automatically computed if not supplied.
-         *
-         * @see BoundingSphere
-         * @see BoundingRectangle
-         */
-        function AxisAlignedBoundingBox(minimum, maximum, center) {
-            /**
-             * The minimum point defining the bounding box.
-             * @type {Cartesian3}
-             * @default {@link Cartesian3.ZERO}
-             */
-            this.minimum = Cartesian2.Cartesian3.clone(when.defaultValue(minimum, Cartesian2.Cartesian3.ZERO));
-
-            /**
-             * The maximum point defining the bounding box.
-             * @type {Cartesian3}
-             * @default {@link Cartesian3.ZERO}
-             */
-            this.maximum = Cartesian2.Cartesian3.clone(when.defaultValue(maximum, Cartesian2.Cartesian3.ZERO));
-
-            //If center was not defined, compute it.
-            if (!when.defined(center)) {
-                center = Cartesian2.Cartesian3.midpoint(this.minimum, this.maximum, new Cartesian2.Cartesian3());
-            } else {
-                center = Cartesian2.Cartesian3.clone(center);
-            }
-
-            /**
-             * The center point of the bounding box.
-             * @type {Cartesian3}
-             */
-            this.center = center;
-        }
-
-        /**
-         * Computes an instance of an AxisAlignedBoundingBox. The box is determined by
-         * finding the points spaced the farthest apart on the x, y, and z axes.
-         *
-         * @param {Cartesian3[]} positions List of points that the bounding box will enclose.  Each point must have a <code>x</code>, <code>y</code>, and <code>z</code> properties.
-         * @param {AxisAlignedBoundingBox} [result] The object onto which to store the result.
-         * @returns {AxisAlignedBoundingBox} The modified result parameter or a new AxisAlignedBoundingBox instance if one was not provided.
-         *
-         * @example
-         * // Compute an axis aligned bounding box enclosing two points.
-         * var box = Cesium.AxisAlignedBoundingBox.fromPoints([new Cesium.Cartesian3(2, 0, 0), new Cesium.Cartesian3(-2, 0, 0)]);
-         */
-        AxisAlignedBoundingBox.fromPoints = function(positions, result) {
-            if (!when.defined(result)) {
-                result = new AxisAlignedBoundingBox();
-            }
-
-            if (!when.defined(positions) || positions.length === 0) {
-                result.minimum = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, result.minimum);
-                result.maximum = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, result.maximum);
-                result.center = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, result.center);
-                return result;
-            }
-
-            var minimumX = positions[0].x;
-            var minimumY = positions[0].y;
-            var minimumZ = positions[0].z;
-
-            var maximumX = positions[0].x;
-            var maximumY = positions[0].y;
-            var maximumZ = positions[0].z;
-
-            var length = positions.length;
-            for ( var i = 1; i < length; i++) {
-                var p = positions[i];
-                var x = p.x;
-                var y = p.y;
-                var z = p.z;
-
-                minimumX = Math.min(x, minimumX);
-                maximumX = Math.max(x, maximumX);
-                minimumY = Math.min(y, minimumY);
-                maximumY = Math.max(y, maximumY);
-                minimumZ = Math.min(z, minimumZ);
-                maximumZ = Math.max(z, maximumZ);
-            }
-
-            var minimum = result.minimum;
-            minimum.x = minimumX;
-            minimum.y = minimumY;
-            minimum.z = minimumZ;
-
-            var maximum = result.maximum;
-            maximum.x = maximumX;
-            maximum.y = maximumY;
-            maximum.z = maximumZ;
-
-            result.center = Cartesian2.Cartesian3.midpoint(minimum, maximum, result.center);
-
-            return result;
-        };
-
-        /**
-         * Duplicates a AxisAlignedBoundingBox instance.
-         *
-         * @param {AxisAlignedBoundingBox} box The bounding box to duplicate.
-         * @param {AxisAlignedBoundingBox} [result] The object onto which to store the result.
-         * @returns {AxisAlignedBoundingBox} The modified result parameter or a new AxisAlignedBoundingBox instance if none was provided. (Returns undefined if box is undefined)
-         */
-        AxisAlignedBoundingBox.clone = function(box, result) {
-            if (!when.defined(box)) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                return new AxisAlignedBoundingBox(box.minimum, box.maximum, box.center);
-            }
-
-            result.minimum = Cartesian2.Cartesian3.clone(box.minimum, result.minimum);
-            result.maximum = Cartesian2.Cartesian3.clone(box.maximum, result.maximum);
-            result.center = Cartesian2.Cartesian3.clone(box.center, result.center);
-            return result;
-        };
-
-        /**
-         * Compares the provided AxisAlignedBoundingBox componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {AxisAlignedBoundingBox} [left] The first AxisAlignedBoundingBox.
-         * @param {AxisAlignedBoundingBox} [right] The second AxisAlignedBoundingBox.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        AxisAlignedBoundingBox.equals = function(left, right) {
-            return (left === right) ||
-                   ((when.defined(left)) &&
-                    (when.defined(right)) &&
-                    Cartesian2.Cartesian3.equals(left.center, right.center) &&
-                    Cartesian2.Cartesian3.equals(left.minimum, right.minimum) &&
-                    Cartesian2.Cartesian3.equals(left.maximum, right.maximum));
-        };
-
-        var intersectScratch = new Cartesian2.Cartesian3();
-        /**
-         * Determines which side of a plane a box is located.
-         *
-         * @param {AxisAlignedBoundingBox} box The bounding box to test.
-         * @param {Plane} plane The plane to test against.
-         * @returns {Intersect} {@link Intersect.INSIDE} if the entire box is on the side of the plane
-         *                      the normal is pointing, {@link Intersect.OUTSIDE} if the entire box is
-         *                      on the opposite side, and {@link Intersect.INTERSECTING} if the box
-         *                      intersects the plane.
-         */
-        AxisAlignedBoundingBox.intersectPlane = function(box, plane) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('box', box);
-            Check.Check.defined('plane', plane);
-            //>>includeEnd('debug');
-
-            intersectScratch = Cartesian2.Cartesian3.subtract(box.maximum, box.minimum, intersectScratch);
-            var h = Cartesian2.Cartesian3.multiplyByScalar(intersectScratch, 0.5, intersectScratch); //The positive half diagonal
-            var normal = plane.normal;
-            var e = h.x * Math.abs(normal.x) + h.y * Math.abs(normal.y) + h.z * Math.abs(normal.z);
-            var s = Cartesian2.Cartesian3.dot(box.center, normal) + plane.distance; //signed distance from center
-
-            if (s - e > 0) {
-                return BoundingSphere.Intersect.INSIDE;
-            }
-
-            if (s + e < 0) {
-                //Not in front because normals point inward
-                return BoundingSphere.Intersect.OUTSIDE;
-            }
-
-            return BoundingSphere.Intersect.INTERSECTING;
-        };
-
-        /**
-         * Duplicates this AxisAlignedBoundingBox instance.
-         *
-         * @param {AxisAlignedBoundingBox} [result] The object onto which to store the result.
-         * @returns {AxisAlignedBoundingBox} The modified result parameter or a new AxisAlignedBoundingBox instance if one was not provided.
-         */
-        AxisAlignedBoundingBox.prototype.clone = function(result) {
-            return AxisAlignedBoundingBox.clone(this, result);
-        };
-
-        /**
-         * Determines which side of a plane this box is located.
-         *
-         * @param {Plane} plane The plane to test against.
-         * @returns {Intersect} {@link Intersect.INSIDE} if the entire box is on the side of the plane
-         *                      the normal is pointing, {@link Intersect.OUTSIDE} if the entire box is
-         *                      on the opposite side, and {@link Intersect.INTERSECTING} if the box
-         *                      intersects the plane.
-         */
-        AxisAlignedBoundingBox.prototype.intersectPlane = function(plane) {
-            return AxisAlignedBoundingBox.intersectPlane(this, plane);
-        };
-
-        /**
-         * Compares this AxisAlignedBoundingBox against the provided AxisAlignedBoundingBox componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {AxisAlignedBoundingBox} [right] The right hand side AxisAlignedBoundingBox.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        AxisAlignedBoundingBox.prototype.equals = function(right) {
-            return AxisAlignedBoundingBox.equals(this, right);
-        };
-
-    var scratchCart4 = new BoundingSphere.Cartesian4();
-        /**
-         * A plane tangent to the provided ellipsoid at the provided origin.
-         * If origin is not on the surface of the ellipsoid, it's surface projection will be used.
-         * If origin is at the center of the ellipsoid, an exception will be thrown.
-         * @alias EllipsoidTangentPlane
-         * @constructor
-         *
-         * @param {Cartesian3} origin The point on the surface of the ellipsoid where the tangent plane touches.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid to use.
-         *
-         * @exception {DeveloperError} origin must not be at the center of the ellipsoid.
-         */
-        function EllipsoidTangentPlane(origin, ellipsoid) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('origin', origin);
-            //>>includeEnd('debug');
-
-            ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            origin = ellipsoid.scaleToGeodeticSurface(origin);
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(origin)) {
-                throw new Check.DeveloperError('origin must not be at the center of the ellipsoid.');
-            }
-            //>>includeEnd('debug');
-
-            var eastNorthUp = Transforms.Transforms.eastNorthUpToFixedFrame(origin, ellipsoid);
-            this._ellipsoid = ellipsoid;
-            this._origin = origin;
-            this._xAxis = Cartesian2.Cartesian3.fromCartesian4(BoundingSphere.Matrix4.getColumn(eastNorthUp, 0, scratchCart4));
-            this._yAxis = Cartesian2.Cartesian3.fromCartesian4(BoundingSphere.Matrix4.getColumn(eastNorthUp, 1, scratchCart4));
-
-            var normal = Cartesian2.Cartesian3.fromCartesian4(BoundingSphere.Matrix4.getColumn(eastNorthUp, 2, scratchCart4));
-            this._plane = Plane.Plane.fromPointNormal(origin, normal);
-        }
-
-        Object.defineProperties(EllipsoidTangentPlane.prototype, {
-            /**
-             * Gets the ellipsoid.
-             * @memberof EllipsoidTangentPlane.prototype
-             * @type {Ellipsoid}
-             */
-            ellipsoid : {
-                get : function() {
-                    return this._ellipsoid;
-                }
-            },
-
-            /**
-             * Gets the origin.
-             * @memberof EllipsoidTangentPlane.prototype
-             * @type {Cartesian3}
-             */
-            origin : {
-                get : function() {
-                    return this._origin;
-                }
-            },
-
-            /**
-             * Gets the plane which is tangent to the ellipsoid.
-             * @memberof EllipsoidTangentPlane.prototype
-             * @readonly
-             * @type {Plane}
-             */
-            plane : {
-                get : function() {
-                    return this._plane;
-                }
-            },
-
-            /**
-             * Gets the local X-axis (east) of the tangent plane.
-             * @memberof EllipsoidTangentPlane.prototype
-             * @readonly
-             * @type {Cartesian3}
-             */
-            xAxis : {
-                get : function() {
-                    return this._xAxis;
-                }
-            },
-
-            /**
-             * Gets the local Y-axis (north) of the tangent plane.
-             * @memberof EllipsoidTangentPlane.prototype
-             * @readonly
-             * @type {Cartesian3}
-             */
-            yAxis : {
-                get : function() {
-                    return this._yAxis;
-                }
-            },
-
-            /**
-             * Gets the local Z-axis (up) of the tangent plane.
-             * @member EllipsoidTangentPlane.prototype
-             * @readonly
-             * @type {Cartesian3}
-             */
-            zAxis : {
-                get : function() {
-                    return this._plane.normal;
-                }
-            }
-        });
-
-        var tmp = new AxisAlignedBoundingBox();
-        /**
-         * Creates a new instance from the provided ellipsoid and the center
-         * point of the provided Cartesians.
-         *
-         * @param {Cartesian3} cartesians The list of positions surrounding the center point.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid to use.
-         */
-        EllipsoidTangentPlane.fromPoints = function(cartesians, ellipsoid) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('cartesians', cartesians);
-            //>>includeEnd('debug');
-
-            var box = AxisAlignedBoundingBox.fromPoints(cartesians, tmp);
-            return new EllipsoidTangentPlane(box.center, ellipsoid);
-        };
-
-        var scratchProjectPointOntoPlaneRay = new IntersectionTests.Ray();
-        var scratchProjectPointOntoPlaneCartesian3 = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes the projection of the provided 3D position onto the 2D plane, radially outward from the {@link EllipsoidTangentPlane.ellipsoid} coordinate system origin.
-         *
-         * @param {Cartesian3} cartesian The point to project.
-         * @param {Cartesian2} [result] The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if none was provided. Undefined if there is no intersection point
-         */
-        EllipsoidTangentPlane.prototype.projectPointOntoPlane = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            var ray = scratchProjectPointOntoPlaneRay;
-            ray.origin = cartesian;
-            Cartesian2.Cartesian3.normalize(cartesian, ray.direction);
-
-            var intersectionPoint = IntersectionTests.IntersectionTests.rayPlane(ray, this._plane, scratchProjectPointOntoPlaneCartesian3);
-            if (!when.defined(intersectionPoint)) {
-                Cartesian2.Cartesian3.negate(ray.direction, ray.direction);
-                intersectionPoint = IntersectionTests.IntersectionTests.rayPlane(ray, this._plane, scratchProjectPointOntoPlaneCartesian3);
-            }
-
-            if (when.defined(intersectionPoint)) {
-                var v = Cartesian2.Cartesian3.subtract(intersectionPoint, this._origin, intersectionPoint);
-                var x = Cartesian2.Cartesian3.dot(this._xAxis, v);
-                var y = Cartesian2.Cartesian3.dot(this._yAxis, v);
-
-                if (!when.defined(result)) {
-                    return new Cartesian2.Cartesian2(x, y);
-                }
-                result.x = x;
-                result.y = y;
-                return result;
-            }
-            return undefined;
-        };
-
-        /**
-         * Computes the projection of the provided 3D positions onto the 2D plane (where possible), radially outward from the global origin.
-         * The resulting array may be shorter than the input array - if a single projection is impossible it will not be included.
-         *
-         * @see EllipsoidTangentPlane.projectPointOntoPlane
-         *
-         * @param {Cartesian3[]} cartesians The array of points to project.
-         * @param {Cartesian2[]} [result] The array of Cartesian2 instances onto which to store results.
-         * @returns {Cartesian2[]} The modified result parameter or a new array of Cartesian2 instances if none was provided.
-         */
-        EllipsoidTangentPlane.prototype.projectPointsOntoPlane = function(cartesians, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('cartesians', cartesians);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = [];
-            }
-
-            var count = 0;
-            var length = cartesians.length;
-            for ( var i = 0; i < length; i++) {
-                var p = this.projectPointOntoPlane(cartesians[i], result[count]);
-                if (when.defined(p)) {
-                    result[count] = p;
-                    count++;
-                }
-            }
-            result.length = count;
-            return result;
-        };
-
-        /**
-         * Computes the projection of the provided 3D position onto the 2D plane, along the plane normal.
-         *
-         * @param {Cartesian3} cartesian The point to project.
-         * @param {Cartesian2} [result] The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if none was provided.
-         */
-        EllipsoidTangentPlane.prototype.projectPointToNearestOnPlane = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian2();
-            }
-
-            var ray = scratchProjectPointOntoPlaneRay;
-            ray.origin = cartesian;
-            Cartesian2.Cartesian3.clone(this._plane.normal, ray.direction);
-
-            var intersectionPoint = IntersectionTests.IntersectionTests.rayPlane(ray, this._plane, scratchProjectPointOntoPlaneCartesian3);
-            if (!when.defined(intersectionPoint)) {
-                Cartesian2.Cartesian3.negate(ray.direction, ray.direction);
-                intersectionPoint = IntersectionTests.IntersectionTests.rayPlane(ray, this._plane, scratchProjectPointOntoPlaneCartesian3);
-            }
-
-            var v = Cartesian2.Cartesian3.subtract(intersectionPoint, this._origin, intersectionPoint);
-            var x = Cartesian2.Cartesian3.dot(this._xAxis, v);
-            var y = Cartesian2.Cartesian3.dot(this._yAxis, v);
-
-            result.x = x;
-            result.y = y;
-            return result;
-        };
-
-        /**
-         * Computes the projection of the provided 3D positions onto the 2D plane, along the plane normal.
-         *
-         * @see EllipsoidTangentPlane.projectPointToNearestOnPlane
-         *
-         * @param {Cartesian3[]} cartesians The array of points to project.
-         * @param {Cartesian2[]} [result] The array of Cartesian2 instances onto which to store results.
-         * @returns {Cartesian2[]} The modified result parameter or a new array of Cartesian2 instances if none was provided. This will have the same length as <code>cartesians</code>.
-         */
-        EllipsoidTangentPlane.prototype.projectPointsToNearestOnPlane = function(cartesians, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('cartesians', cartesians);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = [];
-            }
-
-            var length = cartesians.length;
-            result.length = length;
-            for (var i = 0; i < length; i++) {
-                result[i] = this.projectPointToNearestOnPlane(cartesians[i], result[i]);
-            }
-            return result;
-        };
-
-        var projectPointsOntoEllipsoidScratch = new Cartesian2.Cartesian3();
-        /**
-         * Computes the projection of the provided 2D position onto the 3D ellipsoid.
-         *
-         * @param {Cartesian2} cartesian The points to project.
-         * @param {Cartesian3} [result] The Cartesian3 instance to store result.
-         * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
-         */
-        EllipsoidTangentPlane.prototype.projectPointOntoEllipsoid = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian3();
-            }
-
-            var ellipsoid = this._ellipsoid;
-            var origin = this._origin;
-            var xAxis = this._xAxis;
-            var yAxis = this._yAxis;
-            var tmp = projectPointsOntoEllipsoidScratch;
-
-            Cartesian2.Cartesian3.multiplyByScalar(xAxis, cartesian.x, tmp);
-            result = Cartesian2.Cartesian3.add(origin, tmp, result);
-            Cartesian2.Cartesian3.multiplyByScalar(yAxis, cartesian.y, tmp);
-            Cartesian2.Cartesian3.add(result, tmp, result);
-            ellipsoid.scaleToGeocentricSurface(result, result);
-
-            return result;
-        };
-
-        /**
-         * Computes the projection of the provided 2D positions onto the 3D ellipsoid.
-         *
-         * @param {Cartesian2[]} cartesians The array of points to project.
-         * @param {Cartesian3[]} [result] The array of Cartesian3 instances onto which to store results.
-         * @returns {Cartesian3[]} The modified result parameter or a new array of Cartesian3 instances if none was provided.
-         */
-        EllipsoidTangentPlane.prototype.projectPointsOntoEllipsoid = function(cartesians, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('cartesians', cartesians);
-            //>>includeEnd('debug');
-
-            var length = cartesians.length;
-            if (!when.defined(result)) {
-                result = new Array(length);
-            } else {
-                result.length = length;
-            }
-
-            for ( var i = 0; i < length; ++i) {
-                result[i] = this.projectPointOntoEllipsoid(cartesians[i], result[i]);
-            }
-
-            return result;
-        };
-
-    exports.AxisAlignedBoundingBox = AxisAlignedBoundingBox;
-    exports.EllipsoidTangentPlane = EllipsoidTangentPlane;
-
-});
diff --git a/libs/supermap/Workers/EncodedCartesian3-c30f641c.js b/libs/supermap/Workers/EncodedCartesian3-c30f641c.js
deleted file mode 100644
index 0585dad..0000000
--- a/libs/supermap/Workers/EncodedCartesian3-c30f641c.js
+++ /dev/null
@@ -1,193 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Cartesian2-2cbe6c75'], function (exports, when, Check, Cartesian2) { 'use strict';
-
-    /**
-         * A fixed-point encoding of a {@link Cartesian3} with 64-bit floating-point components, as two {@link Cartesian3}
-         * values that, when converted to 32-bit floating-point and added, approximate the original input.
-         * <p>
-         * This is used to encode positions in vertex buffers for rendering without jittering artifacts
-         * as described in {@link http://help.agi.com/AGIComponents/html/BlogPrecisionsPrecisions.htm|Precisions, Precisions}.
-         * </p>
-         *
-         * @alias EncodedCartesian3
-         * @constructor
-         *
-         * @private
-         */
-        function EncodedCartesian3() {
-            /**
-             * The high bits for each component.  Bits 0 to 22 store the whole value.  Bits 23 to 31 are not used.
-             *
-             * @type {Cartesian3}
-             * @default {@link Cartesian3.ZERO}
-             */
-            this.high = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO);
-
-            /**
-             * The low bits for each component.  Bits 7 to 22 store the whole value, and bits 0 to 6 store the fraction.  Bits 23 to 31 are not used.
-             *
-             * @type {Cartesian3}
-             * @default {@link Cartesian3.ZERO}
-             */
-            this.low = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO);
-        }
-
-        /**
-         * Encodes a 64-bit floating-point value as two floating-point values that, when converted to
-         * 32-bit floating-point and added, approximate the original input.  The returned object
-         * has <code>high</code> and <code>low</code> properties for the high and low bits, respectively.
-         * <p>
-         * The fixed-point encoding follows {@link http://help.agi.com/AGIComponents/html/BlogPrecisionsPrecisions.htm|Precisions, Precisions}.
-         * </p>
-         *
-         * @param {Number} value The floating-point value to encode.
-         * @param {Object} [result] The object onto which to store the result.
-         * @returns {Object} The modified result parameter or a new instance if one was not provided.
-         *
-         * @example
-         * var value = 1234567.1234567;
-         * var splitValue = Cesium.EncodedCartesian3.encode(value);
-         */
-        EncodedCartesian3.encode = function(value, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('value', value);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = {
-                    high : 0.0,
-                    low : 0.0
-                };
-            }
-
-            var doubleHigh;
-            if (value >= 0.0) {
-                doubleHigh = Math.floor(value / 65536.0) * 65536.0;
-                result.high = doubleHigh;
-                result.low = value - doubleHigh;
-            } else {
-                doubleHigh = Math.floor(-value / 65536.0) * 65536.0;
-                result.high = -doubleHigh;
-                result.low = value + doubleHigh;
-            }
-
-            return result;
-        };
-
-        var scratchEncode = {
-            high : 0.0,
-            low : 0.0
-        };
-
-        /**
-         * Encodes a {@link Cartesian3} with 64-bit floating-point components as two {@link Cartesian3}
-         * values that, when converted to 32-bit floating-point and added, approximate the original input.
-         * <p>
-         * The fixed-point encoding follows {@link http://blogs.agi.com/insight3d/index.php/2008/09/03/precisions-precisions/|Precisions, Precisions}.
-         * </p>
-         *
-         * @param {Cartesian3} cartesian The cartesian to encode.
-         * @param {EncodedCartesian3} [result] The object onto which to store the result.
-         * @returns {EncodedCartesian3} The modified result parameter or a new EncodedCartesian3 instance if one was not provided.
-         *
-         * @example
-         * var cart = new Cesium.Cartesian3(-10000000.0, 0.0, 10000000.0);
-         * var encoded = Cesium.EncodedCartesian3.fromCartesian(cart);
-         */
-        EncodedCartesian3.fromCartesian = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new EncodedCartesian3();
-            }
-
-            var high = result.high;
-            var low = result.low;
-
-            EncodedCartesian3.encode(cartesian.x, scratchEncode);
-            high.x = scratchEncode.high;
-            low.x = scratchEncode.low;
-
-            EncodedCartesian3.encode(cartesian.y, scratchEncode);
-            high.y = scratchEncode.high;
-            low.y = scratchEncode.low;
-
-            EncodedCartesian3.encode(cartesian.z, scratchEncode);
-            high.z = scratchEncode.high;
-            low.z = scratchEncode.low;
-
-            return result;
-        };
-
-        var encodedP = new EncodedCartesian3();
-
-        /**
-         * Encodes the provided <code>cartesian</code>, and writes it to an array with <code>high</code>
-         * components followed by <code>low</code> components, i.e. <code>[high.x, high.y, high.z, low.x, low.y, low.z]</code>.
-         * <p>
-         * This is used to create interleaved high-precision position vertex attributes.
-         * </p>
-         *
-         * @param {Cartesian3} cartesian The cartesian to encode.
-         * @param {Number[]} cartesianArray The array to write to.
-         * @param {Number} index The index into the array to start writing.  Six elements will be written.
-         *
-         * @exception {DeveloperError} index must be a number greater than or equal to 0.
-         *
-         * @example
-         * var positions = [
-         *    new Cesium.Cartesian3(),
-         *    // ...
-         * ];
-         * var encodedPositions = new Float32Array(2 * 3 * positions.length);
-         * var j = 0;
-         * for (var i = 0; i < positions.length; ++i) {
-         *   Cesium.EncodedCartesian3.writeElement(positions[i], encodedPositions, j);
-         *   j += 6;
-         * }
-         */
-        EncodedCartesian3.writeElements = function(cartesian, cartesianArray, index) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('cartesianArray', cartesianArray);
-            Check.Check.typeOf.number('index', index);
-            Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-            //>>includeEnd('debug');
-
-            EncodedCartesian3.fromCartesian(cartesian, encodedP);
-            var high = encodedP.high;
-            var low = encodedP.low;
-
-            cartesianArray[index] = high.x;
-            cartesianArray[index + 1] = high.y;
-            cartesianArray[index + 2] = high.z;
-            cartesianArray[index + 3] = low.x;
-            cartesianArray[index + 4] = low.y;
-            cartesianArray[index + 5] = low.z;
-        };
-
-    exports.EncodedCartesian3 = EncodedCartesian3;
-
-});
diff --git a/libs/supermap/Workers/FeatureDetection-7bd32c34.js b/libs/supermap/Workers/FeatureDetection-7bd32c34.js
deleted file mode 100644
index afb1c70..0000000
--- a/libs/supermap/Workers/FeatureDetection-7bd32c34.js
+++ /dev/null
@@ -1,626 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60'], function (exports, when) { 'use strict';
-
-    var _supportsFullscreen;
-        var _names = {
-            requestFullscreen : undefined,
-            exitFullscreen : undefined,
-            fullscreenEnabled : undefined,
-            fullscreenElement : undefined,
-            fullscreenchange : undefined,
-            fullscreenerror : undefined
-        };
-
-        /**
-         * Browser-independent functions for working with the standard fullscreen API.
-         *
-         * @exports Fullscreen
-         * @namespace
-         *
-         * @see {@link http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html|W3C Fullscreen Living Specification}
-         */
-        var Fullscreen = {};
-
-        Object.defineProperties(Fullscreen, {
-            /**
-             * The element that is currently fullscreen, if any.  To simply check if the
-             * browser is in fullscreen mode or not, use {@link Fullscreen#fullscreen}.
-             * @memberof Fullscreen
-             * @type {Object}
-             * @readonly
-             */
-            element : {
-                get : function() {
-                    if (!Fullscreen.supportsFullscreen()) {
-                        return undefined;
-                    }
-
-                    return document[_names.fullscreenElement];
-                }
-            },
-
-            /**
-             * The name of the event on the document that is fired when fullscreen is
-             * entered or exited.  This event name is intended for use with addEventListener.
-             * In your event handler, to determine if the browser is in fullscreen mode or not,
-             * use {@link Fullscreen#fullscreen}.
-             * @memberof Fullscreen
-             * @type {String}
-             * @readonly
-             */
-            changeEventName : {
-                get : function() {
-                    if (!Fullscreen.supportsFullscreen()) {
-                        return undefined;
-                    }
-
-                    return _names.fullscreenchange;
-                }
-            },
-
-            /**
-             * The name of the event that is fired when a fullscreen error
-             * occurs.  This event name is intended for use with addEventListener.
-             * @memberof Fullscreen
-             * @type {String}
-             * @readonly
-             */
-            errorEventName : {
-                get : function() {
-                    if (!Fullscreen.supportsFullscreen()) {
-                        return undefined;
-                    }
-
-                    return _names.fullscreenerror;
-                }
-            },
-
-            /**
-             * Determine whether the browser will allow an element to be made fullscreen, or not.
-             * For example, by default, iframes cannot go fullscreen unless the containing page
-             * adds an "allowfullscreen" attribute (or prefixed equivalent).
-             * @memberof Fullscreen
-             * @type {Boolean}
-             * @readonly
-             */
-            enabled : {
-                get : function() {
-                    if (!Fullscreen.supportsFullscreen()) {
-                        return undefined;
-                    }
-
-                    return document[_names.fullscreenEnabled];
-                }
-            },
-
-            /**
-             * Determines if the browser is currently in fullscreen mode.
-             * @memberof Fullscreen
-             * @type {Boolean}
-             * @readonly
-             */
-            fullscreen : {
-                get : function() {
-                    if (!Fullscreen.supportsFullscreen()) {
-                        return undefined;
-                    }
-
-                    return Fullscreen.element !== null;
-                }
-            }
-        });
-
-        /**
-         * Detects whether the browser supports the standard fullscreen API.
-         *
-         * @returns {Boolean} <code>true</code> if the browser supports the standard fullscreen API,
-         * <code>false</code> otherwise.
-         */
-        Fullscreen.supportsFullscreen = function() {
-            if (when.defined(_supportsFullscreen)) {
-                return _supportsFullscreen;
-            }
-
-            _supportsFullscreen = false;
-
-            var body = document.body;
-            if (typeof body.requestFullscreen === 'function') {
-                // go with the unprefixed, standard set of names
-                _names.requestFullscreen = 'requestFullscreen';
-                _names.exitFullscreen = 'exitFullscreen';
-                _names.fullscreenEnabled = 'fullscreenEnabled';
-                _names.fullscreenElement = 'fullscreenElement';
-                _names.fullscreenchange = 'fullscreenchange';
-                _names.fullscreenerror = 'fullscreenerror';
-                _supportsFullscreen = true;
-                return _supportsFullscreen;
-            }
-
-            //check for the correct combination of prefix plus the various names that browsers use
-            var prefixes = ['webkit', 'moz', 'o', 'ms', 'khtml'];
-            var name;
-            for (var i = 0, len = prefixes.length; i < len; ++i) {
-                var prefix = prefixes[i];
-
-                // casing of Fullscreen differs across browsers
-                name = prefix + 'RequestFullscreen';
-                if (typeof body[name] === 'function') {
-                    _names.requestFullscreen = name;
-                    _supportsFullscreen = true;
-                } else {
-                    name = prefix + 'RequestFullScreen';
-                    if (typeof body[name] === 'function') {
-                        _names.requestFullscreen = name;
-                        _supportsFullscreen = true;
-                    }
-                }
-
-                // disagreement about whether it's "exit" as per spec, or "cancel"
-                name = prefix + 'ExitFullscreen';
-                if (typeof document[name] === 'function') {
-                    _names.exitFullscreen = name;
-                } else {
-                    name = prefix + 'CancelFullScreen';
-                    if (typeof document[name] === 'function') {
-                        _names.exitFullscreen = name;
-                    }
-                }
-
-                // casing of Fullscreen differs across browsers
-                name = prefix + 'FullscreenEnabled';
-                if (document[name] !== undefined) {
-                    _names.fullscreenEnabled = name;
-                } else {
-                    name = prefix + 'FullScreenEnabled';
-                    if (document[name] !== undefined) {
-                        _names.fullscreenEnabled = name;
-                    }
-                }
-
-                // casing of Fullscreen differs across browsers
-                name = prefix + 'FullscreenElement';
-                if (document[name] !== undefined) {
-                    _names.fullscreenElement = name;
-                } else {
-                    name = prefix + 'FullScreenElement';
-                    if (document[name] !== undefined) {
-                        _names.fullscreenElement = name;
-                    }
-                }
-
-                // thankfully, event names are all lowercase per spec
-                name = prefix + 'fullscreenchange';
-                // event names do not have 'on' in the front, but the property on the document does
-                if (document['on' + name] !== undefined) {
-                    //except on IE
-                    if (prefix === 'ms') {
-                        name = 'MSFullscreenChange';
-                    }
-                    _names.fullscreenchange = name;
-                }
-
-                name = prefix + 'fullscreenerror';
-                if (document['on' + name] !== undefined) {
-                    //except on IE
-                    if (prefix === 'ms') {
-                        name = 'MSFullscreenError';
-                    }
-                    _names.fullscreenerror = name;
-                }
-            }
-
-            return _supportsFullscreen;
-        };
-
-        /**
-         * Asynchronously requests the browser to enter fullscreen mode on the given element.
-         * If fullscreen mode is not supported by the browser, does nothing.
-         *
-         * @param {Object} element The HTML element which will be placed into fullscreen mode.
-         * @param {HMDVRDevice} [vrDevice] The VR device.
-         *
-         * @example
-         * // Put the entire page into fullscreen.
-         * Cesium.Fullscreen.requestFullscreen(document.body)
-         *
-         * // Place only the Cesium canvas into fullscreen.
-         * Cesium.Fullscreen.requestFullscreen(scene.canvas)
-         */
-        Fullscreen.requestFullscreen = function(element, vrDevice) {
-            if (!Fullscreen.supportsFullscreen()) {
-                return;
-            }
-
-            element[_names.requestFullscreen]({ vrDisplay: vrDevice });
-        };
-
-        /**
-         * Asynchronously exits fullscreen mode.  If the browser is not currently
-         * in fullscreen, or if fullscreen mode is not supported by the browser, does nothing.
-         */
-        Fullscreen.exitFullscreen = function() {
-            if (!Fullscreen.supportsFullscreen()) {
-                return;
-            }
-
-            document[_names.exitFullscreen]();
-        };
-
-        //For unit tests
-        Fullscreen._names = _names;
-
-    var theNavigator;
-    if (typeof navigator !== 'undefined') {
-        theNavigator = navigator;
-    } else {
-        theNavigator = {};
-    }
-
-    function extractVersion(versionString) {
-        var parts = versionString.split('.');
-        for (var i = 0, len = parts.length; i < len; ++i) {
-            parts[i] = parseInt(parts[i], 10);
-        }
-        return parts;
-    }
-
-    var isChromeResult;
-    var chromeVersionResult;
-    function isChrome() {
-        if (!when.defined(isChromeResult)) {
-            isChromeResult = false;
-            // Edge contains Chrome in the user agent too
-            if (!isEdge()) {
-                var fields = (/ Chrome\/([\.0-9]+)/).exec(theNavigator.userAgent);
-                if (fields !== null) {
-                    isChromeResult = true;
-                    chromeVersionResult = extractVersion(fields[1]);
-                }
-            }
-        }
-
-        return isChromeResult;
-    }
-
-    function chromeVersion() {
-        return isChrome() && chromeVersionResult;
-    }
-
-    var isSafariResult;
-    var safariVersionResult;
-    function isSafari() {
-        if (!when.defined(isSafariResult)) {
-            isSafariResult = false;
-
-            // Chrome and Edge contain Safari in the user agent too
-            if (!isChrome() && !isEdge() && (/ Safari\/[\.0-9]+/).test(theNavigator.userAgent)) {
-                var fields = (/ Version\/([\.0-9]+)/).exec(theNavigator.userAgent);
-                if (fields !== null) {
-                    isSafariResult = true;
-                    safariVersionResult = extractVersion(fields[1]);
-                }
-            }
-        }
-
-        return isSafariResult;
-    }
-
-    function safariVersion() {
-        return isSafari() && safariVersionResult;
-    }
-
-    var isWebkitResult;
-    var webkitVersionResult;
-    function isWebkit() {
-        if (!when.defined(isWebkitResult)) {
-            isWebkitResult = false;
-
-            var fields = (/ AppleWebKit\/([\.0-9]+)(\+?)/).exec(theNavigator.userAgent);
-            if (fields !== null) {
-                isWebkitResult = true;
-                webkitVersionResult = extractVersion(fields[1]);
-                webkitVersionResult.isNightly = !!fields[2];
-            }
-        }
-
-        return isWebkitResult;
-    }
-
-    function webkitVersion() {
-        return isWebkit() && webkitVersionResult;
-    }
-
-    var isInternetExplorerResult;
-    var internetExplorerVersionResult;
-    function isInternetExplorer() {
-        if (!when.defined(isInternetExplorerResult)) {
-            isInternetExplorerResult = false;
-
-            var fields;
-            if (theNavigator.appName === 'Microsoft Internet Explorer') {
-                fields = /MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(theNavigator.userAgent);
-                if (fields !== null) {
-                    isInternetExplorerResult = true;
-                    internetExplorerVersionResult = extractVersion(fields[1]);
-                }
-            } else if (theNavigator.appName === 'Netscape') {
-                fields = /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(theNavigator.userAgent);
-                if (fields !== null) {
-                    isInternetExplorerResult = true;
-                    internetExplorerVersionResult = extractVersion(fields[1]);
-                }
-            }
-        }
-        return isInternetExplorerResult;
-    }
-
-    function internetExplorerVersion() {
-        return isInternetExplorer() && internetExplorerVersionResult;
-    }
-
-    var isEdgeResult;
-    var edgeVersionResult;
-    function isEdge() {
-        if (!when.defined(isEdgeResult)) {
-            isEdgeResult = false;
-            var fields = (/ Edge\/([\.0-9]+)/).exec(theNavigator.userAgent);
-            if (fields !== null) {
-                isEdgeResult = true;
-                edgeVersionResult = extractVersion(fields[1]);
-            }
-        }
-        return isEdgeResult;
-    }
-
-    function edgeVersion() {
-        return isEdge() && edgeVersionResult;
-    }
-
-    var isFirefoxResult;
-    var firefoxVersionResult;
-    function isFirefox() {
-        if (!when.defined(isFirefoxResult)) {
-            isFirefoxResult = false;
-
-            var fields = /Firefox\/([\.0-9]+)/.exec(theNavigator.userAgent);
-            if (fields !== null) {
-                isFirefoxResult = true;
-                firefoxVersionResult = extractVersion(fields[1]);
-            }
-        }
-        return isFirefoxResult;
-    }
-
-    var isWindowsResult;
-    function isWindows() {
-        if (!when.defined(isWindowsResult)) {
-            isWindowsResult = /Windows/i.test(theNavigator.appVersion);
-        }
-        return isWindowsResult;
-    }
-
-    function firefoxVersion() {
-        return isFirefox() && firefoxVersionResult;
-    }
-
-    var isNodeJsResult;
-    function isNodeJs() {
-        if (!when.defined(isNodeJsResult)) {
-            isNodeJsResult = typeof process === 'object' && Object.prototype.toString.call(process) === '[object process]'; // eslint-disable-line
-        }
-        return isNodeJsResult;
-    }
-
-    var hasPointerEvents;
-    function supportsPointerEvents() {
-        if (!when.defined(hasPointerEvents)) {
-            //While navigator.pointerEnabled is deprecated in the W3C specification
-            //we still need to use it if it exists in order to support browsers
-            //that rely on it, such as the Windows WebBrowser control which defines
-            //PointerEvent but sets navigator.pointerEnabled to false.
-
-            //Firefox disabled because of https://github.com/AnalyticalGraphicsInc/cesium/issues/6372
-            hasPointerEvents = !isFirefox() && typeof PointerEvent !== 'undefined' && (!when.defined(theNavigator.pointerEnabled) || theNavigator.pointerEnabled);
-        }
-        return hasPointerEvents;
-    }
-
-    var imageRenderingValueResult;
-    var supportsImageRenderingPixelatedResult;
-    function supportsImageRenderingPixelated() {
-        if (!when.defined(supportsImageRenderingPixelatedResult)) {
-            var canvas = document.createElement('canvas');
-            canvas.setAttribute('style',
-                'image-rendering: -moz-crisp-edges;' +
-                'image-rendering: pixelated;');
-            //canvas.style.imageRendering will be undefined, null or an empty string on unsupported browsers.
-            var tmp = canvas.style.imageRendering;
-            supportsImageRenderingPixelatedResult = when.defined(tmp) && tmp !== '';
-            if (supportsImageRenderingPixelatedResult) {
-                imageRenderingValueResult = tmp;
-            }
-        }
-        return supportsImageRenderingPixelatedResult;
-    }
-
-    function imageRenderingValue() {
-        return supportsImageRenderingPixelated() ? imageRenderingValueResult : undefined;
-    }
-
-    var supportsWebPResult;
-    var supportsWebPPromise;
-    function supportsWebP() {
-        // From https://developers.google.com/speed/webp/faq#how_can_i_detect_browser_support_for_webp
-        if (when.defined(supportsWebPPromise)) {
-            return supportsWebPPromise.promise;
-        }
-
-        supportsWebPPromise = when.when.defer();
-        if (isEdge()) {
-            // Edge's WebP support with WebGL is incomplete.
-            // See bug report: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19221241/
-            supportsWebPResult = false;
-            supportsWebPPromise.resolve(supportsWebPResult);
-        }
-
-        var image = new Image();
-        image.onload = function () {
-            supportsWebPResult = (image.width > 0) && (image.height > 0);
-            supportsWebPPromise.resolve(supportsWebPResult);
-        };
-
-        image.onerror = function () {
-            supportsWebPResult = false;
-            supportsWebPPromise.resolve(supportsWebPResult);
-        };
-
-        image.src = 'data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA';
-
-        return supportsWebPPromise.promise;
-    }
-
-    function supportsWebPSync() {
-        if (!when.defined(supportsWebPPromise)) {
-            supportsWebP();
-        }
-        return supportsWebPResult;
-    }
-
-    var typedArrayTypes = [];
-    if (typeof ArrayBuffer !== 'undefined') {
-        typedArrayTypes.push(Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array);
-
-        if (typeof Uint8ClampedArray !== 'undefined') {
-            typedArrayTypes.push(Uint8ClampedArray);
-        }
-
-        if (typeof CanvasPixelArray !== 'undefined') {
-            typedArrayTypes.push(CanvasPixelArray);
-        }
-    }
-
-    /**
-     * A set of functions to detect whether the current browser supports
-     * various features.
-     *
-     * @exports FeatureDetection
-     */
-    var FeatureDetection = {
-        isChrome : isChrome,
-        chromeVersion : chromeVersion,
-        isSafari : isSafari,
-        safariVersion : safariVersion,
-        isWebkit : isWebkit,
-        webkitVersion : webkitVersion,
-        isInternetExplorer : isInternetExplorer,
-        internetExplorerVersion : internetExplorerVersion,
-        isEdge : isEdge,
-        edgeVersion : edgeVersion,
-        isFirefox : isFirefox,
-        firefoxVersion : firefoxVersion,
-        isWindows : isWindows,
-        isNodeJs : isNodeJs,
-        hardwareConcurrency : when.defaultValue(theNavigator.hardwareConcurrency, 3),
-        supportsPointerEvents : supportsPointerEvents,
-        supportsImageRenderingPixelated: supportsImageRenderingPixelated,
-        supportsWebP: supportsWebP,
-        supportsWebPSync: supportsWebPSync,
-        imageRenderingValue: imageRenderingValue,
-        typedArrayTypes: typedArrayTypes,
-        isPCBroswer : isPCBroswer
-    };
-
-    /**
-     * Detects whether the current browser supports the full screen standard.
-     *
-     * @returns {Boolean} true if the browser supports the full screen standard, false if not.
-     *
-     * @see Fullscreen
-     * @see {@link http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html|W3C Fullscreen Living Specification}
-     */
-    FeatureDetection.supportsFullscreen = function() {
-        return Fullscreen.supportsFullscreen();
-    };
-
-    /**
-     * Detects whether the current browser supports typed arrays.
-     *
-     * @returns {Boolean} true if the browser supports typed arrays, false if not.
-     *
-     * @see {@link http://www.khronos.org/registry/typedarray/specs/latest/|Typed Array Specification}
-     */
-    FeatureDetection.supportsTypedArrays = function() {
-        return typeof ArrayBuffer !== 'undefined';
-    };
-
-    /**
-     * Detects whether the current browser supports Web Workers.
-     *
-     * @returns {Boolean} true if the browsers supports Web Workers, false if not.
-     *
-     * @see {@link http://www.w3.org/TR/workers/}
-     */
-    FeatureDetection.supportsWebWorkers = function() {
-        return typeof Worker !== 'undefined';
-    };
-
-    /**
-     * Detects whether the current browser supports Web Assembly.
-     *
-     * @returns {Boolean} true if the browsers supports Web Assembly, false if not.
-     *
-     * @see {@link https://developer.mozilla.org/en-US/docs/WebAssembly}
-     */
-    FeatureDetection.supportsWebAssembly = function() {
-        return typeof WebAssembly !== 'undefined' && !FeatureDetection.isEdge();
-    };
-
-    /**
-     * Detects whether the current browser supports OffscreenCanvas.
-     * @returns {Boolean} true if the browsers supports OffscreenCanvas, false if not.
-     */
-    FeatureDetection.supportsOffscreenCanvas = function() {
-        return typeof OffscreenCanvas !== 'undefined' && !FeatureDetection.isEdge();
-    };
-
-    function isPCBroswer() {
-        var sUserAgent = window.navigator.userAgent.toLowerCase();
-        var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
-        var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
-        var bIsMidp = sUserAgent.match(/midp/i) == "midp";
-        var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
-        var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
-        var bIsAndroid = sUserAgent.match(/android/i) == "android";
-        var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
-        var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
-        if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
-            return false;
-        } else {
-            return true;
-        }
-    }
-
-    exports.FeatureDetection = FeatureDetection;
-
-});
diff --git a/libs/supermap/Workers/FrustumGeometry-0d015f90.js b/libs/supermap/Workers/FrustumGeometry-0d015f90.js
deleted file mode 100644
index 7482952..0000000
--- a/libs/supermap/Workers/FrustumGeometry-0d015f90.js
+++ /dev/null
@@ -1,2232 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './Transforms-2f2aa225', './GeometryAttributes-aacecde6', './Plane-d0f009aa', './VertexFormat-fe4db402'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, ComponentDatatype, GeometryAttribute, PrimitiveType, Transforms, GeometryAttributes, Plane, VertexFormat) { 'use strict';
-
-    /**
-         * The culling volume defined by planes.
-         *
-         * @alias CullingVolume
-         * @constructor
-         *
-         * @param {Cartesian4[]} [planes] An array of clipping planes.
-         */
-        function CullingVolume(planes) {
-            /**
-             * Each plane is represented by a Cartesian4 object, where the x, y, and z components
-             * define the unit vector normal to the plane, and the w component is the distance of the
-             * plane from the origin.
-             * @type {Cartesian4[]}
-             * @default []
-             */
-            this.planes = when.defaultValue(planes, []);
-        }
-
-        var faces = [new Cartesian2.Cartesian3(), new Cartesian2.Cartesian3(), new Cartesian2.Cartesian3()];
-        Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_X, faces[0]);
-        Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_Y, faces[1]);
-        Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_Z, faces[2]);
-
-        var scratchPlaneCenter = new Cartesian2.Cartesian3();
-        var scratchPlaneNormal = new Cartesian2.Cartesian3();
-        var scratchPlane = new Plane.Plane(new Cartesian2.Cartesian3(1.0, 0.0, 0.0), 0.0);
-
-        /**
-         * Constructs a culling volume from a bounding sphere. Creates six planes that create a box containing the sphere.
-         * The planes are aligned to the x, y, and z axes in world coordinates.
-         *
-         * @param {BoundingSphere} boundingSphere The bounding sphere used to create the culling volume.
-         * @param {CullingVolume} [result] The object onto which to store the result.
-         * @returns {CullingVolume} The culling volume created from the bounding sphere.
-         */
-        CullingVolume.fromBoundingSphere = function(boundingSphere, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(boundingSphere)) {
-                throw new Check.DeveloperError('boundingSphere is required.');
-            }
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new CullingVolume();
-            }
-
-            var length = faces.length;
-            var planes = result.planes;
-            planes.length = 2 * length;
-
-            var center = boundingSphere.center;
-            var radius = boundingSphere.radius;
-
-            var planeIndex = 0;
-
-            for (var i = 0; i < length; ++i) {
-                var faceNormal = faces[i];
-
-                var plane0 = planes[planeIndex];
-                var plane1 = planes[planeIndex + 1];
-
-                if (!when.defined(plane0)) {
-                    plane0 = planes[planeIndex] = new BoundingSphere.Cartesian4();
-                }
-                if (!when.defined(plane1)) {
-                    plane1 = planes[planeIndex + 1] = new BoundingSphere.Cartesian4();
-                }
-
-                Cartesian2.Cartesian3.multiplyByScalar(faceNormal, -radius, scratchPlaneCenter);
-                Cartesian2.Cartesian3.add(center, scratchPlaneCenter, scratchPlaneCenter);
-
-                plane0.x = faceNormal.x;
-                plane0.y = faceNormal.y;
-                plane0.z = faceNormal.z;
-                plane0.w = -Cartesian2.Cartesian3.dot(faceNormal, scratchPlaneCenter);
-
-                Cartesian2.Cartesian3.multiplyByScalar(faceNormal, radius, scratchPlaneCenter);
-                Cartesian2.Cartesian3.add(center, scratchPlaneCenter, scratchPlaneCenter);
-
-                plane1.x = -faceNormal.x;
-                plane1.y = -faceNormal.y;
-                plane1.z = -faceNormal.z;
-                plane1.w = -Cartesian2.Cartesian3.dot(Cartesian2.Cartesian3.negate(faceNormal, scratchPlaneNormal), scratchPlaneCenter);
-
-                planeIndex += 2;
-            }
-
-            return result;
-        };
-
-        /**
-         * Determines whether a bounding volume intersects the culling volume.
-         *
-         * @param {Object} boundingVolume The bounding volume whose intersection with the culling volume is to be tested.
-         * @returns {Intersect}  Intersect.OUTSIDE, Intersect.INTERSECTING, or Intersect.INSIDE.
-         */
-        CullingVolume.prototype.computeVisibility = function(boundingVolume) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(boundingVolume)) {
-                throw new Check.DeveloperError('boundingVolume is required.');
-            }
-            //>>includeEnd('debug');
-
-            var planes = this.planes;
-            var intersecting = false;
-            for (var k = 0, len = planes.length; k < len; ++k) {
-                var result = boundingVolume.intersectPlane(Plane.Plane.fromCartesian4(planes[k], scratchPlane));
-                if (result === BoundingSphere.Intersect.OUTSIDE) {
-                    return BoundingSphere.Intersect.OUTSIDE;
-                } else if (result === BoundingSphere.Intersect.INTERSECTING) {
-                    intersecting = true;
-                }
-            }
-
-            return intersecting ? BoundingSphere.Intersect.INTERSECTING : BoundingSphere.Intersect.INSIDE;
-        };
-
-        /**
-         * Determines whether a bounding volume intersects the culling volume.
-         *
-         * @param {Object} boundingVolume The bounding volume whose intersection with the culling volume is to be tested.
-         * @param {Number} parentPlaneMask A bit mask from the boundingVolume's parent's check against the same culling
-         *                                 volume, such that if (planeMask & (1 << planeIndex) === 0), for k < 31, then
-         *                                 the parent (and therefore this) volume is completely inside plane[planeIndex]
-         *                                 and that plane check can be skipped.
-         * @returns {Number} A plane mask as described above (which can be applied to this boundingVolume's children).
-         *
-         * @private
-         */
-        CullingVolume.prototype.computeVisibilityWithPlaneMask = function(boundingVolume, parentPlaneMask) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(boundingVolume)) {
-                throw new Check.DeveloperError('boundingVolume is required.');
-            }
-            if (!when.defined(parentPlaneMask)) {
-                throw new Check.DeveloperError('parentPlaneMask is required.');
-            }
-            //>>includeEnd('debug');
-
-            if (parentPlaneMask === CullingVolume.MASK_OUTSIDE || parentPlaneMask === CullingVolume.MASK_INSIDE) {
-                // parent is completely outside or completely inside, so this child is as well.
-                return parentPlaneMask;
-            }
-
-            // Start with MASK_INSIDE (all zeros) so that after the loop, the return value can be compared with MASK_INSIDE.
-            // (Because if there are fewer than 31 planes, the upper bits wont be changed.)
-            var mask = CullingVolume.MASK_INSIDE;
-
-            var planes = this.planes;
-            for (var k = 0, len = planes.length; k < len; ++k) {
-                // For k greater than 31 (since 31 is the maximum number of INSIDE/INTERSECTING bits we can store), skip the optimization.
-                var flag = (k < 31) ? (1 << k) : 0;
-                if (k < 31 && (parentPlaneMask & flag) === 0) {
-                    // boundingVolume is known to be INSIDE this plane.
-                    continue;
-                }
-
-                var result = boundingVolume.intersectPlane(Plane.Plane.fromCartesian4(planes[k], scratchPlane));
-                if (result === BoundingSphere.Intersect.OUTSIDE) {
-                    return CullingVolume.MASK_OUTSIDE;
-                } else if (result === BoundingSphere.Intersect.INTERSECTING) {
-                    mask |= flag;
-                }
-            }
-
-            return mask;
-        };
-
-        /**
-         * For plane masks (as used in {@link CullingVolume#computeVisibilityWithPlaneMask}), this special value
-         * represents the case where the object bounding volume is entirely outside the culling volume.
-         *
-         * @type {Number}
-         * @private
-         */
-        CullingVolume.MASK_OUTSIDE = 0xffffffff;
-
-        /**
-         * For plane masks (as used in {@link CullingVolume.prototype.computeVisibilityWithPlaneMask}), this value
-         * represents the case where the object bounding volume is entirely inside the culling volume.
-         *
-         * @type {Number}
-         * @private
-         */
-        CullingVolume.MASK_INSIDE = 0x00000000;
-
-        /**
-         * For plane masks (as used in {@link CullingVolume.prototype.computeVisibilityWithPlaneMask}), this value
-         * represents the case where the object bounding volume (may) intersect all planes of the culling volume.
-         *
-         * @type {Number}
-         * @private
-         */
-        CullingVolume.MASK_INDETERMINATE = 0x7fffffff;
-
-    /**
-         * The viewing frustum is defined by 6 planes.
-         * Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components
-         * define the unit vector normal to the plane, and the w component is the distance of the
-         * plane from the origin/camera position.
-         *
-         * @alias OrthographicOffCenterFrustum
-         * @constructor
-         *
-         * @param {Object} [options] An object with the following properties:
-         * @param {Number} [options.left] The left clipping plane distance.
-         * @param {Number} [options.right] The right clipping plane distance.
-         * @param {Number} [options.top] The top clipping plane distance.
-         * @param {Number} [options.bottom] The bottom clipping plane distance.
-         * @param {Number} [options.near=1.0] The near clipping plane distance.
-         * @param {Number} [options.far=500000000.0] The far clipping plane distance.
-         *
-         * @example
-         * var maxRadii = ellipsoid.maximumRadius;
-         *
-         * var frustum = new Cesium.OrthographicOffCenterFrustum();
-         * frustum.right = maxRadii * Cesium.Math.PI;
-         * frustum.left = -c.frustum.right;
-         * frustum.top = c.frustum.right * (canvas.clientHeight / canvas.clientWidth);
-         * frustum.bottom = -c.frustum.top;
-         * frustum.near = 0.01 * maxRadii;
-         * frustum.far = 50.0 * maxRadii;
-         */
-        function OrthographicOffCenterFrustum(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            /**
-             * The left clipping plane.
-             * @type {Number}
-             * @default undefined
-             */
-            this.left = options.left;
-            this._left = undefined;
-
-            /**
-             * The right clipping plane.
-             * @type {Number}
-             * @default undefined
-             */
-            this.right = options.right;
-            this._right = undefined;
-
-            /**
-             * The top clipping plane.
-             * @type {Number}
-             * @default undefined
-             */
-            this.top = options.top;
-            this._top = undefined;
-
-            /**
-             * The bottom clipping plane.
-             * @type {Number}
-             * @default undefined
-             */
-            this.bottom = options.bottom;
-            this._bottom = undefined;
-
-            /**
-             * The distance of the near plane.
-             * @type {Number}
-             * @default 1.0
-             */
-            this.near = when.defaultValue(options.near, 1.0);
-            this._near = this.near;
-
-            /**
-             * The distance of the far plane.
-             * @type {Number}
-             * @default 500000000.0;
-             */
-            this.far = when.defaultValue(options.far, 500000000.0);
-            this._far = this.far;
-
-            this._cullingVolume = new CullingVolume();
-            this._orthographicMatrix = new BoundingSphere.Matrix4();
-        }
-
-        function update(frustum) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(frustum.right) || !when.defined(frustum.left) ||
-                !when.defined(frustum.top) || !when.defined(frustum.bottom) ||
-                !when.defined(frustum.near) || !when.defined(frustum.far)) {
-                throw new Check.DeveloperError('right, left, top, bottom, near, or far parameters are not set.');
-            }
-            //>>includeEnd('debug');
-
-            if (frustum.top !== frustum._top || frustum.bottom !== frustum._bottom ||
-                frustum.left !== frustum._left || frustum.right !== frustum._right ||
-                frustum.near !== frustum._near || frustum.far !== frustum._far) {
-
-                //>>includeStart('debug', pragmas.debug);
-                if (frustum.left > frustum.right) {
-                    throw new Check.DeveloperError('right must be greater than left.');
-                }
-                if (frustum.bottom > frustum.top) {
-                    throw new Check.DeveloperError('top must be greater than bottom.');
-                }
-                if (frustum.near <= 0 || frustum.near > frustum.far) {
-                    throw new Check.DeveloperError('near must be greater than zero and less than far.');
-                }
-                //>>includeEnd('debug');
-
-                frustum._left = frustum.left;
-                frustum._right = frustum.right;
-                frustum._top = frustum.top;
-                frustum._bottom = frustum.bottom;
-                frustum._near = frustum.near;
-                frustum._far = frustum.far;
-                frustum._orthographicMatrix = BoundingSphere.Matrix4.computeOrthographicOffCenter(frustum.left, frustum.right, frustum.bottom, frustum.top, frustum.near, frustum.far, frustum._orthographicMatrix);
-            }
-        }
-
-        Object.defineProperties(OrthographicOffCenterFrustum.prototype, {
-            /**
-             * Gets the orthographic projection matrix computed from the view frustum.
-             * @memberof OrthographicOffCenterFrustum.prototype
-             * @type {Matrix4}
-             * @readonly
-             */
-            projectionMatrix : {
-                get : function() {
-                    update(this);
-                    return this._orthographicMatrix;
-                }
-            }
-        });
-
-        var getPlanesRight = new Cartesian2.Cartesian3();
-        var getPlanesNearCenter = new Cartesian2.Cartesian3();
-        var getPlanesPoint = new Cartesian2.Cartesian3();
-        var negateScratch = new Cartesian2.Cartesian3();
-
-        /**
-         * Creates a culling volume for this frustum.
-         *
-         * @param {Cartesian3} position The eye position.
-         * @param {Cartesian3} direction The view direction.
-         * @param {Cartesian3} up The up direction.
-         * @returns {CullingVolume} A culling volume at the given position and orientation.
-         *
-         * @example
-         * // Check if a bounding volume intersects the frustum.
-         * var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
-         * var intersect = cullingVolume.computeVisibility(boundingVolume);
-         */
-        OrthographicOffCenterFrustum.prototype.computeCullingVolume = function(position, direction, up) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(position)) {
-                throw new Check.DeveloperError('position is required.');
-            }
-            if (!when.defined(direction)) {
-                throw new Check.DeveloperError('direction is required.');
-            }
-            if (!when.defined(up)) {
-                throw new Check.DeveloperError('up is required.');
-            }
-            //>>includeEnd('debug');
-
-            var planes = this._cullingVolume.planes;
-            var t = this.top;
-            var b = this.bottom;
-            var r = this.right;
-            var l = this.left;
-            var n = this.near;
-            var f = this.far;
-
-            var right = Cartesian2.Cartesian3.cross(direction, up, getPlanesRight);
-            Cartesian2.Cartesian3.normalize(right, right);
-            var nearCenter = getPlanesNearCenter;
-            Cartesian2.Cartesian3.multiplyByScalar(direction, n, nearCenter);
-            Cartesian2.Cartesian3.add(position, nearCenter, nearCenter);
-
-            var point = getPlanesPoint;
-
-            // Left plane
-            Cartesian2.Cartesian3.multiplyByScalar(right, l, point);
-            Cartesian2.Cartesian3.add(nearCenter, point, point);
-
-            var plane = planes[0];
-            if (!when.defined(plane)) {
-                plane = planes[0] = new BoundingSphere.Cartesian4();
-            }
-            plane.x = right.x;
-            plane.y = right.y;
-            plane.z = right.z;
-            plane.w = -Cartesian2.Cartesian3.dot(right, point);
-
-            // Right plane
-            Cartesian2.Cartesian3.multiplyByScalar(right, r, point);
-            Cartesian2.Cartesian3.add(nearCenter, point, point);
-
-            plane = planes[1];
-            if (!when.defined(plane)) {
-                plane = planes[1] = new BoundingSphere.Cartesian4();
-            }
-            plane.x = -right.x;
-            plane.y = -right.y;
-            plane.z = -right.z;
-            plane.w = -Cartesian2.Cartesian3.dot(Cartesian2.Cartesian3.negate(right, negateScratch), point);
-
-            // Bottom plane
-            Cartesian2.Cartesian3.multiplyByScalar(up, b, point);
-            Cartesian2.Cartesian3.add(nearCenter, point, point);
-
-            plane = planes[2];
-            if (!when.defined(plane)) {
-                plane = planes[2] = new BoundingSphere.Cartesian4();
-            }
-            plane.x = up.x;
-            plane.y = up.y;
-            plane.z = up.z;
-            plane.w = -Cartesian2.Cartesian3.dot(up, point);
-
-            // Top plane
-            Cartesian2.Cartesian3.multiplyByScalar(up, t, point);
-            Cartesian2.Cartesian3.add(nearCenter, point, point);
-
-            plane = planes[3];
-            if (!when.defined(plane)) {
-                plane = planes[3] = new BoundingSphere.Cartesian4();
-            }
-            plane.x = -up.x;
-            plane.y = -up.y;
-            plane.z = -up.z;
-            plane.w = -Cartesian2.Cartesian3.dot(Cartesian2.Cartesian3.negate(up, negateScratch), point);
-
-            // Near plane
-            plane = planes[4];
-            if (!when.defined(plane)) {
-                plane = planes[4] = new BoundingSphere.Cartesian4();
-            }
-            plane.x = direction.x;
-            plane.y = direction.y;
-            plane.z = direction.z;
-            plane.w = -Cartesian2.Cartesian3.dot(direction, nearCenter);
-
-            // Far plane
-            Cartesian2.Cartesian3.multiplyByScalar(direction, f, point);
-            Cartesian2.Cartesian3.add(position, point, point);
-
-            plane = planes[5];
-            if (!when.defined(plane)) {
-                plane = planes[5] = new BoundingSphere.Cartesian4();
-            }
-            plane.x = -direction.x;
-            plane.y = -direction.y;
-            plane.z = -direction.z;
-            plane.w = -Cartesian2.Cartesian3.dot(Cartesian2.Cartesian3.negate(direction, negateScratch), point);
-
-            return this._cullingVolume;
-        };
-
-        /**
-         * Returns the pixel's width and height in meters.
-         *
-         * @param {Number} drawingBufferWidth The width of the drawing buffer.
-         * @param {Number} drawingBufferHeight The height of the drawing buffer.
-         * @param {Number} distance The distance to the near plane in meters.
-         * @param {Number} pixelRatio The scaling factor from pixel space to coordinate space.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new instance of {@link Cartesian2} with the pixel's width and height in the x and y properties, respectively.
-         *
-         * @exception {DeveloperError} drawingBufferWidth must be greater than zero.
-         * @exception {DeveloperError} drawingBufferHeight must be greater than zero.
-         * @exception {DeveloperError} pixelRatio must be greater than zero.
-         *
-         * @example
-         * // Example 1
-         * // Get the width and height of a pixel.
-         * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, scene.pixelRatio, new Cesium.Cartesian2());
-         */
-        OrthographicOffCenterFrustum.prototype.getPixelDimensions = function(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result) {
-            update(this);
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(drawingBufferWidth) || !when.defined(drawingBufferHeight)) {
-                throw new Check.DeveloperError('Both drawingBufferWidth and drawingBufferHeight are required.');
-            }
-            if (drawingBufferWidth <= 0) {
-                throw new Check.DeveloperError('drawingBufferWidth must be greater than zero.');
-            }
-            if (drawingBufferHeight <= 0) {
-                throw new Check.DeveloperError('drawingBufferHeight must be greater than zero.');
-            }
-            if (!when.defined(distance)) {
-                throw new Check.DeveloperError('distance is required.');
-            }
-            if (!when.defined(pixelRatio)) {
-                throw new Check.DeveloperError('pixelRatio is required.');
-            }
-            if (pixelRatio <= 0) {
-                throw new Check.DeveloperError('pixelRatio must be greater than zero.');
-            }
-            if (!when.defined(result)) {
-                throw new Check.DeveloperError('A result object is required.');
-            }
-            //>>includeEnd('debug');
-
-            var frustumWidth = this.right - this.left;
-            var frustumHeight = this.top - this.bottom;
-            var pixelWidth = pixelRatio * frustumWidth / drawingBufferWidth;
-            var pixelHeight = pixelRatio * frustumHeight / drawingBufferHeight;
-
-            result.x = pixelWidth;
-            result.y = pixelHeight;
-            return result;
-        };
-
-        /**
-         * Returns a duplicate of a OrthographicOffCenterFrustum instance.
-         *
-         * @param {OrthographicOffCenterFrustum} [result] The object onto which to store the result.
-         * @returns {OrthographicOffCenterFrustum} The modified result parameter or a new OrthographicOffCenterFrustum instance if one was not provided.
-         */
-        OrthographicOffCenterFrustum.prototype.clone = function(result) {
-            if (!when.defined(result)) {
-                result = new OrthographicOffCenterFrustum();
-            }
-
-            result.left = this.left;
-            result.right = this.right;
-            result.top = this.top;
-            result.bottom = this.bottom;
-            result.near = this.near;
-            result.far = this.far;
-
-            // force update of clone to compute matrices
-            result._left = undefined;
-            result._right = undefined;
-            result._top = undefined;
-            result._bottom = undefined;
-            result._near = undefined;
-            result._far = undefined;
-
-            return result;
-        };
-
-        /**
-         * Compares the provided OrthographicOffCenterFrustum componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {OrthographicOffCenterFrustum} [other] The right hand side OrthographicOffCenterFrustum.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        OrthographicOffCenterFrustum.prototype.equals = function(other) {
-            return (when.defined(other) && other instanceof OrthographicOffCenterFrustum &&
-                    this.right === other.right &&
-                    this.left === other.left &&
-                    this.top === other.top &&
-                    this.bottom === other.bottom &&
-                    this.near === other.near &&
-                    this.far === other.far);
-        };
-
-        /**
-         * Compares the provided OrthographicOffCenterFrustum componentwise and returns
-         * <code>true</code> if they pass an absolute or relative tolerance test,
-         * <code>false</code> otherwise.
-         *
-         * @param {OrthographicOffCenterFrustum} other The right hand side OrthographicOffCenterFrustum.
-         * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-         * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-         * @returns {Boolean} <code>true</code> if this and other are within the provided epsilon, <code>false</code> otherwise.
-         */
-        OrthographicOffCenterFrustum.prototype.equalsEpsilon = function(other, relativeEpsilon, absoluteEpsilon) {
-            return (other === this) ||
-                   (when.defined(other) &&
-                    other instanceof OrthographicOffCenterFrustum &&
-                    _Math.CesiumMath.equalsEpsilon(this.right, other.right, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(this.left, other.left, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(this.top, other.top, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(this.bottom, other.bottom, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(this.near, other.near, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(this.far, other.far, relativeEpsilon, absoluteEpsilon));
-        };
-
-    /**
-         * The viewing frustum is defined by 6 planes.
-         * Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components
-         * define the unit vector normal to the plane, and the w component is the distance of the
-         * plane from the origin/camera position.
-         *
-         * @alias OrthographicFrustum
-         * @constructor
-         *
-         * @param {Object} [options] An object with the following properties:
-         * @param {Number} [options.width] The width of the frustum in meters.
-         * @param {Number} [options.aspectRatio] The aspect ratio of the frustum's width to it's height.
-         * @param {Number} [options.near=1.0] The distance of the near plane.
-         * @param {Number} [options.far=500000000.0] The distance of the far plane.
-         *
-         * @example
-         * var maxRadii = ellipsoid.maximumRadius;
-         *
-         * var frustum = new Cesium.OrthographicFrustum();
-         * frustum.near = 0.01 * maxRadii;
-         * frustum.far = 50.0 * maxRadii;
-         */
-        function OrthographicFrustum(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            this._offCenterFrustum = new OrthographicOffCenterFrustum();
-
-            /**
-             * The horizontal width of the frustum in meters.
-             * @type {Number}
-             * @default undefined
-             */
-            this.width = options.width;
-            this._width = undefined;
-
-            /**
-             * The aspect ratio of the frustum's width to it's height.
-             * @type {Number}
-             * @default undefined
-             */
-            this.aspectRatio = options.aspectRatio;
-            this._aspectRatio = undefined;
-
-            /**
-             * The distance of the near plane.
-             * @type {Number}
-             * @default 1.0
-             */
-            this.near = when.defaultValue(options.near, 1.0);
-            this._near = this.near;
-
-            /**
-             * The distance of the far plane.
-             * @type {Number}
-             * @default 500000000.0;
-             */
-            this.far = when.defaultValue(options.far, 500000000.0);
-            this._far = this.far;
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        OrthographicFrustum.packedLength = 4;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {OrthographicFrustum} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        OrthographicFrustum.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            array[startingIndex++] = value.width;
-            array[startingIndex++] = value.aspectRatio;
-            array[startingIndex++] = value.near;
-            array[startingIndex] = value.far;
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {OrthographicFrustum} [result] The object into which to store the result.
-         * @returns {OrthographicFrustum} The modified result parameter or a new OrthographicFrustum instance if one was not provided.
-         */
-        OrthographicFrustum.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new OrthographicFrustum();
-            }
-
-            result.width = array[startingIndex++];
-            result.aspectRatio = array[startingIndex++];
-            result.near = array[startingIndex++];
-            result.far = array[startingIndex];
-
-            return result;
-        };
-
-        function update$1(frustum) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(frustum.width) || !when.defined(frustum.aspectRatio) || !when.defined(frustum.near) || !when.defined(frustum.far)) {
-                throw new Check.DeveloperError('width, aspectRatio, near, or far parameters are not set.');
-            }
-            //>>includeEnd('debug');
-
-            var f = frustum._offCenterFrustum;
-
-            if (frustum.width !== frustum._width || frustum.aspectRatio !== frustum._aspectRatio ||
-                frustum.near !== frustum._near || frustum.far !== frustum._far) {
-                //>>includeStart('debug', pragmas.debug);
-                if (frustum.aspectRatio < 0) {
-                    throw new Check.DeveloperError('aspectRatio must be positive.');
-                }
-                if (frustum.near < 0 || frustum.near > frustum.far) {
-                    throw new Check.DeveloperError('near must be greater than zero and less than far.');
-                }
-                //>>includeEnd('debug');
-
-                frustum._aspectRatio = frustum.aspectRatio;
-                frustum._width = frustum.width;
-                frustum._near = frustum.near;
-                frustum._far = frustum.far;
-
-                var ratio = 1.0 / frustum.aspectRatio;
-                f.right = frustum.width * 0.5;
-                f.left = -f.right;
-                f.top = ratio * f.right;
-                f.bottom = -f.top;
-                f.near = frustum.near;
-                f.far = frustum.far;
-
-            }
-        }
-
-        Object.defineProperties(OrthographicFrustum.prototype, {
-            /**
-             * Gets the orthographic projection matrix computed from the view frustum.
-             * @memberof OrthographicFrustum.prototype
-             * @type {Matrix4}
-             * @readonly
-             */
-            projectionMatrix : {
-                get : function() {
-                    update$1(this);
-                    return this._offCenterFrustum.projectionMatrix;
-                }
-            }
-
-        });
-
-        /**
-         * Creates a culling volume for this frustum.
-         *
-         * @param {Cartesian3} position The eye position.
-         * @param {Cartesian3} direction The view direction.
-         * @param {Cartesian3} up The up direction.
-         * @returns {CullingVolume} A culling volume at the given position and orientation.
-         *
-         * @example
-         * // Check if a bounding volume intersects the frustum.
-         * var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
-         * var intersect = cullingVolume.computeVisibility(boundingVolume);
-         */
-        OrthographicFrustum.prototype.computeCullingVolume = function(position, direction, up) {
-            update$1(this);
-            return this._offCenterFrustum.computeCullingVolume(position, direction, up);
-        };
-
-        /**
-         * Returns the pixel's width and height in meters.
-         *
-         * @param {Number} drawingBufferWidth The width of the drawing buffer.
-         * @param {Number} drawingBufferHeight The height of the drawing buffer.
-         * @param {Number} distance The distance to the near plane in meters.
-         * @param {Number} pixelRatio The scaling factor from pixel space to coordinate space.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new instance of {@link Cartesian2} with the pixel's width and height in the x and y properties, respectively.
-         *
-         * @exception {DeveloperError} drawingBufferWidth must be greater than zero.
-         * @exception {DeveloperError} drawingBufferHeight must be greater than zero.
-         * @exception {DeveloperError} pixelRatio must be greater than zero.
-         *
-         * @example
-         * // Example 1
-         * // Get the width and height of a pixel.
-         * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, scene.pixelRatio, new Cesium.Cartesian2());
-         */
-        OrthographicFrustum.prototype.getPixelDimensions = function(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result) {
-            update$1(this);
-            return this._offCenterFrustum.getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result);
-        };
-
-        /**
-         * Returns a duplicate of a OrthographicFrustum instance.
-         *
-         * @param {OrthographicFrustum} [result] The object onto which to store the result.
-         * @returns {OrthographicFrustum} The modified result parameter or a new OrthographicFrustum instance if one was not provided.
-         */
-        OrthographicFrustum.prototype.clone = function(result) {
-            if (!when.defined(result)) {
-                result = new OrthographicFrustum();
-            }
-
-            result.aspectRatio = this.aspectRatio;
-            result.width = this.width;
-            result.near = this.near;
-            result.far = this.far;
-
-            // force update of clone to compute matrices
-            result._aspectRatio = undefined;
-            result._width = undefined;
-            result._near = undefined;
-            result._far = undefined;
-
-            this._offCenterFrustum.clone(result._offCenterFrustum);
-
-            return result;
-        };
-
-        /**
-         * Compares the provided OrthographicFrustum componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {OrthographicFrustum} [other] The right hand side OrthographicFrustum.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        OrthographicFrustum.prototype.equals = function(other) {
-            if (!when.defined(other) || !(other instanceof OrthographicFrustum)) {
-                return false;
-            }
-
-            update$1(this);
-            update$1(other);
-
-            return (this.width === other.width &&
-                    this.aspectRatio === other.aspectRatio &&
-                    this._offCenterFrustum.equals(other._offCenterFrustum));
-        };
-
-        /**
-         * Compares the provided OrthographicFrustum componentwise and returns
-         * <code>true</code> if they pass an absolute or relative tolerance test,
-         * <code>false</code> otherwise.
-         *
-         * @param {OrthographicFrustum} other The right hand side OrthographicFrustum.
-         * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-         * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-         * @returns {Boolean} <code>true</code> if this and other are within the provided epsilon, <code>false</code> otherwise.
-         */
-        OrthographicFrustum.prototype.equalsEpsilon = function(other, relativeEpsilon, absoluteEpsilon) {
-            if (!when.defined(other) || !(other instanceof OrthographicFrustum)) {
-                return false;
-            }
-
-            update$1(this);
-            update$1(other);
-
-            return (_Math.CesiumMath.equalsEpsilon(this.width, other.width, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(this.aspectRatio, other.aspectRatio, relativeEpsilon, absoluteEpsilon) &&
-                    this._offCenterFrustum.equalsEpsilon(other._offCenterFrustum, relativeEpsilon, absoluteEpsilon));
-        };
-
-    /**
-     * The viewing frustum is defined by 6 planes.
-     * Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components
-     * define the unit vector normal to the plane, and the w component is the distance of the
-     * plane from the origin/camera position.
-     *
-     * @alias PerspectiveOffCenterFrustum
-     * @constructor
-     *
-     * @param {Object} [options] An object with the following properties:
-     * @param {Number} [options.left] The left clipping plane distance.
-     * @param {Number} [options.right] The right clipping plane distance.
-     * @param {Number} [options.top] The top clipping plane distance.
-     * @param {Number} [options.bottom] The bottom clipping plane distance.
-     * @param {Number} [options.near=1.0] The near clipping plane distance.
-     * @param {Number} [options.far=500000000.0] The far clipping plane distance.
-     *
-     * @example
-     * var frustum = new Cesium.PerspectiveOffCenterFrustum({
-     *     left : -1.0,
-     *     right : 1.0,
-     *     top : 1.0,
-     *     bottom : -1.0,
-     *     near : 1.0,
-     *     far : 100.0
-     * });
-     *
-     * @see PerspectiveFrustum
-     */
-    function PerspectiveOffCenterFrustum(options) {
-        options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-        /**
-         * Defines the left clipping plane.
-         * @type {Number}
-         * @default undefined
-         */
-        this.left = options.left;
-        this._left = undefined;
-
-        /**
-         * Defines the right clipping plane.
-         * @type {Number}
-         * @default undefined
-         */
-        this.right = options.right;
-        this._right = undefined;
-
-        /**
-         * Defines the top clipping plane.
-         * @type {Number}
-         * @default undefined
-         */
-        this.top = options.top;
-        this._top = undefined;
-
-        /**
-         * Defines the bottom clipping plane.
-         * @type {Number}
-         * @default undefined
-         */
-        this.bottom = options.bottom;
-        this._bottom = undefined;
-
-        /**
-         * The distance of the near plane.
-         * @type {Number}
-         * @default 1.0
-         */
-        this.near = when.defaultValue(options.near, 1.0);
-        this._near = this.near;
-
-        /**
-         * The distance of the far plane.
-         * @type {Number}
-         * @default 500000000.0
-         */
-        this.far = when.defaultValue(options.far, 500000000.0);
-        this._far = this.far;
-
-        this._cullingVolume = new CullingVolume();
-        this._perspectiveMatrix = new BoundingSphere.Matrix4();
-        this._infinitePerspective = new BoundingSphere.Matrix4();
-    }
-
-    function update$2(frustum) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(frustum.right) || !when.defined(frustum.left) ||
-            !when.defined(frustum.top) || !when.defined(frustum.bottom) ||
-            !when.defined(frustum.near) || !when.defined(frustum.far)) {
-            throw new Check.DeveloperError('right, left, top, bottom, near, or far parameters are not set.');
-        }
-        //>>includeEnd('debug');
-
-        var t = frustum.top;
-        var b = frustum.bottom;
-        var r = frustum.right;
-        var l = frustum.left;
-        var n = frustum.near;
-        var f = frustum.far;
-
-        if (t !== frustum._top || b !== frustum._bottom ||
-            l !== frustum._left || r !== frustum._right ||
-            n !== frustum._near || f !== frustum._far) {
-
-            //>>includeStart('debug', pragmas.debug);
-            if (frustum.near <= 0 || frustum.near > frustum.far) {
-                throw new Check.DeveloperError('near must be greater than zero and less than far.');
-            }
-            //>>includeEnd('debug');
-
-            frustum._left = l;
-            frustum._right = r;
-            frustum._top = t;
-            frustum._bottom = b;
-            frustum._near = n;
-            frustum._far = f;
-            frustum._perspectiveMatrix = BoundingSphere.Matrix4.computePerspectiveOffCenter(l, r, b, t, n, f, frustum._perspectiveMatrix);
-            frustum._infinitePerspective = BoundingSphere.Matrix4.computeInfinitePerspectiveOffCenter(l, r, b, t, n, frustum._infinitePerspective);
-        }
-    }
-
-    Object.defineProperties(PerspectiveOffCenterFrustum.prototype, {
-        /**
-         * Gets the perspective projection matrix computed from the view frustum.
-         * @memberof PerspectiveOffCenterFrustum.prototype
-         * @type {Matrix4}
-         * @readonly
-         *
-         * @see PerspectiveOffCenterFrustum#infiniteProjectionMatrix
-         */
-        projectionMatrix : {
-            get : function() {
-                update$2(this);
-                return this._perspectiveMatrix;
-            }
-        },
-
-        /**
-         * Gets the perspective projection matrix computed from the view frustum with an infinite far plane.
-         * @memberof PerspectiveOffCenterFrustum.prototype
-         * @type {Matrix4}
-         * @readonly
-         *
-         * @see PerspectiveOffCenterFrustum#projectionMatrix
-         */
-        infiniteProjectionMatrix : {
-            get : function() {
-                update$2(this);
-                return this._infinitePerspective;
-            }
-        }
-    });
-
-    var getPlanesRight$1 = new Cartesian2.Cartesian3();
-    var getPlanesNearCenter$1 = new Cartesian2.Cartesian3();
-    var getPlanesFarCenter = new Cartesian2.Cartesian3();
-    var getPlanesNormal = new Cartesian2.Cartesian3();
-
-    PerspectiveOffCenterFrustum.prototype.resetProjectionMatrix = function() {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(this.right) || !when.defined(this.left) ||
-            !when.defined(this.top) || !when.defined(this.bottom) ||
-            !when.defined(this.near) || !when.defined(this.far)) {
-            throw new Check.DeveloperError('right, left, top, bottom, near, or far parameters are not set.');
-        }
-        //>>includeEnd('debug');
-
-        var t = this.top;
-        var b = this.bottom;
-        var r = this.right;
-        var l = this.left;
-        var n = this.near;
-        var f = this.far;
-
-        //>>includeStart('debug', pragmas.debug);
-        if (this.near <= 0 || this.near > this.far) {
-            throw new Check.DeveloperError('near must be greater than zero and less than far.');
-        }
-        //>>includeEnd('debug');
-        this._left = l;
-        this._right = r;
-        this._top = t;
-        this._bottom = b;
-        this._near = n;
-        this._far = f;
-        this._perspectiveMatrix = BoundingSphere.Matrix4.computePerspectiveOffCenter(l, r, b, t, n, f, this._perspectiveMatrix);
-        this._infinitePerspective = BoundingSphere.Matrix4.computeInfinitePerspectiveOffCenter(l, r, b, t, n, this._infinitePerspective);
-    };
-    /**
-     * Creates a culling volume for this frustum.
-     *
-     * @param {Cartesian3} position The eye position.
-     * @param {Cartesian3} direction The view direction.
-     * @param {Cartesian3} up The up direction.
-     * @returns {CullingVolume} A culling volume at the given position and orientation.
-     *
-     * @example
-     * // Check if a bounding volume intersects the frustum.
-     * var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
-     * var intersect = cullingVolume.computeVisibility(boundingVolume);
-     */
-    PerspectiveOffCenterFrustum.prototype.computeCullingVolume = function(position, direction, up) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(position)) {
-            throw new Check.DeveloperError('position is required.');
-        }
-
-        if (!when.defined(direction)) {
-            throw new Check.DeveloperError('direction is required.');
-        }
-
-        if (!when.defined(up)) {
-            throw new Check.DeveloperError('up is required.');
-        }
-        //>>includeEnd('debug');
-
-        var planes = this._cullingVolume.planes;
-
-        var t = this.top;
-        var b = this.bottom;
-        var r = this.right;
-        var l = this.left;
-        var n = this.near;
-        var f = this.far;
-
-        var right = Cartesian2.Cartesian3.cross(direction, up, getPlanesRight$1);
-
-        var nearCenter = getPlanesNearCenter$1;
-        Cartesian2.Cartesian3.multiplyByScalar(direction, n, nearCenter);
-        Cartesian2.Cartesian3.add(position, nearCenter, nearCenter);
-
-        var farCenter = getPlanesFarCenter;
-        Cartesian2.Cartesian3.multiplyByScalar(direction, f, farCenter);
-        Cartesian2.Cartesian3.add(position, farCenter, farCenter);
-
-        var normal = getPlanesNormal;
-
-        //Left plane computation
-        Cartesian2.Cartesian3.multiplyByScalar(right, l, normal);
-        Cartesian2.Cartesian3.add(nearCenter, normal, normal);
-        Cartesian2.Cartesian3.subtract(normal, position, normal);
-        Cartesian2.Cartesian3.normalize(normal, normal);
-        Cartesian2.Cartesian3.cross(normal, up, normal);
-        Cartesian2.Cartesian3.normalize(normal, normal);
-
-        var plane = planes[0];
-        if (!when.defined(plane)) {
-            plane = planes[0] = new BoundingSphere.Cartesian4();
-        }
-        plane.x = normal.x;
-        plane.y = normal.y;
-        plane.z = normal.z;
-        plane.w = -Cartesian2.Cartesian3.dot(normal, position);
-
-        //Right plane computation
-        Cartesian2.Cartesian3.multiplyByScalar(right, r, normal);
-        Cartesian2.Cartesian3.add(nearCenter, normal, normal);
-        Cartesian2.Cartesian3.subtract(normal, position, normal);
-        Cartesian2.Cartesian3.cross(up, normal, normal);
-        Cartesian2.Cartesian3.normalize(normal, normal);
-
-        plane = planes[1];
-        if (!when.defined(plane)) {
-            plane = planes[1] = new BoundingSphere.Cartesian4();
-        }
-        plane.x = normal.x;
-        plane.y = normal.y;
-        plane.z = normal.z;
-        plane.w = -Cartesian2.Cartesian3.dot(normal, position);
-
-        //Bottom plane computation
-        Cartesian2.Cartesian3.multiplyByScalar(up, b, normal);
-        Cartesian2.Cartesian3.add(nearCenter, normal, normal);
-        Cartesian2.Cartesian3.subtract(normal, position, normal);
-        Cartesian2.Cartesian3.cross(right, normal, normal);
-        Cartesian2.Cartesian3.normalize(normal, normal);
-
-        plane = planes[2];
-        if (!when.defined(plane)) {
-            plane = planes[2] = new BoundingSphere.Cartesian4();
-        }
-        plane.x = normal.x;
-        plane.y = normal.y;
-        plane.z = normal.z;
-        plane.w = -Cartesian2.Cartesian3.dot(normal, position);
-
-        //Top plane computation
-        Cartesian2.Cartesian3.multiplyByScalar(up, t, normal);
-        Cartesian2.Cartesian3.add(nearCenter, normal, normal);
-        Cartesian2.Cartesian3.subtract(normal, position, normal);
-        Cartesian2.Cartesian3.cross(normal, right, normal);
-        Cartesian2.Cartesian3.normalize(normal, normal);
-
-        plane = planes[3];
-        if (!when.defined(plane)) {
-            plane = planes[3] = new BoundingSphere.Cartesian4();
-        }
-        plane.x = normal.x;
-        plane.y = normal.y;
-        plane.z = normal.z;
-        plane.w = -Cartesian2.Cartesian3.dot(normal, position);
-
-        //Near plane computation
-        plane = planes[4];
-        if (!when.defined(plane)) {
-            plane = planes[4] = new BoundingSphere.Cartesian4();
-        }
-        plane.x = direction.x;
-        plane.y = direction.y;
-        plane.z = direction.z;
-        plane.w = -Cartesian2.Cartesian3.dot(direction, nearCenter);
-
-        //Far plane computation
-        Cartesian2.Cartesian3.negate(direction, normal);
-
-        plane = planes[5];
-        if (!when.defined(plane)) {
-            plane = planes[5] = new BoundingSphere.Cartesian4();
-        }
-        plane.x = normal.x;
-        plane.y = normal.y;
-        plane.z = normal.z;
-        plane.w = -Cartesian2.Cartesian3.dot(normal, farCenter);
-
-        return this._cullingVolume;
-    };
-
-    /**
-     * Returns the pixel's width and height in meters.
-     *
-     * @param {Number} drawingBufferWidth The width of the drawing buffer.
-     * @param {Number} drawingBufferHeight The height of the drawing buffer.
-     * @param {Number} distance The distance to the near plane in meters.
-     * @param {Number} pixelRatio The scaling factor from pixel space to coordinate space.
-     * @param {Cartesian2} result The object onto which to store the result.
-     * @returns {Cartesian2} The modified result parameter or a new instance of {@link Cartesian2} with the pixel's width and height in the x and y properties, respectively.
-     *
-     * @exception {DeveloperError} drawingBufferWidth must be greater than zero.
-     * @exception {DeveloperError} drawingBufferHeight must be greater than zero.
-     * @exception {DeveloperError} pixelRatio must be greater than zero.
-     *
-     * @example
-     * // Example 1
-     * // Get the width and height of a pixel.
-     * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 1.0, scene.pixelRatio, new Cesium.Cartesian2());
-     *
-     * @example
-     * // Example 2
-     * // Get the width and height of a pixel if the near plane was set to 'distance'.
-     * // For example, get the size of a pixel of an image on a billboard.
-     * var position = camera.position;
-     * var direction = camera.direction;
-     * var toCenter = Cesium.Cartesian3.subtract(primitive.boundingVolume.center, position, new Cesium.Cartesian3());      // vector from camera to a primitive
-     * var toCenterProj = Cesium.Cartesian3.multiplyByScalar(direction, Cesium.Cartesian3.dot(direction, toCenter), new Cesium.Cartesian3()); // project vector onto camera direction vector
-     * var distance = Cesium.Cartesian3.magnitude(toCenterProj);
-     * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, distance, scene.pixelRatio, new Cesium.Cartesian2());
-     */
-    PerspectiveOffCenterFrustum.prototype.getPixelDimensions = function(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result) {
-        update$2(this);
-
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(drawingBufferWidth) || !when.defined(drawingBufferHeight)) {
-            throw new Check.DeveloperError('Both drawingBufferWidth and drawingBufferHeight are required.');
-        }
-        if (drawingBufferWidth <= 0) {
-            throw new Check.DeveloperError('drawingBufferWidth must be greater than zero.');
-        }
-        if (drawingBufferHeight <= 0) {
-            throw new Check.DeveloperError('drawingBufferHeight must be greater than zero.');
-        }
-        if (!when.defined(distance)) {
-            throw new Check.DeveloperError('distance is required.');
-        }
-        if (!when.defined(pixelRatio)) {
-            throw new Check.DeveloperError('pixelRatio is required');
-        }
-        if (pixelRatio <= 0) {
-            throw new Check.DeveloperError('pixelRatio must be greater than zero.');
-        }
-        if (!when.defined(result)) {
-            throw new Check.DeveloperError('A result object is required.');
-        }
-        //>>includeEnd('debug');
-
-        var inverseNear = 1.0 / this.near;
-        var tanTheta = this.top * inverseNear;
-        var pixelHeight = 2.0 * pixelRatio * distance * tanTheta / drawingBufferHeight;
-        tanTheta = this.right * inverseNear;
-        var pixelWidth = 2.0 * pixelRatio * distance * tanTheta / drawingBufferWidth;
-
-        result.x = pixelWidth;
-        result.y = pixelHeight;
-        return result;
-    };
-
-    /**
-     * Returns a duplicate of a PerspectiveOffCenterFrustum instance.
-     *
-     * @param {PerspectiveOffCenterFrustum} [result] The object onto which to store the result.
-     * @returns {PerspectiveOffCenterFrustum} The modified result parameter or a new PerspectiveFrustum instance if one was not provided.
-     */
-    PerspectiveOffCenterFrustum.prototype.clone = function(result) {
-        if (!when.defined(result)) {
-            result = new PerspectiveOffCenterFrustum();
-        }
-
-        result.right = this.right;
-        result.left = this.left;
-        result.top = this.top;
-        result.bottom = this.bottom;
-        result.near = this.near;
-        result.far = this.far;
-
-        // force update of clone to compute matrices
-        result._left = undefined;
-        result._right = undefined;
-        result._top = undefined;
-        result._bottom = undefined;
-        result._near = undefined;
-        result._far = undefined;
-
-        return result;
-    };
-
-    /**
-     * Compares the provided PerspectiveOffCenterFrustum componentwise and returns
-     * <code>true</code> if they are equal, <code>false</code> otherwise.
-     *
-     * @param {PerspectiveOffCenterFrustum} [other] The right hand side PerspectiveOffCenterFrustum.
-     * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-     */
-    PerspectiveOffCenterFrustum.prototype.equals = function(other) {
-        return (when.defined(other) && other instanceof PerspectiveOffCenterFrustum &&
-                this.right === other.right &&
-                this.left === other.left &&
-                this.top === other.top &&
-                this.bottom === other.bottom &&
-                this.near === other.near &&
-                this.far === other.far);
-    };
-
-    /**
-     * Compares the provided PerspectiveOffCenterFrustum componentwise and returns
-     * <code>true</code> if they pass an absolute or relative tolerance test,
-     * <code>false</code> otherwise.
-     *
-     * @param {PerspectiveOffCenterFrustum} other The right hand side PerspectiveOffCenterFrustum.
-     * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-     * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-     * @returns {Boolean} <code>true</code> if this and other are within the provided epsilon, <code>false</code> otherwise.
-     */
-    PerspectiveOffCenterFrustum.prototype.equalsEpsilon = function(other, relativeEpsilon, absoluteEpsilon) {
-        return (other === this) ||
-               (when.defined(other) &&
-                other instanceof PerspectiveOffCenterFrustum &&
-                _Math.CesiumMath.equalsEpsilon(this.right, other.right, relativeEpsilon, absoluteEpsilon) &&
-                _Math.CesiumMath.equalsEpsilon(this.left, other.left, relativeEpsilon, absoluteEpsilon) &&
-                _Math.CesiumMath.equalsEpsilon(this.top, other.top, relativeEpsilon, absoluteEpsilon) &&
-                _Math.CesiumMath.equalsEpsilon(this.bottom, other.bottom, relativeEpsilon, absoluteEpsilon) &&
-                _Math.CesiumMath.equalsEpsilon(this.near, other.near, relativeEpsilon, absoluteEpsilon) &&
-                _Math.CesiumMath.equalsEpsilon(this.far, other.far, relativeEpsilon, absoluteEpsilon));
-    };
-
-    /**
-     * The viewing frustum is defined by 6 planes.
-     * Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components
-     * define the unit vector normal to the plane, and the w component is the distance of the
-     * plane from the origin/camera position.
-     *
-     * @alias PerspectiveFrustum
-     * @constructor
-     *
-     * @param {Object} [options] An object with the following properties:
-     * @param {Number} [options.fov] The angle of the field of view (FOV), in radians.
-     * @param {Number} [options.aspectRatio] The aspect ratio of the frustum's width to it's height.
-     * @param {Number} [options.near=1.0] The distance of the near plane.
-     * @param {Number} [options.far=500000000.0] The distance of the far plane.
-     * @param {Number} [options.xOffset=0.0] The offset in the x direction.
-     * @param {Number} [options.yOffset=0.0] The offset in the y direction.
-     *
-     * @example
-     * var frustum = new Cesium.PerspectiveFrustum({
-     *     fov : Cesium.Math.PI_OVER_THREE,
-     *     aspectRatio : canvas.clientWidth / canvas.clientHeight
-     *     near : 1.0,
-     *     far : 1000.0
-     * });
-     *
-     * @see PerspectiveOffCenterFrustum
-     */
-    function PerspectiveFrustum(options) {
-        options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-        this._offCenterFrustum = new PerspectiveOffCenterFrustum();
-
-        /**
-         * The angle of the field of view (FOV), in radians.  This angle will be used
-         * as the horizontal FOV if the width is greater than the height, otherwise
-         * it will be the vertical FOV.
-         * @type {Number}
-         * @default undefined
-         */
-        this.fov = options.fov;
-        this._fov = undefined;
-        this._fovy = undefined;
-
-        this._sseDenominator = undefined;
-
-        /**
-         * The aspect ratio of the frustum's width to it's height.
-         * @type {Number}
-         * @default undefined
-         */
-        this.aspectRatio = options.aspectRatio;
-        this._aspectRatio = undefined;
-
-        /**
-         * The distance of the near plane.
-         * @type {Number}
-         * @default 1.0
-         */
-        this.near = when.defaultValue(options.near, 1.0);
-        this._near = this.near;
-
-        /**
-         * The distance of the far plane.
-         * @type {Number}
-         * @default 500000000.0
-         */
-        this.far = when.defaultValue(options.far, 500000000.0);
-        this._far = this.far;
-
-        /**
-         * Offsets the frustum in the x direction.
-         * @type {Number}
-         * @default 0.0
-         */
-        this.xOffset = when.defaultValue(options.xOffset, 0.0);
-        this._xOffset = this.xOffset;
-
-        /**
-         * Offsets the frustum in the y direction.
-         * @type {Number}
-         * @default 0.0
-         */
-        this.yOffset = when.defaultValue(options.yOffset, 0.0);
-        this._yOffset = this.yOffset;
-        this.reflect = false;
-    }
-
-    /**
-     * The number of elements used to pack the object into an array.
-     * @type {Number}
-     */
-    PerspectiveFrustum.packedLength = 6;
-
-    /**
-     * Stores the provided instance into the provided array.
-     *
-     * @param {PerspectiveFrustum} value The value to pack.
-     * @param {Number[]} array The array to pack into.
-     * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-     *
-     * @returns {Number[]} The array that was packed into
-     */
-    PerspectiveFrustum.pack = function(value, array, startingIndex) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('value', value);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        startingIndex = when.defaultValue(startingIndex, 0);
-
-        array[startingIndex++] = value.fov;
-        array[startingIndex++] = value.aspectRatio;
-        array[startingIndex++] = value.near;
-        array[startingIndex++] = value.far;
-        array[startingIndex++] = value.xOffset;
-        array[startingIndex] = value.yOffset;
-
-        return array;
-    };
-
-    /**
-     * Retrieves an instance from a packed array.
-     *
-     * @param {Number[]} array The packed array.
-     * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-     * @param {PerspectiveFrustum} [result] The object into which to store the result.
-     * @returns {PerspectiveFrustum} The modified result parameter or a new PerspectiveFrustum instance if one was not provided.
-     */
-    PerspectiveFrustum.unpack = function(array, startingIndex, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        startingIndex = when.defaultValue(startingIndex, 0);
-
-        if (!when.defined(result)) {
-            result = new PerspectiveFrustum();
-        }
-
-        result.fov = array[startingIndex++];
-        result.aspectRatio = array[startingIndex++];
-        result.near = array[startingIndex++];
-        result.far = array[startingIndex++];
-        result.xOffset = array[startingIndex++];
-        result.yOffset = array[startingIndex];
-
-        return result;
-    };
-
-    function update$3(frustum) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(frustum.fov) || !when.defined(frustum.aspectRatio) || !when.defined(frustum.near) || !when.defined(frustum.far)) {
-            throw new Check.DeveloperError('fov, aspectRatio, near, or far parameters are not set.');
-        }
-        //>>includeEnd('debug');
-
-        var f = frustum._offCenterFrustum;
-
-        if (frustum.fov !== frustum._fov || frustum.aspectRatio !== frustum._aspectRatio ||
-            frustum.near !== frustum._near || frustum.far !== frustum._far ||
-            frustum.xOffset !== frustum._xOffset || frustum.yOffset !== frustum._yOffset) {
-            //>>includeStart('debug', pragmas.debug);
-            if (frustum.fov < 0 || frustum.fov >= Math.PI) {
-                throw new Check.DeveloperError('fov must be in the range [0, PI).');
-            }
-
-            if (frustum.aspectRatio < 0) {
-                throw new Check.DeveloperError('aspectRatio must be positive.');
-            }
-
-            if (frustum.near < 0 || frustum.near > frustum.far) {
-                throw new Check.DeveloperError('near must be greater than zero and less than far.');
-            }
-            //>>includeEnd('debug');
-
-            frustum._aspectRatio = frustum.aspectRatio;
-            frustum._fov = frustum.fov;
-            frustum._fovy = (frustum.aspectRatio <= 1) ? frustum.fov : Math.atan(Math.tan(frustum.fov * 0.5) / frustum.aspectRatio) * 2.0;
-            frustum._near = frustum.near;
-            frustum._far = frustum.far;
-            frustum._sseDenominator = 2.0 * Math.tan(0.5 * frustum._fovy);
-            frustum._xOffset = frustum.xOffset;
-            frustum._yOffset = frustum.yOffset;
-
-            f.top = frustum.near * Math.tan(0.5 * frustum._fovy);
-            f.bottom = -f.top;
-            f.right = frustum.aspectRatio * f.top;
-            f.left = -f.right;
-            f.near = frustum.near;
-            f.far = frustum.far;
-
-            f.right += frustum.xOffset;
-            f.left += frustum.xOffset;
-            f.top += frustum.yOffset;
-            f.bottom += frustum.yOffset;
-        }
-    }
-
-    Object.defineProperties(PerspectiveFrustum.prototype, {
-        /**
-         * Gets the perspective projection matrix computed from the view frustum.
-         * @memberof PerspectiveFrustum.prototype
-         * @type {Matrix4}
-         * @readonly
-         *
-         * @see PerspectiveFrustum#infiniteProjectionMatrix
-         */
-        projectionMatrix : {
-            get : function() {
-                update$3(this);
-                if(this.reflect){
-                    modifyProjectionMatrix(this);
-                }
-                return this._offCenterFrustum.projectionMatrix;
-            }
-        },
-
-        /**
-         * The perspective projection matrix computed from the view frustum with an infinite far plane.
-         * @memberof PerspectiveFrustum.prototype
-         * @type {Matrix4}
-         * @readonly
-         *
-         * @see PerspectiveFrustum#projectionMatrix
-         */
-        infiniteProjectionMatrix : {
-            get : function() {
-                update$3(this);
-                return this._offCenterFrustum.infiniteProjectionMatrix;
-            }
-        },
-
-        /**
-         * Gets the angle of the vertical field of view, in radians.
-         * @memberof PerspectiveFrustum.prototype
-         * @type {Number}
-         * @readonly
-         * @default undefined
-         */
-        fovy : {
-            get : function() {
-                update$3(this);
-                return this._fovy;
-            }
-        },
-
-        /**
-         * @readonly
-         * @private
-         */
-        sseDenominator : {
-            get : function () {
-                update$3(this);
-                return this._sseDenominator;
-            }
-        }
-    });
-
-    PerspectiveFrustum.prototype.resetProjectionMatrix = function() {
-        return this._offCenterFrustum.resetProjectionMatrix();
-    };
-
-    /**
-     * Creates a culling volume for this frustum.
-     *
-     * @param {Cartesian3} position The eye position.
-     * @param {Cartesian3} direction The view direction.
-     * @param {Cartesian3} up The up direction.
-     * @returns {CullingVolume} A culling volume at the given position and orientation.
-     *
-     * @example
-     * // Check if a bounding volume intersects the frustum.
-     * var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
-     * var intersect = cullingVolume.computeVisibility(boundingVolume);
-     */
-    PerspectiveFrustum.prototype.computeCullingVolume = function(position, direction, up) {
-        update$3(this);
-        return this._offCenterFrustum.computeCullingVolume(position, direction, up);
-    };
-
-    /**
-     * Returns the pixel's width and height in meters.
-     *
-     * @param {Number} drawingBufferWidth The width of the drawing buffer.
-     * @param {Number} drawingBufferHeight The height of the drawing buffer.
-     * @param {Number} distance The distance to the near plane in meters.
-     * @param {Number} pixelRatio The scaling factor from pixel space to coordinate space.
-     * @param {Cartesian2} result The object onto which to store the result.
-     * @returns {Cartesian2} The modified result parameter or a new instance of {@link Cartesian2} with the pixel's width and height in the x and y properties, respectively.
-     *
-     * @exception {DeveloperError} drawingBufferWidth must be greater than zero.
-     * @exception {DeveloperError} drawingBufferHeight must be greater than zero.
-     * @exception {DeveloperError} pixelRatio must be greater than zero.
-     *
-     * @example
-     * // Example 1
-     * // Get the width and height of a pixel.
-     * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 1.0, scene.pixelRatio, new Cesium.Cartesian2());
-     *
-     * @example
-     * // Example 2
-     * // Get the width and height of a pixel if the near plane was set to 'distance'.
-     * // For example, get the size of a pixel of an image on a billboard.
-     * var position = camera.position;
-     * var direction = camera.direction;
-     * var toCenter = Cesium.Cartesian3.subtract(primitive.boundingVolume.center, position, new Cesium.Cartesian3());      // vector from camera to a primitive
-     * var toCenterProj = Cesium.Cartesian3.multiplyByScalar(direction, Cesium.Cartesian3.dot(direction, toCenter), new Cesium.Cartesian3()); // project vector onto camera direction vector
-     * var distance = Cesium.Cartesian3.magnitude(toCenterProj);
-     * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, distance, scene.pixelRatio, new Cesium.Cartesian2());
-     */
-    PerspectiveFrustum.prototype.getPixelDimensions = function(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result) {
-        update$3(this);
-        return this._offCenterFrustum.getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result);
-    };
-
-    /**
-     * Returns a duplicate of a PerspectiveFrustum instance.
-     *
-     * @param {PerspectiveFrustum} [result] The object onto which to store the result.
-     * @returns {PerspectiveFrustum} The modified result parameter or a new PerspectiveFrustum instance if one was not provided.
-     */
-    PerspectiveFrustum.prototype.clone = function(result) {
-        if (!when.defined(result)) {
-            result = new PerspectiveFrustum();
-        }
-
-        result.aspectRatio = this.aspectRatio;
-        result.fov = this.fov;
-        result.near = this.near;
-        result.far = this.far;
-        result.reflect = this.reflect;
-        result.clipPlane = this.clipPlane;
-        result.currentViewMatrix = this.currentViewMatrix;
-        // force update of clone to compute matrices
-        result._aspectRatio = undefined;
-        result._fov = undefined;
-        result._near = undefined;
-        result._far = undefined;
-
-        this._offCenterFrustum.clone(result._offCenterFrustum);
-
-        return result;
-    };
-
-    /**
-     * Compares the provided PerspectiveFrustum componentwise and returns
-     * <code>true</code> if they are equal, <code>false</code> otherwise.
-     *
-     * @param {PerspectiveFrustum} [other] The right hand side PerspectiveFrustum.
-     * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-     */
-    PerspectiveFrustum.prototype.equals = function(other) {
-        if (!when.defined(other) || !(other instanceof PerspectiveFrustum)) {
-            return false;
-        }
-
-        update$3(this);
-        update$3(other);
-
-        return (this.fov === other.fov &&
-                this.aspectRatio === other.aspectRatio &&
-                this._offCenterFrustum.equals(other._offCenterFrustum));
-    };
-
-    /**
-     * Compares the provided PerspectiveFrustum componentwise and returns
-     * <code>true</code> if they pass an absolute or relative tolerance test,
-     * <code>false</code> otherwise.
-     *
-     * @param {PerspectiveFrustum} other The right hand side PerspectiveFrustum.
-     * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-     * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-     * @returns {Boolean} <code>true</code> if this and other are within the provided epsilon, <code>false</code> otherwise.
-     */
-    PerspectiveFrustum.prototype.equalsEpsilon = function(other, relativeEpsilon, absoluteEpsilon) {
-        if (!when.defined(other) || !(other instanceof PerspectiveFrustum)) {
-            return false;
-        }
-
-        update$3(this);
-        update$3(other);
-
-        return (_Math.CesiumMath.equalsEpsilon(this.fov, other.fov, relativeEpsilon, absoluteEpsilon) &&
-                _Math.CesiumMath.equalsEpsilon(this.aspectRatio, other.aspectRatio, relativeEpsilon, absoluteEpsilon) &&
-                this._offCenterFrustum.equalsEpsilon(other._offCenterFrustum, relativeEpsilon, absoluteEpsilon));
-    };
-
-    var scratchViewPlane = new Plane.Plane(Cartesian2.Cartesian3.UNIT_Z, 1.0);
-    var scratchQVec = new BoundingSphere.Cartesian4();
-    var scratchClipPlane4d = new BoundingSphere.Cartesian4();
-    var scratchResult4 = new BoundingSphere.Cartesian4();
-    /**
-     * modify the near clip plane for reflection
-     */
-    function modifyProjectionMatrix(frustum) {
-        if(!when.defined(frustum.clipPlane) || !when.defined(frustum.currentViewMatrix)){
-            return;
-        }
-        var viewMatrix = frustum.currentViewMatrix;
-        var projectionMatrix = frustum._offCenterFrustum.projectionMatrix;
-        BoundingSphere.Matrix4.multiplyByPlane(viewMatrix, frustum.clipPlane, scratchViewPlane);
-        scratchQVec.x = (_Math.CesiumMath.sign(scratchViewPlane.normal.x) + projectionMatrix[8]) / projectionMatrix[0];
-        scratchQVec.y = (_Math.CesiumMath.sign(scratchViewPlane.normal.y) + projectionMatrix[9]) / projectionMatrix[5];
-        scratchQVec.z = -1.0;
-        scratchQVec.w = (1 + projectionMatrix[10]) / projectionMatrix[14];
-        scratchClipPlane4d.x = scratchViewPlane.normal.x;
-        scratchClipPlane4d.y = scratchViewPlane.normal.y;
-        scratchClipPlane4d.z = scratchViewPlane.normal.z;
-        scratchClipPlane4d.w = scratchViewPlane.distance;
-        BoundingSphere.Cartesian4.multiplyByScalar(scratchClipPlane4d, 2.0 / BoundingSphere.Cartesian4.dot(scratchClipPlane4d, scratchQVec), scratchResult4);
-        projectionMatrix[2] = scratchResult4.x;
-        projectionMatrix[6] = scratchResult4.y;
-        projectionMatrix[10] = scratchResult4.z + 1.0;
-        projectionMatrix[14] = scratchResult4.w;
-    }
-
-    var PERSPECTIVE = 0;
-        var ORTHOGRAPHIC = 1;
-
-        /**
-         * Describes a frustum at the given the origin and orientation.
-         *
-         * @alias FrustumGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {PerspectiveFrustum|OrthographicFrustum} options.frustum The frustum.
-         * @param {Cartesian3} options.origin The origin of the frustum.
-         * @param {Quaternion} options.orientation The orientation of the frustum.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         */
-        function FrustumGeometry(options) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('options', options);
-            Check.Check.typeOf.object('options.frustum', options.frustum);
-            Check.Check.typeOf.object('options.origin', options.origin);
-            Check.Check.typeOf.object('options.orientation', options.orientation);
-            //>>includeEnd('debug');
-
-            var frustum = options.frustum;
-            var orientation = options.orientation;
-            var origin = options.origin;
-            var vertexFormat = when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT);
-
-            // This is private because it is used by DebugCameraPrimitive to draw a multi-frustum by
-            // creating multiple FrustumGeometrys. This way the near plane of one frustum doesn't overlap
-            // the far plane of another.
-            var drawNearPlane = when.defaultValue(options._drawNearPlane, true);
-
-            var frustumType;
-            var frustumPackedLength;
-            if (frustum instanceof PerspectiveFrustum) {
-                frustumType = PERSPECTIVE;
-                frustumPackedLength = PerspectiveFrustum.packedLength;
-            } else if (frustum instanceof OrthographicFrustum) {
-                frustumType = ORTHOGRAPHIC;
-                frustumPackedLength = OrthographicFrustum.packedLength;
-            }
-
-            this._frustumType = frustumType;
-            this._frustum = frustum.clone();
-            this._origin = Cartesian2.Cartesian3.clone(origin);
-            this._orientation = Transforms.Quaternion.clone(orientation);
-            this._drawNearPlane = drawNearPlane;
-            this._vertexFormat = vertexFormat;
-            this._workerName = 'createFrustumGeometry';
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = 2 + frustumPackedLength + Cartesian2.Cartesian3.packedLength + Transforms.Quaternion.packedLength + VertexFormat.VertexFormat.packedLength;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {FrustumGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        FrustumGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var frustumType = value._frustumType;
-            var frustum = value._frustum;
-
-            array[startingIndex++] = frustumType;
-
-            if (frustumType === PERSPECTIVE) {
-                PerspectiveFrustum.pack(frustum, array, startingIndex);
-                startingIndex += PerspectiveFrustum.packedLength;
-            } else {
-                OrthographicFrustum.pack(frustum, array, startingIndex);
-                startingIndex += OrthographicFrustum.packedLength;
-            }
-
-            Cartesian2.Cartesian3.pack(value._origin, array, startingIndex);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-            Transforms.Quaternion.pack(value._orientation, array, startingIndex);
-            startingIndex += Transforms.Quaternion.packedLength;
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-            array[startingIndex] = value._drawNearPlane ? 1.0 : 0.0;
-
-            return array;
-        };
-
-        var scratchPackPerspective = new PerspectiveFrustum();
-        var scratchPackOrthographic = new OrthographicFrustum();
-        var scratchPackQuaternion = new Transforms.Quaternion();
-        var scratchPackorigin = new Cartesian2.Cartesian3();
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {FrustumGeometry} [result] The object into which to store the result.
-         */
-        FrustumGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var frustumType = array[startingIndex++];
-
-            var frustum;
-            if (frustumType === PERSPECTIVE) {
-                frustum = PerspectiveFrustum.unpack(array, startingIndex, scratchPackPerspective);
-                startingIndex += PerspectiveFrustum.packedLength;
-            } else {
-                frustum = OrthographicFrustum.unpack(array, startingIndex, scratchPackOrthographic);
-                startingIndex += OrthographicFrustum.packedLength;
-            }
-
-            var origin = Cartesian2.Cartesian3.unpack(array, startingIndex, scratchPackorigin);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-            var orientation = Transforms.Quaternion.unpack(array, startingIndex, scratchPackQuaternion);
-            startingIndex += Transforms.Quaternion.packedLength;
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-            var drawNearPlane = array[startingIndex] === 1.0;
-
-            if (!when.defined(result)) {
-                return new FrustumGeometry({
-                    frustum : frustum,
-                    origin : origin,
-                    orientation : orientation,
-                    vertexFormat : vertexFormat,
-                    _drawNearPlane : drawNearPlane
-                });
-            }
-
-            var frustumResult = frustumType === result._frustumType ? result._frustum : undefined;
-            result._frustum = frustum.clone(frustumResult);
-
-            result._frustumType = frustumType;
-            result._origin = Cartesian2.Cartesian3.clone(origin, result._origin);
-            result._orientation = Transforms.Quaternion.clone(orientation, result._orientation);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._drawNearPlane = drawNearPlane;
-
-            return result;
-        };
-
-        function getAttributes(offset, normals, tangents, bitangents, st, normal, tangent, bitangent) {
-            var stOffset = offset / 3 * 2;
-
-            for (var i = 0; i < 4; ++i) {
-                if (when.defined(normals)) {
-                    normals[offset] = normal.x;
-                    normals[offset + 1] = normal.y;
-                    normals[offset + 2] = normal.z;
-                }
-                if (when.defined(tangents)) {
-                    tangents[offset] = tangent.x;
-                    tangents[offset + 1] = tangent.y;
-                    tangents[offset + 2] = tangent.z;
-                }
-                if (when.defined(bitangents)) {
-                    bitangents[offset] = bitangent.x;
-                    bitangents[offset + 1] = bitangent.y;
-                    bitangents[offset + 2] = bitangent.z;
-                }
-                offset += 3;
-            }
-
-            st[stOffset] = 0.0;
-            st[stOffset + 1] = 0.0;
-            st[stOffset + 2] = 1.0;
-            st[stOffset + 3] = 0.0;
-            st[stOffset + 4] = 1.0;
-            st[stOffset + 5] = 1.0;
-            st[stOffset + 6] = 0.0;
-            st[stOffset + 7] = 1.0;
-        }
-
-        var scratchRotationMatrix = new BoundingSphere.Matrix3();
-        var scratchViewMatrix = new BoundingSphere.Matrix4();
-        var scratchInverseMatrix = new BoundingSphere.Matrix4();
-
-        var scratchXDirection = new Cartesian2.Cartesian3();
-        var scratchYDirection = new Cartesian2.Cartesian3();
-        var scratchZDirection = new Cartesian2.Cartesian3();
-        var scratchNegativeX = new Cartesian2.Cartesian3();
-        var scratchNegativeY = new Cartesian2.Cartesian3();
-        var scratchNegativeZ = new Cartesian2.Cartesian3();
-
-        var frustumSplits = new Array(3);
-
-        var frustumCornersNDC = new Array(4);
-        frustumCornersNDC[0] = new BoundingSphere.Cartesian4(-1.0, -1.0, 1.0, 1.0);
-        frustumCornersNDC[1] = new BoundingSphere.Cartesian4(1.0, -1.0, 1.0, 1.0);
-        frustumCornersNDC[2] = new BoundingSphere.Cartesian4(1.0, 1.0, 1.0, 1.0);
-        frustumCornersNDC[3] = new BoundingSphere.Cartesian4(-1.0, 1.0, 1.0, 1.0);
-
-        var scratchFrustumCorners = new Array(4);
-        for (var i = 0; i < 4; ++i) {
-            scratchFrustumCorners[i] = new BoundingSphere.Cartesian4();
-        }
-
-        FrustumGeometry._computeNearFarPlanes = function(origin, orientation, frustumType, frustum, positions, xDirection, yDirection, zDirection) {
-            var rotationMatrix = BoundingSphere.Matrix3.fromQuaternion(orientation, scratchRotationMatrix);
-            var x = when.defaultValue(xDirection, scratchXDirection);
-            var y = when.defaultValue(yDirection, scratchYDirection);
-            var z = when.defaultValue(zDirection, scratchZDirection);
-
-            x = BoundingSphere.Matrix3.getColumn(rotationMatrix, 0, x);
-            y = BoundingSphere.Matrix3.getColumn(rotationMatrix, 1, y);
-            z = BoundingSphere.Matrix3.getColumn(rotationMatrix, 2, z);
-
-            Cartesian2.Cartesian3.normalize(x, x);
-            Cartesian2.Cartesian3.normalize(y, y);
-            Cartesian2.Cartesian3.normalize(z, z);
-
-            Cartesian2.Cartesian3.negate(x, x);
-
-            var view = BoundingSphere.Matrix4.computeView(origin, z, y, x, scratchViewMatrix);
-
-            var inverseView;
-            var inverseViewProjection;
-            if (frustumType === PERSPECTIVE) {
-                var projection = frustum.projectionMatrix;
-                var viewProjection = BoundingSphere.Matrix4.multiply(projection, view, scratchInverseMatrix);
-                inverseViewProjection = BoundingSphere.Matrix4.inverse(viewProjection, scratchInverseMatrix);
-            } else {
-                inverseView = BoundingSphere.Matrix4.inverseTransformation(view, scratchInverseMatrix);
-            }
-
-            if (when.defined(inverseViewProjection)) {
-                frustumSplits[0] = frustum.near;
-                frustumSplits[1] = frustum.far;
-            } else {
-                frustumSplits[0] = 0.0;
-                frustumSplits[1] = frustum.near;
-                frustumSplits[2] = frustum.far;
-            }
-
-            for (var i = 0; i < 2; ++i) {
-                for (var j = 0; j < 4; ++j) {
-                    var corner = BoundingSphere.Cartesian4.clone(frustumCornersNDC[j], scratchFrustumCorners[j]);
-
-                    if (!when.defined(inverseViewProjection)) {
-                        if (when.defined(frustum._offCenterFrustum)) {
-                            frustum = frustum._offCenterFrustum;
-                        }
-
-                        var near = frustumSplits[i];
-                        var far = frustumSplits[i + 1];
-
-                        corner.x = (corner.x * (frustum.right - frustum.left) + frustum.left + frustum.right) * 0.5;
-                        corner.y = (corner.y * (frustum.top - frustum.bottom) + frustum.bottom + frustum.top) * 0.5;
-                        corner.z = (corner.z * (near - far) - near - far) * 0.5;
-                        corner.w = 1.0;
-
-                        BoundingSphere.Matrix4.multiplyByVector(inverseView, corner, corner);
-                    } else {
-                        corner = BoundingSphere.Matrix4.multiplyByVector(inverseViewProjection, corner, corner);
-
-                        // Reverse perspective divide
-                        var w = 1.0 / corner.w;
-                        Cartesian2.Cartesian3.multiplyByScalar(corner, w, corner);
-
-                        Cartesian2.Cartesian3.subtract(corner, origin, corner);
-                        Cartesian2.Cartesian3.normalize(corner, corner);
-
-                        var fac = Cartesian2.Cartesian3.dot(z, corner);
-                        Cartesian2.Cartesian3.multiplyByScalar(corner, frustumSplits[i] / fac, corner);
-                        Cartesian2.Cartesian3.add(corner, origin, corner);
-                    }
-
-                    positions[12 * i + j * 3] = corner.x;
-                    positions[12 * i + j * 3 + 1] = corner.y;
-                    positions[12 * i + j * 3 + 2] = corner.z;
-                }
-            }
-        };
-
-        /**
-         * Computes the geometric representation of a frustum, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {FrustumGeometry} frustumGeometry A description of the frustum.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        FrustumGeometry.createGeometry = function(frustumGeometry) {
-            var frustumType = frustumGeometry._frustumType;
-            var frustum = frustumGeometry._frustum;
-            var origin = frustumGeometry._origin;
-            var orientation = frustumGeometry._orientation;
-            var drawNearPlane = frustumGeometry._drawNearPlane;
-            var vertexFormat = frustumGeometry._vertexFormat;
-
-            var numberOfPlanes = drawNearPlane ? 6 : 5;
-            var positions = new Float64Array(3 * 4 * 6);
-            FrustumGeometry._computeNearFarPlanes(origin, orientation, frustumType, frustum, positions);
-
-            // -x plane
-            var offset = 3 * 4 * 2;
-            positions[offset]      = positions[3 * 4];
-            positions[offset + 1]  = positions[3 * 4 + 1];
-            positions[offset + 2]  = positions[3 * 4 + 2];
-            positions[offset + 3]  = positions[0];
-            positions[offset + 4]  = positions[1];
-            positions[offset + 5]  = positions[2];
-            positions[offset + 6]  = positions[3 * 3];
-            positions[offset + 7]  = positions[3 * 3 + 1];
-            positions[offset + 8]  = positions[3 * 3 + 2];
-            positions[offset + 9]  = positions[3 * 7];
-            positions[offset + 10] = positions[3 * 7 + 1];
-            positions[offset + 11] = positions[3 * 7 + 2];
-
-            // -y plane
-            offset += 3 * 4;
-            positions[offset]      = positions[3 * 5];
-            positions[offset + 1]  = positions[3 * 5 + 1];
-            positions[offset + 2]  = positions[3 * 5 + 2];
-            positions[offset + 3]  = positions[3];
-            positions[offset + 4]  = positions[3 + 1];
-            positions[offset + 5]  = positions[3 + 2];
-            positions[offset + 6]  = positions[0];
-            positions[offset + 7]  = positions[1];
-            positions[offset + 8]  = positions[2];
-            positions[offset + 9]  = positions[3 * 4];
-            positions[offset + 10] = positions[3 * 4 + 1];
-            positions[offset + 11] = positions[3 * 4 + 2];
-
-            // +x plane
-            offset += 3 * 4;
-            positions[offset]      = positions[3];
-            positions[offset + 1]  = positions[3 + 1];
-            positions[offset + 2]  = positions[3 + 2];
-            positions[offset + 3]  = positions[3 * 5];
-            positions[offset + 4]  = positions[3 * 5 + 1];
-            positions[offset + 5]  = positions[3 * 5 + 2];
-            positions[offset + 6]  = positions[3 * 6];
-            positions[offset + 7]  = positions[3 * 6 + 1];
-            positions[offset + 8]  = positions[3 * 6 + 2];
-            positions[offset + 9]  = positions[3 * 2];
-            positions[offset + 10] = positions[3 * 2 + 1];
-            positions[offset + 11] = positions[3 * 2 + 2];
-
-            // +y plane
-            offset += 3 * 4;
-            positions[offset]      = positions[3 * 2];
-            positions[offset + 1]  = positions[3 * 2 + 1];
-            positions[offset + 2]  = positions[3 * 2 + 2];
-            positions[offset + 3]  = positions[3 * 6];
-            positions[offset + 4]  = positions[3 * 6 + 1];
-            positions[offset + 5]  = positions[3 * 6 + 2];
-            positions[offset + 6]  = positions[3 * 7];
-            positions[offset + 7]  = positions[3 * 7 + 1];
-            positions[offset + 8]  = positions[3 * 7 + 2];
-            positions[offset + 9]  = positions[3 * 3];
-            positions[offset + 10] = positions[3 * 3 + 1];
-            positions[offset + 11] = positions[3 * 3 + 2];
-
-            if (!drawNearPlane) {
-                positions = positions.subarray(3 * 4);
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes({
-                position : new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : positions
-                })
-            });
-
-            if (when.defined(vertexFormat.normal) || when.defined(vertexFormat.tangent) || when.defined(vertexFormat.bitangent) || when.defined(vertexFormat.st)) {
-                var normals = when.defined(vertexFormat.normal) ? new Float32Array(3 * 4 * numberOfPlanes) : undefined;
-                var tangents = when.defined(vertexFormat.tangent) ? new Float32Array(3 * 4 * numberOfPlanes) : undefined;
-                var bitangents = when.defined(vertexFormat.bitangent) ? new Float32Array(3 * 4 * numberOfPlanes) : undefined;
-                var st = when.defined(vertexFormat.st) ? new Float32Array(2 * 4 * numberOfPlanes) : undefined;
-
-                var x = scratchXDirection;
-                var y = scratchYDirection;
-                var z = scratchZDirection;
-
-                var negativeX = Cartesian2.Cartesian3.negate(x, scratchNegativeX);
-                var negativeY = Cartesian2.Cartesian3.negate(y, scratchNegativeY);
-                var negativeZ = Cartesian2.Cartesian3.negate(z, scratchNegativeZ);
-
-                offset = 0;
-                if (drawNearPlane) {
-                    getAttributes(offset, normals, tangents, bitangents, st, negativeZ, x, y); // near
-                    offset += 3 * 4;
-                }
-                getAttributes(offset, normals, tangents, bitangents, st, z, negativeX, y); // far
-                offset += 3 * 4;
-                getAttributes(offset, normals, tangents, bitangents, st, negativeX, negativeZ, y); // -x
-                offset += 3 * 4;
-                getAttributes(offset, normals, tangents, bitangents, st, negativeY, negativeZ, negativeX); // -y
-                offset += 3 * 4;
-                getAttributes(offset, normals, tangents, bitangents, st, x, z, y); // +x
-                offset += 3 * 4;
-                getAttributes(offset, normals, tangents, bitangents, st, y, z, negativeX); // +y
-
-                if (when.defined(normals)) {
-                    attributes.normal = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : normals
-                    });
-                }
-                if (when.defined(tangents)) {
-                    attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : tangents
-                    });
-                }
-                if (when.defined(bitangents)) {
-                    attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : bitangents
-                    });
-                }
-                if (when.defined(st)) {
-                    attributes.st = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 2,
-                        values : st
-                    });
-                }
-            }
-
-            var indices = new Uint16Array(6 * numberOfPlanes);
-            for (var i = 0; i < numberOfPlanes; ++i) {
-                var indexOffset = i * 6;
-                var index = i * 4;
-
-                indices[indexOffset] = index;
-                indices[indexOffset + 1] = index + 1;
-                indices[indexOffset + 2] = index + 2;
-                indices[indexOffset + 3] = index;
-                indices[indexOffset + 4] = index + 2;
-                indices[indexOffset + 5] = index + 3;
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES,
-                boundingSphere : BoundingSphere.BoundingSphere.fromVertices(positions)
-            });
-        };
-
-    exports.FrustumGeometry = FrustumGeometry;
-    exports.OrthographicFrustum = OrthographicFrustum;
-    exports.PerspectiveFrustum = PerspectiveFrustum;
-
-});
diff --git a/libs/supermap/Workers/GeometryAttribute-ec5c2270.js b/libs/supermap/Workers/GeometryAttribute-ec5c2270.js
deleted file mode 100644
index ea83b67..0000000
--- a/libs/supermap/Workers/GeometryAttribute-ec5c2270.js
+++ /dev/null
@@ -1,1347 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './PrimitiveType-97893bc7', './Transforms-2f2aa225'], function (exports, when, Check, Cartesian2, BoundingSphere, PrimitiveType, Transforms) { 'use strict';
-
-    /**
-         * @private
-         */
-        var GeometryType = {
-            NONE : 0,
-            TRIANGLES : 1,
-            LINES : 2,
-            POLYLINES : 3
-        };
-    var GeometryType$1 = Object.freeze(GeometryType);
-
-    /**
-         * A 2x2 matrix, indexable as a column-major order array.
-         * Constructor parameters are in row-major order for code readability.
-         * @alias Matrix2
-         * @constructor
-         *
-         * @param {Number} [column0Row0=0.0] The value for column 0, row 0.
-         * @param {Number} [column1Row0=0.0] The value for column 1, row 0.
-         * @param {Number} [column0Row1=0.0] The value for column 0, row 1.
-         * @param {Number} [column1Row1=0.0] The value for column 1, row 1.
-         *
-         * @see Matrix2.fromColumnMajorArray
-         * @see Matrix2.fromRowMajorArray
-         * @see Matrix2.fromScale
-         * @see Matrix2.fromUniformScale
-         * @see Matrix3
-         * @see Matrix4
-         */
-        function Matrix2(column0Row0, column1Row0, column0Row1, column1Row1) {
-            this[0] = when.defaultValue(column0Row0, 0.0);
-            this[1] = when.defaultValue(column0Row1, 0.0);
-            this[2] = when.defaultValue(column1Row0, 0.0);
-            this[3] = when.defaultValue(column1Row1, 0.0);
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        Matrix2.packedLength = 4;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {Matrix2} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        Matrix2.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            array[startingIndex++] = value[0];
-            array[startingIndex++] = value[1];
-            array[startingIndex++] = value[2];
-            array[startingIndex++] = value[3];
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {Matrix2} [result] The object into which to store the result.
-         * @returns {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
-         */
-        Matrix2.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new Matrix2();
-            }
-
-            result[0] = array[startingIndex++];
-            result[1] = array[startingIndex++];
-            result[2] = array[startingIndex++];
-            result[3] = array[startingIndex++];
-            return result;
-        };
-
-        /**
-         * Duplicates a Matrix2 instance.
-         *
-         * @param {Matrix2} matrix The matrix to duplicate.
-         * @param {Matrix2} [result] The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided. (Returns undefined if matrix is undefined)
-         */
-        Matrix2.clone = function(matrix, result) {
-            if (!when.defined(matrix)) {
-                return undefined;
-            }
-            if (!when.defined(result)) {
-                return new Matrix2(matrix[0], matrix[2],
-                                   matrix[1], matrix[3]);
-            }
-            result[0] = matrix[0];
-            result[1] = matrix[1];
-            result[2] = matrix[2];
-            result[3] = matrix[3];
-            return result;
-        };
-
-        /**
-         * Creates a Matrix2 from 4 consecutive elements in an array.
-         *
-         * @param {Number[]} array The array whose 4 consecutive elements correspond to the positions of the matrix.  Assumes column-major order.
-         * @param {Number} [startingIndex=0] The offset into the array of the first element, which corresponds to first column first row position in the matrix.
-         * @param {Matrix2} [result] The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
-         *
-         * @example
-         * // Create the Matrix2:
-         * // [1.0, 2.0]
-         * // [1.0, 2.0]
-         *
-         * var v = [1.0, 1.0, 2.0, 2.0];
-         * var m = Cesium.Matrix2.fromArray(v);
-         *
-         * // Create same Matrix2 with using an offset into an array
-         * var v2 = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0];
-         * var m2 = Cesium.Matrix2.fromArray(v2, 2);
-         */
-        Matrix2.fromArray = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new Matrix2();
-            }
-
-            result[0] = array[startingIndex];
-            result[1] = array[startingIndex + 1];
-            result[2] = array[startingIndex + 2];
-            result[3] = array[startingIndex + 3];
-            return result;
-        };
-
-        /**
-         * Creates a Matrix2 instance from a column-major order array.
-         *
-         * @param {Number[]} values The column-major order array.
-         * @param {Matrix2} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix2} The modified result parameter, or a new Matrix2 instance if one was not provided.
-         */
-        Matrix2.fromColumnMajorArray = function(values, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('values', values);
-            //>>includeEnd('debug');
-
-            return Matrix2.clone(values, result);
-        };
-
-        /**
-         * Creates a Matrix2 instance from a row-major order array.
-         * The resulting matrix will be in column-major order.
-         *
-         * @param {Number[]} values The row-major order array.
-         * @param {Matrix2} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix2} The modified result parameter, or a new Matrix2 instance if one was not provided.
-         */
-        Matrix2.fromRowMajorArray = function(values, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('values', values);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Matrix2(values[0], values[1],
-                                   values[2], values[3]);
-            }
-            result[0] = values[0];
-            result[1] = values[2];
-            result[2] = values[1];
-            result[3] = values[3];
-            return result;
-        };
-
-        /**
-         * Computes a Matrix2 instance representing a non-uniform scale.
-         *
-         * @param {Cartesian2} scale The x and y scale factors.
-         * @param {Matrix2} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix2} The modified result parameter, or a new Matrix2 instance if one was not provided.
-         *
-         * @example
-         * // Creates
-         * //   [7.0, 0.0]
-         * //   [0.0, 8.0]
-         * var m = Cesium.Matrix2.fromScale(new Cesium.Cartesian2(7.0, 8.0));
-         */
-        Matrix2.fromScale = function(scale, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('scale', scale);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Matrix2(
-                    scale.x, 0.0,
-                    0.0,     scale.y);
-            }
-
-            result[0] = scale.x;
-            result[1] = 0.0;
-            result[2] = 0.0;
-            result[3] = scale.y;
-            return result;
-        };
-
-        /**
-         * Computes a Matrix2 instance representing a uniform scale.
-         *
-         * @param {Number} scale The uniform scale factor.
-         * @param {Matrix2} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix2} The modified result parameter, or a new Matrix2 instance if one was not provided.
-         *
-         * @example
-         * // Creates
-         * //   [2.0, 0.0]
-         * //   [0.0, 2.0]
-         * var m = Cesium.Matrix2.fromUniformScale(2.0);
-         */
-        Matrix2.fromUniformScale = function(scale, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('scale', scale);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Matrix2(
-                    scale, 0.0,
-                    0.0,   scale);
-            }
-
-            result[0] = scale;
-            result[1] = 0.0;
-            result[2] = 0.0;
-            result[3] = scale;
-            return result;
-        };
-
-        /**
-         * Creates a rotation matrix.
-         *
-         * @param {Number} angle The angle, in radians, of the rotation.  Positive angles are counterclockwise.
-         * @param {Matrix2} [result] The object in which the result will be stored, if undefined a new instance will be created.
-         * @returns {Matrix2} The modified result parameter, or a new Matrix2 instance if one was not provided.
-         *
-         * @example
-         * // Rotate a point 45 degrees counterclockwise.
-         * var p = new Cesium.Cartesian2(5, 6);
-         * var m = Cesium.Matrix2.fromRotation(Cesium.Math.toRadians(45.0));
-         * var rotated = Cesium.Matrix2.multiplyByVector(m, p, new Cesium.Cartesian2());
-         */
-        Matrix2.fromRotation = function(angle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('angle', angle);
-            //>>includeEnd('debug');
-
-            var cosAngle = Math.cos(angle);
-            var sinAngle = Math.sin(angle);
-
-            if (!when.defined(result)) {
-                return new Matrix2(
-                    cosAngle, -sinAngle,
-                    sinAngle, cosAngle);
-            }
-            result[0] = cosAngle;
-            result[1] = sinAngle;
-            result[2] = -sinAngle;
-            result[3] = cosAngle;
-            return result;
-        };
-
-        /**
-         * Creates an Array from the provided Matrix2 instance.
-         * The array will be in column-major order.
-         *
-         * @param {Matrix2} matrix The matrix to use..
-         * @param {Number[]} [result] The Array onto which to store the result.
-         * @returns {Number[]} The modified Array parameter or a new Array instance if one was not provided.
-         */
-        Matrix2.toArray = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return [matrix[0], matrix[1], matrix[2], matrix[3]];
-            }
-            result[0] = matrix[0];
-            result[1] = matrix[1];
-            result[2] = matrix[2];
-            result[3] = matrix[3];
-            return result;
-        };
-
-        /**
-         * Computes the array index of the element at the provided row and column.
-         *
-         * @param {Number} row The zero-based index of the row.
-         * @param {Number} column The zero-based index of the column.
-         * @returns {Number} The index of the element at the provided row and column.
-         *
-         * @exception {DeveloperError} row must be 0 or 1.
-         * @exception {DeveloperError} column must be 0 or 1.
-         *
-         * @example
-         * var myMatrix = new Cesium.Matrix2();
-         * var column1Row0Index = Cesium.Matrix2.getElementIndex(1, 0);
-         * var column1Row0 = myMatrix[column1Row0Index]
-         * myMatrix[column1Row0Index] = 10.0;
-         */
-        Matrix2.getElementIndex = function(column, row) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number.greaterThanOrEquals('row', row, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('row', row, 1);
-
-            Check.Check.typeOf.number.greaterThanOrEquals('column', column, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('column', column, 1);
-            //>>includeEnd('debug');
-
-            return column * 2 + row;
-        };
-
-        /**
-         * Retrieves a copy of the matrix column at the provided index as a Cartesian2 instance.
-         *
-         * @param {Matrix2} matrix The matrix to use.
-         * @param {Number} index The zero-based index of the column to retrieve.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         *
-         * @exception {DeveloperError} index must be 0 or 1.
-         */
-        Matrix2.getColumn = function(matrix, index, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-
-            Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('index', index, 1);
-
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var startIndex = index * 2;
-            var x = matrix[startIndex];
-            var y = matrix[startIndex + 1];
-
-            result.x = x;
-            result.y = y;
-            return result;
-        };
-
-        /**
-         * Computes a new matrix that replaces the specified column in the provided matrix with the provided Cartesian2 instance.
-         *
-         * @param {Matrix2} matrix The matrix to use.
-         * @param {Number} index The zero-based index of the column to set.
-         * @param {Cartesian2} cartesian The Cartesian whose values will be assigned to the specified column.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter.
-         *
-         * @exception {DeveloperError} index must be 0 or 1.
-         */
-        Matrix2.setColumn = function(matrix, index, cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-
-            Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('index', index, 1);
-
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result = Matrix2.clone(matrix, result);
-            var startIndex = index * 2;
-            result[startIndex] = cartesian.x;
-            result[startIndex + 1] = cartesian.y;
-            return result;
-        };
-
-        /**
-         * Retrieves a copy of the matrix row at the provided index as a Cartesian2 instance.
-         *
-         * @param {Matrix2} matrix The matrix to use.
-         * @param {Number} index The zero-based index of the row to retrieve.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         *
-         * @exception {DeveloperError} index must be 0 or 1.
-         */
-        Matrix2.getRow = function(matrix, index, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-
-            Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('index', index, 1);
-
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var x = matrix[index];
-            var y = matrix[index + 2];
-
-            result.x = x;
-            result.y = y;
-            return result;
-        };
-
-        /**
-         * Computes a new matrix that replaces the specified row in the provided matrix with the provided Cartesian2 instance.
-         *
-         * @param {Matrix2} matrix The matrix to use.
-         * @param {Number} index The zero-based index of the row to set.
-         * @param {Cartesian2} cartesian The Cartesian whose values will be assigned to the specified row.
-         * @param {Matrix2} result The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter.
-         *
-         * @exception {DeveloperError} index must be 0 or 1.
-         */
-        Matrix2.setRow = function(matrix, index, cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-
-            Check.Check.typeOf.number.greaterThanOrEquals('index', index, 0);
-            Check.Check.typeOf.number.lessThanOrEquals('index', index, 1);
-
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result = Matrix2.clone(matrix, result);
-            result[index] = cartesian.x;
-            result[index + 2] = cartesian.y;
-            return result;
-        };
-
-        var scratchColumn = new Cartesian2.Cartesian2();
-
-        /**
-         * Extracts the non-uniform scale assuming the matrix is an affine transformation.
-         *
-         * @param {Matrix2} matrix The matrix.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Matrix2.getScale = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = Cartesian2.Cartesian2.magnitude(Cartesian2.Cartesian2.fromElements(matrix[0], matrix[1], scratchColumn));
-            result.y = Cartesian2.Cartesian2.magnitude(Cartesian2.Cartesian2.fromElements(matrix[2], matrix[3], scratchColumn));
-            return result;
-        };
-
-        var scratchScale = new Cartesian2.Cartesian2();
-
-        /**
-         * Computes the maximum scale assuming the matrix is an affine transformation.
-         * The maximum scale is the maximum length of the column vectors.
-         *
-         * @param {Matrix2} matrix The matrix.
-         * @returns {Number} The maximum scale.
-         */
-        Matrix2.getMaximumScale = function(matrix) {
-            Matrix2.getScale(matrix, scratchScale);
-            return Cartesian2.Cartesian2.maximumComponent(scratchScale);
-        };
-
-        /**
-         * Computes the product of two matrices.
-         *
-         * @param {Matrix2} left The first matrix.
-         * @param {Matrix2} right The second matrix.
-         * @param {Matrix2} result The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter.
-         */
-        Matrix2.multiply = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var column0Row0 = left[0] * right[0] + left[2] * right[1];
-            var column1Row0 = left[0] * right[2] + left[2] * right[3];
-            var column0Row1 = left[1] * right[0] + left[3] * right[1];
-            var column1Row1 = left[1] * right[2] + left[3] * right[3];
-
-            result[0] = column0Row0;
-            result[1] = column0Row1;
-            result[2] = column1Row0;
-            result[3] = column1Row1;
-            return result;
-        };
-
-        /**
-         * Computes the sum of two matrices.
-         *
-         * @param {Matrix2} left The first matrix.
-         * @param {Matrix2} right The second matrix.
-         * @param {Matrix2} result The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter.
-         */
-        Matrix2.add = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = left[0] + right[0];
-            result[1] = left[1] + right[1];
-            result[2] = left[2] + right[2];
-            result[3] = left[3] + right[3];
-            return result;
-        };
-
-        /**
-         * Computes the difference of two matrices.
-         *
-         * @param {Matrix2} left The first matrix.
-         * @param {Matrix2} right The second matrix.
-         * @param {Matrix2} result The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter.
-         */
-        Matrix2.subtract = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = left[0] - right[0];
-            result[1] = left[1] - right[1];
-            result[2] = left[2] - right[2];
-            result[3] = left[3] - right[3];
-            return result;
-        };
-
-        /**
-         * Computes the product of a matrix and a column vector.
-         *
-         * @param {Matrix2} matrix The matrix.
-         * @param {Cartesian2} cartesian The column.
-         * @param {Cartesian2} result The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter.
-         */
-        Matrix2.multiplyByVector = function(matrix, cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var x = matrix[0] * cartesian.x + matrix[2] * cartesian.y;
-            var y = matrix[1] * cartesian.x + matrix[3] * cartesian.y;
-
-            result.x = x;
-            result.y = y;
-            return result;
-        };
-
-        /**
-         * Computes the product of a matrix and a scalar.
-         *
-         * @param {Matrix2} matrix The matrix.
-         * @param {Number} scalar The number to multiply by.
-         * @param {Matrix2} result The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter.
-         */
-        Matrix2.multiplyByScalar = function(matrix, scalar, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.number('scalar', scalar);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = matrix[0] * scalar;
-            result[1] = matrix[1] * scalar;
-            result[2] = matrix[2] * scalar;
-            result[3] = matrix[3] * scalar;
-            return result;
-        };
-
-        /**
-         * Computes the product of a matrix times a (non-uniform) scale, as if the scale were a scale matrix.
-         *
-         * @param {Matrix2} matrix The matrix on the left-hand side.
-         * @param {Cartesian2} scale The non-uniform scale on the right-hand side.
-         * @param {Matrix2} result The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter.
-         *
-         *
-         * @example
-         * // Instead of Cesium.Matrix2.multiply(m, Cesium.Matrix2.fromScale(scale), m);
-         * Cesium.Matrix2.multiplyByScale(m, scale, m);
-         *
-         * @see Matrix2.fromScale
-         * @see Matrix2.multiplyByUniformScale
-         */
-        Matrix2.multiplyByScale = function(matrix, scale, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('scale', scale);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = matrix[0] * scale.x;
-            result[1] = matrix[1] * scale.x;
-            result[2] = matrix[2] * scale.y;
-            result[3] = matrix[3] * scale.y;
-            return result;
-        };
-
-        /**
-         * Creates a negated copy of the provided matrix.
-         *
-         * @param {Matrix2} matrix The matrix to negate.
-         * @param {Matrix2} result The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter.
-         */
-        Matrix2.negate = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = -matrix[0];
-            result[1] = -matrix[1];
-            result[2] = -matrix[2];
-            result[3] = -matrix[3];
-            return result;
-        };
-
-        /**
-         * Computes the transpose of the provided matrix.
-         *
-         * @param {Matrix2} matrix The matrix to transpose.
-         * @param {Matrix2} result The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter.
-         */
-        Matrix2.transpose = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var column0Row0 = matrix[0];
-            var column0Row1 = matrix[2];
-            var column1Row0 = matrix[1];
-            var column1Row1 = matrix[3];
-
-            result[0] = column0Row0;
-            result[1] = column0Row1;
-            result[2] = column1Row0;
-            result[3] = column1Row1;
-            return result;
-        };
-
-        /**
-         * Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements.
-         *
-         * @param {Matrix2} matrix The matrix with signed elements.
-         * @param {Matrix2} result The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter.
-         */
-        Matrix2.abs = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result[0] = Math.abs(matrix[0]);
-            result[1] = Math.abs(matrix[1]);
-            result[2] = Math.abs(matrix[2]);
-            result[3] = Math.abs(matrix[3]);
-
-            return result;
-        };
-
-        /**
-         * Compares the provided matrices componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Matrix2} [left] The first matrix.
-         * @param {Matrix2} [right] The second matrix.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        Matrix2.equals = function(left, right) {
-            return (left === right) ||
-                   (when.defined(left) &&
-                    when.defined(right) &&
-                    left[0] === right[0] &&
-                    left[1] === right[1] &&
-                    left[2] === right[2] &&
-                    left[3] === right[3]);
-        };
-
-        /**
-         * @private
-         */
-        Matrix2.equalsArray = function(matrix, array, offset) {
-            return matrix[0] === array[offset] &&
-                   matrix[1] === array[offset + 1] &&
-                   matrix[2] === array[offset + 2] &&
-                   matrix[3] === array[offset + 3];
-        };
-
-        /**
-         * Compares the provided matrices componentwise and returns
-         * <code>true</code> if they are within the provided epsilon,
-         * <code>false</code> otherwise.
-         *
-         * @param {Matrix2} [left] The first matrix.
-         * @param {Matrix2} [right] The second matrix.
-         * @param {Number} epsilon The epsilon to use for equality testing.
-         * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Matrix2.equalsEpsilon = function(left, right, epsilon) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('epsilon', epsilon);
-            //>>includeEnd('debug');
-
-            return (left === right) ||
-                    (when.defined(left) &&
-                    when.defined(right) &&
-                    Math.abs(left[0] - right[0]) <= epsilon &&
-                    Math.abs(left[1] - right[1]) <= epsilon &&
-                    Math.abs(left[2] - right[2]) <= epsilon &&
-                    Math.abs(left[3] - right[3]) <= epsilon);
-        };
-
-        /**
-         * An immutable Matrix2 instance initialized to the identity matrix.
-         *
-         * @type {Matrix2}
-         * @constant
-         */
-        Matrix2.IDENTITY = Object.freeze(new Matrix2(1.0, 0.0,
-                                                    0.0, 1.0));
-
-        /**
-         * An immutable Matrix2 instance initialized to the zero matrix.
-         *
-         * @type {Matrix2}
-         * @constant
-         */
-        Matrix2.ZERO = Object.freeze(new Matrix2(0.0, 0.0,
-                                                0.0, 0.0));
-
-        /**
-         * The index into Matrix2 for column 0, row 0.
-         *
-         * @type {Number}
-         * @constant
-         *
-         * @example
-         * var matrix = new Cesium.Matrix2();
-         * matrix[Cesium.Matrix2.COLUMN0ROW0] = 5.0; // set column 0, row 0 to 5.0
-         */
-        Matrix2.COLUMN0ROW0 = 0;
-
-        /**
-         * The index into Matrix2 for column 0, row 1.
-         *
-         * @type {Number}
-         * @constant
-         *
-         * @example
-         * var matrix = new Cesium.Matrix2();
-         * matrix[Cesium.Matrix2.COLUMN0ROW1] = 5.0; // set column 0, row 1 to 5.0
-         */
-        Matrix2.COLUMN0ROW1 = 1;
-
-        /**
-         * The index into Matrix2 for column 1, row 0.
-         *
-         * @type {Number}
-         * @constant
-         *
-         * @example
-         * var matrix = new Cesium.Matrix2();
-         * matrix[Cesium.Matrix2.COLUMN1ROW0] = 5.0; // set column 1, row 0 to 5.0
-         */
-        Matrix2.COLUMN1ROW0 = 2;
-
-        /**
-         * The index into Matrix2 for column 1, row 1.
-         *
-         * @type {Number}
-         * @constant
-         *
-         * @example
-         * var matrix = new Cesium.Matrix2();
-         * matrix[Cesium.Matrix2.COLUMN1ROW1] = 5.0; // set column 1, row 1 to 5.0
-         */
-        Matrix2.COLUMN1ROW1 = 3;
-
-        Object.defineProperties(Matrix2.prototype, {
-            /**
-             * Gets the number of items in the collection.
-             * @memberof Matrix2.prototype
-             *
-             * @type {Number}
-             */
-            length : {
-                get : function() {
-                    return Matrix2.packedLength;
-                }
-            }
-        });
-
-        /**
-         * Duplicates the provided Matrix2 instance.
-         *
-         * @param {Matrix2} [result] The object onto which to store the result.
-         * @returns {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
-         */
-        Matrix2.prototype.clone = function(result) {
-            return Matrix2.clone(this, result);
-        };
-
-        /**
-         * Compares this matrix to the provided matrix componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Matrix2} [right] The right hand side matrix.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        Matrix2.prototype.equals = function(right) {
-            return Matrix2.equals(this, right);
-        };
-
-        /**
-         * Compares this matrix to the provided matrix componentwise and returns
-         * <code>true</code> if they are within the provided epsilon,
-         * <code>false</code> otherwise.
-         *
-         * @param {Matrix2} [right] The right hand side matrix.
-         * @param {Number} epsilon The epsilon to use for equality testing.
-         * @returns {Boolean} <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Matrix2.prototype.equalsEpsilon = function(right, epsilon) {
-            return Matrix2.equalsEpsilon(this, right, epsilon);
-        };
-
-        /**
-         * Creates a string representing this Matrix with each row being
-         * on a separate line and in the format '(column0, column1)'.
-         *
-         * @returns {String} A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1)'.
-         */
-        Matrix2.prototype.toString = function() {
-            return '(' + this[0] + ', ' + this[2] + ')\n' +
-                   '(' + this[1] + ', ' + this[3] + ')';
-        };
-
-    /**
-         * A geometry representation with attributes forming vertices and optional index data
-         * defining primitives.  Geometries and an {@link Appearance}, which describes the shading,
-         * can be assigned to a {@link Primitive} for visualization.  A <code>Primitive</code> can
-         * be created from many heterogeneous - in many cases - geometries for performance.
-         * <p>
-         * Geometries can be transformed and optimized using functions in {@link GeometryPipeline}.
-         * </p>
-         *
-         * @alias Geometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {GeometryAttributes} options.attributes Attributes, which make up the geometry's vertices.
-         * @param {PrimitiveType} [options.primitiveType=PrimitiveType.TRIANGLES] The type of primitives in the geometry.
-         * @param {Uint16Array|Uint32Array} [options.indices] Optional index data that determines the primitives in the geometry.
-         * @param {BoundingSphere} [options.boundingSphere] An optional bounding sphere that fully enclosed the geometry.
-         *
-         * @see PolygonGeometry
-         * @see RectangleGeometry
-         * @see EllipseGeometry
-         * @see CircleGeometry
-         * @see WallGeometry
-         * @see SimplePolylineGeometry
-         * @see BoxGeometry
-         * @see EllipsoidGeometry
-         *
-         * @demo {@link https://sandcastle.cesium.com/index.html?src=Geometry%20and%20Appearances.html|Geometry and Appearances Demo}
-         *
-         * @example
-         * // Create geometry with a position attribute and indexed lines.
-         * var positions = new Float64Array([
-         *   0.0, 0.0, 0.0,
-         *   7500000.0, 0.0, 0.0,
-         *   0.0, 7500000.0, 0.0
-         * ]);
-         *
-         * var geometry = new Cesium.Geometry({
-         *   attributes : {
-         *     position : new Cesium.GeometryAttribute({
-         *       componentDatatype : Cesium.ComponentDatatype.DOUBLE,
-         *       componentsPerAttribute : 3,
-         *       values : positions
-         *     })
-         *   },
-         *   indices : new Uint16Array([0, 1, 1, 2, 2, 0]),
-         *   primitiveType : Cesium.PrimitiveType.LINES,
-         *   boundingSphere : Cesium.BoundingSphere.fromVertices(positions)
-         * });
-         */
-        function Geometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('options.attributes', options.attributes);
-            //>>includeEnd('debug');
-
-            /**
-             * Attributes, which make up the geometry's vertices.  Each property in this object corresponds to a
-             * {@link GeometryAttribute} containing the attribute's data.
-             * <p>
-             * Attributes are always stored non-interleaved in a Geometry.
-             * </p>
-             * <p>
-             * There are reserved attribute names with well-known semantics.  The following attributes
-             * are created by a Geometry (depending on the provided {@link VertexFormat}.
-             * <ul>
-             *    <li><code>position</code> - 3D vertex position.  64-bit floating-point (for precision).  3 components per attribute.  See {@link VertexFormat#position}.</li>
-             *    <li><code>normal</code> - Normal (normalized), commonly used for lighting.  32-bit floating-point.  3 components per attribute.  See {@link VertexFormat#normal}.</li>
-             *    <li><code>st</code> - 2D texture coordinate.  32-bit floating-point.  2 components per attribute.  See {@link VertexFormat#st}.</li>
-             *    <li><code>bitangent</code> - Bitangent (normalized), used for tangent-space effects like bump mapping.  32-bit floating-point.  3 components per attribute.  See {@link VertexFormat#bitangent}.</li>
-             *    <li><code>tangent</code> - Tangent (normalized), used for tangent-space effects like bump mapping.  32-bit floating-point.  3 components per attribute.  See {@link VertexFormat#tangent}.</li>
-             * </ul>
-             * </p>
-             * <p>
-             * The following attribute names are generally not created by a Geometry, but are added
-             * to a Geometry by a {@link Primitive} or {@link GeometryPipeline} functions to prepare
-             * the geometry for rendering.
-             * <ul>
-             *    <li><code>position3DHigh</code> - High 32 bits for encoded 64-bit position computed with {@link GeometryPipeline.encodeAttribute}.  32-bit floating-point.  4 components per attribute.</li>
-             *    <li><code>position3DLow</code> - Low 32 bits for encoded 64-bit position computed with {@link GeometryPipeline.encodeAttribute}.  32-bit floating-point.  4 components per attribute.</li>
-             *    <li><code>position3DHigh</code> - High 32 bits for encoded 64-bit 2D (Columbus view) position computed with {@link GeometryPipeline.encodeAttribute}.  32-bit floating-point.  4 components per attribute.</li>
-             *    <li><code>position2DLow</code> - Low 32 bits for encoded 64-bit 2D (Columbus view) position computed with {@link GeometryPipeline.encodeAttribute}.  32-bit floating-point.  4 components per attribute.</li>
-             *    <li><code>color</code> - RGBA color (normalized) usually from {@link GeometryInstance#color}.  32-bit floating-point.  4 components per attribute.</li>
-             *    <li><code>pickColor</code> - RGBA color used for picking.  32-bit floating-point.  4 components per attribute.</li>
-             * </ul>
-             * </p>
-             *
-             * @type GeometryAttributes
-             *
-             * @default undefined
-             *
-             *
-             * @example
-             * geometry.attributes.position = new Cesium.GeometryAttribute({
-             *   componentDatatype : Cesium.ComponentDatatype.FLOAT,
-             *   componentsPerAttribute : 3,
-             *   values : new Float32Array(0)
-             * });
-             *
-             * @see GeometryAttribute
-             * @see VertexFormat
-             */
-            this.attributes = options.attributes;
-
-            /**
-             * Optional index data that - along with {@link Geometry#primitiveType} -
-             * determines the primitives in the geometry.
-             *
-             * @type Array
-             *
-             * @default undefined
-             */
-            this.indices = options.indices;
-
-            /**
-             * The type of primitives in the geometry.  This is most often {@link PrimitiveType.TRIANGLES},
-             * but can varying based on the specific geometry.
-             *
-             * @type PrimitiveType
-             *
-             * @default undefined
-             */
-            this.primitiveType = when.defaultValue(options.primitiveType, PrimitiveType.PrimitiveType.TRIANGLES);
-
-            /**
-             * An optional bounding sphere that fully encloses the geometry.  This is
-             * commonly used for culling.
-             *
-             * @type BoundingSphere
-             *
-             * @default undefined
-             */
-            this.boundingSphere = options.boundingSphere;
-
-            /**
-             * @private
-             */
-            this.geometryType = when.defaultValue(options.geometryType, GeometryType$1.NONE);
-
-            /**
-             * @private
-             */
-            this.boundingSphereCV = options.boundingSphereCV;
-
-            /**
-             * @private
-             * Used for computing the bounding sphere for geometry using the applyOffset vertex attribute
-             */
-            this.offsetAttribute = options.offsetAttribute;
-        }
-
-        /**
-         * Computes the number of vertices in a geometry.  The runtime is linear with
-         * respect to the number of attributes in a vertex, not the number of vertices.
-         *
-         * @param {Geometry} geometry The geometry.
-         * @returns {Number} The number of vertices in the geometry.
-         *
-         * @example
-         * var numVertices = Cesium.Geometry.computeNumberOfVertices(geometry);
-         */
-        Geometry.computeNumberOfVertices = function(geometry) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('geometry', geometry);
-            //>>includeEnd('debug');
-
-            var numberOfVertices = -1;
-            for ( var property in geometry.attributes) {
-                if (geometry.attributes.hasOwnProperty(property) &&
-                        when.defined(geometry.attributes[property]) &&
-                        when.defined(geometry.attributes[property].values)) {
-
-                    var attribute = geometry.attributes[property];
-                    var num = attribute.values.length / attribute.componentsPerAttribute;
-                    //>>includeStart('debug', pragmas.debug);
-                    if ((numberOfVertices !== num) && (numberOfVertices !== -1)) {
-                        throw new Check.DeveloperError('All attribute lists must have the same number of attributes.');
-                    }
-                    //>>includeEnd('debug');
-                    numberOfVertices = num;
-                }
-            }
-
-            return numberOfVertices;
-        };
-
-        var rectangleCenterScratch = new Cartesian2.Cartographic();
-        var enuCenterScratch = new Cartesian2.Cartesian3();
-        var fixedFrameToEnuScratch = new BoundingSphere.Matrix4();
-        var boundingRectanglePointsCartographicScratch = [new Cartesian2.Cartographic(), new Cartesian2.Cartographic(), new Cartesian2.Cartographic()];
-        var boundingRectanglePointsEnuScratch = [new Cartesian2.Cartesian2(), new Cartesian2.Cartesian2(), new Cartesian2.Cartesian2()];
-        var points2DScratch = [new Cartesian2.Cartesian2(), new Cartesian2.Cartesian2(), new Cartesian2.Cartesian2()];
-        var pointEnuScratch = new Cartesian2.Cartesian3();
-        var enuRotationScratch = new Transforms.Quaternion();
-        var enuRotationMatrixScratch = new BoundingSphere.Matrix4();
-        var rotation2DScratch = new Matrix2();
-
-        /**
-         * For remapping texture coordinates when rendering GroundPrimitives with materials.
-         * GroundPrimitive texture coordinates are computed to align with the cartographic coordinate system on the globe.
-         * However, EllipseGeometry, RectangleGeometry, and PolygonGeometry all bake rotations to per-vertex texture coordinates
-         * using different strategies.
-         *
-         * This method is used by EllipseGeometry and PolygonGeometry to approximate the same visual effect.
-         * We encapsulate rotation and scale by computing a "transformed" texture coordinate system and computing
-         * a set of reference points from which "cartographic" texture coordinates can be remapped to the "transformed"
-         * system using distances to lines in 2D.
-         *
-         * This approximation becomes less accurate as the covered area increases, especially for GroundPrimitives near the poles,
-         * but is generally reasonable for polygons and ellipses around the size of USA states.
-         *
-         * RectangleGeometry has its own version of this method that computes remapping coordinates using cartographic space
-         * as an intermediary instead of local ENU, which is more accurate for large-area rectangles.
-         *
-         * @param {Cartesian3[]} positions Array of positions outlining the geometry
-         * @param {Number} stRotation Texture coordinate rotation.
-         * @param {Ellipsoid} ellipsoid Ellipsoid for projecting and generating local vectors.
-         * @param {Rectangle} boundingRectangle Bounding rectangle around the positions.
-         * @returns {Number[]} An array of 6 numbers specifying [minimum point, u extent, v extent] as points in the "cartographic" system.
-         * @private
-         */
-        Geometry._textureCoordinateRotationPoints = function(positions, stRotation, ellipsoid, boundingRectangle) {
-            var i;
-
-            // Create a local east-north-up coordinate system centered on the polygon's bounding rectangle.
-            // Project the southwest, northwest, and southeast corners of the bounding rectangle into the plane of ENU as 2D points.
-            // These are the equivalents of (0,0), (0,1), and (1,0) in the texture coordiante system computed in ShadowVolumeAppearanceFS,
-            // aka "ENU texture space."
-            var rectangleCenter = Cartesian2.Rectangle.center(boundingRectangle, rectangleCenterScratch);
-            var enuCenter = Cartesian2.Cartographic.toCartesian(rectangleCenter, ellipsoid, enuCenterScratch);
-            var enuToFixedFrame = Transforms.Transforms.eastNorthUpToFixedFrame(enuCenter, ellipsoid, fixedFrameToEnuScratch);
-            var fixedFrameToEnu = BoundingSphere.Matrix4.inverse(enuToFixedFrame, fixedFrameToEnuScratch);
-
-            var boundingPointsEnu = boundingRectanglePointsEnuScratch;
-            var boundingPointsCarto = boundingRectanglePointsCartographicScratch;
-
-            boundingPointsCarto[0].longitude = boundingRectangle.west;
-            boundingPointsCarto[0].latitude = boundingRectangle.south;
-
-            boundingPointsCarto[1].longitude = boundingRectangle.west;
-            boundingPointsCarto[1].latitude = boundingRectangle.north;
-
-            boundingPointsCarto[2].longitude = boundingRectangle.east;
-            boundingPointsCarto[2].latitude = boundingRectangle.south;
-
-            var posEnu = pointEnuScratch;
-
-            for (i = 0; i < 3; i++) {
-                Cartesian2.Cartographic.toCartesian(boundingPointsCarto[i], ellipsoid, posEnu);
-                posEnu = BoundingSphere.Matrix4.multiplyByPointAsVector(fixedFrameToEnu, posEnu, posEnu);
-                boundingPointsEnu[i].x = posEnu.x;
-                boundingPointsEnu[i].y = posEnu.y;
-            }
-
-            // Rotate each point in the polygon around the up vector in the ENU by -stRotation and project into ENU as 2D.
-            // Compute the bounding box of these rotated points in the 2D ENU plane.
-            // Rotate the corners back by stRotation, then compute their equivalents in the ENU texture space using the corners computed earlier.
-            var rotation = Transforms.Quaternion.fromAxisAngle(Cartesian2.Cartesian3.UNIT_Z, -stRotation, enuRotationScratch);
-            var textureMatrix = BoundingSphere.Matrix3.fromQuaternion(rotation, enuRotationMatrixScratch);
-
-            var positionsLength = positions.length;
-            var enuMinX = Number.POSITIVE_INFINITY;
-            var enuMinY = Number.POSITIVE_INFINITY;
-            var enuMaxX = Number.NEGATIVE_INFINITY;
-            var enuMaxY = Number.NEGATIVE_INFINITY;
-            for (i = 0; i < positionsLength; i++) {
-                posEnu = BoundingSphere.Matrix4.multiplyByPointAsVector(fixedFrameToEnu, positions[i], posEnu);
-                posEnu = BoundingSphere.Matrix3.multiplyByVector(textureMatrix, posEnu, posEnu);
-
-                enuMinX = Math.min(enuMinX, posEnu.x);
-                enuMinY = Math.min(enuMinY, posEnu.y);
-                enuMaxX = Math.max(enuMaxX, posEnu.x);
-                enuMaxY = Math.max(enuMaxY, posEnu.y);
-            }
-
-            var toDesiredInComputed = Matrix2.fromRotation(stRotation, rotation2DScratch);
-
-            var points2D = points2DScratch;
-            points2D[0].x = enuMinX;
-            points2D[0].y = enuMinY;
-
-            points2D[1].x = enuMinX;
-            points2D[1].y = enuMaxY;
-
-            points2D[2].x = enuMaxX;
-            points2D[2].y = enuMinY;
-
-            var boundingEnuMin = boundingPointsEnu[0];
-            var boundingPointsWidth = boundingPointsEnu[2].x - boundingEnuMin.x;
-            var boundingPointsHeight = boundingPointsEnu[1].y - boundingEnuMin.y;
-
-            for (i = 0; i < 3; i++) {
-                var point2D = points2D[i];
-                // rotate back
-                Matrix2.multiplyByVector(toDesiredInComputed, point2D, point2D);
-
-                // Convert point into east-north texture coordinate space
-                point2D.x = (point2D.x - boundingEnuMin.x) / boundingPointsWidth;
-                point2D.y = (point2D.y - boundingEnuMin.y) / boundingPointsHeight;
-            }
-
-            var minXYCorner = points2D[0];
-            var maxYCorner = points2D[1];
-            var maxXCorner = points2D[2];
-            var result = new Array(6);
-            Cartesian2.Cartesian2.pack(minXYCorner, result);
-            Cartesian2.Cartesian2.pack(maxYCorner, result, 2);
-            Cartesian2.Cartesian2.pack(maxXCorner, result, 4);
-
-            return result;
-        };
-
-    /**
-         * Values and type information for geometry attributes.  A {@link Geometry}
-         * generally contains one or more attributes.  All attributes together form
-         * the geometry's vertices.
-         *
-         * @alias GeometryAttribute
-         * @constructor
-         *
-         * @param {Object} [options] Object with the following properties:
-         * @param {ComponentDatatype} [options.componentDatatype] The datatype of each component in the attribute, e.g., individual elements in values.
-         * @param {Number} [options.componentsPerAttribute] A number between 1 and 4 that defines the number of components in an attributes.
-         * @param {Boolean} [options.normalize=false] When <code>true</code> and <code>componentDatatype</code> is an integer format, indicate that the components should be mapped to the range [0, 1] (unsigned) or [-1, 1] (signed) when they are accessed as floating-point for rendering.
-         * @param {TypedArray} [options.values] The values for the attributes stored in a typed array.
-         *
-         * @exception {DeveloperError} options.componentsPerAttribute must be between 1 and 4.
-         *
-         *
-         * @example
-         * var geometry = new Cesium.Geometry({
-         *   attributes : {
-         *     position : new Cesium.GeometryAttribute({
-         *       componentDatatype : Cesium.ComponentDatatype.FLOAT,
-         *       componentsPerAttribute : 3,
-         *       values : new Float32Array([
-         *         0.0, 0.0, 0.0,
-         *         7500000.0, 0.0, 0.0,
-         *         0.0, 7500000.0, 0.0
-         *       ])
-         *     })
-         *   },
-         *   primitiveType : Cesium.PrimitiveType.LINE_LOOP
-         * });
-         *
-         * @see Geometry
-         */
-        function GeometryAttribute(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(options.componentDatatype)) {
-                throw new Check.DeveloperError('options.componentDatatype is required.');
-            }
-            if (!when.defined(options.componentsPerAttribute)) {
-                throw new Check.DeveloperError('options.componentsPerAttribute is required.');
-            }
-            if (options.componentsPerAttribute < 1 || options.componentsPerAttribute > 4) {
-                throw new Check.DeveloperError('options.componentsPerAttribute must be between 1 and 4.');
-            }
-            if (!when.defined(options.values)) {
-                throw new Check.DeveloperError('options.values is required.');
-            }
-            //>>includeEnd('debug');
-
-            /**
-             * The datatype of each component in the attribute, e.g., individual elements in
-             * {@link GeometryAttribute#values}.
-             *
-             * @type ComponentDatatype
-             *
-             * @default undefined
-             */
-            this.componentDatatype = options.componentDatatype;
-
-            /**
-             * A number between 1 and 4 that defines the number of components in an attributes.
-             * For example, a position attribute with x, y, and z components would have 3 as
-             * shown in the code example.
-             *
-             * @type Number
-             *
-             * @default undefined
-             *
-             * @example
-             * attribute.componentDatatype = Cesium.ComponentDatatype.FLOAT;
-             * attribute.componentsPerAttribute = 3;
-             * attribute.values = new Float32Array([
-             *   0.0, 0.0, 0.0,
-             *   7500000.0, 0.0, 0.0,
-             *   0.0, 7500000.0, 0.0
-             * ]);
-             */
-            this.componentsPerAttribute = options.componentsPerAttribute;
-
-            /**
-             * When <code>true</code> and <code>componentDatatype</code> is an integer format,
-             * indicate that the components should be mapped to the range [0, 1] (unsigned)
-             * or [-1, 1] (signed) when they are accessed as floating-point for rendering.
-             * <p>
-             * This is commonly used when storing colors using {@link ComponentDatatype.UNSIGNED_BYTE}.
-             * </p>
-             *
-             * @type Boolean
-             *
-             * @default false
-             *
-             * @example
-             * attribute.componentDatatype = Cesium.ComponentDatatype.UNSIGNED_BYTE;
-             * attribute.componentsPerAttribute = 4;
-             * attribute.normalize = true;
-             * attribute.values = new Uint8Array([
-             *   Cesium.Color.floatToByte(color.red),
-             *   Cesium.Color.floatToByte(color.green),
-             *   Cesium.Color.floatToByte(color.blue),
-             *   Cesium.Color.floatToByte(color.alpha)
-             * ]);
-             */
-            this.normalize = when.defaultValue(options.normalize, false);
-
-            /**
-             * The values for the attributes stored in a typed array.  In the code example,
-             * every three elements in <code>values</code> defines one attributes since
-             * <code>componentsPerAttribute</code> is 3.
-             *
-             * @type TypedArray
-             *
-             * @default undefined
-             *
-             * @example
-             * attribute.componentDatatype = Cesium.ComponentDatatype.FLOAT;
-             * attribute.componentsPerAttribute = 3;
-             * attribute.values = new Float32Array([
-             *   0.0, 0.0, 0.0,
-             *   7500000.0, 0.0, 0.0,
-             *   0.0, 7500000.0, 0.0
-             * ]);
-             */
-            this.values = options.values;
-        }
-
-    exports.Geometry = Geometry;
-    exports.GeometryAttribute = GeometryAttribute;
-    exports.GeometryType = GeometryType$1;
-    exports.Matrix2 = Matrix2;
-
-});
diff --git a/libs/supermap/Workers/GeometryAttributes-aacecde6.js b/libs/supermap/Workers/GeometryAttributes-aacecde6.js
deleted file mode 100644
index c1e11ad..0000000
--- a/libs/supermap/Workers/GeometryAttributes-aacecde6.js
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60'], function (exports, when) { 'use strict';
-
-    /**
-         * Attributes, which make up a geometry's vertices.  Each property in this object corresponds to a
-         * {@link GeometryAttribute} containing the attribute's data.
-         * <p>
-         * Attributes are always stored non-interleaved in a Geometry.
-         * </p>
-         *
-         * @alias GeometryAttributes
-         * @constructor
-         */
-        function GeometryAttributes(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            /**
-             * The 3D position attribute.
-             * <p>
-             * 64-bit floating-point (for precision).  3 components per attribute.
-             * </p>
-             *
-             * @type GeometryAttribute
-             *
-             * @default undefined
-             */
-            this.position = options.position;
-
-            /**
-             * The normal attribute (normalized), which is commonly used for lighting.
-             * <p>
-             * 32-bit floating-point.  3 components per attribute.
-             * </p>
-             *
-             * @type GeometryAttribute
-             *
-             * @default undefined
-             */
-            this.normal = options.normal;
-
-            /**
-             * The 2D texture coordinate attribute.
-             * <p>
-             * 32-bit floating-point.  2 components per attribute
-             * </p>
-             *
-             * @type GeometryAttribute
-             *
-             * @default undefined
-             */
-            this.st = options.st;
-
-            /**
-             * The bitangent attribute (normalized), which is used for tangent-space effects like bump mapping.
-             * <p>
-             * 32-bit floating-point.  3 components per attribute.
-             * </p>
-             *
-             * @type GeometryAttribute
-             *
-             * @default undefined
-             */
-            this.bitangent = options.bitangent;
-
-            /**
-             * The tangent attribute (normalized), which is used for tangent-space effects like bump mapping.
-             * <p>
-             * 32-bit floating-point.  3 components per attribute.
-             * </p>
-             *
-             * @type GeometryAttribute
-             *
-             * @default undefined
-             */
-            this.tangent = options.tangent;
-
-            /**
-             * The color attribute.
-             * <p>
-             * 8-bit unsigned integer. 4 components per attribute.
-             * </p>
-             *
-             * @type GeometryAttribute
-             *
-             * @default undefined
-             */
-            this.color = options.color;
-        }
-
-    exports.GeometryAttributes = GeometryAttributes;
-
-});
diff --git a/libs/supermap/Workers/GeometryInstance-41ec5f45.js b/libs/supermap/Workers/GeometryInstance-41ec5f45.js
deleted file mode 100644
index 0676917..0000000
--- a/libs/supermap/Workers/GeometryInstance-41ec5f45.js
+++ /dev/null
@@ -1,141 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './BoundingSphere-51445700'], function (exports, when, Check, BoundingSphere) { 'use strict';
-
-    /**
-         * Geometry instancing allows one {@link Geometry} object to be positions in several
-         * different locations and colored uniquely.  For example, one {@link BoxGeometry} can
-         * be instanced several times, each with a different <code>modelMatrix</code> to change
-         * its position, rotation, and scale.
-         *
-         * @alias GeometryInstance
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Geometry} options.geometry The geometry to instance.
-         * @param {Matrix4} [options.modelMatrix=Matrix4.IDENTITY] The model matrix that transforms to transform the geometry from model to world coordinates.
-         * @param {Object} [options.id] A user-defined object to return when the instance is picked with {@link Scene#pick} or get/set per-instance attributes with {@link Primitive#getGeometryInstanceAttributes}.
-         * @param {Object} [options.attributes] Per-instance attributes like a show or color attribute shown in the example below.
-         *
-         *
-         * @example
-         * // Create geometry for a box, and two instances that refer to it.
-         * // One instance positions the box on the bottom and colored aqua.
-         * // The other instance positions the box on the top and color white.
-         * var geometry = Cesium.BoxGeometry.fromDimensions({
-         *   vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL,
-         *   dimensions : new Cesium.Cartesian3(1000000.0, 1000000.0, 500000.0)
-         * });
-         * var instanceBottom = new Cesium.GeometryInstance({
-         *   geometry : geometry,
-         *   modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
-         *     Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 1000000.0), new Cesium.Matrix4()),
-         *   attributes : {
-         *     color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
-         *   },
-         *   id : 'bottom'
-         * });
-         * var instanceTop = new Cesium.GeometryInstance({
-         *   geometry : geometry,
-         *   modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
-         *     Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 3000000.0), new Cesium.Matrix4()),
-         *   attributes : {
-         *     color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
-         *   },
-         *   id : 'top'
-         * });
-         *
-         * @see Geometry
-         */
-        function GeometryInstance(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(options.geometry)) {
-                throw new Check.DeveloperError('options.geometry is required.');
-            }
-            //>>includeEnd('debug');
-
-            /**
-             * The geometry being instanced.
-             *
-             * @type Geometry
-             *
-             * @default undefined
-             */
-            this.geometry = options.geometry;
-
-            /**
-             * The 4x4 transformation matrix that transforms the geometry from model to world coordinates.
-             * When this is the identity matrix, the geometry is drawn in world coordinates, i.e., Earth's WGS84 coordinates.
-             * Local reference frames can be used by providing a different transformation matrix, like that returned
-             * by {@link Transforms.eastNorthUpToFixedFrame}.
-             *
-             * @type Matrix4
-             *
-             * @default Matrix4.IDENTITY
-             */
-            this.modelMatrix = BoundingSphere.Matrix4.clone(when.defaultValue(options.modelMatrix, BoundingSphere.Matrix4.IDENTITY));
-
-            /**
-             * User-defined object returned when the instance is picked or used to get/set per-instance attributes.
-             *
-             * @type Object
-             *
-             * @default undefined
-             *
-             * @see Scene#pick
-             * @see Primitive#getGeometryInstanceAttributes
-             */
-            this.id = options.id;
-
-            /**
-             * Used for picking primitives that wrap geometry instances.
-             *
-             * @private
-             */
-            this.pickPrimitive = options.pickPrimitive;
-
-            /**
-             * Per-instance attributes like {@link ColorGeometryInstanceAttribute} or {@link ShowGeometryInstanceAttribute}.
-             * {@link Geometry} attributes varying per vertex; these attributes are constant for the entire instance.
-             *
-             * @type Object
-             *
-             * @default undefined
-             */
-            this.attributes = when.defaultValue(options.attributes, {});
-
-            /**
-             * @private
-             */
-            this.westHemisphereGeometry = undefined;
-            /**
-             * @private
-             */
-            this.eastHemisphereGeometry = undefined;
-        }
-
-    exports.GeometryInstance = GeometryInstance;
-
-});
diff --git a/libs/supermap/Workers/GeometryOffsetAttribute-ca302482.js b/libs/supermap/Workers/GeometryOffsetAttribute-ca302482.js
deleted file mode 100644
index d2967fc..0000000
--- a/libs/supermap/Workers/GeometryOffsetAttribute-ca302482.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281'], function (exports, when, Check) { 'use strict';
-
-    /**
-         * Fill an array or a portion of an array with a given value.
-         *
-         * @param {Array} array The array to fill.
-         * @param {*} value The value to fill the array with.
-         * @param {Number} [start=0] The index to start filling at.
-         * @param {Number} [end=array.length] The index to end stop at.
-         *
-         * @returns {Array} The resulting array.
-         * @private
-         */
-        function arrayFill(array, value, start, end) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            Check.Check.defined('value', value);
-            if (when.defined(start)) {
-                Check.Check.typeOf.number('start', start);
-            }
-            if (when.defined(end)) {
-                Check.Check.typeOf.number('end', end);
-            }
-            //>>includeEnd('debug');
-
-            if (typeof array.fill === 'function') {
-                return array.fill(value, start, end);
-            }
-
-            var length = array.length >>> 0;
-            var relativeStart = when.defaultValue(start, 0);
-            // If negative, find wrap around position
-            var k = (relativeStart < 0) ? Math.max(length + relativeStart, 0) : Math.min(relativeStart, length);
-            var relativeEnd = when.defaultValue(end, length);
-            // If negative, find wrap around position
-            var last = (relativeEnd < 0) ? Math.max(length + relativeEnd, 0) : Math.min(relativeEnd, length);
-
-            // Fill array accordingly
-            while (k < last) {
-                array[k] = value;
-                k++;
-            }
-            return array;
-        }
-
-    /**
-         * Represents which vertices should have a value of `true` for the `applyOffset` attribute
-         * @private
-         */
-        var GeometryOffsetAttribute = {
-            NONE : 0,
-            TOP : 1,
-            ALL : 2
-        };
-    var GeometryOffsetAttribute$1 = Object.freeze(GeometryOffsetAttribute);
-
-    exports.GeometryOffsetAttribute = GeometryOffsetAttribute$1;
-    exports.arrayFill = arrayFill;
-
-});
diff --git a/libs/supermap/Workers/GeometryPipeline-cf04afb6.js b/libs/supermap/Workers/GeometryPipeline-cf04afb6.js
deleted file mode 100644
index b66a144..0000000
--- a/libs/supermap/Workers/GeometryPipeline-cf04afb6.js
+++ /dev/null
@@ -1,3012 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './AttributeCompression-50ff7145', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, ComponentDatatype, GeometryAttribute, PrimitiveType, AttributeCompression, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane) { 'use strict';
-
-    var scratchCartesian1 = new Cartesian2.Cartesian3();
-        var scratchCartesian2 = new Cartesian2.Cartesian3();
-        var scratchCartesian3 = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes the barycentric coordinates for a point with respect to a triangle.
-         *
-         * @exports barycentricCoordinates
-         *
-         * @param {Cartesian2|Cartesian3} point The point to test.
-         * @param {Cartesian2|Cartesian3} p0 The first point of the triangle, corresponding to the barycentric x-axis.
-         * @param {Cartesian2|Cartesian3} p1 The second point of the triangle, corresponding to the barycentric y-axis.
-         * @param {Cartesian2|Cartesian3} p2 The third point of the triangle, corresponding to the barycentric z-axis.
-         * @param {Cartesian3} [result] The object onto which to store the result.
-         * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided.
-         *
-         * @example
-         * // Returns Cartesian3.UNIT_X
-         * var p = new Cesium.Cartesian3(-1.0, 0.0, 0.0);
-         * var b = Cesium.barycentricCoordinates(p,
-         *   new Cesium.Cartesian3(-1.0, 0.0, 0.0),
-         *   new Cesium.Cartesian3( 1.0, 0.0, 0.0),
-         *   new Cesium.Cartesian3( 0.0, 1.0, 1.0));
-         */
-        function barycentricCoordinates(point, p0, p1, p2, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('point', point);
-            Check.Check.defined('p0', p0);
-            Check.Check.defined('p1', p1);
-            Check.Check.defined('p2', p2);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian3();
-            }
-
-            // Implementation based on http://www.blackpawn.com/texts/pointinpoly/default.html.
-            var v0;
-            var v1;
-            var v2;
-            var dot00;
-            var dot01;
-            var dot02;
-            var dot11;
-            var dot12;
-
-            if(!when.defined(p0.z)) {
-                if (Cartesian2.Cartesian2.equalsEpsilon(point, p0, _Math.CesiumMath.EPSILON14)) {
-                    return Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_X, result);
-                }
-                if (Cartesian2.Cartesian2.equalsEpsilon(point, p1, _Math.CesiumMath.EPSILON14)) {
-                    return Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_Y, result);
-                }
-                if (Cartesian2.Cartesian2.equalsEpsilon(point, p2, _Math.CesiumMath.EPSILON14)) {
-                    return Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_Z, result);
-                }
-
-                v0 = Cartesian2.Cartesian2.subtract(p1, p0, scratchCartesian1);
-                v1 = Cartesian2.Cartesian2.subtract(p2, p0, scratchCartesian2);
-                v2 = Cartesian2.Cartesian2.subtract(point, p0, scratchCartesian3);
-
-                dot00 = Cartesian2.Cartesian2.dot(v0, v0);
-                dot01 = Cartesian2.Cartesian2.dot(v0, v1);
-                dot02 = Cartesian2.Cartesian2.dot(v0, v2);
-                dot11 = Cartesian2.Cartesian2.dot(v1, v1);
-                dot12 = Cartesian2.Cartesian2.dot(v1, v2);
-            } else {
-                if (Cartesian2.Cartesian3.equalsEpsilon(point, p0, _Math.CesiumMath.EPSILON14)) {
-                    return Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_X, result);
-                }
-                if (Cartesian2.Cartesian3.equalsEpsilon(point, p1, _Math.CesiumMath.EPSILON14)) {
-                    return Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_Y, result);
-                }
-                if (Cartesian2.Cartesian3.equalsEpsilon(point, p2, _Math.CesiumMath.EPSILON14)) {
-                    return Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_Z, result);
-                }
-
-                v0 = Cartesian2.Cartesian3.subtract(p1, p0, scratchCartesian1);
-                v1 = Cartesian2.Cartesian3.subtract(p2, p0, scratchCartesian2);
-                v2 = Cartesian2.Cartesian3.subtract(point, p0, scratchCartesian3);
-
-                dot00 = Cartesian2.Cartesian3.dot(v0, v0);
-                dot01 = Cartesian2.Cartesian3.dot(v0, v1);
-                dot02 = Cartesian2.Cartesian3.dot(v0, v2);
-                dot11 = Cartesian2.Cartesian3.dot(v1, v1);
-                dot12 = Cartesian2.Cartesian3.dot(v1, v2);
-            }
-
-            result.y = (dot11 * dot02 - dot01 * dot12);
-            result.z = (dot00 * dot12 - dot01 * dot02);
-            var q = dot00 * dot11 - dot01 * dot01;
-
-            // This is done to avoid dividing by infinity causing a NaN
-            if (result.y !== 0) {
-                result.y /= q;
-            }
-            if (result.z !== 0) {
-                result.z /= q;
-            }
-
-            result.x = 1.0 - result.y - result.z;
-            return result;
-        }
-
-    /**
-         * Encapsulates an algorithm to optimize triangles for the post
-         * vertex-shader cache.  This is based on the 2007 SIGGRAPH paper
-         * 'Fast Triangle Reordering for Vertex Locality and Reduced Overdraw.'
-         * The runtime is linear but several passes are made.
-         *
-         * @exports Tipsify
-         *
-         * @see <a href='http://gfx.cs.princeton.edu/pubs/Sander_2007_%3ETR/tipsy.pdf'>
-         * Fast Triangle Reordering for Vertex Locality and Reduced Overdraw</a>
-         * by Sander, Nehab, and Barczak
-         *
-         * @private
-         */
-        var Tipsify = {};
-
-        /**
-         * Calculates the average cache miss ratio (ACMR) for a given set of indices.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Number[]} options.indices Lists triads of numbers corresponding to the indices of the vertices
-         *                        in the vertex buffer that define the geometry's triangles.
-         * @param {Number} [options.maximumIndex] The maximum value of the elements in <code>args.indices</code>.
-         *                                     If not supplied, this value will be computed.
-         * @param {Number} [options.cacheSize=24] The number of vertices that can be stored in the cache at any one time.
-         * @returns {Number} The average cache miss ratio (ACMR).
-         *
-         * @exception {DeveloperError} indices length must be a multiple of three.
-         * @exception {DeveloperError} cacheSize must be greater than two.
-         *
-         * @example
-         * var indices = [0, 1, 2, 3, 4, 5];
-         * var maxIndex = 5;
-         * var cacheSize = 3;
-         * var acmr = Cesium.Tipsify.calculateACMR({indices : indices, maxIndex : maxIndex, cacheSize : cacheSize});
-         */
-        Tipsify.calculateACMR = function(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var indices = options.indices;
-            var maximumIndex = options.maximumIndex;
-            var cacheSize = when.defaultValue(options.cacheSize, 24);
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(indices)) {
-                throw new Check.DeveloperError('indices is required.');
-            }
-            //>>includeEnd('debug');
-
-            var numIndices = indices.length;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (numIndices < 3 || numIndices % 3 !== 0) {
-                throw new Check.DeveloperError('indices length must be a multiple of three.');
-            }
-            if (maximumIndex <= 0) {
-                throw new Check.DeveloperError('maximumIndex must be greater than zero.');
-            }
-            if (cacheSize < 3) {
-                throw new Check.DeveloperError('cacheSize must be greater than two.');
-            }
-            //>>includeEnd('debug');
-
-            // Compute the maximumIndex if not given
-            if (!when.defined(maximumIndex)) {
-                maximumIndex = 0;
-                var currentIndex = 0;
-                var intoIndices = indices[currentIndex];
-                while (currentIndex < numIndices) {
-                    if (intoIndices > maximumIndex) {
-                        maximumIndex = intoIndices;
-                    }
-                    ++currentIndex;
-                    intoIndices = indices[currentIndex];
-                }
-            }
-
-            // Vertex time stamps
-            var vertexTimeStamps = [];
-            for ( var i = 0; i < maximumIndex + 1; i++) {
-                vertexTimeStamps[i] = 0;
-            }
-
-            // Cache processing
-            var s = cacheSize + 1;
-            for ( var j = 0; j < numIndices; ++j) {
-                if ((s - vertexTimeStamps[indices[j]]) > cacheSize) {
-                    vertexTimeStamps[indices[j]] = s;
-                    ++s;
-                }
-            }
-
-            return (s - cacheSize + 1) / (numIndices / 3);
-        };
-
-        /**
-         * Optimizes triangles for the post-vertex shader cache.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Number[]} options.indices Lists triads of numbers corresponding to the indices of the vertices
-         *                        in the vertex buffer that define the geometry's triangles.
-         * @param {Number} [options.maximumIndex] The maximum value of the elements in <code>args.indices</code>.
-         *                                     If not supplied, this value will be computed.
-         * @param {Number} [options.cacheSize=24] The number of vertices that can be stored in the cache at any one time.
-         * @returns {Number[]} A list of the input indices in an optimized order.
-         *
-         * @exception {DeveloperError} indices length must be a multiple of three.
-         * @exception {DeveloperError} cacheSize must be greater than two.
-         *
-         * @example
-         * var indices = [0, 1, 2, 3, 4, 5];
-         * var maxIndex = 5;
-         * var cacheSize = 3;
-         * var reorderedIndices = Cesium.Tipsify.tipsify({indices : indices, maxIndex : maxIndex, cacheSize : cacheSize});
-         */
-        Tipsify.tipsify = function(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var indices = options.indices;
-            var maximumIndex = options.maximumIndex;
-            var cacheSize = when.defaultValue(options.cacheSize, 24);
-
-            var cursor;
-
-            function skipDeadEnd(vertices, deadEnd, indices, maximumIndexPlusOne) {
-                while (deadEnd.length >= 1) {
-                    // while the stack is not empty
-                    var d = deadEnd[deadEnd.length - 1]; // top of the stack
-                    deadEnd.splice(deadEnd.length - 1, 1); // pop the stack
-
-                    if (vertices[d].numLiveTriangles > 0) {
-                        return d;
-                    }
-                }
-
-                while (cursor < maximumIndexPlusOne) {
-                    if (vertices[cursor].numLiveTriangles > 0) {
-                        ++cursor;
-                        return cursor - 1;
-                    }
-                    ++cursor;
-                }
-                return -1;
-            }
-
-            function getNextVertex(indices, cacheSize, oneRing, vertices, s, deadEnd, maximumIndexPlusOne) {
-                var n = -1;
-                var p;
-                var m = -1;
-                var itOneRing = 0;
-                while (itOneRing < oneRing.length) {
-                    var index = oneRing[itOneRing];
-                    if (vertices[index].numLiveTriangles) {
-                        p = 0;
-                        if ((s - vertices[index].timeStamp + (2 * vertices[index].numLiveTriangles)) <= cacheSize) {
-                            p = s - vertices[index].timeStamp;
-                        }
-                        if ((p > m) || (m === -1)) {
-                            m = p;
-                            n = index;
-                        }
-                    }
-                    ++itOneRing;
-                }
-                if (n === -1) {
-                    return skipDeadEnd(vertices, deadEnd, indices, maximumIndexPlusOne);
-                }
-                return n;
-            }
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(indices)) {
-                throw new Check.DeveloperError('indices is required.');
-            }
-            //>>includeEnd('debug');
-
-            var numIndices = indices.length;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (numIndices < 3 || numIndices % 3 !== 0) {
-                throw new Check.DeveloperError('indices length must be a multiple of three.');
-            }
-            if (maximumIndex <= 0) {
-                throw new Check.DeveloperError('maximumIndex must be greater than zero.');
-            }
-            if (cacheSize < 3) {
-                throw new Check.DeveloperError('cacheSize must be greater than two.');
-            }
-            //>>includeEnd('debug');
-
-            // Determine maximum index
-            var maximumIndexPlusOne = 0;
-            var currentIndex = 0;
-            var intoIndices = indices[currentIndex];
-            var endIndex = numIndices;
-            if (when.defined(maximumIndex)) {
-                maximumIndexPlusOne = maximumIndex + 1;
-            } else {
-                while (currentIndex < endIndex) {
-                    if (intoIndices > maximumIndexPlusOne) {
-                        maximumIndexPlusOne = intoIndices;
-                    }
-                    ++currentIndex;
-                    intoIndices = indices[currentIndex];
-                }
-                if (maximumIndexPlusOne === -1) {
-                    return 0;
-                }
-                ++maximumIndexPlusOne;
-            }
-
-            // Vertices
-            var vertices = [];
-            var i;
-            for (i = 0; i < maximumIndexPlusOne; i++) {
-                vertices[i] = {
-                    numLiveTriangles : 0,
-                    timeStamp : 0,
-                    vertexTriangles : []
-                };
-            }
-            currentIndex = 0;
-            var triangle = 0;
-            while (currentIndex < endIndex) {
-                vertices[indices[currentIndex]].vertexTriangles.push(triangle);
-                ++(vertices[indices[currentIndex]]).numLiveTriangles;
-                vertices[indices[currentIndex + 1]].vertexTriangles.push(triangle);
-                ++(vertices[indices[currentIndex + 1]]).numLiveTriangles;
-                vertices[indices[currentIndex + 2]].vertexTriangles.push(triangle);
-                ++(vertices[indices[currentIndex + 2]]).numLiveTriangles;
-                ++triangle;
-                currentIndex += 3;
-            }
-
-            // Starting index
-            var f = 0;
-
-            // Time Stamp
-            var s = cacheSize + 1;
-            cursor = 1;
-
-            // Process
-            var oneRing = [];
-            var deadEnd = []; //Stack
-            var vertex;
-            var intoVertices;
-            var currentOutputIndex = 0;
-            var outputIndices = [];
-            var numTriangles = numIndices / 3;
-            var triangleEmitted = [];
-            for (i = 0; i < numTriangles; i++) {
-                triangleEmitted[i] = false;
-            }
-            var index;
-            var limit;
-            while (f !== -1) {
-                oneRing = [];
-                intoVertices = vertices[f];
-                limit = intoVertices.vertexTriangles.length;
-                for ( var k = 0; k < limit; ++k) {
-                    triangle = intoVertices.vertexTriangles[k];
-                    if (!triangleEmitted[triangle]) {
-                        triangleEmitted[triangle] = true;
-                        currentIndex = triangle + triangle + triangle;
-                        for ( var j = 0; j < 3; ++j) {
-                            // Set this index as a possible next index
-                            index = indices[currentIndex];
-                            oneRing.push(index);
-                            deadEnd.push(index);
-
-                            // Output index
-                            outputIndices[currentOutputIndex] = index;
-                            ++currentOutputIndex;
-
-                            // Cache processing
-                            vertex = vertices[index];
-                            --vertex.numLiveTriangles;
-                            if ((s - vertex.timeStamp) > cacheSize) {
-                                vertex.timeStamp = s;
-                                ++s;
-                            }
-                            ++currentIndex;
-                        }
-                    }
-                }
-                f = getNextVertex(indices, cacheSize, oneRing, vertices, s, deadEnd, maximumIndexPlusOne);
-            }
-
-            return outputIndices;
-        };
-
-    /**
-     * Content pipeline functions for geometries.
-     *
-     * @exports GeometryPipeline
-     *
-     * @see Geometry
-     */
-    var GeometryPipeline = {};
-
-    function addTriangle(lines, index, i0, i1, i2) {
-        lines[index++] = i0;
-        lines[index++] = i1;
-
-        lines[index++] = i1;
-        lines[index++] = i2;
-
-        lines[index++] = i2;
-        lines[index] = i0;
-    }
-
-    function trianglesToLines(triangles) {
-        var count = triangles.length;
-        var size = (count / 3) * 6;
-        var lines = IndexDatatype.IndexDatatype.createTypedArray(count, size);
-
-        var index = 0;
-        for ( var i = 0; i < count; i += 3, index += 6) {
-            addTriangle(lines, index, triangles[i], triangles[i + 1], triangles[i + 2]);
-        }
-
-        return lines;
-    }
-
-    function triangleStripToLines(triangles) {
-        var count = triangles.length;
-        if (count >= 3) {
-            var size = (count - 2) * 6;
-            var lines = IndexDatatype.IndexDatatype.createTypedArray(count, size);
-
-            addTriangle(lines, 0, triangles[0], triangles[1], triangles[2]);
-            var index = 6;
-
-            for ( var i = 3; i < count; ++i, index += 6) {
-                addTriangle(lines, index, triangles[i - 1], triangles[i], triangles[i - 2]);
-            }
-
-            return lines;
-        }
-
-        return new Uint16Array();
-    }
-
-    function triangleFanToLines(triangles) {
-        if (triangles.length > 0) {
-            var count = triangles.length - 1;
-            var size = (count - 1) * 6;
-            var lines = IndexDatatype.IndexDatatype.createTypedArray(count, size);
-
-            var base = triangles[0];
-            var index = 0;
-            for ( var i = 1; i < count; ++i, index += 6) {
-                addTriangle(lines, index, base, triangles[i], triangles[i + 1]);
-            }
-
-            return lines;
-        }
-
-        return new Uint16Array();
-    }
-
-    /**
-     * Converts a geometry's triangle indices to line indices.  If the geometry has an <code>indices</code>
-     * and its <code>primitiveType</code> is <code>TRIANGLES</code>, <code>TRIANGLE_STRIP</code>,
-     * <code>TRIANGLE_FAN</code>, it is converted to <code>LINES</code>; otherwise, the geometry is not changed.
-     * <p>
-     * This is commonly used to create a wireframe geometry for visual debugging.
-     * </p>
-     *
-     * @param {Geometry} geometry The geometry to modify.
-     * @returns {Geometry} The modified <code>geometry</code> argument, with its triangle indices converted to lines.
-     *
-     * @exception {DeveloperError} geometry.primitiveType must be TRIANGLES, TRIANGLE_STRIP, or TRIANGLE_FAN.
-     *
-     * @example
-     * geometry = Cesium.GeometryPipeline.toWireframe(geometry);
-     */
-    GeometryPipeline.toWireframe = function(geometry) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        //>>includeEnd('debug');
-
-        var indices = geometry.indices;
-        if (when.defined(indices)) {
-            switch (geometry.primitiveType) {
-                case PrimitiveType.PrimitiveType.TRIANGLES:
-                    geometry.indices = trianglesToLines(indices);
-                    break;
-                case PrimitiveType.PrimitiveType.TRIANGLE_STRIP:
-                    geometry.indices = triangleStripToLines(indices);
-                    break;
-                case PrimitiveType.PrimitiveType.TRIANGLE_FAN:
-                    geometry.indices = triangleFanToLines(indices);
-                    break;
-                //>>includeStart('debug', pragmas.debug);
-                default:
-                    throw new Check.DeveloperError('geometry.primitiveType must be TRIANGLES, TRIANGLE_STRIP, or TRIANGLE_FAN.');
-                //>>includeEnd('debug');
-            }
-
-            geometry.primitiveType = PrimitiveType.PrimitiveType.LINES;
-        }
-
-        return geometry;
-    };
-
-    /**
-     * Creates a new {@link Geometry} with <code>LINES</code> representing the provided
-     * attribute (<code>attributeName</code>) for the provided geometry.  This is used to
-     * visualize vector attributes like normals, tangents, and bitangents.
-     *
-     * @param {Geometry} geometry The <code>Geometry</code> instance with the attribute.
-     * @param {String} [attributeName='normal'] The name of the attribute.
-     * @param {Number} [length=10000.0] The length of each line segment in meters.  This can be negative to point the vector in the opposite direction.
-     * @returns {Geometry} A new <code>Geometry</code> instance with line segments for the vector.
-     *
-     * @exception {DeveloperError} geometry.attributes must have an attribute with the same name as the attributeName parameter.
-     *
-     * @example
-     * var geometry = Cesium.GeometryPipeline.createLineSegmentsForVectors(instance.geometry, 'bitangent', 100000.0);
-     */
-    GeometryPipeline.createLineSegmentsForVectors = function(geometry, attributeName, length) {
-        attributeName = when.defaultValue(attributeName, 'normal');
-
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        if (!when.defined(geometry.attributes.position)) {
-            throw new Check.DeveloperError('geometry.attributes.position is required.');
-        }
-        if (!when.defined(geometry.attributes[attributeName])) {
-            throw new Check.DeveloperError('geometry.attributes must have an attribute with the same name as the attributeName parameter, ' + attributeName + '.');
-        }
-        //>>includeEnd('debug');
-
-        length = when.defaultValue(length, 10000.0);
-
-        var positions = geometry.attributes.position.values;
-        var vectors = geometry.attributes[attributeName].values;
-        var positionsLength = positions.length;
-
-        var newPositions = new Float64Array(2 * positionsLength);
-
-        var j = 0;
-        for (var i = 0; i < positionsLength; i += 3) {
-            newPositions[j++] = positions[i];
-            newPositions[j++] = positions[i + 1];
-            newPositions[j++] = positions[i + 2];
-
-            newPositions[j++] = positions[i] + (vectors[i] * length);
-            newPositions[j++] = positions[i + 1] + (vectors[i + 1] * length);
-            newPositions[j++] = positions[i + 2] + (vectors[i + 2] * length);
-        }
-
-        var newBoundingSphere;
-        var bs = geometry.boundingSphere;
-        if (when.defined(bs)) {
-            newBoundingSphere = new BoundingSphere.BoundingSphere(bs.center, bs.radius + length);
-        }
-
-        return new GeometryAttribute.Geometry({
-            attributes : {
-                position : new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : newPositions
-                })
-            },
-            primitiveType : PrimitiveType.PrimitiveType.LINES,
-            boundingSphere : newBoundingSphere
-        });
-    };
-
-    /**
-     * Creates an object that maps attribute names to unique locations (indices)
-     * for matching vertex attributes and shader programs.
-     *
-     * @param {Geometry} geometry The geometry, which is not modified, to create the object for.
-     * @returns {Object} An object with attribute name / index pairs.
-     *
-     * @example
-     * var attributeLocations = Cesium.GeometryPipeline.createAttributeLocations(geometry);
-     * // Example output
-     * // {
-     * //   'position' : 0,
-     * //   'normal' : 1
-     * // }
-     */
-    GeometryPipeline.createAttributeLocations = function(geometry) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        //>>includeEnd('debug')
-
-        // There can be a WebGL performance hit when attribute 0 is disabled, so
-        // assign attribute locations to well-known attributes.
-        var semantics = [
-            'position',
-            'positionHigh',
-            'positionLow',
-
-            // From VertexFormat.position - after 2D projection and high-precision encoding
-            'position3DHigh',
-            'position3DLow',
-            'position2DHigh',
-            'position2DLow',
-
-            // From Primitive
-            'pickColor',
-
-            // From VertexFormat
-            'normal',
-            'st',
-            'tangent',
-            'bitangent',
-
-            // For shadow volumes
-            'extrudeDirection',
-
-            // From compressing texture coordinates and normals
-            'compressedAttributes'
-        ];
-
-        var attributes = geometry.attributes;
-        var indices = {};
-        var j = 0;
-        var i;
-        var len = semantics.length;
-
-        // Attribute locations for well-known attributes
-        for (i = 0; i < len; ++i) {
-            var semantic = semantics[i];
-
-            if (when.defined(attributes[semantic])) {
-                indices[semantic] = j++;
-            }
-        }
-
-        // Locations for custom attributes
-        for (var name in attributes) {
-            if (attributes.hasOwnProperty(name) && (!when.defined(indices[name]))) {
-                indices[name] = j++;
-            }
-        }
-
-        return indices;
-    };
-
-    /**
-     * Reorders a geometry's attributes and <code>indices</code> to achieve better performance from the GPU's pre-vertex-shader cache.
-     *
-     * @param {Geometry} geometry The geometry to modify.
-     * @returns {Geometry} The modified <code>geometry</code> argument, with its attributes and indices reordered for the GPU's pre-vertex-shader cache.
-     *
-     * @exception {DeveloperError} Each attribute array in geometry.attributes must have the same number of attributes.
-     *
-     *
-     * @example
-     * geometry = Cesium.GeometryPipeline.reorderForPreVertexCache(geometry);
-     *
-     * @see GeometryPipeline.reorderForPostVertexCache
-     */
-    GeometryPipeline.reorderForPreVertexCache = function(geometry) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        //>>includeEnd('debug');
-
-        var numVertices = GeometryAttribute.Geometry.computeNumberOfVertices(geometry);
-
-        var indices = geometry.indices;
-        if (when.defined(indices)) {
-            var indexCrossReferenceOldToNew = new Int32Array(numVertices);
-            for ( var i = 0; i < numVertices; i++) {
-                indexCrossReferenceOldToNew[i] = -1;
-            }
-
-            // Construct cross reference and reorder indices
-            var indicesIn = indices;
-            var numIndices = indicesIn.length;
-            var indicesOut = IndexDatatype.IndexDatatype.createTypedArray(numVertices, numIndices);
-
-            var intoIndicesIn = 0;
-            var intoIndicesOut = 0;
-            var nextIndex = 0;
-            var tempIndex;
-            while (intoIndicesIn < numIndices) {
-                tempIndex = indexCrossReferenceOldToNew[indicesIn[intoIndicesIn]];
-                if (tempIndex !== -1) {
-                    indicesOut[intoIndicesOut] = tempIndex;
-                } else {
-                    tempIndex = indicesIn[intoIndicesIn];
-                    indexCrossReferenceOldToNew[tempIndex] = nextIndex;
-
-                    indicesOut[intoIndicesOut] = nextIndex;
-                    ++nextIndex;
-                }
-                ++intoIndicesIn;
-                ++intoIndicesOut;
-            }
-            geometry.indices = indicesOut;
-
-            // Reorder attributes
-            var attributes = geometry.attributes;
-            for ( var property in attributes) {
-                if (attributes.hasOwnProperty(property) &&
-                        when.defined(attributes[property]) &&
-                        when.defined(attributes[property].values)) {
-
-                    var attribute = attributes[property];
-                    var elementsIn = attribute.values;
-                    var intoElementsIn = 0;
-                    var numComponents = attribute.componentsPerAttribute;
-                    var elementsOut = ComponentDatatype.ComponentDatatype.createTypedArray(attribute.componentDatatype, nextIndex * numComponents);
-                    while (intoElementsIn < numVertices) {
-                        var temp = indexCrossReferenceOldToNew[intoElementsIn];
-                        if (temp !== -1) {
-                            for (var j = 0; j < numComponents; j++) {
-                                elementsOut[numComponents * temp + j] = elementsIn[numComponents * intoElementsIn + j];
-                            }
-                        }
-                        ++intoElementsIn;
-                    }
-                    attribute.values = elementsOut;
-                }
-            }
-        }
-
-        return geometry;
-    };
-
-    /**
-     * Reorders a geometry's <code>indices</code> to achieve better performance from the GPU's
-     * post vertex-shader cache by using the Tipsify algorithm.  If the geometry <code>primitiveType</code>
-     * is not <code>TRIANGLES</code> or the geometry does not have an <code>indices</code>, this function has no effect.
-     *
-     * @param {Geometry} geometry The geometry to modify.
-     * @param {Number} [cacheCapacity=24] The number of vertices that can be held in the GPU's vertex cache.
-     * @returns {Geometry} The modified <code>geometry</code> argument, with its indices reordered for the post-vertex-shader cache.
-     *
-     * @exception {DeveloperError} cacheCapacity must be greater than two.
-     *
-     *
-     * @example
-     * geometry = Cesium.GeometryPipeline.reorderForPostVertexCache(geometry);
-     *
-     * @see GeometryPipeline.reorderForPreVertexCache
-     * @see {@link http://gfx.cs.princ0eton.edu/pubs/Sander_2007_%3ETR/tipsy.pdf|Fast Triangle Reordering for Vertex Locality and Reduced Overdraw}
-     * by Sander, Nehab, and Barczak
-     */
-    GeometryPipeline.reorderForPostVertexCache = function(geometry, cacheCapacity) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        //>>includeEnd('debug');
-
-        var indices = geometry.indices;
-        if ((geometry.primitiveType === PrimitiveType.PrimitiveType.TRIANGLES) && (when.defined(indices))) {
-            var numIndices = indices.length;
-            var maximumIndex = 0;
-            for ( var j = 0; j < numIndices; j++) {
-                if (indices[j] > maximumIndex) {
-                    maximumIndex = indices[j];
-                }
-            }
-            geometry.indices = Tipsify.tipsify({
-                indices : indices,
-                maximumIndex : maximumIndex,
-                cacheSize : cacheCapacity
-            });
-        }
-
-        return geometry;
-    };
-
-    function copyAttributesDescriptions(attributes) {
-        var newAttributes = {};
-
-        for ( var attribute in attributes) {
-            if (attributes.hasOwnProperty(attribute) &&
-                    when.defined(attributes[attribute]) &&
-                    when.defined(attributes[attribute].values)) {
-
-                var attr = attributes[attribute];
-                newAttributes[attribute] = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : attr.componentDatatype,
-                    componentsPerAttribute : attr.componentsPerAttribute,
-                    normalize : attr.normalize,
-                    values : []
-                });
-            }
-        }
-
-        return newAttributes;
-    }
-
-    function copyVertex(destinationAttributes, sourceAttributes, index) {
-        for ( var attribute in sourceAttributes) {
-            if (sourceAttributes.hasOwnProperty(attribute) &&
-                    when.defined(sourceAttributes[attribute]) &&
-                    when.defined(sourceAttributes[attribute].values)) {
-
-                var attr = sourceAttributes[attribute];
-
-                for ( var k = 0; k < attr.componentsPerAttribute; ++k) {
-                    destinationAttributes[attribute].values.push(attr.values[(index * attr.componentsPerAttribute) + k]);
-                }
-            }
-        }
-    }
-
-    /**
-     * Splits a geometry into multiple geometries, if necessary, to ensure that indices in the
-     * <code>indices</code> fit into unsigned shorts.  This is used to meet the WebGL requirements
-     * when unsigned int indices are not supported.
-     * <p>
-     * If the geometry does not have any <code>indices</code>, this function has no effect.
-     * </p>
-     *
-     * @param {Geometry} geometry The geometry to be split into multiple geometries.
-     * @returns {Geometry[]} An array of geometries, each with indices that fit into unsigned shorts.
-     *
-     * @exception {DeveloperError} geometry.primitiveType must equal to PrimitiveType.TRIANGLES, PrimitiveType.LINES, or PrimitiveType.POINTS
-     * @exception {DeveloperError} All geometry attribute lists must have the same number of attributes.
-     *
-     * @example
-     * var geometries = Cesium.GeometryPipeline.fitToUnsignedShortIndices(geometry);
-     */
-    GeometryPipeline.fitToUnsignedShortIndices = function(geometry) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        if ((when.defined(geometry.indices)) &&
-            ((geometry.primitiveType !== PrimitiveType.PrimitiveType.TRIANGLES) &&
-             (geometry.primitiveType !== PrimitiveType.PrimitiveType.LINES) &&
-             (geometry.primitiveType !== PrimitiveType.PrimitiveType.POINTS))) {
-            throw new Check.DeveloperError('geometry.primitiveType must equal to PrimitiveType.TRIANGLES, PrimitiveType.LINES, or PrimitiveType.POINTS.');
-        }
-        //>>includeEnd('debug');
-
-        var geometries = [];
-
-        // If there's an index list and more than 64K attributes, it is possible that
-        // some indices are outside the range of unsigned short [0, 64K - 1]
-        var numberOfVertices = GeometryAttribute.Geometry.computeNumberOfVertices(geometry);
-        if (when.defined(geometry.indices) && (numberOfVertices >= _Math.CesiumMath.SIXTY_FOUR_KILOBYTES)) {
-            var oldToNewIndex = [];
-            var newIndices = [];
-            var currentIndex = 0;
-            var newAttributes = copyAttributesDescriptions(geometry.attributes);
-
-            var originalIndices = geometry.indices;
-            var numberOfIndices = originalIndices.length;
-
-            var indicesPerPrimitive;
-
-            if (geometry.primitiveType === PrimitiveType.PrimitiveType.TRIANGLES) {
-                indicesPerPrimitive = 3;
-            } else if (geometry.primitiveType === PrimitiveType.PrimitiveType.LINES) {
-                indicesPerPrimitive = 2;
-            } else if (geometry.primitiveType === PrimitiveType.PrimitiveType.POINTS) {
-                indicesPerPrimitive = 1;
-            }
-
-            for ( var j = 0; j < numberOfIndices; j += indicesPerPrimitive) {
-                for (var k = 0; k < indicesPerPrimitive; ++k) {
-                    var x = originalIndices[j + k];
-                    var i = oldToNewIndex[x];
-                    if (!when.defined(i)) {
-                        i = currentIndex++;
-                        oldToNewIndex[x] = i;
-                        copyVertex(newAttributes, geometry.attributes, x);
-                    }
-                    newIndices.push(i);
-                }
-
-                if (currentIndex + indicesPerPrimitive >= _Math.CesiumMath.SIXTY_FOUR_KILOBYTES) {
-                    geometries.push(new GeometryAttribute.Geometry({
-                        attributes : newAttributes,
-                        indices : newIndices,
-                        primitiveType : geometry.primitiveType,
-                        boundingSphere : geometry.boundingSphere,
-                        boundingSphereCV : geometry.boundingSphereCV
-                    }));
-
-                    // Reset for next vertex-array
-                    oldToNewIndex = [];
-                    newIndices = [];
-                    currentIndex = 0;
-                    newAttributes = copyAttributesDescriptions(geometry.attributes);
-                }
-            }
-
-            if (newIndices.length !== 0) {
-                geometries.push(new GeometryAttribute.Geometry({
-                    attributes : newAttributes,
-                    indices : newIndices,
-                    primitiveType : geometry.primitiveType,
-                    boundingSphere : geometry.boundingSphere,
-                    boundingSphereCV : geometry.boundingSphereCV
-                }));
-            }
-        } else {
-            // No need to split into multiple geometries
-            geometries.push(geometry);
-        }
-
-        return geometries;
-    };
-
-    var scratchProjectTo2DCartesian3 = new Cartesian2.Cartesian3();
-    var scratchProjectTo2DCartographic = new Cartesian2.Cartographic();
-
-    /**
-     * Projects a geometry's 3D <code>position</code> attribute to 2D, replacing the <code>position</code>
-     * attribute with separate <code>position3D</code> and <code>position2D</code> attributes.
-     * <p>
-     * If the geometry does not have a <code>position</code>, this function has no effect.
-     * </p>
-     *
-     * @param {Geometry} geometry The geometry to modify.
-     * @param {String} attributeName The name of the attribute.
-     * @param {String} attributeName3D The name of the attribute in 3D.
-     * @param {String} attributeName2D The name of the attribute in 2D.
-     * @param {Object} [projection=new GeographicProjection()] The projection to use.
-     * @returns {Geometry} The modified <code>geometry</code> argument with <code>position3D</code> and <code>position2D</code> attributes.
-     *
-     * @exception {DeveloperError} geometry must have attribute matching the attributeName argument.
-     * @exception {DeveloperError} The attribute componentDatatype must be ComponentDatatype.DOUBLE.
-     * @exception {DeveloperError} Could not project a point to 2D.
-     *
-     * @example
-     * geometry = Cesium.GeometryPipeline.projectTo2D(geometry, 'position', 'position3D', 'position2D');
-     */
-    GeometryPipeline.projectTo2D = function(geometry, attributeName, attributeName3D, attributeName2D, projection) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        if (!when.defined(attributeName)) {
-            throw new Check.DeveloperError('attributeName is required.');
-        }
-        if (!when.defined(attributeName3D)) {
-            throw new Check.DeveloperError('attributeName3D is required.');
-        }
-        if (!when.defined(attributeName2D)) {
-            throw new Check.DeveloperError('attributeName2D is required.');
-        }
-        if (!when.defined(geometry.attributes[attributeName])) {
-            throw new Check.DeveloperError('geometry must have attribute matching the attributeName argument: ' + attributeName + '.');
-        }
-        if (geometry.attributes[attributeName].componentDatatype !== ComponentDatatype.ComponentDatatype.DOUBLE) {
-            throw new Check.DeveloperError('The attribute componentDatatype must be ComponentDatatype.DOUBLE.');
-        }
-        //>>includeEnd('debug');
-
-        var attribute = geometry.attributes[attributeName];
-        projection = (when.defined(projection)) ? projection : new BoundingSphere.GeographicProjection();
-        var ellipsoid = projection.ellipsoid;
-
-        // Project original values to 2D.
-        var values3D = attribute.values;
-        var projectedValues = new Float64Array(values3D.length);
-        var index = 0;
-
-        for ( var i = 0; i < values3D.length; i += 3) {
-            var value = Cartesian2.Cartesian3.fromArray(values3D, i, scratchProjectTo2DCartesian3);
-
-            var lonLat = ellipsoid.cartesianToCartographic(value, scratchProjectTo2DCartographic);
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(lonLat)) {
-                throw new Check.DeveloperError('Could not project point (' + value.x + ', ' + value.y + ', ' + value.z + ') to 2D.');
-            }
-            //>>includeEnd('debug');
-
-            var projectedLonLat = projection.project(lonLat, scratchProjectTo2DCartesian3);
-
-            projectedValues[index++] = projectedLonLat.x;
-            projectedValues[index++] = projectedLonLat.y;
-            projectedValues[index++] = projectedLonLat.z;
-        }
-
-        // Rename original cartesians to WGS84 cartesians.
-        geometry.attributes[attributeName3D] = attribute;
-
-        // Replace original cartesians with 2D projected cartesians
-        geometry.attributes[attributeName2D] = new GeometryAttribute.GeometryAttribute({
-            componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-            componentsPerAttribute : 3,
-            values : projectedValues
-        });
-        delete geometry.attributes[attributeName];
-
-        return geometry;
-    };
-
-    var encodedResult = {
-        high : 0.0,
-        low : 0.0
-    };
-
-    /**
-     * Encodes floating-point geometry attribute values as two separate attributes to improve
-     * rendering precision.
-     * <p>
-     * This is commonly used to create high-precision position vertex attributes.
-     * </p>
-     *
-     * @param {Geometry} geometry The geometry to modify.
-     * @param {String} attributeName The name of the attribute.
-     * @param {String} attributeHighName The name of the attribute for the encoded high bits.
-     * @param {String} attributeLowName The name of the attribute for the encoded low bits.
-     * @returns {Geometry} The modified <code>geometry</code> argument, with its encoded attribute.
-     *
-     * @exception {DeveloperError} geometry must have attribute matching the attributeName argument.
-     * @exception {DeveloperError} The attribute componentDatatype must be ComponentDatatype.DOUBLE.
-     *
-     * @example
-     * geometry = Cesium.GeometryPipeline.encodeAttribute(geometry, 'position3D', 'position3DHigh', 'position3DLow');
-     */
-    GeometryPipeline.encodeAttribute = function(geometry, attributeName, attributeHighName, attributeLowName) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        if (!when.defined(attributeName)) {
-            throw new Check.DeveloperError('attributeName is required.');
-        }
-        if (!when.defined(attributeHighName)) {
-            throw new Check.DeveloperError('attributeHighName is required.');
-        }
-        if (!when.defined(attributeLowName)) {
-            throw new Check.DeveloperError('attributeLowName is required.');
-        }
-        if (!when.defined(geometry.attributes[attributeName])) {
-            throw new Check.DeveloperError('geometry must have attribute matching the attributeName argument: ' + attributeName + '.');
-        }
-        if (geometry.attributes[attributeName].componentDatatype !== ComponentDatatype.ComponentDatatype.DOUBLE) {
-            throw new Check.DeveloperError('The attribute componentDatatype must be ComponentDatatype.DOUBLE.');
-        }
-        //>>includeEnd('debug');
-
-        var attribute = geometry.attributes[attributeName];
-        var values = attribute.values;
-        var length = values.length;
-        var highValues = new Float32Array(length);
-        var lowValues = new Float32Array(length);
-
-        for (var i = 0; i < length; ++i) {
-            EncodedCartesian3.EncodedCartesian3.encode(values[i], encodedResult);
-            highValues[i] = encodedResult.high;
-            lowValues[i] = encodedResult.low;
-        }
-
-        var componentsPerAttribute = attribute.componentsPerAttribute;
-
-        geometry.attributes[attributeHighName] = new GeometryAttribute.GeometryAttribute({
-            componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-            componentsPerAttribute : componentsPerAttribute,
-            values : highValues
-        });
-        geometry.attributes[attributeLowName] = new GeometryAttribute.GeometryAttribute({
-            componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-            componentsPerAttribute : componentsPerAttribute,
-            values : lowValues
-        });
-        delete geometry.attributes[attributeName];
-
-        return geometry;
-    };
-
-    var scratchCartesian3$1 = new Cartesian2.Cartesian3();
-
-    function transformPoint(matrix, attribute) {
-        if (when.defined(attribute)) {
-            var values = attribute.values;
-            var length = values.length;
-            for (var i = 0; i < length; i += 3) {
-                Cartesian2.Cartesian3.unpack(values, i, scratchCartesian3$1);
-                BoundingSphere.Matrix4.multiplyByPoint(matrix, scratchCartesian3$1, scratchCartesian3$1);
-                Cartesian2.Cartesian3.pack(scratchCartesian3$1, values, i);
-            }
-        }
-    }
-
-    function transformVector(matrix, attribute) {
-        if (when.defined(attribute)) {
-            var values = attribute.values;
-            var length = values.length;
-            for (var i = 0; i < length; i += 3) {
-                Cartesian2.Cartesian3.unpack(values, i, scratchCartesian3$1);
-                BoundingSphere.Matrix3.multiplyByVector(matrix, scratchCartesian3$1, scratchCartesian3$1);
-                scratchCartesian3$1 = Cartesian2.Cartesian3.normalize(scratchCartesian3$1, scratchCartesian3$1);
-                Cartesian2.Cartesian3.pack(scratchCartesian3$1, values, i);
-            }
-        }
-    }
-
-    var inverseTranspose = new BoundingSphere.Matrix4();
-    var normalMatrix = new BoundingSphere.Matrix3();
-
-    /**
-     * Transforms a geometry instance to world coordinates.  This changes
-     * the instance's <code>modelMatrix</code> to {@link Matrix4.IDENTITY} and transforms the
-     * following attributes if they are present: <code>position</code>, <code>normal</code>,
-     * <code>tangent</code>, and <code>bitangent</code>.
-     *
-     * @param {GeometryInstance} instance The geometry instance to modify.
-     * @returns {GeometryInstance} The modified <code>instance</code> argument, with its attributes transforms to world coordinates.
-     *
-     * @example
-     * Cesium.GeometryPipeline.transformToWorldCoordinates(instance);
-     */
-    GeometryPipeline.transformToWorldCoordinates = function(instance) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(instance)) {
-            throw new Check.DeveloperError('instance is required.');
-        }
-        //>>includeEnd('debug');
-
-        var modelMatrix = instance.modelMatrix;
-
-        if (BoundingSphere.Matrix4.equals(modelMatrix, BoundingSphere.Matrix4.IDENTITY)) {
-            // Already in world coordinates
-            return instance;
-        }
-
-        var attributes = instance.geometry.attributes;
-
-        // Transform attributes in known vertex formats
-        transformPoint(modelMatrix, attributes.position);
-        transformPoint(modelMatrix, attributes.prevPosition);
-        transformPoint(modelMatrix, attributes.nextPosition);
-
-        if ((when.defined(attributes.normal)) ||
-            (when.defined(attributes.tangent)) ||
-            (when.defined(attributes.bitangent))) {
-
-            BoundingSphere.Matrix4.inverse(modelMatrix, inverseTranspose);
-            BoundingSphere.Matrix4.transpose(inverseTranspose, inverseTranspose);
-            BoundingSphere.Matrix4.getRotation(inverseTranspose, normalMatrix);
-
-            transformVector(normalMatrix, attributes.normal);
-            transformVector(normalMatrix, attributes.tangent);
-            transformVector(normalMatrix, attributes.bitangent);
-        }
-
-        var boundingSphere = instance.geometry.boundingSphere;
-        if (when.defined(boundingSphere)) {
-            instance.geometry.boundingSphere = BoundingSphere.BoundingSphere.transform(boundingSphere, modelMatrix, boundingSphere);
-        }
-
-        instance.modelMatrix = BoundingSphere.Matrix4.clone(BoundingSphere.Matrix4.IDENTITY);
-
-        return instance;
-    };
-
-    function findAttributesInAllGeometries(instances, propertyName) {
-        var length = instances.length;
-
-        var attributesInAllGeometries = {};
-
-        var attributes0 = instances[0][propertyName].attributes;
-        var name;
-
-        for (name in attributes0) {
-            if (attributes0.hasOwnProperty(name) &&
-                    when.defined(attributes0[name]) &&
-                    when.defined(attributes0[name].values)) {
-
-                var attribute = attributes0[name];
-                var numberOfComponents = attribute.values.length;
-                var inAllGeometries = true;
-
-                // Does this same attribute exist in all geometries?
-                for (var i = 1; i < length; ++i) {
-                    var otherAttribute = instances[i][propertyName].attributes[name];
-
-                    if ((!when.defined(otherAttribute)) ||
-                        (attribute.componentDatatype !== otherAttribute.componentDatatype) ||
-                        (attribute.componentsPerAttribute !== otherAttribute.componentsPerAttribute) ||
-                        (attribute.normalize !== otherAttribute.normalize)) {
-
-                        inAllGeometries = false;
-                        break;
-                    }
-
-                    numberOfComponents += otherAttribute.values.length;
-                }
-
-                if (inAllGeometries) {
-                    attributesInAllGeometries[name] = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : attribute.componentDatatype,
-                        componentsPerAttribute : attribute.componentsPerAttribute,
-                        normalize : attribute.normalize,
-                        values : ComponentDatatype.ComponentDatatype.createTypedArray(attribute.componentDatatype, numberOfComponents)
-                    });
-                }
-            }
-        }
-
-        return attributesInAllGeometries;
-    }
-
-    var tempScratch = new Cartesian2.Cartesian3();
-
-    function combineGeometries(instances, propertyName) {
-        var length = instances.length;
-
-        var name;
-        var i;
-        var j;
-        var k;
-
-        var m = instances[0].modelMatrix;
-        var haveIndices = (when.defined(instances[0][propertyName].indices));
-        var primitiveType = instances[0][propertyName].primitiveType;
-
-        //>>includeStart('debug', pragmas.debug);
-        for (i = 1; i < length; ++i) {
-            if (!BoundingSphere.Matrix4.equals(instances[i].modelMatrix, m)) {
-                throw new Check.DeveloperError('All instances must have the same modelMatrix.');
-            }
-            if ((when.defined(instances[i][propertyName].indices)) !== haveIndices) {
-                throw new Check.DeveloperError('All instance geometries must have an indices or not have one.');
-            }
-            if (instances[i][propertyName].primitiveType !== primitiveType) {
-                throw new Check.DeveloperError('All instance geometries must have the same primitiveType.');
-            }
-        }
-        //>>includeEnd('debug');
-
-        // Find subset of attributes in all geometries
-        var attributes = findAttributesInAllGeometries(instances, propertyName);
-        var values;
-        var sourceValues;
-        var sourceValuesLength;
-
-        // Combine attributes from each geometry into a single typed array
-        for (name in attributes) {
-            if (attributes.hasOwnProperty(name)) {
-                values = attributes[name].values;
-
-                k = 0;
-                for (i = 0; i < length; ++i) {
-                    sourceValues = instances[i][propertyName].attributes[name].values;
-                    sourceValuesLength = sourceValues.length;
-
-                    for (j = 0; j < sourceValuesLength; ++j) {
-                        values[k++] = sourceValues[j];
-                    }
-                }
-            }
-        }
-
-        // Combine index lists
-        var indices;
-
-        if (haveIndices) {
-            var numberOfIndices = 0;
-            for (i = 0; i < length; ++i) {
-                numberOfIndices += instances[i][propertyName].indices.length;
-            }
-
-            var numberOfVertices = GeometryAttribute.Geometry.computeNumberOfVertices(new GeometryAttribute.Geometry({
-                attributes : attributes,
-                primitiveType : PrimitiveType.PrimitiveType.POINTS
-            }));
-            var destIndices = IndexDatatype.IndexDatatype.createTypedArray(numberOfVertices, numberOfIndices);
-
-            var destOffset = 0;
-            var offset = 0;
-
-            for (i = 0; i < length; ++i) {
-                var sourceIndices = instances[i][propertyName].indices;
-                var sourceIndicesLen = sourceIndices.length;
-
-                for (k = 0; k < sourceIndicesLen; ++k) {
-                    destIndices[destOffset++] = offset + sourceIndices[k];
-                }
-
-                offset += GeometryAttribute.Geometry.computeNumberOfVertices(instances[i][propertyName]);
-            }
-
-            indices = destIndices;
-        }
-
-        // Create bounding sphere that includes all instances
-        var center = new Cartesian2.Cartesian3();
-        var radius = 0.0;
-        var bs;
-
-        for (i = 0; i < length; ++i) {
-            bs = instances[i][propertyName].boundingSphere;
-            if (!when.defined(bs)) {
-                // If any geometries have an undefined bounding sphere, then so does the combined geometry
-                center = undefined;
-                break;
-            }
-
-            Cartesian2.Cartesian3.add(bs.center, center, center);
-        }
-
-        if (when.defined(center)) {
-            Cartesian2.Cartesian3.divideByScalar(center, length, center);
-
-            for (i = 0; i < length; ++i) {
-                bs = instances[i][propertyName].boundingSphere;
-                var tempRadius = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.subtract(bs.center, center, tempScratch)) + bs.radius;
-
-                if (tempRadius > radius) {
-                    radius = tempRadius;
-                }
-            }
-        }
-
-        return new GeometryAttribute.Geometry({
-            attributes : attributes,
-            indices : indices,
-            primitiveType : primitiveType,
-            boundingSphere : (when.defined(center)) ? new BoundingSphere.BoundingSphere(center, radius) : undefined
-        });
-    }
-
-    /**
-     * Combines geometry from several {@link GeometryInstance} objects into one geometry.
-     * This concatenates the attributes, concatenates and adjusts the indices, and creates
-     * a bounding sphere encompassing all instances.
-     * <p>
-     * If the instances do not have the same attributes, a subset of attributes common
-     * to all instances is used, and the others are ignored.
-     * </p>
-     * <p>
-     * This is used by {@link Primitive} to efficiently render a large amount of static data.
-     * </p>
-     *
-     * @private
-     *
-     * @param {GeometryInstance[]} [instances] The array of {@link GeometryInstance} objects whose geometry will be combined.
-     * @returns {Geometry} A single geometry created from the provided geometry instances.
-     *
-     * @exception {DeveloperError} All instances must have the same modelMatrix.
-     * @exception {DeveloperError} All instance geometries must have an indices or not have one.
-     * @exception {DeveloperError} All instance geometries must have the same primitiveType.
-     *
-     *
-     * @example
-     * for (var i = 0; i < instances.length; ++i) {
-     *   Cesium.GeometryPipeline.transformToWorldCoordinates(instances[i]);
-     * }
-     * var geometries = Cesium.GeometryPipeline.combineInstances(instances);
-     *
-     * @see GeometryPipeline.transformToWorldCoordinates
-     */
-    GeometryPipeline.combineInstances = function(instances) {
-        //>>includeStart('debug', pragmas.debug);
-        if ((!when.defined(instances)) || (instances.length < 1)) {
-            throw new Check.DeveloperError('instances is required and must have length greater than zero.');
-        }
-        //>>includeEnd('debug');
-
-        var instanceGeometry = [];
-        var instanceSplitGeometry = [];
-        var length = instances.length;
-        for (var i = 0; i < length; ++i) {
-            var instance = instances[i];
-
-            if (when.defined(instance.geometry)) {
-                instanceGeometry.push(instance);
-            } else if (when.defined(instance.westHemisphereGeometry) && when.defined(instance.eastHemisphereGeometry)) {
-                instanceSplitGeometry.push(instance);
-            }
-        }
-
-        var geometries = [];
-        if (instanceGeometry.length > 0) {
-            geometries.push(combineGeometries(instanceGeometry, 'geometry'));
-        }
-
-        if (instanceSplitGeometry.length > 0) {
-            geometries.push(combineGeometries(instanceSplitGeometry, 'westHemisphereGeometry'));
-            geometries.push(combineGeometries(instanceSplitGeometry, 'eastHemisphereGeometry'));
-        }
-
-        return geometries;
-    };
-
-    var normal = new Cartesian2.Cartesian3();
-    var v0 = new Cartesian2.Cartesian3();
-    var v1 = new Cartesian2.Cartesian3();
-    var v2 = new Cartesian2.Cartesian3();
-
-    /**
-     * Computes per-vertex normals for a geometry containing <code>TRIANGLES</code> by averaging the normals of
-     * all triangles incident to the vertex.  The result is a new <code>normal</code> attribute added to the geometry.
-     * This assumes a counter-clockwise winding order.
-     *
-     * @param {Geometry} geometry The geometry to modify.
-     * @returns {Geometry} The modified <code>geometry</code> argument with the computed <code>normal</code> attribute.
-     *
-     * @exception {DeveloperError} geometry.indices length must be greater than 0 and be a multiple of 3.
-     * @exception {DeveloperError} geometry.primitiveType must be {@link PrimitiveType.TRIANGLES}.
-     *
-     * @example
-     * Cesium.GeometryPipeline.computeNormal(geometry);
-     */
-    GeometryPipeline.computeNormal = function(geometry) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        if (!when.defined(geometry.attributes.position) || !when.defined(geometry.attributes.position.values)) {
-            throw new Check.DeveloperError('geometry.attributes.position.values is required.');
-        }
-        if (!when.defined(geometry.indices)) {
-            throw new Check.DeveloperError('geometry.indices is required.');
-        }
-        if (geometry.indices.length < 2 || geometry.indices.length % 3 !== 0) {
-            throw new Check.DeveloperError('geometry.indices length must be greater than 0 and be a multiple of 3.');
-        }
-        if (geometry.primitiveType !== PrimitiveType.PrimitiveType.TRIANGLES) {
-            throw new Check.DeveloperError('geometry.primitiveType must be PrimitiveType.TRIANGLES.');
-        }
-        //>>includeEnd('debug');
-
-        var indices = geometry.indices;
-        var attributes = geometry.attributes;
-        var vertices = attributes.position.values;
-        var numVertices = attributes.position.values.length / 3;
-        var numIndices = indices.length;
-        var normalsPerVertex = new Array(numVertices);
-        var normalsPerTriangle = new Array(numIndices / 3);
-        var normalIndices = new Array(numIndices);
-        var i;
-        for ( i = 0; i < numVertices; i++) {
-            normalsPerVertex[i] = {
-                indexOffset : 0,
-                count : 0,
-                currentCount : 0
-            };
-        }
-
-        var j = 0;
-        for (i = 0; i < numIndices; i += 3) {
-            var i0 = indices[i];
-            var i1 = indices[i + 1];
-            var i2 = indices[i + 2];
-            var i03 = i0 * 3;
-            var i13 = i1 * 3;
-            var i23 = i2 * 3;
-
-            v0.x = vertices[i03];
-            v0.y = vertices[i03 + 1];
-            v0.z = vertices[i03 + 2];
-            v1.x = vertices[i13];
-            v1.y = vertices[i13 + 1];
-            v1.z = vertices[i13 + 2];
-            v2.x = vertices[i23];
-            v2.y = vertices[i23 + 1];
-            v2.z = vertices[i23 + 2];
-
-            normalsPerVertex[i0].count++;
-            normalsPerVertex[i1].count++;
-            normalsPerVertex[i2].count++;
-
-            Cartesian2.Cartesian3.subtract(v1, v0, v1);
-            Cartesian2.Cartesian3.subtract(v2, v0, v2);
-            normalsPerTriangle[j] = Cartesian2.Cartesian3.cross(v1, v2, new Cartesian2.Cartesian3());
-            j++;
-        }
-
-        var indexOffset = 0;
-        for (i = 0; i < numVertices; i++) {
-            normalsPerVertex[i].indexOffset += indexOffset;
-            indexOffset += normalsPerVertex[i].count;
-        }
-
-        j = 0;
-        var vertexNormalData;
-        for (i = 0; i < numIndices; i += 3) {
-            vertexNormalData = normalsPerVertex[indices[i]];
-            var index = vertexNormalData.indexOffset + vertexNormalData.currentCount;
-            normalIndices[index] = j;
-            vertexNormalData.currentCount++;
-
-            vertexNormalData = normalsPerVertex[indices[i + 1]];
-            index = vertexNormalData.indexOffset + vertexNormalData.currentCount;
-            normalIndices[index] = j;
-            vertexNormalData.currentCount++;
-
-            vertexNormalData = normalsPerVertex[indices[i + 2]];
-            index = vertexNormalData.indexOffset + vertexNormalData.currentCount;
-            normalIndices[index] = j;
-            vertexNormalData.currentCount++;
-
-            j++;
-        }
-
-        var normalValues = new Float32Array(numVertices * 3);
-        for (i = 0; i < numVertices; i++) {
-            var i3 = i * 3;
-            vertexNormalData = normalsPerVertex[i];
-            Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, normal);
-            if (vertexNormalData.count > 0) {
-                for (j = 0; j < vertexNormalData.count; j++) {
-                    Cartesian2.Cartesian3.add(normal, normalsPerTriangle[normalIndices[vertexNormalData.indexOffset + j]], normal);
-                }
-
-                // We can run into an issue where a vertex is used with 2 primitives that have opposite winding order.
-                if (Cartesian2.Cartesian3.equalsEpsilon(Cartesian2.Cartesian3.ZERO, normal, _Math.CesiumMath.EPSILON10)) {
-                    Cartesian2.Cartesian3.clone(normalsPerTriangle[normalIndices[vertexNormalData.indexOffset]], normal);
-                }
-            }
-
-            // We end up with a zero vector probably because of a degenerate triangle
-            if (Cartesian2.Cartesian3.equalsEpsilon(Cartesian2.Cartesian3.ZERO, normal, _Math.CesiumMath.EPSILON10)) {
-                // Default to (0,0,1)
-                normal.z = 1.0;
-            }
-
-            Cartesian2.Cartesian3.normalize(normal, normal);
-            normalValues[i3] = normal.x;
-            normalValues[i3 + 1] = normal.y;
-            normalValues[i3 + 2] = normal.z;
-        }
-
-        geometry.attributes.normal = new GeometryAttribute.GeometryAttribute({
-            componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-            componentsPerAttribute : 3,
-            values : normalValues
-        });
-
-        return geometry;
-    };
-
-    var normalScratch = new Cartesian2.Cartesian3();
-    var normalScale = new Cartesian2.Cartesian3();
-    var tScratch = new Cartesian2.Cartesian3();
-
-    /**
-     * Computes per-vertex tangents and bitangents for a geometry containing <code>TRIANGLES</code>.
-     * The result is new <code>tangent</code> and <code>bitangent</code> attributes added to the geometry.
-     * This assumes a counter-clockwise winding order.
-     * <p>
-     * Based on <a href="http://www.terathon.com/code/tangent.html">Computing Tangent Space Basis Vectors
-     * for an Arbitrary Mesh</a> by Eric Lengyel.
-     * </p>
-     *
-     * @param {Geometry} geometry The geometry to modify.
-     * @returns {Geometry} The modified <code>geometry</code> argument with the computed <code>tangent</code> and <code>bitangent</code> attributes.
-     *
-     * @exception {DeveloperError} geometry.indices length must be greater than 0 and be a multiple of 3.
-     * @exception {DeveloperError} geometry.primitiveType must be {@link PrimitiveType.TRIANGLES}.
-     *
-     * @example
-     * Cesium.GeometryPipeline.computeTangentAndBiTangent(geometry);
-     */
-    GeometryPipeline.computeTangentAndBitangent = function(geometry) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        //>>includeEnd('debug');
-
-        var attributes = geometry.attributes;
-        var indices = geometry.indices;
-
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(attributes.position) || !when.defined(attributes.position.values)) {
-            throw new Check.DeveloperError('geometry.attributes.position.values is required.');
-        }
-        if (!when.defined(attributes.normal) || !when.defined(attributes.normal.values)) {
-            throw new Check.DeveloperError('geometry.attributes.normal.values is required.');
-        }
-        if (!when.defined(attributes.st) || !when.defined(attributes.st.values)) {
-            throw new Check.DeveloperError('geometry.attributes.st.values is required.');
-        }
-        if (!when.defined(indices)) {
-            throw new Check.DeveloperError('geometry.indices is required.');
-        }
-        if (indices.length < 2 || indices.length % 3 !== 0) {
-            throw new Check.DeveloperError('geometry.indices length must be greater than 0 and be a multiple of 3.');
-        }
-        if (geometry.primitiveType !== PrimitiveType.PrimitiveType.TRIANGLES) {
-            throw new Check.DeveloperError('geometry.primitiveType must be PrimitiveType.TRIANGLES.');
-        }
-        //>>includeEnd('debug');
-
-        var vertices = geometry.attributes.position.values;
-        var normals = geometry.attributes.normal.values;
-        var st = geometry.attributes.st.values;
-
-        var numVertices = geometry.attributes.position.values.length / 3;
-        var numIndices = indices.length;
-        var tan1 = new Array(numVertices * 3);
-
-        var i;
-        for ( i = 0; i < tan1.length; i++) {
-            tan1[i] = 0;
-        }
-
-        var i03;
-        var i13;
-        var i23;
-        for (i = 0; i < numIndices; i += 3) {
-            var i0 = indices[i];
-            var i1 = indices[i + 1];
-            var i2 = indices[i + 2];
-            i03 = i0 * 3;
-            i13 = i1 * 3;
-            i23 = i2 * 3;
-            var i02 = i0 * 2;
-            var i12 = i1 * 2;
-            var i22 = i2 * 2;
-
-            var ux = vertices[i03];
-            var uy = vertices[i03 + 1];
-            var uz = vertices[i03 + 2];
-
-            var wx = st[i02];
-            var wy = st[i02 + 1];
-            var t1 = st[i12 + 1] - wy;
-            var t2 = st[i22 + 1] - wy;
-
-            var r = 1.0 / ((st[i12] - wx) * t2 - (st[i22] - wx) * t1);
-            var sdirx = (t2 * (vertices[i13] - ux) - t1 * (vertices[i23] - ux)) * r;
-            var sdiry = (t2 * (vertices[i13 + 1] - uy) - t1 * (vertices[i23 + 1] - uy)) * r;
-            var sdirz = (t2 * (vertices[i13 + 2] - uz) - t1 * (vertices[i23 + 2] - uz)) * r;
-
-            tan1[i03] += sdirx;
-            tan1[i03 + 1] += sdiry;
-            tan1[i03 + 2] += sdirz;
-
-            tan1[i13] += sdirx;
-            tan1[i13 + 1] += sdiry;
-            tan1[i13 + 2] += sdirz;
-
-            tan1[i23] += sdirx;
-            tan1[i23 + 1] += sdiry;
-            tan1[i23 + 2] += sdirz;
-        }
-
-        var tangentValues = new Float32Array(numVertices * 3);
-        var bitangentValues = new Float32Array(numVertices * 3);
-
-        for (i = 0; i < numVertices; i++) {
-            i03 = i * 3;
-            i13 = i03 + 1;
-            i23 = i03 + 2;
-
-            var n = Cartesian2.Cartesian3.fromArray(normals, i03, normalScratch);
-            var t = Cartesian2.Cartesian3.fromArray(tan1, i03, tScratch);
-            var scalar = Cartesian2.Cartesian3.dot(n, t);
-            Cartesian2.Cartesian3.multiplyByScalar(n, scalar, normalScale);
-            Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.subtract(t, normalScale, t), t);
-
-            tangentValues[i03] = t.x;
-            tangentValues[i13] = t.y;
-            tangentValues[i23] = t.z;
-
-            Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(n, t, t), t);
-
-            bitangentValues[i03] = t.x;
-            bitangentValues[i13] = t.y;
-            bitangentValues[i23] = t.z;
-        }
-
-        geometry.attributes.tangent = new GeometryAttribute.GeometryAttribute({
-            componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-            componentsPerAttribute : 3,
-            values : tangentValues
-        });
-
-        geometry.attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-            componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-            componentsPerAttribute : 3,
-            values : bitangentValues
-        });
-
-        return geometry;
-    };
-
-    var scratchCartesian2$1 = new Cartesian2.Cartesian2();
-    var toEncode1 = new Cartesian2.Cartesian3();
-    var toEncode2 = new Cartesian2.Cartesian3();
-    var toEncode3 = new Cartesian2.Cartesian3();
-    var encodeResult2 = new Cartesian2.Cartesian2();
-    /**
-     * Compresses and packs geometry normal attribute values to save memory.
-     *
-     * @param {Geometry} geometry The geometry to modify.
-     * @returns {Geometry} The modified <code>geometry</code> argument, with its normals compressed and packed.
-     *
-     * @example
-     * geometry = Cesium.GeometryPipeline.compressVertices(geometry);
-     */
-    GeometryPipeline.compressVertices = function(geometry) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(geometry)) {
-            throw new Check.DeveloperError('geometry is required.');
-        }
-        //>>includeEnd('debug');
-
-        var extrudeAttribute = geometry.attributes.extrudeDirection;
-        var i;
-        var numVertices;
-        if (when.defined(extrudeAttribute)) {
-            //only shadow volumes use extrudeDirection, and shadow volumes use vertexFormat: POSITION_ONLY so we don't need to check other attributes
-            var extrudeDirections = extrudeAttribute.values;
-            numVertices = extrudeDirections.length / 3.0;
-            var compressedDirections = new Float32Array(numVertices * 2);
-
-            var i2 = 0;
-            for (i = 0; i < numVertices; ++i) {
-                Cartesian2.Cartesian3.fromArray(extrudeDirections, i * 3.0, toEncode1);
-                if (Cartesian2.Cartesian3.equals(toEncode1, Cartesian2.Cartesian3.ZERO)) {
-                    i2 += 2;
-                    continue;
-                }
-                encodeResult2 = AttributeCompression.AttributeCompression.octEncodeInRange(toEncode1, 65535, encodeResult2);
-                compressedDirections[i2++] = encodeResult2.x;
-                compressedDirections[i2++] = encodeResult2.y;
-            }
-
-            geometry.attributes.compressedAttributes = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                componentsPerAttribute : 2,
-                values : compressedDirections
-            });
-            delete geometry.attributes.extrudeDirection;
-            return geometry;
-        }
-
-        var normalAttribute = geometry.attributes.normal;
-        var stAttribute = geometry.attributes.st;
-
-        var hasNormal = when.defined(normalAttribute);
-        var hasSt = when.defined(stAttribute);
-        if (!hasNormal && !hasSt) {
-            return geometry;
-        }
-
-        var tangentAttribute = geometry.attributes.tangent;
-        var bitangentAttribute = geometry.attributes.bitangent;
-
-        var hasTangent = when.defined(tangentAttribute);
-        var hasBitangent = when.defined(bitangentAttribute);
-
-        var normals;
-        var st;
-        var tangents;
-        var bitangents;
-
-        if (hasNormal) {
-            normals = normalAttribute.values;
-        }
-        if (hasSt) {
-            st = stAttribute.values;
-        }
-        if (hasTangent) {
-            tangents = tangentAttribute.values;
-        }
-        if (hasBitangent) {
-            bitangents = bitangentAttribute.values;
-        }
-
-        var length = hasNormal ? normals.length : st.length;
-        var numComponents = hasNormal ? 3.0 : 2.0;
-        numVertices = length / numComponents;
-
-        var compressedLength = numVertices;
-        var numCompressedComponents = hasSt && hasNormal ? 2.0 : 1.0;
-        numCompressedComponents += hasTangent || hasBitangent ? 1.0 : 0.0;
-        compressedLength *= numCompressedComponents;
-
-        var compressedAttributes = new Float32Array(compressedLength);
-
-        var normalIndex = 0;
-        for (i = 0; i < numVertices; ++i) {
-            if (hasSt) {
-                Cartesian2.Cartesian2.fromArray(st, i * 2.0, scratchCartesian2$1);
-                compressedAttributes[normalIndex++] = AttributeCompression.AttributeCompression.compressTextureCoordinates(scratchCartesian2$1);
-            }
-
-            var index = i * 3.0;
-            if (hasNormal && when.defined(tangents) && when.defined(bitangents)) {
-                Cartesian2.Cartesian3.fromArray(normals, index, toEncode1);
-                Cartesian2.Cartesian3.fromArray(tangents, index, toEncode2);
-                Cartesian2.Cartesian3.fromArray(bitangents, index, toEncode3);
-
-                AttributeCompression.AttributeCompression.octPack(toEncode1, toEncode2, toEncode3, scratchCartesian2$1);
-                compressedAttributes[normalIndex++] = scratchCartesian2$1.x;
-                compressedAttributes[normalIndex++] = scratchCartesian2$1.y;
-            } else {
-                if (hasNormal) {
-                    Cartesian2.Cartesian3.fromArray(normals, index, toEncode1);
-                    compressedAttributes[normalIndex++] = AttributeCompression.AttributeCompression.octEncodeFloat(toEncode1);
-                }
-
-                if (hasTangent) {
-                    Cartesian2.Cartesian3.fromArray(tangents, index, toEncode1);
-                    compressedAttributes[normalIndex++] = AttributeCompression.AttributeCompression.octEncodeFloat(toEncode1);
-                }
-
-                if (hasBitangent) {
-                    Cartesian2.Cartesian3.fromArray(bitangents, index, toEncode1);
-                    compressedAttributes[normalIndex++] = AttributeCompression.AttributeCompression.octEncodeFloat(toEncode1);
-                }
-            }
-        }
-
-        geometry.attributes.compressedAttributes = new GeometryAttribute.GeometryAttribute({
-            componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-            componentsPerAttribute : numCompressedComponents,
-            values : compressedAttributes
-        });
-
-        if (hasNormal) {
-            delete geometry.attributes.normal;
-        }
-        if (hasSt) {
-            delete geometry.attributes.st;
-        }
-        if (hasBitangent) {
-            delete geometry.attributes.bitangent;
-        }
-        if (hasTangent) {
-            delete geometry.attributes.tangent;
-        }
-
-        return geometry;
-    };
-
-    function indexTriangles(geometry) {
-        if (when.defined(geometry.indices)) {
-            return geometry;
-        }
-        var numberOfVertices = GeometryAttribute.Geometry.computeNumberOfVertices(geometry);
-
-        //>>includeStart('debug', pragmas.debug);
-        if (numberOfVertices < 3) {
-            throw new Check.DeveloperError('The number of vertices must be at least three.');
-        }
-        if (numberOfVertices % 3 !== 0) {
-            throw new Check.DeveloperError('The number of vertices must be a multiple of three.');
-        }
-        //>>includeEnd('debug');
-
-        var indices = IndexDatatype.IndexDatatype.createTypedArray(numberOfVertices, numberOfVertices);
-        for (var i = 0; i < numberOfVertices; ++i) {
-            indices[i] = i;
-        }
-
-        geometry.indices = indices;
-        return geometry;
-    }
-
-    function indexTriangleFan(geometry) {
-        var numberOfVertices = GeometryAttribute.Geometry.computeNumberOfVertices(geometry);
-
-        //>>includeStart('debug', pragmas.debug);
-        if (numberOfVertices < 3) {
-            throw new Check.DeveloperError('The number of vertices must be at least three.');
-        }
-        //>>includeEnd('debug');
-
-        var indices = IndexDatatype.IndexDatatype.createTypedArray(numberOfVertices, (numberOfVertices - 2) * 3);
-        indices[0] = 1;
-        indices[1] = 0;
-        indices[2] = 2;
-
-        var indicesIndex = 3;
-        for (var i = 3; i < numberOfVertices; ++i) {
-            indices[indicesIndex++] = i - 1;
-            indices[indicesIndex++] = 0;
-            indices[indicesIndex++] = i;
-        }
-
-        geometry.indices = indices;
-        geometry.primitiveType = PrimitiveType.PrimitiveType.TRIANGLES;
-        return geometry;
-    }
-
-    function indexTriangleStrip(geometry) {
-        var numberOfVertices = GeometryAttribute.Geometry.computeNumberOfVertices(geometry);
-
-        //>>includeStart('debug', pragmas.debug);
-        if (numberOfVertices < 3) {
-            throw new Check.DeveloperError('The number of vertices must be at least 3.');
-        }
-        //>>includeEnd('debug');
-
-        var indices = IndexDatatype.IndexDatatype.createTypedArray(numberOfVertices, (numberOfVertices - 2) * 3);
-        indices[0] = 0;
-        indices[1] = 1;
-        indices[2] = 2;
-
-        if (numberOfVertices > 3) {
-            indices[3] = 0;
-            indices[4] = 2;
-            indices[5] = 3;
-        }
-
-        var indicesIndex = 6;
-        for (var i = 3; i < numberOfVertices - 1; i += 2) {
-            indices[indicesIndex++] = i;
-            indices[indicesIndex++] = i - 1;
-            indices[indicesIndex++] = i + 1;
-
-            if (i + 2 < numberOfVertices) {
-                indices[indicesIndex++] = i;
-                indices[indicesIndex++] = i + 1;
-                indices[indicesIndex++] = i + 2;
-            }
-        }
-
-        geometry.indices = indices;
-        geometry.primitiveType = PrimitiveType.PrimitiveType.TRIANGLES;
-        return geometry;
-    }
-
-    function indexLines(geometry) {
-        if (when.defined(geometry.indices)) {
-            return geometry;
-        }
-        var numberOfVertices = GeometryAttribute.Geometry.computeNumberOfVertices(geometry);
-
-        //>>includeStart('debug', pragmas.debug);
-        if (numberOfVertices < 2) {
-            throw new Check.DeveloperError('The number of vertices must be at least two.');
-        }
-        if (numberOfVertices % 2 !== 0) {
-            throw new Check.DeveloperError('The number of vertices must be a multiple of 2.');
-        }
-        //>>includeEnd('debug');
-
-        var indices = IndexDatatype.IndexDatatype.createTypedArray(numberOfVertices, numberOfVertices);
-        for (var i = 0; i < numberOfVertices; ++i) {
-            indices[i] = i;
-        }
-
-        geometry.indices = indices;
-        return geometry;
-    }
-
-    function indexLineStrip(geometry) {
-        var numberOfVertices = GeometryAttribute.Geometry.computeNumberOfVertices(geometry);
-
-        //>>includeStart('debug', pragmas.debug);
-        if (numberOfVertices < 2) {
-            throw new Check.DeveloperError('The number of vertices must be at least two.');
-        }
-        //>>includeEnd('debug');
-
-        var indices = IndexDatatype.IndexDatatype.createTypedArray(numberOfVertices, (numberOfVertices - 1) * 2);
-        indices[0] = 0;
-        indices[1] = 1;
-        var indicesIndex = 2;
-        for (var i = 2; i < numberOfVertices; ++i) {
-            indices[indicesIndex++] = i - 1;
-            indices[indicesIndex++] = i;
-        }
-
-        geometry.indices = indices;
-        geometry.primitiveType = PrimitiveType.PrimitiveType.LINES;
-        return geometry;
-    }
-
-    function indexLineLoop(geometry) {
-        var numberOfVertices = GeometryAttribute.Geometry.computeNumberOfVertices(geometry);
-
-        //>>includeStart('debug', pragmas.debug);
-        if (numberOfVertices < 2) {
-            throw new Check.DeveloperError('The number of vertices must be at least two.');
-        }
-        //>>includeEnd('debug');
-
-        var indices = IndexDatatype.IndexDatatype.createTypedArray(numberOfVertices, numberOfVertices * 2);
-
-        indices[0] = 0;
-        indices[1] = 1;
-
-        var indicesIndex = 2;
-        for (var i = 2; i < numberOfVertices; ++i) {
-            indices[indicesIndex++] = i - 1;
-            indices[indicesIndex++] = i;
-        }
-
-        indices[indicesIndex++] = numberOfVertices - 1;
-        indices[indicesIndex] = 0;
-
-        geometry.indices = indices;
-        geometry.primitiveType = PrimitiveType.PrimitiveType.LINES;
-        return geometry;
-    }
-
-    function indexPrimitive(geometry) {
-        switch (geometry.primitiveType) {
-        case PrimitiveType.PrimitiveType.TRIANGLE_FAN:
-            return indexTriangleFan(geometry);
-        case PrimitiveType.PrimitiveType.TRIANGLE_STRIP:
-            return indexTriangleStrip(geometry);
-        case PrimitiveType.PrimitiveType.TRIANGLES:
-            return indexTriangles(geometry);
-        case PrimitiveType.PrimitiveType.LINE_STRIP:
-            return indexLineStrip(geometry);
-        case PrimitiveType.PrimitiveType.LINE_LOOP:
-            return indexLineLoop(geometry);
-        case PrimitiveType.PrimitiveType.LINES:
-            return indexLines(geometry);
-        }
-
-        return geometry;
-    }
-
-    function offsetPointFromXZPlane(p, isBehind) {
-        if (Math.abs(p.y) < _Math.CesiumMath.EPSILON6){
-            if (isBehind) {
-                p.y = -_Math.CesiumMath.EPSILON6;
-            } else {
-                p.y = _Math.CesiumMath.EPSILON6;
-            }
-        }
-    }
-
-    function offsetTriangleFromXZPlane(p0, p1, p2) {
-        if (p0.y !== 0.0 && p1.y !== 0.0 && p2.y !== 0.0) {
-            offsetPointFromXZPlane(p0, p0.y < 0.0);
-            offsetPointFromXZPlane(p1, p1.y < 0.0);
-            offsetPointFromXZPlane(p2, p2.y < 0.0);
-            return;
-        }
-
-        var p0y = Math.abs(p0.y);
-        var p1y = Math.abs(p1.y);
-        var p2y = Math.abs(p2.y);
-
-        var sign;
-        if (p0y > p1y) {
-            if (p0y > p2y) {
-                sign = _Math.CesiumMath.sign(p0.y);
-            } else {
-                sign = _Math.CesiumMath.sign(p2.y);
-            }
-        } else if (p1y > p2y) {
-            sign = _Math.CesiumMath.sign(p1.y);
-        } else {
-            sign = _Math.CesiumMath.sign(p2.y);
-        }
-
-        var isBehind = sign < 0.0;
-        offsetPointFromXZPlane(p0, isBehind);
-        offsetPointFromXZPlane(p1, isBehind);
-        offsetPointFromXZPlane(p2, isBehind);
-    }
-
-    var c3 = new Cartesian2.Cartesian3();
-    function getXZIntersectionOffsetPoints(p, p1, u1, v1) {
-        Cartesian2.Cartesian3.add(p, Cartesian2.Cartesian3.multiplyByScalar(Cartesian2.Cartesian3.subtract(p1, p, c3), p.y/(p.y-p1.y), c3), u1);
-        Cartesian2.Cartesian3.clone(u1, v1);
-        offsetPointFromXZPlane(u1, true);
-        offsetPointFromXZPlane(v1, false);
-    }
-
-    var u1 = new Cartesian2.Cartesian3();
-    var u2 = new Cartesian2.Cartesian3();
-    var q1 = new Cartesian2.Cartesian3();
-    var q2 = new Cartesian2.Cartesian3();
-
-    var splitTriangleResult = {
-        positions : new Array(7),
-        indices : new Array(3 * 3)
-    };
-
-    function splitTriangle(p0, p1, p2) {
-        // In WGS84 coordinates, for a triangle approximately on the
-        // ellipsoid to cross the IDL, first it needs to be on the
-        // negative side of the plane x = 0.
-        if ((p0.x >= 0.0) || (p1.x >= 0.0) || (p2.x >= 0.0)) {
-            return undefined;
-        }
-
-        offsetTriangleFromXZPlane(p0, p1, p2);
-
-        var p0Behind = p0.y < 0.0;
-        var p1Behind = p1.y < 0.0;
-        var p2Behind = p2.y < 0.0;
-
-        var numBehind = 0;
-        numBehind += p0Behind ? 1 : 0;
-        numBehind += p1Behind ? 1 : 0;
-        numBehind += p2Behind ? 1 : 0;
-
-        var indices = splitTriangleResult.indices;
-
-        if (numBehind === 1) {
-            indices[1] = 3;
-            indices[2] = 4;
-            indices[5] = 6;
-            indices[7] = 6;
-            indices[8] = 5;
-
-            if (p0Behind) {
-                getXZIntersectionOffsetPoints(p0, p1, u1, q1);
-                getXZIntersectionOffsetPoints(p0, p2, u2, q2);
-
-                indices[0] = 0;
-                indices[3] = 1;
-                indices[4] = 2;
-                indices[6] = 1;
-            } else if (p1Behind) {
-                getXZIntersectionOffsetPoints(p1, p2, u1, q1);
-                getXZIntersectionOffsetPoints(p1, p0, u2, q2);
-
-                indices[0] = 1;
-                indices[3] = 2;
-                indices[4] = 0;
-                indices[6] = 2;
-            } else if (p2Behind) {
-                getXZIntersectionOffsetPoints(p2, p0, u1, q1);
-                getXZIntersectionOffsetPoints(p2, p1, u2, q2);
-
-                indices[0] = 2;
-                indices[3] = 0;
-                indices[4] = 1;
-                indices[6] = 0;
-            }
-        } else if (numBehind === 2) {
-            indices[2] = 4;
-            indices[4] = 4;
-            indices[5] = 3;
-            indices[7] = 5;
-            indices[8] = 6;
-
-            if (!p0Behind) {
-                getXZIntersectionOffsetPoints(p0, p1, u1, q1);
-                getXZIntersectionOffsetPoints(p0, p2, u2, q2);
-
-                indices[0] = 1;
-                indices[1] = 2;
-                indices[3] = 1;
-                indices[6] = 0;
-            } else if (!p1Behind) {
-                getXZIntersectionOffsetPoints(p1, p2, u1, q1);
-                getXZIntersectionOffsetPoints(p1, p0, u2, q2);
-
-                indices[0] = 2;
-                indices[1] = 0;
-                indices[3] = 2;
-                indices[6] = 1;
-            } else if (!p2Behind) {
-                getXZIntersectionOffsetPoints(p2, p0, u1, q1);
-                getXZIntersectionOffsetPoints(p2, p1, u2, q2);
-
-                indices[0] = 0;
-                indices[1] = 1;
-                indices[3] = 0;
-                indices[6] = 2;
-            }
-        }
-
-        var positions = splitTriangleResult.positions;
-        positions[0] = p0;
-        positions[1] = p1;
-        positions[2] = p2;
-        positions.length = 3;
-
-        if (numBehind === 1 || numBehind === 2) {
-            positions[3] = u1;
-            positions[4] = u2;
-            positions[5] = q1;
-            positions[6] = q2;
-            positions.length = 7;
-        }
-
-        return splitTriangleResult;
-    }
-
-    function updateGeometryAfterSplit(geometry, computeBoundingSphere) {
-        var attributes = geometry.attributes;
-
-        if (attributes.position.values.length === 0) {
-            return undefined;
-        }
-
-        for (var property in attributes) {
-            if (attributes.hasOwnProperty(property) &&
-                    when.defined(attributes[property]) &&
-                    when.defined(attributes[property].values)) {
-
-                var attribute = attributes[property];
-                attribute.values = ComponentDatatype.ComponentDatatype.createTypedArray(attribute.componentDatatype, attribute.values);
-            }
-        }
-
-        var numberOfVertices = GeometryAttribute.Geometry.computeNumberOfVertices(geometry);
-        geometry.indices = IndexDatatype.IndexDatatype.createTypedArray(numberOfVertices, geometry.indices);
-
-        if (computeBoundingSphere) {
-            geometry.boundingSphere = BoundingSphere.BoundingSphere.fromVertices(attributes.position.values);
-        }
-
-        return geometry;
-    }
-
-    function copyGeometryForSplit(geometry) {
-        var attributes = geometry.attributes;
-        var copiedAttributes = {};
-
-        for (var property in attributes) {
-            if (attributes.hasOwnProperty(property) &&
-                    when.defined(attributes[property]) &&
-                    when.defined(attributes[property].values)) {
-
-                var attribute = attributes[property];
-                copiedAttributes[property] = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : attribute.componentDatatype,
-                    componentsPerAttribute : attribute.componentsPerAttribute,
-                    normalize : attribute.normalize,
-                    values : []
-                });
-            }
-        }
-
-        return new GeometryAttribute.Geometry({
-            attributes : copiedAttributes,
-            indices : [],
-            primitiveType : geometry.primitiveType
-        });
-    }
-
-    function updateInstanceAfterSplit(instance, westGeometry, eastGeometry) {
-        var computeBoundingSphere = when.defined(instance.geometry.boundingSphere);
-
-        westGeometry = updateGeometryAfterSplit(westGeometry, computeBoundingSphere);
-        eastGeometry = updateGeometryAfterSplit(eastGeometry, computeBoundingSphere);
-
-        if (when.defined(eastGeometry) && !when.defined(westGeometry)) {
-            instance.geometry = eastGeometry;
-        } else if (!when.defined(eastGeometry) && when.defined(westGeometry)) {
-            instance.geometry = westGeometry;
-        } else {
-            instance.westHemisphereGeometry = westGeometry;
-            instance.eastHemisphereGeometry = eastGeometry;
-            instance.geometry = undefined;
-        }
-    }
-
-    function generateBarycentricInterpolateFunction(CartesianType, numberOfComponents) {
-        var v0Scratch = new CartesianType();
-        var v1Scratch = new CartesianType();
-        var v2Scratch = new CartesianType();
-
-        return function(i0, i1, i2, coords, sourceValues, currentValues, insertedIndex, normalize) {
-            var v0 = CartesianType.fromArray(sourceValues, i0 * numberOfComponents, v0Scratch);
-            var v1 = CartesianType.fromArray(sourceValues, i1 * numberOfComponents, v1Scratch);
-            var v2 = CartesianType.fromArray(sourceValues, i2 * numberOfComponents, v2Scratch);
-
-            CartesianType.multiplyByScalar(v0, coords.x, v0);
-            CartesianType.multiplyByScalar(v1, coords.y, v1);
-            CartesianType.multiplyByScalar(v2, coords.z, v2);
-
-            var value = CartesianType.add(v0, v1, v0);
-            CartesianType.add(value, v2, value);
-
-            if (normalize) {
-                CartesianType.normalize(value, value);
-            }
-
-            CartesianType.pack(value, currentValues, insertedIndex * numberOfComponents);
-        };
-    }
-
-    var interpolateAndPackCartesian4 = generateBarycentricInterpolateFunction(BoundingSphere.Cartesian4, 4);
-    var interpolateAndPackCartesian3 = generateBarycentricInterpolateFunction(Cartesian2.Cartesian3, 3);
-    var interpolateAndPackCartesian2 = generateBarycentricInterpolateFunction(Cartesian2.Cartesian2, 2);
-    var interpolateAndPackBoolean = function(i0, i1, i2, coords, sourceValues, currentValues, insertedIndex) {
-        var v1 = sourceValues[i0] * coords.x;
-        var v2 = sourceValues[i1] * coords.y;
-        var v3 = sourceValues[i2] * coords.z;
-        currentValues[insertedIndex] = (v1 + v2 + v3) > _Math.CesiumMath.EPSILON6 ? 1 : 0;
-    };
-
-    var p0Scratch = new Cartesian2.Cartesian3();
-    var p1Scratch = new Cartesian2.Cartesian3();
-    var p2Scratch = new Cartesian2.Cartesian3();
-    var barycentricScratch = new Cartesian2.Cartesian3();
-
-    function computeTriangleAttributes(i0, i1, i2, point, positions, normals, tangents, bitangents, texCoords, extrudeDirections, applyOffset, currentAttributes, customAttributeNames, customAttributesLength, allAttributes, insertedIndex) {
-        if (!when.defined(normals) && !when.defined(tangents) && !when.defined(bitangents) && !when.defined(texCoords) && !when.defined(extrudeDirections) && customAttributesLength === 0) {
-            return;
-        }
-
-        var p0 = Cartesian2.Cartesian3.fromArray(positions, i0 * 3, p0Scratch);
-        var p1 = Cartesian2.Cartesian3.fromArray(positions, i1 * 3, p1Scratch);
-        var p2 = Cartesian2.Cartesian3.fromArray(positions, i2 * 3, p2Scratch);
-        var coords = barycentricCoordinates(point, p0, p1, p2, barycentricScratch);
-
-        if (when.defined(normals)) {
-            interpolateAndPackCartesian3(i0, i1, i2, coords, normals, currentAttributes.normal.values, insertedIndex, true);
-        }
-
-        if (when.defined(extrudeDirections)) {
-            var d0 = Cartesian2.Cartesian3.fromArray(extrudeDirections, i0 * 3, p0Scratch);
-            var d1 = Cartesian2.Cartesian3.fromArray(extrudeDirections, i1 * 3, p1Scratch);
-            var d2 = Cartesian2.Cartesian3.fromArray(extrudeDirections, i2 * 3, p2Scratch);
-
-            Cartesian2.Cartesian3.multiplyByScalar(d0, coords.x, d0);
-            Cartesian2.Cartesian3.multiplyByScalar(d1, coords.y, d1);
-            Cartesian2.Cartesian3.multiplyByScalar(d2, coords.z, d2);
-
-            var direction;
-            if (!Cartesian2.Cartesian3.equals(d0, Cartesian2.Cartesian3.ZERO) || !Cartesian2.Cartesian3.equals(d1, Cartesian2.Cartesian3.ZERO) || !Cartesian2.Cartesian3.equals(d2, Cartesian2.Cartesian3.ZERO)) {
-                direction = Cartesian2.Cartesian3.add(d0, d1, d0);
-                Cartesian2.Cartesian3.add(direction, d2, direction);
-                Cartesian2.Cartesian3.normalize(direction, direction);
-            } else {
-                direction = p0Scratch;
-                direction.x = 0;
-                direction.y = 0;
-                direction.z = 0;
-            }
-            Cartesian2.Cartesian3.pack(direction, currentAttributes.extrudeDirection.values, insertedIndex * 3);
-        }
-
-        if (when.defined(applyOffset)) {
-            interpolateAndPackBoolean(i0, i1, i2, coords, applyOffset, currentAttributes.applyOffset.values, insertedIndex);
-        }
-
-        if (when.defined(tangents)) {
-            interpolateAndPackCartesian3(i0, i1, i2, coords, tangents, currentAttributes.tangent.values, insertedIndex, true);
-        }
-
-        if (when.defined(bitangents)) {
-            interpolateAndPackCartesian3(i0, i1, i2, coords, bitangents, currentAttributes.bitangent.values, insertedIndex, true);
-        }
-
-        if (when.defined(texCoords)) {
-            interpolateAndPackCartesian2(i0, i1, i2, coords, texCoords, currentAttributes.st.values, insertedIndex);
-        }
-
-        if (customAttributesLength > 0) {
-            for (var i = 0; i < customAttributesLength; i++) {
-                var attributeName = customAttributeNames[i];
-                genericInterpolate(i0, i1, i2, coords, insertedIndex, allAttributes[attributeName], currentAttributes[attributeName]);
-            }
-        }
-    }
-
-    function genericInterpolate(i0, i1, i2, coords, insertedIndex, sourceAttribute, currentAttribute) {
-        var componentsPerAttribute = sourceAttribute.componentsPerAttribute;
-        var sourceValues = sourceAttribute.values;
-        var currentValues = currentAttribute.values;
-        switch(componentsPerAttribute) {
-            case 4:
-                interpolateAndPackCartesian4(i0, i1, i2, coords, sourceValues, currentValues, insertedIndex, false);
-                break;
-            case 3:
-                interpolateAndPackCartesian3(i0, i1, i2, coords, sourceValues, currentValues, insertedIndex, false);
-                break;
-            case 2:
-                interpolateAndPackCartesian2(i0, i1, i2, coords, sourceValues, currentValues, insertedIndex, false);
-                break;
-            default:
-                currentValues[insertedIndex] = sourceValues[i0] * coords.x + sourceValues[i1] * coords.y + sourceValues[i2] * coords.z;
-        }
-    }
-
-    function insertSplitPoint(currentAttributes, currentIndices, currentIndexMap, indices, currentIndex, point) {
-        var insertIndex = currentAttributes.position.values.length / 3;
-
-        if (currentIndex !== -1) {
-            var prevIndex = indices[currentIndex];
-            var newIndex = currentIndexMap[prevIndex];
-
-            if (newIndex === -1) {
-                currentIndexMap[prevIndex] = insertIndex;
-                currentAttributes.position.values.push(point.x, point.y, point.z);
-                currentIndices.push(insertIndex);
-                return insertIndex;
-            }
-
-            currentIndices.push(newIndex);
-            return newIndex;
-        }
-
-        currentAttributes.position.values.push(point.x, point.y, point.z);
-        currentIndices.push(insertIndex);
-        return insertIndex;
-    }
-
-    var NAMED_ATTRIBUTES = {
-        position : true,
-        normal : true,
-        bitangent : true,
-        tangent : true,
-        st : true,
-        extrudeDirection : true,
-        applyOffset: true
-    };
-    function splitLongitudeTriangles(instance) {
-        var geometry = instance.geometry;
-        var attributes = geometry.attributes;
-        var positions = attributes.position.values;
-        var normals = (when.defined(attributes.normal)) ? attributes.normal.values : undefined;
-        var bitangents = (when.defined(attributes.bitangent)) ? attributes.bitangent.values : undefined;
-        var tangents = (when.defined(attributes.tangent)) ? attributes.tangent.values : undefined;
-        var texCoords = (when.defined(attributes.st)) ? attributes.st.values : undefined;
-        var extrudeDirections = (when.defined(attributes.extrudeDirection)) ? attributes.extrudeDirection.values : undefined;
-        var applyOffset = when.defined(attributes.applyOffset) ? attributes.applyOffset.values : undefined;
-        var indices = geometry.indices;
-
-        var customAttributeNames = [];
-        for (var attributeName in attributes) {
-            if (attributes.hasOwnProperty(attributeName) && !NAMED_ATTRIBUTES[attributeName] && when.defined(attributes[attributeName])) {
-                customAttributeNames.push(attributeName);
-            }
-        }
-        var customAttributesLength = customAttributeNames.length;
-
-        var eastGeometry = copyGeometryForSplit(geometry);
-        var westGeometry = copyGeometryForSplit(geometry);
-
-        var currentAttributes;
-        var currentIndices;
-        var currentIndexMap;
-        var insertedIndex;
-        var i;
-
-        var westGeometryIndexMap = [];
-        westGeometryIndexMap.length = positions.length / 3;
-
-        var eastGeometryIndexMap = [];
-        eastGeometryIndexMap.length = positions.length / 3;
-
-        for (i = 0; i < westGeometryIndexMap.length; ++i) {
-            westGeometryIndexMap[i] = -1;
-            eastGeometryIndexMap[i] = -1;
-        }
-
-        var len = indices.length;
-        for (i = 0; i < len; i += 3) {
-            var i0 = indices[i];
-            var i1 = indices[i + 1];
-            var i2 = indices[i + 2];
-
-            var p0 = Cartesian2.Cartesian3.fromArray(positions, i0 * 3);
-            var p1 = Cartesian2.Cartesian3.fromArray(positions, i1 * 3);
-            var p2 = Cartesian2.Cartesian3.fromArray(positions, i2 * 3);
-
-            var result = splitTriangle(p0, p1, p2);
-            if (when.defined(result) && result.positions.length > 3) {
-                var resultPositions = result.positions;
-                var resultIndices = result.indices;
-                var resultLength = resultIndices.length;
-
-                for (var j = 0; j < resultLength; ++j) {
-                    var resultIndex = resultIndices[j];
-                    var point = resultPositions[resultIndex];
-
-                    if (point.y < 0.0) {
-                        currentAttributes = westGeometry.attributes;
-                        currentIndices = westGeometry.indices;
-                        currentIndexMap = westGeometryIndexMap;
-                    } else {
-                        currentAttributes = eastGeometry.attributes;
-                        currentIndices = eastGeometry.indices;
-                        currentIndexMap = eastGeometryIndexMap;
-                    }
-
-                    insertedIndex = insertSplitPoint(currentAttributes, currentIndices, currentIndexMap, indices, resultIndex < 3 ? i + resultIndex : -1, point);
-                    computeTriangleAttributes(i0, i1, i2, point, positions, normals, tangents, bitangents, texCoords, extrudeDirections, applyOffset, currentAttributes, customAttributeNames, customAttributesLength, attributes, insertedIndex);
-                }
-            } else {
-                if (when.defined(result)) {
-                    p0 = result.positions[0];
-                    p1 = result.positions[1];
-                    p2 = result.positions[2];
-                }
-
-                if (p0.y < 0.0) {
-                    currentAttributes = westGeometry.attributes;
-                    currentIndices = westGeometry.indices;
-                    currentIndexMap = westGeometryIndexMap;
-                } else {
-                    currentAttributes = eastGeometry.attributes;
-                    currentIndices = eastGeometry.indices;
-                    currentIndexMap = eastGeometryIndexMap;
-                }
-
-                insertedIndex = insertSplitPoint(currentAttributes, currentIndices, currentIndexMap, indices, i, p0);
-                computeTriangleAttributes(i0, i1, i2, p0, positions, normals, tangents, bitangents, texCoords, extrudeDirections, applyOffset, currentAttributes, customAttributeNames, customAttributesLength, attributes, insertedIndex);
-
-                insertedIndex = insertSplitPoint(currentAttributes, currentIndices, currentIndexMap, indices, i + 1, p1);
-                computeTriangleAttributes(i0, i1, i2, p1, positions, normals, tangents, bitangents, texCoords, extrudeDirections, applyOffset, currentAttributes, customAttributeNames, customAttributesLength, attributes, insertedIndex);
-
-                insertedIndex = insertSplitPoint(currentAttributes, currentIndices, currentIndexMap, indices, i + 2, p2);
-                computeTriangleAttributes(i0, i1, i2, p2, positions, normals, tangents, bitangents, texCoords, extrudeDirections, applyOffset, currentAttributes, customAttributeNames, customAttributesLength, attributes, insertedIndex);
-            }
-        }
-
-        updateInstanceAfterSplit(instance, westGeometry, eastGeometry);
-    }
-
-    var xzPlane = Plane.Plane.fromPointNormal(Cartesian2.Cartesian3.ZERO, Cartesian2.Cartesian3.UNIT_Y);
-
-    var offsetScratch = new Cartesian2.Cartesian3();
-    var offsetPointScratch = new Cartesian2.Cartesian3();
-
-    function computeLineAttributes(i0, i1, point, positions, insertIndex, currentAttributes, applyOffset) {
-        if (!when.defined(applyOffset)) {
-            return;
-        }
-
-        var p0 = Cartesian2.Cartesian3.fromArray(positions, i0 * 3, p0Scratch);
-        if (Cartesian2.Cartesian3.equalsEpsilon(p0, point, _Math.CesiumMath.EPSILON10)) {
-            currentAttributes.applyOffset.values[insertIndex] = applyOffset[i0];
-        } else {
-            currentAttributes.applyOffset.values[insertIndex] = applyOffset[i1];
-        }
-
-    }
-
-    function splitLongitudeLines(instance) {
-        var geometry = instance.geometry;
-        var attributes = geometry.attributes;
-        var positions = attributes.position.values;
-        var applyOffset = when.defined(attributes.applyOffset) ? attributes.applyOffset.values : undefined;
-        var indices = geometry.indices;
-
-        var eastGeometry = copyGeometryForSplit(geometry);
-        var westGeometry = copyGeometryForSplit(geometry);
-
-        var i;
-        var length = indices.length;
-
-        var westGeometryIndexMap = [];
-        westGeometryIndexMap.length = positions.length / 3;
-
-        var eastGeometryIndexMap = [];
-        eastGeometryIndexMap.length = positions.length / 3;
-
-        for (i = 0; i < westGeometryIndexMap.length; ++i) {
-            westGeometryIndexMap[i] = -1;
-            eastGeometryIndexMap[i] = -1;
-        }
-
-        for (i = 0; i < length; i += 2) {
-            var i0 = indices[i];
-            var i1 = indices[i + 1];
-
-            var p0 = Cartesian2.Cartesian3.fromArray(positions, i0 * 3, p0Scratch);
-            var p1 = Cartesian2.Cartesian3.fromArray(positions, i1 * 3, p1Scratch);
-            var insertIndex;
-
-            if (Math.abs(p0.y) < _Math.CesiumMath.EPSILON6){
-                if (p0.y < 0.0) {
-                    p0.y = -_Math.CesiumMath.EPSILON6;
-                } else {
-                    p0.y = _Math.CesiumMath.EPSILON6;
-                }
-            }
-
-            if (Math.abs(p1.y) < _Math.CesiumMath.EPSILON6){
-                if (p1.y < 0.0) {
-                    p1.y = -_Math.CesiumMath.EPSILON6;
-                } else {
-                    p1.y = _Math.CesiumMath.EPSILON6;
-                }
-            }
-
-            var p0Attributes = eastGeometry.attributes;
-            var p0Indices = eastGeometry.indices;
-            var p0IndexMap = eastGeometryIndexMap;
-            var p1Attributes = westGeometry.attributes;
-            var p1Indices = westGeometry.indices;
-            var p1IndexMap = westGeometryIndexMap;
-
-            var intersection = IntersectionTests.IntersectionTests.lineSegmentPlane(p0, p1, xzPlane, p2Scratch);
-            if (when.defined(intersection)) {
-                // move point on the xz-plane slightly away from the plane
-                var offset = Cartesian2.Cartesian3.multiplyByScalar(Cartesian2.Cartesian3.UNIT_Y, 5.0 * _Math.CesiumMath.EPSILON9, offsetScratch);
-                if (p0.y < 0.0) {
-                    Cartesian2.Cartesian3.negate(offset, offset);
-
-                    p0Attributes = westGeometry.attributes;
-                    p0Indices = westGeometry.indices;
-                    p0IndexMap = westGeometryIndexMap;
-                    p1Attributes = eastGeometry.attributes;
-                    p1Indices = eastGeometry.indices;
-                    p1IndexMap = eastGeometryIndexMap;
-                }
-
-                var offsetPoint = Cartesian2.Cartesian3.add(intersection, offset, offsetPointScratch);
-
-                insertIndex = insertSplitPoint(p0Attributes, p0Indices, p0IndexMap, indices, i, p0);
-                computeLineAttributes(i0, i1, p0, positions, insertIndex, p0Attributes, applyOffset);
-
-                insertIndex = insertSplitPoint(p0Attributes, p0Indices, p0IndexMap, indices, -1, offsetPoint);
-                computeLineAttributes(i0, i1, offsetPoint, positions, insertIndex, p0Attributes, applyOffset);
-
-                Cartesian2.Cartesian3.negate(offset, offset);
-                Cartesian2.Cartesian3.add(intersection, offset, offsetPoint);
-                insertIndex = insertSplitPoint(p1Attributes, p1Indices, p1IndexMap, indices, -1, offsetPoint);
-                computeLineAttributes(i0, i1, offsetPoint, positions, insertIndex, p1Attributes, applyOffset);
-
-                insertIndex = insertSplitPoint(p1Attributes, p1Indices, p1IndexMap, indices, i + 1, p1);
-                computeLineAttributes(i0, i1, p1, positions, insertIndex, p1Attributes, applyOffset);
-            } else {
-                var currentAttributes;
-                var currentIndices;
-                var currentIndexMap;
-
-                if (p0.y < 0.0) {
-                    currentAttributes = westGeometry.attributes;
-                    currentIndices = westGeometry.indices;
-                    currentIndexMap = westGeometryIndexMap;
-                } else {
-                    currentAttributes = eastGeometry.attributes;
-                    currentIndices = eastGeometry.indices;
-                    currentIndexMap = eastGeometryIndexMap;
-                }
-
-                insertIndex = insertSplitPoint(currentAttributes, currentIndices, currentIndexMap, indices, i, p0);
-                computeLineAttributes(i0, i1, p0, positions, insertIndex, currentAttributes, applyOffset);
-
-                insertIndex = insertSplitPoint(currentAttributes, currentIndices, currentIndexMap, indices, i + 1, p1);
-                computeLineAttributes(i0, i1, p1, positions, insertIndex, currentAttributes, applyOffset);
-            }
-        }
-
-        updateInstanceAfterSplit(instance, westGeometry, eastGeometry);
-    }
-
-    var cartesian2Scratch0 = new Cartesian2.Cartesian2();
-    var cartesian2Scratch1 = new Cartesian2.Cartesian2();
-
-    var cartesian3Scratch0 = new Cartesian2.Cartesian3();
-    var cartesian3Scratch2 = new Cartesian2.Cartesian3();
-    var cartesian3Scratch3 = new Cartesian2.Cartesian3();
-    var cartesian3Scratch4 = new Cartesian2.Cartesian3();
-    var cartesian3Scratch5 = new Cartesian2.Cartesian3();
-    var cartesian3Scratch6 = new Cartesian2.Cartesian3();
-    var cartesian3Scratch7 = new Cartesian2.Cartesian3();
-
-    var cartesian4Scratch0 = new BoundingSphere.Cartesian4();
-
-    function updateAdjacencyAfterSplit(geometry) {
-        var attributes = geometry.attributes;
-        var positions = attributes.position.values;
-        var prevPositions = attributes.prevPosition.values;
-        var nextPositions = attributes.nextPosition.values;
-
-        var length = positions.length;
-        for (var j = 0; j < length; j += 3) {
-            var position = Cartesian2.Cartesian3.unpack(positions, j, cartesian3Scratch0);
-            if (position.x > 0.0) {
-                continue;
-            }
-
-            var prevPosition = Cartesian2.Cartesian3.unpack(prevPositions, j, cartesian3Scratch2);
-            if ((position.y < 0.0 && prevPosition.y > 0.0) || (position.y > 0.0 && prevPosition.y < 0.0)) {
-                if (j - 3 > 0) {
-                    prevPositions[j] = positions[j - 3];
-                    prevPositions[j + 1] = positions[j - 2];
-                    prevPositions[j + 2] = positions[j - 1];
-                } else {
-                    Cartesian2.Cartesian3.pack(position, prevPositions, j);
-                }
-            }
-
-            var nextPosition = Cartesian2.Cartesian3.unpack(nextPositions, j, cartesian3Scratch3);
-            if ((position.y < 0.0 && nextPosition.y > 0.0) || (position.y > 0.0 && nextPosition.y < 0.0)) {
-                if (j + 3 < length) {
-                    nextPositions[j] = positions[j + 3];
-                    nextPositions[j + 1] = positions[j + 4];
-                    nextPositions[j + 2] = positions[j + 5];
-                } else {
-                    Cartesian2.Cartesian3.pack(position, nextPositions, j);
-                }
-            }
-        }
-    }
-
-    var offsetScalar = 5.0 * _Math.CesiumMath.EPSILON9;
-    var coplanarOffset = _Math.CesiumMath.EPSILON6;
-
-    function splitLongitudePolyline(instance) {
-        var geometry = instance.geometry;
-        var attributes = geometry.attributes;
-        var positions = attributes.position.values;
-        var prevPositions = attributes.prevPosition.values;
-        var nextPositions = attributes.nextPosition.values;
-        var expandAndWidths = attributes.expandAndWidth.values;
-
-        var texCoords = (when.defined(attributes.st)) ? attributes.st.values : undefined;
-        var colors = (when.defined(attributes.color)) ? attributes.color.values : undefined;
-        var dist = (when.defined(attributes.dist)) ? attributes.dist.values : undefined;
-
-        var eastGeometry = copyGeometryForSplit(geometry);
-        var westGeometry = copyGeometryForSplit(geometry);
-
-        var i;
-        var j;
-        var index;
-
-        var intersectionFound = false;
-
-        var length = positions.length / 3;
-        for (i = 0; i < length; i += 4) {
-            var i0 = i;
-            var i2 = i + 2;
-
-            var p0 = Cartesian2.Cartesian3.fromArray(positions, i0 * 3, cartesian3Scratch0);
-            var p2 = Cartesian2.Cartesian3.fromArray(positions, i2 * 3, cartesian3Scratch2);
-
-            // Offset points that are close to the 180 longitude and change the previous/next point
-            // to be the same offset point so it can be projected to 2D. There is special handling in the
-            // shader for when position == prevPosition || position == nextPosition.
-            if (Math.abs(p0.y) < coplanarOffset) {
-                p0.y = coplanarOffset * (p2.y < 0.0 ? -1.0 : 1.0);
-                positions[i * 3 + 1] = p0.y;
-                positions[(i + 1) * 3 + 1] = p0.y;
-
-                for (j = i0 * 3; j < i0 * 3 + 4 * 3; j += 3) {
-                    prevPositions[j] = positions[i * 3];
-                    prevPositions[j + 1] = positions[i * 3 + 1];
-                    prevPositions[j + 2] = positions[i * 3 + 2];
-                }
-            }
-
-            // Do the same but for when the line crosses 180 longitude in the opposite direction.
-            if (Math.abs(p2.y) < coplanarOffset) {
-                p2.y = coplanarOffset * (p0.y < 0.0 ? -1.0 : 1.0);
-                positions[(i + 2) * 3 + 1] = p2.y;
-                positions[(i + 3) * 3 + 1] = p2.y;
-
-                for (j = i0 * 3; j < i0 * 3 + 4 * 3; j += 3) {
-                    nextPositions[j] = positions[(i + 2) * 3];
-                    nextPositions[j + 1] = positions[(i + 2) * 3 + 1];
-                    nextPositions[j + 2] = positions[(i + 2) * 3 + 2];
-                }
-            }
-
-            var p0Attributes = eastGeometry.attributes;
-            var p0Indices = eastGeometry.indices;
-            var p2Attributes = westGeometry.attributes;
-            var p2Indices = westGeometry.indices;
-
-            var intersection = IntersectionTests.IntersectionTests.lineSegmentPlane(p0, p2, xzPlane, cartesian3Scratch4);
-            if (when.defined(intersection)) {
-                intersectionFound = true;
-
-                // move point on the xz-plane slightly away from the plane
-                var offset = Cartesian2.Cartesian3.multiplyByScalar(Cartesian2.Cartesian3.UNIT_Y, offsetScalar, cartesian3Scratch5);
-                if (p0.y < 0.0) {
-                    Cartesian2.Cartesian3.negate(offset, offset);
-                    p0Attributes = westGeometry.attributes;
-                    p0Indices = westGeometry.indices;
-                    p2Attributes = eastGeometry.attributes;
-                    p2Indices = eastGeometry.indices;
-                }
-
-                var offsetPoint = Cartesian2.Cartesian3.add(intersection, offset, cartesian3Scratch6);
-                p0Attributes.position.values.push(p0.x, p0.y, p0.z, p0.x, p0.y, p0.z);
-                p0Attributes.position.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-                p0Attributes.position.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-
-                p0Attributes.prevPosition.values.push(prevPositions[i0 * 3], prevPositions[i0 * 3 + 1], prevPositions[i0 * 3 + 2]);
-                p0Attributes.prevPosition.values.push(prevPositions[i0 * 3 + 3], prevPositions[i0 * 3 + 4], prevPositions[i0 * 3 + 5]);
-                p0Attributes.prevPosition.values.push(p0.x, p0.y, p0.z, p0.x, p0.y, p0.z);
-
-                p0Attributes.nextPosition.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-                p0Attributes.nextPosition.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-                p0Attributes.nextPosition.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-                p0Attributes.nextPosition.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-
-                Cartesian2.Cartesian3.negate(offset, offset);
-                Cartesian2.Cartesian3.add(intersection, offset, offsetPoint);
-                p2Attributes.position.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-                p2Attributes.position.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-                p2Attributes.position.values.push(p2.x, p2.y, p2.z, p2.x, p2.y, p2.z);
-
-                p2Attributes.prevPosition.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-                p2Attributes.prevPosition.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-                p2Attributes.prevPosition.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-                p2Attributes.prevPosition.values.push(offsetPoint.x, offsetPoint.y, offsetPoint.z);
-
-                p2Attributes.nextPosition.values.push(p2.x, p2.y, p2.z, p2.x, p2.y, p2.z);
-                p2Attributes.nextPosition.values.push(nextPositions[i2 * 3], nextPositions[i2 * 3 + 1], nextPositions[i2 * 3 + 2]);
-                p2Attributes.nextPosition.values.push(nextPositions[i2 * 3 + 3], nextPositions[i2 * 3 + 4], nextPositions[i2 * 3 + 5]);
-
-                var ew0 = Cartesian2.Cartesian2.fromArray(expandAndWidths, i0 * 2, cartesian2Scratch0);
-                var width = Math.abs(ew0.y);
-
-                p0Attributes.expandAndWidth.values.push(-1,  width, 1,  width);
-                p0Attributes.expandAndWidth.values.push(-1, -width, 1, -width);
-                p2Attributes.expandAndWidth.values.push(-1,  width, 1,  width);
-                p2Attributes.expandAndWidth.values.push(-1, -width, 1, -width);
-
-                var t = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(intersection, p0, cartesian3Scratch3));
-                t /= Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(p2, p0, cartesian3Scratch3));
-
-                if (when.defined(colors)) {
-                    var c0 = BoundingSphere.Cartesian4.fromArray(colors, i0 * 4, cartesian4Scratch0);
-                    var c2 = BoundingSphere.Cartesian4.fromArray(colors, i2 * 4, cartesian4Scratch0);
-
-                    var r = _Math.CesiumMath.lerp(c0.x, c2.x, t);
-                    var g = _Math.CesiumMath.lerp(c0.y, c2.y, t);
-                    var b = _Math.CesiumMath.lerp(c0.z, c2.z, t);
-                    var a = _Math.CesiumMath.lerp(c0.w, c2.w, t);
-
-                    for (j = i0 * 4; j < i0 * 4 + 2 * 4; ++j) {
-                        p0Attributes.color.values.push(colors[j]);
-                    }
-                    p0Attributes.color.values.push(r, g, b, a);
-                    p0Attributes.color.values.push(r, g, b, a);
-                    p2Attributes.color.values.push(r, g, b, a);
-                    p2Attributes.color.values.push(r, g, b, a);
-                    for (j = i2 * 4; j < i2 * 4 + 2 * 4; ++j) {
-                        p2Attributes.color.values.push(colors[j]);
-                    }
-                }
-
-                if (when.defined(texCoords)) {
-                    var s0 = Cartesian2.Cartesian2.fromArray(texCoords, i0 * 2, cartesian2Scratch0);
-                    var s3 = Cartesian2.Cartesian2.fromArray(texCoords, (i + 3) * 2, cartesian2Scratch1);
-
-                    var sx = _Math.CesiumMath.lerp(s0.x, s3.x, t);
-
-                    for (j = i0 * 2; j < i0 * 2 + 2 * 2; ++j) {
-                        p0Attributes.st.values.push(texCoords[j]);
-                    }
-                    p0Attributes.st.values.push(sx, s0.y);
-                    p0Attributes.st.values.push(sx, s3.y);
-                    p2Attributes.st.values.push(sx, s0.y);
-                    p2Attributes.st.values.push(sx, s3.y);
-                    for (j = i2 * 2; j < i2 * 2 + 2 * 2; ++j) {
-                        p2Attributes.st.values.push(texCoords[j]);
-                    }
-                }
-
-                if (when.defined(dist)) {
-                    var d0 = Cartesian2.Cartesian3.fromArray(dist, i0 * 3, cartesian3Scratch7);
-                    var d1 = Cartesian2.Cartesian3.fromArray(dist, i2 * 3, cartesian3Scratch7);
-
-                    var disFrom = _Math.CesiumMath.lerp(d0.x, d1.x, t);
-
-                    for (j = i0 * 3; j < i0 * 3 + 2 * 3; ++j) {
-                        p0Attributes.dist.values.push(dist[j]);
-                    }
-                    p0Attributes.dist.values.push(disFrom, d0.y, d0.z);
-                    p0Attributes.dist.values.push(disFrom, d0.y, d0.z);
-                    p2Attributes.dist.values.push(disFrom, d1.y, d1.z);
-                    p2Attributes.dist.values.push(disFrom, d1.y, d1.z);
-                    for (j = i2 * 3; j < i2 * 3 + 2 * 3; ++j) {
-                        p2Attributes.dist.values.push(dist[j]);
-                    }
-                }
-
-                index = p0Attributes.position.values.length / 3 - 4;
-                p0Indices.push(index, index + 2, index + 1);
-                p0Indices.push(index + 1, index + 2, index + 3);
-
-                index = p2Attributes.position.values.length / 3 - 4;
-                p2Indices.push(index, index + 2, index + 1);
-                p2Indices.push(index + 1, index + 2, index + 3);
-            } else {
-                var currentAttributes;
-                var currentIndices;
-
-                if (p0.y < 0.0) {
-                    currentAttributes = westGeometry.attributes;
-                    currentIndices = westGeometry.indices;
-                } else {
-                    currentAttributes = eastGeometry.attributes;
-                    currentIndices = eastGeometry.indices;
-                }
-
-                currentAttributes.position.values.push(p0.x, p0.y, p0.z);
-                currentAttributes.position.values.push(p0.x, p0.y, p0.z);
-                currentAttributes.position.values.push(p2.x, p2.y, p2.z);
-                currentAttributes.position.values.push(p2.x, p2.y, p2.z);
-
-                for (j = i * 3; j < i * 3 + 4 * 3; ++j) {
-                    currentAttributes.prevPosition.values.push(prevPositions[j]);
-                    currentAttributes.nextPosition.values.push(nextPositions[j]);
-                }
-
-                for (j = i * 2; j < i * 2 + 4 * 2; ++j) {
-                    currentAttributes.expandAndWidth.values.push(expandAndWidths[j]);
-                    if (when.defined(texCoords)) {
-                        currentAttributes.st.values.push(texCoords[j]);
-                    }
-                }
-
-                if (when.defined(colors)) {
-                    for (j = i * 4; j < i * 4 + 4 * 4; ++j) {
-                        currentAttributes.color.values.push(colors[j]);
-                    }
-                }
-
-                if (when.defined(dist)) {
-                    for (j = i * 3; j < i * 3 + 4 * 3; ++j) {
-                        currentAttributes.dist.values.push(dist[j]);
-                    }
-                }
-
-                index = currentAttributes.position.values.length / 3 - 4;
-                currentIndices.push(index, index + 2, index + 1);
-                currentIndices.push(index + 1, index + 2, index + 3);
-            }
-        }
-
-        if (intersectionFound) {
-            updateAdjacencyAfterSplit(westGeometry);
-            updateAdjacencyAfterSplit(eastGeometry);
-        }
-
-        updateInstanceAfterSplit(instance, westGeometry, eastGeometry);
-    }
-
-    /**
-     * Splits the instances's geometry, by introducing new vertices and indices,that
-     * intersect the International Date Line and Prime Meridian so that no primitives cross longitude
-     * -180/180 degrees.  This is not required for 3D drawing, but is required for
-     * correcting drawing in 2D and Columbus view.
-     *
-     * @private
-     *
-     * @param {GeometryInstance} instance The instance to modify.
-     * @returns {GeometryInstance} The modified <code>instance</code> argument, with it's geometry split at the International Date Line.
-     *
-     * @example
-     * instance = Cesium.GeometryPipeline.splitLongitude(instance);
-     */
-    GeometryPipeline.splitLongitude = function(instance) {
-        //>>includeStart('debug', pragmas.debug);
-        if (!when.defined(instance)) {
-            throw new Check.DeveloperError('instance is required.');
-        }
-        //>>includeEnd('debug');
-
-        var geometry = instance.geometry;
-        var boundingSphere = geometry.boundingSphere;
-        if (when.defined(boundingSphere)) {
-            var minX = boundingSphere.center.x - boundingSphere.radius;
-            if (minX > 0 || BoundingSphere.BoundingSphere.intersectPlane(boundingSphere, Plane.Plane.ORIGIN_ZX_PLANE) !== BoundingSphere.Intersect.INTERSECTING) {
-                return instance;
-            }
-        }
-
-        if (geometry.geometryType !== GeometryAttribute.GeometryType.NONE) {
-            switch (geometry.geometryType) {
-            case GeometryAttribute.GeometryType.POLYLINES:
-                splitLongitudePolyline(instance);
-                break;
-            case GeometryAttribute.GeometryType.TRIANGLES:
-                splitLongitudeTriangles(instance);
-                break;
-            case GeometryAttribute.GeometryType.LINES:
-                splitLongitudeLines(instance);
-                break;
-            }
-        } else {
-            indexPrimitive(geometry);
-            if (geometry.primitiveType === PrimitiveType.PrimitiveType.TRIANGLES) {
-                splitLongitudeTriangles(instance);
-            } else if (geometry.primitiveType === PrimitiveType.PrimitiveType.LINES) {
-                splitLongitudeLines(instance);
-            }
-        }
-
-        return instance;
-    };
-
-    exports.GeometryPipeline = GeometryPipeline;
-
-});
diff --git a/libs/supermap/Workers/IndexDatatype-9435b55f.js b/libs/supermap/Workers/IndexDatatype-9435b55f.js
deleted file mode 100644
index 96b7e3d..0000000
--- a/libs/supermap/Workers/IndexDatatype-9435b55f.js
+++ /dev/null
@@ -1,183 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './WebGLConstants-4c11ee5f'], function (exports, when, Check, _Math, WebGLConstants) { 'use strict';
-
-    /**
-         * Constants for WebGL index datatypes.  These corresponds to the
-         * <code>type</code> parameter of {@link http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawElements.xml|drawElements}.
-         *
-         * @exports IndexDatatype
-         */
-        var IndexDatatype = {
-            /**
-             * 8-bit unsigned byte corresponding to <code>UNSIGNED_BYTE</code> and the type
-             * of an element in <code>Uint8Array</code>.
-             *
-             * @type {Number}
-             * @constant
-             */
-            UNSIGNED_BYTE : WebGLConstants.WebGLConstants.UNSIGNED_BYTE,
-
-            /**
-             * 16-bit unsigned short corresponding to <code>UNSIGNED_SHORT</code> and the type
-             * of an element in <code>Uint16Array</code>.
-             *
-             * @type {Number}
-             * @constant
-             */
-            UNSIGNED_SHORT : WebGLConstants.WebGLConstants.UNSIGNED_SHORT,
-
-            /**
-             * 32-bit unsigned int corresponding to <code>UNSIGNED_INT</code> and the type
-             * of an element in <code>Uint32Array</code>.
-             *
-             * @type {Number}
-             * @constant
-             */
-            UNSIGNED_INT : WebGLConstants.WebGLConstants.UNSIGNED_INT
-        };
-
-        /**
-         * Returns the size, in bytes, of the corresponding datatype.
-         *
-         * @param {IndexDatatype} indexDatatype The index datatype to get the size of.
-         * @returns {Number} The size in bytes.
-         *
-         * @example
-         * // Returns 2
-         * var size = Cesium.IndexDatatype.getSizeInBytes(Cesium.IndexDatatype.UNSIGNED_SHORT);
-         */
-        IndexDatatype.getSizeInBytes = function(indexDatatype) {
-            switch(indexDatatype) {
-                case IndexDatatype.UNSIGNED_BYTE:
-                    return Uint8Array.BYTES_PER_ELEMENT;
-                case IndexDatatype.UNSIGNED_SHORT:
-                    return Uint16Array.BYTES_PER_ELEMENT;
-                case IndexDatatype.UNSIGNED_INT:
-                    return Uint32Array.BYTES_PER_ELEMENT;
-            }
-
-            //>>includeStart('debug', pragmas.debug);
-            throw new Check.DeveloperError('indexDatatype is required and must be a valid IndexDatatype constant.');
-            //>>includeEnd('debug');
-        };
-
-        /**
-         * Gets the datatype with a given size in bytes.
-         *
-         * @param {Number} sizeInBytes The size of a single index in bytes.
-         * @returns {IndexDatatype} The index datatype with the given size.
-         */
-        IndexDatatype.fromSizeInBytes = function(sizeInBytes) {
-            switch (sizeInBytes) {
-                case 2:
-                    return IndexDatatype.UNSIGNED_SHORT;
-                case 4:
-                    return IndexDatatype.UNSIGNED_INT;
-                case 1:
-                    return IndexDatatype.UNSIGNED_BYTE;
-                //>>includeStart('debug', pragmas.debug);
-                default:
-                    throw new Check.DeveloperError('Size in bytes cannot be mapped to an IndexDatatype');
-                //>>includeEnd('debug');
-            }
-        };
-
-        /**
-         * Validates that the provided index datatype is a valid {@link IndexDatatype}.
-         *
-         * @param {IndexDatatype} indexDatatype The index datatype to validate.
-         * @returns {Boolean} <code>true</code> if the provided index datatype is a valid value; otherwise, <code>false</code>.
-         *
-         * @example
-         * if (!Cesium.IndexDatatype.validate(indexDatatype)) {
-         *   throw new Cesium.DeveloperError('indexDatatype must be a valid value.');
-         * }
-         */
-        IndexDatatype.validate = function(indexDatatype) {
-            return when.defined(indexDatatype) &&
-                   (indexDatatype === IndexDatatype.UNSIGNED_BYTE ||
-                    indexDatatype === IndexDatatype.UNSIGNED_SHORT ||
-                    indexDatatype === IndexDatatype.UNSIGNED_INT);
-        };
-
-        /**
-         * Creates a typed array that will store indices, using either <code><Uint16Array</code>
-         * or <code>Uint32Array</code> depending on the number of vertices.
-         *
-         * @param {Number} numberOfVertices Number of vertices that the indices will reference.
-         * @param {Number|Array} indicesLengthOrArray Passed through to the typed array constructor.
-         * @returns {Uint16Array|Uint32Array} A <code>Uint16Array</code> or <code>Uint32Array</code> constructed with <code>indicesLengthOrArray</code>.
-         *
-         * @example
-         * this.indices = Cesium.IndexDatatype.createTypedArray(positions.length / 3, numberOfIndices);
-         */
-        IndexDatatype.createTypedArray = function(numberOfVertices, indicesLengthOrArray) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(numberOfVertices)) {
-                throw new Check.DeveloperError('numberOfVertices is required.');
-            }
-            //>>includeEnd('debug');
-
-            if (numberOfVertices >= _Math.CesiumMath.SIXTY_FOUR_KILOBYTES) {
-                return new Uint32Array(indicesLengthOrArray);
-            }
-
-            return new Uint16Array(indicesLengthOrArray);
-        };
-
-        /**
-         * Creates a typed array from a source array buffer.  The resulting typed array will store indices, using either <code><Uint16Array</code>
-         * or <code>Uint32Array</code> depending on the number of vertices.
-         *
-         * @param {Number} numberOfVertices Number of vertices that the indices will reference.
-         * @param {ArrayBuffer} sourceArray Passed through to the typed array constructor.
-         * @param {Number} byteOffset Passed through to the typed array constructor.
-         * @param {Number} length Passed through to the typed array constructor.
-         * @returns {Uint16Array|Uint32Array} A <code>Uint16Array</code> or <code>Uint32Array</code> constructed with <code>sourceArray</code>, <code>byteOffset</code>, and <code>length</code>.
-         *
-         */
-        IndexDatatype.createTypedArrayFromArrayBuffer = function(numberOfVertices, sourceArray, byteOffset, length) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(numberOfVertices)) {
-                throw new Check.DeveloperError('numberOfVertices is required.');
-            }
-            if (!when.defined(sourceArray)) {
-                throw new Check.DeveloperError('sourceArray is required.');
-            }
-            if (!when.defined(byteOffset)) {
-                throw new Check.DeveloperError('byteOffset is required.');
-            }
-            //>>includeEnd('debug');
-
-            if (numberOfVertices >= _Math.CesiumMath.SIXTY_FOUR_KILOBYTES) {
-                return new Uint32Array(sourceArray, byteOffset, length);
-            }
-
-            return new Uint16Array(sourceArray, byteOffset, length);
-        };
-    var IndexDatatype$1 = Object.freeze(IndexDatatype);
-
-    exports.IndexDatatype = IndexDatatype$1;
-
-});
diff --git a/libs/supermap/Workers/IntersectionTests-99e636d3.js b/libs/supermap/Workers/IntersectionTests-99e636d3.js
deleted file mode 100644
index 106133b..0000000
--- a/libs/supermap/Workers/IntersectionTests-99e636d3.js
+++ /dev/null
@@ -1,1652 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere) { 'use strict';
-
-    /**
-         * Defines functions for 2nd order polynomial functions of one variable with only real coefficients.
-         *
-         * @exports QuadraticRealPolynomial
-         */
-        var QuadraticRealPolynomial = {};
-
-        /**
-         * Provides the discriminant of the quadratic equation from the supplied coefficients.
-         *
-         * @param {Number} a The coefficient of the 2nd order monomial.
-         * @param {Number} b The coefficient of the 1st order monomial.
-         * @param {Number} c The coefficient of the 0th order monomial.
-         * @returns {Number} The value of the discriminant.
-         */
-        QuadraticRealPolynomial.computeDiscriminant = function(a, b, c) {
-            //>>includeStart('debug', pragmas.debug);
-            if (typeof a !== 'number') {
-                throw new Check.DeveloperError('a is a required number.');
-            }
-            if (typeof b !== 'number') {
-                throw new Check.DeveloperError('b is a required number.');
-            }
-            if (typeof c !== 'number') {
-                throw new Check.DeveloperError('c is a required number.');
-            }
-            //>>includeEnd('debug');
-
-            var discriminant = b * b - 4.0 * a * c;
-            return discriminant;
-        };
-
-        function addWithCancellationCheck(left, right, tolerance) {
-            var difference = left + right;
-            if ((_Math.CesiumMath.sign(left) !== _Math.CesiumMath.sign(right)) &&
-                    Math.abs(difference / Math.max(Math.abs(left), Math.abs(right))) < tolerance) {
-                return 0.0;
-            }
-
-            return difference;
-        }
-
-        /**
-         * Provides the real valued roots of the quadratic polynomial with the provided coefficients.
-         *
-         * @param {Number} a The coefficient of the 2nd order monomial.
-         * @param {Number} b The coefficient of the 1st order monomial.
-         * @param {Number} c The coefficient of the 0th order monomial.
-         * @returns {Number[]} The real valued roots.
-         */
-        QuadraticRealPolynomial.computeRealRoots = function(a, b, c) {
-            //>>includeStart('debug', pragmas.debug);
-            if (typeof a !== 'number') {
-                throw new Check.DeveloperError('a is a required number.');
-            }
-            if (typeof b !== 'number') {
-                throw new Check.DeveloperError('b is a required number.');
-            }
-            if (typeof c !== 'number') {
-                throw new Check.DeveloperError('c is a required number.');
-            }
-            //>>includeEnd('debug');
-
-            var ratio;
-            if (a === 0.0) {
-                if (b === 0.0) {
-                    // Constant function: c = 0.
-                    return [];
-                }
-
-                // Linear function: b * x + c = 0.
-                return [-c / b];
-            } else if (b === 0.0) {
-                if (c === 0.0) {
-                    // 2nd order monomial: a * x^2 = 0.
-                    return [0.0, 0.0];
-                }
-
-                var cMagnitude = Math.abs(c);
-                var aMagnitude = Math.abs(a);
-
-                if ((cMagnitude < aMagnitude) && (cMagnitude / aMagnitude < _Math.CesiumMath.EPSILON14)) { // c ~= 0.0.
-                    // 2nd order monomial: a * x^2 = 0.
-                    return [0.0, 0.0];
-                } else if ((cMagnitude > aMagnitude) && (aMagnitude / cMagnitude < _Math.CesiumMath.EPSILON14)) { // a ~= 0.0.
-                    // Constant function: c = 0.
-                    return [];
-                }
-
-                // a * x^2 + c = 0
-                ratio = -c / a;
-
-                if (ratio < 0.0) {
-                    // Both roots are complex.
-                    return [];
-                }
-
-                // Both roots are real.
-                var root = Math.sqrt(ratio);
-                return [-root, root];
-            } else if (c === 0.0) {
-                // a * x^2 + b * x = 0
-                ratio = -b / a;
-                if (ratio < 0.0) {
-                    return [ratio, 0.0];
-                }
-
-                return [0.0, ratio];
-            }
-
-            // a * x^2 + b * x + c = 0
-            var b2 = b * b;
-            var four_ac = 4.0 * a * c;
-            var radicand = addWithCancellationCheck(b2, -four_ac, _Math.CesiumMath.EPSILON14);
-
-            if (radicand < 0.0) {
-                // Both roots are complex.
-                return [];
-            }
-
-            var q = -0.5 * addWithCancellationCheck(b, _Math.CesiumMath.sign(b) * Math.sqrt(radicand), _Math.CesiumMath.EPSILON14);
-            if (b > 0.0) {
-                return [q / a, c / q];
-            }
-
-            return [c / q, q / a];
-        };
-
-    /**
-         * Defines functions for 3rd order polynomial functions of one variable with only real coefficients.
-         *
-         * @exports CubicRealPolynomial
-         */
-        var CubicRealPolynomial = {};
-
-        /**
-         * Provides the discriminant of the cubic equation from the supplied coefficients.
-         *
-         * @param {Number} a The coefficient of the 3rd order monomial.
-         * @param {Number} b The coefficient of the 2nd order monomial.
-         * @param {Number} c The coefficient of the 1st order monomial.
-         * @param {Number} d The coefficient of the 0th order monomial.
-         * @returns {Number} The value of the discriminant.
-         */
-        CubicRealPolynomial.computeDiscriminant = function(a, b, c, d) {
-            //>>includeStart('debug', pragmas.debug);
-            if (typeof a !== 'number') {
-                throw new Check.DeveloperError('a is a required number.');
-            }
-            if (typeof b !== 'number') {
-                throw new Check.DeveloperError('b is a required number.');
-            }
-            if (typeof c !== 'number') {
-                throw new Check.DeveloperError('c is a required number.');
-            }
-            if (typeof d !== 'number') {
-                throw new Check.DeveloperError('d is a required number.');
-            }
-            //>>includeEnd('debug');
-
-            var a2 = a * a;
-            var b2 = b * b;
-            var c2 = c * c;
-            var d2 = d * d;
-
-            var discriminant = 18.0 * a * b * c * d + b2 * c2 - 27.0 * a2 * d2 - 4.0 * (a * c2 * c + b2 * b * d);
-            return discriminant;
-        };
-
-        function computeRealRoots(a, b, c, d) {
-            var A = a;
-            var B = b / 3.0;
-            var C = c / 3.0;
-            var D = d;
-
-            var AC = A * C;
-            var BD = B * D;
-            var B2 = B * B;
-            var C2 = C * C;
-            var delta1 = A * C - B2;
-            var delta2 = A * D - B * C;
-            var delta3 = B * D - C2;
-
-            var discriminant = 4.0 * delta1 * delta3 - delta2 * delta2;
-            var temp;
-            var temp1;
-
-            if (discriminant < 0.0) {
-                var ABar;
-                var CBar;
-                var DBar;
-
-                if (B2 * BD >= AC * C2) {
-                    ABar = A;
-                    CBar = delta1;
-                    DBar = -2.0 * B * delta1 + A * delta2;
-                } else {
-                    ABar = D;
-                    CBar = delta3;
-                    DBar = -D * delta2 + 2.0 * C * delta3;
-                }
-
-                var s = (DBar < 0.0) ? -1.0 : 1.0; // This is not Math.Sign()!
-                var temp0 = -s * Math.abs(ABar) * Math.sqrt(-discriminant);
-                temp1 = -DBar + temp0;
-
-                var x = temp1 / 2.0;
-                var p = x < 0.0 ? -Math.pow(-x, 1.0 / 3.0) : Math.pow(x, 1.0 / 3.0);
-                var q = (temp1 === temp0) ? -p : -CBar / p;
-
-                temp = (CBar <= 0.0) ? p + q : -DBar / (p * p + q * q + CBar);
-
-                if (B2 * BD >= AC * C2) {
-                    return [(temp - B) / A];
-                }
-
-                return [-D / (temp + C)];
-            }
-
-            var CBarA = delta1;
-            var DBarA = -2.0 * B * delta1 + A * delta2;
-
-            var CBarD = delta3;
-            var DBarD = -D * delta2 + 2.0 * C * delta3;
-
-            var squareRootOfDiscriminant = Math.sqrt(discriminant);
-            var halfSquareRootOf3 = Math.sqrt(3.0) / 2.0;
-
-            var theta = Math.abs(Math.atan2(A * squareRootOfDiscriminant, -DBarA) / 3.0);
-            temp = 2.0 * Math.sqrt(-CBarA);
-            var cosine = Math.cos(theta);
-            temp1 = temp * cosine;
-            var temp3 = temp * (-cosine / 2.0 - halfSquareRootOf3 * Math.sin(theta));
-
-            var numeratorLarge = (temp1 + temp3 > 2.0 * B) ? temp1 - B : temp3 - B;
-            var denominatorLarge = A;
-
-            var root1 = numeratorLarge / denominatorLarge;
-
-            theta = Math.abs(Math.atan2(D * squareRootOfDiscriminant, -DBarD) / 3.0);
-            temp = 2.0 * Math.sqrt(-CBarD);
-            cosine = Math.cos(theta);
-            temp1 = temp * cosine;
-            temp3 = temp * (-cosine / 2.0 - halfSquareRootOf3 * Math.sin(theta));
-
-            var numeratorSmall = -D;
-            var denominatorSmall = (temp1 + temp3 < 2.0 * C) ? temp1 + C : temp3 + C;
-
-            var root3 = numeratorSmall / denominatorSmall;
-
-            var E = denominatorLarge * denominatorSmall;
-            var F = -numeratorLarge * denominatorSmall - denominatorLarge * numeratorSmall;
-            var G = numeratorLarge * numeratorSmall;
-
-            var root2 = (C * F - B * G) / (-B * F + C * E);
-
-            if (root1 <= root2) {
-                if (root1 <= root3) {
-                    if (root2 <= root3) {
-                        return [root1, root2, root3];
-                    }
-                    return [root1, root3, root2];
-                }
-                return [root3, root1, root2];
-            }
-            if (root1 <= root3) {
-                return [root2, root1, root3];
-            }
-            if (root2 <= root3) {
-                return [root2, root3, root1];
-            }
-            return [root3, root2, root1];
-        }
-
-        /**
-         * Provides the real valued roots of the cubic polynomial with the provided coefficients.
-         *
-         * @param {Number} a The coefficient of the 3rd order monomial.
-         * @param {Number} b The coefficient of the 2nd order monomial.
-         * @param {Number} c The coefficient of the 1st order monomial.
-         * @param {Number} d The coefficient of the 0th order monomial.
-         * @returns {Number[]} The real valued roots.
-         */
-        CubicRealPolynomial.computeRealRoots = function(a, b, c, d) {
-            //>>includeStart('debug', pragmas.debug);
-            if (typeof a !== 'number') {
-                throw new Check.DeveloperError('a is a required number.');
-            }
-            if (typeof b !== 'number') {
-                throw new Check.DeveloperError('b is a required number.');
-            }
-            if (typeof c !== 'number') {
-                throw new Check.DeveloperError('c is a required number.');
-            }
-            if (typeof d !== 'number') {
-                throw new Check.DeveloperError('d is a required number.');
-            }
-            //>>includeEnd('debug');
-
-            var roots;
-            var ratio;
-            if (a === 0.0) {
-                // Quadratic function: b * x^2 + c * x + d = 0.
-                return QuadraticRealPolynomial.computeRealRoots(b, c, d);
-            } else if (b === 0.0) {
-                if (c === 0.0) {
-                    if (d === 0.0) {
-                        // 3rd order monomial: a * x^3 = 0.
-                        return [0.0, 0.0, 0.0];
-                    }
-
-                    // a * x^3 + d = 0
-                    ratio = -d / a;
-                    var root = (ratio < 0.0) ? -Math.pow(-ratio, 1.0 / 3.0) : Math.pow(ratio, 1.0 / 3.0);
-                    return [root, root, root];
-                } else if (d === 0.0) {
-                    // x * (a * x^2 + c) = 0.
-                    roots = QuadraticRealPolynomial.computeRealRoots(a, 0, c);
-
-                    // Return the roots in ascending order.
-                    if (roots.Length === 0) {
-                        return [0.0];
-                    }
-                    return [roots[0], 0.0, roots[1]];
-                }
-
-                // Deflated cubic polynomial: a * x^3 + c * x + d= 0.
-                return computeRealRoots(a, 0, c, d);
-            } else if (c === 0.0) {
-                if (d === 0.0) {
-                    // x^2 * (a * x + b) = 0.
-                    ratio = -b / a;
-                    if (ratio < 0.0) {
-                        return [ratio, 0.0, 0.0];
-                    }
-                    return [0.0, 0.0, ratio];
-                }
-                // a * x^3 + b * x^2 + d = 0.
-                return computeRealRoots(a, b, 0, d);
-            } else if (d === 0.0) {
-                // x * (a * x^2 + b * x + c) = 0
-                roots = QuadraticRealPolynomial.computeRealRoots(a, b, c);
-
-                // Return the roots in ascending order.
-                if (roots.length === 0) {
-                    return [0.0];
-                } else if (roots[1] <= 0.0) {
-                    return [roots[0], roots[1], 0.0];
-                } else if (roots[0] >= 0.0) {
-                    return [0.0, roots[0], roots[1]];
-                }
-                return [roots[0], 0.0, roots[1]];
-            }
-
-            return computeRealRoots(a, b, c, d);
-        };
-
-    /**
-         * Defines functions for 4th order polynomial functions of one variable with only real coefficients.
-         *
-         * @exports QuarticRealPolynomial
-         */
-        var QuarticRealPolynomial = {};
-
-        /**
-         * Provides the discriminant of the quartic equation from the supplied coefficients.
-         *
-         * @param {Number} a The coefficient of the 4th order monomial.
-         * @param {Number} b The coefficient of the 3rd order monomial.
-         * @param {Number} c The coefficient of the 2nd order monomial.
-         * @param {Number} d The coefficient of the 1st order monomial.
-         * @param {Number} e The coefficient of the 0th order monomial.
-         * @returns {Number} The value of the discriminant.
-         */
-        QuarticRealPolynomial.computeDiscriminant = function(a, b, c, d, e) {
-            //>>includeStart('debug', pragmas.debug);
-            if (typeof a !== 'number') {
-                throw new Check.DeveloperError('a is a required number.');
-            }
-            if (typeof b !== 'number') {
-                throw new Check.DeveloperError('b is a required number.');
-            }
-            if (typeof c !== 'number') {
-                throw new Check.DeveloperError('c is a required number.');
-            }
-            if (typeof d !== 'number') {
-                throw new Check.DeveloperError('d is a required number.');
-            }
-            if (typeof e !== 'number') {
-                throw new Check.DeveloperError('e is a required number.');
-            }
-            //>>includeEnd('debug');
-
-            var a2 = a * a;
-            var a3 = a2 * a;
-            var b2 = b * b;
-            var b3 = b2 * b;
-            var c2 = c * c;
-            var c3 = c2 * c;
-            var d2 = d * d;
-            var d3 = d2 * d;
-            var e2 = e * e;
-            var e3 = e2 * e;
-
-            var discriminant = (b2 * c2 * d2 - 4.0 * b3 * d3 - 4.0 * a * c3 * d2 + 18 * a * b * c * d3 - 27.0 * a2 * d2 * d2 + 256.0 * a3 * e3) +
-                e * (18.0 * b3 * c * d - 4.0 * b2 * c3 + 16.0 * a * c2 * c2 - 80.0 * a * b * c2 * d - 6.0 * a * b2 * d2 + 144.0 * a2 * c * d2) +
-                e2 * (144.0 * a * b2 * c - 27.0 * b2 * b2 - 128.0 * a2 * c2 - 192.0 * a2 * b * d);
-            return discriminant;
-        };
-
-        function original(a3, a2, a1, a0) {
-            var a3Squared = a3 * a3;
-
-            var p = a2 - 3.0 * a3Squared / 8.0;
-            var q = a1 - a2 * a3 / 2.0 + a3Squared * a3 / 8.0;
-            var r = a0 - a1 * a3 / 4.0 + a2 * a3Squared / 16.0 - 3.0 * a3Squared * a3Squared / 256.0;
-
-            // Find the roots of the cubic equations:  h^6 + 2 p h^4 + (p^2 - 4 r) h^2 - q^2 = 0.
-            var cubicRoots = CubicRealPolynomial.computeRealRoots(1.0, 2.0 * p, p * p - 4.0 * r, -q * q);
-
-            if (cubicRoots.length > 0) {
-                var temp = -a3 / 4.0;
-
-                // Use the largest positive root.
-                var hSquared = cubicRoots[cubicRoots.length - 1];
-
-                if (Math.abs(hSquared) < _Math.CesiumMath.EPSILON14) {
-                    // y^4 + p y^2 + r = 0.
-                    var roots = QuadraticRealPolynomial.computeRealRoots(1.0, p, r);
-
-                    if (roots.length === 2) {
-                        var root0 = roots[0];
-                        var root1 = roots[1];
-
-                        var y;
-                        if (root0 >= 0.0 && root1 >= 0.0) {
-                            var y0 = Math.sqrt(root0);
-                            var y1 = Math.sqrt(root1);
-
-                            return [temp - y1, temp - y0, temp + y0, temp + y1];
-                        } else if (root0 >= 0.0 && root1 < 0.0) {
-                            y = Math.sqrt(root0);
-                            return [temp - y, temp + y];
-                        } else if (root0 < 0.0 && root1 >= 0.0) {
-                            y = Math.sqrt(root1);
-                            return [temp - y, temp + y];
-                        }
-                    }
-                    return [];
-                } else if (hSquared > 0.0) {
-                    var h = Math.sqrt(hSquared);
-
-                    var m = (p + hSquared - q / h) / 2.0;
-                    var n = (p + hSquared + q / h) / 2.0;
-
-                    // Now solve the two quadratic factors:  (y^2 + h y + m)(y^2 - h y + n);
-                    var roots1 = QuadraticRealPolynomial.computeRealRoots(1.0, h, m);
-                    var roots2 = QuadraticRealPolynomial.computeRealRoots(1.0, -h, n);
-
-                    if (roots1.length !== 0) {
-                        roots1[0] += temp;
-                        roots1[1] += temp;
-
-                        if (roots2.length !== 0) {
-                            roots2[0] += temp;
-                            roots2[1] += temp;
-
-                            if (roots1[1] <= roots2[0]) {
-                                return [roots1[0], roots1[1], roots2[0], roots2[1]];
-                            } else if (roots2[1] <= roots1[0]) {
-                                return [roots2[0], roots2[1], roots1[0], roots1[1]];
-                            } else if (roots1[0] >= roots2[0] && roots1[1] <= roots2[1]) {
-                                return [roots2[0], roots1[0], roots1[1], roots2[1]];
-                            } else if (roots2[0] >= roots1[0] && roots2[1] <= roots1[1]) {
-                                return [roots1[0], roots2[0], roots2[1], roots1[1]];
-                            } else if (roots1[0] > roots2[0] && roots1[0] < roots2[1]) {
-                                return [roots2[0], roots1[0], roots2[1], roots1[1]];
-                            }
-                            return [roots1[0], roots2[0], roots1[1], roots2[1]];
-                        }
-                        return roots1;
-                    }
-
-                    if (roots2.length !== 0) {
-                        roots2[0] += temp;
-                        roots2[1] += temp;
-
-                        return roots2;
-                    }
-                    return [];
-                }
-            }
-            return [];
-        }
-
-        function neumark(a3, a2, a1, a0) {
-            var a1Squared = a1 * a1;
-            var a2Squared = a2 * a2;
-            var a3Squared = a3 * a3;
-
-            var p = -2.0 * a2;
-            var q = a1 * a3 + a2Squared - 4.0 * a0;
-            var r = a3Squared * a0 - a1 * a2 * a3 + a1Squared;
-
-            var cubicRoots = CubicRealPolynomial.computeRealRoots(1.0, p, q, r);
-
-            if (cubicRoots.length > 0) {
-                // Use the most positive root
-                var y = cubicRoots[0];
-
-                var temp = (a2 - y);
-                var tempSquared = temp * temp;
-
-                var g1 = a3 / 2.0;
-                var h1 = temp / 2.0;
-
-                var m = tempSquared - 4.0 * a0;
-                var mError = tempSquared + 4.0 * Math.abs(a0);
-
-                var n = a3Squared - 4.0 * y;
-                var nError = a3Squared + 4.0 * Math.abs(y);
-
-                var g2;
-                var h2;
-
-                if (y < 0.0 || (m * nError < n * mError)) {
-                    var squareRootOfN = Math.sqrt(n);
-                    g2 = squareRootOfN / 2.0;
-                    h2 = squareRootOfN === 0.0 ? 0.0 : (a3 * h1 - a1) / squareRootOfN;
-                } else {
-                    var squareRootOfM = Math.sqrt(m);
-                    g2 = squareRootOfM === 0.0 ? 0.0 : (a3 * h1 - a1) / squareRootOfM;
-                    h2 = squareRootOfM / 2.0;
-                }
-
-                var G;
-                var g;
-                if (g1 === 0.0 && g2 === 0.0) {
-                    G = 0.0;
-                    g = 0.0;
-                } else if (_Math.CesiumMath.sign(g1) === _Math.CesiumMath.sign(g2)) {
-                    G = g1 + g2;
-                    g = y / G;
-                } else {
-                    g = g1 - g2;
-                    G = y / g;
-                }
-
-                var H;
-                var h;
-                if (h1 === 0.0 && h2 === 0.0) {
-                    H = 0.0;
-                    h = 0.0;
-                } else if (_Math.CesiumMath.sign(h1) === _Math.CesiumMath.sign(h2)) {
-                    H = h1 + h2;
-                    h = a0 / H;
-                } else {
-                    h = h1 - h2;
-                    H = a0 / h;
-                }
-
-                // Now solve the two quadratic factors:  (y^2 + G y + H)(y^2 + g y + h);
-                var roots1 = QuadraticRealPolynomial.computeRealRoots(1.0, G, H);
-                var roots2 = QuadraticRealPolynomial.computeRealRoots(1.0, g, h);
-
-                if (roots1.length !== 0) {
-                    if (roots2.length !== 0) {
-                        if (roots1[1] <= roots2[0]) {
-                            return [roots1[0], roots1[1], roots2[0], roots2[1]];
-                        } else if (roots2[1] <= roots1[0]) {
-                            return [roots2[0], roots2[1], roots1[0], roots1[1]];
-                        } else if (roots1[0] >= roots2[0] && roots1[1] <= roots2[1]) {
-                            return [roots2[0], roots1[0], roots1[1], roots2[1]];
-                        } else if (roots2[0] >= roots1[0] && roots2[1] <= roots1[1]) {
-                            return [roots1[0], roots2[0], roots2[1], roots1[1]];
-                        } else if (roots1[0] > roots2[0] && roots1[0] < roots2[1]) {
-                            return [roots2[0], roots1[0], roots2[1], roots1[1]];
-                        }
-                        return [roots1[0], roots2[0], roots1[1], roots2[1]];
-                    }
-                    return roots1;
-                }
-                if (roots2.length !== 0) {
-                    return roots2;
-                }
-            }
-            return [];
-        }
-
-        /**
-         * Provides the real valued roots of the quartic polynomial with the provided coefficients.
-         *
-         * @param {Number} a The coefficient of the 4th order monomial.
-         * @param {Number} b The coefficient of the 3rd order monomial.
-         * @param {Number} c The coefficient of the 2nd order monomial.
-         * @param {Number} d The coefficient of the 1st order monomial.
-         * @param {Number} e The coefficient of the 0th order monomial.
-         * @returns {Number[]} The real valued roots.
-         */
-        QuarticRealPolynomial.computeRealRoots = function(a, b, c, d, e) {
-            //>>includeStart('debug', pragmas.debug);
-            if (typeof a !== 'number') {
-                throw new Check.DeveloperError('a is a required number.');
-            }
-            if (typeof b !== 'number') {
-                throw new Check.DeveloperError('b is a required number.');
-            }
-            if (typeof c !== 'number') {
-                throw new Check.DeveloperError('c is a required number.');
-            }
-            if (typeof d !== 'number') {
-                throw new Check.DeveloperError('d is a required number.');
-            }
-            if (typeof e !== 'number') {
-                throw new Check.DeveloperError('e is a required number.');
-            }
-            //>>includeEnd('debug');
-
-            if (Math.abs(a) < _Math.CesiumMath.EPSILON15) {
-                return CubicRealPolynomial.computeRealRoots(b, c, d, e);
-            }
-            var a3 = b / a;
-            var a2 = c / a;
-            var a1 = d / a;
-            var a0 = e / a;
-
-            var k = (a3 < 0.0) ? 1 : 0;
-            k += (a2 < 0.0) ? k + 1 : k;
-            k += (a1 < 0.0) ? k + 1 : k;
-            k += (a0 < 0.0) ? k + 1 : k;
-
-            switch (k) {
-            case 0:
-                return original(a3, a2, a1, a0);
-            case 1:
-                return neumark(a3, a2, a1, a0);
-            case 2:
-                return neumark(a3, a2, a1, a0);
-            case 3:
-                return original(a3, a2, a1, a0);
-            case 4:
-                return original(a3, a2, a1, a0);
-            case 5:
-                return neumark(a3, a2, a1, a0);
-            case 6:
-                return original(a3, a2, a1, a0);
-            case 7:
-                return original(a3, a2, a1, a0);
-            case 8:
-                return neumark(a3, a2, a1, a0);
-            case 9:
-                return original(a3, a2, a1, a0);
-            case 10:
-                return original(a3, a2, a1, a0);
-            case 11:
-                return neumark(a3, a2, a1, a0);
-            case 12:
-                return original(a3, a2, a1, a0);
-            case 13:
-                return original(a3, a2, a1, a0);
-            case 14:
-                return original(a3, a2, a1, a0);
-            case 15:
-                return original(a3, a2, a1, a0);
-            default:
-                return undefined;
-            }
-        };
-
-    /**
-         * Represents a ray that extends infinitely from the provided origin in the provided direction.
-         * @alias Ray
-         * @constructor
-         *
-         * @param {Cartesian3} [origin=Cartesian3.ZERO] The origin of the ray.
-         * @param {Cartesian3} [direction=Cartesian3.ZERO] The direction of the ray.
-         */
-        function Ray(origin, direction) {
-            direction = Cartesian2.Cartesian3.clone(when.defaultValue(direction, Cartesian2.Cartesian3.ZERO));
-            if (!Cartesian2.Cartesian3.equals(direction, Cartesian2.Cartesian3.ZERO)) {
-                Cartesian2.Cartesian3.normalize(direction, direction);
-            }
-
-            /**
-             * The origin of the ray.
-             * @type {Cartesian3}
-             * @default {@link Cartesian3.ZERO}
-             */
-            this.origin = Cartesian2.Cartesian3.clone(when.defaultValue(origin, Cartesian2.Cartesian3.ZERO));
-
-            /**
-             * The direction of the ray.
-             * @type {Cartesian3}
-             */
-            this.direction = direction;
-        }
-
-        /**
-         * Duplicates a Ray instance.
-         *
-         * @param {Ray} ray The ray to duplicate.
-         * @param {Ray} [result] The object onto which to store the result.
-         * @returns {Ray} The modified result parameter or a new Ray instance if one was not provided. (Returns undefined if ray is undefined)
-         */
-        Ray.clone = function(ray, result) {
-            if (!when.defined(ray)) {
-                return undefined;
-            }
-            if (!when.defined(result)) {
-                return new Ray(ray.origin, ray.direction);
-            }
-            result.origin = Cartesian2.Cartesian3.clone(ray.origin);
-            result.direction = Cartesian2.Cartesian3.clone(ray.direction);
-            return result;
-        };
-
-        /**
-         * Computes the point along the ray given by r(t) = o + t*d,
-         * where o is the origin of the ray and d is the direction.
-         *
-         * @param {Ray} ray The ray.
-         * @param {Number} t A scalar value.
-         * @param {Cartesian3} [result] The object in which the result will be stored.
-         * @returns {Cartesian3} The modified result parameter, or a new instance if none was provided.
-         *
-         * @example
-         * //Get the first intersection point of a ray and an ellipsoid.
-         * var intersection = Cesium.IntersectionTests.rayEllipsoid(ray, ellipsoid);
-         * var point = Cesium.Ray.getPoint(ray, intersection.start);
-         */
-        Ray.getPoint = function(ray, t, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('ray', ray);
-            Check.Check.typeOf.number('t', t);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian3();
-            }
-
-            result = Cartesian2.Cartesian3.multiplyByScalar(ray.direction, t, result);
-            return Cartesian2.Cartesian3.add(ray.origin, result, result);
-        };
-
-    /**
-         * Functions for computing the intersection between geometries such as rays, planes, triangles, and ellipsoids.
-         *
-         * @exports IntersectionTests
-         * @namespace
-         */
-        var IntersectionTests = {};
-
-        /**
-         * Computes the intersection of a ray and a plane.
-         *
-         * @param {Ray} ray The ray.
-         * @param {Plane} plane The plane.
-         * @param {Cartesian3} [result] The object onto which to store the result.
-         * @returns {Cartesian3} The intersection point or undefined if there is no intersections.
-         */
-        IntersectionTests.rayPlane = function(ray, plane, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(ray)) {
-                throw new Check.DeveloperError('ray is required.');
-            }
-            if (!when.defined(plane)) {
-                throw new Check.DeveloperError('plane is required.');
-            }
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian3();
-            }
-
-            var origin = ray.origin;
-            var direction = ray.direction;
-            var normal = plane.normal;
-            var denominator = Cartesian2.Cartesian3.dot(normal, direction);
-
-            if (Math.abs(denominator) < _Math.CesiumMath.EPSILON15) {
-                // Ray is parallel to plane.  The ray may be in the polygon's plane.
-                return undefined;
-            }
-
-            var t = (-plane.distance - Cartesian2.Cartesian3.dot(normal, origin)) / denominator;
-
-            if (t < 0) {
-                return undefined;
-            }
-
-            result = Cartesian2.Cartesian3.multiplyByScalar(direction, t, result);
-            return Cartesian2.Cartesian3.add(origin, result, result);
-        };
-
-        var scratchEdge0 = new Cartesian2.Cartesian3();
-        var scratchEdge1 = new Cartesian2.Cartesian3();
-        var scratchPVec = new Cartesian2.Cartesian3();
-        var scratchTVec = new Cartesian2.Cartesian3();
-        var scratchQVec = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes the intersection of a ray and a triangle as a parametric distance along the input ray. The result is negative when the triangle is behind the ray.
-         *
-         * Implements {@link https://cadxfem.org/inf/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf|
-         * Fast Minimum Storage Ray/Triangle Intersection} by Tomas Moller and Ben Trumbore.
-         *
-         * @memberof IntersectionTests
-         *
-         * @param {Ray} ray The ray.
-         * @param {Cartesian3} p0 The first vertex of the triangle.
-         * @param {Cartesian3} p1 The second vertex of the triangle.
-         * @param {Cartesian3} p2 The third vertex of the triangle.
-         * @param {Boolean} [cullBackFaces=false] If <code>true</code>, will only compute an intersection with the front face of the triangle
-         *                  and return undefined for intersections with the back face.
-         * @returns {Number} The intersection as a parametric distance along the ray, or undefined if there is no intersection.
-         */
-        IntersectionTests.rayTriangleParametric  = function(ray, p0, p1, p2, cullBackFaces) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(ray)) {
-                throw new Check.DeveloperError('ray is required.');
-            }
-            if (!when.defined(p0)) {
-                throw new Check.DeveloperError('p0 is required.');
-            }
-            if (!when.defined(p1)) {
-                throw new Check.DeveloperError('p1 is required.');
-            }
-            if (!when.defined(p2)) {
-                throw new Check.DeveloperError('p2 is required.');
-            }
-            //>>includeEnd('debug');
-
-            cullBackFaces = when.defaultValue(cullBackFaces, false);
-
-            var origin = ray.origin;
-            var direction = ray.direction;
-
-            var edge0 = Cartesian2.Cartesian3.subtract(p1, p0, scratchEdge0);
-            var edge1 = Cartesian2.Cartesian3.subtract(p2, p0, scratchEdge1);
-
-            var p = Cartesian2.Cartesian3.cross(direction, edge1, scratchPVec);
-            var det = Cartesian2.Cartesian3.dot(edge0, p);
-
-            var tvec;
-            var q;
-
-            var u;
-            var v;
-            var t;
-
-            if (cullBackFaces) {
-                if (det < _Math.CesiumMath.EPSILON6) {
-                    return undefined;
-                }
-
-                tvec = Cartesian2.Cartesian3.subtract(origin, p0, scratchTVec);
-                u = Cartesian2.Cartesian3.dot(tvec, p);
-                if (u < 0.0 || u > det) {
-                    return undefined;
-                }
-
-                q = Cartesian2.Cartesian3.cross(tvec, edge0, scratchQVec);
-
-                v = Cartesian2.Cartesian3.dot(direction, q);
-                if (v < 0.0 || u + v > det) {
-                    return undefined;
-                }
-
-                t = Cartesian2.Cartesian3.dot(edge1, q) / det;
-            } else {
-                if (Math.abs(det) < _Math.CesiumMath.EPSILON6) {
-                    return undefined;
-                }
-                var invDet = 1.0 / det;
-
-                tvec = Cartesian2.Cartesian3.subtract(origin, p0, scratchTVec);
-                u = Cartesian2.Cartesian3.dot(tvec, p) * invDet;
-                if (u < 0.0 || u > 1.0) {
-                    return undefined;
-                }
-
-                q = Cartesian2.Cartesian3.cross(tvec, edge0, scratchQVec);
-
-                v = Cartesian2.Cartesian3.dot(direction, q) * invDet;
-                if (v < 0.0 || u + v > 1.0) {
-                    return undefined;
-                }
-
-                t = Cartesian2.Cartesian3.dot(edge1, q) * invDet;
-            }
-
-            return t;
-        };
-
-        /**
-         * Computes the intersection of a ray and a triangle as a Cartesian3 coordinate.
-         *
-         * Implements {@link https://cadxfem.org/inf/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf|
-         * Fast Minimum Storage Ray/Triangle Intersection} by Tomas Moller and Ben Trumbore.
-         *
-         * @memberof IntersectionTests
-         *
-         * @param {Ray} ray The ray.
-         * @param {Cartesian3} p0 The first vertex of the triangle.
-         * @param {Cartesian3} p1 The second vertex of the triangle.
-         * @param {Cartesian3} p2 The third vertex of the triangle.
-         * @param {Boolean} [cullBackFaces=false] If <code>true</code>, will only compute an intersection with the front face of the triangle
-         *                  and return undefined for intersections with the back face.
-         * @param {Cartesian3} [result] The <code>Cartesian3</code> onto which to store the result.
-         * @returns {Cartesian3} The intersection point or undefined if there is no intersections.
-         */
-        IntersectionTests.rayTriangle = function(ray, p0, p1, p2, cullBackFaces, result) {
-            var t = IntersectionTests.rayTriangleParametric(ray, p0, p1, p2, cullBackFaces);
-            if (!when.defined(t) || t < 0.0) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian3();
-            }
-
-            Cartesian2.Cartesian3.multiplyByScalar(ray.direction, t, result);
-            return Cartesian2.Cartesian3.add(ray.origin, result, result);
-        };
-
-        var scratchLineSegmentTriangleRay = new Ray();
-
-        /**
-         * Computes the intersection of a line segment and a triangle.
-         * @memberof IntersectionTests
-         *
-         * @param {Cartesian3} v0 The an end point of the line segment.
-         * @param {Cartesian3} v1 The other end point of the line segment.
-         * @param {Cartesian3} p0 The first vertex of the triangle.
-         * @param {Cartesian3} p1 The second vertex of the triangle.
-         * @param {Cartesian3} p2 The third vertex of the triangle.
-         * @param {Boolean} [cullBackFaces=false] If <code>true</code>, will only compute an intersection with the front face of the triangle
-         *                  and return undefined for intersections with the back face.
-         * @param {Cartesian3} [result] The <code>Cartesian3</code> onto which to store the result.
-         * @returns {Cartesian3} The intersection point or undefined if there is no intersections.
-         */
-        IntersectionTests.lineSegmentTriangle = function(v0, v1, p0, p1, p2, cullBackFaces, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(v0)) {
-                throw new Check.DeveloperError('v0 is required.');
-            }
-            if (!when.defined(v1)) {
-                throw new Check.DeveloperError('v1 is required.');
-            }
-            if (!when.defined(p0)) {
-                throw new Check.DeveloperError('p0 is required.');
-            }
-            if (!when.defined(p1)) {
-                throw new Check.DeveloperError('p1 is required.');
-            }
-            if (!when.defined(p2)) {
-                throw new Check.DeveloperError('p2 is required.');
-            }
-            //>>includeEnd('debug');
-
-            var ray = scratchLineSegmentTriangleRay;
-            Cartesian2.Cartesian3.clone(v0, ray.origin);
-            Cartesian2.Cartesian3.subtract(v1, v0, ray.direction);
-            Cartesian2.Cartesian3.normalize(ray.direction, ray.direction);
-
-            var t = IntersectionTests.rayTriangleParametric(ray, p0, p1, p2, cullBackFaces);
-            if (!when.defined(t) || t < 0.0 || t > Cartesian2.Cartesian3.distance(v0, v1)) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian3();
-            }
-
-            Cartesian2.Cartesian3.multiplyByScalar(ray.direction, t, result);
-            return Cartesian2.Cartesian3.add(ray.origin, result, result);
-        };
-
-        function solveQuadratic(a, b, c, result) {
-            var det = b * b - 4.0 * a * c;
-            if (det < 0.0) {
-                return undefined;
-            } else if (det > 0.0) {
-                var denom = 1.0 / (2.0 * a);
-                var disc = Math.sqrt(det);
-                var root0 = (-b + disc) * denom;
-                var root1 = (-b - disc) * denom;
-
-                if (root0 < root1) {
-                    result.root0 = root0;
-                    result.root1 = root1;
-                } else {
-                    result.root0 = root1;
-                    result.root1 = root0;
-                }
-
-                return result;
-            }
-
-            var root = -b / (2.0 * a);
-            if (root === 0.0) {
-                return undefined;
-            }
-
-            result.root0 = result.root1 = root;
-            return result;
-        }
-
-        var raySphereRoots = {
-            root0 : 0.0,
-            root1 : 0.0
-        };
-
-        function raySphere(ray, sphere, result) {
-            if (!when.defined(result)) {
-                result = new BoundingSphere.Interval();
-            }
-
-            var origin = ray.origin;
-            var direction = ray.direction;
-
-            var center = sphere.center;
-            var radiusSquared = sphere.radius * sphere.radius;
-
-            var diff = Cartesian2.Cartesian3.subtract(origin, center, scratchPVec);
-
-            var a = Cartesian2.Cartesian3.dot(direction, direction);
-            var b = 2.0 * Cartesian2.Cartesian3.dot(direction, diff);
-            var c = Cartesian2.Cartesian3.magnitudeSquared(diff) - radiusSquared;
-
-            var roots = solveQuadratic(a, b, c, raySphereRoots);
-            if (!when.defined(roots)) {
-                return undefined;
-            }
-
-            result.start = roots.root0;
-            result.stop = roots.root1;
-            return result;
-        }
-
-        /**
-         * Computes the intersection points of a ray with a sphere.
-         * @memberof IntersectionTests
-         *
-         * @param {Ray} ray The ray.
-         * @param {BoundingSphere} sphere The sphere.
-         * @param {Interval} [result] The result onto which to store the result.
-         * @returns {Interval} The interval containing scalar points along the ray or undefined if there are no intersections.
-         */
-        IntersectionTests.raySphere = function(ray, sphere, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(ray)) {
-                throw new Check.DeveloperError('ray is required.');
-            }
-            if (!when.defined(sphere)) {
-                throw new Check.DeveloperError('sphere is required.');
-            }
-            //>>includeEnd('debug');
-
-            result = raySphere(ray, sphere, result);
-            if (!when.defined(result) || result.stop < 0.0) {
-                return undefined;
-            }
-
-            result.start = Math.max(result.start, 0.0);
-            return result;
-        };
-
-        var scratchLineSegmentRay = new Ray();
-
-        /**
-         * Computes the intersection points of a line segment with a sphere.
-         * @memberof IntersectionTests
-         *
-         * @param {Cartesian3} p0 An end point of the line segment.
-         * @param {Cartesian3} p1 The other end point of the line segment.
-         * @param {BoundingSphere} sphere The sphere.
-         * @param {Interval} [result] The result onto which to store the result.
-         * @returns {Interval} The interval containing scalar points along the ray or undefined if there are no intersections.
-         */
-        IntersectionTests.lineSegmentSphere = function(p0, p1, sphere, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(p0)) {
-                throw new Check.DeveloperError('p0 is required.');
-            }
-            if (!when.defined(p1)) {
-                throw new Check.DeveloperError('p1 is required.');
-            }
-            if (!when.defined(sphere)) {
-                throw new Check.DeveloperError('sphere is required.');
-            }
-            //>>includeEnd('debug');
-
-            var ray = scratchLineSegmentRay;
-            Cartesian2.Cartesian3.clone(p0, ray.origin);
-            var direction = Cartesian2.Cartesian3.subtract(p1, p0, ray.direction);
-
-            var maxT = Cartesian2.Cartesian3.magnitude(direction);
-            Cartesian2.Cartesian3.normalize(direction, direction);
-
-            result = raySphere(ray, sphere, result);
-            if (!when.defined(result) || result.stop < 0.0 || result.start > maxT) {
-                return undefined;
-            }
-
-            result.start = Math.max(result.start, 0.0);
-            result.stop = Math.min(result.stop, maxT);
-            return result;
-        };
-
-        var scratchQ = new Cartesian2.Cartesian3();
-        var scratchW = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes the intersection points of a ray with an ellipsoid.
-         *
-         * @param {Ray} ray The ray.
-         * @param {Ellipsoid} ellipsoid The ellipsoid.
-         * @returns {Interval} The interval containing scalar points along the ray or undefined if there are no intersections.
-         */
-        IntersectionTests.rayEllipsoid = function(ray, ellipsoid) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(ray)) {
-                throw new Check.DeveloperError('ray is required.');
-            }
-            if (!when.defined(ellipsoid)) {
-                throw new Check.DeveloperError('ellipsoid is required.');
-            }
-            //>>includeEnd('debug');
-
-            var inverseRadii = ellipsoid.oneOverRadii;
-            var q = Cartesian2.Cartesian3.multiplyComponents(inverseRadii, ray.origin, scratchQ);
-            var w = Cartesian2.Cartesian3.multiplyComponents(inverseRadii, ray.direction, scratchW);
-
-            var q2 = Cartesian2.Cartesian3.magnitudeSquared(q);
-            var qw = Cartesian2.Cartesian3.dot(q, w);
-
-            var difference, w2, product, discriminant, temp;
-
-            if (q2 > 1.0) {
-                // Outside ellipsoid.
-                if (qw >= 0.0) {
-                    // Looking outward or tangent (0 intersections).
-                    return undefined;
-                }
-
-                // qw < 0.0.
-                var qw2 = qw * qw;
-                difference = q2 - 1.0; // Positively valued.
-                w2 = Cartesian2.Cartesian3.magnitudeSquared(w);
-                product = w2 * difference;
-
-                if (qw2 < product) {
-                    // Imaginary roots (0 intersections).
-                    return undefined;
-                } else if (qw2 > product) {
-                    // Distinct roots (2 intersections).
-                    discriminant = qw * qw - product;
-                    temp = -qw + Math.sqrt(discriminant); // Avoid cancellation.
-                    var root0 = temp / w2;
-                    var root1 = difference / temp;
-                    if (root0 < root1) {
-                        return new BoundingSphere.Interval(root0, root1);
-                    }
-
-                    return {
-                        start : root1,
-                        stop : root0
-                    };
-                }
-                // qw2 == product.  Repeated roots (2 intersections).
-                var root = Math.sqrt(difference / w2);
-                return new BoundingSphere.Interval(root, root);
-            } else if (q2 < 1.0) {
-                // Inside ellipsoid (2 intersections).
-                difference = q2 - 1.0; // Negatively valued.
-                w2 = Cartesian2.Cartesian3.magnitudeSquared(w);
-                product = w2 * difference; // Negatively valued.
-
-                discriminant = qw * qw - product;
-                temp = -qw + Math.sqrt(discriminant); // Positively valued.
-                return new BoundingSphere.Interval(0.0, temp / w2);
-            }
-            // q2 == 1.0. On ellipsoid.
-            if (qw < 0.0) {
-                // Looking inward.
-                w2 = Cartesian2.Cartesian3.magnitudeSquared(w);
-                return new BoundingSphere.Interval(0.0, -qw / w2);
-            }
-
-            // qw >= 0.0.  Looking outward or tangent.
-            return undefined;
-        };
-
-        function addWithCancellationCheck$1(left, right, tolerance) {
-            var difference = left + right;
-            if ((_Math.CesiumMath.sign(left) !== _Math.CesiumMath.sign(right)) &&
-                    Math.abs(difference / Math.max(Math.abs(left), Math.abs(right))) < tolerance) {
-                return 0.0;
-            }
-
-            return difference;
-        }
-
-        function quadraticVectorExpression(A, b, c, x, w) {
-            var xSquared = x * x;
-            var wSquared = w * w;
-
-            var l2 = (A[BoundingSphere.Matrix3.COLUMN1ROW1] - A[BoundingSphere.Matrix3.COLUMN2ROW2]) * wSquared;
-            var l1 = w * (x * addWithCancellationCheck$1(A[BoundingSphere.Matrix3.COLUMN1ROW0], A[BoundingSphere.Matrix3.COLUMN0ROW1], _Math.CesiumMath.EPSILON15) + b.y);
-            var l0 = (A[BoundingSphere.Matrix3.COLUMN0ROW0] * xSquared + A[BoundingSphere.Matrix3.COLUMN2ROW2] * wSquared) + x * b.x + c;
-
-            var r1 = wSquared * addWithCancellationCheck$1(A[BoundingSphere.Matrix3.COLUMN2ROW1], A[BoundingSphere.Matrix3.COLUMN1ROW2], _Math.CesiumMath.EPSILON15);
-            var r0 = w * (x * addWithCancellationCheck$1(A[BoundingSphere.Matrix3.COLUMN2ROW0], A[BoundingSphere.Matrix3.COLUMN0ROW2]) + b.z);
-
-            var cosines;
-            var solutions = [];
-            if (r0 === 0.0 && r1 === 0.0) {
-                cosines = QuadraticRealPolynomial.computeRealRoots(l2, l1, l0);
-                if (cosines.length === 0) {
-                    return solutions;
-                }
-
-                var cosine0 = cosines[0];
-                var sine0 = Math.sqrt(Math.max(1.0 - cosine0 * cosine0, 0.0));
-                solutions.push(new Cartesian2.Cartesian3(x, w * cosine0, w * -sine0));
-                solutions.push(new Cartesian2.Cartesian3(x, w * cosine0, w * sine0));
-
-                if (cosines.length === 2) {
-                    var cosine1 = cosines[1];
-                    var sine1 = Math.sqrt(Math.max(1.0 - cosine1 * cosine1, 0.0));
-                    solutions.push(new Cartesian2.Cartesian3(x, w * cosine1, w * -sine1));
-                    solutions.push(new Cartesian2.Cartesian3(x, w * cosine1, w * sine1));
-                }
-
-                return solutions;
-            }
-
-            var r0Squared = r0 * r0;
-            var r1Squared = r1 * r1;
-            var l2Squared = l2 * l2;
-            var r0r1 = r0 * r1;
-
-            var c4 = l2Squared + r1Squared;
-            var c3 = 2.0 * (l1 * l2 + r0r1);
-            var c2 = 2.0 * l0 * l2 + l1 * l1 - r1Squared + r0Squared;
-            var c1 = 2.0 * (l0 * l1 - r0r1);
-            var c0 = l0 * l0 - r0Squared;
-
-            if (c4 === 0.0 && c3 === 0.0 && c2 === 0.0 && c1 === 0.0) {
-                return solutions;
-            }
-
-            cosines = QuarticRealPolynomial.computeRealRoots(c4, c3, c2, c1, c0);
-            var length = cosines.length;
-            if (length === 0) {
-                return solutions;
-            }
-
-            for ( var i = 0; i < length; ++i) {
-                var cosine = cosines[i];
-                var cosineSquared = cosine * cosine;
-                var sineSquared = Math.max(1.0 - cosineSquared, 0.0);
-                var sine = Math.sqrt(sineSquared);
-
-                //var left = l2 * cosineSquared + l1 * cosine + l0;
-                var left;
-                if (_Math.CesiumMath.sign(l2) === _Math.CesiumMath.sign(l0)) {
-                    left = addWithCancellationCheck$1(l2 * cosineSquared + l0, l1 * cosine, _Math.CesiumMath.EPSILON12);
-                } else if (_Math.CesiumMath.sign(l0) === _Math.CesiumMath.sign(l1 * cosine)) {
-                    left = addWithCancellationCheck$1(l2 * cosineSquared, l1 * cosine + l0, _Math.CesiumMath.EPSILON12);
-                } else {
-                    left = addWithCancellationCheck$1(l2 * cosineSquared + l1 * cosine, l0, _Math.CesiumMath.EPSILON12);
-                }
-
-                var right = addWithCancellationCheck$1(r1 * cosine, r0, _Math.CesiumMath.EPSILON15);
-                var product = left * right;
-
-                if (product < 0.0) {
-                    solutions.push(new Cartesian2.Cartesian3(x, w * cosine, w * sine));
-                } else if (product > 0.0) {
-                    solutions.push(new Cartesian2.Cartesian3(x, w * cosine, w * -sine));
-                } else if (sine !== 0.0) {
-                    solutions.push(new Cartesian2.Cartesian3(x, w * cosine, w * -sine));
-                    solutions.push(new Cartesian2.Cartesian3(x, w * cosine, w * sine));
-                    ++i;
-                } else {
-                    solutions.push(new Cartesian2.Cartesian3(x, w * cosine, w * sine));
-                }
-            }
-
-            return solutions;
-        }
-
-        var firstAxisScratch = new Cartesian2.Cartesian3();
-        var secondAxisScratch = new Cartesian2.Cartesian3();
-        var thirdAxisScratch = new Cartesian2.Cartesian3();
-        var referenceScratch = new Cartesian2.Cartesian3();
-        var bCart = new Cartesian2.Cartesian3();
-        var bScratch = new BoundingSphere.Matrix3();
-        var btScratch = new BoundingSphere.Matrix3();
-        var diScratch = new BoundingSphere.Matrix3();
-        var dScratch = new BoundingSphere.Matrix3();
-        var cScratch = new BoundingSphere.Matrix3();
-        var tempMatrix = new BoundingSphere.Matrix3();
-        var aScratch = new BoundingSphere.Matrix3();
-        var sScratch = new Cartesian2.Cartesian3();
-        var closestScratch = new Cartesian2.Cartesian3();
-        var surfPointScratch = new Cartesian2.Cartographic();
-
-        /**
-         * Provides the point along the ray which is nearest to the ellipsoid.
-         *
-         * @param {Ray} ray The ray.
-         * @param {Ellipsoid} ellipsoid The ellipsoid.
-         * @returns {Cartesian3} The nearest planetodetic point on the ray.
-         */
-        IntersectionTests.grazingAltitudeLocation = function(ray, ellipsoid) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(ray)) {
-                throw new Check.DeveloperError('ray is required.');
-            }
-            if (!when.defined(ellipsoid)) {
-                throw new Check.DeveloperError('ellipsoid is required.');
-            }
-            //>>includeEnd('debug');
-
-            var position = ray.origin;
-            var direction = ray.direction;
-
-            if (!Cartesian2.Cartesian3.equals(position, Cartesian2.Cartesian3.ZERO)) {
-                var normal = ellipsoid.geodeticSurfaceNormal(position, firstAxisScratch);
-                if (Cartesian2.Cartesian3.dot(direction, normal) >= 0.0) { // The location provided is the closest point in altitude
-                    return position;
-                }
-            }
-
-            var intersects = when.defined(this.rayEllipsoid(ray, ellipsoid));
-
-            // Compute the scaled direction vector.
-            var f = ellipsoid.transformPositionToScaledSpace(direction, firstAxisScratch);
-
-            // Constructs a basis from the unit scaled direction vector. Construct its rotation and transpose.
-            var firstAxis = Cartesian2.Cartesian3.normalize(f, f);
-            var reference = Cartesian2.Cartesian3.mostOrthogonalAxis(f, referenceScratch);
-            var secondAxis = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(reference, firstAxis, secondAxisScratch), secondAxisScratch);
-            var thirdAxis  = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(firstAxis, secondAxis, thirdAxisScratch), thirdAxisScratch);
-            var B = bScratch;
-            B[0] = firstAxis.x;
-            B[1] = firstAxis.y;
-            B[2] = firstAxis.z;
-            B[3] = secondAxis.x;
-            B[4] = secondAxis.y;
-            B[5] = secondAxis.z;
-            B[6] = thirdAxis.x;
-            B[7] = thirdAxis.y;
-            B[8] = thirdAxis.z;
-
-            var B_T = BoundingSphere.Matrix3.transpose(B, btScratch);
-
-            // Get the scaling matrix and its inverse.
-            var D_I = BoundingSphere.Matrix3.fromScale(ellipsoid.radii, diScratch);
-            var D = BoundingSphere.Matrix3.fromScale(ellipsoid.oneOverRadii, dScratch);
-
-            var C = cScratch;
-            C[0] = 0.0;
-            C[1] = -direction.z;
-            C[2] = direction.y;
-            C[3] = direction.z;
-            C[4] = 0.0;
-            C[5] = -direction.x;
-            C[6] = -direction.y;
-            C[7] = direction.x;
-            C[8] = 0.0;
-
-            var temp = BoundingSphere.Matrix3.multiply(BoundingSphere.Matrix3.multiply(B_T, D, tempMatrix), C, tempMatrix);
-            var A = BoundingSphere.Matrix3.multiply(BoundingSphere.Matrix3.multiply(temp, D_I, aScratch), B, aScratch);
-            var b = BoundingSphere.Matrix3.multiplyByVector(temp, position, bCart);
-
-            // Solve for the solutions to the expression in standard form:
-            var solutions = quadraticVectorExpression(A, Cartesian2.Cartesian3.negate(b, firstAxisScratch), 0.0, 0.0, 1.0);
-
-            var s;
-            var altitude;
-            var length = solutions.length;
-            if (length > 0) {
-                var closest = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, closestScratch);
-                var maximumValue = Number.NEGATIVE_INFINITY;
-
-                for ( var i = 0; i < length; ++i) {
-                    s = BoundingSphere.Matrix3.multiplyByVector(D_I, BoundingSphere.Matrix3.multiplyByVector(B, solutions[i], sScratch), sScratch);
-                    var v = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.subtract(s, position, referenceScratch), referenceScratch);
-                    var dotProduct = Cartesian2.Cartesian3.dot(v, direction);
-
-                    if (dotProduct > maximumValue) {
-                        maximumValue = dotProduct;
-                        closest = Cartesian2.Cartesian3.clone(s, closest);
-                    }
-                }
-
-                var surfacePoint = ellipsoid.cartesianToCartographic(closest, surfPointScratch);
-                maximumValue = _Math.CesiumMath.clamp(maximumValue, 0.0, 1.0);
-                altitude = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.subtract(closest, position, referenceScratch)) * Math.sqrt(1.0 - maximumValue * maximumValue);
-                altitude = intersects ? -altitude : altitude;
-                surfacePoint.height = altitude;
-                return ellipsoid.cartographicToCartesian(surfacePoint, new Cartesian2.Cartesian3());
-            }
-
-            return undefined;
-        };
-
-        var lineSegmentPlaneDifference = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes the intersection of a line segment and a plane.
-         *
-         * @param {Cartesian3} endPoint0 An end point of the line segment.
-         * @param {Cartesian3} endPoint1 The other end point of the line segment.
-         * @param {Plane} plane The plane.
-         * @param {Cartesian3} [result] The object onto which to store the result.
-         * @returns {Cartesian3} The intersection point or undefined if there is no intersection.
-         *
-         * @example
-         * var origin = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883);
-         * var normal = ellipsoid.geodeticSurfaceNormal(origin);
-         * var plane = Cesium.Plane.fromPointNormal(origin, normal);
-         *
-         * var p0 = new Cesium.Cartesian3(...);
-         * var p1 = new Cesium.Cartesian3(...);
-         *
-         * // find the intersection of the line segment from p0 to p1 and the tangent plane at origin.
-         * var intersection = Cesium.IntersectionTests.lineSegmentPlane(p0, p1, plane);
-         */
-        IntersectionTests.lineSegmentPlane = function(endPoint0, endPoint1, plane, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(endPoint0)) {
-                throw new Check.DeveloperError('endPoint0 is required.');
-            }
-            if (!when.defined(endPoint1)) {
-                throw new Check.DeveloperError('endPoint1 is required.');
-            }
-            if (!when.defined(plane)) {
-                throw new Check.DeveloperError('plane is required.');
-            }
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian3();
-            }
-
-            var difference = Cartesian2.Cartesian3.subtract(endPoint1, endPoint0, lineSegmentPlaneDifference);
-            var normal = plane.normal;
-            var nDotDiff = Cartesian2.Cartesian3.dot(normal, difference);
-
-            // check if the segment and plane are parallel
-            if (Math.abs(nDotDiff) < _Math.CesiumMath.EPSILON6) {
-                return undefined;
-            }
-
-            var nDotP0 = Cartesian2.Cartesian3.dot(normal, endPoint0);
-            var t = -(plane.distance + nDotP0) / nDotDiff;
-
-            // intersection only if t is in [0, 1]
-            if (t < 0.0 || t > 1.0) {
-                return undefined;
-            }
-
-            // intersection is endPoint0 + t * (endPoint1 - endPoint0)
-            Cartesian2.Cartesian3.multiplyByScalar(difference, t, result);
-            Cartesian2.Cartesian3.add(endPoint0, result, result);
-            return result;
-        };
-
-        /**
-         * Computes the intersection of a triangle and a plane
-         *
-         * @param {Cartesian3} p0 First point of the triangle
-         * @param {Cartesian3} p1 Second point of the triangle
-         * @param {Cartesian3} p2 Third point of the triangle
-         * @param {Plane} plane Intersection plane
-         * @returns {Object} An object with properties <code>positions</code> and <code>indices</code>, which are arrays that represent three triangles that do not cross the plane. (Undefined if no intersection exists)
-         *
-         * @example
-         * var origin = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883);
-         * var normal = ellipsoid.geodeticSurfaceNormal(origin);
-         * var plane = Cesium.Plane.fromPointNormal(origin, normal);
-         *
-         * var p0 = new Cesium.Cartesian3(...);
-         * var p1 = new Cesium.Cartesian3(...);
-         * var p2 = new Cesium.Cartesian3(...);
-         *
-         * // convert the triangle composed of points (p0, p1, p2) to three triangles that don't cross the plane
-         * var triangles = Cesium.IntersectionTests.trianglePlaneIntersection(p0, p1, p2, plane);
-         */
-        IntersectionTests.trianglePlaneIntersection = function(p0, p1, p2, plane) {
-            //>>includeStart('debug', pragmas.debug);
-            if ((!when.defined(p0)) ||
-                (!when.defined(p1)) ||
-                (!when.defined(p2)) ||
-                (!when.defined(plane))) {
-                throw new Check.DeveloperError('p0, p1, p2, and plane are required.');
-            }
-            //>>includeEnd('debug');
-
-            var planeNormal = plane.normal;
-            var planeD = plane.distance;
-            var p0Behind = (Cartesian2.Cartesian3.dot(planeNormal, p0) + planeD) < 0.0;
-            var p1Behind = (Cartesian2.Cartesian3.dot(planeNormal, p1) + planeD) < 0.0;
-            var p2Behind = (Cartesian2.Cartesian3.dot(planeNormal, p2) + planeD) < 0.0;
-            // Given these dots products, the calls to lineSegmentPlaneIntersection
-            // always have defined results.
-
-            var numBehind = 0;
-            numBehind += p0Behind ? 1 : 0;
-            numBehind += p1Behind ? 1 : 0;
-            numBehind += p2Behind ? 1 : 0;
-
-            var u1, u2;
-            if (numBehind === 1 || numBehind === 2) {
-                u1 = new Cartesian2.Cartesian3();
-                u2 = new Cartesian2.Cartesian3();
-            }
-
-            if (numBehind === 1) {
-                if (p0Behind) {
-                    IntersectionTests.lineSegmentPlane(p0, p1, plane, u1);
-                    IntersectionTests.lineSegmentPlane(p0, p2, plane, u2);
-
-                    return {
-                        positions : [p0, p1, p2, u1, u2 ],
-                        indices : [
-                            // Behind
-                            0, 3, 4,
-
-                            // In front
-                            1, 2, 4,
-                            1, 4, 3
-                        ]
-                    };
-                } else if (p1Behind) {
-                    IntersectionTests.lineSegmentPlane(p1, p2, plane, u1);
-                    IntersectionTests.lineSegmentPlane(p1, p0, plane, u2);
-
-                    return {
-                        positions : [p0, p1, p2, u1, u2 ],
-                        indices : [
-                            // Behind
-                            1, 3, 4,
-
-                            // In front
-                            2, 0, 4,
-                            2, 4, 3
-                        ]
-                    };
-                } else if (p2Behind) {
-                    IntersectionTests.lineSegmentPlane(p2, p0, plane, u1);
-                    IntersectionTests.lineSegmentPlane(p2, p1, plane, u2);
-
-                    return {
-                        positions : [p0, p1, p2, u1, u2 ],
-                        indices : [
-                            // Behind
-                            2, 3, 4,
-
-                            // In front
-                            0, 1, 4,
-                            0, 4, 3
-                        ]
-                    };
-                }
-            } else if (numBehind === 2) {
-                if (!p0Behind) {
-                    IntersectionTests.lineSegmentPlane(p1, p0, plane, u1);
-                    IntersectionTests.lineSegmentPlane(p2, p0, plane, u2);
-
-                    return {
-                        positions : [p0, p1, p2, u1, u2 ],
-                        indices : [
-                            // Behind
-                            1, 2, 4,
-                            1, 4, 3,
-
-                            // In front
-                            0, 3, 4
-                        ]
-                    };
-                } else if (!p1Behind) {
-                    IntersectionTests.lineSegmentPlane(p2, p1, plane, u1);
-                    IntersectionTests.lineSegmentPlane(p0, p1, plane, u2);
-
-                    return {
-                        positions : [p0, p1, p2, u1, u2 ],
-                        indices : [
-                            // Behind
-                            2, 0, 4,
-                            2, 4, 3,
-
-                            // In front
-                            1, 3, 4
-                        ]
-                    };
-                } else if (!p2Behind) {
-                    IntersectionTests.lineSegmentPlane(p0, p2, plane, u1);
-                    IntersectionTests.lineSegmentPlane(p1, p2, plane, u2);
-
-                    return {
-                        positions : [p0, p1, p2, u1, u2 ],
-                        indices : [
-                            // Behind
-                            0, 1, 4,
-                            0, 4, 3,
-
-                            // In front
-                            2, 3, 4
-                        ]
-                    };
-                }
-            }
-
-            // if numBehind is 3, the triangle is completely behind the plane;
-            // otherwise, it is completely in front (numBehind is 0).
-            return undefined;
-        };
-
-    exports.IntersectionTests = IntersectionTests;
-    exports.Ray = Ray;
-
-});
diff --git a/libs/supermap/Workers/MVTWorkTile.js b/libs/supermap/Workers/MVTWorkTile.js
deleted file mode 100644
index c2ec30b..0000000
--- a/libs/supermap/Workers/MVTWorkTile.js
+++ /dev/null
@@ -1,16714 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './createTaskProcessorWorker', './earcut-2.2.1-b404d9e6', './defined-21f7e510', './pbf-9fe59c76'], function (when, createTaskProcessorWorker, earcut2_2_1, defined, pbf) { 'use strict';
-
-    function DictionaryCoder(strings) {
-        this._stringToNumber = {};
-        this._numberToString = [];
-        for (var i = 0; i < strings.length; i++) {
-            var string = strings[i];
-            this._stringToNumber[string] = i;
-            this._numberToString[i] = string;
-        }
-    }
-
-    DictionaryCoder.prototype.encode = function(string) {
-        return this._stringToNumber[string];
-    };
-
-    DictionaryCoder.prototype.decode = function(n) {
-        return this._numberToString[n];
-    };
-
-    var viewTypes = {
-        'Int8': Int8Array,
-        'Uint8': Uint8Array,
-        'Int16': Int16Array,
-        'Uint16': Uint16Array,
-        'Int32': Int32Array,
-        'Uint32': Uint32Array,
-        'Float32': Float32Array
-    };
-
-    /**
-     * Given a list of member fields, create a full StructArrayLayout, in
-     * particular calculating the correct byte offset for each field.  This data
-     * is used at build time to generate StructArrayLayout_*#emplaceBack() and
-     * other accessors, and at runtime for binding vertex buffer attributes.
-     *
-     * @private
-     */
-    function createLayout(members, alignment) {
-        if (alignment === void 0) alignment = 1;
-
-
-        var offset = 0;
-        var maxSize = 0;
-        var layoutMembers = members.map(function (member) {
-            //assert_1(member.name.length);
-            var typeSize = sizeOf(member.type);
-            var memberOffset = offset = align(offset, Math.max(alignment, typeSize));
-            var components = member.components || 1;
-
-            maxSize = Math.max(maxSize, typeSize);
-            offset += typeSize * components;
-
-            return {
-                name: member.name,
-                type: member.type,
-                components: components,
-                offset: memberOffset,
-            };
-        });
-
-        var size = align(offset, Math.max(maxSize, alignment));
-
-        return {
-            members: layoutMembers,
-            size: size,
-            alignment: alignment
-        };
-    }
-
-    function sizeOf(type) {
-        return viewTypes[type].BYTES_PER_ELEMENT;
-    }
-
-    function align(offset, size) {
-        return Math.ceil(offset / size) * size;
-    }
-
-    var IMAGE_PADDING = 1;
-
-    var ImagePosition = function ImagePosition(paddedRect, ref) {
-        var pixelRatio = ref.pixelRatio;
-        var version = ref.version;
-        var stretchX = ref.stretchX;
-        var stretchY = ref.stretchY;
-        var content = ref.content;
-
-        this.paddedRect = paddedRect;
-        this.pixelRatio = pixelRatio;
-        this.stretchX = stretchX;
-        this.stretchY = stretchY;
-        this.content = content;
-        this.version = version;
-    };
-
-    var prototypeAccessors = { tl: { configurable: true }, br: { configurable: true }, tlbr: { configurable: true }, displaySize: { configurable: true } };
-
-    prototypeAccessors.tl.get = function () {
-        return [
-            this.paddedRect.x + IMAGE_PADDING,
-            this.paddedRect.y + IMAGE_PADDING
-        ];
-    };
-
-    prototypeAccessors.br.get = function () {
-        return [
-            this.paddedRect.x + this.paddedRect.w - IMAGE_PADDING,
-            this.paddedRect.y + this.paddedRect.h - IMAGE_PADDING
-        ];
-    };
-
-    prototypeAccessors.tlbr.get = function () {
-        return this.tl.concat(this.br);
-    };
-
-    prototypeAccessors.displaySize.get = function () {
-        return [
-            (this.paddedRect.w - IMAGE_PADDING * 2) / this.pixelRatio,
-            (this.paddedRect.h - IMAGE_PADDING * 2) / this.pixelRatio
-        ];
-    };
-
-    Object.defineProperties(ImagePosition.prototype, prototypeAccessors);
-
-    // Not premultiplied, because ImageData is not premultiplied.
-    // UNPACK_PREMULTIPLY_ALPHA_WEBGL must be used when uploading to a texture.
-    var RGBAImage = function RGBAImage(size, data) {
-        createImage(this, size, 4, data);
-    };
-
-    RGBAImage.prototype.resize = function resize(size) {
-        resizeImage(this, size, 4);
-    };
-
-    RGBAImage.prototype.replace = function replace(data, copy) {
-        if (copy) {
-            this.data.set(data);
-        } else if (data instanceof Uint8ClampedArray) {
-            this.data = new Uint8Array(data.buffer);
-        } else {
-            this.data = data;
-        }
-    };
-
-    RGBAImage.prototype.clone = function clone() {
-        return new RGBAImage({width: this.width, height: this.height}, new Uint8Array(this.data));
-    };
-
-    RGBAImage.copy = function copy(srcImg, dstImg, srcPt, dstPt, size) {
-        copyImage(srcImg, dstImg, srcPt, dstPt, size, 4);
-    };
-
-    function createImage(image, ref, channels, data) {
-        var width = ref.width;
-        var height = ref.height;
-
-        if (!data) {
-            data = new Uint8Array(width * height * channels);
-        } else if (data instanceof Uint8ClampedArray) {
-            data = new Uint8Array(data.buffer);
-        } else if (data.length !== width * height * channels) {
-            throw new RangeError('mismatched image size');
-        }
-        image.width = width;
-        image.height = height;
-        image.data = data;
-        return image;
-    }
-
-    function resizeImage(image, ref, channels) {
-        var width = ref.width;
-        var height = ref.height;
-
-        if (width === image.width && height === image.height) {
-            return;
-        }
-
-        var newImage = createImage({}, {width: width, height: height}, channels);
-
-        copyImage(image, newImage, {x: 0, y: 0}, {x: 0, y: 0}, {
-            width: Math.min(image.width, width),
-            height: Math.min(image.height, height)
-        }, channels);
-
-        image.width = width;
-        image.height = height;
-        image.data = newImage.data;
-    }
-
-    function copyImage(srcImg, dstImg, srcPt, dstPt, size, channels) {
-        if (size.width === 0 || size.height === 0) {
-            return dstImg;
-        }
-
-        if (size.width > srcImg.width ||
-            size.height > srcImg.height ||
-            srcPt.x > srcImg.width - size.width ||
-            srcPt.y > srcImg.height - size.height) {
-            throw new RangeError('out of range source coordinates for image copy');
-        }
-
-        if (size.width > dstImg.width ||
-            size.height > dstImg.height ||
-            dstPt.x > dstImg.width - size.width ||
-            dstPt.y > dstImg.height - size.height) {
-            throw new RangeError('out of range destination coordinates for image copy');
-        }
-
-        var srcData = srcImg.data;
-        var dstData = dstImg.data;
-
-        //assert_1(srcData !== dstData);
-
-        for (var y = 0; y < size.height; y++) {
-            var srcOffset = ((srcPt.y + y) * srcImg.width + srcPt.x) * channels;
-            var dstOffset = ((dstPt.y + y) * dstImg.width + dstPt.x) * channels;
-            for (var i = 0; i < size.width * channels; i++) {
-                dstData[dstOffset + i] = srcData[srcOffset + i];
-            }
-        }
-        return dstImg;
-    }
-
-    function potpack(boxes) {
-
-        // calculate total box area and maximum box width
-        var area = 0;
-        var maxWidth = 0;
-
-        for (var i$1 = 0, list = boxes; i$1 < list.length; i$1 += 1) {
-            var box = list[i$1];
-
-            area += box.w * box.h;
-            maxWidth = Math.max(maxWidth, box.w);
-        }
-
-        // sort the boxes for insertion by height, descending
-        boxes.sort(function (a, b) { return b.h - a.h; });
-
-        // aim for a squarish resulting container,
-        // slightly adjusted for sub-100% space utilization
-        var startWidth = Math.max(Math.ceil(Math.sqrt(area / 0.95)), maxWidth);
-
-        // start with a single empty space, unbounded at the bottom
-        var spaces = [{x: 0, y: 0, w: startWidth, h: Infinity}];
-
-        var width = 0;
-        var height = 0;
-
-        for (var i$2 = 0, list$1 = boxes; i$2 < list$1.length; i$2 += 1) {
-            // look through spaces backwards so that we check smaller spaces first
-            var box$1 = list$1[i$2];
-
-            for (var i = spaces.length - 1; i >= 0; i--) {
-                var space = spaces[i];
-
-                // look for empty spaces that can accommodate the current box
-                if (box$1.w > space.w || box$1.h > space.h) { continue; }
-
-                // found the space; add the box to its top-left corner
-                // |-------|-------|
-                // |  box  |       |
-                // |_______|       |
-                // |         space |
-                // |_______________|
-                box$1.x = space.x;
-                box$1.y = space.y;
-
-                height = Math.max(height, box$1.y + box$1.h);
-                width = Math.max(width, box$1.x + box$1.w);
-
-                if (box$1.w === space.w && box$1.h === space.h) {
-                    // space matches the box exactly; remove it
-                    var last = spaces.pop();
-                    if (i < spaces.length) { spaces[i] = last; }
-
-                } else if (box$1.h === space.h) {
-                    // space matches the box height; update it accordingly
-                    // |-------|---------------|
-                    // |  box  | updated space |
-                    // |_______|_______________|
-                    space.x += box$1.w;
-                    space.w -= box$1.w;
-
-                } else if (box$1.w === space.w) {
-                    // space matches the box width; update it accordingly
-                    // |---------------|
-                    // |      box      |
-                    // |_______________|
-                    // | updated space |
-                    // |_______________|
-                    space.y += box$1.h;
-                    space.h -= box$1.h;
-
-                } else {
-                    // otherwise the box splits the space into two spaces
-                    // |-------|-----------|
-                    // |  box  | new space |
-                    // |_______|___________|
-                    // | updated space     |
-                    // |___________________|
-                    spaces.push({
-                        x: space.x + box$1.w,
-                        y: space.y,
-                        w: space.w - box$1.w,
-                        h: box$1.h
-                    });
-                    space.y += box$1.h;
-                    space.h -= box$1.h;
-                }
-                break;
-            }
-        }
-
-        return {
-            w: width, // container width
-            h: height, // container height
-            fill: (area / (width * height)) || 0 // space utilization
-        };
-    }
-
-    var IMAGE_PADDING$1 = 1;
-
-    var ImageAtlas = function ImageAtlas(icons, patterns) {
-        var iconPositions = {}, patternPositions = {};
-        this.haveRenderCallbacks = [];
-
-        var bins = [];
-
-        this.addImages(icons, iconPositions, bins);
-        this.addImages(patterns, patternPositions, bins);
-
-        var ref = potpack(bins);
-        var w = ref.w;
-        var h = ref.h;
-        var image = new RGBAImage({width: w || 1, height: h || 1});
-
-        for (var id in icons) {
-            var src = icons[id];
-            var bin = iconPositions[id].paddedRect;
-            RGBAImage.copy(src.data, image, {x: 0, y: 0}, {x: bin.x + IMAGE_PADDING$1, y: bin.y + IMAGE_PADDING$1}, src.data);
-        }
-
-        for (var id$1 in patterns) {
-            var src$1 = patterns[id$1];
-            var bin$1 = patternPositions[id$1].paddedRect;
-            var x = bin$1.x + IMAGE_PADDING$1,
-                y = bin$1.y + IMAGE_PADDING$1,
-                w$1 = src$1.data.width,
-                h$1 = src$1.data.height;
-
-            RGBAImage.copy(src$1.data, image, {x: 0, y: 0}, {x: x, y: y}, src$1.data);
-            // Add 1 pixel wrapped padding on each side of the image.
-            RGBAImage.copy(src$1.data, image, {x: 0, y: h$1 - 1}, {x: x, y: y - 1}, {width: w$1, height: 1}); // T
-            RGBAImage.copy(src$1.data, image, {x: 0, y: 0}, {x: x, y: y + h$1}, {width: w$1, height: 1}); // B
-            RGBAImage.copy(src$1.data, image, {x: w$1 - 1, y: 0}, {x: x - 1, y: y}, {width: 1, height: h$1}); // L
-            RGBAImage.copy(src$1.data, image, {x: 0, y: 0}, {x: x + w$1, y: y}, {width: 1, height: h$1}); // R
-        }
-
-        this.image = image;
-        this.iconPositions = iconPositions;
-        this.patternPositions = patternPositions;
-    };
-
-    ImageAtlas.prototype.addImages = function addImages(images, positions, bins) {
-        for (var id in images) {
-            var src = images[id];
-            var bin = {
-                x: 0,
-                y: 0,
-                w: src.data.width + 2 * IMAGE_PADDING$1,
-                h: src.data.height + 2 * IMAGE_PADDING$1,
-            };
-            bins.push(bin);
-            positions[id] = new ImagePosition(bin, src);
-
-            if (src.hasRenderCallback) {
-                this.haveRenderCallbacks.push(id);
-            }
-        }
-    };
-
-    ImageAtlas.prototype.patchUpdatedImages = function patchUpdatedImages(imageManager, texture) {
-        imageManager.dispatchRenderCallbacks(this.haveRenderCallbacks);
-        for (var name in imageManager.updatedImages) {
-            this.patchUpdatedImage(this.iconPositions[name], imageManager.getImage(name), texture);
-            this.patchUpdatedImage(this.patternPositions[name], imageManager.getImage(name), texture);
-        }
-    };
-
-    ImageAtlas.prototype.patchUpdatedImage = function patchUpdatedImage(position, image, texture) {
-        if (!position || !image) {
-            return;
-        }
-
-        if (position.version === image.version) {
-            return;
-        }
-
-        position.version = image.version;
-        var ref = position.tl;
-        var x = ref[0];
-        var y = ref[1];
-        texture.update(image.data, undefined, {x: x, y: y});
-    };
-
-    // http://www.w3.org/TR/css3-color/
-    var kCSSColorTable = {
-        "transparent": [0,0,0,0], "aliceblue": [240,248,255,1],
-        "antiquewhite": [250,235,215,1], "aqua": [0,255,255,1],
-        "aquamarine": [127,255,212,1], "azure": [240,255,255,1],
-        "beige": [245,245,220,1], "bisque": [255,228,196,1],
-        "black": [0,0,0,1], "blanchedalmond": [255,235,205,1],
-        "blue": [0,0,255,1], "blueviolet": [138,43,226,1],
-        "brown": [165,42,42,1], "burlywood": [222,184,135,1],
-        "cadetblue": [95,158,160,1], "chartreuse": [127,255,0,1],
-        "chocolate": [210,105,30,1], "coral": [255,127,80,1],
-        "cornflowerblue": [100,149,237,1], "cornsilk": [255,248,220,1],
-        "crimson": [220,20,60,1], "cyan": [0,255,255,1],
-        "darkblue": [0,0,139,1], "darkcyan": [0,139,139,1],
-        "darkgoldenrod": [184,134,11,1], "darkgray": [169,169,169,1],
-        "darkgreen": [0,100,0,1], "darkgrey": [169,169,169,1],
-        "darkkhaki": [189,183,107,1], "darkmagenta": [139,0,139,1],
-        "darkolivegreen": [85,107,47,1], "darkorange": [255,140,0,1],
-        "darkorchid": [153,50,204,1], "darkred": [139,0,0,1],
-        "darksalmon": [233,150,122,1], "darkseagreen": [143,188,143,1],
-        "darkslateblue": [72,61,139,1], "darkslategray": [47,79,79,1],
-        "darkslategrey": [47,79,79,1], "darkturquoise": [0,206,209,1],
-        "darkviolet": [148,0,211,1], "deeppink": [255,20,147,1],
-        "deepskyblue": [0,191,255,1], "dimgray": [105,105,105,1],
-        "dimgrey": [105,105,105,1], "dodgerblue": [30,144,255,1],
-        "firebrick": [178,34,34,1], "floralwhite": [255,250,240,1],
-        "forestgreen": [34,139,34,1], "fuchsia": [255,0,255,1],
-        "gainsboro": [220,220,220,1], "ghostwhite": [248,248,255,1],
-        "gold": [255,215,0,1], "goldenrod": [218,165,32,1],
-        "gray": [128,128,128,1], "green": [0,128,0,1],
-        "greenyellow": [173,255,47,1], "grey": [128,128,128,1],
-        "honeydew": [240,255,240,1], "hotpink": [255,105,180,1],
-        "indianred": [205,92,92,1], "indigo": [75,0,130,1],
-        "ivory": [255,255,240,1], "khaki": [240,230,140,1],
-        "lavender": [230,230,250,1], "lavenderblush": [255,240,245,1],
-        "lawngreen": [124,252,0,1], "lemonchiffon": [255,250,205,1],
-        "lightblue": [173,216,230,1], "lightcoral": [240,128,128,1],
-        "lightcyan": [224,255,255,1], "lightgoldenrodyellow": [250,250,210,1],
-        "lightgray": [211,211,211,1], "lightgreen": [144,238,144,1],
-        "lightgrey": [211,211,211,1], "lightpink": [255,182,193,1],
-        "lightsalmon": [255,160,122,1], "lightseagreen": [32,178,170,1],
-        "lightskyblue": [135,206,250,1], "lightslategray": [119,136,153,1],
-        "lightslategrey": [119,136,153,1], "lightsteelblue": [176,196,222,1],
-        "lightyellow": [255,255,224,1], "lime": [0,255,0,1],
-        "limegreen": [50,205,50,1], "linen": [250,240,230,1],
-        "magenta": [255,0,255,1], "maroon": [128,0,0,1],
-        "mediumaquamarine": [102,205,170,1], "mediumblue": [0,0,205,1],
-        "mediumorchid": [186,85,211,1], "mediumpurple": [147,112,219,1],
-        "mediumseagreen": [60,179,113,1], "mediumslateblue": [123,104,238,1],
-        "mediumspringgreen": [0,250,154,1], "mediumturquoise": [72,209,204,1],
-        "mediumvioletred": [199,21,133,1], "midnightblue": [25,25,112,1],
-        "mintcream": [245,255,250,1], "mistyrose": [255,228,225,1],
-        "moccasin": [255,228,181,1], "navajowhite": [255,222,173,1],
-        "navy": [0,0,128,1], "oldlace": [253,245,230,1],
-        "olive": [128,128,0,1], "olivedrab": [107,142,35,1],
-        "orange": [255,165,0,1], "orangered": [255,69,0,1],
-        "orchid": [218,112,214,1], "palegoldenrod": [238,232,170,1],
-        "palegreen": [152,251,152,1], "paleturquoise": [175,238,238,1],
-        "palevioletred": [219,112,147,1], "papayawhip": [255,239,213,1],
-        "peachpuff": [255,218,185,1], "peru": [205,133,63,1],
-        "pink": [255,192,203,1], "plum": [221,160,221,1],
-        "powderblue": [176,224,230,1], "purple": [128,0,128,1],
-        "rebeccapurple": [102,51,153,1],
-        "red": [255,0,0,1], "rosybrown": [188,143,143,1],
-        "royalblue": [65,105,225,1], "saddlebrown": [139,69,19,1],
-        "salmon": [250,128,114,1], "sandybrown": [244,164,96,1],
-        "seagreen": [46,139,87,1], "seashell": [255,245,238,1],
-        "sienna": [160,82,45,1], "silver": [192,192,192,1],
-        "skyblue": [135,206,235,1], "slateblue": [106,90,205,1],
-        "slategray": [112,128,144,1], "slategrey": [112,128,144,1],
-        "snow": [255,250,250,1], "springgreen": [0,255,127,1],
-        "steelblue": [70,130,180,1], "tan": [210,180,140,1],
-        "teal": [0,128,128,1], "thistle": [216,191,216,1],
-        "tomato": [255,99,71,1], "turquoise": [64,224,208,1],
-        "violet": [238,130,238,1], "wheat": [245,222,179,1],
-        "white": [255,255,255,1], "whitesmoke": [245,245,245,1],
-        "yellow": [255,255,0,1], "yellowgreen": [154,205,50,1]};
-
-    function clamp_css_byte(i) {  // Clamp to integer 0 .. 255.
-        i = Math.round(i);  // Seems to be what Chrome does (vs truncation).
-        return i < 0 ? 0 : i > 255 ? 255 : i;
-    }
-
-    function clamp_css_float(f) {  // Clamp to float 0.0 .. 1.0.
-        return f < 0 ? 0 : f > 1 ? 1 : f;
-    }
-
-    function parse_css_int(str) {  // int or percentage.
-        if (str[str.length - 1] === '%')
-            return clamp_css_byte(parseFloat(str) / 100 * 255);
-        return clamp_css_byte(parseInt(str));
-    }
-
-    function parse_css_float(str) {  // float or percentage.
-        if (str[str.length - 1] === '%')
-            return clamp_css_float(parseFloat(str) / 100);
-        return clamp_css_float(parseFloat(str));
-    }
-
-    function css_hue_to_rgb(m1, m2, h) {
-        if (h < 0) h += 1;
-        else if (h > 1) h -= 1;
-
-        if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;
-        if (h * 2 < 1) return m2;
-        if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;
-        return m1;
-    }
-
-    function parseCSSColor(css_str) {
-        // Remove all whitespace, not compliant, but should just be more accepting.
-        var str = css_str.replace(/ /g, '').toLowerCase();
-
-        // Color keywords (and transparent) lookup.
-        if (str in kCSSColorTable) return kCSSColorTable[str].slice();  // dup.
-
-        // #abc and #abc123 syntax.
-        if (str[0] === '#') {
-            if (str.length === 4) {
-                var iv = parseInt(str.substr(1), 16);  // TODO(deanm): Stricter parsing.
-                if (!(iv >= 0 && iv <= 0xfff)) return null;  // Covers NaN.
-                return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),
-                    (iv & 0xf0) | ((iv & 0xf0) >> 4),
-                    (iv & 0xf) | ((iv & 0xf) << 4),
-                    1];
-            } else if (str.length === 7) {
-                var iv = parseInt(str.substr(1), 16);  // TODO(deanm): Stricter parsing.
-                if (!(iv >= 0 && iv <= 0xffffff)) return null;  // Covers NaN.
-                return [(iv & 0xff0000) >> 16,
-                    (iv & 0xff00) >> 8,
-                    iv & 0xff,
-                    1];
-            }
-
-            return null;
-        }
-
-        var op = str.indexOf('('), ep = str.indexOf(')');
-        if (op !== -1 && ep + 1 === str.length) {
-            var fname = str.substr(0, op);
-            var params = str.substr(op+1, ep-(op+1)).split(',');
-            var alpha = 1;  // To allow case fallthrough.
-            switch (fname) {
-                case 'rgba':
-                    if (params.length !== 4) return null;
-                    alpha = parse_css_float(params.pop());
-                // Fall through.
-                case 'rgb':
-                    if (params.length !== 3) return null;
-                    return [parse_css_int(params[0]),
-                        parse_css_int(params[1]),
-                        parse_css_int(params[2]),
-                        alpha];
-                case 'hsla':
-                    if (params.length !== 4) return null;
-                    alpha = parse_css_float(params.pop());
-                // Fall through.
-                case 'hsl':
-                    if (params.length !== 3) return null;
-                    var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360;  // 0 .. 1
-                    // NOTE(deanm): According to the CSS spec s/l should only be
-                    // percentages, but we don't bother and let float or percentage.
-                    var s = parse_css_float(params[1]);
-                    var l = parse_css_float(params[2]);
-                    var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;
-                    var m1 = l * 2 - m2;
-                    return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),
-                        clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),
-                        clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),
-                        alpha];
-                default:
-                    return null;
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * An RGBA color value. Create instances from color strings using the static
-     * method `Color.parse`. The constructor accepts RGB channel values in the range
-     * `[0, 1]`, premultiplied by A.
-     *
-     * @param {number} r The red channel.
-     * @param {number} g The green channel.
-     * @param {number} b The blue channel.
-     * @param {number} a The alpha channel.
-     * @private
-     */
-    var Color$1 = function Color(r, g, b, a) {
-        if (a === void 0) a = 1;
-
-        this.r = r;
-        this.g = g;
-        this.b = b;
-        this.a = a;
-    };
-
-    /**
-     * Parses valid CSS color strings and returns a `Color` instance.
-     * @returns A `Color` instance, or `undefined` if the input is not a valid color string.
-     */
-    Color$1.parse = function parse(input) {
-        if (!input) {
-            return undefined;
-        }
-
-        if (input instanceof Color$1) {
-            return input;
-        }
-
-        if (typeof input !== 'string') {
-            return undefined;
-        }
-
-        var rgba = parseCSSColor(input);
-        if (!rgba) {
-            return undefined;
-        }
-
-        return new Color$1(
-            rgba[0] / 255 * rgba[3],
-            rgba[1] / 255 * rgba[3],
-            rgba[2] / 255 * rgba[3],
-            rgba[3]
-        );
-    };
-
-    /**
-     * Returns an RGBA string representing the color value.
-     *
-     * @returns An RGBA string.
-     * @example
-     * var purple = new Color.parse('purple');
-     * purple.toString; // = "rgba(128,0,128,1)"
-     * var translucentGreen = new Color.parse('rgba(26, 207, 26, .73)');
-     * translucentGreen.toString(); // = "rgba(26,207,26,0.73)"
-     */
-    Color$1.prototype.toString = function toString() {
-        var ref = this.toArray();
-        var r = ref[0];
-        var g = ref[1];
-        var b = ref[2];
-        var a = ref[3];
-        return ("rgba(" + (Math.round(r)) + "," + (Math.round(g)) + "," + (Math.round(b)) + "," + a + ")");
-    };
-
-    Color$1.prototype.toArray = function toArray() {
-        var ref = this;
-        var r = ref.r;
-        var g = ref.g;
-        var b = ref.b;
-        var a = ref.a;
-        return a === 0 ? [0, 0, 0, 0] : [
-            r * 255 / a,
-            g * 255 / a,
-            b * 255 / a,
-            a
-        ];
-    };
-
-    Color$1.black = new Color$1(0, 0, 0, 1);
-    Color$1.white = new Color$1(1, 1, 1, 1);
-    Color$1.transparent = new Color$1(0, 0, 0, 0);
-    Color$1.red = new Color$1(1, 0, 0, 1);
-
-    var NullType = {kind: 'null'};
-    var NumberType$1 = {kind: 'number'};
-    var StringType = {kind: 'string'};
-    var BooleanType = {kind: 'boolean'};
-    var ColorType$1 = {kind: 'color'};
-    var ObjectType = {kind: 'object'};
-    var ValueType = {kind: 'value'};
-    var FormattedType = {kind: 'formatted'};
-    var ResolvedImageType = {kind: 'resolvedImage'};
-
-    function array(itemType, N) {
-        return {
-            kind: 'array',
-            itemType: itemType,
-            N: N
-        };
-    }
-
-    function toString$2(type) {
-        if (type.kind === 'array') {
-            var itemType = toString$2(type.itemType);
-            return typeof type.N === 'number' ?
-                ("array<" + itemType + ", " + (type.N) + ">") :
-                type.itemType.kind === 'value' ? 'array' : ("array<" + itemType + ">");
-        } else {
-            return type.kind;
-        }
-    }
-
-    var valueMemberTypes = [
-        NullType,
-        NumberType$1,
-        StringType,
-        BooleanType,
-        ColorType$1,
-        FormattedType,
-        ObjectType,
-        array(ValueType),
-        ResolvedImageType
-    ];
-
-    /**
-     * Returns null if `t` is a subtype of `expected`; otherwise returns an
-     * error message.
-     * @private
-     */
-    function checkSubtype(expected, t) {
-        if (t.kind === 'error') {
-            // Error is a subtype of every type
-            return null;
-        } else if (expected.kind === 'array') {
-            if (t.kind === 'array' &&
-                ((t.N === 0 && t.itemType.kind === 'value') || !checkSubtype(expected.itemType, t.itemType)) &&
-                (typeof expected.N !== 'number' || expected.N === t.N)) {
-                return null;
-            }
-        } else if (expected.kind === t.kind) {
-            return null;
-        } else if (expected.kind === 'value') {
-            for (var i = 0, list = valueMemberTypes; i < list.length; i += 1) {
-                var memberType = list[i];
-
-                if (!checkSubtype(memberType, t)) {
-                    return null;
-                }
-            }
-        }
-
-        return ("Expected " + (toString$2(expected)) + " but found " + (toString$2(t)) + " instead.");
-    }
-
-    var NumberType$2 = {kind: 'number'};
-    var StringType$1 = {kind: 'string'};
-    var BooleanType$1 = {kind: 'boolean'};
-    var ObjectType$1 = {kind: 'object'};
-    var ValueType$1 = {kind: 'value'};
-
-    function array$1(itemType, N) {
-        return {
-            kind: 'array',
-            itemType: itemType,
-            N: N
-        };
-    }
-
-    var types = {
-        string: StringType$1,
-        number: NumberType$2,
-        boolean: BooleanType$1,
-        object: ObjectType$1
-    };
-
-    var Assertion = function Assertion(type, args) {
-        this.type = type;
-        this.args = args;
-    };
-
-    Assertion.parse = function parse(args, context) {
-        if (args.length < 2) {
-            return context.error("Expected at least one argument.");
-        }
-
-        var i = 1;
-        var type;
-
-        var name = (args[0] );
-        if (name === 'array') {
-            var itemType;
-            if (args.length > 2) {
-                var type$1 = args[1];
-                if (typeof type$1 !== 'string' || !(type$1 in types) || type$1 === 'object') {
-                    return context.error('The item type argument of "array" must be one of string, number, boolean', 1);
-                }
-                itemType = types[type$1];
-                i++;
-            } else {
-                itemType = ValueType$1;
-            }
-
-            var N;
-            if (args.length > 3) {
-                if (args[2] !== null &&
-                    (typeof args[2] !== 'number' ||
-                        args[2] < 0 ||
-                        args[2] !== Math.floor(args[2]))
-                    ) {
-                    return context.error('The length argument to "array" must be a positive integer literal', 2);
-                }
-                N = args[2];
-                i++;
-            }
-
-            type = array$1(itemType, N);
-        } else {
-            assert_1(types[name], name);
-            type = types[name];
-        }
-
-        var parsed = [];
-        for (; i < args.length; i++) {
-            var input = context.parse(args[i], i, ValueType$1);
-            if (!input) {
-                return null;
-            }
-            parsed.push(input);
-        }
-
-        return new Assertion(type, parsed);
-    };
-
-    Assertion.prototype.evaluate = function evaluate(ctx) {
-        for (var i = 0; i < this.args.length; i++) {
-            var value = this.args[i].evaluate(ctx);
-            var error = checkSubtype(this.type, typeOf(value));
-            if (!error) {
-                return value;
-            } else if (i === this.args.length - 1) {
-                throw new RuntimeError(("Expected value to be of type " + (toString(this.type)) + ", but found " + (toString(typeOf(value))) + " instead."));
-            }
-        }
-
-        assert_1(false);
-        return null;
-    };
-
-    Assertion.prototype.eachChild = function eachChild(fn) {
-        this.args.forEach(fn);
-    };
-
-    Assertion.prototype.possibleOutputs = function possibleOutputs() {
-        var ref;
-
-        return (ref = []).concat.apply(ref, this.args.map(function (arg) {
-            return arg.possibleOutputs();
-        }));
-    };
-
-    Assertion.prototype.serialize = function serialize() {
-        var type = this.type;
-        var serialized = [type.kind];
-        if (type.kind === 'array') {
-            var itemType = type.itemType;
-            if (itemType.kind === 'string' ||
-                itemType.kind === 'number' ||
-                itemType.kind === 'boolean') {
-                serialized.push(itemType.kind);
-                var N = type.N;
-                if (typeof N === 'number' || this.args.length > 1) {
-                    serialized.push(N);
-                }
-            }
-        }
-        return serialized.concat(this.args.map(function (arg) {
-            return arg.serialize();
-        }));
-    };
-
-    var NumberType$3 = {kind: 'number'};
-    var ValueType$2 = {kind: 'value'};
-
-    function array$2(itemType, N) {
-        return {
-            kind: 'array',
-            itemType: itemType,
-            N: N
-        };
-    }
-
-    var At = function At(type, index, input) {
-        this.type = type;
-        this.index = index;
-        this.input = input;
-    };
-
-    At.parse = function parse(args, context) {
-        if (args.length !== 3) {
-            return context.error(("Expected 2 arguments, but found " + (args.length - 1) + " instead."));
-        }
-
-        var index = context.parse(args[1], 1, NumberType$3);
-        var input = context.parse(args[2], 2, array$2(context.expectedType || ValueType$2));
-
-        if (!index || !input) {
-            return null;
-        }
-
-        var t = (input.type );
-        return new At(t.itemType, index, input);
-    };
-
-    At.prototype.evaluate = function evaluate(ctx) {
-        var index = ((this.index.evaluate(ctx) )    );
-        var array = ((this.input.evaluate(ctx) )          );
-
-        if (index < 0) {
-            throw new RuntimeError(("Array index out of bounds: " + index + " < 0."));
-        }
-
-        if (index >= array.length) {
-            throw new RuntimeError(("Array index out of bounds: " + index + " > " + (array.length - 1) + "."));
-        }
-
-        if (index !== Math.floor(index)) {
-            throw new RuntimeError(("Array index must be an integer, but found " + index + " instead."));
-        }
-
-        return array[index];
-    };
-
-    At.prototype.eachChild = function eachChild(fn) {
-        fn(this.index);
-        fn(this.input);
-    };
-
-    At.prototype.possibleOutputs = function possibleOutputs() {
-        return [undefined];
-    };
-
-    At.prototype.serialize = function serialize() {
-        return ["at", this.index.serialize(), this.input.serialize()];
-    };
-
-    var BooleanType$2 = {kind: 'boolean'};
-
-    var Case = function Case(type, branches, otherwise) {
-        this.type = type;
-        this.branches = branches;
-        this.otherwise = otherwise;
-    };
-
-    Case.parse = function parse(args, context) {
-        if (args.length < 4) {
-            return context.error(("Expected at least 3 arguments, but found only " + (args.length - 1) + "."));
-        }
-        if (args.length % 2 !== 0) {
-            return context.error("Expected an odd number of arguments.");
-        }
-
-        var outputType;
-        if (context.expectedType && context.expectedType.kind !== 'value') {
-            outputType = context.expectedType;
-        }
-
-        var branches = [];
-        for (var i = 1; i < args.length - 1; i += 2) {
-            var test = context.parse(args[i], i, BooleanType$2);
-            if (!test) {
-                return null;
-            }
-
-            var result = context.parse(args[i + 1], i + 1, outputType);
-            if (!result) {
-                return null;
-            }
-
-            branches.push([test, result]);
-
-            outputType = outputType || result.type;
-        }
-
-        var otherwise = context.parse(args[args.length - 1], args.length - 1, outputType);
-        if (!otherwise) {
-            return null;
-        }
-
-        assert_1(outputType);
-        return new Case((outputType ), branches, otherwise);
-    };
-
-    Case.prototype.evaluate = function evaluate(ctx) {
-        for (var i = 0, list = this.branches; i < list.length; i += 1) {
-            var ref = list[i];
-            var test = ref[0];
-            var expression = ref[1];
-
-            if (test.evaluate(ctx)) {
-                return expression.evaluate(ctx);
-            }
-        }
-        return this.otherwise.evaluate(ctx);
-    };
-
-    Case.prototype.eachChild = function eachChild(fn) {
-        for (var i = 0, list = this.branches; i < list.length; i += 1) {
-            var ref = list[i];
-            var test = ref[0];
-            var expression = ref[1];
-
-            fn(test);
-            fn(expression);
-        }
-        fn(this.otherwise);
-    };
-
-    Case.prototype.possibleOutputs = function possibleOutputs() {
-        var ref;
-
-        return (ref = [])
-            .concat.apply(ref, this.branches.map(function (ref) {
-                var _ = ref[0];
-                var out = ref[1];
-
-                return out.possibleOutputs();
-            }))
-            .concat(this.otherwise.possibleOutputs());
-    };
-
-    Case.prototype.serialize = function serialize() {
-        var serialized = ["case"];
-        this.eachChild(function (child) {
-            serialized.push(child.serialize());
-        });
-        return serialized;
-    };
-
-    var ResolvedImage$1 = function ResolvedImage(options) {
-        this.name = options.name;
-        this.available = options.available;
-    };
-
-    ResolvedImage$1.prototype.toString = function toString() {
-        return this.name;
-    };
-
-    ResolvedImage$1.fromString = function fromString(name) {
-        return new ResolvedImage$1({name: name, available: false});
-    };
-
-    ResolvedImage$1.prototype.serialize = function serialize() {
-        return ["image", this.name];
-    };
-
-    var ValueType$3 = {kind: 'value'};
-
-    var Coalesce = function Coalesce(type, args) {
-        this.type = type;
-        this.args = args;
-    };
-
-    Coalesce.parse = function parse(args, context) {
-        if (args.length < 2) {
-            return context.error("Expectected at least one argument.");
-        }
-        var outputType = (null );
-        var expectedType = context.expectedType;
-        if (expectedType && expectedType.kind !== 'value') {
-            outputType = expectedType;
-        }
-        var parsedArgs = [];
-
-        for (var i = 0, list = args.slice(1); i < list.length; i += 1) {
-            var arg = list[i];
-
-            var parsed = context.parse(arg, 1 + parsedArgs.length, outputType, undefined, {typeAnnotation: 'omit'});
-            if (!parsed) {
-                return null;
-            }
-            outputType = outputType || parsed.type;
-            parsedArgs.push(parsed);
-        }
-        assert_1(outputType);
-
-        // Above, we parse arguments without inferred type annotation so that
-        // they don't produce a runtime error for `null` input, which would
-        // preempt the desired null-coalescing behavior.
-        // Thus, if any of our arguments would have needed an annotation, we
-        // need to wrap the enclosing coalesce expression with it instead.
-        var needsAnnotation = expectedType &&
-            parsedArgs.some(function (arg) {
-                return checkSubtype(expectedType, arg.type);
-            });
-
-        return needsAnnotation ?
-            new Coalesce(ValueType$3, parsedArgs) :
-            new Coalesce((outputType ), parsedArgs);
-    };
-
-    Coalesce.prototype.evaluate = function evaluate(ctx) {
-        var result = null;
-        var argCount = 0;
-        var requestedImageName;
-        for (var i = 0, list = this.args; i < list.length; i += 1) {
-            var arg = list[i];
-
-            argCount++;
-            result = arg.evaluate(ctx);
-            // we need to keep track of the first requested image in a coalesce statement
-            // if coalesce can't find a valid image, we return the first image name so styleimagemissing can fire
-            if (result && result instanceof ResolvedImage$1 && !result.available) {
-                if (!requestedImageName) {
-                    requestedImageName = result.name;
-                }
-                result = null;
-                if (argCount === this.args.length) {
-                    result = requestedImageName;
-                }
-            }
-
-            if (result !== null) {
-                break;
-            }
-        }
-        return result;
-    };
-
-    Coalesce.prototype.eachChild = function eachChild(fn) {
-        this.args.forEach(fn);
-    };
-
-    Coalesce.prototype.possibleOutputs = function possibleOutputs() {
-        var ref;
-
-        return (ref = []).concat.apply(ref, this.args.map(function (arg) {
-            return arg.possibleOutputs();
-        }));
-    };
-
-    Coalesce.prototype.serialize = function serialize() {
-        var serialized = ["coalesce"];
-        this.eachChild(function (child) {
-            serialized.push(child.serialize());
-        });
-        return serialized;
-    };
-
-    var NumberType$4 = {kind: 'number'};
-    var StringType$2 = {kind: 'string'};
-    var BooleanType$3 = {kind: 'boolean'};
-    var ColorType$2 = {kind: 'color'};
-    var ValueType$4 = {kind: 'value'};
-
-    var types$1 = {
-        'to-boolean': BooleanType$3,
-        'to-color': ColorType$2,
-        'to-number': NumberType$4,
-        'to-string': StringType$2
-    };
-
-    /**
-     * Special form for error-coalescing coercion expressions "to-number",
-     * "to-color".  Since these coercions can fail at runtime, they accept multiple
-     * arguments, only evaluating one at a time until one succeeds.
-     *
-     * @private
-     */
-    var Coercion = function Coercion(type, args) {
-        this.type = type;
-        this.args = args;
-    };
-
-    Coercion.parse = function parse(args, context) {
-        if (args.length < 2) {
-            return context.error("Expected at least one argument.");
-        }
-
-        var name = (args[0] );
-        assert_1(types$1[name], name);
-
-        if ((name === 'to-boolean' || name === 'to-string') && args.length !== 2) {
-            return context.error("Expected one argument.");
-        }
-
-        var type = types$1[name];
-
-        var parsed = [];
-        for (var i = 1; i < args.length; i++) {
-            var input = context.parse(args[i], i, ValueType$4);
-            if (!input) {
-                return null;
-            }
-            parsed.push(input);
-        }
-
-        return new Coercion(type, parsed);
-    };
-
-    Coercion.prototype.evaluate = function evaluate(ctx) {
-        if (this.type.kind === 'boolean') {
-            return Boolean(this.args[0].evaluate(ctx));
-        } else if (this.type.kind === 'color') {
-            var input;
-            var error;
-            for (var i = 0, list = this.args; i < list.length; i += 1) {
-                var arg = list[i];
-
-                input = arg.evaluate(ctx);
-                error = null;
-                if (input instanceof Color) {
-                    return input;
-                } else if (typeof input === 'string') {
-                    var c = ctx.parseColor(input);
-                    if (c) {
-                        return c;
-                    }
-                } else if (Array.isArray(input)) {
-                    if (input.length < 3 || input.length > 4) {
-                        error = "Invalid rbga value " + (JSON.stringify(input)) + ": expected an array containing either three or four numeric values.";
-                    } else {
-                        error = validateRGBA(input[0], input[1], input[2], input[3]);
-                    }
-                    if (!error) {
-                        return new Color((input[0] ) / 255, (input[1] ) / 255, (input[2] ) / 255, (input[3] ));
-                    }
-                }
-            }
-            throw new RuntimeError(error || ("Could not parse color from value '" + (typeof input === 'string' ? input : String(JSON.stringify(input))) + "'"));
-        } else if (this.type.kind === 'number') {
-            var value = null;
-            for (var i$1 = 0, list$1 = this.args; i$1 < list$1.length; i$1 += 1) {
-                var arg$1 = list$1[i$1];
-
-                value = arg$1.evaluate(ctx);
-                if (value === null) {
-                    return 0;
-                }
-                var num = Number(value);
-                if (isNaN(num)) {
-                    continue;
-                }
-                return num;
-            }
-            throw new RuntimeError(("Could not convert " + (JSON.stringify(value)) + " to number."));
-        } else if (this.type.kind === 'formatted') {
-            // There is no explicit 'to-formatted' but this coercion can be implicitly
-            // created by properties that expect the 'formatted' type.
-            return Formatted.fromString(toString$1(this.args[0].evaluate(ctx)));
-        } else if (this.type.kind === 'resolvedImage') {
-            return ResolvedImage.fromString(toString$1(this.args[0].evaluate(ctx)));
-        } else {
-            return toString$1(this.args[0].evaluate(ctx));
-        }
-    };
-
-    Coercion.prototype.eachChild = function eachChild(fn) {
-        this.args.forEach(fn);
-    };
-
-    Coercion.prototype.possibleOutputs = function possibleOutputs() {
-        var ref;
-
-        return (ref = []).concat.apply(ref, this.args.map(function (arg) {
-            return arg.possibleOutputs();
-        }));
-    };
-
-    Coercion.prototype.serialize = function serialize() {
-        if (this.type.kind === 'formatted') {
-            return new FormatExpression([
-                {content: this.args[0], scale: null, font: null, textColor: null}
-            ]).serialize();
-        }
-
-        if (this.type.kind === 'resolvedImage') {
-            return new ImageExpression(this.args[0]).serialize();
-        }
-
-        var serialized = [("to-" + (this.type.kind))];
-        this.eachChild(function (child) {
-            serialized.push(child.serialize());
-        });
-        return serialized;
-    };
-
-    var Collator = function Collator(caseSensitive       , diacriticSensitive       , locale             ) {
-        if (caseSensitive)
-        { this.sensitivity = diacriticSensitive ? 'variant' : 'case'; }
-        else
-        { this.sensitivity = diacriticSensitive ? 'accent' : 'base'; }
-
-        this.locale = locale;
-        this.collator = new Intl.Collator(this.locale ? this.locale : [],
-            {sensitivity: this.sensitivity, usage: 'search'});
-    };
-
-    Collator.prototype.compare = function compare (lhs      , rhs      )       {
-        return this.collator.compare(lhs, rhs);
-    };
-
-    Collator.prototype.resolvedLocale = function resolvedLocale ()       {
-        // We create a Collator without "usage: search" because we don't want
-        // the search options encoded in our result (e.g. "en-u-co-search")
-        return new Intl.Collator(this.locale ? this.locale : [])
-            .resolvedOptions().locale;
-    };
-
-    var StringType$3 = {kind: 'string'};
-    var BooleanType$4 = {kind: 'boolean'};
-    var CollatorType = {kind: 'collator'};
-
-    var CollatorExpression = function CollatorExpression(caseSensitive, diacriticSensitive, locale) {
-        this.type = CollatorType;
-        this.locale = locale;
-        this.caseSensitive = caseSensitive;
-        this.diacriticSensitive = diacriticSensitive;
-    };
-
-    CollatorExpression.parse = function parse(args, context) {
-        if (args.length !== 2) {
-            return context.error("Expected one argument.");
-        }
-
-        var options = (args[1] );
-        if (typeof options !== "object" || Array.isArray(options)) {
-            return context.error("Collator options argument must be an object.");
-        }
-
-        var caseSensitive = context.parse(
-            options['case-sensitive'] === undefined ? false : options['case-sensitive'], 1, BooleanType$4);
-        if (!caseSensitive) {
-            return null;
-        }
-
-        var diacriticSensitive = context.parse(
-            options['diacritic-sensitive'] === undefined ? false : options['diacritic-sensitive'], 1, BooleanType$4);
-        if (!diacriticSensitive) {
-            return null;
-        }
-
-        var locale = null;
-        if (options['locale']) {
-            locale = context.parse(options['locale'], 1, StringType$3);
-            if (!locale) {
-                return null;
-            }
-        }
-
-        return new CollatorExpression(caseSensitive, diacriticSensitive, locale);
-    };
-
-    CollatorExpression.prototype.evaluate = function evaluate(ctx) {
-        return new Collator(this.caseSensitive.evaluate(ctx), this.diacriticSensitive.evaluate(ctx), this.locale ? this.locale.evaluate(ctx) : null);
-    };
-
-    CollatorExpression.prototype.eachChild = function eachChild(fn) {
-        fn(this.caseSensitive);
-        fn(this.diacriticSensitive);
-        if (this.locale) {
-            fn(this.locale);
-        }
-    };
-
-    CollatorExpression.prototype.possibleOutputs = function possibleOutputs() {
-        // Technically the set of possible outputs is the combinatoric set of Collators produced
-        // by all possibleOutputs of locale/caseSensitive/diacriticSensitive
-        // But for the primary use of Collators in comparison operators, we ignore the Collator's
-        // possibleOutputs anyway, so we can get away with leaving this undefined for now.
-        return [undefined];
-    };
-
-    CollatorExpression.prototype.serialize = function serialize() {
-        var options = {};
-        options['case-sensitive'] = this.caseSensitive.serialize();
-        options['diacritic-sensitive'] = this.diacriticSensitive.serialize();
-        if (this.locale) {
-            options['locale'] = this.locale.serialize();
-        }
-        return ["collator", options];
-    };
-
-    var FormattedSection = function FormattedSection(text, image, scale, fontStack, textColor) {
-        this.text = text;
-        this.image = image;
-        this.scale = scale;
-        this.fontStack = fontStack;
-        this.textColor = textColor;
-    };
-
-    var Formatted$1 = function Formatted(sections) {
-        this.sections = sections;
-    };
-
-    Formatted$1.fromString = function fromString(unformatted) {
-        return new Formatted$1([new FormattedSection(unformatted, null, null, null, null)]);
-    };
-
-    Formatted$1.prototype.isEmpty = function isEmpty() {
-        if (this.sections.length === 0) {
-            return true;
-        }
-        return !this.sections.some(function (section) {
-            return section.text.length !== 0 ||
-                (section.image && section.image.name.length !== 0);
-        });
-    };
-
-    Formatted$1.factory = function factory(text) {
-        if (text instanceof Formatted$1) {
-            return text;
-        } else {
-            return Formatted$1.fromString(text);
-        }
-    };
-
-    Formatted$1.prototype.toString = function toString() {
-        if (this.sections.length === 0) {
-            return '';
-        }
-        return this.sections.map(function (section) {
-            return section.text;
-        }).join('');
-    };
-
-    Formatted$1.prototype.serialize = function serialize() {
-        var serialized = ["format"];
-        for (var i = 0, list = this.sections; i < list.length; i += 1) {
-            var section = list[i];
-
-            if (section.image) {
-                serialized.push(["image", section.image.name]);
-                continue;
-            }
-            serialized.push(section.text);
-            var options = {};
-            if (section.fontStack) {
-                options["text-font"] = ["literal", section.fontStack.split(',')];
-            }
-            if (section.scale) {
-                options["font-scale"] = section.scale;
-            }
-            if (section.textColor) {
-                options["text-color"] = (["rgba"]          ).concat(section.textColor.toArray());
-            }
-            serialized.push(options);
-        }
-        return serialized;
-    };
-
-    var NullType$1 = {kind: 'null'};
-    var NumberType$5 = {kind: 'number'};
-    var StringType$4 = {kind: 'string'};
-    var BooleanType$5 = {kind: 'boolean'};
-    var ColorType$3 = {kind: 'color'};
-    var ObjectType$2 = {kind: 'object'};
-    var ValueType$5 = {kind: 'value'};
-    var CollatorType$1 = {kind: 'collator'};
-    var FormattedType$1 = {kind: 'formatted'};
-    var ResolvedImageType$1 = {kind: 'resolvedImage'};
-
-    function array$3(itemType, N) {
-        return {
-            kind: 'array',
-            itemType: itemType,
-            N: N
-        };
-    }
-
-    function Values$1() {
-    }
-
-    Values$1.validateRGBA = function(r, g, b, a){
-        if (!(
-            typeof r === 'number' && r >= 0 && r <= 255 &&
-                typeof g === 'number' && g >= 0 && g <= 255 &&
-                typeof b === 'number' && b >= 0 && b <= 255
-            )) {
-            var value = typeof a === 'number' ? [r, g, b, a] : [r, g, b];
-            return ("Invalid rgba value [" + (value.join(', ')) + "]: 'r', 'g', and 'b' must be between 0 and 255.");
-        }
-        if (!(
-            typeof a === 'undefined' || (typeof a === 'number' && a >= 0 && a <= 1)
-            )) {
-            return ("Invalid rgba value [" + ([r, g, b, a].join(', ')) + "]: 'a' must be between 0 and 1.");
-        }
-        return null;
-    };
-
-    Values$1.isValue = function(mixed){
-        if (mixed === null) {
-            return true;
-        } else if (typeof mixed === 'string') {
-            return true;
-        } else if (typeof mixed === 'boolean') {
-            return true;
-        } else if (typeof mixed === 'number') {
-            return true;
-        } else if (mixed instanceof Color$1) {
-            return true;
-        } else if (mixed instanceof Collator) {
-            return true;
-        } else if (mixed instanceof Formatted$1) {
-            return true;
-        } else if (mixed instanceof ResolvedImage$1) {
-            return true;
-        } else if (Array.isArray(mixed)) {
-            for (var i = 0, list = mixed; i < list.length; i += 1) {
-                var item = list[i];
-
-                if (!Values$1.isValue(item)) {
-                    return false;
-                }
-            }
-            return true;
-        } else if (typeof mixed === 'object') {
-            for (var key in mixed) {
-                if (!Values$1.isValue(mixed[key])) {
-                    return false;
-                }
-            }
-            return true;
-        } else {
-            return false;
-        }
-    };
-
-    Values$1.typeOf = function(value){
-        if (value === null) {
-            return NullType$1;
-        } else if (typeof value === 'string') {
-            return StringType$4;
-        } else if (typeof value === 'boolean') {
-            return BooleanType$5;
-        } else if (typeof value === 'number') {
-            return NumberType$5;
-        } else if (value instanceof Color$1) {
-            return ColorType$3;
-        } else if (value instanceof Collator) {
-            return CollatorType$1;
-        } else if (value instanceof Formatted$1) {
-            return FormattedType$1;
-        } else if (value instanceof ResolvedImage$1) {
-            return ResolvedImageType$1;
-        } else if (Array.isArray(value)) {
-            var length = value.length;
-            var itemType;
-
-            for (var i = 0, list = value; i < list.length; i += 1) {
-                var item = list[i];
-
-                var t = Values$1.typeOf(item);
-                if (!itemType) {
-                    itemType = t;
-                } else if (itemType === t) {
-                    continue;
-                } else {
-                    itemType = ValueType$5;
-                    break;
-                }
-            }
-
-            return array$3(itemType || ValueType$5, length);
-        } else {
-            assert_1(typeof value === 'object');
-            return ObjectType$2;
-        }
-    };
-
-    Values$1.toString$1 = function(value){
-        var type = typeof value;
-        if (value === null) {
-            return '';
-        } else if (type === 'string' || type === 'number' || type === 'boolean') {
-            return String(value);
-        } else if (value instanceof Color$1 || value instanceof Formatted$1 || value instanceof ResolvedImage$1) {
-            return value.toString();
-        } else {
-            return JSON.stringify(value);
-        }
-    };
-
-    var BooleanType$6 = {kind: 'boolean'};
-    var ValueType$6 = {kind: 'value'};
-    var CollatorType$2 = {kind: 'collator'};
-
-    function isComparableType$1(op, type) {
-        if (op === '==' || op === '!=') {
-            // equality operator
-            return type.kind === 'boolean' ||
-                type.kind === 'string' ||
-                type.kind === 'number' ||
-                type.kind === 'null' ||
-                type.kind === 'value';
-        } else {
-            // ordering operator
-            return type.kind === 'string' ||
-                type.kind === 'number' ||
-                type.kind === 'value';
-        }
-    }
-
-    function eq(ctx, a, b) {
-        return a === b;
-    }
-    function neq(ctx, a, b) {
-        return a !== b;
-    }
-    function lt(ctx, a, b) {
-        return a < b;
-    }
-    function gt(ctx, a, b) {
-        return a > b;
-    }
-    function lteq(ctx, a, b) {
-        return a <= b;
-    }
-    function gteq(ctx, a, b) {
-        return a >= b;
-    }
-
-    function eqCollate(ctx, a, b, c) {
-        return c.compare(a, b) === 0;
-    }
-    function neqCollate(ctx, a, b, c) {
-        return !eqCollate(ctx, a, b, c);
-    }
-    function ltCollate(ctx, a, b, c) {
-        return c.compare(a, b) < 0;
-    }
-    function gtCollate(ctx, a, b, c) {
-        return c.compare(a, b) > 0;
-    }
-    function lteqCollate(ctx, a, b, c) {
-        return c.compare(a, b) <= 0;
-    }
-    function gteqCollate(ctx, a, b, c) {
-        return c.compare(a, b) >= 0;
-    }
-
-    /**
-     * Special form for comparison operators, implementing the signatures:
-     * - (T, T, ?Collator) => boolean
-     * - (T, value, ?Collator) => boolean
-     * - (value, T, ?Collator) => boolean
-     *
-     * For inequalities, T must be either value, string, or number. For ==/!=, it
-     * can also be boolean or null.
-     *
-     * Equality semantics are equivalent to Javascript's strict equality (===/!==)
-     * -- i.e., when the arguments' types don't match, == evaluates to false, != to
-     * true.
-     *
-     * When types don't match in an ordering comparison, a runtime error is thrown.
-     *
-     * @private
-     */
-    function makeComparison(op, compareBasic, compareWithCollator) {
-        var isOrderComparison = op !== '==' && op !== '!=';
-
-        return /*@__PURE__*/(function () {
-            function Comparison(lhs, rhs, collator) {
-                this.type = BooleanType$6;
-                this.lhs = lhs;
-                this.rhs = rhs;
-                this.collator = collator;
-                this.hasUntypedArgument = lhs.type.kind === 'value' || rhs.type.kind === 'value';
-            }
-
-            Comparison.parse = function parse(args, context) {
-                if (args.length !== 3 && args.length !== 4) {
-                    return context.error("Expected two or three arguments.");
-                }
-
-                var op = (args[0]     );
-
-                var lhs = context.parse(args[1], 1, ValueType$6);
-                if (!lhs) {
-                    return null;
-                }
-                if (!isComparableType$1(op, lhs.type)) {
-                    return context.concat(1).error(("\"" + op + "\" comparisons are not supported for type '" + (toString(lhs.type)) + "'."));
-                }
-                var rhs = context.parse(args[2], 2, ValueType$6);
-                if (!rhs) {
-                    return null;
-                }
-                if (!isComparableType$1(op, rhs.type)) {
-                    return context.concat(2).error(("\"" + op + "\" comparisons are not supported for type '" + (toString(rhs.type)) + "'."));
-                }
-
-                if (
-                    lhs.type.kind !== rhs.type.kind &&
-                        lhs.type.kind !== 'value' &&
-                        rhs.type.kind !== 'value'
-                    ) {
-                    return context.error(("Cannot compare types '" + (toString(lhs.type)) + "' and '" + (toString(rhs.type)) + "'."));
-                }
-
-                if (isOrderComparison) {
-                    // typing rules specific to less/greater than operators
-                    if (lhs.type.kind === 'value' && rhs.type.kind !== 'value') {
-                        // (value, T)
-                        lhs = new Assertion(rhs.type, [lhs]);
-                    } else if (lhs.type.kind !== 'value' && rhs.type.kind === 'value') {
-                        // (T, value)
-                        rhs = new Assertion(lhs.type, [rhs]);
-                    }
-                }
-
-                var collator = null;
-                if (args.length === 4) {
-                    if (
-                        lhs.type.kind !== 'string' &&
-                            rhs.type.kind !== 'string' &&
-                            lhs.type.kind !== 'value' &&
-                            rhs.type.kind !== 'value'
-                        ) {
-                        return context.error("Cannot use collator to compare non-string types.");
-                    }
-                    collator = context.parse(args[3], 3, CollatorType$2);
-                    if (!collator) {
-                        return null;
-                    }
-                }
-
-                return new Comparison(lhs, rhs, collator);
-            };
-
-            Comparison.prototype.evaluate = function evaluate(ctx) {
-                var lhs = this.lhs.evaluate(ctx);
-                var rhs = this.rhs.evaluate(ctx);
-
-                if (isOrderComparison && this.hasUntypedArgument) {
-                    var lt = Values$1.typeOf(lhs);
-                    var rt = Values$1.typeOf(rhs);
-                    // check that type is string or number, and equal
-                    if (lt.kind !== rt.kind || !(lt.kind === 'string' || lt.kind === 'number')) {
-                        throw new RuntimeError(("Expected arguments for \"" + op + "\" to be (string, string) or (number, number), but found (" + (lt.kind) + ", " + (rt.kind) + ") instead."));
-                    }
-                }
-
-                if (this.collator && !isOrderComparison && this.hasUntypedArgument) {
-                    var lt$1 = Values$1.typeOf(lhs);
-                    var rt$1 = Values$1.typeOf(rhs);
-                    if (lt$1.kind !== 'string' || rt$1.kind !== 'string') {
-                        return compareBasic(ctx, lhs, rhs);
-                    }
-                }
-
-                return this.collator ?
-                    compareWithCollator(ctx, lhs, rhs, this.collator.evaluate(ctx)) :
-                    compareBasic(ctx, lhs, rhs);
-            };
-
-            Comparison.prototype.eachChild = function eachChild(fn) {
-                fn(this.lhs);
-                fn(this.rhs);
-                if (this.collator) {
-                    fn(this.collator);
-                }
-            };
-
-            Comparison.prototype.possibleOutputs = function possibleOutputs() {
-                return [true, false];
-            };
-
-            Comparison.prototype.serialize = function serialize() {
-                var serialized = [op];
-                this.eachChild(function (child) {
-                    serialized.push(child.serialize());
-                });
-                return serialized;
-            };
-
-            return Comparison;
-        }());
-    }
-
-    var ComparisonEnum = {
-    };
-    ComparisonEnum.Equals = makeComparison('==', eq, eqCollate);
-    ComparisonEnum.NotEquals = makeComparison('!=', neq, neqCollate);
-    ComparisonEnum.LessThan = makeComparison('<', lt, ltCollate);
-    ComparisonEnum.GreaterThan = makeComparison('>', gt, gtCollate);
-    ComparisonEnum.LessThanOrEqual = makeComparison('<=', lteq, lteqCollate);
-    ComparisonEnum.GreaterThanOrEqual = makeComparison('>=', gteq, gteqCollate);
-
-    var NumberType$6 = {kind: 'number'};
-    var StringType$5 = {kind: 'string'};
-    var ColorType$4 = {kind: 'color'};
-    var ValueType$7 = {kind: 'value'};
-    var FormattedType$2 = {kind: 'formatted'};
-    var ResolvedImageType$2 = {kind: 'resolvedImage'};
-
-    function array$4(itemType, N) {
-        return {
-            kind: 'array',
-            itemType: itemType,
-            N: N
-        };
-    }
-
-    var FormatExpression$1 = function FormatExpression(sections) {
-        this.type = FormattedType$2;
-        this.sections = sections;
-    };
-
-    FormatExpression$1.parse = function parse(args, context) {
-        if (args.length < 2) {
-            return context.error("Expected at least one argument.");
-        }
-
-        var firstArg = args[1];
-        if (!Array.isArray(firstArg) && typeof firstArg === 'object') {
-            return context.error("First argument must be an image or text section.");
-        }
-
-        var sections = [];
-        var nextTokenMayBeObject = false;
-        for (var i = 1; i <= args.length - 1; ++i) {
-            var arg = (args[i] );
-
-            if (nextTokenMayBeObject && typeof arg === "object" && !Array.isArray(arg)) {
-                nextTokenMayBeObject = false;
-
-                var scale = null;
-                if (arg['font-scale']) {
-                    scale = context.parse(arg['font-scale'], 1, NumberType$6);
-                    if (!scale) {
-                        return null;
-                    }
-                }
-
-                var font = null;
-                if (arg['text-font']) {
-                    font = context.parse(arg['text-font'], 1, array$4(StringType$5));
-                    if (!font) {
-                        return null;
-                    }
-                }
-
-                var textColor = null;
-                if (arg['text-color']) {
-                    textColor = context.parse(arg['text-color'], 1, ColorType$4);
-                    if (!textColor) {
-                        return null;
-                    }
-                }
-
-                var lastExpression = sections[sections.length - 1];
-                lastExpression.scale = scale;
-                lastExpression.font = font;
-                lastExpression.textColor = textColor;
-            } else {
-                var content = context.parse(args[i], 1, ValueType$7);
-                if (!content) {
-                    return null;
-                }
-
-                var kind = content.type.kind;
-                if (kind !== 'string' && kind !== 'value' && kind !== 'null' && kind !== 'resolvedImage') {
-                    return context.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");
-                }
-
-                nextTokenMayBeObject = true;
-                sections.push({content: content, scale: null, font: null, textColor: null});
-            }
-        }
-
-        return new FormatExpression$1(sections);
-    };
-
-    FormatExpression$1.prototype.evaluate = function evaluate(ctx) {
-        var evaluateSection = function (section) {
-            var evaluatedContent = section.content.evaluate(ctx);
-            if (Values$1.typeOf(evaluatedContent) === ResolvedImageType$2) {
-                return new FormattedSection('', evaluatedContent, null, null, null);
-            }
-
-            return new FormattedSection(
-                Values$1.toString$1(evaluatedContent),
-                null,
-                section.scale ? section.scale.evaluate(ctx) : null,
-                section.font ? section.font.evaluate(ctx).join(',') : null,
-                section.textColor ? section.textColor.evaluate(ctx) : null
-            );
-        };
-
-        return new Formatted$1(this.sections.map(evaluateSection));
-    };
-
-    FormatExpression$1.prototype.eachChild = function eachChild(fn) {
-        for (var i = 0, list = this.sections; i < list.length; i += 1) {
-            var section = list[i];
-
-            fn(section.content);
-            if (section.scale) {
-                fn(section.scale);
-            }
-            if (section.font) {
-                fn(section.font);
-            }
-            if (section.textColor) {
-                fn(section.textColor);
-            }
-        }
-    };
-
-    FormatExpression$1.prototype.possibleOutputs = function possibleOutputs() {
-        // Technically the combinatoric set of all children
-        // Usually, this.text will be undefined anyway
-        return [undefined];
-    };
-
-    FormatExpression$1.prototype.serialize = function serialize() {
-        var serialized = ["format"];
-        for (var i = 0, list = this.sections; i < list.length; i += 1) {
-            var section = list[i];
-
-            serialized.push(section.content.serialize());
-            var options = {};
-            if (section.scale) {
-                options['font-scale'] = section.scale.serialize();
-            }
-            if (section.font) {
-                options['text-font'] = section.font.serialize();
-            }
-            if (section.textColor) {
-                options['text-color'] = section.textColor.serialize();
-            }
-            serialized.push(options);
-        }
-        return serialized;
-    };
-
-    var StringType$6 = {kind: 'string'};
-    var ResolvedImageType$3 = {kind: 'resolvedImage'};
-
-    var ImageExpression$1 = function ImageExpression(input) {
-        this.type = ResolvedImageType$3;
-        this.input = input;
-    };
-
-    ImageExpression$1.parse = function parse(args, context) {
-        if (args.length !== 2) {
-            return context.error("Expected two arguments.");
-        }
-
-        var name = context.parse(args[1], 1, StringType$6);
-        if (!name) {
-            return context.error("No image name provided.");
-        }
-
-        return new ImageExpression$1(name);
-    };
-
-    ImageExpression$1.prototype.evaluate = function evaluate(ctx) {
-        var evaluatedImageName = this.input.evaluate(ctx);
-        var available = false;
-
-        if (ctx.availableImages && ctx.availableImages.indexOf(evaluatedImageName) > -1) {
-            available = true;
-        }
-
-        return new ResolvedImage$1({name: evaluatedImageName, available: available});
-    };
-
-    ImageExpression$1.prototype.eachChild = function eachChild(fn) {
-        fn(this.input);
-    };
-
-    ImageExpression$1.prototype.possibleOutputs = function possibleOutputs() {
-        // The output of image is determined by the list of available images in the evaluation context
-        return [undefined];
-    };
-
-    ImageExpression$1.prototype.serialize = function serialize() {
-        return ["image", this.input.serialize()];
-    };
-
-    var Interpolate$1 = function Interpolate(type, operator, interpolation, input, stops) {
-        this.type = type;
-        this.operator = operator;
-        this.interpolation = interpolation;
-        this.input = input;
-
-        this.labels = [];
-        this.outputs = [];
-        for (var i = 0, list = stops; i < list.length; i += 1) {
-            var ref = list[i];
-            var label = ref[0];
-            var expression = ref[1];
-
-            this.labels.push(label);
-            this.outputs.push(expression);
-        }
-    };
-
-    Interpolate$1.interpolationFactor = function interpolationFactor(interpolation, input, lower, upper) {
-        var t = 0;
-        if (interpolation.name === 'exponential') {
-            t = exponentialInterpolation(input, interpolation.base, lower, upper);
-        } else if (interpolation.name === 'linear') {
-            t = exponentialInterpolation(input, 1, lower, upper);
-        } else if (interpolation.name === 'cubic-bezier') {
-            var c = interpolation.controlPoints;
-            var ub = new unitbezier(c[0], c[1], c[2], c[3]);
-            t = ub.solve(exponentialInterpolation(input, 1, lower, upper));
-        }
-        return t;
-    };
-
-    Interpolate$1.parse = function parse(args, context) {
-        var operator = args[0];
-        var interpolation = args[1];
-        var input = args[2];
-        var rest = args.slice(3);
-
-        if (!Array.isArray(interpolation) || interpolation.length === 0) {
-            return context.error("Expected an interpolation type expression.", 1);
-        }
-
-        if (interpolation[0] === 'linear') {
-            interpolation = {name: 'linear'};
-        } else if (interpolation[0] === 'exponential') {
-            var base = interpolation[1];
-            if (typeof base !== 'number') {
-                return context.error("Exponential interpolation requires a numeric base.", 1, 1);
-            }
-            interpolation = {
-                name: 'exponential',
-                base: base
-            };
-        } else if (interpolation[0] === 'cubic-bezier') {
-            var controlPoints = interpolation.slice(1);
-            if (
-                controlPoints.length !== 4 ||
-                    controlPoints.some(function (t) {
-                        return typeof t !== 'number' || t < 0 || t > 1;
-                    })
-                ) {
-                return context.error('Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.', 1);
-            }
-
-            interpolation = {
-                name: 'cubic-bezier',
-                controlPoints: (controlPoints )
-            };
-        } else {
-            return context.error(("Unknown interpolation type " + (String(interpolation[0]))), 1, 0);
-        }
-
-        if (args.length - 1 < 4) {
-            return context.error(("Expected at least 4 arguments, but found only " + (args.length - 1) + "."));
-        }
-
-        if ((args.length - 1) % 2 !== 0) {
-            return context.error("Expected an even number of arguments.");
-        }
-
-        input = context.parse(input, 2, NumberType);
-        if (!input) {
-            return null;
-        }
-
-        var stops = [];
-
-        var outputType = (null );
-        if (operator === 'interpolate-hcl' || operator === 'interpolate-lab') {
-            outputType = ColorType;
-        } else if (context.expectedType && context.expectedType.kind !== 'value') {
-            outputType = context.expectedType;
-        }
-
-        for (var i = 0; i < rest.length; i += 2) {
-            var label = rest[i];
-            var value = rest[i + 1];
-
-            var labelKey = i + 3;
-            var valueKey = i + 4;
-
-            if (typeof label !== 'number') {
-                return context.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.', labelKey);
-            }
-
-            if (stops.length && stops[stops.length - 1][0] >= label) {
-                return context.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.', labelKey);
-            }
-
-            var parsed = context.parse(value, valueKey, outputType);
-            if (!parsed) {
-                return null;
-            }
-            outputType = outputType || parsed.type;
-            stops.push([label, parsed]);
-        }
-
-        if (outputType.kind !== 'number' &&
-            outputType.kind !== 'color' && !(
-            outputType.kind === 'array' &&
-                outputType.itemType.kind === 'number' &&
-                typeof outputType.N === 'number'
-            )
-            ) {
-            return context.error(("Type " + (toString(outputType)) + " is not interpolatable."));
-        }
-
-        return new Interpolate$1(outputType, (operator ), interpolation, input, stops);
-    };
-
-    Interpolate$1.prototype.evaluate = function evaluate(ctx) {
-        var labels = this.labels;
-        var outputs = this.outputs;
-
-        if (labels.length === 1) {
-            return outputs[0].evaluate(ctx);
-        }
-
-        var value = ((this.input.evaluate(ctx) )    );
-        if (value <= labels[0]) {
-            return outputs[0].evaluate(ctx);
-        }
-
-        var stopCount = labels.length;
-        if (value >= labels[stopCount - 1]) {
-            return outputs[stopCount - 1].evaluate(ctx);
-        }
-
-        var index = findStopLessThanOrEqualTo(labels, value);
-        var lower = labels[index];
-        var upper = labels[index + 1];
-        var t = Interpolate$1.interpolationFactor(this.interpolation, value, lower, upper);
-
-        var outputLower = outputs[index].evaluate(ctx);
-        var outputUpper = outputs[index + 1].evaluate(ctx);
-
-        if (this.operator === 'interpolate') {
-            return (interpolate[this.type.kind.toLowerCase()] )(outputLower, outputUpper, t); // eslint-disable-line import/namespace
-        } else if (this.operator === 'interpolate-hcl') {
-            return hcl.reverse(hcl.interpolate(hcl.forward(outputLower), hcl.forward(outputUpper), t));
-        } else {
-            return lab.reverse(lab.interpolate(lab.forward(outputLower), lab.forward(outputUpper), t));
-        }
-    };
-
-    Interpolate$1.prototype.eachChild = function eachChild(fn) {
-        fn(this.input);
-        for (var i = 0, list = this.outputs; i < list.length; i += 1) {
-            var expression = list[i];
-
-            fn(expression);
-        }
-    };
-
-    Interpolate$1.prototype.possibleOutputs = function possibleOutputs() {
-        var ref;
-
-        return (ref = []).concat.apply(ref, this.outputs.map(function (output) {
-            return output.possibleOutputs();
-        }));
-    };
-
-    Interpolate$1.prototype.serialize = function serialize() {
-        var interpolation;
-        if (this.interpolation.name === 'linear') {
-            interpolation = ["linear"];
-        } else if (this.interpolation.name === 'exponential') {
-            if (this.interpolation.base === 1) {
-                interpolation = ["linear"];
-            } else {
-                interpolation = ["exponential", this.interpolation.base];
-            }
-        } else {
-            interpolation = ["cubic-bezier" ].concat(this.interpolation.controlPoints);
-        }
-
-        var serialized = [this.operator, interpolation, this.input.serialize()];
-
-        for (var i = 0; i < this.labels.length; i++) {
-            serialized.push(
-                this.labels[i],
-                this.outputs[i].serialize()
-            );
-        }
-        return serialized;
-    };
-
-    /**
-     * Returns a ratio that can be used to interpolate between exponential function
-     * stops.
-     * How it works: Two consecutive stop values define a (scaled and shifted) exponential function `f(x) = a * base^x + b`, where `base` is the user-specified base,
-     * and `a` and `b` are constants affording sufficient degrees of freedom to fit
-     * the function to the given stops.
-     *
-     * Here's a bit of algebra that lets us compute `f(x)` directly from the stop
-     * values without explicitly solving for `a` and `b`:
-     *
-     * First stop value: `f(x0) = y0 = a * base^x0 + b`
-     * Second stop value: `f(x1) = y1 = a * base^x1 + b`
-     * => `y1 - y0 = a(base^x1 - base^x0)`
-     * => `a = (y1 - y0)/(base^x1 - base^x0)`
-     *
-     * Desired value: `f(x) = y = a * base^x + b`
-     * => `f(x) = y0 + a * (base^x - base^x0)`
-     *
-     * From the above, we can replace the `a` in `a * (base^x - base^x0)` and do a
-     * little algebra:
-     * ```
-     * a * (base^x - base^x0) = (y1 - y0)/(base^x1 - base^x0) * (base^x - base^x0)
-     *                     = (y1 - y0) * (base^x - base^x0) / (base^x1 - base^x0)
-     * ```
-     *
-     * If we let `(base^x - base^x0) / (base^x1 base^x0)`, then we have
-     * `f(x) = y0 + (y1 - y0) * ratio`.  In other words, `ratio` may be treated as
-     * an interpolation factor between the two stops' output values.
-     *
-     * (Note: a slightly different form for `ratio`,
-     * `(base^(x-x0) - 1) / (base^(x1-x0) - 1) `, is equivalent, but requires fewer
-     * expensive `Math.pow()` operations.)
-     *
-     * @private
-     */
-    function exponentialInterpolation(input, base, lowerValue, upperValue) {
-        var difference = upperValue - lowerValue;
-        var progress = input - lowerValue;
-
-        if (difference === 0) {
-            return 0;
-        } else if (base === 1) {
-            return progress / difference;
-        } else {
-            return (Math.pow(base, progress) - 1) / (Math.pow(base, difference) - 1);
-        }
-    }
-
-    var BooleanType$7 = {kind: 'boolean'};
-    var ValueType$8 = {kind: 'value'};
-
-    function isComparableType(type) {
-        return type.kind === 'boolean' ||
-            type.kind === 'string' ||
-            type.kind === 'number' ||
-            type.kind === 'null' ||
-            type.kind === 'value';
-    }
-
-    function isComparableRuntimeValue(needle) {
-        return typeof needle === 'boolean' ||
-            typeof needle === 'string' ||
-            typeof needle === 'number';
-    }
-
-    function isSearchableRuntimeValue(haystack) {
-        return Array.isArray(haystack) ||
-            typeof haystack === 'string';
-    }
-
-    var In = function In(needle, haystack) {
-        this.type = BooleanType$7;
-        this.needle = needle;
-        this.haystack = haystack;
-    };
-
-    In.parse = function parse(args, context) {
-        if (args.length !== 3) {
-            return context.error(("Expected 2 arguments, but found " + (args.length - 1) + " instead."));
-        }
-
-        var needle = context.parse(args[1], 1, ValueType$8);
-
-        var haystack = context.parse(args[2], 2, ValueType$8);
-
-        if (!needle || !haystack) {
-            return null;
-        }
-
-        if (!isComparableType(needle.type)) {
-            return context.error(("Expected first argument to be of type boolean, string, number or null, but found " + (toString(needle.type)) + " instead"));
-        }
-
-        return new In(needle, haystack);
-    };
-
-    In.prototype.evaluate = function evaluate(ctx) {
-        var needle = (this.needle.evaluate(ctx) );
-        var haystack = (this.haystack.evaluate(ctx) );
-
-        if (!needle || !haystack) {
-            return false;
-        }
-
-        if (!isComparableRuntimeValue(needle)) {
-            throw new RuntimeError(("Expected first argument to be of type boolean, string or number, but found " + (toString(typeOf(needle))) + " instead."));
-        }
-
-        if (!isSearchableRuntimeValue(haystack)) {
-            throw new RuntimeError(("Expected second argument to be of type array or string, but found " + (toString(typeOf(haystack))) + " instead."));
-        }
-
-        return haystack.indexOf(needle) >= 0;
-    };
-
-    In.prototype.eachChild = function eachChild(fn) {
-        fn(this.needle);
-        fn(this.haystack);
-    };
-
-    In.prototype.possibleOutputs = function possibleOutputs() {
-        return [true, false];
-    };
-
-    In.prototype.serialize = function serialize() {
-        return ["in", this.needle.serialize(), this.haystack.serialize()];
-    };
-
-    var Let = function Let(bindings, result) {
-        this.type = result.type;
-        this.bindings = [].concat(bindings);
-        this.result = result;
-    };
-
-    Let.prototype.evaluate = function evaluate(ctx) {
-        return this.result.evaluate(ctx);
-    };
-
-    Let.prototype.eachChild = function eachChild(fn) {
-        for (var i = 0, list = this.bindings; i < list.length; i += 1) {
-            var binding = list[i];
-
-            fn(binding[1]);
-        }
-        fn(this.result);
-    };
-
-    Let.parse = function parse(args, context) {
-        if (args.length < 4) {
-            return context.error(("Expected at least 3 arguments, but found " + (args.length - 1) + " instead."));
-        }
-
-        var bindings = [];
-        for (var i = 1; i < args.length - 1; i += 2) {
-            var name = args[i];
-
-            if (typeof name !== 'string') {
-                return context.error(("Expected string, but found " + (typeof name) + " instead."), i);
-            }
-
-            if (/[^a-zA-Z0-9_]/.test(name)) {
-                return context.error("Variable names must contain only alphanumeric characters or '_'.", i);
-            }
-
-            var value = context.parse(args[i + 1], i + 1);
-            if (!value) {
-                return null;
-            }
-
-            bindings.push([name, value]);
-        }
-
-        var result = context.parse(args[args.length - 1], args.length - 1, context.expectedType, bindings);
-        if (!result) {
-            return null;
-        }
-
-        return new Let(bindings, result);
-    };
-
-    Let.prototype.possibleOutputs = function possibleOutputs() {
-        return this.result.possibleOutputs();
-    };
-
-    Let.prototype.serialize = function serialize() {
-        var serialized = ["let"];
-        for (var i = 0, list = this.bindings; i < list.length; i += 1) {
-            var ref = list[i];
-            var name = ref[0];
-            var expr = ref[1];
-
-            serialized.push(name, expr.serialize());
-        }
-        serialized.push(this.result.serialize());
-        return serialized;
-    };
-
-    var NumberType$7 = {kind: 'number'};
-
-    var Length = function Length(input) {
-        this.type = NumberType$7;
-        this.input = input;
-    };
-
-    Length.parse = function parse(args, context) {
-        if (args.length !== 2) {
-            return context.error(("Expected 1 argument, but found " + (args.length - 1) + " instead."));
-        }
-
-        var input = context.parse(args[1], 1);
-        if (!input) {
-            return null;
-        }
-
-        if (input.type.kind !== 'array' && input.type.kind !== 'string' && input.type.kind !== 'value') {
-            return context.error(("Expected argument of type string or array, but found " + (toString(input.type)) + " instead."));
-        }
-
-        return new Length(input);
-    };
-
-    Length.prototype.evaluate = function evaluate(ctx) {
-        var input = this.input.evaluate(ctx);
-        if (typeof input === 'string') {
-            return input.length;
-        } else if (Array.isArray(input)) {
-            return input.length;
-        } else {
-            throw new RuntimeError(("Expected value to be of type string or array, but found " + (toString(typeOf(input))) + " instead."));
-        }
-    };
-
-    Length.prototype.eachChild = function eachChild(fn) {
-        fn(this.input);
-    };
-
-    Length.prototype.possibleOutputs = function possibleOutputs() {
-        return [undefined];
-    };
-
-    Length.prototype.serialize = function serialize() {
-        var serialized = ["length"];
-        this.eachChild(function (child) {
-            serialized.push(child.serialize());
-        });
-        return serialized;
-    };
-
-    var Literal = function Literal(type, value) {
-        this.type = type;
-        this.value = value;
-    };
-
-    Literal.parse = function parse(args, context) {
-        if (args.length !== 2) {
-            return context.error(("'literal' expression requires exactly one argument, but found " + (args.length - 1) + " instead."));
-        }
-
-        if (!Values$1.isValue(args[1])) {
-            return context.error("invalid value");
-        }
-
-        var value = (args[1] );
-        var type = Values$1.typeOf(value);
-
-        // special case: infer the item type if possible for zero-length arrays
-        var expected = context.expectedType;
-        if (
-            type.kind === 'array' &&
-                type.N === 0 &&
-                expected &&
-                expected.kind === 'array' &&
-                (typeof expected.N !== 'number' || expected.N === 0)
-            ) {
-            type = expected;
-        }
-
-        return new Literal(type, value);
-    };
-
-    Literal.prototype.evaluate = function evaluate() {
-        return this.value;
-    };
-
-    Literal.prototype.eachChild = function eachChild() {
-    };
-
-    Literal.prototype.possibleOutputs = function possibleOutputs() {
-        return [this.value];
-    };
-
-    Literal.prototype.serialize = function serialize() {
-        if (this.type.kind === 'array' || this.type.kind === 'object') {
-            return ["literal", this.value];
-        } else if (this.value instanceof Color) {
-            // Constant-folding can generate Literal expressions that you
-            // couldn't actually generate with a "literal" expression,
-            // so we have to implement an equivalent serialization here
-            return ["rgba"].concat(this.value.toArray());
-        } else if (this.value instanceof Formatted$1) {
-            // Same as Color
-            return this.value.serialize();
-        } else {
-            assert_1(this.value === null ||
-                typeof this.value === 'string' ||
-                typeof this.value === 'number' ||
-                typeof this.value === 'boolean');
-            return (this.value );
-        }
-    };
-
-    var ValueType$9 = {kind: 'value'};
-
-    // Map input label values to output expression index
-    var Match = function Match(inputType, outputType, input, cases, outputs, otherwise) {
-        this.inputType = inputType;
-        this.type = outputType;
-        this.input = input;
-        this.cases = cases;
-        this.outputs = outputs;
-        this.otherwise = otherwise;
-    };
-
-    Match.parse = function parse(args, context) {
-        if (args.length < 5) {
-            return context.error(("Expected at least 4 arguments, but found only " + (args.length - 1) + "."));
-        }
-        if (args.length % 2 !== 1) {
-            return context.error("Expected an even number of arguments.");
-        }
-
-        var inputType;
-        var outputType;
-        if (context.expectedType && context.expectedType.kind !== 'value') {
-            outputType = context.expectedType;
-        }
-        var cases = {};
-        var outputs = [];
-        for (var i = 2; i < args.length - 1; i += 2) {
-            var labels = args[i];
-            var value = args[i + 1];
-
-            if (!Array.isArray(labels)) {
-                labels = [labels];
-            }
-
-            var labelContext = context.concat(i);
-            if (labels.length === 0) {
-                return labelContext.error('Expected at least one branch label.');
-            }
-
-            for (var i$1 = 0, list = labels; i$1 < list.length; i$1 += 1) {
-                var label = list[i$1];
-
-                if (typeof label !== 'number' && typeof label !== 'string') {
-                    return labelContext.error("Branch labels must be numbers or strings.");
-                } else if (typeof label === 'number' && Math.abs(label) > Number.MAX_SAFE_INTEGER) {
-                    return labelContext.error(("Branch labels must be integers no larger than " + (Number.MAX_SAFE_INTEGER) + "."));
-
-                } else if (typeof label === 'number' && Math.floor(label) !== label) {
-                    return labelContext.error("Numeric branch labels must be integer values.");
-
-                } else if (!inputType) {
-                    inputType = Values$1.typeOf(label);
-                } else if (labelContext.checkSubtype(inputType, Values$1.typeOf(label))) {
-                    return null;
-                }
-
-                if (typeof cases[String(label)] !== 'undefined') {
-                    return labelContext.error('Branch labels must be unique.');
-                }
-
-                cases[String(label)] = outputs.length;
-            }
-
-            var result = context.parse(value, i, outputType);
-            if (!result) {
-                return null;
-            }
-            outputType = outputType || result.type;
-            outputs.push(result);
-        }
-
-        var input = context.parse(args[1], 1, ValueType$9);
-        if (!input) {
-            return null;
-        }
-
-        var otherwise = context.parse(args[args.length - 1], args.length - 1, outputType);
-        if (!otherwise) {
-            return null;
-        }
-
-        assert_1(inputType && outputType);
-
-        if (input.type.kind !== 'value' && context.concat(1).checkSubtype((inputType ), input.type)) {
-            return null;
-        }
-
-        return new Match((inputType ), (outputType ), input, cases, outputs, otherwise);
-    };
-
-    Match.prototype.evaluate = function evaluate(ctx) {
-        var input = (this.input.evaluate(ctx) );
-        var output = (Values$1.typeOf(input) === this.inputType && this.outputs[this.cases[input]]) || this.otherwise;
-        return output.evaluate(ctx);
-    };
-
-    Match.prototype.eachChild = function eachChild(fn) {
-        fn(this.input);
-        this.outputs.forEach(fn);
-        fn(this.otherwise);
-    };
-
-    Match.prototype.possibleOutputs = function possibleOutputs() {
-        var ref;
-
-        return (ref = [])
-            .concat.apply(ref, this.outputs.map(function (out) {
-                return out.possibleOutputs();
-            }))
-            .concat(this.otherwise.possibleOutputs());
-    };
-
-    Match.prototype.serialize = function serialize() {
-        var this$1 = this;
-
-        var serialized = ["match", this.input.serialize()];
-
-        // Sort so serialization has an arbitrary defined order, even though
-        // branch order doesn't affect evaluation
-        var sortedLabels = Object.keys(this.cases).sort();
-
-        // Group branches by unique match expression to support condensed
-        // serializations of the form [case1, case2, ...] -> matchExpression
-        var groupedByOutput = [];
-        var outputLookup = {}; // lookup index into groupedByOutput for a given output expression
-        for (var i = 0, list = sortedLabels; i < list.length; i += 1) {
-            var label = list[i];
-
-            var outputIndex = outputLookup[this.cases[label]];
-            if (outputIndex === undefined) {
-                // First time seeing this output, add it to the end of the grouped list
-                outputLookup[this.cases[label]] = groupedByOutput.length;
-                groupedByOutput.push([this.cases[label], [label]]);
-            } else {
-                // We've seen this expression before, add the label to that output's group
-                groupedByOutput[outputIndex][1].push(label);
-            }
-        }
-
-        var coerceLabel = function (label) {
-            return this$1.inputType.kind === 'number' ? Number(label) : label;
-        };
-
-        for (var i$1 = 0, list$1 = groupedByOutput; i$1 < list$1.length; i$1 += 1) {
-            var ref = list$1[i$1];
-            var outputIndex = ref[0];
-            var labels = ref[1];
-
-            if (labels.length === 1) {
-                // Only a single label matches this output expression
-                serialized.push(coerceLabel(labels[0]));
-            } else {
-                // Array of literal labels pointing to this output expression
-                serialized.push(labels.map(coerceLabel));
-            }
-            serialized.push(this.outputs[outputIndex$1].serialize());
-        }
-        serialized.push(this.otherwise.serialize());
-        return serialized;
-    };
-
-    var NumberType$8 = {kind: 'number'};
-    var StringType$7 = {kind: 'string'};
-
-    var NumberFormat = function NumberFormat(number, locale, currency, minFractionDigits, maxFractionDigits) {
-        this.type = StringType$7;
-        this.number = number;
-        this.locale = locale;
-        this.currency = currency;
-        this.minFractionDigits = minFractionDigits;
-        this.maxFractionDigits = maxFractionDigits;
-    };
-
-    NumberFormat.parse = function parse(args, context) {
-        if (args.length !== 3) {
-            return context.error("Expected two arguments.");
-        }
-
-        var number = context.parse(args[1], 1, NumberType$8);
-        if (!number) {
-            return null;
-        }
-
-        var options = (args[2]   );
-        if (typeof options !== "object" || Array.isArray(options)) {
-            return context.error("NumberFormat options argument must be an object.");
-        }
-
-        var locale = null;
-        if (options['locale']) {
-            locale = context.parse(options['locale'], 1, StringType$7);
-            if (!locale) {
-                return null;
-            }
-        }
-
-        var currency = null;
-        if (options['currency']) {
-            currency = context.parse(options['currency'], 1, StringType$7);
-            if (!currency) {
-                return null;
-            }
-        }
-
-        var minFractionDigits = null;
-        if (options['min-fraction-digits']) {
-            minFractionDigits = context.parse(options['min-fraction-digits'], 1, NumberType$8);
-            if (!minFractionDigits) {
-                return null;
-            }
-        }
-
-        var maxFractionDigits = null;
-        if (options['max-fraction-digits']) {
-            maxFractionDigits = context.parse(options['max-fraction-digits'], 1, NumberType$8);
-            if (!maxFractionDigits) {
-                return null;
-            }
-        }
-
-        return new NumberFormat(number, locale, currency, minFractionDigits, maxFractionDigits);
-    };
-
-    NumberFormat.prototype.evaluate = function evaluate(ctx) {
-        return new Intl.NumberFormat(this.locale ? this.locale.evaluate(ctx) : [],
-            {
-                style: this.currency ? "currency" : "decimal",
-                currency: this.currency ? this.currency.evaluate(ctx) : undefined,
-                minimumFractionDigits: this.minFractionDigits ? this.minFractionDigits.evaluate(ctx) : undefined,
-                maximumFractionDigits: this.maxFractionDigits ? this.maxFractionDigits.evaluate(ctx) : undefined,
-            }).format(this.number.evaluate(ctx));
-    };
-
-    NumberFormat.prototype.eachChild = function eachChild(fn) {
-        fn(this.number);
-        if (this.locale) {
-            fn(this.locale);
-        }
-        if (this.currency) {
-            fn(this.currency);
-        }
-        if (this.minFractionDigits) {
-            fn(this.minFractionDigits);
-        }
-        if (this.maxFractionDigits) {
-            fn(this.maxFractionDigits);
-        }
-    };
-
-    NumberFormat.prototype.possibleOutputs = function possibleOutputs() {
-        return [undefined];
-    };
-
-    NumberFormat.prototype.serialize = function serialize() {
-        var options = {};
-        if (this.locale) {
-            options['locale'] = this.locale.serialize();
-        }
-        if (this.currency) {
-            options['currency'] = this.currency.serialize();
-        }
-        if (this.minFractionDigits) {
-            options['min-fraction-digits'] = this.minFractionDigits.serialize();
-        }
-        if (this.maxFractionDigits) {
-            options['max-fraction-digits'] = this.maxFractionDigits.serialize();
-        }
-        return ["number-format", this.number.serialize(), options];
-    };
-
-    /**
-     * Returns the index of the last stop <= input, or 0 if it doesn't exist.
-     * @private
-     */
-    function findStopLessThanOrEqualTo$1(stops, input) {
-        var lastIndex = stops.length - 1;
-        var lowerIndex = 0;
-        var upperIndex = lastIndex;
-        var currentIndex = 0;
-        var currentValue, nextValue;
-
-        while (lowerIndex <= upperIndex) {
-            currentIndex = Math.floor((lowerIndex + upperIndex) / 2);
-            currentValue = stops[currentIndex];
-            nextValue = stops[currentIndex + 1];
-
-            if (currentValue <= input) {
-                if (currentIndex === lastIndex || input < nextValue) { // Search complete
-                    return currentIndex;
-                }
-
-                lowerIndex = currentIndex + 1;
-            } else if (currentValue > input) {
-                upperIndex = currentIndex - 1;
-            } else {
-                throw new RuntimeError('Input is not a number.');
-            }
-        }
-
-        return 0;
-    }
-
-    var NumberType$9 = {kind: 'number'};
-
-    var Step = function Step(type, input, stops) {
-        this.type = type;
-        this.input = input;
-
-        this.labels = [];
-        this.outputs = [];
-        for (var i = 0, list = stops; i < list.length; i += 1) {
-            var ref = list[i];
-            var label = ref[0];
-            var expression = ref[1];
-
-            this.labels.push(label);
-            this.outputs.push(expression);
-        }
-    };
-
-    Step.parse = function parse(args, context) {
-        if (args.length - 1 < 4) {
-            return context.error(("Expected at least 4 arguments, but found only " + (args.length - 1) + "."));
-        }
-
-        if ((args.length - 1) % 2 !== 0) {
-            return context.error("Expected an even number of arguments.");
-        }
-
-        var input = context.parse(args[1], 1, NumberType$9);
-        if (!input) {
-            return null;
-        }
-
-        var stops = [];
-
-        var outputType = (null );
-        if (context.expectedType && context.expectedType.kind !== 'value') {
-            outputType = context.expectedType;
-        }
-
-        for (var i = 1; i < args.length; i += 2) {
-            var label = i === 1 ? -Infinity : args[i];
-            var value = args[i + 1];
-
-            var labelKey = i;
-            var valueKey = i + 1;
-
-            if (typeof label !== 'number') {
-                return context.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.', labelKey);
-            }
-
-            if (stops.length && stops[stops.length - 1][0] >= label) {
-                return context.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.', labelKey);
-            }
-
-            var parsed = context.parse(value, valueKey, outputType);
-            if (!parsed) {
-                return null;
-            }
-            outputType = outputType || parsed.type;
-            stops.push([label, parsed]);
-        }
-
-        return new Step(outputType, input, stops);
-    };
-
-    Step.prototype.evaluate = function evaluate(ctx) {
-        var labels = this.labels;
-        var outputs = this.outputs;
-
-        if (labels.length === 1) {
-            return outputs[0].evaluate(ctx);
-        }
-
-        var value = ((this.input.evaluate(ctx) )    );
-        if (value <= labels[0]) {
-            return outputs[0].evaluate(ctx);
-        }
-
-        var stopCount = labels.length;
-        if (value >= labels[stopCount - 1]) {
-            return outputs[stopCount - 1].evaluate(ctx);
-        }
-
-        var index = findStopLessThanOrEqualTo$1(labels, value);
-        return outputs[index].evaluate(ctx);
-    };
-
-    Step.prototype.eachChild = function eachChild(fn) {
-        fn(this.input);
-        for (var i = 0, list = this.outputs; i < list.length; i += 1) {
-            var expression = list[i];
-
-            fn(expression);
-        }
-    };
-
-    Step.prototype.possibleOutputs = function possibleOutputs() {
-        var ref;
-
-        return (ref = []).concat.apply(ref, this.outputs.map(function (output) {
-            return output.possibleOutputs();
-        }));
-    };
-
-    Step.prototype.serialize = function serialize() {
-        var serialized = ["step", this.input.serialize()];
-        for (var i = 0; i < this.labels.length; i++) {
-            if (i > 0) {
-                serialized.push(this.labels[i]);
-            }
-            serialized.push(this.outputs[i].serialize());
-        }
-        return serialized;
-    };
-
-    var Var = function Var(name, boundExpression) {
-        this.type = boundExpression.type;
-        this.name = name;
-        this.boundExpression = boundExpression;
-    };
-
-    Var.parse = function parse(args, context) {
-        if (args.length !== 2 || typeof args[1] !== 'string') {
-            return context.error("'var' expression requires exactly one string literal argument.");
-        }
-
-        var name = args[1];
-        if (!context.scope.has(name)) {
-            return context.error(("Unknown variable \"" + name + "\". Make sure \"" + name + "\" has been bound in an enclosing \"let\" expression before using it."), 1);
-        }
-
-        return new Var(name, context.scope.get(name));
-    };
-
-    Var.prototype.evaluate = function evaluate(ctx) {
-        return this.boundExpression.evaluate(ctx);
-    };
-
-    Var.prototype.eachChild = function eachChild() {
-    };
-
-    Var.prototype.possibleOutputs = function possibleOutputs() {
-        return [undefined];
-    };
-
-    Var.prototype.serialize = function serialize() {
-        return ["var", this.name];
-    };
-
-    var expressions = {
-        // special forms
-        '==': ComparisonEnum.Equals,
-        '!=': ComparisonEnum.NotEquals,
-        '>': ComparisonEnum.GreaterThan,
-        '<': ComparisonEnum.LessThan,
-        '>=': ComparisonEnum.GreaterThanOrEqual,
-        '<=': ComparisonEnum.LessThanOrEqual,
-        'array': Assertion,
-        'at': At,
-        'boolean': Assertion,
-        'case': Case,
-        'coalesce': Coalesce,
-        'collator': CollatorExpression,
-        'format': FormatExpression$1,
-        'image': ImageExpression$1,
-        'in': In,
-        'interpolate': Interpolate$1,
-        'interpolate-hcl': Interpolate$1,
-        'interpolate-lab': Interpolate$1,
-        'length': Length,
-        'let': Let,
-        'literal': Literal,
-        'match': Match,
-        'number': Assertion,
-        'number-format': NumberFormat,
-        'object': Assertion,
-        'step': Step,
-        'string': Assertion,
-        'to-boolean': Coercion,
-        'to-color': Coercion,
-        'to-number': Coercion,
-        'to-string': Coercion,
-        'var': Var
-    };
-
-    function WebWorkerTransfer() {
-
-    }
-
-    var registry = {};
-
-    /**
-     * Register the given class as serializable.
-     *
-     * @param options
-     * @param options.omit List of properties to omit from serialization (e.g., cached/computed properties)
-     * @param options.shallow List of properties that should be serialized by a simple shallow copy, rather than by a recursive call to serialize().
-     *
-     * @private
-     */
-    WebWorkerTransfer.register = function (name, klass, options) {
-        if (options === void 0) options = {};
-
-        //assert(!registry[name], (name + " is already registered."));
-        (Object.defineProperty     )(klass, '_classRegistryKey', {
-            value: name,
-            writeable: false
-        });
-        registry[name] = {
-            klass: klass,
-            omit: options.omit || [],
-            shallow: options.shallow || []
-        };
-    };
-
-    WebWorkerTransfer.register('Object', Object);
-
-
-    //    gridIndex.serialize = function serialize(grid, transferables) {
-    //        var buffer = grid.toArrayBuffer();
-    //        if (transferables) {
-    //            transferables.push(buffer);
-    //        }
-    //        return {buffer: buffer};
-    //    };
-    //
-    //    gridIndex.deserialize = function deserialize(serialized) {
-    //        return new gridIndex(serialized.buffer);
-    //    };
-    //    register('Grid', gridIndex);
-
-    WebWorkerTransfer.register('Color', Color$1);
-    //WebWorkerTransfer.register('Error', Error);
-    WebWorkerTransfer.register('ResolvedImage', ResolvedImage$1);
-    WebWorkerTransfer.register('ImageAtlas', ImageAtlas);
-    WebWorkerTransfer.register('ImagePosition', ImagePosition);
-    WebWorkerTransfer.register('RGBAImage', RGBAImage);
-    WebWorkerTransfer.register('Formatted', Formatted$1);
-    WebWorkerTransfer.register('FormattedSection', FormattedSection);
-
-    //    WebWorkerTransfer.register('StylePropertyFunction', StylePropertyFunction);
-    //    WebWorkerTransfer.register('StyleExpression', StyleExpression, {omit: ['_evaluator']});
-    //
-    //    WebWorkerTransfer.register('ZoomDependentExpression', ZoomDependentExpression);
-    //    WebWorkerTransfer.register('ZoomConstantExpression', ZoomConstantExpression);
-    //    WebWorkerTransfer.register('CompoundExpression', CompoundExpression, {omit: ['_evaluate']});
-
-    for (var name$1 in expressions) {
-        if ((expressions[name$1]     )._classRegistryKey) {
-            continue;
-        }
-        WebWorkerTransfer.register(("Expression_" + name$1), expressions[name$1]);
-    }
-
-    function isArrayBuffer(val) {
-        return val && typeof ArrayBuffer !== 'undefined' &&
-            (val instanceof ArrayBuffer || (val.constructor && val.constructor.name === 'ArrayBuffer'));
-    }
-
-    /**
-     * Serialize the given object for transfer to or from a web worker.
-     *
-     * For non-builtin types, recursively serialize each property (possibly
-     * omitting certain properties - see register()), and package the result along
-     * with the constructor's `name` so that the appropriate constructor can be
-     * looked up in `deserialize()`.
-     *
-     * If a `transferables` array is provided, add any transferable objects (i.e.,
-     * any ArrayBuffers or ArrayBuffer views) to the list. (If a copy is needed,
-     * this should happen in the client code, before using serialize().)
-     *
-     * @private
-     */
-    WebWorkerTransfer.serialize = function (input, transferables) {
-        if (input === null ||
-            input === undefined ||
-            typeof input === 'boolean' ||
-            typeof input === 'number' ||
-            typeof input === 'string' ||
-            input instanceof Boolean ||
-            input instanceof Number ||
-            input instanceof String ||
-            input instanceof Date ||
-            input instanceof RegExp) {
-            return input;
-        }
-
-        if (isArrayBuffer(input)) {
-            if (transferables) {
-                transferables.push(((input     )             ));
-            }
-            return input;
-        }
-
-        if (ArrayBuffer.isView(input)) {
-            var view = (input     );
-            if (transferables) {
-                transferables.push(view.buffer);
-            }
-            return view;
-        }
-
-        if (input instanceof ImageData) {
-            if (transferables) {
-                transferables.push(input.data.buffer);
-            }
-            return input;
-        }
-
-        if (Array.isArray(input)) {
-            var serialized = [];
-            for (var i = 0, list = input; i < list.length; i += 1) {
-                var item = list[i];
-
-                serialized.push(WebWorkerTransfer.serialize(item, transferables));
-            }
-            return serialized;
-        }
-
-        if (typeof input === 'object') {
-            var klass = (input.constructor     );
-            var name = klass._classRegistryKey;
-            if (!name) {
-                throw new Error("can't serialize object of unregistered class");
-            }
-            //assert(registry[name]);
-
-            var properties = klass.serialize ?
-                // (Temporary workaround) allow a class to provide static
-                // `serialize()` and `deserialize()` methods to bypass the generic
-                // approach.
-                // This temporary workaround lets us use the generic serialization
-                // approach for objects whose members include instances of dynamic
-                // StructArray types. Once we refactor StructArray to be static,
-                // we can remove this complexity.
-                (klass.serialize(input, transferables)                  ) : {};
-
-            if (!klass.serialize) {
-                for (var key in input) {
-                    // any cast due to https://github.com/facebook/flow/issues/5393
-                    if (!(input     ).hasOwnProperty(key)) {
-                        continue;
-                    }
-                    if (registry[name].omit.indexOf(key) >= 0) {
-                        continue;
-                    }
-                    var property = (input     )[key];
-                    properties[key] = registry[name].shallow.indexOf(key) >= 0 ?
-                        property :
-                        WebWorkerTransfer.serialize(property, transferables);
-                }
-                if (input instanceof Error) {
-                    properties.message = input.message;
-                }
-            }
-
-            if (properties.$name) {
-                throw new Error('$name property is reserved for worker serialization logic.');
-            }
-            if (name !== 'Object') {
-                properties.$name = name;
-            }
-
-            return properties;
-        }
-
-        throw new Error(("can't serialize object of type " + (typeof input)));
-    };
-
-    WebWorkerTransfer.deserialize = function (input) {
-        if (input === null ||
-            input === undefined ||
-            typeof input === 'boolean' ||
-            typeof input === 'number' ||
-            typeof input === 'string' ||
-            input instanceof Boolean ||
-            input instanceof Number ||
-            input instanceof String ||
-            input instanceof Date ||
-            input instanceof RegExp ||
-            isArrayBuffer(input) ||
-            ArrayBuffer.isView(input) ||
-            input instanceof ImageData) {
-            return input;
-        }
-
-        if (Array.isArray(input)) {
-            return input.map(WebWorkerTransfer.deserialize);
-        }
-
-        if (typeof input === 'object') {
-            var name = (input     ).$name || 'Object';
-
-            var ref = registry[name];
-            var klass = ref.klass;
-            if (!klass) {
-                throw new Error(("can't deserialize unregistered class " + name));
-            }
-
-            if (klass.deserialize) {
-                return (klass.deserialize                    )(input);
-            }
-
-            var result = Object.create(klass.prototype);
-
-            for (var i = 0, list = Object.keys(input); i < list.length; i += 1) {
-                var key = list[i];
-
-                if (key === '$name') {
-                    continue;
-                }
-                var value = (input                  )[key];
-                result[key] = registry[name].shallow.indexOf(key) >= 0 ? value : WebWorkerTransfer.deserialize(value);
-            }
-            return result;
-        }
-        throw new Error(("can't deserialize object of type " + (typeof input)));
-    };
-
-    var ZoomHistory = function ZoomHistory() {
-        this.first = true;
-    };
-
-    ZoomHistory.prototype.update = function update (z    , now    ) {
-        var floorZ = Math.floor(z);
-
-        if (this.first) {
-            this.first = false;
-            this.lastIntegerZoom = floorZ;
-            this.lastIntegerZoomTime = 0;
-            this.lastZoom = z;
-            this.lastFloorZoom = floorZ;
-            return true;
-        }
-
-        if (this.lastFloorZoom > floorZ) {
-            this.lastIntegerZoom = floorZ + 1;
-            this.lastIntegerZoomTime = now;
-        } else if (this.lastFloorZoom < floorZ) {
-            this.lastIntegerZoom = floorZ;
-            this.lastIntegerZoomTime = now;
-        }
-
-        if (z !== this.lastZoom) {
-            this.lastZoom = z;
-            this.lastFloorZoom = floorZ;
-            return true;
-        }
-
-        return false;
-    };
-
-    var EvaluationParameters$1 = function EvaluationParameters(zoom, options) {
-        this.zoom = zoom;
-
-        if (options) {
-            this.now = options.now;
-            this.fadeDuration = options.fadeDuration;
-            this.zoomHistory = options.zoomHistory;
-            this.transition = options.transition;
-        } else {
-            this.now = 0;
-            this.fadeDuration = 0;
-            this.zoomHistory = new ZoomHistory();
-            this.transition = {};
-        }
-    };
-
-    EvaluationParameters$1.prototype.isSupportedScript = function isSupportedScript(str) {
-        return false;
-        //return isStringInSupportedScript(str, plugin.isLoaded());
-    };
-
-    EvaluationParameters$1.prototype.crossFadingFactor = function crossFadingFactor() {
-        if (this.fadeDuration === 0) {
-            return 1;
-        } else {
-            return Math.min((this.now - this.zoomHistory.lastIntegerZoomTime) / this.fadeDuration, 1);
-        }
-    };
-
-    EvaluationParameters$1.prototype.getCrossfadeParameters = function getCrossfadeParameters() {
-        var z = this.zoom;
-        var fraction = z - Math.floor(z);
-        var t = this.crossFadingFactor();
-
-        return z > this.zoomHistory.lastIntegerZoom ?
-        {fromScale: 2, toScale: 1, t: fraction + (1 - fraction) * t} :
-        {fromScale: 0.5, toScale: 1, t: 1 - (1 - t) * fraction};
-    };
-
-    var EXTENT = 8192;
-
-    function clamp(n, min, max) {
-        return Math.min(max, Math.max(min, n));
-    }
-
-    // These bounds define the minimum and maximum supported coordinate values.
-    // While visible coordinates are within [0, EXTENT], tiles may theoretically
-    // contain cordinates within [-Infinity, Infinity]. Our range is limited by the
-    // number of bits used to represent the coordinate.
-    function createBounds(bits) {
-        return {
-            min: -1 * Math.pow(2, bits - 1),
-            max: Math.pow(2, bits - 1) - 1
-        };
-    }
-
-    var bounds = createBounds(15);
-
-    /**
-     * Loads a geometry from a VectorTileFeature and scales it to the common extent
-     * used internally.
-     * @param {VectorTileFeature} feature
-     * @private
-     */
-    function loadGeometry(feature) {
-        var scale = EXTENT / feature.extent;
-        var geometry = feature.loadGeometry();
-        for (var r = 0; r < geometry.length; r++) {
-            var ring = geometry[r];
-            for (var p = 0; p < ring.length; p++) {
-                var point = ring[p];
-                // round here because mapbox-gl-native uses integers to represent
-                // points and we need to do the same to avoid renering differences.
-                point.x = Math.round(point.x * scale);
-                // 因为绘制到纹理上颠倒了,所以在这里取反
-                point.y = EXTENT - Math.round(point.y * scale);
-
-                if (point.x < bounds.min || point.x > bounds.max || point.y < bounds.min || point.y > bounds.max) {
-                    //warnOnce('Geometry exceeds allowed extent, reduce your vector tile buffer size');
-                    point.x = clamp(point.x, bounds.min, bounds.max);
-                    point.y = clamp(point.y, bounds.min, bounds.max);
-                }
-            }
-        }
-        return geometry;
-    }
-
-    var SegmentVector = function SegmentVector(segments) {
-        if (segments === void 0) segments = [];
-
-        this.segments = segments;
-    };
-
-    SegmentVector.prototype.prepareSegment = function prepareSegment(numVertices, layoutVertexArray, indexArray, sortKey) {
-        var segment = this.segments[this.segments.length - 1];
-        if (!segment || segment.vertexLength + numVertices > SegmentVector.MAX_VERTEX_ARRAY_LENGTH || segment.sortKey !== sortKey) {
-            segment = ({
-                vertexOffset: layoutVertexArray.length,
-                primitiveOffset: indexArray.length,
-                vertexLength: 0,
-                primitiveLength: 0
-            } );
-            if (sortKey !== undefined) {
-                segment.sortKey = sortKey;
-            }
-            this.segments.push(segment);
-        }
-        return segment;
-    };
-
-    SegmentVector.prototype.get = function get() {
-        return this.segments;
-    };
-
-    SegmentVector.prototype.destroy = function destroy() {
-        for (var i = 0, list = this.segments; i < list.length; i += 1) {
-            var segment = list[i];
-
-            for (var k in segment.vaos) {
-                segment.vaos[k].destroy();
-            }
-        }
-    };
-
-    SegmentVector.simpleSegment = function simpleSegment(vertexOffset, primitiveOffset, vertexLength, primitiveLength) {
-        return new SegmentVector([
-            {
-                vertexOffset: vertexOffset,
-                primitiveOffset: primitiveOffset,
-                vertexLength: vertexLength,
-                primitiveLength: primitiveLength,
-                vaos: {},
-                sortKey: 0
-            }
-        ]);
-    };
-
-    /*
-     * The maximum size of a vertex array. This limit is imposed by WebGL's 16 bit
-     * addressing of vertex buffers.
-     * @private
-     * @readonly
-     */
-    SegmentVector.MAX_VERTEX_ARRAY_LENGTH = Math.pow(2, 16) - 1;
-    WebWorkerTransfer.register('SegmentVector', SegmentVector);
-
-    /**
-     * @private
-     */
-
-    var DEFAULT_CAPACITY = 128;
-    var RESIZE_MULTIPLIER = 5;
-
-    /**
-     * `StructArray` provides an abstraction over `ArrayBuffer` and `TypedArray`
-     * making it behave like an array of typed structs.
-     *
-     * Conceptually, a StructArray is comprised of elements, i.e., instances of its
-     * associated struct type. Each particular struct type, together with an
-     * alignment size, determines the memory layout of a StructArray whose elements
-     * are of that type.  Thus, for each such layout that we need, we have
-     * a corrseponding StructArrayLayout class, inheriting from StructArray and
-     * implementing `emplaceBack()` and `_refreshViews()`.
-     *
-     * In some cases, where we need to access particular elements of a StructArray,
-     * we implement a more specific subclass that inherits from one of the
-     * StructArrayLayouts and adds a `get(i): T` accessor that returns a structured
-     * object whose properties are proxies into the underlying memory space for the
-     * i-th element.  This affords the convience of working with (seemingly) plain
-     * Javascript objects without the overhead of serializing/deserializing them
-     * into ArrayBuffers for efficient web worker transfer.
-     *
-     * @private
-     */
-    var StructArray = function StructArray() {
-        this.isTransferred = false;
-        this.capacity = -1;
-        this.resize(0);
-    };
-
-    /**
-     * Serialize a StructArray instance.Serializes both the raw data and the
-     * metadata needed to reconstruct the StructArray base class during
-     * deserialization.
-     */
-    StructArray.serialize = function serialize(array, transferables) {
-        //assert_1(!array.isTransferred);
-        if(array.isTransferred){
-            console.log("StructArray array.isTransferred.");
-        }
-
-        array._trim();
-
-        if (transferables) {
-            array.isTransferred = true;
-            transferables.push(array.arrayBuffer);
-        }
-
-        return {
-            length: array.length,
-            arrayBuffer: array.arrayBuffer,
-        };
-    };
-
-    StructArray.deserialize = function deserialize(input) {
-        var structArray = Object.create(this.prototype);
-        structArray.arrayBuffer = input.arrayBuffer;
-        structArray.length = input.length;
-        structArray.capacity = input.arrayBuffer.byteLength / structArray.bytesPerElement;
-        structArray._refreshViews();
-        return structArray;
-    };
-
-    /**
-     * Resize the array to discard unused capacity.
-     */
-    StructArray.prototype._trim = function _trim() {
-        if (this.length !== this.capacity) {
-            this.capacity = this.length;
-            this.arrayBuffer = this.arrayBuffer.slice(0, this.length * this.bytesPerElement);
-            this._refreshViews();
-        }
-    };
-
-    /**
-     * Resets the the length of the array to 0 without de-allocating capcacity.
-     */
-    StructArray.prototype.clear = function clear() {
-        this.length = 0;
-    };
-
-    /**
-     * Resize the array.
-     * If `n` is greater than the current length then additional elements with undefined values are added.
-     * If `n` is less than the current length then the array will be reduced to the first `n` elements.
-     * @param {number} n The new size of the array.
-     */
-    StructArray.prototype.resize = function resize(n) {
-        //assert_1(!this.isTransferred);
-        this.reserve(n);
-        this.length = n;
-    };
-
-    /**
-     * Indicate a planned increase in size, so that any necessary allocation may
-     * be done once, ahead of time.
-     * @param {number} n The expected size of the array.
-     */
-    StructArray.prototype.reserve = function reserve(n) {
-        if (n > this.capacity) {
-            this.capacity = Math.max(n, Math.floor(this.capacity * RESIZE_MULTIPLIER), DEFAULT_CAPACITY);
-            this.arrayBuffer = new ArrayBuffer(this.capacity * this.bytesPerElement);
-
-            var oldUint8Array = this.uint8;
-            this._refreshViews();
-            if (oldUint8Array) {
-                this.uint8.set(oldUint8Array);
-            }
-        }
-    };
-
-    /**
-     * Create TypedArray views for the current ArrayBuffer.
-     */
-    StructArray.prototype._refreshViews = function _refreshViews() {
-        throw new Error('_refreshViews() must be implemented by each concrete StructArray layout');
-    };
-
-    /**
-     * Implementation of the StructArray layout:
-     * [0]: Int16[2]
-     * [4]: Uint8[4]
-     *
-     * @private
-     */
-    var StructArrayLayout2i4ub8 = /*@__PURE__*/(function (StructArray) {
-        function StructArrayLayout2i4ub8() {
-            StructArray.apply(this, arguments);
-        }
-
-        if (StructArray) StructArrayLayout2i4ub8.__proto__ = StructArray;
-        StructArrayLayout2i4ub8.prototype = Object.create(StructArray && StructArray.prototype);
-        StructArrayLayout2i4ub8.prototype.constructor = StructArrayLayout2i4ub8;
-
-        StructArrayLayout2i4ub8.prototype._refreshViews = function _refreshViews() {
-            this.uint8 = new Uint8Array(this.arrayBuffer);
-            this.int16 = new Int16Array(this.arrayBuffer);
-        };
-
-        StructArrayLayout2i4ub8.prototype.emplaceBack = function emplaceBack(v0, v1, v2, v3, v4, v5) {
-            var i = this.length;
-            this.resize(i + 1);
-            return this.emplace(i, v0, v1, v2, v3, v4, v5);
-        };
-
-        StructArrayLayout2i4ub8.prototype.emplace = function emplace(i, v0, v1, v2, v3, v4, v5) {
-            var o2 = i * 4;
-            var o1 = i * 8;
-            this.int16[o2 + 0] = v0;
-            this.int16[o2 + 1] = v1;
-            this.uint8[o1 + 4] = v2;
-            this.uint8[o1 + 5] = v3;
-            this.uint8[o1 + 6] = v4;
-            this.uint8[o1 + 7] = v5;
-            return i;
-        };
-
-        return StructArrayLayout2i4ub8;
-    }(StructArray));
-
-    StructArrayLayout2i4ub8.prototype.bytesPerElement = 8;
-    WebWorkerTransfer.register('StructArrayLayout2i4ub8', StructArrayLayout2i4ub8);
-
-    /**
-     * Implementation of the StructArray layout:
-     * [0]: Uint16[3]
-     *
-     * @private
-     */
-    var StructArrayLayout3ui6 = /*@__PURE__*/(function (StructArray) {
-        function StructArrayLayout3ui6() {
-            StructArray.apply(this, arguments);
-        }
-
-        if (StructArray) StructArrayLayout3ui6.__proto__ = StructArray;
-        StructArrayLayout3ui6.prototype = Object.create(StructArray && StructArray.prototype);
-        StructArrayLayout3ui6.prototype.constructor = StructArrayLayout3ui6;
-
-        StructArrayLayout3ui6.prototype._refreshViews = function _refreshViews() {
-            this.uint8 = new Uint8Array(this.arrayBuffer);
-            this.uint16 = new Uint16Array(this.arrayBuffer);
-        };
-
-        StructArrayLayout3ui6.prototype.emplaceBack = function emplaceBack(v0, v1, v2) {
-            var i = this.length;
-            this.resize(i + 1);
-            return this.emplace(i, v0, v1, v2);
-        };
-
-        StructArrayLayout3ui6.prototype.emplace = function emplace(i, v0, v1, v2) {
-            var o2 = i * 3;
-            this.uint16[o2 + 0] = v0;
-            this.uint16[o2 + 1] = v1;
-            this.uint16[o2 + 2] = v2;
-            return i;
-        };
-
-        return StructArrayLayout3ui6;
-    }(StructArray));
-
-    StructArrayLayout3ui6.prototype.bytesPerElement = 6;
-    WebWorkerTransfer.register('StructArrayLayout3ui6', StructArrayLayout3ui6);
-
-    // A transferable data structure that maps feature ids to their indices and buffer offsets
-    var FeaturePositionMap = function FeaturePositionMap() {
-        this.ids = [];
-        this.positions = [];
-        this.indexed = false;
-    };
-
-    FeaturePositionMap.prototype.add = function add(id, index, start, end) {
-        this.ids.push(id);
-        this.positions.push(index, start, end);
-    };
-
-    FeaturePositionMap.prototype.getPositions = function getPositions(id) {
-        //assert_1(this.indexed);
-
-        // binary search for the first occurrence of id in this.ids;
-        // relies on ids/positions being sorted by id, which happens in serialization
-        var i = 0;
-        var j = this.ids.length - 1;
-        while (i < j) {
-            var m = (i + j) >> 1;
-            if (this.ids[m] >= id) {
-                j = m;
-            } else {
-                i = m + 1;
-            }
-        }
-        var positions = [];
-        while (this.ids[i] === id) {
-            var index = this.positions[3 * i];
-            var start = this.positions[3 * i + 1];
-            var end = this.positions[3 * i + 2];
-            positions.push({index: index, start: start, end: end});
-            i++;
-        }
-        return positions;
-    };
-
-    FeaturePositionMap.serialize = function serialize(map, transferables) {
-        var ids = new Float64Array(map.ids);
-        var positions = new Uint32Array(map.positions);
-
-        sort(ids, positions, 0, ids.length - 1);
-
-        if (transferables) {
-            transferables.push(ids.buffer, positions.buffer);
-        }
-
-        return {ids: ids, positions: positions};
-    };
-
-    FeaturePositionMap.deserialize = function deserialize(obj) {
-        var map = new FeaturePositionMap();
-        // after transferring, we only use these arrays statically (no pushes),
-        // so TypedArray vs Array distinction that flow points out doesn't matter
-        map.ids = (obj.ids   );
-        map.positions = (obj.positions   );
-        map.indexed = true;
-        return map;
-    };
-
-    // custom quicksort that sorts ids, indices and offsets together (by ids)
-    function sort(ids, positions, left, right) {
-        if (left >= right) {
-            return;
-        }
-
-        var pivot = ids[(left + right) >> 1];
-        var i = left - 1;
-        var j = right + 1;
-
-        while (true) {
-            do {
-                i++;
-            } while (ids[i] < pivot);
-            do {
-                j--;
-            } while (ids[j] > pivot);
-            if (i >= j) {
-                break;
-            }
-            swap(ids, i, j);
-            swap(positions, 3 * i, 3 * j);
-            swap(positions, 3 * i + 1, 3 * j + 1);
-            swap(positions, 3 * i + 2, 3 * j + 2);
-        }
-
-        sort(ids, positions, left, j);
-        sort(ids, positions, j + 1, right);
-    }
-
-    function swap(arr, i, j) {
-        var tmp = arr[i];
-        arr[i] = arr[j];
-        arr[j] = tmp;
-    }
-
-    WebWorkerTransfer.register('FeaturePositionMap', FeaturePositionMap);
-
-    /**
-     * `PossiblyEvaluatedPropertyValue` is used for data-driven paint and layout property values. It holds a
-     * `PossiblyEvaluatedValue` and the `GlobalProperties` that were used to generate it. You're not allowed to supply
-     * a different set of `GlobalProperties` when performing the final evaluation because they would be ignored in the
-     * case where the input value was a constant or camera function.
-     *
-     * @private
-     */
-    var PossiblyEvaluatedPropertyValue$1 = function PossiblyEvaluatedPropertyValue(property, value, parameters) {
-        this.property = property;
-        this.value = value;
-        this.parameters = parameters;
-    };
-
-    PossiblyEvaluatedPropertyValue$1.prototype.isConstant = function isConstant() {
-        return this.value.kind === 'constant';
-    };
-
-    PossiblyEvaluatedPropertyValue$1.prototype.constantOr = function constantOr(value) {
-        if (this.value.kind === 'constant') {
-            return this.value.value;
-        } else {
-            return value;
-        }
-    };
-
-    PossiblyEvaluatedPropertyValue$1.prototype.evaluate = function evaluate(feature, featureState, availableImages) {
-        return this.property.evaluate(this.value, this.parameters, feature, featureState, availableImages);
-    };
-
-    function Supports() {
-    }
-
-    Supports.supportsPropertyExpression = function (spec) {
-        return spec['property-type'] === 'data-driven' || spec['property-type'] === 'cross-faded-data-driven';
-    };
-
-    Supports.supportsZoomExpression = function (spec) {
-        return !!spec.expression && spec.expression.parameters.indexOf('zoom') > -1;
-    };
-
-    Supports.supportsInterpolation = function (spec) {
-        return !!spec.expression && spec.expression.interpolated;
-    };
-
-    var UniformType = {};
-
-    var Uniform = function Uniform(context, location) {
-        this.gl = context.gl;
-        this.location = location;
-    };
-
-    UniformType.Uniform1i = /*@__PURE__*/(function (Uniform) {
-        function Uniform1i(context, location) {
-            Uniform.call(this, context, location);
-            this.current = 0;
-        }
-
-        if (Uniform) Uniform1i.__proto__ = Uniform;
-        Uniform1i.prototype = Object.create(Uniform && Uniform.prototype);
-        Uniform1i.prototype.constructor = Uniform1i;
-
-        Uniform1i.prototype.set = function set(v) {
-            if (this.current !== v) {
-                this.current = v;
-                this.gl.uniform1i(this.location, v);
-            }
-        };
-
-        return Uniform1i;
-    }(Uniform));
-
-    UniformType.Uniform1f = /*@__PURE__*/(function (Uniform) {
-        function Uniform1f(context, location) {
-            Uniform.call(this, context, location);
-            this.current = 0;
-        }
-
-        if (Uniform) Uniform1f.__proto__ = Uniform;
-        Uniform1f.prototype = Object.create(Uniform && Uniform.prototype);
-        Uniform1f.prototype.constructor = Uniform1f;
-
-        Uniform1f.prototype.set = function set(v) {
-            if (this.current !== v) {
-                this.current = v;
-                this.gl.uniform1f(this.location, v);
-            }
-        };
-
-        return Uniform1f;
-    }(Uniform));
-
-    UniformType.Uniform2f = /*@__PURE__*/(function (Uniform) {
-        function Uniform2f(context, location) {
-            Uniform.call(this, context, location);
-            this.current = [0, 0];
-        }
-
-        if (Uniform) Uniform2f.__proto__ = Uniform;
-        Uniform2f.prototype = Object.create(Uniform && Uniform.prototype);
-        Uniform2f.prototype.constructor = Uniform2f;
-
-        Uniform2f.prototype.set = function set(v) {
-            if (v[0] !== this.current[0] || v[1] !== this.current[1]) {
-                this.current = v;
-                this.gl.uniform2f(this.location, v[0], v[1]);
-            }
-        };
-
-        return Uniform2f;
-    }(Uniform));
-
-    UniformType.Uniform3f = /*@__PURE__*/(function (Uniform) {
-        function Uniform3f(context, location) {
-            Uniform.call(this, context, location);
-            this.current = [0, 0, 0];
-        }
-
-        if (Uniform) Uniform3f.__proto__ = Uniform;
-        Uniform3f.prototype = Object.create(Uniform && Uniform.prototype);
-        Uniform3f.prototype.constructor = Uniform3f;
-
-        Uniform3f.prototype.set = function set(v) {
-            if (v[0] !== this.current[0] || v[1] !== this.current[1] || v[2] !== this.current[2]) {
-                this.current = v;
-                this.gl.uniform3f(this.location, v[0], v[1], v[2]);
-            }
-        };
-
-        return Uniform3f;
-    }(Uniform));
-
-    UniformType.Uniform4f = /*@__PURE__*/(function (Uniform) {
-        function Uniform4f(context, location) {
-            Uniform.call(this, context, location);
-            this.current = [0, 0, 0, 0];
-        }
-
-        if (Uniform) Uniform4f.__proto__ = Uniform;
-        Uniform4f.prototype = Object.create(Uniform && Uniform.prototype);
-        Uniform4f.prototype.constructor = Uniform4f;
-
-        Uniform4f.prototype.set = function set(v) {
-            if (v[0] !== this.current[0] || v[1] !== this.current[1] ||
-                v[2] !== this.current[2] || v[3] !== this.current[3]) {
-                this.current = v;
-                this.gl.uniform4f(this.location, v[0], v[1], v[2], v[3]);
-            }
-        };
-
-        return Uniform4f;
-    }(Uniform));
-
-    UniformType.UniformColor = /*@__PURE__*/(function (Uniform) {
-        function UniformColor(context, location) {
-            Uniform.call(this, context, location);
-            this.current = Color$1.transparent;
-        }
-
-        if (Uniform) UniformColor.__proto__ = Uniform;
-        UniformColor.prototype = Object.create(Uniform && Uniform.prototype);
-        UniformColor.prototype.constructor = UniformColor;
-
-        UniformColor.prototype.set = function set(v) {
-            if (v.r !== this.current.r || v.g !== this.current.g ||
-                v.b !== this.current.b || v.a !== this.current.a) {
-                this.current = v;
-                this.gl.uniform4f(this.location, v.r, v.g, v.b, v.a);
-            }
-        };
-
-        return UniformColor;
-    }(Uniform));
-
-    var emptyMat4 = new Float32Array(16);
-    UniformType.UniformMatrix4f = /*@__PURE__*/(function (Uniform) {
-        function UniformMatrix4f(context, location) {
-            Uniform.call(this, context, location);
-            this.current = emptyMat4;
-        }
-
-        if (Uniform) UniformMatrix4f.__proto__ = Uniform;
-        UniformMatrix4f.prototype = Object.create(Uniform && Uniform.prototype);
-        UniformMatrix4f.prototype.constructor = UniformMatrix4f;
-
-        UniformMatrix4f.prototype.set = function set(v) {
-            this.gl.uniformMatrix4fv(this.location, false, v);
-            // The vast majority of matrix comparisons that will trip this set
-            // happen at i=12 or i=0, so we check those first to avoid lots of
-            // unnecessary iteration:
-    //            if (v[12] !== this.current[12] || v[0] !== this.current[0]) {
-    //                this.current = v;
-    //                this.gl.uniformMatrix4fv(this.location, false, v);
-    //                return;
-    //            }
-    //            for (var i = 1; i < 16; i++) {
-    //                if (v[i] !== this.current[i]) {
-    //                    this.current = v;
-    //                    this.gl.uniformMatrix4fv(this.location, false, v);
-    //                    break;
-    //                }
-    //            }
-        };
-
-        return UniformMatrix4f;
-    }(Uniform));
-
-    /**
-     * Implementation of the StructArray layout:
-     * [0]: Uint16[8]
-     *
-     * @private
-     */
-    var StructArrayLayout8ui16 = /*@__PURE__*/(function (StructArray) {
-        function StructArrayLayout8ui16() {
-            StructArray.apply(this, arguments);
-        }
-
-        if (StructArray) StructArrayLayout8ui16.__proto__ = StructArray;
-        StructArrayLayout8ui16.prototype = Object.create(StructArray && StructArray.prototype);
-        StructArrayLayout8ui16.prototype.constructor = StructArrayLayout8ui16;
-
-        StructArrayLayout8ui16.prototype._refreshViews = function _refreshViews() {
-            this.uint8 = new Uint8Array(this.arrayBuffer);
-            this.uint16 = new Uint16Array(this.arrayBuffer);
-        };
-
-        StructArrayLayout8ui16.prototype.emplaceBack = function emplaceBack(v0, v1, v2, v3, v4, v5, v6, v7) {
-            var i = this.length;
-            this.resize(i + 1);
-            return this.emplace(i, v0, v1, v2, v3, v4, v5, v6, v7);
-        };
-
-        StructArrayLayout8ui16.prototype.emplace = function emplace(i, v0, v1, v2, v3, v4, v5, v6, v7) {
-            var o2 = i * 8;
-            this.uint16[o2 + 0] = v0;
-            this.uint16[o2 + 1] = v1;
-            this.uint16[o2 + 2] = v2;
-            this.uint16[o2 + 3] = v3;
-            this.uint16[o2 + 4] = v4;
-            this.uint16[o2 + 5] = v5;
-            this.uint16[o2 + 6] = v6;
-            this.uint16[o2 + 7] = v7;
-            return i;
-        };
-
-        return StructArrayLayout8ui16;
-    }(StructArray));
-
-    StructArrayLayout8ui16.prototype.bytesPerElement = 16;
-    WebWorkerTransfer.register('StructArrayLayout8ui16', StructArrayLayout8ui16);
-
-    /**
-     * Implementation of the StructArray layout:
-     * [0]: Float32[2]
-     *
-     * @private
-     */
-    var StructArrayLayout2f8 = /*@__PURE__*/(function (StructArray) {
-        function StructArrayLayout2f8() {
-            StructArray.apply(this, arguments);
-        }
-
-        if (StructArray) StructArrayLayout2f8.__proto__ = StructArray;
-        StructArrayLayout2f8.prototype = Object.create(StructArray && StructArray.prototype);
-        StructArrayLayout2f8.prototype.constructor = StructArrayLayout2f8;
-
-        StructArrayLayout2f8.prototype._refreshViews = function _refreshViews() {
-            this.uint8 = new Uint8Array(this.arrayBuffer);
-            this.float32 = new Float32Array(this.arrayBuffer);
-        };
-
-        StructArrayLayout2f8.prototype.emplaceBack = function emplaceBack(v0, v1) {
-            var i = this.length;
-            this.resize(i + 1);
-            return this.emplace(i, v0, v1);
-        };
-
-        StructArrayLayout2f8.prototype.emplace = function emplace(i, v0, v1) {
-            var o4 = i * 2;
-            this.float32[o4 + 0] = v0;
-            this.float32[o4 + 1] = v1;
-            return i;
-        };
-
-        return StructArrayLayout2f8;
-    }(StructArray));
-
-    StructArrayLayout2f8.prototype.bytesPerElement = 8;
-    WebWorkerTransfer.register('StructArrayLayout2f8', StructArrayLayout2f8);
-
-    /**
-     * Implementation of the StructArray layout:
-     * [0]: Float32[4]
-     *
-     * @private
-     */
-    var StructArrayLayout4f16 = /*@__PURE__*/(function (StructArray) {
-        function StructArrayLayout4f16() {
-            StructArray.apply(this, arguments);
-        }
-
-        if (StructArray) StructArrayLayout4f16.__proto__ = StructArray;
-        StructArrayLayout4f16.prototype = Object.create(StructArray && StructArray.prototype);
-        StructArrayLayout4f16.prototype.constructor = StructArrayLayout4f16;
-
-        StructArrayLayout4f16.prototype._refreshViews = function _refreshViews() {
-            this.uint8 = new Uint8Array(this.arrayBuffer);
-            this.float32 = new Float32Array(this.arrayBuffer);
-        };
-
-        StructArrayLayout4f16.prototype.emplaceBack = function emplaceBack(v0, v1, v2, v3) {
-            var i = this.length;
-            this.resize(i + 1);
-            return this.emplace(i, v0, v1, v2, v3);
-        };
-
-        StructArrayLayout4f16.prototype.emplace = function emplace(i, v0, v1, v2, v3) {
-            var o4 = i * 4;
-            this.float32[o4 + 0] = v0;
-            this.float32[o4 + 1] = v1;
-            this.float32[o4 + 2] = v2;
-            this.float32[o4 + 3] = v3;
-            return i;
-        };
-
-        return StructArrayLayout4f16;
-    }(StructArray));
-
-    StructArrayLayout4f16.prototype.bytesPerElement = 16;
-    WebWorkerTransfer.register('StructArrayLayout4f16', StructArrayLayout4f16);
-
-    /**
-     * Implementation of the StructArray layout:
-     * [0]: Float32[1]
-     *
-     * @private
-     */
-    var StructArrayLayout1f4 = /*@__PURE__*/(function (StructArray) {
-        function StructArrayLayout1f4() {
-            StructArray.apply(this, arguments);
-        }
-
-        if (StructArray) StructArrayLayout1f4.__proto__ = StructArray;
-        StructArrayLayout1f4.prototype = Object.create(StructArray && StructArray.prototype);
-        StructArrayLayout1f4.prototype.constructor = StructArrayLayout1f4;
-
-        StructArrayLayout1f4.prototype._refreshViews = function _refreshViews() {
-            this.uint8 = new Uint8Array(this.arrayBuffer);
-            this.float32 = new Float32Array(this.arrayBuffer);
-        };
-
-        StructArrayLayout1f4.prototype.emplaceBack = function emplaceBack(v0) {
-            var i = this.length;
-            this.resize(i + 1);
-            return this.emplace(i, v0);
-        };
-
-        StructArrayLayout1f4.prototype.emplace = function emplace(i, v0) {
-            var o4 = i * 1;
-            this.float32[o4 + 0] = v0;
-            return i;
-        };
-
-        return StructArrayLayout1f4;
-    }(StructArray));
-
-    StructArrayLayout1f4.prototype.bytesPerElement = 4;
-    WebWorkerTransfer.register('StructArrayLayout1f4', StructArrayLayout1f4);
-
-    function clamp$1(n, min, max) {
-        return Math.min(max, Math.max(min, n));
-    }
-
-    function packUint8ToFloat(a, b) {
-        // coerce a and b to 8-bit ints
-        a = clamp$1(Math.floor(a), 0, 255);
-        b = clamp$1(Math.floor(b), 0, 255);
-        return 256 * a + b;
-    }
-
-    function packColor(color) {
-        return [
-            packUint8ToFloat(255 * color.r, 255 * color.g),
-            packUint8ToFloat(255 * color.b, 255 * color.a)
-        ];
-    }
-
-    var ConstantBinder = function ConstantBinder(value, names, type) {
-        this.value = value;
-        this.names = names;
-        this.uniformNames = this.names.map(function (name) {
-            return ("u_" + name);
-        });
-        this.type = type;
-        this.maxValue = -Infinity;
-    };
-
-    ConstantBinder.prototype.defines = function defines() {
-        return this.names.map(function (name) {
-            return ("#define HAS_UNIFORM_u_" + name);
-        });
-    };
-    ConstantBinder.prototype.setConstantPatternPositions = function setConstantPatternPositions() {
-    };
-    ConstantBinder.prototype.populatePaintArray = function populatePaintArray() {
-    };
-    ConstantBinder.prototype.updatePaintArray = function updatePaintArray() {
-    };
-    ConstantBinder.prototype.upload = function upload() {
-    };
-    ConstantBinder.prototype.destroy = function destroy() {
-    };
-
-    ConstantBinder.prototype.setUniforms = function setUniforms(context, uniform, globals, currentValue) {
-        uniform.set(currentValue.constantOr(this.value));
-    };
-
-    ConstantBinder.prototype.getBinding = function getBinding(context, location) {
-        return (this.type === 'color') ?
-            new UniformType.UniformColor(context, location) :
-            new UniformType.Uniform1f(context, location);
-    };
-
-    ConstantBinder.serialize = function serialize$1(binder) {
-        var value = binder.value;
-        var names = binder.names;
-        var type = binder.type;
-        return {value: WebWorkerTransfer.serialize(value), names: names, type: type};
-    };
-
-    ConstantBinder.deserialize = function deserialize$1(serialized) {
-        var value = serialized.value;
-        var names = serialized.names;
-        var type = serialized.type;
-        return new ConstantBinder(WebWorkerTransfer.deserialize(value), names, type);
-    };
-
-    var CrossFadedConstantBinder = function CrossFadedConstantBinder(value, names, type) {
-        this.value = value;
-        this.names = names;
-        this.uniformNames = this.names.map(function (name) {
-            return ("u_" + name);
-        });
-        this.type = type;
-        this.maxValue = -Infinity;
-        this.patternPositions = {patternTo: null, patternFrom: null};
-    };
-
-    CrossFadedConstantBinder.prototype.defines = function defines() {
-        return this.names.map(function (name) {
-            return ("#define HAS_UNIFORM_u_" + name);
-        });
-    };
-
-    CrossFadedConstantBinder.prototype.populatePaintArray = function populatePaintArray() {
-    };
-    CrossFadedConstantBinder.prototype.updatePaintArray = function updatePaintArray() {
-    };
-    CrossFadedConstantBinder.prototype.upload = function upload() {
-    };
-    CrossFadedConstantBinder.prototype.destroy = function destroy() {
-    };
-
-    CrossFadedConstantBinder.prototype.setConstantPatternPositions = function setConstantPatternPositions(posTo, posFrom) {
-        this.patternPositions.patternTo = posTo.tlbr;
-        this.patternPositions.patternFrom = posFrom.tlbr;
-    };
-
-    CrossFadedConstantBinder.prototype.setUniforms = function setUniforms(context, uniform, globals, currentValue, uniformName) {
-        var pos = this.patternPositions;
-        if (uniformName === "u_pattern_to" && pos.patternTo) {
-            uniform.set(pos.patternTo);
-        }
-        if (uniformName === "u_pattern_from" && pos.patternFrom) {
-            uniform.set(pos.patternFrom);
-        }
-    };
-
-    CrossFadedConstantBinder.prototype.getBinding = function getBinding(context, location) {
-        return new UniformType.Uniform4f(context, location);
-    };
-
-    var SourceExpressionBinder = function SourceExpressionBinder(expression, names, type, PaintVertexArray) {
-        this.expression = expression;
-        this.names = names;
-        this.type = type;
-        this.uniformNames = this.names.map(function (name) {
-            return ("a_" + name);
-        });
-        this.maxValue = -Infinity;
-        this.paintVertexAttributes = names.map(function (name) {
-                return ({
-                    name: ("a_" + name),
-                    type: 'Float32',
-                    components: type === 'color' ? 2 : 1,
-                    offset: 0
-                });
-            }
-        );
-        this.paintVertexArray = new PaintVertexArray();
-    };
-
-    SourceExpressionBinder.prototype.defines = function defines() {
-        return [];
-    };
-
-    SourceExpressionBinder.prototype.setConstantPatternPositions = function setConstantPatternPositions() {
-    };
-
-    SourceExpressionBinder.prototype.populatePaintArray = function populatePaintArray(newLength, feature, imagePositions, formattedSection) {
-        var paintArray = this.paintVertexArray;
-
-        var start = paintArray.length;
-        paintArray.reserve(newLength);
-
-        var value = this.expression.evaluate(new EvaluationParameters(0), feature, {}, [], formattedSection);
-
-        if (this.type === 'color') {
-            var color = packColor(value);
-            for (var i = start; i < newLength; i++) {
-                paintArray.emplaceBack(color[0], color[1]);
-            }
-        } else {
-            for (var i$1 = start; i$1 < newLength; i$1++) {
-                paintArray.emplaceBack(value);
-            }
-
-            this.maxValue = Math.max(this.maxValue, value);
-        }
-    };
-
-    SourceExpressionBinder.prototype.updatePaintArray = function updatePaintArray(start, end, feature, featureState) {
-        var paintArray = this.paintVertexArray;
-        var value = this.expression.evaluate({zoom: 0}, feature, featureState);
-
-        if (this.type === 'color') {
-            var color = packColor(value);
-            for (var i = start; i < end; i++) {
-                paintArray.emplace(i, color[0], color[1]);
-            }
-        } else {
-            for (var i$1 = start; i$1 < end; i$1++) {
-                paintArray.emplace(i$1, value);
-            }
-
-            this.maxValue = Math.max(this.maxValue, value);
-        }
-    };
-
-    SourceExpressionBinder.prototype.upload = function upload(context) {
-        if (this.paintVertexArray && this.paintVertexArray.arrayBuffer) {
-            if (this.paintVertexBuffer && this.paintVertexBuffer.buffer) {
-                this.paintVertexBuffer.updateData(this.paintVertexArray);
-            } else {
-                this.paintVertexBuffer = context.createVertexBuffer(this.paintVertexArray, this.paintVertexAttributes, this.expression.isStateDependent);
-            }
-        }
-    };
-
-    SourceExpressionBinder.prototype.destroy = function destroy() {
-        if (this.paintVertexBuffer) {
-            this.paintVertexBuffer.destroy();
-        }
-    };
-
-    SourceExpressionBinder.prototype.setUniforms = function setUniforms(context, uniform) {
-        uniform.set(0);
-    };
-
-    SourceExpressionBinder.prototype.getBinding = function getBinding(context, location) {
-        return new UniformType.Uniform1f(context, location);
-    };
-
-    var CompositeExpressionBinder = function CompositeExpressionBinder(expression, names, type, useIntegerZoom, zoom, layout) {
-        this.expression = expression;
-        this.names = names;
-        this.uniformNames = this.names.map(function (name) {
-            return ("u_" + name + "_t");
-        });
-        this.type = type;
-        this.useIntegerZoom = useIntegerZoom;
-        this.zoom = zoom;
-        this.maxValue = -Infinity;
-        var PaintVertexArray = layout;
-        this.paintVertexAttributes = names.map(function (name) {
-            return {
-                name: ("a_" + name),
-                type: 'Float32',
-                components: type === 'color' ? 4 : 2,
-                offset: 0
-            };
-        });
-        this.paintVertexArray = new PaintVertexArray();
-    };
-
-    CompositeExpressionBinder.prototype.defines = function defines() {
-        return [];
-    };
-
-    CompositeExpressionBinder.prototype.setConstantPatternPositions = function setConstantPatternPositions() {
-    };
-
-    CompositeExpressionBinder.prototype.populatePaintArray = function populatePaintArray(newLength, feature, imagePositions, formattedSection) {
-        var paintArray = this.paintVertexArray;
-
-        var start = paintArray.length;
-        paintArray.reserve(newLength);
-
-        var min = this.expression.evaluate(new EvaluationParameters(this.zoom), feature, {}, [], formattedSection);
-        var max = this.expression.evaluate(new EvaluationParameters(this.zoom + 1), feature, {}, [], formattedSection);
-
-        if (this.type === 'color') {
-            var minColor = packColor(min);
-            var maxColor = packColor(max);
-            for (var i = start; i < newLength; i++) {
-                paintArray.emplaceBack(minColor[0], minColor[1], maxColor[0], maxColor[1]);
-            }
-        } else {
-            for (var i$1 = start; i$1 < newLength; i$1++) {
-                paintArray.emplaceBack(min, max);
-            }
-            this.maxValue = Math.max(this.maxValue, min, max);
-        }
-    };
-
-    CompositeExpressionBinder.prototype.updatePaintArray = function updatePaintArray(start, end, feature, featureState) {
-        var paintArray = this.paintVertexArray;
-
-        var min = this.expression.evaluate({zoom: this.zoom}, feature, featureState);
-        var max = this.expression.evaluate({zoom: this.zoom + 1}, feature, featureState);
-
-        if (this.type === 'color') {
-            var minColor = packColor(min);
-            var maxColor = packColor(max);
-            for (var i = start; i < end; i++) {
-                paintArray.emplace(i, minColor[0], minColor[1], maxColor[0], maxColor[1]);
-            }
-        } else {
-            for (var i$1 = start; i$1 < end; i$1++) {
-                paintArray.emplace(i$1, min, max);
-            }
-            this.maxValue = Math.max(this.maxValue, min, max);
-        }
-    };
-
-    CompositeExpressionBinder.prototype.upload = function upload(context) {
-        if (this.paintVertexArray && this.paintVertexArray.arrayBuffer) {
-            if (this.paintVertexBuffer && this.paintVertexBuffer.buffer) {
-                this.paintVertexBuffer.updateData(this.paintVertexArray);
-            } else {
-                this.paintVertexBuffer = context.createVertexBuffer(this.paintVertexArray, this.paintVertexAttributes, this.expression.isStateDependent);
-            }
-        }
-    };
-
-    CompositeExpressionBinder.prototype.destroy = function destroy() {
-        if (this.paintVertexBuffer) {
-            this.paintVertexBuffer.destroy();
-        }
-    };
-
-    CompositeExpressionBinder.prototype.interpolationFactor = function interpolationFactor(currentZoom) {
-        if (this.useIntegerZoom) {
-            currentZoom = Math.floor(currentZoom);
-        }
-        return clamp$1(this.expression.interpolationFactor(currentZoom, this.zoom, this.zoom + 1), 0, 1);
-    };
-
-    CompositeExpressionBinder.prototype.setUniforms = function setUniforms(context, uniform, globals) {
-        uniform.set(this.interpolationFactor(globals.zoom));
-    };
-
-    CompositeExpressionBinder.prototype.getBinding = function getBinding(context, location) {
-        return new UniformType.Uniform1f(context, location);
-    };
-
-    var CrossFadedCompositeBinder = function CrossFadedCompositeBinder(expression, names, type, useIntegerZoom, zoom, PaintVertexArray, layerId) {
-
-        this.expression = expression;
-        this.names = names;
-        this.type = type;
-        this.uniformNames = this.names.map(function (name) {
-            return ("u_" + name + "_t");
-        });
-        this.useIntegerZoom = useIntegerZoom;
-        this.zoom = zoom;
-        this.maxValue = -Infinity;
-        this.layerId = layerId;
-
-        this.paintVertexAttributes = names.map(function (name) {
-                return ({
-                    name: ("a_" + name),
-                    type: 'Uint16',
-                    components: 4,
-                    offset: 0
-                });
-            }
-        );
-
-        this.zoomInPaintVertexArray = new PaintVertexArray();
-        this.zoomOutPaintVertexArray = new PaintVertexArray();
-    };
-
-    CrossFadedCompositeBinder.prototype.defines = function defines() {
-        return [];
-    };
-
-    CrossFadedCompositeBinder.prototype.setConstantPatternPositions = function setConstantPatternPositions() {
-    };
-
-    CrossFadedCompositeBinder.prototype.populatePaintArray = function populatePaintArray(length, feature, imagePositions) {
-        // We populate two paint arrays because, for cross-faded properties, we don't know which direction
-        // we're cross-fading to at layout time. In order to keep vertex attributes to a minimum and not pass
-        // unnecessary vertex data to the shaders, we determine which to upload at draw time.
-
-        var zoomInArray = this.zoomInPaintVertexArray;
-        var zoomOutArray = this.zoomOutPaintVertexArray;
-        var ref = this;
-        var layerId = ref.layerId;
-        var start = zoomInArray.length;
-
-        zoomInArray.reserve(length);
-        zoomOutArray.reserve(length);
-
-        if (imagePositions && feature.patterns && feature.patterns[layerId]) {
-            var ref$1 = feature.patterns[layerId];
-            var min = ref$1.min;
-            var mid = ref$1.mid;
-            var max = ref$1.max;
-
-            var imageMin = imagePositions[min];
-            var imageMid = imagePositions[mid];
-            var imageMax = imagePositions[max];
-
-            if (!imageMin || !imageMid || !imageMax) {
-                return;
-            }
-
-            for (var i = start; i < length; i++) {
-                zoomInArray.emplaceBack(
-                    imageMid.tl[0], imageMid.tl[1], imageMid.br[0], imageMid.br[1],
-                    imageMin.tl[0], imageMin.tl[1], imageMin.br[0], imageMin.br[1]
-                );
-
-                zoomOutArray.emplaceBack(
-                    imageMid.tl[0], imageMid.tl[1], imageMid.br[0], imageMid.br[1],
-                    imageMax.tl[0], imageMax.tl[1], imageMax.br[0], imageMax.br[1]
-                );
-            }
-        }
-    };
-
-    CrossFadedCompositeBinder.prototype.updatePaintArray = function updatePaintArray(start, end, feature, featureState, imagePositions) {
-        // We populate two paint arrays because, for cross-faded properties, we don't know which direction
-        // we're cross-fading to at layout time. In order to keep vertex attributes to a minimum and not pass
-        // unnecessary vertex data to the shaders, we determine which to upload at draw time.
-
-        var zoomInArray = this.zoomInPaintVertexArray;
-        var zoomOutArray = this.zoomOutPaintVertexArray;
-        var ref = this;
-        var layerId = ref.layerId;
-
-        if (imagePositions && feature.patterns && feature.patterns[layerId]) {
-            var ref$1 = feature.patterns[layerId];
-            var min = ref$1.min;
-            var mid = ref$1.mid;
-            var max = ref$1.max;
-            var imageMin = imagePositions[min];
-            var imageMid = imagePositions[mid];
-            var imageMax = imagePositions[max];
-
-            if (!imageMin || !imageMid || !imageMax) {
-                return;
-            }
-            for (var i = start; i < end; i++) {
-                zoomInArray.emplace(i,
-                    imageMid.tl[0], imageMid.tl[1], imageMid.br[0], imageMid.br[1],
-                    imageMin.tl[0], imageMin.tl[1], imageMin.br[0], imageMin.br[1]
-                );
-
-                zoomOutArray.emplace(i,
-                    imageMid.tl[0], imageMid.tl[1], imageMid.br[0], imageMid.br[1],
-                    imageMax.tl[0], imageMax.tl[1], imageMax.br[0], imageMax.br[1]
-                );
-            }
-        }
-    };
-
-    CrossFadedCompositeBinder.prototype.upload = function upload(context) {
-        if (this.zoomInPaintVertexArray && this.zoomInPaintVertexArray.arrayBuffer && this.zoomOutPaintVertexArray && this.zoomOutPaintVertexArray.arrayBuffer) {
-            this.zoomInPaintVertexBuffer = context.createVertexBuffer(this.zoomInPaintVertexArray, this.paintVertexAttributes, this.expression.isStateDependent);
-            this.zoomOutPaintVertexBuffer = context.createVertexBuffer(this.zoomOutPaintVertexArray, this.paintVertexAttributes, this.expression.isStateDependent);
-        }
-    };
-
-    CrossFadedCompositeBinder.prototype.destroy = function destroy() {
-        if (this.zoomOutPaintVertexBuffer) {
-            this.zoomOutPaintVertexBuffer.destroy();
-        }
-        if (this.zoomInPaintVertexBuffer) {
-            this.zoomInPaintVertexBuffer.destroy();
-        }
-
-    };
-
-    CrossFadedCompositeBinder.prototype.setUniforms = function setUniforms(context, uniform) {
-        uniform.set(0);
-    };
-
-    CrossFadedCompositeBinder.prototype.getBinding = function getBinding(context, location) {
-        return new Uniform1f(context, location);
-    };
-
-    /**
-     * ProgramConfiguration contains the logic for binding style layer properties and tile
-     * layer feature data into GL program uniforms and vertex attributes.
-     *
-     * Non-data-driven property values are bound to shader uniforms. Data-driven property
-     * values are bound to vertex attributes. In order to support a uniform GLSL syntax over
-     * both, [Mapbox GL Shaders](https://github.com/mapbox/mapbox-gl-shaders) defines a `#pragma`
-     * abstraction, which ProgramConfiguration is responsible for implementing. At runtime,
-     * it examines the attributes of a particular layer, combines this with fixed knowledge
-     * about how layers of the particular type are implemented, and determines which uniforms
-     * and vertex attributes will be required. It can then substitute the appropriate text
-     * into the shader source code, create and link a program, and bind the uniforms and
-     * vertex attributes in preparation for drawing.
-     *
-     * When a vector tile is parsed, this same configuration information is used to
-     * populate the attribute buffers needed for data-driven styling using the zoom
-     * level and feature property data.
-     *
-     * @private
-     */
-    var ProgramConfiguration = function ProgramConfiguration() {
-        this.binders = {};
-        this.cacheKey = '';
-        this._buffers = [];
-    };
-
-    ProgramConfiguration.createDynamic = function createDynamic(layer, zoom, filterProperties) {
-        var self = new ProgramConfiguration();
-        var keys = [];
-
-        for (var property in layer.paint._values) {
-            if (!filterProperties(property)) {
-                continue;
-            }
-            var value = layer.paint.get(property);
-            if (!(value instanceof PossiblyEvaluatedPropertyValue$1) || !Supports.supportsPropertyExpression(value.property.specification)) {
-                continue;
-            }
-            var names = paintAttributeNames(property, layer.type);
-            var type = value.property.specification.type;
-            var useIntegerZoom = value.property.useIntegerZoom;
-            var isCrossFaded = value.property.specification['property-type'] === 'cross-faded' ||
-                value.property.specification['property-type'] === 'cross-faded-data-driven';
-
-            if (isCrossFaded) {
-                if (value.value.kind === 'constant') {
-                    self.binders[property] = new CrossFadedConstantBinder(value.value.value, names, type);
-                    keys.push(("/u_" + property));
-                } else {
-                    var StructArrayLayout = layoutType(property, type, 'source');
-                    self.binders[property] = new CrossFadedCompositeBinder(value.value, names, type, useIntegerZoom, zoom, StructArrayLayout, layer.id);
-                    keys.push(("/a_" + property));
-                }
-            } else if (value.value.kind === 'constant') {
-                self.binders[property] = new ConstantBinder(value.value.value, names, type);
-                keys.push(("/u_" + property));
-            } else if (value.value.kind === 'source') {
-                var StructArrayLayout$1 = layoutType(property, type, 'source');
-                self.binders[property] = new SourceExpressionBinder(value.value, names, type, StructArrayLayout$1);
-                keys.push(("/a_" + property));
-            } else {
-                var StructArrayLayout$2 = layoutType(property, type, 'composite');
-                self.binders[property] = new CompositeExpressionBinder(value.value, names, type, useIntegerZoom, zoom, StructArrayLayout$2);
-                keys.push(("/z_" + property));
-            }
-        }
-
-        self.cacheKey = keys.sort().join('');
-
-        return self;
-    };
-
-    ProgramConfiguration.prototype.populatePaintArrays = function populatePaintArrays(newLength, feature, index, imagePositions, formattedSection) {
-        for (var property in this.binders) {
-            var binder = this.binders[property];
-            binder.populatePaintArray(newLength, feature, imagePositions, formattedSection);
-        }
-    };
-    ProgramConfiguration.prototype.setConstantPatternPositions = function setConstantPatternPositions(posTo, posFrom) {
-        for (var property in this.binders) {
-            var binder = this.binders[property];
-            binder.setConstantPatternPositions(posTo, posFrom);
-        }
-    };
-
-    ProgramConfiguration.prototype.updatePaintArrays = function updatePaintArrays(featureStates, featureMap, vtLayer, layer, imagePositions) {
-        var dirty = false;
-        for (var id in featureStates) {
-            var positions = featureMap.getPositions(+id);
-
-            for (var i = 0, list = positions; i < list.length; i += 1) {
-                var pos = list[i];
-
-                var feature = vtLayer.feature(pos.index);
-
-                for (var property in this.binders) {
-                    var binder = this.binders[property];
-                    if (binder instanceof ConstantBinder || binder instanceof CrossFadedConstantBinder) {
-                        continue;
-                    }
-                    if ((binder   ).expression.isStateDependent === true) {
-                        //AHM: Remove after https://github.com/mapbox/mapbox-gl-js/issues/6255
-                        var value = layer.paint.get(property);
-                        (binder   ).expression = value.value;
-                        binder.updatePaintArray(pos.start, pos.end, feature, featureStates[id], imagePositions);
-                        dirty = true;
-                    }
-                }
-            }
-        }
-        return dirty;
-    };
-
-    ProgramConfiguration.prototype.defines = function defines() {
-        var result = [];
-        for (var property in this.binders) {
-            result.push.apply(result, this.binders[property].defines());
-        }
-        return result;
-    };
-
-    ProgramConfiguration.prototype.getPaintVertexBuffers = function getPaintVertexBuffers() {
-        return this._buffers;
-    };
-
-    ProgramConfiguration.prototype.getUniforms = function getUniforms(context, locations) {
-        var uniforms = [];
-        for (var property in this.binders) {
-            var binder = this.binders[property];
-            for (var i = 0, list = binder.uniformNames; i < list.length; i += 1) {
-                var name = list[i];
-
-                if (locations[name]) {
-                    var binding = binder.getBinding(context, locations[name]);
-                    uniforms.push({name: name, property: property, binding: binding});
-                }
-            }
-        }
-        return uniforms;
-    };
-
-    ProgramConfiguration.prototype.setUniforms = function setUniforms(context, binderUniforms, properties, globals) {
-        // Uniform state bindings are owned by the Program, but we set them
-        // from within the ProgramConfiguraton's binder members.
-        for (var i = 0, list = binderUniforms; i < list.length; i += 1) {
-            var ref = list[i];
-            var name = ref.name;
-            var property = ref.property;
-            var binding = ref.binding;
-
-            this.binders[property].setUniforms(context, binding, globals, properties.get(property), name);
-        }
-    };
-
-    ProgramConfiguration.prototype.updatePatternPaintBuffers = function updatePatternPaintBuffers(crossfade) {
-        var buffers = [];
-
-        for (var property in this.binders) {
-            var binder = this.binders[property];
-            if (binder instanceof CrossFadedCompositeBinder) {
-                var patternVertexBuffer = crossfade.fromScale === 2 ? binder.zoomInPaintVertexBuffer : binder.zoomOutPaintVertexBuffer;
-                if (patternVertexBuffer) {
-                    buffers.push(patternVertexBuffer);
-                }
-            } else if ((binder instanceof SourceExpressionBinder ||
-                binder instanceof CompositeExpressionBinder) &&
-                binder.paintVertexBuffer
-                ) {
-                buffers.push(binder.paintVertexBuffer);
-            }
-        }
-
-        this._buffers = buffers;
-    };
-
-    ProgramConfiguration.prototype.upload = function upload(context) {
-        for (var property in this.binders) {
-            this.binders[property].upload(context);
-        }
-
-        var buffers = [];
-        for (var property$1 in this.binders) {
-            var binder = this.binders[property$1];
-            if ((binder instanceof SourceExpressionBinder ||
-                binder instanceof CompositeExpressionBinder) &&
-                binder.paintVertexBuffer
-                ) {
-                buffers.push(binder.paintVertexBuffer);
-            }
-        }
-        this._buffers = buffers;
-    };
-
-    ProgramConfiguration.prototype.destroy = function destroy() {
-        for (var property in this.binders) {
-            this.binders[property].destroy();
-        }
-    };
-
-    function paintAttributeNames(property, type) {
-        var attributeNameExceptions = {
-            'text-opacity': ['opacity'],
-            'icon-opacity': ['opacity'],
-            'text-color': ['fill_color'],
-            'icon-color': ['fill_color'],
-            'text-halo-color': ['halo_color'],
-            'icon-halo-color': ['halo_color'],
-            'text-halo-blur': ['halo_blur'],
-            'icon-halo-blur': ['halo_blur'],
-            'text-halo-width': ['halo_width'],
-            'icon-halo-width': ['halo_width'],
-            'line-gap-width': ['gapwidth'],
-            'line-pattern': ['pattern_to', 'pattern_from'],
-            'fill-pattern': ['pattern_to', 'pattern_from'],
-            'fill-extrusion-pattern': ['pattern_to', 'pattern_from'],
-        };
-
-        return attributeNameExceptions[property] ||
-            [property.replace((type + "-"), '').replace(/-/g, '_')];
-    }
-
-    function getLayoutException(property) {
-        var propertyExceptions = {
-            'line-pattern': {
-                'source': StructArrayLayout8ui16,
-                'composite': StructArrayLayout8ui16
-            },
-            'fill-pattern': {
-                'source': StructArrayLayout8ui16,
-                'composite': StructArrayLayout8ui16
-            },
-            'fill-extrusion-pattern': {
-                'source': StructArrayLayout8ui16,
-                'composite': StructArrayLayout8ui16
-            }
-        };
-
-        return propertyExceptions[property];
-    }
-
-    function layoutType(property, type, binderType) {
-        var defaultLayouts = {
-            'color': {
-                'source': StructArrayLayout2f8,
-                'composite': StructArrayLayout4f16
-            },
-            'number': {
-                'source': StructArrayLayout1f4,
-                'composite': StructArrayLayout2f8
-            }
-        };
-
-        var layoutException = getLayoutException(property);
-        return  layoutException && layoutException[binderType] ||
-            defaultLayouts[type][binderType];
-    }
-
-    WebWorkerTransfer.register('ConstantBinder', ConstantBinder);
-    WebWorkerTransfer.register('CrossFadedConstantBinder', CrossFadedConstantBinder);
-    WebWorkerTransfer.register('SourceExpressionBinder', SourceExpressionBinder);
-    WebWorkerTransfer.register('CrossFadedCompositeBinder', CrossFadedCompositeBinder);
-    WebWorkerTransfer.register('CompositeExpressionBinder', CompositeExpressionBinder);
-    WebWorkerTransfer.register('ProgramConfiguration', ProgramConfiguration, {omit: ['_buffers']});
-
-    var ProgramConfigurationSet = function ProgramConfigurationSet(layoutAttributes, layers, zoom, filterProperties) {
-        if (filterProperties === void 0) filterProperties = function () {
-            return true;
-        };
-
-        this.programConfigurations = {};
-        for (var i = 0, list = layers; i < list.length; i += 1) {
-            var layer = list[i];
-
-            this.programConfigurations[layer.id] = ProgramConfiguration.createDynamic(layer, zoom, filterProperties);
-            this.programConfigurations[layer.id].layoutAttributes = layoutAttributes;
-        }
-        this.needsUpload = false;
-        this._featureMap = new FeaturePositionMap();
-        this._bufferOffset = 0;
-    };
-
-    ProgramConfigurationSet.prototype.populatePaintArrays = function populatePaintArrays(length, feature, index, imagePositions, formattedSection) {
-        for (var key in this.programConfigurations) {
-            this.programConfigurations[key].populatePaintArrays(length, feature, index, imagePositions, formattedSection);
-        }
-
-        if (feature.id !== undefined) {
-            this._featureMap.add(+feature.id, index, this._bufferOffset, length);
-        }
-        this._bufferOffset = length;
-
-        this.needsUpload = true;
-    };
-
-    ProgramConfigurationSet.prototype.updatePaintArrays = function updatePaintArrays(featureStates, vtLayer, layers, imagePositions) {
-        for (var i = 0, list = layers; i < list.length; i += 1) {
-            var layer = list[i];
-
-            this.needsUpload = this.programConfigurations[layer.id].updatePaintArrays(featureStates, this._featureMap, vtLayer, layer, imagePositions) || this.needsUpload;
-        }
-    };
-
-    ProgramConfigurationSet.prototype.get = function get(layerId) {
-        return this.programConfigurations[layerId];
-    };
-
-    ProgramConfigurationSet.prototype.upload = function upload(context) {
-        if (!this.needsUpload) {
-            return;
-        }
-        for (var layerId in this.programConfigurations) {
-            this.programConfigurations[layerId].upload(context);
-        }
-        this.needsUpload = false;
-    };
-
-    ProgramConfigurationSet.prototype.destroy = function destroy() {
-        for (var layerId in this.programConfigurations) {
-            this.programConfigurations[layerId].destroy();
-        }
-    };
-
-    WebWorkerTransfer.register('ProgramConfigurationSet', ProgramConfigurationSet);
-
-    function addPatternDependencies(type, layers, patternFeature, zoom, options) {
-        var patterns = options.patternDependencies;
-        for (var i = 0, list = layers; i < list.length; i += 1) {
-            var layer = list[i];
-
-            var patternProperty = layer.paint.get((type + "-pattern"));
-
-            var patternPropertyValue = patternProperty.value;
-            if (patternPropertyValue.kind !== "constant") {
-                var min = patternPropertyValue.evaluate({zoom: zoom - 1}, patternFeature, {}, options.availableImages);
-                var mid = patternPropertyValue.evaluate({zoom: zoom}, patternFeature, {}, options.availableImages);
-                var max = patternPropertyValue.evaluate({zoom: zoom + 1}, patternFeature, {}, options.availableImages);
-                min = min && min.name ? min.name : min;
-                mid = mid && mid.name ? mid.name : mid;
-                max = max && max.name ? max.name : max;
-                // add to patternDependencies
-                patterns[min] = true;
-                patterns[mid] = true;
-                patterns[max] = true;
-
-                // save for layout
-                patternFeature.patterns[layer.id] = {min: min, mid: mid, max: max};
-            }
-        }
-        return patternFeature;
-    }
-
-    var VectorTileFeatureTypes = ['Unknown', 'Point', 'LineString', 'Polygon'];
-
-    var lineLayoutAttributes = createLayout([
-        {name: 'a_pos_normal', components: 2, type: 'Int16'},
-        {name: 'a_data', components: 4, type: 'Uint8'}
-    ], 4);
-    var members$3 = lineLayoutAttributes.members;
-
-    // NOTE ON EXTRUDE SCALE:
-    // scale the extrusion vector so that the normal length is this value.
-    // contains the "texture" normals (-1..1). this is distinct from the extrude
-    // normals for line joins, because the x-value remains 0 for the texture
-    // normal array, while the extrude normal actually moves the vertex to create
-    // the acute/bevelled line join.
-    var EXTRUDE_SCALE = 63;
-
-    /*
-     * Sharp corners cause dashed lines to tilt because the distance along the line
-     * is the same at both the inner and outer corners. To improve the appearance of
-     * dashed lines we add extra points near sharp corners so that a smaller part
-     * of the line is tilted.
-     *
-     * COS_HALF_SHARP_CORNER controls how sharp a corner has to be for us to add an
-     * extra vertex. The default is 75 degrees.
-     *
-     * The newly created vertices are placed SHARP_CORNER_OFFSET pixels from the corner.
-     */
-    var COS_HALF_SHARP_CORNER = Math.cos(75 / 2 * (Math.PI / 180));
-    var SHARP_CORNER_OFFSET = 15;
-
-    // Angle per triangle for approximating round line joins.
-    var DEG_PER_TRIANGLE = 20;
-
-    // The number of bits that is used to store the line distance in the buffer.
-    var LINE_DISTANCE_BUFFER_BITS = 15;
-
-    // We don't have enough bits for the line distance as we'd like to have, so
-    // use this value to scale the line distance (in tile units) down to a smaller
-    // value. This lets us store longer distances while sacrificing precision.
-    var LINE_DISTANCE_SCALE = 1 / 2;
-
-    // The maximum line distance, in tile units, that fits in the buffer.
-    var MAX_LINE_DISTANCE = Math.pow(2, LINE_DISTANCE_BUFFER_BITS - 1) / LINE_DISTANCE_SCALE;
-
-    /**
-     * @private
-     */
-    var LineBucket = function LineBucket(options) {
-        this.zoom = options.zoom;
-        this.overscaling = options.overscaling;
-        this.layers = options.layers;
-        this.layerIds = this.layers.map(function (layer) {
-            return layer.id;
-        });
-        this.index = options.index;
-        this.hasPattern = false;
-        this.patternFeatures = [];
-
-        this.layoutVertexArray = new StructArrayLayout2i4ub8();
-        this.indexArray = new StructArrayLayout3ui6();
-        this.programConfigurations = new ProgramConfigurationSet(members$3, options.layers, options.zoom);
-        this.segments = new SegmentVector();
-
-        this.stateDependentLayerIds = this.layers.filter(function (l) {
-            return l.isStateDependent();
-        }).map(function (l) {
-            return l.id;
-        });
-    };
-
-    LineBucket.prototype.populate = function populate(features, options) {
-        //this.hasPattern = hasPattern('line', this.layers, options);
-        this.hasPattern = false;
-        var lineSortKey = this.layers[0].layout.get('line-sort-key');
-        var bucketFeatures = [];
-
-        for (var i = 0, list = features; i < list.length; i += 1) {
-            var ref = list[i];
-            var feature = ref.feature;
-            var index = ref.index;
-            var sourceLayerIndex = ref.sourceLayerIndex;
-
-            if (!this.layers[0]._featureFilter(new EvaluationParameters$1(0), feature)) {
-                continue;
-            }
-
-            var geometry = loadGeometry(feature);
-            var sortKey = lineSortKey ?
-                lineSortKey.evaluate(feature, {}) :
-                undefined;
-
-            var bucketFeature = {
-                id: feature.id,
-                properties: feature.properties,
-                type: feature.type,
-                sourceLayerIndex: sourceLayerIndex,
-                index: index,
-                geometry: geometry,
-                patterns: {},
-                sortKey: sortKey
-            };
-
-            bucketFeatures.push(bucketFeature);
-        }
-
-        if (lineSortKey) {
-            bucketFeatures.sort(function (a, b) {
-                // a.sortKey is always a number when in use
-                return ((a.sortKey )    ) - ((b.sortKey )    );
-            });
-        }
-
-        for (var i$1 = 0, list$1 = bucketFeatures; i$1 < list$1.length; i$1 += 1) {
-            var bucketFeature$1 = list$1[i$1];
-
-            var ref$1 = bucketFeature$1;
-            var geometry$1 = ref$1.geometry;
-            var index$1 = ref$1.index;
-            var sourceLayerIndex$1 = ref$1.sourceLayerIndex;
-
-            if (this.hasPattern) {
-                var patternBucketFeature = addPatternDependencies('line', this.layers, bucketFeature$1, this.zoom, options);
-                // pattern features are added only once the pattern is loaded into the image atlas
-                // so are stored during populate until later updated with positions by tile worker in addFeatures
-                this.patternFeatures.push(patternBucketFeature);
-            } else {
-                this.addFeature(bucketFeature$1, geometry$1, index$1, {});
-            }
-
-            var feature$1 = features[index$1].feature;
-            options.featureIndex.insert(feature$1, geometry$1, index$1, sourceLayerIndex$1, this.index);
-        }
-    };
-
-    LineBucket.prototype.update = function update(states, vtLayer, imagePositions) {
-        if (!this.stateDependentLayers.length) {
-            return;
-        }
-        this.programConfigurations.updatePaintArrays(states, vtLayer, this.stateDependentLayers, imagePositions);
-    };
-
-    LineBucket.prototype.addFeatures = function addFeatures(options, imagePositions) {
-        for (var i = 0, list = this.patternFeatures; i < list.length; i += 1) {
-            var feature = list[i];
-
-            this.addFeature(feature, feature.geometry, feature.index, imagePositions);
-        }
-    };
-
-    LineBucket.prototype.isEmpty = function isEmpty() {
-        return this.layoutVertexArray.length === 0;
-    };
-
-    LineBucket.prototype.uploadPending = function uploadPending() {
-        return !this.uploaded || this.programConfigurations.needsUpload;
-    };
-
-    LineBucket.prototype.upload = function upload(context) {
-        if (!this.uploaded) {
-            this.layoutVertexBuffer = context.createVertexBuffer(this.layoutVertexArray, members$3);
-            this.indexBuffer = context.createIndexBuffer(this.indexArray);
-        }
-        this.programConfigurations.upload(context);
-        this.uploaded = true;
-    };
-
-    LineBucket.prototype.destroy = function destroy() {
-        if (!this.layoutVertexBuffer) {
-            return;
-        }
-        this.layoutVertexBuffer.destroy();
-        this.indexBuffer.destroy();
-        this.programConfigurations.destroy();
-        this.segments.destroy();
-    };
-
-    LineBucket.prototype.clear = function clear() {
-        if (defined.defined(this.layoutVertexArray)) {
-            this.layoutVertexArray = null;
-        }
-        if (defined.defined(this.indexArray)) {
-            this.indexArray = null;
-        }
-    };
-
-    LineBucket.prototype.addFeature = function addFeature(feature, geometry, index, imagePositions) {
-        var layout = this.layers[0].layout;
-        var join = layout.get('line-join').evaluate(feature, {});
-        var cap = layout.get('line-cap');
-        var miterLimit = layout.get('line-miter-limit');
-        var roundLimit = layout.get('line-round-limit');
-
-        for (var i = 0, list = geometry; i < list.length; i += 1) {
-            var line = list[i];
-
-            this.addLine(line, feature, join, cap, miterLimit, roundLimit, index, imagePositions);
-        }
-    };
-
-    LineBucket.prototype.addLine = function addLine(vertices, feature, join, cap, miterLimit, roundLimit, index, imagePositions) {
-        this.distance = 0;
-        this.scaledDistance = 0;
-        this.totalDistance = 0;
-
-        if (!!feature.properties &&
-            feature.properties.hasOwnProperty('mapbox_clip_start') &&
-            feature.properties.hasOwnProperty('mapbox_clip_end')) {
-
-            this.clipStart = +feature.properties['mapbox_clip_start'];
-            this.clipEnd = +feature.properties['mapbox_clip_end'];
-
-            // Calculate the total distance, in tile units, of this tiled line feature
-            for (var i = 0; i < vertices.length - 1; i++) {
-                this.totalDistance += vertices[i].dist(vertices[i + 1]);
-            }
-        }
-
-        var isPolygon = VectorTileFeatureTypes[feature.type] === 'Polygon';
-
-        // If the line has duplicate vertices at the ends, adjust start/length to remove them.
-        var len = vertices.length;
-        while (len >= 2 && vertices[len - 1].equals(vertices[len - 2])) {
-            len--;
-        }
-        var first = 0;
-        while (first < len - 1 && vertices[first].equals(vertices[first + 1])) {
-            first++;
-        }
-
-        // Ignore invalid geometry.
-        if (len < (isPolygon ? 3 : 2)) {
-            return;
-        }
-
-        if (join === 'bevel') {
-            miterLimit = 1.05;
-        }
-
-        var sharpCornerOffset = this.overscaling <= 16 ?
-            SHARP_CORNER_OFFSET * EXTENT / (512 * this.overscaling) :
-            0;
-
-        // we could be more precise, but it would only save a negligible amount of space
-        var segment = this.segments.prepareSegment(len * 10, this.layoutVertexArray, this.indexArray);
-
-        var currentVertex;
-        var prevVertex = ((undefined )   );
-        var nextVertex = ((undefined )   );
-        var prevNormal = ((undefined )   );
-        var nextNormal = ((undefined )   );
-
-        // the last two vertices added
-        this.e1 = this.e2 = -1;
-
-        if (isPolygon) {
-            currentVertex = vertices[len - 2];
-            nextNormal = vertices[first].sub(currentVertex)._unit()._perp();
-        }
-
-        for (var i$1 = first; i$1 < len; i$1++) {
-
-            nextVertex = isPolygon && i$1 === len - 1 ?
-                vertices[first + 1] : // if the line is closed, we treat the last vertex like the first
-                vertices[i$1 + 1]; // just the next vertex
-
-            // if two consecutive vertices exist, skip the current one
-            if (nextVertex && vertices[i$1].equals(nextVertex)) {
-                continue;
-            }
-
-            if (nextNormal) {
-                prevNormal = nextNormal;
-            }
-            if (currentVertex) {
-                prevVertex = currentVertex;
-            }
-
-            currentVertex = vertices[i$1];
-
-            // Calculate the normal towards the next vertex in this line. In case
-            // there is no next vertex, pretend that the line is continuing straight,
-            // meaning that we are just using the previous normal.
-            nextNormal = nextVertex ? nextVertex.sub(currentVertex)._unit()._perp() : prevNormal;
-
-            // If we still don't have a previous normal, this is the beginning of a
-            // non-closed line, so we're doing a straight "join".
-            prevNormal = prevNormal || nextNormal;
-
-            // Determine the normal of the join extrusion. It is the angle bisector
-            // of the segments between the previous line and the next line.
-            // In the case of 180° angles, the prev and next normals cancel each other out:
-            // prevNormal + nextNormal = (0, 0), its magnitude is 0, so the unit vector would be
-            // undefined. In that case, we're keeping the joinNormal at (0, 0), so that the cosHalfAngle
-            // below will also become 0 and miterLength will become Infinity.
-            var joinNormal = prevNormal.add(nextNormal);
-            if (joinNormal.x !== 0 || joinNormal.y !== 0) {
-                joinNormal._unit();
-            }
-            /*  joinNormal prevNormal
-             *         ↖  ↑
-             *            .________. prevVertex
-             *            |
-             * nextNormal  ←  |  currentVertex
-             *            |
-             * nextVertex !
-             *
-             */
-
-            // calculate cosines of the angle (and its half) using dot product
-            var cosAngle = prevNormal.x * nextNormal.x + prevNormal.y * nextNormal.y;
-            var cosHalfAngle = joinNormal.x * nextNormal.x + joinNormal.y * nextNormal.y;
-
-            // Calculate the length of the miter (the ratio of the miter to the width)
-            // as the inverse of cosine of the angle between next and join normals
-            var miterLength = cosHalfAngle !== 0 ? 1 / cosHalfAngle : Infinity;
-
-            // approximate angle from cosine
-            var approxAngle = 2 * Math.sqrt(2 - 2 * cosHalfAngle);
-
-            var isSharpCorner = cosHalfAngle < COS_HALF_SHARP_CORNER && prevVertex && nextVertex;
-            var lineTurnsLeft = prevNormal.x * nextNormal.y - prevNormal.y * nextNormal.x > 0;
-
-            if (isSharpCorner && i$1 > first) {
-                var prevSegmentLength = currentVertex.dist(prevVertex);
-                if (prevSegmentLength > 2 * sharpCornerOffset) {
-                    var newPrevVertex = currentVertex.sub(currentVertex.sub(prevVertex)._mult(sharpCornerOffset / prevSegmentLength)._round());
-                    this.updateDistance(prevVertex, newPrevVertex);
-                    this.addCurrentVertex(newPrevVertex, prevNormal, 0, 0, segment);
-                    prevVertex = newPrevVertex;
-                }
-            }
-
-            // The join if a middle vertex, otherwise the cap.
-            var middleVertex = prevVertex && nextVertex;
-            var currentJoin = middleVertex ? join : isPolygon ? 'butt' : cap;
-
-            if (middleVertex && currentJoin === 'round') {
-                if (miterLength < roundLimit) {
-                    currentJoin = 'miter';
-                } else if (miterLength <= 2) {
-                    currentJoin = 'fakeround';
-                }
-            }
-
-            if (currentJoin === 'miter' && miterLength > miterLimit) {
-                currentJoin = 'bevel';
-            }
-
-            if (currentJoin === 'bevel') {
-                // The maximum extrude length is 128 / 63 = 2 times the width of the line
-                // so if miterLength >= 2 we need to draw a different type of bevel here.
-                if (miterLength > 2) {
-                    currentJoin = 'flipbevel';
-                }
-
-                // If the miterLength is really small and the line bevel wouldn't be visible,
-                // just draw a miter join to save a triangle.
-                if (miterLength < miterLimit) {
-                    currentJoin = 'miter';
-                }
-            }
-
-            // Calculate how far along the line the currentVertex is
-            if (prevVertex) {
-                this.updateDistance(prevVertex, currentVertex);
-            }
-
-            if (currentJoin === 'miter') {
-
-                joinNormal._mult(miterLength);
-                this.addCurrentVertex(currentVertex, joinNormal, 0, 0, segment);
-
-            } else if (currentJoin === 'flipbevel') {
-                // miter is too big, flip the direction to make a beveled join
-
-                if (miterLength > 100) {
-                    // Almost parallel lines
-                    joinNormal = nextNormal.mult(-1);
-
-                } else {
-                    var bevelLength = miterLength * prevNormal.add(nextNormal).mag() / prevNormal.sub(nextNormal).mag();
-                    joinNormal._perp()._mult(bevelLength * (lineTurnsLeft ? -1 : 1));
-                }
-                this.addCurrentVertex(currentVertex, joinNormal, 0, 0, segment);
-                this.addCurrentVertex(currentVertex, joinNormal.mult(-1), 0, 0, segment);
-
-            } else if (currentJoin === 'bevel' || currentJoin === 'fakeround') {
-                var offset = -Math.sqrt(miterLength * miterLength - 1);
-                var offsetA = lineTurnsLeft ? offset : 0;
-                var offsetB = lineTurnsLeft ? 0 : offset;
-
-                // Close previous segment with a bevel
-                if (prevVertex) {
-                    this.addCurrentVertex(currentVertex, prevNormal, offsetA, offsetB, segment);
-                }
-
-                if (currentJoin === 'fakeround') {
-                    // The join angle is sharp enough that a round join would be visible.
-                    // Bevel joins fill the gap between segments with a single pie slice triangle.
-                    // Create a round join by adding multiple pie slices. The join isn't actually round, but
-                    // it looks like it is at the sizes we render lines at.
-
-                    // pick the number of triangles for approximating round join by based on the angle between normals
-                    var n = Math.round((approxAngle * 180 / Math.PI) / DEG_PER_TRIANGLE);
-
-                    for (var m = 1; m < n; m++) {
-                        var t = m / n;
-                        if (t !== 0.5) {
-                            // approximate spherical interpolation https://observablehq.com/@mourner/approximating-geometric-slerp
-                            var t2 = t - 0.5;
-                            var A = 1.0904 + cosAngle * (-3.2452 + cosAngle * (3.55645 - cosAngle * 1.43519));
-                            var B = 0.848013 + cosAngle * (-1.06021 + cosAngle * 0.215638);
-                            t = t + t * t2 * (t - 1) * (A * t2 * t2 + B);
-                        }
-                        var extrude = nextNormal.sub(prevNormal)._mult(t)._add(prevNormal)._unit()._mult(lineTurnsLeft ? -1 : 1);
-                        this.addHalfVertex(currentVertex, extrude.x, extrude.y, false, lineTurnsLeft, 0, segment);
-                    }
-                }
-
-                if (nextVertex) {
-                    // Start next segment
-                    this.addCurrentVertex(currentVertex, nextNormal, -offsetA, -offsetB, segment);
-                }
-
-            } else if (currentJoin === 'butt') {
-                this.addCurrentVertex(currentVertex, joinNormal, 0, 0, segment); // butt cap
-
-            } else if (currentJoin === 'square') {
-                var offset$1 = prevVertex ? 1 : -1; // closing or starting square cap
-                this.addCurrentVertex(currentVertex, joinNormal, offset$1, offset$1, segment);
-
-            } else if (currentJoin === 'round') {
-
-                if (prevVertex) {
-                    // Close previous segment with butt
-                    this.addCurrentVertex(currentVertex, prevNormal, 0, 0, segment);
-
-                    // Add round cap or linejoin at end of segment
-                    this.addCurrentVertex(currentVertex, prevNormal, 1, 1, segment, true);
-                }
-                if (nextVertex) {
-                    // Add round cap before first segment
-                    this.addCurrentVertex(currentVertex, nextNormal, -1, -1, segment, true);
-
-                    // Start next segment with a butt
-                    this.addCurrentVertex(currentVertex, nextNormal, 0, 0, segment);
-                }
-            }
-
-            if (isSharpCorner && i$1 < len - 1) {
-                var nextSegmentLength = currentVertex.dist(nextVertex);
-                if (nextSegmentLength > 2 * sharpCornerOffset) {
-                    var newCurrentVertex = currentVertex.add(nextVertex.sub(currentVertex)._mult(sharpCornerOffset / nextSegmentLength)._round());
-                    this.updateDistance(currentVertex, newCurrentVertex);
-                    this.addCurrentVertex(newCurrentVertex, nextNormal, 0, 0, segment);
-                    currentVertex = newCurrentVertex;
-                }
-            }
-        }
-
-        this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length, feature, index, imagePositions);
-    };
-
-    /**
-     * Add two vertices to the buffers.
-     *
-     * @param p the line vertex to add buffer vertices for
-     * @param normal vertex normal
-     * @param endLeft extrude to shift the left vertex along the line
-     * @param endRight extrude to shift the left vertex along the line
-     * @param segment the segment object to add the vertex to
-     * @param round whether this is a round cap
-     * @private
-     */
-    LineBucket.prototype.addCurrentVertex = function addCurrentVertex(p, normal, endLeft, endRight, segment, round) {
-        if (round === void 0) round = false;
-
-        // left and right extrude vectors, perpendicularly shifted by endLeft/endRight
-        var leftX = normal.x + normal.y * endLeft;
-        var leftY = normal.y - normal.x * endLeft;
-        var rightX = -normal.x + normal.y * endRight;
-        var rightY = -normal.y - normal.x * endRight;
-
-        this.addHalfVertex(p, leftX, leftY, round, false, endLeft, segment);
-        this.addHalfVertex(p, rightX, rightY, round, true, -endRight, segment);
-
-        // There is a maximum "distance along the line" that we can store in the buffers.
-        // When we get close to the distance, reset it to zero and add the vertex again with
-        // a distance of zero. The max distance is determined by the number of bits we allocate
-        // to `linesofar`.
-        if (this.distance > MAX_LINE_DISTANCE / 2 && this.totalDistance === 0) {
-            this.distance = 0;
-            this.addCurrentVertex(p, normal, endLeft, endRight, segment, round);
-        }
-    };
-
-    LineBucket.prototype.addHalfVertex = function addHalfVertex(ref, extrudeX, extrudeY, round, up, dir, segment) {
-        var x = ref.x;
-        var y = ref.y;
-
-        // scale down so that we can store longer distances while sacrificing precision.
-        var linesofar = this.scaledDistance * LINE_DISTANCE_SCALE;
-
-        this.layoutVertexArray.emplaceBack(
-            // a_pos_normal
-            // Encode round/up the least significant bits
-            (x << 1) + (round ? 1 : 0),
-            (y << 1) + (up ? 1 : 0),
-            // a_data
-            // add 128 to store a byte in an unsigned byte
-            Math.round(EXTRUDE_SCALE * extrudeX) + 128,
-            Math.round(EXTRUDE_SCALE * extrudeY) + 128,
-            // Encode the -1/0/1 direction value into the first two bits of .z of a_data.
-            // Combine it with the lower 6 bits of `linesofar` (shifted by 2 bites to make
-            // room for the direction value). The upper 8 bits of `linesofar` are placed in
-            // the `w` component.
-            ((dir === 0 ? 0 : (dir < 0 ? -1 : 1)) + 1) | ((linesofar & 0x3F) << 2),
-            linesofar >> 6);
-
-        var e = segment.vertexLength++;
-        if (this.e1 >= 0 && this.e2 >= 0) {
-            this.indexArray.emplaceBack(this.e1, this.e2, e);
-            segment.primitiveLength++;
-        }
-        if (up) {
-            this.e2 = e;
-        } else {
-            this.e1 = e;
-        }
-    };
-
-    LineBucket.prototype.updateDistance = function updateDistance(prev, next) {
-        this.distance += prev.dist(next);
-
-        // Knowing the ratio of the full linestring covered by this tiled feature, as well
-        // as the total distance (in tile units) of this tiled feature, and the distance
-        // (in tile units) of the current vertex, we can determine the relative distance
-        // of this vertex along the full linestring feature and scale it to [0, 2^15)
-        this.scaledDistance = this.totalDistance > 0 ?
-            (this.clipStart + (this.clipEnd - this.clipStart) * this.distance / this.totalDistance) * (MAX_LINE_DISTANCE - 1) :
-            this.distance;
-    };
-
-    WebWorkerTransfer.register('LineBucket', LineBucket, {omit: ['layers', 'patternFeatures']});
-
-    function quickselect(arr, k, left, right, compare) {
-        quickselectStep(arr, k, left || 0, right || (arr.length - 1), compare || defaultCompare);
-    }
-    function quickselectStep(arr, k, left, right, compare) {
-
-        while (right > left) {
-            if (right - left > 600) {
-                var n = right - left + 1;
-                var m = k - left + 1;
-                var z = Math.log(n);
-                var s = 0.5 * Math.exp(2 * z / 3);
-                var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);
-                var newLeft = Math.max(left, Math.floor(k - m * s / n + sd));
-                var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));
-                quickselectStep(arr, k, newLeft, newRight, compare);
-            }
-
-            var t = arr[k];
-            var i = left;
-            var j = right;
-
-            swap$1(arr, left, k);
-            if (compare(arr[right], t) > 0) swap$1(arr, left, right);
-
-            while (i < j) {
-                swap$1(arr, i, j);
-                i++;
-                j--;
-                while (compare(arr[i], t) < 0) i++;
-                while (compare(arr[j], t) > 0) j--;
-            }
-
-            if (compare(arr[left], t) === 0) swap$1(arr, left, j);
-            else {
-                j++;
-                swap$1(arr, j, right);
-            }
-
-            if (j <= k) left = j + 1;
-            if (k <= j) right = j - 1;
-        }
-    }
-
-    function swap$1(arr, i, j) {
-        var tmp = arr[i];
-        arr[i] = arr[j];
-        arr[j] = tmp;
-    }
-
-    function defaultCompare(a, b) {
-        return a < b ? -1 : a > b ? 1 : 0;
-    }
-
-    /**
-     * Returns the signed area for the polygon ring.  Postive areas are exterior rings and
-     * have a clockwise winding.  Negative areas are interior rings and have a counter clockwise
-     * ordering.
-     *
-     * @private
-     * @param ring Exterior or interior ring
-     */
-    function calculateSignedArea(ring) {
-        var sum = 0;
-        for (var i = 0, len = ring.length, j = len - 1, p1 = (void 0), p2 = (void 0); i < len; j = i++) {
-            p1 = ring[i];
-            p2 = ring[j];
-            sum += (p2.x - p1.x) * (p1.y + p2.y);
-        }
-        return sum;
-    }
-
-    // classifies an array of rings into polygons with outer rings and holes
-    function classifyRings(rings, maxRings) {
-        var len = rings.length;
-
-        if (len <= 1) {
-            return [rings];
-        }
-
-        var polygons = [];
-        var polygon,
-            ccw;
-
-        for (var i = 0; i < len; i++) {
-            var area = calculateSignedArea(rings[i]);
-            if (area === 0) {
-                continue;
-            }
-
-            (rings[i]     ).area = Math.abs(area);
-
-            if (ccw === undefined) {
-                ccw = area < 0;
-            }
-
-            if (ccw === area < 0) {
-                if (polygon) {
-                    polygons.push(polygon);
-                }
-                polygon = [rings[i]];
-
-            } else {
-                (polygon     ).push(rings[i]);
-            }
-        }
-        if (polygon) {
-            polygons.push(polygon);
-        }
-
-        // Earcut performance degrades with the # of rings in a polygon. For this
-        // reason, we limit strip out all but the `maxRings` largest rings.
-        if (maxRings > 1) {
-            for (var j = 0; j < polygons.length; j++) {
-                if (polygons[j].length <= maxRings) {
-                    continue;
-                }
-                quickselect(polygons[j], maxRings, 1, polygons[j].length - 1, compareAreas);
-                polygons[j] = polygons[j].slice(0, maxRings);
-            }
-        }
-
-        return polygons;
-    }
-
-    function compareAreas(a, b) {
-        return b.area - a.area;
-    }
-
-    var StructArrayLayout2i4 = /*@__PURE__*/(function (StructArray) {
-        function StructArrayLayout2i4() {
-            StructArray.apply(this, arguments);
-        }
-
-        if (StructArray) StructArrayLayout2i4.__proto__ = StructArray;
-        StructArrayLayout2i4.prototype = Object.create(StructArray && StructArray.prototype);
-        StructArrayLayout2i4.prototype.constructor = StructArrayLayout2i4;
-
-        StructArrayLayout2i4.prototype._refreshViews = function _refreshViews() {
-            this.uint8 = new Uint8Array(this.arrayBuffer);
-            this.int16 = new Int16Array(this.arrayBuffer);
-        };
-
-        StructArrayLayout2i4.prototype.emplaceBack = function emplaceBack(v0, v1) {
-            var i = this.length;
-            this.resize(i + 1);
-            return this.emplace(i, v0, v1);
-        };
-
-        StructArrayLayout2i4.prototype.emplace = function emplace(i, v0, v1) {
-            var o2 = i * 2;
-            this.int16[o2 + 0] = v0;
-            this.int16[o2 + 1] = v1;
-            return i;
-        };
-
-        return StructArrayLayout2i4;
-    }(StructArray));
-
-    StructArrayLayout2i4.prototype.bytesPerElement = 4;
-    WebWorkerTransfer.register('StructArrayLayout2i4', StructArrayLayout2i4);
-
-    var StructArrayLayout2ui4 = /*@__PURE__*/(function (StructArray) {
-        function StructArrayLayout2ui4() {
-            StructArray.apply(this, arguments);
-        }
-
-        if (StructArray) StructArrayLayout2ui4.__proto__ = StructArray;
-        StructArrayLayout2ui4.prototype = Object.create(StructArray && StructArray.prototype);
-        StructArrayLayout2ui4.prototype.constructor = StructArrayLayout2ui4;
-
-        StructArrayLayout2ui4.prototype._refreshViews = function _refreshViews() {
-            this.uint8 = new Uint8Array(this.arrayBuffer);
-            this.uint16 = new Uint16Array(this.arrayBuffer);
-        };
-
-        StructArrayLayout2ui4.prototype.emplaceBack = function emplaceBack(v0, v1) {
-            var i = this.length;
-            this.resize(i + 1);
-            return this.emplace(i, v0, v1);
-        };
-
-        StructArrayLayout2ui4.prototype.emplace = function emplace(i, v0, v1) {
-            var o2 = i * 2;
-            this.uint16[o2 + 0] = v0;
-            this.uint16[o2 + 1] = v1;
-            return i;
-        };
-
-        return StructArrayLayout2ui4;
-    }(StructArray));
-
-    StructArrayLayout2ui4.prototype.bytesPerElement = 4;
-    WebWorkerTransfer.register('StructArrayLayout2ui4', StructArrayLayout2ui4);
-
-    function hasPattern(type, layers, options) {
-        var patterns = options.patternDependencies;
-        var hasPattern = false;
-
-        for (var i = 0, list = layers; i < list.length; i += 1) {
-            var layer = list[i];
-
-            var patternProperty = layer.paint.get((type + "-pattern"));
-            if (!patternProperty.isConstant()) {
-                hasPattern = true;
-            }
-
-            var constantPattern = patternProperty.constantOr(null);
-            if (constantPattern) {
-                hasPattern = true;
-                patterns[constantPattern.to] = true;
-                patterns[constantPattern.from] = true;
-            }
-        }
-
-        return hasPattern;
-    }
-
-    var layout$3 = createLayout([
-        {name: 'a_pos', components: 2, type: 'Int16'}
-    ], 4);
-    var members$1 = layout$3.members;
-
-    var EARCUT_MAX_RINGS = 500;
-
-    var FillBucket = function FillBucket(options) {
-        this.zoom = options.zoom;
-        this.overscaling = options.overscaling;
-        this.layers = options.layers;
-        this.layerIds = this.layers.map(function (layer) {
-            return layer.id;
-        });
-        this.index = options.index;
-        this.hasPattern = false;
-        this.patternFeatures = [];
-
-        this.layoutVertexArray = new StructArrayLayout2i4();
-        this.indexArray = new StructArrayLayout3ui6();
-        this.indexArray2 = new StructArrayLayout2ui4();
-        this.programConfigurations = new ProgramConfigurationSet(members$1, options.layers, options.zoom);
-        this.segments = new SegmentVector();
-        this.segments2 = new SegmentVector();
-        this.stateDependentLayerIds = this.layers.filter(function (l) {
-            return l.isStateDependent();
-        }).map(function (l) {
-            return l.id;
-        });
-    };
-
-    FillBucket.prototype.populate = function populate(features, options) {
-        this.hasPattern = hasPattern('fill', this.layers, options);
-        var bucketFeatures = [];
-
-        for (var i = 0, list = features; i < list.length; i += 1) {
-            var ref = list[i];
-            var feature = ref.feature;
-            var index = ref.index;
-            var sourceLayerIndex = ref.sourceLayerIndex;
-
-            if (!this.layers[0]._featureFilter(new EvaluationParameters$1(0), feature)) {
-                continue;
-            }
-
-            var geometry = loadGeometry(feature);
-            var sortKey = 
-                undefined;
-
-            var bucketFeature = {
-                id: feature.id,
-                properties: feature.properties,
-                type: feature.type,
-                sourceLayerIndex: sourceLayerIndex,
-                index: index,
-                geometry: geometry,
-                patterns: {},
-                sortKey: sortKey
-            };
-
-            bucketFeatures.push(bucketFeature);
-        }
-
-        for (var i$1 = 0, list$1 = bucketFeatures; i$1 < list$1.length; i$1 += 1) {
-            var bucketFeature$1 = list$1[i$1];
-
-            var ref$1 = bucketFeature$1;
-            var geometry$1 = ref$1.geometry;
-            var index$1 = ref$1.index;
-            var sourceLayerIndex$1 = ref$1.sourceLayerIndex;
-
-            if (this.hasPattern) {
-                var patternFeature = addPatternDependencies('fill', this.layers, bucketFeature$1, this.zoom, options);
-                // pattern features are added only once the pattern is loaded into the image atlas
-                // so are stored during populate until later updated with positions by tile worker in addFeatures
-                this.patternFeatures.push(patternFeature);
-            } else {
-                this.addFeature(bucketFeature$1, geometry$1, index$1, {});
-            }
-
-            var feature$1 = features[index$1].feature;
-            options.featureIndex.insert(feature$1, geometry$1, index$1, sourceLayerIndex$1, this.index);
-        }
-    };
-
-    FillBucket.prototype.update = function update(states, vtLayer, imagePositions) {
-        if (!this.stateDependentLayers.length) {
-            return;
-        }
-        this.programConfigurations.updatePaintArrays(states, vtLayer, this.stateDependentLayers, imagePositions);
-    };
-
-    FillBucket.prototype.addFeatures = function addFeatures(options, imagePositions) {
-        for (var i = 0, list = this.patternFeatures; i < list.length; i += 1) {
-            var feature = list[i];
-
-            this.addFeature(feature, feature.geometry, feature.index, imagePositions);
-        }
-    };
-
-    FillBucket.prototype.isEmpty = function isEmpty() {
-        return this.layoutVertexArray.length === 0;
-    };
-
-    FillBucket.prototype.uploadPending = function uploadPending() {
-        return !this.uploaded || this.programConfigurations.needsUpload;
-    };
-    FillBucket.prototype.upload = function upload(context) {
-        if (!this.uploaded) {
-            this.layoutVertexBuffer = context.createVertexBuffer(this.layoutVertexArray, members$1);
-            this.indexBuffer = context.createIndexBuffer(this.indexArray);
-            this.indexBuffer2 = context.createIndexBuffer(this.indexArray2);
-        }
-        this.programConfigurations.upload(context);
-        this.uploaded = true;
-    };
-
-    FillBucket.prototype.destroy = function destroy() {
-        if (!this.layoutVertexBuffer) {
-            return;
-        }
-        this.layoutVertexBuffer.destroy();
-        this.indexBuffer.destroy();
-        this.indexBuffer2.destroy();
-        this.programConfigurations.destroy();
-        this.segments.destroy();
-        this.segments2.destroy();
-    };
-
-    FillBucket.prototype.clear = function clear() {
-        if (defined.defined(this.layoutVertexArray)) {
-            this.layoutVertexArray = null;
-        }
-        if (defined.defined(this.indexArray)) {
-            this.indexArray = null;
-        }
-        if (defined.defined(this.indexArray2)) {
-            this.indexArray2 = null;
-        }
-    };
-
-    FillBucket.prototype.addFeature = function addFeature(feature, geometry, index, imagePositions) {
-        for (var i$4 = 0, list$2 = classifyRings(geometry, EARCUT_MAX_RINGS); i$4 < list$2.length; i$4 += 1) {
-            var polygon = list$2[i$4];
-
-            var numVertices = 0;
-            for (var i$2 = 0, list = polygon; i$2 < list.length; i$2 += 1) {
-                var ring = list[i$2];
-
-                numVertices += ring.length;
-            }
-
-            var triangleSegment = this.segments.prepareSegment(numVertices, this.layoutVertexArray, this.indexArray);
-            var triangleIndex = triangleSegment.vertexLength;
-
-            var flattened = [];
-            var holeIndices = [];
-
-            for (var i$3 = 0, list$1 = polygon; i$3 < list$1.length; i$3 += 1) {
-                var ring$1 = list$1[i$3];
-
-                if (ring$1.length === 0) {
-                    continue;
-                }
-
-                if (ring$1 !== polygon[0]) {
-                    holeIndices.push(flattened.length / 2);
-                }
-
-                var lineSegment = this.segments2.prepareSegment(ring$1.length, this.layoutVertexArray, this.indexArray2);
-                var lineIndex = lineSegment.vertexLength;
-
-                this.layoutVertexArray.emplaceBack(ring$1[0].x, ring$1[0].y);
-                this.indexArray2.emplaceBack(lineIndex + ring$1.length - 1, lineIndex);
-                flattened.push(ring$1[0].x);
-                flattened.push(ring$1[0].y);
-
-                for (var i = 1; i < ring$1.length; i++) {
-                    this.layoutVertexArray.emplaceBack(ring$1[i].x, ring$1[i].y);
-                    this.indexArray2.emplaceBack(lineIndex + i - 1, lineIndex + i);
-                    flattened.push(ring$1[i].x);
-                    flattened.push(ring$1[i].y);
-                }
-
-                lineSegment.vertexLength += ring$1.length;
-                lineSegment.primitiveLength += ring$1.length;
-            }
-
-            var indices = earcut2_2_1.earcut(flattened, holeIndices);
-            //assert_1(indices.length % 3 === 0);
-
-            for (var i$1 = 0; i$1 < indices.length; i$1 += 3) {
-                this.indexArray.emplaceBack(
-                    triangleIndex + indices[i$1],
-                    triangleIndex + indices[i$1 + 1],
-                    triangleIndex + indices[i$1 + 2]);
-            }
-
-            triangleSegment.vertexLength += numVertices;
-            triangleSegment.primitiveLength += indices.length / 3;
-        }
-        this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length, feature, index, imagePositions);
-    };
-
-    WebWorkerTransfer.register('FillBucket', FillBucket, {omit: ['layers', 'patternFeatures']});
-
-    var Struct = function Struct(structArray           , index      ) {
-        (this   )._structArray = structArray;
-        this._pos1 = index * this.size;
-        this._pos2 = this._pos1 / 2;
-        this._pos4 = this._pos1 / 4;
-        this._pos8 = this._pos1 / 8;
-    };
-
-    var DEFAULT_CAPACITY$1 = 128;
-    var RESIZE_MULTIPLIER$1 = 5;
-
-    /**
-     * `StructArray` provides an abstraction over `ArrayBuffer` and `TypedArray`
-     * making it behave like an array of typed structs.
-     *
-     * Conceptually, a StructArray is comprised of elements, i.e., instances of its
-     * associated struct type. Each particular struct type, together with an
-     * alignment size, determines the memory layout of a StructArray whose elements
-     * are of that type.  Thus, for each such layout that we need, we have
-     * a corrseponding StructArrayLayout class, inheriting from StructArray and
-     * implementing `emplaceBack()` and `_refreshViews()`.
-     *
-     * In some cases, where we need to access particular elements of a StructArray,
-     * we implement a more specific subclass that inherits from one of the
-     * StructArrayLayouts and adds a `get(i): T` accessor that returns a structured
-     * object whose properties are proxies into the underlying memory space for the
-     * i-th element.  This affords the convience of working with (seemingly) plain
-     * Javascript objects without the overhead of serializing/deserializing them
-     * into ArrayBuffers for efficient web worker transfer.
-     *
-     * @private
-     */
-    var StructArray$1 = function StructArray() {
-        this.isTransferred = false;
-        this.capacity = -1;
-        this.resize(0);
-    };
-
-    /**
-     * Serialize a StructArray instance.Serializes both the raw data and the
-     * metadata needed to reconstruct the StructArray base class during
-     * deserialization.
-     */
-    StructArray$1.serialize = function serialize (array, transferables) {
-        //assert_1(!array.isTransferred);
-        if(array.isTransferred){
-            console.log("StructArray array.isTransferred.");
-        }
-
-        array._trim();
-
-        if (transferables) {
-            array.isTransferred = true;
-            transferables.push(array.arrayBuffer);
-        }
-
-        return {
-            length: array.length,
-            arrayBuffer: array.arrayBuffer,
-        };
-    };
-
-    StructArray$1.deserialize = function deserialize (input                     ) {
-        var structArray = Object.create(this.prototype);
-        structArray.arrayBuffer = input.arrayBuffer;
-        structArray.length = input.length;
-        structArray.capacity = input.arrayBuffer.byteLength / structArray.bytesPerElement;
-        structArray._refreshViews();
-        return structArray;
-    };
-
-    /**
-     * Resize the array to discard unused capacity.
-     */
-    StructArray$1.prototype._trim = function _trim () {
-        if (this.length !== this.capacity) {
-            this.capacity = this.length;
-            this.arrayBuffer = this.arrayBuffer.slice(0, this.length * this.bytesPerElement);
-            this._refreshViews();
-        }
-    };
-
-    /**
-     * Resets the the length of the array to 0 without de-allocating capcacity.
-     */
-    StructArray$1.prototype.clear = function clear () {
-        this.length = 0;
-    };
-
-    /**
-     * Resize the array.
-     * If `n` is greater than the current length then additional elements with undefined values are added.
-     * If `n` is less than the current length then the array will be reduced to the first `n` elements.
-     * @param {number} n The new size of the array.
-     */
-    StructArray$1.prototype.resize = function resize (n      ) {
-        //assert_1(!this.isTransferred);
-        this.reserve(n);
-        this.length = n;
-    };
-
-    /**
-     * Indicate a planned increase in size, so that any necessary allocation may
-     * be done once, ahead of time.
-     * @param {number} n The expected size of the array.
-     */
-    StructArray$1.prototype.reserve = function reserve (n      ) {
-        if (n > this.capacity) {
-            this.capacity = Math.max(n, Math.floor(this.capacity * RESIZE_MULTIPLIER$1), DEFAULT_CAPACITY$1);
-            this.arrayBuffer = new ArrayBuffer(this.capacity * this.bytesPerElement);
-
-            var oldUint8Array = this.uint8;
-            this._refreshViews();
-            if (oldUint8Array) { this.uint8.set(oldUint8Array); }
-        }
-    };
-
-    /**
-     * Create TypedArray views for the current ArrayBuffer.
-     */
-    StructArray$1.prototype._refreshViews = function _refreshViews () {
-        throw new Error('_refreshViews() must be implemented by each concrete StructArray layout');
-    };
-    /**
-     * Implementation of the StructArray layout:
-     * [0]: Uint32[1]
-     * [4]: Uint16[2]
-     *
-     * @private
-     */
-    var StructArrayLayout1ul2ui8 = /*@__PURE__*/(function (StructArray) {
-        function StructArrayLayout1ul2ui8 () {
-            StructArray.apply(this, arguments);
-        }
-
-        if ( StructArray ) StructArrayLayout1ul2ui8.__proto__ = StructArray;
-        StructArrayLayout1ul2ui8.prototype = Object.create( StructArray && StructArray.prototype );
-        StructArrayLayout1ul2ui8.prototype.constructor = StructArrayLayout1ul2ui8;
-
-        StructArrayLayout1ul2ui8.prototype._refreshViews = function _refreshViews () {
-            this.uint8 = new Uint8Array(this.arrayBuffer);
-            this.uint32 = new Uint32Array(this.arrayBuffer);
-            this.uint16 = new Uint16Array(this.arrayBuffer);
-        };
-
-        StructArrayLayout1ul2ui8.prototype.emplaceBack = function emplaceBack (v0        , v1        , v2        ) {
-            var i = this.length;
-            this.resize(i + 1);
-            return this.emplace(i, v0, v1, v2);
-        };
-
-        StructArrayLayout1ul2ui8.prototype.emplace = function emplace (i        , v0        , v1        , v2        ) {
-            var o4 = i * 2;
-            var o2 = i * 4;
-            this.uint32[o4 + 0] = v0;
-            this.uint16[o2 + 2] = v1;
-            this.uint16[o2 + 3] = v2;
-            return i;
-        };
-
-        return StructArrayLayout1ul2ui8;
-    }(StructArray$1));
-
-    StructArrayLayout1ul2ui8.prototype.bytesPerElement = 8;
-
-    var FeatureIndexStruct = /*@__PURE__*/(function (Struct) {
-        function FeatureIndexStruct () {
-            Struct.apply(this, arguments);
-        }
-
-        if ( Struct ) FeatureIndexStruct.__proto__ = Struct;
-        FeatureIndexStruct.prototype = Object.create( Struct && Struct.prototype );
-        FeatureIndexStruct.prototype.constructor = FeatureIndexStruct;
-
-        var prototypeAccessors$5 = { featureIndex: { configurable: true },sourceLayerIndex: { configurable: true },bucketIndex: { configurable: true } };
-
-        prototypeAccessors$5.featureIndex.get = function () { return this._structArray.uint32[this._pos4 + 0]; };
-        prototypeAccessors$5.featureIndex.set = function (x        ) { this._structArray.uint32[this._pos4 + 0] = x; };
-        prototypeAccessors$5.sourceLayerIndex.get = function () { return this._structArray.uint16[this._pos2 + 2]; };
-        prototypeAccessors$5.sourceLayerIndex.set = function (x        ) { this._structArray.uint16[this._pos2 + 2] = x; };
-        prototypeAccessors$5.bucketIndex.get = function () { return this._structArray.uint16[this._pos2 + 3]; };
-        prototypeAccessors$5.bucketIndex.set = function (x        ) { this._structArray.uint16[this._pos2 + 3] = x; };
-
-        Object.defineProperties( FeatureIndexStruct.prototype, prototypeAccessors$5 );
-
-        return FeatureIndexStruct;
-    }(Struct));
-
-    FeatureIndexStruct.prototype.size = 8;
-
-    /**
-     * @private
-     */
-    var FeatureIndexArray = /*@__PURE__*/(function (StructArrayLayout1ul2ui8) {
-        function FeatureIndexArray () {
-            StructArrayLayout1ul2ui8.apply(this, arguments);
-        }
-
-        if ( StructArrayLayout1ul2ui8 ) FeatureIndexArray.__proto__ = StructArrayLayout1ul2ui8;
-        FeatureIndexArray.prototype = Object.create( StructArrayLayout1ul2ui8 && StructArrayLayout1ul2ui8.prototype );
-        FeatureIndexArray.prototype.constructor = FeatureIndexArray;
-
-        FeatureIndexArray.prototype.get = function get (index        )                     {
-            //assert_1(!this.isTransferred);
-            return new FeatureIndexStruct(this, index);
-        };
-
-        return FeatureIndexArray;
-    }(StructArrayLayout1ul2ui8));
-
-    WebWorkerTransfer.register('FeatureIndexArray', FeatureIndexArray, {omit: ['layers', 'patternFeatures']});
-    var arrayTypes = {
-        FeatureIndexArray : FeatureIndexArray
-    };
-
-    /**
-     * A standalone point geometry with useful accessor, comparison, and
-     * modification methods.
-     *
-     * @class Point
-     * @param {Number} x the x-coordinate. this could be longitude or screen
-     * pixels, or any other sort of unit.
-     * @param {Number} y the y-coordinate. this could be latitude or screen
-     * pixels, or any other sort of unit.
-     * @example
-     * var point = new Point(-77, 38);
-     */
-    function Point(x, y) {
-        this.x = x;
-        this.y = y;
-    }
-
-    Point.prototype = {
-
-        /**
-         * Clone this point, returning a new point that can be modified
-         * without affecting the old one.
-         * @return {Point} the clone
-         */
-        clone: function() { return new Point(this.x, this.y); },
-
-        /**
-         * Add this point's x & y coordinates to another point,
-         * yielding a new point.
-         * @param {Point} p the other point
-         * @return {Point} output point
-         */
-        add:     function(p) { return this.clone()._add(p); },
-
-        /**
-         * Subtract this point's x & y coordinates to from point,
-         * yielding a new point.
-         * @param {Point} p the other point
-         * @return {Point} output point
-         */
-        sub:     function(p) { return this.clone()._sub(p); },
-
-        /**
-         * Multiply this point's x & y coordinates by point,
-         * yielding a new point.
-         * @param {Point} p the other point
-         * @return {Point} output point
-         */
-        multByPoint:    function(p) { return this.clone()._multByPoint(p); },
-
-        /**
-         * Divide this point's x & y coordinates by point,
-         * yielding a new point.
-         * @param {Point} p the other point
-         * @return {Point} output point
-         */
-        divByPoint:     function(p) { return this.clone()._divByPoint(p); },
-
-        /**
-         * Multiply this point's x & y coordinates by a factor,
-         * yielding a new point.
-         * @param {Point} k factor
-         * @return {Point} output point
-         */
-        mult:    function(k) { return this.clone()._mult(k); },
-
-        /**
-         * Divide this point's x & y coordinates by a factor,
-         * yielding a new point.
-         * @param {Point} k factor
-         * @return {Point} output point
-         */
-        div:     function(k) { return this.clone()._div(k); },
-
-        /**
-         * Rotate this point around the 0, 0 origin by an angle a,
-         * given in radians
-         * @param {Number} a angle to rotate around, in radians
-         * @return {Point} output point
-         */
-        rotate:  function(a) { return this.clone()._rotate(a); },
-
-        /**
-         * Rotate this point around p point by an angle a,
-         * given in radians
-         * @param {Number} a angle to rotate around, in radians
-         * @param {Point} p Point to rotate around
-         * @return {Point} output point
-         */
-        rotateAround:  function(a,p) { return this.clone()._rotateAround(a,p); },
-
-        /**
-         * Multiply this point by a 4x1 transformation matrix
-         * @param {Array<Number>} m transformation matrix
-         * @return {Point} output point
-         */
-        matMult: function(m) { return this.clone()._matMult(m); },
-
-        /**
-         * Calculate this point but as a unit vector from 0, 0, meaning
-         * that the distance from the resulting point to the 0, 0
-         * coordinate will be equal to 1 and the angle from the resulting
-         * point to the 0, 0 coordinate will be the same as before.
-         * @return {Point} unit vector point
-         */
-        unit:    function() { return this.clone()._unit(); },
-
-        /**
-         * Compute a perpendicular point, where the new y coordinate
-         * is the old x coordinate and the new x coordinate is the old y
-         * coordinate multiplied by -1
-         * @return {Point} perpendicular point
-         */
-        perp:    function() { return this.clone()._perp(); },
-
-        /**
-         * Return a version of this point with the x & y coordinates
-         * rounded to integers.
-         * @return {Point} rounded point
-         */
-        round:   function() { return this.clone()._round(); },
-
-        /**
-         * Return the magitude of this point: this is the Euclidean
-         * distance from the 0, 0 coordinate to this point's x and y
-         * coordinates.
-         * @return {Number} magnitude
-         */
-        mag: function() {
-            return Math.sqrt(this.x * this.x + this.y * this.y);
-        },
-
-        /**
-         * Judge whether this point is equal to another point, returning
-         * true or false.
-         * @param {Point} other the other point
-         * @return {boolean} whether the points are equal
-         */
-        equals: function(other) {
-            return this.x === other.x &&
-                this.y === other.y;
-        },
-
-        /**
-         * Calculate the distance from this point to another point
-         * @param {Point} p the other point
-         * @return {Number} distance
-         */
-        dist: function(p) {
-            return Math.sqrt(this.distSqr(p));
-        },
-
-        /**
-         * Calculate the distance from this point to another point,
-         * without the square root step. Useful if you're comparing
-         * relative distances.
-         * @param {Point} p the other point
-         * @return {Number} distance
-         */
-        distSqr: function(p) {
-            var dx = p.x - this.x,
-                dy = p.y - this.y;
-            return dx * dx + dy * dy;
-        },
-
-        /**
-         * Get the angle from the 0, 0 coordinate to this point, in radians
-         * coordinates.
-         * @return {Number} angle
-         */
-        angle: function() {
-            return Math.atan2(this.y, this.x);
-        },
-
-        /**
-         * Get the angle from this point to another point, in radians
-         * @param {Point} b the other point
-         * @return {Number} angle
-         */
-        angleTo: function(b) {
-            return Math.atan2(this.y - b.y, this.x - b.x);
-        },
-
-        /**
-         * Get the angle between this point and another point, in radians
-         * @param {Point} b the other point
-         * @return {Number} angle
-         */
-        angleWith: function(b) {
-            return this.angleWithSep(b.x, b.y);
-        },
-
-        /*
-         * Find the angle of the two vectors, solving the formula for
-         * the cross product a x b = |a||b|sin(θ) for θ.
-         * @param {Number} x the x-coordinate
-         * @param {Number} y the y-coordinate
-         * @return {Number} the angle in radians
-         */
-        angleWithSep: function(x, y) {
-            return Math.atan2(
-                this.x * y - this.y * x,
-                this.x * x + this.y * y);
-        },
-
-        _matMult: function(m) {
-            var x = m[0] * this.x + m[1] * this.y,
-                y = m[2] * this.x + m[3] * this.y;
-            this.x = x;
-            this.y = y;
-            return this;
-        },
-
-        _add: function(p) {
-            this.x += p.x;
-            this.y += p.y;
-            return this;
-        },
-
-        _sub: function(p) {
-            this.x -= p.x;
-            this.y -= p.y;
-            return this;
-        },
-
-        _mult: function(k) {
-            this.x *= k;
-            this.y *= k;
-            return this;
-        },
-
-        _div: function(k) {
-            this.x /= k;
-            this.y /= k;
-            return this;
-        },
-
-        _multByPoint: function(p) {
-            this.x *= p.x;
-            this.y *= p.y;
-            return this;
-        },
-
-        _divByPoint: function(p) {
-            this.x /= p.x;
-            this.y /= p.y;
-            return this;
-        },
-
-        _unit: function() {
-            this._div(this.mag());
-            return this;
-        },
-
-        _perp: function() {
-            var y = this.y;
-            this.y = this.x;
-            this.x = -y;
-            return this;
-        },
-
-        _rotate: function(angle) {
-            var cos = Math.cos(angle),
-                sin = Math.sin(angle),
-                x = cos * this.x - sin * this.y,
-                y = sin * this.x + cos * this.y;
-            this.x = x;
-            this.y = y;
-            return this;
-        },
-
-        _rotateAround: function(angle, p) {
-            var cos = Math.cos(angle),
-                sin = Math.sin(angle),
-                x = p.x + cos * (this.x - p.x) - sin * (this.y - p.y),
-                y = p.y + sin * (this.x - p.x) + cos * (this.y - p.y);
-            this.x = x;
-            this.y = y;
-            return this;
-        },
-
-        _round: function() {
-            this.x = Math.round(this.x);
-            this.y = Math.round(this.y);
-            return this;
-        }
-    };
-
-    /**
-     * Construct a point from an array if necessary, otherwise if the input
-     * is already a Point, or an unknown type, return it unchanged
-     * @param {Array<Number>|Point|*} a any kind of input value
-     * @return {Point} constructed point, or passed-through value.
-     * @example
-     * // this
-     * var point = Point.convert([0, 1]);
-     * // is equivalent to
-     * var point = new Point(0, 1);
-     */
-    Point.convert = function (a) {
-        if (a instanceof Point) {
-            return a;
-        }
-        if (Array.isArray(a)) {
-            return new Point(a[0], a[1]);
-        }
-        return a;
-    };
-
-    function VectorTileFeature(pbf, end, extent, keys, values) {
-        // Public
-        this.properties = {};
-        this.extent = extent;
-        this.type = 0;
-
-        // Private
-        this._pbf = pbf;
-        this._geometry = -1;
-        this._keys = keys;
-        this._values = values;
-
-        pbf.readFields(readFeature, this, end);
-    }
-
-    function readFeature(tag, feature, pbf) {
-        if (tag == 1) feature.id = pbf.readVarint();
-        else if (tag == 2) readTag(pbf, feature);
-        else if (tag == 3) feature.type = pbf.readVarint();
-        else if (tag == 4) feature._geometry = pbf.pos;
-    }
-
-    function readTag(pbf, feature) {
-        var end = pbf.readVarint() + pbf.pos;
-
-        while (pbf.pos < end) {
-            var key = feature._keys[pbf.readVarint()],
-                value = feature._values[pbf.readVarint()];
-            feature.properties[key] = value;
-        }
-    }
-
-    VectorTileFeature.types = ['Unknown', 'Point', 'LineString', 'Polygon'];
-
-    VectorTileFeature.prototype.loadGeometry = function() {
-        var pbf = this._pbf;
-        pbf.pos = this._geometry;
-
-        var end = pbf.readVarint() + pbf.pos,
-            cmd = 1,
-            length = 0,
-            x = 0,
-            y = 0,
-            lines = [],
-            line;
-
-        while (pbf.pos < end) {
-            if (length <= 0) {
-                var cmdLen = pbf.readVarint();
-                cmd = cmdLen & 0x7;
-                length = cmdLen >> 3;
-            }
-
-            length--;
-
-            if (cmd === 1 || cmd === 2) {
-                x += pbf.readSVarint();
-                y += pbf.readSVarint();
-
-                if (cmd === 1) { // moveTo
-                    if (line) lines.push(line);
-                    line = [];
-                }
-
-                line.push(new Point(x, y));
-
-            } else if (cmd === 7) {
-
-                // Workaround for https://github.com/mapbox/mapnik-vector-tile/issues/90
-                if (line) {
-                    line.push(line[0].clone()); // closePolygon
-                }
-
-            } else {
-                throw new Error('unknown command ' + cmd);
-            }
-        }
-
-        if (line) lines.push(line);
-
-        return lines;
-    };
-
-    VectorTileFeature.prototype.bbox = function() {
-        var pbf = this._pbf;
-        pbf.pos = this._geometry;
-
-        var end = pbf.readVarint() + pbf.pos,
-            cmd = 1,
-            length = 0,
-            x = 0,
-            y = 0,
-            x1 = Infinity,
-            x2 = -Infinity,
-            y1 = Infinity,
-            y2 = -Infinity;
-
-        while (pbf.pos < end) {
-            if (length <= 0) {
-                var cmdLen = pbf.readVarint();
-                cmd = cmdLen & 0x7;
-                length = cmdLen >> 3;
-            }
-
-            length--;
-
-            if (cmd === 1 || cmd === 2) {
-                x += pbf.readSVarint();
-                y += pbf.readSVarint();
-                if (x < x1) x1 = x;
-                if (x > x2) x2 = x;
-                if (y < y1) y1 = y;
-                if (y > y2) y2 = y;
-
-            } else if (cmd !== 7) {
-                throw new Error('unknown command ' + cmd);
-            }
-        }
-
-        return [x1, y1, x2, y2];
-    };
-
-    VectorTileFeature.prototype.toGeoJSON = function(x, y, z) {
-        var size = this.extent * Math.pow(2, z),
-            x0 = this.extent * x,
-            y0 = this.extent * y,
-            coords = this.loadGeometry(),
-            type = VectorTileFeature.types[this.type],
-            i, j;
-
-        function project(line) {
-            for (var j = 0; j < line.length; j++) {
-                var p = line[j], y2 = 180 - (p.y + y0) * 360 / size;
-                line[j] = [
-                    (p.x + x0) * 360 / size - 180,
-                    360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90
-                ];
-            }
-        }
-
-        switch (this.type) {
-            case 1:
-                var points = [];
-                for (i = 0; i < coords.length; i++) {
-                    points[i] = coords[i][0];
-                }
-                coords = points;
-                project(coords);
-                break;
-
-            case 2:
-                for (i = 0; i < coords.length; i++) {
-                    project(coords[i]);
-                }
-                break;
-
-            case 3:
-                coords = classifyRings$1(coords);
-                for (i = 0; i < coords.length; i++) {
-                    for (j = 0; j < coords[i].length; j++) {
-                        project(coords[i][j]);
-                    }
-                }
-                break;
-        }
-
-        if (coords.length === 1) {
-            coords = coords[0];
-        } else {
-            type = 'Multi' + type;
-        }
-
-        var result = {
-            type: "Feature",
-            geometry: {
-                type: type,
-                coordinates: coords
-            },
-            properties: this.properties
-        };
-
-        if ('id' in this) {
-            result.id = this.id;
-        }
-
-        return result;
-    };
-
-    // classifies an array of rings into polygons with outer rings and holes
-
-    function classifyRings$1(rings) {
-        var len = rings.length;
-
-        if (len <= 1) return [rings];
-
-        var polygons = [],
-            polygon,
-            ccw;
-
-        for (var i = 0; i < len; i++) {
-            var area = signedArea(rings[i]);
-            if (area === 0) continue;
-
-            if (ccw === undefined) ccw = area < 0;
-
-            if (ccw === area < 0) {
-                if (polygon) polygons.push(polygon);
-                polygon = [rings[i]];
-
-            } else {
-                polygon.push(rings[i]);
-            }
-        }
-        if (polygon) polygons.push(polygon);
-
-        return polygons;
-    }
-
-    function signedArea(ring) {
-        var sum = 0;
-        for (var i = 0, len = ring.length, j = len - 1, p1, p2; i < len; j = i++) {
-            p1 = ring[i];
-            p2 = ring[j];
-            sum += (p2.x - p1.x) * (p1.y + p2.y);
-        }
-        return sum;
-    }
-
-    function VectorTileLayer(pbf, end) {
-        // Public
-        this.version = 1;
-        this.name = null;
-        this.extent = 4096;
-        this.length = 0;
-
-        // Private
-        this._pbf = pbf;
-        this._keys = [];
-        this._values = [];
-        this._features = [];
-
-        pbf.readFields(readLayer, this, end);
-
-        this.length = this._features.length;
-    }
-
-    function readLayer(tag, layer, pbf) {
-        if (tag === 15) layer.version = pbf.readVarint();
-        else if (tag === 1) layer.name = pbf.readString();
-        else if (tag === 5) layer.extent = pbf.readVarint();
-        else if (tag === 2) layer._features.push(pbf.pos);
-        else if (tag === 3) layer._keys.push(pbf.readString());
-        else if (tag === 4) layer._values.push(readValueMessage(pbf));
-    }
-
-    function readValueMessage(pbf) {
-        var value = null,
-            end = pbf.readVarint() + pbf.pos;
-
-        while (pbf.pos < end) {
-            var tag = pbf.readVarint() >> 3;
-
-            value = tag === 1 ? pbf.readString() :
-                tag === 2 ? pbf.readFloat() :
-                    tag === 3 ? pbf.readDouble() :
-                        tag === 4 ? pbf.readVarint64() :
-                            tag === 5 ? pbf.readVarint() :
-                                tag === 6 ? pbf.readSVarint() :
-                                    tag === 7 ? pbf.readBoolean() : null;
-        }
-
-        return value;
-    }
-
-    // return feature `i` from this layer as a `VectorTileFeature`
-    VectorTileLayer.prototype.feature = function(i) {
-        if (i < 0 || i >= this._features.length) throw new Error('feature index out of bounds');
-
-        this._pbf.pos = this._features[i];
-
-        var end = this._pbf.readVarint() + this._pbf.pos;
-        return new VectorTileFeature(this._pbf, end, this.extent, this._keys, this._values);
-    };
-
-    function VectorTile(pbf, end) {
-        this.layers = pbf.readFields(readTile, {}, end);
-    }
-
-    function readTile(tag, layers, pbf) {
-        if (tag === 3) {
-            var layer = new VectorTileLayer(pbf, pbf.readVarint() + pbf.pos);
-            if (layer.length) layers[layer.name] = layer;
-        }
-    }
-
-    var NUM_PARAMS = 3;
-
-    function GridIndex(extent, n, padding) {
-        var cells = this.cells = [];
-
-        if (extent instanceof ArrayBuffer) {
-            this.arrayBuffer = extent;
-            var array = new Int32Array(this.arrayBuffer);
-            extent = array[0];
-            n = array[1];
-            padding = array[2];
-
-            this.d = n + 2 * padding;
-            for (var k = 0; k < this.d * this.d; k++) {
-                var start = array[NUM_PARAMS + k];
-                var end = array[NUM_PARAMS + k + 1];
-                cells.push(start === end ?
-                        null :
-                        array.subarray(start, end));
-            }
-            var keysOffset = array[NUM_PARAMS + cells.length];
-            var bboxesOffset = array[NUM_PARAMS + cells.length + 1];
-            this.keys = array.subarray(keysOffset, bboxesOffset);
-            this.bboxes = array.subarray(bboxesOffset);
-
-            this.insert = this._insertReadonly;
-
-        } else {
-            this.d = n + 2 * padding;
-            for (var i = 0; i < this.d * this.d; i++) {
-                cells.push([]);
-            }
-            this.keys = [];
-            this.bboxes = [];
-        }
-
-        this.n = n;
-        this.extent = extent;
-        this.padding = padding;
-        this.scale = n / extent;
-        this.uid = 0;
-
-        var p = (padding / n) * extent;
-        this.min = -p;
-        this.max = extent + p;
-    }
-
-
-    GridIndex.prototype.insert = function(key, x1, y1, x2, y2) {
-        this._forEachCell(x1, y1, x2, y2, this._insertCell, this.uid++);
-        this.keys.push(key);
-        this.bboxes.push(x1);
-        this.bboxes.push(y1);
-        this.bboxes.push(x2);
-        this.bboxes.push(y2);
-    };
-
-    GridIndex.prototype._insertReadonly = function() {
-        throw 'Cannot insert into a GridIndex created from an ArrayBuffer.';
-    };
-
-    GridIndex.prototype._insertCell = function(x1, y1, x2, y2, cellIndex, uid) {
-        this.cells[cellIndex].push(uid);
-    };
-
-    GridIndex.prototype.query = function(x1, y1, x2, y2, intersectionTest) {
-        var min = this.min;
-        var max = this.max;
-        if (x1 <= min && y1 <= min && max <= x2 && max <= y2 && !intersectionTest) {
-            // We use `Array#slice` because `this.keys` may be a `Int32Array` and
-            // some browsers (Safari and IE) do not support `TypedArray#slice`
-            // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice#Browser_compatibility
-            return Array.prototype.slice.call(this.keys);
-
-        } else {
-            var result = [];
-            var seenUids = {};
-            this._forEachCell(x1, y1, x2, y2, this._queryCell, result, seenUids, intersectionTest);
-            return result;
-        }
-    };
-
-    GridIndex.prototype._queryCell = function(x1, y1, x2, y2, cellIndex, result, seenUids, intersectionTest) {
-        var cell = this.cells[cellIndex];
-        if (cell !== null) {
-            var keys = this.keys;
-            var bboxes = this.bboxes;
-            for (var u = 0; u < cell.length; u++) {
-                var uid = cell[u];
-                if (seenUids[uid] === undefined) {
-                    var offset = uid * 4;
-                    if (intersectionTest ?
-                        intersectionTest(bboxes[offset + 0], bboxes[offset + 1], bboxes[offset + 2], bboxes[offset + 3]) :
-                        ((x1 <= bboxes[offset + 2]) &&
-                        (y1 <= bboxes[offset + 3]) &&
-                        (x2 >= bboxes[offset + 0]) &&
-                        (y2 >= bboxes[offset + 1]))) {
-                        seenUids[uid] = true;
-                        result.push(keys[uid]);
-                    } else {
-                        seenUids[uid] = false;
-                    }
-                }
-            }
-        }
-    };
-
-    GridIndex.prototype._forEachCell = function(x1, y1, x2, y2, fn, arg1, arg2, intersectionTest) {
-        var cx1 = this._convertToCellCoord(x1);
-        var cy1 = this._convertToCellCoord(y1);
-        var cx2 = this._convertToCellCoord(x2);
-        var cy2 = this._convertToCellCoord(y2);
-        for (var x = cx1; x <= cx2; x++) {
-            for (var y = cy1; y <= cy2; y++) {
-                var cellIndex = this.d * y + x;
-                if (intersectionTest && !intersectionTest(
-                            this._convertFromCellCoord(x),
-                            this._convertFromCellCoord(y),
-                            this._convertFromCellCoord(x + 1),
-                            this._convertFromCellCoord(y + 1))) { continue; }
-                if (fn.call(this, x1, y1, x2, y2, cellIndex, arg1, arg2, intersectionTest)) { return; }
-            }
-        }
-    };
-
-    GridIndex.prototype._convertFromCellCoord = function(x) {
-        return (x - this.padding) / this.scale;
-    };
-
-    GridIndex.prototype._convertToCellCoord = function(x) {
-        return Math.max(0, Math.min(this.d - 1, Math.floor(x * this.scale) + this.padding));
-    };
-
-    GridIndex.prototype.toArrayBuffer = function() {
-        if (this.arrayBuffer) { return this.arrayBuffer; }
-
-        var cells = this.cells;
-
-        var metadataLength = NUM_PARAMS + this.cells.length + 1 + 1;
-        var totalCellLength = 0;
-        for (var i = 0; i < this.cells.length; i++) {
-            totalCellLength += this.cells[i].length;
-        }
-
-        var array = new Int32Array(metadataLength + totalCellLength + this.keys.length + this.bboxes.length);
-        array[0] = this.extent;
-        array[1] = this.n;
-        array[2] = this.padding;
-
-        var offset = metadataLength;
-        for (var k = 0; k < cells.length; k++) {
-            var cell = cells[k];
-            array[NUM_PARAMS + k] = offset;
-            array.set(cell, offset);
-            offset += cell.length;
-        }
-
-        array[NUM_PARAMS + cells.length] = offset;
-        array.set(this.keys, offset);
-        offset += this.keys.length;
-
-        array[NUM_PARAMS + cells.length + 1] = offset;
-        array.set(this.bboxes, offset);
-        offset += this.bboxes.length;
-
-        return array.buffer;
-    };
-
-    WebWorkerTransfer.register('GridIndex', GridIndex, {omit: ['layers', 'patternFeatures']});
-
-    /**
-     * @module util
-     * @private
-     */
-    function Util() {
-    }
-
-    /**
-     * Given a value `t` that varies between 0 and 1, return
-     * an interpolation function that eases between 0 and 1 in a pleasing
-     * cubic in-out fashion.
-     *
-     * @private
-     */
-    Util.easeCubicInOut = function (t) {
-        if (t <= 0) {
-            return 0;
-        }
-        if (t >= 1) {
-            return 1;
-        }
-        var t2 = t * t,
-            t3 = t2 * t;
-        return 4 * (t < 0.5 ? t3 : 3 * (t - t2) + t3 - 0.75);
-    };
-
-    /*
-     * Call an asynchronous function on an array of arguments,
-     * calling `callback` with the completed results of all calls.
-     *
-     * @param array input to each call of the async function.
-     * @param fn an async function with signature (data, callback)
-     * @param callback a callback run after all async work is done.
-     * called with an array, containing the results of each async call.
-     * @private
-     */
-    Util.asyncAll = function (array, fn, callback) {
-        if (!array.length) {
-            return callback(null, []);
-        }
-        var remaining = array.length;
-        var results = new Array(array.length);
-        var error = null;
-        array.forEach(function (item, i) {
-            fn(item, function (err, result) {
-                if (err) {
-                    error = err;
-                }
-                results[i] = ((result     )        ); // https://github.com/facebook/flow/issues/2123
-                if (--remaining === 0) {
-                    callback(error, results);
-                }
-            });
-        });
-    };
-
-    /**
-     * Given a destination object and optionally many source objects,
-     * copy all properties from the source objects into the destination.
-     * The last source object given overrides properties from previous
-     * source objects.
-     *
-     * @param dest destination object
-     * @param sources sources from which properties are pulled
-     * @private
-     */
-    Util.extend = function (dest) {
-        var sources = [], len = arguments.length - 1;
-        while (len-- > 0) sources[ len ] = arguments[ len + 1 ];
-
-        for (var i = 0, list = sources; i < list.length; i += 1) {
-            var src = list[i];
-
-            for (var k in src) {
-                dest[k] = src[k];
-            }
-        }
-        return dest;
-    };
-
-    var id = 1;
-
-    /**
-     * Return a unique numeric id, starting at 1 and incrementing with
-     * each call.
-     *
-     * @returns unique numeric id.
-     * @private
-     */
-    Util.uniqueId = function () {
-        return id++;
-    };
-
-    /**
-     * Return a random UUID (v4). Taken from: https://gist.github.com/jed/982883
-     * @private
-     */
-    Util.uuid = function () {
-        function b(a) {
-            return a ? (a ^ Math.random() * 16 >> a / 4).toString(16) :
-                //$FlowFixMe: Flow doesn't like the implied array literal conversion here
-                ([1e7] + -[1e3] + -4e3 + -8e3 + -1e11).replace(/[018]/g, b);
-        }
-
-        return b();
-    };
-
-    /**
-     * Validate a string to match UUID(v4) of the
-     * form: xxxxxxxx-xxxx-4xxx-[89ab]xxx-xxxxxxxxxxxx
-     * @param str string to validate.
-     * @private
-     */
-    Util.validateUuid = function (str) {
-        return str ? /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(str) : false;
-    };
-
-    /**
-     * Given an array of member function names as strings, replace all of them
-     * with bound versions that will always refer to `context` as `this`. This
-     * is useful for classes where otherwise event bindings would reassign
-     * `this` to the evented object or some other value: this lets you ensure
-     * the `this` value always.
-     *
-     * @param fns list of member function names
-     * @param context the context value
-     * @example
-     * function MyClass() {
-    *   bindAll(['ontimer'], this);
-    *   this.name = 'Tom';
-    * }
-     * MyClass.prototype.ontimer = function() {
-    *   alert(this.name);
-    * };
-     * var myClass = new MyClass();
-     * setTimeout(myClass.ontimer, 100);
-     * @private
-     */
-    Util.bindAll = function (fns, context) {
-        fns.forEach(function (fn) {
-            if (!context[fn]) {
-                return;
-            }
-            context[fn] = context[fn].bind(context);
-        });
-    };
-
-    /**
-     * Determine if a string ends with a particular substring
-     *
-     * @private
-     */
-    Util.endsWith = function (string, suffix) {
-        return string.indexOf(suffix, string.length - suffix.length) !== -1;
-    };
-
-    /**
-     * Create an object by mapping all the values of an existing object while
-     * preserving their keys.
-     *
-     * @private
-     */
-    Util.mapObject = function (input, iterator, context) {
-        var output = {};
-        for (var key in input) {
-            output[key] = iterator.call(context || this, input[key], key, input);
-        }
-        return output;
-    };
-
-    /**
-     * Create an object by filtering out values of an existing object.
-     *
-     * @private
-     */
-    Util.filterObject = function (input, iterator, context) {
-        var output = {};
-        for (var key in input) {
-            if (iterator.call(context || this, input[key], key, input)) {
-                output[key] = input[key];
-            }
-        }
-        return output;
-    };
-
-    /**
-     * Deeply clones two objects.
-     *
-     * @private
-     */
-    Util.clone = function (input) {
-        if (Array.isArray(input)) {
-            return input.map(Util.clone);
-        } else if (typeof input === 'object' && input) {
-            return ((Util.mapObject(input, Util.clone)     )   );
-        } else {
-            return input;
-        }
-    };
-
-    Util.deepEqual = function (a, b) {
-        if (Array.isArray(a)) {
-            if (!Array.isArray(b) || a.length !== b.length) {
-                return false;
-            }
-            for (var i = 0; i < a.length; i++) {
-                if (!Util.deepEqual(a[i], b[i])) {
-                    return false;
-                }
-            }
-            return true;
-        }
-        if (typeof a === 'object' && a !== null && b !== null) {
-            if (!(typeof b === 'object')) {
-                return false;
-            }
-            var keys = Object.keys(a);
-            if (keys.length !== Object.keys(b).length) {
-                return false;
-            }
-            for (var key in a) {
-                if (!Util.deepEqual(a[key], b[key])) {
-                    return false;
-                }
-            }
-            return true;
-        }
-        return a === b;
-    };
-
-    /**
-     * Check if two arrays have at least one common element.
-     *
-     * @private
-     */
-    Util.arraysIntersect = function (a, b) {
-        for (var l = 0; l < a.length; l++) {
-            if (b.indexOf(a[l]) >= 0) {
-                return true;
-            }
-        }
-        return false;
-    };
-
-    /**
-     * Indicates if the provided Points are in a counter clockwise (true) or clockwise (false) order
-     *
-     * @private
-     * @returns true for a counter clockwise set of points
-     */
-    // http://bryceboe.com/2006/10/23/line-segment-intersection-algorithm/
-    Util.isCounterClockwise = function (a, b, c) {
-        return (c.y - a.y) * (b.x - a.x) > (b.y - a.y) * (c.x - a.x);
-    };
-
-    /* global self, WorkerGlobalScope */
-    /**
-     *  Retuns true if the when run in the web-worker context.
-     *
-     * @private
-     * @returns {boolean}
-     */
-    Util.isWorker = function () {
-        return typeof WorkerGlobalScope !== 'undefined' && typeof self !== 'undefined' &&
-            self instanceof WorkerGlobalScope;
-    };
-
-    var _isSafari = null;
-
-    /**
-     * Returns true when run in WebKit derived browsers.
-     * This is used as a workaround for a memory leak in Safari caused by using Transferable objects to
-     * transfer data between WebWorkers and the main thread.
-     * https://github.com/mapbox/mapbox-gl-js/issues/8771
-     *
-     * This should be removed once the underlying Safari issue is fixed.
-     *
-     * @private
-     * @param scope {WindowOrWorkerGlobalScope} Since this function is used both on the main thread and WebWorker context,
-     *      let the calling scope pass in the global scope object.
-     * @returns {boolean}
-     */
-    Util.isSafari = function (scope) {
-        if (_isSafari == null) {
-            var userAgent = scope.navigator ? scope.navigator.userAgent : null;
-            _isSafari = !!scope.safari || !!(userAgent && (/\b(iPad|iPhone|iPod)\b/.test(userAgent) || (!!userAgent.match('Safari') && !userAgent.match('Chrome'))));
-        }
-        return _isSafari;
-    };
-
-    /**
-     * Replace tokens in a string template with values in an object
-     *
-     * @param properties a key/value relationship between tokens and replacements
-     * @param text the template string
-     * @returns the template with tokens replaced
-     * @private
-     */
-    Util.resolveTokens = function (properties, text) {
-        return text.replace(/{([^{}]+)}/g, function (match, key) {
-            return key in properties ? String(properties[key]) : '';
-        });
-    };
-
-    /**
-     * Tracks `let` bindings during expression parsing.
-     * @private
-     */
-    var Scope = function Scope(parent, bindings) {
-        if (bindings === void 0) bindings = [];
-
-        this.parent = parent;
-        this.bindings = {};
-        for (var i = 0, list = bindings; i < list.length; i += 1) {
-            var ref = list[i];
-            var name = ref[0];
-            var expression = ref[1];
-
-            this.bindings[name] = expression;
-        }
-    };
-
-    Scope.prototype.concat = function concat(bindings) {
-        return new Scope(this, bindings);
-    };
-
-    Scope.prototype.get = function get(name) {
-        if (this.bindings[name]) {
-            return this.bindings[name];
-        }
-        if (this.parent) {
-            return this.parent.get(name);
-        }
-        throw new Error((name + " not found in scope."));
-    };
-
-    Scope.prototype.has = function has(name) {
-        if (this.bindings[name]) {
-            return true;
-        }
-        return this.parent ? this.parent.has(name) : false;
-    };
-
-    var ParsingError = /*@__PURE__*/(function (Error) {
-        function ParsingError(key        , message        ) {
-            Error.call(this, message);
-            this.message = message;
-            this.key = key;
-        }
-
-        if ( Error ) ParsingError.__proto__ = Error;
-        ParsingError.prototype = Object.create( Error && Error.prototype );
-        ParsingError.prototype.constructor = ParsingError;
-
-        return ParsingError;
-    }(Error));
-
-    var geometryTypes = ['Unknown', 'Point', 'LineString', 'Polygon'];
-
-    var EvaluationContext = function EvaluationContext() {
-        this.globals = (null );
-        this.feature = null;
-        this.featureState = null;
-        this.formattedSection = null;
-        this._parseColorCache = {};
-        this.availableImages = null;
-    };
-
-    EvaluationContext.prototype.id = function id () {
-        return this.feature && 'id' in this.feature ? this.feature.id : null;
-    };
-
-    EvaluationContext.prototype.geometryType = function geometryType () {
-        return this.feature ? typeof this.feature.type === 'number' ? geometryTypes[this.feature.type] : this.feature.type : null;
-    };
-
-    EvaluationContext.prototype.properties = function properties () {
-        return this.feature && this.feature.properties || {};
-    };
-
-    EvaluationContext.prototype.parseColor = function parseColor (input    )     {
-        var cached = this._parseColorCache[input];
-        if (!cached) {
-            cached = this._parseColorCache[input] = Color.parse(input);
-        }
-        return cached;
-    };
-
-    function isConstant() {
-    }
-
-    isConstant.isFeatureConstant = function(e){
-        if (e instanceof CompoundExpression) {
-            if (e.name === 'get' && e.args.length === 1) {
-                return false;
-            } else if (e.name === 'feature-state') {
-                return false;
-            } else if (e.name === 'has' && e.args.length === 1) {
-                return false;
-            } else if (
-                e.name === 'properties' ||
-                    e.name === 'geometry-type' ||
-                    e.name === 'id'
-                ) {
-                return false;
-            } else if (/^filter-/.test(e.name)) {
-                return false;
-            }
-        }
-
-        var result = true;
-        e.eachChild(function (arg) {
-            if (result && !isConstant.isFeatureConstant(arg)) {
-                result = false;
-            }
-        });
-        return result;
-    };
-
-    isConstant.isStateConstant = function(e){
-        if (e instanceof CompoundExpression) {
-            if (e.name === 'feature-state') {
-                return false;
-            }
-        }
-        var result = true;
-        e.eachChild(function (arg) {
-            if (result && !isConstant.isStateConstant(arg)) {
-                result = false;
-            }
-        });
-        return result;
-    };
-
-    isConstant.isGlobalPropertyConstant = function(e, properties){
-        if (e instanceof CompoundExpression && properties.indexOf(e.name) >= 0) {
-            return false;
-        }
-        var result = true;
-        e.eachChild(function (arg) {
-            if (result && !isConstant.isGlobalPropertyConstant(arg, properties)) {
-                result = false;
-            }
-        });
-        return result;
-    };
-
-    /**
-     * State associated parsing at a given point in an expression tree.
-     * @private
-     */
-    var ParsingContext = function ParsingContext(registry, path, expectedType, scope, errors) {
-        if (path === void 0) path = [];
-        if (scope === void 0) scope = new Scope();
-        if (errors === void 0) errors = [];
-
-        this.registry = registry;
-        this.path = path;
-        this.key = path.map(function (part) {
-            return ("[" + part + "]");
-        }).join('');
-        this.scope = scope;
-        this.errors = errors;
-        this.expectedType = expectedType;
-    };
-
-    /**
-     * @param expr the JSON expression to parse
-     * @param index the optional argument index if this expression is an argument of a parent expression that's being parsed
-     * @param options
-     * @param options.omitTypeAnnotations set true to omit inferred type annotations.  Caller beware: with this option set, the parsed expression's type will NOT satisfy `expectedType` if it would normally be wrapped in an inferred annotation.
-     * @private
-     */
-    ParsingContext.prototype.parse = function parse(expr, index, expectedType, bindings, options) {
-        if (options === void 0) options = {};
-
-        if (index) {
-            return this.concat(index, expectedType, bindings)._parse(expr, options);
-        }
-        return this._parse(expr, options);
-    };
-
-    ParsingContext.prototype._parse = function _parse(expr, options) {
-        if (expr === null || typeof expr === 'string' || typeof expr === 'boolean' || typeof expr === 'number') {
-            expr = ['literal', expr];
-        }
-
-        function annotate(parsed, type, typeAnnotation) {
-            if (typeAnnotation === 'assert') {
-                return new Assertion(type, [parsed]);
-            } else if (typeAnnotation === 'coerce') {
-                return new Coercion(type, [parsed]);
-            } else {
-                return parsed;
-            }
-        }
-
-        if (Array.isArray(expr)) {
-            if (expr.length === 0) {
-                return this.error("Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].");
-            }
-
-            var op = expr[0];
-            if (typeof op !== 'string') {
-                this.error(("Expression name must be a string, but found " + (typeof op) + " instead. If you wanted a literal array, use [\"literal\", [...]]."), 0);
-                return null;
-            }
-
-            var Expr = this.registry[op];
-            if (Expr) {
-                var parsed = Expr.parse(expr, this);
-                if (!parsed) {
-                    return null;
-                }
-
-                if (this.expectedType) {
-                    var expected = this.expectedType;
-                    var actual = parsed.type;
-
-                    // When we expect a number, string, boolean, or array but have a value, wrap it in an assertion.
-                    // When we expect a color or formatted string, but have a string or value, wrap it in a coercion.
-                    // Otherwise, we do static type-checking.
-                    //
-                    // These behaviors are overridable for:
-                    //   * The "coalesce" operator, which needs to omit type annotations.
-                    //   * String-valued properties (e.g. `text-field`), where coercion is more convenient than assertion.
-                    //
-                    if ((expected.kind === 'string' || expected.kind === 'number' || expected.kind === 'boolean' || expected.kind === 'object' || expected.kind === 'array') && actual.kind === 'value') {
-                        parsed = annotate(parsed, expected, options.typeAnnotation || 'assert');
-                    } else if ((expected.kind === 'color' || expected.kind === 'formatted' || expected.kind === 'resolvedImage') && (actual.kind === 'value' || actual.kind === 'string')) {
-                        parsed = annotate(parsed, expected, options.typeAnnotation || 'coerce');
-                    } else if (this.checkSubtype(expected, actual)) {
-                        return null;
-                    }
-                }
-
-                // If an expression's arguments are all literals, we can evaluate
-                // it immediately and replace it with a literal value in the
-                // parsed/compiled result. Expressions that expect an image should
-                // not be resolved here so we can later get the available images.
-                if (!(parsed instanceof Literal) && (parsed.type.kind !== 'resolvedImage') && isConstant()) {
-                    var ec = new EvaluationContext();
-                    try {
-                        parsed = new Literal(parsed.type, parsed.evaluate(ec));
-                    } catch (e) {
-                        this.error(e.message);
-                        return null;
-                    }
-                }
-
-                return parsed;
-            }
-
-            return this.error(("Unknown expression \"" + op + "\". If you wanted a literal array, use [\"literal\", [...]]."), 0);
-        } else if (typeof expr === 'undefined') {
-            return this.error("'undefined' value invalid. Use null instead.");
-        } else if (typeof expr === 'object') {
-            return this.error("Bare objects invalid. Use [\"literal\", {...}] instead.");
-        } else {
-            return this.error(("Expected an array, but found " + (typeof expr) + " instead."));
-        }
-    };
-
-    /**
-     * Returns a copy of this context suitable for parsing the subexpression at
-     * index `index`, optionally appending to 'let' binding map.
-     *
-     * Note that `errors` property, intended for collecting errors while
-     * parsing, is copied by reference rather than cloned.
-     * @private
-     */
-    ParsingContext.prototype.concat = function concat(index, expectedType, bindings) {
-        var path = typeof index === 'number' ? this.path.concat(index) : this.path;
-        var scope = bindings ? this.scope.concat(bindings) : this.scope;
-        return new ParsingContext(
-            this.registry,
-            path,
-            expectedType || null,
-            scope,
-            this.errors
-        );
-    };
-
-    /**
-     * Push a parsing (or type checking) error into the `this.errors`
-     * @param error The message
-     * @param keys Optionally specify the source of the error at a child
-     * of the current expression at `this.key`.
-     * @private
-     */
-    ParsingContext.prototype.error = function error(error$1) {
-        var keys = [], len = arguments.length - 1;
-        while (len-- > 0) keys[ len ] = arguments[ len + 1 ];
-
-        var key = "" + (this.key) + (keys.map(function (k) {
-            return ("[" + k + "]");
-        }).join(''));
-        this.errors.push(new ParsingError(key, error$1));
-    };
-
-    /**
-     * Returns null if `t` is a subtype of `expected`; otherwise returns an
-     * error message and also pushes it to `this.errors`.
-     */
-    ParsingContext.prototype.checkSubtype = function checkSubtype$1(expected, t) {
-        var error = checkSubtype(expected, t);
-        if (error) {
-            this.error(error);
-        }
-        return error;
-    };
-
-    var CompoundExpression$1 = function CompoundExpression(name, type, evaluate, args) {
-        this.name = name;
-        this.type = type;
-        this._evaluate = evaluate;
-        this.args = args;
-    };
-
-    CompoundExpression$1.prototype.evaluate = function evaluate(ctx) {
-        return this._evaluate(ctx, this.args);
-    };
-
-    CompoundExpression$1.prototype.eachChild = function eachChild(fn) {
-        this.args.forEach(fn);
-    };
-
-    CompoundExpression$1.prototype.possibleOutputs = function possibleOutputs() {
-        return [undefined];
-    };
-
-    CompoundExpression$1.prototype.serialize = function serialize() {
-        return [this.name].concat(this.args.map(function (arg) {
-            return arg.serialize();
-        }));
-    };
-
-    CompoundExpression$1.parse = function parse(args, context) {
-        var ref$1;
-
-        var op = (args[0] );
-        var definition = CompoundExpression$1.definitions[op];
-        if (!definition) {
-            return context.error(("Unknown expression \"" + op + "\". If you wanted a literal array, use [\"literal\", [...]]."), 0);
-        }
-
-        // Now check argument types against each signature
-        var type = Array.isArray(definition) ?
-            definition[0] : definition.type;
-
-        var availableOverloads = Array.isArray(definition) ?
-            [
-                [definition[1], definition[2]]
-            ] :
-            definition.overloads;
-
-        var overloads = availableOverloads.filter(function (ref) {
-            var signature = ref[0];
-
-            return (
-                !Array.isArray(signature) || // varags
-                    signature.length === args.length - 1 // correct param count
-                );
-        });
-
-        var signatureContext = (null );
-
-        for (var i$3 = 0, list = overloads; i$3 < list.length; i$3 += 1) {
-            // Use a fresh context for each attempted signature so that, if
-            // we eventually succeed, we haven't polluted `context.errors`.
-            var ref = list[i$3];
-            var params = ref[0];
-            var evaluate = ref[1];
-
-            signatureContext = new ParsingContext(context.registry, context.path, null, context.scope);
-
-            // First parse all the args, potentially coercing to the
-            // types expected by this overload.
-            var parsedArgs = [];
-            var argParseFailed = false;
-            for (var i = 1; i < args.length; i++) {
-                var arg = args[i];
-                var expectedType = Array.isArray(params) ?
-                    params[i - 1] :
-                    params.type;
-
-                var parsed = signatureContext.parse(arg, 1 + parsedArgs.length, expectedType);
-                if (!parsed) {
-                    argParseFailed = true;
-                    break;
-                }
-                parsedArgs.push(parsed);
-            }
-            if (argParseFailed) {
-                // Couldn't coerce args of this overload to expected type, move
-                // on to next one.
-                continue;
-            }
-
-            if (Array.isArray(params)) {
-                if (params.length !== parsedArgs.length) {
-                    signatureContext.error(("Expected " + (params.length) + " arguments, but found " + (parsedArgs.length) + " instead."));
-                    continue;
-                }
-            }
-
-            for (var i$1 = 0; i$1 < parsedArgs.length; i$1++) {
-                var expected = Array.isArray(params) ? params[i$1] : params.type;
-                var arg$1 = parsedArgs[i$1];
-                signatureContext.concat(i$1 + 1).checkSubtype(expected, arg$1.type);
-            }
-
-            if (signatureContext.errors.length === 0) {
-                return new CompoundExpression$1(op, type, evaluate, parsedArgs);
-            }
-        }
-
-        //assert_1(!signatureContext || signatureContext.errors.length > 0);
-
-        if (overloads.length === 1) {
-            (ref$1 = context.errors).push.apply(ref$1, signatureContext.errors);
-        } else {
-            var expected$1 = overloads.length ? overloads : availableOverloads;
-            var signatures = expected$1
-                .map(function (ref) {
-                    var params = ref[0];
-
-                    return stringifySignature(params);
-                })
-                .join(' | ');
-
-            var actualTypes = [];
-            // For error message, re-parse arguments without trying to
-            // apply any coercions
-            for (var i$2 = 1; i$2 < args.length; i$2++) {
-                var parsed$1 = context.parse(args[i$2], 1 + actualTypes.length);
-                if (!parsed$1) {
-                    return null;
-                }
-                actualTypes.push(toString(parsed$1.type));
-            }
-            context.error(("Expected arguments of type " + signatures + ", but found (" + (actualTypes.join(', ')) + ") instead."));
-        }
-
-        return null;
-    };
-
-    CompoundExpression$1.register = function register(registry, definitions) {
-        //assert_1(!CompoundExpression.definitions);
-        CompoundExpression$1.definitions = definitions;
-        for (var name in definitions) {
-            registry[name] = CompoundExpression$1;
-        }
-    };
-
-    function stringifySignature(signature) {
-        if (Array.isArray(signature)) {
-            return ("(" + (signature.map(toString).join(', ')) + ")");
-        } else {
-            return ("(" + (toString(signature.type)) + "...)");
-        }
-    }
-    var NumberType$a = {kind: 'number'};
-    var StringType$8 = {kind: 'string'};
-    var BooleanType$8 = {kind: 'boolean'};
-    var ColorType$5 = {kind: 'color'};
-    var ObjectType$3 = {kind: 'object'};
-    var ValueType$a = {kind: 'value'};
-    var ErrorType = {kind: 'error'};
-    var CollatorType$3 = {kind: 'collator'};
-
-    function array$5(itemType, N) {
-        return {
-            kind: 'array',
-            itemType: itemType,
-            N: N
-        };
-    }
-
-    function varargs(type) {
-        return {type: type};
-    }
-
-    function rgba(ctx, ref) {
-        var r = ref[0];
-        var g = ref[1];
-        var b = ref[2];
-        var a = ref[3];
-
-        r = r.evaluate(ctx);
-        g = g.evaluate(ctx);
-        b = b.evaluate(ctx);
-        var alpha = a ? a.evaluate(ctx) : 1;
-        var error = Values.validateRGBA(r, g, b, alpha);
-        if (error) {
-            throw new RuntimeError(error);
-        }
-        return new Color(r / 255 * alpha, g / 255 * alpha, b / 255 * alpha, alpha);
-    }
-
-    CompoundExpression$1.register(expressions, {
-        'error': [
-            ErrorType,
-            [StringType$8],
-            function (ctx, ref) {
-                var v = ref[0];
-                throw new RuntimeError(v.evaluate(ctx));
-            }
-        ],
-        'typeof': [
-            StringType$8,
-            [ValueType$a],
-            function (ctx, ref) {
-                var v = ref[0];
-
-                return toString(Values.typeOf(v.evaluate(ctx)));
-            }
-        ],
-        'to-rgba': [
-            array$5(NumberType$a, 4),
-            [ColorType$5],
-            function (ctx, ref) {
-                var v = ref[0];
-
-                return v.evaluate(ctx).toArray();
-            }
-        ],
-        'rgb': [
-            ColorType$5,
-            [NumberType$a, NumberType$a, NumberType$a],
-            rgba
-        ],
-        'rgba': [
-            ColorType$5,
-            [NumberType$a, NumberType$a, NumberType$a, NumberType$a],
-            rgba
-        ],
-        'has': {
-            type: BooleanType$8,
-            overloads: [
-                [
-                    [StringType$8],
-                    function (ctx, ref) {
-                        var key = ref[0];
-
-                        return has(key.evaluate(ctx), ctx.properties());
-                    }
-                ],
-                [
-                    [StringType$8, ObjectType$3],
-                    function (ctx, ref) {
-                        var key = ref[0];
-                        var obj = ref[1];
-
-                        return has(key.evaluate(ctx), obj.evaluate(ctx));
-                    }
-                ]
-            ]
-        },
-        'get': {
-            type: ValueType$a,
-            overloads: [
-                [
-                    [StringType$8],
-                    function (ctx, ref) {
-                        var key = ref[0];
-
-                        return get(key.evaluate(ctx), ctx.properties());
-                    }
-                ],
-                [
-                    [StringType$8, ObjectType$3],
-                    function (ctx, ref) {
-                        var key = ref[0];
-                        var obj = ref[1];
-
-                        return get(key.evaluate(ctx), obj.evaluate(ctx));
-                    }
-                ]
-            ]
-        },
-        'feature-state': [
-            ValueType$a,
-            [StringType$8],
-            function (ctx, ref) {
-                var key = ref[0];
-
-                return get(key.evaluate(ctx), ctx.featureState || {});
-            }
-        ],
-        'properties': [
-            ObjectType$3,
-            [],
-            function (ctx) {
-                return ctx.properties();
-            }
-        ],
-        'geometry-type': [
-            StringType$8,
-            [],
-            function (ctx) {
-                return ctx.geometryType();
-            }
-        ],
-        'id': [
-            ValueType$a,
-            [],
-            function (ctx) {
-                return ctx.id();
-            }
-        ],
-        'zoom': [
-            NumberType$a,
-            [],
-            function (ctx) {
-                return ctx.globals.zoom;
-            }
-        ],
-        'heatmap-density': [
-            NumberType$a,
-            [],
-            function (ctx) {
-                return ctx.globals.heatmapDensity || 0;
-            }
-        ],
-        'line-progress': [
-            NumberType$a,
-            [],
-            function (ctx) {
-                return ctx.globals.lineProgress || 0;
-            }
-        ],
-        'accumulated': [
-            ValueType$a,
-            [],
-            function (ctx) {
-                return ctx.globals.accumulated === undefined ? null : ctx.globals.accumulated;
-            }
-        ],
-        '+': [
-            NumberType$a,
-            varargs(NumberType$a),
-            function (ctx, args) {
-                var result = 0;
-                for (var i = 0, list = args; i < list.length; i += 1) {
-                    var arg = list[i];
-
-                    result += arg.evaluate(ctx);
-                }
-                return result;
-            }
-        ],
-        '*': [
-            NumberType$a,
-            varargs(NumberType$a),
-            function (ctx, args) {
-                var result = 1;
-                for (var i = 0, list = args; i < list.length; i += 1) {
-                    var arg = list[i];
-
-                    result *= arg.evaluate(ctx);
-                }
-                return result;
-            }
-        ],
-        '-': {
-            type: NumberType$a,
-            overloads: [
-                [
-                    [NumberType$a, NumberType$a],
-                    function (ctx, ref) {
-                        var a = ref[0];
-                        var b = ref[1];
-
-                        return a.evaluate(ctx) - b.evaluate(ctx);
-                    }
-                ],
-                [
-                    [NumberType$a],
-                    function (ctx, ref) {
-                        var a = ref[0];
-
-                        return -a.evaluate(ctx);
-                    }
-                ]
-            ]
-        },
-        '/': [
-            NumberType$a,
-            [NumberType$a, NumberType$a],
-            function (ctx, ref) {
-                var a = ref[0];
-                var b = ref[1];
-
-                return a.evaluate(ctx) / b.evaluate(ctx);
-            }
-        ],
-        '%': [
-            NumberType$a,
-            [NumberType$a, NumberType$a],
-            function (ctx, ref) {
-                var a = ref[0];
-                var b = ref[1];
-
-                return a.evaluate(ctx) % b.evaluate(ctx);
-            }
-        ],
-        'ln2': [
-            NumberType$a,
-            [],
-            function () {
-                return Math.LN2;
-            }
-        ],
-        'pi': [
-            NumberType$a,
-            [],
-            function () {
-                return Math.PI;
-            }
-        ],
-        'e': [
-            NumberType$a,
-            [],
-            function () {
-                return Math.E;
-            }
-        ],
-        '^': [
-            NumberType$a,
-            [NumberType$a, NumberType$a],
-            function (ctx, ref) {
-                var b = ref[0];
-                var e = ref[1];
-
-                return Math.pow(b.evaluate(ctx), e.evaluate(ctx));
-            }
-        ],
-        'sqrt': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var x = ref[0];
-
-                return Math.sqrt(x.evaluate(ctx));
-            }
-        ],
-        'log10': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.log(n.evaluate(ctx)) / Math.LN10;
-            }
-        ],
-        'ln': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.log(n.evaluate(ctx));
-            }
-        ],
-        'log2': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.log(n.evaluate(ctx)) / Math.LN2;
-            }
-        ],
-        'sin': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.sin(n.evaluate(ctx));
-            }
-        ],
-        'cos': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.cos(n.evaluate(ctx));
-            }
-        ],
-        'tan': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.tan(n.evaluate(ctx));
-            }
-        ],
-        'asin': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.asin(n.evaluate(ctx));
-            }
-        ],
-        'acos': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.acos(n.evaluate(ctx));
-            }
-        ],
-        'atan': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.atan(n.evaluate(ctx));
-            }
-        ],
-        'min': [
-            NumberType$a,
-            varargs(NumberType$a),
-            function (ctx, args) {
-                return Math.min.apply(Math, args.map(function (arg) {
-                    return arg.evaluate(ctx);
-                }));
-            }
-        ],
-        'max': [
-            NumberType$a,
-            varargs(NumberType$a),
-            function (ctx, args) {
-                return Math.max.apply(Math, args.map(function (arg) {
-                    return arg.evaluate(ctx);
-                }));
-            }
-        ],
-        'abs': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.abs(n.evaluate(ctx));
-            }
-        ],
-        'round': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                var v = n.evaluate(ctx);
-                // Javascript's Math.round() rounds towards +Infinity for halfway
-                // values, even when they're negative. It's more common to round
-                // away from 0 (e.g., this is what python and C++ do)
-                return v < 0 ? -Math.round(-v) : Math.round(v);
-            }
-        ],
-        'floor': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.floor(n.evaluate(ctx));
-            }
-        ],
-        'ceil': [
-            NumberType$a,
-            [NumberType$a],
-            function (ctx, ref) {
-                var n = ref[0];
-
-                return Math.ceil(n.evaluate(ctx));
-            }
-        ],
-        'filter-==': [
-            BooleanType$8,
-            [StringType$8, ValueType$a],
-            function (ctx, ref) {
-                var k = ref[0];
-                var v = ref[1];
-
-                return ctx.properties()[(k     ).value] === (v     ).value;
-            }
-        ],
-        'filter-id-==': [
-            BooleanType$8,
-            [ValueType$a],
-            function (ctx, ref) {
-                var v = ref[0];
-
-                return ctx.id() === (v     ).value;
-            }
-        ],
-        'filter-type-==': [
-            BooleanType$8,
-            [StringType$8],
-            function (ctx, ref) {
-                var v = ref[0];
-
-                return ctx.geometryType() === (v     ).value;
-            }
-        ],
-        'filter-<': [
-            BooleanType$8,
-            [StringType$8, ValueType$a],
-            function (ctx, ref) {
-                var k = ref[0];
-                var v = ref[1];
-
-                var a = ctx.properties()[(k     ).value];
-                var b = (v     ).value;
-                return typeof a === typeof b && a < b;
-            }
-        ],
-        'filter-id-<': [
-            BooleanType$8,
-            [ValueType$a],
-            function (ctx, ref) {
-                var v = ref[0];
-
-                var a = ctx.id();
-                var b = (v     ).value;
-                return typeof a === typeof b && a < b;
-            }
-        ],
-        'filter->': [
-            BooleanType$8,
-            [StringType$8, ValueType$a],
-            function (ctx, ref) {
-                var k = ref[0];
-                var v = ref[1];
-
-                var a = ctx.properties()[(k     ).value];
-                var b = (v     ).value;
-                return typeof a === typeof b && a > b;
-            }
-        ],
-        'filter-id->': [
-            BooleanType$8,
-            [ValueType$a],
-            function (ctx, ref) {
-                var v = ref[0];
-
-                var a = ctx.id();
-                var b = (v     ).value;
-                return typeof a === typeof b && a > b;
-            }
-        ],
-        'filter-<=': [
-            BooleanType$8,
-            [StringType$8, ValueType$a],
-            function (ctx, ref) {
-                var k = ref[0];
-                var v = ref[1];
-
-                var a = ctx.properties()[(k     ).value];
-                var b = (v     ).value;
-                return typeof a === typeof b && a <= b;
-            }
-        ],
-        'filter-id-<=': [
-            BooleanType$8,
-            [ValueType$a],
-            function (ctx, ref) {
-                var v = ref[0];
-
-                var a = ctx.id();
-                var b = (v     ).value;
-                return typeof a === typeof b && a <= b;
-            }
-        ],
-        'filter->=': [
-            BooleanType$8,
-            [StringType$8, ValueType$a],
-            function (ctx, ref) {
-                var k = ref[0];
-                var v = ref[1];
-
-                var a = ctx.properties()[(k     ).value];
-                var b = (v     ).value;
-                return typeof a === typeof b && a >= b;
-            }
-        ],
-        'filter-id->=': [
-            BooleanType$8,
-            [ValueType$a],
-            function (ctx, ref) {
-                var v = ref[0];
-
-                var a = ctx.id();
-                var b = (v     ).value;
-                return typeof a === typeof b && a >= b;
-            }
-        ],
-        'filter-has': [
-            BooleanType$8,
-            [ValueType$a],
-            function (ctx, ref) {
-                var k = ref[0];
-
-                return (k     ).value in ctx.properties();
-            }
-        ],
-        'filter-has-id': [
-            BooleanType$8,
-            [],
-            function (ctx) {
-                return ctx.id() !== null;
-            }
-        ],
-        'filter-type-in': [
-            BooleanType$8,
-            [array$5(StringType$8)],
-            function (ctx, ref) {
-                var v = ref[0];
-
-                return (v     ).value.indexOf(ctx.geometryType()) >= 0;
-            }
-        ],
-        'filter-id-in': [
-            BooleanType$8,
-            [array$5(ValueType$a)],
-            function (ctx, ref) {
-                var v = ref[0];
-
-                return (v     ).value.indexOf(ctx.id()) >= 0;
-            }
-        ],
-        'filter-in-small': [
-            BooleanType$8,
-            [StringType$8, array$5(ValueType$a)],
-            // assumes v is an array literal
-            function (ctx, ref) {
-                var k = ref[0];
-                var v = ref[1];
-
-                return (v     ).value.indexOf(ctx.properties()[(k     ).value]) >= 0;
-            }
-        ],
-        'filter-in-large': [
-            BooleanType$8,
-            [StringType$8, array$5(ValueType$a)],
-            // assumes v is a array literal with values sorted in ascending order and of a single type
-            function (ctx, ref) {
-                var k = ref[0];
-                var v = ref[1];
-
-                return binarySearch(ctx.properties()[(k     ).value], (v     ).value, 0, (v     ).value.length - 1);
-            }
-        ],
-        'all': {
-            type: BooleanType$8,
-            overloads: [
-                [
-                    [BooleanType$8, BooleanType$8],
-                    function (ctx, ref) {
-                        var a = ref[0];
-                        var b = ref[1];
-
-                        return a.evaluate(ctx) && b.evaluate(ctx);
-                    }
-                ],
-                [
-                    varargs(BooleanType$8),
-                    function (ctx, args) {
-                        for (var i = 0, list = args; i < list.length; i += 1) {
-                            var arg = list[i];
-
-                            if (!arg.evaluate(ctx)) {
-                                return false;
-                            }
-                        }
-                        return true;
-                    }
-                ]
-            ]
-        },
-        'any': {
-            type: BooleanType$8,
-            overloads: [
-                [
-                    [BooleanType$8, BooleanType$8],
-                    function (ctx, ref) {
-                        var a = ref[0];
-                        var b = ref[1];
-
-                        return a.evaluate(ctx) || b.evaluate(ctx);
-                    }
-                ],
-                [
-                    varargs(BooleanType$8),
-                    function (ctx, args) {
-                        for (var i = 0, list = args; i < list.length; i += 1) {
-                            var arg = list[i];
-
-                            if (arg.evaluate(ctx)) {
-                                return true;
-                            }
-                        }
-                        return false;
-                    }
-                ]
-            ]
-        },
-        '!': [
-            BooleanType$8,
-            [BooleanType$8],
-            function (ctx, ref) {
-                var b = ref[0];
-
-                return !b.evaluate(ctx);
-            }
-        ],
-        'is-supported-script': [
-            BooleanType$8,
-            [StringType$8],
-            // At parse time this will always return true, so we need to exclude this expression with isGlobalPropertyConstant
-            function (ctx, ref) {
-                var s = ref[0];
-
-                var isSupportedScript = ctx.globals && ctx.globals.isSupportedScript;
-                if (isSupportedScript) {
-                    return isSupportedScript(s.evaluate(ctx));
-                }
-                return true;
-            }
-        ],
-        'upcase': [
-            StringType$8,
-            [StringType$8],
-            function (ctx, ref) {
-                var s = ref[0];
-
-                return s.evaluate(ctx).toUpperCase();
-            }
-        ],
-        'downcase': [
-            StringType$8,
-            [StringType$8],
-            function (ctx, ref) {
-                var s = ref[0];
-
-                return s.evaluate(ctx).toLowerCase();
-            }
-        ],
-        'concat': [
-            StringType$8,
-            varargs(ValueType$a),
-            function (ctx, args) {
-                return args.map(function (arg) {
-                    return Values.toString$1(arg.evaluate(ctx));
-                }).join('');
-            }
-        ],
-        'resolved-locale': [
-            StringType$8,
-            [CollatorType$3],
-            function (ctx, ref) {
-                var collator = ref[0];
-
-                return collator.evaluate(ctx).resolvedLocale();
-            }
-        ]
-    });
-
-    var StyleExpression$1 = function StyleExpression(expression, propertySpec) {
-        this.expression = expression;
-        this._warningHistory = {};
-        this._evaluator = new EvaluationContext();
-        this._defaultValue = propertySpec ? getDefaultValue(propertySpec) : null;
-        this._enumValues = propertySpec && propertySpec.type === 'enum' ? propertySpec.values : null;
-    };
-
-    StyleExpression$1.prototype.evaluateWithoutErrorHandling = function evaluateWithoutErrorHandling(globals, feature, featureState, availableImages, formattedSection) {
-        this._evaluator.globals = globals;
-        this._evaluator.feature = feature;
-        this._evaluator.featureState = featureState;
-        this._evaluator.availableImages = availableImages || null;
-        this._evaluator.formattedSection = formattedSection;
-
-        return this.expression.evaluate(this._evaluator);
-    };
-
-    StyleExpression$1.prototype.evaluate = function evaluate(globals, feature, featureState, availableImages, formattedSection) {
-        this._evaluator.globals = globals;
-        this._evaluator.feature = feature || null;
-        this._evaluator.featureState = featureState || null;
-        this._evaluator.availableImages = availableImages || null;
-        this._evaluator.formattedSection = formattedSection || null;
-
-        try {
-            var val = this.expression.evaluate(this._evaluator);
-            // eslint-disable-next-line no-self-compare
-            if (val === null || val === undefined || (typeof val === 'number' && val !== val)) {
-                return this._defaultValue;
-            }
-            if (this._enumValues && !(val in this._enumValues)) {
-                throw new RuntimeError(("Expected value to be one of " + (Object.keys(this._enumValues).map(function (v) {
-                    return JSON.stringify(v);
-                }).join(', ')) + ", but found " + (JSON.stringify(val)) + " instead."));
-            }
-            return val;
-        } catch (e) {
-            if (!this._warningHistory[e.message]) {
-                this._warningHistory[e.message] = true;
-                if (typeof console !== 'undefined') {
-                    console.warn(e.message);
-                }
-            }
-            return this._defaultValue;
-        }
-    };
-
-    function isFunction(value) {
-        return typeof value === 'object' && value !== null && !Array.isArray(value);
-    }
-
-    function getDefaultValue(spec) {
-        if (spec.type === 'color' && isFunction(spec.default)) {
-            // Special case for heatmap-color: it uses the 'default:' to define a
-            // default color ramp, but createExpression expects a simple value to fall
-            // back to in case of runtime errors
-            return new Color(0, 0, 0, 0);
-        } else if (spec.type === 'color') {
-            return Color.parse(spec.default) || null;
-        } else if (spec.default === undefined) {
-            return null;
-        } else {
-            return spec.default;
-        }
-    }
-
-    function Expression() {
-    }
-
-    function success(value) {
-        return {result: 'success', value: value};
-    }
-
-    function error(value) {
-        return {result: 'error', value: value};
-    }
-
-    Expression.isExpression = function (testExpression) {
-        return Array.isArray(testExpression) && testExpression.length > 0 &&
-            typeof testExpression[0] === 'string' && testExpression[0] in expressions;
-    };
-
-    var NumberType$b = {kind: 'number'};
-    var StringType$9 = {kind: 'string'};
-    var BooleanType$9 = {kind: 'boolean'};
-    var ColorType$6 = {kind: 'color'};
-    var ValueType$b = {kind: 'value'};
-    var FormattedType$3 = {kind: 'formatted'};
-    var ResolvedImageType$4 = {kind: 'resolvedImage'};
-
-    function array$6(itemType, N) {
-        return {
-            kind: 'array',
-            itemType: itemType,
-            N: N
-        };
-    }
-
-    function getExpectedType(spec) {
-        var types = {
-            color: ColorType$6,
-            string: StringType$9,
-            number: NumberType$b,
-            enum: StringType$9,
-            boolean: BooleanType$9,
-            formatted: FormattedType$3,
-            resolvedImage: ResolvedImageType$4
-        };
-
-        if (spec.type === 'array') {
-            return array$6(types[spec.value] || ValueType$b, spec.length);
-        }
-
-        return types[spec.type];
-    }
-
-    Expression.createExpression = function (expression, propertySpec) {
-        var parser = new ParsingContext(expressions, [], propertySpec ? getExpectedType(propertySpec) : undefined);
-        // For string-valued properties, coerce to string at the top level rather than asserting.
-        var parsed = parser.parse(expression, undefined, undefined, undefined,
-            propertySpec && propertySpec.type === 'string' ? {typeAnnotation: 'coerce'} : undefined);
-
-        if (!parsed) {
-            //assert_1(parser.errors.length > 0);
-            return error(parser.errors);
-        }
-
-        return success(new StyleExpression$1(parsed, propertySpec));
-    };
-
-
-    function isFunction$1(value) {
-        return typeof value === 'object' && value !== null && !Array.isArray(value);
-    }
-
-    function extend$1(output) {
-        var inputs = [], len = arguments.length - 1;
-        while (len-- > 0) inputs[ len ] = arguments[ len + 1 ];
-
-        for (var i = 0, list = inputs; i < list.length; i += 1) {
-            var input = list[i];
-
-            for (var k in input) {
-                output[k] = input[k];
-            }
-        }
-        return output;
-    }
-
-    function evaluateIdentityFunction(parameters, propertySpec, input) {
-        if (propertySpec.type === 'color') {
-            input = Color$1.parse(input);
-        } else if (propertySpec.type === 'formatted') {
-            input = Formatted.fromString(input.toString());
-        } else if (propertySpec.type === 'resolvedImage') {
-            input = ResolvedImage.fromString(input.toString());
-        } else if (getType(input) !== propertySpec.type && (propertySpec.type !== 'enum' || !propertySpec.values[input])) {
-            input = undefined;
-        }
-        return coalesce(input, parameters.default, propertySpec.default);
-    }
-
-    function createFunction(parameters, propertySpec) {
-        var isColor = propertySpec.type === 'color';
-        var zoomAndFeatureDependent = parameters.stops && typeof parameters.stops[0][0] === 'object';
-        var featureDependent = zoomAndFeatureDependent || parameters.property !== undefined;
-        var zoomDependent = zoomAndFeatureDependent || !featureDependent;
-        var type = parameters.type || (supportsInterpolation(propertySpec) ? 'exponential' : 'interval');
-
-        if (isColor) {
-            parameters = extend$1({}, parameters);
-
-            if (parameters.stops) {
-                parameters.stops = parameters.stops.map(function (stop) {
-                    return [stop[0], Color$1.parse(stop[1])];
-                });
-            }
-
-            if (parameters.default) {
-                parameters.default = Color$1.parse(parameters.default);
-            } else {
-                parameters.default = Color$1.parse(propertySpec.default);
-            }
-        }
-
-        if (parameters.colorSpace && parameters.colorSpace !== 'rgb' && !colorSpaces[parameters.colorSpace]) { // eslint-disable-line import/namespace
-            throw new Error(("Unknown color space: " + (parameters.colorSpace)));
-        }
-
-        var innerFun;
-        var hashedStops;
-        var categoricalKeyType;
-        if (type === 'exponential') {
-            innerFun = evaluateExponentialFunction;
-        } else if (type === 'interval') {
-            innerFun = evaluateIntervalFunction;
-        } else if (type === 'categorical') {
-            innerFun = evaluateCategoricalFunction;
-
-            // For categorical functions, generate an Object as a hashmap of the stops for fast searching
-            hashedStops = Object.create(null);
-            for (var i = 0, list = parameters.stops; i < list.length; i += 1) {
-                var stop = list[i];
-
-                hashedStops[stop[0]] = stop[1];
-            }
-
-            // Infer key type based on first stop key-- used to encforce strict type checking later
-            categoricalKeyType = typeof parameters.stops[0][0];
-
-        } else if (type === 'identity') {
-            innerFun = evaluateIdentityFunction;
-        } else {
-            throw new Error(("Unknown function type \"" + type + "\""));
-        }
-
-        if (zoomAndFeatureDependent) {
-            var featureFunctions = {};
-            var zoomStops = [];
-            for (var s = 0; s < parameters.stops.length; s++) {
-                var stop$1 = parameters.stops[s];
-                var zoom = stop$1[0].zoom;
-                if (featureFunctions[zoom] === undefined) {
-                    featureFunctions[zoom] = {
-                        zoom: zoom,
-                        type: parameters.type,
-                        property: parameters.property,
-                        default: parameters.default,
-                        stops: []
-                    };
-                    zoomStops.push(zoom);
-                }
-                featureFunctions[zoom].stops.push([stop$1[0].value, stop$1[1]]);
-            }
-
-            var featureFunctionStops = [];
-            for (var i$1 = 0, list$1 = zoomStops; i$1 < list$1.length; i$1 += 1) {
-                var z = list$1[i$1];
-
-                featureFunctionStops.push([featureFunctions[z].zoom, createFunction(featureFunctions[z], propertySpec)]);
-            }
-
-            var interpolationType = {name: 'linear'};
-            return {
-                kind: 'composite',
-                interpolationType: interpolationType,
-                interpolationFactor: Interpolate.interpolationFactor.bind(undefined, interpolationType),
-                zoomStops: featureFunctionStops.map(function (s) {
-                    return s[0];
-                }),
-                evaluate: function evaluate(ref, properties) {
-                    var zoom = ref.zoom;
-
-                    return evaluateExponentialFunction({
-                        stops: featureFunctionStops,
-                        base: parameters.base
-                    }, propertySpec, zoom).evaluate(zoom, properties);
-                }
-            };
-        } else if (zoomDependent) {
-            var interpolationType$1 = type === 'exponential' ?
-            {name: 'exponential', base: parameters.base !== undefined ? parameters.base : 1} : null;
-            return {
-                kind: 'camera',
-                interpolationType: interpolationType$1,
-                interpolationFactor: Interpolate.interpolationFactor.bind(undefined, interpolationType$1),
-                zoomStops: parameters.stops.map(function (s) {
-                    return s[0];
-                }),
-                evaluate: function (ref) {
-                    var zoom = ref.zoom;
-
-                    return innerFun(parameters, propertySpec, zoom, hashedStops, categoricalKeyType);
-                }
-            };
-        } else {
-            return {
-                kind: 'source',
-                evaluate: function evaluate(_, feature) {
-                    var value = feature && feature.properties ? feature.properties[parameters.property] : undefined;
-                    if (value === undefined) {
-                        return coalesce(parameters.default, propertySpec.default);
-                    }
-                    return innerFun(parameters, propertySpec, value, hashedStops, categoricalKeyType);
-                }
-            };
-        }
-    }
-
-    function coalesce(a, b, c) {
-        if (a !== undefined) return a;
-        if (b !== undefined) return b;
-        if (c !== undefined) return c;
-    }
-
-    // serialization wrapper for old-style stop functions normalized to the
-    // expression interface
-    var StylePropertyFunction = function StylePropertyFunction(parameters, specification) {
-        this._parameters = parameters;
-        this._specification = specification;
-        extend$1(this, createFunction(this._parameters, this._specification));
-    };
-
-    StylePropertyFunction.deserialize = function deserialize(serialized) {
-        return ((new StylePropertyFunction(serialized._parameters, serialized._specification))                        );
-    };
-
-    StylePropertyFunction.serialize = function serialize(input) {
-        return {
-            _parameters: input._parameters,
-            _specification: input._specification
-        };
-    };
-
-    Expression.normalizePropertyExpression = function (value, specification) {
-        if (isFunction$1(value)) {
-            return (new StylePropertyFunction(value, specification)     );
-
-        } else if (Expression.isExpression(value)) {
-            var expression = createPropertyExpression(value, specification);
-            if (expression.result === 'error') {
-                // this should have been caught in validation
-                throw new Error(expression.value.map(function (err) {
-                    return ((err.key) + ": " + (err.message));
-                }).join(', '));
-            }
-            return expression.value;
-
-        } else {
-            var constant = value;
-            if (typeof value === 'string' && specification.type === 'color') {
-                constant = Color$1.parse(value);
-            }
-            return {
-                kind: 'constant',
-                evaluate: function () {
-                    return constant;
-                }
-            };
-        }
-    };
-
-    function featureFilter() {
-    }
-
-    featureFilter.isExpressionFilter = function (filter) {
-        if (filter === true || filter === false) {
-            return true;
-        }
-
-        if (!Array.isArray(filter) || filter.length === 0) {
-            return false;
-        }
-        switch (filter[0]) {
-            case 'has':
-                return filter.length >= 2 && filter[1] !== '$id' && filter[1] !== '$type';
-
-            case 'in':
-                return filter.length >= 3 && Array.isArray(filter[2]);
-            case '!in':
-            case '!has':
-            case 'none':
-                return false;
-
-            case '==':
-            case '!=':
-            case '>':
-            case '>=':
-            case '<':
-            case '<=':
-                return filter.length !== 3 || (Array.isArray(filter[1]) || Array.isArray(filter[2]));
-
-            case 'any':
-            case 'all':
-                for (var i = 0, list = filter.slice(1); i < list.length; i += 1) {
-                    var f = list[i];
-
-                    if (!featureFilter.isExpressionFilter(f) && typeof f !== 'boolean') {
-                        return false;
-                    }
-                }
-                return true;
-
-            default:
-                return true;
-        }
-    };
-
-    var filterSpec = {
-        'type': 'boolean',
-        'default': false,
-        'transition': false,
-        'property-type': 'data-driven',
-        'expression': {
-            'interpolated': false,
-            'parameters': ['zoom', 'feature']
-        }
-    };
-
-    /**
-     * Given a filter expressed as nested arrays, return a new function
-     * that evaluates whether a given feature (with a .properties or .tags property)
-     * passes its test.
-     *
-     * @private
-     * @param {Array} filter mapbox gl filter
-     * @returns {Function} filter-evaluating function
-     */
-    featureFilter.createFilter = function (filter) {
-        if (filter === null || filter === undefined) {
-            return function () {
-                return true;
-            };
-        }
-
-        if (!featureFilter.isExpressionFilter(filter)) {
-            filter = convertFilter(filter);
-        }
-
-        var compiled = Expression.createExpression(filter, filterSpec);
-        if (compiled.result === 'error') {
-            throw new Error(compiled.value.map(function (err) {
-                return ((err.key) + ": " + (err.message));
-            }).join(', '));
-        } else {
-            return function (globalProperties, feature) {
-                return compiled.value.evaluate(globalProperties, feature);
-            };
-        }
-    };
-
-    // Comparison function to sort numbers and strings
-    function compare(a, b) {
-        return a < b ? -1 : a > b ? 1 : 0;
-    }
-
-    function convertFilter(filter) {
-        if (!filter) {
-            return true;
-        }
-        var op = filter[0];
-        if (filter.length <= 1) {
-            return (op !== 'any');
-        }
-        var converted =
-            op === '==' ? convertComparisonOp(filter[1], filter[2], '==') :
-                op === '!=' ? convertNegation(convertComparisonOp(filter[1], filter[2], '==')) :
-                    op === '<' ||
-                        op === '>' ||
-                        op === '<=' ||
-                        op === '>=' ? convertComparisonOp(filter[1], filter[2], op) :
-                        op === 'any' ? convertDisjunctionOp(filter.slice(1)) :
-                            op === 'all' ? ['all'].concat(filter.slice(1).map(convertFilter)) :
-                                op === 'none' ? ['all'].concat(filter.slice(1).map(convertFilter).map(convertNegation)) :
-                                    op === 'in' ? convertInOp(filter[1], filter.slice(2)) :
-                                        op === '!in' ? convertNegation(convertInOp(filter[1], filter.slice(2))) :
-                                            op === 'has' ? convertHasOp(filter[1]) :
-                                                op === '!has' ? convertNegation(convertHasOp(filter[1])) :
-                                                    true;
-        return converted;
-    }
-
-    function convertComparisonOp(property, value, op) {
-        switch (property) {
-            case '$type':
-                return [("filter-type-" + op), value];
-            case '$id':
-                return [("filter-id-" + op), value];
-            default:
-                return [("filter-" + op), property, value];
-        }
-    }
-
-    function convertDisjunctionOp(filters) {
-        return ['any'].concat(filters.map(convertFilter));
-    }
-
-    function convertInOp(property, values) {
-        if (values.length === 0) {
-            return false;
-        }
-        switch (property) {
-            case '$type':
-                return ["filter-type-in", ['literal', values]];
-            case '$id':
-                return ["filter-id-in", ['literal', values]];
-            default:
-                if (values.length > 200 && !values.some(function (v) {
-                    return typeof v !== typeof values[0];
-                })) {
-                    return ['filter-in-large', property, ['literal', values.sort(compare)]];
-                } else {
-                    return ['filter-in-small', property, ['literal', values]];
-                }
-        }
-    }
-
-    function convertHasOp(property) {
-        switch (property) {
-            case '$type':
-                return true;
-            case '$id':
-                return ["filter-has-id"];
-            default:
-                return ["filter-has", property];
-        }
-    }
-
-    function convertNegation(filter) {
-        return ['!', filter];
-    }
-
-    var FeatureIndexArray$1 = arrayTypes.FeatureIndexArray;
-    var FeatureIndex = function FeatureIndex(tileID, grid, featureIndexArray) {
-        //this.tileID = tileID;
-        this.x = tileID.x;
-        this.y = tileID.y;
-        this.z = tileID.z;
-        this.grid = grid || new GridIndex(EXTENT, 16, 0);
-        this.featureIndexArray = featureIndexArray || new FeatureIndexArray$1();
-    };
-
-    FeatureIndex.prototype.insert = function insert(feature, geometry, featureIndex, sourceLayerIndex, bucketIndex, is3D) {
-        var key = this.featureIndexArray.length;
-        this.featureIndexArray.emplaceBack(featureIndex, sourceLayerIndex, bucketIndex);
-
-        var grid = this.grid;
-
-        for (var r = 0; r < geometry.length; r++) {
-            var ring = geometry[r];
-
-            var bbox = [Infinity, Infinity, -Infinity, -Infinity];
-            for (var i = 0; i < ring.length; i++) {
-                var p = ring[i];
-                bbox[0] = Math.min(bbox[0], p.x);
-                bbox[1] = Math.min(bbox[1], p.y);
-                bbox[2] = Math.max(bbox[2], p.x);
-                bbox[3] = Math.max(bbox[3], p.y);
-            }
-
-            if (bbox[0] < EXTENT &&
-                bbox[1] < EXTENT &&
-                bbox[2] >= 0 &&
-                bbox[3] >= 0) {
-                grid.insert(key, bbox[0], bbox[1], bbox[2], bbox[3]);
-            }
-        }
-    };
-
-    FeatureIndex.prototype.loadVTLayers = function loadVTLayers() {
-        if (!this.vtLayers) {
-            this.vtLayers = new VectorTile(new pbf.Protobuf(this.rawTileData)).layers;
-            this.sourceLayerCoder = new DictionaryCoder(this.vtLayers ? Object.keys(this.vtLayers).sort() : ['_geojsonTileLayer']);
-        }
-        return this.vtLayers;
-    };
-
-    // Finds non-symbol features in this tile at a particular position.
-    FeatureIndex.prototype.query = function query(args, styleLayers, sourceFeatureState) {
-        var this$1 = this;
-
-        this.loadVTLayers();
-
-        var params = args.params || {},
-            pixelsToTileUnits = EXTENT / args.tileSize,
-            filter = featureFilter.createFilter(params.filter);
-
-        var queryGeometry = args.queryGeometry;
-        var queryPadding = 5;
-
-        var bounds = getBounds(queryGeometry);
-        var matching = this.grid.query(bounds.minX - queryPadding, bounds.minY - queryPadding, bounds.maxX + queryPadding, bounds.maxY + queryPadding);
-        matching.sort(topDownFeatureComparator);
-
-        var result = {};
-        var previousIndex;
-        var loop = function (k) {
-            var index = matching[k];
-
-            // don't check the same feature more than once
-            if (index === previousIndex) {
-                return;
-            }
-            previousIndex = index;
-
-            var match = this$1.featureIndexArray.get(index);
-            var featureGeometry = null;
-            this$1.loadMatchingFeature(
-                result,
-                match.bucketIndex,
-                match.sourceLayerIndex,
-                match.featureIndex,
-                filter,
-                params.layers,
-                styleLayers,
-                function (feature, styleLayer) {
-                    if (!featureGeometry) {
-                        featureGeometry = loadGeometry(feature);
-                    }
-                    var featureState = {};
-    //                    if (feature.id) {
-    //                        // `feature-state` expression evaluation requires feature state to be available
-    //                        featureState = sourceFeatureState.getState(styleLayer.sourceLayer || '_geojsonTileLayer', feature.id);
-    //                    }
-                    return styleLayer.queryIntersectsFeature(queryGeometry, feature, featureState, featureGeometry, this$1.z, args.transform, pixelsToTileUnits, args.pixelPosMatrix);
-                }
-            );
-        };
-
-        for (var k = 0; k < matching.length; k++) loop(k);
-
-        return result;
-    };
-
-    FeatureIndex.prototype.loadMatchingFeature = function loadMatchingFeature(result, bucketIndex, sourceLayerIndex, featureIndex, filter, filterLayerIDs, styleLayers, intersectionTest) {
-        if(!defined.defined(bucketIndex) || !defined.defined(sourceLayerIndex) || !defined.defined(featureIndex)){
-            return;
-        }
-
-        var layerIDs = this.bucketLayerIDs[bucketIndex];
-        if (filterLayerIDs && !Util.arraysIntersect(filterLayerIDs, layerIDs)) {
-            return;
-        }
-
-        var sourceLayerName = this.sourceLayerCoder.decode(sourceLayerIndex);
-        var sourceLayer = this.vtLayers[sourceLayerName];
-        var feature = sourceLayer.feature(featureIndex);
-
-        if (!filter(new EvaluationParameters$1(this.z), feature)) {
-            return;
-        }
-
-        for (var l = 0; l < layerIDs.length; l++) {
-            var layerID = layerIDs[l];
-
-            if (filterLayerIDs && filterLayerIDs.indexOf(layerID) < 0) {
-                continue;
-            }
-
-            var styleLayer = styleLayers[layerID];
-            if (!styleLayer) {
-                continue;
-            }
-
-            var intersectionZ = !intersectionTest || intersectionTest(feature, styleLayer);
-            if (!intersectionZ) {
-                // Only applied for non-symbol features
-                continue;
-            }
-
-    //            var geojsonFeature = new Feature(feature, this.z, this.x, this.y);
-    //            (geojsonFeature ).layer = styleLayer.serialize();
-            feature.layer = styleLayer.serialize();
-            var layerResult = result[layerID];
-            if (layerResult === undefined) {
-                layerResult = result[layerID] = [];
-            }
-            layerResult.push({featureIndex: featureIndex, feature: feature, intersectionZ: intersectionZ});
-        }
-    };
-
-    // Given a set of symbol indexes that have already been looked up,
-    // return a matching set of GeoJSONFeatures
-    FeatureIndex.prototype.lookupSymbolFeatures = function lookupSymbolFeatures(symbolFeatureIndexes, bucketIndex, sourceLayerIndex, filterSpec, filterLayerIDs, styleLayers) {
-        var result = {};
-        this.loadVTLayers();
-
-        var filter = createFilter(filterSpec);
-
-        for (var i = 0, list = symbolFeatureIndexes; i < list.length; i += 1) {
-            var symbolFeatureIndex = list[i];
-
-            this.loadMatchingFeature(
-                result,
-                bucketIndex,
-                sourceLayerIndex,
-                symbolFeatureIndex,
-                filter,
-                filterLayerIDs,
-                styleLayers
-            );
-
-        }
-        return result;
-    };
-
-    FeatureIndex.prototype.hasLayer = function hasLayer(id) {
-        for (var i$1 = 0, list$1 = this.bucketLayerIDs; i$1 < list$1.length; i$1 += 1) {
-            var layerIDs = list$1[i$1];
-
-            for (var i = 0, list = layerIDs; i < list.length; i += 1) {
-                var layerID = list[i];
-
-                if (id === layerID) {
-                    return true;
-                }
-            }
-        }
-
-        return false;
-    };
-
-    // register(
-    //     'FeatureIndex',
-    //     FeatureIndex,
-    //     {omit: ['rawTileData', 'sourceLayerCoder']}
-    // );
-
-    function getBounds(geometry) {
-        var minX = Infinity;
-        var minY = Infinity;
-        var maxX = -Infinity;
-        var maxY = -Infinity;
-        for (var i = 0, list = geometry; i < list.length; i += 1) {
-            var p = list[i];
-
-            minX = Math.min(minX, p.x);
-            minY = Math.min(minY, p.y);
-            maxX = Math.max(maxX, p.x);
-            maxY = Math.max(maxY, p.y);
-        }
-        return {minX: minX, minY: minY, maxX: maxX, maxY: maxY};
-    }
-
-    function topDownFeatureComparator(a, b) {
-        return b - a;
-    }
-
-    WebWorkerTransfer.register('FeatureIndex', FeatureIndex, {omit: ['rawTileData', 'sourceLayerCoder', 'vtLayers']});
-
-    const refProperties = ['type', 'source', 'source-layer', 'minzoom', 'maxzoom', 'filter', 'layout'];
-
-    function stringify(obj) {
-        var type = typeof obj;
-        if (type === 'number' || type === 'boolean' || type === 'string' || obj === undefined || obj === null)
-        { return JSON.stringify(obj); }
-
-        if (Array.isArray(obj)) {
-            var str$1 = '[';
-            for (var i$1 = 0, list = obj; i$1 < list.length; i$1 += 1) {
-                var val = list[i$1];
-
-                str$1 += (stringify(val)) + ",";
-            }
-            return (str$1 + "]");
-        }
-
-        var keys = Object.keys(obj).sort();
-
-        var str = '{';
-        for (var i = 0; i < keys.length; i++) {
-            str += (JSON.stringify(keys[i])) + ":" + (stringify(obj[keys[i]])) + ",";
-        }
-        return (str + "}");
-    }
-
-    function getKey(layer) {
-        var key = '';
-        for (var i = 0, list = refProperties; i < list.length; i += 1) {
-            var k = list[i];
-
-            key += "/" + (stringify(layer[k]));
-        }
-        return key;
-    }
-
-    /**
-     * Given an array of layers, return an array of arrays of layers where all
-     * layers in each group have identical layout-affecting properties. These
-     * are the properties that were formerly used by explicit `ref` mechanism
-     * for layers: 'type', 'source', 'source-layer', 'minzoom', 'maxzoom',
-     * 'filter', and 'layout'.
-     *
-     * The input is not modified. The output layers are references to the
-     * input layers.
-     *
-     * @private
-     * @param {Array<Layer>} layers
-     * @param {Object} [cachedKeys] - an object to keep already calculated keys.
-     * @returns {Array<Array<Layer>>}
-     */
-    function groupByLayout(layers, cachedKeys) {
-        var groups = {};
-
-        for (var i = 0; i < layers.length; i++) {
-
-            var k = (cachedKeys && cachedKeys[layers[i].id]) || getKey(layers[i]);
-            // update the cache if there is one
-            if (cachedKeys)
-            { cachedKeys[layers[i].id] = k; }
-
-            var group = groups[k];
-            if (!group) {
-                group = groups[k] = [];
-            }
-            group.push(layers[i]);
-        }
-
-        var result = [];
-
-        for (var k$1 in groups) {
-            result.push(groups[k$1]);
-        }
-
-        return result;
-    }
-
-    var layout$1 = createLayout([
-        {name: 'a_pos', components: 2, type: 'Int16'}
-    ], 4);
-    var members = layout$1.members;
-
-    function addCircleVertex(layoutVertexArray, x, y, extrudeX, extrudeY) {
-        layoutVertexArray.emplaceBack(
-            (x * 2) + ((extrudeX + 1) / 2),
-            (y * 2) + ((extrudeY + 1) / 2));
-    }
-
-    /**
-     * Circles are represented by two triangles.
-     *
-     * Each corner has a pos that is the center of the circle and an extrusion
-     * vector that is where it points.
-     * @private
-     */
-    var CircleBucket = function CircleBucket(options) {
-        this.zoom = options.zoom;
-        this.overscaling = options.overscaling;
-        this.layers = options.layers;
-        this.layerIds = this.layers.map(function (layer) {
-            return layer.id;
-        });
-        this.index = options.index;
-        this.hasPattern = false;
-
-        this.layoutVertexArray = new StructArrayLayout2i4();
-        this.indexArray = new StructArrayLayout3ui6();
-        this.segments = new SegmentVector();
-        this.programConfigurations = new ProgramConfigurationSet(members, options.layers, options.zoom);
-        this.stateDependentLayerIds = this.layers.filter(function (l) {
-            return l.isStateDependent();
-        }).map(function (l) {
-            return l.id;
-        });
-    };
-
-    CircleBucket.prototype.populate = function populate(features, options) {
-        var styleLayer = this.layers[0];
-        var bucketFeatures = [];
-        var circleSortKey = null;
-
-        // Heatmap layers are handled in this bucket and have no evaluated properties, so we check our access
-        if (styleLayer.type === 'circle') {
-            circleSortKey = ((styleLayer )).layout.get('circle-sort-key');
-        }
-
-        for (var i = 0, list = features; i < list.length; i += 1) {
-            var ref = list[i];
-            var feature = ref.feature;
-            var index = ref.index;
-            var sourceLayerIndex = ref.sourceLayerIndex;
-
-            if (this.layers[0]._featureFilter(new EvaluationParameters$1(0), feature)) {
-                var geometry = loadGeometry(feature);
-                var sortKey = circleSortKey ?
-                    circleSortKey.evaluate(feature, {}) :
-                    undefined;
-
-                var bucketFeature = {
-                    id: feature.id,
-                    properties: feature.properties,
-                    type: feature.type,
-                    sourceLayerIndex: sourceLayerIndex,
-                    index: index,
-                    geometry: geometry,
-                    patterns: {},
-                    sortKey: sortKey
-                };
-
-                bucketFeatures.push(bucketFeature);
-            }
-        }
-
-        if (circleSortKey) {
-            bucketFeatures.sort(function (a, b) {
-                // a.sortKey is always a number when in use
-                return ((a.sortKey )    ) - ((b.sortKey )    );
-            });
-        }
-
-        for (var i$1 = 0, list$1 = bucketFeatures; i$1 < list$1.length; i$1 += 1) {
-            var bucketFeature$1 = list$1[i$1];
-
-            var ref$1 = bucketFeature$1;
-            var geometry$1 = ref$1.geometry;
-            var index$1 = ref$1.index;
-            var sourceLayerIndex$1 = ref$1.sourceLayerIndex;
-            var feature$1 = features[index$1].feature;
-
-            this.addFeature(bucketFeature$1, geometry$1, index$1);
-            options.featureIndex.insert(feature$1, geometry$1, index$1, sourceLayerIndex$1, this.index);
-        }
-    };
-
-    CircleBucket.prototype.update = function update(states, vtLayer, imagePositions) {
-        if (!this.stateDependentLayers.length) {
-            return;
-        }
-        this.programConfigurations.updatePaintArrays(states, vtLayer, this.stateDependentLayers, imagePositions);
-    };
-
-    CircleBucket.prototype.isEmpty = function isEmpty() {
-        return this.layoutVertexArray.length === 0;
-    };
-
-    CircleBucket.prototype.uploadPending = function uploadPending() {
-        return !this.uploaded || this.programConfigurations.needsUpload;
-    };
-
-    CircleBucket.prototype.upload = function upload(context) {
-        if (!this.uploaded) {
-            this.layoutVertexBuffer = context.createVertexBuffer(this.layoutVertexArray, members);
-            this.indexBuffer = context.createIndexBuffer(this.indexArray);
-        }
-        this.programConfigurations.upload(context);
-        this.uploaded = true;
-    };
-
-    CircleBucket.prototype.destroy = function destroy() {
-        if (!this.layoutVertexBuffer) {
-            return;
-        }
-        this.layoutVertexBuffer.destroy();
-        this.indexBuffer.destroy();
-        this.programConfigurations.destroy();
-        this.segments.destroy();
-    };
-
-    CircleBucket.prototype.addFeature = function addFeature(feature, geometry, index) {
-        for (var i$1 = 0, list$1 = geometry; i$1 < list$1.length; i$1 += 1) {
-            var ring = list$1[i$1];
-
-            for (var i = 0, list = ring; i < list.length; i += 1) {
-                var point = list[i];
-
-                var x = point.x;
-                var y = point.y;
-
-                // Do not include points that are outside the tile boundaries.
-                if (x < 0 || x >= EXTENT || y < 0 || y >= EXTENT) {
-                    continue;
-                }
-
-                // this geometry will be of the Point type, and we'll derive
-                // two triangles from it.
-                //
-                // ┌─────────┐
-                // │ 3 2 │
-                // │     │
-                // │ 0 1 │
-                // └─────────┘
-
-                var segment = this.segments.prepareSegment(4, this.layoutVertexArray, this.indexArray, feature.sortKey);
-                var index$1 = segment.vertexLength;
-
-                addCircleVertex(this.layoutVertexArray, x, y, -1, -1);
-                addCircleVertex(this.layoutVertexArray, x, y, 1, -1);
-                addCircleVertex(this.layoutVertexArray, x, y, 1, 1);
-                addCircleVertex(this.layoutVertexArray, x, y, -1, 1);
-
-                this.indexArray.emplaceBack(index$1, index$1 + 1, index$1 + 2);
-                this.indexArray.emplaceBack(index$1, index$1 + 3, index$1 + 2);
-
-                segment.vertexLength += 4;
-                segment.primitiveLength += 2;
-            }
-        }
-
-        this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length, feature, index, {});
-    };
-
-    WebWorkerTransfer.register('CircleBucket', CircleBucket, {omit: ['layers']});
-
-    /**
-     * An implementation of `Property` for properties that do not permit data-driven (source or composite) expressions.
-     * This restriction allows us to declare statically that the result of possibly evaluating this kind of property
-     * is in fact always the scalar type `T`, and can be used without further evaluating the value on a per-feature basis.
-     *
-     * @private
-     */
-    var DataConstantProperty = function DataConstantProperty(specification) {
-        this.specification = specification;
-    };
-
-    DataConstantProperty.prototype.possiblyEvaluate = function possiblyEvaluate(value, parameters) {
-        //assert_1(!value.isDataDriven());
-        return value.expression.evaluate(parameters);
-    };
-
-    DataConstantProperty.prototype.interpolate = function interpolate$1(a, b, t) {
-        var interp = (interpolate   )[this.specification.type];
-        if (interp) {
-            return interp(a, b, t);
-        } else {
-            return a;
-        }
-    };
-
-    WebWorkerTransfer.register('DataConstantProperty', DataConstantProperty);
-
-    /**
-     * An implementation of `Property` for properties that permit data-driven (source or composite) expressions.
-     * The result of possibly evaluating this kind of property is `PossiblyEvaluatedPropertyValue<T>`; obtaining
-     * a scalar value `T` requires further evaluation on a per-feature basis.
-     *
-     * @private
-     */
-    var DataDrivenProperty = function DataDrivenProperty(specification, overrides) {
-        this.specification = specification;
-        this.overrides = overrides;
-    };
-
-    DataDrivenProperty.prototype.possiblyEvaluate = function possiblyEvaluate(value, parameters, availableImages) {
-        if (value.expression.kind === 'constant' || value.expression.kind === 'camera') {
-            return new PossiblyEvaluatedPropertyValue$1(this, {kind: 'constant', value: value.expression.evaluate(parameters, (null   ), {}, availableImages)}, parameters);
-        } else {
-            return new PossiblyEvaluatedPropertyValue$1(this, value.expression, parameters);
-        }
-    };
-
-    DataDrivenProperty.prototype.interpolate = function interpolate$2(a, b, t) {
-        // If either possibly-evaluated value is non-constant, give up: we aren't able to interpolate data-driven values.
-        if (a.value.kind !== 'constant' || b.value.kind !== 'constant') {
-            return a;
-        }
-
-        // Special case hack solely for fill-outline-color. The undefined value is subsequently handled in
-        // FillStyleLayer#recalculate, which sets fill-outline-color to the fill-color value if the former
-        // is a PossiblyEvaluatedPropertyValue containing a constant undefined value. In addition to the
-        // return value here, the other source of a PossiblyEvaluatedPropertyValue containing a constant
-        // undefined value is the "default value" for fill-outline-color held in
-        // `Properties#defaultPossiblyEvaluatedValues`, which serves as the prototype of
-        // `PossiblyEvaluated#_values`.
-        if (a.value.value === undefined || b.value.value === undefined) {
-            return new PossiblyEvaluatedPropertyValue$1(this, {kind: 'constant', value: (undefined   )}, a.parameters);
-        }
-
-        var interp = (interpolate   )[this.specification.type];
-        if (interp) {
-            return new PossiblyEvaluatedPropertyValue$1(this, {kind: 'constant', value: interp(a.value.value, b.value.value, t)}, a.parameters);
-        } else {
-            return a;
-        }
-    };
-
-    DataDrivenProperty.prototype.evaluate = function evaluate(value, parameters, feature, featureState, availableImages) {
-        if (value.kind === 'constant') {
-            return value.value;
-        } else {
-            return value.evaluate(parameters, feature, featureState, availableImages);
-        }
-    };
-
-    WebWorkerTransfer.register('DataDrivenProperty', DataDrivenProperty);
-
-    var PropertyValue = function PropertyValue(property, value) {
-        this.property = property;
-        this.value = value;
-        this.expression = Expression.normalizePropertyExpression(value === undefined ? property.specification.default : value, property.specification);
-    };
-
-    PropertyValue.prototype.isDataDriven = function isDataDriven() {
-        return this.expression.kind === 'source' || this.expression.kind === 'composite';
-    };
-
-    PropertyValue.prototype.possiblyEvaluate = function possiblyEvaluate(parameters, availableImages) {
-        return this.property.possiblyEvaluate(this, parameters, availableImages);
-    };
-
-    /**
-     * Given a value `t` that varies between 0 and 1, return
-     * an interpolation function that eases between 0 and 1 in a pleasing
-     * cubic in-out fashion.
-     *
-     * @private
-     */
-    function easeCubicInOut(t        )         {
-        if (t <= 0) { return 0; }
-        if (t >= 1) { return 1; }
-        var t2 = t * t,
-            t3 = t2 * t;
-        return 4 * (t < 0.5 ? t3 : 3 * (t - t2) + t3 - 0.75);
-    }
-
-    /**
-     * `TransitioningPropertyValue` implements the first of two intermediate steps in the evaluation chain of a paint
-     * property value. In this step, transitions between old and new values are handled: as long as the transition is in
-     * progress, `TransitioningPropertyValue` maintains a reference to the prior value, and interpolates between it and
-     * the new value based on the current time and the configured transition duration and delay. The product is the next
-     * step in the evaluation chain: the "possibly evaluated" result type `R`. See below for more on this concept.
-     *
-     * @private
-     */
-    var TransitioningPropertyValue = function TransitioningPropertyValue(property, value, prior, transition, now) {
-        this.property = property;
-        this.value = value;
-        this.begin = now + transition.delay || 0;
-        this.end = this.begin + transition.duration || 0;
-        if (property.specification.transition && (transition.delay || transition.duration)) {
-            this.prior = prior;
-        }
-    };
-
-    TransitioningPropertyValue.prototype.possiblyEvaluate = function possiblyEvaluate(parameters, availableImages) {
-        var now = parameters.now || 0;
-        var finalValue = this.value.possiblyEvaluate(parameters, availableImages);
-        var prior = this.prior;
-        if (!prior) {
-            // No prior value.
-            return finalValue;
-        } else if (now > this.end) {
-            // Transition from prior value is now complete.
-            this.prior = null;
-            return finalValue;
-        } else if (this.value.isDataDriven()) {
-            // Transitions to data-driven properties are not supported.
-            // We snap immediately to the data-driven value so that, when we perform layout,
-            // we see the data-driven function and can use it to populate vertex buffers.
-            this.prior = null;
-            return finalValue;
-        } else if (now < this.begin) {
-            // Transition hasn't started yet.
-            return prior.possiblyEvaluate(parameters, availableImages);
-        } else {
-            // Interpolate between recursively-calculated prior value and final.
-            var t = (now - this.begin) / (this.end - this.begin);
-            return this.property.interpolate(prior.possiblyEvaluate(parameters, availableImages), finalValue, easeCubicInOut(t));
-        }
-    };
-
-    /**
-     * @module util
-     * @private
-     */
-    function Util$1() {
-    }
-
-    /**
-     * Given a value `t` that varies between 0 and 1, return
-     * an interpolation function that eases between 0 and 1 in a pleasing
-     * cubic in-out fashion.
-     *
-     * @private
-     */
-    Util$1.easeCubicInOut = function (t) {
-        if (t <= 0) {
-            return 0;
-        }
-        if (t >= 1) {
-            return 1;
-        }
-        var t2 = t * t,
-            t3 = t2 * t;
-        return 4 * (t < 0.5 ? t3 : 3 * (t - t2) + t3 - 0.75);
-    };
-
-    /*
-     * Call an asynchronous function on an array of arguments,
-     * calling `callback` with the completed results of all calls.
-     *
-     * @param array input to each call of the async function.
-     * @param fn an async function with signature (data, callback)
-     * @param callback a callback run after all async work is done.
-     * called with an array, containing the results of each async call.
-     * @private
-     */
-    Util$1.asyncAll = function (array, fn, callback) {
-        if (!array.length) {
-            return callback(null, []);
-        }
-        var remaining = array.length;
-        var results = new Array(array.length);
-        var error = null;
-        array.forEach(function (item, i) {
-            fn(item, function (err, result) {
-                if (err) {
-                    error = err;
-                }
-                results[i] = ((result     )        ); // https://github.com/facebook/flow/issues/2123
-                if (--remaining === 0) {
-                    callback(error, results);
-                }
-            });
-        });
-    };
-
-    /**
-     * Given a destination object and optionally many source objects,
-     * copy all properties from the source objects into the destination.
-     * The last source object given overrides properties from previous
-     * source objects.
-     *
-     * @param dest destination object
-     * @param sources sources from which properties are pulled
-     * @private
-     */
-    Util$1.extend = function (dest) {
-        var sources = [], len = arguments.length - 1;
-        while (len-- > 0) sources[ len ] = arguments[ len + 1 ];
-
-        for (var i = 0, list = sources; i < list.length; i += 1) {
-            var src = list[i];
-
-            for (var k in src) {
-                dest[k] = src[k];
-            }
-        }
-        return dest;
-    };
-
-    var id$1 = 1;
-
-    /**
-     * Return a unique numeric id, starting at 1 and incrementing with
-     * each call.
-     *
-     * @returns unique numeric id.
-     * @private
-     */
-    Util$1.uniqueId = function () {
-        return id$1++;
-    };
-
-    /**
-     * Return a random UUID (v4). Taken from: https://gist.github.com/jed/982883
-     * @private
-     */
-    Util$1.uuid = function () {
-        function b(a) {
-            return a ? (a ^ Math.random() * 16 >> a / 4).toString(16) :
-                //$FlowFixMe: Flow doesn't like the implied array literal conversion here
-                ([1e7] + -[1e3] + -4e3 + -8e3 + -1e11).replace(/[018]/g, b);
-        }
-
-        return b();
-    };
-
-    /**
-     * Validate a string to match UUID(v4) of the
-     * form: xxxxxxxx-xxxx-4xxx-[89ab]xxx-xxxxxxxxxxxx
-     * @param str string to validate.
-     * @private
-     */
-    Util$1.validateUuid = function (str) {
-        return str ? /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(str) : false;
-    };
-
-    /**
-     * Given an array of member function names as strings, replace all of them
-     * with bound versions that will always refer to `context` as `this`. This
-     * is useful for classes where otherwise event bindings would reassign
-     * `this` to the evented object or some other value: this lets you ensure
-     * the `this` value always.
-     *
-     * @param fns list of member function names
-     * @param context the context value
-     * @example
-     * function MyClass() {
-    *   bindAll(['ontimer'], this);
-    *   this.name = 'Tom';
-    * }
-     * MyClass.prototype.ontimer = function() {
-    *   alert(this.name);
-    * };
-     * var myClass = new MyClass();
-     * setTimeout(myClass.ontimer, 100);
-     * @private
-     */
-    Util$1.bindAll = function (fns, context) {
-        fns.forEach(function (fn) {
-            if (!context[fn]) {
-                return;
-            }
-            context[fn] = context[fn].bind(context);
-        });
-    };
-
-    /**
-     * Determine if a string ends with a particular substring
-     *
-     * @private
-     */
-    Util$1.endsWith = function (string, suffix) {
-        return string.indexOf(suffix, string.length - suffix.length) !== -1;
-    };
-
-    /**
-     * Create an object by mapping all the values of an existing object while
-     * preserving their keys.
-     *
-     * @private
-     */
-    Util$1.mapObject = function (input, iterator, context) {
-        var output = {};
-        for (var key in input) {
-            output[key] = iterator.call(context || this, input[key], key, input);
-        }
-        return output;
-    };
-
-    /**
-     * Create an object by filtering out values of an existing object.
-     *
-     * @private
-     */
-    Util$1.filterObject = function (input, iterator, context) {
-        var output = {};
-        for (var key in input) {
-            if (iterator.call(context || this, input[key], key, input)) {
-                output[key] = input[key];
-            }
-        }
-        return output;
-    };
-
-    /**
-     * Deeply clones two objects.
-     *
-     * @private
-     */
-    Util$1.clone = function (input) {
-        if (Array.isArray(input)) {
-            return input.map(Util$1.clone);
-        } else if (typeof input === 'object' && input) {
-            return ((Util$1.mapObject(input, Util$1.clone)     )   );
-        } else {
-            return input;
-        }
-    };
-
-    Util$1.deepEqual = function (a, b) {
-        if (Array.isArray(a)) {
-            if (!Array.isArray(b) || a.length !== b.length) {
-                return false;
-            }
-            for (var i = 0; i < a.length; i++) {
-                if (!Util$1.deepEqual(a[i], b[i])) {
-                    return false;
-                }
-            }
-            return true;
-        }
-        if (typeof a === 'object' && a !== null && b !== null) {
-            if (!(typeof b === 'object')) {
-                return false;
-            }
-            var keys = Object.keys(a);
-            if (keys.length !== Object.keys(b).length) {
-                return false;
-            }
-            for (var key in a) {
-                if (!Util$1.deepEqual(a[key], b[key])) {
-                    return false;
-                }
-            }
-            return true;
-        }
-        return a === b;
-    };
-
-    /**
-     * Check if two arrays have at least one common element.
-     *
-     * @private
-     */
-    Util$1.arraysIntersect = function (a, b) {
-        for (var l = 0; l < a.length; l++) {
-            if (b.indexOf(a[l]) >= 0) {
-                return true;
-            }
-        }
-        return false;
-    };
-
-    /**
-     * Indicates if the provided Points are in a counter clockwise (true) or clockwise (false) order
-     *
-     * @private
-     * @returns true for a counter clockwise set of points
-     */
-    // http://bryceboe.com/2006/10/23/line-segment-intersection-algorithm/
-    Util$1.isCounterClockwise = function (a, b, c) {
-        return (c.y - a.y) * (b.x - a.x) > (b.y - a.y) * (c.x - a.x);
-    };
-
-    /* global self, WorkerGlobalScope */
-    /**
-     *  Retuns true if the when run in the web-worker context.
-     *
-     * @private
-     * @returns {boolean}
-     */
-    Util$1.isWorker = function () {
-        return typeof WorkerGlobalScope !== 'undefined' && typeof self !== 'undefined' &&
-            self instanceof WorkerGlobalScope;
-    };
-
-    var _isSafari$1 = null;
-
-    /**
-     * Returns true when run in WebKit derived browsers.
-     * This is used as a workaround for a memory leak in Safari caused by using Transferable objects to
-     * transfer data between WebWorkers and the main thread.
-     * https://github.com/mapbox/mapbox-gl-js/issues/8771
-     *
-     * This should be removed once the underlying Safari issue is fixed.
-     *
-     * @private
-     * @param scope {WindowOrWorkerGlobalScope} Since this function is used both on the main thread and WebWorker context,
-     *      let the calling scope pass in the global scope object.
-     * @returns {boolean}
-     */
-    Util$1.isSafari = function (scope) {
-        if (_isSafari$1 == null) {
-            var userAgent = scope.navigator ? scope.navigator.userAgent : null;
-            _isSafari$1 = !!scope.safari || !!(userAgent && (/\b(iPad|iPhone|iPod)\b/.test(userAgent) || (!!userAgent.match('Safari') && !userAgent.match('Chrome'))));
-        }
-        return _isSafari$1;
-    };
-
-    /**
-     * Replace tokens in a string template with values in an object
-     *
-     * @param properties a key/value relationship between tokens and replacements
-     * @param text the template string
-     * @returns the template with tokens replaced
-     * @private
-     */
-    Util$1.resolveTokens = function (properties, text) {
-        return text.replace(/{([^{}]+)}/g, function (match, key) {
-            return key in properties ? String(properties[key]) : '';
-        });
-    };
-
-    /**
-     * Paint properties are _transitionable_: they can change in a fluid manner, interpolating or cross-fading between
-     * old and new value. The duration of the transition, and the delay before it begins, is configurable.
-     *
-     * `TransitionablePropertyValue` is a compositional class that stores both the property value and that transition
-     * configuration.
-     *
-     * A `TransitionablePropertyValue` can calculate the next step in the evaluation chain for paint property values:
-     * `TransitioningPropertyValue`.
-     *
-     * @private
-     */
-    var TransitionablePropertyValue = function TransitionablePropertyValue(property) {
-        this.property = property;
-        this.value = new PropertyValue(property, undefined);
-    };
-
-    TransitionablePropertyValue.prototype.transitioned = function transitioned(parameters, prior) {
-        return new TransitioningPropertyValue(this.property, this.value, prior, // eslint-disable-line no-use-before-define
-            Util$1.extend({}, parameters.transition, this.transition), parameters.now);
-    };
-
-    TransitionablePropertyValue.prototype.untransitioned = function untransitioned() {
-        return new TransitioningPropertyValue(this.property, this.value, null, {}, 0); // eslint-disable-line no-use-before-define
-    };
-
-    /**
-     * A helper type: given an object type `Properties` whose values are each of type `Property<T, R>`, it calculates
-     * an object type with the same keys, and values of type `R`.
-     *
-     * For properties that don't allow data-driven values, `R` is a scalar type such as `number`, `string`, or `Color`.
-     * For data-driven properties, it is `PossiblyEvaluatedPropertyValue`. Critically, the type definitions are set up
-     * in a way that allows flow to know which of these two cases applies for any given property name, and if you attempt
-     * to use a `PossiblyEvaluatedPropertyValue` as if it was a scalar, or vice versa, you will get a type error. (However,
-     * there's at least one case in which flow fails to produce a type error that you should be aware of: in a context such
-     * as `layer.paint.get('foo-opacity') === 0`, if `foo-opacity` is data-driven, than the left-hand side is of type
-     * `PossiblyEvaluatedPropertyValue<number>`, but flow will not complain about comparing this to a number using `===`.
-     * See https://github.com/facebook/flow/issues/2359.)
-     *
-     * There's also a third, special case possiblity for `R`: for cross-faded properties, it's `?CrossFaded<T>`.
-     *
-     * @private
-     */
-
-    /**
-     * `Properties` holds objects containing default values for the layout or paint property set of a given
-     * layer type. These objects are immutable, and they are used as the prototypes for the `_values` members of
-     * `Transitionable`, `Transitioning`, `Layout`, and `PossiblyEvaluated`. This allows these classes to avoid
-     * doing work in the common case where a property has no explicit value set and should be considered to take
-     * on the default value: using `for (const property of Object.keys(this._values))`, they can iterate over
-     * only the _own_ properties of `_values`, skipping repeated calculation of transitions and possible/final
-     * evaluations for defaults, the result of which will always be the same.
-     *
-     * @private
-     */
-    var Properties = function Properties(properties) {
-        this.properties = properties;
-        this.defaultPropertyValues = ({}   );
-        this.defaultTransitionablePropertyValues = ({}   );
-        this.defaultTransitioningPropertyValues = ({}   );
-        this.defaultPossiblyEvaluatedValues = ({}   );
-        this.overridableProperties = ([]   );
-
-        for (var property in properties) {
-            var prop = properties[property];
-            if (prop.specification.overridable) {
-                this.overridableProperties.push(property);
-            }
-            var defaultPropertyValue = this.defaultPropertyValues[property] =
-                new PropertyValue(prop, undefined);
-            var defaultTransitionablePropertyValue = this.defaultTransitionablePropertyValues[property] =
-                new TransitionablePropertyValue(prop);
-            this.defaultTransitioningPropertyValues[property] =
-                defaultTransitionablePropertyValue.untransitioned();
-            this.defaultPossiblyEvaluatedValues[property] =
-                defaultPropertyValue.possiblyEvaluate(({}   ));
-        }
-    };
-
-    function QueryUtils() {
-    }
-
-    QueryUtils.getMaximumPaintValue = function (property, layer, bucket) {
-        var value = ((layer.paint).get(property)).value;
-        if (value.kind === 'constant') {
-            return value.value;
-        } else {
-            var binders = bucket.programConfigurations.get(layer.id).binders;
-            return binders[property].maxValue;
-        }
-    };
-
-    QueryUtils.translateDistance = function (translate) {
-        return Math.sqrt(translate[0] * translate[0] + translate[1] * translate[1]);
-    };
-
-    QueryUtils.translate = function (queryGeometry, translate, translateAnchor, bearing, pixelsToTileUnits) {
-        if (!translate[0] && !translate[1]) {
-            return queryGeometry;
-        }
-        var pt = Point.convert(translate)._mult(pixelsToTileUnits);
-
-        if (translateAnchor === "viewport") {
-            pt._rotate(-bearing);
-        }
-
-        var translated = [];
-        for (var i = 0; i < queryGeometry.length; i++) {
-            var point = queryGeometry[i];
-            translated.push(point.sub(pt));
-        }
-        return translated;
-    };
-
-    /**
-     * `PossiblyEvaluated` stores a map of all (property name, `R`) pairs for paint or layout properties of a
-     * given layer type.
-     * @private
-     */
-    var PossiblyEvaluated = function PossiblyEvaluated(properties) {
-        this._properties = properties;
-        this._values = (Object.create(properties.defaultPossiblyEvaluatedValues)   );
-    };
-
-    PossiblyEvaluated.prototype.get = function get(name) {
-        return this._values[name];
-    };
-
-    /**
-     * Because layout properties are not transitionable, they have a simpler representation and evaluation chain than
-     * paint properties: `PropertyValue`s are possibly evaluated, producing possibly evaluated values, which are then
-     * fully evaluated.
-     *
-     * `Layout` stores a map of all (property name, `PropertyValue`) pairs for layout properties of a
-     * given layer type. It can calculate the possibly-evaluated values for all of them at once, producing a
-     * `PossiblyEvaluated` instance for the same set of properties.
-     *
-     * @private
-     */
-    var Layout = function Layout(properties                 ) {
-        this._properties = properties;
-        this._values = (Object.create(properties.defaultPropertyValues)   );
-    };
-
-    Layout.prototype.getValue = function getValue (name ) {
-        return Util.clone(this._values[name].value);
-    };
-
-    Layout.prototype.setValue = function setValue (name , value ) {
-        this._values[name] = new PropertyValue(this._values[name].property, value === null ? undefined : Util.clone(value));
-    };
-
-    Layout.prototype.serialize = function serialize () {
-        var result    = {};
-        for (var i = 0, list = Object.keys(this._values); i < list.length; i += 1) {
-            var property = list[i];
-
-            var value = this.getValue(property);
-            if (value !== undefined) {
-                result[property] = value;
-            }
-        }
-        return result;
-    };
-
-    Layout.prototype.possiblyEvaluate = function possiblyEvaluate (parameters                    , availableImages              )                         {
-        var result = new PossiblyEvaluated(this._properties); // eslint-disable-line no-use-before-define
-        for (var i = 0, list = Object.keys(this._values); i < list.length; i += 1) {
-            var property = list[i];
-
-            result._values[property] = this._values[property].possiblyEvaluate(parameters, availableImages);
-        }
-        return result;
-    };
-
-    // ------- Transitioning -------
-
-    /**
-     * A helper type: given an object type `Properties` whose values are each of type `Property<T, R>`, it calculates
-     * an object type with the same keys and values of type `TransitioningPropertyValue<T, R>`.
-     *
-     * @private
-     */
-
-
-    /**
-     * `Transitioning` stores a map of all (property name, `TransitioningPropertyValue`) pairs for paint properties of a
-     * given layer type. It can calculate the possibly-evaluated values for all of them at once, producing a
-     * `PossiblyEvaluated` instance for the same set of properties.
-     *
-     * @private
-     */
-    var Transitioning = function Transitioning(properties) {
-        this._properties = properties;
-        this._values = (Object.create(properties.defaultTransitioningPropertyValues)   );
-    };
-
-    Transitioning.prototype.possiblyEvaluate = function possiblyEvaluate(parameters, availableImages) {
-        var result = new PossiblyEvaluated(this._properties); // eslint-disable-line no-use-before-define
-        for (var i = 0, list = Object.keys(this._values); i < list.length; i += 1) {
-            var property = list[i];
-
-            result._values[property] = this._values[property].possiblyEvaluate(parameters, availableImages);
-        }
-        return result;
-    };
-
-    Transitioning.prototype.hasTransition = function hasTransition() {
-        for (var i = 0, list = Object.keys(this._values); i < list.length; i += 1) {
-            var property = list[i];
-
-            if (this._values[property].prior) {
-                return true;
-            }
-        }
-        return false;
-    };
-
-    /**
-     * A helper type: given an object type `Properties` whose values are each of type `Property<T, R>`, it calculates
-     * an object type with the same keys and values of type `TransitionablePropertyValue<T, R>`.
-     *
-     * @private
-     */
-
-
-    /**
-     * `Transitionable` stores a map of all (property name, `TransitionablePropertyValue`) pairs for paint properties of a
-     * given layer type. It can calculate the `TransitioningPropertyValue`s for all of them at once, producing a
-     * `Transitioning` instance for the same set of properties.
-     *
-     * @private
-     */
-    var Transitionable = function Transitionable(properties) {
-        this._properties = properties;
-        this._values = (Object.create(properties.defaultTransitionablePropertyValues)   );
-    };
-
-    Transitionable.prototype.getValue = function getValue(name) {
-        return Util.clone(this._values[name].value.value);
-    };
-
-    Transitionable.prototype.setValue = function setValue(name, value) {
-        if (!this._values.hasOwnProperty(name)) {
-            this._values[name] = new TransitionablePropertyValue(this._values[name].property);
-        }
-        // Note that we do not _remove_ an own property in the case where a value is being reset
-        // to the default: the transition might still be non-default.
-        this._values[name].value = new PropertyValue(this._values[name].property, value === null ? undefined : Util.clone(value));
-    };
-
-    Transitionable.prototype.getTransition = function getTransition(name) {
-        return Util.clone(this._values[name].transition);
-    };
-
-    Transitionable.prototype.setTransition = function setTransition(name, value) {
-        if (!this._values.hasOwnProperty(name)) {
-            this._values[name] = new TransitionablePropertyValue(this._values[name].property);
-        }
-        this._values[name].transition = Util.clone(value) || undefined;
-    };
-
-    Transitionable.prototype.serialize = function serialize() {
-        var result = {};
-        for (var i = 0, list = Object.keys(this._values); i < list.length; i += 1) {
-            var property = list[i];
-
-            var value = this.getValue(property);
-            if (value !== undefined) {
-                result[property] = value;
-            }
-
-            var transition = this.getTransition(property);
-            if (transition !== undefined) {
-                result[(property + "-transition")] = transition;
-            }
-        }
-        return result;
-    };
-
-    Transitionable.prototype.transitioned = function transitioned(parameters, prior) {
-        var result = new Transitioning(this._properties); // eslint-disable-line no-use-before-define
-        for (var i = 0, list = Object.keys(this._values); i < list.length; i += 1) {
-            var property = list[i];
-
-            result._values[property] = this._values[property].transitioned(parameters, prior._values[property]);
-        }
-        return result;
-    };
-
-    Transitionable.prototype.untransitioned = function untransitioned() {
-        var result = new Transitioning(this._properties); // eslint-disable-line no-use-before-define
-        for (var i = 0, list = Object.keys(this._values); i < list.length; i += 1) {
-            var property = list[i];
-
-            result._values[property] = this._values[property].untransitioned();
-        }
-        return result;
-    };
-
-    var TRANSITION_SUFFIX = '-transition';
-
-    function endsWith(string, suffix) {
-        return string.indexOf(suffix, string.length - suffix.length) !== -1;
-    }
-
-    function StyleLayer(layer, properties) {
-        //Evented.call(this);
-
-        this.id = layer.id;
-        this.type = layer.type;
-    //        this._featureFilter = function () {
-    //            return true;
-    //        };
-
-        if (layer.type === 'custom') {
-            return;
-        }
-
-        layer = ((layer));
-
-        this.metadata = layer.metadata;
-        this.minzoom = layer.minzoom;
-        this.maxzoom = layer.maxzoom;
-
-        if (layer.type !== 'background') {
-            this.source = layer.source;
-            this.sourceLayer = layer['source-layer'];
-            this.filter = layer.filter;
-        }
-
-        if (properties.layout) {
-            this._unevaluatedLayout = new Layout(properties.layout);
-        }
-
-        if (properties.paint) {
-            this._transitionablePaint = new Transitionable(properties.paint);
-
-            for (var property in layer.paint) {
-                this.setPaintProperty(property, layer.paint[property], {validate: false});
-            }
-            for (var property$1 in layer.layout) {
-                this.setLayoutProperty(property$1, layer.layout[property$1], {validate: false});
-            }
-
-            this._transitioningPaint = this._transitionablePaint.untransitioned();
-        }
-    }
-
-    //    if (Evented) StyleLayer.__proto__ = Evented;
-    //    StyleLayer.prototype = Object.create(Evented && Evented.prototype);
-    //    StyleLayer.prototype.constructor = StyleLayer;
-
-    StyleLayer.prototype.getCrossfadeParameters = function getCrossfadeParameters() {
-        return this._crossfadeParameters;
-    };
-
-    StyleLayer.prototype.getLayoutProperty = function getLayoutProperty(name) {
-        if (name === 'visibility') {
-            return this.visibility;
-        }
-
-        return this._unevaluatedLayout.getValue(name);
-    };
-
-    StyleLayer.prototype.setLayoutProperty = function setLayoutProperty(name, value, options) {
-
-        if (value !== null && value !== undefined) {
-            var key = "layers." + (this.id) + ".layout." + name;
-    //            if (this._validate(validateLayoutProperty$1, key, name, value, options)) {
-    //                return;
-    //            }
-        }
-
-        if (name === 'visibility') {
-            this.visibility = value;
-            return;
-        }
-
-        this._unevaluatedLayout.setValue(name, value);
-    };
-
-    StyleLayer.prototype.getPaintProperty = function getPaintProperty(name) {
-        if (endsWith(name, TRANSITION_SUFFIX)) {
-            return this._transitionablePaint.getTransition(name.slice(0, -TRANSITION_SUFFIX.length));
-        } else {
-            return this._transitionablePaint.getValue(name);
-        }
-    };
-
-    StyleLayer.prototype.setPaintProperty = function setPaintProperty(name, value, options) {
-
-        if (value !== null && value !== undefined) {
-            var key = "layers." + (this.id) + ".paint." + name;
-    //            if (this._validate(validatePaintProperty$1, key, name, value, options)) {
-    //                return false;
-    //            }
-        }
-
-        if (endsWith(name, TRANSITION_SUFFIX)) {
-            this._transitionablePaint.setTransition(name.slice(0, -TRANSITION_SUFFIX.length), (value     ) || undefined);
-            return false;
-        } else {
-            var transitionable = this._transitionablePaint._values[name];
-            var isCrossFadedProperty = transitionable.property.specification["property-type"] === 'cross-faded-data-driven';
-            var wasDataDriven = transitionable.value.isDataDriven();
-            var oldValue = transitionable.value;
-
-            this._transitionablePaint.setValue(name, value);
-            this._handleSpecialPaintPropertyUpdate(name);
-
-            var newValue = this._transitionablePaint._values[name].value;
-            var isDataDriven = newValue.isDataDriven();
-
-            // if a cross-faded value is changed, we need to make sure the new icons get added to each tile's iconAtlas
-            // so a call to _updateLayer is necessary, and we return true from this function so it gets called in
-            // Style#setPaintProperty
-            return isDataDriven || wasDataDriven || isCrossFadedProperty || this._handleOverridablePaintPropertyUpdate(name, oldValue, newValue);
-        }
-    };
-
-    StyleLayer.prototype._handleSpecialPaintPropertyUpdate = function _handleSpecialPaintPropertyUpdate(_) {
-        // No-op; can be overridden by derived classes.
-    };
-
-    // eslint-disable-next-line no-unused-vars
-    StyleLayer.prototype._handleOverridablePaintPropertyUpdate = function _handleOverridablePaintPropertyUpdate(name, oldValue, newValue) {
-        // No-op; can be overridden by derived classes.
-        return false;
-    };
-
-    StyleLayer.prototype.isHidden = function isHidden(zoom) {
-        if (this.minzoom && zoom < this.minzoom) {
-            return true;
-        }
-        if (this.maxzoom && zoom >= this.maxzoom) {
-            return true;
-        }
-        return this.visibility === 'none';
-    };
-
-    StyleLayer.prototype.updateTransitions = function updateTransitions(parameters) {
-        this._transitioningPaint = this._transitionablePaint.transitioned(parameters, this._transitioningPaint);
-    };
-
-    StyleLayer.prototype.hasTransition = function hasTransition() {
-        return this._transitioningPaint.hasTransition();
-    };
-
-    StyleLayer.prototype.recalculate = function recalculate(parameters, availableImages) {
-        if (parameters.getCrossfadeParameters) {
-            this._crossfadeParameters = parameters.getCrossfadeParameters();
-        }
-
-        if (this._unevaluatedLayout) {
-            (this).layout = this._unevaluatedLayout.possiblyEvaluate(parameters, availableImages);
-        }
-
-        (this).paint = this._transitioningPaint.possiblyEvaluate(parameters, availableImages);
-    };
-
-    StyleLayer.prototype.serialize = function serialize() {
-        var output = {
-            'id': this.id,
-            'type': this.type,
-            'source': this.source,
-            'source-layer': this.sourceLayer,
-            'metadata': this.metadata,
-            'minzoom': this.minzoom,
-            'maxzoom': this.maxzoom,
-            'filter': this.filter,
-            'layout': this._unevaluatedLayout && this._unevaluatedLayout.serialize(),
-            'paint': this._transitionablePaint && this._transitionablePaint.serialize()
-        };
-
-        if (this.visibility) {
-            output.layout = output.layout || {};
-            output.layout.visibility = this.visibility;
-        }
-
-        return Util.filterObject(output, function (value, key) {
-            return value !== undefined && !(key === 'layout' && !Object.keys(value).length) && !(key === 'paint' && !Object.keys(value).length);
-        });
-    };
-
-    StyleLayer.prototype._validate = function _validate(validate, key, name, value, options) {
-        return true;
-    //        if (options === void 0) options = {};
-    //
-    //        if (options && options.validate === false) {
-    //            return false;
-    //        }
-    //        return emitValidationErrors(this, validate.call(validateStyle, {
-    //            key: key,
-    //            layerType: this.type,
-    //            objectKey: name,
-    //            value: value,
-    //            styleSpec: spec,
-    //            // Workaround for https://github.com/mapbox/mapbox-gl-js/issues/2407
-    //            style: {glyphs: true, sprite: true}
-    //        }));
-    };
-
-    StyleLayer.prototype.is3D = function is3D() {
-        return false;
-    };
-
-    StyleLayer.prototype.isTileClipped = function isTileClipped() {
-        return false;
-    };
-
-    StyleLayer.prototype.hasOffscreenPass = function hasOffscreenPass() {
-        return false;
-    };
-
-    StyleLayer.prototype.resize = function resize() {
-        // noop
-    };
-
-    StyleLayer.prototype.isStateDependent = function isStateDependent() {
-        return true;
-    //        for (var property in (this     ).paint._values) {
-    //            var value = (this     ).paint.get(property);
-    //            if (!(value instanceof PossiblyEvaluatedPropertyValue) || !supportsPropertyExpression(value.property.specification)) {
-    //                continue;
-    //            }
-    //
-    //            if ((value.value.kind === 'source' || value.value.kind === 'composite') &&
-    //                value.value.isStateDependent) {
-    //                return true;
-    //            }
-    //        }
-    //        return false;
-    };
-
-    var $version = 8;
-    var $root = {
-        version: {
-            required: true,
-            type: "enum",
-            values: [
-                8
-            ]
-        },
-        name: {
-            type: "string"
-        },
-        metadata: {
-            type: "*"
-        },
-        center: {
-            type: "array",
-            value: "number"
-        },
-        zoom: {
-            type: "number"
-        },
-        bearing: {
-            type: "number",
-            "default": 0,
-            period: 360,
-            units: "degrees"
-        },
-        pitch: {
-            type: "number",
-            "default": 0,
-            units: "degrees"
-        },
-        light: {
-            type: "light"
-        },
-        sources: {
-            required: true,
-            type: "sources"
-        },
-        sprite: {
-            type: "string"
-        },
-        glyphs: {
-            type: "string"
-        },
-        transition: {
-            type: "transition"
-        },
-        layers: {
-            required: true,
-            type: "array",
-            value: "layer"
-        }
-    };
-    var sources = {
-        "*": {
-            type: "source"
-        }
-    };
-    var source = [
-        "source_vector",
-        "source_raster",
-        "source_raster_dem",
-        "source_geojson",
-        "source_video",
-        "source_image"
-    ];
-    var source_vector = {
-        type: {
-            required: true,
-            type: "enum",
-            values: {
-                vector: {
-                }
-            }
-        },
-        url: {
-            type: "string"
-        },
-        tiles: {
-            type: "array",
-            value: "string"
-        },
-        bounds: {
-            type: "array",
-            value: "number",
-            length: 4,
-            "default": [
-                -180,
-                -85.051129,
-                180,
-                85.051129
-            ]
-        },
-        scheme: {
-            type: "enum",
-            values: {
-                xyz: {
-                },
-                tms: {
-                }
-            },
-            "default": "xyz"
-        },
-        minzoom: {
-            type: "number",
-            "default": 0
-        },
-        maxzoom: {
-            type: "number",
-            "default": 22
-        },
-        attribution: {
-            type: "string"
-        },
-        "*": {
-            type: "*"
-        }
-    };
-    var source_raster = {
-        type: {
-            required: true,
-            type: "enum",
-            values: {
-                raster: {
-                }
-            }
-        },
-        url: {
-            type: "string"
-        },
-        tiles: {
-            type: "array",
-            value: "string"
-        },
-        bounds: {
-            type: "array",
-            value: "number",
-            length: 4,
-            "default": [
-                -180,
-                -85.051129,
-                180,
-                85.051129
-            ]
-        },
-        minzoom: {
-            type: "number",
-            "default": 0
-        },
-        maxzoom: {
-            type: "number",
-            "default": 22
-        },
-        tileSize: {
-            type: "number",
-            "default": 512,
-            units: "pixels"
-        },
-        scheme: {
-            type: "enum",
-            values: {
-                xyz: {
-                },
-                tms: {
-                }
-            },
-            "default": "xyz"
-        },
-        attribution: {
-            type: "string"
-        },
-        "*": {
-            type: "*"
-        }
-    };
-    var source_raster_dem = {
-        type: {
-            required: true,
-            type: "enum",
-            values: {
-                "raster-dem": {
-                }
-            }
-        },
-        url: {
-            type: "string"
-        },
-        tiles: {
-            type: "array",
-            value: "string"
-        },
-        bounds: {
-            type: "array",
-            value: "number",
-            length: 4,
-            "default": [
-                -180,
-                -85.051129,
-                180,
-                85.051129
-            ]
-        },
-        minzoom: {
-            type: "number",
-            "default": 0
-        },
-        maxzoom: {
-            type: "number",
-            "default": 22
-        },
-        tileSize: {
-            type: "number",
-            "default": 512,
-            units: "pixels"
-        },
-        attribution: {
-            type: "string"
-        },
-        encoding: {
-            type: "enum",
-            values: {
-                terrarium: {
-                },
-                mapbox: {
-                }
-            },
-            "default": "mapbox"
-        },
-        "*": {
-            type: "*"
-        }
-    };
-    var source_geojson = {
-        type: {
-            required: true,
-            type: "enum",
-            values: {
-                geojson: {
-                }
-            }
-        },
-        data: {
-            type: "*"
-        },
-        maxzoom: {
-            type: "number",
-            "default": 18
-        },
-        attribution: {
-            type: "string"
-        },
-        buffer: {
-            type: "number",
-            "default": 128,
-            maximum: 512,
-            minimum: 0
-        },
-        tolerance: {
-            type: "number",
-            "default": 0.375
-        },
-        cluster: {
-            type: "boolean",
-            "default": false
-        },
-        clusterRadius: {
-            type: "number",
-            "default": 50,
-            minimum: 0
-        },
-        clusterMaxZoom: {
-            type: "number"
-        },
-        clusterProperties: {
-            type: "*"
-        },
-        lineMetrics: {
-            type: "boolean",
-            "default": false
-        },
-        generateId: {
-            type: "boolean",
-            "default": false
-        }
-    };
-    var source_video = {
-        type: {
-            required: true,
-            type: "enum",
-            values: {
-                video: {
-                }
-            }
-        },
-        urls: {
-            required: true,
-            type: "array",
-            value: "string"
-        },
-        coordinates: {
-            required: true,
-            type: "array",
-            length: 4,
-            value: {
-                type: "array",
-                length: 2,
-                value: "number"
-            }
-        }
-    };
-    var source_image = {
-        type: {
-            required: true,
-            type: "enum",
-            values: {
-                image: {
-                }
-            }
-        },
-        url: {
-            required: true,
-            type: "string"
-        },
-        coordinates: {
-            required: true,
-            type: "array",
-            length: 4,
-            value: {
-                type: "array",
-                length: 2,
-                value: "number"
-            }
-        }
-    };
-    var layer = {
-        id: {
-            type: "string",
-            required: true
-        },
-        type: {
-            type: "enum",
-            values: {
-                fill: {
-                },
-                line: {
-                },
-                symbol: {
-                },
-                circle: {
-                },
-                heatmap: {
-                },
-                "fill-extrusion": {
-                },
-                raster: {
-                },
-                hillshade: {
-                },
-                background: {
-                }
-            },
-            required: true
-        },
-        metadata: {
-            type: "*"
-        },
-        source: {
-            type: "string"
-        },
-        "source-layer": {
-            type: "string"
-        },
-        minzoom: {
-            type: "number",
-            minimum: 0,
-            maximum: 24
-        },
-        maxzoom: {
-            type: "number",
-            minimum: 0,
-            maximum: 24
-        },
-        filter: {
-            type: "filter"
-        },
-        layout: {
-            type: "layout"
-        },
-        paint: {
-            type: "paint"
-        }
-    };
-    var layout = [
-        "layout_fill",
-        "layout_line",
-        "layout_circle",
-        "layout_heatmap",
-        "layout_fill-extrusion",
-        "layout_symbol",
-        "layout_raster",
-        "layout_hillshade",
-        "layout_background"
-    ];
-    var layout_background = {
-        visibility: {
-            type: "enum",
-            values: {
-                visible: {
-                },
-                none: {
-                }
-            },
-            "default": "visible",
-            "property-type": "constant"
-        }
-    };
-    var layout_fill = {
-        "fill-sort-key": {
-            type: "number",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        visibility: {
-            type: "enum",
-            values: {
-                visible: {
-                },
-                none: {
-                }
-            },
-            "default": "visible",
-            "property-type": "constant"
-        }
-    };
-    var layout_circle = {
-        "circle-sort-key": {
-            type: "number",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        visibility: {
-            type: "enum",
-            values: {
-                visible: {
-                },
-                none: {
-                }
-            },
-            "default": "visible",
-            "property-type": "constant"
-        }
-    };
-    var layout_heatmap = {
-        visibility: {
-            type: "enum",
-            values: {
-                visible: {
-                },
-                none: {
-                }
-            },
-            "default": "visible",
-            "property-type": "constant"
-        }
-    };
-    var layout_line = {
-        "line-cap": {
-            type: "enum",
-            values: {
-                butt: {
-                },
-                round: {
-                },
-                square: {
-                }
-            },
-            "default": "butt",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "line-join": {
-            type: "enum",
-            values: {
-                bevel: {
-                },
-                round: {
-                },
-                miter: {
-                }
-            },
-            "default": "miter",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "line-miter-limit": {
-            type: "number",
-            "default": 2,
-            requires: [
-                {
-                    "line-join": "miter"
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "line-round-limit": {
-            type: "number",
-            "default": 1.05,
-            requires: [
-                {
-                    "line-join": "round"
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "line-sort-key": {
-            type: "number",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        visibility: {
-            type: "enum",
-            values: {
-                visible: {
-                },
-                none: {
-                }
-            },
-            "default": "visible",
-            "property-type": "constant"
-        }
-    };
-    var layout_symbol = {
-        "symbol-placement": {
-            type: "enum",
-            values: {
-                point: {
-                },
-                line: {
-                },
-                "line-center": {
-                }
-            },
-            "default": "point",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "symbol-spacing": {
-            type: "number",
-            "default": 250,
-            minimum: 1,
-            units: "pixels",
-            requires: [
-                {
-                    "symbol-placement": "line"
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "symbol-avoid-edges": {
-            type: "boolean",
-            "default": false,
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "symbol-sort-key": {
-            type: "number",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "symbol-z-order": {
-            type: "enum",
-            values: {
-                auto: {
-                },
-                "viewport-y": {
-                },
-                source: {
-                }
-            },
-            "default": "auto",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "icon-allow-overlap": {
-            type: "boolean",
-            "default": false,
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "icon-ignore-placement": {
-            type: "boolean",
-            "default": false,
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "icon-optional": {
-            type: "boolean",
-            "default": false,
-            requires: [
-                "icon-image",
-                "text-field"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "icon-rotation-alignment": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                },
-                auto: {
-                }
-            },
-            "default": "auto",
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "icon-size": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            units: "factor of the original icon size",
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "icon-text-fit": {
-            type: "enum",
-            values: {
-                none: {
-                },
-                width: {
-                },
-                height: {
-                },
-                both: {
-                }
-            },
-            "default": "none",
-            requires: [
-                "icon-image",
-                "text-field"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "icon-text-fit-padding": {
-            type: "array",
-            value: "number",
-            length: 4,
-            "default": [
-                0,
-                0,
-                0,
-                0
-            ],
-            units: "pixels",
-            requires: [
-                "icon-image",
-                "text-field",
-                {
-                    "icon-text-fit": [
-                        "both",
-                        "width",
-                        "height"
-                    ]
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "icon-image": {
-            type: "resolvedImage",
-            tokens: true,
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "icon-rotate": {
-            type: "number",
-            "default": 0,
-            period: 360,
-            units: "degrees",
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "icon-padding": {
-            type: "number",
-            "default": 2,
-            minimum: 0,
-            units: "pixels",
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "icon-keep-upright": {
-            type: "boolean",
-            "default": false,
-            requires: [
-                "icon-image",
-                {
-                    "icon-rotation-alignment": "map"
-                },
-                {
-                    "symbol-placement": [
-                        "line",
-                        "line-center"
-                    ]
-                }
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "icon-offset": {
-            type: "array",
-            value: "number",
-            length: 2,
-            "default": [
-                0,
-                0
-            ],
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "icon-anchor": {
-            type: "enum",
-            values: {
-                center: {
-                },
-                left: {
-                },
-                right: {
-                },
-                top: {
-                },
-                bottom: {
-                },
-                "top-left": {
-                },
-                "top-right": {
-                },
-                "bottom-left": {
-                },
-                "bottom-right": {
-                }
-            },
-            "default": "center",
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "icon-pitch-alignment": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                },
-                auto: {
-                }
-            },
-            "default": "auto",
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-pitch-alignment": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                },
-                auto: {
-                }
-            },
-            "default": "auto",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-rotation-alignment": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                },
-                auto: {
-                }
-            },
-            "default": "auto",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-field": {
-            type: "formatted",
-            "default": "",
-            tokens: true,
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-font": {
-            type: "array",
-            value: "string",
-            "default": [
-                "Open Sans Regular",
-                "Arial Unicode MS Regular"
-            ],
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-size": {
-            type: "number",
-            "default": 16,
-            minimum: 0,
-            units: "pixels",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-max-width": {
-            type: "number",
-            "default": 10,
-            minimum: 0,
-            units: "ems",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-line-height": {
-            type: "number",
-            "default": 1.2,
-            units: "ems",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-letter-spacing": {
-            type: "number",
-            "default": 0,
-            units: "ems",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-justify": {
-            type: "enum",
-            values: {
-                auto: {
-                },
-                left: {
-                },
-                center: {
-                },
-                right: {
-                }
-            },
-            "default": "center",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-radial-offset": {
-            type: "number",
-            units: "ems",
-            "default": 0,
-            requires: [
-                "text-field"
-            ],
-            "property-type": "data-driven",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            }
-        },
-        "text-variable-anchor": {
-            type: "array",
-            value: "enum",
-            values: {
-                center: {
-                },
-                left: {
-                },
-                right: {
-                },
-                top: {
-                },
-                bottom: {
-                },
-                "top-left": {
-                },
-                "top-right": {
-                },
-                "bottom-left": {
-                },
-                "bottom-right": {
-                }
-            },
-            requires: [
-                "text-field",
-                {
-                    "symbol-placement": [
-                        "point"
-                    ]
-                }
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-anchor": {
-            type: "enum",
-            values: {
-                center: {
-                },
-                left: {
-                },
-                right: {
-                },
-                top: {
-                },
-                bottom: {
-                },
-                "top-left": {
-                },
-                "top-right": {
-                },
-                "bottom-left": {
-                },
-                "bottom-right": {
-                }
-            },
-            "default": "center",
-            requires: [
-                "text-field",
-                {
-                    "!": "text-variable-anchor"
-                }
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-max-angle": {
-            type: "number",
-            "default": 45,
-            units: "degrees",
-            requires: [
-                "text-field",
-                {
-                    "symbol-placement": [
-                        "line",
-                        "line-center"
-                    ]
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-writing-mode": {
-            type: "array",
-            value: "enum",
-            values: {
-                horizontal: {
-                },
-                vertical: {
-                }
-            },
-            requires: [
-                "text-field",
-                {
-                    "symbol-placement": [
-                        "point"
-                    ]
-                }
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-rotate": {
-            type: "number",
-            "default": 0,
-            period: 360,
-            units: "degrees",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-padding": {
-            type: "number",
-            "default": 2,
-            minimum: 0,
-            units: "pixels",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-keep-upright": {
-            type: "boolean",
-            "default": true,
-            requires: [
-                "text-field",
-                {
-                    "text-rotation-alignment": "map"
-                },
-                {
-                    "symbol-placement": [
-                        "line",
-                        "line-center"
-                    ]
-                }
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-transform": {
-            type: "enum",
-            values: {
-                none: {
-                },
-                uppercase: {
-                },
-                lowercase: {
-                }
-            },
-            "default": "none",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-offset": {
-            type: "array",
-            value: "number",
-            units: "ems",
-            length: 2,
-            "default": [
-                0,
-                0
-            ],
-            requires: [
-                "text-field",
-                {
-                    "!": "text-radial-offset"
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-allow-overlap": {
-            type: "boolean",
-            "default": false,
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-ignore-placement": {
-            type: "boolean",
-            "default": false,
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-optional": {
-            type: "boolean",
-            "default": false,
-            requires: [
-                "text-field",
-                "icon-image"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        visibility: {
-            type: "enum",
-            values: {
-                visible: {
-                },
-                none: {
-                }
-            },
-            "default": "visible",
-            "property-type": "constant"
-        }
-    };
-    var layout_raster = {
-        visibility: {
-            type: "enum",
-            values: {
-                visible: {
-                },
-                none: {
-                }
-            },
-            "default": "visible",
-            "property-type": "constant"
-        }
-    };
-    var layout_hillshade = {
-        visibility: {
-            type: "enum",
-            values: {
-                visible: {
-                },
-                none: {
-                }
-            },
-            "default": "visible",
-            "property-type": "constant"
-        }
-    };
-    var filter = {
-        type: "array",
-        value: "*"
-    };
-    var filter_operator = {
-        type: "enum",
-        values: {
-            "==": {
-            },
-            "!=": {
-            },
-            ">": {
-            },
-            ">=": {
-            },
-            "<": {
-            },
-            "<=": {
-            },
-            "in": {
-            },
-            "!in": {
-            },
-            all: {
-            },
-            any: {
-            },
-            none: {
-            },
-            has: {
-            },
-            "!has": {
-            }
-        }
-    };
-    var geometry_type = {
-        type: "enum",
-        values: {
-            Point: {
-            },
-            LineString: {
-            },
-            Polygon: {
-            }
-        }
-    };
-    var function_stop = {
-        type: "array",
-        minimum: 0,
-        maximum: 24,
-        value: [
-            "number",
-            "color"
-        ],
-        length: 2
-    };
-    var expression = {
-        type: "array",
-        value: "*",
-        minimum: 1
-    };
-    var expression_name = {
-        type: "enum",
-        values: {
-            "let": {
-                group: "Variable binding"
-            },
-            "var": {
-                group: "Variable binding"
-            },
-            literal: {
-                group: "Types"
-            },
-            array: {
-                group: "Types"
-            },
-            at: {
-                group: "Lookup"
-            },
-            "in": {
-                group: "Lookup"
-            },
-            "case": {
-                group: "Decision"
-            },
-            match: {
-                group: "Decision"
-            },
-            coalesce: {
-                group: "Decision"
-            },
-            step: {
-                group: "Ramps, scales, curves"
-            },
-            interpolate: {
-                group: "Ramps, scales, curves"
-            },
-            "interpolate-hcl": {
-                group: "Ramps, scales, curves"
-            },
-            "interpolate-lab": {
-                group: "Ramps, scales, curves"
-            },
-            ln2: {
-                group: "Math"
-            },
-            pi: {
-                group: "Math"
-            },
-            e: {
-                group: "Math"
-            },
-            "typeof": {
-                group: "Types"
-            },
-            string: {
-                group: "Types"
-            },
-            number: {
-                group: "Types"
-            },
-            boolean: {
-                group: "Types"
-            },
-            object: {
-                group: "Types"
-            },
-            collator: {
-                group: "Types"
-            },
-            format: {
-                group: "Types"
-            },
-            image: {
-                group: "Types"
-            },
-            "number-format": {
-                group: "Types"
-            },
-            "to-string": {
-                group: "Types"
-            },
-            "to-number": {
-                group: "Types"
-            },
-            "to-boolean": {
-                group: "Types"
-            },
-            "to-rgba": {
-                group: "Color"
-            },
-            "to-color": {
-                group: "Types"
-            },
-            rgb: {
-                group: "Color"
-            },
-            rgba: {
-                group: "Color"
-            },
-            get: {
-                group: "Lookup"
-            },
-            has: {
-                group: "Lookup"
-            },
-            length: {
-                group: "Lookup"
-            },
-            properties: {
-                group: "Feature data"
-            },
-            "feature-state": {
-                group: "Feature data"
-            },
-            "geometry-type": {
-                group: "Feature data"
-            },
-            id: {
-                group: "Feature data"
-            },
-            zoom: {
-                group: "Zoom"
-            },
-            "heatmap-density": {
-                group: "Heatmap"
-            },
-            "line-progress": {
-                group: "Feature data"
-            },
-            accumulated: {
-                group: "Feature data"
-            },
-            "+": {
-                group: "Math"
-            },
-            "*": {
-                group: "Math"
-            },
-            "-": {
-                group: "Math"
-            },
-            "/": {
-                group: "Math"
-            },
-            "%": {
-                group: "Math"
-            },
-            "^": {
-                group: "Math"
-            },
-            sqrt: {
-                group: "Math"
-            },
-            log10: {
-                group: "Math"
-            },
-            ln: {
-                group: "Math"
-            },
-            log2: {
-                group: "Math"
-            },
-            sin: {
-                group: "Math"
-            },
-            cos: {
-                group: "Math"
-            },
-            tan: {
-                group: "Math"
-            },
-            asin: {
-                group: "Math"
-            },
-            acos: {
-                group: "Math"
-            },
-            atan: {
-                group: "Math"
-            },
-            min: {
-                group: "Math"
-            },
-            max: {
-                group: "Math"
-            },
-            round: {
-                group: "Math"
-            },
-            abs: {
-                group: "Math"
-            },
-            ceil: {
-                group: "Math"
-            },
-            floor: {
-                group: "Math"
-            },
-            "==": {
-                group: "Decision"
-            },
-            "!=": {
-                group: "Decision"
-            },
-            ">": {
-                group: "Decision"
-            },
-            "<": {
-                group: "Decision"
-            },
-            ">=": {
-                group: "Decision"
-            },
-            "<=": {
-                group: "Decision"
-            },
-            all: {
-                group: "Decision"
-            },
-            any: {
-                group: "Decision"
-            },
-            "!": {
-                group: "Decision"
-            },
-            "is-supported-script": {
-                group: "String"
-            },
-            upcase: {
-                group: "String"
-            },
-            downcase: {
-                group: "String"
-            },
-            concat: {
-                group: "String"
-            },
-            "resolved-locale": {
-                group: "String"
-            }
-        }
-    };
-    var light = {
-        anchor: {
-            type: "enum",
-            "default": "viewport",
-            values: {
-                map: {
-                },
-                viewport: {
-                }
-            },
-            "property-type": "data-constant",
-            transition: false,
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            }
-        },
-        position: {
-            type: "array",
-            "default": [
-                1.15,
-                210,
-                30
-            ],
-            length: 3,
-            value: "number",
-            "property-type": "data-constant",
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            }
-        },
-        color: {
-            type: "color",
-            "property-type": "data-constant",
-            "default": "#ffffff",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            transition: true
-        },
-        intensity: {
-            type: "number",
-            "property-type": "data-constant",
-            "default": 0.5,
-            minimum: 0,
-            maximum: 1,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            transition: true
-        }
-    };
-    var paint = [
-        "paint_fill",
-        "paint_line",
-        "paint_circle",
-        "paint_heatmap",
-        "paint_fill-extrusion",
-        "paint_symbol",
-        "paint_raster",
-        "paint_hillshade",
-        "paint_background"
-    ];
-    var paint_fill = {
-        "fill-antialias": {
-            type: "boolean",
-            "default": true,
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "fill-opacity": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "fill-color": {
-            type: "color",
-            "default": "#000000",
-            transition: true,
-            requires: [
-                {
-                    "!": "fill-pattern"
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "fill-outline-color": {
-            type: "color",
-            transition: true,
-            requires: [
-                {
-                    "!": "fill-pattern"
-                },
-                {
-                    "fill-antialias": true
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "fill-translate": {
-            type: "array",
-            value: "number",
-            length: 2,
-            "default": [
-                0,
-                0
-            ],
-            transition: true,
-            units: "pixels",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "fill-translate-anchor": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                }
-            },
-            "default": "map",
-            requires: [
-                "fill-translate"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "fill-pattern": {
-            type: "resolvedImage",
-            transition: true,
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "cross-faded-data-driven"
-        }
-    };
-    var paint_line = {
-        "line-opacity": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "line-color": {
-            type: "color",
-            "default": "#000000",
-            transition: true,
-            requires: [
-                {
-                    "!": "line-pattern"
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "line-translate": {
-            type: "array",
-            value: "number",
-            length: 2,
-            "default": [
-                0,
-                0
-            ],
-            transition: true,
-            units: "pixels",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "line-translate-anchor": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                }
-            },
-            "default": "map",
-            requires: [
-                "line-translate"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "line-width": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            transition: true,
-            units: "pixels",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "line-gap-width": {
-            type: "number",
-            "default": 0,
-            minimum: 0,
-            transition: true,
-            units: "pixels",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "line-offset": {
-            type: "number",
-            "default": 0,
-            transition: true,
-            units: "pixels",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "line-blur": {
-            type: "number",
-            "default": 0,
-            minimum: 0,
-            transition: true,
-            units: "pixels",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "line-dasharray": {
-            type: "array",
-            value: "number",
-            minimum: 0,
-            transition: true,
-            units: "line widths",
-            requires: [
-                {
-                    "!": "line-pattern"
-                }
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "cross-faded"
-        },
-        "line-pattern": {
-            type: "resolvedImage",
-            transition: true,
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom",
-                    "feature"
-                ]
-            },
-            "property-type": "cross-faded-data-driven"
-        },
-        "line-gradient": {
-            type: "color",
-            transition: false,
-            requires: [
-                {
-                    "!": "line-dasharray"
-                },
-                {
-                    "!": "line-pattern"
-                },
-                {
-                    source: "geojson",
-                    has: {
-                        lineMetrics: true
-                    }
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "line-progress"
-                ]
-            },
-            "property-type": "color-ramp"
-        }
-    };
-    var paint_circle = {
-        "circle-radius": {
-            type: "number",
-            "default": 5,
-            minimum: 0,
-            transition: true,
-            units: "pixels",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "circle-color": {
-            type: "color",
-            "default": "#000000",
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "circle-blur": {
-            type: "number",
-            "default": 0,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "circle-opacity": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "circle-translate": {
-            type: "array",
-            value: "number",
-            length: 2,
-            "default": [
-                0,
-                0
-            ],
-            transition: true,
-            units: "pixels",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "circle-translate-anchor": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                }
-            },
-            "default": "map",
-            requires: [
-                "circle-translate"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "circle-pitch-scale": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                }
-            },
-            "default": "map",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "circle-pitch-alignment": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                }
-            },
-            "default": "viewport",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "circle-stroke-width": {
-            type: "number",
-            "default": 0,
-            minimum: 0,
-            transition: true,
-            units: "pixels",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "circle-stroke-color": {
-            type: "color",
-            "default": "#000000",
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "circle-stroke-opacity": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        }
-    };
-    var paint_heatmap = {
-        "heatmap-radius": {
-            type: "number",
-            "default": 30,
-            minimum: 1,
-            transition: true,
-            units: "pixels",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "heatmap-weight": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            transition: false,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "heatmap-intensity": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "heatmap-color": {
-            type: "color",
-            "default": [
-                "interpolate",
-                [
-                    "linear"
-                ],
-                [
-                    "heatmap-density"
-                ],
-                0,
-                "rgba(0, 0, 255, 0)",
-                0.1,
-                "royalblue",
-                0.3,
-                "cyan",
-                0.5,
-                "lime",
-                0.7,
-                "yellow",
-                1,
-                "red"
-            ],
-            transition: false,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "heatmap-density"
-                ]
-            },
-            "property-type": "color-ramp"
-        },
-        "heatmap-opacity": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        }
-    };
-    var paint_symbol = {
-        "icon-opacity": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "icon-color": {
-            type: "color",
-            "default": "#000000",
-            transition: true,
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "icon-halo-color": {
-            type: "color",
-            "default": "rgba(0, 0, 0, 0)",
-            transition: true,
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "icon-halo-width": {
-            type: "number",
-            "default": 0,
-            minimum: 0,
-            transition: true,
-            units: "pixels",
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "icon-halo-blur": {
-            type: "number",
-            "default": 0,
-            minimum: 0,
-            transition: true,
-            units: "pixels",
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "icon-translate": {
-            type: "array",
-            value: "number",
-            length: 2,
-            "default": [
-                0,
-                0
-            ],
-            transition: true,
-            units: "pixels",
-            requires: [
-                "icon-image"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "icon-translate-anchor": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                }
-            },
-            "default": "map",
-            requires: [
-                "icon-image",
-                "icon-translate"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-opacity": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-color": {
-            type: "color",
-            "default": "#000000",
-            transition: true,
-            overridable: true,
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-halo-color": {
-            type: "color",
-            "default": "rgba(0, 0, 0, 0)",
-            transition: true,
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-halo-width": {
-            type: "number",
-            "default": 0,
-            minimum: 0,
-            transition: true,
-            units: "pixels",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-halo-blur": {
-            type: "number",
-            "default": 0,
-            minimum: 0,
-            transition: true,
-            units: "pixels",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom",
-                    "feature",
-                    "feature-state"
-                ]
-            },
-            "property-type": "data-driven"
-        },
-        "text-translate": {
-            type: "array",
-            value: "number",
-            length: 2,
-            "default": [
-                0,
-                0
-            ],
-            transition: true,
-            units: "pixels",
-            requires: [
-                "text-field"
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "text-translate-anchor": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                }
-            },
-            "default": "map",
-            requires: [
-                "text-field",
-                "text-translate"
-            ],
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        }
-    };
-    var paint_raster = {
-        "raster-opacity": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "raster-hue-rotate": {
-            type: "number",
-            "default": 0,
-            period: 360,
-            transition: true,
-            units: "degrees",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "raster-brightness-min": {
-            type: "number",
-            "default": 0,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "raster-brightness-max": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "raster-saturation": {
-            type: "number",
-            "default": 0,
-            minimum: -1,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "raster-contrast": {
-            type: "number",
-            "default": 0,
-            minimum: -1,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "raster-resampling": {
-            type: "enum",
-            values: {
-                linear: {
-                },
-                nearest: {
-                }
-            },
-            "default": "linear",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "raster-fade-duration": {
-            type: "number",
-            "default": 300,
-            minimum: 0,
-            transition: false,
-            units: "milliseconds",
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        }
-    };
-    var paint_hillshade = {
-        "hillshade-illumination-direction": {
-            type: "number",
-            "default": 335,
-            minimum: 0,
-            maximum: 359,
-            transition: false,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "hillshade-illumination-anchor": {
-            type: "enum",
-            values: {
-                map: {
-                },
-                viewport: {
-                }
-            },
-            "default": "viewport",
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "hillshade-exaggeration": {
-            type: "number",
-            "default": 0.5,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "hillshade-shadow-color": {
-            type: "color",
-            "default": "#000000",
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "hillshade-highlight-color": {
-            type: "color",
-            "default": "#FFFFFF",
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "hillshade-accent-color": {
-            type: "color",
-            "default": "#000000",
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        }
-    };
-    var paint_background = {
-        "background-color": {
-            type: "color",
-            "default": "#000000",
-            transition: true,
-            requires: [
-                {
-                    "!": "background-pattern"
-                }
-            ],
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        },
-        "background-pattern": {
-            type: "resolvedImage",
-            transition: true,
-            expression: {
-                interpolated: false,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "cross-faded"
-        },
-        "background-opacity": {
-            type: "number",
-            "default": 1,
-            minimum: 0,
-            maximum: 1,
-            transition: true,
-            expression: {
-                interpolated: true,
-                parameters: [
-                    "zoom"
-                ]
-            },
-            "property-type": "data-constant"
-        }
-    };
-    var transition = {
-        duration: {
-            type: "number",
-            "default": 300,
-            minimum: 0,
-            units: "milliseconds"
-        },
-        delay: {
-            type: "number",
-            "default": 0,
-            minimum: 0,
-            units: "milliseconds"
-        }
-    };
-
-    var StyleSpec = {
-        $version: $version,
-        $root: $root,
-        sources: sources,
-        source: source,
-        source_vector: source_vector,
-        source_raster: source_raster,
-        source_raster_dem: source_raster_dem,
-        source_geojson: source_geojson,
-        source_video: source_video,
-        source_image: source_image,
-        layer: layer,
-        layout: layout,
-        layout_background: layout_background,
-        layout_fill: layout_fill,
-        layout_circle: layout_circle,
-        layout_heatmap: layout_heatmap,
-        "layout_fill-extrusion": {
-            visibility: {
-                type: "enum",
-                values: {
-                    visible: {
-                    },
-                    none: {
-                    }
-                },
-                "default": "visible",
-                "property-type": "constant"
-            }
-        },
-        layout_line: layout_line,
-        layout_symbol: layout_symbol,
-        layout_raster: layout_raster,
-        layout_hillshade: layout_hillshade,
-        filter: filter,
-        filter_operator: filter_operator,
-        geometry_type: geometry_type,
-        "function": {
-            expression: {
-                type: "expression"
-            },
-            stops: {
-                type: "array",
-                value: "function_stop"
-            },
-            base: {
-                type: "number",
-                "default": 1,
-                minimum: 0
-            },
-            property: {
-                type: "string",
-                "default": "$zoom"
-            },
-            type: {
-                type: "enum",
-                values: {
-                    identity: {
-                    },
-                    exponential: {
-                    },
-                    interval: {
-                    },
-                    categorical: {
-                    }
-                },
-                "default": "exponential"
-            },
-            colorSpace: {
-                type: "enum",
-                values: {
-                    rgb: {
-                    },
-                    lab: {
-                    },
-                    hcl: {
-                    }
-                },
-                "default": "rgb"
-            },
-            "default": {
-                type: "*",
-                required: false
-            }
-        },
-        function_stop: function_stop,
-        expression: expression,
-        expression_name: expression_name,
-        light: light,
-        paint: paint,
-        paint_fill: paint_fill,
-        "paint_fill-extrusion": {
-            "fill-extrusion-opacity": {
-                type: "number",
-                "default": 1,
-                minimum: 0,
-                maximum: 1,
-                transition: true,
-                expression: {
-                    interpolated: true,
-                    parameters: [
-                        "zoom"
-                    ]
-                },
-                "property-type": "data-constant"
-            },
-            "fill-extrusion-color": {
-                type: "color",
-                "default": "#000000",
-                transition: true,
-                requires: [
-                    {
-                        "!": "fill-extrusion-pattern"
-                    }
-                ],
-                expression: {
-                    interpolated: true,
-                    parameters: [
-                        "zoom",
-                        "feature",
-                        "feature-state"
-                    ]
-                },
-                "property-type": "data-driven"
-            },
-            "fill-extrusion-translate": {
-                type: "array",
-                value: "number",
-                length: 2,
-                "default": [
-                    0,
-                    0
-                ],
-                transition: true,
-                units: "pixels",
-                expression: {
-                    interpolated: true,
-                    parameters: [
-                        "zoom"
-                    ]
-                },
-                "property-type": "data-constant"
-            },
-            "fill-extrusion-translate-anchor": {
-                type: "enum",
-                values: {
-                    map: {
-                    },
-                    viewport: {
-                    }
-                },
-                "default": "map",
-                requires: [
-                    "fill-extrusion-translate"
-                ],
-                expression: {
-                    interpolated: false,
-                    parameters: [
-                        "zoom"
-                    ]
-                },
-                "property-type": "data-constant"
-            },
-            "fill-extrusion-pattern": {
-                type: "resolvedImage",
-                transition: true,
-                expression: {
-                    interpolated: false,
-                    parameters: [
-                        "zoom",
-                        "feature"
-                    ]
-                },
-                "property-type": "cross-faded-data-driven"
-            },
-            "fill-extrusion-height": {
-                type: "number",
-                "default": 0,
-                minimum: 0,
-                units: "meters",
-                transition: true,
-                expression: {
-                    interpolated: true,
-                    parameters: [
-                        "zoom",
-                        "feature",
-                        "feature-state"
-                    ]
-                },
-                "property-type": "data-driven"
-            },
-            "fill-extrusion-base": {
-                type: "number",
-                "default": 0,
-                minimum: 0,
-                units: "meters",
-                transition: true,
-                requires: [
-                    "fill-extrusion-height"
-                ],
-                expression: {
-                    interpolated: true,
-                    parameters: [
-                        "zoom",
-                        "feature",
-                        "feature-state"
-                    ]
-                },
-                "property-type": "data-driven"
-            },
-            "fill-extrusion-vertical-gradient": {
-                type: "boolean",
-                "default": true,
-                transition: false,
-                expression: {
-                    interpolated: false,
-                    parameters: [
-                        "zoom"
-                    ]
-                },
-                "property-type": "data-constant"
-            }
-        },
-        paint_line: paint_line,
-        paint_circle: paint_circle,
-        paint_heatmap: paint_heatmap,
-        paint_symbol: paint_symbol,
-        paint_raster: paint_raster,
-        paint_hillshade: paint_hillshade,
-        paint_background: paint_background,
-        transition: transition,
-        "property-type": {
-            "data-driven": {
-                type: "property-type"
-            },
-            "cross-faded": {
-                type: "property-type"
-            },
-            "cross-faded-data-driven": {
-                type: "property-type"
-            },
-            "color-ramp": {
-                type: "property-type"
-            },
-            "data-constant": {
-                type: "property-type"
-            },
-            constant: {
-                type: "property-type"
-            }
-        }
-    };
-
-    function IntersectionTest() {
-    }
-
-    IntersectionTest.polygonIntersectsPolygon = function (polygonA, polygonB) {
-        for (var i = 0; i < polygonA.length; i++) {
-            if (polygonContainsPoint(polygonB, polygonA[i])) {
-                return true;
-            }
-        }
-
-        for (var i$1 = 0; i$1 < polygonB.length; i$1++) {
-            if (polygonContainsPoint(polygonA, polygonB[i$1])) {
-                return true;
-            }
-        }
-
-        if (lineIntersectsLine(polygonA, polygonB)) {
-            return true;
-        }
-
-        return false;
-    };
-
-    IntersectionTest.polygonIntersectsBufferedPoint = function (polygon, point, radius) {
-        if (polygonContainsPoint(polygon, point)) {
-            return true;
-        }
-        if (pointIntersectsBufferedLine(point, polygon, radius)) {
-            return true;
-        }
-        return false;
-    };
-
-    IntersectionTest.polygonIntersectsMultiPolygon = function (polygon, multiPolygon) {
-        if (polygon.length === 1) {
-            return multiPolygonContainsPoint(multiPolygon, polygon[0]);
-        }
-
-        for (var m = 0; m < multiPolygon.length; m++) {
-            var ring = multiPolygon[m];
-            for (var n = 0; n < ring.length; n++) {
-                if (polygonContainsPoint(polygon, ring[n])) {
-                    return true;
-                }
-            }
-        }
-
-        for (var i = 0; i < polygon.length; i++) {
-            if (multiPolygonContainsPoint(multiPolygon, polygon[i])) {
-                return true;
-            }
-        }
-
-        for (var k = 0; k < multiPolygon.length; k++) {
-            if (lineIntersectsLine(polygon, multiPolygon[k])) {
-                return true;
-            }
-        }
-
-        return false;
-    };
-
-    IntersectionTest.polygonIntersectsBufferedMultiLine = function (polygon, multiLine, radius) {
-        for (var i = 0; i < multiLine.length; i++) {
-            var line = multiLine[i];
-
-            if (polygon.length >= 3) {
-                for (var k = 0; k < line.length; k++) {
-                    if (polygonContainsPoint(polygon, line[k])) {
-                        return true;
-                    }
-                }
-            }
-
-            if (lineIntersectsBufferedLine(polygon, line, radius)) {
-                return true;
-            }
-        }
-        return false;
-    };
-
-    function lineIntersectsBufferedLine(lineA, lineB, radius) {
-
-        if (lineA.length > 1) {
-            if (lineIntersectsLine(lineA, lineB)) {
-                return true;
-            }
-
-            // Check whether any point in either line is within radius of the other line
-            for (var j = 0; j < lineB.length; j++) {
-                if (pointIntersectsBufferedLine(lineB[j], lineA, radius)) {
-                    return true;
-                }
-            }
-        }
-
-        for (var k = 0; k < lineA.length; k++) {
-            if (pointIntersectsBufferedLine(lineA[k], lineB, radius)) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    function lineIntersectsLine(lineA, lineB) {
-        if (lineA.length === 0 || lineB.length === 0) {
-            return false;
-        }
-        for (var i = 0; i < lineA.length - 1; i++) {
-            var a0 = lineA[i];
-            var a1 = lineA[i + 1];
-            for (var j = 0; j < lineB.length - 1; j++) {
-                var b0 = lineB[j];
-                var b1 = lineB[j + 1];
-                if (lineSegmentIntersectsLineSegment(a0, a1, b0, b1)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    function lineSegmentIntersectsLineSegment(a0, a1, b0, b1) {
-        return Util.isCounterClockwise(a0, b0, b1) !== Util.isCounterClockwise(a1, b0, b1) &&
-            Util.isCounterClockwise(a0, a1, b0) !== Util.isCounterClockwise(a0, a1, b1);
-    }
-
-    function pointIntersectsBufferedLine(p, line, radius) {
-        var radiusSquared = radius * radius;
-
-        if (line.length === 1) {
-            return p.distSqr(line[0]) < radiusSquared;
-        }
-
-        for (var i = 1; i < line.length; i++) {
-            // Find line segments that have a distance <= radius^2 to p
-            // In that case, we treat the line as "containing point p".
-            var v = line[i - 1], w = line[i];
-            if (IntersectionTest.distToSegmentSquared(p, v, w) < radiusSquared) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    // Code from http://stackoverflow.com/a/1501725/331379.
-    IntersectionTest.distToSegmentSquared = function (p, v, w) {
-        var l2 = v.distSqr(w);
-        if (l2 === 0) {
-            return p.distSqr(v);
-        }
-        var t = ((p.x - v.x) * (w.x - v.x) + (p.y - v.y) * (w.y - v.y)) / l2;
-        if (t < 0) {
-            return p.distSqr(v);
-        }
-        if (t > 1) {
-            return p.distSqr(w);
-        }
-        return p.distSqr(w.sub(v)._mult(t)._add(v));
-    };
-
-    // point in polygon ray casting algorithm
-    function multiPolygonContainsPoint(rings, p) {
-        var c = false,
-            ring, p1, p2;
-
-        for (var k = 0; k < rings.length; k++) {
-            ring = rings[k];
-            for (var i = 0, j = ring.length - 1; i < ring.length; j = i++) {
-                p1 = ring[i];
-                p2 = ring[j];
-                if (((p1.y > p.y) !== (p2.y > p.y)) && (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x)) {
-                    c = !c;
-                }
-            }
-        }
-        return c;
-    }
-
-    function polygonContainsPoint(ring, p) {
-        var c = false;
-        for (var i = 0, j = ring.length - 1; i < ring.length; j = i++) {
-            var p1 = ring[i];
-            var p2 = ring[j];
-            if (((p1.y > p.y) !== (p2.y > p.y)) && (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x)) {
-                c = !c;
-            }
-        }
-        return c;
-    }
-
-    var layout$2 = new Properties({
-        "circle-sort-key": new DataDrivenProperty(StyleSpec["layout_circle"]["circle-sort-key"])
-    });
-
-    var paint$1 = new Properties({
-        "circle-radius": new DataDrivenProperty(StyleSpec["paint_circle"]["circle-radius"]),
-        "circle-color": new DataDrivenProperty(StyleSpec["paint_circle"]["circle-color"]),
-        "circle-blur": new DataDrivenProperty(StyleSpec["paint_circle"]["circle-blur"]),
-        "circle-opacity": new DataDrivenProperty(StyleSpec["paint_circle"]["circle-opacity"]),
-        "circle-translate": new DataConstantProperty(StyleSpec["paint_circle"]["circle-translate"]),
-        "circle-translate-anchor": new DataConstantProperty(StyleSpec["paint_circle"]["circle-translate-anchor"]),
-        "circle-pitch-scale": new DataConstantProperty(StyleSpec["paint_circle"]["circle-pitch-scale"]),
-        "circle-pitch-alignment": new DataConstantProperty(StyleSpec["paint_circle"]["circle-pitch-alignment"]),
-        "circle-stroke-width": new DataDrivenProperty(StyleSpec["paint_circle"]["circle-stroke-width"]),
-        "circle-stroke-color": new DataDrivenProperty(StyleSpec["paint_circle"]["circle-stroke-color"]),
-        "circle-stroke-opacity": new DataDrivenProperty(StyleSpec["paint_circle"]["circle-stroke-opacity"])
-    });
-
-    // Note: without adding the explicit type annotation, Flow infers weaker types
-    // for these objects from their use in the constructor to StyleLayer, as
-    // {layout?: Properties<...>, paint: Properties<...>}
-    var properties = ({ paint: paint$1, layout: layout$2 });
-
-    var CircleStyleLayer = /*@__PURE__*/(function (StyleLayer) {
-        function CircleStyleLayer(layer) {
-            StyleLayer.call(this, layer, properties);
-        }
-
-        if (StyleLayer) CircleStyleLayer.__proto__ = StyleLayer;
-        CircleStyleLayer.prototype = Object.create(StyleLayer && StyleLayer.prototype);
-        CircleStyleLayer.prototype.constructor = CircleStyleLayer;
-
-        CircleStyleLayer.prototype.createBucket = function createBucket(parameters) {
-            return new CircleBucket(parameters);
-        };
-
-        CircleStyleLayer.prototype.queryRadius = function queryRadius(bucket) {
-            var circleBucket = (bucket     );
-            return QueryUtils.getMaximumPaintValue('circle-radius', this, circleBucket) +
-                QueryUtils.getMaximumPaintValue('circle-stroke-width', this, circleBucket) +
-                QueryUtils.translateDistance(this.paint.get('circle-translate'));
-        };
-
-        CircleStyleLayer.prototype.queryIntersectsFeature = function queryIntersectsFeature(queryGeometry, feature, featureState, geometry, zoom, transform, pixelsToTileUnits, pixelPosMatrix) {
-            pixelPosMatrix = createMat4();
-            var translatedPolygon = QueryUtils.translate(queryGeometry,
-                this.paint.get('circle-translate'),
-                this.paint.get('circle-translate-anchor'),
-                0, pixelsToTileUnits);
-            var radius = this.paint.get('circle-radius').evaluate(feature, featureState);
-            var stroke = this.paint.get('circle-stroke-width').evaluate(feature, featureState);
-            var size = radius + stroke;
-
-            // For pitch-alignment: map, compare feature geometry to query geometry in the plane of the tile
-            // // Otherwise, compare geometry in the plane of the viewport
-            // // A circle with fixed scaling relative to the viewport gets larger in tile space as it moves into the distance
-            // // A circle with fixed scaling relative to the map gets smaller in viewport space as it moves into the distance
-            var alignWithMap = this.paint.get('circle-pitch-alignment') === 'map';
-            var transformedPolygon = alignWithMap ? translatedPolygon : projectQueryGeometry(translatedPolygon, pixelPosMatrix);
-            var transformedSize = alignWithMap ? size * pixelsToTileUnits : size;
-
-            for (var i$1 = 0, list$1 = geometry; i$1 < list$1.length; i$1 += 1) {
-                var ring = list$1[i$1];
-
-                for (var i = 0, list = ring; i < list.length; i += 1) {
-
-                    var point = list[i];
-
-                    var transformedPoint = alignWithMap ? point : projectPoint(point, pixelPosMatrix);
-
-                    var adjustedSize = transformedSize;
-                    var projectedCenter = transformMat4([], [point.x, point.y, 0, 1], pixelPosMatrix);
-                    if (this.paint.get('circle-pitch-scale') === 'viewport' && this.paint.get('circle-pitch-alignment') === 'map') ; else if (this.paint.get('circle-pitch-scale') === 'map' && this.paint.get('circle-pitch-alignment') === 'viewport') ;
-                    adjustedSize *= 10.0;
-
-                    if (IntersectionTest.polygonIntersectsBufferedPoint(transformedPolygon, transformedPoint, adjustedSize)) {
-                        return true;
-                    }
-                }
-            }
-
-            return false;
-        };
-
-        return CircleStyleLayer;
-    }(StyleLayer));
-
-    function projectPoint(p, pixelPosMatrix) {
-        var point = transformMat4([], [p.x, p.y, 0, 1], pixelPosMatrix);
-        //return new pointGeometry(point[0] / point[3], point[1] / point[3]);
-        return new Point(point[0], point[1]);
-    }
-
-    function projectQueryGeometry(queryGeometry, pixelPosMatrix) {
-        return queryGeometry.map(function (p) {
-            return projectPoint(p, pixelPosMatrix);
-        });
-    }
-
-    function createMat4() {
-        var out = new Float32Array(16);
-        out[0] = 1;
-        out[5] = 1;
-        out[10] = 1;
-        out[15] = 1;
-        return out;
-    }
-
-    /**
-     * Transforms the vec3 with a mat4.
-     * 4th vector component is implicitly '1'
-     *
-     * @param {vec3} out the receiving vector
-     * @param {vec3} a the vector to transform
-     * @param {mat4} m matrix to transform with
-     * @returns {vec3} out
-     */
-    function transformMat4(out, a, m) {
-        var x = a[0],
-            y = a[1],
-            z = a[2];
-        var w = m[3] * x + m[7] * y + m[11] * z + m[15];
-        w = w || 1.0;
-        out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w;
-        out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w;
-        out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w;
-        return out;
-    }
-
-    /**
-     * An implementation of `Property` for  data driven `line-pattern` which are transitioned by cross-fading
-     * rather than interpolation.
-     *
-     * @private
-     */
-
-    var CrossFadedDataDrivenProperty = /*@__PURE__*/(function (DataDrivenProperty) {
-        function CrossFadedDataDrivenProperty() {
-            DataDrivenProperty.apply(this, arguments);
-        }
-
-        if (DataDrivenProperty) CrossFadedDataDrivenProperty.__proto__ = DataDrivenProperty;
-        CrossFadedDataDrivenProperty.prototype = Object.create(DataDrivenProperty && DataDrivenProperty.prototype);
-        CrossFadedDataDrivenProperty.prototype.constructor = CrossFadedDataDrivenProperty;
-
-        CrossFadedDataDrivenProperty.prototype.possiblyEvaluate = function possiblyEvaluate(value, parameters, availableImages) {
-            if (value.value === undefined) {
-                return new PossiblyEvaluatedPropertyValue$1(this, {kind: 'constant', value: undefined}, parameters);
-            } else if (value.expression.kind === 'constant') {
-                var evaluatedValue = value.expression.evaluate(parameters, (null     ), {}, availableImages);
-                var isImageExpression = value.property.specification.type === 'resolvedImage';
-                var constantValue = isImageExpression && typeof evaluatedValue !== 'string' ? evaluatedValue.name : evaluatedValue;
-                var constant = this._calculate(constantValue, constantValue, constantValue, parameters);
-                return new PossiblyEvaluatedPropertyValue$1(this, {kind: 'constant', value: constant}, parameters);
-            } else if (value.expression.kind === 'camera') {
-                var cameraVal = this._calculate(
-                    value.expression.evaluate({zoom: parameters.zoom - 1.0}),
-                    value.expression.evaluate({zoom: parameters.zoom}),
-                    value.expression.evaluate({zoom: parameters.zoom + 1.0}),
-                    parameters);
-                return new PossiblyEvaluatedPropertyValue$1(this, {kind: 'constant', value: cameraVal}, parameters);
-            } else {
-                // source or composite expression
-                return new PossiblyEvaluatedPropertyValue$1(this, value.expression, parameters);
-            }
-        };
-
-        CrossFadedDataDrivenProperty.prototype.evaluate = function evaluate(value, globals, feature, featureState, availableImages) {
-            if (value.kind === 'source') {
-                var constant = value.evaluate(globals, feature, featureState, availableImages);
-                return this._calculate(constant, constant, constant, globals);
-            } else if (value.kind === 'composite') {
-                return this._calculate(
-                    value.evaluate({zoom: Math.floor(globals.zoom) - 1.0}, feature, featureState),
-                    value.evaluate({zoom: Math.floor(globals.zoom)}, feature, featureState),
-                    value.evaluate({zoom: Math.floor(globals.zoom) + 1.0}, feature, featureState),
-                    globals);
-            } else {
-                return value.value;
-            }
-        };
-
-        CrossFadedDataDrivenProperty.prototype._calculate = function _calculate(min, mid, max, parameters) {
-            var z = parameters.zoom;
-            return z > parameters.zoomHistory.lastIntegerZoom ? {from: min, to: mid} : {from: max, to: mid};
-        };
-
-        CrossFadedDataDrivenProperty.prototype.interpolate = function interpolate(a) {
-            return a;
-        };
-
-        return CrossFadedDataDrivenProperty;
-    }(DataDrivenProperty));
-
-    WebWorkerTransfer.register('DataDrivenProperty', DataDrivenProperty);
-
-    var layout$4 = new Properties({
-        "fill-sort-key": new DataDrivenProperty(StyleSpec["layout_fill"]["fill-sort-key"])
-    });
-
-    var paint$4 = new Properties({
-        "fill-antialias": new DataConstantProperty(StyleSpec["paint_fill"]["fill-antialias"]),
-        "fill-opacity": new DataDrivenProperty(StyleSpec["paint_fill"]["fill-opacity"]),
-        "fill-color": new DataDrivenProperty(StyleSpec["paint_fill"]["fill-color"]),
-        "fill-outline-color": new DataDrivenProperty(StyleSpec["paint_fill"]["fill-outline-color"]),
-        "fill-translate": new DataConstantProperty(StyleSpec["paint_fill"]["fill-translate"]),
-        "fill-translate-anchor": new DataConstantProperty(StyleSpec["paint_fill"]["fill-translate-anchor"]),
-        "fill-pattern": new CrossFadedDataDrivenProperty(StyleSpec["paint_fill"]["fill-pattern"]),
-    });
-
-    // Note: without adding the explicit type annotation, Flow infers weaker types
-    // for these objects from their use in the constructor to StyleLayer, as
-    // {layout?: Properties<...>, paint: Properties<...>}
-    var properties$3 = ({ paint: paint$4, layout: layout$4 }
-
-        );
-
-    var FillStyleLayer = /*@__PURE__*/(function (StyleLayer) {
-        function FillStyleLayer(layer) {
-            StyleLayer.call(this, layer, properties$3);
-        }
-
-        if (StyleLayer) FillStyleLayer.__proto__ = StyleLayer;
-        FillStyleLayer.prototype = Object.create(StyleLayer && StyleLayer.prototype);
-        FillStyleLayer.prototype.constructor = FillStyleLayer;
-
-        FillStyleLayer.prototype.recalculate = function recalculate(parameters, availableImages) {
-            StyleLayer.prototype.recalculate.call(this, parameters, availableImages);
-
-            var outlineColor = this.paint._values['fill-outline-color'];
-            if (outlineColor.value.kind === 'constant' && outlineColor.value.value === undefined) {
-                this.paint._values['fill-outline-color'] = this.paint._values['fill-color'];
-            }
-        };
-
-        FillStyleLayer.prototype.createBucket = function createBucket(parameters) {
-            return new FillBucket(parameters);
-        };
-
-        FillStyleLayer.prototype.queryRadius = function queryRadius() {
-            return QueryUtils.translateDistance(this.paint.get('fill-translate'));
-        };
-
-        FillStyleLayer.prototype.queryIntersectsFeature = function queryIntersectsFeature(queryGeometry, feature, featureState, geometry, zoom, transform, pixelsToTileUnits) {
-            var translatedPolygon = QueryUtils.translate(queryGeometry,
-                this.paint.get('fill-translate'),
-                this.paint.get('fill-translate-anchor'),
-                0, pixelsToTileUnits);
-            return IntersectionTest.polygonIntersectsMultiPolygon(translatedPolygon, geometry);
-        };
-
-        FillStyleLayer.prototype.isTileClipped = function isTileClipped() {
-            return true;
-        };
-
-        return FillStyleLayer;
-    }(StyleLayer));
-
-    /**
-     * An implementation of `Property` for `*-pattern` and `line-dasharray`, which are transitioned by cross-fading
-     * rather than interpolation.
-     *
-     * @private
-     */
-    var CrossFadedProperty = function CrossFadedProperty(specification) {
-        this.specification = specification;
-    };
-
-    CrossFadedProperty.prototype.possiblyEvaluate = function possiblyEvaluate(value, parameters, availableImages) {
-        if (value.value === undefined) {
-            return undefined;
-        } else if (value.expression.kind === 'constant') {
-            var constant = value.expression.evaluate(parameters, (null   ), {}, availableImages);
-            return this._calculate(constant, constant, constant, parameters);
-        } else {
-            //assert_1(!value.isDataDriven());
-            return this._calculate(
-                value.expression.evaluate(new EvaluationParameters(Math.floor(parameters.zoom - 1.0), parameters)),
-                value.expression.evaluate(new EvaluationParameters(Math.floor(parameters.zoom), parameters)),
-                value.expression.evaluate(new EvaluationParameters(Math.floor(parameters.zoom + 1.0), parameters)),
-                parameters);
-        }
-    };
-
-    CrossFadedProperty.prototype._calculate = function _calculate(min, mid, max, parameters) {
-        var z = parameters.zoom;
-        return z > parameters.zoomHistory.lastIntegerZoom ? {from: min, to: mid} : {from: max, to: mid};
-    };
-
-    CrossFadedProperty.prototype.interpolate = function interpolate(a) {
-        return a;
-    };
-
-    WebWorkerTransfer.register('CrossFadedProperty', CrossFadedProperty);
-
-    /**
-     * An implementation of `Property` for `heatmap-color` and `line-gradient`. Interpolation is a no-op, and
-     * evaluation returns a boolean value in order to indicate its presence, but the real
-     * evaluation happens in StyleLayer classes.
-     *
-     * @private
-     */
-
-    var ColorRampProperty = function ColorRampProperty(specification) {
-        this.specification = specification;
-    };
-
-    ColorRampProperty.prototype.possiblyEvaluate = function possiblyEvaluate(value, parameters, availableImages) {
-        return !!value.expression.evaluate(parameters, (null   ), {}, availableImages);
-    };
-
-    ColorRampProperty.prototype.interpolate = function interpolate() {
-        return false;
-    };
-
-    WebWorkerTransfer.register('ColorRampProperty', ColorRampProperty);
-
-    var layout$6 = new Properties({
-        "line-cap": new DataConstantProperty(StyleSpec["layout_line"]["line-cap"]),
-        "line-join": new DataDrivenProperty(StyleSpec["layout_line"]["line-join"]),
-        "line-miter-limit": new DataConstantProperty(StyleSpec["layout_line"]["line-miter-limit"]),
-        "line-round-limit": new DataConstantProperty(StyleSpec["layout_line"]["line-round-limit"]),
-        "line-sort-key": new DataDrivenProperty(StyleSpec["layout_line"]["line-sort-key"])
-    });
-
-
-    var paint$6 = new Properties({
-        "line-opacity": new DataDrivenProperty(StyleSpec["paint_line"]["line-opacity"]),
-        "line-color": new DataDrivenProperty(StyleSpec["paint_line"]["line-color"]),
-        "line-translate": new DataConstantProperty(StyleSpec["paint_line"]["line-translate"]),
-        "line-translate-anchor": new DataConstantProperty(StyleSpec["paint_line"]["line-translate-anchor"]),
-        "line-width": new DataDrivenProperty(StyleSpec["paint_line"]["line-width"]),
-        "line-gap-width": new DataDrivenProperty(StyleSpec["paint_line"]["line-gap-width"]),
-        "line-offset": new DataDrivenProperty(StyleSpec["paint_line"]["line-offset"]),
-        "line-blur": new DataDrivenProperty(StyleSpec["paint_line"]["line-blur"]),
-        "line-dasharray": new CrossFadedProperty(StyleSpec["paint_line"]["line-dasharray"]),
-        "line-pattern": new CrossFadedDataDrivenProperty(StyleSpec["paint_line"]["line-pattern"]),
-        "line-gradient": new ColorRampProperty(StyleSpec["paint_line"]["line-gradient"])
-    });
-
-    // Note: without adding the explicit type annotation, Flow infers weaker types
-    // for these objects from their use in the constructor to StyleLayer, as
-    // {layout?: Properties<...>, paint: Properties<...>}
-    var properties$5 = ({ paint: paint$6, layout: layout$6 }
-
-        );
-
-    var LineFloorwidthProperty = /*@__PURE__*/(function (DataDrivenProperty) {
-        function LineFloorwidthProperty() {
-            DataDrivenProperty.apply(this, arguments);
-        }
-
-        if (DataDrivenProperty) LineFloorwidthProperty.__proto__ = DataDrivenProperty;
-        LineFloorwidthProperty.prototype = Object.create(DataDrivenProperty && DataDrivenProperty.prototype);
-        LineFloorwidthProperty.prototype.constructor = LineFloorwidthProperty;
-
-        LineFloorwidthProperty.prototype.possiblyEvaluate = function possiblyEvaluate(value, parameters) {
-            parameters = new EvaluationParameters$1(Math.floor(parameters.zoom), {
-                now: parameters.now,
-                fadeDuration: parameters.fadeDuration,
-                zoomHistory: parameters.zoomHistory,
-                transition: parameters.transition
-            });
-            return DataDrivenProperty.prototype.possiblyEvaluate.call(this, value, parameters);
-        };
-
-        LineFloorwidthProperty.prototype.evaluate = function evaluate(value, globals, feature, featureState) {
-            globals = extend({}, globals, {zoom: Math.floor(globals.zoom)});
-            return DataDrivenProperty.prototype.evaluate.call(this, value, globals, feature, featureState);
-        };
-
-        return LineFloorwidthProperty;
-    }(DataDrivenProperty));
-
-    var lineFloorwidthProperty = new LineFloorwidthProperty(properties$5.paint.properties['line-width'].specification);
-    lineFloorwidthProperty.useIntegerZoom = true;
-
-    var LineStyleLayer = /*@__PURE__*/(function (StyleLayer) {
-        function LineStyleLayer(layer) {
-            StyleLayer.call(this, layer, properties$5);
-        }
-
-        if (StyleLayer) LineStyleLayer.__proto__ = StyleLayer;
-        LineStyleLayer.prototype = Object.create(StyleLayer && StyleLayer.prototype);
-        LineStyleLayer.prototype.constructor = LineStyleLayer;
-
-        LineStyleLayer.prototype._handleSpecialPaintPropertyUpdate = function _handleSpecialPaintPropertyUpdate(name) {
-            if (name === 'line-gradient') {
-                this._updateGradient();
-            }
-        };
-
-        LineStyleLayer.prototype._updateGradient = function _updateGradient() {
-            var expression = this._transitionablePaint._values['line-gradient'].value.expression;
-            this.gradient = renderColorRamp(expression, 'lineProgress');
-            this.gradientTexture = null;
-        };
-
-        LineStyleLayer.prototype.recalculate = function recalculate(parameters, availableImages) {
-            StyleLayer.prototype.recalculate.call(this, parameters, availableImages);
-
-            (this.paint._values     )['line-floorwidth'] =
-                lineFloorwidthProperty.possiblyEvaluate(this._transitioningPaint._values['line-width'].value, parameters);
-        };
-
-        LineStyleLayer.prototype.createBucket = function createBucket(parameters) {
-            return new LineBucket(parameters);
-        };
-
-        LineStyleLayer.prototype.queryRadius = function queryRadius(bucket) {
-            var lineBucket = (bucket     );
-            var width = getLineWidth(
-                QueryUtils.getMaximumPaintValue('line-width', this, lineBucket),
-                QueryUtils.getMaximumPaintValue('line-gap-width', this, lineBucket));
-            var offset = QueryUtils.getMaximumPaintValue('line-offset', this, lineBucket);
-            return width / 2 + Math.abs(offset) + QueryUtils.translateDistance(this.paint.get('line-translate'));
-        };
-
-        LineStyleLayer.prototype.queryIntersectsFeature = function queryIntersectsFeature(queryGeometry, feature, featureState, geometry, zoom, transform, pixelsToTileUnits) {
-            var translatedPolygon = QueryUtils.translate(queryGeometry,
-                this.paint.get('line-translate'),
-                this.paint.get('line-translate-anchor'),
-                0, pixelsToTileUnits);
-            var halfWidth = pixelsToTileUnits / 2 * getLineWidth(
-                this.paint.get('line-width').evaluate(feature, featureState),
-                this.paint.get('line-gap-width').evaluate(feature, featureState));
-            var lineOffset = this.paint.get('line-offset').evaluate(feature, featureState);
-            if (lineOffset) {
-                geometry = offsetLine(geometry, lineOffset * pixelsToTileUnits);
-            }
-
-            return IntersectionTest.polygonIntersectsBufferedMultiLine(translatedPolygon, geometry, halfWidth);
-        };
-
-        LineStyleLayer.prototype.isTileClipped = function isTileClipped() {
-            return true;
-        };
-
-        function getLineWidth(lineWidth, lineGapWidth) {
-            if (lineGapWidth > 0) {
-                return lineGapWidth + 2 * lineWidth;
-            } else {
-                return lineWidth;
-            }
-        }
-
-        function offsetLine(rings, offset) {
-            var newRings = [];
-            var zero = new Point(0, 0);
-            for (var k = 0; k < rings.length; k++) {
-                var ring = rings[k];
-                var newRing = [];
-                for (var i = 0; i < ring.length; i++) {
-                    var a = ring[i - 1];
-                    var b = ring[i];
-                    var c = ring[i + 1];
-                    var aToB = i === 0 ? zero : b.sub(a)._unit()._perp();
-                    var bToC = i === ring.length - 1 ? zero : c.sub(b)._unit()._perp();
-                    var extrude = aToB._add(bToC)._unit();
-
-                    var cosHalfAngle = extrude.x * bToC.x + extrude.y * bToC.y;
-                    extrude._mult(1 / cosHalfAngle);
-
-                    newRing.push(extrude._mult(offset)._add(b));
-                }
-                newRings.push(newRing);
-            }
-            return newRings;
-        }
-
-        return LineStyleLayer;
-    }(StyleLayer));
-
-    function SymbolAttributes() {
-    }
-
-    SymbolAttributes.symbolLayoutAttributes = createLayout([
-        {name: 'a_pos_offset', components: 4, type: 'Int16'},
-        {name: 'a_data', components: 4, type: 'Uint16'},
-        {name: 'a_pixeloffset', components: 4, type: 'Int16'}
-    ], 4);
-
-    SymbolAttributes.dynamicLayoutAttributes = createLayout([
-        {name: 'a_projected_pos', components: 3, type: 'Float32'}
-    ], 4);
-
-    SymbolAttributes.placementOpacityAttributes = createLayout([
-        {name: 'a_fade_opacity', components: 1, type: 'Uint32'}
-    ], 4);
-
-    SymbolAttributes.collisionVertexAttributes = createLayout([
-        {name: 'a_placed', components: 2, type: 'Uint8'},
-        {name: 'a_shift', components: 2, type: 'Float32'}
-    ]);
-
-    SymbolAttributes.collisionBox = createLayout([
-        // the box is centered around the anchor point
-        {type: 'Int16', name: 'anchorPointX'},
-        {type: 'Int16', name: 'anchorPointY'},
-
-        // distances to the edges from the anchor
-        {type: 'Int16', name: 'x1'},
-        {type: 'Int16', name: 'y1'},
-        {type: 'Int16', name: 'x2'},
-        {type: 'Int16', name: 'y2'},
-
-        // the index of the feature in the original vectortile
-        {type: 'Uint32', name: 'featureIndex'},
-        // the source layer the feature appears in
-        {type: 'Uint16', name: 'sourceLayerIndex'},
-        // the bucket the feature appears in
-        {type: 'Uint16', name: 'bucketIndex'},
-
-        // collision circles for lines store their distance to the anchor in tile units
-        // so that they can be ignored if the projected label doesn't extend into
-        // the box area
-        {type: 'Int16', name: 'radius'},
-        {type: 'Int16', name: 'signedDistanceFromAnchor'}
-    ]);
-
-    SymbolAttributes.collisionBoxLayout = createLayout([ // used to render collision boxes for debugging purposes
-        {name: 'a_pos', components: 2, type: 'Int16'},
-        {name: 'a_anchor_pos', components: 2, type: 'Int16'},
-        {name: 'a_extrude', components: 2, type: 'Int16'}
-    ], 4);
-
-    SymbolAttributes.collisionCircleLayout = createLayout([ // used to render collision circles for debugging purposes
-        {name: 'a_pos', components: 2, type: 'Int16'},
-        {name: 'a_anchor_pos', components: 2, type: 'Int16'},
-        {name: 'a_extrude', components: 2, type: 'Int16'}
-    ], 4);
-
-    SymbolAttributes.placement = createLayout([
-        {type: 'Int16', name: 'anchorX'},
-        {type: 'Int16', name: 'anchorY'},
-        {type: 'Uint16', name: 'glyphStartIndex'},
-        {type: 'Uint16', name: 'numGlyphs'},
-        {type: 'Uint32', name: 'vertexStartIndex'},
-        {type: 'Uint32', name: 'lineStartIndex'},
-        {type: 'Uint32', name: 'lineLength'},
-        {type: 'Uint16', name: 'segment'},
-        {type: 'Uint16', name: 'lowerSize'},
-        {type: 'Uint16', name: 'upperSize'},
-        {type: 'Float32', name: 'lineOffsetX'},
-        {type: 'Float32', name: 'lineOffsetY'},
-        {type: 'Uint8', name: 'writingMode'},
-        {type: 'Uint8', name: 'placedOrientation'},
-        {type: 'Uint8', name: 'hidden'},
-        {type: 'Uint32', name: 'crossTileID'},
-        {type: 'Int16', name: 'associatedIconIndex'}
-    ]);
-
-    SymbolAttributes.symbolInstance = createLayout([
-        {type: 'Int16', name: 'anchorX'},
-        {type: 'Int16', name: 'anchorY'},
-        {type: 'Int16', name: 'rightJustifiedTextSymbolIndex'},
-        {type: 'Int16', name: 'centerJustifiedTextSymbolIndex'},
-        {type: 'Int16', name: 'leftJustifiedTextSymbolIndex'},
-        {type: 'Int16', name: 'verticalPlacedTextSymbolIndex'},
-        {type: 'Int16', name: 'placedIconSymbolIndex'},
-        {type: 'Int16', name: 'verticalPlacedIconSymbolIndex'},
-        {type: 'Uint16', name: 'key'},
-        {type: 'Uint16', name: 'textBoxStartIndex'},
-        {type: 'Uint16', name: 'textBoxEndIndex'},
-        {type: 'Uint16', name: 'verticalTextBoxStartIndex'},
-        {type: 'Uint16', name: 'verticalTextBoxEndIndex'},
-        {type: 'Uint16', name: 'iconBoxStartIndex'},
-        {type: 'Uint16', name: 'iconBoxEndIndex'},
-        {type: 'Uint16', name: 'verticalIconBoxStartIndex'},
-        {type: 'Uint16', name: 'verticalIconBoxEndIndex'},
-        {type: 'Uint16', name: 'featureIndex'},
-        {type: 'Uint16', name: 'numHorizontalGlyphVertices'},
-        {type: 'Uint16', name: 'numVerticalGlyphVertices'},
-        {type: 'Uint16', name: 'numIconVertices'},
-        {type: 'Uint16', name: 'numVerticalIconVertices'},
-        {type: 'Uint32', name: 'crossTileID'},
-        {type: 'Float32', name: 'textBoxScale'},
-        {type: 'Float32', components: 2, name: 'textOffset'}
-    ]);
-
-    SymbolAttributes.glyphOffset = createLayout([
-        {type: 'Float32', name: 'offsetX'}
-    ]);
-
-    SymbolAttributes.lineVertex = createLayout([
-        {type: 'Int16', name: 'x'},
-        {type: 'Int16', name: 'y'},
-        {type: 'Int16', name: 'tileUnitDistanceFromAnchor'}
-    ]);
-
-    function mergeLines(features) {
-        var leftIndex = {};
-        var rightIndex = {};
-        var mergedFeatures = [];
-        var mergedIndex = 0;
-
-        function add(k) {
-            mergedFeatures.push(features[k]);
-            mergedIndex++;
-        }
-
-        function mergeFromRight(leftKey, rightKey, geom) {
-            var i = rightIndex[leftKey];
-            delete rightIndex[leftKey];
-            rightIndex[rightKey] = i;
-
-            mergedFeatures[i].geometry[0].pop();
-            mergedFeatures[i].geometry[0] = mergedFeatures[i].geometry[0].concat(geom[0]);
-            return i;
-        }
-
-        function mergeFromLeft(leftKey, rightKey, geom) {
-            var i = leftIndex[rightKey];
-            delete leftIndex[rightKey];
-            leftIndex[leftKey] = i;
-
-            mergedFeatures[i].geometry[0].shift();
-            mergedFeatures[i].geometry[0] = geom[0].concat(mergedFeatures[i].geometry[0]);
-            return i;
-        }
-
-        function getKey(text, geom, onRight) {
-            var point = onRight ? geom[0][geom[0].length - 1] : geom[0][0];
-            return (text + ":" + (point.x) + ":" + (point.y));
-        }
-
-        for (var k = 0; k < features.length; k++) {
-            var feature = features[k];
-            var geom = feature.geometry;
-            var text = feature.text ? feature.text.toString() : null;
-
-            if (!text) {
-                add(k);
-                continue;
-            }
-
-            var leftKey = getKey(text, geom),
-                rightKey = getKey(text, geom, true);
-
-            if ((leftKey in rightIndex) && (rightKey in leftIndex) && (rightIndex[leftKey] !== leftIndex[rightKey])) {
-                // found lines with the same text adjacent to both ends of the current line, merge all three
-                var j = mergeFromLeft(leftKey, rightKey, geom);
-                var i = mergeFromRight(leftKey, rightKey, mergedFeatures[j].geometry);
-
-                delete leftIndex[leftKey];
-                delete rightIndex[rightKey];
-
-                rightIndex[getKey(text, mergedFeatures[i].geometry, true)] = i;
-                mergedFeatures[j].geometry = (null     );
-
-            } else if (leftKey in rightIndex) {
-                // found mergeable line adjacent to the start of the current line, merge
-                mergeFromRight(leftKey, rightKey, geom);
-
-            } else if (rightKey in leftIndex) {
-                // found mergeable line adjacent to the end of the current line, merge
-                mergeFromLeft(leftKey, rightKey, geom);
-
-            } else {
-                // no adjacent lines, add as a new item
-                add(k);
-                leftIndex[leftKey] = mergedIndex - 1;
-                rightIndex[rightKey] = mergedIndex - 1;
-            }
-        }
-
-        return mergedFeatures.filter(function (f) {
-            return f.geometry;
-        });
-    }
-
-    var Shaping = function Shaping() {
-    };
-
-    Shaping.WritingMode = {
-        horizontal: 1,
-        vertical: 2,
-        horizontalOnly: 3
-    };
-
-    // The position of a glyph relative to the text's anchor point.
-
-
-    // A collection of positioned glyphs and some metadata
-
-
-    function isEmpty(positionedLines) {
-        for (var i = 0, list = positionedLines; i < list.length; i += 1) {
-            var line = list[i];
-
-            if (line.positionedGlyphs.length !== 0) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-
-    // Max number of images in label is 6401 U+E000–U+F8FF that covers
-    // Basic Multilingual Plane Unicode Private Use Area (PUA).
-    var PUAbegin = 0xE000;
-    var PUAend = 0xF8FF;
-
-    var SectionOptions = function SectionOptions() {
-        this.scale = 1.0;
-        this.fontStack = "";
-        this.imageName = null;
-    };
-
-    SectionOptions.forText = function forText(scale, fontStack) {
-        var textOptions = new SectionOptions();
-        textOptions.scale = scale || 1;
-        textOptions.fontStack = fontStack;
-        return textOptions;
-    };
-
-    SectionOptions.forImage = function forImage(imageName) {
-        var imageOptions = new SectionOptions();
-        imageOptions.imageName = imageName;
-        return imageOptions;
-    };
-
-    var TaggedString = function TaggedString() {
-        this.text = "";
-        this.sectionIndex = [];
-        this.sections = [];
-        this.imageSectionID = null;
-    };
-
-    TaggedString.fromFeature = function fromFeature(text, defaultFontStack) {
-        var result = new TaggedString();
-        for (var i = 0; i < text.sections.length; i++) {
-            var section = text.sections[i];
-            if (!section.image) {
-                result.addTextSection(section, defaultFontStack);
-            } else {
-                result.addImageSection(section);
-            }
-        }
-        return result;
-    };
-
-    TaggedString.prototype.length = function length() {
-        return this.text.length;
-    };
-
-    TaggedString.prototype.getSection = function getSection(index) {
-        return this.sections[this.sectionIndex[index]];
-    };
-
-    TaggedString.prototype.getSectionIndex = function getSectionIndex(index) {
-        return this.sectionIndex[index];
-    };
-
-    TaggedString.prototype.getCharCode = function getCharCode(index) {
-        return this.text.charCodeAt(index);
-    };
-
-    TaggedString.prototype.verticalizePunctuation = function verticalizePunctuation$1() {
-        //this.text = verticalizePunctuation(this.text);
-    };
-
-    TaggedString.prototype.trim = function trim() {
-        var beginningWhitespace = 0;
-        for (var i = 0;
-             i < this.text.length && whitespace[this.text.charCodeAt(i)];
-             i++) {
-            beginningWhitespace++;
-        }
-        var trailingWhitespace = this.text.length;
-        for (var i$1 = this.text.length - 1;
-             i$1 >= 0 && i$1 >= beginningWhitespace && whitespace[this.text.charCodeAt(i$1)];
-             i$1--) {
-            trailingWhitespace--;
-        }
-        this.text = this.text.substring(beginningWhitespace, trailingWhitespace);
-        this.sectionIndex = this.sectionIndex.slice(beginningWhitespace, trailingWhitespace);
-    };
-
-    TaggedString.prototype.substring = function substring(start, end) {
-        var substring = new TaggedString();
-        substring.text = this.text.substring(start, end);
-        substring.sectionIndex = this.sectionIndex.slice(start, end);
-        substring.sections = this.sections;
-        return substring;
-    };
-
-    TaggedString.prototype.toString = function toString() {
-        return this.text;
-    };
-
-    TaggedString.prototype.getMaxScale = function getMaxScale() {
-        var this$1 = this;
-
-        return this.sectionIndex.reduce(function (max, index) {
-            return Math.max(max, this$1.sections[index].scale);
-        }, 0);
-    };
-
-    TaggedString.prototype.addTextSection = function addTextSection(section, defaultFontStack) {
-        this.text += section.text;
-        this.sections.push(SectionOptions.forText(section.scale, section.fontStack || defaultFontStack));
-        var index = this.sections.length - 1;
-        for (var i = 0; i < section.text.length; ++i) {
-            this.sectionIndex.push(index);
-        }
-    };
-
-    TaggedString.prototype.addImageSection = function addImageSection(section) {
-        var imageName = section.image ? section.image.name : '';
-        if (imageName.length === 0) {
-            //warnOnce("Can't add FormattedSection with an empty image.");
-            return;
-        }
-
-        var nextImageSectionCharCode = this.getNextImageSectionCharCode();
-        if (!nextImageSectionCharCode) {
-            //warnOnce(("Reached maximum number of images " + (PUAend - PUAbegin + 2)));
-            return;
-        }
-
-        this.text += String.fromCharCode(nextImageSectionCharCode);
-        this.sections.push(SectionOptions.forImage(imageName));
-        this.sectionIndex.push(this.sections.length - 1);
-    };
-
-    TaggedString.prototype.getNextImageSectionCharCode = function getNextImageSectionCharCode() {
-        if (!this.imageSectionID) {
-            this.imageSectionID = PUAbegin;
-            return this.imageSectionID;
-        }
-
-        if (this.imageSectionID >= PUAend) {
-            return null;
-        }
-        return ++this.imageSectionID;
-    };
-
-    function breakLines(input, lineBreakPoints) {
-        var lines = [];
-        var text = input.text;
-        var start = 0;
-        for (var i = 0, list = lineBreakPoints; i < list.length; i += 1) {
-            var lineBreak = list[i];
-
-            lines.push(input.substring(start, lineBreak));
-            start = lineBreak;
-        }
-
-        if (start < text.length) {
-            lines.push(input.substring(start, text.length));
-        }
-        return lines;
-    }
-
-    Shaping.shapeText = function(text, glyphMap, glyphPositions, imagePositions, defaultFontStack, maxWidth, lineHeight, textAnchor, textJustify, spacing, translate, writingMode, allowVerticalPlacement, symbolPlacement, layoutTextSize, layoutTextSizeThisZoom){
-        var logicalInput = TaggedString.fromFeature(text, defaultFontStack);
-
-        if (writingMode === Shaping.WritingMode.vertical) {
-            logicalInput.verticalizePunctuation();
-        }
-
-        var lines;
-        {
-            lines = breakLines(logicalInput, determineLineBreaks());
-        }
-
-        var positionedLines = [];
-        var shaping = {
-            positionedLines: positionedLines,
-            text: logicalInput.toString(),
-            top: translate[1],
-            bottom: translate[1],
-            left: translate[0],
-            right: translate[0],
-            writingMode: writingMode,
-            iconsInText: false,
-            verticalizable: false
-        };
-        if (isEmpty(positionedLines)) {
-            return false;
-        }
-
-        return shaping;
-    };
-
-    // using computed properties due to https://github.com/facebook/flow/issues/380
-    /* eslint no-useless-computed-key: 0 */
-
-    var whitespace = {};
-    whitespace[0x09] = true;
-    whitespace[0x0a] = true;
-    whitespace[0x0b] = true;
-    whitespace[0x0c] = true;
-    whitespace[0x0d] = true;
-    whitespace[0x20] = true;
-
-    function determineLineBreaks(logicalInput, spacing, maxWidth, glyphMap, imagePositions, symbolPlacement, layoutTextSize) {
-    //        if (symbolPlacement !== 'point') {
-    //            return [];
-    //        }
-    //
-    //        if (!logicalInput) {
-    //            return [];
-    //        }
-    //
-    //        var potentialLineBreaks = [];
-    //        var targetWidth = determineAverageLineWidth(logicalInput, spacing, maxWidth, glyphMap, imagePositions, layoutTextSize);
-    //
-    //        var hasServerSuggestedBreakpoints = logicalInput.text.indexOf("\u200b") >= 0;
-    //
-    //        var currentX = 0;
-    //
-    //        for (var i = 0; i < logicalInput.length(); i++) {
-    //            var section = logicalInput.getSection(i);
-    //            var codePoint = logicalInput.getCharCode(i);
-    //            if (!whitespace[codePoint]) {
-    //                currentX += getGlyphAdvance(codePoint, section, glyphMap, imagePositions, spacing, layoutTextSize);
-    //            }
-    //
-    //            // Ideographic characters, spaces, and word-breaking punctuation that often appear without
-    //            // surrounding spaces.
-    //            if ((i < logicalInput.length() - 1)) {
-    //                var ideographicBreak = charAllowsIdeographicBreaking(codePoint);
-    //                if (breakable[codePoint] || ideographicBreak || section.imageName) {
-    //
-    //                    potentialLineBreaks.push(
-    //                        evaluateBreak(
-    //                            i + 1,
-    //                            currentX,
-    //                            targetWidth,
-    //                            potentialLineBreaks,
-    //                            calculatePenalty(codePoint, logicalInput.getCharCode(i + 1), ideographicBreak && hasServerSuggestedBreakpoints),
-    //                            false));
-    //                }
-    //            }
-    //        }
-    //
-    //        return leastBadBreaks(
-    //            evaluateBreak(
-    //                logicalInput.length(),
-    //                currentX,
-    //                targetWidth,
-    //                potentialLineBreaks,
-    //                0,
-    //                true));
-    }
-
-    function getAnchorAlignment(anchor) {
-        var horizontalAlign = 0.5, verticalAlign = 0.5;
-
-        switch (anchor) {
-            case 'right':
-            case 'top-right':
-            case 'bottom-right':
-                horizontalAlign = 1;
-                break;
-            case 'left':
-            case 'top-left':
-            case 'bottom-left':
-                horizontalAlign = 0;
-                break;
-        }
-
-        switch (anchor) {
-            case 'bottom':
-            case 'bottom-right':
-            case 'bottom-left':
-                verticalAlign = 1;
-                break;
-            case 'top':
-            case 'top-right':
-            case 'top-left':
-                verticalAlign = 0;
-                break;
-        }
-
-        return {horizontalAlign: horizontalAlign, verticalAlign: verticalAlign};
-    }
-
-
-    Shaping.shapeIcon = function(image, iconOffset, iconAnchor){
-        var ref = getAnchorAlignment(iconAnchor);
-        var horizontalAlign = ref.horizontalAlign;
-        var verticalAlign = ref.verticalAlign;
-        var dx = iconOffset[0];
-        var dy = iconOffset[1];
-        var x1 = dx - image.displaySize[0] * horizontalAlign;
-        var x2 = x1 + image.displaySize[0];
-        var y1 = dy - image.displaySize[1] * verticalAlign;
-        var y2 = y1 + image.displaySize[1];
-        return {image: image, top: y1, bottom: y2, left: x1, right: x2};
-    };
-
-    Shaping.fitIconToText = function(shapedIcon, shapedText, textFit, padding, iconOffset, fontScale){
-    //        assert_1(textFit !== 'none');
-    //        assert_1(Array.isArray(padding) && padding.length === 4);
-    //        assert_1(Array.isArray(iconOffset) && iconOffset.length === 2);
-
-        var image = shapedIcon.image;
-
-        var collisionPadding;
-        if (image.content) {
-            var content = image.content;
-            var pixelRatio = image.pixelRatio || 1;
-            collisionPadding = [
-                content[0] / pixelRatio,
-                content[1] / pixelRatio,
-                image.displaySize[0] - content[2] / pixelRatio,
-                image.displaySize[1] - content[3] / pixelRatio
-            ];
-        }
-
-        // We don't respect the icon-anchor, because icon-text-fit is set. Instead,
-        // the icon will be centered on the text, then stretched in the given
-        // dimensions.
-
-        var textLeft = shapedText.left * fontScale;
-        var textRight = shapedText.right * fontScale;
-
-        var top, right, bottom, left;
-        if (textFit === 'width' || textFit === 'both') {
-            // Stretched horizontally to the text width
-            left = iconOffset[0] + textLeft - padding[3];
-            right = iconOffset[0] + textRight + padding[1];
-        } else {
-            // Centered on the text
-            left = iconOffset[0] + (textLeft + textRight - image.displaySize[0]) / 2;
-            right = left + image.displaySize[0];
-        }
-
-        var textTop = shapedText.top * fontScale;
-        var textBottom = shapedText.bottom * fontScale;
-        if (textFit === 'height' || textFit === 'both') {
-            // Stretched vertically to the text height
-            top = iconOffset[1] + textTop - padding[0];
-            bottom = iconOffset[1] + textBottom + padding[2];
-        } else {
-            // Centered on the text
-            top = iconOffset[1] + (textTop + textBottom - image.displaySize[1]) / 2;
-            bottom = top + image.displaySize[1];
-        }
-
-        return {image: image, top: top, right: right, bottom: bottom, left: left, collisionPadding: collisionPadding};
-    };
-
-    var SIZE_PACK_FACTOR = 128;
-
-    // For {text,icon}-size, get the bucket-level data that will be needed by
-    // the painter to set symbol-size-related uniforms
-    function getSizeData(tileZoom, value) {
-        var expression = value.expression;
-
-        if (expression.kind === 'constant') {
-            var layoutSize = expression.evaluate(new EvaluationParameters$1(tileZoom + 1));
-            return {kind: 'constant', layoutSize: layoutSize};
-
-        } else if (expression.kind === 'source') {
-            return {kind: 'source'};
-
-        } else {
-            var zoomStops = expression.zoomStops;
-            var interpolationType = expression.interpolationType;
-
-            // calculate covering zoom stops for zoom-dependent values
-            var lower = 0;
-            while (lower < zoomStops.length && zoomStops[lower] <= tileZoom) {
-                lower++;
-            }
-            lower = Math.max(0, lower - 1);
-            var upper = lower;
-            while (upper < zoomStops.length && zoomStops[upper] < tileZoom + 1) {
-                upper++;
-            }
-            upper = Math.min(zoomStops.length - 1, upper);
-
-            var minZoom = zoomStops[lower];
-            var maxZoom = zoomStops[upper];
-
-            // We'd like to be able to use CameraExpression or CompositeExpression in these
-            // return types rather than ExpressionSpecification, but the former are not
-            // transferrable across Web Worker boundaries.
-            if (expression.kind === 'composite') {
-                return {kind: 'composite', minZoom: minZoom, maxZoom: maxZoom, interpolationType: interpolationType};
-            }
-
-            // for camera functions, also save off the function values
-            // evaluated at the covering zoom levels
-            var minSize = expression.evaluate(new EvaluationParameters$1(minZoom));
-            var maxSize = expression.evaluate(new EvaluationParameters$1(maxZoom));
-
-            return {kind: 'camera', minZoom: minZoom, maxZoom: maxZoom, minSize: minSize, maxSize: maxSize, interpolationType: interpolationType};
-        }
-    }
-
-    function evaluateSizeForFeature(sizeData, ref, ref$1) {
-        var uSize = ref.uSize;
-        var uSizeT = ref.uSizeT;
-        var lowerSize = ref$1.lowerSize;
-        var upperSize = ref$1.upperSize;
-
-        if (sizeData.kind === 'source') {
-            return lowerSize / SIZE_PACK_FACTOR;
-        } else if (sizeData.kind === 'composite') {
-            return number(lowerSize / SIZE_PACK_FACTOR, upperSize / SIZE_PACK_FACTOR, uSizeT);
-        }
-        return uSize;
-    }
-
-    function evaluateSizeForZoom(sizeData, zoom) {
-        var uSizeT = 0;
-        var uSize = 0;
-
-        if (sizeData.kind === 'constant') {
-            uSize = sizeData.layoutSize;
-
-        } else if (sizeData.kind !== 'source') {
-            var interpolationType = sizeData.interpolationType;
-            var minZoom = sizeData.minZoom;
-            var maxZoom = sizeData.maxZoom;
-
-            // Even though we could get the exact value of the camera function
-            // at z = tr.zoom, we intentionally do not: instead, we interpolate
-            // between the camera function values at a pair of zoom stops covering
-            // [tileZoom, tileZoom + 1] in order to be consistent with this
-            // restriction on composite functions
-    //            var t = !interpolationType ? 0 : clamp(
-    //                Interpolate.interpolationFactor(interpolationType, zoom, minZoom, maxZoom), 0, 1);
-            var t = 0;
-
-            if (sizeData.kind === 'camera') {
-                uSize = number(sizeData.minSize, sizeData.maxSize, t);
-            } else {
-                uSizeT = t;
-            }
-        }
-
-        return {uSizeT: uSizeT, uSize: uSize};
-    }
-
-    var symbolSize = /*#__PURE__*/Object.freeze({
-        __proto__: null,
-        getSizeData: getSizeData,
-        evaluateSizeForFeature: evaluateSizeForFeature,
-        evaluateSizeForZoom: evaluateSizeForZoom,
-        SIZE_PACK_FACTOR: SIZE_PACK_FACTOR
-    });
-
-    function transformText(text, layer, feature) {
-        var transform = layer.layout.get('text-transform').evaluate(feature, {});
-        if (transform === 'uppercase') {
-            text = text.toLocaleUpperCase();
-        } else if (transform === 'lowercase') {
-            text = text.toLocaleLowerCase();
-        }
-
-    //        if (plugin.applyArabicShaping) {
-    //            text = plugin.applyArabicShaping(text);
-    //        }
-
-        return text;
-    }
-
-    function transformText$1(text, layer, feature) {
-        text.sections.forEach(function (section) {
-            section.text = transformText(section.text, layer, feature);
-        });
-        return text;
-    }
-
-    // The following table comes from <http://www.unicode.org/Public/12.0.0/ucd/Blocks.txt>.
-    // Keep it synchronized with <http://www.unicode.org/Public/UCD/latest/ucd/Blocks.txt>.
-
-    var unicodeBlockLookup = {
-        // 'Basic Latin': (char) => char >= 0x0000 && char <= 0x007F,
-        'Latin-1 Supplement': function (char) {
-            return char >= 0x0080 && char <= 0x00FF;
-        },
-        // 'Latin Extended-A': (char) => char >= 0x0100 && char <= 0x017F,
-        // 'Latin Extended-B': (char) => char >= 0x0180 && char <= 0x024F,
-        // 'IPA Extensions': (char) => char >= 0x0250 && char <= 0x02AF,
-        // 'Spacing Modifier Letters': (char) => char >= 0x02B0 && char <= 0x02FF,
-        // 'Combining Diacritical Marks': (char) => char >= 0x0300 && char <= 0x036F,
-        // 'Greek and Coptic': (char) => char >= 0x0370 && char <= 0x03FF,
-        // 'Cyrillic': (char) => char >= 0x0400 && char <= 0x04FF,
-        // 'Cyrillic Supplement': (char) => char >= 0x0500 && char <= 0x052F,
-        // 'Armenian': (char) => char >= 0x0530 && char <= 0x058F,
-        //'Hebrew': (char) => char >= 0x0590 && char <= 0x05FF,
-        'Arabic': function (char) {
-            return char >= 0x0600 && char <= 0x06FF;
-        },
-        //'Syriac': (char) => char >= 0x0700 && char <= 0x074F,
-        'Arabic Supplement': function (char) {
-            return char >= 0x0750 && char <= 0x077F;
-        },
-        // 'Thaana': (char) => char >= 0x0780 && char <= 0x07BF,
-        // 'NKo': (char) => char >= 0x07C0 && char <= 0x07FF,
-        // 'Samaritan': (char) => char >= 0x0800 && char <= 0x083F,
-        // 'Mandaic': (char) => char >= 0x0840 && char <= 0x085F,
-        // 'Syriac Supplement': (char) => char >= 0x0860 && char <= 0x086F,
-        'Arabic Extended-A': function (char) {
-            return char >= 0x08A0 && char <= 0x08FF;
-        },
-        // 'Devanagari': (char) => char >= 0x0900 && char <= 0x097F,
-        // 'Bengali': (char) => char >= 0x0980 && char <= 0x09FF,
-        // 'Gurmukhi': (char) => char >= 0x0A00 && char <= 0x0A7F,
-        // 'Gujarati': (char) => char >= 0x0A80 && char <= 0x0AFF,
-        // 'Oriya': (char) => char >= 0x0B00 && char <= 0x0B7F,
-        // 'Tamil': (char) => char >= 0x0B80 && char <= 0x0BFF,
-        // 'Telugu': (char) => char >= 0x0C00 && char <= 0x0C7F,
-        // 'Kannada': (char) => char >= 0x0C80 && char <= 0x0CFF,
-        // 'Malayalam': (char) => char >= 0x0D00 && char <= 0x0D7F,
-        // 'Sinhala': (char) => char >= 0x0D80 && char <= 0x0DFF,
-        // 'Thai': (char) => char >= 0x0E00 && char <= 0x0E7F,
-        // 'Lao': (char) => char >= 0x0E80 && char <= 0x0EFF,
-        // 'Tibetan': (char) => char >= 0x0F00 && char <= 0x0FFF,
-        // 'Myanmar': (char) => char >= 0x1000 && char <= 0x109F,
-        // 'Georgian': (char) => char >= 0x10A0 && char <= 0x10FF,
-        'Hangul Jamo': function (char) {
-            return char >= 0x1100 && char <= 0x11FF;
-        },
-        // 'Ethiopic': (char) => char >= 0x1200 && char <= 0x137F,
-        // 'Ethiopic Supplement': (char) => char >= 0x1380 && char <= 0x139F,
-        // 'Cherokee': (char) => char >= 0x13A0 && char <= 0x13FF,
-        'Unified Canadian Aboriginal Syllabics': function (char) {
-            return char >= 0x1400 && char <= 0x167F;
-        },
-        // 'Ogham': (char) => char >= 0x1680 && char <= 0x169F,
-        // 'Runic': (char) => char >= 0x16A0 && char <= 0x16FF,
-        // 'Tagalog': (char) => char >= 0x1700 && char <= 0x171F,
-        // 'Hanunoo': (char) => char >= 0x1720 && char <= 0x173F,
-        // 'Buhid': (char) => char >= 0x1740 && char <= 0x175F,
-        // 'Tagbanwa': (char) => char >= 0x1760 && char <= 0x177F,
-        'Khmer': function (char) {
-            return char >= 0x1780 && char <= 0x17FF;
-        },
-        // 'Mongolian': (char) => char >= 0x1800 && char <= 0x18AF,
-        'Unified Canadian Aboriginal Syllabics Extended': function (char) {
-            return char >= 0x18B0 && char <= 0x18FF;
-        },
-        // 'Limbu': (char) => char >= 0x1900 && char <= 0x194F,
-        // 'Tai Le': (char) => char >= 0x1950 && char <= 0x197F,
-        // 'New Tai Lue': (char) => char >= 0x1980 && char <= 0x19DF,
-        // 'Khmer Symbols': (char) => char >= 0x19E0 && char <= 0x19FF,
-        // 'Buginese': (char) => char >= 0x1A00 && char <= 0x1A1F,
-        // 'Tai Tham': (char) => char >= 0x1A20 && char <= 0x1AAF,
-        // 'Combining Diacritical Marks Extended': (char) => char >= 0x1AB0 && char <= 0x1AFF,
-        // 'Balinese': (char) => char >= 0x1B00 && char <= 0x1B7F,
-        // 'Sundanese': (char) => char >= 0x1B80 && char <= 0x1BBF,
-        // 'Batak': (char) => char >= 0x1BC0 && char <= 0x1BFF,
-        // 'Lepcha': (char) => char >= 0x1C00 && char <= 0x1C4F,
-        // 'Ol Chiki': (char) => char >= 0x1C50 && char <= 0x1C7F,
-        // 'Cyrillic Extended-C': (char) => char >= 0x1C80 && char <= 0x1C8F,
-        // 'Georgian Extended': (char) => char >= 0x1C90 && char <= 0x1CBF,
-        // 'Sundanese Supplement': (char) => char >= 0x1CC0 && char <= 0x1CCF,
-        // 'Vedic Extensions': (char) => char >= 0x1CD0 && char <= 0x1CFF,
-        // 'Phonetic Extensions': (char) => char >= 0x1D00 && char <= 0x1D7F,
-        // 'Phonetic Extensions Supplement': (char) => char >= 0x1D80 && char <= 0x1DBF,
-        // 'Combining Diacritical Marks Supplement': (char) => char >= 0x1DC0 && char <= 0x1DFF,
-        // 'Latin Extended Additional': (char) => char >= 0x1E00 && char <= 0x1EFF,
-        // 'Greek Extended': (char) => char >= 0x1F00 && char <= 0x1FFF,
-        'General Punctuation': function (char) {
-            return char >= 0x2000 && char <= 0x206F;
-        },
-        // 'Superscripts and Subscripts': (char) => char >= 0x2070 && char <= 0x209F,
-        // 'Currency Symbols': (char) => char >= 0x20A0 && char <= 0x20CF,
-        // 'Combining Diacritical Marks for Symbols': (char) => char >= 0x20D0 && char <= 0x20FF,
-        'Letterlike Symbols': function (char) {
-            return char >= 0x2100 && char <= 0x214F;
-        },
-        'Number Forms': function (char) {
-            return char >= 0x2150 && char <= 0x218F;
-        },
-        // 'Arrows': (char) => char >= 0x2190 && char <= 0x21FF,
-        // 'Mathematical Operators': (char) => char >= 0x2200 && char <= 0x22FF,
-        'Miscellaneous Technical': function (char) {
-            return char >= 0x2300 && char <= 0x23FF;
-        },
-        'Control Pictures': function (char) {
-            return char >= 0x2400 && char <= 0x243F;
-        },
-        'Optical Character Recognition': function (char) {
-            return char >= 0x2440 && char <= 0x245F;
-        },
-        'Enclosed Alphanumerics': function (char) {
-            return char >= 0x2460 && char <= 0x24FF;
-        },
-        // 'Box Drawing': (char) => char >= 0x2500 && char <= 0x257F,
-        // 'Block Elements': (char) => char >= 0x2580 && char <= 0x259F,
-        'Geometric Shapes': function (char) {
-            return char >= 0x25A0 && char <= 0x25FF;
-        },
-        'Miscellaneous Symbols': function (char) {
-            return char >= 0x2600 && char <= 0x26FF;
-        },
-        // 'Dingbats': (char) => char >= 0x2700 && char <= 0x27BF,
-        // 'Miscellaneous Mathematical Symbols-A': (char) => char >= 0x27C0 && char <= 0x27EF,
-        // 'Supplemental Arrows-A': (char) => char >= 0x27F0 && char <= 0x27FF,
-        // 'Braille Patterns': (char) => char >= 0x2800 && char <= 0x28FF,
-        // 'Supplemental Arrows-B': (char) => char >= 0x2900 && char <= 0x297F,
-        // 'Miscellaneous Mathematical Symbols-B': (char) => char >= 0x2980 && char <= 0x29FF,
-        // 'Supplemental Mathematical Operators': (char) => char >= 0x2A00 && char <= 0x2AFF,
-        'Miscellaneous Symbols and Arrows': function (char) {
-            return char >= 0x2B00 && char <= 0x2BFF;
-        },
-        // 'Glagolitic': (char) => char >= 0x2C00 && char <= 0x2C5F,
-        // 'Latin Extended-C': (char) => char >= 0x2C60 && char <= 0x2C7F,
-        // 'Coptic': (char) => char >= 0x2C80 && char <= 0x2CFF,
-        // 'Georgian Supplement': (char) => char >= 0x2D00 && char <= 0x2D2F,
-        // 'Tifinagh': (char) => char >= 0x2D30 && char <= 0x2D7F,
-        // 'Ethiopic Extended': (char) => char >= 0x2D80 && char <= 0x2DDF,
-        // 'Cyrillic Extended-A': (char) => char >= 0x2DE0 && char <= 0x2DFF,
-        // 'Supplemental Punctuation': (char) => char >= 0x2E00 && char <= 0x2E7F,
-        'CJK Radicals Supplement': function (char) {
-            return char >= 0x2E80 && char <= 0x2EFF;
-        },
-        'Kangxi Radicals': function (char) {
-            return char >= 0x2F00 && char <= 0x2FDF;
-        },
-        'Ideographic Description Characters': function (char) {
-            return char >= 0x2FF0 && char <= 0x2FFF;
-        },
-        'CJK Symbols and Punctuation': function (char) {
-            return char >= 0x3000 && char <= 0x303F;
-        },
-        'Hiragana': function (char) {
-            return char >= 0x3040 && char <= 0x309F;
-        },
-        'Katakana': function (char) {
-            return char >= 0x30A0 && char <= 0x30FF;
-        },
-        'Bopomofo': function (char) {
-            return char >= 0x3100 && char <= 0x312F;
-        },
-        'Hangul Compatibility Jamo': function (char) {
-            return char >= 0x3130 && char <= 0x318F;
-        },
-        'Kanbun': function (char) {
-            return char >= 0x3190 && char <= 0x319F;
-        },
-        'Bopomofo Extended': function (char) {
-            return char >= 0x31A0 && char <= 0x31BF;
-        },
-        'CJK Strokes': function (char) {
-            return char >= 0x31C0 && char <= 0x31EF;
-        },
-        'Katakana Phonetic Extensions': function (char) {
-            return char >= 0x31F0 && char <= 0x31FF;
-        },
-        'Enclosed CJK Letters and Months': function (char) {
-            return char >= 0x3200 && char <= 0x32FF;
-        },
-        'CJK Compatibility': function (char) {
-            return char >= 0x3300 && char <= 0x33FF;
-        },
-        'CJK Unified Ideographs Extension A': function (char) {
-            return char >= 0x3400 && char <= 0x4DBF;
-        },
-        'Yijing Hexagram Symbols': function (char) {
-            return char >= 0x4DC0 && char <= 0x4DFF;
-        },
-        'CJK Unified Ideographs': function (char) {
-            return char >= 0x4E00 && char <= 0x9FFF;
-        },
-        'Yi Syllables': function (char) {
-            return char >= 0xA000 && char <= 0xA48F;
-        },
-        'Yi Radicals': function (char) {
-            return char >= 0xA490 && char <= 0xA4CF;
-        },
-        // 'Lisu': (char) => char >= 0xA4D0 && char <= 0xA4FF,
-        // 'Vai': (char) => char >= 0xA500 && char <= 0xA63F,
-        // 'Cyrillic Extended-B': (char) => char >= 0xA640 && char <= 0xA69F,
-        // 'Bamum': (char) => char >= 0xA6A0 && char <= 0xA6FF,
-        // 'Modifier Tone Letters': (char) => char >= 0xA700 && char <= 0xA71F,
-        // 'Latin Extended-D': (char) => char >= 0xA720 && char <= 0xA7FF,
-        // 'Syloti Nagri': (char) => char >= 0xA800 && char <= 0xA82F,
-        // 'Common Indic Number Forms': (char) => char >= 0xA830 && char <= 0xA83F,
-        // 'Phags-pa': (char) => char >= 0xA840 && char <= 0xA87F,
-        // 'Saurashtra': (char) => char >= 0xA880 && char <= 0xA8DF,
-        // 'Devanagari Extended': (char) => char >= 0xA8E0 && char <= 0xA8FF,
-        // 'Kayah Li': (char) => char >= 0xA900 && char <= 0xA92F,
-        // 'Rejang': (char) => char >= 0xA930 && char <= 0xA95F,
-        'Hangul Jamo Extended-A': function (char) {
-            return char >= 0xA960 && char <= 0xA97F;
-        },
-        // 'Javanese': (char) => char >= 0xA980 && char <= 0xA9DF,
-        // 'Myanmar Extended-B': (char) => char >= 0xA9E0 && char <= 0xA9FF,
-        // 'Cham': (char) => char >= 0xAA00 && char <= 0xAA5F,
-        // 'Myanmar Extended-A': (char) => char >= 0xAA60 && char <= 0xAA7F,
-        // 'Tai Viet': (char) => char >= 0xAA80 && char <= 0xAADF,
-        // 'Meetei Mayek Extensions': (char) => char >= 0xAAE0 && char <= 0xAAFF,
-        // 'Ethiopic Extended-A': (char) => char >= 0xAB00 && char <= 0xAB2F,
-        // 'Latin Extended-E': (char) => char >= 0xAB30 && char <= 0xAB6F,
-        // 'Cherokee Supplement': (char) => char >= 0xAB70 && char <= 0xABBF,
-        // 'Meetei Mayek': (char) => char >= 0xABC0 && char <= 0xABFF,
-        'Hangul Syllables': function (char) {
-            return char >= 0xAC00 && char <= 0xD7AF;
-        },
-        'Hangul Jamo Extended-B': function (char) {
-            return char >= 0xD7B0 && char <= 0xD7FF;
-        },
-        // 'High Surrogates': (char) => char >= 0xD800 && char <= 0xDB7F,
-        // 'High Private Use Surrogates': (char) => char >= 0xDB80 && char <= 0xDBFF,
-        // 'Low Surrogates': (char) => char >= 0xDC00 && char <= 0xDFFF,
-        'Private Use Area': function (char) {
-            return char >= 0xE000 && char <= 0xF8FF;
-        },
-        'CJK Compatibility Ideographs': function (char) {
-            return char >= 0xF900 && char <= 0xFAFF;
-        },
-        // 'Alphabetic Presentation Forms': (char) => char >= 0xFB00 && char <= 0xFB4F,
-        'Arabic Presentation Forms-A': function (char) {
-            return char >= 0xFB50 && char <= 0xFDFF;
-        },
-        // 'Variation Selectors': (char) => char >= 0xFE00 && char <= 0xFE0F,
-        'Vertical Forms': function (char) {
-            return char >= 0xFE10 && char <= 0xFE1F;
-        },
-        // 'Combining Half Marks': (char) => char >= 0xFE20 && char <= 0xFE2F,
-        'CJK Compatibility Forms': function (char) {
-            return char >= 0xFE30 && char <= 0xFE4F;
-        },
-        'Small Form Variants': function (char) {
-            return char >= 0xFE50 && char <= 0xFE6F;
-        },
-        'Arabic Presentation Forms-B': function (char) {
-            return char >= 0xFE70 && char <= 0xFEFF;
-        },
-        'Halfwidth and Fullwidth Forms': function (char) {
-            return char >= 0xFF00 && char <= 0xFFEF;
-        }
-        // 'Specials': (char) => char >= 0xFFF0 && char <= 0xFFFF,
-        // 'Linear B Syllabary': (char) => char >= 0x10000 && char <= 0x1007F,
-        // 'Linear B Ideograms': (char) => char >= 0x10080 && char <= 0x100FF,
-        // 'Aegean Numbers': (char) => char >= 0x10100 && char <= 0x1013F,
-        // 'Ancient Greek Numbers': (char) => char >= 0x10140 && char <= 0x1018F,
-        // 'Ancient Symbols': (char) => char >= 0x10190 && char <= 0x101CF,
-        // 'Phaistos Disc': (char) => char >= 0x101D0 && char <= 0x101FF,
-        // 'Lycian': (char) => char >= 0x10280 && char <= 0x1029F,
-        // 'Carian': (char) => char >= 0x102A0 && char <= 0x102DF,
-        // 'Coptic Epact Numbers': (char) => char >= 0x102E0 && char <= 0x102FF,
-        // 'Old Italic': (char) => char >= 0x10300 && char <= 0x1032F,
-        // 'Gothic': (char) => char >= 0x10330 && char <= 0x1034F,
-        // 'Old Permic': (char) => char >= 0x10350 && char <= 0x1037F,
-        // 'Ugaritic': (char) => char >= 0x10380 && char <= 0x1039F,
-        // 'Old Persian': (char) => char >= 0x103A0 && char <= 0x103DF,
-        // 'Deseret': (char) => char >= 0x10400 && char <= 0x1044F,
-        // 'Shavian': (char) => char >= 0x10450 && char <= 0x1047F,
-        // 'Osmanya': (char) => char >= 0x10480 && char <= 0x104AF,
-        // 'Osage': (char) => char >= 0x104B0 && char <= 0x104FF,
-        // 'Elbasan': (char) => char >= 0x10500 && char <= 0x1052F,
-        // 'Caucasian Albanian': (char) => char >= 0x10530 && char <= 0x1056F,
-        // 'Linear A': (char) => char >= 0x10600 && char <= 0x1077F,
-        // 'Cypriot Syllabary': (char) => char >= 0x10800 && char <= 0x1083F,
-        // 'Imperial Aramaic': (char) => char >= 0x10840 && char <= 0x1085F,
-        // 'Palmyrene': (char) => char >= 0x10860 && char <= 0x1087F,
-        // 'Nabataean': (char) => char >= 0x10880 && char <= 0x108AF,
-        // 'Hatran': (char) => char >= 0x108E0 && char <= 0x108FF,
-        // 'Phoenician': (char) => char >= 0x10900 && char <= 0x1091F,
-        // 'Lydian': (char) => char >= 0x10920 && char <= 0x1093F,
-        // 'Meroitic Hieroglyphs': (char) => char >= 0x10980 && char <= 0x1099F,
-        // 'Meroitic Cursive': (char) => char >= 0x109A0 && char <= 0x109FF,
-        // 'Kharoshthi': (char) => char >= 0x10A00 && char <= 0x10A5F,
-        // 'Old South Arabian': (char) => char >= 0x10A60 && char <= 0x10A7F,
-        // 'Old North Arabian': (char) => char >= 0x10A80 && char <= 0x10A9F,
-        // 'Manichaean': (char) => char >= 0x10AC0 && char <= 0x10AFF,
-        // 'Avestan': (char) => char >= 0x10B00 && char <= 0x10B3F,
-        // 'Inscriptional Parthian': (char) => char >= 0x10B40 && char <= 0x10B5F,
-        // 'Inscriptional Pahlavi': (char) => char >= 0x10B60 && char <= 0x10B7F,
-        // 'Psalter Pahlavi': (char) => char >= 0x10B80 && char <= 0x10BAF,
-        // 'Old Turkic': (char) => char >= 0x10C00 && char <= 0x10C4F,
-        // 'Old Hungarian': (char) => char >= 0x10C80 && char <= 0x10CFF,
-        // 'Hanifi Rohingya': (char) => char >= 0x10D00 && char <= 0x10D3F,
-        // 'Rumi Numeral Symbols': (char) => char >= 0x10E60 && char <= 0x10E7F,
-        // 'Old Sogdian': (char) => char >= 0x10F00 && char <= 0x10F2F,
-        // 'Sogdian': (char) => char >= 0x10F30 && char <= 0x10F6F,
-        // 'Elymaic': (char) => char >= 0x10FE0 && char <= 0x10FFF,
-        // 'Brahmi': (char) => char >= 0x11000 && char <= 0x1107F,
-        // 'Kaithi': (char) => char >= 0x11080 && char <= 0x110CF,
-        // 'Sora Sompeng': (char) => char >= 0x110D0 && char <= 0x110FF,
-        // 'Chakma': (char) => char >= 0x11100 && char <= 0x1114F,
-        // 'Mahajani': (char) => char >= 0x11150 && char <= 0x1117F,
-        // 'Sharada': (char) => char >= 0x11180 && char <= 0x111DF,
-        // 'Sinhala Archaic Numbers': (char) => char >= 0x111E0 && char <= 0x111FF,
-        // 'Khojki': (char) => char >= 0x11200 && char <= 0x1124F,
-        // 'Multani': (char) => char >= 0x11280 && char <= 0x112AF,
-        // 'Khudawadi': (char) => char >= 0x112B0 && char <= 0x112FF,
-        // 'Grantha': (char) => char >= 0x11300 && char <= 0x1137F,
-        // 'Newa': (char) => char >= 0x11400 && char <= 0x1147F,
-        // 'Tirhuta': (char) => char >= 0x11480 && char <= 0x114DF,
-        // 'Siddham': (char) => char >= 0x11580 && char <= 0x115FF,
-        // 'Modi': (char) => char >= 0x11600 && char <= 0x1165F,
-        // 'Mongolian Supplement': (char) => char >= 0x11660 && char <= 0x1167F,
-        // 'Takri': (char) => char >= 0x11680 && char <= 0x116CF,
-        // 'Ahom': (char) => char >= 0x11700 && char <= 0x1173F,
-        // 'Dogra': (char) => char >= 0x11800 && char <= 0x1184F,
-        // 'Warang Citi': (char) => char >= 0x118A0 && char <= 0x118FF,
-        // 'Nandinagari': (char) => char >= 0x119A0 && char <= 0x119FF,
-        // 'Zanabazar Square': (char) => char >= 0x11A00 && char <= 0x11A4F,
-        // 'Soyombo': (char) => char >= 0x11A50 && char <= 0x11AAF,
-        // 'Pau Cin Hau': (char) => char >= 0x11AC0 && char <= 0x11AFF,
-        // 'Bhaiksuki': (char) => char >= 0x11C00 && char <= 0x11C6F,
-        // 'Marchen': (char) => char >= 0x11C70 && char <= 0x11CBF,
-        // 'Masaram Gondi': (char) => char >= 0x11D00 && char <= 0x11D5F,
-        // 'Gunjala Gondi': (char) => char >= 0x11D60 && char <= 0x11DAF,
-        // 'Makasar': (char) => char >= 0x11EE0 && char <= 0x11EFF,
-        // 'Tamil Supplement': (char) => char >= 0x11FC0 && char <= 0x11FFF,
-        // 'Cuneiform': (char) => char >= 0x12000 && char <= 0x123FF,
-        // 'Cuneiform Numbers and Punctuation': (char) => char >= 0x12400 && char <= 0x1247F,
-        // 'Early Dynastic Cuneiform': (char) => char >= 0x12480 && char <= 0x1254F,
-        // 'Egyptian Hieroglyphs': (char) => char >= 0x13000 && char <= 0x1342F,
-        // 'Egyptian Hieroglyph Format Controls': (char) => char >= 0x13430 && char <= 0x1343F,
-        // 'Anatolian Hieroglyphs': (char) => char >= 0x14400 && char <= 0x1467F,
-        // 'Bamum Supplement': (char) => char >= 0x16800 && char <= 0x16A3F,
-        // 'Mro': (char) => char >= 0x16A40 && char <= 0x16A6F,
-        // 'Bassa Vah': (char) => char >= 0x16AD0 && char <= 0x16AFF,
-        // 'Pahawh Hmong': (char) => char >= 0x16B00 && char <= 0x16B8F,
-        // 'Medefaidrin': (char) => char >= 0x16E40 && char <= 0x16E9F,
-        // 'Miao': (char) => char >= 0x16F00 && char <= 0x16F9F,
-        // 'Ideographic Symbols and Punctuation': (char) => char >= 0x16FE0 && char <= 0x16FFF,
-        // 'Tangut': (char) => char >= 0x17000 && char <= 0x187FF,
-        // 'Tangut Components': (char) => char >= 0x18800 && char <= 0x18AFF,
-        // 'Kana Supplement': (char) => char >= 0x1B000 && char <= 0x1B0FF,
-        // 'Kana Extended-A': (char) => char >= 0x1B100 && char <= 0x1B12F,
-        // 'Small Kana Extension': (char) => char >= 0x1B130 && char <= 0x1B16F,
-        // 'Nushu': (char) => char >= 0x1B170 && char <= 0x1B2FF,
-        // 'Duployan': (char) => char >= 0x1BC00 && char <= 0x1BC9F,
-        // 'Shorthand Format Controls': (char) => char >= 0x1BCA0 && char <= 0x1BCAF,
-        // 'Byzantine Musical Symbols': (char) => char >= 0x1D000 && char <= 0x1D0FF,
-        // 'Musical Symbols': (char) => char >= 0x1D100 && char <= 0x1D1FF,
-        // 'Ancient Greek Musical Notation': (char) => char >= 0x1D200 && char <= 0x1D24F,
-        // 'Mayan Numerals': (char) => char >= 0x1D2E0 && char <= 0x1D2FF,
-        // 'Tai Xuan Jing Symbols': (char) => char >= 0x1D300 && char <= 0x1D35F,
-        // 'Counting Rod Numerals': (char) => char >= 0x1D360 && char <= 0x1D37F,
-        // 'Mathematical Alphanumeric Symbols': (char) => char >= 0x1D400 && char <= 0x1D7FF,
-        // 'Sutton SignWriting': (char) => char >= 0x1D800 && char <= 0x1DAAF,
-        // 'Glagolitic Supplement': (char) => char >= 0x1E000 && char <= 0x1E02F,
-        // 'Nyiakeng Puachue Hmong': (char) => char >= 0x1E100 && char <= 0x1E14F,
-        // 'Wancho': (char) => char >= 0x1E2C0 && char <= 0x1E2FF,
-        // 'Mende Kikakui': (char) => char >= 0x1E800 && char <= 0x1E8DF,
-        // 'Adlam': (char) => char >= 0x1E900 && char <= 0x1E95F,
-        // 'Indic Siyaq Numbers': (char) => char >= 0x1EC70 && char <= 0x1ECBF,
-        // 'Ottoman Siyaq Numbers': (char) => char >= 0x1ED00 && char <= 0x1ED4F,
-        // 'Arabic Mathematical Alphabetic Symbols': (char) => char >= 0x1EE00 && char <= 0x1EEFF,
-        // 'Mahjong Tiles': (char) => char >= 0x1F000 && char <= 0x1F02F,
-        // 'Domino Tiles': (char) => char >= 0x1F030 && char <= 0x1F09F,
-        // 'Playing Cards': (char) => char >= 0x1F0A0 && char <= 0x1F0FF,
-        // 'Enclosed Alphanumeric Supplement': (char) => char >= 0x1F100 && char <= 0x1F1FF,
-        // 'Enclosed Ideographic Supplement': (char) => char >= 0x1F200 && char <= 0x1F2FF,
-        // 'Miscellaneous Symbols and Pictographs': (char) => char >= 0x1F300 && char <= 0x1F5FF,
-        // 'Emoticons': (char) => char >= 0x1F600 && char <= 0x1F64F,
-        // 'Ornamental Dingbats': (char) => char >= 0x1F650 && char <= 0x1F67F,
-        // 'Transport and Map Symbols': (char) => char >= 0x1F680 && char <= 0x1F6FF,
-        // 'Alchemical Symbols': (char) => char >= 0x1F700 && char <= 0x1F77F,
-        // 'Geometric Shapes Extended': (char) => char >= 0x1F780 && char <= 0x1F7FF,
-        // 'Supplemental Arrows-C': (char) => char >= 0x1F800 && char <= 0x1F8FF,
-        // 'Supplemental Symbols and Pictographs': (char) => char >= 0x1F900 && char <= 0x1F9FF,
-        // 'Chess Symbols': (char) => char >= 0x1FA00 && char <= 0x1FA6F,
-        // 'Symbols and Pictographs Extended-A': (char) => char >= 0x1FA70 && char <= 0x1FAFF,
-        // 'CJK Unified Ideographs Extension B': (char) => char >= 0x20000 && char <= 0x2A6DF,
-        // 'CJK Unified Ideographs Extension C': (char) => char >= 0x2A700 && char <= 0x2B73F,
-        // 'CJK Unified Ideographs Extension D': (char) => char >= 0x2B740 && char <= 0x2B81F,
-        // 'CJK Unified Ideographs Extension E': (char) => char >= 0x2B820 && char <= 0x2CEAF,
-        // 'CJK Unified Ideographs Extension F': (char) => char >= 0x2CEB0 && char <= 0x2EBEF,
-        // 'CJK Compatibility Ideographs Supplement': (char) => char >= 0x2F800 && char <= 0x2FA1F,
-        // 'Tags': (char) => char >= 0xE0000 && char <= 0xE007F,
-        // 'Variation Selectors Supplement': (char) => char >= 0xE0100 && char <= 0xE01EF,
-        // 'Supplementary Private Use Area-A': (char) => char >= 0xF0000 && char <= 0xFFFFF,
-        // 'Supplementary Private Use Area-B': (char) => char >= 0x100000 && char <= 0x10FFFF,
-    };
-
-    var ScriptDetection = function ScriptDetection() {
-    };
-
-    ScriptDetection.allowsVerticalWritingMode = function(chars){
-        for (var i = 0, list = chars; i < list.length; i += 1) {
-            var char = list[i];
-
-            if (charHasUprightVerticalOrientation(char.charCodeAt(0))) {
-                return true;
-            }
-        }
-        return false;
-    };
-
-    ScriptDetection.allowsLetterSpacing = function(chars){
-        for (var i = 0, list = chars; i < list.length; i += 1) {
-            var char = list[i];
-
-            if (!charAllowsLetterSpacing(char.charCodeAt(0))) {
-                return false;
-            }
-        }
-        return true;
-    };
-
-    function charAllowsLetterSpacing(char) {
-        if (unicodeBlockLookup['Arabic'](char)) {
-            return false;
-        }
-        if (unicodeBlockLookup['Arabic Supplement'](char)) {
-            return false;
-        }
-        if (unicodeBlockLookup['Arabic Extended-A'](char)) {
-            return false;
-        }
-        if (unicodeBlockLookup['Arabic Presentation Forms-A'](char)) {
-            return false;
-        }
-        if (unicodeBlockLookup['Arabic Presentation Forms-B'](char)) {
-            return false;
-        }
-
-        return true;
-    }
-
-    // The following logic comes from
-    // <http://www.unicode.org/Public/12.0.0/ucd/VerticalOrientation.txt>.
-    // Keep it synchronized with
-    // <http://www.unicode.org/Public/UCD/latest/ucd/VerticalOrientation.txt>.
-    // The data file denotes with “U” or “Tu” any codepoint that may be drawn
-    // upright in vertical text but does not distinguish between upright and
-    // “neutral” characters.
-
-    // Blocks in the Unicode supplementary planes are excluded from this module due
-    // to <https://github.com/mapbox/mapbox-gl/issues/29>.
-
-    /**
-     * Returns true if the given Unicode codepoint identifies a character with
-     * upright orientation.
-     *
-     * A character has upright orientation if it is drawn upright (unrotated)
-     * whether the line is oriented horizontally or vertically, even if both
-     * adjacent characters can be rotated. For example, a Chinese character is
-     * always drawn upright. An uprightly oriented character causes an adjacent
-     * “neutral” character to be drawn upright as well.
-     * @private
-     */
-    function charHasUprightVerticalOrientation(char) {
-        if (char === 0x02EA /* modifier letter yin departing tone mark */ ||
-            char === 0x02EB /* modifier letter yang departing tone mark */) {
-            return true;
-        }
-
-        // Return early for characters outside all ranges whose characters remain
-        // upright in vertical writing mode.
-        if (char < 0x1100) {
-            return false;
-        }
-
-        if (unicodeBlockLookup['Bopomofo Extended'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Bopomofo'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['CJK Compatibility Forms'](char)) {
-            if (!((char >= 0xFE49 /* dashed overline */ && char <= 0xFE4F) /* wavy low line */)) {
-                return true;
-            }
-        }
-        if (unicodeBlockLookup['CJK Compatibility Ideographs'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['CJK Compatibility'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['CJK Radicals Supplement'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['CJK Strokes'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['CJK Symbols and Punctuation'](char)) {
-            if (!((char >= 0x3008 /* left angle bracket */ && char <= 0x3011) /* right black lenticular bracket */) && !((char >= 0x3014 /* left tortoise shell bracket */ && char <= 0x301F) /* low double prime quotation mark */) &&
-                char !== 0x3030 /* wavy dash */) {
-                return true;
-            }
-        }
-        if (unicodeBlockLookup['CJK Unified Ideographs Extension A'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['CJK Unified Ideographs'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Enclosed CJK Letters and Months'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Hangul Compatibility Jamo'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Hangul Jamo Extended-A'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Hangul Jamo Extended-B'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Hangul Jamo'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Hangul Syllables'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Hiragana'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Ideographic Description Characters'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Kanbun'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Kangxi Radicals'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Katakana Phonetic Extensions'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Katakana'](char)) {
-            if (char !== 0x30FC /* katakana-hiragana prolonged sound mark */) {
-                return true;
-            }
-        }
-        if (unicodeBlockLookup['Halfwidth and Fullwidth Forms'](char)) {
-            if (char !== 0xFF08 /* fullwidth left parenthesis */ &&
-                char !== 0xFF09 /* fullwidth right parenthesis */ &&
-                char !== 0xFF0D /* fullwidth hyphen-minus */ && !((char >= 0xFF1A /* fullwidth colon */ && char <= 0xFF1E) /* fullwidth greater-than sign */) &&
-                char !== 0xFF3B /* fullwidth left square bracket */ &&
-                char !== 0xFF3D /* fullwidth right square bracket */ &&
-                char !== 0xFF3F /* fullwidth low line */ && !(char >= 0xFF5B /* fullwidth left curly bracket */ && char <= 0xFFDF) &&
-                char !== 0xFFE3 /* fullwidth macron */ && !(char >= 0xFFE8 /* halfwidth forms light vertical */ && char <= 0xFFEF)) {
-                return true;
-            }
-        }
-        if (unicodeBlockLookup['Small Form Variants'](char)) {
-            if (!((char >= 0xFE58 /* small em dash */ && char <= 0xFE5E) /* small right tortoise shell bracket */) && !((char >= 0xFE63 /* small hyphen-minus */ && char <= 0xFE66) /* small equals sign */)) {
-                return true;
-            }
-        }
-        if (unicodeBlockLookup['Unified Canadian Aboriginal Syllabics'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Unified Canadian Aboriginal Syllabics Extended'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Vertical Forms'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Yijing Hexagram Symbols'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Yi Syllables'](char)) {
-            return true;
-        }
-        if (unicodeBlockLookup['Yi Radicals'](char)) {
-            return true;
-        }
-
-        return false;
-    }
-
-    function charInRTLScript(char) {
-        // Main blocks for Hebrew, Arabic, Thaana and other RTL scripts
-        return (char >= 0x0590 && char <= 0x08FF) ||
-            unicodeBlockLookup['Arabic Presentation Forms-A'](char) ||
-            unicodeBlockLookup['Arabic Presentation Forms-B'](char);
-    }
-
-    ScriptDetection.stringContainsRTLText = function(chars){
-        for (var i = 0, list = chars; i < list.length; i += 1) {
-            var char = list[i];
-
-            if (charInRTLScript(char.charCodeAt(0))) {
-                return true;
-            }
-        }
-        return false;
-    };
-
-    var vectorTileFeatureTypes$2 = ['Unknown', 'Point', 'LineString', 'Polygon'];
-
-    // Opacity arrays are frequently updated but don't contain a lot of information, so we pack them
-    // tight. Each Uint32 is actually four duplicate Uint8s for the four corners of a glyph
-    // 7 bits are for the current opacity, and the lowest bit is the target opacity
-
-    // actually defined in symbol_attributes.js
-    // const placementOpacityAttributes = [
-    //     { name: 'a_fade_opacity', components: 1, type: 'Uint32' }
-    // ];
-    var shaderOpacityAttributes = [
-        {name: 'a_fade_opacity', components: 1, type: 'Uint8', offset: 0}
-    ];
-
-    function addVertex$1(array, anchorX, anchorY, ox, oy, tx, ty, sizeVertex, isSDF, pixelOffsetX, pixelOffsetY, minFontScaleX, minFontScaleY) {
-        var aSizeX = sizeVertex ? Math.min(MAX_PACKED_SIZE, Math.round(sizeVertex[0])) : 0;
-        var aSizeY = sizeVertex ? Math.min(MAX_PACKED_SIZE, Math.round(sizeVertex[1])) : 0;
-        array.emplaceBack(
-            // a_pos_offset
-            anchorX,
-            anchorY,
-            Math.round(ox * 32),
-            Math.round(oy * 32),
-
-            // a_data
-            tx, // x coordinate of symbol on glyph atlas texture
-            ty, // y coordinate of symbol on glyph atlas texture
-            (aSizeX << 1) + (isSDF ? 1 : 0),
-            aSizeY,
-            pixelOffsetX * 16,
-            pixelOffsetY * 16,
-            minFontScaleX * 256,
-            minFontScaleY * 256
-        );
-    }
-
-    function addDynamicAttributes(dynamicLayoutVertexArray, p, angle) {
-        dynamicLayoutVertexArray.emplaceBack(p.x, p.y, angle);
-        dynamicLayoutVertexArray.emplaceBack(p.x, p.y, angle);
-        dynamicLayoutVertexArray.emplaceBack(p.x, p.y, angle);
-        dynamicLayoutVertexArray.emplaceBack(p.x, p.y, angle);
-    }
-
-    function containsRTLText(formattedText) {
-        for (var i = 0, list = formattedText.sections; i < list.length; i += 1) {
-            var section = list[i];
-
-            if (ScriptDetection.stringContainsRTLText(section.text)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    var SymbolBuffers = function SymbolBuffers(programConfigurations) {
-        this.layoutVertexArray = new StructArrayLayout4i4ui4i24();
-        this.indexArray = new StructArrayLayout3ui6();
-        this.programConfigurations = programConfigurations;
-        this.segments = new SegmentVector();
-        this.dynamicLayoutVertexArray = new StructArrayLayout3f12();
-        this.opacityVertexArray = new StructArrayLayout1ul4();
-        this.placedSymbolArray = new PlacedSymbolArray();
-    };
-
-    SymbolBuffers.prototype.upload = function upload(context, dynamicIndexBuffer, upload$1, update) {
-        if (upload$1) {
-            this.layoutVertexBuffer = context.createVertexBuffer(this.layoutVertexArray, SymbolAttributes.symbolLayoutAttributes.members);
-            this.indexBuffer = context.createIndexBuffer(this.indexArray, dynamicIndexBuffer);
-            this.dynamicLayoutVertexBuffer = context.createVertexBuffer(this.dynamicLayoutVertexArray, SymbolAttributes.dynamicLayoutAttributes.members, true);
-            this.opacityVertexBuffer = context.createVertexBuffer(this.opacityVertexArray, shaderOpacityAttributes, true);
-            // This is a performance hack so that we can write to opacityVertexArray with uint32s
-            // even though the shaders read uint8s
-            this.opacityVertexBuffer.itemSize = 1;
-        }
-        if (upload$1 || update) {
-            this.programConfigurations.upload(context);
-        }
-    };
-
-    SymbolBuffers.prototype.destroy = function destroy() {
-        if (!this.layoutVertexBuffer) {
-            return;
-        }
-        this.layoutVertexBuffer.destroy();
-        this.indexBuffer.destroy();
-        this.programConfigurations.destroy();
-        this.segments.destroy();
-        this.dynamicLayoutVertexBuffer.destroy();
-        this.opacityVertexBuffer.destroy();
-    };
-
-    SymbolBuffers.prototype.clear = function clear() {
-
-    };
-
-    WebWorkerTransfer.register('SymbolBuffers', SymbolBuffers);
-
-    var CollisionBuffers = function CollisionBuffers(LayoutArray, layoutAttributes, IndexArray) {
-        this.layoutVertexArray = new LayoutArray();
-        this.layoutAttributes = layoutAttributes;
-        this.indexArray = new IndexArray();
-        this.segments = new SegmentVector();
-        this.collisionVertexArray = new StructArrayLayout2ub2f12();
-    };
-
-    CollisionBuffers.prototype.upload = function upload(context) {
-        this.layoutVertexBuffer = context.createVertexBuffer(this.layoutVertexArray, this.layoutAttributes);
-        this.indexBuffer = context.createIndexBuffer(this.indexArray);
-        this.collisionVertexBuffer = context.createVertexBuffer(this.collisionVertexArray, collisionVertexAttributes.members, true);
-    };
-
-    CollisionBuffers.prototype.destroy = function destroy() {
-        if (!this.layoutVertexBuffer) {
-            return;
-        }
-        this.layoutVertexBuffer.destroy();
-        this.indexBuffer.destroy();
-        this.segments.destroy();
-        this.collisionVertexBuffer.destroy();
-    };
-
-    WebWorkerTransfer.register('CollisionBuffers', CollisionBuffers);
-
-    /**
-     * Unlike other buckets, which simply implement #addFeature with type-specific
-     * logic for (essentially) triangulating feature geometries, SymbolBucket
-     * requires specialized behavior:
-     *
-     * 1. WorkerTile#parse(), the logical owner of the bucket creation process,
-     *    calls SymbolBucket#populate(), which resolves text and icon tokens on
-     *    each feature, adds each glyphs and symbols needed to the passed-in
-     *    collections options.glyphDependencies and options.iconDependencies, and
-     *    stores the feature data for use in subsequent step (this.features).
-     *
-     * 2. WorkerTile asynchronously requests from the main thread all of the glyphs
-     *    and icons needed (by this bucket and any others). When glyphs and icons
-     *    have been received, the WorkerTile creates a CollisionIndex and invokes:
-     *
-     * 3. performSymbolLayout(bucket, stacks, icons) perform texts shaping and
-     *    layout on a Symbol Bucket. This step populates:
-     *      `this.symbolInstances`: metadata on generated symbols
-     *      `this.collisionBoxArray`: collision data for use by foreground
-     *      `this.text`: SymbolBuffers for text symbols
-     *      `this.icons`: SymbolBuffers for icons
-     *      `this.iconCollisionBox`: Debug SymbolBuffers for icon collision boxes
-     *      `this.textCollisionBox`: Debug SymbolBuffers for text collision boxes
-     *      `this.iconCollisionCircle`: Debug SymbolBuffers for icon collision circles
-     *      `this.textCollisionCircle`: Debug SymbolBuffers for text collision circles
-     *    The results are sent to the foreground for rendering
-     *
-     * 4. performSymbolPlacement(bucket, collisionIndex) is run on the foreground,
-     *    and uses the CollisionIndex along with current camera settings to determine
-     *    which symbols can actually show on the map. Collided symbols are hidden
-     *    using a dynamic "OpacityVertexArray".
-     *
-     * @private
-     */
-    var SymbolBucket = function SymbolBucket(options) {
-        this.collisionBoxArray = options.collisionBoxArray;
-        this.zoom = options.zoom;
-        this.overscaling = options.overscaling;
-        this.layers = options.layers;
-        this.layerIds = this.layers.map(function (layer) {
-            return layer.id;
-        });
-        this.index = options.index;
-        this.pixelRatio = options.pixelRatio;
-        this.sourceLayerIndex = options.sourceLayerIndex;
-        this.hasPattern = false;
-        this.hasPaintOverrides = false;
-        this.hasRTLText = false;
-
-        var layer = this.layers[0];
-        var unevaluatedLayoutValues = layer._unevaluatedLayout._values;
-
-        this.textSizeData = symbolSize.getSizeData(this.zoom, unevaluatedLayoutValues['text-size']);
-        this.iconSizeData = symbolSize.getSizeData(this.zoom, unevaluatedLayoutValues['icon-size']);
-
-        var layout = this.layers[0].layout;
-        var sortKey = layout.get('symbol-sort-key');
-        var zOrder = layout.get('symbol-z-order');
-        this.sortFeaturesByKey = zOrder !== 'viewport-y' && sortKey.constantOr(1) !== undefined;
-        var zOrderByViewportY = zOrder === 'viewport-y' || (zOrder === 'auto' && !this.sortFeaturesByKey);
-        this.sortFeaturesByY = zOrderByViewportY && (layout.get('text-allow-overlap') || layout.get('icon-allow-overlap') ||
-            layout.get('text-ignore-placement') || layout.get('icon-ignore-placement'));
-
-        if (layout.get('symbol-placement') === 'point') {
-            this.writingModes = layout.get('text-writing-mode').map(function (wm) {
-                return Shaping.WritingMode[wm];
-            });
-        }
-
-        this.stateDependentLayerIds = this.layers.filter(function (l) {
-            return l.isStateDependent();
-        }).map(function (l) {
-                return l.id;
-            });
-
-        this.sourceID = options.sourceID;
-    };
-
-    SymbolBucket.prototype.createArrays = function createArrays() {
-    //        var layout = this.layers[0].layout;
-    //        //this.hasPaintOverrides = SymbolStyleLayer.hasPaintOverrides(layout);
-    //        this.hasPaintOverrides = false;
-    //
-    //        this.text = new SymbolBuffers(new ProgramConfigurationSet(SymbolAttributes.symbolLayoutAttributes.members, this.layers, this.zoom, function (property) {
-    //            return /^text/.test(property);
-    //        }));
-    //        this.icon = new SymbolBuffers(new ProgramConfigurationSet(SymbolAttributes.symbolLayoutAttributes.members, this.layers, this.zoom, function (property) {
-    //            return /^icon/.test(property);
-    //        }));
-    //
-    //        this.textCollisionBox = new CollisionBuffers(StructArrayLayout2i2i2i12, SymbolAttributes.collisionBoxLayout.members, StructArrayLayout2ui4);
-    //        this.iconCollisionBox = new CollisionBuffers(StructArrayLayout2i2i2i12, SymbolAttributes.collisionBoxLayout.members, StructArrayLayout2ui4);
-    //        this.textCollisionCircle = new CollisionBuffers(StructArrayLayout2i2i2i12, SymbolAttributes.collisionCircleLayout.members, StructArrayLayout3ui6);
-    //        this.iconCollisionCircle = new CollisionBuffers(StructArrayLayout2i2i2i12, SymbolAttributes.collisionCircleLayout.members, StructArrayLayout3ui6);
-    //
-    //        this.glyphOffsetArray = new GlyphOffsetArray();
-    //        this.lineVertexArray = new SymbolLineVertexArray();
-    //        this.symbolInstances = new SymbolInstanceArray();
-    };
-
-    SymbolBucket.prototype.calculateGlyphDependencies = function calculateGlyphDependencies(text, stack, textAlongLine, allowVerticalPlacement, doesAllowVerticalWritingMode) {
-        for (var i = 0; i < text.length; i++) {
-            stack[text.charCodeAt(i)] = true;
-        }
-    };
-
-    SymbolBucket.prototype.populate = function populate(features, options) {
-        var layer = this.layers[0];
-        var layout = layer.layout;
-
-        var textFont = layout.get('text-font');
-        var textField = layout.get('text-field');
-        var iconImage = layout.get('icon-image');
-        var hasText =
-            (textField.value.kind !== 'constant' ||
-                (textField.value.value instanceof Formatted$1 && !textField.value.value.isEmpty()) ||
-                textField.value.value.toString().length > 0) &&
-                (textFont.value.kind !== 'constant' || textFont.value.value.length > 0);
-        // we should always resolve the icon-image value if the property was defined in the style
-        // this allows us to fire the styleimagemissing event if image evaluation returns null
-        // the only way to distinguish between null returned from a coalesce statement with no valid images
-        // and null returned because icon-image wasn't defined is to check whether or not iconImage.parameters is an empty object
-        var hasIcon = (iconImage.value.kind !== 'constant' || !!iconImage.value.value) && Object.keys(iconImage.parameters).length > 0;
-        var symbolSortKey = layout.get('symbol-sort-key');
-
-        this.features = [];
-
-        if (!hasText && !hasIcon) {
-            return;
-        }
-
-        var icons = options.iconDependencies;
-        var stacks = options.glyphDependencies;
-        var availableImages = options.availableImages;
-        var globalProperties = new EvaluationParameters$1(this.zoom);
-
-        for (var i$1 = 0, list$1 = features; i$1 < list$1.length; i$1 += 1) {
-            var ref = list$1[i$1];
-            var feature = ref.feature;
-            var index = ref.index;
-            var sourceLayerIndex = ref.sourceLayerIndex;
-
-            if (!layer._featureFilter(globalProperties, feature)) {
-                continue;
-            }
-
-            var text = (void 0);
-            if (hasText) {
-                // Expression evaluation will automatically coerce to Formatted
-                // but plain string token evaluation skips that pathway so do the
-                // conversion here.
-                var resolvedTokens = layer.getValueAndResolveTokens('text-field', feature, availableImages);
-                var formattedText = Formatted$1.factory(resolvedTokens);
-                if (containsRTLText(formattedText)) {
-                    this.hasRTLText = true;
-                }
-                if (
-                    !this.hasRTLText || // non-rtl text so can proceed safely
-                        getRTLTextPluginStatus() === 'unavailable' || // We don't intend to lazy-load the rtl text plugin, so proceed with incorrect shaping
-                        this.hasRTLText && plugin.isParsed() // Use the rtlText plugin to shape text
-                    ) {
-                    text = transformText$1(formattedText, layer, feature);
-                }
-            }
-
-            var icon = (void 0);
-            if (hasIcon) {
-                // Expression evaluation will automatically coerce to Image
-                // but plain string token evaluation skips that pathway so do the
-                // conversion here.
-                var resolvedTokens$1 = layer.getValueAndResolveTokens('icon-image', feature, availableImages);
-                if (resolvedTokens$1 instanceof ResolvedImage$1) {
-                    icon = resolvedTokens$1;
-                } else {
-                    icon = ResolvedImage$1.fromString(resolvedTokens$1);
-                }
-            }
-
-            if (!text && !icon) {
-                continue;
-            }
-
-            var sortKey = this.sortFeaturesByKey ?
-                symbolSortKey.evaluate(feature, {}) :
-                undefined;
-
-            var symbolFeature = {
-                text: text,
-                icon: icon,
-                index: index,
-                sourceLayerIndex: sourceLayerIndex,
-                geometry: loadGeometry(feature),
-                properties: feature.properties,
-                type: vectorTileFeatureTypes$2[feature.type],
-                sortKey: sortKey
-            };
-            if (typeof feature.id !== 'undefined') {
-                symbolFeature.id = feature.id;
-            }
-            this.features.push(symbolFeature);
-
-            if (icon) {
-                icons[icon.name] = true;
-            }
-
-            if (text) {
-                var fontStack = textFont.evaluate(feature, {}).join(',');
-                var textAlongLine = layout.get('text-rotation-alignment') === 'map' && layout.get('symbol-placement') !== 'point';
-                this.allowVerticalPlacement = this.writingModes && this.writingModes.indexOf(Shaping.WritingMode.vertical) >= 0;
-                for (var i = 0, list = text.sections; i < list.length; i += 1) {
-                    var section = list[i];
-
-                    if (!section.image) {
-                        var doesAllowVerticalWritingMode = ScriptDetection.allowsVerticalWritingMode(text.toString());
-                        var sectionFont = section.fontStack || fontStack;
-                        var sectionStack = stacks[sectionFont] = stacks[sectionFont] || {};
-                        this.calculateGlyphDependencies(section.text, sectionStack, textAlongLine, this.allowVerticalPlacement, doesAllowVerticalWritingMode);
-                    } else {
-                        // Add section image to the list of dependencies.
-                        icons[section.image.name] = true;
-                    }
-                }
-            }
-        }
-
-        if (layout.get('symbol-placement') === 'line') {
-            // Merge adjacent lines with the same text to improve labelling.
-            // It's better to place labels on one long line than on many short segments.
-            this.features = mergeLines(this.features);
-        }
-
-        if (this.sortFeaturesByKey) {
-            this.features.sort(function (a, b) {
-                // a.sortKey is always a number when sortFeaturesByKey is true
-                return ((a.sortKey   )      ) - ((b.sortKey   )      );
-            });
-        }
-    };
-
-    SymbolBucket.prototype.update = function update(states, vtLayer, imagePositions) {
-        if (!this.stateDependentLayers.length) {
-            return;
-        }
-        this.text.programConfigurations.updatePaintArrays(states, vtLayer, this.layers, imagePositions);
-        this.icon.programConfigurations.updatePaintArrays(states, vtLayer, this.layers, imagePositions);
-    };
-
-    SymbolBucket.prototype.isEmpty = function isEmpty() {
-        // When the bucket encounters only rtl-text but the plugin isnt loaded, no symbol instances will be created.
-        // In order for the bucket to be serialized, and not discarded as an empty bucket both checks are necessary.
-        return this.symbolInstances.length === 0 && !this.hasRTLText;
-    };
-
-    SymbolBucket.prototype.uploadPending = function uploadPending() {
-        return !this.uploaded || this.text.programConfigurations.needsUpload || this.icon.programConfigurations.needsUpload;
-    };
-
-    SymbolBucket.prototype.upload = function upload(context) {
-    //        if (!this.uploaded) {
-    //            this.textCollisionBox.upload(context);
-    //            this.iconCollisionBox.upload(context);
-    //            this.textCollisionCircle.upload(context);
-    //            this.iconCollisionCircle.upload(context);
-    //        }
-    //        this.text.upload(context, this.sortFeaturesByY, !this.uploaded, this.text.programConfigurations.needsUpload);
-    //        this.icon.upload(context, this.sortFeaturesByY, !this.uploaded, this.icon.programConfigurations.needsUpload);
-    //        this.uploaded = true;
-    };
-
-    SymbolBucket.prototype.destroy = function destroy() {
-    //        this.text.destroy();
-    //        this.icon.destroy();
-    //        this.textCollisionBox.destroy();
-    //        this.iconCollisionBox.destroy();
-    //        this.textCollisionCircle.destroy();
-    //        this.iconCollisionCircle.destroy();
-    };
-
-    SymbolBucket.prototype.clear = function clear() {
-    };
-
-    SymbolBucket.prototype.addToLineVertexArray = function addToLineVertexArray(anchor, line) {
-        var lineStartIndex = this.lineVertexArray.length;
-        if (anchor.segment !== undefined) {
-            var sumForwardLength = anchor.dist(line[anchor.segment + 1]);
-            var sumBackwardLength = anchor.dist(line[anchor.segment]);
-            var vertices = {};
-            for (var i = anchor.segment + 1; i < line.length; i++) {
-                vertices[i] = {x: line[i].x, y: line[i].y, tileUnitDistanceFromAnchor: sumForwardLength};
-                if (i < line.length - 1) {
-                    sumForwardLength += line[i + 1].dist(line[i]);
-                }
-            }
-            for (var i$1 = anchor.segment || 0; i$1 >= 0; i$1--) {
-                vertices[i$1] = {x: line[i$1].x, y: line[i$1].y, tileUnitDistanceFromAnchor: sumBackwardLength};
-                if (i$1 > 0) {
-                    sumBackwardLength += line[i$1 - 1].dist(line[i$1]);
-                }
-            }
-            for (var i$2 = 0; i$2 < line.length; i$2++) {
-                var vertex = vertices[i$2];
-                this.lineVertexArray.emplaceBack(vertex.x, vertex.y, vertex.tileUnitDistanceFromAnchor);
-            }
-        }
-        return {
-            lineStartIndex: lineStartIndex,
-            lineLength: this.lineVertexArray.length - lineStartIndex
-        };
-    };
-
-    SymbolBucket.prototype.addSymbols = function addSymbols(arrays, quads, sizeVertex, lineOffset, alongLine, feature, writingMode, labelAnchor, lineStartIndex, lineLength, associatedIconIndex) {
-        var this$1 = this;
-
-        var indexArray = arrays.indexArray;
-        var layoutVertexArray = arrays.layoutVertexArray;
-        var dynamicLayoutVertexArray = arrays.dynamicLayoutVertexArray;
-
-        var segment = arrays.segments.prepareSegment(4 * quads.length, arrays.layoutVertexArray, arrays.indexArray, feature.sortKey);
-        var glyphOffsetArrayStart = this.glyphOffsetArray.length;
-        var vertexStartIndex = segment.vertexLength;
-
-        var angle = (this.allowVerticalPlacement && writingMode === Shaping.WritingMode.vertical) ? Math.PI / 2 : 0;
-
-        var addSymbol = function (symbol) {
-            var tl = symbol.tl,
-                tr = symbol.tr,
-                bl = symbol.bl,
-                br = symbol.br,
-                tex = symbol.tex,
-                pixelOffsetTL = symbol.pixelOffsetTL,
-                pixelOffsetBR = symbol.pixelOffsetBR,
-                mfsx = symbol.minFontScaleX,
-                mfsy = symbol.minFontScaleY;
-
-            var index = segment.vertexLength;
-
-            var y = symbol.glyphOffset[1];
-            addVertex$1(layoutVertexArray, labelAnchor.x, labelAnchor.y, tl.x, y + tl.y, tex.x, tex.y, sizeVertex, symbol.isSDF, pixelOffsetTL.x, pixelOffsetTL.y, mfsx, mfsy);
-            addVertex$1(layoutVertexArray, labelAnchor.x, labelAnchor.y, tr.x, y + tr.y, tex.x + tex.w, tex.y, sizeVertex, symbol.isSDF, pixelOffsetBR.x, pixelOffsetTL.y, mfsx, mfsy);
-            addVertex$1(layoutVertexArray, labelAnchor.x, labelAnchor.y, bl.x, y + bl.y, tex.x, tex.y + tex.h, sizeVertex, symbol.isSDF, pixelOffsetTL.x, pixelOffsetBR.y, mfsx, mfsy);
-            addVertex$1(layoutVertexArray, labelAnchor.x, labelAnchor.y, br.x, y + br.y, tex.x + tex.w, tex.y + tex.h, sizeVertex, symbol.isSDF, pixelOffsetBR.x, pixelOffsetBR.y, mfsx, mfsy);
-
-            addDynamicAttributes(dynamicLayoutVertexArray, labelAnchor, angle);
-
-            indexArray.emplaceBack(index, index + 1, index + 2);
-            indexArray.emplaceBack(index + 1, index + 2, index + 3);
-
-            segment.vertexLength += 4;
-            segment.primitiveLength += 2;
-
-            this$1.glyphOffsetArray.emplaceBack(symbol.glyphOffset[0]);
-        };
-
-        if (feature.text && feature.text.sections) {
-            var sections = feature.text.sections;
-
-            if (this.hasPaintOverrides) {
-                var currentSectionIndex;
-                var populatePaintArrayForSection = function (sectionIndex, lastSection) {
-                    if (currentSectionIndex !== undefined && (currentSectionIndex !== sectionIndex || lastSection)) {
-                        arrays.programConfigurations.populatePaintArrays(arrays.layoutVertexArray.length, feature, feature.index, {}, sections[currentSectionIndex]);
-                    }
-                    currentSectionIndex = sectionIndex;
-                };
-
-                for (var i = 0, list = quads; i < list.length; i += 1) {
-                    var symbol = list[i];
-
-                    populatePaintArrayForSection(symbol.sectionIndex, false);
-                    addSymbol(symbol);
-                }
-
-                // Populate paint arrays for the last section.
-                populatePaintArrayForSection(currentSectionIndex, true);
-            } else {
-                for (var i$1 = 0, list$1 = quads; i$1 < list$1.length; i$1 += 1) {
-                    var symbol$1 = list$1[i$1];
-
-                    addSymbol(symbol$1);
-                }
-                arrays.programConfigurations.populatePaintArrays(arrays.layoutVertexArray.length, feature, feature.index, {}, sections[0]);
-            }
-
-        } else {
-            for (var i$2 = 0, list$2 = quads; i$2 < list$2.length; i$2 += 1) {
-                var symbol$2 = list$2[i$2];
-
-                addSymbol(symbol$2);
-            }
-            arrays.programConfigurations.populatePaintArrays(arrays.layoutVertexArray.length, feature, feature.index, {});
-        }
-
-        arrays.placedSymbolArray.emplaceBack(labelAnchor.x, labelAnchor.y,
-            glyphOffsetArrayStart, this.glyphOffsetArray.length - glyphOffsetArrayStart, vertexStartIndex,
-            lineStartIndex, lineLength, (labelAnchor.segment   ),
-            sizeVertex ? sizeVertex[0] : 0, sizeVertex ? sizeVertex[1] : 0,
-            lineOffset[0], lineOffset[1],
-            writingMode,
-            // placedOrientation is null initially; will be updated to horizontal(1)/vertical(2) if placed
-            0,
-            (false   ),
-            // The crossTileID is only filled/used on the foreground for dynamic text anchors
-            0,
-            associatedIconIndex
-        );
-    };
-
-    SymbolBucket.prototype._addCollisionDebugVertex = function _addCollisionDebugVertex(layoutVertexArray, collisionVertexArray, point, anchorX, anchorY, extrude) {
-        collisionVertexArray.emplaceBack(0, 0);
-        return layoutVertexArray.emplaceBack(
-            // pos
-            point.x,
-            point.y,
-            // a_anchor_pos
-            anchorX,
-            anchorY,
-            // extrude
-            Math.round(extrude.x),
-            Math.round(extrude.y));
-    };
-
-    SymbolBucket.prototype.addCollisionDebugVertices = function addCollisionDebugVertices(x1, y1, x2, y2, arrays, boxAnchorPoint, symbolInstance, isCircle) {
-        var segment = arrays.segments.prepareSegment(4, arrays.layoutVertexArray, arrays.indexArray);
-        var index = segment.vertexLength;
-
-        var layoutVertexArray = arrays.layoutVertexArray;
-        var collisionVertexArray = arrays.collisionVertexArray;
-
-        var anchorX = symbolInstance.anchorX;
-        var anchorY = symbolInstance.anchorY;
-
-        this._addCollisionDebugVertex(layoutVertexArray, collisionVertexArray, boxAnchorPoint, anchorX, anchorY, new pointGeometry(x1, y1));
-        this._addCollisionDebugVertex(layoutVertexArray, collisionVertexArray, boxAnchorPoint, anchorX, anchorY, new pointGeometry(x2, y1));
-        this._addCollisionDebugVertex(layoutVertexArray, collisionVertexArray, boxAnchorPoint, anchorX, anchorY, new pointGeometry(x2, y2));
-        this._addCollisionDebugVertex(layoutVertexArray, collisionVertexArray, boxAnchorPoint, anchorX, anchorY, new pointGeometry(x1, y2));
-
-        segment.vertexLength += 4;
-        if (isCircle) {
-            var indexArray = (arrays.indexArray   );
-            indexArray.emplaceBack(index, index + 1, index + 2);
-            indexArray.emplaceBack(index, index + 2, index + 3);
-
-            segment.primitiveLength += 2;
-        } else {
-            var indexArray$1 = (arrays.indexArray   );
-            indexArray$1.emplaceBack(index, index + 1);
-            indexArray$1.emplaceBack(index + 1, index + 2);
-            indexArray$1.emplaceBack(index + 2, index + 3);
-            indexArray$1.emplaceBack(index + 3, index);
-
-            segment.primitiveLength += 4;
-        }
-    };
-
-    SymbolBucket.prototype.addDebugCollisionBoxes = function addDebugCollisionBoxes(startIndex, endIndex, symbolInstance, isText) {
-        for (var b = startIndex; b < endIndex; b++) {
-            var box = (this.collisionBoxArray.get(b)   );
-            var x1 = box.x1;
-            var y1 = box.y1;
-            var x2 = box.x2;
-            var y2 = box.y2;
-
-            // If the radius > 0, this collision box is actually a circle
-            // The data we add to the buffers is exactly the same, but we'll render with a different shader.
-            var isCircle = box.radius > 0;
-            this.addCollisionDebugVertices(x1, y1, x2, y2, isCircle ?
-                (isText ? this.textCollisionCircle : this.iconCollisionCircle) : (isText ? this.textCollisionBox : this.iconCollisionBox),
-                box.anchorPoint, symbolInstance, isCircle);
-        }
-    };
-
-    SymbolBucket.prototype.generateCollisionDebugBuffers = function generateCollisionDebugBuffers() {
-        for (var i = 0; i < this.symbolInstances.length; i++) {
-            var symbolInstance = this.symbolInstances.get(i);
-            this.addDebugCollisionBoxes(symbolInstance.textBoxStartIndex, symbolInstance.textBoxEndIndex, symbolInstance, true);
-            this.addDebugCollisionBoxes(symbolInstance.verticalTextBoxStartIndex, symbolInstance.verticalTextBoxEndIndex, symbolInstance, true);
-            this.addDebugCollisionBoxes(symbolInstance.iconBoxStartIndex, symbolInstance.iconBoxEndIndex, symbolInstance, false);
-            this.addDebugCollisionBoxes(symbolInstance.verticalIconBoxStartIndex, symbolInstance.verticalIconBoxEndIndex, symbolInstance, false);
-        }
-    };
-
-    // These flat arrays are meant to be quicker to iterate over than the source
-    // CollisionBoxArray
-    SymbolBucket.prototype._deserializeCollisionBoxesForSymbol = function _deserializeCollisionBoxesForSymbol(collisionBoxArray, textStartIndex, textEndIndex, verticalTextStartIndex, verticalTextEndIndex, iconStartIndex, iconEndIndex, verticalIconStartIndex, verticalIconEndIndex) {
-
-        var collisionArrays = {};
-        for (var k = textStartIndex; k < textEndIndex; k++) {
-            var box = (collisionBoxArray.get(k)   );
-            if (box.radius === 0) {
-                collisionArrays.textBox = {x1: box.x1, y1: box.y1, x2: box.x2, y2: box.y2, anchorPointX: box.anchorPointX, anchorPointY: box.anchorPointY};
-                collisionArrays.textFeatureIndex = box.featureIndex;
-                break; // Only one box allowed per instance
-            } else {
-                if (!collisionArrays.textCircles) {
-                    collisionArrays.textCircles = [];
-                    collisionArrays.textFeatureIndex = box.featureIndex;
-                }
-                var used = 1; // May be updated at collision detection time
-                collisionArrays.textCircles.push(box.anchorPointX, box.anchorPointY, box.radius, box.signedDistanceFromAnchor, used);
-            }
-        }
-        for (var k$1 = verticalTextStartIndex; k$1 < verticalTextEndIndex; k$1++) {
-            var box$1 = (collisionBoxArray.get(k$1)   );
-            if (box$1.radius === 0) {
-                collisionArrays.verticalTextBox = {x1: box$1.x1, y1: box$1.y1, x2: box$1.x2, y2: box$1.y2, anchorPointX: box$1.anchorPointX, anchorPointY: box$1.anchorPointY};
-                collisionArrays.verticalTextFeatureIndex = box$1.featureIndex;
-                break; // Only one box allowed per instance
-            }
-        }
-        for (var k$2 = iconStartIndex; k$2 < iconEndIndex; k$2++) {
-            // An icon can only have one box now, so this indexing is a bit vestigial...
-            var box$2 = (collisionBoxArray.get(k$2)   );
-            if (box$2.radius === 0) {
-                collisionArrays.iconBox = {x1: box$2.x1, y1: box$2.y1, x2: box$2.x2, y2: box$2.y2, anchorPointX: box$2.anchorPointX, anchorPointY: box$2.anchorPointY};
-                collisionArrays.iconFeatureIndex = box$2.featureIndex;
-                break; // Only one box allowed per instance
-            }
-        }
-        for (var k$3 = verticalIconStartIndex; k$3 < verticalIconEndIndex; k$3++) {
-            // An icon can only have one box now, so this indexing is a bit vestigial...
-            var box$3 = (collisionBoxArray.get(k$3)   );
-            if (box$3.radius === 0) {
-                collisionArrays.verticalIconBox = {x1: box$3.x1, y1: box$3.y1, x2: box$3.x2, y2: box$3.y2, anchorPointX: box$3.anchorPointX, anchorPointY: box$3.anchorPointY};
-                collisionArrays.verticalIconFeatureIndex = box$3.featureIndex;
-                break; // Only one box allowed per instance
-            }
-        }
-        return collisionArrays;
-    };
-
-    SymbolBucket.prototype.deserializeCollisionBoxes = function deserializeCollisionBoxes(collisionBoxArray) {
-        this.collisionArrays = [];
-        for (var i = 0; i < this.symbolInstances.length; i++) {
-            var symbolInstance = this.symbolInstances.get(i);
-            this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(
-                collisionBoxArray,
-                symbolInstance.textBoxStartIndex,
-                symbolInstance.textBoxEndIndex,
-                symbolInstance.verticalTextBoxStartIndex,
-                symbolInstance.verticalTextBoxEndIndex,
-                symbolInstance.iconBoxStartIndex,
-                symbolInstance.iconBoxEndIndex,
-                symbolInstance.verticalIconBoxStartIndex,
-                symbolInstance.verticalIconBoxEndIndex
-            ));
-        }
-    };
-
-    SymbolBucket.prototype.hasTextData = function hasTextData() {
-        return this.text.segments.get().length > 0;
-    };
-
-    SymbolBucket.prototype.hasIconData = function hasIconData() {
-        return this.icon.segments.get().length > 0;
-    };
-
-    SymbolBucket.prototype.hasTextCollisionBoxData = function hasTextCollisionBoxData() {
-        return this.textCollisionBox.segments.get().length > 0;
-    };
-
-    SymbolBucket.prototype.hasIconCollisionBoxData = function hasIconCollisionBoxData() {
-        return this.iconCollisionBox.segments.get().length > 0;
-    };
-
-    SymbolBucket.prototype.hasTextCollisionCircleData = function hasTextCollisionCircleData() {
-        return this.textCollisionCircle.segments.get().length > 0;
-    };
-
-    SymbolBucket.prototype.hasIconCollisionCircleData = function hasIconCollisionCircleData() {
-        return this.iconCollisionCircle.segments.get().length > 0;
-    };
-
-    SymbolBucket.prototype.addIndicesForPlacedSymbol = function addIndicesForPlacedSymbol(iconOrText, placedSymbolIndex) {
-        var placedSymbol = iconOrText.placedSymbolArray.get(placedSymbolIndex);
-
-        var endIndex = placedSymbol.vertexStartIndex + placedSymbol.numGlyphs * 4;
-        for (var vertexIndex = placedSymbol.vertexStartIndex; vertexIndex < endIndex; vertexIndex += 4) {
-            iconOrText.indexArray.emplaceBack(vertexIndex, vertexIndex + 1, vertexIndex + 2);
-            iconOrText.indexArray.emplaceBack(vertexIndex + 1, vertexIndex + 2, vertexIndex + 3);
-        }
-    };
-
-    SymbolBucket.prototype.getSortedSymbolIndexes = function getSortedSymbolIndexes(angle) {
-        if (this.sortedAngle === angle && this.symbolInstanceIndexes !== undefined) {
-            return this.symbolInstanceIndexes;
-        }
-        var sin = Math.sin(angle);
-        var cos = Math.cos(angle);
-        var rotatedYs = [];
-        var featureIndexes = [];
-        var result = [];
-
-        for (var i = 0; i < this.symbolInstances.length; ++i) {
-            result.push(i);
-            var symbolInstance = this.symbolInstances.get(i);
-            rotatedYs.push(Math.round(sin * symbolInstance.anchorX + cos * symbolInstance.anchorY) | 0);
-            featureIndexes.push(symbolInstance.featureIndex);
-        }
-
-        result.sort(function (aIndex, bIndex) {
-            return (rotatedYs[aIndex] - rotatedYs[bIndex]) ||
-                (featureIndexes[bIndex] - featureIndexes[aIndex]);
-        });
-
-        return result;
-    };
-
-    SymbolBucket.prototype.sortFeatures = function sortFeatures(angle) {
-        var this$1 = this;
-
-        if (!this.sortFeaturesByY) {
-            return;
-        }
-        if (this.sortedAngle === angle) {
-            return;
-        }
-
-        // The current approach to sorting doesn't sort across segments so don't try.
-        // Sorting within segments separately seemed not to be worth the complexity.
-        if (this.text.segments.get().length > 1 || this.icon.segments.get().length > 1) {
-            return;
-        }
-
-        // If the symbols are allowed to overlap sort them by their vertical screen position.
-        // The index array buffer is rewritten to reference the (unchanged) vertices in the
-        // sorted order.
-
-        // To avoid sorting the actual symbolInstance array we sort an array of indexes.
-        this.symbolInstanceIndexes = this.getSortedSymbolIndexes(angle);
-        this.sortedAngle = angle;
-
-        this.text.indexArray.clear();
-        this.icon.indexArray.clear();
-
-        this.featureSortOrder = [];
-
-        for (var i$1 = 0, list = this.symbolInstanceIndexes; i$1 < list.length; i$1 += 1) {
-            var i = list[i$1];
-
-            var symbolInstance = this.symbolInstances.get(i);
-            this.featureSortOrder.push(symbolInstance.featureIndex);
-
-            [
-                symbolInstance.rightJustifiedTextSymbolIndex,
-                symbolInstance.centerJustifiedTextSymbolIndex,
-                symbolInstance.leftJustifiedTextSymbolIndex
-            ].forEach(function (index, i, array) {
-                    // Only add a given index the first time it shows up,
-                    // to avoid duplicate opacity entries when multiple justifications
-                    // share the same glyphs.
-                    if (index >= 0 && array.indexOf(index) === i) {
-                        this$1.addIndicesForPlacedSymbol(this$1.text, index);
-                    }
-                });
-
-            if (symbolInstance.verticalPlacedTextSymbolIndex >= 0) {
-                this.addIndicesForPlacedSymbol(this.text, symbolInstance.verticalPlacedTextSymbolIndex);
-            }
-
-            if (symbolInstance.placedIconSymbolIndex >= 0) {
-                this.addIndicesForPlacedSymbol(this.icon, symbolInstance.placedIconSymbolIndex);
-            }
-
-            if (symbolInstance.verticalPlacedIconSymbolIndex >= 0) {
-                this.addIndicesForPlacedSymbol(this.icon, symbolInstance.verticalPlacedIconSymbolIndex);
-            }
-        }
-
-        if (this.text.indexBuffer) {
-            this.text.indexBuffer.updateData(this.text.indexArray);
-        }
-        if (this.icon.indexBuffer) {
-            this.icon.indexBuffer.updateData(this.icon.indexArray);
-        }
-    };
-
-    WebWorkerTransfer.register('SymbolBucket', SymbolBucket, {
-        //omit: ['layers', 'collisionBoxArray', 'features', 'compareText']
-        omit: ['layers', 'collisionBoxArray', 'compareText']
-    });
-
-    // this constant is based on the size of StructArray indexes used in a symbol
-    // bucket--namely, glyphOffsetArrayStart
-    // eg the max valid UInt16 is 65,535
-    // See https://github.com/mapbox/mapbox-gl-js/issues/2907 for motivation
-    // lineStartIndex and textBoxStartIndex could potentially be concerns
-    // but we expect there to be many fewer boxes/lines than glyphs
-    SymbolBucket.MAX_GLYPHS = 65535;
-
-    SymbolBucket.addDynamicAttributes = addDynamicAttributes;
-
-    var ColorType$7 = {kind: 'color'};
-    var FormattedType$4 = {kind: 'formatted'};
-
-    var layout$7 = new Properties({
-        "symbol-placement": new DataConstantProperty(StyleSpec["layout_symbol"]["symbol-placement"]),
-        "symbol-spacing": new DataConstantProperty(StyleSpec["layout_symbol"]["symbol-spacing"]),
-        "symbol-avoid-edges": new DataConstantProperty(StyleSpec["layout_symbol"]["symbol-avoid-edges"]),
-        "symbol-sort-key": new DataDrivenProperty(StyleSpec["layout_symbol"]["symbol-sort-key"]),
-        "symbol-z-order": new DataConstantProperty(StyleSpec["layout_symbol"]["symbol-z-order"]),
-        "icon-allow-overlap": new DataConstantProperty(StyleSpec["layout_symbol"]["icon-allow-overlap"]),
-        "icon-ignore-placement": new DataConstantProperty(StyleSpec["layout_symbol"]["icon-ignore-placement"]),
-        "icon-optional": new DataConstantProperty(StyleSpec["layout_symbol"]["icon-optional"]),
-        "icon-rotation-alignment": new DataConstantProperty(StyleSpec["layout_symbol"]["icon-rotation-alignment"]),
-        "icon-size": new DataDrivenProperty(StyleSpec["layout_symbol"]["icon-size"]),
-        "icon-text-fit": new DataConstantProperty(StyleSpec["layout_symbol"]["icon-text-fit"]),
-        "icon-text-fit-padding": new DataConstantProperty(StyleSpec["layout_symbol"]["icon-text-fit-padding"]),
-        "icon-image": new DataDrivenProperty(StyleSpec["layout_symbol"]["icon-image"]),
-        "icon-rotate": new DataDrivenProperty(StyleSpec["layout_symbol"]["icon-rotate"]),
-        "icon-padding": new DataConstantProperty(StyleSpec["layout_symbol"]["icon-padding"]),
-        "icon-keep-upright": new DataConstantProperty(StyleSpec["layout_symbol"]["icon-keep-upright"]),
-        "icon-offset": new DataDrivenProperty(StyleSpec["layout_symbol"]["icon-offset"]),
-        "icon-anchor": new DataDrivenProperty(StyleSpec["layout_symbol"]["icon-anchor"]),
-        "icon-pitch-alignment": new DataConstantProperty(StyleSpec["layout_symbol"]["icon-pitch-alignment"]),
-        "text-pitch-alignment": new DataConstantProperty(StyleSpec["layout_symbol"]["text-pitch-alignment"]),
-        "text-rotation-alignment": new DataConstantProperty(StyleSpec["layout_symbol"]["text-rotation-alignment"]),
-        "text-field": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-field"]),
-        "text-font": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-font"]),
-        "text-size": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-size"]),
-        "text-max-width": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-max-width"]),
-        "text-line-height": new DataConstantProperty(StyleSpec["layout_symbol"]["text-line-height"]),
-        "text-letter-spacing": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-letter-spacing"]),
-        "text-justify": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-justify"]),
-        "text-radial-offset": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-radial-offset"]),
-        "text-variable-anchor": new DataConstantProperty(StyleSpec["layout_symbol"]["text-variable-anchor"]),
-        "text-anchor": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-anchor"]),
-        "text-max-angle": new DataConstantProperty(StyleSpec["layout_symbol"]["text-max-angle"]),
-        "text-writing-mode": new DataConstantProperty(StyleSpec["layout_symbol"]["text-writing-mode"]),
-        "text-rotate": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-rotate"]),
-        "text-padding": new DataConstantProperty(StyleSpec["layout_symbol"]["text-padding"]),
-        "text-keep-upright": new DataConstantProperty(StyleSpec["layout_symbol"]["text-keep-upright"]),
-        "text-transform": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-transform"]),
-        "text-offset": new DataDrivenProperty(StyleSpec["layout_symbol"]["text-offset"]),
-        "text-allow-overlap": new DataConstantProperty(StyleSpec["layout_symbol"]["text-allow-overlap"]),
-        "text-ignore-placement": new DataConstantProperty(StyleSpec["layout_symbol"]["text-ignore-placement"]),
-        "text-optional": new DataConstantProperty(StyleSpec["layout_symbol"]["text-optional"])
-    });
-
-
-    var paint$7 = new Properties({
-        "icon-opacity": new DataDrivenProperty(StyleSpec["paint_symbol"]["icon-opacity"]),
-        "icon-color": new DataDrivenProperty(StyleSpec["paint_symbol"]["icon-color"]),
-        "icon-halo-color": new DataDrivenProperty(StyleSpec["paint_symbol"]["icon-halo-color"]),
-        "icon-halo-width": new DataDrivenProperty(StyleSpec["paint_symbol"]["icon-halo-width"]),
-        "icon-halo-blur": new DataDrivenProperty(StyleSpec["paint_symbol"]["icon-halo-blur"]),
-        "icon-translate": new DataConstantProperty(StyleSpec["paint_symbol"]["icon-translate"]),
-        "icon-translate-anchor": new DataConstantProperty(StyleSpec["paint_symbol"]["icon-translate-anchor"]),
-        "text-opacity": new DataDrivenProperty(StyleSpec["paint_symbol"]["text-opacity"]),
-        "text-color": new DataDrivenProperty(StyleSpec["paint_symbol"]["text-color"], { runtimeType: ColorType$7, getOverride: function (o) {
-            return o.textColor;
-        }, hasOverride: function (o) {
-            return !!o.textColor;
-        } }),
-        "text-halo-color": new DataDrivenProperty(StyleSpec["paint_symbol"]["text-halo-color"]),
-        "text-halo-width": new DataDrivenProperty(StyleSpec["paint_symbol"]["text-halo-width"]),
-        "text-halo-blur": new DataDrivenProperty(StyleSpec["paint_symbol"]["text-halo-blur"]),
-        "text-translate": new DataConstantProperty(StyleSpec["paint_symbol"]["text-translate"]),
-        "text-translate-anchor": new DataConstantProperty(StyleSpec["paint_symbol"]["text-translate-anchor"])
-    });
-
-    // Note: without adding the explicit type annotation, Flow infers weaker types
-    // for these objects from their use in the constructor to StyleLayer, as
-    // {layout?: Properties<...>, paint: Properties<...>}
-    var properties$6 = ({ paint: paint$7, layout: layout$7 }
-        );
-
-    var SymbolStyleLayer = /*@__PURE__*/(function (StyleLayer) {
-        function SymbolStyleLayer(layer) {
-            StyleLayer.call(this, layer, properties$6);
-        }
-
-        if (StyleLayer) SymbolStyleLayer.__proto__ = StyleLayer;
-        SymbolStyleLayer.prototype = Object.create(StyleLayer && StyleLayer.prototype);
-        SymbolStyleLayer.prototype.constructor = SymbolStyleLayer;
-
-        SymbolStyleLayer.prototype.recalculate = function recalculate(parameters, availableImages) {
-            StyleLayer.prototype.recalculate.call(this, parameters, availableImages);
-
-            if (this.layout.get('icon-rotation-alignment') === 'auto') {
-                if (this.layout.get('symbol-placement') !== 'point') {
-                    this.layout._values['icon-rotation-alignment'] = 'map';
-                } else {
-                    this.layout._values['icon-rotation-alignment'] = 'viewport';
-                }
-            }
-
-            if (this.layout.get('text-rotation-alignment') === 'auto') {
-                if (this.layout.get('symbol-placement') !== 'point') {
-                    this.layout._values['text-rotation-alignment'] = 'map';
-                } else {
-                    this.layout._values['text-rotation-alignment'] = 'viewport';
-                }
-            }
-
-            // If unspecified, `*-pitch-alignment` inherits `*-rotation-alignment`
-            if (this.layout.get('text-pitch-alignment') === 'auto') {
-                this.layout._values['text-pitch-alignment'] = this.layout.get('text-rotation-alignment');
-            }
-            if (this.layout.get('icon-pitch-alignment') === 'auto') {
-                this.layout._values['icon-pitch-alignment'] = this.layout.get('icon-rotation-alignment');
-            }
-
-            if (this.layout.get('symbol-placement') === 'point') {
-                var writingModes = this.layout.get('text-writing-mode');
-                if (writingModes) {
-                    // remove duplicates, preserving order
-                    var deduped = [];
-                    for (var i = 0, list = writingModes; i < list.length; i += 1) {
-                        var m = list[i];
-
-                        if (deduped.indexOf(m) < 0) {
-                            deduped.push(m);
-                        }
-                    }
-                    this.layout._values['text-writing-mode'] = deduped;
-                } else {
-                    this.layout._values['text-writing-mode'] = ['horizontal'];
-                }
-            }
-
-            this._setPaintOverrides();
-        };
-
-        SymbolStyleLayer.prototype.getValueAndResolveTokens = function getValueAndResolveTokens(name, feature, availableImages) {
-            var value = this.layout.get(name).evaluate(feature, {}, availableImages);
-            var unevaluated = this._unevaluatedLayout._values[name];
-            if (!unevaluated.isDataDriven() && !Expression.isExpression(unevaluated.value) && value) {
-                return Util.resolveTokens(feature.properties, value);
-            }
-
-            return value;
-        };
-
-        SymbolStyleLayer.prototype.createBucket = function createBucket(parameters) {
-            return new SymbolBucket(parameters);
-        };
-
-        SymbolStyleLayer.prototype.queryRadius = function queryRadius() {
-            return 0;
-        };
-
-        SymbolStyleLayer.prototype.queryIntersectsFeature = function queryIntersectsFeature() {
-            assert_1(false); // Should take a different path in FeatureIndex
-            return false;
-        };
-
-        SymbolStyleLayer.prototype._setPaintOverrides = function _setPaintOverrides() {
-            for (var i = 0, list = properties$6.paint.overridableProperties; i < list.length; i += 1) {
-                var overridable = list[i];
-
-                if (!SymbolStyleLayer.hasPaintOverride(this.layout, overridable)) {
-                    continue;
-                }
-                var overriden = this.paint.get(overridable);
-                var override = new FormatSectionOverride(overriden);
-                var styleExpression = new StyleExpression(override, overriden.property.specification);
-                var expression = null;
-                if (overriden.value.kind === 'constant' || overriden.value.kind === 'source') {
-                    expression = (new ZoomConstantExpression('source', styleExpression)                  );
-                } else {
-                    expression = (new ZoomDependentExpression('composite',
-                        styleExpression,
-                        overriden.value.zoomStops,
-                        overriden.value._interpolationType)                     );
-                }
-                this.paint._values[overridable] = new PossiblyEvaluatedPropertyValue(overriden.property,
-                    expression,
-                    overriden.parameters);
-            }
-        };
-
-        SymbolStyleLayer.prototype._handleOverridablePaintPropertyUpdate = function _handleOverridablePaintPropertyUpdate(name, oldValue, newValue) {
-            if (!this.layout || oldValue.isDataDriven() || newValue.isDataDriven()) {
-                return false;
-            }
-            return SymbolStyleLayer.hasPaintOverride(this.layout, name);
-        };
-
-        SymbolStyleLayer.hasPaintOverride = function hasPaintOverride(layout, propertyName) {
-            var textField = layout.get('text-field');
-            var property = properties$6.paint.properties[propertyName];
-            var hasOverrides = false;
-
-            var checkSections = function (sections) {
-                for (var i = 0, list = sections; i < list.length; i += 1) {
-                    var section = list[i];
-
-                    if (property.overrides && property.overrides.hasOverride(section)) {
-                        hasOverrides = true;
-                        return;
-                    }
-                }
-            };
-
-            if (textField.value.kind === 'constant' && textField.value.value instanceof Formatted$1) {
-                checkSections(textField.value.value.sections);
-            } else if (textField.value.kind === 'source') {
-
-                var checkExpression = function (expression) {
-                    if (hasOverrides) {
-                        return;
-                    }
-
-                    if (expression instanceof Literal && Values$1.typeOf(expression.value) === FormattedType$4) {
-                        var formatted = ((expression.value)     );
-                        checkSections(formatted.sections);
-                    } else if (expression instanceof FormatExpression$1) {
-                        checkSections(expression.sections);
-                    } else {
-                        expression.eachChild(checkExpression);
-                    }
-                };
-
-                var expr = ((textField.value)     );
-                if (expr._styleExpression) {
-                    checkExpression(expr._styleExpression.expression);
-                }
-            }
-
-            return hasOverrides;
-        };
-
-        SymbolStyleLayer.hasPaintOverrides = function hasPaintOverrides(layout) {
-            for (var i = 0, list = properties$6.paint.overridableProperties; i < list.length; i += 1) {
-                var overridable = list[i];
-
-                if (SymbolStyleLayer.hasPaintOverride(layout, overridable)) {
-                    return true;
-                }
-            }
-            return false;
-        };
-
-        return SymbolStyleLayer;
-    }(StyleLayer));
-
-    var subclasses = {
-        circle: CircleStyleLayer,
-        fill: FillStyleLayer,
-        line: LineStyleLayer,
-        symbol : SymbolStyleLayer
-    };
-
-    function createStyleLayer(layer) {
-        if(subclasses[layer.type]){
-            return new subclasses[layer.type](layer);
-        }
-        else {
-            return null;
-        }
-    }
-
-    var StyleLayerIndex = function StyleLayerIndex(layerConfigs) {
-        this.keyCache = {};
-        if (layerConfigs) {
-            this.replace(layerConfigs);
-        }
-    };
-
-    StyleLayerIndex.prototype.replace = function replace (layerConfigs) {
-        this._layerConfigs = {};
-        this._layers = {};
-        this.update(layerConfigs, []);
-    };
-
-    function values(obj) {
-        var result = [];
-        for (var k in obj) {
-            result.push(obj[k]);
-        }
-        return result;
-    }
-
-    StyleLayerIndex.prototype.update = function update (layerConfigs, removedIds) {
-        var this$1 = this;
-
-        for (var i = 0, list = layerConfigs; i < list.length; i += 1) {
-            var layerConfig = list[i];
-
-            this._layerConfigs[layerConfig.id] = layerConfig;
-
-            var layer = createStyleLayer(layerConfig);
-            if(layer == null){
-                continue;
-            }
-            this._layers[layerConfig.id] = layer;
-            layer._featureFilter = featureFilter.createFilter(layer.filter);
-            if (this.keyCache[layerConfig.id])
-            { delete this.keyCache[layerConfig.id]; }
-        }
-        for (var i$1 = 0, list$1 = removedIds; i$1 < list$1.length; i$1 += 1) {
-            var id = list$1[i$1];
-
-            delete this.keyCache[id];
-            delete this._layerConfigs[id];
-            delete this._layers[id];
-        }
-
-        this.familiesBySource = {};
-
-        var groups = groupByLayout(values(this._layerConfigs), this.keyCache);
-
-        for (var i$2 = 0, list$2 = groups; i$2 < list$2.length; i$2 += 1) {
-            var layerConfigs$1 = list$2[i$2];
-
-            var layers = layerConfigs$1.map(function (layerConfig) { return this$1._layers[layerConfig.id]; });
-
-            var layer$1 = layers[0];
-            if (layer$1 == undefined || layer$1.visibility === 'none') {
-                continue;
-            }
-
-            var sourceId = layer$1.source || '';
-            var sourceGroup = this.familiesBySource[sourceId];
-            if (!sourceGroup) {
-                sourceGroup = this.familiesBySource[sourceId] = {};
-            }
-
-            var sourceLayerId = layer$1.sourceLayer;
-            var sourceLayerFamilies = sourceGroup[sourceLayerId];
-            if (!sourceLayerFamilies) {
-                sourceLayerFamilies = sourceGroup[sourceLayerId] = [];
-            }
-
-            sourceLayerFamilies.push(layers);
-        }
-    };
-
-    WebWorkerTransfer.register('FeatureIndex', FeatureIndex, {omit: ['rawTileData', 'sourceLayerCoder']});
-
-    function MVTWorkTile(parameters, transferableObjects) {
-        var pbfData = parameters.pbfData;
-        var layers = parameters.layers;
-        var imageMap = parameters.imageMap;
-        var serializeObj = WebWorkerTransfer.deserialize(parameters.serializeObj);
-        var featureIndex = serializeObj.featureIndex;
-        var zoom = parameters.tileID.z;
-        if(!when.defined(featureIndex)){
-            featureIndex = new FeatureIndex(parameters.tileID);
-            featureIndex.bucketLayerIDs = [];
-        }
-        var result = {};
-        try {
-            var styleIndexLayer = new StyleLayerIndex(layers);
-            var vectorTile = loadVectorTile(pbfData);
-            result = parse(vectorTile, styleIndexLayer, imageMap, featureIndex, zoom);
-            result = WebWorkerTransfer.serialize(result, transferableObjects);
-        }
-        catch (err) {
-        }
-        return result;
-    }
-
-    function loadVectorTile(rawData) {
-        if (!when.defined(rawData)) {
-            return;
-        }
-        return new VectorTile(new pbf.Protobuf(rawData));
-    }
-
-    function parse(vectorTile, layerIndex, imageMap, featureIndex, zoom) {
-        var sourceLayerCoder = new DictionaryCoder(Object.keys(vectorTile.layers).sort());
-        var buckets = {};
-        var options = {
-            featureIndex: featureIndex,
-            iconDependencies: {},
-            patternDependencies: {},
-            glyphDependencies: {},
-            //availableImages: availableImages
-        };
-
-        for (var source in layerIndex.familiesBySource) {
-            //if (source == "") continue;
-            var layerFamilies = layerIndex.familiesBySource[source];
-            for (var sourceLayerId in layerFamilies) {
-                var sourceLayer = vectorTile.layers[sourceLayerId];
-                if (!sourceLayer) {
-                    continue;
-                }
-
-                var sourceLayerIndex = sourceLayerCoder.encode(sourceLayerId);
-                var features = [];
-                for (var index = 0; index < sourceLayer.length; index++) {
-                    var feature = sourceLayer.feature(index);
-                    features.push({feature: feature, index: index, sourceLayerIndex: sourceLayerIndex});
-                }
-
-                for (var i = 0, list = layerFamilies[sourceLayerId]; i < list.length; i += 1) {
-                    var family = list[i];
-                    var layer = family[0];
-    //                    if(defined(layer.minzoom) && zoom < Math.floor(layer.minzoom)){
-    //                        continue;
-    //                    }
-    //                    if(defined(layer.maxzoom) && zoom >= layer.maxzoom){
-    //                        continue;
-    //                    }
-                    if (layer.visibility === 'none') {
-                        continue;
-                    }
-
-                    //recalculateLayers(family, this.zoom, availableImages);
-                    recalculateLayers(family, 0, null);
-
-                    var bucket = buckets[layer.id] = layer.createBucket({
-                        index: featureIndex.bucketLayerIDs.length,
-                        layers: family,
-    //                    zoom: this.zoom,
-    //                    pixelRatio: this.pixelRatio,
-    //                    overscaling : this.overscaling,
-    //                    collisionBoxArray: this.collisionBoxArray,
-                        sourceLayerIndex: sourceLayerIndex,
-                        //sourceID: this.source
-                    });
-
-                    bucket.populate(features, options);
-                    featureIndex.bucketLayerIDs.push(family.map(function (l) { return l.id; }));
-                }
-            }
-        }
-
-        var imageAtlas = null;
-
-        for (var key in buckets) {
-            var bucket = buckets[key];
-            if (bucket.hasPattern &&
-                (bucket instanceof LineBucket || bucket instanceof FillBucket)) {
-                //recalculateLayers(bucket.layers, this.zoom, availableImages);
-                if(imageAtlas == null){
-                    imageAtlas = new ImageAtlas({}, imageMap);
-                }
-                bucket.addFeatures(options, imageAtlas.patternPositions);
-            }
-        }
-
-        return {
-            buckets : buckets,
-            imageAtlas : imageAtlas,
-            featureIndex : featureIndex
-        };
-    }
-
-    function recalculateLayers(layers, zoom, availableImages) {
-        // Layers are shared and may have been used by a WorkerTile with a different zoom.
-        var parameters = new EvaluationParameters$1(zoom);
-        for (var i = 0, list = layers; i < list.length; i += 1) {
-            var layer = list[i];
-            layer.recalculate(parameters, availableImages);
-        }
-    }
-
-    var MVTWorkTile$1 = createTaskProcessorWorker(MVTWorkTile);
-
-    return MVTWorkTile$1;
-
-});
diff --git a/libs/supermap/Workers/MVTWorker.js b/libs/supermap/Workers/MVTWorker.js
deleted file mode 100644
index 46f6e85..0000000
--- a/libs/supermap/Workers/MVTWorker.js
+++ /dev/null
@@ -1,13334 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './FeatureDetection-7bd32c34', './createTaskProcessorWorker', './Color-69f1845f', './pbf-9fe59c76'], function (when, Check, _Math, FeatureDetection, createTaskProcessorWorker, Color, pbf) { 'use strict';
-
-    // 用来根据Mapbox style标准构建过滤器和定义过滤方法
-    function MvtFilter() {
-    }
-
-    /**
-     * 根据根据Mapbox style的过滤器对象构造过滤条件
-     * @param filter 输入过滤器
-     * @returns 返回过滤条件数组
-     */
-    MvtFilter.parseLayerFilter = function(filter) {
-        if (!when.defined(filter) || !(filter instanceof Array)) {
-            return null;
-        }
-
-        var filterArray = [];
-        var condition;
-        if (isOperator(filter[0])) {
-            condition = parseSingleFilterArray(filter);
-            if(when.defined(condition)){
-                filterArray.push(condition);
-            }
-        }
-        else {
-            for (var fi = 0; fi < filter.length; fi++) {
-                if (!(filter[fi] instanceof Array)) {
-                    continue;
-                }
-
-                if (filter[fi].length !== 3) {
-                    for (var fj = 0; fj < filter[fi].length; fj++) {
-                        if (filter[fi][fj] instanceof Array && filter[fi][fj].length === 3) {
-                            condition = parseSingleFilterArray(filter[fi][fj]);
-                            if(when.defined(condition)){
-                                filterArray.push(condition);
-                            }
-                        }
-                    }
-                } else {
-                    condition = parseSingleFilterArray(filter[fi]);
-                    if(when.defined(condition)){
-                        filterArray.push(condition);
-                    }
-                }
-
-            }
-        }
-        return filterArray;
-    };
-
-    /**
-     * 根据对象的属性进行过滤条件测试
-     * @param filterArray 过滤条件数组
-     * @param properties 对象属性
-     * @returns 通过过滤条件返回true
-     */
-    MvtFilter.filterTest = function(properties, filterArray) {
-        for(var filterIdx = 0, filterCount = filterArray.length; filterIdx < filterCount; filterIdx++){
-            var filter = filterArray[filterIdx];
-            if(!compareFunctions[filter.filterOperator](properties, filter.filterFieldName, filter.filterCompareValue)){
-                return false;
-            }
-        }
-        return true;
-    };
-
-    function parseSingleFilterArray(filterArray){
-        var filterCompareValue = null;
-        var filterFieldName = null;
-        var filterOperator = null;
-        if (isOperator(filterArray[0])) {
-            filterOperator = filterArray[0];
-        }
-        else {
-            return null;
-        }
-
-        if(filterArray.length > 1){
-            filterFieldName = filterArray[1];
-            // TODO: 系统字段暂不处理
-            if(filterFieldName[0] === "$" ){
-                return null;
-            }
-        }
-        if(filterArray.length > 2){
-            filterCompareValue = filterArray[2];
-        }
-        return {
-            filterOperator : filterOperator,
-            filterFieldName : filterFieldName,
-            filterCompareValue : filterCompareValue
-        };
-    }
-
-    function isOperator(key) {
-        return ["==", "===", ">=", "<=", ">", "<", "!=", "has"].indexOf(key) !== -1;
-    }
-
-    function equalFunction(properties, fieldName, testValue){
-        return properties[fieldName] == testValue;
-    }
-
-    function greaterFunction(properties, fieldName, testValue){
-        return properties[fieldName] > testValue;
-    }
-
-    function lessFunction(properties, fieldName, testValue){
-        return properties[fieldName] < testValue;
-    }
-
-    function greaterEqualFunction(properties, fieldName, testValue){
-        return properties[fieldName] >= testValue;
-    }
-
-    function lessEqualFunction(properties, fieldName, testValue){
-        return properties[fieldName] <= testValue;
-    }
-
-    function notEqualFunction(properties, fieldName, testValue){
-        return properties[fieldName] != testValue;
-    }
-
-    function hasFunction(properties, fieldName){
-        return when.defined(properties[fieldName]);
-    }
-
-    var compareFunctions = {
-        "==" : equalFunction,
-        "===" : equalFunction,
-        ">" : greaterFunction,
-        "<" : lessFunction,
-        ">=" : greaterEqualFunction,
-        "<=" : lessEqualFunction,
-        "!=" : notEqualFunction,
-        "has" : hasFunction
-    };
-
-    function MvtStyle(openlayer, useOffscreen) {
-        if(!openlayer){
-            throw new Check.DeveloperError('need include ol-debug.js');
-        }
-        this._useOffscreen = useOffscreen;
-        this._openlayer = openlayer;
-    }
-
-    Object.defineProperties(MvtStyle.prototype, {
-        proxy: {
-            get: function() {}
-        }
-    });
-
-    MvtStyle.prototype.getStyle = function() {
-        var openlayer = this._openlayer;
-        var fill = new openlayer.style.Fill({
-            color: ""
-        });
-        fill.setColor("#ffffff");
-
-        var stroke = new openlayer.style.Stroke({
-            color: "",
-            width: 1
-        });
-        stroke.setWidth(1);
-        stroke.setColor("#000000");
-
-        var fillAndOutlineStyle = new openlayer.style.Style({
-            fill: fill,
-            stroke: stroke
-        });
-
-        return fillAndOutlineStyle;
-    };
-
-    function parseMapboxColorString(colorString){
-        var tempS = colorString.substring(colorString.indexOf("(") + 1, colorString.indexOf(")"));
-        tempS = tempS.split(",");
-        var resultColor = [];
-        resultColor.push(parseFloat(tempS[0]));
-        resultColor.push(parseFloat(tempS[1]));
-        resultColor.push(parseFloat(tempS[2]));
-        resultColor.push(parseFloat(tempS[3]));
-        return resultColor;
-    }
-
-    function colorWithOpacity(color, opacity) {
-        if (color && opacity !== undefined) {
-            var colorData = {
-                color: [
-                    color[0] * 255 / color[3],
-                    color[1] * 255 / color[3],
-                    color[2] * 255 / color[3],
-                    color[3]
-                ],
-                opacity: color[3]
-            };
-            color = colorData.color;
-            color[3] = colorData.opacity * opacity;
-            if (color[3] === 0) {
-                color = undefined;
-            }
-        }
-        return color;
-    }
-
-    MvtStyle.prototype.getStyleByMapboxStyle = function(mapboxStyle) {
-        var openlayer = this._openlayer;
-        var type = mapboxStyle.type;
-        var paint = mapboxStyle.paint;
-        var layout = mapboxStyle.layout;
-        if(!when.defined(type) || !when.defined(paint)){
-            return this.getStyle();
-        }
-        if(type == "fill"){
-            var fillStyle = new openlayer.style.Style({
-            });
-            var fill = new openlayer.style.Fill({
-                color: "[255,255,255,1]"
-            });
-            fillStyle.setFill(fill);
-            var fillOpcatiy = paint["fill-opacity"];
-            if (when.defined(paint["fill-color"])) {
-                var fillColor = parseMapboxColorString(paint["fill-color"]);
-                if(when.defined(fillOpcatiy)){
-                    fillColor[3] *= fillOpcatiy;
-                }
-                fill.setColor(fillColor);
-            }
-            if (when.defined(paint["fill-outline-color"])) {
-                var fillOutlineStroke = new openlayer.style.Stroke({
-                    color: "",
-                    width: 1
-                });
-                fillOutlineStroke.setColor(paint["fill-outline-color"]);
-                fillStyle.setStroke(fillOutlineStroke);
-            }
-            if (when.defined(paint["fill-pattern"])) {
-                fillStyle.fillPatternName = paint["fill-pattern"];
-            }
-            return fillStyle;
-        }
-        else if(type == "line"){
-            var lineStyle = new openlayer.style.Style({
-            });
-            var lineStroke = new openlayer.style.Stroke({
-                color: "#000000",
-                width: 1
-            });
-            lineStyle.setStroke(lineStroke);
-            var lineOpcatiy = paint["line-opacity"];
-            if (when.defined(paint["line-color"])) {
-                var lineColor = parseMapboxColorString(paint["line-color"]);
-                if(when.defined(lineOpcatiy)){
-                    lineColor[3] *= lineOpcatiy;
-                }
-            }
-            if (when.defined(paint["line-width"])) {
-                var lineWidth = paint["line-width"];
-                lineStroke.setWidth(lineWidth);
-            }
-
-            if (when.defined(paint["line-dasharray"])) {
-                var lineDasharray = paint["line-dasharray"];
-                lineStroke.setLineDash(lineDasharray);
-            }
-
-            if(when.defined(layout)){
-                if (when.defined(layout["line-cap"])) {
-                    var lineCap = layout["line-cap"];
-                    lineStroke.setLineCap(lineCap);
-                }
-                if (when.defined(layout["line-join"])) {
-                    var lineJoin = layout["line-join"];
-                    lineStroke.setLineJoin(lineJoin);
-                }
-                if (when.defined(layout["line-miter-limit"])) {
-                    var lineMiterLimit = layout["line-miter-limit"];
-                    lineStroke.setMiterLimit(lineMiterLimit);
-                }
-            }
-
-            lineStroke.setColor(lineColor);
-            return lineStyle;
-        }
-        else if(type == "symbol"){
-            var iconStyle = new openlayer.style.Style({
-            });
-            if(when.defined(layout) && when.defined(layout["icon-image"])){
-                iconStyle.hasIconImage = true;
-            }
-            if(when.defined(layout) && when.defined(layout["text-field"])){
-                iconStyle.hasTextStyle = true;
-            }
-            return iconStyle;
-        }
-        else if(type == "circle"){
-            var circleRadius = paint["circle-radius"];
-            var circleColor = paint["circle-color"];
-            var circleStrokeColor = paint["circle-stroke-color"];
-            var circleOpacity = paint["circle-opacity"];
-            var circleStrokeOpacity = paint["circle-stroke-opacity"];
-            var circleStrokeWidth = paint["circle-stroke-width"];
-            var iconImg = new openlayer.style.Circle({
-                radius: circleRadius,
-                stroke: circleStrokeWidth === 0 ? undefined : new openlayer.style.Stroke({
-                    width: circleStrokeWidth,
-                    color: colorWithOpacity(circleStrokeColor, circleStrokeOpacity)
-                }),
-                fill: new openlayer.style.Fill({
-                    color: colorWithOpacity(circleColor, circleOpacity)
-                })
-            });
-            var circleStyle = new openlayer.style.Style({
-            });
-            circleStyle.setImage(iconImg);
-            return circleStyle;
-        }
-        else {
-            return this.getStyle();
-        }
-    };
-
-    var scratchIDColor = new Color.Color();
-    function convertIDtoColor(id, layerID){
-        var colorB = Math.floor(id / 65536);
-        var d = id - colorB * 65536;
-        var colorG = Math.floor(d / 256);
-        var colorR = d - colorG * 256;
-        var alpha = 1;
-        scratchIDColor.red = colorR / 256;
-        scratchIDColor.green = colorG / 256;
-        scratchIDColor.blue = colorB / 256;
-        scratchIDColor.alpha = alpha;
-        return scratchIDColor;
-    }
-
-    MvtStyle.prototype.getIDColorStyle = function(geometryType, id, layerID, lineWidth, radius, lineWidthExpand) {
-        var openlayer = this._openlayer;
-        var idColor = convertIDtoColor(id);
-        var cssColor = idColor.toCssColorString();
-        if(geometryType ==  'LineString' || geometryType ==  'LinearRing' || geometryType ==  'MultiLineString'){
-            var expandWidth = 4;
-            if (when.defined(lineWidth)) {
-                expandWidth = lineWidth * 2 + lineWidthExpand;
-            }
-            var scratchIDStroke = new openlayer.style.Stroke({
-                color: "",
-                width: expandWidth
-            });
-            scratchIDStroke.setColor(cssColor);
-            return new openlayer.style.Style({
-                stroke: scratchIDStroke
-            });
-        }
-        else if(geometryType == 'Point' || geometryType == 'MultiPoint'){
-            var iconImg = new openlayer.style.Circle({
-                radius: (radius - 0.5),
-                fill: new openlayer.style.Fill({
-                    color: cssColor
-                })
-            });
-            var circleStyle = new openlayer.style.Style({
-            });
-            circleStyle.setImage(iconImg);
-            return circleStyle;
-        }
-        else {
-            var scratchIDFill = new openlayer.style.Fill({
-                color: ""
-            });
-            scratchIDFill.setColor(cssColor);
-            var resultStyle = new openlayer.style.Style({
-                fill: scratchIDFill
-            });
-            if(when.defined(lineWidth)){
-                var scratchIDStroke = new openlayer.style.Stroke({
-                    color: "",
-                    width: when.defined(lineWidth) ? lineWidth * 2 : 4
-                });
-                scratchIDStroke.setColor(cssColor);
-                resultStyle.setStroke(scratchIDStroke);
-            }
-            return resultStyle;
-        }
-    };
-
-    var templateRegEx = /^([^]*)\{(.*)\}([^]*)$/;
-    function fromTemplate(text, properties) {
-        var parts;
-        do {
-            parts = text.match(templateRegEx);
-            if (parts) {
-                const value = properties[parts[2]] || '';
-                text = parts[1] + value + parts[3];
-            }
-        } while (parts);
-        return text;
-    }
-
-    MvtStyle.prototype.getTextStyle = function(oldStyle, feature, mapboxStyleLayer) {
-        var openlayer = this._openlayer;
-        var paint = mapboxStyleLayer.paint;
-        var layout = mapboxStyleLayer.layout;
-        var textField = layout['text-field'];
-        var label = fromTemplate(textField, feature.getProperties());
-        if(!when.defined(label)){
-            return;
-        }
-        var style = new openlayer.style.Style();
-        var text = new openlayer.style.Text();
-        style.setText(text);
-        var textSize = layout['text-size'];
-        var font = when.defaultValue(layout['text-font'], ['Open Sans Regular', 'Arial Unicode MS Regular']);
-        var textTransform = layout['text-transform'];
-        if (textTransform == 'uppercase') {
-            label = label.toUpperCase();
-        } else if (textTransform == 'lowercase') {
-            label = label.toLowerCase();
-        }
-        var textMaxWidth = when.defaultValue(layout['text-max-width'], 10);
-        //var wrappedLabel = wrapText(label, font, textMaxWidth);
-        var wrappedLabel = label;
-        text.setText(wrappedLabel);
-        text.setFont(font);
-        text.setRotation(0);
-
-        var textAnchor = when.defaultValue(layout['text-anchor'], 'center');
-        var placement = when.defaultValue(layout['symbol-placement'], 'point');
-        text.setPlacement(placement);
-        if (placement == 'point') {
-            var textAlign = 'center';
-            if (textAnchor.indexOf('left') !== -1) {
-                textAlign = 'left';
-            } else if (textAnchor.indexOf('right') !== -1) {
-                textAlign = 'right';
-            }
-            text.setTextAlign(textAlign);
-        } else {
-            text.setTextAlign();
-        }
-        var textBaseline = 'middle';
-        if (textAnchor.indexOf('bottom') == 0) {
-            textBaseline = 'bottom';
-        } else if (textAnchor.indexOf('top') == 0) {
-            textBaseline = 'top';
-        }
-        text.setTextBaseline(textBaseline);
-        var textOffset = when.defaultValue(layout['text-offset'], [0.0, 0.0]);
-        var textTranslate = when.defaultValue(layout['text-translate'], [0.0, 0.0]);
-        text.setOffsetX(textOffset[0] * textSize + textTranslate[0]);
-        text.setOffsetY(textOffset[1] * textSize + textTranslate[1]);
-        var opacity = paint['text-opacity'];
-        var textColorFill = new openlayer.style.Fill();
-        var textColor = paint["text-color"];
-        if(when.defined(textColor)){
-            textColor = parseMapboxColorString(textColor);
-            textColorFill.setColor(textColor);
-        }
-        text.setFill(textColorFill);
-        var textHaloColor = paint["text-halo-color"];
-        if (when.defined(textHaloColor)) {
-            var textHalo = new openlayer.style.Stroke();
-            textHaloColor = parseMapboxColorString(textHaloColor);
-            textHalo.setColor(textHaloColor);
-            textHalo.setWidth(paint['text-halo-width']);
-            text.setStroke(textHalo);
-        } else {
-            text.setStroke(undefined);
-        }
-        style.setZIndex(oldStyle.getZIndex());
-        style.hasIconImage = oldStyle.hasIconImage;
-        style.textSize = textSize;
-        return style;
-    };
-
-    function covertIconAnchor(iconAnchor) {
-        var anchorOffset = [0.5, 0.5];
-        if (['top-left', 'top-right', 'bottom-left', 'bottom-right'].includes(iconAnchor)) {
-            anchorOffset = [0, 0];
-        }
-        if (iconAnchor === 'left') {
-            iconAnchor = 'top-left';
-            anchorOffset = [0, 0.5];
-        }
-        if (iconAnchor === 'right') {
-            iconAnchor = 'top-left';
-            anchorOffset = [1, 0.5];
-        }
-        if (iconAnchor === 'bottom') {
-            iconAnchor = 'top-left';
-            anchorOffset = [0.5, 1];
-        }
-        if (iconAnchor === 'top') {
-            iconAnchor = 'top-left';
-            anchorOffset = [0.5, 0];
-        }
-        return {
-            anchorOffset: anchorOffset,
-            iconAnchor: iconAnchor
-        };
-    }
-
-    var iconImageCache = {};
-
-    MvtStyle.prototype.setIconImageForStyle = function(spriteImageDatas, style, mapboxStyleLayer){
-        var openlayer = this._openlayer;
-        var paint = mapboxStyleLayer.paint;
-        var layout = mapboxStyleLayer.layout;
-        var iconSize = when.defaultValue(layout["icon-size"], 1);
-        var iconColor = paint['icon-color'];
-        var iconTranslate = when.defaultValue(paint['icon-translate'], [0.0, 0.0]);
-        var iconTranslateAnchor = when.defaultValue(paint['icon-translate-anchor'], 'map');
-        var iconAnchor = when.defaultValue(layout['icon-anchor'], 'center');
-        var anchorOffsetAndIconAnchor = covertIconAnchor(iconAnchor);
-        var anchorOffset = anchorOffsetAndIconAnchor.anchorOffset;
-        var iconOffset = when.defaultValue(layout['iconoffset'], [0.0, 0.0]);
-        var iconOpacity = when.defaultValue(layout['icon-opacity'], 1.0);
-        var spriteImageName = layout["icon-image"];
-        if(!when.defined(spriteImageDatas[spriteImageName])){
-            console.log('miss icon-image ' + spriteImageName);
-            return;
-        }
-
-        var icon_cache_key = spriteImageName + '.' + iconSize + '.' + iconTranslate + '.' + iconTranslateAnchor + '.' + iconAnchor + '.' + iconOffset;
-        if (when.defined(iconColor)) {
-            icon_cache_key += '.' + iconColor;
-        }
-        var iconImg = iconImageCache[icon_cache_key];
-        if(!when.defined(iconImg)){
-            var spriteImage = spriteImageDatas[spriteImageName];
-            var canvas;
-            if(this._useOffscreen){
-                canvas = new OffscreenCanvas(spriteImage.width, spriteImage.height);
-            }
-            else {
-                canvas = document.createElement('canvas');
-                canvas.width = spriteImage.width;
-                canvas.height = spriteImage.height;
-            }
-            var ctx = canvas.getContext('2d');
-            ctx.putImageData(spriteImage, 0, 0);
-            var translateOffset = [iconTranslate[0] / spriteImage.width, iconTranslate[1] / spriteImage.height];
-            iconImg = new openlayer.style.Icon({
-                img: canvas,
-                anchorOrigin: anchorOffsetAndIconAnchor.iconAnchor,
-                anchor: [iconOffset[0] + anchorOffset[0] + translateOffset[0], iconOffset[1] + anchorOffset[1] - translateOffset[1]],
-                imgSize: [canvas.width, canvas.height],
-                scale: iconSize
-            });
-            iconImg.setOpacity(iconOpacity);
-            iconImageCache[icon_cache_key] = iconImg;
-        }
-
-        style.setImage(iconImg);
-        //style.setText(undefined);
-    };
-
-    var VALUE_EXTENT = 4096;
-    var replays = ["Default", "Polygon", "LineString", "Image", "Symbol", "Text"];
-
-    function MvtRenderer2D(options) {
-        this._mvtStyleClass = options.mvtStyle;
-        this._openlayer = options.openlayer;
-    }
-
-    Object.defineProperties(MvtRenderer2D.prototype, {
-    });
-
-    MvtRenderer2D.prototype.renderFeatures = function(options) {
-        var canvas = options.colorCanvas;
-        var idCanvas = options.idCanvas;
-        var transform = options.transform;
-        var layers = options.layers;
-        var features = options.features;
-        var tileLevel = options.tileLevel;
-        var spriteImageCanvas = options.spriteImageCanvas;
-        var spriteImageDatas = options.spriteImageDatas;
-        var squaredTolerance = options.squaredTolerance;
-        var showBillboard = options.showBillboard;
-        var renderID = options.renderID;
-        var renderColor = options.renderColor;
-        var lineWidthExpand = options.lineWidthExpand;
-
-        var ol = this._openlayer;
-        var ctx = canvas.getContext('2d');
-
-        var idFeatures = [];
-        var iconImageObjects = [];
-        var textObjects = [];
-        var style = null;
-        var declutterTree = ol.ext.rbush(9);
-        var replayGroup = new ol.render.canvas.ReplayGroup(0, [0, 0, VALUE_EXTENT, VALUE_EXTENT], 8, 2, true, declutterTree);
-
-        var featureLength = features.length;
-        for (var r = 0; r < featureLength; r++) {
-            var feature = features[r];
-            var sourceLayer = feature.getProperties().layer;
-            feature.index = sourceLayer + feature.getId();
-            var featureHasStyle = false;
-            var layerGroupById = layers[sourceLayer];
-            var zIndex = 0;
-            for (var layerId in layerGroupById) {
-                var layerById = layerGroupById[layerId];
-
-                var maxzoom = layerById.mapboxStyleLayer.maxzoom;
-                var minzoom = layerById.mapboxStyleLayer.minzoom;
-                if(tileLevel < minzoom || tileLevel > maxzoom){
-                    continue;
-                }
-
-                var filterArray = layerById.filterArray;
-                if (!when.defined(filterArray)) {
-                    style = this._mvtStyleClass.getStyleByMapboxStyle(layerById.mapboxStyleLayer);
-                }
-                else {
-                    var properties = feature.getProperties();
-                    if (MvtFilter.filterTest(properties, filterArray)) {
-                        style = this._mvtStyleClass.getStyleByMapboxStyle(layerById.mapboxStyleLayer);
-                    }
-                    else {
-                        continue;
-                    }
-                }
-
-                if (!when.defined(style)) {
-                    continue;
-                }
-
-                this.createFillPatternForStyle(style, spriteImageCanvas, spriteImageDatas, ctx);
-
-                if (when.defined(style.hasTextStyle)) {
-                    var textStyle = this._mvtStyleClass.getTextStyle(style, feature, layerById.mapboxStyleLayer);
-                    textStyle.setZIndex(zIndex);
-                    if(showBillboard){
-                        textObjects.push({
-                            feature : feature,
-                            style : textStyle
-                        });
-                    }
-                    else {
-                        if(renderColor){
-                            ol.renderer.vector.renderFeature_(replayGroup, feature, textStyle, -1);
-                        }
-                    }
-                }
-
-                if (when.defined(style.hasIconImage) && !when.defined(style.getImage())) {
-                    if(showBillboard){
-                        iconImageObjects.push({
-                            feature : feature,
-                            style : layerById.mapboxStyleLayer
-                        });
-                        continue;
-                    }
-                    else {
-                        this._mvtStyleClass.setIconImageForStyle(spriteImageDatas, style, layerById.mapboxStyleLayer);
-                    }
-                }
-
-                style.setZIndex(zIndex);
-                this.setPickStyleInFeature(feature, style);
-                zIndex++;
-
-                if(renderColor){
-                    ol.renderer.vector.renderFeature_(replayGroup, feature, style, -1);
-                }
-                featureHasStyle = true;
-            }
-            if (featureHasStyle) {
-                idFeatures.push(feature);
-            }
-        }
-
-        if(renderColor){
-            replayGroup.finish();
-            var declutterReplays = {};
-            replayGroup.replay(ctx, transform, 0, {}, replays, declutterReplays);
-            if (declutterReplays) {
-                ol.render.canvas.ReplayGroup.replayDeclutter(declutterReplays, ctx, 0.0);
-            }
-        }
-
-        replayGroup = null;
-        if(renderID){
-            this.renderIDtoTexture(transform, idCanvas, idFeatures, 0, squaredTolerance, lineWidthExpand);
-        }
-        return {
-            idFeatures : idFeatures,
-            iconImageObjects : iconImageObjects,
-            textObjects : textObjects
-        }
-    };
-
-    MvtRenderer2D.prototype.renderIDtoTexture = function(transform, canvas, features, layerID, tileTolerance, lineWidthExpand) {
-        var ol = this._openlayer;
-        var ctx = canvas.getContext('2d');
-        var declutterTree = ol.ext.rbush(9);
-        var replayGroup = new ol.render.canvas.ReplayGroup(0, [0, 0, VALUE_EXTENT, VALUE_EXTENT], 8, 2, true, declutterTree);
-        var featureLength = features.length;
-        for (var r = 0; r < featureLength; r++) {
-            var feature = features[r];
-            var id = getFeatureID(feature);
-            var idStyle = this._mvtStyleClass.getIDColorStyle(feature.getGeometry().getType(), id, layerID, feature.lineWidth, feature.radius, lineWidthExpand);
-            idStyle.setZIndex(feature.zIndex);
-            ol.renderer.vector.renderFeature_(replayGroup, feature, idStyle, -1);
-        }
-        replayGroup.finish();
-        var declutterReplays = {};
-        replayGroup.replay(ctx, transform, 0, {}, replays, declutterReplays);
-        if (declutterReplays) {
-            ol.render.canvas.ReplayGroup.replayDeclutter(declutterReplays, ctx, 0.0);
-        }
-        replayGroup = null;
-    };
-
-    MvtRenderer2D.prototype.createFillPatternForStyle = function(style, spriteImageCanvas, subSpriteImage, ctx){
-        if(!when.defined(style.fillPatternName)){
-            return;
-        }
-        var patternName = style.fillPatternName;
-        var patternCanvas = null;
-        if (when.defined(spriteImageCanvas[patternName])) {
-            patternCanvas = spriteImageCanvas[patternName];
-        }
-        else {
-            var imageData = subSpriteImage[patternName];
-            if (!when.defined(imageData)) {
-                console.log('miss sprite ' + patternName);
-                return;
-            }
-            patternCanvas = document.createElement('canvas');
-            patternCanvas.width = imageData.width;
-            patternCanvas.height = imageData.height;
-            var spriteCtx = patternCanvas.getContext('2d');
-            spriteCtx.putImageData(imageData, 0, 0);
-            spriteImageCanvas[patternName] = patternCanvas;
-        }
-        style.fill_.color_ = ctx.createPattern(patternCanvas, 'repeat');
-    };
-
-    MvtRenderer2D.prototype.setPickStyleInFeature = function(feature, style){
-        var ol = this._openlayer;
-        feature.zIndex = style.getZIndex();
-        if(when.defined(style.getStroke())){
-            var styleLineWidth = style.getStroke().getWidth();
-            if(when.defined(feature.lineWidth)){
-                feature.lineWidth = Math.max(feature.lineWidth, styleLineWidth);
-            }
-            else {
-                feature.lineWidth = styleLineWidth;
-            }
-        }
-        if(when.defined(style.getImage())){
-            var imageStyle = style.getImage();
-            var radius = 1.0;
-            if(imageStyle instanceof ol.style.Icon ){
-                var imageSize = imageStyle.getImageSize();
-                radius = Math.max(imageSize[0], imageSize[1]) / 2.0;
-                radius -= 1.0;
-            }
-            else if(imageStyle instanceof ol.style.Circle ){
-                radius = imageStyle.getRadius();
-            }
-            if(when.defined(feature.radius)){
-                feature.radius = Math.max(feature.radius, radius);
-            }
-            else {
-                feature.radius = radius;
-            }
-        }
-    };
-
-    function getFeatureID(feature) {
-        var id = feature.getId();
-        // 只在颜色中记录256*256*256这么大范围的ID,超过这个范围的ID舍去
-        var discard = Math.floor(id / 16777216);
-        id = id - discard * 16777216;
-        return id;
-    }
-
-    function ol() {
-        }
-
-        ol.array = {};
-
-        /**
-         * Performs a binary search on the provided sorted list and returns the index of the item if found. If it can't be found it'll return -1.
-         * https://github.com/darkskyapp/binary-search
-         *
-         * @param {Array.<*>} haystack Items to search through.
-         * @param {*} needle The item to look for.
-         * @param {Function=} opt_comparator Comparator function.
-         * @return {number} The index of the item if found, -1 if not.
-         */
-        ol.array.binarySearch = function(haystack, needle, opt_comparator) {
-            var mid, cmp;
-            var comparator = opt_comparator || ol.array.numberSafeCompareFunction;
-            var low = 0;
-            var high = haystack.length;
-            var found = false;
-
-            while (low < high) {
-                /* Note that "(low + high) >>> 1" may overflow, and results in a typecast
-                 * to double (which gives the wrong results). */
-                mid = low + (high - low >> 1);
-                cmp = +comparator(haystack[mid], needle);
-
-                if (cmp < 0.0) { /* Too low. */
-                    low  = mid + 1;
-
-                } else { /* Key found or too high */
-                    high = mid;
-                    found = !cmp;
-                }
-            }
-
-            /* Key not found. */
-            return found ? low : ~low;
-        };
-
-
-        /**
-         * Compare function for array sort that is safe for numbers.
-         * @param {*} a The first object to be compared.
-         * @param {*} b The second object to be compared.
-         * @return {number} A negative number, zero, or a positive number as the first
-         *     argument is less than, equal to, or greater than the second.
-         */
-        ol.array.numberSafeCompareFunction = function(a, b) {
-            return a > b ? 1 : a < b ? -1 : 0;
-        };
-
-
-        /**
-         * Whether the array contains the given object.
-         * @param {Array.<*>} arr The array to test for the presence of the element.
-         * @param {*} obj The object for which to test.
-         * @return {boolean} The object is in the array.
-         */
-        ol.array.includes = function(arr, obj) {
-            return arr.indexOf(obj) >= 0;
-        };
-
-
-        /**
-         * @param {Array.<number>} arr Array.
-         * @param {number} target Target.
-         * @param {number} direction 0 means return the nearest, > 0
-         *    means return the largest nearest, < 0 means return the
-         *    smallest nearest.
-         * @return {number} Index.
-         */
-        ol.array.linearFindNearest = function(arr, target, direction) {
-            var n = arr.length;
-            if (arr[0] <= target) {
-                return 0;
-            } else if (target <= arr[n - 1]) {
-                return n - 1;
-            } else {
-                var i;
-                if (direction > 0) {
-                    for (i = 1; i < n; ++i) {
-                        if (arr[i] < target) {
-                            return i - 1;
-                        }
-                    }
-                } else if (direction < 0) {
-                    for (i = 1; i < n; ++i) {
-                        if (arr[i] <= target) {
-                            return i;
-                        }
-                    }
-                } else {
-                    for (i = 1; i < n; ++i) {
-                        if (arr[i] == target) {
-                            return i;
-                        } else if (arr[i] < target) {
-                            if (arr[i - 1] - target < target - arr[i]) {
-                                return i - 1;
-                            } else {
-                                return i;
-                            }
-                        }
-                    }
-                }
-                return n - 1;
-            }
-        };
-
-
-        /**
-         * @param {Array.<*>} arr Array.
-         * @param {number} begin Begin index.
-         * @param {number} end End index.
-         */
-        ol.array.reverseSubArray = function(arr, begin, end) {
-            while (begin < end) {
-                var tmp = arr[begin];
-                arr[begin] = arr[end];
-                arr[end] = tmp;
-                ++begin;
-                --end;
-            }
-        };
-
-        /**
-         * @param {Array.<VALUE>} arr The array to modify.
-         * @param {Array.<VALUE>|VALUE} data The elements or arrays of elements
-         *     to add to arr.
-         * @template VALUE
-         */
-        ol.array.extend = function(arr, data) {
-            var i;
-            var extension = Array.isArray(data) ? data : [data];
-            var length = extension.length;
-            for (i = 0; i < length; i++) {
-                arr[arr.length] = extension[i];
-            }
-        };
-
-
-        /**
-         * @param {Array.<VALUE>} arr The array to modify.
-         * @param {VALUE} obj The element to remove.
-         * @template VALUE
-         * @return {boolean} If the element was removed.
-         */
-        ol.array.remove = function(arr, obj) {
-            var i = arr.indexOf(obj);
-            var found = i > -1;
-            if (found) {
-                arr.splice(i, 1);
-            }
-            return found;
-        };
-
-
-        /**
-         * @param {Array.<VALUE>} arr The array to search in.
-         * @param {function(VALUE, number, ?) : boolean} func The function to compare.
-         * @template VALUE
-         * @return {VALUE} The element found.
-         */
-        ol.array.find = function(arr, func) {
-            var length = arr.length >>> 0;
-            var value;
-
-            for (var i = 0; i < length; i++) {
-                value = arr[i];
-                if (func(value, i, arr)) {
-                    return value;
-                }
-            }
-            return null;
-        };
-
-
-        /**
-         * @param {Array|Uint8ClampedArray} arr1 The first array to compare.
-         * @param {Array|Uint8ClampedArray} arr2 The second array to compare.
-         * @return {boolean} Whether the two arrays are equal.
-         */
-        ol.array.equals = function(arr1, arr2) {
-            var len1 = arr1.length;
-            if (len1 !== arr2.length) {
-                return false;
-            }
-            for (var i = 0; i < len1; i++) {
-                if (arr1[i] !== arr2[i]) {
-                    return false;
-                }
-            }
-            return true;
-        };
-
-
-        /**
-         * @param {Array.<*>} arr The array to sort (modifies original).
-         * @param {Function} compareFnc Comparison function.
-         */
-        ol.array.stableSort = function(arr, compareFnc) {
-            var length = arr.length;
-            var tmp = Array(arr.length);
-            var i;
-            for (i = 0; i < length; i++) {
-                tmp[i] = {index: i, value: arr[i]};
-            }
-            tmp.sort(function(a, b) {
-                return compareFnc(a.value, b.value) || a.index - b.index;
-            });
-            for (i = 0; i < arr.length; i++) {
-                arr[i] = tmp[i].value;
-            }
-        };
-
-
-        /**
-         * @param {Array.<*>} arr The array to search in.
-         * @param {Function} func Comparison function.
-         * @return {number} Return index.
-         */
-        ol.array.findIndex = function(arr, func) {
-            var index;
-            var found = !arr.every(function(el, idx) {
-                index = idx;
-                return !func(el, idx, arr);
-            });
-            return found ? index : -1;
-        };
-
-
-        /**
-         * @param {Array.<*>} arr The array to test.
-         * @param {Function=} opt_func Comparison function.
-         * @param {boolean=} opt_strict Strictly sorted (default false).
-         * @return {boolean} Return index.
-         */
-        ol.array.isSorted = function(arr, opt_func, opt_strict) {
-            var compare = opt_func || ol.array.numberSafeCompareFunction;
-            return arr.every(function(currentVal, index) {
-                if (index === 0) {
-                    return true;
-                }
-                var res = compare(arr[index - 1], currentVal);
-                return !(res > 0 || opt_strict && res === 0);
-            });
-        };
-
-
-        ol.ASSUME_TOUCH = false;
-        ol.DEFAULT_MAX_ZOOM = 42;
-        ol.DEFAULT_MIN_ZOOM = 0;
-        ol.DEFAULT_RASTER_REPROJECTION_ERROR_THRESHOLD = 0.5;
-        ol.DEFAULT_TILE_SIZE = 256;
-        ol.DEFAULT_WMS_VERSION = '1.3.0';
-        ol.ENABLE_CANVAS = true;
-        ol.ENABLE_PROJ4JS = true;
-        ol.ENABLE_RASTER_REPROJECTION = true;
-        ol.ENABLE_WEBGL = true;
-        ol.DEBUG_WEBGL = true;
-        ol.INITIAL_ATLAS_SIZE = 256;
-        ol.MAX_ATLAS_SIZE = -1;
-        ol.MOUSEWHEELZOOM_MAXDELTA = 1;
-        ol.OVERVIEWMAP_MAX_RATIO = 0.75;
-        ol.OVERVIEWMAP_MIN_RATIO = 0.1;
-        ol.RASTER_REPROJECTION_MAX_SOURCE_TILES = 100;
-        ol.RASTER_REPROJECTION_MAX_SUBDIVISION = 10;
-        ol.RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH = 0.25;
-        ol.SIMPLIFY_TOLERANCE = 0.5;
-        ol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK = 1024;
-        ol.VERSION = '';
-
-        ol.inherits = function(childCtor, parentCtor) {
-            childCtor.prototype = Object.create(parentCtor.prototype);
-            childCtor.prototype.constructor = childCtor;
-        };
-
-        ol.nullFunction = function() {};
-
-        ol.getUid = function(obj) {
-            return obj.ol_uid ||
-                (obj.ol_uid = ++ol.uidCounter_);
-        };
-
-        ol.asserts = {};
-        ol.asserts.assert = function(assertion, errorCode) {
-        };
-
-        ol.has = {};
-
-        var ua = typeof navigator !== 'undefined' ?
-            navigator.userAgent.toLowerCase() : '';
-
-        ol.has.FIREFOX = ua.indexOf('firefox') !== -1;
-        ol.has.SAFARI = ua.indexOf('safari') !== -1 && ua.indexOf('chrom') == -1;
-        ol.has.WEBKIT = ua.indexOf('webkit') !== -1 && ua.indexOf('edge') == -1;
-        ol.has.MAC = ua.indexOf('macintosh') !== -1;
-        ol.has.DEVICE_PIXEL_RATIO = 1;
-        ol.has.CANVAS_LINE_DASH = true;
-
-        ol.structs = {};
-
-        /**
-         * @enum {string}
-         */
-        ol.CollectionEventType = {
-            ADD: 'add',
-            REMOVE: 'remove'
-        };
-
-        /**
-         * @enum {string}
-         */
-        ol.ObjectEventType = {
-            PROPERTYCHANGE: 'propertychange'
-        };
-
-        ol.events = {};
-
-        /**
-         * @param {ol.EventsKey} listenerObj Listener object.
-         * @return {ol.EventsListenerFunctionType} Bound listener.
-         */
-        ol.events.bindListener_ = function(listenerObj) {
-            var boundListener = function(evt) {
-                var listener = listenerObj.listener;
-                var bindTo = listenerObj.bindTo || listenerObj.target;
-                if (listenerObj.callOnce) {
-                    ol.events.unlistenByKey(listenerObj);
-                }
-                return listener.call(bindTo, evt);
-            };
-            listenerObj.boundListener = boundListener;
-            return boundListener;
-        };
-
-        ol.events.findListener_ = function(listeners, listener, opt_this,
-                                           opt_setDeleteIndex) {
-            var listenerObj;
-            for (var i = 0, ii = listeners.length; i < ii; ++i) {
-                listenerObj = listeners[i];
-                if (listenerObj.listener === listener &&
-                    listenerObj.bindTo === opt_this) {
-                    if (opt_setDeleteIndex) {
-                        listenerObj.deleteIndex = i;
-                    }
-                    return listenerObj;
-                }
-            }
-            return undefined;
-        };
-
-
-        /**
-         * @param {ol.EventTargetLike} target Target.
-         * @param {string} type Type.
-         * @return {Array.<ol.EventsKey>|undefined} Listeners.
-         */
-        ol.events.getListeners = function(target, type) {
-            var listenerMap = target.ol_lm;
-            return listenerMap ? listenerMap[type] : undefined;
-        };
-
-
-        /**
-         * Get the lookup of listeners.  If one does not exist on the target, it is
-         * created.
-         * @param {ol.EventTargetLike} target Target.
-         * @return {!Object.<string, Array.<ol.EventsKey>>} Map of
-         *     listeners by event type.
-         * @private
-         */
-        ol.events.getListenerMap_ = function(target) {
-            var listenerMap = target.ol_lm;
-            if (!listenerMap) {
-                listenerMap = target.ol_lm = {};
-            }
-            return listenerMap;
-        };
-
-
-        /**
-         * Clean up all listener objects of the given type.  All properties on the
-         * listener objects will be removed, and if no listeners remain in the listener
-         * map, it will be removed from the target.
-         * @param {ol.EventTargetLike} target Target.
-         * @param {string} type Type.
-         * @private
-         */
-        ol.events.removeListeners_ = function(target, type) {
-            var listeners = ol.events.getListeners(target, type);
-            if (listeners) {
-                for (var i = 0, ii = listeners.length; i < ii; ++i) {
-                    target.removeEventListener(type, listeners[i].boundListener);
-                    ol.obj.clear(listeners[i]);
-                }
-                listeners.length = 0;
-                var listenerMap = target.ol_lm;
-                if (listenerMap) {
-                    delete listenerMap[type];
-                    if (Object.keys(listenerMap).length === 0) {
-                        delete target.ol_lm;
-                    }
-                }
-            }
-        };
-
-        ol.events.listen = function(target, type, listener, opt_this, opt_once) {
-            var listenerMap = ol.events.getListenerMap_(target);
-            var listeners = listenerMap[type];
-            if (!listeners) {
-                listeners = listenerMap[type] = [];
-            }
-            var listenerObj = ol.events.findListener_(listeners, listener, opt_this,
-                false);
-            if (listenerObj) {
-                if (!opt_once) {
-                    // Turn one-off listener into a permanent one.
-                    listenerObj.callOnce = false;
-                }
-            } else {
-                listenerObj = /** @type {ol.EventsKey} */ ({
-                    bindTo: opt_this,
-                    callOnce: !!opt_once,
-                    listener: listener,
-                    target: target,
-                    type: type
-                });
-                target.addEventListener(type, ol.events.bindListener_(listenerObj));
-                listeners.push(listenerObj);
-            }
-
-            return listenerObj;
-        };
-
-        ol.events.listenOnce = function(target, type, listener, opt_this) {
-            return ol.events.listen(target, type, listener, opt_this, true);
-        };
-
-        ol.events.unlisten = function(target, type, listener, opt_this) {
-            var listeners = ol.events.getListeners(target, type);
-            if (listeners) {
-                var listenerObj = ol.events.findListener_(listeners, listener, opt_this,
-                    true);
-                if (listenerObj) {
-                    ol.events.unlistenByKey(listenerObj);
-                }
-            }
-        };
-
-        ol.events.unlistenByKey = function(key) {
-            if (key && key.target) {
-                key.target.removeEventListener(key.type, key.boundListener);
-                var listeners = ol.events.getListeners(key.target, key.type);
-                if (listeners) {
-                    var i = 'deleteIndex' in key ? key.deleteIndex : listeners.indexOf(key);
-                    if (i !== -1) {
-                        listeners.splice(i, 1);
-                    }
-                    if (listeners.length === 0) {
-                        ol.events.removeListeners_(key.target, key.type);
-                    }
-                }
-                ol.obj.clear(key);
-            }
-        };
-
-        ol.events.unlistenAll = function(target) {
-            var listenerMap = ol.events.getListenerMap_(target);
-            for (var type in listenerMap) {
-                ol.events.removeListeners_(target, type);
-            }
-        };
-
-        /**
-         * Objects that need to clean up after themselves.
-         * @constructor
-         */
-        ol.Disposable = function() {};
-
-        ol.Disposable.prototype.disposed_ = false;
-
-        ol.Disposable.prototype.dispose = function() {
-            if (!this.disposed_) {
-                this.disposed_ = true;
-                this.disposeInternal();
-            }
-        };
-
-        ol.Disposable.prototype.disposeInternal = ol.nullFunction;
-
-        ol.events.Event = {};
-
-        ol.events.Event = function(type) {
-            this.propagationStopped;
-            this.type = type;
-            this.target = null;
-        };
-
-        ol.events.Event.prototype.preventDefault =
-
-        /**
-         * Stop event propagation.
-         * @function
-         * @override
-         * @api
-         */
-            ol.events.Event.prototype.stopPropagation = function() {
-                this.propagationStopped = true;
-            };
-
-
-        /**
-         * @param {Event|ol.events.Event} evt Event
-         */
-        ol.events.Event.stopPropagation = function(evt) {
-            evt.stopPropagation();
-        };
-
-
-        /**
-         * @param {Event|ol.events.Event} evt Event
-         */
-        ol.events.Event.preventDefault = function(evt) {
-            evt.preventDefault();
-        };
-
-        ol.events.EventTarget = {};
-
-        ol.events.EventTarget = function() {
-            ol.Disposable.call(this);
-            this.pendingRemovals_ = {};
-            this.dispatching_ = {};
-            this.listeners_ = {};
-
-        };
-        ol.inherits(ol.events.EventTarget, ol.Disposable);
-
-
-        /**
-         * @param {string} type Type.
-         * @param {ol.EventsListenerFunctionType} listener Listener.
-         */
-        ol.events.EventTarget.prototype.addEventListener = function(type, listener) {
-            var listeners = this.listeners_[type];
-            if (!listeners) {
-                listeners = this.listeners_[type] = [];
-            }
-            if (listeners.indexOf(listener) === -1) {
-                listeners.push(listener);
-            }
-        };
-
-        ol.events.EventTarget.prototype.dispatchEvent = function(event) {
-            var evt = typeof event === 'string' ? new ol.events.Event(event) : event;
-            var type = evt.type;
-            evt.target = this;
-            var listeners = this.listeners_[type];
-            var propagate;
-            if (listeners) {
-                if (!(type in this.dispatching_)) {
-                    this.dispatching_[type] = 0;
-                    this.pendingRemovals_[type] = 0;
-                }
-                ++this.dispatching_[type];
-                for (var i = 0, ii = listeners.length; i < ii; ++i) {
-                    if (listeners[i].call(this, evt) === false || evt.propagationStopped) {
-                        propagate = false;
-                        break;
-                    }
-                }
-                --this.dispatching_[type];
-                if (this.dispatching_[type] === 0) {
-                    var pendingRemovals = this.pendingRemovals_[type];
-                    delete this.pendingRemovals_[type];
-                    while (pendingRemovals--) {
-                        this.removeEventListener(type, ol.nullFunction);
-                    }
-                    delete this.dispatching_[type];
-                }
-                return propagate;
-            }
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.events.EventTarget.prototype.disposeInternal = function() {
-            ol.events.unlistenAll(this);
-        };
-
-
-        /**
-         * Get the listeners for a specified event type. Listeners are returned in the
-         * order that they will be called in.
-         *
-         * @param {string} type Type.
-         * @return {Array.<ol.EventsListenerFunctionType>} Listeners.
-         */
-        ol.events.EventTarget.prototype.getListeners = function(type) {
-            return this.listeners_[type];
-        };
-
-
-        /**
-         * @param {string=} opt_type Type. If not provided,
-         *     `true` will be returned if this EventTarget has any listeners.
-         * @return {boolean} Has listeners.
-         */
-        ol.events.EventTarget.prototype.hasListener = function(opt_type) {
-            return opt_type ?
-                opt_type in this.listeners_ :
-                Object.keys(this.listeners_).length > 0;
-        };
-
-
-        /**
-         * @param {string} type Type.
-         * @param {ol.EventsListenerFunctionType} listener Listener.
-         */
-        ol.events.EventTarget.prototype.removeEventListener = function(type, listener) {
-            var listeners = this.listeners_[type];
-            if (listeners) {
-                var index = listeners.indexOf(listener);
-                if (type in this.pendingRemovals_) {
-                    // make listener a no-op, and remove later in #dispatchEvent()
-                    listeners[index] = ol.nullFunction;
-                    ++this.pendingRemovals_[type];
-                } else {
-                    listeners.splice(index, 1);
-                    if (listeners.length === 0) {
-                        delete this.listeners_[type];
-                    }
-                }
-            }
-        };
-
-        /**
-         * @enum {string}
-         * @const
-         */
-        ol.events.EventType = {
-            CHANGE: 'change',
-            CLEAR: 'clear',
-            CLICK: 'click',
-            DBLCLICK: 'dblclick',
-            DRAGENTER: 'dragenter',
-            DRAGOVER: 'dragover',
-            DROP: 'drop',
-            ERROR: 'error',
-            KEYDOWN: 'keydown',
-            KEYPRESS: 'keypress',
-            LOAD: 'load',
-            MOUSEDOWN: 'mousedown',
-            MOUSEMOVE: 'mousemove',
-            MOUSEOUT: 'mouseout',
-            MOUSEUP: 'mouseup',
-            MOUSEWHEEL: 'mousewheel',
-            MSPOINTERDOWN: 'MSPointerDown',
-            RESIZE: 'resize',
-            TOUCHSTART: 'touchstart',
-            TOUCHMOVE: 'touchmove',
-            TOUCHEND: 'touchend',
-            WHEEL: 'wheel'
-        };
-
-        ol.Observable = function() {
-            this.revision_ = 0;
-
-        };
-        ol.inherits(ol.Observable, ol.events.EventTarget);
-
-        ol.Observable.unByKey = function(key) {
-            if (Array.isArray(key)) {
-                for (var i = 0, ii = key.length; i < ii; ++i) {
-                    ol.events.unlistenByKey(key[i]);
-                }
-            } else {
-                ol.events.unlistenByKey(/** @type {ol.EventsKey} */ (key));
-            }
-        };
-
-
-        /**
-         * Increases the revision counter and dispatches a 'change' event.
-         * @api
-         */
-        ol.Observable.prototype.changed = function() {
-            ++this.revision_;
-            //this.dispatchEvent(ol.events.EventType.CHANGE);
-        };
-
-
-        /**
-         * Dispatches an event and calls all listeners listening for events
-         * of this type. The event parameter can either be a string or an
-         * Object with a `type` property.
-         *
-         * @param {{type: string,
-     *     target: (EventTarget|ol.events.EventTarget|undefined)}|ol.events.Event|
-     *     string} event Event object.
-         * @function
-         * @api
-         */
-        ol.Observable.prototype.dispatchEvent;
-
-
-        /**
-         * Get the version number for this object.  Each time the object is modified,
-         * its version number will be incremented.
-         * @return {number} Revision.
-         * @api
-         */
-        ol.Observable.prototype.getRevision = function() {
-            return this.revision_;
-        };
-
-
-        /**
-         * Listen for a certain type of event.
-         * @param {string|Array.<string>} type The event type or array of event types.
-         * @param {function(?): ?} listener The listener function.
-         * @param {Object=} opt_this The object to use as `this` in `listener`.
-         * @return {ol.EventsKey|Array.<ol.EventsKey>} Unique key for the listener. If
-         *     called with an array of event types as the first argument, the return
-         *     will be an array of keys.
-         * @api
-         */
-        ol.Observable.prototype.on = function(type, listener, opt_this) {
-            if (Array.isArray(type)) {
-                var len = type.length;
-                var keys = new Array(len);
-                for (var i = 0; i < len; ++i) {
-                    keys[i] = ol.events.listen(this, type[i], listener, opt_this);
-                }
-                return keys;
-            } else {
-                return ol.events.listen(
-                    this, /** @type {string} */ (type), listener, opt_this);
-            }
-        };
-
-
-        /**
-         * Listen once for a certain type of event.
-         * @param {string|Array.<string>} type The event type or array of event types.
-         * @param {function(?): ?} listener The listener function.
-         * @param {Object=} opt_this The object to use as `this` in `listener`.
-         * @return {ol.EventsKey|Array.<ol.EventsKey>} Unique key for the listener. If
-         *     called with an array of event types as the first argument, the return
-         *     will be an array of keys.
-         * @api
-         */
-        ol.Observable.prototype.once = function(type, listener, opt_this) {
-            if (Array.isArray(type)) {
-                var len = type.length;
-                var keys = new Array(len);
-                for (var i = 0; i < len; ++i) {
-                    keys[i] = ol.events.listenOnce(this, type[i], listener, opt_this);
-                }
-                return keys;
-            } else {
-                return ol.events.listenOnce(
-                    this, /** @type {string} */ (type), listener, opt_this);
-            }
-        };
-
-
-        /**
-         * Unlisten for a certain type of event.
-         * @param {string|Array.<string>} type The event type or array of event types.
-         * @param {function(?): ?} listener The listener function.
-         * @param {Object=} opt_this The object which was used as `this` by the
-         * `listener`.
-         * @api
-         */
-        ol.Observable.prototype.un = function(type, listener, opt_this) {
-            if (Array.isArray(type)) {
-                for (var i = 0, ii = type.length; i < ii; ++i) {
-                    ol.events.unlisten(this, type[i], listener, opt_this);
-                }
-                return;
-            } else {
-                ol.events.unlisten(this, /** @type {string} */ (type), listener, opt_this);
-            }
-        };
-
-        ol.uidCounter_ = 0;
-
-        ol.Object = function(opt_values) {
-            ol.Observable.call(this);
-
-            // Call ol.getUid to ensure that the order of objects' ids is the same as
-            // the order in which they were created.  This also helps to ensure that
-            // object properties are always added in the same order, which helps many
-            // JavaScript engines generate faster code.
-            ol.getUid(this);
-
-            /**
-             * @private
-             * @type {!Object.<string, *>}
-             */
-            this.values_ = {};
-
-            if (opt_values !== undefined) {
-                this.setProperties(opt_values);
-            }
-        };
-        ol.inherits(ol.Object, ol.Observable);
-
-
-        /**
-         * @private
-         * @type {Object.<string, string>}
-         */
-        ol.Object.changeEventTypeCache_ = {};
-
-
-        /**
-         * @param {string} key Key name.
-         * @return {string} Change name.
-         */
-        ol.Object.getChangeEventType = function(key) {
-            return ol.Object.changeEventTypeCache_.hasOwnProperty(key) ?
-                ol.Object.changeEventTypeCache_[key] :
-                (ol.Object.changeEventTypeCache_[key] = 'change:' + key);
-        };
-
-
-        /**
-         * Gets a value.
-         * @param {string} key Key name.
-         * @return {*} Value.
-         * @api
-         */
-        ol.Object.prototype.get = function(key) {
-            var value;
-            if (this.values_.hasOwnProperty(key)) {
-                value = this.values_[key];
-            }
-            return value;
-        };
-
-
-        /**
-         * Get a list of object property names.
-         * @return {Array.<string>} List of property names.
-         * @api
-         */
-        ol.Object.prototype.getKeys = function() {
-            return Object.keys(this.values_);
-        };
-
-
-        /**
-         * Get an object of all property names and values.
-         * @return {Object.<string, *>} Object.
-         * @api
-         */
-        ol.Object.prototype.getProperties = function() {
-            return ol.obj.assign({}, this.values_);
-        };
-
-
-        /**
-         * @param {string} key Key name.
-         * @param {*} oldValue Old value.
-         */
-        ol.Object.prototype.notify = function(key, oldValue) {
-            // FIX ME
-            return;
-        };
-
-
-        /**
-         * Sets a value.
-         * @param {string} key Key name.
-         * @param {*} value Value.
-         * @param {boolean=} opt_silent Update without triggering an event.
-         * @api
-         */
-        ol.Object.prototype.set = function(key, value, opt_silent) {
-            if (opt_silent) {
-                this.values_[key] = value;
-            } else {
-                var oldValue = this.values_[key];
-                this.values_[key] = value;
-                if (oldValue !== value) {
-                    this.notify(key, oldValue);
-                }
-            }
-        };
-
-
-        /**
-         * Sets a collection of key-value pairs.  Note that this changes any existing
-         * properties and adds new ones (it does not remove any existing properties).
-         * @param {Object.<string, *>} values Values.
-         * @param {boolean=} opt_silent Update without triggering an event.
-         * @api
-         */
-        ol.Object.prototype.setProperties = function(values, opt_silent) {
-            var key;
-            for (key in values) {
-                this.set(key, values[key], opt_silent);
-            }
-        };
-
-
-        /**
-         * Unsets a property.
-         * @param {string} key Key name.
-         * @param {boolean=} opt_silent Unset without triggering an event.
-         * @api
-         */
-        ol.Object.prototype.unset = function(key, opt_silent) {
-            if (key in this.values_) {
-                var oldValue = this.values_[key];
-                delete this.values_[key];
-                if (!opt_silent) {
-                    this.notify(key, oldValue);
-                }
-            }
-        };
-
-        ol.Object.Event = function(type, key, oldValue) {
-            ol.events.Event.call(this, type);
-            this.key = key;
-            this.oldValue = oldValue;
-
-        };
-        ol.inherits(ol.Object.Event, ol.events.Event);
-
-        ol.functions = {};
-        /**
-         * Always returns true.
-         * @returns {boolean} true.
-         */
-        ol.functions.TRUE = function() {
-            return true;
-        };
-
-        /**
-         * Always returns false.
-         * @returns {boolean} false.
-         */
-        ol.functions.FALSE = function() {
-            return false;
-        };
-
-        ol.math = {};
-
-        ol.math.clamp = function(value, min, max) {
-            return Math.min(Math.max(value, min), max);
-        };
-
-        ol.math.cosh = (function() {
-            // Wrapped in a iife, to save the overhead of checking for the native
-            // implementation on every invocation.
-            var cosh;
-            if ('cosh' in Math) {
-                // The environment supports the native Math.cosh function, use it…
-                cosh = Math.cosh;
-            } else {
-                // … else, use the reference implementation of MDN:
-                cosh = function(x) {
-                    var y = Math.exp(x);
-                    return (y + 1 / y) / 2;
-                };
-            }
-            return cosh;
-        }());
-
-
-        /**
-         * @param {number} x X.
-         * @return {number} The smallest power of two greater than or equal to x.
-         */
-        ol.math.roundUpToPowerOfTwo = function(x) {
-            ol.asserts.assert(0 < x, 29); // `x` must be greater than `0`
-            return Math.pow(2, Math.ceil(Math.log(x) / Math.LN2));
-        };
-
-        ol.math.squaredSegmentDistance = function(x, y, x1, y1, x2, y2) {
-            var dx = x2 - x1;
-            var dy = y2 - y1;
-            if (dx !== 0 || dy !== 0) {
-                var t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy);
-                if (t > 1) {
-                    x1 = x2;
-                    y1 = y2;
-                } else if (t > 0) {
-                    x1 += dx * t;
-                    y1 += dy * t;
-                }
-            }
-            return ol.math.squaredDistance(x, y, x1, y1);
-        };
-
-        ol.math.squaredDistance = function(x1, y1, x2, y2) {
-            var dx = x2 - x1;
-            var dy = y2 - y1;
-            return dx * dx + dy * dy;
-        };
-
-        ol.math.solveLinearSystem = function(mat) {
-            var n = mat.length;
-
-            for (var i = 0; i < n; i++) {
-                // Find max in the i-th column (ignoring i - 1 first rows)
-                var maxRow = i;
-                var maxEl = Math.abs(mat[i][i]);
-                for (var r = i + 1; r < n; r++) {
-                    var absValue = Math.abs(mat[r][i]);
-                    if (absValue > maxEl) {
-                        maxEl = absValue;
-                        maxRow = r;
-                    }
-                }
-
-                if (maxEl === 0) {
-                    return null; // matrix is singular
-                }
-
-                // Swap max row with i-th (current) row
-                var tmp = mat[maxRow];
-                mat[maxRow] = mat[i];
-                mat[i] = tmp;
-
-                // Subtract the i-th row to make all the remaining rows 0 in the i-th column
-                for (var j = i + 1; j < n; j++) {
-                    var coef = -mat[j][i] / mat[i][i];
-                    for (var k = i; k < n + 1; k++) {
-                        if (i == k) {
-                            mat[j][k] = 0;
-                        } else {
-                            mat[j][k] += coef * mat[i][k];
-                        }
-                    }
-                }
-            }
-
-            // Solve Ax=b for upper triangular matrix A (mat)
-            var x = new Array(n);
-            for (var l = n - 1; l >= 0; l--) {
-                x[l] = mat[l][n] / mat[l][l];
-                for (var m = l - 1; m >= 0; m--) {
-                    mat[m][n] -= mat[m][l] * x[l];
-                }
-            }
-            return x;
-        };
-
-        ol.math.toDegrees = function(angleInRadians) {
-            return angleInRadians * 180 / Math.PI;
-        };
-
-        ol.math.toRadians = function(angleInDegrees) {
-            return angleInDegrees * Math.PI / 180;
-        };
-
-        ol.math.modulo = function(a, b) {
-            var r = a % b;
-            return r * b < 0 ? r + b : r;
-        };
-
-        ol.math.lerp = function(a, b, x) {
-            return a + x * (b - a);
-        };
-
-        ol.ImageState = {
-            IDLE: 0,
-            LOADING: 1,
-            LOADED: 2,
-            ERROR: 3
-        };
-
-        ol.color = {};
-
-        ol.color.HEX_COLOR_RE_ = /^#(?:[0-9a-f]{3,4}){1,2}$/i;
-
-        ol.color.NAMED_COLOR_RE_ = /^([a-z]*)$/i;
-
-        ol.color.asArray = function(color) {
-            if (Array.isArray(color)) {
-                return color;
-            } else {
-                return ol.color.fromString(/** @type {string} */ (color));
-            }
-        };
-
-        ol.color.asString = function(color) {
-            if (typeof color === 'string') {
-                return color;
-            } else {
-                return ol.color.toString(color);
-            }
-        };
-
-        ol.color.fromNamed = function(color) {
-            var el = document.createElement('div');
-            el.style.color = color;
-            document.body.appendChild(el);
-            var rgb = getComputedStyle(el).color;
-            document.body.removeChild(el);
-            return rgb;
-        };
-
-        ol.color.fromString = (
-            function() {
-
-                // We maintain a small cache of parsed strings.  To provide cheap LRU-like
-                // semantics, whenever the cache grows too large we simply delete an
-                // arbitrary 25% of the entries.
-
-                /**
-                 * @const
-                 * @type {number}
-                 */
-                var MAX_CACHE_SIZE = 1024;
-
-                /**
-                 * @type {Object.<string, ol.Color>}
-                 */
-                var cache = {};
-
-                /**
-                 * @type {number}
-                 */
-                var cacheSize = 0;
-
-                return (
-                    /**
-                     * @param {string} s String.
-                     * @return {ol.Color} Color.
-                     */
-                        function(s) {
-                        var color;
-                        if (cache.hasOwnProperty(s)) {
-                            color = cache[s];
-                        } else {
-                            if (cacheSize >= MAX_CACHE_SIZE) {
-                                var i = 0;
-                                var key;
-                                for (key in cache) {
-                                    if ((i++ & 3) === 0) {
-                                        delete cache[key];
-                                        --cacheSize;
-                                    }
-                                }
-                            }
-                            color = ol.color.fromStringInternal_(s);
-                            cache[s] = color;
-                            ++cacheSize;
-                        }
-                        return color;
-                    });
-
-            })();
-
-        ol.color.fromStringInternal_ = function(s) {
-            var r, g, b, a, color, parts;
-
-            if (ol.color.NAMED_COLOR_RE_.exec(s)) {
-                s = ol.color.fromNamed(s);
-            }
-
-            if (ol.color.HEX_COLOR_RE_.exec(s)) { // hex
-                var n = s.length - 1; // number of hex digits
-                var d; // number of digits per channel
-                if (n <= 4) {
-                    d = 1;
-                } else {
-                    d = 2;
-                }
-                var hasAlpha = n === 4 || n === 8;
-                r = parseInt(s.substr(1 + 0 * d, d), 16);
-                g = parseInt(s.substr(1 + 1 * d, d), 16);
-                b = parseInt(s.substr(1 + 2 * d, d), 16);
-                if (hasAlpha) {
-                    a = parseInt(s.substr(1 + 3 * d, d), 16);
-                } else {
-                    a = 255;
-                }
-                if (d == 1) {
-                    r = (r << 4) + r;
-                    g = (g << 4) + g;
-                    b = (b << 4) + b;
-                    if (hasAlpha) {
-                        a = (a << 4) + a;
-                    }
-                }
-                color = [r, g, b, a / 255];
-            } else if (s.indexOf('rgba(') == 0) { // rgba()
-                parts = s.slice(5, -1).split(',').map(Number);
-                color = ol.color.normalize(parts);
-            } else if (s.indexOf('rgb(') == 0) { // rgb()
-                parts = s.slice(4, -1).split(',').map(Number);
-                parts.push(1);
-                color = ol.color.normalize(parts);
-            } else {
-                ol.asserts.assert(false, 14); // Invalid color
-            }
-            return /** @type {ol.Color} */ (color);
-        };
-
-
-        /**
-         * @param {ol.Color} color Color.
-         * @param {ol.Color=} opt_color Color.
-         * @return {ol.Color} Clamped color.
-         */
-        ol.color.normalize = function(color, opt_color) {
-            var result = opt_color || [];
-            result[0] = ol.math.clamp((color[0] + 0.5) | 0, 0, 255);
-            result[1] = ol.math.clamp((color[1] + 0.5) | 0, 0, 255);
-            result[2] = ol.math.clamp((color[2] + 0.5) | 0, 0, 255);
-            result[3] = ol.math.clamp(color[3], 0, 1);
-            return result;
-        };
-
-
-        /**
-         * @param {ol.Color} color Color.
-         * @return {string} String.
-         */
-        ol.color.toString = function(color) {
-            var r = color[0];
-            if (r != (r | 0)) {
-                r = (r + 0.5) | 0;
-            }
-            var g = color[1];
-            if (g != (g | 0)) {
-                g = (g + 0.5) | 0;
-            }
-            var b = color[2];
-            if (b != (b | 0)) {
-                b = (b + 0.5) | 0;
-            }
-            var a = color[3] === undefined ? 1 : color[3];
-            return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';
-        };
-
-        ol.colorlike = {};
-
-        ol.colorlike.asColorLike = function(color) {
-            if (ol.colorlike.isColorLike(color)) {
-                return /** @type {string|CanvasPattern|CanvasGradient} */ (color);
-            } else {
-                return ol.color.asString(/** @type {ol.Color} */ (color));
-            }
-        };
-
-        ol.colorlike.isColorLike = function(color) {
-            return (
-                typeof color === 'string' ||
-                    color instanceof CanvasPattern ||
-                    color instanceof CanvasGradient
-                );
-        };
-
-        ol.css = {};
-        ol.css.CLASS_HIDDEN = 'ol-hidden';
-        ol.css.CLASS_SELECTABLE = 'ol-selectable';
-        ol.css.CLASS_UNSELECTABLE = 'ol-unselectable';
-        ol.css.CLASS_UNSUPPORTED = 'ol-unsupported';
-        ol.css.CLASS_CONTROL = 'ol-control';
-        ol.css.getFontFamilies = (function() {
-            var style;
-            var cache = {};
-            return function(font) {
-                if (!style) {
-                    style = document.createElement('div').style;
-                }
-                if (!(font in cache)) {
-                    style.font = font;
-                    var family = style.fontFamily;
-                    style.font = '';
-                    if (!family) {
-                        return null;
-                    }
-                    cache[font] = family.split(/,\s?/);
-                }
-                return cache[font];
-            };
-        })();
-
-        ol.dom = {};
-
-        /**
-         * Create an html canvas element and returns its 2d context.
-         * @param {number=} opt_width Canvas width.
-         * @param {number=} opt_height Canvas height.
-         * @return {CanvasRenderingContext2D} The context.
-         */
-        ol.dom.createCanvasContext2D = function(opt_width, opt_height) {
-            //var canvas = document.createElement('CANVAS');
-            var canvas;
-            if (opt_width && opt_height) {
-                canvas = new OffscreenCanvas(opt_width, opt_height);
-            }
-            else {
-                canvas = new OffscreenCanvas(1, 1);
-            }
-            return canvas.getContext('2d');
-        };
-
-
-        /**
-         * Get the current computed width for the given element including margin,
-         * padding and border.
-         * Equivalent to jQuery's `$(el).outerWidth(true)`.
-         * @param {!Element} element Element.
-         * @return {number} The width.
-         */
-        ol.dom.outerWidth = function(element) {
-            var width = element.offsetWidth;
-            var style = getComputedStyle(element);
-            width += parseInt(style.marginLeft, 10) + parseInt(style.marginRight, 10);
-
-            return width;
-        };
-
-
-        /**
-         * Get the current computed height for the given element including margin,
-         * padding and border.
-         * Equivalent to jQuery's `$(el).outerHeight(true)`.
-         * @param {!Element} element Element.
-         * @return {number} The height.
-         */
-        ol.dom.outerHeight = function(element) {
-            var height = element.offsetHeight;
-            var style = getComputedStyle(element);
-            height += parseInt(style.marginTop, 10) + parseInt(style.marginBottom, 10);
-
-            return height;
-        };
-
-        /**
-         * @param {Node} newNode Node to replace old node
-         * @param {Node} oldNode The node to be replaced
-         */
-        ol.dom.replaceNode = function(newNode, oldNode) {
-            var parent = oldNode.parentNode;
-            if (parent) {
-                parent.replaceChild(newNode, oldNode);
-            }
-        };
-
-        /**
-         * @param {Node} node The node to remove.
-         * @returns {Node} The node that was removed or null.
-         */
-        ol.dom.removeNode = function(node) {
-            return node && node.parentNode ? node.parentNode.removeChild(node) : null;
-        };
-
-        /**
-         * @param {Node} node The node to remove the children from.
-         */
-        ol.dom.removeChildren = function(node) {
-            while (node.lastChild) {
-                node.removeChild(node.lastChild);
-            }
-        };
-
-        ol.extent = {};
-
-        ol.extent.Corner = {
-            BOTTOM_LEFT: 'bottom-left',
-            BOTTOM_RIGHT: 'bottom-right',
-            TOP_LEFT: 'top-left',
-            TOP_RIGHT: 'top-right'
-        };
-
-        /**
-         * Relationship to an extent.
-         * @enum {number}
-         */
-        ol.extent.Relationship = {
-            UNKNOWN: 0,
-            INTERSECTING: 1,
-            ABOVE: 2,
-            RIGHT: 4,
-            BELOW: 8,
-            LEFT: 16
-        };
-
-        /**
-         * Build an extent that includes all given coordinates.
-         *
-         * @param {Array.<ol.Coordinate>} coordinates Coordinates.
-         * @return {ol.Extent} Bounding extent.
-         * @api
-         */
-        ol.extent.boundingExtent = function(coordinates) {
-            var extent = ol.extent.createEmpty();
-            for (var i = 0, ii = coordinates.length; i < ii; ++i) {
-                ol.extent.extendCoordinate(extent, coordinates[i]);
-            }
-            return extent;
-        };
-
-        ol.extent.boundingExtentXYs_ = function(xs, ys, opt_extent) {
-            var minX = Math.min.apply(null, xs);
-            var minY = Math.min.apply(null, ys);
-            var maxX = Math.max.apply(null, xs);
-            var maxY = Math.max.apply(null, ys);
-            return ol.extent.createOrUpdate(minX, minY, maxX, maxY, opt_extent);
-        };
-
-        ol.extent.buffer = function(extent, value, opt_extent) {
-            if (opt_extent) {
-                opt_extent[0] = extent[0] - value;
-                opt_extent[1] = extent[1] - value;
-                opt_extent[2] = extent[2] + value;
-                opt_extent[3] = extent[3] + value;
-                return opt_extent;
-            } else {
-                return [
-                    extent[0] - value,
-                    extent[1] - value,
-                    extent[2] + value,
-                    extent[3] + value
-                ];
-            }
-        };
-
-        ol.extent.clone = function(extent, opt_extent) {
-            if (opt_extent) {
-                opt_extent[0] = extent[0];
-                opt_extent[1] = extent[1];
-                opt_extent[2] = extent[2];
-                opt_extent[3] = extent[3];
-                return opt_extent;
-            } else {
-                return extent.slice();
-            }
-        };
-
-        ol.extent.closestSquaredDistanceXY = function(extent, x, y) {
-            var dx, dy;
-            if (x < extent[0]) {
-                dx = extent[0] - x;
-            } else if (extent[2] < x) {
-                dx = x - extent[2];
-            } else {
-                dx = 0;
-            }
-            if (y < extent[1]) {
-                dy = extent[1] - y;
-            } else if (extent[3] < y) {
-                dy = y - extent[3];
-            } else {
-                dy = 0;
-            }
-            return dx * dx + dy * dy;
-        };
-
-
-        /**
-         * Check if the passed coordinate is contained or on the edge of the extent.
-         *
-         * @param {ol.Extent} extent Extent.
-         * @param {ol.Coordinate} coordinate Coordinate.
-         * @return {boolean} The coordinate is contained in the extent.
-         * @api
-         */
-        ol.extent.containsCoordinate = function(extent, coordinate) {
-            return ol.extent.containsXY(extent, coordinate[0], coordinate[1]);
-        };
-
-
-        /**
-         * Check if one extent contains another.
-         *
-         * An extent is deemed contained if it lies completely within the other extent,
-         * including if they share one or more edges.
-         *
-         * @param {ol.Extent} extent1 Extent 1.
-         * @param {ol.Extent} extent2 Extent 2.
-         * @return {boolean} The second extent is contained by or on the edge of the
-         *     first.
-         * @api
-         */
-        ol.extent.containsExtent = function(extent1, extent2) {
-            return extent1[0] <= extent2[0] && extent2[2] <= extent1[2] &&
-                extent1[1] <= extent2[1] && extent2[3] <= extent1[3];
-        };
-
-
-        /**
-         * Check if the passed coordinate is contained or on the edge of the extent.
-         *
-         * @param {ol.Extent} extent Extent.
-         * @param {number} x X coordinate.
-         * @param {number} y Y coordinate.
-         * @return {boolean} The x, y values are contained in the extent.
-         * @api
-         */
-        ol.extent.containsXY = function(extent, x, y) {
-            return extent[0] <= x && x <= extent[2] && extent[1] <= y && y <= extent[3];
-        };
-
-
-        /**
-         * Get the relationship between a coordinate and extent.
-         * @param {ol.Extent} extent The extent.
-         * @param {ol.Coordinate} coordinate The coordinate.
-         * @return {number} The relationship (bitwise compare with
-         *     ol.extent.Relationship).
-         */
-        ol.extent.coordinateRelationship = function(extent, coordinate) {
-            var minX = extent[0];
-            var minY = extent[1];
-            var maxX = extent[2];
-            var maxY = extent[3];
-            var x = coordinate[0];
-            var y = coordinate[1];
-            var relationship = ol.extent.Relationship.UNKNOWN;
-            if (x < minX) {
-                relationship = relationship | ol.extent.Relationship.LEFT;
-            } else if (x > maxX) {
-                relationship = relationship | ol.extent.Relationship.RIGHT;
-            }
-            if (y < minY) {
-                relationship = relationship | ol.extent.Relationship.BELOW;
-            } else if (y > maxY) {
-                relationship = relationship | ol.extent.Relationship.ABOVE;
-            }
-            if (relationship === ol.extent.Relationship.UNKNOWN) {
-                relationship = ol.extent.Relationship.INTERSECTING;
-            }
-            return relationship;
-        };
-
-
-        /**
-         * Create an empty extent.
-         * @return {ol.Extent} Empty extent.
-         * @api
-         */
-        ol.extent.createEmpty = function() {
-            return [Infinity, Infinity, -Infinity, -Infinity];
-        };
-
-
-        /**
-         * Create a new extent or update the provided extent.
-         * @param {number} minX Minimum X.
-         * @param {number} minY Minimum Y.
-         * @param {number} maxX Maximum X.
-         * @param {number} maxY Maximum Y.
-         * @param {ol.Extent=} opt_extent Destination extent.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.createOrUpdate = function(minX, minY, maxX, maxY, opt_extent) {
-            if (opt_extent) {
-                opt_extent[0] = minX;
-                opt_extent[1] = minY;
-                opt_extent[2] = maxX;
-                opt_extent[3] = maxY;
-                return opt_extent;
-            } else {
-                return [minX, minY, maxX, maxY];
-            }
-        };
-
-
-        /**
-         * Create a new empty extent or make the provided one empty.
-         * @param {ol.Extent=} opt_extent Extent.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.createOrUpdateEmpty = function(opt_extent) {
-            return ol.extent.createOrUpdate(
-                Infinity, Infinity, -Infinity, -Infinity, opt_extent);
-        };
-
-
-        /**
-         * @param {ol.Coordinate} coordinate Coordinate.
-         * @param {ol.Extent=} opt_extent Extent.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.createOrUpdateFromCoordinate = function(coordinate, opt_extent) {
-            var x = coordinate[0];
-            var y = coordinate[1];
-            return ol.extent.createOrUpdate(x, y, x, y, opt_extent);
-        };
-
-
-        /**
-         * @param {Array.<ol.Coordinate>} coordinates Coordinates.
-         * @param {ol.Extent=} opt_extent Extent.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.createOrUpdateFromCoordinates = function(coordinates, opt_extent) {
-            var extent = ol.extent.createOrUpdateEmpty(opt_extent);
-            return ol.extent.extendCoordinates(extent, coordinates);
-        };
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @param {ol.Extent=} opt_extent Extent.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.createOrUpdateFromFlatCoordinates = function(flatCoordinates, offset, end, stride, opt_extent) {
-            var extent = ol.extent.createOrUpdateEmpty(opt_extent);
-            return ol.extent.extendFlatCoordinates(
-                extent, flatCoordinates, offset, end, stride);
-        };
-
-
-        /**
-         * @param {Array.<Array.<ol.Coordinate>>} rings Rings.
-         * @param {ol.Extent=} opt_extent Extent.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.createOrUpdateFromRings = function(rings, opt_extent) {
-            var extent = ol.extent.createOrUpdateEmpty(opt_extent);
-            return ol.extent.extendRings(extent, rings);
-        };
-
-
-        /**
-         * Determine if two extents are equivalent.
-         * @param {ol.Extent} extent1 Extent 1.
-         * @param {ol.Extent} extent2 Extent 2.
-         * @return {boolean} The two extents are equivalent.
-         * @api
-         */
-        ol.extent.equals = function(extent1, extent2) {
-            return extent1[0] == extent2[0] && extent1[2] == extent2[2] &&
-                extent1[1] == extent2[1] && extent1[3] == extent2[3];
-        };
-
-
-        /**
-         * Modify an extent to include another extent.
-         * @param {ol.Extent} extent1 The extent to be modified.
-         * @param {ol.Extent} extent2 The extent that will be included in the first.
-         * @return {ol.Extent} A reference to the first (extended) extent.
-         * @api
-         */
-        ol.extent.extend = function(extent1, extent2) {
-            if (extent2[0] < extent1[0]) {
-                extent1[0] = extent2[0];
-            }
-            if (extent2[2] > extent1[2]) {
-                extent1[2] = extent2[2];
-            }
-            if (extent2[1] < extent1[1]) {
-                extent1[1] = extent2[1];
-            }
-            if (extent2[3] > extent1[3]) {
-                extent1[3] = extent2[3];
-            }
-            return extent1;
-        };
-
-
-        /**
-         * @param {ol.Extent} extent Extent.
-         * @param {ol.Coordinate} coordinate Coordinate.
-         */
-        ol.extent.extendCoordinate = function(extent, coordinate) {
-            if (coordinate[0] < extent[0]) {
-                extent[0] = coordinate[0];
-            }
-            if (coordinate[0] > extent[2]) {
-                extent[2] = coordinate[0];
-            }
-            if (coordinate[1] < extent[1]) {
-                extent[1] = coordinate[1];
-            }
-            if (coordinate[1] > extent[3]) {
-                extent[3] = coordinate[1];
-            }
-        };
-
-
-        /**
-         * @param {ol.Extent} extent Extent.
-         * @param {Array.<ol.Coordinate>} coordinates Coordinates.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.extendCoordinates = function(extent, coordinates) {
-            var i, ii;
-            for (i = 0, ii = coordinates.length; i < ii; ++i) {
-                ol.extent.extendCoordinate(extent, coordinates[i]);
-            }
-            return extent;
-        };
-
-
-        /**
-         * @param {ol.Extent} extent Extent.
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.extendFlatCoordinates = function(extent, flatCoordinates, offset, end, stride) {
-            for (; offset < end; offset += stride) {
-                ol.extent.extendXY(
-                    extent, flatCoordinates[offset], flatCoordinates[offset + 1]);
-            }
-            return extent;
-        };
-
-
-        /**
-         * @param {ol.Extent} extent Extent.
-         * @param {Array.<Array.<ol.Coordinate>>} rings Rings.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.extendRings = function(extent, rings) {
-            var i, ii;
-            for (i = 0, ii = rings.length; i < ii; ++i) {
-                ol.extent.extendCoordinates(extent, rings[i]);
-            }
-            return extent;
-        };
-
-
-        /**
-         * @param {ol.Extent} extent Extent.
-         * @param {number} x X.
-         * @param {number} y Y.
-         */
-        ol.extent.extendXY = function(extent, x, y) {
-            extent[0] = Math.min(extent[0], x);
-            extent[1] = Math.min(extent[1], y);
-            extent[2] = Math.max(extent[2], x);
-            extent[3] = Math.max(extent[3], y);
-        };
-
-
-        /**
-         * This function calls `callback` for each corner of the extent. If the
-         * callback returns a truthy value the function returns that value
-         * immediately. Otherwise the function returns `false`.
-         * @param {ol.Extent} extent Extent.
-         * @param {function(this:T, ol.Coordinate): S} callback Callback.
-         * @param {T=} opt_this Value to use as `this` when executing `callback`.
-         * @return {S|boolean} Value.
-         * @template S, T
-         */
-        ol.extent.forEachCorner = function(extent, callback, opt_this) {
-            var val;
-            val = callback.call(opt_this, ol.extent.getBottomLeft(extent));
-            if (val) {
-                return val;
-            }
-            val = callback.call(opt_this, ol.extent.getBottomRight(extent));
-            if (val) {
-                return val;
-            }
-            val = callback.call(opt_this, ol.extent.getTopRight(extent));
-            if (val) {
-                return val;
-            }
-            val = callback.call(opt_this, ol.extent.getTopLeft(extent));
-            if (val) {
-                return val;
-            }
-            return false;
-        };
-
-
-        /**
-         * Get the size of an extent.
-         * @param {ol.Extent} extent Extent.
-         * @return {number} Area.
-         * @api
-         */
-        ol.extent.getArea = function(extent) {
-            var area = 0;
-            if (!ol.extent.isEmpty(extent)) {
-                area = ol.extent.getWidth(extent) * ol.extent.getHeight(extent);
-            }
-            return area;
-        };
-
-
-        /**
-         * Get the bottom left coordinate of an extent.
-         * @param {ol.Extent} extent Extent.
-         * @return {ol.Coordinate} Bottom left coordinate.
-         * @api
-         */
-        ol.extent.getBottomLeft = function(extent) {
-            return [extent[0], extent[1]];
-        };
-
-
-        /**
-         * Get the bottom right coordinate of an extent.
-         * @param {ol.Extent} extent Extent.
-         * @return {ol.Coordinate} Bottom right coordinate.
-         * @api
-         */
-        ol.extent.getBottomRight = function(extent) {
-            return [extent[2], extent[1]];
-        };
-
-
-        /**
-         * Get the center coordinate of an extent.
-         * @param {ol.Extent} extent Extent.
-         * @return {ol.Coordinate} Center.
-         * @api
-         */
-        ol.extent.getCenter = function(extent) {
-            return [(extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2];
-        };
-
-
-        /**
-         * Get a corner coordinate of an extent.
-         * @param {ol.Extent} extent Extent.
-         * @param {ol.extent.Corner} corner Corner.
-         * @return {ol.Coordinate} Corner coordinate.
-         */
-        ol.extent.getCorner = function(extent, corner) {
-            var coordinate;
-            if (corner === ol.extent.Corner.BOTTOM_LEFT) {
-                coordinate = ol.extent.getBottomLeft(extent);
-            } else if (corner === ol.extent.Corner.BOTTOM_RIGHT) {
-                coordinate = ol.extent.getBottomRight(extent);
-            } else if (corner === ol.extent.Corner.TOP_LEFT) {
-                coordinate = ol.extent.getTopLeft(extent);
-            } else if (corner === ol.extent.Corner.TOP_RIGHT) {
-                coordinate = ol.extent.getTopRight(extent);
-            } else {
-                ol.asserts.assert(false, 13); // Invalid corner
-            }
-            return /** @type {!ol.Coordinate} */ (coordinate);
-        };
-
-
-        /**
-         * @param {ol.Extent} extent1 Extent 1.
-         * @param {ol.Extent} extent2 Extent 2.
-         * @return {number} Enlarged area.
-         */
-        ol.extent.getEnlargedArea = function(extent1, extent2) {
-            var minX = Math.min(extent1[0], extent2[0]);
-            var minY = Math.min(extent1[1], extent2[1]);
-            var maxX = Math.max(extent1[2], extent2[2]);
-            var maxY = Math.max(extent1[3], extent2[3]);
-            return (maxX - minX) * (maxY - minY);
-        };
-
-
-        /**
-         * @param {ol.Coordinate} center Center.
-         * @param {number} resolution Resolution.
-         * @param {number} rotation Rotation.
-         * @param {ol.Size} size Size.
-         * @param {ol.Extent=} opt_extent Destination extent.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.getForViewAndSize = function(center, resolution, rotation, size, opt_extent) {
-            var dx = resolution * size[0] / 2;
-            var dy = resolution * size[1] / 2;
-            var cosRotation = Math.cos(rotation);
-            var sinRotation = Math.sin(rotation);
-            var xCos = dx * cosRotation;
-            var xSin = dx * sinRotation;
-            var yCos = dy * cosRotation;
-            var ySin = dy * sinRotation;
-            var x = center[0];
-            var y = center[1];
-            var x0 = x - xCos + ySin;
-            var x1 = x - xCos - ySin;
-            var x2 = x + xCos - ySin;
-            var x3 = x + xCos + ySin;
-            var y0 = y - xSin - yCos;
-            var y1 = y - xSin + yCos;
-            var y2 = y + xSin + yCos;
-            var y3 = y + xSin - yCos;
-            return ol.extent.createOrUpdate(
-                Math.min(x0, x1, x2, x3), Math.min(y0, y1, y2, y3),
-                Math.max(x0, x1, x2, x3), Math.max(y0, y1, y2, y3),
-                opt_extent);
-        };
-
-
-        /**
-         * Get the height of an extent.
-         * @param {ol.Extent} extent Extent.
-         * @return {number} Height.
-         * @api
-         */
-        ol.extent.getHeight = function(extent) {
-            return extent[3] - extent[1];
-        };
-
-
-        /**
-         * @param {ol.Extent} extent1 Extent 1.
-         * @param {ol.Extent} extent2 Extent 2.
-         * @return {number} Intersection area.
-         */
-        ol.extent.getIntersectionArea = function(extent1, extent2) {
-            var intersection = ol.extent.getIntersection(extent1, extent2);
-            return ol.extent.getArea(intersection);
-        };
-
-
-        /**
-         * Get the intersection of two extents.
-         * @param {ol.Extent} extent1 Extent 1.
-         * @param {ol.Extent} extent2 Extent 2.
-         * @param {ol.Extent=} opt_extent Optional extent to populate with intersection.
-         * @return {ol.Extent} Intersecting extent.
-         * @api
-         */
-        ol.extent.getIntersection = function(extent1, extent2, opt_extent) {
-            var intersection = opt_extent ? opt_extent : ol.extent.createEmpty();
-            if (ol.extent.intersects(extent1, extent2)) {
-                if (extent1[0] > extent2[0]) {
-                    intersection[0] = extent1[0];
-                } else {
-                    intersection[0] = extent2[0];
-                }
-                if (extent1[1] > extent2[1]) {
-                    intersection[1] = extent1[1];
-                } else {
-                    intersection[1] = extent2[1];
-                }
-                if (extent1[2] < extent2[2]) {
-                    intersection[2] = extent1[2];
-                } else {
-                    intersection[2] = extent2[2];
-                }
-                if (extent1[3] < extent2[3]) {
-                    intersection[3] = extent1[3];
-                } else {
-                    intersection[3] = extent2[3];
-                }
-            }
-            return intersection;
-        };
-
-
-        /**
-         * @param {ol.Extent} extent Extent.
-         * @return {number} Margin.
-         */
-        ol.extent.getMargin = function(extent) {
-            return ol.extent.getWidth(extent) + ol.extent.getHeight(extent);
-        };
-
-
-        /**
-         * Get the size (width, height) of an extent.
-         * @param {ol.Extent} extent The extent.
-         * @return {ol.Size} The extent size.
-         * @api
-         */
-        ol.extent.getSize = function(extent) {
-            return [extent[2] - extent[0], extent[3] - extent[1]];
-        };
-
-
-        /**
-         * Get the top left coordinate of an extent.
-         * @param {ol.Extent} extent Extent.
-         * @return {ol.Coordinate} Top left coordinate.
-         * @api
-         */
-        ol.extent.getTopLeft = function(extent) {
-            return [extent[0], extent[3]];
-        };
-
-
-        /**
-         * Get the top right coordinate of an extent.
-         * @param {ol.Extent} extent Extent.
-         * @return {ol.Coordinate} Top right coordinate.
-         * @api
-         */
-        ol.extent.getTopRight = function(extent) {
-            return [extent[2], extent[3]];
-        };
-
-
-        /**
-         * Get the width of an extent.
-         * @param {ol.Extent} extent Extent.
-         * @return {number} Width.
-         * @api
-         */
-        ol.extent.getWidth = function(extent) {
-            return extent[2] - extent[0];
-        };
-
-
-        /**
-         * Determine if one extent intersects another.
-         * @param {ol.Extent} extent1 Extent 1.
-         * @param {ol.Extent} extent2 Extent.
-         * @return {boolean} The two extents intersect.
-         * @api
-         */
-        ol.extent.intersects = function(extent1, extent2) {
-            return extent1[0] <= extent2[2] &&
-                extent1[2] >= extent2[0] &&
-                extent1[1] <= extent2[3] &&
-                extent1[3] >= extent2[1];
-        };
-
-
-        /**
-         * Determine if an extent is empty.
-         * @param {ol.Extent} extent Extent.
-         * @return {boolean} Is empty.
-         * @api
-         */
-        ol.extent.isEmpty = function(extent) {
-            return extent[2] < extent[0] || extent[3] < extent[1];
-        };
-
-
-        /**
-         * @param {ol.Extent} extent Extent.
-         * @param {ol.Extent=} opt_extent Extent.
-         * @return {ol.Extent} Extent.
-         */
-        ol.extent.returnOrUpdate = function(extent, opt_extent) {
-            if (opt_extent) {
-                opt_extent[0] = extent[0];
-                opt_extent[1] = extent[1];
-                opt_extent[2] = extent[2];
-                opt_extent[3] = extent[3];
-                return opt_extent;
-            } else {
-                return extent;
-            }
-        };
-
-
-        /**
-         * @param {ol.Extent} extent Extent.
-         * @param {number} value Value.
-         */
-        ol.extent.scaleFromCenter = function(extent, value) {
-            var deltaX = ((extent[2] - extent[0]) / 2) * (value - 1);
-            var deltaY = ((extent[3] - extent[1]) / 2) * (value - 1);
-            extent[0] -= deltaX;
-            extent[2] += deltaX;
-            extent[1] -= deltaY;
-            extent[3] += deltaY;
-        };
-
-
-        /**
-         * Determine if the segment between two coordinates intersects (crosses,
-         * touches, or is contained by) the provided extent.
-         * @param {ol.Extent} extent The extent.
-         * @param {ol.Coordinate} start Segment start coordinate.
-         * @param {ol.Coordinate} end Segment end coordinate.
-         * @return {boolean} The segment intersects the extent.
-         */
-        ol.extent.intersectsSegment = function(extent, start, end) {
-            var intersects = false;
-            var startRel = ol.extent.coordinateRelationship(extent, start);
-            var endRel = ol.extent.coordinateRelationship(extent, end);
-            if (startRel === ol.extent.Relationship.INTERSECTING ||
-                endRel === ol.extent.Relationship.INTERSECTING) {
-                intersects = true;
-            } else {
-                var minX = extent[0];
-                var minY = extent[1];
-                var maxX = extent[2];
-                var maxY = extent[3];
-                var startX = start[0];
-                var startY = start[1];
-                var endX = end[0];
-                var endY = end[1];
-                var slope = (endY - startY) / (endX - startX);
-                var x, y;
-                if (!!(endRel & ol.extent.Relationship.ABOVE) &&
-                    !(startRel & ol.extent.Relationship.ABOVE)) {
-                    // potentially intersects top
-                    x = endX - ((endY - maxY) / slope);
-                    intersects = x >= minX && x <= maxX;
-                }
-                if (!intersects && !!(endRel & ol.extent.Relationship.RIGHT) &&
-                    !(startRel & ol.extent.Relationship.RIGHT)) {
-                    // potentially intersects right
-                    y = endY - ((endX - maxX) * slope);
-                    intersects = y >= minY && y <= maxY;
-                }
-                if (!intersects && !!(endRel & ol.extent.Relationship.BELOW) &&
-                    !(startRel & ol.extent.Relationship.BELOW)) {
-                    // potentially intersects bottom
-                    x = endX - ((endY - minY) / slope);
-                    intersects = x >= minX && x <= maxX;
-                }
-                if (!intersects && !!(endRel & ol.extent.Relationship.LEFT) &&
-                    !(startRel & ol.extent.Relationship.LEFT)) {
-                    // potentially intersects left
-                    y = endY - ((endX - minX) * slope);
-                    intersects = y >= minY && y <= maxY;
-                }
-
-            }
-            return intersects;
-        };
-
-
-        /**
-         * Apply a transform function to the extent.
-         * @param {ol.Extent} extent Extent.
-         * @param {ol.TransformFunction} transformFn Transform function.  Called with
-         * [minX, minY, maxX, maxY] extent coordinates.
-         * @param {ol.Extent=} opt_extent Destination extent.
-         * @return {ol.Extent} Extent.
-         * @api
-         */
-        ol.extent.applyTransform = function(extent, transformFn, opt_extent) {
-            var coordinates = [
-                extent[0], extent[1],
-                extent[0], extent[3],
-                extent[2], extent[1],
-                extent[2], extent[3]
-            ];
-            transformFn(coordinates, coordinates, 2);
-            var xs = [coordinates[0], coordinates[2], coordinates[4], coordinates[6]];
-            var ys = [coordinates[1], coordinates[3], coordinates[5], coordinates[7]];
-            return ol.extent.boundingExtentXYs_(xs, ys, opt_extent);
-        };
-
-        ol.obj = {};
-
-        /**
-         * Polyfill for Object.assign().  Assigns enumerable and own properties from
-         * one or more source objects to a target object.
-         *
-         * @see https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
-         * @param {!Object} target The target object.
-         * @param {...Object} var_sources The source object(s).
-         * @return {!Object} The modified target object.
-         */
-        ol.obj.assign = (typeof Object.assign === 'function') ? Object.assign : function(target, var_sources) {
-            if (target === undefined || target === null) {
-                throw new TypeError('Cannot convert undefined or null to object');
-            }
-
-            var output = Object(target);
-            for (var i = 1, ii = arguments.length; i < ii; ++i) {
-                var source = arguments[i];
-                if (source !== undefined && source !== null) {
-                    for (var key in source) {
-                        if (source.hasOwnProperty(key)) {
-                            output[key] = source[key];
-                        }
-                    }
-                }
-            }
-            return output;
-        };
-
-
-        /**
-         * Removes all properties from an object.
-         * @param {Object} object The object to clear.
-         */
-        ol.obj.clear = function(object) {
-            for (var property in object) {
-                delete object[property];
-            }
-        };
-
-
-        /**
-         * Get an array of property values from an object.
-         * @param {Object<K,V>} object The object from which to get the values.
-         * @return {!Array<V>} The property values.
-         * @template K,V
-         */
-        ol.obj.getValues = function(object) {
-            var values = [];
-            for (var property in object) {
-                values.push(object[property]);
-            }
-            return values;
-        };
-
-
-        /**
-         * Determine if an object has any properties.
-         * @param {Object} object The object to check.
-         * @return {boolean} The object is empty.
-         */
-        ol.obj.isEmpty = function(object) {
-            var property;
-            for (property in object) {
-                return false;
-            }
-            return !property;
-        };
-
-        ol.transform = {};
-
-        /**
-         * @private
-         * @type {ol.Transform}
-         */
-        ol.transform.tmp_ = new Array(6);
-
-
-        /**
-         * Create an identity transform.
-         * @return {!ol.Transform} Identity transform.
-         */
-        ol.transform.create = function() {
-            return [1, 0, 0, 1, 0, 0];
-        };
-
-
-        /**
-         * Resets the given transform to an identity transform.
-         * @param {!ol.Transform} transform Transform.
-         * @return {!ol.Transform} Transform.
-         */
-        ol.transform.reset = function(transform) {
-            return ol.transform.set(transform, 1, 0, 0, 1, 0, 0);
-        };
-
-
-        /**
-         * Multiply the underlying matrices of two transforms and return the result in
-         * the first transform.
-         * @param {!ol.Transform} transform1 Transform parameters of matrix 1.
-         * @param {!ol.Transform} transform2 Transform parameters of matrix 2.
-         * @return {!ol.Transform} transform1 multiplied with transform2.
-         */
-        ol.transform.multiply = function(transform1, transform2) {
-            var a1 = transform1[0];
-            var b1 = transform1[1];
-            var c1 = transform1[2];
-            var d1 = transform1[3];
-            var e1 = transform1[4];
-            var f1 = transform1[5];
-            var a2 = transform2[0];
-            var b2 = transform2[1];
-            var c2 = transform2[2];
-            var d2 = transform2[3];
-            var e2 = transform2[4];
-            var f2 = transform2[5];
-
-            transform1[0] = a1 * a2 + c1 * b2;
-            transform1[1] = b1 * a2 + d1 * b2;
-            transform1[2] = a1 * c2 + c1 * d2;
-            transform1[3] = b1 * c2 + d1 * d2;
-            transform1[4] = a1 * e2 + c1 * f2 + e1;
-            transform1[5] = b1 * e2 + d1 * f2 + f1;
-
-            return transform1;
-        };
-
-        /**
-         * Set the transform components a-f on a given transform.
-         * @param {!ol.Transform} transform Transform.
-         * @param {number} a The a component of the transform.
-         * @param {number} b The b component of the transform.
-         * @param {number} c The c component of the transform.
-         * @param {number} d The d component of the transform.
-         * @param {number} e The e component of the transform.
-         * @param {number} f The f component of the transform.
-         * @return {!ol.Transform} Matrix with transform applied.
-         */
-        ol.transform.set = function(transform, a, b, c, d, e, f) {
-            transform[0] = a;
-            transform[1] = b;
-            transform[2] = c;
-            transform[3] = d;
-            transform[4] = e;
-            transform[5] = f;
-            return transform;
-        };
-
-
-        /**
-         * Set transform on one matrix from another matrix.
-         * @param {!ol.Transform} transform1 Matrix to set transform to.
-         * @param {!ol.Transform} transform2 Matrix to set transform from.
-         * @return {!ol.Transform} transform1 with transform from transform2 applied.
-         */
-        ol.transform.setFromArray = function(transform1, transform2) {
-            transform1[0] = transform2[0];
-            transform1[1] = transform2[1];
-            transform1[2] = transform2[2];
-            transform1[3] = transform2[3];
-            transform1[4] = transform2[4];
-            transform1[5] = transform2[5];
-            return transform1;
-        };
-
-
-        /**
-         * Transforms the given coordinate with the given transform returning the
-         * resulting, transformed coordinate. The coordinate will be modified in-place.
-         *
-         * @param {ol.Transform} transform The transformation.
-         * @param {ol.Coordinate|ol.Pixel} coordinate The coordinate to transform.
-         * @return {ol.Coordinate|ol.Pixel} return coordinate so that operations can be
-         *     chained together.
-         */
-        ol.transform.apply = function(transform, coordinate) {
-            var x = coordinate[0], y = coordinate[1];
-            coordinate[0] = transform[0] * x + transform[2] * y + transform[4];
-            coordinate[1] = transform[1] * x + transform[3] * y + transform[5];
-            return coordinate;
-        };
-
-
-        /**
-         * Applies rotation to the given transform.
-         * @param {!ol.Transform} transform Transform.
-         * @param {number} angle Angle in radians.
-         * @return {!ol.Transform} The rotated transform.
-         */
-        ol.transform.rotate = function(transform, angle) {
-            var cos = Math.cos(angle);
-            var sin = Math.sin(angle);
-            return ol.transform.multiply(transform,
-                ol.transform.set(ol.transform.tmp_, cos, sin, -sin, cos, 0, 0));
-        };
-
-
-        /**
-         * Applies scale to a given transform.
-         * @param {!ol.Transform} transform Transform.
-         * @param {number} x Scale factor x.
-         * @param {number} y Scale factor y.
-         * @return {!ol.Transform} The scaled transform.
-         */
-        ol.transform.scale = function(transform, x, y) {
-            return ol.transform.multiply(transform,
-                ol.transform.set(ol.transform.tmp_, x, 0, 0, y, 0, 0));
-        };
-
-
-        /**
-         * Applies translation to the given transform.
-         * @param {!ol.Transform} transform Transform.
-         * @param {number} dx Translation x.
-         * @param {number} dy Translation y.
-         * @return {!ol.Transform} The translated transform.
-         */
-        ol.transform.translate = function(transform, dx, dy) {
-            return ol.transform.multiply(transform,
-                ol.transform.set(ol.transform.tmp_, 1, 0, 0, 1, dx, dy));
-        };
-
-
-        /**
-         * Creates a composite transform given an initial translation, scale, rotation, and
-         * final translation (in that order only, not commutative).
-         * @param {!ol.Transform} transform The transform (will be modified in place).
-         * @param {number} dx1 Initial translation x.
-         * @param {number} dy1 Initial translation y.
-         * @param {number} sx Scale factor x.
-         * @param {number} sy Scale factor y.
-         * @param {number} angle Rotation (in counter-clockwise radians).
-         * @param {number} dx2 Final translation x.
-         * @param {number} dy2 Final translation y.
-         * @return {!ol.Transform} The composite transform.
-         */
-        ol.transform.compose = function(transform, dx1, dy1, sx, sy, angle, dx2, dy2) {
-            var sin = Math.sin(angle);
-            var cos = Math.cos(angle);
-            transform[0] = sx * cos;
-            transform[1] = sy * sin;
-            transform[2] = -sx * sin;
-            transform[3] = sy * cos;
-            transform[4] = dx2 * sx * cos - dy2 * sx * sin + dx1;
-            transform[5] = dx2 * sy * sin + dy2 * sy * cos + dy1;
-            return transform;
-        };
-
-
-        /**
-         * Invert the given transform.
-         * @param {!ol.Transform} transform Transform.
-         * @return {!ol.Transform} Inverse of the transform.
-         */
-        ol.transform.invert = function(transform) {
-            var det = ol.transform.determinant(transform);
-            //ol.asserts.assert(det !== 0, 32); // Transformation matrix cannot be inverted
-
-            var a = transform[0];
-            var b = transform[1];
-            var c = transform[2];
-            var d = transform[3];
-            var e = transform[4];
-            var f = transform[5];
-
-            transform[0] = d / det;
-            transform[1] = -b / det;
-            transform[2] = -c / det;
-            transform[3] = a / det;
-            transform[4] = (c * f - d * e) / det;
-            transform[5] = -(a * f - b * e) / det;
-
-            return transform;
-        };
-
-
-        /**
-         * Returns the determinant of the given matrix.
-         * @param {!ol.Transform} mat Matrix.
-         * @return {number} Determinant.
-         */
-        ol.transform.determinant = function(mat) {
-            return mat[0] * mat[3] - mat[1] * mat[2];
-        };
-
-        ol.geom = {};
-        ol.geom.flat = {};
-        ol.geom.flat.center = {};
-        ol.geom.flat.reverse = {};
-        ol.geom.flat.orient = {};
-
-
-        ol.geom.flat.transform = {};
-        ol.geom.flat.transform.transform2D = function(flatCoordinates, offset, end, stride, transform, opt_dest) {
-            var dest = opt_dest ? opt_dest : [];
-            var i = 0;
-            var j;
-            for (j = offset; j < end; j += stride) {
-                var x = flatCoordinates[j];
-                var y = flatCoordinates[j + 1];
-                dest[i++] = transform[0] * x + transform[2] * y + transform[4];
-                dest[i++] = transform[1] * x + transform[3] * y + transform[5];
-            }
-            if (opt_dest && dest.length != i) {
-                dest.length = i;
-            }
-            return dest;
-        };
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @param {number} angle Angle.
-         * @param {Array.<number>} anchor Rotation anchor point.
-         * @param {Array.<number>=} opt_dest Destination.
-         * @return {Array.<number>} Transformed coordinates.
-         */
-        ol.geom.flat.transform.rotate = function(flatCoordinates, offset, end, stride, angle, anchor, opt_dest) {
-            var dest = opt_dest ? opt_dest : [];
-            var cos = Math.cos(angle);
-            var sin = Math.sin(angle);
-            var anchorX = anchor[0];
-            var anchorY = anchor[1];
-            var i = 0;
-            for (var j = offset; j < end; j += stride) {
-                var deltaX = flatCoordinates[j] - anchorX;
-                var deltaY = flatCoordinates[j + 1] - anchorY;
-                dest[i++] = anchorX + deltaX * cos - deltaY * sin;
-                dest[i++] = anchorY + deltaX * sin + deltaY * cos;
-                for (var k = j + 2; k < j + stride; ++k) {
-                    dest[i++] = flatCoordinates[k];
-                }
-            }
-            if (opt_dest && dest.length != i) {
-                dest.length = i;
-            }
-            return dest;
-        };
-
-
-        /**
-         * Scale the coordinates.
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @param {number} sx Scale factor in the x-direction.
-         * @param {number} sy Scale factor in the y-direction.
-         * @param {Array.<number>} anchor Scale anchor point.
-         * @param {Array.<number>=} opt_dest Destination.
-         * @return {Array.<number>} Transformed coordinates.
-         */
-        ol.geom.flat.transform.scale = function(flatCoordinates, offset, end, stride, sx, sy, anchor, opt_dest) {
-            var dest = opt_dest ? opt_dest : [];
-            var anchorX = anchor[0];
-            var anchorY = anchor[1];
-            var i = 0;
-            for (var j = offset; j < end; j += stride) {
-                var deltaX = flatCoordinates[j] - anchorX;
-                var deltaY = flatCoordinates[j + 1] - anchorY;
-                dest[i++] = anchorX + sx * deltaX;
-                dest[i++] = anchorY + sy * deltaY;
-                for (var k = j + 2; k < j + stride; ++k) {
-                    dest[i++] = flatCoordinates[k];
-                }
-            }
-            if (opt_dest && dest.length != i) {
-                dest.length = i;
-            }
-            return dest;
-        };
-
-        /**
-         * The coordinate layout for geometries, indicating whether a 3rd or 4th z ('Z')
-         * or measure ('M') coordinate is available. Supported values are `'XY'`,
-         * `'XYZ'`, `'XYM'`, `'XYZM'`.
-         * @enum {string}
-         */
-        ol.geom.GeometryLayout = {
-            XY: 'XY',
-            XYZ: 'XYZ',
-            XYM: 'XYM',
-            XYZM: 'XYZM'
-        };
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         */
-        ol.geom.flat.reverse.coordinates = function(flatCoordinates, offset, end, stride) {
-            while (offset < end - stride) {
-                var i;
-                for (i = 0; i < stride; ++i) {
-                    var tmp = flatCoordinates[offset + i];
-                    flatCoordinates[offset + i] = flatCoordinates[end - stride + i];
-                    flatCoordinates[end - stride + i] = tmp;
-                }
-                offset += stride;
-                end -= stride;
-            }
-        };
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @return {boolean} Is clockwise.
-         */
-        ol.geom.flat.orient.linearRingIsClockwise = function(flatCoordinates, offset, end, stride) {
-            // http://tinyurl.com/clockwise-method
-            // https://github.com/OSGeo/gdal/blob/trunk/gdal/ogr/ogrlinearring.cpp
-            var edge = 0;
-            var x1 = flatCoordinates[end - stride];
-            var y1 = flatCoordinates[end - stride + 1];
-            for (; offset < end; offset += stride) {
-                var x2 = flatCoordinates[offset];
-                var y2 = flatCoordinates[offset + 1];
-                edge += (x2 - x1) * (y2 + y1);
-                x1 = x2;
-                y1 = y2;
-            }
-            return edge > 0;
-        };
-
-
-        /**
-         * Determines if linear rings are oriented.  By default, left-hand orientation
-         * is tested (first ring must be clockwise, remaining rings counter-clockwise).
-         * To test for right-hand orientation, use the `opt_right` argument.
-         *
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<number>} ends Array of end indexes.
-         * @param {number} stride Stride.
-         * @param {boolean=} opt_right Test for right-hand orientation
-         *     (counter-clockwise exterior ring and clockwise interior rings).
-         * @return {boolean} Rings are correctly oriented.
-         */
-        ol.geom.flat.orient.linearRingsAreOriented = function(flatCoordinates, offset, ends, stride, opt_right) {
-            var right = opt_right !== undefined ? opt_right : false;
-            var i, ii;
-            for (i = 0, ii = ends.length; i < ii; ++i) {
-                var end = ends[i];
-                var isClockwise = ol.geom.flat.orient.linearRingIsClockwise(
-                    flatCoordinates, offset, end, stride);
-                if (i === 0) {
-                    if ((right && isClockwise) || (!right && !isClockwise)) {
-                        return false;
-                    }
-                } else {
-                    if ((right && !isClockwise) || (!right && isClockwise)) {
-                        return false;
-                    }
-                }
-                offset = end;
-            }
-            return true;
-        };
-
-
-        /**
-         * Determines if linear rings are oriented.  By default, left-hand orientation
-         * is tested (first ring must be clockwise, remaining rings counter-clockwise).
-         * To test for right-hand orientation, use the `opt_right` argument.
-         *
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<Array.<number>>} endss Array of array of end indexes.
-         * @param {number} stride Stride.
-         * @param {boolean=} opt_right Test for right-hand orientation
-         *     (counter-clockwise exterior ring and clockwise interior rings).
-         * @return {boolean} Rings are correctly oriented.
-         */
-        ol.geom.flat.orient.linearRingssAreOriented = function(flatCoordinates, offset, endss, stride, opt_right) {
-            var i, ii;
-            for (i = 0, ii = endss.length; i < ii; ++i) {
-                if (!ol.geom.flat.orient.linearRingsAreOriented(
-                    flatCoordinates, offset, endss[i], stride, opt_right)) {
-                    return false;
-                }
-            }
-            return true;
-        };
-
-
-        /**
-         * Orient coordinates in a flat array of linear rings.  By default, rings
-         * are oriented following the left-hand rule (clockwise for exterior and
-         * counter-clockwise for interior rings).  To orient according to the
-         * right-hand rule, use the `opt_right` argument.
-         *
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<number>} ends Ends.
-         * @param {number} stride Stride.
-         * @param {boolean=} opt_right Follow the right-hand rule for orientation.
-         * @return {number} End.
-         */
-        ol.geom.flat.orient.orientLinearRings = function(flatCoordinates, offset, ends, stride, opt_right) {
-            var right = opt_right !== undefined ? opt_right : false;
-            var i, ii;
-            for (i = 0, ii = ends.length; i < ii; ++i) {
-                var end = ends[i];
-                var isClockwise = ol.geom.flat.orient.linearRingIsClockwise(
-                    flatCoordinates, offset, end, stride);
-                var reverse = i === 0 ?
-                    (right && isClockwise) || (!right && !isClockwise) :
-                    (right && !isClockwise) || (!right && isClockwise);
-                if (reverse) {
-                    ol.geom.flat.reverse.coordinates(flatCoordinates, offset, end, stride);
-                }
-                offset = end;
-            }
-            return offset;
-        };
-
-
-        /**
-         * Orient coordinates in a flat array of linear rings.  By default, rings
-         * are oriented following the left-hand rule (clockwise for exterior and
-         * counter-clockwise for interior rings).  To orient according to the
-         * right-hand rule, use the `opt_right` argument.
-         *
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<Array.<number>>} endss Array of array of end indexes.
-         * @param {number} stride Stride.
-         * @param {boolean=} opt_right Follow the right-hand rule for orientation.
-         * @return {number} End.
-         */
-        ol.geom.flat.orient.orientLinearRingss = function(flatCoordinates, offset, endss, stride, opt_right) {
-            var i, ii;
-            for (i = 0, ii = endss.length; i < ii; ++i) {
-                offset = ol.geom.flat.orient.orientLinearRings(
-                    flatCoordinates, offset, endss[i], stride, opt_right);
-            }
-            return offset;
-        };
-
-        ol.geom.flat.simplify = {};
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @param {number} squaredTolerance Squared tolerance.
-         * @param {boolean} highQuality Highest quality.
-         * @param {Array.<number>=} opt_simplifiedFlatCoordinates Simplified flat
-         *     coordinates.
-         * @return {Array.<number>} Simplified line string.
-         */
-        ol.geom.flat.simplify.lineString = function(flatCoordinates, offset, end,
-                                                    stride, squaredTolerance, highQuality, opt_simplifiedFlatCoordinates) {
-            var simplifiedFlatCoordinates = opt_simplifiedFlatCoordinates !== undefined ?
-                opt_simplifiedFlatCoordinates : [];
-            if (!highQuality) {
-                end = ol.geom.flat.simplify.radialDistance(flatCoordinates, offset, end,
-                    stride, squaredTolerance,
-                    simplifiedFlatCoordinates, 0);
-                flatCoordinates = simplifiedFlatCoordinates;
-                offset = 0;
-                stride = 2;
-            }
-            simplifiedFlatCoordinates.length = ol.geom.flat.simplify.douglasPeucker(
-                flatCoordinates, offset, end, stride, squaredTolerance,
-                simplifiedFlatCoordinates, 0);
-            return simplifiedFlatCoordinates;
-        };
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @param {number} squaredTolerance Squared tolerance.
-         * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat
-         *     coordinates.
-         * @param {number} simplifiedOffset Simplified offset.
-         * @return {number} Simplified offset.
-         */
-        ol.geom.flat.simplify.douglasPeucker = function(flatCoordinates, offset, end,
-                                                        stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset) {
-            var n = (end - offset) / stride;
-            if (n < 3) {
-                for (; offset < end; offset += stride) {
-                    simplifiedFlatCoordinates[simplifiedOffset++] =
-                        flatCoordinates[offset];
-                    simplifiedFlatCoordinates[simplifiedOffset++] =
-                        flatCoordinates[offset + 1];
-                }
-                return simplifiedOffset;
-            }
-            /** @type {Array.<number>} */
-            var markers = new Array(n);
-            markers[0] = 1;
-            markers[n - 1] = 1;
-            /** @type {Array.<number>} */
-            var stack = [offset, end - stride];
-            var index = 0;
-            var i;
-            while (stack.length > 0) {
-                var last = stack.pop();
-                var first = stack.pop();
-                var maxSquaredDistance = 0;
-                var x1 = flatCoordinates[first];
-                var y1 = flatCoordinates[first + 1];
-                var x2 = flatCoordinates[last];
-                var y2 = flatCoordinates[last + 1];
-                for (i = first + stride; i < last; i += stride) {
-                    var x = flatCoordinates[i];
-                    var y = flatCoordinates[i + 1];
-                    var squaredDistance = ol.math.squaredSegmentDistance(
-                        x, y, x1, y1, x2, y2);
-                    if (squaredDistance > maxSquaredDistance) {
-                        index = i;
-                        maxSquaredDistance = squaredDistance;
-                    }
-                }
-                if (maxSquaredDistance > squaredTolerance) {
-                    markers[(index - offset) / stride] = 1;
-                    if (first + stride < index) {
-                        stack.push(first, index);
-                    }
-                    if (index + stride < last) {
-                        stack.push(index, last);
-                    }
-                }
-            }
-            for (i = 0; i < n; ++i) {
-                if (markers[i]) {
-                    simplifiedFlatCoordinates[simplifiedOffset++] =
-                        flatCoordinates[offset + i * stride];
-                    simplifiedFlatCoordinates[simplifiedOffset++] =
-                        flatCoordinates[offset + i * stride + 1];
-                }
-            }
-            return simplifiedOffset;
-        };
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<number>} ends Ends.
-         * @param {number} stride Stride.
-         * @param {number} squaredTolerance Squared tolerance.
-         * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat
-         *     coordinates.
-         * @param {number} simplifiedOffset Simplified offset.
-         * @param {Array.<number>} simplifiedEnds Simplified ends.
-         * @return {number} Simplified offset.
-         */
-        ol.geom.flat.simplify.douglasPeuckers = function(flatCoordinates, offset,
-                                                         ends, stride, squaredTolerance, simplifiedFlatCoordinates,
-                                                         simplifiedOffset, simplifiedEnds) {
-            var i, ii;
-            for (i = 0, ii = ends.length; i < ii; ++i) {
-                var end = ends[i];
-                simplifiedOffset = ol.geom.flat.simplify.douglasPeucker(
-                    flatCoordinates, offset, end, stride, squaredTolerance,
-                    simplifiedFlatCoordinates, simplifiedOffset);
-                simplifiedEnds.push(simplifiedOffset);
-                offset = end;
-            }
-            return simplifiedOffset;
-        };
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<Array.<number>>} endss Endss.
-         * @param {number} stride Stride.
-         * @param {number} squaredTolerance Squared tolerance.
-         * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat
-         *     coordinates.
-         * @param {number} simplifiedOffset Simplified offset.
-         * @param {Array.<Array.<number>>} simplifiedEndss Simplified endss.
-         * @return {number} Simplified offset.
-         */
-        ol.geom.flat.simplify.douglasPeuckerss = function(
-            flatCoordinates, offset, endss, stride, squaredTolerance,
-            simplifiedFlatCoordinates, simplifiedOffset, simplifiedEndss) {
-            var i, ii;
-            for (i = 0, ii = endss.length; i < ii; ++i) {
-                var ends = endss[i];
-                var simplifiedEnds = [];
-                simplifiedOffset = ol.geom.flat.simplify.douglasPeuckers(
-                    flatCoordinates, offset, ends, stride, squaredTolerance,
-                    simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds);
-                simplifiedEndss.push(simplifiedEnds);
-                offset = ends[ends.length - 1];
-            }
-            return simplifiedOffset;
-        };
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @param {number} squaredTolerance Squared tolerance.
-         * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat
-         *     coordinates.
-         * @param {number} simplifiedOffset Simplified offset.
-         * @return {number} Simplified offset.
-         */
-        ol.geom.flat.simplify.radialDistance = function(flatCoordinates, offset, end,
-                                                        stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset) {
-            if (end <= offset + stride) {
-                // zero or one point, no simplification possible, so copy and return
-                for (; offset < end; offset += stride) {
-                    simplifiedFlatCoordinates[simplifiedOffset++] = flatCoordinates[offset];
-                    simplifiedFlatCoordinates[simplifiedOffset++] =
-                        flatCoordinates[offset + 1];
-                }
-                return simplifiedOffset;
-            }
-            var x1 = flatCoordinates[offset];
-            var y1 = flatCoordinates[offset + 1];
-            // copy first point
-            simplifiedFlatCoordinates[simplifiedOffset++] = x1;
-            simplifiedFlatCoordinates[simplifiedOffset++] = y1;
-            var x2 = x1;
-            var y2 = y1;
-            for (offset += stride; offset < end; offset += stride) {
-                x2 = flatCoordinates[offset];
-                y2 = flatCoordinates[offset + 1];
-                if (ol.math.squaredDistance(x1, y1, x2, y2) > squaredTolerance) {
-                    // copy point at offset
-                    simplifiedFlatCoordinates[simplifiedOffset++] = x2;
-                    simplifiedFlatCoordinates[simplifiedOffset++] = y2;
-                    x1 = x2;
-                    y1 = y2;
-                }
-            }
-            if (x2 != x1 || y2 != y1) {
-                // copy last point
-                simplifiedFlatCoordinates[simplifiedOffset++] = x2;
-                simplifiedFlatCoordinates[simplifiedOffset++] = y2;
-            }
-            return simplifiedOffset;
-        };
-
-
-        /**
-         * @param {number} value Value.
-         * @param {number} tolerance Tolerance.
-         * @return {number} Rounded value.
-         */
-        ol.geom.flat.simplify.snap = function(value, tolerance) {
-            return tolerance * Math.round(value / tolerance);
-        };
-
-
-        /**
-         * Simplifies a line string using an algorithm designed by Tim Schaub.
-         * Coordinates are snapped to the nearest value in a virtual grid and
-         * consecutive duplicate coordinates are discarded.  This effectively preserves
-         * topology as the simplification of any subsection of a line string is
-         * independent of the rest of the line string.  This means that, for examples,
-         * the common edge between two polygons will be simplified to the same line
-         * string independently in both polygons.  This implementation uses a single
-         * pass over the coordinates and eliminates intermediate collinear points.
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @param {number} tolerance Tolerance.
-         * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat
-         *     coordinates.
-         * @param {number} simplifiedOffset Simplified offset.
-         * @return {number} Simplified offset.
-         */
-        ol.geom.flat.simplify.quantize = function(flatCoordinates, offset, end, stride,
-                                                  tolerance, simplifiedFlatCoordinates, simplifiedOffset) {
-            // do nothing if the line is empty
-            if (offset == end) {
-                return simplifiedOffset;
-            }
-            // snap the first coordinate (P1)
-            var x1 = ol.geom.flat.simplify.snap(flatCoordinates[offset], tolerance);
-            var y1 = ol.geom.flat.simplify.snap(flatCoordinates[offset + 1], tolerance);
-            offset += stride;
-            // add the first coordinate to the output
-            simplifiedFlatCoordinates[simplifiedOffset++] = x1;
-            simplifiedFlatCoordinates[simplifiedOffset++] = y1;
-            // find the next coordinate that does not snap to the same value as the first
-            // coordinate (P2)
-            var x2, y2;
-            do {
-                x2 = ol.geom.flat.simplify.snap(flatCoordinates[offset], tolerance);
-                y2 = ol.geom.flat.simplify.snap(flatCoordinates[offset + 1], tolerance);
-                offset += stride;
-                if (offset == end) {
-                    // all coordinates snap to the same value, the line collapses to a point
-                    // push the last snapped value anyway to ensure that the output contains
-                    // at least two points
-                    // FIXME should we really return at least two points anyway?
-                    simplifiedFlatCoordinates[simplifiedOffset++] = x2;
-                    simplifiedFlatCoordinates[simplifiedOffset++] = y2;
-                    return simplifiedOffset;
-                }
-            } while (x2 == x1 && y2 == y1);
-            while (offset < end) {
-                var x3, y3;
-                // snap the next coordinate (P3)
-                x3 = ol.geom.flat.simplify.snap(flatCoordinates[offset], tolerance);
-                y3 = ol.geom.flat.simplify.snap(flatCoordinates[offset + 1], tolerance);
-                offset += stride;
-                // skip P3 if it is equal to P2
-                if (x3 == x2 && y3 == y2) {
-                    continue;
-                }
-                // calculate the delta between P1 and P2
-                var dx1 = x2 - x1;
-                var dy1 = y2 - y1;
-                // calculate the delta between P3 and P1
-                var dx2 = x3 - x1;
-                var dy2 = y3 - y1;
-                // if P1, P2, and P3 are colinear and P3 is further from P1 than P2 is from
-                // P1 in the same direction then P2 is on the straight line between P1 and
-                // P3
-                if ((dx1 * dy2 == dy1 * dx2) &&
-                    ((dx1 < 0 && dx2 < dx1) || dx1 == dx2 || (dx1 > 0 && dx2 > dx1)) &&
-                    ((dy1 < 0 && dy2 < dy1) || dy1 == dy2 || (dy1 > 0 && dy2 > dy1))) {
-                    // discard P2 and set P2 = P3
-                    x2 = x3;
-                    y2 = y3;
-                    continue;
-                }
-                // either P1, P2, and P3 are not colinear, or they are colinear but P3 is
-                // between P3 and P1 or on the opposite half of the line to P2.  add P2,
-                // and continue with P1 = P2 and P2 = P3
-                simplifiedFlatCoordinates[simplifiedOffset++] = x2;
-                simplifiedFlatCoordinates[simplifiedOffset++] = y2;
-                x1 = x2;
-                y1 = y2;
-                x2 = x3;
-                y2 = y3;
-            }
-            // add the last point (P2)
-            simplifiedFlatCoordinates[simplifiedOffset++] = x2;
-            simplifiedFlatCoordinates[simplifiedOffset++] = y2;
-            return simplifiedOffset;
-        };
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<number>} ends Ends.
-         * @param {number} stride Stride.
-         * @param {number} tolerance Tolerance.
-         * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat
-         *     coordinates.
-         * @param {number} simplifiedOffset Simplified offset.
-         * @param {Array.<number>} simplifiedEnds Simplified ends.
-         * @return {number} Simplified offset.
-         */
-        ol.geom.flat.simplify.quantizes = function(
-            flatCoordinates, offset, ends, stride,
-            tolerance,
-            simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds) {
-            var i, ii;
-            for (i = 0, ii = ends.length; i < ii; ++i) {
-                var end = ends[i];
-                simplifiedOffset = ol.geom.flat.simplify.quantize(
-                    flatCoordinates, offset, end, stride,
-                    tolerance,
-                    simplifiedFlatCoordinates, simplifiedOffset);
-                simplifiedEnds.push(simplifiedOffset);
-                offset = end;
-            }
-            return simplifiedOffset;
-        };
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<Array.<number>>} endss Endss.
-         * @param {number} stride Stride.
-         * @param {number} tolerance Tolerance.
-         * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat
-         *     coordinates.
-         * @param {number} simplifiedOffset Simplified offset.
-         * @param {Array.<Array.<number>>} simplifiedEndss Simplified endss.
-         * @return {number} Simplified offset.
-         */
-        ol.geom.flat.simplify.quantizess = function(
-            flatCoordinates, offset, endss, stride,
-            tolerance,
-            simplifiedFlatCoordinates, simplifiedOffset, simplifiedEndss) {
-            var i, ii;
-            for (i = 0, ii = endss.length; i < ii; ++i) {
-                var ends = endss[i];
-                var simplifiedEnds = [];
-                simplifiedOffset = ol.geom.flat.simplify.quantizes(
-                    flatCoordinates, offset, ends, stride,
-                    tolerance,
-                    simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds);
-                simplifiedEndss.push(simplifiedEnds);
-                offset = ends[ends.length - 1];
-            }
-            return simplifiedOffset;
-        };
-
-        ol.geom.GeometryType = {
-            POINT: 'Point',
-            LINE_STRING: 'LineString',
-            LINEAR_RING: 'LinearRing',
-            POLYGON: 'Polygon',
-            MULTI_POINT: 'MultiPoint',
-            MULTI_LINE_STRING: 'MultiLineString',
-            MULTI_POLYGON: 'MultiPolygon',
-            GEOMETRY_COLLECTION: 'GeometryCollection',
-            CIRCLE: 'Circle'
-        };
-
-        /**
-         * @classdesc
-         * Abstract base class; normally only used for creating subclasses and not
-         * instantiated in apps.
-         * Base class for vector geometries.
-         *
-         * To get notified of changes to the geometry, register a listener for the
-         * generic `change` event on your geometry instance.
-         *
-         * @constructor
-         * @abstract
-         * @extends {ol.Object}
-         * @api
-         */
-        ol.geom.Geometry = function() {
-
-            ol.Object.call(this);
-
-            /**
-             * @private
-             * @type {ol.Extent}
-             */
-            this.extent_ = ol.extent.createEmpty();
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.extentRevision_ = -1;
-
-            /**
-             * @protected
-             * @type {Object.<string, ol.geom.Geometry>}
-             */
-            this.simplifiedGeometryCache = {};
-
-            /**
-             * @protected
-             * @type {number}
-             */
-            this.simplifiedGeometryMaxMinSquaredTolerance = 0;
-
-            /**
-             * @protected
-             * @type {number}
-             */
-            this.simplifiedGeometryRevision = 0;
-
-            /**
-             * @private
-             * @type {ol.Transform}
-             */
-            this.tmpTransform_ = ol.transform.create();
-
-        };
-        ol.inherits(ol.geom.Geometry, ol.Object);
-
-
-        /**
-         * Make a complete copy of the geometry.
-         * @abstract
-         * @return {!ol.geom.Geometry} Clone.
-         */
-        ol.geom.Geometry.prototype.clone = function() {};
-
-
-        /**
-         * @abstract
-         * @param {number} x X.
-         * @param {number} y Y.
-         * @param {ol.Coordinate} closestPoint Closest point.
-         * @param {number} minSquaredDistance Minimum squared distance.
-         * @return {number} Minimum squared distance.
-         */
-        ol.geom.Geometry.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) {};
-
-
-        /**
-         * Return the closest point of the geometry to the passed point as
-         * {@link ol.Coordinate coordinate}.
-         * @param {ol.Coordinate} point Point.
-         * @param {ol.Coordinate=} opt_closestPoint Closest point.
-         * @return {ol.Coordinate} Closest point.
-         * @api
-         */
-        ol.geom.Geometry.prototype.getClosestPoint = function(point, opt_closestPoint) {
-            var closestPoint = opt_closestPoint ? opt_closestPoint : [NaN, NaN];
-            this.closestPointXY(point[0], point[1], closestPoint, Infinity);
-            return closestPoint;
-        };
-
-
-        /**
-         * Returns true if this geometry includes the specified coordinate. If the
-         * coordinate is on the boundary of the geometry, returns false.
-         * @param {ol.Coordinate} coordinate Coordinate.
-         * @return {boolean} Contains coordinate.
-         * @api
-         */
-        ol.geom.Geometry.prototype.intersectsCoordinate = function(coordinate) {
-            return this.containsXY(coordinate[0], coordinate[1]);
-        };
-
-
-        /**
-         * @abstract
-         * @param {ol.Extent} extent Extent.
-         * @protected
-         * @return {ol.Extent} extent Extent.
-         */
-        ol.geom.Geometry.prototype.computeExtent = function(extent) {};
-
-
-        /**
-         * @param {number} x X.
-         * @param {number} y Y.
-         * @return {boolean} Contains (x, y).
-         */
-        ol.geom.Geometry.prototype.containsXY = ol.functions.FALSE;
-
-
-        /**
-         * Get the extent of the geometry.
-         * @param {ol.Extent=} opt_extent Extent.
-         * @return {ol.Extent} extent Extent.
-         * @api
-         */
-        ol.geom.Geometry.prototype.getExtent = function(opt_extent) {
-            if (this.extentRevision_ != this.getRevision()) {
-                this.extent_ = this.computeExtent(this.extent_);
-                this.extentRevision_ = this.getRevision();
-            }
-            return ol.extent.returnOrUpdate(this.extent_, opt_extent);
-        };
-
-
-        /**
-         * Rotate the geometry around a given coordinate. This modifies the geometry
-         * coordinates in place.
-         * @abstract
-         * @param {number} angle Rotation angle in radians.
-         * @param {ol.Coordinate} anchor The rotation center.
-         * @api
-         */
-        ol.geom.Geometry.prototype.rotate = function(angle, anchor) {};
-
-
-        /**
-         * Scale the geometry (with an optional origin).  This modifies the geometry
-         * coordinates in place.
-         * @abstract
-         * @param {number} sx The scaling factor in the x-direction.
-         * @param {number=} opt_sy The scaling factor in the y-direction (defaults to
-         *     sx).
-         * @param {ol.Coordinate=} opt_anchor The scale origin (defaults to the center
-         *     of the geometry extent).
-         * @api
-         */
-        ol.geom.Geometry.prototype.scale = function(sx, opt_sy, opt_anchor) {};
-
-
-        /**
-         * Create a simplified version of this geometry.  For linestrings, this uses
-         * the the {@link
-         * https://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm
-         * Douglas Peucker} algorithm.  For polygons, a quantization-based
-         * simplification is used to preserve topology.
-         * @function
-         * @param {number} tolerance The tolerance distance for simplification.
-         * @return {ol.geom.Geometry} A new, simplified version of the original
-         *     geometry.
-         * @api
-         */
-        ol.geom.Geometry.prototype.simplify = function(tolerance) {
-            return this.getSimplifiedGeometry(tolerance * tolerance);
-        };
-
-
-        /**
-         * Create a simplified version of this geometry using the Douglas Peucker
-         * algorithm.
-         * @see https://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm
-         * @abstract
-         * @param {number} squaredTolerance Squared tolerance.
-         * @return {ol.geom.Geometry} Simplified geometry.
-         */
-        ol.geom.Geometry.prototype.getSimplifiedGeometry = function(squaredTolerance) {};
-
-
-        /**
-         * Get the type of this geometry.
-         * @abstract
-         * @return {ol.geom.GeometryType} Geometry type.
-         */
-        ol.geom.Geometry.prototype.getType = function() {};
-
-
-        /**
-         * Apply a transform function to each coordinate of the geometry.
-         * The geometry is modified in place.
-         * If you do not want the geometry modified in place, first `clone()` it and
-         * then use this function on the clone.
-         * @abstract
-         * @param {ol.TransformFunction} transformFn Transform.
-         */
-        ol.geom.Geometry.prototype.applyTransform = function(transformFn) {};
-
-
-        /**
-         * Test if the geometry and the passed extent intersect.
-         * @abstract
-         * @param {ol.Extent} extent Extent.
-         * @return {boolean} `true` if the geometry and the extent intersect.
-         */
-        ol.geom.Geometry.prototype.intersectsExtent = function(extent) {};
-
-
-        /**
-         * Translate the geometry.  This modifies the geometry coordinates in place.  If
-         * instead you want a new geometry, first `clone()` this geometry.
-         * @abstract
-         * @param {number} deltaX Delta X.
-         * @param {number} deltaY Delta Y.
-         */
-        ol.geom.Geometry.prototype.translate = function(deltaX, deltaY) {};
-
-
-        /**
-         * Transform each coordinate of the geometry from one coordinate reference
-         * system to another. The geometry is modified in place.
-         * For example, a line will be transformed to a line and a circle to a circle.
-         * If you do not want the geometry modified in place, first `clone()` it and
-         * then use this function on the clone.
-         *
-         * @param {ol.ProjectionLike} source The current projection.  Can be a
-         *     string identifier or a {@link ol.proj.Projection} object.
-         * @param {ol.ProjectionLike} destination The desired projection.  Can be a
-         *     string identifier or a {@link ol.proj.Projection} object.
-         * @return {ol.geom.Geometry} This geometry.  Note that original geometry is
-         *     modified in place.
-         * @api
-         */
-        ol.geom.Geometry.prototype.transform = function(source, destination) {
-            var tmpTransform = this.tmpTransform_;
-            source = ol.proj.get(source);
-            var transformFn = source.getUnits() == ol.proj.Units.TILE_PIXELS ?
-                function(inCoordinates, outCoordinates, stride) {
-                    var pixelExtent = source.getExtent();
-                    var projectedExtent = source.getWorldExtent();
-                    var scale = ol.extent.getHeight(projectedExtent) / ol.extent.getHeight(pixelExtent);
-                    ol.transform.compose(tmpTransform,
-                        projectedExtent[0], projectedExtent[3],
-                        scale, -scale, 0,
-                        0, 0);
-                    ol.geom.flat.transform.transform2D(inCoordinates, 0, inCoordinates.length, stride,
-                        tmpTransform, outCoordinates);
-                    return ol.proj.getTransform(source, destination)(inCoordinates, outCoordinates, stride);
-                } :
-                ol.proj.getTransform(source, destination);
-            this.applyTransform(transformFn);
-            return this;
-        };
-
-
-        /**
-         * @classdesc
-         * Abstract base class; only used for creating subclasses; do not instantiate
-         * in apps, as cannot be rendered.
-         *
-         * @constructor
-         * @abstract
-         * @extends {ol.geom.Geometry}
-         * @api
-         */
-        ol.geom.SimpleGeometry = function() {
-
-            ol.geom.Geometry.call(this);
-
-            /**
-             * @protected
-             * @type {ol.geom.GeometryLayout}
-             */
-            this.layout = ol.geom.GeometryLayout.XY;
-
-            /**
-             * @protected
-             * @type {number}
-             */
-            this.stride = 2;
-
-            /**
-             * @protected
-             * @type {Array.<number>}
-             */
-            this.flatCoordinates = null;
-
-        };
-        ol.inherits(ol.geom.SimpleGeometry, ol.geom.Geometry);
-
-
-        /**
-         * @param {number} stride Stride.
-         * @private
-         * @return {ol.geom.GeometryLayout} layout Layout.
-         */
-        ol.geom.SimpleGeometry.getLayoutForStride_ = function(stride) {
-            var layout;
-            if (stride == 2) {
-                layout = ol.geom.GeometryLayout.XY;
-            } else if (stride == 3) {
-                layout = ol.geom.GeometryLayout.XYZ;
-            } else if (stride == 4) {
-                layout = ol.geom.GeometryLayout.XYZM;
-            }
-            return /** @type {ol.geom.GeometryLayout} */ (layout);
-        };
-
-
-        /**
-         * @param {ol.geom.GeometryLayout} layout Layout.
-         * @return {number} Stride.
-         */
-        ol.geom.SimpleGeometry.getStrideForLayout = function(layout) {
-            var stride;
-            if (layout == ol.geom.GeometryLayout.XY) {
-                stride = 2;
-            } else if (layout == ol.geom.GeometryLayout.XYZ || layout == ol.geom.GeometryLayout.XYM) {
-                stride = 3;
-            } else if (layout == ol.geom.GeometryLayout.XYZM) {
-                stride = 4;
-            }
-            return /** @type {number} */ (stride);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.SimpleGeometry.prototype.containsXY = ol.functions.FALSE;
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.SimpleGeometry.prototype.computeExtent = function(extent) {
-            return ol.extent.createOrUpdateFromFlatCoordinates(
-                this.flatCoordinates, 0, this.flatCoordinates.length, this.stride,
-                extent);
-        };
-
-
-        /**
-         * @abstract
-         * @return {Array} Coordinates.
-         */
-        ol.geom.SimpleGeometry.prototype.getCoordinates = function() {};
-
-
-        /**
-         * Return the first coordinate of the geometry.
-         * @return {ol.Coordinate} First coordinate.
-         * @api
-         */
-        ol.geom.SimpleGeometry.prototype.getFirstCoordinate = function() {
-            return this.flatCoordinates.slice(0, this.stride);
-        };
-
-
-        /**
-         * @return {Array.<number>} Flat coordinates.
-         */
-        ol.geom.SimpleGeometry.prototype.getFlatCoordinates = function() {
-            return this.flatCoordinates;
-        };
-
-
-        /**
-         * Return the last coordinate of the geometry.
-         * @return {ol.Coordinate} Last point.
-         * @api
-         */
-        ol.geom.SimpleGeometry.prototype.getLastCoordinate = function() {
-            return this.flatCoordinates.slice(this.flatCoordinates.length - this.stride);
-        };
-
-
-        /**
-         * Return the {@link ol.geom.GeometryLayout layout} of the geometry.
-         * @return {ol.geom.GeometryLayout} Layout.
-         * @api
-         */
-        ol.geom.SimpleGeometry.prototype.getLayout = function() {
-            return this.layout;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.SimpleGeometry.prototype.getSimplifiedGeometry = function(squaredTolerance) {
-            if (this.simplifiedGeometryRevision != this.getRevision()) {
-                ol.obj.clear(this.simplifiedGeometryCache);
-                this.simplifiedGeometryMaxMinSquaredTolerance = 0;
-                this.simplifiedGeometryRevision = this.getRevision();
-            }
-            // If squaredTolerance is negative or if we know that simplification will not
-            // have any effect then just return this.
-            if (squaredTolerance < 0 ||
-                (this.simplifiedGeometryMaxMinSquaredTolerance !== 0 &&
-                    squaredTolerance <= this.simplifiedGeometryMaxMinSquaredTolerance)) {
-                return this;
-            }
-            var key = squaredTolerance.toString();
-            if (this.simplifiedGeometryCache.hasOwnProperty(key)) {
-                return this.simplifiedGeometryCache[key];
-            } else {
-                var simplifiedGeometry =
-                    this.getSimplifiedGeometryInternal(squaredTolerance);
-                var simplifiedFlatCoordinates = simplifiedGeometry.getFlatCoordinates();
-                if (simplifiedFlatCoordinates.length < this.flatCoordinates.length) {
-                    this.simplifiedGeometryCache[key] = simplifiedGeometry;
-                    return simplifiedGeometry;
-                } else {
-                    // Simplification did not actually remove any coordinates.  We now know
-                    // that any calls to getSimplifiedGeometry with a squaredTolerance less
-                    // than or equal to the current squaredTolerance will also not have any
-                    // effect.  This allows us to short circuit simplification (saving CPU
-                    // cycles) and prevents the cache of simplified geometries from filling
-                    // up with useless identical copies of this geometry (saving memory).
-                    this.simplifiedGeometryMaxMinSquaredTolerance = squaredTolerance;
-                    return this;
-                }
-            }
-        };
-
-
-        /**
-         * @param {number} squaredTolerance Squared tolerance.
-         * @return {ol.geom.SimpleGeometry} Simplified geometry.
-         * @protected
-         */
-        ol.geom.SimpleGeometry.prototype.getSimplifiedGeometryInternal = function(squaredTolerance) {
-            return this;
-        };
-
-
-        /**
-         * @return {number} Stride.
-         */
-        ol.geom.SimpleGeometry.prototype.getStride = function() {
-            return this.stride;
-        };
-
-
-        /**
-         * @param {ol.geom.GeometryLayout} layout Layout.
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @protected
-         */
-        ol.geom.SimpleGeometry.prototype.setFlatCoordinatesInternal = function(layout, flatCoordinates) {
-            this.stride = ol.geom.SimpleGeometry.getStrideForLayout(layout);
-            this.layout = layout;
-            this.flatCoordinates = flatCoordinates;
-        };
-
-
-        /**
-         * @abstract
-         * @param {Array} coordinates Coordinates.
-         * @param {ol.geom.GeometryLayout=} opt_layout Layout.
-         */
-        ol.geom.SimpleGeometry.prototype.setCoordinates = function(coordinates, opt_layout) {};
-
-
-        /**
-         * @param {ol.geom.GeometryLayout|undefined} layout Layout.
-         * @param {Array} coordinates Coordinates.
-         * @param {number} nesting Nesting.
-         * @protected
-         */
-        ol.geom.SimpleGeometry.prototype.setLayout = function(layout, coordinates, nesting) {
-            /** @type {number} */
-            var stride;
-            if (layout) {
-                stride = ol.geom.SimpleGeometry.getStrideForLayout(layout);
-            } else {
-                var i;
-                for (i = 0; i < nesting; ++i) {
-                    if (coordinates.length === 0) {
-                        this.layout = ol.geom.GeometryLayout.XY;
-                        this.stride = 2;
-                        return;
-                    } else {
-                        coordinates = /** @type {Array} */ (coordinates[0]);
-                    }
-                }
-                stride = coordinates.length;
-                layout = ol.geom.SimpleGeometry.getLayoutForStride_(stride);
-            }
-            this.layout = layout;
-            this.stride = stride;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.SimpleGeometry.prototype.applyTransform = function(transformFn) {
-            if (this.flatCoordinates) {
-                transformFn(this.flatCoordinates, this.flatCoordinates, this.stride);
-                this.changed();
-            }
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.SimpleGeometry.prototype.rotate = function(angle, anchor) {
-            var flatCoordinates = this.getFlatCoordinates();
-            if (flatCoordinates) {
-                var stride = this.getStride();
-                ol.geom.flat.transform.rotate(
-                    flatCoordinates, 0, flatCoordinates.length,
-                    stride, angle, anchor, flatCoordinates);
-                this.changed();
-            }
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.SimpleGeometry.prototype.scale = function(sx, opt_sy, opt_anchor) {
-            var sy = opt_sy;
-            if (sy === undefined) {
-                sy = sx;
-            }
-            var anchor = opt_anchor;
-            if (!anchor) {
-                anchor = ol.extent.getCenter(this.getExtent());
-            }
-            var flatCoordinates = this.getFlatCoordinates();
-            if (flatCoordinates) {
-                var stride = this.getStride();
-                ol.geom.flat.transform.scale(
-                    flatCoordinates, 0, flatCoordinates.length,
-                    stride, sx, sy, anchor, flatCoordinates);
-                this.changed();
-            }
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.SimpleGeometry.prototype.translate = function(deltaX, deltaY) {
-            var flatCoordinates = this.getFlatCoordinates();
-            if (flatCoordinates) {
-                var stride = this.getStride();
-                ol.geom.flat.transform.translate(
-                    flatCoordinates, 0, flatCoordinates.length, stride,
-                    deltaX, deltaY, flatCoordinates);
-                this.changed();
-            }
-        };
-
-
-        /**
-         * @param {ol.geom.SimpleGeometry} simpleGeometry Simple geometry.
-         * @param {ol.Transform} transform Transform.
-         * @param {Array.<number>=} opt_dest Destination.
-         * @return {Array.<number>} Transformed flat coordinates.
-         */
-        ol.geom.SimpleGeometry.transform2D = function(simpleGeometry, transform, opt_dest) {
-            var flatCoordinates = simpleGeometry.getFlatCoordinates();
-            if (!flatCoordinates) {
-                return null;
-            } else {
-                var stride = simpleGeometry.getStride();
-                return ol.geom.flat.transform.transform2D(
-                    flatCoordinates, 0, flatCoordinates.length, stride,
-                    transform, opt_dest);
-            }
-        };
-
-        ol.geom.Polygon = function(coordinates, opt_layout) {
-
-            ol.geom.SimpleGeometry.call(this);
-
-            /**
-             * @type {Array.<number>}
-             * @private
-             */
-            this.ends_ = [];
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.flatInteriorPointRevision_ = -1;
-
-            /**
-             * @private
-             * @type {ol.Coordinate}
-             */
-            this.flatInteriorPoint_ = null;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.maxDelta_ = -1;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.maxDeltaRevision_ = -1;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.orientedRevision_ = -1;
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.orientedFlatCoordinates_ = null;
-
-            this.setCoordinates(coordinates, opt_layout);
-
-        };
-        ol.inherits(ol.geom.Polygon, ol.geom.SimpleGeometry);
-
-
-        /**
-         * Append the passed linear ring to this polygon.
-         * @param {ol.geom.LinearRing} linearRing Linear ring.
-         * @api
-         */
-        ol.geom.Polygon.prototype.appendLinearRing = function(linearRing) {
-            if (!this.flatCoordinates) {
-                this.flatCoordinates = linearRing.getFlatCoordinates().slice();
-            } else {
-                ol.array.extend(this.flatCoordinates, linearRing.getFlatCoordinates());
-            }
-            this.ends_.push(this.flatCoordinates.length);
-            this.changed();
-        };
-
-
-        /**
-         * Make a complete copy of the geometry.
-         * @return {!ol.geom.Polygon} Clone.
-         * @override
-         * @api
-         */
-        ol.geom.Polygon.prototype.clone = function() {
-            var polygon = new ol.geom.Polygon(null);
-            polygon.setFlatCoordinates(
-                this.layout, this.flatCoordinates.slice(), this.ends_.slice());
-            return polygon;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.Polygon.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) {
-            if (minSquaredDistance <
-                ol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) {
-                return minSquaredDistance;
-            }
-            if (this.maxDeltaRevision_ != this.getRevision()) {
-                this.maxDelta_ = Math.sqrt(ol.geom.flat.closest.getsMaxSquaredDelta(
-                    this.flatCoordinates, 0, this.ends_, this.stride, 0));
-                this.maxDeltaRevision_ = this.getRevision();
-            }
-            return ol.geom.flat.closest.getsClosestPoint(
-                this.flatCoordinates, 0, this.ends_, this.stride,
-                this.maxDelta_, true, x, y, closestPoint, minSquaredDistance);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.Polygon.prototype.containsXY = function(x, y) {
-            return ol.geom.flat.contains.linearRingsContainsXY(
-                this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride, x, y);
-        };
-
-
-        /**
-         * Return the area of the polygon on projected plane.
-         * @return {number} Area (on projected plane).
-         * @api
-         */
-        ol.geom.Polygon.prototype.getArea = function() {
-            return ol.geom.flat.area.linearRings(
-                this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride);
-        };
-
-
-        /**
-         * Get the coordinate array for this geometry.  This array has the structure
-         * of a GeoJSON coordinate array for polygons.
-         *
-         * @param {boolean=} opt_right Orient coordinates according to the right-hand
-         *     rule (counter-clockwise for exterior and clockwise for interior rings).
-         *     If `false`, coordinates will be oriented according to the left-hand rule
-         *     (clockwise for exterior and counter-clockwise for interior rings).
-         *     By default, coordinate orientation will depend on how the geometry was
-         *     constructed.
-         * @return {Array.<Array.<ol.Coordinate>>} Coordinates.
-         * @override
-         * @api
-         */
-        ol.geom.Polygon.prototype.getCoordinates = function(opt_right) {
-            var flatCoordinates;
-            if (opt_right !== undefined) {
-                flatCoordinates = this.getOrientedFlatCoordinates().slice();
-                ol.geom.flat.orient.orientLinearRings(
-                    flatCoordinates, 0, this.ends_, this.stride, opt_right);
-            } else {
-                flatCoordinates = this.flatCoordinates;
-            }
-
-            return ol.geom.flat.inflate.coordinatess(
-                flatCoordinates, 0, this.ends_, this.stride);
-        };
-
-
-        /**
-         * @return {Array.<number>} Ends.
-         */
-        ol.geom.Polygon.prototype.getEnds = function() {
-            return this.ends_;
-        };
-
-
-        /**
-         * @return {Array.<number>} Interior point.
-         */
-        ol.geom.Polygon.prototype.getFlatInteriorPoint = function() {
-            if (this.flatInteriorPointRevision_ != this.getRevision()) {
-                var flatCenter = ol.extent.getCenter(this.getExtent());
-                this.flatInteriorPoint_ = ol.geom.flat.interiorpoint.linearRings(
-                    this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride,
-                    flatCenter, 0);
-                this.flatInteriorPointRevision_ = this.getRevision();
-            }
-            return this.flatInteriorPoint_;
-        };
-
-
-        /**
-         * Return an interior point of the polygon.
-         * @return {ol.geom.Point} Interior point as XYM coordinate, where M is the
-         * length of the horizontal intersection that the point belongs to.
-         * @api
-         */
-        ol.geom.Polygon.prototype.getInteriorPoint = function() {
-            return new ol.geom.Point(this.getFlatInteriorPoint(), ol.geom.GeometryLayout.XYM);
-        };
-
-
-        /**
-         * Return the number of rings of the polygon,  this includes the exterior
-         * ring and any interior rings.
-         *
-         * @return {number} Number of rings.
-         * @api
-         */
-        ol.geom.Polygon.prototype.getLinearRingCount = function() {
-            return this.ends_.length;
-        };
-
-
-        /**
-         * Return the Nth linear ring of the polygon geometry. Return `null` if the
-         * given index is out of range.
-         * The exterior linear ring is available at index `0` and the interior rings
-         * at index `1` and beyond.
-         *
-         * @param {number} index Index.
-         * @return {ol.geom.LinearRing} Linear ring.
-         * @api
-         */
-        ol.geom.Polygon.prototype.getLinearRing = function(index) {
-            if (index < 0 || this.ends_.length <= index) {
-                return null;
-            }
-            var linearRing = new ol.geom.LinearRing(null);
-            linearRing.setFlatCoordinates(this.layout, this.flatCoordinates.slice(
-                index === 0 ? 0 : this.ends_[index - 1], this.ends_[index]));
-            return linearRing;
-        };
-
-
-        /**
-         * Return the linear rings of the polygon.
-         * @return {Array.<ol.geom.LinearRing>} Linear rings.
-         * @api
-         */
-        ol.geom.Polygon.prototype.getLinearRings = function() {
-            var layout = this.layout;
-            var flatCoordinates = this.flatCoordinates;
-            var ends = this.ends_;
-            var linearRings = [];
-            var offset = 0;
-            var i, ii;
-            for (i = 0, ii = ends.length; i < ii; ++i) {
-                var end = ends[i];
-                var linearRing = new ol.geom.LinearRing(null);
-                linearRing.setFlatCoordinates(layout, flatCoordinates.slice(offset, end));
-                linearRings.push(linearRing);
-                offset = end;
-            }
-            return linearRings;
-        };
-
-
-        /**
-         * @return {Array.<number>} Oriented flat coordinates.
-         */
-        ol.geom.Polygon.prototype.getOrientedFlatCoordinates = function() {
-            if (this.orientedRevision_ != this.getRevision()) {
-                var flatCoordinates = this.flatCoordinates;
-                if (ol.geom.flat.orient.linearRingsAreOriented(
-                    flatCoordinates, 0, this.ends_, this.stride)) {
-                    this.orientedFlatCoordinates_ = flatCoordinates;
-                } else {
-                    this.orientedFlatCoordinates_ = flatCoordinates.slice();
-                    this.orientedFlatCoordinates_.length =
-                        ol.geom.flat.orient.orientLinearRings(
-                            this.orientedFlatCoordinates_, 0, this.ends_, this.stride);
-                }
-                this.orientedRevision_ = this.getRevision();
-            }
-            return this.orientedFlatCoordinates_;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.Polygon.prototype.getSimplifiedGeometryInternal = function(squaredTolerance) {
-            var simplifiedFlatCoordinates = [];
-            var simplifiedEnds = [];
-            simplifiedFlatCoordinates.length = ol.geom.flat.simplify.quantizes(
-                this.flatCoordinates, 0, this.ends_, this.stride,
-                Math.sqrt(squaredTolerance),
-                simplifiedFlatCoordinates, 0, simplifiedEnds);
-            var simplifiedPolygon = new ol.geom.Polygon(null);
-            simplifiedPolygon.setFlatCoordinates(
-                ol.geom.GeometryLayout.XY, simplifiedFlatCoordinates, simplifiedEnds);
-            return simplifiedPolygon;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.Polygon.prototype.getType = function() {
-            return ol.geom.GeometryType.POLYGON;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.Polygon.prototype.intersectsExtent = function(extent) {
-            return ol.geom.flat.intersectsextent.linearRings(
-                this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride, extent);
-        };
-
-
-        /**
-         * Set the coordinates of the polygon.
-         * @param {Array.<Array.<ol.Coordinate>>} coordinates Coordinates.
-         * @param {ol.geom.GeometryLayout=} opt_layout Layout.
-         * @override
-         * @api
-         */
-        ol.geom.Polygon.prototype.setCoordinates = function(coordinates, opt_layout) {
-            if (!coordinates) {
-                this.setFlatCoordinates(ol.geom.GeometryLayout.XY, null, this.ends_);
-            } else {
-                this.setLayout(opt_layout, coordinates, 2);
-                if (!this.flatCoordinates) {
-                    this.flatCoordinates = [];
-                }
-                var ends = ol.geom.flat.deflate.coordinatess(
-                    this.flatCoordinates, 0, coordinates, this.stride, this.ends_);
-                this.flatCoordinates.length = ends.length === 0 ? 0 : ends[ends.length - 1];
-                //this.changed();
-            }
-        };
-
-
-        /**
-         * @param {ol.geom.GeometryLayout} layout Layout.
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {Array.<number>} ends Ends.
-         */
-        ol.geom.Polygon.prototype.setFlatCoordinates = function(layout, flatCoordinates, ends) {
-            this.setFlatCoordinatesInternal(layout, flatCoordinates);
-            this.ends_ = ends;
-            //this.changed();
-        };
-
-
-        /**
-         * Create an approximation of a circle on the surface of a sphere.
-         * @param {ol.Sphere} sphere The sphere.
-         * @param {ol.Coordinate} center Center (`[lon, lat]` in degrees).
-         * @param {number} radius The great-circle distance from the center to
-         *     the polygon vertices.
-         * @param {number=} opt_n Optional number of vertices for the resulting
-         *     polygon. Default is `32`.
-         * @return {ol.geom.Polygon} The "circular" polygon.
-         * @api
-         */
-        ol.geom.Polygon.circular = function(sphere, center, radius, opt_n) {
-            var n = opt_n ? opt_n : 32;
-            /** @type {Array.<number>} */
-            var flatCoordinates = [];
-            var i;
-            for (i = 0; i < n; ++i) {
-                ol.array.extend(
-                    flatCoordinates, sphere.offset(center, radius, 2 * Math.PI * i / n));
-            }
-            flatCoordinates.push(flatCoordinates[0], flatCoordinates[1]);
-            var polygon = new ol.geom.Polygon(null);
-            polygon.setFlatCoordinates(
-                ol.geom.GeometryLayout.XY, flatCoordinates, [flatCoordinates.length]);
-            return polygon;
-        };
-
-
-        /**
-         * Create a polygon from an extent. The layout used is `XY`.
-         * @param {ol.Extent} extent The extent.
-         * @return {ol.geom.Polygon} The polygon.
-         * @api
-         */
-        ol.geom.Polygon.fromExtent = function(extent) {
-            var minX = extent[0];
-            var minY = extent[1];
-            var maxX = extent[2];
-            var maxY = extent[3];
-            var flatCoordinates =
-                [minX, minY, minX, maxY, maxX, maxY, maxX, minY, minX, minY];
-            var polygon = new ol.geom.Polygon(null);
-            polygon.setFlatCoordinates(
-                ol.geom.GeometryLayout.XY, flatCoordinates, [flatCoordinates.length]);
-            return polygon;
-        };
-
-
-        /**
-         * Create a regular polygon from a circle.
-         * @param {ol.geom.Circle} circle Circle geometry.
-         * @param {number=} opt_sides Number of sides of the polygon. Default is 32.
-         * @param {number=} opt_angle Start angle for the first vertex of the polygon in
-         *     radians. Default is 0.
-         * @return {ol.geom.Polygon} Polygon geometry.
-         * @api
-         */
-        ol.geom.Polygon.fromCircle = function(circle, opt_sides, opt_angle) {
-            var sides = opt_sides ? opt_sides : 32;
-            var stride = circle.getStride();
-            var layout = circle.getLayout();
-            var polygon = new ol.geom.Polygon(null, layout);
-            var arrayLength = stride * (sides + 1);
-            var flatCoordinates = new Array(arrayLength);
-            for (var i = 0; i < arrayLength; i++) {
-                flatCoordinates[i] = 0;
-            }
-            var ends = [flatCoordinates.length];
-            polygon.setFlatCoordinates(layout, flatCoordinates, ends);
-            ol.geom.Polygon.makeRegular(
-                polygon, circle.getCenter(), circle.getRadius(), opt_angle);
-            return polygon;
-        };
-
-
-        /**
-         * Modify the coordinates of a polygon to make it a regular polygon.
-         * @param {ol.geom.Polygon} polygon Polygon geometry.
-         * @param {ol.Coordinate} center Center of the regular polygon.
-         * @param {number} radius Radius of the regular polygon.
-         * @param {number=} opt_angle Start angle for the first vertex of the polygon in
-         *     radians. Default is 0.
-         */
-        ol.geom.Polygon.makeRegular = function(polygon, center, radius, opt_angle) {
-            var flatCoordinates = polygon.getFlatCoordinates();
-            var layout = polygon.getLayout();
-            var stride = polygon.getStride();
-            var ends = polygon.getEnds();
-            var sides = flatCoordinates.length / stride - 1;
-            var startAngle = opt_angle ? opt_angle : 0;
-            var angle, offset;
-            for (var i = 0; i <= sides; ++i) {
-                offset = i * stride;
-                angle = startAngle + (ol.math.modulo(i, sides) * 2 * Math.PI / sides);
-                flatCoordinates[offset] = center[0] + (radius * Math.cos(angle));
-                flatCoordinates[offset + 1] = center[1] + (radius * Math.sin(angle));
-            }
-            polygon.setFlatCoordinates(layout, flatCoordinates, ends);
-        };
-
-        /**
-         * @classdesc
-         * Linestring geometry.
-         *
-         * @constructor
-         * @extends {ol.geom.SimpleGeometry}
-         * @param {Array.<ol.Coordinate>} coordinates Coordinates.
-         * @param {ol.geom.GeometryLayout=} opt_layout Layout.
-         * @api
-         */
-        ol.geom.LineString = function(coordinates, opt_layout) {
-
-            ol.geom.SimpleGeometry.call(this);
-
-            /**
-             * @private
-             * @type {ol.Coordinate}
-             */
-            this.flatMidpoint_ = null;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.flatMidpointRevision_ = -1;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.maxDelta_ = -1;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.maxDeltaRevision_ = -1;
-
-            this.setCoordinates(coordinates, opt_layout);
-
-        };
-        ol.inherits(ol.geom.LineString, ol.geom.SimpleGeometry);
-
-
-        /**
-         * Append the passed coordinate to the coordinates of the linestring.
-         * @param {ol.Coordinate} coordinate Coordinate.
-         * @api
-         */
-        ol.geom.LineString.prototype.appendCoordinate = function(coordinate) {
-            if (!this.flatCoordinates) {
-                this.flatCoordinates = coordinate.slice();
-            } else {
-                ol.array.extend(this.flatCoordinates, coordinate);
-            }
-            this.changed();
-        };
-
-
-        /**
-         * Make a complete copy of the geometry.
-         * @return {!ol.geom.LineString} Clone.
-         * @override
-         * @api
-         */
-        ol.geom.LineString.prototype.clone = function() {
-            var lineString = new ol.geom.LineString(null);
-            lineString.setFlatCoordinates(this.layout, this.flatCoordinates.slice());
-            return lineString;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.LineString.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) {
-            if (minSquaredDistance <
-                ol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) {
-                return minSquaredDistance;
-            }
-            if (this.maxDeltaRevision_ != this.getRevision()) {
-                this.maxDelta_ = Math.sqrt(ol.geom.flat.closest.getMaxSquaredDelta(
-                    this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, 0));
-                this.maxDeltaRevision_ = this.getRevision();
-            }
-            return ol.geom.flat.closest.getClosestPoint(
-                this.flatCoordinates, 0, this.flatCoordinates.length, this.stride,
-                this.maxDelta_, false, x, y, closestPoint, minSquaredDistance);
-        };
-
-
-        /**
-         * Iterate over each segment, calling the provided callback.
-         * If the callback returns a truthy value the function returns that
-         * value immediately. Otherwise the function returns `false`.
-         *
-         * @param {function(this: S, ol.Coordinate, ol.Coordinate): T} callback Function
-         *     called for each segment.
-         * @param {S=} opt_this The object to be used as the value of 'this'
-         *     within callback.
-         * @return {T|boolean} Value.
-         * @template T,S
-         * @api
-         */
-        ol.geom.LineString.prototype.forEachSegment = function(callback, opt_this) {
-            return ol.geom.flat.segments.forEach(this.flatCoordinates, 0,
-                this.flatCoordinates.length, this.stride, callback, opt_this);
-        };
-
-
-        /**
-         * Returns the coordinate at `m` using linear interpolation, or `null` if no
-         * such coordinate exists.
-         *
-         * `opt_extrapolate` controls extrapolation beyond the range of Ms in the
-         * MultiLineString. If `opt_extrapolate` is `true` then Ms less than the first
-         * M will return the first coordinate and Ms greater than the last M will
-         * return the last coordinate.
-         *
-         * @param {number} m M.
-         * @param {boolean=} opt_extrapolate Extrapolate. Default is `false`.
-         * @return {ol.Coordinate} Coordinate.
-         * @api
-         */
-        ol.geom.LineString.prototype.getCoordinateAtM = function(m, opt_extrapolate) {
-            if (this.layout != ol.geom.GeometryLayout.XYM &&
-                this.layout != ol.geom.GeometryLayout.XYZM) {
-                return null;
-            }
-            var extrapolate = opt_extrapolate !== undefined ? opt_extrapolate : false;
-            return ol.geom.flat.interpolate.lineStringCoordinateAtM(this.flatCoordinates, 0,
-                this.flatCoordinates.length, this.stride, m, extrapolate);
-        };
-
-
-        /**
-         * Return the coordinates of the linestring.
-         * @return {Array.<ol.Coordinate>} Coordinates.
-         * @override
-         * @api
-         */
-        ol.geom.LineString.prototype.getCoordinates = function() {
-            return ol.geom.flat.inflate.coordinates(
-                this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);
-        };
-
-
-        /**
-         * Return the coordinate at the provided fraction along the linestring.
-         * The `fraction` is a number between 0 and 1, where 0 is the start of the
-         * linestring and 1 is the end.
-         * @param {number} fraction Fraction.
-         * @param {ol.Coordinate=} opt_dest Optional coordinate whose values will
-         *     be modified. If not provided, a new coordinate will be returned.
-         * @return {ol.Coordinate} Coordinate of the interpolated point.
-         * @api
-         */
-        ol.geom.LineString.prototype.getCoordinateAt = function(fraction, opt_dest) {
-            return ol.geom.flat.interpolate.lineString(
-                this.flatCoordinates, 0, this.flatCoordinates.length, this.stride,
-                fraction, opt_dest);
-        };
-
-
-        /**
-         * Return the length of the linestring on projected plane.
-         * @return {number} Length (on projected plane).
-         * @api
-         */
-        ol.geom.LineString.prototype.getLength = function() {
-            return ol.geom.flat.length.lineString(
-                this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);
-        };
-
-
-        /**
-         * @return {Array.<number>} Flat midpoint.
-         */
-        ol.geom.LineString.prototype.getFlatMidpoint = function() {
-            if (this.flatMidpointRevision_ != this.getRevision()) {
-                this.flatMidpoint_ = this.getCoordinateAt(0.5, this.flatMidpoint_);
-                this.flatMidpointRevision_ = this.getRevision();
-            }
-            return this.flatMidpoint_;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.LineString.prototype.getSimplifiedGeometryInternal = function(squaredTolerance) {
-            var simplifiedFlatCoordinates = [];
-            simplifiedFlatCoordinates.length = ol.geom.flat.simplify.douglasPeucker(
-                this.flatCoordinates, 0, this.flatCoordinates.length, this.stride,
-                squaredTolerance, simplifiedFlatCoordinates, 0);
-            var simplifiedLineString = new ol.geom.LineString(null);
-            simplifiedLineString.setFlatCoordinates(
-                ol.geom.GeometryLayout.XY, simplifiedFlatCoordinates);
-            return simplifiedLineString;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.LineString.prototype.getType = function() {
-            return ol.geom.GeometryType.LINE_STRING;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.LineString.prototype.intersectsExtent = function(extent) {
-            return ol.geom.flat.intersectsextent.lineString(
-                this.flatCoordinates, 0, this.flatCoordinates.length, this.stride,
-                extent);
-        };
-
-
-        /**
-         * Set the coordinates of the linestring.
-         * @param {Array.<ol.Coordinate>} coordinates Coordinates.
-         * @param {ol.geom.GeometryLayout=} opt_layout Layout.
-         * @override
-         * @api
-         */
-        ol.geom.LineString.prototype.setCoordinates = function(coordinates, opt_layout) {
-            if (!coordinates) {
-                this.setFlatCoordinates(ol.geom.GeometryLayout.XY, null);
-            } else {
-                this.setLayout(opt_layout, coordinates, 1);
-                if (!this.flatCoordinates) {
-                    this.flatCoordinates = [];
-                }
-                this.flatCoordinates.length = ol.geom.flat.deflate.coordinates(
-                    this.flatCoordinates, 0, coordinates, this.stride);
-                this.changed();
-            }
-        };
-
-
-        /**
-         * @param {ol.geom.GeometryLayout} layout Layout.
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         */
-        ol.geom.LineString.prototype.setFlatCoordinates = function(layout, flatCoordinates) {
-            this.setFlatCoordinatesInternal(layout, flatCoordinates);
-            this.changed();
-        };
-
-        ol.geom.Point = function(coordinates, opt_layout) {
-            ol.geom.SimpleGeometry.call(this);
-            this.setCoordinates(coordinates, opt_layout);
-        };
-        ol.inherits(ol.geom.Point, ol.geom.SimpleGeometry);
-
-        ol.geom.Point.prototype.clone = function() {
-            var point = new ol.geom.Point(null);
-            point.setFlatCoordinates(this.layout, this.flatCoordinates.slice());
-            return point;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.Point.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) {
-            var flatCoordinates = this.flatCoordinates;
-            var squaredDistance = ol.math.squaredDistance(
-                x, y, flatCoordinates[0], flatCoordinates[1]);
-            if (squaredDistance < minSquaredDistance) {
-                var stride = this.stride;
-                var i;
-                for (i = 0; i < stride; ++i) {
-                    closestPoint[i] = flatCoordinates[i];
-                }
-                closestPoint.length = stride;
-                return squaredDistance;
-            } else {
-                return minSquaredDistance;
-            }
-        };
-
-        ol.geom.Point.prototype.getCoordinates = function() {
-            return !this.flatCoordinates ? [] : this.flatCoordinates.slice();
-        };
-
-        ol.geom.Point.prototype.computeExtent = function(extent) {
-            return ol.extent.createOrUpdateFromCoordinate(this.flatCoordinates, extent);
-        };
-
-        ol.geom.Point.prototype.getType = function() {
-            return ol.geom.GeometryType.POINT;
-        };
-
-        ol.geom.Point.prototype.intersectsExtent = function(extent) {
-            return ol.extent.containsXY(extent,
-                this.flatCoordinates[0], this.flatCoordinates[1]);
-        };
-
-        ol.geom.Point.prototype.setCoordinates = function(coordinates, opt_layout) {
-            if (!coordinates) {
-                this.setFlatCoordinates(ol.geom.GeometryLayout.XY, null);
-            } else {
-                this.setLayout(opt_layout, coordinates, 0);
-                if (!this.flatCoordinates) {
-                    this.flatCoordinates = [];
-                }
-                this.flatCoordinates.length = ol.geom.flat.deflate.coordinate(
-                    this.flatCoordinates, 0, coordinates, this.stride);
-                this.changed();
-            }
-        };
-
-        ol.geom.Point.prototype.setFlatCoordinates = function(layout, flatCoordinates) {
-            this.setFlatCoordinatesInternal(layout, flatCoordinates);
-            this.changed();
-        };
-
-        /**
-         * @classdesc
-         * Multi-linestring geometry.
-         *
-         * @constructor
-         * @extends {ol.geom.SimpleGeometry}
-         * @param {Array.<Array.<ol.Coordinate>>} coordinates Coordinates.
-         * @param {ol.geom.GeometryLayout=} opt_layout Layout.
-         * @api
-         */
-        ol.geom.MultiLineString = function(coordinates, opt_layout) {
-
-            ol.geom.SimpleGeometry.call(this);
-
-            /**
-             * @type {Array.<number>}
-             * @private
-             */
-            this.ends_ = [];
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.maxDelta_ = -1;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.maxDeltaRevision_ = -1;
-
-            this.setCoordinates(coordinates, opt_layout);
-
-        };
-        ol.inherits(ol.geom.MultiLineString, ol.geom.SimpleGeometry);
-
-
-        /**
-         * Append the passed linestring to the multilinestring.
-         * @param {ol.geom.LineString} lineString LineString.
-         * @api
-         */
-        ol.geom.MultiLineString.prototype.appendLineString = function(lineString) {
-            if (!this.flatCoordinates) {
-                this.flatCoordinates = lineString.getFlatCoordinates().slice();
-            } else {
-                ol.array.extend(
-                    this.flatCoordinates, lineString.getFlatCoordinates().slice());
-            }
-            this.ends_.push(this.flatCoordinates.length);
-            this.changed();
-        };
-
-
-        /**
-         * Make a complete copy of the geometry.
-         * @return {!ol.geom.MultiLineString} Clone.
-         * @override
-         * @api
-         */
-        ol.geom.MultiLineString.prototype.clone = function() {
-            var multiLineString = new ol.geom.MultiLineString(null);
-            multiLineString.setFlatCoordinates(
-                this.layout, this.flatCoordinates.slice(), this.ends_.slice());
-            return multiLineString;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.MultiLineString.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) {
-            if (minSquaredDistance <
-                ol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) {
-                return minSquaredDistance;
-            }
-            if (this.maxDeltaRevision_ != this.getRevision()) {
-                this.maxDelta_ = Math.sqrt(ol.geom.flat.closest.getsMaxSquaredDelta(
-                    this.flatCoordinates, 0, this.ends_, this.stride, 0));
-                this.maxDeltaRevision_ = this.getRevision();
-            }
-            return ol.geom.flat.closest.getsClosestPoint(
-                this.flatCoordinates, 0, this.ends_, this.stride,
-                this.maxDelta_, false, x, y, closestPoint, minSquaredDistance);
-        };
-
-
-        /**
-         * Returns the coordinate at `m` using linear interpolation, or `null` if no
-         * such coordinate exists.
-         *
-         * `opt_extrapolate` controls extrapolation beyond the range of Ms in the
-         * MultiLineString. If `opt_extrapolate` is `true` then Ms less than the first
-         * M will return the first coordinate and Ms greater than the last M will
-         * return the last coordinate.
-         *
-         * `opt_interpolate` controls interpolation between consecutive LineStrings
-         * within the MultiLineString. If `opt_interpolate` is `true` the coordinates
-         * will be linearly interpolated between the last coordinate of one LineString
-         * and the first coordinate of the next LineString.  If `opt_interpolate` is
-         * `false` then the function will return `null` for Ms falling between
-         * LineStrings.
-         *
-         * @param {number} m M.
-         * @param {boolean=} opt_extrapolate Extrapolate. Default is `false`.
-         * @param {boolean=} opt_interpolate Interpolate. Default is `false`.
-         * @return {ol.Coordinate} Coordinate.
-         * @api
-         */
-        ol.geom.MultiLineString.prototype.getCoordinateAtM = function(m, opt_extrapolate, opt_interpolate) {
-            if ((this.layout != ol.geom.GeometryLayout.XYM &&
-                this.layout != ol.geom.GeometryLayout.XYZM) ||
-                this.flatCoordinates.length === 0) {
-                return null;
-            }
-            var extrapolate = opt_extrapolate !== undefined ? opt_extrapolate : false;
-            var interpolate = opt_interpolate !== undefined ? opt_interpolate : false;
-            return ol.geom.flat.interpolate.lineStringsCoordinateAtM(this.flatCoordinates, 0,
-                this.ends_, this.stride, m, extrapolate, interpolate);
-        };
-
-
-        /**
-         * Return the coordinates of the multilinestring.
-         * @return {Array.<Array.<ol.Coordinate>>} Coordinates.
-         * @override
-         * @api
-         */
-        ol.geom.MultiLineString.prototype.getCoordinates = function() {
-            return ol.geom.flat.inflate.coordinatess(
-                this.flatCoordinates, 0, this.ends_, this.stride);
-        };
-
-
-        /**
-         * @return {Array.<number>} Ends.
-         */
-        ol.geom.MultiLineString.prototype.getEnds = function() {
-            return this.ends_;
-        };
-
-
-        /**
-         * Return the linestring at the specified index.
-         * @param {number} index Index.
-         * @return {ol.geom.LineString} LineString.
-         * @api
-         */
-        ol.geom.MultiLineString.prototype.getLineString = function(index) {
-            if (index < 0 || this.ends_.length <= index) {
-                return null;
-            }
-            var lineString = new ol.geom.LineString(null);
-            lineString.setFlatCoordinates(this.layout, this.flatCoordinates.slice(
-                index === 0 ? 0 : this.ends_[index - 1], this.ends_[index]));
-            return lineString;
-        };
-
-
-        /**
-         * Return the linestrings of this multilinestring.
-         * @return {Array.<ol.geom.LineString>} LineStrings.
-         * @api
-         */
-        ol.geom.MultiLineString.prototype.getLineStrings = function() {
-            var flatCoordinates = this.flatCoordinates;
-            var ends = this.ends_;
-            var layout = this.layout;
-            /** @type {Array.<ol.geom.LineString>} */
-            var lineStrings = [];
-            var offset = 0;
-            var i, ii;
-            for (i = 0, ii = ends.length; i < ii; ++i) {
-                var end = ends[i];
-                var lineString = new ol.geom.LineString(null);
-                lineString.setFlatCoordinates(layout, flatCoordinates.slice(offset, end));
-                lineStrings.push(lineString);
-                offset = end;
-            }
-            return lineStrings;
-        };
-
-
-        /**
-         * @return {Array.<number>} Flat midpoints.
-         */
-        ol.geom.MultiLineString.prototype.getFlatMidpoints = function() {
-            var midpoints = [];
-            var flatCoordinates = this.flatCoordinates;
-            var offset = 0;
-            var ends = this.ends_;
-            var stride = this.stride;
-            var i, ii;
-            for (i = 0, ii = ends.length; i < ii; ++i) {
-                var end = ends[i];
-                var midpoint = ol.geom.flat.interpolate.lineString(
-                    flatCoordinates, offset, end, stride, 0.5);
-                ol.array.extend(midpoints, midpoint);
-                offset = end;
-            }
-            return midpoints;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.MultiLineString.prototype.getSimplifiedGeometryInternal = function(squaredTolerance) {
-            var simplifiedFlatCoordinates = [];
-            var simplifiedEnds = [];
-            simplifiedFlatCoordinates.length = ol.geom.flat.simplify.douglasPeuckers(
-                this.flatCoordinates, 0, this.ends_, this.stride, squaredTolerance,
-                simplifiedFlatCoordinates, 0, simplifiedEnds);
-            var simplifiedMultiLineString = new ol.geom.MultiLineString(null);
-            simplifiedMultiLineString.setFlatCoordinates(
-                ol.geom.GeometryLayout.XY, simplifiedFlatCoordinates, simplifiedEnds);
-            return simplifiedMultiLineString;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.MultiLineString.prototype.getType = function() {
-            return ol.geom.GeometryType.MULTI_LINE_STRING;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.MultiLineString.prototype.intersectsExtent = function(extent) {
-            return ol.geom.flat.intersectsextent.lineStrings(
-                this.flatCoordinates, 0, this.ends_, this.stride, extent);
-        };
-
-
-        /**
-         * Set the coordinates of the multilinestring.
-         * @param {Array.<Array.<ol.Coordinate>>} coordinates Coordinates.
-         * @param {ol.geom.GeometryLayout=} opt_layout Layout.
-         * @override
-         * @api
-         */
-        ol.geom.MultiLineString.prototype.setCoordinates = function(coordinates, opt_layout) {
-            if (!coordinates) {
-                this.setFlatCoordinates(ol.geom.GeometryLayout.XY, null, this.ends_);
-            } else {
-                this.setLayout(opt_layout, coordinates, 2);
-                if (!this.flatCoordinates) {
-                    this.flatCoordinates = [];
-                }
-                var ends = ol.geom.flat.deflate.coordinatess(
-                    this.flatCoordinates, 0, coordinates, this.stride, this.ends_);
-                this.flatCoordinates.length = ends.length === 0 ? 0 : ends[ends.length - 1];
-                this.changed();
-            }
-        };
-
-
-        /**
-         * @param {ol.geom.GeometryLayout} layout Layout.
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {Array.<number>} ends Ends.
-         */
-        ol.geom.MultiLineString.prototype.setFlatCoordinates = function(layout, flatCoordinates, ends) {
-            this.setFlatCoordinatesInternal(layout, flatCoordinates);
-            this.ends_ = ends;
-            this.changed();
-        };
-
-
-        /**
-         * @param {Array.<ol.geom.LineString>} lineStrings LineStrings.
-         */
-        ol.geom.MultiLineString.prototype.setLineStrings = function(lineStrings) {
-            var layout = this.getLayout();
-            var flatCoordinates = [];
-            var ends = [];
-            var i, ii;
-            for (i = 0, ii = lineStrings.length; i < ii; ++i) {
-                var lineString = lineStrings[i];
-                if (i === 0) {
-                    layout = lineString.getLayout();
-                }
-                ol.array.extend(flatCoordinates, lineString.getFlatCoordinates());
-                ends.push(flatCoordinates.length);
-            }
-            this.setFlatCoordinates(layout, flatCoordinates, ends);
-        };
-
-        /**
-         * @classdesc
-         * Multi-point geometry.
-         *
-         * @constructor
-         * @extends {ol.geom.SimpleGeometry}
-         * @param {Array.<ol.Coordinate>} coordinates Coordinates.
-         * @param {ol.geom.GeometryLayout=} opt_layout Layout.
-         * @api
-         */
-        ol.geom.MultiPoint = function(coordinates, opt_layout) {
-            ol.geom.SimpleGeometry.call(this);
-            this.setCoordinates(coordinates, opt_layout);
-        };
-        ol.inherits(ol.geom.MultiPoint, ol.geom.SimpleGeometry);
-
-
-        /**
-         * Append the passed point to this multipoint.
-         * @param {ol.geom.Point} point Point.
-         * @api
-         */
-        ol.geom.MultiPoint.prototype.appendPoint = function(point) {
-            if (!this.flatCoordinates) {
-                this.flatCoordinates = point.getFlatCoordinates().slice();
-            } else {
-                ol.array.extend(this.flatCoordinates, point.getFlatCoordinates());
-            }
-            this.changed();
-        };
-
-
-        /**
-         * Make a complete copy of the geometry.
-         * @return {!ol.geom.MultiPoint} Clone.
-         * @override
-         * @api
-         */
-        ol.geom.MultiPoint.prototype.clone = function() {
-            var multiPoint = new ol.geom.MultiPoint(null);
-            multiPoint.setFlatCoordinates(this.layout, this.flatCoordinates.slice());
-            return multiPoint;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.MultiPoint.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) {
-            if (minSquaredDistance <
-                ol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) {
-                return minSquaredDistance;
-            }
-            var flatCoordinates = this.flatCoordinates;
-            var stride = this.stride;
-            var i, ii, j;
-            for (i = 0, ii = flatCoordinates.length; i < ii; i += stride) {
-                var squaredDistance = ol.math.squaredDistance(
-                    x, y, flatCoordinates[i], flatCoordinates[i + 1]);
-                if (squaredDistance < minSquaredDistance) {
-                    minSquaredDistance = squaredDistance;
-                    for (j = 0; j < stride; ++j) {
-                        closestPoint[j] = flatCoordinates[i + j];
-                    }
-                    closestPoint.length = stride;
-                }
-            }
-            return minSquaredDistance;
-        };
-
-
-        /**
-         * Return the coordinates of the multipoint.
-         * @return {Array.<ol.Coordinate>} Coordinates.
-         * @override
-         * @api
-         */
-        ol.geom.MultiPoint.prototype.getCoordinates = function() {
-            return ol.geom.flat.inflate.coordinates(
-                this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);
-        };
-
-
-        /**
-         * Return the point at the specified index.
-         * @param {number} index Index.
-         * @return {ol.geom.Point} Point.
-         * @api
-         */
-        ol.geom.MultiPoint.prototype.getPoint = function(index) {
-            var n = !this.flatCoordinates ?
-                0 : this.flatCoordinates.length / this.stride;
-            if (index < 0 || n <= index) {
-                return null;
-            }
-            var point = new ol.geom.Point(null);
-            point.setFlatCoordinates(this.layout, this.flatCoordinates.slice(
-                index * this.stride, (index + 1) * this.stride));
-            return point;
-        };
-
-
-        /**
-         * Return the points of this multipoint.
-         * @return {Array.<ol.geom.Point>} Points.
-         * @api
-         */
-        ol.geom.MultiPoint.prototype.getPoints = function() {
-            var flatCoordinates = this.flatCoordinates;
-            var layout = this.layout;
-            var stride = this.stride;
-            /** @type {Array.<ol.geom.Point>} */
-            var points = [];
-            var i, ii;
-            for (i = 0, ii = flatCoordinates.length; i < ii; i += stride) {
-                var point = new ol.geom.Point(null);
-                point.setFlatCoordinates(layout, flatCoordinates.slice(i, i + stride));
-                points.push(point);
-            }
-            return points;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.MultiPoint.prototype.getType = function() {
-            return ol.geom.GeometryType.MULTI_POINT;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.MultiPoint.prototype.intersectsExtent = function(extent) {
-            var flatCoordinates = this.flatCoordinates;
-            var stride = this.stride;
-            var i, ii, x, y;
-            for (i = 0, ii = flatCoordinates.length; i < ii; i += stride) {
-                x = flatCoordinates[i];
-                y = flatCoordinates[i + 1];
-                if (ol.extent.containsXY(extent, x, y)) {
-                    return true;
-                }
-            }
-            return false;
-        };
-
-
-        /**
-         * Set the coordinates of the multipoint.
-         * @param {Array.<ol.Coordinate>} coordinates Coordinates.
-         * @param {ol.geom.GeometryLayout=} opt_layout Layout.
-         * @override
-         * @api
-         */
-        ol.geom.MultiPoint.prototype.setCoordinates = function(coordinates, opt_layout) {
-            if (!coordinates) {
-                this.setFlatCoordinates(ol.geom.GeometryLayout.XY, null);
-            } else {
-                this.setLayout(opt_layout, coordinates, 1);
-                if (!this.flatCoordinates) {
-                    this.flatCoordinates = [];
-                }
-                this.flatCoordinates.length = ol.geom.flat.deflate.coordinates(
-                    this.flatCoordinates, 0, coordinates, this.stride);
-                this.changed();
-            }
-        };
-
-
-        /**
-         * @param {ol.geom.GeometryLayout} layout Layout.
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         */
-        ol.geom.MultiPoint.prototype.setFlatCoordinates = function(layout, flatCoordinates) {
-            this.setFlatCoordinatesInternal(layout, flatCoordinates);
-            this.changed();
-        };
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<Array.<number>>} endss Endss.
-         * @param {number} stride Stride.
-         * @return {Array.<number>} Flat centers.
-         */
-        ol.geom.flat.center.linearRingss = {};
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<Array.<number>>} endss Endss.
-         * @param {number} stride Stride.
-         * @return {Array.<number>} Flat centers.
-         */
-        ol.geom.flat.center.linearRingss = function(flatCoordinates, offset, endss, stride) {
-            var flatCenters = [];
-            var i, ii;
-            var extent = ol.extent.createEmpty();
-            for (i = 0, ii = endss.length; i < ii; ++i) {
-                var ends = endss[i];
-                extent = ol.extent.createOrUpdateFromFlatCoordinates(
-                    flatCoordinates, offset, ends[0], stride);
-                flatCenters.push((extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2);
-                offset = ends[ends.length - 1];
-            }
-            return flatCenters;
-        };
-
-        /**
-         * @classdesc
-         * Multi-polygon geometry.
-         *
-         * @constructor
-         * @extends {ol.geom.SimpleGeometry}
-         * @param {Array.<Array.<Array.<ol.Coordinate>>>} coordinates Coordinates.
-         * @param {ol.geom.GeometryLayout=} opt_layout Layout.
-         * @api
-         */
-        ol.geom.MultiPolygon = function(coordinates, opt_layout) {
-
-            ol.geom.SimpleGeometry.call(this);
-
-            /**
-             * @type {Array.<Array.<number>>}
-             * @private
-             */
-            this.endss_ = [];
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.flatInteriorPointsRevision_ = -1;
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.flatInteriorPoints_ = null;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.maxDelta_ = -1;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.maxDeltaRevision_ = -1;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.orientedRevision_ = -1;
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.orientedFlatCoordinates_ = null;
-
-            this.setCoordinates(coordinates, opt_layout);
-
-        };
-        ol.inherits(ol.geom.MultiPolygon, ol.geom.SimpleGeometry);
-
-
-        /**
-         * Append the passed polygon to this multipolygon.
-         * @param {ol.geom.Polygon} polygon Polygon.
-         * @api
-         */
-        ol.geom.MultiPolygon.prototype.appendPolygon = function(polygon) {
-            /** @type {Array.<number>} */
-            var ends;
-            if (!this.flatCoordinates) {
-                this.flatCoordinates = polygon.getFlatCoordinates().slice();
-                ends = polygon.getEnds().slice();
-                this.endss_.push();
-            } else {
-                var offset = this.flatCoordinates.length;
-                ol.array.extend(this.flatCoordinates, polygon.getFlatCoordinates());
-                ends = polygon.getEnds().slice();
-                var i, ii;
-                for (i = 0, ii = ends.length; i < ii; ++i) {
-                    ends[i] += offset;
-                }
-            }
-            this.endss_.push(ends);
-            this.changed();
-        };
-
-
-        /**
-         * Make a complete copy of the geometry.
-         * @return {!ol.geom.MultiPolygon} Clone.
-         * @override
-         * @api
-         */
-        ol.geom.MultiPolygon.prototype.clone = function() {
-            var multiPolygon = new ol.geom.MultiPolygon(null);
-
-            var len = this.endss_.length;
-            var newEndss = new Array(len);
-            for (var i = 0; i < len; ++i) {
-                newEndss[i] = this.endss_[i].slice();
-            }
-
-            multiPolygon.setFlatCoordinates(
-                this.layout, this.flatCoordinates.slice(), newEndss);
-            return multiPolygon;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.MultiPolygon.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) {
-            if (minSquaredDistance <
-                ol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) {
-                return minSquaredDistance;
-            }
-            if (this.maxDeltaRevision_ != this.getRevision()) {
-                this.maxDelta_ = Math.sqrt(ol.geom.flat.closest.getssMaxSquaredDelta(
-                    this.flatCoordinates, 0, this.endss_, this.stride, 0));
-                this.maxDeltaRevision_ = this.getRevision();
-            }
-            return ol.geom.flat.closest.getssClosestPoint(
-                this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride,
-                this.maxDelta_, true, x, y, closestPoint, minSquaredDistance);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.MultiPolygon.prototype.containsXY = function(x, y) {
-            return ol.geom.flat.contains.linearRingssContainsXY(
-                this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, x, y);
-        };
-
-
-        /**
-         * Return the area of the multipolygon on projected plane.
-         * @return {number} Area (on projected plane).
-         * @api
-         */
-        ol.geom.MultiPolygon.prototype.getArea = function() {
-            return ol.geom.flat.area.linearRingss(
-                this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride);
-        };
-
-
-        /**
-         * Get the coordinate array for this geometry.  This array has the structure
-         * of a GeoJSON coordinate array for multi-polygons.
-         *
-         * @param {boolean=} opt_right Orient coordinates according to the right-hand
-         *     rule (counter-clockwise for exterior and clockwise for interior rings).
-         *     If `false`, coordinates will be oriented according to the left-hand rule
-         *     (clockwise for exterior and counter-clockwise for interior rings).
-         *     By default, coordinate orientation will depend on how the geometry was
-         *     constructed.
-         * @return {Array.<Array.<Array.<ol.Coordinate>>>} Coordinates.
-         * @override
-         * @api
-         */
-        ol.geom.MultiPolygon.prototype.getCoordinates = function(opt_right) {
-            var flatCoordinates;
-            if (opt_right !== undefined) {
-                flatCoordinates = this.getOrientedFlatCoordinates().slice();
-                ol.geom.flat.orient.orientLinearRingss(
-                    flatCoordinates, 0, this.endss_, this.stride, opt_right);
-            } else {
-                flatCoordinates = this.flatCoordinates;
-            }
-
-            return ol.geom.flat.inflate.coordinatesss(
-                flatCoordinates, 0, this.endss_, this.stride);
-        };
-
-
-        /**
-         * @return {Array.<Array.<number>>} Endss.
-         */
-        ol.geom.MultiPolygon.prototype.getEndss = function() {
-            return this.endss_;
-        };
-
-
-        /**
-         * @return {Array.<number>} Flat interior points.
-         */
-        ol.geom.MultiPolygon.prototype.getFlatInteriorPoints = function() {
-            if (this.flatInteriorPointsRevision_ != this.getRevision()) {
-                var flatCenters = ol.geom.flat.center.linearRingss(
-                    this.flatCoordinates, 0, this.endss_, this.stride);
-                this.flatInteriorPoints_ = ol.geom.flat.interiorpoint.linearRingss(
-                    this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride,
-                    flatCenters);
-                this.flatInteriorPointsRevision_ = this.getRevision();
-            }
-            return this.flatInteriorPoints_;
-        };
-
-
-        /**
-         * Return the interior points as {@link ol.geom.MultiPoint multipoint}.
-         * @return {ol.geom.MultiPoint} Interior points as XYM coordinates, where M is
-         * the length of the horizontal intersection that the point belongs to.
-         * @api
-         */
-        ol.geom.MultiPolygon.prototype.getInteriorPoints = function() {
-            var interiorPoints = new ol.geom.MultiPoint(null);
-            interiorPoints.setFlatCoordinates(ol.geom.GeometryLayout.XYM,
-                this.getFlatInteriorPoints().slice());
-            return interiorPoints;
-        };
-
-
-        /**
-         * @return {Array.<number>} Oriented flat coordinates.
-         */
-        ol.geom.MultiPolygon.prototype.getOrientedFlatCoordinates = function() {
-            if (this.orientedRevision_ != this.getRevision()) {
-                var flatCoordinates = this.flatCoordinates;
-                if (ol.geom.flat.orient.linearRingssAreOriented(
-                    flatCoordinates, 0, this.endss_, this.stride)) {
-                    this.orientedFlatCoordinates_ = flatCoordinates;
-                } else {
-                    this.orientedFlatCoordinates_ = flatCoordinates.slice();
-                    this.orientedFlatCoordinates_.length =
-                        ol.geom.flat.orient.orientLinearRingss(
-                            this.orientedFlatCoordinates_, 0, this.endss_, this.stride);
-                }
-                this.orientedRevision_ = this.getRevision();
-            }
-            return this.orientedFlatCoordinates_;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.geom.MultiPolygon.prototype.getSimplifiedGeometryInternal = function(squaredTolerance) {
-            var simplifiedFlatCoordinates = [];
-            var simplifiedEndss = [];
-            simplifiedFlatCoordinates.length = ol.geom.flat.simplify.quantizess(
-                this.flatCoordinates, 0, this.endss_, this.stride,
-                Math.sqrt(squaredTolerance),
-                simplifiedFlatCoordinates, 0, simplifiedEndss);
-            var simplifiedMultiPolygon = new ol.geom.MultiPolygon(null);
-            simplifiedMultiPolygon.setFlatCoordinates(
-                ol.geom.GeometryLayout.XY, simplifiedFlatCoordinates, simplifiedEndss);
-            return simplifiedMultiPolygon;
-        };
-
-
-        /**
-         * Return the polygon at the specified index.
-         * @param {number} index Index.
-         * @return {ol.geom.Polygon} Polygon.
-         * @api
-         */
-        ol.geom.MultiPolygon.prototype.getPolygon = function(index) {
-            if (index < 0 || this.endss_.length <= index) {
-                return null;
-            }
-            var offset;
-            if (index === 0) {
-                offset = 0;
-            } else {
-                var prevEnds = this.endss_[index - 1];
-                offset = prevEnds[prevEnds.length - 1];
-            }
-            var ends = this.endss_[index].slice();
-            var end = ends[ends.length - 1];
-            if (offset !== 0) {
-                var i, ii;
-                for (i = 0, ii = ends.length; i < ii; ++i) {
-                    ends[i] -= offset;
-                }
-            }
-            var polygon = new ol.geom.Polygon(null);
-            polygon.setFlatCoordinates(
-                this.layout, this.flatCoordinates.slice(offset, end), ends);
-            return polygon;
-        };
-
-
-        /**
-         * Return the polygons of this multipolygon.
-         * @return {Array.<ol.geom.Polygon>} Polygons.
-         * @api
-         */
-        ol.geom.MultiPolygon.prototype.getPolygons = function() {
-            var layout = this.layout;
-            var flatCoordinates = this.flatCoordinates;
-            var endss = this.endss_;
-            var polygons = [];
-            var offset = 0;
-            var i, ii, j, jj;
-            for (i = 0, ii = endss.length; i < ii; ++i) {
-                var ends = endss[i].slice();
-                var end = ends[ends.length - 1];
-                if (offset !== 0) {
-                    for (j = 0, jj = ends.length; j < jj; ++j) {
-                        ends[j] -= offset;
-                    }
-                }
-                var polygon = new ol.geom.Polygon(null);
-                polygon.setFlatCoordinates(
-                    layout, flatCoordinates.slice(offset, end), ends);
-                polygons.push(polygon);
-                offset = end;
-            }
-            return polygons;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.MultiPolygon.prototype.getType = function() {
-            return ol.geom.GeometryType.MULTI_POLYGON;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.geom.MultiPolygon.prototype.intersectsExtent = function(extent) {
-            return ol.geom.flat.intersectsextent.linearRingss(
-                this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, extent);
-        };
-
-
-        /**
-         * Set the coordinates of the multipolygon.
-         * @param {Array.<Array.<Array.<ol.Coordinate>>>} coordinates Coordinates.
-         * @param {ol.geom.GeometryLayout=} opt_layout Layout.
-         * @override
-         * @api
-         */
-        ol.geom.MultiPolygon.prototype.setCoordinates = function(coordinates, opt_layout) {
-            if (!coordinates) {
-                this.setFlatCoordinates(ol.geom.GeometryLayout.XY, null, this.endss_);
-            } else {
-                this.setLayout(opt_layout, coordinates, 3);
-                if (!this.flatCoordinates) {
-                    this.flatCoordinates = [];
-                }
-                var endss = ol.geom.flat.deflate.coordinatesss(
-                    this.flatCoordinates, 0, coordinates, this.stride, this.endss_);
-                if (endss.length === 0) {
-                    this.flatCoordinates.length = 0;
-                } else {
-                    var lastEnds = endss[endss.length - 1];
-                    this.flatCoordinates.length = lastEnds.length === 0 ?
-                        0 : lastEnds[lastEnds.length - 1];
-                }
-                this.changed();
-            }
-        };
-
-
-        /**
-         * @param {ol.geom.GeometryLayout} layout Layout.
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {Array.<Array.<number>>} endss Endss.
-         */
-        ol.geom.MultiPolygon.prototype.setFlatCoordinates = function(layout, flatCoordinates, endss) {
-            this.setFlatCoordinatesInternal(layout, flatCoordinates);
-            this.endss_ = endss;
-            this.changed();
-        };
-
-
-        /**
-         * @param {Array.<ol.geom.Polygon>} polygons Polygons.
-         */
-        ol.geom.MultiPolygon.prototype.setPolygons = function(polygons) {
-            var layout = this.getLayout();
-            var flatCoordinates = [];
-            var endss = [];
-            var i, ii, ends;
-            for (i = 0, ii = polygons.length; i < ii; ++i) {
-                var polygon = polygons[i];
-                if (i === 0) {
-                    layout = polygon.getLayout();
-                }
-                var offset = flatCoordinates.length;
-                ends = polygon.getEnds();
-                var j, jj;
-                for (j = 0, jj = ends.length; j < jj; ++j) {
-                    ends[j] += offset;
-                }
-                ol.array.extend(flatCoordinates, polygon.getFlatCoordinates());
-                endss.push(ends);
-            }
-            this.setFlatCoordinates(layout, flatCoordinates, endss);
-        };
-
-
-        ol.Feature = function(opt_geometryOrProperties) {
-
-            ol.Object.call(this);
-
-            /**
-             * @private
-             * @type {number|string|undefined}
-             */
-            this.id_ = undefined;
-
-            /**
-             * @type {string}
-             * @private
-             */
-            this.geometryName_ = 'geometry';
-
-            /**
-             * User provided style.
-             * @private
-             * @type {ol.style.Style|Array.<ol.style.Style>|
-       *     ol.FeatureStyleFunction}
-             */
-            this.style_ = null;
-
-            /**
-             * @private
-             * @type {ol.FeatureStyleFunction|undefined}
-             */
-            this.styleFunction_ = undefined;
-
-            /**
-             * @private
-             * @type {?ol.EventsKey}
-             */
-            this.geometryChangeKey_ = null;
-
-    //        ol.events.listen(
-    //            this, ol.Object.getChangeEventType(this.geometryName_),
-    //            this.handleGeometryChanged_, this);
-
-            if (opt_geometryOrProperties !== undefined) {
-                if (opt_geometryOrProperties instanceof ol.geom.Geometry ||
-                    !opt_geometryOrProperties) {
-                    var geometry = opt_geometryOrProperties;
-                    this.setGeometry(geometry);
-                } else {
-                    /** @type {Object.<string, *>} */
-                    var properties = opt_geometryOrProperties;
-                    this.setProperties(properties);
-                }
-            }
-        };
-        ol.inherits(ol.Feature, ol.Object);
-
-
-        /**
-         * Clone this feature. If the original feature has a geometry it
-         * is also cloned. The feature id is not set in the clone.
-         * @return {ol.Feature} The clone.
-         * @api
-         */
-        ol.Feature.prototype.clone = function() {
-            var clone = new ol.Feature(this.getProperties());
-            clone.setGeometryName(this.getGeometryName());
-            var geometry = this.getGeometry();
-            if (geometry) {
-                clone.setGeometry(geometry.clone());
-            }
-            var style = this.getStyle();
-            if (style) {
-                clone.setStyle(style);
-            }
-            return clone;
-        };
-
-
-        /**
-         * Get the feature's default geometry.  A feature may have any number of named
-         * geometries.  The "default" geometry (the one that is rendered by default) is
-         * set when calling {@link ol.Feature#setGeometry}.
-         * @return {ol.geom.Geometry|undefined} The default geometry for the feature.
-         * @api
-         * @observable
-         */
-        ol.Feature.prototype.getGeometry = function() {
-            return /** @type {ol.geom.Geometry|undefined} */ (
-                this.get(this.geometryName_));
-        };
-
-
-        /**
-         * Get the feature identifier.  This is a stable identifier for the feature and
-         * is either set when reading data from a remote source or set explicitly by
-         * calling {@link ol.Feature#setId}.
-         * @return {number|string|undefined} Id.
-         * @api
-         */
-        ol.Feature.prototype.getId = function() {
-            return this.id_;
-        };
-
-
-        /**
-         * Get the name of the feature's default geometry.  By default, the default
-         * geometry is named `geometry`.
-         * @return {string} Get the property name associated with the default geometry
-         *     for this feature.
-         * @api
-         */
-        ol.Feature.prototype.getGeometryName = function() {
-            return this.geometryName_;
-        };
-
-
-        /**
-         * Get the feature's style. Will return what was provided to the
-         * {@link ol.Feature#setStyle} method.
-         * @return {ol.style.Style|Array.<ol.style.Style>|
-     *     ol.FeatureStyleFunction|ol.StyleFunction} The feature style.
-         * @api
-         */
-        ol.Feature.prototype.getStyle = function() {
-            return this.style_;
-        };
-
-
-        /**
-         * Get the feature's style function.
-         * @return {ol.FeatureStyleFunction|undefined} Return a function
-         * representing the current style of this feature.
-         * @api
-         */
-        ol.Feature.prototype.getStyleFunction = function() {
-            return this.styleFunction_;
-        };
-
-
-        /**
-         * @private
-         */
-        ol.Feature.prototype.handleGeometryChange_ = function() {
-            this.changed();
-        };
-
-
-        /**
-         * @private
-         */
-        ol.Feature.prototype.handleGeometryChanged_ = function() {
-            if (this.geometryChangeKey_) {
-                ol.events.unlistenByKey(this.geometryChangeKey_);
-                this.geometryChangeKey_ = null;
-            }
-            var geometry = this.getGeometry();
-            if (geometry) {
-                this.geometryChangeKey_ = ol.events.listen(geometry,
-                    ol.events.EventType.CHANGE, this.handleGeometryChange_, this);
-            }
-            this.changed();
-        };
-
-
-        /**
-         * Set the default geometry for the feature.  This will update the property
-         * with the name returned by {@link ol.Feature#getGeometryName}.
-         * @param {ol.geom.Geometry|undefined} geometry The new geometry.
-         * @api
-         * @observable
-         */
-        ol.Feature.prototype.setGeometry = function(geometry) {
-            this.set(this.geometryName_, geometry);
-        };
-
-
-        /**
-         * Set the style for the feature.  This can be a single style object, an array
-         * of styles, or a function that takes a resolution and returns an array of
-         * styles. If it is `null` the feature has no style (a `null` style).
-         * @param {ol.style.Style|Array.<ol.style.Style>|
-     *     ol.FeatureStyleFunction|ol.StyleFunction} style Style for this feature.
-         * @api
-         * @fires ol.events.Event#event:change
-         */
-        ol.Feature.prototype.setStyle = function(style) {
-            this.style_ = style;
-            this.styleFunction_ = !style ?
-                undefined : ol.Feature.createStyleFunction(style);
-            this.changed();
-        };
-
-
-        /**
-         * Set the feature id.  The feature id is considered stable and may be used when
-         * requesting features or comparing identifiers returned from a remote source.
-         * The feature id can be used with the {@link ol.source.Vector#getFeatureById}
-         * method.
-         * @param {number|string|undefined} id The feature id.
-         * @api
-         * @fires ol.events.Event#event:change
-         */
-        ol.Feature.prototype.setId = function(id) {
-            this.id_ = id;
-            this.changed();
-        };
-
-
-        /**
-         * Set the property name to be used when getting the feature's default geometry.
-         * When calling {@link ol.Feature#getGeometry}, the value of the property with
-         * this name will be returned.
-         * @param {string} name The property name of the default geometry.
-         * @api
-         */
-        ol.Feature.prototype.setGeometryName = function(name) {
-            ol.events.unlisten(
-                this, ol.Object.getChangeEventType(this.geometryName_),
-                this.handleGeometryChanged_, this);
-            this.geometryName_ = name;
-            ol.events.listen(
-                this, ol.Object.getChangeEventType(this.geometryName_),
-                this.handleGeometryChanged_, this);
-            this.handleGeometryChanged_();
-        };
-
-
-        /**
-         * Convert the provided object into a feature style function.  Functions passed
-         * through unchanged.  Arrays of ol.style.Style or single style objects wrapped
-         * in a new feature style function.
-         * @param {ol.FeatureStyleFunction|!Array.<ol.style.Style>|!ol.style.Style} obj
-         *     A feature style function, a single style, or an array of styles.
-         * @return {ol.FeatureStyleFunction} A style function.
-         */
-        ol.Feature.createStyleFunction = function(obj) {
-            var styleFunction;
-
-            if (typeof obj === 'function') {
-                if (obj.length == 2) {
-                    styleFunction = function(resolution) {
-                        return /** @type {ol.StyleFunction} */ (obj)(this, resolution);
-                    };
-                } else {
-                    styleFunction = obj;
-                }
-            } else {
-                /**
-                 * @type {Array.<ol.style.Style>}
-                 */
-                var styles;
-                if (Array.isArray(obj)) {
-                    styles = obj;
-                } else {
-                    ol.asserts.assert(obj instanceof ol.style.Style,
-                        41); // Expected an `ol.style.Style` or an array of `ol.style.Style`
-                    styles = [obj];
-                }
-                styleFunction = function() {
-                    return styles;
-                };
-            }
-            return styleFunction;
-        };
-
-        ol.format = {};
-
-        ol.format.Feature = function() {
-
-            /**
-             * @protected
-             * @type {ol.proj.Projection}
-             */
-            this.defaultDataProjection = null;
-
-            /**
-             * @protected
-             * @type {ol.proj.Projection}
-             */
-            this.defaultFeatureProjection = null;
-
-        };
-
-
-        /**
-         * Adds the data projection to the read options.
-         * @param {Document|Node|Object|string} source Source.
-         * @param {olx.format.ReadOptions=} opt_options Options.
-         * @return {olx.format.ReadOptions|undefined} Options.
-         * @protected
-         */
-        ol.format.Feature.prototype.getReadOptions = function(source, opt_options) {
-            var options;
-            if (opt_options) {
-                options = {
-                    dataProjection: opt_options.dataProjection ?
-                        opt_options.dataProjection : this.readProjection(source),
-                    featureProjection: opt_options.featureProjection
-                };
-            }
-            return this.adaptOptions(options);
-        };
-
-
-        /**
-         * Sets the `defaultDataProjection` on the options, if no `dataProjection`
-         * is set.
-         * @param {olx.format.WriteOptions|olx.format.ReadOptions|undefined} options
-         *     Options.
-         * @protected
-         * @return {olx.format.WriteOptions|olx.format.ReadOptions|undefined}
-         *     Updated options.
-         */
-        ol.format.Feature.prototype.adaptOptions = function(options) {
-            return ol.obj.assign({
-                dataProjection: this.defaultDataProjection,
-                featureProjection: this.defaultFeatureProjection
-            }, options);
-        };
-
-
-        /**
-         * Get the extent from the source of the last {@link readFeatures} call.
-         * @return {ol.Extent} Tile extent.
-         */
-        ol.format.Feature.prototype.getLastExtent = function() {
-            return null;
-        };
-
-
-        /**
-         * @abstract
-         * @return {ol.format.FormatType} Format.
-         */
-        ol.format.Feature.prototype.getType = function() {};
-
-
-        /**
-         * Read a single feature from a source.
-         *
-         * @abstract
-         * @param {Document|Node|Object|string} source Source.
-         * @param {olx.format.ReadOptions=} opt_options Read options.
-         * @return {ol.Feature} Feature.
-         */
-        ol.format.Feature.prototype.readFeature = function(source, opt_options) {};
-
-
-        /**
-         * Read all features from a source.
-         *
-         * @abstract
-         * @param {Document|Node|ArrayBuffer|Object|string} source Source.
-         * @param {olx.format.ReadOptions=} opt_options Read options.
-         * @return {Array.<ol.Feature>} Features.
-         */
-        ol.format.Feature.prototype.readFeatures = function(source, opt_options) {};
-
-
-        /**
-         * Read a single geometry from a source.
-         *
-         * @abstract
-         * @param {Document|Node|Object|string} source Source.
-         * @param {olx.format.ReadOptions=} opt_options Read options.
-         * @return {ol.geom.Geometry} Geometry.
-         */
-        ol.format.Feature.prototype.readGeometry = function(source, opt_options) {};
-
-
-        /**
-         * Read the projection from a source.
-         *
-         * @abstract
-         * @param {Document|Node|Object|string} source Source.
-         * @return {ol.proj.Projection} Projection.
-         */
-        ol.format.Feature.prototype.readProjection = function(source) {};
-
-
-        /**
-         * Encode a feature in this format.
-         *
-         * @abstract
-         * @param {ol.Feature} feature Feature.
-         * @param {olx.format.WriteOptions=} opt_options Write options.
-         * @return {string} Result.
-         */
-        ol.format.Feature.prototype.writeFeature = function(feature, opt_options) {};
-
-
-        /**
-         * Encode an array of features in this format.
-         *
-         * @abstract
-         * @param {Array.<ol.Feature>} features Features.
-         * @param {olx.format.WriteOptions=} opt_options Write options.
-         * @return {string} Result.
-         */
-        ol.format.Feature.prototype.writeFeatures = function(features, opt_options) {};
-
-
-        /**
-         * Write a single geometry in this format.
-         *
-         * @abstract
-         * @param {ol.geom.Geometry} geometry Geometry.
-         * @param {olx.format.WriteOptions=} opt_options Write options.
-         * @return {string} Result.
-         */
-        ol.format.Feature.prototype.writeGeometry = function(geometry, opt_options) {};
-
-
-        /**
-         * @param {ol.geom.Geometry|ol.Extent} geometry Geometry.
-         * @param {boolean} write Set to true for writing, false for reading.
-         * @param {(olx.format.WriteOptions|olx.format.ReadOptions)=} opt_options
-         *     Options.
-         * @return {ol.geom.Geometry|ol.Extent} Transformed geometry.
-         * @protected
-         */
-        ol.format.Feature.transformWithOptions = function(
-            geometry, write, opt_options) {
-
-            /**
-             * @type {ol.geom.Geometry|ol.Extent}
-             */
-            var transformed;
-            {
-                transformed = geometry;
-            }
-            if (write && opt_options && opt_options.decimals !== undefined) {
-                var power = Math.pow(10, opt_options.decimals);
-                // if decimals option on write, round each coordinate appropriately
-                /**
-                 * @param {Array.<number>} coordinates Coordinates.
-                 * @return {Array.<number>} Transformed coordinates.
-                 */
-                var transform = function(coordinates) {
-                    for (var i = 0, ii = coordinates.length; i < ii; ++i) {
-                        coordinates[i] = Math.round(coordinates[i] * power) / power;
-                    }
-                    return coordinates;
-                };
-                if (transformed === geometry) {
-                    transformed = transformed.clone();
-                }
-                transformed.applyTransform(transform);
-            }
-            return transformed;
-        };
-
-
-        ol.format.MVT = function(opt_options) {
-
-            ol.format.Feature.call(this);
-
-            var options = opt_options ? opt_options : {};
-
-            /**
-             * @type {ol.proj.Projection}
-             */
-    //        this.defaultDataProjection = new ol.proj.Projection({
-    //            code: 'EPSG:3857',
-    //            units: ol.proj.Units.TILE_PIXELS
-    //        });
-
-            /**
-             * @private
-             * @type {function((ol.geom.Geometry|Object.<string,*>)=)|
-       *     function(ol.geom.GeometryType,Array.<number>,
-       *         (Array.<number>|Array.<Array.<number>>),Object.<string,*>,number)}
-             */
-            this.featureClass_ = options.featureClass ?
-                options.featureClass : ol.render.Feature;
-
-            /**
-             * @private
-             * @type {string|undefined}
-             */
-            this.geometryName_ = options.geometryName;
-
-            /**
-             * @private
-             * @type {string}
-             */
-            this.layerName_ = options.layerName ? options.layerName : 'layer';
-
-            /**
-             * @private
-             * @type {Array.<string>}
-             */
-            this.layers_ = options.layers ? options.layers : null;
-
-            /**
-             * @private
-             * @type {ol.Extent}
-             */
-            this.extent_ = null;
-
-        };
-        ol.inherits(ol.format.MVT, ol.format.Feature);
-
-        ol.format.MVT.pbfReaders_ = {
-            layers: function (tag, layers, pbf) {
-                if (tag === 3) {
-                    var layer = {
-                        keys: [],
-                        values: [],
-                        features: []
-                    };
-                    var end = pbf.readVarint() + pbf.pos;
-                    pbf.readFields(ol.format.MVT.pbfReaders_.layer, layer, end);
-                    layer.length = layer.features.length;
-                    if (layer.length) {
-                        layers[layer.name] = layer;
-                    }
-                }
-            },
-            layer: function (tag, layer, pbf) {
-                if (tag === 15) {
-                    layer.version = pbf.readVarint();
-                } else if (tag === 1) {
-                    layer.name = pbf.readString();
-                } else if (tag === 5) {
-                    layer.extent = pbf.readVarint();
-                } else if (tag === 2) {
-                    layer.features.push(pbf.pos);
-                } else if (tag === 3) {
-                    layer.keys.push(pbf.readString());
-                } else if (tag === 4) {
-                    var value = null;
-                    var end = pbf.readVarint() + pbf.pos;
-                    while (pbf.pos < end) {
-                        tag = pbf.readVarint() >> 3;
-                        value = tag === 1 ? pbf.readString() :
-                            tag === 2 ? pbf.readFloat() :
-                                tag === 3 ? pbf.readDouble() :
-                                    tag === 4 ? pbf.readVarint64() :
-                                        tag === 5 ? pbf.readVarint() :
-                                            tag === 6 ? pbf.readSVarint() :
-                                                tag === 7 ? pbf.readBoolean() : null;
-                    }
-                    layer.values.push(value);
-                }
-            },
-            feature: function (tag, feature, pbf) {
-                if (tag == 1) {
-                    feature.id = pbf.readVarint();
-                } else if (tag == 2) {
-                    var end = pbf.readVarint() + pbf.pos;
-                    while (pbf.pos < end) {
-                        var key = feature.layer.keys[pbf.readVarint()];
-                        var value = feature.layer.values[pbf.readVarint()];
-                        feature.properties[key] = value;
-                    }
-                } else if (tag == 3) {
-                    feature.type = pbf.readVarint();
-                } else if (tag == 4) {
-                    feature.geometry = pbf.pos;
-                }
-            }
-        };
-
-        /**
-         * Read a raw feature from the pbf offset stored at index `i` in the raw layer.
-         * @suppress {missingProperties}
-         * @private
-         * @param {ol.ext.PBF} pbf PBF.
-         * @param {Object} layer Raw layer.
-         * @param {number} i Index of the feature in the raw layer's `features` array.
-         * @return {Object} Raw feature.
-         */
-        ol.format.MVT.readRawFeature_ = function (pbf, layer, i) {
-            pbf.pos = layer.features[i];
-            var end = pbf.readVarint() + pbf.pos;
-
-            var feature = {
-                layer: layer,
-                type: 0,
-                properties: {}
-            };
-            pbf.readFields(ol.format.MVT.pbfReaders_.feature, feature, end);
-            return feature;
-        };
-
-        /**
-         * Read the raw geometry from the pbf offset stored in a raw feature's geometry
-         * proeprty.
-         * @suppress {missingProperties}
-         * @private
-         * @param {ol.ext.PBF} pbf PBF.
-         * @param {Object} feature Raw feature.
-         * @param {Array.<number>} flatCoordinates Array to store flat coordinates in.
-         * @param {Array.<number>} ends Array to store ends in.
-         */
-        ol.format.MVT.readRawGeometry_ = function (pbf, feature, flatCoordinates, ends) {
-            pbf.pos = feature.geometry;
-
-            var end = pbf.readVarint() + pbf.pos;
-            var cmd = 1;
-            var length = 0;
-            var x = 0;
-            var y = 0;
-            var coordsLen = 0;
-            var currentEnd = 0;
-
-            while (pbf.pos < end) {
-                if (!length) {
-                    var cmdLen = pbf.readVarint();
-                    cmd = cmdLen & 0x7;
-                    length = cmdLen >> 3;
-                }
-
-                length--;
-
-                if (cmd === 1 || cmd === 2) {
-                    x += pbf.readSVarint();
-                    y += pbf.readSVarint();
-
-                    if (cmd === 1) { // moveTo
-                        if (coordsLen > currentEnd) {
-                            ends.push(coordsLen);
-                            currentEnd = coordsLen;
-                        }
-                    }
-
-                    flatCoordinates.push(x, y);
-                    coordsLen += 2;
-
-                } else if (cmd === 7) {
-
-                    if (coordsLen > currentEnd) {
-                        // close polygon
-                        flatCoordinates.push(
-                            flatCoordinates[currentEnd], flatCoordinates[currentEnd + 1]);
-                        coordsLen += 2;
-                    }
-
-                } else {
-                    ol.asserts.assert(false, 59); // Invalid command found in the PBF
-                }
-            }
-
-            if (coordsLen > currentEnd) {
-                ends.push(coordsLen);
-                currentEnd = coordsLen;
-            }
-
-        };
-
-        /**
-         * @suppress {missingProperties}
-         * @private
-         * @param {number} type The raw feature's geometry type
-         * @param {number} numEnds Number of ends of the flat coordinates of the
-         * geometry.
-         * @return {ol.geom.GeometryType} The geometry type.
-         */
-        ol.format.MVT.getGeometryType_ = function (type, numEnds) {
-            /** @type {ol.geom.GeometryType} */
-            var geometryType;
-            if (type === 1) {
-                geometryType = numEnds === 1 ?
-                    ol.geom.GeometryType.POINT : ol.geom.GeometryType.MULTI_POINT;
-            } else if (type === 2) {
-                geometryType = numEnds === 1 ?
-                    ol.geom.GeometryType.LINE_STRING :
-                    ol.geom.GeometryType.MULTI_LINE_STRING;
-            } else if (type === 3) {
-                geometryType = ol.geom.GeometryType.POLYGON;
-                // MultiPolygon not relevant for rendering - winding order determines
-                // outer rings of polygons.
-            }
-            return geometryType;
-        };
-
-        /**
-         * @private
-         * @param {ol.ext.PBF} pbf PBF
-         * @param {Object} rawFeature Raw Mapbox feature.
-         * @param {olx.format.ReadOptions=} opt_options Read options.
-         * @return {ol.Feature|ol.render.Feature} Feature.
-         */
-        ol.format.MVT.prototype.createFeature_ = function (pbf, rawFeature, opt_options) {
-            var type = rawFeature.type;
-            if (type === 0) {
-                return null;
-            }
-
-            var feature;
-            var id = rawFeature.id;
-            var values = rawFeature.properties;
-            values[this.layerName_] = rawFeature.layer.name;
-
-            var flatCoordinates = [];
-            var ends = [];
-            ol.format.MVT.readRawGeometry_(pbf, rawFeature, flatCoordinates, ends);
-
-            var geometryType = ol.format.MVT.getGeometryType_(type, ends.length);
-
-            var geom;
-            if (geometryType == ol.geom.GeometryType.POLYGON) {
-                var endss = [];
-                var offset = 0;
-                var prevEndIndex = 0;
-                for (var i = 0, ii = ends.length; i < ii; ++i) {
-                    var end = ends[i];
-                    if (!ol.geom.flat.orient.linearRingIsClockwise(flatCoordinates, offset, end, 2)) {
-                        endss.push(ends.slice(prevEndIndex, i + 1));
-                        prevEndIndex = i + 1;
-                    }
-                    offset = end;
-                }
-                if (endss.length > 1) {
-                    ends = endss;
-                    geom = new ol.geom.MultiPolygon(null);
-                } else {
-                    geom = new ol.geom.Polygon(null);
-                }
-            } else {
-                geom = geometryType === ol.geom.GeometryType.POINT ? new ol.geom.Point(null) :
-                    geometryType === ol.geom.GeometryType.LINE_STRING ? new ol.geom.LineString(null) :
-                        geometryType === ol.geom.GeometryType.POLYGON ? new ol.geom.Polygon(null) :
-                            geometryType === ol.geom.GeometryType.MULTI_POINT ? new ol.geom.MultiPoint(null) :
-                                geometryType === ol.geom.GeometryType.MULTI_LINE_STRING ? new ol.geom.MultiLineString(null) :
-                                    null;
-            }
-            geom.setFlatCoordinates(ol.geom.GeometryLayout.XY, flatCoordinates, ends);
-            feature = new this.featureClass_();
-            if (this.geometryName_) {
-                feature.setGeometryName(this.geometryName_);
-            }
-            var geometry = ol.format.Feature.transformWithOptions(geom, false, this.adaptOptions(opt_options));
-            feature.setGeometry(geometry);
-            feature.setId(id);
-            feature.setProperties(values);
-
-            return feature;
-        };
-
-        ol.format.MVT.prototype.readFeatures = function (source, opt_options) {
-            var layers = this.layers_;
-
-            var pbf$1 = new pbf.Protobuf(/** @type {ArrayBuffer} */ (source));
-            var pbfLayers = pbf$1.readFields(ol.format.MVT.pbfReaders_.layers, {});
-            /** @type {Array.<ol.Feature|ol.render.Feature>} */
-            var features = [];
-            var pbfLayer;
-            for (var name in pbfLayers) {
-                if (layers && layers.indexOf(name) == -1) {
-                    continue;
-                }
-
-                if (opt_options !== undefined) {
-                    var needSourceLayerNames = opt_options.needSourceLayerNames;
-                    if (needSourceLayerNames !== undefined && needSourceLayerNames[name] === undefined) {
-                        continue;
-                    }
-                }
-
-                pbfLayer = pbfLayers[name];
-
-                var rawFeature;
-                for (var i = 0, ii = pbfLayer.length; i < ii; ++i) {
-                    rawFeature = ol.format.MVT.readRawFeature_(pbf$1, pbfLayer, i);
-                    features.push(this.createFeature_(pbf$1, rawFeature));
-                }
-                this.extent_ = pbfLayer ? [0, 0, pbfLayer.extent, pbfLayer.extent] : null;
-            }
-
-            return features;
-        };
-
-        ol.style = {};
-
-        /**
-         * Singleton class. Available through {@link ol.style.iconImageCache}.
-         * @constructor
-         */
-        ol.style.IconImageCache = function() {
-            this.cache_ = {};
-            this.cacheSize_ = 0;
-            this.maxCacheSize_ = 32;
-        };
-
-        ol.style.IconImageCache.getKey = function(src, crossOrigin, color) {
-            var colorString = color ? ol.color.asString(color) : 'null';
-            return crossOrigin + ':' + src + ':' + colorString;
-        };
-
-
-        /**
-         * FIXME empty description for jsdoc
-         */
-        ol.style.IconImageCache.prototype.clear = function() {
-            this.cache_ = {};
-            this.cacheSize_ = 0;
-        };
-
-
-        /**
-         * FIXME empty description for jsdoc
-         */
-        ol.style.IconImageCache.prototype.expire = function() {
-            if (this.cacheSize_ > this.maxCacheSize_) {
-                var i = 0;
-                var key, iconImage;
-                for (key in this.cache_) {
-                    iconImage = this.cache_[key];
-                    if ((i++ & 3) === 0 && !iconImage.hasListener()) {
-                        delete this.cache_[key];
-                        --this.cacheSize_;
-                    }
-                }
-            }
-        };
-
-        ol.style.IconImageCache.prototype.get = function(src, crossOrigin, color) {
-            var key = ol.style.IconImageCache.getKey(src, crossOrigin, color);
-            return key in this.cache_ ? this.cache_[key] : null;
-        };
-
-        ol.style.IconImageCache.prototype.set = function(src, crossOrigin, color, iconImage) {
-            var key = ol.style.IconImageCache.getKey(src, crossOrigin, color);
-            this.cache_[key] = iconImage;
-            ++this.cacheSize_;
-        };
-
-        ol.style.IconImageCache.prototype.setSize = function(maxCacheSize) {
-            this.maxCacheSize_ = maxCacheSize;
-            this.expire();
-        };
-
-        /**
-         * The {@link ol.style.IconImageCache} for {@link ol.style.Icon} images.
-         * @api
-         */
-        ol.style.iconImageCache = new ol.style.IconImageCache();
-
-        ol.style.Image = function(options) {
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.opacity_ = options.opacity;
-
-            /**
-             * @private
-             * @type {boolean}
-             */
-            this.rotateWithView_ = options.rotateWithView;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.rotation_ = options.rotation;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.scale_ = options.scale;
-
-            /**
-             * @private
-             * @type {boolean}
-             */
-            this.snapToPixel_ = options.snapToPixel;
-
-        };
-
-        ol.style.Image.prototype.getOpacity = function() {
-            return this.opacity_;
-        };
-
-        ol.style.Image.prototype.getRotateWithView = function() {
-            return this.rotateWithView_;
-        };
-
-        ol.style.Image.prototype.getRotation = function() {
-            return this.rotation_;
-        };
-
-        ol.style.Image.prototype.getScale = function() {
-            return this.scale_;
-        };
-
-        ol.style.Image.prototype.getSnapToPixel = function() {
-            return this.snapToPixel_;
-        };
-
-        ol.style.Image.prototype.getAnchor = function() {};
-
-        ol.style.Image.prototype.getImage = function(pixelRatio) {};
-
-        ol.style.Image.prototype.getHitDetectionImage = function(pixelRatio) {};
-
-        ol.style.Image.prototype.getImageState = function() {};
-
-        ol.style.Image.prototype.getImageSize = function() {};
-
-        ol.style.Image.prototype.getHitDetectionImageSize = function() {};
-
-        ol.style.Image.prototype.getOrigin = function() {};
-
-        ol.style.Image.prototype.getSize = function() {};
-
-        ol.style.Image.prototype.setOpacity = function(opacity) {
-            this.opacity_ = opacity;
-        };
-
-        ol.style.Image.prototype.setRotateWithView = function(rotateWithView) {
-            this.rotateWithView_ = rotateWithView;
-        };
-
-        ol.style.Image.prototype.setRotation = function(rotation) {
-            this.rotation_ = rotation;
-        };
-
-        ol.style.Image.prototype.setScale = function(scale) {
-            this.scale_ = scale;
-        };
-
-        ol.style.Image.prototype.setSnapToPixel = function(snapToPixel) {
-            this.snapToPixel_ = snapToPixel;
-        };
-
-        ol.style.Image.prototype.listenImageChange = function(listener, thisArg) {};
-
-        ol.style.Image.prototype.load = function() {};
-
-        ol.style.Image.prototype.unlistenImageChange = function(listener, thisArg) {};
-
-        /**
-         * @classdesc
-         * Set regular shape style for vector features. The resulting shape will be
-         * a regular polygon when `radius` is provided, or a star when `radius1` and
-         * `radius2` are provided.
-         *
-         * @constructor
-         * @param {olx.style.RegularShapeOptions} options Options.
-         * @extends {ol.style.Image}
-         * @api
-         */
-        ol.style.RegularShape = function(options) {
-            /**
-             * @private
-             * @type {Array.<string>}
-             */
-            this.checksums_ = null;
-
-            /**
-             * @private
-             * @type {HTMLCanvasElement}
-             */
-            this.canvas_ = null;
-
-            /**
-             * @private
-             * @type {HTMLCanvasElement}
-             */
-            this.hitDetectionCanvas_ = null;
-
-            /**
-             * @private
-             * @type {ol.style.Fill}
-             */
-            this.fill_ = options.fill !== undefined ? options.fill : null;
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.origin_ = [0, 0];
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.points_ = options.points;
-
-            /**
-             * @protected
-             * @type {number}
-             */
-            this.radius_ = /** @type {number} */ (options.radius !== undefined ?
-                options.radius : options.radius1);
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.radius2_ = options.radius2;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.angle_ = options.angle !== undefined ? options.angle : 0;
-
-            /**
-             * @private
-             * @type {ol.style.Stroke}
-             */
-            this.stroke_ = options.stroke !== undefined ? options.stroke : null;
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.anchor_ = null;
-
-            /**
-             * @private
-             * @type {ol.Size}
-             */
-            this.size_ = null;
-
-            /**
-             * @private
-             * @type {ol.Size}
-             */
-            this.imageSize_ = null;
-
-            /**
-             * @private
-             * @type {ol.Size}
-             */
-            this.hitDetectionImageSize_ = null;
-
-            /**
-             * @protected
-             * @type {ol.style.AtlasManager|undefined}
-             */
-            this.atlasManager_ = options.atlasManager;
-
-            this.render_(this.atlasManager_);
-
-            /**
-             * @type {boolean}
-             */
-            var snapToPixel = options.snapToPixel !== undefined ?
-                options.snapToPixel : true;
-
-            /**
-             * @type {boolean}
-             */
-            var rotateWithView = options.rotateWithView !== undefined ?
-                options.rotateWithView : false;
-
-            ol.style.Image.call(this, {
-                opacity: 1,
-                rotateWithView: rotateWithView,
-                rotation: options.rotation !== undefined ? options.rotation : 0,
-                scale: 1,
-                snapToPixel: snapToPixel
-            });
-        };
-        ol.inherits(ol.style.RegularShape, ol.style.Image);
-
-        ol.style.RegularShape.prototype.clone = function() {
-            var style = new ol.style.RegularShape({
-                fill: this.getFill() ? this.getFill().clone() : undefined,
-                points: this.getPoints(),
-                radius: this.getRadius(),
-                radius2: this.getRadius2(),
-                angle: this.getAngle(),
-                snapToPixel: this.getSnapToPixel(),
-                stroke: this.getStroke() ?  this.getStroke().clone() : undefined,
-                rotation: this.getRotation(),
-                rotateWithView: this.getRotateWithView(),
-                atlasManager: this.atlasManager_
-            });
-            style.setOpacity(this.getOpacity());
-            style.setScale(this.getScale());
-            return style;
-        };
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.style.RegularShape.prototype.getAnchor = function() {
-            return this.anchor_;
-        };
-
-
-        /**
-         * Get the angle used in generating the shape.
-         * @return {number} Shape's rotation in radians.
-         * @api
-         */
-        ol.style.RegularShape.prototype.getAngle = function() {
-            return this.angle_;
-        };
-
-        /**
-         * Get the fill style for the shape.
-         * @return {ol.style.Fill} Fill style.
-         * @api
-         */
-        ol.style.RegularShape.prototype.getFill = function() {
-            return this.fill_;
-        };
-
-        /**
-         * @inheritDoc
-         */
-        ol.style.RegularShape.prototype.getHitDetectionImage = function(pixelRatio) {
-            return this.hitDetectionCanvas_;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.style.RegularShape.prototype.getImage = function(pixelRatio) {
-            return this.canvas_;
-        };
-
-        /**
-         * @inheritDoc
-         */
-        ol.style.RegularShape.prototype.getImageSize = function() {
-            return this.imageSize_;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.style.RegularShape.prototype.getHitDetectionImageSize = function() {
-            return this.hitDetectionImageSize_;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.style.RegularShape.prototype.getImageState = function() {
-            return ol.ImageState.LOADED;
-        };
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.style.RegularShape.prototype.getOrigin = function() {
-            return this.origin_;
-        };
-
-
-        /**
-         * Get the number of points for generating the shape.
-         * @return {number} Number of points for stars and regular polygons.
-         * @api
-         */
-        ol.style.RegularShape.prototype.getPoints = function() {
-            return this.points_;
-        };
-
-
-        /**
-         * Get the (primary) radius for the shape.
-         * @return {number} Radius.
-         * @api
-         */
-        ol.style.RegularShape.prototype.getRadius = function() {
-            return this.radius_;
-        };
-
-
-        /**
-         * Get the secondary radius for the shape.
-         * @return {number|undefined} Radius2.
-         * @api
-         */
-        ol.style.RegularShape.prototype.getRadius2 = function() {
-            return this.radius2_;
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.style.RegularShape.prototype.getSize = function() {
-            return this.size_;
-        };
-
-
-        /**
-         * Get the stroke style for the shape.
-         * @return {ol.style.Stroke} Stroke style.
-         * @api
-         */
-        ol.style.RegularShape.prototype.getStroke = function() {
-            return this.stroke_;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.style.RegularShape.prototype.listenImageChange = function(listener, thisArg) {};
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.style.RegularShape.prototype.load = function() {};
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.style.RegularShape.prototype.unlistenImageChange = function(listener, thisArg) {};
-
-
-        /**
-         * @protected
-         * @param {ol.style.AtlasManager|undefined} atlasManager An atlas manager.
-         */
-        ol.style.RegularShape.prototype.render_ = function(atlasManager) {
-            var imageSize;
-            var lineCap = '';
-            var lineJoin = '';
-            var miterLimit = 0;
-            var lineDash = null;
-            var lineDashOffset = 0;
-            var strokeStyle;
-            var strokeWidth = 0;
-
-            if (this.stroke_) {
-                strokeStyle = this.stroke_.getColor();
-                if (strokeStyle === null) {
-                    strokeStyle = ol.render.canvas.defaultStrokeStyle;
-                }
-                strokeStyle = ol.colorlike.asColorLike(strokeStyle);
-                strokeWidth = this.stroke_.getWidth();
-                if (strokeWidth === undefined) {
-                    strokeWidth = ol.render.canvas.defaultLineWidth;
-                }
-                lineDash = this.stroke_.getLineDash();
-                lineDashOffset = this.stroke_.getLineDashOffset();
-                if (!ol.has.CANVAS_LINE_DASH) {
-                    lineDash = null;
-                    lineDashOffset = 0;
-                }
-                lineJoin = this.stroke_.getLineJoin();
-                if (lineJoin === undefined) {
-                    lineJoin = ol.render.canvas.defaultLineJoin;
-                }
-                lineCap = this.stroke_.getLineCap();
-                if (lineCap === undefined) {
-                    lineCap = ol.render.canvas.defaultLineCap;
-                }
-                miterLimit = this.stroke_.getMiterLimit();
-                if (miterLimit === undefined) {
-                    miterLimit = ol.render.canvas.defaultMiterLimit;
-                }
-            }
-
-            var size = 2 * (this.radius_ + strokeWidth) + 1;
-
-            /** @type {ol.RegularShapeRenderOptions} */
-            var renderOptions = {
-                strokeStyle: strokeStyle,
-                strokeWidth: strokeWidth,
-                size: size,
-                lineCap: lineCap,
-                lineDash: lineDash,
-                lineDashOffset: lineDashOffset,
-                lineJoin: lineJoin,
-                miterLimit: miterLimit
-            };
-
-            if (atlasManager === undefined) {
-                // no atlas manager is used, create a new canvas
-                var context = ol.dom.createCanvasContext2D(size, size);
-                this.canvas_ = context.canvas;
-
-                // canvas.width and height are rounded to the closest integer
-                size = this.canvas_.width;
-                imageSize = size;
-
-                this.draw_(renderOptions, context, 0, 0);
-
-                this.createHitDetectionCanvas_(renderOptions);
-            } else {
-                // an atlas manager is used, add the symbol to an atlas
-                size = Math.round(size);
-
-                var hasCustomHitDetectionImage = !this.fill_;
-                var renderHitDetectionCallback;
-                if (hasCustomHitDetectionImage) {
-                    // render the hit-detection image into a separate atlas image
-                    renderHitDetectionCallback =
-                        this.drawHitDetectionCanvas_.bind(this, renderOptions);
-                }
-
-                var id = this.getChecksum();
-                var info = atlasManager.add(
-                    id, size, size, this.draw_.bind(this, renderOptions),
-                    renderHitDetectionCallback);
-
-                this.canvas_ = info.image;
-                this.origin_ = [info.offsetX, info.offsetY];
-                imageSize = info.image.width;
-
-                if (hasCustomHitDetectionImage) {
-                    this.hitDetectionCanvas_ = info.hitImage;
-                    this.hitDetectionImageSize_ =
-                        [info.hitImage.width, info.hitImage.height];
-                } else {
-                    this.hitDetectionCanvas_ = this.canvas_;
-                    this.hitDetectionImageSize_ = [imageSize, imageSize];
-                }
-            }
-
-            this.anchor_ = [size / 2, size / 2];
-            this.size_ = [size, size];
-            this.imageSize_ = [imageSize, imageSize];
-        };
-
-
-        /**
-         * @private
-         * @param {ol.RegularShapeRenderOptions} renderOptions Render options.
-         * @param {CanvasRenderingContext2D} context The rendering context.
-         * @param {number} x The origin for the symbol (x).
-         * @param {number} y The origin for the symbol (y).
-         */
-        ol.style.RegularShape.prototype.draw_ = function(renderOptions, context, x, y) {
-            var i, angle0, radiusC;
-            // reset transform
-            context.setTransform(1, 0, 0, 1, 0, 0);
-
-            // then move to (x, y)
-            context.translate(x, y);
-
-            context.beginPath();
-
-            var points = this.points_;
-            if (points === Infinity) {
-                context.arc(
-                    renderOptions.size / 2, renderOptions.size / 2,
-                    this.radius_, 0, 2 * Math.PI, true);
-            } else {
-                var radius2 = (this.radius2_ !== undefined) ? this.radius2_
-                    : this.radius_;
-                if (radius2 !== this.radius_) {
-                    points = 2 * points;
-                }
-                for (i = 0; i <= points; i++) {
-                    angle0 = i * 2 * Math.PI / points - Math.PI / 2 + this.angle_;
-                    radiusC = i % 2 === 0 ? this.radius_ : radius2;
-                    context.lineTo(renderOptions.size / 2 + radiusC * Math.cos(angle0),
-                        renderOptions.size / 2 + radiusC * Math.sin(angle0));
-                }
-            }
-
-
-            if (this.fill_) {
-                var color = this.fill_.getColor();
-                if (color === null) {
-                    color = ol.render.canvas.defaultFillStyle;
-                }
-                context.fillStyle = ol.colorlike.asColorLike(color);
-                context.fill();
-            }
-            if (this.stroke_) {
-                context.strokeStyle = renderOptions.strokeStyle;
-                context.lineWidth = renderOptions.strokeWidth;
-                if (renderOptions.lineDash) {
-                    context.setLineDash(renderOptions.lineDash);
-                    context.lineDashOffset = renderOptions.lineDashOffset;
-                }
-                context.lineCap = renderOptions.lineCap;
-                context.lineJoin = renderOptions.lineJoin;
-                context.miterLimit = renderOptions.miterLimit;
-                context.stroke();
-            }
-            context.closePath();
-        };
-
-
-        /**
-         * @private
-         * @param {ol.RegularShapeRenderOptions} renderOptions Render options.
-         */
-        ol.style.RegularShape.prototype.createHitDetectionCanvas_ = function(renderOptions) {
-            this.hitDetectionImageSize_ = [renderOptions.size, renderOptions.size];
-            if (this.fill_) {
-                this.hitDetectionCanvas_ = this.canvas_;
-                return;
-            }
-
-            // if no fill style is set, create an extra hit-detection image with a
-            // default fill style
-            var context = ol.dom.createCanvasContext2D(renderOptions.size, renderOptions.size);
-            this.hitDetectionCanvas_ = context.canvas;
-
-            this.drawHitDetectionCanvas_(renderOptions, context, 0, 0);
-        };
-
-
-        /**
-         * @private
-         * @param {ol.RegularShapeRenderOptions} renderOptions Render options.
-         * @param {CanvasRenderingContext2D} context The context.
-         * @param {number} x The origin for the symbol (x).
-         * @param {number} y The origin for the symbol (y).
-         */
-        ol.style.RegularShape.prototype.drawHitDetectionCanvas_ = function(renderOptions, context, x, y) {
-            // reset transform
-            context.setTransform(1, 0, 0, 1, 0, 0);
-
-            // then move to (x, y)
-            context.translate(x, y);
-
-            context.beginPath();
-
-            var points = this.points_;
-            if (points === Infinity) {
-                context.arc(
-                    renderOptions.size / 2, renderOptions.size / 2,
-                    this.radius_, 0, 2 * Math.PI, true);
-            } else {
-                var radius2 = (this.radius2_ !== undefined) ? this.radius2_
-                    : this.radius_;
-                if (radius2 !== this.radius_) {
-                    points = 2 * points;
-                }
-                var i, radiusC, angle0;
-                for (i = 0; i <= points; i++) {
-                    angle0 = i * 2 * Math.PI / points - Math.PI / 2 + this.angle_;
-                    radiusC = i % 2 === 0 ? this.radius_ : radius2;
-                    context.lineTo(renderOptions.size / 2 + radiusC * Math.cos(angle0),
-                        renderOptions.size / 2 + radiusC * Math.sin(angle0));
-                }
-            }
-
-            context.fillStyle = ol.render.canvas.defaultFillStyle;
-            context.fill();
-            if (this.stroke_) {
-                context.strokeStyle = renderOptions.strokeStyle;
-                context.lineWidth = renderOptions.strokeWidth;
-                if (renderOptions.lineDash) {
-                    context.setLineDash(renderOptions.lineDash);
-                    context.lineDashOffset = renderOptions.lineDashOffset;
-                }
-                context.stroke();
-            }
-            context.closePath();
-        };
-
-
-        /**
-         * @return {string} The checksum.
-         */
-        ol.style.RegularShape.prototype.getChecksum = function() {
-            var strokeChecksum = this.stroke_ ?
-                this.stroke_.getChecksum() : '-';
-            var fillChecksum = this.fill_ ?
-                this.fill_.getChecksum() : '-';
-
-            var recalculate = !this.checksums_ ||
-                (strokeChecksum != this.checksums_[1] ||
-                    fillChecksum != this.checksums_[2] ||
-                    this.radius_ != this.checksums_[3] ||
-                    this.radius2_ != this.checksums_[4] ||
-                    this.angle_ != this.checksums_[5] ||
-                    this.points_ != this.checksums_[6]);
-
-            if (recalculate) {
-                var checksum = 'r' + strokeChecksum + fillChecksum +
-                    (this.radius_ !== undefined ? this.radius_.toString() : '-') +
-                    (this.radius2_ !== undefined ? this.radius2_.toString() : '-') +
-                    (this.angle_ !== undefined ? this.angle_.toString() : '-') +
-                    (this.points_ !== undefined ? this.points_.toString() : '-');
-                this.checksums_ = [checksum, strokeChecksum, fillChecksum,
-                    this.radius_, this.radius2_, this.angle_, this.points_];
-            }
-
-            return this.checksums_[0];
-        };
-
-        /**
-         * @classdesc
-         * Set circle style for vector features.
-         *
-         * @constructor
-         * @param {olx.style.CircleOptions=} opt_options Options.
-         * @extends {ol.style.RegularShape}
-         * @api
-         */
-        ol.style.Circle = function(opt_options) {
-
-            var options = opt_options || {};
-
-            ol.style.RegularShape.call(this, {
-                points: Infinity,
-                fill: options.fill,
-                radius: options.radius,
-                snapToPixel: options.snapToPixel,
-                stroke: options.stroke,
-                atlasManager: options.atlasManager
-            });
-
-        };
-        ol.inherits(ol.style.Circle, ol.style.RegularShape);
-
-
-        /**
-         * Clones the style.  If an atlasmanager was provided to the original style it will be used in the cloned style, too.
-         * @return {ol.style.Circle} The cloned style.
-         * @override
-         * @api
-         */
-        ol.style.Circle.prototype.clone = function() {
-            var style = new ol.style.Circle({
-                fill: this.getFill() ? this.getFill().clone() : undefined,
-                stroke: this.getStroke() ? this.getStroke().clone() : undefined,
-                radius: this.getRadius(),
-                snapToPixel: this.getSnapToPixel(),
-                atlasManager: this.atlasManager_
-            });
-            style.setOpacity(this.getOpacity());
-            style.setScale(this.getScale());
-            return style;
-        };
-
-
-        /**
-         * Set the circle radius.
-         *
-         * @param {number} radius Circle radius.
-         * @api
-         */
-        ol.style.Circle.prototype.setRadius = function(radius) {
-            this.radius_ = radius;
-            this.render_(this.atlasManager_);
-        };
-
-        /**
-         * @classdesc
-         * Set fill style for vector features.
-         *
-         * @constructor
-         * @param {olx.style.FillOptions=} opt_options Options.
-         * @api
-         */
-        ol.style.Fill = function(opt_options) {
-
-            var options = opt_options || {};
-
-            /**
-             * @private
-             * @type {ol.Color|ol.ColorLike}
-             */
-            this.color_ = options.color !== undefined ? options.color : null;
-
-            /**
-             * @private
-             * @type {string|undefined}
-             */
-            this.checksum_ = undefined;
-        };
-
-
-        /**
-         * Clones the style. The color is not cloned if it is an {@link ol.ColorLike}.
-         * @return {ol.style.Fill} The cloned style.
-         * @api
-         */
-        ol.style.Fill.prototype.clone = function() {
-            var color = this.getColor();
-            return new ol.style.Fill({
-                color: (color && color.slice) ? color.slice() : color || undefined
-            });
-        };
-
-
-        /**
-         * Get the fill color.
-         * @return {ol.Color|ol.ColorLike} Color.
-         * @api
-         */
-        ol.style.Fill.prototype.getColor = function() {
-            return this.color_;
-        };
-
-
-        /**
-         * Set the color.
-         *
-         * @param {ol.Color|ol.ColorLike} color Color.
-         * @api
-         */
-        ol.style.Fill.prototype.setColor = function(color) {
-            this.color_ = color;
-            this.checksum_ = undefined;
-        };
-
-
-        /**
-         * @return {string} The checksum.
-         */
-        ol.style.Fill.prototype.getChecksum = function() {
-            if (this.checksum_ === undefined) {
-                if (
-                    this.color_ instanceof CanvasPattern ||
-                        this.color_ instanceof CanvasGradient
-                    ) {
-                    this.checksum_ = ol.getUid(this.color_).toString();
-                } else {
-                    this.checksum_ = 'f' + (this.color_ ?
-                        ol.color.asString(this.color_) : '-');
-                }
-            }
-
-            return this.checksum_;
-        };
-
-        /**
-         * @classdesc
-         * Set stroke style for vector features.
-         * Note that the defaults given are the Canvas defaults, which will be used if
-         * option is not defined. The `get` functions return whatever was entered in
-         * the options; they will not return the default.
-         *
-         * @constructor
-         * @param {olx.style.StrokeOptions=} opt_options Options.
-         * @api
-         */
-        ol.style.Stroke = function(opt_options) {
-
-            var options = opt_options || {};
-
-            /**
-             * @private
-             * @type {ol.Color|ol.ColorLike}
-             */
-            this.color_ = options.color !== undefined ? options.color : null;
-
-            /**
-             * @private
-             * @type {string|undefined}
-             */
-            this.lineCap_ = options.lineCap;
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.lineDash_ = options.lineDash !== undefined ? options.lineDash : null;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.lineDashOffset_ = options.lineDashOffset;
-
-            /**
-             * @private
-             * @type {string|undefined}
-             */
-            this.lineJoin_ = options.lineJoin;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.miterLimit_ = options.miterLimit;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.width_ = options.width;
-
-            /**
-             * @private
-             * @type {string|undefined}
-             */
-            this.checksum_ = undefined;
-        };
-
-
-        /**
-         * Clones the style.
-         * @return {ol.style.Stroke} The cloned style.
-         * @api
-         */
-        ol.style.Stroke.prototype.clone = function() {
-            var color = this.getColor();
-            return new ol.style.Stroke({
-                color: (color && color.slice) ? color.slice() : color || undefined,
-                lineCap: this.getLineCap(),
-                lineDash: this.getLineDash() ? this.getLineDash().slice() : undefined,
-                lineDashOffset: this.getLineDashOffset(),
-                lineJoin: this.getLineJoin(),
-                miterLimit: this.getMiterLimit(),
-                width: this.getWidth()
-            });
-        };
-
-
-        /**
-         * Get the stroke color.
-         * @return {ol.Color|ol.ColorLike} Color.
-         * @api
-         */
-        ol.style.Stroke.prototype.getColor = function() {
-            return this.color_;
-        };
-
-
-        /**
-         * Get the line cap type for the stroke.
-         * @return {string|undefined} Line cap.
-         * @api
-         */
-        ol.style.Stroke.prototype.getLineCap = function() {
-            return this.lineCap_;
-        };
-
-
-        /**
-         * Get the line dash style for the stroke.
-         * @return {Array.<number>} Line dash.
-         * @api
-         */
-        ol.style.Stroke.prototype.getLineDash = function() {
-            return this.lineDash_;
-        };
-
-
-        /**
-         * Get the line dash offset for the stroke.
-         * @return {number|undefined} Line dash offset.
-         * @api
-         */
-        ol.style.Stroke.prototype.getLineDashOffset = function() {
-            return this.lineDashOffset_;
-        };
-
-
-        /**
-         * Get the line join type for the stroke.
-         * @return {string|undefined} Line join.
-         * @api
-         */
-        ol.style.Stroke.prototype.getLineJoin = function() {
-            return this.lineJoin_;
-        };
-
-
-        /**
-         * Get the miter limit for the stroke.
-         * @return {number|undefined} Miter limit.
-         * @api
-         */
-        ol.style.Stroke.prototype.getMiterLimit = function() {
-            return this.miterLimit_;
-        };
-
-
-        /**
-         * Get the stroke width.
-         * @return {number|undefined} Width.
-         * @api
-         */
-        ol.style.Stroke.prototype.getWidth = function() {
-            return this.width_;
-        };
-
-
-        /**
-         * Set the color.
-         *
-         * @param {ol.Color|ol.ColorLike} color Color.
-         * @api
-         */
-        ol.style.Stroke.prototype.setColor = function(color) {
-            this.color_ = color;
-            this.checksum_ = undefined;
-        };
-
-
-        /**
-         * Set the line cap.
-         *
-         * @param {string|undefined} lineCap Line cap.
-         * @api
-         */
-        ol.style.Stroke.prototype.setLineCap = function(lineCap) {
-            this.lineCap_ = lineCap;
-            this.checksum_ = undefined;
-        };
-
-
-        /**
-         * Set the line dash.
-         *
-         * Please note that Internet Explorer 10 and lower [do not support][mdn] the
-         * `setLineDash` method on the `CanvasRenderingContext2D` and therefore this
-         * property will have no visual effect in these browsers.
-         *
-         * [mdn]: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility
-         *
-         * @param {Array.<number>} lineDash Line dash.
-         * @api
-         */
-        ol.style.Stroke.prototype.setLineDash = function(lineDash) {
-            this.lineDash_ = lineDash;
-            this.checksum_ = undefined;
-        };
-
-
-        /**
-         * Set the line dash offset.
-         *
-         * @param {number|undefined} lineDashOffset Line dash offset.
-         * @api
-         */
-        ol.style.Stroke.prototype.setLineDashOffset = function(lineDashOffset) {
-            this.lineDashOffset_ = lineDashOffset;
-            this.checksum_ = undefined;
-        };
-
-
-        /**
-         * Set the line join.
-         *
-         * @param {string|undefined} lineJoin Line join.
-         * @api
-         */
-        ol.style.Stroke.prototype.setLineJoin = function(lineJoin) {
-            this.lineJoin_ = lineJoin;
-            this.checksum_ = undefined;
-        };
-
-
-        /**
-         * Set the miter limit.
-         *
-         * @param {number|undefined} miterLimit Miter limit.
-         * @api
-         */
-        ol.style.Stroke.prototype.setMiterLimit = function(miterLimit) {
-            this.miterLimit_ = miterLimit;
-            this.checksum_ = undefined;
-        };
-
-
-        /**
-         * Set the width.
-         *
-         * @param {number|undefined} width Width.
-         * @api
-         */
-        ol.style.Stroke.prototype.setWidth = function(width) {
-            this.width_ = width;
-            this.checksum_ = undefined;
-        };
-
-
-        /**
-         * @return {string} The checksum.
-         */
-        ol.style.Stroke.prototype.getChecksum = function() {
-            if (this.checksum_ === undefined) {
-                this.checksum_ = 's';
-                if (this.color_) {
-                    if (typeof this.color_ === 'string') {
-                        this.checksum_ += this.color_;
-                    } else {
-                        this.checksum_ += ol.getUid(this.color_).toString();
-                    }
-                } else {
-                    this.checksum_ += '-';
-                }
-                this.checksum_ += ',' +
-                    (this.lineCap_ !== undefined ?
-                        this.lineCap_.toString() : '-') + ',' +
-                    (this.lineDash_ ?
-                        this.lineDash_.toString() : '-') + ',' +
-                    (this.lineDashOffset_ !== undefined ?
-                        this.lineDashOffset_ : '-') + ',' +
-                    (this.lineJoin_ !== undefined ?
-                        this.lineJoin_ : '-') + ',' +
-                    (this.miterLimit_ !== undefined ?
-                        this.miterLimit_.toString() : '-') + ',' +
-                    (this.width_ !== undefined ?
-                        this.width_.toString() : '-');
-            }
-
-            return this.checksum_;
-        };
-
-        /**
-         * Icon anchor units. One of 'fraction', 'pixels'.
-         * @enum {string}
-         */
-        ol.style.IconAnchorUnits = {
-            FRACTION: 'fraction',
-            PIXELS: 'pixels'
-        };
-
-        /**
-         * @constructor
-         * @param {Image|HTMLCanvasElement} image Image.
-         * @param {string|undefined} src Src.
-         * @param {ol.Size} size Size.
-         * @param {?string} crossOrigin Cross origin.
-         * @param {ol.ImageState} imageState Image state.
-         * @param {ol.Color} color Color.
-         * @extends {ol.events.EventTarget}
-         */
-        ol.style.IconImage = function(image, src, size, crossOrigin, imageState,
-                                      color) {
-
-            ol.events.EventTarget.call(this);
-
-            /**
-             * @private
-             * @type {Image|HTMLCanvasElement}
-             */
-            this.hitDetectionImage_ = null;
-
-            /**
-             * @private
-             * @type {Image|HTMLCanvasElement}
-             */
-            this.image_ = !image ? new Image() : image;
-
-            if (crossOrigin !== null) {
-                this.image_.crossOrigin = crossOrigin;
-            }
-
-            /**
-             * @private
-             * @type {HTMLCanvasElement}
-             */
-            this.canvas_ = color ?
-            /** @type {HTMLCanvasElement} */ (document.createElement('CANVAS')) :
-                null;
-
-            /**
-             * @private
-             * @type {ol.Color}
-             */
-            this.color_ = color;
-
-            /**
-             * @private
-             * @type {Array.<ol.EventsKey>}
-             */
-            this.imageListenerKeys_ = null;
-
-            /**
-             * @private
-             * @type {ol.ImageState}
-             */
-            this.imageState_ = imageState;
-
-            /**
-             * @private
-             * @type {ol.Size}
-             */
-            this.size_ = size;
-
-            /**
-             * @private
-             * @type {string|undefined}
-             */
-            this.src_ = src;
-
-            /**
-             * @private
-             * @type {boolean}
-             */
-            this.tainting_ = false;
-            if (this.imageState_ == ol.ImageState.LOADED) {
-                this.determineTainting_();
-            }
-
-        };
-        ol.inherits(ol.style.IconImage, ol.events.EventTarget);
-
-
-        /**
-         * @param {Image|HTMLCanvasElement} image Image.
-         * @param {string} src Src.
-         * @param {ol.Size} size Size.
-         * @param {?string} crossOrigin Cross origin.
-         * @param {ol.ImageState} imageState Image state.
-         * @param {ol.Color} color Color.
-         * @return {ol.style.IconImage} Icon image.
-         */
-        ol.style.IconImage.get = function(image, src, size, crossOrigin, imageState,
-                                          color) {
-            var iconImageCache = ol.style.iconImageCache;
-            var iconImage = iconImageCache.get(src, crossOrigin, color);
-            if (!iconImage) {
-                iconImage = new ol.style.IconImage(
-                    image, src, size, crossOrigin, imageState, color);
-                iconImageCache.set(src, crossOrigin, color, iconImage);
-            }
-            return iconImage;
-        };
-
-
-        /**
-         * @private
-         */
-        ol.style.IconImage.prototype.determineTainting_ = function() {
-            var context = ol.dom.createCanvasContext2D(1, 1);
-            try {
-                context.drawImage(this.image_, 0, 0);
-                context.getImageData(0, 0, 1, 1);
-            } catch (e) {
-                this.tainting_ = true;
-            }
-        };
-
-
-        /**
-         * @private
-         */
-        ol.style.IconImage.prototype.dispatchChangeEvent_ = function() {
-            this.dispatchEvent(ol.events.EventType.CHANGE);
-        };
-
-
-        /**
-         * @private
-         */
-        ol.style.IconImage.prototype.handleImageError_ = function() {
-            this.imageState_ = ol.ImageState.ERROR;
-            this.unlistenImage_();
-            this.dispatchChangeEvent_();
-        };
-
-
-        /**
-         * @private
-         */
-        ol.style.IconImage.prototype.handleImageLoad_ = function() {
-            this.imageState_ = ol.ImageState.LOADED;
-            if (this.size_) {
-                this.image_.width = this.size_[0];
-                this.image_.height = this.size_[1];
-            }
-            this.size_ = [this.image_.width, this.image_.height];
-            this.unlistenImage_();
-            this.determineTainting_();
-            this.replaceColor_();
-            this.dispatchChangeEvent_();
-        };
-
-
-        /**
-         * @param {number} pixelRatio Pixel ratio.
-         * @return {Image|HTMLCanvasElement} Image or Canvas element.
-         */
-        ol.style.IconImage.prototype.getImage = function(pixelRatio) {
-            return this.canvas_ ? this.canvas_ : this.image_;
-        };
-
-
-        /**
-         * @return {ol.ImageState} Image state.
-         */
-        ol.style.IconImage.prototype.getImageState = function() {
-            return this.imageState_;
-        };
-
-
-        /**
-         * @param {number} pixelRatio Pixel ratio.
-         * @return {Image|HTMLCanvasElement} Image element.
-         */
-        ol.style.IconImage.prototype.getHitDetectionImage = function(pixelRatio) {
-            if (!this.hitDetectionImage_) {
-                if (this.tainting_) {
-                    var width = this.size_[0];
-                    var height = this.size_[1];
-                    var context = ol.dom.createCanvasContext2D(width, height);
-                    context.fillRect(0, 0, width, height);
-                    this.hitDetectionImage_ = context.canvas;
-                } else {
-                    this.hitDetectionImage_ = this.image_;
-                }
-            }
-            return this.hitDetectionImage_;
-        };
-
-
-        /**
-         * @return {ol.Size} Image size.
-         */
-        ol.style.IconImage.prototype.getSize = function() {
-            return this.size_;
-        };
-
-
-        /**
-         * @return {string|undefined} Image src.
-         */
-        ol.style.IconImage.prototype.getSrc = function() {
-            return this.src_;
-        };
-
-
-        /**
-         * Load not yet loaded URI.
-         */
-        ol.style.IconImage.prototype.load = function() {
-            if (this.imageState_ == ol.ImageState.IDLE) {
-                this.imageState_ = ol.ImageState.LOADING;
-                this.imageListenerKeys_ = [
-                    ol.events.listenOnce(this.image_, ol.events.EventType.ERROR,
-                        this.handleImageError_, this),
-                    ol.events.listenOnce(this.image_, ol.events.EventType.LOAD,
-                        this.handleImageLoad_, this)
-                ];
-                try {
-                    this.image_.src = this.src_;
-                } catch (e) {
-                    this.handleImageError_();
-                }
-            }
-        };
-
-
-        /**
-         * @private
-         */
-        ol.style.IconImage.prototype.replaceColor_ = function() {
-            if (this.tainting_ || this.color_ === null) {
-                return;
-            }
-
-            this.canvas_.width = this.image_.width;
-            this.canvas_.height = this.image_.height;
-
-            var ctx = this.canvas_.getContext('2d');
-            ctx.drawImage(this.image_, 0, 0);
-
-            var imgData = ctx.getImageData(0, 0, this.image_.width, this.image_.height);
-            var data = imgData.data;
-            var r = this.color_[0] / 255.0;
-            var g = this.color_[1] / 255.0;
-            var b = this.color_[2] / 255.0;
-
-            for (var i = 0, ii = data.length; i < ii; i += 4) {
-                data[i] *= r;
-                data[i + 1] *= g;
-                data[i + 2] *= b;
-            }
-            ctx.putImageData(imgData, 0, 0);
-        };
-
-
-        /**
-         * Discards event handlers which listen for load completion or errors.
-         *
-         * @private
-         */
-        ol.style.IconImage.prototype.unlistenImage_ = function() {
-            this.imageListenerKeys_.forEach(ol.events.unlistenByKey);
-            this.imageListenerKeys_ = null;
-        };
-
-        /**
-         * Icon origin. One of 'bottom-left', 'bottom-right', 'top-left', 'top-right'.
-         * @enum {string}
-         */
-        ol.style.IconOrigin = {
-            BOTTOM_LEFT: 'bottom-left',
-            BOTTOM_RIGHT: 'bottom-right',
-            TOP_LEFT: 'top-left',
-            TOP_RIGHT: 'top-right'
-        };
-
-        /**
-         * @classdesc
-         * Set icon style for vector features.
-         *
-         * @constructor
-         * @param {olx.style.IconOptions=} opt_options Options.
-         * @extends {ol.style.Image}
-         * @api
-         */
-        ol.style.Icon = function(opt_options) {
-
-            var options = opt_options || {};
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.anchor_ = options.anchor !== undefined ? options.anchor : [0.5, 0.5];
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.normalizedAnchor_ = null;
-
-            /**
-             * @private
-             * @type {ol.style.IconOrigin}
-             */
-            this.anchorOrigin_ = options.anchorOrigin !== undefined ?
-                options.anchorOrigin : ol.style.IconOrigin.TOP_LEFT;
-
-            /**
-             * @private
-             * @type {ol.style.IconAnchorUnits}
-             */
-            this.anchorXUnits_ = options.anchorXUnits !== undefined ?
-                options.anchorXUnits : ol.style.IconAnchorUnits.FRACTION;
-
-            /**
-             * @private
-             * @type {ol.style.IconAnchorUnits}
-             */
-            this.anchorYUnits_ = options.anchorYUnits !== undefined ?
-                options.anchorYUnits : ol.style.IconAnchorUnits.FRACTION;
-
-            /**
-             * @private
-             * @type {?string}
-             */
-            this.crossOrigin_ =
-                options.crossOrigin !== undefined ? options.crossOrigin : null;
-
-            /**
-             * @type {Image|HTMLCanvasElement}
-             */
-            var image = options.img !== undefined ? options.img : null;
-
-            /**
-             * @type {ol.Size}
-             */
-            var imgSize = options.imgSize !== undefined ? options.imgSize : null;
-
-            /**
-             * @type {string|undefined}
-             */
-            var src = options.src;
-
-    //        ol.asserts.assert(!(src !== undefined && image),
-    //            4); // `image` and `src` cannot be provided at the same time
-    //        ol.asserts.assert(!image || (image && imgSize),
-    //            5); // `imgSize` must be set when `image` is provided
-
-            if ((src === undefined || src.length === 0) && image) {
-                src = image.src || ol.getUid(image).toString();
-            }
-    //        ol.asserts.assert(src !== undefined && src.length > 0,
-    //            6); // A defined and non-empty `src` or `image` must be provided
-
-            /**
-             * @type {ol.ImageState}
-             */
-            var imageState = options.src !== undefined ?
-                ol.ImageState.IDLE : ol.ImageState.LOADED;
-
-            /**
-             * @private
-             * @type {ol.Color}
-             */
-            this.color_ = options.color !== undefined ? ol.color.asArray(options.color) :
-                null;
-
-            /**
-             * @private
-             * @type {ol.style.IconImage}
-             */
-            this.iconImage_ = ol.style.IconImage.get(
-                image, /** @type {string} */ (src), imgSize, this.crossOrigin_, imageState, this.color_);
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.offset_ = options.offset !== undefined ? options.offset : [0, 0];
-
-            /**
-             * @private
-             * @type {ol.style.IconOrigin}
-             */
-            this.offsetOrigin_ = options.offsetOrigin !== undefined ?
-                options.offsetOrigin : ol.style.IconOrigin.TOP_LEFT;
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.origin_ = null;
-
-            /**
-             * @private
-             * @type {ol.Size}
-             */
-            this.size_ = options.size !== undefined ? options.size : null;
-
-            /**
-             * @type {number}
-             */
-            var opacity = options.opacity !== undefined ? options.opacity : 1;
-
-            /**
-             * @type {boolean}
-             */
-            var rotateWithView = options.rotateWithView !== undefined ?
-                options.rotateWithView : false;
-
-            /**
-             * @type {number}
-             */
-            var rotation = options.rotation !== undefined ? options.rotation : 0;
-
-            /**
-             * @type {number}
-             */
-            var scale = options.scale !== undefined ? options.scale : 1;
-
-            /**
-             * @type {boolean}
-             */
-            var snapToPixel = options.snapToPixel !== undefined ?
-                options.snapToPixel : true;
-
-            ol.style.Image.call(this, {
-                opacity: opacity,
-                rotation: rotation,
-                scale: scale,
-                snapToPixel: snapToPixel,
-                rotateWithView: rotateWithView
-            });
-
-        };
-        ol.inherits(ol.style.Icon, ol.style.Image);
-
-
-        /**
-         * Clones the style. The underlying Image/HTMLCanvasElement is not cloned.
-         * @return {ol.style.Icon} The cloned style.
-         * @api
-         */
-        ol.style.Icon.prototype.clone = function() {
-            return new ol.style.Icon({
-                anchor: this.anchor_.slice(),
-                anchorOrigin: this.anchorOrigin_,
-                anchorXUnits: this.anchorXUnits_,
-                anchorYUnits: this.anchorYUnits_,
-                crossOrigin: this.crossOrigin_,
-                color: (this.color_ && this.color_.slice) ? this.color_.slice() : this.color_ || undefined,
-                src: this.getSrc(),
-                offset: this.offset_.slice(),
-                offsetOrigin: this.offsetOrigin_,
-                size: this.size_ !== null ? this.size_.slice() : undefined,
-                opacity: this.getOpacity(),
-                scale: this.getScale(),
-                snapToPixel: this.getSnapToPixel(),
-                rotation: this.getRotation(),
-                rotateWithView: this.getRotateWithView()
-            });
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.style.Icon.prototype.getAnchor = function() {
-            if (this.normalizedAnchor_) {
-                return this.normalizedAnchor_;
-            }
-            var anchor = this.anchor_;
-            var size = this.getSize();
-            if (this.anchorXUnits_ == ol.style.IconAnchorUnits.FRACTION ||
-                this.anchorYUnits_ == ol.style.IconAnchorUnits.FRACTION) {
-                if (!size) {
-                    return null;
-                }
-                anchor = this.anchor_.slice();
-                if (this.anchorXUnits_ == ol.style.IconAnchorUnits.FRACTION) {
-                    anchor[0] *= size[0];
-                }
-                if (this.anchorYUnits_ == ol.style.IconAnchorUnits.FRACTION) {
-                    anchor[1] *= size[1];
-                }
-            }
-
-            if (this.anchorOrigin_ != ol.style.IconOrigin.TOP_LEFT) {
-                if (!size) {
-                    return null;
-                }
-                if (anchor === this.anchor_) {
-                    anchor = this.anchor_.slice();
-                }
-                if (this.anchorOrigin_ == ol.style.IconOrigin.TOP_RIGHT ||
-                    this.anchorOrigin_ == ol.style.IconOrigin.BOTTOM_RIGHT) {
-                    anchor[0] = -anchor[0] + size[0];
-                }
-                if (this.anchorOrigin_ == ol.style.IconOrigin.BOTTOM_LEFT ||
-                    this.anchorOrigin_ == ol.style.IconOrigin.BOTTOM_RIGHT) {
-                    anchor[1] = -anchor[1] + size[1];
-                }
-            }
-            this.normalizedAnchor_ = anchor;
-            return this.normalizedAnchor_;
-        };
-
-
-        /**
-         * Get the icon color.
-         * @return {ol.Color} Color.
-         * @api
-         */
-        ol.style.Icon.prototype.getColor = function() {
-            return this.color_;
-        };
-
-
-        /**
-         * Get the image icon.
-         * @param {number} pixelRatio Pixel ratio.
-         * @return {Image|HTMLCanvasElement} Image or Canvas element.
-         * @override
-         * @api
-         */
-        ol.style.Icon.prototype.getImage = function(pixelRatio) {
-            return this.iconImage_.getImage(pixelRatio);
-        };
-
-
-        /**
-         * @override
-         */
-        ol.style.Icon.prototype.getImageSize = function() {
-            return this.iconImage_.getSize();
-        };
-
-
-        /**
-         * @override
-         */
-        ol.style.Icon.prototype.getHitDetectionImageSize = function() {
-            return this.getImageSize();
-        };
-
-
-        /**
-         * @override
-         */
-        ol.style.Icon.prototype.getImageState = function() {
-            return this.iconImage_.getImageState();
-        };
-
-
-        /**
-         * @override
-         */
-        ol.style.Icon.prototype.getHitDetectionImage = function(pixelRatio) {
-            return this.iconImage_.getHitDetectionImage(pixelRatio);
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.style.Icon.prototype.getOrigin = function() {
-            if (this.origin_) {
-                return this.origin_;
-            }
-            var offset = this.offset_;
-
-            if (this.offsetOrigin_ != ol.style.IconOrigin.TOP_LEFT) {
-                var size = this.getSize();
-                var iconImageSize = this.iconImage_.getSize();
-                if (!size || !iconImageSize) {
-                    return null;
-                }
-                offset = offset.slice();
-                if (this.offsetOrigin_ == ol.style.IconOrigin.TOP_RIGHT ||
-                    this.offsetOrigin_ == ol.style.IconOrigin.BOTTOM_RIGHT) {
-                    offset[0] = iconImageSize[0] - size[0] - offset[0];
-                }
-                if (this.offsetOrigin_ == ol.style.IconOrigin.BOTTOM_LEFT ||
-                    this.offsetOrigin_ == ol.style.IconOrigin.BOTTOM_RIGHT) {
-                    offset[1] = iconImageSize[1] - size[1] - offset[1];
-                }
-            }
-            this.origin_ = offset;
-            return this.origin_;
-        };
-
-
-        /**
-         * Get the image URL.
-         * @return {string|undefined} Image src.
-         * @api
-         */
-        ol.style.Icon.prototype.getSrc = function() {
-            return this.iconImage_.getSrc();
-        };
-
-
-        /**
-         * @inheritDoc
-         * @api
-         */
-        ol.style.Icon.prototype.getSize = function() {
-            return !this.size_ ? this.iconImage_.getSize() : this.size_;
-        };
-
-
-        /**
-         * @override
-         */
-        ol.style.Icon.prototype.listenImageChange = function(listener, thisArg) {
-            return ol.events.listen(this.iconImage_, ol.events.EventType.CHANGE,
-                listener, thisArg);
-        };
-
-
-        /**
-         * Load not yet loaded URI.
-         * When rendering a feature with an icon style, the vector renderer will
-         * automatically call this method. However, you might want to call this
-         * method yourself for preloading or other purposes.
-         * @override
-         * @api
-         */
-        ol.style.Icon.prototype.load = function() {
-            this.iconImage_.load();
-        };
-
-
-        /**
-         * @override
-         */
-        ol.style.Icon.prototype.unlistenImageChange = function(listener, thisArg) {
-            ol.events.unlisten(this.iconImage_, ol.events.EventType.CHANGE,
-                listener, thisArg);
-        };
-
-        ol.style.Text = function(opt_options) {
-            var options = opt_options || {};
-            this.font_ = options.font;
-            this.rotation_ = options.rotation;
-            this.rotateWithView_ = options.rotateWithView;
-            this.scale_ = options.scale;
-            this.text_ = options.text;
-            this.textAlign_ = options.textAlign;
-            this.textBaseline_ = options.textBaseline;
-            this.fill_ = options.fill !== undefined ? options.fill :
-                new ol.style.Fill({color: ol.style.Text.DEFAULT_FILL_COLOR_});
-            this.maxAngle_ = options.maxAngle !== undefined ? options.maxAngle : Math.PI / 4;
-            this.placement_ = options.placement !== undefined ? options.placement : ol.style.TextPlacement.POINT;
-
-            //TODO Use options.overflow directly after removing @deprecated exceedLength
-            var overflow = options.overflow === undefined ? options.exceedLength : options.overflow;
-
-            this.overflow_ = overflow !== undefined ? overflow : false;
-            this.stroke_ = options.stroke !== undefined ? options.stroke : null;
-            this.offsetX_ = options.offsetX !== undefined ? options.offsetX : 0;
-            this.offsetY_ = options.offsetY !== undefined ? options.offsetY : 0;
-            this.backgroundFill_ = options.backgroundFill ? options.backgroundFill : null;
-            this.backgroundStroke_ = options.backgroundStroke ? options.backgroundStroke : null;
-            this.padding_ = options.padding === undefined ? null : options.padding;
-        };
-
-        ol.style.Text.DEFAULT_FILL_COLOR_ = '#333';
-        ol.style.Text.prototype.clone = function() {
-            return new ol.style.Text({
-                font: this.getFont(),
-                placement: this.getPlacement(),
-                maxAngle: this.getMaxAngle(),
-                overflow: this.getOverflow(),
-                rotation: this.getRotation(),
-                rotateWithView: this.getRotateWithView(),
-                scale: this.getScale(),
-                text: this.getText(),
-                textAlign: this.getTextAlign(),
-                textBaseline: this.getTextBaseline(),
-                fill: this.getFill() ? this.getFill().clone() : undefined,
-                stroke: this.getStroke() ? this.getStroke().clone() : undefined,
-                offsetX: this.getOffsetX(),
-                offsetY: this.getOffsetY()
-            });
-        };
-
-        ol.style.Text.prototype.getOverflow = function() {
-            return this.overflow_;
-        };
-
-        ol.style.Text.prototype.getFont = function() {
-            return this.font_;
-        };
-
-        ol.style.Text.prototype.getMaxAngle = function() {
-            return this.maxAngle_;
-        };
-
-        ol.style.Text.prototype.getPlacement = function() {
-            return this.placement_;
-        };
-
-        ol.style.Text.prototype.getOffsetX = function() {
-            return this.offsetX_;
-        };
-
-        ol.style.Text.prototype.getOffsetY = function() {
-            return this.offsetY_;
-        };
-
-        ol.style.Text.prototype.getFill = function() {
-            return this.fill_;
-        };
-
-        ol.style.Text.prototype.getRotateWithView = function() {
-            return this.rotateWithView_;
-        };
-
-        ol.style.Text.prototype.getRotation = function() {
-            return this.rotation_;
-        };
-
-        ol.style.Text.prototype.getScale = function() {
-            return this.scale_;
-        };
-
-        ol.style.Text.prototype.getStroke = function() {
-            return this.stroke_;
-        };
-
-        ol.style.Text.prototype.getText = function() {
-            return this.text_;
-        };
-
-        ol.style.Text.prototype.getTextAlign = function() {
-            return this.textAlign_;
-        };
-
-        ol.style.Text.prototype.getTextBaseline = function() {
-            return this.textBaseline_;
-        };
-
-        ol.style.Text.prototype.getBackgroundFill = function() {
-            return this.backgroundFill_;
-        };
-
-        ol.style.Text.prototype.getBackgroundStroke = function() {
-            return this.backgroundStroke_;
-        };
-
-        ol.style.Text.prototype.getPadding = function() {
-            return this.padding_;
-        };
-
-        ol.style.Text.prototype.setOverflow = function(overflow) {
-            this.overflow_ = overflow;
-        };
-
-        ol.style.Text.prototype.setFont = function(font) {
-            this.font_ = font;
-        };
-
-        ol.style.Text.prototype.setMaxAngle = function(maxAngle) {
-            this.maxAngle_ = maxAngle;
-        };
-
-        ol.style.Text.prototype.setOffsetX = function(offsetX) {
-            this.offsetX_ = offsetX;
-        };
-
-        ol.style.Text.prototype.setOffsetY = function(offsetY) {
-            this.offsetY_ = offsetY;
-        };
-
-        ol.style.Text.prototype.setPlacement = function(placement) {
-            this.placement_ = placement;
-        };
-
-        ol.style.Text.prototype.setFill = function(fill) {
-            this.fill_ = fill;
-        };
-
-        ol.style.Text.prototype.setRotation = function(rotation) {
-            this.rotation_ = rotation;
-        };
-
-        ol.style.Text.prototype.setScale = function(scale) {
-            this.scale_ = scale;
-        };
-
-        ol.style.Text.prototype.setStroke = function(stroke) {
-            this.stroke_ = stroke;
-        };
-
-        ol.style.Text.prototype.setText = function(text) {
-            this.text_ = text;
-        };
-
-        ol.style.Text.prototype.setTextAlign = function(textAlign) {
-            this.textAlign_ = textAlign;
-        };
-
-        ol.style.Text.prototype.setTextBaseline = function(textBaseline) {
-            this.textBaseline_ = textBaseline;
-        };
-
-        ol.style.Text.prototype.setBackgroundFill = function(fill) {
-            this.backgroundFill_ = fill;
-        };
-
-        ol.style.Text.prototype.setBackgroundStroke = function(stroke) {
-            this.backgroundStroke_ = stroke;
-        };
-
-        ol.style.Text.prototype.setPadding = function(padding) {
-            this.padding_ = padding;
-        };
-
-        ol.style.Style = function(opt_options) {
-
-            var options = opt_options || {};
-
-            /**
-             * @private
-             * @type {string|ol.geom.Geometry|ol.StyleGeometryFunction}
-             */
-            this.geometry_ = null;
-
-            /**
-             * @private
-             * @type {!ol.StyleGeometryFunction}
-             */
-            this.geometryFunction_ = ol.style.Style.defaultGeometryFunction;
-
-            if (options.geometry !== undefined) {
-                this.setGeometry(options.geometry);
-            }
-
-            /**
-             * @private
-             * @type {ol.style.Fill}
-             */
-            this.fill_ = options.fill !== undefined ? options.fill : null;
-
-            /**
-             * @private
-             * @type {ol.style.Image}
-             */
-            this.image_ = options.image !== undefined ? options.image : null;
-
-            /**
-             * @private
-             * @type {ol.StyleRenderFunction|null}
-             */
-            this.renderer_ = options.renderer !== undefined ? options.renderer : null;
-
-            /**
-             * @private
-             * @type {ol.style.Stroke}
-             */
-            this.stroke_ = options.stroke !== undefined ? options.stroke : null;
-
-            /**
-             * @private
-             * @type {ol.style.Text}
-             */
-            this.text_ = options.text !== undefined ? options.text : null;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.zIndex_ = options.zIndex;
-
-        };
-
-
-        /**
-         * Clones the style.
-         * @return {ol.style.Style} The cloned style.
-         * @api
-         */
-        ol.style.Style.prototype.clone = function() {
-            var geometry = this.getGeometry();
-            if (geometry && geometry.clone) {
-                geometry = geometry.clone();
-            }
-            return new ol.style.Style({
-                geometry: geometry,
-                fill: this.getFill() ? this.getFill().clone() : undefined,
-                image: this.getImage() ? this.getImage().clone() : undefined,
-                stroke: this.getStroke() ? this.getStroke().clone() : undefined,
-                text: this.getText() ? this.getText().clone() : undefined,
-                zIndex: this.getZIndex()
-            });
-        };
-
-
-        /**
-         * Get the custom renderer function that was configured with
-         * {@link #setRenderer} or the `renderer` constructor option.
-         * @return {ol.StyleRenderFunction|null} Custom renderer function.
-         * @api
-         */
-        ol.style.Style.prototype.getRenderer = function() {
-            return this.renderer_;
-        };
-
-
-        /**
-         * Sets a custom renderer function for this style. When set, `fill`, `stroke`
-         * and `image` options of the style will be ignored.
-         * @param {ol.StyleRenderFunction|null} renderer Custom renderer function.
-         * @api
-         */
-        ol.style.Style.prototype.setRenderer = function(renderer) {
-            this.renderer_ = renderer;
-        };
-
-
-        /**
-         * Get the geometry to be rendered.
-         * @return {string|ol.geom.Geometry|ol.StyleGeometryFunction}
-         * Feature property or geometry or function that returns the geometry that will
-         * be rendered with this style.
-         * @api
-         */
-        ol.style.Style.prototype.getGeometry = function() {
-            return this.geometry_;
-        };
-
-
-        /**
-         * Get the function used to generate a geometry for rendering.
-         * @return {!ol.StyleGeometryFunction} Function that is called with a feature
-         * and returns the geometry to render instead of the feature's geometry.
-         * @api
-         */
-        ol.style.Style.prototype.getGeometryFunction = function() {
-            return this.geometryFunction_;
-        };
-
-
-        /**
-         * Get the fill style.
-         * @return {ol.style.Fill} Fill style.
-         * @api
-         */
-        ol.style.Style.prototype.getFill = function() {
-            return this.fill_;
-        };
-
-
-        /**
-         * Set the fill style.
-         * @param {ol.style.Fill} fill Fill style.
-         * @api
-         */
-        ol.style.Style.prototype.setFill = function(fill) {
-            this.fill_ = fill;
-        };
-
-
-        /**
-         * Get the image style.
-         * @return {ol.style.Image} Image style.
-         * @api
-         */
-        ol.style.Style.prototype.getImage = function() {
-            return this.image_;
-        };
-
-
-        /**
-         * Set the image style.
-         * @param {ol.style.Image} image Image style.
-         * @api
-         */
-        ol.style.Style.prototype.setImage = function(image) {
-            this.image_ = image;
-        };
-
-
-        /**
-         * Get the stroke style.
-         * @return {ol.style.Stroke} Stroke style.
-         * @api
-         */
-        ol.style.Style.prototype.getStroke = function() {
-            return this.stroke_;
-        };
-
-
-        /**
-         * Set the stroke style.
-         * @param {ol.style.Stroke} stroke Stroke style.
-         * @api
-         */
-        ol.style.Style.prototype.setStroke = function(stroke) {
-            this.stroke_ = stroke;
-        };
-
-
-        /**
-         * Get the text style.
-         * @return {ol.style.Text} Text style.
-         * @api
-         */
-        ol.style.Style.prototype.getText = function() {
-            return this.text_;
-        };
-
-
-        /**
-         * Set the text style.
-         * @param {ol.style.Text} text Text style.
-         * @api
-         */
-        ol.style.Style.prototype.setText = function(text) {
-            this.text_ = text;
-        };
-
-
-        /**
-         * Get the z-index for the style.
-         * @return {number|undefined} ZIndex.
-         * @api
-         */
-        ol.style.Style.prototype.getZIndex = function() {
-            return this.zIndex_;
-        };
-
-
-        /**
-         * Set a geometry that is rendered instead of the feature's geometry.
-         *
-         * @param {string|ol.geom.Geometry|ol.StyleGeometryFunction} geometry
-         *     Feature property or geometry or function returning a geometry to render
-         *     for this style.
-         * @api
-         */
-        ol.style.Style.prototype.setGeometry = function(geometry) {
-            if (typeof geometry === 'function') {
-                this.geometryFunction_ = geometry;
-            } else if (typeof geometry === 'string') {
-                this.geometryFunction_ = function(feature) {
-                    return /** @type {ol.geom.Geometry} */ (feature.get(geometry));
-                };
-            } else if (!geometry) {
-                this.geometryFunction_ = ol.style.Style.defaultGeometryFunction;
-            } else if (geometry !== undefined) {
-                this.geometryFunction_ = function() {
-                    return /** @type {ol.geom.Geometry} */ (geometry);
-                };
-            }
-            this.geometry_ = geometry;
-        };
-
-
-        /**
-         * Set the z-index.
-         *
-         * @param {number|undefined} zIndex ZIndex.
-         * @api
-         */
-        ol.style.Style.prototype.setZIndex = function(zIndex) {
-            this.zIndex_ = zIndex;
-        };
-
-
-        /**
-         * Convert the provided object into a style function.  Functions passed through
-         * unchanged.  Arrays of ol.style.Style or single style objects wrapped in a
-         * new style function.
-         * @param {ol.StyleFunction|Array.<ol.style.Style>|ol.style.Style} obj
-         *     A style function, a single style, or an array of styles.
-         * @return {ol.StyleFunction} A style function.
-         */
-        ol.style.Style.createFunction = function(obj) {
-            var styleFunction;
-
-            if (typeof obj === 'function') {
-                styleFunction = obj;
-            } else {
-                /**
-                 * @type {Array.<ol.style.Style>}
-                 */
-                var styles;
-                if (Array.isArray(obj)) {
-                    styles = obj;
-                } else {
-                    ol.asserts.assert(obj instanceof ol.style.Style,
-                        41); // Expected an `ol.style.Style` or an array of `ol.style.Style`
-                    styles = [obj];
-                }
-                styleFunction = function() {
-                    return styles;
-                };
-            }
-            return styleFunction;
-        };
-
-
-        /**
-         * @type {Array.<ol.style.Style>}
-         * @private
-         */
-        ol.style.Style.default_ = null;
-
-
-        /**
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         * @param {number} resolution Resolution.
-         * @return {Array.<ol.style.Style>} Style.
-         */
-        ol.style.Style.defaultFunction = function(feature, resolution) {
-            // We don't use an immediately-invoked function
-            // and a closure so we don't get an error at script evaluation time in
-            // browsers that do not support Canvas. (ol.style.Circle does
-            // canvas.getContext('2d') at construction time, which will cause an.error
-            // in such browsers.)
-            if (!ol.style.Style.default_) {
-                var fill = new ol.style.Fill({
-                    color: 'rgba(255,255,255,0.4)'
-                });
-                var stroke = new ol.style.Stroke({
-                    color: '#3399CC',
-                    width: 1.25
-                });
-                ol.style.Style.default_ = [
-                    new ol.style.Style({
-                        image: new ol.style.Circle({
-                            fill: fill,
-                            stroke: stroke,
-                            radius: 5
-                        }),
-                        fill: fill,
-                        stroke: stroke
-                    })
-                ];
-            }
-            return ol.style.Style.default_;
-        };
-
-
-        /**
-         * Default styles for editing features.
-         * @return {Object.<ol.geom.GeometryType, Array.<ol.style.Style>>} Styles
-         */
-        ol.style.Style.createDefaultEditing = function() {
-            /** @type {Object.<ol.geom.GeometryType, Array.<ol.style.Style>>} */
-            var styles = {};
-            var white = [255, 255, 255, 1];
-            var blue = [0, 153, 255, 1];
-            var width = 3;
-            styles[ol.geom.GeometryType.POLYGON] = [
-                new ol.style.Style({
-                    fill: new ol.style.Fill({
-                        color: [255, 255, 255, 0.5]
-                    })
-                })
-            ];
-            styles[ol.geom.GeometryType.MULTI_POLYGON] =
-                styles[ol.geom.GeometryType.POLYGON];
-
-            styles[ol.geom.GeometryType.LINE_STRING] = [
-                new ol.style.Style({
-                    stroke: new ol.style.Stroke({
-                        color: white,
-                        width: width + 2
-                    })
-                }),
-                new ol.style.Style({
-                    stroke: new ol.style.Stroke({
-                        color: blue,
-                        width: width
-                    })
-                })
-            ];
-            styles[ol.geom.GeometryType.MULTI_LINE_STRING] =
-                styles[ol.geom.GeometryType.LINE_STRING];
-
-            styles[ol.geom.GeometryType.CIRCLE] =
-                styles[ol.geom.GeometryType.POLYGON].concat(
-                    styles[ol.geom.GeometryType.LINE_STRING]
-                );
-
-
-            styles[ol.geom.GeometryType.POINT] = [
-                new ol.style.Style({
-                    image: new ol.style.Circle({
-                        radius: width * 2,
-                        fill: new ol.style.Fill({
-                            color: blue
-                        }),
-                        stroke: new ol.style.Stroke({
-                            color: white,
-                            width: width / 2
-                        })
-                    }),
-                    zIndex: Infinity
-                })
-            ];
-            styles[ol.geom.GeometryType.MULTI_POINT] =
-                styles[ol.geom.GeometryType.POINT];
-
-            styles[ol.geom.GeometryType.GEOMETRY_COLLECTION] =
-                styles[ol.geom.GeometryType.POLYGON].concat(
-                    styles[ol.geom.GeometryType.LINE_STRING],
-                    styles[ol.geom.GeometryType.POINT]
-                );
-
-            return styles;
-        };
-
-
-        /**
-         * Function that is called with a feature and returns its default geometry.
-         * @param {ol.Feature|ol.render.Feature} feature Feature to get the geometry
-         *     for.
-         * @return {ol.geom.Geometry|ol.render.Feature|undefined} Geometry to render.
-         */
-        ol.style.Style.defaultGeometryFunction = function(feature) {
-            return feature.getGeometry();
-        };
-
-
-        ol.ext = {};
-        ol.ext.rbush = function() {};
-
-        (function() {(function (exports) {
-
-            var quickselect_1 = quickselect;
-            var default_1 = quickselect;
-            function quickselect(arr, k, left, right, compare) {
-                quickselectStep(arr, k, left || 0, right || (arr.length - 1), compare || defaultCompare);
-            }
-            function quickselectStep(arr, k, left, right, compare) {
-                while (right > left) {
-                    if (right - left > 600) {
-                        var n = right - left + 1;
-                        var m = k - left + 1;
-                        var z = Math.log(n);
-                        var s = 0.5 * Math.exp(2 * z / 3);
-                        var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);
-                        var newLeft = Math.max(left, Math.floor(k - m * s / n + sd));
-                        var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));
-                        quickselectStep(arr, k, newLeft, newRight, compare);
-                    }
-                    var t = arr[k];
-                    var i = left;
-                    var j = right;
-                    swap(arr, left, k);
-                    if (compare(arr[right], t) > 0) swap(arr, left, right);
-                    while (i < j) {
-                        swap(arr, i, j);
-                        i++;
-                        j--;
-                        while (compare(arr[i], t) < 0) i++;
-                        while (compare(arr[j], t) > 0) j--;
-                    }
-                    if (compare(arr[left], t) === 0) swap(arr, left, j);
-                    else {
-                        j++;
-                        swap(arr, j, right);
-                    }
-                    if (j <= k) left = j + 1;
-                    if (k <= j) right = j - 1;
-                }
-            }
-            function swap(arr, i, j) {
-                var tmp = arr[i];
-                arr[i] = arr[j];
-                arr[j] = tmp;
-            }
-            function defaultCompare(a, b) {
-                return a < b ? -1 : a > b ? 1 : 0;
-            }
-            quickselect_1.default = default_1;
-
-            var rbush_1 = rbush;
-            function rbush(maxEntries, format) {
-                if (!(this instanceof rbush)) return new rbush(maxEntries, format);
-                this._maxEntries = Math.max(4, maxEntries || 9);
-                this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4));
-                if (format) {
-                    this._initFormat(format);
-                }
-                this.clear();
-            }
-            rbush.prototype = {
-                all: function () {
-                    return this._all(this.data, []);
-                },
-                search: function (bbox) {
-                    var node = this.data,
-                        result = [],
-                        toBBox = this.toBBox;
-                    if (!intersects(bbox, node)) return result;
-                    var nodesToSearch = [],
-                        i, len, child, childBBox;
-                    while (node) {
-                        for (i = 0, len = node.children.length; i < len; i++) {
-                            child = node.children[i];
-                            childBBox = node.leaf ? toBBox(child) : child;
-                            if (intersects(bbox, childBBox)) {
-                                if (node.leaf) result.push(child);
-                                else if (contains(bbox, childBBox)) this._all(child, result);
-                                else nodesToSearch.push(child);
-                            }
-                        }
-                        node = nodesToSearch.pop();
-                    }
-                    return result;
-                },
-                collides: function (bbox) {
-                    var node = this.data,
-                        toBBox = this.toBBox;
-                    if (!intersects(bbox, node)) return false;
-                    var nodesToSearch = [],
-                        i, len, child, childBBox;
-                    while (node) {
-                        for (i = 0, len = node.children.length; i < len; i++) {
-                            child = node.children[i];
-                            childBBox = node.leaf ? toBBox(child) : child;
-                            if (intersects(bbox, childBBox)) {
-                                if (node.leaf || contains(bbox, childBBox)) return true;
-                                nodesToSearch.push(child);
-                            }
-                        }
-                        node = nodesToSearch.pop();
-                    }
-                    return false;
-                },
-                load: function (data) {
-                    if (!(data && data.length)) return this;
-                    if (data.length < this._minEntries) {
-                        for (var i = 0, len = data.length; i < len; i++) {
-                            this.insert(data[i]);
-                        }
-                        return this;
-                    }
-                    var node = this._build(data.slice(), 0, data.length - 1, 0);
-                    if (!this.data.children.length) {
-                        this.data = node;
-                    } else if (this.data.height === node.height) {
-                        this._splitRoot(this.data, node);
-                    } else {
-                        if (this.data.height < node.height) {
-                            var tmpNode = this.data;
-                            this.data = node;
-                            node = tmpNode;
-                        }
-                        this._insert(node, this.data.height - node.height - 1, true);
-                    }
-                    return this;
-                },
-                insert: function (item) {
-                    if (item) this._insert(item, this.data.height - 1);
-                    return this;
-                },
-                clear: function () {
-                    this.data = createNode([]);
-                    return this;
-                },
-                remove: function (item, equalsFn) {
-                    if (!item) return this;
-                    var node = this.data,
-                        bbox = this.toBBox(item),
-                        path = [],
-                        indexes = [],
-                        i, parent, index, goingUp;
-                    while (node || path.length) {
-                        if (!node) {
-                            node = path.pop();
-                            parent = path[path.length - 1];
-                            i = indexes.pop();
-                            goingUp = true;
-                        }
-                        if (node.leaf) {
-                            index = findItem(item, node.children, equalsFn);
-                            if (index !== -1) {
-                                node.children.splice(index, 1);
-                                path.push(node);
-                                this._condense(path);
-                                return this;
-                            }
-                        }
-                        if (!goingUp && !node.leaf && contains(node, bbox)) {
-                            path.push(node);
-                            indexes.push(i);
-                            i = 0;
-                            parent = node;
-                            node = node.children[0];
-                        } else if (parent) {
-                            i++;
-                            node = parent.children[i];
-                            goingUp = false;
-                        } else node = null;
-                    }
-                    return this;
-                },
-                toBBox: function (item) { return item; },
-                compareMinX: compareNodeMinX,
-                compareMinY: compareNodeMinY,
-                toJSON: function () { return this.data; },
-                fromJSON: function (data) {
-                    this.data = data;
-                    return this;
-                },
-                _all: function (node, result) {
-                    var nodesToSearch = [];
-                    while (node) {
-                        if (node.leaf) result.push.apply(result, node.children);
-                        else nodesToSearch.push.apply(nodesToSearch, node.children);
-                        node = nodesToSearch.pop();
-                    }
-                    return result;
-                },
-                _build: function (items, left, right, height) {
-                    var N = right - left + 1,
-                        M = this._maxEntries,
-                        node;
-                    if (N <= M) {
-                        node = createNode(items.slice(left, right + 1));
-                        calcBBox(node, this.toBBox);
-                        return node;
-                    }
-                    if (!height) {
-                        height = Math.ceil(Math.log(N) / Math.log(M));
-                        M = Math.ceil(N / Math.pow(M, height - 1));
-                    }
-                    node = createNode([]);
-                    node.leaf = false;
-                    node.height = height;
-                    var N2 = Math.ceil(N / M),
-                        N1 = N2 * Math.ceil(Math.sqrt(M)),
-                        i, j, right2, right3;
-                    multiSelect(items, left, right, N1, this.compareMinX);
-                    for (i = left; i <= right; i += N1) {
-                        right2 = Math.min(i + N1 - 1, right);
-                        multiSelect(items, i, right2, N2, this.compareMinY);
-                        for (j = i; j <= right2; j += N2) {
-                            right3 = Math.min(j + N2 - 1, right2);
-                            node.children.push(this._build(items, j, right3, height - 1));
-                        }
-                    }
-                    calcBBox(node, this.toBBox);
-                    return node;
-                },
-                _chooseSubtree: function (bbox, node, level, path) {
-                    var i, len, child, targetNode, area, enlargement, minArea, minEnlargement;
-                    while (true) {
-                        path.push(node);
-                        if (node.leaf || path.length - 1 === level) break;
-                        minArea = minEnlargement = Infinity;
-                        for (i = 0, len = node.children.length; i < len; i++) {
-                            child = node.children[i];
-                            area = bboxArea(child);
-                            enlargement = enlargedArea(bbox, child) - area;
-                            if (enlargement < minEnlargement) {
-                                minEnlargement = enlargement;
-                                minArea = area < minArea ? area : minArea;
-                                targetNode = child;
-                            } else if (enlargement === minEnlargement) {
-                                if (area < minArea) {
-                                    minArea = area;
-                                    targetNode = child;
-                                }
-                            }
-                        }
-                        node = targetNode || node.children[0];
-                    }
-                    return node;
-                },
-                _insert: function (item, level, isNode) {
-                    var toBBox = this.toBBox,
-                        bbox = isNode ? item : toBBox(item),
-                        insertPath = [];
-                    var node = this._chooseSubtree(bbox, this.data, level, insertPath);
-                    node.children.push(item);
-                    extend(node, bbox);
-                    while (level >= 0) {
-                        if (insertPath[level].children.length > this._maxEntries) {
-                            this._split(insertPath, level);
-                            level--;
-                        } else break;
-                    }
-                    this._adjustParentBBoxes(bbox, insertPath, level);
-                },
-                _split: function (insertPath, level) {
-                    var node = insertPath[level],
-                        M = node.children.length,
-                        m = this._minEntries;
-                    this._chooseSplitAxis(node, m, M);
-                    var splitIndex = this._chooseSplitIndex(node, m, M);
-                    var newNode = createNode(node.children.splice(splitIndex, node.children.length - splitIndex));
-                    newNode.height = node.height;
-                    newNode.leaf = node.leaf;
-                    calcBBox(node, this.toBBox);
-                    calcBBox(newNode, this.toBBox);
-                    if (level) insertPath[level - 1].children.push(newNode);
-                    else this._splitRoot(node, newNode);
-                },
-                _splitRoot: function (node, newNode) {
-                    this.data = createNode([node, newNode]);
-                    this.data.height = node.height + 1;
-                    this.data.leaf = false;
-                    calcBBox(this.data, this.toBBox);
-                },
-                _chooseSplitIndex: function (node, m, M) {
-                    var i, bbox1, bbox2, overlap, area, minOverlap, minArea, index;
-                    minOverlap = minArea = Infinity;
-                    for (i = m; i <= M - m; i++) {
-                        bbox1 = distBBox(node, 0, i, this.toBBox);
-                        bbox2 = distBBox(node, i, M, this.toBBox);
-                        overlap = intersectionArea(bbox1, bbox2);
-                        area = bboxArea(bbox1) + bboxArea(bbox2);
-                        if (overlap < minOverlap) {
-                            minOverlap = overlap;
-                            index = i;
-                            minArea = area < minArea ? area : minArea;
-                        } else if (overlap === minOverlap) {
-                            if (area < minArea) {
-                                minArea = area;
-                                index = i;
-                            }
-                        }
-                    }
-                    return index;
-                },
-                _chooseSplitAxis: function (node, m, M) {
-                    var compareMinX = node.leaf ? this.compareMinX : compareNodeMinX,
-                        compareMinY = node.leaf ? this.compareMinY : compareNodeMinY,
-                        xMargin = this._allDistMargin(node, m, M, compareMinX),
-                        yMargin = this._allDistMargin(node, m, M, compareMinY);
-                    if (xMargin < yMargin) node.children.sort(compareMinX);
-                },
-                _allDistMargin: function (node, m, M, compare) {
-                    node.children.sort(compare);
-                    var toBBox = this.toBBox,
-                        leftBBox = distBBox(node, 0, m, toBBox),
-                        rightBBox = distBBox(node, M - m, M, toBBox),
-                        margin = bboxMargin(leftBBox) + bboxMargin(rightBBox),
-                        i, child;
-                    for (i = m; i < M - m; i++) {
-                        child = node.children[i];
-                        extend(leftBBox, node.leaf ? toBBox(child) : child);
-                        margin += bboxMargin(leftBBox);
-                    }
-                    for (i = M - m - 1; i >= m; i--) {
-                        child = node.children[i];
-                        extend(rightBBox, node.leaf ? toBBox(child) : child);
-                        margin += bboxMargin(rightBBox);
-                    }
-                    return margin;
-                },
-                _adjustParentBBoxes: function (bbox, path, level) {
-                    for (var i = level; i >= 0; i--) {
-                        extend(path[i], bbox);
-                    }
-                },
-                _condense: function (path) {
-                    for (var i = path.length - 1, siblings; i >= 0; i--) {
-                        if (path[i].children.length === 0) {
-                            if (i > 0) {
-                                siblings = path[i - 1].children;
-                                siblings.splice(siblings.indexOf(path[i]), 1);
-                            } else this.clear();
-                        } else calcBBox(path[i], this.toBBox);
-                    }
-                },
-                _initFormat: function (format) {
-                    var compareArr = ['return a', ' - b', ';'];
-                    this.compareMinX = new Function('a', 'b', compareArr.join(format[0]));
-                    this.compareMinY = new Function('a', 'b', compareArr.join(format[1]));
-                    this.toBBox = new Function('a',
-                        'return {minX: a' + format[0] +
-                            ', minY: a' + format[1] +
-                            ', maxX: a' + format[2] +
-                            ', maxY: a' + format[3] + '};');
-                }
-            };
-            function findItem(item, items, equalsFn) {
-                if (!equalsFn) return items.indexOf(item);
-                for (var i = 0; i < items.length; i++) {
-                    if (equalsFn(item, items[i])) return i;
-                }
-                return -1;
-            }
-            function calcBBox(node, toBBox) {
-                distBBox(node, 0, node.children.length, toBBox, node);
-            }
-            function distBBox(node, k, p, toBBox, destNode) {
-                if (!destNode) destNode = createNode(null);
-                destNode.minX = Infinity;
-                destNode.minY = Infinity;
-                destNode.maxX = -Infinity;
-                destNode.maxY = -Infinity;
-                for (var i = k, child; i < p; i++) {
-                    child = node.children[i];
-                    extend(destNode, node.leaf ? toBBox(child) : child);
-                }
-                return destNode;
-            }
-            function extend(a, b) {
-                a.minX = Math.min(a.minX, b.minX);
-                a.minY = Math.min(a.minY, b.minY);
-                a.maxX = Math.max(a.maxX, b.maxX);
-                a.maxY = Math.max(a.maxY, b.maxY);
-                return a;
-            }
-            function compareNodeMinX(a, b) { return a.minX - b.minX; }
-            function compareNodeMinY(a, b) { return a.minY - b.minY; }
-            function bboxArea(a)   { return (a.maxX - a.minX) * (a.maxY - a.minY); }
-            function bboxMargin(a) { return (a.maxX - a.minX) + (a.maxY - a.minY); }
-            function enlargedArea(a, b) {
-                return (Math.max(b.maxX, a.maxX) - Math.min(b.minX, a.minX)) *
-                    (Math.max(b.maxY, a.maxY) - Math.min(b.minY, a.minY));
-            }
-            function intersectionArea(a, b) {
-                var minX = Math.max(a.minX, b.minX),
-                    minY = Math.max(a.minY, b.minY),
-                    maxX = Math.min(a.maxX, b.maxX),
-                    maxY = Math.min(a.maxY, b.maxY);
-                return Math.max(0, maxX - minX) *
-                    Math.max(0, maxY - minY);
-            }
-            function contains(a, b) {
-                return a.minX <= b.minX &&
-                    a.minY <= b.minY &&
-                    b.maxX <= a.maxX &&
-                    b.maxY <= a.maxY;
-            }
-            function intersects(a, b) {
-                return b.minX <= a.maxX &&
-                    b.minY <= a.maxY &&
-                    b.maxX >= a.minX &&
-                    b.maxY >= a.minY;
-            }
-            function createNode(children) {
-                return {
-                    children: children,
-                    height: 1,
-                    leaf: true,
-                    minX: Infinity,
-                    minY: Infinity,
-                    maxX: -Infinity,
-                    maxY: -Infinity
-                };
-            }
-            function multiSelect(arr, left, right, n, compare) {
-                var stack = [left, right],
-                    mid;
-                while (stack.length) {
-                    right = stack.pop();
-                    left = stack.pop();
-                    if (right - left <= n) continue;
-                    mid = left + Math.ceil((right - left) / n / 2) * n;
-                    quickselect_1(arr, mid, left, right, compare);
-                    stack.push(left, mid, mid, right);
-                }
-            }
-
-            exports['default'] = rbush_1;
-
-        }((this.rbush = this.rbush || {})));}).call(ol.ext);
-        ol.ext.rbush = ol.ext.rbush.default;
-
-        ol.render = {};
-
-        /**
-         * Context for drawing geometries.  A vector context is available on render
-         * events and does not need to be constructed directly.
-         * @constructor
-         * @abstract
-         * @struct
-         * @api
-         */
-        ol.render.VectorContext = function() {
-        };
-
-        ol.render.VectorContext.prototype.drawCustom = function(geometry, feature, renderer) {};
-        ol.render.VectorContext.prototype.drawGeometry = function(geometry) {};
-        ol.render.VectorContext.prototype.setStyle = function(style) {};
-        ol.render.VectorContext.prototype.drawCircle = function(circleGeometry, feature) {};
-        ol.render.VectorContext.prototype.drawFeature = function(feature, style) {};
-        ol.render.VectorContext.prototype.drawGeometryCollection = function(geometryCollectionGeometry, feature) {};
-        ol.render.VectorContext.prototype.drawLineString = function(lineStringGeometry, feature) {};
-        ol.render.VectorContext.prototype.drawMultiLineString = function(multiLineStringGeometry, feature) {};
-        ol.render.VectorContext.prototype.drawMultiPoint = function(multiPointGeometry, feature) {};
-        ol.render.VectorContext.prototype.drawMultiPolygon = function(multiPolygonGeometry, feature) {};
-        ol.render.VectorContext.prototype.drawPoint = function(pointGeometry, feature) {};
-        ol.render.VectorContext.prototype.drawPolygon = function(polygonGeometry, feature) {};
-        ol.render.VectorContext.prototype.drawText = function(geometry, feature) {};
-        ol.render.VectorContext.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) {};
-        ol.render.VectorContext.prototype.setImageStyle = function(imageStyle, opt_declutterGroup) {};
-        ol.render.VectorContext.prototype.setTextStyle = function(textStyle, opt_declutterGroup) {};
-
-        ol.render.ReplayGroup = {};
-
-        ol.render.ReplayGroup = function() {};
-
-        ol.render.ReplayGroup.prototype.getReplay = function(zIndex, replayType) {};
-
-        ol.render.ReplayGroup.prototype.isEmpty = function() {};
-
-        ol.render.ReplayType = {
-            CIRCLE: 'Circle',
-            DEFAULT: 'Default',
-            IMAGE: 'Image',
-            LINE_STRING: 'LineString',
-            POLYGON: 'Polygon',
-            TEXT: 'Text'
-        };
-
-        ol.geom.flat.length = {};
-
-        ol.geom.flat.length.lineString = function(flatCoordinates, offset, end, stride) {
-            var x1 = flatCoordinates[offset];
-            var y1 = flatCoordinates[offset + 1];
-            var length = 0;
-            var i;
-            for (i = offset + stride; i < end; i += stride) {
-                var x2 = flatCoordinates[i];
-                var y2 = flatCoordinates[i + 1];
-                length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
-                x1 = x2;
-                y1 = y2;
-            }
-            return length;
-        };
-
-        ol.geom.flat.length.linearRing = function(flatCoordinates, offset, end, stride) {
-            var perimeter =
-                ol.geom.flat.length.lineString(flatCoordinates, offset, end, stride);
-            var dx = flatCoordinates[end - stride] - flatCoordinates[offset];
-            var dy = flatCoordinates[end - stride + 1] - flatCoordinates[offset + 1];
-            perimeter += Math.sqrt(dx * dx + dy * dy);
-            return perimeter;
-        };
-
-        ol.geom.flat.textpath = {};
-
-        ol.geom.flat.textpath.lineString = function(
-            flatCoordinates, offset, end, stride, text, measure, startM, maxAngle) {
-            var result = [];
-
-            // Keep text upright
-            var reverse = flatCoordinates[offset] > flatCoordinates[end - stride];
-
-            var numChars = text.length;
-
-            var x1 = flatCoordinates[offset];
-            var y1 = flatCoordinates[offset + 1];
-            offset += stride;
-            var x2 = flatCoordinates[offset];
-            var y2 = flatCoordinates[offset + 1];
-            var segmentM = 0;
-            var segmentLength = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
-
-            var chunk = '';
-            var chunkLength = 0;
-            var data, index, previousAngle;
-            for (var i = 0; i < numChars; ++i) {
-                index = reverse ? numChars - i - 1 : i;
-                var char = text.charAt(index);
-                chunk = reverse ? char + chunk : chunk + char;
-                var charLength = measure(chunk) - chunkLength;
-                chunkLength += charLength;
-                var charM = startM + charLength / 2;
-                while (offset < end - stride && segmentM + segmentLength < charM) {
-                    x1 = x2;
-                    y1 = y2;
-                    offset += stride;
-                    x2 = flatCoordinates[offset];
-                    y2 = flatCoordinates[offset + 1];
-                    segmentM += segmentLength;
-                    segmentLength = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
-                }
-                var segmentPos = charM - segmentM;
-                var angle = Math.atan2(y2 - y1, x2 - x1);
-                if (reverse) {
-                    angle += angle > 0 ? -Math.PI : Math.PI;
-                }
-                if (previousAngle !== undefined) {
-                    var delta = angle - previousAngle;
-                    delta += (delta > Math.PI) ? -2 * Math.PI : (delta < -Math.PI) ? 2 * Math.PI : 0;
-                    if (Math.abs(delta) > maxAngle) {
-                        return null;
-                    }
-                }
-                var interpolate = segmentPos / segmentLength;
-                var x = ol.math.lerp(x1, x2, interpolate);
-                var y = ol.math.lerp(y1, y2, interpolate);
-                if (previousAngle == angle) {
-                    if (reverse) {
-                        data[0] = x;
-                        data[1] = y;
-                        data[2] = charLength / 2;
-                    }
-                    data[4] = chunk;
-                } else {
-                    chunk = char;
-                    chunkLength = charLength;
-                    data = [x, y, charLength / 2, angle, chunk];
-                    if (reverse) {
-                        result.unshift(data);
-                    } else {
-                        result.push(data);
-                    }
-                    previousAngle = angle;
-                }
-                startM += charLength;
-            }
-            return result;
-        };
-
-
-        ol.structs.LRUCache = function(opt_highWaterMark) {
-            ol.events.EventTarget.call(this);
-            this.highWaterMark = opt_highWaterMark !== undefined ? opt_highWaterMark : 2048;
-            this.count_ = 0;
-            this.entries_ = {};
-            this.oldest_ = null;
-            this.newest_ = null;
-        };
-
-        ol.inherits(ol.structs.LRUCache, ol.events.EventTarget);
-
-        ol.structs.LRUCache.prototype.canExpireCache = function() {
-            return this.getCount() > this.highWaterMark;
-        };
-
-        ol.structs.LRUCache.prototype.clear = function() {
-            this.count_ = 0;
-            this.entries_ = {};
-            this.oldest_ = null;
-            this.newest_ = null;
-            this.dispatchEvent(ol.events.EventType.CLEAR);
-        };
-
-        ol.structs.LRUCache.prototype.containsKey = function(key) {
-            return this.entries_.hasOwnProperty(key);
-        };
-
-        ol.structs.LRUCache.prototype.forEach = function(f, opt_this) {
-            var entry = this.oldest_;
-            while (entry) {
-                f.call(opt_this, entry.value_, entry.key_, this);
-                entry = entry.newer;
-            }
-        };
-
-        ol.structs.LRUCache.prototype.get = function(key) {
-            var entry = this.entries_[key];
-            ol.asserts.assert(entry !== undefined,
-                15); // Tried to get a value for a key that does not exist in the cache
-            if (entry === this.newest_) {
-                return entry.value_;
-            } else if (entry === this.oldest_) {
-                this.oldest_ = /** @type {ol.LRUCacheEntry} */ (this.oldest_.newer);
-                this.oldest_.older = null;
-            } else {
-                entry.newer.older = entry.older;
-                entry.older.newer = entry.newer;
-            }
-            entry.newer = null;
-            entry.older = this.newest_;
-            this.newest_.newer = entry;
-            this.newest_ = entry;
-            return entry.value_;
-        };
-
-        ol.structs.LRUCache.prototype.remove = function(key) {
-            var entry = this.entries_[key];
-            ol.asserts.assert(entry !== undefined, 15); // Tried to get a value for a key that does not exist in the cache
-            if (entry === this.newest_) {
-                this.newest_ = /** @type {ol.LRUCacheEntry} */ (entry.older);
-                if (this.newest_) {
-                    this.newest_.newer = null;
-                }
-            } else if (entry === this.oldest_) {
-                this.oldest_ = /** @type {ol.LRUCacheEntry} */ (entry.newer);
-                if (this.oldest_) {
-                    this.oldest_.older = null;
-                }
-            } else {
-                entry.newer.older = entry.older;
-                entry.older.newer = entry.newer;
-            }
-            delete this.entries_[key];
-            --this.count_;
-            return entry.value_;
-        };
-
-        ol.structs.LRUCache.prototype.getCount = function() {
-            return this.count_;
-        };
-
-        ol.structs.LRUCache.prototype.getKeys = function() {
-            var keys = new Array(this.count_);
-            var i = 0;
-            var entry;
-            for (entry = this.newest_; entry; entry = entry.older) {
-                keys[i++] = entry.key_;
-            }
-            return keys;
-        };
-
-        ol.structs.LRUCache.prototype.getValues = function() {
-            var values = new Array(this.count_);
-            var i = 0;
-            var entry;
-            for (entry = this.newest_; entry; entry = entry.older) {
-                values[i++] = entry.value_;
-            }
-            return values;
-        };
-
-        ol.structs.LRUCache.prototype.peekLast = function() {
-            return this.oldest_.value_;
-        };
-
-        ol.structs.LRUCache.prototype.peekLastKey = function() {
-            return this.oldest_.key_;
-        };
-
-        ol.structs.LRUCache.prototype.peekFirstKey = function() {
-            return this.newest_.key_;
-        };
-
-        ol.structs.LRUCache.prototype.pop = function() {
-            var entry = this.oldest_;
-            delete this.entries_[entry.key_];
-            if (entry.newer) {
-                entry.newer.older = null;
-            }
-            this.oldest_ = /** @type {ol.LRUCacheEntry} */ (entry.newer);
-            if (!this.oldest_) {
-                this.newest_ = null;
-            }
-            --this.count_;
-            return entry.value_;
-        };
-
-        ol.structs.LRUCache.prototype.replace = function(key, value) {
-            this.get(key);  // update `newest_`
-            this.entries_[key].value_ = value;
-        };
-
-        ol.structs.LRUCache.prototype.set = function(key, value) {
-            ol.asserts.assert(!(key in this.entries_),
-                16); // Tried to set a value for a key that is used already
-            var entry = /** @type {ol.LRUCacheEntry} */ ({
-                key_: key,
-                newer: null,
-                older: this.newest_,
-                value_: value
-            });
-            if (!this.newest_) {
-                this.oldest_ = entry;
-            } else {
-                this.newest_.newer = entry;
-            }
-            this.newest_ = entry;
-            this.entries_[key] = entry;
-            ++this.count_;
-        };
-
-        ol.structs.LRUCache.prototype.prune = function() {
-            while (this.canExpireCache()) {
-                this.pop();
-            }
-        };
-
-        ol.render.canvas = {};
-        ol.render.canvas.defaultFont = '10px sans-serif';
-        ol.render.canvas.defaultFillStyle = [0, 0, 0, 1];
-        ol.render.canvas.defaultLineCap = 'round';
-        ol.render.canvas.defaultLineDash = [];
-        ol.render.canvas.defaultLineDashOffset = 0;
-        ol.render.canvas.defaultLineJoin = 'round';
-        ol.render.canvas.defaultMiterLimit = 10;
-        ol.render.canvas.defaultStrokeStyle = [0, 0, 0, 1];
-        ol.render.canvas.defaultTextAlign = 'center';
-        ol.render.canvas.defaultTextBaseline = 'middle';
-        ol.render.canvas.defaultPadding = [0, 0, 0, 0];
-        ol.render.canvas.defaultLineWidth = 1;
-        ol.render.canvas.labelCache = new ol.structs.LRUCache();
-        ol.render.canvas.checkedFonts_ = {};
-        ol.render.canvas.measureContext_ = null;
-        ol.render.canvas.textHeights_ = {};
-
-        /**
-         * Clears the label cache when a font becomes available.
-         * @param {string} fontSpec CSS font spec.
-         */
-        ol.render.canvas.checkFont = (function() {
-            var retries = 60;
-            var checked = ol.render.canvas.checkedFonts_;
-            var labelCache = ol.render.canvas.labelCache;
-            var font = '32px monospace';
-            var text = 'wmytzilWMYTZIL@#/&?$%10';
-            var interval, referenceWidth;
-
-            function isAvailable(fontFamily) {
-                var context = ol.render.canvas.getMeasureContext();
-                context.font = font;
-                referenceWidth = context.measureText(text).width;
-                var available = true;
-                if (fontFamily != 'monospace') {
-                    context.font = '32px ' + fontFamily + ',monospace';
-                    var width = context.measureText(text).width;
-                    // If width and referenceWidth are the same, then the 'monospace'
-                    // fallback was used instead of the font we wanted, so the font is not
-                    // available.
-                    available = width != referenceWidth;
-                }
-                return available;
-            }
-
-            function check() {
-                var done = true;
-                for (var font in checked) {
-                    if (checked[font] < retries) {
-                        if (isAvailable(font)) {
-                            checked[font] = retries;
-                            ol.obj.clear(ol.render.canvas.textHeights_);
-                            // Make sure that loaded fonts are picked up by Safari
-                            ol.render.canvas.measureContext_ = null;
-                            labelCache.clear();
-                        } else {
-                            ++checked[font];
-                            done = false;
-                        }
-                    }
-                }
-                if (done) {
-                    window.clearInterval(interval);
-                    interval = undefined;
-                }
-            }
-
-            return function(fontSpec) {
-                var fontFamilies = ol.css.getFontFamilies(fontSpec);
-                if (!fontFamilies) {
-                    return;
-                }
-                for (var i = 0, ii = fontFamilies.length; i < ii; ++i) {
-                    var fontFamily = fontFamilies[i];
-                    if (!(fontFamily in checked)) {
-                        checked[fontFamily] = retries;
-                        if (!isAvailable(fontFamily)) {
-                            checked[fontFamily] = 0;
-                            if (interval === undefined) {
-                                interval = window.setInterval(check, 32);
-                            }
-                        }
-                    }
-                }
-            };
-        })();
-
-
-        /**
-         * @return {CanvasRenderingContext2D} Measure context.
-         */
-        ol.render.canvas.getMeasureContext = function() {
-            var context = ol.render.canvas.measureContext_;
-            if (!context) {
-                context = ol.render.canvas.measureContext_ = ol.dom.createCanvasContext2D(1, 1);
-            }
-            return context;
-        };
-
-
-        /**
-         * @param {string} font Font to use for measuring.
-         * @return {ol.Size} Measurement.
-         */
-        ol.render.canvas.measureTextHeight = (function() {
-            var heights = ol.render.canvas.textHeights_;
-            return function(font) {
-                var height = heights[font];
-                if (height == undefined) {
-    //                if (!span) {
-    //                    span = document.createElement('span');
-    //                    span.textContent = 'M';
-    //                    span.style.margin = span.style.padding = '0 !important';
-    //                    span.style.position = 'absolute !important';
-    //                    span.style.left = '-99999px !important';
-    //                }
-    //                span.style.font = font;
-    //                document.body.appendChild(span);
-    //                height = heights[font] = span.offsetHeight;
-    //                document.body.removeChild(span);
-                    height = heights[font] = 19; // FIXME sunyl
-                }
-                return height;
-            };
-        })();
-
-
-        /**
-         * @param {string} font Font.
-         * @param {string} text Text.
-         * @return {number} Width.
-         */
-        ol.render.canvas.measureTextWidth = function(font, text) {
-            var measureContext = ol.render.canvas.getMeasureContext();
-            if (font != measureContext.font) {
-                measureContext.font = font;
-            }
-            return measureContext.measureText(text).width;
-        };
-
-
-        /**
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {number} rotation Rotation.
-         * @param {number} offsetX X offset.
-         * @param {number} offsetY Y offset.
-         */
-        ol.render.canvas.rotateAtOffset = function(context, rotation, offsetX, offsetY) {
-            if (rotation !== 0) {
-                context.translate(offsetX, offsetY);
-                context.rotate(rotation);
-                context.translate(-offsetX, -offsetY);
-            }
-        };
-
-
-        ol.render.canvas.resetTransform_ = ol.transform.create();
-
-
-        /**
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {ol.Transform|null} transform Transform.
-         * @param {number} opacity Opacity.
-         * @param {HTMLImageElement|HTMLCanvasElement|HTMLVideoElement} image Image.
-         * @param {number} originX Origin X.
-         * @param {number} originY Origin Y.
-         * @param {number} w Width.
-         * @param {number} h Height.
-         * @param {number} x X.
-         * @param {number} y Y.
-         * @param {number} scale Scale.
-         */
-        ol.render.canvas.drawImage = function(context,
-                                              transform, opacity, image, originX, originY, w, h, x, y, scale) {
-            var alpha;
-            if (opacity != 1) {
-                alpha = context.globalAlpha;
-                context.globalAlpha = alpha * opacity;
-            }
-            if (transform) {
-                context.setTransform.apply(context, transform);
-            }
-
-            context.drawImage(image, originX, originY, w, h, x, y, w * scale, h * scale);
-
-            if (alpha) {
-                context.globalAlpha = alpha;
-            }
-            if (transform) {
-                context.setTransform.apply(context, ol.render.canvas.resetTransform_);
-            }
-        };
-
-
-        /**
-         * @enum {number}
-         */
-        ol.render.canvas.Instruction = {
-            BEGIN_GEOMETRY: 0,
-            BEGIN_PATH: 1,
-            CIRCLE: 2,
-            CLOSE_PATH: 3,
-            CUSTOM: 4,
-            DRAW_CHARS: 5,
-            DRAW_IMAGE: 6,
-            END_GEOMETRY: 7,
-            FILL: 8,
-            MOVE_TO_LINE_TO: 9,
-            SET_FILL_STYLE: 10,
-            SET_STROKE_STYLE: 11,
-            STROKE: 12
-        };
-
-        ol.render.replay = {};
-
-        ol.render.replay.ORDER = [
-            ol.render.ReplayType.POLYGON,
-            ol.render.ReplayType.CIRCLE,
-            ol.render.ReplayType.LINE_STRING,
-            ol.render.ReplayType.IMAGE,
-            ol.render.ReplayType.TEXT,
-            ol.render.ReplayType.DEFAULT
-        ];
-
-        ol.render.replay.TEXT_ALIGN = {};
-        ol.render.replay.TEXT_ALIGN['left'] = 0;
-        ol.render.replay.TEXT_ALIGN['end'] = 0;
-        ol.render.replay.TEXT_ALIGN['center'] = 0.5;
-        ol.render.replay.TEXT_ALIGN['right'] = 1;
-        ol.render.replay.TEXT_ALIGN['start'] = 1;
-        ol.render.replay.TEXT_ALIGN['top'] = 0;
-        ol.render.replay.TEXT_ALIGN['middle'] = 0.5;
-        ol.render.replay.TEXT_ALIGN['hanging'] = 0.2;
-        ol.render.replay.TEXT_ALIGN['alphabetic'] = 0.8;
-        ol.render.replay.TEXT_ALIGN['ideographic'] = 0.8;
-        ol.render.replay.TEXT_ALIGN['bottom'] = 1;
-
-
-        ol.render.canvas.Replay = function(tolerance, maxExtent, resolution, pixelRatio, overlaps, declutterTree) {
-            ol.render.VectorContext.call(this);
-
-            /**
-             * @type {?}
-             */
-            this.declutterTree = declutterTree;
-
-            /**
-             * @private
-             * @type {ol.Extent}
-             */
-            this.tmpExtent_ = ol.extent.createEmpty();
-
-            /**
-             * @protected
-             * @type {number}
-             */
-            this.tolerance = tolerance;
-
-            /**
-             * @protected
-             * @const
-             * @type {ol.Extent}
-             */
-            this.maxExtent = maxExtent;
-
-            /**
-             * @protected
-             * @type {boolean}
-             */
-            this.overlaps = overlaps;
-
-            /**
-             * @protected
-             * @type {number}
-             */
-            this.pixelRatio = pixelRatio;
-
-            /**
-             * @protected
-             * @type {number}
-             */
-            this.maxLineWidth = 0;
-
-            /**
-             * @protected
-             * @const
-             * @type {number}
-             */
-            this.resolution = resolution;
-
-            /**
-             * @private
-             * @type {ol.Coordinate}
-             */
-            this.fillOrigin_;
-
-            /**
-             * @private
-             * @type {Array.<*>}
-             */
-            this.beginGeometryInstruction1_ = null;
-
-            /**
-             * @private
-             * @type {Array.<*>}
-             */
-            this.beginGeometryInstruction2_ = null;
-
-            /**
-             * @private
-             * @type {ol.Extent}
-             */
-            this.bufferedMaxExtent_ = null;
-
-            /**
-             * @protected
-             * @type {Array.<*>}
-             */
-            this.instructions = [];
-
-            /**
-             * @protected
-             * @type {Array.<number>}
-             */
-            this.coordinates = [];
-
-            /**
-             * @private
-             * @type {Object.<number,ol.Coordinate|Array.<ol.Coordinate>|Array.<Array.<ol.Coordinate>>>}
-             */
-            this.coordinateCache_ = {};
-
-            /**
-             * @private
-             * @type {!ol.Transform}
-             */
-            this.renderedTransform_ = ol.transform.create();
-
-            /**
-             * @protected
-             * @type {Array.<*>}
-             */
-            this.hitDetectionInstructions = [];
-
-            /**
-             * @private
-             * @type {Array.<number>}
-             */
-            this.pixelCoordinates_ = null;
-
-            /**
-             * @protected
-             * @type {ol.CanvasFillStrokeState}
-             */
-            this.state = /** @type {ol.CanvasFillStrokeState} */ ({});
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.viewRotation_ = 0;
-
-            /**
-             * @private
-             * @type {!ol.Transform}
-             */
-            this.tmpLocalTransform_ = ol.transform.create();
-
-            /**
-             * @private
-             * @type {!ol.Transform}
-             */
-            this.resetTransform_ = ol.transform.create();
-        };
-        ol.inherits(ol.render.canvas.Replay, ol.render.VectorContext);
-
-
-        /**
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {ol.Coordinate} p1 1st point of the background box.
-         * @param {ol.Coordinate} p2 2nd point of the background box.
-         * @param {ol.Coordinate} p3 3rd point of the background box.
-         * @param {ol.Coordinate} p4 4th point of the background box.
-         * @param {Array.<*>} fillInstruction Fill instruction.
-         * @param {Array.<*>} strokeInstruction Stroke instruction.
-         */
-        ol.render.canvas.Replay.prototype.replayTextBackground_ = function(context, p1, p2, p3, p4,
-                                                                           fillInstruction, strokeInstruction) {
-            context.beginPath();
-            context.moveTo.apply(context, p1);
-            context.lineTo.apply(context, p2);
-            context.lineTo.apply(context, p3);
-            context.lineTo.apply(context, p4);
-            context.lineTo.apply(context, p1);
-            if (fillInstruction) {
-                this.fillOrigin_ = /** @type {Array.<number>} */ (fillInstruction[2]);
-                this.fill_(context);
-            }
-            if (strokeInstruction) {
-                this.setStrokeStyle_(context, /** @type {Array.<*>} */ (strokeInstruction));
-                context.stroke();
-            }
-        };
-
-
-        /**
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {number} x X.
-         * @param {number} y Y.
-         * @param {HTMLImageElement|HTMLCanvasElement|HTMLVideoElement} image Image.
-         * @param {number} anchorX Anchor X.
-         * @param {number} anchorY Anchor Y.
-         * @param {ol.DeclutterGroup} declutterGroup Declutter group.
-         * @param {number} height Height.
-         * @param {number} opacity Opacity.
-         * @param {number} originX Origin X.
-         * @param {number} originY Origin Y.
-         * @param {number} rotation Rotation.
-         * @param {number} scale Scale.
-         * @param {boolean} snapToPixel Snap to pixel.
-         * @param {number} width Width.
-         * @param {Array.<number>} padding Padding.
-         * @param {Array.<*>} fillInstruction Fill instruction.
-         * @param {Array.<*>} strokeInstruction Stroke instruction.
-         */
-        ol.render.canvas.Replay.prototype.replayImage_ = function(context, x, y, image,
-                                                                  anchorX, anchorY, declutterGroup, height, opacity, originX, originY,
-                                                                  rotation, scale, snapToPixel, width, padding, fillInstruction, strokeInstruction) {
-            var fillStroke = fillInstruction || strokeInstruction;
-            var localTransform = this.tmpLocalTransform_;
-            anchorX *= scale;
-            anchorY *= scale;
-            x -= anchorX;
-            y -= anchorY;
-            if (snapToPixel) {
-                x = Math.round(x);
-                y = Math.round(y);
-            }
-
-            var w = (width + originX > image.width) ? image.width - originX : width;
-            var h = (height + originY > image.height) ? image.height - originY : height;
-            var box = this.tmpExtent_;
-            var boxW = padding[3] + w * scale + padding[1];
-            var boxH = padding[0] + h * scale + padding[2];
-            var boxX = x - padding[3];
-            var boxY = y - padding[0];
-
-            /** @type {ol.Coordinate} */
-            var p1;
-            /** @type {ol.Coordinate} */
-            var p2;
-            /** @type {ol.Coordinate} */
-            var p3;
-            /** @type {ol.Coordinate} */
-            var p4;
-            if (fillStroke || rotation !== 0) {
-                p1 = [boxX, boxY];
-                p2 = [boxX + boxW, boxY];
-                p3 = [boxX + boxW, boxY + boxH];
-                p4 = [boxX, boxY + boxH];
-            }
-
-            var transform = null;
-            if (rotation !== 0) {
-                var centerX = x + anchorX;
-                var centerY = y + anchorY;
-                transform = ol.transform.compose(localTransform,
-                    centerX, centerY, 1, 1, rotation, -centerX, -centerY);
-
-                ol.extent.createOrUpdateEmpty(box);
-                ol.extent.extendCoordinate(box, ol.transform.apply(localTransform, p1));
-                ol.extent.extendCoordinate(box, ol.transform.apply(localTransform, p2));
-                ol.extent.extendCoordinate(box, ol.transform.apply(localTransform, p3));
-                ol.extent.extendCoordinate(box, ol.transform.apply(localTransform, p4));
-            } else {
-                ol.extent.createOrUpdate(boxX, boxY, boxX + boxW, boxY + boxH, box);
-            }
-            var canvas = context.canvas;
-            var intersects = box[0] <= canvas.width && box[2] >= 0 && box[1] <= canvas.height && box[3] >= 0;
-            if (declutterGroup) {
-                if (!intersects && declutterGroup[4] == 1) {
-                    return;
-                }
-                ol.extent.extend(declutterGroup, box);
-                var declutterArgs = intersects ?
-                    [context, transform ? transform.slice(0) : null, opacity, image, originX, originY, w, h, x, y, scale] :
-                    null;
-                if (declutterArgs && fillStroke) {
-                    declutterArgs.push(fillInstruction, strokeInstruction, p1, p2, p3, p4);
-                }
-                declutterGroup.push(declutterArgs);
-            } else if (intersects) {
-                if (fillStroke) {
-                    this.replayTextBackground_(context, p1, p2, p3, p4,
-                        /** @type {Array.<*>} */ (fillInstruction),
-                        /** @type {Array.<*>} */ (strokeInstruction));
-                }
-                ol.render.canvas.drawImage(context, transform, opacity, image, originX, originY, w, h, x, y, scale);
-            }
-        };
-
-
-        /**
-         * @protected
-         * @param {Array.<number>} dashArray Dash array.
-         * @return {Array.<number>} Dash array with pixel ratio applied
-         */
-        ol.render.canvas.Replay.prototype.applyPixelRatio = function(dashArray) {
-            var pixelRatio = this.pixelRatio;
-            return pixelRatio == 1 ? dashArray : dashArray.map(function(dash) {
-                return dash * pixelRatio;
-            });
-        };
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @param {boolean} closed Last input coordinate equals first.
-         * @param {boolean} skipFirst Skip first coordinate.
-         * @protected
-         * @return {number} My end.
-         */
-        ol.render.canvas.Replay.prototype.appendFlatCoordinates = function(flatCoordinates, offset, end, stride, closed, skipFirst) {
-
-            var myEnd = this.coordinates.length;
-            var extent = this.getBufferedMaxExtent();
-            if (skipFirst) {
-                offset += stride;
-            }
-            var lastCoord = [flatCoordinates[offset], flatCoordinates[offset + 1]];
-            var nextCoord = [NaN, NaN];
-            var skipped = true;
-
-            var i, lastRel, nextRel;
-            for (i = offset + stride; i < end; i += stride) {
-                nextCoord[0] = flatCoordinates[i];
-                nextCoord[1] = flatCoordinates[i + 1];
-                nextRel = ol.extent.coordinateRelationship(extent, nextCoord);
-                if (nextRel !== lastRel) {
-                    if (skipped) {
-                        this.coordinates[myEnd++] = lastCoord[0];
-                        this.coordinates[myEnd++] = lastCoord[1];
-                    }
-                    this.coordinates[myEnd++] = nextCoord[0];
-                    this.coordinates[myEnd++] = nextCoord[1];
-                    skipped = false;
-                } else if (nextRel === ol.extent.Relationship.INTERSECTING) {
-                    this.coordinates[myEnd++] = nextCoord[0];
-                    this.coordinates[myEnd++] = nextCoord[1];
-                    skipped = false;
-                } else {
-                    skipped = true;
-                }
-                lastCoord[0] = nextCoord[0];
-                lastCoord[1] = nextCoord[1];
-                lastRel = nextRel;
-            }
-
-            // Last coordinate equals first or only one point to append:
-            if ((closed && skipped) || i === offset + stride) {
-                this.coordinates[myEnd++] = lastCoord[0];
-                this.coordinates[myEnd++] = lastCoord[1];
-            }
-            return myEnd;
-        };
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<number>} ends Ends.
-         * @param {number} stride Stride.
-         * @param {Array.<number>} replayEnds Replay ends.
-         * @return {number} Offset.
-         */
-        ol.render.canvas.Replay.prototype.drawCustomCoordinates_ = function(flatCoordinates, offset, ends, stride, replayEnds) {
-            for (var i = 0, ii = ends.length; i < ii; ++i) {
-                var end = ends[i];
-                var replayEnd = this.appendFlatCoordinates(flatCoordinates, offset, end, stride, false, false);
-                replayEnds.push(replayEnd);
-                offset = end;
-            }
-            return offset;
-        };
-
-
-        /**
-         * @inheritDoc.
-         */
-        ol.render.canvas.Replay.prototype.drawCustom = function(geometry, feature, renderer) {
-            this.beginGeometry(geometry, feature);
-            var type = geometry.getType();
-            var stride = geometry.getStride();
-            var replayBegin = this.coordinates.length;
-            var flatCoordinates, replayEnd, replayEnds, replayEndss;
-            var offset;
-            if (type == ol.geom.GeometryType.MULTI_POLYGON) {
-                geometry = /** @type {ol.geom.MultiPolygon} */ (geometry);
-                flatCoordinates = geometry.getOrientedFlatCoordinates();
-                replayEndss = [];
-                var endss = geometry.getEndss();
-                offset = 0;
-                for (var i = 0, ii = endss.length; i < ii; ++i) {
-                    var myEnds = [];
-                    offset = this.drawCustomCoordinates_(flatCoordinates, offset, endss[i], stride, myEnds);
-                    replayEndss.push(myEnds);
-                }
-                this.instructions.push([ol.render.canvas.Instruction.CUSTOM,
-                    replayBegin, replayEndss, geometry, renderer, ol.geom.flat.inflate.coordinatesss]);
-            } else if (type == ol.geom.GeometryType.POLYGON || type == ol.geom.GeometryType.MULTI_LINE_STRING) {
-                replayEnds = [];
-                flatCoordinates = (type == ol.geom.GeometryType.POLYGON) ?
-                /** @type {ol.geom.Polygon} */ (geometry).getOrientedFlatCoordinates() :
-                    geometry.getFlatCoordinates();
-                offset = this.drawCustomCoordinates_(flatCoordinates, 0,
-                    /** @type {ol.geom.Polygon|ol.geom.MultiLineString} */ (geometry).getEnds(),
-                    stride, replayEnds);
-                this.instructions.push([ol.render.canvas.Instruction.CUSTOM,
-                    replayBegin, replayEnds, geometry, renderer, ol.geom.flat.inflate.coordinatess]);
-            } else if (type == ol.geom.GeometryType.LINE_STRING || type == ol.geom.GeometryType.MULTI_POINT) {
-                flatCoordinates = geometry.getFlatCoordinates();
-                replayEnd = this.appendFlatCoordinates(
-                    flatCoordinates, 0, flatCoordinates.length, stride, false, false);
-                this.instructions.push([ol.render.canvas.Instruction.CUSTOM,
-                    replayBegin, replayEnd, geometry, renderer, ol.geom.flat.inflate.coordinates]);
-            } else if (type == ol.geom.GeometryType.POINT) {
-                flatCoordinates = geometry.getFlatCoordinates();
-                this.coordinates.push(flatCoordinates[0], flatCoordinates[1]);
-                replayEnd = this.coordinates.length;
-                this.instructions.push([ol.render.canvas.Instruction.CUSTOM,
-                    replayBegin, replayEnd, geometry, renderer]);
-            }
-            this.endGeometry(geometry, feature);
-        };
-
-
-        /**
-         * @protected
-         * @param {ol.geom.Geometry|ol.render.Feature} geometry Geometry.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         */
-        ol.render.canvas.Replay.prototype.beginGeometry = function(geometry, feature) {
-            this.beginGeometryInstruction1_ =
-                [ol.render.canvas.Instruction.BEGIN_GEOMETRY, feature, 0];
-            this.instructions.push(this.beginGeometryInstruction1_);
-            this.beginGeometryInstruction2_ =
-                [ol.render.canvas.Instruction.BEGIN_GEOMETRY, feature, 0];
-            this.hitDetectionInstructions.push(this.beginGeometryInstruction2_);
-        };
-
-
-        /**
-         * @private
-         * @param {CanvasRenderingContext2D} context Context.
-         */
-        ol.render.canvas.Replay.prototype.fill_ = function(context) {
-            if (this.fillOrigin_) {
-                var origin = ol.transform.apply(this.renderedTransform_, this.fillOrigin_.slice());
-                context.translate(origin[0], origin[1]);
-                context.rotate(this.viewRotation_);
-            }
-            context.fill();
-            if (this.fillOrigin_) {
-                context.setTransform.apply(context, ol.render.canvas.resetTransform_);
-            }
-        };
-
-
-        /**
-         * @private
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {Array.<*>} instruction Instruction.
-         */
-        ol.render.canvas.Replay.prototype.setStrokeStyle_ = function(context, instruction) {
-            context.strokeStyle = /** @type {ol.ColorLike} */ (instruction[1]);
-            context.lineWidth = /** @type {number} */ (instruction[2]);
-            context.lineCap = /** @type {string} */ (instruction[3]);
-            context.lineJoin = /** @type {string} */ (instruction[4]);
-            context.miterLimit = /** @type {number} */ (instruction[5]);
-            if (ol.has.CANVAS_LINE_DASH) {
-                context.lineDashOffset = /** @type {number} */ (instruction[7]);
-                context.setLineDash(/** @type {Array.<number>} */ (instruction[6]));
-            }
-        };
-
-
-        /**
-         * @param {ol.DeclutterGroup} declutterGroup Declutter group.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         */
-        ol.render.canvas.Replay.prototype.renderDeclutter_ = function(declutterGroup, feature) {
-            if (declutterGroup && declutterGroup.length > 5) {
-                var groupCount = declutterGroup[4];
-                if (groupCount == 1 || groupCount == declutterGroup.length - 5) {
-                    /** @type {ol.RBushEntry} */
-                    var box = {
-                        minX: /** @type {number} */ (declutterGroup[0]),
-                        minY: /** @type {number} */ (declutterGroup[1]),
-                        maxX: /** @type {number} */ (declutterGroup[2]),
-                        maxY: /** @type {number} */ (declutterGroup[3]),
-                        value: feature
-                    };
-                    if (!this.declutterTree.collides(box)) {
-                        this.declutterTree.insert(box);
-                        var drawImage = ol.render.canvas.drawImage;
-                        for (var j = 5, jj = declutterGroup.length; j < jj; ++j) {
-                            var declutterData = /** @type {Array} */ (declutterGroup[j]);
-                            if (declutterData) {
-                                if (declutterData.length > 11) {
-                                    this.replayTextBackground_(declutterData[0],
-                                        declutterData[13], declutterData[14], declutterData[15], declutterData[16],
-                                        declutterData[11], declutterData[12]);
-                                }
-                                drawImage.apply(undefined, declutterData);
-                            }
-                        }
-                    }
-                    declutterGroup.length = 5;
-                    ol.extent.createOrUpdateEmpty(declutterGroup);
-                }
-            }
-        };
-
-
-        /**
-         * @private
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {ol.Transform} transform Transform.
-         * @param {Object.<string, boolean>} skippedFeaturesHash Ids of features
-         *     to skip.
-         * @param {Array.<*>} instructions Instructions array.
-         * @param {function((ol.Feature|ol.render.Feature)): T|undefined}
-         *     featureCallback Feature callback.
-         * @param {ol.Extent=} opt_hitExtent Only check features that intersect this
-         *     extent.
-         * @return {T|undefined} Callback result.
-         * @template T
-         */
-        ol.render.canvas.Replay.prototype.replay_ = function(
-            context, transform, skippedFeaturesHash,
-            instructions, featureCallback, opt_hitExtent) {
-            /** @type {Array.<number>} */
-            var pixelCoordinates;
-            if (this.pixelCoordinates_ && ol.array.equals(transform, this.renderedTransform_)) {
-                pixelCoordinates = this.pixelCoordinates_;
-            } else {
-                if (!this.pixelCoordinates_) {
-                    this.pixelCoordinates_ = [];
-                }
-                pixelCoordinates = ol.geom.flat.transform.transform2D(
-                    this.coordinates, 0, this.coordinates.length, 2,
-                    transform, this.pixelCoordinates_);
-                ol.transform.setFromArray(this.renderedTransform_, transform);
-            }
-            var skipFeatures = !ol.obj.isEmpty(skippedFeaturesHash);
-            var i = 0; // instruction index
-            var ii = instructions.length; // end of instructions
-            var d = 0; // data index
-            var dd; // end of per-instruction data
-            var anchorX, anchorY, prevX, prevY, roundX, roundY, declutterGroup, image;
-            var pendingFill = 0;
-            var pendingStroke = 0;
-            var lastFillInstruction = null;
-            var lastStrokeInstruction = null;
-            var coordinateCache = this.coordinateCache_;
-            var viewRotation = this.viewRotation_;
-
-            var state = /** @type {olx.render.State} */ ({
-                context: context,
-                pixelRatio: this.pixelRatio,
-                resolution: this.resolution,
-                rotation: viewRotation
-            });
-
-            // When the batch size gets too big, performance decreases. 200 is a good
-            // balance between batch size and number of fill/stroke instructions.
-            var batchSize =
-                this.instructions != instructions || this.overlaps ? 0 : 200;
-            while (i < ii) {
-                var instruction = instructions[i];
-                var type = /** @type {ol.render.canvas.Instruction} */ (instruction[0]);
-                var /** @type {ol.Feature|ol.render.Feature} */ feature, x, y;
-                switch (type) {
-                    case ol.render.canvas.Instruction.BEGIN_GEOMETRY:
-                        feature = /** @type {ol.Feature|ol.render.Feature} */ (instruction[1]);
-                        if ((skipFeatures &&
-                            skippedFeaturesHash[ol.getUid(feature).toString()]) ||
-                            !feature.getGeometry()) {
-                            i = /** @type {number} */ (instruction[2]);
-                        } else if (opt_hitExtent !== undefined && !ol.extent.intersects(
-                            opt_hitExtent, feature.getGeometry().getExtent())) {
-                            i = /** @type {number} */ (instruction[2]) + 1;
-                        } else {
-                            ++i;
-                        }
-                        break;
-                    case ol.render.canvas.Instruction.BEGIN_PATH:
-                        if (pendingFill > batchSize) {
-                            this.fill_(context);
-                            pendingFill = 0;
-                        }
-                        if (pendingStroke > batchSize) {
-                            context.stroke();
-                            pendingStroke = 0;
-                        }
-                        if (!pendingFill && !pendingStroke) {
-                            context.beginPath();
-                            prevX = prevY = NaN;
-                        }
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.CIRCLE:
-                        d = /** @type {number} */ (instruction[1]);
-                        var x1 = pixelCoordinates[d];
-                        var y1 = pixelCoordinates[d + 1];
-                        var x2 = pixelCoordinates[d + 2];
-                        var y2 = pixelCoordinates[d + 3];
-                        var dx = x2 - x1;
-                        var dy = y2 - y1;
-                        var r = Math.sqrt(dx * dx + dy * dy);
-                        context.moveTo(x1 + r, y1);
-                        context.arc(x1, y1, r, 0, 2 * Math.PI, true);
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.CLOSE_PATH:
-                        context.closePath();
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.CUSTOM:
-                        d = /** @type {number} */ (instruction[1]);
-                        dd = instruction[2];
-                        var geometry = /** @type {ol.geom.SimpleGeometry} */ (instruction[3]);
-                        var renderer = instruction[4];
-                        var fn = instruction.length == 6 ? instruction[5] : undefined;
-                        state.geometry = geometry;
-                        state.feature = feature;
-                        if (!(i in coordinateCache)) {
-                            coordinateCache[i] = [];
-                        }
-                        var coords = coordinateCache[i];
-                        if (fn) {
-                            fn(pixelCoordinates, d, dd, 2, coords);
-                        } else {
-                            coords[0] = pixelCoordinates[d];
-                            coords[1] = pixelCoordinates[d + 1];
-                            coords.length = 2;
-                        }
-                        renderer(coords, state);
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.DRAW_IMAGE:
-                        d = /** @type {number} */ (instruction[1]);
-                        dd = /** @type {number} */ (instruction[2]);
-                        image =  /** @type {HTMLCanvasElement|HTMLVideoElement|Image} */
-                            (instruction[3]);
-                        // Remaining arguments in DRAW_IMAGE are in alphabetical order
-                        anchorX = /** @type {number} */ (instruction[4]);
-                        anchorY = /** @type {number} */ (instruction[5]);
-                        declutterGroup = featureCallback ? null : /** @type {ol.DeclutterGroup} */ (instruction[6]);
-                        var height = /** @type {number} */ (instruction[7]);
-                        var opacity = /** @type {number} */ (instruction[8]);
-                        var originX = /** @type {number} */ (instruction[9]);
-                        var originY = /** @type {number} */ (instruction[10]);
-                        var rotateWithView = /** @type {boolean} */ (instruction[11]);
-                        var rotation = /** @type {number} */ (instruction[12]);
-                        var scale = /** @type {number} */ (instruction[13]);
-                        var snapToPixel = /** @type {boolean} */ (instruction[14]);
-                        var width = /** @type {number} */ (instruction[15]);
-
-                        var padding, backgroundFill, backgroundStroke;
-                        if (instruction.length > 16) {
-                            padding = /** @type {Array.<number>} */ (instruction[16]);
-                            backgroundFill = /** @type {boolean} */ (instruction[17]);
-                            backgroundStroke = /** @type {boolean} */ (instruction[18]);
-                        } else {
-                            padding = ol.render.canvas.defaultPadding;
-                            backgroundFill = backgroundStroke = false;
-                        }
-
-                        if (rotateWithView) {
-                            rotation += viewRotation;
-                        }
-                        for (; d < dd; d += 2) {
-                            this.replayImage_(context,
-                                pixelCoordinates[d], pixelCoordinates[d + 1], image, anchorX, anchorY,
-                                declutterGroup, height, opacity, originX, originY, rotation, scale,
-                                snapToPixel, width, padding,
-                                backgroundFill ? /** @type {Array.<*>} */ (lastFillInstruction) : null,
-                                backgroundStroke ? /** @type {Array.<*>} */ (lastStrokeInstruction) : null);
-                        }
-                        this.renderDeclutter_(declutterGroup, feature);
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.DRAW_CHARS:
-                        var begin = /** @type {number} */ (instruction[1]);
-                        var end = /** @type {number} */ (instruction[2]);
-                        var baseline = /** @type {number} */ (instruction[3]);
-                        declutterGroup = featureCallback ? null : /** @type {ol.DeclutterGroup} */ (instruction[4]);
-                        var overflow = /** @type {number} */ (instruction[5]);
-                        var fillKey = /** @type {string} */ (instruction[6]);
-                        var maxAngle = /** @type {number} */ (instruction[7]);
-                        var measure = /** @type {function(string):number} */ (instruction[8]);
-                        var offsetY = /** @type {number} */ (instruction[9]);
-                        var strokeKey = /** @type {string} */ (instruction[10]);
-                        var strokeWidth =  /** @type {number} */ (instruction[11]);
-                        var text = /** @type {string} */ (instruction[12]);
-                        var textKey = /** @type {string} */ (instruction[13]);
-                        var textScale = /** @type {number} */ (instruction[14]);
-
-                        var pathLength = ol.geom.flat.length.lineString(pixelCoordinates, begin, end, 2);
-                        var textLength = measure(text);
-                        if (overflow || textLength <= pathLength) {
-                            var textAlign = /** @type {ol.render.canvas.TextReplay} */ (this).textStates[textKey].textAlign;
-                            var startM = (pathLength - textLength) * ol.render.replay.TEXT_ALIGN[textAlign];
-                            var parts = ol.geom.flat.textpath.lineString(
-                                pixelCoordinates, begin, end, 2, text, measure, startM, maxAngle);
-                            if (parts) {
-                                var c, cc, chars, label, part;
-                                if (strokeKey) {
-                                    for (c = 0, cc = parts.length; c < cc; ++c) {
-                                        part = parts[c]; // x, y, anchorX, rotation, chunk
-                                        chars = /** @type {string} */ (part[4]);
-                                        label = /** @type {ol.render.canvas.TextReplay} */ (this).getImage(chars, textKey, '', strokeKey);
-                                        anchorX = /** @type {number} */ (part[2]) + strokeWidth;
-                                        anchorY = baseline * label.height + (0.5 - baseline) * 2 * strokeWidth - offsetY;
-                                        this.replayImage_(context,
-                                            /** @type {number} */ (part[0]), /** @type {number} */ (part[1]), label,
-                                            anchorX, anchorY, declutterGroup, label.height, 1, 0, 0,
-                                            /** @type {number} */ (part[3]), textScale, false, label.width,
-                                            ol.render.canvas.defaultPadding, null, null);
-                                    }
-                                }
-                                if (fillKey) {
-                                    for (c = 0, cc = parts.length; c < cc; ++c) {
-                                        part = parts[c]; // x, y, anchorX, rotation, chunk
-                                        chars = /** @type {string} */ (part[4]);
-                                        label = /** @type {ol.render.canvas.TextReplay} */ (this).getImage(chars, textKey, fillKey, '');
-                                        anchorX = /** @type {number} */ (part[2]);
-                                        anchorY = baseline * label.height - offsetY;
-                                        this.replayImage_(context,
-                                            /** @type {number} */ (part[0]), /** @type {number} */ (part[1]), label,
-                                            anchorX, anchorY, declutterGroup, label.height, 1, 0, 0,
-                                            /** @type {number} */ (part[3]), textScale, false, label.width,
-                                            ol.render.canvas.defaultPadding, null, null);
-                                    }
-                                }
-                            }
-                        }
-                        this.renderDeclutter_(declutterGroup, feature);
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.END_GEOMETRY:
-                        if (featureCallback !== undefined) {
-                            feature = /** @type {ol.Feature|ol.render.Feature} */ (instruction[1]);
-                            var result = featureCallback(feature);
-                            if (result) {
-                                return result;
-                            }
-                        }
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.FILL:
-                        if (batchSize) {
-                            pendingFill++;
-                        } else {
-                            this.fill_(context);
-                        }
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.MOVE_TO_LINE_TO:
-                        d = /** @type {number} */ (instruction[1]);
-                        dd = /** @type {number} */ (instruction[2]);
-                        x = pixelCoordinates[d];
-                        y = pixelCoordinates[d + 1];
-                        roundX = (x + 0.5) | 0;
-                        roundY = (y + 0.5) | 0;
-                        if (roundX !== prevX || roundY !== prevY) {
-                            context.moveTo(x, y);
-                            prevX = roundX;
-                            prevY = roundY;
-                        }
-                        for (d += 2; d < dd; d += 2) {
-                            x = pixelCoordinates[d];
-                            y = pixelCoordinates[d + 1];
-                            roundX = (x + 0.5) | 0;
-                            roundY = (y + 0.5) | 0;
-                            if (d == dd - 2 || roundX !== prevX || roundY !== prevY) {
-                                context.lineTo(x, y);
-                                prevX = roundX;
-                                prevY = roundY;
-                            }
-                        }
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.SET_FILL_STYLE:
-                        lastFillInstruction = instruction;
-                        this.fillOrigin_ = instruction[2];
-
-                        if (pendingFill) {
-                            this.fill_(context);
-                            pendingFill = 0;
-                            if (pendingStroke) {
-                                context.stroke();
-                                pendingStroke = 0;
-                            }
-                        }
-
-                        context.fillStyle = /** @type {ol.ColorLike} */ (instruction[1]);
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.SET_STROKE_STYLE:
-                        lastStrokeInstruction = instruction;
-                        if (pendingStroke) {
-                            context.stroke();
-                            pendingStroke = 0;
-                        }
-                        this.setStrokeStyle_(context, /** @type {Array.<*>} */ (instruction));
-                        ++i;
-                        break;
-                    case ol.render.canvas.Instruction.STROKE:
-                        if (batchSize) {
-                            pendingStroke++;
-                        } else {
-                            context.stroke();
-                        }
-                        ++i;
-                        break;
-                    default:
-                        ++i; // consume the instruction anyway, to avoid an infinite loop
-                        break;
-                }
-            }
-            if (pendingFill) {
-                this.fill_(context);
-            }
-            if (pendingStroke) {
-                context.stroke();
-            }
-            return undefined;
-        };
-
-
-        /**
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {ol.Transform} transform Transform.
-         * @param {number} viewRotation View rotation.
-         * @param {Object.<string, boolean>} skippedFeaturesHash Ids of features
-         *     to skip.
-         */
-        ol.render.canvas.Replay.prototype.replay = function(
-            context, transform, viewRotation, skippedFeaturesHash) {
-            this.viewRotation_ = viewRotation;
-            this.replay_(context, transform,
-                skippedFeaturesHash, this.instructions, undefined, undefined);
-        };
-
-
-        /**
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {ol.Transform} transform Transform.
-         * @param {number} viewRotation View rotation.
-         * @param {Object.<string, boolean>} skippedFeaturesHash Ids of features
-         *     to skip.
-         * @param {function((ol.Feature|ol.render.Feature)): T=} opt_featureCallback
-         *     Feature callback.
-         * @param {ol.Extent=} opt_hitExtent Only check features that intersect this
-         *     extent.
-         * @return {T|undefined} Callback result.
-         * @template T
-         */
-        ol.render.canvas.Replay.prototype.replayHitDetection = function(
-            context, transform, viewRotation, skippedFeaturesHash,
-            opt_featureCallback, opt_hitExtent) {
-            this.viewRotation_ = viewRotation;
-            return this.replay_(context, transform, skippedFeaturesHash,
-                this.hitDetectionInstructions, opt_featureCallback, opt_hitExtent);
-        };
-
-
-        /**
-         * Reverse the hit detection instructions.
-         */
-        ol.render.canvas.Replay.prototype.reverseHitDetectionInstructions = function() {
-            var hitDetectionInstructions = this.hitDetectionInstructions;
-            // step 1 - reverse array
-            hitDetectionInstructions.reverse();
-            // step 2 - reverse instructions within geometry blocks
-            var i;
-            var n = hitDetectionInstructions.length;
-            var instruction;
-            var type;
-            var begin = -1;
-            for (i = 0; i < n; ++i) {
-                instruction = hitDetectionInstructions[i];
-                type = /** @type {ol.render.canvas.Instruction} */ (instruction[0]);
-                if (type == ol.render.canvas.Instruction.END_GEOMETRY) {
-                    begin = i;
-                } else if (type == ol.render.canvas.Instruction.BEGIN_GEOMETRY) {
-                    instruction[2] = i;
-                    ol.array.reverseSubArray(this.hitDetectionInstructions, begin, i);
-                    begin = -1;
-                }
-            }
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.Replay.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) {
-            var state = this.state;
-            if (fillStyle) {
-                var fillStyleColor = fillStyle.getColor();
-                state.fillStyle = ol.colorlike.asColorLike(fillStyleColor ?
-                    fillStyleColor : ol.render.canvas.defaultFillStyle);
-            } else {
-                state.fillStyle = undefined;
-            }
-            if (strokeStyle) {
-                var strokeStyleColor = strokeStyle.getColor();
-                state.strokeStyle = ol.colorlike.asColorLike(strokeStyleColor ?
-                    strokeStyleColor : ol.render.canvas.defaultStrokeStyle);
-                var strokeStyleLineCap = strokeStyle.getLineCap();
-                state.lineCap = strokeStyleLineCap !== undefined ?
-                    strokeStyleLineCap : ol.render.canvas.defaultLineCap;
-                var strokeStyleLineDash = strokeStyle.getLineDash();
-                state.lineDash = strokeStyleLineDash ?
-                    strokeStyleLineDash.slice() : ol.render.canvas.defaultLineDash;
-                var strokeStyleLineDashOffset = strokeStyle.getLineDashOffset();
-                state.lineDashOffset = strokeStyleLineDashOffset ?
-                    strokeStyleLineDashOffset : ol.render.canvas.defaultLineDashOffset;
-                var strokeStyleLineJoin = strokeStyle.getLineJoin();
-                state.lineJoin = strokeStyleLineJoin !== undefined ?
-                    strokeStyleLineJoin : ol.render.canvas.defaultLineJoin;
-                var strokeStyleWidth = strokeStyle.getWidth();
-                state.lineWidth = strokeStyleWidth !== undefined ?
-                    strokeStyleWidth : ol.render.canvas.defaultLineWidth;
-                var strokeStyleMiterLimit = strokeStyle.getMiterLimit();
-                state.miterLimit = strokeStyleMiterLimit !== undefined ?
-                    strokeStyleMiterLimit : ol.render.canvas.defaultMiterLimit;
-
-                if (state.lineWidth > this.maxLineWidth) {
-                    this.maxLineWidth = state.lineWidth;
-                    // invalidate the buffered max extent cache
-                    this.bufferedMaxExtent_ = null;
-                }
-            } else {
-                state.strokeStyle = undefined;
-                state.lineCap = undefined;
-                state.lineDash = null;
-                state.lineDashOffset = undefined;
-                state.lineJoin = undefined;
-                state.lineWidth = undefined;
-                state.miterLimit = undefined;
-            }
-        };
-
-
-        /**
-         * @param {ol.CanvasFillStrokeState} state State.
-         * @param {ol.geom.Geometry|ol.render.Feature} geometry Geometry.
-         */
-        ol.render.canvas.Replay.prototype.applyFill = function(state, geometry) {
-            var fillStyle = state.fillStyle;
-            var fillInstruction = [ol.render.canvas.Instruction.SET_FILL_STYLE, fillStyle];
-            if (typeof fillStyle !== 'string') {
-                var fillExtent = geometry.getExtent();
-                fillInstruction.push([fillExtent[0], fillExtent[3]]);
-            }
-            this.instructions.push(fillInstruction);
-        };
-
-
-        /**
-         * @param {ol.CanvasFillStrokeState} state State.
-         */
-        ol.render.canvas.Replay.prototype.applyStroke = function(state) {
-            this.instructions.push([
-                ol.render.canvas.Instruction.SET_STROKE_STYLE,
-                state.strokeStyle, state.lineWidth * this.pixelRatio, state.lineCap,
-                state.lineJoin, state.miterLimit,
-                this.applyPixelRatio(state.lineDash), state.lineDashOffset * this.pixelRatio
-            ]);
-        };
-
-
-        /**
-         * @param {ol.CanvasFillStrokeState} state State.
-         * @param {function(this:ol.render.canvas.Replay, ol.CanvasFillStrokeState, (ol.geom.Geometry|ol.render.Feature))} applyFill Apply fill.
-         * @param {ol.geom.Geometry|ol.render.Feature} geometry Geometry.
-         */
-        ol.render.canvas.Replay.prototype.updateFillStyle = function(state, applyFill, geometry) {
-            var fillStyle = state.fillStyle;
-            if (typeof fillStyle !== 'string' || state.currentFillStyle != fillStyle) {
-                applyFill.call(this, state, geometry);
-                state.currentFillStyle = fillStyle;
-            }
-        };
-
-
-        /**
-         * @param {ol.CanvasFillStrokeState} state State.
-         * @param {function(this:ol.render.canvas.Replay, ol.CanvasFillStrokeState)} applyStroke Apply stroke.
-         */
-        ol.render.canvas.Replay.prototype.updateStrokeStyle = function(state, applyStroke) {
-            var strokeStyle = state.strokeStyle;
-            var lineCap = state.lineCap;
-            var lineDash = state.lineDash;
-            var lineDashOffset = state.lineDashOffset;
-            var lineJoin = state.lineJoin;
-            var lineWidth = state.lineWidth;
-            var miterLimit = state.miterLimit;
-            if (state.currentStrokeStyle != strokeStyle ||
-                state.currentLineCap != lineCap ||
-                (lineDash != state.currentLineDash && !ol.array.equals(state.currentLineDash, lineDash)) ||
-                state.currentLineDashOffset != lineDashOffset ||
-                state.currentLineJoin != lineJoin ||
-                state.currentLineWidth != lineWidth ||
-                state.currentMiterLimit != miterLimit) {
-                applyStroke.call(this, state);
-                state.currentStrokeStyle = strokeStyle;
-                state.currentLineCap = lineCap;
-                state.currentLineDash = lineDash;
-                state.currentLineDashOffset = lineDashOffset;
-                state.currentLineJoin = lineJoin;
-                state.currentLineWidth = lineWidth;
-                state.currentMiterLimit = miterLimit;
-            }
-        };
-
-
-        /**
-         * @param {ol.geom.Geometry|ol.render.Feature} geometry Geometry.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         */
-        ol.render.canvas.Replay.prototype.endGeometry = function(geometry, feature) {
-            this.beginGeometryInstruction1_[2] = this.instructions.length;
-            this.beginGeometryInstruction1_ = null;
-            this.beginGeometryInstruction2_[2] = this.hitDetectionInstructions.length;
-            this.beginGeometryInstruction2_ = null;
-            var endGeometryInstruction =
-                [ol.render.canvas.Instruction.END_GEOMETRY, feature];
-            this.instructions.push(endGeometryInstruction);
-            this.hitDetectionInstructions.push(endGeometryInstruction);
-        };
-
-
-        /**
-         * FIXME empty description for jsdoc
-         */
-        ol.render.canvas.Replay.prototype.finish = ol.nullFunction;
-
-
-        /**
-         * Get the buffered rendering extent.  Rendering will be clipped to the extent
-         * provided to the constructor.  To account for symbolizers that may intersect
-         * this extent, we calculate a buffered extent (e.g. based on stroke width).
-         * @return {ol.Extent} The buffered rendering extent.
-         * @protected
-         */
-        ol.render.canvas.Replay.prototype.getBufferedMaxExtent = function() {
-            if (!this.bufferedMaxExtent_) {
-                this.bufferedMaxExtent_ = ol.extent.clone(this.maxExtent);
-                if (this.maxLineWidth > 0) {
-                    var width = this.resolution * (this.maxLineWidth + 1) / 2;
-                    ol.extent.buffer(this.bufferedMaxExtent_, width, this.bufferedMaxExtent_);
-                }
-            }
-            return this.bufferedMaxExtent_;
-        };
-
-        /**
-         * @constructor
-         * @extends {ol.render.canvas.Replay}
-         * @param {number} tolerance Tolerance.
-         * @param {ol.Extent} maxExtent Maximum extent.
-         * @param {number} resolution Resolution.
-         * @param {number} pixelRatio Pixel ratio.
-         * @param {boolean} overlaps The replay can have overlapping geometries.
-         * @param {?} declutterTree Declutter tree.
-         * @struct
-         */
-        ol.render.canvas.ImageReplay = function(
-            tolerance, maxExtent, resolution, pixelRatio, overlaps, declutterTree) {
-            ol.render.canvas.Replay.call(this,
-                tolerance, maxExtent, resolution, pixelRatio, overlaps, declutterTree);
-
-            /**
-             * @private
-             * @type {ol.DeclutterGroup}
-             */
-            this.declutterGroup_ = null;
-
-            /**
-             * @private
-             * @type {HTMLCanvasElement|HTMLVideoElement|Image}
-             */
-            this.hitDetectionImage_ = null;
-
-            /**
-             * @private
-             * @type {HTMLCanvasElement|HTMLVideoElement|Image}
-             */
-            this.image_ = null;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.anchorX_ = undefined;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.anchorY_ = undefined;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.height_ = undefined;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.opacity_ = undefined;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.originX_ = undefined;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.originY_ = undefined;
-
-            /**
-             * @private
-             * @type {boolean|undefined}
-             */
-            this.rotateWithView_ = undefined;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.rotation_ = undefined;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.scale_ = undefined;
-
-            /**
-             * @private
-             * @type {boolean|undefined}
-             */
-            this.snapToPixel_ = undefined;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.width_ = undefined;
-
-        };
-        ol.inherits(ol.render.canvas.ImageReplay, ol.render.canvas.Replay);
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @private
-         * @return {number} My end.
-         */
-        ol.render.canvas.ImageReplay.prototype.drawCoordinates_ = function(flatCoordinates, offset, end, stride) {
-            return this.appendFlatCoordinates(
-                flatCoordinates, offset, end, stride, false, false);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.ImageReplay.prototype.drawPoint = function(pointGeometry, feature) {
-            if (!this.image_) {
-                return;
-            }
-            this.beginGeometry(pointGeometry, feature);
-            var flatCoordinates = pointGeometry.getFlatCoordinates();
-            var stride = pointGeometry.getStride();
-            var myBegin = this.coordinates.length;
-            var myEnd = this.drawCoordinates_(
-                flatCoordinates, 0, flatCoordinates.length, stride);
-            this.instructions.push([
-                ol.render.canvas.Instruction.DRAW_IMAGE, myBegin, myEnd, this.image_,
-                // Remaining arguments to DRAW_IMAGE are in alphabetical order
-                this.anchorX_, this.anchorY_, this.declutterGroup_, this.height_, this.opacity_,
-                this.originX_, this.originY_, this.rotateWithView_, this.rotation_,
-                this.scale_ * this.pixelRatio, this.snapToPixel_, this.width_
-            ]);
-            this.hitDetectionInstructions.push([
-                ol.render.canvas.Instruction.DRAW_IMAGE, myBegin, myEnd,
-                this.hitDetectionImage_,
-                // Remaining arguments to DRAW_IMAGE are in alphabetical order
-                this.anchorX_, this.anchorY_, this.declutterGroup_, this.height_, this.opacity_,
-                this.originX_, this.originY_, this.rotateWithView_, this.rotation_,
-                this.scale_, this.snapToPixel_, this.width_
-            ]);
-            this.endGeometry(pointGeometry, feature);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.ImageReplay.prototype.drawMultiPoint = function(multiPointGeometry, feature) {
-            if (!this.image_) {
-                return;
-            }
-            this.beginGeometry(multiPointGeometry, feature);
-            var flatCoordinates = multiPointGeometry.getFlatCoordinates();
-            var stride = multiPointGeometry.getStride();
-            var myBegin = this.coordinates.length;
-            var myEnd = this.drawCoordinates_(
-                flatCoordinates, 0, flatCoordinates.length, stride);
-            this.instructions.push([
-                ol.render.canvas.Instruction.DRAW_IMAGE, myBegin, myEnd, this.image_,
-                // Remaining arguments to DRAW_IMAGE are in alphabetical order
-                this.anchorX_, this.anchorY_, this.declutterGroup_, this.height_, this.opacity_,
-                this.originX_, this.originY_, this.rotateWithView_, this.rotation_,
-                this.scale_ * this.pixelRatio, this.snapToPixel_, this.width_
-            ]);
-            this.hitDetectionInstructions.push([
-                ol.render.canvas.Instruction.DRAW_IMAGE, myBegin, myEnd,
-                this.hitDetectionImage_,
-                // Remaining arguments to DRAW_IMAGE are in alphabetical order
-                this.anchorX_, this.anchorY_, this.declutterGroup_, this.height_, this.opacity_,
-                this.originX_, this.originY_, this.rotateWithView_, this.rotation_,
-                this.scale_, this.snapToPixel_, this.width_
-            ]);
-            this.endGeometry(multiPointGeometry, feature);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.ImageReplay.prototype.finish = function() {
-            this.reverseHitDetectionInstructions();
-            // FIXME this doesn't really protect us against further calls to draw*Geometry
-            this.anchorX_ = undefined;
-            this.anchorY_ = undefined;
-            this.hitDetectionImage_ = null;
-            this.image_ = null;
-            this.height_ = undefined;
-            this.scale_ = undefined;
-            this.opacity_ = undefined;
-            this.originX_ = undefined;
-            this.originY_ = undefined;
-            this.rotateWithView_ = undefined;
-            this.rotation_ = undefined;
-            this.snapToPixel_ = undefined;
-            this.width_ = undefined;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.ImageReplay.prototype.setImageStyle = function(imageStyle, declutterGroup) {
-            var anchor = imageStyle.getAnchor();
-            var size = imageStyle.getSize();
-            var hitDetectionImage = imageStyle.getHitDetectionImage(1);
-            var image = imageStyle.getImage(1);
-            var origin = imageStyle.getOrigin();
-            this.anchorX_ = anchor[0];
-            this.anchorY_ = anchor[1];
-            this.declutterGroup_ = /** @type {ol.DeclutterGroup} */ (declutterGroup);
-            this.hitDetectionImage_ = hitDetectionImage;
-            this.image_ = image;
-            this.height_ = size[1];
-            this.opacity_ = imageStyle.getOpacity();
-            this.originX_ = origin[0];
-            this.originY_ = origin[1];
-            this.rotateWithView_ = imageStyle.getRotateWithView();
-            this.rotation_ = imageStyle.getRotation();
-            this.scale_ = imageStyle.getScale();
-            this.snapToPixel_ = imageStyle.getSnapToPixel();
-            this.width_ = size[0];
-        };
-
-        /**
-         * @constructor
-         * @extends {ol.render.canvas.Replay}
-         * @param {number} tolerance Tolerance.
-         * @param {ol.Extent} maxExtent Maximum extent.
-         * @param {number} resolution Resolution.
-         * @param {number} pixelRatio Pixel ratio.
-         * @param {boolean} overlaps The replay can have overlapping geometries.
-         * @param {?} declutterTree Declutter tree.
-         * @struct
-         */
-        ol.render.canvas.LineStringReplay = function(
-            tolerance, maxExtent, resolution, pixelRatio, overlaps, declutterTree) {
-            ol.render.canvas.Replay.call(this,
-                tolerance, maxExtent, resolution, pixelRatio, overlaps, declutterTree);
-        };
-        ol.inherits(ol.render.canvas.LineStringReplay, ol.render.canvas.Replay);
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {number} end End.
-         * @param {number} stride Stride.
-         * @private
-         * @return {number} end.
-         */
-        ol.render.canvas.LineStringReplay.prototype.drawFlatCoordinates_ = function(flatCoordinates, offset, end, stride) {
-            var myBegin = this.coordinates.length;
-            var myEnd = this.appendFlatCoordinates(
-                flatCoordinates, offset, end, stride, false, false);
-            var moveToLineToInstruction =
-                [ol.render.canvas.Instruction.MOVE_TO_LINE_TO, myBegin, myEnd];
-            this.instructions.push(moveToLineToInstruction);
-            this.hitDetectionInstructions.push(moveToLineToInstruction);
-            return end;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.LineStringReplay.prototype.drawLineString = function(lineStringGeometry, feature) {
-            var state = this.state;
-            var strokeStyle = state.strokeStyle;
-            var lineWidth = state.lineWidth;
-            if (strokeStyle === undefined || lineWidth === undefined) {
-                return;
-            }
-            this.updateStrokeStyle(state, this.applyStroke);
-            this.beginGeometry(lineStringGeometry, feature);
-            this.hitDetectionInstructions.push([
-                ol.render.canvas.Instruction.SET_STROKE_STYLE,
-                state.strokeStyle, state.lineWidth, state.lineCap, state.lineJoin,
-                state.miterLimit, state.lineDash, state.lineDashOffset
-            ], [
-                ol.render.canvas.Instruction.BEGIN_PATH
-            ]);
-            var flatCoordinates = lineStringGeometry.getFlatCoordinates();
-            var stride = lineStringGeometry.getStride();
-            this.drawFlatCoordinates_(flatCoordinates, 0, flatCoordinates.length, stride);
-            this.hitDetectionInstructions.push([ol.render.canvas.Instruction.STROKE]);
-            this.endGeometry(lineStringGeometry, feature);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.LineStringReplay.prototype.drawMultiLineString = function(multiLineStringGeometry, feature) {
-            var state = this.state;
-            var strokeStyle = state.strokeStyle;
-            var lineWidth = state.lineWidth;
-            if (strokeStyle === undefined || lineWidth === undefined) {
-                return;
-            }
-            this.updateStrokeStyle(state, this.applyStroke);
-            this.beginGeometry(multiLineStringGeometry, feature);
-            this.hitDetectionInstructions.push([
-                ol.render.canvas.Instruction.SET_STROKE_STYLE,
-                state.strokeStyle, state.lineWidth, state.lineCap, state.lineJoin,
-                state.miterLimit, state.lineDash, state.lineDashOffset
-            ], [
-                ol.render.canvas.Instruction.BEGIN_PATH
-            ]);
-            var ends = multiLineStringGeometry.getEnds();
-            var flatCoordinates = multiLineStringGeometry.getFlatCoordinates();
-            var stride = multiLineStringGeometry.getStride();
-            var offset = 0;
-            var i, ii;
-            for (i = 0, ii = ends.length; i < ii; ++i) {
-                offset = this.drawFlatCoordinates_(
-                    flatCoordinates, offset, ends[i], stride);
-            }
-            this.hitDetectionInstructions.push([ol.render.canvas.Instruction.STROKE]);
-            this.endGeometry(multiLineStringGeometry, feature);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.LineStringReplay.prototype.finish = function() {
-            var state = this.state;
-            if (state.lastStroke != undefined && state.lastStroke != this.coordinates.length) {
-                this.instructions.push([ol.render.canvas.Instruction.STROKE]);
-            }
-            this.reverseHitDetectionInstructions();
-            this.state = null;
-        };
-
-
-        /**
-         * @inheritDoc.
-         */
-        ol.render.canvas.LineStringReplay.prototype.applyStroke = function(state) {
-            if (state.lastStroke != undefined && state.lastStroke != this.coordinates.length) {
-                this.instructions.push([ol.render.canvas.Instruction.STROKE]);
-                state.lastStroke = this.coordinates.length;
-            }
-            state.lastStroke = 0;
-            ol.render.canvas.Replay.prototype.applyStroke.call(this, state);
-            this.instructions.push([ol.render.canvas.Instruction.BEGIN_PATH]);
-        };
-
-        /**
-         * @constructor
-         * @extends {ol.render.canvas.Replay}
-         * @param {number} tolerance Tolerance.
-         * @param {ol.Extent} maxExtent Maximum extent.
-         * @param {number} resolution Resolution.
-         * @param {number} pixelRatio Pixel ratio.
-         * @param {boolean} overlaps The replay can have overlapping geometries.
-         * @param {?} declutterTree Declutter tree.
-         * @struct
-         */
-        ol.render.canvas.PolygonReplay = function(
-            tolerance, maxExtent, resolution, pixelRatio, overlaps, declutterTree) {
-            ol.render.canvas.Replay.call(this,
-                tolerance, maxExtent, resolution, pixelRatio, overlaps, declutterTree);
-        };
-        ol.inherits(ol.render.canvas.PolygonReplay, ol.render.canvas.Replay);
-
-
-        /**
-         * @param {Array.<number>} flatCoordinates Flat coordinates.
-         * @param {number} offset Offset.
-         * @param {Array.<number>} ends Ends.
-         * @param {number} stride Stride.
-         * @private
-         * @return {number} End.
-         */
-        ol.render.canvas.PolygonReplay.prototype.drawFlatCoordinatess_ = function(flatCoordinates, offset, ends, stride) {
-            var state = this.state;
-            var fill = state.fillStyle !== undefined;
-            var stroke = state.strokeStyle != undefined;
-            var numEnds = ends.length;
-            var beginPathInstruction = [ol.render.canvas.Instruction.BEGIN_PATH];
-            this.instructions.push(beginPathInstruction);
-            this.hitDetectionInstructions.push(beginPathInstruction);
-            for (var i = 0; i < numEnds; ++i) {
-                var end = ends[i];
-                var myBegin = this.coordinates.length;
-                var myEnd = this.appendFlatCoordinates(
-                    flatCoordinates, offset, end, stride, true, !stroke);
-                var moveToLineToInstruction =
-                    [ol.render.canvas.Instruction.MOVE_TO_LINE_TO, myBegin, myEnd];
-                this.instructions.push(moveToLineToInstruction);
-                this.hitDetectionInstructions.push(moveToLineToInstruction);
-                if (stroke) {
-                    // Performance optimization: only call closePath() when we have a stroke.
-                    // Otherwise the ring is closed already (see appendFlatCoordinates above).
-                    var closePathInstruction = [ol.render.canvas.Instruction.CLOSE_PATH];
-                    this.instructions.push(closePathInstruction);
-                    this.hitDetectionInstructions.push(closePathInstruction);
-                }
-                offset = end;
-            }
-            var fillInstruction = [ol.render.canvas.Instruction.FILL];
-            this.hitDetectionInstructions.push(fillInstruction);
-            if (fill) {
-                this.instructions.push(fillInstruction);
-            }
-            if (stroke) {
-                var strokeInstruction = [ol.render.canvas.Instruction.STROKE];
-                this.instructions.push(strokeInstruction);
-                this.hitDetectionInstructions.push(strokeInstruction);
-            }
-            return offset;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.PolygonReplay.prototype.drawCircle = function(circleGeometry, feature) {
-            var state = this.state;
-            var fillStyle = state.fillStyle;
-            var strokeStyle = state.strokeStyle;
-            if (fillStyle === undefined && strokeStyle === undefined) {
-                return;
-            }
-            this.setFillStrokeStyles_(circleGeometry);
-            this.beginGeometry(circleGeometry, feature);
-            // always fill the circle for hit detection
-            this.hitDetectionInstructions.push([
-                ol.render.canvas.Instruction.SET_FILL_STYLE,
-                ol.color.asString(ol.render.canvas.defaultFillStyle)
-            ]);
-            if (state.strokeStyle !== undefined) {
-                this.hitDetectionInstructions.push([
-                    ol.render.canvas.Instruction.SET_STROKE_STYLE,
-                    state.strokeStyle, state.lineWidth, state.lineCap, state.lineJoin,
-                    state.miterLimit, state.lineDash, state.lineDashOffset
-                ]);
-            }
-            var flatCoordinates = circleGeometry.getFlatCoordinates();
-            var stride = circleGeometry.getStride();
-            var myBegin = this.coordinates.length;
-            this.appendFlatCoordinates(
-                flatCoordinates, 0, flatCoordinates.length, stride, false, false);
-            var beginPathInstruction = [ol.render.canvas.Instruction.BEGIN_PATH];
-            var circleInstruction = [ol.render.canvas.Instruction.CIRCLE, myBegin];
-            this.instructions.push(beginPathInstruction, circleInstruction);
-            this.hitDetectionInstructions.push(beginPathInstruction, circleInstruction);
-            var fillInstruction = [ol.render.canvas.Instruction.FILL];
-            this.hitDetectionInstructions.push(fillInstruction);
-            if (state.fillStyle !== undefined) {
-                this.instructions.push(fillInstruction);
-            }
-            if (state.strokeStyle !== undefined) {
-                var strokeInstruction = [ol.render.canvas.Instruction.STROKE];
-                this.instructions.push(strokeInstruction);
-                this.hitDetectionInstructions.push(strokeInstruction);
-            }
-            this.endGeometry(circleGeometry, feature);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.PolygonReplay.prototype.drawPolygon = function(polygonGeometry, feature) {
-            var state = this.state;
-            this.setFillStrokeStyles_(polygonGeometry);
-            this.beginGeometry(polygonGeometry, feature);
-            // always fill the polygon for hit detection
-            this.hitDetectionInstructions.push([
-                ol.render.canvas.Instruction.SET_FILL_STYLE,
-                ol.color.asString(ol.render.canvas.defaultFillStyle)]
-            );
-            if (state.strokeStyle !== undefined) {
-                this.hitDetectionInstructions.push([
-                    ol.render.canvas.Instruction.SET_STROKE_STYLE,
-                    state.strokeStyle, state.lineWidth, state.lineCap, state.lineJoin,
-                    state.miterLimit, state.lineDash, state.lineDashOffset
-                ]);
-            }
-            var ends = polygonGeometry.getEnds();
-            var flatCoordinates = polygonGeometry.getOrientedFlatCoordinates();
-            var stride = polygonGeometry.getStride();
-            this.drawFlatCoordinatess_(flatCoordinates, 0, ends, stride);
-            this.endGeometry(polygonGeometry, feature);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.PolygonReplay.prototype.drawMultiPolygon = function(multiPolygonGeometry, feature) {
-            var state = this.state;
-            var fillStyle = state.fillStyle;
-            var strokeStyle = state.strokeStyle;
-            if (fillStyle === undefined && strokeStyle === undefined) {
-                return;
-            }
-            this.setFillStrokeStyles_(multiPolygonGeometry);
-            this.beginGeometry(multiPolygonGeometry, feature);
-            // always fill the multi-polygon for hit detection
-            this.hitDetectionInstructions.push([
-                ol.render.canvas.Instruction.SET_FILL_STYLE,
-                ol.color.asString(ol.render.canvas.defaultFillStyle)
-            ]);
-            if (state.strokeStyle !== undefined) {
-                this.hitDetectionInstructions.push([
-                    ol.render.canvas.Instruction.SET_STROKE_STYLE,
-                    state.strokeStyle, state.lineWidth, state.lineCap, state.lineJoin,
-                    state.miterLimit, state.lineDash, state.lineDashOffset
-                ]);
-            }
-            var endss = multiPolygonGeometry.getEndss();
-            var flatCoordinates = multiPolygonGeometry.getOrientedFlatCoordinates();
-            var stride = multiPolygonGeometry.getStride();
-            var offset = 0;
-            var i, ii;
-            for (i = 0, ii = endss.length; i < ii; ++i) {
-                offset = this.drawFlatCoordinatess_(
-                    flatCoordinates, offset, endss[i], stride);
-            }
-            this.endGeometry(multiPolygonGeometry, feature);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.PolygonReplay.prototype.finish = function() {
-            this.reverseHitDetectionInstructions();
-            this.state = null;
-            // We want to preserve topology when drawing polygons.  Polygons are
-            // simplified using quantization and point elimination. However, we might
-            // have received a mix of quantized and non-quantized geometries, so ensure
-            // that all are quantized by quantizing all coordinates in the batch.
-            var tolerance = this.tolerance;
-            if (tolerance !== 0) {
-                var coordinates = this.coordinates;
-                var i, ii;
-                for (i = 0, ii = coordinates.length; i < ii; ++i) {
-                    coordinates[i] = ol.geom.flat.simplify.snap(coordinates[i], tolerance);
-                }
-            }
-        };
-
-
-        /**
-         * @private
-         * @param {ol.geom.Geometry|ol.render.Feature} geometry Geometry.
-         */
-        ol.render.canvas.PolygonReplay.prototype.setFillStrokeStyles_ = function(geometry) {
-            var state = this.state;
-            var fillStyle = state.fillStyle;
-            if (fillStyle !== undefined) {
-                this.updateFillStyle(state, this.applyFill, geometry);
-            }
-            if (state.strokeStyle !== undefined) {
-                this.updateStrokeStyle(state, this.applyStroke);
-            }
-        };
-
-        ol.geom.flat.straightchunk = {};
-        ol.geom.flat.straightchunk.lineString = function(maxAngle, flatCoordinates, offset, end, stride) {
-            var chunkStart = offset;
-            var chunkEnd = offset;
-            var chunkM = 0;
-            var m = 0;
-            var start = offset;
-            var acos, i, m12, m23, x1, y1, x12, y12, x23, y23;
-            for (i = offset; i < end; i += stride) {
-                var x2 = flatCoordinates[i];
-                var y2 = flatCoordinates[i + 1];
-                if (x1 !== undefined) {
-                    x23 = x2 - x1;
-                    y23 = y2 - y1;
-                    m23 = Math.sqrt(x23 * x23 + y23 * y23);
-                    if (x12 !== undefined) {
-                        m += m12;
-                        acos = Math.acos((x12 * x23 + y12 * y23) / (m12 * m23));
-                        if (acos > maxAngle) {
-                            if (m > chunkM) {
-                                chunkM = m;
-                                chunkStart = start;
-                                chunkEnd = i;
-                            }
-                            m = 0;
-                            start = i - stride;
-                        }
-                    }
-                    m12 = m23;
-                    x12 = x23;
-                    y12 = y23;
-                }
-                x1 = x2;
-                y1 = y2;
-            }
-            m += m23;
-            return m > chunkM ? [start, i] : [chunkStart, chunkEnd];
-        };
-
-        ol.style.TextPlacement = {
-            POINT: 'point',
-            LINE: 'line'
-        };
-
-        ol.render.canvas.TextReplay = function(
-            tolerance, maxExtent, resolution, pixelRatio, overlaps, declutterTree) {
-            ol.render.canvas.Replay.call(this,
-                tolerance, maxExtent, resolution, pixelRatio, overlaps, declutterTree);
-
-            /**
-             * @private
-             * @type {ol.DeclutterGroup}
-             */
-            this.declutterGroup_;
-
-            /**
-             * @private
-             * @type {Array.<HTMLCanvasElement>}
-             */
-            this.labels_ = null;
-
-            /**
-             * @private
-             * @type {string}
-             */
-            this.text_ = '';
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.textOffsetX_ = 0;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.textOffsetY_ = 0;
-
-            /**
-             * @private
-             * @type {boolean|undefined}
-             */
-            this.textRotateWithView_ = undefined;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.textRotation_ = 0;
-
-            /**
-             * @private
-             * @type {?ol.CanvasFillState}
-             */
-            this.textFillState_ = null;
-
-            /**
-             * @type {Object.<string, ol.CanvasFillState>}
-             */
-            this.fillStates = {};
-
-            /**
-             * @private
-             * @type {?ol.CanvasStrokeState}
-             */
-            this.textStrokeState_ = null;
-
-            /**
-             * @type {Object.<string, ol.CanvasStrokeState>}
-             */
-            this.strokeStates = {};
-
-            /**
-             * @private
-             * @type {ol.CanvasTextState}
-             */
-            this.textState_ = /** @type {ol.CanvasTextState} */ ({});
-
-            /**
-             * @type {Object.<string, ol.CanvasTextState>}
-             */
-            this.textStates = {};
-
-            /**
-             * @private
-             * @type {string}
-             */
-            this.textKey_ = '';
-
-            /**
-             * @private
-             * @type {string}
-             */
-            this.fillKey_ = '';
-
-            /**
-             * @private
-             * @type {string}
-             */
-            this.strokeKey_ = '';
-
-            /**
-             * @private
-             * @type {Object.<string, Object.<string, number>>}
-             */
-            this.widths_ = {};
-
-            var labelCache = ol.render.canvas.labelCache;
-            labelCache.prune();
-
-        };
-        ol.inherits(ol.render.canvas.TextReplay, ol.render.canvas.Replay);
-
-
-        /**
-         * @param {string} font Font to use for measuring.
-         * @param {Array.<string>} lines Lines to measure.
-         * @param {Array.<number>} widths Array will be populated with the widths of
-         * each line.
-         * @return {number} Width of the whole text.
-         */
-        ol.render.canvas.TextReplay.measureTextWidths = function(font, lines, widths) {
-            var numLines = lines.length;
-            var width = 0;
-            var currentWidth, i;
-            for (i = 0; i < numLines; ++i) {
-                currentWidth = ol.render.canvas.measureTextWidth(font, lines[i]);
-                width = Math.max(width, currentWidth);
-                widths.push(currentWidth);
-            }
-            return width;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.TextReplay.prototype.drawText = function(geometry, feature) {
-            var fillState = this.textFillState_;
-            var strokeState = this.textStrokeState_;
-            var textState = this.textState_;
-            if (this.text_ === '' || !textState || (!fillState && !strokeState)) {
-                return;
-            }
-
-            var begin = this.coordinates.length;
-
-            var geometryType = geometry.getType();
-            var flatCoordinates = null;
-            var end = 2;
-            var stride = 2;
-            var i, ii;
-
-            if (textState.placement === ol.style.TextPlacement.LINE) {
-                if (!ol.extent.intersects(this.getBufferedMaxExtent(), geometry.getExtent())) {
-                    return;
-                }
-                var ends;
-                flatCoordinates = geometry.getFlatCoordinates();
-                stride = geometry.getStride();
-                if (geometryType == ol.geom.GeometryType.LINE_STRING) {
-                    ends = [flatCoordinates.length];
-                } else if (geometryType == ol.geom.GeometryType.MULTI_LINE_STRING) {
-                    ends = geometry.getEnds();
-                } else if (geometryType == ol.geom.GeometryType.POLYGON) {
-                    ends = geometry.getEnds().slice(0, 1);
-                } else if (geometryType == ol.geom.GeometryType.MULTI_POLYGON) {
-                    var endss = geometry.getEndss();
-                    ends = [];
-                    for (i = 0, ii = endss.length; i < ii; ++i) {
-                        ends.push(endss[i][0]);
-                    }
-                }
-                this.beginGeometry(geometry, feature);
-                var textAlign = textState.textAlign;
-                var flatOffset = 0;
-                var flatEnd;
-                for (var o = 0, oo = ends.length; o < oo; ++o) {
-                    if (textAlign == undefined) {
-                        var range = ol.geom.flat.straightchunk.lineString(
-                            textState.maxAngle, flatCoordinates, flatOffset, ends[o], stride);
-                        flatOffset = range[0];
-                        flatEnd = range[1];
-                    } else {
-                        flatEnd = ends[o];
-                    }
-                    for (i = flatOffset; i < flatEnd; i += stride) {
-                        this.coordinates.push(flatCoordinates[i], flatCoordinates[i + 1]);
-                    }
-                    end = this.coordinates.length;
-                    flatOffset = ends[o];
-                    this.drawChars_(begin, end, this.declutterGroup_);
-                    begin = end;
-                }
-                this.endGeometry(geometry, feature);
-
-            } else {
-                var label = this.getImage(this.text_, this.textKey_, this.fillKey_, this.strokeKey_);
-                var width = label.width / this.pixelRatio;
-                switch (geometryType) {
-                    case ol.geom.GeometryType.POINT:
-                    case ol.geom.GeometryType.MULTI_POINT:
-                        flatCoordinates = geometry.getFlatCoordinates();
-                        end = flatCoordinates.length;
-                        break;
-                    case ol.geom.GeometryType.LINE_STRING:
-                        flatCoordinates = /** @type {ol.geom.LineString} */ (geometry).getFlatMidpoint();
-                        break;
-                    case ol.geom.GeometryType.CIRCLE:
-                        flatCoordinates = /** @type {ol.geom.Circle} */ (geometry).getCenter();
-                        break;
-                    case ol.geom.GeometryType.MULTI_LINE_STRING:
-                        flatCoordinates = /** @type {ol.geom.MultiLineString} */ (geometry).getFlatMidpoints();
-                        end = flatCoordinates.length;
-                        break;
-                    case ol.geom.GeometryType.POLYGON:
-                        flatCoordinates = /** @type {ol.geom.Polygon} */ (geometry).getFlatInteriorPoint();
-                        if (!textState.overflow && flatCoordinates[2] / this.resolution < width) {
-                            return;
-                        }
-                        stride = 3;
-                        break;
-                    case ol.geom.GeometryType.MULTI_POLYGON:
-                        var interiorPoints = /** @type {ol.geom.MultiPolygon} */ (geometry).getFlatInteriorPoints();
-                        flatCoordinates = [];
-                        for (i = 0, ii = interiorPoints.length; i < ii; i += 3) {
-                            if (textState.overflow || interiorPoints[i + 2] / this.resolution >= width) {
-                                flatCoordinates.push(interiorPoints[i], interiorPoints[i + 1]);
-                            }
-                        }
-                        end = flatCoordinates.length;
-                        if (end == 0) {
-                            return;
-                        }
-                        break;
-                }
-                end = this.appendFlatCoordinates(flatCoordinates, 0, end, stride, false, false);
-                this.beginGeometry(geometry, feature);
-                if (textState.backgroundFill || textState.backgroundStroke) {
-                    this.setFillStrokeStyle(textState.backgroundFill, textState.backgroundStroke);
-                    this.updateFillStyle(this.state, this.applyFill, geometry);
-                    this.updateStrokeStyle(this.state, this.applyStroke);
-                }
-                this.drawTextImage_(label, begin, end);
-                this.endGeometry(geometry, feature);
-            }
-        };
-
-
-        /**
-         * @param {string} text Text.
-         * @param {string} textKey Text style key.
-         * @param {string} fillKey Fill style key.
-         * @param {string} strokeKey Stroke style key.
-         * @return {HTMLCanvasElement} Image.
-         */
-        ol.render.canvas.TextReplay.prototype.getImage = function(text, textKey, fillKey, strokeKey) {
-            var label;
-            var key = strokeKey + textKey + text + fillKey + this.pixelRatio;
-
-            var labelCache = ol.render.canvas.labelCache;
-            if (!labelCache.containsKey(key)) {
-                var strokeState = strokeKey ? this.strokeStates[strokeKey] || this.textStrokeState_ : null;
-                var fillState = fillKey ? this.fillStates[fillKey] || this.textFillState_ : null;
-                var textState = this.textStates[textKey] || this.textState_;
-                var pixelRatio = this.pixelRatio;
-                var scale = textState.scale * pixelRatio;
-                var align =  ol.render.replay.TEXT_ALIGN[textState.textAlign || ol.render.canvas.defaultTextAlign];
-                var strokeWidth = strokeKey && strokeState.lineWidth ? strokeState.lineWidth : 0;
-
-                var lines = text.split('\n');
-                var numLines = lines.length;
-                var widths = [];
-                var width = ol.render.canvas.TextReplay.measureTextWidths(textState.font, lines, widths);
-                var lineHeight = ol.render.canvas.measureTextHeight(textState.font);
-                var height = lineHeight * numLines;
-                var renderWidth = (width + strokeWidth);
-                var context = ol.dom.createCanvasContext2D(
-                    Math.ceil(renderWidth * scale),
-                    Math.ceil((height + strokeWidth) * scale));
-                label = context.canvas;
-                labelCache.set(key, label);
-                if (scale != 1) {
-                    context.scale(scale, scale);
-                }
-                context.font = textState.font;
-                if (strokeKey) {
-                    context.strokeStyle = strokeState.strokeStyle;
-                    context.lineWidth = strokeWidth * (ol.has.SAFARI ? scale : 1);
-                    context.lineCap = strokeState.lineCap;
-                    context.lineJoin = strokeState.lineJoin;
-                    context.miterLimit = strokeState.miterLimit;
-                    if (ol.has.CANVAS_LINE_DASH && strokeState.lineDash.length) {
-                        context.setLineDash(strokeState.lineDash);
-                        context.lineDashOffset = strokeState.lineDashOffset;
-                    }
-                }
-                if (fillKey) {
-                    context.fillStyle = fillState.fillStyle;
-                }
-                context.textBaseline = 'middle';
-                context.textAlign = 'center';
-                var leftRight = (0.5 - align);
-                var x = align * label.width / scale + leftRight * strokeWidth;
-                var i;
-                if (strokeKey) {
-                    for (i = 0; i < numLines; ++i) {
-                        context.strokeText(lines[i], x + leftRight * widths[i], 0.5 * (strokeWidth + lineHeight) + i * lineHeight);
-                    }
-                }
-                if (fillKey) {
-                    for (i = 0; i < numLines; ++i) {
-                        context.fillText(lines[i], x + leftRight * widths[i], 0.5 * (strokeWidth + lineHeight) + i * lineHeight);
-                    }
-                }
-            }
-            return labelCache.get(key);
-        };
-
-
-        /**
-         * @private
-         * @param {HTMLCanvasElement} label Label.
-         * @param {number} begin Begin.
-         * @param {number} end End.
-         */
-        ol.render.canvas.TextReplay.prototype.drawTextImage_ = function(label, begin, end) {
-            var textState = this.textState_;
-            var strokeState = this.textStrokeState_;
-            var pixelRatio = this.pixelRatio;
-            var align = ol.render.replay.TEXT_ALIGN[textState.textAlign || ol.render.canvas.defaultTextAlign];
-            var baseline = ol.render.replay.TEXT_ALIGN[textState.textBaseline];
-            var strokeWidth = strokeState && strokeState.lineWidth ? strokeState.lineWidth : 0;
-
-            var anchorX = align * label.width / pixelRatio + 2 * (0.5 - align) * strokeWidth;
-            var anchorY = baseline * label.height / pixelRatio + 2 * (0.5 - baseline) * strokeWidth;
-            this.instructions.push([ol.render.canvas.Instruction.DRAW_IMAGE, begin, end,
-                label, (anchorX - this.textOffsetX_) * pixelRatio, (anchorY - this.textOffsetY_) * pixelRatio,
-                this.declutterGroup_, label.height, 1, 0, 0, this.textRotateWithView_, this.textRotation_,
-                1, true, label.width,
-                textState.padding == ol.render.canvas.defaultPadding ?
-                    ol.render.canvas.defaultPadding : textState.padding.map(function(p) {
-                    return p * pixelRatio;
-                }),
-                !!textState.backgroundFill, !!textState.backgroundStroke
-            ]);
-            this.hitDetectionInstructions.push([ol.render.canvas.Instruction.DRAW_IMAGE, begin, end,
-                label, (anchorX - this.textOffsetX_) * pixelRatio, (anchorY - this.textOffsetY_) * pixelRatio,
-                this.declutterGroup_, label.height, 1, 0, 0, this.textRotateWithView_, this.textRotation_,
-                1 / pixelRatio, true, label.width, textState.padding,
-                !!textState.backgroundFill, !!textState.backgroundStroke
-            ]);
-        };
-
-
-        /**
-         * @private
-         * @param {number} begin Begin.
-         * @param {number} end End.
-         * @param {ol.DeclutterGroup} declutterGroup Declutter group.
-         */
-        ol.render.canvas.TextReplay.prototype.drawChars_ = function(begin, end, declutterGroup) {
-            var strokeState = this.textStrokeState_;
-            var textState = this.textState_;
-            var fillState = this.textFillState_;
-
-            var strokeKey = this.strokeKey_;
-            if (strokeState) {
-                if (!(strokeKey in this.strokeStates)) {
-                    this.strokeStates[strokeKey] = /** @type {ol.CanvasStrokeState} */ ({
-                        strokeStyle: strokeState.strokeStyle,
-                        lineCap: strokeState.lineCap,
-                        lineDashOffset: strokeState.lineDashOffset,
-                        lineWidth: strokeState.lineWidth,
-                        lineJoin: strokeState.lineJoin,
-                        miterLimit: strokeState.miterLimit,
-                        lineDash: strokeState.lineDash
-                    });
-                }
-            }
-            var textKey = this.textKey_;
-            if (!(this.textKey_ in this.textStates)) {
-                this.textStates[this.textKey_] = /** @type {ol.CanvasTextState} */ ({
-                    font: textState.font,
-                    textAlign: textState.textAlign || ol.render.canvas.defaultTextAlign,
-                    scale: textState.scale
-                });
-            }
-            var fillKey = this.fillKey_;
-            if (fillState) {
-                if (!(fillKey in this.fillStates)) {
-                    this.fillStates[fillKey] = /** @type {ol.CanvasFillState} */ ({
-                        fillStyle: fillState.fillStyle
-                    });
-                }
-            }
-
-            var pixelRatio = this.pixelRatio;
-            var baseline = ol.render.replay.TEXT_ALIGN[textState.textBaseline];
-
-            var offsetY = this.textOffsetY_ * pixelRatio;
-            var text = this.text_;
-            var font = textState.font;
-            var textScale = textState.scale;
-            var strokeWidth = strokeState ? strokeState.lineWidth * textScale / 2 : 0;
-            var widths = this.widths_[font];
-            if (!widths) {
-                this.widths_[font] = widths = {};
-            }
-            this.instructions.push([ol.render.canvas.Instruction.DRAW_CHARS,
-                begin, end, baseline, declutterGroup,
-                textState.overflow, fillKey, textState.maxAngle,
-                function(text) {
-                    var width = widths[text];
-                    if (!width) {
-                        width = widths[text] = ol.render.canvas.measureTextWidth(font, text);
-                    }
-                    return width * textScale * pixelRatio;
-                },
-                offsetY, strokeKey, strokeWidth * pixelRatio, text, textKey, 1
-            ]);
-            this.hitDetectionInstructions.push([ol.render.canvas.Instruction.DRAW_CHARS,
-                begin, end, baseline, declutterGroup,
-                textState.overflow, fillKey, textState.maxAngle,
-                function(text) {
-                    var width = widths[text];
-                    if (!width) {
-                        width = widths[text] = ol.render.canvas.measureTextWidth(font, text);
-                    }
-                    return width * textScale;
-                },
-                offsetY, strokeKey, strokeWidth, text, textKey, 1 / pixelRatio
-            ]);
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.TextReplay.prototype.setTextStyle = function(textStyle, declutterGroup) {
-            var textState, fillState, strokeState;
-            if (!textStyle) {
-                this.text_ = '';
-            } else {
-                this.declutterGroup_ = /** @type {ol.DeclutterGroup} */ (declutterGroup);
-
-                var textFillStyle = textStyle.getFill();
-                if (!textFillStyle) {
-                    fillState = this.textFillState_ = null;
-                } else {
-                    fillState = this.textFillState_;
-                    if (!fillState) {
-                        fillState = this.textFillState_ = /** @type {ol.CanvasFillState} */ ({});
-                    }
-                    fillState.fillStyle = ol.colorlike.asColorLike(
-                        textFillStyle.getColor() || ol.render.canvas.defaultFillStyle);
-                }
-
-                var textStrokeStyle = textStyle.getStroke();
-                if (!textStrokeStyle) {
-                    strokeState = this.textStrokeState_ = null;
-                } else {
-                    strokeState = this.textStrokeState_;
-                    if (!strokeState) {
-                        strokeState = this.textStrokeState_ = /** @type {ol.CanvasStrokeState} */ ({});
-                    }
-                    var lineDash = textStrokeStyle.getLineDash();
-                    var lineDashOffset = textStrokeStyle.getLineDashOffset();
-                    var lineWidth = textStrokeStyle.getWidth();
-                    var miterLimit = textStrokeStyle.getMiterLimit();
-                    strokeState.lineCap = textStrokeStyle.getLineCap() || ol.render.canvas.defaultLineCap;
-                    strokeState.lineDash = lineDash ? lineDash.slice() : ol.render.canvas.defaultLineDash;
-                    strokeState.lineDashOffset =
-                        lineDashOffset === undefined ? ol.render.canvas.defaultLineDashOffset : lineDashOffset;
-                    strokeState.lineJoin = textStrokeStyle.getLineJoin() || ol.render.canvas.defaultLineJoin;
-                    strokeState.lineWidth =
-                        lineWidth === undefined ? ol.render.canvas.defaultLineWidth : lineWidth;
-                    strokeState.miterLimit =
-                        miterLimit === undefined ? ol.render.canvas.defaultMiterLimit : miterLimit;
-                    strokeState.strokeStyle = ol.colorlike.asColorLike(
-                        textStrokeStyle.getColor() || ol.render.canvas.defaultStrokeStyle);
-                }
-
-                textState = this.textState_;
-                var font = textStyle.getFont() || ol.render.canvas.defaultFont;
-                //ol.render.canvas.checkFont(font);  // FIXME sunyl
-                var textScale = textStyle.getScale();
-                textState.overflow = textStyle.getOverflow();
-                textState.font = font;
-                textState.maxAngle = textStyle.getMaxAngle();
-                textState.placement = textStyle.getPlacement();
-                textState.textAlign = textStyle.getTextAlign();
-                textState.textBaseline = textStyle.getTextBaseline() || ol.render.canvas.defaultTextBaseline;
-                textState.backgroundFill = textStyle.getBackgroundFill();
-                textState.backgroundStroke = textStyle.getBackgroundStroke();
-                textState.padding = textStyle.getPadding() || ol.render.canvas.defaultPadding;
-                textState.scale = textScale === undefined ? 1 : textScale;
-
-                var textOffsetX = textStyle.getOffsetX();
-                var textOffsetY = textStyle.getOffsetY();
-                var textRotateWithView = textStyle.getRotateWithView();
-                var textRotation = textStyle.getRotation();
-                this.text_ = textStyle.getText() || '';
-                this.textOffsetX_ = textOffsetX === undefined ? 0 : textOffsetX;
-                this.textOffsetY_ = textOffsetY === undefined ? 0 : textOffsetY;
-                this.textRotateWithView_ = textRotateWithView === undefined ? false : textRotateWithView;
-                this.textRotation_ = textRotation === undefined ? 0 : textRotation;
-
-                this.strokeKey_ = strokeState ?
-                    (typeof strokeState.strokeStyle == 'string' ? strokeState.strokeStyle : ol.getUid(strokeState.strokeStyle)) +
-                        strokeState.lineCap + strokeState.lineDashOffset + '|' + strokeState.lineWidth +
-                        strokeState.lineJoin + strokeState.miterLimit + '[' + strokeState.lineDash.join() + ']' :
-                    '';
-                this.textKey_ = textState.font + textState.scale + (textState.textAlign || '?');
-                this.fillKey_ = fillState ?
-                    (typeof fillState.fillStyle == 'string' ? fillState.fillStyle : ('|' + ol.getUid(fillState.fillStyle))) :
-                    '';
-            }
-        };
-
-        /**
-         * @constructor
-         * @extends {ol.render.ReplayGroup}
-         * @param {number} tolerance Tolerance.
-         * @param {ol.Extent} maxExtent Max extent.
-         * @param {number} resolution Resolution.
-         * @param {number} pixelRatio Pixel ratio.
-         * @param {boolean} overlaps The replay group can have overlapping geometries.
-         * @param {?} declutterTree Declutter tree
-         * for declutter processing in postrender.
-         * @param {number=} opt_renderBuffer Optional rendering buffer.
-         * @struct
-         */
-        ol.render.canvas.ReplayGroup = function(
-            tolerance, maxExtent, resolution, pixelRatio, overlaps, declutterTree, opt_renderBuffer) {
-            ol.render.ReplayGroup.call(this);
-
-            /**
-             * Declutter tree.
-             * @private
-             */
-            this.declutterTree_ = declutterTree;
-
-            /**
-             * @type {ol.DeclutterGroup}
-             * @private
-             */
-            this.declutterGroup_ = null;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.tolerance_ = tolerance;
-
-            /**
-             * @private
-             * @type {ol.Extent}
-             */
-            this.maxExtent_ = maxExtent;
-
-            /**
-             * @private
-             * @type {boolean}
-             */
-            this.overlaps_ = overlaps;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.pixelRatio_ = pixelRatio;
-
-            /**
-             * @private
-             * @type {number}
-             */
-            this.resolution_ = resolution;
-
-            /**
-             * @private
-             * @type {number|undefined}
-             */
-            this.renderBuffer_ = opt_renderBuffer;
-
-            /**
-             * @private
-             * @type {!Object.<string,
-       *        Object.<ol.render.ReplayType, ol.render.canvas.Replay>>}
-             */
-            this.replaysByZIndex_ = {};
-
-            /**
-             * @private
-             * @type {CanvasRenderingContext2D}
-             */
-            // FIXME
-            this.hitDetectionContext_ = null;
-
-            /**
-             * @private
-             * @type {ol.Transform}
-             */
-            this.hitDetectionTransform_ = ol.transform.create();
-        };
-        ol.inherits(ol.render.canvas.ReplayGroup, ol.render.ReplayGroup);
-
-
-        /**
-         * This cache is used for storing calculated pixel circles for increasing performance.
-         * It is a static property to allow each Replaygroup to access it.
-         * @type {Object.<number, Array.<Array.<(boolean|undefined)>>>}
-         * @private
-         */
-        ol.render.canvas.ReplayGroup.circleArrayCache_ = {
-            0: [[true]]
-        };
-
-
-        /**
-         * This method fills a row in the array from the given coordinate to the
-         * middle with `true`.
-         * @param {Array.<Array.<(boolean|undefined)>>} array The array that will be altered.
-         * @param {number} x X coordinate.
-         * @param {number} y Y coordinate.
-         * @private
-         */
-        ol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_ = function(array, x, y) {
-            var i;
-            var radius = Math.floor(array.length / 2);
-            if (x >= radius) {
-                for (i = radius; i < x; i++) {
-                    array[i][y] = true;
-                }
-            } else if (x < radius) {
-                for (i = x + 1; i < radius; i++) {
-                    array[i][y] = true;
-                }
-            }
-        };
-
-
-        /**
-         * This methods creates a circle inside a fitting array. Points inside the
-         * circle are marked by true, points on the outside are undefined.
-         * It uses the midpoint circle algorithm.
-         * A cache is used to increase performance.
-         * @param {number} radius Radius.
-         * @returns {Array.<Array.<(boolean|undefined)>>} An array with marked circle points.
-         * @private
-         */
-        ol.render.canvas.ReplayGroup.getCircleArray_ = function(radius) {
-            if (ol.render.canvas.ReplayGroup.circleArrayCache_[radius] !== undefined) {
-                return ol.render.canvas.ReplayGroup.circleArrayCache_[radius];
-            }
-
-            var arraySize = radius * 2 + 1;
-            var arr = new Array(arraySize);
-            for (var i = 0; i < arraySize; i++) {
-                arr[i] = new Array(arraySize);
-            }
-
-            var x = radius;
-            var y = 0;
-            var error = 0;
-
-            while (x >= y) {
-                ol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius + x, radius + y);
-                ol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius + y, radius + x);
-                ol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius - y, radius + x);
-                ol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius - x, radius + y);
-                ol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius - x, radius - y);
-                ol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius - y, radius - x);
-                ol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius + y, radius - x);
-                ol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius + x, radius - y);
-
-                y++;
-                error += 1 + 2 * y;
-                if (2 * (error - x) + 1 > 0) {
-                    x -= 1;
-                    error += 1 - 2 * x;
-                }
-            }
-
-            ol.render.canvas.ReplayGroup.circleArrayCache_[radius] = arr;
-            return arr;
-        };
-
-
-        /**
-         * @param {!Object.<string, Array.<*>>} declutterReplays Declutter replays.
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {number} rotation Rotation.
-         */
-        ol.render.canvas.ReplayGroup.replayDeclutter = function(declutterReplays, context, rotation) {
-            var zs = Object.keys(declutterReplays).map(Number).sort(ol.array.numberSafeCompareFunction);
-            var skippedFeatureUids = {};
-            for (var z = 0, zz = zs.length; z < zz; ++z) {
-                var replayData = declutterReplays[zs[z].toString()];
-                for (var i = 0, ii = replayData.length; i < ii;) {
-                    var replay = replayData[i++];
-                    var transform = replayData[i++];
-                    replay.replay(context, transform, rotation, skippedFeatureUids);
-                }
-            }
-        };
-
-
-        /**
-         * @param {boolean} group Group with previous replay.
-         * @return {ol.DeclutterGroup} Declutter instruction group.
-         */
-        ol.render.canvas.ReplayGroup.prototype.addDeclutter = function(group) {
-            var declutter = null;
-            if (this.declutterTree_) {
-                if (group) {
-                    declutter = this.declutterGroup_;
-                    /** @type {number} */ (declutter[4])++;
-                } else {
-                    declutter = this.declutterGroup_ = ol.extent.createEmpty();
-                    declutter.push(1);
-                }
-            }
-            return declutter;
-        };
-
-
-        /**
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {ol.Transform} transform Transform.
-         */
-        ol.render.canvas.ReplayGroup.prototype.clip = function(context, transform) {
-            var flatClipCoords = this.getClipCoords(transform);
-            context.beginPath();
-            context.moveTo(flatClipCoords[0], flatClipCoords[1]);
-            context.lineTo(flatClipCoords[2], flatClipCoords[3]);
-            context.lineTo(flatClipCoords[4], flatClipCoords[5]);
-            context.lineTo(flatClipCoords[6], flatClipCoords[7]);
-            context.clip();
-        };
-
-
-        /**
-         * @param {Array.<ol.render.ReplayType>} replays Replays.
-         * @return {boolean} Has replays of the provided types.
-         */
-        ol.render.canvas.ReplayGroup.prototype.hasReplays = function(replays) {
-            for (var zIndex in this.replaysByZIndex_) {
-                var candidates = this.replaysByZIndex_[zIndex];
-                for (var i = 0, ii = replays.length; i < ii; ++i) {
-                    if (replays[i] in candidates) {
-                        return true;
-                    }
-                }
-            }
-            return false;
-        };
-
-
-        /**
-         * FIXME empty description for jsdoc
-         */
-        ol.render.canvas.ReplayGroup.prototype.finish = function() {
-            var zKey;
-            for (zKey in this.replaysByZIndex_) {
-                var replays = this.replaysByZIndex_[zKey];
-                var replayKey;
-                for (replayKey in replays) {
-                    replays[replayKey].finish();
-                }
-            }
-        };
-
-
-        /**
-         * @param {ol.Coordinate} coordinate Coordinate.
-         * @param {number} resolution Resolution.
-         * @param {number} rotation Rotation.
-         * @param {number} hitTolerance Hit tolerance in pixels.
-         * @param {Object.<string, boolean>} skippedFeaturesHash Ids of features
-         *     to skip.
-         * @param {function((ol.Feature|ol.render.Feature)): T} callback Feature
-         *     callback.
-         * @param {Object.<string, ol.DeclutterGroup>} declutterReplays Declutter
-         *     replays.
-         * @return {T|undefined} Callback result.
-         * @template T
-         */
-        ol.render.canvas.ReplayGroup.prototype.forEachFeatureAtCoordinate = function(
-            coordinate, resolution, rotation, hitTolerance, skippedFeaturesHash, callback, declutterReplays) {
-
-            hitTolerance = Math.round(hitTolerance);
-            var contextSize = hitTolerance * 2 + 1;
-            var transform = ol.transform.compose(this.hitDetectionTransform_,
-                hitTolerance + 0.5, hitTolerance + 0.5,
-                1 / resolution, -1 / resolution,
-                -rotation,
-                -coordinate[0], -coordinate[1]);
-            var context = this.hitDetectionContext_;
-
-            if (context.canvas.width !== contextSize || context.canvas.height !== contextSize) {
-                context.canvas.width = contextSize;
-                context.canvas.height = contextSize;
-            } else {
-                context.clearRect(0, 0, contextSize, contextSize);
-            }
-
-            /**
-             * @type {ol.Extent}
-             */
-            var hitExtent;
-            if (this.renderBuffer_ !== undefined) {
-                hitExtent = ol.extent.createEmpty();
-                ol.extent.extendCoordinate(hitExtent, coordinate);
-                ol.extent.buffer(hitExtent, resolution * (this.renderBuffer_ + hitTolerance), hitExtent);
-            }
-
-            var mask = ol.render.canvas.ReplayGroup.getCircleArray_(hitTolerance);
-            var declutteredFeatures;
-            if (this.declutterTree_) {
-                declutteredFeatures = this.declutterTree_.all().map(function(entry) {
-                    return entry.value;
-                });
-            }
-
-            var replayType;
-
-            /**
-             * @param {ol.Feature|ol.render.Feature} feature Feature.
-             * @return {?} Callback result.
-             */
-            function featureCallback(feature) {
-                var imageData = context.getImageData(0, 0, contextSize, contextSize).data;
-                for (var i = 0; i < contextSize; i++) {
-                    for (var j = 0; j < contextSize; j++) {
-                        if (mask[i][j]) {
-                            if (imageData[(j * contextSize + i) * 4 + 3] > 0) {
-                                var result;
-                                if (!(declutteredFeatures && (replayType == ol.render.ReplayType.IMAGE || replayType == ol.render.ReplayType.TEXT)) ||
-                                    declutteredFeatures.indexOf(feature) !== -1) {
-                                    result = callback(feature);
-                                }
-                                if (result) {
-                                    return result;
-                                } else {
-                                    context.clearRect(0, 0, contextSize, contextSize);
-                                    return undefined;
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-
-            /** @type {Array.<number>} */
-            var zs = Object.keys(this.replaysByZIndex_).map(Number);
-            zs.sort(ol.array.numberSafeCompareFunction);
-
-            var i, j, replays, replay, result;
-            for (i = zs.length - 1; i >= 0; --i) {
-                var zIndexKey = zs[i].toString();
-                replays = this.replaysByZIndex_[zIndexKey];
-                for (j = ol.render.replay.ORDER.length - 1; j >= 0; --j) {
-                    replayType = ol.render.replay.ORDER[j];
-                    replay = replays[replayType];
-                    if (replay !== undefined) {
-                        if (declutterReplays &&
-                            (replayType == ol.render.ReplayType.IMAGE || replayType == ol.render.ReplayType.TEXT)) {
-                            var declutter = declutterReplays[zIndexKey];
-                            if (!declutter) {
-                                declutterReplays[zIndexKey] = [replay, transform.slice(0)];
-                            } else {
-                                declutter.push(replay, transform.slice(0));
-                            }
-                        } else {
-                            result = replay.replayHitDetection(context, transform, rotation,
-                                skippedFeaturesHash, featureCallback, hitExtent);
-                            if (result) {
-                                return result;
-                            }
-                        }
-                    }
-                }
-            }
-            return undefined;
-        };
-
-
-        /**
-         * @param {ol.Transform} transform Transform.
-         * @return {Array.<number>} Clip coordinates.
-         */
-        ol.render.canvas.ReplayGroup.prototype.getClipCoords = function(transform) {
-            var maxExtent = this.maxExtent_;
-            var minX = maxExtent[0];
-            var minY = maxExtent[1];
-            var maxX = maxExtent[2];
-            var maxY = maxExtent[3];
-            var flatClipCoords = [minX, minY, minX, maxY, maxX, maxY, maxX, minY];
-            ol.geom.flat.transform.transform2D(
-                flatClipCoords, 0, 8, 2, transform, flatClipCoords);
-            return flatClipCoords;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.ReplayGroup.prototype.getReplay = function(zIndex, replayType) {
-            var zIndexKey = zIndex !== undefined ? zIndex.toString() : '0';
-            var replays = this.replaysByZIndex_[zIndexKey];
-            if (replays === undefined) {
-                replays = {};
-                this.replaysByZIndex_[zIndexKey] = replays;
-            }
-            var replay = replays[replayType];
-            if (replay === undefined) {
-                var Constructor = ol.render.canvas.ReplayGroup.BATCH_CONSTRUCTORS_[replayType];
-                replay = new Constructor(this.tolerance_, this.maxExtent_,
-                    this.resolution_, this.pixelRatio_, this.overlaps_, this.declutterTree_);
-                replays[replayType] = replay;
-            }
-            return replay;
-        };
-
-
-        /**
-         * @return {Object.<string, Object.<ol.render.ReplayType, ol.render.canvas.Replay>>} Replays.
-         */
-        ol.render.canvas.ReplayGroup.prototype.getReplays = function() {
-            return this.replaysByZIndex_;
-        };
-
-
-        /**
-         * @inheritDoc
-         */
-        ol.render.canvas.ReplayGroup.prototype.isEmpty = function() {
-            return ol.obj.isEmpty(this.replaysByZIndex_);
-        };
-
-
-        /**
-         * @param {CanvasRenderingContext2D} context Context.
-         * @param {ol.Transform} transform Transform.
-         * @param {number} viewRotation View rotation.
-         * @param {Object.<string, boolean>} skippedFeaturesHash Ids of features
-         *     to skip.
-         * @param {Array.<ol.render.ReplayType>=} opt_replayTypes Ordered replay types
-         *     to replay. Default is {@link ol.render.replay.ORDER}
-         * @param {Object.<string, ol.DeclutterGroup>=} opt_declutterReplays Declutter
-         *     replays.
-         */
-        ol.render.canvas.ReplayGroup.prototype.replay = function(context,
-                                                                 transform, viewRotation, skippedFeaturesHash, opt_replayTypes, opt_declutterReplays) {
-
-            /** @type {Array.<number>} */
-            var zs = Object.keys(this.replaysByZIndex_).map(Number);
-            zs.sort(ol.array.numberSafeCompareFunction);
-
-            // setup clipping so that the parts of over-simplified geometries are not
-            // visible outside the current extent when panning
-            context.save();
-            this.clip(context, transform);
-
-            var replayTypes = opt_replayTypes ? opt_replayTypes : ol.render.replay.ORDER;
-            var i, ii, j, jj, replays, replay;
-            for (i = 0, ii = zs.length; i < ii; ++i) {
-                var zIndexKey = zs[i].toString();
-                replays = this.replaysByZIndex_[zIndexKey];
-                for (j = 0, jj = replayTypes.length; j < jj; ++j) {
-                    var replayType = replayTypes[j];
-                    replay = replays[replayType];
-                    if (replay !== undefined) {
-                        if (opt_declutterReplays &&
-                            (replayType == ol.render.ReplayType.IMAGE || replayType == ol.render.ReplayType.TEXT)) {
-                            var declutter = opt_declutterReplays[zIndexKey];
-                            if (!declutter) {
-                                opt_declutterReplays[zIndexKey] = [replay, transform.slice(0)];
-                            } else {
-                                declutter.push(replay, transform.slice(0));
-                            }
-                        } else {
-                            replay.replay(context, transform, viewRotation, skippedFeaturesHash);
-                        }
-                    }
-                }
-            }
-
-            context.restore();
-        };
-
-
-        /**
-         * @const
-         * @private
-         * @type {Object.<ol.render.ReplayType,
-     *                function(new: ol.render.canvas.Replay, number, ol.Extent,
-     *                number, number, boolean, Array.<ol.DeclutterGroup>)>}
-         */
-        ol.render.canvas.ReplayGroup.BATCH_CONSTRUCTORS_ = {
-            'Circle': ol.render.canvas.PolygonReplay,
-            'Default': ol.render.canvas.Replay,
-            'Image': ol.render.canvas.ImageReplay,
-            'LineString': ol.render.canvas.LineStringReplay,
-            'Polygon': ol.render.canvas.PolygonReplay,
-            'Text': ol.render.canvas.TextReplay
-        };
-
-        ol.renderer = {};
-        ol.renderer.vector = {};
-
-        /**
-         * @param {ol.Feature|ol.render.Feature} feature1 Feature 1.
-         * @param {ol.Feature|ol.render.Feature} feature2 Feature 2.
-         * @return {number} Order.
-         */
-        ol.renderer.vector.defaultOrder = function(feature1, feature2) {
-            return ol.getUid(feature1) - ol.getUid(feature2);
-        };
-
-
-        /**
-         * @param {number} resolution Resolution.
-         * @param {number} pixelRatio Pixel ratio.
-         * @return {number} Squared pixel tolerance.
-         */
-        ol.renderer.vector.getSquaredTolerance = function(resolution, pixelRatio) {
-            var tolerance = ol.renderer.vector.getTolerance(resolution, pixelRatio);
-            return tolerance * tolerance;
-        };
-
-
-        /**
-         * @param {number} resolution Resolution.
-         * @param {number} pixelRatio Pixel ratio.
-         * @return {number} Pixel tolerance.
-         */
-        ol.renderer.vector.getTolerance = function(resolution, pixelRatio) {
-            return ol.SIMPLIFY_TOLERANCE * resolution / pixelRatio;
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.geom.Circle} geometry Geometry.
-         * @param {ol.style.Style} style Style.
-         * @param {ol.Feature} feature Feature.
-         * @private
-         */
-        ol.renderer.vector.renderCircleGeometry_ = function(replayGroup, geometry, style, feature) {
-            var fillStyle = style.getFill();
-            var strokeStyle = style.getStroke();
-            if (fillStyle || strokeStyle) {
-                var circleReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.CIRCLE);
-                circleReplay.setFillStrokeStyle(fillStyle, strokeStyle);
-                circleReplay.drawCircle(geometry, feature);
-            }
-            var textStyle = style.getText();
-            if (textStyle) {
-                var textReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.TEXT);
-                textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false));
-                textReplay.drawText(geometry, feature);
-            }
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         * @param {ol.style.Style} style Style.
-         * @param {number} squaredTolerance Squared tolerance.
-         * @param {function(this: T, ol.events.Event)} listener Listener function.
-         * @param {T} thisArg Value to use as `this` when executing `listener`.
-         * @return {boolean} `true` if style is loading.
-         * @template T
-         */
-        ol.renderer.vector.renderFeature = function(
-            replayGroup, feature, style, squaredTolerance, listener, thisArg) {
-            var loading = false;
-            var imageStyle, imageState;
-            imageStyle = style.getImage();
-            if (imageStyle) {
-                imageState = imageStyle.getImageState();
-                if (imageState == ol.ImageState.LOADED ||
-                    imageState == ol.ImageState.ERROR) {
-                    imageStyle.unlistenImageChange(listener, thisArg);
-                } else {
-                    if (imageState == ol.ImageState.IDLE) {
-                        imageStyle.load();
-                    }
-                    imageState = imageStyle.getImageState();
-                    imageStyle.listenImageChange(listener, thisArg);
-                    loading = true;
-                }
-            }
-            ol.renderer.vector.renderFeature_(replayGroup, feature, style,
-                squaredTolerance);
-
-            return loading;
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         * @param {ol.style.Style} style Style.
-         * @param {number} squaredTolerance Squared tolerance.
-         * @private
-         */
-        ol.renderer.vector.renderFeature_ = function(
-            replayGroup, feature, style, squaredTolerance) {
-            var geometry = style.getGeometryFunction()(feature);
-            if (!geometry) {
-                return;
-            }
-            var simplifiedGeometry = geometry.getSimplifiedGeometry(squaredTolerance);
-            var renderer = style.getRenderer();
-            if (renderer) {
-                ol.renderer.vector.renderGeometry_(replayGroup, simplifiedGeometry, style, feature);
-            } else {
-                var geometryRenderer =
-                    ol.renderer.vector.GEOMETRY_RENDERERS_[simplifiedGeometry.getType()];
-                geometryRenderer(replayGroup, simplifiedGeometry, style, feature);
-            }
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.geom.Geometry} geometry Geometry.
-         * @param {ol.style.Style} style Style.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         * @private
-         */
-        ol.renderer.vector.renderGeometry_ = function(replayGroup, geometry, style, feature) {
-            if (geometry.getType() == ol.geom.GeometryType.GEOMETRY_COLLECTION) {
-                var geometries = /** @type {ol.geom.GeometryCollection} */ (geometry).getGeometries();
-                for (var i = 0, ii = geometries.length; i < ii; ++i) {
-                    ol.renderer.vector.renderGeometry_(replayGroup, geometries[i], style, feature);
-                }
-                return;
-            }
-            var replay = replayGroup.getReplay(style.getZIndex(), ol.render.ReplayType.DEFAULT);
-            replay.drawCustom(/** @type {ol.geom.SimpleGeometry} */ (geometry), feature, style.getRenderer());
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.geom.GeometryCollection} geometry Geometry.
-         * @param {ol.style.Style} style Style.
-         * @param {ol.Feature} feature Feature.
-         * @private
-         */
-        ol.renderer.vector.renderGeometryCollectionGeometry_ = function(replayGroup, geometry, style, feature) {
-            var geometries = geometry.getGeometriesArray();
-            var i, ii;
-            for (i = 0, ii = geometries.length; i < ii; ++i) {
-                var geometryRenderer =
-                    ol.renderer.vector.GEOMETRY_RENDERERS_[geometries[i].getType()];
-                geometryRenderer(replayGroup, geometries[i], style, feature);
-            }
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.geom.LineString|ol.render.Feature} geometry Geometry.
-         * @param {ol.style.Style} style Style.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         * @private
-         */
-        ol.renderer.vector.renderLineStringGeometry_ = function(replayGroup, geometry, style, feature) {
-            var strokeStyle = style.getStroke();
-            if (strokeStyle) {
-                var lineStringReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.LINE_STRING);
-                lineStringReplay.setFillStrokeStyle(null, strokeStyle);
-                lineStringReplay.drawLineString(geometry, feature);
-            }
-            var textStyle = style.getText();
-            if (textStyle) {
-                var textReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.TEXT);
-                textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false));
-                textReplay.drawText(geometry, feature);
-            }
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.geom.MultiLineString|ol.render.Feature} geometry Geometry.
-         * @param {ol.style.Style} style Style.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         * @private
-         */
-        ol.renderer.vector.renderMultiLineStringGeometry_ = function(replayGroup, geometry, style, feature) {
-            var strokeStyle = style.getStroke();
-            if (strokeStyle) {
-                var lineStringReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.LINE_STRING);
-                lineStringReplay.setFillStrokeStyle(null, strokeStyle);
-                lineStringReplay.drawMultiLineString(geometry, feature);
-            }
-            var textStyle = style.getText();
-            if (textStyle) {
-                var textReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.TEXT);
-                textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false));
-                textReplay.drawText(geometry, feature);
-            }
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.geom.MultiPolygon} geometry Geometry.
-         * @param {ol.style.Style} style Style.
-         * @param {ol.Feature} feature Feature.
-         * @private
-         */
-        ol.renderer.vector.renderMultiPolygonGeometry_ = function(replayGroup, geometry, style, feature) {
-            var fillStyle = style.getFill();
-            var strokeStyle = style.getStroke();
-            if (strokeStyle || fillStyle) {
-                var polygonReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.POLYGON);
-                polygonReplay.setFillStrokeStyle(fillStyle, strokeStyle);
-                polygonReplay.drawMultiPolygon(geometry, feature);
-            }
-            var textStyle = style.getText();
-            if (textStyle) {
-                var textReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.TEXT);
-                textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false));
-                textReplay.drawText(geometry, feature);
-            }
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.geom.Point|ol.render.Feature} geometry Geometry.
-         * @param {ol.style.Style} style Style.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         * @private
-         */
-        ol.renderer.vector.renderPointGeometry_ = function(replayGroup, geometry, style, feature) {
-            var imageStyle = style.getImage();
-            if (imageStyle) {
-                if (imageStyle.getImageState() != ol.ImageState.LOADED) {
-                    return;
-                }
-                var imageReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.IMAGE);
-                imageReplay.setImageStyle(imageStyle, replayGroup.addDeclutter(false));
-                imageReplay.drawPoint(geometry, feature);
-            }
-            var textStyle = style.getText();
-            if (textStyle) {
-                var textReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.TEXT);
-                textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(!!imageStyle));
-                textReplay.drawText(geometry, feature);
-            }
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.geom.MultiPoint|ol.render.Feature} geometry Geometry.
-         * @param {ol.style.Style} style Style.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         * @private
-         */
-        ol.renderer.vector.renderMultiPointGeometry_ = function(replayGroup, geometry, style, feature) {
-            var imageStyle = style.getImage();
-            if (imageStyle) {
-                if (imageStyle.getImageState() != ol.ImageState.LOADED) {
-                    return;
-                }
-                var imageReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.IMAGE);
-                imageReplay.setImageStyle(imageStyle, replayGroup.addDeclutter(false));
-                imageReplay.drawMultiPoint(geometry, feature);
-            }
-            var textStyle = style.getText();
-            if (textStyle) {
-                var textReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.TEXT);
-                textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(!!imageStyle));
-                textReplay.drawText(geometry, feature);
-            }
-        };
-
-
-        /**
-         * @param {ol.render.ReplayGroup} replayGroup Replay group.
-         * @param {ol.geom.Polygon|ol.render.Feature} geometry Geometry.
-         * @param {ol.style.Style} style Style.
-         * @param {ol.Feature|ol.render.Feature} feature Feature.
-         * @private
-         */
-        ol.renderer.vector.renderPolygonGeometry_ = function(replayGroup, geometry, style, feature) {
-            var fillStyle = style.getFill();
-            var strokeStyle = style.getStroke();
-            if (fillStyle || strokeStyle) {
-                var polygonReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.POLYGON);
-                polygonReplay.setFillStrokeStyle(fillStyle, strokeStyle);
-                polygonReplay.drawPolygon(geometry, feature);
-            }
-            var textStyle = style.getText();
-            if (textStyle) {
-                var textReplay = replayGroup.getReplay(
-                    style.getZIndex(), ol.render.ReplayType.TEXT);
-                textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false));
-                textReplay.drawText(geometry, feature);
-            }
-        };
-
-
-        /**
-         * @const
-         * @private
-         * @type {Object.<ol.geom.GeometryType,
-     *                function(ol.render.ReplayGroup, ol.geom.Geometry,
-     *                         ol.style.Style, Object)>}
-         */
-        ol.renderer.vector.GEOMETRY_RENDERERS_ = {
-            'Point': ol.renderer.vector.renderPointGeometry_,
-            'LineString': ol.renderer.vector.renderLineStringGeometry_,
-            'Polygon': ol.renderer.vector.renderPolygonGeometry_,
-            'MultiPoint': ol.renderer.vector.renderMultiPointGeometry_,
-            'MultiLineString': ol.renderer.vector.renderMultiLineStringGeometry_,
-            'MultiPolygon': ol.renderer.vector.renderMultiPolygonGeometry_,
-            'GeometryCollection': ol.renderer.vector.renderGeometryCollectionGeometry_,
-            'Circle': ol.renderer.vector.renderCircleGeometry_
-        };
-
-    var spriteImageCanvas = {};
-
-    var mvtStyleClass = new MvtStyle(ol, true);
-    var mvtRenderer2D = new MvtRenderer2D({
-        mvtStyle: mvtStyleClass,
-        openlayer: ol,
-        useOffscreen: true
-    });
-
-    function MVTWorker(parameters, transferableObjects) {
-        var canvas = new OffscreenCanvas(parameters.canvasWidth, parameters.canvasWidth);
-        var idCanvas = new OffscreenCanvas(parameters.canvasWidth, parameters.canvasWidth);
-        var pbfData = parameters.pbfData;
-        var layers = parameters.layers;
-        var transform = parameters.transform;
-        var squaredTolerance = parameters.squaredTolerance;
-        var spriteImageDatas = parameters.spriteImageDatas;
-        var keepProperties = parameters.keepProperties;
-        var tileLevel = parameters.tileLevel;
-        var needSourceLayerNames = parameters.needSourceLayerNames;
-        var selectEnabled = parameters.selectEnabled;
-        var featureProperties = {};
-
-        try {
-            var mvtParser = new ol.format.MVT({
-                featureClass: ol.Feature
-            });
-            var features = mvtParser.readFeatures(pbfData, {
-                needSourceLayerNames: needSourceLayerNames
-            });
-            var renderResult = mvtRenderer2D.renderFeatures({
-                colorCanvas: canvas,
-                idCanvas: idCanvas,
-                transform: transform,
-                layers: layers,
-                features: features,
-                tileLevel: tileLevel,
-                spriteImageCanvas: spriteImageCanvas,
-                spriteImageDatas: spriteImageDatas,
-                squaredTolerance: squaredTolerance,
-                selectEnabled: selectEnabled,
-                showBillboard: false
-            });
-
-            if (keepProperties) {
-                var featuresToRender = renderResult.idFeatures;
-                var featuresToRenderLength = featuresToRender.length;
-                for (var i = 0; i < featuresToRenderLength; i++) {
-                    var feature = featuresToRender[i];
-                    var featureID = getFeatureID$1(feature);
-                    var propertiesWithoutGeometry = feature.getProperties();
-                    if (when.defined(propertiesWithoutGeometry.geometry)) {
-                        delete propertiesWithoutGeometry.geometry;
-                    }
-                    featureProperties[featureID] = propertiesWithoutGeometry;
-                }
-            }
-        }
-        catch (err) {
-        }
-
-        var imageBitmap = canvas.transferToImageBitmap();
-        var idImageBitmap = selectEnabled ? idCanvas.transferToImageBitmap() : null;
-        transferableObjects.push(imageBitmap);
-        return {
-            buffer: imageBitmap,
-            idBuffer: idImageBitmap,
-            properties: featureProperties
-        };
-    }
-
-    function getFeatureID$1(feature) {
-        var id = feature.getId();
-        // 只在颜色中记录256*256*256这么大范围的ID,超过这个范围的ID舍去
-        var discard = Math.floor(id / 16777216);
-        id = id - discard * 16777216;
-        return id;
-    }
-
-    var MVTWorker$1 = createTaskProcessorWorker(MVTWorker);
-
-    return MVTWorker$1;
-
-});
diff --git a/libs/supermap/Workers/Math-61ede240.js b/libs/supermap/Workers/Math-61ede240.js
deleted file mode 100644
index 01a2b20..0000000
--- a/libs/supermap/Workers/Math-61ede240.js
+++ /dev/null
@@ -1,1250 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281'], function (exports, when, Check) { 'use strict';
-
-  /*
-    I've wrapped Makoto Matsumoto and Takuji Nishimura's code in a namespace
-    so it's better encapsulated. Now you can have multiple random number generators
-    and they won't stomp all over eachother's state.
-
-    If you want to use this as a substitute for Math.random(), use the random()
-    method like so:
-
-    var m = new MersenneTwister();
-    var randomNumber = m.random();
-
-    You can also call the other genrand_{foo}() methods on the instance.
-
-    If you want to use a specific seed in order to get a repeatable random
-    sequence, pass an integer into the constructor:
-
-    var m = new MersenneTwister(123);
-
-    and that will always produce the same random sequence.
-
-    Sean McCullough (banksean@gmail.com)
-  */
-
-  /*
-     A C-program for MT19937, with initialization improved 2002/1/26.
-     Coded by Takuji Nishimura and Makoto Matsumoto.
-
-     Before using, initialize the state by using init_genrand(seed)
-     or init_by_array(init_key, key_length).
-  */
-  /**
-  @license
-  mersenne-twister.js - https://gist.github.com/banksean/300494
-
-     Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
-     All rights reserved.
-
-     Redistribution and use in source and binary forms, with or without
-     modification, are permitted provided that the following conditions
-     are met:
-
-       1. Redistributions of source code must retain the above copyright
-          notice, this list of conditions and the following disclaimer.
-
-       2. Redistributions in binary form must reproduce the above copyright
-          notice, this list of conditions and the following disclaimer in the
-          documentation and/or other materials provided with the distribution.
-
-       3. The names of its contributors may not be used to endorse or promote
-          products derived from this software without specific prior written
-          permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-     "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-     A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-     CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-     EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-     PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-     PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-     LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-     NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  */
-  /*
-     Any feedback is very welcome.
-     http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
-     email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)
-  */
-
-  var MersenneTwister = function(seed) {
-    if (seed == undefined) {
-      seed = new Date().getTime();
-    }
-    /* Period parameters */
-    this.N = 624;
-    this.M = 397;
-    this.MATRIX_A = 0x9908b0df;   /* constant vector a */
-    this.UPPER_MASK = 0x80000000; /* most significant w-r bits */
-    this.LOWER_MASK = 0x7fffffff; /* least significant r bits */
-
-    this.mt = new Array(this.N); /* the array for the state vector */
-    this.mti=this.N+1; /* mti==N+1 means mt[N] is not initialized */
-
-    this.init_genrand(seed);
-  };
-
-  /* initializes mt[N] with a seed */
-  MersenneTwister.prototype.init_genrand = function(s) {
-    this.mt[0] = s >>> 0;
-    for (this.mti=1; this.mti<this.N; this.mti++) {
-        var s = this.mt[this.mti-1] ^ (this.mt[this.mti-1] >>> 30);
-     this.mt[this.mti] = (((((s & 0xffff0000) >>> 16) * 1812433253) << 16) + (s & 0x0000ffff) * 1812433253)
-    + this.mti;
-        /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */
-        /* In the previous versions, MSBs of the seed affect   */
-        /* only MSBs of the array mt[].                        */
-        /* 2002/01/09 modified by Makoto Matsumoto             */
-        this.mt[this.mti] >>>= 0;
-        /* for >32 bit machines */
-    }
-  };
-
-  /* initialize by an array with array-length */
-  /* init_key is the array for initializing keys */
-  /* key_length is its length */
-  /* slight change for C++, 2004/2/26 */
-  //MersenneTwister.prototype.init_by_array = function(init_key, key_length) {
-  //  var i, j, k;
-  //  this.init_genrand(19650218);
-  //  i=1; j=0;
-  //  k = (this.N>key_length ? this.N : key_length);
-  //  for (; k; k--) {
-  //    var s = this.mt[i-1] ^ (this.mt[i-1] >>> 30)
-  //    this.mt[i] = (this.mt[i] ^ (((((s & 0xffff0000) >>> 16) * 1664525) << 16) + ((s & 0x0000ffff) * 1664525)))
-  //      + init_key[j] + j; /* non linear */
-  //    this.mt[i] >>>= 0; /* for WORDSIZE > 32 machines */
-  //    i++; j++;
-  //    if (i>=this.N) { this.mt[0] = this.mt[this.N-1]; i=1; }
-  //    if (j>=key_length) j=0;
-  //  }
-  //  for (k=this.N-1; k; k--) {
-  //    var s = this.mt[i-1] ^ (this.mt[i-1] >>> 30);
-  //    this.mt[i] = (this.mt[i] ^ (((((s & 0xffff0000) >>> 16) * 1566083941) << 16) + (s & 0x0000ffff) * 1566083941))
-  //      - i; /* non linear */
-  //    this.mt[i] >>>= 0; /* for WORDSIZE > 32 machines */
-  //    i++;
-  //    if (i>=this.N) { this.mt[0] = this.mt[this.N-1]; i=1; }
-  //  }
-  //
-  //  this.mt[0] = 0x80000000; /* MSB is 1; assuring non-zero initial array */
-  //}
-
-  /* generates a random number on [0,0xffffffff]-interval */
-  MersenneTwister.prototype.genrand_int32 = function() {
-    var y;
-    var mag01 = new Array(0x0, this.MATRIX_A);
-    /* mag01[x] = x * MATRIX_A  for x=0,1 */
-
-    if (this.mti >= this.N) { /* generate N words at one time */
-      var kk;
-
-      if (this.mti == this.N+1)   /* if init_genrand() has not been called, */
-        this.init_genrand(5489); /* a default initial seed is used */
-
-      for (kk=0;kk<this.N-this.M;kk++) {
-        y = (this.mt[kk]&this.UPPER_MASK)|(this.mt[kk+1]&this.LOWER_MASK);
-        this.mt[kk] = this.mt[kk+this.M] ^ (y >>> 1) ^ mag01[y & 0x1];
-      }
-      for (;kk<this.N-1;kk++) {
-        y = (this.mt[kk]&this.UPPER_MASK)|(this.mt[kk+1]&this.LOWER_MASK);
-        this.mt[kk] = this.mt[kk+(this.M-this.N)] ^ (y >>> 1) ^ mag01[y & 0x1];
-      }
-      y = (this.mt[this.N-1]&this.UPPER_MASK)|(this.mt[0]&this.LOWER_MASK);
-      this.mt[this.N-1] = this.mt[this.M-1] ^ (y >>> 1) ^ mag01[y & 0x1];
-
-      this.mti = 0;
-    }
-
-    y = this.mt[this.mti++];
-
-    /* Tempering */
-    y ^= (y >>> 11);
-    y ^= (y << 7) & 0x9d2c5680;
-    y ^= (y << 15) & 0xefc60000;
-    y ^= (y >>> 18);
-
-    return y >>> 0;
-  };
-
-  /* generates a random number on [0,0x7fffffff]-interval */
-  //MersenneTwister.prototype.genrand_int31 = function() {
-  //  return (this.genrand_int32()>>>1);
-  //}
-
-  /* generates a random number on [0,1]-real-interval */
-  //MersenneTwister.prototype.genrand_real1 = function() {
-  //  return this.genrand_int32()*(1.0/4294967295.0);
-  //  /* divided by 2^32-1 */
-  //}
-
-  /* generates a random number on [0,1)-real-interval */
-  MersenneTwister.prototype.random = function() {
-    return this.genrand_int32()*(1.0/4294967296.0);
-    /* divided by 2^32 */
-  };
-
-  /**
-   * Math functions.
-   *
-   * @exports CesiumMath
-   * @alias Math
-   */
-  var CesiumMath = {};
-
-  CesiumMath.Radius = 6378137.0;
-
-  /**
-   * 0.1
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON1 = 0.1;
-
-  /**
-   * 0.01
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON2 = 0.01;
-
-  /**
-   * 0.001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON3 = 0.001;
-
-  /**
-   * 0.0001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON4 = 0.0001;
-
-  /**
-   * 0.00001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON5 = 0.00001;
-
-  /**
-   * 0.000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON6 = 0.000001;
-
-  /**
-   * 0.0000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON7 = 0.0000001;
-
-  /**
-   * 0.00000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON8 = 0.00000001;
-
-  /**
-   * 0.000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON9 = 0.000000001;
-
-  /**
-   * 0.0000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON10 = 0.0000000001;
-
-  /**
-   * 0.00000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON11 = 0.00000000001;
-
-  /**
-   * 0.000000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON12 = 0.000000000001;
-
-  /**
-   * 0.0000000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON13 = 0.0000000000001;
-
-  /**
-   * 0.00000000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON14 = 0.00000000000001;
-
-  /**
-   * 0.000000000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON15 = 0.000000000000001;
-
-  /**
-   * 0.0000000000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON16 = 0.0000000000000001;
-
-  /**
-   * 0.00000000000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON17 = 0.00000000000000001;
-
-  /**
-   * 0.000000000000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON18 = 0.000000000000000001;
-
-  /**
-   * 0.0000000000000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON19 = 0.0000000000000000001;
-
-  /**
-   * 0.00000000000000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON20 = 0.00000000000000000001;
-
-  /**
-   * 0.000000000000000000001
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.EPSILON21 = 0.000000000000000000001;
-
-  /**
-   * The gravitational parameter of the Earth in meters cubed
-   * per second squared as defined by the WGS84 model: 3.986004418e14
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.GRAVITATIONALPARAMETER = 3.986004418e14;
-
-  /**
-   * Radius of the sun in meters: 6.955e8
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.SOLAR_RADIUS = 6.955e8;
-
-  /**
-   * The mean radius of the moon, according to the "Report of the IAU/IAG Working Group on
-   * Cartographic Coordinates and Rotational Elements of the Planets and satellites: 2000",
-   * Celestial Mechanics 82: 83-110, 2002.
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.LUNAR_RADIUS = 1737400.0;
-
-  /**
-   * 64 * 1024
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.SIXTY_FOUR_KILOBYTES = 64 * 1024;
-
-  /**
-   * Returns the sign of the value; 1 if the value is positive, -1 if the value is
-   * negative, or 0 if the value is 0.
-   *
-   * @function
-   * @param {Number} value The value to return the sign of.
-   * @returns {Number} The sign of value.
-   */
-  CesiumMath.sign = when.defaultValue(Math.sign, function sign(value) {
-      value = +value; // coerce to number
-      if (value === 0 || value !== value) {
-          // zero or NaN
-          return value;
-      }
-      return value > 0 ? 1 : -1;
-  });
-
-  /**
-   * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative.
-   * This is similar to {@link CesiumMath#sign} except that returns 1.0 instead of
-   * 0.0 when the input value is 0.0.
-   * @param {Number} value The value to return the sign of.
-   * @returns {Number} The sign of value.
-   */
-  CesiumMath.signNotZero = function(value) {
-      return value < 0.0 ? -1.0 : 1.0;
-  };
-
-  /**
-   * Converts a scalar value in the range [-1.0, 1.0] to a SNORM in the range [0, rangeMax]
-   * @param {Number} value The scalar value in the range [-1.0, 1.0]
-   * @param {Number} [rangeMax=255] The maximum value in the mapped range, 255 by default.
-   * @returns {Number} A SNORM value, where 0 maps to -1.0 and rangeMax maps to 1.0.
-   *
-   * @see CesiumMath.fromSNorm
-   */
-  CesiumMath.toSNorm = function(value, rangeMax) {
-      rangeMax = when.defaultValue(rangeMax, 255);
-      return Math.round((CesiumMath.clamp(value, -1.0, 1.0) * 0.5 + 0.5) * rangeMax);
-  };
-
-  /**
-   * Converts a SNORM value in the range [0, rangeMax] to a scalar in the range [-1.0, 1.0].
-   * @param {Number} value SNORM value in the range [0, 255]
-   * @param {Number} [rangeMax=255] The maximum value in the SNORM range, 255 by default.
-   * @returns {Number} Scalar in the range [-1.0, 1.0].
-   *
-   * @see CesiumMath.toSNorm
-   */
-  CesiumMath.fromSNorm = function(value, rangeMax) {
-      rangeMax = when.defaultValue(rangeMax, 255);
-      return CesiumMath.clamp(value, 0.0, rangeMax) / rangeMax * 2.0 - 1.0;
-  };
-
-  /**
-   * Converts a scalar value in the range [rangeMinimum, rangeMaximum] to a scalar in the range [0.0, 1.0]
-   * @param {Number} value The scalar value in the range [rangeMinimum, rangeMaximum]
-   * @param {Number} rangeMinimum The minimum value in the mapped range.
-   * @param {Number} rangeMaximum The maximum value in the mapped range.
-   * @returns {Number} A scalar value, where rangeMinimum maps to 0.0 and rangeMaximum maps to 1.0.
-   */
-  CesiumMath.normalize = function(value, rangeMinimum, rangeMaximum) {
-      rangeMaximum = Math.max(rangeMaximum - rangeMinimum, 0.0);
-      return rangeMaximum === 0.0 ? 0.0 : CesiumMath.clamp((value - rangeMinimum) / rangeMaximum, 0.0, 1.0);
-  };
-
-  /**
-   * Returns the hyperbolic sine of a number.
-   * The hyperbolic sine of <em>value</em> is defined to be
-   * (<em>e<sup>x</sup>&nbsp;-&nbsp;e<sup>-x</sup></em>)/2.0
-   * where <i>e</i> is Euler's number, approximately 2.71828183.
-   *
-   * <p>Special cases:
-   *   <ul>
-   *     <li>If the argument is NaN, then the result is NaN.</li>
-   *
-   *     <li>If the argument is infinite, then the result is an infinity
-   *     with the same sign as the argument.</li>
-   *
-   *     <li>If the argument is zero, then the result is a zero with the
-   *     same sign as the argument.</li>
-   *   </ul>
-   *</p>
-   *
-   * @function
-   * @param {Number} value The number whose hyperbolic sine is to be returned.
-   * @returns {Number} The hyperbolic sine of <code>value</code>.
-   */
-  CesiumMath.sinh = when.defaultValue(Math.sinh, function sinh(value) {
-      return (Math.exp(value) - Math.exp(-value)) / 2.0;
-  });
-
-  /**
-   * Returns the hyperbolic cosine of a number.
-   * The hyperbolic cosine of <strong>value</strong> is defined to be
-   * (<em>e<sup>x</sup>&nbsp;+&nbsp;e<sup>-x</sup></em>)/2.0
-   * where <i>e</i> is Euler's number, approximately 2.71828183.
-   *
-   * <p>Special cases:
-   *   <ul>
-   *     <li>If the argument is NaN, then the result is NaN.</li>
-   *
-   *     <li>If the argument is infinite, then the result is positive infinity.</li>
-   *
-   *     <li>If the argument is zero, then the result is 1.0.</li>
-   *   </ul>
-   *</p>
-   *
-   * @function
-   * @param {Number} value The number whose hyperbolic cosine is to be returned.
-   * @returns {Number} The hyperbolic cosine of <code>value</code>.
-   */
-  CesiumMath.cosh = when.defaultValue(Math.cosh, function cosh(value) {
-      return (Math.exp(value) + Math.exp(-value)) / 2.0;
-  });
-
-  /**
-   * Computes the linear interpolation of two values.
-   *
-   * @param {Number} p The start value to interpolate.
-   * @param {Number} q The end value to interpolate.
-   * @param {Number} time The time of interpolation generally in the range <code>[0.0, 1.0]</code>.
-   * @returns {Number} The linearly interpolated value.
-   *
-   * @example
-   * var n = Cesium.Math.lerp(0.0, 2.0, 0.5); // returns 1.0
-   */
-  CesiumMath.lerp = function(p, q, time) {
-      return ((1.0 - time) * p) + (time * q);
-  };
-
-  /**
-   * pi
-   *
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.PI = Math.PI;
-
-  /**
-   * 1/pi
-   *
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.ONE_OVER_PI = 1.0 / Math.PI;
-
-  /**
-   * pi/2
-   *
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.PI_OVER_TWO = Math.PI / 2.0;
-
-  /**
-   * pi/3
-   *
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.PI_OVER_THREE = Math.PI / 3.0;
-
-  /**
-   * pi/4
-   *
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.PI_OVER_FOUR = Math.PI / 4.0;
-
-  /**
-   * pi/6
-   *
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.PI_OVER_SIX = Math.PI / 6.0;
-
-  /**
-   * 3pi/2
-   *
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.THREE_PI_OVER_TWO = 3.0 * Math.PI / 2.0;
-
-  /**
-   * 2pi
-   *
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.TWO_PI = 2.0 * Math.PI;
-
-  /**
-   * 1/2pi
-   *
-   * @type {Number}
-   * @constant
-   */
-  CesiumMath.ONE_OVER_TWO_PI = 1.0 / (2.0 * Math.PI);
-
-  /**
-   * The number of radians in a degree.
-   *
-   * @type {Number}
-   * @constant
-   * @default Math.PI / 180.0
-   */
-  CesiumMath.RADIANS_PER_DEGREE = Math.PI / 180.0;
-
-  /**
-   * The number of degrees in a radian.
-   *
-   * @type {Number}
-   * @constant
-   * @default 180.0 / Math.PI
-   */
-  CesiumMath.DEGREES_PER_RADIAN = 180.0 / Math.PI;
-
-  /**
-   * The number of radians in an arc second.
-   *
-   * @type {Number}
-   * @constant
-   * @default {@link CesiumMath.RADIANS_PER_DEGREE} / 3600.0
-   */
-  CesiumMath.RADIANS_PER_ARCSECOND = CesiumMath.RADIANS_PER_DEGREE / 3600.0;
-
-  /**
-   * Converts degrees to radians.
-   * @param {Number} degrees The angle to convert in degrees.
-   * @returns {Number} The corresponding angle in radians.
-   */
-  CesiumMath.toRadians = function(degrees) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(degrees)) {
-          throw new Check.DeveloperError('degrees is required.');
-      }
-      //>>includeEnd('debug');
-      return degrees * CesiumMath.RADIANS_PER_DEGREE;
-  };
-
-  /**
-   * Converts radians to degrees.
-   * @param {Number} radians The angle to convert in radians.
-   * @returns {Number} The corresponding angle in degrees.
-   */
-  CesiumMath.toDegrees = function(radians) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(radians)) {
-          throw new Check.DeveloperError('radians is required.');
-      }
-      //>>includeEnd('debug');
-      return radians * CesiumMath.DEGREES_PER_RADIAN;
-  };
-
-  /**
-   * Converts a longitude value, in radians, to the range [<code>-Math.PI</code>, <code>Math.PI</code>).
-   *
-   * @param {Number} angle The longitude value, in radians, to convert to the range [<code>-Math.PI</code>, <code>Math.PI</code>).
-   * @returns {Number} The equivalent longitude value in the range [<code>-Math.PI</code>, <code>Math.PI</code>).
-   *
-   * @example
-   * // Convert 270 degrees to -90 degrees longitude
-   * var longitude = Cesium.Math.convertLongitudeRange(Cesium.Math.toRadians(270.0));
-   */
-  CesiumMath.convertLongitudeRange = function(angle) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(angle)) {
-          throw new Check.DeveloperError('angle is required.');
-      }
-      //>>includeEnd('debug');
-      var twoPi = CesiumMath.TWO_PI;
-
-      var simplified = angle - Math.floor(angle / twoPi) * twoPi;
-
-      if (simplified < -Math.PI) {
-          return simplified + twoPi;
-      }
-      if (simplified >= Math.PI) {
-          return simplified - twoPi;
-      }
-
-      return simplified;
-  };
-
-  /**
-   * Convenience function that clamps a latitude value, in radians, to the range [<code>-Math.PI/2</code>, <code>Math.PI/2</code>).
-   * Useful for sanitizing data before use in objects requiring correct range.
-   *
-   * @param {Number} angle The latitude value, in radians, to clamp to the range [<code>-Math.PI/2</code>, <code>Math.PI/2</code>).
-   * @returns {Number} The latitude value clamped to the range [<code>-Math.PI/2</code>, <code>Math.PI/2</code>).
-   *
-   * @example
-   * // Clamp 108 degrees latitude to 90 degrees latitude
-   * var latitude = Cesium.Math.clampToLatitudeRange(Cesium.Math.toRadians(108.0));
-   */
-  CesiumMath.clampToLatitudeRange = function(angle) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(angle)) {
-          throw new Check.DeveloperError('angle is required.');
-      }
-      //>>includeEnd('debug');
-
-      return CesiumMath.clamp(angle, -1*CesiumMath.PI_OVER_TWO, CesiumMath.PI_OVER_TWO);
-  };
-
-  /**
-   * Produces an angle in the range -Pi <= angle <= Pi which is equivalent to the provided angle.
-   *
-   * @param {Number} angle in radians
-   * @returns {Number} The angle in the range [<code>-CesiumMath.PI</code>, <code>CesiumMath.PI</code>].
-   */
-  CesiumMath.negativePiToPi = function(angle) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(angle)) {
-          throw new Check.DeveloperError('angle is required.');
-      }
-      //>>includeEnd('debug');
-      return CesiumMath.zeroToTwoPi(angle + CesiumMath.PI) - CesiumMath.PI;
-  };
-
-  /**
-   * Produces an angle in the range 0 <= angle <= 2Pi which is equivalent to the provided angle.
-   *
-   * @param {Number} angle in radians
-   * @returns {Number} The angle in the range [0, <code>CesiumMath.TWO_PI</code>].
-   */
-  CesiumMath.zeroToTwoPi = function(angle) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(angle)) {
-          throw new Check.DeveloperError('angle is required.');
-      }
-      //>>includeEnd('debug');
-      var mod = CesiumMath.mod(angle, CesiumMath.TWO_PI);
-      if (Math.abs(mod) < CesiumMath.EPSILON14 && Math.abs(angle) > CesiumMath.EPSILON14) {
-          return CesiumMath.TWO_PI;
-      }
-      return mod;
-  };
-
-  /**
-   * The modulo operation that also works for negative dividends.
-   *
-   * @param {Number} m The dividend.
-   * @param {Number} n The divisor.
-   * @returns {Number} The remainder.
-   */
-  CesiumMath.mod = function(m, n) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(m)) {
-          throw new Check.DeveloperError('m is required.');
-      }
-      if (!when.defined(n)) {
-          throw new Check.DeveloperError('n is required.');
-      }
-      //>>includeEnd('debug');
-      return ((m % n) + n) % n;
-  };
-
-  /**
-   * Determines if two values are equal using an absolute or relative tolerance test. This is useful
-   * to avoid problems due to roundoff error when comparing floating-point values directly. The values are
-   * first compared using an absolute tolerance test. If that fails, a relative tolerance test is performed.
-   * Use this test if you are unsure of the magnitudes of left and right.
-   *
-   * @param {Number} left The first value to compare.
-   * @param {Number} right The other value to compare.
-   * @param {Number} relativeEpsilon The maximum inclusive delta between <code>left</code> and <code>right</code> for the relative tolerance test.
-   * @param {Number} [absoluteEpsilon=relativeEpsilon] The maximum inclusive delta between <code>left</code> and <code>right</code> for the absolute tolerance test.
-   * @returns {Boolean} <code>true</code> if the values are equal within the epsilon; otherwise, <code>false</code>.
-   *
-   * @example
-   * var a = Cesium.Math.equalsEpsilon(0.0, 0.01, Cesium.Math.EPSILON2); // true
-   * var b = Cesium.Math.equalsEpsilon(0.0, 0.1, Cesium.Math.EPSILON2);  // false
-   * var c = Cesium.Math.equalsEpsilon(3699175.1634344, 3699175.2, Cesium.Math.EPSILON7); // true
-   * var d = Cesium.Math.equalsEpsilon(3699175.1634344, 3699175.2, Cesium.Math.EPSILON9); // false
-   */
-  CesiumMath.equalsEpsilon = function(left, right, relativeEpsilon, absoluteEpsilon) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(left)) {
-          throw new Check.DeveloperError('left is required.');
-      }
-      if (!when.defined(right)) {
-          throw new Check.DeveloperError('right is required.');
-      }
-      if (!when.defined(relativeEpsilon)) {
-          throw new Check.DeveloperError('relativeEpsilon is required.');
-      }
-      //>>includeEnd('debug');
-      absoluteEpsilon = when.defaultValue(absoluteEpsilon, relativeEpsilon);
-      var absDiff = Math.abs(left - right);
-      return absDiff <= absoluteEpsilon || absDiff <= relativeEpsilon * Math.max(Math.abs(left), Math.abs(right));
-  };
-
-  /**
-   * Determines if the left value is less than the right value. If the two values are within
-   * <code>absoluteEpsilon</code> of each other, they are considered equal and this function returns false.
-   *
-   * @param {Number} left The first number to compare.
-   * @param {Number} right The second number to compare.
-   * @param {Number} absoluteEpsilon The absolute epsilon to use in comparison.
-   * @returns {Boolean} <code>true</code> if <code>left</code> is less than <code>right</code> by more than
-   *          <code>absoluteEpsilon<code>. <code>false</code> if <code>left</code> is greater or if the two
-   *          values are nearly equal.
-   */
-  CesiumMath.lessThan = function(left, right, absoluteEpsilon) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(left)) {
-          throw new Check.DeveloperError('first is required.');
-      }
-      if (!when.defined(right)) {
-          throw new Check.DeveloperError('second is required.');
-      }
-      if (!when.defined(absoluteEpsilon)) {
-          throw new Check.DeveloperError('relativeEpsilon is required.');
-      }
-      //>>includeEnd('debug');
-      return left - right < -absoluteEpsilon;
-  };
-
-  /**
-   * Determines if the left value is less than or equal to the right value. If the two values are within
-   * <code>absoluteEpsilon</code> of each other, they are considered equal and this function returns true.
-   *
-   * @param {Number} left The first number to compare.
-   * @param {Number} right The second number to compare.
-   * @param {Number} absoluteEpsilon The absolute epsilon to use in comparison.
-   * @returns {Boolean} <code>true</code> if <code>left</code> is less than <code>right</code> or if the
-   *          the values are nearly equal.
-   */
-  CesiumMath.lessThanOrEquals = function(left, right, absoluteEpsilon) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(left)) {
-          throw new Check.DeveloperError('first is required.');
-      }
-      if (!when.defined(right)) {
-          throw new Check.DeveloperError('second is required.');
-      }
-      if (!when.defined(absoluteEpsilon)) {
-          throw new Check.DeveloperError('relativeEpsilon is required.');
-      }
-      //>>includeEnd('debug');
-      return left - right < absoluteEpsilon;
-  };
-
-  /**
-   * Determines if the left value is greater the right value. If the two values are within
-   * <code>absoluteEpsilon</code> of each other, they are considered equal and this function returns false.
-   *
-   * @param {Number} left The first number to compare.
-   * @param {Number} right The second number to compare.
-   * @param {Number} absoluteEpsilon The absolute epsilon to use in comparison.
-   * @returns {Boolean} <code>true</code> if <code>left</code> is greater than <code>right</code> by more than
-   *          <code>absoluteEpsilon<code>. <code>false</code> if <code>left</code> is less or if the two
-   *          values are nearly equal.
-   */
-  CesiumMath.greaterThan = function(left, right, absoluteEpsilon) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(left)) {
-          throw new Check.DeveloperError('first is required.');
-      }
-      if (!when.defined(right)) {
-          throw new Check.DeveloperError('second is required.');
-      }
-      if (!when.defined(absoluteEpsilon)) {
-          throw new Check.DeveloperError('relativeEpsilon is required.');
-      }
-      //>>includeEnd('debug');
-      return left - right > absoluteEpsilon;
-  };
-
-  /**
-   * Determines if the left value is greater than or equal to the right value. If the two values are within
-   * <code>absoluteEpsilon</code> of each other, they are considered equal and this function returns true.
-   *
-   * @param {Number} left The first number to compare.
-   * @param {Number} right The second number to compare.
-   * @param {Number} absoluteEpsilon The absolute epsilon to use in comparison.
-   * @returns {Boolean} <code>true</code> if <code>left</code> is greater than <code>right</code> or if the
-   *          the values are nearly equal.
-   */
-  CesiumMath.greaterThanOrEquals = function(left, right, absoluteEpsilon) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(left)) {
-          throw new Check.DeveloperError('first is required.');
-      }
-      if (!when.defined(right)) {
-          throw new Check.DeveloperError('second is required.');
-      }
-      if (!when.defined(absoluteEpsilon)) {
-          throw new Check.DeveloperError('relativeEpsilon is required.');
-      }
-      //>>includeEnd('debug');
-      return left - right > -absoluteEpsilon;
-  };
-
-  var factorials = [1];
-
-  /**
-   * Computes the factorial of the provided number.
-   *
-   * @param {Number} n The number whose factorial is to be computed.
-   * @returns {Number} The factorial of the provided number or undefined if the number is less than 0.
-   *
-   * @exception {DeveloperError} A number greater than or equal to 0 is required.
-   *
-   *
-   * @example
-   * //Compute 7!, which is equal to 5040
-   * var computedFactorial = Cesium.Math.factorial(7);
-   *
-   * @see {@link http://en.wikipedia.org/wiki/Factorial|Factorial on Wikipedia}
-   */
-  CesiumMath.factorial = function(n) {
-      //>>includeStart('debug', pragmas.debug);
-      if (typeof n !== 'number' || n < 0) {
-          throw new Check.DeveloperError('A number greater than or equal to 0 is required.');
-      }
-      //>>includeEnd('debug');
-
-      var length = factorials.length;
-      if (n >= length) {
-          var sum = factorials[length - 1];
-          for (var i = length; i <= n; i++) {
-              var next = sum * i;
-              factorials.push(next);
-              sum = next;
-          }
-      }
-      return factorials[n];
-  };
-
-  /**
-   * Increments a number with a wrapping to a minimum value if the number exceeds the maximum value.
-   *
-   * @param {Number} [n] The number to be incremented.
-   * @param {Number} [maximumValue] The maximum incremented value before rolling over to the minimum value.
-   * @param {Number} [minimumValue=0.0] The number reset to after the maximum value has been exceeded.
-   * @returns {Number} The incremented number.
-   *
-   * @exception {DeveloperError} Maximum value must be greater than minimum value.
-   *
-   * @example
-   * var n = Cesium.Math.incrementWrap(5, 10, 0); // returns 6
-   * var n = Cesium.Math.incrementWrap(10, 10, 0); // returns 0
-   */
-  CesiumMath.incrementWrap = function(n, maximumValue, minimumValue) {
-      minimumValue = when.defaultValue(minimumValue, 0.0);
-
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(n)) {
-          throw new Check.DeveloperError('n is required.');
-      }
-      if (maximumValue <= minimumValue) {
-          throw new Check.DeveloperError('maximumValue must be greater than minimumValue.');
-      }
-      //>>includeEnd('debug');
-
-      ++n;
-      if (n > maximumValue) {
-          n = minimumValue;
-      }
-      return n;
-  };
-
-  /**
-   * Determines if a positive integer is a power of two.
-   *
-   * @param {Number} n The positive integer to test.
-   * @returns {Boolean} <code>true</code> if the number if a power of two; otherwise, <code>false</code>.
-   *
-   * @exception {DeveloperError} A number greater than or equal to 0 is required.
-   *
-   * @example
-   * var t = Cesium.Math.isPowerOfTwo(16); // true
-   * var f = Cesium.Math.isPowerOfTwo(20); // false
-   */
-  CesiumMath.isPowerOfTwo = function(n) {
-      //>>includeStart('debug', pragmas.debug);
-      if (typeof n !== 'number' || n < 0) {
-          throw new Check.DeveloperError('A number greater than or equal to 0 is required.');
-      }
-      //>>includeEnd('debug');
-
-      return (n !== 0) && ((n & (n - 1)) === 0);
-  };
-
-  /**
-   * Computes the next power-of-two integer greater than or equal to the provided positive integer.
-   *
-   * @param {Number} n The positive integer to test.
-   * @returns {Number} The next power-of-two integer.
-   *
-   * @exception {DeveloperError} A number greater than or equal to 0 is required.
-   *
-   * @example
-   * var n = Cesium.Math.nextPowerOfTwo(29); // 32
-   * var m = Cesium.Math.nextPowerOfTwo(32); // 32
-   */
-  CesiumMath.nextPowerOfTwo = function(n) {
-      //>>includeStart('debug', pragmas.debug);
-      if (typeof n !== 'number' || n < 0) {
-          throw new Check.DeveloperError('A number greater than or equal to 0 is required.');
-      }
-      //>>includeEnd('debug');
-
-      // From http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2
-      --n;
-      n |= n >> 1;
-      n |= n >> 2;
-      n |= n >> 4;
-      n |= n >> 8;
-      n |= n >> 16;
-      ++n;
-
-      return n;
-  };
-
-  /**
-   * Constraint a value to lie between two values.
-   *
-   * @param {Number} value The value to constrain.
-   * @param {Number} min The minimum value.
-   * @param {Number} max The maximum value.
-   * @returns {Number} The value clamped so that min <= value <= max.
-   */
-  CesiumMath.clamp = function(value, min, max) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(value)) {
-          throw new Check.DeveloperError('value is required');
-      }
-      if (!when.defined(min)) {
-          throw new Check.DeveloperError('min is required.');
-      }
-      if (!when.defined(max)) {
-          throw new Check.DeveloperError('max is required.');
-      }
-      //>>includeEnd('debug');
-      return value < min ? min : value > max ? max : value;
-  };
-
-  var randomNumberGenerator = new MersenneTwister();
-
-  /**
-   * Sets the seed used by the random number generator
-   * in {@link CesiumMath#nextRandomNumber}.
-   *
-   * @param {Number} seed An integer used as the seed.
-   */
-  CesiumMath.setRandomNumberSeed = function(seed) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(seed)) {
-          throw new Check.DeveloperError('seed is required.');
-      }
-      //>>includeEnd('debug');
-
-      randomNumberGenerator = new MersenneTwister(seed);
-  };
-
-  /**
-   * Generates a random floating point number in the range of [0.0, 1.0)
-   * using a Mersenne twister.
-   *
-   * @returns {Number} A random number in the range of [0.0, 1.0).
-   *
-   * @see CesiumMath.setRandomNumberSeed
-   * @see {@link http://en.wikipedia.org/wiki/Mersenne_twister|Mersenne twister on Wikipedia}
-   */
-  CesiumMath.nextRandomNumber = function() {
-      return randomNumberGenerator.random();
-  };
-
-  /**
-   * Generates a random number between two numbers.
-   *
-   * @param {Number} min The minimum value.
-   * @param {Number} max The maximum value.
-   * @returns {Number} A random number between the min and max.
-   */
-  CesiumMath.randomBetween = function(min, max) {
-      return CesiumMath.nextRandomNumber() * (max - min) + min;
-  };
-
-  /**
-   * Computes <code>Math.acos(value)</code>, but first clamps <code>value</code> to the range [-1.0, 1.0]
-   * so that the function will never return NaN.
-   *
-   * @param {Number} value The value for which to compute acos.
-   * @returns {Number} The acos of the value if the value is in the range [-1.0, 1.0], or the acos of -1.0 or 1.0,
-   *          whichever is closer, if the value is outside the range.
-   */
-  CesiumMath.acosClamped = function(value) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(value)) {
-          throw new Check.DeveloperError('value is required.');
-      }
-      //>>includeEnd('debug');
-      return Math.acos(CesiumMath.clamp(value, -1.0, 1.0));
-  };
-
-  /**
-   * Computes <code>Math.asin(value)</code>, but first clamps <code>value</code> to the range [-1.0, 1.0]
-   * so that the function will never return NaN.
-   *
-   * @param {Number} value The value for which to compute asin.
-   * @returns {Number} The asin of the value if the value is in the range [-1.0, 1.0], or the asin of -1.0 or 1.0,
-   *          whichever is closer, if the value is outside the range.
-   */
-  CesiumMath.asinClamped = function(value) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(value)) {
-          throw new Check.DeveloperError('value is required.');
-      }
-      //>>includeEnd('debug');
-      return Math.asin(CesiumMath.clamp(value, -1.0, 1.0));
-  };
-
-  /**
-   * Finds the chord length between two points given the circle's radius and the angle between the points.
-   *
-   * @param {Number} angle The angle between the two points.
-   * @param {Number} radius The radius of the circle.
-   * @returns {Number} The chord length.
-   */
-  CesiumMath.chordLength = function(angle, radius) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(angle)) {
-          throw new Check.DeveloperError('angle is required.');
-      }
-      if (!when.defined(radius)) {
-          throw new Check.DeveloperError('radius is required.');
-      }
-      //>>includeEnd('debug');
-      return 2.0 * radius * Math.sin(angle * 0.5);
-  };
-
-  /**
-   * Finds the logarithm of a number to a base.
-   *
-   * @param {Number} number The number.
-   * @param {Number} base The base.
-   * @returns {Number} The result.
-   */
-  CesiumMath.logBase = function(number, base) {
-      //>>includeStart('debug', pragmas.debug);
-      if (!when.defined(number)) {
-          throw new Check.DeveloperError('number is required.');
-      }
-      if (!when.defined(base)) {
-          throw new Check.DeveloperError('base is required.');
-      }
-      //>>includeEnd('debug');
-      return Math.log(number) / Math.log(base);
-  };
-
-  /**
-   * Finds the cube root of a number.
-   * Returns NaN if <code>number</code> is not provided.
-   *
-   * @function
-   * @param {Number} [number] The number.
-   * @returns {Number} The result.
-   */
-  CesiumMath.cbrt = when.defaultValue(Math.cbrt, function cbrt(number) {
-      var result = Math.pow(Math.abs(number), 1.0 / 3.0);
-      return number < 0.0 ? -result : result;
-  });
-
-  /**
-   * Finds the base 2 logarithm of a number.
-   *
-   * @function
-   * @param {Number} number The number.
-   * @returns {Number} The result.
-   */
-  CesiumMath.log2 = when.defaultValue(Math.log2, function log2(number) {
-      return Math.log(number) * Math.LOG2E;
-  });
-
-  /**
-   * @private
-   */
-  CesiumMath.fog = function(distanceToCamera, density) {
-      var scalar = distanceToCamera * density;
-      return 1.0 - Math.exp(-(scalar * scalar));
-  };
-
-  /**
-   * Computes a fast approximation of Atan for input in the range [-1, 1].
-   *
-   * Based on Michal Drobot's approximation from ShaderFastLibs,
-   * which in turn is based on "Efficient approximations for the arctangent function,"
-   * Rajan, S. Sichun Wang Inkol, R. Joyal, A., May 2006.
-   * Adapted from ShaderFastLibs under MIT License.
-   *
-   * @param {Number} x An input number in the range [-1, 1]
-   * @returns {Number} An approximation of atan(x)
-   */
-  CesiumMath.fastApproximateAtan = function(x) {
-      //>>includeStart('debug', pragmas.debug);
-      Check.Check.typeOf.number('x', x);
-      //>>includeEnd('debug');
-
-      return x * (-0.1784 * Math.abs(x) - 0.0663 * x * x + 1.0301);
-  };
-
-  /**
-   * Computes a fast approximation of Atan2(x, y) for arbitrary input scalars.
-   *
-   * Range reduction math based on nvidia's cg reference implementation: http://developer.download.nvidia.com/cg/atan2.html
-   *
-   * @param {Number} x An input number that isn't zero if y is zero.
-   * @param {Number} y An input number that isn't zero if x is zero.
-   * @returns {Number} An approximation of atan2(x, y)
-   */
-  CesiumMath.fastApproximateAtan2 = function(x, y) {
-      //>>includeStart('debug', pragmas.debug);
-      Check.Check.typeOf.number('x', x);
-      Check.Check.typeOf.number('y', y);
-      //>>includeEnd('debug');
-
-      // atan approximations are usually only reliable over [-1, 1]
-      // So reduce the range by flipping whether x or y is on top based on which is bigger.
-      var opposite;
-      var adjacent;
-      var t = Math.abs(x); // t used as swap and atan result.
-      opposite = Math.abs(y);
-      adjacent = Math.max(t, opposite);
-      opposite = Math.min(t, opposite);
-
-      var oppositeOverAdjacent = opposite / adjacent;
-      //>>includeStart('debug', pragmas.debug);
-      if (isNaN(oppositeOverAdjacent)) {
-          throw new Check.DeveloperError('either x or y must be nonzero');
-      }
-      //>>includeEnd('debug');
-      t = CesiumMath.fastApproximateAtan(oppositeOverAdjacent);
-
-      // Undo range reduction
-      t = Math.abs(y) > Math.abs(x) ? CesiumMath.PI_OVER_TWO - t : t;
-      t = x < 0.0 ?  CesiumMath.PI - t : t;
-      t = y < 0.0 ? -t : t;
-      return t;
-  };
-
-  exports.CesiumMath = CesiumMath;
-
-});
diff --git a/libs/supermap/Workers/OrientedBoundingBox-2b1de35e.js b/libs/supermap/Workers/OrientedBoundingBox-2b1de35e.js
deleted file mode 100644
index 84925eb..0000000
--- a/libs/supermap/Workers/OrientedBoundingBox-2b1de35e.js
+++ /dev/null
@@ -1,822 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './Plane-d0f009aa', './EllipsoidTangentPlane-fe3014f8'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, Plane, EllipsoidTangentPlane) { 'use strict';
-
-    /**
-         * Creates an instance of an OrientedBoundingBox.
-         * An OrientedBoundingBox of some object is a closed and convex cuboid. It can provide a tighter bounding volume than {@link BoundingSphere} or {@link AxisAlignedBoundingBox} in many cases.
-         * @alias OrientedBoundingBox
-         * @constructor
-         *
-         * @param {Cartesian3} [center=Cartesian3.ZERO] The center of the box.
-         * @param {Matrix3} [halfAxes=Matrix3.ZERO] The three orthogonal half-axes of the bounding box.
-         *                                          Equivalently, the transformation matrix, to rotate and scale a 0x0x0
-         *                                          cube centered at the origin.
-         *
-         *
-         * @example
-         * // Create an OrientedBoundingBox using a transformation matrix, a position where the box will be translated, and a scale.
-         * var center = new Cesium.Cartesian3(1.0, 0.0, 0.0);
-         * var halfAxes = Cesium.Matrix3.fromScale(new Cesium.Cartesian3(1.0, 3.0, 2.0), new Cesium.Matrix3());
-         *
-         * var obb = new Cesium.OrientedBoundingBox(center, halfAxes);
-         *
-         * @see BoundingSphere
-         * @see BoundingRectangle
-         */
-        function OrientedBoundingBox(center, halfAxes) {
-            /**
-             * The center of the box.
-             * @type {Cartesian3}
-             * @default {@link Cartesian3.ZERO}
-             */
-            this.center = Cartesian2.Cartesian3.clone(when.defaultValue(center, Cartesian2.Cartesian3.ZERO));
-            /**
-             * The transformation matrix, to rotate the box to the right position.
-             * @type {Matrix3}
-             * @default {@link Matrix3.ZERO}
-             */
-            this.halfAxes = BoundingSphere.Matrix3.clone(when.defaultValue(halfAxes, BoundingSphere.Matrix3.ZERO));
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        OrientedBoundingBox.packedLength = Cartesian2.Cartesian3.packedLength + BoundingSphere.Matrix3.packedLength;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {OrientedBoundingBox} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        OrientedBoundingBox.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            Cartesian2.Cartesian3.pack(value.center, array, startingIndex);
-            BoundingSphere.Matrix3.pack(value.halfAxes, array, startingIndex + Cartesian2.Cartesian3.packedLength);
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {OrientedBoundingBox} [result] The object into which to store the result.
-         * @returns {OrientedBoundingBox} The modified result parameter or a new OrientedBoundingBox instance if one was not provided.
-         */
-        OrientedBoundingBox.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new OrientedBoundingBox();
-            }
-
-            Cartesian2.Cartesian3.unpack(array, startingIndex, result.center);
-            BoundingSphere.Matrix3.unpack(array, startingIndex + Cartesian2.Cartesian3.packedLength, result.halfAxes);
-            return result;
-        };
-
-        var scratchCartesian1 = new Cartesian2.Cartesian3();
-        var scratchCartesian2 = new Cartesian2.Cartesian3();
-        var scratchCartesian3 = new Cartesian2.Cartesian3();
-        var scratchCartesian4 = new Cartesian2.Cartesian3();
-        var scratchCartesian5 = new Cartesian2.Cartesian3();
-        var scratchCartesian6 = new Cartesian2.Cartesian3();
-        var scratchCovarianceResult = new BoundingSphere.Matrix3();
-        var scratchEigenResult = {
-            unitary : new BoundingSphere.Matrix3(),
-            diagonal : new BoundingSphere.Matrix3()
-        };
-
-        /**
-         * Computes an instance of an OrientedBoundingBox of the given positions.
-         * This is an implementation of Stefan Gottschalk's Collision Queries using Oriented Bounding Boxes solution (PHD thesis).
-         * Reference: http://gamma.cs.unc.edu/users/gottschalk/main.pdf
-         *
-         * @param {Cartesian3[]} [positions] List of {@link Cartesian3} points that the bounding box will enclose.
-         * @param {OrientedBoundingBox} [result] The object onto which to store the result.
-         * @returns {OrientedBoundingBox} The modified result parameter or a new OrientedBoundingBox instance if one was not provided.
-         *
-         * @example
-         * // Compute an object oriented bounding box enclosing two points.
-         * var box = Cesium.OrientedBoundingBox.fromPoints([new Cesium.Cartesian3(2, 0, 0), new Cesium.Cartesian3(-2, 0, 0)]);
-         */
-        OrientedBoundingBox.fromPoints = function(positions, result) {
-            if (!when.defined(result)) {
-                result = new OrientedBoundingBox();
-            }
-
-            if (!when.defined(positions) || positions.length === 0) {
-                result.halfAxes = BoundingSphere.Matrix3.ZERO;
-                result.center = Cartesian2.Cartesian3.ZERO;
-                return result;
-            }
-
-            var i;
-            var length = positions.length;
-
-            var meanPoint = Cartesian2.Cartesian3.clone(positions[0], scratchCartesian1);
-            for (i = 1; i < length; i++) {
-                Cartesian2.Cartesian3.add(meanPoint, positions[i], meanPoint);
-            }
-            var invLength = 1.0 / length;
-            Cartesian2.Cartesian3.multiplyByScalar(meanPoint, invLength, meanPoint);
-
-            var exx = 0.0;
-            var exy = 0.0;
-            var exz = 0.0;
-            var eyy = 0.0;
-            var eyz = 0.0;
-            var ezz = 0.0;
-            var p;
-
-            for (i = 0; i < length; i++) {
-                p = Cartesian2.Cartesian3.subtract(positions[i], meanPoint, scratchCartesian2);
-                exx += p.x * p.x;
-                exy += p.x * p.y;
-                exz += p.x * p.z;
-                eyy += p.y * p.y;
-                eyz += p.y * p.z;
-                ezz += p.z * p.z;
-            }
-
-            exx *= invLength;
-            exy *= invLength;
-            exz *= invLength;
-            eyy *= invLength;
-            eyz *= invLength;
-            ezz *= invLength;
-
-            var covarianceMatrix = scratchCovarianceResult;
-            covarianceMatrix[0] = exx;
-            covarianceMatrix[1] = exy;
-            covarianceMatrix[2] = exz;
-            covarianceMatrix[3] = exy;
-            covarianceMatrix[4] = eyy;
-            covarianceMatrix[5] = eyz;
-            covarianceMatrix[6] = exz;
-            covarianceMatrix[7] = eyz;
-            covarianceMatrix[8] = ezz;
-
-            var eigenDecomposition = BoundingSphere.Matrix3.computeEigenDecomposition(covarianceMatrix, scratchEigenResult);
-            var rotation = BoundingSphere.Matrix3.clone(eigenDecomposition.unitary, result.halfAxes);
-
-            var v1 = BoundingSphere.Matrix3.getColumn(rotation, 0, scratchCartesian4);
-            var v2 = BoundingSphere.Matrix3.getColumn(rotation, 1, scratchCartesian5);
-            var v3 = BoundingSphere.Matrix3.getColumn(rotation, 2, scratchCartesian6);
-
-            var u1 = -Number.MAX_VALUE;
-            var u2 = -Number.MAX_VALUE;
-            var u3 = -Number.MAX_VALUE;
-            var l1 = Number.MAX_VALUE;
-            var l2 = Number.MAX_VALUE;
-            var l3 = Number.MAX_VALUE;
-
-            for (i = 0; i < length; i++) {
-                p = positions[i];
-                u1 = Math.max(Cartesian2.Cartesian3.dot(v1, p), u1);
-                u2 = Math.max(Cartesian2.Cartesian3.dot(v2, p), u2);
-                u3 = Math.max(Cartesian2.Cartesian3.dot(v3, p), u3);
-
-                l1 = Math.min(Cartesian2.Cartesian3.dot(v1, p), l1);
-                l2 = Math.min(Cartesian2.Cartesian3.dot(v2, p), l2);
-                l3 = Math.min(Cartesian2.Cartesian3.dot(v3, p), l3);
-            }
-
-            v1 = Cartesian2.Cartesian3.multiplyByScalar(v1, 0.5 * (l1 + u1), v1);
-            v2 = Cartesian2.Cartesian3.multiplyByScalar(v2, 0.5 * (l2 + u2), v2);
-            v3 = Cartesian2.Cartesian3.multiplyByScalar(v3, 0.5 * (l3 + u3), v3);
-
-            var center = Cartesian2.Cartesian3.add(v1, v2, result.center);
-            Cartesian2.Cartesian3.add(center, v3, center);
-
-            var scale = scratchCartesian3;
-            scale.x = u1 - l1;
-            scale.y = u2 - l2;
-            scale.z = u3 - l3;
-            Cartesian2.Cartesian3.multiplyByScalar(scale, 0.5, scale);
-            BoundingSphere.Matrix3.multiplyByScale(result.halfAxes, scale, result.halfAxes);
-
-            return result;
-        };
-
-        var scratchOffset = new Cartesian2.Cartesian3();
-        var scratchScale = new Cartesian2.Cartesian3();
-        function fromPlaneExtents(planeOrigin, planeXAxis, planeYAxis, planeZAxis, minimumX, maximumX, minimumY, maximumY, minimumZ, maximumZ, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(minimumX) ||
-                !when.defined(maximumX) ||
-                !when.defined(minimumY) ||
-                !when.defined(maximumY) ||
-                !when.defined(minimumZ) ||
-                !when.defined(maximumZ)) {
-                throw new Check.DeveloperError('all extents (minimum/maximum X/Y/Z) are required.');
-            }
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new OrientedBoundingBox();
-            }
-
-            var halfAxes = result.halfAxes;
-            BoundingSphere.Matrix3.setColumn(halfAxes, 0, planeXAxis, halfAxes);
-            BoundingSphere.Matrix3.setColumn(halfAxes, 1, planeYAxis, halfAxes);
-            BoundingSphere.Matrix3.setColumn(halfAxes, 2, planeZAxis, halfAxes);
-
-            var centerOffset = scratchOffset;
-            centerOffset.x = (minimumX + maximumX) / 2.0;
-            centerOffset.y = (minimumY + maximumY) / 2.0;
-            centerOffset.z = (minimumZ + maximumZ) / 2.0;
-
-            var scale = scratchScale;
-            scale.x = (maximumX - minimumX) / 2.0;
-            scale.y = (maximumY - minimumY) / 2.0;
-            scale.z = (maximumZ - minimumZ) / 2.0;
-
-            var center = result.center;
-            centerOffset = BoundingSphere.Matrix3.multiplyByVector(halfAxes, centerOffset, centerOffset);
-            Cartesian2.Cartesian3.add(planeOrigin, centerOffset, center);
-            BoundingSphere.Matrix3.multiplyByScale(halfAxes, scale, halfAxes);
-
-            return result;
-        }
-
-        var scratchRectangleCenterCartographic = new Cartesian2.Cartographic();
-        var scratchRectangleCenter = new Cartesian2.Cartesian3();
-        var scratchPerimeterCartographicNC = new Cartesian2.Cartographic();
-        var scratchPerimeterCartographicNW = new Cartesian2.Cartographic();
-        var scratchPerimeterCartographicCW = new Cartesian2.Cartographic();
-        var scratchPerimeterCartographicSW = new Cartesian2.Cartographic();
-        var scratchPerimeterCartographicSC = new Cartesian2.Cartographic();
-        var scratchPerimeterCartesianNC = new Cartesian2.Cartesian3();
-        var scratchPerimeterCartesianNW = new Cartesian2.Cartesian3();
-        var scratchPerimeterCartesianCW = new Cartesian2.Cartesian3();
-        var scratchPerimeterCartesianSW = new Cartesian2.Cartesian3();
-        var scratchPerimeterCartesianSC = new Cartesian2.Cartesian3();
-        var scratchPerimeterProjectedNC = new Cartesian2.Cartesian2();
-        var scratchPerimeterProjectedNW = new Cartesian2.Cartesian2();
-        var scratchPerimeterProjectedCW = new Cartesian2.Cartesian2();
-        var scratchPerimeterProjectedSW = new Cartesian2.Cartesian2();
-        var scratchPerimeterProjectedSC = new Cartesian2.Cartesian2();
-
-        var scratchPlaneOrigin = new Cartesian2.Cartesian3();
-        var scratchPlaneNormal = new Cartesian2.Cartesian3();
-        var scratchPlaneXAxis = new Cartesian2.Cartesian3();
-        var scratchHorizonCartesian = new Cartesian2.Cartesian3();
-        var scratchHorizonProjected = new Cartesian2.Cartesian2();
-        var scratchMaxY = new Cartesian2.Cartesian3();
-        var scratchMinY = new Cartesian2.Cartesian3();
-        var scratchZ = new Cartesian2.Cartesian3();
-        var scratchPlane = new Plane.Plane(Cartesian2.Cartesian3.UNIT_X, 0.0);
-
-        /**
-         * Computes an OrientedBoundingBox that bounds a {@link Rectangle} on the surface of an {@link Ellipsoid}.
-         * There are no guarantees about the orientation of the bounding box.
-         *
-         * @param {Rectangle} rectangle The cartographic rectangle on the surface of the ellipsoid.
-         * @param {Number} [minimumHeight=0.0] The minimum height (elevation) within the tile.
-         * @param {Number} [maximumHeight=0.0] The maximum height (elevation) within the tile.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the rectangle is defined.
-         * @param {OrientedBoundingBox} [result] The object onto which to store the result.
-         * @returns {OrientedBoundingBox} The modified result parameter or a new OrientedBoundingBox instance if none was provided.
-         *
-         * @exception {DeveloperError} rectangle.width must be between 0 and pi.
-         * @exception {DeveloperError} rectangle.height must be between 0 and pi.
-         * @exception {DeveloperError} ellipsoid must be an ellipsoid of revolution (<code>radii.x == radii.y</code>)
-         */
-        OrientedBoundingBox.fromRectangle = function(rectangle, minimumHeight, maximumHeight, ellipsoid, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(rectangle)) {
-                throw new Check.DeveloperError('rectangle is required');
-            }
-            if (rectangle.width < 0.0 || rectangle.width > _Math.CesiumMath.TWO_PI) {
-                throw new Check.DeveloperError('Rectangle width must be between 0 and 2*pi');
-            }
-            if (rectangle.height < 0.0 || rectangle.height > _Math.CesiumMath.PI) {
-                throw new Check.DeveloperError('Rectangle height must be between 0 and pi');
-            }
-            if (when.defined(ellipsoid) && !_Math.CesiumMath.equalsEpsilon(ellipsoid.radii.x, ellipsoid.radii.y, _Math.CesiumMath.EPSILON15)) {
-                throw new Check.DeveloperError('Ellipsoid must be an ellipsoid of revolution (radii.x == radii.y)');
-            }
-            //>>includeEnd('debug');
-
-            minimumHeight = when.defaultValue(minimumHeight, 0.0);
-            maximumHeight = when.defaultValue(maximumHeight, 0.0);
-            ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-
-            var minX, maxX, minY, maxY, minZ, maxZ, plane;
-
-            if (rectangle.width <= _Math.CesiumMath.PI) {
-                // The bounding box will be aligned with the tangent plane at the center of the rectangle.
-                var tangentPointCartographic = Cartesian2.Rectangle.center(rectangle, scratchRectangleCenterCartographic);
-                var tangentPoint = ellipsoid.cartographicToCartesian(tangentPointCartographic, scratchRectangleCenter);
-                var tangentPlane = new EllipsoidTangentPlane.EllipsoidTangentPlane(tangentPoint, ellipsoid);
-                plane = tangentPlane.plane;
-
-                // If the rectangle spans the equator, CW is instead aligned with the equator (because it sticks out the farthest at the equator).
-                var lonCenter = tangentPointCartographic.longitude;
-                var latCenter = (rectangle.south < 0.0 && rectangle.north > 0.0) ? 0.0 : tangentPointCartographic.latitude;
-
-                // Compute XY extents using the rectangle at maximum height
-                var perimeterCartographicNC = Cartesian2.Cartographic.fromRadians(lonCenter, rectangle.north, maximumHeight, scratchPerimeterCartographicNC);
-                var perimeterCartographicNW = Cartesian2.Cartographic.fromRadians(rectangle.west, rectangle.north, maximumHeight, scratchPerimeterCartographicNW);
-                var perimeterCartographicCW = Cartesian2.Cartographic.fromRadians(rectangle.west, latCenter, maximumHeight, scratchPerimeterCartographicCW);
-                var perimeterCartographicSW = Cartesian2.Cartographic.fromRadians(rectangle.west, rectangle.south, maximumHeight, scratchPerimeterCartographicSW);
-                var perimeterCartographicSC = Cartesian2.Cartographic.fromRadians(lonCenter, rectangle.south, maximumHeight, scratchPerimeterCartographicSC);
-
-                var perimeterCartesianNC = ellipsoid.cartographicToCartesian(perimeterCartographicNC, scratchPerimeterCartesianNC);
-                var perimeterCartesianNW = ellipsoid.cartographicToCartesian(perimeterCartographicNW, scratchPerimeterCartesianNW);
-                var perimeterCartesianCW = ellipsoid.cartographicToCartesian(perimeterCartographicCW, scratchPerimeterCartesianCW);
-                var perimeterCartesianSW = ellipsoid.cartographicToCartesian(perimeterCartographicSW, scratchPerimeterCartesianSW);
-                var perimeterCartesianSC = ellipsoid.cartographicToCartesian(perimeterCartographicSC, scratchPerimeterCartesianSC);
-
-                var perimeterProjectedNC = tangentPlane.projectPointToNearestOnPlane(perimeterCartesianNC, scratchPerimeterProjectedNC);
-                var perimeterProjectedNW = tangentPlane.projectPointToNearestOnPlane(perimeterCartesianNW, scratchPerimeterProjectedNW);
-                var perimeterProjectedCW = tangentPlane.projectPointToNearestOnPlane(perimeterCartesianCW, scratchPerimeterProjectedCW);
-                var perimeterProjectedSW = tangentPlane.projectPointToNearestOnPlane(perimeterCartesianSW, scratchPerimeterProjectedSW);
-                var perimeterProjectedSC = tangentPlane.projectPointToNearestOnPlane(perimeterCartesianSC, scratchPerimeterProjectedSC);
-
-                minX = Math.min(perimeterProjectedNW.x, perimeterProjectedCW.x, perimeterProjectedSW.x);
-                maxX = -minX; // symmetrical
-
-                maxY = Math.max(perimeterProjectedNW.y, perimeterProjectedNC.y);
-                minY = Math.min(perimeterProjectedSW.y, perimeterProjectedSC.y);
-
-                // Compute minimum Z using the rectangle at minimum height, since it will be deeper than the maximum height
-                perimeterCartographicNW.height = perimeterCartographicSW.height = minimumHeight;
-                perimeterCartesianNW = ellipsoid.cartographicToCartesian(perimeterCartographicNW, scratchPerimeterCartesianNW);
-                perimeterCartesianSW = ellipsoid.cartographicToCartesian(perimeterCartographicSW, scratchPerimeterCartesianSW);
-
-                minZ = Math.min(Plane.Plane.getPointDistance(plane, perimeterCartesianNW), Plane.Plane.getPointDistance(plane, perimeterCartesianSW));
-                maxZ = maximumHeight;  // Since the tangent plane touches the surface at height = 0, this is okay
-
-                return fromPlaneExtents(tangentPlane.origin, tangentPlane.xAxis, tangentPlane.yAxis, tangentPlane.zAxis, minX, maxX, minY, maxY, minZ, maxZ, result);
-            }
-
-            // Handle the case where rectangle width is greater than PI (wraps around more than half the ellipsoid).
-            var fullyAboveEquator = rectangle.south > 0.0;
-            var fullyBelowEquator = rectangle.north < 0.0;
-            var latitudeNearestToEquator = fullyAboveEquator ? rectangle.south : (fullyBelowEquator ? rectangle.north : 0.0);
-            var centerLongitude = Cartesian2.Rectangle.center(rectangle, scratchRectangleCenterCartographic).longitude;
-
-            // Plane is located at the rectangle's center longitude and the rectangle's latitude that is closest to the equator. It rotates around the Z axis.
-            // This results in a better fit than the obb approach for smaller rectangles, which orients with the rectangle's center normal.
-            var planeOrigin = Cartesian2.Cartesian3.fromRadians(centerLongitude, latitudeNearestToEquator, maximumHeight, ellipsoid, scratchPlaneOrigin);
-            planeOrigin.z = 0.0; // center the plane on the equator to simpify plane normal calculation
-            var isPole = Math.abs(planeOrigin.x) < _Math.CesiumMath.EPSILON10 && Math.abs(planeOrigin.y) < _Math.CesiumMath.EPSILON10;
-            var planeNormal = !isPole ? Cartesian2.Cartesian3.normalize(planeOrigin, scratchPlaneNormal) : Cartesian2.Cartesian3.UNIT_X;
-            var planeYAxis = Cartesian2.Cartesian3.UNIT_Z;
-            var planeXAxis = Cartesian2.Cartesian3.cross(planeNormal, planeYAxis, scratchPlaneXAxis);
-            plane = Plane.Plane.fromPointNormal(planeOrigin, planeNormal, scratchPlane);
-
-            // Get the horizon point relative to the center. This will be the farthest extent in the plane's X dimension.
-            var horizonCartesian = Cartesian2.Cartesian3.fromRadians(centerLongitude + _Math.CesiumMath.PI_OVER_TWO, latitudeNearestToEquator, maximumHeight, ellipsoid, scratchHorizonCartesian);
-            maxX = Cartesian2.Cartesian3.dot(Plane.Plane.projectPointOntoPlane(plane, horizonCartesian, scratchHorizonProjected), planeXAxis);
-            minX = -maxX; // symmetrical
-
-            // Get the min and max Y, using the height that will give the largest extent
-            maxY = Cartesian2.Cartesian3.fromRadians(0.0, rectangle.north, fullyBelowEquator ? minimumHeight : maximumHeight, ellipsoid, scratchMaxY).z;
-            minY = Cartesian2.Cartesian3.fromRadians(0.0, rectangle.south, fullyAboveEquator ? minimumHeight : maximumHeight, ellipsoid, scratchMinY).z;
-
-            var farZ = Cartesian2.Cartesian3.fromRadians(rectangle.east, latitudeNearestToEquator, maximumHeight, ellipsoid, scratchZ);
-            minZ = Plane.Plane.getPointDistance(plane, farZ);
-            maxZ = 0.0; // plane origin starts at maxZ already
-
-            // min and max are local to the plane axes
-            return fromPlaneExtents(planeOrigin, planeXAxis, planeYAxis, planeNormal, minX, maxX, minY, maxY, minZ, maxZ, result);
-        };
-
-        /**
-         * Duplicates a OrientedBoundingBox instance.
-         *
-         * @param {OrientedBoundingBox} box The bounding box to duplicate.
-         * @param {OrientedBoundingBox} [result] The object onto which to store the result.
-         * @returns {OrientedBoundingBox} The modified result parameter or a new OrientedBoundingBox instance if none was provided. (Returns undefined if box is undefined)
-         */
-        OrientedBoundingBox.clone = function(box, result) {
-            if (!when.defined(box)) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                return new OrientedBoundingBox(box.center, box.halfAxes);
-            }
-
-            Cartesian2.Cartesian3.clone(box.center, result.center);
-            BoundingSphere.Matrix3.clone(box.halfAxes, result.halfAxes);
-
-            return result;
-        };
-
-        /**
-         * Determines which side of a plane the oriented bounding box is located.
-         *
-         * @param {OrientedBoundingBox} box The oriented bounding box to test.
-         * @param {Plane} plane The plane to test against.
-         * @returns {Intersect} {@link Intersect.INSIDE} if the entire box is on the side of the plane
-         *                      the normal is pointing, {@link Intersect.OUTSIDE} if the entire box is
-         *                      on the opposite side, and {@link Intersect.INTERSECTING} if the box
-         *                      intersects the plane.
-         */
-        OrientedBoundingBox.intersectPlane = function(box, plane) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(box)) {
-                throw new Check.DeveloperError('box is required.');
-            }
-
-            if (!when.defined(plane)) {
-                throw new Check.DeveloperError('plane is required.');
-            }
-            //>>includeEnd('debug');
-
-            var center = box.center;
-            var normal = plane.normal;
-            var halfAxes = box.halfAxes;
-            var normalX = normal.x, normalY = normal.y, normalZ = normal.z;
-            // plane is used as if it is its normal; the first three components are assumed to be normalized
-            var radEffective = Math.abs(normalX * halfAxes[BoundingSphere.Matrix3.COLUMN0ROW0] + normalY * halfAxes[BoundingSphere.Matrix3.COLUMN0ROW1] + normalZ * halfAxes[BoundingSphere.Matrix3.COLUMN0ROW2]) +
-                               Math.abs(normalX * halfAxes[BoundingSphere.Matrix3.COLUMN1ROW0] + normalY * halfAxes[BoundingSphere.Matrix3.COLUMN1ROW1] + normalZ * halfAxes[BoundingSphere.Matrix3.COLUMN1ROW2]) +
-                               Math.abs(normalX * halfAxes[BoundingSphere.Matrix3.COLUMN2ROW0] + normalY * halfAxes[BoundingSphere.Matrix3.COLUMN2ROW1] + normalZ * halfAxes[BoundingSphere.Matrix3.COLUMN2ROW2]);
-            var distanceToPlane = Cartesian2.Cartesian3.dot(normal, center) + plane.distance;
-
-            if (distanceToPlane <= -radEffective) {
-                // The entire box is on the negative side of the plane normal
-                return BoundingSphere.Intersect.OUTSIDE;
-            } else if (distanceToPlane >= radEffective) {
-                // The entire box is on the positive side of the plane normal
-                return BoundingSphere.Intersect.INSIDE;
-            }
-            return BoundingSphere.Intersect.INTERSECTING;
-        };
-
-        var scratchCartesianU = new Cartesian2.Cartesian3();
-        var scratchCartesianV = new Cartesian2.Cartesian3();
-        var scratchCartesianW = new Cartesian2.Cartesian3();
-        var scratchPPrime = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes the estimated distance squared from the closest point on a bounding box to a point.
-         *
-         * @param {OrientedBoundingBox} box The box.
-         * @param {Cartesian3} cartesian The point
-         * @returns {Number} The estimated distance squared from the bounding sphere to the point.
-         *
-         * @example
-         * // Sort bounding boxes from back to front
-         * boxes.sort(function(a, b) {
-         *     return Cesium.OrientedBoundingBox.distanceSquaredTo(b, camera.positionWC) - Cesium.OrientedBoundingBox.distanceSquaredTo(a, camera.positionWC);
-         * });
-         */
-        OrientedBoundingBox.distanceSquaredTo = function(box, cartesian) {
-            // See Geometric Tools for Computer Graphics 10.4.2
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(box)) {
-                throw new Check.DeveloperError('box is required.');
-            }
-            if (!when.defined(cartesian)) {
-                throw new Check.DeveloperError('cartesian is required.');
-            }
-            //>>includeEnd('debug');
-
-            var offset = Cartesian2.Cartesian3.subtract(cartesian, box.center, scratchOffset);
-
-            var halfAxes = box.halfAxes;
-            var u = BoundingSphere.Matrix3.getColumn(halfAxes, 0, scratchCartesianU);
-            var v = BoundingSphere.Matrix3.getColumn(halfAxes, 1, scratchCartesianV);
-            var w = BoundingSphere.Matrix3.getColumn(halfAxes, 2, scratchCartesianW);
-
-            var uHalf = Cartesian2.Cartesian3.magnitude(u);
-            var vHalf = Cartesian2.Cartesian3.magnitude(v);
-            var wHalf = Cartesian2.Cartesian3.magnitude(w);
-
-            Cartesian2.Cartesian3.normalize(u, u);
-            Cartesian2.Cartesian3.normalize(v, v);
-            Cartesian2.Cartesian3.normalize(w, w);
-
-            var pPrime = scratchPPrime;
-            pPrime.x = Cartesian2.Cartesian3.dot(offset, u);
-            pPrime.y = Cartesian2.Cartesian3.dot(offset, v);
-            pPrime.z = Cartesian2.Cartesian3.dot(offset, w);
-
-            var distanceSquared = 0.0;
-            var d;
-
-            if (pPrime.x < -uHalf) {
-                d = pPrime.x + uHalf;
-                distanceSquared += d * d;
-            } else if (pPrime.x > uHalf) {
-                d = pPrime.x - uHalf;
-                distanceSquared += d * d;
-            }
-
-            if (pPrime.y < -vHalf) {
-                d = pPrime.y + vHalf;
-                distanceSquared += d * d;
-            } else if (pPrime.y > vHalf) {
-                d = pPrime.y - vHalf;
-                distanceSquared += d * d;
-            }
-
-            if (pPrime.z < -wHalf) {
-                d = pPrime.z + wHalf;
-                distanceSquared += d * d;
-            } else if (pPrime.z > wHalf) {
-                d = pPrime.z - wHalf;
-                distanceSquared += d * d;
-            }
-
-            return distanceSquared;
-        };
-
-        var scratchCorner = new Cartesian2.Cartesian3();
-        var scratchToCenter = new Cartesian2.Cartesian3();
-
-        /**
-         * The distances calculated by the vector from the center of the bounding box to position projected onto direction.
-         * <br>
-         * If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the
-         * closest and farthest planes from position that intersect the bounding box.
-         *
-         * @param {OrientedBoundingBox} box The bounding box to calculate the distance to.
-         * @param {Cartesian3} position The position to calculate the distance from.
-         * @param {Cartesian3} direction The direction from position.
-         * @param {Interval} [result] A Interval to store the nearest and farthest distances.
-         * @returns {Interval} The nearest and farthest distances on the bounding box from position in direction.
-         */
-        OrientedBoundingBox.computePlaneDistances = function(box, position, direction, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(box)) {
-                throw new Check.DeveloperError('box is required.');
-            }
-
-            if (!when.defined(position)) {
-                throw new Check.DeveloperError('position is required.');
-            }
-
-            if (!when.defined(direction)) {
-                throw new Check.DeveloperError('direction is required.');
-            }
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere.Interval();
-            }
-
-            var minDist = Number.POSITIVE_INFINITY;
-            var maxDist = Number.NEGATIVE_INFINITY;
-
-            var center = box.center;
-            var halfAxes = box.halfAxes;
-
-            var u = BoundingSphere.Matrix3.getColumn(halfAxes, 0, scratchCartesianU);
-            var v = BoundingSphere.Matrix3.getColumn(halfAxes, 1, scratchCartesianV);
-            var w = BoundingSphere.Matrix3.getColumn(halfAxes, 2, scratchCartesianW);
-
-            // project first corner
-            var corner = Cartesian2.Cartesian3.add(u, v, scratchCorner);
-            Cartesian2.Cartesian3.add(corner, w, corner);
-            Cartesian2.Cartesian3.add(corner, center, corner);
-
-            var toCenter = Cartesian2.Cartesian3.subtract(corner, position, scratchToCenter);
-            var mag = Cartesian2.Cartesian3.dot(direction, toCenter);
-
-            minDist = Math.min(mag, minDist);
-            maxDist = Math.max(mag, maxDist);
-
-            // project second corner
-            Cartesian2.Cartesian3.add(center, u, corner);
-            Cartesian2.Cartesian3.add(corner, v, corner);
-            Cartesian2.Cartesian3.subtract(corner, w, corner);
-
-            Cartesian2.Cartesian3.subtract(corner, position, toCenter);
-            mag = Cartesian2.Cartesian3.dot(direction, toCenter);
-
-            minDist = Math.min(mag, minDist);
-            maxDist = Math.max(mag, maxDist);
-
-            // project third corner
-            Cartesian2.Cartesian3.add(center, u, corner);
-            Cartesian2.Cartesian3.subtract(corner, v, corner);
-            Cartesian2.Cartesian3.add(corner, w, corner);
-
-            Cartesian2.Cartesian3.subtract(corner, position, toCenter);
-            mag = Cartesian2.Cartesian3.dot(direction, toCenter);
-
-            minDist = Math.min(mag, minDist);
-            maxDist = Math.max(mag, maxDist);
-
-            // project fourth corner
-            Cartesian2.Cartesian3.add(center, u, corner);
-            Cartesian2.Cartesian3.subtract(corner, v, corner);
-            Cartesian2.Cartesian3.subtract(corner, w, corner);
-
-            Cartesian2.Cartesian3.subtract(corner, position, toCenter);
-            mag = Cartesian2.Cartesian3.dot(direction, toCenter);
-
-            minDist = Math.min(mag, minDist);
-            maxDist = Math.max(mag, maxDist);
-
-            // project fifth corner
-            Cartesian2.Cartesian3.subtract(center, u, corner);
-            Cartesian2.Cartesian3.add(corner, v, corner);
-            Cartesian2.Cartesian3.add(corner, w, corner);
-
-            Cartesian2.Cartesian3.subtract(corner, position, toCenter);
-            mag = Cartesian2.Cartesian3.dot(direction, toCenter);
-
-            minDist = Math.min(mag, minDist);
-            maxDist = Math.max(mag, maxDist);
-
-            // project sixth corner
-            Cartesian2.Cartesian3.subtract(center, u, corner);
-            Cartesian2.Cartesian3.add(corner, v, corner);
-            Cartesian2.Cartesian3.subtract(corner, w, corner);
-
-            Cartesian2.Cartesian3.subtract(corner, position, toCenter);
-            mag = Cartesian2.Cartesian3.dot(direction, toCenter);
-
-            minDist = Math.min(mag, minDist);
-            maxDist = Math.max(mag, maxDist);
-
-            // project seventh corner
-            Cartesian2.Cartesian3.subtract(center, u, corner);
-            Cartesian2.Cartesian3.subtract(corner, v, corner);
-            Cartesian2.Cartesian3.add(corner, w, corner);
-
-            Cartesian2.Cartesian3.subtract(corner, position, toCenter);
-            mag = Cartesian2.Cartesian3.dot(direction, toCenter);
-
-            minDist = Math.min(mag, minDist);
-            maxDist = Math.max(mag, maxDist);
-
-            // project eighth corner
-            Cartesian2.Cartesian3.subtract(center, u, corner);
-            Cartesian2.Cartesian3.subtract(corner, v, corner);
-            Cartesian2.Cartesian3.subtract(corner, w, corner);
-
-            Cartesian2.Cartesian3.subtract(corner, position, toCenter);
-            mag = Cartesian2.Cartesian3.dot(direction, toCenter);
-
-            minDist = Math.min(mag, minDist);
-            maxDist = Math.max(mag, maxDist);
-
-            result.start = minDist;
-            result.stop = maxDist;
-            return result;
-        };
-
-        var scratchBoundingSphere = new BoundingSphere.BoundingSphere();
-
-        /**
-         * Determines whether or not a bounding box is hidden from view by the occluder.
-         *
-         * @param {OrientedBoundingBox} box The bounding box surrounding the occludee object.
-         * @param {Occluder} occluder The occluder.
-         * @returns {Boolean} <code>true</code> if the box is not visible; otherwise <code>false</code>.
-         */
-        OrientedBoundingBox.isOccluded = function(box, occluder) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(box)) {
-                throw new Check.DeveloperError('box is required.');
-            }
-            if (!when.defined(occluder)) {
-                throw new Check.DeveloperError('occluder is required.');
-            }
-            //>>includeEnd('debug');
-
-            var sphere = BoundingSphere.BoundingSphere.fromOrientedBoundingBox(box, scratchBoundingSphere);
-
-            return !occluder.isBoundingSphereVisible(sphere);
-        };
-
-        /**
-         * Determines which side of a plane the oriented bounding box is located.
-         *
-         * @param {Plane} plane The plane to test against.
-         * @returns {Intersect} {@link Intersect.INSIDE} if the entire box is on the side of the plane
-         *                      the normal is pointing, {@link Intersect.OUTSIDE} if the entire box is
-         *                      on the opposite side, and {@link Intersect.INTERSECTING} if the box
-         *                      intersects the plane.
-         */
-        OrientedBoundingBox.prototype.intersectPlane = function(plane) {
-            return OrientedBoundingBox.intersectPlane(this, plane);
-        };
-
-        /**
-         * Computes the estimated distance squared from the closest point on a bounding box to a point.
-         *
-         * @param {Cartesian3} cartesian The point
-         * @returns {Number} The estimated distance squared from the bounding sphere to the point.
-         *
-         * @example
-         * // Sort bounding boxes from back to front
-         * boxes.sort(function(a, b) {
-         *     return b.distanceSquaredTo(camera.positionWC) - a.distanceSquaredTo(camera.positionWC);
-         * });
-         */
-        OrientedBoundingBox.prototype.distanceSquaredTo = function(cartesian) {
-            return OrientedBoundingBox.distanceSquaredTo(this, cartesian);
-        };
-
-        /**
-         * The distances calculated by the vector from the center of the bounding box to position projected onto direction.
-         * <br>
-         * If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the
-         * closest and farthest planes from position that intersect the bounding box.
-         *
-         * @param {Cartesian3} position The position to calculate the distance from.
-         * @param {Cartesian3} direction The direction from position.
-         * @param {Interval} [result] A Interval to store the nearest and farthest distances.
-         * @returns {Interval} The nearest and farthest distances on the bounding box from position in direction.
-         */
-        OrientedBoundingBox.prototype.computePlaneDistances = function(position, direction, result) {
-            return OrientedBoundingBox.computePlaneDistances(this, position, direction, result);
-        };
-
-        /**
-         * Determines whether or not a bounding box is hidden from view by the occluder.
-         *
-         * @param {Occluder} occluder The occluder.
-         * @returns {Boolean} <code>true</code> if the sphere is not visible; otherwise <code>false</code>.
-         */
-        OrientedBoundingBox.prototype.isOccluded = function(occluder) {
-            return OrientedBoundingBox.isOccluded(this, occluder);
-        };
-
-        /**
-         * Compares the provided OrientedBoundingBox componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {OrientedBoundingBox} left The first OrientedBoundingBox.
-         * @param {OrientedBoundingBox} right The second OrientedBoundingBox.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        OrientedBoundingBox.equals = function(left, right) {
-            return (left === right) ||
-                    ((when.defined(left)) &&
-                     (when.defined(right)) &&
-                     Cartesian2.Cartesian3.equals(left.center, right.center) &&
-                     BoundingSphere.Matrix3.equals(left.halfAxes, right.halfAxes));
-        };
-
-        /**
-         * Duplicates this OrientedBoundingBox instance.
-         *
-         * @param {OrientedBoundingBox} [result] The object onto which to store the result.
-         * @returns {OrientedBoundingBox} The modified result parameter or a new OrientedBoundingBox instance if one was not provided.
-         */
-        OrientedBoundingBox.prototype.clone = function(result) {
-            return OrientedBoundingBox.clone(this, result);
-        };
-
-        /**
-         * Compares this OrientedBoundingBox against the provided OrientedBoundingBox componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {OrientedBoundingBox} [right] The right hand side OrientedBoundingBox.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        OrientedBoundingBox.prototype.equals = function(right) {
-            return OrientedBoundingBox.equals(this, right);
-        };
-
-    exports.OrientedBoundingBox = OrientedBoundingBox;
-
-});
diff --git a/libs/supermap/Workers/Plane-d0f009aa.js b/libs/supermap/Workers/Plane-d0f009aa.js
deleted file mode 100644
index 2b2dd74..0000000
--- a/libs/supermap/Workers/Plane-d0f009aa.js
+++ /dev/null
@@ -1,279 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere) { 'use strict';
-
-    /**
-         * A plane in Hessian Normal Form defined by
-         * <pre>
-         * ax + by + cz + d = 0
-         * </pre>
-         * where (a, b, c) is the plane's <code>normal</code>, d is the signed
-         * <code>distance</code> to the plane, and (x, y, z) is any point on
-         * the plane.
-         *
-         * @alias Plane
-         * @constructor
-         *
-         * @param {Cartesian3} normal The plane's normal (normalized).
-         * @param {Number} distance The shortest distance from the origin to the plane.  The sign of
-         * <code>distance</code> determines which side of the plane the origin
-         * is on.  If <code>distance</code> is positive, the origin is in the half-space
-         * in the direction of the normal; if negative, the origin is in the half-space
-         * opposite to the normal; if zero, the plane passes through the origin.
-         *
-         * @example
-         * // The plane x=0
-         * var plane = new Cesium.Plane(Cesium.Cartesian3.UNIT_X, 0.0);
-         *
-         * @exception {DeveloperError} Normal must be normalized
-         */
-        function Plane(normal, distance) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('normal', normal);
-            if (!_Math.CesiumMath.equalsEpsilon(Cartesian2.Cartesian3.magnitude(normal), 1.0, _Math.CesiumMath.EPSILON6)) {
-                throw new Check.DeveloperError('normal must be normalized.');
-            }
-            Check.Check.typeOf.number('distance', distance);
-            //>>includeEnd('debug');
-
-            /**
-             * The plane's normal.
-             *
-             * @type {Cartesian3}
-             */
-            this.normal = Cartesian2.Cartesian3.clone(normal);
-
-            /**
-             * The shortest distance from the origin to the plane.  The sign of
-             * <code>distance</code> determines which side of the plane the origin
-             * is on.  If <code>distance</code> is positive, the origin is in the half-space
-             * in the direction of the normal; if negative, the origin is in the half-space
-             * opposite to the normal; if zero, the plane passes through the origin.
-             *
-             * @type {Number}
-             */
-            this.distance = distance;
-        }
-
-        /**
-         * Creates a plane from a normal and a point on the plane.
-         *
-         * @param {Cartesian3} point The point on the plane.
-         * @param {Cartesian3} normal The plane's normal (normalized).
-         * @param {Plane} [result] The object onto which to store the result.
-         * @returns {Plane} A new plane instance or the modified result parameter.
-         *
-         * @example
-         * var point = Cesium.Cartesian3.fromDegrees(-72.0, 40.0);
-         * var normal = ellipsoid.geodeticSurfaceNormal(point);
-         * var tangentPlane = Cesium.Plane.fromPointNormal(point, normal);
-         *
-         * @exception {DeveloperError} Normal must be normalized
-         */
-        Plane.fromPointNormal = function(point, normal, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('point', point);
-            Check.Check.typeOf.object('normal', normal);
-            if (!_Math.CesiumMath.equalsEpsilon(Cartesian2.Cartesian3.magnitude(normal), 1.0, _Math.CesiumMath.EPSILON6)) {
-                throw new Check.DeveloperError('normal must be normalized.');
-            }
-            //>>includeEnd('debug');
-
-            var distance = -Cartesian2.Cartesian3.dot(normal, point);
-
-            if (!when.defined(result)) {
-                return new Plane(normal, distance);
-            }
-
-            Cartesian2.Cartesian3.clone(normal, result.normal);
-            result.distance = distance;
-            return result;
-        };
-
-        var scratchNormal = new Cartesian2.Cartesian3();
-        /**
-         * Creates a plane from the general equation
-         *
-         * @param {Cartesian4} coefficients The plane's normal (normalized).
-         * @param {Plane} [result] The object onto which to store the result.
-         * @returns {Plane} A new plane instance or the modified result parameter.
-         *
-         * @exception {DeveloperError} Normal must be normalized
-         */
-        Plane.fromCartesian4 = function(coefficients, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('coefficients', coefficients);
-            //>>includeEnd('debug');
-
-            var normal = Cartesian2.Cartesian3.fromCartesian4(coefficients, scratchNormal);
-            var distance = coefficients.w;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!_Math.CesiumMath.equalsEpsilon(Cartesian2.Cartesian3.magnitude(normal), 1.0, _Math.CesiumMath.EPSILON6)) {
-                throw new Check.DeveloperError('normal must be normalized.');
-            }
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Plane(normal, distance);
-            }
-            Cartesian2.Cartesian3.clone(normal, result.normal);
-            result.distance = distance;
-            return result;
-        };
-
-        /**
-         * Computes the signed shortest distance of a point to a plane.
-         * The sign of the distance determines which side of the plane the point
-         * is on.  If the distance is positive, the point is in the half-space
-         * in the direction of the normal; if negative, the point is in the half-space
-         * opposite to the normal; if zero, the plane passes through the point.
-         *
-         * @param {Plane} plane The plane.
-         * @param {Cartesian3} point The point.
-         * @returns {Number} The signed shortest distance of the point to the plane.
-         */
-        Plane.getPointDistance = function(plane, point) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('plane', plane);
-            Check.Check.typeOf.object('point', point);
-            //>>includeEnd('debug');
-
-            return Cartesian2.Cartesian3.dot(plane.normal, point) + plane.distance;
-        };
-
-        var scratchCartesian = new Cartesian2.Cartesian3();
-        /**
-         * Projects a point onto the plane.
-         * @param {Plane} plane The plane to project the point onto
-         * @param {Cartesian3} point The point to project onto the plane
-         * @param {Cartesian3} [result] The result point.  If undefined, a new Cartesian3 will be created.
-         * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided.
-         */
-        Plane.projectPointOntoPlane = function(plane, point, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('plane', plane);
-            Check.Check.typeOf.object('point', point);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian3();
-            }
-
-            // projectedPoint = point - (normal.point + scale) * normal
-            var pointDistance = Plane.getPointDistance(plane, point);
-            var scaledNormal = Cartesian2.Cartesian3.multiplyByScalar(plane.normal, pointDistance, scratchCartesian);
-
-            return Cartesian2.Cartesian3.subtract(point, scaledNormal, result);
-        };
-
-        var scratchPosition = new Cartesian2.Cartesian3();
-        /**
-         * Transforms the plane by the given transformation matrix.
-         *
-         * @param {Plane} plane The plane.
-         * @param {Matrix4} transform The transformation matrix.
-         * @param {Plane} [result] The object into which to store the result.
-         * @returns {Plane} The plane transformed by the given transformation matrix.
-         */
-        Plane.transform = function(plane, transform, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('plane', plane);
-            Check.Check.typeOf.object('transform', transform);
-            //>>includeEnd('debug');
-
-            BoundingSphere.Matrix4.multiplyByPointAsVector(transform, plane.normal, scratchNormal);
-            Cartesian2.Cartesian3.normalize(scratchNormal, scratchNormal);
-
-            Cartesian2.Cartesian3.multiplyByScalar(plane.normal, -plane.distance, scratchPosition);
-            BoundingSphere.Matrix4.multiplyByPoint(transform, scratchPosition, scratchPosition);
-
-            return Plane.fromPointNormal(scratchPosition, scratchNormal, result);
-        };
-
-        /**
-         * Duplicates a Plane instance.
-         *
-         * @param {Plane} plane The plane to duplicate.
-         * @param {Plane} [result] The object onto which to store the result.
-         * @returns {Plane} The modified result parameter or a new Plane instance if one was not provided.
-         */
-        Plane.clone = function(plane, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('plane', plane);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new Plane(plane.normal, plane.distance);
-            }
-
-            Cartesian2.Cartesian3.clone(plane.normal, result.normal);
-            result.distance = plane.distance;
-
-            return result;
-        };
-
-        /**
-         * Compares the provided Planes by normal and distance and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Plane} left The first plane.
-         * @param {Plane} right The second plane.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        Plane.equals = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            return (left.distance === right.distance) && Cartesian2.Cartesian3.equals(left.normal, right.normal);
-        };
-
-        /**
-         * A constant initialized to the XY plane passing through the origin, with normal in positive Z.
-         *
-         * @type {Plane}
-         * @constant
-         */
-        Plane.ORIGIN_XY_PLANE = Object.freeze(new Plane(Cartesian2.Cartesian3.UNIT_Z, 0.0));
-
-        /**
-         * A constant initialized to the YZ plane passing through the origin, with normal in positive X.
-         *
-         * @type {Plane}
-         * @constant
-         */
-        Plane.ORIGIN_YZ_PLANE = Object.freeze(new Plane(Cartesian2.Cartesian3.UNIT_X, 0.0));
-
-        /**
-         * A constant initialized to the ZX plane passing through the origin, with normal in positive Y.
-         *
-         * @type {Plane}
-         * @constant
-         */
-        Plane.ORIGIN_ZX_PLANE = Object.freeze(new Plane(Cartesian2.Cartesian3.UNIT_Y, 0.0));
-
-    exports.Plane = Plane;
-
-});
diff --git a/libs/supermap/Workers/PolygonGeometryLibrary-ca983abc.js b/libs/supermap/Workers/PolygonGeometryLibrary-ca983abc.js
deleted file mode 100644
index 972c90d..0000000
--- a/libs/supermap/Workers/PolygonGeometryLibrary-ca983abc.js
+++ /dev/null
@@ -1,705 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './Transforms-2f2aa225', './GeometryAttributes-aacecde6', './GeometryPipeline-cf04afb6', './IndexDatatype-9435b55f', './arrayRemoveDuplicates-f0b089b1', './ArcType-66bc286a', './EllipsoidRhumbLine-4e6b52b7', './PolygonPipeline-4e2bb580'], function (exports, when, _Math, Cartesian2, BoundingSphere, ComponentDatatype, GeometryAttribute, PrimitiveType, Transforms, GeometryAttributes, GeometryPipeline, IndexDatatype, arrayRemoveDuplicates, ArcType, EllipsoidRhumbLine, PolygonPipeline) { 'use strict';
-
-    /**
-         * A queue that can enqueue items at the end, and dequeue items from the front.
-         *
-         * @alias Queue
-         * @constructor
-         */
-        function Queue() {
-            this._array = [];
-            this._offset = 0;
-            this._length = 0;
-        }
-
-        Object.defineProperties(Queue.prototype, {
-            /**
-             * The length of the queue.
-             *
-             * @memberof Queue.prototype
-             *
-             * @type {Number}
-             * @readonly
-             */
-            length : {
-                get : function() {
-                    return this._length;
-                }
-            }
-        });
-
-        /**
-         * Enqueues the specified item.
-         *
-         * @param {*} item The item to enqueue.
-         */
-        Queue.prototype.enqueue = function(item) {
-            this._array.push(item);
-            this._length++;
-        };
-
-        /**
-         * Dequeues an item.  Returns undefined if the queue is empty.
-         *
-         * @returns {*} The the dequeued item.
-         */
-        Queue.prototype.dequeue = function() {
-            if (this._length === 0) {
-                return undefined;
-            }
-
-            var array = this._array;
-            var offset = this._offset;
-            var item = array[offset];
-            array[offset] = undefined;
-
-            offset++;
-            if ((offset > 10) && (offset * 2 > array.length)) {
-                //compact array
-                this._array = array.slice(offset);
-                offset = 0;
-            }
-
-            this._offset = offset;
-            this._length--;
-
-            return item;
-        };
-
-        /**
-         * Returns the item at the front of the queue.  Returns undefined if the queue is empty.
-         *
-         * @returns {*} The item at the front of the queue.
-         */
-        Queue.prototype.peek = function() {
-            if (this._length === 0) {
-                return undefined;
-            }
-
-            return this._array[this._offset];
-        };
-
-        /**
-         * Check whether this queue contains the specified item.
-         *
-         * @param {*} item The item to search for.
-         */
-        Queue.prototype.contains = function(item) {
-            return this._array.indexOf(item) !== -1;
-        };
-
-        /**
-         * Remove all items from the queue.
-         */
-        Queue.prototype.clear = function() {
-            this._array.length = this._offset = this._length = 0;
-        };
-
-        /**
-         * Sort the items in the queue in-place.
-         *
-         * @param {Queue~Comparator} compareFunction A function that defines the sort order.
-         */
-        Queue.prototype.sort = function(compareFunction) {
-            if (this._offset > 0) {
-                //compact array
-                this._array = this._array.slice(this._offset);
-                this._offset = 0;
-            }
-
-            this._array.sort(compareFunction);
-        };
-
-    /**
-         * @private
-         */
-        var PolygonGeometryLibrary = {};
-
-        PolygonGeometryLibrary.computeHierarchyPackedLength = function(polygonHierarchy) {
-            var numComponents = 0;
-            var stack = [polygonHierarchy];
-            while (stack.length > 0) {
-                var hierarchy = stack.pop();
-                if (!when.defined(hierarchy)) {
-                    continue;
-                }
-
-                numComponents += 2;
-
-                var positions = hierarchy.positions;
-                var holes = hierarchy.holes;
-
-                if (when.defined(positions)) {
-                    numComponents += positions.length * Cartesian2.Cartesian3.packedLength;
-                }
-
-                if (when.defined(holes)) {
-                    var length = holes.length;
-                    for (var i = 0; i < length; ++i) {
-                        stack.push(holes[i]);
-                    }
-                }
-            }
-
-            return numComponents;
-        };
-
-        PolygonGeometryLibrary.packPolygonHierarchy = function(polygonHierarchy, array, startingIndex) {
-            var stack = [polygonHierarchy];
-            while (stack.length > 0) {
-                var hierarchy = stack.pop();
-                if (!when.defined(hierarchy)) {
-                    continue;
-                }
-
-                var positions = hierarchy.positions;
-                var holes = hierarchy.holes;
-
-                array[startingIndex++] = when.defined(positions) ? positions.length : 0;
-                array[startingIndex++] = when.defined(holes) ? holes.length : 0;
-
-                if (when.defined(positions)) {
-                    var positionsLength = positions.length;
-                    for (var i = 0; i < positionsLength; ++i, startingIndex += 3) {
-                        Cartesian2.Cartesian3.pack(positions[i], array, startingIndex);
-                    }
-                }
-
-                if (when.defined(holes)) {
-                    var holesLength = holes.length;
-                    for (var j = 0; j < holesLength; ++j) {
-                        stack.push(holes[j]);
-                    }
-                }
-            }
-
-            return startingIndex;
-        };
-
-        PolygonGeometryLibrary.unpackPolygonHierarchy = function(array, startingIndex) {
-            var positionsLength = array[startingIndex++];
-            var holesLength = array[startingIndex++];
-
-            var positions = new Array(positionsLength);
-            var holes = holesLength > 0 ? new Array(holesLength) : undefined;
-
-            for (var i = 0; i < positionsLength; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                positions[i] = Cartesian2.Cartesian3.unpack(array, startingIndex);
-            }
-
-            for (var j = 0; j < holesLength; ++j) {
-                holes[j] = PolygonGeometryLibrary.unpackPolygonHierarchy(array, startingIndex);
-                startingIndex = holes[j].startingIndex;
-                delete holes[j].startingIndex;
-            }
-
-            return {
-                positions : positions,
-                holes : holes,
-                startingIndex : startingIndex
-            };
-        };
-
-        var distanceScratch = new Cartesian2.Cartesian3();
-        function getPointAtDistance(p0, p1, distance, length) {
-            Cartesian2.Cartesian3.subtract(p1, p0, distanceScratch);
-            Cartesian2.Cartesian3.multiplyByScalar(distanceScratch, distance / length, distanceScratch);
-            Cartesian2.Cartesian3.add(p0, distanceScratch, distanceScratch);
-            return [distanceScratch.x, distanceScratch.y, distanceScratch.z];
-        }
-
-        PolygonGeometryLibrary.subdivideLineCount = function(p0, p1, minDistance) {
-            var distance = Cartesian2.Cartesian3.distance(p0, p1);
-            var n = distance / minDistance;
-            var countDivide = Math.max(0, Math.ceil(_Math.CesiumMath.log2(n)));
-            return Math.pow(2, countDivide);
-        };
-
-        var scratchCartographic0 = new Cartesian2.Cartographic();
-        var scratchCartographic1 = new Cartesian2.Cartographic();
-        var scratchCartographic2 = new Cartesian2.Cartographic();
-        var scratchCartesian0 = new Cartesian2.Cartesian3();
-        PolygonGeometryLibrary.subdivideRhumbLineCount = function(ellipsoid, p0, p1, minDistance) {
-            var c0 = ellipsoid.cartesianToCartographic(p0, scratchCartographic0);
-            var c1 = ellipsoid.cartesianToCartographic(p1, scratchCartographic1);
-            var rhumb = new EllipsoidRhumbLine.EllipsoidRhumbLine(c0, c1, ellipsoid);
-            var n = rhumb.surfaceDistance / minDistance;
-            var countDivide = Math.max(0, Math.ceil(_Math.CesiumMath.log2(n)));
-            return Math.pow(2, countDivide);
-        };
-
-        PolygonGeometryLibrary.subdivideLine = function(p0, p1, minDistance, result) {
-            var numVertices = PolygonGeometryLibrary.subdivideLineCount(p0, p1, minDistance);
-            var length = Cartesian2.Cartesian3.distance(p0, p1);
-            var distanceBetweenVertices = length / numVertices;
-
-            if (!when.defined(result)) {
-                result = [];
-            }
-
-            var positions = result;
-            positions.length = numVertices * 3;
-
-            var index = 0;
-            for ( var i = 0; i < numVertices; i++) {
-                var p = getPointAtDistance(p0, p1, i * distanceBetweenVertices, length);
-                positions[index++] = p[0];
-                positions[index++] = p[1];
-                positions[index++] = p[2];
-            }
-
-            return positions;
-        };
-
-        PolygonGeometryLibrary.subdivideRhumbLine = function(ellipsoid, p0, p1, minDistance, result) {
-            var c0 = ellipsoid.cartesianToCartographic(p0, scratchCartographic0);
-            var c1 = ellipsoid.cartesianToCartographic(p1, scratchCartographic1);
-            var rhumb = new EllipsoidRhumbLine.EllipsoidRhumbLine(c0, c1, ellipsoid);
-
-            var n = rhumb.surfaceDistance / minDistance;
-            var countDivide = Math.max(0, Math.ceil(_Math.CesiumMath.log2(n)));
-            var numVertices = Math.pow(2, countDivide);
-            var distanceBetweenVertices = rhumb.surfaceDistance / numVertices;
-
-            if (!when.defined(result)) {
-                result = [];
-            }
-
-            var positions = result;
-            positions.length = numVertices * 3;
-
-            var index = 0;
-            for ( var i = 0; i < numVertices; i++) {
-                var c = rhumb.interpolateUsingSurfaceDistance(i * distanceBetweenVertices, scratchCartographic2);
-                var p = ellipsoid.cartographicToCartesian(c, scratchCartesian0);
-                positions[index++] = p.x;
-                positions[index++] = p.y;
-                positions[index++] = p.z;
-            }
-
-            return positions;
-        };
-
-        var scaleToGeodeticHeightN1 = new Cartesian2.Cartesian3();
-        var scaleToGeodeticHeightN2 = new Cartesian2.Cartesian3();
-        var scaleToGeodeticHeightP1 = new Cartesian2.Cartesian3();
-        var scaleToGeodeticHeightP2 = new Cartesian2.Cartesian3();
-
-        PolygonGeometryLibrary.scaleToGeodeticHeightExtruded = function(geometry, maxHeight, minHeight, ellipsoid, perPositionHeight) {
-            ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-
-            var n1 = scaleToGeodeticHeightN1;
-            var n2 = scaleToGeodeticHeightN2;
-            var p = scaleToGeodeticHeightP1;
-            var p2 = scaleToGeodeticHeightP2;
-
-            if (when.defined(geometry) && when.defined(geometry.attributes) && when.defined(geometry.attributes.position)) {
-                var positions = geometry.attributes.position.values;
-                var length = positions.length / 2;
-
-                for ( var i = 0; i < length; i += 3) {
-                    Cartesian2.Cartesian3.fromArray(positions, i, p);
-
-                    ellipsoid.geodeticSurfaceNormal(p, n1);
-                    p2 = ellipsoid.scaleToGeodeticSurface(p, p2);
-                    n2 = Cartesian2.Cartesian3.multiplyByScalar(n1, minHeight, n2);
-                    n2 = Cartesian2.Cartesian3.add(p2, n2, n2);
-                    positions[i + length] = n2.x;
-                    positions[i + 1 + length] = n2.y;
-                    positions[i + 2 + length] = n2.z;
-
-                    if (perPositionHeight) {
-                        p2 = Cartesian2.Cartesian3.clone(p, p2);
-                    }
-                    n2 = Cartesian2.Cartesian3.multiplyByScalar(n1, maxHeight, n2);
-                    n2 = Cartesian2.Cartesian3.add(p2, n2, n2);
-                    positions[i] = n2.x;
-                    positions[i + 1] = n2.y;
-                    positions[i + 2] = n2.z;
-                }
-            }
-            return geometry;
-        };
-
-        PolygonGeometryLibrary.polygonOutlinesFromHierarchy = function(polygonHierarchy, scaleToEllipsoidSurface, ellipsoid) {
-            // create from a polygon hierarchy
-            // Algorithm adapted from http://www.geometrictools.com/Documentation/TriangulationByEarClipping.pdf
-            var polygons = [];
-            var queue = new Queue();
-            queue.enqueue(polygonHierarchy);
-            var i;
-            var j;
-            var length;
-            while (queue.length !== 0) {
-                var outerNode = queue.dequeue();
-                var outerRing = outerNode.positions;
-                if (scaleToEllipsoidSurface) {
-                    length = outerRing.length;
-                    for (i = 0; i < length; i++) {
-                        ellipsoid.scaleToGeodeticSurface(outerRing[i], outerRing[i]);
-                    }
-                }
-                outerRing = arrayRemoveDuplicates.arrayRemoveDuplicates(outerRing, Cartesian2.Cartesian3.equalsEpsilon, true);
-                if (outerRing.length < 3) {
-                    continue;
-                }
-
-                var numChildren = outerNode.holes ? outerNode.holes.length : 0;
-                // The outer polygon contains inner polygons
-                for (i = 0; i < numChildren; i++) {
-                    var hole = outerNode.holes[i];
-                    var holePositions = hole.positions;
-                    if (scaleToEllipsoidSurface) {
-                        length = holePositions.length;
-                        for (j = 0; j < length; ++j) {
-                            ellipsoid.scaleToGeodeticSurface(holePositions[j], holePositions[j]);
-                        }
-                    }
-                    holePositions = arrayRemoveDuplicates.arrayRemoveDuplicates(holePositions, Cartesian2.Cartesian3.equalsEpsilon, true);
-                    if (holePositions.length < 3) {
-                        continue;
-                    }
-                    polygons.push(holePositions);
-
-                    var numGrandchildren = 0;
-                    if (when.defined(hole.holes)) {
-                        numGrandchildren = hole.holes.length;
-                    }
-
-                    for (j = 0; j < numGrandchildren; j++) {
-                        queue.enqueue(hole.holes[j]);
-                    }
-                }
-
-                polygons.push(outerRing);
-            }
-
-            return polygons;
-        };
-
-        PolygonGeometryLibrary.polygonsFromHierarchy = function(polygonHierarchy, projectPointsTo2D, scaleToEllipsoidSurface, ellipsoid) {
-            // create from a polygon hierarchy
-            // Algorithm adapted from http://www.geometrictools.com/Documentation/TriangulationByEarClipping.pdf
-            var hierarchy = [];
-            var polygons = [];
-
-            var queue = new Queue();
-            queue.enqueue(polygonHierarchy);
-
-            while (queue.length !== 0) {
-                var outerNode = queue.dequeue();
-                var outerRing = outerNode.positions;
-                var holes = outerNode.holes;
-
-                var i;
-                var length;
-                if (scaleToEllipsoidSurface) {
-                    length = outerRing.length;
-                    for (i = 0; i < length; i++) {
-                        ellipsoid.scaleToGeodeticSurface(outerRing[i], outerRing[i]);
-                    }
-                }
-
-                outerRing = arrayRemoveDuplicates.arrayRemoveDuplicates(outerRing, Cartesian2.Cartesian3.equalsEpsilon, true);
-                if (outerRing.length < 3) {
-                    continue;
-                }
-
-                var positions2D = projectPointsTo2D(outerRing);
-                if (!when.defined(positions2D)) {
-                    continue;
-                }
-                var holeIndices = [];
-
-                var originalWindingOrder = PolygonPipeline.PolygonPipeline.computeWindingOrder2D(positions2D);
-                if (originalWindingOrder === PolygonPipeline.WindingOrder.CLOCKWISE) {
-                    positions2D.reverse();
-                    outerRing = outerRing.slice().reverse();
-                }
-
-                var positions = outerRing.slice();
-                var numChildren = when.defined(holes) ? holes.length : 0;
-                var polygonHoles = [];
-                var j;
-
-                for (i = 0; i < numChildren; i++) {
-                    var hole = holes[i];
-                    var holePositions = hole.positions;
-                    if (scaleToEllipsoidSurface) {
-                        length = holePositions.length;
-                        for (j = 0; j < length; ++j) {
-                            ellipsoid.scaleToGeodeticSurface(holePositions[j], holePositions[j]);
-                        }
-                    }
-
-                    holePositions = arrayRemoveDuplicates.arrayRemoveDuplicates(holePositions, Cartesian2.Cartesian3.equalsEpsilon, true);
-                    if (holePositions.length < 3) {
-                        continue;
-                    }
-
-                    var holePositions2D = projectPointsTo2D(holePositions);
-                    if (!when.defined(holePositions2D)) {
-                        continue;
-                    }
-
-                    originalWindingOrder = PolygonPipeline.PolygonPipeline.computeWindingOrder2D(holePositions2D);
-                    if (originalWindingOrder === PolygonPipeline.WindingOrder.CLOCKWISE) {
-                        holePositions2D.reverse();
-                        holePositions = holePositions.slice().reverse();
-                    }
-
-                    polygonHoles.push(holePositions);
-                    holeIndices.push(positions.length);
-                    positions = positions.concat(holePositions);
-                    positions2D = positions2D.concat(holePositions2D);
-
-                    var numGrandchildren = 0;
-                    if (when.defined(hole.holes)) {
-                        numGrandchildren = hole.holes.length;
-                    }
-
-                    for (j = 0; j < numGrandchildren; j++) {
-                        queue.enqueue(hole.holes[j]);
-                    }
-                }
-
-                hierarchy.push({
-                    outerRing : outerRing,
-                    holes : polygonHoles
-                });
-                polygons.push({
-                    positions : positions,
-                    positions2D : positions2D,
-                    holes : holeIndices
-                });
-            }
-
-            return {
-                hierarchy : hierarchy,
-                polygons : polygons
-            };
-        };
-
-        var computeBoundingRectangleCartesian2 = new Cartesian2.Cartesian2();
-        var computeBoundingRectangleCartesian3 = new Cartesian2.Cartesian3();
-        var computeBoundingRectangleQuaternion = new Transforms.Quaternion();
-        var computeBoundingRectangleMatrix3 = new BoundingSphere.Matrix3();
-        PolygonGeometryLibrary.computeBoundingRectangle = function (planeNormal, projectPointTo2D, positions, angle, result) {
-            var rotation = Transforms.Quaternion.fromAxisAngle(planeNormal, angle, computeBoundingRectangleQuaternion);
-            var textureMatrix = BoundingSphere.Matrix3.fromQuaternion(rotation, computeBoundingRectangleMatrix3);
-
-            var minX = Number.POSITIVE_INFINITY;
-            var maxX = Number.NEGATIVE_INFINITY;
-            var minY = Number.POSITIVE_INFINITY;
-            var maxY = Number.NEGATIVE_INFINITY;
-
-            var length = positions.length;
-            for ( var i = 0; i < length; ++i) {
-                var p = Cartesian2.Cartesian3.clone(positions[i], computeBoundingRectangleCartesian3);
-                BoundingSphere.Matrix3.multiplyByVector(textureMatrix, p, p);
-                var st = projectPointTo2D(p, computeBoundingRectangleCartesian2);
-
-                if (when.defined(st)) {
-                    minX = Math.min(minX, st.x);
-                    maxX = Math.max(maxX, st.x);
-
-                    minY = Math.min(minY, st.y);
-                    maxY = Math.max(maxY, st.y);
-                }
-            }
-
-            result.x = minX;
-            result.y = minY;
-            result.width = maxX - minX;
-            result.height = maxY - minY;
-            return result;
-        };
-
-        PolygonGeometryLibrary.createGeometryFromPositions = function(ellipsoid, polygon, granularity, perPositionHeight, vertexFormat, arcType) {
-            var indices = PolygonPipeline.PolygonPipeline.triangulate(polygon.positions2D, polygon.holes);
-
-            /* If polygon is completely unrenderable, just use the first three vertices */
-            if (indices.length < 3) {
-                indices = [0, 1, 2];
-            }
-
-            var positions = polygon.positions;
-
-            if (perPositionHeight) {
-                var length = positions.length;
-                var flattenedPositions = new Array(length * 3);
-                var index = 0;
-                for ( var i = 0; i < length; i++) {
-                    var p = positions[i];
-                    flattenedPositions[index++] = p.x;
-                    flattenedPositions[index++] = p.y;
-                    flattenedPositions[index++] = p.z;
-                }
-                var geometry = new GeometryAttribute.Geometry({
-                    attributes : {
-                        position : new GeometryAttribute.GeometryAttribute({
-                            componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                            componentsPerAttribute : 3,
-                            values : flattenedPositions
-                        })
-                    },
-                    indices : indices,
-                    primitiveType : PrimitiveType.PrimitiveType.TRIANGLES
-                });
-
-                if (vertexFormat.normal) {
-                    return GeometryPipeline.GeometryPipeline.computeNormal(geometry);
-                }
-
-                return geometry;
-            }
-
-            if (arcType === ArcType.ArcType.GEODESIC) {
-                return PolygonPipeline.PolygonPipeline.computeSubdivision(ellipsoid, positions, indices, granularity);
-            } else if (arcType === ArcType.ArcType.RHUMB) {
-                return PolygonPipeline.PolygonPipeline.computeRhumbLineSubdivision(ellipsoid, positions, indices, granularity);
-            }
-        };
-
-        var computeWallIndicesSubdivided = [];
-        var p1Scratch = new Cartesian2.Cartesian3();
-        var p2Scratch = new Cartesian2.Cartesian3();
-
-        PolygonGeometryLibrary.computeWallGeometry = function(positions, ellipsoid, granularity, perPositionHeight, arcType) {
-            var edgePositions;
-            var topEdgeLength;
-            var i;
-            var p1;
-            var p2;
-
-            var length = positions.length;
-            var index = 0;
-
-            if (!perPositionHeight) {
-                var minDistance = _Math.CesiumMath.chordLength(granularity, ellipsoid.maximumRadius);
-
-                var numVertices = 0;
-                if (arcType === ArcType.ArcType.GEODESIC) {
-                    for (i = 0; i < length; i++) {
-                        numVertices += PolygonGeometryLibrary.subdivideLineCount(positions[i], positions[(i + 1) % length], minDistance);
-                    }
-                } else if (arcType === ArcType.ArcType.RHUMB) {
-                    for (i = 0; i < length; i++) {
-                        numVertices += PolygonGeometryLibrary.subdivideRhumbLineCount(ellipsoid, positions[i], positions[(i + 1) % length], minDistance);
-                    }
-                }
-
-                topEdgeLength = (numVertices + length) * 3;
-                edgePositions = new Array(topEdgeLength * 2);
-                for (i = 0; i < length; i++) {
-                    p1 = positions[i];
-                    p2 = positions[(i + 1) % length];
-
-                    var tempPositions;
-                    if (arcType === ArcType.ArcType.GEODESIC) {
-                        tempPositions = PolygonGeometryLibrary.subdivideLine(p1, p2, minDistance, computeWallIndicesSubdivided);
-                    } else if (arcType === ArcType.ArcType.RHUMB) {
-                        tempPositions = PolygonGeometryLibrary.subdivideRhumbLine(ellipsoid, p1, p2, minDistance, computeWallIndicesSubdivided);
-                    }
-                    var tempPositionsLength = tempPositions.length;
-                    for (var j = 0; j < tempPositionsLength; ++j, ++index) {
-                        edgePositions[index] = tempPositions[j];
-                        edgePositions[index + topEdgeLength] = tempPositions[j];
-                    }
-
-                    edgePositions[index] = p2.x;
-                    edgePositions[index + topEdgeLength] = p2.x;
-                    ++index;
-
-                    edgePositions[index] = p2.y;
-                    edgePositions[index + topEdgeLength] = p2.y;
-                    ++index;
-
-                    edgePositions[index] = p2.z;
-                    edgePositions[index + topEdgeLength] = p2.z;
-                    ++index;
-                }
-            } else {
-                topEdgeLength = length * 3 * 2;
-                edgePositions = new Array(topEdgeLength * 2);
-                for (i = 0; i < length; i++) {
-                    p1 = positions[i];
-                    p2 = positions[(i + 1) % length];
-                    edgePositions[index] = edgePositions[index + topEdgeLength] = p1.x;
-                    ++index;
-                    edgePositions[index] = edgePositions[index + topEdgeLength] = p1.y;
-                    ++index;
-                    edgePositions[index] = edgePositions[index + topEdgeLength] = p1.z;
-                    ++index;
-                    edgePositions[index] = edgePositions[index + topEdgeLength] = p2.x;
-                    ++index;
-                    edgePositions[index] = edgePositions[index + topEdgeLength] = p2.y;
-                    ++index;
-                    edgePositions[index] = edgePositions[index + topEdgeLength] = p2.z;
-                    ++index;
-                }
-            }
-
-            length = edgePositions.length;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(length / 3, length - positions.length * 6);
-            var edgeIndex = 0;
-            length /= 6;
-
-            for (i = 0; i < length; i++) {
-                var UL = i;
-                var UR = UL + 1;
-                var LL = UL + length;
-                var LR = LL + 1;
-
-                p1 = Cartesian2.Cartesian3.fromArray(edgePositions, UL * 3, p1Scratch);
-                p2 = Cartesian2.Cartesian3.fromArray(edgePositions, UR * 3, p2Scratch);
-                if (Cartesian2.Cartesian3.equalsEpsilon(p1, p2, _Math.CesiumMath.EPSILON14)) {
-                    continue;
-                }
-
-                indices[edgeIndex++] = UL;
-                indices[edgeIndex++] = LL;
-                indices[edgeIndex++] = UR;
-                indices[edgeIndex++] = UR;
-                indices[edgeIndex++] = LL;
-                indices[edgeIndex++] = LR;
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : new GeometryAttributes.GeometryAttributes({
-                    position : new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                        componentsPerAttribute : 3,
-                        values : edgePositions
-                    })
-                }),
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES
-            });
-        };
-
-    exports.PolygonGeometryLibrary = PolygonGeometryLibrary;
-
-});
diff --git a/libs/supermap/Workers/PolygonPipeline-4e2bb580.js b/libs/supermap/Workers/PolygonPipeline-4e2bb580.js
deleted file mode 100644
index 9b88d71..0000000
--- a/libs/supermap/Workers/PolygonPipeline-4e2bb580.js
+++ /dev/null
@@ -1,453 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6'], function (exports, when, Check, _Math, Cartesian2, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, EllipsoidRhumbLine, earcut2_2_1) { 'use strict';
-
-    /**
-         * Winding order defines the order of vertices for a triangle to be considered front-facing.
-         *
-         * @exports WindingOrder
-         */
-        var WindingOrder = {
-            /**
-             * Vertices are in clockwise order.
-             *
-             * @type {Number}
-             * @constant
-             */
-            CLOCKWISE : WebGLConstants.WebGLConstants.CW,
-
-            /**
-             * Vertices are in counter-clockwise order.
-             *
-             * @type {Number}
-             * @constant
-             */
-            COUNTER_CLOCKWISE : WebGLConstants.WebGLConstants.CCW,
-
-            /**
-             * @private
-             */
-            validate : function(windingOrder) {
-                return windingOrder === WindingOrder.CLOCKWISE ||
-                       windingOrder === WindingOrder.COUNTER_CLOCKWISE;
-            }
-        };
-    var WindingOrder$1 = Object.freeze(WindingOrder);
-
-    var scaleToGeodeticHeightN = new Cartesian2.Cartesian3();
-        var scaleToGeodeticHeightP = new Cartesian2.Cartesian3();
-
-        /**
-         * @private
-         */
-        var PolygonPipeline = {};
-
-        /**
-         * @exception {DeveloperError} At least three positions are required.
-         */
-        PolygonPipeline.computeArea2D = function(positions) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('positions', positions);
-            Check.Check.typeOf.number.greaterThanOrEquals('positions.length', positions.length, 3);
-            //>>includeEnd('debug');
-
-            var length = positions.length;
-            var area = 0.0;
-
-            for ( var i0 = length - 1, i1 = 0; i1 < length; i0 = i1++) {
-                var v0 = positions[i0];
-                var v1 = positions[i1];
-
-                area += (v0.x * v1.y) - (v1.x * v0.y);
-            }
-
-            return area * 0.5;
-        };
-
-        /**
-         * @returns {WindingOrder} The winding order.
-         *
-         * @exception {DeveloperError} At least three positions are required.
-         */
-        PolygonPipeline.computeWindingOrder2D = function(positions) {
-            var area = PolygonPipeline.computeArea2D(positions);
-            return (area > 0.0) ? WindingOrder$1.COUNTER_CLOCKWISE : WindingOrder$1.CLOCKWISE;
-        };
-
-        /**
-         * Triangulate a polygon.
-         *
-         * @param {Cartesian2[]} positions Cartesian2 array containing the vertices of the polygon
-         * @param {Number[]} [holes] An array of the staring indices of the holes.
-         * @returns {Number[]} Index array representing triangles that fill the polygon
-         */
-        PolygonPipeline.triangulate = function(positions, holes) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('positions', positions);
-            //>>includeEnd('debug');
-
-            var flattenedPositions = Cartesian2.Cartesian2.packArray(positions);
-            return earcut2_2_1.earcut(flattenedPositions, holes, 2);
-        };
-
-        var subdivisionV0Scratch = new Cartesian2.Cartesian3();
-        var subdivisionV1Scratch = new Cartesian2.Cartesian3();
-        var subdivisionV2Scratch = new Cartesian2.Cartesian3();
-        var subdivisionS0Scratch = new Cartesian2.Cartesian3();
-        var subdivisionS1Scratch = new Cartesian2.Cartesian3();
-        var subdivisionS2Scratch = new Cartesian2.Cartesian3();
-        var subdivisionMidScratch = new Cartesian2.Cartesian3();
-
-        /**
-         * Subdivides positions and raises points to the surface of the ellipsoid.
-         *
-         * @param {Ellipsoid} ellipsoid The ellipsoid the polygon in on.
-         * @param {Cartesian3[]} positions An array of {@link Cartesian3} positions of the polygon.
-         * @param {Number[]} indices An array of indices that determines the triangles in the polygon.
-         * @param {Number} [granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         *
-         * @exception {DeveloperError} At least three indices are required.
-         * @exception {DeveloperError} The number of indices must be divisable by three.
-         * @exception {DeveloperError} Granularity must be greater than zero.
-         */
-        PolygonPipeline.computeSubdivision = function(ellipsoid, positions, indices, granularity) {
-            granularity = when.defaultValue(granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('ellipsoid', ellipsoid);
-            Check.Check.defined('positions', positions);
-            Check.Check.defined('indices', indices);
-            Check.Check.typeOf.number.greaterThanOrEquals('indices.length', indices.length, 3);
-            Check.Check.typeOf.number.equals('indices.length % 3', '0', indices.length % 3, 0);
-            Check.Check.typeOf.number.greaterThan('granularity', granularity, 0.0);
-            //>>includeEnd('debug');
-
-            // triangles that need (or might need) to be subdivided.
-            var triangles = indices.slice(0);
-
-            // New positions due to edge splits are appended to the positions list.
-            var i;
-            var length = positions.length;
-            var subdividedPositions = new Array(length * 3);
-            var q = 0;
-            for (i = 0; i < length; i++) {
-                var item = positions[i];
-                subdividedPositions[q++] = item.x;
-                subdividedPositions[q++] = item.y;
-                subdividedPositions[q++] = item.z;
-            }
-
-            var subdividedIndices = [];
-
-            // Used to make sure shared edges are not split more than once.
-            var edges = {};
-
-            var radius = ellipsoid.maximumRadius;
-            var minDistance = _Math.CesiumMath.chordLength(granularity, radius);
-            var minDistanceSqrd = minDistance * minDistance;
-
-            while (triangles.length > 0) {
-                var i2 = triangles.pop();
-                var i1 = triangles.pop();
-                var i0 = triangles.pop();
-
-                var v0 = Cartesian2.Cartesian3.fromArray(subdividedPositions, i0 * 3, subdivisionV0Scratch);
-                var v1 = Cartesian2.Cartesian3.fromArray(subdividedPositions, i1 * 3, subdivisionV1Scratch);
-                var v2 = Cartesian2.Cartesian3.fromArray(subdividedPositions, i2 * 3, subdivisionV2Scratch);
-
-                var s0 = Cartesian2.Cartesian3.multiplyByScalar(Cartesian2.Cartesian3.normalize(v0, subdivisionS0Scratch), radius, subdivisionS0Scratch);
-                var s1 = Cartesian2.Cartesian3.multiplyByScalar(Cartesian2.Cartesian3.normalize(v1, subdivisionS1Scratch), radius, subdivisionS1Scratch);
-                var s2 = Cartesian2.Cartesian3.multiplyByScalar(Cartesian2.Cartesian3.normalize(v2, subdivisionS2Scratch), radius, subdivisionS2Scratch);
-
-                var g0 = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(s0, s1, subdivisionMidScratch));
-                var g1 = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(s1, s2, subdivisionMidScratch));
-                var g2 = Cartesian2.Cartesian3.magnitudeSquared(Cartesian2.Cartesian3.subtract(s2, s0, subdivisionMidScratch));
-
-                var max = Math.max(g0, g1, g2);
-                var edge;
-                var mid;
-
-                // if the max length squared of a triangle edge is greater than the chord length of squared
-                // of the granularity, subdivide the triangle
-                if (max > minDistanceSqrd) {
-                    if (g0 === max) {
-                        edge = Math.min(i0, i1) + ' ' + Math.max(i0, i1);
-
-                        i = edges[edge];
-                        if (!when.defined(i)) {
-                            mid = Cartesian2.Cartesian3.add(v0, v1, subdivisionMidScratch);
-                            Cartesian2.Cartesian3.multiplyByScalar(mid, 0.5, mid);
-                            subdividedPositions.push(mid.x, mid.y, mid.z);
-                            i = subdividedPositions.length / 3 - 1;
-                            edges[edge] = i;
-                        }
-
-                        triangles.push(i0, i, i2);
-                        triangles.push(i, i1, i2);
-                    } else if (g1 === max) {
-                        edge = Math.min(i1, i2) + ' ' + Math.max(i1, i2);
-
-                        i = edges[edge];
-                        if (!when.defined(i)) {
-                            mid = Cartesian2.Cartesian3.add(v1, v2, subdivisionMidScratch);
-                            Cartesian2.Cartesian3.multiplyByScalar(mid, 0.5, mid);
-                            subdividedPositions.push(mid.x, mid.y, mid.z);
-                            i = subdividedPositions.length / 3 - 1;
-                            edges[edge] = i;
-                        }
-
-                        triangles.push(i1, i, i0);
-                        triangles.push(i, i2, i0);
-                    } else if (g2 === max) {
-                        edge = Math.min(i2, i0) + ' ' + Math.max(i2, i0);
-
-                        i = edges[edge];
-                        if (!when.defined(i)) {
-                            mid = Cartesian2.Cartesian3.add(v2, v0, subdivisionMidScratch);
-                            Cartesian2.Cartesian3.multiplyByScalar(mid, 0.5, mid);
-                            subdividedPositions.push(mid.x, mid.y, mid.z);
-                            i = subdividedPositions.length / 3 - 1;
-                            edges[edge] = i;
-                        }
-
-                        triangles.push(i2, i, i1);
-                        triangles.push(i, i0, i1);
-                    }
-                } else {
-                    subdividedIndices.push(i0);
-                    subdividedIndices.push(i1);
-                    subdividedIndices.push(i2);
-                }
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : {
-                    position : new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                        componentsPerAttribute : 3,
-                        values : subdividedPositions
-                    })
-                },
-                indices : subdividedIndices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES
-            });
-        };
-
-        var subdivisionC0Scratch = new Cartesian2.Cartographic();
-        var subdivisionC1Scratch = new Cartesian2.Cartographic();
-        var subdivisionC2Scratch = new Cartesian2.Cartographic();
-        var subdivisionCartographicScratch = new Cartesian2.Cartographic();
-
-        /**
-         * Subdivides positions on rhumb lines and raises points to the surface of the ellipsoid.
-         *
-         * @param {Ellipsoid} ellipsoid The ellipsoid the polygon in on.
-         * @param {Cartesian3[]} positions An array of {@link Cartesian3} positions of the polygon.
-         * @param {Number[]} indices An array of indices that determines the triangles in the polygon.
-         * @param {Number} [granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         *
-         * @exception {DeveloperError} At least three indices are required.
-         * @exception {DeveloperError} The number of indices must be divisable by three.
-         * @exception {DeveloperError} Granularity must be greater than zero.
-         */
-        PolygonPipeline.computeRhumbLineSubdivision = function(ellipsoid, positions, indices, granularity) {
-            granularity = when.defaultValue(granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('ellipsoid', ellipsoid);
-            Check.Check.defined('positions', positions);
-            Check.Check.defined('indices', indices);
-            Check.Check.typeOf.number.greaterThanOrEquals('indices.length', indices.length, 3);
-            Check.Check.typeOf.number.equals('indices.length % 3', '0', indices.length % 3, 0);
-            Check.Check.typeOf.number.greaterThan('granularity', granularity, 0.0);
-            //>>includeEnd('debug');
-
-            // triangles that need (or might need) to be subdivided.
-            var triangles = indices.slice(0);
-
-            // New positions due to edge splits are appended to the positions list.
-            var i;
-            var length = positions.length;
-            var subdividedPositions = new Array(length * 3);
-            var q = 0;
-            for (i = 0; i < length; i++) {
-                var item = positions[i];
-                subdividedPositions[q++] = item.x;
-                subdividedPositions[q++] = item.y;
-                subdividedPositions[q++] = item.z;
-            }
-
-            var subdividedIndices = [];
-
-            // Used to make sure shared edges are not split more than once.
-            var edges = {};
-
-            var radius = ellipsoid.maximumRadius;
-            var minDistance = _Math.CesiumMath.chordLength(granularity, radius);
-
-            var rhumb0 = new EllipsoidRhumbLine.EllipsoidRhumbLine(undefined, undefined, ellipsoid);
-            var rhumb1 = new EllipsoidRhumbLine.EllipsoidRhumbLine(undefined, undefined, ellipsoid);
-            var rhumb2 = new EllipsoidRhumbLine.EllipsoidRhumbLine(undefined, undefined, ellipsoid);
-
-            while (triangles.length > 0) {
-                var i2 = triangles.pop();
-                var i1 = triangles.pop();
-                var i0 = triangles.pop();
-
-                var v0 = Cartesian2.Cartesian3.fromArray(subdividedPositions, i0 * 3, subdivisionV0Scratch);
-                var v1 = Cartesian2.Cartesian3.fromArray(subdividedPositions, i1 * 3, subdivisionV1Scratch);
-                var v2 = Cartesian2.Cartesian3.fromArray(subdividedPositions, i2 * 3, subdivisionV2Scratch);
-
-                var c0 = ellipsoid.cartesianToCartographic(v0, subdivisionC0Scratch);
-                var c1 = ellipsoid.cartesianToCartographic(v1, subdivisionC1Scratch);
-                var c2 = ellipsoid.cartesianToCartographic(v2, subdivisionC2Scratch);
-
-                rhumb0.setEndPoints(c0, c1);
-                var g0 = rhumb0.surfaceDistance;
-                rhumb1.setEndPoints(c1, c2);
-                var g1 = rhumb1.surfaceDistance;
-                rhumb2.setEndPoints(c2, c0);
-                var g2 = rhumb2.surfaceDistance;
-
-                var max = Math.max(g0, g1, g2);
-                var edge;
-                var mid;
-                var midHeight;
-                var midCartesian3;
-
-                // if the max length squared of a triangle edge is greater than granularity, subdivide the triangle
-                if (max > minDistance) {
-                    if (g0 === max) {
-                        edge = Math.min(i0, i1) + ' ' + Math.max(i0, i1);
-
-                        i = edges[edge];
-                        if (!when.defined(i)) {
-                            mid = rhumb0.interpolateUsingFraction(0.5, subdivisionCartographicScratch);
-                            midHeight = (c0.height + c1.height) * 0.5;
-                            midCartesian3 = Cartesian2.Cartesian3.fromRadians(mid.longitude, mid.latitude, midHeight, ellipsoid, subdivisionMidScratch);
-                            subdividedPositions.push(midCartesian3.x, midCartesian3.y, midCartesian3.z);
-                            i = subdividedPositions.length / 3 - 1;
-                            edges[edge] = i;
-                        }
-
-                        triangles.push(i0, i, i2);
-                        triangles.push(i, i1, i2);
-                    } else if (g1 === max) {
-                        edge = Math.min(i1, i2) + ' ' + Math.max(i1, i2);
-
-                        i = edges[edge];
-                        if (!when.defined(i)) {
-                            mid = rhumb1.interpolateUsingFraction(0.5, subdivisionCartographicScratch);
-                            midHeight = (c1.height + c2.height) * 0.5;
-                            midCartesian3 = Cartesian2.Cartesian3.fromRadians(mid.longitude, mid.latitude, midHeight, ellipsoid, subdivisionMidScratch);
-                            subdividedPositions.push(midCartesian3.x, midCartesian3.y, midCartesian3.z);
-                            i = subdividedPositions.length / 3 - 1;
-                            edges[edge] = i;
-                        }
-
-                        triangles.push(i1, i, i0);
-                        triangles.push(i, i2, i0);
-                    } else if (g2 === max) {
-                        edge = Math.min(i2, i0) + ' ' + Math.max(i2, i0);
-
-                        i = edges[edge];
-                        if (!when.defined(i)) {
-                            mid = rhumb2.interpolateUsingFraction(0.5, subdivisionCartographicScratch);
-                            midHeight = (c2.height + c0.height) * 0.5;
-                            midCartesian3 = Cartesian2.Cartesian3.fromRadians(mid.longitude, mid.latitude, midHeight, ellipsoid, subdivisionMidScratch);
-                            subdividedPositions.push(midCartesian3.x, midCartesian3.y, midCartesian3.z);
-                            i = subdividedPositions.length / 3 - 1;
-                            edges[edge] = i;
-                        }
-
-                        triangles.push(i2, i, i1);
-                        triangles.push(i, i0, i1);
-                    }
-                } else {
-                    subdividedIndices.push(i0);
-                    subdividedIndices.push(i1);
-                    subdividedIndices.push(i2);
-                }
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : {
-                    position : new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                        componentsPerAttribute : 3,
-                        values : subdividedPositions
-                    })
-                },
-                indices : subdividedIndices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES
-            });
-        };
-
-        /**
-         * Scales each position of a geometry's position attribute to a height, in place.
-         *
-         * @param {Number[]} positions The array of numbers representing the positions to be scaled
-         * @param {Number} [height=0.0] The desired height to add to the positions
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the positions lie.
-         * @param {Boolean} [scaleToSurface=true] <code>true</code> if the positions need to be scaled to the surface before the height is added.
-         * @returns {Number[]} The input array of positions, scaled to height
-         */
-        PolygonPipeline.scaleToGeodeticHeight = function(positions, height, ellipsoid, scaleToSurface) {
-            ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-
-            var n = scaleToGeodeticHeightN;
-            var p = scaleToGeodeticHeightP;
-
-            height = when.defaultValue(height, 0.0);
-            scaleToSurface = when.defaultValue(scaleToSurface, true);
-
-            if (when.defined(positions)) {
-                var length = positions.length;
-
-                for ( var i = 0; i < length; i += 3) {
-                    Cartesian2.Cartesian3.fromArray(positions, i, p);
-
-                    if (scaleToSurface) {
-                        p = ellipsoid.scaleToGeodeticSurface(p, p);
-                    }
-
-                    if (height !== 0) {
-                        n = ellipsoid.geodeticSurfaceNormal(p, n);
-
-                        Cartesian2.Cartesian3.multiplyByScalar(n, height, n);
-                        Cartesian2.Cartesian3.add(p, n, p);
-                    }
-
-                    positions[i] = p.x;
-                    positions[i + 1] = p.y;
-                    positions[i + 2] = p.z;
-                }
-            }
-
-            return positions;
-        };
-
-    exports.PolygonPipeline = PolygonPipeline;
-    exports.WindingOrder = WindingOrder$1;
-
-});
diff --git a/libs/supermap/Workers/PolylinePipeline-3f99899a.js b/libs/supermap/Workers/PolylinePipeline-3f99899a.js
deleted file mode 100644
index 66b6d23..0000000
--- a/libs/supermap/Workers/PolylinePipeline-3f99899a.js
+++ /dev/null
@@ -1,496 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './IntersectionTests-99e636d3', './Plane-d0f009aa', './EllipsoidRhumbLine-4e6b52b7', './EllipsoidGeodesic-15923280'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, IntersectionTests, Plane, EllipsoidRhumbLine, EllipsoidGeodesic) { 'use strict';
-
-    /**
-         * @private
-         */
-        var PolylinePipeline = {};
-
-        PolylinePipeline.numberOfPoints = function(p0, p1, minDistance) {
-            var distance = Cartesian2.Cartesian3.distance(p0, p1);
-            return Math.ceil(distance / minDistance);
-        };
-
-        PolylinePipeline.numberOfPointsRhumbLine = function(p0, p1, granularity) {
-            var radiansDistanceSquared = Math.pow((p0.longitude - p1.longitude), 2) + Math.pow((p0.latitude - p1.latitude), 2);
-            return Math.ceil(Math.sqrt(radiansDistanceSquared / (granularity * granularity)));
-        };
-
-        var cartoScratch = new Cartesian2.Cartographic();
-        PolylinePipeline.extractHeights = function(positions, ellipsoid) {
-            var length = positions.length;
-            var heights = new Array(length);
-            for (var i = 0; i < length; i++) {
-                var p = positions[i];
-                heights[i] = ellipsoid.cartesianToCartographic(p, cartoScratch).height;
-            }
-            return heights;
-        };
-
-        var wrapLongitudeInversMatrix = new BoundingSphere.Matrix4();
-        var wrapLongitudeOrigin = new Cartesian2.Cartesian3();
-        var wrapLongitudeXZNormal = new Cartesian2.Cartesian3();
-        var wrapLongitudeXZPlane = new Plane.Plane(Cartesian2.Cartesian3.UNIT_X, 0.0);
-        var wrapLongitudeYZNormal = new Cartesian2.Cartesian3();
-        var wrapLongitudeYZPlane = new Plane.Plane(Cartesian2.Cartesian3.UNIT_X, 0.0);
-        var wrapLongitudeIntersection = new Cartesian2.Cartesian3();
-        var wrapLongitudeOffset = new Cartesian2.Cartesian3();
-
-        var subdivideHeightsScratchArray = [];
-
-        function subdivideHeights(numPoints, h0, h1) {
-            var heights = subdivideHeightsScratchArray;
-            heights.length = numPoints;
-
-            var i;
-            if (h0 === h1) {
-                for (i = 0; i < numPoints; i++) {
-                    heights[i] = h0;
-                }
-                return heights;
-            }
-
-            var dHeight = h1 - h0;
-            var heightPerVertex = dHeight / numPoints;
-
-            for (i = 0; i < numPoints; i++) {
-                var h = h0 + i*heightPerVertex;
-                heights[i] = h;
-            }
-
-            return heights;
-        }
-
-        function subdivideHeightsBySin(numPoints, hMax) {
-            var heights = subdivideHeightsScratchArray;
-            heights.length = numPoints;
-
-            for (var i = 0; i < numPoints; i++) {
-                heights[i] = hMax * Math.sin(Math.PI * i/numPoints);
-            }
-
-            return heights;
-        }
-
-        var carto1 = new Cartesian2.Cartographic();
-        var carto2 = new Cartesian2.Cartographic();
-        var cartesian = new Cartesian2.Cartesian3();
-        var scaleFirst = new Cartesian2.Cartesian3();
-        var scaleLast = new Cartesian2.Cartesian3();
-        var ellipsoidGeodesic = new EllipsoidGeodesic.EllipsoidGeodesic();
-        var ellipsoidRhumb = new EllipsoidRhumbLine.EllipsoidRhumbLine();
-
-        //Returns subdivided line scaled to ellipsoid surface starting at p1 and ending at p2.
-        //Result includes p1, but not include p2.  This function is called for a sequence of line segments,
-        //and this prevents duplication of end point.
-        function generateCartesianArc(p0, p1, minDistance, ellipsoid, h0, h1, array, offset, hMax) {
-            var first = ellipsoid.scaleToGeodeticSurface(p0, scaleFirst);
-            var last = ellipsoid.scaleToGeodeticSurface(p1, scaleLast);
-            var numPoints = PolylinePipeline.numberOfPoints(p0, p1, minDistance);
-            var start = ellipsoid.cartesianToCartographic(first, carto1);
-            var end = ellipsoid.cartesianToCartographic(last, carto2);
-            var heights = subdivideHeights(numPoints, h0, h1);
-            if(hMax >0.0){
-                heights = subdivideHeightsBySin(numPoints, hMax);
-            }
-
-            ellipsoidGeodesic.setEndPoints(start, end);
-            var surfaceDistanceBetweenPoints = ellipsoidGeodesic.surfaceDistance / numPoints;
-
-            var index = offset;
-            start.height = h0;
-            var cart = ellipsoid.cartographicToCartesian(start, cartesian);
-            Cartesian2.Cartesian3.pack(cart, array, index);
-            index += 3;
-
-            for (var i = 1; i < numPoints; i++) {
-                var carto = ellipsoidGeodesic.interpolateUsingSurfaceDistance(i * surfaceDistanceBetweenPoints, carto2);
-                carto.height = heights[i];
-                cart = ellipsoid.cartographicToCartesian(carto, cartesian);
-                Cartesian2.Cartesian3.pack(cart, array, index);
-                index += 3;
-            }
-
-            return index;
-        }
-
-        //Returns subdivided line scaled to ellipsoid surface starting at p1 and ending at p2.
-        //Result includes p1, but not include p2.  This function is called for a sequence of line segments,
-        //and this prevents duplication of end point.
-        function generateCartesianRhumbArc(p0, p1, granularity, ellipsoid, h0, h1, array, offset) {
-            var first = ellipsoid.scaleToGeodeticSurface(p0, scaleFirst);
-            var last = ellipsoid.scaleToGeodeticSurface(p1, scaleLast);
-            var start = ellipsoid.cartesianToCartographic(first, carto1);
-            var end = ellipsoid.cartesianToCartographic(last, carto2);
-
-            var numPoints = PolylinePipeline.numberOfPointsRhumbLine(start, end, granularity);
-            var heights = subdivideHeights(numPoints, h0, h1);
-
-            if (!ellipsoidRhumb.ellipsoid.equals(ellipsoid)) {
-                ellipsoidRhumb = new EllipsoidRhumbLine.EllipsoidRhumbLine(undefined, undefined, ellipsoid);
-            }
-            ellipsoidRhumb.setEndPoints(start, end);
-            var surfaceDistanceBetweenPoints = ellipsoidRhumb.surfaceDistance / numPoints;
-
-            var index = offset;
-            start.height = h0;
-            var cart = ellipsoid.cartographicToCartesian(start, cartesian);
-            Cartesian2.Cartesian3.pack(cart, array, index);
-            index += 3;
-
-            for (var i = 1; i < numPoints; i++) {
-                var carto = ellipsoidRhumb.interpolateUsingSurfaceDistance(i * surfaceDistanceBetweenPoints, carto2);
-                carto.height = heights[i];
-                cart = ellipsoid.cartographicToCartesian(carto, cartesian);
-                Cartesian2.Cartesian3.pack(cart, array, index);
-                index += 3;
-            }
-
-            return index;
-        }
-
-        /**
-         * Breaks a {@link Polyline} into segments such that it does not cross the &plusmn;180 degree meridian of an ellipsoid.
-         *
-         * @param {Cartesian3[]} positions The polyline's Cartesian positions.
-         * @param {Matrix4} [modelMatrix=Matrix4.IDENTITY] The polyline's model matrix. Assumed to be an affine
-         * transformation matrix, where the upper left 3x3 elements are a rotation matrix, and
-         * the upper three elements in the fourth column are the translation.  The bottom row is assumed to be [0, 0, 0, 1].
-         * The matrix is not verified to be in the proper form.
-         * @returns {Object} An object with a <code>positions</code> property that is an array of positions and a
-         * <code>segments</code> property.
-         *
-         *
-         * @example
-         * var polylines = new Cesium.PolylineCollection();
-         * var polyline = polylines.add(...);
-         * var positions = polyline.positions;
-         * var modelMatrix = polylines.modelMatrix;
-         * var segments = Cesium.PolylinePipeline.wrapLongitude(positions, modelMatrix);
-         *
-         * @see PolygonPipeline.wrapLongitude
-         * @see Polyline
-         * @see PolylineCollection
-         */
-        PolylinePipeline.wrapLongitude = function(positions, modelMatrix) {
-            var cartesians = [];
-            var segments = [];
-
-            if (when.defined(positions) && positions.length > 0) {
-                modelMatrix = when.defaultValue(modelMatrix, BoundingSphere.Matrix4.IDENTITY);
-                var inverseModelMatrix = BoundingSphere.Matrix4.inverseTransformation(modelMatrix, wrapLongitudeInversMatrix);
-
-                var origin = BoundingSphere.Matrix4.multiplyByPoint(inverseModelMatrix, Cartesian2.Cartesian3.ZERO, wrapLongitudeOrigin);
-                var xzNormal = Cartesian2.Cartesian3.normalize(BoundingSphere.Matrix4.multiplyByPointAsVector(inverseModelMatrix, Cartesian2.Cartesian3.UNIT_Y, wrapLongitudeXZNormal), wrapLongitudeXZNormal);
-                var xzPlane = Plane.Plane.fromPointNormal(origin, xzNormal, wrapLongitudeXZPlane);
-                var yzNormal = Cartesian2.Cartesian3.normalize(BoundingSphere.Matrix4.multiplyByPointAsVector(inverseModelMatrix, Cartesian2.Cartesian3.UNIT_X, wrapLongitudeYZNormal), wrapLongitudeYZNormal);
-                var yzPlane = Plane.Plane.fromPointNormal(origin, yzNormal, wrapLongitudeYZPlane);
-
-                var count = 1;
-                cartesians.push(Cartesian2.Cartesian3.clone(positions[0]));
-                var prev = cartesians[0];
-
-                var length = positions.length;
-                for (var i = 1; i < length; ++i) {
-                    var cur = positions[i];
-
-                    // intersects the IDL if either endpoint is on the negative side of the yz-plane
-                    if (Plane.Plane.getPointDistance(yzPlane, prev) < 0.0 || Plane.Plane.getPointDistance(yzPlane, cur) < 0.0) {
-                        // and intersects the xz-plane
-                        var intersection = IntersectionTests.IntersectionTests.lineSegmentPlane(prev, cur, xzPlane, wrapLongitudeIntersection);
-                        if (when.defined(intersection)) {
-                            // move point on the xz-plane slightly away from the plane
-                            var offset = Cartesian2.Cartesian3.multiplyByScalar(xzNormal, 5.0e-9, wrapLongitudeOffset);
-                            if (Plane.Plane.getPointDistance(xzPlane, prev) < 0.0) {
-                                Cartesian2.Cartesian3.negate(offset, offset);
-                            }
-
-                            cartesians.push(Cartesian2.Cartesian3.add(intersection, offset, new Cartesian2.Cartesian3()));
-                            segments.push(count + 1);
-
-                            Cartesian2.Cartesian3.negate(offset, offset);
-                            cartesians.push(Cartesian2.Cartesian3.add(intersection, offset, new Cartesian2.Cartesian3()));
-                            count = 1;
-                        }
-                    }
-
-                    cartesians.push(Cartesian2.Cartesian3.clone(positions[i]));
-                    count++;
-
-                    prev = cur;
-                }
-
-                segments.push(count);
-            }
-
-            return {
-                positions : cartesians,
-                lengths : segments
-            };
-        };
-
-        /**
-         * Subdivides polyline and raises all points to the specified height.  Returns an array of numbers to represent the positions.
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions The array of type {Cartesian3} representing positions.
-         * @param {Number|Number[]} [options.height=0.0] A number or array of numbers representing the heights of each position.
-         * @param {Number} [options.granularity = CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the positions lie.
-         * @returns {Number[]} A new array of positions of type {Number} that have been subdivided and raised to the surface of the ellipsoid.
-         *
-         * @example
-         * var positions = Cesium.Cartesian3.fromDegreesArray([
-         *   -105.0, 40.0,
-         *   -100.0, 38.0,
-         *   -105.0, 35.0,
-         *   -100.0, 32.0
-         * ]);
-         * var surfacePositions = Cesium.PolylinePipeline.generateArc({
-         *   positons: positions
-         * });
-         */
-        PolylinePipeline.generateArc = function(options) {
-            if (!when.defined(options)) {
-                options = {};
-            }
-            var positions = options.positions;
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(positions)) {
-                throw new Check.DeveloperError('options.positions is required.');
-            }
-            //>>includeEnd('debug');
-
-            var length = positions.length;
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var height = when.defaultValue(options.height, 0);
-            var hasHeightArray = Array.isArray(height);
-
-            if (length < 1) {
-                return [];
-            } else if (length === 1) {
-                var p = ellipsoid.scaleToGeodeticSurface(positions[0], scaleFirst);
-                height = hasHeightArray ? height[0] : height;
-                if (height !== 0) {
-                    var n = ellipsoid.geodeticSurfaceNormal(p, cartesian);
-                    Cartesian2.Cartesian3.multiplyByScalar(n, height, n);
-                    Cartesian2.Cartesian3.add(p, n, p);
-                }
-
-                return [p.x, p.y, p.z];
-            }
-
-            var minDistance = options.minDistance;
-            if (!when.defined(minDistance)) {
-                var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-                minDistance = _Math.CesiumMath.chordLength(granularity, ellipsoid.maximumRadius);
-            }
-
-            var numPoints = 0;
-            var i;
-
-            for (i = 0; i < length -1; i++) {
-                numPoints += PolylinePipeline.numberOfPoints(positions[i], positions[i+1], minDistance);
-            }
-
-            var hMax = options.hMax;
-
-            var arrayLength = (numPoints + 1) * 3;
-            var newPositions = new Array(arrayLength);
-            var offset = 0;
-
-            for (i = 0; i < length - 1; i++) {
-                var p0 = positions[i];
-                var p1 = positions[i + 1];
-
-                var h0 = hasHeightArray ? height[i] : height;
-                var h1 = hasHeightArray ? height[i + 1] : height;
-
-                offset = generateCartesianArc(p0, p1, minDistance, ellipsoid, h0, h1, newPositions, offset, hMax);
-            }
-
-            subdivideHeightsScratchArray.length = 0;
-
-            var lastPoint = positions[length - 1];
-            var carto = ellipsoid.cartesianToCartographic(lastPoint, carto1);
-            carto.height = hasHeightArray ? height[length - 1] : height;
-            var cart = ellipsoid.cartographicToCartesian(carto, cartesian);
-            Cartesian2.Cartesian3.pack(cart, newPositions, arrayLength - 3);
-
-            return newPositions;
-        };
-
-        var scratchCartographic0 = new Cartesian2.Cartographic();
-        var scratchCartographic1 = new Cartesian2.Cartographic();
-
-        /**
-         * Subdivides polyline and raises all points to the specified height using Rhumb lines.  Returns an array of numbers to represent the positions.
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions The array of type {Cartesian3} representing positions.
-         * @param {Number|Number[]} [options.height=0.0] A number or array of numbers representing the heights of each position.
-         * @param {Number} [options.granularity = CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the positions lie.
-         * @returns {Number[]} A new array of positions of type {Number} that have been subdivided and raised to the surface of the ellipsoid.
-         *
-         * @example
-         * var positions = Cesium.Cartesian3.fromDegreesArray([
-         *   -105.0, 40.0,
-         *   -100.0, 38.0,
-         *   -105.0, 35.0,
-         *   -100.0, 32.0
-         * ]);
-         * var surfacePositions = Cesium.PolylinePipeline.generateRhumbArc({
-         *   positons: positions
-         * });
-         */
-        PolylinePipeline.generateRhumbArc = function(options) {
-            if (!when.defined(options)) {
-                options = {};
-            }
-            var positions = options.positions;
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(positions)) {
-                throw new Check.DeveloperError('options.positions is required.');
-            }
-            //>>includeEnd('debug');
-
-            var length = positions.length;
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var height = when.defaultValue(options.height, 0);
-            var hasHeightArray = Array.isArray(height);
-
-            if (length < 1) {
-                return [];
-            } else if (length === 1) {
-                var p = ellipsoid.scaleToGeodeticSurface(positions[0], scaleFirst);
-                height = hasHeightArray ? height[0] : height;
-                if (height !== 0) {
-                    var n = ellipsoid.geodeticSurfaceNormal(p, cartesian);
-                    Cartesian2.Cartesian3.multiplyByScalar(n, height, n);
-                    Cartesian2.Cartesian3.add(p, n, p);
-                }
-
-                return [p.x, p.y, p.z];
-            }
-
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-
-            var numPoints = 0;
-            var i;
-
-            var c0 = ellipsoid.cartesianToCartographic(positions[0], scratchCartographic0);
-            var c1;
-            for (i = 0; i < length - 1; i++) {
-                c1 = ellipsoid.cartesianToCartographic(positions[i + 1], scratchCartographic1);
-                numPoints += PolylinePipeline.numberOfPointsRhumbLine(c0, c1, granularity);
-                c0 = Cartesian2.Cartographic.clone(c1, scratchCartographic0);
-            }
-
-            var arrayLength = (numPoints + 1) * 3;
-            var newPositions = new Array(arrayLength);
-            var offset = 0;
-
-            for (i = 0; i < length - 1; i++) {
-                var p0 = positions[i];
-                var p1 = positions[i + 1];
-
-                var h0 = hasHeightArray ? height[i] : height;
-                var h1 = hasHeightArray ? height[i + 1] : height;
-
-                offset = generateCartesianRhumbArc(p0, p1, granularity, ellipsoid, h0, h1, newPositions, offset);
-            }
-
-            subdivideHeightsScratchArray.length = 0;
-
-            var lastPoint = positions[length - 1];
-            var carto = ellipsoid.cartesianToCartographic(lastPoint, carto1);
-            carto.height = hasHeightArray ? height[length - 1] : height;
-            var cart = ellipsoid.cartographicToCartesian(carto, cartesian);
-            Cartesian2.Cartesian3.pack(cart, newPositions, arrayLength - 3);
-
-            return newPositions;
-        };
-
-        /**
-         * Subdivides polyline and raises all points to the specified height. Returns an array of new {Cartesian3} positions.
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions The array of type {Cartesian3} representing positions.
-         * @param {Number|Number[]} [options.height=0.0] A number or array of numbers representing the heights of each position.
-         * @param {Number} [options.granularity = CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the positions lie.
-         * @returns {Cartesian3[]} A new array of cartesian3 positions that have been subdivided and raised to the surface of the ellipsoid.
-         *
-         * @example
-         * var positions = Cesium.Cartesian3.fromDegreesArray([
-         *   -105.0, 40.0,
-         *   -100.0, 38.0,
-         *   -105.0, 35.0,
-         *   -100.0, 32.0
-         * ]);
-         * var surfacePositions = Cesium.PolylinePipeline.generateCartesianArc({
-         *   positons: positions
-         * });
-         */
-        PolylinePipeline.generateCartesianArc = function(options) {
-            var numberArray = PolylinePipeline.generateArc(options);
-            var size = numberArray.length/3;
-            var newPositions = new Array(size);
-            for (var i = 0; i < size; i++) {
-                newPositions[i] = Cartesian2.Cartesian3.unpack(numberArray, i*3);
-            }
-            return newPositions;
-        };
-
-        /**
-         * Subdivides polyline and raises all points to the specified height using Rhumb Lines. Returns an array of new {Cartesian3} positions.
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions The array of type {Cartesian3} representing positions.
-         * @param {Number|Number[]} [options.height=0.0] A number or array of numbers representing the heights of each position.
-         * @param {Number} [options.granularity = CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the positions lie.
-         * @returns {Cartesian3[]} A new array of cartesian3 positions that have been subdivided and raised to the surface of the ellipsoid.
-         *
-         * @example
-         * var positions = Cesium.Cartesian3.fromDegreesArray([
-         *   -105.0, 40.0,
-         *   -100.0, 38.0,
-         *   -105.0, 35.0,
-         *   -100.0, 32.0
-         * ]);
-         * var surfacePositions = Cesium.PolylinePipeline.generateCartesianRhumbArc({
-         *   positons: positions
-         * });
-         */
-        PolylinePipeline.generateCartesianRhumbArc = function(options) {
-            var numberArray = PolylinePipeline.generateRhumbArc(options);
-            var size = numberArray.length/3;
-            var newPositions = new Array(size);
-            for (var i = 0; i < size; i++) {
-                newPositions[i] = Cartesian2.Cartesian3.unpack(numberArray, i*3);
-            }
-            return newPositions;
-        };
-
-    exports.PolylinePipeline = PolylinePipeline;
-
-});
diff --git a/libs/supermap/Workers/PolylineVolumeGeometryLibrary-eb1fcd3f.js b/libs/supermap/Workers/PolylineVolumeGeometryLibrary-eb1fcd3f.js
deleted file mode 100644
index 7fecf77..0000000
--- a/libs/supermap/Workers/PolylineVolumeGeometryLibrary-eb1fcd3f.js
+++ /dev/null
@@ -1,628 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './Transforms-2f2aa225', './EllipsoidTangentPlane-fe3014f8', './PolylinePipeline-3f99899a'], function (exports, _Math, Cartesian2, BoundingSphere, Transforms, EllipsoidTangentPlane, PolylinePipeline) { 'use strict';
-
-    /**
-         * Style options for corners.
-         *
-         * @demo The {@link https://sandcastle.cesium.com/index.html?src=Corridor.html&label=Geometries|Corridor Demo}
-         * demonstrates the three corner types, as used by {@link CorridorGraphics}.
-         *
-         * @exports CornerType
-         */
-        var CornerType = {
-            /**
-             * <img src="Images/CornerTypeRounded.png" style="vertical-align: middle;" width="186" height="189" />
-             *
-             * Corner has a smooth edge.
-             * @type {Number}
-             * @constant
-             */
-            ROUNDED : 0,
-
-            /**
-             * <img src="Images/CornerTypeMitered.png" style="vertical-align: middle;" width="186" height="189" />
-             *
-             * Corner point is the intersection of adjacent edges.
-             * @type {Number}
-             * @constant
-             */
-            MITERED : 1,
-
-            /**
-             * <img src="Images/CornerTypeBeveled.png" style="vertical-align: middle;" width="186" height="189" />
-             *
-             * Corner is clipped.
-             * @type {Number}
-             * @constant
-             */
-            BEVELED : 2
-        };
-    var CornerType$1 = Object.freeze(CornerType);
-
-    var scratch2Array = [new Cartesian2.Cartesian3(), new Cartesian2.Cartesian3()];
-        var scratchCartesian1 = new Cartesian2.Cartesian3();
-        var scratchCartesian2 = new Cartesian2.Cartesian3();
-        var scratchCartesian3 = new Cartesian2.Cartesian3();
-        var scratchCartesian4 = new Cartesian2.Cartesian3();
-        var scratchCartesian5 = new Cartesian2.Cartesian3();
-        var scratchCartesian6 = new Cartesian2.Cartesian3();
-        var scratchCartesian7 = new Cartesian2.Cartesian3();
-        var scratchCartesian8 = new Cartesian2.Cartesian3();
-        var scratchCartesian9 = new Cartesian2.Cartesian3();
-
-        var scratch1 = new Cartesian2.Cartesian3();
-        var scratch2 = new Cartesian2.Cartesian3();
-
-        /**
-         * @private
-         */
-        var PolylineVolumeGeometryLibrary = {};
-
-        var cartographic = new Cartesian2.Cartographic();
-        function scaleToSurface(positions, ellipsoid) {
-            var heights = new Array(positions.length);
-            for (var i = 0; i < positions.length; i++) {
-                var pos = positions[i];
-                cartographic = ellipsoid.cartesianToCartographic(pos, cartographic);
-                heights[i] = cartographic.height;
-                positions[i] = ellipsoid.scaleToGeodeticSurface(pos, pos);
-            }
-            return heights;
-        }
-
-        function subdivideHeights(points, h0, h1, granularity) {
-            var p0 = points[0];
-            var p1 = points[1];
-            var angleBetween = Cartesian2.Cartesian3.angleBetween(p0, p1);
-            var numPoints = Math.ceil(angleBetween / granularity);
-            var heights = new Array(numPoints);
-            var i;
-            if (h0 === h1) {
-                for (i = 0; i < numPoints; i++) {
-                    heights[i] = h0;
-                }
-                heights.push(h1);
-                return heights;
-            }
-
-            var dHeight = h1 - h0;
-            var heightPerVertex = dHeight / (numPoints);
-
-            for (i = 1; i < numPoints; i++) {
-                var h = h0 + i * heightPerVertex;
-                heights[i] = h;
-            }
-
-            heights[0] = h0;
-            heights.push(h1);
-            return heights;
-        }
-
-        var nextScratch = new Cartesian2.Cartesian3();
-        var prevScratch = new Cartesian2.Cartesian3();
-
-        function computeRotationAngle(start, end, position, ellipsoid) {
-            var tangentPlane = new EllipsoidTangentPlane.EllipsoidTangentPlane(position, ellipsoid);
-            var next = tangentPlane.projectPointOntoPlane(Cartesian2.Cartesian3.add(position, start, nextScratch), nextScratch);
-            var prev = tangentPlane.projectPointOntoPlane(Cartesian2.Cartesian3.add(position, end, prevScratch), prevScratch);
-            var angle = Cartesian2.Cartesian2.angleBetween(next, prev);
-
-            return (prev.x * next.y - prev.y * next.x >= 0.0) ? -angle : angle;
-        }
-
-        var negativeX = new Cartesian2.Cartesian3(-1, 0, 0);
-        var transform = BoundingSphere.Matrix4.clone(BoundingSphere.Matrix4.IDENTITY);
-        var translation = new BoundingSphere.Matrix4();
-        var rotationZ = new BoundingSphere.Matrix3();
-        var scaleMatrix = BoundingSphere.Matrix3.IDENTITY.clone();
-        var westScratch = new Cartesian2.Cartesian3();
-        var finalPosScratch = new BoundingSphere.Cartesian4();
-        var heightCartesian = new Cartesian2.Cartesian3();
-        function addPosition(center, left, shape, finalPositions, ellipsoid, height, xScalar, repeat) {
-            var west = westScratch;
-            var finalPosition = finalPosScratch;
-            transform = Transforms.Transforms.eastNorthUpToFixedFrame(center, ellipsoid, transform);
-
-            west = BoundingSphere.Matrix4.multiplyByPointAsVector(transform, negativeX, west);
-            west = Cartesian2.Cartesian3.normalize(west, west);
-            var angle = computeRotationAngle(west, left, center, ellipsoid);
-            rotationZ = BoundingSphere.Matrix3.fromRotationZ(angle, rotationZ);
-
-            heightCartesian.z = height;
-            transform = BoundingSphere.Matrix4.multiplyTransformation(transform, BoundingSphere.Matrix4.fromRotationTranslation(rotationZ, heightCartesian, translation), transform);
-            var scale = scaleMatrix;
-            scale[0] = xScalar;
-
-            for (var j = 0; j < repeat; j++) {
-                for (var i = 0; i < shape.length; i += 3) {
-                    finalPosition = Cartesian2.Cartesian3.fromArray(shape, i, finalPosition);
-                    finalPosition = BoundingSphere.Matrix3.multiplyByVector(scale, finalPosition, finalPosition);
-                    finalPosition = BoundingSphere.Matrix4.multiplyByPoint(transform, finalPosition, finalPosition);
-                    finalPositions.push(finalPosition.x, finalPosition.y, finalPosition.z);
-                }
-            }
-
-            return finalPositions;
-        }
-
-        function addPositionLocal(center, left, shape, finalPositions, ellipsoid, height, xScalar, repeat, enuInverse) {
-            var west = westScratch;
-            var finalPosition = finalPosScratch;
-            transform = Transforms.Transforms.eastNorthUpToFixedFrame(center, ellipsoid, transform);
-            west = BoundingSphere.Matrix4.multiplyByPointAsVector(transform, negativeX, west);
-            west = Cartesian2.Cartesian3.normalize(west, west);
-            var angle = computeRotationAngle(west, left, center, ellipsoid);
-            rotationZ = BoundingSphere.Matrix3.fromRotationZ(angle, rotationZ);
-
-            heightCartesian.z = height;
-            transform = BoundingSphere.Matrix4.multiplyTransformation(transform, BoundingSphere.Matrix4.fromRotationTranslation(rotationZ, heightCartesian, translation), transform);
-            var scale = scaleMatrix;
-            scale[0] = xScalar;
-
-            for (var j = 0; j < repeat; j++) {
-                for (var i = 0; i < shape.length; i += 3) {
-                    finalPosition = Cartesian2.Cartesian3.fromArray(shape, i, finalPosition);
-                    finalPosition = BoundingSphere.Matrix3.multiplyByVector(scale, finalPosition, finalPosition);
-                    finalPosition = BoundingSphere.Matrix4.multiplyByPoint(transform, finalPosition, finalPosition);
-                    finalPosition = BoundingSphere.Matrix4.multiplyByPoint(enuInverse, finalPosition, finalPosition);
-                    finalPositions.push(finalPosition.x, finalPosition.y, finalPosition.z);
-                }
-            }
-
-            return finalPositions;
-        }
-
-        var centerScratch = new Cartesian2.Cartesian3();
-        function addPositions(centers, left, shape, finalPositions, ellipsoid, heights, xScalar) {
-            for (var i = 0; i < centers.length; i += 3) {
-                var center = Cartesian2.Cartesian3.fromArray(centers, i, centerScratch);
-                finalPositions = addPosition(center, left, shape, finalPositions, ellipsoid, heights[i / 3], xScalar, 1);
-            }
-            return finalPositions;
-        }
-
-        function addLocalPositions(centers, left, shape, finalPositions, ellipsoid, heights, xScalar, enuInverse) {
-            for (var i = 0; i < centers.length; i += 3) {
-                var center = Cartesian2.Cartesian3.fromArray(centers, i, centerScratch);
-                finalPositions = addPositionLocal(center, left, shape, finalPositions, ellipsoid, heights[i / 3], xScalar, 1, enuInverse);
-            }
-            return finalPositions;
-        }
-
-        function convertShapeTo3DDuplicate(shape2D, boundingRectangle) { //orientate 2D shape to XZ plane center at (0, 0, 0), duplicate points
-            var length = shape2D.length;
-            var shape = new Array(length * 6);
-            var index = 0;
-            var xOffset = boundingRectangle.x + boundingRectangle.width / 2;
-            var yOffset = boundingRectangle.y + boundingRectangle.height / 2;
-
-            var point = shape2D[0];
-            shape[index++] = point.x - xOffset;
-            shape[index++] = 0.0;
-            shape[index++] = point.y - yOffset;
-            for (var i = 1; i < length; i++) {
-                point = shape2D[i];
-                var x = point.x - xOffset;
-                var z = point.y - yOffset;
-                shape[index++] = x;
-                shape[index++] = 0.0;
-                shape[index++] = z;
-
-                shape[index++] = x;
-                shape[index++] = 0.0;
-                shape[index++] = z;
-            }
-            point = shape2D[0];
-            shape[index++] = point.x - xOffset;
-            shape[index++] = 0.0;
-            shape[index++] = point.y - yOffset;
-
-            return shape;
-        }
-
-        function convertShapeTo3D(shape2D, boundingRectangle) { //orientate 2D shape to XZ plane center at (0, 0, 0)
-            var length = shape2D.length;
-            var shape = new Array(length * 3);
-            var index = 0;
-            var xOffset = boundingRectangle.x + boundingRectangle.width / 2;
-            var yOffset = boundingRectangle.y + boundingRectangle.height / 2;
-
-            for (var i = 0; i < length; i++) {
-                shape[index++] = shape2D[i].x - xOffset;
-                shape[index++] = 0;
-                shape[index++] = shape2D[i].y - yOffset;
-            }
-
-            return shape;
-        }
-
-        var quaterion = new Transforms.Quaternion();
-        var startPointScratch = new Cartesian2.Cartesian3();
-        var rotMatrix = new BoundingSphere.Matrix3();
-        function computeRoundCorner(pivot, startPoint, endPoint, cornerType, leftIsOutside, ellipsoid, finalPositions, shape, height, duplicatePoints) {
-            var angle = Cartesian2.Cartesian3.angleBetween(Cartesian2.Cartesian3.subtract(startPoint, pivot, scratch1), Cartesian2.Cartesian3.subtract(endPoint, pivot, scratch2));
-            var granularity = (cornerType === CornerType$1.BEVELED) ? 0 : Math.ceil(angle / _Math.CesiumMath.toRadians(5));
-
-            var m;
-            if (leftIsOutside) {
-                m = BoundingSphere.Matrix3.fromQuaternion(Transforms.Quaternion.fromAxisAngle(Cartesian2.Cartesian3.negate(pivot, scratch1), angle / (granularity + 1), quaterion), rotMatrix);
-            } else {
-                m = BoundingSphere.Matrix3.fromQuaternion(Transforms.Quaternion.fromAxisAngle(pivot, angle / (granularity + 1), quaterion), rotMatrix);
-            }
-
-            var left;
-            var surfacePoint;
-            startPoint = Cartesian2.Cartesian3.clone(startPoint, startPointScratch);
-            if (granularity > 0) {
-                var repeat = duplicatePoints ? 2 : 1;
-                for (var i = 0; i < granularity; i++) {
-                    startPoint = BoundingSphere.Matrix3.multiplyByVector(m, startPoint, startPoint);
-                    left = Cartesian2.Cartesian3.subtract(startPoint, pivot, scratch1);
-                    left = Cartesian2.Cartesian3.normalize(left, left);
-                    if (!leftIsOutside) {
-                        left = Cartesian2.Cartesian3.negate(left, left);
-                    }
-                    surfacePoint = ellipsoid.scaleToGeodeticSurface(startPoint, scratch2);
-                    finalPositions = addPosition(surfacePoint, left, shape, finalPositions, ellipsoid, height, 1, repeat);
-                }
-            } else {
-                left = Cartesian2.Cartesian3.subtract(startPoint, pivot, scratch1);
-                left = Cartesian2.Cartesian3.normalize(left, left);
-                if (!leftIsOutside) {
-                    left = Cartesian2.Cartesian3.negate(left, left);
-                }
-                surfacePoint = ellipsoid.scaleToGeodeticSurface(startPoint, scratch2);
-                finalPositions = addPosition(surfacePoint, left, shape, finalPositions, ellipsoid, height, 1, 1);
-
-                endPoint = Cartesian2.Cartesian3.clone(endPoint, startPointScratch);
-                left = Cartesian2.Cartesian3.subtract(endPoint, pivot, scratch1);
-                left = Cartesian2.Cartesian3.normalize(left, left);
-                if (!leftIsOutside) {
-                    left = Cartesian2.Cartesian3.negate(left, left);
-                }
-                surfacePoint = ellipsoid.scaleToGeodeticSurface(endPoint, scratch2);
-                finalPositions = addPosition(surfacePoint, left, shape, finalPositions, ellipsoid, height, 1, 1);
-            }
-
-            return finalPositions;
-        }
-
-        PolylineVolumeGeometryLibrary.removeDuplicatesFromShape = function(shapePositions) {
-            var length = shapePositions.length;
-            var cleanedPositions = [];
-            for (var i0 = length - 1, i1 = 0; i1 < length; i0 = i1++) {
-                var v0 = shapePositions[i0];
-                var v1 = shapePositions[i1];
-
-                if (!Cartesian2.Cartesian2.equals(v0, v1)) {
-                    cleanedPositions.push(v1); // Shallow copy!
-                }
-            }
-
-            return cleanedPositions;
-        };
-
-        PolylineVolumeGeometryLibrary.angleIsGreaterThanPi = function(forward, backward, position, ellipsoid) {
-            var tangentPlane = new EllipsoidTangentPlane.EllipsoidTangentPlane(position, ellipsoid);
-            var next = tangentPlane.projectPointOntoPlane(Cartesian2.Cartesian3.add(position, forward, nextScratch), nextScratch);
-            var prev = tangentPlane.projectPointOntoPlane(Cartesian2.Cartesian3.add(position, backward, prevScratch), prevScratch);
-
-            return ((prev.x * next.y) - (prev.y * next.x)) >= 0.0;
-        };
-
-        var scratchForwardProjection = new Cartesian2.Cartesian3();
-        var scratchBackwardProjection = new Cartesian2.Cartesian3();
-
-        PolylineVolumeGeometryLibrary.computePositions = function(positions, shape2D, boundingRectangle, geometry, duplicatePoints) {
-            var ellipsoid = geometry._ellipsoid;
-            var heights = scaleToSurface(positions, ellipsoid);
-            var granularity = geometry._granularity;
-            var cornerType = geometry._cornerType;
-            var shapeForSides = duplicatePoints ? convertShapeTo3DDuplicate(shape2D, boundingRectangle) : convertShapeTo3D(shape2D, boundingRectangle);
-            var shapeForEnds = duplicatePoints ? convertShapeTo3D(shape2D, boundingRectangle) : undefined;
-            var heightOffset = boundingRectangle.height / 2;
-            var width = boundingRectangle.width / 2;
-            var length = positions.length;
-            var finalPositions = [];
-            var ends = duplicatePoints ? [] : undefined;
-
-            var forward = scratchCartesian1;
-            var backward = scratchCartesian2;
-            var cornerDirection = scratchCartesian3;
-            var surfaceNormal = scratchCartesian4;
-            var pivot = scratchCartesian5;
-            var start = scratchCartesian6;
-            var end = scratchCartesian7;
-            var left = scratchCartesian8;
-            var previousPosition = scratchCartesian9;
-
-            var position = positions[0];
-            var nextPosition = positions[1];
-            surfaceNormal = ellipsoid.geodeticSurfaceNormal(position, surfaceNormal);
-            forward = Cartesian2.Cartesian3.subtract(nextPosition, position, forward);
-            forward = Cartesian2.Cartesian3.normalize(forward, forward);
-            left = Cartesian2.Cartesian3.cross(surfaceNormal, forward, left);
-            left = Cartesian2.Cartesian3.normalize(left, left);
-            var h0 = heights[0];
-            var h1 = heights[1];
-            if (duplicatePoints) {
-                ends = addPosition(position, left, shapeForEnds, ends, ellipsoid, h0 + heightOffset, 1, 1);
-            }
-            previousPosition = Cartesian2.Cartesian3.clone(position, previousPosition);
-            position = nextPosition;
-            backward = Cartesian2.Cartesian3.negate(forward, backward);
-            var subdividedHeights;
-            var subdividedPositions;
-            for (var i = 1; i < length - 1; i++) {
-                var repeat = duplicatePoints ? 2 : 1;
-                nextPosition = positions[i + 1];
-                forward = Cartesian2.Cartesian3.subtract(nextPosition, position, forward);
-                forward = Cartesian2.Cartesian3.normalize(forward, forward);
-                cornerDirection = Cartesian2.Cartesian3.add(forward, backward, cornerDirection);
-                cornerDirection = Cartesian2.Cartesian3.normalize(cornerDirection, cornerDirection);
-                surfaceNormal = ellipsoid.geodeticSurfaceNormal(position, surfaceNormal);
-
-                var forwardProjection = Cartesian2.Cartesian3.multiplyByScalar(surfaceNormal, Cartesian2.Cartesian3.dot(forward, surfaceNormal), scratchForwardProjection);
-                Cartesian2.Cartesian3.subtract(forward, forwardProjection, forwardProjection);
-                Cartesian2.Cartesian3.normalize(forwardProjection, forwardProjection);
-
-                var backwardProjection = Cartesian2.Cartesian3.multiplyByScalar(surfaceNormal, Cartesian2.Cartesian3.dot(backward, surfaceNormal), scratchBackwardProjection);
-                Cartesian2.Cartesian3.subtract(backward, backwardProjection, backwardProjection);
-                Cartesian2.Cartesian3.normalize(backwardProjection, backwardProjection);
-
-                var doCorner = !_Math.CesiumMath.equalsEpsilon(Math.abs(Cartesian2.Cartesian3.dot(forwardProjection, backwardProjection)), 1.0, _Math.CesiumMath.EPSILON7);
-
-                if (doCorner) {
-                    cornerDirection = Cartesian2.Cartesian3.cross(cornerDirection, surfaceNormal, cornerDirection);
-                    cornerDirection = Cartesian2.Cartesian3.cross(surfaceNormal, cornerDirection, cornerDirection);
-                    cornerDirection = Cartesian2.Cartesian3.normalize(cornerDirection, cornerDirection);
-                    var scalar = 1 / Math.max(0.25, (Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.cross(cornerDirection, backward, scratch1))));
-                    var leftIsOutside = PolylineVolumeGeometryLibrary.angleIsGreaterThanPi(forward, backward, position, ellipsoid);
-                    if (leftIsOutside) {
-                        pivot = Cartesian2.Cartesian3.add(position, Cartesian2.Cartesian3.multiplyByScalar(cornerDirection, scalar * width, cornerDirection), pivot);
-                        start = Cartesian2.Cartesian3.add(pivot, Cartesian2.Cartesian3.multiplyByScalar(left, width, start), start);
-                        scratch2Array[0] = Cartesian2.Cartesian3.clone(previousPosition, scratch2Array[0]);
-                        scratch2Array[1] = Cartesian2.Cartesian3.clone(start, scratch2Array[1]);
-                        subdividedHeights = subdivideHeights(scratch2Array, h0 + heightOffset, h1 + heightOffset, granularity);
-                        subdividedPositions = PolylinePipeline.PolylinePipeline.generateArc({
-                            positions: scratch2Array,
-                            granularity: granularity,
-                            ellipsoid: ellipsoid
-                        });
-                        finalPositions = addPositions(subdividedPositions, left, shapeForSides, finalPositions, ellipsoid, subdividedHeights, 1);
-                        left = Cartesian2.Cartesian3.cross(surfaceNormal, forward, left);
-                        left = Cartesian2.Cartesian3.normalize(left, left);
-                        end = Cartesian2.Cartesian3.add(pivot, Cartesian2.Cartesian3.multiplyByScalar(left, width, end), end);
-                        if (cornerType === CornerType$1.ROUNDED || cornerType === CornerType$1.BEVELED) {
-                            computeRoundCorner(pivot, start, end, cornerType, leftIsOutside, ellipsoid, finalPositions, shapeForSides, h1 + heightOffset, duplicatePoints);
-                        } else {
-                            cornerDirection = Cartesian2.Cartesian3.negate(cornerDirection, cornerDirection);
-                            finalPositions = addPosition(position, cornerDirection, shapeForSides, finalPositions, ellipsoid, h1 + heightOffset, scalar, repeat);
-                        }
-                        previousPosition = Cartesian2.Cartesian3.clone(end, previousPosition);
-                    } else {
-                        pivot = Cartesian2.Cartesian3.add(position, Cartesian2.Cartesian3.multiplyByScalar(cornerDirection, scalar * width, cornerDirection), pivot);
-                        start = Cartesian2.Cartesian3.add(pivot, Cartesian2.Cartesian3.multiplyByScalar(left, -width, start), start);
-                        scratch2Array[0] = Cartesian2.Cartesian3.clone(previousPosition, scratch2Array[0]);
-                        scratch2Array[1] = Cartesian2.Cartesian3.clone(start, scratch2Array[1]);
-                        subdividedHeights = subdivideHeights(scratch2Array, h0 + heightOffset, h1 + heightOffset, granularity);
-                        subdividedPositions = PolylinePipeline.PolylinePipeline.generateArc({
-                            positions: scratch2Array,
-                            granularity: granularity,
-                            ellipsoid: ellipsoid
-                        });
-                        finalPositions = addPositions(subdividedPositions, left, shapeForSides, finalPositions, ellipsoid, subdividedHeights, 1);
-                        left = Cartesian2.Cartesian3.cross(surfaceNormal, forward, left);
-                        left = Cartesian2.Cartesian3.normalize(left, left);
-                        end = Cartesian2.Cartesian3.add(pivot, Cartesian2.Cartesian3.multiplyByScalar(left, -width, end), end);
-                        if (cornerType === CornerType$1.ROUNDED || cornerType === CornerType$1.BEVELED) {
-                            computeRoundCorner(pivot, start, end, cornerType, leftIsOutside, ellipsoid, finalPositions, shapeForSides, h1 + heightOffset, duplicatePoints);
-                        } else {
-                            finalPositions = addPosition(position, cornerDirection, shapeForSides, finalPositions, ellipsoid, h1 + heightOffset, scalar, repeat);
-                        }
-                        previousPosition = Cartesian2.Cartesian3.clone(end, previousPosition);
-                    }
-                    backward = Cartesian2.Cartesian3.negate(forward, backward);
-                } else {
-                    finalPositions = addPosition(previousPosition, left, shapeForSides, finalPositions, ellipsoid, h0 + heightOffset, 1, 1);
-                    previousPosition = position;
-                }
-                h0 = h1;
-                h1 = heights[i + 1];
-                position = nextPosition;
-            }
-
-            scratch2Array[0] = Cartesian2.Cartesian3.clone(previousPosition, scratch2Array[0]);
-            scratch2Array[1] = Cartesian2.Cartesian3.clone(position, scratch2Array[1]);
-            subdividedHeights = subdivideHeights(scratch2Array, h0 + heightOffset, h1 + heightOffset, granularity);
-            subdividedPositions = PolylinePipeline.PolylinePipeline.generateArc({
-                positions: scratch2Array,
-                granularity: granularity,
-                ellipsoid: ellipsoid
-            });
-            finalPositions = addPositions(subdividedPositions, left, shapeForSides, finalPositions, ellipsoid, subdividedHeights, 1);
-            if (duplicatePoints) {
-                ends = addPosition(position, left, shapeForEnds, ends, ellipsoid, h1 + heightOffset, 1, 1);
-            }
-
-            length = finalPositions.length;
-            var posLength = duplicatePoints ? length + ends.length : length;
-            var combinedPositions = new Float64Array(posLength);
-            combinedPositions.set(finalPositions);
-            if (duplicatePoints) {
-                combinedPositions.set(ends, length);
-            }
-
-            return combinedPositions;
-        };
-
-        PolylineVolumeGeometryLibrary.computeLocalPositions = function(positions, shape2D, boundingRectangle, geometry, duplicatePoints, enuCenter) {
-            var ellipsoid = geometry._ellipsoid;
-            var heights = scaleToSurface(positions, ellipsoid);
-            var granularity = geometry._granularity;
-            var cornerType = geometry._cornerType;
-            var shapeForSides = duplicatePoints ? convertShapeTo3DDuplicate(shape2D, boundingRectangle) : convertShapeTo3D(shape2D, boundingRectangle);
-            var shapeForEnds = duplicatePoints ? convertShapeTo3D(shape2D, boundingRectangle) : undefined;
-            var heightOffset = 0; //保证放样模型处于放样点的中心点
-            var width = boundingRectangle.width / 2;
-            var length = positions.length;
-            var finalPositions = [];
-            var ends = duplicatePoints ? [] : undefined;
-
-            var forward = scratchCartesian1;
-            var backward = scratchCartesian2;
-            var cornerDirection = scratchCartesian3;
-            var surfaceNormal = scratchCartesian4;
-            var pivot = scratchCartesian5;
-            var start = scratchCartesian6;
-            var end = scratchCartesian7;
-            var left = scratchCartesian8;
-            var previousPosition = scratchCartesian9;
-
-            var enu = Transforms.Transforms.eastNorthUpToFixedFrame(enuCenter, ellipsoid, new BoundingSphere.Matrix4());
-            var enuInverse = BoundingSphere.Matrix4.inverse(enu, new BoundingSphere.Matrix4());
-            var position = positions[0];
-            var nextPosition = positions[1];
-            surfaceNormal = ellipsoid.geodeticSurfaceNormal(position, surfaceNormal);
-            forward = Cartesian2.Cartesian3.subtract(nextPosition, position, forward);
-            forward = Cartesian2.Cartesian3.normalize(forward, forward);
-            left = Cartesian2.Cartesian3.cross(surfaceNormal, forward, left);
-            left = Cartesian2.Cartesian3.normalize(left, left);
-            var h0 = heights[0];
-            var h1 = heights[1];
-            if (duplicatePoints) {
-                ends = addPositionLocal(position, left, shapeForEnds, ends, ellipsoid, h0 + heightOffset, 1, 1, enuInverse);
-            }
-            previousPosition = Cartesian2.Cartesian3.clone(position, previousPosition);
-            position = nextPosition;
-            backward = Cartesian2.Cartesian3.negate(forward, backward);
-            var subdividedHeights;
-            var subdividedPositions;
-            for (var i = 1; i < length - 1; i++) {
-                var repeat = duplicatePoints ? 2 : 1;
-                nextPosition = positions[i + 1];
-                forward = Cartesian2.Cartesian3.subtract(nextPosition, position, forward);
-                forward = Cartesian2.Cartesian3.normalize(forward, forward);
-                cornerDirection = Cartesian2.Cartesian3.add(forward, backward, cornerDirection);
-                cornerDirection = Cartesian2.Cartesian3.normalize(cornerDirection, cornerDirection);
-                surfaceNormal = ellipsoid.geodeticSurfaceNormal(position, surfaceNormal);
-
-                var forwardProjection = Cartesian2.Cartesian3.multiplyByScalar(surfaceNormal, Cartesian2.Cartesian3.dot(forward, surfaceNormal), scratchForwardProjection);
-                Cartesian2.Cartesian3.subtract(forward, forwardProjection, forwardProjection);
-                Cartesian2.Cartesian3.normalize(forwardProjection, forwardProjection);
-
-                var backwardProjection = Cartesian2.Cartesian3.multiplyByScalar(surfaceNormal, Cartesian2.Cartesian3.dot(backward, surfaceNormal), scratchBackwardProjection);
-                Cartesian2.Cartesian3.subtract(backward, backwardProjection, backwardProjection);
-                Cartesian2.Cartesian3.normalize(backwardProjection, backwardProjection);
-
-                var doCorner = !_Math.CesiumMath.equalsEpsilon(Math.abs(Cartesian2.Cartesian3.dot(forwardProjection, backwardProjection)), 1.0, _Math.CesiumMath.EPSILON7);
-
-                if (doCorner) {
-                    cornerDirection = Cartesian2.Cartesian3.cross(cornerDirection, surfaceNormal, cornerDirection);
-                    cornerDirection = Cartesian2.Cartesian3.cross(surfaceNormal, cornerDirection, cornerDirection);
-                    cornerDirection = Cartesian2.Cartesian3.normalize(cornerDirection, cornerDirection);
-                    var scalar = 1 / Math.max(0.25, (Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.cross(cornerDirection, backward, scratch1))));
-                    var leftIsOutside = PolylineVolumeGeometryLibrary.angleIsGreaterThanPi(forward, backward, position, ellipsoid);
-                    if (leftIsOutside) {
-                        pivot = Cartesian2.Cartesian3.add(position, Cartesian2.Cartesian3.multiplyByScalar(cornerDirection, scalar * width, cornerDirection), pivot);
-                        start = Cartesian2.Cartesian3.add(pivot, Cartesian2.Cartesian3.multiplyByScalar(left, width, start), start);
-                        scratch2Array[0] = Cartesian2.Cartesian3.clone(previousPosition, scratch2Array[0]);
-                        scratch2Array[1] = Cartesian2.Cartesian3.clone(start, scratch2Array[1]);
-                        subdividedHeights = subdivideHeights(scratch2Array, h0 + heightOffset, h1 + heightOffset, granularity);
-                        subdividedPositions = PolylinePipeline.PolylinePipeline.generateArc({
-                            positions: scratch2Array,
-                            granularity: granularity,
-                            ellipsoid: ellipsoid
-                        });
-                        finalPositions = addPositions(subdividedPositions, left, shapeForSides, finalPositions, ellipsoid, subdividedHeights, 1, fromEnu);
-                        left = Cartesian2.Cartesian3.cross(surfaceNormal, forward, left);
-                        left = Cartesian2.Cartesian3.normalize(left, left);
-                        end = Cartesian2.Cartesian3.add(pivot, Cartesian2.Cartesian3.multiplyByScalar(left, width, end), end);
-                        if (cornerType === CornerType$1.ROUNDED || cornerType === CornerType$1.BEVELED) {
-                            computeRoundCorner(pivot, start, end, cornerType, leftIsOutside, ellipsoid, finalPositions, shapeForSides, h1 + heightOffset, duplicatePoints);
-                        } else {
-                            cornerDirection = Cartesian2.Cartesian3.negate(cornerDirection, cornerDirection);
-                            finalPositions = addPositionLocal(position, cornerDirection, shapeForSides, finalPositions, ellipsoid, h1 + heightOffset, scalar, repeat, enuInverse);
-                        }
-                        previousPosition = Cartesian2.Cartesian3.clone(end, previousPosition);
-                    } else {
-                        pivot = Cartesian2.Cartesian3.add(position, Cartesian2.Cartesian3.multiplyByScalar(cornerDirection, scalar * width, cornerDirection), pivot);
-                        start = Cartesian2.Cartesian3.add(pivot, Cartesian2.Cartesian3.multiplyByScalar(left, -width, start), start);
-                        scratch2Array[0] = Cartesian2.Cartesian3.clone(previousPosition, scratch2Array[0]);
-                        scratch2Array[1] = Cartesian2.Cartesian3.clone(start, scratch2Array[1]);
-                        subdividedHeights = subdivideHeights(scratch2Array, h0 + heightOffset, h1 + heightOffset, granularity);
-                        subdividedPositions = PolylinePipeline.PolylinePipeline.generateArc({
-                            positions: scratch2Array,
-                            granularity: granularity,
-                            ellipsoid: ellipsoid
-                        });
-                        finalPositions = addPositions(subdividedPositions, left, shapeForSides, finalPositions, ellipsoid, subdividedHeights, 1);
-                        left = Cartesian2.Cartesian3.cross(surfaceNormal, forward, left);
-                        left = Cartesian2.Cartesian3.normalize(left, left);
-                        end = Cartesian2.Cartesian3.add(pivot, Cartesian2.Cartesian3.multiplyByScalar(left, -width, end), end);
-                        if (cornerType === CornerType$1.ROUNDED || cornerType === CornerType$1.BEVELED) {
-                            computeRoundCorner(pivot, start, end, cornerType, leftIsOutside, ellipsoid, finalPositions, shapeForSides, h1 + heightOffset, duplicatePoints);
-                        } else {
-                            finalPositions = addPositionLocal(position, cornerDirection, shapeForSides, finalPositions, ellipsoid, h1 + heightOffset, scalar, repeat, enuInverse);
-                        }
-                        previousPosition = Cartesian2.Cartesian3.clone(end, previousPosition);
-                    }
-                    backward = Cartesian2.Cartesian3.negate(forward, backward);
-                } else {
-                    finalPositions = addPositionLocal(previousPosition, left, shapeForSides, finalPositions, ellipsoid, h0 + heightOffset, 1, 1, enuInverse);
-                    previousPosition = position;
-                }
-                h0 = h1;
-                h1 = heights[i + 1];
-                position = nextPosition;
-            }
-
-            scratch2Array[0] = Cartesian2.Cartesian3.clone(previousPosition, scratch2Array[0]);
-            scratch2Array[1] = Cartesian2.Cartesian3.clone(position, scratch2Array[1]);
-            subdividedHeights = subdivideHeights(scratch2Array, h0 + heightOffset, h1 + heightOffset, granularity);
-            subdividedPositions = PolylinePipeline.PolylinePipeline.generateArc({
-                positions: scratch2Array,
-                granularity: granularity,
-                ellipsoid: ellipsoid
-            });
-            finalPositions = addLocalPositions(subdividedPositions, left, shapeForSides, finalPositions, ellipsoid, subdividedHeights, 1, enuInverse);
-            if (duplicatePoints) {
-                ends = addPositionLocal(position, left, shapeForEnds, ends, ellipsoid, h1 + heightOffset, 1, 1, enuInverse);
-            }
-
-            length = finalPositions.length;
-            var posLength = duplicatePoints ? length + ends.length : length;
-            var combinedPositions = new Float64Array(posLength);
-            combinedPositions.set(finalPositions);
-            if (duplicatePoints) {
-                combinedPositions.set(ends, length);
-            }
-
-            return combinedPositions;
-        };
-
-    exports.CornerType = CornerType$1;
-    exports.PolylineVolumeGeometryLibrary = PolylineVolumeGeometryLibrary;
-
-});
diff --git a/libs/supermap/Workers/PrimitivePipeline-8dc6083e.js b/libs/supermap/Workers/PrimitivePipeline-8dc6083e.js
deleted file mode 100644
index 8c5554c..0000000
--- a/libs/supermap/Workers/PrimitivePipeline-8dc6083e.js
+++ /dev/null
@@ -1,850 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './GeometryAttributes-aacecde6', './GeometryPipeline-cf04afb6', './IndexDatatype-9435b55f', './WebMercatorProjection-0391f892'], function (exports, when, Check, Cartesian2, BoundingSphere, ComponentDatatype, GeometryAttribute, GeometryAttributes, GeometryPipeline, IndexDatatype, WebMercatorProjection) { 'use strict';
-
-    /**
-         * Value and type information for per-instance geometry attribute that determines the geometry instance offset
-         *
-         * @alias OffsetGeometryInstanceAttribute
-         * @constructor
-         *
-         * @param {Number} [x=0] The x translation
-         * @param {Number} [y=0] The y translation
-         * @param {Number} [z=0] The z translation
-         *
-         * @private
-         *
-         * @see GeometryInstance
-         * @see GeometryInstanceAttribute
-         */
-        function OffsetGeometryInstanceAttribute(x, y, z) {
-            x = when.defaultValue(x, 0);
-            y = when.defaultValue(y, 0);
-            z = when.defaultValue(z, 0);
-
-            /**
-             * The values for the attributes stored in a typed array.
-             *
-             * @type Float32Array
-             */
-            this.value = new Float32Array([x, y, z]);
-        }
-
-        Object.defineProperties(OffsetGeometryInstanceAttribute.prototype, {
-            /**
-             * The datatype of each component in the attribute, e.g., individual elements in
-             * {@link OffsetGeometryInstanceAttribute#value}.
-             *
-             * @memberof OffsetGeometryInstanceAttribute.prototype
-             *
-             * @type {ComponentDatatype}
-             * @readonly
-             *
-             * @default {@link ComponentDatatype.FLOAT}
-             */
-            componentDatatype : {
-                get : function() {
-                    return ComponentDatatype.ComponentDatatype.FLOAT;
-                }
-            },
-
-            /**
-             * The number of components in the attributes, i.e., {@link OffsetGeometryInstanceAttribute#value}.
-             *
-             * @memberof OffsetGeometryInstanceAttribute.prototype
-             *
-             * @type {Number}
-             * @readonly
-             *
-             * @default 3
-             */
-            componentsPerAttribute : {
-                get : function() {
-                    return 3;
-                }
-            },
-
-            /**
-             * When <code>true</code> and <code>componentDatatype</code> is an integer format,
-             * indicate that the components should be mapped to the range [0, 1] (unsigned)
-             * or [-1, 1] (signed) when they are accessed as floating-point for rendering.
-             *
-             * @memberof OffsetGeometryInstanceAttribute.prototype
-             *
-             * @type {Boolean}
-             * @readonly
-             *
-             * @default false
-             */
-            normalize : {
-                get : function() {
-                    return false;
-                }
-            }
-        });
-
-        /**
-         * Creates a new {@link OffsetGeometryInstanceAttribute} instance given the provided an enabled flag and {@link DistanceDisplayCondition}.
-         *
-         * @param {Cartesian3} offset The cartesian offset
-         * @returns {OffsetGeometryInstanceAttribute} The new {@link OffsetGeometryInstanceAttribute} instance.
-         */
-        OffsetGeometryInstanceAttribute.fromCartesian3 = function(offset) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('offset', offset);
-            //>>includeEnd('debug');
-
-            return new OffsetGeometryInstanceAttribute(offset.x, offset.y, offset.z);
-        };
-
-        /**
-         * Converts a distance display condition to a typed array that can be used to assign a distance display condition attribute.
-         *
-         * @param {Cartesian3} offset The cartesian offset
-         * @param {Float32Array} [result] The array to store the result in, if undefined a new instance will be created.
-         * @returns {Float32Array} The modified result parameter or a new instance if result was undefined.
-         *
-         * @example
-         * var attributes = primitive.getGeometryInstanceAttributes('an id');
-         * attributes.modelMatrix = Cesium.OffsetGeometryInstanceAttribute.toValue(modelMatrix, attributes.modelMatrix);
-         */
-        OffsetGeometryInstanceAttribute.toValue = function(offset, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('offset', offset);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Float32Array([offset.x, offset.y, offset.z]);
-            }
-
-            result[0] = offset.x;
-            result[1] = offset.y;
-            result[2] = offset.z;
-            return result;
-        };
-
-    function transformToWorldCoordinates(instances, primitiveModelMatrix, scene3DOnly) {
-        var toWorld = !scene3DOnly;
-        var length = instances.length;
-        var i;
-
-        if (!toWorld && (length > 1)) {
-            var modelMatrix = instances[0].modelMatrix;
-
-            for (i = 1; i < length; ++i) {
-                if (!BoundingSphere.Matrix4.equals(modelMatrix, instances[i].modelMatrix)) {
-                    toWorld = true;
-                    break;
-                }
-            }
-        }
-
-        if (toWorld) {
-            for (i = 0; i < length; ++i) {
-                if (when.defined(instances[i].geometry)) {
-                    GeometryPipeline.GeometryPipeline.transformToWorldCoordinates(instances[i]);
-                }
-            }
-        } else {
-            // Leave geometry in local coordinate system; auto update model-matrix.
-            BoundingSphere.Matrix4.multiplyTransformation(primitiveModelMatrix, instances[0].modelMatrix, primitiveModelMatrix);
-        }
-    }
-
-    function addGeometryBatchId(geometry, batchId) {
-        var attributes = geometry.attributes;
-        var positionAttr = attributes.position;
-        var numberOfComponents = positionAttr.values.length / positionAttr.componentsPerAttribute;
-
-        attributes.batchId = new GeometryAttribute.GeometryAttribute({
-            componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-            componentsPerAttribute : 1,
-            values : new Float32Array(numberOfComponents)
-        });
-
-        var values = attributes.batchId.values;
-        for (var j = 0; j < numberOfComponents; ++j) {
-            values[j] = batchId;
-        }
-    }
-
-    function addBatchIds(instances) {
-        var length = instances.length;
-
-        for (var i = 0; i < length; ++i) {
-            var instance = instances[i];
-            if (when.defined(instance.geometry)) {
-                addGeometryBatchId(instance.geometry, i);
-            } else if (when.defined(instance.westHemisphereGeometry) && when.defined(instance.eastHemisphereGeometry)) {
-                addGeometryBatchId(instance.westHemisphereGeometry, i);
-                addGeometryBatchId(instance.eastHemisphereGeometry, i);
-            }
-        }
-    }
-
-    function geometryPipeline(parameters) {
-        var instances = parameters.instances;
-        var projection = parameters.projection;
-        var uintIndexSupport = parameters.elementIndexUintSupported;
-        var scene3DOnly = parameters.scene3DOnly;
-        var vertexCacheOptimize = parameters.vertexCacheOptimize;
-        var compressVertices = parameters.compressVertices;
-        var modelMatrix = parameters.modelMatrix;
-
-        var i;
-        var geometry;
-        var primitiveType;
-        var length = instances.length;
-
-        for (i = 0; i < length; ++i) {
-            if (when.defined(instances[i].geometry)) {
-                primitiveType = instances[i].geometry.primitiveType;
-                break;
-            }
-        }
-
-        //>>includeStart('debug', pragmas.debug);
-        for (i = 1; i < length; ++i) {
-            if (when.defined(instances[i].geometry) && instances[i].geometry.primitiveType !== primitiveType) {
-                throw new Check.DeveloperError('All instance geometries must have the same primitiveType.');
-            }
-        }
-        //>>includeEnd('debug');
-
-        // Unify to world coordinates before combining.
-        transformToWorldCoordinates(instances, modelMatrix, scene3DOnly);
-
-        // Clip to IDL
-        if (!scene3DOnly) {
-            for (i = 0; i < length; ++i) {
-                if (when.defined(instances[i].geometry)) {
-                    GeometryPipeline.GeometryPipeline.splitLongitude(instances[i]);
-                }
-            }
-        }
-
-        addBatchIds(instances);
-
-        // Optimize for vertex shader caches
-        if (vertexCacheOptimize) {
-            for (i = 0; i < length; ++i) {
-                var instance = instances[i];
-                if (when.defined(instance.geometry)) {
-                    GeometryPipeline.GeometryPipeline.reorderForPostVertexCache(instance.geometry);
-                    GeometryPipeline.GeometryPipeline.reorderForPreVertexCache(instance.geometry);
-                } else if (when.defined(instance.westHemisphereGeometry) && when.defined(instance.eastHemisphereGeometry)) {
-                    GeometryPipeline.GeometryPipeline.reorderForPostVertexCache(instance.westHemisphereGeometry);
-                    GeometryPipeline.GeometryPipeline.reorderForPreVertexCache(instance.westHemisphereGeometry);
-
-                    GeometryPipeline.GeometryPipeline.reorderForPostVertexCache(instance.eastHemisphereGeometry);
-                    GeometryPipeline.GeometryPipeline.reorderForPreVertexCache(instance.eastHemisphereGeometry);
-                }
-            }
-        }
-
-        // Combine into single geometry for better rendering performance.
-        var geometries = GeometryPipeline.GeometryPipeline.combineInstances(instances);
-
-        length = geometries.length;
-        for (i = 0; i < length; ++i) {
-            geometry = geometries[i];
-
-            // Split positions for GPU RTE
-            var attributes = geometry.attributes;
-            var name;
-            if (!scene3DOnly) {
-                for (name in attributes) {
-                    if (attributes.hasOwnProperty(name) && attributes[name].componentDatatype === ComponentDatatype.ComponentDatatype.DOUBLE) {
-                        var name3D = name + '3D';
-                        var name2D = name + '2D';
-
-                        // Compute 2D positions
-                        GeometryPipeline.GeometryPipeline.projectTo2D(geometry, name, name3D, name2D, projection);
-                        if (when.defined(geometry.boundingSphere) && name === 'position') {
-                            geometry.boundingSphereCV = BoundingSphere.BoundingSphere.fromVertices(geometry.attributes.position2D.values);
-                        }
-
-                        GeometryPipeline.GeometryPipeline.encodeAttribute(geometry, name3D, name3D + 'High', name3D + 'Low');
-                        GeometryPipeline.GeometryPipeline.encodeAttribute(geometry, name2D, name2D + 'High', name2D + 'Low');
-                    }
-                }
-            } else {
-                for (name in attributes) {
-                    if (attributes.hasOwnProperty(name) && attributes[name].componentDatatype === ComponentDatatype.ComponentDatatype.DOUBLE) {
-                        GeometryPipeline.GeometryPipeline.encodeAttribute(geometry, name, name + '3DHigh', name + '3DLow');
-                    }
-                }
-            }
-
-            // oct encode and pack normals, compress texture coordinates
-            if (compressVertices) {
-                GeometryPipeline.GeometryPipeline.compressVertices(geometry);
-            }
-        }
-
-        if (!uintIndexSupport) {
-            // Break into multiple geometries to fit within unsigned short indices if needed
-            var splitGeometries = [];
-            length = geometries.length;
-            for (i = 0; i < length; ++i) {
-                geometry = geometries[i];
-                splitGeometries = splitGeometries.concat(GeometryPipeline.GeometryPipeline.fitToUnsignedShortIndices(geometry));
-            }
-
-            geometries = splitGeometries;
-        }
-
-        return geometries;
-    }
-
-    function createPickOffsets(instances, geometryName, geometries, pickOffsets) {
-        var offset;
-        var indexCount;
-        var geometryIndex;
-
-        var offsetIndex = pickOffsets.length - 1;
-        if (offsetIndex >= 0) {
-            var pickOffset = pickOffsets[offsetIndex];
-            offset = pickOffset.offset + pickOffset.count;
-            geometryIndex = pickOffset.index;
-            indexCount = geometries[geometryIndex].indices.length;
-        } else {
-            offset = 0;
-            geometryIndex = 0;
-            indexCount = geometries[geometryIndex].indices.length;
-        }
-
-        var length = instances.length;
-        for (var i = 0; i < length; ++i) {
-            var instance = instances[i];
-            var geometry = instance[geometryName];
-            if (!when.defined(geometry)) {
-                continue;
-            }
-
-            var count = geometry.indices.length;
-
-            if (offset + count > indexCount) {
-                offset = 0;
-                indexCount = geometries[++geometryIndex].indices.length;
-            }
-
-            pickOffsets.push({
-                index : geometryIndex,
-                offset : offset,
-                count : count
-            });
-            offset += count;
-        }
-    }
-
-    function createInstancePickOffsets(instances, geometries) {
-        var pickOffsets = [];
-        createPickOffsets(instances, 'geometry', geometries, pickOffsets);
-        createPickOffsets(instances, 'westHemisphereGeometry', geometries, pickOffsets);
-        createPickOffsets(instances, 'eastHemisphereGeometry', geometries, pickOffsets);
-        return pickOffsets;
-    }
-
-    /**
-     * @private
-     */
-    var PrimitivePipeline = {};
-
-    /**
-     * @private
-     */
-    PrimitivePipeline.combineGeometry = function(parameters) {
-        var geometries;
-        var attributeLocations;
-        var instances = parameters.instances;
-        var length = instances.length;
-        var pickOffsets;
-
-        var offsetInstanceExtend;
-        var hasOffset = false;
-        if (length > 0) {
-            geometries = geometryPipeline(parameters);
-            if (geometries.length > 0) {
-                attributeLocations = GeometryPipeline.GeometryPipeline.createAttributeLocations(geometries[0]);
-                if (parameters.createPickOffsets) {
-                    pickOffsets = createInstancePickOffsets(instances, geometries);
-                }
-            }
-            if (when.defined(instances[0].attributes) && when.defined(instances[0].attributes.offset)) {
-                offsetInstanceExtend = new Array(length);
-                hasOffset = true;
-            }
-        }
-
-        var boundingSpheres = new Array(length);
-        var boundingSpheresCV = new Array(length);
-        for (var i = 0; i < length; ++i) {
-            var instance = instances[i];
-            var geometry = instance.geometry;
-            if (when.defined(geometry)) {
-                boundingSpheres[i] = geometry.boundingSphere;
-                boundingSpheresCV[i] = geometry.boundingSphereCV;
-                if (hasOffset) {
-                    offsetInstanceExtend[i] = instance.geometry.offsetAttribute;
-                }
-            }
-
-            var eastHemisphereGeometry = instance.eastHemisphereGeometry;
-            var westHemisphereGeometry = instance.westHemisphereGeometry;
-            if (when.defined(eastHemisphereGeometry) && when.defined(westHemisphereGeometry)) {
-                if (when.defined(eastHemisphereGeometry.boundingSphere) && when.defined(westHemisphereGeometry.boundingSphere)) {
-                    boundingSpheres[i] = BoundingSphere.BoundingSphere.union(eastHemisphereGeometry.boundingSphere, westHemisphereGeometry.boundingSphere);
-                }
-                if (when.defined(eastHemisphereGeometry.boundingSphereCV) && when.defined(westHemisphereGeometry.boundingSphereCV)) {
-                    boundingSpheresCV[i] = BoundingSphere.BoundingSphere.union(eastHemisphereGeometry.boundingSphereCV, westHemisphereGeometry.boundingSphereCV);
-                }
-            }
-        }
-
-        return {
-            geometries : geometries,
-            modelMatrix : parameters.modelMatrix,
-            attributeLocations : attributeLocations,
-            pickOffsets : pickOffsets,
-            offsetInstanceExtend : offsetInstanceExtend,
-            boundingSpheres : boundingSpheres,
-            boundingSpheresCV : boundingSpheresCV
-        };
-    };
-
-    function transferGeometry(geometry, transferableObjects) {
-        var attributes = geometry.attributes;
-        for (var name in attributes) {
-            if (attributes.hasOwnProperty(name)) {
-                var attribute = attributes[name];
-
-                if (when.defined(attribute) && when.defined(attribute.values)) {
-                    transferableObjects.push(attribute.values.buffer);
-                }
-            }
-        }
-
-        if (when.defined(geometry.indices)) {
-            transferableObjects.push(geometry.indices.buffer);
-        }
-    }
-
-    function transferGeometries(geometries, transferableObjects) {
-        var length = geometries.length;
-        for (var i = 0; i < length; ++i) {
-            transferGeometry(geometries[i], transferableObjects);
-        }
-    }
-
-    // This function was created by simplifying packCreateGeometryResults into a count-only operation.
-    function countCreateGeometryResults(items) {
-        var count = 1;
-        var length = items.length;
-        for (var i = 0; i < length; i++) {
-            var geometry = items[i];
-            ++count;
-
-            if (!when.defined(geometry)) {
-                continue;
-            }
-
-            var attributes = geometry.attributes;
-
-            count += 7 + 2 * BoundingSphere.BoundingSphere.packedLength + (when.defined(geometry.indices) ? geometry.indices.length : 0);
-
-            for (var property in attributes) {
-                if (attributes.hasOwnProperty(property) && when.defined(attributes[property])) {
-                    var attribute = attributes[property];
-                    count += 5 + attribute.values.length;
-                }
-            }
-        }
-
-        return count;
-    }
-
-    /**
-     * @private
-     */
-    PrimitivePipeline.packCreateGeometryResults = function(items, transferableObjects) {
-        var packedData = new Float64Array(countCreateGeometryResults(items));
-        var stringTable = [];
-        var stringHash = {};
-
-        var length = items.length;
-        var count = 0;
-        packedData[count++] = length;
-        for (var i = 0; i < length; i++) {
-            var geometry = items[i];
-
-            var validGeometry = when.defined(geometry);
-            packedData[count++] = validGeometry ? 1.0 : 0.0;
-
-            if (!validGeometry) {
-                continue;
-            }
-
-            packedData[count++] = geometry.primitiveType;
-            packedData[count++] = geometry.geometryType;
-            packedData[count++] = when.defaultValue(geometry.offsetAttribute, -1);
-
-            var validBoundingSphere = when.defined(geometry.boundingSphere) ? 1.0 : 0.0;
-            packedData[count++] = validBoundingSphere;
-            if (validBoundingSphere) {
-                BoundingSphere.BoundingSphere.pack(geometry.boundingSphere, packedData, count);
-            }
-
-            count += BoundingSphere.BoundingSphere.packedLength;
-
-            var validBoundingSphereCV = when.defined(geometry.boundingSphereCV) ? 1.0 : 0.0;
-            packedData[count++] = validBoundingSphereCV;
-            if (validBoundingSphereCV) {
-                BoundingSphere.BoundingSphere.pack(geometry.boundingSphereCV, packedData, count);
-            }
-
-            count += BoundingSphere.BoundingSphere.packedLength;
-
-            var attributes = geometry.attributes;
-            var attributesToWrite = [];
-            for (var property in attributes) {
-                if (attributes.hasOwnProperty(property) && when.defined(attributes[property])) {
-                    attributesToWrite.push(property);
-                    if (!when.defined(stringHash[property])) {
-                        stringHash[property] = stringTable.length;
-                        stringTable.push(property);
-                    }
-                }
-            }
-
-            packedData[count++] = attributesToWrite.length;
-            for (var q = 0; q < attributesToWrite.length; q++) {
-                var name = attributesToWrite[q];
-                var attribute = attributes[name];
-                packedData[count++] = stringHash[name];
-                packedData[count++] = attribute.componentDatatype;
-                packedData[count++] = attribute.componentsPerAttribute;
-                packedData[count++] = attribute.normalize ? 1 : 0;
-                packedData[count++] = attribute.values.length;
-                packedData.set(attribute.values, count);
-                count += attribute.values.length;
-            }
-
-            var indicesLength = when.defined(geometry.indices) ? geometry.indices.length : 0;
-            packedData[count++] = indicesLength;
-
-            if (indicesLength > 0) {
-                packedData.set(geometry.indices, count);
-                count += indicesLength;
-            }
-        }
-
-        transferableObjects.push(packedData.buffer);
-
-        return {
-            stringTable : stringTable,
-            packedData : packedData
-        };
-    };
-
-    /**
-     * @private
-     */
-    PrimitivePipeline.unpackCreateGeometryResults = function(createGeometryResult) {
-        var stringTable = createGeometryResult.stringTable;
-        var packedGeometry = createGeometryResult.packedData;
-
-        var i;
-        var result = new Array(packedGeometry[0]);
-        var resultIndex = 0;
-
-        var packedGeometryIndex = 1;
-        while (packedGeometryIndex < packedGeometry.length) {
-            var valid = packedGeometry[packedGeometryIndex++] === 1.0;
-            if (!valid) {
-                result[resultIndex++] = undefined;
-                continue;
-            }
-
-            var primitiveType = packedGeometry[packedGeometryIndex++];
-            var geometryType = packedGeometry[packedGeometryIndex++];
-            var offsetAttribute = packedGeometry[packedGeometryIndex++];
-            if (offsetAttribute === -1) {
-                offsetAttribute = undefined;
-            }
-
-            var boundingSphere;
-            var boundingSphereCV;
-
-            var validBoundingSphere = packedGeometry[packedGeometryIndex++] === 1.0;
-            if (validBoundingSphere) {
-                boundingSphere = BoundingSphere.BoundingSphere.unpack(packedGeometry, packedGeometryIndex);
-            }
-
-            packedGeometryIndex += BoundingSphere.BoundingSphere.packedLength;
-
-            var validBoundingSphereCV = packedGeometry[packedGeometryIndex++] === 1.0;
-            if (validBoundingSphereCV) {
-                boundingSphereCV = BoundingSphere.BoundingSphere.unpack(packedGeometry, packedGeometryIndex);
-            }
-
-            packedGeometryIndex += BoundingSphere.BoundingSphere.packedLength;
-
-            var length;
-            var values;
-            var componentsPerAttribute;
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            var numAttributes = packedGeometry[packedGeometryIndex++];
-            for (i = 0; i < numAttributes; i++) {
-                var name = stringTable[packedGeometry[packedGeometryIndex++]];
-                var componentDatatype = packedGeometry[packedGeometryIndex++];
-                componentsPerAttribute = packedGeometry[packedGeometryIndex++];
-                var normalize = packedGeometry[packedGeometryIndex++] !== 0;
-
-                length = packedGeometry[packedGeometryIndex++];
-                values = ComponentDatatype.ComponentDatatype.createTypedArray(componentDatatype, length);
-                for (var valuesIndex = 0; valuesIndex < length; valuesIndex++) {
-                    values[valuesIndex] = packedGeometry[packedGeometryIndex++];
-                }
-
-                attributes[name] = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : componentDatatype,
-                    componentsPerAttribute : componentsPerAttribute,
-                    normalize : normalize,
-                    values : values
-                });
-            }
-
-            var indices;
-            length = packedGeometry[packedGeometryIndex++];
-
-            if (length > 0) {
-                var numberOfVertices = values.length / componentsPerAttribute;
-                indices = IndexDatatype.IndexDatatype.createTypedArray(numberOfVertices, length);
-                for (i = 0; i < length; i++) {
-                    indices[i] = packedGeometry[packedGeometryIndex++];
-                }
-            }
-
-            result[resultIndex++] = new GeometryAttribute.Geometry({
-                primitiveType : primitiveType,
-                geometryType : geometryType,
-                boundingSphere : boundingSphere,
-                boundingSphereCV : boundingSphereCV,
-                indices : indices,
-                attributes : attributes,
-                offsetAttribute: offsetAttribute
-            });
-        }
-
-        return result;
-    };
-
-    function packInstancesForCombine(instances, transferableObjects) {
-        var length = instances.length;
-        var packedData = new Float64Array(1 + (length * 19));
-        var count = 0;
-        packedData[count++] = length;
-        for (var i = 0; i < length; i++) {
-            var instance = instances[i];
-            BoundingSphere.Matrix4.pack(instance.modelMatrix, packedData, count);
-            count += BoundingSphere.Matrix4.packedLength;
-            if (when.defined(instance.attributes) && when.defined(instance.attributes.offset)) {
-                var values = instance.attributes.offset.value;
-                packedData[count] = values[0];
-                packedData[count + 1] = values[1];
-                packedData[count + 2] = values[2];
-            }
-            count += 3;
-        }
-        transferableObjects.push(packedData.buffer);
-
-        return packedData;
-    }
-
-    function unpackInstancesForCombine(data) {
-        var packedInstances = data;
-        var result = new Array(packedInstances[0]);
-        var count = 0;
-
-        var i = 1;
-        while (i < packedInstances.length) {
-            var modelMatrix = BoundingSphere.Matrix4.unpack(packedInstances, i);
-            var attributes;
-            i += BoundingSphere.Matrix4.packedLength;
-            if (when.defined(packedInstances[i])) {
-                attributes = {
-                    offset : new OffsetGeometryInstanceAttribute(packedInstances[i], packedInstances[i + 1], packedInstances[i + 2])
-                };
-            }
-            i += 3;
-
-            result[count++] = {
-                modelMatrix : modelMatrix,
-                attributes : attributes
-            };
-        }
-
-        return result;
-    }
-
-    /**
-     * @private
-     */
-    PrimitivePipeline.packCombineGeometryParameters = function(parameters, transferableObjects) {
-        var createGeometryResults = parameters.createGeometryResults;
-        var length = createGeometryResults.length;
-
-        for (var i = 0; i < length; i++) {
-            transferableObjects.push(createGeometryResults[i].packedData.buffer);
-        }
-
-        return {
-            createGeometryResults : parameters.createGeometryResults,
-            packedInstances : packInstancesForCombine(parameters.instances, transferableObjects),
-            ellipsoid : parameters.ellipsoid,
-            isGeographic : parameters.projection instanceof BoundingSphere.GeographicProjection,
-            elementIndexUintSupported : parameters.elementIndexUintSupported,
-            scene3DOnly : parameters.scene3DOnly,
-            vertexCacheOptimize : parameters.vertexCacheOptimize,
-            compressVertices : parameters.compressVertices,
-            modelMatrix : parameters.modelMatrix,
-            createPickOffsets : parameters.createPickOffsets
-        };
-    };
-
-    /**
-     * @private
-     */
-    PrimitivePipeline.unpackCombineGeometryParameters = function(packedParameters) {
-        var instances = unpackInstancesForCombine(packedParameters.packedInstances);
-        var createGeometryResults = packedParameters.createGeometryResults;
-        var length = createGeometryResults.length;
-        var instanceIndex = 0;
-
-        for (var resultIndex = 0; resultIndex < length; resultIndex++) {
-            var geometries = PrimitivePipeline.unpackCreateGeometryResults(createGeometryResults[resultIndex]);
-            var geometriesLength = geometries.length;
-            for (var geometryIndex = 0; geometryIndex < geometriesLength; geometryIndex++) {
-                var geometry = geometries[geometryIndex];
-                var instance = instances[instanceIndex];
-                instance.geometry = geometry;
-                ++instanceIndex;
-            }
-        }
-
-        var ellipsoid = Cartesian2.Ellipsoid.clone(packedParameters.ellipsoid);
-        var projection = packedParameters.isGeographic ? new BoundingSphere.GeographicProjection(ellipsoid) : new WebMercatorProjection.WebMercatorProjection(ellipsoid);
-
-        return {
-            instances : instances,
-            ellipsoid : ellipsoid,
-            projection : projection,
-            elementIndexUintSupported : packedParameters.elementIndexUintSupported,
-            scene3DOnly : packedParameters.scene3DOnly,
-            vertexCacheOptimize : packedParameters.vertexCacheOptimize,
-            compressVertices : packedParameters.compressVertices,
-            modelMatrix : BoundingSphere.Matrix4.clone(packedParameters.modelMatrix),
-            createPickOffsets : packedParameters.createPickOffsets
-        };
-    };
-
-    function packBoundingSpheres(boundingSpheres) {
-        var length = boundingSpheres.length;
-        var bufferLength = 1 + (BoundingSphere.BoundingSphere.packedLength + 1) * length;
-        var buffer = new Float32Array(bufferLength);
-
-        var bufferIndex = 0;
-        buffer[bufferIndex++] = length;
-
-        for (var i = 0; i < length; ++i) {
-            var bs = boundingSpheres[i];
-            if (!when.defined(bs)) {
-                buffer[bufferIndex++] = 0.0;
-            } else {
-                buffer[bufferIndex++] = 1.0;
-                BoundingSphere.BoundingSphere.pack(boundingSpheres[i], buffer, bufferIndex);
-            }
-            bufferIndex += BoundingSphere.BoundingSphere.packedLength;
-        }
-
-        return buffer;
-    }
-
-    function unpackBoundingSpheres(buffer) {
-        var result = new Array(buffer[0]);
-        var count = 0;
-
-        var i = 1;
-        while (i < buffer.length) {
-            if (buffer[i++] === 1.0) {
-                result[count] = BoundingSphere.BoundingSphere.unpack(buffer, i);
-            }
-            ++count;
-            i += BoundingSphere.BoundingSphere.packedLength;
-        }
-
-        return result;
-    }
-
-    /**
-     * @private
-     */
-    PrimitivePipeline.packCombineGeometryResults = function(results, transferableObjects) {
-        if (when.defined(results.geometries)) {
-            transferGeometries(results.geometries, transferableObjects);
-        }
-
-        var packedBoundingSpheres = packBoundingSpheres(results.boundingSpheres);
-        var packedBoundingSpheresCV = packBoundingSpheres(results.boundingSpheresCV);
-        transferableObjects.push(packedBoundingSpheres.buffer, packedBoundingSpheresCV.buffer);
-
-        return {
-            geometries : results.geometries,
-            attributeLocations : results.attributeLocations,
-            modelMatrix : results.modelMatrix,
-            pickOffsets : results.pickOffsets,
-            offsetInstanceExtend: results.offsetInstanceExtend,
-            boundingSpheres : packedBoundingSpheres,
-            boundingSpheresCV : packedBoundingSpheresCV
-        };
-    };
-
-    /**
-     * @private
-     */
-    PrimitivePipeline.unpackCombineGeometryResults = function(packedResult) {
-        return {
-            geometries : packedResult.geometries,
-            attributeLocations : packedResult.attributeLocations,
-            modelMatrix : packedResult.modelMatrix,
-            pickOffsets : packedResult.pickOffsets,
-            offsetInstanceExtend: packedResult.offsetInstanceExtend,
-            boundingSpheres : unpackBoundingSpheres(packedResult.boundingSpheres),
-            boundingSpheresCV : unpackBoundingSpheres(packedResult.boundingSpheresCV)
-        };
-    };
-
-    exports.PrimitivePipeline = PrimitivePipeline;
-
-});
diff --git a/libs/supermap/Workers/PrimitiveType-97893bc7.js b/libs/supermap/Workers/PrimitiveType-97893bc7.js
deleted file mode 100644
index bc2db3f..0000000
--- a/libs/supermap/Workers/PrimitiveType-97893bc7.js
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './WebGLConstants-4c11ee5f'], function (exports, WebGLConstants) { 'use strict';
-
-    /**
-         * The type of a geometric primitive, i.e., points, lines, and triangles.
-         *
-         * @exports PrimitiveType
-         */
-        var PrimitiveType = {
-            /**
-             * Points primitive where each vertex (or index) is a separate point.
-             *
-             * @type {Number}
-             * @constant
-             */
-            POINTS : WebGLConstants.WebGLConstants.POINTS,
-
-            /**
-             * Lines primitive where each two vertices (or indices) is a line segment.  Line segments are not necessarily connected.
-             *
-             * @type {Number}
-             * @constant
-             */
-            LINES : WebGLConstants.WebGLConstants.LINES,
-
-            /**
-             * Line loop primitive where each vertex (or index) after the first connects a line to
-             * the previous vertex, and the last vertex implicitly connects to the first.
-             *
-             * @type {Number}
-             * @constant
-             */
-            LINE_LOOP : WebGLConstants.WebGLConstants.LINE_LOOP,
-
-            /**
-             * Line strip primitive where each vertex (or index) after the first connects a line to the previous vertex.
-             *
-             * @type {Number}
-             * @constant
-             */
-            LINE_STRIP : WebGLConstants.WebGLConstants.LINE_STRIP,
-
-            /**
-             * Triangles primitive where each three vertices (or indices) is a triangle.  Triangles do not necessarily share edges.
-             *
-             * @type {Number}
-             * @constant
-             */
-            TRIANGLES : WebGLConstants.WebGLConstants.TRIANGLES,
-
-            /**
-             * Triangle strip primitive where each vertex (or index) after the first two connect to
-             * the previous two vertices forming a triangle.  For example, this can be used to model a wall.
-             *
-             * @type {Number}
-             * @constant
-             */
-            TRIANGLE_STRIP : WebGLConstants.WebGLConstants.TRIANGLE_STRIP,
-
-            /**
-             * Triangle fan primitive where each vertex (or index) after the first two connect to
-             * the previous vertex and the first vertex forming a triangle.  For example, this can be used
-             * to model a cone or circle.
-             *
-             * @type {Number}
-             * @constant
-             */
-            TRIANGLE_FAN : WebGLConstants.WebGLConstants.TRIANGLE_FAN,
-
-            /**
-             * @private
-             */
-            validate : function(primitiveType) {
-                return primitiveType === PrimitiveType.POINTS ||
-                       primitiveType === PrimitiveType.LINES ||
-                       primitiveType === PrimitiveType.LINE_LOOP ||
-                       primitiveType === PrimitiveType.LINE_STRIP ||
-                       primitiveType === PrimitiveType.TRIANGLES ||
-                       primitiveType === PrimitiveType.TRIANGLE_STRIP ||
-                       primitiveType === PrimitiveType.TRIANGLE_FAN;
-            }
-        };
-    var PrimitiveType$1 = Object.freeze(PrimitiveType);
-
-    exports.PrimitiveType = PrimitiveType$1;
-
-});
diff --git a/libs/supermap/Workers/RectangleGeometryLibrary-c8435381.js b/libs/supermap/Workers/RectangleGeometryLibrary-c8435381.js
deleted file mode 100644
index dfdf4d6..0000000
--- a/libs/supermap/Workers/RectangleGeometryLibrary-c8435381.js
+++ /dev/null
@@ -1,240 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './GeometryAttribute-ec5c2270'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, GeometryAttribute) { 'use strict';
-
-    var cos = Math.cos;
-        var sin = Math.sin;
-        var sqrt = Math.sqrt;
-
-        /**
-         * @private
-         */
-        var RectangleGeometryLibrary = {};
-
-        /**
-         * @private
-         */
-        RectangleGeometryLibrary.computePosition = function(computedOptions, ellipsoid, computeST, row, col, position, st) {
-            var radiiSquared = ellipsoid.radiiSquared;
-            var nwCorner = computedOptions.nwCorner;
-            var rectangle = computedOptions.boundingRectangle;
-
-            var stLatitude = nwCorner.latitude - computedOptions.granYCos * row + col * computedOptions.granXSin;
-            var cosLatitude = cos(stLatitude);
-            var nZ = sin(stLatitude);
-            var kZ = radiiSquared.z * nZ;
-
-            var stLongitude = nwCorner.longitude + row * computedOptions.granYSin + col * computedOptions.granXCos;
-            var nX = cosLatitude * cos(stLongitude);
-            var nY = cosLatitude * sin(stLongitude);
-
-            var kX = radiiSquared.x * nX;
-            var kY = radiiSquared.y * nY;
-
-            var gamma = sqrt((kX * nX) + (kY * nY) + (kZ * nZ));
-
-            position.x = kX / gamma;
-            position.y = kY / gamma;
-            position.z = kZ / gamma;
-
-            if (computeST) {
-                var stNwCorner = computedOptions.stNwCorner;
-                if (when.defined(stNwCorner)) {
-                    stLatitude = stNwCorner.latitude - computedOptions.stGranYCos * row + col * computedOptions.stGranXSin;
-                    stLongitude = stNwCorner.longitude + row * computedOptions.stGranYSin + col * computedOptions.stGranXCos;
-
-                    st.x = (stLongitude - computedOptions.stWest) * computedOptions.lonScalar;
-                    st.y = (stLatitude - computedOptions.stSouth) * computedOptions.latScalar;
-                } else {
-                    st.x = (stLongitude - rectangle.west) * computedOptions.lonScalar;
-                    st.y = (stLatitude - rectangle.south) * computedOptions.latScalar;
-                }
-            }
-        };
-
-        var rotationMatrixScratch = new GeometryAttribute.Matrix2();
-        var nwCartesian = new Cartesian2.Cartesian3();
-        var centerScratch = new Cartesian2.Cartographic();
-        var centerCartesian = new Cartesian2.Cartesian3();
-        var proj = new BoundingSphere.GeographicProjection();
-
-        function getRotationOptions(nwCorner, rotation, granularityX, granularityY, center, width, height) {
-            var cosRotation = Math.cos(rotation);
-            var granYCos = granularityY * cosRotation;
-            var granXCos = granularityX * cosRotation;
-
-            var sinRotation = Math.sin(rotation);
-            var granYSin = granularityY * sinRotation;
-            var granXSin = granularityX * sinRotation;
-
-            nwCartesian = proj.project(nwCorner, nwCartesian);
-
-            nwCartesian = Cartesian2.Cartesian3.subtract(nwCartesian, centerCartesian, nwCartesian);
-            var rotationMatrix = GeometryAttribute.Matrix2.fromRotation(rotation, rotationMatrixScratch);
-            nwCartesian = GeometryAttribute.Matrix2.multiplyByVector(rotationMatrix, nwCartesian, nwCartesian);
-            nwCartesian = Cartesian2.Cartesian3.add(nwCartesian, centerCartesian, nwCartesian);
-            nwCorner = proj.unproject(nwCartesian, nwCorner);
-
-            width -= 1;
-            height -= 1;
-
-            var latitude = nwCorner.latitude;
-            var latitude0 = latitude + width * granXSin;
-            var latitude1 = latitude - granYCos * height;
-            var latitude2 = latitude - granYCos * height + width * granXSin;
-
-            var north = Math.max(latitude, latitude0, latitude1, latitude2);
-            var south = Math.min(latitude, latitude0, latitude1, latitude2);
-
-            var longitude = nwCorner.longitude;
-            var longitude0 = longitude + width * granXCos;
-            var longitude1 = longitude + height * granYSin;
-            var longitude2 = longitude + height * granYSin + width * granXCos;
-
-            var east = Math.max(longitude, longitude0, longitude1, longitude2);
-            var west = Math.min(longitude, longitude0, longitude1, longitude2);
-
-            return {
-                north: north,
-                south: south,
-                east: east,
-                west: west,
-                granYCos : granYCos,
-                granYSin : granYSin,
-                granXCos : granXCos,
-                granXSin : granXSin,
-                nwCorner : nwCorner
-            };
-        }
-
-        /**
-         * @private
-         */
-        RectangleGeometryLibrary.computeOptions = function(rectangle, granularity, rotation, stRotation, boundingRectangleScratch, nwCornerResult, stNwCornerResult) {
-            var east = rectangle.east;
-            var west = rectangle.west;
-            var north = rectangle.north;
-            var south = rectangle.south;
-
-            var northCap = false;
-            var southCap = false;
-
-            if (north === _Math.CesiumMath.PI_OVER_TWO) {
-                northCap = true;
-            }
-            if (south === -_Math.CesiumMath.PI_OVER_TWO) {
-                southCap = true;
-            }
-
-            var width;
-            var height;
-            var granularityX;
-            var granularityY;
-            var dx;
-            var dy = north - south;
-            if (west > east) {
-                dx = (_Math.CesiumMath.TWO_PI - west + east);
-            } else {
-                dx = east - west;
-            }
-
-            width = Math.ceil(dx / granularity) + 1;
-            height = Math.ceil(dy / granularity) + 1;
-            granularityX = dx / (width - 1);
-            granularityY = dy / (height - 1);
-
-            var nwCorner = Cartesian2.Rectangle.northwest(rectangle, nwCornerResult);
-            var center = Cartesian2.Rectangle.center(rectangle, centerScratch);
-            if (rotation !== 0 || stRotation !== 0) {
-                if (center.longitude < nwCorner.longitude) {
-                    center.longitude += _Math.CesiumMath.TWO_PI;
-                }
-                centerCartesian = proj.project(center, centerCartesian);
-            }
-
-            var granYCos = granularityY;
-            var granXCos = granularityX;
-            var granYSin = 0.0;
-            var granXSin = 0.0;
-
-            var boundingRectangle = Cartesian2.Rectangle.clone(rectangle, boundingRectangleScratch);
-
-            var computedOptions = {
-                granYCos : granYCos,
-                granYSin : granYSin,
-                granXCos : granXCos,
-                granXSin : granXSin,
-                nwCorner : nwCorner,
-                boundingRectangle : boundingRectangle,
-                width: width,
-                height: height,
-                northCap: northCap,
-                southCap: southCap
-            };
-
-            if (rotation !== 0) {
-                var rotationOptions = getRotationOptions(nwCorner, rotation, granularityX, granularityY, center, width, height);
-                north = rotationOptions.north;
-                south = rotationOptions.south;
-                east = rotationOptions.east;
-                west = rotationOptions.west;
-
-                //>>includeStart('debug', pragmas.debug);
-                if (north < -_Math.CesiumMath.PI_OVER_TWO || north > _Math.CesiumMath.PI_OVER_TWO ||
-                    south < -_Math.CesiumMath.PI_OVER_TWO || south > _Math.CesiumMath.PI_OVER_TWO) {
-                    throw new Check.DeveloperError('Rotated rectangle is invalid.  It crosses over either the north or south pole.');
-                }
-                //>>includeEnd('debug')
-
-                computedOptions.granYCos = rotationOptions.granYCos;
-                computedOptions.granYSin = rotationOptions.granYSin;
-                computedOptions.granXCos = rotationOptions.granXCos;
-                computedOptions.granXSin = rotationOptions.granXSin;
-
-                boundingRectangle.north = north;
-                boundingRectangle.south = south;
-                boundingRectangle.east = east;
-                boundingRectangle.west = west;
-            }
-
-            if (stRotation !== 0) {
-                rotation = rotation - stRotation;
-                var stNwCorner = Cartesian2.Rectangle.northwest(boundingRectangle, stNwCornerResult);
-
-                var stRotationOptions = getRotationOptions(stNwCorner, rotation, granularityX, granularityY, center, width, height);
-
-                computedOptions.stGranYCos =  stRotationOptions.granYCos;
-                computedOptions.stGranXCos = stRotationOptions.granXCos;
-                computedOptions.stGranYSin = stRotationOptions.granYSin;
-                computedOptions.stGranXSin = stRotationOptions.granXSin;
-                computedOptions.stNwCorner = stNwCorner;
-                computedOptions.stWest = stRotationOptions.west;
-                computedOptions.stSouth = stRotationOptions.south;
-            }
-
-            return computedOptions;
-        };
-
-    exports.RectangleGeometryLibrary = RectangleGeometryLibrary;
-
-});
diff --git a/libs/supermap/Workers/RuntimeError-ba10bc3e.js b/libs/supermap/Workers/RuntimeError-ba10bc3e.js
deleted file mode 100644
index dd80692..0000000
--- a/libs/supermap/Workers/RuntimeError-ba10bc3e.js
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60'], function (exports, when) { 'use strict';
-
-    /**
-         * Constructs an exception object that is thrown due to an error that can occur at runtime, e.g.,
-         * out of memory, could not compile shader, etc.  If a function may throw this
-         * exception, the calling code should be prepared to catch it.
-         * <br /><br />
-         * On the other hand, a {@link DeveloperError} indicates an exception due
-         * to a developer error, e.g., invalid argument, that usually indicates a bug in the
-         * calling code.
-         *
-         * @alias RuntimeError
-         * @constructor
-         * @extends Error
-         *
-         * @param {String} [message] The error message for this exception.
-         *
-         * @see DeveloperError
-         */
-        function RuntimeError(message) {
-            /**
-             * 'RuntimeError' indicating that this exception was thrown due to a runtime error.
-             * @type {String}
-             * @readonly
-             */
-            this.name = 'RuntimeError';
-
-            /**
-             * The explanation for why this exception was thrown.
-             * @type {String}
-             * @readonly
-             */
-            this.message = message;
-
-            //Browsers such as IE don't have a stack property until you actually throw the error.
-            var stack;
-            try {
-                throw new Error();
-            } catch (e) {
-                stack = e.stack;
-            }
-
-            /**
-             * The stack trace of this exception, if available.
-             * @type {String}
-             * @readonly
-             */
-            this.stack = stack;
-        }
-
-        if (when.defined(Object.create)) {
-            RuntimeError.prototype = Object.create(Error.prototype);
-            RuntimeError.prototype.constructor = RuntimeError;
-        }
-
-        RuntimeError.prototype.toString = function() {
-            var str = this.name + ': ' + this.message;
-
-            if (when.defined(this.stack)) {
-                str += '\n' + this.stack.toString();
-            }
-
-            return str;
-        };
-
-    exports.RuntimeError = RuntimeError;
-
-});
diff --git a/libs/supermap/Workers/S3MBTilesParser.js b/libs/supermap/Workers/S3MBTilesParser.js
deleted file mode 100644
index b5bfabe..0000000
--- a/libs/supermap/Workers/S3MBTilesParser.js
+++ /dev/null
@@ -1,1670 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './buildModuleUrl-46c77f41', './IndexDatatype-9435b55f', './createTaskProcessorWorker', './BoundingRectangle-5220b474', './Color-69f1845f', './pako_inflate-8ea163f9', './S3MCompressType-76237e25', './unzip-b0fc9445'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, PrimitiveType, FeatureDetection, buildModuleUrl, IndexDatatype, createTaskProcessorWorker, BoundingRectangle, Color, pako_inflate, S3MCompressType, unzip) { 'use strict';
-
-    /**
-         * Create a shallow copy of an array from begin to end.
-         *
-         * @param {Array} array The array to fill.
-         * @param {Number} [begin=0] The index to start at.
-         * @param {Number} [end=array.length] The index to end at which is not included.
-         *
-         * @returns {Array} The resulting array.
-         * @private
-         */
-        function arraySlice(array, begin, end) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            if (when.defined(begin)) {
-                Check.Check.typeOf.number('begin', begin);
-            }
-            if (when.defined(end)) {
-                Check.Check.typeOf.number('end', end);
-            }
-            //>>includeEnd('debug');
-
-            if (typeof array.slice === 'function') {
-                return array.slice(begin, end);
-            }
-
-            var copy = Array.prototype.slice.call(array, begin, end);
-            var typedArrayTypes = FeatureDetection.FeatureDetection.typedArrayTypes;
-            var length = typedArrayTypes.length;
-            for (var i = 0; i < length; ++i) {
-                if (array instanceof typedArrayTypes[i]) {
-                    copy = new typedArrayTypes[i](copy);
-                    break;
-                }
-            }
-
-            return copy;
-        }
-
-    function S3MDracoDecode() {
-    }
-
-    var draco;
-
-    function decodeIndexArray(dracoGeometry, dracoDecoder) {
-        var numPoints = dracoGeometry.num_points();
-        var numFaces = dracoGeometry.num_faces();
-        var faceIndices = new draco.DracoInt32Array();
-        var numIndices = numFaces * 3;
-        var indexArray = IndexDatatype.IndexDatatype.createTypedArray(numPoints, numIndices);
-
-        var offset = 0;
-        for (var i = 0; i < numFaces; ++i) {
-            dracoDecoder.GetFaceFromMesh(dracoGeometry, i, faceIndices);
-            indexArray[offset + 0] = faceIndices.GetValue(0);
-            indexArray[offset + 1] = faceIndices.GetValue(1);
-            indexArray[offset + 2] = faceIndices.GetValue(2);
-            offset += 3;
-        }
-
-        var indexDataType = IndexDatatype.IndexDatatype.UNSIGNED_SHORT;
-        if (indexArray instanceof Uint32Array) {
-            indexDataType = IndexDatatype.IndexDatatype.UNSIGNED_INT;
-        }
-
-        draco.destroy(faceIndices);
-        return {
-            typedArray : indexArray,
-            numberOfIndices : numIndices,
-            indexDataType : indexDataType
-        };
-    }
-
-
-    function decodeQuantizedDracoTypedArray(dracoGeometry, dracoDecoder, dracoAttribute, quantization, vertexArrayLength) {
-        var vertexArray;
-        var attributeData;
-        if (quantization.quantizationBits <= 8) {
-            attributeData = new draco.DracoUInt8Array();
-            vertexArray = new Uint8Array(vertexArrayLength);
-            dracoDecoder.GetAttributeUInt8ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-        } else {
-            attributeData = new draco.DracoUInt16Array();
-            vertexArray = new Uint16Array(vertexArrayLength);
-            dracoDecoder.GetAttributeUInt16ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-        }
-
-        for (var i = 0; i < vertexArrayLength; ++i) {
-            vertexArray[i] = attributeData.GetValue(i);
-        }
-
-        draco.destroy(attributeData);
-        return vertexArray;
-    }
-
-    function decodeDracoTypedArray(dracoGeometry, dracoDecoder, dracoAttribute, vertexArrayLength) {
-        var vertexArray;
-        var attributeData;
-
-        // Some attribute types are casted down to 32 bit since Draco only returns 32 bit values
-        switch (dracoAttribute.data_type()) {
-            case 1: case 11: // DT_INT8 or DT_BOOL
-            attributeData = new draco.DracoInt8Array();
-            vertexArray = new Int8Array(vertexArrayLength);
-            dracoDecoder.GetAttributeInt8ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-            break;
-            case 2: // DT_UINT8
-                attributeData = new draco.DracoUInt8Array();
-                vertexArray = new Uint8Array(vertexArrayLength);
-                dracoDecoder.GetAttributeUInt8ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-                break;
-            case 3: // DT_INT16
-                attributeData = new draco.DracoInt16Array();
-                vertexArray = new Int16Array(vertexArrayLength);
-                dracoDecoder.GetAttributeInt16ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-                break;
-            case 4: // DT_UINT16
-                attributeData = new draco.DracoUInt16Array();
-                vertexArray = new Uint16Array(vertexArrayLength);
-                dracoDecoder.GetAttributeUInt16ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-                break;
-            case 5: case 7: // DT_INT32 or DT_INT64
-            attributeData = new draco.DracoInt32Array();
-            vertexArray = new Int32Array(vertexArrayLength);
-            dracoDecoder.GetAttributeInt32ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-            break;
-            case 6: case 8: // DT_UINT32 or DT_UINT64
-            attributeData = new draco.DracoUInt32Array();
-            vertexArray = new Uint32Array(vertexArrayLength);
-            dracoDecoder.GetAttributeUInt32ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-            break;
-            case 9: case 10: // DT_FLOAT32 or DT_FLOAT64
-            attributeData = new draco.DracoFloat32Array();
-            vertexArray = new Float32Array(vertexArrayLength);
-            dracoDecoder.GetAttributeFloatForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-            break;
-        }
-
-        for (var i = 0; i < vertexArrayLength; ++i) {
-            vertexArray[i] = attributeData.GetValue(i);
-        }
-
-        draco.destroy(attributeData);
-        return vertexArray;
-    }
-
-    function decodeAttribute(dracoGeometry, dracoDecoder, dracoAttribute) {
-        var numPoints = dracoGeometry.num_points();
-        var numComponents = dracoAttribute.num_components();
-
-        var quantization;
-        var transform = new draco.AttributeQuantizationTransform();
-        if (transform.InitFromAttribute(dracoAttribute)) {
-            var minValues = new Array(numComponents);
-            for (var i = 0; i < numComponents; ++i) {
-                minValues[i] = transform.min_value(i);
-            }
-            quantization = {
-                quantizationBits : transform.quantization_bits(),
-                minValues : minValues,
-                range : transform.range(),
-                octEncoded : false
-            };
-        }
-        draco.destroy(transform);
-
-        transform = new draco.AttributeOctahedronTransform();
-        if (transform.InitFromAttribute(dracoAttribute)) {
-            quantization = {
-                quantizationBits : transform.quantization_bits(),
-                octEncoded : true
-            };
-        }
-        draco.destroy(transform);
-
-        var vertexArrayLength = numPoints * numComponents;
-        var vertexArray;
-        if (when.defined(quantization)) {
-            vertexArray = decodeQuantizedDracoTypedArray(dracoGeometry, dracoDecoder, dracoAttribute, quantization, vertexArrayLength);
-        } else {
-            vertexArray = decodeDracoTypedArray(dracoGeometry, dracoDecoder, dracoAttribute, vertexArrayLength);
-        }
-
-        var componentDatatype = ComponentDatatype.ComponentDatatype.fromTypedArray(vertexArray);
-
-        return {
-            array : vertexArray,
-            data : {
-                componentsPerAttribute : numComponents,
-                componentDatatype : componentDatatype,
-                byteOffset : dracoAttribute.byte_offset(),
-                byteStride : ComponentDatatype.ComponentDatatype.getSizeInBytes(componentDatatype) * numComponents,
-                normalized : dracoAttribute.normalized(),
-                quantization : quantization
-            }
-        };
-    }
-
-    function decodeAllAttributes(dracoGeometry, dracoDecoder, vertexPackage, vertexUniqueIDs){
-        var attributes = vertexPackage.vertexAttributes;
-        var attrLocation = vertexPackage.attrLocation;
-        vertexPackage.nCompressOptions = 0;
-        if(when.defined(vertexUniqueIDs.posUniqueID) && vertexUniqueIDs.posUniqueID >= 0){
-            vertexPackage.nCompressOptions |= S3MCompressType.VertexCompressOption.SVC_Vertex;
-            var posAttribute = dracoDecoder.GetAttribute(dracoGeometry, vertexUniqueIDs.posUniqueID);
-            var posAttributeData = decodeAttribute(dracoGeometry, dracoDecoder, posAttribute);
-            var componentsPerAttribute = posAttributeData.data.componentsPerAttribute;
-            vertexPackage.verticesCount = posAttributeData.array.length / componentsPerAttribute;
-            vertexPackage.vertCompressConstant = posAttributeData.data.quantization.range / (1 << posAttributeData.data.quantization.quantizationBits);
-            var minValuesArray = posAttributeData.data.quantization.minValues;
-            vertexPackage.minVerticesValue = new BoundingSphere.Cartesian4(minValuesArray[0], minValuesArray[1], minValuesArray[2], 1.0);
-            if(componentsPerAttribute > 3){
-                vertexPackage.minVerticesValue.w = minValuesArray[3];
-            }
-            attrLocation['aPosition'] = attributes.length;
-            attributes.push({
-                index: attrLocation['aPosition'],
-                typedArray: posAttributeData.array,
-                componentsPerAttribute: componentsPerAttribute,
-                componentDatatype: posAttributeData.data.componentDatatype,
-                offsetInBytes: posAttributeData.data.byteOffset,
-                strideInBytes: posAttributeData.data.byteStride,
-                normalize: posAttributeData.data.normalized
-            });
-        }
-        if(when.defined(vertexUniqueIDs.normalUniqueID) && vertexUniqueIDs.normalUniqueID >= 0){
-            vertexPackage.nCompressOptions |= S3MCompressType.VertexCompressOption.SVC_Normal;
-            var normalAttribute = dracoDecoder.GetAttribute(dracoGeometry, vertexUniqueIDs.normalUniqueID);
-            var normalAttributeData = decodeAttribute(dracoGeometry, dracoDecoder, normalAttribute);
-            var normalQuantization = normalAttributeData.data.quantization;
-            vertexPackage.normalRangeConstant = (1 << normalQuantization.quantizationBits) - 1.0;
-            attrLocation['aNormal'] = attributes.length;
-            attributes.push({
-                index: attrLocation['aNormal'],
-                typedArray: normalAttributeData.array,
-                componentsPerAttribute: normalAttributeData.data.componentsPerAttribute,
-                componentDatatype: normalAttributeData.data.componentDatatype,
-                offsetInBytes: normalAttributeData.data.byteOffset,
-                strideInBytes: normalAttributeData.data.byteStride,
-                normalize: normalAttributeData.data.normalized
-            });
-        }
-        if(when.defined(vertexUniqueIDs.colorUniqueID) && vertexUniqueIDs.colorUniqueID >= 0){
-            vertexPackage.nCompressOptions |= S3MCompressType.VertexCompressOption.SVC_VertexColor;
-            var colorAttribute = dracoDecoder.GetAttribute(dracoGeometry, vertexUniqueIDs.colorUniqueID);
-            var colorAttributeData = decodeAttribute(dracoGeometry, dracoDecoder, colorAttribute);
-            attrLocation['aColor'] = attributes.length;
-            attributes.push({
-                index: attrLocation['aColor'],
-                typedArray: colorAttributeData.array,
-                componentsPerAttribute: colorAttributeData.data.componentsPerAttribute,
-                componentDatatype: colorAttributeData.data.componentDatatype,
-                offsetInBytes: colorAttributeData.data.byteOffset,
-                strideInBytes: colorAttributeData.data.byteStride,
-                normalize: colorAttributeData.data.normalized
-            });
-        }
-
-        for(var i = 0 ; i < vertexUniqueIDs.texCoordUniqueIDs.length; i++){
-            vertexPackage.texCoordCompressConstant = [];
-            vertexPackage.minTexCoordValue = [];
-            var texCoordUniqueID = vertexUniqueIDs.texCoordUniqueIDs[i];
-            if(texCoordUniqueID < 0){
-                continue;
-            }
-            var texCoordAttribute = dracoDecoder.GetAttribute(dracoGeometry, texCoordUniqueID);
-            var texAttributeData = decodeAttribute(dracoGeometry, dracoDecoder, texCoordAttribute);
-            if(when.defined(texAttributeData.data.quantization)){
-                vertexPackage.nCompressOptions |= S3MCompressType.VertexCompressOption.SVC_TexutreCoord;
-                vertexPackage.texCoordCompressConstant.push(texAttributeData.data.quantization.range / (1 << texAttributeData.data.quantization.quantizationBits));
-                var minValuesArray = texAttributeData.data.quantization.minValues;
-                vertexPackage.minTexCoordValue.push(new Cartesian2.Cartesian2(minValuesArray[0], minValuesArray[1]));
-            }
-            var attName = 'aTexCoord' + i;
-            attrLocation[attName] = attributes.length;
-            attributes.push({
-                index: attrLocation[attName],
-                typedArray: texAttributeData.array,
-                componentsPerAttribute: texAttributeData.data.componentsPerAttribute,
-                componentDatatype: texAttributeData.data.componentDatatype,
-                offsetInBytes: texAttributeData.data.byteOffset,
-                strideInBytes: texAttributeData.data.byteStride,
-                normalize: texAttributeData.data.normalized
-            });
-        }
-    }
-
-    S3MDracoDecode.dracoDecodePointCloud = function(dracoLib, dataBuffer, byteLength, vertexPackage, vertexUniqueIDs){
-        draco = dracoLib;
-        var dracoDecoder = new draco.Decoder();
-
-        // Skip all parameter types except generic
-        var attributesToSkip = ['POSITION', 'NORMAL', 'COLOR'];
-        for (var i = 0; i < attributesToSkip.length; ++i) {
-            dracoDecoder.SkipAttributeTransform(draco[attributesToSkip[i]]);
-        }
-
-        var buffer = new draco.DecoderBuffer();
-        buffer.Init(dataBuffer, byteLength);
-
-        var geometryType = dracoDecoder.GetEncodedGeometryType(buffer);
-        if (geometryType !== draco.POINT_CLOUD) {
-            throw new RuntimeError.RuntimeError('Draco geometry type must be POINT_CLOUD.');
-        }
-
-        var dracoPointCloud = new draco.PointCloud();
-        var decodingStatus = dracoDecoder.DecodeBufferToPointCloud(buffer, dracoPointCloud);
-        if (!decodingStatus.ok() || dracoPointCloud.ptr === 0) {
-            throw new RuntimeError.RuntimeError('Error decoding draco point cloud: ' + decodingStatus.error_msg());
-        }
-
-        draco.destroy(buffer);
-
-        decodeAllAttributes(dracoPointCloud, dracoDecoder, vertexPackage, vertexUniqueIDs);
-
-        draco.destroy(dracoPointCloud);
-        draco.destroy(dracoDecoder);
-    };
-
-    S3MDracoDecode.dracoDecodeMesh = function(dracoLib, dataBuffer, byteLength, vertexPackage, indexPackage, vertexUniqueIDs){
-        draco = dracoLib;
-        var dracoDecoder = new draco.Decoder();
-
-        // Skip all parameter types except generic
-        var attributesToSkip = ['POSITION', 'NORMAL', 'COLOR', 'TEX_COORD'];
-        for (var i = 0; i < attributesToSkip.length; ++i) {
-            dracoDecoder.SkipAttributeTransform(draco[attributesToSkip[i]]);
-        }
-
-        var buffer = new draco.DecoderBuffer();
-        buffer.Init(dataBuffer, byteLength);
-
-        var geometryType = dracoDecoder.GetEncodedGeometryType(buffer);
-        if (geometryType !== draco.TRIANGULAR_MESH) {
-            throw new RuntimeError.RuntimeError('Unsupported draco mesh geometry type.');
-        }
-
-        var dracoGeometry = new draco.Mesh();
-        var decodingStatus = dracoDecoder.DecodeBufferToMesh(buffer, dracoGeometry);
-        if (!decodingStatus.ok() || dracoGeometry.ptr === 0) {
-            throw new RuntimeError.RuntimeError('Error decoding draco mesh geometry: ' + decodingStatus.error_msg());
-        }
-        draco.destroy(buffer);
-
-        decodeAllAttributes(dracoGeometry, dracoDecoder, vertexPackage, vertexUniqueIDs);
-
-        var indexArray = decodeIndexArray(dracoGeometry, dracoDecoder);
-        indexPackage.indicesTypedArray = indexArray.typedArray;
-        indexPackage.indicesCount = indexArray.numberOfIndices;
-        indexPackage.indexType = indexArray.indexDataType;
-        indexPackage.primitiveType = PrimitiveType.PrimitiveType.TRIANGLES;
-
-        draco.destroy(dracoGeometry);
-        draco.destroy(dracoDecoder);
-    };
-
-    var VERSION = {
-        S3M : 49,
-        S3M4 : 1
-    };
-
-    var S3MVersion = Object.freeze(VERSION);
-
-    var S3MBVertexOptions = {
-        SVO_HasInstSelInfo: 1
-    };
-
-    var S3MBVertexTag = {
-        SV_Unkown: 0,
-        SV_Standard: 1,
-        SV_Compressed: 2,
-        SV_DracoCompressed: 3
-    };
-
-    var dracoLib;
-    var colorScratch = new Color.Color();
-    var CLAMP_GROUND_LINE_PASS_NAME = "ClampGroundAndObjectLinePass";
-    var unzipwasmReady = false;
-    if (when.defined(unzip.unzip)) {
-        unzip.unzip.onRuntimeInitialized = function () {
-            unzipwasmReady = true;
-        };
-        var unzipwasm = unzip.unzip.cwrap('unzip', 'number', ['number', 'number', 'number', 'number']);
-        var freec = unzip.unzip.cwrap('freePointer', null, ['number']);
-    }
-    function loadStream(dataView, dataBuffer, byteOffset) {
-        var newByteOffset = byteOffset;
-        var streamSize = dataView.getUint32(newByteOffset, true);
-        newByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var bufferByteOffset = newByteOffset;
-            var buffer = new Uint8Array(dataBuffer, newByteOffset, streamSize);
-        newByteOffset += streamSize * Uint8Array.BYTES_PER_ELEMENT;
-        return {
-            dataViewByteOffset: bufferByteOffset,
-            byteOffset: newByteOffset,
-            buffer: buffer
-        };
-    }
-
-    function loadString(dataView, viewByteOffset, typedArray, bufferByteOffset) {
-        var stringLength = dataView.getUint32(bufferByteOffset + viewByteOffset, true);
-        bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var stringBuffer = typedArray.subarray(bufferByteOffset, bufferByteOffset + stringLength);
-        var strResult = S3MCompressType.getStringFromTypedArray(stringBuffer);
-        bufferByteOffset += stringLength;
-        return {
-            string: strResult,
-            bytesOffset: bufferByteOffset
-        }
-    }
-
-    function loadTexCoord(view, typedArray, bufferByteOffset, viewByteOffset, vertexPackage, isOldVersion) {
-        var newBytesOffset = bufferByteOffset;
-        var nTexCount = view.getUint16(bufferByteOffset + viewByteOffset, true);
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-
-        if (!isOldVersion) {
-            newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        }
-
-        for (var i = 0; i < nTexCount; i++) {
-            var nTexCoordCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var nDimension = view.getUint16(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-            var nTexCoordStride = view.getUint16(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-            if (nDimension == 20 || nDimension == 35) ;
-            else {
-                var byteLength = nTexCoordCount * nDimension * Float32Array.BYTES_PER_ELEMENT;
-                var texCoordBuffer = typedArray.subarray(newBytesOffset, newBytesOffset + byteLength);
-                newBytesOffset += byteLength;
-                var str = 'aTexCoord' + i;
-                var attributes = vertexPackage.vertexAttributes;
-                var attrLocation = vertexPackage.attrLocation;
-                attrLocation[str] = attributes.length;
-                attributes.push({
-                    index: attrLocation[str],
-                    typedArray: texCoordBuffer,
-                    componentsPerAttribute: nDimension,
-                    componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                    offsetInBytes: 0,
-                    strideInBytes: nDimension * Float32Array.BYTES_PER_ELEMENT,
-                    normalize: false
-                });
-            }
-        }
-        return {
-            bytesOffset: newBytesOffset
-        };
-    }
-
-    function loadCompressTexCoord(view, typedArray, bufferByteOffset, viewByteOffset, vertexPackage) {
-        vertexPackage.texCoordCompressConstant = [];
-        vertexPackage.minTexCoordValue = [];
-        var newBytesOffset = bufferByteOffset;
-        var nTexCount = view.getUint16(bufferByteOffset + viewByteOffset, true);
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        var texIndex = 0;
-        for (var i = 0; i < nTexCount; i++) {
-            var bNeedTexCoordZ = view.getUint8(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint8Array.BYTES_PER_ELEMENT;
-            newBytesOffset += Uint8Array.BYTES_PER_ELEMENT * 3;
-            var nTexCoordCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var nDimension = view.getUint16(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-            var nTexCoordStride = view.getUint16(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-
-            var texCoordCompressConstant = view.getFloat32(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Float32Array.BYTES_PER_ELEMENT;
-            vertexPackage.texCoordCompressConstant.push(texCoordCompressConstant);
-
-            var minTexCoordValue = new BoundingSphere.Cartesian4();
-            minTexCoordValue.x = view.getFloat32(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Float32Array.BYTES_PER_ELEMENT;
-            minTexCoordValue.y = view.getFloat32(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Float32Array.BYTES_PER_ELEMENT;
-            minTexCoordValue.z = view.getFloat32(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Float32Array.BYTES_PER_ELEMENT;
-            minTexCoordValue.w = view.getFloat32(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Float32Array.BYTES_PER_ELEMENT;
-            vertexPackage.minTexCoordValue.push(minTexCoordValue);
-
-            var byteLength = nTexCoordCount * nDimension * Int16Array.BYTES_PER_ELEMENT;
-            var texCoordBuffer = typedArray.subarray(newBytesOffset, newBytesOffset + byteLength);
-            newBytesOffset += byteLength;
-            var align = newBytesOffset % 4;
-            if (align !== 0) {
-                newBytesOffset += (4 - align);
-            }
-
-
-            var str = 'aTexCoord' + texIndex;
-            var attributes = vertexPackage.vertexAttributes;
-            var attrLocation = vertexPackage.attrLocation;
-            attrLocation[str] = attributes.length;
-            attributes.push({
-                index: attrLocation[str],
-                typedArray: texCoordBuffer,
-                componentsPerAttribute: nDimension,
-                componentDatatype: ComponentDatatype.ComponentDatatype.SHORT,
-                offsetInBytes: 0,
-                strideInBytes: nDimension * Int16Array.BYTES_PER_ELEMENT,
-                normalize: false
-            });
-
-            if (bNeedTexCoordZ) {
-                byteLength = nTexCoordCount * Float32Array.BYTES_PER_ELEMENT;
-                var texCoordZBuffer = typedArray.subarray(newBytesOffset, newBytesOffset + byteLength);
-                newBytesOffset += byteLength;
-                vertexPackage.texCoordZMatrix = true;
-                str = 'aTexCoordZ' + texIndex;
-                attrLocation[str] = attributes.length;
-                attributes.push({
-                    index: attrLocation[str],
-                    typedArray: texCoordZBuffer,
-                    componentsPerAttribute: 1,
-                    componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                    offsetInBytes: 0,
-                    strideInBytes: Float32Array.BYTES_PER_ELEMENT,
-                    normalize: false
-                });
-            }
-            texIndex++;
-        }
-        return {
-            bytesOffset: newBytesOffset
-        };
-    }
-
-    function loadInstanceInfo(view, typedArray, bufferByteOffset, viewByteOffset, vertexPackage) {
-        var newBytesOffset = bufferByteOffset;
-        var nInstanceInfo = view.getUint16(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        var attributes = vertexPackage.vertexAttributes;
-        var attrLocation = vertexPackage.attrLocation;
-
-        for (var iIndex = 0; iIndex < nInstanceInfo; iIndex++) {
-            var nTexCoordCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var nTexDimensions = view.getUint16(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-            var nTexCoordStride = view.getUint16(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-
-            var byteLength = nTexCoordCount * nTexDimensions * Float32Array.BYTES_PER_ELEMENT;
-            if (nTexDimensions === 17 || nTexDimensions === 29) {
-                var instanceBuffer = typedArray.subarray(newBytesOffset, newBytesOffset + byteLength);
-                vertexPackage.instanceCount = nTexCoordCount;
-                vertexPackage.instanceMode = nTexDimensions;
-                vertexPackage.instanceBuffer = instanceBuffer;
-                vertexPackage.instanceIndex = 1;
-                var byteStride;
-                if (nTexDimensions === 17) {
-                    byteStride = Float32Array.BYTES_PER_ELEMENT * 17;
-                    attrLocation['uv2'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv2'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 0,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-
-                    attrLocation['uv3'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv3'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 4 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-
-                    attrLocation['uv4'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv4'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 8 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-
-                    attrLocation['secondary_colour'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['secondary_colour'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 12 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-
-                    attrLocation['uv6'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv6'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                        normalize: true,
-                        offsetInBytes: 16 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                }
-                else if (nTexDimensions === 29) {
-                    byteStride = Float32Array.BYTES_PER_ELEMENT * 29;
-                    attrLocation['uv1'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv1'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 0,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1,
-                        byteLength: byteLength
-                    });
-                    attrLocation['uv2'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv2'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 4 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv3'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv3'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 8 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv4'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv4'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 12 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv5'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv5'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 16 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv6'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv6'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 20 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv7'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv7'],
-                        componentsPerAttribute: 3,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 24 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['secondary_colour'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['secondary_colour'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                        normalize: true,
-                        offsetInBytes: 27 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv9'] = attributes.length;
-                    attributes.push({
-                        index: attrLocation['uv9'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                        normalize: true,
-                        offsetInBytes: 28 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                }
-            }
-            else {
-                var valueCount = nTexCoordCount * nTexDimensions;
-                vertexPackage.instanceBounds = new Float32Array(valueCount);
-                for (var k = 0; k < valueCount; k++) {
-                    vertexPackage.instanceBounds[k] = view.getFloat32(newBytesOffset + viewByteOffset + k * Float32Array.BYTES_PER_ELEMENT, true);
-                }
-            }
-            newBytesOffset += byteLength;
-        }
-        return {
-            bytesOffset: newBytesOffset
-        };
-    }
-
-    function loadVertex(typedArray, view, viewByteOffset, bufferByteOffset, vertexPackage) {
-        var newBytesOffset = bufferByteOffset;
-        var nVerticesCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-        vertexPackage.verticesCount = nVerticesCount;
-        newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        if (nVerticesCount <= 0) {
-            return {
-                bytesOffset: newBytesOffset
-            };
-        }
-        var nVertexDimension = view.getUint16(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        var nVertexStride = view.getUint16(newBytesOffset + viewByteOffset, true);
-        nVertexStride = nVertexDimension * Float32Array.BYTES_PER_ELEMENT;
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-
-        var byteLength = nVerticesCount * nVertexDimension * Float32Array.BYTES_PER_ELEMENT;
-        var vertexBuffer = typedArray.subarray(newBytesOffset, newBytesOffset + byteLength);
-        newBytesOffset += byteLength;
-
-        var attributes = vertexPackage.vertexAttributes;
-        var attrLocation = vertexPackage.attrLocation;
-        attrLocation['aPosition'] = attributes.length;
-        attributes.push({
-            index: attrLocation['aPosition'],
-            typedArray: vertexBuffer,
-            componentsPerAttribute: nVertexDimension,
-            componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-            offsetInBytes: 0,
-            strideInBytes: nVertexStride,
-            normalize: false
-        });
-        return {
-            bytesOffset: newBytesOffset
-        }
-    }
-
-    function loadCompressVertex(typedArray, view, viewByteOffset, bufferByteOffset, vertexPackage) {
-        var newBytesOffset = bufferByteOffset;
-        var nVerticesCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-        vertexPackage.verticesCount = nVerticesCount;
-        newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        if (nVerticesCount <= 0) {
-            return {
-                bytesOffset: newBytesOffset
-            };
-        }
-        var nVertexDimension = view.getUint16(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        var nVertexStride = view.getUint16(newBytesOffset + viewByteOffset, true);
-        nVertexStride = nVertexDimension * Int16Array.BYTES_PER_ELEMENT;
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-
-        var fVertCompressConstant = view.getFloat32(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Float32Array.BYTES_PER_ELEMENT;
-        var minVerticesValue = new BoundingSphere.Cartesian4();
-        minVerticesValue.x = view.getFloat32(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Float32Array.BYTES_PER_ELEMENT;
-        minVerticesValue.y = view.getFloat32(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Float32Array.BYTES_PER_ELEMENT;
-        minVerticesValue.z = view.getFloat32(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Float32Array.BYTES_PER_ELEMENT;
-        minVerticesValue.w = view.getFloat32(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Float32Array.BYTES_PER_ELEMENT;
-
-        vertexPackage.vertCompressConstant = fVertCompressConstant;
-        vertexPackage.minVerticesValue = minVerticesValue;
-
-        var byteLength = nVerticesCount * nVertexDimension * Int16Array.BYTES_PER_ELEMENT;
-        var vertexBuffer = typedArray.subarray(newBytesOffset, newBytesOffset + byteLength);
-        newBytesOffset += byteLength;
-
-        var attributes = vertexPackage.vertexAttributes;
-        var attrLocation = vertexPackage.attrLocation;
-        attrLocation['aPosition'] = attributes.length;
-        attributes.push({
-            index: attrLocation['aPosition'],
-            typedArray: vertexBuffer,
-            componentsPerAttribute: nVertexDimension,
-            componentDatatype: ComponentDatatype.ComponentDatatype.SHORT,
-            offsetInBytes: 0,
-            strideInBytes: nVertexStride,
-            normalize: false
-        });
-        return {
-            bytesOffset: newBytesOffset
-        }
-    }
-
-    function loadNormal(typedArray, view, viewByteOffset, bufferByteOffset, vertexPackage) {
-        var newBytesOffset = bufferByteOffset;
-        var nNormalCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        if (nNormalCount <= 0) {
-            return {
-                bytesOffset: newBytesOffset
-            };
-        }
-        var nNormalDimension = view.getUint16(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        var nNormalStride = view.getUint16(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        var byteLength = nNormalCount * nNormalDimension * Float32Array.BYTES_PER_ELEMENT;
-        var normalBuffer = typedArray.subarray(newBytesOffset, newBytesOffset + byteLength);
-        newBytesOffset += byteLength;
-        if (!vertexPackage.ignoreNormal) {
-            var attributes = vertexPackage.vertexAttributes;
-            var attrLocation = vertexPackage.attrLocation;
-            attrLocation['aNormal'] = attributes.length;
-            attributes.push({
-                index: attrLocation['aNormal'],
-                typedArray: normalBuffer,
-                componentsPerAttribute: nNormalDimension,
-                componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                offsetInBytes: 0,
-                strideInBytes: nNormalStride,
-                normalize: false
-            });
-        }
-        return {
-            bytesOffset: newBytesOffset
-        }
-    }
-
-    function loadCompressNormal(typedArray, view, viewByteOffset, bufferByteOffset, vertexPackage) {
-        var newBytesOffset = bufferByteOffset;
-        var nNormalCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        if (nNormalCount <= 0) {
-            return {
-                bytesOffset: newBytesOffset
-            };
-        }
-        var nNormalDimension = view.getUint16(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        var nNormalStride = view.getUint16(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        var byteLength = nNormalCount * 2 * Int16Array.BYTES_PER_ELEMENT;
-        var normalBuffer = typedArray.subarray(newBytesOffset, newBytesOffset + byteLength);
-        newBytesOffset += byteLength;
-        if (!vertexPackage.ignoreNormal) {
-            var attributes = vertexPackage.vertexAttributes;
-            var attrLocation = vertexPackage.attrLocation;
-            attrLocation['aNormal'] = attributes.length;
-            attributes.push({
-                index: attrLocation['aNormal'],
-                typedArray: normalBuffer,
-                componentsPerAttribute: 2,
-                componentDatatype: ComponentDatatype.ComponentDatatype.SHORT,
-                offsetInBytes: 0,
-                strideInBytes: nNormalStride,
-                normalize: false
-            });
-        }
-        return {
-            bytesOffset: newBytesOffset
-        }
-    }
-
-    function loadVertexColor(typedArray, view, viewByteOffset, bufferByteOffset, vertexPackage) {
-        var newBytesOffset = bufferByteOffset;
-        var nColorCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var verticesCount = vertexPackage.verticesCount;
-        var vertexColor;
-        if (nColorCount > 0) {
-            var colorStride = view.getUint16(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-            newBytesOffset += Uint8Array.BYTES_PER_ELEMENT * 2;
-            var byteLength = nColorCount * Uint8Array.BYTES_PER_ELEMENT * 4;
-            vertexColor = typedArray.slice(newBytesOffset, newBytesOffset + byteLength);
-            newBytesOffset += byteLength;
-            var attributes = vertexPackage.vertexAttributes;
-            var attrLocation = vertexPackage.attrLocation;
-            attrLocation['aColor'] = attributes.length;
-            attributes.push({
-                index: attrLocation['aColor'],
-                typedArray: vertexColor,
-                componentsPerAttribute: 4,
-                componentDatatype: ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                offsetInBytes: 0,
-                strideInBytes: 4,
-                normalize: true
-            });
-        }
-
-        return {
-            bytesOffset: newBytesOffset
-        };
-    }
-
-    function loadSecondColor(typedArray, view, viewByteOffset, bufferByteOffset, vertexPackage) {
-        var newBytesOffset = bufferByteOffset;
-        var nSecondColorCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        if (nSecondColorCount <= 0) {
-            return {
-                bytesOffset: newBytesOffset
-            };
-        }
-        var secondColorStride = view.getUint16(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-        newBytesOffset += Uint8Array.BYTES_PER_ELEMENT * 2;
-        var byteLength = nSecondColorCount * Uint8Array.BYTES_PER_ELEMENT * 4;
-        newBytesOffset += byteLength;
-        return {
-            bytesOffset: newBytesOffset
-        };
-    }
-
-    function loadIndexPackage(typedArray, view, viewByteOffset, bufferByteOffset) {
-        var newBytesOffset = bufferByteOffset;
-        var arrIndexPackage = [];
-        var nIndexPackageCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-        newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        for (var k = 0; k < nIndexPackageCount; k++) {
-            var indexPackage = {};
-            var nIndexCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var enIndexType = view.getUint8(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint8Array.BYTES_PER_ELEMENT;
-            var bUseIndex = view.getUint8(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint8Array.BYTES_PER_ELEMENT;
-            var operationType = view.getUint8(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint8Array.BYTES_PER_ELEMENT;
-            newBytesOffset += Uint8Array.BYTES_PER_ELEMENT;
-            if (nIndexCount > 0) {
-                var byteLength = 0;
-                var indexBuffer = null;
-                if (enIndexType === 1 || enIndexType === 3) {
-                    byteLength = nIndexCount * Uint32Array.BYTES_PER_ELEMENT;
-                    indexBuffer = typedArray.subarray(newBytesOffset, newBytesOffset + byteLength);
-                }
-                else {
-                    byteLength = nIndexCount * Uint16Array.BYTES_PER_ELEMENT;
-                    indexBuffer = typedArray.subarray(newBytesOffset, newBytesOffset + byteLength);
-                    if (nIndexCount % 2 != 0) {
-                        byteLength += 2;
-                    }
-                }
-                indexPackage.indicesTypedArray = indexBuffer;
-                newBytesOffset += byteLength;
-            }
-            indexPackage.indicesCount = nIndexCount;
-            indexPackage.indexType = enIndexType;
-            indexPackage.primitiveType = operationType;
-
-            var arrPassName = [];
-            var nPassNameCount = view.getUint32(newBytesOffset + viewByteOffset, true);
-            newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            for (var passIndex = 0; passIndex < nPassNameCount; passIndex++) {
-                var res = loadString(view, viewByteOffset, typedArray, newBytesOffset);
-                var strPassName = res.string;
-                newBytesOffset = res.bytesOffset;
-                arrPassName.push(strPassName);
-                indexPackage.materialCode = strPassName;
-            }
-            arrIndexPackage.push(indexPackage);
-
-            var align = newBytesOffset % 4;
-            if (align !== 0) {
-                var nReserved = 4 - newBytesOffset % 4;
-                newBytesOffset += nReserved;
-            }
-        }
-        return {
-            bytesOffset: newBytesOffset,
-            arrIndexPackage: arrIndexPackage
-        };
-    }
-
-    function loadCompressSkeleton(typedArray, view, viewByteOffset, bufferByteOffset, vertexPackage, isOldVersion) {
-        var newBytesOffset = bufferByteOffset;
-        var nCompressOptions = view.getUint32(newBytesOffset + viewByteOffset, true);
-        vertexPackage.nCompressOptions = nCompressOptions;
-        var result;
-        newBytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        if ((nCompressOptions & S3MCompressType.VertexCompressOption.SVC_Vertex) == S3MCompressType.VertexCompressOption.SVC_Vertex) {
-            result = loadCompressVertex(typedArray, view, viewByteOffset, newBytesOffset, vertexPackage);
-            newBytesOffset = result.bytesOffset;
-        }
-        else {
-            result = loadVertex(typedArray, view, viewByteOffset, newBytesOffset, vertexPackage);
-            newBytesOffset = result.bytesOffset;
-        }
-
-        if ((nCompressOptions & S3MCompressType.VertexCompressOption.SVC_Normal) == S3MCompressType.VertexCompressOption.SVC_Normal) {
-            result = loadCompressNormal(typedArray, view, viewByteOffset, newBytesOffset, vertexPackage);
-            newBytesOffset = result.bytesOffset;
-        }
-        else {
-            result = loadNormal(typedArray, view, viewByteOffset, newBytesOffset, vertexPackage);
-            newBytesOffset = result.bytesOffset;
-        }
-
-        result = loadVertexColor(typedArray, view, viewByteOffset, newBytesOffset, vertexPackage);
-        newBytesOffset = result.bytesOffset;
-
-        result = loadSecondColor(typedArray, view, viewByteOffset, newBytesOffset);
-        newBytesOffset = result.bytesOffset;
-
-        if ((nCompressOptions & S3MCompressType.VertexCompressOption.SVC_TexutreCoord) == S3MCompressType.VertexCompressOption.SVC_TexutreCoord) {
-            result = loadCompressTexCoord(view, typedArray, newBytesOffset, viewByteOffset, vertexPackage);
-            newBytesOffset = result.bytesOffset;
-        }
-        else {
-            result = loadTexCoord(view, typedArray, newBytesOffset, viewByteOffset, vertexPackage, isOldVersion);
-            newBytesOffset = result.bytesOffset;
-        }
-
-        if ((nCompressOptions & S3MCompressType.VertexCompressOption.SVC_TexutreCoordIsW) == S3MCompressType.VertexCompressOption.SVC_TexutreCoordIsW) {
-            vertexPackage.textureCoordIsW = true;
-        }
-
-        result = loadInstanceInfo(view, typedArray, newBytesOffset, viewByteOffset, vertexPackage);
-        newBytesOffset = result.bytesOffset;
-
-        return {
-            bytesOffset: newBytesOffset
-        }
-    }
-
-    function loadStandardSkeleton(typedArray, view, viewByteOffset, bufferByteOffset, vertexPackage, isOldVersion) {
-        var newBytesOffset = bufferByteOffset;
-        var result;
-        result = loadVertex(typedArray, view, viewByteOffset, newBytesOffset, vertexPackage);
-        newBytesOffset = result.bytesOffset;
-
-        result = loadNormal(typedArray, view, viewByteOffset, newBytesOffset, vertexPackage);
-        newBytesOffset = result.bytesOffset;
-
-        result = loadVertexColor(typedArray, view, viewByteOffset, newBytesOffset, vertexPackage);
-        newBytesOffset = result.bytesOffset;
-
-        result = loadSecondColor(typedArray, view, viewByteOffset, newBytesOffset);
-        newBytesOffset = result.bytesOffset;
-
-        result = loadTexCoord(view, typedArray, newBytesOffset, viewByteOffset, vertexPackage, isOldVersion);
-        newBytesOffset = result.bytesOffset;
-
-        result = loadInstanceInfo(view, typedArray, newBytesOffset, viewByteOffset, vertexPackage);
-        newBytesOffset = result.bytesOffset;
-
-        return {
-            bytesOffset: newBytesOffset
-        }
-    }
-
-    function isClampGroundLinePass(arrIndexPackage) {
-        if (arrIndexPackage.length === 0) {
-            return false;
-        }
-        return arrIndexPackage[0].materialCode === CLAMP_GROUND_LINE_PASS_NAME;
-    }
-
-    function loadSkeletonEntities(skeletonBuffer, view, viewByteOffset, needCreateEdge, geoPackage, isOldVersion) {
-        var typedArray = skeletonBuffer;
-        var bufferByteOffset = 0;
-        var nCount = view.getUint32(bufferByteOffset + viewByteOffset, true);
-        bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-        for (var i = 0; i < nCount; i++) {
-            // S3MB头名字长度
-            var result = loadString(view, viewByteOffset, typedArray, bufferByteOffset);
-            var strGeometryName = result.string;
-            bufferByteOffset = result.bytesOffset;
-            var align = bufferByteOffset % 4;
-            if (align !== 0) {
-                bufferByteOffset += (4 - align);
-            }
-
-            var nTagValue = S3MBVertexTag.SV_Unkown;
-            nTagValue = view.getUint32(bufferByteOffset + viewByteOffset, true);
-            bufferByteOffset += Int32Array.BYTES_PER_ELEMENT;
-
-            var vertexPackage = {};
-            vertexPackage.vertexAttributes = [];
-            vertexPackage.attrLocation = {};
-            vertexPackage.instanceCount = 0;
-            vertexPackage.instanceMode = 0;
-            vertexPackage.instanceIndex = -1;
-            vertexPackage.ignoreNormal = geoPackage.ignoreNormal;
-
-            if (nTagValue == S3MBVertexTag.SV_DracoCompressed) {
-                var vertexUniqueIDs = {};
-                vertexUniqueIDs.posUniqueID = view.getInt32(bufferByteOffset + viewByteOffset, true);
-                bufferByteOffset += Int32Array.BYTES_PER_ELEMENT;
-                vertexUniqueIDs.normalUniqueID = view.getInt32(bufferByteOffset + viewByteOffset, true);
-                bufferByteOffset += Int32Array.BYTES_PER_ELEMENT;
-                vertexUniqueIDs.colorUniqueID = view.getInt32(bufferByteOffset + viewByteOffset, true);
-                bufferByteOffset += Int32Array.BYTES_PER_ELEMENT;
-                vertexUniqueIDs.secondColorUniqueID = view.getInt32(bufferByteOffset + viewByteOffset, true);
-                bufferByteOffset += Int32Array.BYTES_PER_ELEMENT;
-
-                var nTextureCoord = view.getUint16(bufferByteOffset + viewByteOffset, true);
-                bufferByteOffset += Int16Array.BYTES_PER_ELEMENT;
-
-                var texCoordUniqueIDs = [];
-                for (var nTexCoordIdx = 0; nTexCoordIdx < nTextureCoord; nTexCoordIdx++) {
-                    var nTexCoordUniqueID = view.getInt32(bufferByteOffset + viewByteOffset, true);
-                    texCoordUniqueIDs.push(nTexCoordUniqueID);
-                    bufferByteOffset += Int32Array.BYTES_PER_ELEMENT;
-                }
-                vertexUniqueIDs.texCoordUniqueIDs = texCoordUniqueIDs;
-
-                var nIndexPackageCount = view.getInt32(bufferByteOffset + viewByteOffset, true);
-                bufferByteOffset += Int32Array.BYTES_PER_ELEMENT;
-                var arrIndexPackage = [];
-                // 目前只支持单索引
-                var indexPackage = {};
-                if (nIndexPackageCount > 0) {
-                    var res = loadString(view, viewByteOffset, typedArray, bufferByteOffset);
-                    var strPassName = res.string;
-                    bufferByteOffset = res.bytesOffset;
-                    indexPackage.materialCode = strPassName;
-                    arrIndexPackage.push(indexPackage);
-                }
-
-                var nDracoBufferSize = view.getUint32(bufferByteOffset + viewByteOffset, true);
-                bufferByteOffset += Int32Array.BYTES_PER_ELEMENT;
-                var dataBuffer = arraySlice(typedArray, bufferByteOffset, bufferByteOffset + nDracoBufferSize);
-                if (nIndexPackageCount > 0) {
-                    S3MDracoDecode.dracoDecodeMesh(dracoLib, dataBuffer, nDracoBufferSize, vertexPackage, indexPackage, vertexUniqueIDs);
-                }
-                else {
-                    S3MDracoDecode.dracoDecodePointCloud(dracoLib, dataBuffer, nDracoBufferSize, vertexPackage, vertexUniqueIDs);
-                }
-
-                bufferByteOffset += nDracoBufferSize;
-                geoPackage[strGeometryName] = {
-                    vertexPackage: vertexPackage,
-                    arrIndexPackage: arrIndexPackage
-                };
-            }
-            else {
-                if (nTagValue == S3MBVertexTag.SV_Standard) {
-                    result = loadStandardSkeleton(typedArray, view, viewByteOffset, bufferByteOffset, vertexPackage, isOldVersion);
-                    bufferByteOffset = result.bytesOffset;
-                }
-                else if (nTagValue == S3MBVertexTag.SV_Compressed) {
-                    result = loadCompressSkeleton(typedArray, view, viewByteOffset, bufferByteOffset, vertexPackage, isOldVersion);
-                    bufferByteOffset = result.bytesOffset;
-                }
-
-                result = loadIndexPackage(typedArray, view, viewByteOffset, bufferByteOffset);
-                var arrIndexPackage = result.arrIndexPackage;
-                if (isClampGroundLinePass(arrIndexPackage)) {
-                    vertexPackage.clampRegionEdge = true;
-                }
-
-                var edgeGeometry;
-                if (needCreateEdge) {
-                    edgeGeometry = S3MCompressType.S3MVertexPackage.createEdge(vertexPackage, arrIndexPackage);
-                }
-
-                bufferByteOffset = result.bytesOffset;
-                geoPackage[strGeometryName] = {
-                    vertexPackage: vertexPackage,
-                    arrIndexPackage: arrIndexPackage,
-                    edgeGeometry: edgeGeometry
-                };
-            }
-        }
-    }
-
-    function loadGeodeEntities(shellBuffer, view, bufferByteOffset, dataViewByteOffset) {
-        var geode = {};
-        var skeletonNames = [];
-        var geoMatrix = new BoundingSphere.Matrix4();
-        var typedArray = shellBuffer;
-        for (var matIndex = 0; matIndex < 16; matIndex++) {
-            geoMatrix[matIndex] = view.getFloat64(bufferByteOffset + dataViewByteOffset, true);
-            bufferByteOffset += Float64Array.BYTES_PER_ELEMENT;
-        }
-        geode.matrix = geoMatrix;
-        geode.skeletonNames = skeletonNames;
-        var nSkeletonCount = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-        for (var i = 0; i < nSkeletonCount; i++) {
-            var res = loadString(view, dataViewByteOffset, typedArray, bufferByteOffset);
-            var strSkeletonName = res.string;
-            bufferByteOffset = res.bytesOffset;
-            skeletonNames.push(strSkeletonName);
-        }
-        return {
-            byteOffset: bufferByteOffset,
-            geode: geode
-        }
-    }
-
-    function removeUnusedStringTileName(oldTileName) {
-        var index = oldTileName.indexOf('Geometry');
-        if (index === -1) {
-            return oldTileName;
-        }
-        var ignoreString = oldTileName.substring(index, oldTileName.length);
-        return oldTileName.replace(ignoreString, '');
-    }
-
-    function loadPageLODEntities(shellBuffer, view, bufferByteOffset, dataViewByteOffset) {
-        var pageLOD = {};
-        var dbDis = view.getFloat32(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Float32Array.BYTES_PER_ELEMENT;
-        var uRangeMode = view.getUint16(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Uint16Array.BYTES_PER_ELEMENT;
-        pageLOD.rangeMode = uRangeMode;
-        pageLOD.rangeList = dbDis;
-
-        var boundingSphereCenter = new Cartesian2.Cartesian3();
-        boundingSphereCenter.x = view.getFloat64(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Float64Array.BYTES_PER_ELEMENT;
-        boundingSphereCenter.y = view.getFloat64(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Float64Array.BYTES_PER_ELEMENT;
-        boundingSphereCenter.z = view.getFloat64(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Float64Array.BYTES_PER_ELEMENT;
-        var radius = view.getFloat64(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Float64Array.BYTES_PER_ELEMENT;
-        pageLOD.boundingSphere = new BoundingSphere.BoundingSphere(boundingSphereCenter, radius);
-
-        var typedArray = shellBuffer;
-        var res = loadString(view, dataViewByteOffset, typedArray, bufferByteOffset);
-        var strChildTile = res.string;
-        bufferByteOffset = res.bytesOffset;
-
-        strChildTile = strChildTile.replace(/(\.s3mbz)|(\.s3mb)/gi, '');
-        strChildTile = removeUnusedStringTileName(strChildTile);
-
-        pageLOD.childTile = strChildTile;
-        pageLOD.geodes = [];
-        var nGeodeCount = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-        for (var i = 0; i < nGeodeCount; i++) {
-            var res = loadGeodeEntities(shellBuffer, view, bufferByteOffset, dataViewByteOffset);
-            bufferByteOffset = res.byteOffset;
-            pageLOD.geodes.push(res.geode);
-        }
-        return {
-            pageLOD: pageLOD,
-            bytesOffset: bufferByteOffset
-        }
-    }
-
-    function loadShellEntites(shellBuffer, view, dataViewByteOffset) {
-        var bufferByteOffset = 0;
-        var groupNode = {};
-        var pageLods = [];
-        var nCount = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-        for (var i = 0; i < nCount; i++) {
-            var res = loadPageLODEntities(shellBuffer, view, bufferByteOffset, dataViewByteOffset);
-            bufferByteOffset = res.bytesOffset;
-            pageLods.push(res.pageLOD);
-        }
-        groupNode.pageLods = pageLods;
-        return groupNode;
-    }
-
-    function loadTextureEntities(supportCompressType, textureDataBuffer, dataView, dataViewByteOffset, texturePackage, transferableObjects) {
-        var bufferByteOffset = 0;
-        var nTextureCount = dataView.getUint32(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-        for (var i = 0; i < nTextureCount; i++) {
-            var res = loadString(dataView, dataViewByteOffset, textureDataBuffer, bufferByteOffset);
-            var strTextureName = res.string;
-            bufferByteOffset = res.bytesOffset;
-            var align = bufferByteOffset % 4;
-            if (align !== 0) {
-                bufferByteOffset += (4 - align);
-            }
-
-            var nLevel = dataView.getUint32(bufferByteOffset + dataViewByteOffset, true);
-            bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var width = dataView.getUint32(bufferByteOffset + dataViewByteOffset, true);
-            bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var height = dataView.getUint32(bufferByteOffset + dataViewByteOffset, true);
-            bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var compressType = dataView.getUint32(bufferByteOffset + dataViewByteOffset, true);
-            bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var nSize = dataView.getUint32(bufferByteOffset + dataViewByteOffset, true);
-            bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var pixelFormat = dataView.getUint32(bufferByteOffset + dataViewByteOffset, true);
-            bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-
-            var textureData = textureDataBuffer.subarray(bufferByteOffset, bufferByteOffset + nSize);
-            bufferByteOffset += nSize;
-
-            var imageTypedArray = null;
-            if (compressType === S3MCompressType.S3MCompressType.enrS3TCDXTN && supportCompressType != 1) {
-                S3MCompressType.DXTTextureDecode.decode(imageTypedArray, width, height, textureData, pixelFormat);
-                if (pixelFormat > S3MCompressType.S3MPixelFormat.BGR || pixelFormat === S3MCompressType.S3MPixelFormat.LUMINANCE_ALPHA) {
-                    imageTypedArray = new Uint8Array(width * height * 4);
-                }
-                else {
-                    imageTypedArray = new Uint16Array(width * height);
-                }
-                S3MCompressType.DXTTextureDecode.decode(imageTypedArray, width, height, textureData, pixelFormat);
-                transferableObjects.push(imageTypedArray.buffer);
-                compressType = 0;
-            }
-            else {
-                imageTypedArray = textureData;
-            }
-
-            texturePackage[strTextureName] = {
-                id: strTextureName,
-                width: width,
-                height: height,
-                compressType: compressType,
-                nFormat: pixelFormat,
-                imageBuffer: imageTypedArray
-            };
-        }
-    }
-
-    function createBatchIdAttribute(vertexPackage, typedArray, instanceDivisor) {
-        var vertexAttributes = vertexPackage.vertexAttributes;
-        var attrLocation = vertexPackage.attrLocation;
-        var len = vertexAttributes.length;
-        var attrName = instanceDivisor === 1 ? 'instanceId' : 'batchId';
-        attrLocation[attrName] = len;
-        vertexAttributes.push({
-            index: len,
-            typedArray: typedArray,
-            componentsPerAttribute: 1,
-            componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-            offsetInBytes: 0,
-            strideInBytes: 0,
-            instanceDivisor: instanceDivisor
-        });
-    }
-
-    var LEFT_16 = 65536;
-    function loadSelectionInfo(selectionInfoBuffer, view, dataViewByteOffset, geoPackage) {
-        var bufferByteOffset = 0;
-        var typedArray = selectionInfoBuffer;
-        var nGeometryCount = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-        bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-        for (var i = 0; i < nGeometryCount; i++) {
-            // S3MB头名字长度
-            var result = loadString(view, dataViewByteOffset, typedArray, bufferByteOffset);
-            var strGeometryName = result.string;
-            bufferByteOffset = result.bytesOffset;
-            var nSelectInfoCount = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-            bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var pickInfo = {};
-            geoPackage[strGeometryName].pickInfo = pickInfo;
-            // 非实例化的选择信息
-            var bInstanced = geoPackage[strGeometryName].vertexPackage.instanceIndex;
-            if (bInstanced == -1) {
-                var batchIds = new Float32Array(geoPackage[strGeometryName].vertexPackage.verticesCount);
-                for (var j = 0; j < nSelectInfoCount; j++) {
-                    var nDictID = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-                    bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-                    var nSize = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-                    bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-                    var vertexCount = 0, vertexColorOffset = 0;
-                    pickInfo[nDictID] = {
-                        batchId: j
-                    };
-                    for (var k = 0; k < nSize; k++) {
-                        vertexColorOffset = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-                        bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-                        vertexCount = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-                        bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-                        batchIds.fill(j, vertexColorOffset, vertexColorOffset + vertexCount);
-                    }
-
-                    pickInfo[nDictID].vertexColorOffset = vertexColorOffset;
-                    pickInfo[nDictID].vertexCount = vertexCount;
-                }
-                createBatchIdAttribute(geoPackage[strGeometryName].vertexPackage, batchIds, undefined);
-            }
-            else {
-                var instanceCount = geoPackage[strGeometryName].vertexPackage.instanceCount;
-                var instanceArray = geoPackage[strGeometryName].vertexPackage.instanceBuffer;
-                var instanceMode = geoPackage[strGeometryName].vertexPackage.instanceMode;
-                var instanceIds = new Float32Array(instanceCount);
-                for (var j = 0; j < nSelectInfoCount; j++) {
-                    var nDictID = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-                    bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-                    var nSize = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-                    bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-                    for (var k = 0; k < nSize; k++) {
-                        var instanceId = view.getUint32(bufferByteOffset + dataViewByteOffset, true);
-                        bufferByteOffset += Uint32Array.BYTES_PER_ELEMENT;
-                    }
-                }
-
-                var beginOffset = instanceMode === 17 ? 16 : 28;
-                beginOffset *= Float32Array.BYTES_PER_ELEMENT;
-                for (j = 0; j < instanceCount; j++) {
-                    instanceIds[j] = j;
-                    var offset = j * instanceMode * Float32Array.BYTES_PER_ELEMENT + beginOffset;
-                    Color.Color.unpack(instanceArray, offset, colorScratch);
-                    var pickId = colorScratch.red + colorScratch.green * 256 + colorScratch.blue * LEFT_16;
-                    if (pickInfo[pickId] === undefined) {
-                        pickInfo[pickId] = {
-                            vertexColorCount: 1,
-                            instanceIds: [],
-                            vertexColorOffset: j
-                        };
-                    }
-
-                    pickInfo[pickId].instanceIds.push(j);
-                }
-
-                createBatchIdAttribute(geoPackage[strGeometryName].vertexPackage, instanceIds, 1);
-            }
-        }
-    }
-
-    function OGDCIS0(x) {
-        return (((x) < 1e-10) && ((x) > -1e-10));
-    }
-
-    function unzipWithwasm(datazip, unzipSize) {
-        var unzipsize = unzipSize || datazip.length * 4;//unzipSize;//
-        var offset = unzip.unzip._malloc(Uint8Array.BYTES_PER_ELEMENT * unzipsize); //开辟内存
-        var tar = new Uint8Array(unzipsize);
-        unzip.unzip.HEAPU8.set(tar, offset / Uint8Array.BYTES_PER_ELEMENT);
-        var offset1 = unzip.unzip._malloc(Uint8Array.BYTES_PER_ELEMENT * datazip.length);
-        unzip.unzip.HEAPU8.set(datazip, offset1 / Uint8Array.BYTES_PER_ELEMENT);
-        
-        var resultLen;
-        while ((resultLen = unzipwasm(offset, unzipsize, offset1, datazip.length)) == 0) {
-            freec(offset); //释放内存
-            unzipsize *= 4;
-            offset = unzip.unzip._malloc(Uint8Array.BYTES_PER_ELEMENT * unzipsize);
-            tar = new Uint8Array(unzipsize);
-            unzip.unzip.HEAPU8.set(tar, offset / Uint8Array.BYTES_PER_ELEMENT);
-        }
-        var res = new Uint8Array(unzip.unzip.HEAPU8.buffer, offset, resultLen);
-        datazip = null;
-        tar = null;
-        var buffer = new Uint8Array(res).buffer;
-        freec(offset);
-        freec(offset1);
-        return buffer;
-    }
-
-    function parseS3MB(parameters, transferableObjects) {
-        var buffer = parameters.buffer;
-        var bZip = parameters.isS3MZ;
-        var fileType = parameters.fileType;
-        var createEdge = parameters.createEdge;
-        var supportCompressType = parameters.supportCompressType;
-        var bytesOffset = 0;
-        var geoPackage = {};
-        geoPackage.ignoreNormal = parameters.ignoreNormal;
-
-        var view = new DataView(buffer);
-
-        var version = view.getFloat32(bytesOffset, true);
-        bytesOffset += Float32Array.BYTES_PER_ELEMENT;
-        var isOldVersion = false;
-        if (OGDCIS0(version - 1) || OGDCIS0(version - 2)) {
-            //总字节大小
-            var byteSize = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var datazip = new Uint8Array(buffer, bytesOffset, byteSize);
-
-            if (unzipwasmReady === true) {
-                buffer = unzipWithwasm(datazip);
-            } else {
-                buffer = pako_inflate.pako.inflate(datazip).buffer;
-            }
-
-            transferableObjects.push(buffer);
-            view = new DataView(buffer);
-            bytesOffset = 0;
-        }
-        // 不zip压缩的解析性能,测试用
-        else if (version > 1.199 && version < 1.201) {
-            var byteSize = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            transferableObjects.push(buffer);
-        }
-        else {
-            //老版本的s3mb缓存,解析方式跟UGC保持一致
-            isOldVersion = true;
-            bytesOffset = 0;
-            var byteSize = view.getInt32(bytesOffset, true);
-            bytesOffset += Int32Array.BYTES_PER_ELEMENT;
-            bytesOffset += Uint8Array.BYTES_PER_ELEMENT * byteSize;
-
-            if (bZip) {
-                var zipSize = view.getUint32(bytesOffset, true);
-                bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-                var dataZip = new Uint8Array(buffer, bytesOffset);
-                buffer = pako_inflate.pako.inflate(dataZip).buffer;
-                transferableObjects.push(buffer);
-                view = new DataView(buffer);
-                bytesOffset = 0;
-            }
-        }
-
-        var nOptions = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-
-        // load Shell
-        var loadStreamResult = loadStream(view, buffer, bytesOffset);
-        var shellBuffer = loadStreamResult.buffer;
-        bytesOffset = loadStreamResult.byteOffset;
-        var groupNode = loadShellEntites(shellBuffer, view, loadStreamResult.dataViewByteOffset);
-        var align = bytesOffset % 4;
-        if (align !== 0) {
-            bytesOffset += (4 - align);
-        }
-
-        // load skeleton
-        loadStreamResult = loadStream(view, buffer, bytesOffset);
-        var skeletonBuffer = loadStreamResult.buffer;
-        loadSkeletonEntities(skeletonBuffer, view, loadStreamResult.dataViewByteOffset, createEdge, geoPackage, isOldVersion);
-        bytesOffset = loadStreamResult.byteOffset;
-
-        // load secondColor
-        loadStreamResult = loadStream(view, buffer, bytesOffset);
-        var secondColorBuffer = loadStreamResult.buffer;
-        bytesOffset = loadStreamResult.byteOffset;
-
-        // load textureData
-        loadStreamResult = loadStream(view, buffer, bytesOffset);
-        var textureDataBuffer = loadStreamResult.buffer;
-        var texturePackage = {};
-        loadTextureEntities(supportCompressType, textureDataBuffer, view, loadStreamResult.dataViewByteOffset, texturePackage, transferableObjects);
-        bytesOffset = loadStreamResult.byteOffset;
-
-        var strJsonMaterialsLength = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var typedArray = new Uint8Array(buffer);
-        var materialBuffer = typedArray.subarray(bytesOffset, bytesOffset + strJsonMaterialsLength);
-        var strJsonMaterials = S3MCompressType.getStringFromTypedArray(materialBuffer);
-        bytesOffset += strJsonMaterialsLength;
-        var matrialObj = JSON.parse(strJsonMaterials);
-
-        var bHasSelectionInfo = (nOptions & S3MBVertexOptions.SVO_HasInstSelInfo) == S3MBVertexOptions.SVO_HasInstSelInfo;
-        if (bHasSelectionInfo) {
-            loadStreamResult = loadStream(view, buffer, bytesOffset);
-            var selectionInfoBuffer = loadStreamResult.buffer;
-            loadSelectionInfo(selectionInfoBuffer, view, loadStreamResult.dataViewByteOffset, geoPackage);
-        }
-
-
-        var pagelodList = groupNode.pageLods;
-        var isLeafNode = true;
-        for (var i = 0; i < pagelodList.length; i++) {
-            var pagelodNode = pagelodList[i];
-            isLeafNode = pagelodNode.childTile === '';
-
-            var geodeList = pagelodNode.geodes;
-            for (var m = 0; m < geodeList.length; m++) {
-                var geodeNode = geodeList[m];
-                var skeletonNames = geodeNode.skeletonNames;
-                for (var n = 0; n < skeletonNames.length; n++) {
-                    var geoName = skeletonNames[n];
-                    if (isLeafNode) {
-                        var geo = geoPackage[geoName];
-                        var vertexPackage = geo.vertexPackage;
-                        vertexPackage.boundingSphere = S3MCompressType.S3MVertexPackage.calcBoundingSphereInWorker(fileType, vertexPackage);
-                    }
-                }
-            }
-        }
-
-        return {
-            result: true,
-            groupNode: groupNode,
-            geoPackage: geoPackage,
-            matrials: matrialObj,
-            texturePackage: texturePackage,
-            version: S3MVersion.S3M4
-        };
-    }
-
-    function initWorker(dracoModule) {
-        dracoLib = dracoModule;
-        self.onmessage = createTaskProcessorWorker(parseS3MB);
-        self.postMessage(true);
-    }
-
-    function S3MBTilesParser(event) {
-        var data = event.data;
-
-        // Expect the first message to be to load a web assembly module
-        var wasmConfig = data.webAssemblyConfig;
-        if (when.defined(wasmConfig)) {
-            if (FeatureDetection.FeatureDetection.isInternetExplorer()) {
-                return require([buildModuleUrl.buildModuleUrl('ThirdParty/Workers/ie-webworker-promise-polyfill.js')], function (e) {
-                    self.Promise = e;
-                    return require([wasmConfig.modulePath], function (dracoModule) {
-                        if (when.defined(wasmConfig.wasmBinaryFile)) {
-                            if (!when.defined(dracoModule)) {
-                                dracoModule = self.DracoDecoderModule;
-                            }
-
-                            dracoModule(wasmConfig).then(function (compiledModule) {
-                                initWorker(compiledModule);
-                            });
-                        } else {
-                            initWorker(dracoModule());
-                        }
-                    });
-                });
-            }
-            // Require and compile WebAssembly module, or use fallback if not supported
-            return require([wasmConfig.modulePath], function (dracoModule) {
-                if (when.defined(wasmConfig.wasmBinaryFile)) {
-                    if (!when.defined(dracoModule)) {
-                        dracoModule = self.DracoDecoderModule;
-                    }
-
-                    dracoModule(wasmConfig).then(function (compiledModule) {
-                        initWorker(compiledModule);
-                    });
-                } else {
-                    initWorker(dracoModule());
-                }
-            });
-        }
-    }
-    //export default createTaskProcessorWorker(S3MBTilesParser);
-
-    return S3MBTilesParser;
-
-});
diff --git a/libs/supermap/Workers/S3MCompressType-76237e25.js b/libs/supermap/Workers/S3MCompressType-76237e25.js
deleted file mode 100644
index 32aeacf..0000000
--- a/libs/supermap/Workers/S3MCompressType-76237e25.js
+++ /dev/null
@@ -1,1145 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './ComponentDatatype-5862616f', './PrimitiveType-97893bc7', './BoundingRectangle-5220b474'], function (exports, when, Check, Cartesian2, BoundingSphere, RuntimeError, ComponentDatatype, PrimitiveType, BoundingRectangle) { 'use strict';
-
-    /**
-         * @private
-         */
-        function getStringFromTypedArray(uint8Array, byteOffset, byteLength, codeType) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(uint8Array)) {
-                throw new Check.DeveloperError('uint8Array is required.');
-            }
-            if (byteOffset < 0) {
-                throw new Check.DeveloperError('byteOffset cannot be negative.');
-            }
-            if (byteLength < 0) {
-                throw new Check.DeveloperError('byteLength cannot be negative.');
-            }
-            if ((byteOffset + byteLength) > uint8Array.byteLength) {
-                throw new Check.DeveloperError('sub-region exceeds array bounds.');
-            }
-            //>>includeEnd('debug');
-
-            byteOffset = when.defaultValue(byteOffset, 0);
-            byteLength = when.defaultValue(byteLength, uint8Array.byteLength - byteOffset);
-            codeType = when.defaultValue(codeType, 'utf-8');
-
-            uint8Array = uint8Array.subarray(byteOffset, byteOffset + byteLength);
-
-            return getStringFromTypedArray.decode(uint8Array, codeType);
-        }
-
-        // Exposed functions for testing
-        getStringFromTypedArray.decodeWithTextDecoder = function(view, codeType) {
-            var decoder = new TextDecoder(codeType);
-            return decoder.decode(view);
-        };
-
-        getStringFromTypedArray.decodeWithFromCharCode = function(view) {
-            var result = '';
-            var codePoints = utf8Handler(view);
-            var length = codePoints.length;
-            for (var i = 0; i < length; ++i) {
-                var cp = codePoints[i];
-                if (cp <= 0xFFFF) {
-                    result += String.fromCharCode(cp);
-                } else {
-                    cp -= 0x10000;
-                    result += String.fromCharCode((cp >> 10) + 0xD800,
-                        (cp & 0x3FF) + 0xDC00);
-                }
-
-            }
-            return result;
-        };
-
-        function inRange(a, min, max) {
-            return min <= a && a <= max;
-        }
-
-        // This code is inspired by public domain code found here: https://github.com/inexorabletash/text-encoding
-        function utf8Handler(utfBytes) {
-            var codePoint = 0;
-            var bytesSeen = 0;
-            var bytesNeeded = 0;
-            var lowerBoundary = 0x80;
-            var upperBoundary = 0xBF;
-
-            var codePoints = [];
-            var length = utfBytes.length;
-            for (var i = 0; i < length; ++i) {
-                var currentByte = utfBytes[i];
-
-                // If bytesNeeded = 0, then we are starting a new character
-                if (bytesNeeded === 0) {
-                    // 1 Byte Ascii character
-                    if (inRange(currentByte, 0x00, 0x7F)) {
-                        // Return a code point whose value is byte.
-                        codePoints.push(currentByte);
-                        continue;
-                    }
-
-                    // 2 Byte character
-                    if (inRange(currentByte, 0xC2, 0xDF)) {
-                        bytesNeeded = 1;
-                        codePoint = currentByte & 0x1F;
-                        continue;
-                    }
-
-                    // 3 Byte character
-                    if (inRange(currentByte, 0xE0, 0xEF)) {
-                        // If byte is 0xE0, set utf-8 lower boundary to 0xA0.
-                        if (currentByte === 0xE0) {
-                            lowerBoundary = 0xA0;
-                        }
-                        // If byte is 0xED, set utf-8 upper boundary to 0x9F.
-                        if (currentByte === 0xED) {
-                            upperBoundary = 0x9F;
-                        }
-
-                        bytesNeeded = 2;
-                        codePoint = currentByte & 0xF;
-                        continue;
-                    }
-
-                    // 4 Byte character
-                    if (inRange(currentByte, 0xF0, 0xF4)) {
-                        // If byte is 0xF0, set utf-8 lower boundary to 0x90.
-                        if (currentByte === 0xF0) {
-                            lowerBoundary = 0x90;
-                        }
-                        // If byte is 0xF4, set utf-8 upper boundary to 0x8F.
-                        if (currentByte === 0xF4) {
-                            upperBoundary = 0x8F;
-                        }
-
-                        bytesNeeded = 3;
-                        codePoint = currentByte & 0x7;
-                        continue;
-                    }
-
-                    throw new RuntimeError.RuntimeError('String decoding failed.');
-                }
-
-                // Out of range, so ignore the first part(s) of the character and continue with this byte on its own
-                if (!inRange(currentByte, lowerBoundary, upperBoundary)) {
-                    codePoint = bytesNeeded = bytesSeen = 0;
-                    lowerBoundary = 0x80;
-                    upperBoundary = 0xBF;
-                    --i;
-                    continue;
-                }
-
-                // Set appropriate boundaries, since we've now checked byte 2 of a potential longer character
-                lowerBoundary = 0x80;
-                upperBoundary = 0xBF;
-
-                // Add byte to code point
-                codePoint = (codePoint << 6) | (currentByte & 0x3F);
-
-                // We have the correct number of bytes, so push and reset for next character
-                ++bytesSeen;
-                if (bytesSeen === bytesNeeded) {
-                    codePoints.push(codePoint);
-                    codePoint = bytesNeeded = bytesSeen = 0;
-                }
-            }
-
-            return codePoints;
-        }
-
-        if (typeof TextDecoder !== 'undefined') {
-            getStringFromTypedArray.decode = getStringFromTypedArray.decodeWithTextDecoder;
-        } else {
-            getStringFromTypedArray.decode = getStringFromTypedArray.decodeWithFromCharCode;
-        }
-
-    /**
-     * S3M像素格式
-     * @export S3MPixelFormat
-     */
-    var S3MPixelFormat = {
-        /**
-         * 8位像素,代表亮度
-         */
-        LUMINANCE_8 : 1,
-        /**
-         * 16位像素,代表亮度
-         */
-        LUMINANCE_16 : 2,
-        /**
-         * 8位像素,代表透明度
-         */
-        ALPHA : 3,
-        /**
-         * 8位像素,4位透明度4位亮度
-         */
-        ALPHA_4_LUMINANCE_4 : 4,
-        /**
-         * 16位像素,8位亮度8位透明度
-         */
-        LUMINANCE_ALPHA : 5,
-        /**
-         * 16位像素,R G B各为5 6 5
-         */
-        RGB_565 : 6,
-        /**
-         * 16位像素,B G R各为5 6 5
-         */
-        BGR565 : 7,
-        /**
-         * 24位像素,R G B各为8 8 8
-         */
-        RGB : 10,
-        /**
-         * 24位像素, B G R各为8 8 8
-         */
-        BGR : 11,
-        /**
-         * 32位像素,A R G B 各为8 8 8 8
-         */
-        ARGB : 12,
-        /**
-         * 32位像素,A B G R 各为8 8 8 8
-         */
-        ABGR : 13,
-        /**
-         * 32位像素,B G R A 各为8 8 8 8
-         */
-        BGRA : 14,
-        /**
-         * 32位像素,R G B A 各为8 8 8 8
-         */
-        WEBP : 25,
-        RGBA : 28,
-        DXT1 : 17,
-        DXT2 : 18,
-        DXT3 : 19,
-        DXT4 : 20,
-        DXT5 : 21,
-        CRN_DXT5 : 26
-    };
-
-    var S3MPixelFormat$1 = Object.freeze(S3MPixelFormat);
-
-    //! Use DXT1 compression.
-    var kDxt1 = ( 1 << 0 );
-
-    //! Use DXT3 compression.
-    var kDxt3 = ( 1 << 1 );
-
-    //! Use DXT5 compression.
-    var kDxt5 = ( 1 << 2 );
-
-    var krgb565 = ( 1 << 5 );
-
-    function Unpack565(packed0, packed1, colour, offset) {
-        var value = packed0 | (packed1 << 8);
-
-        var red = (value >> 11) & 0x1f;
-        var green = (value >> 5) & 0x3f;
-        var blue = value & 0x1f;
-
-        colour[offset + 0] = ( red << 3 ) | ( red >> 2 );
-        colour[offset + 1] = ( green << 2 ) | ( green >> 4 );
-        colour[offset + 2] = ( blue << 3 ) | ( blue >> 2 );
-        colour[offset + 3] = 255;
-
-        return value;
-    }
-
-    function DecompressColour(rgba, block, nOffset, isDxt1) {
-        var codes = new Uint8Array(16);
-
-        var a = Unpack565(block[nOffset + 0], block[nOffset + 1], codes, 0);
-        var b = Unpack565(block[nOffset + 2], block[nOffset + 3], codes, 4);
-
-        for (var i = 0; i < 3; i++) {
-            var c = codes[i];
-            var d = codes[4 + i];
-
-            if (isDxt1 && a <= b) {
-                codes[8 + i] = ( c + d ) / 2;
-                codes[12 + i] = 0;
-            }
-            else {
-                codes[8 + i] = ( 2 * c + d ) / 3;
-                codes[12 + i] = ( c + 2 * d ) / 3;
-            }
-        }
-
-        codes[8 + 3] = 255;
-        codes[12 + 3] = ( isDxt1 && a <= b ) ? 0 : 255;
-
-        var indices = new Uint8Array(16);
-        for (var i = 0; i < 4; ++i) {
-            var packed = block[nOffset + 4 + i];
-
-            indices[4 * i + 0] = packed & 0x3;
-            indices[4 * i + 1] = ( packed >> 2 ) & 0x3;
-            indices[4 * i + 2] = ( packed >> 4 ) & 0x3;
-            indices[4 * i + 3] = ( packed >> 6 ) & 0x3;
-        }
-
-        for (var i = 0; i < 16; ++i) {
-            var offset = 4 * indices[i];
-            for (var j = 0; j < 4; ++j)
-                rgba[4 * i + j] = codes[offset + j];
-        }
-
-    }
-
-    function DecompressAlphaDxt3(rgba, block, nOffset) {
-        // unpack the alpha values pairwise
-        for (var i = 0; i < 8; ++i) {
-            // quantise down to 4 bits
-            var quant = bytes[nOffset + i];
-
-            // unpack the values
-            var lo = quant & 0x0f;
-            var hi = quant & 0xf0;
-
-            // convert back up to bytes
-            rgba[8 * i + 3] = lo | ( lo << 4 );
-            rgba[8 * i + 7] = hi | ( hi >> 4 );
-        }
-    }
-
-    function DecompressAlphaDxt5(rgba, block, nOffset) {
-        var alpha0 = block[nOffset + 0];
-        var alpha1 = block[nOffset + 1];
-
-        var codes = new Uint8Array(8);
-
-        codes[0] = alpha0;
-        codes[1] = alpha1;
-        if (alpha0 <= alpha1) {
-            // use 5-alpha codebook
-            for (var i = 1; i < 5; ++i)
-                codes[1 + i] = ( ( 5 - i ) * alpha0 + i * alpha1 ) / 5;
-            codes[6] = 0;
-            codes[7] = 255;
-        }
-        else {
-            // use 7-alpha codebook
-            for (var i = 1; i < 7; ++i)
-                codes[1 + i] = ( ( 7 - i ) * alpha0 + i * alpha1 ) / 7;
-        }
-
-        var indices = new Uint8Array(16);
-        var nOffset = nOffset + 2;
-        var nBegin = 0;
-        for (var i = 0; i < 2; ++i) {
-            // grab 3 bytes
-            var value = 0;
-            for (var j = 0; j < 3; ++j) {
-                var byte = block[nOffset++];
-                value |= ( byte << 8 * j );
-            }
-
-            // unpack 8 3-bit values from it
-            for (var j = 0; j < 8; ++j) {
-                var index = ( value >> 3 * j ) & 0x7;
-                indices[nBegin++] = index;
-            }
-        }
-
-        for (var i = 0; i < 16; ++i)
-            rgba[4 * i + 3] = codes[indices[i]];
-    }
-
-    function Decompress(rgba, block, nOffset, flags) {
-        var nOffset2 = 0;
-        if (( flags & ( kDxt3 | kDxt5 ) ) != 0)
-            nOffset2 = 8;
-
-        DecompressColour(rgba, block, nOffset + nOffset2, ( flags & kDxt1 ) != 0);
-
-        if (( flags & kDxt3 ) != 0) {
-            DecompressAlphaDxt3(rgba, block, nOffset);
-        }
-        else if (( flags & kDxt5 ) != 0) {
-            DecompressAlphaDxt5(rgba, block, nOffset);
-        }
-    }
-
-    function DecompressImage565(rgb565, width, height, blocks) {
-        var c = new Uint16Array(4);
-        var dst = rgb565;
-        var m = 0;
-        var dstI = 0;
-        var i = 0;
-        var r0 = 0, g0 = 0, b0 = 0, r1 = 0, g1 = 0, b1 = 0;
-
-        var blockWidth = width / 4;
-        var blockHeight = height / 4;
-        for (var blockY = 0; blockY < blockHeight; blockY++) {
-            for (var blockX = 0; blockX < blockWidth; blockX++) {
-                i = 4 * ((blockHeight - blockY) * blockWidth + blockX);
-                c[0] = blocks[i];
-                c[1] = blocks[i + 1];
-                r0 = c[0] & 0x1f;
-                g0 = c[0] & 0x7e0;
-                b0 = c[0] & 0xf800;
-                r1 = c[1] & 0x1f;
-                g1 = c[1] & 0x7e0;
-                b1 = c[1] & 0xf800;
-                // Interpolate between c0 and c1 to get c2 and c3.    ~
-                // Note that we approximate 1/3 as 3/8 and 2/3 as 5/8 for
-                // speed.  This also appears to be what the hardware DXT
-                // decoder in many GPUs does :)
-                c[2] = ((5 * r0 + 3 * r1) >> 3)
-                    | (((5 * g0 + 3 * g1) >> 3) & 0x7e0)
-                    | (((5 * b0 + 3 * b1) >> 3) & 0xf800);
-                c[3] = ((5 * r1 + 3 * r0) >> 3)
-                    | (((5 * g1 + 3 * g0) >> 3) & 0x7e0)
-                    | (((5 * b1 + 3 * b0) >> 3) & 0xf800);
-                m = blocks[i + 2];
-                dstI = (blockY * 4) * width + blockX * 4;
-                dst[dstI] = c[m & 0x3];
-                dst[dstI + 1] = c[(m >> 2) & 0x3];
-                dst[dstI + 2] = c[(m >> 4) & 0x3];
-                dst[dstI + 3] = c[(m >> 6) & 0x3];
-                dstI += width;
-                dst[dstI] = c[(m >> 8) & 0x3];
-                dst[dstI + 1] = c[(m >> 10) & 0x3];
-                dst[dstI + 2] = c[(m >> 12) & 0x3];
-                dst[dstI + 3] = c[(m >> 14)];
-                m = blocks[i + 3];
-                dstI += width;
-                dst[dstI] = c[m & 0x3];
-                dst[dstI + 1] = c[(m >> 2) & 0x3];
-                dst[dstI + 2] = c[(m >> 4) & 0x3];
-                dst[dstI + 3] = c[(m >> 6) & 0x3];
-                dstI += width;
-                dst[dstI] = c[(m >> 8) & 0x3];
-                dst[dstI + 1] = c[(m >> 10) & 0x3];
-                dst[dstI + 2] = c[(m >> 12) & 0x3];
-                dst[dstI + 3] = c[(m >> 14)];
-            }
-        }
-        return dst;
-    }
-
-    /*! @brief Decompresses an image in memory.
-
-     @param rgba		Storage for the decompressed pixels.
-     @param width	The width of the source image.
-     @param height	The height of the source image.
-     @param blocks	The compressed DXT blocks.
-     @param flags	Compression flags.
-
-     The decompressed pixels will be written as a contiguous array of width*height
-     16 rgba values, with each component as 1 byte each. In memory this is:
-
-     { r1, g1, b1, a1, .... , rn, gn, bn, an } for n = width*height
-
-     The flags parameter should specify either kDxt1, kDxt3 or kDxt5 compression,
-     however, DXT1 will be used by default if none is specified. All other flags
-     are ignored.
-
-     Internally this function calls squish::Decompress for each block.
-     */
-    function DecompressImage(rgba, width, height, blocks, flags) {
-        var bytesPerBlock = ( ( flags & kDxt1 ) != 0 ) ? 8 : 16;
-
-        var nOffset = 0;
-        for (var y = 0; y < height; y += 4) {
-            for (var x = 0; x < width; x += 4) {
-                var targetRgba = new Uint8Array(4 * 16);
-                Decompress(targetRgba, blocks, nOffset, flags);
-
-                var nOffsetTarget = 0;
-                for (var py = 0; py < 4; ++py) {
-                    for (var px = 0; px < 4; ++px) {
-                        var sx = x + px;
-                        var sy = y + py;
-                        if (sx < width && sy < height) {
-                            // flip Y
-                            var nBegin = 4 * ( width * (height - sy) + sx );
-
-                            for (var i = 0; i < 4; ++i) {
-                                rgba[nBegin++] = targetRgba[nOffsetTarget++];
-                            }
-                        }
-                        else {
-                            nOffsetTarget += 4;
-                        }
-                    }
-                }
-
-                // advance
-                nOffset += bytesPerBlock;
-            }
-        }
-    }
-
-    function DXTTextureDecode(options){
-    }
-
-    DXTTextureDecode.decode = function(out, width, height, block, format){
-        if (out == null || block == null || height == 0 || width == 0) {
-            return;
-        }
-        var flags = 0;
-        //有alpha通道,转为RGBA,否则转为rgb565
-        if (format > S3MPixelFormat$1.BGR || format === S3MPixelFormat$1.LUMINANCE_ALPHA) {
-            flags = kDxt5;
-        }
-        else {
-            flags = kDxt1 | krgb565;
-        }
-        if ((flags & kDxt1) && (flags & krgb565)) {
-            DecompressImage565(out, width, height, block);
-        }
-        else {
-            DecompressImage(out, width, height, block, flags);
-        }
-    };
-
-    var VertexCompressOptions = {
-        SVC_Vertex : 1,	// 顶点带压缩
-        SVC_Normal : 2,	// 法线带压缩
-        SVC_VertexColor : 4, // 顶点颜色带压缩
-        SVC_SecondColor	: 8, // 顶点颜色带压缩
-        SVC_TexutreCoord : 16, // 纹理坐标带压缩
-        SVC_TexutreCoordIsW	: 32 // 纹理坐标存储的是W位信息
-    };
-
-    var VertexCompressOption = Object.freeze(VertexCompressOptions);
-
-    var DATAFILETYPE = {
-        OSGBFile : 0,
-        OSGBCacheFile : 1,
-        ClampGroundPolygon : 2,
-        ClampObjectPolygon : 3,
-        ClampGroundLine : 4,
-        ClampObjectLine : 5,
-        IconPoint : 6,
-        Text : 7,
-        PointCloudFile : 8,
-        // 动态拉伸面
-        ExtendRegion3D : 9,
-        ExtendClampPolygonCache : 10,
-
-        PolylineEffect : 11,
-        RegionEffect : 12,
-        ClampGroundAndObjectLineCache : 13,
-        ClampGroundRealtimeRasterCache : 14
-    };
-
-    var DATAFILETYPE$1 = Object.freeze(DATAFILETYPE);
-
-    function S3MVertexPackage() {
-    }
-
-    function calcBoundingSphereForInstance(vertexPackage){
-        var bSphere = new BoundingSphere.BoundingSphere();
-        var bsValues = vertexPackage.instanceBounds;
-        if(!when.defined(bsValues)) {
-            return bSphere;
-        }
-        var pntLU = new Cartesian2.Cartesian3(bsValues[0],bsValues[1],bsValues[2]);
-        var pntRD = new Cartesian2.Cartesian3(bsValues[3],bsValues[4],bsValues[5]);
-        var center = Cartesian2.Cartesian3.lerp(pntLU,pntRD,0.5,new Cartesian2.Cartesian3());
-        var radius = Cartesian2.Cartesian3.distance(center,pntLU);
-        bSphere.center = center;
-        bSphere.radius = radius;
-        return bSphere;
-    }
-
-    function calcBoundingSphereForNormal(vertexPackage){
-        var bSphere = new BoundingSphere.BoundingSphere();
-        var v1 = new Cartesian2.Cartesian3();
-        var positionAttr = vertexPackage.vertexAttributes[0];
-        var dim = positionAttr.componentsPerAttribute;
-        var isCompress = when.defined(vertexPackage.nCompressOptions) && (vertexPackage.nCompressOptions & VertexCompressOption.SVC_Vertex) === VertexCompressOption.SVC_Vertex;
-        var normConstant = 1.0;
-        var minVertex;
-        var vertexTypedArray;
-        if(isCompress){
-            normConstant = vertexPackage.vertCompressConstant;
-            minVertex = new Cartesian2.Cartesian3(vertexPackage.minVerticesValue.x, vertexPackage.minVerticesValue.y, vertexPackage.minVerticesValue.z);
-            vertexTypedArray = new Uint16Array(positionAttr.typedArray.buffer, positionAttr.typedArray.byteOffset, positionAttr.typedArray.byteLength / 2);
-        }
-        else {
-            vertexTypedArray = new Float32Array(positionAttr.typedArray.buffer, positionAttr.typedArray.byteOffset, positionAttr.typedArray.byteLength / 4);
-        }
-
-        var vertexArray = [];
-        for(var t = 0; t < vertexPackage.verticesCount; t++){
-            Cartesian2.Cartesian3.fromArray(vertexTypedArray, dim * t, v1);
-            if(isCompress){
-                v1 = Cartesian2.Cartesian3.multiplyByScalar(v1, normConstant, v1);
-                v1 = Cartesian2.Cartesian3.add(v1, minVertex, v1);
-            }
-            vertexArray.push(Cartesian2.Cartesian3.clone(v1));
-        }
-        BoundingSphere.BoundingSphere.fromPoints(vertexArray, bSphere);
-        vertexArray.length = 0;
-        return bSphere;
-    }
-
-    function calcBoundingSphereForShadowVolume(vertexPackage){
-        var bSphere = new BoundingSphere.BoundingSphere();
-        var v1 = new Cartesian2.Cartesian3();
-        var isCompress = when.defined(vertexPackage.nCompressOptions) && (vertexPackage.nCompressOptions & VertexCompressOption.SVC_Vertex) === VertexCompressOption.SVC_Vertex;
-        var positionAttr = vertexPackage.vertexAttributes[0];
-        var dim = positionAttr.componentsPerAttribute;
-        var vertexTypedArray;
-        var normConstant = 1.0;
-        var minVertex;
-        if(isCompress){
-            normConstant = vertexPackage.vertCompressConstant;
-            minVertex = new Cartesian2.Cartesian3(vertexPackage.minVerticesValue.x, vertexPackage.minVerticesValue.y, vertexPackage.minVerticesValue.z);
-            vertexTypedArray = new Uint16Array(positionAttr.typedArray.buffer, positionAttr.typedArray.byteOffset, positionAttr.typedArray.byteLength / 2);
-        }
-        else {
-            vertexTypedArray = new Float32Array(positionAttr.typedArray.buffer, positionAttr.typedArray.byteOffset, positionAttr.typedArray.byteLength / 4);
-        }
-
-        var vertexArray = [];
-        for(var t = 0; t < vertexPackage.verticesCount; t++){
-            Cartesian2.Cartesian3.fromArray(vertexTypedArray, dim * t, v1);
-            if(isCompress){
-                v1 = Cartesian2.Cartesian3.multiplyByScalar(v1, normConstant, v1);
-                v1 = Cartesian2.Cartesian3.add(v1, minVertex, v1);
-            }
-            vertexArray.push(Cartesian2.Cartesian3.clone(v1));
-        }
-        BoundingSphere.BoundingSphere.fromPoints(vertexArray, bSphere);
-        vertexArray.length = 0;
-        return bSphere;
-    }
-
-    function calcBoundingRectangleForShadowVolume(vertexPackage){
-        var isCompress = when.defined(vertexPackage.nCompressOptions) && (vertexPackage.nCompressOptions & VertexCompressOption.SVC_Vertex) === VertexCompressOption.SVC_Vertex;
-        var boundingRectangle = new BoundingRectangle.BoundingRectangle();
-        var positionAttr = vertexPackage.vertexAttributes[0];
-        var dim = positionAttr.componentsPerAttribute;
-        var vertexTypedArray;
-        var normConstant = 1.0;
-        var minVertex;
-        if(isCompress){
-            normConstant = vertexPackage.vertCompressConstant;
-            minVertex = new Cartesian2.Cartesian3(vertexPackage.minVerticesValue.x, vertexPackage.minVerticesValue.y, vertexPackage.minVerticesValue.z);
-            vertexTypedArray = new Uint16Array(positionAttr.typedArray.buffer, positionAttr.typedArray.byteOffset, positionAttr.typedArray.byteLength / 2);
-        }
-        else {
-            vertexTypedArray = new Float32Array(positionAttr.typedArray.buffer, positionAttr.typedArray.byteOffset, positionAttr.typedArray.byteLength / 4);
-        }
-        var vertexArray = [];
-        for(var t = 0; t < vertexPackage.verticesCount; t++){
-            var x = vertexTypedArray[dim * t];
-            var y = vertexTypedArray[dim * t + 1];
-            if(isCompress){
-                x = normConstant * x + minVertex.x;
-                y = normConstant * y + minVertex.y;
-            }
-            vertexArray.push(new Cartesian2.Cartesian2(x, y));
-        }
-        BoundingRectangle.BoundingRectangle.fromPoints(vertexArray, boundingRectangle);
-        vertexArray.length = 0;
-        return boundingRectangle;
-    }
-
-    function calcBoundingSphereForClampGroundAndObjectLineCache(vertexPackage){
-        var isCompress = when.defined(vertexPackage.nCompressOptions) && (vertexPackage.nCompressOptions & VertexCompressOption.SVC_Vertex) === VertexCompressOption.SVC_Vertex;
-        var bSphere = new BoundingSphere.BoundingSphere();
-        var v1 = new Cartesian2.Cartesian3();
-        var v2 = new Cartesian2.Cartesian3();
-        var positionAttr = vertexPackage.vertexAttributes[0];
-        var posDim = positionAttr.componentsPerAttribute;
-        var posAttrIndex = vertexPackage.attrLocation['aPosition'];
-        var pos = vertexPackage.vertexAttributes[posAttrIndex];
-
-        var posLowIndex = vertexPackage.attrLocation['aTexCoord5'];
-        var posLowAttr = vertexPackage.vertexAttributes[posLowIndex];
-        var posLowDim = posLowAttr.componentsPerAttribute;
-
-        var posHighTypedArray, posLowTypedArray;
-        if(isCompress){
-            posDim = 3;
-            posLowDim = 3;
-            posHighTypedArray = getPosArrayForCompress(vertexPackage, pos);
-            posLowTypedArray = getPosArrayForCompressTexCoord(vertexPackage, posLowAttr, 5);
-        }
-        else {
-            posHighTypedArray = new Float32Array(positionAttr.typedArray.buffer, positionAttr.typedArray.byteOffset, positionAttr.typedArray.byteLength / 4);
-            posLowTypedArray = new Float32Array(posLowAttr.typedArray.buffer, posLowAttr.typedArray.byteOffset, posLowAttr.typedArray.byteLength / 4);
-        }
-
-        var vertexArray = [];
-        for(var t = 0; t < vertexPackage.verticesCount; t++){
-            Cartesian2.Cartesian3.fromArray(posHighTypedArray, posDim * t, v1);
-            Cartesian2.Cartesian3.fromArray(posLowTypedArray, posLowDim * t, v2);
-            Cartesian2.Cartesian3.add(v1, v2, v1);
-            vertexArray.push(Cartesian2.Cartesian3.clone(v1));
-        }
-        BoundingSphere.BoundingSphere.fromPoints(vertexArray, bSphere);
-        vertexArray.length = 0;
-        return bSphere;
-    }
-
-    S3MVertexPackage.calcBoundingSphereInWorker = function(fileType, vertexPackage){
-        var bSphere;
-        if(vertexPackage.instanceIndex > -1){
-            bSphere = calcBoundingSphereForInstance(vertexPackage);
-        }
-        else if(when.defined(vertexPackage.clampRegionEdge)){
-            bSphere = calcBoundingSphereForClampGroundAndObjectLineCache(vertexPackage);
-        }
-        else if(fileType >= DATAFILETYPE$1.ClampGroundPolygon && fileType <= DATAFILETYPE$1.ClampObjectLine){
-            bSphere = calcBoundingSphereForShadowVolume(vertexPackage);
-        }
-        else if(fileType == DATAFILETYPE$1.ClampGroundAndObjectLineCache){
-            bSphere = calcBoundingSphereForClampGroundAndObjectLineCache(vertexPackage);
-        }
-        else {
-            bSphere = calcBoundingSphereForNormal(vertexPackage);
-        }
-        return bSphere;
-    };
-
-    S3MVertexPackage.calcBoundingSphere = function(layer, vertexPackage, modelMatrix){
-        var fileType = layer._fileType;
-        var bSphere;
-        if(vertexPackage.instanceIndex > -1){
-            bSphere = calcBoundingSphereForInstance(vertexPackage);
-        }
-        else if(when.defined(vertexPackage.clampRegionEdge)){
-            bSphere = calcBoundingSphereForClampGroundAndObjectLineCache(vertexPackage);
-        }
-        else if(fileType >= DATAFILETYPE$1.ClampGroundPolygon && fileType <= DATAFILETYPE$1.ClampObjectLine){
-            bSphere = calcBoundingSphereForShadowVolume(vertexPackage);
-        }
-        else if(fileType == DATAFILETYPE$1.ClampGroundAndObjectLineCache){
-            bSphere = calcBoundingSphereForClampGroundAndObjectLineCache(vertexPackage);
-        }
-        else {
-            bSphere = calcBoundingSphereForNormal(vertexPackage);
-        }
-        BoundingSphere.BoundingSphere.transform(bSphere, modelMatrix, bSphere);
-        return bSphere;
-    };
-
-    S3MVertexPackage.calcBoundingRectangle = function(layer, vertexPackage){
-        var fileType = layer._fileType;
-        var boundingRectangle;
-        if(fileType === DATAFILETYPE$1.ClampGroundPolygon){
-            boundingRectangle = calcBoundingRectangleForShadowVolume(vertexPackage);
-        }
-        return boundingRectangle;
-    };
-
-    function convertToCesiumPrimitiveType(s3mType){
-        var primitiveType = PrimitiveType.PrimitiveType.TRIANGLES;
-        switch(s3mType){
-            case 1 : primitiveType = PrimitiveType.PrimitiveType.POINTS;break;
-            case 2 : primitiveType = PrimitiveType.PrimitiveType.LINES;break;
-            case 3 : primitiveType = PrimitiveType.PrimitiveType.LINE_STRIP;break;
-            case 4 : primitiveType = PrimitiveType.PrimitiveType.TRIANGLES;break;
-        }
-        return primitiveType;
-    }
-
-    function createEdgeIndex(nPointCount, nSubCount, subPointCounts, nVertexCount){
-        var indexPackage = {};
-        indexPackage.indicesCount = 6 * (nPointCount - nSubCount);
-        indexPackage.indexType = nVertexCount > 65535 ? 1 : 0;
-        indexPackage.primitiveType = PrimitiveType.PrimitiveType.TRIANGLES;
-        var indicesArray;
-        if( indexPackage.indexType === 0){
-            indicesArray = new Uint16Array(indexPackage.indicesCount);
-        }
-        else {
-            indicesArray = new Uint32Array(indexPackage.indicesCount);
-        }
-
-        var nCount = 0;
-        for (var nSub = 0; nSub < nSubCount; nSub++){
-            for (var nData = 0; nData < subPointCounts[nSub] - 1; nData++){
-                indicesArray[6 * (nCount - nSub  + nData)]     = 4 * (nCount - nSub + nData);
-                indicesArray[6 * (nCount - nSub  + nData) + 1] = 4 * (nCount - nSub + nData) + 2;
-                indicesArray[6 * (nCount - nSub  + nData) + 2] = 4 * (nCount - nSub + nData) + 1;
-                indicesArray[6 * (nCount - nSub  + nData) + 3] = 4 * (nCount - nSub + nData) + 1;
-                indicesArray[6 * (nCount - nSub  + nData) + 4] = 4 * (nCount - nSub + nData) + 2;
-                indicesArray[6 * (nCount - nSub  + nData) + 5] = 4 * (nCount - nSub + nData) + 3;
-            }
-            // 点计数增加
-            nCount += subPointCounts[nSub];
-        }
-        indexPackage.indicesTypedArray = indicesArray;
-        return indexPackage;
-    }
-
-    function getPosArrayForCompress(vertexPackage, posAttr){
-        var nVertexDim = posAttr.componentsPerAttribute;
-        var normConstant = vertexPackage.vertCompressConstant;
-        var minVertex = new Cartesian2.Cartesian3(vertexPackage.minVerticesValue.x, vertexPackage.minVerticesValue.y, vertexPackage.minVerticesValue.z);
-        var compressVertexArray = new Uint16Array(posAttr.typedArray.buffer, posAttr.typedArray.byteOffset, posAttr.typedArray.byteLength / 2);
-        var uncompressVertexArray = new Float32Array(vertexPackage.verticesCount * 3);
-        var x, y, z;
-        for(var t = 0; t < vertexPackage.verticesCount; t++){
-            x = compressVertexArray[nVertexDim * t] * normConstant + minVertex.x;
-            y = compressVertexArray[nVertexDim * t + 1] * normConstant + minVertex.y;
-            z = compressVertexArray[nVertexDim * t + 2] * normConstant + minVertex.z;
-            uncompressVertexArray[3 * t] = x;
-            uncompressVertexArray[3 * t + 1] = y;
-            uncompressVertexArray[3 * t + 2] = z;
-        }
-        return uncompressVertexArray;
-    }
-
-    function getPosArrayForCompressTexCoord(vertexPackage, texAttr, texIdx){
-        var nVertexDim = texAttr.componentsPerAttribute;
-        var texCoordCompressConstant = vertexPackage.texCoordCompressConstant[texIdx];
-        var minVertex = new BoundingSphere.Cartesian4(vertexPackage.minTexCoordValue[texIdx].x, vertexPackage.minTexCoordValue[texIdx].y, vertexPackage.minTexCoordValue[texIdx].z, vertexPackage.minTexCoordValue[texIdx].w);
-        var compressVertexArray = new Uint16Array(texAttr.typedArray.buffer, texAttr.typedArray.byteOffset, texAttr.typedArray.byteLength / 2);
-        var uncompressVertexArray = new Float32Array(vertexPackage.verticesCount * 3);
-        var x, y, z;
-        for(var t = 0; t < vertexPackage.verticesCount; t++){
-            x = compressVertexArray[nVertexDim * t] * texCoordCompressConstant + minVertex.x;
-            y = compressVertexArray[nVertexDim * t + 1] * texCoordCompressConstant + minVertex.y;
-            z = compressVertexArray[nVertexDim * t + 2] * texCoordCompressConstant + minVertex.z;
-            uncompressVertexArray[3 * t] = x;
-            uncompressVertexArray[3 * t + 1] = y;
-            uncompressVertexArray[3 * t + 2] = z;
-        }
-        return uncompressVertexArray;
-    }
-
-    function getEdgeIndexPackage(arrIndexPackage){
-        var oldEdgeIndexPackages = [];
-        var length = arrIndexPackage.length;
-        for(var i = 0; i < length; i++){
-            var primitveTpe = convertToCesiumPrimitiveType(arrIndexPackage[i].primitiveType);
-            if(primitveTpe === PrimitiveType.PrimitiveType.LINES || primitveTpe === PrimitiveType.PrimitiveType.LINE_STRIP){
-                oldEdgeIndexPackages.push(arrIndexPackage[i]);
-            }
-        }
-        return oldEdgeIndexPackages;
-    }
-
-    function getEdgeCount(edgeIndexPackages){
-        var nSubCount = 0;
-        var length = edgeIndexPackages.length;
-        for (var k = 0; k < length; k++){
-            var indexPackage = edgeIndexPackages[k];
-            var primitveTpe = convertToCesiumPrimitiveType(indexPackage.primitiveType);
-            if(primitveTpe == PrimitiveType.PrimitiveType.LINES){
-                nSubCount += indexPackage.indicesCount / 2;
-            }
-            else if(primitveTpe == PrimitiveType.PrimitiveType.LINE_STRIP){
-                nSubCount++;
-            }
-        }
-        return nSubCount;
-    }
-
-    function getEdgePointCount(edgeIndexPackages){
-        var nPointCount = 0;
-        var length = edgeIndexPackages.length;
-        for (var k = 0; k < length; k++){
-            var indexPackage = edgeIndexPackages[k];
-            nPointCount += indexPackage.indicesCount;
-        }
-        return nPointCount;
-    }
-
-    function getEdgePointArray(posArray, nVertexDim, edgeIndexPackages){
-        var arrEdgePoint = [];
-        var i;
-        var length = edgeIndexPackages.length;
-        for(var k = 0; k < length; k++){
-            var indexPackage = edgeIndexPackages[k];
-            var indicesArray;
-            if(indexPackage.indexType === 0){
-                indicesArray = new Uint16Array(indexPackage.indicesTypedArray.buffer, indexPackage.indicesTypedArray.byteOffset,
-                    indexPackage.indicesTypedArray.byteLength / 2);
-            }
-            else {
-                indicesArray = new Uint32Array(indexPackage.indicesTypedArray.buffer, indexPackage.indicesTypedArray.byteOffset,
-                    indexPackage.indicesTypedArray.byteLength / 4);
-            }
-            var primitiveType = convertToCesiumPrimitiveType(indexPackage.primitiveType);
-            if(primitiveType == PrimitiveType.PrimitiveType.LINES){
-                for(i = 0; i < indexPackage.indicesCount; i += 2) {
-                    var segment = [];
-                    var vecPoint3DStart = new Cartesian2.Cartesian3();
-                    vecPoint3DStart.x = posArray[indicesArray[i] * nVertexDim];
-                    vecPoint3DStart.y = posArray[indicesArray[i] * nVertexDim + 1];
-                    vecPoint3DStart.z = posArray[indicesArray[i] * nVertexDim + 2];
-                    segment.push(vecPoint3DStart);
-                    var vecPoint3DEnd = new Cartesian2.Cartesian3();
-                    vecPoint3DEnd.x = posArray[indicesArray[i + 1] * nVertexDim];
-                    vecPoint3DEnd.y = posArray[indicesArray[i + 1] * nVertexDim + 1];
-                    vecPoint3DEnd.z = posArray[indicesArray[i + 1] * nVertexDim + 2];
-                    segment.push(vecPoint3DEnd);
-                    arrEdgePoint.push(segment);
-                }
-            }
-            else if(primitiveType == PrimitiveType.PrimitiveType.LINE_STRIP) {
-                var segment = [];
-                for(i = 0; i < indexPackage.indicesCount; i++) {
-                    var vecPoint3D = new Cartesian2.Cartesian3();
-                    vecPoint3D.x = posArray[indicesArray[ i ] * nVertexDim];
-                    vecPoint3D.y = posArray[indicesArray[ i ] * nVertexDim + 1];
-                    vecPoint3D.z = posArray[indicesArray[ i ] * nVertexDim + 2];
-                    segment.push(vecPoint3D);
-                }
-                arrEdgePoint.push(segment);
-            }
-        }
-        return arrEdgePoint;
-    }
-
-    S3MVertexPackage.createEdge = function(vertexPackage, arrIndexPackage){
-        if(arrIndexPackage.length < 1){
-            return;
-        }
-        var oldEdgeIndexPackages = getEdgeIndexPackage(arrIndexPackage);
-        if(oldEdgeIndexPackages.length == 0){
-            return;
-        }
-
-        var nSubCount = getEdgeCount(oldEdgeIndexPackages);
-
-        var posAttrIndex = vertexPackage.attrLocation['aPosition'];
-        var pos = vertexPackage.vertexAttributes[posAttrIndex];
-        var isCompress = when.defined(vertexPackage.nCompressOptions) && (vertexPackage.nCompressOptions & VertexCompressOption.SVC_Vertex) === VertexCompressOption.SVC_Vertex;
-        var nVertexDim = pos.componentsPerAttribute;
-        var posArray;
-        if(isCompress){
-            nVertexDim = 3;
-            posArray = getPosArrayForCompress(vertexPackage, pos);
-        }
-        else {
-            posArray = new Float32Array(pos.typedArray.buffer, pos.typedArray.byteOffset, pos.typedArray.byteLength / 4);
-        }
-
-        var nPointCount = getEdgePointCount(oldEdgeIndexPackages);
-        var arrPoints = getEdgePointArray(posArray, nVertexDim, oldEdgeIndexPackages);
-
-        var vertexCount = 4 * nPointCount - 4 * nSubCount;
-        var edgePosArray = new Float32Array(vertexCount * 3);
-        var edgeNormalArray = new Float32Array(vertexCount * 3);
-        var edgeTex0Array = new Float32Array(vertexCount * 3);
-        var edgeTex1Array = new Int8Array(vertexCount * 2);
-
-        var nCount = 0;
-        for (var nSub = 0; nSub < nSubCount; nSub++){
-            var nSubSize = arrPoints[nSub].length;
-            for (var nData = 0; nData < nSubSize; nData++){
-                var nTempPointOffset = 4 * nCount - 4 * nSub;
-                var nTemp = nTempPointOffset * 3 + 12 * nData;
-                var vecPoint3D = arrPoints[nSub][nData];
-                if(nData != 0){
-                    edgePosArray[nTemp - 6] = vecPoint3D.x;
-                    edgePosArray[nTemp - 5] = vecPoint3D.y;
-                    edgePosArray[nTemp - 4] = vecPoint3D.z;
-
-                    edgePosArray[nTemp - 3] = vecPoint3D.x;
-                    edgePosArray[nTemp - 2] = vecPoint3D.y;
-                    edgePosArray[nTemp - 1] = vecPoint3D.z;
-                }
-                if(nData != nSubSize - 1){
-                    edgePosArray[nTemp] =	  vecPoint3D.x;
-                    edgePosArray[nTemp + 1] = vecPoint3D.y;
-                    edgePosArray[nTemp + 2] = vecPoint3D.z;
-
-                    edgePosArray[nTemp + 3] = vecPoint3D.x;
-                    edgePosArray[nTemp + 4] = vecPoint3D.y;
-                    edgePosArray[nTemp + 5] = vecPoint3D.z;
-                }
-
-                var vVertexNext = vecPoint3D;
-                if(nData + 1 < nSubSize){
-                    vVertexNext = arrPoints[nSub][nData + 1];
-                }
-                if(nData != 0){
-                    edgeTex0Array[nTemp - 6] = vVertexNext.x;
-                    edgeTex0Array[nTemp - 5] = vVertexNext.y;
-                    edgeTex0Array[nTemp - 4] = vVertexNext.z;
-
-                    edgeTex0Array[nTemp - 3] = vVertexNext.x;
-                    edgeTex0Array[nTemp - 2] = vVertexNext.y;
-                    edgeTex0Array[nTemp - 1] = vVertexNext.z;
-                }
-                if(nData != nSubSize - 1){
-                    edgeTex0Array[nTemp] =	   vVertexNext.x;
-                    edgeTex0Array[nTemp + 1] = vVertexNext.y;
-                    edgeTex0Array[nTemp + 2] = vVertexNext.z;
-
-                    edgeTex0Array[nTemp + 3] = vVertexNext.x;
-                    edgeTex0Array[nTemp + 4] = vVertexNext.y;
-                    edgeTex0Array[nTemp + 5] = vVertexNext.z;
-                }
-
-                var vVertexPrev = vecPoint3D;
-                if(nData >= 1){
-                    vVertexPrev = arrPoints[nSub][nData-1];
-                }
-                if(nData != 0){
-                    edgeNormalArray[nTemp - 6] = vVertexPrev.x;
-                    edgeNormalArray[nTemp - 5] = vVertexPrev.y;
-                    edgeNormalArray[nTemp - 4] = vVertexPrev.z;
-
-                    edgeNormalArray[nTemp - 3] = vVertexPrev.x;
-                    edgeNormalArray[nTemp - 2] = vVertexPrev.y;
-                    edgeNormalArray[nTemp - 1] = vVertexPrev.z;
-                }
-                if(nData != nSubSize - 1){
-                    edgeNormalArray[nTemp] =	 vVertexPrev.x;
-                    edgeNormalArray[nTemp + 1] = vVertexPrev.y;
-                    edgeNormalArray[nTemp + 2] = vVertexPrev.z;
-
-                    edgeNormalArray[nTemp + 3] = vVertexPrev.x;
-                    edgeNormalArray[nTemp + 4] = vVertexPrev.y;
-                    edgeNormalArray[nTemp + 5] = vVertexPrev.z;
-                }
-
-                nTemp = nTempPointOffset * 2 + 8 * nData;
-                if(nData != 0){
-                    //expandAndWidth
-                    edgeTex1Array[nTemp - 4] = -1;
-                    edgeTex1Array[nTemp - 3] = -1;
-                    edgeTex1Array[nTemp - 2] = 1;
-                    edgeTex1Array[nTemp - 1] = -1;
-                }
-                if(nData != nSubSize - 1){
-                    //expandAndWidth
-                    edgeTex1Array[nTemp] = -1;
-                    edgeTex1Array[nTemp + 1] = 1;
-                    edgeTex1Array[nTemp + 2] = 1;
-                    edgeTex1Array[nTemp + 3] = 1;
-                }
-            }
-            nCount += arrPoints[nSub].length;
-        }
-
-        var edgeVertexPackage = {};
-        edgeVertexPackage.vertexAttributes = [];
-        edgeVertexPackage.attrLocation = {};
-        var edgeAttributes = edgeVertexPackage.vertexAttributes;
-        var edgeAttrLocation = edgeVertexPackage.attrLocation;
-        edgeVertexPackage.instanceCount = 0;
-        edgeVertexPackage.instanceMode = 0;
-
-        edgeAttrLocation['aPosition'] = 0;
-        edgeAttributes.push({
-            index: edgeAttrLocation['aPosition'],
-            typedArray: edgePosArray,
-            componentsPerAttribute: 3,
-            componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-            offsetInBytes: 0,
-            strideInBytes: 3 * Float32Array.BYTES_PER_ELEMENT,
-            normalize: false
-        });
-
-        edgeAttrLocation['aNormal'] = 1;
-        edgeAttributes.push({
-            index: edgeAttrLocation['aNormal'],
-            typedArray: edgeNormalArray,
-            componentsPerAttribute: 3,
-            componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-            offsetInBytes: 0,
-            strideInBytes: 3 * Float32Array.BYTES_PER_ELEMENT,
-            normalize: false
-        });
-
-        edgeAttrLocation['aTexCoord0'] = 2;
-        edgeAttributes.push({
-            index: edgeAttrLocation['aTexCoord0'],
-            typedArray: edgeTex0Array,
-            componentsPerAttribute: 3,
-            componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-            offsetInBytes: 0,
-            strideInBytes: 3 * Float32Array.BYTES_PER_ELEMENT,
-            normalize: false
-        });
-
-        edgeAttrLocation['aTexCoord1'] = 3;
-        edgeAttributes.push({
-            index: edgeAttrLocation['aTexCoord1'],
-            typedArray: edgeTex1Array,
-            componentsPerAttribute: 2,
-            componentDatatype: ComponentDatatype.ComponentDatatype.BYTE,
-            offsetInBytes: 0,
-            strideInBytes: 2 * Int8Array.BYTES_PER_ELEMENT,
-            normalize: false
-        });
-
-        var arrPolyCount = [];
-        for(var i = 0; i < arrPoints.length; i++) {
-            arrPolyCount.push(arrPoints[i].length);
-        }
-        var edgeIndexPackage = createEdgeIndex(nPointCount, nSubCount, arrPolyCount, vertexCount);
-        return {
-            vertexPackage: edgeVertexPackage,
-            indexPackage: edgeIndexPackage
-        }
-    };
-
-    /**
-     * S3M纹理压缩类型
-     * @export S3MCompressType
-     */
-    var S3MCompressType = {
-        /**
-         * 非压缩
-         */
-        encNONE : 0,
-        /**
-         * DXT压缩
-         */
-        enrS3TCDXTN : 14,
-        /**
-         * PVR压缩-IOS设备
-         */
-        enrPVRTPF_PVRTC2 : 19,
-        /**
-         * PVR压缩-IOS设备
-         */
-        enrPVRTPF_PVRTC : 20,
-        /**
-         * PVR压缩-IOS设备
-         */
-        enrPVRTPF_PVRTC_4bpp : 21,
-        /**
-         * ETC压缩-安卓设备
-         */
-        enrPVRTPF_ETC1 : 22
-    };
-
-    var S3MCompressType$1 = Object.freeze(S3MCompressType);
-
-    exports.DXTTextureDecode = DXTTextureDecode;
-    exports.S3MCompressType = S3MCompressType$1;
-    exports.S3MPixelFormat = S3MPixelFormat$1;
-    exports.S3MVertexPackage = S3MVertexPackage;
-    exports.VertexCompressOption = VertexCompressOption;
-    exports.getStringFromTypedArray = getStringFromTypedArray;
-
-});
diff --git a/libs/supermap/Workers/S3MTilesParser.js b/libs/supermap/Workers/S3MTilesParser.js
deleted file mode 100644
index 96a6f33..0000000
--- a/libs/supermap/Workers/S3MTilesParser.js
+++ /dev/null
@@ -1,656 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './createTaskProcessorWorker', './BoundingRectangle-5220b474', './Color-69f1845f', './pako_inflate-8ea163f9', './S3MCompressType-76237e25'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, PrimitiveType, FeatureDetection, createTaskProcessorWorker, BoundingRectangle, Color, pako_inflate, S3MCompressType) { 'use strict';
-
-    function Bound3D(left, bottom, right, top, minHeight, maxHeight) {
-        this.left = left;
-        this.bottom = bottom;
-        this.right = right;
-        this.top = top;
-        this.minHeight = minHeight;
-        this.maxHeight = maxHeight;
-        this.width = right - left;
-        this.length = top - bottom;
-        this.height = maxHeight - minHeight;
-
-    }
-    function parseGeoPackage(geoPackage, typedArray, view, bytesOffset, needCreateEdge, transferableObjects) {
-        var geoName = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var byteLength = 0;
-        var vertexPackage = {};
-        var attributes = vertexPackage.vertexAttributes = [];
-        var attrLocation = vertexPackage.attrLocation = {};
-        vertexPackage.instanceCount = 0;
-        vertexPackage.instanceMode = 0;
-        var index = 0;
-        var nVertexOptions = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var vertexDimension = view.getUint16(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var normalDimension = vertexDimension;
-        if (vertexDimension > 4) {
-            normalDimension = vertexDimension >> 8;
-            vertexDimension = vertexDimension & 0x0f;
-        }
-        var verticesCount = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        if (verticesCount > 0) {
-            var vertexStride = view.getUint16(bytesOffset, true);
-            vertexStride = vertexDimension * Float32Array.BYTES_PER_ELEMENT;
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            byteLength = verticesCount * vertexStride;
-            attrLocation['aPosition'] = index;
-            attributes.push({
-                index: attrLocation['aPosition'],
-                typedArray: typedArray.subarray(bytesOffset, bytesOffset + byteLength),
-                componentsPerAttribute: vertexDimension,
-                componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                offsetInBytes: 0,
-                strideInBytes: vertexStride,
-                normalize: false
-            });
-            index++;
-            bytesOffset += byteLength;
-        }
-
-        var normalCount = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        if (normalCount > 0) {
-            var normalStride = view.getUint16(bytesOffset, true);
-            normalStride = normalDimension * Float32Array.BYTES_PER_ELEMENT;
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            byteLength = normalCount * normalStride;
-            if(!geoPackage.ignoreNormal){
-                attrLocation['aNormal'] = index;
-                attributes.push({
-                    index: attrLocation['aNormal'],
-                    typedArray: typedArray.subarray(bytesOffset, bytesOffset + byteLength),
-                    componentsPerAttribute: normalDimension,
-                    componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                    offsetInBytes: 0,
-                    strideInBytes: normalStride,
-                    normalize: false
-                });
-                index++;
-            }
-            bytesOffset += byteLength;
-        }
-
-        var vertexColorCount = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        if (vertexColorCount > 0) {
-            var vertexColor = new Uint8Array(4 * vertexColorCount);
-            transferableObjects.push(vertexColor.buffer);
-            var vertexColorStride = view.getUint32(bytesOffset, true);
-            vertexColorStride = 4 * Float32Array.BYTES_PER_ELEMENT;
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            byteLength = vertexColorCount * vertexColorStride;
-            var oriVertexColor = new Float32Array(typedArray.buffer, bytesOffset, verticesCount * 4);
-            for (var m = 0; m < verticesCount; m++) {
-                vertexColor[4 * m] = oriVertexColor[4 * m] * 255;
-                vertexColor[4 * m + 1] = oriVertexColor[4 * m + 1] * 255;
-                vertexColor[4 * m + 2] = oriVertexColor[4 * m + 2] * 255;
-                vertexColor[4 * m + 3] = oriVertexColor[4 * m + 3] * 255;
-            }
-            bytesOffset += byteLength;
-            attrLocation['aColor'] = index;
-            attributes.push({
-                index: attrLocation['aColor'],
-                typedArray: vertexColor,
-                componentsPerAttribute: 4,
-                componentDatatype: ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                offsetInBytes: 0,
-                strideInBytes: 4,
-                normalize: true
-            });
-            index++;
-        }
-
-        var secondVertexColorCount = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        if (secondVertexColorCount > 0) {
-            byteLength = secondVertexColorCount * 16;
-            bytesOffset += byteLength;
-        }
-
-        var textureCount = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var instanceIndex = -1;
-        var texCoordCount, texCoordStride, texCoordDim;
-        for (var j = 0; j < textureCount; j++) {
-            texCoordCount = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            texCoordDim = view.getUint16(bytesOffset, true);
-            bytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-            texCoordStride = view.getUint16(bytesOffset, true);
-            bytesOffset += Uint16Array.BYTES_PER_ELEMENT;
-            byteLength = texCoordCount * texCoordDim * Float32Array.BYTES_PER_ELEMENT;
-            var texBuffer = typedArray.subarray(bytesOffset, bytesOffset + byteLength);
-            if (instanceIndex == -1 && (texCoordDim == 20 || texCoordDim == 35)) {
-                instanceIndex = j;
-                vertexPackage.instanceCount = texCoordCount;
-                vertexPackage.instanceMode = texCoordDim;
-                vertexPackage.instanceBuffer = texBuffer;
-                var byteStride;
-                if (texCoordDim === 20) {
-                    byteStride = Float32Array.BYTES_PER_ELEMENT * 20;
-                    attrLocation['uv2'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv2'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 0,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-
-                    attrLocation['uv3'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv3'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 4 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-
-                    attrLocation['uv4'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv4'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 8 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-
-                    attrLocation['secondary_colour'] = index++;
-                    attributes.push({
-                        index: attrLocation['secondary_colour'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 12 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-
-                    attrLocation['uv6'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv6'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 16 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                }
-                else if (texCoordDim === 35) {
-                    byteStride = Float32Array.BYTES_PER_ELEMENT * 35;
-                    attrLocation['uv1'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv1'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 0,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1,
-                        byteLength: byteLength
-                    });
-                    attrLocation['uv2'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv2'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 4 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv3'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv3'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 8 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv4'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv4'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 12 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv5'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv5'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 16 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv6'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv6'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 20 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv7'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv7'],
-                        componentsPerAttribute: 3,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 24 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['secondary_colour'] = index++;
-                    attributes.push({
-                        index: attrLocation['secondary_colour'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 27 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                    attrLocation['uv9'] = index++;
-                    attributes.push({
-                        index: attrLocation['uv9'],
-                        componentsPerAttribute: 4,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        normalize: false,
-                        offsetInBytes: 31 * Float32Array.BYTES_PER_ELEMENT,
-                        strideInBytes: byteStride,
-                        instanceDivisor: 1
-                    });
-                }
-            }
-            else {
-                if (instanceIndex !== -1) {
-                    vertexPackage.instanceBounds = new Float32Array(typedArray.buffer, bytesOffset, texCoordCount * texCoordDim);
-                }
-                else {
-                    var str = 'aTexCoord' + j;
-                    attrLocation[str] = index++;
-                    attributes.push({
-                        index: attrLocation[str],
-                        typedArray: texBuffer,
-                        componentsPerAttribute: texCoordDim,
-                        componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-                        offsetInBytes: 0,
-                        strideInBytes: texCoordDim * Float32Array.BYTES_PER_ELEMENT,
-                        normalize: false
-                    });
-                }
-            }
-            bytesOffset += byteLength;
-        }
-
-        vertexPackage.verticesCount = verticesCount;
-        vertexPackage.instanceIndex = instanceIndex;
-        var indexPackageSize = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var arrIndexPackage = [];
-        for (var j = 0; j < indexPackageSize; j++) {
-            var indexPackage = {};
-            var indicesCount = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var indexType = view.getUint8(bytesOffset, true);
-            bytesOffset += Uint8Array.BYTES_PER_ELEMENT;
-            var useIndex = view.getUint8(bytesOffset, true);
-            bytesOffset += Uint8Array.BYTES_PER_ELEMENT;
-            var primitiveType = view.getUint8(bytesOffset, true);
-            bytesOffset += Uint8Array.BYTES_PER_ELEMENT;
-            bytesOffset += 1;
-            indexPackage.indicesCount = indicesCount;
-            indexPackage.indexType = indexType;
-            indexPackage.primitiveType = primitiveType;
-            var indexOffset = bytesOffset;
-            if (indicesCount > 0) {
-                if (indexType == 0) {
-                    byteLength = indicesCount * Uint16Array.BYTES_PER_ELEMENT;
-                    bytesOffset += byteLength;
-                    if (indicesCount % 2 == 1) {
-                        bytesOffset += 2;
-                    }
-                }
-                else {
-                    byteLength = indicesCount * 4;
-                    bytesOffset += byteLength;
-                }
-            }
-
-            indexPackage.indicesTypedArray = typedArray.subarray(indexOffset, indexOffset + byteLength);
-            var passNameCount = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var materialCode = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT * passNameCount;
-            indexPackage.materialCode = materialCode;
-            arrIndexPackage.push(indexPackage);
-        }
-
-        var edgeGeometry;
-        if(needCreateEdge){
-            edgeGeometry = S3MCompressType.S3MVertexPackage.createEdge(vertexPackage, arrIndexPackage);
-        }
-
-        geoPackage[geoName] = {
-            vertexPackage: vertexPackage,
-            arrIndexPackage: arrIndexPackage,
-            edgeGeometry : edgeGeometry
-        };
-
-        return bytesOffset;
-    }
-
-    function createBatchIdAttribute(vertexPackage, typedArray, instanceDivisor) {
-        var vertexAttributes = vertexPackage.vertexAttributes;
-        var attrLocation = vertexPackage.attrLocation;
-        var len = vertexAttributes.length;
-        var attrName = instanceDivisor === 1 ? 'instanceId' : 'batchId';
-        attrLocation[attrName] = len;
-        vertexAttributes.push({
-            index: len,
-            typedArray: typedArray,
-            componentsPerAttribute: 1,
-            componentDatatype: ComponentDatatype.ComponentDatatype.FLOAT,
-            offsetInBytes: 0,
-            strideInBytes: 0,
-            instanceDivisor : instanceDivisor
-        });
-    }
-
-    function S3MTilesParser(parameters, transferableObjects) {
-        var buffer = parameters.buffer;
-        //transferableObjects.push(buffer);
-        var supportCompressType = parameters.supportCompressType;
-        var bVolume = parameters.bVolume;//是否是体渲染数据
-        var createEdge = parameters.createEdge;
-        var bound3D = null;
-        var volBounds = null;
-        var volImageBuffer = null;
-        if (bVolume) {
-            if (parameters.volbuffer.byteLength < 8) {
-                bVolume = false;
-            }
-        }
-        if (bVolume) {
-
-            var volData = parameters.volbuffer;
-            var dataZip = new Uint8Array(volData, 8);
-            var volumeBuffer = pako_inflate.pako.inflate(dataZip).buffer;
-            var volVersion = new Float64Array(volumeBuffer, 0, 1);
-            var volFormat = new Uint32Array(volumeBuffer , 48, 1);
-
-            if(volVersion[0] === 0.0 || volFormat[0] === 3200 || volFormat[0] === 3201)
-            {
-                var nHeaderOffset = 0;
-                if(volVersion[0] === 0.0)
-                {
-                    nHeaderOffset = 8;
-                }
-
-                transferableObjects.push(volumeBuffer);
-                var boundsArray = new Float64Array(volumeBuffer, nHeaderOffset, 6);
-                var left = boundsArray[0];
-                var top = boundsArray[1];
-                var right = boundsArray[2];
-                var bottom = boundsArray[3];
-                var minHeight = boundsArray[4] < boundsArray[5] ? boundsArray[4] : boundsArray[5];
-                var maxHeight = boundsArray[4] > boundsArray[5] ? boundsArray[4] : boundsArray[5];
-                bound3D = new Bound3D(left, bottom, right, top, minHeight, maxHeight);
-
-                volBounds = {
-                    left: left,
-                    top: top,
-                    right: right,
-                    bottom: bottom,
-                    minHeight: minHeight,
-                    maxHeight: maxHeight,
-                    width: bound3D.width,
-                    length: bound3D.length,
-                    height: bound3D.height
-                };
-
-                // 中间空出来
-                var infoVolume = new Uint32Array(volumeBuffer, 48 + nHeaderOffset, 7);
-                var nFormat = infoVolume[0];
-                var nSideBlockCount = infoVolume[1];
-                var nBlockLength = infoVolume[2];
-                var nLength = infoVolume[3];
-                var nWidth = infoVolume[4];
-                var nHeight = infoVolume[5];
-                var nDepth = infoVolume[6];
-                var nCount = nLength * nLength * 4;
-                var image = new Uint8Array(volumeBuffer, 76 + nHeaderOffset, nCount);
-                volImageBuffer = {
-                    nFormat: nFormat,
-                    nSideBlockCount: nSideBlockCount,
-                    nBlockLength: nBlockLength,
-                    nLength: nLength,
-                    nWidth: nWidth,
-                    nHeight: nHeight,
-                    nDepth: nDepth,
-                    imageArray: image
-                };
-            }
-        }
-
-        var bytesOffset = 0;
-        var header = new Uint8Array(buffer, 0, 4);
-        if (header[0] !== 115 || header[1] !== 51 || header[2] !== 109) {
-            return {
-                result: false
-            };
-        }
-
-        var version = header[3];
-        var dataZip = new Uint8Array(buffer, 4);
-        var unzipBuffer = pako_inflate.pako.inflate(dataZip).buffer;
-        var typedArray = new Uint8Array(unzipBuffer);
-        transferableObjects.push(typedArray.buffer);
-        var view = new DataView(unzipBuffer);
-        var xmlSize = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var xmlBuffer = new Uint8Array(unzipBuffer, bytesOffset, xmlSize);
-        var nAlign = xmlSize % 4;
-        if(nAlign){
-            nAlign = 4 - nAlign;
-        }
-
-        bytesOffset += xmlSize + nAlign;
-
-        var xmlDoc = S3MCompressType.getStringFromTypedArray(xmlBuffer, undefined, undefined, 'gbk');
-        xmlDoc = xmlDoc.replace(new RegExp("\r\n",'gm'),'');
-        xmlDoc = xmlDoc.replace(new RegExp(":",'gm'),'');
-
-        var packageSize = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var geoCount = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var geoPackage = {};
-        geoPackage.ignoreNormal = parameters.ignoreNormal;
-        for (var i = 0; i < geoCount; i++) {
-            bytesOffset = parseGeoPackage(geoPackage, typedArray, view, bytesOffset, createEdge, transferableObjects);
-        }
-
-        var pickInfoPackageCount = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var pickColorCount = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        for (var i = 0; i < pickColorCount; i++) {
-            var geoName = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var pickIdsCount = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var pickInfo = {};
-            var bInstanced = geoPackage[geoName].vertexPackage.instanceIndex;
-            if (bInstanced == -1) {
-                var batchIds = new Float32Array(geoPackage[geoName].vertexPackage.verticesCount);
-                for (var j = 0; j < pickIdsCount; j++) {
-                    var pickId = view.getUint32(bytesOffset, true);
-                    bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-                    var size = view.getUint32(bytesOffset, true);
-                    bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-                    var vertexCount = 0, vertexColorOffset = 0;
-                    pickInfo[pickId] = {
-                        batchId : j
-                    };
-                    for (var k = 0; k < size; k++) {
-                        vertexColorOffset = view.getUint32(bytesOffset, true);
-                        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-                        vertexCount = view.getUint32(bytesOffset, true);
-                        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-                        if (batchIds.fill) {
-                            batchIds.fill(j, vertexColorOffset, vertexColorOffset + vertexCount);
-                        } else {
-                            var total = vertexColorOffset + vertexColorOffset;
-                            for(var m = vertexColorOffset; m < total; m++) {
-                                batchIds[m] = j;
-                            }
-                        }
-                    }
-                    pickInfo[pickId].vertexColorOffset = vertexColorOffset;
-                    pickInfo[pickId].vertexColorCount = vertexCount;
-                }
-
-                createBatchIdAttribute(geoPackage[geoName].vertexPackage, batchIds, undefined);
-            }
-            else {
-                var instanceCount = geoPackage[geoName].vertexPackage.instanceCount;
-                var instanceArray = geoPackage[geoName].vertexPackage.instanceBuffer;
-                var instanceMode = geoPackage[geoName].vertexPackage.instanceMode;
-                var instanceIds = new Float32Array(instanceCount);
-                var instanceIdIndex = 0;
-                for (var j = 0; j < pickIdsCount; j++) {
-                    var pickId = view.getUint32(bytesOffset, true);
-                    bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-                    var size = view.getUint32(bytesOffset, true);
-                    bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-                    for (var k = 0; k < size; k++) {
-                        var instanceId = view.getUint32(bytesOffset, true);
-                        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-                        instanceIds[instanceIdIndex] = instanceIdIndex;
-                        if(pickInfo[pickId] === undefined){
-                            pickInfo[pickId] = {
-                                vertexColorCount : 1,
-                                instanceIds : [],
-                                vertexColorOffset : instanceIdIndex
-                            };
-                        }
-                        pickInfo[pickId].instanceIds.push(instanceId);
-                        instanceIdIndex ++;
-                    }
-
-                }
-
-                createBatchIdAttribute(geoPackage[geoName].vertexPackage, instanceIds, 1);
-            }
-
-            geoPackage[geoName].pickInfo = pickInfo;
-        }
-
-        var texturePackageCount = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var imageCount = view.getUint32(bytesOffset, true);
-        bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-        var texturePackage = {};
-        for (var i = 0; i < imageCount; i++) {
-            var id = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var width = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var height = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var compressType = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var size = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var pixelFormat = view.getUint32(bytesOffset, true);
-            bytesOffset += Uint32Array.BYTES_PER_ELEMENT;
-            var imageTypedArray = null;
-            if (compressType === S3MCompressType.S3MCompressType.enrS3TCDXTN && supportCompressType !== 1) {
-                var pEncode = null;
-                if (pixelFormat > S3MCompressType.S3MPixelFormat.BGR || pixelFormat === S3MCompressType.S3MPixelFormat.LUMINANCE_ALPHA) {
-                    pEncode = new Uint8Array(unzipBuffer, bytesOffset, width * height);
-                    imageTypedArray = new Uint8Array(width * height * 4);
-                }
-                else {
-                    pEncode = new Uint16Array(unzipBuffer, bytesOffset, size / 2);
-                    imageTypedArray = new Uint16Array(width * height);
-                }
-                S3MCompressType.DXTTextureDecode.decode(imageTypedArray, width, height, pEncode, pixelFormat);
-                transferableObjects.push(imageTypedArray.buffer);
-                compressType = 0;
-            }
-            else {
-                imageTypedArray = new Uint8Array(unzipBuffer, bytesOffset, size);
-            }
-
-            texturePackage[id] = {
-                id: id,
-                width: width,
-                height: height,
-                compressType: compressType,
-                nFormat: pixelFormat,
-                imageBuffer: imageTypedArray
-            };
-            bytesOffset += size;
-        }
-
-        return {
-            result: true,
-            version: version,
-            xmlDoc: xmlDoc,
-            geoPackage: geoPackage,
-            texturePackage: texturePackage,
-            volImageBuffer: volImageBuffer,
-            volBounds: volBounds
-        };
-    }
-
-    var S3MTilesParser$1 = createTaskProcessorWorker(S3MTilesParser);
-
-    return S3MTilesParser$1;
-
-});
diff --git a/libs/supermap/Workers/TerrainEncoding-68dd69c9.js b/libs/supermap/Workers/TerrainEncoding-68dd69c9.js
deleted file mode 100644
index e80a635..0000000
--- a/libs/supermap/Workers/TerrainEncoding-68dd69c9.js
+++ /dev/null
@@ -1,828 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './ComponentDatatype-5862616f', './AttributeCompression-50ff7145'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, ComponentDatatype, AttributeCompression) { 'use strict';
-
-    /**
-         * Determine whether or not other objects are visible or hidden behind the visible horizon defined by
-         * an {@link Ellipsoid} and a camera position.  The ellipsoid is assumed to be located at the
-         * origin of the coordinate system.  This class uses the algorithm described in the
-         * {@link https://cesium.com/blog/2013/04/25/Horizon-culling/|Horizon Culling} blog post.
-         *
-         * @alias EllipsoidalOccluder
-         *
-         * @param {Ellipsoid} ellipsoid The ellipsoid to use as an occluder.
-         * @param {Cartesian3} [cameraPosition] The coordinate of the viewer/camera.  If this parameter is not
-         *        specified, {@link EllipsoidalOccluder#cameraPosition} must be called before
-         *        testing visibility.
-         *
-         * @constructor
-         *
-         * @example
-         * // Construct an ellipsoidal occluder with radii 1.0, 1.1, and 0.9.
-         * var cameraPosition = new Cesium.Cartesian3(5.0, 6.0, 7.0);
-         * var occluderEllipsoid = new Cesium.Ellipsoid(1.0, 1.1, 0.9);
-         * var occluder = new Cesium.EllipsoidalOccluder(occluderEllipsoid, cameraPosition);
-         *
-         * @private
-         */
-        function EllipsoidalOccluder(ellipsoid, cameraPosition) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('ellipsoid', ellipsoid);
-            //>>includeEnd('debug');
-
-            this._ellipsoid = ellipsoid;
-            this._cameraPosition = new Cartesian2.Cartesian3();
-            this._cameraPositionInScaledSpace = new Cartesian2.Cartesian3();
-            this._distanceToLimbInScaledSpaceSquared = 0.0;
-
-            // cameraPosition fills in the above values
-            if (when.defined(cameraPosition)) {
-                this.cameraPosition = cameraPosition;
-            }
-        }
-
-        Object.defineProperties(EllipsoidalOccluder.prototype, {
-            /**
-             * Gets the occluding ellipsoid.
-             * @memberof EllipsoidalOccluder.prototype
-             * @type {Ellipsoid}
-             */
-            ellipsoid : {
-                get: function() {
-                    return this._ellipsoid;
-                }
-            },
-            /**
-             * Gets or sets the position of the camera.
-             * @memberof EllipsoidalOccluder.prototype
-             * @type {Cartesian3}
-             */
-            cameraPosition : {
-                get : function() {
-                    return this._cameraPosition;
-                },
-                set : function(cameraPosition) {
-                    // See https://cesium.com/blog/2013/04/25/Horizon-culling/
-                    var ellipsoid = this._ellipsoid;
-                    var cv = ellipsoid.transformPositionToScaledSpace(cameraPosition, this._cameraPositionInScaledSpace);
-                    var vhMagnitudeSquared = Cartesian2.Cartesian3.magnitudeSquared(cv) - 1.0;
-
-                    Cartesian2.Cartesian3.clone(cameraPosition, this._cameraPosition);
-                    this._cameraPositionInScaledSpace = cv;
-                    this._distanceToLimbInScaledSpaceSquared = vhMagnitudeSquared;
-                }
-            }
-        });
-
-        var scratchCartesian = new Cartesian2.Cartesian3();
-
-        /**
-         * Determines whether or not a point, the <code>occludee</code>, is hidden from view by the occluder.
-         *
-         * @param {Cartesian3} occludee The point to test for visibility.
-         * @returns {Boolean} <code>true</code> if the occludee is visible; otherwise <code>false</code>.
-         *
-         * @example
-         * var cameraPosition = new Cesium.Cartesian3(0, 0, 2.5);
-         * var ellipsoid = new Cesium.Ellipsoid(1.0, 1.1, 0.9);
-         * var occluder = new Cesium.EllipsoidalOccluder(ellipsoid, cameraPosition);
-         * var point = new Cesium.Cartesian3(0, -3, -3);
-         * occluder.isPointVisible(point); //returns true
-         */
-        EllipsoidalOccluder.prototype.isPointVisible = function(occludee) {
-            var ellipsoid = this._ellipsoid;
-            var occludeeScaledSpacePosition = ellipsoid.transformPositionToScaledSpace(occludee, scratchCartesian);
-            return isScaledSpacePointVisible(occludeeScaledSpacePosition, this._cameraPositionInScaledSpace, this._distanceToLimbInScaledSpaceSquared);
-        };
-
-        /**
-         * Determines whether or not a point expressed in the ellipsoid scaled space, is hidden from view by the
-         * occluder.  To transform a Cartesian X, Y, Z position in the coordinate system aligned with the ellipsoid
-         * into the scaled space, call {@link Ellipsoid#transformPositionToScaledSpace}.
-         *
-         * @param {Cartesian3} occludeeScaledSpacePosition The point to test for visibility, represented in the scaled space.
-         * @returns {Boolean} <code>true</code> if the occludee is visible; otherwise <code>false</code>.
-         *
-         * @example
-         * var cameraPosition = new Cesium.Cartesian3(0, 0, 2.5);
-         * var ellipsoid = new Cesium.Ellipsoid(1.0, 1.1, 0.9);
-         * var occluder = new Cesium.EllipsoidalOccluder(ellipsoid, cameraPosition);
-         * var point = new Cesium.Cartesian3(0, -3, -3);
-         * var scaledSpacePoint = ellipsoid.transformPositionToScaledSpace(point);
-         * occluder.isScaledSpacePointVisible(scaledSpacePoint); //returns true
-         */
-        EllipsoidalOccluder.prototype.isScaledSpacePointVisible = function(occludeeScaledSpacePosition) {
-            return isScaledSpacePointVisible(occludeeScaledSpacePosition, this._cameraPositionInScaledSpace, this._distanceToLimbInScaledSpaceSquared);
-        };
-
-        var scratchCameraPositionInScaledSpaceShrunk = new Cartesian2.Cartesian3();
-
-        /**
-         * Similar to {@link EllipsoidalOccluder#isScaledSpacePointVisible} except tests against an
-         * ellipsoid that has been shrunk by the minimum height when the minimum height is below
-         * the ellipsoid. This is intended to be used with points generated by
-         * {@link EllipsoidalOccluder#computeHorizonCullingPointPossiblyUnderEllipsoid} or
-         * {@link EllipsoidalOccluder#computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid}.
-         *
-         * @param {Cartesian3} occludeeScaledSpacePosition The point to test for visibility, represented in the scaled space of the possibly-shrunk ellipsoid.
-         * @returns {Boolean} <code>true</code> if the occludee is visible; otherwise <code>false</code>.
-         */
-        EllipsoidalOccluder.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid = function(occludeeScaledSpacePosition, minimumHeight) {
-            var ellipsoid = this._ellipsoid;
-            var vhMagnitudeSquared;
-            var cv;
-
-            if (when.defined(minimumHeight) && minimumHeight < 0.0 && ellipsoid.minimumRadius > -minimumHeight) {
-                // This code is similar to the cameraPosition setter, but unrolled for performance because it will be called a lot.
-                cv = scratchCameraPositionInScaledSpaceShrunk;
-                cv.x = this._cameraPosition.x / (ellipsoid.radii.x + minimumHeight);
-                cv.y = this._cameraPosition.y / (ellipsoid.radii.y + minimumHeight);
-                cv.z = this._cameraPosition.z / (ellipsoid.radii.z + minimumHeight);
-                vhMagnitudeSquared = cv.x * cv.x + cv.y * cv.y + cv.z * cv.z - 1.0;
-            } else {
-                cv = this._cameraPositionInScaledSpace;
-                vhMagnitudeSquared = this._distanceToLimbInScaledSpaceSquared;
-            }
-
-            return isScaledSpacePointVisible(occludeeScaledSpacePosition, cv, vhMagnitudeSquared);
-        };
-
-        /**
-         * Computes a point that can be used for horizon culling from a list of positions.  If the point is below
-         * the horizon, all of the positions are guaranteed to be below the horizon as well.  The returned point
-         * is expressed in the ellipsoid-scaled space and is suitable for use with
-         * {@link EllipsoidalOccluder#isScaledSpacePointVisible}.
-         *
-         * @param {Cartesian3} directionToPoint The direction that the computed point will lie along.
-         *                     A reasonable direction to use is the direction from the center of the ellipsoid to
-         *                     the center of the bounding sphere computed from the positions.  The direction need not
-         *                     be normalized.
-         * @param {Cartesian3[]} positions The positions from which to compute the horizon culling point.  The positions
-         *                       must be expressed in a reference frame centered at the ellipsoid and aligned with the
-         *                       ellipsoid's axes.
-         * @param {Cartesian3} [result] The instance on which to store the result instead of allocating a new instance.
-         * @returns {Cartesian3} The computed horizon culling point, expressed in the ellipsoid-scaled space.
-         */
-        EllipsoidalOccluder.prototype.computeHorizonCullingPoint = function(directionToPoint, positions, result) {
-            return computeHorizonCullingPointFromPositions(this._ellipsoid, directionToPoint, positions, result);
-        };
-
-        var scratchEllipsoidShrunk = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-
-        /**
-         * Similar to {@link EllipsoidalOccluder#computeHorizonCullingPoint} except computes the culling
-         * point relative to an ellipsoid that has been shrunk by the minimum height when the minimum height is below
-         * the ellipsoid. The returned point is expressed in the possibly-shrunk ellipsoid-scaled space and is suitable
-         * for use with {@link EllipsoidalOccluder#isScaledSpacePointVisiblePossiblyUnderEllipsoid}.
-         *
-         * @param {Cartesian3} directionToPoint The direction that the computed point will lie along.
-         *                     A reasonable direction to use is the direction from the center of the ellipsoid to
-         *                     the center of the bounding sphere computed from the positions.  The direction need not
-         *                     be normalized.
-         * @param {Cartesian3[]} positions The positions from which to compute the horizon culling point.  The positions
-         *                       must be expressed in a reference frame centered at the ellipsoid and aligned with the
-         *                       ellipsoid's axes.
-         * @param {Number} [minimumHeight] The minimum height of all positions. If this value is undefined, all positions are assumed to be above the ellipsoid.
-         * @param {Cartesian3} [result] The instance on which to store the result instead of allocating a new instance.
-         * @returns {Cartesian3} The computed horizon culling point, expressed in the possibly-shrunk ellipsoid-scaled space.
-         */
-        EllipsoidalOccluder.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid = function(directionToPoint, positions, minimumHeight, result) {
-            var possiblyShrunkEllipsoid = getPossiblyShrunkEllipsoid(this._ellipsoid, minimumHeight, scratchEllipsoidShrunk);
-            return computeHorizonCullingPointFromPositions(possiblyShrunkEllipsoid, directionToPoint, positions, result);
-        };
-        /**
-         * Computes a point that can be used for horizon culling from a list of positions.  If the point is below
-         * the horizon, all of the positions are guaranteed to be below the horizon as well.  The returned point
-         * is expressed in the ellipsoid-scaled space and is suitable for use with
-         * {@link EllipsoidalOccluder#isScaledSpacePointVisible}.
-         *
-         * @param {Cartesian3} directionToPoint The direction that the computed point will lie along.
-         *                     A reasonable direction to use is the direction from the center of the ellipsoid to
-         *                     the center of the bounding sphere computed from the positions.  The direction need not
-         *                     be normalized.
-         * @param {Number[]} vertices  The vertices from which to compute the horizon culling point.  The positions
-         *                   must be expressed in a reference frame centered at the ellipsoid and aligned with the
-         *                   ellipsoid's axes.
-         * @param {Number} [stride=3]
-         * @param {Cartesian3} [center=Cartesian3.ZERO]
-         * @param {Cartesian3} [result] The instance on which to store the result instead of allocating a new instance.
-         * @returns {Cartesian3} The computed horizon culling point, expressed in the ellipsoid-scaled space.
-         */
-        EllipsoidalOccluder.prototype.computeHorizonCullingPointFromVertices = function(directionToPoint, vertices, stride, center, result) {
-            return computeHorizonCullingPointFromVertices(this._ellipsoid, directionToPoint, vertices, stride, center, result);
-        };
-
-        /**
-         * Similar to {@link EllipsoidalOccluder#computeHorizonCullingPointFromVertices} except computes the culling
-         * point relative to an ellipsoid that has been shrunk by the minimum height when the minimum height is below
-         * the ellipsoid. The returned point is expressed in the possibly-shrunk ellipsoid-scaled space and is suitable
-         * for use with {@link EllipsoidalOccluder#isScaledSpacePointVisiblePossiblyUnderEllipsoid}.
-         *
-         * @param {Cartesian3} directionToPoint The direction that the computed point will lie along.
-         *                     A reasonable direction to use is the direction from the center of the ellipsoid to
-         *                     the center of the bounding sphere computed from the positions.  The direction need not
-         *                     be normalized.
-         * @param {Number[]} vertices  The vertices from which to compute the horizon culling point.  The positions
-         *                   must be expressed in a reference frame centered at the ellipsoid and aligned with the
-         *                   ellipsoid's axes.
-         * @param {Number} [stride=3]
-         * @param {Cartesian3} [center=Cartesian3.ZERO]
-         * @param {Number} [minimumHeight] The minimum height of all vertices. If this value is undefined, all vertices are assumed to be above the ellipsoid.
-         * @param {Cartesian3} [result] The instance on which to store the result instead of allocating a new instance.
-         * @returns {Cartesian3} The computed horizon culling point, expressed in the possibly-shrunk ellipsoid-scaled space.
-         */
-        EllipsoidalOccluder.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid = function(directionToPoint, vertices, stride, center, minimumHeight, result) {
-            var possiblyShrunkEllipsoid = getPossiblyShrunkEllipsoid(this._ellipsoid, minimumHeight, scratchEllipsoidShrunk);
-            return computeHorizonCullingPointFromVertices(possiblyShrunkEllipsoid, directionToPoint, vertices, stride, center, result);
-        };
-
-        var subsampleScratch = [];
-
-        /**
-         * Computes a point that can be used for horizon culling of a rectangle.  If the point is below
-         * the horizon, the ellipsoid-conforming rectangle is guaranteed to be below the horizon as well.
-         * The returned point is expressed in the ellipsoid-scaled space and is suitable for use with
-         * {@link EllipsoidalOccluder#isScaledSpacePointVisible}.
-         *
-         * @param {Rectangle} rectangle The rectangle for which to compute the horizon culling point.
-         * @param {Ellipsoid} ellipsoid The ellipsoid on which the rectangle is defined.  This may be different from
-         *                    the ellipsoid used by this instance for occlusion testing.
-         * @param {Cartesian3} [result] The instance on which to store the result instead of allocating a new instance.
-         * @returns {Cartesian3} The computed horizon culling point, expressed in the ellipsoid-scaled space.
-         */
-        EllipsoidalOccluder.prototype.computeHorizonCullingPointFromRectangle = function(rectangle, ellipsoid, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            //>>includeEnd('debug');
-
-            var positions = Cartesian2.Rectangle.subsample(rectangle, ellipsoid, 0.0, subsampleScratch);
-            var bs = BoundingSphere.BoundingSphere.fromPoints(positions);
-
-            // If the bounding sphere center is too close to the center of the occluder, it doesn't make
-            // sense to try to horizon cull it.
-            if (Cartesian2.Cartesian3.magnitude(bs.center) < 0.1 * ellipsoid.minimumRadius) {
-                return undefined;
-            }
-
-            return this.computeHorizonCullingPoint(bs.center, positions, result);
-        };
-
-        var scratchEllipsoidShrunkRadii = new Cartesian2.Cartesian3();
-
-        function getPossiblyShrunkEllipsoid(ellipsoid, minimumHeight, result) {
-            if (when.defined(minimumHeight) && minimumHeight < 0.0 && ellipsoid.minimumRadius > -minimumHeight) {
-                var ellipsoidShrunkRadii = Cartesian2.Cartesian3.fromElements(
-                    ellipsoid.radii.x + minimumHeight,
-                    ellipsoid.radii.y + minimumHeight,
-                    ellipsoid.radii.z + minimumHeight,
-                    scratchEllipsoidShrunkRadii
-                );
-                ellipsoid = Cartesian2.Ellipsoid.fromCartesian3(ellipsoidShrunkRadii, result);
-            }
-            return ellipsoid;
-        }
-
-        function computeHorizonCullingPointFromPositions(ellipsoid, directionToPoint, positions, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('directionToPoint', directionToPoint);
-            Check.Check.defined('positions', positions);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian3();
-            }
-
-            var scaledSpaceDirectionToPoint = computeScaledSpaceDirectionToPoint(ellipsoid, directionToPoint);
-            var resultMagnitude = 0.0;
-
-            for (var i = 0, len = positions.length; i < len; ++i) {
-                var position = positions[i];
-                var candidateMagnitude = computeMagnitude(ellipsoid, position, scaledSpaceDirectionToPoint);
-                if (candidateMagnitude < 0.0) {
-                    // all points should face the same direction, but this one doesn't, so return undefined
-                    return undefined;
-                }
-                resultMagnitude = Math.max(resultMagnitude, candidateMagnitude);
-            }
-
-            return magnitudeToPoint(scaledSpaceDirectionToPoint, resultMagnitude, result);
-        }
-
-        var positionScratch = new Cartesian2.Cartesian3();
-
-        function computeHorizonCullingPointFromVertices(ellipsoid, directionToPoint, vertices, stride, center, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('directionToPoint', directionToPoint);
-            Check.Check.defined('vertices', vertices);
-            Check.Check.typeOf.number('stride', stride);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian3();
-            }
-
-            stride = when.defaultValue(stride, 3);
-            center = when.defaultValue(center, Cartesian2.Cartesian3.ZERO);
-            var scaledSpaceDirectionToPoint = computeScaledSpaceDirectionToPoint(ellipsoid, directionToPoint);
-            var resultMagnitude = 0.0;
-
-            for (var i = 0, len = vertices.length; i < len; i += stride) {
-                positionScratch.x = vertices[i] + center.x;
-                positionScratch.y = vertices[i + 1] + center.y;
-                positionScratch.z = vertices[i + 2] + center.z;
-
-                var candidateMagnitude = computeMagnitude(ellipsoid, positionScratch, scaledSpaceDirectionToPoint);
-                if (candidateMagnitude < 0.0) {
-                    // all points should face the same direction, but this one doesn't, so return undefined
-                    return undefined;
-                }
-                resultMagnitude = Math.max(resultMagnitude, candidateMagnitude);
-            }
-
-            return magnitudeToPoint(scaledSpaceDirectionToPoint, resultMagnitude, result);
-        }
-
-        function isScaledSpacePointVisible(occludeeScaledSpacePosition, cameraPositionInScaledSpace, distanceToLimbInScaledSpaceSquared) {
-            // See https://cesium.com/blog/2013/04/25/Horizon-culling/
-            var cv = cameraPositionInScaledSpace;
-            var vhMagnitudeSquared = distanceToLimbInScaledSpaceSquared;
-            var vt = Cartesian2.Cartesian3.subtract(occludeeScaledSpacePosition, cv, scratchCartesian);
-            var vtDotVc = -Cartesian2.Cartesian3.dot(vt, cv);
-            // If vhMagnitudeSquared < 0 then we are below the surface of the ellipsoid and
-            // in this case, set the culling plane to be on V.
-            var isOccluded = vhMagnitudeSquared < 0 ? vtDotVc > 0 : (vtDotVc > vhMagnitudeSquared &&
-                             vtDotVc * vtDotVc / Cartesian2.Cartesian3.magnitudeSquared(vt) > vhMagnitudeSquared);
-            return !isOccluded;
-        }
-
-        var scaledSpaceScratch = new Cartesian2.Cartesian3();
-        var directionScratch = new Cartesian2.Cartesian3();
-
-        function computeMagnitude(ellipsoid, position, scaledSpaceDirectionToPoint) {
-            var scaledSpacePosition = ellipsoid.transformPositionToScaledSpace(position, scaledSpaceScratch);
-            var magnitudeSquared = Cartesian2.Cartesian3.magnitudeSquared(scaledSpacePosition);
-            var magnitude = Math.sqrt(magnitudeSquared);
-            var direction = Cartesian2.Cartesian3.divideByScalar(scaledSpacePosition, magnitude, directionScratch);
-
-            // For the purpose of this computation, points below the ellipsoid are consider to be on it instead.
-            magnitudeSquared = Math.max(1.0, magnitudeSquared);
-            magnitude = Math.max(1.0, magnitude);
-
-            var cosAlpha = Cartesian2.Cartesian3.dot(direction, scaledSpaceDirectionToPoint);
-            var sinAlpha = Cartesian2.Cartesian3.magnitude(Cartesian2.Cartesian3.cross(direction, scaledSpaceDirectionToPoint, direction));
-            var cosBeta = 1.0 / magnitude;
-            var sinBeta = Math.sqrt(magnitudeSquared - 1.0) * cosBeta;
-
-            return 1.0 / (cosAlpha * cosBeta - sinAlpha * sinBeta);
-        }
-
-        function magnitudeToPoint(scaledSpaceDirectionToPoint, resultMagnitude, result) {
-            // The horizon culling point is undefined if there were no positions from which to compute it,
-            // the directionToPoint is pointing opposite all of the positions,  or if we computed NaN or infinity.
-            if (resultMagnitude <= 0.0 || resultMagnitude === 1.0 / 0.0 || resultMagnitude !== resultMagnitude) {
-                return undefined;
-            }
-
-            return Cartesian2.Cartesian3.multiplyByScalar(scaledSpaceDirectionToPoint, resultMagnitude, result);
-        }
-
-        var directionToPointScratch = new Cartesian2.Cartesian3();
-
-        function computeScaledSpaceDirectionToPoint(ellipsoid, directionToPoint) {
-            if (Cartesian2.Cartesian3.equals(directionToPoint, Cartesian2.Cartesian3.ZERO)) {
-                return directionToPoint;
-            }
-
-            ellipsoid.transformPositionToScaledSpace(directionToPoint, directionToPointScratch);
-            return Cartesian2.Cartesian3.normalize(directionToPointScratch, directionToPointScratch);
-        }
-
-    /**
-     * This enumerated type is used to determine how the vertices of the terrain mesh are compressed.
-     *
-     * @exports TerrainQuantization
-     *
-     * @private
-     */
-    var TerrainQuantization = {
-        /**
-         * The vertices are not compressed.
-         *
-         * @type {Number}
-         * @constant
-         */
-        NONE : 0,
-
-        /**
-         * The vertices are compressed to 12 bits.
-         *
-         * @type {Number}
-         * @constant
-         */
-        BITS12 : 1
-    };
-
-    var TerrainQuantization$1 = Object.freeze(TerrainQuantization);
-
-    var cartesian3Scratch = new Cartesian2.Cartesian3();
-    var cartesian3DimScratch = new Cartesian2.Cartesian3();
-    var cartesian2Scratch = new Cartesian2.Cartesian2();
-    var matrix4Scratch = new BoundingSphere.Matrix4();
-    var matrix4Scratch2 = new BoundingSphere.Matrix4();
-
-    var SHIFT_LEFT_12 = Math.pow(2.0, 12.0);
-
-    /**
-     * Data used to quantize and pack the terrain mesh. The position can be unpacked for picking and all attributes
-     * are unpacked in the vertex shader.
-     *
-     * @alias TerrainEncoding
-     * @constructor
-     *
-     * @param {AxisAlignedBoundingBox} axisAlignedBoundingBox The bounds of the tile in the east-north-up coordinates at the tiles center.
-     * @param {Number} minimumHeight The minimum height.
-     * @param {Number} maximumHeight The maximum height.
-     * @param {Matrix4} fromENU The east-north-up to fixed frame matrix at the center of the terrain mesh.
-     * @param {Boolean} hasVertexNormals If the mesh has vertex normals.
-     * @param {Boolean} [hasWebMercatorT=false] true if the terrain data includes a Web Mercator texture coordinate; otherwise, false.
-     *
-     * @private
-     */
-    function TerrainEncoding(axisAlignedBoundingBox, minimumHeight, maximumHeight, fromENU, hasVertexNormals, hasWebMercatorT) {
-        var quantization = TerrainQuantization$1.NONE;
-        var center;
-        var toENU;
-        var matrix;
-
-        if (when.defined(axisAlignedBoundingBox) && when.defined(minimumHeight) && when.defined(maximumHeight) && when.defined(fromENU)) {
-            var minimum = axisAlignedBoundingBox.minimum;
-            var maximum = axisAlignedBoundingBox.maximum;
-
-            var dimensions = Cartesian2.Cartesian3.subtract(maximum, minimum, cartesian3DimScratch);
-            var hDim = maximumHeight - minimumHeight;
-            var maxDim = Math.max(Cartesian2.Cartesian3.maximumComponent(dimensions), hDim);
-
-            if (maxDim < SHIFT_LEFT_12 - 1.0) {
-                quantization = TerrainQuantization$1.BITS12;
-            } else {
-                quantization = TerrainQuantization$1.NONE;
-            }
-
-            quantization = TerrainQuantization$1.NONE;//防止精度损失,出现地形模型匹配不上,默认不压缩
-
-            center = axisAlignedBoundingBox.center;
-            toENU = BoundingSphere.Matrix4.inverseTransformation(fromENU, new BoundingSphere.Matrix4());
-
-            var translation = Cartesian2.Cartesian3.negate(minimum, cartesian3Scratch);
-            BoundingSphere.Matrix4.multiply(BoundingSphere.Matrix4.fromTranslation(translation, matrix4Scratch), toENU, toENU);
-
-            var scale = cartesian3Scratch;
-            scale.x = 1.0 / dimensions.x;
-            scale.y = 1.0 / dimensions.y;
-            scale.z = 1.0 / dimensions.z;
-            BoundingSphere.Matrix4.multiply(BoundingSphere.Matrix4.fromScale(scale, matrix4Scratch), toENU, toENU);
-
-            matrix = BoundingSphere.Matrix4.clone(fromENU);
-            BoundingSphere.Matrix4.setTranslation(matrix, Cartesian2.Cartesian3.ZERO, matrix);
-
-            fromENU = BoundingSphere.Matrix4.clone(fromENU, new BoundingSphere.Matrix4());
-
-            var translationMatrix = BoundingSphere.Matrix4.fromTranslation(minimum, matrix4Scratch);
-            var scaleMatrix =  BoundingSphere.Matrix4.fromScale(dimensions, matrix4Scratch2);
-            var st = BoundingSphere.Matrix4.multiply(translationMatrix, scaleMatrix,matrix4Scratch);
-
-            BoundingSphere.Matrix4.multiply(fromENU, st, fromENU);
-            BoundingSphere.Matrix4.multiply(matrix, st, matrix);
-        }
-
-        /**
-         * How the vertices of the mesh were compressed.
-         * @type {TerrainQuantization}
-         */
-        this.quantization = quantization;
-
-        /**
-         * The minimum height of the tile including the skirts.
-         * @type {Number}
-         */
-        this.minimumHeight = minimumHeight;
-
-        /**
-         * The maximum height of the tile.
-         * @type {Number}
-         */
-        this.maximumHeight = maximumHeight;
-
-        /**
-         * The center of the tile.
-         * @type {Cartesian3}
-         */
-        this.center = center;
-
-        /**
-         * A matrix that takes a vertex from the tile, transforms it to east-north-up at the center and scales
-         * it so each component is in the [0, 1] range.
-         * @type {Matrix4}
-         */
-        this.toScaledENU = toENU;
-
-        /**
-         * A matrix that restores a vertex transformed with toScaledENU back to the earth fixed reference frame
-         * @type {Matrix4}
-         */
-        this.fromScaledENU = fromENU;
-
-        /**
-         * The matrix used to decompress the terrain vertices in the shader for RTE rendering.
-         * @type {Matrix4}
-         */
-        this.matrix = matrix;
-
-        /**
-         * The terrain mesh contains normals.
-         * @type {Boolean}
-         */
-        this.hasVertexNormals = hasVertexNormals;
-
-        /**
-         * The terrain mesh contains a vertical texture coordinate following the Web Mercator projection.
-         * @type {Boolean}
-         */
-        this.hasWebMercatorT = when.defaultValue(hasWebMercatorT, false);
-    }
-
-    TerrainEncoding.prototype.encode = function(vertexBuffer, bufferIndex, position, uv, height, normalToPack, webMercatorT) {
-        var u = uv.x;
-        var v = uv.y;
-
-        if (this.quantization === TerrainQuantization$1.BITS12) {
-            position = BoundingSphere.Matrix4.multiplyByPoint(this.toScaledENU, position, cartesian3Scratch);
-
-            position.x = _Math.CesiumMath.clamp(position.x, 0.0, 1.0);
-            position.y = _Math.CesiumMath.clamp(position.y, 0.0, 1.0);
-            position.z = _Math.CesiumMath.clamp(position.z, 0.0, 1.0);
-
-            var hDim = this.maximumHeight - this.minimumHeight;
-            var h = _Math.CesiumMath.clamp((height - this.minimumHeight) / hDim, 0.0, 1.0);
-
-            Cartesian2.Cartesian2.fromElements(position.x, position.y, cartesian2Scratch);
-            var compressed0 = AttributeCompression.AttributeCompression.compressTextureCoordinates(cartesian2Scratch);
-
-            Cartesian2.Cartesian2.fromElements(position.z, h, cartesian2Scratch);
-            var compressed1 = AttributeCompression.AttributeCompression.compressTextureCoordinates(cartesian2Scratch);
-
-            Cartesian2.Cartesian2.fromElements(u, v, cartesian2Scratch);
-            var compressed2 = AttributeCompression.AttributeCompression.compressTextureCoordinates(cartesian2Scratch);
-
-            vertexBuffer[bufferIndex++] = compressed0;
-            vertexBuffer[bufferIndex++] = compressed1;
-            vertexBuffer[bufferIndex++] = compressed2;
-
-            if (this.hasWebMercatorT) {
-                Cartesian2.Cartesian2.fromElements(webMercatorT, 0.0, cartesian2Scratch);
-                var compressed3 = AttributeCompression.AttributeCompression.compressTextureCoordinates(cartesian2Scratch);
-                vertexBuffer[bufferIndex++] = compressed3;
-            }
-        } else {
-            Cartesian2.Cartesian3.subtract(position, this.center, cartesian3Scratch);
-
-            vertexBuffer[bufferIndex++] = cartesian3Scratch.x;
-            vertexBuffer[bufferIndex++] = cartesian3Scratch.y;
-            vertexBuffer[bufferIndex++] = cartesian3Scratch.z;
-            vertexBuffer[bufferIndex++] = height;
-            vertexBuffer[bufferIndex++] = u;
-            vertexBuffer[bufferIndex++] = v;
-
-            if (this.hasWebMercatorT) {
-                vertexBuffer[bufferIndex++] = webMercatorT;
-            }
-        }
-
-        if (this.hasVertexNormals) {
-            vertexBuffer[bufferIndex++] = AttributeCompression.AttributeCompression.octPackFloat(normalToPack);
-        }
-
-        return bufferIndex;
-    };
-
-    TerrainEncoding.prototype.decodePosition = function(buffer, index, result) {
-        if (!when.defined(result)) {
-            result = new Cartesian2.Cartesian3();
-        }
-
-        index *= this.getStride();
-
-        if (this.quantization === TerrainQuantization$1.BITS12) {
-            var xy = AttributeCompression.AttributeCompression.decompressTextureCoordinates(buffer[index], cartesian2Scratch);
-            result.x = xy.x;
-            result.y = xy.y;
-
-            var zh = AttributeCompression.AttributeCompression.decompressTextureCoordinates(buffer[index + 1], cartesian2Scratch);
-            result.z = zh.x;
-
-            return BoundingSphere.Matrix4.multiplyByPoint(this.fromScaledENU, result, result);
-        }
-
-        result.x = buffer[index];
-        result.y = buffer[index + 1];
-        result.z = buffer[index + 2];
-        return Cartesian2.Cartesian3.add(result, this.center, result);
-    };
-
-    TerrainEncoding.prototype.decodeTextureCoordinates = function(buffer, index, result) {
-        if (!when.defined(result)) {
-            result = new Cartesian2.Cartesian2();
-        }
-
-        index *= this.getStride();
-
-        if (this.quantization === TerrainQuantization$1.BITS12) {
-            return AttributeCompression.AttributeCompression.decompressTextureCoordinates(buffer[index + 2], result);
-        }
-
-        return Cartesian2.Cartesian2.fromElements(buffer[index + 4], buffer[index + 5], result);
-    };
-
-    TerrainEncoding.prototype.decodeHeight = function(buffer, index) {
-        index *= this.getStride();
-
-        if (this.quantization === TerrainQuantization$1.BITS12) {
-            var zh = AttributeCompression.AttributeCompression.decompressTextureCoordinates(buffer[index + 1], cartesian2Scratch);
-            return zh.y * (this.maximumHeight - this.minimumHeight) + this.minimumHeight;
-        }
-
-        return buffer[index + 3];
-    };
-
-    TerrainEncoding.prototype.decodeWebMercatorT = function(buffer, index) {
-        index *= this.getStride();
-
-        if (this.quantization === TerrainQuantization$1.BITS12) {
-            return AttributeCompression.AttributeCompression.decompressTextureCoordinates(buffer[index + 3], cartesian2Scratch).x;
-        }
-
-        return buffer[index + 6];
-    };
-
-    TerrainEncoding.prototype.getOctEncodedNormal = function(buffer, index, result) {
-        var stride = this.getStride();
-        index = (index + 1) * stride - 1;
-
-        var temp = buffer[index] / 256.0;
-        var x = Math.floor(temp);
-        var y = (temp - x) * 256.0;
-
-        return Cartesian2.Cartesian2.fromElements(x, y, result);
-    };
-
-    TerrainEncoding.prototype.getStride = function() {
-        var vertexStride;
-
-        switch (this.quantization) {
-            case TerrainQuantization$1.BITS12:
-                vertexStride = 3;
-                break;
-            default:
-                vertexStride = 6;
-        }
-
-        if (this.hasWebMercatorT) {
-            ++vertexStride;
-        }
-
-        if (this.hasVertexNormals) {
-            ++vertexStride;
-        }
-
-        return vertexStride;
-    };
-
-    var attributesNone = {
-        position3DAndHeight : 0,
-        textureCoordAndEncodedNormals : 1
-    };
-    var attributes = {
-        compressed0 : 0,
-        compressed1 : 1
-    };
-
-    TerrainEncoding.prototype.getAttributes = function(buffer) {
-        var datatype = ComponentDatatype.ComponentDatatype.FLOAT;
-        var sizeInBytes = ComponentDatatype.ComponentDatatype.getSizeInBytes(datatype);
-        var stride;
-
-        if (this.quantization === TerrainQuantization$1.NONE) {
-            var position3DAndHeightLength = 4;
-            var numTexCoordComponents = 2;
-
-            if (this.hasWebMercatorT) {
-                ++numTexCoordComponents;
-            }
-
-            if (this.hasVertexNormals) {
-                ++numTexCoordComponents;
-            }
-
-            stride = (position3DAndHeightLength + numTexCoordComponents) * sizeInBytes;
-
-            return [{
-                index : attributesNone.position3DAndHeight,
-                vertexBuffer : buffer,
-                componentDatatype : datatype,
-                componentsPerAttribute : position3DAndHeightLength,
-                offsetInBytes : 0,
-                strideInBytes : stride
-            }, {
-                index : attributesNone.textureCoordAndEncodedNormals,
-                vertexBuffer : buffer,
-                componentDatatype : datatype,
-                componentsPerAttribute : numTexCoordComponents,
-                offsetInBytes : position3DAndHeightLength * sizeInBytes,
-                strideInBytes : stride
-            }];
-        }
-
-        var numCompressed0 = 3;
-        var numCompressed1 = 0;
-
-        if (this.hasWebMercatorT || this.hasVertexNormals) {
-            ++numCompressed0;
-        }
-
-        if (this.hasWebMercatorT && this.hasVertexNormals) {
-            ++numCompressed1;
-
-            stride = (numCompressed0 + numCompressed1) * sizeInBytes;
-
-            return [{
-                index : attributes.compressed0,
-                vertexBuffer : buffer,
-                componentDatatype : datatype,
-                componentsPerAttribute : numCompressed0,
-                offsetInBytes : 0,
-                strideInBytes : stride
-            }, {
-                index : attributes.compressed1,
-                vertexBuffer : buffer,
-                componentDatatype : datatype,
-                componentsPerAttribute : numCompressed1,
-                offsetInBytes : numCompressed0 * sizeInBytes,
-                strideInBytes : stride
-            }];
-        }
-        return [{
-            index : attributes.compressed0,
-            vertexBuffer : buffer,
-            componentDatatype : datatype,
-            componentsPerAttribute : numCompressed0
-        }];
-    };
-
-    TerrainEncoding.prototype.getAttributeLocations = function() {
-        if (this.quantization === TerrainQuantization$1.NONE) {
-            return attributesNone;
-        }
-        return attributes;
-    };
-
-    TerrainEncoding.clone = function(encoding, result) {
-        if (!when.defined(result)) {
-            result = new TerrainEncoding();
-        }
-
-        result.quantization = encoding.quantization;
-        result.minimumHeight = encoding.minimumHeight;
-        result.maximumHeight = encoding.maximumHeight;
-        result.center = Cartesian2.Cartesian3.clone(encoding.center);
-        result.toScaledENU = BoundingSphere.Matrix4.clone(encoding.toScaledENU);
-        result.fromScaledENU = BoundingSphere.Matrix4.clone(encoding.fromScaledENU);
-        result.matrix = BoundingSphere.Matrix4.clone(encoding.matrix);
-        result.hasVertexNormals = encoding.hasVertexNormals;
-        result.hasWebMercatorT = encoding.hasWebMercatorT;
-        return result;
-    };
-
-    exports.EllipsoidalOccluder = EllipsoidalOccluder;
-    exports.TerrainEncoding = TerrainEncoding;
-
-});
diff --git a/libs/supermap/Workers/Transforms-2f2aa225.js b/libs/supermap/Workers/Transforms-2f2aa225.js
deleted file mode 100644
index 89dfdb3..0000000
--- a/libs/supermap/Workers/Transforms-2f2aa225.js
+++ /dev/null
@@ -1,4466 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './FeatureDetection-7bd32c34', './buildModuleUrl-46c77f41'], function (exports, when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, FeatureDetection, buildModuleUrl) { 'use strict';
-
-    /**
-         * A set of 4-dimensional coordinates used to represent rotation in 3-dimensional space.
-         * @alias Quaternion
-         * @constructor
-         *
-         * @param {Number} [x=0.0] The X component.
-         * @param {Number} [y=0.0] The Y component.
-         * @param {Number} [z=0.0] The Z component.
-         * @param {Number} [w=0.0] The W component.
-         *
-         * @see PackableForInterpolation
-         */
-        function Quaternion(x, y, z, w) {
-            /**
-             * The X component.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.x = when.defaultValue(x, 0.0);
-
-            /**
-             * The Y component.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.y = when.defaultValue(y, 0.0);
-
-            /**
-             * The Z component.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.z = when.defaultValue(z, 0.0);
-
-            /**
-             * The W component.
-             * @type {Number}
-             * @default 0.0
-             */
-            this.w = when.defaultValue(w, 0.0);
-        }
-
-        var fromAxisAngleScratch = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes a quaternion representing a rotation around an axis.
-         *
-         * @param {Cartesian3} axis The axis of rotation.
-         * @param {Number} angle The angle in radians to rotate around the axis.
-         * @param {Quaternion} [result] The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter or a new Quaternion instance if one was not provided.
-         */
-        Quaternion.fromAxisAngle = function(axis, angle, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('axis', axis);
-            Check.Check.typeOf.number('angle', angle);
-            //>>includeEnd('debug');
-
-            var halfAngle = angle / 2.0;
-            var s = Math.sin(halfAngle);
-            fromAxisAngleScratch = Cartesian2.Cartesian3.normalize(axis, fromAxisAngleScratch);
-
-            var x = fromAxisAngleScratch.x * s;
-            var y = fromAxisAngleScratch.y * s;
-            var z = fromAxisAngleScratch.z * s;
-            var w = Math.cos(halfAngle);
-            if (!when.defined(result)) {
-                return new Quaternion(x, y, z, w);
-            }
-            result.x = x;
-            result.y = y;
-            result.z = z;
-            result.w = w;
-            return result;
-        };
-
-        var fromRotationMatrixNext = [1, 2, 0];
-        var fromRotationMatrixQuat = new Array(3);
-        /**
-         * Computes a Quaternion from the provided Matrix3 instance.
-         *
-         * @param {Matrix3} matrix The rotation matrix.
-         * @param {Quaternion} [result] The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter or a new Quaternion instance if one was not provided.
-         *
-         * @see Matrix3.fromQuaternion
-         */
-        Quaternion.fromRotationMatrix = function(matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('matrix', matrix);
-            //>>includeEnd('debug');
-
-            var root;
-            var x;
-            var y;
-            var z;
-            var w;
-
-            var m00 = matrix[BoundingSphere.Matrix3.COLUMN0ROW0];
-            var m11 = matrix[BoundingSphere.Matrix3.COLUMN1ROW1];
-            var m22 = matrix[BoundingSphere.Matrix3.COLUMN2ROW2];
-            var trace = m00 + m11 + m22;
-
-            if (trace > 0.0) {
-                // |w| > 1/2, may as well choose w > 1/2
-                root = Math.sqrt(trace + 1.0); // 2w
-                w = 0.5 * root;
-                root = 0.5 / root; // 1/(4w)
-
-                x = (matrix[BoundingSphere.Matrix3.COLUMN1ROW2] - matrix[BoundingSphere.Matrix3.COLUMN2ROW1]) * root;
-                y = (matrix[BoundingSphere.Matrix3.COLUMN2ROW0] - matrix[BoundingSphere.Matrix3.COLUMN0ROW2]) * root;
-                z = (matrix[BoundingSphere.Matrix3.COLUMN0ROW1] - matrix[BoundingSphere.Matrix3.COLUMN1ROW0]) * root;
-            } else {
-                // |w| <= 1/2
-                var next = fromRotationMatrixNext;
-
-                var i = 0;
-                if (m11 > m00) {
-                    i = 1;
-                }
-                if (m22 > m00 && m22 > m11) {
-                    i = 2;
-                }
-                var j = next[i];
-                var k = next[j];
-
-                root = Math.sqrt(matrix[BoundingSphere.Matrix3.getElementIndex(i, i)] - matrix[BoundingSphere.Matrix3.getElementIndex(j, j)] - matrix[BoundingSphere.Matrix3.getElementIndex(k, k)] + 1.0);
-
-                var quat = fromRotationMatrixQuat;
-                quat[i] = 0.5 * root;
-                root = 0.5 / root;
-                w = (matrix[BoundingSphere.Matrix3.getElementIndex(k, j)] - matrix[BoundingSphere.Matrix3.getElementIndex(j, k)]) * root;
-                quat[j] = (matrix[BoundingSphere.Matrix3.getElementIndex(j, i)] + matrix[BoundingSphere.Matrix3.getElementIndex(i, j)]) * root;
-                quat[k] = (matrix[BoundingSphere.Matrix3.getElementIndex(k, i)] + matrix[BoundingSphere.Matrix3.getElementIndex(i, k)]) * root;
-
-                x = -quat[0];
-                y = -quat[1];
-                z = -quat[2];
-            }
-
-            if (!when.defined(result)) {
-                return new Quaternion(x, y, z, w);
-            }
-            result.x = x;
-            result.y = y;
-            result.z = z;
-            result.w = w;
-            return result;
-        };
-
-        var scratchHPRQuaternion = new Quaternion();
-        var scratchHeadingQuaternion = new Quaternion();
-        var scratchPitchQuaternion = new Quaternion();
-        var scratchRollQuaternion = new Quaternion();
-
-        /**
-         * Computes a rotation from the given heading, pitch and roll angles. Heading is the rotation about the
-         * negative z axis. Pitch is the rotation about the negative y axis. Roll is the rotation about
-         * the positive x axis.
-         *
-         * @param {HeadingPitchRoll} headingPitchRoll The rotation expressed as a heading, pitch and roll.
-         * @param {Quaternion} [result] The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter or a new Quaternion instance if none was provided.
-         */
-        Quaternion.fromHeadingPitchRoll = function(headingPitchRoll, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('headingPitchRoll', headingPitchRoll);
-            //>>includeEnd('debug');
-
-            scratchRollQuaternion = Quaternion.fromAxisAngle(Cartesian2.Cartesian3.UNIT_X, headingPitchRoll.roll, scratchHPRQuaternion);
-            scratchPitchQuaternion = Quaternion.fromAxisAngle(Cartesian2.Cartesian3.UNIT_Y, -headingPitchRoll.pitch, result);
-            result = Quaternion.multiply(scratchPitchQuaternion, scratchRollQuaternion, scratchPitchQuaternion);
-            scratchHeadingQuaternion = Quaternion.fromAxisAngle(Cartesian2.Cartesian3.UNIT_Z, -headingPitchRoll.heading, scratchHPRQuaternion);
-            return Quaternion.multiply(scratchHeadingQuaternion, result, result);
-        };
-
-        var sampledQuaternionAxis = new Cartesian2.Cartesian3();
-        var sampledQuaternionRotation = new Cartesian2.Cartesian3();
-        var sampledQuaternionTempQuaternion = new Quaternion();
-        var sampledQuaternionQuaternion0 = new Quaternion();
-        var sampledQuaternionQuaternion0Conjugate = new Quaternion();
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        Quaternion.packedLength = 4;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {Quaternion} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        Quaternion.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            array[startingIndex++] = value.x;
-            array[startingIndex++] = value.y;
-            array[startingIndex++] = value.z;
-            array[startingIndex] = value.w;
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {Quaternion} [result] The object into which to store the result.
-         * @returns {Quaternion} The modified result parameter or a new Quaternion instance if one was not provided.
-         */
-        Quaternion.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new Quaternion();
-            }
-            result.x = array[startingIndex];
-            result.y = array[startingIndex + 1];
-            result.z = array[startingIndex + 2];
-            result.w = array[startingIndex + 3];
-            return result;
-        };
-
-        /**
-         * The number of elements used to store the object into an array in its interpolatable form.
-         * @type {Number}
-         */
-        Quaternion.packedInterpolationLength = 3;
-
-        /**
-         * Converts a packed array into a form suitable for interpolation.
-         *
-         * @param {Number[]} packedArray The packed array.
-         * @param {Number} [startingIndex=0] The index of the first element to be converted.
-         * @param {Number} [lastIndex=packedArray.length] The index of the last element to be converted.
-         * @param {Number[]} result The object into which to store the result.
-         */
-        Quaternion.convertPackedArrayForInterpolation = function(packedArray, startingIndex, lastIndex, result) {
-            Quaternion.unpack(packedArray, lastIndex * 4, sampledQuaternionQuaternion0Conjugate);
-            Quaternion.conjugate(sampledQuaternionQuaternion0Conjugate, sampledQuaternionQuaternion0Conjugate);
-
-            for (var i = 0, len = lastIndex - startingIndex + 1; i < len; i++) {
-                var offset = i * 3;
-                Quaternion.unpack(packedArray, (startingIndex + i) * 4, sampledQuaternionTempQuaternion);
-
-                Quaternion.multiply(sampledQuaternionTempQuaternion, sampledQuaternionQuaternion0Conjugate, sampledQuaternionTempQuaternion);
-
-                if (sampledQuaternionTempQuaternion.w < 0) {
-                    Quaternion.negate(sampledQuaternionTempQuaternion, sampledQuaternionTempQuaternion);
-                }
-
-                Quaternion.computeAxis(sampledQuaternionTempQuaternion, sampledQuaternionAxis);
-                var angle = Quaternion.computeAngle(sampledQuaternionTempQuaternion);
-                result[offset] = sampledQuaternionAxis.x * angle;
-                result[offset + 1] = sampledQuaternionAxis.y * angle;
-                result[offset + 2] = sampledQuaternionAxis.z * angle;
-            }
-        };
-
-        /**
-         * Retrieves an instance from a packed array converted with {@link convertPackedArrayForInterpolation}.
-         *
-         * @param {Number[]} array The array previously packed for interpolation.
-         * @param {Number[]} sourceArray The original packed array.
-         * @param {Number} [firstIndex=0] The firstIndex used to convert the array.
-         * @param {Number} [lastIndex=packedArray.length] The lastIndex used to convert the array.
-         * @param {Quaternion} [result] The object into which to store the result.
-         * @returns {Quaternion} The modified result parameter or a new Quaternion instance if one was not provided.
-         */
-        Quaternion.unpackInterpolationResult = function(array, sourceArray, firstIndex, lastIndex, result) {
-            if (!when.defined(result)) {
-                result = new Quaternion();
-            }
-            Cartesian2.Cartesian3.fromArray(array, 0, sampledQuaternionRotation);
-            var magnitude = Cartesian2.Cartesian3.magnitude(sampledQuaternionRotation);
-
-            Quaternion.unpack(sourceArray, lastIndex * 4, sampledQuaternionQuaternion0);
-
-            if (magnitude === 0) {
-                Quaternion.clone(Quaternion.IDENTITY, sampledQuaternionTempQuaternion);
-            } else {
-                Quaternion.fromAxisAngle(sampledQuaternionRotation, magnitude, sampledQuaternionTempQuaternion);
-            }
-
-            return Quaternion.multiply(sampledQuaternionTempQuaternion, sampledQuaternionQuaternion0, result);
-        };
-
-        /**
-         * Duplicates a Quaternion instance.
-         *
-         * @param {Quaternion} quaternion The quaternion to duplicate.
-         * @param {Quaternion} [result] The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter or a new Quaternion instance if one was not provided. (Returns undefined if quaternion is undefined)
-         */
-        Quaternion.clone = function(quaternion, result) {
-            if (!when.defined(quaternion)) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                return new Quaternion(quaternion.x, quaternion.y, quaternion.z, quaternion.w);
-            }
-
-            result.x = quaternion.x;
-            result.y = quaternion.y;
-            result.z = quaternion.z;
-            result.w = quaternion.w;
-            return result;
-        };
-
-        /**
-         * Computes the conjugate of the provided quaternion.
-         *
-         * @param {Quaternion} quaternion The quaternion to conjugate.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.conjugate = function(quaternion, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('quaternion', quaternion);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = -quaternion.x;
-            result.y = -quaternion.y;
-            result.z = -quaternion.z;
-            result.w = quaternion.w;
-            return result;
-        };
-
-        /**
-         * Computes magnitude squared for the provided quaternion.
-         *
-         * @param {Quaternion} quaternion The quaternion to conjugate.
-         * @returns {Number} The magnitude squared.
-         */
-        Quaternion.magnitudeSquared = function(quaternion) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('quaternion', quaternion);
-            //>>includeEnd('debug');
-
-            return quaternion.x * quaternion.x + quaternion.y * quaternion.y + quaternion.z * quaternion.z + quaternion.w * quaternion.w;
-        };
-
-        /**
-         * Computes magnitude for the provided quaternion.
-         *
-         * @param {Quaternion} quaternion The quaternion to conjugate.
-         * @returns {Number} The magnitude.
-         */
-        Quaternion.magnitude = function(quaternion) {
-            return Math.sqrt(Quaternion.magnitudeSquared(quaternion));
-        };
-
-        /**
-         * Computes the normalized form of the provided quaternion.
-         *
-         * @param {Quaternion} quaternion The quaternion to normalize.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.normalize = function(quaternion, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var inverseMagnitude = 1.0 / Quaternion.magnitude(quaternion);
-            var x = quaternion.x * inverseMagnitude;
-            var y = quaternion.y * inverseMagnitude;
-            var z = quaternion.z * inverseMagnitude;
-            var w = quaternion.w * inverseMagnitude;
-
-            result.x = x;
-            result.y = y;
-            result.z = z;
-            result.w = w;
-            return result;
-        };
-
-        /**
-         * Computes the inverse of the provided quaternion.
-         *
-         * @param {Quaternion} quaternion The quaternion to normalize.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.inverse = function(quaternion, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var magnitudeSquared = Quaternion.magnitudeSquared(quaternion);
-            result = Quaternion.conjugate(quaternion, result);
-            return Quaternion.multiplyByScalar(result, 1.0 / magnitudeSquared, result);
-        };
-
-        /**
-         * Computes the componentwise sum of two quaternions.
-         *
-         * @param {Quaternion} left The first quaternion.
-         * @param {Quaternion} right The second quaternion.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.add = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = left.x + right.x;
-            result.y = left.y + right.y;
-            result.z = left.z + right.z;
-            result.w = left.w + right.w;
-            return result;
-        };
-
-        /**
-         * Computes the componentwise difference of two quaternions.
-         *
-         * @param {Quaternion} left The first quaternion.
-         * @param {Quaternion} right The second quaternion.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.subtract = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = left.x - right.x;
-            result.y = left.y - right.y;
-            result.z = left.z - right.z;
-            result.w = left.w - right.w;
-            return result;
-        };
-
-        /**
-         * Negates the provided quaternion.
-         *
-         * @param {Quaternion} quaternion The quaternion to be negated.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.negate = function(quaternion, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('quaternion', quaternion);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = -quaternion.x;
-            result.y = -quaternion.y;
-            result.z = -quaternion.z;
-            result.w = -quaternion.w;
-            return result;
-        };
-
-        /**
-         * Computes the dot (scalar) product of two quaternions.
-         *
-         * @param {Quaternion} left The first quaternion.
-         * @param {Quaternion} right The second quaternion.
-         * @returns {Number} The dot product.
-         */
-        Quaternion.dot = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            //>>includeEnd('debug');
-
-            return left.x * right.x + left.y * right.y + left.z * right.z + left.w * right.w;
-        };
-
-        /**
-         * Computes the product of two quaternions.
-         *
-         * @param {Quaternion} left The first quaternion.
-         * @param {Quaternion} right The second quaternion.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.multiply = function(left, right, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('left', left);
-            Check.Check.typeOf.object('right', right);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var leftX = left.x;
-            var leftY = left.y;
-            var leftZ = left.z;
-            var leftW = left.w;
-
-            var rightX = right.x;
-            var rightY = right.y;
-            var rightZ = right.z;
-            var rightW = right.w;
-
-            var x = leftW * rightX + leftX * rightW + leftY * rightZ - leftZ * rightY;
-            var y = leftW * rightY - leftX * rightZ + leftY * rightW + leftZ * rightX;
-            var z = leftW * rightZ + leftX * rightY - leftY * rightX + leftZ * rightW;
-            var w = leftW * rightW - leftX * rightX - leftY * rightY - leftZ * rightZ;
-
-            result.x = x;
-            result.y = y;
-            result.z = z;
-            result.w = w;
-            return result;
-        };
-
-        Quaternion.multiplyByVec = function(q,v, result) {
-            
-            var uv =  new Cartesian2.Cartesian3();
-            var uuv = new Cartesian2.Cartesian3();
-            
-            var qvec = new Cartesian2.Cartesian3(q.x,q.y,q.z);
-        
-            uv = Cartesian2.Cartesian3.cross(qvec,v,uv); 
-            uuv = Cartesian2.Cartesian3.cross(qvec,uv,uuv);
-            
-            var uv2 = new Cartesian2.Cartesian3();
-            uv2 = Cartesian2.Cartesian3.multiplyByScalar(uv,2.0 * q.w,uv2);
-            
-            var uuv2 = new Cartesian2.Cartesian3();
-            uuv2 = Cartesian2.Cartesian3.multiplyByScalar(uv,2.0,uuv2);
-        
-            result = Cartesian2.Cartesian3.add(v,uv2,result);
-            result = Cartesian2.Cartesian3.add(result,uuv2,result);
-            
-            return result;
-        };
-
-        /**
-         * Multiplies the provided quaternion componentwise by the provided scalar.
-         *
-         * @param {Quaternion} quaternion The quaternion to be scaled.
-         * @param {Number} scalar The scalar to multiply with.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.multiplyByScalar = function(quaternion, scalar, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('quaternion', quaternion);
-            Check.Check.typeOf.number('scalar', scalar);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = quaternion.x * scalar;
-            result.y = quaternion.y * scalar;
-            result.z = quaternion.z * scalar;
-            result.w = quaternion.w * scalar;
-            return result;
-        };
-
-        /**
-         * Divides the provided quaternion componentwise by the provided scalar.
-         *
-         * @param {Quaternion} quaternion The quaternion to be divided.
-         * @param {Number} scalar The scalar to divide by.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.divideByScalar = function(quaternion, scalar, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('quaternion', quaternion);
-            Check.Check.typeOf.number('scalar', scalar);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            result.x = quaternion.x / scalar;
-            result.y = quaternion.y / scalar;
-            result.z = quaternion.z / scalar;
-            result.w = quaternion.w / scalar;
-            return result;
-        };
-
-        /**
-         * Computes the axis of rotation of the provided quaternion.
-         *
-         * @param {Quaternion} quaternion The quaternion to use.
-         * @param {Cartesian3} result The object onto which to store the result.
-         * @returns {Cartesian3} The modified result parameter.
-         */
-        Quaternion.computeAxis = function(quaternion, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('quaternion', quaternion);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var w = quaternion.w;
-            if (Math.abs(w - 1.0) < _Math.CesiumMath.EPSILON6) {
-                result.x = result.y = result.z = 0;
-                return result;
-            }
-
-            var scalar = 1.0 / Math.sqrt(1.0 - (w * w));
-
-            result.x = quaternion.x * scalar;
-            result.y = quaternion.y * scalar;
-            result.z = quaternion.z * scalar;
-            return result;
-        };
-
-        /**
-         * Computes the angle of rotation of the provided quaternion.
-         *
-         * @param {Quaternion} quaternion The quaternion to use.
-         * @returns {Number} The angle of rotation.
-         */
-        Quaternion.computeAngle = function(quaternion) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('quaternion', quaternion);
-            //>>includeEnd('debug');
-
-            if (Math.abs(quaternion.w - 1.0) < _Math.CesiumMath.EPSILON6) {
-                return 0.0;
-            }
-            return 2.0 * Math.acos(quaternion.w);
-        };
-
-        var lerpScratch = new Quaternion();
-        /**
-         * Computes the linear interpolation or extrapolation at t using the provided quaternions.
-         *
-         * @param {Quaternion} start The value corresponding to t at 0.0.
-         * @param {Quaternion} end The value corresponding to t at 1.0.
-         * @param {Number} t The point along t at which to interpolate.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.lerp = function(start, end, t, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('start', start);
-            Check.Check.typeOf.object('end', end);
-            Check.Check.typeOf.number('t', t);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            lerpScratch = Quaternion.multiplyByScalar(end, t, lerpScratch);
-            result = Quaternion.multiplyByScalar(start, 1.0 - t, result);
-            return Quaternion.add(lerpScratch, result, result);
-        };
-
-        var slerpEndNegated = new Quaternion();
-        var slerpScaledP = new Quaternion();
-        var slerpScaledR = new Quaternion();
-        /**
-         * Computes the spherical linear interpolation or extrapolation at t using the provided quaternions.
-         *
-         * @param {Quaternion} start The value corresponding to t at 0.0.
-         * @param {Quaternion} end The value corresponding to t at 1.0.
-         * @param {Number} t The point along t at which to interpolate.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         *
-         * @see Quaternion#fastSlerp
-         */
-        Quaternion.slerp = function(start, end, t, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('start', start);
-            Check.Check.typeOf.object('end', end);
-            Check.Check.typeOf.number('t', t);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var dot = Quaternion.dot(start, end);
-
-            // The angle between start must be acute. Since q and -q represent
-            // the same rotation, negate q to get the acute angle.
-            var r = end;
-            if (dot < 0.0) {
-                dot = -dot;
-                r = slerpEndNegated = Quaternion.negate(end, slerpEndNegated);
-            }
-
-            // dot > 0, as the dot product approaches 1, the angle between the
-            // quaternions vanishes. use linear interpolation.
-            if (1.0 - dot < _Math.CesiumMath.EPSILON6) {
-                return Quaternion.lerp(start, r, t, result);
-            }
-
-            var theta = Math.acos(dot);
-            slerpScaledP = Quaternion.multiplyByScalar(start, Math.sin((1 - t) * theta), slerpScaledP);
-            slerpScaledR = Quaternion.multiplyByScalar(r, Math.sin(t * theta), slerpScaledR);
-            result = Quaternion.add(slerpScaledP, slerpScaledR, result);
-            return Quaternion.multiplyByScalar(result, 1.0 / Math.sin(theta), result);
-        };
-
-        /**
-         * The logarithmic quaternion function.
-         *
-         * @param {Quaternion} quaternion The unit quaternion.
-         * @param {Cartesian3} result The object onto which to store the result.
-         * @returns {Cartesian3} The modified result parameter.
-         */
-        Quaternion.log = function(quaternion, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('quaternion', quaternion);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var theta = _Math.CesiumMath.acosClamped(quaternion.w);
-            var thetaOverSinTheta = 0.0;
-
-            if (theta !== 0.0) {
-                thetaOverSinTheta = theta / Math.sin(theta);
-            }
-
-            return Cartesian2.Cartesian3.multiplyByScalar(quaternion, thetaOverSinTheta, result);
-        };
-
-        /**
-         * The exponential quaternion function.
-         *
-         * @param {Cartesian3} cartesian The cartesian.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         */
-        Quaternion.exp = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('cartesian', cartesian);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var theta = Cartesian2.Cartesian3.magnitude(cartesian);
-            var sinThetaOverTheta = 0.0;
-
-            if (theta !== 0.0) {
-                sinThetaOverTheta = Math.sin(theta) / theta;
-            }
-
-            result.x = cartesian.x * sinThetaOverTheta;
-            result.y = cartesian.y * sinThetaOverTheta;
-            result.z = cartesian.z * sinThetaOverTheta;
-            result.w = Math.cos(theta);
-
-            return result;
-        };
-
-        var squadScratchCartesian0 = new Cartesian2.Cartesian3();
-        var squadScratchCartesian1 = new Cartesian2.Cartesian3();
-        var squadScratchQuaternion0 = new Quaternion();
-        var squadScratchQuaternion1 = new Quaternion();
-
-        /**
-         * Computes an inner quadrangle point.
-         * <p>This will compute quaternions that ensure a squad curve is C<sup>1</sup>.</p>
-         *
-         * @param {Quaternion} q0 The first quaternion.
-         * @param {Quaternion} q1 The second quaternion.
-         * @param {Quaternion} q2 The third quaternion.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         *
-         * @see Quaternion#squad
-         */
-        Quaternion.computeInnerQuadrangle = function(q0, q1, q2, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('q0', q0);
-            Check.Check.typeOf.object('q1', q1);
-            Check.Check.typeOf.object('q2', q2);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var qInv = Quaternion.conjugate(q1, squadScratchQuaternion0);
-            Quaternion.multiply(qInv, q2, squadScratchQuaternion1);
-            var cart0 = Quaternion.log(squadScratchQuaternion1, squadScratchCartesian0);
-
-            Quaternion.multiply(qInv, q0, squadScratchQuaternion1);
-            var cart1 = Quaternion.log(squadScratchQuaternion1, squadScratchCartesian1);
-
-            Cartesian2.Cartesian3.add(cart0, cart1, cart0);
-            Cartesian2.Cartesian3.multiplyByScalar(cart0, 0.25, cart0);
-            Cartesian2.Cartesian3.negate(cart0, cart0);
-            Quaternion.exp(cart0, squadScratchQuaternion0);
-
-            return Quaternion.multiply(q1, squadScratchQuaternion0, result);
-        };
-
-        /**
-         * Computes the spherical quadrangle interpolation between quaternions.
-         *
-         * @param {Quaternion} q0 The first quaternion.
-         * @param {Quaternion} q1 The second quaternion.
-         * @param {Quaternion} s0 The first inner quadrangle.
-         * @param {Quaternion} s1 The second inner quadrangle.
-         * @param {Number} t The time in [0,1] used to interpolate.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         *
-         *
-         * @example
-         * // 1. compute the squad interpolation between two quaternions on a curve
-         * var s0 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[i - 1], quaternions[i], quaternions[i + 1], new Cesium.Quaternion());
-         * var s1 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[i], quaternions[i + 1], quaternions[i + 2], new Cesium.Quaternion());
-         * var q = Cesium.Quaternion.squad(quaternions[i], quaternions[i + 1], s0, s1, t, new Cesium.Quaternion());
-         *
-         * // 2. compute the squad interpolation as above but where the first quaternion is a end point.
-         * var s1 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[0], quaternions[1], quaternions[2], new Cesium.Quaternion());
-         * var q = Cesium.Quaternion.squad(quaternions[0], quaternions[1], quaternions[0], s1, t, new Cesium.Quaternion());
-         *
-         * @see Quaternion#computeInnerQuadrangle
-         */
-        Quaternion.squad = function(q0, q1, s0, s1, t, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('q0', q0);
-            Check.Check.typeOf.object('q1', q1);
-            Check.Check.typeOf.object('s0', s0);
-            Check.Check.typeOf.object('s1', s1);
-            Check.Check.typeOf.number('t', t);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var slerp0 = Quaternion.slerp(q0, q1, t, squadScratchQuaternion0);
-            var slerp1 = Quaternion.slerp(s0, s1, t, squadScratchQuaternion1);
-            return Quaternion.slerp(slerp0, slerp1, 2.0 * t * (1.0 - t), result);
-        };
-
-        var fastSlerpScratchQuaternion = new Quaternion();
-        var opmu = 1.90110745351730037;
-        var u = FeatureDetection.FeatureDetection.supportsTypedArrays() ? new Float32Array(8) : [];
-        var v = FeatureDetection.FeatureDetection.supportsTypedArrays() ? new Float32Array(8) : [];
-        var bT = FeatureDetection.FeatureDetection.supportsTypedArrays() ? new Float32Array(8) : [];
-        var bD = FeatureDetection.FeatureDetection.supportsTypedArrays() ? new Float32Array(8) : [];
-
-        for (var i = 0; i < 7; ++i) {
-            var s = i + 1.0;
-            var t = 2.0 * s + 1.0;
-            u[i] = 1.0 / (s * t);
-            v[i] = s / t;
-        }
-
-        u[7] = opmu / (8.0 * 17.0);
-        v[7] = opmu * 8.0 / 17.0;
-
-        /**
-         * Computes the spherical linear interpolation or extrapolation at t using the provided quaternions.
-         * This implementation is faster than {@link Quaternion#slerp}, but is only accurate up to 10<sup>-6</sup>.
-         *
-         * @param {Quaternion} start The value corresponding to t at 0.0.
-         * @param {Quaternion} end The value corresponding to t at 1.0.
-         * @param {Number} t The point along t at which to interpolate.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter.
-         *
-         * @see Quaternion#slerp
-         */
-        Quaternion.fastSlerp = function(start, end, t, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('start', start);
-            Check.Check.typeOf.object('end', end);
-            Check.Check.typeOf.number('t', t);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var x = Quaternion.dot(start, end);
-
-            var sign;
-            if (x >= 0) {
-                sign = 1.0;
-            } else {
-                sign = -1.0;
-                x = -x;
-            }
-
-            var xm1 = x - 1.0;
-            var d = 1.0 - t;
-            var sqrT = t * t;
-            var sqrD = d * d;
-
-            for (var i = 7; i >= 0; --i) {
-                bT[i] = (u[i] * sqrT - v[i]) * xm1;
-                bD[i] = (u[i] * sqrD - v[i]) * xm1;
-            }
-
-            var cT = sign * t * (
-                1.0 + bT[0] * (1.0 + bT[1] * (1.0 + bT[2] * (1.0 + bT[3] * (
-                1.0 + bT[4] * (1.0 + bT[5] * (1.0 + bT[6] * (1.0 + bT[7]))))))));
-            var cD = d * (
-                1.0 + bD[0] * (1.0 + bD[1] * (1.0 + bD[2] * (1.0 + bD[3] * (
-                1.0 + bD[4] * (1.0 + bD[5] * (1.0 + bD[6] * (1.0 + bD[7]))))))));
-
-            var temp = Quaternion.multiplyByScalar(start, cD, fastSlerpScratchQuaternion);
-            Quaternion.multiplyByScalar(end, cT, result);
-            return Quaternion.add(temp, result, result);
-        };
-
-        /**
-         * Computes the spherical quadrangle interpolation between quaternions.
-         * An implementation that is faster than {@link Quaternion#squad}, but less accurate.
-         *
-         * @param {Quaternion} q0 The first quaternion.
-         * @param {Quaternion} q1 The second quaternion.
-         * @param {Quaternion} s0 The first inner quadrangle.
-         * @param {Quaternion} s1 The second inner quadrangle.
-         * @param {Number} t The time in [0,1] used to interpolate.
-         * @param {Quaternion} result The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter or a new instance if none was provided.
-         *
-         * @see Quaternion#squad
-         */
-        Quaternion.fastSquad = function(q0, q1, s0, s1, t, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('q0', q0);
-            Check.Check.typeOf.object('q1', q1);
-            Check.Check.typeOf.object('s0', s0);
-            Check.Check.typeOf.object('s1', s1);
-            Check.Check.typeOf.number('t', t);
-            Check.Check.typeOf.object('result', result);
-            //>>includeEnd('debug');
-
-            var slerp0 = Quaternion.fastSlerp(q0, q1, t, squadScratchQuaternion0);
-            var slerp1 = Quaternion.fastSlerp(s0, s1, t, squadScratchQuaternion1);
-            return Quaternion.fastSlerp(slerp0, slerp1, 2.0 * t * (1.0 - t), result);
-        };
-
-        /**
-         * Compares the provided quaternions componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Quaternion} [left] The first quaternion.
-         * @param {Quaternion} [right] The second quaternion.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        Quaternion.equals = function(left, right) {
-            return (left === right) ||
-                   ((when.defined(left)) &&
-                    (when.defined(right)) &&
-                    (left.x === right.x) &&
-                    (left.y === right.y) &&
-                    (left.z === right.z) &&
-                    (left.w === right.w));
-        };
-
-        /**
-         * Compares the provided quaternions componentwise and returns
-         * <code>true</code> if they are within the provided epsilon,
-         * <code>false</code> otherwise.
-         *
-         * @param {Quaternion} [left] The first quaternion.
-         * @param {Quaternion} [right] The second quaternion.
-         * @param {Number} epsilon The epsilon to use for equality testing.
-         * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Quaternion.equalsEpsilon = function(left, right, epsilon) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('epsilon', epsilon);
-            //>>includeEnd('debug');
-
-            return (left === right) ||
-                   ((when.defined(left)) &&
-                    (when.defined(right)) &&
-                    (Math.abs(left.x - right.x) <= epsilon) &&
-                    (Math.abs(left.y - right.y) <= epsilon) &&
-                    (Math.abs(left.z - right.z) <= epsilon) &&
-                    (Math.abs(left.w - right.w) <= epsilon));
-        };
-
-        /**
-         * An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 0.0).
-         *
-         * @type {Quaternion}
-         * @constant
-         */
-        Quaternion.ZERO = Object.freeze(new Quaternion(0.0, 0.0, 0.0, 0.0));
-
-        /**
-         * An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 1.0).
-         *
-         * @type {Quaternion}
-         * @constant
-         */
-        Quaternion.IDENTITY = Object.freeze(new Quaternion(0.0, 0.0, 0.0, 1.0));
-
-        /**
-         * Duplicates this Quaternion instance.
-         *
-         * @param {Quaternion} [result] The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter or a new Quaternion instance if one was not provided.
-         */
-        Quaternion.prototype.clone = function(result) {
-            return Quaternion.clone(this, result);
-        };
-
-        /**
-         * Compares this and the provided quaternion componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {Quaternion} [right] The right hand side quaternion.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        Quaternion.prototype.equals = function(right) {
-            return Quaternion.equals(this, right);
-        };
-
-        /**
-         * Compares this and the provided quaternion componentwise and returns
-         * <code>true</code> if they are within the provided epsilon,
-         * <code>false</code> otherwise.
-         *
-         * @param {Quaternion} [right] The right hand side quaternion.
-         * @param {Number} epsilon The epsilon to use for equality testing.
-         * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-         */
-        Quaternion.prototype.equalsEpsilon = function(right, epsilon) {
-            return Quaternion.equalsEpsilon(this, right, epsilon);
-        };
-
-        /**
-         * Returns a string representing this quaternion in the format (x, y, z, w).
-         *
-         * @returns {String} A string representing this Quaternion.
-         */
-        Quaternion.prototype.toString = function() {
-            return '(' + this.x + ', ' + this.y + ', ' + this.z + ', ' + this.w + ')';
-        };
-
-    /**
-         * Finds an item in a sorted array.
-         *
-         * @exports binarySearch
-         * @param {Array} array The sorted array to search.
-         * @param {*} itemToFind The item to find in the array.
-         * @param {binarySearch~Comparator} comparator The function to use to compare the item to
-         *        elements in the array.
-         * @returns {Number} The index of <code>itemToFind</code> in the array, if it exists.  If <code>itemToFind</code>
-         *        does not exist, the return value is a negative number which is the bitwise complement (~)
-         *        of the index before which the itemToFind should be inserted in order to maintain the
-         *        sorted order of the array.
-         *
-         * @example
-         * // Create a comparator function to search through an array of numbers.
-         * function comparator(a, b) {
-         *     return a - b;
-         * };
-         * var numbers = [0, 2, 4, 6, 8];
-         * var index = Cesium.binarySearch(numbers, 6, comparator); // 3
-         */
-        function binarySearch(array, itemToFind, comparator) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            Check.Check.defined('itemToFind', itemToFind);
-            Check.Check.defined('comparator', comparator);
-            //>>includeEnd('debug');
-
-            var low = 0;
-            var high = array.length - 1;
-            var i;
-            var comparison;
-
-            while (low <= high) {
-                i = ~~((low + high) / 2);
-                comparison = comparator(array[i], itemToFind);
-                if (comparison < 0) {
-                    low = i + 1;
-                    continue;
-                }
-                if (comparison > 0) {
-                    high = i - 1;
-                    continue;
-                }
-                return i;
-            }
-            return ~(high + 1);
-        }
-
-    /**
-         * A set of Earth Orientation Parameters (EOP) sampled at a time.
-         *
-         * @alias EarthOrientationParametersSample
-         * @constructor
-         *
-         * @param {Number} xPoleWander The pole wander about the X axis, in radians.
-         * @param {Number} yPoleWander The pole wander about the Y axis, in radians.
-         * @param {Number} xPoleOffset The offset to the Celestial Intermediate Pole (CIP) about the X axis, in radians.
-         * @param {Number} yPoleOffset The offset to the Celestial Intermediate Pole (CIP) about the Y axis, in radians.
-         * @param {Number} ut1MinusUtc The difference in time standards, UT1 - UTC, in seconds.
-         *
-         * @private
-         */
-        function EarthOrientationParametersSample(xPoleWander, yPoleWander, xPoleOffset, yPoleOffset, ut1MinusUtc) {
-            /**
-             * The pole wander about the X axis, in radians.
-             * @type {Number}
-             */
-            this.xPoleWander = xPoleWander;
-
-            /**
-             * The pole wander about the Y axis, in radians.
-             * @type {Number}
-             */
-            this.yPoleWander = yPoleWander;
-
-            /**
-             * The offset to the Celestial Intermediate Pole (CIP) about the X axis, in radians.
-             * @type {Number}
-             */
-            this.xPoleOffset = xPoleOffset;
-
-            /**
-             * The offset to the Celestial Intermediate Pole (CIP) about the Y axis, in radians.
-             * @type {Number}
-             */
-            this.yPoleOffset = yPoleOffset;
-
-            /**
-             * The difference in time standards, UT1 - UTC, in seconds.
-             * @type {Number}
-             */
-            this.ut1MinusUtc = ut1MinusUtc;
-        }
-
-    /**
-    @license
-    sprintf.js from the php.js project - https://github.com/kvz/phpjs
-    Directly from https://github.com/kvz/phpjs/blob/master/functions/strings/sprintf.js
-
-    php.js is copyright 2012 Kevin van Zonneveld.
-
-    Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld
-    (http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White
-    (http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jack, Jonas
-    Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson, Legaev
-    Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa,
-    Rafa? Kukawski (http://blog.kukawski.pl), lmeyrick
-    (https://sourceforge.net/projects/bcmath-js/), Nate, Philippe Baumann,
-    Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), Carlos R.
-    L. Rodrigues (http://www.jsfromhell.com), Ash Searle
-    (http://hexmen.com/blog/), Jani Hartikainen, travc, Ole Vrijenhoek,
-    Erkekjetter, Michael Grier, Rafa? Kukawski (http://kukawski.pl), Johnny
-    Mast (http://www.phpvrouwen.nl), T.Wild, d3x,
-    http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript,
-    Rafa? Kukawski (http://blog.kukawski.pl/), stag019, pilus, WebDevHobo
-    (http://webdevhobo.blogspot.com/), marrtins, GeekFG
-    (http://geekfg.blogspot.com), Andrea Giammarchi
-    (http://webreflection.blogspot.com), Arpad Ray (mailto:arpad@php.net),
-    gorthaur, Paul Smith, Tim de Koning (http://www.kingsquare.nl), Joris, Oleg
-    Eremeev, Steve Hilder, majak, gettimeofday, KELAN, Josh Fraser
-    (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/),
-    Marc Palau, Martin
-    (http://www.erlenwiese.de/), Breaking Par Consulting Inc
-    (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7),
-    Chris, Mirek Slugen, saulius, Alfonso Jimenez
-    (http://www.alfonsojimenez.com), Diplom@t (http://difane.com/), felix,
-    Mailfaker (http://www.weedem.fr/), Tyler Akins (http://rumkin.com), Caio
-    Ariede (http://caioariede.com), Robin, Kankrelune
-    (http://www.webfaktory.info/), Karol Kowalski, Imgen Tata
-    (http://www.myipdf.com/), mdsjack (http://www.mdsjack.bo.it), Dreamer,
-    Felix Geisendoerfer (http://www.debuggable.com/felix), Lars Fischer, AJ,
-    David, Aman Gupta, Michael White, Public Domain
-    (http://www.json.org/json2.js), Steven Levithan
-    (http://blog.stevenlevithan.com), Sakimori, Pellentesque Malesuada,
-    Thunder.m, Dj (http://phpjs.org/functions/htmlentities:425#comment_134018),
-    Steve Clay, David James, Francois, class_exists, nobbler, T. Wild, Itsacon
-    (http://www.itsacon.net/), date, Ole Vrijenhoek (http://www.nervous.nl/),
-    Fox, Raphael (Ao RUDLER), Marco, noname, Mateusz "loonquawl" Zalega, Frank
-    Forte, Arno, ger, mktime, john (http://www.jd-tech.net), Nick Kolosov
-    (http://sammy.ru), marc andreu, Scott Cariss, Douglas Crockford
-    (http://javascript.crockford.com), madipta, Slawomir Kaniecki,
-    ReverseSyntax, Nathan, Alex Wilson, kenneth, Bayron Guevara, Adam Wallner
-    (http://web2.bitbaro.hu/), paulo kuong, jmweb, Lincoln Ramsay, djmix,
-    Pyerre, Jon Hohle, Thiago Mata (http://thiagomata.blog.com), lmeyrick
-    (https://sourceforge.net/projects/bcmath-js/this.), Linuxworld, duncan,
-    Gilbert, Sanjoy Roy, Shingo, sankai, Oskar Larsson H?gfeldt
-    (http://oskar-lh.name/), Denny Wardhana, 0m3r, Everlasto, Subhasis Deb,
-    josh, jd, Pier Paolo Ramon (http://www.mastersoup.com/), P, merabi, Soren
-    Hansen, Eugene Bulkin (http://doubleaw.com/), Der Simon
-    (http://innerdom.sourceforge.net/), echo is bad, Ozh, XoraX
-    (http://www.xorax.info), EdorFaus, JB, J A R, Marc Jansen, Francesco, LH,
-    Stoyan Kyosev (http://www.svest.org/), nord_ua, omid
-    (http://phpjs.org/functions/380:380#comment_137122), Brad Touesnard, MeEtc
-    (http://yass.meetcweb.com), Peter-Paul Koch
-    (http://www.quirksmode.org/js/beat.html), Olivier Louvignes
-    (http://mg-crea.com/), T0bsn, Tim Wiel, Bryan Elliott, Jalal Berrami,
-    Martin, JT, David Randall, Thomas Beaucourt (http://www.webapp.fr), taith,
-    vlado houba, Pierre-Luc Paour, Kristof Coomans (SCK-CEN Belgian Nucleair
-    Research Centre), Martin Pool, Kirk Strobeck, Rick Waldron, Brant Messenger
-    (http://www.brantmessenger.com/), Devan Penner-Woelk, Saulo Vallory, Wagner
-    B. Soares, Artur Tchernychev, Valentina De Rosa, Jason Wong
-    (http://carrot.org/), Christoph, Daniel Esteban, strftime, Mick@el, rezna,
-    Simon Willison (http://simonwillison.net), Anton Ongson, Gabriel Paderni,
-    Marco van Oort, penutbutterjelly, Philipp Lenssen, Bjorn Roesbeke
-    (http://www.bjornroesbeke.be/), Bug?, Eric Nagel, Tomasz Wesolowski,
-    Evertjan Garretsen, Bobby Drake, Blues (http://tech.bluesmoon.info/), Luke
-    Godfrey, Pul, uestla, Alan C, Ulrich, Rafal Kukawski, Yves Sucaet,
-    sowberry, Norman "zEh" Fuchs, hitwork, Zahlii, johnrembo, Nick Callen,
-    Steven Levithan (stevenlevithan.com), ejsanders, Scott Baker, Brian Tafoya
-    (http://www.premasolutions.com/), Philippe Jausions
-    (http://pear.php.net/user/jausions), Aidan Lister
-    (http://aidanlister.com/), Rob, e-mike, HKM, ChaosNo1, metjay, strcasecmp,
-    strcmp, Taras Bogach, jpfle, Alexander Ermolaev
-    (http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando,
-    dptr1988, Le Torbi, James (http://www.james-bell.co.uk/), Pedro Tainha
-    (http://www.pedrotainha.com), James, Arnout Kazemier
-    (http://www.3rd-Eden.com), Chris McMacken, gabriel paderni, Yannoo,
-    FGFEmperor, baris ozdil, Tod Gentille, Greg Frazier, jakes, 3D-GRAF, Allan
-    Jensen (http://www.winternet.no), Howard Yeend, Benjamin Lupton, davook,
-    daniel airton wermann (http://wermann.com.br), Atli T¨®r, Maximusya, Ryan
-    W Tenney (http://ryan.10e.us), Alexander M Beedie, fearphage
-    (http://http/my.opera.com/fearphage/), Nathan Sepulveda, Victor, Matteo,
-    Billy, stensi, Cord, Manish, T.J. Leahy, Riddler
-    (http://www.frontierwebdev.com/), Rafa? Kukawski, FremyCompany, Matt
-    Bradley, Tim de Koning, Luis Salazar (http://www.freaky-media.com/), Diogo
-    Resende, Rival, Andrej Pavlovic, Garagoth, Le Torbi
-    (http://www.letorbi.de/), Dino, Josep Sanz (http://www.ws3.es/), rem,
-    Russell Walker (http://www.nbill.co.uk/), Jamie Beck
-    (http://www.terabit.ca/), setcookie, Michael, YUI Library:
-    http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at
-    http://hacks.bluesmoon.info/strftime/strftime.js, Ben
-    (http://benblume.co.uk/), DtTvB
-    (http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, William,
-    meo, incidence, Cagri Ekin, Amirouche, Amir Habibi
-    (http://www.residence-mixte.com/), Luke Smith (http://lucassmith.name),
-    Kheang Hok Chin (http://www.distantia.ca/), Jay Klehr, Lorenzo Pisani,
-    Tony, Yen-Wei Liu, Greenseed, mk.keck, Leslie Hoare, dude, booeyOH, Ben
-    Bryan
-
-    Licensed under the MIT (MIT-LICENSE.txt) license.
-
-    Permission is hereby granted, free of charge, to any person obtaining a
-    copy of this software and associated documentation files (the
-    "Software"), to deal in the Software without restriction, including
-    without limitation the rights to use, copy, modify, merge, publish,
-    distribute, sublicense, and/or sell copies of the Software, and to
-    permit persons to whom the Software is furnished to do so, subject to
-    the following conditions:
-
-    The above copyright notice and this permission notice shall be included
-    in all copies or substantial portions of the Software.
-
-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-    IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES
-    OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-    ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-    OTHER DEALINGS IN THE SOFTWARE.
-    */
-
-    function sprintf () {
-      // http://kevin.vanzonneveld.net
-      // +   original by: Ash Searle (http://hexmen.com/blog/)
-      // + namespaced by: Michael White (http://getsprink.com)
-      // +    tweaked by: Jack
-      // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
-      // +      input by: Paulo Freitas
-      // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
-      // +      input by: Brett Zamir (http://brett-zamir.me)
-      // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
-      // +   improved by: Dj
-      // +   improved by: Allidylls
-      // *     example 1: sprintf("%01.2f", 123.1);
-      // *     returns 1: 123.10
-      // *     example 2: sprintf("[%10s]", 'monkey');
-      // *     returns 2: '[    monkey]'
-      // *     example 3: sprintf("[%'#10s]", 'monkey');
-      // *     returns 3: '[####monkey]'
-      // *     example 4: sprintf("%d", 123456789012345);
-      // *     returns 4: '123456789012345'
-      var regex = /%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g;
-      var a = arguments,
-        i = 0,
-        format = a[i++];
-
-      // pad()
-      var pad = function (str, len, chr, leftJustify) {
-        if (!chr) {
-          chr = ' ';
-        }
-
-        var padding = (str.length >= len) ? '' : Array(1 + len - str.length >>> 0).join(chr);
-        return leftJustify ? str + padding : padding + str;
-      };
-
-      // justify()
-      var justify = function (value, prefix, leftJustify, minWidth, zeroPad, customPadChar) {
-        var diff = minWidth - value.length;
-        if (diff > 0) {
-          if (leftJustify || !zeroPad) {
-            value = pad(value, minWidth, customPadChar, leftJustify);
-          } else {
-            value = value.slice(0, prefix.length) + pad('', diff, '0', true) + value.slice(prefix.length);
-          }
-        }
-        return value;
-      };
-
-      // formatBaseX()
-      var formatBaseX = function (value, base, prefix, leftJustify, minWidth, precision, zeroPad) {
-        // Note: casts negative numbers to positive ones
-        var number = value >>> 0;
-        prefix = prefix && number && {
-          '2': '0b',
-          '8': '0',
-          '16': '0x'
-        }[base] || '';
-        value = prefix + pad(number.toString(base), precision || 0, '0', false);
-        return justify(value, prefix, leftJustify, minWidth, zeroPad);
-      };
-
-      // formatString()
-      var formatString = function (value, leftJustify, minWidth, precision, zeroPad, customPadChar) {
-        if (precision != null) {
-          value = value.slice(0, precision);
-        }
-        return justify(value, '', leftJustify, minWidth, zeroPad, customPadChar);
-      };
-
-      // doFormat()
-      var doFormat = function (substring, valueIndex, flags, minWidth, _, precision, type) {
-        var number;
-        var prefix;
-        var method;
-        var textTransform;
-        var value;
-
-        if (substring == '%%') {
-          return '%';
-        }
-
-        // parse flags
-        var leftJustify = false,
-          positivePrefix = '',
-          zeroPad = false,
-          prefixBaseX = false,
-          customPadChar = ' ';
-        var flagsl = flags.length;
-        for (var j = 0; flags && j < flagsl; j++) {
-          switch (flags.charAt(j)) {
-          case ' ':
-            positivePrefix = ' ';
-            break;
-          case '+':
-            positivePrefix = '+';
-            break;
-          case '-':
-            leftJustify = true;
-            break;
-          case "'":
-            customPadChar = flags.charAt(j + 1);
-            break;
-          case '0':
-            zeroPad = true;
-            break;
-          case '#':
-            prefixBaseX = true;
-            break;
-          }
-        }
-
-        // parameters may be null, undefined, empty-string or real valued
-        // we want to ignore null, undefined and empty-string values
-        if (!minWidth) {
-          minWidth = 0;
-        } else if (minWidth == '*') {
-          minWidth = +a[i++];
-        } else if (minWidth.charAt(0) == '*') {
-          minWidth = +a[minWidth.slice(1, -1)];
-        } else {
-          minWidth = +minWidth;
-        }
-
-        // Note: undocumented perl feature:
-        if (minWidth < 0) {
-          minWidth = -minWidth;
-          leftJustify = true;
-        }
-
-        if (!isFinite(minWidth)) {
-          throw new Error('sprintf: (minimum-)width must be finite');
-        }
-
-        if (!precision) {
-          precision = 'fFeE'.indexOf(type) > -1 ? 6 : (type == 'd') ? 0 : undefined;
-        } else if (precision == '*') {
-          precision = +a[i++];
-        } else if (precision.charAt(0) == '*') {
-          precision = +a[precision.slice(1, -1)];
-        } else {
-          precision = +precision;
-        }
-
-        // grab value using valueIndex if required?
-        value = valueIndex ? a[valueIndex.slice(0, -1)] : a[i++];
-
-        switch (type) {
-        case 's':
-          return formatString(String(value), leftJustify, minWidth, precision, zeroPad, customPadChar);
-        case 'c':
-          return formatString(String.fromCharCode(+value), leftJustify, minWidth, precision, zeroPad);
-        case 'b':
-          return formatBaseX(value, 2, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
-        case 'o':
-          return formatBaseX(value, 8, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
-        case 'x':
-          return formatBaseX(value, 16, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
-        case 'X':
-          return formatBaseX(value, 16, prefixBaseX, leftJustify, minWidth, precision, zeroPad).toUpperCase();
-        case 'u':
-          return formatBaseX(value, 10, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
-        case 'i':
-        case 'd':
-          number = +value || 0;
-          number = Math.round(number - number % 1); // Plain Math.round doesn't just truncate
-          prefix = number < 0 ? '-' : positivePrefix;
-          value = prefix + pad(String(Math.abs(number)), precision, '0', false);
-          return justify(value, prefix, leftJustify, minWidth, zeroPad);
-        case 'e':
-        case 'E':
-        case 'f': // Should handle locales (as per setlocale)
-        case 'F':
-        case 'g':
-        case 'G':
-          number = +value;
-          prefix = number < 0 ? '-' : positivePrefix;
-          method = ['toExponential', 'toFixed', 'toPrecision']['efg'.indexOf(type.toLowerCase())];
-          textTransform = ['toString', 'toUpperCase']['eEfFgG'.indexOf(type) % 2];
-          value = prefix + Math.abs(number)[method](precision);
-          return justify(value, prefix, leftJustify, minWidth, zeroPad)[textTransform]();
-        default:
-          return substring;
-        }
-      };
-
-      return format.replace(regex, doFormat);
-    }
-
-    /**
-         * Represents a Gregorian date in a more precise format than the JavaScript Date object.
-         * In addition to submillisecond precision, this object can also represent leap seconds.
-         * @alias GregorianDate
-         * @constructor
-         *
-         * @see JulianDate#toGregorianDate
-         */
-        function GregorianDate(year, month, day, hour, minute, second, millisecond, isLeapSecond) {
-            /**
-             * Gets or sets the year as a whole number.
-             * @type {Number}
-             */
-            this.year = year;
-            /**
-             * Gets or sets the month as a whole number with range [1, 12].
-             * @type {Number}
-             */
-            this.month = month;
-            /**
-             * Gets or sets the day of the month as a whole number starting at 1.
-             * @type {Number}
-             */
-            this.day = day;
-            /**
-             * Gets or sets the hour as a whole number with range [0, 23].
-             * @type {Number}
-             */
-            this.hour = hour;
-            /**
-             * Gets or sets the minute of the hour as a whole number with range [0, 59].
-             * @type {Number}
-             */
-            this.minute = minute;
-            /**
-             * Gets or sets the second of the minute as a whole number with range [0, 60], with 60 representing a leap second.
-             * @type {Number}
-             */
-            this.second = second;
-            /**
-             * Gets or sets the millisecond of the second as a floating point number with range [0.0, 1000.0).
-             * @type {Number}
-             */
-            this.millisecond = millisecond;
-            /**
-             * Gets or sets whether this time is during a leap second.
-             * @type {Boolean}
-             */
-            this.isLeapSecond = isLeapSecond;
-        }
-
-    /**
-         * Determines if a given date is a leap year.
-         *
-         * @exports isLeapYear
-         *
-         * @param {Number} year The year to be tested.
-         * @returns {Boolean} True if <code>year</code> is a leap year.
-         *
-         * @example
-         * var leapYear = Cesium.isLeapYear(2000); // true
-         */
-        function isLeapYear(year) {
-            //>>includeStart('debug', pragmas.debug);
-            if (year === null || isNaN(year)) {
-                throw new Check.DeveloperError('year is required and must be a number.');
-            }
-            //>>includeEnd('debug');
-
-            return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);
-        }
-
-    /**
-         * Describes a single leap second, which is constructed from a {@link JulianDate} and a
-         * numerical offset representing the number of seconds TAI is ahead of the UTC time standard.
-         * @alias LeapSecond
-         * @constructor
-         *
-         * @param {JulianDate} [date] A Julian date representing the time of the leap second.
-         * @param {Number} [offset] The cumulative number of seconds that TAI is ahead of UTC at the provided date.
-         */
-        function LeapSecond(date, offset) {
-            /**
-             * Gets or sets the date at which this leap second occurs.
-             * @type {JulianDate}
-             */
-            this.julianDate = date;
-
-            /**
-             * Gets or sets the cumulative number of seconds between the UTC and TAI time standards at the time
-             * of this leap second.
-             * @type {Number}
-             */
-            this.offset = offset;
-        }
-
-    /**
-         * Constants for time conversions like those done by {@link JulianDate}.
-         *
-         * @exports TimeConstants
-         *
-         * @see JulianDate
-         *
-         * @private
-         */
-        var TimeConstants = {
-            /**
-             * The number of seconds in one millisecond: <code>0.001</code>
-             * @type {Number}
-             * @constant
-             */
-            SECONDS_PER_MILLISECOND : 0.001,
-
-            /**
-             * The number of seconds in one minute: <code>60</code>.
-             * @type {Number}
-             * @constant
-             */
-            SECONDS_PER_MINUTE : 60.0,
-
-            /**
-             * The number of minutes in one hour: <code>60</code>.
-             * @type {Number}
-             * @constant
-             */
-            MINUTES_PER_HOUR : 60.0,
-
-            /**
-             * The number of hours in one day: <code>24</code>.
-             * @type {Number}
-             * @constant
-             */
-            HOURS_PER_DAY : 24.0,
-
-            /**
-             * The number of seconds in one hour: <code>3600</code>.
-             * @type {Number}
-             * @constant
-             */
-            SECONDS_PER_HOUR : 3600.0,
-
-            /**
-             * The number of minutes in one day: <code>1440</code>.
-             * @type {Number}
-             * @constant
-             */
-            MINUTES_PER_DAY : 1440.0,
-
-            /**
-             * The number of seconds in one day, ignoring leap seconds: <code>86400</code>.
-             * @type {Number}
-             * @constant
-             */
-            SECONDS_PER_DAY : 86400.0,
-
-            /**
-             * The number of days in one Julian century: <code>36525</code>.
-             * @type {Number}
-             * @constant
-             */
-            DAYS_PER_JULIAN_CENTURY : 36525.0,
-
-            /**
-             * One trillionth of a second.
-             * @type {Number}
-             * @constant
-             */
-            PICOSECOND : 0.000000001,
-
-            /**
-             * The number of days to subtract from a Julian date to determine the
-             * modified Julian date, which gives the number of days since midnight
-             * on November 17, 1858.
-             * @type {Number}
-             * @constant
-             */
-            MODIFIED_JULIAN_DATE_DIFFERENCE : 2400000.5
-        };
-    var TimeConstants$1 = Object.freeze(TimeConstants);
-
-    /**
-         * Provides the type of time standards which JulianDate can take as input.
-         *
-         * @exports TimeStandard
-         *
-         * @see JulianDate
-         */
-        var TimeStandard = {
-            /**
-             * Represents the coordinated Universal Time (UTC) time standard.
-             *
-             * UTC is related to TAI according to the relationship
-             * <code>UTC = TAI - deltaT</code> where <code>deltaT</code> is the number of leap
-             * seconds which have been introduced as of the time in TAI.
-             *
-             * @type {Number}
-             * @constant
-             */
-            UTC : 0,
-
-            /**
-             * Represents the International Atomic Time (TAI) time standard.
-             * TAI is the principal time standard to which the other time standards are related.
-             *
-             * @type {Number}
-             * @constant
-             */
-            TAI : 1
-        };
-    var TimeStandard$1 = Object.freeze(TimeStandard);
-
-    var gregorianDateScratch = new GregorianDate();
-        var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
-        var daysInLeapFeburary = 29;
-
-        function compareLeapSecondDates(leapSecond, dateToFind) {
-            return JulianDate.compare(leapSecond.julianDate, dateToFind.julianDate);
-        }
-
-        // we don't really need a leap second instance, anything with a julianDate property will do
-        var binarySearchScratchLeapSecond = new LeapSecond();
-
-        function convertUtcToTai(julianDate) {
-            //Even though julianDate is in UTC, we'll treat it as TAI and
-            //search the leap second table for it.
-            binarySearchScratchLeapSecond.julianDate = julianDate;
-            var leapSeconds = JulianDate.leapSeconds;
-            var index = binarySearch(leapSeconds, binarySearchScratchLeapSecond, compareLeapSecondDates);
-
-            if (index < 0) {
-                index = ~index;
-            }
-
-            if (index >= leapSeconds.length) {
-                index = leapSeconds.length - 1;
-            }
-
-            var offset = leapSeconds[index].offset;
-            if (index > 0) {
-                //Now we have the index of the closest leap second that comes on or after our UTC time.
-                //However, if the difference between the UTC date being converted and the TAI
-                //defined leap second is greater than the offset, we are off by one and need to use
-                //the previous leap second.
-                var difference = JulianDate.secondsDifference(leapSeconds[index].julianDate, julianDate);
-                if (difference > offset) {
-                    index--;
-                    offset = leapSeconds[index].offset;
-                }
-            }
-
-            JulianDate.addSeconds(julianDate, offset, julianDate);
-        }
-
-        function convertTaiToUtc(julianDate, result) {
-            binarySearchScratchLeapSecond.julianDate = julianDate;
-            var leapSeconds = JulianDate.leapSeconds;
-            var index = binarySearch(leapSeconds, binarySearchScratchLeapSecond, compareLeapSecondDates);
-            if (index < 0) {
-                index = ~index;
-            }
-
-            //All times before our first leap second get the first offset.
-            if (index === 0) {
-                return JulianDate.addSeconds(julianDate, -leapSeconds[0].offset, result);
-            }
-
-            //All times after our leap second get the last offset.
-            if (index >= leapSeconds.length) {
-                return JulianDate.addSeconds(julianDate, -leapSeconds[index - 1].offset, result);
-            }
-
-            //Compute the difference between the found leap second and the time we are converting.
-            var difference = JulianDate.secondsDifference(leapSeconds[index].julianDate, julianDate);
-
-            if (difference === 0) {
-                //The date is in our leap second table.
-                return JulianDate.addSeconds(julianDate, -leapSeconds[index].offset, result);
-            }
-
-            if (difference <= 1.0) {
-                //The requested date is during the moment of a leap second, then we cannot convert to UTC
-                return undefined;
-            }
-
-            //The time is in between two leap seconds, index is the leap second after the date
-            //we're converting, so we subtract one to get the correct LeapSecond instance.
-            return JulianDate.addSeconds(julianDate, -leapSeconds[--index].offset, result);
-        }
-
-        function setComponents(wholeDays, secondsOfDay, julianDate) {
-            var extraDays = (secondsOfDay / TimeConstants$1.SECONDS_PER_DAY) | 0;
-            wholeDays += extraDays;
-            secondsOfDay -= TimeConstants$1.SECONDS_PER_DAY * extraDays;
-
-            if (secondsOfDay < 0) {
-                wholeDays--;
-                secondsOfDay += TimeConstants$1.SECONDS_PER_DAY;
-            }
-
-            julianDate.dayNumber = wholeDays;
-            julianDate.secondsOfDay = secondsOfDay;
-            return julianDate;
-        }
-
-        function computeJulianDateComponents(year, month, day, hour, minute, second, millisecond) {
-            // Algorithm from page 604 of the Explanatory Supplement to the
-            // Astronomical Almanac (Seidelmann 1992).
-
-            var a = ((month - 14) / 12) | 0;
-            var b = year + 4800 + a;
-            var dayNumber = (((1461 * b) / 4) | 0) + (((367 * (month - 2 - 12 * a)) / 12) | 0) - (((3 * (((b + 100) / 100) | 0)) / 4) | 0) + day - 32075;
-
-            // JulianDates are noon-based
-            hour = hour - 12;
-            if (hour < 0) {
-                hour += 24;
-            }
-
-            var secondsOfDay = second + ((hour * TimeConstants$1.SECONDS_PER_HOUR) + (minute * TimeConstants$1.SECONDS_PER_MINUTE) + (millisecond * TimeConstants$1.SECONDS_PER_MILLISECOND));
-
-            if (secondsOfDay >= 43200.0) {
-                dayNumber -= 1;
-            }
-
-            return [dayNumber, secondsOfDay];
-        }
-
-        //Regular expressions used for ISO8601 date parsing.
-        //YYYY
-        var matchCalendarYear = /^(\d{4})$/;
-        //YYYY-MM (YYYYMM is invalid)
-        var matchCalendarMonth = /^(\d{4})-(\d{2})$/;
-        //YYYY-DDD or YYYYDDD
-        var matchOrdinalDate = /^(\d{4})-?(\d{3})$/;
-        //YYYY-Www or YYYYWww or YYYY-Www-D or YYYYWwwD
-        var matchWeekDate = /^(\d{4})-?W(\d{2})-?(\d{1})?$/;
-        //YYYY-MM-DD or YYYYMMDD
-        var matchCalendarDate = /^(\d{4})-?(\d{2})-?(\d{2})$/;
-        // Match utc offset
-        var utcOffset = /([Z+\-])?(\d{2})?:?(\d{2})?$/;
-        // Match hours HH or HH.xxxxx
-        var matchHours = /^(\d{2})(\.\d+)?/.source + utcOffset.source;
-        // Match hours/minutes HH:MM HHMM.xxxxx
-        var matchHoursMinutes = /^(\d{2}):?(\d{2})(\.\d+)?/.source + utcOffset.source;
-        // Match hours/minutes HH:MM:SS HHMMSS.xxxxx
-        var matchHoursMinutesSeconds = /^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source + utcOffset.source;
-
-        var iso8601ErrorMessage = 'Invalid ISO 8601 date.';
-
-        /**
-         * Represents an astronomical Julian date, which is the number of days since noon on January 1, -4712 (4713 BC).
-         * For increased precision, this class stores the whole number part of the date and the seconds
-         * part of the date in separate components.  In order to be safe for arithmetic and represent
-         * leap seconds, the date is always stored in the International Atomic Time standard
-         * {@link TimeStandard.TAI}.
-         * @alias JulianDate
-         * @constructor
-         *
-         * @param {Number} [julianDayNumber=0.0] The Julian Day Number representing the number of whole days.  Fractional days will also be handled correctly.
-         * @param {Number} [secondsOfDay=0.0] The number of seconds into the current Julian Day Number.  Fractional seconds, negative seconds and seconds greater than a day will be handled correctly.
-         * @param {TimeStandard} [timeStandard=TimeStandard.UTC] The time standard in which the first two parameters are defined.
-         */
-        function JulianDate(julianDayNumber, secondsOfDay, timeStandard) {
-            /**
-             * Gets or sets the number of whole days.
-             * @type {Number}
-             */
-            this.dayNumber = undefined;
-
-            /**
-             * Gets or sets the number of seconds into the current day.
-             * @type {Number}
-             */
-            this.secondsOfDay = undefined;
-
-            julianDayNumber = when.defaultValue(julianDayNumber, 0.0);
-            secondsOfDay = when.defaultValue(secondsOfDay, 0.0);
-            timeStandard = when.defaultValue(timeStandard, TimeStandard$1.UTC);
-
-            //If julianDayNumber is fractional, make it an integer and add the number of seconds the fraction represented.
-            var wholeDays = julianDayNumber | 0;
-            secondsOfDay = secondsOfDay + (julianDayNumber - wholeDays) * TimeConstants$1.SECONDS_PER_DAY;
-
-            setComponents(wholeDays, secondsOfDay, this);
-
-            if (timeStandard === TimeStandard$1.UTC) {
-                convertUtcToTai(this);
-            }
-        }
-
-        /**
-         * Creates a new instance from a GregorianDate.
-         *
-         * @param {GregorianDate} date A GregorianDate.
-         * @param {JulianDate} [result] An existing instance to use for the result.
-         * @returns {JulianDate} The modified result parameter or a new instance if none was provided.
-         *
-         * @exception {DeveloperError} date must be a valid GregorianDate.
-         */
-        JulianDate.fromGregorianDate = function(date, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!(date instanceof GregorianDate)) {
-                throw new Check.DeveloperError('date must be a valid GregorianDate.');
-            }
-            //>>includeEnd('debug');
-
-            var components = computeJulianDateComponents(date.year, date.month, date.day, date.hour, date.minute, date.second, date.millisecond);
-            if (!when.defined(result)) {
-                return new JulianDate(components[0], components[1], TimeStandard$1.UTC);
-            }
-            setComponents(components[0], components[1], result);
-            convertUtcToTai(result);
-            return result;
-        };
-
-        /**
-         * Creates a new instance from a JavaScript Date.
-         *
-         * @param {Date} date A JavaScript Date.
-         * @param {JulianDate} [result] An existing instance to use for the result.
-         * @returns {JulianDate} The modified result parameter or a new instance if none was provided.
-         *
-         * @exception {DeveloperError} date must be a valid JavaScript Date.
-         */
-        JulianDate.fromDate = function(date, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!(date instanceof Date) || isNaN(date.getTime())) {
-                throw new Check.DeveloperError('date must be a valid JavaScript Date.');
-            }
-            //>>includeEnd('debug');
-
-            var components = computeJulianDateComponents(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());
-            if (!when.defined(result)) {
-                return new JulianDate(components[0], components[1], TimeStandard$1.UTC);
-            }
-            setComponents(components[0], components[1], result);
-            convertUtcToTai(result);
-            return result;
-        };
-
-        /**
-         * Creates a new instance from a from an {@link http://en.wikipedia.org/wiki/ISO_8601|ISO 8601} date.
-         * This method is superior to <code>Date.parse</code> because it will handle all valid formats defined by the ISO 8601
-         * specification, including leap seconds and sub-millisecond times, which discarded by most JavaScript implementations.
-         *
-         * @param {String} iso8601String An ISO 8601 date.
-         * @param {JulianDate} [result] An existing instance to use for the result.
-         * @returns {JulianDate} The modified result parameter or a new instance if none was provided.
-         *
-         * @exception {DeveloperError} Invalid ISO 8601 date.
-         */
-        JulianDate.fromIso8601 = function(iso8601String, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (typeof iso8601String !== 'string') {
-                throw new Check.DeveloperError(iso8601ErrorMessage);
-            }
-            //>>includeEnd('debug');
-
-            //Comma and decimal point both indicate a fractional number according to ISO 8601,
-            //start out by blanket replacing , with . which is the only valid such symbol in JS.
-            iso8601String = iso8601String.replace(',', '.');
-
-            //Split the string into its date and time components, denoted by a mandatory T
-            var tokens = iso8601String.split('T');
-            var year;
-            var month = 1;
-            var day = 1;
-            var hour = 0;
-            var minute = 0;
-            var second = 0;
-            var millisecond = 0;
-
-            //Lacking a time is okay, but a missing date is illegal.
-            var date = tokens[0];
-            var time = tokens[1];
-            var tmp;
-            var inLeapYear;
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(date)) {
-                throw new Check.DeveloperError(iso8601ErrorMessage);
-            }
-
-            var dashCount;
-            //>>includeEnd('debug');
-
-            //First match the date against possible regular expressions.
-            tokens = date.match(matchCalendarDate);
-            if (tokens !== null) {
-                //>>includeStart('debug', pragmas.debug);
-                dashCount = date.split('-').length - 1;
-                if (dashCount > 0 && dashCount !== 2) {
-                    throw new Check.DeveloperError(iso8601ErrorMessage);
-                }
-                //>>includeEnd('debug');
-                year = +tokens[1];
-                month = +tokens[2];
-                day = +tokens[3];
-            } else {
-                tokens = date.match(matchCalendarMonth);
-                if (tokens !== null) {
-                    year = +tokens[1];
-                    month = +tokens[2];
-                } else {
-                    tokens = date.match(matchCalendarYear);
-                    if (tokens !== null) {
-                        year = +tokens[1];
-                    } else {
-                        //Not a year/month/day so it must be an ordinal date.
-                        var dayOfYear;
-                        tokens = date.match(matchOrdinalDate);
-                        if (tokens !== null) {
-
-                            year = +tokens[1];
-                            dayOfYear = +tokens[2];
-                            inLeapYear = isLeapYear(year);
-
-                            //This validation is only applicable for this format.
-                            //>>includeStart('debug', pragmas.debug);
-                            if (dayOfYear < 1 || (inLeapYear && dayOfYear > 366) || (!inLeapYear && dayOfYear > 365)) {
-                                throw new Check.DeveloperError(iso8601ErrorMessage);
-                            }
-                            //>>includeEnd('debug')
-                        } else {
-                            tokens = date.match(matchWeekDate);
-                            if (tokens !== null) {
-                                //ISO week date to ordinal date from
-                                //http://en.wikipedia.org/w/index.php?title=ISO_week_date&oldid=474176775
-                                year = +tokens[1];
-                                var weekNumber = +tokens[2];
-                                var dayOfWeek = +tokens[3] || 0;
-
-                                //>>includeStart('debug', pragmas.debug);
-                                dashCount = date.split('-').length - 1;
-                                if (dashCount > 0 &&
-                                   ((!when.defined(tokens[3]) && dashCount !== 1) ||
-                                   (when.defined(tokens[3]) && dashCount !== 2))) {
-                                    throw new Check.DeveloperError(iso8601ErrorMessage);
-                                }
-                                //>>includeEnd('debug')
-
-                                var january4 = new Date(Date.UTC(year, 0, 4));
-                                dayOfYear = (weekNumber * 7) + dayOfWeek - january4.getUTCDay() - 3;
-                            } else {
-                                //None of our regular expressions succeeded in parsing the date properly.
-                                //>>includeStart('debug', pragmas.debug);
-                                throw new Check.DeveloperError(iso8601ErrorMessage);
-                                //>>includeEnd('debug')
-                            }
-                        }
-                        //Split an ordinal date into month/day.
-                        tmp = new Date(Date.UTC(year, 0, 1));
-                        tmp.setUTCDate(dayOfYear);
-                        month = tmp.getUTCMonth() + 1;
-                        day = tmp.getUTCDate();
-                    }
-                }
-            }
-
-            //Now that we have all of the date components, validate them to make sure nothing is out of range.
-            inLeapYear = isLeapYear(year);
-            //>>includeStart('debug', pragmas.debug);
-            if (month < 1 || month > 12 || day < 1 || ((month !== 2 || !inLeapYear) && day > daysInMonth[month - 1]) || (inLeapYear && month === 2 && day > daysInLeapFeburary)) {
-                throw new Check.DeveloperError(iso8601ErrorMessage);
-            }
-            //>>includeEnd('debug')
-
-            //Now move onto the time string, which is much simpler.
-            //If no time is specified, it is considered the beginning of the day, UTC to match Javascript's implementation.
-            var offsetIndex;
-            if (when.defined(time)) {
-                tokens = time.match(matchHoursMinutesSeconds);
-                if (tokens !== null) {
-                    //>>includeStart('debug', pragmas.debug);
-                    dashCount = time.split(':').length - 1;
-                    if (dashCount > 0 && dashCount !== 2 && dashCount !== 3) {
-                        throw new Check.DeveloperError(iso8601ErrorMessage);
-                    }
-                    //>>includeEnd('debug')
-
-                    hour = +tokens[1];
-                    minute = +tokens[2];
-                    second = +tokens[3];
-                    millisecond = +(tokens[4] || 0) * 1000.0;
-                    offsetIndex = 5;
-                } else {
-                    tokens = time.match(matchHoursMinutes);
-                    if (tokens !== null) {
-                        //>>includeStart('debug', pragmas.debug);
-                        dashCount = time.split(':').length - 1;
-                        if (dashCount > 2) {
-                            throw new Check.DeveloperError(iso8601ErrorMessage);
-                        }
-                        //>>includeEnd('debug')
-
-                        hour = +tokens[1];
-                        minute = +tokens[2];
-                        second = +(tokens[3] || 0) * 60.0;
-                        offsetIndex = 4;
-                    } else {
-                        tokens = time.match(matchHours);
-                        if (tokens !== null) {
-                            hour = +tokens[1];
-                            minute = +(tokens[2] || 0) * 60.0;
-                            offsetIndex = 3;
-                        } else {
-                            //>>includeStart('debug', pragmas.debug);
-                            throw new Check.DeveloperError(iso8601ErrorMessage);
-                            //>>includeEnd('debug')
-                        }
-                    }
-                }
-
-                //Validate that all values are in proper range.  Minutes and hours have special cases at 60 and 24.
-                //>>includeStart('debug', pragmas.debug);
-                if (minute >= 60 || second >= 61 || hour > 24 || (hour === 24 && (minute > 0 || second > 0 || millisecond > 0))) {
-                    throw new Check.DeveloperError(iso8601ErrorMessage);
-                }
-                //>>includeEnd('debug');
-
-                //Check the UTC offset value, if no value exists, use local time
-                //a Z indicates UTC, + or - are offsets.
-                var offset = tokens[offsetIndex];
-                var offsetHours = +(tokens[offsetIndex + 1]);
-                var offsetMinutes = +(tokens[offsetIndex + 2] || 0);
-                switch (offset) {
-                case '+':
-                    hour = hour - offsetHours;
-                    minute = minute - offsetMinutes;
-                    break;
-                case '-':
-                    hour = hour + offsetHours;
-                    minute = minute + offsetMinutes;
-                    break;
-                case 'Z':
-                    break;
-                default:
-                    minute = minute + new Date(Date.UTC(year, month - 1, day, hour, minute)).getTimezoneOffset();
-                    break;
-                }
-            }
-
-            //ISO8601 denotes a leap second by any time having a seconds component of 60 seconds.
-            //If that's the case, we need to temporarily subtract a second in order to build a UTC date.
-            //Then we add it back in after converting to TAI.
-            var isLeapSecond = second === 60;
-            if (isLeapSecond) {
-                second--;
-            }
-
-            //Even if we successfully parsed the string into its components, after applying UTC offset or
-            //special cases like 24:00:00 denoting midnight, we need to normalize the data appropriately.
-
-            //milliseconds can never be greater than 1000, and seconds can't be above 60, so we start with minutes
-            while (minute >= 60) {
-                minute -= 60;
-                hour++;
-            }
-
-            while (hour >= 24) {
-                hour -= 24;
-                day++;
-            }
-
-            tmp = (inLeapYear && month === 2) ? daysInLeapFeburary : daysInMonth[month - 1];
-            while (day > tmp) {
-                day -= tmp;
-                month++;
-
-                if (month > 12) {
-                    month -= 12;
-                    year++;
-                }
-
-                tmp = (inLeapYear && month === 2) ? daysInLeapFeburary : daysInMonth[month - 1];
-            }
-
-            //If UTC offset is at the beginning/end of the day, minutes can be negative.
-            while (minute < 0) {
-                minute += 60;
-                hour--;
-            }
-
-            while (hour < 0) {
-                hour += 24;
-                day--;
-            }
-
-            while (day < 1) {
-                month--;
-                if (month < 1) {
-                    month += 12;
-                    year--;
-                }
-
-                tmp = (inLeapYear && month === 2) ? daysInLeapFeburary : daysInMonth[month - 1];
-                day += tmp;
-            }
-
-            //Now create the JulianDate components from the Gregorian date and actually create our instance.
-            var components = computeJulianDateComponents(year, month, day, hour, minute, second, millisecond);
-
-            if (!when.defined(result)) {
-                result = new JulianDate(components[0], components[1], TimeStandard$1.UTC);
-            } else {
-                setComponents(components[0], components[1], result);
-                convertUtcToTai(result);
-            }
-
-            //If we were on a leap second, add it back.
-            if (isLeapSecond) {
-                JulianDate.addSeconds(result, 1, result);
-            }
-
-            return result;
-        };
-
-        /**
-         * Creates a new instance that represents the current system time.
-         * This is equivalent to calling <code>JulianDate.fromDate(new Date());</code>.
-         *
-         * @param {JulianDate} [result] An existing instance to use for the result.
-         * @returns {JulianDate} The modified result parameter or a new instance if none was provided.
-         */
-        JulianDate.now = function(result) {
-            return JulianDate.fromDate(new Date(), result);
-        };
-
-        var toGregorianDateScratch = new JulianDate(0, 0, TimeStandard$1.TAI);
-
-        /**
-         * Creates a {@link GregorianDate} from the provided instance.
-         *
-         * @param {JulianDate} julianDate The date to be converted.
-         * @param {GregorianDate} [result] An existing instance to use for the result.
-         * @returns {GregorianDate} The modified result parameter or a new instance if none was provided.
-         */
-        JulianDate.toGregorianDate = function(julianDate, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(julianDate)) {
-                throw new Check.DeveloperError('julianDate is required.');
-            }
-            //>>includeEnd('debug');
-
-            var isLeapSecond = false;
-            var thisUtc = convertTaiToUtc(julianDate, toGregorianDateScratch);
-            if (!when.defined(thisUtc)) {
-                //Conversion to UTC will fail if we are during a leap second.
-                //If that's the case, subtract a second and convert again.
-                //JavaScript doesn't support leap seconds, so this results in second 59 being repeated twice.
-                JulianDate.addSeconds(julianDate, -1, toGregorianDateScratch);
-                thisUtc = convertTaiToUtc(toGregorianDateScratch, toGregorianDateScratch);
-                isLeapSecond = true;
-            }
-
-            var julianDayNumber = thisUtc.dayNumber;
-            var secondsOfDay = thisUtc.secondsOfDay;
-
-            if (secondsOfDay >= 43200.0) {
-                julianDayNumber += 1;
-            }
-
-            // Algorithm from page 604 of the Explanatory Supplement to the
-            // Astronomical Almanac (Seidelmann 1992).
-            var L = (julianDayNumber + 68569) | 0;
-            var N = (4 * L / 146097) | 0;
-            L = (L - (((146097 * N + 3) / 4) | 0)) | 0;
-            var I = ((4000 * (L + 1)) / 1461001) | 0;
-            L = (L - (((1461 * I) / 4) | 0) + 31) | 0;
-            var J = ((80 * L) / 2447) | 0;
-            var day = (L - (((2447 * J) / 80) | 0)) | 0;
-            L = (J / 11) | 0;
-            var month = (J + 2 - 12 * L) | 0;
-            var year = (100 * (N - 49) + I + L) | 0;
-
-            var hour = (secondsOfDay / TimeConstants$1.SECONDS_PER_HOUR) | 0;
-            var remainingSeconds = secondsOfDay - (hour * TimeConstants$1.SECONDS_PER_HOUR);
-            var minute = (remainingSeconds / TimeConstants$1.SECONDS_PER_MINUTE) | 0;
-            remainingSeconds = remainingSeconds - (minute * TimeConstants$1.SECONDS_PER_MINUTE);
-            var second = remainingSeconds | 0;
-            var millisecond = ((remainingSeconds - second) / TimeConstants$1.SECONDS_PER_MILLISECOND);
-
-            // JulianDates are noon-based
-            hour += 12;
-            if (hour > 23) {
-                hour -= 24;
-            }
-
-            //If we were on a leap second, add it back.
-            if (isLeapSecond) {
-                second += 1;
-            }
-
-            if (!when.defined(result)) {
-                return new GregorianDate(year, month, day, hour, minute, second, millisecond, isLeapSecond);
-            }
-
-            result.year = year;
-            result.month = month;
-            result.day = day;
-            result.hour = hour;
-            result.minute = minute;
-            result.second = second;
-            result.millisecond = millisecond;
-            result.isLeapSecond = isLeapSecond;
-            return result;
-        };
-
-        /**
-         * Creates a JavaScript Date from the provided instance.
-         * Since JavaScript dates are only accurate to the nearest millisecond and
-         * cannot represent a leap second, consider using {@link JulianDate.toGregorianDate} instead.
-         * If the provided JulianDate is during a leap second, the previous second is used.
-         *
-         * @param {JulianDate} julianDate The date to be converted.
-         * @returns {Date} A new instance representing the provided date.
-         */
-        JulianDate.toDate = function(julianDate) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(julianDate)) {
-                throw new Check.DeveloperError('julianDate is required.');
-            }
-            //>>includeEnd('debug');
-
-            var gDate = JulianDate.toGregorianDate(julianDate, gregorianDateScratch);
-            var second = gDate.second;
-            if (gDate.isLeapSecond) {
-                second -= 1;
-            }
-            return new Date(Date.UTC(gDate.year, gDate.month - 1, gDate.day, gDate.hour, gDate.minute, second, gDate.millisecond));
-        };
-
-        /**
-         * Creates an ISO8601 representation of the provided date.
-         *
-         * @param {JulianDate} julianDate The date to be converted.
-         * @param {Number} [precision] The number of fractional digits used to represent the seconds component.  By default, the most precise representation is used.
-         * @returns {String} The ISO8601 representation of the provided date.
-         */
-        JulianDate.toIso8601 = function(julianDate, precision) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(julianDate)) {
-                throw new Check.DeveloperError('julianDate is required.');
-            }
-            //>>includeEnd('debug');
-
-            var gDate = JulianDate.toGregorianDate(julianDate, gregorianDateScratch);
-            var year = gDate.year;
-            var month = gDate.month;
-            var day = gDate.day;
-            var hour = gDate.hour;
-            var minute = gDate.minute;
-            var second = gDate.second;
-            var millisecond = gDate.millisecond;
-
-            // special case - Iso8601.MAXIMUM_VALUE produces a string which we can't parse unless we adjust.
-            // 10000-01-01T00:00:00 is the same instant as 9999-12-31T24:00:00
-            if (year === 10000 && month === 1 && day === 1 && hour === 0 && minute === 0 && second === 0 && millisecond === 0) {
-                year = 9999;
-                month = 12;
-                day = 31;
-                hour = 24;
-            }
-
-            var millisecondStr;
-
-            if (!when.defined(precision) && millisecond !== 0) {
-                //Forces milliseconds into a number with at least 3 digits to whatever the default toString() precision is.
-                millisecondStr = (millisecond * 0.01).toString().replace('.', '');
-                return sprintf('%04d-%02d-%02dT%02d:%02d:%02d.%sZ', year, month, day, hour, minute, second, millisecondStr);
-            }
-
-            //Precision is either 0 or milliseconds is 0 with undefined precision, in either case, leave off milliseconds entirely
-            if (!when.defined(precision) || precision === 0) {
-                return sprintf('%04d-%02d-%02dT%02d:%02d:%02dZ', year, month, day, hour, minute, second);
-            }
-
-            //Forces milliseconds into a number with at least 3 digits to whatever the specified precision is.
-            millisecondStr = (millisecond * 0.01).toFixed(precision).replace('.', '').slice(0, precision);
-            return sprintf('%04d-%02d-%02dT%02d:%02d:%02d.%sZ', year, month, day, hour, minute, second, millisecondStr);
-        };
-
-        /**
-         * Duplicates a JulianDate instance.
-         *
-         * @param {JulianDate} julianDate The date to duplicate.
-         * @param {JulianDate} [result] An existing instance to use for the result.
-         * @returns {JulianDate} The modified result parameter or a new instance if none was provided. Returns undefined if julianDate is undefined.
-         */
-        JulianDate.clone = function(julianDate, result) {
-            if (!when.defined(julianDate)) {
-                return undefined;
-            }
-            if (!when.defined(result)) {
-                return new JulianDate(julianDate.dayNumber, julianDate.secondsOfDay, TimeStandard$1.TAI);
-            }
-            result.dayNumber = julianDate.dayNumber;
-            result.secondsOfDay = julianDate.secondsOfDay;
-            return result;
-        };
-
-        /**
-         * Compares two instances.
-         *
-         * @param {JulianDate} left The first instance.
-         * @param {JulianDate} right The second instance.
-         * @returns {Number} A negative value if left is less than right, a positive value if left is greater than right, or zero if left and right are equal.
-         */
-        JulianDate.compare = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(left)) {
-                throw new Check.DeveloperError('left is required.');
-            }
-            if (!when.defined(right)) {
-                throw new Check.DeveloperError('right is required.');
-            }
-            //>>includeEnd('debug');
-
-            var julianDayNumberDifference = left.dayNumber - right.dayNumber;
-            if (julianDayNumberDifference !== 0) {
-                return julianDayNumberDifference;
-            }
-            return left.secondsOfDay - right.secondsOfDay;
-        };
-
-        /**
-         * Compares two instances and returns <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {JulianDate} [left] The first instance.
-         * @param {JulianDate} [right] The second instance.
-         * @returns {Boolean} <code>true</code> if the dates are equal; otherwise, <code>false</code>.
-         */
-        JulianDate.equals = function(left, right) {
-            return (left === right) ||
-                   (when.defined(left) &&
-                    when.defined(right) &&
-                    left.dayNumber === right.dayNumber &&
-                    left.secondsOfDay === right.secondsOfDay);
-        };
-
-        /**
-         * Compares two instances and returns <code>true</code> if they are within <code>epsilon</code> seconds of
-         * each other.  That is, in order for the dates to be considered equal (and for
-         * this function to return <code>true</code>), the absolute value of the difference between them, in
-         * seconds, must be less than <code>epsilon</code>.
-         *
-         * @param {JulianDate} [left] The first instance.
-         * @param {JulianDate} [right] The second instance.
-         * @param {Number} epsilon The maximum number of seconds that should separate the two instances.
-         * @returns {Boolean} <code>true</code> if the two dates are within <code>epsilon</code> seconds of each other; otherwise <code>false</code>.
-         */
-        JulianDate.equalsEpsilon = function(left, right, epsilon) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(epsilon)) {
-                throw new Check.DeveloperError('epsilon is required.');
-            }
-            //>>includeEnd('debug');
-
-            return (left === right) ||
-                   (when.defined(left) &&
-                    when.defined(right) &&
-                    Math.abs(JulianDate.secondsDifference(left, right)) <= epsilon);
-        };
-
-        /**
-         * Computes the total number of whole and fractional days represented by the provided instance.
-         *
-         * @param {JulianDate} julianDate The date.
-         * @returns {Number} The Julian date as single floating point number.
-         */
-        JulianDate.totalDays = function(julianDate) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(julianDate)) {
-                throw new Check.DeveloperError('julianDate is required.');
-            }
-            //>>includeEnd('debug');
-            return julianDate.dayNumber + (julianDate.secondsOfDay / TimeConstants$1.SECONDS_PER_DAY);
-        };
-
-        /**
-         * Computes the difference in seconds between the provided instance.
-         *
-         * @param {JulianDate} left The first instance.
-         * @param {JulianDate} right The second instance.
-         * @returns {Number} The difference, in seconds, when subtracting <code>right</code> from <code>left</code>.
-         */
-        JulianDate.secondsDifference = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(left)) {
-                throw new Check.DeveloperError('left is required.');
-            }
-            if (!when.defined(right)) {
-                throw new Check.DeveloperError('right is required.');
-            }
-            //>>includeEnd('debug');
-
-            var dayDifference = (left.dayNumber - right.dayNumber) * TimeConstants$1.SECONDS_PER_DAY;
-            return (dayDifference + (left.secondsOfDay - right.secondsOfDay));
-        };
-
-        /**
-         * Computes the difference in days between the provided instance.
-         *
-         * @param {JulianDate} left The first instance.
-         * @param {JulianDate} right The second instance.
-         * @returns {Number} The difference, in days, when subtracting <code>right</code> from <code>left</code>.
-         */
-        JulianDate.daysDifference = function(left, right) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(left)) {
-                throw new Check.DeveloperError('left is required.');
-            }
-            if (!when.defined(right)) {
-                throw new Check.DeveloperError('right is required.');
-            }
-            //>>includeEnd('debug');
-
-            var dayDifference = (left.dayNumber - right.dayNumber);
-            var secondDifference = (left.secondsOfDay - right.secondsOfDay) / TimeConstants$1.SECONDS_PER_DAY;
-            return dayDifference + secondDifference;
-        };
-
-        /**
-         * Computes the number of seconds the provided instance is ahead of UTC.
-         *
-         * @param {JulianDate} julianDate The date.
-         * @returns {Number} The number of seconds the provided instance is ahead of UTC
-         */
-        JulianDate.computeTaiMinusUtc = function(julianDate) {
-            binarySearchScratchLeapSecond.julianDate = julianDate;
-            var leapSeconds = JulianDate.leapSeconds;
-            var index = binarySearch(leapSeconds, binarySearchScratchLeapSecond, compareLeapSecondDates);
-            if (index < 0) {
-                index = ~index;
-                --index;
-                if (index < 0) {
-                    index = 0;
-                }
-            }
-            return leapSeconds[index].offset;
-        };
-
-        /**
-         * Adds the provided number of seconds to the provided date instance.
-         *
-         * @param {JulianDate} julianDate The date.
-         * @param {Number} seconds The number of seconds to add or subtract.
-         * @param {JulianDate} result An existing instance to use for the result.
-         * @returns {JulianDate} The modified result parameter.
-         */
-        JulianDate.addSeconds = function(julianDate, seconds, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(julianDate)) {
-                throw new Check.DeveloperError('julianDate is required.');
-            }
-            if (!when.defined(seconds)) {
-                throw new Check.DeveloperError('seconds is required.');
-            }
-            if (!when.defined(result)) {
-                throw new Check.DeveloperError('result is required.');
-            }
-            //>>includeEnd('debug');
-
-            return setComponents(julianDate.dayNumber, julianDate.secondsOfDay + seconds, result);
-        };
-
-        /**
-         * Adds the provided number of minutes to the provided date instance.
-         *
-         * @param {JulianDate} julianDate The date.
-         * @param {Number} minutes The number of minutes to add or subtract.
-         * @param {JulianDate} result An existing instance to use for the result.
-         * @returns {JulianDate} The modified result parameter.
-         */
-        JulianDate.addMinutes = function(julianDate, minutes, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(julianDate)) {
-                throw new Check.DeveloperError('julianDate is required.');
-            }
-            if (!when.defined(minutes)) {
-                throw new Check.DeveloperError('minutes is required.');
-            }
-            if (!when.defined(result)) {
-                throw new Check.DeveloperError('result is required.');
-            }
-            //>>includeEnd('debug');
-
-            var newSecondsOfDay = julianDate.secondsOfDay + (minutes * TimeConstants$1.SECONDS_PER_MINUTE);
-            return setComponents(julianDate.dayNumber, newSecondsOfDay, result);
-        };
-
-        /**
-         * Adds the provided number of hours to the provided date instance.
-         *
-         * @param {JulianDate} julianDate The date.
-         * @param {Number} hours The number of hours to add or subtract.
-         * @param {JulianDate} result An existing instance to use for the result.
-         * @returns {JulianDate} The modified result parameter.
-         */
-        JulianDate.addHours = function(julianDate, hours, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(julianDate)) {
-                throw new Check.DeveloperError('julianDate is required.');
-            }
-            if (!when.defined(hours)) {
-                throw new Check.DeveloperError('hours is required.');
-            }
-            if (!when.defined(result)) {
-                throw new Check.DeveloperError('result is required.');
-            }
-            //>>includeEnd('debug');
-
-            var newSecondsOfDay = julianDate.secondsOfDay + (hours * TimeConstants$1.SECONDS_PER_HOUR);
-            return setComponents(julianDate.dayNumber, newSecondsOfDay, result);
-        };
-
-        /**
-         * Adds the provided number of days to the provided date instance.
-         *
-         * @param {JulianDate} julianDate The date.
-         * @param {Number} days The number of days to add or subtract.
-         * @param {JulianDate} result An existing instance to use for the result.
-         * @returns {JulianDate} The modified result parameter.
-         */
-        JulianDate.addDays = function(julianDate, days, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(julianDate)) {
-                throw new Check.DeveloperError('julianDate is required.');
-            }
-            if (!when.defined(days)) {
-                throw new Check.DeveloperError('days is required.');
-            }
-            if (!when.defined(result)) {
-                throw new Check.DeveloperError('result is required.');
-            }
-            //>>includeEnd('debug');
-
-            var newJulianDayNumber = julianDate.dayNumber + days;
-            return setComponents(newJulianDayNumber, julianDate.secondsOfDay, result);
-        };
-
-        /**
-         * Compares the provided instances and returns <code>true</code> if <code>left</code> is earlier than <code>right</code>, <code>false</code> otherwise.
-         *
-         * @param {JulianDate} left The first instance.
-         * @param {JulianDate} right The second instance.
-         * @returns {Boolean} <code>true</code> if <code>left</code> is earlier than <code>right</code>, <code>false</code> otherwise.
-         */
-        JulianDate.lessThan = function(left, right) {
-            return JulianDate.compare(left, right) < 0;
-        };
-
-        /**
-         * Compares the provided instances and returns <code>true</code> if <code>left</code> is earlier than or equal to <code>right</code>, <code>false</code> otherwise.
-         *
-         * @param {JulianDate} left The first instance.
-         * @param {JulianDate} right The second instance.
-         * @returns {Boolean} <code>true</code> if <code>left</code> is earlier than or equal to <code>right</code>, <code>false</code> otherwise.
-         */
-        JulianDate.lessThanOrEquals = function(left, right) {
-            return JulianDate.compare(left, right) <= 0;
-        };
-
-        /**
-         * Compares the provided instances and returns <code>true</code> if <code>left</code> is later than <code>right</code>, <code>false</code> otherwise.
-         *
-         * @param {JulianDate} left The first instance.
-         * @param {JulianDate} right The second instance.
-         * @returns {Boolean} <code>true</code> if <code>left</code> is later than <code>right</code>, <code>false</code> otherwise.
-         */
-        JulianDate.greaterThan = function(left, right) {
-            return JulianDate.compare(left, right) > 0;
-        };
-
-        /**
-         * Compares the provided instances and returns <code>true</code> if <code>left</code> is later than or equal to <code>right</code>, <code>false</code> otherwise.
-         *
-         * @param {JulianDate} left The first instance.
-         * @param {JulianDate} right The second instance.
-         * @returns {Boolean} <code>true</code> if <code>left</code> is later than or equal to <code>right</code>, <code>false</code> otherwise.
-         */
-        JulianDate.greaterThanOrEquals = function(left, right) {
-            return JulianDate.compare(left, right) >= 0;
-        };
-
-        /**
-         * Duplicates this instance.
-         *
-         * @param {JulianDate} [result] An existing instance to use for the result.
-         * @returns {JulianDate} The modified result parameter or a new instance if none was provided.
-         */
-        JulianDate.prototype.clone = function(result) {
-            return JulianDate.clone(this, result);
-        };
-
-        /**
-         * Compares this and the provided instance and returns <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {JulianDate} [right] The second instance.
-         * @returns {Boolean} <code>true</code> if the dates are equal; otherwise, <code>false</code>.
-         */
-        JulianDate.prototype.equals = function(right) {
-            return JulianDate.equals(this, right);
-        };
-
-        /**
-         * Compares this and the provided instance and returns <code>true</code> if they are within <code>epsilon</code> seconds of
-         * each other.  That is, in order for the dates to be considered equal (and for
-         * this function to return <code>true</code>), the absolute value of the difference between them, in
-         * seconds, must be less than <code>epsilon</code>.
-         *
-         * @param {JulianDate} [right] The second instance.
-         * @param {Number} epsilon The maximum number of seconds that should separate the two instances.
-         * @returns {Boolean} <code>true</code> if the two dates are within <code>epsilon</code> seconds of each other; otherwise <code>false</code>.
-         */
-        JulianDate.prototype.equalsEpsilon = function(right, epsilon) {
-            return JulianDate.equalsEpsilon(this, right, epsilon);
-        };
-
-        /**
-         * Creates a string representing this date in ISO8601 format.
-         *
-         * @returns {String} A string representing this date in ISO8601 format.
-         */
-        JulianDate.prototype.toString = function() {
-            return JulianDate.toIso8601(this);
-        };
-
-        /**
-         * Gets or sets the list of leap seconds used throughout Cesium.
-         * @memberof JulianDate
-         * @type {LeapSecond[]}
-         */
-        JulianDate.leapSeconds = [
-                                   new LeapSecond(new JulianDate(2441317, 43210.0, TimeStandard$1.TAI), 10), // January 1, 1972 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2441499, 43211.0, TimeStandard$1.TAI), 11), // July 1, 1972 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2441683, 43212.0, TimeStandard$1.TAI), 12), // January 1, 1973 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2442048, 43213.0, TimeStandard$1.TAI), 13), // January 1, 1974 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2442413, 43214.0, TimeStandard$1.TAI), 14), // January 1, 1975 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2442778, 43215.0, TimeStandard$1.TAI), 15), // January 1, 1976 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2443144, 43216.0, TimeStandard$1.TAI), 16), // January 1, 1977 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2443509, 43217.0, TimeStandard$1.TAI), 17), // January 1, 1978 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2443874, 43218.0, TimeStandard$1.TAI), 18), // January 1, 1979 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2444239, 43219.0, TimeStandard$1.TAI), 19), // January 1, 1980 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2444786, 43220.0, TimeStandard$1.TAI), 20), // July 1, 1981 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2445151, 43221.0, TimeStandard$1.TAI), 21), // July 1, 1982 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2445516, 43222.0, TimeStandard$1.TAI), 22), // July 1, 1983 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2446247, 43223.0, TimeStandard$1.TAI), 23), // July 1, 1985 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2447161, 43224.0, TimeStandard$1.TAI), 24), // January 1, 1988 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2447892, 43225.0, TimeStandard$1.TAI), 25), // January 1, 1990 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2448257, 43226.0, TimeStandard$1.TAI), 26), // January 1, 1991 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2448804, 43227.0, TimeStandard$1.TAI), 27), // July 1, 1992 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2449169, 43228.0, TimeStandard$1.TAI), 28), // July 1, 1993 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2449534, 43229.0, TimeStandard$1.TAI), 29), // July 1, 1994 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2450083, 43230.0, TimeStandard$1.TAI), 30), // January 1, 1996 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2450630, 43231.0, TimeStandard$1.TAI), 31), // July 1, 1997 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2451179, 43232.0, TimeStandard$1.TAI), 32), // January 1, 1999 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2453736, 43233.0, TimeStandard$1.TAI), 33), // January 1, 2006 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2454832, 43234.0, TimeStandard$1.TAI), 34), // January 1, 2009 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2456109, 43235.0, TimeStandard$1.TAI), 35), // July 1, 2012 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2457204, 43236.0, TimeStandard$1.TAI), 36), // July 1, 2015 00:00:00 UTC
-                                   new LeapSecond(new JulianDate(2457754, 43237.0, TimeStandard$1.TAI), 37)  // January 1, 2017 00:00:00 UTC
-                                 ];
-
-    /**
-         * Specifies Earth polar motion coordinates and the difference between UT1 and UTC.
-         * These Earth Orientation Parameters (EOP) are primarily used in the transformation from
-         * the International Celestial Reference Frame (ICRF) to the International Terrestrial
-         * Reference Frame (ITRF).
-         *
-         * @alias EarthOrientationParameters
-         * @constructor
-         *
-         * @param {Object} [options] Object with the following properties:
-         * @param {Resource|String} [options.url] The URL from which to obtain EOP data.  If neither this
-         *                 parameter nor options.data is specified, all EOP values are assumed
-         *                 to be 0.0.  If options.data is specified, this parameter is
-         *                 ignored.
-         * @param {Object} [options.data] The actual EOP data.  If neither this
-         *                 parameter nor options.data is specified, all EOP values are assumed
-         *                 to be 0.0.
-         * @param {Boolean} [options.addNewLeapSeconds=true] True if leap seconds that
-         *                  are specified in the EOP data but not in {@link JulianDate.leapSeconds}
-         *                  should be added to {@link JulianDate.leapSeconds}.  False if
-         *                  new leap seconds should be handled correctly in the context
-         *                  of the EOP data but otherwise ignored.
-         *
-         * @example
-         * // An example EOP data file, EOP.json:
-         * {
-         *   "columnNames" : ["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],
-         *   "samples" : [
-         *      "2011-07-01T00:00:00Z",55743.0,2.117957047295119e-7,2.111518721609984e-6,-0.2908948,-2.956e-4,3.393695767766752e-11,3.3452143996557983e-10,34.0,
-         *      "2011-07-02T00:00:00Z",55744.0,2.193297093339541e-7,2.115460256837405e-6,-0.29065,-1.824e-4,-8.241832578862112e-11,5.623838700870617e-10,34.0,
-         *      "2011-07-03T00:00:00Z",55745.0,2.262286080161428e-7,2.1191157519929706e-6,-0.2905572,1.9e-6,-3.490658503988659e-10,6.981317007977318e-10,34.0
-         *   ]
-         * }
-         *
-         * @example
-         * // Loading the EOP data
-         * var eop = new Cesium.EarthOrientationParameters({ url : 'Data/EOP.json' });
-         * Cesium.Transforms.earthOrientationParameters = eop;
-         *
-         * @private
-         */
-        function EarthOrientationParameters(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            this._dates = undefined;
-            this._samples = undefined;
-
-            this._dateColumn = -1;
-            this._xPoleWanderRadiansColumn = -1;
-            this._yPoleWanderRadiansColumn = -1;
-            this._ut1MinusUtcSecondsColumn = -1;
-            this._xCelestialPoleOffsetRadiansColumn = -1;
-            this._yCelestialPoleOffsetRadiansColumn = -1;
-            this._taiMinusUtcSecondsColumn = -1;
-
-            this._columnCount = 0;
-            this._lastIndex = -1;
-
-            this._downloadPromise = undefined;
-            this._dataError = undefined;
-
-            this._addNewLeapSeconds = when.defaultValue(options.addNewLeapSeconds, true);
-
-            if (when.defined(options.data)) {
-                // Use supplied EOP data.
-                onDataReady(this, options.data);
-            } else if (when.defined(options.url)) {
-                var resource = buildModuleUrl.Resource.createIfNeeded(options.url);
-
-                // Download EOP data.
-                var that = this;
-                this._downloadPromise = when.when(resource.fetchJson(), function(eopData) {
-                    onDataReady(that, eopData);
-                }, function() {
-                    that._dataError = 'An error occurred while retrieving the EOP data from the URL ' + resource.url + '.';
-                });
-            } else {
-                // Use all zeros for EOP data.
-                onDataReady(this, {
-                    'columnNames' : ['dateIso8601', 'modifiedJulianDateUtc', 'xPoleWanderRadians', 'yPoleWanderRadians', 'ut1MinusUtcSeconds', 'lengthOfDayCorrectionSeconds', 'xCelestialPoleOffsetRadians', 'yCelestialPoleOffsetRadians', 'taiMinusUtcSeconds'],
-                    'samples' : []
-                });
-            }
-        }
-
-        /**
-         * A default {@link EarthOrientationParameters} instance that returns zero for all EOP values.
-         */
-        EarthOrientationParameters.NONE = Object.freeze({
-                getPromiseToLoad : function() {
-                    return when.when();
-                },
-                compute : function(date, result) {
-                    if (!when.defined(result)) {
-                        result = new EarthOrientationParametersSample(0.0, 0.0, 0.0, 0.0, 0.0);
-                    } else {
-                        result.xPoleWander = 0.0;
-                        result.yPoleWander = 0.0;
-                        result.xPoleOffset = 0.0;
-                        result.yPoleOffset = 0.0;
-                        result.ut1MinusUtc = 0.0;
-                    }
-                    return result;
-                }
-        });
-
-        /**
-         * Gets a promise that, when resolved, indicates that the EOP data has been loaded and is
-         * ready to use.
-         *
-         * @returns {Promise} The promise.
-         *
-         * @see when
-         */
-        EarthOrientationParameters.prototype.getPromiseToLoad = function() {
-            return when.when(this._downloadPromise);
-        };
-
-        /**
-         * Computes the Earth Orientation Parameters (EOP) for a given date by interpolating.
-         * If the EOP data has not yet been download, this method returns undefined.
-         *
-         * @param {JulianDate} date The date for each to evaluate the EOP.
-         * @param {EarthOrientationParametersSample} [result] The instance to which to copy the result.
-         *        If this parameter is undefined, a new instance is created and returned.
-         * @returns {EarthOrientationParametersSample} The EOP evaluated at the given date, or
-         *          undefined if the data necessary to evaluate EOP at the date has not yet been
-         *          downloaded.
-         *
-         * @exception {RuntimeError} The loaded EOP data has an error and cannot be used.
-         *
-         * @see EarthOrientationParameters#getPromiseToLoad
-         */
-        EarthOrientationParameters.prototype.compute = function(date, result) {
-            // We cannot compute until the samples are available.
-            if (!when.defined(this._samples)) {
-                if (when.defined(this._dataError)) {
-                    throw new RuntimeError.RuntimeError(this._dataError);
-                }
-
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                result = new EarthOrientationParametersSample(0.0, 0.0, 0.0, 0.0, 0.0);
-            }
-
-            if (this._samples.length === 0) {
-                result.xPoleWander = 0.0;
-                result.yPoleWander = 0.0;
-                result.xPoleOffset = 0.0;
-                result.yPoleOffset = 0.0;
-                result.ut1MinusUtc = 0.0;
-                return result;
-            }
-
-            var dates = this._dates;
-            var lastIndex = this._lastIndex;
-
-            var before = 0;
-            var after = 0;
-            if (when.defined(lastIndex)) {
-                var previousIndexDate = dates[lastIndex];
-                var nextIndexDate = dates[lastIndex + 1];
-                var isAfterPrevious = JulianDate.lessThanOrEquals(previousIndexDate, date);
-                var isAfterLastSample = !when.defined(nextIndexDate);
-                var isBeforeNext = isAfterLastSample || JulianDate.greaterThanOrEquals(nextIndexDate, date);
-
-                if (isAfterPrevious && isBeforeNext) {
-                    before = lastIndex;
-
-                    if (!isAfterLastSample && nextIndexDate.equals(date)) {
-                        ++before;
-                    }
-                    after = before + 1;
-
-                    interpolate(this, dates, this._samples, date, before, after, result);
-                    return result;
-                }
-            }
-
-            var index = binarySearch(dates, date, JulianDate.compare, this._dateColumn);
-            if (index >= 0) {
-                // If the next entry is the same date, use the later entry.  This way, if two entries
-                // describe the same moment, one before a leap second and the other after, then we will use
-                // the post-leap second data.
-                if (index < dates.length - 1 && dates[index + 1].equals(date)) {
-                    ++index;
-                }
-                before = index;
-                after = index;
-            } else {
-                after = ~index;
-                before = after - 1;
-
-                // Use the first entry if the date requested is before the beginning of the data.
-                if (before < 0) {
-                    before = 0;
-                }
-            }
-
-            this._lastIndex = before;
-
-            interpolate(this, dates, this._samples, date, before, after, result);
-            return result;
-        };
-
-        function compareLeapSecondDates$1(leapSecond, dateToFind) {
-            return JulianDate.compare(leapSecond.julianDate, dateToFind);
-        }
-
-        function onDataReady(eop, eopData) {
-            if (!when.defined(eopData.columnNames)) {
-                eop._dataError = 'Error in loaded EOP data: The columnNames property is required.';
-                return;
-            }
-
-            if (!when.defined(eopData.samples)) {
-                eop._dataError = 'Error in loaded EOP data: The samples property is required.';
-                return;
-            }
-
-            var dateColumn = eopData.columnNames.indexOf('modifiedJulianDateUtc');
-            var xPoleWanderRadiansColumn = eopData.columnNames.indexOf('xPoleWanderRadians');
-            var yPoleWanderRadiansColumn = eopData.columnNames.indexOf('yPoleWanderRadians');
-            var ut1MinusUtcSecondsColumn = eopData.columnNames.indexOf('ut1MinusUtcSeconds');
-            var xCelestialPoleOffsetRadiansColumn = eopData.columnNames.indexOf('xCelestialPoleOffsetRadians');
-            var yCelestialPoleOffsetRadiansColumn = eopData.columnNames.indexOf('yCelestialPoleOffsetRadians');
-            var taiMinusUtcSecondsColumn = eopData.columnNames.indexOf('taiMinusUtcSeconds');
-
-            if (dateColumn < 0 || xPoleWanderRadiansColumn < 0 || yPoleWanderRadiansColumn < 0 || ut1MinusUtcSecondsColumn < 0 || xCelestialPoleOffsetRadiansColumn < 0 || yCelestialPoleOffsetRadiansColumn < 0 || taiMinusUtcSecondsColumn < 0) {
-                eop._dataError = 'Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns';
-                return;
-            }
-
-            var samples = eop._samples = eopData.samples;
-            var dates = eop._dates = [];
-
-            eop._dateColumn = dateColumn;
-            eop._xPoleWanderRadiansColumn = xPoleWanderRadiansColumn;
-            eop._yPoleWanderRadiansColumn = yPoleWanderRadiansColumn;
-            eop._ut1MinusUtcSecondsColumn = ut1MinusUtcSecondsColumn;
-            eop._xCelestialPoleOffsetRadiansColumn = xCelestialPoleOffsetRadiansColumn;
-            eop._yCelestialPoleOffsetRadiansColumn = yCelestialPoleOffsetRadiansColumn;
-            eop._taiMinusUtcSecondsColumn = taiMinusUtcSecondsColumn;
-
-            eop._columnCount = eopData.columnNames.length;
-            eop._lastIndex = undefined;
-
-            var lastTaiMinusUtc;
-
-            var addNewLeapSeconds = eop._addNewLeapSeconds;
-
-            // Convert the ISO8601 dates to JulianDates.
-            for (var i = 0, len = samples.length; i < len; i += eop._columnCount) {
-                var mjd = samples[i + dateColumn];
-                var taiMinusUtc = samples[i + taiMinusUtcSecondsColumn];
-                var day = mjd + TimeConstants$1.MODIFIED_JULIAN_DATE_DIFFERENCE;
-                var date = new JulianDate(day, taiMinusUtc, TimeStandard$1.TAI);
-                dates.push(date);
-
-                if (addNewLeapSeconds) {
-                    if (taiMinusUtc !== lastTaiMinusUtc && when.defined(lastTaiMinusUtc)) {
-                        // We crossed a leap second boundary, so add the leap second
-                        // if it does not already exist.
-                        var leapSeconds = JulianDate.leapSeconds;
-                        var leapSecondIndex = binarySearch(leapSeconds, date, compareLeapSecondDates$1);
-                        if (leapSecondIndex < 0) {
-                            var leapSecond = new LeapSecond(date, taiMinusUtc);
-                            leapSeconds.splice(~leapSecondIndex, 0, leapSecond);
-                        }
-                    }
-                    lastTaiMinusUtc = taiMinusUtc;
-                }
-            }
-        }
-
-        function fillResultFromIndex(eop, samples, index, columnCount, result) {
-            var start = index * columnCount;
-            result.xPoleWander = samples[start + eop._xPoleWanderRadiansColumn];
-            result.yPoleWander = samples[start + eop._yPoleWanderRadiansColumn];
-            result.xPoleOffset = samples[start + eop._xCelestialPoleOffsetRadiansColumn];
-            result.yPoleOffset = samples[start + eop._yCelestialPoleOffsetRadiansColumn];
-            result.ut1MinusUtc = samples[start + eop._ut1MinusUtcSecondsColumn];
-        }
-
-        function linearInterp(dx, y1, y2) {
-            return y1 + dx * (y2 - y1);
-        }
-
-        function interpolate(eop, dates, samples, date, before, after, result) {
-            var columnCount = eop._columnCount;
-
-            // First check the bounds on the EOP data
-            // If we are after the bounds of the data, return zeros.
-            // The 'before' index should never be less than zero.
-            if (after > dates.length - 1) {
-                result.xPoleWander = 0;
-                result.yPoleWander = 0;
-                result.xPoleOffset = 0;
-                result.yPoleOffset = 0;
-                result.ut1MinusUtc = 0;
-                return result;
-            }
-
-            var beforeDate = dates[before];
-            var afterDate = dates[after];
-            if (beforeDate.equals(afterDate) || date.equals(beforeDate)) {
-                fillResultFromIndex(eop, samples, before, columnCount, result);
-                return result;
-            } else if (date.equals(afterDate)) {
-                fillResultFromIndex(eop, samples, after, columnCount, result);
-                return result;
-            }
-
-            var factor = JulianDate.secondsDifference(date, beforeDate) / JulianDate.secondsDifference(afterDate, beforeDate);
-
-            var startBefore = before * columnCount;
-            var startAfter = after * columnCount;
-
-            // Handle UT1 leap second edge case
-            var beforeUt1MinusUtc = samples[startBefore + eop._ut1MinusUtcSecondsColumn];
-            var afterUt1MinusUtc = samples[startAfter + eop._ut1MinusUtcSecondsColumn];
-
-            var offsetDifference = afterUt1MinusUtc - beforeUt1MinusUtc;
-            if (offsetDifference > 0.5 || offsetDifference < -0.5) {
-                // The absolute difference between the values is more than 0.5, so we may have
-                // crossed a leap second.  Check if this is the case and, if so, adjust the
-                // afterValue to account for the leap second.  This way, our interpolation will
-                // produce reasonable results.
-                var beforeTaiMinusUtc = samples[startBefore + eop._taiMinusUtcSecondsColumn];
-                var afterTaiMinusUtc = samples[startAfter + eop._taiMinusUtcSecondsColumn];
-                if (beforeTaiMinusUtc !== afterTaiMinusUtc) {
-                    if (afterDate.equals(date)) {
-                        // If we are at the end of the leap second interval, take the second value
-                        // Otherwise, the interpolation below will yield the wrong side of the
-                        // discontinuity
-                        // At the end of the leap second, we need to start accounting for the jump
-                        beforeUt1MinusUtc = afterUt1MinusUtc;
-                    } else {
-                        // Otherwise, remove the leap second so that the interpolation is correct
-                        afterUt1MinusUtc -= afterTaiMinusUtc - beforeTaiMinusUtc;
-                    }
-                }
-            }
-
-            result.xPoleWander = linearInterp(factor, samples[startBefore + eop._xPoleWanderRadiansColumn], samples[startAfter + eop._xPoleWanderRadiansColumn]);
-            result.yPoleWander = linearInterp(factor, samples[startBefore + eop._yPoleWanderRadiansColumn], samples[startAfter + eop._yPoleWanderRadiansColumn]);
-            result.xPoleOffset = linearInterp(factor, samples[startBefore + eop._xCelestialPoleOffsetRadiansColumn], samples[startAfter + eop._xCelestialPoleOffsetRadiansColumn]);
-            result.yPoleOffset = linearInterp(factor, samples[startBefore + eop._yCelestialPoleOffsetRadiansColumn], samples[startAfter + eop._yCelestialPoleOffsetRadiansColumn]);
-            result.ut1MinusUtc = linearInterp(factor, beforeUt1MinusUtc, afterUt1MinusUtc);
-            return result;
-        }
-
-    /**
-         * A rotation expressed as a heading, pitch, and roll. Heading is the rotation about the
-         * negative z axis. Pitch is the rotation about the negative y axis. Roll is the rotation about
-         * the positive x axis.
-         * @alias HeadingPitchRoll
-         * @constructor
-         *
-         * @param {Number} [heading=0.0] The heading component in radians.
-         * @param {Number} [pitch=0.0] The pitch component in radians.
-         * @param {Number} [roll=0.0] The roll component in radians.
-         */
-        function HeadingPitchRoll(heading, pitch, roll) {
-            this.heading = when.defaultValue(heading, 0.0);
-            this.pitch = when.defaultValue(pitch, 0.0);
-            this.roll = when.defaultValue(roll, 0.0);
-        }
-
-        /**
-         * Computes the heading, pitch and roll from a quaternion (see http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles )
-         *
-         * @param {Quaternion} quaternion The quaternion from which to retrieve heading, pitch, and roll, all expressed in radians.
-         * @param {HeadingPitchRoll} [result] The object in which to store the result. If not provided, a new instance is created and returned.
-         * @returns {HeadingPitchRoll} The modified result parameter or a new HeadingPitchRoll instance if one was not provided.
-         */
-        HeadingPitchRoll.fromQuaternion = function(quaternion, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(quaternion)) {
-                throw new Check.DeveloperError('quaternion is required');
-            }
-            //>>includeEnd('debug');
-            if (!when.defined(result)) {
-                result = new HeadingPitchRoll();
-            }
-            var test = 2 * (quaternion.w * quaternion.y - quaternion.z * quaternion.x);
-            var denominatorRoll = 1 - 2 * (quaternion.x * quaternion.x + quaternion.y * quaternion.y);
-            var numeratorRoll = 2 * (quaternion.w * quaternion.x + quaternion.y * quaternion.z);
-            var denominatorHeading = 1 - 2 * (quaternion.y * quaternion.y + quaternion.z * quaternion.z);
-            var numeratorHeading = 2 * (quaternion.w * quaternion.z + quaternion.x * quaternion.y);
-            result.heading = -Math.atan2(numeratorHeading, denominatorHeading);
-            result.roll = Math.atan2(numeratorRoll, denominatorRoll);
-            result.pitch = -_Math.CesiumMath.asinClamped(test);
-            return result;
-        };
-
-        /**
-         * Returns a new HeadingPitchRoll instance from angles given in degrees.
-         *
-         * @param {Number} heading the heading in degrees
-         * @param {Number} pitch the pitch in degrees
-         * @param {Number} roll the heading in degrees
-         * @param {HeadingPitchRoll} [result] The object in which to store the result. If not provided, a new instance is created and returned.
-         * @returns {HeadingPitchRoll} A new HeadingPitchRoll instance
-         */
-        HeadingPitchRoll.fromDegrees = function(heading, pitch, roll, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(heading)) {
-                throw new Check.DeveloperError('heading is required');
-            }
-            if (!when.defined(pitch)) {
-                throw new Check.DeveloperError('pitch is required');
-            }
-            if (!when.defined(roll)) {
-                throw new Check.DeveloperError('roll is required');
-            }
-            //>>includeEnd('debug');
-            if (!when.defined(result)) {
-                result = new HeadingPitchRoll();
-            }
-            result.heading = heading * _Math.CesiumMath.RADIANS_PER_DEGREE;
-            result.pitch = pitch * _Math.CesiumMath.RADIANS_PER_DEGREE;
-            result.roll = roll * _Math.CesiumMath.RADIANS_PER_DEGREE;
-            return result;
-        };
-
-        /**
-         * Duplicates a HeadingPitchRoll instance.
-         *
-         * @param {HeadingPitchRoll} headingPitchRoll The HeadingPitchRoll to duplicate.
-         * @param {HeadingPitchRoll} [result] The object onto which to store the result.
-         * @returns {HeadingPitchRoll} The modified result parameter or a new HeadingPitchRoll instance if one was not provided. (Returns undefined if headingPitchRoll is undefined)
-         */
-        HeadingPitchRoll.clone = function(headingPitchRoll, result) {
-            if (!when.defined(headingPitchRoll)) {
-                return undefined;
-            }
-            if (!when.defined(result)) {
-                return new HeadingPitchRoll(headingPitchRoll.heading, headingPitchRoll.pitch, headingPitchRoll.roll);
-            }
-            result.heading = headingPitchRoll.heading;
-            result.pitch = headingPitchRoll.pitch;
-            result.roll = headingPitchRoll.roll;
-            return result;
-        };
-
-        /**
-         * Compares the provided HeadingPitchRolls componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {HeadingPitchRoll} [left] The first HeadingPitchRoll.
-         * @param {HeadingPitchRoll} [right] The second HeadingPitchRoll.
-         * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
-         */
-        HeadingPitchRoll.equals = function(left, right) {
-            return (left === right) ||
-                ((when.defined(left)) &&
-                    (when.defined(right)) &&
-                    (left.heading === right.heading) &&
-                    (left.pitch === right.pitch) &&
-                    (left.roll === right.roll));
-        };
-
-        /**
-         * Compares the provided HeadingPitchRolls componentwise and returns
-         * <code>true</code> if they pass an absolute or relative tolerance test,
-         * <code>false</code> otherwise.
-         *
-         * @param {HeadingPitchRoll} [left] The first HeadingPitchRoll.
-         * @param {HeadingPitchRoll} [right] The second HeadingPitchRoll.
-         * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-         * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-         * @returns {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
-         */
-        HeadingPitchRoll.equalsEpsilon = function(left, right, relativeEpsilon, absoluteEpsilon) {
-            return (left === right) ||
-                (when.defined(left) &&
-                    when.defined(right) &&
-                    _Math.CesiumMath.equalsEpsilon(left.heading, right.heading, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(left.pitch, right.pitch, relativeEpsilon, absoluteEpsilon) &&
-                    _Math.CesiumMath.equalsEpsilon(left.roll, right.roll, relativeEpsilon, absoluteEpsilon));
-        };
-
-        /**
-         * Duplicates this HeadingPitchRoll instance.
-         *
-         * @param {HeadingPitchRoll} [result] The object onto which to store the result.
-         * @returns {HeadingPitchRoll} The modified result parameter or a new HeadingPitchRoll instance if one was not provided.
-         */
-        HeadingPitchRoll.prototype.clone = function(result) {
-            return HeadingPitchRoll.clone(this, result);
-        };
-
-        /**
-         * Compares this HeadingPitchRoll against the provided HeadingPitchRoll componentwise and returns
-         * <code>true</code> if they are equal, <code>false</code> otherwise.
-         *
-         * @param {HeadingPitchRoll} [right] The right hand side HeadingPitchRoll.
-         * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
-         */
-        HeadingPitchRoll.prototype.equals = function(right) {
-            return HeadingPitchRoll.equals(this, right);
-        };
-
-        /**
-         * Compares this HeadingPitchRoll against the provided HeadingPitchRoll componentwise and returns
-         * <code>true</code> if they pass an absolute or relative tolerance test,
-         * <code>false</code> otherwise.
-         *
-         * @param {HeadingPitchRoll} [right] The right hand side HeadingPitchRoll.
-         * @param {Number} relativeEpsilon The relative epsilon tolerance to use for equality testing.
-         * @param {Number} [absoluteEpsilon=relativeEpsilon] The absolute epsilon tolerance to use for equality testing.
-         * @returns {Boolean} <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
-         */
-        HeadingPitchRoll.prototype.equalsEpsilon = function(right, relativeEpsilon, absoluteEpsilon) {
-            return HeadingPitchRoll.equalsEpsilon(this, right, relativeEpsilon, absoluteEpsilon);
-        };
-
-        /**
-         * Creates a string representing this HeadingPitchRoll in the format '(heading, pitch, roll)' in radians.
-         *
-         * @returns {String} A string representing the provided HeadingPitchRoll in the format '(heading, pitch, roll)'.
-         */
-        HeadingPitchRoll.prototype.toString = function() {
-            return '(' + this.heading + ', ' + this.pitch + ', ' + this.roll + ')';
-        };
-
-    /**
-         * An IAU 2006 XYS value sampled at a particular time.
-         *
-         * @alias Iau2006XysSample
-         * @constructor
-         *
-         * @param {Number} x The X value.
-         * @param {Number} y The Y value.
-         * @param {Number} s The S value.
-         *
-         * @private
-         */
-        function Iau2006XysSample(x, y, s) {
-            /**
-             * The X value.
-             * @type {Number}
-             */
-            this.x = x;
-
-            /**
-             * The Y value.
-             * @type {Number}
-             */
-            this.y = y;
-
-            /**
-             * The S value.
-             * @type {Number}
-             */
-            this.s = s;
-        }
-
-    /**
-         * A set of IAU2006 XYS data that is used to evaluate the transformation between the International
-         * Celestial Reference Frame (ICRF) and the International Terrestrial Reference Frame (ITRF).
-         *
-         * @alias Iau2006XysData
-         * @constructor
-         *
-         * @param {Object} [options] Object with the following properties:
-         * @param {Resource|String} [options.xysFileUrlTemplate='Assets/IAU2006_XYS/IAU2006_XYS_{0}.json'] A template URL for obtaining the XYS data.  In the template,
-         *                 `{0}` will be replaced with the file index.
-         * @param {Number} [options.interpolationOrder=9] The order of interpolation to perform on the XYS data.
-         * @param {Number} [options.sampleZeroJulianEphemerisDate=2442396.5] The Julian ephemeris date (JED) of the
-         *                 first XYS sample.
-         * @param {Number} [options.stepSizeDays=1.0] The step size, in days, between successive XYS samples.
-         * @param {Number} [options.samplesPerXysFile=1000] The number of samples in each XYS file.
-         * @param {Number} [options.totalSamples=27426] The total number of samples in all XYS files.
-         *
-         * @private
-         */
-        function Iau2006XysData(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            this._xysFileUrlTemplate = buildModuleUrl.Resource.createIfNeeded(options.xysFileUrlTemplate);
-            this._interpolationOrder = when.defaultValue(options.interpolationOrder, 9);
-            this._sampleZeroJulianEphemerisDate = when.defaultValue(options.sampleZeroJulianEphemerisDate, 2442396.5);
-            this._sampleZeroDateTT = new JulianDate(this._sampleZeroJulianEphemerisDate, 0.0, TimeStandard$1.TAI);
-            this._stepSizeDays = when.defaultValue(options.stepSizeDays, 1.0);
-            this._samplesPerXysFile = when.defaultValue(options.samplesPerXysFile, 1000);
-            this._totalSamples = when.defaultValue(options.totalSamples, 27426);
-            this._samples = new Array(this._totalSamples * 3);
-            this._chunkDownloadsInProgress = [];
-
-            var order = this._interpolationOrder;
-
-            // Compute denominators and X values for interpolation.
-            var denom = this._denominators = new Array(order + 1);
-            var xTable = this._xTable = new Array(order + 1);
-
-            var stepN = Math.pow(this._stepSizeDays, order);
-
-            for ( var i = 0; i <= order; ++i) {
-                denom[i] = stepN;
-                xTable[i] = i * this._stepSizeDays;
-
-                for ( var j = 0; j <= order; ++j) {
-                    if (j !== i) {
-                        denom[i] *= (i - j);
-                    }
-                }
-
-                denom[i] = 1.0 / denom[i];
-            }
-
-            // Allocate scratch arrays for interpolation.
-            this._work = new Array(order + 1);
-            this._coef = new Array(order + 1);
-        }
-
-        var julianDateScratch = new JulianDate(0, 0.0, TimeStandard$1.TAI);
-
-        function getDaysSinceEpoch(xys, dayTT, secondTT) {
-            var dateTT = julianDateScratch;
-            dateTT.dayNumber = dayTT;
-            dateTT.secondsOfDay = secondTT;
-            return JulianDate.daysDifference(dateTT, xys._sampleZeroDateTT);
-        }
-
-        /**
-         * Preloads XYS data for a specified date range.
-         *
-         * @param {Number} startDayTT The Julian day number of the beginning of the interval to preload, expressed in
-         *                 the Terrestrial Time (TT) time standard.
-         * @param {Number} startSecondTT The seconds past noon of the beginning of the interval to preload, expressed in
-         *                 the Terrestrial Time (TT) time standard.
-         * @param {Number} stopDayTT The Julian day number of the end of the interval to preload, expressed in
-         *                 the Terrestrial Time (TT) time standard.
-         * @param {Number} stopSecondTT The seconds past noon of the end of the interval to preload, expressed in
-         *                 the Terrestrial Time (TT) time standard.
-         * @returns {Promise} A promise that, when resolved, indicates that the requested interval has been
-         *                    preloaded.
-         */
-        Iau2006XysData.prototype.preload = function(startDayTT, startSecondTT, stopDayTT, stopSecondTT) {
-            var startDaysSinceEpoch = getDaysSinceEpoch(this, startDayTT, startSecondTT);
-            var stopDaysSinceEpoch = getDaysSinceEpoch(this, stopDayTT, stopSecondTT);
-
-            var startIndex = (startDaysSinceEpoch / this._stepSizeDays - this._interpolationOrder / 2) | 0;
-            if (startIndex < 0) {
-                startIndex = 0;
-            }
-
-            var stopIndex = (stopDaysSinceEpoch / this._stepSizeDays - this._interpolationOrder / 2) | 0 + this._interpolationOrder;
-            if (stopIndex >= this._totalSamples) {
-                stopIndex = this._totalSamples - 1;
-            }
-
-            var startChunk = (startIndex / this._samplesPerXysFile) | 0;
-            var stopChunk = (stopIndex / this._samplesPerXysFile) | 0;
-
-            var promises = [];
-            for ( var i = startChunk; i <= stopChunk; ++i) {
-                promises.push(requestXysChunk(this, i));
-            }
-
-            return when.when.all(promises);
-        };
-
-        /**
-         * Computes the XYS values for a given date by interpolating.  If the required data is not yet downloaded,
-         * this method will return undefined.
-         *
-         * @param {Number} dayTT The Julian day number for which to compute the XYS value, expressed in
-         *                 the Terrestrial Time (TT) time standard.
-         * @param {Number} secondTT The seconds past noon of the date for which to compute the XYS value, expressed in
-         *                 the Terrestrial Time (TT) time standard.
-         * @param {Iau2006XysSample} [result] The instance to which to copy the interpolated result.  If this parameter
-         *                           is undefined, a new instance is allocated and returned.
-         * @returns {Iau2006XysSample} The interpolated XYS values, or undefined if the required data for this
-         *                             computation has not yet been downloaded.
-         *
-         * @see Iau2006XysData#preload
-         */
-        Iau2006XysData.prototype.computeXysRadians = function(dayTT, secondTT, result) {
-            var daysSinceEpoch = getDaysSinceEpoch(this, dayTT, secondTT);
-            if (daysSinceEpoch < 0.0) {
-                // Can't evaluate prior to the epoch of the data.
-                return undefined;
-            }
-
-            var centerIndex = (daysSinceEpoch / this._stepSizeDays) | 0;
-            if (centerIndex >= this._totalSamples) {
-                // Can't evaluate after the last sample in the data.
-                return undefined;
-            }
-
-            var degree = this._interpolationOrder;
-
-            var firstIndex = centerIndex - ((degree / 2) | 0);
-            if (firstIndex < 0) {
-                firstIndex = 0;
-            }
-            var lastIndex = firstIndex + degree;
-            if (lastIndex >= this._totalSamples) {
-                lastIndex = this._totalSamples - 1;
-                firstIndex = lastIndex - degree;
-                if (firstIndex < 0) {
-                    firstIndex = 0;
-                }
-            }
-
-            // Are all the samples we need present?
-            // We can assume so if the first and last are present
-            var isDataMissing = false;
-            var samples = this._samples;
-            if (!when.defined(samples[firstIndex * 3])) {
-                requestXysChunk(this, (firstIndex / this._samplesPerXysFile) | 0);
-                isDataMissing = true;
-            }
-
-            if (!when.defined(samples[lastIndex * 3])) {
-                requestXysChunk(this, (lastIndex / this._samplesPerXysFile) | 0);
-                isDataMissing = true;
-            }
-
-            if (isDataMissing) {
-                return undefined;
-            }
-
-            if (!when.defined(result)) {
-                result = new Iau2006XysSample(0.0, 0.0, 0.0);
-            } else {
-                result.x = 0.0;
-                result.y = 0.0;
-                result.s = 0.0;
-            }
-
-            var x = daysSinceEpoch - firstIndex * this._stepSizeDays;
-
-            var work = this._work;
-            var denom = this._denominators;
-            var coef = this._coef;
-            var xTable = this._xTable;
-
-            var i, j;
-            for (i = 0; i <= degree; ++i) {
-                work[i] = x - xTable[i];
-            }
-
-            for (i = 0; i <= degree; ++i) {
-                coef[i] = 1.0;
-
-                for (j = 0; j <= degree; ++j) {
-                    if (j !== i) {
-                        coef[i] *= work[j];
-                    }
-                }
-
-                coef[i] *= denom[i];
-
-                var sampleIndex = (firstIndex + i) * 3;
-                result.x += coef[i] * samples[sampleIndex++];
-                result.y += coef[i] * samples[sampleIndex++];
-                result.s += coef[i] * samples[sampleIndex];
-            }
-
-            return result;
-        };
-
-        function requestXysChunk(xysData, chunkIndex) {
-            if (xysData._chunkDownloadsInProgress[chunkIndex]) {
-                // Chunk has already been requested.
-                return xysData._chunkDownloadsInProgress[chunkIndex];
-            }
-
-            var deferred = when.when.defer();
-
-            xysData._chunkDownloadsInProgress[chunkIndex] = deferred;
-
-            var chunkUrl;
-            var xysFileUrlTemplate = xysData._xysFileUrlTemplate;
-            if (when.defined(xysFileUrlTemplate)) {
-                chunkUrl = xysFileUrlTemplate.getDerivedResource({
-                    templateValues: {
-                        '0': chunkIndex
-                    }
-                });
-            } else {
-                chunkUrl = new buildModuleUrl.Resource({
-                    url : buildModuleUrl.buildModuleUrl('Assets/IAU2006_XYS/IAU2006_XYS_' + chunkIndex + '.json')
-                });
-            }
-
-            when.when(chunkUrl.fetchJson(), function(chunk) {
-                xysData._chunkDownloadsInProgress[chunkIndex] = false;
-
-                var samples = xysData._samples;
-                var newSamples = chunk.samples;
-                var startIndex = chunkIndex * xysData._samplesPerXysFile * 3;
-
-                for ( var i = 0, len = newSamples.length; i < len; ++i) {
-                    samples[startIndex + i] = newSamples[i];
-                }
-
-                deferred.resolve();
-            });
-
-            return deferred.promise;
-        }
-
-    /**
-         * Contains functions for transforming positions to various reference frames.
-         *
-         * @exports Transforms
-         * @namespace
-         */
-        var Transforms = {};
-
-        var vectorProductLocalFrame = {
-            up : {
-                south : 'east',
-                north : 'west',
-                west : 'south',
-                east : 'north'
-            },
-            down : {
-                south : 'west',
-                north : 'east',
-                west : 'north',
-                east : 'south'
-            },
-            south : {
-                up : 'west',
-                down : 'east',
-                west : 'down',
-                east : 'up'
-            },
-            north : {
-                up : 'east',
-                down : 'west',
-                west : 'up',
-                east : 'down'
-            },
-            west : {
-                up : 'north',
-                down : 'south',
-                north : 'down',
-                south : 'up'
-            },
-            east : {
-                up : 'south',
-                down : 'north',
-                north : 'up',
-                south : 'down'
-            }
-        };
-
-        var degeneratePositionLocalFrame = {
-            north : [-1, 0, 0],
-            east : [0, 1, 0],
-            up : [0, 0, 1],
-            south : [1, 0, 0],
-            west : [0, -1, 0],
-            down : [0, 0, -1]
-        };
-
-        var localFrameToFixedFrameCache = {};
-
-        var scratchCalculateCartesian = {
-            east : new Cartesian2.Cartesian3(),
-            north : new Cartesian2.Cartesian3(),
-            up : new Cartesian2.Cartesian3(),
-            west : new Cartesian2.Cartesian3(),
-            south : new Cartesian2.Cartesian3(),
-            down : new Cartesian2.Cartesian3()
-        };
-        var scratchFirstCartesian = new Cartesian2.Cartesian3();
-        var scratchSecondCartesian = new Cartesian2.Cartesian3();
-        var scratchThirdCartesian = new Cartesian2.Cartesian3();
-        /**
-        * Generates a function that computes a 4x4 transformation matrix from a reference frame
-        * centered at the provided origin to the provided ellipsoid's fixed reference frame.
-        * @param  {String} firstAxis  name of the first axis of the local reference frame. Must be
-        *  'east', 'north', 'up', 'west', 'south' or 'down'.
-        * @param  {String} secondAxis  name of the second axis of the local reference frame. Must be
-        *  'east', 'north', 'up', 'west', 'south' or 'down'.
-        * @return {localFrameToFixedFrameGenerator~resultat} The function that will computes a
-        * 4x4 transformation matrix from a reference frame, with first axis and second axis compliant with the parameters,
-        */
-        Transforms.localFrameToFixedFrameGenerator = function (firstAxis, secondAxis) {
-            if (!vectorProductLocalFrame.hasOwnProperty(firstAxis) || !vectorProductLocalFrame[firstAxis].hasOwnProperty(secondAxis)) {
-                throw new Check.DeveloperError('firstAxis and secondAxis must be east, north, up, west, south or down.');
-            }
-            var thirdAxis = vectorProductLocalFrame[firstAxis][secondAxis];
-
-            /**
-             * Computes a 4x4 transformation matrix from a reference frame
-             * centered at the provided origin to the provided ellipsoid's fixed reference frame.
-             * @callback Transforms~LocalFrameToFixedFrame
-             * @param {Cartesian3} origin The center point of the local reference frame.
-             * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
-             * @param {Matrix4} [result] The object onto which to store the result.
-             * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if none was provided.
-             */
-            var resultat;
-            var hashAxis = firstAxis + secondAxis;
-            if (when.defined(localFrameToFixedFrameCache[hashAxis])) {
-                resultat = localFrameToFixedFrameCache[hashAxis];
-            } else {
-                resultat = function (origin, ellipsoid, result) {
-                    //>>includeStart('debug', pragmas.debug);
-                    if (!when.defined(origin)) {
-                        throw new Check.DeveloperError('origin is required.');
-                    }
-                    //>>includeEnd('debug');
-                    if (!when.defined(result)) {
-                        result = new BoundingSphere.Matrix4();
-                    }
-                    if (Cartesian2.Cartesian3.equalsEpsilon(origin, Cartesian2.Cartesian3.ZERO, _Math.CesiumMath.EPSILON14)) {
-                        // If x, y, and z are zero, use the degenerate local frame, which is a special case
-                        Cartesian2.Cartesian3.unpack(degeneratePositionLocalFrame[firstAxis], 0, scratchFirstCartesian);
-                        Cartesian2.Cartesian3.unpack(degeneratePositionLocalFrame[secondAxis], 0, scratchSecondCartesian);
-                        Cartesian2.Cartesian3.unpack(degeneratePositionLocalFrame[thirdAxis], 0, scratchThirdCartesian);
-                    } else if (_Math.CesiumMath.equalsEpsilon(origin.x, 0.0, _Math.CesiumMath.EPSILON14) && _Math.CesiumMath.equalsEpsilon(origin.y, 0.0, _Math.CesiumMath.EPSILON14)) {
-                        // If x and y are zero, assume origin is at a pole, which is a special case.
-                        var sign = _Math.CesiumMath.sign(origin.z);
-
-                        Cartesian2.Cartesian3.unpack(degeneratePositionLocalFrame[firstAxis], 0, scratchFirstCartesian);
-                        if (firstAxis !== 'east' && firstAxis !== 'west') {
-                            Cartesian2.Cartesian3.multiplyByScalar(scratchFirstCartesian, sign, scratchFirstCartesian);
-                        }
-
-                        Cartesian2.Cartesian3.unpack(degeneratePositionLocalFrame[secondAxis], 0, scratchSecondCartesian);
-                        if (secondAxis !== 'east' && secondAxis !== 'west') {
-                            Cartesian2.Cartesian3.multiplyByScalar(scratchSecondCartesian, sign, scratchSecondCartesian);
-                        }
-
-                        Cartesian2.Cartesian3.unpack(degeneratePositionLocalFrame[thirdAxis], 0, scratchThirdCartesian);
-                        if (thirdAxis !== 'east' && thirdAxis !== 'west') {
-                            Cartesian2.Cartesian3.multiplyByScalar(scratchThirdCartesian, sign, scratchThirdCartesian);
-                        }
-                    } else {
-                        ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-                        ellipsoid.geodeticSurfaceNormal(origin, scratchCalculateCartesian.up);
-
-                        var up = scratchCalculateCartesian.up;
-                        var east = scratchCalculateCartesian.east;
-                        east.x = -origin.y;
-                        east.y = origin.x;
-                        east.z = 0.0;
-                        Cartesian2.Cartesian3.normalize(east, scratchCalculateCartesian.east);
-                        Cartesian2.Cartesian3.cross(up, east, scratchCalculateCartesian.north);
-
-                        Cartesian2.Cartesian3.multiplyByScalar(scratchCalculateCartesian.up, -1, scratchCalculateCartesian.down);
-                        Cartesian2.Cartesian3.multiplyByScalar(scratchCalculateCartesian.east, -1, scratchCalculateCartesian.west);
-                        Cartesian2.Cartesian3.multiplyByScalar(scratchCalculateCartesian.north, -1, scratchCalculateCartesian.south);
-
-                        scratchFirstCartesian = scratchCalculateCartesian[firstAxis];
-                        scratchSecondCartesian = scratchCalculateCartesian[secondAxis];
-                        scratchThirdCartesian = scratchCalculateCartesian[thirdAxis];
-                    }
-                    result[0] = scratchFirstCartesian.x;
-                    result[1] = scratchFirstCartesian.y;
-                    result[2] = scratchFirstCartesian.z;
-                    result[3] = 0.0;
-                    result[4] = scratchSecondCartesian.x;
-                    result[5] = scratchSecondCartesian.y;
-                    result[6] = scratchSecondCartesian.z;
-                    result[7] = 0.0;
-                    result[8] = scratchThirdCartesian.x;
-                    result[9] = scratchThirdCartesian.y;
-                    result[10] = scratchThirdCartesian.z;
-                    result[11] = 0.0;
-                    result[12] = origin.x;
-                    result[13] = origin.y;
-                    result[14] = origin.z;
-                    result[15] = 1.0;
-                    return result;
-                };
-                localFrameToFixedFrameCache[hashAxis] = resultat;
-            }
-            return resultat;
-        };
-
-        /**
-         * Computes a 4x4 transformation matrix from a reference frame with an east-north-up axes
-         * centered at the provided origin to the provided ellipsoid's fixed reference frame.
-         * The local axes are defined as:
-         * <ul>
-         * <li>The <code>x</code> axis points in the local east direction.</li>
-         * <li>The <code>y</code> axis points in the local north direction.</li>
-         * <li>The <code>z</code> axis points in the direction of the ellipsoid surface normal which passes through the position.</li>
-         * </ul>
-         *
-         * @function
-         * @param {Cartesian3} origin The center point of the local reference frame.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
-         * @param {Matrix4} [result] The object onto which to store the result.
-         * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if none was provided.
-         *
-         * @example
-         * // Get the transform from local east-north-up at cartographic (0.0, 0.0) to Earth's fixed frame.
-         * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
-         * var transform = Cesium.Transforms.eastNorthUpToFixedFrame(center);
-         */
-        Transforms.eastNorthUpToFixedFrame = Transforms.localFrameToFixedFrameGenerator('east','north');
-
-        /**
-         * Computes a 4x4 transformation matrix from a reference frame with an north-east-down axes
-         * centered at the provided origin to the provided ellipsoid's fixed reference frame.
-         * The local axes are defined as:
-         * <ul>
-         * <li>The <code>x</code> axis points in the local north direction.</li>
-         * <li>The <code>y</code> axis points in the local east direction.</li>
-         * <li>The <code>z</code> axis points in the opposite direction of the ellipsoid surface normal which passes through the position.</li>
-         * </ul>
-         *
-         * @function
-         * @param {Cartesian3} origin The center point of the local reference frame.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
-         * @param {Matrix4} [result] The object onto which to store the result.
-         * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if none was provided.
-         *
-         * @example
-         * // Get the transform from local north-east-down at cartographic (0.0, 0.0) to Earth's fixed frame.
-         * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
-         * var transform = Cesium.Transforms.northEastDownToFixedFrame(center);
-         */
-        Transforms.northEastDownToFixedFrame = Transforms.localFrameToFixedFrameGenerator('north','east');
-
-        /**
-         * Computes a 4x4 transformation matrix from a reference frame with an north-up-east axes
-         * centered at the provided origin to the provided ellipsoid's fixed reference frame.
-         * The local axes are defined as:
-         * <ul>
-         * <li>The <code>x</code> axis points in the local north direction.</li>
-         * <li>The <code>y</code> axis points in the direction of the ellipsoid surface normal which passes through the position.</li>
-         * <li>The <code>z</code> axis points in the local east direction.</li>
-         * </ul>
-         *
-         * @function
-         * @param {Cartesian3} origin The center point of the local reference frame.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
-         * @param {Matrix4} [result] The object onto which to store the result.
-         * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if none was provided.
-         *
-         * @example
-         * // Get the transform from local north-up-east at cartographic (0.0, 0.0) to Earth's fixed frame.
-         * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
-         * var transform = Cesium.Transforms.northUpEastToFixedFrame(center);
-         */
-        Transforms.northUpEastToFixedFrame = Transforms.localFrameToFixedFrameGenerator('north','up');
-
-        /**
-         * Computes a 4x4 transformation matrix from a reference frame with an north-west-up axes
-         * centered at the provided origin to the provided ellipsoid's fixed reference frame.
-         * The local axes are defined as:
-         * <ul>
-         * <li>The <code>x</code> axis points in the local north direction.</li>
-         * <li>The <code>y</code> axis points in the local west direction.</li>
-         * <li>The <code>z</code> axis points in the direction of the ellipsoid surface normal which passes through the position.</li>
-         * </ul>
-         *
-         * @function
-         * @param {Cartesian3} origin The center point of the local reference frame.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
-         * @param {Matrix4} [result] The object onto which to store the result.
-         * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if none was provided.
-         *
-          * @example
-         * // Get the transform from local north-West-Up at cartographic (0.0, 0.0) to Earth's fixed frame.
-         * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
-         * var transform = Cesium.Transforms.northWestUpToFixedFrame(center);
-         */
-        Transforms.northWestUpToFixedFrame = Transforms.localFrameToFixedFrameGenerator('north','west');
-
-        var scratchHPRQuaternion$1 = new Quaternion();
-        var scratchScale = new Cartesian2.Cartesian3(1.0, 1.0, 1.0);
-        var scratchHPRMatrix4 = new BoundingSphere.Matrix4();
-
-        /**
-         * Computes a 4x4 transformation matrix from a reference frame with axes computed from the heading-pitch-roll angles
-         * centered at the provided origin to the provided ellipsoid's fixed reference frame. Heading is the rotation from the local north
-         * direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
-         * are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
-         *
-         * @param {Cartesian3} origin The center point of the local reference frame.
-         * @param {HeadingPitchRoll} headingPitchRoll The heading, pitch, and roll.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
-         * @param {Transforms~LocalFrameToFixedFrame} [fixedFrameTransform=Transforms.eastNorthUpToFixedFrame] A 4x4 transformation
-         *  matrix from a reference frame to the provided ellipsoid's fixed reference frame
-         * @param {Matrix4} [result] The object onto which to store the result.
-         * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if none was provided.
-         *
-         * @example
-         * // Get the transform from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
-         * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
-         * var heading = -Cesium.Math.PI_OVER_TWO;
-         * var pitch = Cesium.Math.PI_OVER_FOUR;
-         * var roll = 0.0;
-         * var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
-         * var transform = Cesium.Transforms.headingPitchRollToFixedFrame(center, hpr);
-         */
-        Transforms.headingPitchRollToFixedFrame = function(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object( 'HeadingPitchRoll', headingPitchRoll);
-            //>>includeEnd('debug');
-
-            fixedFrameTransform = when.defaultValue(fixedFrameTransform, Transforms.eastNorthUpToFixedFrame);
-            var hprQuaternion = Quaternion.fromHeadingPitchRoll(headingPitchRoll, scratchHPRQuaternion$1);
-            var hprMatrix = BoundingSphere.Matrix4.fromTranslationQuaternionRotationScale(Cartesian2.Cartesian3.ZERO, hprQuaternion, scratchScale, scratchHPRMatrix4);
-            result = fixedFrameTransform(origin, ellipsoid, result);
-            return BoundingSphere.Matrix4.multiply(result, hprMatrix, result);
-        };
-
-        var scratchENUMatrix4 = new BoundingSphere.Matrix4();
-        var scratchHPRMatrix3 = new BoundingSphere.Matrix3();
-
-        /**
-         * Computes a quaternion from a reference frame with axes computed from the heading-pitch-roll angles
-         * centered at the provided origin. Heading is the rotation from the local north
-         * direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
-         * are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
-         *
-         * @param {Cartesian3} origin The center point of the local reference frame.
-         * @param {HeadingPitchRoll} headingPitchRoll The heading, pitch, and roll.
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
-         * @param {Transforms~LocalFrameToFixedFrame} [fixedFrameTransform=Transforms.eastNorthUpToFixedFrame] A 4x4 transformation
-         *  matrix from a reference frame to the provided ellipsoid's fixed reference frame
-         * @param {Quaternion} [result] The object onto which to store the result.
-         * @returns {Quaternion} The modified result parameter or a new Quaternion instance if none was provided.
-         *
-         * @example
-         * // Get the quaternion from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
-         * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
-         * var heading = -Cesium.Math.PI_OVER_TWO;
-         * var pitch = Cesium.Math.PI_OVER_FOUR;
-         * var roll = 0.0;
-         * var hpr = new HeadingPitchRoll(heading, pitch, roll);
-         * var quaternion = Cesium.Transforms.headingPitchRollQuaternion(center, hpr);
-         */
-        Transforms.headingPitchRollQuaternion = function(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object( 'HeadingPitchRoll', headingPitchRoll);
-            //>>includeEnd('debug');
-
-            var transform = Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, scratchENUMatrix4);
-            var rotation = BoundingSphere.Matrix4.getMatrix3(transform, scratchHPRMatrix3);
-            return Quaternion.fromRotationMatrix(rotation, result);
-        };
-
-        var noScale = new Cartesian2.Cartesian3(1.0, 1.0, 1.0);
-        var hprCenterScratch = new Cartesian2.Cartesian3();
-        var ffScratch = new BoundingSphere.Matrix4();
-        var hprTransformScratch = new BoundingSphere.Matrix4();
-        var hprRotationScratch = new BoundingSphere.Matrix3();
-        var hprQuaternionScratch = new Quaternion();
-        /**
-         * Computes heading-pitch-roll angles from a transform in a particular reference frame. Heading is the rotation from the local north
-         * direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
-         * are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
-         *
-         * @param {Matrix4} transform The transform
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
-         * @param {Transforms~LocalFrameToFixedFrame} [fixedFrameTransform=Transforms.eastNorthUpToFixedFrame] A 4x4 transformation
-         *  matrix from a reference frame to the provided ellipsoid's fixed reference frame
-         * @param {HeadingPitchRoll} [result] The object onto which to store the result.
-         * @returns {HeadingPitchRoll} The modified result parameter or a new HeadingPitchRoll instance if none was provided.
-         */
-        Transforms.fixedFrameToHeadingPitchRoll = function(transform, ellipsoid, fixedFrameTransform, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('transform', transform);
-            //>>includeEnd('debug');
-
-            ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            fixedFrameTransform = when.defaultValue(fixedFrameTransform, Transforms.eastNorthUpToFixedFrame);
-            if (!when.defined(result)) {
-                result = new HeadingPitchRoll();
-            }
-
-            var center = BoundingSphere.Matrix4.getTranslation(transform, hprCenterScratch);
-            if (Cartesian2.Cartesian3.equals(center, Cartesian2.Cartesian3.ZERO)) {
-                result.heading = 0;
-                result.pitch = 0;
-                result.roll = 0;
-                return result;
-            }
-            var toFixedFrame = BoundingSphere.Matrix4.inverseTransformation(fixedFrameTransform(center, ellipsoid, ffScratch), ffScratch);
-            var transformCopy = BoundingSphere.Matrix4.setScale(transform, noScale, hprTransformScratch);
-            transformCopy = BoundingSphere.Matrix4.setTranslation(transformCopy, Cartesian2.Cartesian3.ZERO, transformCopy);
-
-            toFixedFrame = BoundingSphere.Matrix4.multiply(toFixedFrame, transformCopy, toFixedFrame);
-            var quaternionRotation = Quaternion.fromRotationMatrix(BoundingSphere.Matrix4.getMatrix3(toFixedFrame, hprRotationScratch), hprQuaternionScratch);
-            quaternionRotation = Quaternion.normalize(quaternionRotation, quaternionRotation);
-
-            return HeadingPitchRoll.fromQuaternion(quaternionRotation, result);
-        };
-
-        var gmstConstant0 = 6 * 3600 + 41 * 60 + 50.54841;
-        var gmstConstant1 = 8640184.812866;
-        var gmstConstant2 = 0.093104;
-        var gmstConstant3 = -6.2E-6;
-        var rateCoef = 1.1772758384668e-19;
-        var wgs84WRPrecessing = 7.2921158553E-5;
-        var twoPiOverSecondsInDay = _Math.CesiumMath.TWO_PI / 86400.0;
-        var dateInUtc = new JulianDate();
-
-        /**
-         * Computes a rotation matrix to transform a point or vector from True Equator Mean Equinox (TEME) axes to the
-         * pseudo-fixed axes at a given time.  This method treats the UT1 time standard as equivalent to UTC.
-         *
-         * @param {JulianDate} date The time at which to compute the rotation matrix.
-         * @param {Matrix3} [result] The object onto which to store the result.
-         * @returns {Matrix3} The modified result parameter or a new Matrix3 instance if none was provided.
-         *
-         * @example
-         * //Set the view to the inertial frame.
-         * scene.postUpdate.addEventListener(function(scene, time) {
-         *    var now = Cesium.JulianDate.now();
-         *    var offset = Cesium.Matrix4.multiplyByPoint(camera.transform, camera.position, new Cesium.Cartesian3());
-         *    var transform = Cesium.Matrix4.fromRotationTranslation(Cesium.Transforms.computeTemeToPseudoFixedMatrix(now));
-         *    var inverseTransform = Cesium.Matrix4.inverseTransformation(transform, new Cesium.Matrix4());
-         *    Cesium.Matrix4.multiplyByPoint(inverseTransform, offset, offset);
-         *    camera.lookAtTransform(transform, offset);
-         * });
-         */
-        Transforms.computeTemeToPseudoFixedMatrix = function (date, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(date)) {
-                throw new Check.DeveloperError('date is required.');
-            }
-            //>>includeEnd('debug');
-
-            // GMST is actually computed using UT1.  We're using UTC as an approximation of UT1.
-            // We do not want to use the function like convertTaiToUtc in JulianDate because
-            // we explicitly do not want to fail when inside the leap second.
-
-            dateInUtc = JulianDate.addSeconds(date, -JulianDate.computeTaiMinusUtc(date), dateInUtc);
-            var utcDayNumber = dateInUtc.dayNumber;
-            var utcSecondsIntoDay = dateInUtc.secondsOfDay;
-
-            var t;
-            var diffDays = utcDayNumber - 2451545;
-            if (utcSecondsIntoDay >= 43200.0) {
-                t = (diffDays + 0.5) / TimeConstants$1.DAYS_PER_JULIAN_CENTURY;
-            } else {
-                t = (diffDays - 0.5) / TimeConstants$1.DAYS_PER_JULIAN_CENTURY;
-            }
-
-            var gmst0 = gmstConstant0 + t * (gmstConstant1 + t * (gmstConstant2 + t * gmstConstant3));
-            var angle = (gmst0 * twoPiOverSecondsInDay) % _Math.CesiumMath.TWO_PI;
-            var ratio = wgs84WRPrecessing + rateCoef * (utcDayNumber - 2451545.5);
-            var secondsSinceMidnight = (utcSecondsIntoDay + TimeConstants$1.SECONDS_PER_DAY * 0.5) % TimeConstants$1.SECONDS_PER_DAY;
-            var gha = angle + (ratio * secondsSinceMidnight);
-            var cosGha = Math.cos(gha);
-            var sinGha = Math.sin(gha);
-
-            if (!when.defined(result)) {
-                return new BoundingSphere.Matrix3(cosGha, sinGha, 0.0,
-                                  -sinGha, cosGha, 0.0,
-                                      0.0,    0.0, 1.0);
-            }
-            result[0] = cosGha;
-            result[1] = -sinGha;
-            result[2] = 0.0;
-            result[3] = sinGha;
-            result[4] = cosGha;
-            result[5] = 0.0;
-            result[6] = 0.0;
-            result[7] = 0.0;
-            result[8] = 1.0;
-            return result;
-        };
-
-        /**
-         * The source of IAU 2006 XYS data, used for computing the transformation between the
-         * Fixed and ICRF axes.
-         * @type {Iau2006XysData}
-         *
-         * @see Transforms.computeIcrfToFixedMatrix
-         * @see Transforms.computeFixedToIcrfMatrix
-         *
-         * @private
-         */
-        Transforms.iau2006XysData = new Iau2006XysData();
-
-        /**
-         * The source of Earth Orientation Parameters (EOP) data, used for computing the transformation
-         * between the Fixed and ICRF axes.  By default, zero values are used for all EOP values,
-         * yielding a reasonable but not completely accurate representation of the ICRF axes.
-         * @type {EarthOrientationParameters}
-         *
-         * @see Transforms.computeIcrfToFixedMatrix
-         * @see Transforms.computeFixedToIcrfMatrix
-         *
-         * @private
-         */
-        Transforms.earthOrientationParameters = EarthOrientationParameters.NONE;
-
-        var ttMinusTai = 32.184;
-        var j2000ttDays = 2451545.0;
-
-        /**
-         * Preloads the data necessary to transform between the ICRF and Fixed axes, in either
-         * direction, over a given interval.  This function returns a promise that, when resolved,
-         * indicates that the preload has completed.
-         *
-         * @param {TimeInterval} timeInterval The interval to preload.
-         * @returns {Promise} A promise that, when resolved, indicates that the preload has completed
-         *          and evaluation of the transformation between the fixed and ICRF axes will
-         *          no longer return undefined for a time inside the interval.
-         *
-         *
-         * @example
-         * var interval = new Cesium.TimeInterval(...);
-         * when(Cesium.Transforms.preloadIcrfFixed(interval), function() {
-         *     // the data is now loaded
-         * });
-         *
-         * @see Transforms.computeIcrfToFixedMatrix
-         * @see Transforms.computeFixedToIcrfMatrix
-         * @see when
-         */
-        Transforms.preloadIcrfFixed = function(timeInterval) {
-            var startDayTT = timeInterval.start.dayNumber;
-            var startSecondTT = timeInterval.start.secondsOfDay + ttMinusTai;
-            var stopDayTT = timeInterval.stop.dayNumber;
-            var stopSecondTT = timeInterval.stop.secondsOfDay + ttMinusTai;
-
-            var xysPromise = Transforms.iau2006XysData.preload(startDayTT, startSecondTT, stopDayTT, stopSecondTT);
-            var eopPromise = Transforms.earthOrientationParameters.getPromiseToLoad();
-
-            return when.when.all([xysPromise, eopPromise]);
-        };
-
-        /**
-         * Computes a rotation matrix to transform a point or vector from the International Celestial
-         * Reference Frame (GCRF/ICRF) inertial frame axes to the Earth-Fixed frame axes (ITRF)
-         * at a given time.  This function may return undefined if the data necessary to
-         * do the transformation is not yet loaded.
-         *
-         * @param {JulianDate} date The time at which to compute the rotation matrix.
-         * @param {Matrix3} [result] The object onto which to store the result.  If this parameter is
-         *                  not specified, a new instance is created and returned.
-         * @returns {Matrix3} The rotation matrix, or undefined if the data necessary to do the
-         *                   transformation is not yet loaded.
-         *
-         *
-         * @example
-         * scene.postUpdate.addEventListener(function(scene, time) {
-         *   // View in ICRF.
-         *   var icrfToFixed = Cesium.Transforms.computeIcrfToFixedMatrix(time);
-         *   if (Cesium.defined(icrfToFixed)) {
-         *     var offset = Cesium.Cartesian3.clone(camera.position);
-         *     var transform = Cesium.Matrix4.fromRotationTranslation(icrfToFixed);
-         *     camera.lookAtTransform(transform, offset);
-         *   }
-         * });
-         *
-         * @see Transforms.preloadIcrfFixed
-         */
-        Transforms.computeIcrfToFixedMatrix = function(date, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(date)) {
-                throw new Check.DeveloperError('date is required.');
-            }
-            //>>includeEnd('debug');
-            if (!when.defined(result)) {
-                result = new BoundingSphere.Matrix3();
-            }
-
-            var fixedToIcrfMtx = Transforms.computeFixedToIcrfMatrix(date, result);
-            if (!when.defined(fixedToIcrfMtx)) {
-                return undefined;
-            }
-
-            return BoundingSphere.Matrix3.transpose(fixedToIcrfMtx, result);
-        };
-
-        var xysScratch = new Iau2006XysSample(0.0, 0.0, 0.0);
-        var eopScratch = new EarthOrientationParametersSample(0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
-        var rotation1Scratch = new BoundingSphere.Matrix3();
-        var rotation2Scratch = new BoundingSphere.Matrix3();
-
-        /**
-         * Computes a rotation matrix to transform a point or vector from the Earth-Fixed frame axes (ITRF)
-         * to the International Celestial Reference Frame (GCRF/ICRF) inertial frame axes
-         * at a given time.  This function may return undefined if the data necessary to
-         * do the transformation is not yet loaded.
-         *
-         * @param {JulianDate} date The time at which to compute the rotation matrix.
-         * @param {Matrix3} [result] The object onto which to store the result.  If this parameter is
-         *                  not specified, a new instance is created and returned.
-         * @returns {Matrix3} The rotation matrix, or undefined if the data necessary to do the
-         *                   transformation is not yet loaded.
-         *
-         *
-         * @example
-         * // Transform a point from the ICRF axes to the Fixed axes.
-         * var now = Cesium.JulianDate.now();
-         * var pointInFixed = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
-         * var fixedToIcrf = Cesium.Transforms.computeIcrfToFixedMatrix(now);
-         * var pointInInertial = new Cesium.Cartesian3();
-         * if (Cesium.defined(fixedToIcrf)) {
-         *     pointInInertial = Cesium.Matrix3.multiplyByVector(fixedToIcrf, pointInFixed, pointInInertial);
-         * }
-         *
-         * @see Transforms.preloadIcrfFixed
-         */
-        Transforms.computeFixedToIcrfMatrix = function(date, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(date)) {
-                throw new Check.DeveloperError('date is required.');
-            }
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere.Matrix3();
-            }
-
-            // Compute pole wander
-            var eop = Transforms.earthOrientationParameters.compute(date, eopScratch);
-            if (!when.defined(eop)) {
-                return undefined;
-            }
-
-            // There is no external conversion to Terrestrial Time (TT).
-            // So use International Atomic Time (TAI) and convert using offsets.
-            // Here we are assuming that dayTT and secondTT are positive
-            var dayTT = date.dayNumber;
-            // It's possible here that secondTT could roll over 86400
-            // This does not seem to affect the precision (unit tests check for this)
-            var secondTT = date.secondsOfDay + ttMinusTai;
-
-            var xys = Transforms.iau2006XysData.computeXysRadians(dayTT, secondTT, xysScratch);
-            if (!when.defined(xys)) {
-                return undefined;
-            }
-
-            var x = xys.x + eop.xPoleOffset;
-            var y = xys.y + eop.yPoleOffset;
-
-            // Compute XYS rotation
-            var a = 1.0 / (1.0 + Math.sqrt(1.0 - x * x - y * y));
-
-            var rotation1 = rotation1Scratch;
-            rotation1[0] = 1.0 - a * x * x;
-            rotation1[3] = -a * x * y;
-            rotation1[6] = x;
-            rotation1[1] = -a * x * y;
-            rotation1[4] = 1 - a * y * y;
-            rotation1[7] = y;
-            rotation1[2] = -x;
-            rotation1[5] = -y;
-            rotation1[8] = 1 - a * (x * x + y * y);
-
-            var rotation2 = BoundingSphere.Matrix3.fromRotationZ(-xys.s, rotation2Scratch);
-            var matrixQ = BoundingSphere.Matrix3.multiply(rotation1, rotation2, rotation1Scratch);
-
-            // Similar to TT conversions above
-            // It's possible here that secondTT could roll over 86400
-            // This does not seem to affect the precision (unit tests check for this)
-            var dateUt1day = date.dayNumber;
-            var dateUt1sec = date.secondsOfDay - JulianDate.computeTaiMinusUtc(date) + eop.ut1MinusUtc;
-
-            // Compute Earth rotation angle
-            // The IERS standard for era is
-            //    era = 0.7790572732640 + 1.00273781191135448 * Tu
-            // where
-            //    Tu = JulianDateInUt1 - 2451545.0
-            // However, you get much more precision if you make the following simplification
-            //    era = a + (1 + b) * (JulianDayNumber + FractionOfDay - 2451545)
-            //    era = a + (JulianDayNumber - 2451545) + FractionOfDay + b (JulianDayNumber - 2451545 + FractionOfDay)
-            //    era = a + FractionOfDay + b (JulianDayNumber - 2451545 + FractionOfDay)
-            // since (JulianDayNumber - 2451545) represents an integer number of revolutions which will be discarded anyway.
-            var daysSinceJ2000 = dateUt1day - 2451545;
-            var fractionOfDay = dateUt1sec / TimeConstants$1.SECONDS_PER_DAY;
-            var era = 0.7790572732640 + fractionOfDay + 0.00273781191135448 * (daysSinceJ2000 + fractionOfDay);
-            era = (era % 1.0) * _Math.CesiumMath.TWO_PI;
-
-            var earthRotation = BoundingSphere.Matrix3.fromRotationZ(era, rotation2Scratch);
-
-            // pseudoFixed to ICRF
-            var pfToIcrf = BoundingSphere.Matrix3.multiply(matrixQ, earthRotation, rotation1Scratch);
-
-            // Compute pole wander matrix
-            var cosxp = Math.cos(eop.xPoleWander);
-            var cosyp = Math.cos(eop.yPoleWander);
-            var sinxp = Math.sin(eop.xPoleWander);
-            var sinyp = Math.sin(eop.yPoleWander);
-
-            var ttt = (dayTT - j2000ttDays) + secondTT / TimeConstants$1.SECONDS_PER_DAY;
-            ttt /= 36525.0;
-
-            // approximate sp value in rad
-            var sp = -47.0e-6 * ttt * _Math.CesiumMath.RADIANS_PER_DEGREE / 3600.0;
-            var cossp = Math.cos(sp);
-            var sinsp = Math.sin(sp);
-
-            var fToPfMtx = rotation2Scratch;
-            fToPfMtx[0] = cosxp * cossp;
-            fToPfMtx[1] = cosxp * sinsp;
-            fToPfMtx[2] = sinxp;
-            fToPfMtx[3] = -cosyp * sinsp + sinyp * sinxp * cossp;
-            fToPfMtx[4] = cosyp * cossp + sinyp * sinxp * sinsp;
-            fToPfMtx[5] = -sinyp * cosxp;
-            fToPfMtx[6] = -sinyp * sinsp - cosyp * sinxp * cossp;
-            fToPfMtx[7] = sinyp * cossp - cosyp * sinxp * sinsp;
-            fToPfMtx[8] = cosyp * cosxp;
-
-            return BoundingSphere.Matrix3.multiply(pfToIcrf, fToPfMtx, result);
-        };
-
-        var pointToWindowCoordinatesTemp = new BoundingSphere.Cartesian4();
-
-        /**
-         * Transform a point from model coordinates to window coordinates.
-         *
-         * @param {Matrix4} modelViewProjectionMatrix The 4x4 model-view-projection matrix.
-         * @param {Matrix4} viewportTransformation The 4x4 viewport transformation.
-         * @param {Cartesian3} point The point to transform.
-         * @param {Cartesian2} [result] The object onto which to store the result.
-         * @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if none was provided.
-         */
-        Transforms.pointToWindowCoordinates = function (modelViewProjectionMatrix, viewportTransformation, point, result) {
-            result = Transforms.pointToGLWindowCoordinates(modelViewProjectionMatrix, viewportTransformation, point, result);
-            result.y = 2.0 * viewportTransformation[5] - result.y;
-            return result;
-        };
-
-        /**
-         * @private
-         */
-        Transforms.pointToGLWindowCoordinates = function(modelViewProjectionMatrix, viewportTransformation, point, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(modelViewProjectionMatrix)) {
-                throw new Check.DeveloperError('modelViewProjectionMatrix is required.');
-            }
-
-            if (!when.defined(viewportTransformation)) {
-                throw new Check.DeveloperError('viewportTransformation is required.');
-            }
-
-            if (!when.defined(point)) {
-                throw new Check.DeveloperError('point is required.');
-            }
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = new Cartesian2.Cartesian2();
-            }
-
-            var tmp = pointToWindowCoordinatesTemp;
-
-            BoundingSphere.Matrix4.multiplyByVector(modelViewProjectionMatrix, BoundingSphere.Cartesian4.fromElements(point.x, point.y, point.z, 1, tmp), tmp);
-            BoundingSphere.Cartesian4.multiplyByScalar(tmp, 1.0 / tmp.w, tmp);
-            BoundingSphere.Matrix4.multiplyByVector(viewportTransformation, tmp, tmp);
-            return Cartesian2.Cartesian2.fromCartesian4(tmp, result);
-        };
-
-        var normalScratch = new Cartesian2.Cartesian3();
-        var rightScratch = new Cartesian2.Cartesian3();
-        var upScratch = new Cartesian2.Cartesian3();
-
-        /**
-         * @private
-         */
-        Transforms.rotationMatrixFromPositionVelocity = function(position, velocity, ellipsoid, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(position)) {
-                throw new Check.DeveloperError('position is required.');
-            }
-
-            if (!when.defined(velocity)) {
-                throw new Check.DeveloperError('velocity is required.');
-            }
-            //>>includeEnd('debug');
-
-            var normal = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84).geodeticSurfaceNormal(position, normalScratch);
-            var right = Cartesian2.Cartesian3.cross(velocity, normal, rightScratch);
-
-            if (Cartesian2.Cartesian3.equalsEpsilon(right, Cartesian2.Cartesian3.ZERO, _Math.CesiumMath.EPSILON6)) {
-                right = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_X, right);
-            }
-
-            var up = Cartesian2.Cartesian3.cross(right, velocity, upScratch);
-            Cartesian2.Cartesian3.normalize(up, up);
-            Cartesian2.Cartesian3.cross(velocity, up, right);
-            Cartesian2.Cartesian3.negate(right, right);
-            Cartesian2.Cartesian3.normalize(right, right);
-
-            if (!when.defined(result)) {
-                result = new BoundingSphere.Matrix3();
-            }
-
-            result[0] = velocity.x;
-            result[1] = velocity.y;
-            result[2] = velocity.z;
-            result[3] = right.x;
-            result[4] = right.y;
-            result[5] = right.z;
-            result[6] = up.x;
-            result[7] = up.y;
-            result[8] = up.z;
-
-            return result;
-        };
-
-        var swizzleMatrix = new BoundingSphere.Matrix4(
-            0.0, 0.0, 1.0, 0.0,
-            1.0, 0.0, 0.0, 0.0,
-            0.0, 1.0, 0.0, 0.0,
-            0.0, 0.0, 0.0, 1.0
-        );
-
-        var scratchCartographic = new Cartesian2.Cartographic();
-        var scratchCartesian3Projection = new Cartesian2.Cartesian3();
-        var scratchCenter = new Cartesian2.Cartesian3();
-        var scratchRotation = new BoundingSphere.Matrix3();
-        var scratchFromENU = new BoundingSphere.Matrix4();
-        var scratchToENU = new BoundingSphere.Matrix4();
-
-        /**
-         * @private
-         */
-        Transforms.basisTo2D = function(projection, matrix, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(projection)) {
-                throw new Check.DeveloperError('projection is required.');
-            }
-            if (!when.defined(matrix)) {
-                throw new Check.DeveloperError('matrix is required.');
-            }
-            if (!when.defined(result)) {
-                throw new Check.DeveloperError('result is required.');
-            }
-            //>>includeEnd('debug');
-
-            var rtcCenter = BoundingSphere.Matrix4.getTranslation(matrix, scratchCenter);
-            var ellipsoid = projection.ellipsoid;
-
-            // Get the 2D Center
-            var cartographic = ellipsoid.cartesianToCartographic(rtcCenter, scratchCartographic);
-            var projectedPosition = projection.project(cartographic, scratchCartesian3Projection);
-            Cartesian2.Cartesian3.fromElements(projectedPosition.z, projectedPosition.x, projectedPosition.y, projectedPosition);
-
-            // Assuming the instance are positioned in WGS84, invert the WGS84 transform to get the local transform and then convert to 2D
-            var fromENU = Transforms.eastNorthUpToFixedFrame(rtcCenter, ellipsoid, scratchFromENU);
-            var toENU = BoundingSphere.Matrix4.inverseTransformation(fromENU, scratchToENU);
-            var rotation = BoundingSphere.Matrix4.getMatrix3(matrix, scratchRotation);
-            var local = BoundingSphere.Matrix4.multiplyByMatrix3(toENU, rotation, result);
-            BoundingSphere.Matrix4.multiply(swizzleMatrix, local, result); // Swap x, y, z for 2D
-            BoundingSphere.Matrix4.setTranslation(result, projectedPosition, result); // Use the projected center
-
-            return result;
-        };
-
-        /**
-         * @private
-         */
-        Transforms.wgs84To2DModelMatrix = function(projection, center, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(projection)) {
-                throw new Check.DeveloperError('projection is required.');
-            }
-            if (!when.defined(center)) {
-                throw new Check.DeveloperError('center is required.');
-            }
-            if (!when.defined(result)) {
-                throw new Check.DeveloperError('result is required.');
-            }
-            //>>includeEnd('debug');
-
-            var ellipsoid = projection.ellipsoid;
-
-            var fromENU = Transforms.eastNorthUpToFixedFrame(center, ellipsoid, scratchFromENU);
-            var toENU = BoundingSphere.Matrix4.inverseTransformation(fromENU, scratchToENU);
-
-            var cartographic = ellipsoid.cartesianToCartographic(center, scratchCartographic);
-            var projectedPosition = projection.project(cartographic, scratchCartesian3Projection);
-            Cartesian2.Cartesian3.fromElements(projectedPosition.z, projectedPosition.x, projectedPosition.y, projectedPosition);
-
-            var translation = BoundingSphere.Matrix4.fromTranslation(projectedPosition, scratchFromENU);
-            BoundingSphere.Matrix4.multiply(swizzleMatrix, toENU, result);
-            BoundingSphere.Matrix4.multiply(translation, result, result);
-
-            return result;
-        };
-        Transforms.buildUp = function(viewPos, cartesianDir) {
-            var dir = cartesianDir.clone();
-            var up = viewPos.clone();
-            up = Cartesian2.Cartesian3.normalize(up, up);
-
-            if(Math.abs(Cartesian2.Cartesian3.dot(up, dir)) >= 1.0){
-                if(Math.abs(Cartesian2.Cartesian3.dot(dir, Cartesian2.Cartesian3.UNIT_Y)) < 1.0){
-                    up = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_Y, up);
-                }
-                else {
-                    up = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.UNIT_Z, up);
-                }
-            }
-
-            var vLeft = new Cartesian2.Cartesian3();
-            Cartesian2.Cartesian3.cross(up, dir, vLeft);
-            vLeft = Cartesian2.Cartesian3.normalize(vLeft, vLeft);
-            Cartesian2.Cartesian3.cross(dir, vLeft, up);
-            up = Cartesian2.Cartesian3.normalize(up, up);
-            return up;
-        };
-
-        Transforms.getHeading = function(direction, up) {
-            var heading;
-            if (!_Math.CesiumMath.equalsEpsilon(Math.abs(direction.z), 1.0, _Math.CesiumMath.EPSILON3)) {
-                heading = Math.atan2(direction.y, direction.x) - _Math.CesiumMath.PI_OVER_TWO;
-            } else {
-                heading = Math.atan2(up.y, up.x) - _Math.CesiumMath.PI_OVER_TWO;
-            }
-
-            return _Math.CesiumMath.TWO_PI - _Math.CesiumMath.zeroToTwoPi(heading);
-        };
-
-        Transforms.convertToColumbusCartesian = function(cartesian) {
-            var projection = new BoundingSphere.GeographicProjection();
-            var ellipsoid = projection.ellipsoid;
-            var scratchCartesian = new Cartesian2.Cartesian3();
-            var scratchCartographic = new Cartesian2.Cartographic();
-            ellipsoid.cartesianToCartographic(cartesian, scratchCartographic);
-            projection.project(scratchCartographic, scratchCartesian);
-            return Cartesian2.Cartesian3.fromElements(scratchCartesian.z, scratchCartesian.x, scratchCartesian.y);
-        };
-
-    exports.Quaternion = Quaternion;
-    exports.Transforms = Transforms;
-
-});
diff --git a/libs/supermap/Workers/UnZipTerrainData.js b/libs/supermap/Workers/UnZipTerrainData.js
deleted file mode 100644
index b936f95..0000000
--- a/libs/supermap/Workers/UnZipTerrainData.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './createTaskProcessorWorker', './pako_inflate-8ea163f9', './unzip-b0fc9445'], function (when, createTaskProcessorWorker, pako_inflate, unzip) { 'use strict';
-
-    var unzipwasmReady = false;
-    unzip.unzip.onRuntimeInitialized = function() {
-        unzipwasmReady = true;
-    };
-
-    var unzipwasm = unzip.unzip.cwrap('unzip', 'number', ['number', 'number', 'number', 'number']);
-    var freec = unzip.unzip.cwrap('freePointer', null, ['number']);
-    function unzipWithwasm(datazip) {
-        var unzipsize = datazip.length * 4;
-        var offset = unzip.unzip._malloc(Uint8Array.BYTES_PER_ELEMENT * unzipsize); //开辟内存
-        var tar = new Uint8Array(unzipsize);
-        unzip.unzip.HEAPU8.set(tar, offset / Uint8Array.BYTES_PER_ELEMENT);
-        var offset1 = unzip.unzip._malloc(Uint8Array.BYTES_PER_ELEMENT * datazip.length);
-        unzip.unzip.HEAPU8.set(datazip, offset1 / Uint8Array.BYTES_PER_ELEMENT);
-
-        var resultLen;
-        while ((resultLen = unzipwasm(offset, unzipsize, offset1, datazip.length)) == 0) {
-            freec(offset); //释放内存
-            unzipsize *= 4;
-            offset = unzip.unzip._malloc(Uint8Array.BYTES_PER_ELEMENT * unzipsize);
-            tar = new Uint8Array(unzipsize);
-            unzip.unzip.HEAPU8.set(tar, offset / Uint8Array.BYTES_PER_ELEMENT);
-        }
-        var res = new Uint8Array(unzip.unzip.HEAPU8.buffer, offset, resultLen);
-        datazip = null;
-        tar = null;
-        var buffer = new Uint8Array(res);
-        freec(offset);
-        freec(offset1);
-        return buffer;
-    }
-
-    function UnZipTerrainData(parameters, transferableObjects) {
-        var buffer = parameters.data;
-        var dataZip = new Uint8Array(buffer);
-
-        var unzipBuffer;
-        if (unzipwasmReady === true) {
-            unzipBuffer = unzipWithwasm(dataZip);
-            return {
-                data : unzipBuffer
-            };
-        } else {
-            unzipBuffer = pako_inflate.pako.inflate(dataZip).buffer;
-        }
-        
-        transferableObjects.push(unzipBuffer);
-
-        return {
-            data : new Uint8Array(unzipBuffer)
-        };
-    }
-
-    var UnZipTerrainData$1 = createTaskProcessorWorker(UnZipTerrainData);
-
-    return UnZipTerrainData$1;
-
-});
diff --git a/libs/supermap/Workers/VertexFormat-fe4db402.js b/libs/supermap/Workers/VertexFormat-fe4db402.js
deleted file mode 100644
index cfc4dd9..0000000
--- a/libs/supermap/Workers/VertexFormat-fe4db402.js
+++ /dev/null
@@ -1,322 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281'], function (exports, when, Check) { 'use strict';
-
-    /**
-         * A vertex format defines what attributes make up a vertex.  A VertexFormat can be provided
-         * to a {@link Geometry} to request that certain properties be computed, e.g., just position,
-         * position and normal, etc.
-         *
-         * @param {Object} [options] An object with boolean properties corresponding to VertexFormat properties as shown in the code example.
-         *
-         * @alias VertexFormat
-         * @constructor
-         *
-         * @example
-         * // Create a vertex format with position and 2D texture coordinate attributes.
-         * var format = new Cesium.VertexFormat({
-         *   position : true,
-         *   st : true
-         * });
-         *
-         * @see Geometry#attributes
-         * @see Packable
-         */
-        function VertexFormat(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            /**
-             * When <code>true</code>, the vertex has a 3D position attribute.
-             * <p>
-             * 64-bit floating-point (for precision).  3 components per attribute.
-             * </p>
-             *
-             * @type Boolean
-             *
-             * @default false
-             */
-            this.position = when.defaultValue(options.position, false);
-
-            /**
-             * When <code>true</code>, the vertex has a normal attribute (normalized), which is commonly used for lighting.
-             * <p>
-             * 32-bit floating-point.  3 components per attribute.
-             * </p>
-             *
-             * @type Boolean
-             *
-             * @default false
-             */
-            this.normal = when.defaultValue(options.normal, false);
-
-            /**
-             * When <code>true</code>, the vertex has a 2D texture coordinate attribute.
-             * <p>
-             * 32-bit floating-point.  2 components per attribute
-             * </p>
-             *
-             * @type Boolean
-             *
-             * @default false
-             */
-            this.st = when.defaultValue(options.st, false);
-
-            /**
-             * When <code>true</code>, the vertex has a bitangent attribute (normalized), which is used for tangent-space effects like bump mapping.
-             * <p>
-             * 32-bit floating-point.  3 components per attribute.
-             * </p>
-             *
-             * @type Boolean
-             *
-             * @default false
-             */
-            this.bitangent = when.defaultValue(options.bitangent, false);
-
-            /**
-             * When <code>true</code>, the vertex has a tangent attribute (normalized), which is used for tangent-space effects like bump mapping.
-             * <p>
-             * 32-bit floating-point.  3 components per attribute.
-             * </p>
-             *
-             * @type Boolean
-             *
-             * @default false
-             */
-            this.tangent = when.defaultValue(options.tangent, false);
-
-            /**
-             * When <code>true</code>, the vertex has an RGB color attribute.
-             * <p>
-             * 8-bit unsigned byte.  3 components per attribute.
-             * </p>
-             *
-             * @type Boolean
-             *
-             * @default false
-             */
-            this.color = when.defaultValue(options.color, false);
-        }
-
-        /**
-         * An immutable vertex format with only a position attribute.
-         *
-         * @type {VertexFormat}
-         * @constant
-         *
-         * @see VertexFormat#position
-         */
-        VertexFormat.POSITION_ONLY = Object.freeze(new VertexFormat({
-            position : true
-        }));
-
-        /**
-         * An immutable vertex format with position and normal attributes.
-         * This is compatible with per-instance color appearances like {@link PerInstanceColorAppearance}.
-         *
-         * @type {VertexFormat}
-         * @constant
-         *
-         * @see VertexFormat#position
-         * @see VertexFormat#normal
-         */
-        VertexFormat.POSITION_AND_NORMAL = Object.freeze(new VertexFormat({
-            position : true,
-            normal : true
-        }));
-
-        /**
-         * An immutable vertex format with position, normal, and st attributes.
-         * This is compatible with {@link MaterialAppearance} when {@link MaterialAppearance#materialSupport}
-         * is <code>TEXTURED/code>.
-         *
-         * @type {VertexFormat}
-         * @constant
-         *
-         * @see VertexFormat#position
-         * @see VertexFormat#normal
-         * @see VertexFormat#st
-         */
-        VertexFormat.POSITION_NORMAL_AND_ST = Object.freeze(new VertexFormat({
-            position : true,
-            normal : true,
-            st : true
-        }));
-
-        /**
-         * An immutable vertex format with position and st attributes.
-         * This is compatible with {@link EllipsoidSurfaceAppearance}.
-         *
-         * @type {VertexFormat}
-         * @constant
-         *
-         * @see VertexFormat#position
-         * @see VertexFormat#st
-         */
-        VertexFormat.POSITION_AND_ST = Object.freeze(new VertexFormat({
-            position : true,
-            st : true
-        }));
-
-        /**
-         * An immutable vertex format with position and color attributes.
-         *
-         * @type {VertexFormat}
-         * @constant
-         *
-         * @see VertexFormat#position
-         * @see VertexFormat#color
-         */
-        VertexFormat.POSITION_AND_COLOR = Object.freeze(new VertexFormat({
-            position : true,
-            color : true
-        }));
-
-        /**
-         * An immutable vertex format with well-known attributes: position, normal, st, tangent, and bitangent.
-         *
-         * @type {VertexFormat}
-         * @constant
-         *
-         * @see VertexFormat#position
-         * @see VertexFormat#normal
-         * @see VertexFormat#st
-         * @see VertexFormat#tangent
-         * @see VertexFormat#bitangent
-         */
-        VertexFormat.ALL = Object.freeze(new VertexFormat({
-            position : true,
-            normal : true,
-            st : true,
-            tangent  : true,
-            bitangent : true
-        }));
-
-        /**
-         * An immutable vertex format with position, normal, and st attributes.
-         * This is compatible with most appearances and materials; however
-         * normal and st attributes are not always required.  When this is
-         * known in advance, another <code>VertexFormat</code> should be used.
-         *
-         * @type {VertexFormat}
-         * @constant
-         *
-         * @see VertexFormat#position
-         * @see VertexFormat#normal
-         */
-        VertexFormat.DEFAULT = VertexFormat.POSITION_NORMAL_AND_ST;
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        VertexFormat.packedLength = 6;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {VertexFormat} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        VertexFormat.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            array[startingIndex++] = value.position ? 1.0 : 0.0;
-            array[startingIndex++] = value.normal ? 1.0 : 0.0;
-            array[startingIndex++] = value.st ? 1.0 : 0.0;
-            array[startingIndex++] = value.tangent ? 1.0 : 0.0;
-            array[startingIndex++] = value.bitangent ? 1.0 : 0.0;
-            array[startingIndex] = value.color ? 1.0 : 0.0;
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {VertexFormat} [result] The object into which to store the result.
-         * @returns {VertexFormat} The modified result parameter or a new VertexFormat instance if one was not provided.
-         */
-        VertexFormat.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            if (!when.defined(result)) {
-                result = new VertexFormat();
-            }
-
-            result.position  = array[startingIndex++] === 1.0;
-            result.normal    = array[startingIndex++] === 1.0;
-            result.st        = array[startingIndex++] === 1.0;
-            result.tangent   = array[startingIndex++] === 1.0;
-            result.bitangent = array[startingIndex++] === 1.0;
-            result.color     = array[startingIndex] === 1.0;
-            return result;
-        };
-
-        /**
-         * Duplicates a VertexFormat instance.
-         *
-         * @param {VertexFormat} vertexFormat The vertex format to duplicate.
-         * @param {VertexFormat} [result] The object onto which to store the result.
-         * @returns {VertexFormat} The modified result parameter or a new VertexFormat instance if one was not provided. (Returns undefined if vertexFormat is undefined)
-         */
-        VertexFormat.clone = function(vertexFormat, result) {
-            if (!when.defined(vertexFormat)) {
-                return undefined;
-            }
-            if (!when.defined(result)) {
-                result = new VertexFormat();
-            }
-
-            result.position = vertexFormat.position;
-            result.normal = vertexFormat.normal;
-            result.st = vertexFormat.st;
-            result.tangent = vertexFormat.tangent;
-            result.bitangent = vertexFormat.bitangent;
-            result.color = vertexFormat.color;
-            return result;
-        };
-
-    exports.VertexFormat = VertexFormat;
-
-});
diff --git a/libs/supermap/Workers/WallGeometryLibrary-9f4fb590.js b/libs/supermap/Workers/WallGeometryLibrary-9f4fb590.js
deleted file mode 100644
index 7882079..0000000
--- a/libs/supermap/Workers/WallGeometryLibrary-9f4fb590.js
+++ /dev/null
@@ -1,207 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Math-61ede240', './Cartesian2-2cbe6c75', './EllipsoidTangentPlane-fe3014f8', './PolygonPipeline-4e2bb580', './PolylinePipeline-3f99899a'], function (exports, when, _Math, Cartesian2, EllipsoidTangentPlane, PolygonPipeline, PolylinePipeline) { 'use strict';
-
-    /**
-         * private
-         */
-        var WallGeometryLibrary = {};
-
-        function latLonEquals(c0, c1) {
-            return ((_Math.CesiumMath.equalsEpsilon(c0.latitude, c1.latitude, _Math.CesiumMath.EPSILON14)) && (_Math.CesiumMath.equalsEpsilon(c0.longitude, c1.longitude, _Math.CesiumMath.EPSILON14)));
-        }
-
-        var scratchCartographic1 = new Cartesian2.Cartographic();
-        var scratchCartographic2 = new Cartesian2.Cartographic();
-        function removeDuplicates(ellipsoid, positions, topHeights, bottomHeights) {
-            var length = positions.length;
-            if (length < 2) {
-                return;
-            }
-
-            var hasBottomHeights = when.defined(bottomHeights);
-            var hasTopHeights = when.defined(topHeights);
-            var hasAllZeroHeights = true;
-
-            var cleanedPositions = new Array(length);
-            var cleanedTopHeights = new Array(length);
-            var cleanedBottomHeights = new Array(length);
-
-            var v0 = positions[0];
-            cleanedPositions[0] = v0;
-
-            var c0 = ellipsoid.cartesianToCartographic(v0, scratchCartographic1);
-            if (hasTopHeights) {
-                c0.height = topHeights[0];
-            }
-
-            hasAllZeroHeights = hasAllZeroHeights && c0.height <= 0;
-
-            cleanedTopHeights[0] = c0.height;
-
-            if (hasBottomHeights) {
-                cleanedBottomHeights[0] = bottomHeights[0];
-            } else {
-                cleanedBottomHeights[0] = 0.0;
-            }
-
-            var index = 1;
-            for (var i = 1; i < length; ++i) {
-                var v1 = positions[i];
-                var c1 = ellipsoid.cartesianToCartographic(v1, scratchCartographic2);
-                if (hasTopHeights) {
-                    c1.height = topHeights[i];
-                }
-                hasAllZeroHeights = hasAllZeroHeights && c1.height <= 0;
-
-                if (!latLonEquals(c0, c1)) {
-                    cleanedPositions[index] = v1; // Shallow copy!
-                    cleanedTopHeights[index] = c1.height;
-
-                    if (hasBottomHeights) {
-                        cleanedBottomHeights[index] = bottomHeights[i];
-                    } else {
-                        cleanedBottomHeights[index] = 0.0;
-                    }
-
-                    Cartesian2.Cartographic.clone(c1, c0);
-                    ++index;
-                } else if (c0.height < c1.height) {
-                    cleanedTopHeights[index - 1] = c1.height;
-                }
-            }
-
-            if (hasAllZeroHeights || index < 2) {
-                return;
-            }
-
-            cleanedPositions.length = index;
-            cleanedTopHeights.length = index;
-            cleanedBottomHeights.length = index;
-
-            return {
-                positions: cleanedPositions,
-                topHeights: cleanedTopHeights,
-                bottomHeights: cleanedBottomHeights
-            };
-        }
-
-        var positionsArrayScratch = new Array(2);
-        var heightsArrayScratch = new Array(2);
-        var generateArcOptionsScratch = {
-            positions : undefined,
-            height : undefined,
-            granularity : undefined,
-            ellipsoid : undefined
-        };
-
-        /**
-         * @private
-         */
-        WallGeometryLibrary.computePositions = function(ellipsoid, wallPositions, maximumHeights, minimumHeights, granularity, duplicateCorners) {
-            var o = removeDuplicates(ellipsoid, wallPositions, maximumHeights, minimumHeights);
-
-            if (!when.defined(o)) {
-                return;
-            }
-
-            wallPositions = o.positions;
-            maximumHeights = o.topHeights;
-            minimumHeights = o.bottomHeights;
-
-            if (wallPositions.length >= 3) {
-                // Order positions counter-clockwise
-                var tangentPlane = EllipsoidTangentPlane.EllipsoidTangentPlane.fromPoints(wallPositions, ellipsoid);
-                var positions2D = tangentPlane.projectPointsOntoPlane(wallPositions);
-
-                if (PolygonPipeline.PolygonPipeline.computeWindingOrder2D(positions2D) === PolygonPipeline.WindingOrder.CLOCKWISE) {
-                    wallPositions.reverse();
-                    maximumHeights.reverse();
-                    minimumHeights.reverse();
-                }
-            }
-
-            var length = wallPositions.length;
-            var numCorners = length - 2;
-            var topPositions;
-            var bottomPositions;
-
-            var minDistance = _Math.CesiumMath.chordLength(granularity, ellipsoid.maximumRadius);
-
-            var generateArcOptions = generateArcOptionsScratch;
-            generateArcOptions.minDistance = minDistance;
-            generateArcOptions.ellipsoid = ellipsoid;
-
-            if (duplicateCorners) {
-                var count = 0;
-                var i;
-
-                for (i = 0; i < length - 1; i++) {
-                    count += PolylinePipeline.PolylinePipeline.numberOfPoints(wallPositions[i], wallPositions[i+1], minDistance) + 1;
-                }
-
-                topPositions = new Float64Array(count * 3);
-                bottomPositions = new Float64Array(count * 3);
-
-                var generateArcPositions = positionsArrayScratch;
-                var generateArcHeights = heightsArrayScratch;
-                generateArcOptions.positions = generateArcPositions;
-                generateArcOptions.height = generateArcHeights;
-
-                var offset = 0;
-                for (i = 0; i < length - 1; i++) {
-                    generateArcPositions[0] = wallPositions[i];
-                    generateArcPositions[1] = wallPositions[i + 1];
-
-                    generateArcHeights[0] = maximumHeights[i];
-                    generateArcHeights[1] = maximumHeights[i + 1];
-
-                    var pos = PolylinePipeline.PolylinePipeline.generateArc(generateArcOptions);
-                    topPositions.set(pos, offset);
-
-                    generateArcHeights[0] = minimumHeights[i];
-                    generateArcHeights[1] = minimumHeights[i + 1];
-
-                    bottomPositions.set(PolylinePipeline.PolylinePipeline.generateArc(generateArcOptions), offset);
-
-                    offset += pos.length;
-                }
-            } else {
-                generateArcOptions.positions = wallPositions;
-                generateArcOptions.height = maximumHeights;
-                topPositions = new Float64Array(PolylinePipeline.PolylinePipeline.generateArc(generateArcOptions));
-
-                generateArcOptions.height = minimumHeights;
-                bottomPositions = new Float64Array(PolylinePipeline.PolylinePipeline.generateArc(generateArcOptions));
-            }
-
-            return {
-                bottomPositions: bottomPositions,
-                topPositions: topPositions,
-                numCorners: numCorners
-            };
-        };
-
-    exports.WallGeometryLibrary = WallGeometryLibrary;
-
-});
diff --git a/libs/supermap/Workers/WebGLConstants-4c11ee5f.js b/libs/supermap/Workers/WebGLConstants-4c11ee5f.js
deleted file mode 100644
index b63bffe..0000000
--- a/libs/supermap/Workers/WebGLConstants-4c11ee5f.js
+++ /dev/null
@@ -1,636 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports'], function (exports) { 'use strict';
-
-    /**
-         * Enum containing WebGL Constant values by name.
-         * for use without an active WebGL context, or in cases where certain constants are unavailable using the WebGL context
-         * (For example, in [Safari 9]{@link https://github.com/CesiumGS/cesium/issues/2989}).
-         *
-         * These match the constants from the [WebGL 1.0]{@link https://www.khronos.org/registry/webgl/specs/latest/1.0/}
-         * and [WebGL 2.0]{@link https://www.khronos.org/registry/webgl/specs/latest/2.0/}
-         * specifications.
-         *
-         * @exports WebGLConstants
-         */
-        var WebGLConstants = {
-            DEPTH_BUFFER_BIT : 0x00000100,
-            STENCIL_BUFFER_BIT : 0x00000400,
-            COLOR_BUFFER_BIT : 0x00004000,
-            POINTS : 0x0000,
-            LINES : 0x0001,
-            LINE_LOOP : 0x0002,
-            LINE_STRIP : 0x0003,
-            TRIANGLES : 0x0004,
-            TRIANGLE_STRIP : 0x0005,
-            TRIANGLE_FAN : 0x0006,
-            ZERO : 0,
-            ONE : 1,
-            SRC_COLOR : 0x0300,
-            ONE_MINUS_SRC_COLOR : 0x0301,
-            SRC_ALPHA : 0x0302,
-            ONE_MINUS_SRC_ALPHA : 0x0303,
-            DST_ALPHA : 0x0304,
-            ONE_MINUS_DST_ALPHA : 0x0305,
-            DST_COLOR : 0x0306,
-            ONE_MINUS_DST_COLOR : 0x0307,
-            SRC_ALPHA_SATURATE : 0x0308,
-            FUNC_ADD : 0x8006,
-            BLEND_EQUATION : 0x8009,
-            BLEND_EQUATION_RGB : 0x8009, // same as BLEND_EQUATION
-            BLEND_EQUATION_ALPHA : 0x883D,
-            FUNC_SUBTRACT : 0x800A,
-            FUNC_REVERSE_SUBTRACT : 0x800B,
-            BLEND_DST_RGB : 0x80C8,
-            BLEND_SRC_RGB : 0x80C9,
-            BLEND_DST_ALPHA : 0x80CA,
-            BLEND_SRC_ALPHA : 0x80CB,
-            CONSTANT_COLOR : 0x8001,
-            ONE_MINUS_CONSTANT_COLOR : 0x8002,
-            CONSTANT_ALPHA : 0x8003,
-            ONE_MINUS_CONSTANT_ALPHA : 0x8004,
-            BLEND_COLOR : 0x8005,
-            ARRAY_BUFFER : 0x8892,
-            ELEMENT_ARRAY_BUFFER : 0x8893,
-            ARRAY_BUFFER_BINDING : 0x8894,
-            ELEMENT_ARRAY_BUFFER_BINDING : 0x8895,
-            STREAM_DRAW : 0x88E0,
-            STATIC_DRAW : 0x88E4,
-            DYNAMIC_DRAW : 0x88E8,
-            BUFFER_SIZE : 0x8764,
-            BUFFER_USAGE : 0x8765,
-            CURRENT_VERTEX_ATTRIB : 0x8626,
-            FRONT : 0x0404,
-            BACK : 0x0405,
-            FRONT_AND_BACK : 0x0408,
-            CULL_FACE : 0x0B44,
-            BLEND : 0x0BE2,
-            DITHER : 0x0BD0,
-            STENCIL_TEST : 0x0B90,
-            DEPTH_TEST : 0x0B71,
-            SCISSOR_TEST : 0x0C11,
-            POLYGON_OFFSET_FILL : 0x8037,
-            SAMPLE_ALPHA_TO_COVERAGE : 0x809E,
-            SAMPLE_COVERAGE : 0x80A0,
-            NO_ERROR : 0,
-            INVALID_ENUM : 0x0500,
-            INVALID_VALUE : 0x0501,
-            INVALID_OPERATION : 0x0502,
-            OUT_OF_MEMORY : 0x0505,
-            CW : 0x0900,
-            CCW : 0x0901,
-            LINE_WIDTH : 0x0B21,
-            ALIASED_POINT_SIZE_RANGE : 0x846D,
-            ALIASED_LINE_WIDTH_RANGE : 0x846E,
-            CULL_FACE_MODE : 0x0B45,
-            FRONT_FACE : 0x0B46,
-            DEPTH_RANGE : 0x0B70,
-            DEPTH_WRITEMASK : 0x0B72,
-            DEPTH_CLEAR_VALUE : 0x0B73,
-            DEPTH_FUNC : 0x0B74,
-            STENCIL_CLEAR_VALUE : 0x0B91,
-            STENCIL_FUNC : 0x0B92,
-            STENCIL_FAIL : 0x0B94,
-            STENCIL_PASS_DEPTH_FAIL : 0x0B95,
-            STENCIL_PASS_DEPTH_PASS : 0x0B96,
-            STENCIL_REF : 0x0B97,
-            STENCIL_VALUE_MASK : 0x0B93,
-            STENCIL_WRITEMASK : 0x0B98,
-            STENCIL_BACK_FUNC : 0x8800,
-            STENCIL_BACK_FAIL : 0x8801,
-            STENCIL_BACK_PASS_DEPTH_FAIL : 0x8802,
-            STENCIL_BACK_PASS_DEPTH_PASS : 0x8803,
-            STENCIL_BACK_REF : 0x8CA3,
-            STENCIL_BACK_VALUE_MASK : 0x8CA4,
-            STENCIL_BACK_WRITEMASK : 0x8CA5,
-            VIEWPORT : 0x0BA2,
-            SCISSOR_BOX : 0x0C10,
-            COLOR_CLEAR_VALUE : 0x0C22,
-            COLOR_WRITEMASK : 0x0C23,
-            UNPACK_ALIGNMENT : 0x0CF5,
-            PACK_ALIGNMENT : 0x0D05,
-            MAX_TEXTURE_SIZE : 0x0D33,
-            MAX_VIEWPORT_DIMS : 0x0D3A,
-            SUBPIXEL_BITS : 0x0D50,
-            RED_BITS : 0x0D52,
-            GREEN_BITS : 0x0D53,
-            BLUE_BITS : 0x0D54,
-            ALPHA_BITS : 0x0D55,
-            DEPTH_BITS : 0x0D56,
-            STENCIL_BITS : 0x0D57,
-            POLYGON_OFFSET_UNITS : 0x2A00,
-            POLYGON_OFFSET_FACTOR : 0x8038,
-            TEXTURE_BINDING_2D : 0x8069,
-            SAMPLE_BUFFERS : 0x80A8,
-            SAMPLES : 0x80A9,
-            SAMPLE_COVERAGE_VALUE : 0x80AA,
-            SAMPLE_COVERAGE_INVERT : 0x80AB,
-            COMPRESSED_TEXTURE_FORMATS : 0x86A3,
-            DONT_CARE : 0x1100,
-            FASTEST : 0x1101,
-            NICEST : 0x1102,
-            GENERATE_MIPMAP_HINT : 0x8192,
-            BYTE : 0x1400,
-            UNSIGNED_BYTE : 0x1401,
-            SHORT : 0x1402,
-            UNSIGNED_SHORT : 0x1403,
-            INT : 0x1404,
-            UNSIGNED_INT : 0x1405,
-            FLOAT : 0x1406,
-            DEPTH_COMPONENT : 0x1902,
-            ALPHA : 0x1906,
-            RGB : 0x1907,
-            RGBA : 0x1908,
-            LUMINANCE : 0x1909,
-            LUMINANCE_ALPHA : 0x190A,
-            UNSIGNED_SHORT_4_4_4_4 : 0x8033,
-            UNSIGNED_SHORT_5_5_5_1 : 0x8034,
-            UNSIGNED_SHORT_5_6_5 : 0x8363,
-            FRAGMENT_SHADER : 0x8B30,
-            VERTEX_SHADER : 0x8B31,
-            MAX_VERTEX_ATTRIBS : 0x8869,
-            MAX_VERTEX_UNIFORM_VECTORS : 0x8DFB,
-            MAX_VARYING_VECTORS : 0x8DFC,
-            MAX_COMBINED_TEXTURE_IMAGE_UNITS : 0x8B4D,
-            MAX_VERTEX_TEXTURE_IMAGE_UNITS : 0x8B4C,
-            MAX_TEXTURE_IMAGE_UNITS : 0x8872,
-            MAX_FRAGMENT_UNIFORM_VECTORS : 0x8DFD,
-            SHADER_TYPE : 0x8B4F,
-            DELETE_STATUS : 0x8B80,
-            LINK_STATUS : 0x8B82,
-            VALIDATE_STATUS : 0x8B83,
-            ATTACHED_SHADERS : 0x8B85,
-            ACTIVE_UNIFORMS : 0x8B86,
-            ACTIVE_ATTRIBUTES : 0x8B89,
-            SHADING_LANGUAGE_VERSION : 0x8B8C,
-            CURRENT_PROGRAM : 0x8B8D,
-            NEVER : 0x0200,
-            LESS : 0x0201,
-            EQUAL : 0x0202,
-            LEQUAL : 0x0203,
-            GREATER : 0x0204,
-            NOTEQUAL : 0x0205,
-            GEQUAL : 0x0206,
-            ALWAYS : 0x0207,
-            KEEP : 0x1E00,
-            REPLACE : 0x1E01,
-            INCR : 0x1E02,
-            DECR : 0x1E03,
-            INVERT : 0x150A,
-            INCR_WRAP : 0x8507,
-            DECR_WRAP : 0x8508,
-            VENDOR : 0x1F00,
-            RENDERER : 0x1F01,
-            VERSION : 0x1F02,
-            NEAREST : 0x2600,
-            LINEAR : 0x2601,
-            NEAREST_MIPMAP_NEAREST : 0x2700,
-            LINEAR_MIPMAP_NEAREST : 0x2701,
-            NEAREST_MIPMAP_LINEAR : 0x2702,
-            LINEAR_MIPMAP_LINEAR : 0x2703,
-            TEXTURE_MAG_FILTER : 0x2800,
-            TEXTURE_MIN_FILTER : 0x2801,
-            TEXTURE_WRAP_S : 0x2802,
-            TEXTURE_WRAP_T : 0x2803,
-            TEXTURE_2D : 0x0DE1,
-            TEXTURE : 0x1702,
-            TEXTURE_CUBE_MAP : 0x8513,
-            TEXTURE_BINDING_CUBE_MAP : 0x8514,
-            TEXTURE_CUBE_MAP_POSITIVE_X : 0x8515,
-            TEXTURE_CUBE_MAP_NEGATIVE_X : 0x8516,
-            TEXTURE_CUBE_MAP_POSITIVE_Y : 0x8517,
-            TEXTURE_CUBE_MAP_NEGATIVE_Y : 0x8518,
-            TEXTURE_CUBE_MAP_POSITIVE_Z : 0x8519,
-            TEXTURE_CUBE_MAP_NEGATIVE_Z : 0x851A,
-            MAX_CUBE_MAP_TEXTURE_SIZE : 0x851C,
-            TEXTURE0 : 0x84C0,
-            TEXTURE1 : 0x84C1,
-            TEXTURE2 : 0x84C2,
-            TEXTURE3 : 0x84C3,
-            TEXTURE4 : 0x84C4,
-            TEXTURE5 : 0x84C5,
-            TEXTURE6 : 0x84C6,
-            TEXTURE7 : 0x84C7,
-            TEXTURE8 : 0x84C8,
-            TEXTURE9 : 0x84C9,
-            TEXTURE10 : 0x84CA,
-            TEXTURE11 : 0x84CB,
-            TEXTURE12 : 0x84CC,
-            TEXTURE13 : 0x84CD,
-            TEXTURE14 : 0x84CE,
-            TEXTURE15 : 0x84CF,
-            TEXTURE16 : 0x84D0,
-            TEXTURE17 : 0x84D1,
-            TEXTURE18 : 0x84D2,
-            TEXTURE19 : 0x84D3,
-            TEXTURE20 : 0x84D4,
-            TEXTURE21 : 0x84D5,
-            TEXTURE22 : 0x84D6,
-            TEXTURE23 : 0x84D7,
-            TEXTURE24 : 0x84D8,
-            TEXTURE25 : 0x84D9,
-            TEXTURE26 : 0x84DA,
-            TEXTURE27 : 0x84DB,
-            TEXTURE28 : 0x84DC,
-            TEXTURE29 : 0x84DD,
-            TEXTURE30 : 0x84DE,
-            TEXTURE31 : 0x84DF,
-            ACTIVE_TEXTURE : 0x84E0,
-            REPEAT : 0x2901,
-            CLAMP_TO_EDGE : 0x812F,
-            MIRRORED_REPEAT : 0x8370,
-            FLOAT_VEC2 : 0x8B50,
-            FLOAT_VEC3 : 0x8B51,
-            FLOAT_VEC4 : 0x8B52,
-            INT_VEC2 : 0x8B53,
-            INT_VEC3 : 0x8B54,
-            INT_VEC4 : 0x8B55,
-            BOOL : 0x8B56,
-            BOOL_VEC2 : 0x8B57,
-            BOOL_VEC3 : 0x8B58,
-            BOOL_VEC4 : 0x8B59,
-            FLOAT_MAT2 : 0x8B5A,
-            FLOAT_MAT3 : 0x8B5B,
-            FLOAT_MAT4 : 0x8B5C,
-            SAMPLER_2D : 0x8B5E,
-            SAMPLER_CUBE : 0x8B60,
-            VERTEX_ATTRIB_ARRAY_ENABLED : 0x8622,
-            VERTEX_ATTRIB_ARRAY_SIZE : 0x8623,
-            VERTEX_ATTRIB_ARRAY_STRIDE : 0x8624,
-            VERTEX_ATTRIB_ARRAY_TYPE : 0x8625,
-            VERTEX_ATTRIB_ARRAY_NORMALIZED : 0x886A,
-            VERTEX_ATTRIB_ARRAY_POINTER : 0x8645,
-            VERTEX_ATTRIB_ARRAY_BUFFER_BINDING : 0x889F,
-            IMPLEMENTATION_COLOR_READ_TYPE : 0x8B9A,
-            IMPLEMENTATION_COLOR_READ_FORMAT : 0x8B9B,
-            COMPILE_STATUS : 0x8B81,
-            LOW_FLOAT : 0x8DF0,
-            MEDIUM_FLOAT : 0x8DF1,
-            HIGH_FLOAT : 0x8DF2,
-            LOW_INT : 0x8DF3,
-            MEDIUM_INT : 0x8DF4,
-            HIGH_INT : 0x8DF5,
-            FRAMEBUFFER : 0x8D40,
-            RENDERBUFFER : 0x8D41,
-            RGBA4 : 0x8056,
-            RGB5_A1 : 0x8057,
-            RGB565 : 0x8D62,
-            DEPTH_COMPONENT16 : 0x81A5,
-            STENCIL_INDEX : 0x1901,
-            STENCIL_INDEX8 : 0x8D48,
-            DEPTH_STENCIL : 0x84F9,
-            RENDERBUFFER_WIDTH : 0x8D42,
-            RENDERBUFFER_HEIGHT : 0x8D43,
-            RENDERBUFFER_INTERNAL_FORMAT : 0x8D44,
-            RENDERBUFFER_RED_SIZE : 0x8D50,
-            RENDERBUFFER_GREEN_SIZE : 0x8D51,
-            RENDERBUFFER_BLUE_SIZE : 0x8D52,
-            RENDERBUFFER_ALPHA_SIZE : 0x8D53,
-            RENDERBUFFER_DEPTH_SIZE : 0x8D54,
-            RENDERBUFFER_STENCIL_SIZE : 0x8D55,
-            FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE : 0x8CD0,
-            FRAMEBUFFER_ATTACHMENT_OBJECT_NAME : 0x8CD1,
-            FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL : 0x8CD2,
-            FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE : 0x8CD3,
-            COLOR_ATTACHMENT0 : 0x8CE0,
-            DEPTH_ATTACHMENT : 0x8D00,
-            STENCIL_ATTACHMENT : 0x8D20,
-            DEPTH_STENCIL_ATTACHMENT : 0x821A,
-            NONE : 0,
-            FRAMEBUFFER_COMPLETE : 0x8CD5,
-            FRAMEBUFFER_INCOMPLETE_ATTACHMENT : 0x8CD6,
-            FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT : 0x8CD7,
-            FRAMEBUFFER_INCOMPLETE_DIMENSIONS : 0x8CD9,
-            FRAMEBUFFER_UNSUPPORTED : 0x8CDD,
-            FRAMEBUFFER_BINDING : 0x8CA6,
-            RENDERBUFFER_BINDING : 0x8CA7,
-            MAX_RENDERBUFFER_SIZE : 0x84E8,
-            INVALID_FRAMEBUFFER_OPERATION : 0x0506,
-            UNPACK_FLIP_Y_WEBGL : 0x9240,
-            UNPACK_PREMULTIPLY_ALPHA_WEBGL : 0x9241,
-            CONTEXT_LOST_WEBGL : 0x9242,
-            UNPACK_COLORSPACE_CONVERSION_WEBGL : 0x9243,
-            BROWSER_DEFAULT_WEBGL : 0x9244,
-
-            // WEBGL_compressed_texture_s3tc
-            COMPRESSED_RGB_S3TC_DXT1_EXT : 0x83F0,
-            COMPRESSED_RGBA_S3TC_DXT1_EXT : 0x83F1,
-            COMPRESSED_RGBA_S3TC_DXT3_EXT : 0x83F2,
-            COMPRESSED_RGBA_S3TC_DXT5_EXT : 0x83F3,
-
-            // WEBGL_compressed_texture_pvrtc
-            COMPRESSED_RGB_PVRTC_4BPPV1_IMG : 0x8C00,
-            COMPRESSED_RGB_PVRTC_2BPPV1_IMG : 0x8C01,
-            COMPRESSED_RGBA_PVRTC_4BPPV1_IMG : 0x8C02,
-            COMPRESSED_RGBA_PVRTC_2BPPV1_IMG : 0x8C03,
-
-            // WEBGL_compressed_texture_etc1
-            COMPRESSED_RGB_ETC1_WEBGL : 0x8D64,
-
-            // EXT_color_buffer_half_float
-            HALF_FLOAT_OES : 0x8D61,
-
-            // Desktop OpenGL
-            DOUBLE : 0x140A,
-
-            // WebGL 2
-            READ_BUFFER : 0x0C02,
-            UNPACK_ROW_LENGTH : 0x0CF2,
-            UNPACK_SKIP_ROWS : 0x0CF3,
-            UNPACK_SKIP_PIXELS : 0x0CF4,
-            PACK_ROW_LENGTH : 0x0D02,
-            PACK_SKIP_ROWS : 0x0D03,
-            PACK_SKIP_PIXELS : 0x0D04,
-            COLOR : 0x1800,
-            DEPTH : 0x1801,
-            STENCIL : 0x1802,
-            RED : 0x1903,
-            RGB8 : 0x8051,
-            RGBA8 : 0x8058,
-            RGB10_A2 : 0x8059,
-            TEXTURE_BINDING_3D : 0x806A,
-            UNPACK_SKIP_IMAGES : 0x806D,
-            UNPACK_IMAGE_HEIGHT : 0x806E,
-            TEXTURE_3D : 0x806F,
-            TEXTURE_WRAP_R : 0x8072,
-            MAX_3D_TEXTURE_SIZE : 0x8073,
-            UNSIGNED_INT_2_10_10_10_REV : 0x8368,
-            MAX_ELEMENTS_VERTICES : 0x80E8,
-            MAX_ELEMENTS_INDICES : 0x80E9,
-            TEXTURE_MIN_LOD : 0x813A,
-            TEXTURE_MAX_LOD : 0x813B,
-            TEXTURE_BASE_LEVEL : 0x813C,
-            TEXTURE_MAX_LEVEL : 0x813D,
-            MIN : 0x8007,
-            MAX : 0x8008,
-            DEPTH_COMPONENT24 : 0x81A6,
-            MAX_TEXTURE_LOD_BIAS : 0x84FD,
-            TEXTURE_COMPARE_MODE : 0x884C,
-            TEXTURE_COMPARE_FUNC : 0x884D,
-            CURRENT_QUERY : 0x8865,
-            QUERY_RESULT : 0x8866,
-            QUERY_RESULT_AVAILABLE : 0x8867,
-            STREAM_READ : 0x88E1,
-            STREAM_COPY : 0x88E2,
-            STATIC_READ : 0x88E5,
-            STATIC_COPY : 0x88E6,
-            DYNAMIC_READ : 0x88E9,
-            DYNAMIC_COPY : 0x88EA,
-            MAX_DRAW_BUFFERS : 0x8824,
-            DRAW_BUFFER0 : 0x8825,
-            DRAW_BUFFER1 : 0x8826,
-            DRAW_BUFFER2 : 0x8827,
-            DRAW_BUFFER3 : 0x8828,
-            DRAW_BUFFER4 : 0x8829,
-            DRAW_BUFFER5 : 0x882A,
-            DRAW_BUFFER6 : 0x882B,
-            DRAW_BUFFER7 : 0x882C,
-            DRAW_BUFFER8 : 0x882D,
-            DRAW_BUFFER9 : 0x882E,
-            DRAW_BUFFER10 : 0x882F,
-            DRAW_BUFFER11 : 0x8830,
-            DRAW_BUFFER12 : 0x8831,
-            DRAW_BUFFER13 : 0x8832,
-            DRAW_BUFFER14 : 0x8833,
-            DRAW_BUFFER15 : 0x8834,
-            MAX_FRAGMENT_UNIFORM_COMPONENTS : 0x8B49,
-            MAX_VERTEX_UNIFORM_COMPONENTS : 0x8B4A,
-            SAMPLER_3D : 0x8B5F,
-            SAMPLER_2D_SHADOW : 0x8B62,
-            FRAGMENT_SHADER_DERIVATIVE_HINT : 0x8B8B,
-            PIXEL_PACK_BUFFER : 0x88EB,
-            PIXEL_UNPACK_BUFFER : 0x88EC,
-            PIXEL_PACK_BUFFER_BINDING : 0x88ED,
-            PIXEL_UNPACK_BUFFER_BINDING : 0x88EF,
-            FLOAT_MAT2x3 : 0x8B65,
-            FLOAT_MAT2x4 : 0x8B66,
-            FLOAT_MAT3x2 : 0x8B67,
-            FLOAT_MAT3x4 : 0x8B68,
-            FLOAT_MAT4x2 : 0x8B69,
-            FLOAT_MAT4x3 : 0x8B6A,
-            SRGB : 0x8C40,
-            SRGB8 : 0x8C41,
-            SRGB8_ALPHA8 : 0x8C43,
-            COMPARE_REF_TO_TEXTURE : 0x884E,
-            RGBA32F : 0x8814,
-            RGB32F : 0x8815,
-            RGBA16F : 0x881A,
-            RGB16F : 0x881B,
-            VERTEX_ATTRIB_ARRAY_INTEGER : 0x88FD,
-            MAX_ARRAY_TEXTURE_LAYERS : 0x88FF,
-            MIN_PROGRAM_TEXEL_OFFSET : 0x8904,
-            MAX_PROGRAM_TEXEL_OFFSET : 0x8905,
-            MAX_VARYING_COMPONENTS : 0x8B4B,
-            TEXTURE_2D_ARRAY : 0x8C1A,
-            TEXTURE_BINDING_2D_ARRAY : 0x8C1D,
-            R11F_G11F_B10F : 0x8C3A,
-            UNSIGNED_INT_10F_11F_11F_REV : 0x8C3B,
-            RGB9_E5 : 0x8C3D,
-            UNSIGNED_INT_5_9_9_9_REV : 0x8C3E,
-            TRANSFORM_FEEDBACK_BUFFER_MODE : 0x8C7F,
-            MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS : 0x8C80,
-            TRANSFORM_FEEDBACK_VARYINGS : 0x8C83,
-            TRANSFORM_FEEDBACK_BUFFER_START : 0x8C84,
-            TRANSFORM_FEEDBACK_BUFFER_SIZE : 0x8C85,
-            TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN : 0x8C88,
-            RASTERIZER_DISCARD : 0x8C89,
-            MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS : 0x8C8A,
-            MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS : 0x8C8B,
-            INTERLEAVED_ATTRIBS : 0x8C8C,
-            SEPARATE_ATTRIBS : 0x8C8D,
-            TRANSFORM_FEEDBACK_BUFFER : 0x8C8E,
-            TRANSFORM_FEEDBACK_BUFFER_BINDING : 0x8C8F,
-            RGBA32UI : 0x8D70,
-            RGB32UI : 0x8D71,
-            RGBA16UI : 0x8D76,
-            RGB16UI : 0x8D77,
-            RGBA8UI : 0x8D7C,
-            RGB8UI : 0x8D7D,
-            RGBA32I : 0x8D82,
-            RGB32I : 0x8D83,
-            RGBA16I : 0x8D88,
-            RGB16I : 0x8D89,
-            RGBA8I : 0x8D8E,
-            RGB8I : 0x8D8F,
-            RED_INTEGER : 0x8D94,
-            RGB_INTEGER : 0x8D98,
-            RGBA_INTEGER : 0x8D99,
-            SAMPLER_2D_ARRAY : 0x8DC1,
-            SAMPLER_2D_ARRAY_SHADOW : 0x8DC4,
-            SAMPLER_CUBE_SHADOW : 0x8DC5,
-            UNSIGNED_INT_VEC2 : 0x8DC6,
-            UNSIGNED_INT_VEC3 : 0x8DC7,
-            UNSIGNED_INT_VEC4 : 0x8DC8,
-            INT_SAMPLER_2D : 0x8DCA,
-            INT_SAMPLER_3D : 0x8DCB,
-            INT_SAMPLER_CUBE : 0x8DCC,
-            INT_SAMPLER_2D_ARRAY : 0x8DCF,
-            UNSIGNED_INT_SAMPLER_2D : 0x8DD2,
-            UNSIGNED_INT_SAMPLER_3D : 0x8DD3,
-            UNSIGNED_INT_SAMPLER_CUBE : 0x8DD4,
-            UNSIGNED_INT_SAMPLER_2D_ARRAY : 0x8DD7,
-            DEPTH_COMPONENT32F : 0x8CAC,
-            DEPTH32F_STENCIL8 : 0x8CAD,
-            FLOAT_32_UNSIGNED_INT_24_8_REV : 0x8DAD,
-            FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING : 0x8210,
-            FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE : 0x8211,
-            FRAMEBUFFER_ATTACHMENT_RED_SIZE : 0x8212,
-            FRAMEBUFFER_ATTACHMENT_GREEN_SIZE : 0x8213,
-            FRAMEBUFFER_ATTACHMENT_BLUE_SIZE : 0x8214,
-            FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE : 0x8215,
-            FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE : 0x8216,
-            FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE : 0x8217,
-            FRAMEBUFFER_DEFAULT : 0x8218,
-            UNSIGNED_INT_24_8 : 0x84FA,
-            DEPTH24_STENCIL8 : 0x88F0,
-            UNSIGNED_NORMALIZED : 0x8C17,
-            DRAW_FRAMEBUFFER_BINDING : 0x8CA6, // Same as FRAMEBUFFER_BINDING
-            READ_FRAMEBUFFER : 0x8CA8,
-            DRAW_FRAMEBUFFER : 0x8CA9,
-            READ_FRAMEBUFFER_BINDING : 0x8CAA,
-            RENDERBUFFER_SAMPLES : 0x8CAB,
-            FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER : 0x8CD4,
-            MAX_COLOR_ATTACHMENTS : 0x8CDF,
-            COLOR_ATTACHMENT1 : 0x8CE1,
-            COLOR_ATTACHMENT2 : 0x8CE2,
-            COLOR_ATTACHMENT3 : 0x8CE3,
-            COLOR_ATTACHMENT4 : 0x8CE4,
-            COLOR_ATTACHMENT5 : 0x8CE5,
-            COLOR_ATTACHMENT6 : 0x8CE6,
-            COLOR_ATTACHMENT7 : 0x8CE7,
-            COLOR_ATTACHMENT8 : 0x8CE8,
-            COLOR_ATTACHMENT9 : 0x8CE9,
-            COLOR_ATTACHMENT10 : 0x8CEA,
-            COLOR_ATTACHMENT11 : 0x8CEB,
-            COLOR_ATTACHMENT12 : 0x8CEC,
-            COLOR_ATTACHMENT13 : 0x8CED,
-            COLOR_ATTACHMENT14 : 0x8CEE,
-            COLOR_ATTACHMENT15 : 0x8CEF,
-            FRAMEBUFFER_INCOMPLETE_MULTISAMPLE : 0x8D56,
-            MAX_SAMPLES : 0x8D57,
-            HALF_FLOAT : 0x140B,
-            RG : 0x8227,
-            RG_INTEGER : 0x8228,
-            R8 : 0x8229,
-            RG8 : 0x822B,
-            R16F : 0x822D,
-            R32F : 0x822E,
-            RG16F : 0x822F,
-            RG32F : 0x8230,
-            R8I : 0x8231,
-            R8UI : 0x8232,
-            R16I : 0x8233,
-            R16UI : 0x8234,
-            R32I : 0x8235,
-            R32UI : 0x8236,
-            RG8I : 0x8237,
-            RG8UI : 0x8238,
-            RG16I : 0x8239,
-            RG16UI : 0x823A,
-            RG32I : 0x823B,
-            RG32UI : 0x823C,
-            VERTEX_ARRAY_BINDING : 0x85B5,
-            R8_SNORM : 0x8F94,
-            RG8_SNORM : 0x8F95,
-            RGB8_SNORM : 0x8F96,
-            RGBA8_SNORM : 0x8F97,
-            SIGNED_NORMALIZED : 0x8F9C,
-            COPY_READ_BUFFER : 0x8F36,
-            COPY_WRITE_BUFFER : 0x8F37,
-            COPY_READ_BUFFER_BINDING : 0x8F36, // Same as COPY_READ_BUFFER
-            COPY_WRITE_BUFFER_BINDING : 0x8F37, // Same as COPY_WRITE_BUFFER
-            UNIFORM_BUFFER : 0x8A11,
-            UNIFORM_BUFFER_BINDING : 0x8A28,
-            UNIFORM_BUFFER_START : 0x8A29,
-            UNIFORM_BUFFER_SIZE : 0x8A2A,
-            MAX_VERTEX_UNIFORM_BLOCKS : 0x8A2B,
-            MAX_FRAGMENT_UNIFORM_BLOCKS : 0x8A2D,
-            MAX_COMBINED_UNIFORM_BLOCKS : 0x8A2E,
-            MAX_UNIFORM_BUFFER_BINDINGS : 0x8A2F,
-            MAX_UNIFORM_BLOCK_SIZE : 0x8A30,
-            MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS : 0x8A31,
-            MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS : 0x8A33,
-            UNIFORM_BUFFER_OFFSET_ALIGNMENT : 0x8A34,
-            ACTIVE_UNIFORM_BLOCKS : 0x8A36,
-            UNIFORM_TYPE : 0x8A37,
-            UNIFORM_SIZE : 0x8A38,
-            UNIFORM_BLOCK_INDEX : 0x8A3A,
-            UNIFORM_OFFSET : 0x8A3B,
-            UNIFORM_ARRAY_STRIDE : 0x8A3C,
-            UNIFORM_MATRIX_STRIDE : 0x8A3D,
-            UNIFORM_IS_ROW_MAJOR : 0x8A3E,
-            UNIFORM_BLOCK_BINDING : 0x8A3F,
-            UNIFORM_BLOCK_DATA_SIZE : 0x8A40,
-            UNIFORM_BLOCK_ACTIVE_UNIFORMS : 0x8A42,
-            UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES : 0x8A43,
-            UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER : 0x8A44,
-            UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER : 0x8A46,
-            INVALID_INDEX : 0xFFFFFFFF,
-            MAX_VERTEX_OUTPUT_COMPONENTS : 0x9122,
-            MAX_FRAGMENT_INPUT_COMPONENTS : 0x9125,
-            MAX_SERVER_WAIT_TIMEOUT : 0x9111,
-            OBJECT_TYPE : 0x9112,
-            SYNC_CONDITION : 0x9113,
-            SYNC_STATUS : 0x9114,
-            SYNC_FLAGS : 0x9115,
-            SYNC_FENCE : 0x9116,
-            SYNC_GPU_COMMANDS_COMPLETE : 0x9117,
-            UNSIGNALED : 0x9118,
-            SIGNALED : 0x9119,
-            ALREADY_SIGNALED : 0x911A,
-            TIMEOUT_EXPIRED : 0x911B,
-            CONDITION_SATISFIED : 0x911C,
-            WAIT_FAILED : 0x911D,
-            SYNC_FLUSH_COMMANDS_BIT : 0x00000001,
-            VERTEX_ATTRIB_ARRAY_DIVISOR : 0x88FE,
-            ANY_SAMPLES_PASSED : 0x8C2F,
-            ANY_SAMPLES_PASSED_CONSERVATIVE : 0x8D6A,
-            SAMPLER_BINDING : 0x8919,
-            RGB10_A2UI : 0x906F,
-            INT_2_10_10_10_REV : 0x8D9F,
-            TRANSFORM_FEEDBACK : 0x8E22,
-            TRANSFORM_FEEDBACK_PAUSED : 0x8E23,
-            TRANSFORM_FEEDBACK_ACTIVE : 0x8E24,
-            TRANSFORM_FEEDBACK_BINDING : 0x8E25,
-            COMPRESSED_R11_EAC : 0x9270,
-            COMPRESSED_SIGNED_R11_EAC : 0x9271,
-            COMPRESSED_RG11_EAC : 0x9272,
-            COMPRESSED_SIGNED_RG11_EAC : 0x9273,
-            COMPRESSED_RGB8_ETC2 : 0x9274,
-            COMPRESSED_SRGB8_ETC2 : 0x9275,
-            COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 : 0x9276,
-            COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 : 0x9277,
-            COMPRESSED_RGBA8_ETC2_EAC : 0x9278,
-            COMPRESSED_SRGB8_ALPHA8_ETC2_EAC : 0x9279,
-            TEXTURE_IMMUTABLE_FORMAT : 0x912F,
-            MAX_ELEMENT_INDEX : 0x8D6B,
-            TEXTURE_IMMUTABLE_LEVELS : 0x82DF,
-
-            // Extensions
-            MAX_TEXTURE_MAX_ANISOTROPY_EXT : 0x84FF
-        };
-    var WebGLConstants$1 = Object.freeze(WebGLConstants);
-
-    exports.WebGLConstants = WebGLConstants$1;
-
-});
diff --git a/libs/supermap/Workers/WebMercatorProjection-0391f892.js b/libs/supermap/Workers/WebMercatorProjection-0391f892.js
deleted file mode 100644
index ade8f8f..0000000
--- a/libs/supermap/Workers/WebMercatorProjection-0391f892.js
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75'], function (exports, when, Check, _Math, Cartesian2) { 'use strict';
-
-    /**
-         * The map projection used by Google Maps, Bing Maps, and most of ArcGIS Online, EPSG:3857.  This
-         * projection use longitude and latitude expressed with the WGS84 and transforms them to Mercator using
-         * the spherical (rather than ellipsoidal) equations.
-         *
-         * @alias WebMercatorProjection
-         * @constructor
-         *
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid.
-         *
-         * @see GeographicProjection
-         */
-        function WebMercatorProjection(ellipsoid) {
-            this._ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            this._semimajorAxis = this._ellipsoid.maximumRadius;
-            this._oneOverSemimajorAxis = 1.0 / this._semimajorAxis;
-        }
-
-        Object.defineProperties(WebMercatorProjection.prototype, {
-            /**
-             * Gets the {@link Ellipsoid}.
-             *
-             * @memberof WebMercatorProjection.prototype
-             *
-             * @type {Ellipsoid}
-             * @readonly
-             */
-            ellipsoid : {
-                get : function() {
-                    return this._ellipsoid;
-                }
-            }
-        });
-
-        /**
-         * Converts a Mercator angle, in the range -PI to PI, to a geodetic latitude
-         * in the range -PI/2 to PI/2.
-         *
-         * @param {Number} mercatorAngle The angle to convert.
-         * @returns {Number} The geodetic latitude in radians.
-         */
-        WebMercatorProjection.mercatorAngleToGeodeticLatitude = function(mercatorAngle) {
-            return _Math.CesiumMath.PI_OVER_TWO - (2.0 * Math.atan(Math.exp(-mercatorAngle)));
-        };
-
-        /**
-         * Converts a geodetic latitude in radians, in the range -PI/2 to PI/2, to a Mercator
-         * angle in the range -PI to PI.
-         *
-         * @param {Number} latitude The geodetic latitude in radians.
-         * @returns {Number} The Mercator angle.
-         */
-        WebMercatorProjection.geodeticLatitudeToMercatorAngle = function(latitude) {
-            // Clamp the latitude coordinate to the valid Mercator bounds.
-            if (latitude > WebMercatorProjection.MaximumLatitude) {
-                latitude = WebMercatorProjection.MaximumLatitude;
-            } else if (latitude < -WebMercatorProjection.MaximumLatitude) {
-                latitude = -WebMercatorProjection.MaximumLatitude;
-            }
-            var sinLatitude = Math.sin(latitude);
-            return 0.5 * Math.log((1.0 + sinLatitude) / (1.0 - sinLatitude));
-        };
-
-        /**
-         * The maximum latitude (both North and South) supported by a Web Mercator
-         * (EPSG:3857) projection.  Technically, the Mercator projection is defined
-         * for any latitude up to (but not including) 90 degrees, but it makes sense
-         * to cut it off sooner because it grows exponentially with increasing latitude.
-         * The logic behind this particular cutoff value, which is the one used by
-         * Google Maps, Bing Maps, and Esri, is that it makes the projection
-         * square.  That is, the rectangle is equal in the X and Y directions.
-         *
-         * The constant value is computed by calling:
-         *    WebMercatorProjection.mercatorAngleToGeodeticLatitude(Math.PI)
-         *
-         * @type {Number}
-         */
-        WebMercatorProjection.MaximumLatitude = WebMercatorProjection.mercatorAngleToGeodeticLatitude(Math.PI);
-
-        /**
-         * Converts geodetic ellipsoid coordinates, in radians, to the equivalent Web Mercator
-         * X, Y, Z coordinates expressed in meters and returned in a {@link Cartesian3}.  The height
-         * is copied unmodified to the Z coordinate.
-         *
-         * @param {Cartographic} cartographic The cartographic coordinates in radians.
-         * @param {Cartesian3} [result] The instance to which to copy the result, or undefined if a
-         *        new instance should be created.
-         * @returns {Cartesian3} The equivalent web mercator X, Y, Z coordinates, in meters.
-         */
-        WebMercatorProjection.prototype.project = function(cartographic, result) {
-            var semimajorAxis = this._semimajorAxis;
-            var x = cartographic.longitude * semimajorAxis;
-            var y = WebMercatorProjection.geodeticLatitudeToMercatorAngle(cartographic.latitude) * semimajorAxis;
-            var z = cartographic.height;
-
-            if (!when.defined(result)) {
-                return new Cartesian2.Cartesian3(x, y, z);
-            }
-
-            result.x = x;
-            result.y = y;
-            result.z = z;
-            return result;
-        };
-
-        /**
-         * Converts Web Mercator X, Y coordinates, expressed in meters, to a {@link Cartographic}
-         * containing geodetic ellipsoid coordinates.  The Z coordinate is copied unmodified to the
-         * height.
-         *
-         * @param {Cartesian3} cartesian The web mercator Cartesian position to unrproject with height (z) in meters.
-         * @param {Cartographic} [result] The instance to which to copy the result, or undefined if a
-         *        new instance should be created.
-         * @returns {Cartographic} The equivalent cartographic coordinates.
-         */
-        WebMercatorProjection.prototype.unproject = function(cartesian, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(cartesian)) {
-                throw new Check.DeveloperError('cartesian is required');
-            }
-            //>>includeEnd('debug');
-
-            var oneOverEarthSemimajorAxis = this._oneOverSemimajorAxis;
-            var longitude = cartesian.x * oneOverEarthSemimajorAxis;
-            var latitude = WebMercatorProjection.mercatorAngleToGeodeticLatitude(cartesian.y * oneOverEarthSemimajorAxis);
-            var height = cartesian.z;
-
-            if (!when.defined(result)) {
-                return new Cartesian2.Cartographic(longitude, latitude, height);
-            }
-
-            result.longitude = longitude;
-            result.latitude = latitude;
-            result.height = height;
-            return result;
-        };
-
-    exports.WebMercatorProjection = WebMercatorProjection;
-
-});
diff --git a/libs/supermap/Workers/arrayRemoveDuplicates-f0b089b1.js b/libs/supermap/Workers/arrayRemoveDuplicates-f0b089b1.js
deleted file mode 100644
index 8a2c7c8..0000000
--- a/libs/supermap/Workers/arrayRemoveDuplicates-f0b089b1.js
+++ /dev/null
@@ -1,111 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './Math-61ede240'], function (exports, when, Check, _Math) { 'use strict';
-
-    var removeDuplicatesEpsilon = _Math.CesiumMath.EPSILON10;
-
-        /**
-         * Removes adjacent duplicate values in an array of values.
-         *
-         * @param {Array.<*>} [values] The array of values.
-         * @param {Function} equalsEpsilon Function to compare values with an epsilon. Boolean equalsEpsilon(left, right, epsilon).
-         * @param {Boolean} [wrapAround=false] Compare the last value in the array against the first value.
-         * @returns {Array.<*>|undefined} A new array of values with no adjacent duplicate values or the input array if no duplicates were found.
-         *
-         * @example
-         * // Returns [(1.0, 1.0, 1.0), (2.0, 2.0, 2.0), (3.0, 3.0, 3.0), (1.0, 1.0, 1.0)]
-         * var values = [
-         *     new Cesium.Cartesian3(1.0, 1.0, 1.0),
-         *     new Cesium.Cartesian3(1.0, 1.0, 1.0),
-         *     new Cesium.Cartesian3(2.0, 2.0, 2.0),
-         *     new Cesium.Cartesian3(3.0, 3.0, 3.0),
-         *     new Cesium.Cartesian3(1.0, 1.0, 1.0)];
-         * var nonDuplicatevalues = Cesium.PolylinePipeline.removeDuplicates(values, Cartesian3.equalsEpsilon);
-         *
-         * @example
-         * // Returns [(1.0, 1.0, 1.0), (2.0, 2.0, 2.0), (3.0, 3.0, 3.0)]
-         * var values = [
-         *     new Cesium.Cartesian3(1.0, 1.0, 1.0),
-         *     new Cesium.Cartesian3(1.0, 1.0, 1.0),
-         *     new Cesium.Cartesian3(2.0, 2.0, 2.0),
-         *     new Cesium.Cartesian3(3.0, 3.0, 3.0),
-         *     new Cesium.Cartesian3(1.0, 1.0, 1.0)];
-         * var nonDuplicatevalues = Cesium.PolylinePipeline.removeDuplicates(values, Cartesian3.equalsEpsilon, true);
-         *
-         * @private
-         */
-        function arrayRemoveDuplicates(values, equalsEpsilon, wrapAround) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('equalsEpsilon', equalsEpsilon);
-            //>>includeEnd('debug');
-
-            if (!when.defined(values)) {
-                return undefined;
-            }
-
-            wrapAround = when.defaultValue(wrapAround, false);
-
-            var length = values.length;
-            if (length < 2) {
-                return values;
-            }
-
-            var i;
-            var v0;
-            var v1;
-
-            for (i = 1; i < length; ++i) {
-                v0 = values[i - 1];
-                v1 = values[i];
-                if (equalsEpsilon(v0, v1, removeDuplicatesEpsilon)) {
-                    break;
-                }
-            }
-
-            if (i === length) {
-                if (wrapAround && equalsEpsilon(values[0], values[values.length - 1], removeDuplicatesEpsilon)) {
-                    return values.slice(1);
-                }
-                return values;
-            }
-
-            var cleanedvalues = values.slice(0, i);
-            for (; i < length; ++i) {
-                // v0 is set by either the previous loop, or the previous clean point.
-                v1 = values[i];
-                if (!equalsEpsilon(v0, v1, removeDuplicatesEpsilon)) {
-                    cleanedvalues.push(v1);
-                    v0 = v1;
-                }
-            }
-
-            if (wrapAround && cleanedvalues.length > 1 && equalsEpsilon(cleanedvalues[0], cleanedvalues[cleanedvalues.length - 1], removeDuplicatesEpsilon)) {
-                cleanedvalues.shift();
-            }
-
-            return cleanedvalues;
-        }
-
-    exports.arrayRemoveDuplicates = arrayRemoveDuplicates;
-
-});
diff --git a/libs/supermap/Workers/buildModuleUrl-46c77f41.js b/libs/supermap/Workers/buildModuleUrl-46c77f41.js
deleted file mode 100644
index 6265039..0000000
--- a/libs/supermap/Workers/buildModuleUrl-46c77f41.js
+++ /dev/null
@@ -1,4493 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports', './when-8d13db60', './Check-70bec281', './RuntimeError-ba10bc3e'], function (exports, when, Check, RuntimeError) { 'use strict';
-
-	/**
-	 * @license
-	 *
-	 * Grauw URI utilities
-	 *
-	 * See: http://hg.grauw.nl/grauw-lib/file/tip/src/uri.js
-	 *
-	 * @author Laurens Holst (http://www.grauw.nl/)
-	 *
-	 *   Copyright 2012 Laurens Holst
-	 *
-	 *   Licensed under the Apache License, Version 2.0 (the "License");
-	 *   you may not use this file except in compliance with the License.
-	 *   You may obtain a copy of the License at
-	 *
-	 *       http://www.apache.org/licenses/LICENSE-2.0
-	 *
-	 *   Unless required by applicable law or agreed to in writing, software
-	 *   distributed under the License is distributed on an "AS IS" BASIS,
-	 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	 *   See the License for the specific language governing permissions and
-	 *   limitations under the License.
-	 *
-	 */
-
-		/**
-		 * Constructs a URI object.
-		 * @constructor
-		 * @class Implementation of URI parsing and base URI resolving algorithm in RFC 3986.
-		 * @param {string|URI} uri A string or URI object to create the object from.
-		 */
-		function URI(uri) {
-			if (uri instanceof URI) {  // copy constructor
-				this.scheme = uri.scheme;
-				this.authority = uri.authority;
-				this.path = uri.path;
-				this.query = uri.query;
-				this.fragment = uri.fragment;
-			} else if (uri) {  // uri is URI string or cast to string
-				var c = parseRegex.exec(uri);
-				this.scheme = c[1];
-				this.authority = c[2];
-				this.path = c[3];
-				this.query = c[4];
-				this.fragment = c[5];
-			}
-		}
-		// Initial values on the prototype
-		URI.prototype.scheme    = null;
-		URI.prototype.authority = null;
-		URI.prototype.path      = '';
-		URI.prototype.query     = null;
-		URI.prototype.fragment  = null;
-
-		// Regular expression from RFC 3986 appendix B
-		var parseRegex = new RegExp('^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$');
-
-		/**
-		 * Returns the scheme part of the URI.
-		 * In "http://example.com:80/a/b?x#y" this is "http".
-		 */
-		URI.prototype.getScheme = function() {
-			return this.scheme;
-		};
-
-		/**
-		 * Returns the authority part of the URI.
-		 * In "http://example.com:80/a/b?x#y" this is "example.com:80".
-		 */
-		URI.prototype.getAuthority = function() {
-			return this.authority;
-		};
-
-		/**
-		 * Returns the path part of the URI.
-		 * In "http://example.com:80/a/b?x#y" this is "/a/b".
-		 * In "mailto:mike@example.com" this is "mike@example.com".
-		 */
-		URI.prototype.getPath = function() {
-			return this.path;
-		};
-
-		/**
-		 * Returns the query part of the URI.
-		 * In "http://example.com:80/a/b?x#y" this is "x".
-		 */
-		URI.prototype.getQuery = function() {
-			return this.query;
-		};
-
-		/**
-		 * Returns the fragment part of the URI.
-		 * In "http://example.com:80/a/b?x#y" this is "y".
-		 */
-		URI.prototype.getFragment = function() {
-			return this.fragment;
-		};
-
-		/**
-		 * Tests whether the URI is an absolute URI.
-		 * See RFC 3986 section 4.3.
-		 */
-		URI.prototype.isAbsolute = function() {
-			return !!this.scheme && !this.fragment;
-		};
-
-		///**
-		//* Extensive validation of the URI against the ABNF in RFC 3986
-		//*/
-		//URI.prototype.validate
-
-		/**
-		 * Tests whether the URI is a same-document reference.
-		 * See RFC 3986 section 4.4.
-		 *
-		 * To perform more thorough comparison, you can normalise the URI objects.
-		 */
-		URI.prototype.isSameDocumentAs = function(uri) {
-			return uri.scheme == this.scheme &&
-			    uri.authority == this.authority &&
-			         uri.path == this.path &&
-			        uri.query == this.query;
-		};
-
-		/**
-		 * Simple String Comparison of two URIs.
-		 * See RFC 3986 section 6.2.1.
-		 *
-		 * To perform more thorough comparison, you can normalise the URI objects.
-		 */
-		URI.prototype.equals = function(uri) {
-			return this.isSameDocumentAs(uri) && uri.fragment == this.fragment;
-		};
-
-		/**
-		 * Normalizes the URI using syntax-based normalization.
-		 * This includes case normalization, percent-encoding normalization and path segment normalization.
-		 * XXX: Percent-encoding normalization does not escape characters that need to be escaped.
-		 *      (Although that would not be a valid URI in the first place. See validate().)
-		 * See RFC 3986 section 6.2.2.
-		 */
-		URI.prototype.normalize = function() {
-			this.removeDotSegments();
-			if (this.scheme)
-				this.scheme = this.scheme.toLowerCase();
-			if (this.authority)
-				this.authority = this.authority.replace(authorityRegex, replaceAuthority).
-										replace(caseRegex, replaceCase);
-			if (this.path)
-				this.path = this.path.replace(caseRegex, replaceCase);
-			if (this.query)
-				this.query = this.query.replace(caseRegex, replaceCase);
-			if (this.fragment)
-				this.fragment = this.fragment.replace(caseRegex, replaceCase);
-		};
-
-		var caseRegex = /%[0-9a-z]{2}/gi;
-		var percentRegex = /[a-zA-Z0-9\-\._~]/;
-		var authorityRegex = /(.*@)?([^@:]*)(:.*)?/;
-
-		function replaceCase(str) {
-			var dec = unescape(str);
-			return percentRegex.test(dec) ? dec : str.toUpperCase();
-		}
-
-		function replaceAuthority(str, p1, p2, p3) {
-			return (p1 || '') + p2.toLowerCase() + (p3 || '');
-		}
-
-		/**
-		 * Resolve a relative URI (this) against a base URI.
-		 * The base URI must be an absolute URI.
-		 * See RFC 3986 section 5.2
-		 */
-		URI.prototype.resolve = function(baseURI) {
-			var uri = new URI();
-			if (this.scheme) {
-				uri.scheme = this.scheme;
-				uri.authority = this.authority;
-				uri.path = this.path;
-				uri.query = this.query;
-			} else {
-				uri.scheme = baseURI.scheme;
-				if (this.authority) {
-					uri.authority = this.authority;
-					uri.path = this.path;
-					uri.query = this.query;
-				} else {
-					uri.authority = baseURI.authority;
-					if (this.path == '') {
-						uri.path = baseURI.path;
-						uri.query = this.query || baseURI.query;
-					} else {
-						if (this.path.charAt(0) == '/') {
-							uri.path = this.path;
-							uri.removeDotSegments();
-						} else {
-							if (baseURI.authority && baseURI.path == '') {
-								uri.path = '/' + this.path;
-							} else {
-								uri.path = baseURI.path.substring(0, baseURI.path.lastIndexOf('/') + 1) + this.path;
-							}
-							uri.removeDotSegments();
-						}
-						uri.query = this.query;
-					}
-				}
-			}
-			uri.fragment = this.fragment;
-			return uri;
-		};
-
-		/**
-		 * Remove dot segments from path.
-		 * See RFC 3986 section 5.2.4
-		 * @private
-		 */
-		URI.prototype.removeDotSegments = function() {
-			var input = this.path.split('/'),
-				output = [],
-				segment,
-				absPath = input[0] == '';
-			if (absPath)
-				input.shift();
-			var sFirst = input[0] == '' ? input.shift() : null;
-			while (input.length) {
-				segment = input.shift();
-				if (segment == '..') {
-					output.pop();
-				} else if (segment != '.') {
-					output.push(segment);
-				}
-			}
-			if (segment == '.' || segment == '..')
-				output.push('');
-			if (absPath)
-				output.unshift('');
-			this.path = output.join('/');
-		};
-
-		// We don't like this function because it builds up a cache that is never cleared.
-	//	/**
-	//	 * Resolves a relative URI against an absolute base URI.
-	//	 * Convenience method.
-	//	 * @param {String} uri the relative URI to resolve
-	//	 * @param {String} baseURI the base URI (must be absolute) to resolve against
-	//	 */
-	//	URI.resolve = function(sURI, sBaseURI) {
-	//		var uri = cache[sURI] || (cache[sURI] = new URI(sURI));
-	//		var baseURI = cache[sBaseURI] || (cache[sBaseURI] = new URI(sBaseURI));
-	//		return uri.resolve(baseURI).toString();
-	//	};
-
-	//	var cache = {};
-
-		/**
-		 * Serialises the URI to a string.
-		 */
-		URI.prototype.toString = function() {
-			var result = '';
-			if (this.scheme)
-				result += this.scheme + ':';
-			if (this.authority)
-				result += '//' + this.authority;
-			result += this.path;
-			if (this.query)
-				result += '?' + this.query;
-			if (this.fragment)
-				result += '#' + this.fragment;
-			return result;
-		};
-
-	/**
-	     * @private
-	     */
-	    function appendForwardSlash(url) {
-	        if (url.length === 0 || url[url.length - 1] !== '/') {
-	            url = url + '/';
-	        }
-	        return url;
-	    }
-
-	/**
-	     * Clones an object, returning a new object containing the same properties.
-	     *
-	     * @exports clone
-	     *
-	     * @param {Object} object The object to clone.
-	     * @param {Boolean} [deep=false] If true, all properties will be deep cloned recursively.
-	     * @returns {Object} The cloned object.
-	     */
-	    function clone(object, deep) {
-	        if (object === null || typeof object !== 'object') {
-	            return object;
-	        }
-
-	        deep = when.defaultValue(deep, false);
-
-	        var result = new object.constructor();
-	        for ( var propertyName in object) {
-	            if (object.hasOwnProperty(propertyName)) {
-	                var value = object[propertyName];
-	                if (deep) {
-	                    value = clone(value, deep);
-	                }
-	                result[propertyName] = value;
-	            }
-	        }
-
-	        return result;
-	    }
-
-	/**
-	     * Merges two objects, copying their properties onto a new combined object. When two objects have the same
-	     * property, the value of the property on the first object is used.  If either object is undefined,
-	     * it will be treated as an empty object.
-	     *
-	     * @example
-	     * var object1 = {
-	     *     propOne : 1,
-	     *     propTwo : {
-	     *         value1 : 10
-	     *     }
-	     * }
-	     * var object2 = {
-	     *     propTwo : 2
-	     * }
-	     * var final = Cesium.combine(object1, object2);
-	     *
-	     * // final === {
-	     * //     propOne : 1,
-	     * //     propTwo : {
-	     * //         value1 : 10
-	     * //     }
-	     * // }
-	     *
-	     * @param {Object} [object1] The first object to merge.
-	     * @param {Object} [object2] The second object to merge.
-	     * @param {Boolean} [deep=false] Perform a recursive merge.
-	     * @returns {Object} The combined object containing all properties from both objects.
-	     *
-	     * @exports combine
-	     */
-	    function combine(object1, object2, deep) {
-	        deep = when.defaultValue(deep, false);
-
-	        var result = {};
-
-	        var object1Defined = when.defined(object1);
-	        var object2Defined = when.defined(object2);
-	        var property;
-	        var object1Value;
-	        var object2Value;
-	        if (object1Defined) {
-	            for (property in object1) {
-	                if (object1.hasOwnProperty(property)) {
-	                    object1Value = object1[property];
-	                    if (object2Defined && deep && typeof object1Value === 'object' && object2.hasOwnProperty(property)) {
-	                        object2Value = object2[property];
-	                        if (typeof object2Value === 'object') {
-	                            result[property] = combine(object1Value, object2Value, deep);
-	                        } else {
-	                            result[property] = object1Value;
-	                        }
-	                    } else {
-	                        result[property] = object1Value;
-	                    }
-	                }
-	            }
-	        }
-	        if (object2Defined) {
-	            for (property in object2) {
-	                if (object2.hasOwnProperty(property) && !result.hasOwnProperty(property)) {
-	                    object2Value = object2[property];
-	                    result[property] = object2Value;
-	                }
-	            }
-	        }
-	        return result;
-	    }
-
-	/**
-	     * Given a relative Uri and a base Uri, returns the absolute Uri of the relative Uri.
-	     * @exports getAbsoluteUri
-	     *
-	     * @param {String} relative The relative Uri.
-	     * @param {String} [base] The base Uri.
-	     * @returns {String} The absolute Uri of the given relative Uri.
-	     *
-	     * @example
-	     * //absolute Uri will be "https://test.com/awesome.png";
-	     * var absoluteUri = Cesium.getAbsoluteUri('awesome.png', 'https://test.com');
-	     */
-	    function getAbsoluteUri(relative, base) {
-	        var documentObject;
-	        if (typeof document !== 'undefined') {
-	            documentObject = document;
-	        }
-
-	        return getAbsoluteUri._implementation(relative, base, documentObject);
-	    }
-
-	    getAbsoluteUri._implementation = function(relative, base, documentObject) {
-	        //>>includeStart('debug', pragmas.debug);
-	        if (!when.defined(relative)) {
-	            throw new Check.DeveloperError('relative uri is required.');
-	        }
-	        //>>includeEnd('debug');
-
-	        if (!when.defined(base)) {
-	            if (typeof documentObject === 'undefined') {
-	                return relative;
-	            }
-	            base = when.defaultValue(documentObject.baseURI, documentObject.location.href);
-	        }
-
-	        var baseUri = new URI(base);
-	        var relativeUri = new URI(relative);
-	        return relativeUri.resolve(baseUri).toString();
-	    };
-
-	/**
-	     * Given a URI, returns the base path of the URI.
-	     * @exports getBaseUri
-	     *
-	     * @param {String} uri The Uri.
-	     * @param {Boolean} [includeQuery = false] Whether or not to include the query string and fragment form the uri
-	     * @returns {String} The base path of the Uri.
-	     *
-	     * @example
-	     * // basePath will be "/Gallery/";
-	     * var basePath = Cesium.getBaseUri('/Gallery/simple.czml?value=true&example=false');
-	     *
-	     * // basePath will be "/Gallery/?value=true&example=false";
-	     * var basePath = Cesium.getBaseUri('/Gallery/simple.czml?value=true&example=false', true);
-	     */
-	    function getBaseUri(uri, includeQuery) {
-	        //>>includeStart('debug', pragmas.debug);
-	        if (!when.defined(uri)) {
-	            throw new Check.DeveloperError('uri is required.');
-	        }
-	        //>>includeEnd('debug');
-
-	        var basePath = '';
-	        var i = uri.lastIndexOf('/');
-	        if (i !== -1) {
-	            basePath = uri.substring(0, i + 1);
-	        }
-
-	        if (!includeQuery) {
-	            return basePath;
-	        }
-
-	        uri = new URI(uri);
-	        if (when.defined(uri.query)) {
-	            basePath += '?' + uri.query;
-	        }
-	        if (when.defined(uri.fragment)){
-	            basePath += '#' + uri.fragment;
-	        }
-
-	        return basePath;
-	    }
-
-	/**
-	     * Given a URI, returns the extension of the URI.
-	     * @exports getExtensionFromUri
-	     *
-	     * @param {String} uri The Uri.
-	     * @returns {String} The extension of the Uri.
-	     *
-	     * @example
-	     * //extension will be "czml";
-	     * var extension = Cesium.getExtensionFromUri('/Gallery/simple.czml?value=true&example=false');
-	     */
-	    function getExtensionFromUri(uri) {
-	        //>>includeStart('debug', pragmas.debug);
-	        if (!when.defined(uri)) {
-	            throw new Check.DeveloperError('uri is required.');
-	        }
-	        //>>includeEnd('debug');
-
-	        var uriObject = new URI(uri);
-	        uriObject.normalize();
-	        var path = uriObject.path;
-	        var index = path.lastIndexOf('/');
-	        if (index !== -1) {
-	            path = path.substr(index + 1);
-	        }
-	        index = path.lastIndexOf('.');
-	        if (index === -1) {
-	            path = '';
-	        } else {
-	            path = path.substr(index + 1);
-	        }
-	        return path;
-	    }
-
-	var blobUriRegex = /^blob:/i;
-
-	    /**
-	     * Determines if the specified uri is a blob uri.
-	     *
-	     * @exports isBlobUri
-	     *
-	     * @param {String} uri The uri to test.
-	     * @returns {Boolean} true when the uri is a blob uri; otherwise, false.
-	     *
-	     * @private
-	     */
-	    function isBlobUri(uri) {
-	        //>>includeStart('debug', pragmas.debug);
-	        Check.Check.typeOf.string('uri', uri);
-	        //>>includeEnd('debug');
-
-	        return blobUriRegex.test(uri);
-	    }
-
-	var a;
-
-	    /**
-	     * Given a URL, determine whether that URL is considered cross-origin to the current page.
-	     *
-	     * @private
-	     */
-	    function isCrossOriginUrl(url) {
-	        if (!when.defined(a)) {
-	            a = document.createElement('a');
-	        }
-
-	        // copy window location into the anchor to get consistent results
-	        // when the port is default for the protocol (e.g. 80 for HTTP)
-	        a.href = window.location.href;
-
-	        // host includes both hostname and port if the port is not standard
-	        var host = a.host;
-	        var protocol = a.protocol;
-
-	        a.href = url;
-	        // IE only absolutizes href on get, not set
-	        a.href = a.href; // eslint-disable-line no-self-assign
-
-	        return protocol !== a.protocol || host !== a.host;
-	    }
-
-	var dataUriRegex = /^data:/i;
-
-	    /**
-	     * Determines if the specified uri is a data uri.
-	     *
-	     * @exports isDataUri
-	     *
-	     * @param {String} uri The uri to test.
-	     * @returns {Boolean} true when the uri is a data uri; otherwise, false.
-	     *
-	     * @private
-	     */
-	    function isDataUri(uri) {
-	        //>>includeStart('debug', pragmas.debug);
-	        Check.Check.typeOf.string('uri', uri);
-	        //>>includeEnd('debug');
-
-	        return dataUriRegex.test(uri);
-	    }
-
-	/**
-	     * @private
-	     */
-	    function loadAndExecuteScript(url) {
-	        var deferred = when.when.defer();
-	        var script = document.createElement('script');
-	        script.async = true;
-	        script.src = url;
-
-	        var head = document.getElementsByTagName('head')[0];
-	        script.onload = function() {
-	            script.onload = undefined;
-	            head.removeChild(script);
-	            deferred.resolve();
-	        };
-	        script.onerror = function(e) {
-	            deferred.reject(e);
-	        };
-
-	        head.appendChild(script);
-
-	        return deferred.promise;
-	    }
-
-	/**
-	     * Converts an object representing a set of name/value pairs into a query string,
-	     * with names and values encoded properly for use in a URL.  Values that are arrays
-	     * will produce multiple values with the same name.
-	     * @exports objectToQuery
-	     *
-	     * @param {Object} obj The object containing data to encode.
-	     * @returns {String} An encoded query string.
-	     *
-	     *
-	     * @example
-	     * var str = Cesium.objectToQuery({
-	     *     key1 : 'some value',
-	     *     key2 : 'a/b',
-	     *     key3 : ['x', 'y']
-	     * });
-	     *
-	     * @see queryToObject
-	     * // str will be:
-	     * // 'key1=some%20value&key2=a%2Fb&key3=x&key3=y'
-	     */
-	    function objectToQuery(obj) {
-	        //>>includeStart('debug', pragmas.debug);
-	        if (!when.defined(obj)) {
-	            throw new Check.DeveloperError('obj is required.');
-	        }
-	        //>>includeEnd('debug');
-
-	        var result = '';
-	        for ( var propName in obj) {
-	            if (obj.hasOwnProperty(propName)) {
-	                var value = obj[propName];
-
-	                var part = encodeURIComponent(propName) + '=';
-	                if (Array.isArray(value)) {
-	                    for (var i = 0, len = value.length; i < len; ++i) {
-	                        result += part + encodeURIComponent(value[i]) + '&';
-	                    }
-	                } else {
-	                    result += part + encodeURIComponent(value) + '&';
-	                }
-	            }
-	        }
-
-	        // trim last &
-	        result = result.slice(0, -1);
-
-	        // This function used to replace %20 with + which is more compact and readable.
-	        // However, some servers didn't properly handle + as a space.
-	        // https://github.com/CesiumGS/cesium/issues/2192
-
-	        return result;
-	    }
-
-	/**
-	     * Parses a query string into an object, where the keys and values of the object are the
-	     * name/value pairs from the query string, decoded. If a name appears multiple times,
-	     * the value in the object will be an array of values.
-	     * @exports queryToObject
-	     *
-	     * @param {String} queryString The query string.
-	     * @returns {Object} An object containing the parameters parsed from the query string.
-	     *
-	     *
-	     * @example
-	     * var obj = Cesium.queryToObject('key1=some%20value&key2=a%2Fb&key3=x&key3=y');
-	     * // obj will be:
-	     * // {
-	     * //   key1 : 'some value',
-	     * //   key2 : 'a/b',
-	     * //   key3 : ['x', 'y']
-	     * // }
-	     *
-	     * @see objectToQuery
-	     */
-	    function queryToObject(queryString) {
-	        //>>includeStart('debug', pragmas.debug);
-	        if (!when.defined(queryString)) {
-	            throw new Check.DeveloperError('queryString is required.');
-	        }
-	        //>>includeEnd('debug');
-
-	        var result = {};
-	        if (queryString === '') {
-	            return result;
-	        }
-	        var parts = queryString.replace(/\+/g, '%20').split(/[&;]/);
-	        for (var i = 0, len = parts.length; i < len; ++i) {
-	            var subparts = parts[i].split('=');
-
-	            var name = decodeURIComponent(subparts[0]);
-	            var value = subparts[1];
-	            if (when.defined(value)) {
-	                value = decodeURIComponent(value);
-	            } else {
-	                value = '';
-	            }
-
-	            var resultValue = result[name];
-	            if (typeof resultValue === 'string') {
-	                // expand the single value to an array
-	                result[name] = [resultValue, value];
-	            } else if (Array.isArray(resultValue)) {
-	                resultValue.push(value);
-	            } else {
-	                result[name] = value;
-	            }
-	        }
-	        return result;
-	    }
-
-	/**
-	     * State of the request.
-	     *
-	     * @exports RequestState
-	     */
-	    var RequestState = {
-	        /**
-	         * Initial unissued state.
-	         *
-	         * @type Number
-	         * @constant
-	         */
-	        UNISSUED : 0,
-
-	        /**
-	         * Issued but not yet active. Will become active when open slots are available.
-	         *
-	         * @type Number
-	         * @constant
-	         */
-	        ISSUED : 1,
-
-	        /**
-	         * Actual http request has been sent.
-	         *
-	         * @type Number
-	         * @constant
-	         */
-	        ACTIVE : 2,
-
-	        /**
-	         * Request completed successfully.
-	         *
-	         * @type Number
-	         * @constant
-	         */
-	        RECEIVED : 3,
-
-	        /**
-	         * Request was cancelled, either explicitly or automatically because of low priority.
-	         *
-	         * @type Number
-	         * @constant
-	         */
-	        CANCELLED : 4,
-
-	        /**
-	         * Request failed.
-	         *
-	         * @type Number
-	         * @constant
-	         */
-	        FAILED : 5
-	    };
-	var RequestState$1 = Object.freeze(RequestState);
-
-	/**
-	     * An enum identifying the type of request. Used for finer grained logging and priority sorting.
-	     *
-	     * @exports RequestType
-	     */
-	    var RequestType = {
-	        /**
-	         * Terrain request.
-	         *
-	         * @type Number
-	         * @constant
-	         */
-	        TERRAIN : 0,
-
-	        /**
-	         * Imagery request.
-	         *
-	         * @type Number
-	         * @constant
-	         */
-	        IMAGERY : 1,
-
-	        /**
-	         * 3D Tiles request.
-	         *
-	         * @type Number
-	         * @constant
-	         */
-	        TILES3D : 2,
-
-	        /**
-	         * Other request.
-	         *
-	         * @type Number
-	         * @constant
-	         */
-	        OTHER : 3,
-	        PACK : 4,
-	        BLOCK : 5
-	    };
-
-	    var RequestType$1 = Object.freeze(RequestType);
-
-	/**
-	     * Stores information for making a request. In general this does not need to be constructed directly.
-	     *
-	     * @alias Request
-	     * @constructor
-	     * @namespace
-	     * @exports Request
-	     * @param {Object} [options] An object with the following properties:
-	     * @param {String} [options.url] The url to request.
-	     * @param {Request~RequestCallback} [options.requestFunction] The function that makes the actual data request.
-	     * @param {Request~CancelCallback} [options.cancelFunction] The function that is called when the request is cancelled.
-	     * @param {Request~PriorityCallback} [options.priorityFunction] The function that is called to update the request's priority, which occurs once per frame.
-	     * @param {Number} [options.priority=0.0] The initial priority of the request.
-	     * @param {Boolean} [options.throttle=false] Whether to throttle and prioritize the request. If false, the request will be sent immediately. If true, the request will be throttled and sent based on priority.
-	     * @param {Boolean} [options.throttleByServer=false] Whether to throttle the request by server.
-	     * @param {RequestType} [options.type=RequestType.OTHER] The type of request.
-	     */
-	    function Request(options) {
-	        options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-	        var throttleByServer = when.defaultValue(options.throttleByServer, false);
-	        var throttle = when.defaultValue(options.throttle, false);
-
-	        /**
-	         * The URL to request.
-	         *
-	         * @type {String}
-	         */
-	        this.url = options.url;
-
-	        /**
-	         * The function that makes the actual data request.
-	         *
-	         * @type {Request~RequestCallback}
-	         */
-	        this.requestFunction = options.requestFunction;
-
-	        /**
-	         * The function that is called when the request is cancelled.
-	         *
-	         * @type {Request~CancelCallback}
-	         */
-	        this.cancelFunction = options.cancelFunction;
-
-	        /**
-	         * The function that is called to update the request's priority, which occurs once per frame.
-	         *
-	         * @type {Request~PriorityCallback}
-	         */
-	        this.priorityFunction = options.priorityFunction;
-
-	        /**
-	         * Priority is a unit-less value where lower values represent higher priority.
-	         * For world-based objects, this is usually the distance from the camera.
-	         * A request that does not have a priority function defaults to a priority of 0.
-	         *
-	         * If priorityFunction is defined, this value is updated every frame with the result of that call.
-	         *
-	         * @type {Number}
-	         * @default 0.0
-	         */
-	        this.priority = when.defaultValue(options.priority, 0.0);
-
-	        /**
-	         * Whether to throttle and prioritize the request. If false, the request will be sent immediately. If true, the
-	         * request will be throttled and sent based on priority.
-	         *
-	         * @type {Boolean}
-	         * @readonly
-	         *
-	         * @default false
-	         */
-	        this.throttle = throttle;
-
-	        /**
-	         * Whether to throttle the request by server. Browsers typically support about 6-8 parallel connections
-	         * for HTTP/1 servers, and an unlimited amount of connections for HTTP/2 servers. Setting this value
-	         * to <code>true</code> is preferable for requests going through HTTP/1 servers.
-	         *
-	         * @type {Boolean}
-	         * @readonly
-	         *
-	         * @default false
-	         */
-	        this.throttleByServer = throttleByServer;
-
-	        /**
-	         * Type of request.
-	         *
-	         * @type {RequestType}
-	         * @readonly
-	         *
-	         * @default RequestType.OTHER
-	         */
-	        this.type = when.defaultValue(options.type, RequestType$1.OTHER);
-
-	        /**
-	         * A key used to identify the server that a request is going to. It is derived from the url's authority and scheme.
-	         *
-	         * @type {String}
-	         *
-	         * @private
-	         */
-	        this.serverKey = undefined;
-
-	        /**
-	         * The current state of the request.
-	         *
-	         * @type {RequestState}
-	         * @readonly
-	         */
-	        this.state = RequestState$1.UNISSUED;
-
-	        /**
-	         * The requests's deferred promise.
-	         *
-	         * @type {Object}
-	         *
-	         * @private
-	         */
-	        this.deferred = undefined;
-
-	        /**
-	         * Whether the request was explicitly cancelled.
-	         *
-	         * @type {Boolean}
-	         *
-	         * @private
-	         */
-	        this.cancelled = false;
-	    }
-
-	    /**
-	     * Mark the request as cancelled.
-	     *
-	     * @private
-	     */
-	    Request.prototype.cancel = function() {
-	        this.cancelled = true;
-	    };
-
-	    /**
-	     * Duplicates a Request instance.
-	     *
-	     * @param {Request} [result] The object onto which to store the result.
-	     *
-	     * @returns {Request} The modified result parameter or a new Resource instance if one was not provided.
-	     */
-	    Request.prototype.clone = function(result) {
-	        if (!when.defined(result)) {
-	            return new Request(this);
-	        }
-
-	        result.url = this.url;
-	        result.requestFunction = this.requestFunction;
-	        result.cancelFunction = this.cancelFunction;
-	        result.priorityFunction = this.priorityFunction;
-	        result.priority = this.priority;
-	        result.throttle = this.throttle;
-	        result.throttleByServer = this.throttleByServer;
-	        result.type = this.type;
-	        result.serverKey = this.serverKey;
-
-	        // These get defaulted because the cloned request hasn't been issued
-	        result.state = this.RequestState.UNISSUED;
-	        result.deferred = undefined;
-	        result.cancelled = false;
-
-	        return result;
-	    };
-
-	/**
-	     * Parses the result of XMLHttpRequest's getAllResponseHeaders() method into
-	     * a dictionary.
-	     *
-	     * @exports parseResponseHeaders
-	     *
-	     * @param {String} headerString The header string returned by getAllResponseHeaders().  The format is
-	     *                 described here: http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-method
-	     * @returns {Object} A dictionary of key/value pairs, where each key is the name of a header and the corresponding value
-	     *                   is that header's value.
-	     *
-	     * @private
-	     */
-	    function parseResponseHeaders(headerString) {
-	        var headers = {};
-
-	        if (!headerString) {
-	          return headers;
-	        }
-
-	        var headerPairs = headerString.split('\u000d\u000a');
-
-	        for (var i = 0; i < headerPairs.length; ++i) {
-	          var headerPair = headerPairs[i];
-	          // Can't use split() here because it does the wrong thing
-	          // if the header value has the string ": " in it.
-	          var index = headerPair.indexOf('\u003a\u0020');
-	          if (index > 0) {
-	            var key = headerPair.substring(0, index);
-	            var val = headerPair.substring(index + 2);
-	            headers[key] = val;
-	          }
-	        }
-
-	        return headers;
-	    }
-
-	/**
-	     * An event that is raised when a request encounters an error.
-	     *
-	     * @constructor
-	     * @alias RequestErrorEvent
-	     *
-	     * @param {Number} [statusCode] The HTTP error status code, such as 404.
-	     * @param {Object} [response] The response included along with the error.
-	     * @param {String|Object} [responseHeaders] The response headers, represented either as an object literal or as a
-	     *                        string in the format returned by XMLHttpRequest's getAllResponseHeaders() function.
-	     */
-	    function RequestErrorEvent(statusCode, response, responseHeaders) {
-	        /**
-	         * The HTTP error status code, such as 404.  If the error does not have a particular
-	         * HTTP code, this property will be undefined.
-	         *
-	         * @type {Number}
-	         */
-	        this.statusCode = statusCode;
-
-	        /**
-	         * The response included along with the error.  If the error does not include a response,
-	         * this property will be undefined.
-	         *
-	         * @type {Object}
-	         */
-	        this.response = response;
-
-	        /**
-	         * The headers included in the response, represented as an object literal of key/value pairs.
-	         * If the error does not include any headers, this property will be undefined.
-	         *
-	         * @type {Object}
-	         */
-	        this.responseHeaders = responseHeaders;
-
-	        if (typeof this.responseHeaders === 'string') {
-	            this.responseHeaders = parseResponseHeaders(this.responseHeaders);
-	        }
-	    }
-
-	    /**
-	     * Creates a string representing this RequestErrorEvent.
-	     * @memberof RequestErrorEvent
-	     *
-	     * @returns {String} A string representing the provided RequestErrorEvent.
-	     */
-	    RequestErrorEvent.prototype.toString = function() {
-	        var str = 'Request has failed.';
-	        if (when.defined(this.statusCode)) {
-	            str += ' Status Code: ' + this.statusCode;
-	        }
-	        return str;
-	    };
-
-	/**
-	     * A generic utility class for managing subscribers for a particular event.
-	     * This class is usually instantiated inside of a container class and
-	     * exposed as a property for others to subscribe to.
-	     *
-	     * @alias Event
-	     * @constructor
-	     * @example
-	     * MyObject.prototype.myListener = function(arg1, arg2) {
-	     *     this.myArg1Copy = arg1;
-	     *     this.myArg2Copy = arg2;
-	     * }
-	     *
-	     * var myObjectInstance = new MyObject();
-	     * var evt = new Cesium.Event();
-	     * evt.addEventListener(MyObject.prototype.myListener, myObjectInstance);
-	     * evt.raiseEvent('1', '2');
-	     * evt.removeEventListener(MyObject.prototype.myListener);
-	     */
-	    function Event() {
-	        this._listeners = [];
-	        this._scopes = [];
-	        this._toRemove = [];
-	        this._insideRaiseEvent = false;
-	    }
-
-	    Object.defineProperties(Event.prototype, {
-	        /**
-	         * The number of listeners currently subscribed to the event.
-	         * @memberof Event.prototype
-	         * @type {Number}
-	         * @readonly
-	         */
-	        numberOfListeners : {
-	            get : function() {
-	                return this._listeners.length - this._toRemove.length;
-	            }
-	        }
-	    });
-
-	    /**
-	     * Registers a callback function to be executed whenever the event is raised.
-	     * An optional scope can be provided to serve as the <code>this</code> pointer
-	     * in which the function will execute.
-	     *
-	     * @param {Function} listener The function to be executed when the event is raised.
-	     * @param {Object} [scope] An optional object scope to serve as the <code>this</code>
-	     *        pointer in which the listener function will execute.
-	     * @returns {Event~RemoveCallback} A function that will remove this event listener when invoked.
-	     *
-	     * @see Event#raiseEvent
-	     * @see Event#removeEventListener
-	     */
-	    Event.prototype.addEventListener = function(listener, scope) {
-	        //>>includeStart('debug', pragmas.debug);
-	        Check.Check.typeOf.func('listener', listener);
-	        //>>includeEnd('debug');
-
-	        this._listeners.push(listener);
-	        this._scopes.push(scope);
-
-	        var event = this;
-	        return function() {
-	            event.removeEventListener(listener, scope);
-	        };
-	    };
-
-	    /**
-	     * Unregisters a previously registered callback.
-	     *
-	     * @param {Function} listener The function to be unregistered.
-	     * @param {Object} [scope] The scope that was originally passed to addEventListener.
-	     * @returns {Boolean} <code>true</code> if the listener was removed; <code>false</code> if the listener and scope are not registered with the event.
-	     *
-	     * @see Event#addEventListener
-	     * @see Event#raiseEvent
-	     */
-	    Event.prototype.removeEventListener = function(listener, scope) {
-	        //>>includeStart('debug', pragmas.debug);
-	        Check.Check.typeOf.func('listener', listener);
-	        //>>includeEnd('debug');
-
-	        var listeners = this._listeners;
-	        var scopes = this._scopes;
-
-	        var index = -1;
-	        for (var i = 0; i < listeners.length; i++) {
-	            if (listeners[i] === listener && scopes[i] === scope) {
-	                index = i;
-	                break;
-	            }
-	        }
-
-	        if (index !== -1) {
-	            if (this._insideRaiseEvent) {
-	                //In order to allow removing an event subscription from within
-	                //a callback, we don't actually remove the items here.  Instead
-	                //remember the index they are at and undefined their value.
-	                this._toRemove.push(index);
-	                listeners[index] = undefined;
-	                scopes[index] = undefined;
-	            } else {
-	                listeners.splice(index, 1);
-	                scopes.splice(index, 1);
-	            }
-	            return true;
-	        }
-
-	        return false;
-	    };
-
-	    function compareNumber(a,b) {
-	        return b - a;
-	    }
-
-	    /**
-	     * Raises the event by calling each registered listener with all supplied arguments.
-	     *
-	     * @param {*} arguments This method takes any number of parameters and passes them through to the listener functions.
-	     *
-	     * @see Event#addEventListener
-	     * @see Event#removeEventListener
-	     */
-	    Event.prototype.raiseEvent = function() {
-	        this._insideRaiseEvent = true;
-
-	        var i;
-	        var listeners = this._listeners;
-	        var scopes = this._scopes;
-	        var length = listeners.length;
-
-	        for (i = 0; i < length; i++) {
-	            var listener = listeners[i];
-	            if (when.defined(listener)) {
-	                listeners[i].apply(scopes[i], arguments);
-	            }
-	        }
-
-	        //Actually remove items removed in removeEventListener.
-	        var toRemove = this._toRemove;
-	        length = toRemove.length;
-	        if (length > 0) {
-	            toRemove.sort(compareNumber);
-	            for (i = 0; i < length; i++) {
-	                var index = toRemove[i];
-	                listeners.splice(index, 1);
-	                scopes.splice(index, 1);
-	            }
-	            toRemove.length = 0;
-	        }
-
-	        this._insideRaiseEvent = false;
-	    };
-
-	/**
-	     * Array implementation of a heap.
-	     *
-	     * @alias Heap
-	     * @constructor
-	     * @private
-	     *
-	     * @param {Object} options Object with the following properties:
-	     * @param {Heap~ComparatorCallback} options.comparator The comparator to use for the heap. If comparator(a, b) is less than 0, sort a to a lower index than b, otherwise sort to a higher index.
-	     */
-	    function Heap(options) {
-	        //>>includeStart('debug', pragmas.debug);
-	        Check.Check.typeOf.object('options', options);
-	        Check.Check.defined('options.comparator', options.comparator);
-	        //>>includeEnd('debug');
-
-	        this._comparator = options.comparator;
-	        this._array = [];
-	        this._length = 0;
-	        this._maximumLength = undefined;
-	    }
-
-	    Object.defineProperties(Heap.prototype, {
-	        /**
-	         * Gets the length of the heap.
-	         *
-	         * @memberof Heap.prototype
-	         *
-	         * @type {Number}
-	         * @readonly
-	         */
-	        length : {
-	            get : function() {
-	                return this._length;
-	            }
-	        },
-
-	        /**
-	         * Gets the internal array.
-	         *
-	         * @memberof Heap.prototype
-	         *
-	         * @type {Array}
-	         * @readonly
-	         */
-	        internalArray : {
-	            get : function() {
-	                return this._array;
-	            }
-	        },
-
-	        /**
-	         * Gets and sets the maximum length of the heap.
-	         *
-	         * @memberof Heap.prototype
-	         *
-	         * @type {Number}
-	         */
-	        maximumLength : {
-	            get : function() {
-	                return this._maximumLength;
-	            },
-	            set : function(value) {
-	                this._maximumLength = value;
-	                if (this._length > value && value > 0) {
-	                    this._length = value;
-	                    this._array.length = value;
-	                }
-	            }
-	        },
-
-	        /**
-	         * The comparator to use for the heap. If comparator(a, b) is less than 0, sort a to a lower index than b, otherwise sort to a higher index.
-	         *
-	         * @memberof Heap.prototype
-	         *
-	         * @type {Heap~ComparatorCallback}
-	         */
-	        comparator : {
-	            get : function() {
-	                return this._comparator;
-	            }
-	        }
-	    });
-
-	    function swap(array, a, b) {
-	        var temp = array[a];
-	        array[a] = array[b];
-	        array[b] = temp;
-	    }
-
-	    /**
-	     * Resizes the internal array of the heap.
-	     *
-	     * @param {Number} [length] The length to resize internal array to. Defaults to the current length of the heap.
-	     */
-	    Heap.prototype.reserve = function(length) {
-	        length = when.defaultValue(length, this._length);
-	        this._array.length = length;
-	    };
-
-	    /**
-	     * Update the heap so that index and all descendants satisfy the heap property.
-	     *
-	     * @param {Number} [index=0] The starting index to heapify from.
-	     */
-	    Heap.prototype.heapify = function(index) {
-	        index = when.defaultValue(index, 0);
-	        var length = this._length;
-	        var comparator = this._comparator;
-	        var array = this._array;
-	        var candidate = -1;
-	        var inserting = true;
-
-	        while (inserting) {
-	            var right = 2 * (index + 1);
-	            var left = right - 1;
-
-	            if (left < length && comparator(array[left], array[index]) < 0) {
-	                candidate = left;
-	            } else {
-	                candidate = index;
-	            }
-
-	            if (right < length && comparator(array[right], array[candidate]) < 0) {
-	                candidate = right;
-	            }
-	            if (candidate !== index) {
-	                swap(array, candidate, index);
-	                index = candidate;
-	            } else {
-	                inserting = false;
-	            }
-	        }
-	    };
-
-	    /**
-	     * Resort the heap.
-	     */
-	    Heap.prototype.resort = function() {
-	        var length = this._length;
-	        for (var i = Math.ceil(length / 2); i >= 0; --i) {
-	            this.heapify(i);
-	        }
-	    };
-
-	    /**
-	     * Insert an element into the heap. If the length would grow greater than maximumLength
-	     * of the heap, extra elements are removed.
-	     *
-	     * @param {*} element The element to insert
-	     *
-	     * @return {*} The element that was removed from the heap if the heap is at full capacity.
-	     */
-	    Heap.prototype.insert = function(element) {
-	        //>>includeStart('debug', pragmas.debug);
-	        Check.Check.defined('element', element);
-	        //>>includeEnd('debug');
-
-	        var array = this._array;
-	        var comparator = this._comparator;
-	        var maximumLength = this._maximumLength;
-
-	        var index = this._length++;
-	        if (index < array.length) {
-	            array[index] = element;
-	        } else {
-	            array.push(element);
-	        }
-
-	        while (index !== 0) {
-	            var parent = Math.floor((index - 1) / 2);
-	            if (comparator(array[index], array[parent]) < 0) {
-	                swap(array, index, parent);
-	                index = parent;
-	            } else {
-	                break;
-	            }
-	        }
-
-	        var removedElement;
-
-	        if (when.defined(maximumLength) && (this._length > maximumLength)) {
-	            removedElement = array[maximumLength];
-	            this._length = maximumLength;
-	        }
-
-	        return removedElement;
-	    };
-
-	    /**
-	     * Remove the element specified by index from the heap and return it.
-	     *
-	     * @param {Number} [index=0] The index to remove.
-	     * @returns {*} The specified element of the heap.
-	     */
-	    Heap.prototype.pop = function(index) {
-	        index = when.defaultValue(index, 0);
-	        if (this._length === 0) {
-	            return undefined;
-	        }
-	        //>>includeStart('debug', pragmas.debug);
-	        Check.Check.typeOf.number.lessThan('index', index, this._length);
-	        //>>includeEnd('debug');
-
-	        var array = this._array;
-	        var root = array[index];
-	        swap(array, index, --this._length);
-	        this.heapify(index);
-	        return root;
-	    };
-
-	/**
-	     * Gets a timestamp that can be used in measuring the time between events.  Timestamps
-	     * are expressed in milliseconds, but it is not specified what the milliseconds are
-	     * measured from.  This function uses performance.now() if it is available, or Date.now()
-	     * otherwise.
-	     *
-	     * @exports getTimestamp
-	     *
-	     * @returns {Number} The timestamp in milliseconds since some unspecified reference time.
-	     */
-	    var getTimestamp;
-
-	    if (typeof performance !== 'undefined' && typeof performance.now === 'function' && isFinite(performance.now())) {
-	        getTimestamp = function() {
-	            return performance.now();
-	        };
-	    } else {
-	        getTimestamp = function() {
-	            return Date.now();
-	        };
-	    }
-	var getTimestamp$1 = getTimestamp;
-
-	function sortRequests(a, b) {
-	    return a.priority - b.priority;
-	}
-
-	var statistics = {
-	    numberOfAttemptedRequests : 0,
-	    numberOfActiveRequests : 0,
-	    numberOfCancelledRequests : 0,
-	    numberOfCancelledActiveRequests : 0,
-	    numberOfFailedRequests : 0,
-	    numberOfActiveRequestsEver : 0,
-	    lastNumberOfActiveRequests : 0,
-	    totalRequestTime : 0
-	};
-
-	var priorityHeapLength = 20;
-	var requestHeap = new Heap({
-	    comparator : sortRequests
-	});
-	requestHeap.maximumLength = priorityHeapLength;
-	requestHeap.reserve(priorityHeapLength);
-
-	var activeRequests = [];
-	var numberOfActiveRequestsByServer = {};
-
-	var pageUri = typeof document !== 'undefined' ? new URI(document.location.href) : new URI();
-
-	var requestCompletedEvent = new Event();
-
-	/**
-	 * Tracks the number of active requests and prioritizes incoming requests.
-	 *
-	 * @exports RequestScheduler
-	 *
-	 * @private
-	 */
-	function RequestScheduler() {
-	}
-
-	/**
-	 * The maximum number of simultaneous active requests. Un-throttled requests do not observe this limit.
-	 * @type {Number}
-	 * @default 50
-	 */
-	RequestScheduler.maximumRequests = 50;
-
-	/**
-	 * The maximum number of simultaneous active requests per server. Un-throttled requests or servers specifically
-	 * listed in requestsByServer do not observe this limit.
-	 * @type {Number}
-	 * @default 6
-	 */
-	RequestScheduler.maximumRequestsPerServer = 6;
-
-	RequestScheduler.perPacketCount = 20;//批量下载,每帧每个包的最大请求数限制,默认是20,不超过120
-
-
-	/**
-	 * A per serverKey list of overrides to use for throttling instead of maximumRequestsPerServer
-	 */
-	RequestScheduler.requestsByServer = {
-	    'api.cesium.com:443': 18,
-	    'assets.cesium.com:443': 18
-	};
-
-	/**
-	 * Specifies if the request scheduler should throttle incoming requests, or let the browser queue requests under its control.
-	 * @type {Boolean}
-	 * @default true
-	 */
-	RequestScheduler.throttleRequests = true;
-
-	/**
-	 * When true, log statistics to the console every frame
-	 * @type {Boolean}
-	 * @default false
-	 */
-	RequestScheduler.debugShowStatistics = false;
-
-	/**
-	 * An event that's raised when a request is completed.  Event handlers are passed
-	 * the error object if the request fails.
-	 *
-	 * @type {Event}
-	 * @default Event()
-	 */
-	RequestScheduler.requestCompletedEvent = requestCompletedEvent;
-
-	Object.defineProperties(RequestScheduler, {
-	    /**
-	     * Returns the statistics used by the request scheduler.
-	     *
-	     * @memberof RequestScheduler
-	     *
-	     * @type Object
-	     * @readonly
-	     */
-	    statistics : {
-	        get : function() {
-	            return statistics;
-	        }
-	    },
-
-	    /**
-	     * The maximum size of the priority heap. This limits the number of requests that are sorted by priority. Only applies to requests that are not yet active.
-	     *
-	     * @memberof RequestScheduler
-	     *
-	     * @type {Number}
-	     * @default 20
-	     */
-	    priorityHeapLength : {
-	        get : function() {
-	            return priorityHeapLength;
-	        },
-	        set : function(value) {
-	            // If the new length shrinks the heap, need to cancel some of the requests.
-	            // Since this value is not intended to be tweaked regularly it is fine to just cancel the high priority requests.
-	            if (value < priorityHeapLength) {
-	                while (requestHeap.length > value) {
-	                    var request = requestHeap.pop();
-	                    cancelRequest(request);
-	                }
-	            }
-	            priorityHeapLength = value;
-	            requestHeap.maximumLength = value;
-	            requestHeap.reserve(value);
-	        }
-	    }
-	});
-
-	function updatePriority(request) {
-	    if (when.defined(request.priorityFunction)) {
-	        request.priority = request.priorityFunction();
-	    }
-	}
-
-	function serverHasOpenSlots(serverKey) {
-	    var maxRequests = when.defaultValue(RequestScheduler.requestsByServer[serverKey], RequestScheduler.maximumRequestsPerServer);
-	    return numberOfActiveRequestsByServer[serverKey] < maxRequests;
-	}
-
-
-	RequestScheduler.packRequestGroup = {};//每帧的所有需要打包的请求 : (serverIP + provider name), value :[request, request,...]
-	RequestScheduler.packRequestPromise = {};//每帧打包请求的promise  (serverIP + provider name) : defer
-	RequestScheduler.packRequestQuadKey = {};//请求包的四叉树编码 (serverIP + provider name) : (quadkey;quadkey;...)
-	RequestScheduler.quadKeyIndex = {};//记录当前四叉树编码数组的索引
-	RequestScheduler.packRequestHeap = {};//每个图层对应一个二叉堆(serverIp + provider name) : heap
-
-	RequestScheduler.blockDefer = {};
-	RequestScheduler.blockRequest = {};
-
-	function getRequestKey(request) {
-	    if(when.defined(request.packKey)){
-	        return request.packKey;
-	    }
-
-	    request.packKey = request.serverKey + '_' + request.providerName;
-	    return request.packKey;
-	}
-
-	function getRequestBlockKey(request){
-	    if(when.defined(request.blockKey)){
-	        return request.blockKey;
-	    }
-
-	    request.blockKey = request.serverKey + '_' + request.providerName + '_' + request.quadKey;
-	    return request.blockKey;
-	}
-
-	function preparePackRequest (request) {
-	    var packKey = getRequestKey(request);
-	    if(!when.defined(RequestScheduler.packRequestGroup[packKey])) {
-	        RequestScheduler.packRequestGroup[packKey] = [];
-	    }
-
-	    if(!when.defined(RequestScheduler.packRequestQuadKey[packKey])) {
-	        RequestScheduler.packRequestQuadKey[packKey] = '';
-	    }
-
-	    if(!when.defined(RequestScheduler.packRequestPromise[packKey])) {
-	        RequestScheduler.packRequestPromise[packKey] = when.when.defer();
-	    }
-
-	    if(!when.defined(RequestScheduler.quadKeyIndex[packKey])) {
-	        RequestScheduler.quadKeyIndex[packKey] = 0;
-	    }
-
-	    request.quadKeyIndex = RequestScheduler.quadKeyIndex[packKey]++;
-	    request.deferred = RequestScheduler.packRequestPromise[packKey];
-	    request.state = RequestState$1.ISSUED;
-	    RequestScheduler.packRequestGroup[packKey].push(request);
-	    return request.deferred.promise;
-	}
-
-	function prepareBlockRequest(request) {
-	    var key = getRequestBlockKey(request);
-	    var deferred = RequestScheduler.blockDefer[key];
-	    if(!when.defined(deferred)) {
-	        deferred = RequestScheduler.blockDefer[key] = when.when.defer();
-	        RequestScheduler.blockRequest[key] = request;
-	    }
-
-	    request.deferred = deferred;
-	    request.state = RequestState$1.ISSUED;
-	    return request.deferred.promise;
-	}
-
-	function clearRequestPackets() {
-	    RequestScheduler.packRequestGroup = {};
-	    RequestScheduler.packRequestPromise = {};
-	    RequestScheduler.packRequestQuadKey = {};
-	    RequestScheduler.quadKeyIndex = {};
-	}
-
-	function clearBlockRequest() {
-	    RequestScheduler.blockRequest = {};
-	}
-
-	function cancelAllRequests(requests) {
-	    for(var i = 0,j = requests.length;i < j;i++) {
-	        var request = requests[i];
-	        request.state = RequestState$1.CANCELLED;
-	    }
-	}
-
-	function combineQuadkey(reqGroup) {
-	    var quadkeys = [];
-	    for(var i = 0,j = reqGroup.length;i < j;i++){
-	        quadkeys.push(reqGroup[i].quadKey);
-	    }
-	    return quadkeys;
-	}
-
-	function startPackingRequest() {
-	    var packRequestGroup = RequestScheduler.packRequestGroup;
-	    for(var key in packRequestGroup) {
-	        if(packRequestGroup.hasOwnProperty(key)) {
-	            var reqGroup = packRequestGroup[key];
-	            if(reqGroup.length < 1) {
-	                continue ;
-	            }
-
-	            var packRequest = reqGroup[0].clone();
-	            var isTileMap = packRequest.url.indexOf("rest/maps") !== -1;
-	            packRequest.serverKey = reqGroup[0].serverKey;
-	            packRequest.state = reqGroup[0].state;
-	            var oldUrl = packRequest.url;
-
-	            if (isTileMap) {
-	                RequestScheduler.packRequestQuadKey[key] = combineQuadkey(reqGroup).join(',');
-	            } else {
-	                RequestScheduler.packRequestQuadKey[key] = combineQuadkey(reqGroup).join(';');
-	            }
-	            
-
-	            var quadKey = RequestScheduler.packRequestQuadKey[key];
-	            if (packRequest.throttleByServer && !serverHasOpenSlots(packRequest.serverKey)) {
-	                cancelAllRequests(reqGroup);
-	                RequestScheduler.packRequestPromise[key].reject();
-	                continue;
-	            }
-
-	            packRequest.deferred = RequestScheduler.packRequestPromise[key];
-	            var uri = new URI(oldUrl);
-	            if (isTileMap) {
-	                uri.query = when.defined(uri.query) ? uri.query + '&tiles=' + quadKey : 'tiles=' + quadKey;
-	            } else {
-	                uri.query = when.defined(uri.query) ? uri.query + '&extratiles=' + quadKey : 'extratiles=' + quadKey;
-	            }
-	            
-	            packRequest.url = uri.toString();
-	            startRequest(packRequest, packRequest.url);
-	        }
-	    }
-
-	    clearRequestPackets();
-	}
-
-	function updateBlockRequest() {
-	    var blockRequest = RequestScheduler.blockRequest;
-	    for(var key in blockRequest) {
-	        if(blockRequest.hasOwnProperty(key)) {
-	            var request = blockRequest[key];
-	            startRequest(request);
-	        }
-	    }
-
-	    clearBlockRequest();
-	}
-
-	function issueRequest(request) {
-	    if (request.state === RequestState$1.UNISSUED) {
-	        request.state = RequestState$1.ISSUED;
-	        if(request.type === RequestType$1.PACK){
-	            var packKey = getRequestKey(request);
-	            if(!when.defined(RequestScheduler.packRequestPromise[packKey])) {
-	                RequestScheduler.packRequestPromise[packKey] = when.when.defer();
-	            }
-
-	            request.deferred = RequestScheduler.packRequestPromise[packKey];
-
-	        }
-	        else {
-	            request.deferred = when.when.defer();
-	        }
-	    }
-	    return request.deferred.promise;
-	}
-
-	function getRequestReceivedFunction(request) {
-	    return function(results) {
-	        if (request.state === RequestState$1.CANCELLED) {
-	            // If the data request comes back but the request is cancelled, ignore it.
-	            return;
-	        }
-	        --statistics.numberOfActiveRequests;
-	        --numberOfActiveRequestsByServer[request.serverKey];
-	        requestCompletedEvent.raiseEvent();
-	        request.state = RequestState$1.RECEIVED;
-	        request.deferred.resolve(results);
-	        request.endTime = getTimestamp$1();
-	        if(request.type !== RequestType$1.OTHER) {
-	            statistics.totalRequestTime += request.endTime - request.startTime;
-	        }
-
-	        if(request.type === RequestType$1.BLOCK){
-	            var key = getRequestBlockKey(request);
-	            if(when.defined(RequestScheduler.blockDefer[key])){
-	                RequestScheduler.blockDefer[key] = undefined;
-	                delete RequestScheduler.blockDefer[key];
-	            }
-
-	        }
-	    };
-	}
-
-	function getRequestFailedFunction(request) {
-	    return function(error) {
-	        if (request.state === RequestState$1.CANCELLED) {
-	            // If the data request comes back but the request is cancelled, ignore it.
-	            return;
-	        }
-	        ++statistics.numberOfFailedRequests;
-	        --statistics.numberOfActiveRequests;
-	        --numberOfActiveRequestsByServer[request.serverKey];
-	        requestCompletedEvent.raiseEvent(error);
-	        request.state = RequestState$1.FAILED;
-	        request.deferred.reject(error);
-	    };
-	}
-
-	function startRequest(request, url) {
-	    var promise = issueRequest(request);
-	    request.state = RequestState$1.ACTIVE;
-	    activeRequests.push(request);
-	    ++statistics.numberOfActiveRequests;
-	    ++statistics.numberOfActiveRequestsEver;
-	    ++numberOfActiveRequestsByServer[request.serverKey];
-	    request.startTime = getTimestamp$1();
-	    request.requestFunction(url).then(getRequestReceivedFunction(request)).otherwise(getRequestFailedFunction(request));
-	    return promise;
-	}
-
-	function cancelRequest(request) {
-	    var active = request.state === RequestState$1.ACTIVE;
-	    request.state = RequestState$1.CANCELLED;
-	    ++statistics.numberOfCancelledRequests;
-	    request.deferred.reject();
-
-	    if (active) {
-	        --statistics.numberOfActiveRequests;
-	        --numberOfActiveRequestsByServer[request.serverKey];
-	        ++statistics.numberOfCancelledActiveRequests;
-	    }
-
-	    if (when.defined(request.cancelFunction)) {
-	        request.cancelFunction();
-	    }
-	}
-
-	function updatePackRequestHeap() {
-	    for(var key in RequestScheduler.packRequestHeap) {
-	        if(RequestScheduler.packRequestHeap.hasOwnProperty(key)) {
-	            var heap = RequestScheduler.packRequestHeap[key];
-	            var issuedRequests = heap.internalArray;
-	            var issuedLength = heap.length;
-	            for (var i = 0; i < issuedLength; ++i) {
-	                updatePriority(issuedRequests[i]);
-	            }
-	            heap.resort();
-	        }
-	    }
-	}
-
-	function packingRequest() {
-	    for(var key in RequestScheduler.packRequestHeap) {
-	        if(RequestScheduler.packRequestHeap.hasOwnProperty(key)) {
-	            var heap = RequestScheduler.packRequestHeap[key];
-	            while(heap.length > 0) {
-	                var request = heap.pop();
-	                if (request.cancelled) {
-	                    cancelRequest(request);
-	                    continue;
-	                }
-
-	                preparePackRequest(request);
-	            }
-	        }
-	    }
-
-	    startPackingRequest();
-	}
-
-	/**
-	 * Sort requests by priority and start requests.
-	 */
-	RequestScheduler.update = function() {
-	    var i;
-	    var request;
-
-	    // Loop over all active requests. Cancelled, failed, or received requests are removed from the array to make room for new requests.
-	    var removeCount = 0;
-	    var activeLength = activeRequests.length;
-	    for (i = 0; i < activeLength; ++i) {
-	        request = activeRequests[i];
-	        if (request.cancelled) {
-	            // Request was explicitly cancelled
-	            cancelRequest(request);
-	        }
-	        if (request.state !== RequestState$1.ACTIVE) {
-	            // Request is no longer active, remove from array
-	            ++removeCount;
-	            continue;
-	        }
-	        if (removeCount > 0) {
-	            // Shift back to fill in vacated slots from completed requests
-	            activeRequests[i - removeCount] = request;
-	        }
-	    }
-	    activeRequests.length -= removeCount;
-
-	    // Update priority of issued requests and resort the heap
-	    var issuedRequests = requestHeap.internalArray;
-	    var issuedLength = requestHeap.length;
-	    for (i = 0; i < issuedLength; ++i) {
-	        updatePriority(issuedRequests[i]);
-	    }
-	    requestHeap.resort();
-
-	    updatePackRequestHeap();
-	    updateBlockRequest();
-
-	    packingRequest();
-
-	    // Get the number of open slots and fill with the highest priority requests.
-	    // Un-throttled requests are automatically added to activeRequests, so activeRequests.length may exceed maximumRequests
-	    var openSlots = Math.max(RequestScheduler.maximumRequests - activeRequests.length, 0);
-	    var filledSlots = 0;
-	    while (filledSlots < openSlots && requestHeap.length > 0) {
-	        // Loop until all open slots are filled or the heap becomes empty
-	        request = requestHeap.pop();
-	        if (request.cancelled) {
-	            // Request was explicitly cancelled
-	            cancelRequest(request);
-	            continue;
-	        }
-
-	        if (request.throttleByServer && !serverHasOpenSlots(request.serverKey)) {
-	            // Open slots are available, but the request is throttled by its server. Cancel and try again later.
-	            cancelRequest(request);
-	            continue;
-	        }
-
-	        startRequest(request);
-
-	        ++filledSlots;
-	    }
-
-	    updateStatistics();
-	};
-
-	/**
-	 * Get the server key from a given url.
-	 *
-	 * @param {String} url The url.
-	 * @returns {String} The server key.
-	 */
-	RequestScheduler.getServerKey = function(url) {
-	    //>>includeStart('debug', pragmas.debug);
-	    Check.Check.typeOf.string('url', url);
-	    //>>includeEnd('debug');
-
-	    var uri = new URI(url).resolve(pageUri);
-	    uri.normalize();
-	    var serverKey = uri.authority;
-	    if (!/:/.test(serverKey)) {
-	        // If the authority does not contain a port number, add port 443 for https or port 80 for http
-	        serverKey = serverKey + ':' + (uri.scheme === 'https' ? '443' : '80');
-	    }
-
-	    var length = numberOfActiveRequestsByServer[serverKey];
-	    if (!when.defined(length)) {
-	        numberOfActiveRequestsByServer[serverKey] = 0;
-	    }
-
-	    return serverKey;
-	};
-
-	function getPackRequestHeap(request) {
-	    var packKey = getRequestKey(request);
-	    var heap = RequestScheduler.packRequestHeap[packKey];
-	    if(!when.defined(heap)) {
-	        heap = RequestScheduler.packRequestHeap[packKey] = new Heap({
-	            comparator : sortRequests
-	        });
-	        heap.maximumLength = RequestScheduler.perPacketCount;
-	        heap.reserve(priorityHeapLength);
-	    }
-
-	    return heap;
-	}
-
-	/**
-	 * Issue a request. If request.throttle is false, the request is sent immediately. Otherwise the request will be
-	 * queued and sorted by priority before being sent.
-	 *
-	 * @param {Request} request The request object.
-	 *
-	 * @returns {Promise|undefined} A Promise for the requested data, or undefined if this request does not have high enough priority to be issued.
-	 */
-	RequestScheduler.request = function(request) {
-	    //>>includeStart('debug', pragmas.debug);
-	    Check.Check.typeOf.object('request', request);
-	    Check.Check.typeOf.string('request.url', request.url);
-	    Check.Check.typeOf.func('request.requestFunction', request.requestFunction);
-	    //>>includeEnd('debug');
-
-	    if (isDataUri(request.url) || isBlobUri(request.url)) {
-	        requestCompletedEvent.raiseEvent();
-	        request.state = RequestState$1.RECEIVED;
-	        return request.requestFunction();
-	    }
-
-	    ++statistics.numberOfAttemptedRequests;
-
-	    if (!when.defined(request.serverKey)) {
-	        request.serverKey = RequestScheduler.getServerKey(request.url);
-	    }
-
-	    if(request.type === RequestType$1.BLOCK) {
-	        return prepareBlockRequest(request);
-	    }
-
-	    if (request.throttleByServer && !serverHasOpenSlots(request.serverKey)) {
-	        // Server is saturated. Try again later.
-	        return undefined;
-	    }
-
-	    if (!RequestScheduler.throttleRequests || !request.throttle) {
-	        return startRequest(request);
-	    }
-
-	    if (activeRequests.length >= RequestScheduler.maximumRequests) {
-	        // Active requests are saturated. Try again later.
-	        return undefined;
-	    }
-
-	    // Insert into the priority heap and see if a request was bumped off. If this request is the lowest
-	    // priority it will be returned.
-	    updatePriority(request);
-	    var removedRequest;
-	    if(request.type === RequestType$1.PACK) {
-	        var packRequestHeap = getPackRequestHeap(request);
-	        removedRequest = packRequestHeap.insert(request);
-	    }
-	    else {
-	        removedRequest = requestHeap.insert(request);
-	    }
-
-	    if (when.defined(removedRequest)) {
-	        if (removedRequest === request) {
-	            // Request does not have high enough priority to be issued
-	            return undefined;
-	        }
-	        // A previously issued request has been bumped off the priority heap, so cancel it
-	        cancelRequest(removedRequest);
-	    }
-
-	    return issueRequest(request);
-	};
-
-	function updateStatistics() {
-	    if (!RequestScheduler.debugShowStatistics) {
-	        return;
-	    }
-
-	    if (statistics.numberOfActiveRequests === 0 && statistics.lastNumberOfActiveRequests > 0) {
-	        if (statistics.numberOfAttemptedRequests > 0) {
-	            console.log('Number of attempted requests: ' + statistics.numberOfAttemptedRequests);
-	            statistics.numberOfAttemptedRequests = 0;
-	        }
-
-	        if (statistics.numberOfCancelledRequests > 0) {
-	            console.log('Number of cancelled requests: ' + statistics.numberOfCancelledRequests);
-	            statistics.numberOfCancelledRequests = 0;
-	        }
-
-	        if (statistics.numberOfCancelledActiveRequests > 0) {
-	            console.log('Number of cancelled active requests: ' + statistics.numberOfCancelledActiveRequests);
-	            statistics.numberOfCancelledActiveRequests = 0;
-	        }
-
-	        if (statistics.numberOfFailedRequests > 0) {
-	            console.log('Number of failed requests: ' + statistics.numberOfFailedRequests);
-	            statistics.numberOfFailedRequests = 0;
-	        }
-	    }
-
-	    statistics.lastNumberOfActiveRequests = statistics.numberOfActiveRequests;
-	}
-
-	/**
-	 * For testing only. Clears any requests that may not have completed from previous tests.
-	 *
-	 * @private
-	 */
-	RequestScheduler.clearForSpecs = function() {
-	    while (requestHeap.length > 0) {
-	        var request = requestHeap.pop();
-	        cancelRequest(request);
-	    }
-	    var length = activeRequests.length;
-	    for (var i = 0; i < length; ++i) {
-	        cancelRequest(activeRequests[i]);
-	    }
-	    activeRequests.length = 0;
-	    numberOfActiveRequestsByServer = {};
-
-	    // Clear stats
-	    statistics.numberOfAttemptedRequests = 0;
-	    statistics.numberOfActiveRequests = 0;
-	    statistics.numberOfCancelledRequests = 0;
-	    statistics.numberOfCancelledActiveRequests = 0;
-	    statistics.numberOfFailedRequests = 0;
-	    statistics.numberOfActiveRequestsEver = 0;
-	    statistics.lastNumberOfActiveRequests = 0;
-	    statistics.totalRequestTime = 0;
-	};
-
-	/**
-	 * For testing only.
-	 *
-	 * @private
-	 */
-	RequestScheduler.numberOfActiveRequestsByServer = function(serverKey) {
-	    return numberOfActiveRequestsByServer[serverKey];
-	};
-
-	/**
-	 * For testing only.
-	 *
-	 * @private
-	 */
-	RequestScheduler.requestHeap = requestHeap;
-
-	/**
-	     * A singleton that contains all of the servers that are trusted. Credentials will be sent with
-	     * any requests to these servers.
-	     *
-	     * @exports TrustedServers
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     */
-	    var TrustedServers = {};
-	    var _servers = {};
-
-	    /**
-	     * Adds a trusted server to the registry
-	     *
-	     * @param {String} host The host to be added.
-	     * @param {Number} port The port used to access the host.
-	     *
-	     * @example
-	     * // Add a trusted server
-	     * TrustedServers.add('my.server.com', 80);
-	     */
-	    TrustedServers.add = function(host, port) {
-	        //>>includeStart('debug', pragmas.debug);
-	        if (!when.defined(host)) {
-	            throw new Check.DeveloperError('host is required.');
-	        }
-	        if (!when.defined(port) || port <= 0) {
-	            throw new Check.DeveloperError('port is required to be greater than 0.');
-	        }
-	        //>>includeEnd('debug');
-
-	        var authority = host.toLowerCase() + ':' + port;
-	        if (!when.defined(_servers[authority])) {
-	            _servers[authority] = true;
-	        }
-	    };
-
-	    /**
-	     * Removes a trusted server from the registry
-	     *
-	     * @param {String} host The host to be removed.
-	     * @param {Number} port The port used to access the host.
-	     *
-	     * @example
-	     * // Remove a trusted server
-	     * TrustedServers.remove('my.server.com', 80);
-	     */
-	    TrustedServers.remove = function(host, port) {
-	        //>>includeStart('debug', pragmas.debug);
-	        if (!when.defined(host)) {
-	            throw new Check.DeveloperError('host is required.');
-	        }
-	        if (!when.defined(port) || port <= 0) {
-	            throw new Check.DeveloperError('port is required to be greater than 0.');
-	        }
-	        //>>includeEnd('debug');
-
-	        var authority = host.toLowerCase() + ':' + port;
-	        if (when.defined(_servers[authority])) {
-	            delete _servers[authority];
-	        }
-	    };
-
-	    function getAuthority(url) {
-	        var uri = new URI(url);
-	        uri.normalize();
-
-	        // Removes username:password@ so we just have host[:port]
-	        var authority = uri.getAuthority();
-	        if (!when.defined(authority)) {
-	            return undefined; // Relative URL
-	        }
-
-	        if (authority.indexOf('@') !== -1) {
-	            var parts = authority.split('@');
-	            authority = parts[1];
-	        }
-
-	        // If the port is missing add one based on the scheme
-	        if (authority.indexOf(':') === -1) {
-	            var scheme = uri.getScheme();
-	            if (!when.defined(scheme)) {
-	                scheme = window.location.protocol;
-	                scheme = scheme.substring(0, scheme.length-1);
-	            }
-	            if (scheme === 'http') {
-	                authority += ':80';
-	            } else if (scheme === 'https') {
-	                authority += ':443';
-	            } else {
-	                return undefined;
-	            }
-	        }
-
-	        return authority;
-	    }
-
-	    /**
-	     * Tests whether a server is trusted or not. The server must have been added with the port if it is included in the url.
-	     *
-	     * @param {String} url The url to be tested against the trusted list
-	     *
-	     * @returns {boolean} Returns true if url is trusted, false otherwise.
-	     *
-	     * @example
-	     * // Add server
-	     * TrustedServers.add('my.server.com', 81);
-	     *
-	     * // Check if server is trusted
-	     * if (TrustedServers.contains('https://my.server.com:81/path/to/file.png')) {
-	     *     // my.server.com:81 is trusted
-	     * }
-	     * if (TrustedServers.contains('https://my.server.com/path/to/file.png')) {
-	     *     // my.server.com isn't trusted
-	     * }
-	     */
-	    TrustedServers.contains = function(url) {
-	        //>>includeStart('debug', pragmas.debug);
-	        if (!when.defined(url)) {
-	            throw new Check.DeveloperError('url is required.');
-	        }
-	        //>>includeEnd('debug');
-	        var authority = getAuthority(url);
-	        if (when.defined(authority) && when.defined(_servers[authority])) {
-	            return true;
-	        }
-
-	        return false;
-	    };
-
-	    /**
-	     * Clears the registry
-	     *
-	     * @example
-	     * // Remove a trusted server
-	     * TrustedServers.clear();
-	     */
-	    TrustedServers.clear = function() {
-	        _servers = {};
-	    };
-
-	var warnings = {};
-
-	    /**
-	     * Logs a one time message to the console.  Use this function instead of
-	     * <code>console.log</code> directly since this does not log duplicate messages
-	     * unless it is called from multiple workers.
-	     *
-	     * @exports oneTimeWarning
-	     *
-	     * @param {String} identifier The unique identifier for this warning.
-	     * @param {String} [message=identifier] The message to log to the console.
-	     *
-	     * @example
-	     * for(var i=0;i<foo.length;++i) {
-	     *    if (!defined(foo[i].bar)) {
-	     *       // Something that can be recovered from but may happen a lot
-	     *       oneTimeWarning('foo.bar undefined', 'foo.bar is undefined. Setting to 0.');
-	     *       foo[i].bar = 0;
-	     *       // ...
-	     *    }
-	     * }
-	     *
-	     * @private
-	     */
-	    function oneTimeWarning(identifier, message) {
-	        //>>includeStart('debug', pragmas.debug);
-	        if (!when.defined(identifier)) {
-	            throw new Check.DeveloperError('identifier is required.');
-	        }
-	        //>>includeEnd('debug');
-
-	        if (!when.defined(warnings[identifier])) {
-	            warnings[identifier] = true;
-	            console.warn(when.defaultValue(message, identifier));
-	        }
-	    }
-
-	    oneTimeWarning.geometryOutlines = 'Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.';
-
-	    oneTimeWarning.geometryZIndex = 'Entity geometry with zIndex are unsupported when height or extrudedHeight are defined.  zIndex will be ignored';
-
-	    oneTimeWarning.geometryHeightReference = 'Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height.  heightReference will be ignored';
-	    oneTimeWarning.geometryExtrudedHeightReference = 'Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight.  extrudedHeightReference will be ignored';
-
-	var xhrBlobSupported = (function() {
-	        try {
-	            var xhr = new XMLHttpRequest();
-	            xhr.open('GET', '#', true);
-	            xhr.responseType = 'blob';
-	            return xhr.responseType === 'blob';
-	        } catch (e) {
-	            return false;
-	        }
-	    })();
-
-	    /**
-	     * Parses a query string and returns the object equivalent.
-	     *
-	     * @param {Uri} uri The Uri with a query object.
-	     * @param {Resource} resource The Resource that will be assigned queryParameters.
-	     * @param {Boolean} merge If true, we'll merge with the resource's existing queryParameters. Otherwise they will be replaced.
-	     * @param {Boolean} preserveQueryParameters If true duplicate parameters will be concatenated into an array. If false, keys in uri will take precedence.
-	     *
-	     * @private
-	     */
-	    function parseQuery(uri, resource, merge, preserveQueryParameters) {
-	        var queryString = uri.query;
-	        if (!when.defined(queryString) || (queryString.length === 0)) {
-	            return {};
-	        }
-
-	        var query;
-	        // Special case we run into where the querystring is just a string, not key/value pairs
-	        if (queryString.indexOf('=') === -1) {
-	            var result = {};
-	            result[queryString] = undefined;
-	            query = result;
-	        } else {
-	            query = queryToObject(queryString);
-	        }
-
-	        if (merge) {
-	            resource._queryParameters = combineQueryParameters(query, resource._queryParameters, preserveQueryParameters);
-	        } else {
-	            resource._queryParameters = query;
-	        }
-	        uri.query = undefined;
-	    }
-
-	    /**
-	     * Converts a query object into a string.
-	     *
-	     * @param {Uri} uri The Uri object that will have the query object set.
-	     * @param {Resource} resource The resource that has queryParameters
-	     *
-	     * @private
-	     */
-	    function stringifyQuery(uri, resource) {
-	        var queryObject = resource._queryParameters;
-
-	        var keys = Object.keys(queryObject);
-
-	        // We have 1 key with an undefined value, so this is just a string, not key/value pairs
-	        if (keys.length === 1 && !when.defined(queryObject[keys[0]])) {
-	            uri.query = keys[0];
-	        } else {
-	            uri.query = objectToQuery(queryObject);
-	        }
-	    }
-
-	    /**
-	     * Clones a value if it is defined, otherwise returns the default value
-	     *
-	     * @param {*} [val] The value to clone.
-	     * @param {*} [defaultVal] The default value.
-	     *
-	     * @returns {*} A clone of val or the defaultVal.
-	     *
-	     * @private
-	     */
-	    function defaultClone(val, defaultVal) {
-	        if (!when.defined(val)) {
-	            return defaultVal;
-	        }
-
-	        return when.defined(val.clone) ? val.clone() : clone(val);
-	    }
-
-	    /**
-	     * Checks to make sure the Resource isn't already being requested.
-	     *
-	     * @param {Request} request The request to check.
-	     *
-	     * @private
-	     */
-	    function checkAndResetRequest(request) {
-	        if (request.state === RequestState$1.ISSUED || request.state === RequestState$1.ACTIVE) {
-	            throw new RuntimeError.RuntimeError('The Resource is already being fetched.');
-	        }
-
-	        request.state = RequestState$1.UNISSUED;
-	        request.deferred = undefined;
-	    }
-
-	    /**
-	     * This combines a map of query parameters.
-	     *
-	     * @param {Object} q1 The first map of query parameters. Values in this map will take precedence if preserveQueryParameters is false.
-	     * @param {Object} q2 The second map of query parameters.
-	     * @param {Boolean} preserveQueryParameters If true duplicate parameters will be concatenated into an array. If false, keys in q1 will take precedence.
-	     *
-	     * @returns {Object} The combined map of query parameters.
-	     *
-	     * @example
-	     * var q1 = {
-	     *   a: 1,
-	     *   b: 2
-	     * };
-	     * var q2 = {
-	     *   a: 3,
-	     *   c: 4
-	     * };
-	     * var q3 = {
-	     *   b: [5, 6],
-	     *   d: 7
-	     * }
-	     *
-	     * // Returns
-	     * // {
-	     * //   a: [1, 3],
-	     * //   b: 2,
-	     * //   c: 4
-	     * // };
-	     * combineQueryParameters(q1, q2, true);
-	     *
-	     * // Returns
-	     * // {
-	     * //   a: 1,
-	     * //   b: 2,
-	     * //   c: 4
-	     * // };
-	     * combineQueryParameters(q1, q2, false);
-	     *
-	     * // Returns
-	     * // {
-	     * //   a: 1,
-	     * //   b: [2, 5, 6],
-	     * //   d: 7
-	     * // };
-	     * combineQueryParameters(q1, q3, true);
-	     *
-	     * // Returns
-	     * // {
-	     * //   a: 1,
-	     * //   b: 2,
-	     * //   d: 7
-	     * // };
-	     * combineQueryParameters(q1, q3, false);
-	     *
-	     * @private
-	     */
-	    function combineQueryParameters(q1, q2, preserveQueryParameters) {
-	        if (!preserveQueryParameters) {
-	            return combine(q1, q2);
-	        }
-
-	        var result = clone(q1, true);
-	        for (var param in q2) {
-	            if (q2.hasOwnProperty(param)) {
-	                var value = result[param];
-	                var q2Value = q2[param];
-	                if (when.defined(value)) {
-	                    if (!Array.isArray(value)) {
-	                        value = result[param] = [value];
-	                    }
-
-	                    result[param] = value.concat(q2Value);
-	                } else {
-	                    result[param] = Array.isArray(q2Value) ? q2Value.slice() : q2Value;
-	                }
-	            }
-	        }
-
-	        return result;
-	    }
-
-	    /**
-	     * A resource that includes the location and any other parameters we need to retrieve it or create derived resources. It also provides the ability to retry requests.
-	     *
-	     * @alias Resource
-	     * @constructor
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     *
-	     * @example
-	     * function refreshTokenRetryCallback(resource, error) {
-	     *   if (error.statusCode === 403) {
-	     *     // 403 status code means a new token should be generated
-	     *     return getNewAccessToken()
-	     *       .then(function(token) {
-	     *         resource.queryParameters.access_token = token;
-	     *         return true;
-	     *       })
-	     *       .otherwise(function() {
-	     *         return false;
-	     *       });
-	     *   }
-	     *
-	     *   return false;
-	     * }
-	     *
-	     * var resource = new Resource({
-	     *    url: 'http://server.com/path/to/resource.json',
-	     *    proxy: new DefaultProxy('/proxy/'),
-	     *    headers: {
-	     *      'X-My-Header': 'valueOfHeader'
-	     *    },
-	     *    queryParameters: {
-	     *      'access_token': '123-435-456-000'
-	     *    },
-	     *    retryCallback: refreshTokenRetryCallback,
-	     *    retryAttempts: 1
-	     * });
-	     */
-	    function Resource(options) {
-	        options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-	        if (typeof options === 'string') {
-	            options = {
-	                url: options
-	            };
-	        }
-
-	        //>>includeStart('debug', pragmas.debug);
-	        Check.Check.typeOf.string('options.url', options.url);
-	        //>>includeEnd('debug');
-
-	        this._url = undefined;
-	        this._templateValues = defaultClone(options.templateValues, {});
-	        this._queryParameters = defaultClone(options.queryParameters, {});
-
-	        /**
-	         * Additional HTTP headers that will be sent with the request.
-	         *
-	         * @type {Object}
-	         */
-	        this.headers = defaultClone(options.headers, {});
-
-	        /**
-	         * A Request object that will be used. Intended for internal use only.
-	         *
-	         * @type {Request}
-	         */
-	        this.request = when.defaultValue(options.request, new Request());
-
-	        /**
-	         * A proxy to be used when loading the resource.
-	         *
-	         * @type {DefaultProxy}
-	         */
-	        this.proxy = options.proxy;
-
-	        /**
-	         * Function to call when a request for this resource fails. If it returns true or a Promise that resolves to true, the request will be retried.
-	         *
-	         * @type {Function}
-	         */
-	        this.retryCallback = options.retryCallback;
-
-	        /**
-	         * The number of times the retryCallback should be called before giving up.
-	         *
-	         * @type {Number}
-	         */
-	        this.retryAttempts = when.defaultValue(options.retryAttempts, 0);
-	        this._retryCount = 0;
-
-	        var uri = new URI(options.url);
-	        parseQuery(uri, this, true, true);
-
-	        // Remove the fragment as it's not sent with a request
-	        uri.fragment = undefined;
-
-	        this._url = uri.toString();
-	    }
-
-	    /**
-	     * A helper function to create a resource depending on whether we have a String or a Resource
-	     *
-	     * @param {Resource|String} resource A Resource or a String to use when creating a new Resource.
-	     *
-	     * @returns {Resource} If resource is a String, a Resource constructed with the url and options. Otherwise the resource parameter is returned.
-	     *
-	     * @private
-	     */
-	    Resource.createIfNeeded = function(resource) {
-	        if (resource instanceof Resource) {
-	            // Keep existing request object. This function is used internally to duplicate a Resource, so that it can't
-	            //  be modified outside of a class that holds it (eg. an imagery or terrain provider). Since the Request objects
-	            //  are managed outside of the providers, by the tile loading code, we want to keep the request property the same so if it is changed
-	            //  in the underlying tiling code the requests for this resource will use it.
-	            return  resource.getDerivedResource({
-	                request: resource.request
-	            });
-	        }
-
-	        if (typeof resource !== 'string') {
-	            return resource;
-	        }
-
-	        return new Resource({
-	            url: resource
-	        });
-	    };
-
-	    var supportsImageBitmapOptionsPromise;
-	    /**
-	     * A helper function to check whether createImageBitmap supports passing ImageBitmapOptions.
-	     *
-	     * @returns {Promise<Boolean>} A promise that resolves to true if this browser supports creating an ImageBitmap with options.
-	     *
-	     * @private
-	     */
-	    Resource.supportsImageBitmapOptions = function() {
-	        // Until the HTML folks figure out what to do about this, we need to actually try loading an image to
-	        // know if this browser supports passing options to the createImageBitmap function.
-	        // https://github.com/whatwg/html/pull/4248
-	        if (when.defined(supportsImageBitmapOptionsPromise)) {
-	            return supportsImageBitmapOptionsPromise;
-	        }
-
-	        if (typeof createImageBitmap !== 'function') {
-	            supportsImageBitmapOptionsPromise = when.when.resolve(false);
-	            return supportsImageBitmapOptionsPromise;
-	        }
-
-	        var imageDataUri = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4////fwAJ+wP9CNHoHgAAAABJRU5ErkJggg==';
-
-	        supportsImageBitmapOptionsPromise = Resource.fetchBlob({
-	            url : imageDataUri
-	        })
-	            .then(function(blob) {
-	                return createImageBitmap(blob, {
-	                    imageOrientation: 'flipY',
-	                    premultiplyAlpha: 'none'
-	                });
-	            })
-	            .then(function(imageBitmap) {
-	                return true;
-	            })
-	            .otherwise(function() {
-	                return false;
-	            });
-
-	        return supportsImageBitmapOptionsPromise;
-	    };
-
-	    Object.defineProperties(Resource, {
-	        /**
-	         * Returns true if blobs are supported.
-	         *
-	         * @memberof Resource
-	         * @type {Boolean}
-	         *
-	         * @readonly
-	         */
-	        isBlobSupported : {
-	            get : function() {
-	                return xhrBlobSupported;
-	            }
-	        }
-	    });
-
-	    Object.defineProperties(Resource.prototype, {
-	        /**
-	         * Query parameters appended to the url.
-	         *
-	         * @memberof Resource.prototype
-	         * @type {Object}
-	         *
-	         * @readonly
-	         */
-	        queryParameters: {
-	            get: function() {
-	                return this._queryParameters;
-	            }
-	        },
-
-	        /**
-	         * The key/value pairs used to replace template parameters in the url.
-	         *
-	         * @memberof Resource.prototype
-	         * @type {Object}
-	         *
-	         * @readonly
-	         */
-	        templateValues: {
-	            get: function() {
-	                return this._templateValues;
-	            }
-	        },
-
-	        /**
-	         * The url to the resource with template values replaced, query string appended and encoded by proxy if one was set.
-	         *
-	         * @memberof Resource.prototype
-	         * @type {String}
-	         */
-	        url: {
-	            get: function() {
-	                return this.getUrlComponent(true, true);
-	            },
-	            set: function(value) {
-	                var uri = new URI(value);
-
-	                parseQuery(uri, this, false);
-
-	                // Remove the fragment as it's not sent with a request
-	                uri.fragment = undefined;
-
-	                this._url = uri.toString();
-	            }
-	        },
-
-	        /**
-	         * The file extension of the resource.
-	         *
-	         * @memberof Resource.prototype
-	         * @type {String}
-	         *
-	         * @readonly
-	         */
-	        extension: {
-	            get: function() {
-	                return getExtensionFromUri(this._url);
-	            }
-	        },
-
-	        /**
-	         * True if the Resource refers to a data URI.
-	         *
-	         * @memberof Resource.prototype
-	         * @type {Boolean}
-	         */
-	        isDataUri: {
-	            get: function() {
-	                return isDataUri(this._url);
-	            }
-	        },
-
-	        /**
-	         * True if the Resource refers to a blob URI.
-	         *
-	         * @memberof Resource.prototype
-	         * @type {Boolean}
-	         */
-	        isBlobUri: {
-	            get: function() {
-	                return isBlobUri(this._url);
-	            }
-	        },
-
-	        /**
-	         * True if the Resource refers to a cross origin URL.
-	         *
-	         * @memberof Resource.prototype
-	         * @type {Boolean}
-	         */
-	        isCrossOriginUrl: {
-	            get: function() {
-	                return isCrossOriginUrl(this._url);
-	            }
-	        },
-
-	        /**
-	         * True if the Resource has request headers. This is equivalent to checking if the headers property has any keys.
-	         *
-	         * @memberof Resource.prototype
-	         * @type {Boolean}
-	         */
-	        hasHeaders: {
-	            get: function() {
-	                return (Object.keys(this.headers).length > 0);
-	            }
-	        }
-	    });
-
-	    /**
-	     * Returns the url, optional with the query string and processed by a proxy.
-	     *
-	     * @param {Boolean} [query=false] If true, the query string is included.
-	     * @param {Boolean} [proxy=false] If true, the url is processed the proxy object if defined.
-	     *
-	     * @returns {String} The url with all the requested components.
-	     */
-	    Resource.prototype.getUrlComponent = function(query, proxy) {
-	        if(this.isDataUri) {
-	            return this._url;
-	        }
-
-	        var uri = new URI(this._url);
-
-	        if (query) {
-	            stringifyQuery(uri, this);
-	        }
-
-	        // objectToQuery escapes the placeholders.  Undo that.
-	        var url = uri.toString().replace(/%7B/g, '{').replace(/%7D/g, '}');
-
-	        var templateValues = this._templateValues;
-	        url = url.replace(/{(.*?)}/g, function(match, key) {
-	            var replacement = templateValues[key];
-	            if (when.defined(replacement)) {
-	                // use the replacement value from templateValues if there is one...
-	                return encodeURIComponent(replacement);
-	            }
-	            // otherwise leave it unchanged
-	            return match;
-	        });
-
-	        if (proxy && when.defined(this.proxy)) {
-	            url = this.proxy.getURL(url);
-	        }
-	        return url;
-	    };
-
-	    /**
-	     * Combines the specified object and the existing query parameters. This allows you to add many parameters at once,
-	     *  as opposed to adding them one at a time to the queryParameters property. If a value is already set, it will be replaced with the new value.
-	     *
-	     * @param {Object} params The query parameters
-	     * @param {Boolean} [useAsDefault=false] If true the params will be used as the default values, so they will only be set if they are undefined.
-	     */
-	    Resource.prototype.setQueryParameters = function(params, useAsDefault) {
-	        if (useAsDefault) {
-	            this._queryParameters = combineQueryParameters(this._queryParameters, params, false);
-	        } else {
-	            this._queryParameters = combineQueryParameters(params, this._queryParameters, false);
-	        }
-	    };
-
-	    /**
-	     * Combines the specified object and the existing query parameters. This allows you to add many parameters at once,
-	     *  as opposed to adding them one at a time to the queryParameters property.
-	     *
-	     * @param {Object} params The query parameters
-	     */
-	    Resource.prototype.appendQueryParameters = function(params) {
-	        this._queryParameters = combineQueryParameters(params, this._queryParameters, true);
-	    };
-
-	    /**
-	     * Combines the specified object and the existing template values. This allows you to add many values at once,
-	     *  as opposed to adding them one at a time to the templateValues property. If a value is already set, it will become an array and the new value will be appended.
-	     *
-	     * @param {Object} template The template values
-	     * @param {Boolean} [useAsDefault=false] If true the values will be used as the default values, so they will only be set if they are undefined.
-	     */
-	    Resource.prototype.setTemplateValues = function(template, useAsDefault) {
-	        if (useAsDefault) {
-	            this._templateValues = combine(this._templateValues, template);
-	        } else {
-	            this._templateValues = combine(template, this._templateValues);
-	        }
-	    };
-
-	    /**
-	     * Returns a resource relative to the current instance. All properties remain the same as the current instance unless overridden in options.
-	     *
-	     * @param {Object} options An object with the following properties
-	     * @param {String} [options.url]  The url that will be resolved relative to the url of the current instance.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be combined with those of the current instance.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}). These will be combined with those of the current instance.
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The function to call when loading the resource fails.
-	     * @param {Number} [options.retryAttempts] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @param {Boolean} [options.preserveQueryParameters=false] If true, this will keep all query parameters from the current resource and derived resource. If false, derived parameters will replace those of the current resource.
-	     *
-	     * @returns {Resource} The resource derived from the current one.
-	     */
-	    Resource.prototype.getDerivedResource = function(options) {
-	        var resource = this.clone();
-	        resource._retryCount = 0;
-
-	        if (when.defined(options.url)) {
-	            var uri = new URI(options.url);
-
-	            var preserveQueryParameters = when.defaultValue(options.preserveQueryParameters, false);
-	            parseQuery(uri, resource, true, preserveQueryParameters);
-
-	            // Remove the fragment as it's not sent with a request
-	            uri.fragment = undefined;
-
-	            resource._url = uri.resolve(new URI(getAbsoluteUri(this._url))).toString();
-	        }
-
-	        if (when.defined(options.queryParameters)) {
-	            resource._queryParameters = combine(options.queryParameters, resource._queryParameters);
-	        }
-	        if (when.defined(options.templateValues)) {
-	            resource._templateValues = combine(options.templateValues, resource.templateValues);
-	        }
-	        if (when.defined(options.headers)) {
-	            resource.headers = combine(options.headers, resource.headers);
-	        }
-	        if (when.defined(options.proxy)) {
-	            resource.proxy = options.proxy;
-	        }
-	        if (when.defined(options.request)) {
-	            resource.request = options.request;
-	        }
-	        if (when.defined(options.retryCallback)) {
-	            resource.retryCallback = options.retryCallback;
-	        }
-	        if (when.defined(options.retryAttempts)) {
-	            resource.retryAttempts = options.retryAttempts;
-	        }
-
-	        return resource;
-	    };
-
-	    /**
-	     * Called when a resource fails to load. This will call the retryCallback function if defined until retryAttempts is reached.
-	     *
-	     * @param {Error} [error] The error that was encountered.
-	     *
-	     * @returns {Promise<Boolean>} A promise to a boolean, that if true will cause the resource request to be retried.
-	     *
-	     * @private
-	     */
-	    Resource.prototype.retryOnError = function(error) {
-	        var retryCallback = this.retryCallback;
-	        if ((typeof retryCallback !== 'function') || (this._retryCount >= this.retryAttempts)) {
-	            return when.when(false);
-	        }
-
-	        var that = this;
-	        return when.when(retryCallback(this, error))
-	            .then(function(result) {
-	                ++that._retryCount;
-
-	                return result;
-	            });
-	    };
-
-	    /**
-	     * Duplicates a Resource instance.
-	     *
-	     * @param {Resource} [result] The object onto which to store the result.
-	     *
-	     * @returns {Resource} The modified result parameter or a new Resource instance if one was not provided.
-	     */
-	    Resource.prototype.clone = function(result) {
-	        if (!when.defined(result)) {
-	            result = new Resource({
-	                url : this._url
-	            });
-	        }
-
-	        result._url = this._url;
-	        result._queryParameters = clone(this._queryParameters);
-	        result._templateValues = clone(this._templateValues);
-	        result.headers = clone(this.headers);
-	        result.proxy = this.proxy;
-	        result.retryCallback = this.retryCallback;
-	        result.retryAttempts = this.retryAttempts;
-	        result._retryCount = 0;
-	        result.request = this.request.clone();
-
-	        return result;
-	    };
-
-	    /**
-	     * Returns the base path of the Resource.
-	     *
-	     * @param {Boolean} [includeQuery = false] Whether or not to include the query string and fragment form the uri
-	     *
-	     * @returns {String} The base URI of the resource
-	     */
-	    Resource.prototype.getBaseUri = function(includeQuery) {
-	        return getBaseUri(this.getUrlComponent(includeQuery), includeQuery);
-	    };
-
-	    /**
-	     * Appends a forward slash to the URL.
-	     */
-	    Resource.prototype.appendForwardSlash = function() {
-	        this._url = appendForwardSlash(this._url);
-	    };
-
-	    /**
-	     * Asynchronously loads the resource as raw binary data.  Returns a promise that will resolve to
-	     * an ArrayBuffer once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
-	     *
-	     * @returns {Promise.<ArrayBuffer>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     * @example
-	     * // load a single URL asynchronously
-	     * resource.fetchArrayBuffer().then(function(arrayBuffer) {
-	     *     // use the data
-	     * }).otherwise(function(error) {
-	     *     // an error occurred
-	     * });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.fetchArrayBuffer = function () {
-	        return this.fetch({
-	            responseType : 'arraybuffer'
-	        });
-	    };
-
-	    /**
-	     * Creates a Resource and calls fetchArrayBuffer() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @returns {Promise.<ArrayBuffer>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.fetchArrayBuffer = function (options) {
-	        var resource = new Resource(options);
-	        return resource.fetchArrayBuffer();
-	    };
-
-	    /**
-	     * Asynchronously loads the given resource as a blob.  Returns a promise that will resolve to
-	     * a Blob once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
-	     *
-	     * @returns {Promise.<Blob>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     * @example
-	     * // load a single URL asynchronously
-	     * resource.fetchBlob().then(function(blob) {
-	     *     // use the data
-	     * }).otherwise(function(error) {
-	     *     // an error occurred
-	     * });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.fetchBlob = function () {
-	        return this.fetch({
-	            responseType : 'blob'
-	        });
-	    };
-
-	    /**
-	     * Creates a Resource and calls fetchBlob() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @returns {Promise.<Blob>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.fetchBlob = function (options) {
-	        var resource = new Resource(options);
-	        return resource.fetchBlob();
-	    };
-
-	    /**
-	     * Asynchronously loads the given image resource.  Returns a promise that will resolve to
-	     * an {@link https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap|ImageBitmap} if <code>preferImageBitmap</code> is true and the browser supports <code>createImageBitmap</code> or otherwise an
-	     * {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement|Image} once loaded, or reject if the image failed to load.
-	     *
-	     * @param {Object} [options] An object with the following properties.
-	     * @param {Boolean} [options.preferBlob=false] If true, we will load the image via a blob.
-	     * @param {Boolean} [options.preferImageBitmap=false] If true, image will be decoded during fetch and an <code>ImageBitmap</code> is returned.
-	     * @param {Boolean} [options.flipY=false] If true, image will be vertically flipped during decode. Only applies if the browser supports <code>createImageBitmap</code>.
-	     * @returns {Promise.<ImageBitmap>|Promise.<Image>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * // load a single image asynchronously
-	     * resource.fetchImage().then(function(image) {
-	     *     // use the loaded image
-	     * }).otherwise(function(error) {
-	     *     // an error occurred
-	     * });
-	     *
-	     * // load several images in parallel
-	     * when.all([resource1.fetchImage(), resource2.fetchImage()]).then(function(images) {
-	     *     // images is an array containing all the loaded images
-	     * });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.fetchImage = function (options) {
-	        options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-	        var preferImageBitmap = when.defaultValue(options.preferImageBitmap, false);
-	        var preferBlob = when.defaultValue(options.preferBlob, false);
-	        var flipY = when.defaultValue(options.flipY, false);
-
-	        checkAndResetRequest(this.request);
-
-	        // We try to load the image normally if
-	        // 1. Blobs aren't supported
-	        // 2. It's a data URI
-	        // 3. It's a blob URI
-	        // 4. It doesn't have request headers and we preferBlob is false
-	        if (!xhrBlobSupported || this.isDataUri || this.isBlobUri || (!this.hasHeaders && !preferBlob)) {
-	            return fetchImage({
-	                resource: this,
-	                flipY: flipY,
-	                preferImageBitmap: preferImageBitmap
-	            });
-	        }
-
-	        var blobPromise = this.fetchBlob();
-	        if (!when.defined(blobPromise)) {
-	            return;
-	        }
-
-	        var supportsImageBitmap;
-	        var useImageBitmap;
-	        var generatedBlobResource;
-	        var generatedBlob;
-	        return Resource.supportsImageBitmapOptions()
-	            .then(function(result) {
-	                supportsImageBitmap = result;
-	                useImageBitmap = supportsImageBitmap && preferImageBitmap;
-	                return blobPromise;
-	            })
-	            .then(function(blob) {
-	                if (!when.defined(blob)) {
-	                    return;
-	                }
-	                generatedBlob = blob;
-	                if (useImageBitmap) {
-	                    return Resource.createImageBitmapFromBlob(blob, {
-	                        flipY: flipY,
-	                        premultiplyAlpha: false
-	                    });
-	                }
-	                var blobUrl = window.URL.createObjectURL(blob);
-	                generatedBlobResource = new Resource({
-	                    url: blobUrl
-	                });
-
-	                return fetchImage({
-	                    resource: generatedBlobResource,
-	                    flipY: flipY,
-	                    preferImageBitmap: false
-	                });
-	            })
-	            .then(function(image) {
-	                if (!when.defined(image)) {
-	                    return;
-	                }
-
-	                // The blob object may be needed for use by a TileDiscardPolicy,
-	                // so attach it to the image.
-	                image.blob = generatedBlob;
-
-	                if (useImageBitmap) {
-	                    return image;
-	                }
-
-	                window.URL.revokeObjectURL(generatedBlobResource.url);
-	                return image;
-	            })
-	            .otherwise(function(error) {
-	                if (when.defined(generatedBlobResource)) {
-	                    window.URL.revokeObjectURL(generatedBlobResource.url);
-	                }
-
-	                // If the blob load succeeded but the image decode failed, attach the blob
-	                // to the error object for use by a TileDiscardPolicy.
-	                // In particular, BingMapsImageryProvider uses this to detect the
-	                // zero-length response that is returned when a tile is not available.
-	                error.blob = generatedBlob;
-
-	                return when.when.reject(error);
-	            });
-	    };
-
-	    /**
-	     * Fetches an image and returns a promise to it.
-	     *
-	     * @param {Object} [options] An object with the following properties.
-	     * @param {Resource} [options.resource] Resource object that points to an image to fetch.
-	     * @param {Boolean} [options.preferImageBitmap] If true, image will be decoded during fetch and an <code>ImageBitmap</code> is returned.
-	     * @param {Boolean} [options.flipY] If true, image will be vertically flipped during decode. Only applies if the browser supports <code>createImageBitmap</code>.
-	     *
-	     * @private
-	     */
-	    function fetchImage(options) {
-	        var resource = options.resource;
-	        var flipY = options.flipY;
-	        var preferImageBitmap = options.preferImageBitmap;
-
-	        var request = resource.request;
-	        request.url = resource.url;
-	        request.requestFunction = function() {
-	            var crossOrigin = false;
-
-	            // data URIs can't have crossorigin set.
-	            if (!resource.isDataUri && !resource.isBlobUri) {
-	                crossOrigin = resource.isCrossOriginUrl;
-	            }
-
-	            var deferred = when.when.defer();
-	            Resource._Implementations.createImage(request, crossOrigin, deferred, flipY, preferImageBitmap);
-
-	            return deferred.promise;
-	        };
-
-	        var promise = RequestScheduler.request(request);
-	        if (!when.defined(promise)) {
-	            return;
-	        }
-
-	        return promise
-	            .otherwise(function(e) {
-	                // Don't retry cancelled or otherwise aborted requests
-	                if (request.state !== RequestState$1.FAILED) {
-	                    return when.when.reject(e);
-	                }
-
-	                return resource.retryOnError(e)
-	                    .then(function(retry) {
-	                        if (retry) {
-	                            // Reset request so it can try again
-	                            request.state = RequestState$1.UNISSUED;
-	                            request.deferred = undefined;
-
-	                            return fetchImage({
-	                                resource: resource,
-	                                flipY: flipY,
-	                                preferImageBitmap: preferImageBitmap
-	                            });
-	                        }
-
-	                        return when.when.reject(e);
-	                    });
-	            });
-	    }
-
-	    /**
-	     * Creates a Resource and calls fetchImage() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Boolean} [options.flipY=false] Whether to vertically flip the image during fetch and decode. Only applies when requesting an image and the browser supports <code>createImageBitmap</code>.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @param {Boolean} [options.preferBlob=false]  If true, we will load the image via a blob.
-	     * @param {Boolean} [options.preferImageBitmap=false] If true, image will be decoded during fetch and an <code>ImageBitmap</code> is returned.
-	     * @returns {Promise.<ImageBitmap>|Promise.<Image>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.fetchImage = function (options) {
-	        var resource = new Resource(options);
-	        return resource.fetchImage({
-	            flipY: options.flipY,
-	            preferBlob: options.preferBlob,
-	            preferImageBitmap: options.preferImageBitmap
-	        });
-	    };
-
-	    /**
-	     * Asynchronously loads the given resource as text.  Returns a promise that will resolve to
-	     * a String once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
-	     *
-	     * @returns {Promise.<String>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     * @example
-	     * // load text from a URL, setting a custom header
-	     * var resource = new Resource({
-	     *   url: 'http://someUrl.com/someJson.txt',
-	     *   headers: {
-	     *     'X-Custom-Header' : 'some value'
-	     *   }
-	     * });
-	     * resource.fetchText().then(function(text) {
-	     *     // Do something with the text
-	     * }).otherwise(function(error) {
-	     *     // an error occurred
-	     * });
-	     *
-	     * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest|XMLHttpRequest}
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.fetchText = function() {
-	        return this.fetch({
-	            responseType : 'text'
-	        });
-	    };
-
-	    /**
-	     * Creates a Resource and calls fetchText() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @returns {Promise.<String>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.fetchText = function (options) {
-	        var resource = new Resource(options);
-	        return resource.fetchText();
-	    };
-
-	    // note: &#42;&#47;&#42; below is */* but that ends the comment block early
-	    /**
-	     * Asynchronously loads the given resource as JSON.  Returns a promise that will resolve to
-	     * a JSON object once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. This function
-	     * adds 'Accept: application/json,&#42;&#47;&#42;;q=0.01' to the request headers, if not
-	     * already specified.
-	     *
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * resource.fetchJson().then(function(jsonData) {
-	     *     // Do something with the JSON object
-	     * }).otherwise(function(error) {
-	     *     // an error occurred
-	     * });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.fetchJson = function() {
-	        var promise = this.fetch({
-	            responseType : 'text',
-	            headers: {
-	                Accept : 'application/json,*/*;q=0.01'
-	            }
-	        });
-
-	        if (!when.defined(promise)) {
-	            return undefined;
-	        }
-
-	        return promise
-	            .then(function(value) {
-	                if (!when.defined(value)) {
-	                    return;
-	                }
-	                return JSON.parse(value);
-	            });
-	    };
-
-	    /**
-	     * Creates a Resource and calls fetchJson() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.fetchJson = function (options) {
-	        var resource = new Resource(options);
-	        return resource.fetchJson();
-	    };
-
-	    /**
-	     * Asynchronously loads the given resource as XML.  Returns a promise that will resolve to
-	     * an XML Document once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
-	     *
-	     * @returns {Promise.<XMLDocument>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * // load XML from a URL, setting a custom header
-	     * Cesium.loadXML('http://someUrl.com/someXML.xml', {
-	     *   'X-Custom-Header' : 'some value'
-	     * }).then(function(document) {
-	     *     // Do something with the document
-	     * }).otherwise(function(error) {
-	     *     // an error occurred
-	     * });
-	     *
-	     * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest|XMLHttpRequest}
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.fetchXML = function() {
-	        return this.fetch({
-	            responseType : 'document',
-	            overrideMimeType : 'text/xml'
-	        });
-	    };
-
-	    /**
-	     * Creates a Resource and calls fetchXML() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @returns {Promise.<XMLDocument>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.fetchXML = function (options) {
-	        var resource = new Resource(options);
-	        return resource.fetchXML();
-	    };
-
-	    /**
-	     * Requests a resource using JSONP.
-	     *
-	     * @param {String} [callbackParameterName='callback'] The callback parameter name that the server expects.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * // load a data asynchronously
-	     * resource.fetchJsonp().then(function(data) {
-	     *     // use the loaded data
-	     * }).otherwise(function(error) {
-	     *     // an error occurred
-	     * });
-	     *
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.fetchJsonp = function(callbackParameterName) {
-	        callbackParameterName = when.defaultValue(callbackParameterName, 'callback');
-
-	        checkAndResetRequest(this.request);
-
-	        //generate a unique function name
-	        var functionName;
-	        do {
-	            functionName = 'loadJsonp' + Math.random().toString().substring(2, 8);
-	        } while (when.defined(window[functionName]));
-
-	        return fetchJsonp(this, callbackParameterName, functionName);
-	    };
-
-	    function fetchJsonp(resource, callbackParameterName, functionName) {
-	        var callbackQuery = {};
-	        callbackQuery[callbackParameterName] = functionName;
-	        resource.setQueryParameters(callbackQuery);
-
-	        var request = resource.request;
-	        request.url = resource.url;
-	        request.requestFunction = function() {
-	            var deferred = when.when.defer();
-
-	            //assign a function with that name in the global scope
-	            window[functionName] = function(data) {
-	                deferred.resolve(data);
-
-	                try {
-	                    delete window[functionName];
-	                } catch (e) {
-	                    window[functionName] = undefined;
-	                }
-	            };
-
-	            Resource._Implementations.loadAndExecuteScript(resource.url, functionName, deferred);
-	            return deferred.promise;
-	        };
-
-	        var promise = RequestScheduler.request(request);
-	        if (!when.defined(promise)) {
-	            return;
-	        }
-
-	        return promise
-	            .otherwise(function(e) {
-	                if (request.state !== RequestState$1.FAILED) {
-	                    return when.when.reject(e);
-	                }
-
-	                return resource.retryOnError(e)
-	                    .then(function(retry) {
-	                        if (retry) {
-	                            // Reset request so it can try again
-	                            request.state = RequestState$1.UNISSUED;
-	                            request.deferred = undefined;
-
-	                            return fetchJsonp(resource, callbackParameterName, functionName);
-	                        }
-
-	                        return when.when.reject(e);
-	                    });
-	            });
-	    }
-
-	    /**
-	     * Creates a Resource from a URL and calls fetchJsonp() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @param {String} [options.callbackParameterName='callback'] The callback parameter name that the server expects.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.fetchJsonp = function (options) {
-	        var resource = new Resource(options);
-	        return resource.fetchJsonp(options.callbackParameterName);
-	    };
-
-	    /**
-	     * @private
-	     */
-	    Resource.prototype._makeRequest = function(options) {
-	        var resource = this;
-	        checkAndResetRequest(resource.request);
-
-	        var request = resource.request;
-	        request.url = resource.url;
-
-	        request.requestFunction = function(url) {
-	            var responseType = options.responseType;
-	            var headers = combine(options.headers, resource.headers);
-	            var overrideMimeType = options.overrideMimeType;
-	            var method = options.method;
-	            var data = options.data;
-	            var deferred = when.when.defer();
-	            var newUrl = when.defined(url) ? url : resource.url;
-	            var xhr = Resource._Implementations.loadWithXhr(newUrl, responseType, method, data, headers, deferred, overrideMimeType);
-	            if (when.defined(xhr) && when.defined(xhr.abort)) {
-	                request.cancelFunction = function() {
-	                    xhr.abort();
-	                };
-	            }
-	            return deferred.promise;
-	        };
-
-	        var promise = RequestScheduler.request(request);
-	        if (!when.defined(promise)) {
-	            return;
-	        }
-
-	        return promise
-	            .then(function(data) {
-	                return data;
-	            })
-	            .otherwise(function(e) {
-	                if (request.state !== RequestState$1.FAILED) {
-	                    return when.when.reject(e);
-	                }
-
-	                return resource.retryOnError(e)
-	                    .then(function(retry) {
-	                        if (retry) {
-	                            // Reset request so it can try again
-	                            request.state = RequestState$1.UNISSUED;
-	                            request.deferred = undefined;
-
-	                            return resource.fetch(options);
-	                        }
-
-	                        return when.when.reject(e);
-	                    });
-	            });
-	    };
-
-	    var dataUriRegex$1 = /^data:(.*?)(;base64)?,(.*)$/;
-
-	    function decodeDataUriText(isBase64, data) {
-	        var result = decodeURIComponent(data);
-	        if (isBase64) {
-	            return atob(result);
-	        }
-	        return result;
-	    }
-
-	    function decodeDataUriArrayBuffer(isBase64, data) {
-	        var byteString = decodeDataUriText(isBase64, data);
-	        var buffer = new ArrayBuffer(byteString.length);
-	        var view = new Uint8Array(buffer);
-	        for (var i = 0; i < byteString.length; i++) {
-	            view[i] = byteString.charCodeAt(i);
-	        }
-	        return buffer;
-	    }
-
-	    function decodeDataUri(dataUriRegexResult, responseType) {
-	        responseType = when.defaultValue(responseType, '');
-	        var mimeType = dataUriRegexResult[1];
-	        var isBase64 = !!dataUriRegexResult[2];
-	        var data = dataUriRegexResult[3];
-
-	        switch (responseType) {
-	            case '':
-	            case 'text':
-	                return decodeDataUriText(isBase64, data);
-	            case 'arraybuffer':
-	                return decodeDataUriArrayBuffer(isBase64, data);
-	            case 'blob':
-	                var buffer = decodeDataUriArrayBuffer(isBase64, data);
-	                return new Blob([buffer], {
-	                    type : mimeType
-	                });
-	            case 'document':
-	                var parser = new DOMParser();
-	                return parser.parseFromString(decodeDataUriText(isBase64, data), mimeType);
-	            case 'json':
-	                return JSON.parse(decodeDataUriText(isBase64, data));
-	            default:
-	                //>>includeStart('debug', pragmas.debug);
-	                throw new Check.DeveloperError('Unhandled responseType: ' + responseType);
-	            //>>includeEnd('debug');
-	        }
-	    }
-
-	    /**
-	     * Asynchronously loads the given resource.  Returns a promise that will resolve to
-	     * the result once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. It's recommended that you use
-	     * the more specific functions eg. fetchJson, fetchBlob, etc.
-	     *
-	     * @param {Object} [options] Object with the following properties:
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {Object} [options.headers] Additional HTTP headers to send with the request, if any.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * resource.fetch()
-	     *   .then(function(body) {
-	     *       // use the data
-	     *   }).otherwise(function(error) {
-	     *       // an error occurred
-	     *   });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.fetch = function(options) {
-	        options = defaultClone(options, {});
-	        options.method = 'GET';
-
-	        return this._makeRequest(options);
-	    };
-
-	    /**
-	     * Creates a Resource from a URL and calls fetch() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.fetch = function (options) {
-	        var resource = new Resource(options);
-	        return resource.fetch({
-	            // Make copy of just the needed fields because headers can be passed to both the constructor and to fetch
-	            responseType: options.responseType,
-	            overrideMimeType: options.overrideMimeType
-	        });
-	    };
-
-	    /**
-	     * Asynchronously deletes the given resource.  Returns a promise that will resolve to
-	     * the result once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
-	     *
-	     * @param {Object} [options] Object with the following properties:
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {Object} [options.headers] Additional HTTP headers to send with the request, if any.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * resource.delete()
-	     *   .then(function(body) {
-	     *       // use the data
-	     *   }).otherwise(function(error) {
-	     *       // an error occurred
-	     *   });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.delete = function(options) {
-	        options = defaultClone(options, {});
-	        options.method = 'DELETE';
-
-	        return this._makeRequest(options);
-	    };
-
-	    /**
-	     * Creates a Resource from a URL and calls delete() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.data] Data that is posted with the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.delete = function (options) {
-	        var resource = new Resource(options);
-	        return resource.delete({
-	            // Make copy of just the needed fields because headers can be passed to both the constructor and to fetch
-	            responseType: options.responseType,
-	            overrideMimeType: options.overrideMimeType,
-	            data: options.data
-	        });
-	    };
-
-	    /**
-	     * Asynchronously gets headers the given resource.  Returns a promise that will resolve to
-	     * the result once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
-	     *
-	     * @param {Object} [options] Object with the following properties:
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {Object} [options.headers] Additional HTTP headers to send with the request, if any.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * resource.head()
-	     *   .then(function(headers) {
-	     *       // use the data
-	     *   }).otherwise(function(error) {
-	     *       // an error occurred
-	     *   });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.head = function(options) {
-	        options = defaultClone(options, {});
-	        options.method = 'HEAD';
-
-	        return this._makeRequest(options);
-	    };
-
-	    /**
-	     * Creates a Resource from a URL and calls head() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.head = function (options) {
-	        var resource = new Resource(options);
-	        return resource.head({
-	            // Make copy of just the needed fields because headers can be passed to both the constructor and to fetch
-	            responseType: options.responseType,
-	            overrideMimeType: options.overrideMimeType
-	        });
-	    };
-
-	    /**
-	     * Asynchronously gets options the given resource.  Returns a promise that will resolve to
-	     * the result once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
-	     *
-	     * @param {Object} [options] Object with the following properties:
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {Object} [options.headers] Additional HTTP headers to send with the request, if any.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * resource.options()
-	     *   .then(function(headers) {
-	     *       // use the data
-	     *   }).otherwise(function(error) {
-	     *       // an error occurred
-	     *   });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.options = function(options) {
-	        options = defaultClone(options, {});
-	        options.method = 'OPTIONS';
-
-	        return this._makeRequest(options);
-	    };
-
-	    /**
-	     * Creates a Resource from a URL and calls options() on it.
-	     *
-	     * @param {String|Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.options = function (options) {
-	        var resource = new Resource(options);
-	        return resource.options({
-	            // Make copy of just the needed fields because headers can be passed to both the constructor and to fetch
-	            responseType: options.responseType,
-	            overrideMimeType: options.overrideMimeType
-	        });
-	    };
-
-	    /**
-	     * Asynchronously posts data to the given resource.  Returns a promise that will resolve to
-	     * the result once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
-	     *
-	     * @param {Object} data Data that is posted with the resource.
-	     * @param {Object} [options] Object with the following properties:
-	     * @param {Object} [options.data] Data that is posted with the resource.
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {Object} [options.headers] Additional HTTP headers to send with the request, if any.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * resource.post(data)
-	     *   .then(function(result) {
-	     *       // use the result
-	     *   }).otherwise(function(error) {
-	     *       // an error occurred
-	     *   });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.post = function(data, options) {
-	        Check.Check.defined('data', data);
-
-	        options = defaultClone(options, {});
-	        options.method = 'POST';
-	        options.data = data;
-
-	        return this._makeRequest(options);
-	    };
-
-	    /**
-	     * Creates a Resource from a URL and calls post() on it.
-	     *
-	     * @param {Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} options.data Data that is posted with the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.post = function (options) {
-	        var resource = new Resource(options);
-	        return resource.post(options.data, {
-	            // Make copy of just the needed fields because headers can be passed to both the constructor and to post
-	            responseType: options.responseType,
-	            overrideMimeType: options.overrideMimeType
-	        });
-	    };
-
-	    /**
-	     * Asynchronously puts data to the given resource.  Returns a promise that will resolve to
-	     * the result once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
-	     *
-	     * @param {Object} data Data that is posted with the resource.
-	     * @param {Object} [options] Object with the following properties:
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {Object} [options.headers] Additional HTTP headers to send with the request, if any.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * resource.put(data)
-	     *   .then(function(result) {
-	     *       // use the result
-	     *   }).otherwise(function(error) {
-	     *       // an error occurred
-	     *   });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.put = function(data, options) {
-	        Check.Check.defined('data', data);
-
-	        options = defaultClone(options, {});
-	        options.method = 'PUT';
-	        options.data = data;
-
-	        return this._makeRequest(options);
-	    };
-
-	    /**
-	     * Creates a Resource from a URL and calls put() on it.
-	     *
-	     * @param {Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} options.data Data that is posted with the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.put = function (options) {
-	        var resource = new Resource(options);
-	        return resource.put(options.data, {
-	            // Make copy of just the needed fields because headers can be passed to both the constructor and to post
-	            responseType: options.responseType,
-	            overrideMimeType: options.overrideMimeType
-	        });
-	    };
-
-	    /**
-	     * Asynchronously patches data to the given resource.  Returns a promise that will resolve to
-	     * the result once loaded, or reject if the resource failed to load.  The data is loaded
-	     * using XMLHttpRequest, which means that in order to make requests to another origin,
-	     * the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
-	     *
-	     * @param {Object} data Data that is posted with the resource.
-	     * @param {Object} [options] Object with the following properties:
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {Object} [options.headers] Additional HTTP headers to send with the request, if any.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     *
-	     *
-	     * @example
-	     * resource.patch(data)
-	     *   .then(function(result) {
-	     *       // use the result
-	     *   }).otherwise(function(error) {
-	     *       // an error occurred
-	     *   });
-	     *
-	     * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
-	     * @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
-	     */
-	    Resource.prototype.patch = function(data, options) {
-	        Check.Check.defined('data', data);
-
-	        options = defaultClone(options, {});
-	        options.method = 'PATCH';
-	        options.data = data;
-
-	        return this._makeRequest(options);
-	    };
-
-	    /**
-	     * Creates a Resource from a URL and calls patch() on it.
-	     *
-	     * @param {Object} options A url or an object with the following properties
-	     * @param {String} options.url The url of the resource.
-	     * @param {Object} options.data Data that is posted with the resource.
-	     * @param {Object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
-	     * @param {Object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
-	     * @param {Object} [options.headers={}] Additional HTTP headers that will be sent.
-	     * @param {DefaultProxy} [options.proxy] A proxy to be used when loading the resource.
-	     * @param {Resource~RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
-	     * @param {Number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
-	     * @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
-	     * @param {String} [options.responseType] The type of response.  This controls the type of item returned.
-	     * @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server.
-	     * @returns {Promise.<Object>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
-	     */
-	    Resource.patch = function (options) {
-	        var resource = new Resource(options);
-	        return resource.patch(options.data, {
-	            // Make copy of just the needed fields because headers can be passed to both the constructor and to post
-	            responseType: options.responseType,
-	            overrideMimeType: options.overrideMimeType
-	        });
-	    };
-
-	    /**
-	     * Contains implementations of functions that can be replaced for testing
-	     *
-	     * @private
-	     */
-	    Resource._Implementations = {};
-
-	    function loadImageElement(url, crossOrigin, deferred) {
-	        var image = new Image();
-
-	        image.onload = function() {
-	            deferred.resolve(image);
-	        };
-
-	        image.onerror = function(e) {
-	            deferred.reject(e);
-	        };
-
-	        if (crossOrigin) {
-	            if (TrustedServers.contains(url)) {
-	                image.crossOrigin = 'use-credentials';
-	            } else {
-	                image.crossOrigin = '';
-	            }
-	        }
-
-	        image.src = url;
-	    }
-
-	    Resource._Implementations.createImage = function(request, crossOrigin, deferred, flipY, preferImageBitmap) {
-	        var url = request.url;
-	        // Passing an Image to createImageBitmap will force it to run on the main thread
-	        // since DOM elements don't exist on workers. We convert it to a blob so it's non-blocking.
-	        // See:
-	        //    https://bugzilla.mozilla.org/show_bug.cgi?id=1044102#c38
-	        //    https://bugs.chromium.org/p/chromium/issues/detail?id=580202#c10
-	        Resource.supportsImageBitmapOptions()
-	            .then(function(supportsImageBitmap) {
-	                // We can only use ImageBitmap if we can flip on decode.
-	                // See: https://github.com/CesiumGS/cesium/pull/7579#issuecomment-466146898
-	                if (!(supportsImageBitmap && preferImageBitmap)) {
-	                    loadImageElement(url, crossOrigin, deferred);
-	                    return;
-	                }
-	                var responseType = 'blob';
-	                var method = 'GET';
-	                var xhrDeferred = when.when.defer();
-	                var xhr = Resource._Implementations.loadWithXhr(
-	                    url,
-	                    responseType,
-	                    method,
-	                    undefined,
-	                    undefined,
-	                    xhrDeferred,
-	                    undefined,
-	                    undefined,
-	                    undefined
-	                );
-
-	                if (when.defined(xhr) && when.defined(xhr.abort)) {
-	                    request.cancelFunction = function() {
-	                        xhr.abort();
-	                    };
-	                }
-	                return xhrDeferred.promise.then(function(blob) {
-	                    if (!when.defined(blob)) {
-	                        deferred.reject(new RuntimeError.RuntimeError('Successfully retrieved ' + url + ' but it contained no content.'));
-	                        return;
-	                    }
-
-	                    return Resource.createImageBitmapFromBlob(blob, {
-	                        flipY: flipY,
-	                        premultiplyAlpha: false
-	                    });
-	                }).then(deferred.resolve);
-	            })
-	            .otherwise(deferred.reject);
-	    };
-
-	    /**
-	     * Wrapper for createImageBitmap
-	     *
-	     * @private
-	     */
-	    Resource.createImageBitmapFromBlob = function(blob, options) {
-	        Check.Check.defined('options', options);
-	        Check.Check.typeOf.bool('options.flipY', options.flipY);
-	        Check.Check.typeOf.bool('options.premultiplyAlpha', options.premultiplyAlpha);
-
-	        return createImageBitmap(blob, {
-	            imageOrientation: options.flipY ? 'flipY' : 'none',
-	            premultiplyAlpha: options.premultiplyAlpha ? 'premultiply' : 'none'
-	        });
-	    };
-
-	    function decodeResponse(loadWithHttpResponse, responseType) {
-	        switch (responseType) {
-	          case 'text':
-	              return loadWithHttpResponse.toString('utf8');
-	          case 'json':
-	              return JSON.parse(loadWithHttpResponse.toString('utf8'));
-	          default:
-	              return new Uint8Array(loadWithHttpResponse).buffer;
-	        }
-	    }
-
-	    function loadWithHttpRequest(url, responseType, method, data, headers, deferred, overrideMimeType) {
-	        // Note: only the 'json' and 'text' responseTypes transforms the loaded buffer
-	        var URL = require('url').parse(url); // eslint-disable-line
-	        var http = URL.protocol === 'https:' ? require('https') : require('http'); // eslint-disable-line
-	        var zlib = require('zlib'); // eslint-disable-line
-	        var options = {
-	            protocol : URL.protocol,
-	            hostname : URL.hostname,
-	            port : URL.port,
-	            path : URL.path,
-	            query : URL.query,
-	            method : method,
-	            headers : headers
-	        };
-
-	        http.request(options)
-	            .on('response', function(res) {
-	                if (res.statusCode < 200 || res.statusCode >= 300) {
-	                    deferred.reject(new RequestErrorEvent(res.statusCode, res, res.headers));
-	                    return;
-	                }
-
-	                var chunkArray = [];
-	                res.on('data', function(chunk) {
-	                    chunkArray.push(chunk);
-	                });
-
-	                res.on('end', function() {
-	                    var result = Buffer.concat(chunkArray); // eslint-disable-line
-	                    if (res.headers['content-encoding'] === 'gzip') {
-	                        zlib.gunzip(result, function(error, resultUnzipped) {
-	                            if (error) {
-	                                deferred.reject(new RuntimeError.RuntimeError('Error decompressing response.'));
-	                            } else {
-	                                deferred.resolve(decodeResponse(resultUnzipped, responseType));
-	                            }
-	                        });
-	                    } else {
-	                        deferred.resolve(decodeResponse(result, responseType));
-	                    }
-	                });
-	            }).on('error', function(e) {
-	                deferred.reject(new RequestErrorEvent());
-	            }).end();
-	    }
-
-	    var noXMLHttpRequest = typeof XMLHttpRequest === 'undefined';
-	    Resource._Implementations.loadWithXhr = function(url, responseType, method, data, headers, deferred, overrideMimeType) {
-	        var dataUriRegexResult = dataUriRegex$1.exec(url);
-	        if (dataUriRegexResult !== null) {
-	            deferred.resolve(decodeDataUri(dataUriRegexResult, responseType));
-	            return;
-	        }
-
-	        if (noXMLHttpRequest) {
-	            loadWithHttpRequest(url, responseType, method, data, headers, deferred);
-	            return;
-	        }
-
-	        var xhr = new XMLHttpRequest();
-
-	        if (TrustedServers.contains(url)) {
-	            xhr.withCredentials = true;
-	        }
-
-	        url = url.replace(/{/g, '%7B').replace(/}/g, '%7D');
-	        xhr.open(method, url, true);
-
-	        if (when.defined(overrideMimeType) && when.defined(xhr.overrideMimeType)) {
-	            xhr.overrideMimeType(overrideMimeType);
-	        }
-
-	        if (when.defined(headers)) {
-	            for (var key in headers) {
-	                if (headers.hasOwnProperty(key)) {
-	                    xhr.setRequestHeader(key, headers[key]);
-	                }
-	            }
-	        }
-
-	        if (when.defined(responseType)) {
-	            xhr.responseType = responseType;
-	        }
-
-	        // While non-standard, file protocol always returns a status of 0 on success
-	        var localFile = false;
-	        if (typeof url === 'string') {
-	            localFile = (url.indexOf('file://') === 0) || (typeof window !== 'undefined' && window.location.origin === 'file://');
-	        }
-
-	        xhr.onload = function() {
-	            if ((xhr.status < 200 || xhr.status >= 300) && !(localFile && xhr.status === 0)) {
-	                deferred.reject(new RequestErrorEvent(xhr.status, xhr.response, xhr.getAllResponseHeaders()));
-	                return;
-	            }
-
-	            var response = xhr.response;
-	            var browserResponseType = xhr.responseType;
-
-	            if (method === 'HEAD' || method === 'OPTIONS') {
-	                var responseHeaderString = xhr.getAllResponseHeaders();
-	                var splitHeaders = responseHeaderString.trim().split(/[\r\n]+/);
-
-	                var responseHeaders = {};
-	                splitHeaders.forEach(function (line) {
-	                    var parts = line.split(': ');
-	                    var header = parts.shift();
-	                    responseHeaders[header] = parts.join(': ');
-	                });
-
-	                deferred.resolve(responseHeaders);
-	                return;
-	            }
-
-	            //All modern browsers will go into either the first or second if block or last else block.
-	            //Other code paths support older browsers that either do not support the supplied responseType
-	            //or do not support the xhr.response property.
-	            if (xhr.status === 204) {
-	                // accept no content
-	                deferred.resolve();
-	            } else if (when.defined(response) && (!when.defined(responseType) || (browserResponseType === responseType))) {
-	                deferred.resolve(response);
-	            } else if ((responseType === 'json') && typeof response === 'string') {
-	                try {
-	                    deferred.resolve(JSON.parse(response));
-	                } catch (e) {
-	                    deferred.reject(e);
-	                }
-	            } else if ((browserResponseType === '' || browserResponseType === 'document') && when.defined(xhr.responseXML) && xhr.responseXML.hasChildNodes()) {
-	                deferred.resolve(xhr.responseXML);
-	            } else if ((browserResponseType === '' || browserResponseType === 'text') && when.defined(xhr.responseText)) {
-	                deferred.resolve(xhr.responseText);
-	            } else {
-	                deferred.reject(new RuntimeError.RuntimeError('Invalid XMLHttpRequest response type.'));
-	            }
-	        };
-
-	        xhr.onerror = function(e) {
-	            deferred.reject(new RequestErrorEvent());
-	        };
-
-	        xhr.send(data);
-
-	        return xhr;
-	    };
-
-	    Resource._Implementations.loadAndExecuteScript = function(url, functionName, deferred) {
-	        return loadAndExecuteScript(url).otherwise(deferred.reject);
-	    };
-
-	    /**
-	     * The default implementations
-	     *
-	     * @private
-	     */
-	    Resource._DefaultImplementations = {};
-	    Resource._DefaultImplementations.createImage = Resource._Implementations.createImage;
-	    Resource._DefaultImplementations.loadWithXhr = Resource._Implementations.loadWithXhr;
-	    Resource._DefaultImplementations.loadAndExecuteScript = Resource._Implementations.loadAndExecuteScript;
-
-	    /**
-	     * A resource instance initialized to the current browser location
-	     *
-	     * @type {Resource}
-	     * @constant
-	     */
-	    Resource.DEFAULT = Object.freeze(new Resource({
-	        url: (typeof document === 'undefined') ? '' : document.location.href.split('?')[0]
-	    }));
-
-	/*global CESIUM_BASE_URL*/
-
-	    var cesiumScriptRegex = /((?:.*\/)|^)Cesium\.js$/;
-	    function getBaseUrlFromCesiumScript() {
-	        var scripts = document.getElementsByTagName('script');
-	        for ( var i = 0, len = scripts.length; i < len; ++i) {
-	            var src = scripts[i].getAttribute('src');
-	            var result = cesiumScriptRegex.exec(src);
-	            if (result !== null) {
-	                return result[1];
-	            }
-	        }
-	        return undefined;
-	    }
-
-	    var a$1;
-	    function tryMakeAbsolute(url) {
-	        if (typeof document === 'undefined') {
-	            //Node.js and Web Workers. In both cases, the URL will already be absolute.
-	            return url;
-	        }
-
-	        if (!when.defined(a$1)) {
-	            a$1 = document.createElement('a');
-	        }
-	        a$1.href = url;
-
-	        // IE only absolutizes href on get, not set
-	        a$1.href = a$1.href; // eslint-disable-line no-self-assign
-	        return a$1.href;
-	    }
-
-	    var baseResource;
-	    function getCesiumBaseUrl() {
-	        if (when.defined(baseResource)) {
-	            return baseResource;
-	        }
-
-	        var baseUrlString;
-	        if (typeof CESIUM_BASE_URL !== 'undefined') {
-	            baseUrlString = CESIUM_BASE_URL;
-	        } else if (typeof define === 'object' && when.defined(define.amd) && !define.amd.toUrlUndefined && when.defined(require.toUrl)) {
-	            baseUrlString = getAbsoluteUri('..', buildModuleUrl('Core/buildModuleUrl.js'));
-	        } else {
-	            baseUrlString = getBaseUrlFromCesiumScript();
-	        }
-
-	        //>>includeStart('debug', pragmas.debug);
-	        if (!when.defined(baseUrlString)) {
-	            throw new Check.DeveloperError('Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.');
-	        }
-	        //>>includeEnd('debug');
-
-	        baseResource = new Resource({
-	            url: tryMakeAbsolute(baseUrlString)
-	        });
-	        baseResource.appendForwardSlash();
-
-	        return baseResource;
-	    }
-
-	    function buildModuleUrlFromRequireToUrl(moduleID) {
-	        //moduleID will be non-relative, so require it relative to this module, in Core.
-	        return tryMakeAbsolute(require.toUrl('../' + moduleID));
-	    }
-
-	    function buildModuleUrlFromBaseUrl(moduleID) {
-	        var resource = getCesiumBaseUrl().getDerivedResource({
-	            url: moduleID
-	        });
-	        return resource.url;
-	    }
-
-	    var implementation;
-
-	    /**
-	     * Given a non-relative moduleID, returns an absolute URL to the file represented by that module ID,
-	     * using, in order of preference, require.toUrl, the value of a global CESIUM_BASE_URL, or
-	     * the base URL of the Cesium.js script.
-	     *
-	     * @private
-	     */
-	    function buildModuleUrl(moduleID) {
-	        if (!when.defined(implementation)) {
-	            //select implementation
-	            if (typeof define === 'object' && when.defined(define.amd) && !define.amd.toUrlUndefined && when.defined(require.toUrl)) {
-	                implementation = buildModuleUrlFromRequireToUrl;
-	            } else {
-	                implementation = buildModuleUrlFromBaseUrl;
-	            }
-	        }
-
-	        var url = implementation(moduleID);
-	        return url;
-	    }
-
-	    // exposed for testing
-	    buildModuleUrl._cesiumScriptRegex = cesiumScriptRegex;
-	    buildModuleUrl._buildModuleUrlFromBaseUrl = buildModuleUrlFromBaseUrl;
-	    buildModuleUrl._clearBaseResource = function() {
-	        baseResource = undefined;
-	    };
-
-	    /**
-	     * Sets the base URL for resolving modules.
-	     * @param {String} value The new base URL.
-	     */
-	    buildModuleUrl.setBaseUrl = function(value) {
-	        baseResource = Resource.DEFAULT.getDerivedResource({
-	            url: value
-	        });
-	    };
-
-	    /**
-	     * Gets the base URL for resolving modules.
-	     */
-	    buildModuleUrl.getCesiumBaseUrl = getCesiumBaseUrl;
-
-	exports.Resource = Resource;
-	exports.buildModuleUrl = buildModuleUrl;
-	exports.oneTimeWarning = oneTimeWarning;
-
-});
diff --git a/libs/supermap/Workers/cesiumWorkerBootstrapper.js b/libs/supermap/Workers/cesiumWorkerBootstrapper.js
deleted file mode 100644
index 631109f..0000000
--- a/libs/supermap/Workers/cesiumWorkerBootstrapper.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-function setTimeout(e){e()}var requirejs,require,define;"undefined"==typeof self&&(self={}),self.onmessage=function(e){var t=e.data;require(t.loaderConfig,[t.workerModule],function(e){self.onmessage=e,CESIUM_BASE_URL=t.loaderConfig.baseUrl})},function(global){var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.1.20",commentRegExp=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,ap=Array.prototype,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){var i;if(e)for(i=0;i<e.length&&(!e[i]||!t(e[i],i,e));i+=1);}function eachReverse(e,t){var i;if(e)for(i=e.length-1;-1<i&&(!e[i]||!t(e[i],i,e));i-=1);}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(i,e,r,n){return e&&eachProp(e,function(e,t){!r&&hasProp(i,t)||(!n||"object"!=typeof e||!e||isArray(e)||isFunction(e)||e instanceof RegExp?i[t]=e:(i[t]||(i[t]={}),mixin(i[t],e,r,n)))}),i}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=global;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,i,r){var n=new Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e);return n.requireType=e,n.requireModules=r,i&&(n.originalError=i),n}if(void 0===define){if(void 0!==requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}void 0===require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,i,r){var n,o,a=defContextName;return isArray(e)||"string"==typeof e||(o=e,isArray(t)?(e=t,t=i,i=r):e=[]),o&&o.context&&(a=o.context),(n=getOwn(contexts,a))||(n=contexts[a]=req.s.newContext(a)),o&&n.configure(o),n.require(e,t,i)},req.config=function(e){return req(e)},req.nextTick=void 0!==setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(t){req[t]=function(){var e=contexts[defContextName];return e.require[t].apply(e,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,i){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(t,i,r){var e,n=t&&t.config||{};if(isBrowser)return e=req.createNode(n,i,r),n.onNodeCreated&&n.onNodeCreated(e,n,i,r),e.setAttribute("data-requirecontext",t.contextName),e.setAttribute("data-requiremodule",i),!e.attachEvent||e.attachEvent.toString&&e.attachEvent.toString().indexOf("[native code")<0||isOpera?(e.addEventListener("load",t.onScriptLoad,!1),e.addEventListener("error",t.onScriptError,!1)):(useInteractive=!0,e.attachEvent("onreadystatechange",t.onScriptLoad)),e.src=r,currentlyAddingScript=e,baseElement?head.insertBefore(e,baseElement):head.appendChild(e),currentlyAddingScript=null,e;if(isWebWorker)try{importScripts(r),t.completeLoad(i)}catch(e){t.onError(makeError("importscripts","importScripts failed for "+i+" at "+r,e,[i]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||(mainScript=(src=mainScript.split("/")).pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,i,t){var r,n;"string"!=typeof e&&(t=i,i=e,e=null),isArray(i)||(t=i,i=null),!i&&isFunction(t)&&(i=[],t.length&&(t.toString().replace(commentRegExp,"").replace(cjsRequireRegExp,function(e,t){i.push(t)}),i=(1===t.length?["require"]:["require","exports","module"]).concat(i))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript())&&(e||(e=r.getAttribute("data-requiremodule")),n=contexts[r.getAttribute("data-requirecontext")]),n?(n.defQueue.push([e,i,t]),n.defQueueMap[e]=!0):globalDefQueue.push([e,i,t])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}function newContext(u){var i,e,l,c,d,g={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},p={},f={},r={},h=[],m={},n={},v={},x=1,b=1;function q(e,t,i){var r,n,o,a,s,u,c,d,p,f,l=t&&t.split("/"),h=g.map,m=h&&h["*"];if(e&&(u=(e=e.split("/")).length-1,g.nodeIdCompat&&jsSuffixRegExp.test(e[u])&&(e[u]=e[u].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&l&&(e=l.slice(0,l.length-1).concat(e)),function(e){var t,i;for(t=0;t<e.length;t++)if("."===(i=e[t]))e.splice(t,1),t-=1;else if(".."===i){if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;0<t&&(e.splice(t-1,2),t-=2)}}(e),e=e.join("/")),i&&h&&(l||m)){e:for(o=(n=e.split("/")).length;0<o;o-=1){if(s=n.slice(0,o).join("/"),l)for(a=l.length;0<a;a-=1)if((r=getOwn(h,l.slice(0,a).join("/")))&&(r=getOwn(r,s))){c=r,d=o;break e}!p&&m&&getOwn(m,s)&&(p=getOwn(m,s),f=o)}!c&&p&&(c=p,d=f),c&&(n.splice(0,d,c),e=n.join("/"))}return getOwn(g.pkgs,e)||e}function E(t){isBrowser&&each(scripts(),function(e){if(e.getAttribute("data-requiremodule")===t&&e.getAttribute("data-requirecontext")===l.contextName)return e.parentNode.removeChild(e),!0})}function w(e){var t=getOwn(g.paths,e);if(t&&isArray(t)&&1<t.length)return t.shift(),l.require.undef(e),l.makeRequire(null,{skipMap:!0})([e]),!0}function y(e){var t,i=e?e.indexOf("!"):-1;return-1<i&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function S(e,t,i,r){var n,o,a,s,u=null,c=t?t.name:null,d=e,p=!0,f="";return e||(p=!1,e="_@r"+(x+=1)),u=(s=y(e))[0],e=s[1],u&&(u=q(u,c,r),o=getOwn(m,u)),e&&(u?f=o&&o.normalize?o.normalize(e,function(e){return q(e,c,r)}):-1===e.indexOf("!")?q(e,c,r):e:(u=(s=y(f=q(e,c,r)))[0],f=s[1],i=!0,n=l.nameToUrl(f))),{prefix:u,name:f,parentMap:t,unnormalized:!!(a=!u||o||i?"":"_unnormalized"+(b+=1)),url:n,originalName:d,isDefine:p,id:(u?u+"!"+f:f)+a}}function k(e){var t=e.id,i=getOwn(p,t);return i||(i=p[t]=new l.Module(e)),i}function M(e,t,i){var r=e.id,n=getOwn(p,r);!hasProp(m,r)||n&&!n.defineEmitComplete?(n=k(e)).error&&"error"===t?i(n.error):n.on(t,i):"defined"===t&&i(m[r])}function O(i,e){var t=i.requireModules,r=!1;e?e(i):(each(t,function(e){var t=getOwn(p,e);t&&(t.error=i,t.events.error&&(r=!0,t.emit("error",i)))}),r||req.onError(i))}function j(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(l.defQueueMap[t]=!0),h.push(e)}),globalDefQueue=[])}function P(e){delete p[e],delete f[e]}function R(){var e,r,t=1e3*g.waitSeconds,n=t&&l.startTime+t<(new Date).getTime(),o=[],a=[],s=!1,u=!0;if(!i){if(i=!0,eachProp(f,function(e){var t=e.map,i=t.id;if(e.enabled&&(t.isDefine||a.push(e),!e.error))if(!e.inited&&n)w(i)?s=r=!0:(o.push(i),E(i));else if(!e.inited&&e.fetched&&t.isDefine&&(s=!0,!t.prefix))return u=!1}),n&&o.length)return(e=makeError("timeout","Load timeout for modules: "+o,null,o)).contextName=l.contextName,O(e);u&&each(a,function(e){!function n(o,a,s){var e=o.map.id;o.error?o.emit("error",o.error):(a[e]=!0,each(o.depMaps,function(e,t){var i=e.id,r=getOwn(p,i);!r||o.depMatched[t]||s[i]||(getOwn(a,i)?(o.defineDep(t,m[i]),o.check()):n(r,a,s))}),s[e]=!0)}(e,{},{})}),n&&!r||!s||!isBrowser&&!isWebWorker||d||(d=setTimeout(function(){d=0,R()},50)),i=!1}}function a(e){hasProp(m,e[0])||k(S(e[0],null,!0)).init(e[1],e[2])}function o(e,t,i,r){e.detachEvent&&!isOpera?r&&e.detachEvent(r,t):e.removeEventListener(i,t,!1)}function s(e){var t=e.currentTarget||e.srcElement;return o(t,l.onScriptLoad,"load","onreadystatechange"),o(t,l.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function A(){var e;for(j();h.length;){if(null===(e=h.shift())[0])return O(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));a(e)}l.defQueueMap={}}return c={require:function(e){return e.require?e.require:e.require=l.makeRequire(e.map)},exports:function(e){if(e.usingExports=!0,e.map.isDefine)return e.exports?m[e.map.id]=e.exports:e.exports=m[e.map.id]={}},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(g.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},(e=function(e){this.events=getOwn(r,e.id)||{},this.map=e,this.shim=getOwn(g.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0}).prototype={init:function(e,t,i,r){r=r||{},this.inited||(this.factory=t,i?this.on("error",i):this.events.error&&(i=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=i,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,l.startTime=(new Date).getTime();var e=this.map;if(!this.shim)return e.prefix?this.callPlugin():this.load();l.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;n[e]||(n[e]=!0,l.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var t,e,i=this.map.id,r=this.depExports,n=this.exports,o=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(o)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{n=l.execCb(i,o,r,n)}catch(e){t=e}else n=l.execCb(i,o,r,n);if(this.map.isDefine&&void 0===n&&((e=this.module)?n=e.exports:this.usingExports&&(n=this.exports)),t)return t.requireMap=this.map,t.requireModules=this.map.isDefine?[this.map.id]:null,t.requireType=this.map.isDefine?"define":"require",O(this.error=t)}else n=o;this.exports=n,this.map.isDefine&&!this.ignore&&(m[i]=n,req.onResourceLoad&&req.onResourceLoad(l,this.map,this.depMaps)),P(i),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(l.defQueueMap,i)||this.fetch()}},callPlugin:function(){var u=this.map,c=u.id,e=S(u.prefix);this.depMaps.push(e),M(e,"defined",bind(this,function(e){var o,t,i,r=getOwn(v,this.map.id),n=this.map.name,a=this.map.parentMap?this.map.parentMap.name:null,s=l.makeRequire(u.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(e.normalize&&(n=e.normalize(n,function(e){return q(e,a,!0)})||""),M(t=S(u.prefix+"!"+n,this.map.parentMap),"defined",bind(this,function(e){this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),void((i=getOwn(p,t.id))&&(this.depMaps.push(t),this.events.error&&i.on("error",bind(this,function(e){this.emit("error",e)})),i.enable()))):r?(this.map.url=l.nameToUrl(r),void this.load()):((o=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})})).error=bind(this,function(e){this.inited=!0,(this.error=e).requireModules=[c],eachProp(p,function(e){0===e.map.id.indexOf(c+"_unnormalized")&&P(e.map.id)}),O(e)}),o.fromText=bind(this,function(e,t){var i=u.name,r=S(i),n=useInteractive;t&&(e=t),n&&(useInteractive=!1),k(r),hasProp(g.config,c)&&(g.config[i]=g.config[c]);try{req.exec(e)}catch(e){return O(makeError("fromtexteval","fromText eval for "+c+" failed: "+e,e,[c]))}n&&(useInteractive=!0),this.depMaps.push(r),l.completeLoad(i),s([i],o)}),void e.load(u.name,s,o,g))})),l.enable(e,this),this.pluginMaps[e.id]=e},enable:function(){(f[this.map.id]=this).enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var i,r,n;if("string"==typeof e){if(e=S(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,n=getOwn(c,e.id))return void(this.depExports[t]=n(this));this.depCount+=1,M(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?M(e,"error",bind(this,this.errback)):this.events.error&&M(e,"error",bind(this,function(e){this.emit("error",e)}))}i=e.id,r=p[i],hasProp(c,i)||!r||r.enabled||l.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(p,e.id);t&&!t.enabled&&l.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var i=this.events[e];i||(i=this.events[e]=[]),i.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},(l={config:g,contextName:u,registry:p,defined:m,urlFetched:n,defQueue:h,defQueueMap:{},Module:e,makeModuleMap:S,nextTick:req.nextTick,onError:O,configure:function(e){e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/");var i=g.shim,r={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){r[t]?(g[t]||(g[t]={}),mixin(g[t],e,!0,!0)):g[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(v[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=l.makeShimExports(e)),i[t]=e}),g.shim=i),e.packages&&each(e.packages,function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(g.paths[t]=e.location),g.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(p,function(e,t){e.inited||e.map.unnormalized||(e.map=S(t,null,!0))}),(e.deps||e.callback)&&l.require(e.deps||[],e.callback)},makeShimExports:function(t){return function(){var e;return t.init&&(e=t.init.apply(global,arguments)),e||t.exports&&getGlobal(t.exports)}},makeRequire:function(o,a){function s(e,t,i){var r,n;return a.enableBuildCallback&&t&&isFunction(t)&&(t.__requireJsBuild=!0),"string"==typeof e?isFunction(t)?O(makeError("requireargs","Invalid require call"),i):o&&hasProp(c,e)?c[e](p[o.id]):req.get?req.get(l,e,o,s):(r=S(e,o,!1,!0).id,hasProp(m,r)?m[r]:O(makeError("notloaded",'Module name "'+r+'" has not been loaded yet for context: '+u+(o?"":". Use require([])")))):(A(),l.nextTick(function(){A(),(n=k(S(null,o))).skipMap=a.skipMap,n.init(e,t,i,{enabled:!0}),R()}),s)}return a=a||{},mixin(s,{isBrowser:isBrowser,toUrl:function(e){var t,i=e.lastIndexOf("."),r=e.split("/")[0];return-1!==i&&(!("."===r||".."===r)||1<i)&&(t=e.substring(i,e.length),e=e.substring(0,i)),l.nameToUrl(q(e,o&&o.id,!0),t,!0)},defined:function(e){return hasProp(m,S(e,o,!1,!0).id)},specified:function(e){return e=S(e,o,!1,!0).id,hasProp(m,e)||hasProp(p,e)}}),o||(s.undef=function(i){j();var e=S(i,o,!0),t=getOwn(p,i);t.undefed=!0,E(i),delete m[i],delete n[e.url],delete r[i],eachReverse(h,function(e,t){e[0]===i&&h.splice(t,1)}),delete l.defQueueMap[i],t&&(t.events.defined&&(r[i]=t.events),P(i))}),s},enable:function(e){getOwn(p,e.id)&&k(e).enable()},completeLoad:function(e){var t,i,r,n=getOwn(g.shim,e)||{},o=n.exports;for(j();h.length;){if(null===(i=h.shift())[0]){if(i[0]=e,t)break;t=!0}else i[0]===e&&(t=!0);a(i)}if(l.defQueueMap={},r=getOwn(p,e),!t&&!hasProp(m,e)&&r&&!r.inited){if(!(!g.enforceDefine||o&&getGlobal(o)))return w(e)?void 0:O(makeError("nodefine","No define call for "+e,null,[e]));a([e,n.deps||[],n.exportsFn])}R()},nameToUrl:function(e,t,i){var r,n,o,a,s,u,c=getOwn(g.pkgs,e);if(c&&(e=c),u=getOwn(v,e))return l.nameToUrl(u,t,i);if(req.jsExtRegExp.test(e))a=e+(t||"");else{for(r=g.paths,o=(n=e.split("/")).length;0<o;o-=1)if(s=getOwn(r,n.slice(0,o).join("/"))){isArray(s)&&(s=s[0]),n.splice(0,o,s);break}a=n.join("/"),a=("/"===(a+=t||(/^data\:|\?/.test(a)||i?"":".js")).charAt(0)||a.match(/^[\w\+\.\-]+:/)?"":g.baseUrl)+a}return g.urlArgs?a+(-1===a.indexOf("?")?"?":"&")+g.urlArgs:a},load:function(e,t){req.load(l,e,t)},execCb:function(e,t,i,r){return t.apply(r,i)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=s(e);l.completeLoad(t.id)}},onScriptError:function(e){var t=s(e);if(!w(t.id))return O(makeError("scripterror","Script error for: "+t.id,e,[t.id]))}}).require=l.makeRequire(),l}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState||eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript}}(this);
\ No newline at end of file
diff --git a/libs/supermap/Workers/combineGeometry.js b/libs/supermap/Workers/combineGeometry.js
deleted file mode 100644
index e528566..0000000
--- a/libs/supermap/Workers/combineGeometry.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './AttributeCompression-50ff7145', './GeometryPipeline-cf04afb6', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './PrimitivePipeline-8dc6083e', './WebMercatorProjection-0391f892', './createTaskProcessorWorker'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, AttributeCompression, GeometryPipeline, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, PrimitivePipeline, WebMercatorProjection, createTaskProcessorWorker) { 'use strict';
-
-    function combineGeometry(packedParameters, transferableObjects) {
-        var parameters = PrimitivePipeline.PrimitivePipeline.unpackCombineGeometryParameters(packedParameters);
-        var results = PrimitivePipeline.PrimitivePipeline.combineGeometry(parameters);
-        return PrimitivePipeline.PrimitivePipeline.packCombineGeometryResults(results, transferableObjects);
-    }
-
-    var combineGeometry$1 = createTaskProcessorWorker(combineGeometry);
-
-    return combineGeometry$1;
-
-});
diff --git a/libs/supermap/Workers/createBoxGeometry.js b/libs/supermap/Workers/createBoxGeometry.js
deleted file mode 100644
index f0be6f0..0000000
--- a/libs/supermap/Workers/createBoxGeometry.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './BoxGeometry-813ff9be'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, GeometryOffsetAttribute, VertexFormat, BoxGeometry) { 'use strict';
-
-    function createBoxGeometry(boxGeometry, offset) {
-        if (when.defined(offset)) {
-            boxGeometry = BoxGeometry.BoxGeometry.unpack(boxGeometry, offset);
-        }
-        return BoxGeometry.BoxGeometry.createGeometry(boxGeometry);
-    }
-
-    return createBoxGeometry;
-
-});
diff --git a/libs/supermap/Workers/createBoxOutlineGeometry.js b/libs/supermap/Workers/createBoxOutlineGeometry.js
deleted file mode 100644
index a890a3b..0000000
--- a/libs/supermap/Workers/createBoxOutlineGeometry.js
+++ /dev/null
@@ -1,321 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './GeometryOffsetAttribute-ca302482'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, GeometryOffsetAttribute) { 'use strict';
-
-    var diffScratch = new Cartesian2.Cartesian3();
-
-        /**
-         * A description of the outline of a cube centered at the origin.
-         *
-         * @alias BoxOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3} options.minimum The minimum x, y, and z coordinates of the box.
-         * @param {Cartesian3} options.maximum The maximum x, y, and z coordinates of the box.
-         *
-         * @see BoxOutlineGeometry.fromDimensions
-         * @see BoxOutlineGeometry.createGeometry
-         * @see Packable
-         *
-         * @example
-         * var box = new Cesium.BoxOutlineGeometry({
-         *   maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0),
-         *   minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0)
-         * });
-         * var geometry = Cesium.BoxOutlineGeometry.createGeometry(box);
-         */
-        function BoxOutlineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var min = options.minimum;
-            var max = options.maximum;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('min', min);
-            Check.Check.typeOf.object('max', max);
-            if (when.defined(options.offsetAttribute) && options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                throw new Check.DeveloperError('GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.');
-            }
-            //>>includeEnd('debug');
-
-            this._min = Cartesian2.Cartesian3.clone(min);
-            this._max = Cartesian2.Cartesian3.clone(max);
-            this._offsetAttribute = options.offsetAttribute;
-            this._workerName = 'createBoxOutlineGeometry';
-        }
-
-        /**
-         * Creates an outline of a cube centered at the origin given its dimensions.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3} options.dimensions The width, depth, and height of the box stored in the x, y, and z coordinates of the <code>Cartesian3</code>, respectively.
-         * @returns {BoxOutlineGeometry}
-         *
-         * @exception {DeveloperError} All dimensions components must be greater than or equal to zero.
-         *
-         *
-         * @example
-         * var box = Cesium.BoxOutlineGeometry.fromDimensions({
-         *   dimensions : new Cesium.Cartesian3(500000.0, 500000.0, 500000.0)
-         * });
-         * var geometry = Cesium.BoxOutlineGeometry.createGeometry(box);
-         *
-         * @see BoxOutlineGeometry.createGeometry
-         */
-        BoxOutlineGeometry.fromDimensions = function(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var dimensions = options.dimensions;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('dimensions', dimensions);
-            Check.Check.typeOf.number.greaterThanOrEquals('dimensions.x', dimensions.x, 0);
-            Check.Check.typeOf.number.greaterThanOrEquals('dimensions.y', dimensions.y, 0);
-            Check.Check.typeOf.number.greaterThanOrEquals('dimensions.z', dimensions.z, 0);
-            //>>includeEnd('debug');
-
-            var corner = Cartesian2.Cartesian3.multiplyByScalar(dimensions, 0.5, new Cartesian2.Cartesian3());
-
-            return new BoxOutlineGeometry({
-                minimum : Cartesian2.Cartesian3.negate(corner, new Cartesian2.Cartesian3()),
-                maximum : corner,
-                offsetAttribute: options.offsetAttribute
-            });
-        };
-
-        /**
-         * Creates an outline of a cube from the dimensions of an AxisAlignedBoundingBox.
-         *
-         * @param {AxisAlignedBoundingBox} boundingBox A description of the AxisAlignedBoundingBox.
-         * @returns {BoxOutlineGeometry}
-         *
-         *
-         *
-         * @example
-         * var aabb = Cesium.AxisAlignedBoundingBox.fromPoints(Cesium.Cartesian3.fromDegreesArray([
-         *      -72.0, 40.0,
-         *      -70.0, 35.0,
-         *      -75.0, 30.0,
-         *      -70.0, 30.0,
-         *      -68.0, 40.0
-         * ]));
-         * var box = Cesium.BoxOutlineGeometry.fromAxisAlignedBoundingBox(aabb);
-         *
-         *  @see BoxOutlineGeometry.createGeometry
-         */
-        BoxOutlineGeometry.fromAxisAlignedBoundingBox = function(boundingBox) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('boundindBox', boundingBox);
-            //>>includeEnd('debug');
-
-            return new BoxOutlineGeometry({
-                minimum : boundingBox.minimum,
-                maximum : boundingBox.maximum
-            });
-        };
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        BoxOutlineGeometry.packedLength = 2 * Cartesian2.Cartesian3.packedLength + 1;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {BoxOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        BoxOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            Cartesian2.Cartesian3.pack(value._min, array, startingIndex);
-            Cartesian2.Cartesian3.pack(value._max, array, startingIndex + Cartesian2.Cartesian3.packedLength);
-            array[startingIndex + (Cartesian2.Cartesian3.packedLength * 2)] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchMin = new Cartesian2.Cartesian3();
-        var scratchMax = new Cartesian2.Cartesian3();
-        var scratchOptions = {
-            minimum : scratchMin,
-            maximum : scratchMax,
-            offsetAttribute : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {BoxOutlineGeometry} [result] The object into which to store the result.
-         * @returns {BoxOutlineGeometry} The modified result parameter or a new BoxOutlineGeometry instance if one was not provided.
-         */
-        BoxOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var min = Cartesian2.Cartesian3.unpack(array, startingIndex, scratchMin);
-            var max = Cartesian2.Cartesian3.unpack(array, startingIndex + Cartesian2.Cartesian3.packedLength, scratchMax);
-            var offsetAttribute = array[startingIndex + Cartesian2.Cartesian3.packedLength * 2];
-
-            if (!when.defined(result)) {
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-                return new BoxOutlineGeometry(scratchOptions);
-            }
-
-            result._min = Cartesian2.Cartesian3.clone(min, result._min);
-            result._max = Cartesian2.Cartesian3.clone(max, result._max);
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of an outline of a box, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {BoxOutlineGeometry} boxGeometry A description of the box outline.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        BoxOutlineGeometry.createGeometry = function(boxGeometry) {
-            var min = boxGeometry._min;
-            var max = boxGeometry._max;
-
-            if (Cartesian2.Cartesian3.equals(min, max)) {
-                return;
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            var indices = new Uint16Array(12 * 2);
-            var positions = new Float64Array(8 * 3);
-
-            positions[0] = min.x;
-            positions[1] = min.y;
-            positions[2] = min.z;
-            positions[3] = max.x;
-            positions[4] = min.y;
-            positions[5] = min.z;
-            positions[6] = max.x;
-            positions[7] = max.y;
-            positions[8] = min.z;
-            positions[9] = min.x;
-            positions[10] = max.y;
-            positions[11] = min.z;
-
-            positions[12] = min.x;
-            positions[13] = min.y;
-            positions[14] = max.z;
-            positions[15] = max.x;
-            positions[16] = min.y;
-            positions[17] = max.z;
-            positions[18] = max.x;
-            positions[19] = max.y;
-            positions[20] = max.z;
-            positions[21] = min.x;
-            positions[22] = max.y;
-            positions[23] = max.z;
-
-            attributes.position = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : positions
-            });
-
-            // top
-            indices[0] = 4;
-            indices[1] = 5;
-            indices[2] = 5;
-            indices[3] = 6;
-            indices[4] = 6;
-            indices[5] = 7;
-            indices[6] = 7;
-            indices[7] = 4;
-
-            // bottom
-            indices[8] = 0;
-            indices[9] = 1;
-            indices[10] = 1;
-            indices[11] = 2;
-            indices[12] = 2;
-            indices[13] = 3;
-            indices[14] = 3;
-            indices[15] = 0;
-
-            // left
-            indices[16] = 0;
-            indices[17] = 4;
-            indices[18] = 1;
-            indices[19] = 5;
-
-            //right
-            indices[20] = 2;
-            indices[21] = 6;
-            indices[22] = 3;
-            indices[23] = 7;
-
-            var diff = Cartesian2.Cartesian3.subtract(max, min, diffScratch);
-            var radius = Cartesian2.Cartesian3.magnitude(diff) * 0.5;
-
-            if (when.defined(boxGeometry._offsetAttribute)) {
-                var length = positions.length;
-                var applyOffset = new Uint8Array(length / 3);
-                var offsetValue = boxGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values: applyOffset
-                });
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES,
-                boundingSphere : new BoundingSphere.BoundingSphere(Cartesian2.Cartesian3.ZERO, radius),
-                offsetAttribute : boxGeometry._offsetAttribute
-            });
-        };
-
-    function createBoxOutlineGeometry(boxGeometry, offset) {
-        if (when.defined(offset)) {
-            boxGeometry = BoxOutlineGeometry.unpack(boxGeometry, offset);
-        }
-        return BoxOutlineGeometry.createGeometry(boxGeometry);
-    }
-
-    return createBoxOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createCircleGeometry.js b/libs/supermap/Workers/createCircleGeometry.js
deleted file mode 100644
index cb8c6c2..0000000
--- a/libs/supermap/Workers/createCircleGeometry.js
+++ /dev/null
@@ -1,214 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './AttributeCompression-50ff7145', './GeometryPipeline-cf04afb6', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './EllipseGeometryLibrary-df806546', './GeometryInstance-41ec5f45', './EllipseGeometry-b36296ff'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, AttributeCompression, GeometryPipeline, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, GeometryOffsetAttribute, VertexFormat, EllipseGeometryLibrary, GeometryInstance, EllipseGeometry) { 'use strict';
-
-    /**
-         * A description of a circle on the ellipsoid. Circle geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}.
-         *
-         * @alias CircleGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3} options.center The circle's center point in the fixed frame.
-         * @param {Number} options.radius The radius in meters.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid the circle will be on.
-         * @param {Number} [options.height=0.0] The distance in meters between the circle and the ellipsoid surface.
-         * @param {Number} [options.granularity=0.02] The angular distance between points on the circle in radians.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @param {Number} [options.extrudedHeight=0.0] The distance in meters between the circle's extruded face and the ellipsoid surface.
-         * @param {Number} [options.stRotation=0.0] The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise.
-         *
-         * @exception {DeveloperError} radius must be greater than zero.
-         * @exception {DeveloperError} granularity must be greater than zero.
-         *
-         * @see CircleGeometry.createGeometry
-         * @see Packable
-         *
-         * @example
-         * // Create a circle.
-         * var circle = new Cesium.CircleGeometry({
-         *   center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
-         *   radius : 100000.0
-         * });
-         * var geometry = Cesium.CircleGeometry.createGeometry(circle);
-         */
-        function CircleGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var radius = options.radius;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('radius', radius);
-            //>>includeEnd('debug');
-
-            var ellipseGeometryOptions = {
-                center : options.center,
-                semiMajorAxis : radius,
-                semiMinorAxis : radius,
-                ellipsoid : options.ellipsoid,
-                height : options.height,
-                extrudedHeight : options.extrudedHeight,
-                granularity : options.granularity,
-                vertexFormat : options.vertexFormat,
-                stRotation : options.stRotation,
-                shadowVolume: options.shadowVolume
-            };
-            this._ellipseGeometry = new EllipseGeometry.EllipseGeometry(ellipseGeometryOptions);
-            this._workerName = 'createCircleGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        CircleGeometry.packedLength = EllipseGeometry.EllipseGeometry.packedLength;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {CircleGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        CircleGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            //>>includeEnd('debug');
-            return EllipseGeometry.EllipseGeometry.pack(value._ellipseGeometry, array, startingIndex);
-        };
-
-        var scratchEllipseGeometry = new EllipseGeometry.EllipseGeometry({
-            center : new Cartesian2.Cartesian3(),
-            semiMajorAxis : 1.0,
-            semiMinorAxis : 1.0
-        });
-        var scratchOptions = {
-            center : new Cartesian2.Cartesian3(),
-            radius : undefined,
-            ellipsoid : Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE),
-            height : undefined,
-            extrudedHeight : undefined,
-            granularity : undefined,
-            vertexFormat : new VertexFormat.VertexFormat(),
-            stRotation : undefined,
-            semiMajorAxis : undefined,
-            semiMinorAxis : undefined,
-            shadowVolume: undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {CircleGeometry} [result] The object into which to store the result.
-         * @returns {CircleGeometry} The modified result parameter or a new CircleGeometry instance if one was not provided.
-         */
-        CircleGeometry.unpack = function(array, startingIndex, result) {
-            var ellipseGeometry = EllipseGeometry.EllipseGeometry.unpack(array, startingIndex, scratchEllipseGeometry);
-            scratchOptions.center = Cartesian2.Cartesian3.clone(ellipseGeometry._center, scratchOptions.center);
-            scratchOptions.ellipsoid = Cartesian2.Ellipsoid.clone(ellipseGeometry._ellipsoid, scratchOptions.ellipsoid);
-            scratchOptions.height = ellipseGeometry._height;
-            scratchOptions.extrudedHeight = ellipseGeometry._extrudedHeight;
-            scratchOptions.granularity = ellipseGeometry._granularity;
-            scratchOptions.vertexFormat = VertexFormat.VertexFormat.clone(ellipseGeometry._vertexFormat, scratchOptions.vertexFormat);
-            scratchOptions.stRotation = ellipseGeometry._stRotation;
-            scratchOptions.shadowVolume = ellipseGeometry._shadowVolume;
-
-            if (!when.defined(result)) {
-                scratchOptions.radius = ellipseGeometry._semiMajorAxis;
-                return new CircleGeometry(scratchOptions);
-            }
-
-            scratchOptions.semiMajorAxis = ellipseGeometry._semiMajorAxis;
-            scratchOptions.semiMinorAxis = ellipseGeometry._semiMinorAxis;
-            result._ellipseGeometry = new EllipseGeometry.EllipseGeometry(scratchOptions);
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of a circle on an ellipsoid, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {CircleGeometry} circleGeometry A description of the circle.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        CircleGeometry.createGeometry = function(circleGeometry) {
-            return EllipseGeometry.EllipseGeometry.createGeometry(circleGeometry._ellipseGeometry);
-        };
-
-        /**
-         * @private
-         */
-        CircleGeometry.createShadowVolume = function(circleGeometry, minHeightFunc, maxHeightFunc) {
-            var granularity = circleGeometry._ellipseGeometry._granularity;
-            var ellipsoid = circleGeometry._ellipseGeometry._ellipsoid;
-
-            var minHeight = minHeightFunc(granularity, ellipsoid);
-            var maxHeight = maxHeightFunc(granularity, ellipsoid);
-
-            return new CircleGeometry({
-                center : circleGeometry._ellipseGeometry._center,
-                radius : circleGeometry._ellipseGeometry._semiMajorAxis,
-                ellipsoid : ellipsoid,
-                stRotation : circleGeometry._ellipseGeometry._stRotation,
-                granularity : granularity,
-                extrudedHeight : minHeight,
-                height : maxHeight,
-                vertexFormat : VertexFormat.VertexFormat.POSITION_ONLY,
-                shadowVolume: true
-            });
-        };
-
-        Object.defineProperties(CircleGeometry.prototype, {
-            /**
-             * @private
-             */
-            rectangle : {
-                get : function() {
-                    return this._ellipseGeometry.rectangle;
-                }
-            },
-            /**
-             * For remapping texture coordinates when rendering CircleGeometries as GroundPrimitives.
-             * @private
-             */
-            textureCoordinateRotationPoints : {
-                get : function() {
-                    return this._ellipseGeometry.textureCoordinateRotationPoints;
-                }
-            }
-        });
-
-    function createCircleGeometry(circleGeometry, offset) {
-        if (when.defined(offset)) {
-            circleGeometry = CircleGeometry.unpack(circleGeometry, offset);
-        }
-        circleGeometry._ellipseGeometry._center = Cartesian2.Cartesian3.clone(circleGeometry._ellipseGeometry._center);
-        circleGeometry._ellipseGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(circleGeometry._ellipseGeometry._ellipsoid);
-        return CircleGeometry.createGeometry(circleGeometry);
-    }
-
-    return createCircleGeometry;
-
-});
diff --git a/libs/supermap/Workers/createCircleOutlineGeometry.js b/libs/supermap/Workers/createCircleOutlineGeometry.js
deleted file mode 100644
index f514d34..0000000
--- a/libs/supermap/Workers/createCircleOutlineGeometry.js
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './EllipseGeometryLibrary-df806546', './EllipseOutlineGeometry-0fa300c2'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, EllipseGeometryLibrary, EllipseOutlineGeometry) { 'use strict';
-
-    /**
-         * A description of the outline of a circle on the ellipsoid.
-         *
-         * @alias CircleOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3} options.center The circle's center point in the fixed frame.
-         * @param {Number} options.radius The radius in meters.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid the circle will be on.
-         * @param {Number} [options.height=0.0] The distance in meters between the circle and the ellipsoid surface.
-         * @param {Number} [options.granularity=0.02] The angular distance between points on the circle in radians.
-         * @param {Number} [options.extrudedHeight=0.0] The distance in meters between the circle's extruded face and the ellipsoid surface.
-         * @param {Number} [options.numberOfVerticalLines=16] Number of lines to draw between the top and bottom of an extruded circle.
-         *
-         * @exception {DeveloperError} radius must be greater than zero.
-         * @exception {DeveloperError} granularity must be greater than zero.
-         *
-         * @see CircleOutlineGeometry.createGeometry
-         * @see Packable
-         *
-         * @example
-         * // Create a circle.
-         * var circle = new Cesium.CircleOutlineGeometry({
-         *   center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
-         *   radius : 100000.0
-         * });
-         * var geometry = Cesium.CircleOutlineGeometry.createGeometry(circle);
-         */
-        function CircleOutlineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var radius = options.radius;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('radius', radius);
-            //>>includeEnd('debug');
-
-            var ellipseGeometryOptions = {
-                center : options.center,
-                semiMajorAxis : radius,
-                semiMinorAxis : radius,
-                ellipsoid : options.ellipsoid,
-                height : options.height,
-                extrudedHeight : options.extrudedHeight,
-                granularity : options.granularity,
-                numberOfVerticalLines : options.numberOfVerticalLines
-            };
-            this._ellipseGeometry = new EllipseOutlineGeometry.EllipseOutlineGeometry(ellipseGeometryOptions);
-            this._workerName = 'createCircleOutlineGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        CircleOutlineGeometry.packedLength = EllipseOutlineGeometry.EllipseOutlineGeometry.packedLength;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {CircleOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        CircleOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            //>>includeEnd('debug');
-            return EllipseOutlineGeometry.EllipseOutlineGeometry.pack(value._ellipseGeometry, array, startingIndex);
-        };
-
-        var scratchEllipseGeometry = new EllipseOutlineGeometry.EllipseOutlineGeometry({
-            center : new Cartesian2.Cartesian3(),
-            semiMajorAxis : 1.0,
-            semiMinorAxis : 1.0
-        });
-        var scratchOptions = {
-            center : new Cartesian2.Cartesian3(),
-            radius : undefined,
-            ellipsoid : Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE),
-            height : undefined,
-            extrudedHeight : undefined,
-            granularity : undefined,
-            numberOfVerticalLines : undefined,
-            semiMajorAxis : undefined,
-            semiMinorAxis : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {CircleOutlineGeometry} [result] The object into which to store the result.
-         * @returns {CircleOutlineGeometry} The modified result parameter or a new CircleOutlineGeometry instance if one was not provided.
-         */
-        CircleOutlineGeometry.unpack = function(array, startingIndex, result) {
-            var ellipseGeometry = EllipseOutlineGeometry.EllipseOutlineGeometry.unpack(array, startingIndex, scratchEllipseGeometry);
-            scratchOptions.center = Cartesian2.Cartesian3.clone(ellipseGeometry._center, scratchOptions.center);
-            scratchOptions.ellipsoid = Cartesian2.Ellipsoid.clone(ellipseGeometry._ellipsoid, scratchOptions.ellipsoid);
-            scratchOptions.height = ellipseGeometry._height;
-            scratchOptions.extrudedHeight = ellipseGeometry._extrudedHeight;
-            scratchOptions.granularity = ellipseGeometry._granularity;
-            scratchOptions.numberOfVerticalLines = ellipseGeometry._numberOfVerticalLines;
-
-            if (!when.defined(result)) {
-                scratchOptions.radius = ellipseGeometry._semiMajorAxis;
-                return new CircleOutlineGeometry(scratchOptions);
-            }
-
-            scratchOptions.semiMajorAxis = ellipseGeometry._semiMajorAxis;
-            scratchOptions.semiMinorAxis = ellipseGeometry._semiMinorAxis;
-            result._ellipseGeometry = new EllipseOutlineGeometry.EllipseOutlineGeometry(scratchOptions);
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of an outline of a circle on an ellipsoid, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {CircleOutlineGeometry} circleGeometry A description of the circle.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        CircleOutlineGeometry.createGeometry = function(circleGeometry) {
-            return EllipseOutlineGeometry.EllipseOutlineGeometry.createGeometry(circleGeometry._ellipseGeometry);
-        };
-
-    function createCircleOutlineGeometry(circleGeometry, offset) {
-        if (when.defined(offset)) {
-            circleGeometry = CircleOutlineGeometry.unpack(circleGeometry, offset);
-        }
-        circleGeometry._ellipseGeometry._center = Cartesian2.Cartesian3.clone(circleGeometry._ellipseGeometry._center);
-        circleGeometry._ellipseGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(circleGeometry._ellipseGeometry._ellipsoid);
-        return CircleOutlineGeometry.createGeometry(circleGeometry);
-    }
-
-    return createCircleOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createCoplanarPolygonGeometry.js b/libs/supermap/Workers/createCoplanarPolygonGeometry.js
deleted file mode 100644
index 144ca44..0000000
--- a/libs/supermap/Workers/createCoplanarPolygonGeometry.js
+++ /dev/null
@@ -1,435 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './AttributeCompression-50ff7145', './GeometryPipeline-cf04afb6', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './VertexFormat-fe4db402', './GeometryInstance-41ec5f45', './arrayRemoveDuplicates-f0b089b1', './BoundingRectangle-5220b474', './EllipsoidTangentPlane-fe3014f8', './OrientedBoundingBox-2b1de35e', './CoplanarPolygonGeometryLibrary-a019671c', './ArcType-66bc286a', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './PolygonGeometryLibrary-ca983abc'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, AttributeCompression, GeometryPipeline, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, VertexFormat, GeometryInstance, arrayRemoveDuplicates, BoundingRectangle, EllipsoidTangentPlane, OrientedBoundingBox, CoplanarPolygonGeometryLibrary, ArcType, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, PolygonGeometryLibrary) { 'use strict';
-
-    var scratchPosition = new Cartesian2.Cartesian3();
-        var scratchBR = new BoundingRectangle.BoundingRectangle();
-        var stScratch = new Cartesian2.Cartesian2();
-        var textureCoordinatesOrigin = new Cartesian2.Cartesian2();
-        var scratchNormal = new Cartesian2.Cartesian3();
-        var scratchTangent = new Cartesian2.Cartesian3();
-        var scratchBitangent = new Cartesian2.Cartesian3();
-        var centerScratch = new Cartesian2.Cartesian3();
-        var axis1Scratch = new Cartesian2.Cartesian3();
-        var axis2Scratch = new Cartesian2.Cartesian3();
-        var quaternionScratch = new Transforms.Quaternion();
-        var textureMatrixScratch = new BoundingSphere.Matrix3();
-        var tangentRotationScratch = new BoundingSphere.Matrix3();
-        var surfaceNormalScratch = new Cartesian2.Cartesian3();
-
-        function createGeometryFromPolygon(polygon, vertexFormat, boundingRectangle, stRotation, projectPointTo2D, normal, tangent, bitangent) {
-            var positions = polygon.positions;
-            var indices = PolygonPipeline.PolygonPipeline.triangulate(polygon.positions2D, polygon.holes);
-
-            /* If polygon is completely unrenderable, just use the first three vertices */
-            if (indices.length < 3) {
-                indices = [0, 1, 2];
-            }
-
-            var newIndices = IndexDatatype.IndexDatatype.createTypedArray(positions.length, indices.length);
-            newIndices.set(indices);
-
-            var textureMatrix = textureMatrixScratch;
-            if (stRotation !== 0.0) {
-                var rotation = Transforms.Quaternion.fromAxisAngle(normal, stRotation, quaternionScratch);
-                textureMatrix = BoundingSphere.Matrix3.fromQuaternion(rotation, textureMatrix);
-
-                if (vertexFormat.tangent || vertexFormat.bitangent) {
-                    rotation = Transforms.Quaternion.fromAxisAngle(normal, -stRotation, quaternionScratch);
-                    var tangentRotation = BoundingSphere.Matrix3.fromQuaternion(rotation, tangentRotationScratch);
-
-                    tangent = Cartesian2.Cartesian3.normalize(BoundingSphere.Matrix3.multiplyByVector(tangentRotation, tangent, tangent), tangent);
-                    if (vertexFormat.bitangent) {
-                        bitangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(normal, tangent, bitangent), bitangent);
-                    }
-                }
-            } else {
-                textureMatrix = BoundingSphere.Matrix3.clone(BoundingSphere.Matrix3.IDENTITY, textureMatrix);
-            }
-
-            var stOrigin = textureCoordinatesOrigin;
-            if (vertexFormat.st) {
-                stOrigin.x = boundingRectangle.x;
-                stOrigin.y = boundingRectangle.y;
-            }
-
-            var length = positions.length;
-            var size = length * 3;
-            var flatPositions = new Float64Array(size);
-            var normals = vertexFormat.normal ? new Float32Array(size) : undefined;
-            var tangents = vertexFormat.tangent ? new Float32Array(size) : undefined;
-            var bitangents = vertexFormat.bitangent ? new Float32Array(size) : undefined;
-            var textureCoordinates = vertexFormat.st ? new Float32Array(length * 2) : undefined;
-
-            var positionIndex = 0;
-            var normalIndex = 0;
-            var bitangentIndex = 0;
-            var tangentIndex = 0;
-            var stIndex = 0;
-
-            for (var i = 0; i < length; i++) {
-                var position = positions[i];
-                flatPositions[positionIndex++] = position.x;
-                flatPositions[positionIndex++] = position.y;
-                flatPositions[positionIndex++] = position.z;
-
-                if (vertexFormat.st) {
-                    var p = BoundingSphere.Matrix3.multiplyByVector(textureMatrix, position, scratchPosition);
-                    var st = projectPointTo2D(p, stScratch);
-                    Cartesian2.Cartesian2.subtract(st, stOrigin, st);
-
-                    var stx = _Math.CesiumMath.clamp(st.x / boundingRectangle.width, 0, 1);
-                    var sty = _Math.CesiumMath.clamp(st.y / boundingRectangle.height, 0, 1);
-                    textureCoordinates[stIndex++] = stx;
-                    textureCoordinates[stIndex++] = sty;
-                }
-
-                if (vertexFormat.normal) {
-                    normals[normalIndex++] = normal.x;
-                    normals[normalIndex++] = normal.y;
-                    normals[normalIndex++] = normal.z;
-                }
-
-                if (vertexFormat.tangent) {
-                    tangents[tangentIndex++] = tangent.x;
-                    tangents[tangentIndex++] = tangent.y;
-                    tangents[tangentIndex++] = tangent.z;
-                }
-
-                if (vertexFormat.bitangent) {
-                    bitangents[bitangentIndex++] = bitangent.x;
-                    bitangents[bitangentIndex++] = bitangent.y;
-                    bitangents[bitangentIndex++] = bitangent.z;
-                }
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-
-            if (vertexFormat.position) {
-                attributes.position = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : flatPositions
-                });
-            }
-
-            if (vertexFormat.normal) {
-                attributes.normal = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : normals
-                });
-            }
-
-            if (vertexFormat.tangent) {
-                attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : tangents
-                });
-            }
-
-            if (vertexFormat.bitangent) {
-                attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : bitangents
-                });
-            }
-
-            if (vertexFormat.st) {
-                attributes.st = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 2,
-                    values : textureCoordinates
-                });
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : newIndices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES
-            });
-        }
-
-        /**
-         * A description of a polygon composed of arbitrary coplanar positions.
-         *
-         * @alias CoplanarPolygonGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {PolygonHierarchy} options.polygonHierarchy A polygon hierarchy that can include holes.
-         * @param {Number} [options.stRotation=0.0] The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         *
-         * @example
-         * var polygon = new Cesium.CoplanarPolygonGeometry({
-         *   positions : Cesium.Cartesian3.fromDegreesArrayHeights([
-         *      -90.0, 30.0, 0.0,
-         *      -90.0, 30.0, 1000.0,
-         *      -80.0, 30.0, 1000.0,
-         *      -80.0, 30.0, 0.0
-         *   ])
-         * });
-         * var geometry = Cesium.CoplanarPolygonGeometry.createGeometry(polygon);
-         *
-         * @see CoplanarPolygonGeometry.createGeometry
-         */
-        function CoplanarPolygonGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var polygonHierarchy = options.polygonHierarchy;
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('options.polygonHierarchy', polygonHierarchy);
-            //>>includeEnd('debug');
-
-            var vertexFormat = when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT);
-            this._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat);
-            this._polygonHierarchy = polygonHierarchy;
-            this._stRotation = when.defaultValue(options.stRotation, 0.0);
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84));
-            this._workerName = 'createCoplanarPolygonGeometry';
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = PolygonGeometryLibrary.PolygonGeometryLibrary.computeHierarchyPackedLength(polygonHierarchy) + VertexFormat.VertexFormat.packedLength + Cartesian2.Ellipsoid.packedLength + 2;
-        }
-
-        /**
-         * A description of a coplanar polygon from an array of positions.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of positions that defined the corner points of the polygon.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @param {Number} [options.stRotation=0.0] The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @returns {CoplanarPolygonGeometry}
-         *
-         * @example
-         * // create a polygon from points
-         * var polygon = Cesium.CoplanarPolygonGeometry.fromPositions({
-         *   positions : Cesium.Cartesian3.fromDegreesArray([
-         *     -72.0, 40.0,
-         *     -70.0, 35.0,
-         *     -75.0, 30.0,
-         *     -70.0, 30.0,
-         *     -68.0, 40.0
-         *   ])
-         * });
-         * var geometry = Cesium.PolygonGeometry.createGeometry(polygon);
-         *
-         * @see PolygonGeometry#createGeometry
-         */
-        CoplanarPolygonGeometry.fromPositions = function(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('options.positions', options.positions);
-            //>>includeEnd('debug');
-
-            var newOptions = {
-                polygonHierarchy : {
-                    positions : options.positions
-                },
-                vertexFormat : options.vertexFormat,
-                stRotation : options.stRotation,
-                ellipsoid : options.ellipsoid
-            };
-            return new CoplanarPolygonGeometry(newOptions);
-        };
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {CoplanarPolygonGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        CoplanarPolygonGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            startingIndex = PolygonGeometryLibrary.PolygonGeometryLibrary.packPolygonHierarchy(value._polygonHierarchy, array, startingIndex);
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            array[startingIndex++] = value._stRotation;
-            array[startingIndex] = value.packedLength;
-
-            return array;
-        };
-
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-        var scratchOptions = {
-            polygonHierarchy : {}
-        };
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {CoplanarPolygonGeometry} [result] The object into which to store the result.
-         * @returns {CoplanarPolygonGeometry} The modified result parameter or a new CoplanarPolygonGeometry instance if one was not provided.
-         */
-        CoplanarPolygonGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var polygonHierarchy = PolygonGeometryLibrary.PolygonGeometryLibrary.unpackPolygonHierarchy(array, startingIndex);
-            startingIndex = polygonHierarchy.startingIndex;
-            delete polygonHierarchy.startingIndex;
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            var stRotation = array[startingIndex++];
-            var packedLength = array[startingIndex];
-
-            if (!when.defined(result)) {
-                result = new CoplanarPolygonGeometry(scratchOptions);
-            }
-
-            result._polygonHierarchy = polygonHierarchy;
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._stRotation = stRotation;
-            result.packedLength = packedLength;
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of an arbitrary coplanar polygon, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {CoplanarPolygonGeometry} polygonGeometry A description of the polygon.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        CoplanarPolygonGeometry.createGeometry = function(polygonGeometry) {
-            var vertexFormat = polygonGeometry._vertexFormat;
-            var polygonHierarchy = polygonGeometry._polygonHierarchy;
-            var stRotation = polygonGeometry._stRotation;
-
-            var outerPositions = polygonHierarchy.positions;
-            outerPositions = arrayRemoveDuplicates.arrayRemoveDuplicates(outerPositions, Cartesian2.Cartesian3.equalsEpsilon, true);
-            if (outerPositions.length < 3) {
-                return;
-            }
-
-            var normal = scratchNormal;
-            var tangent = scratchTangent;
-            var bitangent = scratchBitangent;
-            var axis1 = axis1Scratch;
-            var axis2 = axis2Scratch;
-
-            var validGeometry = CoplanarPolygonGeometryLibrary.CoplanarPolygonGeometryLibrary.computeProjectTo2DArguments(outerPositions, centerScratch, axis1, axis2);
-            if (!validGeometry) {
-                return undefined;
-            }
-
-            normal = Cartesian2.Cartesian3.cross(axis1, axis2, normal);
-            normal = Cartesian2.Cartesian3.normalize(normal, normal);
-
-            if (!Cartesian2.Cartesian3.equalsEpsilon(centerScratch, Cartesian2.Cartesian3.ZERO, _Math.CesiumMath.EPSILON6)) {
-                var surfaceNormal = polygonGeometry._ellipsoid.geodeticSurfaceNormal(centerScratch, surfaceNormalScratch);
-                if (Cartesian2.Cartesian3.dot(normal, surfaceNormal) < 0) {
-                    normal = Cartesian2.Cartesian3.negate(normal, normal);
-                    axis1 = Cartesian2.Cartesian3.negate(axis1, axis1);
-                }
-            }
-
-            var projectPoints = CoplanarPolygonGeometryLibrary.CoplanarPolygonGeometryLibrary.createProjectPointsTo2DFunction(centerScratch, axis1, axis2);
-            var projectPoint = CoplanarPolygonGeometryLibrary.CoplanarPolygonGeometryLibrary.createProjectPointTo2DFunction(centerScratch, axis1, axis2);
-
-            if (vertexFormat.tangent) {
-                tangent = Cartesian2.Cartesian3.clone(axis1, tangent);
-            }
-            if (vertexFormat.bitangent) {
-                bitangent = Cartesian2.Cartesian3.clone(axis2, bitangent);
-            }
-
-            var results = PolygonGeometryLibrary.PolygonGeometryLibrary.polygonsFromHierarchy(polygonHierarchy, projectPoints, false);
-            var hierarchy = results.hierarchy;
-            var polygons = results.polygons;
-
-            if (hierarchy.length === 0) {
-                return;
-            }
-            outerPositions = hierarchy[0].outerRing;
-
-            var boundingSphere = BoundingSphere.BoundingSphere.fromPoints(outerPositions);
-            var boundingRectangle = PolygonGeometryLibrary.PolygonGeometryLibrary.computeBoundingRectangle(normal, projectPoint, outerPositions, stRotation, scratchBR);
-
-            var geometries = [];
-            for (var i = 0; i < polygons.length; i++) {
-                var geometryInstance = new GeometryInstance.GeometryInstance({
-                    geometry : createGeometryFromPolygon(polygons[i], vertexFormat, boundingRectangle, stRotation, projectPoint, normal, tangent, bitangent)
-                });
-
-                geometries.push(geometryInstance);
-            }
-
-            var geometry = GeometryPipeline.GeometryPipeline.combineInstances(geometries)[0];
-            geometry.attributes.position.values = new Float64Array(geometry.attributes.position.values);
-            geometry.indices = IndexDatatype.IndexDatatype.createTypedArray(geometry.attributes.position.values.length / 3, geometry.indices);
-
-            var attributes = geometry.attributes;
-            if (!vertexFormat.position) {
-                delete attributes.position;
-            }
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : geometry.indices,
-                primitiveType : geometry.primitiveType,
-                boundingSphere : boundingSphere
-            });
-        };
-
-    function createCoplanarPolygonGeometry(polygonGeometry, offset) {
-        if (when.defined(offset)) {
-            polygonGeometry = CoplanarPolygonGeometry.unpack(polygonGeometry, offset);
-        }
-        return CoplanarPolygonGeometry.createGeometry(polygonGeometry);
-    }
-
-    return createCoplanarPolygonGeometry;
-
-});
diff --git a/libs/supermap/Workers/createCoplanarPolygonOutlineGeometry.js b/libs/supermap/Workers/createCoplanarPolygonOutlineGeometry.js
deleted file mode 100644
index 9c817d4..0000000
--- a/libs/supermap/Workers/createCoplanarPolygonOutlineGeometry.js
+++ /dev/null
@@ -1,231 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './AttributeCompression-50ff7145', './GeometryPipeline-cf04afb6', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './GeometryInstance-41ec5f45', './arrayRemoveDuplicates-f0b089b1', './EllipsoidTangentPlane-fe3014f8', './OrientedBoundingBox-2b1de35e', './CoplanarPolygonGeometryLibrary-a019671c', './ArcType-66bc286a', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './PolygonGeometryLibrary-ca983abc'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, AttributeCompression, GeometryPipeline, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, GeometryInstance, arrayRemoveDuplicates, EllipsoidTangentPlane, OrientedBoundingBox, CoplanarPolygonGeometryLibrary, ArcType, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, PolygonGeometryLibrary) { 'use strict';
-
-    function createGeometryFromPositions(positions){
-            var length = positions.length;
-            var flatPositions = new Float64Array(length * 3);
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(length, length * 2);
-
-            var positionIndex = 0;
-            var index = 0;
-
-            for (var i = 0; i < length; i++) {
-                var position = positions[i];
-                flatPositions[positionIndex++] = position.x;
-                flatPositions[positionIndex++] = position.y;
-                flatPositions[positionIndex++] = position.z;
-
-                indices[index++] = i;
-                indices[index++] = (i + 1) % length;
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes({
-                position: new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : flatPositions
-                })
-            });
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES
-            });
-        }
-
-        /**
-         * A description of the outline of a polygon composed of arbitrary coplanar positions.
-         *
-         * @alias CoplanarPolygonOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {PolygonHierarchy} options.polygonHierarchy A polygon hierarchy that can include holes.
-         *
-         * @see CoplanarPolygonOutlineGeometry.createGeometry
-         *
-         * @example
-         * var polygonOutline = new Cesium.CoplanarPolygonOutlineGeometry({
-         *   positions : Cesium.Cartesian3.fromDegreesArrayHeights([
-         *      -90.0, 30.0, 0.0,
-         *      -90.0, 30.0, 1000.0,
-         *      -80.0, 30.0, 1000.0,
-         *      -80.0, 30.0, 0.0
-         *   ])
-         * });
-         * var geometry = Cesium.CoplanarPolygonOutlineGeometry.createGeometry(polygonOutline);
-         */
-        function CoplanarPolygonOutlineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var polygonHierarchy = options.polygonHierarchy;
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('options.polygonHierarchy', polygonHierarchy);
-            //>>includeEnd('debug');
-
-            this._polygonHierarchy = polygonHierarchy;
-            this._workerName = 'createCoplanarPolygonOutlineGeometry';
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = PolygonGeometryLibrary.PolygonGeometryLibrary.computeHierarchyPackedLength(polygonHierarchy) + 1;
-        }
-
-        /**
-         * A description of a coplanar polygon outline from an array of positions.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of positions that defined the corner points of the polygon.
-         * @returns {CoplanarPolygonOutlineGeometry}
-         */
-        CoplanarPolygonOutlineGeometry.fromPositions = function(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('options.positions', options.positions);
-            //>>includeEnd('debug');
-
-            var newOptions = {
-                polygonHierarchy : {
-                    positions : options.positions
-                }
-            };
-            return new CoplanarPolygonOutlineGeometry(newOptions);
-        };
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {CoplanarPolygonOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        CoplanarPolygonOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            startingIndex = PolygonGeometryLibrary.PolygonGeometryLibrary.packPolygonHierarchy(value._polygonHierarchy, array, startingIndex);
-
-            array[startingIndex] = value.packedLength;
-
-            return array;
-        };
-
-        var scratchOptions = {
-            polygonHierarchy : {}
-        };
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {CoplanarPolygonOutlineGeometry} [result] The object into which to store the result.
-         * @returns {CoplanarPolygonOutlineGeometry} The modified result parameter or a new CoplanarPolygonOutlineGeometry instance if one was not provided.
-         */
-        CoplanarPolygonOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var polygonHierarchy = PolygonGeometryLibrary.PolygonGeometryLibrary.unpackPolygonHierarchy(array, startingIndex);
-            startingIndex = polygonHierarchy.startingIndex;
-            delete polygonHierarchy.startingIndex;
-            var packedLength = array[startingIndex];
-
-            if (!when.defined(result)) {
-                result = new CoplanarPolygonOutlineGeometry(scratchOptions);
-            }
-
-            result._polygonHierarchy = polygonHierarchy;
-            result.packedLength = packedLength;
-
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of an arbitrary coplanar polygon, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {CoplanarPolygonOutlineGeometry} polygonGeometry A description of the polygon.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        CoplanarPolygonOutlineGeometry.createGeometry = function(polygonGeometry) {
-            var polygonHierarchy = polygonGeometry._polygonHierarchy;
-
-            var outerPositions = polygonHierarchy.positions;
-            outerPositions = arrayRemoveDuplicates.arrayRemoveDuplicates(outerPositions, Cartesian2.Cartesian3.equalsEpsilon, true);
-            if (outerPositions.length < 3) {
-                return;
-            }
-            var isValid = CoplanarPolygonGeometryLibrary.CoplanarPolygonGeometryLibrary.validOutline(outerPositions);
-            if (!isValid) {
-                return undefined;
-            }
-
-            var polygons = PolygonGeometryLibrary.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(polygonHierarchy, false);
-
-            if (polygons.length === 0) {
-                return undefined;
-            }
-
-            var geometries = [];
-
-            for (var i = 0; i < polygons.length; i++) {
-                var geometryInstance = new GeometryInstance.GeometryInstance({
-                    geometry : createGeometryFromPositions(polygons[i])
-                });
-                geometries.push(geometryInstance);
-            }
-
-            var geometry = GeometryPipeline.GeometryPipeline.combineInstances(geometries)[0];
-            var boundingSphere = BoundingSphere.BoundingSphere.fromPoints(polygonHierarchy.positions);
-
-            return new GeometryAttribute.Geometry({
-                attributes : geometry.attributes,
-                indices : geometry.indices,
-                primitiveType : geometry.primitiveType,
-                boundingSphere : boundingSphere
-            });
-        };
-
-    function createCoplanarPolygonOutlineGeometry(polygonGeometry, offset) {
-        if (when.defined(offset)) {
-            polygonGeometry = CoplanarPolygonOutlineGeometry.unpack(polygonGeometry, offset);
-        }
-        polygonGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(polygonGeometry._ellipsoid);
-        return CoplanarPolygonOutlineGeometry.createGeometry(polygonGeometry);
-    }
-
-    return createCoplanarPolygonOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createCorridorGeometry.js b/libs/supermap/Workers/createCorridorGeometry.js
deleted file mode 100644
index e3b006a..0000000
--- a/libs/supermap/Workers/createCorridorGeometry.js
+++ /dev/null
@@ -1,1105 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './arrayRemoveDuplicates-f0b089b1', './EllipsoidTangentPlane-fe3014f8', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './PolylineVolumeGeometryLibrary-eb1fcd3f', './EllipsoidGeodesic-15923280', './PolylinePipeline-3f99899a', './CorridorGeometryLibrary-388594c9'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, IntersectionTests, Plane, GeometryOffsetAttribute, VertexFormat, arrayRemoveDuplicates, EllipsoidTangentPlane, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, PolylineVolumeGeometryLibrary, EllipsoidGeodesic, PolylinePipeline, CorridorGeometryLibrary) { 'use strict';
-
-    var cartesian1 = new Cartesian2.Cartesian3();
-        var cartesian2 = new Cartesian2.Cartesian3();
-        var cartesian3 = new Cartesian2.Cartesian3();
-        var cartesian4 = new Cartesian2.Cartesian3();
-        var cartesian5 = new Cartesian2.Cartesian3();
-        var cartesian6 = new Cartesian2.Cartesian3();
-
-        var scratch1 = new Cartesian2.Cartesian3();
-        var scratch2 = new Cartesian2.Cartesian3();
-
-        function scaleToSurface(positions, ellipsoid) {
-            for (var i = 0; i < positions.length; i++) {
-                positions[i] = ellipsoid.scaleToGeodeticSurface(positions[i], positions[i]);
-            }
-            return positions;
-        }
-
-        function addNormals(attr, normal, left, front, back, vertexFormat) {
-            var normals = attr.normals;
-            var tangents = attr.tangents;
-            var bitangents = attr.bitangents;
-            var forward = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(left, normal, scratch1), scratch1);
-            if (vertexFormat.normal) {
-                CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(normals, normal, front, back);
-            }
-            if (vertexFormat.tangent) {
-                CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(tangents, forward, front, back);
-            }
-            if (vertexFormat.bitangent) {
-                CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(bitangents, left, front, back);
-            }
-        }
-
-        function combine(computedPositions, vertexFormat, ellipsoid) {
-            var positions = computedPositions.positions;
-            var corners = computedPositions.corners;
-            var endPositions = computedPositions.endPositions;
-            var computedLefts = computedPositions.lefts;
-            var computedNormals = computedPositions.normals;
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            var corner;
-            var leftCount = 0;
-            var rightCount = 0;
-            var i;
-            var indicesLength = 0;
-            var length;
-            for (i = 0; i < positions.length; i += 2) {
-                length = positions[i].length - 3;
-                leftCount += length; //subtracting 3 to account for duplicate points at corners
-                indicesLength += length*2;
-                rightCount += positions[i + 1].length - 3;
-            }
-            leftCount += 3; //add back count for end positions
-            rightCount += 3;
-            for (i = 0; i < corners.length; i++) {
-                corner = corners[i];
-                var leftSide = corners[i].leftPositions;
-                if (when.defined(leftSide)) {
-                    length = leftSide.length;
-                    leftCount += length;
-                    indicesLength += length;
-                } else {
-                    length = corners[i].rightPositions.length;
-                    rightCount += length;
-                    indicesLength += length;
-                }
-            }
-
-            var addEndPositions = when.defined(endPositions);
-            var endPositionLength;
-            if (addEndPositions) {
-                endPositionLength = endPositions[0].length - 3;
-                leftCount += endPositionLength;
-                rightCount += endPositionLength;
-                endPositionLength /= 3;
-                indicesLength += endPositionLength * 6;
-            }
-            var size = leftCount + rightCount;
-            var finalPositions = new Float64Array(size);
-            var normals = (vertexFormat.normal) ? new Float32Array(size) : undefined;
-            var tangents = (vertexFormat.tangent) ? new Float32Array(size) : undefined;
-            var bitangents = (vertexFormat.bitangent) ? new Float32Array(size) : undefined;
-            var attr = {
-                normals : normals,
-                tangents : tangents,
-                bitangents : bitangents
-            };
-            var front = 0;
-            var back = size - 1;
-            var UL, LL, UR, LR;
-            var normal = cartesian1;
-            var left = cartesian2;
-            var rightPos, leftPos;
-            var halfLength = endPositionLength / 2;
-
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(size / 3, indicesLength);
-            var index = 0;
-            if (addEndPositions) { // add rounded end
-                leftPos = cartesian3;
-                rightPos = cartesian4;
-                var firstEndPositions = endPositions[0];
-                normal = Cartesian2.Cartesian3.fromArray(computedNormals, 0, normal);
-                left = Cartesian2.Cartesian3.fromArray(computedLefts, 0, left);
-                for (i = 0; i < halfLength; i++) {
-                    leftPos = Cartesian2.Cartesian3.fromArray(firstEndPositions, (halfLength - 1 - i) * 3, leftPos);
-                    rightPos = Cartesian2.Cartesian3.fromArray(firstEndPositions, (halfLength + i) * 3, rightPos);
-                    CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, rightPos, front);
-                    CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, leftPos, undefined, back);
-                    addNormals(attr, normal, left, front, back, vertexFormat);
-
-                    LL = front / 3;
-                    LR = LL + 1;
-                    UL = (back - 2) / 3;
-                    UR = UL - 1;
-                    indices[index++] = UL;
-                    indices[index++] = LL;
-                    indices[index++] = UR;
-                    indices[index++] = UR;
-                    indices[index++] = LL;
-                    indices[index++] = LR;
-
-                    front += 3;
-                    back -= 3;
-                }
-            }
-
-            var posIndex = 0;
-            var compIndex = 0;
-            var rightEdge = positions[posIndex++]; //add first two edges
-            var leftEdge = positions[posIndex++];
-            finalPositions.set(rightEdge, front);
-            finalPositions.set(leftEdge, back - leftEdge.length + 1);
-
-            left = Cartesian2.Cartesian3.fromArray(computedLefts, compIndex, left);
-            var rightNormal;
-            var leftNormal;
-            length = leftEdge.length - 3;
-            for (i = 0; i < length; i += 3) {
-                rightNormal = ellipsoid.geodeticSurfaceNormal(Cartesian2.Cartesian3.fromArray(rightEdge, i, scratch1), scratch1);
-                leftNormal = ellipsoid.geodeticSurfaceNormal(Cartesian2.Cartesian3.fromArray(leftEdge, length - i, scratch2), scratch2);
-                normal = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.add(rightNormal, leftNormal, normal), normal);
-                addNormals(attr, normal, left, front, back, vertexFormat);
-
-                LL = front / 3;
-                LR = LL + 1;
-                UL = (back - 2) / 3;
-                UR = UL - 1;
-                indices[index++] = UL;
-                indices[index++] = LL;
-                indices[index++] = UR;
-                indices[index++] = UR;
-                indices[index++] = LL;
-                indices[index++] = LR;
-
-                front += 3;
-                back -= 3;
-            }
-
-            rightNormal = ellipsoid.geodeticSurfaceNormal(Cartesian2.Cartesian3.fromArray(rightEdge, length, scratch1), scratch1);
-            leftNormal = ellipsoid.geodeticSurfaceNormal(Cartesian2.Cartesian3.fromArray(leftEdge, length, scratch2), scratch2);
-            normal = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.add(rightNormal, leftNormal, normal), normal);
-            compIndex += 3;
-            for (i = 0; i < corners.length; i++) {
-                var j;
-                corner = corners[i];
-                var l = corner.leftPositions;
-                var r = corner.rightPositions;
-                var pivot;
-                var start;
-                var outsidePoint = cartesian6;
-                var previousPoint = cartesian3;
-                var nextPoint = cartesian4;
-                normal = Cartesian2.Cartesian3.fromArray(computedNormals, compIndex, normal);
-                if (when.defined(l)) {
-                    addNormals(attr, normal, left, undefined, back, vertexFormat);
-                    back -= 3;
-                    pivot = LR;
-                    start = UR;
-                    for (j = 0; j < l.length / 3; j++) {
-                        outsidePoint = Cartesian2.Cartesian3.fromArray(l, j * 3, outsidePoint);
-                        indices[index++] = pivot;
-                        indices[index++] = start - j - 1;
-                        indices[index++] = start - j;
-                        CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, outsidePoint, undefined, back);
-                        previousPoint = Cartesian2.Cartesian3.fromArray(finalPositions, (start - j - 1) * 3, previousPoint);
-                        nextPoint = Cartesian2.Cartesian3.fromArray(finalPositions, pivot * 3, nextPoint);
-                        left = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.subtract(previousPoint, nextPoint, left), left);
-                        addNormals(attr, normal, left, undefined, back, vertexFormat);
-                        back -= 3;
-                    }
-                    outsidePoint = Cartesian2.Cartesian3.fromArray(finalPositions, pivot * 3, outsidePoint);
-                    previousPoint = Cartesian2.Cartesian3.subtract(Cartesian2.Cartesian3.fromArray(finalPositions, (start) * 3, previousPoint), outsidePoint, previousPoint);
-                    nextPoint = Cartesian2.Cartesian3.subtract(Cartesian2.Cartesian3.fromArray(finalPositions, (start - j) * 3, nextPoint), outsidePoint, nextPoint);
-                    left = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.add(previousPoint, nextPoint, left), left);
-                    addNormals(attr, normal, left, front, undefined, vertexFormat);
-                    front += 3;
-                } else {
-                    addNormals(attr, normal, left, front, undefined, vertexFormat);
-                    front += 3;
-                    pivot = UR;
-                    start = LR;
-                    for (j = 0; j < r.length / 3; j++) {
-                        outsidePoint = Cartesian2.Cartesian3.fromArray(r, j * 3, outsidePoint);
-                        indices[index++] = pivot;
-                        indices[index++] = start + j;
-                        indices[index++] = start + j + 1;
-                        CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, outsidePoint, front);
-                        previousPoint = Cartesian2.Cartesian3.fromArray(finalPositions, pivot * 3, previousPoint);
-                        nextPoint = Cartesian2.Cartesian3.fromArray(finalPositions, (start + j) * 3, nextPoint);
-                        left = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.subtract(previousPoint, nextPoint, left), left);
-                        addNormals(attr, normal, left, front, undefined, vertexFormat);
-                        front += 3;
-                    }
-                    outsidePoint = Cartesian2.Cartesian3.fromArray(finalPositions, pivot * 3, outsidePoint);
-                    previousPoint = Cartesian2.Cartesian3.subtract(Cartesian2.Cartesian3.fromArray(finalPositions, (start + j) * 3, previousPoint), outsidePoint, previousPoint);
-                    nextPoint = Cartesian2.Cartesian3.subtract(Cartesian2.Cartesian3.fromArray(finalPositions, start * 3, nextPoint), outsidePoint, nextPoint);
-                    left = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.negate(Cartesian2.Cartesian3.add(nextPoint, previousPoint, left), left), left);
-                    addNormals(attr, normal, left, undefined, back, vertexFormat);
-                    back -= 3;
-                }
-                rightEdge = positions[posIndex++];
-                leftEdge = positions[posIndex++];
-                rightEdge.splice(0, 3); //remove duplicate points added by corner
-                leftEdge.splice(leftEdge.length - 3, 3);
-                finalPositions.set(rightEdge, front);
-                finalPositions.set(leftEdge, back - leftEdge.length + 1);
-                length = leftEdge.length - 3;
-
-                compIndex += 3;
-                left = Cartesian2.Cartesian3.fromArray(computedLefts, compIndex, left);
-                for (j = 0; j < leftEdge.length; j += 3) {
-                    rightNormal = ellipsoid.geodeticSurfaceNormal(Cartesian2.Cartesian3.fromArray(rightEdge, j, scratch1), scratch1);
-                    leftNormal = ellipsoid.geodeticSurfaceNormal(Cartesian2.Cartesian3.fromArray(leftEdge, length - j, scratch2), scratch2);
-                    normal = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.add(rightNormal, leftNormal, normal), normal);
-                    addNormals(attr, normal, left, front, back, vertexFormat);
-
-                    LR = front / 3;
-                    LL = LR - 1;
-                    UR = (back - 2) / 3;
-                    UL = UR + 1;
-                    indices[index++] = UL;
-                    indices[index++] = LL;
-                    indices[index++] = UR;
-                    indices[index++] = UR;
-                    indices[index++] = LL;
-                    indices[index++] = LR;
-
-                    front += 3;
-                    back -= 3;
-                }
-                front -= 3;
-                back += 3;
-            }
-            normal = Cartesian2.Cartesian3.fromArray(computedNormals, computedNormals.length - 3, normal);
-            addNormals(attr, normal, left, front, back, vertexFormat);
-
-            if (addEndPositions) { // add rounded end
-                front += 3;
-                back -= 3;
-                leftPos = cartesian3;
-                rightPos = cartesian4;
-                var lastEndPositions = endPositions[1];
-                for (i = 0; i < halfLength; i++) {
-                    leftPos = Cartesian2.Cartesian3.fromArray(lastEndPositions, (endPositionLength - i - 1) * 3, leftPos);
-                    rightPos = Cartesian2.Cartesian3.fromArray(lastEndPositions, i * 3, rightPos);
-                    CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, leftPos, undefined, back);
-                    CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, rightPos, front);
-                    addNormals(attr, normal, left, front, back, vertexFormat);
-
-                    LR = front / 3;
-                    LL = LR - 1;
-                    UR = (back - 2) / 3;
-                    UL = UR + 1;
-                    indices[index++] = UL;
-                    indices[index++] = LL;
-                    indices[index++] = UR;
-                    indices[index++] = UR;
-                    indices[index++] = LL;
-                    indices[index++] = LR;
-
-                    front += 3;
-                    back -= 3;
-                }
-            }
-
-            attributes.position = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : finalPositions
-            });
-
-            if (vertexFormat.st) {
-                var st = new Float32Array(size / 3 * 2);
-                var rightSt;
-                var leftSt;
-                var stIndex = 0;
-                if (addEndPositions) {
-                    leftCount /= 3;
-                    rightCount /= 3;
-                    var theta = Math.PI / (endPositionLength + 1);
-                    leftSt = 1 / (leftCount - endPositionLength + 1);
-                    rightSt = 1 / (rightCount - endPositionLength + 1);
-                    var a;
-                    var halfEndPos = endPositionLength / 2;
-                    for (i = halfEndPos + 1; i < endPositionLength + 1; i++) { // lower left rounded end
-                        a = _Math.CesiumMath.PI_OVER_TWO + theta * i;
-                        st[stIndex++] = rightSt * (1 + Math.cos(a));
-                        st[stIndex++] = 0.5 * (1 + Math.sin(a));
-                    }
-                    for (i = 1; i < rightCount - endPositionLength + 1; i++) { // bottom edge
-                        st[stIndex++] = i * rightSt;
-                        st[stIndex++] = 0;
-                    }
-                    for (i = endPositionLength; i > halfEndPos; i--) { // lower right rounded end
-                        a = _Math.CesiumMath.PI_OVER_TWO - i * theta;
-                        st[stIndex++] = 1 - rightSt * (1 + Math.cos(a));
-                        st[stIndex++] = 0.5 * (1 + Math.sin(a));
-                    }
-                    for (i = halfEndPos; i > 0; i--) { // upper right rounded end
-                        a = _Math.CesiumMath.PI_OVER_TWO - theta * i;
-                        st[stIndex++] = 1 - leftSt * (1 + Math.cos(a));
-                        st[stIndex++] = 0.5 * (1 + Math.sin(a));
-                    }
-                    for (i = leftCount - endPositionLength; i > 0; i--) { // top edge
-                        st[stIndex++] = i * leftSt;
-                        st[stIndex++] = 1;
-                    }
-                    for (i = 1; i < halfEndPos + 1; i++) { // upper left rounded end
-                        a = _Math.CesiumMath.PI_OVER_TWO + theta * i;
-                        st[stIndex++] = leftSt * (1 + Math.cos(a));
-                        st[stIndex++] = 0.5 * (1 + Math.sin(a));
-                    }
-                } else {
-                    leftCount /= 3;
-                    rightCount /= 3;
-                    leftSt = 1 / (leftCount - 1);
-                    rightSt = 1 / (rightCount - 1);
-                    for (i = 0; i < rightCount; i++) { // bottom edge
-                        st[stIndex++] = i * rightSt;
-                        st[stIndex++] = 0;
-                    }
-                    for (i = leftCount; i > 0; i--) { // top edge
-                        st[stIndex++] = (i - 1) * leftSt;
-                        st[stIndex++] = 1;
-                    }
-                }
-
-                attributes.st = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 2,
-                    values : st
-                });
-            }
-
-            if (vertexFormat.normal) {
-                attributes.normal = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : attr.normals
-                });
-            }
-
-            if (vertexFormat.tangent) {
-                attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : attr.tangents
-                });
-            }
-
-            if (vertexFormat.bitangent) {
-                attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : attr.bitangents
-                });
-            }
-
-            return {
-                attributes : attributes,
-                indices : indices
-            };
-        }
-
-        function extrudedAttributes(attributes, vertexFormat) {
-            if (!vertexFormat.normal && !vertexFormat.tangent && !vertexFormat.bitangent && !vertexFormat.st) {
-                return attributes;
-            }
-            var positions = attributes.position.values;
-            var topNormals;
-            var topBitangents;
-            if (vertexFormat.normal || vertexFormat.bitangent) {
-                topNormals = attributes.normal.values;
-                topBitangents = attributes.bitangent.values;
-            }
-            var size = attributes.position.values.length / 18;
-            var threeSize = size * 3;
-            var twoSize = size * 2;
-            var sixSize = threeSize * 2;
-            var i;
-            if (vertexFormat.normal || vertexFormat.bitangent || vertexFormat.tangent) {
-                var normals = (vertexFormat.normal) ? new Float32Array(threeSize * 6) : undefined;
-                var tangents = (vertexFormat.tangent) ? new Float32Array(threeSize * 6) : undefined;
-                var bitangents = (vertexFormat.bitangent) ? new Float32Array(threeSize * 6) : undefined;
-                var topPosition = cartesian1;
-                var bottomPosition = cartesian2;
-                var previousPosition = cartesian3;
-                var normal = cartesian4;
-                var tangent = cartesian5;
-                var bitangent = cartesian6;
-                var attrIndex = sixSize;
-                for (i = 0; i < threeSize; i += 3) {
-                    var attrIndexOffset = attrIndex + sixSize;
-                    topPosition      = Cartesian2.Cartesian3.fromArray(positions, i, topPosition);
-                    bottomPosition   = Cartesian2.Cartesian3.fromArray(positions, i + threeSize, bottomPosition);
-                    previousPosition = Cartesian2.Cartesian3.fromArray(positions, (i + 3) % threeSize, previousPosition);
-                    bottomPosition   = Cartesian2.Cartesian3.subtract(bottomPosition,   topPosition, bottomPosition);
-                    previousPosition = Cartesian2.Cartesian3.subtract(previousPosition, topPosition, previousPosition);
-                    normal = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(bottomPosition, previousPosition, normal), normal);
-                    if (vertexFormat.normal) {
-                        CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(normals, normal, attrIndexOffset);
-                        CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(normals, normal, attrIndexOffset + 3);
-                        CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(normals, normal, attrIndex);
-                        CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(normals, normal, attrIndex + 3);
-                    }
-                    if (vertexFormat.tangent || vertexFormat.bitangent) {
-                        bitangent = Cartesian2.Cartesian3.fromArray(topNormals, i, bitangent);
-                        if (vertexFormat.bitangent) {
-                            CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(bitangents, bitangent, attrIndexOffset);
-                            CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(bitangents, bitangent, attrIndexOffset + 3);
-                            CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(bitangents, bitangent, attrIndex);
-                            CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(bitangents, bitangent, attrIndex + 3);
-                        }
-
-                        if (vertexFormat.tangent) {
-                            tangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(bitangent, normal, tangent), tangent);
-                            CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(tangents, tangent, attrIndexOffset);
-                            CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(tangents, tangent, attrIndexOffset + 3);
-                            CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(tangents, tangent, attrIndex);
-                            CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(tangents, tangent, attrIndex + 3);
-                        }
-                    }
-                    attrIndex += 6;
-                }
-
-                if (vertexFormat.normal) {
-                    normals.set(topNormals); //top
-                    for (i = 0; i < threeSize; i += 3) { //bottom normals
-                        normals[i + threeSize] = -topNormals[i];
-                        normals[i + threeSize + 1] = -topNormals[i + 1];
-                        normals[i + threeSize + 2] = -topNormals[i + 2];
-                    }
-                    attributes.normal.values = normals;
-                } else {
-                    attributes.normal = undefined;
-                }
-
-                if (vertexFormat.bitangent) {
-                    bitangents.set(topBitangents); //top
-                    bitangents.set(topBitangents, threeSize); //bottom
-                    attributes.bitangent.values = bitangents;
-                } else {
-                    attributes.bitangent = undefined;
-                }
-
-                if (vertexFormat.tangent) {
-                    var topTangents = attributes.tangent.values;
-                    tangents.set(topTangents); //top
-                    tangents.set(topTangents, threeSize); //bottom
-                    attributes.tangent.values = tangents;
-                }
-            }
-            if (vertexFormat.st) {
-                var topSt = attributes.st.values;
-                var st = new Float32Array(twoSize * 6);
-                st.set(topSt); //top
-                st.set(topSt, twoSize); //bottom
-                var index = twoSize * 2;
-
-                for ( var j = 0; j < 2; j++) {
-                    st[index++] = topSt[0];
-                    st[index++] = topSt[1];
-                    for (i = 2; i < twoSize; i += 2) {
-                        var s = topSt[i];
-                        var t = topSt[i + 1];
-                        st[index++] = s;
-                        st[index++] = t;
-                        st[index++] = s;
-                        st[index++] = t;
-                    }
-                    st[index++] = topSt[0];
-                    st[index++] = topSt[1];
-                }
-                attributes.st.values = st;
-            }
-
-            return attributes;
-        }
-
-        function addWallPositions(positions, index, wallPositions) {
-            wallPositions[index++] = positions[0];
-            wallPositions[index++] = positions[1];
-            wallPositions[index++] = positions[2];
-            for ( var i = 3; i < positions.length; i += 3) {
-                var x = positions[i];
-                var y = positions[i + 1];
-                var z = positions[i + 2];
-                wallPositions[index++] = x;
-                wallPositions[index++] = y;
-                wallPositions[index++] = z;
-                wallPositions[index++] = x;
-                wallPositions[index++] = y;
-                wallPositions[index++] = z;
-            }
-            wallPositions[index++] = positions[0];
-            wallPositions[index++] = positions[1];
-            wallPositions[index++] = positions[2];
-
-            return wallPositions;
-        }
-
-        function computePositionsExtruded(params, vertexFormat) {
-            var topVertexFormat = new VertexFormat.VertexFormat({
-                position : vertexFormat.position,
-                normal : (vertexFormat.normal || vertexFormat.bitangent || params.shadowVolume),
-                tangent : vertexFormat.tangent,
-                bitangent : (vertexFormat.normal || vertexFormat.bitangent),
-                st : vertexFormat.st
-            });
-            var ellipsoid = params.ellipsoid;
-            var computedPositions = CorridorGeometryLibrary.CorridorGeometryLibrary.computePositions(params);
-            var attr = combine(computedPositions, topVertexFormat, ellipsoid);
-            var height = params.height;
-            var extrudedHeight = params.extrudedHeight;
-            var attributes = attr.attributes;
-            var indices = attr.indices;
-            var positions = attributes.position.values;
-            var length = positions.length;
-            var newPositions = new Float64Array(length * 6);
-            var extrudedPositions = new Float64Array(length);
-            extrudedPositions.set(positions);
-            var wallPositions = new Float64Array(length * 4);
-
-            positions = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(positions, height, ellipsoid);
-            wallPositions = addWallPositions(positions, 0, wallPositions);
-            extrudedPositions = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(extrudedPositions, extrudedHeight, ellipsoid);
-            wallPositions = addWallPositions(extrudedPositions, length * 2, wallPositions);
-            newPositions.set(positions);
-            newPositions.set(extrudedPositions, length);
-            newPositions.set(wallPositions, length * 2);
-            attributes.position.values = newPositions;
-
-            attributes = extrudedAttributes(attributes, vertexFormat);
-            var i;
-            var size = length / 3;
-            if (params.shadowVolume) {
-                var topNormals = attributes.normal.values;
-                length = topNormals.length;
-
-                var extrudeNormals = new Float32Array(length * 6);
-                for (i = 0; i < length; i ++) {
-                    topNormals[i] = -topNormals[i];
-                }
-                //only get normals for bottom layer that's going to be pushed down
-                extrudeNormals.set(topNormals, length); //bottom face
-                extrudeNormals = addWallPositions(topNormals, length*4, extrudeNormals); //bottom wall
-                attributes.extrudeDirection = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : extrudeNormals
-                });
-                if (!vertexFormat.normal) {
-                    attributes.normal = undefined;
-                }
-            }
-            if (when.defined(params.offsetAttribute)) {
-                var applyOffset = new Uint8Array(size * 6);
-                if (params.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                    applyOffset = GeometryOffsetAttribute.arrayFill(applyOffset, 1, 0, size); // top face
-                    applyOffset = GeometryOffsetAttribute.arrayFill(applyOffset, 1, size*2, size * 4); // top wall
-                } else {
-                    var applyOffsetValue = params.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    applyOffset = GeometryOffsetAttribute.arrayFill(applyOffset, applyOffsetValue);
-                }
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values: applyOffset
-                });
-            }
-
-            var iLength = indices.length;
-            var twoSize = size + size;
-            var newIndices = IndexDatatype.IndexDatatype.createTypedArray(newPositions.length / 3, iLength * 2 + twoSize * 3);
-            newIndices.set(indices);
-            var index = iLength;
-            for (i = 0; i < iLength; i += 3) { // bottom indices
-                var v0 = indices[i];
-                var v1 = indices[i + 1];
-                var v2 = indices[i + 2];
-                newIndices[index++] = v2 + size;
-                newIndices[index++] = v1 + size;
-                newIndices[index++] = v0 + size;
-            }
-
-            var UL, LL, UR, LR;
-
-            for (i = 0; i < twoSize; i += 2) { //wall indices
-                UL = i + twoSize;
-                LL = UL + twoSize;
-                UR = UL + 1;
-                LR = LL + 1;
-                newIndices[index++] = UL;
-                newIndices[index++] = LL;
-                newIndices[index++] = UR;
-                newIndices[index++] = UR;
-                newIndices[index++] = LL;
-                newIndices[index++] = LR;
-            }
-
-            return {
-                attributes : attributes,
-                indices : newIndices
-            };
-        }
-
-        var scratchCartesian1 = new Cartesian2.Cartesian3();
-        var scratchCartesian2 = new Cartesian2.Cartesian3();
-        var scratchCartographic = new Cartesian2.Cartographic();
-
-        function computeOffsetPoints(position1, position2, ellipsoid, halfWidth, min, max) {
-            // Compute direction of offset the point
-            var direction = Cartesian2.Cartesian3.subtract(position2, position1, scratchCartesian1);
-            Cartesian2.Cartesian3.normalize(direction, direction);
-            var normal = ellipsoid.geodeticSurfaceNormal(position1, scratchCartesian2);
-            var offsetDirection = Cartesian2.Cartesian3.cross(direction, normal, scratchCartesian1);
-            Cartesian2.Cartesian3.multiplyByScalar(offsetDirection, halfWidth, offsetDirection);
-
-            var minLat = min.latitude;
-            var minLon = min.longitude;
-            var maxLat = max.latitude;
-            var maxLon = max.longitude;
-
-            // Compute 2 offset points
-            Cartesian2.Cartesian3.add(position1, offsetDirection, scratchCartesian2);
-            ellipsoid.cartesianToCartographic(scratchCartesian2, scratchCartographic);
-
-            var lat = scratchCartographic.latitude;
-            var lon = scratchCartographic.longitude;
-            minLat = Math.min(minLat, lat);
-            minLon = Math.min(minLon, lon);
-            maxLat = Math.max(maxLat, lat);
-            maxLon = Math.max(maxLon, lon);
-
-            Cartesian2.Cartesian3.subtract(position1, offsetDirection, scratchCartesian2);
-            ellipsoid.cartesianToCartographic(scratchCartesian2, scratchCartographic);
-
-            lat = scratchCartographic.latitude;
-            lon = scratchCartographic.longitude;
-            minLat = Math.min(minLat, lat);
-            minLon = Math.min(minLon, lon);
-            maxLat = Math.max(maxLat, lat);
-            maxLon = Math.max(maxLon, lon);
-
-            min.latitude = minLat;
-            min.longitude = minLon;
-            max.latitude = maxLat;
-            max.longitude = maxLon;
-        }
-
-        var scratchCartesianOffset = new Cartesian2.Cartesian3();
-        var scratchCartesianEnds = new Cartesian2.Cartesian3();
-        var scratchCartographicMin = new Cartesian2.Cartographic();
-        var scratchCartographicMax = new Cartesian2.Cartographic();
-
-        function computeRectangle(positions, ellipsoid, width, cornerType, result) {
-            positions = scaleToSurface(positions, ellipsoid);
-            var cleanPositions = arrayRemoveDuplicates.arrayRemoveDuplicates(positions, Cartesian2.Cartesian3.equalsEpsilon);
-            var length = cleanPositions.length;
-            if (length < 2 || width <= 0) {
-                return new Cartesian2.Rectangle();
-            }
-            var halfWidth = width * 0.5;
-
-            scratchCartographicMin.latitude = Number.POSITIVE_INFINITY;
-            scratchCartographicMin.longitude = Number.POSITIVE_INFINITY;
-            scratchCartographicMax.latitude = Number.NEGATIVE_INFINITY;
-            scratchCartographicMax.longitude = Number.NEGATIVE_INFINITY;
-
-            var lat, lon;
-            if (cornerType === PolylineVolumeGeometryLibrary.CornerType.ROUNDED) {
-                // Compute start cap
-                var first = cleanPositions[0];
-                Cartesian2.Cartesian3.subtract(first, cleanPositions[1], scratchCartesianOffset);
-                Cartesian2.Cartesian3.normalize(scratchCartesianOffset, scratchCartesianOffset);
-                Cartesian2.Cartesian3.multiplyByScalar(scratchCartesianOffset, halfWidth, scratchCartesianOffset);
-                Cartesian2.Cartesian3.add(first, scratchCartesianOffset, scratchCartesianEnds);
-
-                ellipsoid.cartesianToCartographic(scratchCartesianEnds, scratchCartographic);
-                lat = scratchCartographic.latitude;
-                lon = scratchCartographic.longitude;
-                scratchCartographicMin.latitude = Math.min(scratchCartographicMin.latitude, lat);
-                scratchCartographicMin.longitude = Math.min(scratchCartographicMin.longitude, lon);
-                scratchCartographicMax.latitude = Math.max(scratchCartographicMax.latitude, lat);
-                scratchCartographicMax.longitude = Math.max(scratchCartographicMax.longitude, lon);
-            }
-
-            // Compute the rest
-            for (var i = 0; i < length-1; ++i) {
-                computeOffsetPoints(cleanPositions[i], cleanPositions[i+1], ellipsoid, halfWidth,
-                    scratchCartographicMin, scratchCartographicMax);
-            }
-
-            // Compute ending point
-            var last = cleanPositions[length-1];
-            Cartesian2.Cartesian3.subtract(last, cleanPositions[length-2], scratchCartesianOffset);
-            Cartesian2.Cartesian3.normalize(scratchCartesianOffset, scratchCartesianOffset);
-            Cartesian2.Cartesian3.multiplyByScalar(scratchCartesianOffset, halfWidth, scratchCartesianOffset);
-            Cartesian2.Cartesian3.add(last, scratchCartesianOffset, scratchCartesianEnds);
-            computeOffsetPoints(last, scratchCartesianEnds, ellipsoid, halfWidth,
-                scratchCartographicMin, scratchCartographicMax);
-
-            if (cornerType === PolylineVolumeGeometryLibrary.CornerType.ROUNDED) {
-                // Compute end cap
-                ellipsoid.cartesianToCartographic(scratchCartesianEnds, scratchCartographic);
-                lat = scratchCartographic.latitude;
-                lon = scratchCartographic.longitude;
-                scratchCartographicMin.latitude = Math.min(scratchCartographicMin.latitude, lat);
-                scratchCartographicMin.longitude = Math.min(scratchCartographicMin.longitude, lon);
-                scratchCartographicMax.latitude = Math.max(scratchCartographicMax.latitude, lat);
-                scratchCartographicMax.longitude = Math.max(scratchCartographicMax.longitude, lon);
-            }
-
-            var rectangle = when.defined(result) ? result : new Cartesian2.Rectangle();
-            rectangle.north = scratchCartographicMax.latitude;
-            rectangle.south = scratchCartographicMin.latitude;
-            rectangle.east = scratchCartographicMax.longitude;
-            rectangle.west = scratchCartographicMin.longitude;
-
-            return rectangle;
-        }
-
-        /**
-         * A description of a corridor. Corridor geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}.
-         *
-         * @alias CorridorGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of positions that define the center of the corridor.
-         * @param {Number} options.width The distance between the edges of the corridor in meters.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Number} [options.height=0] The distance in meters between the ellipsoid surface and the positions.
-         * @param {Number} [options.extrudedHeight] The distance in meters between the ellipsoid surface and the extruded face.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @param {CornerType} [options.cornerType=CornerType.ROUNDED] Determines the style of the corners.
-         *
-         * @see CorridorGeometry.createGeometry
-         * @see Packable
-         *
-         * @demo {@link https://sandcastle.cesium.com/index.html?src=Corridor.html|Cesium Sandcastle Corridor Demo}
-         *
-         * @example
-         * var corridor = new Cesium.CorridorGeometry({
-         *   vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
-         *   positions : Cesium.Cartesian3.fromDegreesArray([-72.0, 40.0, -70.0, 35.0]),
-         *   width : 100000
-         * });
-         */
-        function CorridorGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var positions = options.positions;
-            var width = options.width;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('options.positions', positions);
-            Check.Check.defined('options.width', width);
-            //>>includeEnd('debug');
-
-            var height = when.defaultValue(options.height, 0.0);
-            var extrudedHeight = when.defaultValue(options.extrudedHeight, height);
-
-            this._positions = positions;
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84));
-            this._vertexFormat = VertexFormat.VertexFormat.clone(when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT));
-            this._width = width;
-            this._height = Math.max(height, extrudedHeight);
-            this._extrudedHeight = Math.min(height, extrudedHeight);
-            this._cornerType = when.defaultValue(options.cornerType, PolylineVolumeGeometryLibrary.CornerType.ROUNDED);
-            this._granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            this._shadowVolume = when.defaultValue(options.shadowVolume, false);
-            this._workerName = 'createCorridorGeometry';
-            this._offsetAttribute = options.offsetAttribute;
-            this._rectangle = undefined;
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = 1 + positions.length * Cartesian2.Cartesian3.packedLength + Cartesian2.Ellipsoid.packedLength + VertexFormat.VertexFormat.packedLength + 7;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {CorridorGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        CorridorGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var positions = value._positions;
-            var length = positions.length;
-            array[startingIndex++] = length;
-
-            for (var i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                Cartesian2.Cartesian3.pack(positions[i], array, startingIndex);
-            }
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            array[startingIndex++] = value._width;
-            array[startingIndex++] = value._height;
-            array[startingIndex++] = value._extrudedHeight;
-            array[startingIndex++] = value._cornerType;
-            array[startingIndex++] = value._granularity;
-            array[startingIndex++] = value._shadowVolume ? 1.0 : 0.0;
-            array[startingIndex] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-        var scratchOptions = {
-            positions : undefined,
-            ellipsoid : scratchEllipsoid,
-            vertexFormat : scratchVertexFormat,
-            width : undefined,
-            height : undefined,
-            extrudedHeight : undefined,
-            cornerType : undefined,
-            granularity : undefined,
-            shadowVolume: undefined,
-            offsetAttribute: undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {CorridorGeometry} [result] The object into which to store the result.
-         * @returns {CorridorGeometry} The modified result parameter or a new CorridorGeometry instance if one was not provided.
-         */
-        CorridorGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var length = array[startingIndex++];
-            var positions = new Array(length);
-
-            for (var i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                positions[i] = Cartesian2.Cartesian3.unpack(array, startingIndex);
-            }
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            var width = array[startingIndex++];
-            var height = array[startingIndex++];
-            var extrudedHeight = array[startingIndex++];
-            var cornerType = array[startingIndex++];
-            var granularity = array[startingIndex++];
-            var shadowVolume = array[startingIndex++] === 1.0;
-            var offsetAttribute = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.positions = positions;
-                scratchOptions.width = width;
-                scratchOptions.height = height;
-                scratchOptions.extrudedHeight = extrudedHeight;
-                scratchOptions.cornerType = cornerType;
-                scratchOptions.granularity = granularity;
-                scratchOptions.shadowVolume = shadowVolume;
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-                return new CorridorGeometry(scratchOptions);
-            }
-
-            result._positions = positions;
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._width = width;
-            result._height = height;
-            result._extrudedHeight = extrudedHeight;
-            result._cornerType = cornerType;
-            result._granularity = granularity;
-            result._shadowVolume = shadowVolume;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the bounding rectangle given the provided options
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of positions that define the center of the corridor.
-         * @param {Number} options.width The distance between the edges of the corridor in meters.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @param {CornerType} [options.cornerType=CornerType.ROUNDED] Determines the style of the corners.
-         * @param {Rectangle} [result] An object in which to store the result.
-         *
-         * @returns {Rectangle} The result rectangle.
-         */
-        CorridorGeometry.computeRectangle = function(options, result) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var positions = options.positions;
-            var width = options.width;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('options.positions', positions);
-            Check.Check.defined('options.width', width);
-            //>>includeEnd('debug');
-
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var cornerType = when.defaultValue(options.cornerType, PolylineVolumeGeometryLibrary.CornerType.ROUNDED);
-
-            return computeRectangle(positions, ellipsoid, width, cornerType, result);
-        };
-
-        /**
-         * Computes the geometric representation of a corridor, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {CorridorGeometry} corridorGeometry A description of the corridor.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        CorridorGeometry.createGeometry = function(corridorGeometry) {
-            var positions = corridorGeometry._positions;
-            var width = corridorGeometry._width;
-            var ellipsoid = corridorGeometry._ellipsoid;
-
-            positions = scaleToSurface(positions, ellipsoid);
-            var cleanPositions = arrayRemoveDuplicates.arrayRemoveDuplicates(positions, Cartesian2.Cartesian3.equalsEpsilon);
-
-            if ((cleanPositions.length < 2) || (width <= 0)) {
-                return;
-            }
-
-            var height = corridorGeometry._height;
-            var extrudedHeight = corridorGeometry._extrudedHeight;
-            var extrude = !_Math.CesiumMath.equalsEpsilon(height, extrudedHeight, 0, _Math.CesiumMath.EPSILON2);
-
-            var vertexFormat = corridorGeometry._vertexFormat;
-            var params = {
-                ellipsoid : ellipsoid,
-                positions : cleanPositions,
-                width : width,
-                cornerType : corridorGeometry._cornerType,
-                granularity : corridorGeometry._granularity,
-                saveAttributes: true
-            };
-            var attr;
-            if (extrude) {
-                params.height = height;
-                params.extrudedHeight = extrudedHeight;
-                params.shadowVolume = corridorGeometry._shadowVolume;
-                params.offsetAttribute = corridorGeometry._offsetAttribute;
-                attr = computePositionsExtruded(params, vertexFormat);
-            } else {
-                var computedPositions = CorridorGeometryLibrary.CorridorGeometryLibrary.computePositions(params);
-                attr = combine(computedPositions, vertexFormat, ellipsoid);
-                attr.attributes.position.values = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(attr.attributes.position.values, height, ellipsoid);
-
-                if (when.defined(corridorGeometry._offsetAttribute)) {
-                    var applyOffsetValue = corridorGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    var length = attr.attributes.position.values.length;
-                    var applyOffset = new Uint8Array(length / 3);
-                    GeometryOffsetAttribute.arrayFill(applyOffset, applyOffsetValue);
-                    attr.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                        componentsPerAttribute : 1,
-                        values: applyOffset
-                    });
-                }
-            }
-            var attributes = attr.attributes;
-            var boundingSphere = BoundingSphere.BoundingSphere.fromVertices(attributes.position.values, undefined, 3);
-            if (!vertexFormat.position) {
-                attr.attributes.position.values = undefined;
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : attr.indices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES,
-                boundingSphere : boundingSphere,
-                offsetAttribute : corridorGeometry._offsetAttribute
-            });
-        };
-
-        /**
-         * @private
-         */
-        CorridorGeometry.createShadowVolume = function(corridorGeometry, minHeightFunc, maxHeightFunc) {
-            var granularity = corridorGeometry._granularity;
-            var ellipsoid = corridorGeometry._ellipsoid;
-
-            var minHeight = minHeightFunc(granularity, ellipsoid);
-            var maxHeight = maxHeightFunc(granularity, ellipsoid);
-
-            return new CorridorGeometry({
-                positions : corridorGeometry._positions,
-                width : corridorGeometry._width,
-                cornerType : corridorGeometry._cornerType,
-                ellipsoid : ellipsoid,
-                granularity : granularity,
-                extrudedHeight : minHeight,
-                height : maxHeight,
-                vertexFormat : VertexFormat.VertexFormat.POSITION_ONLY,
-                shadowVolume: true
-            });
-        };
-
-        Object.defineProperties(CorridorGeometry.prototype, {
-            /**
-             * @private
-             */
-            rectangle : {
-                get : function() {
-                    if (!when.defined(this._rectangle)) {
-                        this._rectangle = computeRectangle(this._positions, this._ellipsoid, this._width, this._cornerType);
-                    }
-                    return this._rectangle;
-                }
-            },
-            /**
-             * For remapping texture coordinates when rendering CorridorGeometries as GroundPrimitives.
-             *
-             * Corridors don't support stRotation,
-             * so just return the corners of the original system.
-             * @private
-             */
-            textureCoordinateRotationPoints : {
-                get : function() {
-                    return [0, 0, 0, 1, 1, 0];
-                }
-            }
-        });
-
-    function createCorridorGeometry(corridorGeometry, offset) {
-        if (when.defined(offset)) {
-            corridorGeometry = CorridorGeometry.unpack(corridorGeometry, offset);
-        }
-        corridorGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(corridorGeometry._ellipsoid);
-        return CorridorGeometry.createGeometry(corridorGeometry);
-    }
-
-    return createCorridorGeometry;
-
-});
diff --git a/libs/supermap/Workers/createCorridorOutlineGeometry.js b/libs/supermap/Workers/createCorridorOutlineGeometry.js
deleted file mode 100644
index d17d76f..0000000
--- a/libs/supermap/Workers/createCorridorOutlineGeometry.js
+++ /dev/null
@@ -1,546 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './GeometryOffsetAttribute-ca302482', './arrayRemoveDuplicates-f0b089b1', './EllipsoidTangentPlane-fe3014f8', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './PolylineVolumeGeometryLibrary-eb1fcd3f', './EllipsoidGeodesic-15923280', './PolylinePipeline-3f99899a', './CorridorGeometryLibrary-388594c9'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, IntersectionTests, Plane, GeometryOffsetAttribute, arrayRemoveDuplicates, EllipsoidTangentPlane, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, PolylineVolumeGeometryLibrary, EllipsoidGeodesic, PolylinePipeline, CorridorGeometryLibrary) { 'use strict';
-
-    var cartesian1 = new Cartesian2.Cartesian3();
-        var cartesian2 = new Cartesian2.Cartesian3();
-        var cartesian3 = new Cartesian2.Cartesian3();
-
-        function scaleToSurface(positions, ellipsoid) {
-            for (var i = 0; i < positions.length; i++) {
-                positions[i] = ellipsoid.scaleToGeodeticSurface(positions[i], positions[i]);
-            }
-            return positions;
-        }
-
-        function combine(computedPositions, cornerType) {
-            var wallIndices = [];
-            var positions = computedPositions.positions;
-            var corners = computedPositions.corners;
-            var endPositions = computedPositions.endPositions;
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            var corner;
-            var leftCount = 0;
-            var rightCount = 0;
-            var i;
-            var indicesLength = 0;
-            var length;
-            for (i = 0; i < positions.length; i += 2) {
-                length = positions[i].length - 3;
-                leftCount += length; //subtracting 3 to account for duplicate points at corners
-                indicesLength += length / 3 * 4;
-                rightCount += positions[i + 1].length - 3;
-            }
-            leftCount += 3; //add back count for end positions
-            rightCount += 3;
-            for (i = 0; i < corners.length; i++) {
-                corner = corners[i];
-                var leftSide = corners[i].leftPositions;
-                if (when.defined(leftSide)) {
-                    length = leftSide.length;
-                    leftCount += length;
-                    indicesLength += length / 3 * 2;
-                } else {
-                    length = corners[i].rightPositions.length;
-                    rightCount += length;
-                    indicesLength += length / 3 * 2;
-                }
-            }
-
-            var addEndPositions = when.defined(endPositions);
-            var endPositionLength;
-            if (addEndPositions) {
-                endPositionLength = endPositions[0].length - 3;
-                leftCount += endPositionLength;
-                rightCount += endPositionLength;
-                endPositionLength /= 3;
-                indicesLength += endPositionLength * 4;
-            }
-            var size = leftCount + rightCount;
-            var finalPositions = new Float64Array(size);
-            var front = 0;
-            var back = size - 1;
-            var UL, LL, UR, LR;
-            var rightPos, leftPos;
-            var halfLength = endPositionLength / 2;
-
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(size / 3, indicesLength + 4);
-            var index = 0;
-
-            indices[index++] = front / 3;
-            indices[index++] = (back - 2) / 3;
-            if (addEndPositions) { // add rounded end
-                wallIndices.push(front / 3);
-                leftPos = cartesian1;
-                rightPos = cartesian2;
-                var firstEndPositions = endPositions[0];
-                for (i = 0; i < halfLength; i++) {
-                    leftPos = Cartesian2.Cartesian3.fromArray(firstEndPositions, (halfLength - 1 - i) * 3, leftPos);
-                    rightPos = Cartesian2.Cartesian3.fromArray(firstEndPositions, (halfLength + i) * 3, rightPos);
-                    CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, rightPos, front);
-                    CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, leftPos, undefined, back);
-
-                    LL = front / 3;
-                    LR = LL + 1;
-                    UL = (back - 2) / 3;
-                    UR = UL - 1;
-                    indices[index++] = UL;
-                    indices[index++] = UR;
-                    indices[index++] = LL;
-                    indices[index++] = LR;
-
-                    front += 3;
-                    back -= 3;
-                }
-            }
-
-            var posIndex = 0;
-            var rightEdge = positions[posIndex++]; //add first two edges
-            var leftEdge = positions[posIndex++];
-            finalPositions.set(rightEdge, front);
-            finalPositions.set(leftEdge, back - leftEdge.length + 1);
-
-            length = leftEdge.length - 3;
-            wallIndices.push(front / 3, (back - 2) / 3);
-            for (i = 0; i < length; i += 3) {
-                LL = front / 3;
-                LR = LL + 1;
-                UL = (back - 2) / 3;
-                UR = UL - 1;
-                indices[index++] = UL;
-                indices[index++] = UR;
-                indices[index++] = LL;
-                indices[index++] = LR;
-
-                front += 3;
-                back -= 3;
-            }
-
-            for (i = 0; i < corners.length; i++) {
-                var j;
-                corner = corners[i];
-                var l = corner.leftPositions;
-                var r = corner.rightPositions;
-                var start;
-                var outsidePoint = cartesian3;
-                if (when.defined(l)) {
-                    back -= 3;
-                    start = UR;
-                    wallIndices.push(LR);
-                    for (j = 0; j < l.length / 3; j++) {
-                        outsidePoint = Cartesian2.Cartesian3.fromArray(l, j * 3, outsidePoint);
-                        indices[index++] = start - j - 1;
-                        indices[index++] = start - j;
-                        CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, outsidePoint, undefined, back);
-                        back -= 3;
-                    }
-                    wallIndices.push(start - Math.floor(l.length / 6));
-                    if (cornerType === PolylineVolumeGeometryLibrary.CornerType.BEVELED) {
-                        wallIndices.push((back - 2) / 3 + 1);
-                    }
-                    front += 3;
-                } else {
-                    front += 3;
-                    start = LR;
-                    wallIndices.push(UR);
-                    for (j = 0; j < r.length / 3; j++) {
-                        outsidePoint = Cartesian2.Cartesian3.fromArray(r, j * 3, outsidePoint);
-                        indices[index++] = start + j;
-                        indices[index++] = start + j + 1;
-                        CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, outsidePoint, front);
-                        front += 3;
-                    }
-                    wallIndices.push(start + Math.floor(r.length / 6));
-                    if (cornerType === PolylineVolumeGeometryLibrary.CornerType.BEVELED) {
-                        wallIndices.push(front / 3 - 1);
-                    }
-                    back -= 3;
-                }
-                rightEdge = positions[posIndex++];
-                leftEdge = positions[posIndex++];
-                rightEdge.splice(0, 3); //remove duplicate points added by corner
-                leftEdge.splice(leftEdge.length - 3, 3);
-                finalPositions.set(rightEdge, front);
-                finalPositions.set(leftEdge, back - leftEdge.length + 1);
-                length = leftEdge.length - 3;
-
-                for (j = 0; j < leftEdge.length; j += 3) {
-                    LR = front / 3;
-                    LL = LR - 1;
-                    UR = (back - 2) / 3;
-                    UL = UR + 1;
-                    indices[index++] = UL;
-                    indices[index++] = UR;
-                    indices[index++] = LL;
-                    indices[index++] = LR;
-                    front += 3;
-                    back -= 3;
-                }
-                front -= 3;
-                back += 3;
-                wallIndices.push(front / 3, (back - 2) / 3);
-            }
-
-            if (addEndPositions) { // add rounded end
-                front += 3;
-                back -= 3;
-                leftPos = cartesian1;
-                rightPos = cartesian2;
-                var lastEndPositions = endPositions[1];
-                for (i = 0; i < halfLength; i++) {
-                    leftPos = Cartesian2.Cartesian3.fromArray(lastEndPositions, (endPositionLength - i - 1) * 3, leftPos);
-                    rightPos = Cartesian2.Cartesian3.fromArray(lastEndPositions, i * 3, rightPos);
-                    CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, leftPos, undefined, back);
-                    CorridorGeometryLibrary.CorridorGeometryLibrary.addAttribute(finalPositions, rightPos, front);
-
-                    LR = front / 3;
-                    LL = LR - 1;
-                    UR = (back - 2) / 3;
-                    UL = UR + 1;
-                    indices[index++] = UL;
-                    indices[index++] = UR;
-                    indices[index++] = LL;
-                    indices[index++] = LR;
-
-                    front += 3;
-                    back -= 3;
-                }
-
-                wallIndices.push(front / 3);
-            } else {
-                wallIndices.push(front / 3, (back - 2) / 3);
-            }
-            indices[index++] = front / 3;
-            indices[index++] = (back - 2) / 3;
-
-            attributes.position = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : finalPositions
-            });
-
-            return {
-                attributes : attributes,
-                indices : indices,
-                wallIndices : wallIndices
-            };
-        }
-
-        function computePositionsExtruded(params) {
-            var ellipsoid = params.ellipsoid;
-            var computedPositions = CorridorGeometryLibrary.CorridorGeometryLibrary.computePositions(params);
-            var attr = combine(computedPositions, params.cornerType);
-            var wallIndices = attr.wallIndices;
-            var height = params.height;
-            var extrudedHeight = params.extrudedHeight;
-            var attributes = attr.attributes;
-            var indices = attr.indices;
-            var positions = attributes.position.values;
-            var length = positions.length;
-            var extrudedPositions = new Float64Array(length);
-            extrudedPositions.set(positions);
-            var newPositions = new Float64Array(length * 2);
-
-            positions = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(positions, height, ellipsoid);
-            extrudedPositions = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(extrudedPositions, extrudedHeight, ellipsoid);
-            newPositions.set(positions);
-            newPositions.set(extrudedPositions, length);
-            attributes.position.values = newPositions;
-
-            length /= 3;
-            if (when.defined(params.offsetAttribute)) {
-                var applyOffset = new Uint8Array(length * 2);
-                if (params.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                    applyOffset = GeometryOffsetAttribute.arrayFill(applyOffset, 1, 0, length);
-                } else {
-                    var applyOffsetValue = params.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    applyOffset = GeometryOffsetAttribute.arrayFill(applyOffset, applyOffsetValue);
-                }
-
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values: applyOffset
-                });
-            }
-
-            var i;
-            var iLength = indices.length;
-            var newIndices = IndexDatatype.IndexDatatype.createTypedArray(newPositions.length / 3, (iLength + wallIndices.length) * 2);
-            newIndices.set(indices);
-            var index = iLength;
-            for (i = 0; i < iLength; i += 2) { // bottom indices
-                var v0 = indices[i];
-                var v1 = indices[i + 1];
-                newIndices[index++] = v0 + length;
-                newIndices[index++] = v1 + length;
-            }
-
-            var UL, LL;
-            for (i = 0; i < wallIndices.length; i++) { //wall indices
-                UL = wallIndices[i];
-                LL = UL + length;
-                newIndices[index++] = UL;
-                newIndices[index++] = LL;
-            }
-
-            return {
-                attributes : attributes,
-                indices : newIndices
-            };
-        }
-
-        /**
-         * A description of a corridor outline.
-         *
-         * @alias CorridorOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of positions that define the center of the corridor outline.
-         * @param {Number} options.width The distance between the edges of the corridor outline.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Number} [options.height=0] The distance in meters between the positions and the ellipsoid surface.
-         * @param {Number} [options.extrudedHeight] The distance in meters between the extruded face and the ellipsoid surface.
-         * @param {CornerType} [options.cornerType=CornerType.ROUNDED] Determines the style of the corners.
-         *
-         * @see CorridorOutlineGeometry.createGeometry
-         *
-         * @example
-         * var corridor = new Cesium.CorridorOutlineGeometry({
-         *   positions : Cesium.Cartesian3.fromDegreesArray([-72.0, 40.0, -70.0, 35.0]),
-         *   width : 100000
-         * });
-         */
-        function CorridorOutlineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var positions = options.positions;
-            var width = options.width;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('options.positions', positions);
-            Check.Check.typeOf.number('options.width', width);
-            //>>includeEnd('debug');
-
-            var height = when.defaultValue(options.height, 0.0);
-            var extrudedHeight = when.defaultValue(options.extrudedHeight, height);
-
-            this._positions = positions;
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84));
-            this._width = width;
-            this._height = Math.max(height, extrudedHeight);
-            this._extrudedHeight = Math.min(height, extrudedHeight);
-            this._cornerType = when.defaultValue(options.cornerType, PolylineVolumeGeometryLibrary.CornerType.ROUNDED);
-            this._granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            this._offsetAttribute = options.offsetAttribute;
-            this._workerName = 'createCorridorOutlineGeometry';
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = 1 + positions.length * Cartesian2.Cartesian3.packedLength + Cartesian2.Ellipsoid.packedLength + 6;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {CorridorOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        CorridorOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.typeOf.object('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var positions = value._positions;
-            var length = positions.length;
-            array[startingIndex++] = length;
-
-            for (var i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                Cartesian2.Cartesian3.pack(positions[i], array, startingIndex);
-            }
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            array[startingIndex++] = value._width;
-            array[startingIndex++] = value._height;
-            array[startingIndex++] = value._extrudedHeight;
-            array[startingIndex++] = value._cornerType;
-            array[startingIndex++] = value._granularity;
-            array[startingIndex] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchOptions = {
-            positions : undefined,
-            ellipsoid : scratchEllipsoid,
-            width : undefined,
-            height : undefined,
-            extrudedHeight : undefined,
-            cornerType : undefined,
-            granularity : undefined,
-            offsetAttribute: undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {CorridorOutlineGeometry} [result] The object into which to store the result.
-         * @returns {CorridorOutlineGeometry} The modified result parameter or a new CorridorOutlineGeometry instance if one was not provided.
-         */
-        CorridorOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var length = array[startingIndex++];
-            var positions = new Array(length);
-
-            for (var i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                positions[i] = Cartesian2.Cartesian3.unpack(array, startingIndex);
-            }
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var width = array[startingIndex++];
-            var height = array[startingIndex++];
-            var extrudedHeight = array[startingIndex++];
-            var cornerType = array[startingIndex++];
-            var granularity = array[startingIndex++];
-            var offsetAttribute = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.positions = positions;
-                scratchOptions.width = width;
-                scratchOptions.height = height;
-                scratchOptions.extrudedHeight = extrudedHeight;
-                scratchOptions.cornerType = cornerType;
-                scratchOptions.granularity = granularity;
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-                return new CorridorOutlineGeometry(scratchOptions);
-            }
-
-            result._positions = positions;
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._width = width;
-            result._height = height;
-            result._extrudedHeight = extrudedHeight;
-            result._cornerType = cornerType;
-            result._granularity = granularity;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of a corridor, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {CorridorOutlineGeometry} corridorOutlineGeometry A description of the corridor.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        CorridorOutlineGeometry.createGeometry = function(corridorOutlineGeometry) {
-            var positions = corridorOutlineGeometry._positions;
-            var width = corridorOutlineGeometry._width;
-            var ellipsoid = corridorOutlineGeometry._ellipsoid;
-
-            positions = scaleToSurface(positions, ellipsoid);
-            var cleanPositions = arrayRemoveDuplicates.arrayRemoveDuplicates(positions, Cartesian2.Cartesian3.equalsEpsilon);
-
-            if ((cleanPositions.length < 2) || (width <= 0)) {
-                return;
-            }
-
-            var height = corridorOutlineGeometry._height;
-            var extrudedHeight = corridorOutlineGeometry._extrudedHeight;
-            var extrude = !_Math.CesiumMath.equalsEpsilon(height, extrudedHeight, 0, _Math.CesiumMath.EPSILON2);
-
-            var params = {
-                ellipsoid : ellipsoid,
-                positions : cleanPositions,
-                width : width,
-                cornerType : corridorOutlineGeometry._cornerType,
-                granularity : corridorOutlineGeometry._granularity,
-                saveAttributes : false
-            };
-            var attr;
-            if (extrude) {
-                params.height = height;
-                params.extrudedHeight = extrudedHeight;
-                params.offsetAttribute = corridorOutlineGeometry._offsetAttribute;
-                attr = computePositionsExtruded(params);
-            } else {
-                var computedPositions = CorridorGeometryLibrary.CorridorGeometryLibrary.computePositions(params);
-                attr = combine(computedPositions, params.cornerType);
-                attr.attributes.position.values = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(attr.attributes.position.values, height, ellipsoid);
-
-                if (when.defined(corridorOutlineGeometry._offsetAttribute)) {
-                    var length = attr.attributes.position.values.length;
-                    var applyOffset = new Uint8Array(length / 3);
-                    var offsetValue = corridorOutlineGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                    attr.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                        componentsPerAttribute : 1,
-                        values: applyOffset
-                    });
-                }
-            }
-            var attributes = attr.attributes;
-            var boundingSphere = BoundingSphere.BoundingSphere.fromVertices(attributes.position.values, undefined, 3);
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : attr.indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES,
-                boundingSphere : boundingSphere,
-                offsetAttribute : corridorOutlineGeometry._offsetAttribute
-            });
-        };
-
-    function createCorridorOutlineGeometry(corridorOutlineGeometry, offset) {
-        if (when.defined(offset)) {
-            corridorOutlineGeometry = CorridorOutlineGeometry.unpack(corridorOutlineGeometry, offset);
-        }
-        corridorOutlineGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(corridorOutlineGeometry._ellipsoid);
-        return CorridorOutlineGeometry.createGeometry(corridorOutlineGeometry);
-    }
-
-    return createCorridorOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createCylinderGeometry.js b/libs/supermap/Workers/createCylinderGeometry.js
deleted file mode 100644
index c571e6e..0000000
--- a/libs/supermap/Workers/createCylinderGeometry.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './CylinderGeometryLibrary-8c0fda9f', './CylinderGeometry-e7307876'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, VertexFormat, CylinderGeometryLibrary, CylinderGeometry) { 'use strict';
-
-    function createCylinderGeometry(cylinderGeometry, offset) {
-        if (when.defined(offset)) {
-            cylinderGeometry = CylinderGeometry.CylinderGeometry.unpack(cylinderGeometry, offset);
-        }
-        return CylinderGeometry.CylinderGeometry.createGeometry(cylinderGeometry);
-    }
-
-    return createCylinderGeometry;
-
-});
diff --git a/libs/supermap/Workers/createCylinderOutlineGeometry.js b/libs/supermap/Workers/createCylinderOutlineGeometry.js
deleted file mode 100644
index b337bf4..0000000
--- a/libs/supermap/Workers/createCylinderOutlineGeometry.js
+++ /dev/null
@@ -1,261 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './CylinderGeometryLibrary-8c0fda9f'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, CylinderGeometryLibrary) { 'use strict';
-
-    var radiusScratch = new Cartesian2.Cartesian2();
-
-        /**
-         * A description of the outline of a cylinder.
-         *
-         * @alias CylinderOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Number} options.length The length of the cylinder.
-         * @param {Number} options.topRadius The radius of the top of the cylinder.
-         * @param {Number} options.bottomRadius The radius of the bottom of the cylinder.
-         * @param {Number} [options.slices=128] The number of edges around the perimeter of the cylinder.
-         * @param {Number} [options.numberOfVerticalLines=16] Number of lines to draw between the top and bottom surfaces of the cylinder.
-         *
-         * @exception {DeveloperError} options.length must be greater than 0.
-         * @exception {DeveloperError} options.topRadius must be greater than 0.
-         * @exception {DeveloperError} options.bottomRadius must be greater than 0.
-         * @exception {DeveloperError} bottomRadius and topRadius cannot both equal 0.
-         * @exception {DeveloperError} options.slices must be greater than or equal to 3.
-         *
-         * @see CylinderOutlineGeometry.createGeometry
-         *
-         * @example
-         * // create cylinder geometry
-         * var cylinder = new Cesium.CylinderOutlineGeometry({
-         *     length: 200000,
-         *     topRadius: 80000,
-         *     bottomRadius: 200000,
-         * });
-         * var geometry = Cesium.CylinderOutlineGeometry.createGeometry(cylinder);
-         */
-        function CylinderOutlineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var length = options.length;
-            var topRadius = options.topRadius;
-            var bottomRadius = options.bottomRadius;
-            var slices = when.defaultValue(options.slices, 128);
-            var numberOfVerticalLines = Math.max(when.defaultValue(options.numberOfVerticalLines, 16), 0);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('options.positions', length);
-            Check.Check.typeOf.number('options.topRadius', topRadius);
-            Check.Check.typeOf.number('options.bottomRadius', bottomRadius);
-            Check.Check.typeOf.number.greaterThanOrEquals('options.slices', slices, 3);
-            if (when.defined(options.offsetAttribute) && options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                throw new Check.DeveloperError('GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.');
-            }
-            //>>includeEnd('debug');
-
-            this._length = length;
-            this._topRadius = topRadius;
-            this._bottomRadius = bottomRadius;
-            this._slices = slices;
-            this._numberOfVerticalLines = numberOfVerticalLines;
-            this._offsetAttribute = options.offsetAttribute;
-            this._workerName = 'createCylinderOutlineGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        CylinderOutlineGeometry.packedLength = 6;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {CylinderOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        CylinderOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            array[startingIndex++] = value._length;
-            array[startingIndex++] = value._topRadius;
-            array[startingIndex++] = value._bottomRadius;
-            array[startingIndex++] = value._slices;
-            array[startingIndex++] = value._numberOfVerticalLines;
-            array[startingIndex] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchOptions = {
-            length : undefined,
-            topRadius : undefined,
-            bottomRadius : undefined,
-            slices : undefined,
-            numberOfVerticalLines : undefined,
-            offsetAttribute : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {CylinderOutlineGeometry} [result] The object into which to store the result.
-         * @returns {CylinderOutlineGeometry} The modified result parameter or a new CylinderOutlineGeometry instance if one was not provided.
-         */
-        CylinderOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var length = array[startingIndex++];
-            var topRadius = array[startingIndex++];
-            var bottomRadius = array[startingIndex++];
-            var slices = array[startingIndex++];
-            var numberOfVerticalLines = array[startingIndex++];
-            var offsetAttribute = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.length = length;
-                scratchOptions.topRadius = topRadius;
-                scratchOptions.bottomRadius = bottomRadius;
-                scratchOptions.slices = slices;
-                scratchOptions.numberOfVerticalLines = numberOfVerticalLines;
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-                return new CylinderOutlineGeometry(scratchOptions);
-            }
-
-            result._length = length;
-            result._topRadius = topRadius;
-            result._bottomRadius = bottomRadius;
-            result._slices = slices;
-            result._numberOfVerticalLines = numberOfVerticalLines;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of an outline of a cylinder, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {CylinderOutlineGeometry} cylinderGeometry A description of the cylinder outline.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        CylinderOutlineGeometry.createGeometry = function(cylinderGeometry) {
-            var length = cylinderGeometry._length;
-            var topRadius = cylinderGeometry._topRadius;
-            var bottomRadius = cylinderGeometry._bottomRadius;
-            var slices = cylinderGeometry._slices;
-            var numberOfVerticalLines = cylinderGeometry._numberOfVerticalLines;
-
-            if ((length <= 0) || (topRadius < 0) || (bottomRadius < 0) || ((topRadius === 0) && (bottomRadius === 0))) {
-                return;
-            }
-
-            var numVertices = slices * 2;
-
-            var positions = CylinderGeometryLibrary.CylinderGeometryLibrary.computePositions(length, topRadius, bottomRadius, slices, false);
-            var numIndices = slices * 2;
-            var numSide;
-            if (numberOfVerticalLines > 0) {
-                var numSideLines = Math.min(numberOfVerticalLines, slices);
-                numSide = Math.round(slices / numSideLines);
-                numIndices += numSideLines;
-            }
-
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(numVertices, numIndices * 2);
-            var index = 0;
-            var i;
-            for (i = 0; i < slices - 1; i++) {
-                indices[index++] = i;
-                indices[index++] = i + 1;
-                indices[index++] = i + slices;
-                indices[index++] = i + 1 + slices;
-            }
-
-            indices[index++] = slices - 1;
-            indices[index++] = 0;
-            indices[index++] = slices + slices - 1;
-            indices[index++] = slices;
-
-            if (numberOfVerticalLines > 0) {
-                for (i = 0; i < slices; i += numSide) {
-                    indices[index++] = i;
-                    indices[index++] = i + slices;
-                }
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            attributes.position = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : positions
-            });
-
-            radiusScratch.x = length * 0.5;
-            radiusScratch.y = Math.max(bottomRadius, topRadius);
-
-            var boundingSphere = new BoundingSphere.BoundingSphere(Cartesian2.Cartesian3.ZERO, Cartesian2.Cartesian2.magnitude(radiusScratch));
-
-            if (when.defined(cylinderGeometry._offsetAttribute)) {
-                length = positions.length;
-                var applyOffset = new Uint8Array(length / 3);
-                var offsetValue = cylinderGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values: applyOffset
-                });
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES,
-                boundingSphere : boundingSphere,
-                offsetAttribute : cylinderGeometry._offsetAttribute
-            });
-        };
-
-    function createCylinderOutlineGeometry(cylinderGeometry, offset) {
-        if (when.defined(offset)) {
-            cylinderGeometry = CylinderOutlineGeometry.unpack(cylinderGeometry, offset);
-        }
-        return CylinderOutlineGeometry.createGeometry(cylinderGeometry);
-    }
-
-    return createCylinderOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createEllipseGeometry.js b/libs/supermap/Workers/createEllipseGeometry.js
deleted file mode 100644
index 00b35f9..0000000
--- a/libs/supermap/Workers/createEllipseGeometry.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './AttributeCompression-50ff7145', './GeometryPipeline-cf04afb6', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './EllipseGeometryLibrary-df806546', './GeometryInstance-41ec5f45', './EllipseGeometry-b36296ff'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, AttributeCompression, GeometryPipeline, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, GeometryOffsetAttribute, VertexFormat, EllipseGeometryLibrary, GeometryInstance, EllipseGeometry) { 'use strict';
-
-    function createEllipseGeometry(ellipseGeometry, offset) {
-        if (when.defined(offset)) {
-            ellipseGeometry = EllipseGeometry.EllipseGeometry.unpack(ellipseGeometry, offset);
-        }
-        ellipseGeometry._center = Cartesian2.Cartesian3.clone(ellipseGeometry._center);
-        ellipseGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(ellipseGeometry._ellipsoid);
-        return EllipseGeometry.EllipseGeometry.createGeometry(ellipseGeometry);
-    }
-
-    return createEllipseGeometry;
-
-});
diff --git a/libs/supermap/Workers/createEllipseOutlineGeometry.js b/libs/supermap/Workers/createEllipseOutlineGeometry.js
deleted file mode 100644
index fcee55c..0000000
--- a/libs/supermap/Workers/createEllipseOutlineGeometry.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './EllipseGeometryLibrary-df806546', './EllipseOutlineGeometry-0fa300c2'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, EllipseGeometryLibrary, EllipseOutlineGeometry) { 'use strict';
-
-    function createEllipseOutlineGeometry(ellipseGeometry, offset) {
-        if (when.defined(offset)) {
-            ellipseGeometry = EllipseOutlineGeometry.EllipseOutlineGeometry.unpack(ellipseGeometry, offset);
-        }
-        ellipseGeometry._center = Cartesian2.Cartesian3.clone(ellipseGeometry._center);
-        ellipseGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(ellipseGeometry._ellipsoid);
-        return EllipseOutlineGeometry.EllipseOutlineGeometry.createGeometry(ellipseGeometry);
-    }
-
-    return createEllipseOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createEllipsoidGeometry.js b/libs/supermap/Workers/createEllipsoidGeometry.js
deleted file mode 100644
index 5df2d22..0000000
--- a/libs/supermap/Workers/createEllipsoidGeometry.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './EllipsoidGeometry-b789d05a'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, VertexFormat, EllipsoidGeometry) { 'use strict';
-
-    function createEllipsoidGeometry(ellipsoidGeometry, offset) {
-        if (when.defined(offset)) {
-            ellipsoidGeometry = EllipsoidGeometry.EllipsoidGeometry.unpack(ellipsoidGeometry, offset);
-        }
-        return EllipsoidGeometry.EllipsoidGeometry.createGeometry(ellipsoidGeometry);
-    }
-
-    return createEllipsoidGeometry;
-
-});
diff --git a/libs/supermap/Workers/createEllipsoidOutlineGeometry.js b/libs/supermap/Workers/createEllipsoidOutlineGeometry.js
deleted file mode 100644
index 63632b3..0000000
--- a/libs/supermap/Workers/createEllipsoidOutlineGeometry.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './EllipsoidOutlineGeometry-696ac0ac'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, EllipsoidOutlineGeometry) { 'use strict';
-
-    function createEllipsoidOutlineGeometry(ellipsoidGeometry, offset) {
-        if (when.defined(ellipsoidGeometry.buffer)) {
-            ellipsoidGeometry = EllipsoidOutlineGeometry.EllipsoidOutlineGeometry.unpack(ellipsoidGeometry, offset);
-        }
-        return EllipsoidOutlineGeometry.EllipsoidOutlineGeometry.createGeometry(ellipsoidGeometry);
-    }
-
-    return createEllipsoidOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createFrustumGeometry.js b/libs/supermap/Workers/createFrustumGeometry.js
deleted file mode 100644
index 5089c6f..0000000
--- a/libs/supermap/Workers/createFrustumGeometry.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './Plane-d0f009aa', './VertexFormat-fe4db402', './FrustumGeometry-0d015f90'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, Plane, VertexFormat, FrustumGeometry) { 'use strict';
-
-    function createFrustumGeometry(frustumGeometry, offset) {
-        if (when.defined(offset)) {
-            frustumGeometry = FrustumGeometry.FrustumGeometry.unpack(frustumGeometry, offset);
-        }
-        return FrustumGeometry.FrustumGeometry.createGeometry(frustumGeometry);
-    }
-
-    return createFrustumGeometry;
-
-});
diff --git a/libs/supermap/Workers/createFrustumOutlineGeometry.js b/libs/supermap/Workers/createFrustumOutlineGeometry.js
deleted file mode 100644
index 1f5e28c..0000000
--- a/libs/supermap/Workers/createFrustumOutlineGeometry.js
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './Plane-d0f009aa', './VertexFormat-fe4db402', './FrustumGeometry-0d015f90'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, Plane, VertexFormat, FrustumGeometry) { 'use strict';
-
-    var PERSPECTIVE = 0;
-        var ORTHOGRAPHIC = 1;
-
-        /**
-         * A description of the outline of a frustum with the given the origin and orientation.
-         *
-         * @alias FrustumOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {PerspectiveFrustum|OrthographicFrustum} options.frustum The frustum.
-         * @param {Cartesian3} options.origin The origin of the frustum.
-         * @param {Quaternion} options.orientation The orientation of the frustum.
-         */
-        function FrustumOutlineGeometry(options) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('options', options);
-            Check.Check.typeOf.object('options.frustum', options.frustum);
-            Check.Check.typeOf.object('options.origin', options.origin);
-            Check.Check.typeOf.object('options.orientation', options.orientation);
-            //>>includeEnd('debug');
-
-            var frustum = options.frustum;
-            var orientation = options.orientation;
-            var origin = options.origin;
-
-            // This is private because it is used by DebugCameraPrimitive to draw a multi-frustum by
-            // creating multiple FrustumOutlineGeometrys. This way the near plane of one frustum doesn't overlap
-            // the far plane of another.
-            var drawNearPlane = when.defaultValue(options._drawNearPlane, true);
-
-            var frustumType;
-            var frustumPackedLength;
-            if (frustum instanceof FrustumGeometry.PerspectiveFrustum) {
-                frustumType = PERSPECTIVE;
-                frustumPackedLength = FrustumGeometry.PerspectiveFrustum.packedLength;
-            } else if (frustum instanceof FrustumGeometry.OrthographicFrustum) {
-                frustumType = ORTHOGRAPHIC;
-                frustumPackedLength = FrustumGeometry.OrthographicFrustum.packedLength;
-            }
-
-            this._frustumType = frustumType;
-            this._frustum = frustum.clone();
-            this._origin = Cartesian2.Cartesian3.clone(origin);
-            this._orientation = Transforms.Quaternion.clone(orientation);
-            this._drawNearPlane = drawNearPlane;
-            this._workerName = 'createFrustumOutlineGeometry';
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = 2 + frustumPackedLength + Cartesian2.Cartesian3.packedLength + Transforms.Quaternion.packedLength;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {FrustumOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        FrustumOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var frustumType = value._frustumType;
-            var frustum = value._frustum;
-
-            array[startingIndex++] = frustumType;
-
-            if (frustumType === PERSPECTIVE) {
-                FrustumGeometry.PerspectiveFrustum.pack(frustum, array, startingIndex);
-                startingIndex += FrustumGeometry.PerspectiveFrustum.packedLength;
-            } else {
-                FrustumGeometry.OrthographicFrustum.pack(frustum, array, startingIndex);
-                startingIndex += FrustumGeometry.OrthographicFrustum.packedLength;
-            }
-
-            Cartesian2.Cartesian3.pack(value._origin, array, startingIndex);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-            Transforms.Quaternion.pack(value._orientation, array, startingIndex);
-            startingIndex += Transforms.Quaternion.packedLength;
-            array[startingIndex] = value._drawNearPlane ? 1.0 : 0.0;
-
-            return array;
-        };
-
-        var scratchPackPerspective = new FrustumGeometry.PerspectiveFrustum();
-        var scratchPackOrthographic = new FrustumGeometry.OrthographicFrustum();
-        var scratchPackQuaternion = new Transforms.Quaternion();
-        var scratchPackorigin = new Cartesian2.Cartesian3();
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {FrustumOutlineGeometry} [result] The object into which to store the result.
-         */
-        FrustumOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var frustumType = array[startingIndex++];
-
-            var frustum;
-            if (frustumType === PERSPECTIVE) {
-                frustum = FrustumGeometry.PerspectiveFrustum.unpack(array, startingIndex, scratchPackPerspective);
-                startingIndex += FrustumGeometry.PerspectiveFrustum.packedLength;
-            } else {
-                frustum = FrustumGeometry.OrthographicFrustum.unpack(array, startingIndex, scratchPackOrthographic);
-                startingIndex += FrustumGeometry.OrthographicFrustum.packedLength;
-            }
-
-            var origin = Cartesian2.Cartesian3.unpack(array, startingIndex, scratchPackorigin);
-            startingIndex += Cartesian2.Cartesian3.packedLength;
-            var orientation = Transforms.Quaternion.unpack(array, startingIndex, scratchPackQuaternion);
-            startingIndex += Transforms.Quaternion.packedLength;
-            var drawNearPlane = array[startingIndex] === 1.0;
-
-            if (!when.defined(result)) {
-                return new FrustumOutlineGeometry({
-                    frustum : frustum,
-                    origin : origin,
-                    orientation : orientation,
-                    _drawNearPlane : drawNearPlane
-                });
-            }
-
-            var frustumResult = frustumType === result._frustumType ? result._frustum : undefined;
-            result._frustum = frustum.clone(frustumResult);
-
-            result._frustumType = frustumType;
-            result._origin = Cartesian2.Cartesian3.clone(origin, result._origin);
-            result._orientation = Transforms.Quaternion.clone(orientation, result._orientation);
-            result._drawNearPlane = drawNearPlane;
-
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of a frustum outline, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {FrustumOutlineGeometry} frustumGeometry A description of the frustum.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        FrustumOutlineGeometry.createGeometry = function(frustumGeometry) {
-            var frustumType = frustumGeometry._frustumType;
-            var frustum = frustumGeometry._frustum;
-            var origin = frustumGeometry._origin;
-            var orientation = frustumGeometry._orientation;
-            var drawNearPlane = frustumGeometry._drawNearPlane;
-
-            var positions = new Float64Array(3 * 4 * 2);
-            FrustumGeometry.FrustumGeometry._computeNearFarPlanes(origin, orientation, frustumType, frustum, positions);
-
-            var attributes = new GeometryAttributes.GeometryAttributes({
-                position : new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : positions
-                })
-            });
-
-            var offset;
-            var index;
-
-            var numberOfPlanes = drawNearPlane ? 2 : 1;
-            var indices = new Uint16Array(8 * (numberOfPlanes + 1));
-
-            // Build the near/far planes
-            var i = drawNearPlane ? 0 : 1;
-            for (; i < 2; ++i) {
-                offset = drawNearPlane ? i * 8 : 0;
-                index = i * 4;
-
-                indices[offset] = index;
-                indices[offset + 1] = index + 1;
-                indices[offset + 2] = index + 1;
-                indices[offset + 3] = index + 2;
-                indices[offset + 4] = index + 2;
-                indices[offset + 5] = index + 3;
-                indices[offset + 6] = index + 3;
-                indices[offset + 7] = index;
-            }
-
-            // Build the sides of the frustums
-            for (i = 0; i < 2; ++i) {
-                offset = (numberOfPlanes + i) * 8;
-                index = i * 4;
-
-                indices[offset] = index;
-                indices[offset + 1] = index + 4;
-                indices[offset + 2] = index + 1;
-                indices[offset + 3] = index + 5;
-                indices[offset + 4] = index + 2;
-                indices[offset + 5] = index + 6;
-                indices[offset + 6] = index + 3;
-                indices[offset + 7] = index + 7;
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES,
-                boundingSphere : BoundingSphere.BoundingSphere.fromVertices(positions)
-            });
-        };
-
-    function createFrustumOutlineGeometry(frustumGeometry, offset) {
-        if (when.defined(offset)) {
-            frustumGeometry = FrustumOutlineGeometry.unpack(frustumGeometry, offset);
-        }
-        return FrustumOutlineGeometry.createGeometry(frustumGeometry);
-    }
-
-    return createFrustumOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createGeometry.js b/libs/supermap/Workers/createGeometry.js
deleted file mode 100644
index 8500fa7..0000000
--- a/libs/supermap/Workers/createGeometry.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './AttributeCompression-50ff7145', './GeometryPipeline-cf04afb6', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './PrimitivePipeline-8dc6083e', './WebMercatorProjection-0391f892', './createTaskProcessorWorker'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, AttributeCompression, GeometryPipeline, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, PrimitivePipeline, WebMercatorProjection, createTaskProcessorWorker) { 'use strict';
-
-    /* global require */
-
-    var moduleCache = {};
-
-    function getModule(moduleName) {
-        var module = moduleCache[moduleName];
-        if (!when.defined(module)) {
-            if (typeof exports === 'object') {
-                // Use CommonJS-style require.
-                moduleCache[module] = module = require('Workers/' + moduleName);
-            } else {
-                // Use AMD-style require.
-                // in web workers, require is synchronous
-                require(['Workers/' + moduleName], function(f) {
-                    module = f;
-                    moduleCache[module] = f;
-                });
-            }
-        }
-        return module;
-    }
-
-    function createGeometry(parameters, transferableObjects) {
-        var subTasks = parameters.subTasks;
-        var length = subTasks.length;
-        var resultsOrPromises = new Array(length);
-
-        for (var i = 0; i < length; i++) {
-            var task = subTasks[i];
-            var geometry = task.geometry;
-            var moduleName = task.moduleName;
-
-            if (when.defined(moduleName)) {
-                var createFunction = getModule(moduleName);
-                resultsOrPromises[i] = createFunction(geometry, task.offset);
-            } else {
-                //Already created geometry
-                resultsOrPromises[i] = geometry;
-            }
-        }
-
-        return when.when.all(resultsOrPromises, function(results) {
-            return PrimitivePipeline.PrimitivePipeline.packCreateGeometryResults(results, transferableObjects);
-        });
-    }
-    var createGeometry$1 = createTaskProcessorWorker(createGeometry);
-
-    return createGeometry$1;
-
-});
diff --git a/libs/supermap/Workers/createGroundPolylineGeometry.js b/libs/supermap/Workers/createGroundPolylineGeometry.js
deleted file mode 100644
index ac3e8cd..0000000
--- a/libs/supermap/Workers/createGroundPolylineGeometry.js
+++ /dev/null
@@ -1,1621 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './EncodedCartesian3-c30f641c', './IntersectionTests-99e636d3', './Plane-d0f009aa', './WebMercatorProjection-0391f892', './arrayRemoveDuplicates-f0b089b1', './ArcType-66bc286a', './EllipsoidRhumbLine-4e6b52b7', './EllipsoidGeodesic-15923280'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, EncodedCartesian3, IntersectionTests, Plane, WebMercatorProjection, arrayRemoveDuplicates, ArcType, EllipsoidRhumbLine, EllipsoidGeodesic) { 'use strict';
-
-    /**
-     * A tiling scheme for geometry referenced to a simple {@link GeographicProjection} where
-     * longitude and latitude are directly mapped to X and Y.  This projection is commonly
-     * known as geographic, equirectangular, equidistant cylindrical, or plate carrée.
-     *
-     * @alias GeographicTilingScheme
-     * @constructor
-     *
-     * @param {Object} [options] Object with the following properties:
-     * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid whose surface is being tiled. Defaults to
-     * the WGS84 ellipsoid.
-     * @param {Rectangle} [options.rectangle=Rectangle.MAX_VALUE] The rectangle, in radians, covered by the tiling scheme.
-     * @param {Number} [options.numberOfLevelZeroTilesX=2] The number of tiles in the X direction at level zero of
-     * the tile tree.
-     * @param {Number} [options.numberOfLevelZeroTilesY=1] The number of tiles in the Y direction at level zero of
-     * the tile tree.
-     */
-    function GeographicTilingScheme(options) {
-        options = when.defaultValue(options, {});
-
-        this._ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-        this._rectangle = when.defaultValue(options.rectangle, Cartesian2.Rectangle.MAX_VALUE);
-        this._projection = new BoundingSphere.GeographicProjection(this._ellipsoid);
-        this._numberOfLevelZeroTilesX = when.defaultValue(options.numberOfLevelZeroTilesX, 2);
-        this._numberOfLevelZeroTilesY = when.defaultValue(options.numberOfLevelZeroTilesY, 1);
-
-
-        this._customDPI = options.customDPI;
-        this._scaleDenominators = options.scaleDenominators;
-
-        this._tileWidth = when.defaultValue(options.tileWidth, 256);
-        this._tileHeight = when.defaultValue(options.tileHeight, 256);
-
-        this._beginLevel = when.defaultValue(options.beginLevel, 0);
-    }
-
-    Object.defineProperties(GeographicTilingScheme.prototype, {
-        /**
-         * Gets the ellipsoid that is tiled by this tiling scheme.
-         * @memberof GeographicTilingScheme.prototype
-         * @type {Ellipsoid}
-         */
-        ellipsoid : {
-            get : function() {
-                return this._ellipsoid;
-            }
-        },
-
-        /**
-         * Gets the rectangle, in radians, covered by this tiling scheme.
-         * @memberof GeographicTilingScheme.prototype
-         * @type {Rectangle}
-         */
-        rectangle : {
-            get : function() {
-                return this._rectangle;
-            }
-        },
-
-        /**
-         * Gets the map projection used by this tiling scheme.
-         * @memberof GeographicTilingScheme.prototype
-         * @type {MapProjection}
-         */
-        projection : {
-            get : function() {
-                return this._projection;
-            }
-        },
-        beginLevel : {
-            get : function() {
-                return this._beginLevel;
-            }
-        }
-    });
-
-    /**
-     * Gets the total number of tiles in the X direction at a specified level-of-detail.
-     *
-     * @param {Number} level The level-of-detail.
-     * @returns {Number} The number of tiles in the X direction at the given level.
-     */
-    GeographicTilingScheme.prototype.getNumberOfXTilesAtLevel = function(level) {
-        return this._numberOfLevelZeroTilesX << (level - this._beginLevel);
-    };
-
-    /**
-     * Gets the total number of tiles in the Y direction at a specified level-of-detail.
-     *
-     * @param {Number} level The level-of-detail.
-     * @returns {Number} The number of tiles in the Y direction at the given level.
-     */
-    GeographicTilingScheme.prototype.getNumberOfYTilesAtLevel = function(level) {
-        return this._numberOfLevelZeroTilesY << (level - this._beginLevel);
-    };
-
-    /**
-     * Transforms a rectangle specified in geodetic radians to the native coordinate system
-     * of this tiling scheme.
-     *
-     * @param {Rectangle} rectangle The rectangle to transform.
-     * @param {Rectangle} [result] The instance to which to copy the result, or undefined if a new instance
-     *        should be created.
-     * @returns {Rectangle} The specified 'result', or a new object containing the native rectangle if 'result'
-     *          is undefined.
-     */
-    GeographicTilingScheme.prototype.rectangleToNativeRectangle = function(rectangle, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('rectangle', rectangle);
-        //>>includeEnd('debug');
-
-        var west = _Math.CesiumMath.toDegrees(rectangle.west);
-        var south = _Math.CesiumMath.toDegrees(rectangle.south);
-        var east = _Math.CesiumMath.toDegrees(rectangle.east);
-        var north = _Math.CesiumMath.toDegrees(rectangle.north);
-
-        if (!when.defined(result)) {
-            return new Cartesian2.Rectangle(west, south, east, north);
-        }
-
-        result.west = west;
-        result.south = south;
-        result.east = east;
-        result.north = north;
-        return result;
-    };
-
-    /**
-     * Converts tile x, y coordinates and level to a rectangle expressed in the native coordinates
-     * of the tiling scheme.
-     *
-     * @param {Number} x The integer x coordinate of the tile.
-     * @param {Number} y The integer y coordinate of the tile.
-     * @param {Number} level The tile level-of-detail.  Zero is the least detailed.
-     * @param {Object} [result] The instance to which to copy the result, or undefined if a new instance
-     *        should be created.
-     * @returns {Rectangle} The specified 'result', or a new object containing the rectangle
-     *          if 'result' is undefined.
-     */
-    GeographicTilingScheme.prototype.tileXYToNativeRectangle = function(x, y, level, result) {
-        var rectangleRadians = this.tileXYToRectangle(x, y, level, result);
-        rectangleRadians.west = _Math.CesiumMath.toDegrees(rectangleRadians.west);
-        rectangleRadians.south = _Math.CesiumMath.toDegrees(rectangleRadians.south);
-        rectangleRadians.east = _Math.CesiumMath.toDegrees(rectangleRadians.east);
-        rectangleRadians.north = _Math.CesiumMath.toDegrees(rectangleRadians.north);
-        return rectangleRadians;
-    };
-
-    /**
-     * Converts tile x, y coordinates and level to a cartographic rectangle in radians.
-     *
-     * @param {Number} x The integer x coordinate of the tile.
-     * @param {Number} y The integer y coordinate of the tile.
-     * @param {Number} level The tile level-of-detail.  Zero is the least detailed.
-     * @param {Object} [result] The instance to which to copy the result, or undefined if a new instance
-     *        should be created.
-     * @returns {Rectangle} The specified 'result', or a new object containing the rectangle
-     *          if 'result' is undefined.
-     */
-    GeographicTilingScheme.prototype.tileXYToRectangle = function(x, y, level, result) {
-        var rectangle = this._rectangle;
-
-        if(when.defined(this._customDPI) && when.defined(this._scaleDenominators)){
-
-            var resolution = this.calculateResolution(level);
-
-            var west = -_Math.CesiumMath.PI + x * this._tileWidth * resolution.x;
-            var east = -_Math.CesiumMath.PI + (x + 1) * this._tileWidth * resolution.x;
-
-            var north = _Math.CesiumMath.PI_OVER_TWO - y * this._tileHeight * resolution.y;
-            var south = _Math.CesiumMath.PI_OVER_TWO - (y + 1) * this._tileHeight * resolution.y;
-
-            if (!when.defined(result)) {
-                return new Cartesian2.Rectangle(west, south, east, north);
-            }
-
-            result.west = west;
-            result.south = south;
-            result.east = east;
-            result.north = north;
-            return result;
-        }
-
-
-        var xTiles = this.getNumberOfXTilesAtLevel(level);
-        var yTiles = this.getNumberOfYTilesAtLevel(level);
-
-        var xTileWidth = rectangle.width / xTiles;
-        var west = x * xTileWidth + rectangle.west;
-        var east = (x + 1) * xTileWidth + rectangle.west;
-
-        var yTileHeight = rectangle.height / yTiles;
-        var north = rectangle.north - y * yTileHeight;
-        var south = rectangle.north - (y + 1) * yTileHeight;
-
-        if (!when.defined(result)) {
-            result = new Cartesian2.Rectangle(west, south, east, north);
-        }
-
-        result.west = west;
-        result.south = south;
-        result.east = east;
-        result.north = north;
-        return result;
-    };
-
-    /**
-     * Calculates the tile x, y coordinates of the tile containing
-     * a given cartographic position.
-     *
-     * @param {Cartographic} position The position.
-     * @param {Number} level The tile level-of-detail.  Zero is the least detailed.
-     * @param {Cartesian2} [result] The instance to which to copy the result, or undefined if a new instance
-     *        should be created.
-     * @returns {Cartesian2} The specified 'result', or a new object containing the tile x, y coordinates
-     *          if 'result' is undefined.
-     */
-    GeographicTilingScheme.prototype.positionToTileXY = function(position, level, result) {
-        var rectangle = this._rectangle;
-        if (!Cartesian2.Rectangle.contains(rectangle, position)) {
-            // outside the bounds of the tiling scheme
-            return undefined;
-        }
-
-        var xTiles = this.getNumberOfXTilesAtLevel(level);
-        var yTiles = this.getNumberOfYTilesAtLevel(level);
-
-        var xTileWidth = rectangle.width / xTiles;
-        var yTileHeight = rectangle.height / yTiles;
-
-        if(when.defined(this._customDPI) && when.defined(this._scaleDenominators)) {
-            var resolution = this.calculateResolution(level);
-            xTileWidth = this._tileWidth * resolution.x;
-            yTileHeight = this._tileHeight * resolution.y;
-        }
-
-        var longitude = position.longitude;
-        if (rectangle.east < rectangle.west) {
-            longitude += _Math.CesiumMath.TWO_PI;
-        }
-
-        var xTileCoordinate = (longitude - rectangle.west) / xTileWidth | 0;
-        if (xTileCoordinate >= xTiles) {
-            xTileCoordinate = xTiles - 1;
-        }
-
-        var yTileCoordinate = (rectangle.north - position.latitude) / yTileHeight | 0;
-        if (yTileCoordinate >= yTiles) {
-            yTileCoordinate = yTiles - 1;
-        }
-
-        if (!when.defined(result)) {
-            return new Cartesian2.Cartesian2(xTileCoordinate, yTileCoordinate);
-        }
-
-        result.x = xTileCoordinate;
-        result.y = yTileCoordinate;
-        return result;
-    };
-
-    GeographicTilingScheme.prototype.calculateResolution = function(level) {
-
-        var xResolution = this._scaleDenominators[level - this._beginLevel] * 0.0254 / this._customDPI.x;
-        var yResolution = this._scaleDenominators[level - this._beginLevel] * 0.0254 / this._customDPI.y;
-
-        var meterPerDegreeInEquator = Cartesian2.Ellipsoid.WGS84.maximumRadius/* * CesiumMath.TWO_PI / 360.0*/;
-
-        return new Cartesian2.Cartesian2(xResolution / meterPerDegreeInEquator, yResolution / meterPerDegreeInEquator);
-    };
-
-    var scratchDiagonalCartesianNE = new Cartesian2.Cartesian3();
-        var scratchDiagonalCartesianSW = new Cartesian2.Cartesian3();
-        var scratchDiagonalCartographic = new Cartesian2.Cartographic();
-        var scratchCenterCartesian = new Cartesian2.Cartesian3();
-        var scratchSurfaceCartesian = new Cartesian2.Cartesian3();
-
-        var scratchBoundingSphere = new BoundingSphere.BoundingSphere();
-        var tilingScheme = new GeographicTilingScheme();
-        var scratchCorners = [new Cartesian2.Cartographic(), new Cartesian2.Cartographic(), new Cartesian2.Cartographic(), new Cartesian2.Cartographic()];
-        var scratchTileXY = new Cartesian2.Cartesian2();
-
-        /**
-         * A collection of functions for approximating terrain height
-         * @private
-         */
-        var ApproximateTerrainHeights = {};
-
-        /**
-         * Initializes the minimum and maximum terrain heights
-         * @return {Promise}
-         */
-        ApproximateTerrainHeights.initialize = function() {
-            var initPromise = ApproximateTerrainHeights._initPromise;
-            if (when.defined(initPromise)) {
-                return initPromise;
-            }
-
-            initPromise = buildModuleUrl.Resource.fetchJson(buildModuleUrl.buildModuleUrl('Assets/approximateTerrainHeights.json'))
-                .then(function(json) {
-                    ApproximateTerrainHeights._terrainHeights = json;
-                });
-            ApproximateTerrainHeights._initPromise = initPromise;
-
-            return initPromise;
-        };
-
-        /**
-         * Computes the minimum and maximum terrain heights for a given rectangle
-         * @param {Rectangle} rectangle The bounding rectangle
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid
-         * @return {{minimumTerrainHeight: Number, maximumTerrainHeight: Number}}
-         */
-        ApproximateTerrainHeights.getMinimumMaximumHeights = function(rectangle, ellipsoid) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('rectangle', rectangle);
-            if (!when.defined(ApproximateTerrainHeights._terrainHeights)) {
-                throw new Check.DeveloperError('You must call ApproximateTerrainHeights.initialize and wait for the promise to resolve before using this function');
-            }
-            //>>includeEnd('debug');
-            ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-
-            var xyLevel = getTileXYLevel(rectangle);
-
-            // Get the terrain min/max for that tile
-            var minTerrainHeight = ApproximateTerrainHeights._defaultMinTerrainHeight;
-            var maxTerrainHeight = ApproximateTerrainHeights._defaultMaxTerrainHeight;
-            if (when.defined(xyLevel)) {
-                var key = xyLevel.level + '-' + xyLevel.x + '-' + xyLevel.y;
-                var heights = ApproximateTerrainHeights._terrainHeights[key];
-                if (when.defined(heights)) {
-                    minTerrainHeight = heights[0];
-                    maxTerrainHeight = heights[1];
-                }
-
-                // Compute min by taking the center of the NE->SW diagonal and finding distance to the surface
-                ellipsoid.cartographicToCartesian(Cartesian2.Rectangle.northeast(rectangle, scratchDiagonalCartographic),
-                    scratchDiagonalCartesianNE);
-                ellipsoid.cartographicToCartesian(Cartesian2.Rectangle.southwest(rectangle, scratchDiagonalCartographic),
-                    scratchDiagonalCartesianSW);
-
-                Cartesian2.Cartesian3.midpoint(scratchDiagonalCartesianSW, scratchDiagonalCartesianNE, scratchCenterCartesian);
-                var surfacePosition = ellipsoid.scaleToGeodeticSurface(scratchCenterCartesian, scratchSurfaceCartesian);
-                if (when.defined(surfacePosition)) {
-                    var distance = Cartesian2.Cartesian3.distance(scratchCenterCartesian, surfacePosition);
-                    minTerrainHeight = Math.min(minTerrainHeight, -distance);
-                } else {
-                    minTerrainHeight = ApproximateTerrainHeights._defaultMinTerrainHeight;
-                }
-            }
-
-            minTerrainHeight = Math.max(ApproximateTerrainHeights._defaultMinTerrainHeight, minTerrainHeight);
-
-            return {
-                minimumTerrainHeight: minTerrainHeight,
-                maximumTerrainHeight: maxTerrainHeight
-            };
-        };
-
-        /**
-         * Computes the bounding sphere based on the tile heights in the rectangle
-         * @param {Rectangle} rectangle The bounding rectangle
-         * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid
-         * @return {BoundingSphere} The result bounding sphere
-         */
-        ApproximateTerrainHeights.getBoundingSphere = function(rectangle, ellipsoid) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('rectangle', rectangle);
-            if (!when.defined(ApproximateTerrainHeights._terrainHeights)) {
-                throw new Check.DeveloperError('You must call ApproximateTerrainHeights.initialize and wait for the promise to resolve before using this function');
-            }
-            //>>includeEnd('debug');
-            ellipsoid = when.defaultValue(ellipsoid, Cartesian2.Ellipsoid.WGS84);
-
-            var xyLevel = getTileXYLevel(rectangle);
-
-            // Get the terrain max for that tile
-            var maxTerrainHeight = ApproximateTerrainHeights._defaultMaxTerrainHeight;
-            if (when.defined(xyLevel)) {
-                var key = xyLevel.level + '-' + xyLevel.x + '-' + xyLevel.y;
-                var heights = ApproximateTerrainHeights._terrainHeights[key];
-                if (when.defined(heights)) {
-                    maxTerrainHeight = heights[1];
-                }
-            }
-
-            var result = BoundingSphere.BoundingSphere.fromRectangle3D(rectangle, ellipsoid, 0.0);
-            BoundingSphere.BoundingSphere.fromRectangle3D(rectangle, ellipsoid, maxTerrainHeight, scratchBoundingSphere);
-
-            return BoundingSphere.BoundingSphere.union(result, scratchBoundingSphere, result);
-        };
-
-        function getTileXYLevel(rectangle) {
-            Cartesian2.Cartographic.fromRadians(rectangle.east, rectangle.north, 0.0, scratchCorners[0]);
-            Cartesian2.Cartographic.fromRadians(rectangle.west, rectangle.north, 0.0, scratchCorners[1]);
-            Cartesian2.Cartographic.fromRadians(rectangle.east, rectangle.south, 0.0, scratchCorners[2]);
-            Cartesian2.Cartographic.fromRadians(rectangle.west, rectangle.south, 0.0, scratchCorners[3]);
-
-            // Determine which tile the bounding rectangle is in
-            var lastLevelX = 0, lastLevelY = 0;
-            var currentX = 0, currentY = 0;
-            var maxLevel = ApproximateTerrainHeights._terrainHeightsMaxLevel;
-            var i;
-            for(i = 0; i <= maxLevel; ++i) {
-                var failed = false;
-                for(var j = 0; j < 4; ++j) {
-                    var corner = scratchCorners[j];
-                    tilingScheme.positionToTileXY(corner, i, scratchTileXY);
-                    if (j === 0) {
-                        currentX = scratchTileXY.x;
-                        currentY = scratchTileXY.y;
-                    } else if(currentX !== scratchTileXY.x || currentY !== scratchTileXY.y) {
-                        failed = true;
-                        break;
-                    }
-                }
-
-                if (failed) {
-                    break;
-                }
-
-                lastLevelX = currentX;
-                lastLevelY = currentY;
-            }
-
-            if (i === 0) {
-                return undefined;
-            }
-
-            return {
-                x : lastLevelX,
-                y : lastLevelY,
-                level : (i > maxLevel) ? maxLevel : (i - 1)
-            };
-        }
-
-        ApproximateTerrainHeights._terrainHeightsMaxLevel = 6;
-        ApproximateTerrainHeights._defaultMaxTerrainHeight = 9000.0;
-        ApproximateTerrainHeights._defaultMinTerrainHeight = -100000.0;
-        ApproximateTerrainHeights._terrainHeights = undefined;
-        ApproximateTerrainHeights._initPromise = undefined;
-
-        Object.defineProperties(ApproximateTerrainHeights, {
-            /**
-             * Determines if the terrain heights are initialized and ready to use. To initialize the terrain heights,
-             * call {@link ApproximateTerrainHeights#initialize} and wait for the returned promise to resolve.
-             * @type {Boolean}
-             * @readonly
-             * @memberof ApproximateTerrainHeights
-             */
-            initialized: {
-                get: function() {
-                    return when.defined(ApproximateTerrainHeights._terrainHeights);
-                }
-            }
-        });
-
-    var PROJECTIONS = [BoundingSphere.GeographicProjection, WebMercatorProjection.WebMercatorProjection];
-    var PROJECTION_COUNT = PROJECTIONS.length;
-
-    var MITER_BREAK_SMALL = Math.cos(_Math.CesiumMath.toRadians(30.0));
-    var MITER_BREAK_LARGE = Math.cos(_Math.CesiumMath.toRadians(150.0));
-
-    // Initial heights for constructing the wall.
-    // Keeping WALL_INITIAL_MIN_HEIGHT near the ellipsoid surface helps
-    // prevent precision problems with planes in the shader.
-    // Putting the start point of a plane at ApproximateTerrainHeights._defaultMinTerrainHeight,
-    // which is a highly conservative bound, usually puts the plane origin several thousands
-    // of meters away from the actual terrain, causing floating point problems when checking
-    // fragments on terrain against the plane.
-    // Ellipsoid height is generally much closer.
-    // The initial max height is arbitrary.
-    // Both heights are corrected using ApproximateTerrainHeights for computing the actual volume geometry.
-    var WALL_INITIAL_MIN_HEIGHT = 0.0;
-    var WALL_INITIAL_MAX_HEIGHT = 1000.0;
-
-    /**
-     * A description of a polyline on terrain or 3D Tiles. Only to be used with {@link GroundPolylinePrimitive}.
-     *
-     * @alias GroundPolylineGeometry
-     * @constructor
-     *
-     * @param {Object} options Options with the following properties:
-     * @param {Cartesian3[]} options.positions An array of {@link Cartesian3} defining the polyline's points. Heights above the ellipsoid will be ignored.
-     * @param {Number} [options.width=1.0] The screen space width in pixels.
-     * @param {Number} [options.granularity=9999.0] The distance interval in meters used for interpolating options.points. Defaults to 9999.0 meters. Zero indicates no interpolation.
-     * @param {Boolean} [options.loop=false] Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop.
-     * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of line the polyline segments must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
-     *
-     * @exception {DeveloperError} At least two positions are required.
-     *
-     * @see GroundPolylinePrimitive
-     *
-     * @example
-     * var positions = Cesium.Cartesian3.fromDegreesArray([
-     *   -112.1340164450331, 36.05494287836128,
-     *   -112.08821010582645, 36.097804071380715,
-     *   -112.13296079730024, 36.168769146801104
-     * ]);
-     *
-     * var geometry = new Cesium.GroundPolylineGeometry({
-     *   positions : positions
-     * });
-     */
-    function GroundPolylineGeometry(options) {
-        options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-        var positions = options.positions;
-
-        //>>includeStart('debug', pragmas.debug);
-        if ((!when.defined(positions)) || (positions.length < 2)) {
-            throw new Check.DeveloperError('At least two positions are required.');
-        }
-        if (when.defined(options.arcType) && options.arcType !== ArcType.ArcType.GEODESIC && options.arcType !== ArcType.ArcType.RHUMB) {
-            throw new Check.DeveloperError('Valid options for arcType are ArcType.GEODESIC and ArcType.RHUMB.');
-        }
-        //>>includeEnd('debug');
-
-        /**
-         * The screen space width in pixels.
-         * @type {Number}
-         */
-        this.width = when.defaultValue(options.width, 1.0); // Doesn't get packed, not necessary for computing geometry.
-
-        this._positions = positions;
-
-        /**
-         * The distance interval used for interpolating options.points. Zero indicates no interpolation.
-         * Default of 9999.0 allows centimeter accuracy with 32 bit floating point.
-         * @type {Boolean}
-         * @default 9999.0
-         */
-        this.granularity = when.defaultValue(options.granularity, 9999.0);
-
-        /**
-         * Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop.
-         * If the geometry has two positions this parameter will be ignored.
-         * @type {Boolean}
-         * @default false
-         */
-        this.loop = when.defaultValue(options.loop, false);
-
-        /**
-         * The type of path the polyline must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
-         * @type {ArcType}
-         * @default ArcType.GEODESIC
-         */
-        this.arcType = when.defaultValue(options.arcType, ArcType.ArcType.GEODESIC);
-
-        this._ellipsoid = Cartesian2.Ellipsoid.WGS84;
-
-        // MapProjections can't be packed, so store the index to a known MapProjection.
-        this._projectionIndex = 0;
-        this._workerName = 'createGroundPolylineGeometry';
-
-        // Used by GroundPolylinePrimitive to signal worker that scenemode is 3D only.
-        this._scene3DOnly = false;
-    }
-
-    Object.defineProperties(GroundPolylineGeometry.prototype, {
-        /**
-         * The number of elements used to pack the object into an array.
-         * @memberof GroundPolylineGeometry.prototype
-         * @type {Number}
-         * @readonly
-         * @private
-         */
-        packedLength: {
-            get: function() {
-                return 1.0 + this._positions.length * 3 + 1.0 + 1.0 + 1.0 + Cartesian2.Ellipsoid.packedLength + 1.0 + 1.0;
-            }
-        }
-    });
-
-    /**
-     * Set the GroundPolylineGeometry's projection and ellipsoid.
-     * Used by GroundPolylinePrimitive to signal scene information to the geometry for generating 2D attributes.
-     *
-     * @param {GroundPolylineGeometry} groundPolylineGeometry GroundPolylinGeometry describing a polyline on terrain or 3D Tiles.
-     * @param {Projection} mapProjection A MapProjection used for projecting cartographic coordinates to 2D.
-     * @private
-     */
-    GroundPolylineGeometry.setProjectionAndEllipsoid = function(groundPolylineGeometry, mapProjection) {
-        var projectionIndex = 0;
-        for (var i = 0; i < PROJECTION_COUNT; i++) {
-            if (mapProjection instanceof PROJECTIONS[i]) {
-                projectionIndex = i;
-                break;
-            }
-        }
-
-        groundPolylineGeometry._projectionIndex = projectionIndex;
-        groundPolylineGeometry._ellipsoid = mapProjection.ellipsoid;
-    };
-
-    var cart3Scratch1 = new Cartesian2.Cartesian3();
-    var cart3Scratch2 = new Cartesian2.Cartesian3();
-    var cart3Scratch3 = new Cartesian2.Cartesian3();
-    function computeRightNormal(start, end, maxHeight, ellipsoid, result) {
-        var startBottom = getPosition(ellipsoid, start, 0.0, cart3Scratch1);
-        var startTop = getPosition(ellipsoid, start, maxHeight, cart3Scratch2);
-        var endBottom = getPosition(ellipsoid, end, 0.0, cart3Scratch3);
-
-        var up = direction(startTop, startBottom, cart3Scratch2);
-        var forward = direction(endBottom, startBottom, cart3Scratch3);
-
-        Cartesian2.Cartesian3.cross(forward, up, result);
-        return Cartesian2.Cartesian3.normalize(result, result);
-    }
-
-    var interpolatedCartographicScratch = new Cartesian2.Cartographic();
-    var interpolatedBottomScratch = new Cartesian2.Cartesian3();
-    var interpolatedTopScratch = new Cartesian2.Cartesian3();
-    var interpolatedNormalScratch = new Cartesian2.Cartesian3();
-    function interpolateSegment(start, end, minHeight, maxHeight, granularity, arcType, ellipsoid, normalsArray, bottomPositionsArray, topPositionsArray, cartographicsArray) {
-        if (granularity === 0.0) {
-            return;
-        }
-
-        var ellipsoidLine;
-        if (arcType === ArcType.ArcType.GEODESIC) {
-            ellipsoidLine = new EllipsoidGeodesic.EllipsoidGeodesic(start, end, ellipsoid);
-        } else if (arcType === ArcType.ArcType.RHUMB) {
-            ellipsoidLine = new EllipsoidRhumbLine.EllipsoidRhumbLine(start, end, ellipsoid);
-        }
-
-        var surfaceDistance = ellipsoidLine.surfaceDistance;
-        if (surfaceDistance < granularity) {
-            return;
-        }
-
-        // Compute rightwards normal applicable at all interpolated points
-        var interpolatedNormal = computeRightNormal(start, end, maxHeight, ellipsoid, interpolatedNormalScratch);
-
-        var segments = Math.ceil(surfaceDistance / granularity);
-        var interpointDistance = surfaceDistance / segments;
-        var distanceFromStart = interpointDistance;
-        var pointsToAdd = segments - 1;
-        var packIndex = normalsArray.length;
-        for (var i = 0; i < pointsToAdd; i++) {
-            var interpolatedCartographic = ellipsoidLine.interpolateUsingSurfaceDistance(distanceFromStart, interpolatedCartographicScratch);
-            var interpolatedBottom = getPosition(ellipsoid, interpolatedCartographic, minHeight, interpolatedBottomScratch);
-            var interpolatedTop = getPosition(ellipsoid, interpolatedCartographic, maxHeight, interpolatedTopScratch);
-
-            Cartesian2.Cartesian3.pack(interpolatedNormal, normalsArray, packIndex);
-            Cartesian2.Cartesian3.pack(interpolatedBottom, bottomPositionsArray, packIndex);
-            Cartesian2.Cartesian3.pack(interpolatedTop, topPositionsArray, packIndex);
-            cartographicsArray.push(interpolatedCartographic.latitude);
-            cartographicsArray.push(interpolatedCartographic.longitude);
-
-            packIndex += 3;
-            distanceFromStart += interpointDistance;
-        }
-    }
-
-    var heightlessCartographicScratch = new Cartesian2.Cartographic();
-    function getPosition(ellipsoid, cartographic, height, result) {
-        Cartesian2.Cartographic.clone(cartographic, heightlessCartographicScratch);
-        heightlessCartographicScratch.height = height;
-        return Cartesian2.Cartographic.toCartesian(heightlessCartographicScratch, ellipsoid, result);
-    }
-
-    /**
-     * Stores the provided instance into the provided array.
-     *
-     * @param {PolygonGeometry} value The value to pack.
-     * @param {Number[]} array The array to pack into.
-     * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-     *
-     * @returns {Number[]} The array that was packed into
-     */
-    GroundPolylineGeometry.pack = function(value, array, startingIndex) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.typeOf.object('value', value);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        var index = when.defaultValue(startingIndex, 0);
-
-        var positions = value._positions;
-        var positionsLength = positions.length;
-
-        array[index++] = positionsLength;
-
-        for (var i = 0; i < positionsLength; ++i) {
-            var cartesian = positions[i];
-            Cartesian2.Cartesian3.pack(cartesian, array, index);
-            index += 3;
-        }
-
-        array[index++] = value.granularity;
-        array[index++] = value.loop ? 1.0 : 0.0;
-        array[index++] = value.arcType;
-
-        Cartesian2.Ellipsoid.pack(value._ellipsoid, array, index);
-        index += Cartesian2.Ellipsoid.packedLength;
-
-        array[index++] = value._projectionIndex;
-        array[index++] = value._scene3DOnly ? 1.0 : 0.0;
-
-        return array;
-    };
-
-    /**
-     * Retrieves an instance from a packed array.
-     *
-     * @param {Number[]} array The packed array.
-     * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-     * @param {PolygonGeometry} [result] The object into which to store the result.
-     */
-    GroundPolylineGeometry.unpack = function(array, startingIndex, result) {
-        //>>includeStart('debug', pragmas.debug);
-        Check.Check.defined('array', array);
-        //>>includeEnd('debug');
-
-        var index = when.defaultValue(startingIndex, 0);
-        var positionsLength = array[index++];
-        var positions = new Array(positionsLength);
-
-        for (var i = 0; i < positionsLength; i++) {
-            positions[i] = Cartesian2.Cartesian3.unpack(array, index);
-            index += 3;
-        }
-
-        var granularity = array[index++];
-        var loop = array[index++] === 1.0;
-        var arcType = array[index++];
-
-        var ellipsoid = Cartesian2.Ellipsoid.unpack(array, index);
-        index += Cartesian2.Ellipsoid.packedLength;
-
-        var projectionIndex = array[index++];
-        var scene3DOnly = (array[index++] === 1.0);
-
-        if (!when.defined(result)) {
-            var geometry = new GroundPolylineGeometry({
-                positions : positions,
-                granularity : granularity,
-                loop : loop,
-                arcType : arcType,
-                ellipsoid : ellipsoid
-            });
-            geometry._projectionIndex = projectionIndex;
-            geometry._scene3DOnly = scene3DOnly;
-            return geometry;
-        }
-
-        result._positions = positions;
-        result.granularity = granularity;
-        result.loop = loop;
-        result.arcType = arcType;
-        result._ellipsoid = ellipsoid;
-        result._projectionIndex = projectionIndex;
-        result._scene3DOnly = scene3DOnly;
-
-        return result;
-    };
-
-    function direction(target, origin, result) {
-        Cartesian2.Cartesian3.subtract(target, origin, result);
-        Cartesian2.Cartesian3.normalize(result, result);
-        return result;
-    }
-
-    var toPreviousScratch = new Cartesian2.Cartesian3();
-    var toNextScratch = new Cartesian2.Cartesian3();
-    var forwardScratch = new Cartesian2.Cartesian3();
-    var coplanarNormalScratch = new Cartesian2.Cartesian3();
-    var coplanarPlaneScratch = new Plane.Plane(Cartesian2.Cartesian3.UNIT_X, 0.0);
-    var vertexUpScratch = new Cartesian2.Cartesian3();
-    var cosine90 = 0.0;
-    function computeVertexMiterNormal(previousBottom, vertexBottom, vertexTop, nextBottom, result) {
-        var up = direction(vertexTop, vertexBottom, vertexUpScratch);
-        var toPrevious = direction(previousBottom, vertexBottom, toPreviousScratch);
-        var toNext = direction(nextBottom, vertexBottom, toNextScratch);
-
-        // Check if points are coplanar in a right-side-pointing plane that contains "up."
-        // This is roughly equivalent to the points being colinear in cartographic space.
-        var coplanarNormal = Cartesian2.Cartesian3.cross(up, toPrevious, coplanarNormalScratch);
-        coplanarNormal = Cartesian2.Cartesian3.normalize(coplanarNormal, coplanarNormal);
-        var coplanarPlane = Plane.Plane.fromPointNormal(vertexBottom, coplanarNormal, coplanarPlaneScratch);
-        var nextBottomDistance = Plane.Plane.getPointDistance(coplanarPlane, nextBottom);
-        if (_Math.CesiumMath.equalsEpsilon(nextBottomDistance, 0.0, _Math.CesiumMath.EPSILON7)) {
-            // If the points are coplanar, point the normal in the direction of the plane
-            Cartesian2.Cartesian3.clone(coplanarNormal, result);
-            return result;
-        }
-
-        // Average directions to previous and to next
-        result = Cartesian2.Cartesian3.add(toNext, toPrevious, result);
-        result = Cartesian2.Cartesian3.normalize(result, result);
-
-        // Rotate this direction to be orthogonal to up
-        var forward = Cartesian2.Cartesian3.cross(up, result, forwardScratch);
-        Cartesian2.Cartesian3.normalize(forward, forward);
-        Cartesian2.Cartesian3.cross(forward, up, result);
-        Cartesian2.Cartesian3.normalize(result, result);
-
-        // Flip the normal if it isn't pointing roughly bound right (aka if forward is pointing more "backwards")
-        if (Cartesian2.Cartesian3.dot(toNext, forward) < cosine90) {
-            result = Cartesian2.Cartesian3.negate(result, result);
-        }
-
-        return result;
-    }
-
-    var XZ_PLANE = Plane.Plane.fromPointNormal(Cartesian2.Cartesian3.ZERO, Cartesian2.Cartesian3.UNIT_Y);
-
-    var previousBottomScratch = new Cartesian2.Cartesian3();
-    var vertexBottomScratch = new Cartesian2.Cartesian3();
-    var vertexTopScratch = new Cartesian2.Cartesian3();
-    var nextBottomScratch = new Cartesian2.Cartesian3();
-    var vertexNormalScratch = new Cartesian2.Cartesian3();
-    var intersectionScratch = new Cartesian2.Cartesian3();
-    var cartographicScratch0 = new Cartesian2.Cartographic();
-    var cartographicScratch1 = new Cartesian2.Cartographic();
-    var cartographicIntersectionScratch = new Cartesian2.Cartographic();
-    /**
-     * Computes shadow volumes for the ground polyline, consisting of its vertices, indices, and a bounding sphere.
-     * Vertices are "fat," packing all the data needed in each volume to describe a line on terrain or 3D Tiles.
-     * Should not be called independent of {@link GroundPolylinePrimitive}.
-     *
-     * @param {GroundPolylineGeometry} groundPolylineGeometry
-     * @private
-     */
-    GroundPolylineGeometry.createGeometry = function(groundPolylineGeometry) {
-        var compute2dAttributes = !groundPolylineGeometry._scene3DOnly;
-        var loop = groundPolylineGeometry.loop;
-        var ellipsoid = groundPolylineGeometry._ellipsoid;
-        var granularity = groundPolylineGeometry.granularity;
-        var arcType = groundPolylineGeometry.arcType;
-        var projection = new PROJECTIONS[groundPolylineGeometry._projectionIndex](ellipsoid);
-
-        var minHeight = WALL_INITIAL_MIN_HEIGHT;
-        var maxHeight = WALL_INITIAL_MAX_HEIGHT;
-
-        var index;
-        var i;
-
-        var positions = groundPolylineGeometry._positions;
-        var positionsLength = positions.length;
-
-        if (positionsLength === 2) {
-            loop = false;
-        }
-
-        // Split positions across the IDL and the Prime Meridian as well.
-        // Split across prime meridian because very large geometries crossing the Prime Meridian but not the IDL
-        // may get split by the plane of IDL + Prime Meridian.
-        var p0;
-        var p1;
-        var c0;
-        var c1;
-        var rhumbLine = new EllipsoidRhumbLine.EllipsoidRhumbLine(undefined, undefined, ellipsoid);
-        var intersection;
-        var intersectionCartographic;
-        var intersectionLongitude;
-        var splitPositions = [positions[0]];
-        for (i = 0; i < positionsLength - 1; i++) {
-            p0 = positions[i];
-            p1 = positions[i + 1];
-            intersection = IntersectionTests.IntersectionTests.lineSegmentPlane(p0, p1, XZ_PLANE, intersectionScratch);
-            if (when.defined(intersection) &&
-                !Cartesian2.Cartesian3.equalsEpsilon(intersection, p0, _Math.CesiumMath.EPSILON7) &&
-                !Cartesian2.Cartesian3.equalsEpsilon(intersection, p1, _Math.CesiumMath.EPSILON7)) {
-                if (groundPolylineGeometry.arcType === ArcType.ArcType.GEODESIC) {
-                    splitPositions.push(Cartesian2.Cartesian3.clone(intersection));
-                } else if (groundPolylineGeometry.arcType === ArcType.ArcType.RHUMB) {
-                    intersectionLongitude = ellipsoid.cartesianToCartographic(intersection, cartographicScratch0).longitude;
-                    c0 = ellipsoid.cartesianToCartographic(p0, cartographicScratch0);
-                    c1 = ellipsoid.cartesianToCartographic(p1, cartographicScratch1);
-                    rhumbLine.setEndPoints(c0, c1);
-                    intersectionCartographic = rhumbLine.findIntersectionWithLongitude(intersectionLongitude, cartographicIntersectionScratch);
-                    intersection = ellipsoid.cartographicToCartesian(intersectionCartographic, intersectionScratch);
-                    if (when.defined(intersection) &&
-                        !Cartesian2.Cartesian3.equalsEpsilon(intersection, p0, _Math.CesiumMath.EPSILON7) &&
-                        !Cartesian2.Cartesian3.equalsEpsilon(intersection, p1, _Math.CesiumMath.EPSILON7)) {
-                        splitPositions.push(Cartesian2.Cartesian3.clone(intersection));
-                    }
-                }
-            }
-            splitPositions.push(p1);
-        }
-
-        if (loop) {
-            p0 = positions[positionsLength - 1];
-            p1 = positions[0];
-            intersection = IntersectionTests.IntersectionTests.lineSegmentPlane(p0, p1, XZ_PLANE, intersectionScratch);
-            if (when.defined(intersection) &&
-                !Cartesian2.Cartesian3.equalsEpsilon(intersection, p0, _Math.CesiumMath.EPSILON7) &&
-                !Cartesian2.Cartesian3.equalsEpsilon(intersection, p1, _Math.CesiumMath.EPSILON7)) {
-                if (groundPolylineGeometry.arcType === ArcType.ArcType.GEODESIC) {
-                    splitPositions.push(Cartesian2.Cartesian3.clone(intersection));
-                } else if (groundPolylineGeometry.arcType === ArcType.ArcType.RHUMB) {
-                    intersectionLongitude = ellipsoid.cartesianToCartographic(intersection, cartographicScratch0).longitude;
-                    c0 = ellipsoid.cartesianToCartographic(p0, cartographicScratch0);
-                    c1 = ellipsoid.cartesianToCartographic(p1, cartographicScratch1);
-                    rhumbLine.setEndPoints(c0, c1);
-                    intersectionCartographic = rhumbLine.findIntersectionWithLongitude(intersectionLongitude, cartographicIntersectionScratch);
-                    intersection = ellipsoid.cartographicToCartesian(intersectionCartographic, intersectionScratch);
-                    if (when.defined(intersection) &&
-                        !Cartesian2.Cartesian3.equalsEpsilon(intersection, p0, _Math.CesiumMath.EPSILON7) &&
-                        !Cartesian2.Cartesian3.equalsEpsilon(intersection, p1, _Math.CesiumMath.EPSILON7)) {
-                        splitPositions.push(Cartesian2.Cartesian3.clone(intersection));
-                    }
-                }
-            }
-        }
-        var cartographicsLength = splitPositions.length;
-
-        var cartographics = new Array(cartographicsLength);
-        for (i = 0; i < cartographicsLength; i++) {
-            var cartographic = Cartesian2.Cartographic.fromCartesian(splitPositions[i], ellipsoid);
-            cartographic.height = 0.0;
-            cartographics[i] = cartographic;
-        }
-
-        cartographics = arrayRemoveDuplicates.arrayRemoveDuplicates(cartographics, Cartesian2.Cartographic.equalsEpsilon);
-        cartographicsLength = cartographics.length;
-
-        if (cartographicsLength < 2) {
-            return undefined;
-        }
-
-        /**** Build heap-side arrays for positions, interpolated cartographics, and normals from which to compute vertices ****/
-        // We build a "wall" and then decompose it into separately connected component "volumes" because we need a lot
-        // of information about the wall. Also, this simplifies interpolation.
-        // Convention: "next" and "end" are locally forward to each segment of the wall,
-        // and we are computing normals pointing towards the local right side of the vertices in each segment.
-        var cartographicsArray = [];
-        var normalsArray = [];
-        var bottomPositionsArray = [];
-        var topPositionsArray = [];
-
-        var previousBottom = previousBottomScratch;
-        var vertexBottom = vertexBottomScratch;
-        var vertexTop = vertexTopScratch;
-        var nextBottom = nextBottomScratch;
-        var vertexNormal = vertexNormalScratch;
-
-        // First point - either loop or attach a "perpendicular" normal
-        var startCartographic = cartographics[0];
-        var nextCartographic = cartographics[1];
-
-        var prestartCartographic = cartographics[cartographicsLength - 1];
-        previousBottom = getPosition(ellipsoid, prestartCartographic, minHeight, previousBottom);
-        nextBottom = getPosition(ellipsoid, nextCartographic, minHeight, nextBottom);
-        vertexBottom = getPosition(ellipsoid, startCartographic, minHeight, vertexBottom);
-        vertexTop = getPosition(ellipsoid, startCartographic, maxHeight, vertexTop);
-
-        if (loop) {
-            vertexNormal = computeVertexMiterNormal(previousBottom, vertexBottom, vertexTop, nextBottom, vertexNormal);
-        } else {
-            vertexNormal = computeRightNormal(startCartographic, nextCartographic, maxHeight, ellipsoid, vertexNormal);
-        }
-
-        Cartesian2.Cartesian3.pack(vertexNormal, normalsArray, 0);
-        Cartesian2.Cartesian3.pack(vertexBottom, bottomPositionsArray, 0);
-        Cartesian2.Cartesian3.pack(vertexTop, topPositionsArray, 0);
-        cartographicsArray.push(startCartographic.latitude);
-        cartographicsArray.push(startCartographic.longitude);
-
-        interpolateSegment(startCartographic, nextCartographic, minHeight, maxHeight, granularity, arcType, ellipsoid, normalsArray, bottomPositionsArray, topPositionsArray, cartographicsArray);
-
-        // All inbetween points
-        for (i = 1; i < cartographicsLength - 1; ++i) {
-            previousBottom = Cartesian2.Cartesian3.clone(vertexBottom, previousBottom);
-            vertexBottom = Cartesian2.Cartesian3.clone(nextBottom, vertexBottom);
-            var vertexCartographic = cartographics[i];
-            getPosition(ellipsoid, vertexCartographic, maxHeight, vertexTop);
-            getPosition(ellipsoid, cartographics[i + 1], minHeight, nextBottom);
-
-            computeVertexMiterNormal(previousBottom, vertexBottom, vertexTop, nextBottom, vertexNormal);
-
-            index = normalsArray.length;
-            Cartesian2.Cartesian3.pack(vertexNormal, normalsArray, index);
-            Cartesian2.Cartesian3.pack(vertexBottom, bottomPositionsArray, index);
-            Cartesian2.Cartesian3.pack(vertexTop, topPositionsArray, index);
-            cartographicsArray.push(vertexCartographic.latitude);
-            cartographicsArray.push(vertexCartographic.longitude);
-
-            interpolateSegment(cartographics[i], cartographics[i + 1], minHeight, maxHeight, granularity, arcType, ellipsoid, normalsArray, bottomPositionsArray, topPositionsArray, cartographicsArray);
-        }
-
-        // Last point - either loop or attach a normal "perpendicular" to the wall.
-        var endCartographic = cartographics[cartographicsLength - 1];
-        var preEndCartographic = cartographics[cartographicsLength - 2];
-
-        vertexBottom = getPosition(ellipsoid, endCartographic, minHeight, vertexBottom);
-        vertexTop = getPosition(ellipsoid, endCartographic, maxHeight, vertexTop);
-
-        if (loop) {
-            var postEndCartographic = cartographics[0];
-            previousBottom = getPosition(ellipsoid, preEndCartographic, minHeight, previousBottom);
-            nextBottom = getPosition(ellipsoid, postEndCartographic, minHeight, nextBottom);
-
-            vertexNormal = computeVertexMiterNormal(previousBottom, vertexBottom, vertexTop, nextBottom, vertexNormal);
-        } else {
-            vertexNormal = computeRightNormal(preEndCartographic, endCartographic, maxHeight, ellipsoid, vertexNormal);
-        }
-
-        index = normalsArray.length;
-        Cartesian2.Cartesian3.pack(vertexNormal, normalsArray, index);
-        Cartesian2.Cartesian3.pack(vertexBottom, bottomPositionsArray, index);
-        Cartesian2.Cartesian3.pack(vertexTop, topPositionsArray, index);
-        cartographicsArray.push(endCartographic.latitude);
-        cartographicsArray.push(endCartographic.longitude);
-
-        if (loop) {
-            interpolateSegment(endCartographic, startCartographic, minHeight, maxHeight, granularity, arcType, ellipsoid, normalsArray, bottomPositionsArray, topPositionsArray, cartographicsArray);
-            index = normalsArray.length;
-            for (i = 0; i < 3; ++i) {
-                normalsArray[index + i] = normalsArray[i];
-                bottomPositionsArray[index + i] = bottomPositionsArray[i];
-                topPositionsArray[index + i] = topPositionsArray[i];
-            }
-            cartographicsArray.push(startCartographic.latitude);
-            cartographicsArray.push(startCartographic.longitude);
-        }
-
-        return generateGeometryAttributes(loop, projection, bottomPositionsArray, topPositionsArray, normalsArray, cartographicsArray, compute2dAttributes);
-    };
-
-    // If the end normal angle is too steep compared to the direction of the line segment,
-    // "break" the miter by rotating the normal 90 degrees around the "up" direction at the point
-    // For ultra precision we would want to project into a plane, but in practice this is sufficient.
-    var lineDirectionScratch = new Cartesian2.Cartesian3();
-    var matrix3Scratch = new BoundingSphere.Matrix3();
-    var quaternionScratch = new Transforms.Quaternion();
-    function breakMiter(endGeometryNormal, startBottom, endBottom, endTop) {
-        var lineDirection = direction(endBottom, startBottom, lineDirectionScratch);
-
-        var dot = Cartesian2.Cartesian3.dot(lineDirection, endGeometryNormal);
-        if (dot > MITER_BREAK_SMALL || dot < MITER_BREAK_LARGE) {
-            var vertexUp = direction(endTop, endBottom, vertexUpScratch);
-            var angle = dot < MITER_BREAK_LARGE ? _Math.CesiumMath.PI_OVER_TWO : -_Math.CesiumMath.PI_OVER_TWO;
-            var quaternion = Transforms.Quaternion.fromAxisAngle(vertexUp, angle, quaternionScratch);
-            var rotationMatrix = BoundingSphere.Matrix3.fromQuaternion(quaternion, matrix3Scratch);
-            BoundingSphere.Matrix3.multiplyByVector(rotationMatrix, endGeometryNormal, endGeometryNormal);
-            return true;
-        }
-        return false;
-    }
-
-    var endPosCartographicScratch = new Cartesian2.Cartographic();
-    var normalStartpointScratch = new Cartesian2.Cartesian3();
-    var normalEndpointScratch = new Cartesian2.Cartesian3();
-    function projectNormal(projection, cartographic, normal, projectedPosition, result) {
-        var position = Cartesian2.Cartographic.toCartesian(cartographic, projection._ellipsoid, normalStartpointScratch);
-        var normalEndpoint = Cartesian2.Cartesian3.add(position, normal, normalEndpointScratch);
-        var flipNormal = false;
-
-        var ellipsoid = projection._ellipsoid;
-        var normalEndpointCartographic = ellipsoid.cartesianToCartographic(normalEndpoint, endPosCartographicScratch);
-        // If normal crosses the IDL, go the other way and flip the result.
-        // In practice this almost never happens because the cartographic start
-        // and end points of each segment are "nudged" to be on the same side
-        // of the IDL and slightly away from the IDL.
-        if (Math.abs(cartographic.longitude - normalEndpointCartographic.longitude) > _Math.CesiumMath.PI_OVER_TWO) {
-            flipNormal = true;
-            normalEndpoint = Cartesian2.Cartesian3.subtract(position, normal, normalEndpointScratch);
-            normalEndpointCartographic = ellipsoid.cartesianToCartographic(normalEndpoint, endPosCartographicScratch);
-        }
-
-        normalEndpointCartographic.height = 0.0;
-        var normalEndpointProjected = projection.project(normalEndpointCartographic, result);
-        result = Cartesian2.Cartesian3.subtract(normalEndpointProjected, projectedPosition, result);
-        result.z = 0.0;
-        result = Cartesian2.Cartesian3.normalize(result, result);
-        if (flipNormal) {
-            Cartesian2.Cartesian3.negate(result, result);
-        }
-        return result;
-    }
-
-    var adjustHeightNormalScratch = new Cartesian2.Cartesian3();
-    var adjustHeightOffsetScratch = new Cartesian2.Cartesian3();
-    function adjustHeights(bottom, top, minHeight, maxHeight, adjustHeightBottom, adjustHeightTop) {
-        // bottom and top should be at WALL_INITIAL_MIN_HEIGHT and WALL_INITIAL_MAX_HEIGHT, respectively
-        var adjustHeightNormal = Cartesian2.Cartesian3.subtract(top, bottom, adjustHeightNormalScratch);
-        Cartesian2.Cartesian3.normalize(adjustHeightNormal, adjustHeightNormal);
-
-        var distanceForBottom = minHeight - WALL_INITIAL_MIN_HEIGHT;
-        var adjustHeightOffset = Cartesian2.Cartesian3.multiplyByScalar(adjustHeightNormal, distanceForBottom, adjustHeightOffsetScratch);
-        Cartesian2.Cartesian3.add(bottom, adjustHeightOffset, adjustHeightBottom);
-
-        var distanceForTop = maxHeight - WALL_INITIAL_MAX_HEIGHT;
-        adjustHeightOffset = Cartesian2.Cartesian3.multiplyByScalar(adjustHeightNormal, distanceForTop, adjustHeightOffsetScratch);
-        Cartesian2.Cartesian3.add(top, adjustHeightOffset, adjustHeightTop);
-    }
-
-    var nudgeDirectionScratch = new Cartesian2.Cartesian3();
-    function nudgeXZ(start, end) {
-        var startToXZdistance = Plane.Plane.getPointDistance(XZ_PLANE, start);
-        var endToXZdistance = Plane.Plane.getPointDistance(XZ_PLANE, end);
-        var offset = nudgeDirectionScratch;
-        // Larger epsilon than what's used in GeometryPipeline, a centimeter in world space
-        if (_Math.CesiumMath.equalsEpsilon(startToXZdistance, 0.0, _Math.CesiumMath.EPSILON2)) {
-            offset = direction(end, start, offset);
-            Cartesian2.Cartesian3.multiplyByScalar(offset, _Math.CesiumMath.EPSILON2, offset);
-            Cartesian2.Cartesian3.add(start, offset, start);
-        } else if (_Math.CesiumMath.equalsEpsilon(endToXZdistance, 0.0, _Math.CesiumMath.EPSILON2)) {
-            offset = direction(start, end, offset);
-            Cartesian2.Cartesian3.multiplyByScalar(offset, _Math.CesiumMath.EPSILON2, offset);
-            Cartesian2.Cartesian3.add(end, offset, end);
-        }
-    }
-
-    // "Nudge" cartographic coordinates so start and end are on the same side of the IDL.
-    // Nudge amounts are tiny, basically just an IDL flip.
-    // Only used for 2D/CV.
-    function nudgeCartographic(start, end) {
-        var absStartLon = Math.abs(start.longitude);
-        var absEndLon = Math.abs(end.longitude);
-        if (_Math.CesiumMath.equalsEpsilon(absStartLon, _Math.CesiumMath.PI, _Math.CesiumMath.EPSILON11)) {
-            var endSign = _Math.CesiumMath.sign(end.longitude);
-            start.longitude = endSign * (absStartLon - _Math.CesiumMath.EPSILON11);
-            return 1;
-        } else if (_Math.CesiumMath.equalsEpsilon(absEndLon, _Math.CesiumMath.PI, _Math.CesiumMath.EPSILON11)) {
-            var startSign = _Math.CesiumMath.sign(start.longitude);
-            end.longitude = startSign * (absEndLon - _Math.CesiumMath.EPSILON11);
-            return 2;
-        }
-        return 0;
-    }
-
-    var startCartographicScratch = new Cartesian2.Cartographic();
-    var endCartographicScratch = new Cartesian2.Cartographic();
-
-    var segmentStartTopScratch = new Cartesian2.Cartesian3();
-    var segmentEndTopScratch = new Cartesian2.Cartesian3();
-    var segmentStartBottomScratch = new Cartesian2.Cartesian3();
-    var segmentEndBottomScratch = new Cartesian2.Cartesian3();
-    var segmentStartNormalScratch = new Cartesian2.Cartesian3();
-    var segmentEndNormalScratch = new Cartesian2.Cartesian3();
-
-    var getHeightCartographics = [startCartographicScratch, endCartographicScratch];
-    var getHeightRectangleScratch = new Cartesian2.Rectangle();
-
-    var adjustHeightStartTopScratch = new Cartesian2.Cartesian3();
-    var adjustHeightEndTopScratch = new Cartesian2.Cartesian3();
-    var adjustHeightStartBottomScratch = new Cartesian2.Cartesian3();
-    var adjustHeightEndBottomScratch = new Cartesian2.Cartesian3();
-
-    var segmentStart2DScratch = new Cartesian2.Cartesian3();
-    var segmentEnd2DScratch = new Cartesian2.Cartesian3();
-    var segmentStartNormal2DScratch = new Cartesian2.Cartesian3();
-    var segmentEndNormal2DScratch = new Cartesian2.Cartesian3();
-
-    var offsetScratch = new Cartesian2.Cartesian3();
-    var startUpScratch = new Cartesian2.Cartesian3();
-    var endUpScratch = new Cartesian2.Cartesian3();
-    var rightScratch = new Cartesian2.Cartesian3();
-    var startPlaneNormalScratch = new Cartesian2.Cartesian3();
-    var endPlaneNormalScratch = new Cartesian2.Cartesian3();
-    var encodeScratch = new EncodedCartesian3.EncodedCartesian3();
-
-    var encodeScratch2D = new EncodedCartesian3.EncodedCartesian3();
-    var forwardOffset2DScratch = new Cartesian2.Cartesian3();
-    var right2DScratch = new Cartesian2.Cartesian3();
-
-    var normalNudgeScratch = new Cartesian2.Cartesian3();
-
-    var scratchBoundingSpheres = [new BoundingSphere.BoundingSphere(), new BoundingSphere.BoundingSphere()];
-
-    // Winding order is reversed so each segment's volume is inside-out
-    var REFERENCE_INDICES = [
-        0, 2, 1, 0, 3, 2, // right
-        0, 7, 3, 0, 4, 7, // start
-        0, 5, 4, 0, 1, 5, // bottom
-        5, 7, 4, 5, 6, 7, // left
-        5, 2, 6, 5, 1, 2, // end
-        3, 6, 2, 3, 7, 6 // top
-    ];
-    var REFERENCE_INDICES_LENGTH = REFERENCE_INDICES.length;
-
-    // Decompose the "wall" into a series of shadow volumes.
-    // Each shadow volume's vertices encode a description of the line it contains,
-    // including mitering planes at the end points, a plane along the line itself,
-    // and attributes for computing length-wise texture coordinates.
-    function generateGeometryAttributes(loop, projection, bottomPositionsArray, topPositionsArray, normalsArray, cartographicsArray, compute2dAttributes) {
-        var i;
-        var index;
-        var ellipsoid = projection._ellipsoid;
-
-        // Each segment will have 8 vertices
-        var segmentCount = (bottomPositionsArray.length / 3) - 1;
-        var vertexCount = segmentCount * 8;
-        var arraySizeVec4 = vertexCount * 4;
-        var indexCount = segmentCount * 36;
-
-        var indices = vertexCount > 65535 ? new Uint32Array(indexCount) : new Uint16Array(indexCount);
-        var positionsArray = new Float64Array(vertexCount * 3);
-
-        var startHiAndForwardOffsetX = new Float32Array(arraySizeVec4);
-        var startLoAndForwardOffsetY = new Float32Array(arraySizeVec4);
-        var startNormalAndForwardOffsetZ = new Float32Array(arraySizeVec4);
-        var endNormalAndTextureCoordinateNormalizationX = new Float32Array(arraySizeVec4);
-        var rightNormalAndTextureCoordinateNormalizationY = new Float32Array(arraySizeVec4);
-
-        var startHiLo2D;
-        var offsetAndRight2D;
-        var startEndNormals2D;
-        var texcoordNormalization2D;
-
-        if (compute2dAttributes) {
-            startHiLo2D = new Float32Array(arraySizeVec4);
-            offsetAndRight2D = new Float32Array(arraySizeVec4);
-            startEndNormals2D = new Float32Array(arraySizeVec4);
-            texcoordNormalization2D = new Float32Array(vertexCount * 2);
-        }
-
-        /*** Compute total lengths for texture coordinate normalization ***/
-        // 2D
-        var cartographicsLength = cartographicsArray.length / 2;
-        var length2D = 0.0;
-
-        var startCartographic = startCartographicScratch;
-        startCartographic.height = 0.0;
-        var endCartographic = endCartographicScratch;
-        endCartographic.height = 0.0;
-
-        var segmentStartCartesian = segmentStartTopScratch;
-        var segmentEndCartesian = segmentEndTopScratch;
-
-        if (compute2dAttributes) {
-            index = 0;
-            for (i = 1; i < cartographicsLength; i++) {
-                // Don't clone anything from previous segment b/c possible IDL touch
-                startCartographic.latitude = cartographicsArray[index];
-                startCartographic.longitude = cartographicsArray[index + 1];
-                endCartographic.latitude = cartographicsArray[index + 2];
-                endCartographic.longitude = cartographicsArray[index + 3];
-
-                segmentStartCartesian = projection.project(startCartographic, segmentStartCartesian);
-                segmentEndCartesian = projection.project(endCartographic, segmentEndCartesian);
-                length2D += Cartesian2.Cartesian3.distance(segmentStartCartesian, segmentEndCartesian);
-                index += 2;
-            }
-        }
-
-        // 3D
-        var positionsLength = topPositionsArray.length / 3;
-        segmentEndCartesian = Cartesian2.Cartesian3.unpack(topPositionsArray, 0, segmentEndCartesian);
-        var length3D = 0.0;
-
-        index = 3;
-        for (i = 1; i < positionsLength; i++) {
-            segmentStartCartesian = Cartesian2.Cartesian3.clone(segmentEndCartesian, segmentStartCartesian);
-            segmentEndCartesian = Cartesian2.Cartesian3.unpack(topPositionsArray, index, segmentEndCartesian);
-            length3D += Cartesian2.Cartesian3.distance(segmentStartCartesian, segmentEndCartesian);
-            index += 3;
-        }
-
-        /*** Generate segments ***/
-        var j;
-        index = 3;
-        var cartographicsIndex = 0;
-        var vec2sWriteIndex = 0;
-        var vec3sWriteIndex = 0;
-        var vec4sWriteIndex = 0;
-        var miterBroken = false;
-
-        var endBottom = Cartesian2.Cartesian3.unpack(bottomPositionsArray, 0, segmentEndBottomScratch);
-        var endTop = Cartesian2.Cartesian3.unpack(topPositionsArray, 0, segmentEndTopScratch);
-        var endGeometryNormal = Cartesian2.Cartesian3.unpack(normalsArray, 0, segmentEndNormalScratch);
-
-        if (loop) {
-            var preEndBottom = Cartesian2.Cartesian3.unpack(bottomPositionsArray, bottomPositionsArray.length - 6, segmentStartBottomScratch);
-            if (breakMiter(endGeometryNormal, preEndBottom, endBottom, endTop)) {
-                // Miter broken as if for the last point in the loop, needs to be inverted for first point (clone of endBottom)
-                endGeometryNormal = Cartesian2.Cartesian3.negate(endGeometryNormal, endGeometryNormal);
-            }
-        }
-
-        var lengthSoFar3D = 0.0;
-        var lengthSoFar2D = 0.0;
-
-        // For translating bounding volume
-        var sumHeights = 0.0;
-
-        for (i = 0; i < segmentCount; i++) {
-            var startBottom = Cartesian2.Cartesian3.clone(endBottom, segmentStartBottomScratch);
-            var startTop = Cartesian2.Cartesian3.clone(endTop, segmentStartTopScratch);
-            var startGeometryNormal = Cartesian2.Cartesian3.clone(endGeometryNormal, segmentStartNormalScratch);
-
-            if (miterBroken) {
-                startGeometryNormal = Cartesian2.Cartesian3.negate(startGeometryNormal, startGeometryNormal);
-            }
-
-            endBottom = Cartesian2.Cartesian3.unpack(bottomPositionsArray, index, segmentEndBottomScratch);
-            endTop = Cartesian2.Cartesian3.unpack(topPositionsArray, index, segmentEndTopScratch);
-            endGeometryNormal = Cartesian2.Cartesian3.unpack(normalsArray, index, segmentEndNormalScratch);
-
-            miterBroken = breakMiter(endGeometryNormal, startBottom, endBottom, endTop);
-
-            // 2D - don't clone anything from previous segment b/c possible IDL touch
-            startCartographic.latitude = cartographicsArray[cartographicsIndex];
-            startCartographic.longitude = cartographicsArray[cartographicsIndex + 1];
-            endCartographic.latitude = cartographicsArray[cartographicsIndex + 2];
-            endCartographic.longitude = cartographicsArray[cartographicsIndex + 3];
-            var start2D;
-            var end2D;
-            var startGeometryNormal2D;
-            var endGeometryNormal2D;
-
-            if (compute2dAttributes) {
-                var nudgeResult = nudgeCartographic(startCartographic, endCartographic);
-                start2D = projection.project(startCartographic, segmentStart2DScratch);
-                end2D = projection.project(endCartographic, segmentEnd2DScratch);
-                var direction2D = direction(end2D, start2D, forwardOffset2DScratch);
-                direction2D.y = Math.abs(direction2D.y);
-
-                startGeometryNormal2D = segmentStartNormal2DScratch;
-                endGeometryNormal2D = segmentEndNormal2DScratch;
-                if (nudgeResult === 0 || Cartesian2.Cartesian3.dot(direction2D, Cartesian2.Cartesian3.UNIT_Y) > MITER_BREAK_SMALL) {
-                    // No nudge - project the original normal
-                    // Or, if the line's angle relative to the IDL is very acute,
-                    // in which case snapping will produce oddly shaped volumes.
-                    startGeometryNormal2D = projectNormal(projection, startCartographic, startGeometryNormal, start2D, segmentStartNormal2DScratch);
-                    endGeometryNormal2D = projectNormal(projection, endCartographic, endGeometryNormal, end2D, segmentEndNormal2DScratch);
-                } else if (nudgeResult === 1) {
-                    // Start is close to IDL - snap start normal to align with IDL
-                    endGeometryNormal2D = projectNormal(projection, endCartographic, endGeometryNormal, end2D, segmentEndNormal2DScratch);
-                    startGeometryNormal2D.x = 0.0;
-                    // If start longitude is negative and end longitude is less negative, relative right is unit -Y
-                    // If start longitude is positive and end longitude is less positive, relative right is unit +Y
-                    startGeometryNormal2D.y = _Math.CesiumMath.sign(startCartographic.longitude - Math.abs(endCartographic.longitude));
-                    startGeometryNormal2D.z = 0.0;
-                } else {
-                    // End is close to IDL - snap end normal to align with IDL
-                    startGeometryNormal2D = projectNormal(projection, startCartographic, startGeometryNormal, start2D, segmentStartNormal2DScratch);
-                    endGeometryNormal2D.x = 0.0;
-                    // If end longitude is negative and start longitude is less negative, relative right is unit Y
-                    // If end longitude is positive and start longitude is less positive, relative right is unit -Y
-                    endGeometryNormal2D.y = _Math.CesiumMath.sign(startCartographic.longitude - endCartographic.longitude);
-                    endGeometryNormal2D.z = 0.0;
-                }
-            }
-
-            /****************************************
-             * Geometry descriptors of a "line on terrain,"
-             * as opposed to the "shadow volume used to draw
-             * the line on terrain":
-             * - position of start + offset to end
-             * - start, end, and right-facing planes
-             * - encoded texture coordinate offsets
-             ****************************************/
-
-             /** 3D **/
-            var segmentLength3D = Cartesian2.Cartesian3.distance(startTop, endTop);
-
-            var encodedStart = EncodedCartesian3.EncodedCartesian3.fromCartesian(startBottom, encodeScratch);
-            var forwardOffset = Cartesian2.Cartesian3.subtract(endBottom, startBottom, offsetScratch);
-            var forward = Cartesian2.Cartesian3.normalize(forwardOffset, rightScratch);
-
-            var startUp = Cartesian2.Cartesian3.subtract(startTop, startBottom, startUpScratch);
-            startUp = Cartesian2.Cartesian3.normalize(startUp, startUp);
-            var rightNormal = Cartesian2.Cartesian3.cross(forward, startUp, rightScratch);
-            rightNormal = Cartesian2.Cartesian3.normalize(rightNormal, rightNormal);
-
-            var startPlaneNormal = Cartesian2.Cartesian3.cross(startUp, startGeometryNormal, startPlaneNormalScratch);
-            startPlaneNormal = Cartesian2.Cartesian3.normalize(startPlaneNormal, startPlaneNormal);
-
-            var endUp = Cartesian2.Cartesian3.subtract(endTop, endBottom, endUpScratch);
-            endUp = Cartesian2.Cartesian3.normalize(endUp, endUp);
-            var endPlaneNormal = Cartesian2.Cartesian3.cross(endGeometryNormal, endUp, endPlaneNormalScratch);
-            endPlaneNormal = Cartesian2.Cartesian3.normalize(endPlaneNormal, endPlaneNormal);
-
-            var texcoordNormalization3DX = segmentLength3D / length3D;
-            var texcoordNormalization3DY = lengthSoFar3D / length3D;
-
-            /** 2D **/
-            var segmentLength2D = 0.0;
-            var encodedStart2D;
-            var forwardOffset2D;
-            var right2D;
-            var texcoordNormalization2DX = 0.0;
-            var texcoordNormalization2DY = 0.0;
-            if (compute2dAttributes) {
-                segmentLength2D = Cartesian2.Cartesian3.distance(start2D, end2D);
-
-                encodedStart2D = EncodedCartesian3.EncodedCartesian3.fromCartesian(start2D, encodeScratch2D);
-                forwardOffset2D = Cartesian2.Cartesian3.subtract(end2D, start2D, forwardOffset2DScratch);
-
-                // Right direction is just forward direction rotated by -90 degrees around Z
-                // Similarly with plane normals
-                right2D = Cartesian2.Cartesian3.normalize(forwardOffset2D, right2DScratch);
-                var swap = right2D.x;
-                right2D.x = right2D.y;
-                right2D.y = -swap;
-
-                texcoordNormalization2DX = segmentLength2D / length2D;
-                texcoordNormalization2DY = lengthSoFar2D / length2D;
-            }
-            /** Pack **/
-            for (j = 0; j < 8; j++) {
-                var vec4Index = vec4sWriteIndex + j * 4;
-                var vec2Index = vec2sWriteIndex + j * 2;
-                var wIndex = vec4Index + 3;
-
-                // Encode sidedness of vertex relative to right plane in texture coordinate normalization X,
-                // whether vertex is top or bottom of volume in sign/magnitude of normalization Y.
-                var rightPlaneSide = j < 4 ? 1.0 : -1.0;
-                var topBottomSide = (j === 2 || j === 3 || j === 6 || j === 7) ? 1.0 : -1.0;
-
-                // 3D
-                Cartesian2.Cartesian3.pack(encodedStart.high, startHiAndForwardOffsetX, vec4Index);
-                startHiAndForwardOffsetX[wIndex] = forwardOffset.x;
-
-                Cartesian2.Cartesian3.pack(encodedStart.low, startLoAndForwardOffsetY, vec4Index);
-                startLoAndForwardOffsetY[wIndex] = forwardOffset.y;
-
-                Cartesian2.Cartesian3.pack(startPlaneNormal, startNormalAndForwardOffsetZ, vec4Index);
-                startNormalAndForwardOffsetZ[wIndex] = forwardOffset.z;
-
-                Cartesian2.Cartesian3.pack(endPlaneNormal, endNormalAndTextureCoordinateNormalizationX, vec4Index);
-                endNormalAndTextureCoordinateNormalizationX[wIndex] = texcoordNormalization3DX * rightPlaneSide;
-
-                Cartesian2.Cartesian3.pack(rightNormal, rightNormalAndTextureCoordinateNormalizationY, vec4Index);
-
-                var texcoordNormalization = texcoordNormalization3DY * topBottomSide;
-                if (texcoordNormalization === 0.0 && topBottomSide < 0.0) {
-                    texcoordNormalization = Number.POSITIVE_INFINITY;
-                }
-                rightNormalAndTextureCoordinateNormalizationY[wIndex] = texcoordNormalization;
-
-                // 2D
-                if (compute2dAttributes) {
-                    startHiLo2D[vec4Index] = encodedStart2D.high.x;
-                    startHiLo2D[vec4Index + 1] = encodedStart2D.high.y;
-                    startHiLo2D[vec4Index + 2] = encodedStart2D.low.x;
-                    startHiLo2D[vec4Index + 3] = encodedStart2D.low.y;
-
-                    startEndNormals2D[vec4Index] = -startGeometryNormal2D.y;
-                    startEndNormals2D[vec4Index + 1] = startGeometryNormal2D.x;
-                    startEndNormals2D[vec4Index + 2] = endGeometryNormal2D.y;
-                    startEndNormals2D[vec4Index + 3] = -endGeometryNormal2D.x;
-
-                    offsetAndRight2D[vec4Index] = forwardOffset2D.x;
-                    offsetAndRight2D[vec4Index + 1] = forwardOffset2D.y;
-                    offsetAndRight2D[vec4Index + 2] = right2D.x;
-                    offsetAndRight2D[vec4Index + 3] = right2D.y;
-
-                    texcoordNormalization2D[vec2Index] = texcoordNormalization2DX * rightPlaneSide;
-
-                    texcoordNormalization = texcoordNormalization2DY * topBottomSide;
-                    if (texcoordNormalization === 0.0 && topBottomSide < 0.0) {
-                        texcoordNormalization = Number.POSITIVE_INFINITY;
-                    }
-                    texcoordNormalization2D[vec2Index + 1] = texcoordNormalization;
-                }
-            }
-
-            // Adjust height of volume in 3D
-            var adjustHeightStartBottom = adjustHeightStartBottomScratch;
-            var adjustHeightEndBottom = adjustHeightEndBottomScratch;
-            var adjustHeightStartTop = adjustHeightStartTopScratch;
-            var adjustHeightEndTop = adjustHeightEndTopScratch;
-
-            var getHeightsRectangle = Cartesian2.Rectangle.fromCartographicArray(getHeightCartographics, getHeightRectangleScratch);
-            var minMaxHeights = ApproximateTerrainHeights.getMinimumMaximumHeights(getHeightsRectangle, ellipsoid);
-            var minHeight = minMaxHeights.minimumTerrainHeight;
-            var maxHeight = minMaxHeights.maximumTerrainHeight;
-
-            sumHeights += minHeight;
-            sumHeights += maxHeight;
-
-            adjustHeights(startBottom, startTop, minHeight, maxHeight, adjustHeightStartBottom, adjustHeightStartTop);
-            adjustHeights(endBottom, endTop, minHeight, maxHeight, adjustHeightEndBottom, adjustHeightEndTop);
-
-            // Nudge the positions away from the "polyline" a little bit to prevent errors in GeometryPipeline
-            var normalNudge = Cartesian2.Cartesian3.multiplyByScalar(rightNormal, _Math.CesiumMath.EPSILON5, normalNudgeScratch);
-            Cartesian2.Cartesian3.add(adjustHeightStartBottom, normalNudge, adjustHeightStartBottom);
-            Cartesian2.Cartesian3.add(adjustHeightEndBottom, normalNudge, adjustHeightEndBottom);
-            Cartesian2.Cartesian3.add(adjustHeightStartTop, normalNudge, adjustHeightStartTop);
-            Cartesian2.Cartesian3.add(adjustHeightEndTop, normalNudge, adjustHeightEndTop);
-
-            // If the segment is very close to the XZ plane, nudge the vertices slightly to avoid touching it.
-            nudgeXZ(adjustHeightStartBottom, adjustHeightEndBottom);
-            nudgeXZ(adjustHeightStartTop, adjustHeightEndTop);
-
-            Cartesian2.Cartesian3.pack(adjustHeightStartBottom, positionsArray, vec3sWriteIndex);
-            Cartesian2.Cartesian3.pack(adjustHeightEndBottom, positionsArray, vec3sWriteIndex + 3);
-            Cartesian2.Cartesian3.pack(adjustHeightEndTop, positionsArray, vec3sWriteIndex + 6);
-            Cartesian2.Cartesian3.pack(adjustHeightStartTop, positionsArray, vec3sWriteIndex + 9);
-
-            normalNudge = Cartesian2.Cartesian3.multiplyByScalar(rightNormal, -2.0 * _Math.CesiumMath.EPSILON5, normalNudgeScratch);
-            Cartesian2.Cartesian3.add(adjustHeightStartBottom, normalNudge, adjustHeightStartBottom);
-            Cartesian2.Cartesian3.add(adjustHeightEndBottom, normalNudge, adjustHeightEndBottom);
-            Cartesian2.Cartesian3.add(adjustHeightStartTop, normalNudge, adjustHeightStartTop);
-            Cartesian2.Cartesian3.add(adjustHeightEndTop, normalNudge, adjustHeightEndTop);
-
-            nudgeXZ(adjustHeightStartBottom, adjustHeightEndBottom);
-            nudgeXZ(adjustHeightStartTop, adjustHeightEndTop);
-
-            Cartesian2.Cartesian3.pack(adjustHeightStartBottom, positionsArray, vec3sWriteIndex + 12);
-            Cartesian2.Cartesian3.pack(adjustHeightEndBottom, positionsArray, vec3sWriteIndex + 15);
-            Cartesian2.Cartesian3.pack(adjustHeightEndTop, positionsArray, vec3sWriteIndex + 18);
-            Cartesian2.Cartesian3.pack(adjustHeightStartTop, positionsArray, vec3sWriteIndex + 21);
-
-            cartographicsIndex += 2;
-            index += 3;
-
-            vec2sWriteIndex += 16;
-            vec3sWriteIndex += 24;
-            vec4sWriteIndex += 32;
-
-            lengthSoFar3D += segmentLength3D;
-            lengthSoFar2D += segmentLength2D;
-        }
-
-        index = 0;
-        var indexOffset = 0;
-        for (i = 0; i < segmentCount; i++) {
-            for (j = 0; j < REFERENCE_INDICES_LENGTH; j++) {
-                indices[index + j] = REFERENCE_INDICES[j] + indexOffset;
-            }
-            indexOffset += 8;
-            index += REFERENCE_INDICES_LENGTH;
-        }
-
-        var boundingSpheres = scratchBoundingSpheres;
-        BoundingSphere.BoundingSphere.fromVertices(bottomPositionsArray, Cartesian2.Cartesian3.ZERO, 3, boundingSpheres[0]);
-        BoundingSphere.BoundingSphere.fromVertices(topPositionsArray, Cartesian2.Cartesian3.ZERO, 3, boundingSpheres[1]);
-        var boundingSphere = BoundingSphere.BoundingSphere.fromBoundingSpheres(boundingSpheres);
-
-        // Adjust bounding sphere height and radius to cover more of the volume
-        boundingSphere.radius += sumHeights / (segmentCount * 2.0);
-
-        var attributes = {
-            position : new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                normalize : false,
-                values : positionsArray
-            }),
-            startHiAndForwardOffsetX : getVec4GeometryAttribute(startHiAndForwardOffsetX),
-            startLoAndForwardOffsetY : getVec4GeometryAttribute(startLoAndForwardOffsetY),
-            startNormalAndForwardOffsetZ : getVec4GeometryAttribute(startNormalAndForwardOffsetZ),
-            endNormalAndTextureCoordinateNormalizationX : getVec4GeometryAttribute(endNormalAndTextureCoordinateNormalizationX),
-            rightNormalAndTextureCoordinateNormalizationY : getVec4GeometryAttribute(rightNormalAndTextureCoordinateNormalizationY)
-        };
-
-        if (compute2dAttributes) {
-            attributes.startHiLo2D = getVec4GeometryAttribute(startHiLo2D);
-            attributes.offsetAndRight2D = getVec4GeometryAttribute(offsetAndRight2D);
-            attributes.startEndNormals2D = getVec4GeometryAttribute(startEndNormals2D);
-            attributes.texcoordNormalization2D = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                componentsPerAttribute : 2,
-                normalize : false,
-                values : texcoordNormalization2D
-            });
-        }
-
-        return new GeometryAttribute.Geometry({
-            attributes : attributes,
-            indices : indices,
-            boundingSphere : boundingSphere
-        });
-    }
-
-    function getVec4GeometryAttribute(typedArray) {
-        return new GeometryAttribute.GeometryAttribute({
-            componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-            componentsPerAttribute : 4,
-            normalize : false,
-            values : typedArray
-        });
-    }
-
-    /**
-     * Approximates an ellipsoid-tangent vector in 2D by projecting the end point into 2D.
-     * Exposed for testing.
-     *
-     * @param {MapProjection} projection Map Projection for projecting coordinates to 2D.
-     * @param {Cartographic} cartographic The cartographic origin point of the normal.
-     *   Used to check if the normal crosses the IDL during projection.
-     * @param {Cartesian3} normal The normal in 3D.
-     * @param {Cartesian3} projectedPosition The projected origin point of the normal in 2D.
-     * @param {Cartesian3} result Result parameter on which to store the projected normal.
-     * @private
-     */
-    GroundPolylineGeometry._projectNormal = projectNormal;
-
-    function createGroundPolylineGeometry(groundPolylineGeometry, offset) {
-        return ApproximateTerrainHeights.initialize()
-            .then(function() {
-                if (when.defined(offset)) {
-                    groundPolylineGeometry = GroundPolylineGeometry.unpack(groundPolylineGeometry, offset);
-                }
-                return GroundPolylineGeometry.createGeometry(groundPolylineGeometry);
-            });
-    }
-
-    return createGroundPolylineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createPlaneGeometry.js b/libs/supermap/Workers/createPlaneGeometry.js
deleted file mode 100644
index 9bedc79..0000000
--- a/libs/supermap/Workers/createPlaneGeometry.js
+++ /dev/null
@@ -1,268 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './VertexFormat-fe4db402'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, VertexFormat) { 'use strict';
-
-    /**
-         * Describes geometry representing a plane centered at the origin, with a unit width and length.
-         *
-         * @alias PlaneGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         *
-         * @example
-         * var planeGeometry = new Cesium.PlaneGeometry({
-         *   vertexFormat : Cesium.VertexFormat.POSITION_ONLY
-         * });
-         */
-        function PlaneGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var vertexFormat = when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT);
-
-            this._vertexFormat = vertexFormat;
-            this._workerName = 'createPlaneGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        PlaneGeometry.packedLength = VertexFormat.VertexFormat.packedLength;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {PlaneGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        PlaneGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-
-            return array;
-        };
-
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-        var scratchOptions = {
-            vertexFormat: scratchVertexFormat
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {PlaneGeometry} [result] The object into which to store the result.
-         * @returns {PlaneGeometry} The modified result parameter or a new PlaneGeometry instance if one was not provided.
-         */
-        PlaneGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-
-            if (!when.defined(result)) {
-                return new PlaneGeometry(scratchOptions);
-            }
-
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-
-            return result;
-        };
-
-        var min = new Cartesian2.Cartesian3(-0.5, -0.5, 0.0);
-        var max = new Cartesian2.Cartesian3( 0.5,  0.5, 0.0);
-
-        /**
-         * Computes the geometric representation of a plane, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {PlaneGeometry} planeGeometry A description of the plane.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        PlaneGeometry.createGeometry = function(planeGeometry) {
-            var vertexFormat = planeGeometry._vertexFormat;
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            var indices;
-            var positions;
-
-            if (vertexFormat.position) {
-                // 4 corner points.  Duplicated 3 times each for each incident edge/face.
-                positions = new Float64Array(4 * 3);
-
-                // +z face
-                positions[0]  = min.x;
-                positions[1]  = min.y;
-                positions[2]  = 0.0;
-                positions[3]  = max.x;
-                positions[4]  = min.y;
-                positions[5]  = 0.0;
-                positions[6]  = max.x;
-                positions[7]  = max.y;
-                positions[8]  = 0.0;
-                positions[9]  = min.x;
-                positions[10] = max.y;
-                positions[11] = 0.0;
-
-                attributes.position = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : positions
-                });
-
-                if (vertexFormat.normal) {
-                    var normals = new Float32Array(4 * 3);
-
-                    // +z face
-                    normals[0]  = 0.0;
-                    normals[1]  = 0.0;
-                    normals[2]  = 1.0;
-                    normals[3]  = 0.0;
-                    normals[4]  = 0.0;
-                    normals[5]  = 1.0;
-                    normals[6]  = 0.0;
-                    normals[7]  = 0.0;
-                    normals[8]  = 1.0;
-                    normals[9]  = 0.0;
-                    normals[10] = 0.0;
-                    normals[11] = 1.0;
-
-                    attributes.normal = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : normals
-                    });
-                }
-
-                if (vertexFormat.st) {
-                    var texCoords = new Float32Array(4 * 2);
-
-                    // +z face
-                    texCoords[0]  = 0.0;
-                    texCoords[1]  = 0.0;
-                    texCoords[2]  = 1.0;
-                    texCoords[3]  = 0.0;
-                    texCoords[4]  = 1.0;
-                    texCoords[5]  = 1.0;
-                    texCoords[6]  = 0.0;
-                    texCoords[7]  = 1.0;
-
-                    attributes.st = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 2,
-                        values : texCoords
-                    });
-                }
-
-                if (vertexFormat.tangent) {
-                    var tangents = new Float32Array(4 * 3);
-
-                    // +z face
-                    tangents[0]  = 1.0;
-                    tangents[1]  = 0.0;
-                    tangents[2]  = 0.0;
-                    tangents[3]  = 1.0;
-                    tangents[4]  = 0.0;
-                    tangents[5]  = 0.0;
-                    tangents[6]  = 1.0;
-                    tangents[7]  = 0.0;
-                    tangents[8]  = 0.0;
-                    tangents[9]  = 1.0;
-                    tangents[10] = 0.0;
-                    tangents[11] = 0.0;
-
-                    attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : tangents
-                    });
-                }
-
-                if (vertexFormat.bitangent) {
-                    var bitangents = new Float32Array(4 * 3);
-
-                    // +z face
-                    bitangents[0] = 0.0;
-                    bitangents[1] = 1.0;
-                    bitangents[2] = 0.0;
-                    bitangents[3] = 0.0;
-                    bitangents[4] = 1.0;
-                    bitangents[5] = 0.0;
-                    bitangents[6] = 0.0;
-                    bitangents[7] = 1.0;
-                    bitangents[8] = 0.0;
-                    bitangents[9] = 0.0;
-                    bitangents[10] = 1.0;
-                    bitangents[11] = 0.0;
-
-                    attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : bitangents
-                    });
-                }
-
-                // 2 triangles
-                indices = new Uint16Array(2 * 3);
-
-                // +z face
-                indices[0] = 0;
-                indices[1] = 1;
-                indices[2] = 2;
-                indices[3] = 0;
-                indices[4] = 2;
-                indices[5] = 3;
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES,
-                boundingSphere : new BoundingSphere.BoundingSphere(Cartesian2.Cartesian3.ZERO, Math.sqrt(2.0))
-            });
-        };
-
-    function createPlaneGeometry(planeGeometry, offset) {
-        if (when.defined(offset)) {
-            planeGeometry = PlaneGeometry.unpack(planeGeometry, offset);
-        }
-        return PlaneGeometry.createGeometry(planeGeometry);
-    }
-
-    return createPlaneGeometry;
-
-});
diff --git a/libs/supermap/Workers/createPlaneOutlineGeometry.js b/libs/supermap/Workers/createPlaneOutlineGeometry.js
deleted file mode 100644
index 249f711..0000000
--- a/libs/supermap/Workers/createPlaneOutlineGeometry.js
+++ /dev/null
@@ -1,137 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes) { 'use strict';
-
-    /**
-         * Describes geometry representing the outline of a plane centered at the origin, with a unit width and length.
-         *
-         * @alias PlaneOutlineGeometry
-         * @constructor
-         *
-         */
-        function PlaneOutlineGeometry() {
-            this._workerName = 'createPlaneOutlineGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        PlaneOutlineGeometry.packedLength = 0;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {PlaneOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        PlaneOutlineGeometry.pack = function(value, array) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {PlaneOutlineGeometry} [result] The object into which to store the result.
-         * @returns {PlaneOutlineGeometry} The modified result parameter or a new PlaneOutlineGeometry instance if one was not provided.
-         */
-        PlaneOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                return new PlaneOutlineGeometry();
-            }
-
-            return result;
-        };
-
-        var min = new Cartesian2.Cartesian3(-0.5, -0.5, 0.0);
-        var max = new Cartesian2.Cartesian3( 0.5,  0.5, 0.0);
-
-        /**
-         * Computes the geometric representation of an outline of a plane, including its vertices, indices, and a bounding sphere.
-         *
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        PlaneOutlineGeometry.createGeometry = function() {
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            var indices = new Uint16Array(4 * 2);
-            var positions = new Float64Array(4 * 3);
-
-            positions[0] = min.x;
-            positions[1] = min.y;
-            positions[2] = min.z;
-            positions[3] = max.x;
-            positions[4] = min.y;
-            positions[5] = min.z;
-            positions[6] = max.x;
-            positions[7] = max.y;
-            positions[8] = min.z;
-            positions[9] = min.x;
-            positions[10] = max.y;
-            positions[11] = min.z;
-
-            attributes.position = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : positions
-            });
-
-            indices[0] = 0;
-            indices[1] = 1;
-            indices[2] = 1;
-            indices[3] = 2;
-            indices[4] = 2;
-            indices[5] = 3;
-            indices[6] = 3;
-            indices[7] = 0;
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES,
-                boundingSphere : new BoundingSphere.BoundingSphere(Cartesian2.Cartesian3.ZERO, Math.sqrt(2.0))
-            });
-        };
-
-    function createPlaneOutlineGeometry(planeGeometry, offset) {
-        if (when.defined(offset)) {
-            planeGeometry = PlaneOutlineGeometry.unpack(planeGeometry, offset);
-        }
-        return PlaneOutlineGeometry.createGeometry(planeGeometry);
-    }
-
-    return createPlaneOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createPolygonGeometry.js b/libs/supermap/Workers/createPolygonGeometry.js
deleted file mode 100644
index d9a6972..0000000
--- a/libs/supermap/Workers/createPolygonGeometry.js
+++ /dev/null
@@ -1,1079 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './AttributeCompression-50ff7145', './GeometryPipeline-cf04afb6', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './GeometryInstance-41ec5f45', './arrayRemoveDuplicates-f0b089b1', './BoundingRectangle-5220b474', './EllipsoidTangentPlane-fe3014f8', './ArcType-66bc286a', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './PolygonGeometryLibrary-ca983abc', './EllipsoidGeodesic-15923280'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, AttributeCompression, GeometryPipeline, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, GeometryOffsetAttribute, VertexFormat, GeometryInstance, arrayRemoveDuplicates, BoundingRectangle, EllipsoidTangentPlane, ArcType, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, PolygonGeometryLibrary, EllipsoidGeodesic) { 'use strict';
-
-    var scratchCarto1 = new Cartesian2.Cartographic();
-        var scratchCarto2 = new Cartesian2.Cartographic();
-        function adjustPosHeightsForNormal(position, p1, p2, ellipsoid) {
-            var carto1 = ellipsoid.cartesianToCartographic(position, scratchCarto1);
-            var height = carto1.height;
-            var p1Carto = ellipsoid.cartesianToCartographic(p1, scratchCarto2);
-            p1Carto.height = height;
-            ellipsoid.cartographicToCartesian(p1Carto, p1);
-
-            var p2Carto = ellipsoid.cartesianToCartographic(p2, scratchCarto2);
-            p2Carto.height = height - 100;
-            ellipsoid.cartographicToCartesian(p2Carto, p2);
-        }
-
-        var scratchBoundingRectangle = new BoundingRectangle.BoundingRectangle();
-        var scratchPosition = new Cartesian2.Cartesian3();
-        var scratchNormal = new Cartesian2.Cartesian3();
-        var scratchTangent = new Cartesian2.Cartesian3();
-        var scratchBitangent = new Cartesian2.Cartesian3();
-        var p1Scratch = new Cartesian2.Cartesian3();
-        var p2Scratch = new Cartesian2.Cartesian3();
-        var scratchPerPosNormal = new Cartesian2.Cartesian3();
-        var scratchPerPosTangent = new Cartesian2.Cartesian3();
-        var scratchPerPosBitangent = new Cartesian2.Cartesian3();
-
-        var appendTextureCoordinatesOrigin = new Cartesian2.Cartesian2();
-        var appendTextureCoordinatesCartesian2 = new Cartesian2.Cartesian2();
-        var appendTextureCoordinatesCartesian3 = new Cartesian2.Cartesian3();
-        var appendTextureCoordinatesQuaternion = new Transforms.Quaternion();
-        var appendTextureCoordinatesMatrix3 = new BoundingSphere.Matrix3();
-        var tangentMatrixScratch = new BoundingSphere.Matrix3();
-
-        function computeAttributes(options) {
-            var vertexFormat = options.vertexFormat;
-            var geometry = options.geometry;
-            var shadowVolume = options.shadowVolume;
-            var flatPositions = geometry.attributes.position.values;
-            var length = flatPositions.length;
-            var wall = options.wall;
-            var top = options.top || wall;
-            var bottom = options.bottom || wall;
-            if (vertexFormat.st || vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent || shadowVolume) {
-                // PERFORMANCE_IDEA: Compute before subdivision, then just interpolate during subdivision.
-                // PERFORMANCE_IDEA: Compute with createGeometryFromPositions() for fast path when there's no holes.
-                var boundingRectangle = options.boundingRectangle;
-                var tangentPlane = options.tangentPlane;
-                var ellipsoid = options.ellipsoid;
-                var stRotation = options.stRotation;
-                var perPositionHeight = options.perPositionHeight;
-
-                var origin = appendTextureCoordinatesOrigin;
-                origin.x = boundingRectangle.x;
-                origin.y = boundingRectangle.y;
-
-                var textureCoordinates = vertexFormat.st ? new Float32Array(2 * (length / 3)) : undefined;
-                var normals;
-                if (vertexFormat.normal) {
-                    if (perPositionHeight && top && !wall) {
-                        normals = geometry.attributes.normal.values;
-                    } else {
-                        normals = new Float32Array(length);
-                    }
-                }
-                var tangents = vertexFormat.tangent ? new Float32Array(length) : undefined;
-                var bitangents = vertexFormat.bitangent ? new Float32Array(length) : undefined;
-                var extrudeNormals = shadowVolume ? new Float32Array(length) : undefined;
-
-                var textureCoordIndex = 0;
-                var attrIndex = 0;
-
-                var normal = scratchNormal;
-                var tangent = scratchTangent;
-                var bitangent = scratchBitangent;
-                var recomputeNormal = true;
-
-                var textureMatrix = appendTextureCoordinatesMatrix3;
-                var tangentRotationMatrix = tangentMatrixScratch;
-                if (stRotation !== 0.0) {
-                    var rotation = Transforms.Quaternion.fromAxisAngle(tangentPlane._plane.normal, stRotation, appendTextureCoordinatesQuaternion);
-                    textureMatrix = BoundingSphere.Matrix3.fromQuaternion(rotation, textureMatrix);
-
-                    rotation = Transforms.Quaternion.fromAxisAngle(tangentPlane._plane.normal, -stRotation, appendTextureCoordinatesQuaternion);
-                    tangentRotationMatrix = BoundingSphere.Matrix3.fromQuaternion(rotation, tangentRotationMatrix);
-                } else {
-                    textureMatrix = BoundingSphere.Matrix3.clone(BoundingSphere.Matrix3.IDENTITY, textureMatrix);
-                    tangentRotationMatrix = BoundingSphere.Matrix3.clone(BoundingSphere.Matrix3.IDENTITY, tangentRotationMatrix);
-                }
-
-                var bottomOffset = 0;
-                var bottomOffset2 = 0;
-
-                if (top && bottom) {
-                    bottomOffset = length / 2;
-                    bottomOffset2 = length / 3;
-
-                    length /= 2;
-                }
-
-                for ( var i = 0; i < length; i += 3) {
-                    var position = Cartesian2.Cartesian3.fromArray(flatPositions, i, appendTextureCoordinatesCartesian3);
-
-                    if (vertexFormat.st) {
-                        var p = BoundingSphere.Matrix3.multiplyByVector(textureMatrix, position, scratchPosition);
-                        p = ellipsoid.scaleToGeodeticSurface(p,p);
-                        var st = tangentPlane.projectPointOntoPlane(p, appendTextureCoordinatesCartesian2);
-                        Cartesian2.Cartesian2.subtract(st, origin, st);
-
-                        var stx = _Math.CesiumMath.clamp(st.x / boundingRectangle.width, 0, 1);
-                        var sty = _Math.CesiumMath.clamp(st.y / boundingRectangle.height, 0, 1);
-                        if (bottom) {
-                            textureCoordinates[textureCoordIndex + bottomOffset2] = stx;
-                            textureCoordinates[textureCoordIndex + 1 + bottomOffset2] = sty;
-                        }
-                        if (top) {
-                            textureCoordinates[textureCoordIndex] = stx;
-                            textureCoordinates[textureCoordIndex + 1] = sty;
-                        }
-
-                        textureCoordIndex += 2;
-                    }
-
-                    if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent || shadowVolume) {
-                        var attrIndex1 = attrIndex + 1;
-                        var attrIndex2 = attrIndex + 2;
-
-                        if (wall) {
-                            if (i + 3 < length) {
-                                var p1 = Cartesian2.Cartesian3.fromArray(flatPositions, i + 3, p1Scratch);
-
-                                if (recomputeNormal) {
-                                    var p2 = Cartesian2.Cartesian3.fromArray(flatPositions, i + length, p2Scratch);
-                                    if (perPositionHeight) {
-                                        adjustPosHeightsForNormal(position, p1, p2, ellipsoid);
-                                    }
-                                    Cartesian2.Cartesian3.subtract(p1, position, p1);
-                                    Cartesian2.Cartesian3.subtract(p2, position, p2);
-                                    normal = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(p2, p1, normal), normal);
-                                    recomputeNormal = false;
-                                }
-
-                                if (Cartesian2.Cartesian3.equalsEpsilon(p1, position, _Math.CesiumMath.EPSILON10)) { // if we've reached a corner
-                                    recomputeNormal = true;
-                                }
-                            }
-
-                            if (vertexFormat.tangent || vertexFormat.bitangent) {
-                                bitangent = ellipsoid.geodeticSurfaceNormal(position, bitangent);
-                                if (vertexFormat.tangent) {
-                                    tangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(bitangent, normal, tangent), tangent);
-                                }
-                            }
-                        } else {
-                            normal = ellipsoid.geodeticSurfaceNormal(position, normal);
-                            if (vertexFormat.tangent || vertexFormat.bitangent) {
-                                if (perPositionHeight) {
-                                    scratchPerPosNormal = Cartesian2.Cartesian3.fromArray(normals, attrIndex, scratchPerPosNormal);
-                                    scratchPerPosTangent = Cartesian2.Cartesian3.cross(Cartesian2.Cartesian3.UNIT_Z, scratchPerPosNormal, scratchPerPosTangent);
-                                    scratchPerPosTangent = Cartesian2.Cartesian3.normalize(BoundingSphere.Matrix3.multiplyByVector(tangentRotationMatrix, scratchPerPosTangent, scratchPerPosTangent), scratchPerPosTangent);
-                                    if (vertexFormat.bitangent) {
-                                        scratchPerPosBitangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(scratchPerPosNormal, scratchPerPosTangent, scratchPerPosBitangent), scratchPerPosBitangent);
-                                    }
-                                }
-
-                                tangent = Cartesian2.Cartesian3.cross(Cartesian2.Cartesian3.UNIT_Z, normal, tangent);
-                                tangent = Cartesian2.Cartesian3.normalize(BoundingSphere.Matrix3.multiplyByVector(tangentRotationMatrix, tangent, tangent), tangent);
-                                if (vertexFormat.bitangent) {
-                                    bitangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(normal, tangent, bitangent), bitangent);
-                                }
-                            }
-                        }
-
-                        if (vertexFormat.normal) {
-                            if (options.wall) {
-                                normals[attrIndex + bottomOffset] = normal.x;
-                                normals[attrIndex1 + bottomOffset] = normal.y;
-                                normals[attrIndex2 + bottomOffset] = normal.z;
-                            } else if (bottom){
-                                normals[attrIndex + bottomOffset] = -normal.x;
-                                normals[attrIndex1 + bottomOffset] = -normal.y;
-                                normals[attrIndex2 + bottomOffset] = -normal.z;
-                            }
-
-                            if ((top && !perPositionHeight) || wall) {
-                                normals[attrIndex] = normal.x;
-                                normals[attrIndex1] = normal.y;
-                                normals[attrIndex2] = normal.z;
-                            }
-                        }
-
-                        if (shadowVolume) {
-                            if (wall) {
-                                normal = ellipsoid.geodeticSurfaceNormal(position, normal);
-                            }
-                            extrudeNormals[attrIndex + bottomOffset] = -normal.x;
-                            extrudeNormals[attrIndex1 + bottomOffset] = -normal.y;
-                            extrudeNormals[attrIndex2 + bottomOffset] = -normal.z;
-                        }
-
-                        if (vertexFormat.tangent) {
-                            if (options.wall) {
-                                tangents[attrIndex + bottomOffset] = tangent.x;
-                                tangents[attrIndex1 + bottomOffset] = tangent.y;
-                                tangents[attrIndex2 + bottomOffset] = tangent.z;
-                            } else if (bottom) {
-                                tangents[attrIndex + bottomOffset] = -tangent.x;
-                                tangents[attrIndex1 + bottomOffset] = -tangent.y;
-                                tangents[attrIndex2 + bottomOffset] = -tangent.z;
-                            }
-
-                            if(top) {
-                                if (perPositionHeight) {
-                                    tangents[attrIndex] = scratchPerPosTangent.x;
-                                    tangents[attrIndex1] = scratchPerPosTangent.y;
-                                    tangents[attrIndex2] = scratchPerPosTangent.z;
-                                } else {
-                                    tangents[attrIndex] = tangent.x;
-                                    tangents[attrIndex1] = tangent.y;
-                                    tangents[attrIndex2] = tangent.z;
-                                }
-                            }
-                        }
-
-                        if (vertexFormat.bitangent) {
-                            if (bottom) {
-                                bitangents[attrIndex + bottomOffset] = bitangent.x;
-                                bitangents[attrIndex1 + bottomOffset] = bitangent.y;
-                                bitangents[attrIndex2 + bottomOffset] = bitangent.z;
-                            }
-                            if (top) {
-                                if (perPositionHeight) {
-                                    bitangents[attrIndex] = scratchPerPosBitangent.x;
-                                    bitangents[attrIndex1] = scratchPerPosBitangent.y;
-                                    bitangents[attrIndex2] = scratchPerPosBitangent.z;
-                                } else {
-                                    bitangents[attrIndex] = bitangent.x;
-                                    bitangents[attrIndex1] = bitangent.y;
-                                    bitangents[attrIndex2] = bitangent.z;
-                                }
-                            }
-                        }
-                        attrIndex += 3;
-                    }
-                }
-
-                if (vertexFormat.st) {
-                    geometry.attributes.st = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 2,
-                        values : textureCoordinates
-                    });
-                }
-
-                if (vertexFormat.normal) {
-                    geometry.attributes.normal = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : normals
-                    });
-                }
-
-                if (vertexFormat.tangent) {
-                    geometry.attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : tangents
-                    });
-                }
-
-                if (vertexFormat.bitangent) {
-                    geometry.attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : bitangents
-                    });
-                }
-
-                if (shadowVolume) {
-                    geometry.attributes.extrudeDirection = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                        componentsPerAttribute : 3,
-                        values : extrudeNormals
-                    });
-                }
-            }
-
-            if (options.extrude && when.defined(options.offsetAttribute)) {
-                var size = flatPositions.length / 3;
-                var offsetAttribute = new Uint8Array(size);
-
-                if (options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                    if ((top && bottom) || wall) {
-                        offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, 1, 0, size / 2);
-                    } else if (top) {
-                        offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, 1);
-                    }
-                } else {
-                    var offsetValue = options.offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, offsetValue);
-                }
-
-                geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values : offsetAttribute
-                });
-            }
-
-            return geometry;
-        }
-
-        var startCartographicScratch = new Cartesian2.Cartographic();
-        var endCartographicScratch = new Cartesian2.Cartographic();
-        var idlCross = {
-            west : 0.0,
-            east : 0.0
-        };
-        var ellipsoidGeodesic = new EllipsoidGeodesic.EllipsoidGeodesic();
-        function computeRectangle(positions, ellipsoid, arcType, granularity, result) {
-            result = when.defaultValue(result, new Cartesian2.Rectangle());
-            if (!when.defined(positions) || positions.length < 3) {
-                result.west = 0.0;
-                result.north = 0.0;
-                result.south = 0.0;
-                result.east = 0.0;
-                return result;
-            }
-
-            if (arcType === ArcType.ArcType.RHUMB) {
-                return Cartesian2.Rectangle.fromCartesianArray(positions, ellipsoid, result);
-            }
-
-            if (!ellipsoidGeodesic.ellipsoid.equals(ellipsoid)) {
-                ellipsoidGeodesic = new EllipsoidGeodesic.EllipsoidGeodesic(undefined, undefined, ellipsoid);
-            }
-
-            result.west = Number.POSITIVE_INFINITY;
-            result.east = Number.NEGATIVE_INFINITY;
-            result.south = Number.POSITIVE_INFINITY;
-            result.north = Number.NEGATIVE_INFINITY;
-
-            idlCross.west = Number.POSITIVE_INFINITY;
-            idlCross.east = Number.NEGATIVE_INFINITY;
-
-            var inverseChordLength = 1.0 / _Math.CesiumMath.chordLength(granularity, ellipsoid.maximumRadius);
-            var positionsLength = positions.length;
-            var endCartographic = ellipsoid.cartesianToCartographic(positions[0], endCartographicScratch);
-            var startCartographic = startCartographicScratch;
-            var swap;
-
-            for (var i = 1; i < positionsLength; i++) {
-                swap = startCartographic;
-                startCartographic = endCartographic;
-                endCartographic = ellipsoid.cartesianToCartographic(positions[i], swap);
-                ellipsoidGeodesic.setEndPoints(startCartographic, endCartographic);
-                interpolateAndGrowRectangle(ellipsoidGeodesic, inverseChordLength, result, idlCross);
-            }
-
-            swap = startCartographic;
-            startCartographic = endCartographic;
-            endCartographic = ellipsoid.cartesianToCartographic(positions[0], swap);
-            ellipsoidGeodesic.setEndPoints(startCartographic, endCartographic);
-            interpolateAndGrowRectangle(ellipsoidGeodesic, inverseChordLength, result, idlCross);
-
-            if (result.east - result.west > idlCross.west - idlCross.east) {
-                result.east = idlCross.east;
-                result.west = idlCross.west;
-            }
-
-            return result;
-        }
-
-        var interpolatedCartographicScratch = new Cartesian2.Cartographic();
-        function interpolateAndGrowRectangle(ellipsoidGeodesic, inverseChordLength, result, idlCross) {
-            var segmentLength = ellipsoidGeodesic.surfaceDistance;
-
-            var numPoints = Math.ceil(segmentLength * inverseChordLength);
-            var subsegmentDistance = numPoints > 0 ? segmentLength / (numPoints - 1) : Number.POSITIVE_INFINITY;
-            var interpolationDistance = 0.0;
-
-            for (var i = 0; i < numPoints; i++) {
-                var interpolatedCartographic = ellipsoidGeodesic.interpolateUsingSurfaceDistance(interpolationDistance, interpolatedCartographicScratch);
-                interpolationDistance += subsegmentDistance;
-                var longitude = interpolatedCartographic.longitude;
-                var latitude = interpolatedCartographic.latitude;
-
-                result.west = Math.min(result.west, longitude);
-                result.east = Math.max(result.east, longitude);
-                result.south = Math.min(result.south, latitude);
-                result.north = Math.max(result.north, latitude);
-
-                idlCross.west = longitude > 0.0 ? Math.min(longitude, idlCross.west) : idlCross.west;
-                idlCross.east = longitude < 0.0 ? Math.max(longitude, idlCross.east) : idlCross.east;
-            }
-        }
-
-        var createGeometryFromPositionsExtrudedPositions = [];
-
-        function createGeometryFromPositionsExtruded(ellipsoid, polygon, granularity, hierarchy, perPositionHeight, closeTop, closeBottom, vertexFormat, arcType, extrudeOutering) {
-            var geos = {
-                walls : []
-            };
-            var i;
-
-            if (closeTop || closeBottom) {
-                var topGeo = PolygonGeometryLibrary.PolygonGeometryLibrary.createGeometryFromPositions(ellipsoid, polygon, granularity, perPositionHeight, vertexFormat, arcType);
-
-                var edgePoints = topGeo.attributes.position.values;
-                var indices = topGeo.indices;
-                var numPositions;
-                var newIndices;
-
-                if (closeTop && closeBottom) {
-                    var topBottomPositions = edgePoints.concat(edgePoints);
-
-                    numPositions = topBottomPositions.length / 3;
-
-                    newIndices = IndexDatatype.IndexDatatype.createTypedArray(numPositions, indices.length * 2);
-                    newIndices.set(indices);
-                    var ilength = indices.length;
-
-                    var length = numPositions / 2;
-
-                    for (i = 0; i < ilength; i += 3) {
-                        var i0 = newIndices[i] + length;
-                        var i1 = newIndices[i + 1] + length;
-                        var i2 = newIndices[i + 2] + length;
-
-                        newIndices[i + ilength] = i2;
-                        newIndices[i + 1 + ilength] = i1;
-                        newIndices[i + 2 + ilength] = i0;
-                    }
-
-                    topGeo.attributes.position.values = topBottomPositions;
-                    if (perPositionHeight && vertexFormat.normal) {
-                        var normals = topGeo.attributes.normal.values;
-                        topGeo.attributes.normal.values = new Float32Array(topBottomPositions.length);
-                        topGeo.attributes.normal.values.set(normals);
-                    }
-                    topGeo.indices = newIndices;
-                } else if (closeBottom) {
-                    numPositions = edgePoints.length / 3;
-                    newIndices = IndexDatatype.IndexDatatype.createTypedArray(numPositions, indices.length);
-
-                    for (i = 0; i < indices.length; i += 3) {
-                        newIndices[i] = indices[i + 2];
-                        newIndices[i + 1] = indices[i + 1];
-                        newIndices[i + 2] = indices[i];
-                    }
-
-                    topGeo.indices = newIndices;
-                }
-
-                geos.topAndBottom = new GeometryInstance.GeometryInstance({
-                    geometry : topGeo
-                });
-            }
-
-            var outerRing = hierarchy.outerRing;
-            var tangentPlane = EllipsoidTangentPlane.EllipsoidTangentPlane.fromPoints(outerRing, ellipsoid);
-            var positions2D = tangentPlane.projectPointsOntoPlane(outerRing, createGeometryFromPositionsExtrudedPositions);
-
-            var windingOrder = PolygonPipeline.PolygonPipeline.computeWindingOrder2D(positions2D);
-            if (windingOrder === PolygonPipeline.WindingOrder.CLOCKWISE) {
-                outerRing = outerRing.slice().reverse();
-            }
-
-            var wallGeo;
-            if(extrudeOutering) {
-                wallGeo = PolygonGeometryLibrary.PolygonGeometryLibrary.computeWallGeometry(outerRing, ellipsoid, granularity, perPositionHeight, arcType);
-                geos.walls.push(new GeometryInstance.GeometryInstance({
-                    geometry : wallGeo
-                }));
-            }
-
-
-            var holes = hierarchy.holes;
-            for (i = 0; i < holes.length; i++) {
-                var hole = holes[i];
-
-                tangentPlane = EllipsoidTangentPlane.EllipsoidTangentPlane.fromPoints(hole, ellipsoid);
-                positions2D = tangentPlane.projectPointsOntoPlane(hole, createGeometryFromPositionsExtrudedPositions);
-
-                windingOrder = PolygonPipeline.PolygonPipeline.computeWindingOrder2D(positions2D);
-                if (windingOrder === PolygonPipeline.WindingOrder.COUNTER_CLOCKWISE) {
-                    hole = hole.slice().reverse();
-                }
-
-                wallGeo = PolygonGeometryLibrary.PolygonGeometryLibrary.computeWallGeometry(hole, ellipsoid, granularity, perPositionHeight, arcType);
-                geos.walls.push(new GeometryInstance.GeometryInstance({
-                    geometry : wallGeo
-                }));
-            }
-
-            return geos;
-        }
-
-        /**
-         * A description of a polygon on the ellipsoid. The polygon is defined by a polygon hierarchy. Polygon geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}.
-         *
-         * @alias PolygonGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {PolygonHierarchy} options.polygonHierarchy A polygon hierarchy that can include holes.
-         * @param {Number} [options.height=0.0] The distance in meters between the polygon and the ellipsoid surface.
-         * @param {Number} [options.extrudedHeight] The distance in meters between the polygon's extruded face and the ellipsoid surface.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @param {Number} [options.stRotation=0.0] The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Boolean} [options.perPositionHeight=false] Use the height of options.positions for each position instead of using options.height to determine the height.
-         * @param {Boolean} [options.closeTop=true] When false, leaves off the top of an extruded polygon open.
-         * @param {Boolean} [options.closeBottom=true] When false, leaves off the bottom of an extruded polygon open.
-         * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of line the polygon edges must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
-         *
-         * @see PolygonGeometry#createGeometry
-         * @see PolygonGeometry#fromPositions
-         *
-         * @demo {@link https://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Polygon.html|Cesium Sandcastle Polygon Demo}
-         *
-         * @example
-         * // 1. create a polygon from points
-         * var polygon = new Cesium.PolygonGeometry({
-         *   polygonHierarchy : new Cesium.PolygonHierarchy(
-         *     Cesium.Cartesian3.fromDegreesArray([
-         *       -72.0, 40.0,
-         *       -70.0, 35.0,
-         *       -75.0, 30.0,
-         *       -70.0, 30.0,
-         *       -68.0, 40.0
-         *     ])
-         *   )
-         * });
-         * var geometry = Cesium.PolygonGeometry.createGeometry(polygon);
-         *
-         * // 2. create a nested polygon with holes
-         * var polygonWithHole = new Cesium.PolygonGeometry({
-         *   polygonHierarchy : new Cesium.PolygonHierarchy(
-         *     Cesium.Cartesian3.fromDegreesArray([
-         *       -109.0, 30.0,
-         *       -95.0, 30.0,
-         *       -95.0, 40.0,
-         *       -109.0, 40.0
-         *     ]),
-         *     [new Cesium.PolygonHierarchy(
-         *       Cesium.Cartesian3.fromDegreesArray([
-         *         -107.0, 31.0,
-         *         -107.0, 39.0,
-         *         -97.0, 39.0,
-         *         -97.0, 31.0
-         *       ]),
-         *       [new Cesium.PolygonHierarchy(
-         *         Cesium.Cartesian3.fromDegreesArray([
-         *           -105.0, 33.0,
-         *           -99.0, 33.0,
-         *           -99.0, 37.0,
-         *           -105.0, 37.0
-         *         ]),
-         *         [new Cesium.PolygonHierarchy(
-         *           Cesium.Cartesian3.fromDegreesArray([
-         *             -103.0, 34.0,
-         *             -101.0, 34.0,
-         *             -101.0, 36.0,
-         *             -103.0, 36.0
-         *           ])
-         *         )]
-         *       )]
-         *     )]
-         *   )
-         * });
-         * var geometry = Cesium.PolygonGeometry.createGeometry(polygonWithHole);
-         *
-         * // 3. create extruded polygon
-         * var extrudedPolygon = new Cesium.PolygonGeometry({
-         *   polygonHierarchy : new Cesium.PolygonHierarchy(
-         *     Cesium.Cartesian3.fromDegreesArray([
-         *       -72.0, 40.0,
-         *       -70.0, 35.0,
-         *       -75.0, 30.0,
-         *       -70.0, 30.0,
-         *       -68.0, 40.0
-         *     ])
-         *   ),
-         *   extrudedHeight: 300000
-         * });
-         * var geometry = Cesium.PolygonGeometry.createGeometry(extrudedPolygon);
-         */
-        function PolygonGeometry(options) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('options', options);
-            Check.Check.typeOf.object('options.polygonHierarchy', options.polygonHierarchy);
-            if (when.defined(options.perPositionHeight) && options.perPositionHeight && when.defined(options.height)) {
-                throw new Check.DeveloperError('Cannot use both options.perPositionHeight and options.height');
-            }
-            if (when.defined(options.arcType) && options.arcType !== ArcType.ArcType.GEODESIC && options.arcType !== ArcType.ArcType.RHUMB) {
-                throw new Check.DeveloperError('Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.');
-            }
-            //>>includeEnd('debug');
-
-            var polygonHierarchy = options.polygonHierarchy;
-            var vertexFormat = when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT);
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            var stRotation = when.defaultValue(options.stRotation, 0.0);
-            var perPositionHeight = when.defaultValue(options.perPositionHeight, false);
-            var perPositionHeightExtrude = perPositionHeight && when.defined(options.extrudedHeight);
-            var height = when.defaultValue(options.height, 0.0);
-            var extrudedHeight = when.defaultValue(options.extrudedHeight, height);
-
-            if (!perPositionHeightExtrude) {
-                var h = Math.max(height, extrudedHeight);
-                extrudedHeight = Math.min(height, extrudedHeight);
-                height = h;
-            }
-
-            this._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat);
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid);
-            this._granularity = granularity;
-            this._stRotation = stRotation;
-            this._height = height;
-            this._extrudedHeight = extrudedHeight;
-            this._closeTop = when.defaultValue(options.closeTop, true);
-            this._closeBottom = when.defaultValue(options.closeBottom, true);
-            this._extrudeOutering  = when.defaultValue(options.extrudeOutering, true);
-            this._polygonHierarchy = polygonHierarchy;
-            this._perPositionHeight = perPositionHeight;
-            this._perPositionHeightExtrude = perPositionHeightExtrude;
-            this._shadowVolume = when.defaultValue(options.shadowVolume, false);
-            this._workerName = 'createPolygonGeometry';
-            this._offsetAttribute = options.offsetAttribute;
-            this._arcType = when.defaultValue(options.arcType, ArcType.ArcType.GEODESIC);
-
-            this._rectangle = undefined;
-            this._textureCoordinateRotationPoints = undefined;
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = PolygonGeometryLibrary.PolygonGeometryLibrary.computeHierarchyPackedLength(polygonHierarchy) + Cartesian2.Ellipsoid.packedLength + VertexFormat.VertexFormat.packedLength + 12;
-        }
-
-        /**
-         * A description of a polygon from an array of positions. Polygon geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of positions that defined the corner points of the polygon.
-         * @param {Number} [options.height=0.0] The height of the polygon.
-         * @param {Number} [options.extrudedHeight] The height of the polygon extrusion.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @param {Number} [options.stRotation=0.0] The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Boolean} [options.perPositionHeight=false] Use the height of options.positions for each position instead of using options.height to determine the height.
-         * @param {Boolean} [options.closeTop=true] When false, leaves off the top of an extruded polygon open.
-         * @param {Boolean} [options.closeBottom=true] When false, leaves off the bottom of an extruded polygon open.
-         * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of line the polygon edges must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
-         * @returns {PolygonGeometry}
-         *
-         *
-         * @example
-         * // create a polygon from points
-         * var polygon = Cesium.PolygonGeometry.fromPositions({
-         *   positions : Cesium.Cartesian3.fromDegreesArray([
-         *     -72.0, 40.0,
-         *     -70.0, 35.0,
-         *     -75.0, 30.0,
-         *     -70.0, 30.0,
-         *     -68.0, 40.0
-         *   ])
-         * });
-         * var geometry = Cesium.PolygonGeometry.createGeometry(polygon);
-         *
-         * @see PolygonGeometry#createGeometry
-         */
-        PolygonGeometry.fromPositions = function(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('options.positions', options.positions);
-            //>>includeEnd('debug');
-
-            var newOptions = {
-                polygonHierarchy : {
-                    positions : options.positions
-                },
-                height : options.height,
-                extrudedHeight : options.extrudedHeight,
-                vertexFormat : options.vertexFormat,
-                stRotation : options.stRotation,
-                ellipsoid : options.ellipsoid,
-                granularity : options.granularity,
-                perPositionHeight : options.perPositionHeight,
-                closeTop : options.closeTop,
-                closeBottom : options.closeBottom,
-                offsetAttribute : options.offsetAttribute,
-                arcType : options.arcType
-            };
-            return new PolygonGeometry(newOptions);
-        };
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {PolygonGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        PolygonGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            startingIndex = PolygonGeometryLibrary.PolygonGeometryLibrary.packPolygonHierarchy(value._polygonHierarchy, array, startingIndex);
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            array[startingIndex++] = value._height;
-            array[startingIndex++] = value._extrudedHeight;
-            array[startingIndex++] = value._granularity;
-            array[startingIndex++] = value._stRotation;
-            array[startingIndex++] = value._perPositionHeightExtrude ? 1.0 : 0.0;
-            array[startingIndex++] = value._perPositionHeight ? 1.0 : 0.0;
-            array[startingIndex++] = value._closeTop ? 1.0 : 0.0;
-            array[startingIndex++] = value._closeBottom ? 1.0 : 0.0;
-            array[startingIndex++] = value._shadowVolume ? 1.0 : 0.0;
-            array[startingIndex++] = when.defaultValue(value._offsetAttribute, -1);
-            array[startingIndex++] = value._arcType;
-            array[startingIndex] = value.packedLength;
-
-            return array;
-        };
-
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-
-        //Only used to avoid inability to default construct.
-        var dummyOptions = {
-            polygonHierarchy : {}
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {PolygonGeometry} [result] The object into which to store the result.
-         */
-        PolygonGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var polygonHierarchy = PolygonGeometryLibrary.PolygonGeometryLibrary.unpackPolygonHierarchy(array, startingIndex);
-            startingIndex = polygonHierarchy.startingIndex;
-            delete polygonHierarchy.startingIndex;
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            var height = array[startingIndex++];
-            var extrudedHeight = array[startingIndex++];
-            var granularity = array[startingIndex++];
-            var stRotation = array[startingIndex++];
-            var perPositionHeightExtrude = array[startingIndex++] === 1.0;
-            var perPositionHeight = array[startingIndex++] === 1.0;
-            var closeTop = array[startingIndex++] === 1.0;
-            var closeBottom = array[startingIndex++] === 1.0;
-            var shadowVolume = array[startingIndex++] === 1.0;
-            var offsetAttribute = array[startingIndex++];
-            var arcType = array[startingIndex++];
-            var packedLength = array[startingIndex];
-
-            if (!when.defined(result)) {
-                result = new PolygonGeometry(dummyOptions);
-            }
-
-            result._polygonHierarchy = polygonHierarchy;
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._height = height;
-            result._extrudedHeight = extrudedHeight;
-            result._granularity = granularity;
-            result._stRotation = stRotation;
-            result._perPositionHeightExtrude = perPositionHeightExtrude;
-            result._perPositionHeight = perPositionHeight;
-            result._closeTop = closeTop;
-            result._closeBottom = closeBottom;
-            result._shadowVolume = shadowVolume;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-            result._arcType = arcType;
-            result.packedLength = packedLength;
-            return result;
-        };
-
-        /**
-         * Returns the bounding rectangle given the provided options
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {PolygonHierarchy} options.polygonHierarchy A polygon hierarchy that can include holes.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions sampled.
-         * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of line the polygon edges must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @param {Rectangle} [result] An object in which to store the result.
-         *
-         * @returns {Rectangle} The result rectangle
-         */
-        PolygonGeometry.computeRectangle = function(options, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('options', options);
-            Check.Check.typeOf.object('options.polygonHierarchy', options.polygonHierarchy);
-            //>>includeEnd('debug');
-
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            var arcType = when.defaultValue(options.arcType, ArcType.ArcType.GEODESIC);
-            //>>includeStart('debug', pragmas.debug);
-            if (arcType !== ArcType.ArcType.GEODESIC && arcType !== ArcType.ArcType.RHUMB) {
-                throw new Check.DeveloperError('Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.');
-            }
-            //>>includeEnd('debug');
-
-            var polygonHierarchy = options.polygonHierarchy;
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-
-            return computeRectangle(polygonHierarchy.positions, ellipsoid, arcType, granularity, result);
-        };
-
-        /**
-         * Computes the geometric representation of a polygon, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {PolygonGeometry} polygonGeometry A description of the polygon.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        PolygonGeometry.createGeometry = function(polygonGeometry) {
-            var vertexFormat = polygonGeometry._vertexFormat;
-            var ellipsoid = polygonGeometry._ellipsoid;
-            var granularity = polygonGeometry._granularity;
-            var stRotation = polygonGeometry._stRotation;
-            var polygonHierarchy = polygonGeometry._polygonHierarchy;
-            var perPositionHeight = polygonGeometry._perPositionHeight;
-            var closeTop = polygonGeometry._closeTop;
-            var closeBottom = polygonGeometry._closeBottom;
-            var arcType = polygonGeometry._arcType;
-
-            var outerPositions = polygonHierarchy.positions;
-            if (outerPositions.length < 3) {
-                return;
-            }
-
-            var tangentPlane = EllipsoidTangentPlane.EllipsoidTangentPlane.fromPoints(outerPositions, ellipsoid);
-
-            var results = PolygonGeometryLibrary.PolygonGeometryLibrary.polygonsFromHierarchy(polygonHierarchy, tangentPlane.projectPointsOntoPlane.bind(tangentPlane), !perPositionHeight, ellipsoid);
-            var hierarchy = results.hierarchy;
-            var polygons = results.polygons;
-
-            if (hierarchy.length === 0) {
-                return;
-            }
-
-            outerPositions = hierarchy[0].outerRing;
-            var boundingRectangle = PolygonGeometryLibrary.PolygonGeometryLibrary.computeBoundingRectangle(tangentPlane.plane.normal, tangentPlane.projectPointOntoPlane.bind(tangentPlane), outerPositions, stRotation, scratchBoundingRectangle);
-
-            var geometries = [];
-
-            var height = polygonGeometry._height;
-            var extrudedHeight = polygonGeometry._extrudedHeight;
-            var extrude = polygonGeometry._perPositionHeightExtrude || !_Math.CesiumMath.equalsEpsilon(height, extrudedHeight, 0, _Math.CesiumMath.EPSILON2);
-
-            var options = {
-                perPositionHeight: perPositionHeight,
-                vertexFormat: vertexFormat,
-                geometry: undefined,
-                tangentPlane: tangentPlane,
-                boundingRectangle: boundingRectangle,
-                ellipsoid: ellipsoid,
-                stRotation: stRotation,
-                bottom: false,
-                top: true,
-                wall: false,
-                extrude: false,
-                arcType: arcType
-            };
-
-            var i;
-
-            if (extrude) {
-                options.extrude = true;
-                options.top = closeTop;
-                options.bottom = closeBottom;
-                options.shadowVolume = polygonGeometry._shadowVolume;
-                options.offsetAttribute = polygonGeometry._offsetAttribute;
-                for (i = 0; i < polygons.length; i++) {
-                    var splitGeometry = createGeometryFromPositionsExtruded(ellipsoid, polygons[i], granularity, hierarchy[i], perPositionHeight, closeTop, closeBottom, vertexFormat, arcType, polygonGeometry._extrudeOutering);
-
-                    var topAndBottom;
-                    if (closeTop && closeBottom) {
-                        topAndBottom = splitGeometry.topAndBottom;
-                        options.geometry = PolygonGeometryLibrary.PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(topAndBottom.geometry, height, extrudedHeight, ellipsoid, perPositionHeight);
-                    } else if (closeTop) {
-                        topAndBottom = splitGeometry.topAndBottom;
-                        topAndBottom.geometry.attributes.position.values = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(topAndBottom.geometry.attributes.position.values, height, ellipsoid, !perPositionHeight);
-                        options.geometry = topAndBottom.geometry;
-                    } else if (closeBottom) {
-                        topAndBottom = splitGeometry.topAndBottom;
-                        topAndBottom.geometry.attributes.position.values = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(topAndBottom.geometry.attributes.position.values, extrudedHeight, ellipsoid, true);
-                        options.geometry = topAndBottom.geometry;
-                    }
-                    if (closeTop || closeBottom) {
-                        options.wall = false;
-                        topAndBottom.geometry = computeAttributes(options);
-                        geometries.push(topAndBottom);
-                    }
-
-                    var walls = splitGeometry.walls;
-                    options.wall = true;
-                    for ( var k = 0; k < walls.length; k++) {
-                        var wall = walls[k];
-                        options.geometry = PolygonGeometryLibrary.PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(wall.geometry, height, extrudedHeight, ellipsoid, perPositionHeight);
-                        wall.geometry = computeAttributes(options);
-                        geometries.push(wall);
-                    }
-                }
-            } else {
-                for (i = 0; i < polygons.length; i++) {
-                    var geometryInstance = new GeometryInstance.GeometryInstance({
-                        geometry : PolygonGeometryLibrary.PolygonGeometryLibrary.createGeometryFromPositions(ellipsoid, polygons[i], granularity, perPositionHeight, vertexFormat, arcType)
-                    });
-                    geometryInstance.geometry.attributes.position.values = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(geometryInstance.geometry.attributes.position.values, height, ellipsoid, !perPositionHeight);
-                    options.geometry = geometryInstance.geometry;
-                    geometryInstance.geometry = computeAttributes(options);
-
-                    if (when.defined(polygonGeometry._offsetAttribute)) {
-                        var length = geometryInstance.geometry.attributes.position.values.length;
-                        var applyOffset = new Uint8Array(length / 3);
-                        var offsetValue = polygonGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                        GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                        geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                            componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                            componentsPerAttribute : 1,
-                            values: applyOffset
-                        });
-                    }
-
-                    geometries.push(geometryInstance);
-                }
-            }
-
-            var geometry = GeometryPipeline.GeometryPipeline.combineInstances(geometries)[0];
-            geometry.attributes.position.values = new Float64Array(geometry.attributes.position.values);
-            geometry.indices = IndexDatatype.IndexDatatype.createTypedArray(geometry.attributes.position.values.length / 3, geometry.indices);
-
-            var attributes = geometry.attributes;
-            var boundingSphere = BoundingSphere.BoundingSphere.fromVertices(attributes.position.values);
-
-            if (!vertexFormat.position) {
-                delete attributes.position;
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : geometry.indices,
-                primitiveType : geometry.primitiveType,
-                boundingSphere : boundingSphere,
-                offsetAttribute : polygonGeometry._offsetAttribute
-            });
-        };
-
-        /**
-         * @private
-         */
-        PolygonGeometry.createShadowVolume = function(polygonGeometry, minHeightFunc, maxHeightFunc) {
-            var granularity = polygonGeometry._granularity;
-            var ellipsoid = polygonGeometry._ellipsoid;
-
-            var minHeight = minHeightFunc(granularity, ellipsoid);
-            var maxHeight = maxHeightFunc(granularity, ellipsoid);
-
-            return new PolygonGeometry({
-                polygonHierarchy : polygonGeometry._polygonHierarchy,
-                ellipsoid : ellipsoid,
-                stRotation : polygonGeometry._stRotation,
-                granularity : granularity,
-                perPositionHeight : false,
-                extrudedHeight : minHeight,
-                height : maxHeight,
-                vertexFormat : VertexFormat.VertexFormat.POSITION_ONLY,
-                shadowVolume: true,
-                arcType : polygonGeometry._arcType
-            });
-        };
-
-        function textureCoordinateRotationPoints(polygonGeometry) {
-            var stRotation = -polygonGeometry._stRotation;
-            if (stRotation === 0.0) {
-                return [0, 0, 0, 1, 1, 0];
-            }
-            var ellipsoid = polygonGeometry._ellipsoid;
-            var positions = polygonGeometry._polygonHierarchy.positions;
-            var boundingRectangle = polygonGeometry.rectangle;
-            return GeometryAttribute.Geometry._textureCoordinateRotationPoints(positions, stRotation, ellipsoid, boundingRectangle);
-        }
-
-        Object.defineProperties(PolygonGeometry.prototype, {
-            /**
-             * @private
-             */
-            rectangle : {
-                get : function() {
-                    if (!when.defined(this._rectangle)) {
-                        var positions = this._polygonHierarchy.positions;
-                        this._rectangle = computeRectangle(positions, this._ellipsoid, this._arcType, this._granularity);
-                    }
-
-                    return this._rectangle;
-                }
-            },
-            /**
-             * For remapping texture coordinates when rendering PolygonGeometries as GroundPrimitives.
-             * @private
-             */
-            textureCoordinateRotationPoints : {
-                get : function() {
-                    if (!when.defined(this._textureCoordinateRotationPoints)) {
-                        this._textureCoordinateRotationPoints = textureCoordinateRotationPoints(this);
-                    }
-                    return this._textureCoordinateRotationPoints;
-                }
-            }
-        });
-
-    function createPolygonGeometry(polygonGeometry, offset) {
-        if (when.defined(offset)) {
-            polygonGeometry = PolygonGeometry.unpack(polygonGeometry, offset);
-        }
-        polygonGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(polygonGeometry._ellipsoid);
-        return PolygonGeometry.createGeometry(polygonGeometry);
-    }
-
-    return createPolygonGeometry;
-
-});
diff --git a/libs/supermap/Workers/createPolygonOutlineGeometry.js b/libs/supermap/Workers/createPolygonOutlineGeometry.js
deleted file mode 100644
index ad11ecf..0000000
--- a/libs/supermap/Workers/createPolygonOutlineGeometry.js
+++ /dev/null
@@ -1,567 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './AttributeCompression-50ff7145', './GeometryPipeline-cf04afb6', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './GeometryOffsetAttribute-ca302482', './GeometryInstance-41ec5f45', './arrayRemoveDuplicates-f0b089b1', './EllipsoidTangentPlane-fe3014f8', './ArcType-66bc286a', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './PolygonGeometryLibrary-ca983abc'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, AttributeCompression, GeometryPipeline, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, GeometryOffsetAttribute, GeometryInstance, arrayRemoveDuplicates, EllipsoidTangentPlane, ArcType, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, PolygonGeometryLibrary) { 'use strict';
-
-    var createGeometryFromPositionsPositions = [];
-        var createGeometryFromPositionsSubdivided = [];
-
-        function createGeometryFromPositions(ellipsoid, positions, minDistance, perPositionHeight, arcType) {
-            var tangentPlane = EllipsoidTangentPlane.EllipsoidTangentPlane.fromPoints(positions, ellipsoid);
-            var positions2D = tangentPlane.projectPointsOntoPlane(positions, createGeometryFromPositionsPositions);
-
-            var originalWindingOrder = PolygonPipeline.PolygonPipeline.computeWindingOrder2D(positions2D);
-            if (originalWindingOrder === PolygonPipeline.WindingOrder.CLOCKWISE) {
-                positions2D.reverse();
-                positions = positions.slice().reverse();
-            }
-
-            var subdividedPositions;
-            var i;
-
-            var length = positions.length;
-            var index = 0;
-
-            if (!perPositionHeight) {
-                var numVertices = 0;
-                if (arcType === ArcType.ArcType.GEODESIC) {
-                    for (i = 0; i < length; i++) {
-                        numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLineCount(positions[i], positions[(i + 1) % length], minDistance);
-                    }
-                } else if (arcType === ArcType.ArcType.RHUMB) {
-                    for (i = 0; i < length; i++) {
-                        numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLineCount(ellipsoid, positions[i], positions[(i + 1) % length], minDistance);
-                    }
-                }
-                subdividedPositions = new Float64Array(numVertices * 3);
-                for (i = 0; i < length; i++) {
-                    var tempPositions;
-                    if (arcType === ArcType.ArcType.GEODESIC) {
-                        tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLine(positions[i], positions[(i + 1) % length], minDistance, createGeometryFromPositionsSubdivided);
-                    } else if (arcType === ArcType.ArcType.RHUMB) {
-                        tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLine(ellipsoid, positions[i], positions[(i + 1) % length], minDistance, createGeometryFromPositionsSubdivided);
-                    }
-                    var tempPositionsLength = tempPositions.length;
-                    for (var j = 0; j < tempPositionsLength; ++j) {
-                        subdividedPositions[index++] = tempPositions[j];
-                    }
-                }
-            } else {
-                subdividedPositions = new Float64Array(length * 2 * 3);
-                for (i = 0; i < length; i++) {
-                    var p0 = positions[i];
-                    var p1 = positions[(i + 1) % length];
-                    subdividedPositions[index++] = p0.x;
-                    subdividedPositions[index++] = p0.y;
-                    subdividedPositions[index++] = p0.z;
-                    subdividedPositions[index++] = p1.x;
-                    subdividedPositions[index++] = p1.y;
-                    subdividedPositions[index++] = p1.z;
-                }
-            }
-
-            length = subdividedPositions.length / 3;
-            var indicesSize = length * 2;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(length, indicesSize);
-            index = 0;
-            for (i = 0; i < length - 1; i++) {
-                indices[index++] = i;
-                indices[index++] = i + 1;
-            }
-            indices[index++] = length - 1;
-            indices[index++] = 0;
-
-            return new GeometryInstance.GeometryInstance({
-                geometry : new GeometryAttribute.Geometry({
-                    attributes : new GeometryAttributes.GeometryAttributes({
-                        position : new GeometryAttribute.GeometryAttribute({
-                            componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                            componentsPerAttribute : 3,
-                            values : subdividedPositions
-                        })
-                    }),
-                    indices : indices,
-                    primitiveType : PrimitiveType.PrimitiveType.LINES
-                })
-            });
-        }
-
-        function createGeometryFromPositionsExtruded(ellipsoid, positions, minDistance, perPositionHeight, arcType) {
-            var tangentPlane = EllipsoidTangentPlane.EllipsoidTangentPlane.fromPoints(positions, ellipsoid);
-            var positions2D = tangentPlane.projectPointsOntoPlane(positions, createGeometryFromPositionsPositions);
-
-            var originalWindingOrder = PolygonPipeline.PolygonPipeline.computeWindingOrder2D(positions2D);
-            if (originalWindingOrder === PolygonPipeline.WindingOrder.CLOCKWISE) {
-                positions2D.reverse();
-                positions = positions.slice().reverse();
-            }
-
-            var subdividedPositions;
-            var i;
-
-            var length = positions.length;
-            var corners = new Array(length);
-            var index = 0;
-
-            if (!perPositionHeight) {
-                var numVertices = 0;
-                if (arcType === ArcType.ArcType.GEODESIC) {
-                    for (i = 0; i < length; i++) {
-                        numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLineCount(positions[i], positions[(i + 1) % length], minDistance);
-                    }
-                } else if (arcType === ArcType.ArcType.RHUMB) {
-                    for (i = 0; i < length; i++) {
-                        numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLineCount(ellipsoid, positions[i], positions[(i + 1) % length], minDistance);
-                    }
-                }
-
-                subdividedPositions = new Float64Array(numVertices * 3 * 2);
-                for (i = 0; i < length; ++i) {
-                    corners[i] = index / 3;
-                    var tempPositions;
-                    if (arcType === ArcType.ArcType.GEODESIC) {
-                        tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLine(positions[i], positions[(i + 1) % length], minDistance, createGeometryFromPositionsSubdivided);
-                    } else if (arcType === ArcType.ArcType.RHUMB) {
-                        tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLine(ellipsoid, positions[i], positions[(i + 1) % length], minDistance, createGeometryFromPositionsSubdivided);
-                    }
-                    var tempPositionsLength = tempPositions.length;
-                    for (var j = 0; j < tempPositionsLength; ++j) {
-                        subdividedPositions[index++] = tempPositions[j];
-                    }
-                }
-            } else {
-                subdividedPositions = new Float64Array(length * 2 * 3 * 2);
-                for (i = 0; i < length; ++i) {
-                    corners[i] = index / 3;
-                    var p0 = positions[i];
-                    var p1 = positions[(i + 1) % length];
-
-                    subdividedPositions[index++] = p0.x;
-                    subdividedPositions[index++] = p0.y;
-                    subdividedPositions[index++] = p0.z;
-                    subdividedPositions[index++] = p1.x;
-                    subdividedPositions[index++] = p1.y;
-                    subdividedPositions[index++] = p1.z;
-                }
-            }
-
-            length = subdividedPositions.length / (3 * 2);
-            var cornersLength = corners.length;
-
-            var indicesSize = ((length * 2) + cornersLength) * 2;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(length, indicesSize);
-
-            index = 0;
-            for (i = 0; i < length; ++i) {
-                indices[index++] = i;
-                indices[index++] = (i + 1) % length;
-                indices[index++] = i + length;
-                indices[index++] = ((i + 1) % length) + length;
-            }
-
-            for (i = 0; i < cornersLength; i++) {
-                var corner = corners[i];
-                indices[index++] = corner;
-                indices[index++] = corner + length;
-            }
-
-            return new GeometryInstance.GeometryInstance({
-                geometry : new GeometryAttribute.Geometry({
-                    attributes : new GeometryAttributes.GeometryAttributes({
-                        position : new GeometryAttribute.GeometryAttribute({
-                            componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                            componentsPerAttribute : 3,
-                            values : subdividedPositions
-                        })
-                    }),
-                    indices : indices,
-                    primitiveType : PrimitiveType.PrimitiveType.LINES
-                })
-            });
-        }
-
-        /**
-         * A description of the outline of a polygon on the ellipsoid. The polygon is defined by a polygon hierarchy.
-         *
-         * @alias PolygonOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {PolygonHierarchy} options.polygonHierarchy A polygon hierarchy that can include holes.
-         * @param {Number} [options.height=0.0] The distance in meters between the polygon and the ellipsoid surface.
-         * @param {Number} [options.extrudedHeight] The distance in meters between the polygon's extruded face and the ellipsoid surface.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Boolean} [options.perPositionHeight=false] Use the height of options.positions for each position instead of using options.height to determine the height.
-         * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of path the outline must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
-         *
-         * @see PolygonOutlineGeometry#createGeometry
-         * @see PolygonOutlineGeometry#fromPositions
-         *
-         * @example
-         * // 1. create a polygon outline from points
-         * var polygon = new Cesium.PolygonOutlineGeometry({
-         *   polygonHierarchy : new Cesium.PolygonHierarchy(
-         *     Cesium.Cartesian3.fromDegreesArray([
-         *       -72.0, 40.0,
-         *       -70.0, 35.0,
-         *       -75.0, 30.0,
-         *       -70.0, 30.0,
-         *       -68.0, 40.0
-         *     ])
-         *   )
-         * });
-         * var geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);
-         *
-         * // 2. create a nested polygon with holes outline
-         * var polygonWithHole = new Cesium.PolygonOutlineGeometry({
-         *   polygonHierarchy : new Cesium.PolygonHierarchy(
-         *     Cesium.Cartesian3.fromDegreesArray([
-         *       -109.0, 30.0,
-         *       -95.0, 30.0,
-         *       -95.0, 40.0,
-         *       -109.0, 40.0
-         *     ]),
-         *     [new Cesium.PolygonHierarchy(
-         *       Cesium.Cartesian3.fromDegreesArray([
-         *         -107.0, 31.0,
-         *         -107.0, 39.0,
-         *         -97.0, 39.0,
-         *         -97.0, 31.0
-         *       ]),
-         *       [new Cesium.PolygonHierarchy(
-         *         Cesium.Cartesian3.fromDegreesArray([
-         *           -105.0, 33.0,
-         *           -99.0, 33.0,
-         *           -99.0, 37.0,
-         *           -105.0, 37.0
-         *         ]),
-         *         [new Cesium.PolygonHierarchy(
-         *           Cesium.Cartesian3.fromDegreesArray([
-         *             -103.0, 34.0,
-         *             -101.0, 34.0,
-         *             -101.0, 36.0,
-         *             -103.0, 36.0
-         *           ])
-         *         )]
-         *       )]
-         *     )]
-         *   )
-         * });
-         * var geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygonWithHole);
-         *
-         * // 3. create extruded polygon outline
-         * var extrudedPolygon = new Cesium.PolygonOutlineGeometry({
-         *   polygonHierarchy : new Cesium.PolygonHierarchy(
-         *     Cesium.Cartesian3.fromDegreesArray([
-         *       -72.0, 40.0,
-         *       -70.0, 35.0,
-         *       -75.0, 30.0,
-         *       -70.0, 30.0,
-         *       -68.0, 40.0
-         *     ])
-         *   ),
-         *   extrudedHeight: 300000
-         * });
-         * var geometry = Cesium.PolygonOutlineGeometry.createGeometry(extrudedPolygon);
-         */
-        function PolygonOutlineGeometry(options) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('options', options);
-            Check.Check.typeOf.object('options.polygonHierarchy', options.polygonHierarchy);
-
-            if (options.perPositionHeight && when.defined(options.height)) {
-                throw new Check.DeveloperError('Cannot use both options.perPositionHeight and options.height');
-            }
-            if (when.defined(options.arcType) && options.arcType !== ArcType.ArcType.GEODESIC && options.arcType !== ArcType.ArcType.RHUMB) {
-                throw new Check.DeveloperError('Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.');
-            }
-            //>>includeEnd('debug');
-
-            var polygonHierarchy = options.polygonHierarchy;
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            var perPositionHeight = when.defaultValue(options.perPositionHeight, false);
-            var perPositionHeightExtrude = perPositionHeight && when.defined(options.extrudedHeight);
-            var arcType = when.defaultValue(options.arcType, ArcType.ArcType.GEODESIC);
-
-            var height = when.defaultValue(options.height, 0.0);
-            var extrudedHeight = when.defaultValue(options.extrudedHeight, height);
-
-            if (!perPositionHeightExtrude) {
-                var h = Math.max(height, extrudedHeight);
-                extrudedHeight = Math.min(height, extrudedHeight);
-                height = h;
-            }
-
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid);
-            this._granularity = granularity;
-            this._height = height;
-            this._extrudedHeight = extrudedHeight;
-            this._arcType = arcType;
-            this._polygonHierarchy = polygonHierarchy;
-            this._perPositionHeight = perPositionHeight;
-            this._perPositionHeightExtrude = perPositionHeightExtrude;
-            this._offsetAttribute = options.offsetAttribute;
-            this._workerName = 'createPolygonOutlineGeometry';
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = PolygonGeometryLibrary.PolygonGeometryLibrary.computeHierarchyPackedLength(polygonHierarchy) + Cartesian2.Ellipsoid.packedLength + 8;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {PolygonOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        PolygonOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            startingIndex = PolygonGeometryLibrary.PolygonGeometryLibrary.packPolygonHierarchy(value._polygonHierarchy, array, startingIndex);
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            array[startingIndex++] = value._height;
-            array[startingIndex++] = value._extrudedHeight;
-            array[startingIndex++] = value._granularity;
-            array[startingIndex++] = value._perPositionHeightExtrude ? 1.0 : 0.0;
-            array[startingIndex++] = value._perPositionHeight ? 1.0 : 0.0;
-            array[startingIndex++] = value._arcType;
-            array[startingIndex++] = when.defaultValue(value._offsetAttribute, -1);
-            array[startingIndex] = value.packedLength;
-
-            return array;
-        };
-
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var dummyOptions = {
-            polygonHierarchy : {}
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {PolygonOutlineGeometry} [result] The object into which to store the result.
-         * @returns {PolygonOutlineGeometry} The modified result parameter or a new PolygonOutlineGeometry instance if one was not provided.
-         */
-        PolygonOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var polygonHierarchy = PolygonGeometryLibrary.PolygonGeometryLibrary.unpackPolygonHierarchy(array, startingIndex);
-            startingIndex = polygonHierarchy.startingIndex;
-            delete polygonHierarchy.startingIndex;
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var height = array[startingIndex++];
-            var extrudedHeight = array[startingIndex++];
-            var granularity = array[startingIndex++];
-            var perPositionHeightExtrude = array[startingIndex++] === 1.0;
-            var perPositionHeight = array[startingIndex++] === 1.0;
-            var arcType = array[startingIndex++];
-            var offsetAttribute = array[startingIndex++];
-            var packedLength = array[startingIndex];
-
-            if (!when.defined(result)) {
-                result = new PolygonOutlineGeometry(dummyOptions);
-            }
-
-            result._polygonHierarchy = polygonHierarchy;
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._height = height;
-            result._extrudedHeight = extrudedHeight;
-            result._granularity = granularity;
-            result._perPositionHeight = perPositionHeight;
-            result._perPositionHeightExtrude = perPositionHeightExtrude;
-            result._arcType = arcType;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-            result.packedLength = packedLength;
-
-            return result;
-        };
-
-        /**
-         * A description of a polygon outline from an array of positions.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of positions that defined the corner points of the polygon.
-         * @param {Number} [options.height=0.0] The height of the polygon.
-         * @param {Number} [options.extrudedHeight] The height of the polygon extrusion.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Boolean} [options.perPositionHeight=false] Use the height of options.positions for each position instead of using options.height to determine the height.
-         * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of path the outline must follow. Valid options are {@link LinkType.GEODESIC} and {@link ArcType.RHUMB}.
-         * @returns {PolygonOutlineGeometry}
-         *
-         *
-         * @example
-         * // create a polygon from points
-         * var polygon = Cesium.PolygonOutlineGeometry.fromPositions({
-         *   positions : Cesium.Cartesian3.fromDegreesArray([
-         *     -72.0, 40.0,
-         *     -70.0, 35.0,
-         *     -75.0, 30.0,
-         *     -70.0, 30.0,
-         *     -68.0, 40.0
-         *   ])
-         * });
-         * var geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);
-         *
-         * @see PolygonOutlineGeometry#createGeometry
-         */
-        PolygonOutlineGeometry.fromPositions = function(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('options.positions', options.positions);
-            //>>includeEnd('debug');
-
-            var newOptions = {
-                polygonHierarchy : {
-                    positions : options.positions
-                },
-                height : options.height,
-                extrudedHeight : options.extrudedHeight,
-                ellipsoid : options.ellipsoid,
-                granularity : options.granularity,
-                perPositionHeight : options.perPositionHeight,
-                arcType: options.arcType,
-                offsetAttribute : options.offsetAttribute
-            };
-            return new PolygonOutlineGeometry(newOptions);
-        };
-
-        /**
-         * Computes the geometric representation of a polygon outline, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {PolygonOutlineGeometry} polygonGeometry A description of the polygon outline.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        PolygonOutlineGeometry.createGeometry = function(polygonGeometry) {
-            var ellipsoid = polygonGeometry._ellipsoid;
-            var granularity = polygonGeometry._granularity;
-            var polygonHierarchy = polygonGeometry._polygonHierarchy;
-            var perPositionHeight = polygonGeometry._perPositionHeight;
-            var arcType = polygonGeometry._arcType;
-
-            var polygons = PolygonGeometryLibrary.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(polygonHierarchy, !perPositionHeight, ellipsoid);
-
-            if (polygons.length === 0) {
-                return undefined;
-            }
-
-            var geometryInstance;
-            var geometries = [];
-            var minDistance = _Math.CesiumMath.chordLength(granularity, ellipsoid.maximumRadius);
-
-            var height = polygonGeometry._height;
-            var extrudedHeight = polygonGeometry._extrudedHeight;
-            var extrude = polygonGeometry._perPositionHeightExtrude || !_Math.CesiumMath.equalsEpsilon(height, extrudedHeight, 0, _Math.CesiumMath.EPSILON2);
-            var offsetValue;
-            var i;
-            if (extrude) {
-                for (i = 0; i < polygons.length; i++) {
-                    geometryInstance = createGeometryFromPositionsExtruded(ellipsoid, polygons[i], minDistance, perPositionHeight, arcType);
-                    geometryInstance.geometry = PolygonGeometryLibrary.PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(geometryInstance.geometry, height, extrudedHeight, ellipsoid, perPositionHeight);
-                    if (when.defined(polygonGeometry._offsetAttribute)) {
-                        var size = geometryInstance.geometry.attributes.position.values.length / 3;
-                        var offsetAttribute = new Uint8Array(size);
-                        if (polygonGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                            offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, 1, 0, size / 2);
-                        } else {
-                            offsetValue = polygonGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                            offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, offsetValue);
-                        }
-
-                        geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                            componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                            componentsPerAttribute : 1,
-                            values : offsetAttribute
-                        });
-                    }
-                    geometries.push(geometryInstance);
-                }
-            } else {
-                for (i = 0; i < polygons.length; i++) {
-                    geometryInstance = createGeometryFromPositions(ellipsoid, polygons[i], minDistance, perPositionHeight, arcType);
-                    geometryInstance.geometry.attributes.position.values = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(geometryInstance.geometry.attributes.position.values, height, ellipsoid, !perPositionHeight);
-
-                    if (when.defined(polygonGeometry._offsetAttribute)) {
-                        var length = geometryInstance.geometry.attributes.position.values.length;
-                        var applyOffset = new Uint8Array(length / 3);
-                        offsetValue = polygonGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                        GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                        geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                            componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                            componentsPerAttribute : 1,
-                            values: applyOffset
-                        });
-                    }
-
-                    geometries.push(geometryInstance);
-                }
-            }
-
-            var geometry = GeometryPipeline.GeometryPipeline.combineInstances(geometries)[0];
-            var boundingSphere = BoundingSphere.BoundingSphere.fromVertices(geometry.attributes.position.values);
-
-            return new GeometryAttribute.Geometry({
-                attributes : geometry.attributes,
-                indices : geometry.indices,
-                primitiveType : geometry.primitiveType,
-                boundingSphere : boundingSphere,
-                offsetAttribute : polygonGeometry._offsetAttribute
-            });
-        };
-
-    function createPolygonOutlineGeometry(polygonGeometry, offset) {
-        if (when.defined(offset)) {
-            polygonGeometry = PolygonOutlineGeometry.unpack(polygonGeometry, offset);
-        }
-        polygonGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(polygonGeometry._ellipsoid);
-        return PolygonOutlineGeometry.createGeometry(polygonGeometry);
-    }
-
-    return createPolygonOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createPolylineGeometry.js b/libs/supermap/Workers/createPolylineGeometry.js
deleted file mode 100644
index 47df184..0000000
--- a/libs/supermap/Workers/createPolylineGeometry.js
+++ /dev/null
@@ -1,632 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './VertexFormat-fe4db402', './arrayRemoveDuplicates-f0b089b1', './ArcType-66bc286a', './EllipsoidRhumbLine-4e6b52b7', './EllipsoidGeodesic-15923280', './PolylinePipeline-3f99899a', './Color-69f1845f'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, IntersectionTests, Plane, VertexFormat, arrayRemoveDuplicates, ArcType, EllipsoidRhumbLine, EllipsoidGeodesic, PolylinePipeline, Color) { 'use strict';
-
-    /**
-         * Logs a deprecation message to the console.  Use this function instead of
-         * <code>console.log</code> directly since this does not log duplicate messages
-         * unless it is called from multiple workers.
-         *
-         * @exports deprecationWarning
-         *
-         * @param {String} identifier The unique identifier for this deprecated API.
-         * @param {String} message The message to log to the console.
-         *
-         * @example
-         * // Deprecated function or class
-         * function Foo() {
-         *    deprecationWarning('Foo', 'Foo was deprecated in Cesium 1.01.  It will be removed in 1.03.  Use newFoo instead.');
-         *    // ...
-         * }
-         *
-         * // Deprecated function
-         * Bar.prototype.func = function() {
-         *    deprecationWarning('Bar.func', 'Bar.func() was deprecated in Cesium 1.01.  It will be removed in 1.03.  Use Bar.newFunc() instead.');
-         *    // ...
-         * };
-         *
-         * // Deprecated property
-         * Object.defineProperties(Bar.prototype, {
-         *     prop : {
-         *         get : function() {
-         *             deprecationWarning('Bar.prop', 'Bar.prop was deprecated in Cesium 1.01.  It will be removed in 1.03.  Use Bar.newProp instead.');
-         *             // ...
-         *         },
-         *         set : function(value) {
-         *             deprecationWarning('Bar.prop', 'Bar.prop was deprecated in Cesium 1.01.  It will be removed in 1.03.  Use Bar.newProp instead.');
-         *             // ...
-         *         }
-         *     }
-         * });
-         *
-         * @private
-         */
-        function deprecationWarning(identifier, message) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(identifier) || !when.defined(message)) {
-                throw new Check.DeveloperError('identifier and message are required.');
-            }
-            //>>includeEnd('debug');
-
-            buildModuleUrl.oneTimeWarning(identifier, message);
-        }
-
-    var scratchInterpolateColorsArray = [];
-
-        function interpolateColors(p0, p1, color0, color1, numPoints) {
-            var colors = scratchInterpolateColorsArray;
-            colors.length = numPoints;
-            var i;
-
-            var r0 = color0.red;
-            var g0 = color0.green;
-            var b0 = color0.blue;
-            var a0 = color0.alpha;
-
-            var r1 = color1.red;
-            var g1 = color1.green;
-            var b1 = color1.blue;
-            var a1 = color1.alpha;
-
-            if (Color.Color.equals(color0, color1)) {
-                for (i = 0; i < numPoints; i++) {
-                    colors[i] = Color.Color.clone(color0);
-                }
-                return colors;
-            }
-
-            var redPerVertex = (r1 - r0) / numPoints;
-            var greenPerVertex = (g1 - g0) / numPoints;
-            var bluePerVertex = (b1 - b0) / numPoints;
-            var alphaPerVertex = (a1 - a0) / numPoints;
-
-            for (i = 0; i < numPoints; i++) {
-                colors[i] = new Color.Color(r0 + i * redPerVertex, g0 + i * greenPerVertex, b0 + i * bluePerVertex, a0 + i * alphaPerVertex);
-            }
-
-            return colors;
-        }
-
-        /**
-         * A description of a polyline modeled as a line strip; the first two positions define a line segment,
-         * and each additional position defines a line segment from the previous position. The polyline is capable of
-         * displaying with a material.
-         *
-         * @alias PolylineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of {@link Cartesian3} defining the positions in the polyline as a line strip.
-         * @param {Number} [options.width=1.0] The width in pixels.
-         * @param {Color[]} [options.colors] An Array of {@link Color} defining the per vertex or per segment colors.
-         * @param {Boolean} [options.colorsPerVertex=false] A boolean that determines whether the colors will be flat across each segment of the line or interpolated across the vertices.
-         * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of line the polyline segments must follow.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude if options.arcType is not ArcType.NONE. Determines the number of positions in the buffer.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         *
-         * @exception {DeveloperError} At least two positions are required.
-         * @exception {DeveloperError} width must be greater than or equal to one.
-         * @exception {DeveloperError} colors has an invalid length.
-         *
-         * @see PolylineGeometry#createGeometry
-         *
-         * @demo {@link https://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Polyline.html|Cesium Sandcastle Polyline Demo}
-         *
-         * @example
-         * // A polyline with two connected line segments
-         * var polyline = new Cesium.PolylineGeometry({
-         *   positions : Cesium.Cartesian3.fromDegreesArray([
-         *     0.0, 0.0,
-         *     5.0, 0.0,
-         *     5.0, 5.0
-         *   ]),
-         *   width : 10.0
-         * });
-         * var geometry = Cesium.PolylineGeometry.createGeometry(polyline);
-         */
-        function PolylineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var positions = options.positions;
-            var colors = options.colors;
-            var width = when.defaultValue(options.width, 1.0);
-            var hMax = when.defaultValue(options.hMax, -1.0);
-            var colorsPerVertex = when.defaultValue(options.colorsPerVertex, false);
-
-            //>>includeStart('debug', pragmas.debug);
-            if ((!when.defined(positions)) || (positions.length < 2)) {
-                throw new Check.DeveloperError('At least two positions are required.');
-            }
-            if (typeof width !== 'number') {
-                throw new Check.DeveloperError('width must be a number');
-            }
-            if (when.defined(colors) && ((colorsPerVertex && colors.length < positions.length) || (!colorsPerVertex && colors.length < positions.length - 1))) {
-                throw new Check.DeveloperError('colors has an invalid length.');
-            }
-            //>>includeEnd('debug');
-
-            this._positions = positions;
-            this._colors = colors;
-            this._width = width;
-            this._hMax = hMax;
-            this._colorsPerVertex = colorsPerVertex;
-            this._dist = options.dist;
-            this._period = options.period;
-            this._vertexFormat = VertexFormat.VertexFormat.clone(when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT));
-
-            this._followSurface = when.defaultValue(options.followSurface, true);
-            if (when.defined(options.followSurface)) {
-                deprecationWarning('PolylineGeometry.followSurface', 'PolylineGeometry.followSurface is deprecated and will be removed in Cesium 1.55. Use PolylineGeometry.arcType instead.');
-                options.arcType = options.followSurface ? ArcType.ArcType.GEODESIC : ArcType.ArcType.NONE;
-            }
-            this._arcType = when.defaultValue(options.arcType, ArcType.ArcType.GEODESIC);
-            this._followSurface = (this._arcType !== ArcType.ArcType.NONE);
-
-            this._granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84));
-            this._workerName = 'createPolylineGeometry';
-
-            var numComponents = 1 + positions.length * Cartesian2.Cartesian3.packedLength;
-            numComponents += when.defined(colors) ? 1 + colors.length * Color.Color.packedLength : 1;
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = numComponents + Cartesian2.Ellipsoid.packedLength + VertexFormat.VertexFormat.packedLength + 4 + 2;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {PolylineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        PolylineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var positions = value._positions;
-            var length = positions.length;
-            array[startingIndex++] = length;
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                Cartesian2.Cartesian3.pack(positions[i], array, startingIndex);
-            }
-
-            var colors = value._colors;
-            length = when.defined(colors) ? colors.length : 0.0;
-            array[startingIndex++] = length;
-
-            for (i = 0; i < length; ++i, startingIndex += Color.Color.packedLength) {
-                Color.Color.pack(colors[i], array, startingIndex);
-            }
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            array[startingIndex++] = value._width;
-            array[startingIndex++] = value._colorsPerVertex ? 1.0 : 0.0;
-            array[startingIndex++] = value._arcType;
-            array[startingIndex++]   = value._granularity;
-            array[startingIndex++]   = value._hMax;
-            array[startingIndex++] = value._dist;
-            array[startingIndex] = value._period;
-
-            return array;
-        };
-
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-        var scratchOptions = {
-            positions : undefined,
-            colors : undefined,
-            ellipsoid : scratchEllipsoid,
-            vertexFormat : scratchVertexFormat,
-            width : undefined,
-            colorsPerVertex : undefined,
-            arcType : undefined,
-            granularity : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {PolylineGeometry} [result] The object into which to store the result.
-         * @returns {PolylineGeometry} The modified result parameter or a new PolylineGeometry instance if one was not provided.
-         */
-        PolylineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var length = array[startingIndex++];
-            var positions = new Array(length);
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                positions[i] = Cartesian2.Cartesian3.unpack(array, startingIndex);
-            }
-
-            length = array[startingIndex++];
-            var colors = length > 0 ? new Array(length) : undefined;
-
-            for (i = 0; i < length; ++i, startingIndex += Color.Color.packedLength) {
-                colors[i] = Color.Color.unpack(array, startingIndex);
-            }
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            var width = array[startingIndex++];
-            var colorsPerVertex = array[startingIndex++] === 1.0;
-            var arcType = array[startingIndex++];
-            var granularity = array[startingIndex++];
-            var hMax = array[startingIndex++];
-            var dist = array[startingIndex++] == 1.0;
-            var period = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.positions = positions;
-                scratchOptions.colors = colors;
-                scratchOptions.width = width;
-                scratchOptions.colorsPerVertex = colorsPerVertex;
-                scratchOptions.arcType = arcType;
-                scratchOptions.granularity = granularity;
-                scratchOptions.hMax = hMax;
-                scratchOptions.dist = dist;
-                scratchOptions.period = period;
-                return new PolylineGeometry(scratchOptions);
-            }
-
-            result._positions = positions;
-            result._colors = colors;
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._width = width;
-            result._colorsPerVertex = colorsPerVertex;
-            result._arcType = arcType;
-            result._granularity = granularity;
-            result._hMax = hMax;
-            result._dist = dist;
-            result._period = period;
-
-            return result;
-        };
-
-        var scratchCartesian3 = new Cartesian2.Cartesian3();
-        var scratchPosition = new Cartesian2.Cartesian3();
-        var scratchPrevPosition = new Cartesian2.Cartesian3();
-        var scratchNextPosition = new Cartesian2.Cartesian3();
-
-        /**
-         * Computes the geometric representation of a polyline, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {PolylineGeometry} polylineGeometry A description of the polyline.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        PolylineGeometry.createGeometry = function(polylineGeometry) {
-            var width = polylineGeometry._width;
-            var hMax = polylineGeometry._hMax;
-            var vertexFormat = polylineGeometry._vertexFormat;
-            var colors = polylineGeometry._colors;
-            var colorsPerVertex = polylineGeometry._colorsPerVertex;
-            var arcType = polylineGeometry._arcType;
-            var granularity = polylineGeometry._granularity;
-            var ellipsoid = polylineGeometry._ellipsoid;
-            var hasDist = polylineGeometry._dist;
-            var period = polylineGeometry._period;
-
-            var i;
-            var j;
-            var k;
-
-            var positions = arrayRemoveDuplicates.arrayRemoveDuplicates(polylineGeometry._positions, Cartesian2.Cartesian3.equalsEpsilon);
-            var positionsLength = positions.length;
-
-            // A width of a pixel or less is not a valid geometry, but in order to support external data
-            // that may have errors we treat this as an empty geometry.
-            if (positionsLength < 2 || width <= 0.0) {
-                return undefined;
-            }
-
-            if (arcType === ArcType.ArcType.GEODESIC || arcType === ArcType.ArcType.RHUMB) {
-                var subdivisionSize;
-                var numberOfPointsFunction;
-                if (arcType === ArcType.ArcType.GEODESIC) {
-                    subdivisionSize = _Math.CesiumMath.chordLength(granularity, ellipsoid.maximumRadius);
-                    numberOfPointsFunction = PolylinePipeline.PolylinePipeline.numberOfPoints;
-                } else {
-                    subdivisionSize = granularity;
-                    numberOfPointsFunction = PolylinePipeline.PolylinePipeline.numberOfPointsRhumbLine;
-                }
-
-                var heights = PolylinePipeline.PolylinePipeline.extractHeights(positions, ellipsoid);
-
-                if (when.defined(colors)) {
-                    var colorLength = 1;
-                    for (i = 0; i < positionsLength - 1; ++i) {
-                        colorLength += numberOfPointsFunction(positions[i], positions[i + 1], subdivisionSize);
-                    }
-
-                    var newColors = new Array(colorLength);
-                    var newColorIndex = 0;
-
-                    for (i = 0; i < positionsLength - 1; ++i) {
-                        var p0 = positions[i];
-                        var p1 = positions[i + 1];
-                        var c0 = colors[i];
-
-                        var numColors = numberOfPointsFunction(p0, p1, subdivisionSize);
-                        if (colorsPerVertex && i < colorLength) {
-                            var c1 = colors[i + 1];
-                            var interpolatedColors = interpolateColors(p0, p1, c0, c1, numColors);
-                            var interpolatedColorsLength = interpolatedColors.length;
-                            for (j = 0; j < interpolatedColorsLength; ++j) {
-                                newColors[newColorIndex++] = interpolatedColors[j];
-                            }
-                        } else {
-                            for (j = 0; j < numColors; ++j) {
-                                newColors[newColorIndex++] = Color.Color.clone(c0);
-                            }
-                        }
-                    }
-
-                    newColors[newColorIndex] = Color.Color.clone(colors[colors.length - 1]);
-                    colors = newColors;
-
-                    scratchInterpolateColorsArray.length = 0;
-                }
-
-                if (arcType === ArcType.ArcType.GEODESIC) {
-                    positions = PolylinePipeline.PolylinePipeline.generateCartesianArc({
-                        positions: positions,
-                        minDistance: subdivisionSize,
-                        ellipsoid: ellipsoid,
-                        height: heights,
-                        hMax:hMax
-                    });
-                } else {
-                    positions = PolylinePipeline.PolylinePipeline.generateCartesianRhumbArc({
-                        positions: positions,
-                        granularity: subdivisionSize,
-                        ellipsoid: ellipsoid,
-                        height: heights
-                    });
-                }
-            }
-
-            positionsLength = positions.length;
-            var size = positionsLength * 4.0 - 4.0;
-
-            var finalPositions = new Float64Array(size * 3);
-            var prevPositions = new Float64Array(size * 3);
-            var nextPositions = new Float64Array(size * 3);
-            var expandAndWidth = new Float32Array(size * 2);
-            var st = vertexFormat.st ? new Float32Array(size * 2) : undefined;
-            var finalColors = when.defined(colors) ? new Uint8Array(size * 4) : undefined;
-            var dist = hasDist ? new Float32Array(size * 3) : undefined;
-
-            var positionIndex = 0;
-            var expandAndWidthIndex = 0;
-            var stIndex = 0;
-            var colorIndex = 0;
-            var distIndex = 0;
-            var position;
-            var curDist = 0;
-
-            for (j = 0; j < positionsLength; ++j) {
-                if (j === 0) {
-                    position = scratchCartesian3;
-                    Cartesian2.Cartesian3.subtract(positions[0], positions[1], position);
-                    Cartesian2.Cartesian3.add(positions[0], position, position);
-                } else {
-                    position = positions[j - 1];
-                }
-
-                Cartesian2.Cartesian3.clone(position, scratchPrevPosition);
-                Cartesian2.Cartesian3.clone(positions[j], scratchPosition);
-
-                if (j === positionsLength - 1) {
-                    position = scratchCartesian3;
-                    Cartesian2.Cartesian3.subtract(positions[positionsLength - 1], positions[positionsLength - 2], position);
-                    Cartesian2.Cartesian3.add(positions[positionsLength - 1], position, position);
-                } else {
-                    position = positions[j + 1];
-                }
-
-                Cartesian2.Cartesian3.clone(position, scratchNextPosition);
-
-                var color0, color1;
-                if (when.defined(finalColors)) {
-                    if (j !== 0 && !colorsPerVertex) {
-                        color0 = colors[j - 1];
-                    } else {
-                        color0 = colors[j];
-                    }
-
-                    if (j !== positionsLength - 1) {
-                        color1 = colors[j];
-                    }
-                }
-
-                var startK = j === 0 ? 2 : 0;
-                var endK = j === positionsLength - 1 ? 2 : 4;
-
-                for (k = startK; k < endK; ++k) {
-                    Cartesian2.Cartesian3.pack(scratchPosition, finalPositions, positionIndex);
-                    Cartesian2.Cartesian3.pack(scratchPrevPosition, prevPositions, positionIndex);
-                    Cartesian2.Cartesian3.pack(scratchNextPosition, nextPositions, positionIndex);
-                    positionIndex += 3;
-
-                    var direction = (k - 2 < 0) ? -1.0 : 1.0;
-                    var dd = 2 * (k % 2) - 1;
-                    var u = dd * j/positionsLength;
-                    hMax>0.0?expandAndWidth[expandAndWidthIndex++] = u:expandAndWidth[expandAndWidthIndex++] = dd;
-                    // expandAndWidth[expandAndWidthIndex++] = 2 * (k % 2) - 1;       // expand direction
-                    expandAndWidth[expandAndWidthIndex++] = direction * width;
-
-                    if (vertexFormat.st) {
-                        st[stIndex++] = j / (positionsLength - 1);
-                        st[stIndex++] = Math.max(expandAndWidth[expandAndWidthIndex - 2], 0.0);
-                    }
-
-                    if (when.defined(finalColors)) {
-                        var color = (k < 2) ? color0 : color1;
-
-                        finalColors[colorIndex++] = Color.Color.floatToByte(color.red);
-                        finalColors[colorIndex++] = Color.Color.floatToByte(color.green);
-                        finalColors[colorIndex++] = Color.Color.floatToByte(color.blue);
-                        finalColors[colorIndex++] = Color.Color.floatToByte(color.alpha);
-                    }
-
-                    if(hasDist){
-                        dist[distIndex * 3] = curDist;
-                        distIndex++;
-                    }
-                }
-                curDist += Cartesian2.Cartesian3.distance(position, positions[j]);
-            }
-
-            if(hasDist){
-                var maxDis = curDist;
-                var randomStart = Math.random() * (period > 0.0 ? period : maxDis);
-                for(j = 0; j < size; j++){
-                    dist[j * 3 + 1] = maxDis;
-                    dist[j * 3 + 2] = randomStart;
-                }
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-
-            attributes.position = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : finalPositions
-            });
-
-            attributes.prevPosition = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : prevPositions
-            });
-
-            attributes.nextPosition = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : nextPositions
-            });
-
-            attributes.expandAndWidth = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                componentsPerAttribute : 2,
-                values : expandAndWidth
-            });
-
-            if (vertexFormat.st) {
-                attributes.st = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 2,
-                    values : st
-                });
-            }
-
-            if (when.defined(finalColors)) {
-                attributes.color = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 4,
-                    values : finalColors,
-                    normalize : true
-                });
-            }
-
-            if (hasDist) {
-                attributes.dist = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : dist
-                });
-            }
-
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(size, positionsLength * 6 - 6);
-            var index = 0;
-            var indicesIndex = 0;
-            var length = positionsLength - 1.0;
-            for (j = 0; j < length; ++j) {
-                indices[indicesIndex++] = index;
-                indices[indicesIndex++] = index + 2;
-                indices[indicesIndex++] = index + 1;
-
-                indices[indicesIndex++] = index + 1;
-                indices[indicesIndex++] = index + 2;
-                indices[indicesIndex++] = index + 3;
-
-                index += 4;
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES,
-                boundingSphere : BoundingSphere.BoundingSphere.fromPoints(positions),
-                geometryType : GeometryAttribute.GeometryType.POLYLINES
-            });
-        };
-
-    function createPolylineGeometry(polylineGeometry, offset) {
-        if (when.defined(offset)) {
-            polylineGeometry = PolylineGeometry.unpack(polylineGeometry, offset);
-        }
-        polylineGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(polylineGeometry._ellipsoid);
-        return PolylineGeometry.createGeometry(polylineGeometry);
-    }
-
-    return createPolylineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createPolylineVolumeGeometry.js b/libs/supermap/Workers/createPolylineVolumeGeometry.js
deleted file mode 100644
index adaef52..0000000
--- a/libs/supermap/Workers/createPolylineVolumeGeometry.js
+++ /dev/null
@@ -1,414 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './AttributeCompression-50ff7145', './GeometryPipeline-cf04afb6', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './VertexFormat-fe4db402', './arrayRemoveDuplicates-f0b089b1', './BoundingRectangle-5220b474', './EllipsoidTangentPlane-fe3014f8', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './PolylineVolumeGeometryLibrary-eb1fcd3f', './EllipsoidGeodesic-15923280', './PolylinePipeline-3f99899a'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, AttributeCompression, GeometryPipeline, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, VertexFormat, arrayRemoveDuplicates, BoundingRectangle, EllipsoidTangentPlane, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, PolylineVolumeGeometryLibrary, EllipsoidGeodesic, PolylinePipeline) { 'use strict';
-
-    function computeAttributes(result, shape, boundingRectangle, vertexFormat) {
-            var combinedPositions = result.combinedPositions;
-            var combinedLocalPositions = result.combinedLocalPositions;
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            if (vertexFormat.position) {
-                attributes.position = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : combinedPositions
-                });
-            }
-            var shapeLength = shape.length;
-            var vertexCount = combinedPositions.length / 3;
-            var length = (vertexCount - shapeLength * 2) / (shapeLength * 2);
-            var firstEndIndices = PolygonPipeline.PolygonPipeline.triangulate(shape);
-
-            var indicesCount = (length - 1) * (shapeLength) * 6 + firstEndIndices.length * 2;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(vertexCount, indicesCount);
-            var i, j;
-            var ll, ul, ur, lr;
-            var offset = shapeLength * 2;
-            var index = 0;
-            for (i = 0; i < length - 1; i++) {
-                for (j = 0; j < shapeLength - 1; j++) {
-                    ll = j * 2 + i * shapeLength * 2;
-                    lr = ll + offset;
-                    ul = ll + 1;
-                    ur = ul + offset;
-
-                    indices[index++] = ul;
-                    indices[index++] = ll;
-                    indices[index++] = ur;
-                    indices[index++] = ur;
-                    indices[index++] = ll;
-                    indices[index++] = lr;
-                }
-                ll = shapeLength * 2 - 2 + i * shapeLength * 2;
-                ul = ll + 1;
-                ur = ul + offset;
-                lr = ll + offset;
-
-                indices[index++] = ul;
-                indices[index++] = ll;
-                indices[index++] = ur;
-                indices[index++] = ur;
-                indices[index++] = ll;
-                indices[index++] = lr;
-            }
-
-            if (vertexFormat.st || vertexFormat.tangent || vertexFormat.bitangent) { // st required for tangent/bitangent calculation
-                var st = new Float32Array(vertexCount * 2);
-                var lengthSt = 1 / (length - 1);
-                var heightSt = 1 / (boundingRectangle.height);
-                var heightOffset = boundingRectangle.height / 2;
-                var s, t;
-                var stindex = 0;
-                for (i = 0; i < length; i++) {
-                    s = i * lengthSt;
-                    t = heightSt * (shape[0].y + heightOffset);
-                    st[stindex++] = s;
-                    st[stindex++] = t;
-                    for (j = 1; j < shapeLength; j++) {
-                        t = heightSt * (shape[j].y + heightOffset);
-                        st[stindex++] = s;
-                        st[stindex++] = t;
-                        st[stindex++] = s;
-                        st[stindex++] = t;
-                    }
-                    t = heightSt * (shape[0].y + heightOffset);
-                    st[stindex++] = s;
-                    st[stindex++] = t;
-                }
-                for (j = 0; j < shapeLength; j++) {
-                    s = 0;
-                    t = heightSt * (shape[j].y + heightOffset);
-                    st[stindex++] = s;
-                    st[stindex++] = t;
-                }
-                for (j = 0; j < shapeLength; j++) {
-                    s = (length - 1) * lengthSt;
-                    t = heightSt * (shape[j].y + heightOffset);
-                    st[stindex++] = s;
-                    st[stindex++] = t;
-                }
-
-                attributes.st = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 2,
-                    values : new Float32Array(st)
-                });
-            }
-
-            var endOffset = vertexCount - shapeLength * 2;
-            for (i = 0; i < firstEndIndices.length; i += 3) {
-                var v0 = firstEndIndices[i] + endOffset;
-                var v1 = firstEndIndices[i + 1] + endOffset;
-                var v2 = firstEndIndices[i + 2] + endOffset;
-
-                indices[index++] = v0;
-                indices[index++] = v1;
-                indices[index++] = v2;
-                indices[index++] = v2 + shapeLength;
-                indices[index++] = v1 + shapeLength;
-                indices[index++] = v0 + shapeLength;
-            }
-
-            var geometry = new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                boundingSphere : BoundingSphere.BoundingSphere.fromVertices(combinedPositions),
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES
-            });
-
-            if (vertexFormat.normal) {
-                geometry = GeometryPipeline.GeometryPipeline.computeNormal(geometry);
-            }
-
-            if (vertexFormat.tangent || vertexFormat.bitangent) {
-                try {
-                    geometry = GeometryPipeline.GeometryPipeline.computeTangentAndBitangent(geometry);
-                } catch (e) {
-                    buildModuleUrl.oneTimeWarning('polyline-volume-tangent-bitangent', 'Unable to compute tangents and bitangents for polyline volume geometry');
-                    //TODO https://github.com/AnalyticalGraphicsInc/cesium/issues/3609
-                }
-
-                if (!vertexFormat.tangent) {
-                    geometry.attributes.tangent = undefined;
-                }
-                if (!vertexFormat.bitangent) {
-                    geometry.attributes.bitangent = undefined;
-                }
-                if (!vertexFormat.st) {
-                    geometry.attributes.st = undefined;
-                }
-            }
-
-            if(when.defined(combinedLocalPositions)) {
-                geometry.attributes.position.values = combinedLocalPositions;
-                geometry.attributes.position.componentDatatype = ComponentDatatype.ComponentDatatype.FLOAT;
-            }
-
-            return geometry;
-        }
-
-        /**
-         * A description of a polyline with a volume (a 2D shape extruded along a polyline).
-         *
-         * @alias PolylineVolumeGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.polylinePositions An array of {@link Cartesain3} positions that define the center of the polyline volume.
-         * @param {Cartesian2[]} options.shapePositions An array of {@link Cartesian2} positions that define the shape to be extruded along the polyline
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @param {CornerType} [options.cornerType=CornerType.ROUNDED] Determines the style of the corners.
-         *
-         * @see PolylineVolumeGeometry#createGeometry
-         *
-         * @demo {@link https://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Polyline%20Volume.html|Cesium Sandcastle Polyline Volume Demo}
-         *
-         * @example
-         * function computeCircle(radius) {
-         *   var positions = [];
-         *   for (var i = 0; i < 360; i++) {
-         *     var radians = Cesium.Math.toRadians(i);
-         *     positions.push(new Cesium.Cartesian2(radius * Math.cos(radians), radius * Math.sin(radians)));
-         *   }
-         *   return positions;
-         * }
-         *
-         * var volume = new Cesium.PolylineVolumeGeometry({
-         *   vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
-         *   polylinePositions : Cesium.Cartesian3.fromDegreesArray([
-         *     -72.0, 40.0,
-         *     -70.0, 35.0
-         *   ]),
-         *   shapePositions : computeCircle(100000.0)
-         * });
-         */
-        function PolylineVolumeGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var positions = options.polylinePositions;
-            var shape = options.shapePositions;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(positions)) {
-                throw new Check.DeveloperError('options.polylinePositions is required.');
-            }
-            if (!when.defined(shape)) {
-                throw new Check.DeveloperError('options.shapePositions is required.');
-            }
-            //>>includeEnd('debug');
-
-            this._positions = positions;
-            this._shape = shape;
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84));
-            this._cornerType = when.defaultValue(options.cornerType, PolylineVolumeGeometryLibrary.CornerType.ROUNDED);
-            this._vertexFormat = VertexFormat.VertexFormat.clone(when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT));
-            this._granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            this._workerName = 'createPolylineVolumeGeometry';
-            this.enuCenter = when.defaultValue(options.enuCenter, Cartesian2.Cartesian3.ZERO);
-            var numComponents = 1 + positions.length * Cartesian2.Cartesian3.packedLength;
-            numComponents += 1 + shape.length * Cartesian2.Cartesian2.packedLength + Cartesian2.Cartesian3.packedLength;
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = numComponents + Cartesian2.Ellipsoid.packedLength + VertexFormat.VertexFormat.packedLength + 2;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {PolylineVolumeGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        PolylineVolumeGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var positions = value._positions;
-            var length = positions.length;
-            array[startingIndex++] = length;
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                Cartesian2.Cartesian3.pack(positions[i], array, startingIndex);
-            }
-
-            var shape = value._shape;
-            length = shape.length;
-            array[startingIndex++] = length;
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian2.packedLength) {
-                Cartesian2.Cartesian2.pack(shape[i], array, startingIndex);
-            }
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            array[startingIndex++] = value._cornerType;
-            array[startingIndex++]   = value._granularity;
-            Cartesian2.Cartesian3.pack(value.enuCenter, array, startingIndex);
-            return array;
-        };
-
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-        var scratchOptions = {
-            polylinePositions : undefined,
-            shapePositions : undefined,
-            ellipsoid : scratchEllipsoid,
-            vertexFormat : scratchVertexFormat,
-            cornerType : undefined,
-            granularity : undefined,
-            enuCenter : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {PolylineVolumeGeometry} [result] The object into which to store the result.
-         * @returns {PolylineVolumeGeometry} The modified result parameter or a new PolylineVolumeGeometry instance if one was not provided.
-         */
-        PolylineVolumeGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var length = array[startingIndex++];
-            var positions = new Array(length);
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                positions[i] = Cartesian2.Cartesian3.unpack(array, startingIndex);
-            }
-
-            length = array[startingIndex++];
-            var shape = new Array(length);
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian2.packedLength) {
-                shape[i] = Cartesian2.Cartesian2.unpack(array, startingIndex);
-            }
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            var cornerType = array[startingIndex++];
-            var granularity = array[startingIndex++];
-            var enuCenter;
-            enuCenter = Cartesian2.Cartesian3.unpack(array, startingIndex);
-            if (!when.defined(result)) {
-                scratchOptions.polylinePositions = positions;
-                scratchOptions.shapePositions = shape;
-                scratchOptions.cornerType = cornerType;
-                scratchOptions.granularity = granularity;
-                scratchOptions.enuCenter = enuCenter;
-                return new PolylineVolumeGeometry(scratchOptions);
-            }
-
-            result._positions = positions;
-            result._shape = shape;
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._cornerType = cornerType;
-            result._granularity = granularity;
-            result.enuCenter = enuCenter;
-
-            return result;
-        };
-
-        var brScratch = new BoundingRectangle.BoundingRectangle();
-
-        /**
-         * Computes the geometric representation of a polyline with a volume, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {PolylineVolumeGeometry} polylineVolumeGeometry A description of the polyline volume.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        PolylineVolumeGeometry.createGeometry = function(polylineVolumeGeometry) {
-            var positions = polylineVolumeGeometry._positions;
-            var cleanPositions = arrayRemoveDuplicates.arrayRemoveDuplicates(positions, Cartesian2.Cartesian3.equalsEpsilon);
-            var len = cleanPositions.length;
-            var copyPositions = new Array(len);
-            for(var i = 0;i < len;i++){
-                copyPositions[i] = Cartesian2.Cartesian3.clone(cleanPositions[i]);
-            }
-            var shape2D = polylineVolumeGeometry._shape;
-            shape2D = PolylineVolumeGeometryLibrary.PolylineVolumeGeometryLibrary.removeDuplicatesFromShape(shape2D);
-
-            if (cleanPositions.length < 2 || shape2D.length < 3) {
-                return undefined;
-            }
-
-            if (PolygonPipeline.PolygonPipeline.computeWindingOrder2D(shape2D) === PolygonPipeline.WindingOrder.CLOCKWISE) {
-                shape2D.reverse();
-            }
-            var boundingRectangle = BoundingRectangle.BoundingRectangle.fromPoints(shape2D, brScratch);
-
-            var res = {};
-            res.combinedPositions = PolylineVolumeGeometryLibrary.PolylineVolumeGeometryLibrary.computePositions(copyPositions, shape2D, boundingRectangle, polylineVolumeGeometry, true);
-            if(!Cartesian2.Cartesian3.equals(polylineVolumeGeometry.enuCenter, Cartesian2.Cartesian3.ZERO)) {
-                var cleanPositionsClone = new Array(len);
-                for(var i = 0;i < len;i++){
-                    cleanPositionsClone[i] = Cartesian2.Cartesian3.clone(cleanPositions[i]);
-                }
-                res.combinedLocalPositions = PolylineVolumeGeometryLibrary.PolylineVolumeGeometryLibrary.computeLocalPositions(cleanPositionsClone, shape2D, boundingRectangle, polylineVolumeGeometry, true, polylineVolumeGeometry.enuCenter);
-            }
-            return computeAttributes(res, shape2D, boundingRectangle, polylineVolumeGeometry._vertexFormat);
-        };
-
-    function createPolylineVolumeGeometry(polylineVolumeGeometry, offset) {
-        if (when.defined(offset)) {
-            polylineVolumeGeometry = PolylineVolumeGeometry.unpack(polylineVolumeGeometry, offset);
-        }
-        polylineVolumeGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(polylineVolumeGeometry._ellipsoid);
-        return PolylineVolumeGeometry.createGeometry(polylineVolumeGeometry);
-    }
-
-    return createPolylineVolumeGeometry;
-
-});
diff --git a/libs/supermap/Workers/createPolylineVolumeOutlineGeometry.js b/libs/supermap/Workers/createPolylineVolumeOutlineGeometry.js
deleted file mode 100644
index dedff2b..0000000
--- a/libs/supermap/Workers/createPolylineVolumeOutlineGeometry.js
+++ /dev/null
@@ -1,292 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './arrayRemoveDuplicates-f0b089b1', './BoundingRectangle-5220b474', './EllipsoidTangentPlane-fe3014f8', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './PolylineVolumeGeometryLibrary-eb1fcd3f', './EllipsoidGeodesic-15923280', './PolylinePipeline-3f99899a'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, IntersectionTests, Plane, arrayRemoveDuplicates, BoundingRectangle, EllipsoidTangentPlane, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, PolylineVolumeGeometryLibrary, EllipsoidGeodesic, PolylinePipeline) { 'use strict';
-
-    function computeAttributes(positions, shape) {
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            attributes.position = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : positions
-            });
-
-            var shapeLength = shape.length;
-            var vertexCount = attributes.position.values.length / 3;
-            var positionLength = positions.length / 3;
-            var shapeCount = positionLength / shapeLength;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(vertexCount, 2 * shapeLength * (shapeCount + 1));
-            var i, j;
-            var index = 0;
-            i = 0;
-            var offset = i * shapeLength;
-            for (j = 0; j < shapeLength - 1; j++) {
-                indices[index++] = j + offset;
-                indices[index++] = j + offset + 1;
-            }
-            indices[index++] = shapeLength - 1 + offset;
-            indices[index++] = offset;
-
-            i = shapeCount - 1;
-            offset = i * shapeLength;
-            for (j = 0; j < shapeLength - 1; j++) {
-                indices[index++] = j + offset;
-                indices[index++] = j + offset + 1;
-            }
-            indices[index++] = shapeLength - 1 + offset;
-            indices[index++] = offset;
-
-            for (i = 0; i < shapeCount - 1; i++) {
-                var firstOffset = shapeLength * i;
-                var secondOffset = firstOffset + shapeLength;
-                for (j = 0; j < shapeLength; j++) {
-                    indices[index++] = j + firstOffset;
-                    indices[index++] = j + secondOffset;
-                }
-            }
-
-            var geometry = new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : IndexDatatype.IndexDatatype.createTypedArray(vertexCount, indices),
-                boundingSphere : BoundingSphere.BoundingSphere.fromVertices(positions),
-                primitiveType : PrimitiveType.PrimitiveType.LINES
-            });
-
-            return geometry;
-        }
-
-        /**
-         * A description of a polyline with a volume (a 2D shape extruded along a polyline).
-         *
-         * @alias PolylineVolumeOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.polylinePositions An array of positions that define the center of the polyline volume.
-         * @param {Cartesian2[]} options.shapePositions An array of positions that define the shape to be extruded along the polyline
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {CornerType} [options.cornerType=CornerType.ROUNDED] Determines the style of the corners.
-         *
-         * @see PolylineVolumeOutlineGeometry#createGeometry
-         *
-         * @example
-         * function computeCircle(radius) {
-         *   var positions = [];
-         *   for (var i = 0; i < 360; i++) {
-         *     var radians = Cesium.Math.toRadians(i);
-         *     positions.push(new Cesium.Cartesian2(radius * Math.cos(radians), radius * Math.sin(radians)));
-         *   }
-         *   return positions;
-         * }
-         *
-         * var volumeOutline = new Cesium.PolylineVolumeOutlineGeometry({
-         *   polylinePositions : Cesium.Cartesian3.fromDegreesArray([
-         *     -72.0, 40.0,
-         *     -70.0, 35.0
-         *   ]),
-         *   shapePositions : computeCircle(100000.0)
-         * });
-         */
-        function PolylineVolumeOutlineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var positions = options.polylinePositions;
-            var shape = options.shapePositions;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(positions)) {
-                throw new Check.DeveloperError('options.polylinePositions is required.');
-            }
-            if (!when.defined(shape)) {
-                throw new Check.DeveloperError('options.shapePositions is required.');
-            }
-            //>>includeEnd('debug');
-
-            this._positions = positions;
-            this._shape = shape;
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84));
-            this._cornerType = when.defaultValue(options.cornerType, PolylineVolumeGeometryLibrary.CornerType.ROUNDED);
-            this._granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            this._workerName = 'createPolylineVolumeOutlineGeometry';
-
-            var numComponents = 1 + positions.length * Cartesian2.Cartesian3.packedLength;
-            numComponents += 1 + shape.length * Cartesian2.Cartesian2.packedLength;
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = numComponents + Cartesian2.Ellipsoid.packedLength + 2;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {PolylineVolumeOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        PolylineVolumeOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var positions = value._positions;
-            var length = positions.length;
-            array[startingIndex++] = length;
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                Cartesian2.Cartesian3.pack(positions[i], array, startingIndex);
-            }
-
-            var shape = value._shape;
-            length = shape.length;
-            array[startingIndex++] = length;
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian2.packedLength) {
-                Cartesian2.Cartesian2.pack(shape[i], array, startingIndex);
-            }
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            array[startingIndex++] = value._cornerType;
-            array[startingIndex]   = value._granularity;
-
-            return array;
-        };
-
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchOptions = {
-            polylinePositions : undefined,
-            shapePositions : undefined,
-            ellipsoid : scratchEllipsoid,
-            height : undefined,
-            cornerType : undefined,
-            granularity : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {PolylineVolumeOutlineGeometry} [result] The object into which to store the result.
-         * @returns {PolylineVolumeOutlineGeometry} The modified result parameter or a new PolylineVolumeOutlineGeometry instance if one was not provided.
-         */
-        PolylineVolumeOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var length = array[startingIndex++];
-            var positions = new Array(length);
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                positions[i] = Cartesian2.Cartesian3.unpack(array, startingIndex);
-            }
-
-            length = array[startingIndex++];
-            var shape = new Array(length);
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian2.packedLength) {
-                shape[i] = Cartesian2.Cartesian2.unpack(array, startingIndex);
-            }
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var cornerType = array[startingIndex++];
-            var granularity = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.polylinePositions = positions;
-                scratchOptions.shapePositions = shape;
-                scratchOptions.cornerType = cornerType;
-                scratchOptions.granularity = granularity;
-                return new PolylineVolumeOutlineGeometry(scratchOptions);
-            }
-
-            result._positions = positions;
-            result._shape = shape;
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._cornerType = cornerType;
-            result._granularity = granularity;
-
-            return result;
-        };
-
-        var brScratch = new BoundingRectangle.BoundingRectangle();
-
-        /**
-         * Computes the geometric representation of the outline of a polyline with a volume, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {PolylineVolumeOutlineGeometry} polylineVolumeOutlineGeometry A description of the polyline volume outline.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        PolylineVolumeOutlineGeometry.createGeometry = function(polylineVolumeOutlineGeometry) {
-            var positions = polylineVolumeOutlineGeometry._positions;
-            var cleanPositions = arrayRemoveDuplicates.arrayRemoveDuplicates(positions, Cartesian2.Cartesian3.equalsEpsilon);
-            var shape2D = polylineVolumeOutlineGeometry._shape;
-            shape2D = PolylineVolumeGeometryLibrary.PolylineVolumeGeometryLibrary.removeDuplicatesFromShape(shape2D);
-
-            if (cleanPositions.length < 2 || shape2D.length < 3) {
-                return undefined;
-            }
-
-            if (PolygonPipeline.PolygonPipeline.computeWindingOrder2D(shape2D) === PolygonPipeline.WindingOrder.CLOCKWISE) {
-                shape2D.reverse();
-            }
-            var boundingRectangle = BoundingRectangle.BoundingRectangle.fromPoints(shape2D, brScratch);
-
-            var computedPositions = PolylineVolumeGeometryLibrary.PolylineVolumeGeometryLibrary.computePositions(cleanPositions, shape2D, boundingRectangle, polylineVolumeOutlineGeometry, false);
-            return computeAttributes(computedPositions, shape2D);
-        };
-
-    function createPolylineVolumeOutlineGeometry(polylineVolumeOutlineGeometry, offset) {
-        if (when.defined(offset)) {
-            polylineVolumeOutlineGeometry = PolylineVolumeOutlineGeometry.unpack(polylineVolumeOutlineGeometry, offset);
-        }
-        polylineVolumeOutlineGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(polylineVolumeOutlineGeometry._ellipsoid);
-        return PolylineVolumeOutlineGeometry.createGeometry(polylineVolumeOutlineGeometry);
-    }
-
-    return createPolylineVolumeOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createRectangleGeometry.js b/libs/supermap/Workers/createRectangleGeometry.js
deleted file mode 100644
index 7d38f67..0000000
--- a/libs/supermap/Workers/createRectangleGeometry.js
+++ /dev/null
@@ -1,1207 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './AttributeCompression-50ff7145', './GeometryPipeline-cf04afb6', './EncodedCartesian3-c30f641c', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './GeometryInstance-41ec5f45', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './RectangleGeometryLibrary-c8435381'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, AttributeCompression, GeometryPipeline, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, GeometryOffsetAttribute, VertexFormat, GeometryInstance, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, RectangleGeometryLibrary) { 'use strict';
-
-    var positionScratch = new Cartesian2.Cartesian3();
-        var normalScratch = new Cartesian2.Cartesian3();
-        var tangentScratch = new Cartesian2.Cartesian3();
-        var bitangentScratch = new Cartesian2.Cartesian3();
-        var rectangleScratch = new Cartesian2.Rectangle();
-        var stScratch = new Cartesian2.Cartesian2();
-        var bottomBoundingSphere = new BoundingSphere.BoundingSphere();
-        var topBoundingSphere = new BoundingSphere.BoundingSphere();
-
-        function createAttributes(vertexFormat, attributes) {
-            var geo = new GeometryAttribute.Geometry({
-                attributes : new GeometryAttributes.GeometryAttributes(),
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES
-            });
-
-            geo.attributes.position = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : attributes.positions
-            });
-            if (vertexFormat.normal) {
-                geo.attributes.normal = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : attributes.normals
-                });
-            }
-            if (vertexFormat.tangent) {
-                geo.attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : attributes.tangents
-                });
-            }
-            if (vertexFormat.bitangent) {
-                geo.attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : attributes.bitangents
-                });
-            }
-            return geo;
-        }
-
-        function calculateAttributes(positions, vertexFormat, ellipsoid, tangentRotationMatrix) {
-            var length = positions.length;
-
-            var normals = (vertexFormat.normal) ? new Float32Array(length) : undefined;
-            var tangents = (vertexFormat.tangent) ? new Float32Array(length) : undefined;
-            var bitangents = (vertexFormat.bitangent) ? new Float32Array(length) : undefined;
-
-            var attrIndex = 0;
-            var bitangent = bitangentScratch;
-            var tangent = tangentScratch;
-            var normal = normalScratch;
-            if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
-                for (var i = 0; i < length; i += 3) {
-                    var p = Cartesian2.Cartesian3.fromArray(positions, i, positionScratch);
-                    var attrIndex1 = attrIndex + 1;
-                    var attrIndex2 = attrIndex + 2;
-
-                    normal = ellipsoid.geodeticSurfaceNormal(p, normal);
-                    if (vertexFormat.tangent || vertexFormat.bitangent) {
-                        Cartesian2.Cartesian3.cross(Cartesian2.Cartesian3.UNIT_Z, normal, tangent);
-                        BoundingSphere.Matrix3.multiplyByVector(tangentRotationMatrix, tangent, tangent);
-                        Cartesian2.Cartesian3.normalize(tangent, tangent);
-
-                        if (vertexFormat.bitangent) {
-                            Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(normal, tangent, bitangent), bitangent);
-                        }
-                    }
-
-                    if (vertexFormat.normal) {
-                        normals[attrIndex] = normal.x;
-                        normals[attrIndex1] = normal.y;
-                        normals[attrIndex2] = normal.z;
-                    }
-                    if (vertexFormat.tangent) {
-                        tangents[attrIndex] = tangent.x;
-                        tangents[attrIndex1] = tangent.y;
-                        tangents[attrIndex2] = tangent.z;
-                    }
-                    if (vertexFormat.bitangent) {
-                        bitangents[attrIndex] = bitangent.x;
-                        bitangents[attrIndex1] = bitangent.y;
-                        bitangents[attrIndex2] = bitangent.z;
-                    }
-                    attrIndex += 3;
-                }
-            }
-            return createAttributes(vertexFormat, {
-                positions : positions,
-                normals : normals,
-                tangents : tangents,
-                bitangents : bitangents
-            });
-        }
-
-        var v1Scratch = new Cartesian2.Cartesian3();
-        var v2Scratch = new Cartesian2.Cartesian3();
-
-        function calculateAttributesWall(positions, vertexFormat, ellipsoid) {
-            var length = positions.length;
-
-            var normals = (vertexFormat.normal) ? new Float32Array(length) : undefined;
-            var tangents = (vertexFormat.tangent) ? new Float32Array(length) : undefined;
-            var bitangents = (vertexFormat.bitangent) ? new Float32Array(length) : undefined;
-
-            var normalIndex = 0;
-            var tangentIndex = 0;
-            var bitangentIndex = 0;
-            var recomputeNormal = true;
-
-            var bitangent = bitangentScratch;
-            var tangent = tangentScratch;
-            var normal = normalScratch;
-            if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
-                for (var i = 0; i < length; i += 6) {
-                    var p = Cartesian2.Cartesian3.fromArray(positions, i, positionScratch);
-                    var p1 = Cartesian2.Cartesian3.fromArray(positions, (i + 6) % length, v1Scratch);
-                    if (recomputeNormal) {
-                        var p2 = Cartesian2.Cartesian3.fromArray(positions, (i + 3) % length, v2Scratch);
-                        Cartesian2.Cartesian3.subtract(p1, p, p1);
-                        Cartesian2.Cartesian3.subtract(p2, p, p2);
-                        normal = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(p2, p1, normal), normal);
-                        recomputeNormal = false;
-                    }
-
-                    if (Cartesian2.Cartesian3.equalsEpsilon(p1, p, _Math.CesiumMath.EPSILON10)) { // if we've reached a corner
-                        recomputeNormal = true;
-                    }
-
-                    if (vertexFormat.tangent || vertexFormat.bitangent) {
-                        bitangent = ellipsoid.geodeticSurfaceNormal(p, bitangent);
-                        if (vertexFormat.tangent) {
-                            tangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(bitangent, normal, tangent), tangent);
-                        }
-                    }
-
-                    if (vertexFormat.normal) {
-                        normals[normalIndex++] = normal.x;
-                        normals[normalIndex++] = normal.y;
-                        normals[normalIndex++] = normal.z;
-                        normals[normalIndex++] = normal.x;
-                        normals[normalIndex++] = normal.y;
-                        normals[normalIndex++] = normal.z;
-                    }
-
-                    if (vertexFormat.tangent) {
-                        tangents[tangentIndex++] = tangent.x;
-                        tangents[tangentIndex++] = tangent.y;
-                        tangents[tangentIndex++] = tangent.z;
-                        tangents[tangentIndex++] = tangent.x;
-                        tangents[tangentIndex++] = tangent.y;
-                        tangents[tangentIndex++] = tangent.z;
-                    }
-
-                    if (vertexFormat.bitangent) {
-                        bitangents[bitangentIndex++] = bitangent.x;
-                        bitangents[bitangentIndex++] = bitangent.y;
-                        bitangents[bitangentIndex++] = bitangent.z;
-                        bitangents[bitangentIndex++] = bitangent.x;
-                        bitangents[bitangentIndex++] = bitangent.y;
-                        bitangents[bitangentIndex++] = bitangent.z;
-                    }
-                }
-            }
-
-            return createAttributes(vertexFormat, {
-                positions : positions,
-                normals : normals,
-                tangents : tangents,
-                bitangents : bitangents
-            });
-        }
-
-        function constructRectangle(rectangleGeometry, computedOptions) {
-            var vertexFormat = rectangleGeometry._vertexFormat;
-            var ellipsoid = rectangleGeometry._ellipsoid;
-            var height = computedOptions.height;
-            var width = computedOptions.width;
-            var northCap = computedOptions.northCap;
-            var southCap = computedOptions.southCap;
-
-            var rowStart = 0;
-            var rowEnd = height;
-            var rowHeight = height;
-            var size = 0;
-            if (northCap) {
-                rowStart = 1;
-                rowHeight -= 1;
-                size += 1;
-            }
-            if (southCap) {
-                rowEnd -= 1;
-                rowHeight -= 1;
-                size += 1;
-            }
-            size += (width * rowHeight);
-
-            var positions = (vertexFormat.position) ? new Float64Array(size * 3) : undefined;
-            var textureCoordinates = (vertexFormat.st) ? new Float32Array(size * 2) : undefined;
-
-            var posIndex = 0;
-            var stIndex = 0;
-
-            var position = positionScratch;
-            var st = stScratch;
-
-            var minX = Number.MAX_VALUE;
-            var minY = Number.MAX_VALUE;
-            var maxX = -Number.MAX_VALUE;
-            var maxY = -Number.MAX_VALUE;
-
-            for (var row = rowStart; row < rowEnd; ++row) {
-                for (var col = 0; col < width; ++col) {
-                    RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, vertexFormat.st, row, col, position, st);
-
-                    positions[posIndex++] = position.x;
-                    positions[posIndex++] = position.y;
-                    positions[posIndex++] = position.z;
-
-                    if (vertexFormat.st) {
-                        textureCoordinates[stIndex++] = st.x;
-                        textureCoordinates[stIndex++] = st.y;
-
-                        minX = Math.min(minX, st.x);
-                        minY = Math.min(minY, st.y);
-                        maxX = Math.max(maxX, st.x);
-                        maxY = Math.max(maxY, st.y);
-                    }
-                }
-            }
-            if (northCap) {
-                RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, vertexFormat.st, 0, 0, position, st);
-
-                positions[posIndex++] = position.x;
-                positions[posIndex++] = position.y;
-                positions[posIndex++] = position.z;
-
-                if (vertexFormat.st) {
-                    textureCoordinates[stIndex++] = st.x;
-                    textureCoordinates[stIndex++] = st.y;
-
-                    minX = st.x;
-                    minY = st.y;
-                    maxX = st.x;
-                    maxY = st.y;
-                }
-            }
-            if (southCap) {
-                RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, vertexFormat.st, height - 1, 0, position, st);
-
-                positions[posIndex++] = position.x;
-                positions[posIndex++] = position.y;
-                positions[posIndex] = position.z;
-
-                if (vertexFormat.st) {
-                    textureCoordinates[stIndex++] = st.x;
-                    textureCoordinates[stIndex] = st.y;
-
-                    minX = Math.min(minX, st.x);
-                    minY = Math.min(minY, st.y);
-                    maxX = Math.max(maxX, st.x);
-                    maxY = Math.max(maxY, st.y);
-                }
-            }
-
-            if (vertexFormat.st && (minX < 0.0 || minY < 0.0 || maxX > 1.0 || maxY > 1.0)) {
-                for (var k = 0; k < textureCoordinates.length; k += 2) {
-                    textureCoordinates[k] = (textureCoordinates[k] - minX) / (maxX - minX);
-                    textureCoordinates[k + 1] = (textureCoordinates[k + 1] - minY) / (maxY - minY);
-                }
-            }
-
-            var geo = calculateAttributes(positions, vertexFormat, ellipsoid, computedOptions.tangentRotationMatrix);
-
-            var indicesSize = 6 * (width - 1) * (rowHeight - 1);
-            if (northCap) {
-                indicesSize += 3 * (width - 1);
-            }
-            if (southCap) {
-                indicesSize += 3 * (width - 1);
-            }
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(size, indicesSize);
-            var index = 0;
-            var indicesIndex = 0;
-            var i;
-            for (i = 0; i < rowHeight - 1; ++i) {
-                for (var j = 0; j < width - 1; ++j) {
-                    var upperLeft = index;
-                    var lowerLeft = upperLeft + width;
-                    var lowerRight = lowerLeft + 1;
-                    var upperRight = upperLeft + 1;
-                    indices[indicesIndex++] = upperLeft;
-                    indices[indicesIndex++] = lowerLeft;
-                    indices[indicesIndex++] = upperRight;
-                    indices[indicesIndex++] = upperRight;
-                    indices[indicesIndex++] = lowerLeft;
-                    indices[indicesIndex++] = lowerRight;
-                    ++index;
-                }
-                ++index;
-            }
-            if (northCap || southCap) {
-                var northIndex = size - 1;
-                var southIndex = size - 1;
-                if (northCap && southCap) {
-                    northIndex = size - 2;
-                }
-
-                var p1;
-                var p2;
-                index = 0;
-
-                if (northCap) {
-                    for (i = 0; i < width - 1; i++) {
-                        p1 = index;
-                        p2 = p1 + 1;
-                        indices[indicesIndex++] = northIndex;
-                        indices[indicesIndex++] = p1;
-                        indices[indicesIndex++] = p2;
-                        ++index;
-                    }
-                }
-                if (southCap) {
-                    index = (rowHeight - 1) * (width);
-                    for (i = 0; i < width - 1; i++) {
-                        p1 = index;
-                        p2 = p1 + 1;
-                        indices[indicesIndex++] = p1;
-                        indices[indicesIndex++] = southIndex;
-                        indices[indicesIndex++] = p2;
-                        ++index;
-                    }
-                }
-            }
-
-            geo.indices = indices;
-            if (vertexFormat.st) {
-                geo.attributes.st = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 2,
-                    values : textureCoordinates
-                });
-            }
-
-            return geo;
-        }
-
-        function addWallPositions(wallPositions, posIndex, i, topPositions, bottomPositions) {
-            wallPositions[posIndex++] = topPositions[i];
-            wallPositions[posIndex++] = topPositions[i + 1];
-            wallPositions[posIndex++] = topPositions[i + 2];
-            wallPositions[posIndex++] = bottomPositions[i];
-            wallPositions[posIndex++] = bottomPositions[i + 1];
-            wallPositions[posIndex] = bottomPositions[i + 2];
-            return wallPositions;
-        }
-
-        function addWallTextureCoordinates(wallTextures, stIndex, i, st) {
-            wallTextures[stIndex++] = st[i];
-            wallTextures[stIndex++] = st[i + 1];
-            wallTextures[stIndex++] = st[i];
-            wallTextures[stIndex] = st[i + 1];
-            return wallTextures;
-        }
-
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-
-        function constructExtrudedRectangle(rectangleGeometry, computedOptions) {
-            var shadowVolume = rectangleGeometry._shadowVolume;
-            var offsetAttributeValue = rectangleGeometry._offsetAttribute;
-            var vertexFormat = rectangleGeometry._vertexFormat;
-            var minHeight = rectangleGeometry._extrudedHeight;
-            var maxHeight = rectangleGeometry._surfaceHeight;
-            var ellipsoid = rectangleGeometry._ellipsoid;
-
-            var height = computedOptions.height;
-            var width = computedOptions.width;
-
-            var i;
-
-            if (shadowVolume) {
-                var newVertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, scratchVertexFormat);
-                newVertexFormat.normal = true;
-                rectangleGeometry._vertexFormat = newVertexFormat;
-            }
-
-            var topBottomGeo = constructRectangle(rectangleGeometry, computedOptions);
-
-            if (shadowVolume) {
-                rectangleGeometry._vertexFormat = vertexFormat;
-            }
-
-            var topPositions = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(topBottomGeo.attributes.position.values, maxHeight, ellipsoid, false);
-            topPositions = new Float64Array(topPositions);
-            var length = topPositions.length;
-            var newLength = length * 2;
-            var positions = new Float64Array(newLength);
-            positions.set(topPositions);
-            var bottomPositions = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(topBottomGeo.attributes.position.values, minHeight, ellipsoid);
-            positions.set(bottomPositions, length);
-            topBottomGeo.attributes.position.values = positions;
-
-            var normals = (vertexFormat.normal) ? new Float32Array(newLength) : undefined;
-            var tangents = (vertexFormat.tangent) ? new Float32Array(newLength) : undefined;
-            var bitangents = (vertexFormat.bitangent) ? new Float32Array(newLength) : undefined;
-            var textures = (vertexFormat.st) ? new Float32Array(newLength / 3 * 2) : undefined;
-            var topSt;
-            var topNormals;
-            if (vertexFormat.normal) {
-                topNormals = topBottomGeo.attributes.normal.values;
-                normals.set(topNormals);
-                for (i = 0; i < length; i++) {
-                    topNormals[i] = -topNormals[i];
-                }
-                normals.set(topNormals, length);
-                topBottomGeo.attributes.normal.values = normals;
-            }
-            if (shadowVolume) {
-                topNormals = topBottomGeo.attributes.normal.values;
-                if (!vertexFormat.normal) {
-                    topBottomGeo.attributes.normal = undefined;
-                }
-                var extrudeNormals = new Float32Array(newLength);
-                for (i = 0; i < length; i++) {
-                    topNormals[i] = -topNormals[i];
-                }
-                extrudeNormals.set(topNormals, length); //only get normals for bottom layer that's going to be pushed down
-                topBottomGeo.attributes.extrudeDirection = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : extrudeNormals
-                });
-            }
-
-            var offsetValue;
-            var hasOffsets = when.defined(offsetAttributeValue);
-            if (hasOffsets) {
-                var size = length / 3 * 2;
-                var offsetAttribute = new Uint8Array(size);
-                if (offsetAttributeValue === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                    offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, 1, 0, size / 2);
-                } else {
-                    offsetValue = offsetAttributeValue === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, offsetValue);
-                }
-
-                topBottomGeo.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values : offsetAttribute
-                });
-            }
-
-            if (vertexFormat.tangent) {
-                var topTangents = topBottomGeo.attributes.tangent.values;
-                tangents.set(topTangents);
-                for (i = 0; i < length; i++) {
-                    topTangents[i] = -topTangents[i];
-                }
-                tangents.set(topTangents, length);
-                topBottomGeo.attributes.tangent.values = tangents;
-            }
-            if (vertexFormat.bitangent) {
-                var topBitangents = topBottomGeo.attributes.bitangent.values;
-                bitangents.set(topBitangents);
-                bitangents.set(topBitangents, length);
-                topBottomGeo.attributes.bitangent.values = bitangents;
-            }
-            if (vertexFormat.st) {
-                topSt = topBottomGeo.attributes.st.values;
-                textures.set(topSt);
-                textures.set(topSt, length / 3 * 2);
-                topBottomGeo.attributes.st.values = textures;
-            }
-
-            var indices = topBottomGeo.indices;
-            var indicesLength = indices.length;
-            var posLength = length / 3;
-            var newIndices = IndexDatatype.IndexDatatype.createTypedArray(newLength / 3, indicesLength * 2);
-            newIndices.set(indices);
-            for (i = 0; i < indicesLength; i += 3) {
-                newIndices[i + indicesLength] = indices[i + 2] + posLength;
-                newIndices[i + 1 + indicesLength] = indices[i + 1] + posLength;
-                newIndices[i + 2 + indicesLength] = indices[i] + posLength;
-            }
-            topBottomGeo.indices = newIndices;
-
-            var northCap = computedOptions.northCap;
-            var southCap = computedOptions.southCap;
-
-            var rowHeight = height;
-            var widthMultiplier = 2;
-            var perimeterPositions = 0;
-            var corners = 4;
-            var dupliateCorners = 4;
-            if (northCap) {
-                widthMultiplier -= 1;
-                rowHeight -= 1;
-                perimeterPositions += 1;
-                corners -= 2;
-                dupliateCorners -= 1;
-            }
-            if (southCap) {
-                widthMultiplier -= 1;
-                rowHeight -= 1;
-                perimeterPositions += 1;
-                corners -= 2;
-                dupliateCorners -= 1;
-            }
-            perimeterPositions += (widthMultiplier * width + 2 * rowHeight - corners);
-
-            var wallCount = (perimeterPositions + dupliateCorners) * 2;
-
-            var wallPositions = new Float64Array(wallCount * 3);
-            var wallExtrudeNormals = shadowVolume ? new Float32Array(wallCount * 3) : undefined;
-            var wallOffsetAttribute = hasOffsets ? new Uint8Array(wallCount) : undefined;
-            var wallTextures = (vertexFormat.st) ? new Float32Array(wallCount * 2) : undefined;
-
-            var computeTopOffsets = offsetAttributeValue === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP;
-            if (hasOffsets && !computeTopOffsets) {
-                offsetValue = offsetAttributeValue === GeometryOffsetAttribute.GeometryOffsetAttribute.ALL ? 1 : 0;
-                wallOffsetAttribute = GeometryOffsetAttribute.arrayFill(wallOffsetAttribute, offsetValue);
-            }
-
-            var posIndex = 0;
-            var stIndex = 0;
-            var extrudeNormalIndex = 0;
-            var wallOffsetIndex = 0;
-            var area = width * rowHeight;
-            var threeI;
-            for (i = 0; i < area; i += width) {
-                threeI = i * 3;
-                wallPositions = addWallPositions(wallPositions, posIndex, threeI, topPositions, bottomPositions);
-                posIndex += 6;
-                if (vertexFormat.st) {
-                    wallTextures = addWallTextureCoordinates(wallTextures, stIndex, i * 2, topSt);
-                    stIndex += 4;
-                }
-                if (shadowVolume) {
-                    extrudeNormalIndex += 3;
-                    wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
-                    wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
-                    wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
-                }
-                if (computeTopOffsets) {
-                    wallOffsetAttribute[wallOffsetIndex++] = 1;
-                    wallOffsetIndex += 1;
-                }
-            }
-
-            if (!southCap) {
-                for (i = area - width; i < area; i++) {
-                    threeI = i * 3;
-                    wallPositions = addWallPositions(wallPositions, posIndex, threeI, topPositions, bottomPositions);
-                    posIndex += 6;
-                    if (vertexFormat.st) {
-                        wallTextures = addWallTextureCoordinates(wallTextures, stIndex, i * 2, topSt);
-                        stIndex += 4;
-                    }
-                    if (shadowVolume) {
-                        extrudeNormalIndex += 3;
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
-                    }
-                    if (computeTopOffsets) {
-                        wallOffsetAttribute[wallOffsetIndex++] = 1;
-                        wallOffsetIndex += 1;
-                    }
-                }
-            } else {
-                var southIndex = northCap ? area + 1 : area;
-                threeI = southIndex * 3;
-
-                for (i = 0; i < 2; i++) { // duplicate corner points
-                    wallPositions = addWallPositions(wallPositions, posIndex, threeI, topPositions, bottomPositions);
-                    posIndex += 6;
-                    if (vertexFormat.st) {
-                        wallTextures = addWallTextureCoordinates(wallTextures, stIndex, southIndex * 2, topSt);
-                        stIndex += 4;
-                    }
-                    if (shadowVolume) {
-                        extrudeNormalIndex += 3;
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
-                    }
-                    if (computeTopOffsets) {
-                        wallOffsetAttribute[wallOffsetIndex++] = 1;
-                        wallOffsetIndex += 1;
-                    }
-                }
-            }
-
-            for (i = area - 1; i > 0; i -= width) {
-                threeI = i * 3;
-                wallPositions = addWallPositions(wallPositions, posIndex, threeI, topPositions, bottomPositions);
-                posIndex += 6;
-                if (vertexFormat.st) {
-                    wallTextures = addWallTextureCoordinates(wallTextures, stIndex, i * 2, topSt);
-                    stIndex += 4;
-                }
-                if (shadowVolume) {
-                    extrudeNormalIndex += 3;
-                    wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
-                    wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
-                    wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
-                }
-                if (computeTopOffsets) {
-                    wallOffsetAttribute[wallOffsetIndex++] = 1;
-                    wallOffsetIndex += 1;
-                }
-
-            }
-
-            if (!northCap) {
-                for (i = width - 1; i >= 0; i--) {
-                    threeI = i * 3;
-                    wallPositions = addWallPositions(wallPositions, posIndex, threeI, topPositions, bottomPositions);
-                    posIndex += 6;
-                    if (vertexFormat.st) {
-                        wallTextures = addWallTextureCoordinates(wallTextures, stIndex, i * 2, topSt);
-                        stIndex += 4;
-                    }
-                    if (shadowVolume) {
-                        extrudeNormalIndex += 3;
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
-                    }
-                    if (computeTopOffsets) {
-                        wallOffsetAttribute[wallOffsetIndex++] = 1;
-                        wallOffsetIndex += 1;
-                    }
-                }
-            } else {
-                var northIndex = area;
-                threeI = northIndex * 3;
-
-                for (i = 0; i < 2; i++) { // duplicate corner points
-                    wallPositions = addWallPositions(wallPositions, posIndex, threeI, topPositions, bottomPositions);
-                    posIndex += 6;
-                    if (vertexFormat.st) {
-                        wallTextures = addWallTextureCoordinates(wallTextures, stIndex, northIndex * 2, topSt);
-                        stIndex += 4;
-                    }
-                    if (shadowVolume) {
-                        extrudeNormalIndex += 3;
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
-                        wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
-                    }
-                    if (computeTopOffsets) {
-                        wallOffsetAttribute[wallOffsetIndex++] = 1;
-                        wallOffsetIndex += 1;
-                    }
-                }
-            }
-
-            var geo = calculateAttributesWall(wallPositions, vertexFormat, ellipsoid);
-
-            if (vertexFormat.st) {
-                geo.attributes.st = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 2,
-                    values : wallTextures
-                });
-            }
-            if (shadowVolume) {
-                geo.attributes.extrudeDirection = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : wallExtrudeNormals
-                });
-            }
-            if (hasOffsets) {
-                geo.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 1,
-                    values : wallOffsetAttribute
-                });
-            }
-
-            var wallIndices = IndexDatatype.IndexDatatype.createTypedArray(wallCount, perimeterPositions * 6);
-
-            var upperLeft;
-            var lowerLeft;
-            var lowerRight;
-            var upperRight;
-            length = wallPositions.length / 3;
-            var index = 0;
-            for (i = 0; i < length - 1; i += 2) {
-                upperLeft = i;
-                upperRight = (upperLeft + 2) % length;
-                var p1 = Cartesian2.Cartesian3.fromArray(wallPositions, upperLeft * 3, v1Scratch);
-                var p2 = Cartesian2.Cartesian3.fromArray(wallPositions, upperRight * 3, v2Scratch);
-                if (Cartesian2.Cartesian3.equalsEpsilon(p1, p2, _Math.CesiumMath.EPSILON10)) {
-                    continue;
-                }
-                lowerLeft = (upperLeft + 1) % length;
-                lowerRight = (lowerLeft + 2) % length;
-                wallIndices[index++] = upperLeft;
-                wallIndices[index++] = lowerLeft;
-                wallIndices[index++] = upperRight;
-                wallIndices[index++] = upperRight;
-                wallIndices[index++] = lowerLeft;
-                wallIndices[index++] = lowerRight;
-            }
-
-            geo.indices = wallIndices;
-
-            geo = GeometryPipeline.GeometryPipeline.combineInstances([
-                new GeometryInstance.GeometryInstance({
-                    geometry : topBottomGeo
-                }),
-                new GeometryInstance.GeometryInstance({
-                    geometry : geo
-                })
-            ]);
-
-            return geo[0];
-        }
-
-        var scratchRectanglePoints = [new Cartesian2.Cartesian3(), new Cartesian2.Cartesian3(), new Cartesian2.Cartesian3(), new Cartesian2.Cartesian3()];
-        var nwScratch = new Cartesian2.Cartographic();
-        var stNwScratch = new Cartesian2.Cartographic();
-        function computeRectangle(rectangle, granularity, rotation, ellipsoid, result) {
-            if (rotation === 0.0) {
-                return Cartesian2.Rectangle.clone(rectangle, result);
-            }
-
-            var computedOptions = RectangleGeometryLibrary.RectangleGeometryLibrary.computeOptions(rectangle, granularity, rotation, 0, rectangleScratch, nwScratch);
-
-            var height = computedOptions.height;
-            var width = computedOptions.width;
-
-            var positions = scratchRectanglePoints;
-            RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, false, 0, 0, positions[0]);
-            RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, false, 0, width - 1, positions[1]);
-            RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, false, height - 1, 0, positions[2]);
-            RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, false, height - 1, width - 1, positions[3]);
-
-            return Cartesian2.Rectangle.fromCartesianArray(positions, ellipsoid, result);
-        }
-
-        /**
-         * A description of a cartographic rectangle on an ellipsoid centered at the origin. Rectangle geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}.
-         *
-         * @alias RectangleGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Rectangle} options.rectangle A cartographic rectangle with north, south, east and west properties in radians.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the rectangle lies.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Number} [options.height=0.0] The distance in meters between the rectangle and the ellipsoid surface.
-         * @param {Number} [options.rotation=0.0] The rotation of the rectangle, in radians. A positive rotation is counter-clockwise.
-         * @param {Number} [options.stRotation=0.0] The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise.
-         * @param {Number} [options.extrudedHeight] The distance in meters between the rectangle's extruded face and the ellipsoid surface.
-         *
-         * @exception {DeveloperError} <code>options.rectangle.north</code> must be in the interval [<code>-Pi/2</code>, <code>Pi/2</code>].
-         * @exception {DeveloperError} <code>options.rectangle.south</code> must be in the interval [<code>-Pi/2</code>, <code>Pi/2</code>].
-         * @exception {DeveloperError} <code>options.rectangle.east</code> must be in the interval [<code>-Pi</code>, <code>Pi</code>].
-         * @exception {DeveloperError} <code>options.rectangle.west</code> must be in the interval [<code>-Pi</code>, <code>Pi</code>].
-         * @exception {DeveloperError} <code>options.rectangle.north</code> must be greater than <code>options.rectangle.south</code>.
-         *
-         * @see RectangleGeometry#createGeometry
-         *
-         * @demo {@link https://sandcastle.cesium.com/index.html?src=Rectangle.html|Cesium Sandcastle Rectangle Demo}
-         *
-         * @example
-         * // 1. create a rectangle
-         * var rectangle = new Cesium.RectangleGeometry({
-         *   ellipsoid : Cesium.Ellipsoid.WGS84,
-         *   rectangle : Cesium.Rectangle.fromDegrees(-80.0, 39.0, -74.0, 42.0),
-         *   height : 10000.0
-         * });
-         * var geometry = Cesium.RectangleGeometry.createGeometry(rectangle);
-         *
-         * // 2. create an extruded rectangle without a top
-         * var rectangle = new Cesium.RectangleGeometry({
-         *   ellipsoid : Cesium.Ellipsoid.WGS84,
-         *   rectangle : Cesium.Rectangle.fromDegrees(-80.0, 39.0, -74.0, 42.0),
-         *   height : 10000.0,
-         *   extrudedHeight: 300000
-         * });
-         * var geometry = Cesium.RectangleGeometry.createGeometry(rectangle);
-         */
-        function RectangleGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var rectangle = options.rectangle;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            Cartesian2.Rectangle.validate(rectangle);
-            if (rectangle.north < rectangle.south) {
-                throw new Check.DeveloperError('options.rectangle.north must be greater than or equal to options.rectangle.south');
-            }
-            //>>includeEnd('debug');
-
-            var height = when.defaultValue(options.height, 0.0);
-            var extrudedHeight = when.defaultValue(options.extrudedHeight, height);
-
-            this._rectangle = Cartesian2.Rectangle.clone(rectangle);
-            this._granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84));
-            this._surfaceHeight = Math.max(height, extrudedHeight);
-            this._rotation = when.defaultValue(options.rotation, 0.0);
-            this._stRotation = when.defaultValue(options.stRotation, 0.0);
-            this._vertexFormat = VertexFormat.VertexFormat.clone(when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT));
-            this._extrudedHeight = Math.min(height, extrudedHeight);
-            this._shadowVolume = when.defaultValue(options.shadowVolume, false);
-            this._workerName = 'createRectangleGeometry';
-            this._offsetAttribute = options.offsetAttribute;
-            this._rotatedRectangle = undefined;
-
-            this._textureCoordinateRotationPoints = undefined;
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        RectangleGeometry.packedLength = Cartesian2.Rectangle.packedLength + Cartesian2.Ellipsoid.packedLength + VertexFormat.VertexFormat.packedLength + 7;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {RectangleGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        RectangleGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            Cartesian2.Rectangle.pack(value._rectangle, array, startingIndex);
-            startingIndex += Cartesian2.Rectangle.packedLength;
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            array[startingIndex++] = value._granularity;
-            array[startingIndex++] = value._surfaceHeight;
-            array[startingIndex++] = value._rotation;
-            array[startingIndex++] = value._stRotation;
-            array[startingIndex++] = value._extrudedHeight;
-            array[startingIndex++] = value._shadowVolume ? 1.0 : 0.0;
-            array[startingIndex] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchRectangle = new Cartesian2.Rectangle();
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchOptions = {
-            rectangle : scratchRectangle,
-            ellipsoid : scratchEllipsoid,
-            vertexFormat : scratchVertexFormat,
-            granularity : undefined,
-            height : undefined,
-            rotation : undefined,
-            stRotation : undefined,
-            extrudedHeight : undefined,
-            shadowVolume : undefined,
-            offsetAttribute: undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {RectangleGeometry} [result] The object into which to store the result.
-         * @returns {RectangleGeometry} The modified result parameter or a new RectangleGeometry instance if one was not provided.
-         */
-        RectangleGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.defined('array', array);
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var rectangle = Cartesian2.Rectangle.unpack(array, startingIndex, scratchRectangle);
-            startingIndex += Cartesian2.Rectangle.packedLength;
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            var granularity = array[startingIndex++];
-            var surfaceHeight = array[startingIndex++];
-            var rotation = array[startingIndex++];
-            var stRotation = array[startingIndex++];
-            var extrudedHeight = array[startingIndex++];
-            var shadowVolume = array[startingIndex++] === 1.0;
-            var offsetAttribute = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.granularity = granularity;
-                scratchOptions.height = surfaceHeight;
-                scratchOptions.rotation = rotation;
-                scratchOptions.stRotation = stRotation;
-                scratchOptions.extrudedHeight = extrudedHeight;
-                scratchOptions.shadowVolume = shadowVolume;
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-                return new RectangleGeometry(scratchOptions);
-            }
-
-            result._rectangle = Cartesian2.Rectangle.clone(rectangle, result._rectangle);
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._granularity = granularity;
-            result._surfaceHeight = surfaceHeight;
-            result._rotation = rotation;
-            result._stRotation = stRotation;
-            result._extrudedHeight = extrudedHeight;
-            result._shadowVolume = shadowVolume;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        /**
-         * Computes the bounding rectangle based on the provided options
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Rectangle} options.rectangle A cartographic rectangle with north, south, east and west properties in radians.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the rectangle lies.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Number} [options.rotation=0.0] The rotation of the rectangle, in radians. A positive rotation is counter-clockwise.
-         * @param {Rectangle} [result] An object in which to store the result.
-         *
-         * @returns {Rectangle} The result rectangle
-         */
-        RectangleGeometry.computeRectangle = function(options, result) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var rectangle = options.rectangle;
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('rectangle', rectangle);
-            Cartesian2.Rectangle.validate(rectangle);
-            if (rectangle.north < rectangle.south) {
-                throw new Check.DeveloperError('options.rectangle.north must be greater than or equal to options.rectangle.south');
-            }
-            //>>includeEnd('debug');
-
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var rotation = when.defaultValue(options.rotation, 0.0);
-
-            return computeRectangle(rectangle, granularity, rotation, ellipsoid, result);
-        };
-
-        var tangentRotationMatrixScratch = new BoundingSphere.Matrix3();
-        var quaternionScratch = new Transforms.Quaternion();
-        var centerScratch = new Cartesian2.Cartographic();
-        /**
-         * Computes the geometric representation of a rectangle, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {RectangleGeometry} rectangleGeometry A description of the rectangle.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         *
-         * @exception {DeveloperError} Rotated rectangle is invalid.
-         */
-        RectangleGeometry.createGeometry = function(rectangleGeometry) {
-            if ((_Math.CesiumMath.equalsEpsilon(rectangleGeometry._rectangle.north, rectangleGeometry._rectangle.south, _Math.CesiumMath.EPSILON10) ||
-                 (_Math.CesiumMath.equalsEpsilon(rectangleGeometry._rectangle.east, rectangleGeometry._rectangle.west, _Math.CesiumMath.EPSILON10)))) {
-                return undefined;
-            }
-
-            var rectangle = rectangleGeometry._rectangle;
-            var ellipsoid = rectangleGeometry._ellipsoid;
-            var rotation = rectangleGeometry._rotation;
-            var stRotation = rectangleGeometry._stRotation;
-            var vertexFormat = rectangleGeometry._vertexFormat;
-
-            var computedOptions = RectangleGeometryLibrary.RectangleGeometryLibrary.computeOptions(rectangle, rectangleGeometry._granularity, rotation, stRotation, rectangleScratch, nwScratch, stNwScratch);
-
-            var tangentRotationMatrix = tangentRotationMatrixScratch;
-            if (stRotation !== 0 || rotation !== 0) {
-                var center = Cartesian2.Rectangle.center(rectangle, centerScratch);
-                var axis = ellipsoid.geodeticSurfaceNormalCartographic(center, v1Scratch);
-                Transforms.Quaternion.fromAxisAngle(axis, -stRotation, quaternionScratch);
-                BoundingSphere.Matrix3.fromQuaternion(quaternionScratch, tangentRotationMatrix);
-            } else {
-                BoundingSphere.Matrix3.clone(BoundingSphere.Matrix3.IDENTITY, tangentRotationMatrix);
-            }
-
-            var surfaceHeight = rectangleGeometry._surfaceHeight;
-            var extrudedHeight = rectangleGeometry._extrudedHeight;
-            var extrude = !_Math.CesiumMath.equalsEpsilon(surfaceHeight, extrudedHeight, 0, _Math.CesiumMath.EPSILON2);
-
-            computedOptions.lonScalar = 1.0 / rectangleGeometry._rectangle.width;
-            computedOptions.latScalar = 1.0 / rectangleGeometry._rectangle.height;
-            computedOptions.tangentRotationMatrix = tangentRotationMatrix;
-
-            var geometry;
-            var boundingSphere;
-            rectangle = rectangleGeometry._rectangle;
-            if (extrude) {
-                geometry = constructExtrudedRectangle(rectangleGeometry, computedOptions);
-                var topBS = BoundingSphere.BoundingSphere.fromRectangle3D(rectangle, ellipsoid, surfaceHeight, topBoundingSphere);
-                var bottomBS = BoundingSphere.BoundingSphere.fromRectangle3D(rectangle, ellipsoid, extrudedHeight, bottomBoundingSphere);
-                boundingSphere = BoundingSphere.BoundingSphere.union(topBS, bottomBS);
-            } else {
-                geometry = constructRectangle(rectangleGeometry, computedOptions);
-                geometry.attributes.position.values = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(geometry.attributes.position.values, surfaceHeight, ellipsoid, false);
-
-                if (when.defined(rectangleGeometry._offsetAttribute)) {
-                    var length = geometry.attributes.position.values.length;
-                    var applyOffset = new Uint8Array(length / 3);
-                    var offsetValue = rectangleGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                    geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                        componentsPerAttribute : 1,
-                        values: applyOffset
-                    });
-                }
-
-                boundingSphere = BoundingSphere.BoundingSphere.fromRectangle3D(rectangle, ellipsoid, surfaceHeight);
-            }
-
-            if (!vertexFormat.position) {
-                delete geometry.attributes.position;
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : geometry.attributes,
-                indices : geometry.indices,
-                primitiveType : geometry.primitiveType,
-                boundingSphere : boundingSphere,
-                offsetAttribute : rectangleGeometry._offsetAttribute
-            });
-        };
-
-        /**
-         * @private
-         */
-        RectangleGeometry.createShadowVolume = function(rectangleGeometry, minHeightFunc, maxHeightFunc) {
-            var granularity = rectangleGeometry._granularity;
-            var ellipsoid = rectangleGeometry._ellipsoid;
-
-            var minHeight = minHeightFunc(granularity, ellipsoid);
-            var maxHeight = maxHeightFunc(granularity, ellipsoid);
-
-            return new RectangleGeometry({
-                rectangle : rectangleGeometry._rectangle,
-                rotation : rectangleGeometry._rotation,
-                ellipsoid : ellipsoid,
-                stRotation : rectangleGeometry._stRotation,
-                granularity : granularity,
-                extrudedHeight : maxHeight,
-                height : minHeight,
-                vertexFormat : VertexFormat.VertexFormat.POSITION_ONLY,
-                shadowVolume : true
-            });
-        };
-
-        var unrotatedTextureRectangleScratch = new Cartesian2.Rectangle();
-        var points2DScratch = [new Cartesian2.Cartesian2(), new Cartesian2.Cartesian2(), new Cartesian2.Cartesian2()];
-        var rotation2DScratch = new GeometryAttribute.Matrix2();
-        var rectangleCenterScratch = new Cartesian2.Cartographic();
-
-        function textureCoordinateRotationPoints(rectangleGeometry) {
-            if (rectangleGeometry._stRotation === 0.0) {
-                return [0, 0, 0, 1, 1, 0];
-            }
-
-            var rectangle = Cartesian2.Rectangle.clone(rectangleGeometry._rectangle, unrotatedTextureRectangleScratch);
-            var granularity = rectangleGeometry._granularity;
-            var ellipsoid = rectangleGeometry._ellipsoid;
-
-            // Rotate to align the texture coordinates with ENU
-            var rotation = rectangleGeometry._rotation - rectangleGeometry._stRotation;
-
-            var unrotatedTextureRectangle = computeRectangle(rectangle, granularity, rotation, ellipsoid, unrotatedTextureRectangleScratch);
-
-            // Assume a computed "east-north" texture coordinate system based on spherical or planar tricks, bounded by `boundingRectangle`.
-            // The "desired" texture coordinate system forms an oriented rectangle (un-oriented computed) around the geometry that completely and tightly bounds it.
-            // We want to map from the "east-north" texture coordinate system into the "desired" system using a pair of lines (analagous planes in 2D)
-            // Compute 3 corners of the "desired" texture coordinate system in "east-north" texture space by the following in cartographic space:
-            // - rotate 3 of the corners in unrotatedTextureRectangle by stRotation around the center of the bounding rectangle
-            // - apply the "east-north" system's normalization formula to the rotated cartographics, even though this is likely to produce values outside [0-1].
-            // This gives us a set of points in the "east-north" texture coordinate system that can be used to map "east-north" texture coordinates to "desired."
-
-            var points2D = points2DScratch;
-            points2D[0].x = unrotatedTextureRectangle.west;
-            points2D[0].y = unrotatedTextureRectangle.south;
-
-            points2D[1].x = unrotatedTextureRectangle.west;
-            points2D[1].y = unrotatedTextureRectangle.north;
-
-            points2D[2].x = unrotatedTextureRectangle.east;
-            points2D[2].y = unrotatedTextureRectangle.south;
-
-            var boundingRectangle = rectangleGeometry.rectangle;
-            var toDesiredInComputed = GeometryAttribute.Matrix2.fromRotation(rectangleGeometry._stRotation, rotation2DScratch);
-            var boundingRectangleCenter = Cartesian2.Rectangle.center(boundingRectangle, rectangleCenterScratch);
-
-            for (var i = 0; i < 3; ++i) {
-                var point2D = points2D[i];
-                point2D.x -= boundingRectangleCenter.longitude;
-                point2D.y -= boundingRectangleCenter.latitude;
-                GeometryAttribute.Matrix2.multiplyByVector(toDesiredInComputed, point2D, point2D);
-                point2D.x += boundingRectangleCenter.longitude;
-                point2D.y += boundingRectangleCenter.latitude;
-
-                // Convert point into east-north texture coordinate space
-                point2D.x = (point2D.x - boundingRectangle.west) / boundingRectangle.width;
-                point2D.y = (point2D.y - boundingRectangle.south) / boundingRectangle.height;
-            }
-
-            var minXYCorner = points2D[0];
-            var maxYCorner = points2D[1];
-            var maxXCorner = points2D[2];
-            var result = new Array(6);
-            Cartesian2.Cartesian2.pack(minXYCorner, result);
-            Cartesian2.Cartesian2.pack(maxYCorner, result, 2);
-            Cartesian2.Cartesian2.pack(maxXCorner, result, 4);
-            return result;
-        }
-
-        Object.defineProperties(RectangleGeometry.prototype, {
-            /**
-             * @private
-             */
-            rectangle : {
-                get : function() {
-                    if (!when.defined(this._rotatedRectangle)) {
-                        this._rotatedRectangle = computeRectangle(this._rectangle, this._granularity, this._rotation, this._ellipsoid);
-                    }
-                    return this._rotatedRectangle;
-                }
-            },
-            /**
-             * For remapping texture coordinates when rendering RectangleGeometries as GroundPrimitives.
-             * This version permits skew in textures by computing offsets directly in cartographic space and
-             * more accurately approximates rendering RectangleGeometries with height as standard Primitives.
-             * @see Geometry#_textureCoordinateRotationPoints
-             * @private
-             */
-            textureCoordinateRotationPoints : {
-                get : function() {
-                    if (!when.defined(this._textureCoordinateRotationPoints)) {
-                        this._textureCoordinateRotationPoints = textureCoordinateRotationPoints(this);
-                    }
-                    return this._textureCoordinateRotationPoints;
-                }
-            }
-        });
-
-    function createRectangleGeometry(rectangleGeometry, offset) {
-        if (when.defined(offset)) {
-            rectangleGeometry = RectangleGeometry.unpack(rectangleGeometry, offset);
-        }
-        rectangleGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(rectangleGeometry._ellipsoid);
-        rectangleGeometry._rectangle = Cartesian2.Rectangle.clone(rectangleGeometry._rectangle);
-        return RectangleGeometry.createGeometry(rectangleGeometry);
-    }
-
-    return createRectangleGeometry;
-
-});
diff --git a/libs/supermap/Workers/createRectangleOutlineGeometry.js b/libs/supermap/Workers/createRectangleOutlineGeometry.js
deleted file mode 100644
index cfa9e4c..0000000
--- a/libs/supermap/Workers/createRectangleOutlineGeometry.js
+++ /dev/null
@@ -1,449 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './RectangleGeometryLibrary-c8435381'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, RectangleGeometryLibrary) { 'use strict';
-
-    var bottomBoundingSphere = new BoundingSphere.BoundingSphere();
-        var topBoundingSphere = new BoundingSphere.BoundingSphere();
-        var positionScratch = new Cartesian2.Cartesian3();
-        var rectangleScratch = new Cartesian2.Rectangle();
-
-        function constructRectangle(geometry, computedOptions) {
-            var ellipsoid = geometry._ellipsoid;
-            var height = computedOptions.height;
-            var width = computedOptions.width;
-            var northCap = computedOptions.northCap;
-            var southCap = computedOptions.southCap;
-
-            var rowHeight = height;
-            var widthMultiplier = 2;
-            var size = 0;
-            var corners = 4;
-            if (northCap) {
-                widthMultiplier -= 1;
-                rowHeight -= 1;
-                size += 1;
-                corners -= 2;
-            }
-            if (southCap) {
-                widthMultiplier -= 1;
-                rowHeight -= 1;
-                size += 1;
-                corners -= 2;
-            }
-            size += (widthMultiplier * width + 2 * rowHeight - corners);
-
-            var positions = new Float64Array(size * 3);
-
-            var posIndex = 0;
-            var row = 0;
-            var col;
-            var position = positionScratch;
-            if (northCap) {
-                RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, false, row, 0, position);
-                positions[posIndex++] = position.x;
-                positions[posIndex++] = position.y;
-                positions[posIndex++] = position.z;
-            } else {
-                for (col = 0; col < width; col++) {
-                    RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, false, row, col, position);
-                    positions[posIndex++] = position.x;
-                    positions[posIndex++] = position.y;
-                    positions[posIndex++] = position.z;
-                }
-            }
-
-            col = width - 1;
-            for (row = 1; row < height; row++) {
-                RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, false, row, col, position);
-                positions[posIndex++] = position.x;
-                positions[posIndex++] = position.y;
-                positions[posIndex++] = position.z;
-            }
-
-            row = height - 1;
-            if (!southCap) {  // if southCap is true, we dont need to add any more points because the south pole point was added by the iteration above
-                for (col = width - 2; col >= 0; col--) {
-                    RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, false, row, col, position);
-                    positions[posIndex++] = position.x;
-                    positions[posIndex++] = position.y;
-                    positions[posIndex++] = position.z;
-                }
-            }
-
-            col = 0;
-            for (row = height - 2; row > 0; row--) {
-                RectangleGeometryLibrary.RectangleGeometryLibrary.computePosition(computedOptions, ellipsoid, false, row, col, position);
-                positions[posIndex++] = position.x;
-                positions[posIndex++] = position.y;
-                positions[posIndex++] = position.z;
-            }
-
-            var indicesSize = positions.length / 3 * 2;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(positions.length / 3, indicesSize);
-
-            var index = 0;
-            for (var i = 0; i < (positions.length / 3) - 1; i++) {
-                indices[index++] = i;
-                indices[index++] = i + 1;
-            }
-            indices[index++] = (positions.length / 3) - 1;
-            indices[index++] = 0;
-
-            var geo = new GeometryAttribute.Geometry({
-                attributes : new GeometryAttributes.GeometryAttributes(),
-                primitiveType : PrimitiveType.PrimitiveType.LINES
-            });
-
-            geo.attributes.position = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : positions
-            });
-            geo.indices = indices;
-
-            return geo;
-        }
-
-        function constructExtrudedRectangle(rectangleGeometry, computedOptions) {
-            var surfaceHeight = rectangleGeometry._surfaceHeight;
-            var extrudedHeight = rectangleGeometry._extrudedHeight;
-            var ellipsoid = rectangleGeometry._ellipsoid;
-            var minHeight = extrudedHeight;
-            var maxHeight = surfaceHeight;
-            var geo = constructRectangle(rectangleGeometry, computedOptions);
-
-            var height = computedOptions.height;
-            var width = computedOptions.width;
-
-            var topPositions = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(geo.attributes.position.values, maxHeight, ellipsoid, false);
-            var length = topPositions.length;
-            var positions = new Float64Array(length * 2);
-            positions.set(topPositions);
-            var bottomPositions = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(geo.attributes.position.values, minHeight, ellipsoid);
-            positions.set(bottomPositions, length);
-            geo.attributes.position.values = positions;
-
-            var northCap = computedOptions.northCap;
-            var southCap = computedOptions.southCap;
-            var corners = 4;
-            if (northCap) {
-                corners -= 1;
-            }
-            if (southCap) {
-                corners -= 1;
-            }
-
-            var indicesSize = (positions.length / 3 + corners) * 2;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(positions.length / 3, indicesSize);
-            length = positions.length / 6;
-            var index = 0;
-            for (var i = 0; i < length - 1; i++) {
-                indices[index++] = i;
-                indices[index++] = i + 1;
-                indices[index++] = i + length;
-                indices[index++] = i + length + 1;
-            }
-            indices[index++] = length - 1;
-            indices[index++] = 0;
-            indices[index++] = length + length - 1;
-            indices[index++] = length;
-
-            indices[index++] = 0;
-            indices[index++] = length;
-
-            var bottomCorner;
-            if (northCap) {
-                bottomCorner = height - 1;
-            } else {
-                var topRightCorner = width - 1;
-                indices[index++] = topRightCorner;
-                indices[index++] = topRightCorner + length;
-                bottomCorner = width + height - 2;
-            }
-
-            indices[index++] = bottomCorner;
-            indices[index++] = bottomCorner + length;
-
-            if (!southCap) {
-                var bottomLeftCorner = width + bottomCorner - 1;
-                indices[index++] = bottomLeftCorner;
-                indices[index] = bottomLeftCorner + length;
-            }
-
-            geo.indices = indices;
-
-            return geo;
-        }
-
-        /**
-         * A description of the outline of a a cartographic rectangle on an ellipsoid centered at the origin.
-         *
-         * @alias RectangleOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Rectangle} options.rectangle A cartographic rectangle with north, south, east and west properties in radians.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the rectangle lies.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Number} [options.height=0.0] The distance in meters between the rectangle and the ellipsoid surface.
-         * @param {Number} [options.rotation=0.0] The rotation of the rectangle, in radians. A positive rotation is counter-clockwise.
-         * @param {Number} [options.extrudedHeight] The distance in meters between the rectangle's extruded face and the ellipsoid surface.
-         *
-         * @exception {DeveloperError} <code>options.rectangle.north</code> must be in the interval [<code>-Pi/2</code>, <code>Pi/2</code>].
-         * @exception {DeveloperError} <code>options.rectangle.south</code> must be in the interval [<code>-Pi/2</code>, <code>Pi/2</code>].
-         * @exception {DeveloperError} <code>options.rectangle.east</code> must be in the interval [<code>-Pi</code>, <code>Pi</code>].
-         * @exception {DeveloperError} <code>options.rectangle.west</code> must be in the interval [<code>-Pi</code>, <code>Pi</code>].
-         * @exception {DeveloperError} <code>options.rectangle.north</code> must be greater than <code>rectangle.south</code>.
-         *
-         * @see RectangleOutlineGeometry#createGeometry
-         *
-         * @example
-         * var rectangle = new Cesium.RectangleOutlineGeometry({
-         *   ellipsoid : Cesium.Ellipsoid.WGS84,
-         *   rectangle : Cesium.Rectangle.fromDegrees(-80.0, 39.0, -74.0, 42.0),
-         *   height : 10000.0
-         * });
-         * var geometry = Cesium.RectangleOutlineGeometry.createGeometry(rectangle);
-         */
-        function RectangleOutlineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var rectangle = options.rectangle;
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            var rotation = when.defaultValue(options.rotation, 0.0);
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(rectangle)) {
-                throw new Check.DeveloperError('rectangle is required.');
-            }
-            Cartesian2.Rectangle.validate(rectangle);
-            if (rectangle.north < rectangle.south) {
-                throw new Check.DeveloperError('options.rectangle.north must be greater than options.rectangle.south');
-            }
-            //>>includeEnd('debug');
-
-            var height = when.defaultValue(options.height, 0.0);
-            var extrudedHeight = when.defaultValue(options.extrudedHeight, height);
-
-            this._rectangle = Cartesian2.Rectangle.clone(rectangle);
-            this._granularity = granularity;
-            this._ellipsoid = ellipsoid;
-            this._surfaceHeight = Math.max(height, extrudedHeight);
-            this._rotation = rotation;
-            this._extrudedHeight = Math.min(height, extrudedHeight);
-            this._offsetAttribute = options.offsetAttribute;
-            this._workerName = 'createRectangleOutlineGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        RectangleOutlineGeometry.packedLength = Cartesian2.Rectangle.packedLength + Cartesian2.Ellipsoid.packedLength + 5;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {RectangleOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        RectangleOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            Cartesian2.Rectangle.pack(value._rectangle, array, startingIndex);
-            startingIndex += Cartesian2.Rectangle.packedLength;
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            array[startingIndex++] = value._granularity;
-            array[startingIndex++] = value._surfaceHeight;
-            array[startingIndex++] = value._rotation;
-            array[startingIndex++] = value._extrudedHeight;
-            array[startingIndex] = when.defaultValue(value._offsetAttribute, -1);
-
-            return array;
-        };
-
-        var scratchRectangle = new Cartesian2.Rectangle();
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchOptions = {
-            rectangle : scratchRectangle,
-            ellipsoid : scratchEllipsoid,
-            granularity : undefined,
-            height : undefined,
-            rotation : undefined,
-            extrudedHeight : undefined,
-            offsetAttribute : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {RectangleOutlineGeometry} [result] The object into which to store the result.
-         * @returns {RectangleOutlineGeometry} The modified result parameter or a new Quaternion instance if one was not provided.
-         */
-        RectangleOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var rectangle = Cartesian2.Rectangle.unpack(array, startingIndex, scratchRectangle);
-            startingIndex += Cartesian2.Rectangle.packedLength;
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var granularity = array[startingIndex++];
-            var height = array[startingIndex++];
-            var rotation = array[startingIndex++];
-            var extrudedHeight = array[startingIndex++];
-            var offsetAttribute = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.granularity = granularity;
-                scratchOptions.height = height;
-                scratchOptions.rotation = rotation;
-                scratchOptions.extrudedHeight = extrudedHeight;
-                scratchOptions.offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-                return new RectangleOutlineGeometry(scratchOptions);
-            }
-
-            result._rectangle = Cartesian2.Rectangle.clone(rectangle, result._rectangle);
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._surfaceHeight = height;
-            result._rotation = rotation;
-            result._extrudedHeight = extrudedHeight;
-            result._offsetAttribute = offsetAttribute === -1 ? undefined : offsetAttribute;
-
-            return result;
-        };
-
-        var nwScratch = new Cartesian2.Cartographic();
-        /**
-         * Computes the geometric representation of an outline of a rectangle, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {RectangleOutlineGeometry} rectangleGeometry A description of the rectangle outline.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         *
-         * @exception {DeveloperError} Rotated rectangle is invalid.
-         */
-        RectangleOutlineGeometry.createGeometry = function(rectangleGeometry) {
-            var rectangle = rectangleGeometry._rectangle;
-            var ellipsoid = rectangleGeometry._ellipsoid;
-            var computedOptions = RectangleGeometryLibrary.RectangleGeometryLibrary.computeOptions(rectangle, rectangleGeometry._granularity, rectangleGeometry._rotation, 0, rectangleScratch, nwScratch);
-
-            var geometry;
-            var boundingSphere;
-
-            if ((_Math.CesiumMath.equalsEpsilon(rectangle.north, rectangle.south, _Math.CesiumMath.EPSILON10) ||
-                 (_Math.CesiumMath.equalsEpsilon(rectangle.east, rectangle.west, _Math.CesiumMath.EPSILON10)))) {
-                return undefined;
-            }
-
-            var surfaceHeight = rectangleGeometry._surfaceHeight;
-            var extrudedHeight = rectangleGeometry._extrudedHeight;
-            var extrude = !_Math.CesiumMath.equalsEpsilon(surfaceHeight, extrudedHeight, 0, _Math.CesiumMath.EPSILON2);
-            var offsetValue;
-            if (extrude) {
-                geometry = constructExtrudedRectangle(rectangleGeometry, computedOptions);
-                if (when.defined(rectangleGeometry._offsetAttribute)) {
-                    var size = geometry.attributes.position.values.length / 3;
-                    var offsetAttribute = new Uint8Array(size);
-                    if (rectangleGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
-                        offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, 1, 0, size / 2);
-                    } else {
-                        offsetValue = rectangleGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                        offsetAttribute = GeometryOffsetAttribute.arrayFill(offsetAttribute, offsetValue);
-                    }
-
-                    geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                        componentsPerAttribute : 1,
-                        values : offsetAttribute
-                    });
-                }
-                var topBS = BoundingSphere.BoundingSphere.fromRectangle3D(rectangle, ellipsoid, surfaceHeight, topBoundingSphere);
-                var bottomBS = BoundingSphere.BoundingSphere.fromRectangle3D(rectangle, ellipsoid, extrudedHeight, bottomBoundingSphere);
-                boundingSphere = BoundingSphere.BoundingSphere.union(topBS, bottomBS);
-            } else {
-                geometry = constructRectangle(rectangleGeometry, computedOptions);
-                geometry.attributes.position.values = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(geometry.attributes.position.values, surfaceHeight, ellipsoid, false);
-
-                if (when.defined(rectangleGeometry._offsetAttribute)) {
-                    var length = geometry.attributes.position.values.length;
-                    var applyOffset = new Uint8Array(length / 3);
-                    offsetValue = rectangleGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE ? 0 : 1;
-                    GeometryOffsetAttribute.arrayFill(applyOffset, offsetValue);
-                    geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute({
-                        componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                        componentsPerAttribute : 1,
-                        values : applyOffset
-                    });
-                }
-
-                boundingSphere = BoundingSphere.BoundingSphere.fromRectangle3D(rectangle, ellipsoid, surfaceHeight);
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : geometry.attributes,
-                indices : geometry.indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES,
-                boundingSphere : boundingSphere,
-                offsetAttribute : rectangleGeometry._offsetAttribute
-            });
-        };
-
-    function createRectangleOutlineGeometry(rectangleGeometry, offset) {
-        if (when.defined(offset)) {
-            rectangleGeometry = RectangleOutlineGeometry.unpack(rectangleGeometry, offset);
-        }
-        rectangleGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(rectangleGeometry._ellipsoid);
-        rectangleGeometry._rectangle = Cartesian2.Rectangle.clone(rectangleGeometry._rectangle);
-        return RectangleOutlineGeometry.createGeometry(rectangleGeometry);
-    }
-
-    return createRectangleOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createSimplePolylineGeometry.js b/libs/supermap/Workers/createSimplePolylineGeometry.js
deleted file mode 100644
index 639153b..0000000
--- a/libs/supermap/Workers/createSimplePolylineGeometry.js
+++ /dev/null
@@ -1,442 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './ArcType-66bc286a', './EllipsoidRhumbLine-4e6b52b7', './EllipsoidGeodesic-15923280', './PolylinePipeline-3f99899a', './Color-69f1845f'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, IntersectionTests, Plane, ArcType, EllipsoidRhumbLine, EllipsoidGeodesic, PolylinePipeline, Color) { 'use strict';
-
-    function interpolateColors(p0, p1, color0, color1, minDistance, array, offset) {
-            var numPoints = PolylinePipeline.PolylinePipeline.numberOfPoints(p0, p1, minDistance);
-            var i;
-
-            var r0 = color0.red;
-            var g0 = color0.green;
-            var b0 = color0.blue;
-            var a0 = color0.alpha;
-
-            var r1 = color1.red;
-            var g1 = color1.green;
-            var b1 = color1.blue;
-            var a1 = color1.alpha;
-
-            if (Color.Color.equals(color0, color1)) {
-                for (i = 0; i < numPoints; i++) {
-                    array[offset++] = Color.Color.floatToByte(r0);
-                    array[offset++] = Color.Color.floatToByte(g0);
-                    array[offset++] = Color.Color.floatToByte(b0);
-                    array[offset++] = Color.Color.floatToByte(a0);
-                }
-                return offset;
-            }
-
-            var redPerVertex = (r1 - r0) / numPoints;
-            var greenPerVertex = (g1 - g0) / numPoints;
-            var bluePerVertex = (b1 - b0) / numPoints;
-            var alphaPerVertex = (a1 - a0) / numPoints;
-
-            var index = offset;
-            for (i = 0; i < numPoints; i++) {
-                array[index++] = Color.Color.floatToByte(r0 + i * redPerVertex);
-                array[index++] = Color.Color.floatToByte(g0 + i * greenPerVertex);
-                array[index++] = Color.Color.floatToByte(b0 + i * bluePerVertex);
-                array[index++] = Color.Color.floatToByte(a0 + i * alphaPerVertex);
-            }
-
-            return index;
-        }
-
-        /**
-         * A description of a polyline modeled as a line strip; the first two positions define a line segment,
-         * and each additional position defines a line segment from the previous position.
-         *
-         * @alias SimplePolylineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of {@link Cartesian3} defining the positions in the polyline as a line strip.
-         * @param {Color[]} [options.colors] An Array of {@link Color} defining the per vertex or per segment colors.
-         * @param {Boolean} [options.colorsPerVertex=false] A boolean that determines whether the colors will be flat across each segment of the line or interpolated across the vertices.
-         * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of line the polyline segments must follow.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude if options.arcType is not ArcType.NONE. Determines the number of positions in the buffer.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
-         *
-         * @exception {DeveloperError} At least two positions are required.
-         * @exception {DeveloperError} colors has an invalid length.
-         *
-         * @see SimplePolylineGeometry#createGeometry
-         *
-         * @example
-         * // A polyline with two connected line segments
-         * var polyline = new Cesium.SimplePolylineGeometry({
-         *   positions : Cesium.Cartesian3.fromDegreesArray([
-         *     0.0, 0.0,
-         *     5.0, 0.0,
-         *     5.0, 5.0
-         *   ])
-         * });
-         * var geometry = Cesium.SimplePolylineGeometry.createGeometry(polyline);
-         */
-        function SimplePolylineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var positions = options.positions;
-            var colors = options.colors;
-            var colorsPerVertex = when.defaultValue(options.colorsPerVertex, false);
-
-            //>>includeStart('debug', pragmas.debug);
-            if ((!when.defined(positions)) || (positions.length < 2)) {
-                throw new Check.DeveloperError('At least two positions are required.');
-            }
-            if (when.defined(colors) && ((colorsPerVertex && colors.length < positions.length) || (!colorsPerVertex && colors.length < positions.length - 1))) {
-                throw new Check.DeveloperError('colors has an invalid length.');
-            }
-            //>>includeEnd('debug');
-
-            this._positions = positions;
-            this._colors = colors;
-            this._colorsPerVertex = colorsPerVertex;
-
-            this._arcType = when.defaultValue(options.arcType, ArcType.ArcType.GEODESIC);
-            this._granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            this._ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-            this._workerName = 'createSimplePolylineGeometry';
-
-            var numComponents = 1 + positions.length * Cartesian2.Cartesian3.packedLength;
-            numComponents += when.defined(colors) ? 1 + colors.length * Color.Color.packedLength : 1;
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = numComponents + Cartesian2.Ellipsoid.packedLength + 3;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {SimplePolylineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        SimplePolylineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var positions = value._positions;
-            var length = positions.length;
-            array[startingIndex++] = length;
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                Cartesian2.Cartesian3.pack(positions[i], array, startingIndex);
-            }
-
-            var colors = value._colors;
-            length = when.defined(colors) ? colors.length : 0.0;
-            array[startingIndex++] = length;
-
-            for (i = 0; i < length; ++i, startingIndex += Color.Color.packedLength) {
-                Color.Color.pack(colors[i], array, startingIndex);
-            }
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            array[startingIndex++] = value._colorsPerVertex ? 1.0 : 0.0;
-            array[startingIndex++] = value._arcType;
-            array[startingIndex]   = value._granularity;
-
-            return array;
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {SimplePolylineGeometry} [result] The object into which to store the result.
-         * @returns {SimplePolylineGeometry} The modified result parameter or a new SimplePolylineGeometry instance if one was not provided.
-         */
-        SimplePolylineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var length = array[startingIndex++];
-            var positions = new Array(length);
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                positions[i] = Cartesian2.Cartesian3.unpack(array, startingIndex);
-            }
-
-            length = array[startingIndex++];
-            var colors = length > 0 ? new Array(length) : undefined;
-
-            for (i = 0; i < length; ++i, startingIndex += Color.Color.packedLength) {
-                colors[i] = Color.Color.unpack(array, startingIndex);
-            }
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var colorsPerVertex = array[startingIndex++] === 1.0;
-            var arcType = array[startingIndex++];
-            var granularity = array[startingIndex];
-
-            if (!when.defined(result)) {
-                return new SimplePolylineGeometry({
-                    positions : positions,
-                    colors : colors,
-                    ellipsoid : ellipsoid,
-                    colorsPerVertex : colorsPerVertex,
-                    arcType : arcType,
-                    granularity : granularity
-                });
-            }
-
-            result._positions = positions;
-            result._colors = colors;
-            result._ellipsoid = ellipsoid;
-            result._colorsPerVertex = colorsPerVertex;
-            result._arcType = arcType;
-            result._granularity = granularity;
-
-            return result;
-        };
-
-        var scratchArray1 = new Array(2);
-        var scratchArray2 = new Array(2);
-        var generateArcOptionsScratch = {
-            positions : scratchArray1,
-            height: scratchArray2,
-            ellipsoid: undefined,
-            minDistance : undefined,
-            granularity : undefined
-        };
-
-        /**
-         * Computes the geometric representation of a simple polyline, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {SimplePolylineGeometry} simplePolylineGeometry A description of the polyline.
-         * @returns {Geometry} The computed vertices and indices.
-         */
-        SimplePolylineGeometry.createGeometry = function(simplePolylineGeometry) {
-            var positions = simplePolylineGeometry._positions;
-            var colors = simplePolylineGeometry._colors;
-            var colorsPerVertex = simplePolylineGeometry._colorsPerVertex;
-            var arcType = simplePolylineGeometry._arcType;
-            var granularity = simplePolylineGeometry._granularity;
-            var ellipsoid = simplePolylineGeometry._ellipsoid;
-
-            var minDistance = _Math.CesiumMath.chordLength(granularity, ellipsoid.maximumRadius);
-            var perSegmentColors = when.defined(colors) && !colorsPerVertex;
-
-            var i;
-            var length = positions.length;
-
-            var positionValues;
-            var numberOfPositions;
-            var colorValues;
-            var color;
-            var offset = 0;
-
-            if (arcType === ArcType.ArcType.GEODESIC || arcType === ArcType.ArcType.RHUMB) {
-                var subdivisionSize;
-                var numberOfPointsFunction;
-                var generateArcFunction;
-                if (arcType === ArcType.ArcType.GEODESIC) {
-                    subdivisionSize = _Math.CesiumMath.chordLength(granularity, ellipsoid.maximumRadius);
-                    numberOfPointsFunction = PolylinePipeline.PolylinePipeline.numberOfPoints;
-                    generateArcFunction = PolylinePipeline.PolylinePipeline.generateArc;
-                } else {
-                    subdivisionSize = granularity;
-                    numberOfPointsFunction = PolylinePipeline.PolylinePipeline.numberOfPointsRhumbLine;
-                    generateArcFunction = PolylinePipeline.PolylinePipeline.generateRhumbArc;
-                }
-
-                var heights = PolylinePipeline.PolylinePipeline.extractHeights(positions, ellipsoid);
-
-                var generateArcOptions = generateArcOptionsScratch;
-                if (arcType === ArcType.ArcType.GEODESIC) {
-                    generateArcOptions.minDistance = minDistance;
-                } else {
-                    generateArcOptions.granularity = granularity;
-                }
-                generateArcOptions.ellipsoid = ellipsoid;
-
-                if (perSegmentColors) {
-                    var positionCount = 0;
-                    for (i = 0; i < length - 1; i++) {
-                        positionCount += numberOfPointsFunction(positions[i], positions[i+1], subdivisionSize) + 1;
-                    }
-
-                    positionValues = new Float64Array(positionCount * 3);
-                    colorValues = new Uint8Array(positionCount * 4);
-
-                    generateArcOptions.positions = scratchArray1;
-                    generateArcOptions.height= scratchArray2;
-
-                    var ci = 0;
-                    for (i = 0; i < length - 1; ++i) {
-                        scratchArray1[0] = positions[i];
-                        scratchArray1[1] = positions[i + 1];
-
-                        scratchArray2[0] = heights[i];
-                        scratchArray2[1] = heights[i + 1];
-
-                        var pos = generateArcFunction(generateArcOptions);
-
-                        if (when.defined(colors)) {
-                            var segLen = pos.length / 3;
-                            color = colors[i];
-                            for(var k = 0; k < segLen; ++k) {
-                                colorValues[ci++] = Color.Color.floatToByte(color.red);
-                                colorValues[ci++] = Color.Color.floatToByte(color.green);
-                                colorValues[ci++] = Color.Color.floatToByte(color.blue);
-                                colorValues[ci++] = Color.Color.floatToByte(color.alpha);
-                            }
-                        }
-
-                        positionValues.set(pos, offset);
-                        offset += pos.length;
-                    }
-                } else {
-                    generateArcOptions.positions = positions;
-                    generateArcOptions.height= heights;
-                    positionValues = new Float64Array(generateArcFunction(generateArcOptions));
-
-                    if (when.defined(colors)) {
-                        colorValues = new Uint8Array(positionValues.length / 3 * 4);
-
-                        for (i = 0; i < length - 1; ++i) {
-                            var p0 = positions[i];
-                            var p1 = positions[i + 1];
-                            var c0 = colors[i];
-                            var c1 = colors[i + 1];
-                            offset = interpolateColors(p0, p1, c0, c1, minDistance, colorValues, offset);
-                        }
-
-                        var lastColor = colors[length - 1];
-                        colorValues[offset++] = Color.Color.floatToByte(lastColor.red);
-                        colorValues[offset++] = Color.Color.floatToByte(lastColor.green);
-                        colorValues[offset++] = Color.Color.floatToByte(lastColor.blue);
-                        colorValues[offset++] = Color.Color.floatToByte(lastColor.alpha);
-                    }
-                }
-            } else {
-                numberOfPositions = perSegmentColors ? length * 2 - 2 : length;
-                positionValues = new Float64Array(numberOfPositions * 3);
-                colorValues = when.defined(colors) ? new Uint8Array(numberOfPositions * 4) : undefined;
-
-                var positionIndex = 0;
-                var colorIndex = 0;
-
-                for (i = 0; i < length; ++i) {
-                    var p = positions[i];
-
-                    if (perSegmentColors && i > 0) {
-                        Cartesian2.Cartesian3.pack(p, positionValues, positionIndex);
-                        positionIndex += 3;
-
-                        color = colors[i - 1];
-                        colorValues[colorIndex++] = Color.Color.floatToByte(color.red);
-                        colorValues[colorIndex++] = Color.Color.floatToByte(color.green);
-                        colorValues[colorIndex++] = Color.Color.floatToByte(color.blue);
-                        colorValues[colorIndex++] = Color.Color.floatToByte(color.alpha);
-                    }
-
-                    if (perSegmentColors && i === length - 1) {
-                        break;
-                    }
-
-                    Cartesian2.Cartesian3.pack(p, positionValues, positionIndex);
-                    positionIndex += 3;
-
-                    if (when.defined(colors)) {
-                        color = colors[i];
-                        colorValues[colorIndex++] = Color.Color.floatToByte(color.red);
-                        colorValues[colorIndex++] = Color.Color.floatToByte(color.green);
-                        colorValues[colorIndex++] = Color.Color.floatToByte(color.blue);
-                        colorValues[colorIndex++] = Color.Color.floatToByte(color.alpha);
-                    }
-                }
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-            attributes.position = new GeometryAttribute.GeometryAttribute({
-                componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                componentsPerAttribute : 3,
-                values : positionValues
-            });
-
-            if (when.defined(colors)) {
-                attributes.color = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
-                    componentsPerAttribute : 4,
-                    values : colorValues,
-                    normalize : true
-                });
-            }
-
-            numberOfPositions = positionValues.length / 3;
-            var numberOfIndices = (numberOfPositions - 1) * 2;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(numberOfPositions, numberOfIndices);
-
-            var index = 0;
-            for (i = 0; i < numberOfPositions - 1; ++i) {
-                indices[index++] = i;
-                indices[index++] = i + 1;
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES,
-                boundingSphere : BoundingSphere.BoundingSphere.fromPoints(positions)
-            });
-        };
-
-    function createSimplePolylineGeometry(simplePolylineGeometry, offset) {
-        if (when.defined(offset)) {
-            simplePolylineGeometry = SimplePolylineGeometry.unpack(simplePolylineGeometry, offset);
-        }
-        simplePolylineGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(simplePolylineGeometry._ellipsoid);
-        return SimplePolylineGeometry.createGeometry(simplePolylineGeometry);
-    }
-
-    return createSimplePolylineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createSphereGeometry.js b/libs/supermap/Workers/createSphereGeometry.js
deleted file mode 100644
index 103ab14..0000000
--- a/libs/supermap/Workers/createSphereGeometry.js
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './EllipsoidGeometry-b789d05a'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, VertexFormat, EllipsoidGeometry) { 'use strict';
-
-    /**
-         * A description of a sphere centered at the origin.
-         *
-         * @alias SphereGeometry
-         * @constructor
-         *
-         * @param {Object} [options] Object with the following properties:
-         * @param {Number} [options.radius=1.0] The radius of the sphere.
-         * @param {Number} [options.stackPartitions=64] The number of times to partition the ellipsoid into stacks.
-         * @param {Number} [options.slicePartitions=64] The number of times to partition the ellipsoid into radial slices.
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         *
-         * @exception {DeveloperError} options.slicePartitions cannot be less than three.
-         * @exception {DeveloperError} options.stackPartitions cannot be less than three.
-         *
-         * @see SphereGeometry#createGeometry
-         *
-         * @example
-         * var sphere = new Cesium.SphereGeometry({
-         *   radius : 100.0,
-         *   vertexFormat : Cesium.VertexFormat.POSITION_ONLY
-         * });
-         * var geometry = Cesium.SphereGeometry.createGeometry(sphere);
-         */
-        function SphereGeometry(options) {
-            var radius = when.defaultValue(options.radius, 1.0);
-            var radii = new Cartesian2.Cartesian3(radius, radius, radius);
-            var ellipsoidOptions = {
-                    radii: radii,
-                    stackPartitions: options.stackPartitions,
-                    slicePartitions: options.slicePartitions,
-                    vertexFormat: options.vertexFormat
-            };
-
-            this._ellipsoidGeometry = new EllipsoidGeometry.EllipsoidGeometry(ellipsoidOptions);
-            this._workerName = 'createSphereGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        SphereGeometry.packedLength = EllipsoidGeometry.EllipsoidGeometry.packedLength;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {SphereGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        SphereGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            //>>includeEnd('debug');
-
-            return EllipsoidGeometry.EllipsoidGeometry.pack(value._ellipsoidGeometry, array, startingIndex);
-        };
-
-        var scratchEllipsoidGeometry = new EllipsoidGeometry.EllipsoidGeometry();
-        var scratchOptions = {
-            radius : undefined,
-            radii : new Cartesian2.Cartesian3(),
-            vertexFormat : new VertexFormat.VertexFormat(),
-            stackPartitions : undefined,
-            slicePartitions : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {SphereGeometry} [result] The object into which to store the result.
-         * @returns {SphereGeometry} The modified result parameter or a new SphereGeometry instance if one was not provided.
-         */
-        SphereGeometry.unpack = function(array, startingIndex, result) {
-            var ellipsoidGeometry = EllipsoidGeometry.EllipsoidGeometry.unpack(array, startingIndex, scratchEllipsoidGeometry);
-            scratchOptions.vertexFormat = VertexFormat.VertexFormat.clone(ellipsoidGeometry._vertexFormat, scratchOptions.vertexFormat);
-            scratchOptions.stackPartitions = ellipsoidGeometry._stackPartitions;
-            scratchOptions.slicePartitions = ellipsoidGeometry._slicePartitions;
-
-            if (!when.defined(result)) {
-                scratchOptions.radius = ellipsoidGeometry._radii.x;
-                return new SphereGeometry(scratchOptions);
-            }
-
-            Cartesian2.Cartesian3.clone(ellipsoidGeometry._radii, scratchOptions.radii);
-            result._ellipsoidGeometry = new EllipsoidGeometry.EllipsoidGeometry(scratchOptions);
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of a sphere, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {SphereGeometry} sphereGeometry A description of the sphere.
-         * @returns {Geometry} The computed vertices and indices.
-         */
-        SphereGeometry.createGeometry = function(sphereGeometry) {
-            return EllipsoidGeometry.EllipsoidGeometry.createGeometry(sphereGeometry._ellipsoidGeometry);
-        };
-
-    function createSphereGeometry(sphereGeometry, offset) {
-        if (when.defined(offset)) {
-            sphereGeometry = SphereGeometry.unpack(sphereGeometry, offset);
-        }
-        return SphereGeometry.createGeometry(sphereGeometry);
-    }
-
-    return createSphereGeometry;
-
-});
diff --git a/libs/supermap/Workers/createSphereOutlineGeometry.js b/libs/supermap/Workers/createSphereOutlineGeometry.js
deleted file mode 100644
index 7c72bb4..0000000
--- a/libs/supermap/Workers/createSphereOutlineGeometry.js
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './GeometryOffsetAttribute-ca302482', './EllipsoidOutlineGeometry-696ac0ac'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, GeometryOffsetAttribute, EllipsoidOutlineGeometry) { 'use strict';
-
-    /**
-         * A description of the outline of a sphere.
-         *
-         * @alias SphereOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} [options] Object with the following properties:
-         * @param {Number} [options.radius=1.0] The radius of the sphere.
-         * @param {Number} [options.stackPartitions=10] The count of stacks for the sphere (1 greater than the number of parallel lines).
-         * @param {Number} [options.slicePartitions=8] The count of slices for the sphere (Equal to the number of radial lines).
-         * @param {Number} [options.subdivisions=200] The number of points per line, determining the granularity of the curvature .
-         *
-         * @exception {DeveloperError} options.stackPartitions must be greater than or equal to one.
-         * @exception {DeveloperError} options.slicePartitions must be greater than or equal to zero.
-         * @exception {DeveloperError} options.subdivisions must be greater than or equal to zero.
-         *
-         * @example
-         * var sphere = new Cesium.SphereOutlineGeometry({
-         *   radius : 100.0,
-         *   stackPartitions : 6,
-         *   slicePartitions: 5
-         * });
-         * var geometry = Cesium.SphereOutlineGeometry.createGeometry(sphere);
-         */
-        function SphereOutlineGeometry(options) {
-            var radius = when.defaultValue(options.radius, 1.0);
-            var radii = new Cartesian2.Cartesian3(radius, radius, radius);
-            var ellipsoidOptions = {
-                    radii: radii,
-                    stackPartitions: options.stackPartitions,
-                    slicePartitions: options.slicePartitions,
-                    subdivisions: options.subdivisions
-            };
-
-            this._ellipsoidGeometry = new EllipsoidOutlineGeometry.EllipsoidOutlineGeometry(ellipsoidOptions);
-            this._workerName = 'createSphereOutlineGeometry';
-        }
-
-        /**
-         * The number of elements used to pack the object into an array.
-         * @type {Number}
-         */
-        SphereOutlineGeometry.packedLength = EllipsoidOutlineGeometry.EllipsoidOutlineGeometry.packedLength;
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {SphereOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        SphereOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('value', value);
-            //>>includeEnd('debug');
-
-            return EllipsoidOutlineGeometry.EllipsoidOutlineGeometry.pack(value._ellipsoidGeometry, array, startingIndex);
-        };
-
-        var scratchEllipsoidGeometry = new EllipsoidOutlineGeometry.EllipsoidOutlineGeometry();
-        var scratchOptions = {
-            radius : undefined,
-            radii : new Cartesian2.Cartesian3(),
-            stackPartitions : undefined,
-            slicePartitions : undefined,
-            subdivisions : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {SphereOutlineGeometry} [result] The object into which to store the result.
-         * @returns {SphereOutlineGeometry} The modified result parameter or a new SphereOutlineGeometry instance if one was not provided.
-         */
-        SphereOutlineGeometry.unpack = function(array, startingIndex, result) {
-            var ellipsoidGeometry = EllipsoidOutlineGeometry.EllipsoidOutlineGeometry.unpack(array, startingIndex, scratchEllipsoidGeometry);
-            scratchOptions.stackPartitions = ellipsoidGeometry._stackPartitions;
-            scratchOptions.slicePartitions = ellipsoidGeometry._slicePartitions;
-            scratchOptions.subdivisions = ellipsoidGeometry._subdivisions;
-
-            if (!when.defined(result)) {
-                scratchOptions.radius = ellipsoidGeometry._radii.x;
-                return new SphereOutlineGeometry(scratchOptions);
-            }
-
-            Cartesian2.Cartesian3.clone(ellipsoidGeometry._radii, scratchOptions.radii);
-            result._ellipsoidGeometry = new EllipsoidOutlineGeometry.EllipsoidOutlineGeometry(scratchOptions);
-            return result;
-        };
-
-        /**
-         * Computes the geometric representation of an outline of a sphere, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {SphereOutlineGeometry} sphereGeometry A description of the sphere outline.
-         * @returns {Geometry} The computed vertices and indices.
-         */
-        SphereOutlineGeometry.createGeometry = function(sphereGeometry) {
-            return EllipsoidOutlineGeometry.EllipsoidOutlineGeometry.createGeometry(sphereGeometry._ellipsoidGeometry);
-        };
-
-    function createSphereOutlineGeometry(sphereGeometry, offset) {
-        if (when.defined(offset)) {
-            sphereGeometry = SphereOutlineGeometry.unpack(sphereGeometry, offset);
-        }
-        return SphereOutlineGeometry.createGeometry(sphereGeometry);
-    }
-
-    return createSphereOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/createTaskProcessorWorker.js b/libs/supermap/Workers/createTaskProcessorWorker.js
deleted file mode 100644
index dac54c0..0000000
--- a/libs/supermap/Workers/createTaskProcessorWorker.js
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60'], function (when) { 'use strict';
-
-    /**
-         * Formats an error object into a String.  If available, uses name, message, and stack
-         * properties, otherwise, falls back on toString().
-         *
-         * @exports formatError
-         *
-         * @param {*} object The item to find in the array.
-         * @returns {String} A string containing the formatted error.
-         */
-        function formatError(object) {
-            var result;
-
-            var name = object.name;
-            var message = object.message;
-            if (when.defined(name) && when.defined(message)) {
-                result = name + ': ' + message;
-            } else {
-                result = object.toString();
-            }
-
-            var stack = object.stack;
-            if (when.defined(stack)) {
-                result += '\n' + stack;
-            }
-
-            return result;
-        }
-
-    // createXXXGeometry functions may return Geometry or a Promise that resolves to Geometry
-        // if the function requires access to ApproximateTerrainHeights.
-        // For fully synchronous functions, just wrapping the function call in a `when` Promise doesn't
-        // handle errors correctly, hence try-catch
-        function callAndWrap(workerFunction, parameters, transferableObjects) {
-            var resultOrPromise;
-            try {
-                resultOrPromise = workerFunction(parameters, transferableObjects);
-                return resultOrPromise; // errors handled by Promise
-            } catch (e) {
-                return when.when.reject(e);
-            }
-        }
-
-        /**
-         * Creates an adapter function to allow a calculation function to operate as a Web Worker,
-         * paired with TaskProcessor, to receive tasks and return results.
-         *
-         * @exports createTaskProcessorWorker
-         *
-         * @param {createTaskProcessorWorker~WorkerFunction} workerFunction The calculation function,
-         *        which takes parameters and returns a result.
-         * @returns {createTaskProcessorWorker~TaskProcessorWorkerFunction} A function that adapts the
-         *          calculation function to work as a Web Worker onmessage listener with TaskProcessor.
-         *
-         *
-         * @example
-         * function doCalculation(parameters, transferableObjects) {
-         *   // calculate some result using the inputs in parameters
-         *   return result;
-         * }
-         *
-         * return Cesium.createTaskProcessorWorker(doCalculation);
-         * // the resulting function is compatible with TaskProcessor
-         *
-         * @see TaskProcessor
-         * @see {@link http://www.w3.org/TR/workers/|Web Workers}
-         * @see {@link http://www.w3.org/TR/html5/common-dom-interfaces.html#transferable-objects|Transferable objects}
-         */
-        function createTaskProcessorWorker(workerFunction) {
-            var postMessage;
-
-            return function(event) {
-                var data = event.data;
-
-                var transferableObjects = [];
-                var responseMessage = {
-                    id : data.id,
-                    result : undefined,
-                    error : undefined
-                };
-
-                return when.when(callAndWrap(workerFunction, data.parameters, transferableObjects))
-                    .then(function(result) {
-                        responseMessage.result = result;
-                    })
-                    .otherwise(function(e) {
-                        if (e instanceof Error) {
-                            // Errors can't be posted in a message, copy the properties
-                            responseMessage.error = {
-                                name : e.name,
-                                message : e.message,
-                                stack : e.stack
-                            };
-                        } else {
-                            responseMessage.error = e;
-                        }
-                    })
-                    .always(function() {
-                        if (!when.defined(postMessage)) {
-                            postMessage = when.defaultValue(self.webkitPostMessage, self.postMessage);
-                        }
-
-                        if (!data.canTransferArrayBuffer) {
-                            transferableObjects.length = 0;
-                        }
-
-                        try {
-                            postMessage(responseMessage, transferableObjects);
-                        } catch (e) {
-                            // something went wrong trying to post the message, post a simpler
-                            // error that we can be sure will be cloneable
-                            responseMessage.result = undefined;
-                            responseMessage.error = 'postMessage failed with error: ' + formatError(e) + '\n  with responseMessage: ' + JSON.stringify(responseMessage);
-                            postMessage(responseMessage);
-                        }
-                    });
-            };
-        }
-
-    return createTaskProcessorWorker;
-
-});
diff --git a/libs/supermap/Workers/createVectorTileGeometries.js b/libs/supermap/Workers/createVectorTileGeometries.js
deleted file mode 100644
index 55c6ca6..0000000
--- a/libs/supermap/Workers/createVectorTileGeometries.js
+++ /dev/null
@@ -1,364 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './createTaskProcessorWorker', './GeometryOffsetAttribute-ca302482', './VertexFormat-fe4db402', './BoxGeometry-813ff9be', './CylinderGeometryLibrary-8c0fda9f', './CylinderGeometry-e7307876', './EllipsoidGeometry-b789d05a', './Color-69f1845f'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, createTaskProcessorWorker, GeometryOffsetAttribute, VertexFormat, BoxGeometry, CylinderGeometryLibrary, CylinderGeometry, EllipsoidGeometry, Color) { 'use strict';
-
-    /**
-     * Describes a renderable batch of geometry.
-     *
-     * @alias Vector3DTileBatch
-     * @constructor
-     *
-     * @param {Object} options An object with the following properties:
-     * @param {Number} options.offset The offset of the batch into the indices buffer.
-     * @param {Number} options.count The number of indices in the batch.
-     * @param {Color} options.color The color of the geometry in the batch.
-     * @param {Number[]} options.batchIds An array where each element is the batch id of the geometry in the batch.
-     *
-     * @private
-     */
-    function Vector3DTileBatch(options) {
-        /**
-         * The offset of the batch into the indices buffer.
-         * @type {Number}
-         */
-        this.offset = options.offset;
-        /**
-         * The number of indices in the batch.
-         * @type {Number}
-         */
-        this.count = options.count;
-        /**
-         * The color of the geometry in the batch.
-         * @type {Color}
-         */
-        this.color = options.color;
-        /**
-         * An array where each element is the batch id of the geometry in the batch.
-         * @type {Number[]}
-         */
-        this.batchIds = options.batchIds;
-    }
-
-    var scratchCartesian = new Cartesian2.Cartesian3();
-
-    var packedBoxLength = BoundingSphere.Matrix4.packedLength + Cartesian2.Cartesian3.packedLength;
-    var packedCylinderLength = BoundingSphere.Matrix4.packedLength + 2;
-    var packedEllipsoidLength = BoundingSphere.Matrix4.packedLength + Cartesian2.Cartesian3.packedLength;
-    var packedSphereLength = Cartesian2.Cartesian3.packedLength + 1;
-
-    var scratchModelMatrixAndBV = {
-        modelMatrix : new BoundingSphere.Matrix4(),
-        boundingVolume : new BoundingSphere.BoundingSphere()
-    };
-
-    function boxModelMatrixAndBoundingVolume(boxes, index) {
-        var boxIndex  = index * packedBoxLength;
-
-        var dimensions = Cartesian2.Cartesian3.unpack(boxes, boxIndex, scratchCartesian);
-        boxIndex += Cartesian2.Cartesian3.packedLength;
-
-        var boxModelMatrix = BoundingSphere.Matrix4.unpack(boxes, boxIndex, scratchModelMatrixAndBV.modelMatrix);
-        BoundingSphere.Matrix4.multiplyByScale(boxModelMatrix, dimensions, boxModelMatrix);
-
-        var boundingVolume = scratchModelMatrixAndBV.boundingVolume;
-        Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, boundingVolume.center);
-        boundingVolume.radius = Math.sqrt(3.0);
-
-        return scratchModelMatrixAndBV;
-    }
-
-    function cylinderModelMatrixAndBoundingVolume(cylinders, index) {
-        var cylinderIndex = index * packedCylinderLength;
-
-        var cylinderRadius = cylinders[cylinderIndex++];
-        var length = cylinders[cylinderIndex++];
-        var scale = Cartesian2.Cartesian3.fromElements(cylinderRadius, cylinderRadius, length, scratchCartesian);
-
-        var cylinderModelMatrix = BoundingSphere.Matrix4.unpack(cylinders, cylinderIndex, scratchModelMatrixAndBV.modelMatrix);
-        BoundingSphere.Matrix4.multiplyByScale(cylinderModelMatrix, scale, cylinderModelMatrix);
-
-        var boundingVolume = scratchModelMatrixAndBV.boundingVolume;
-        Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, boundingVolume.center);
-        boundingVolume.radius = Math.sqrt(2.0);
-
-        return scratchModelMatrixAndBV;
-    }
-
-    function ellipsoidModelMatrixAndBoundingVolume(ellipsoids, index) {
-        var ellipsoidIndex = index * packedEllipsoidLength;
-
-        var radii = Cartesian2.Cartesian3.unpack(ellipsoids, ellipsoidIndex, scratchCartesian);
-        ellipsoidIndex += Cartesian2.Cartesian3.packedLength;
-
-        var ellipsoidModelMatrix = BoundingSphere.Matrix4.unpack(ellipsoids, ellipsoidIndex, scratchModelMatrixAndBV.modelMatrix);
-        BoundingSphere.Matrix4.multiplyByScale(ellipsoidModelMatrix, radii, ellipsoidModelMatrix);
-
-        var boundingVolume = scratchModelMatrixAndBV.boundingVolume;
-        Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, boundingVolume.center);
-        boundingVolume.radius = 1.0;
-
-        return scratchModelMatrixAndBV;
-    }
-
-    function sphereModelMatrixAndBoundingVolume(spheres, index) {
-        var sphereIndex = index * packedSphereLength;
-
-        var sphereRadius = spheres[sphereIndex++];
-
-        var sphereTranslation = Cartesian2.Cartesian3.unpack(spheres, sphereIndex, scratchCartesian);
-        var sphereModelMatrix = BoundingSphere.Matrix4.fromTranslation(sphereTranslation, scratchModelMatrixAndBV.modelMatrix);
-        BoundingSphere.Matrix4.multiplyByUniformScale(sphereModelMatrix, sphereRadius, sphereModelMatrix);
-
-        var boundingVolume = scratchModelMatrixAndBV.boundingVolume;
-        Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, boundingVolume.center);
-        boundingVolume.radius = 1.0;
-
-        return scratchModelMatrixAndBV;
-    }
-
-    var scratchPosition = new Cartesian2.Cartesian3();
-
-    function createPrimitive(options, primitive, primitiveBatchIds, geometry, getModelMatrixAndBoundingVolume) {
-        if (!when.defined(primitive)) {
-            return;
-        }
-
-        var numberOfPrimitives = primitiveBatchIds.length;
-        var geometryPositions = geometry.attributes.position.values;
-        var geometryIndices = geometry.indices;
-
-        var positions = options.positions;
-        var vertexBatchIds = options.vertexBatchIds;
-        var indices = options.indices;
-
-        var batchIds = options.batchIds;
-        var batchTableColors = options.batchTableColors;
-        var batchedIndices = options.batchedIndices;
-        var indexOffsets = options.indexOffsets;
-        var indexCounts = options.indexCounts;
-        var boundingVolumes = options.boundingVolumes;
-
-        var modelMatrix = options.modelMatrix;
-        var center = options.center;
-
-        var positionOffset = options.positionOffset;
-        var batchIdIndex = options.batchIdIndex;
-        var indexOffset = options.indexOffset;
-        var batchedIndicesOffset = options.batchedIndicesOffset;
-
-        for (var i = 0; i < numberOfPrimitives; ++i) {
-            var primitiveModelMatrixAndBV = getModelMatrixAndBoundingVolume(primitive, i);
-            var primitiveModelMatrix = primitiveModelMatrixAndBV.modelMatrix;
-            BoundingSphere.Matrix4.multiply(modelMatrix, primitiveModelMatrix, primitiveModelMatrix);
-
-            var batchId = primitiveBatchIds[i];
-
-            var positionsLength = geometryPositions.length;
-            for (var j = 0; j < positionsLength; j += 3) {
-                var position = Cartesian2.Cartesian3.unpack(geometryPositions, j, scratchPosition);
-                BoundingSphere.Matrix4.multiplyByPoint(primitiveModelMatrix, position, position);
-                Cartesian2.Cartesian3.subtract(position, center, position);
-
-                Cartesian2.Cartesian3.pack(position, positions, positionOffset * 3 + j);
-                vertexBatchIds[batchIdIndex++] = batchId;
-            }
-
-            var indicesLength = geometryIndices.length;
-            for (var k = 0; k < indicesLength; ++k) {
-                indices[indexOffset + k] = geometryIndices[k] + positionOffset;
-            }
-
-            var offset = i + batchedIndicesOffset;
-            batchedIndices[offset] = new Vector3DTileBatch({
-                offset : indexOffset,
-                count : indicesLength,
-                color : Color.Color.fromRgba(batchTableColors[batchId]),
-                batchIds : [batchId]
-            });
-            batchIds[offset] = batchId;
-            indexOffsets[offset] = indexOffset;
-            indexCounts[offset] = indicesLength;
-            boundingVolumes[offset] = BoundingSphere.BoundingSphere.transform(primitiveModelMatrixAndBV.boundingVolume, primitiveModelMatrix);
-
-            positionOffset += positionsLength / 3;
-            indexOffset += indicesLength;
-        }
-
-        options.positionOffset = positionOffset;
-        options.batchIdIndex = batchIdIndex;
-        options.indexOffset = indexOffset;
-        options.batchedIndicesOffset += numberOfPrimitives;
-    }
-
-    var scratchCenter = new Cartesian2.Cartesian3();
-    var scratchMatrix4 = new BoundingSphere.Matrix4();
-
-    function unpackBuffer(buffer) {
-        var packedBuffer = new Float64Array(buffer);
-
-        var offset = 0;
-        Cartesian2.Cartesian3.unpack(packedBuffer, offset, scratchCenter);
-        offset += Cartesian2.Cartesian3.packedLength;
-
-        BoundingSphere.Matrix4.unpack(packedBuffer, offset, scratchMatrix4);
-    }
-
-    function packedBatchedIndicesLength(batchedIndices) {
-        var length = batchedIndices.length;
-        var count = 0;
-        for (var i = 0; i < length; ++i) {
-            count += Color.Color.packedLength + 3 + batchedIndices[i].batchIds.length;
-        }
-        return count;
-    }
-
-    function packBuffer(indicesBytesPerElement, batchedIndices, boundingVolumes) {
-        var numBVs = boundingVolumes.length;
-        var length = 1 + 1 + numBVs * BoundingSphere.BoundingSphere.packedLength + 1 + packedBatchedIndicesLength(batchedIndices);
-
-        var packedBuffer = new Float64Array(length);
-
-        var offset = 0;
-        packedBuffer[offset++] = indicesBytesPerElement;
-        packedBuffer[offset++] = numBVs;
-
-        for (var i = 0; i < numBVs; ++i) {
-            BoundingSphere.BoundingSphere.pack(boundingVolumes[i], packedBuffer, offset);
-            offset += BoundingSphere.BoundingSphere.packedLength;
-        }
-
-        var indicesLength = batchedIndices.length;
-        packedBuffer[offset++] = indicesLength;
-
-        for (var j = 0; j < indicesLength; ++j) {
-            var batchedIndex = batchedIndices[j];
-
-            Color.Color.pack(batchedIndex.color, packedBuffer, offset);
-            offset += Color.Color.packedLength;
-
-            packedBuffer[offset++] = batchedIndex.offset;
-            packedBuffer[offset++] = batchedIndex.count;
-
-            var batchIds = batchedIndex.batchIds;
-            var batchIdsLength = batchIds.length;
-            packedBuffer[offset++] = batchIdsLength;
-
-            for (var k = 0; k < batchIdsLength; ++k) {
-                packedBuffer[offset++] = batchIds[k];
-            }
-        }
-
-        return packedBuffer;
-    }
-
-    function createVectorTileGeometries(parameters, transferableObjects) {
-        var boxes = when.defined(parameters.boxes) ? new Float32Array(parameters.boxes) : undefined;
-        var boxBatchIds = when.defined(parameters.boxBatchIds) ? new Uint16Array(parameters.boxBatchIds) : undefined;
-        var cylinders =  when.defined(parameters.cylinders) ? new Float32Array(parameters.cylinders) : undefined;
-        var cylinderBatchIds = when.defined(parameters.cylinderBatchIds) ? new Uint16Array(parameters.cylinderBatchIds) : undefined;
-        var ellipsoids =  when.defined(parameters.ellipsoids) ? new Float32Array(parameters.ellipsoids) : undefined;
-        var ellipsoidBatchIds = when.defined(parameters.ellipsoidBatchIds) ? new Uint16Array(parameters.ellipsoidBatchIds) : undefined;
-        var spheres = when.defined(parameters.spheres) ?  new Float32Array(parameters.spheres) : undefined;
-        var sphereBatchIds = when.defined(parameters.sphereBatchIds) ? new Uint16Array(parameters.sphereBatchIds) : undefined;
-
-        var numberOfBoxes = when.defined(boxes) ? boxBatchIds.length : 0;
-        var numberOfCylinders = when.defined(cylinders) ? cylinderBatchIds.length : 0;
-        var numberOfEllipsoids = when.defined(ellipsoids) ? ellipsoidBatchIds.length : 0;
-        var numberOfSpheres = when.defined(spheres) ? sphereBatchIds.length : 0;
-
-        var boxGeometry = BoxGeometry.BoxGeometry.getUnitBox();
-        var cylinderGeometry = CylinderGeometry.CylinderGeometry.getUnitCylinder();
-        var ellipsoidGeometry = EllipsoidGeometry.EllipsoidGeometry.getUnitEllipsoid();
-
-        var boxPositions = boxGeometry.attributes.position.values;
-        var cylinderPositions = cylinderGeometry.attributes.position.values;
-        var ellipsoidPositions = ellipsoidGeometry.attributes.position.values;
-
-        var numberOfPositions = boxPositions.length * numberOfBoxes;
-        numberOfPositions += cylinderPositions.length * numberOfCylinders;
-        numberOfPositions += ellipsoidPositions.length * (numberOfEllipsoids + numberOfSpheres);
-
-        var boxIndices = boxGeometry.indices;
-        var cylinderIndices = cylinderGeometry.indices;
-        var ellipsoidIndices = ellipsoidGeometry.indices;
-
-        var numberOfIndices = boxIndices.length * numberOfBoxes;
-        numberOfIndices += cylinderIndices.length * numberOfCylinders;
-        numberOfIndices += ellipsoidIndices.length * (numberOfEllipsoids + numberOfSpheres);
-
-        var positions = new Float32Array(numberOfPositions);
-        var vertexBatchIds = new Uint16Array(numberOfPositions / 3);
-        var indices = IndexDatatype.IndexDatatype.createTypedArray(numberOfPositions / 3, numberOfIndices);
-
-        var numberOfGeometries = numberOfBoxes + numberOfCylinders + numberOfEllipsoids + numberOfSpheres;
-        var batchIds = new Uint16Array(numberOfGeometries);
-        var batchedIndices = new Array(numberOfGeometries);
-        var indexOffsets = new Uint32Array(numberOfGeometries);
-        var indexCounts = new Uint32Array(numberOfGeometries);
-        var boundingVolumes = new Array(numberOfGeometries);
-
-        unpackBuffer(parameters.packedBuffer);
-
-        var options = {
-            batchTableColors : new Uint32Array(parameters.batchTableColors),
-            positions : positions,
-            vertexBatchIds : vertexBatchIds,
-            indices : indices,
-            batchIds : batchIds,
-            batchedIndices : batchedIndices,
-            indexOffsets : indexOffsets,
-            indexCounts : indexCounts,
-            boundingVolumes : boundingVolumes,
-            positionOffset : 0,
-            batchIdIndex : 0,
-            indexOffset : 0,
-            batchedIndicesOffset : 0,
-            modelMatrix : scratchMatrix4,
-            center : scratchCenter
-        };
-
-        createPrimitive(options, boxes, boxBatchIds, boxGeometry, boxModelMatrixAndBoundingVolume);
-        createPrimitive(options, cylinders, cylinderBatchIds, cylinderGeometry, cylinderModelMatrixAndBoundingVolume);
-        createPrimitive(options, ellipsoids, ellipsoidBatchIds, ellipsoidGeometry, ellipsoidModelMatrixAndBoundingVolume);
-        createPrimitive(options, spheres, sphereBatchIds, ellipsoidGeometry, sphereModelMatrixAndBoundingVolume);
-
-        var packedBuffer = packBuffer(indices.BYTES_PER_ELEMENT, batchedIndices, boundingVolumes);
-        transferableObjects.push(positions.buffer, vertexBatchIds.buffer, indices.buffer);
-        transferableObjects.push(batchIds.buffer, indexOffsets.buffer, indexCounts.buffer);
-        transferableObjects.push(packedBuffer.buffer);
-
-        return {
-            positions : positions.buffer,
-            vertexBatchIds : vertexBatchIds.buffer,
-            indices : indices.buffer,
-            indexOffsets : indexOffsets.buffer,
-            indexCounts : indexCounts.buffer,
-            batchIds : batchIds.buffer,
-            packedBuffer : packedBuffer.buffer
-        };
-    }
-    var createVectorTileGeometries$1 = createTaskProcessorWorker(createVectorTileGeometries);
-
-    return createVectorTileGeometries$1;
-
-});
diff --git a/libs/supermap/Workers/createVectorTilePoints.js b/libs/supermap/Workers/createVectorTilePoints.js
deleted file mode 100644
index d0f7605..0000000
--- a/libs/supermap/Workers/createVectorTilePoints.js
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './AttributeCompression-50ff7145', './createTaskProcessorWorker'], function (when, Check, _Math, Cartesian2, AttributeCompression, createTaskProcessorWorker) { 'use strict';
-
-    var maxShort = 32767;
-
-    var scratchBVCartographic = new Cartesian2.Cartographic();
-    var scratchEncodedPosition = new Cartesian2.Cartesian3();
-
-    var scratchRectangle = new Cartesian2.Rectangle();
-    var scratchEllipsoid = new Cartesian2.Ellipsoid();
-    var scratchMinMaxHeights = {
-        min : undefined,
-        max : undefined
-    };
-
-    function unpackBuffer(packedBuffer) {
-        packedBuffer = new Float64Array(packedBuffer);
-
-        var offset = 0;
-        scratchMinMaxHeights.min = packedBuffer[offset++];
-        scratchMinMaxHeights.max = packedBuffer[offset++];
-
-        Cartesian2.Rectangle.unpack(packedBuffer, offset, scratchRectangle);
-        offset += Cartesian2.Rectangle.packedLength;
-
-        Cartesian2.Ellipsoid.unpack(packedBuffer, offset, scratchEllipsoid);
-    }
-
-    function createVectorTilePoints(parameters, transferableObjects) {
-        var positions = new Uint16Array(parameters.positions);
-
-        unpackBuffer(parameters.packedBuffer);
-        var rectangle = scratchRectangle;
-        var ellipsoid = scratchEllipsoid;
-        var minimumHeight = scratchMinMaxHeights.min;
-        var maximumHeight = scratchMinMaxHeights.max;
-
-        var positionsLength = positions.length / 3;
-        var uBuffer = positions.subarray(0, positionsLength);
-        var vBuffer = positions.subarray(positionsLength, 2 * positionsLength);
-        var heightBuffer = positions.subarray(2 * positionsLength, 3 * positionsLength);
-        AttributeCompression.AttributeCompression.zigZagDeltaDecode(uBuffer, vBuffer, heightBuffer);
-
-        var decoded = new Float64Array(positions.length);
-        for (var i = 0; i < positionsLength; ++i) {
-            var u = uBuffer[i];
-            var v = vBuffer[i];
-            var h = heightBuffer[i];
-
-            var lon = _Math.CesiumMath.lerp(rectangle.west, rectangle.east, u / maxShort);
-            var lat = _Math.CesiumMath.lerp(rectangle.south, rectangle.north, v / maxShort);
-            var alt = _Math.CesiumMath.lerp(minimumHeight, maximumHeight, h / maxShort);
-
-            var cartographic = Cartesian2.Cartographic.fromRadians(lon, lat, alt, scratchBVCartographic);
-            var decodedPosition = ellipsoid.cartographicToCartesian(cartographic, scratchEncodedPosition);
-            Cartesian2.Cartesian3.pack(decodedPosition, decoded, i * 3);
-        }
-
-        transferableObjects.push(decoded.buffer);
-
-        return {
-            positions : decoded.buffer
-        };
-    }
-    var createVectorTilePoints$1 = createTaskProcessorWorker(createVectorTilePoints);
-
-    return createVectorTilePoints$1;
-
-});
diff --git a/libs/supermap/Workers/createVectorTilePolygons.js b/libs/supermap/Workers/createVectorTilePolygons.js
deleted file mode 100644
index cab7bf4..0000000
--- a/libs/supermap/Workers/createVectorTilePolygons.js
+++ /dev/null
@@ -1,375 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './AttributeCompression-50ff7145', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './createTaskProcessorWorker', './EllipsoidTangentPlane-fe3014f8', './OrientedBoundingBox-2b1de35e', './Color-69f1845f'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, FeatureDetection, Transforms, buildModuleUrl, AttributeCompression, IndexDatatype, IntersectionTests, Plane, createTaskProcessorWorker, EllipsoidTangentPlane, OrientedBoundingBox, Color) { 'use strict';
-
-    var scratchCenter = new Cartesian2.Cartesian3();
-    var scratchEllipsoid = new Cartesian2.Ellipsoid();
-    var scratchRectangle = new Cartesian2.Rectangle();
-    var scratchScalars = {
-        min : undefined,
-        max : undefined,
-        indexBytesPerElement : undefined
-    };
-
-    function unpackBuffer(buffer) {
-        var packedBuffer = new Float64Array(buffer);
-
-        var offset = 0;
-        scratchScalars.indexBytesPerElement = packedBuffer[offset++];
-
-        scratchScalars.min = packedBuffer[offset++];
-        scratchScalars.max = packedBuffer[offset++];
-
-        Cartesian2.Cartesian3.unpack(packedBuffer, offset, scratchCenter);
-        offset += Cartesian2.Cartesian3.packedLength;
-
-        Cartesian2.Ellipsoid.unpack(packedBuffer, offset, scratchEllipsoid);
-        offset += Cartesian2.Ellipsoid.packedLength;
-
-        Cartesian2.Rectangle.unpack(packedBuffer, offset, scratchRectangle);
-    }
-
-    function packedBatchedIndicesLength(batchedIndices) {
-        var length = batchedIndices.length;
-        var count = 0;
-        for (var i = 0; i < length; ++i) {
-            count += Color.Color.packedLength + 3 + batchedIndices[i].batchIds.length;
-        }
-        return count;
-    }
-
-    function packBuffer(indexDatatype, boundingVolumes, batchedIndices) {
-        var numBVs = boundingVolumes.length;
-        var length = 1 + 1 + numBVs * OrientedBoundingBox.OrientedBoundingBox.packedLength + 1 + packedBatchedIndicesLength(batchedIndices);
-
-        var packedBuffer = new Float64Array(length);
-
-        var offset = 0;
-        packedBuffer[offset++] = indexDatatype;
-        packedBuffer[offset++] = numBVs;
-
-        for (var i = 0; i < numBVs; ++i) {
-            OrientedBoundingBox.OrientedBoundingBox.pack(boundingVolumes[i], packedBuffer, offset);
-            offset += OrientedBoundingBox.OrientedBoundingBox.packedLength;
-        }
-
-        var indicesLength = batchedIndices.length;
-        packedBuffer[offset++] = indicesLength;
-
-        for (var j = 0; j < indicesLength; ++j) {
-            var batchedIndex = batchedIndices[j];
-
-            Color.Color.pack(batchedIndex.color, packedBuffer, offset);
-            offset += Color.Color.packedLength;
-
-            packedBuffer[offset++] = batchedIndex.offset;
-            packedBuffer[offset++] = batchedIndex.count;
-
-            var batchIds = batchedIndex.batchIds;
-            var batchIdsLength = batchIds.length;
-            packedBuffer[offset++] = batchIdsLength;
-
-            for (var k = 0; k < batchIdsLength; ++k) {
-                packedBuffer[offset++] = batchIds[k];
-            }
-        }
-
-        return packedBuffer;
-    }
-
-    var maxShort = 32767;
-
-    var scratchEncodedPosition = new Cartesian2.Cartesian3();
-    var scratchNormal = new Cartesian2.Cartesian3();
-    var scratchScaledNormal = new Cartesian2.Cartesian3();
-    var scratchMinHeightPosition = new Cartesian2.Cartesian3();
-    var scratchMaxHeightPosition = new Cartesian2.Cartesian3();
-    var scratchBVCartographic = new Cartesian2.Cartographic();
-    var scratchBVRectangle = new Cartesian2.Rectangle();
-
-    function createVectorTilePolygons(parameters, transferableObjects) {
-        unpackBuffer(parameters.packedBuffer);
-
-        var indices;
-        var indexBytesPerElement = scratchScalars.indexBytesPerElement;
-        if (indexBytesPerElement === 2) {
-            indices = new Uint16Array(parameters.indices);
-        } else {
-            indices = new Uint32Array(parameters.indices);
-        }
-
-        var positions = new Uint16Array(parameters.positions);
-        var counts = new Uint32Array(parameters.counts);
-        var indexCounts = new Uint32Array(parameters.indexCounts);
-        var batchIds = new Uint32Array(parameters.batchIds);
-        var batchTableColors = new Uint32Array(parameters.batchTableColors);
-
-        var boundingVolumes = new Array(counts.length);
-
-        var center = scratchCenter;
-        var ellipsoid = scratchEllipsoid;
-        var rectangle = scratchRectangle;
-        var minHeight = scratchScalars.min;
-        var maxHeight = scratchScalars.max;
-
-        var minimumHeights = parameters.minimumHeights;
-        var maximumHeights = parameters.maximumHeights;
-        if (when.defined(minimumHeights) && when.defined(maximumHeights)) {
-            minimumHeights = new Float32Array(minimumHeights);
-            maximumHeights = new Float32Array(maximumHeights);
-        }
-
-        var i;
-        var j;
-        var rgba;
-
-        var positionsLength = positions.length / 2;
-        var uBuffer = positions.subarray(0, positionsLength);
-        var vBuffer = positions.subarray(positionsLength, 2 * positionsLength);
-        AttributeCompression.AttributeCompression.zigZagDeltaDecode(uBuffer, vBuffer);
-
-        var decodedPositions = new Float32Array(positionsLength * 3);
-        for (i = 0; i < positionsLength; ++i) {
-            var u = uBuffer[i];
-            var v = vBuffer[i];
-
-            var x = _Math.CesiumMath.lerp(rectangle.west, rectangle.east, u / maxShort);
-            var y = _Math.CesiumMath.lerp(rectangle.south, rectangle.north, v / maxShort);
-
-            var cart = Cartesian2.Cartographic.fromRadians(x, y, 0.0, scratchBVCartographic);
-            var decodedPosition = ellipsoid.cartographicToCartesian(cart, scratchEncodedPosition);
-            Cartesian2.Cartesian3.pack(decodedPosition, decodedPositions, i * 3);
-        }
-
-        var countsLength = counts.length;
-        var offsets = new Array(countsLength);
-        var indexOffsets = new Array(countsLength);
-        var currentOffset = 0;
-        var currentIndexOffset = 0;
-        for (i = 0; i < countsLength; ++i) {
-            offsets[i] = currentOffset;
-            indexOffsets[i] = currentIndexOffset;
-
-            currentOffset += counts[i];
-            currentIndexOffset += indexCounts[i];
-        }
-
-        var batchedPositions = new Float32Array(positionsLength * 3 * 2);
-        var batchedIds = new Uint16Array(positionsLength * 2);
-        var batchedIndexOffsets = new Uint32Array(indexOffsets.length);
-        var batchedIndexCounts = new Uint32Array(indexCounts.length);
-        var batchedIndices = [];
-
-        var colorToBuffers = {};
-        for (i = 0; i < countsLength; ++i) {
-            rgba = batchTableColors[i];
-            if (!when.defined(colorToBuffers[rgba])) {
-                colorToBuffers[rgba] = {
-                    positionLength : counts[i],
-                    indexLength : indexCounts[i],
-                    offset : 0,
-                    indexOffset : 0,
-                    batchIds : [i]
-                };
-            } else {
-                colorToBuffers[rgba].positionLength += counts[i];
-                colorToBuffers[rgba].indexLength += indexCounts[i];
-                colorToBuffers[rgba].batchIds.push(i);
-            }
-        }
-
-        // get the offsets and counts for the positions and indices of each primitive
-        var buffer;
-        var byColorPositionOffset = 0;
-        var byColorIndexOffset = 0;
-        for (rgba in colorToBuffers) {
-            if (colorToBuffers.hasOwnProperty(rgba)) {
-                buffer = colorToBuffers[rgba];
-                buffer.offset = byColorPositionOffset;
-                buffer.indexOffset = byColorIndexOffset;
-
-                var positionLength = buffer.positionLength * 2;
-                var indexLength = buffer.indexLength * 2 + buffer.positionLength * 6;
-
-                byColorPositionOffset += positionLength;
-                byColorIndexOffset += indexLength;
-
-                buffer.indexLength = indexLength;
-            }
-        }
-
-        var batchedDrawCalls = [];
-
-        for (rgba in colorToBuffers) {
-            if (colorToBuffers.hasOwnProperty(rgba)) {
-                buffer = colorToBuffers[rgba];
-
-                batchedDrawCalls.push({
-                    color : Color.Color.fromRgba(parseInt(rgba)),
-                    offset : buffer.indexOffset,
-                    count : buffer.indexLength,
-                    batchIds : buffer.batchIds
-                });
-            }
-        }
-
-        for (i = 0; i < countsLength; ++i) {
-            rgba = batchTableColors[i];
-
-            buffer = colorToBuffers[rgba];
-            var positionOffset = buffer.offset;
-            var positionIndex = positionOffset * 3;
-            var batchIdIndex = positionOffset;
-
-            var polygonOffset = offsets[i];
-            var polygonCount = counts[i];
-            var batchId = batchIds[i];
-
-            var polygonMinimumHeight = minHeight;
-            var polygonMaximumHeight = maxHeight;
-            if (when.defined(minimumHeights) && when.defined(maximumHeights)) {
-                polygonMinimumHeight = minimumHeights[i];
-                polygonMaximumHeight = maximumHeights[i];
-            }
-
-            var minLat = Number.POSITIVE_INFINITY;
-            var maxLat = Number.NEGATIVE_INFINITY;
-            var minLon = Number.POSITIVE_INFINITY;
-            var maxLon = Number.NEGATIVE_INFINITY;
-
-            for (j = 0; j < polygonCount; ++j) {
-                var position = Cartesian2.Cartesian3.unpack(decodedPositions, polygonOffset * 3 + j * 3, scratchEncodedPosition);
-                ellipsoid.scaleToGeodeticSurface(position, position);
-
-                var carto = ellipsoid.cartesianToCartographic(position, scratchBVCartographic);
-                var lat = carto.latitude;
-                var lon = carto.longitude;
-
-                minLat = Math.min(lat, minLat);
-                maxLat = Math.max(lat, maxLat);
-                minLon = Math.min(lon, minLon);
-                maxLon = Math.max(lon, maxLon);
-
-                var normal = ellipsoid.geodeticSurfaceNormal(position, scratchNormal);
-                var scaledNormal = Cartesian2.Cartesian3.multiplyByScalar(normal, polygonMinimumHeight, scratchScaledNormal);
-                var minHeightPosition = Cartesian2.Cartesian3.add(position, scaledNormal, scratchMinHeightPosition);
-
-                scaledNormal = Cartesian2.Cartesian3.multiplyByScalar(normal, polygonMaximumHeight, scaledNormal);
-                var maxHeightPosition = Cartesian2.Cartesian3.add(position, scaledNormal, scratchMaxHeightPosition);
-
-                Cartesian2.Cartesian3.subtract(maxHeightPosition, center, maxHeightPosition);
-                Cartesian2.Cartesian3.subtract(minHeightPosition, center, minHeightPosition);
-
-                Cartesian2.Cartesian3.pack(maxHeightPosition, batchedPositions, positionIndex);
-                Cartesian2.Cartesian3.pack(minHeightPosition, batchedPositions, positionIndex + 3);
-
-                batchedIds[batchIdIndex] = batchId;
-                batchedIds[batchIdIndex + 1] = batchId;
-
-                positionIndex += 6;
-                batchIdIndex += 2;
-            }
-
-            rectangle = scratchBVRectangle;
-            rectangle.west = minLon;
-            rectangle.east = maxLon;
-            rectangle.south = minLat;
-            rectangle.north = maxLat;
-
-            boundingVolumes[i] = OrientedBoundingBox.OrientedBoundingBox.fromRectangle(rectangle, minHeight, maxHeight, ellipsoid);
-
-            var indicesIndex = buffer.indexOffset;
-
-            var indexOffset = indexOffsets[i];
-            var indexCount = indexCounts[i];
-
-            batchedIndexOffsets[i] = indicesIndex;
-
-            for (j = 0; j < indexCount; j += 3) {
-                var i0 = indices[indexOffset + j] - polygonOffset;
-                var i1 = indices[indexOffset + j + 1] - polygonOffset;
-                var i2 = indices[indexOffset + j + 2] - polygonOffset;
-
-                // triangle on the top of the extruded polygon
-                batchedIndices[indicesIndex++] = i0 * 2 + positionOffset;
-                batchedIndices[indicesIndex++] = i1 * 2 + positionOffset;
-                batchedIndices[indicesIndex++] = i2 * 2 + positionOffset;
-
-                // triangle on the bottom of the extruded polygon
-                batchedIndices[indicesIndex++] = i2 * 2 + 1 + positionOffset;
-                batchedIndices[indicesIndex++] = i1 * 2 + 1 + positionOffset;
-                batchedIndices[indicesIndex++] = i0 * 2 + 1 + positionOffset;
-            }
-
-            // indices for the walls of the extruded polygon
-            for (j = 0; j < polygonCount; ++j) {
-                var v0 = j;
-                var v1 = (j + 1) % polygonCount;
-
-                batchedIndices[indicesIndex++] = v0 * 2 + 1 + positionOffset;
-                batchedIndices[indicesIndex++] = v1 * 2 + positionOffset;
-                batchedIndices[indicesIndex++] = v0 * 2 + positionOffset;
-
-                batchedIndices[indicesIndex++] = v0 * 2 + 1 + positionOffset;
-                batchedIndices[indicesIndex++] = v1 * 2 + 1 + positionOffset;
-                batchedIndices[indicesIndex++] = v1 * 2 + positionOffset;
-            }
-
-            buffer.offset += polygonCount * 2;
-            buffer.indexOffset = indicesIndex;
-
-            batchedIndexCounts[i] = indicesIndex - batchedIndexOffsets[i];
-        }
-
-        batchedIndices = IndexDatatype.IndexDatatype.createTypedArray(batchedPositions.length / 3, batchedIndices);
-
-        var batchedIndicesLength = batchedDrawCalls.length;
-        for (var m = 0; m < batchedIndicesLength; ++m) {
-            var tempIds = batchedDrawCalls[m].batchIds;
-            var count = 0;
-            var tempIdsLength = tempIds.length;
-            for (var n = 0; n < tempIdsLength; ++n) {
-                count += batchedIndexCounts[tempIds[n]];
-            }
-            batchedDrawCalls[m].count = count;
-        }
-
-        var indexDatatype = (batchedIndices.BYTES_PER_ELEMENT === 2) ?  IndexDatatype.IndexDatatype.UNSIGNED_SHORT : IndexDatatype.IndexDatatype.UNSIGNED_INT;
-        var packedBuffer = packBuffer(indexDatatype, boundingVolumes, batchedDrawCalls);
-
-        transferableObjects.push(batchedPositions.buffer, batchedIndices.buffer, batchedIndexOffsets.buffer, batchedIndexCounts.buffer, batchedIds.buffer, packedBuffer.buffer);
-
-        return {
-            positions : batchedPositions.buffer,
-            indices : batchedIndices.buffer,
-            indexOffsets : batchedIndexOffsets.buffer,
-            indexCounts : batchedIndexCounts.buffer,
-            batchIds : batchedIds.buffer,
-            packedBuffer : packedBuffer.buffer
-        };
-    }
-    var createVectorTilePolygons$1 = createTaskProcessorWorker(createVectorTilePolygons);
-
-    return createVectorTilePolygons$1;
-
-});
diff --git a/libs/supermap/Workers/createVectorTilePolylines.js b/libs/supermap/Workers/createVectorTilePolylines.js
deleted file mode 100644
index d615d58..0000000
--- a/libs/supermap/Workers/createVectorTilePolylines.js
+++ /dev/null
@@ -1,203 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './WebGLConstants-4c11ee5f', './AttributeCompression-50ff7145', './IndexDatatype-9435b55f', './createTaskProcessorWorker'], function (when, Check, _Math, Cartesian2, WebGLConstants, AttributeCompression, IndexDatatype, createTaskProcessorWorker) { 'use strict';
-
-    var maxShort = 32767;
-
-    var scratchBVCartographic = new Cartesian2.Cartographic();
-    var scratchEncodedPosition = new Cartesian2.Cartesian3();
-
-    function decodePositions(positions, rectangle, minimumHeight, maximumHeight, ellipsoid) {
-        var positionsLength = positions.length / 3;
-        var uBuffer = positions.subarray(0, positionsLength);
-        var vBuffer = positions.subarray(positionsLength, 2 * positionsLength);
-        var heightBuffer = positions.subarray(2 * positionsLength, 3 * positionsLength);
-        AttributeCompression.AttributeCompression.zigZagDeltaDecode(uBuffer, vBuffer, heightBuffer);
-
-        var decoded = new Float32Array(positions.length);
-        for (var i = 0; i < positionsLength; ++i) {
-            var u = uBuffer[i];
-            var v = vBuffer[i];
-            var h = heightBuffer[i];
-
-            var lon = _Math.CesiumMath.lerp(rectangle.west, rectangle.east, u / maxShort);
-            var lat = _Math.CesiumMath.lerp(rectangle.south, rectangle.north, v / maxShort);
-            var alt = _Math.CesiumMath.lerp(minimumHeight, maximumHeight, h / maxShort);
-
-            var cartographic = Cartesian2.Cartographic.fromRadians(lon, lat, alt, scratchBVCartographic);
-            var decodedPosition = ellipsoid.cartographicToCartesian(cartographic, scratchEncodedPosition);
-            Cartesian2.Cartesian3.pack(decodedPosition, decoded, i * 3);
-        }
-        return decoded;
-    }
-
-    var scratchRectangle = new Cartesian2.Rectangle();
-    var scratchEllipsoid = new Cartesian2.Ellipsoid();
-    var scratchCenter = new Cartesian2.Cartesian3();
-    var scratchMinMaxHeights = {
-        min : undefined,
-        max : undefined
-    };
-
-    function unpackBuffer(packedBuffer) {
-        packedBuffer = new Float64Array(packedBuffer);
-
-        var offset = 0;
-        scratchMinMaxHeights.min = packedBuffer[offset++];
-        scratchMinMaxHeights.max = packedBuffer[offset++];
-
-        Cartesian2.Rectangle.unpack(packedBuffer, offset, scratchRectangle);
-        offset += Cartesian2.Rectangle.packedLength;
-
-        Cartesian2.Ellipsoid.unpack(packedBuffer, offset, scratchEllipsoid);
-        offset += Cartesian2.Ellipsoid.packedLength;
-
-        Cartesian2.Cartesian3.unpack(packedBuffer, offset, scratchCenter);
-    }
-
-    var scratchP0 = new Cartesian2.Cartesian3();
-    var scratchP1 = new Cartesian2.Cartesian3();
-    var scratchPrev = new Cartesian2.Cartesian3();
-    var scratchCur = new Cartesian2.Cartesian3();
-    var scratchNext = new Cartesian2.Cartesian3();
-
-    function createVectorTilePolylines(parameters, transferableObjects) {
-        var encodedPositions = new Uint16Array(parameters.positions);
-        var widths = new Uint16Array(parameters.widths);
-        var counts = new Uint32Array(parameters.counts);
-        var batchIds = new Uint16Array(parameters.batchIds);
-
-        unpackBuffer(parameters.packedBuffer);
-        var rectangle = scratchRectangle;
-        var ellipsoid = scratchEllipsoid;
-        var center = scratchCenter;
-        var minimumHeight = scratchMinMaxHeights.min;
-        var maximumHeight = scratchMinMaxHeights.max;
-
-        var positions = decodePositions(encodedPositions, rectangle, minimumHeight, maximumHeight, ellipsoid);
-
-        var positionsLength = positions.length / 3;
-        var size = positionsLength * 4 - 4;
-
-        var curPositions = new Float32Array(size * 3);
-        var prevPositions = new Float32Array(size * 3);
-        var nextPositions = new Float32Array(size * 3);
-        var expandAndWidth = new Float32Array(size * 2);
-        var vertexBatchIds = new Uint16Array(size);
-
-        var positionIndex = 0;
-        var expandAndWidthIndex = 0;
-        var batchIdIndex = 0;
-
-        var i;
-        var offset = 0;
-        var length = counts.length;
-
-        for (i = 0; i < length; ++i) {
-            var count = counts [i];
-            var width = widths[i];
-            var batchId = batchIds[i];
-
-            for (var j = 0; j < count; ++j) {
-                var previous;
-                if (j === 0) {
-                    var p0 = Cartesian2.Cartesian3.unpack(positions, offset * 3, scratchP0);
-                    var p1 = Cartesian2.Cartesian3.unpack(positions, (offset + 1) * 3, scratchP1);
-
-                    previous = Cartesian2.Cartesian3.subtract(p0, p1, scratchPrev);
-                    Cartesian2.Cartesian3.add(p0, previous, previous);
-                } else {
-                    previous = Cartesian2.Cartesian3.unpack(positions, (offset + j - 1) * 3, scratchPrev);
-                }
-
-                var current = Cartesian2.Cartesian3.unpack(positions, (offset + j) * 3, scratchCur);
-
-                var next;
-                if (j === count - 1) {
-                    var p2 = Cartesian2.Cartesian3.unpack(positions, (offset + count - 1) * 3, scratchP0);
-                    var p3 = Cartesian2.Cartesian3.unpack(positions, (offset + count - 2) * 3, scratchP1);
-
-                    next = Cartesian2.Cartesian3.subtract(p2, p3, scratchNext);
-                    Cartesian2.Cartesian3.add(p2, next, next);
-                } else {
-                    next = Cartesian2.Cartesian3.unpack(positions, (offset + j + 1) * 3, scratchNext);
-                }
-
-                Cartesian2.Cartesian3.subtract(previous, center, previous);
-                Cartesian2.Cartesian3.subtract(current, center, current);
-                Cartesian2.Cartesian3.subtract(next, center, next);
-
-                var startK = j === 0 ? 2 : 0;
-                var endK = j === count - 1 ? 2 : 4;
-
-                for (var k = startK; k < endK; ++k) {
-                    Cartesian2.Cartesian3.pack(current, curPositions, positionIndex);
-                    Cartesian2.Cartesian3.pack(previous, prevPositions, positionIndex);
-                    Cartesian2.Cartesian3.pack(next, nextPositions, positionIndex);
-                    positionIndex += 3;
-
-                    var direction = (k - 2 < 0) ? -1.0 : 1.0;
-                    expandAndWidth[expandAndWidthIndex++] = 2 * (k % 2) - 1;
-                    expandAndWidth[expandAndWidthIndex++] = direction * width;
-
-                    vertexBatchIds[batchIdIndex++] = batchId;
-                }
-            }
-
-            offset += count;
-        }
-
-        var indices = IndexDatatype.IndexDatatype.createTypedArray(size, positionsLength * 6 - 6);
-        var index = 0;
-        var indicesIndex = 0;
-        length = positionsLength - 1;
-        for (i = 0; i < length; ++i) {
-            indices[indicesIndex++] = index;
-            indices[indicesIndex++] = index + 2;
-            indices[indicesIndex++] = index + 1;
-
-            indices[indicesIndex++] = index + 1;
-            indices[indicesIndex++] = index + 2;
-            indices[indicesIndex++] = index + 3;
-
-            index += 4;
-        }
-
-        transferableObjects.push(curPositions.buffer, prevPositions.buffer, nextPositions.buffer);
-        transferableObjects.push(expandAndWidth.buffer, vertexBatchIds.buffer, indices.buffer);
-
-        return {
-            indexDatatype : (indices.BYTES_PER_ELEMENT === 2) ? IndexDatatype.IndexDatatype.UNSIGNED_SHORT : IndexDatatype.IndexDatatype.UNSIGNED_INT,
-            currentPositions : curPositions.buffer,
-            previousPositions : prevPositions.buffer,
-            nextPositions : nextPositions.buffer,
-            expandAndWidth : expandAndWidth.buffer,
-            batchIds : vertexBatchIds.buffer,
-            indices : indices.buffer
-        };
-    }
-    var createVectorTilePolylines$1 = createTaskProcessorWorker(createVectorTilePolylines);
-
-    return createVectorTilePolylines$1;
-
-});
diff --git a/libs/supermap/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js b/libs/supermap/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js
deleted file mode 100644
index d034533..0000000
--- a/libs/supermap/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js
+++ /dev/null
@@ -1,478 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './AttributeCompression-50ff7145', './IntersectionTests-99e636d3', './Plane-d0f009aa', './WebMercatorProjection-0391f892', './createTaskProcessorWorker', './EllipsoidTangentPlane-fe3014f8', './OrientedBoundingBox-2b1de35e', './TerrainEncoding-68dd69c9'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, FeatureDetection, Transforms, buildModuleUrl, AttributeCompression, IntersectionTests, Plane, WebMercatorProjection, createTaskProcessorWorker, EllipsoidTangentPlane, OrientedBoundingBox, TerrainEncoding) { 'use strict';
-
-    var sizeOfUint16 = Uint16Array.BYTES_PER_ELEMENT;
-        var sizeOfInt32 = Int32Array.BYTES_PER_ELEMENT;
-        var sizeOfUint32 = Uint32Array.BYTES_PER_ELEMENT;
-        var sizeOfFloat = Float32Array.BYTES_PER_ELEMENT;
-        var sizeOfDouble = Float64Array.BYTES_PER_ELEMENT;
-
-        function indexOfEpsilon(arr, elem, elemType) {
-            elemType = when.defaultValue(elemType, _Math.CesiumMath);
-            var count = arr.length;
-            for (var i = 0; i < count; ++i) {
-                if (elemType.equalsEpsilon(arr[i], elem, _Math.CesiumMath.EPSILON12)) {
-                    return i;
-                }
-            }
-
-            return -1;
-        }
-
-        function createVerticesFromGoogleEarthEnterpriseBuffer(parameters, transferableObjects) {
-            parameters.ellipsoid = Cartesian2.Ellipsoid.clone(parameters.ellipsoid);
-            parameters.rectangle = Cartesian2.Rectangle.clone(parameters.rectangle);
-
-            var statistics = processBuffer(parameters.buffer, parameters.relativeToCenter, parameters.ellipsoid,
-                parameters.rectangle, parameters.nativeRectangle, parameters.exaggeration, parameters.skirtHeight,
-                parameters.includeWebMercatorT, parameters.negativeAltitudeExponentBias, parameters.negativeElevationThreshold);
-            var vertices = statistics.vertices;
-            transferableObjects.push(vertices.buffer);
-            var indices = statistics.indices;
-            transferableObjects.push(indices.buffer);
-
-            return {
-                vertices : vertices.buffer,
-                indices : indices.buffer,
-                numberOfAttributes : statistics.encoding.getStride(),
-                minimumHeight : statistics.minimumHeight,
-                maximumHeight : statistics.maximumHeight,
-                boundingSphere3D : statistics.boundingSphere3D,
-                orientedBoundingBox : statistics.orientedBoundingBox,
-                occludeePointInScaledSpace : statistics.occludeePointInScaledSpace,
-                encoding : statistics.encoding,
-                vertexCountWithoutSkirts : statistics.vertexCountWithoutSkirts,
-                indexCountWithoutSkirts : statistics.indexCountWithoutSkirts,
-                westIndicesSouthToNorth : statistics.westIndicesSouthToNorth,
-                southIndicesEastToWest : statistics.southIndicesEastToWest,
-                eastIndicesNorthToSouth : statistics.eastIndicesNorthToSouth,
-                northIndicesWestToEast : statistics.northIndicesWestToEast
-            };
-        }
-
-        var scratchCartographic = new Cartesian2.Cartographic();
-        var scratchCartesian = new Cartesian2.Cartesian3();
-        var minimumScratch = new Cartesian2.Cartesian3();
-        var maximumScratch = new Cartesian2.Cartesian3();
-        var matrix4Scratch = new BoundingSphere.Matrix4();
-
-        function processBuffer(buffer, relativeToCenter, ellipsoid, rectangle, nativeRectangle, exaggeration, skirtHeight, includeWebMercatorT, negativeAltitudeExponentBias, negativeElevationThreshold) {
-            var geographicWest;
-            var geographicSouth;
-            var geographicEast;
-            var geographicNorth;
-            var rectangleWidth, rectangleHeight;
-
-            if (!when.defined(rectangle)) {
-                geographicWest = _Math.CesiumMath.toRadians(nativeRectangle.west);
-                geographicSouth = _Math.CesiumMath.toRadians(nativeRectangle.south);
-                geographicEast = _Math.CesiumMath.toRadians(nativeRectangle.east);
-                geographicNorth = _Math.CesiumMath.toRadians(nativeRectangle.north);
-                rectangleWidth = _Math.CesiumMath.toRadians(rectangle.width);
-                rectangleHeight = _Math.CesiumMath.toRadians(rectangle.height);
-            } else {
-                geographicWest = rectangle.west;
-                geographicSouth = rectangle.south;
-                geographicEast = rectangle.east;
-                geographicNorth = rectangle.north;
-                rectangleWidth = rectangle.width;
-                rectangleHeight = rectangle.height;
-            }
-
-            // Keep track of quad borders so we can remove duplicates around the borders
-            var quadBorderLatitudes = [geographicSouth, geographicNorth];
-            var quadBorderLongitudes = [geographicWest, geographicEast];
-
-            var fromENU = Transforms.Transforms.eastNorthUpToFixedFrame(relativeToCenter, ellipsoid);
-            var toENU = BoundingSphere.Matrix4.inverseTransformation(fromENU, matrix4Scratch);
-
-            var southMercatorY;
-            var oneOverMercatorHeight;
-            if (includeWebMercatorT) {
-                southMercatorY = WebMercatorProjection.WebMercatorProjection.geodeticLatitudeToMercatorAngle(geographicSouth);
-                oneOverMercatorHeight = 1.0 / (WebMercatorProjection.WebMercatorProjection.geodeticLatitudeToMercatorAngle(geographicNorth) - southMercatorY);
-            }
-
-            var dv = new DataView(buffer);
-
-            var minHeight = Number.POSITIVE_INFINITY;
-            var maxHeight = Number.NEGATIVE_INFINITY;
-
-            var minimum = minimumScratch;
-            minimum.x = Number.POSITIVE_INFINITY;
-            minimum.y = Number.POSITIVE_INFINITY;
-            minimum.z = Number.POSITIVE_INFINITY;
-
-            var maximum = maximumScratch;
-            maximum.x = Number.NEGATIVE_INFINITY;
-            maximum.y = Number.NEGATIVE_INFINITY;
-            maximum.z = Number.NEGATIVE_INFINITY;
-
-            // Compute sizes
-            var offset = 0;
-            var size = 0;
-            var indicesSize = 0;
-            var quadSize;
-            var quad;
-            for (quad = 0; quad < 4; ++quad) {
-                var o = offset;
-                quadSize = dv.getUint32(o, true);
-                o += sizeOfUint32;
-
-                var x = _Math.CesiumMath.toRadians(dv.getFloat64(o, true) * 180.0);
-                o += sizeOfDouble;
-                if (indexOfEpsilon(quadBorderLongitudes, x) === -1) {
-                    quadBorderLongitudes.push(x);
-                }
-
-                var y = _Math.CesiumMath.toRadians(dv.getFloat64(o, true) * 180.0);
-                o += sizeOfDouble;
-                if (indexOfEpsilon(quadBorderLatitudes, y) === -1) {
-                    quadBorderLatitudes.push(y);
-                }
-
-                o += 2 * sizeOfDouble; // stepX + stepY
-
-                var c = dv.getInt32(o, true); // Read point count
-                o += sizeOfInt32;
-                size += c;
-
-                c = dv.getInt32(o, true); // Read index count
-                indicesSize += c * 3;
-
-                offset += quadSize + sizeOfUint32; // Jump to next quad
-            }
-
-            // Quad Border points to remove duplicates
-            var quadBorderPoints = [];
-            var quadBorderIndices = [];
-
-            // Create arrays
-            var positions = new Array(size);
-            var uvs = new Array(size);
-            var heights = new Array(size);
-            var webMercatorTs = includeWebMercatorT ? new Array(size) : [];
-            var indices = new Array(indicesSize);
-
-            // Points are laid out in rows starting at SW, so storing border points as we
-            //  come across them all points will be adjacent.
-            var westBorder = [];
-            var southBorder = [];
-            var eastBorder = [];
-            var northBorder = [];
-
-            // Each tile is split into 4 parts
-            var pointOffset = 0;
-            var indicesOffset = 0;
-            offset = 0;
-            for (quad = 0; quad < 4; ++quad) {
-                quadSize = dv.getUint32(offset, true);
-                offset += sizeOfUint32;
-                var startQuad = offset;
-
-                var originX = _Math.CesiumMath.toRadians(dv.getFloat64(offset, true) * 180.0);
-                offset += sizeOfDouble;
-
-                var originY = _Math.CesiumMath.toRadians(dv.getFloat64(offset, true) * 180.0);
-                offset += sizeOfDouble;
-
-                var stepX = _Math.CesiumMath.toRadians(dv.getFloat64(offset, true) * 180.0);
-                var halfStepX = stepX * 0.5;
-                offset += sizeOfDouble;
-
-                var stepY = _Math.CesiumMath.toRadians(dv.getFloat64(offset, true) * 180.0);
-                var halfStepY = stepY * 0.5;
-                offset += sizeOfDouble;
-
-                var numPoints = dv.getInt32(offset, true);
-                offset += sizeOfInt32;
-
-                var numFaces = dv.getInt32(offset, true);
-                offset += sizeOfInt32;
-
-                //var level = dv.getInt32(offset, true);
-                offset += sizeOfInt32;
-
-                // Keep track of quad indices to overall tile indices
-                var indicesMapping = new Array(numPoints);
-                for (var i = 0; i < numPoints; ++i) {
-                    var longitude = originX + dv.getUint8(offset++) * stepX;
-                    scratchCartographic.longitude = longitude;
-                    var latitude = originY + dv.getUint8(offset++) * stepY;
-                    scratchCartographic.latitude = latitude;
-
-                    var height = dv.getFloat32(offset, true);
-                    offset += sizeOfFloat;
-
-                    // In order to support old clients, negative altitude values are stored as
-                    // height/-2^32. Old clients see the value as really close to 0 but new clients multiply
-                    // by -2^32 to get the real negative altitude value.
-                    if (height !== 0 && height < negativeElevationThreshold) {
-                        height *= -Math.pow(2, negativeAltitudeExponentBias);
-                    }
-
-                    // Height is stored in units of (1/EarthRadius) or (1/6371010.0)
-                    height *= 6371010.0 * exaggeration;
-
-                    scratchCartographic.height = height;
-
-                    // Is it along a quad border - if so check if already exists and use that index
-                    if (indexOfEpsilon(quadBorderLongitudes, longitude) !== -1 ||
-                        indexOfEpsilon(quadBorderLatitudes, latitude) !== -1) {
-                        var index = indexOfEpsilon(quadBorderPoints, scratchCartographic, Cartesian2.Cartographic);
-                        if (index === -1) {
-                            quadBorderPoints.push(Cartesian2.Cartographic.clone(scratchCartographic));
-                            quadBorderIndices.push(pointOffset);
-                        } else {
-                            indicesMapping[i] = quadBorderIndices[index];
-                            continue;
-                        }
-                    }
-                    indicesMapping[i] = pointOffset;
-
-                    if (Math.abs(longitude - geographicWest) < halfStepX) {
-                        westBorder.push({
-                            index : pointOffset,
-                            cartographic : Cartesian2.Cartographic.clone(scratchCartographic)
-                        });
-                    } else if (Math.abs(longitude - geographicEast) < halfStepX) {
-                        eastBorder.push({
-                            index : pointOffset,
-                            cartographic : Cartesian2.Cartographic.clone(scratchCartographic)
-                        });
-                    } else if (Math.abs(latitude - geographicSouth) < halfStepY) {
-                        southBorder.push({
-                            index : pointOffset,
-                            cartographic : Cartesian2.Cartographic.clone(scratchCartographic)
-                        });
-                    } else if (Math.abs(latitude - geographicNorth) < halfStepY) {
-                        northBorder.push({
-                            index : pointOffset,
-                            cartographic : Cartesian2.Cartographic.clone(scratchCartographic)
-                        });
-                    }
-
-                    minHeight = Math.min(height, minHeight);
-                    maxHeight = Math.max(height, maxHeight);
-                    heights[pointOffset] = height;
-
-                    var pos = ellipsoid.cartographicToCartesian(scratchCartographic);
-                    positions[pointOffset] = pos;
-
-                    if (includeWebMercatorT) {
-                        webMercatorTs[pointOffset] = (WebMercatorProjection.WebMercatorProjection.geodeticLatitudeToMercatorAngle(latitude) - southMercatorY) * oneOverMercatorHeight;
-                    }
-
-                    BoundingSphere.Matrix4.multiplyByPoint(toENU, pos, scratchCartesian);
-
-                    Cartesian2.Cartesian3.minimumByComponent(scratchCartesian, minimum, minimum);
-                    Cartesian2.Cartesian3.maximumByComponent(scratchCartesian, maximum, maximum);
-
-                    var u = (longitude - geographicWest) / (geographicEast - geographicWest);
-                    u = _Math.CesiumMath.clamp(u, 0.0, 1.0);
-                    var v = (latitude - geographicSouth) / (geographicNorth - geographicSouth);
-                    v = _Math.CesiumMath.clamp(v, 0.0, 1.0);
-
-                    uvs[pointOffset] = new Cartesian2.Cartesian2(u, v);
-                    ++pointOffset;
-                }
-
-                var facesElementCount = numFaces * 3;
-                for (var j = 0; j < facesElementCount; ++j, ++indicesOffset) {
-                    indices[indicesOffset] = indicesMapping[dv.getUint16(offset, true)];
-                    offset += sizeOfUint16;
-                }
-
-                if (quadSize !== (offset - startQuad)) {
-                    throw new RuntimeError.RuntimeError('Invalid terrain tile.');
-                }
-            }
-
-            positions.length = pointOffset;
-            uvs.length = pointOffset;
-            heights.length = pointOffset;
-            if (includeWebMercatorT) {
-                webMercatorTs.length = pointOffset;
-            }
-
-            var vertexCountWithoutSkirts = pointOffset;
-            var indexCountWithoutSkirts = indicesOffset;
-
-            // Add skirt points
-            var skirtOptions = {
-                hMin : minHeight,
-                lastBorderPoint : undefined,
-                skirtHeight : skirtHeight,
-                toENU : toENU,
-                ellipsoid : ellipsoid,
-                minimum : minimum,
-                maximum : maximum
-            };
-
-            // Sort counter clockwise from NW corner
-            // Corner points are in the east/west arrays
-            westBorder.sort(function(a, b) {
-                return b.cartographic.latitude - a.cartographic.latitude;
-            });
-            southBorder.sort(function(a, b) {
-                return a.cartographic.longitude - b.cartographic.longitude;
-            });
-            eastBorder.sort(function(a, b) {
-                return a.cartographic.latitude - b.cartographic.latitude;
-            });
-            northBorder.sort(function(a, b) {
-                return b.cartographic.longitude - a.cartographic.longitude;
-            });
-
-            var percentage = 0.00001;
-            addSkirt(positions, heights, uvs, webMercatorTs, indices, skirtOptions,
-                westBorder, -percentage * rectangleWidth, true, -percentage * rectangleHeight);
-            addSkirt(positions, heights, uvs, webMercatorTs, indices, skirtOptions,
-                southBorder, -percentage * rectangleHeight, false);
-            addSkirt(positions, heights, uvs, webMercatorTs, indices, skirtOptions,
-                eastBorder, percentage * rectangleWidth, true, percentage * rectangleHeight);
-            addSkirt(positions, heights, uvs, webMercatorTs, indices, skirtOptions,
-                northBorder, percentage * rectangleHeight, false);
-
-            // Since the corner between the north and west sides is in the west array, generate the last
-            //  two triangles between the last north vertex and the first west vertex
-            if (westBorder.length > 0 && northBorder.length > 0) {
-                var firstBorderIndex = westBorder[0].index;
-                var firstSkirtIndex = vertexCountWithoutSkirts;
-                var lastBorderIndex = northBorder[northBorder.length - 1].index;
-                var lastSkirtIndex = positions.length - 1;
-
-                indices.push(lastBorderIndex, lastSkirtIndex, firstSkirtIndex, firstSkirtIndex, firstBorderIndex, lastBorderIndex);
-            }
-
-            size = positions.length; // Get new size with skirt vertices
-
-            var boundingSphere3D = BoundingSphere.BoundingSphere.fromPoints(positions);
-            var orientedBoundingBox;
-            if (when.defined(rectangle)) {
-                orientedBoundingBox = OrientedBoundingBox.OrientedBoundingBox.fromRectangle(rectangle, minHeight, maxHeight, ellipsoid);
-            }
-
-            var occluder = new TerrainEncoding.EllipsoidalOccluder(ellipsoid);
-            var occludeePointInScaledSpace = occluder.computeHorizonCullingPointPossiblyUnderEllipsoid(relativeToCenter, positions, minHeight);
-
-            var aaBox = new EllipsoidTangentPlane.AxisAlignedBoundingBox(minimum, maximum, relativeToCenter);
-            var encoding = new TerrainEncoding.TerrainEncoding(aaBox, skirtOptions.hMin, maxHeight, fromENU, false, includeWebMercatorT);
-            var vertices = new Float32Array(size * encoding.getStride());
-
-            var bufferIndex = 0;
-            for (var k = 0; k < size; ++k) {
-                bufferIndex = encoding.encode(vertices, bufferIndex, positions[k], uvs[k], heights[k], undefined, webMercatorTs[k]);
-            }
-
-            var westIndicesSouthToNorth = westBorder.map(function(vertex) { return vertex.index; }).reverse();
-            var southIndicesEastToWest = southBorder.map(function(vertex) { return vertex.index; }).reverse();
-            var eastIndicesNorthToSouth = eastBorder.map(function(vertex) { return vertex.index; }).reverse();
-            var northIndicesWestToEast = northBorder.map(function(vertex) { return vertex.index; }).reverse();
-
-            southIndicesEastToWest.unshift(eastIndicesNorthToSouth[eastIndicesNorthToSouth.length - 1]);
-            southIndicesEastToWest.push(westIndicesSouthToNorth[0]);
-
-            northIndicesWestToEast.unshift(westIndicesSouthToNorth[westIndicesSouthToNorth.length - 1]);
-            northIndicesWestToEast.push(eastIndicesNorthToSouth[0]);
-
-            return {
-                vertices : vertices,
-                indices : new Uint16Array(indices),
-                maximumHeight : maxHeight,
-                minimumHeight : minHeight,
-                encoding : encoding,
-                boundingSphere3D : boundingSphere3D,
-                orientedBoundingBox : orientedBoundingBox,
-                occludeePointInScaledSpace : occludeePointInScaledSpace,
-                vertexCountWithoutSkirts : vertexCountWithoutSkirts,
-                indexCountWithoutSkirts : indexCountWithoutSkirts,
-                westIndicesSouthToNorth : westIndicesSouthToNorth,
-                southIndicesEastToWest : southIndicesEastToWest,
-                eastIndicesNorthToSouth : eastIndicesNorthToSouth,
-                northIndicesWestToEast : northIndicesWestToEast
-            };
-        }
-
-        function addSkirt(positions, heights, uvs, webMercatorTs, indices, skirtOptions,
-                          borderPoints, fudgeFactor, eastOrWest, cornerFudge) {
-            var count = borderPoints.length;
-            for (var j = 0; j < count; ++j) {
-                var borderPoint = borderPoints[j];
-                var borderCartographic = borderPoint.cartographic;
-                var borderIndex = borderPoint.index;
-                var currentIndex = positions.length;
-
-                var longitude = borderCartographic.longitude;
-                var latitude = borderCartographic.latitude;
-                latitude = _Math.CesiumMath.clamp(latitude, -_Math.CesiumMath.PI_OVER_TWO, _Math.CesiumMath.PI_OVER_TWO); // Don't go over the poles
-                var height = borderCartographic.height - skirtOptions.skirtHeight;
-                skirtOptions.hMin = Math.min(skirtOptions.hMin, height);
-
-                Cartesian2.Cartographic.fromRadians(longitude, latitude, height, scratchCartographic);
-
-                // Adjust sides to angle out
-                if (eastOrWest) {
-                    scratchCartographic.longitude += fudgeFactor;
-                }
-
-                // Adjust top or bottom to angle out
-                // Since corners are in the east/west arrays angle the first and last points as well
-                if (!eastOrWest) {
-                    scratchCartographic.latitude += fudgeFactor;
-                } else if (j === (count - 1)) {
-                    scratchCartographic.latitude += cornerFudge;
-                } else if (j === 0) {
-                    scratchCartographic.latitude -= cornerFudge;
-                }
-
-                var pos = skirtOptions.ellipsoid.cartographicToCartesian(scratchCartographic);
-                positions.push(pos);
-                heights.push(height);
-                uvs.push(Cartesian2.Cartesian2.clone(uvs[borderIndex])); // Copy UVs from border point
-                if (webMercatorTs.length > 0) {
-                    webMercatorTs.push(webMercatorTs[borderIndex]);
-                }
-
-                BoundingSphere.Matrix4.multiplyByPoint(skirtOptions.toENU, pos, scratchCartesian);
-
-                var minimum = skirtOptions.minimum;
-                var maximum = skirtOptions.maximum;
-                Cartesian2.Cartesian3.minimumByComponent(scratchCartesian, minimum, minimum);
-                Cartesian2.Cartesian3.maximumByComponent(scratchCartesian, maximum, maximum);
-
-                var lastBorderPoint = skirtOptions.lastBorderPoint;
-                if (when.defined(lastBorderPoint)) {
-                    var lastBorderIndex = lastBorderPoint.index;
-                    indices.push(lastBorderIndex, currentIndex - 1, currentIndex, currentIndex, borderIndex, lastBorderIndex);
-                }
-
-                skirtOptions.lastBorderPoint = borderPoint;
-            }
-        }
-    var createVerticesFromGoogleEarthEnterpriseBuffer$1 = createTaskProcessorWorker(createVerticesFromGoogleEarthEnterpriseBuffer);
-
-    return createVerticesFromGoogleEarthEnterpriseBuffer$1;
-
-});
diff --git a/libs/supermap/Workers/createVerticesFromHeightmap.js b/libs/supermap/Workers/createVerticesFromHeightmap.js
deleted file mode 100644
index e23654b..0000000
--- a/libs/supermap/Workers/createVerticesFromHeightmap.js
+++ /dev/null
@@ -1,2623 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './AttributeCompression-50ff7145', './IntersectionTests-99e636d3', './Plane-d0f009aa', './WebMercatorProjection-0391f892', './createTaskProcessorWorker', './EllipsoidTangentPlane-fe3014f8', './OrientedBoundingBox-2b1de35e', './TerrainEncoding-68dd69c9'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, FeatureDetection, Transforms, buildModuleUrl, AttributeCompression, IntersectionTests, Plane, WebMercatorProjection, createTaskProcessorWorker, EllipsoidTangentPlane, OrientedBoundingBox, TerrainEncoding) { 'use strict';
-
-    /**
-         * The encoding that is used for a heightmap
-         *
-         * @exports HeightmapEncoding
-         */
-        var HeightmapEncoding = {
-            /**
-             * No encoding
-             *
-             * @type {Number}
-             * @constant
-             */
-            NONE: 0,
-
-            /**
-             * LERC encoding
-             *
-             * @type {Number}
-             * @constant
-             *
-             * @see {@link https://github.com/Esri/lerc|The LERC specification}
-             */
-            LERC: 1
-        };
-    var HeightmapEncoding$1 = Object.freeze(HeightmapEncoding);
-
-    /**
-         * Contains functions to create a mesh from a heightmap image.
-         *
-         * @exports HeightmapTessellator
-         *
-         * @private
-         */
-        var HeightmapTessellator = {};
-
-        /**
-         * The default structure of a heightmap, as given to {@link HeightmapTessellator.computeVertices}.
-         *
-         * @constant
-         */
-        HeightmapTessellator.DEFAULT_STRUCTURE = Object.freeze({
-            heightScale : 1.0,
-            heightOffset : 0.0,
-            elementsPerHeight : 1,
-            stride : 1,
-            elementMultiplier : 256.0,
-            isBigEndian : false
-        });
-
-        var cartesian3Scratch = new Cartesian2.Cartesian3();
-        var matrix4Scratch = new BoundingSphere.Matrix4();
-        var minimumScratch = new Cartesian2.Cartesian3();
-        var maximumScratch = new Cartesian2.Cartesian3();
-
-        /**
-         * Fills an array of vertices from a heightmap image.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {TypedArray} options.heightmap The heightmap to tessellate.
-         * @param {Number} options.width The width of the heightmap, in height samples.
-         * @param {Number} options.height The height of the heightmap, in height samples.
-         * @param {Number} options.skirtHeight The height of skirts to drape at the edges of the heightmap.
-         * @param {Rectangle} options.nativeRectangle A rectangle in the native coordinates of the heightmap's projection.  For
-         *                 a heightmap with a geographic projection, this is degrees.  For the web mercator
-         *                 projection, this is meters.
-         * @param {Number} [options.exaggeration=1.0] The scale used to exaggerate the terrain.
-         * @param {Rectangle} [options.rectangle] The rectangle covered by the heightmap, in geodetic coordinates with north, south, east and
-         *                 west properties in radians.  Either rectangle or nativeRectangle must be provided.  If both
-         *                 are provided, they're assumed to be consistent.
-         * @param {Boolean} [options.isGeographic=true] True if the heightmap uses a {@link GeographicProjection}, or false if it uses
-         *                  a {@link WebMercatorProjection}.
-         * @param {Cartesian3} [options.relativeToCenter=Cartesian3.ZERO] The positions will be computed as <code>Cartesian3.subtract(worldPosition, relativeToCenter)</code>.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to which the heightmap applies.
-         * @param {Object} [options.structure] An object describing the structure of the height data.
-         * @param {Number} [options.structure.heightScale=1.0] The factor by which to multiply height samples in order to obtain
-         *                 the height above the heightOffset, in meters.  The heightOffset is added to the resulting
-         *                 height after multiplying by the scale.
-         * @param {Number} [options.structure.heightOffset=0.0] The offset to add to the scaled height to obtain the final
-         *                 height in meters.  The offset is added after the height sample is multiplied by the
-         *                 heightScale.
-         * @param {Number} [options.structure.elementsPerHeight=1] The number of elements in the buffer that make up a single height
-         *                 sample.  This is usually 1, indicating that each element is a separate height sample.  If
-         *                 it is greater than 1, that number of elements together form the height sample, which is
-         *                 computed according to the structure.elementMultiplier and structure.isBigEndian properties.
-         * @param {Number} [options.structure.stride=1] The number of elements to skip to get from the first element of
-         *                 one height to the first element of the next height.
-         * @param {Number} [options.structure.elementMultiplier=256.0] The multiplier used to compute the height value when the
-         *                 stride property is greater than 1.  For example, if the stride is 4 and the strideMultiplier
-         *                 is 256, the height is computed as follows:
-         *                 `height = buffer[index] + buffer[index + 1] * 256 + buffer[index + 2] * 256 * 256 + buffer[index + 3] * 256 * 256 * 256`
-         *                 This is assuming that the isBigEndian property is false.  If it is true, the order of the
-         *                 elements is reversed.
-         * @param {Number} [options.structure.lowestEncodedHeight] The lowest value that can be stored in the height buffer.  Any heights that are lower
-         *                 than this value after encoding with the `heightScale` and `heightOffset` are clamped to this value.  For example, if the height
-         *                 buffer is a `Uint16Array`, this value should be 0 because a `Uint16Array` cannot store negative numbers.  If this parameter is
-         *                 not specified, no minimum value is enforced.
-         * @param {Number} [options.structure.highestEncodedHeight] The highest value that can be stored in the height buffer.  Any heights that are higher
-         *                 than this value after encoding with the `heightScale` and `heightOffset` are clamped to this value.  For example, if the height
-         *                 buffer is a `Uint16Array`, this value should be `256 * 256 - 1` or 65535 because a `Uint16Array` cannot store numbers larger
-         *                 than 65535.  If this parameter is not specified, no maximum value is enforced.
-         * @param {Boolean} [options.structure.isBigEndian=false] Indicates endianness of the elements in the buffer when the
-         *                  stride property is greater than 1.  If this property is false, the first element is the
-         *                  low-order element.  If it is true, the first element is the high-order element.
-         *
-         * @example
-         * var width = 5;
-         * var height = 5;
-         * var statistics = Cesium.HeightmapTessellator.computeVertices({
-         *     heightmap : [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0],
-         *     width : width,
-         *     height : height,
-         *     skirtHeight : 0.0,
-         *     nativeRectangle : {
-         *         west : 10.0,
-         *         east : 20.0,
-         *         south : 30.0,
-         *         north : 40.0
-         *     }
-         * });
-         *
-         * var encoding = statistics.encoding;
-         * var position = encoding.decodePosition(statistics.vertices, index * encoding.getStride());
-         */
-        HeightmapTessellator.computeVertices = function(options) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(options) || !when.defined(options.heightmap)) {
-                throw new Check.DeveloperError('options.heightmap is required.');
-            }
-            if (!when.defined(options.width) || !when.defined(options.height)) {
-                throw new Check.DeveloperError('options.width and options.height are required.');
-            }
-            if (!when.defined(options.nativeRectangle)) {
-                throw new Check.DeveloperError('options.nativeRectangle is required.');
-            }
-            if (!when.defined(options.skirtHeight)) {
-                throw new Check.DeveloperError('options.skirtHeight is required.');
-            }
-            //>>includeEnd('debug');
-
-            // This function tends to be a performance hotspot for terrain rendering,
-            // so it employs a lot of inlining and unrolling as an optimization.
-            // In particular, the functionality of Ellipsoid.cartographicToCartesian
-            // is inlined.
-
-            var cos = Math.cos;
-            var sin = Math.sin;
-            var sqrt = Math.sqrt;
-            var atan = Math.atan;
-            var exp = Math.exp;
-            var piOverTwo = _Math.CesiumMath.PI_OVER_TWO;
-            var toRadians = _Math.CesiumMath.toRadians;
-
-            var heightmap = options.heightmap;
-            var width = options.width;
-            var height = options.height;
-            var skirtHeight = options.skirtHeight;
-
-            var isGeographic = when.defaultValue(options.isGeographic, true);
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-
-            var oneOverGlobeSemimajorAxis = 1.0 / ellipsoid.maximumRadius;
-
-            var nativeRectangle = options.nativeRectangle;
-
-            var geographicWest;
-            var geographicSouth;
-            var geographicEast;
-            var geographicNorth;
-
-            var rectangle = options.rectangle;
-            if (!when.defined(rectangle)) {
-                if (isGeographic) {
-                    geographicWest = toRadians(nativeRectangle.west);
-                    geographicSouth = toRadians(nativeRectangle.south);
-                    geographicEast = toRadians(nativeRectangle.east);
-                    geographicNorth = toRadians(nativeRectangle.north);
-                } else {
-                    geographicWest = nativeRectangle.west * oneOverGlobeSemimajorAxis;
-                    geographicSouth = piOverTwo - (2.0 * atan(exp(-nativeRectangle.south * oneOverGlobeSemimajorAxis)));
-                    geographicEast = nativeRectangle.east * oneOverGlobeSemimajorAxis;
-                    geographicNorth = piOverTwo - (2.0 * atan(exp(-nativeRectangle.north * oneOverGlobeSemimajorAxis)));
-                }
-            } else {
-                geographicWest = rectangle.west;
-                geographicSouth = rectangle.south;
-                geographicEast = rectangle.east;
-                geographicNorth = rectangle.north;
-            }
-
-            var relativeToCenter = options.relativeToCenter;
-            var hasRelativeToCenter = when.defined(relativeToCenter);
-            relativeToCenter = hasRelativeToCenter ? relativeToCenter : Cartesian2.Cartesian3.ZERO;
-            var exaggeration = when.defaultValue(options.exaggeration, 1.0);
-            var includeWebMercatorT = when.defaultValue(options.includeWebMercatorT, false);
-
-            var structure = when.defaultValue(options.structure, HeightmapTessellator.DEFAULT_STRUCTURE);
-            var heightScale = when.defaultValue(structure.heightScale, HeightmapTessellator.DEFAULT_STRUCTURE.heightScale);
-            var heightOffset = when.defaultValue(structure.heightOffset, HeightmapTessellator.DEFAULT_STRUCTURE.heightOffset);
-            var elementsPerHeight = when.defaultValue(structure.elementsPerHeight, HeightmapTessellator.DEFAULT_STRUCTURE.elementsPerHeight);
-            var stride = when.defaultValue(structure.stride, HeightmapTessellator.DEFAULT_STRUCTURE.stride);
-            var elementMultiplier = when.defaultValue(structure.elementMultiplier, HeightmapTessellator.DEFAULT_STRUCTURE.elementMultiplier);
-            var isBigEndian = when.defaultValue(structure.isBigEndian, HeightmapTessellator.DEFAULT_STRUCTURE.isBigEndian);
-
-            var rectangleWidth = Cartesian2.Rectangle.computeWidth(nativeRectangle);
-            var rectangleHeight = Cartesian2.Rectangle.computeHeight(nativeRectangle);
-
-            var granularityX = rectangleWidth / (width - 1);
-            var granularityY = rectangleHeight / (height - 1);
-
-            if (!isGeographic) {
-                rectangleWidth *= oneOverGlobeSemimajorAxis;
-                rectangleHeight *= oneOverGlobeSemimajorAxis;
-            }
-
-            var radiiSquared = ellipsoid.radiiSquared;
-            var radiiSquaredX = radiiSquared.x;
-            var radiiSquaredY = radiiSquared.y;
-            var radiiSquaredZ = radiiSquared.z;
-
-            var minimumHeight = 65536.0;
-            var maximumHeight = -65536.0;
-
-            var fromENU = Transforms.Transforms.eastNorthUpToFixedFrame(relativeToCenter, ellipsoid);
-            var toENU = BoundingSphere.Matrix4.inverseTransformation(fromENU, matrix4Scratch);
-
-            var southMercatorY;
-            var oneOverMercatorHeight;
-            if (includeWebMercatorT) {
-                southMercatorY = WebMercatorProjection.WebMercatorProjection.geodeticLatitudeToMercatorAngle(geographicSouth);
-                oneOverMercatorHeight = 1.0 / (WebMercatorProjection.WebMercatorProjection.geodeticLatitudeToMercatorAngle(geographicNorth) - southMercatorY);
-            }
-
-            var minimum = minimumScratch;
-            minimum.x = Number.POSITIVE_INFINITY;
-            minimum.y = Number.POSITIVE_INFINITY;
-            minimum.z = Number.POSITIVE_INFINITY;
-
-            var maximum = maximumScratch;
-            maximum.x = Number.NEGATIVE_INFINITY;
-            maximum.y = Number.NEGATIVE_INFINITY;
-            maximum.z = Number.NEGATIVE_INFINITY;
-
-            var hMin = Number.POSITIVE_INFINITY;
-
-            var gridVertexCount = width * height;
-            var edgeVertexCount = skirtHeight > 0.0 ? (width * 2 + height * 2) : 0;
-            var vertexCount = gridVertexCount + edgeVertexCount;
-
-            var positions = new Array(vertexCount);
-            var heights = new Array(vertexCount);
-            var uvs = new Array(vertexCount);
-            var webMercatorTs = includeWebMercatorT ? new Array(vertexCount) : [];
-
-            var startRow = 0;
-            var endRow = height;
-            var startCol = 0;
-            var endCol = width;
-
-            if (skirtHeight > 0.0) {
-                --startRow;
-                ++endRow;
-                --startCol;
-                ++endCol;
-            }
-
-            var skirtOffsetPercentage = 0.00001;
-
-            for (var rowIndex = startRow; rowIndex < endRow; ++rowIndex) {
-                var row = rowIndex;
-                if (row < 0) {
-                    row = 0;
-                }
-                if (row >= height) {
-                    row = height - 1;
-                }
-
-                var latitude = nativeRectangle.north - granularityY * row;
-
-                if (!isGeographic) {
-                    latitude = piOverTwo - (2.0 * atan(exp(-latitude * oneOverGlobeSemimajorAxis)));
-                } else {
-                    latitude = toRadians(latitude);
-                }
-
-                var v = (latitude - geographicSouth) / (geographicNorth - geographicSouth);
-                v = _Math.CesiumMath.clamp(v, 0.0, 1.0);
-
-                var isNorthEdge = rowIndex === startRow;
-                var isSouthEdge = rowIndex === endRow - 1;
-                if (skirtHeight > 0.0) {
-                    if (isNorthEdge) {
-                        latitude += skirtOffsetPercentage * rectangleHeight;
-                    } else if (isSouthEdge) {
-                        latitude -= skirtOffsetPercentage * rectangleHeight;
-                    }
-                }
-
-                var cosLatitude = cos(latitude);
-                var nZ = sin(latitude);
-                var kZ = radiiSquaredZ * nZ;
-
-                var webMercatorT;
-                if (includeWebMercatorT) {
-                    webMercatorT = (WebMercatorProjection.WebMercatorProjection.geodeticLatitudeToMercatorAngle(latitude) - southMercatorY) * oneOverMercatorHeight;
-                }
-
-                for (var colIndex = startCol; colIndex < endCol; ++colIndex) {
-                    var col = colIndex;
-                    if (col < 0) {
-                        col = 0;
-                    }
-                    if (col >= width) {
-                        col = width - 1;
-                    }
-
-                    var terrainOffset = row * (width * stride) + col * stride;
-
-                    var heightSample;
-                    if (elementsPerHeight === 1) {
-                        heightSample = heightmap[terrainOffset];
-                    } else {
-                        heightSample = 0;
-
-                        var elementOffset;
-                        if (isBigEndian) {
-                            for (elementOffset = 0; elementOffset < elementsPerHeight; ++elementOffset) {
-                                heightSample = (heightSample * elementMultiplier) + heightmap[terrainOffset + elementOffset];
-                            }
-                        } else {
-                            for (elementOffset = elementsPerHeight - 1; elementOffset >= 0; --elementOffset) {
-                                heightSample = (heightSample * elementMultiplier) + heightmap[terrainOffset + elementOffset];
-                            }
-                        }
-                    }
-
-                    heightSample = (heightSample * heightScale + heightOffset) * exaggeration;
-
-                    maximumHeight = Math.max(maximumHeight, heightSample);
-                    minimumHeight = Math.min(minimumHeight, heightSample);
-
-                    var longitude = nativeRectangle.west + granularityX * col;
-
-                    if (!isGeographic) {
-                        longitude = longitude * oneOverGlobeSemimajorAxis;
-                    } else {
-                        longitude = toRadians(longitude);
-                    }
-
-                    var u = (longitude - geographicWest) / (geographicEast - geographicWest);
-                    u = _Math.CesiumMath.clamp(u, 0.0, 1.0);
-
-                    var index = row * width + col;
-
-                    if (skirtHeight > 0.0) {
-                        var isWestEdge = colIndex === startCol;
-                        var isEastEdge = colIndex === endCol - 1;
-                        var isEdge = isNorthEdge || isSouthEdge || isWestEdge || isEastEdge;
-                        var isCorner = (isNorthEdge || isSouthEdge) && (isWestEdge || isEastEdge);
-                        if (isCorner) {
-                            // Don't generate skirts on the corners.
-                            continue;
-                        } else if (isEdge) {
-                            heightSample -= skirtHeight;
-
-                            if (isWestEdge) {
-                                // The outer loop iterates north to south but the indices are ordered south to north, hence the index flip below
-                                index = gridVertexCount + (height - row - 1);
-                                longitude -= skirtOffsetPercentage * rectangleWidth;
-                            } else if (isSouthEdge) {
-                                // Add after west indices. South indices are ordered east to west.
-                                index = gridVertexCount + height + (width - col - 1);
-                            } else if (isEastEdge) {
-                                // Add after west and south indices. East indices are ordered north to south. The index is flipped like above.
-                                index = gridVertexCount + height + width + row;
-                                longitude += skirtOffsetPercentage * rectangleWidth;
-                            } else if (isNorthEdge) {
-                                // Add after west, south, and east indices. North indices are ordered west to east.
-                                index = gridVertexCount + height + width + height + col;
-                            }
-                        }
-                    }
-
-                    var nX = cosLatitude * cos(longitude);
-                    var nY = cosLatitude * sin(longitude);
-
-                    var kX = radiiSquaredX * nX;
-                    var kY = radiiSquaredY * nY;
-
-                    var gamma = sqrt((kX * nX) + (kY * nY) + (kZ * nZ));
-                    var oneOverGamma = 1.0 / gamma;
-
-                    var rSurfaceX = kX * oneOverGamma;
-                    var rSurfaceY = kY * oneOverGamma;
-                    var rSurfaceZ = kZ * oneOverGamma;
-
-                    var position = new Cartesian2.Cartesian3();
-                    position.x = rSurfaceX + nX * heightSample;
-                    position.y = rSurfaceY + nY * heightSample;
-                    position.z = rSurfaceZ + nZ * heightSample;
-
-                    positions[index] = position;
-                    heights[index] = heightSample;
-                    uvs[index] = new Cartesian2.Cartesian2(u, v);
-
-                    if (includeWebMercatorT) {
-                        webMercatorTs[index] = webMercatorT;
-                    }
-
-                    BoundingSphere.Matrix4.multiplyByPoint(toENU, position, cartesian3Scratch);
-
-                    Cartesian2.Cartesian3.minimumByComponent(cartesian3Scratch, minimum, minimum);
-                    Cartesian2.Cartesian3.maximumByComponent(cartesian3Scratch, maximum, maximum);
-                    hMin = Math.min(hMin, heightSample);
-                }
-            }
-
-            var boundingSphere3D = BoundingSphere.BoundingSphere.fromPoints(positions);
-            var orientedBoundingBox;
-            if (when.defined(rectangle)) {
-                orientedBoundingBox = OrientedBoundingBox.OrientedBoundingBox.fromRectangle(rectangle, minimumHeight, maximumHeight, ellipsoid);
-            }
-
-            var occludeePointInScaledSpace;
-            if (hasRelativeToCenter) {
-                var occluder = new TerrainEncoding.EllipsoidalOccluder(ellipsoid);
-                occludeePointInScaledSpace = occluder.computeHorizonCullingPointPossiblyUnderEllipsoid(relativeToCenter, positions, minimumHeight);
-            }
-
-            var aaBox = new EllipsoidTangentPlane.AxisAlignedBoundingBox(minimum, maximum, relativeToCenter);
-            var encoding = new TerrainEncoding.TerrainEncoding(aaBox, hMin, maximumHeight, fromENU, false, includeWebMercatorT);
-            var vertices = new Float32Array(vertexCount * encoding.getStride());
-
-            var bufferIndex = 0;
-            for (var j = 0; j < vertexCount; ++j) {
-                bufferIndex = encoding.encode(vertices, bufferIndex, positions[j], uvs[j], heights[j], undefined, webMercatorTs[j]);
-            }
-
-            return {
-                vertices : vertices,
-                maximumHeight : maximumHeight,
-                minimumHeight : minimumHeight,
-                encoding : encoding,
-                boundingSphere3D : boundingSphere3D,
-                orientedBoundingBox : orientedBoundingBox,
-                occludeePointInScaledSpace : occludeePointInScaledSpace
-            };
-        };
-
-    /* jshint forin: false, bitwise: false */
-    /*
-    Copyright 2015-2018 Esri
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
-    A copy of the license and additional notices are located with the
-    source distribution at:
-
-    http://github.com/Esri/lerc/
-
-    Contributors:  Johannes Schmid, (LERC v1)
-                   Chayanika Khatua, (LERC v1)
-                   Wenxue Ju (LERC v1, v2.x)
-    */
-
-    /* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */
-
-    var tmp = {};
-
-    /**
-     * a module for decoding LERC blobs
-     * @module Lerc
-     */
-    (function() {
-      //the original LercDecode for Version 1
-      var LercDecode = (function() {
-
-        // WARNING: This decoder version can only read old version 1 Lerc blobs. Use with caution.
-
-        // Note: currently, this module only has an implementation for decoding LERC data, not encoding. The name of
-        // the class was chosen to be future proof.
-
-        var CntZImage = {};
-
-        CntZImage.defaultNoDataValue = -3.4027999387901484e+38; // smallest Float32 value
-
-        /**
-         * Decode a LERC byte stream and return an object containing the pixel data and some required and optional
-         * information about it, such as the image's width and height.
-         *
-         * @param {ArrayBuffer} input The LERC input byte stream
-         * @param {object} [options] Decoding options, containing any of the following properties:
-         * @config {number} [inputOffset = 0]
-         *        Skip the first inputOffset bytes of the input byte stream. A valid LERC file is expected at that position.
-         * @config {Uint8Array} [encodedMask = null]
-         *        If specified, the decoder will not read mask information from the input and use the specified encoded
-         *        mask data instead. Mask header/data must not be present in the LERC byte stream in this case.
-         * @config {number} [noDataValue = LercCode.defaultNoDataValue]
-         *        Pixel value to use for masked pixels.
-         * @config {ArrayBufferView|Array} [pixelType = Float32Array]
-         *        The desired type of the pixelData array in the return value. Note that it is the caller's responsibility to
-         *        provide an appropriate noDataValue if the default pixelType is overridden.
-         * @config {boolean} [returnMask = false]
-         *        If true, the return value will contain a maskData property of type Uint8Array which has one element per
-         *        pixel, the value of which is 1 or 0 depending on whether that pixel's data is present or masked. If the
-         *        input LERC data does not contain a mask, maskData will not be returned.
-         * @config {boolean} [returnEncodedMask = false]
-         *        If true, the return value will contain a encodedMaskData property, which can be passed into encode() as
-         *        encodedMask.
-         * @config {boolean} [returnFileInfo = false]
-         *        If true, the return value will have a fileInfo property that contains metadata obtained from the
-         *        LERC headers and the decoding process.
-         * @config {boolean} [computeUsedBitDepths = false]
-         *        If true, the fileInfo property in the return value will contain the set of all block bit depths
-         *        encountered during decoding. Will only have an effect if returnFileInfo option is true.
-         * @returns {{width, height, pixelData, minValue, maxValue, noDataValue, maskData, encodedMaskData, fileInfo}}
-         */
-        CntZImage.decode = function(input, options) {
-          options = options || {};
-
-          var skipMask = options.encodedMaskData || (options.encodedMaskData === null);
-          var parsedData = parse(input, options.inputOffset || 0, skipMask);
-
-          var noDataValue = (options.noDataValue !== null) ? options.noDataValue : CntZImage.defaultNoDataValue;
-
-          var uncompressedData = uncompressPixelValues(parsedData, options.pixelType || Float32Array,
-            options.encodedMaskData, noDataValue, options.returnMask);
-
-          var result = {
-            width: parsedData.width,
-            height: parsedData.height,
-            pixelData: uncompressedData.resultPixels,
-            minValue: uncompressedData.minValue,
-            maxValue: parsedData.pixels.maxValue,
-            noDataValue: noDataValue
-          };
-
-          if (uncompressedData.resultMask) {
-            result.maskData = uncompressedData.resultMask;
-          }
-
-          if (options.returnEncodedMask && parsedData.mask) {
-            result.encodedMaskData = parsedData.mask.bitset ? parsedData.mask.bitset : null;
-          }
-
-          if (options.returnFileInfo) {
-            result.fileInfo = formatFileInfo(parsedData);
-            if (options.computeUsedBitDepths) {
-              result.fileInfo.bitDepths = computeUsedBitDepths(parsedData);
-            }
-          }
-
-          return result;
-        };
-
-        var uncompressPixelValues = function(data, TypedArrayClass, maskBitset, noDataValue, storeDecodedMask) {
-          var blockIdx = 0;
-          var numX = data.pixels.numBlocksX;
-          var numY = data.pixels.numBlocksY;
-          var blockWidth = Math.floor(data.width / numX);
-          var blockHeight = Math.floor(data.height / numY);
-          var scale = 2 * data.maxZError;
-          var minValue = Number.MAX_VALUE, currentValue;
-          maskBitset = maskBitset || ((data.mask) ? data.mask.bitset : null);
-
-          var resultPixels, resultMask;
-          resultPixels = new TypedArrayClass(data.width * data.height);
-          if (storeDecodedMask && maskBitset) {
-            resultMask = new Uint8Array(data.width * data.height);
-          }
-          var blockDataBuffer = new Float32Array(blockWidth * blockHeight);
-
-          var xx, yy;
-          for (var y = 0; y <= numY; y++) {
-            var thisBlockHeight = (y !== numY) ? blockHeight : (data.height % numY);
-            if (thisBlockHeight === 0) {
-              continue;
-            }
-            for (var x = 0; x <= numX; x++) {
-              var thisBlockWidth = (x !== numX) ? blockWidth : (data.width % numX);
-              if (thisBlockWidth === 0) {
-                continue;
-              }
-
-              var outPtr = y * data.width * blockHeight + x * blockWidth;
-              var outStride = data.width - thisBlockWidth;
-
-              var block = data.pixels.blocks[blockIdx];
-
-              var blockData, blockPtr, constValue;
-              if (block.encoding < 2) {
-                // block is either uncompressed or bit-stuffed (encodings 0 and 1)
-                if (block.encoding === 0) {
-                  // block is uncompressed
-                  blockData = block.rawData;
-                } else {
-                  // block is bit-stuffed
-                  unstuff(block.stuffedData, block.bitsPerPixel, block.numValidPixels, block.offset, scale, blockDataBuffer, data.pixels.maxValue);
-                  blockData = blockDataBuffer;
-                }
-                blockPtr = 0;
-              }
-              else if (block.encoding === 2) {
-                // block is all 0
-                constValue = 0;
-              }
-              else {
-                // block has constant value (encoding === 3)
-                constValue = block.offset;
-              }
-
-              var maskByte;
-              if (maskBitset) {
-                for (yy = 0; yy < thisBlockHeight; yy++) {
-                  if (outPtr & 7) {
-                    //
-                    maskByte = maskBitset[outPtr >> 3];
-                    maskByte <<= outPtr & 7;
-                  }
-                  for (xx = 0; xx < thisBlockWidth; xx++) {
-                    if (!(outPtr & 7)) {
-                      // read next byte from mask
-                      maskByte = maskBitset[outPtr >> 3];
-                    }
-                    if (maskByte & 128) {
-                      // pixel data present
-                      if (resultMask) {
-                        resultMask[outPtr] = 1;
-                      }
-                      currentValue = (block.encoding < 2) ? blockData[blockPtr++] : constValue;
-                      minValue = minValue > currentValue ? currentValue : minValue;
-                      resultPixels[outPtr++] = currentValue;
-                    } else {
-                      // pixel data not present
-                      if (resultMask) {
-                        resultMask[outPtr] = 0;
-                      }
-                      resultPixels[outPtr++] = noDataValue;
-                    }
-                    maskByte <<= 1;
-                  }
-                  outPtr += outStride;
-                }
-              } else {
-                // mask not present, simply copy block over
-                if (block.encoding < 2) {
-                  // duplicating this code block for performance reasons
-                  // blockData case:
-                  for (yy = 0; yy < thisBlockHeight; yy++) {
-                    for (xx = 0; xx < thisBlockWidth; xx++) {
-                      currentValue = blockData[blockPtr++];
-                      minValue = minValue > currentValue ? currentValue : minValue;
-                      resultPixels[outPtr++] = currentValue;
-                    }
-                    outPtr += outStride;
-                  }
-                }
-                else {
-                  // constValue case:
-                  minValue = minValue > constValue ? constValue : minValue;
-                  for (yy = 0; yy < thisBlockHeight; yy++) {
-                    for (xx = 0; xx < thisBlockWidth; xx++) {
-                      resultPixels[outPtr++] = constValue;
-                    }
-                    outPtr += outStride;
-                  }
-                }
-              }
-              if ((block.encoding === 1) && (blockPtr !== block.numValidPixels)) {
-                throw "Block and Mask do not match";
-              }
-              blockIdx++;
-            }
-          }
-
-          return {
-            resultPixels: resultPixels,
-            resultMask: resultMask,
-            minValue: minValue
-          };
-        };
-
-        var formatFileInfo = function(data) {
-          return {
-            "fileIdentifierString": data.fileIdentifierString,
-            "fileVersion": data.fileVersion,
-            "imageType": data.imageType,
-            "height": data.height,
-            "width": data.width,
-            "maxZError": data.maxZError,
-            "eofOffset": data.eofOffset,
-            "mask": data.mask ? {
-              "numBlocksX": data.mask.numBlocksX,
-              "numBlocksY": data.mask.numBlocksY,
-              "numBytes": data.mask.numBytes,
-              "maxValue": data.mask.maxValue
-            } : null,
-            "pixels": {
-              "numBlocksX": data.pixels.numBlocksX,
-              "numBlocksY": data.pixels.numBlocksY,
-              "numBytes": data.pixels.numBytes,
-              "maxValue": data.pixels.maxValue,
-              "noDataValue": data.noDataValue
-            }
-          };
-        };
-
-        var computeUsedBitDepths = function(data) {
-          var numBlocks = data.pixels.numBlocksX * data.pixels.numBlocksY;
-          var bitDepths = {};
-          for (var i = 0; i < numBlocks; i++) {
-            var block = data.pixels.blocks[i];
-            if (block.encoding === 0) {
-              bitDepths.float32 = true;
-            } else if (block.encoding === 1) {
-              bitDepths[block.bitsPerPixel] = true;
-            } else {
-              bitDepths[0] = true;
-            }
-          }
-
-          return Object.keys(bitDepths);
-        };
-
-        var parse = function(input, fp, skipMask) {
-          var data = {};
-
-          // File header
-          var fileIdView = new Uint8Array(input, fp, 10);
-          data.fileIdentifierString = String.fromCharCode.apply(null, fileIdView);
-          if (data.fileIdentifierString.trim() !== "CntZImage") {
-            throw "Unexpected file identifier string: " + data.fileIdentifierString;
-          }
-          fp += 10;
-          var view = new DataView(input, fp, 24);
-          data.fileVersion = view.getInt32(0, true);
-          data.imageType = view.getInt32(4, true);
-          data.height = view.getUint32(8, true);
-          data.width = view.getUint32(12, true);
-          data.maxZError = view.getFloat64(16, true);
-          fp += 24;
-
-          // Mask Header
-          if (!skipMask) {
-            view = new DataView(input, fp, 16);
-            data.mask = {};
-            data.mask.numBlocksY = view.getUint32(0, true);
-            data.mask.numBlocksX = view.getUint32(4, true);
-            data.mask.numBytes = view.getUint32(8, true);
-            data.mask.maxValue = view.getFloat32(12, true);
-            fp += 16;
-
-            // Mask Data
-            if (data.mask.numBytes > 0) {
-              var bitset = new Uint8Array(Math.ceil(data.width * data.height / 8));
-              view = new DataView(input, fp, data.mask.numBytes);
-              var cnt = view.getInt16(0, true);
-              var ip = 2, op = 0;
-              do {
-                if (cnt > 0) {
-                  while (cnt--) { bitset[op++] = view.getUint8(ip++); }
-                } else {
-                  var val = view.getUint8(ip++);
-                  cnt = -cnt;
-                  while (cnt--) { bitset[op++] = val; }
-                }
-                cnt = view.getInt16(ip, true);
-                ip += 2;
-              } while (ip < data.mask.numBytes);
-              if ((cnt !== -32768) || (op < bitset.length)) {
-                throw "Unexpected end of mask RLE encoding";
-              }
-              data.mask.bitset = bitset;
-              fp += data.mask.numBytes;
-            }
-            else if ((data.mask.numBytes | data.mask.numBlocksY | data.mask.maxValue) === 0) {  // Special case, all nodata
-              data.mask.bitset = new Uint8Array(Math.ceil(data.width * data.height / 8));
-            }
-          }
-
-          // Pixel Header
-          view = new DataView(input, fp, 16);
-          data.pixels = {};
-          data.pixels.numBlocksY = view.getUint32(0, true);
-          data.pixels.numBlocksX = view.getUint32(4, true);
-          data.pixels.numBytes = view.getUint32(8, true);
-          data.pixels.maxValue = view.getFloat32(12, true);
-          fp += 16;
-
-          var numBlocksX = data.pixels.numBlocksX;
-          var numBlocksY = data.pixels.numBlocksY;
-          // the number of blocks specified in the header does not take into account the blocks at the end of
-          // each row/column with a special width/height that make the image complete in case the width is not
-          // evenly divisible by the number of blocks.
-          var actualNumBlocksX = numBlocksX + ((data.width % numBlocksX) > 0 ? 1 : 0);
-          var actualNumBlocksY = numBlocksY + ((data.height % numBlocksY) > 0 ? 1 : 0);
-          data.pixels.blocks = new Array(actualNumBlocksX * actualNumBlocksY);
-          var blockI = 0;
-          for (var blockY = 0; blockY < actualNumBlocksY; blockY++) {
-            for (var blockX = 0; blockX < actualNumBlocksX; blockX++) {
-
-              // Block
-              var size = 0;
-              var bytesLeft = input.byteLength - fp;
-              view = new DataView(input, fp, Math.min(10, bytesLeft));
-              var block = {};
-              data.pixels.blocks[blockI++] = block;
-              var headerByte = view.getUint8(0); size++;
-              block.encoding = headerByte & 63;
-              if (block.encoding > 3) {
-                throw "Invalid block encoding (" + block.encoding + ")";
-              }
-              if (block.encoding === 2) {
-                fp++;
-                continue;
-              }
-              if ((headerByte !== 0) && (headerByte !== 2)) {
-                headerByte >>= 6;
-                block.offsetType = headerByte;
-                if (headerByte === 2) {
-                  block.offset = view.getInt8(1); size++;
-                } else if (headerByte === 1) {
-                  block.offset = view.getInt16(1, true); size += 2;
-                } else if (headerByte === 0) {
-                  block.offset = view.getFloat32(1, true); size += 4;
-                } else {
-                  throw "Invalid block offset type";
-                }
-
-                if (block.encoding === 1) {
-                  headerByte = view.getUint8(size); size++;
-                  block.bitsPerPixel = headerByte & 63;
-                  headerByte >>= 6;
-                  block.numValidPixelsType = headerByte;
-                  if (headerByte === 2) {
-                    block.numValidPixels = view.getUint8(size); size++;
-                  } else if (headerByte === 1) {
-                    block.numValidPixels = view.getUint16(size, true); size += 2;
-                  } else if (headerByte === 0) {
-                    block.numValidPixels = view.getUint32(size, true); size += 4;
-                  } else {
-                    throw "Invalid valid pixel count type";
-                  }
-                }
-              }
-              fp += size;
-
-              if (block.encoding === 3) {
-                continue;
-              }
-
-              var arrayBuf, store8;
-              if (block.encoding === 0) {
-                var numPixels = (data.pixels.numBytes - 1) / 4;
-                if (numPixels !== Math.floor(numPixels)) {
-                  throw "uncompressed block has invalid length";
-                }
-                arrayBuf = new ArrayBuffer(numPixels * 4);
-                store8 = new Uint8Array(arrayBuf);
-                store8.set(new Uint8Array(input, fp, numPixels * 4));
-                var rawData = new Float32Array(arrayBuf);
-                block.rawData = rawData;
-                fp += numPixels * 4;
-              } else if (block.encoding === 1) {
-                var dataBytes = Math.ceil(block.numValidPixels * block.bitsPerPixel / 8);
-                var dataWords = Math.ceil(dataBytes / 4);
-                arrayBuf = new ArrayBuffer(dataWords * 4);
-                store8 = new Uint8Array(arrayBuf);
-                store8.set(new Uint8Array(input, fp, dataBytes));
-                block.stuffedData = new Uint32Array(arrayBuf);
-                fp += dataBytes;
-              }
-            }
-          }
-          data.eofOffset = fp;
-          return data;
-        };
-
-        var unstuff = function(src, bitsPerPixel, numPixels, offset, scale, dest, maxValue) {
-          var bitMask = (1 << bitsPerPixel) - 1;
-          var i = 0, o;
-          var bitsLeft = 0;
-          var n, buffer;
-          var nmax = Math.ceil((maxValue - offset) / scale);
-          // get rid of trailing bytes that are already part of next block
-          var numInvalidTailBytes = src.length * 4 - Math.ceil(bitsPerPixel * numPixels / 8);
-          src[src.length - 1] <<= 8 * numInvalidTailBytes;
-
-          for (o = 0; o < numPixels; o++) {
-            if (bitsLeft === 0) {
-              buffer = src[i++];
-              bitsLeft = 32;
-            }
-            if (bitsLeft >= bitsPerPixel) {
-              n = (buffer >>> (bitsLeft - bitsPerPixel)) & bitMask;
-              bitsLeft -= bitsPerPixel;
-            } else {
-              var missingBits = (bitsPerPixel - bitsLeft);
-              n = ((buffer & bitMask) << missingBits) & bitMask;
-              buffer = src[i++];
-              bitsLeft = 32 - missingBits;
-              n += (buffer >>> bitsLeft);
-            }
-            //pixel values may exceed max due to quantization
-            dest[o] = n < nmax ? offset + n * scale : maxValue;
-          }
-          return dest;
-        };
-
-        return CntZImage;
-      })();
-
-      //version 2. Supports 2.1, 2.2, 2.3
-      var Lerc2Decode = (function() {
-        // Note: currently, this module only has an implementation for decoding LERC data, not encoding. The name of
-        // the class was chosen to be future proof, following LercDecode.
-
-        /*****************************************
-        * private static class bitsutffer used by Lerc2Decode
-        *******************************************/
-        var BitStuffer = {
-          //methods ending with 2 are for the new byte order used by Lerc2.3 and above.
-          //originalUnstuff is used to unpack Huffman code table. code is duplicated to unstuffx for performance reasons.
-          unstuff: function(src, dest, bitsPerPixel, numPixels, lutArr, offset, scale, maxValue) {
-            var bitMask = (1 << bitsPerPixel) - 1;
-            var i = 0, o;
-            var bitsLeft = 0;
-            var n, buffer, missingBits, nmax;
-
-            // get rid of trailing bytes that are already part of next block
-            var numInvalidTailBytes = src.length * 4 - Math.ceil(bitsPerPixel * numPixels / 8);
-            src[src.length - 1] <<= 8 * numInvalidTailBytes;
-            if (lutArr) {
-              for (o = 0; o < numPixels; o++) {
-                if (bitsLeft === 0) {
-                  buffer = src[i++];
-                  bitsLeft = 32;
-                }
-                if (bitsLeft >= bitsPerPixel) {
-                  n = (buffer >>> (bitsLeft - bitsPerPixel)) & bitMask;
-                  bitsLeft -= bitsPerPixel;
-                }
-                else {
-                  missingBits = (bitsPerPixel - bitsLeft);
-                  n = ((buffer & bitMask) << missingBits) & bitMask;
-                  buffer = src[i++];
-                  bitsLeft = 32 - missingBits;
-                  n += (buffer >>> bitsLeft);
-                }
-                dest[o] = lutArr[n];//offset + lutArr[n] * scale;
-              }
-            }
-            else {
-              nmax = Math.ceil((maxValue - offset) / scale);
-              for (o = 0; o < numPixels; o++) {
-                if (bitsLeft === 0) {
-                  buffer = src[i++];
-                  bitsLeft = 32;
-                }
-                if (bitsLeft >= bitsPerPixel) {
-                  n = (buffer >>> (bitsLeft - bitsPerPixel)) & bitMask;
-                  bitsLeft -= bitsPerPixel;
-                }
-                else {
-                  missingBits = (bitsPerPixel - bitsLeft);
-                  n = ((buffer & bitMask) << missingBits) & bitMask;
-                  buffer = src[i++];
-                  bitsLeft = 32 - missingBits;
-                  n += (buffer >>> bitsLeft);
-                }
-                //pixel values may exceed max due to quantization
-                dest[o] = n < nmax ? offset + n * scale : maxValue;
-              }
-            }
-          },
-
-          unstuffLUT: function(src, bitsPerPixel, numPixels, offset, scale, maxValue) {
-            var bitMask = (1 << bitsPerPixel) - 1;
-            var i = 0, o = 0, missingBits = 0, bitsLeft = 0, n = 0;
-            var buffer;
-            var dest = [];
-
-            // get rid of trailing bytes that are already part of next block
-            var numInvalidTailBytes = src.length * 4 - Math.ceil(bitsPerPixel * numPixels / 8);
-            src[src.length - 1] <<= 8 * numInvalidTailBytes;
-
-            var nmax = Math.ceil((maxValue - offset) / scale);
-            for (o = 0; o < numPixels; o++) {
-              if (bitsLeft === 0) {
-                buffer = src[i++];
-                bitsLeft = 32;
-              }
-              if (bitsLeft >= bitsPerPixel) {
-                n = (buffer >>> (bitsLeft - bitsPerPixel)) & bitMask;
-                bitsLeft -= bitsPerPixel;
-              } else {
-                missingBits = (bitsPerPixel - bitsLeft);
-                n = ((buffer & bitMask) << missingBits) & bitMask;
-                buffer = src[i++];
-                bitsLeft = 32 - missingBits;
-                n += (buffer >>> bitsLeft);
-              }
-              //dest.push(n);
-              dest[o] = n < nmax ? offset + n * scale : maxValue;
-            }
-            dest.unshift(offset);//1st one
-            return dest;
-          },
-
-          unstuff2: function(src, dest, bitsPerPixel, numPixels, lutArr, offset, scale, maxValue) {
-            var bitMask = (1 << bitsPerPixel) - 1;
-            var i = 0, o;
-            var bitsLeft = 0, bitPos = 0;
-            var n, buffer, missingBits;
-            if (lutArr) {
-              for (o = 0; o < numPixels; o++) {
-                if (bitsLeft === 0) {
-                  buffer = src[i++];
-                  bitsLeft = 32;
-                  bitPos = 0;
-                }
-                if (bitsLeft >= bitsPerPixel) {
-                  n = ((buffer >>> bitPos) & bitMask);
-                  bitsLeft -= bitsPerPixel;
-                  bitPos += bitsPerPixel;
-                } else {
-                  missingBits = (bitsPerPixel - bitsLeft);
-                  n = (buffer >>> bitPos) & bitMask;
-                  buffer = src[i++];
-                  bitsLeft = 32 - missingBits;
-                  n |= (buffer & ((1 << missingBits) - 1)) << (bitsPerPixel - missingBits);
-                  bitPos = missingBits;
-                }
-                dest[o] = lutArr[n];
-              }
-            }
-            else {
-              var nmax = Math.ceil((maxValue - offset) / scale);
-              for (o = 0; o < numPixels; o++) {
-                if (bitsLeft === 0) {
-                  buffer = src[i++];
-                  bitsLeft = 32;
-                  bitPos = 0;
-                }
-                if (bitsLeft >= bitsPerPixel) {
-                  //no unsigned left shift
-                  n = ((buffer >>> bitPos) & bitMask);
-                  bitsLeft -= bitsPerPixel;
-                  bitPos += bitsPerPixel;
-                } else {
-                  missingBits = (bitsPerPixel - bitsLeft);
-                  n = (buffer >>> bitPos) & bitMask;//((buffer & bitMask) << missingBits) & bitMask;
-                  buffer = src[i++];
-                  bitsLeft = 32 - missingBits;
-                  n |= (buffer & ((1 << missingBits) - 1)) << (bitsPerPixel - missingBits);
-                  bitPos = missingBits;
-                }
-                //pixel values may exceed max due to quantization
-                dest[o] = n < nmax ? offset + n * scale : maxValue;
-              }
-            }
-            return dest;
-          },
-
-          unstuffLUT2: function(src, bitsPerPixel, numPixels, offset, scale, maxValue) {
-            var bitMask = (1 << bitsPerPixel) - 1;
-            var i = 0, o = 0, missingBits = 0, bitsLeft = 0, n = 0, bitPos = 0;
-            var buffer;
-            var dest = [];
-            var nmax = Math.ceil((maxValue - offset) / scale);
-            for (o = 0; o < numPixels; o++) {
-              if (bitsLeft === 0) {
-                buffer = src[i++];
-                bitsLeft = 32;
-                bitPos = 0;
-              }
-              if (bitsLeft >= bitsPerPixel) {
-                //no unsigned left shift
-                n = ((buffer >>> bitPos) & bitMask);
-                bitsLeft -= bitsPerPixel;
-                bitPos += bitsPerPixel;
-              } else {
-                missingBits = (bitsPerPixel - bitsLeft);
-                n = (buffer >>> bitPos) & bitMask;//((buffer & bitMask) << missingBits) & bitMask;
-                buffer = src[i++];
-                bitsLeft = 32 - missingBits;
-                n |= (buffer & ((1 << missingBits) - 1)) << (bitsPerPixel - missingBits);
-                bitPos = missingBits;
-              }
-              //dest.push(n);
-              dest[o] = n < nmax ? offset + n * scale : maxValue;
-            }
-            dest.unshift(offset);
-            return dest;
-          },
-
-          originalUnstuff: function(src, dest, bitsPerPixel, numPixels) {
-            var bitMask = (1 << bitsPerPixel) - 1;
-            var i = 0, o;
-            var bitsLeft = 0;
-            var n, buffer, missingBits;
-
-            // get rid of trailing bytes that are already part of next block
-            var numInvalidTailBytes = src.length * 4 - Math.ceil(bitsPerPixel * numPixels / 8);
-            src[src.length - 1] <<= 8 * numInvalidTailBytes;
-
-            for (o = 0; o < numPixels; o++) {
-              if (bitsLeft === 0) {
-                buffer = src[i++];
-                bitsLeft = 32;
-              }
-              if (bitsLeft >= bitsPerPixel) {
-                n = (buffer >>> (bitsLeft - bitsPerPixel)) & bitMask;
-                bitsLeft -= bitsPerPixel;
-              }
-              else {
-                missingBits = (bitsPerPixel - bitsLeft);
-                n = ((buffer & bitMask) << missingBits) & bitMask;
-                buffer = src[i++];
-                bitsLeft = 32 - missingBits;
-                n += (buffer >>> bitsLeft);
-              }
-              dest[o] = n;
-            }
-            return dest;
-          },
-
-          originalUnstuff2: function(src, dest, bitsPerPixel, numPixels) {
-            var bitMask = (1 << bitsPerPixel) - 1;
-            var i = 0, o;
-            var bitsLeft = 0, bitPos = 0;
-            var n, buffer, missingBits;
-            //micro-optimizations
-            for (o = 0; o < numPixels; o++) {
-              if (bitsLeft === 0) {
-                buffer = src[i++];
-                bitsLeft = 32;
-                bitPos = 0;
-              }
-              if (bitsLeft >= bitsPerPixel) {
-                //no unsigned left shift
-                n = ((buffer >>> bitPos) & bitMask);
-                bitsLeft -= bitsPerPixel;
-                bitPos += bitsPerPixel;
-              } else {
-                missingBits = (bitsPerPixel - bitsLeft);
-                n = (buffer >>> bitPos) & bitMask;//((buffer & bitMask) << missingBits) & bitMask;
-                buffer = src[i++];
-                bitsLeft = 32 - missingBits;
-                n |= (buffer & ((1 << missingBits) - 1)) << (bitsPerPixel - missingBits);
-                bitPos = missingBits;
-              }
-              dest[o] = n;
-            }
-            return dest;
-          }
-        };
-
-        /*****************************************
-        *private static class used by Lerc2Decode
-        ******************************************/
-        var Lerc2Helpers = {
-          HUFFMAN_LUT_BITS_MAX: 12, //use 2^12 lut, treat it like constant
-          computeChecksumFletcher32: function(input) {
-
-            var sum1 = 0xffff, sum2 = 0xffff;
-            var len = input.length;
-            var words = Math.floor(len / 2);
-            var i = 0;
-            while (words) {
-              var tlen = (words >= 359) ? 359 : words;
-              words -= tlen;
-              do {
-                sum1 += (input[i++] << 8);
-                sum2 += sum1 += input[i++];
-              } while (--tlen);
-
-              sum1 = (sum1 & 0xffff) + (sum1 >>> 16);
-              sum2 = (sum2 & 0xffff) + (sum2 >>> 16);
-            }
-
-            // add the straggler byte if it exists
-            if (len & 1) {
-              sum2 += sum1 += (input[i] << 8);
-            }
-            // second reduction step to reduce sums to 16 bits
-            sum1 = (sum1 & 0xffff) + (sum1 >>> 16);
-            sum2 = (sum2 & 0xffff) + (sum2 >>> 16);
-
-            return (sum2 << 16 | sum1) >>> 0;
-          },
-
-          readHeaderInfo: function(input, data) {
-            var ptr = data.ptr;
-            var fileIdView = new Uint8Array(input, ptr, 6);
-            var headerInfo = {};
-            headerInfo.fileIdentifierString = String.fromCharCode.apply(null, fileIdView);
-            if (headerInfo.fileIdentifierString.lastIndexOf("Lerc2", 0) !== 0) {
-              throw "Unexpected file identifier string (expect Lerc2 ): " + headerInfo.fileIdentifierString;
-            }
-            ptr += 6;
-            var view = new DataView(input, ptr, 8);
-            var fileVersion = view.getInt32(0, true);
-            headerInfo.fileVersion = fileVersion;
-            ptr += 4;
-            if (fileVersion >= 3) {
-              headerInfo.checksum = view.getUint32(4, true); //nrows
-              ptr += 4;
-            }
-
-            //keys start from here
-            view = new DataView(input, ptr, 12);
-            headerInfo.height = view.getUint32(0, true); //nrows
-            headerInfo.width = view.getUint32(4, true); //ncols
-            ptr += 8;
-            if (fileVersion >= 4) {
-              headerInfo.numDims = view.getUint32(8, true);
-              ptr += 4;
-            }
-            else {
-              headerInfo.numDims = 1;
-            }
-
-            view = new DataView(input, ptr, 40);
-            headerInfo.numValidPixel = view.getUint32(0, true);
-            headerInfo.microBlockSize = view.getInt32(4, true);
-            headerInfo.blobSize = view.getInt32(8, true);
-            headerInfo.imageType = view.getInt32(12, true);
-
-            headerInfo.maxZError = view.getFloat64(16, true);
-            headerInfo.zMin = view.getFloat64(24, true);
-            headerInfo.zMax = view.getFloat64(32, true);
-            ptr += 40;
-            data.headerInfo = headerInfo;
-            data.ptr = ptr;
-
-            var checksum, keyLength;
-            if (fileVersion >= 3) {
-              keyLength = fileVersion >= 4 ? 52 : 48;
-              checksum = this.computeChecksumFletcher32(new Uint8Array(input, ptr - keyLength, headerInfo.blobSize - 14));
-              if (checksum !== headerInfo.checksum) {
-                throw "Checksum failed.";
-              }
-            }
-            return true;
-          },
-
-          checkMinMaxRanges: function(input, data) {
-            var headerInfo = data.headerInfo;
-            var OutPixelTypeArray = this.getDataTypeArray(headerInfo.imageType);
-            var rangeBytes = headerInfo.numDims * this.getDataTypeSize(headerInfo.imageType);
-            var minValues = this.readSubArray(input, data.ptr, OutPixelTypeArray, rangeBytes);
-            var maxValues = this.readSubArray(input, data.ptr + rangeBytes, OutPixelTypeArray, rangeBytes);
-            data.ptr += (2 * rangeBytes);
-            var i, equal = true;
-            for (i = 0; i < headerInfo.numDims; i++) {
-              if (minValues[i] !== maxValues[i]) {
-                equal = false;
-                break;
-              }
-            }
-            headerInfo.minValues = minValues;
-            headerInfo.maxValues = maxValues;
-            return equal;
-          },
-
-          readSubArray: function(input, ptr, OutPixelTypeArray, numBytes) {
-            var rawData;
-            if (OutPixelTypeArray === Uint8Array) {
-              rawData = new Uint8Array(input, ptr, numBytes);
-            }
-            else {
-              var arrayBuf = new ArrayBuffer(numBytes);
-              var store8 = new Uint8Array(arrayBuf);
-              store8.set(new Uint8Array(input, ptr, numBytes));
-              rawData = new OutPixelTypeArray(arrayBuf);
-            }
-            return rawData;
-          },
-
-          readMask: function(input, data) {
-            var ptr = data.ptr;
-            var headerInfo = data.headerInfo;
-            var numPixels = headerInfo.width * headerInfo.height;
-            var numValidPixel = headerInfo.numValidPixel;
-
-            var view = new DataView(input, ptr, 4);
-            var mask = {};
-            mask.numBytes = view.getUint32(0, true);
-            ptr += 4;
-
-            // Mask Data
-            if ((0 === numValidPixel || numPixels === numValidPixel) && 0 !== mask.numBytes) {
-              throw ("invalid mask");
-            }
-            var bitset, resultMask;
-            if (numValidPixel === 0) {
-              bitset = new Uint8Array(Math.ceil(numPixels / 8));
-              mask.bitset = bitset;
-              resultMask = new Uint8Array(numPixels);
-              data.pixels.resultMask = resultMask;
-              ptr += mask.numBytes;
-            }// ????? else if (data.mask.numBytes > 0 && data.mask.numBytes< data.numValidPixel) {
-            else if (mask.numBytes > 0) {
-              bitset = new Uint8Array(Math.ceil(numPixels / 8));
-              view = new DataView(input, ptr, mask.numBytes);
-              var cnt = view.getInt16(0, true);
-              var ip = 2, op = 0, val = 0;
-              do {
-                if (cnt > 0) {
-                  while (cnt--) { bitset[op++] = view.getUint8(ip++); }
-                } else {
-                  val = view.getUint8(ip++);
-                  cnt = -cnt;
-                  while (cnt--) { bitset[op++] = val; }
-                }
-                cnt = view.getInt16(ip, true);
-                ip += 2;
-              } while (ip < mask.numBytes);
-              if ((cnt !== -32768) || (op < bitset.length)) {
-                throw "Unexpected end of mask RLE encoding";
-              }
-
-              resultMask = new Uint8Array(numPixels);
-              var mb = 0, k = 0;
-
-              for (k = 0; k < numPixels; k++) {
-                if (k & 7) {
-                  mb = bitset[k >> 3];
-                  mb <<= k & 7;
-                }
-                else {
-                  mb = bitset[k >> 3];
-                }
-                if (mb & 128) {
-                  resultMask[k] = 1;
-                }
-              }
-              data.pixels.resultMask = resultMask;
-
-              mask.bitset = bitset;
-              ptr += mask.numBytes;
-            }
-            data.ptr = ptr;
-            data.mask = mask;
-            return true;
-          },
-
-          readDataOneSweep: function(input, data, OutPixelTypeArray) {
-            var ptr = data.ptr;
-            var headerInfo = data.headerInfo;
-            var numDims = headerInfo.numDims;
-            var numPixels = headerInfo.width * headerInfo.height;
-            var imageType = headerInfo.imageType;
-            var numBytes = headerInfo.numValidPixel * Lerc2Helpers.getDataTypeSize(imageType) * numDims;
-            //data.pixels.numBytes = numBytes;
-            var rawData;
-            var mask = data.pixels.resultMask;
-            if (OutPixelTypeArray === Uint8Array) {
-              rawData = new Uint8Array(input, ptr, numBytes);
-            }
-            else {
-              var arrayBuf = new ArrayBuffer(numBytes);
-              var store8 = new Uint8Array(arrayBuf);
-              store8.set(new Uint8Array(input, ptr, numBytes));
-              rawData = new OutPixelTypeArray(arrayBuf);
-            }
-            if (rawData.length === numPixels * numDims) {
-              data.pixels.resultPixels = rawData;
-            }
-            else  //mask
-            {
-              data.pixels.resultPixels = new OutPixelTypeArray(numPixels * numDims);
-              var z = 0, k = 0, i = 0, nStart = 0;
-              if (numDims > 1) {
-                for (i=0; i < numDims; i++) {
-                  nStart = i * numPixels;
-                  for (k = 0; k < numPixels; k++) {
-                    if (mask[k]) {
-                      data.pixels.resultPixels[nStart + k] = rawData[z++];
-                    }
-                  }
-                }
-              }
-              else {
-                for (k = 0; k < numPixels; k++) {
-                  if (mask[k]) {
-                    data.pixels.resultPixels[k] = rawData[z++];
-                  }
-                }
-              }
-            }
-            ptr += numBytes;
-            data.ptr = ptr;       //return data;
-            return true;
-          },
-
-          readHuffmanTree: function(input, data) {
-            var BITS_MAX = this.HUFFMAN_LUT_BITS_MAX; //8 is slow for the large test image
-            //var size_max = 1 << BITS_MAX;
-            /* ************************
-             * reading code table
-             *************************/
-            var view = new DataView(input, data.ptr, 16);
-            data.ptr += 16;
-            var version = view.getInt32(0, true);
-            if (version < 2) {
-              throw "unsupported Huffman version";
-            }
-            var size = view.getInt32(4, true);
-            var i0 = view.getInt32(8, true);
-            var i1 = view.getInt32(12, true);
-            if (i0 >= i1) {
-              return false;
-            }
-            var blockDataBuffer = new Uint32Array(i1 - i0);
-            Lerc2Helpers.decodeBits(input, data, blockDataBuffer);
-            var codeTable = []; //size
-            var i, j, k, len;
-
-            for (i = i0; i < i1; i++) {
-              j = i - (i < size ? 0 : size);//wrap around
-              codeTable[j] = { first: blockDataBuffer[i - i0], second: null };
-            }
-
-            var dataBytes = input.byteLength - data.ptr;
-            var dataWords = Math.ceil(dataBytes / 4);
-            var arrayBuf = new ArrayBuffer(dataWords * 4);
-            var store8 = new Uint8Array(arrayBuf);
-            store8.set(new Uint8Array(input, data.ptr, dataBytes));
-            var stuffedData = new Uint32Array(arrayBuf); //must start from x*4
-            var bitPos = 0, word, srcPtr = 0;
-            word = stuffedData[0];
-            for (i = i0; i < i1; i++) {
-              j = i - (i < size ? 0 : size);//wrap around
-              len = codeTable[j].first;
-              if (len > 0) {
-                codeTable[j].second = (word << bitPos) >>> (32 - len);
-
-                if (32 - bitPos >= len) {
-                  bitPos += len;
-                  if (bitPos === 32) {
-                    bitPos = 0;
-                    srcPtr++;
-                    word = stuffedData[srcPtr];
-                  }
-                }
-                else {
-                  bitPos += len - 32;
-                  srcPtr++;
-                  word = stuffedData[srcPtr];
-                  codeTable[j].second |= word >>> (32 - bitPos);
-                }
-              }
-            }
-
-            //finished reading code table
-
-            /* ************************
-             * building lut
-             *************************/
-            var numBitsLUT = 0, numBitsLUTQick = 0;
-            var tree = new TreeNode();
-            for (i = 0; i < codeTable.length; i++) {
-              if (codeTable[i] !== undefined) {
-                numBitsLUT = Math.max(numBitsLUT, codeTable[i].first);
-              }
-            }
-            if (numBitsLUT >= BITS_MAX) {
-              numBitsLUTQick = BITS_MAX;
-            }
-            else {
-              numBitsLUTQick = numBitsLUT;
-            }
-            if (numBitsLUT >= 30) {
-              console.log("WARning, large NUM LUT BITS IS " + numBitsLUT);
-            }
-            var decodeLut = [], entry, code, numEntries, jj, currentBit, node;
-            for (i = i0; i < i1; i++) {
-              j = i - (i < size ? 0 : size);//wrap around
-              len = codeTable[j].first;
-              if (len > 0) {
-                entry = [len, j];
-                if (len <= numBitsLUTQick) {
-                  code = codeTable[j].second << (numBitsLUTQick - len);
-                  numEntries = 1 << (numBitsLUTQick - len);
-                  for (k = 0; k < numEntries; k++) {
-                    decodeLut[code | k] = entry;
-                  }
-                }
-                else {
-                  //build tree
-                  code = codeTable[j].second;
-                  node = tree;
-                  for (jj = len - 1; jj >= 0; jj--) {
-                    currentBit = code >>> jj & 1; //no left shift as length could be 30,31
-                    if (currentBit) {
-                      if (!node.right) {
-                        node.right = new TreeNode();
-                      }
-                      node = node.right;
-                    }
-                    else {
-                      if (!node.left) {
-                        node.left = new TreeNode();
-                      }
-                      node = node.left;
-                    }
-                    if (jj === 0 && !node.val) {
-                      node.val = entry[1];
-                    }
-                  }
-                }
-              }
-            }
-            return {
-              decodeLut: decodeLut,
-              numBitsLUTQick: numBitsLUTQick,
-              numBitsLUT: numBitsLUT,
-              tree: tree,
-              stuffedData: stuffedData,
-              srcPtr: srcPtr,
-              bitPos: bitPos
-            };
-          },
-
-          readHuffman: function(input, data, OutPixelTypeArray) {
-            var headerInfo = data.headerInfo;
-            var numDims = headerInfo.numDims;
-            var height = data.headerInfo.height;
-            var width = data.headerInfo.width;
-            var numPixels = width * height;
-            //var size_max = 1 << BITS_MAX;
-            /* ************************
-             * reading huffman structure info
-             *************************/
-            var huffmanInfo = this.readHuffmanTree(input, data);
-            var decodeLut = huffmanInfo.decodeLut;
-            var tree = huffmanInfo.tree;
-            //stuffedData includes huffman headers
-            var stuffedData = huffmanInfo.stuffedData;
-            var srcPtr = huffmanInfo.srcPtr;
-            var bitPos = huffmanInfo.bitPos;
-            var numBitsLUTQick = huffmanInfo.numBitsLUTQick;
-            var numBitsLUT = huffmanInfo.numBitsLUT;
-            var offset = data.headerInfo.imageType === 0 ? 128 : 0;
-            /*************************
-            *  decode
-            ***************************/
-            var node, val, delta, mask = data.pixels.resultMask, valTmp, valTmpQuick, currentBit;
-            var i, j, k, ii;
-            var prevVal = 0;
-            if (bitPos > 0) {
-              srcPtr++;
-              bitPos = 0;
-            }
-            var word = stuffedData[srcPtr];
-            var deltaEncode = data.encodeMode === 1;
-            var resultPixelsAllDim = new OutPixelTypeArray(numPixels * numDims);
-            var resultPixels = resultPixelsAllDim;
-            var iDim;
-            for (iDim = 0; iDim < headerInfo.numDims; iDim++) {
-              if (numDims > 1) {
-                //get the mem block of current dimension
-                resultPixels = new OutPixelTypeArray(resultPixelsAllDim.buffer, numPixels * iDim, numPixels);
-                prevVal = 0;
-              }
-              if (data.headerInfo.numValidPixel === width * height) { //all valid
-                for (k = 0, i = 0; i < height; i++) {
-                  for (j = 0; j < width; j++, k++) {
-                    val = 0;
-                    valTmp = (word << bitPos) >>> (32 - numBitsLUTQick);
-                    valTmpQuick = valTmp;// >>> deltaBits;
-                    if (32 - bitPos < numBitsLUTQick) {
-                      valTmp |= ((stuffedData[srcPtr + 1]) >>> (64 - bitPos - numBitsLUTQick));
-                      valTmpQuick = valTmp;// >>> deltaBits;
-                    }
-                    if (decodeLut[valTmpQuick])    // if there, move the correct number of bits and done
-                    {
-                      val = decodeLut[valTmpQuick][1];
-                      bitPos += decodeLut[valTmpQuick][0];
-                    }
-                    else {
-                      valTmp = (word << bitPos) >>> (32 - numBitsLUT);
-                      valTmpQuick = valTmp;// >>> deltaBits;
-                      if (32 - bitPos < numBitsLUT) {
-                        valTmp |= ((stuffedData[srcPtr + 1]) >>> (64 - bitPos - numBitsLUT));
-                        valTmpQuick = valTmp;// >>> deltaBits;
-                      }
-                      node = tree;
-                      for (ii = 0; ii < numBitsLUT; ii++) {
-                        currentBit = valTmp >>> (numBitsLUT - ii - 1) & 1;
-                        node = currentBit ? node.right : node.left;
-                        if (!(node.left || node.right)) {
-                          val = node.val;
-                          bitPos = bitPos + ii + 1;
-                          break;
-                        }
-                      }
-                    }
-
-                    if (bitPos >= 32) {
-                      bitPos -= 32;
-                      srcPtr++;
-                      word = stuffedData[srcPtr];
-                    }
-
-                    delta = val - offset;
-                    if (deltaEncode) {
-                      if (j > 0) {
-                        delta += prevVal;    // use overflow
-                      }
-                      else if (i > 0) {
-                        delta += resultPixels[k - width];
-                      }
-                      else {
-                        delta += prevVal;
-                      }
-                      delta &= 0xFF; //overflow
-                      resultPixels[k] = delta;//overflow
-                      prevVal = delta;
-                    }
-                    else {
-                      resultPixels[k] = delta;
-                    }
-                  }
-                }
-              }
-              else { //not all valid, use mask
-                for (k = 0, i = 0; i < height; i++) {
-                  for (j = 0; j < width; j++, k++) {
-                    if (mask[k]) {
-                      val = 0;
-                      valTmp = (word << bitPos) >>> (32 - numBitsLUTQick);
-                      valTmpQuick = valTmp;// >>> deltaBits;
-                      if (32 - bitPos < numBitsLUTQick) {
-                        valTmp |= ((stuffedData[srcPtr + 1]) >>> (64 - bitPos - numBitsLUTQick));
-                        valTmpQuick = valTmp;// >>> deltaBits;
-                      }
-                      if (decodeLut[valTmpQuick])    // if there, move the correct number of bits and done
-                      {
-                        val = decodeLut[valTmpQuick][1];
-                        bitPos += decodeLut[valTmpQuick][0];
-                      }
-                      else {
-                        valTmp = (word << bitPos) >>> (32 - numBitsLUT);
-                        valTmpQuick = valTmp;// >>> deltaBits;
-                        if (32 - bitPos < numBitsLUT) {
-                          valTmp |= ((stuffedData[srcPtr + 1]) >>> (64 - bitPos - numBitsLUT));
-                          valTmpQuick = valTmp;// >>> deltaBits;
-                        }
-                        node = tree;
-                        for (ii = 0; ii < numBitsLUT; ii++) {
-                          currentBit = valTmp >>> (numBitsLUT - ii - 1) & 1;
-                          node = currentBit ? node.right : node.left;
-                          if (!(node.left || node.right)) {
-                            val = node.val;
-                            bitPos = bitPos + ii + 1;
-                            break;
-                          }
-                        }
-                      }
-
-                      if (bitPos >= 32) {
-                        bitPos -= 32;
-                        srcPtr++;
-                        word = stuffedData[srcPtr];
-                      }
-
-                      delta = val - offset;
-                      if (deltaEncode) {
-                        if (j > 0 && mask[k - 1]) {
-                          delta += prevVal;    // use overflow
-                        }
-                        else if (i > 0 && mask[k - width]) {
-                          delta += resultPixels[k - width];
-                        }
-                        else {
-                          delta += prevVal;
-                        }
-
-                        delta &= 0xFF; //overflow
-                        resultPixels[k] = delta;//overflow
-                        prevVal = delta;
-                      }
-                      else {
-                        resultPixels[k] = delta;
-                      }
-                    }
-                  }
-                }
-              }
-              data.ptr = data.ptr + (srcPtr + 1) * 4 + (bitPos > 0 ? 4 : 0);
-            }
-            data.pixels.resultPixels = resultPixelsAllDim;
-          },
-
-          decodeBits: function(input, data, blockDataBuffer, offset, iDim) {
-            {
-              //bitstuff encoding is 3
-              var headerInfo = data.headerInfo;
-              var fileVersion = headerInfo.fileVersion;
-              //var block = {};
-              var blockPtr = 0;
-              var viewByteLength = ((input.byteLength - data.ptr) >= 5) ? 5 : (input.byteLength - data.ptr);
-              var view = new DataView(input, data.ptr, viewByteLength);
-              var headerByte = view.getUint8(0);
-              blockPtr++;
-              var bits67 = headerByte >> 6;
-              var n = (bits67 === 0) ? 4 : 3 - bits67;
-              var doLut = (headerByte & 32) > 0 ? true : false;//5th bit
-              var numBits = headerByte & 31;
-              var numElements = 0;
-              if (n === 1) {
-                numElements = view.getUint8(blockPtr); blockPtr++;
-              } else if (n === 2) {
-                numElements = view.getUint16(blockPtr, true); blockPtr += 2;
-              } else if (n === 4) {
-                numElements = view.getUint32(blockPtr, true); blockPtr += 4;
-              } else {
-                throw "Invalid valid pixel count type";
-              }
-              //fix: huffman codes are bit stuffed, but not bound by data's max value, so need to use originalUnstuff
-              //offset = offset || 0;
-              var scale = 2 * headerInfo.maxZError;
-              var stuffedData, arrayBuf, store8, dataBytes, dataWords;
-              var lutArr, lutData, lutBytes, bitsPerPixel;
-              var zMax = headerInfo.numDims > 1 ? headerInfo.maxValues[iDim] : headerInfo.zMax;
-              if (doLut) {
-                data.counter.lut++;
-                lutBytes = view.getUint8(blockPtr);
-                blockPtr++;
-                dataBytes = Math.ceil((lutBytes - 1) * numBits / 8);
-                dataWords = Math.ceil(dataBytes / 4);
-                arrayBuf = new ArrayBuffer(dataWords * 4);
-                store8 = new Uint8Array(arrayBuf);
-
-                data.ptr += blockPtr;
-                store8.set(new Uint8Array(input, data.ptr, dataBytes));
-
-                lutData = new Uint32Array(arrayBuf);
-                data.ptr += dataBytes;
-
-                bitsPerPixel = 0;
-                while ((lutBytes - 1) >>> bitsPerPixel) {
-                  bitsPerPixel++;
-                }
-                dataBytes = Math.ceil(numElements * bitsPerPixel / 8);
-                dataWords = Math.ceil(dataBytes / 4);
-                arrayBuf = new ArrayBuffer(dataWords * 4);
-                store8 = new Uint8Array(arrayBuf);
-                store8.set(new Uint8Array(input, data.ptr, dataBytes));
-                stuffedData = new Uint32Array(arrayBuf);
-                data.ptr += dataBytes;
-                if (fileVersion >= 3) {
-                  lutArr = BitStuffer.unstuffLUT2(lutData, numBits, lutBytes - 1, offset, scale, zMax);
-                }
-                else {
-                  lutArr = BitStuffer.unstuffLUT(lutData, numBits, lutBytes - 1, offset, scale, zMax);
-                }
-                //lutArr.unshift(0);
-                if (fileVersion >= 3) {
-                  //BitStuffer.unstuff2(block, blockDataBuffer, headerInfo.zMax);
-                  BitStuffer.unstuff2(stuffedData, blockDataBuffer, bitsPerPixel, numElements, lutArr);
-                }
-                else {
-                  BitStuffer.unstuff(stuffedData, blockDataBuffer, bitsPerPixel, numElements, lutArr);
-                }
-              }
-              else {
-                //console.debug("bitstuffer");
-                data.counter.bitstuffer++;
-                bitsPerPixel = numBits;
-                data.ptr += blockPtr;
-                if (bitsPerPixel > 0) {
-                  dataBytes = Math.ceil(numElements * bitsPerPixel / 8);
-                  dataWords = Math.ceil(dataBytes / 4);
-                  arrayBuf = new ArrayBuffer(dataWords * 4);
-                  store8 = new Uint8Array(arrayBuf);
-                  store8.set(new Uint8Array(input, data.ptr, dataBytes));
-                  stuffedData = new Uint32Array(arrayBuf);
-                  data.ptr += dataBytes;
-                  if (fileVersion >= 3) {
-                    if (offset === null) {
-                      BitStuffer.originalUnstuff2(stuffedData, blockDataBuffer, bitsPerPixel, numElements);
-                    }
-                    else {
-                      BitStuffer.unstuff2(stuffedData, blockDataBuffer, bitsPerPixel, numElements, false, offset, scale, zMax);
-                    }
-                  }
-                  else {
-                    if (offset === null) {
-                      BitStuffer.originalUnstuff(stuffedData, blockDataBuffer, bitsPerPixel, numElements);
-                    }
-                    else {
-                      BitStuffer.unstuff(stuffedData, blockDataBuffer, bitsPerPixel, numElements, false, offset, scale, zMax);
-                    }
-                  }
-                }
-              }
-            }
-
-          },
-
-          readTiles: function(input, data, OutPixelTypeArray) {
-            var headerInfo = data.headerInfo;
-            var width = headerInfo.width;
-            var height = headerInfo.height;
-            var microBlockSize = headerInfo.microBlockSize;
-            var imageType = headerInfo.imageType;
-            var dataTypeSize = Lerc2Helpers.getDataTypeSize(imageType);
-            var numBlocksX = Math.ceil(width / microBlockSize);
-            var numBlocksY = Math.ceil(height / microBlockSize);
-            data.pixels.numBlocksY = numBlocksY;
-            data.pixels.numBlocksX = numBlocksX;
-            data.pixels.ptr = 0;
-            var row = 0, col = 0, blockY = 0, blockX = 0, thisBlockHeight = 0, thisBlockWidth = 0, bytesLeft = 0, headerByte = 0, bits67 = 0, testCode = 0, outPtr = 0, outStride = 0, numBytes = 0, bytesleft = 0, z = 0, blockPtr = 0;
-            var view, block, arrayBuf, store8, rawData;
-            var blockEncoding;
-            var blockDataBuffer = new OutPixelTypeArray(microBlockSize * microBlockSize);
-            var lastBlockHeight = (height % microBlockSize) || microBlockSize;
-            var lastBlockWidth = (width % microBlockSize) || microBlockSize;
-            var offsetType, offset;
-            var numDims = headerInfo.numDims, iDim;
-            var mask = data.pixels.resultMask;
-            var resultPixels = data.pixels.resultPixels;
-            for (blockY = 0; blockY < numBlocksY; blockY++) {
-              thisBlockHeight = (blockY !== numBlocksY - 1) ? microBlockSize : lastBlockHeight;
-              for (blockX = 0; blockX < numBlocksX; blockX++) {
-                //console.debug("y" + blockY + " x" + blockX);
-                thisBlockWidth = (blockX !== numBlocksX - 1) ? microBlockSize : lastBlockWidth;
-
-                outPtr = blockY * width * microBlockSize + blockX * microBlockSize;
-                outStride = width - thisBlockWidth;
-
-
-                for (iDim = 0; iDim < numDims; iDim++) {
-                  if (numDims > 1) {
-                    resultPixels = new OutPixelTypeArray(data.pixels.resultPixels.buffer, width * height * iDim * dataTypeSize, width * height);
-                  }
-                  bytesLeft = input.byteLength - data.ptr;
-                  view = new DataView(input, data.ptr, Math.min(10, bytesLeft));
-                  block = {};
-                  blockPtr = 0;
-                  headerByte = view.getUint8(0);
-                  blockPtr++;
-                  bits67 = (headerByte >> 6) & 0xFF;
-                  testCode = (headerByte >> 2) & 15;    // use bits 2345 for integrity check
-                  if (testCode !== (((blockX * microBlockSize) >> 3) & 15)) {
-                    throw "integrity issue";
-                    //return false;
-                  }
-
-                  blockEncoding = headerByte & 3;
-                  if (blockEncoding > 3) {
-                    data.ptr += blockPtr;
-                    throw "Invalid block encoding (" + blockEncoding + ")";
-                  }
-                  else if (blockEncoding === 2) { //constant 0
-                    data.counter.constant++;
-                    data.ptr += blockPtr;
-                    continue;
-                  }
-                  else if (blockEncoding === 0) {  //uncompressed
-                    data.counter.uncompressed++;
-                    data.ptr += blockPtr;
-                    numBytes = thisBlockHeight * thisBlockWidth * dataTypeSize;
-                    bytesleft = input.byteLength - data.ptr;
-                    numBytes = numBytes < bytesleft ? numBytes : bytesleft;
-                    //bit alignment
-                    arrayBuf = new ArrayBuffer((numBytes % dataTypeSize) === 0 ? numBytes : (numBytes + dataTypeSize - numBytes % dataTypeSize));
-                    store8 = new Uint8Array(arrayBuf);
-                    store8.set(new Uint8Array(input, data.ptr, numBytes));
-                    rawData = new OutPixelTypeArray(arrayBuf);
-                    z = 0;
-                    if (mask) {
-                      for (row = 0; row < thisBlockHeight; row++) {
-                        for (col = 0; col < thisBlockWidth; col++) {
-                          if (mask[outPtr]) {
-                            resultPixels[outPtr] = rawData[z++];
-                          }
-                          outPtr++;
-                        }
-                        outPtr += outStride;
-                      }
-                    }
-                    else {//all valid
-                      for (row = 0; row < thisBlockHeight; row++) {
-                        for (col = 0; col < thisBlockWidth; col++) {
-                          resultPixels[outPtr++] = rawData[z++];
-                        }
-                        outPtr += outStride;
-                      }
-                    }
-                    data.ptr += z * dataTypeSize;
-                  }
-                  else { //1 or 3
-                    offsetType = Lerc2Helpers.getDataTypeUsed(imageType, bits67);
-                    offset = Lerc2Helpers.getOnePixel(block, blockPtr, offsetType, view);
-                    blockPtr += Lerc2Helpers.getDataTypeSize(offsetType);
-                    if (blockEncoding === 3) //constant offset value
-                    {
-                      data.ptr += blockPtr;
-                      data.counter.constantoffset++;
-                      //you can delete the following resultMask case in favor of performance because val is constant and users use nodata mask, otherwise nodatavalue post processing handles it too.
-                      //while the above statement is true, we're not doing it as we want to keep invalid pixel value at 0 rather than arbitrary values
-                      if (mask) {
-                        for (row = 0; row < thisBlockHeight; row++) {
-                          for (col = 0; col < thisBlockWidth; col++) {
-                            if (mask[outPtr]) {
-                              resultPixels[outPtr] = offset;
-                            }
-                            outPtr++;
-                          }
-                          outPtr += outStride;
-                        }
-                      }
-                      else {
-                        for (row = 0; row < thisBlockHeight; row++) {
-                          for (col = 0; col < thisBlockWidth; col++) {
-                            resultPixels[outPtr++] = offset;
-                          }
-                          outPtr += outStride;
-                        }
-                      }
-                    }
-                    else { //bitstuff encoding is 3
-                      data.ptr += blockPtr;
-                      //heavy lifting
-                      Lerc2Helpers.decodeBits(input, data, blockDataBuffer, offset, iDim);
-                      blockPtr = 0;
-                      if (mask) {
-                        for (row = 0; row < thisBlockHeight; row++) {
-                          for (col = 0; col < thisBlockWidth; col++) {
-                            if (mask[outPtr]) {
-                              resultPixels[outPtr] = blockDataBuffer[blockPtr++];
-                            }
-                            outPtr++;
-                          }
-                          outPtr += outStride;
-                        }
-                      }
-                      else {
-                        for (row = 0; row < thisBlockHeight; row++) {
-                          for (col = 0; col < thisBlockWidth; col++) {
-                            resultPixels[outPtr++] = blockDataBuffer[blockPtr++];
-                          }
-                          outPtr += outStride;
-                        }
-                      }
-                    }
-                  }
-                }
-              }
-            }
-          },
-
-          /*****************
-          *  private methods (helper methods)
-          *****************/
-
-          formatFileInfo: function(data) {
-            return {
-              "fileIdentifierString": data.headerInfo.fileIdentifierString,
-              "fileVersion": data.headerInfo.fileVersion,
-              "imageType": data.headerInfo.imageType,
-              "height": data.headerInfo.height,
-              "width": data.headerInfo.width,
-              "numValidPixel": data.headerInfo.numValidPixel,
-              "microBlockSize": data.headerInfo.microBlockSize,
-              "blobSize": data.headerInfo.blobSize,
-              "maxZError": data.headerInfo.maxZError,
-              "pixelType": Lerc2Helpers.getPixelType(data.headerInfo.imageType),
-              "eofOffset": data.eofOffset,
-              "mask": data.mask ? {
-                "numBytes": data.mask.numBytes
-              } : null,
-              "pixels": {
-                "numBlocksX": data.pixels.numBlocksX,
-                "numBlocksY": data.pixels.numBlocksY,
-                //"numBytes": data.pixels.numBytes,
-                "maxValue": data.headerInfo.zMax,
-                "minValue": data.headerInfo.zMin,
-                "noDataValue": data.noDataValue
-              }
-            };
-          },
-
-          constructConstantSurface: function(data) {
-            var val = data.headerInfo.zMax;
-            var numDims =  data.headerInfo.numDims;
-            var numPixels = data.headerInfo.height * data.headerInfo.width;
-            var numPixelAllDims = numPixels * numDims;
-            var i=0, k = 0, nStart=0;
-            var mask = data.pixels.resultMask;
-            if (mask) {
-              if (numDims > 1) {
-                for (i=0; i < numDims; i++) {
-                  nStart = i * numPixels;
-                  for (k = 0; k < numPixels; k++) {
-                    if (mask[k]) {
-                      data.pixels.resultPixels[nStart + k] = val;
-                    }
-                  }
-                }
-              }
-              else {
-                for (k = 0; k < numPixels; k++) {
-                  if (mask[k]) {
-                    data.pixels.resultPixels[k] = val;
-                  }
-                }
-              }
-            }
-            else {
-              if (data.pixels.resultPixels.fill) {
-                data.pixels.resultPixels.fill(val);
-              }
-              else {
-                for (k = 0; k < numPixelAllDims; k++) {
-                  data.pixels.resultPixels[k] = val;
-                }
-              }
-            }
-            return;
-          },
-
-          getDataTypeArray: function(t) {
-            var tp;
-            switch (t) {
-              case 0: //char
-                tp = Int8Array;
-                break;
-              case 1: //byte
-                tp = Uint8Array;
-                break;
-              case 2: //short
-                tp = Int16Array;
-                break;
-              case 3: //ushort
-                tp = Uint16Array;
-                break;
-              case 4:
-                tp = Int32Array;
-                break;
-              case 5:
-                tp = Uint32Array;
-                break;
-              case 6:
-                tp = Float32Array;
-                break;
-              case 7:
-                tp = Float64Array;
-                break;
-              default:
-                tp = Float32Array;
-            }
-            return tp;
-          },
-
-          getPixelType: function(t) {
-            var tp;
-            switch (t) {
-              case 0: //char
-                tp = "S8";
-                break;
-              case 1: //byte
-                tp = "U8";
-                break;
-              case 2: //short
-                tp = "S16";
-                break;
-              case 3: //ushort
-                tp = "U16";
-                break;
-              case 4:
-                tp = "S32";
-                break;
-              case 5:
-                tp = "U32";
-                break;
-              case 6:
-                tp = "F32";
-                break;
-              case 7:
-                tp = "F64"; //not supported
-                break;
-              default:
-                tp = "F32";
-            }
-            return tp;
-          },
-
-          isValidPixelValue: function(t, val) {
-            if (val === null) {
-              return false;
-            }
-            var isValid;
-            switch (t) {
-              case 0: //char
-                isValid = val >= -128 && val <= 127;
-                break;
-              case 1: //byte  (unsigned char)
-                isValid = val >= 0 && val <= 255;
-                break;
-              case 2: //short
-                isValid = val >= -32768 && val <= 32767;
-                break;
-              case 3: //ushort
-                isValid = val >= 0 && val <= 65536;
-                break;
-              case 4: //int 32
-                isValid = val >= -2147483648 && val <= 2147483647;
-                break;
-              case 5: //uinit 32
-                isValid = val >= 0 && val <= 4294967296;
-                break;
-              case 6:
-                isValid = val >= -3.4027999387901484e+38 && val <= 3.4027999387901484e+38;
-                break;
-              case 7:
-                isValid = val >= 5e-324 && val <= 1.7976931348623157e+308;
-                break;
-              default:
-                isValid = false;
-            }
-            return isValid;
-          },
-
-          getDataTypeSize: function(t) {
-            var s = 0;
-            switch (t) {
-              case 0: //ubyte
-              case 1: //byte
-                s = 1;
-                break;
-              case 2: //short
-              case 3: //ushort
-                s = 2;
-                break;
-              case 4:
-              case 5:
-              case 6:
-                s = 4;
-                break;
-              case 7:
-                s = 8;
-                break;
-              default:
-                s = t;
-            }
-            return s;
-          },
-
-          getDataTypeUsed: function(dt, tc) {
-            var t = dt;
-            switch (dt) {
-              case 2: //short
-              case 4: //long
-                t = dt - tc;
-                break;
-              case 3: //ushort
-              case 5: //ulong
-                t = dt - 2 * tc;
-                break;
-              case 6: //float
-                if (0 === tc) {
-                  t = dt;
-                }
-                else if (1 === tc) {
-                  t = 2;
-                }
-                else {
-                  t = 1;//byte
-                }
-                break;
-              case 7: //double
-                if (0 === tc) {
-                  t = dt;
-                }
-                else {
-                  t = dt - 2 * tc + 1;
-                }
-                break;
-              default:
-                t = dt;
-                break;
-            }
-            return t;
-          },
-
-          getOnePixel: function(block, blockPtr, offsetType, view) {
-            var temp = 0;
-            switch (offsetType) {
-              case 0: //char
-                temp = view.getInt8(blockPtr);
-                break;
-              case 1: //byte
-                temp = view.getUint8(blockPtr);
-                break;
-              case 2:
-                temp = view.getInt16(blockPtr, true);
-                break;
-              case 3:
-                temp = view.getUint16(blockPtr, true);
-                break;
-              case 4:
-                temp = view.getInt32(blockPtr, true);
-                break;
-              case 5:
-                temp = view.getUInt32(blockPtr, true);
-                break;
-              case 6:
-                temp = view.getFloat32(blockPtr, true);
-                break;
-              case 7:
-                //temp = view.getFloat64(blockPtr, true);
-                //blockPtr += 8;
-                //lerc2 encoding doesnt handle float 64, force to float32???
-                temp = view.getFloat64(blockPtr, true);
-                break;
-              default:
-                throw ("the decoder does not understand this pixel type");
-            }
-            return temp;
-          }
-        };
-
-        /***************************************************
-        *private class for a tree node. Huffman code is in Lerc2Helpers
-        ****************************************************/
-        var TreeNode = function(val, left, right) {
-          this.val = val;
-          this.left = left;
-          this.right = right;
-        };
-
-        var Lerc2Decode = {
-          /*
-          * ********removed options compared to LERC1. We can bring some of them back if needed.
-           * removed pixel type. LERC2 is typed and doesn't require user to give pixel type
-           * changed encodedMaskData to maskData. LERC2 's js version make it faster to use maskData directly.
-           * removed returnMask. mask is used by LERC2 internally and is cost free. In case of user input mask, it's returned as well and has neglible cost.
-           * removed nodatavalue. Because LERC2 pixels are typed, nodatavalue will sacrify a useful value for many types (8bit, 16bit) etc,
-           *       user has to be knowledgable enough about raster and their data to avoid usability issues. so nodata value is simply removed now.
-           *       We can add it back later if their's a clear requirement.
-           * removed encodedMask. This option was not implemented in LercDecode. It can be done after decoding (less efficient)
-           * removed computeUsedBitDepths.
-           *
-           *
-           * response changes compared to LERC1
-           * 1. encodedMaskData is not available
-           * 2. noDataValue is optional (returns only if user's noDataValue is with in the valid data type range)
-           * 3. maskData is always available
-          */
-          /*****************
-          *  public properties
-          ******************/
-          //HUFFMAN_LUT_BITS_MAX: 12, //use 2^12 lut, not configurable
-
-          /*****************
-          *  public methods
-          *****************/
-
-          /**
-           * Decode a LERC2 byte stream and return an object containing the pixel data and optional metadata.
-           *
-           * @param {ArrayBuffer} input The LERC input byte stream
-           * @param {object} [options] options Decoding options
-           * @param {number} [options.inputOffset] The number of bytes to skip in the input byte stream. A valid LERC file is expected at that position
-           * @param {boolean} [options.returnFileInfo] If true, the return value will have a fileInfo property that contains metadata obtained from the LERC headers and the decoding process
-           */
-          decode: function(/*byte array*/ input, /*object*/ options) {
-            //currently there's a bug in the sparse array, so please do not set to false
-            options = options || {};
-            var noDataValue = options.noDataValue;
-
-            //initialize
-            var i = 0, data = {};
-            data.ptr = options.inputOffset || 0;
-            data.pixels = {};
-
-            // File header
-            if (!Lerc2Helpers.readHeaderInfo(input, data)) {
-              return;
-            }
-            var headerInfo = data.headerInfo;
-            var fileVersion = headerInfo.fileVersion;
-            var OutPixelTypeArray = Lerc2Helpers.getDataTypeArray(headerInfo.imageType);
-
-            // Mask Header
-            Lerc2Helpers.readMask(input, data);
-            if (headerInfo.numValidPixel !== headerInfo.width * headerInfo.height && !data.pixels.resultMask) {
-              data.pixels.resultMask = options.maskData;
-            }
-
-            var numPixels = headerInfo.width * headerInfo.height;
-            data.pixels.resultPixels = new OutPixelTypeArray(numPixels * headerInfo.numDims);
-
-            data.counter = {
-              onesweep: 0,
-              uncompressed: 0,
-              lut: 0,
-              bitstuffer: 0,
-              constant: 0,
-              constantoffset: 0
-            };
-            if (headerInfo.numValidPixel !== 0) {
-              //not tested
-              if (headerInfo.zMax === headerInfo.zMin) //constant surface
-              {
-                Lerc2Helpers.constructConstantSurface(data);
-              }
-              else if (fileVersion >= 4 && Lerc2Helpers.checkMinMaxRanges(input, data)) {
-                Lerc2Helpers.constructConstantSurface(data);
-              }
-              else {
-                var view = new DataView(input, data.ptr, 2);
-                var bReadDataOneSweep = view.getUint8(0);
-                data.ptr++;
-                if (bReadDataOneSweep) {
-                  //console.debug("OneSweep");
-                  Lerc2Helpers.readDataOneSweep(input, data, OutPixelTypeArray);
-                }
-                else {
-                  //lerc2.1: //bitstuffing + lut
-                  //lerc2.2: //bitstuffing + lut + huffman
-                  //lerc2.3: new bitstuffer
-                  if (fileVersion > 1 && headerInfo.imageType <= 1 && Math.abs(headerInfo.maxZError - 0.5) < 0.00001) {
-                    //this is 2.x plus 8 bit (unsigned and signed) data, possiblity of Huffman
-                    var flagHuffman = view.getUint8(1);
-                    data.ptr++;
-                    data.encodeMode = flagHuffman;
-                    if (flagHuffman > 2 || (fileVersion < 4 && flagHuffman > 1)) {
-                      throw "Invalid Huffman flag " + flagHuffman;
-                    }
-                    if (flagHuffman) {//1 - delta Huffman, 2 - Huffman
-                      //console.log("Huffman");
-                      Lerc2Helpers.readHuffman(input, data, OutPixelTypeArray);
-                    }
-                    else {
-                      //console.log("Tiles");
-                      Lerc2Helpers.readTiles(input, data, OutPixelTypeArray);
-                    }
-                  }
-                  else { //lerc2.x non-8 bit data
-                    //console.log("Tiles");
-                    Lerc2Helpers.readTiles(input, data, OutPixelTypeArray);
-                  }
-                }
-              }
-            }
-
-            data.eofOffset = data.ptr;
-            var diff;
-            if (options.inputOffset) {
-              diff = data.headerInfo.blobSize + options.inputOffset - data.ptr;
-              if (Math.abs(diff) >= 1) {
-                //console.debug("incorrect eof: dataptr " + data.ptr + " offset " + options.inputOffset + " blobsize " + data.headerInfo.blobSize + " diff: " + diff);
-                data.eofOffset = options.inputOffset + data.headerInfo.blobSize;
-              }
-            }
-            else {
-              diff = data.headerInfo.blobSize - data.ptr;
-              if (Math.abs(diff) >= 1) {
-                //console.debug("incorrect first band eof: dataptr " + data.ptr + " blobsize " + data.headerInfo.blobSize + " diff: " + diff);
-                data.eofOffset = data.headerInfo.blobSize;
-              }
-            }
-
-            var result = {
-              width: headerInfo.width,
-              height: headerInfo.height,
-              pixelData: data.pixels.resultPixels,
-              minValue: headerInfo.zMin,
-              maxValue: headerInfo.zMax,
-              validPixelCount: headerInfo.numValidPixel,
-              dimCount: headerInfo.numDims,
-              dimStats: {
-                minValues: headerInfo.minValues,
-                maxValues: headerInfo.maxValues
-              },
-              maskData: data.pixels.resultMask
-              //noDataValue: noDataValue
-            };
-
-            //we should remove this if there's no existing client
-            //optional noDataValue processing, it's user's responsiblity
-            if (data.pixels.resultMask && Lerc2Helpers.isValidPixelValue(headerInfo.imageType, noDataValue)) {
-              var mask = data.pixels.resultMask;
-              for (i = 0; i < numPixels; i++) {
-                if (!mask[i]) {
-                  result.pixelData[i] = noDataValue;
-                }
-              }
-              result.noDataValue = noDataValue;
-            }
-            data.noDataValue = noDataValue;
-            if (options.returnFileInfo) {
-              result.fileInfo = Lerc2Helpers.formatFileInfo(data);
-            }
-            return result;
-          },
-
-          getBandCount: function(/*byte array*/ input) {
-            var count = 0;
-            var i = 0;
-            var temp = {};
-            temp.ptr = 0;
-            temp.pixels = {};
-            while (i < input.byteLength - 58) {
-              Lerc2Helpers.readHeaderInfo(input, temp);
-              i += temp.headerInfo.blobSize;
-              count++;
-              temp.ptr = i;
-            }
-            return count;
-          }
-        };
-
-        return Lerc2Decode;
-      })();
-
-      var isPlatformLittleEndian = (function() {
-        var a = new ArrayBuffer(4);
-        var b = new Uint8Array(a);
-        var c = new Uint32Array(a);
-        c[0] = 1;
-        return b[0] === 1;
-      })();
-
-      var Lerc = {
-        /************wrapper**********************************************/
-        /**
-         * A wrapper for decoding both LERC1 and LERC2 byte streams capable of handling multiband pixel blocks for various pixel types.
-         *
-         * @alias module:Lerc
-         * @param {ArrayBuffer} input The LERC input byte stream
-         * @param {object} [options] The decoding options below are optional.
-         * @param {number} [options.inputOffset] The number of bytes to skip in the input byte stream. A valid Lerc file is expected at that position.
-         * @param {string} [options.pixelType] (LERC1 only) Default value is F32. Valid pixel types for input are U8/S8/S16/U16/S32/U32/F32.
-         * @param {number} [options.noDataValue] (LERC1 only). It is recommended to use the returned mask instead of setting this value.
-         * @returns {{width, height, pixels, pixelType, mask, statistics}}
-           * @property {number} width Width of decoded image.
-           * @property {number} height Height of decoded image.
-           * @property {array} pixels [band1, band2, …] Each band is a typed array of width*height.
-           * @property {string} pixelType The type of pixels represented in the output.
-           * @property {mask} mask Typed array with a size of width*height, or null if all pixels are valid.
-           * @property {array} statistics [statistics_band1, statistics_band2, …] Each element is a statistics object representing min and max values
-        **/
-        decode: function(encodedData, options) {
-          if (!isPlatformLittleEndian) {
-            throw "Big endian system is not supported.";
-          }
-          options = options || {};
-          var inputOffset = options.inputOffset || 0;
-          var fileIdView = new Uint8Array(encodedData, inputOffset, 10);
-          var fileIdentifierString = String.fromCharCode.apply(null, fileIdView);
-          var lerc, majorVersion;
-          if (fileIdentifierString.trim() === "CntZImage") {
-            lerc = LercDecode;
-            majorVersion = 1;
-          }
-          else if (fileIdentifierString.substring(0, 5) === "Lerc2") {
-            lerc = Lerc2Decode;
-            majorVersion = 2;
-          }
-          else {
-            throw "Unexpected file identifier string: " + fileIdentifierString;
-          }
-
-          var iPlane = 0, eof = encodedData.byteLength - 10, encodedMaskData, bandMasks = [], bandMask, maskData;
-          var decodedPixelBlock = {
-            width: 0,
-            height: 0,
-            pixels: [],
-            pixelType: options.pixelType,
-            mask: null,
-            statistics: []
-          };
-
-          while (inputOffset < eof) {
-            var result = lerc.decode(encodedData, {
-              inputOffset: inputOffset,//for both lerc1 and lerc2
-              encodedMaskData: encodedMaskData,//lerc1 only
-              maskData: maskData,//lerc2 only
-              returnMask: iPlane === 0 ? true : false,//lerc1 only
-              returnEncodedMask: iPlane === 0 ? true : false,//lerc1 only
-              returnFileInfo: true,//for both lerc1 and lerc2
-              pixelType: options.pixelType || null,//lerc1 only
-              noDataValue: options.noDataValue || null//lerc1 only
-            });
-
-            inputOffset = result.fileInfo.eofOffset;
-            if (iPlane === 0) {
-              encodedMaskData = result.encodedMaskData;//lerc1
-              maskData = result.maskData;//lerc2
-              decodedPixelBlock.width = result.width;
-              decodedPixelBlock.height = result.height;
-              decodedPixelBlock.dimCount = result.dimCount || 1;
-              //decodedPixelBlock.dimStats = decodedPixelBlock.dimStats;
-              decodedPixelBlock.pixelType = result.pixelType || result.fileInfo.pixelType;
-              decodedPixelBlock.mask = result.maskData;
-            }
-            if (majorVersion >1 && result.fileInfo.mask && result.fileInfo.mask.numBytes > 0) {
-              bandMasks.push(result.maskData);
-            }
-
-            iPlane++;
-            decodedPixelBlock.pixels.push(result.pixelData);
-            decodedPixelBlock.statistics.push({
-              minValue: result.minValue,
-              maxValue: result.maxValue,
-              noDataValue: result.noDataValue,
-              dimStats: result.dimStats
-            });
-          }
-          var i, j, numPixels;
-          if (majorVersion > 1 && bandMasks.length > 1) {
-            numPixels = decodedPixelBlock.width * decodedPixelBlock.height;
-            decodedPixelBlock.bandMasks = bandMasks;
-            maskData = new Uint8Array(numPixels);
-            maskData.set(bandMasks[0]);
-            for (i = 1; i < bandMasks.length; i++) {
-              bandMask = bandMasks[i];
-              for (j = 0; j < numPixels; j++) {
-                maskData[j] = maskData[j] & bandMask[j];
-              }
-            }
-            decodedPixelBlock.maskData = maskData;
-          }
-
-          return decodedPixelBlock;
-        }
-      };
-
-      tmp.Lerc = Lerc;
-    })();
-
-    var Lerc = tmp.Lerc;
-
-    function createVerticesFromHeightmap(parameters, transferableObjects) {
-            // LERC encoded buffers must be decoded, then we can process them like normal
-            if (parameters.encoding === HeightmapEncoding$1.LERC) {
-                var result;
-                try {
-                    result = Lerc.decode(parameters.heightmap);
-                } catch (error) {
-                    throw new RuntimeError.RuntimeError(error);
-                }
-
-                var lercStatistics = result.statistics[0];
-                if (lercStatistics.minValue === Number.MAX_VALUE) {
-                    throw new RuntimeError.RuntimeError('Invalid tile data');
-                }
-
-                parameters.heightmap = result.pixels[0];
-                parameters.width = result.width;
-                parameters.height = result.height;
-            }
-
-            parameters.ellipsoid = Cartesian2.Ellipsoid.clone(parameters.ellipsoid);
-            parameters.rectangle = Cartesian2.Rectangle.clone(parameters.rectangle);
-
-            var statistics = HeightmapTessellator.computeVertices(parameters);
-            var vertices = statistics.vertices;
-            transferableObjects.push(vertices.buffer);
-
-            return {
-                vertices : vertices.buffer,
-                numberOfAttributes : statistics.encoding.getStride(),
-                minimumHeight : statistics.minimumHeight,
-                maximumHeight : statistics.maximumHeight,
-                gridWidth : parameters.width,
-                gridHeight : parameters.height,
-                boundingSphere3D : statistics.boundingSphere3D,
-                orientedBoundingBox : statistics.orientedBoundingBox,
-                occludeePointInScaledSpace : statistics.occludeePointInScaledSpace,
-                encoding : statistics.encoding,
-                westIndicesSouthToNorth : statistics.westIndicesSouthToNorth,
-                southIndicesEastToWest : statistics.southIndicesEastToWest,
-                eastIndicesNorthToSouth : statistics.eastIndicesNorthToSouth,
-                northIndicesWestToEast : statistics.northIndicesWestToEast
-            };
-        }
-    var createVerticesFromHeightmap$1 = createTaskProcessorWorker(createVerticesFromHeightmap);
-
-    return createVerticesFromHeightmap$1;
-
-});
diff --git a/libs/supermap/Workers/createVerticesFromQuantizedTerrainMesh.js b/libs/supermap/Workers/createVerticesFromQuantizedTerrainMesh.js
deleted file mode 100644
index bef2102..0000000
--- a/libs/supermap/Workers/createVerticesFromQuantizedTerrainMesh.js
+++ /dev/null
@@ -1,818 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './AttributeCompression-50ff7145', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './WebMercatorProjection-0391f892', './createTaskProcessorWorker', './EllipsoidTangentPlane-fe3014f8', './OrientedBoundingBox-2b1de35e', './TerrainEncoding-68dd69c9'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, FeatureDetection, Transforms, buildModuleUrl, AttributeCompression, IndexDatatype, IntersectionTests, Plane, WebMercatorProjection, createTaskProcessorWorker, EllipsoidTangentPlane, OrientedBoundingBox, TerrainEncoding) { 'use strict';
-
-    /**
-         * Provides terrain or other geometry for the surface of an ellipsoid.  The surface geometry is
-         * organized into a pyramid of tiles according to a {@link TilingScheme}.  This type describes an
-         * interface and is not intended to be instantiated directly.
-         *
-         * @alias TerrainProvider
-         * @constructor
-         *
-         * @see EllipsoidTerrainProvider
-         * @see CesiumTerrainProvider
-         * @see VRTheWorldTerrainProvider
-         * @see GoogleEarthEnterpriseTerrainProvider
-         */
-        function TerrainProvider() {
-            Check.DeveloperError.throwInstantiationError();
-        }
-
-        Object.defineProperties(TerrainProvider.prototype, {
-            /**
-             * Gets an event that is raised when the terrain provider encounters an asynchronous error..  By subscribing
-             * to the event, you will be notified of the error and can potentially recover from it.  Event listeners
-             * are passed an instance of {@link TileProviderError}.
-             * @memberof TerrainProvider.prototype
-             * @type {Event}
-             */
-            errorEvent : {
-                get : Check.DeveloperError.throwInstantiationError
-            },
-
-            /**
-             * Gets the credit to display when this terrain provider is active.  Typically this is used to credit
-             * the source of the terrain. This function should
-             * not be called before {@link TerrainProvider#ready} returns true.
-             * @memberof TerrainProvider.prototype
-             * @type {Credit}
-             */
-            credit : {
-                get : Check.DeveloperError.throwInstantiationError
-            },
-
-            /**
-             * Gets the tiling scheme used by the provider.  This function should
-             * not be called before {@link TerrainProvider#ready} returns true.
-             * @memberof TerrainProvider.prototype
-             * @type {TilingScheme}
-             */
-            tilingScheme : {
-                get : Check.DeveloperError.throwInstantiationError
-            },
-
-            /**
-             * Gets a value indicating whether or not the provider is ready for use.
-             * @memberof TerrainProvider.prototype
-             * @type {Boolean}
-             */
-            ready : {
-                get : Check.DeveloperError.throwInstantiationError
-            },
-
-            /**
-             * Gets a promise that resolves to true when the provider is ready for use.
-             * @memberof TerrainProvider.prototype
-             * @type {Promise.<Boolean>}
-             * @readonly
-             */
-            readyPromise : {
-                get : Check.DeveloperError.throwInstantiationError
-            },
-
-            /**
-             * Gets a value indicating whether or not the provider includes a water mask.  The water mask
-             * indicates which areas of the globe are water rather than land, so they can be rendered
-             * as a reflective surface with animated waves.  This function should not be
-             * called before {@link TerrainProvider#ready} returns true.
-             * @memberof TerrainProvider.prototype
-             * @type {Boolean}
-             */
-            hasWaterMask : {
-                get : Check.DeveloperError.throwInstantiationError
-            },
-
-            /**
-             * Gets a value indicating whether or not the requested tiles include vertex normals.
-             * This function should not be called before {@link TerrainProvider#ready} returns true.
-             * @memberof TerrainProvider.prototype
-             * @type {Boolean}
-             */
-            hasVertexNormals : {
-                get : Check.DeveloperError.throwInstantiationError
-            },
-
-            /**
-             * Gets an object that can be used to determine availability of terrain from this provider, such as
-             * at points and in rectangles.  This function should not be called before
-             * {@link TerrainProvider#ready} returns true.  This property may be undefined if availability
-             * information is not available.
-             * @memberof TerrainProvider.prototype
-             * @type {TileAvailability}
-             */
-            availability : {
-                get : Check.DeveloperError.throwInstantiationError
-            }
-        });
-
-        var regularGridIndicesCache = [];
-
-        /**
-         * Gets a list of indices for a triangle mesh representing a regular grid.  Calling
-         * this function multiple times with the same grid width and height returns the
-         * same list of indices.  The total number of vertices must be less than or equal
-         * to 65536.
-         *
-         * @param {Number} width The number of vertices in the regular grid in the horizontal direction.
-         * @param {Number} height The number of vertices in the regular grid in the vertical direction.
-         * @returns {Uint16Array|Uint32Array} The list of indices. Uint16Array gets returned for 64KB or less and Uint32Array for 4GB or less.
-         */
-        TerrainProvider.getRegularGridIndices = function(width, height) {
-            //>>includeStart('debug', pragmas.debug);
-            if (width * height >= _Math.CesiumMath.FOUR_GIGABYTES) {
-                throw new Check.DeveloperError('The total number of vertices (width * height) must be less than 4,294,967,296.');
-            }
-            //>>includeEnd('debug');
-
-            var byWidth = regularGridIndicesCache[width];
-            if (!when.defined(byWidth)) {
-                regularGridIndicesCache[width] = byWidth = [];
-            }
-
-            var indices = byWidth[height];
-            if (!when.defined(indices)) {
-                if (width * height < _Math.CesiumMath.SIXTY_FOUR_KILOBYTES) {
-                    indices = byWidth[height] = new Uint16Array((width - 1) * (height - 1) * 6 + 3*(width + height - 2));
-                } else {
-                    indices = byWidth[height] = new Uint32Array((width - 1) * (height - 1) * 6 + 3*(width + height - 2));
-                }
-                addRegularGridIndices(width, height, indices, 0);
-            }
-
-            return indices;
-        };
-
-        var regularGridAndEdgeIndicesCache = [];
-
-        /**
-         * @private
-         */
-        TerrainProvider.getRegularGridIndicesAndEdgeIndices = function(width, height) {
-            //>>includeStart('debug', pragmas.debug);
-            if (width * height >= _Math.CesiumMath.FOUR_GIGABYTES) {
-                throw new Check.DeveloperError('The total number of vertices (width * height) must be less than 4,294,967,296.');
-            }
-            //>>includeEnd('debug');
-
-            var byWidth = regularGridAndEdgeIndicesCache[width];
-            if (!when.defined(byWidth)) {
-                regularGridAndEdgeIndicesCache[width] = byWidth = [];
-            }
-
-            var indicesAndEdges = byWidth[height];
-            if (!when.defined(indicesAndEdges)) {
-                var indices = TerrainProvider.getRegularGridIndices(width, height);
-
-                var edgeIndices = getEdgeIndices(width, height);
-                var westIndicesSouthToNorth = edgeIndices.westIndicesSouthToNorth;
-                var southIndicesEastToWest = edgeIndices.southIndicesEastToWest;
-                var eastIndicesNorthToSouth = edgeIndices.eastIndicesNorthToSouth;
-                var northIndicesWestToEast = edgeIndices.northIndicesWestToEast;
-
-                indicesAndEdges = byWidth[height] = {
-                    indices : indices,
-                    westIndicesSouthToNorth : westIndicesSouthToNorth,
-                    southIndicesEastToWest : southIndicesEastToWest,
-                    eastIndicesNorthToSouth : eastIndicesNorthToSouth,
-                    northIndicesWestToEast : northIndicesWestToEast
-                };
-            }
-
-            return indicesAndEdges;
-        };
-
-        var regularGridAndSkirtAndEdgeIndicesCache = [];
-
-        /**
-         * @private
-         */
-        TerrainProvider.getRegularGridAndSkirtIndicesAndEdgeIndices = function(width, height) {
-            //>>includeStart('debug', pragmas.debug);
-            if (width * height >= _Math.CesiumMath.FOUR_GIGABYTES) {
-                throw new Check.DeveloperError('The total number of vertices (width * height) must be less than 4,294,967,296.');
-            }
-            //>>includeEnd('debug');
-
-            var byWidth = regularGridAndSkirtAndEdgeIndicesCache[width];
-            if (!when.defined(byWidth)) {
-                regularGridAndSkirtAndEdgeIndicesCache[width] = byWidth = [];
-            }
-
-            var indicesAndEdges = byWidth[height];
-            if (!when.defined(indicesAndEdges)) {
-                var gridVertexCount = width * height;
-                var gridIndexCount = (width - 1) * (height - 1) * 6;
-                var edgeVertexCount = width * 2 + height * 2;
-                var edgeIndexCount = Math.max(0, edgeVertexCount - 4) * 6;
-                var vertexCount = gridVertexCount + edgeVertexCount;
-
-                var boundaryIndexCount = 3*(width + height - 2);
-
-                var indexCount = gridIndexCount + edgeIndexCount + boundaryIndexCount;
-
-                var edgeIndices = getEdgeIndices(width, height);
-                var westIndicesSouthToNorth = edgeIndices.westIndicesSouthToNorth;
-                var southIndicesEastToWest = edgeIndices.southIndicesEastToWest;
-                var eastIndicesNorthToSouth = edgeIndices.eastIndicesNorthToSouth;
-                var northIndicesWestToEast = edgeIndices.northIndicesWestToEast;
-
-                var indices = IndexDatatype.IndexDatatype.createTypedArray(vertexCount, indexCount);
-                addRegularGridIndices(width, height, indices, 0);
-                TerrainProvider.addSkirtIndices(westIndicesSouthToNorth, southIndicesEastToWest, eastIndicesNorthToSouth, northIndicesWestToEast, gridVertexCount, indices, gridIndexCount + boundaryIndexCount);
-
-                indicesAndEdges = byWidth[height] = {
-                    indices : indices,
-                    westIndicesSouthToNorth : westIndicesSouthToNorth,
-                    southIndicesEastToWest : southIndicesEastToWest,
-                    eastIndicesNorthToSouth : eastIndicesNorthToSouth,
-                    northIndicesWestToEast : northIndicesWestToEast,
-                    indexCountWithoutSkirts : gridIndexCount
-                };
-            }
-
-            return indicesAndEdges;
-        };
-
-        /**
-         * @private
-         */
-        TerrainProvider.addSkirtIndices = function(westIndicesSouthToNorth, southIndicesEastToWest, eastIndicesNorthToSouth, northIndicesWestToEast, vertexCount, indices, offset, edgeMap) {
-            var vertexIndex = vertexCount;
-            offset = addSkirtIndices(westIndicesSouthToNorth, vertexIndex, indices, offset, edgeMap);
-            vertexIndex += westIndicesSouthToNorth.length;
-            offset = addSkirtIndices(southIndicesEastToWest, vertexIndex, indices, offset, edgeMap);
-            vertexIndex += southIndicesEastToWest.length;
-            offset = addSkirtIndices(eastIndicesNorthToSouth, vertexIndex, indices, offset, edgeMap);
-            vertexIndex += eastIndicesNorthToSouth.length;
-            addSkirtIndices(northIndicesWestToEast, vertexIndex, indices, offset, edgeMap);
-        };
-
-        function getEdgeIndices(width, height) {
-            var westIndicesSouthToNorth = new Array(height);
-            var southIndicesEastToWest = new Array(width);
-            var eastIndicesNorthToSouth = new Array(height);
-            var northIndicesWestToEast = new Array(width);
-
-            var i;
-            for (i = 0; i < width; ++i) {
-                northIndicesWestToEast[i] = i;
-                southIndicesEastToWest[i] = width * height - 1 - i;
-            }
-
-            for (i = 0; i < height; ++i) {
-                eastIndicesNorthToSouth[i] = (i + 1) * width - 1;
-                westIndicesSouthToNorth[i] = (height - i - 1) * width;
-            }
-
-            return {
-                westIndicesSouthToNorth : westIndicesSouthToNorth,
-                southIndicesEastToWest : southIndicesEastToWest,
-                eastIndicesNorthToSouth : eastIndicesNorthToSouth,
-                northIndicesWestToEast : northIndicesWestToEast
-            };
-        }
-
-        function addRegularGridIndices(width, height, indices, offset) {
-            var index = 0;
-            for (var j = 0; j < height - 1; ++j) {
-                for (var i = 0; i < width - 1; ++i) {
-                    var upperLeft = index;
-                    var lowerLeft = upperLeft + width;
-                    var lowerRight = lowerLeft + 1;
-                    var upperRight = upperLeft + 1;
-
-                    indices[offset++] = upperLeft;
-                    indices[offset++] = lowerLeft;
-                    indices[offset++] = upperRight;
-                    indices[offset++] = upperRight;
-                    indices[offset++] = lowerLeft;
-                    indices[offset++] = lowerRight;
-
-                    ++index;
-                }
-                ++index;
-            }
-            var boundaryHeight = (height - 1)/2;
-            var boundaryWidth = (width - 1)/2;
-
-            index = 0;
-            for(var i=0; i<boundaryWidth; i++)
-            {
-                indices[offset++] = index;
-                indices[offset++] = index + 1;
-                indices[offset++] = index + 2;
-                index+=2;
-            }
-
-            index = width * (height - 1);
-            for(var i=0; i<boundaryWidth; i++)
-            {
-                indices[offset++] = index + 1;
-                indices[offset++] = index;
-                indices[offset++] = index + 2;
-                index+=2;
-            }
-
-            index = 0;
-            for(var i=0; i<boundaryHeight; i++)
-            {
-                indices[offset++] = index + width;
-                indices[offset++] = index;
-                indices[offset++] = index + 2*width;
-                index+=2*width;
-            }
-
-            index = width - 1;
-            for(var i=0; i<boundaryHeight; i++)
-            {
-                indices[offset++] = index;
-                indices[offset++] = index + width;
-                indices[offset++] = index + 2*width;
-                index+=2*width;
-            }
-        }
-
-        function addSkirtIndices(edgeIndices, vertexIndex, indices, offset, edgeMap) {
-            var hasEdgeMap = when.defined(edgeMap);
-            var previousIndex = edgeIndices[0];
-
-            var length = edgeIndices.length;
-            for (var i = 1; i < length; ++i) {
-                var index = edgeIndices[i];
-
-                if(hasEdgeMap && !edgeMap[previousIndex + '_' + index]){
-                    continue ;
-                }
-
-                indices[offset++] = previousIndex;
-                indices[offset++] = index;
-                indices[offset++] = vertexIndex;
-
-                indices[offset++] = vertexIndex;
-                indices[offset++] = index;
-                indices[offset++] = vertexIndex + 1;
-
-                previousIndex = index;
-                ++vertexIndex;
-            }
-
-            return offset;
-        }
-
-        /**
-         * Specifies the quality of terrain created from heightmaps.  A value of 1.0 will
-         * ensure that adjacent heightmap vertices are separated by no more than
-         * {@link Globe.maximumScreenSpaceError} screen pixels and will probably go very slowly.
-         * A value of 0.5 will cut the estimated level zero geometric error in half, allowing twice the
-         * screen pixels between adjacent heightmap vertices and thus rendering more quickly.
-         * @type {Number}
-         */
-        TerrainProvider.heightmapTerrainQuality = 0.25;
-
-        /**
-         * Determines an appropriate geometric error estimate when the geometry comes from a heightmap.
-         *
-         * @param {Ellipsoid} ellipsoid The ellipsoid to which the terrain is attached.
-         * @param {Number} tileImageWidth The width, in pixels, of the heightmap associated with a single tile.
-         * @param {Number} numberOfTilesAtLevelZero The number of tiles in the horizontal direction at tile level zero.
-         * @returns {Number} An estimated geometric error.
-         */
-        TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap = function(ellipsoid, tileImageWidth, numberOfTilesAtLevelZero) {
-            return ellipsoid.maximumRadius * 2 * Math.PI * TerrainProvider.heightmapTerrainQuality / (tileImageWidth * numberOfTilesAtLevelZero);
-        };
-
-        /**
-         * Requests the geometry for a given tile.  This function should not be called before
-         * {@link TerrainProvider#ready} returns true.  The result must include terrain data and
-         * may optionally include a water mask and an indication of which child tiles are available.
-         * @function
-         *
-         * @param {Number} x The X coordinate of the tile for which to request geometry.
-         * @param {Number} y The Y coordinate of the tile for which to request geometry.
-         * @param {Number} level The level of the tile for which to request geometry.
-         * @param {Request} [request] The request object. Intended for internal use only.
-         *
-         * @returns {Promise.<TerrainData>|undefined} A promise for the requested geometry.  If this method
-         *          returns undefined instead of a promise, it is an indication that too many requests are already
-         *          pending and the request will be retried later.
-         */
-        TerrainProvider.prototype.requestTileGeometry = Check.DeveloperError.throwInstantiationError;
-
-        /**
-         * Gets the maximum geometric error allowed in a tile at a given level.  This function should not be
-         * called before {@link TerrainProvider#ready} returns true.
-         * @function
-         *
-         * @param {Number} level The tile level for which to get the maximum geometric error.
-         * @returns {Number} The maximum geometric error.
-         */
-        TerrainProvider.prototype.getLevelMaximumGeometricError = Check.DeveloperError.throwInstantiationError;
-
-        /**
-         * Determines whether data for a tile is available to be loaded.
-         * @function
-         *
-         * @param {Number} x The X coordinate of the tile for which to request geometry.
-         * @param {Number} y The Y coordinate of the tile for which to request geometry.
-         * @param {Number} level The level of the tile for which to request geometry.
-         * @returns {Boolean} Undefined if not supported by the terrain provider, otherwise true or false.
-         */
-        TerrainProvider.prototype.getTileDataAvailable = Check.DeveloperError.throwInstantiationError;
-
-        /**
-         * Makes sure we load availability data for a tile
-         * @function
-         *
-         * @param {Number} x The X coordinate of the tile for which to request geometry.
-         * @param {Number} y The Y coordinate of the tile for which to request geometry.
-         * @param {Number} level The level of the tile for which to request geometry.
-         * @returns {undefined|Promise} Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded
-         */
-        TerrainProvider.prototype.loadTileDataAvailability = Check.DeveloperError.throwInstantiationError;
-
-    var maxShort = 32767;
-
-    var cartesian3Scratch = new Cartesian2.Cartesian3();
-    var scratchMinimum = new Cartesian2.Cartesian3();
-    var scratchMaximum = new Cartesian2.Cartesian3();
-    var cartographicScratch = new Cartesian2.Cartographic();
-    var toPack = new Cartesian2.Cartesian2();
-    var scratchNormal = new Cartesian2.Cartesian3();
-    var scratchToENU = new BoundingSphere.Matrix4();
-    var scratchFromENU = new BoundingSphere.Matrix4();
-
-    function createVerticesFromQuantizedTerrainMesh(parameters, transferableObjects) {
-        var quantizedVertices = parameters.quantizedVertices;
-        var quantizedVertexCount = quantizedVertices.length / 3;
-        var octEncodedNormals = parameters.octEncodedNormals;
-        var edgeVertexCount = parameters.westIndices.length + parameters.eastIndices.length +
-            parameters.southIndices.length + parameters.northIndices.length;
-        var includeWebMercatorT = parameters.includeWebMercatorT;
-
-        var rectangle = Cartesian2.Rectangle.clone(parameters.rectangle);
-        var west = rectangle.west;
-        var south = rectangle.south;
-        var east = rectangle.east;
-        var north = rectangle.north;
-
-        var ellipsoid = Cartesian2.Ellipsoid.clone(parameters.ellipsoid);
-
-        var exaggeration = parameters.exaggeration;
-        var minimumHeight = parameters.minimumHeight * exaggeration;
-        var maximumHeight = parameters.maximumHeight * exaggeration;
-
-        var center = parameters.relativeToCenter;
-        var fromENU = Transforms.Transforms.eastNorthUpToFixedFrame(center, ellipsoid);
-        var toENU = BoundingSphere.Matrix4.inverseTransformation(fromENU, new BoundingSphere.Matrix4());
-
-        var southMercatorY;
-        var oneOverMercatorHeight;
-        if (includeWebMercatorT) {
-            southMercatorY = WebMercatorProjection.WebMercatorProjection.geodeticLatitudeToMercatorAngle(south);
-            oneOverMercatorHeight = 1.0 / (WebMercatorProjection.WebMercatorProjection.geodeticLatitudeToMercatorAngle(north) - southMercatorY);
-        }
-
-        var uBuffer = quantizedVertices.subarray(0, quantizedVertexCount);
-        var vBuffer = quantizedVertices.subarray(quantizedVertexCount, 2 * quantizedVertexCount);
-        var heightBuffer = quantizedVertices.subarray(quantizedVertexCount * 2, 3 * quantizedVertexCount);
-        var hasVertexNormals = when.defined(octEncodedNormals);
-
-        var uvs = new Array(quantizedVertexCount);
-        var heights = new Array(quantizedVertexCount);
-        var positions = new Array(quantizedVertexCount);
-        var webMercatorTs = includeWebMercatorT ? new Array(quantizedVertexCount) : [];
-
-        var minimum = scratchMinimum;
-        minimum.x = Number.POSITIVE_INFINITY;
-        minimum.y = Number.POSITIVE_INFINITY;
-        minimum.z = Number.POSITIVE_INFINITY;
-
-        var maximum = scratchMaximum;
-        maximum.x = Number.NEGATIVE_INFINITY;
-        maximum.y = Number.NEGATIVE_INFINITY;
-        maximum.z = Number.NEGATIVE_INFINITY;
-
-        var minLongitude = Number.POSITIVE_INFINITY;
-        var maxLongitude = Number.NEGATIVE_INFINITY;
-        var minLatitude = Number.POSITIVE_INFINITY;
-        var maxLatitude = Number.NEGATIVE_INFINITY;
-
-        for (var i = 0; i < quantizedVertexCount; ++i) {
-            var rawU = uBuffer[i];
-            var rawV = vBuffer[i];
-
-            var u = rawU / maxShort;
-            var v = rawV / maxShort;
-            var height = _Math.CesiumMath.lerp(minimumHeight, maximumHeight, heightBuffer[i] / maxShort);
-
-            cartographicScratch.longitude = _Math.CesiumMath.lerp(west, east, u);
-            cartographicScratch.latitude = _Math.CesiumMath.lerp(south, north, v);
-            cartographicScratch.height = height;
-
-            minLongitude = Math.min(cartographicScratch.longitude, minLongitude);
-            maxLongitude = Math.max(cartographicScratch.longitude, maxLongitude);
-            minLatitude = Math.min(cartographicScratch.latitude, minLatitude);
-            maxLatitude = Math.max(cartographicScratch.latitude, maxLatitude);
-
-            var position = ellipsoid.cartographicToCartesian(cartographicScratch);
-
-            uvs[i] = new Cartesian2.Cartesian2(u, v);
-            heights[i] = height;
-            positions[i] = position;
-
-            if (includeWebMercatorT) {
-                webMercatorTs[i] = (WebMercatorProjection.WebMercatorProjection.geodeticLatitudeToMercatorAngle(cartographicScratch.latitude) - southMercatorY) * oneOverMercatorHeight;
-            }
-
-            BoundingSphere.Matrix4.multiplyByPoint(toENU, position, cartesian3Scratch);
-
-            Cartesian2.Cartesian3.minimumByComponent(cartesian3Scratch, minimum, minimum);
-            Cartesian2.Cartesian3.maximumByComponent(cartesian3Scratch, maximum, maximum);
-        }
-
-        var westIndicesSouthToNorth = copyAndSort(parameters.westIndices, function(a, b) {
-            return uvs[a].y - uvs[b].y;
-        });
-        var eastIndicesNorthToSouth = copyAndSort(parameters.eastIndices, function(a, b) {
-            return uvs[b].y - uvs[a].y;
-        });
-        var southIndicesEastToWest = copyAndSort(parameters.southIndices, function(a, b) {
-            return uvs[b].x - uvs[a].x;
-        });
-        var northIndicesWestToEast = copyAndSort(parameters.northIndices, function(a, b) {
-            return uvs[a].x - uvs[b].x;
-        });
-
-        var orientedBoundingBox;
-        var boundingSphere;
-
-        // Bounding volumes need to be recomputed since the tile payload assumes no exaggeration.
-        boundingSphere = BoundingSphere.BoundingSphere.fromPoints(positions);
-        orientedBoundingBox = OrientedBoundingBox.OrientedBoundingBox.fromRectangle(rectangle, minimumHeight, maximumHeight, ellipsoid);
-
-        var occludeePointInScaledSpace;
-        if (exaggeration !== 1.0 || minimumHeight < 0.0) {
-            // Horizon culling point needs to be recomputed since the tile payload assumes no exaggeration.
-            var occluder = new TerrainEncoding.EllipsoidalOccluder(ellipsoid);
-            occludeePointInScaledSpace = occluder.computeHorizonCullingPointPossiblyUnderEllipsoid(center, positions, minimumHeight);
-        }
-
-        var hMin = minimumHeight;
-        hMin = Math.min(hMin, findMinMaxSkirts(parameters.westIndices, parameters.westSkirtHeight, heights, uvs, rectangle, ellipsoid, toENU, minimum, maximum));
-        hMin = Math.min(hMin, findMinMaxSkirts(parameters.southIndices, parameters.southSkirtHeight, heights, uvs, rectangle, ellipsoid, toENU, minimum, maximum));
-        hMin = Math.min(hMin, findMinMaxSkirts(parameters.eastIndices, parameters.eastSkirtHeight, heights, uvs, rectangle, ellipsoid, toENU, minimum, maximum));
-        hMin = Math.min(hMin, findMinMaxSkirts(parameters.northIndices, parameters.northSkirtHeight, heights, uvs, rectangle, ellipsoid, toENU, minimum, maximum));
-
-        var aaBox = new EllipsoidTangentPlane.AxisAlignedBoundingBox(minimum, maximum, center);
-        var encoding = new TerrainEncoding.TerrainEncoding(aaBox, hMin, maximumHeight, fromENU, hasVertexNormals, includeWebMercatorT);
-        var vertexStride = encoding.getStride();
-        var size = quantizedVertexCount * vertexStride + edgeVertexCount * vertexStride;
-        var vertexBuffer = new Float32Array(size);
-
-        var bufferIndex = 0;
-        for (var j = 0; j < quantizedVertexCount; ++j) {
-            if (hasVertexNormals) {
-                var n = j * 2.0;
-                toPack.x = octEncodedNormals[n];
-                toPack.y = octEncodedNormals[n + 1];
-
-                if (exaggeration !== 1.0) {
-                    var normal = AttributeCompression.AttributeCompression.octDecode(toPack.x, toPack.y, scratchNormal);
-                    var fromENUNormal = Transforms.Transforms.eastNorthUpToFixedFrame(positions[j], ellipsoid, scratchFromENU);
-                    var toENUNormal = BoundingSphere.Matrix4.inverseTransformation(fromENUNormal, scratchToENU);
-
-                    BoundingSphere.Matrix4.multiplyByPointAsVector(toENUNormal, normal, normal);
-                    normal.z *= exaggeration;
-                    Cartesian2.Cartesian3.normalize(normal, normal);
-
-                    BoundingSphere.Matrix4.multiplyByPointAsVector(fromENUNormal, normal, normal);
-                    Cartesian2.Cartesian3.normalize(normal, normal);
-
-                    AttributeCompression.AttributeCompression.octEncode(normal, toPack);
-                }
-            }
-
-            bufferIndex = encoding.encode(vertexBuffer, bufferIndex, positions[j], uvs[j], heights[j], toPack, webMercatorTs[j]);
-        }
-
-        var edgeTriangleCount = Math.max(0, (edgeVertexCount - 4) * 2);
-        var indexBufferLength = parameters.indices.length + edgeTriangleCount * 3;
-        var indexBuffer = IndexDatatype.IndexDatatype.createTypedArray(quantizedVertexCount + edgeVertexCount, indexBufferLength);
-        indexBuffer.set(parameters.indices, 0);
-
-        var percentage = 0.0001;
-        var lonOffset = (maxLongitude - minLongitude) * percentage;
-        var latOffset = (maxLatitude - minLatitude) * percentage;
-        var westLongitudeOffset = -lonOffset;
-        var westLatitudeOffset = 0.0;
-        var eastLongitudeOffset = lonOffset;
-        var eastLatitudeOffset = 0.0;
-        var northLongitudeOffset = 0.0;
-        var northLatitudeOffset = latOffset;
-        var southLongitudeOffset = 0.0;
-        var southLatitudeOffset = -latOffset;
-
-        // Add skirts.
-        var vertexBufferIndex = quantizedVertexCount * vertexStride;
-        addSkirt(vertexBuffer, vertexBufferIndex, westIndicesSouthToNorth, encoding, heights, uvs, octEncodedNormals, ellipsoid, rectangle, parameters.westSkirtHeight, exaggeration, southMercatorY, oneOverMercatorHeight, westLongitudeOffset, westLatitudeOffset);
-        vertexBufferIndex += parameters.westIndices.length * vertexStride;
-        addSkirt(vertexBuffer, vertexBufferIndex, southIndicesEastToWest, encoding, heights, uvs, octEncodedNormals, ellipsoid, rectangle, parameters.southSkirtHeight, exaggeration, southMercatorY, oneOverMercatorHeight, southLongitudeOffset, southLatitudeOffset);
-        vertexBufferIndex += parameters.southIndices.length * vertexStride;
-        addSkirt(vertexBuffer, vertexBufferIndex, eastIndicesNorthToSouth, encoding, heights, uvs, octEncodedNormals, ellipsoid, rectangle, parameters.eastSkirtHeight, exaggeration, southMercatorY, oneOverMercatorHeight, eastLongitudeOffset, eastLatitudeOffset);
-        vertexBufferIndex += parameters.eastIndices.length * vertexStride;
-        addSkirt(vertexBuffer, vertexBufferIndex, northIndicesWestToEast, encoding, heights, uvs, octEncodedNormals, ellipsoid, rectangle, parameters.northSkirtHeight, exaggeration, southMercatorY, oneOverMercatorHeight, northLongitudeOffset, northLatitudeOffset);
-
-        var edgeMap = createEdgeMap(parameters.indices, uBuffer, vBuffer, parameters.level);
-        TerrainProvider.addSkirtIndices(westIndicesSouthToNorth, southIndicesEastToWest, eastIndicesNorthToSouth, northIndicesWestToEast, quantizedVertexCount, indexBuffer, parameters.indices.length, edgeMap);
-
-        transferableObjects.push(vertexBuffer.buffer, indexBuffer.buffer);
-
-        return {
-            vertices : vertexBuffer.buffer,
-            indices : indexBuffer.buffer,
-            westIndicesSouthToNorth : westIndicesSouthToNorth,
-            southIndicesEastToWest : southIndicesEastToWest,
-            eastIndicesNorthToSouth : eastIndicesNorthToSouth,
-            northIndicesWestToEast : northIndicesWestToEast,
-            vertexStride : vertexStride,
-            center : center,
-            minimumHeight : minimumHeight,
-            maximumHeight : maximumHeight,
-            boundingSphere : boundingSphere,
-            orientedBoundingBox : orientedBoundingBox,
-            occludeePointInScaledSpace : occludeePointInScaledSpace,
-            encoding : encoding,
-            indexCountWithoutSkirts : parameters.indices.length
-        };
-    }
-
-    function createEdgeMap(indices, uBuffer, vBuffer, level) {
-        if(level < 12){
-            return undefined;
-        }
-
-        var edgeMap = {};
-        var len = indices.length / 3;
-        for(var i = 0;i < len;i += 3){
-            var i0 = indices[i];
-            var i1 = indices[i + 1];
-            var i2 = indices[i + 2];
-            if( (uBuffer[i0] === maxShort && uBuffer[i1] === maxShort) ||
-                (uBuffer[i0] === 0 && uBuffer[i1] === 0) ||
-                (vBuffer[i0] === maxShort && vBuffer[i1] === maxShort) ||
-                (vBuffer[i0] === 0 && vBuffer[i1] === 0) ){
-                edgeMap[i0 + '_' + i1] = 1;
-                edgeMap[i1 + '_' + i0] = 1;
-            }
-
-            if( (uBuffer[i1] === maxShort && uBuffer[i2] === maxShort) ||
-                (uBuffer[i1] === 0 && uBuffer[i2] === 0) ||
-                (vBuffer[i1] === maxShort && vBuffer[i2] === maxShort) ||
-                (vBuffer[i1] === 0 && vBuffer[i2] === 0) ){
-                edgeMap[i1 + '_' + i2] = 1;
-                edgeMap[i2 + '_' + i1] = 1;
-            }
-
-            if( (uBuffer[i2] === maxShort && uBuffer[i0] === maxShort) ||
-                (uBuffer[i2] === 0 && uBuffer[i0] === 0) ||
-                (vBuffer[i2] === maxShort && vBuffer[i0] === maxShort) ||
-                (vBuffer[i2] === 0 && vBuffer[i0] === 0) ){
-                edgeMap[i2 + '_' + i0] = 1;
-                edgeMap[i0 + '_' + i2] = 1;
-            }
-        }
-
-        return edgeMap;
-    }
-
-    function findMinMaxSkirts(edgeIndices, edgeHeight, heights, uvs, rectangle, ellipsoid, toENU, minimum, maximum) {
-        var hMin = Number.POSITIVE_INFINITY;
-
-        var north = rectangle.north;
-        var south = rectangle.south;
-        var east = rectangle.east;
-        var west = rectangle.west;
-
-        if (east < west) {
-            east += _Math.CesiumMath.TWO_PI;
-        }
-
-        var length = edgeIndices.length;
-        for (var i = 0; i < length; ++i) {
-            var index = edgeIndices[i];
-            var h = heights[index];
-            var uv = uvs[index];
-
-            cartographicScratch.longitude = _Math.CesiumMath.lerp(west, east, uv.x);
-            cartographicScratch.latitude = _Math.CesiumMath.lerp(south, north, uv.y);
-            cartographicScratch.height = h - edgeHeight;
-
-            var position = ellipsoid.cartographicToCartesian(cartographicScratch, cartesian3Scratch);
-            BoundingSphere.Matrix4.multiplyByPoint(toENU, position, position);
-
-            Cartesian2.Cartesian3.minimumByComponent(position, minimum, minimum);
-            Cartesian2.Cartesian3.maximumByComponent(position, maximum, maximum);
-
-            hMin = Math.min(hMin, cartographicScratch.height);
-        }
-        return hMin;
-    }
-
-    function addSkirt(vertexBuffer, vertexBufferIndex, edgeVertices, encoding, heights, uvs, octEncodedNormals, ellipsoid, rectangle, skirtLength, exaggeration, southMercatorY, oneOverMercatorHeight, longitudeOffset, latitudeOffset) {
-        var hasVertexNormals = when.defined(octEncodedNormals);
-
-        var north = rectangle.north;
-        var south = rectangle.south;
-        var east = rectangle.east;
-        var west = rectangle.west;
-
-        if (east < west) {
-            east += _Math.CesiumMath.TWO_PI;
-        }
-
-        var length = edgeVertices.length;
-        for (var i = 0; i < length; ++i) {
-            var index = edgeVertices[i];
-            var h = heights[index];
-            var uv = uvs[index];
-
-            cartographicScratch.longitude = _Math.CesiumMath.lerp(west, east, uv.x) + longitudeOffset;
-            cartographicScratch.latitude = _Math.CesiumMath.lerp(south, north, uv.y) + latitudeOffset;
-            cartographicScratch.height = h - skirtLength;
-
-            var position = ellipsoid.cartographicToCartesian(cartographicScratch, cartesian3Scratch);
-
-            if (hasVertexNormals) {
-                var n = index * 2.0;
-                toPack.x = octEncodedNormals[n];
-                toPack.y = octEncodedNormals[n + 1];
-
-                if (exaggeration !== 1.0) {
-                    var normal = AttributeCompression.AttributeCompression.octDecode(toPack.x, toPack.y, scratchNormal);
-                    var fromENUNormal = Transforms.Transforms.eastNorthUpToFixedFrame(cartesian3Scratch, ellipsoid, scratchFromENU);
-                    var toENUNormal = BoundingSphere.Matrix4.inverseTransformation(fromENUNormal, scratchToENU);
-
-                    BoundingSphere.Matrix4.multiplyByPointAsVector(toENUNormal, normal, normal);
-                    normal.z *= exaggeration;
-                    Cartesian2.Cartesian3.normalize(normal, normal);
-
-                    BoundingSphere.Matrix4.multiplyByPointAsVector(fromENUNormal, normal, normal);
-                    Cartesian2.Cartesian3.normalize(normal, normal);
-
-                    AttributeCompression.AttributeCompression.octEncode(normal, toPack);
-                }
-            }
-
-            var webMercatorT;
-            if (encoding.hasWebMercatorT) {
-                webMercatorT = (WebMercatorProjection.WebMercatorProjection.geodeticLatitudeToMercatorAngle(cartographicScratch.latitude) - southMercatorY) * oneOverMercatorHeight;
-            }
-
-            vertexBufferIndex = encoding.encode(vertexBuffer, vertexBufferIndex, position, uv, cartographicScratch.height, toPack, webMercatorT);
-        }
-    }
-
-    function copyAndSort(typedArray, comparator) {
-        var copy;
-        if (typeof typedArray.slice === 'function') {
-            copy = typedArray.slice();
-            if (typeof copy.sort !== 'function') {
-                // Sliced typed array isn't sortable, so we can't use it.
-                copy = undefined;
-            }
-        }
-
-        if (!when.defined(copy)) {
-            copy = Array.prototype.slice.call(typedArray);
-        }
-
-        copy.sort(comparator);
-
-        return copy;
-    }
-    var createVerticesFromQuantizedTerrainMesh$1 = createTaskProcessorWorker(createVerticesFromQuantizedTerrainMesh);
-
-    return createVerticesFromQuantizedTerrainMesh$1;
-
-});
diff --git a/libs/supermap/Workers/createWallGeometry.js b/libs/supermap/Workers/createWallGeometry.js
deleted file mode 100644
index b588393..0000000
--- a/libs/supermap/Workers/createWallGeometry.js
+++ /dev/null
@@ -1,570 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './VertexFormat-fe4db402', './EllipsoidTangentPlane-fe3014f8', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './EllipsoidGeodesic-15923280', './PolylinePipeline-3f99899a', './WallGeometryLibrary-9f4fb590'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, IntersectionTests, Plane, VertexFormat, EllipsoidTangentPlane, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, EllipsoidGeodesic, PolylinePipeline, WallGeometryLibrary) { 'use strict';
-
-    var scratchCartesian3Position1 = new Cartesian2.Cartesian3();
-        var scratchCartesian3Position2 = new Cartesian2.Cartesian3();
-        var scratchCartesian3Position3 = new Cartesian2.Cartesian3();
-        var scratchCartesian3Position4 = new Cartesian2.Cartesian3();
-        var scratchCartesian3Position5 = new Cartesian2.Cartesian3();
-        var scratchBitangent = new Cartesian2.Cartesian3();
-        var scratchTangent = new Cartesian2.Cartesian3();
-        var scratchNormal = new Cartesian2.Cartesian3();
-
-        /**
-         * A description of a wall, which is similar to a KML line string. A wall is defined by a series of points,
-         * which extrude down to the ground. Optionally, they can extrude downwards to a specified height.
-         *
-         * @alias WallGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of Cartesian objects, which are the points of the wall.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Number[]} [options.maximumHeights] An array parallel to <code>positions</code> that give the maximum height of the
-         *        wall at <code>positions</code>. If undefined, the height of each position in used.
-         * @param {Number[]} [options.minimumHeights] An array parallel to <code>positions</code> that give the minimum height of the
-         *        wall at <code>positions</code>. If undefined, the height at each position is 0.0.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid for coordinate manipulation
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         *
-         * @exception {DeveloperError} positions length must be greater than or equal to 2.
-         * @exception {DeveloperError} positions and maximumHeights must have the same length.
-         * @exception {DeveloperError} positions and minimumHeights must have the same length.
-         *
-         * @see WallGeometry#createGeometry
-         * @see WallGeometry#fromConstantHeight
-         *
-         * @demo {@link https://sandcastle.cesium.com/index.html?src=Wall.html|Cesium Sandcastle Wall Demo}
-         *
-         * @example
-         * // create a wall that spans from ground level to 10000 meters
-         * var wall = new Cesium.WallGeometry({
-         *   positions : Cesium.Cartesian3.fromDegreesArrayHeights([
-         *     19.0, 47.0, 10000.0,
-         *     19.0, 48.0, 10000.0,
-         *     20.0, 48.0, 10000.0,
-         *     20.0, 47.0, 10000.0,
-         *     19.0, 47.0, 10000.0
-         *   ])
-         * });
-         * var geometry = Cesium.WallGeometry.createGeometry(wall);
-         */
-        function WallGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var wallPositions = options.positions;
-            var maximumHeights = options.maximumHeights;
-            var minimumHeights = options.minimumHeights;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(wallPositions)) {
-                throw new Check.DeveloperError('options.positions is required.');
-            }
-            if (when.defined(maximumHeights) && maximumHeights.length !== wallPositions.length) {
-                throw new Check.DeveloperError('options.positions and options.maximumHeights must have the same length.');
-            }
-            if (when.defined(minimumHeights) && minimumHeights.length !== wallPositions.length) {
-                throw new Check.DeveloperError('options.positions and options.minimumHeights must have the same length.');
-            }
-            //>>includeEnd('debug');
-
-            var vertexFormat = when.defaultValue(options.vertexFormat, VertexFormat.VertexFormat.DEFAULT);
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-
-            this._positions = wallPositions;
-            this._minimumHeights = minimumHeights;
-            this._maximumHeights = maximumHeights;
-            this._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat);
-            this._granularity = granularity;
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid);
-            this._workerName = 'createWallGeometry';
-
-            var numComponents = 1 + wallPositions.length * Cartesian2.Cartesian3.packedLength + 2;
-            if (when.defined(minimumHeights)) {
-                numComponents += minimumHeights.length;
-            }
-            if (when.defined(maximumHeights)) {
-                numComponents += maximumHeights.length;
-            }
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = numComponents + Cartesian2.Ellipsoid.packedLength + VertexFormat.VertexFormat.packedLength + 1;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {WallGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        WallGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var positions = value._positions;
-            var length = positions.length;
-            array[startingIndex++] = length;
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                Cartesian2.Cartesian3.pack(positions[i], array, startingIndex);
-            }
-
-            var minimumHeights = value._minimumHeights;
-            length = when.defined(minimumHeights) ? minimumHeights.length : 0;
-            array[startingIndex++] = length;
-
-            if (when.defined(minimumHeights)) {
-                for (i = 0; i < length; ++i) {
-                    array[startingIndex++] = minimumHeights[i];
-                }
-            }
-
-            var maximumHeights = value._maximumHeights;
-            length = when.defined(maximumHeights) ? maximumHeights.length : 0;
-            array[startingIndex++] = length;
-
-            if (when.defined(maximumHeights)) {
-                for (i = 0; i < length; ++i) {
-                    array[startingIndex++] = maximumHeights[i];
-                }
-            }
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            VertexFormat.VertexFormat.pack(value._vertexFormat, array, startingIndex);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            array[startingIndex] = value._granularity;
-
-            return array;
-        };
-
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchVertexFormat = new VertexFormat.VertexFormat();
-        var scratchOptions = {
-            positions : undefined,
-            minimumHeights : undefined,
-            maximumHeights : undefined,
-            ellipsoid : scratchEllipsoid,
-            vertexFormat : scratchVertexFormat,
-            granularity : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {WallGeometry} [result] The object into which to store the result.
-         * @returns {WallGeometry} The modified result parameter or a new WallGeometry instance if one was not provided.
-         */
-        WallGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var length = array[startingIndex++];
-            var positions = new Array(length);
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                positions[i] = Cartesian2.Cartesian3.unpack(array, startingIndex);
-            }
-
-            length = array[startingIndex++];
-            var minimumHeights;
-
-            if (length > 0) {
-                minimumHeights = new Array(length);
-                for (i = 0; i < length; ++i) {
-                    minimumHeights[i] = array[startingIndex++];
-                }
-            }
-
-            length = array[startingIndex++];
-            var maximumHeights;
-
-            if (length > 0) {
-                maximumHeights = new Array(length);
-                for (i = 0; i < length; ++i) {
-                    maximumHeights[i] = array[startingIndex++];
-                }
-            }
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var vertexFormat = VertexFormat.VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
-            startingIndex += VertexFormat.VertexFormat.packedLength;
-
-            var granularity = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.positions = positions;
-                scratchOptions.minimumHeights = minimumHeights;
-                scratchOptions.maximumHeights = maximumHeights;
-                scratchOptions.granularity = granularity;
-                return new WallGeometry(scratchOptions);
-            }
-
-            result._positions = positions;
-            result._minimumHeights = minimumHeights;
-            result._maximumHeights = maximumHeights;
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._vertexFormat = VertexFormat.VertexFormat.clone(vertexFormat, result._vertexFormat);
-            result._granularity = granularity;
-
-            return result;
-        };
-
-        /**
-         * A description of a wall, which is similar to a KML line string. A wall is defined by a series of points,
-         * which extrude down to the ground. Optionally, they can extrude downwards to a specified height.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of Cartesian objects, which are the points of the wall.
-         * @param {Number} [options.maximumHeight] A constant that defines the maximum height of the
-         *        wall at <code>positions</code>. If undefined, the height of each position in used.
-         * @param {Number} [options.minimumHeight] A constant that defines the minimum height of the
-         *        wall at <code>positions</code>. If undefined, the height at each position is 0.0.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid for coordinate manipulation
-         * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
-         * @returns {WallGeometry}
-         *
-         *
-         * @example
-         * // create a wall that spans from 10000 meters to 20000 meters
-         * var wall = Cesium.WallGeometry.fromConstantHeights({
-         *   positions : Cesium.Cartesian3.fromDegreesArray([
-         *     19.0, 47.0,
-         *     19.0, 48.0,
-         *     20.0, 48.0,
-         *     20.0, 47.0,
-         *     19.0, 47.0,
-         *   ]),
-         *   minimumHeight : 20000.0,
-         *   maximumHeight : 10000.0
-         * });
-         * var geometry = Cesium.WallGeometry.createGeometry(wall);
-         *
-         * @see WallGeometry#createGeometry
-         */
-        WallGeometry.fromConstantHeights = function(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var positions = options.positions;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(positions)) {
-                throw new Check.DeveloperError('options.positions is required.');
-            }
-            //>>includeEnd('debug');
-
-            var minHeights;
-            var maxHeights;
-
-            var min = options.minimumHeight;
-            var max = options.maximumHeight;
-
-            var doMin = when.defined(min);
-            var doMax = when.defined(max);
-            if (doMin || doMax) {
-                var length = positions.length;
-                minHeights = (doMin) ? new Array(length) : undefined;
-                maxHeights = (doMax) ? new Array(length) : undefined;
-
-                for (var i = 0; i < length; ++i) {
-                    if (doMin) {
-                        minHeights[i] = min;
-                    }
-
-                    if (doMax) {
-                        maxHeights[i] = max;
-                    }
-                }
-            }
-
-            var newOptions = {
-                positions : positions,
-                maximumHeights : maxHeights,
-                minimumHeights : minHeights,
-                ellipsoid : options.ellipsoid,
-                vertexFormat : options.vertexFormat
-            };
-            return new WallGeometry(newOptions);
-        };
-
-        /**
-         * Computes the geometric representation of a wall, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {WallGeometry} wallGeometry A description of the wall.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        WallGeometry.createGeometry = function(wallGeometry) {
-            var wallPositions = wallGeometry._positions;
-            var minimumHeights = wallGeometry._minimumHeights;
-            var maximumHeights = wallGeometry._maximumHeights;
-            var vertexFormat = wallGeometry._vertexFormat;
-            var granularity = wallGeometry._granularity;
-            var ellipsoid = wallGeometry._ellipsoid;
-
-            var pos = WallGeometryLibrary.WallGeometryLibrary.computePositions(ellipsoid, wallPositions, maximumHeights, minimumHeights, granularity, true);
-            if (!when.defined(pos)) {
-                return;
-            }
-
-            var bottomPositions = pos.bottomPositions;
-            var topPositions = pos.topPositions;
-            var numCorners = pos.numCorners;
-
-            var length = topPositions.length;
-            var size = length * 2;
-
-            var positions = vertexFormat.position ? new Float64Array(size) : undefined;
-            var normals = vertexFormat.normal ? new Float32Array(size) : undefined;
-            var tangents = vertexFormat.tangent ? new Float32Array(size) : undefined;
-            var bitangents = vertexFormat.bitangent ? new Float32Array(size) : undefined;
-            var textureCoordinates = vertexFormat.st ? new Float32Array(size / 3 * 2) : undefined;
-
-            var positionIndex = 0;
-            var normalIndex = 0;
-            var bitangentIndex = 0;
-            var tangentIndex = 0;
-            var stIndex = 0;
-
-            // add lower and upper points one after the other, lower
-            // points being even and upper points being odd
-            var normal = scratchNormal;
-            var tangent = scratchTangent;
-            var bitangent = scratchBitangent;
-            var recomputeNormal = true;
-            length /= 3;
-            var i;
-            var s = 0;
-            var ds = 1/(length - wallPositions.length + 1);
-            for (i = 0; i < length; ++i) {
-                var i3 = i * 3;
-                var topPosition = Cartesian2.Cartesian3.fromArray(topPositions, i3, scratchCartesian3Position1);
-                var bottomPosition = Cartesian2.Cartesian3.fromArray(bottomPositions, i3, scratchCartesian3Position2);
-                if (vertexFormat.position) {
-                    // insert the lower point
-                    positions[positionIndex++] = bottomPosition.x;
-                    positions[positionIndex++] = bottomPosition.y;
-                    positions[positionIndex++] = bottomPosition.z;
-
-                    // insert the upper point
-                    positions[positionIndex++] = topPosition.x;
-                    positions[positionIndex++] = topPosition.y;
-                    positions[positionIndex++] = topPosition.z;
-                }
-
-                if (vertexFormat.st) {
-                    textureCoordinates[stIndex++] = s;
-                    textureCoordinates[stIndex++] = 0.0;
-
-                    textureCoordinates[stIndex++] = s;
-                    textureCoordinates[stIndex++] = 1.0;
-                }
-
-                if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
-                    var nextPosition;
-                    var nextTop = Cartesian2.Cartesian3.clone(Cartesian2.Cartesian3.ZERO, scratchCartesian3Position5);
-                    var groundPosition = ellipsoid.scaleToGeodeticSurface(Cartesian2.Cartesian3.fromArray(topPositions, i3, scratchCartesian3Position2), scratchCartesian3Position2);
-                    if (i + 1 < length) {
-                        nextPosition = ellipsoid.scaleToGeodeticSurface(Cartesian2.Cartesian3.fromArray(topPositions, i3 + 3, scratchCartesian3Position3), scratchCartesian3Position3);
-                        nextTop = Cartesian2.Cartesian3.fromArray(topPositions, i3 + 3, scratchCartesian3Position5);
-                    }
-
-                    if (recomputeNormal) {
-                        var scalednextPosition = Cartesian2.Cartesian3.subtract(nextTop, topPosition, scratchCartesian3Position4);
-                        var scaledGroundPosition = Cartesian2.Cartesian3.subtract(groundPosition, topPosition, scratchCartesian3Position1);
-                        normal = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(scaledGroundPosition, scalednextPosition, normal), normal);
-                        recomputeNormal = false;
-                    }
-
-                    if (Cartesian2.Cartesian3.equalsEpsilon(nextPosition, groundPosition, _Math.CesiumMath.EPSILON10)) {
-                        recomputeNormal = true;
-                    } else {
-                        s += ds;
-                        if (vertexFormat.tangent) {
-                            tangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.subtract(nextPosition, groundPosition, tangent), tangent);
-                        }
-                        if (vertexFormat.bitangent) {
-                            bitangent = Cartesian2.Cartesian3.normalize(Cartesian2.Cartesian3.cross(normal, tangent, bitangent), bitangent);
-                        }
-                    }
-
-                    if (vertexFormat.normal) {
-                        normals[normalIndex++] = normal.x;
-                        normals[normalIndex++] = normal.y;
-                        normals[normalIndex++] = normal.z;
-
-                        normals[normalIndex++] = normal.x;
-                        normals[normalIndex++] = normal.y;
-                        normals[normalIndex++] = normal.z;
-                    }
-
-                    if (vertexFormat.tangent) {
-                        tangents[tangentIndex++] = tangent.x;
-                        tangents[tangentIndex++] = tangent.y;
-                        tangents[tangentIndex++] = tangent.z;
-
-                        tangents[tangentIndex++] = tangent.x;
-                        tangents[tangentIndex++] = tangent.y;
-                        tangents[tangentIndex++] = tangent.z;
-                    }
-
-                    if (vertexFormat.bitangent) {
-                        bitangents[bitangentIndex++] = bitangent.x;
-                        bitangents[bitangentIndex++] = bitangent.y;
-                        bitangents[bitangentIndex++] = bitangent.z;
-
-                        bitangents[bitangentIndex++] = bitangent.x;
-                        bitangents[bitangentIndex++] = bitangent.y;
-                        bitangents[bitangentIndex++] = bitangent.z;
-                    }
-                }
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes();
-
-            if (vertexFormat.position) {
-                attributes.position = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : positions
-                });
-            }
-
-            if (vertexFormat.normal) {
-                attributes.normal = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : normals
-                });
-            }
-
-            if (vertexFormat.tangent) {
-                attributes.tangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : tangents
-                });
-            }
-
-            if (vertexFormat.bitangent) {
-                attributes.bitangent = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 3,
-                    values : bitangents
-                });
-            }
-
-            if (vertexFormat.st) {
-                attributes.st = new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.FLOAT,
-                    componentsPerAttribute : 2,
-                    values : textureCoordinates
-                });
-            }
-
-            // prepare the side walls, two triangles for each wall
-            //
-            //    A (i+1)  B (i+3) E
-            //    +--------+-------+
-            //    |      / |      /|    triangles:  A C B
-            //    |     /  |     / |                B C D
-            //    |    /   |    /  |
-            //    |   /    |   /   |
-            //    |  /     |  /    |
-            //    | /      | /     |
-            //    +--------+-------+
-            //    C (i)    D (i+2) F
-            //
-
-            var numVertices = size / 3;
-            size -= 6 * (numCorners + 1);
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(numVertices, size);
-
-            var edgeIndex = 0;
-            for (i = 0; i < numVertices - 2; i += 2) {
-                var LL = i;
-                var LR = i + 2;
-                var pl = Cartesian2.Cartesian3.fromArray(positions, LL * 3, scratchCartesian3Position1);
-                var pr = Cartesian2.Cartesian3.fromArray(positions, LR * 3, scratchCartesian3Position2);
-                if (Cartesian2.Cartesian3.equalsEpsilon(pl, pr, _Math.CesiumMath.EPSILON10)) {
-                    continue;
-                }
-                var UL = i + 1;
-                var UR = i + 3;
-
-                indices[edgeIndex++] = UL;
-                indices[edgeIndex++] = LL;
-                indices[edgeIndex++] = UR;
-                indices[edgeIndex++] = UR;
-                indices[edgeIndex++] = LL;
-                indices[edgeIndex++] = LR;
-            }
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.TRIANGLES,
-                boundingSphere : new BoundingSphere.BoundingSphere.fromVertices(positions)
-            });
-        };
-
-    function createWallGeometry(wallGeometry, offset) {
-        if (when.defined(offset)) {
-            wallGeometry = WallGeometry.unpack(wallGeometry, offset);
-        }
-        wallGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(wallGeometry._ellipsoid);
-        return WallGeometry.createGeometry(wallGeometry);
-    }
-
-    return createWallGeometry;
-
-});
diff --git a/libs/supermap/Workers/createWallOutlineGeometry.js b/libs/supermap/Workers/createWallOutlineGeometry.js
deleted file mode 100644
index 29dc469..0000000
--- a/libs/supermap/Workers/createWallOutlineGeometry.js
+++ /dev/null
@@ -1,418 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './GeometryAttribute-ec5c2270', './PrimitiveType-97893bc7', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './GeometryAttributes-aacecde6', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './EllipsoidTangentPlane-fe3014f8', './EllipsoidRhumbLine-4e6b52b7', './earcut-2.2.1-b404d9e6', './PolygonPipeline-4e2bb580', './EllipsoidGeodesic-15923280', './PolylinePipeline-3f99899a', './WallGeometryLibrary-9f4fb590'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, GeometryAttribute, PrimitiveType, FeatureDetection, Transforms, buildModuleUrl, GeometryAttributes, IndexDatatype, IntersectionTests, Plane, EllipsoidTangentPlane, EllipsoidRhumbLine, earcut2_2_1, PolygonPipeline, EllipsoidGeodesic, PolylinePipeline, WallGeometryLibrary) { 'use strict';
-
-    var scratchCartesian3Position1 = new Cartesian2.Cartesian3();
-        var scratchCartesian3Position2 = new Cartesian2.Cartesian3();
-
-        /**
-         * A description of a wall outline. A wall is defined by a series of points,
-         * which extrude down to the ground. Optionally, they can extrude downwards to a specified height.
-         *
-         * @alias WallOutlineGeometry
-         * @constructor
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of Cartesian objects, which are the points of the wall.
-         * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
-         * @param {Number[]} [options.maximumHeights] An array parallel to <code>positions</code> that give the maximum height of the
-         *        wall at <code>positions</code>. If undefined, the height of each position in used.
-         * @param {Number[]} [options.minimumHeights] An array parallel to <code>positions</code> that give the minimum height of the
-         *        wall at <code>positions</code>. If undefined, the height at each position is 0.0.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid for coordinate manipulation
-         *
-         * @exception {DeveloperError} positions length must be greater than or equal to 2.
-         * @exception {DeveloperError} positions and maximumHeights must have the same length.
-         * @exception {DeveloperError} positions and minimumHeights must have the same length.
-         *
-         * @see WallGeometry#createGeometry
-         * @see WallGeometry#fromConstantHeight
-         *
-         * @example
-         * // create a wall outline that spans from ground level to 10000 meters
-         * var wall = new Cesium.WallOutlineGeometry({
-         *   positions : Cesium.Cartesian3.fromDegreesArrayHeights([
-         *     19.0, 47.0, 10000.0,
-         *     19.0, 48.0, 10000.0,
-         *     20.0, 48.0, 10000.0,
-         *     20.0, 47.0, 10000.0,
-         *     19.0, 47.0, 10000.0
-         *   ])
-         * });
-         * var geometry = Cesium.WallOutlineGeometry.createGeometry(wall);
-         */
-        function WallOutlineGeometry(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-
-            var wallPositions = options.positions;
-            var maximumHeights = options.maximumHeights;
-            var minimumHeights = options.minimumHeights;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(wallPositions)) {
-                throw new Check.DeveloperError('options.positions is required.');
-            }
-            if (when.defined(maximumHeights) && maximumHeights.length !== wallPositions.length) {
-                throw new Check.DeveloperError('options.positions and options.maximumHeights must have the same length.');
-            }
-            if (when.defined(minimumHeights) && minimumHeights.length !== wallPositions.length) {
-                throw new Check.DeveloperError('options.positions and options.minimumHeights must have the same length.');
-            }
-            //>>includeEnd('debug');
-
-            var granularity = when.defaultValue(options.granularity, _Math.CesiumMath.RADIANS_PER_DEGREE);
-            var ellipsoid = when.defaultValue(options.ellipsoid, Cartesian2.Ellipsoid.WGS84);
-
-            this._positions = wallPositions;
-            this._minimumHeights = minimumHeights;
-            this._maximumHeights = maximumHeights;
-            this._granularity = granularity;
-            this._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid);
-            this._workerName = 'createWallOutlineGeometry';
-
-            var numComponents = 1 + wallPositions.length * Cartesian2.Cartesian3.packedLength + 2;
-            if (when.defined(minimumHeights)) {
-                numComponents += minimumHeights.length;
-            }
-            if (when.defined(maximumHeights)) {
-                numComponents += maximumHeights.length;
-            }
-
-            /**
-             * The number of elements used to pack the object into an array.
-             * @type {Number}
-             */
-            this.packedLength = numComponents + Cartesian2.Ellipsoid.packedLength + 1;
-        }
-
-        /**
-         * Stores the provided instance into the provided array.
-         *
-         * @param {WallOutlineGeometry} value The value to pack.
-         * @param {Number[]} array The array to pack into.
-         * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
-         *
-         * @returns {Number[]} The array that was packed into
-         */
-        WallOutlineGeometry.pack = function(value, array, startingIndex) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(value)) {
-                throw new Check.DeveloperError('value is required');
-            }
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var positions = value._positions;
-            var length = positions.length;
-            array[startingIndex++] = length;
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                Cartesian2.Cartesian3.pack(positions[i], array, startingIndex);
-            }
-
-            var minimumHeights = value._minimumHeights;
-            length = when.defined(minimumHeights) ? minimumHeights.length : 0;
-            array[startingIndex++] = length;
-
-            if (when.defined(minimumHeights)) {
-                for (i = 0; i < length; ++i) {
-                    array[startingIndex++] = minimumHeights[i];
-                }
-            }
-
-            var maximumHeights = value._maximumHeights;
-            length = when.defined(maximumHeights) ? maximumHeights.length : 0;
-            array[startingIndex++] = length;
-
-            if (when.defined(maximumHeights)) {
-                for (i = 0; i < length; ++i) {
-                    array[startingIndex++] = maximumHeights[i];
-                }
-            }
-
-            Cartesian2.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            array[startingIndex]   = value._granularity;
-
-            return array;
-        };
-
-        var scratchEllipsoid = Cartesian2.Ellipsoid.clone(Cartesian2.Ellipsoid.UNIT_SPHERE);
-        var scratchOptions = {
-            positions : undefined,
-            minimumHeights : undefined,
-            maximumHeights : undefined,
-            ellipsoid : scratchEllipsoid,
-            granularity : undefined
-        };
-
-        /**
-         * Retrieves an instance from a packed array.
-         *
-         * @param {Number[]} array The packed array.
-         * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
-         * @param {WallOutlineGeometry} [result] The object into which to store the result.
-         * @returns {WallOutlineGeometry} The modified result parameter or a new WallOutlineGeometry instance if one was not provided.
-         */
-        WallOutlineGeometry.unpack = function(array, startingIndex, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(array)) {
-                throw new Check.DeveloperError('array is required');
-            }
-            //>>includeEnd('debug');
-
-            startingIndex = when.defaultValue(startingIndex, 0);
-
-            var i;
-
-            var length = array[startingIndex++];
-            var positions = new Array(length);
-
-            for (i = 0; i < length; ++i, startingIndex += Cartesian2.Cartesian3.packedLength) {
-                positions[i] = Cartesian2.Cartesian3.unpack(array, startingIndex);
-            }
-
-            length = array[startingIndex++];
-            var minimumHeights;
-
-            if (length > 0) {
-                minimumHeights = new Array(length);
-                for (i = 0; i < length; ++i) {
-                    minimumHeights[i] = array[startingIndex++];
-                }
-            }
-
-            length = array[startingIndex++];
-            var maximumHeights;
-
-            if (length > 0) {
-                maximumHeights = new Array(length);
-                for (i = 0; i < length; ++i) {
-                    maximumHeights[i] = array[startingIndex++];
-                }
-            }
-
-            var ellipsoid = Cartesian2.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
-            startingIndex += Cartesian2.Ellipsoid.packedLength;
-
-            var granularity = array[startingIndex];
-
-            if (!when.defined(result)) {
-                scratchOptions.positions = positions;
-                scratchOptions.minimumHeights = minimumHeights;
-                scratchOptions.maximumHeights = maximumHeights;
-                scratchOptions.granularity = granularity;
-                return new WallOutlineGeometry(scratchOptions);
-            }
-
-            result._positions = positions;
-            result._minimumHeights = minimumHeights;
-            result._maximumHeights = maximumHeights;
-            result._ellipsoid = Cartesian2.Ellipsoid.clone(ellipsoid, result._ellipsoid);
-            result._granularity = granularity;
-
-            return result;
-        };
-
-        /**
-         * A description of a walloutline. A wall is defined by a series of points,
-         * which extrude down to the ground. Optionally, they can extrude downwards to a specified height.
-         *
-         * @param {Object} options Object with the following properties:
-         * @param {Cartesian3[]} options.positions An array of Cartesian objects, which are the points of the wall.
-         * @param {Number} [options.maximumHeight] A constant that defines the maximum height of the
-         *        wall at <code>positions</code>. If undefined, the height of each position in used.
-         * @param {Number} [options.minimumHeight] A constant that defines the minimum height of the
-         *        wall at <code>positions</code>. If undefined, the height at each position is 0.0.
-         * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid for coordinate manipulation
-         * @returns {WallOutlineGeometry}
-         *
-         *
-         * @example
-         * // create a wall that spans from 10000 meters to 20000 meters
-         * var wall = Cesium.WallOutlineGeometry.fromConstantHeights({
-         *   positions : Cesium.Cartesian3.fromDegreesArray([
-         *     19.0, 47.0,
-         *     19.0, 48.0,
-         *     20.0, 48.0,
-         *     20.0, 47.0,
-         *     19.0, 47.0,
-         *   ]),
-         *   minimumHeight : 20000.0,
-         *   maximumHeight : 10000.0
-         * });
-         * var geometry = Cesium.WallOutlineGeometry.createGeometry(wall);
-         *
-         * @see WallOutlineGeometry#createGeometry
-         */
-        WallOutlineGeometry.fromConstantHeights = function(options) {
-            options = when.defaultValue(options, when.defaultValue.EMPTY_OBJECT);
-            var positions = options.positions;
-
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(positions)) {
-                throw new Check.DeveloperError('options.positions is required.');
-            }
-            //>>includeEnd('debug');
-
-            var minHeights;
-            var maxHeights;
-
-            var min = options.minimumHeight;
-            var max = options.maximumHeight;
-
-            var doMin = when.defined(min);
-            var doMax = when.defined(max);
-            if (doMin || doMax) {
-                var length = positions.length;
-                minHeights = (doMin) ? new Array(length) : undefined;
-                maxHeights = (doMax) ? new Array(length) : undefined;
-
-                for (var i = 0; i < length; ++i) {
-                    if (doMin) {
-                        minHeights[i] = min;
-                    }
-
-                    if (doMax) {
-                        maxHeights[i] = max;
-                    }
-                }
-            }
-
-            var newOptions = {
-                positions : positions,
-                maximumHeights : maxHeights,
-                minimumHeights : minHeights,
-                ellipsoid : options.ellipsoid
-            };
-            return new WallOutlineGeometry(newOptions);
-        };
-
-        /**
-         * Computes the geometric representation of a wall outline, including its vertices, indices, and a bounding sphere.
-         *
-         * @param {WallOutlineGeometry} wallGeometry A description of the wall outline.
-         * @returns {Geometry|undefined} The computed vertices and indices.
-         */
-        WallOutlineGeometry.createGeometry = function(wallGeometry) {
-            var wallPositions = wallGeometry._positions;
-            var minimumHeights = wallGeometry._minimumHeights;
-            var maximumHeights = wallGeometry._maximumHeights;
-            var granularity = wallGeometry._granularity;
-            var ellipsoid = wallGeometry._ellipsoid;
-
-            var pos = WallGeometryLibrary.WallGeometryLibrary.computePositions(ellipsoid, wallPositions, maximumHeights, minimumHeights, granularity, false);
-            if (!when.defined(pos)) {
-                return;
-            }
-
-            var bottomPositions = pos.bottomPositions;
-            var topPositions = pos.topPositions;
-
-            var length = topPositions.length;
-            var size = length * 2;
-
-            var positions = new Float64Array(size);
-            var positionIndex = 0;
-
-            // add lower and upper points one after the other, lower
-            // points being even and upper points being odd
-            length /= 3;
-            var i;
-            for (i = 0; i < length; ++i) {
-                var i3 = i * 3;
-                var topPosition = Cartesian2.Cartesian3.fromArray(topPositions, i3, scratchCartesian3Position1);
-                var bottomPosition = Cartesian2.Cartesian3.fromArray(bottomPositions, i3, scratchCartesian3Position2);
-
-                // insert the lower point
-                positions[positionIndex++] = bottomPosition.x;
-                positions[positionIndex++] = bottomPosition.y;
-                positions[positionIndex++] = bottomPosition.z;
-
-                // insert the upper point
-                positions[positionIndex++] = topPosition.x;
-                positions[positionIndex++] = topPosition.y;
-                positions[positionIndex++] = topPosition.z;
-            }
-
-            var attributes = new GeometryAttributes.GeometryAttributes({
-                position : new GeometryAttribute.GeometryAttribute({
-                    componentDatatype : ComponentDatatype.ComponentDatatype.DOUBLE,
-                    componentsPerAttribute : 3,
-                    values : positions
-                })
-            });
-
-            var numVertices = size / 3;
-            size = 2 * numVertices - 4 + numVertices;
-            var indices = IndexDatatype.IndexDatatype.createTypedArray(numVertices, size);
-
-            var edgeIndex = 0;
-            for (i = 0; i < numVertices - 2; i += 2) {
-                var LL = i;
-                var LR = i + 2;
-                var pl = Cartesian2.Cartesian3.fromArray(positions, LL * 3, scratchCartesian3Position1);
-                var pr = Cartesian2.Cartesian3.fromArray(positions, LR * 3, scratchCartesian3Position2);
-                if (Cartesian2.Cartesian3.equalsEpsilon(pl, pr, _Math.CesiumMath.EPSILON10)) {
-                    continue;
-                }
-                var UL = i + 1;
-                var UR = i + 3;
-
-                indices[edgeIndex++] = UL;
-                indices[edgeIndex++] = LL;
-                indices[edgeIndex++] = UL;
-                indices[edgeIndex++] = UR;
-                indices[edgeIndex++] = LL;
-                indices[edgeIndex++] = LR;
-            }
-
-            indices[edgeIndex++] = numVertices - 2;
-            indices[edgeIndex++] = numVertices - 1;
-
-            return new GeometryAttribute.Geometry({
-                attributes : attributes,
-                indices : indices,
-                primitiveType : PrimitiveType.PrimitiveType.LINES,
-                boundingSphere : new BoundingSphere.BoundingSphere.fromVertices(positions)
-            });
-        };
-
-    function createWallOutlineGeometry(wallGeometry, offset) {
-        if (when.defined(offset)) {
-            wallGeometry = WallOutlineGeometry.unpack(wallGeometry, offset);
-        }
-        wallGeometry._ellipsoid = Cartesian2.Ellipsoid.clone(wallGeometry._ellipsoid);
-        return WallOutlineGeometry.createGeometry(wallGeometry);
-    }
-
-    return createWallOutlineGeometry;
-
-});
diff --git a/libs/supermap/Workers/decodeDraco.js b/libs/supermap/Workers/decodeDraco.js
deleted file mode 100644
index 0ab3ccc..0000000
--- a/libs/supermap/Workers/decodeDraco.js
+++ /dev/null
@@ -1,307 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './IndexDatatype-9435b55f', './createTaskProcessorWorker'], function (when, Check, _Math, RuntimeError, WebGLConstants, ComponentDatatype, IndexDatatype, createTaskProcessorWorker) { 'use strict';
-
-    /* global require */
-
-    var draco;
-
-    function decodeIndexArray(dracoGeometry, dracoDecoder) {
-        var numPoints = dracoGeometry.num_points();
-        var numFaces = dracoGeometry.num_faces();
-        var faceIndices = new draco.DracoInt32Array();
-        var numIndices = numFaces * 3;
-        var indexArray = IndexDatatype.IndexDatatype.createTypedArray(numPoints, numIndices);
-
-        var offset = 0;
-        for (var i = 0; i < numFaces; ++i) {
-            dracoDecoder.GetFaceFromMesh(dracoGeometry, i, faceIndices);
-
-            indexArray[offset + 0] = faceIndices.GetValue(0);
-            indexArray[offset + 1] = faceIndices.GetValue(1);
-            indexArray[offset + 2] = faceIndices.GetValue(2);
-            offset += 3;
-        }
-
-        draco.destroy(faceIndices);
-
-        return {
-            typedArray : indexArray,
-            numberOfIndices : numIndices
-        };
-    }
-
-    function decodeQuantizedDracoTypedArray(dracoGeometry, dracoDecoder, dracoAttribute, quantization, vertexArrayLength) {
-        var vertexArray;
-        var attributeData;
-        if (quantization.quantizationBits <= 8) {
-            attributeData = new draco.DracoUInt8Array();
-            vertexArray = new Uint8Array(vertexArrayLength);
-            dracoDecoder.GetAttributeUInt8ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-        } else {
-            attributeData = new draco.DracoUInt16Array();
-            vertexArray = new Uint16Array(vertexArrayLength);
-            dracoDecoder.GetAttributeUInt16ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-        }
-
-        for (var i = 0; i < vertexArrayLength; ++i) {
-            vertexArray[i] = attributeData.GetValue(i);
-        }
-
-        draco.destroy(attributeData);
-        return vertexArray;
-    }
-
-    function decodeDracoTypedArray(dracoGeometry, dracoDecoder, dracoAttribute, vertexArrayLength) {
-        var vertexArray;
-        var attributeData;
-
-        // Some attribute types are casted down to 32 bit since Draco only returns 32 bit values
-        switch (dracoAttribute.data_type()) {
-            case 1: case 11: // DT_INT8 or DT_BOOL
-            attributeData = new draco.DracoInt8Array();
-            vertexArray = new Int8Array(vertexArrayLength);
-            dracoDecoder.GetAttributeInt8ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-            break;
-            case 2: // DT_UINT8
-                attributeData = new draco.DracoUInt8Array();
-                vertexArray = new Uint8Array(vertexArrayLength);
-                dracoDecoder.GetAttributeUInt8ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-                break;
-            case 3: // DT_INT16
-                attributeData = new draco.DracoInt16Array();
-                vertexArray = new Int16Array(vertexArrayLength);
-                dracoDecoder.GetAttributeInt16ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-                break;
-            case 4: // DT_UINT16
-                attributeData = new draco.DracoUInt16Array();
-                vertexArray = new Uint16Array(vertexArrayLength);
-                dracoDecoder.GetAttributeUInt16ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-                break;
-            case 5: case 7: // DT_INT32 or DT_INT64
-            attributeData = new draco.DracoInt32Array();
-            vertexArray = new Int32Array(vertexArrayLength);
-            dracoDecoder.GetAttributeInt32ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-            break;
-            case 6: case 8: // DT_UINT32 or DT_UINT64
-            attributeData = new draco.DracoUInt32Array();
-            vertexArray = new Uint32Array(vertexArrayLength);
-            dracoDecoder.GetAttributeUInt32ForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-            break;
-            case 9: case 10: // DT_FLOAT32 or DT_FLOAT64
-            attributeData = new draco.DracoFloat32Array();
-            vertexArray = new Float32Array(vertexArrayLength);
-            dracoDecoder.GetAttributeFloatForAllPoints(dracoGeometry, dracoAttribute, attributeData);
-            break;
-        }
-
-        for (var i = 0; i < vertexArrayLength; ++i) {
-            vertexArray[i] = attributeData.GetValue(i);
-        }
-
-        draco.destroy(attributeData);
-        return vertexArray;
-    }
-
-    function decodeAttribute(dracoGeometry, dracoDecoder, dracoAttribute) {
-        var numPoints = dracoGeometry.num_points();
-        var numComponents = dracoAttribute.num_components();
-
-        var quantization;
-        var transform = new draco.AttributeQuantizationTransform();
-        if (transform.InitFromAttribute(dracoAttribute)) {
-            var minValues = new Array(numComponents);
-            for (var i = 0; i < numComponents; ++i) {
-                minValues[i] = transform.min_value(i);
-            }
-            quantization = {
-                quantizationBits : transform.quantization_bits(),
-                minValues : minValues,
-                range : transform.range(),
-                octEncoded : false
-            };
-        }
-        draco.destroy(transform);
-
-        transform = new draco.AttributeOctahedronTransform();
-        if (transform.InitFromAttribute(dracoAttribute)) {
-            quantization = {
-                quantizationBits : transform.quantization_bits(),
-                octEncoded : true
-            };
-        }
-        draco.destroy(transform);
-
-        var vertexArrayLength = numPoints * numComponents;
-        var vertexArray;
-        if (when.defined(quantization)) {
-            vertexArray = decodeQuantizedDracoTypedArray(dracoGeometry, dracoDecoder, dracoAttribute, quantization, vertexArrayLength);
-        } else {
-            vertexArray = decodeDracoTypedArray(dracoGeometry, dracoDecoder, dracoAttribute, vertexArrayLength);
-        }
-
-        var componentDatatype = ComponentDatatype.ComponentDatatype.fromTypedArray(vertexArray);
-
-        return {
-            array : vertexArray,
-            data : {
-                componentsPerAttribute : numComponents,
-                componentDatatype : componentDatatype,
-                byteOffset : dracoAttribute.byte_offset(),
-                byteStride : ComponentDatatype.ComponentDatatype.getSizeInBytes(componentDatatype) * numComponents,
-                normalized : dracoAttribute.normalized(),
-                quantization : quantization
-            }
-        };
-    }
-
-    function decodePointCloud(parameters) {
-        var dracoDecoder = new draco.Decoder();
-
-        if (parameters.dequantizeInShader) {
-            dracoDecoder.SkipAttributeTransform(draco.POSITION);
-            dracoDecoder.SkipAttributeTransform(draco.NORMAL);
-        }
-
-        var buffer = new draco.DecoderBuffer();
-        buffer.Init(parameters.buffer, parameters.buffer.length);
-
-        var geometryType = dracoDecoder.GetEncodedGeometryType(buffer);
-        if (geometryType !== draco.POINT_CLOUD) {
-            throw new RuntimeError.RuntimeError('Draco geometry type must be POINT_CLOUD.');
-        }
-
-        var dracoPointCloud = new draco.PointCloud();
-        var decodingStatus = dracoDecoder.DecodeBufferToPointCloud(buffer, dracoPointCloud);
-        if (!decodingStatus.ok() || dracoPointCloud.ptr === 0) {
-            throw new RuntimeError.RuntimeError('Error decoding draco point cloud: ' + decodingStatus.error_msg());
-        }
-
-        draco.destroy(buffer);
-
-        var result = {};
-
-        var properties = parameters.properties;
-        for (var propertyName in properties) {
-            if (properties.hasOwnProperty(propertyName)) {
-                var attributeId = properties[propertyName];
-                var dracoAttribute = dracoDecoder.GetAttributeByUniqueId(dracoPointCloud, attributeId);
-                result[propertyName] = decodeAttribute(dracoPointCloud, dracoDecoder, dracoAttribute);
-            }
-        }
-
-        draco.destroy(dracoPointCloud);
-        draco.destroy(dracoDecoder);
-
-        return result;
-    }
-
-    function decodePrimitive(parameters) {
-        var dracoDecoder = new draco.Decoder();
-
-        // Skip all parameter types except generic
-        var attributesToSkip = ['POSITION', 'NORMAL', 'COLOR', 'TEX_COORD'];
-        if (parameters.dequantizeInShader) {
-            for (var i = 0; i < attributesToSkip.length; ++i) {
-                dracoDecoder.SkipAttributeTransform(draco[attributesToSkip[i]]);
-            }
-        }
-
-        var bufferView = parameters.bufferView;
-        var buffer = new draco.DecoderBuffer();
-        buffer.Init(parameters.array, bufferView.byteLength);
-
-        var geometryType = dracoDecoder.GetEncodedGeometryType(buffer);
-        if (geometryType !== draco.TRIANGULAR_MESH) {
-            throw new RuntimeError.RuntimeError('Unsupported draco mesh geometry type.');
-        }
-
-        var dracoGeometry = new draco.Mesh();
-        var decodingStatus = dracoDecoder.DecodeBufferToMesh(buffer, dracoGeometry);
-        if (!decodingStatus.ok() || dracoGeometry.ptr === 0) {
-            throw new RuntimeError.RuntimeError('Error decoding draco mesh geometry: ' + decodingStatus.error_msg());
-        }
-
-        draco.destroy(buffer);
-
-        var attributeData = {};
-
-        var compressedAttributes = parameters.compressedAttributes;
-        for (var attributeName in compressedAttributes) {
-            if (compressedAttributes.hasOwnProperty(attributeName)) {
-                var compressedAttribute = compressedAttributes[attributeName];
-                var dracoAttribute = dracoDecoder.GetAttributeByUniqueId(dracoGeometry, compressedAttribute);
-                attributeData[attributeName] = decodeAttribute(dracoGeometry, dracoDecoder, dracoAttribute);
-            }
-        }
-
-        var result = {
-            indexArray : decodeIndexArray(dracoGeometry, dracoDecoder),
-            attributeData : attributeData
-        };
-
-        draco.destroy(dracoGeometry);
-        draco.destroy(dracoDecoder);
-
-        return result;
-    }
-
-    function decode(parameters) {
-        if (when.defined(parameters.primitive)) {
-            return decodePrimitive(parameters);
-        }
-        return decodePointCloud(parameters);
-    }
-
-    function initWorker(dracoModule) {
-        draco = dracoModule;
-        self.onmessage = createTaskProcessorWorker(decode);
-        self.postMessage(true);
-    }
-
-    function decodeDraco(event) {
-        var data = event.data;
-
-        // Expect the first message to be to load a web assembly module
-        var wasmConfig = data.webAssemblyConfig;
-        if (when.defined(wasmConfig)) {
-            // Require and compile WebAssembly module, or use fallback if not supported
-            return require([wasmConfig.modulePath], function(dracoModule) {
-                if (when.defined(wasmConfig.wasmBinaryFile)) {
-                    if (!when.defined(dracoModule)) {
-                        dracoModule = self.DracoDecoderModule;
-                    }
-
-                    dracoModule(wasmConfig).then(function (compiledModule) {
-                        initWorker(compiledModule);
-                    });
-                } else {
-                    initWorker(dracoModule());
-                }
-            });
-        }
-    }
-
-    return decodeDraco;
-
-});
diff --git a/libs/supermap/Workers/decodeGoogleEarthEnterprisePacket.js b/libs/supermap/Workers/decodeGoogleEarthEnterprisePacket.js
deleted file mode 100644
index 0eb6518..0000000
--- a/libs/supermap/Workers/decodeGoogleEarthEnterprisePacket.js
+++ /dev/null
@@ -1,473 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './RuntimeError-ba10bc3e', './createTaskProcessorWorker', './pako_inflate-8ea163f9'], function (when, Check, RuntimeError, createTaskProcessorWorker, pako_inflate) { 'use strict';
-
-    var compressedMagic = 0x7468dead;
-        var compressedMagicSwap = 0xadde6874;
-
-        /**
-         * Decodes data that is received from the Google Earth Enterprise server.
-         *
-         * @param {ArrayBuffer} key The key used during decoding.
-         * @param {ArrayBuffer} data The data to be decoded.
-         *
-         * @private
-         */
-        function decodeGoogleEarthEnterpriseData(key, data) {
-            if (decodeGoogleEarthEnterpriseData.passThroughDataForTesting) {
-                return data;
-            }
-
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.object('key', key);
-            Check.Check.typeOf.object('data', data);
-            //>>includeEnd('debug');
-
-            var keyLength = key.byteLength;
-            if (keyLength === 0 || (keyLength % 4) !== 0) {
-                throw new RuntimeError.RuntimeError('The length of key must be greater than 0 and a multiple of 4.');
-            }
-
-            var dataView = new DataView(data);
-            var magic = dataView.getUint32(0, true);
-            if (magic === compressedMagic || magic === compressedMagicSwap) {
-                // Occasionally packets don't come back encoded, so just return
-                return data;
-            }
-
-            var keyView = new DataView(key);
-
-            var dp = 0;
-            var dpend = data.byteLength;
-            var dpend64 = dpend - (dpend % 8);
-            var kpend = keyLength;
-            var kp;
-            var off = 8;
-
-            // This algorithm is intentionally asymmetric to make it more difficult to
-            // guess. Security through obscurity. :-(
-
-            // while we have a full uint64 (8 bytes) left to do
-            // assumes buffer is 64bit aligned (or processor doesn't care)
-            while (dp < dpend64) {
-                // rotate the key each time through by using the offets 16,0,8,16,0,8,...
-                off = (off + 8) % 24;
-                kp = off;
-
-                // run through one key length xor'ing one uint64 at a time
-                // then drop out to rotate the key for the next bit
-                while ((dp < dpend64) && (kp < kpend)) {
-                    dataView.setUint32(dp, dataView.getUint32(dp, true) ^ keyView.getUint32(kp, true), true);
-                    dataView.setUint32(dp + 4, dataView.getUint32(dp + 4, true) ^ keyView.getUint32(kp + 4, true), true);
-                    dp += 8;
-                    kp += 24;
-                }
-            }
-
-            // now the remaining 1 to 7 bytes
-            if (dp < dpend) {
-                if (kp >= kpend) {
-                    // rotate the key one last time (if necessary)
-                    off = (off + 8) % 24;
-                    kp = off;
-                }
-
-                while (dp < dpend) {
-                    dataView.setUint8(dp, dataView.getUint8(dp) ^ keyView.getUint8(kp));
-                    dp++;
-                    kp++;
-                }
-            }
-        }
-
-        decodeGoogleEarthEnterpriseData.passThroughDataForTesting = false;
-
-    /**
-         * @private
-         */
-        function isBitSet(bits, mask) {
-            return ((bits & mask) !== 0);
-        }
-
-    // Bitmask for checking tile properties
-        var childrenBitmasks = [0x01, 0x02, 0x04, 0x08];
-        var anyChildBitmask = 0x0F;
-        var cacheFlagBitmask = 0x10; // True if there is a child subtree
-        var imageBitmask = 0x40;
-        var terrainBitmask = 0x80;
-
-        /**
-         * Contains information about each tile from a Google Earth Enterprise server
-         *
-         * @param {Number} bits Bitmask that contains the type of data and available children for each tile.
-         * @param {Number} cnodeVersion Version of the request for subtree metadata.
-         * @param {Number} imageryVersion Version of the request for imagery tile.
-         * @param {Number} terrainVersion Version of the request for terrain tile.
-         * @param {Number} imageryProvider Id of imagery provider.
-         * @param {Number} terrainProvider Id of terrain provider.
-         *
-         * @private
-         */
-        function GoogleEarthEnterpriseTileInformation(bits, cnodeVersion, imageryVersion, terrainVersion, imageryProvider, terrainProvider) {
-            this._bits = bits;
-            this.cnodeVersion = cnodeVersion;
-            this.imageryVersion = imageryVersion;
-            this.terrainVersion = terrainVersion;
-            this.imageryProvider = imageryProvider;
-            this.terrainProvider = terrainProvider;
-            this.ancestorHasTerrain = false; // Set it later once we find its parent
-            this.terrainState = undefined;
-        }
-
-        /**
-         * Creates GoogleEarthEnterpriseTileInformation from an object
-         *
-         * @param {Object} info Object to be cloned
-         * @param {GoogleEarthEnterpriseTileInformation} [result] The object onto which to store the result.
-         * @returns {GoogleEarthEnterpriseTileInformation} The modified result parameter or a new GoogleEarthEnterpriseTileInformation instance if none was provided.
-         */
-        GoogleEarthEnterpriseTileInformation.clone = function(info, result) {
-            if (!when.defined(result)) {
-                result = new GoogleEarthEnterpriseTileInformation(info._bits, info.cnodeVersion, info.imageryVersion, info.terrainVersion,
-                    info.imageryProvider, info.terrainProvider);
-            } else {
-                result._bits = info._bits;
-                result.cnodeVersion = info.cnodeVersion;
-                result.imageryVersion = info.imageryVersion;
-                result.terrainVersion = info.terrainVersion;
-                result.imageryProvider = info.imageryProvider;
-                result.terrainProvider = info.terrainProvider;
-            }
-            result.ancestorHasTerrain = info.ancestorHasTerrain;
-            result.terrainState = info.terrainState;
-
-            return result;
-        };
-
-        /**
-         * Sets the parent for the tile
-         *
-         * @param {GoogleEarthEnterpriseTileInformation} parent Parent tile
-         */
-        GoogleEarthEnterpriseTileInformation.prototype.setParent = function(parent) {
-            this.ancestorHasTerrain = parent.ancestorHasTerrain || this.hasTerrain();
-        };
-
-        /**
-         * Gets whether a subtree is available
-         *
-         * @returns {Boolean} true if subtree is available, false otherwise.
-         */
-        GoogleEarthEnterpriseTileInformation.prototype.hasSubtree = function() {
-            return isBitSet(this._bits, cacheFlagBitmask);
-        };
-
-        /**
-         * Gets whether imagery is available
-         *
-         * @returns {Boolean} true if imagery is available, false otherwise.
-         */
-        GoogleEarthEnterpriseTileInformation.prototype.hasImagery = function() {
-            return isBitSet(this._bits, imageBitmask);
-        };
-
-        /**
-         * Gets whether terrain is available
-         *
-         * @returns {Boolean} true if terrain is available, false otherwise.
-         */
-        GoogleEarthEnterpriseTileInformation.prototype.hasTerrain = function() {
-            return isBitSet(this._bits, terrainBitmask);
-        };
-
-        /**
-         * Gets whether any children are present
-         *
-         * @returns {Boolean} true if any children are available, false otherwise.
-         */
-        GoogleEarthEnterpriseTileInformation.prototype.hasChildren = function() {
-            return isBitSet(this._bits, anyChildBitmask);
-        };
-
-        /**
-         * Gets whether a specified child is available
-         *
-         * @param {Number} index Index of child tile
-         *
-         * @returns {Boolean} true if child is available, false otherwise
-         */
-        GoogleEarthEnterpriseTileInformation.prototype.hasChild = function(index) {
-            return isBitSet(this._bits, childrenBitmasks[index]);
-        };
-
-        /**
-         * Gets bitmask containing children
-         *
-         * @returns {Number} Children bitmask
-         */
-        GoogleEarthEnterpriseTileInformation.prototype.getChildBitmask = function() {
-            return this._bits & anyChildBitmask;
-        };
-
-    // Datatype sizes
-    var sizeOfUint16 = Uint16Array.BYTES_PER_ELEMENT;
-    var sizeOfInt32 = Int32Array.BYTES_PER_ELEMENT;
-    var sizeOfUint32 = Uint32Array.BYTES_PER_ELEMENT;
-
-    var Types = {
-        METADATA : 0,
-        TERRAIN : 1,
-        DBROOT : 2
-    };
-
-    Types.fromString = function(s) {
-        if (s === 'Metadata') {
-            return Types.METADATA;
-        } else if (s === 'Terrain') {
-            return Types.TERRAIN;
-        } else if (s === 'DbRoot') {
-            return Types.DBROOT;
-        }
-    };
-
-    function decodeGoogleEarthEnterprisePacket(parameters, transferableObjects) {
-        var type = Types.fromString(parameters.type);
-        var buffer = parameters.buffer;
-        decodeGoogleEarthEnterpriseData(parameters.key, buffer);
-
-        var uncompressedTerrain = uncompressPacket(buffer);
-        buffer = uncompressedTerrain.buffer;
-        var length = uncompressedTerrain.length;
-
-        switch (type) {
-            case Types.METADATA:
-                return processMetadata(buffer, length, parameters.quadKey);
-            case Types.TERRAIN:
-                return processTerrain(buffer, length, transferableObjects);
-            case Types.DBROOT:
-                transferableObjects.push(buffer);
-                return {
-                    buffer : buffer
-                };
-        }
-
-    }
-
-    var qtMagic = 32301;
-
-    function processMetadata(buffer, totalSize, quadKey) {
-        var dv = new DataView(buffer);
-        var offset = 0;
-        var magic = dv.getUint32(offset, true);
-        offset += sizeOfUint32;
-        if (magic !== qtMagic) {
-            throw new RuntimeError.RuntimeError('Invalid magic');
-        }
-
-        var dataTypeId = dv.getUint32(offset, true);
-        offset += sizeOfUint32;
-        if (dataTypeId !== 1) {
-            throw new RuntimeError.RuntimeError('Invalid data type. Must be 1 for QuadTreePacket');
-        }
-
-        // Tile format version
-        var quadVersion = dv.getUint32(offset, true);
-        offset += sizeOfUint32;
-        if (quadVersion !== 2) {
-            throw new RuntimeError.RuntimeError('Invalid QuadTreePacket version. Only version 2 is supported.');
-        }
-
-        var numInstances = dv.getInt32(offset, true);
-        offset += sizeOfInt32;
-
-        var dataInstanceSize = dv.getInt32(offset, true);
-        offset += sizeOfInt32;
-        if (dataInstanceSize !== 32) {
-            throw new RuntimeError.RuntimeError('Invalid instance size.');
-        }
-
-        var dataBufferOffset = dv.getInt32(offset, true);
-        offset += sizeOfInt32;
-
-        var dataBufferSize = dv.getInt32(offset, true);
-        offset += sizeOfInt32;
-
-        var metaBufferSize = dv.getInt32(offset, true);
-        offset += sizeOfInt32;
-
-        // Offset from beginning of packet (instances + current offset)
-        if (dataBufferOffset !== (numInstances * dataInstanceSize + offset)) {
-            throw new RuntimeError.RuntimeError('Invalid dataBufferOffset');
-        }
-
-        // Verify the packets is all there header + instances + dataBuffer + metaBuffer
-        if (dataBufferOffset + dataBufferSize + metaBufferSize !== totalSize) {
-            throw new RuntimeError.RuntimeError('Invalid packet offsets');
-        }
-
-        // Read all the instances
-        var instances = [];
-        for (var i = 0; i < numInstances; ++i) {
-            var bitfield = dv.getUint8(offset);
-            ++offset;
-
-            ++offset; // 2 byte align
-
-            var cnodeVersion = dv.getUint16(offset, true);
-            offset += sizeOfUint16;
-
-            var imageVersion = dv.getUint16(offset, true);
-            offset += sizeOfUint16;
-
-            var terrainVersion = dv.getUint16(offset, true);
-            offset += sizeOfUint16;
-
-            // Number of channels stored in the dataBuffer
-            offset += sizeOfUint16;
-
-            offset += sizeOfUint16; // 4 byte align
-
-            // Channel type offset into dataBuffer
-            offset += sizeOfInt32;
-
-            // Channel version offset into dataBuffer
-            offset += sizeOfInt32;
-
-            offset += 8; // Ignore image neighbors for now
-
-            // Data providers
-            var imageProvider = dv.getUint8(offset++);
-            var terrainProvider = dv.getUint8(offset++);
-            offset += sizeOfUint16; // 4 byte align
-
-            instances.push(new GoogleEarthEnterpriseTileInformation(bitfield, cnodeVersion,
-                imageVersion, terrainVersion, imageProvider, terrainProvider));
-        }
-
-        var tileInfo = [];
-        var index = 0;
-
-        function populateTiles(parentKey, parent, level) {
-            var isLeaf = false;
-            if (level === 4) {
-                if (parent.hasSubtree()) {
-                    return; // We have a subtree, so just return
-                }
-
-                isLeaf = true; // No subtree, so set all children to null
-            }
-            for (var i = 0; i < 4; ++i) {
-                var childKey = parentKey + i.toString();
-                if (isLeaf) {
-                    // No subtree so set all children to null
-                    tileInfo[childKey] = null;
-                } else if (level < 4) {
-                    // We are still in the middle of the subtree, so add child
-                    //  only if their bits are set, otherwise set child to null.
-                    if (!parent.hasChild(i)) {
-                        tileInfo[childKey] = null;
-                    } else {
-                        if (index === numInstances) {
-                            console.log('Incorrect number of instances');
-                            return;
-                        }
-
-                        var instance = instances[index++];
-                        tileInfo[childKey] = instance;
-                        populateTiles(childKey, instance, level + 1);
-                    }
-                }
-            }
-        }
-
-        var level = 0;
-        var root = instances[index++];
-        if (quadKey === '') {
-            // Root tile has data at its root and one less level
-            ++level;
-        } else {
-            tileInfo[quadKey] = root; // This will only contain the child bitmask
-        }
-
-        populateTiles(quadKey, root, level);
-
-        return tileInfo;
-    }
-
-    function processTerrain(buffer, totalSize, transferableObjects) {
-        var dv = new DataView(buffer);
-
-        var offset = 0;
-        var terrainTiles = [];
-        while (offset < totalSize) {
-            // Each tile is split into 4 parts
-            var tileStart = offset;
-            for (var quad = 0; quad < 4; ++quad) {
-                var size = dv.getUint32(offset, true);
-                offset += sizeOfUint32;
-                offset += size;
-            }
-            var tile = buffer.slice(tileStart, offset);
-            transferableObjects.push(tile);
-            terrainTiles.push(tile);
-        }
-
-        return terrainTiles;
-    }
-
-    var compressedMagic$1 = 0x7468dead;
-    var compressedMagicSwap$1 = 0xadde6874;
-
-    function uncompressPacket(data) {
-        // The layout of this decoded data is
-        // Magic Uint32
-        // Size Uint32
-        // [GZipped chunk of Size bytes]
-
-        // Pullout magic and verify we have the correct data
-        var dv = new DataView(data);
-        var offset = 0;
-        var magic = dv.getUint32(offset, true);
-        offset += sizeOfUint32;
-        if (magic !== compressedMagic$1 && magic !== compressedMagicSwap$1) {
-            throw new RuntimeError.RuntimeError('Invalid magic');
-        }
-
-        // Get the size of the compressed buffer - the endianness depends on which magic was used
-        var size = dv.getUint32(offset, (magic === compressedMagic$1));
-        offset += sizeOfUint32;
-
-        var compressedPacket = new Uint8Array(data, offset);
-        var uncompressedPacket = pako_inflate.pako.inflate(compressedPacket);
-
-        if (uncompressedPacket.length !== size) {
-            throw new RuntimeError.RuntimeError('Size of packet doesn\'t match header');
-        }
-
-        return uncompressedPacket;
-    }
-    var decodeGoogleEarthEnterprisePacket$1 = createTaskProcessorWorker(decodeGoogleEarthEnterprisePacket);
-
-    return decodeGoogleEarthEnterprisePacket$1;
-
-});
diff --git a/libs/supermap/Workers/defined-21f7e510.js b/libs/supermap/Workers/defined-21f7e510.js
deleted file mode 100644
index e5b35a9..0000000
--- a/libs/supermap/Workers/defined-21f7e510.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports'], function (exports) { 'use strict';
-
-    /**
-         * @exports defined
-         *
-         * @param {*} value The object.
-         * @returns {Boolean} Returns true if the object is defined, returns false otherwise.
-         *
-         * @example
-         * if (Cesium.defined(positions)) {
-         *      doSomething();
-         * } else {
-         *      doSomethingElse();
-         * }
-         */
-        function defined(value) {
-            return value !== undefined && value !== null;
-        }
-
-    exports.defined = defined;
-
-});
diff --git a/libs/supermap/Workers/earcut-2.2.1-b404d9e6.js b/libs/supermap/Workers/earcut-2.2.1-b404d9e6.js
deleted file mode 100644
index 7cc1ab5..0000000
--- a/libs/supermap/Workers/earcut-2.2.1-b404d9e6.js
+++ /dev/null
@@ -1,699 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports'], function (exports) { 'use strict';
-
-    function earcut(data, holeIndices, dim) {
-
-        dim = dim || 2;
-
-        var hasHoles = holeIndices && holeIndices.length,
-            outerLen = hasHoles ? holeIndices[0] * dim : data.length,
-            outerNode = linkedList(data, 0, outerLen, dim, true),
-            triangles = [];
-
-        if (!outerNode || outerNode.next === outerNode.prev) return triangles;
-
-        var minX, minY, maxX, maxY, x, y, invSize;
-
-        if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);
-
-        // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox
-        if (data.length > 80 * dim) {
-            minX = maxX = data[0];
-            minY = maxY = data[1];
-
-            for (var i = dim; i < outerLen; i += dim) {
-                x = data[i];
-                y = data[i + 1];
-                if (x < minX) minX = x;
-                if (y < minY) minY = y;
-                if (x > maxX) maxX = x;
-                if (y > maxY) maxY = y;
-            }
-
-            // minX, minY and invSize are later used to transform coords into integers for z-order calculation
-            invSize = Math.max(maxX - minX, maxY - minY);
-            invSize = invSize !== 0 ? 1 / invSize : 0;
-        }
-
-        earcutLinked(outerNode, triangles, dim, minX, minY, invSize);
-
-        return triangles;
-    }
-
-    // create a circular doubly linked list from polygon points in the specified winding order
-    function linkedList(data, start, end, dim, clockwise) {
-        var i, last;
-
-        if (clockwise === (signedArea(data, start, end, dim) > 0)) {
-            for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last);
-        } else {
-            for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last);
-        }
-
-        if (last && equals(last, last.next)) {
-            removeNode(last);
-            last = last.next;
-        }
-
-        return last;
-    }
-
-    // eliminate colinear or duplicate points
-    function filterPoints(start, end) {
-        if (!start) return start;
-        if (!end) end = start;
-
-        var p = start,
-            again;
-        do {
-            again = false;
-
-            if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {
-                removeNode(p);
-                p = end = p.prev;
-                if (p === p.next) break;
-                again = true;
-
-            } else {
-                p = p.next;
-            }
-        } while (again || p !== end);
-
-        return end;
-    }
-
-    // main ear slicing loop which triangulates a polygon (given as a linked list)
-    function earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) {
-        if (!ear) return;
-
-        // interlink polygon nodes in z-order
-        if (!pass && invSize) indexCurve(ear, minX, minY, invSize);
-
-        var stop = ear,
-            prev, next;
-
-        // iterate through ears, slicing them one by one
-        while (ear.prev !== ear.next) {
-            prev = ear.prev;
-            next = ear.next;
-
-            if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) {
-                // cut off the triangle
-                triangles.push(prev.i / dim);
-                triangles.push(ear.i / dim);
-                triangles.push(next.i / dim);
-
-                removeNode(ear);
-
-                // skipping the next vertex leads to less sliver triangles
-                ear = next.next;
-                stop = next.next;
-
-                continue;
-            }
-
-            ear = next;
-
-            // if we looped through the whole remaining polygon and can't find any more ears
-            if (ear === stop) {
-                // try filtering points and slicing again
-                if (!pass) {
-                    earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1);
-
-                // if this didn't work, try curing all small self-intersections locally
-                } else if (pass === 1) {
-                    ear = cureLocalIntersections(filterPoints(ear), triangles, dim);
-                    earcutLinked(ear, triangles, dim, minX, minY, invSize, 2);
-
-                // as a last resort, try splitting the remaining polygon into two
-                } else if (pass === 2) {
-                    splitEarcut(ear, triangles, dim, minX, minY, invSize);
-                }
-
-                break;
-            }
-        }
-    }
-
-    // check whether a polygon node forms a valid ear with adjacent nodes
-    function isEar(ear) {
-        var a = ear.prev,
-            b = ear,
-            c = ear.next;
-
-        if (area(a, b, c) >= 0) return false; // reflex, can't be an ear
-
-        // now make sure we don't have other points inside the potential ear
-        var p = ear.next.next;
-
-        while (p !== ear.prev) {
-            if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
-                area(p.prev, p, p.next) >= 0) return false;
-            p = p.next;
-        }
-
-        return true;
-    }
-
-    function isEarHashed(ear, minX, minY, invSize) {
-        var a = ear.prev,
-            b = ear,
-            c = ear.next;
-
-        if (area(a, b, c) >= 0) return false; // reflex, can't be an ear
-
-        // triangle bbox; min & max are calculated like this for speed
-        var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x),
-            minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y),
-            maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x),
-            maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y);
-
-        // z-order range for the current triangle bbox;
-        var minZ = zOrder(minTX, minTY, minX, minY, invSize),
-            maxZ = zOrder(maxTX, maxTY, minX, minY, invSize);
-
-        var p = ear.prevZ,
-            n = ear.nextZ;
-
-        // look for points inside the triangle in both directions
-        while (p && p.z >= minZ && n && n.z <= maxZ) {
-            if (p !== ear.prev && p !== ear.next &&
-                pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
-                area(p.prev, p, p.next) >= 0) return false;
-            p = p.prevZ;
-
-            if (n !== ear.prev && n !== ear.next &&
-                pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) &&
-                area(n.prev, n, n.next) >= 0) return false;
-            n = n.nextZ;
-        }
-
-        // look for remaining points in decreasing z-order
-        while (p && p.z >= minZ) {
-            if (p !== ear.prev && p !== ear.next &&
-                pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
-                area(p.prev, p, p.next) >= 0) return false;
-            p = p.prevZ;
-        }
-
-        // look for remaining points in increasing z-order
-        while (n && n.z <= maxZ) {
-            if (n !== ear.prev && n !== ear.next &&
-                pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) &&
-                area(n.prev, n, n.next) >= 0) return false;
-            n = n.nextZ;
-        }
-
-        return true;
-    }
-
-    // go through all polygon nodes and cure small local self-intersections
-    function cureLocalIntersections(start, triangles, dim) {
-        var p = start;
-        do {
-            var a = p.prev,
-                b = p.next.next;
-
-            if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {
-
-                triangles.push(a.i / dim);
-                triangles.push(p.i / dim);
-                triangles.push(b.i / dim);
-
-                // remove two nodes involved
-                removeNode(p);
-                removeNode(p.next);
-
-                p = start = b;
-            }
-            p = p.next;
-        } while (p !== start);
-
-        return filterPoints(p);
-    }
-
-    // try splitting polygon into two and triangulate them independently
-    function splitEarcut(start, triangles, dim, minX, minY, invSize) {
-        // look for a valid diagonal that divides the polygon into two
-        var a = start;
-        do {
-            var b = a.next.next;
-            while (b !== a.prev) {
-                if (a.i !== b.i && isValidDiagonal(a, b)) {
-                    // split the polygon in two by the diagonal
-                    var c = splitPolygon(a, b);
-
-                    // filter colinear points around the cuts
-                    a = filterPoints(a, a.next);
-                    c = filterPoints(c, c.next);
-
-                    // run earcut on each half
-                    earcutLinked(a, triangles, dim, minX, minY, invSize);
-                    earcutLinked(c, triangles, dim, minX, minY, invSize);
-                    return;
-                }
-                b = b.next;
-            }
-            a = a.next;
-        } while (a !== start);
-    }
-
-    // link every hole into the outer loop, producing a single-ring polygon without holes
-    function eliminateHoles(data, holeIndices, outerNode, dim) {
-        var queue = [],
-            i, len, start, end, list;
-
-        for (i = 0, len = holeIndices.length; i < len; i++) {
-            start = holeIndices[i] * dim;
-            end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
-            list = linkedList(data, start, end, dim, false);
-            if (list === list.next) list.steiner = true;
-            queue.push(getLeftmost(list));
-        }
-
-        queue.sort(compareX);
-
-        // process holes from left to right
-        for (i = 0; i < queue.length; i++) {
-            eliminateHole(queue[i], outerNode);
-            outerNode = filterPoints(outerNode, outerNode.next);
-        }
-
-        return outerNode;
-    }
-
-    function compareX(a, b) {
-        return a.x - b.x;
-    }
-
-    // find a bridge between vertices that connects hole with an outer ring and and link it
-    function eliminateHole(hole, outerNode) {
-        outerNode = findHoleBridge(hole, outerNode);
-        if (outerNode) {
-            var b = splitPolygon(outerNode, hole);
-            filterPoints(b, b.next);
-        }
-    }
-
-    // David Eberly's algorithm for finding a bridge between hole and outer polygon
-    function findHoleBridge(hole, outerNode) {
-        var p = outerNode,
-            hx = hole.x,
-            hy = hole.y,
-            qx = -Infinity,
-            m;
-
-        // find a segment intersected by a ray from the hole's leftmost point to the left;
-        // segment's endpoint with lesser x will be potential connection point
-        do {
-            if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {
-                var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);
-                if (x <= hx && x > qx) {
-                    qx = x;
-                    if (x === hx) {
-                        if (hy === p.y) return p;
-                        if (hy === p.next.y) return p.next;
-                    }
-                    m = p.x < p.next.x ? p : p.next;
-                }
-            }
-            p = p.next;
-        } while (p !== outerNode);
-
-        if (!m) return null;
-
-        if (hx === qx) return m; // hole touches outer segment; pick leftmost endpoint
-
-        // look for points inside the triangle of hole point, segment intersection and endpoint;
-        // if there are no points found, we have a valid connection;
-        // otherwise choose the point of the minimum angle with the ray as connection point
-
-        var stop = m,
-            mx = m.x,
-            my = m.y,
-            tanMin = Infinity,
-            tan;
-
-        p = m;
-
-        do {
-            if (hx >= p.x && p.x >= mx && hx !== p.x &&
-                    pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {
-
-                tan = Math.abs(hy - p.y) / (hx - p.x); // tangential
-
-                if (locallyInside(p, hole) &&
-                    (tan < tanMin || (tan === tanMin && (p.x > m.x || (p.x === m.x && sectorContainsSector(m, p)))))) {
-                    m = p;
-                    tanMin = tan;
-                }
-            }
-
-            p = p.next;
-        } while (p !== stop);
-
-        return m;
-    }
-
-    // whether sector in vertex m contains sector in vertex p in the same coordinates
-    function sectorContainsSector(m, p) {
-        return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0;
-    }
-
-    // interlink polygon nodes in z-order
-    function indexCurve(start, minX, minY, invSize) {
-        var p = start;
-        do {
-            if (p.z === null) p.z = zOrder(p.x, p.y, minX, minY, invSize);
-            p.prevZ = p.prev;
-            p.nextZ = p.next;
-            p = p.next;
-        } while (p !== start);
-
-        p.prevZ.nextZ = null;
-        p.prevZ = null;
-
-        sortLinked(p);
-    }
-
-    // Simon Tatham's linked list merge sort algorithm
-    // http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html
-    function sortLinked(list) {
-        var i, p, q, e, tail, numMerges, pSize, qSize,
-            inSize = 1;
-
-        do {
-            p = list;
-            list = null;
-            tail = null;
-            numMerges = 0;
-
-            while (p) {
-                numMerges++;
-                q = p;
-                pSize = 0;
-                for (i = 0; i < inSize; i++) {
-                    pSize++;
-                    q = q.nextZ;
-                    if (!q) break;
-                }
-                qSize = inSize;
-
-                while (pSize > 0 || (qSize > 0 && q)) {
-
-                    if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {
-                        e = p;
-                        p = p.nextZ;
-                        pSize--;
-                    } else {
-                        e = q;
-                        q = q.nextZ;
-                        qSize--;
-                    }
-
-                    if (tail) tail.nextZ = e;
-                    else list = e;
-
-                    e.prevZ = tail;
-                    tail = e;
-                }
-
-                p = q;
-            }
-
-            tail.nextZ = null;
-            inSize *= 2;
-
-        } while (numMerges > 1);
-
-        return list;
-    }
-
-    // z-order of a point given coords and inverse of the longer side of data bbox
-    function zOrder(x, y, minX, minY, invSize) {
-        // coords are transformed into non-negative 15-bit integer range
-        x = 32767 * (x - minX) * invSize;
-        y = 32767 * (y - minY) * invSize;
-
-        x = (x | (x << 8)) & 0x00FF00FF;
-        x = (x | (x << 4)) & 0x0F0F0F0F;
-        x = (x | (x << 2)) & 0x33333333;
-        x = (x | (x << 1)) & 0x55555555;
-
-        y = (y | (y << 8)) & 0x00FF00FF;
-        y = (y | (y << 4)) & 0x0F0F0F0F;
-        y = (y | (y << 2)) & 0x33333333;
-        y = (y | (y << 1)) & 0x55555555;
-
-        return x | (y << 1);
-    }
-
-    // find the leftmost node of a polygon ring
-    function getLeftmost(start) {
-        var p = start,
-            leftmost = start;
-        do {
-            if (p.x < leftmost.x || (p.x === leftmost.x && p.y < leftmost.y)) leftmost = p;
-            p = p.next;
-        } while (p !== start);
-
-        return leftmost;
-    }
-
-    // check if a point lies within a convex triangle
-    function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {
-        return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 &&
-               (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 &&
-               (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;
-    }
-
-    // check if a diagonal between two polygon nodes is valid (lies in polygon interior)
-    function isValidDiagonal(a, b) {
-        return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && // dones't intersect other edges
-               (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && // locally visible
-                (area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors
-                equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0); // special zero-length case
-    }
-
-    // signed area of a triangle
-    function area(p, q, r) {
-        return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);
-    }
-
-    // check if two points are equal
-    function equals(p1, p2) {
-        return p1.x === p2.x && p1.y === p2.y;
-    }
-
-    // check if two segments intersect
-    function intersects(p1, q1, p2, q2) {
-        var o1 = sign(area(p1, q1, p2));
-        var o2 = sign(area(p1, q1, q2));
-        var o3 = sign(area(p2, q2, p1));
-        var o4 = sign(area(p2, q2, q1));
-
-        if (o1 !== o2 && o3 !== o4) return true; // general case
-
-        if (o1 === 0 && onSegment(p1, p2, q1)) return true; // p1, q1 and p2 are collinear and p2 lies on p1q1
-        if (o2 === 0 && onSegment(p1, q2, q1)) return true; // p1, q1 and q2 are collinear and q2 lies on p1q1
-        if (o3 === 0 && onSegment(p2, p1, q2)) return true; // p2, q2 and p1 are collinear and p1 lies on p2q2
-        if (o4 === 0 && onSegment(p2, q1, q2)) return true; // p2, q2 and q1 are collinear and q1 lies on p2q2
-
-        return false;
-    }
-
-    // for collinear points p, q, r, check if point q lies on segment pr
-    function onSegment(p, q, r) {
-        return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y);
-    }
-
-    function sign(num) {
-        return num > 0 ? 1 : num < 0 ? -1 : 0;
-    }
-
-    // check if a polygon diagonal intersects any polygon segments
-    function intersectsPolygon(a, b) {
-        var p = a;
-        do {
-            if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&
-                    intersects(p, p.next, a, b)) return true;
-            p = p.next;
-        } while (p !== a);
-
-        return false;
-    }
-
-    // check if a polygon diagonal is locally inside the polygon
-    function locallyInside(a, b) {
-        return area(a.prev, a, a.next) < 0 ?
-            area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :
-            area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;
-    }
-
-    // check if the middle point of a polygon diagonal is inside the polygon
-    function middleInside(a, b) {
-        var p = a,
-            inside = false,
-            px = (a.x + b.x) / 2,
-            py = (a.y + b.y) / 2;
-        do {
-            if (((p.y > py) !== (p.next.y > py)) && p.next.y !== p.y &&
-                    (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x))
-                inside = !inside;
-            p = p.next;
-        } while (p !== a);
-
-        return inside;
-    }
-
-    // link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;
-    // if one belongs to the outer ring and another to a hole, it merges it into a single ring
-    function splitPolygon(a, b) {
-        var a2 = new Node(a.i, a.x, a.y),
-            b2 = new Node(b.i, b.x, b.y),
-            an = a.next,
-            bp = b.prev;
-
-        a.next = b;
-        b.prev = a;
-
-        a2.next = an;
-        an.prev = a2;
-
-        b2.next = a2;
-        a2.prev = b2;
-
-        bp.next = b2;
-        b2.prev = bp;
-
-        return b2;
-    }
-
-    // create a node and optionally link it with previous one (in a circular doubly linked list)
-    function insertNode(i, x, y, last) {
-        var p = new Node(i, x, y);
-
-        if (!last) {
-            p.prev = p;
-            p.next = p;
-
-        } else {
-            p.next = last.next;
-            p.prev = last;
-            last.next.prev = p;
-            last.next = p;
-        }
-        return p;
-    }
-
-    function removeNode(p) {
-        p.next.prev = p.prev;
-        p.prev.next = p.next;
-
-        if (p.prevZ) p.prevZ.nextZ = p.nextZ;
-        if (p.nextZ) p.nextZ.prevZ = p.prevZ;
-    }
-
-    function Node(i, x, y) {
-        // vertex index in coordinates array
-        this.i = i;
-
-        // vertex coordinates
-        this.x = x;
-        this.y = y;
-
-        // previous and next vertex nodes in a polygon ring
-        this.prev = null;
-        this.next = null;
-
-        // z-order curve value
-        this.z = null;
-
-        // previous and next nodes in z-order
-        this.prevZ = null;
-        this.nextZ = null;
-
-        // indicates whether this is a steiner point
-        this.steiner = false;
-    }
-
-    // return a percentage difference between the polygon area and its triangulation area;
-    // used to verify correctness of triangulation
-    earcut.deviation = function (data, holeIndices, dim, triangles) {
-        var hasHoles = holeIndices && holeIndices.length;
-        var outerLen = hasHoles ? holeIndices[0] * dim : data.length;
-
-        var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));
-        if (hasHoles) {
-            for (var i = 0, len = holeIndices.length; i < len; i++) {
-                var start = holeIndices[i] * dim;
-                var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
-                polygonArea -= Math.abs(signedArea(data, start, end, dim));
-            }
-        }
-
-        var trianglesArea = 0;
-        for (i = 0; i < triangles.length; i += 3) {
-            var a = triangles[i] * dim;
-            var b = triangles[i + 1] * dim;
-            var c = triangles[i + 2] * dim;
-            trianglesArea += Math.abs(
-                (data[a] - data[c]) * (data[b + 1] - data[a + 1]) -
-                (data[a] - data[b]) * (data[c + 1] - data[a + 1]));
-        }
-
-        return polygonArea === 0 && trianglesArea === 0 ? 0 :
-            Math.abs((trianglesArea - polygonArea) / polygonArea);
-    };
-
-    function signedArea(data, start, end, dim) {
-        var sum = 0;
-        for (var i = start, j = end - dim; i < end; i += dim) {
-            sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);
-            j = i;
-        }
-        return sum;
-    }
-
-    // turn a polygon in a multi-dimensional array form (e.g. as in GeoJSON) into a form Earcut accepts
-    earcut.flatten = function (data) {
-        var dim = data[0][0].length,
-            result = {vertices: [], holes: [], dimensions: dim},
-            holeIndex = 0;
-
-        for (var i = 0; i < data.length; i++) {
-            for (var j = 0; j < data[i].length; j++) {
-                for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);
-            }
-            if (i > 0) {
-                holeIndex += data[i - 1].length;
-                result.holes.push(holeIndex);
-            }
-        }
-        return result;
-    };
-
-    exports.earcut = earcut;
-
-});
diff --git a/libs/supermap/Workers/indexedDBWorker.js b/libs/supermap/Workers/indexedDBWorker.js
deleted file mode 100644
index c8432f6..0000000
--- a/libs/supermap/Workers/indexedDBWorker.js
+++ /dev/null
@@ -1,540 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './createTaskProcessorWorker', './defined-21f7e510'], function (when, createTaskProcessorWorker, defined) { 'use strict';
-
-    /**
-         * Constructs an exception object that is thrown due to a developer error, e.g., invalid argument,
-         * argument out of range, etc.  This exception should only be thrown during development;
-         * it usually indicates a bug in the calling code.  This exception should never be
-         * caught; instead the calling code should strive not to generate it.
-         * <br /><br />
-         * On the other hand, a {@link RuntimeError} indicates an exception that may
-         * be thrown at runtime, e.g., out of memory, that the calling code should be prepared
-         * to catch.
-         *
-         * @alias DeveloperError
-         * @constructor
-         * @extends Error
-         *
-         * @param {String} [message] The error message for this exception.
-         *
-         * @see RuntimeError
-         */
-        function DeveloperError(message) {
-            /**
-             * 'DeveloperError' indicating that this exception was thrown due to a developer error.
-             * @type {String}
-             * @readonly
-             */
-            this.name = 'DeveloperError';
-
-            /**
-             * The explanation for why this exception was thrown.
-             * @type {String}
-             * @readonly
-             */
-            this.message = message;
-
-            //Browsers such as IE don't have a stack property until you actually throw the error.
-            var stack;
-            try {
-                throw new Error();
-            } catch (e) {
-                stack = e.stack;
-            }
-
-            /**
-             * The stack trace of this exception, if available.
-             * @type {String}
-             * @readonly
-             */
-            this.stack = stack;
-        }
-
-        if (defined.defined(Object.create)) {
-            DeveloperError.prototype = Object.create(Error.prototype);
-            DeveloperError.prototype.constructor = DeveloperError;
-        }
-
-        DeveloperError.prototype.toString = function() {
-            var str = this.name + ': ' + this.message;
-
-            if (defined.defined(this.stack)) {
-                str += '\n' + this.stack.toString();
-            }
-
-            return str;
-        };
-
-        /**
-         * @private
-         */
-        DeveloperError.throwInstantiationError = function() {
-            throw new DeveloperError('This function defines an interface and should not be called directly.');
-        };
-
-    var DataStatus = {
-        NONE : 0,
-        STORING : 1,
-        STORED : 2,
-        FAILED : 3
-    };
-
-    function IndexedDBScheduler(options) {
-        if(!defined.defined(options.name)){
-            throw new DeveloperError('options.name is required.');
-        }
-        var defer = when.when.defer();
-        this.dbname = options.name;
-        var request = indexedDB.open(this.dbname);
-
-        var that = this;
-        request.onsuccess = function (event) {
-            that.db = event.target.result;
-            that.version = that.db.version;
-
-            if (!defined.defined(that.cachestatus)) {
-                that.cachestatus = {
-
-                };
-            }
-            defer.resolve(that);
-        };
-
-        request.onupgradeneeded = function (event) {
-            that.db = event.target.result;
-            that.version = that.db.version;
-            defer.resolve(that);
-        };
-
-        request.onerror = function (event) {
-            that.db = null;
-            defer.reject('create database fail, error code : ' + event.target.errorcode);
-        };
-
-        this.layer = options.layer || null;
-        this.storageType = options.storageType || "arrayBuffer";
-        this.creatingTable = false;
-        this.cachestatus = {};
-        return defer.promise;
-    }
-
-    IndexedDBScheduler.prototype.checkObjectStoreExit = function(storeName) {
-        if (!defined.defined(this.db)) {
-            return false;
-        }
-
-        return this.db.objectStoreNames.contains(storeName);
-    };
-
-    IndexedDBScheduler.prototype.createObjectStore = function(storeName) {
-        var defer = when.when.defer();
-
-        //防止多个请求同时创建同一张表
-        if (!this.creatingTable) {
-            if (this.db.objectStoreNames.contains(storeName)) {
-                defer.reject(false);
-                return defer.promise;
-            }
-            this.creatingTable = true;
-
-            var that = this;
-
-            //只能在onupgradeneeded方法中创建新表,所以需要用更高版本打开数据库触发更新
-            var version = parseInt(that.db.version);
-            that.db.close();
-            var secondRequest = indexedDB.open(that.dbname, version + 1);
-            secondRequest.onupgradeneeded  = function(e) {
-                var database = e.target.result;
-                that.db = database;
-                var objectStore = database.createObjectStore(storeName, { keyPath : 'id'});
-                if (defined.defined(objectStore)) {
-                    objectStore.createIndex('value', 'value', { unique : false});
-                    that.creatingTable = false;
-                    //初始化表的缓存状态
-                    if (!defined.defined(that.cachestatus)) {
-                        that.cachestatus = {};
-                    }
-
-                    that.cachestatus[storeName] = {
-
-                    };
-
-                    //这边创建成功表后直接使用会出现各种奇怪的问题,索性关闭数据库后再打开
-                    that.db.close();
-                    var thirdRequest = indexedDB.open(that.dbname);
-
-                    thirdRequest.onsuccess = function(e) {
-                        var database = e.target.result;
-                        that.db = database;
-                        defer.resolve(true);
-                    };
-                } else {
-                    that.creatingTable = false;
-                    defer.reject(false);
-                }
-            };
-
-            secondRequest.onsuccess = function(e) {
-                e.target.result.close();
-                defer.resolve(true);
-            };
-
-            secondRequest.onerror = function(e) {
-                that.creatingTable = false;
-                defer.reject(false);
-            };
-        } else {
-            defer.reject(false);
-        }
-
-        return defer.promise;
-    };
-
-    IndexedDBScheduler.prototype.putElementInDB = function (table, key, data, objectArray) {
-        var defer = when.when.defer();
-
-        if (!defined.defined(this.db)) {
-            defer.reject(false);
-            return defer.promise;
-        }
-
-        var objectStore;
-        var that = this;
-
-        //先检查缓存,如果已经写了就不去写了
-        if (defined.defined(that.cachestatus[table]) && !defined.defined(objectArray)) {
-            if (defined.defined(that.cachestatus[table][key])) {
-                if (that.cachestatus[table][key] === DataStatus.STORING || that.cachestatus[table][key] === DataStatus.STORED) {
-                    defer.resolve(false);
-                    return defer.promise;
-                }
-            }
-        }
-
-        //没有表,去创建指定名称的表
-        if (!this.db.objectStoreNames.contains(table)) {
-            this.createObjectStore(table).then(function(success) {
-                var transaction = that.db.transaction([table], "readwrite");
-                objectStore = transaction.objectStore(table);
-
-                if (defined.defined(objectArray)) {
-                    for (var i = 0, len = objectArray.length; i < len; i++) {
-                        objectStore.add({ id : objectArray[i].key, value : objectArray[i].value});
-                    }
-
-                    defer.resolve(true);
-                } else {
-                    var request = objectStore.add({ id : key, value : data});
-                    request.onsuccess = function (event) {
-                        defer.resolve(true);
-                    };
-
-                    request.onerror = function (event) {
-                        defer.reject(false);
-                    };
-                }
-            }, function(error) {
-                defer.reject(false);
-            });
-        } else {
-            if (!defined.defined(that.cachestatus[table])) {
-                that.cachestatus[table] = {
-
-                };
-            }
-
-            //打开表并添加对应数据
-            var transaction;
-            try {
-                transaction = this.db.transaction([table], "readwrite");
-            } catch (e) {
-                defer.reject(null);
-                return defer.promise;
-            }
-
-            objectStore = transaction.objectStore(table);
-
-            if (defined.defined(objectArray)) {
-                for (var i = 0, len = objectArray.length; i < len; i++) {
-                    if (that.cachestatus[table][objectArray[i].key] !== DataStatus.STORED) {
-                        objectStore.add({ id : objectArray[i].key, value : objectArray[i].value});
-                        that.cachestatus[table][objectArray[i].key] = DataStatus.STORED;
-                    }
-                }
-                defer.resolve(true);
-            } else {
-                var request = objectStore.add({ id : key, value : data});
-                that.cachestatus[table][key] = DataStatus.STORING;
-                request.onsuccess = function (event) {
-                    that.cachestatus[table][key] = DataStatus.STORED;
-                    defer.resolve(true);
-                };
-
-                request.onerror = function (event) {
-                    that.cachestatus[table][key] = DataStatus.FAILED;
-                    defer.reject(false);
-                };
-            }
-        }
-
-        return defer.promise;
-    };
-
-    IndexedDBScheduler.prototype.getElementFromDB = function (table, key) {
-        var defer = when.when.defer();
-
-        if (!defined.defined(this.db)) {
-            return null;
-        }
-
-        if (!this.db.objectStoreNames.contains(table)) {
-            return null;
-        }
-
-        var transaction;
-        try {
-            transaction = this.db.transaction([table]);
-        } catch (e) {
-            defer.reject(null);
-            return defer.promise;
-        }
-
-        var objectStore;
-        try {
-            objectStore = transaction.objectStore(table);
-        } catch (e) {
-            defer.reject(null);
-        }
-
-        var request = objectStore.get(key);
-
-        request.onsuccess = function(event) {
-            if (!defined.defined(event.target.result)) {
-                defer.reject(null);
-                return;
-            }
-
-            defer.resolve(event.target.result.value);
-        };
-
-        request.onerror = function(event) {
-            defer.reject(null);
-        };
-
-        return defer.promise;
-    };
-
-    IndexedDBScheduler.prototype.updateElementInDB = function (table, key, value) {
-        var defer = when.when.defer();
-
-        if (!defined.defined(this.db)) {
-            defer.resolve(false);
-            return defer.promise;
-        }
-
-        if (!this.db.objectStoreNames.contains(table)) {
-            defer.resolve(false);
-            return defer.promise;
-        }
-
-        var transaction = this.db.transaction([table], "readwrite");
-        var objectStore;
-        try {
-            objectStore = transaction.objectStore(table);
-        } catch (e) {
-            defer.resolve(false);
-        }
-
-        var request = objectStore.get(key);
-
-        request.onsuccess = function(event) {
-            var data = event.target.result;
-            if (!defined.defined(data)) {
-                defer.resolve(false);
-                return;
-            }
-
-            data.value = value;
-
-            var requestUpdate = objectStore.put(data);
-            requestUpdate.onsuccess = function(event) {
-                defer.resolve(true);
-            };
-
-            requestUpdate.onerror = function(event) {
-                defer.resolve(false);
-            };
-        };
-
-        request.onerror = function(event) {
-            defer.resolve(false);
-        };
-
-        return defer.promise;
-    };
-
-    IndexedDBScheduler.prototype.removeElementFromDB = function (table, key) {
-        var defer = when.when.defer();
-
-        if (!defined.defined(this.db)) {
-            defer.resolve(false);
-            return defer.promise;
-        }
-
-        if (!this.db.objectStoreNames.contains(table)) {
-            defer.resolve(false);
-            return defer.promise;
-        }
-
-        var transaction = this.db.transaction([table], "readwrite");
-        var objectStore;
-        try {
-            objectStore = transaction.objectStore(table);
-        } catch (e) {
-            defer.resolve(false);
-        }
-
-        var request = objectStore.delete(key);
-
-        request.onerror = function(event) {
-            defer.resolve(false);
-        };
-
-        request.onsuccess = function(event) {
-            defer.resolve(true);
-        };
-
-        return defer.promise;
-    };
-
-    IndexedDBScheduler.prototype.clear = function(table) {
-        var defer = when.when.defer();
-
-        if (!defined.defined(this.db)) {
-            defer.resolve(false);
-            return defer.promise;
-        }
-
-        if (!this.db.objectStoreNames.contains(table)) {
-            defer.resolve(false);
-            return defer.promise;
-        }
-
-        var transaction = this.db.transaction([table], "readwrite");
-        var objectStore;
-        try {
-            objectStore = transaction.objectStore(table);
-        } catch (e) {
-            defer.resolve(false);
-        }
-
-        var request = objectStore.clear();
-
-        request.onerror = function(event) {
-            defer.resolve(false);
-        };
-
-        request.onsuccess = function(event) {
-            defer.resolve(true);
-        };
-
-        return defer.promise;
-    };
-
-    var cache = {};
-
-    function indexedDBWorker(parameters, transferableObjects) {
-        var blob = parameters.blob;
-        var key = parameters.key;
-        var tablename = parameters.tablename;
-        var dbname = parameters.dbname;
-        var cacheSize = parameters.cacheSize || 100;
-
-        var cahceKey = dbname + tablename;
-        if (typeof cache[cahceKey] === "undefined") {
-            cache[cahceKey] = {
-                cache: [],
-                creatingDB: false,
-                scheduler: null,
-                creatingTable: false
-            };
-        } else {
-            cache[cahceKey].cache.push({
-                key: key,
-                value: blob
-            });
-        }
-
-
-        if (cache[cahceKey].cache.length > cacheSize) {
-            putElementInDB(dbname, tablename, cache[cahceKey]);
-        }
-    }
-
-    function putElementInDB(dbname, tablename, cache) {
-        if (cache.scheduler === null) {
-            if (!cache.creatingDB) {
-                cache.creatingDB = true;
-                new IndexedDBScheduler({ name: dbname }).then(function (result) {
-                    cache.creatingDB = false;
-                    cache.scheduler = result;
-                    if (!result.checkObjectStoreExit(tablename)) {
-                        if (!cache.creatingTable) {
-                            cache.creatingTable = true;
-                            result.createObjectStore(tablename).then(function () {
-                                cache.creatingTable = false;
-                                result.putElementInDB(tablename, null, null, cache.cache);
-                                cache.cache = [];
-                            });
-                        }
-                    } else {
-                        result.putElementInDB(tablename, null, null, cache.cache);
-                        cache.cache = [];
-                    }
-                });
-            }
-
-        } else {
-            if (!cache.scheduler.checkObjectStoreExit(tablename)) {
-                if (!cache.creatingTable) {
-                    cache.creatingTable = true;
-                    cache.scheduler.createObjectStore(tablename).then(function () {
-                        cache.creatingTable = false;
-                        cache.scheduler.putElementInDB(tablename, null, null, cache.cache);
-                        cache.cache = [];
-                    });
-                }
-            } else {
-                cache.scheduler.putElementInDB(tablename, null, null, cache.cache);
-                cache.cache = [];
-            }
-        }
-
-    }
-
-    var indexedDBWorker$1 = createTaskProcessorWorker(indexedDBWorker);
-
-    return indexedDBWorker$1;
-
-});
diff --git a/libs/supermap/Workers/pako_inflate-8ea163f9.js b/libs/supermap/Workers/pako_inflate-8ea163f9.js
deleted file mode 100644
index b2d5beb..0000000
--- a/libs/supermap/Workers/pako_inflate-8ea163f9.js
+++ /dev/null
@@ -1,3141 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports'], function (exports) { 'use strict';
-
-    var tmp = {};
-
-    /* pako 1.0.4 nodeca/pako */(function(f){tmp = f();})(function(){return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r);}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-
-
-        var TYPED_OK =  (typeof Uint8Array !== 'undefined') &&
-                        (typeof Uint16Array !== 'undefined') &&
-                        (typeof Int32Array !== 'undefined');
-
-
-        exports.assign = function (obj /*from1, from2, from3, ...*/) {
-            var sources = Array.prototype.slice.call(arguments, 1);
-            while (sources.length) {
-                var source = sources.shift();
-                if (!source) { continue; }
-
-                if (typeof source !== 'object') {
-                    throw new TypeError(source + 'must be non-object');
-                }
-
-                for (var p in source) {
-                    if (source.hasOwnProperty(p)) {
-                        obj[p] = source[p];
-                    }
-                }
-            }
-
-            return obj;
-        };
-
-
-    // reduce buffer size, avoiding mem copy
-        exports.shrinkBuf = function (buf, size) {
-            if (buf.length === size) { return buf; }
-            if (buf.subarray) { return buf.subarray(0, size); }
-            buf.length = size;
-            return buf;
-        };
-
-
-        var fnTyped = {
-            arraySet: function (dest, src, src_offs, len, dest_offs) {
-                if (src.subarray && dest.subarray) {
-                    dest.set(src.subarray(src_offs, src_offs + len), dest_offs);
-                    return;
-                }
-                // Fallback to ordinary array
-                for (var i = 0; i < len; i++) {
-                    dest[dest_offs + i] = src[src_offs + i];
-                }
-            },
-            // Join array of chunks to single array.
-            flattenChunks: function (chunks) {
-                var i, l, len, pos, chunk, result;
-
-                // calculate data length
-                len = 0;
-                for (i = 0, l = chunks.length; i < l; i++) {
-                    len += chunks[i].length;
-                }
-
-                // join chunks
-                result = new Uint8Array(len);
-                pos = 0;
-                for (i = 0, l = chunks.length; i < l; i++) {
-                    chunk = chunks[i];
-                    result.set(chunk, pos);
-                    pos += chunk.length;
-                }
-
-                return result;
-            }
-        };
-
-        var fnUntyped = {
-            arraySet: function (dest, src, src_offs, len, dest_offs) {
-                for (var i = 0; i < len; i++) {
-                    dest[dest_offs + i] = src[src_offs + i];
-                }
-            },
-            // Join array of chunks to single array.
-            flattenChunks: function (chunks) {
-                return [].concat.apply([], chunks);
-            }
-        };
-
-
-    // Enable/Disable typed arrays use, for testing
-    //
-        exports.setTyped = function (on) {
-            if (on) {
-                exports.Buf8  = Uint8Array;
-                exports.Buf16 = Uint16Array;
-                exports.Buf32 = Int32Array;
-                exports.assign(exports, fnTyped);
-            } else {
-                exports.Buf8  = Array;
-                exports.Buf16 = Array;
-                exports.Buf32 = Array;
-                exports.assign(exports, fnUntyped);
-            }
-        };
-
-        exports.setTyped(TYPED_OK);
-
-    },{}],2:[function(require,module,exports){
-
-
-        var utils = require('./common');
-
-
-    // Quick check if we can use fast array to bin string conversion
-    //
-    // - apply(Array) can fail on Android 2.2
-    // - apply(Uint8Array) can fail on iOS 5.1 Safary
-    //
-        var STR_APPLY_OK = true;
-        var STR_APPLY_UIA_OK = true;
-
-        try { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK = false; }
-        try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }
-
-
-    // Table with utf8 lengths (calculated by first byte of sequence)
-    // Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,
-    // because max possible codepoint is 0x10ffff
-        var _utf8len = new utils.Buf8(256);
-        for (var q = 0; q < 256; q++) {
-            _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);
-        }
-        _utf8len[254] = _utf8len[254] = 1; // Invalid sequence start
-
-
-    // convert string to array (typed, when possible)
-        exports.string2buf = function (str) {
-            var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;
-
-            // count binary size
-            for (m_pos = 0; m_pos < str_len; m_pos++) {
-                c = str.charCodeAt(m_pos);
-                if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {
-                    c2 = str.charCodeAt(m_pos + 1);
-                    if ((c2 & 0xfc00) === 0xdc00) {
-                        c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
-                        m_pos++;
-                    }
-                }
-                buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;
-            }
-
-            // allocate buffer
-            buf = new utils.Buf8(buf_len);
-
-            // convert
-            for (i = 0, m_pos = 0; i < buf_len; m_pos++) {
-                c = str.charCodeAt(m_pos);
-                if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {
-                    c2 = str.charCodeAt(m_pos + 1);
-                    if ((c2 & 0xfc00) === 0xdc00) {
-                        c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
-                        m_pos++;
-                    }
-                }
-                if (c < 0x80) {
-                    /* one byte */
-                    buf[i++] = c;
-                } else if (c < 0x800) {
-                    /* two bytes */
-                    buf[i++] = 0xC0 | (c >>> 6);
-                    buf[i++] = 0x80 | (c & 0x3f);
-                } else if (c < 0x10000) {
-                    /* three bytes */
-                    buf[i++] = 0xE0 | (c >>> 12);
-                    buf[i++] = 0x80 | (c >>> 6 & 0x3f);
-                    buf[i++] = 0x80 | (c & 0x3f);
-                } else {
-                    /* four bytes */
-                    buf[i++] = 0xf0 | (c >>> 18);
-                    buf[i++] = 0x80 | (c >>> 12 & 0x3f);
-                    buf[i++] = 0x80 | (c >>> 6 & 0x3f);
-                    buf[i++] = 0x80 | (c & 0x3f);
-                }
-            }
-
-            return buf;
-        };
-
-    // Helper (used in 2 places)
-        function buf2binstring(buf, len) {
-            // use fallback for big arrays to avoid stack overflow
-            if (len < 65537) {
-                if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {
-                    return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));
-                }
-            }
-
-            var result = '';
-            for (var i = 0; i < len; i++) {
-                result += String.fromCharCode(buf[i]);
-            }
-            return result;
-        }
-
-
-    // Convert byte array to binary string
-        exports.buf2binstring = function (buf) {
-            return buf2binstring(buf, buf.length);
-        };
-
-
-    // Convert binary string (typed, when possible)
-        exports.binstring2buf = function (str) {
-            var buf = new utils.Buf8(str.length);
-            for (var i = 0, len = buf.length; i < len; i++) {
-                buf[i] = str.charCodeAt(i);
-            }
-            return buf;
-        };
-
-
-    // convert array to string
-        exports.buf2string = function (buf, max) {
-            var i, out, c, c_len;
-            var len = max || buf.length;
-
-            // Reserve max possible length (2 words per char)
-            // NB: by unknown reasons, Array is significantly faster for
-            //     String.fromCharCode.apply than Uint16Array.
-            var utf16buf = new Array(len * 2);
-
-            for (out = 0, i = 0; i < len;) {
-                c = buf[i++];
-                // quick process ascii
-                if (c < 0x80) { utf16buf[out++] = c; continue; }
-
-                c_len = _utf8len[c];
-                // skip 5 & 6 byte codes
-                if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }
-
-                // apply mask on first byte
-                c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;
-                // join the rest
-                while (c_len > 1 && i < len) {
-                    c = (c << 6) | (buf[i++] & 0x3f);
-                    c_len--;
-                }
-
-                // terminated by end of string?
-                if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }
-
-                if (c < 0x10000) {
-                    utf16buf[out++] = c;
-                } else {
-                    c -= 0x10000;
-                    utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);
-                    utf16buf[out++] = 0xdc00 | (c & 0x3ff);
-                }
-            }
-
-            return buf2binstring(utf16buf, out);
-        };
-
-
-    // Calculate max possible position in utf8 buffer,
-    // that will not break sequence. If that's not possible
-    // - (very small limits) return max size as is.
-    //
-    // buf[] - utf8 bytes array
-    // max   - length limit (mandatory);
-        exports.utf8border = function (buf, max) {
-            var pos;
-
-            max = max || buf.length;
-            if (max > buf.length) { max = buf.length; }
-
-            // go back from last position, until start of sequence found
-            pos = max - 1;
-            while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }
-
-            // Fuckup - very small and broken sequence,
-            // return max, because we should return something anyway.
-            if (pos < 0) { return max; }
-
-            // If we came to start of buffer - that means vuffer is too small,
-            // return max too.
-            if (pos === 0) { return max; }
-
-            return (pos + _utf8len[buf[pos]] > max) ? pos : max;
-        };
-
-    },{"./common":1}],3:[function(require,module,exports){
-
-    // Note: adler32 takes 12% for level 0 and 2% for level 6.
-    // It doesn't worth to make additional optimizationa as in original.
-    // Small size is preferable.
-
-        function adler32(adler, buf, len, pos) {
-            var s1 = (adler & 0xffff) |0,
-                s2 = ((adler >>> 16) & 0xffff) |0,
-                n = 0;
-
-            while (len !== 0) {
-                // Set limit ~ twice less than 5552, to keep
-                // s2 in 31-bits, because we force signed ints.
-                // in other case %= will fail.
-                n = len > 2000 ? 2000 : len;
-                len -= n;
-
-                do {
-                    s1 = (s1 + buf[pos++]) |0;
-                    s2 = (s2 + s1) |0;
-                } while (--n);
-
-                s1 %= 65521;
-                s2 %= 65521;
-            }
-
-            return (s1 | (s2 << 16)) |0;
-        }
-
-
-        module.exports = adler32;
-
-    },{}],4:[function(require,module,exports){
-
-
-        module.exports = {
-
-            /* Allowed flush values; see deflate() and inflate() below for details */
-            Z_NO_FLUSH:         0,
-            Z_PARTIAL_FLUSH:    1,
-            Z_SYNC_FLUSH:       2,
-            Z_FULL_FLUSH:       3,
-            Z_FINISH:           4,
-            Z_BLOCK:            5,
-            Z_TREES:            6,
-
-            /* Return codes for the compression/decompression functions. Negative values
-             * are errors, positive values are used for special but normal events.
-             */
-            Z_OK:               0,
-            Z_STREAM_END:       1,
-            Z_NEED_DICT:        2,
-            Z_ERRNO:           -1,
-            Z_STREAM_ERROR:    -2,
-            Z_DATA_ERROR:      -3,
-            //Z_MEM_ERROR:     -4,
-            Z_BUF_ERROR:       -5,
-            //Z_VERSION_ERROR: -6,
-
-            /* compression levels */
-            Z_NO_COMPRESSION:         0,
-            Z_BEST_SPEED:             1,
-            Z_BEST_COMPRESSION:       9,
-            Z_DEFAULT_COMPRESSION:   -1,
-
-
-            Z_FILTERED:               1,
-            Z_HUFFMAN_ONLY:           2,
-            Z_RLE:                    3,
-            Z_FIXED:                  4,
-            Z_DEFAULT_STRATEGY:       0,
-
-            /* Possible values of the data_type field (though see inflate()) */
-            Z_BINARY:                 0,
-            Z_TEXT:                   1,
-            //Z_ASCII:                1, // = Z_TEXT (deprecated)
-            Z_UNKNOWN:                2,
-
-            /* The deflate compression method */
-            Z_DEFLATED:               8
-            //Z_NULL:                 null // Use -1 or null inline, depending on var type
-        };
-
-    },{}],5:[function(require,module,exports){
-
-    // Note: we can't get significant speed boost here.
-    // So write code to minimize size - no pregenerated tables
-    // and array tools dependencies.
-
-
-    // Use ordinary array, since untyped makes no boost here
-        function makeTable() {
-            var c, table = [];
-
-            for (var n = 0; n < 256; n++) {
-                c = n;
-                for (var k = 0; k < 8; k++) {
-                    c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));
-                }
-                table[n] = c;
-            }
-
-            return table;
-        }
-
-    // Create table on load. Just 255 signed longs. Not a problem.
-        var crcTable = makeTable();
-
-
-        function crc32(crc, buf, len, pos) {
-            var t = crcTable,
-                end = pos + len;
-
-            crc ^= -1;
-
-            for (var i = pos; i < end; i++) {
-                crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];
-            }
-
-            return (crc ^ (-1)); // >>> 0;
-        }
-
-
-        module.exports = crc32;
-
-    },{}],6:[function(require,module,exports){
-
-
-        function GZheader() {
-            /* true if compressed data believed to be text */
-            this.text       = 0;
-            /* modification time */
-            this.time       = 0;
-            /* extra flags (not used when writing a gzip file) */
-            this.xflags     = 0;
-            /* operating system */
-            this.os         = 0;
-            /* pointer to extra field or Z_NULL if none */
-            this.extra      = null;
-            /* extra field length (valid if extra != Z_NULL) */
-            this.extra_len  = 0; // Actually, we don't need it in JS,
-                                 // but leave for few code modifications
-
-            //
-            // Setup limits is not necessary because in js we should not preallocate memory
-            // for inflate use constant limit in 65536 bytes
-            //
-
-            /* space at extra (only when reading header) */
-            // this.extra_max  = 0;
-            /* pointer to zero-terminated file name or Z_NULL */
-            this.name       = '';
-            /* space at name (only when reading header) */
-            // this.name_max   = 0;
-            /* pointer to zero-terminated comment or Z_NULL */
-            this.comment    = '';
-            /* space at comment (only when reading header) */
-            // this.comm_max   = 0;
-            /* true if there was or will be a header crc */
-            this.hcrc       = 0;
-            /* true when done reading gzip header (not used when writing a gzip file) */
-            this.done       = false;
-        }
-
-        module.exports = GZheader;
-
-    },{}],7:[function(require,module,exports){
-
-    // See state defs from inflate.js
-        var BAD = 30;       /* got a data error -- remain here until reset */
-        var TYPE = 12;      /* i: waiting for type bits, including last-flag bit */
-
-        /*
-         Decode literal, length, and distance codes and write out the resulting
-         literal and match bytes until either not enough input or output is
-         available, an end-of-block is encountered, or a data error is encountered.
-         When large enough input and output buffers are supplied to inflate(), for
-         example, a 16K input buffer and a 64K output buffer, more than 95% of the
-         inflate execution time is spent in this routine.
-
-         Entry assumptions:
-
-         state.mode === LEN
-         strm.avail_in >= 6
-         strm.avail_out >= 258
-         start >= strm.avail_out
-         state.bits < 8
-
-         On return, state.mode is one of:
-
-         LEN -- ran out of enough output space or enough available input
-         TYPE -- reached end of block code, inflate() to interpret next block
-         BAD -- error in block data
-
-         Notes:
-
-         - The maximum input bits used by a length/distance pair is 15 bits for the
-         length code, 5 bits for the length extra, 15 bits for the distance code,
-         and 13 bits for the distance extra.  This totals 48 bits, or six bytes.
-         Therefore if strm.avail_in >= 6, then there is enough input to avoid
-         checking for available input while decoding.
-
-         - The maximum bytes that a single length/distance pair can output is 258
-         bytes, which is the maximum length that can be coded.  inflate_fast()
-         requires strm.avail_out >= 258 for each loop to avoid checking for
-         output space.
-         */
-        module.exports = function inflate_fast(strm, start) {
-            var state;
-            var _in;                    /* local strm.input */
-            var last;                   /* have enough input while in < last */
-            var _out;                   /* local strm.output */
-            var beg;                    /* inflate()'s initial strm.output */
-            var end;                    /* while out < end, enough space available */
-    //#ifdef INFLATE_STRICT
-            var dmax;                   /* maximum distance from zlib header */
-    //#endif
-            var wsize;                  /* window size or zero if not using window */
-            var whave;                  /* valid bytes in the window */
-            var wnext;                  /* window write index */
-            // Use `s_window` instead `window`, avoid conflict with instrumentation tools
-            var s_window;               /* allocated sliding window, if wsize != 0 */
-            var hold;                   /* local strm.hold */
-            var bits;                   /* local strm.bits */
-            var lcode;                  /* local strm.lencode */
-            var dcode;                  /* local strm.distcode */
-            var lmask;                  /* mask for first level of length codes */
-            var dmask;                  /* mask for first level of distance codes */
-            var here;                   /* retrieved table entry */
-            var op;                     /* code bits, operation, extra bits, or */
-            /*  window position, window bytes to copy */
-            var len;                    /* match length, unused bytes */
-            var dist;                   /* match distance */
-            var from;                   /* where to copy match from */
-            var from_source;
-
-
-            var input, output; // JS specific, because we have no pointers
-
-            /* copy state to local variables */
-            state = strm.state;
-            //here = state.here;
-            _in = strm.next_in;
-            input = strm.input;
-            last = _in + (strm.avail_in - 5);
-            _out = strm.next_out;
-            output = strm.output;
-            beg = _out - (start - strm.avail_out);
-            end = _out + (strm.avail_out - 257);
-    //#ifdef INFLATE_STRICT
-            dmax = state.dmax;
-    //#endif
-            wsize = state.wsize;
-            whave = state.whave;
-            wnext = state.wnext;
-            s_window = state.window;
-            hold = state.hold;
-            bits = state.bits;
-            lcode = state.lencode;
-            dcode = state.distcode;
-            lmask = (1 << state.lenbits) - 1;
-            dmask = (1 << state.distbits) - 1;
-
-
-            /* decode literals and length/distances until end-of-block or not enough
-             input data or output space */
-
-            top:
-                do {
-                    if (bits < 15) {
-                        hold += input[_in++] << bits;
-                        bits += 8;
-                        hold += input[_in++] << bits;
-                        bits += 8;
-                    }
-
-                    here = lcode[hold & lmask];
-
-                    dolen:
-                        for (;;) { // Goto emulation
-                            op = here >>> 24/*here.bits*/;
-                            hold >>>= op;
-                            bits -= op;
-                            op = (here >>> 16) & 0xff/*here.op*/;
-                            if (op === 0) {                          /* literal */
-                                //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
-                                //        "inflate:         literal '%c'\n" :
-                                //        "inflate:         literal 0x%02x\n", here.val));
-                                output[_out++] = here & 0xffff/*here.val*/;
-                            }
-                            else if (op & 16) {                     /* length base */
-                                len = here & 0xffff/*here.val*/;
-                                op &= 15;                           /* number of extra bits */
-                                if (op) {
-                                    if (bits < op) {
-                                        hold += input[_in++] << bits;
-                                        bits += 8;
-                                    }
-                                    len += hold & ((1 << op) - 1);
-                                    hold >>>= op;
-                                    bits -= op;
-                                }
-                                //Tracevv((stderr, "inflate:         length %u\n", len));
-                                if (bits < 15) {
-                                    hold += input[_in++] << bits;
-                                    bits += 8;
-                                    hold += input[_in++] << bits;
-                                    bits += 8;
-                                }
-                                here = dcode[hold & dmask];
-
-                                dodist:
-                                    for (;;) { // goto emulation
-                                        op = here >>> 24/*here.bits*/;
-                                        hold >>>= op;
-                                        bits -= op;
-                                        op = (here >>> 16) & 0xff/*here.op*/;
-
-                                        if (op & 16) {                      /* distance base */
-                                            dist = here & 0xffff/*here.val*/;
-                                            op &= 15;                       /* number of extra bits */
-                                            if (bits < op) {
-                                                hold += input[_in++] << bits;
-                                                bits += 8;
-                                                if (bits < op) {
-                                                    hold += input[_in++] << bits;
-                                                    bits += 8;
-                                                }
-                                            }
-                                            dist += hold & ((1 << op) - 1);
-    //#ifdef INFLATE_STRICT
-                                            if (dist > dmax) {
-                                                strm.msg = 'invalid distance too far back';
-                                                state.mode = BAD;
-                                                break top;
-                                            }
-    //#endif
-                                            hold >>>= op;
-                                            bits -= op;
-                                            //Tracevv((stderr, "inflate:         distance %u\n", dist));
-                                            op = _out - beg;                /* max distance in output */
-                                            if (dist > op) {                /* see if copy from window */
-                                                op = dist - op;               /* distance back in window */
-                                                if (op > whave) {
-                                                    if (state.sane) {
-                                                        strm.msg = 'invalid distance too far back';
-                                                        state.mode = BAD;
-                                                        break top;
-                                                    }
-
-    // (!) This block is disabled in zlib defailts,
-    // don't enable it for binary compatibility
-    //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
-    //                if (len <= op - whave) {
-    //                  do {
-    //                    output[_out++] = 0;
-    //                  } while (--len);
-    //                  continue top;
-    //                }
-    //                len -= op - whave;
-    //                do {
-    //                  output[_out++] = 0;
-    //                } while (--op > whave);
-    //                if (op === 0) {
-    //                  from = _out - dist;
-    //                  do {
-    //                    output[_out++] = output[from++];
-    //                  } while (--len);
-    //                  continue top;
-    //                }
-    //#endif
-                                                }
-                                                from = 0; // window index
-                                                from_source = s_window;
-                                                if (wnext === 0) {           /* very common case */
-                                                    from += wsize - op;
-                                                    if (op < len) {         /* some from window */
-                                                        len -= op;
-                                                        do {
-                                                            output[_out++] = s_window[from++];
-                                                        } while (--op);
-                                                        from = _out - dist;  /* rest from output */
-                                                        from_source = output;
-                                                    }
-                                                }
-                                                else if (wnext < op) {      /* wrap around window */
-                                                    from += wsize + wnext - op;
-                                                    op -= wnext;
-                                                    if (op < len) {         /* some from end of window */
-                                                        len -= op;
-                                                        do {
-                                                            output[_out++] = s_window[from++];
-                                                        } while (--op);
-                                                        from = 0;
-                                                        if (wnext < len) {  /* some from start of window */
-                                                            op = wnext;
-                                                            len -= op;
-                                                            do {
-                                                                output[_out++] = s_window[from++];
-                                                            } while (--op);
-                                                            from = _out - dist;      /* rest from output */
-                                                            from_source = output;
-                                                        }
-                                                    }
-                                                }
-                                                else {                      /* contiguous in window */
-                                                    from += wnext - op;
-                                                    if (op < len) {         /* some from window */
-                                                        len -= op;
-                                                        do {
-                                                            output[_out++] = s_window[from++];
-                                                        } while (--op);
-                                                        from = _out - dist;  /* rest from output */
-                                                        from_source = output;
-                                                    }
-                                                }
-                                                while (len > 2) {
-                                                    output[_out++] = from_source[from++];
-                                                    output[_out++] = from_source[from++];
-                                                    output[_out++] = from_source[from++];
-                                                    len -= 3;
-                                                }
-                                                if (len) {
-                                                    output[_out++] = from_source[from++];
-                                                    if (len > 1) {
-                                                        output[_out++] = from_source[from++];
-                                                    }
-                                                }
-                                            }
-                                            else {
-                                                from = _out - dist;          /* copy direct from output */
-                                                do {                        /* minimum length is three */
-                                                    output[_out++] = output[from++];
-                                                    output[_out++] = output[from++];
-                                                    output[_out++] = output[from++];
-                                                    len -= 3;
-                                                } while (len > 2);
-                                                if (len) {
-                                                    output[_out++] = output[from++];
-                                                    if (len > 1) {
-                                                        output[_out++] = output[from++];
-                                                    }
-                                                }
-                                            }
-                                        }
-                                        else if ((op & 64) === 0) {          /* 2nd level distance code */
-                                            here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
-                                            continue dodist;
-                                        }
-                                        else {
-                                            strm.msg = 'invalid distance code';
-                                            state.mode = BAD;
-                                            break top;
-                                        }
-
-                                        break; // need to emulate goto via "continue"
-                                    }
-                            }
-                            else if ((op & 64) === 0) {              /* 2nd level length code */
-                                here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
-                                continue dolen;
-                            }
-                            else if (op & 32) {                     /* end-of-block */
-                                //Tracevv((stderr, "inflate:         end of block\n"));
-                                state.mode = TYPE;
-                                break top;
-                            }
-                            else {
-                                strm.msg = 'invalid literal/length code';
-                                state.mode = BAD;
-                                break top;
-                            }
-
-                            break; // need to emulate goto via "continue"
-                        }
-                } while (_in < last && _out < end);
-
-            /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
-            len = bits >> 3;
-            _in -= len;
-            bits -= len << 3;
-            hold &= (1 << bits) - 1;
-
-            /* update state and return */
-            strm.next_in = _in;
-            strm.next_out = _out;
-            strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));
-            strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));
-            state.hold = hold;
-            state.bits = bits;
-            return;
-        };
-
-    },{}],8:[function(require,module,exports){
-
-
-        var utils         = require('../utils/common');
-        var adler32       = require('./adler32');
-        var crc32         = require('./crc32');
-        var inflate_fast  = require('./inffast');
-        var inflate_table = require('./inftrees');
-
-        var CODES = 0;
-        var LENS = 1;
-        var DISTS = 2;
-
-        /* Public constants ==========================================================*/
-        /* ===========================================================================*/
-
-
-        /* Allowed flush values; see deflate() and inflate() below for details */
-    //var Z_NO_FLUSH      = 0;
-    //var Z_PARTIAL_FLUSH = 1;
-    //var Z_SYNC_FLUSH    = 2;
-    //var Z_FULL_FLUSH    = 3;
-        var Z_FINISH        = 4;
-        var Z_BLOCK         = 5;
-        var Z_TREES         = 6;
-
-
-        /* Return codes for the compression/decompression functions. Negative values
-         * are errors, positive values are used for special but normal events.
-         */
-        var Z_OK            = 0;
-        var Z_STREAM_END    = 1;
-        var Z_NEED_DICT     = 2;
-    //var Z_ERRNO         = -1;
-        var Z_STREAM_ERROR  = -2;
-        var Z_DATA_ERROR    = -3;
-        var Z_MEM_ERROR     = -4;
-        var Z_BUF_ERROR     = -5;
-    //var Z_VERSION_ERROR = -6;
-
-        /* The deflate compression method */
-        var Z_DEFLATED  = 8;
-
-
-        /* STATES ====================================================================*/
-        /* ===========================================================================*/
-
-
-        var    HEAD = 1;       /* i: waiting for magic header */
-        var    FLAGS = 2;      /* i: waiting for method and flags (gzip) */
-        var    TIME = 3;       /* i: waiting for modification time (gzip) */
-        var    OS = 4;         /* i: waiting for extra flags and operating system (gzip) */
-        var    EXLEN = 5;      /* i: waiting for extra length (gzip) */
-        var    EXTRA = 6;      /* i: waiting for extra bytes (gzip) */
-        var    NAME = 7;       /* i: waiting for end of file name (gzip) */
-        var    COMMENT = 8;    /* i: waiting for end of comment (gzip) */
-        var    HCRC = 9;       /* i: waiting for header crc (gzip) */
-        var    DICTID = 10;    /* i: waiting for dictionary check value */
-        var    DICT = 11;      /* waiting for inflateSetDictionary() call */
-        var        TYPE = 12;      /* i: waiting for type bits, including last-flag bit */
-        var        TYPEDO = 13;    /* i: same, but skip check to exit inflate on new block */
-        var        STORED = 14;    /* i: waiting for stored size (length and complement) */
-        var        COPY_ = 15;     /* i/o: same as COPY below, but only first time in */
-        var        COPY = 16;      /* i/o: waiting for input or output to copy stored block */
-        var        TABLE = 17;     /* i: waiting for dynamic block table lengths */
-        var        LENLENS = 18;   /* i: waiting for code length code lengths */
-        var        CODELENS = 19;  /* i: waiting for length/lit and distance code lengths */
-        var            LEN_ = 20;      /* i: same as LEN below, but only first time in */
-        var            LEN = 21;       /* i: waiting for length/lit/eob code */
-        var            LENEXT = 22;    /* i: waiting for length extra bits */
-        var            DIST = 23;      /* i: waiting for distance code */
-        var            DISTEXT = 24;   /* i: waiting for distance extra bits */
-        var            MATCH = 25;     /* o: waiting for output space to copy string */
-        var            LIT = 26;       /* o: waiting for output space to write literal */
-        var    CHECK = 27;     /* i: waiting for 32-bit check value */
-        var    LENGTH = 28;    /* i: waiting for 32-bit length (gzip) */
-        var    DONE = 29;      /* finished check, done -- remain here until reset */
-        var    BAD = 30;       /* got a data error -- remain here until reset */
-        var    MEM = 31;       /* got an inflate() memory error -- remain here until reset */
-        var    SYNC = 32;      /* looking for synchronization bytes to restart inflate() */
-
-        /* ===========================================================================*/
-
-
-
-        var ENOUGH_LENS = 852;
-        var ENOUGH_DISTS = 592;
-    //var ENOUGH =  (ENOUGH_LENS+ENOUGH_DISTS);
-
-        var MAX_WBITS = 15;
-        /* 32K LZ77 window */
-        var DEF_WBITS = MAX_WBITS;
-
-
-        function zswap32(q) {
-            return  (((q >>> 24) & 0xff) +
-                     ((q >>> 8) & 0xff00) +
-                     ((q & 0xff00) << 8) +
-                     ((q & 0xff) << 24));
-        }
-
-
-        function InflateState() {
-            this.mode = 0;             /* current inflate mode */
-            this.last = false;          /* true if processing last block */
-            this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */
-            this.havedict = false;      /* true if dictionary provided */
-            this.flags = 0;             /* gzip header method and flags (0 if zlib) */
-            this.dmax = 0;              /* zlib header max distance (INFLATE_STRICT) */
-            this.check = 0;             /* protected copy of check value */
-            this.total = 0;             /* protected copy of output count */
-            // TODO: may be {}
-            this.head = null;           /* where to save gzip header information */
-
-            /* sliding window */
-            this.wbits = 0;             /* log base 2 of requested window size */
-            this.wsize = 0;             /* window size or zero if not using window */
-            this.whave = 0;             /* valid bytes in the window */
-            this.wnext = 0;             /* window write index */
-            this.window = null;         /* allocated sliding window, if needed */
-
-            /* bit accumulator */
-            this.hold = 0;              /* input bit accumulator */
-            this.bits = 0;              /* number of bits in "in" */
-
-            /* for string and stored block copying */
-            this.length = 0;            /* literal or length of data to copy */
-            this.offset = 0;            /* distance back to copy string from */
-
-            /* for table and code decoding */
-            this.extra = 0;             /* extra bits needed */
-
-            /* fixed and dynamic code tables */
-            this.lencode = null;          /* starting table for length/literal codes */
-            this.distcode = null;         /* starting table for distance codes */
-            this.lenbits = 0;           /* index bits for lencode */
-            this.distbits = 0;          /* index bits for distcode */
-
-            /* dynamic table building */
-            this.ncode = 0;             /* number of code length code lengths */
-            this.nlen = 0;              /* number of length code lengths */
-            this.ndist = 0;             /* number of distance code lengths */
-            this.have = 0;              /* number of code lengths in lens[] */
-            this.next = null;              /* next available space in codes[] */
-
-            this.lens = new utils.Buf16(320); /* temporary storage for code lengths */
-            this.work = new utils.Buf16(288); /* work area for code table building */
-
-            /*
-             because we don't have pointers in js, we use lencode and distcode directly
-             as buffers so we don't need codes
-             */
-            //this.codes = new utils.Buf32(ENOUGH);       /* space for code tables */
-            this.lendyn = null;              /* dynamic table for length/literal codes (JS specific) */
-            this.distdyn = null;             /* dynamic table for distance codes (JS specific) */
-            this.sane = 0;                   /* if false, allow invalid distance too far */
-            this.back = 0;                   /* bits back of last unprocessed length/lit */
-            this.was = 0;                    /* initial length of match */
-        }
-
-        function inflateResetKeep(strm) {
-            var state;
-
-            if (!strm || !strm.state) { return Z_STREAM_ERROR; }
-            state = strm.state;
-            strm.total_in = strm.total_out = state.total = 0;
-            strm.msg = ''; /*Z_NULL*/
-            if (state.wrap) {       /* to support ill-conceived Java test suite */
-                strm.adler = state.wrap & 1;
-            }
-            state.mode = HEAD;
-            state.last = 0;
-            state.havedict = 0;
-            state.dmax = 32768;
-            state.head = null/*Z_NULL*/;
-            state.hold = 0;
-            state.bits = 0;
-            //state.lencode = state.distcode = state.next = state.codes;
-            state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);
-            state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);
-
-            state.sane = 1;
-            state.back = -1;
-            //Tracev((stderr, "inflate: reset\n"));
-            return Z_OK;
-        }
-
-        function inflateReset(strm) {
-            var state;
-
-            if (!strm || !strm.state) { return Z_STREAM_ERROR; }
-            state = strm.state;
-            state.wsize = 0;
-            state.whave = 0;
-            state.wnext = 0;
-            return inflateResetKeep(strm);
-
-        }
-
-        function inflateReset2(strm, windowBits) {
-            var wrap;
-            var state;
-
-            /* get the state */
-            if (!strm || !strm.state) { return Z_STREAM_ERROR; }
-            state = strm.state;
-
-            /* extract wrap request from windowBits parameter */
-            if (windowBits < 0) {
-                wrap = 0;
-                windowBits = -windowBits;
-            }
-            else {
-                wrap = (windowBits >> 4) + 1;
-                if (windowBits < 48) {
-                    windowBits &= 15;
-                }
-            }
-
-            /* set number of window bits, free window if different */
-            if (windowBits && (windowBits < 8 || windowBits > 15)) {
-                return Z_STREAM_ERROR;
-            }
-            if (state.window !== null && state.wbits !== windowBits) {
-                state.window = null;
-            }
-
-            /* update state and reset the rest of it */
-            state.wrap = wrap;
-            state.wbits = windowBits;
-            return inflateReset(strm);
-        }
-
-        function inflateInit2(strm, windowBits) {
-            var ret;
-            var state;
-
-            if (!strm) { return Z_STREAM_ERROR; }
-            //strm.msg = Z_NULL;                 /* in case we return an error */
-
-            state = new InflateState();
-
-            //if (state === Z_NULL) return Z_MEM_ERROR;
-            //Tracev((stderr, "inflate: allocated\n"));
-            strm.state = state;
-            state.window = null/*Z_NULL*/;
-            ret = inflateReset2(strm, windowBits);
-            if (ret !== Z_OK) {
-                strm.state = null/*Z_NULL*/;
-            }
-            return ret;
-        }
-
-        function inflateInit(strm) {
-            return inflateInit2(strm, DEF_WBITS);
-        }
-
-
-        /*
-         Return state with length and distance decoding tables and index sizes set to
-         fixed code decoding.  Normally this returns fixed tables from inffixed.h.
-         If BUILDFIXED is defined, then instead this routine builds the tables the
-         first time it's called, and returns those tables the first time and
-         thereafter.  This reduces the size of the code by about 2K bytes, in
-         exchange for a little execution time.  However, BUILDFIXED should not be
-         used for threaded applications, since the rewriting of the tables and virgin
-         may not be thread-safe.
-         */
-        var virgin = true;
-
-        var lenfix, distfix; // We have no pointers in JS, so keep tables separate
-
-        function fixedtables(state) {
-            /* build fixed huffman tables if first call (may not be thread safe) */
-            if (virgin) {
-                var sym;
-
-                lenfix = new utils.Buf32(512);
-                distfix = new utils.Buf32(32);
-
-                /* literal/length table */
-                sym = 0;
-                while (sym < 144) { state.lens[sym++] = 8; }
-                while (sym < 256) { state.lens[sym++] = 9; }
-                while (sym < 280) { state.lens[sym++] = 7; }
-                while (sym < 288) { state.lens[sym++] = 8; }
-
-                inflate_table(LENS,  state.lens, 0, 288, lenfix,   0, state.work, { bits: 9 });
-
-                /* distance table */
-                sym = 0;
-                while (sym < 32) { state.lens[sym++] = 5; }
-
-                inflate_table(DISTS, state.lens, 0, 32,   distfix, 0, state.work, { bits: 5 });
-
-                /* do this just once */
-                virgin = false;
-            }
-
-            state.lencode = lenfix;
-            state.lenbits = 9;
-            state.distcode = distfix;
-            state.distbits = 5;
-        }
-
-
-        /*
-         Update the window with the last wsize (normally 32K) bytes written before
-         returning.  If window does not exist yet, create it.  This is only called
-         when a window is already in use, or when output has been written during this
-         inflate call, but the end of the deflate stream has not been reached yet.
-         It is also called to create a window for dictionary data when a dictionary
-         is loaded.
-
-         Providing output buffers larger than 32K to inflate() should provide a speed
-         advantage, since only the last 32K of output is copied to the sliding window
-         upon return from inflate(), and since all distances after the first 32K of
-         output will fall in the output data, making match copies simpler and faster.
-         The advantage may be dependent on the size of the processor's data caches.
-         */
-        function updatewindow(strm, src, end, copy) {
-            var dist;
-            var state = strm.state;
-
-            /* if it hasn't been done already, allocate space for the window */
-            if (state.window === null) {
-                state.wsize = 1 << state.wbits;
-                state.wnext = 0;
-                state.whave = 0;
-
-                state.window = new utils.Buf8(state.wsize);
-            }
-
-            /* copy state->wsize or less output bytes into the circular window */
-            if (copy >= state.wsize) {
-                utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);
-                state.wnext = 0;
-                state.whave = state.wsize;
-            }
-            else {
-                dist = state.wsize - state.wnext;
-                if (dist > copy) {
-                    dist = copy;
-                }
-                //zmemcpy(state->window + state->wnext, end - copy, dist);
-                utils.arraySet(state.window, src, end - copy, dist, state.wnext);
-                copy -= dist;
-                if (copy) {
-                    //zmemcpy(state->window, end - copy, copy);
-                    utils.arraySet(state.window, src, end - copy, copy, 0);
-                    state.wnext = copy;
-                    state.whave = state.wsize;
-                }
-                else {
-                    state.wnext += dist;
-                    if (state.wnext === state.wsize) { state.wnext = 0; }
-                    if (state.whave < state.wsize) { state.whave += dist; }
-                }
-            }
-            return 0;
-        }
-
-        function inflate(strm, flush) {
-            var state;
-            var input, output;          // input/output buffers
-            var next;                   /* next input INDEX */
-            var put;                    /* next output INDEX */
-            var have, left;             /* available input and output */
-            var hold;                   /* bit buffer */
-            var bits;                   /* bits in bit buffer */
-            var _in, _out;              /* save starting available input and output */
-            var copy;                   /* number of stored or match bytes to copy */
-            var from;                   /* where to copy match bytes from */
-            var from_source;
-            var here = 0;               /* current decoding table entry */
-            var here_bits, here_op, here_val; // paked "here" denormalized (JS specific)
-            //var last;                   /* parent table entry */
-            var last_bits, last_op, last_val; // paked "last" denormalized (JS specific)
-            var len;                    /* length to copy for repeats, bits to drop */
-            var ret;                    /* return code */
-            var hbuf = new utils.Buf8(4);    /* buffer for gzip header crc calculation */
-            var opts;
-
-            var n; // temporary var for NEED_BITS
-
-            var order = /* permutation of code lengths */
-                [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];
-
-
-            if (!strm || !strm.state || !strm.output ||
-                (!strm.input && strm.avail_in !== 0)) {
-                return Z_STREAM_ERROR;
-            }
-
-            state = strm.state;
-            if (state.mode === TYPE) { state.mode = TYPEDO; }    /* skip check */
-
-
-            //--- LOAD() ---
-            put = strm.next_out;
-            output = strm.output;
-            left = strm.avail_out;
-            next = strm.next_in;
-            input = strm.input;
-            have = strm.avail_in;
-            hold = state.hold;
-            bits = state.bits;
-            //---
-
-            _in = have;
-            _out = left;
-            ret = Z_OK;
-
-            inf_leave: // goto emulation
-                for (;;) {
-                    switch (state.mode) {
-                        case HEAD:
-                            if (state.wrap === 0) {
-                                state.mode = TYPEDO;
-                                break;
-                            }
-                            //=== NEEDBITS(16);
-                            while (bits < 16) {
-                                if (have === 0) { break inf_leave; }
-                                have--;
-                                hold += input[next++] << bits;
-                                bits += 8;
-                            }
-                            //===//
-                            if ((state.wrap & 2) && hold === 0x8b1f) {  /* gzip header */
-                                state.check = 0/*crc32(0L, Z_NULL, 0)*/;
-                                //=== CRC2(state.check, hold);
-                                hbuf[0] = hold & 0xff;
-                                hbuf[1] = (hold >>> 8) & 0xff;
-                                state.check = crc32(state.check, hbuf, 2, 0);
-                                //===//
-
-                                //=== INITBITS();
-                                hold = 0;
-                                bits = 0;
-                                //===//
-                                state.mode = FLAGS;
-                                break;
-                            }
-                            state.flags = 0;           /* expect zlib header */
-                            if (state.head) {
-                                state.head.done = false;
-                            }
-                            if (!(state.wrap & 1) ||   /* check if zlib header allowed */
-                                (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {
-                                strm.msg = 'incorrect header check';
-                                state.mode = BAD;
-                                break;
-                            }
-                            if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {
-                                strm.msg = 'unknown compression method';
-                                state.mode = BAD;
-                                break;
-                            }
-                            //--- DROPBITS(4) ---//
-                            hold >>>= 4;
-                            bits -= 4;
-                            //---//
-                            len = (hold & 0x0f)/*BITS(4)*/ + 8;
-                            if (state.wbits === 0) {
-                                state.wbits = len;
-                            }
-                            else if (len > state.wbits) {
-                                strm.msg = 'invalid window size';
-                                state.mode = BAD;
-                                break;
-                            }
-                            state.dmax = 1 << len;
-                            //Tracev((stderr, "inflate:   zlib header ok\n"));
-                            strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;
-                            state.mode = hold & 0x200 ? DICTID : TYPE;
-                            //=== INITBITS();
-                            hold = 0;
-                            bits = 0;
-                            //===//
-                            break;
-                        case FLAGS:
-                            //=== NEEDBITS(16); */
-                            while (bits < 16) {
-                                if (have === 0) { break inf_leave; }
-                                have--;
-                                hold += input[next++] << bits;
-                                bits += 8;
-                            }
-                            //===//
-                            state.flags = hold;
-                            if ((state.flags & 0xff) !== Z_DEFLATED) {
-                                strm.msg = 'unknown compression method';
-                                state.mode = BAD;
-                                break;
-                            }
-                            if (state.flags & 0xe000) {
-                                strm.msg = 'unknown header flags set';
-                                state.mode = BAD;
-                                break;
-                            }
-                            if (state.head) {
-                                state.head.text = ((hold >> 8) & 1);
-                            }
-                            if (state.flags & 0x0200) {
-                                //=== CRC2(state.check, hold);
-                                hbuf[0] = hold & 0xff;
-                                hbuf[1] = (hold >>> 8) & 0xff;
-                                state.check = crc32(state.check, hbuf, 2, 0);
-                                //===//
-                            }
-                            //=== INITBITS();
-                            hold = 0;
-                            bits = 0;
-                            //===//
-                            state.mode = TIME;
-                        /* falls through */
-                        case TIME:
-                            //=== NEEDBITS(32); */
-                            while (bits < 32) {
-                                if (have === 0) { break inf_leave; }
-                                have--;
-                                hold += input[next++] << bits;
-                                bits += 8;
-                            }
-                            //===//
-                            if (state.head) {
-                                state.head.time = hold;
-                            }
-                            if (state.flags & 0x0200) {
-                                //=== CRC4(state.check, hold)
-                                hbuf[0] = hold & 0xff;
-                                hbuf[1] = (hold >>> 8) & 0xff;
-                                hbuf[2] = (hold >>> 16) & 0xff;
-                                hbuf[3] = (hold >>> 24) & 0xff;
-                                state.check = crc32(state.check, hbuf, 4, 0);
-                                //===
-                            }
-                            //=== INITBITS();
-                            hold = 0;
-                            bits = 0;
-                            //===//
-                            state.mode = OS;
-                        /* falls through */
-                        case OS:
-                            //=== NEEDBITS(16); */
-                            while (bits < 16) {
-                                if (have === 0) { break inf_leave; }
-                                have--;
-                                hold += input[next++] << bits;
-                                bits += 8;
-                            }
-                            //===//
-                            if (state.head) {
-                                state.head.xflags = (hold & 0xff);
-                                state.head.os = (hold >> 8);
-                            }
-                            if (state.flags & 0x0200) {
-                                //=== CRC2(state.check, hold);
-                                hbuf[0] = hold & 0xff;
-                                hbuf[1] = (hold >>> 8) & 0xff;
-                                state.check = crc32(state.check, hbuf, 2, 0);
-                                //===//
-                            }
-                            //=== INITBITS();
-                            hold = 0;
-                            bits = 0;
-                            //===//
-                            state.mode = EXLEN;
-                        /* falls through */
-                        case EXLEN:
-                            if (state.flags & 0x0400) {
-                                //=== NEEDBITS(16); */
-                                while (bits < 16) {
-                                    if (have === 0) { break inf_leave; }
-                                    have--;
-                                    hold += input[next++] << bits;
-                                    bits += 8;
-                                }
-                                //===//
-                                state.length = hold;
-                                if (state.head) {
-                                    state.head.extra_len = hold;
-                                }
-                                if (state.flags & 0x0200) {
-                                    //=== CRC2(state.check, hold);
-                                    hbuf[0] = hold & 0xff;
-                                    hbuf[1] = (hold >>> 8) & 0xff;
-                                    state.check = crc32(state.check, hbuf, 2, 0);
-                                    //===//
-                                }
-                                //=== INITBITS();
-                                hold = 0;
-                                bits = 0;
-                                //===//
-                            }
-                            else if (state.head) {
-                                state.head.extra = null/*Z_NULL*/;
-                            }
-                            state.mode = EXTRA;
-                        /* falls through */
-                        case EXTRA:
-                            if (state.flags & 0x0400) {
-                                copy = state.length;
-                                if (copy > have) { copy = have; }
-                                if (copy) {
-                                    if (state.head) {
-                                        len = state.head.extra_len - state.length;
-                                        if (!state.head.extra) {
-                                            // Use untyped array for more conveniend processing later
-                                            state.head.extra = new Array(state.head.extra_len);
-                                        }
-                                        utils.arraySet(
-                                            state.head.extra,
-                                            input,
-                                            next,
-                                            // extra field is limited to 65536 bytes
-                                            // - no need for additional size check
-                                            copy,
-                                            /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/
-                                            len
-                                        );
-                                        //zmemcpy(state.head.extra + len, next,
-                                        //        len + copy > state.head.extra_max ?
-                                        //        state.head.extra_max - len : copy);
-                                    }
-                                    if (state.flags & 0x0200) {
-                                        state.check = crc32(state.check, input, copy, next);
-                                    }
-                                    have -= copy;
-                                    next += copy;
-                                    state.length -= copy;
-                                }
-                                if (state.length) { break inf_leave; }
-                            }
-                            state.length = 0;
-                            state.mode = NAME;
-                        /* falls through */
-                        case NAME:
-                            if (state.flags & 0x0800) {
-                                if (have === 0) { break inf_leave; }
-                                copy = 0;
-                                do {
-                                    // TODO: 2 or 1 bytes?
-                                    len = input[next + copy++];
-                                    /* use constant limit because in js we should not preallocate memory */
-                                    if (state.head && len &&
-                                        (state.length < 65536 /*state.head.name_max*/)) {
-                                        state.head.name += String.fromCharCode(len);
-                                    }
-                                } while (len && copy < have);
-
-                                if (state.flags & 0x0200) {
-                                    state.check = crc32(state.check, input, copy, next);
-                                }
-                                have -= copy;
-                                next += copy;
-                                if (len) { break inf_leave; }
-                            }
-                            else if (state.head) {
-                                state.head.name = null;
-                            }
-                            state.length = 0;
-                            state.mode = COMMENT;
-                        /* falls through */
-                        case COMMENT:
-                            if (state.flags & 0x1000) {
-                                if (have === 0) { break inf_leave; }
-                                copy = 0;
-                                do {
-                                    len = input[next + copy++];
-                                    /* use constant limit because in js we should not preallocate memory */
-                                    if (state.head && len &&
-                                        (state.length < 65536 /*state.head.comm_max*/)) {
-                                        state.head.comment += String.fromCharCode(len);
-                                    }
-                                } while (len && copy < have);
-                                if (state.flags & 0x0200) {
-                                    state.check = crc32(state.check, input, copy, next);
-                                }
-                                have -= copy;
-                                next += copy;
-                                if (len) { break inf_leave; }
-                            }
-                            else if (state.head) {
-                                state.head.comment = null;
-                            }
-                            state.mode = HCRC;
-                        /* falls through */
-                        case HCRC:
-                            if (state.flags & 0x0200) {
-                                //=== NEEDBITS(16); */
-                                while (bits < 16) {
-                                    if (have === 0) { break inf_leave; }
-                                    have--;
-                                    hold += input[next++] << bits;
-                                    bits += 8;
-                                }
-                                //===//
-                                if (hold !== (state.check & 0xffff)) {
-                                    strm.msg = 'header crc mismatch';
-                                    state.mode = BAD;
-                                    break;
-                                }
-                                //=== INITBITS();
-                                hold = 0;
-                                bits = 0;
-                                //===//
-                            }
-                            if (state.head) {
-                                state.head.hcrc = ((state.flags >> 9) & 1);
-                                state.head.done = true;
-                            }
-                            strm.adler = state.check = 0;
-                            state.mode = TYPE;
-                            break;
-                        case DICTID:
-                            //=== NEEDBITS(32); */
-                            while (bits < 32) {
-                                if (have === 0) { break inf_leave; }
-                                have--;
-                                hold += input[next++] << bits;
-                                bits += 8;
-                            }
-                            //===//
-                            strm.adler = state.check = zswap32(hold);
-                            //=== INITBITS();
-                            hold = 0;
-                            bits = 0;
-                            //===//
-                            state.mode = DICT;
-                        /* falls through */
-                        case DICT:
-                            if (state.havedict === 0) {
-                                //--- RESTORE() ---
-                                strm.next_out = put;
-                                strm.avail_out = left;
-                                strm.next_in = next;
-                                strm.avail_in = have;
-                                state.hold = hold;
-                                state.bits = bits;
-                                //---
-                                return Z_NEED_DICT;
-                            }
-                            strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;
-                            state.mode = TYPE;
-                        /* falls through */
-                        case TYPE:
-                            if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }
-                        /* falls through */
-                        case TYPEDO:
-                            if (state.last) {
-                                //--- BYTEBITS() ---//
-                                hold >>>= bits & 7;
-                                bits -= bits & 7;
-                                //---//
-                                state.mode = CHECK;
-                                break;
-                            }
-                            //=== NEEDBITS(3); */
-                            while (bits < 3) {
-                                if (have === 0) { break inf_leave; }
-                                have--;
-                                hold += input[next++] << bits;
-                                bits += 8;
-                            }
-                            //===//
-                            state.last = (hold & 0x01)/*BITS(1)*/;
-                            //--- DROPBITS(1) ---//
-                            hold >>>= 1;
-                            bits -= 1;
-                            //---//
-
-                            switch ((hold & 0x03)/*BITS(2)*/) {
-                                case 0:                             /* stored block */
-                                    //Tracev((stderr, "inflate:     stored block%s\n",
-                                    //        state.last ? " (last)" : ""));
-                                    state.mode = STORED;
-                                    break;
-                                case 1:                             /* fixed block */
-                                    fixedtables(state);
-                                    //Tracev((stderr, "inflate:     fixed codes block%s\n",
-                                    //        state.last ? " (last)" : ""));
-                                    state.mode = LEN_;             /* decode codes */
-                                    if (flush === Z_TREES) {
-                                        //--- DROPBITS(2) ---//
-                                        hold >>>= 2;
-                                        bits -= 2;
-                                        //---//
-                                        break inf_leave;
-                                    }
-                                    break;
-                                case 2:                             /* dynamic block */
-                                    //Tracev((stderr, "inflate:     dynamic codes block%s\n",
-                                    //        state.last ? " (last)" : ""));
-                                    state.mode = TABLE;
-                                    break;
-                                case 3:
-                                    strm.msg = 'invalid block type';
-                                    state.mode = BAD;
-                            }
-                            //--- DROPBITS(2) ---//
-                            hold >>>= 2;
-                            bits -= 2;
-                            //---//
-                            break;
-                        case STORED:
-                            //--- BYTEBITS() ---// /* go to byte boundary */
-                            hold >>>= bits & 7;
-                            bits -= bits & 7;
-                            //---//
-                            //=== NEEDBITS(32); */
-                            while (bits < 32) {
-                                if (have === 0) { break inf_leave; }
-                                have--;
-                                hold += input[next++] << bits;
-                                bits += 8;
-                            }
-                            //===//
-                            if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {
-                                strm.msg = 'invalid stored block lengths';
-                                state.mode = BAD;
-                                break;
-                            }
-                            state.length = hold & 0xffff;
-                            //Tracev((stderr, "inflate:       stored length %u\n",
-                            //        state.length));
-                            //=== INITBITS();
-                            hold = 0;
-                            bits = 0;
-                            //===//
-                            state.mode = COPY_;
-                            if (flush === Z_TREES) { break inf_leave; }
-                        /* falls through */
-                        case COPY_:
-                            state.mode = COPY;
-                        /* falls through */
-                        case COPY:
-                            copy = state.length;
-                            if (copy) {
-                                if (copy > have) { copy = have; }
-                                if (copy > left) { copy = left; }
-                                if (copy === 0) { break inf_leave; }
-                                //--- zmemcpy(put, next, copy); ---
-                                utils.arraySet(output, input, next, copy, put);
-                                //---//
-                                have -= copy;
-                                next += copy;
-                                left -= copy;
-                                put += copy;
-                                state.length -= copy;
-                                break;
-                            }
-                            //Tracev((stderr, "inflate:       stored end\n"));
-                            state.mode = TYPE;
-                            break;
-                        case TABLE:
-                            //=== NEEDBITS(14); */
-                            while (bits < 14) {
-                                if (have === 0) { break inf_leave; }
-                                have--;
-                                hold += input[next++] << bits;
-                                bits += 8;
-                            }
-                            //===//
-                            state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;
-                            //--- DROPBITS(5) ---//
-                            hold >>>= 5;
-                            bits -= 5;
-                            //---//
-                            state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;
-                            //--- DROPBITS(5) ---//
-                            hold >>>= 5;
-                            bits -= 5;
-                            //---//
-                            state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;
-                            //--- DROPBITS(4) ---//
-                            hold >>>= 4;
-                            bits -= 4;
-                            //---//
-    //#ifndef PKZIP_BUG_WORKAROUND
-                            if (state.nlen > 286 || state.ndist > 30) {
-                                strm.msg = 'too many length or distance symbols';
-                                state.mode = BAD;
-                                break;
-                            }
-    //#endif
-                            //Tracev((stderr, "inflate:       table sizes ok\n"));
-                            state.have = 0;
-                            state.mode = LENLENS;
-                        /* falls through */
-                        case LENLENS:
-                            while (state.have < state.ncode) {
-                                //=== NEEDBITS(3);
-                                while (bits < 3) {
-                                    if (have === 0) { break inf_leave; }
-                                    have--;
-                                    hold += input[next++] << bits;
-                                    bits += 8;
-                                }
-                                //===//
-                                state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);
-                                //--- DROPBITS(3) ---//
-                                hold >>>= 3;
-                                bits -= 3;
-                                //---//
-                            }
-                            while (state.have < 19) {
-                                state.lens[order[state.have++]] = 0;
-                            }
-                            // We have separate tables & no pointers. 2 commented lines below not needed.
-                            //state.next = state.codes;
-                            //state.lencode = state.next;
-                            // Switch to use dynamic table
-                            state.lencode = state.lendyn;
-                            state.lenbits = 7;
-
-                            opts = { bits: state.lenbits };
-                            ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);
-                            state.lenbits = opts.bits;
-
-                            if (ret) {
-                                strm.msg = 'invalid code lengths set';
-                                state.mode = BAD;
-                                break;
-                            }
-                            //Tracev((stderr, "inflate:       code lengths ok\n"));
-                            state.have = 0;
-                            state.mode = CODELENS;
-                        /* falls through */
-                        case CODELENS:
-                            while (state.have < state.nlen + state.ndist) {
-                                for (;;) {
-                                    here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/
-                                    here_bits = here >>> 24;
-                                    here_op = (here >>> 16) & 0xff;
-                                    here_val = here & 0xffff;
-
-                                    if ((here_bits) <= bits) { break; }
-                                    //--- PULLBYTE() ---//
-                                    if (have === 0) { break inf_leave; }
-                                    have--;
-                                    hold += input[next++] << bits;
-                                    bits += 8;
-                                    //---//
-                                }
-                                if (here_val < 16) {
-                                    //--- DROPBITS(here.bits) ---//
-                                    hold >>>= here_bits;
-                                    bits -= here_bits;
-                                    //---//
-                                    state.lens[state.have++] = here_val;
-                                }
-                                else {
-                                    if (here_val === 16) {
-                                        //=== NEEDBITS(here.bits + 2);
-                                        n = here_bits + 2;
-                                        while (bits < n) {
-                                            if (have === 0) { break inf_leave; }
-                                            have--;
-                                            hold += input[next++] << bits;
-                                            bits += 8;
-                                        }
-                                        //===//
-                                        //--- DROPBITS(here.bits) ---//
-                                        hold >>>= here_bits;
-                                        bits -= here_bits;
-                                        //---//
-                                        if (state.have === 0) {
-                                            strm.msg = 'invalid bit length repeat';
-                                            state.mode = BAD;
-                                            break;
-                                        }
-                                        len = state.lens[state.have - 1];
-                                        copy = 3 + (hold & 0x03);//BITS(2);
-                                        //--- DROPBITS(2) ---//
-                                        hold >>>= 2;
-                                        bits -= 2;
-                                        //---//
-                                    }
-                                    else if (here_val === 17) {
-                                        //=== NEEDBITS(here.bits + 3);
-                                        n = here_bits + 3;
-                                        while (bits < n) {
-                                            if (have === 0) { break inf_leave; }
-                                            have--;
-                                            hold += input[next++] << bits;
-                                            bits += 8;
-                                        }
-                                        //===//
-                                        //--- DROPBITS(here.bits) ---//
-                                        hold >>>= here_bits;
-                                        bits -= here_bits;
-                                        //---//
-                                        len = 0;
-                                        copy = 3 + (hold & 0x07);//BITS(3);
-                                        //--- DROPBITS(3) ---//
-                                        hold >>>= 3;
-                                        bits -= 3;
-                                        //---//
-                                    }
-                                    else {
-                                        //=== NEEDBITS(here.bits + 7);
-                                        n = here_bits + 7;
-                                        while (bits < n) {
-                                            if (have === 0) { break inf_leave; }
-                                            have--;
-                                            hold += input[next++] << bits;
-                                            bits += 8;
-                                        }
-                                        //===//
-                                        //--- DROPBITS(here.bits) ---//
-                                        hold >>>= here_bits;
-                                        bits -= here_bits;
-                                        //---//
-                                        len = 0;
-                                        copy = 11 + (hold & 0x7f);//BITS(7);
-                                        //--- DROPBITS(7) ---//
-                                        hold >>>= 7;
-                                        bits -= 7;
-                                        //---//
-                                    }
-                                    if (state.have + copy > state.nlen + state.ndist) {
-                                        strm.msg = 'invalid bit length repeat';
-                                        state.mode = BAD;
-                                        break;
-                                    }
-                                    while (copy--) {
-                                        state.lens[state.have++] = len;
-                                    }
-                                }
-                            }
-
-                            /* handle error breaks in while */
-                            if (state.mode === BAD) { break; }
-
-                            /* check for end-of-block code (better have one) */
-                            if (state.lens[256] === 0) {
-                                strm.msg = 'invalid code -- missing end-of-block';
-                                state.mode = BAD;
-                                break;
-                            }
-
-                            /* build code tables -- note: do not change the lenbits or distbits
-                             values here (9 and 6) without reading the comments in inftrees.h
-                             concerning the ENOUGH constants, which depend on those values */
-                            state.lenbits = 9;
-
-                            opts = { bits: state.lenbits };
-                            ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);
-                            // We have separate tables & no pointers. 2 commented lines below not needed.
-                            // state.next_index = opts.table_index;
-                            state.lenbits = opts.bits;
-                            // state.lencode = state.next;
-
-                            if (ret) {
-                                strm.msg = 'invalid literal/lengths set';
-                                state.mode = BAD;
-                                break;
-                            }
-
-                            state.distbits = 6;
-                            //state.distcode.copy(state.codes);
-                            // Switch to use dynamic table
-                            state.distcode = state.distdyn;
-                            opts = { bits: state.distbits };
-                            ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);
-                            // We have separate tables & no pointers. 2 commented lines below not needed.
-                            // state.next_index = opts.table_index;
-                            state.distbits = opts.bits;
-                            // state.distcode = state.next;
-
-                            if (ret) {
-                                strm.msg = 'invalid distances set';
-                                state.mode = BAD;
-                                break;
-                            }
-                            //Tracev((stderr, 'inflate:       codes ok\n'));
-                            state.mode = LEN_;
-                            if (flush === Z_TREES) { break inf_leave; }
-                        /* falls through */
-                        case LEN_:
-                            state.mode = LEN;
-                        /* falls through */
-                        case LEN:
-                            if (have >= 6 && left >= 258) {
-                                //--- RESTORE() ---
-                                strm.next_out = put;
-                                strm.avail_out = left;
-                                strm.next_in = next;
-                                strm.avail_in = have;
-                                state.hold = hold;
-                                state.bits = bits;
-                                //---
-                                inflate_fast(strm, _out);
-                                //--- LOAD() ---
-                                put = strm.next_out;
-                                output = strm.output;
-                                left = strm.avail_out;
-                                next = strm.next_in;
-                                input = strm.input;
-                                have = strm.avail_in;
-                                hold = state.hold;
-                                bits = state.bits;
-                                //---
-
-                                if (state.mode === TYPE) {
-                                    state.back = -1;
-                                }
-                                break;
-                            }
-                            state.back = 0;
-                            for (;;) {
-                                here = state.lencode[hold & ((1 << state.lenbits) - 1)];  /*BITS(state.lenbits)*/
-                                here_bits = here >>> 24;
-                                here_op = (here >>> 16) & 0xff;
-                                here_val = here & 0xffff;
-
-                                if (here_bits <= bits) { break; }
-                                //--- PULLBYTE() ---//
-                                if (have === 0) { break inf_leave; }
-                                have--;
-                                hold += input[next++] << bits;
-                                bits += 8;
-                                //---//
-                            }
-                            if (here_op && (here_op & 0xf0) === 0) {
-                                last_bits = here_bits;
-                                last_op = here_op;
-                                last_val = here_val;
-                                for (;;) {
-                                    here = state.lencode[last_val +
-                                                         ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];
-                                    here_bits = here >>> 24;
-                                    here_op = (here >>> 16) & 0xff;
-                                    here_val = here & 0xffff;
-
-                                    if ((last_bits + here_bits) <= bits) { break; }
-                                    //--- PULLBYTE() ---//
-                                    if (have === 0) { break inf_leave; }
-                                    have--;
-                                    hold += input[next++] << bits;
-                                    bits += 8;
-                                    //---//
-                                }
-                                //--- DROPBITS(last.bits) ---//
-                                hold >>>= last_bits;
-                                bits -= last_bits;
-                                //---//
-                                state.back += last_bits;
-                            }
-                            //--- DROPBITS(here.bits) ---//
-                            hold >>>= here_bits;
-                            bits -= here_bits;
-                            //---//
-                            state.back += here_bits;
-                            state.length = here_val;
-                            if (here_op === 0) {
-                                //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
-                                //        "inflate:         literal '%c'\n" :
-                                //        "inflate:         literal 0x%02x\n", here.val));
-                                state.mode = LIT;
-                                break;
-                            }
-                            if (here_op & 32) {
-                                //Tracevv((stderr, "inflate:         end of block\n"));
-                                state.back = -1;
-                                state.mode = TYPE;
-                                break;
-                            }
-                            if (here_op & 64) {
-                                strm.msg = 'invalid literal/length code';
-                                state.mode = BAD;
-                                break;
-                            }
-                            state.extra = here_op & 15;
-                            state.mode = LENEXT;
-                        /* falls through */
-                        case LENEXT:
-                            if (state.extra) {
-                                //=== NEEDBITS(state.extra);
-                                n = state.extra;
-                                while (bits < n) {
-                                    if (have === 0) { break inf_leave; }
-                                    have--;
-                                    hold += input[next++] << bits;
-                                    bits += 8;
-                                }
-                                //===//
-                                state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;
-                                //--- DROPBITS(state.extra) ---//
-                                hold >>>= state.extra;
-                                bits -= state.extra;
-                                //---//
-                                state.back += state.extra;
-                            }
-                            //Tracevv((stderr, "inflate:         length %u\n", state.length));
-                            state.was = state.length;
-                            state.mode = DIST;
-                        /* falls through */
-                        case DIST:
-                            for (;;) {
-                                here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/
-                                here_bits = here >>> 24;
-                                here_op = (here >>> 16) & 0xff;
-                                here_val = here & 0xffff;
-
-                                if ((here_bits) <= bits) { break; }
-                                //--- PULLBYTE() ---//
-                                if (have === 0) { break inf_leave; }
-                                have--;
-                                hold += input[next++] << bits;
-                                bits += 8;
-                                //---//
-                            }
-                            if ((here_op & 0xf0) === 0) {
-                                last_bits = here_bits;
-                                last_op = here_op;
-                                last_val = here_val;
-                                for (;;) {
-                                    here = state.distcode[last_val +
-                                                          ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];
-                                    here_bits = here >>> 24;
-                                    here_op = (here >>> 16) & 0xff;
-                                    here_val = here & 0xffff;
-
-                                    if ((last_bits + here_bits) <= bits) { break; }
-                                    //--- PULLBYTE() ---//
-                                    if (have === 0) { break inf_leave; }
-                                    have--;
-                                    hold += input[next++] << bits;
-                                    bits += 8;
-                                    //---//
-                                }
-                                //--- DROPBITS(last.bits) ---//
-                                hold >>>= last_bits;
-                                bits -= last_bits;
-                                //---//
-                                state.back += last_bits;
-                            }
-                            //--- DROPBITS(here.bits) ---//
-                            hold >>>= here_bits;
-                            bits -= here_bits;
-                            //---//
-                            state.back += here_bits;
-                            if (here_op & 64) {
-                                strm.msg = 'invalid distance code';
-                                state.mode = BAD;
-                                break;
-                            }
-                            state.offset = here_val;
-                            state.extra = (here_op) & 15;
-                            state.mode = DISTEXT;
-                        /* falls through */
-                        case DISTEXT:
-                            if (state.extra) {
-                                //=== NEEDBITS(state.extra);
-                                n = state.extra;
-                                while (bits < n) {
-                                    if (have === 0) { break inf_leave; }
-                                    have--;
-                                    hold += input[next++] << bits;
-                                    bits += 8;
-                                }
-                                //===//
-                                state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;
-                                //--- DROPBITS(state.extra) ---//
-                                hold >>>= state.extra;
-                                bits -= state.extra;
-                                //---//
-                                state.back += state.extra;
-                            }
-    //#ifdef INFLATE_STRICT
-                            if (state.offset > state.dmax) {
-                                strm.msg = 'invalid distance too far back';
-                                state.mode = BAD;
-                                break;
-                            }
-    //#endif
-                            //Tracevv((stderr, "inflate:         distance %u\n", state.offset));
-                            state.mode = MATCH;
-                        /* falls through */
-                        case MATCH:
-                            if (left === 0) { break inf_leave; }
-                            copy = _out - left;
-                            if (state.offset > copy) {         /* copy from window */
-                                copy = state.offset - copy;
-                                if (copy > state.whave) {
-                                    if (state.sane) {
-                                        strm.msg = 'invalid distance too far back';
-                                        state.mode = BAD;
-                                        break;
-                                    }
-    // (!) This block is disabled in zlib defailts,
-    // don't enable it for binary compatibility
-    //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
-    //          Trace((stderr, "inflate.c too far\n"));
-    //          copy -= state.whave;
-    //          if (copy > state.length) { copy = state.length; }
-    //          if (copy > left) { copy = left; }
-    //          left -= copy;
-    //          state.length -= copy;
-    //          do {
-    //            output[put++] = 0;
-    //          } while (--copy);
-    //          if (state.length === 0) { state.mode = LEN; }
-    //          break;
-    //#endif
-                                }
-                                if (copy > state.wnext) {
-                                    copy -= state.wnext;
-                                    from = state.wsize - copy;
-                                }
-                                else {
-                                    from = state.wnext - copy;
-                                }
-                                if (copy > state.length) { copy = state.length; }
-                                from_source = state.window;
-                            }
-                            else {                              /* copy from output */
-                                from_source = output;
-                                from = put - state.offset;
-                                copy = state.length;
-                            }
-                            if (copy > left) { copy = left; }
-                            left -= copy;
-                            state.length -= copy;
-                            do {
-                                output[put++] = from_source[from++];
-                            } while (--copy);
-                            if (state.length === 0) { state.mode = LEN; }
-                            break;
-                        case LIT:
-                            if (left === 0) { break inf_leave; }
-                            output[put++] = state.length;
-                            left--;
-                            state.mode = LEN;
-                            break;
-                        case CHECK:
-                            if (state.wrap) {
-                                //=== NEEDBITS(32);
-                                while (bits < 32) {
-                                    if (have === 0) { break inf_leave; }
-                                    have--;
-                                    // Use '|' insdead of '+' to make sure that result is signed
-                                    hold |= input[next++] << bits;
-                                    bits += 8;
-                                }
-                                //===//
-                                _out -= left;
-                                strm.total_out += _out;
-                                state.total += _out;
-                                if (_out) {
-                                    strm.adler = state.check =
-                                        /*UPDATE(state.check, put - _out, _out);*/
-                                        (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));
-
-                                }
-                                _out = left;
-                                // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too
-                                if ((state.flags ? hold : zswap32(hold)) !== state.check) {
-                                    strm.msg = 'incorrect data check';
-                                    state.mode = BAD;
-                                    break;
-                                }
-                                //=== INITBITS();
-                                hold = 0;
-                                bits = 0;
-                                //===//
-                                //Tracev((stderr, "inflate:   check matches trailer\n"));
-                            }
-                            state.mode = LENGTH;
-                        /* falls through */
-                        case LENGTH:
-                            if (state.wrap && state.flags) {
-                                //=== NEEDBITS(32);
-                                while (bits < 32) {
-                                    if (have === 0) { break inf_leave; }
-                                    have--;
-                                    hold += input[next++] << bits;
-                                    bits += 8;
-                                }
-                                //===//
-                                if (hold !== (state.total & 0xffffffff)) {
-                                    strm.msg = 'incorrect length check';
-                                    state.mode = BAD;
-                                    break;
-                                }
-                                //=== INITBITS();
-                                hold = 0;
-                                bits = 0;
-                                //===//
-                                //Tracev((stderr, "inflate:   length matches trailer\n"));
-                            }
-                            state.mode = DONE;
-                        /* falls through */
-                        case DONE:
-                            ret = Z_STREAM_END;
-                            break inf_leave;
-                        case BAD:
-                            ret = Z_DATA_ERROR;
-                            break inf_leave;
-                        case MEM:
-                            return Z_MEM_ERROR;
-                        case SYNC:
-                        /* falls through */
-                        default:
-                            return Z_STREAM_ERROR;
-                    }
-                }
-
-            // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave"
-
-            /*
-             Return from inflate(), updating the total counts and the check value.
-             If there was no progress during the inflate() call, return a buffer
-             error.  Call updatewindow() to create and/or update the window state.
-             Note: a memory error from inflate() is non-recoverable.
-             */
-
-            //--- RESTORE() ---
-            strm.next_out = put;
-            strm.avail_out = left;
-            strm.next_in = next;
-            strm.avail_in = have;
-            state.hold = hold;
-            state.bits = bits;
-            //---
-
-            if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&
-                                (state.mode < CHECK || flush !== Z_FINISH))) {
-                if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) ;
-            }
-            _in -= strm.avail_in;
-            _out -= strm.avail_out;
-            strm.total_in += _in;
-            strm.total_out += _out;
-            state.total += _out;
-            if (state.wrap && _out) {
-                strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/
-                    (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));
-            }
-            strm.data_type = state.bits + (state.last ? 64 : 0) +
-                             (state.mode === TYPE ? 128 : 0) +
-                             (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);
-            if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {
-                ret = Z_BUF_ERROR;
-            }
-            return ret;
-        }
-
-        function inflateEnd(strm) {
-
-            if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {
-                return Z_STREAM_ERROR;
-            }
-
-            var state = strm.state;
-            if (state.window) {
-                state.window = null;
-            }
-            strm.state = null;
-            return Z_OK;
-        }
-
-        function inflateGetHeader(strm, head) {
-            var state;
-
-            /* check state */
-            if (!strm || !strm.state) { return Z_STREAM_ERROR; }
-            state = strm.state;
-            if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }
-
-            /* save header structure */
-            state.head = head;
-            head.done = false;
-            return Z_OK;
-        }
-
-        function inflateSetDictionary(strm, dictionary) {
-            var dictLength = dictionary.length;
-
-            var state;
-            var dictid;
-            var ret;
-
-            /* check state */
-            if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }
-            state = strm.state;
-
-            if (state.wrap !== 0 && state.mode !== DICT) {
-                return Z_STREAM_ERROR;
-            }
-
-            /* check for correct dictionary identifier */
-            if (state.mode === DICT) {
-                dictid = 1; /* adler32(0, null, 0)*/
-                /* dictid = adler32(dictid, dictionary, dictLength); */
-                dictid = adler32(dictid, dictionary, dictLength, 0);
-                if (dictid !== state.check) {
-                    return Z_DATA_ERROR;
-                }
-            }
-            /* copy dictionary to window using updatewindow(), which will amend the
-             existing dictionary if appropriate */
-            ret = updatewindow(strm, dictionary, dictLength, dictLength);
-            if (ret) {
-                state.mode = MEM;
-                return Z_MEM_ERROR;
-            }
-            state.havedict = 1;
-            // Tracev((stderr, "inflate:   dictionary set\n"));
-            return Z_OK;
-        }
-
-        exports.inflateReset = inflateReset;
-        exports.inflateReset2 = inflateReset2;
-        exports.inflateResetKeep = inflateResetKeep;
-        exports.inflateInit = inflateInit;
-        exports.inflateInit2 = inflateInit2;
-        exports.inflate = inflate;
-        exports.inflateEnd = inflateEnd;
-        exports.inflateGetHeader = inflateGetHeader;
-        exports.inflateSetDictionary = inflateSetDictionary;
-        exports.inflateInfo = 'pako inflate (from Nodeca project)';
-
-        /* Not implemented
-         exports.inflateCopy = inflateCopy;
-         exports.inflateGetDictionary = inflateGetDictionary;
-         exports.inflateMark = inflateMark;
-         exports.inflatePrime = inflatePrime;
-         exports.inflateSync = inflateSync;
-         exports.inflateSyncPoint = inflateSyncPoint;
-         exports.inflateUndermine = inflateUndermine;
-         */
-
-    },{"../utils/common":1,"./adler32":3,"./crc32":5,"./inffast":7,"./inftrees":9}],9:[function(require,module,exports){
-
-
-        var utils = require('../utils/common');
-
-        var MAXBITS = 15;
-        var ENOUGH_LENS = 852;
-        var ENOUGH_DISTS = 592;
-    //var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);
-
-        var CODES = 0;
-        var LENS = 1;
-        var DISTS = 2;
-
-        var lbase = [ /* Length codes 257..285 base */
-            3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
-            35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0
-        ];
-
-        var lext = [ /* Length codes 257..285 extra */
-            16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
-            19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78
-        ];
-
-        var dbase = [ /* Distance codes 0..29 base */
-            1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
-            257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
-            8193, 12289, 16385, 24577, 0, 0
-        ];
-
-        var dext = [ /* Distance codes 0..29 extra */
-            16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,
-            23, 23, 24, 24, 25, 25, 26, 26, 27, 27,
-            28, 28, 29, 29, 64, 64
-        ];
-
-        module.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)
-        {
-            var bits = opts.bits;
-            //here = opts.here; /* table entry for duplication */
-
-            var len = 0;               /* a code's length in bits */
-            var sym = 0;               /* index of code symbols */
-            var min = 0, max = 0;          /* minimum and maximum code lengths */
-            var root = 0;              /* number of index bits for root table */
-            var curr = 0;              /* number of index bits for current table */
-            var drop = 0;              /* code bits to drop for sub-table */
-            var left = 0;                   /* number of prefix codes available */
-            var used = 0;              /* code entries in table used */
-            var huff = 0;              /* Huffman code */
-            var incr;              /* for incrementing code, index */
-            var fill;              /* index for replicating entries */
-            var low;               /* low bits for current root entry */
-            var mask;              /* mask for low root bits */
-            var next;             /* next available space in table */
-            var base = null;     /* base value table to use */
-            var base_index = 0;
-    //  var shoextra;    /* extra bits table to use */
-            var end;                    /* use base and extra for symbol > end */
-            var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1];    /* number of codes of each length */
-            var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1];     /* offsets in table for each length */
-            var extra = null;
-            var extra_index = 0;
-
-            var here_bits, here_op, here_val;
-
-            /*
-             Process a set of code lengths to create a canonical Huffman code.  The
-             code lengths are lens[0..codes-1].  Each length corresponds to the
-             symbols 0..codes-1.  The Huffman code is generated by first sorting the
-             symbols by length from short to long, and retaining the symbol order
-             for codes with equal lengths.  Then the code starts with all zero bits
-             for the first code of the shortest length, and the codes are integer
-             increments for the same length, and zeros are appended as the length
-             increases.  For the deflate format, these bits are stored backwards
-             from their more natural integer increment ordering, and so when the
-             decoding tables are built in the large loop below, the integer codes
-             are incremented backwards.
-
-             This routine assumes, but does not check, that all of the entries in
-             lens[] are in the range 0..MAXBITS.  The caller must assure this.
-             1..MAXBITS is interpreted as that code length.  zero means that that
-             symbol does not occur in this code.
-
-             The codes are sorted by computing a count of codes for each length,
-             creating from that a table of starting indices for each length in the
-             sorted table, and then entering the symbols in order in the sorted
-             table.  The sorted table is work[], with that space being provided by
-             the caller.
-
-             The length counts are used for other purposes as well, i.e. finding
-             the minimum and maximum length codes, determining if there are any
-             codes at all, checking for a valid set of lengths, and looking ahead
-             at length counts to determine sub-table sizes when building the
-             decoding tables.
-             */
-
-            /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
-            for (len = 0; len <= MAXBITS; len++) {
-                count[len] = 0;
-            }
-            for (sym = 0; sym < codes; sym++) {
-                count[lens[lens_index + sym]]++;
-            }
-
-            /* bound code lengths, force root to be within code lengths */
-            root = bits;
-            for (max = MAXBITS; max >= 1; max--) {
-                if (count[max] !== 0) { break; }
-            }
-            if (root > max) {
-                root = max;
-            }
-            if (max === 0) {                     /* no symbols to code at all */
-                //table.op[opts.table_index] = 64;  //here.op = (var char)64;    /* invalid code marker */
-                //table.bits[opts.table_index] = 1;   //here.bits = (var char)1;
-                //table.val[opts.table_index++] = 0;   //here.val = (var short)0;
-                table[table_index++] = (1 << 24) | (64 << 16) | 0;
-
-
-                //table.op[opts.table_index] = 64;
-                //table.bits[opts.table_index] = 1;
-                //table.val[opts.table_index++] = 0;
-                table[table_index++] = (1 << 24) | (64 << 16) | 0;
-
-                opts.bits = 1;
-                return 0;     /* no symbols, but wait for decoding to report error */
-            }
-            for (min = 1; min < max; min++) {
-                if (count[min] !== 0) { break; }
-            }
-            if (root < min) {
-                root = min;
-            }
-
-            /* check for an over-subscribed or incomplete set of lengths */
-            left = 1;
-            for (len = 1; len <= MAXBITS; len++) {
-                left <<= 1;
-                left -= count[len];
-                if (left < 0) {
-                    return -1;
-                }        /* over-subscribed */
-            }
-            if (left > 0 && (type === CODES || max !== 1)) {
-                return -1;                      /* incomplete set */
-            }
-
-            /* generate offsets into symbol table for each length for sorting */
-            offs[1] = 0;
-            for (len = 1; len < MAXBITS; len++) {
-                offs[len + 1] = offs[len] + count[len];
-            }
-
-            /* sort symbols by length, by symbol order within each length */
-            for (sym = 0; sym < codes; sym++) {
-                if (lens[lens_index + sym] !== 0) {
-                    work[offs[lens[lens_index + sym]]++] = sym;
-                }
-            }
-
-            /*
-             Create and fill in decoding tables.  In this loop, the table being
-             filled is at next and has curr index bits.  The code being used is huff
-             with length len.  That code is converted to an index by dropping drop
-             bits off of the bottom.  For codes where len is less than drop + curr,
-             those top drop + curr - len bits are incremented through all values to
-             fill the table with replicated entries.
-
-             root is the number of index bits for the root table.  When len exceeds
-             root, sub-tables are created pointed to by the root entry with an index
-             of the low root bits of huff.  This is saved in low to check for when a
-             new sub-table should be started.  drop is zero when the root table is
-             being filled, and drop is root when sub-tables are being filled.
-
-             When a new sub-table is needed, it is necessary to look ahead in the
-             code lengths to determine what size sub-table is needed.  The length
-             counts are used for this, and so count[] is decremented as codes are
-             entered in the tables.
-
-             used keeps track of how many table entries have been allocated from the
-             provided *table space.  It is checked for LENS and DIST tables against
-             the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
-             the initial root table size constants.  See the comments in inftrees.h
-             for more information.
-
-             sym increments through all symbols, and the loop terminates when
-             all codes of length max, i.e. all codes, have been processed.  This
-             routine permits incomplete codes, so another loop after this one fills
-             in the rest of the decoding tables with invalid code markers.
-             */
-
-            /* set up for code type */
-            // poor man optimization - use if-else instead of switch,
-            // to avoid deopts in old v8
-            if (type === CODES) {
-                base = extra = work;    /* dummy value--not used */
-                end = 19;
-
-            } else if (type === LENS) {
-                base = lbase;
-                base_index -= 257;
-                extra = lext;
-                extra_index -= 257;
-                end = 256;
-
-            } else {                    /* DISTS */
-                base = dbase;
-                extra = dext;
-                end = -1;
-            }
-
-            /* initialize opts for loop */
-            huff = 0;                   /* starting code */
-            sym = 0;                    /* starting code symbol */
-            len = min;                  /* starting code length */
-            next = table_index;              /* current table to fill in */
-            curr = root;                /* current table index bits */
-            drop = 0;                   /* current bits to drop from code for index */
-            low = -1;                   /* trigger new sub-table when len > root */
-            used = 1 << root;          /* use root table entries */
-            mask = used - 1;            /* mask for comparing low */
-
-            /* check available table space */
-            if ((type === LENS && used > ENOUGH_LENS) ||
-                (type === DISTS && used > ENOUGH_DISTS)) {
-                return 1;
-            }
-
-            /* process all codes and make table entries */
-            for (;;) {
-                /* create table entry */
-                here_bits = len - drop;
-                if (work[sym] < end) {
-                    here_op = 0;
-                    here_val = work[sym];
-                }
-                else if (work[sym] > end) {
-                    here_op = extra[extra_index + work[sym]];
-                    here_val = base[base_index + work[sym]];
-                }
-                else {
-                    here_op = 32 + 64;         /* end of block */
-                    here_val = 0;
-                }
-
-                /* replicate for those indices with low len bits equal to huff */
-                incr = 1 << (len - drop);
-                fill = 1 << curr;
-                min = fill;                 /* save offset to next table */
-                do {
-                    fill -= incr;
-                    table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;
-                } while (fill !== 0);
-
-                /* backwards increment the len-bit code huff */
-                incr = 1 << (len - 1);
-                while (huff & incr) {
-                    incr >>= 1;
-                }
-                if (incr !== 0) {
-                    huff &= incr - 1;
-                    huff += incr;
-                } else {
-                    huff = 0;
-                }
-
-                /* go to next symbol, update count, len */
-                sym++;
-                if (--count[len] === 0) {
-                    if (len === max) { break; }
-                    len = lens[lens_index + work[sym]];
-                }
-
-                /* create new sub-table if needed */
-                if (len > root && (huff & mask) !== low) {
-                    /* if first time, transition to sub-tables */
-                    if (drop === 0) {
-                        drop = root;
-                    }
-
-                    /* increment past last table */
-                    next += min;            /* here min is 1 << curr */
-
-                    /* determine length of next table */
-                    curr = len - drop;
-                    left = 1 << curr;
-                    while (curr + drop < max) {
-                        left -= count[curr + drop];
-                        if (left <= 0) { break; }
-                        curr++;
-                        left <<= 1;
-                    }
-
-                    /* check for enough space */
-                    used += 1 << curr;
-                    if ((type === LENS && used > ENOUGH_LENS) ||
-                        (type === DISTS && used > ENOUGH_DISTS)) {
-                        return 1;
-                    }
-
-                    /* point entry in root table to sub-table */
-                    low = huff & mask;
-                    /*table.op[low] = curr;
-                     table.bits[low] = root;
-                     table.val[low] = next - opts.table_index;*/
-                    table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;
-                }
-            }
-
-            /* fill in remaining table entry if code is incomplete (guaranteed to have
-             at most one remaining entry, since if the code is incomplete, the
-             maximum code length that was allowed to get this far is one bit) */
-            if (huff !== 0) {
-                //table.op[next + huff] = 64;            /* invalid code marker */
-                //table.bits[next + huff] = len - drop;
-                //table.val[next + huff] = 0;
-                table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;
-            }
-
-            /* set return parameters */
-            //opts.table_index += used;
-            opts.bits = root;
-            return 0;
-        };
-
-    },{"../utils/common":1}],10:[function(require,module,exports){
-
-        module.exports = {
-            2:      'need dictionary',     /* Z_NEED_DICT       2  */
-            1:      'stream end',          /* Z_STREAM_END      1  */
-            0:      '',                    /* Z_OK              0  */
-            '-1':   'file error',          /* Z_ERRNO         (-1) */
-            '-2':   'stream error',        /* Z_STREAM_ERROR  (-2) */
-            '-3':   'data error',          /* Z_DATA_ERROR    (-3) */
-            '-4':   'insufficient memory', /* Z_MEM_ERROR     (-4) */
-            '-5':   'buffer error',        /* Z_BUF_ERROR     (-5) */
-            '-6':   'incompatible version' /* Z_VERSION_ERROR (-6) */
-        };
-
-    },{}],11:[function(require,module,exports){
-
-
-        function ZStream() {
-            /* next input byte */
-            this.input = null; // JS specific, because we have no pointers
-            this.next_in = 0;
-            /* number of bytes available at input */
-            this.avail_in = 0;
-            /* total number of input bytes read so far */
-            this.total_in = 0;
-            /* next output byte should be put there */
-            this.output = null; // JS specific, because we have no pointers
-            this.next_out = 0;
-            /* remaining free space at output */
-            this.avail_out = 0;
-            /* total number of bytes output so far */
-            this.total_out = 0;
-            /* last error message, NULL if no error */
-            this.msg = ''/*Z_NULL*/;
-            /* not visible by applications */
-            this.state = null;
-            /* best guess about the data type: binary or text */
-            this.data_type = 2/*Z_UNKNOWN*/;
-            /* adler32 value of the uncompressed data */
-            this.adler = 0;
-        }
-
-        module.exports = ZStream;
-
-    },{}],"/lib/inflate.js":[function(require,module,exports){
-
-
-        var zlib_inflate = require('./zlib/inflate');
-        var utils        = require('./utils/common');
-        var strings      = require('./utils/strings');
-        var c            = require('./zlib/constants');
-        var msg          = require('./zlib/messages');
-        var ZStream      = require('./zlib/zstream');
-        var GZheader     = require('./zlib/gzheader');
-
-        var toString = Object.prototype.toString;
-
-        /**
-         * class Inflate
-         *
-         * Generic JS-style wrapper for zlib calls. If you don't need
-         * streaming behaviour - use more simple functions: [[inflate]]
-         * and [[inflateRaw]].
-         **/
-
-        /* internal
-         * inflate.chunks -> Array
-         *
-         * Chunks of output data, if [[Inflate#onData]] not overriden.
-         **/
-
-        /**
-         * Inflate.result -> Uint8Array|Array|String
-         *
-         * Uncompressed result, generated by default [[Inflate#onData]]
-         * and [[Inflate#onEnd]] handlers. Filled after you push last chunk
-         * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you
-         * push a chunk with explicit flush (call [[Inflate#push]] with
-         * `Z_SYNC_FLUSH` param).
-         **/
-
-        /**
-         * Inflate.err -> Number
-         *
-         * Error code after inflate finished. 0 (Z_OK) on success.
-         * Should be checked if broken data possible.
-         **/
-
-        /**
-         * Inflate.msg -> String
-         *
-         * Error message, if [[Inflate.err]] != 0
-         **/
-
-
-        /**
-         * new Inflate(options)
-         * - options (Object): zlib inflate options.
-         *
-         * Creates new inflator instance with specified params. Throws exception
-         * on bad params. Supported options:
-         *
-         * - `windowBits`
-         * - `dictionary`
-         *
-         * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)
-         * for more information on these.
-         *
-         * Additional options, for internal needs:
-         *
-         * - `chunkSize` - size of generated data chunks (16K by default)
-         * - `raw` (Boolean) - do raw inflate
-         * - `to` (String) - if equal to 'string', then result will be converted
-         *   from utf8 to utf16 (javascript) string. When string output requested,
-         *   chunk length can differ from `chunkSize`, depending on content.
-         *
-         * By default, when no options set, autodetect deflate/gzip data format via
-         * wrapper header.
-         *
-         * ##### Example:
-         *
-         * ```javascript
-         * var pako = require('pako')
-         *   , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])
-         *   , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);
-         *
-         * var inflate = new pako.Inflate({ level: 3});
-         *
-         * inflate.push(chunk1, false);
-         * inflate.push(chunk2, true);  // true -> last chunk
-         *
-         * if (inflate.err) { throw new Error(inflate.err); }
-         *
-         * console.log(inflate.result);
-         * ```
-         **/
-        function Inflate(options) {
-            if (!(this instanceof Inflate)) return new Inflate(options);
-
-            this.options = utils.assign({
-                chunkSize: 16384,
-                windowBits: 0,
-                to: ''
-            }, options || {});
-
-            var opt = this.options;
-
-            // Force window size for `raw` data, if not set directly,
-            // because we have no header for autodetect.
-            if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {
-                opt.windowBits = -opt.windowBits;
-                if (opt.windowBits === 0) { opt.windowBits = -15; }
-            }
-
-            // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate
-            if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&
-                !(options && options.windowBits)) {
-                opt.windowBits += 32;
-            }
-
-            // Gzip header has no info about windows size, we can do autodetect only
-            // for deflate. So, if window size not set, force it to max when gzip possible
-            if ((opt.windowBits > 15) && (opt.windowBits < 48)) {
-                // bit 3 (16) -> gzipped data
-                // bit 4 (32) -> autodetect gzip/deflate
-                if ((opt.windowBits & 15) === 0) {
-                    opt.windowBits |= 15;
-                }
-            }
-
-            this.err    = 0;      // error code, if happens (0 = Z_OK)
-            this.msg    = '';     // error message
-            this.ended  = false;  // used to avoid multiple onEnd() calls
-            this.chunks = [];     // chunks of compressed data
-
-            this.strm   = new ZStream();
-            this.strm.avail_out = 0;
-
-            var status  = zlib_inflate.inflateInit2(
-                this.strm,
-                opt.windowBits
-            );
-
-            if (status !== c.Z_OK) {
-                throw new Error(msg[status]);
-            }
-
-            this.header = new GZheader();
-
-            zlib_inflate.inflateGetHeader(this.strm, this.header);
-        }
-
-        /**
-         * Inflate#push(data[, mode]) -> Boolean
-         * - data (Uint8Array|Array|ArrayBuffer|String): input data
-         * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.
-         *   See constants. Skipped or `false` means Z_NO_FLUSH, `true` meansh Z_FINISH.
-         *
-         * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with
-         * new output chunks. Returns `true` on success. The last data block must have
-         * mode Z_FINISH (or `true`). That will flush internal pending buffers and call
-         * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you
-         * can use mode Z_SYNC_FLUSH, keeping the decompression context.
-         *
-         * On fail call [[Inflate#onEnd]] with error code and return false.
-         *
-         * We strongly recommend to use `Uint8Array` on input for best speed (output
-         * format is detected automatically). Also, don't skip last param and always
-         * use the same type in your code (boolean or number). That will improve JS speed.
-         *
-         * For regular `Array`-s make sure all elements are [0..255].
-         *
-         * ##### Example
-         *
-         * ```javascript
-         * push(chunk, false); // push one of data chunks
-         * ...
-         * push(chunk, true);  // push last chunk
-         * ```
-         **/
-        Inflate.prototype.push = function (data, mode) {
-            var strm = this.strm;
-            var chunkSize = this.options.chunkSize;
-            var dictionary = this.options.dictionary;
-            var status, _mode;
-            var next_out_utf8, tail, utf8str;
-            var dict;
-
-            // Flag to properly process Z_BUF_ERROR on testing inflate call
-            // when we check that all output data was flushed.
-            var allowBufError = false;
-
-            if (this.ended) { return false; }
-            _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);
-
-            // Convert data if needed
-            if (typeof data === 'string') {
-                // Only binary strings can be decompressed on practice
-                strm.input = strings.binstring2buf(data);
-            } else if (toString.call(data) === '[object ArrayBuffer]') {
-                strm.input = new Uint8Array(data);
-            } else {
-                strm.input = data;
-            }
-
-            strm.next_in = 0;
-            strm.avail_in = strm.input.length;
-
-            do {
-                if (strm.avail_out === 0) {
-                    strm.output = new utils.Buf8(chunkSize);
-                    strm.next_out = 0;
-                    strm.avail_out = chunkSize;
-                }
-
-                status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH);    /* no bad return value */
-
-                if (status === c.Z_NEED_DICT && dictionary) {
-                    // Convert data if needed
-                    if (typeof dictionary === 'string') {
-                        dict = strings.string2buf(dictionary);
-                    } else if (toString.call(dictionary) === '[object ArrayBuffer]') {
-                        dict = new Uint8Array(dictionary);
-                    } else {
-                        dict = dictionary;
-                    }
-
-                    status = zlib_inflate.inflateSetDictionary(this.strm, dict);
-
-                }
-
-                if (status === c.Z_BUF_ERROR && allowBufError === true) {
-                    status = c.Z_OK;
-                    allowBufError = false;
-                }
-
-                if (status !== c.Z_STREAM_END && status !== c.Z_OK) {
-                    this.onEnd(status);
-                    this.ended = true;
-                    return false;
-                }
-
-                if (strm.next_out) {
-                    if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH))) {
-
-                        if (this.options.to === 'string') {
-
-                            next_out_utf8 = strings.utf8border(strm.output, strm.next_out);
-
-                            tail = strm.next_out - next_out_utf8;
-                            utf8str = strings.buf2string(strm.output, next_out_utf8);
-
-                            // move tail
-                            strm.next_out = tail;
-                            strm.avail_out = chunkSize - tail;
-                            if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }
-
-                            this.onData(utf8str);
-
-                        } else {
-                            this.onData(utils.shrinkBuf(strm.output, strm.next_out));
-                        }
-                    }
-                }
-
-                // When no more input data, we should check that internal inflate buffers
-                // are flushed. The only way to do it when avail_out = 0 - run one more
-                // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR.
-                // Here we set flag to process this error properly.
-                //
-                // NOTE. Deflate does not return error in this case and does not needs such
-                // logic.
-                if (strm.avail_in === 0 && strm.avail_out === 0) {
-                    allowBufError = true;
-                }
-
-            } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END);
-
-            if (status === c.Z_STREAM_END) {
-                _mode = c.Z_FINISH;
-            }
-
-            // Finalize on the last chunk.
-            if (_mode === c.Z_FINISH) {
-                status = zlib_inflate.inflateEnd(this.strm);
-                this.onEnd(status);
-                this.ended = true;
-                return status === c.Z_OK;
-            }
-
-            // callback interim results if Z_SYNC_FLUSH.
-            if (_mode === c.Z_SYNC_FLUSH) {
-                this.onEnd(c.Z_OK);
-                strm.avail_out = 0;
-                return true;
-            }
-
-            return true;
-        };
-
-
-        /**
-         * Inflate#onData(chunk) -> Void
-         * - chunk (Uint8Array|Array|String): ouput data. Type of array depends
-         *   on js engine support. When string output requested, each chunk
-         *   will be string.
-         *
-         * By default, stores data blocks in `chunks[]` property and glue
-         * those in `onEnd`. Override this handler, if you need another behaviour.
-         **/
-        Inflate.prototype.onData = function (chunk) {
-            this.chunks.push(chunk);
-        };
-
-
-        /**
-         * Inflate#onEnd(status) -> Void
-         * - status (Number): inflate status. 0 (Z_OK) on success,
-         *   other if not.
-         *
-         * Called either after you tell inflate that the input stream is
-         * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)
-         * or if an error happened. By default - join collected chunks,
-         * free memory and fill `results` / `err` properties.
-         **/
-        Inflate.prototype.onEnd = function (status) {
-            // On success - join
-            if (status === c.Z_OK) {
-                if (this.options.to === 'string') {
-                    // Glue & convert here, until we teach pako to send
-                    // utf8 alligned strings to onData
-                    this.result = this.chunks.join('');
-                } else {
-                    this.result = utils.flattenChunks(this.chunks);
-                }
-            }
-            this.chunks = [];
-            this.err = status;
-            this.msg = this.strm.msg;
-        };
-
-
-        /**
-         * inflate(data[, options]) -> Uint8Array|Array|String
-         * - data (Uint8Array|Array|String): input data to decompress.
-         * - options (Object): zlib inflate options.
-         *
-         * Decompress `data` with inflate/ungzip and `options`. Autodetect
-         * format via wrapper header by default. That's why we don't provide
-         * separate `ungzip` method.
-         *
-         * Supported options are:
-         *
-         * - windowBits
-         *
-         * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)
-         * for more information.
-         *
-         * Sugar (options):
-         *
-         * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify
-         *   negative windowBits implicitly.
-         * - `to` (String) - if equal to 'string', then result will be converted
-         *   from utf8 to utf16 (javascript) string. When string output requested,
-         *   chunk length can differ from `chunkSize`, depending on content.
-         *
-         *
-         * ##### Example:
-         *
-         * ```javascript
-         * var pako = require('pako')
-         *   , input = pako.deflate([1,2,3,4,5,6,7,8,9])
-         *   , output;
-         *
-         * try {
-     *   output = pako.inflate(input);
-     * } catch (err)
-         *   console.log(err);
-         * }
-         * ```
-         **/
-        function inflate(input, options) {
-            var inflator = new Inflate(options);
-
-            inflator.push(input, true);
-
-            // That will never happens, if you don't cheat with options :)
-            if (inflator.err) { throw inflator.msg || msg[inflator.err]; }
-
-            return inflator.result;
-        }
-
-
-        /**
-         * inflateRaw(data[, options]) -> Uint8Array|Array|String
-         * - data (Uint8Array|Array|String): input data to decompress.
-         * - options (Object): zlib inflate options.
-         *
-         * The same as [[inflate]], but creates raw data, without wrapper
-         * (header and adler32 crc).
-         **/
-        function inflateRaw(input, options) {
-            options = options || {};
-            options.raw = true;
-            return inflate(input, options);
-        }
-
-
-        /**
-         * ungzip(data[, options]) -> Uint8Array|Array|String
-         * - data (Uint8Array|Array|String): input data to decompress.
-         * - options (Object): zlib inflate options.
-         *
-         * Just shortcut to [[inflate]], because it autodetects format
-         * by header.content. Done for convenience.
-         **/
-
-
-        exports.Inflate = Inflate;
-        exports.inflate = inflate;
-        exports.inflateRaw = inflateRaw;
-        exports.ungzip  = inflate;
-
-    },{"./utils/common":1,"./utils/strings":2,"./zlib/constants":4,"./zlib/gzheader":6,"./zlib/inflate":8,"./zlib/messages":10,"./zlib/zstream":11}]},{},[])("/lib/inflate.js")
-    });
-
-    var pako = tmp;
-
-    exports.pako = pako;
-
-});
diff --git a/libs/supermap/Workers/pbf-9fe59c76.js b/libs/supermap/Workers/pbf-9fe59c76.js
deleted file mode 100644
index d939894..0000000
--- a/libs/supermap/Workers/pbf-9fe59c76.js
+++ /dev/null
@@ -1,615 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports'], function (exports) { 'use strict';
-
-    var read = function (buffer, offset, isLE, mLen, nBytes) {
-        var e, m;
-        var eLen = (nBytes * 8) - mLen - 1;
-        var eMax = (1 << eLen) - 1;
-        var eBias = eMax >> 1;
-        var nBits = -7;
-        var i = isLE ? (nBytes - 1) : 0;
-        var d = isLE ? -1 : 1;
-        var s = buffer[offset + i];
-        i += d;
-        e = s & ((1 << (-nBits)) - 1);
-        s >>= (-nBits);
-        nBits += eLen;
-        for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
-        m = e & ((1 << (-nBits)) - 1);
-        e >>= (-nBits);
-        nBits += mLen;
-        for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
-        if (e === 0) {
-            e = 1 - eBias;
-        } else if (e === eMax) {
-            return m ? NaN : ((s ? -1 : 1) * Infinity)
-        } else {
-            m = m + Math.pow(2, mLen);
-            e = e - eBias;
-        }
-        return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
-    };
-    var write = function (buffer, value, offset, isLE, mLen, nBytes) {
-        var e, m, c;
-        var eLen = (nBytes * 8) - mLen - 1;
-        var eMax = (1 << eLen) - 1;
-        var eBias = eMax >> 1;
-        var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);
-        var i = isLE ? 0 : (nBytes - 1);
-        var d = isLE ? 1 : -1;
-        var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
-        value = Math.abs(value);
-        if (isNaN(value) || value === Infinity) {
-            m = isNaN(value) ? 1 : 0;
-            e = eMax;
-        } else {
-            e = Math.floor(Math.log(value) / Math.LN2);
-            if (value * (c = Math.pow(2, -e)) < 1) {
-                e--;
-                c *= 2;
-            }
-            if (e + eBias >= 1) {
-                value += rt / c;
-            } else {
-                value += rt * Math.pow(2, 1 - eBias);
-            }
-            if (value * c >= 2) {
-                e++;
-                c /= 2;
-            }
-            if (e + eBias >= eMax) {
-                m = 0;
-                e = eMax;
-            } else if (e + eBias >= 1) {
-                m = ((value * c) - 1) * Math.pow(2, mLen);
-                e = e + eBias;
-            } else {
-                m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
-                e = 0;
-            }
-        }
-        for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
-        e = (e << mLen) | m;
-        eLen += mLen;
-        for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
-        buffer[offset + i - d] |= s * 128;
-    };
-    var ieee754 = {
-        read: read,
-        write: write
-    };
-
-    function Pbf(buf) {
-        this.buf = ArrayBuffer.isView && ArrayBuffer.isView(buf) ? buf : new Uint8Array(buf || 0);
-        this.pos = 0;
-        this.type = 0;
-        this.length = this.buf.length;
-    }
-    Pbf.Varint  = 0;
-    Pbf.Fixed64 = 1;
-    Pbf.Bytes   = 2;
-    Pbf.Fixed32 = 5;
-    var SHIFT_LEFT_32 = (1 << 16) * (1 << 16);
-    var SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32;
-    Pbf.prototype = {
-        destroy: function() {
-            this.buf = null;
-        },
-        readFields: function(readField, result, end) {
-            end = end || this.length;
-            while (this.pos < end) {
-                var val = this.readVarint(),
-                    tag = val >> 3,
-                    startPos = this.pos;
-                this.type = val & 0x7;
-                readField(tag, result, this);
-                if (this.pos === startPos) this.skip(val);
-            }
-            return result;
-        },
-        readMessage: function(readField, result) {
-            return this.readFields(readField, result, this.readVarint() + this.pos);
-        },
-        readFixed32: function() {
-            var val = readUInt32(this.buf, this.pos);
-            this.pos += 4;
-            return val;
-        },
-        readSFixed32: function() {
-            var val = readInt32(this.buf, this.pos);
-            this.pos += 4;
-            return val;
-        },
-        readFixed64: function() {
-            var val = readUInt32(this.buf, this.pos) + readUInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;
-            this.pos += 8;
-            return val;
-        },
-        readSFixed64: function() {
-            var val = readUInt32(this.buf, this.pos) + readInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;
-            this.pos += 8;
-            return val;
-        },
-        readFloat: function() {
-            var val = ieee754.read(this.buf, this.pos, true, 23, 4);
-            this.pos += 4;
-            return val;
-        },
-        readDouble: function() {
-            var val = ieee754.read(this.buf, this.pos, true, 52, 8);
-            this.pos += 8;
-            return val;
-        },
-        readVarint: function(isSigned) {
-            var buf = this.buf,
-                val, b;
-            b = buf[this.pos++]; val  =  b & 0x7f;        if (b < 0x80) return val;
-            b = buf[this.pos++]; val |= (b & 0x7f) << 7;  if (b < 0x80) return val;
-            b = buf[this.pos++]; val |= (b & 0x7f) << 14; if (b < 0x80) return val;
-            b = buf[this.pos++]; val |= (b & 0x7f) << 21; if (b < 0x80) return val;
-            b = buf[this.pos];   val |= (b & 0x0f) << 28;
-            return readVarintRemainder(val, isSigned, this);
-        },
-        readVarint64: function() {
-            return this.readVarint(true);
-        },
-        readSVarint: function() {
-            var num = this.readVarint();
-            return num % 2 === 1 ? (num + 1) / -2 : num / 2;
-        },
-        readBoolean: function() {
-            return Boolean(this.readVarint());
-        },
-        readString: function() {
-            var end = this.readVarint() + this.pos,
-                str = readUtf8(this.buf, this.pos, end);
-            this.pos = end;
-            return str;
-        },
-        readBytes: function() {
-            var end = this.readVarint() + this.pos,
-                buffer = this.buf.subarray(this.pos, end);
-            this.pos = end;
-            return buffer;
-        },
-        readPackedVarint: function(arr, isSigned) {
-            var end = readPackedEnd(this);
-            arr = arr || [];
-            while (this.pos < end) arr.push(this.readVarint(isSigned));
-            return arr;
-        },
-        readPackedSVarint: function(arr) {
-            var end = readPackedEnd(this);
-            arr = arr || [];
-            while (this.pos < end) arr.push(this.readSVarint());
-            return arr;
-        },
-        readPackedBoolean: function(arr) {
-            var end = readPackedEnd(this);
-            arr = arr || [];
-            while (this.pos < end) arr.push(this.readBoolean());
-            return arr;
-        },
-        readPackedFloat: function(arr) {
-            var end = readPackedEnd(this);
-            arr = arr || [];
-            while (this.pos < end) arr.push(this.readFloat());
-            return arr;
-        },
-        readPackedDouble: function(arr) {
-            var end = readPackedEnd(this);
-            arr = arr || [];
-            while (this.pos < end) arr.push(this.readDouble());
-            return arr;
-        },
-        readPackedFixed32: function(arr) {
-            var end = readPackedEnd(this);
-            arr = arr || [];
-            while (this.pos < end) arr.push(this.readFixed32());
-            return arr;
-        },
-        readPackedSFixed32: function(arr) {
-            var end = readPackedEnd(this);
-            arr = arr || [];
-            while (this.pos < end) arr.push(this.readSFixed32());
-            return arr;
-        },
-        readPackedFixed64: function(arr) {
-            var end = readPackedEnd(this);
-            arr = arr || [];
-            while (this.pos < end) arr.push(this.readFixed64());
-            return arr;
-        },
-        readPackedSFixed64: function(arr) {
-            var end = readPackedEnd(this);
-            arr = arr || [];
-            while (this.pos < end) arr.push(this.readSFixed64());
-            return arr;
-        },
-        skip: function(val) {
-            var type = val & 0x7;
-            if (type === Pbf.Varint) while (this.buf[this.pos++] > 0x7f) {}
-            else if (type === Pbf.Bytes) this.pos = this.readVarint() + this.pos;
-            else if (type === Pbf.Fixed32) this.pos += 4;
-            else if (type === Pbf.Fixed64) this.pos += 8;
-            else throw new Error('Unimplemented type: ' + type);
-        },
-        writeTag: function(tag, type) {
-            this.writeVarint((tag << 3) | type);
-        },
-        realloc: function(min) {
-            var length = this.length || 16;
-            while (length < this.pos + min) length *= 2;
-            if (length !== this.length) {
-                var buf = new Uint8Array(length);
-                buf.set(this.buf);
-                this.buf = buf;
-                this.length = length;
-            }
-        },
-        finish: function() {
-            this.length = this.pos;
-            this.pos = 0;
-            return this.buf.subarray(0, this.length);
-        },
-        writeFixed32: function(val) {
-            this.realloc(4);
-            writeInt32(this.buf, val, this.pos);
-            this.pos += 4;
-        },
-        writeSFixed32: function(val) {
-            this.realloc(4);
-            writeInt32(this.buf, val, this.pos);
-            this.pos += 4;
-        },
-        writeFixed64: function(val) {
-            this.realloc(8);
-            writeInt32(this.buf, val & -1, this.pos);
-            writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4);
-            this.pos += 8;
-        },
-        writeSFixed64: function(val) {
-            this.realloc(8);
-            writeInt32(this.buf, val & -1, this.pos);
-            writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4);
-            this.pos += 8;
-        },
-        writeVarint: function(val) {
-            val = +val || 0;
-            if (val > 0xfffffff || val < 0) {
-                writeBigVarint(val, this);
-                return;
-            }
-            this.realloc(4);
-            this.buf[this.pos++] =           val & 0x7f  | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;
-            this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;
-            this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;
-            this.buf[this.pos++] =   (val >>> 7) & 0x7f;
-        },
-        writeSVarint: function(val) {
-            this.writeVarint(val < 0 ? -val * 2 - 1 : val * 2);
-        },
-        writeBoolean: function(val) {
-            this.writeVarint(Boolean(val));
-        },
-        writeString: function(str) {
-            str = String(str);
-            this.realloc(str.length * 4);
-            this.pos++;
-            var startPos = this.pos;
-            this.pos = writeUtf8(this.buf, str, this.pos);
-            var len = this.pos - startPos;
-            if (len >= 0x80) makeRoomForExtraLength(startPos, len, this);
-            this.pos = startPos - 1;
-            this.writeVarint(len);
-            this.pos += len;
-        },
-        writeFloat: function(val) {
-            this.realloc(4);
-            ieee754.write(this.buf, val, this.pos, true, 23, 4);
-            this.pos += 4;
-        },
-        writeDouble: function(val) {
-            this.realloc(8);
-            ieee754.write(this.buf, val, this.pos, true, 52, 8);
-            this.pos += 8;
-        },
-        writeBytes: function(buffer) {
-            var len = buffer.length;
-            this.writeVarint(len);
-            this.realloc(len);
-            for (var i = 0; i < len; i++) this.buf[this.pos++] = buffer[i];
-        },
-        writeRawMessage: function(fn, obj) {
-            this.pos++;
-            var startPos = this.pos;
-            fn(obj, this);
-            var len = this.pos - startPos;
-            if (len >= 0x80) makeRoomForExtraLength(startPos, len, this);
-            this.pos = startPos - 1;
-            this.writeVarint(len);
-            this.pos += len;
-        },
-        writeMessage: function(tag, fn, obj) {
-            this.writeTag(tag, Pbf.Bytes);
-            this.writeRawMessage(fn, obj);
-        },
-        writePackedVarint:   function(tag, arr) { this.writeMessage(tag, writePackedVarint, arr);   },
-        writePackedSVarint:  function(tag, arr) { this.writeMessage(tag, writePackedSVarint, arr);  },
-        writePackedBoolean:  function(tag, arr) { this.writeMessage(tag, writePackedBoolean, arr);  },
-        writePackedFloat:    function(tag, arr) { this.writeMessage(tag, writePackedFloat, arr);    },
-        writePackedDouble:   function(tag, arr) { this.writeMessage(tag, writePackedDouble, arr);   },
-        writePackedFixed32:  function(tag, arr) { this.writeMessage(tag, writePackedFixed32, arr);  },
-        writePackedSFixed32: function(tag, arr) { this.writeMessage(tag, writePackedSFixed32, arr); },
-        writePackedFixed64:  function(tag, arr) { this.writeMessage(tag, writePackedFixed64, arr);  },
-        writePackedSFixed64: function(tag, arr) { this.writeMessage(tag, writePackedSFixed64, arr); },
-        writeBytesField: function(tag, buffer) {
-            this.writeTag(tag, Pbf.Bytes);
-            this.writeBytes(buffer);
-        },
-        writeFixed32Field: function(tag, val) {
-            this.writeTag(tag, Pbf.Fixed32);
-            this.writeFixed32(val);
-        },
-        writeSFixed32Field: function(tag, val) {
-            this.writeTag(tag, Pbf.Fixed32);
-            this.writeSFixed32(val);
-        },
-        writeFixed64Field: function(tag, val) {
-            this.writeTag(tag, Pbf.Fixed64);
-            this.writeFixed64(val);
-        },
-        writeSFixed64Field: function(tag, val) {
-            this.writeTag(tag, Pbf.Fixed64);
-            this.writeSFixed64(val);
-        },
-        writeVarintField: function(tag, val) {
-            this.writeTag(tag, Pbf.Varint);
-            this.writeVarint(val);
-        },
-        writeSVarintField: function(tag, val) {
-            this.writeTag(tag, Pbf.Varint);
-            this.writeSVarint(val);
-        },
-        writeStringField: function(tag, str) {
-            this.writeTag(tag, Pbf.Bytes);
-            this.writeString(str);
-        },
-        writeFloatField: function(tag, val) {
-            this.writeTag(tag, Pbf.Fixed32);
-            this.writeFloat(val);
-        },
-        writeDoubleField: function(tag, val) {
-            this.writeTag(tag, Pbf.Fixed64);
-            this.writeDouble(val);
-        },
-        writeBooleanField: function(tag, val) {
-            this.writeVarintField(tag, Boolean(val));
-        }
-    };
-    function readVarintRemainder(l, s, p) {
-        var buf = p.buf,
-            h, b;
-        b = buf[p.pos++]; h  = (b & 0x70) >> 4;  if (b < 0x80) return toNum(l, h, s);
-        b = buf[p.pos++]; h |= (b & 0x7f) << 3;  if (b < 0x80) return toNum(l, h, s);
-        b = buf[p.pos++]; h |= (b & 0x7f) << 10; if (b < 0x80) return toNum(l, h, s);
-        b = buf[p.pos++]; h |= (b & 0x7f) << 17; if (b < 0x80) return toNum(l, h, s);
-        b = buf[p.pos++]; h |= (b & 0x7f) << 24; if (b < 0x80) return toNum(l, h, s);
-        b = buf[p.pos++]; h |= (b & 0x01) << 31; if (b < 0x80) return toNum(l, h, s);
-        throw new Error('Expected varint not more than 10 bytes');
-    }
-    function readPackedEnd(pbf) {
-        return pbf.type === Pbf.Bytes ?
-            pbf.readVarint() + pbf.pos : pbf.pos + 1;
-    }
-    function toNum(low, high, isSigned) {
-        if (isSigned) {
-            return high * 0x100000000 + (low >>> 0);
-        }
-        return ((high >>> 0) * 0x100000000) + (low >>> 0);
-    }
-    function writeBigVarint(val, pbf) {
-        var low, high;
-        if (val >= 0) {
-            low  = (val % 0x100000000) | 0;
-            high = (val / 0x100000000) | 0;
-        } else {
-            low  = ~(-val % 0x100000000);
-            high = ~(-val / 0x100000000);
-            if (low ^ 0xffffffff) {
-                low = (low + 1) | 0;
-            } else {
-                low = 0;
-                high = (high + 1) | 0;
-            }
-        }
-        if (val >= 0x10000000000000000 || val < -0x10000000000000000) {
-            throw new Error('Given varint doesn\'t fit into 10 bytes');
-        }
-        pbf.realloc(10);
-        writeBigVarintLow(low, high, pbf);
-        writeBigVarintHigh(high, pbf);
-    }
-    function writeBigVarintLow(low, high, pbf) {
-        pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
-        pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
-        pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
-        pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
-        pbf.buf[pbf.pos]   = low & 0x7f;
-    }
-    function writeBigVarintHigh(high, pbf) {
-        var lsb = (high & 0x07) << 4;
-        pbf.buf[pbf.pos++] |= lsb         | ((high >>>= 3) ? 0x80 : 0); if (!high) return;
-        pbf.buf[pbf.pos++]  = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
-        pbf.buf[pbf.pos++]  = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
-        pbf.buf[pbf.pos++]  = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
-        pbf.buf[pbf.pos++]  = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
-        pbf.buf[pbf.pos++]  = high & 0x7f;
-    }
-    function makeRoomForExtraLength(startPos, len, pbf) {
-        var extraLen =
-            len <= 0x3fff ? 1 :
-                len <= 0x1fffff ? 2 :
-                    len <= 0xfffffff ? 3 : Math.ceil(Math.log(len) / (Math.LN2 * 7));
-        pbf.realloc(extraLen);
-        for (var i = pbf.pos - 1; i >= startPos; i--) pbf.buf[i + extraLen] = pbf.buf[i];
-    }
-    function writePackedVarint(arr, pbf)   { for (var i = 0; i < arr.length; i++) pbf.writeVarint(arr[i]);   }
-    function writePackedSVarint(arr, pbf)  { for (var i = 0; i < arr.length; i++) pbf.writeSVarint(arr[i]);  }
-    function writePackedFloat(arr, pbf)    { for (var i = 0; i < arr.length; i++) pbf.writeFloat(arr[i]);    }
-    function writePackedDouble(arr, pbf)   { for (var i = 0; i < arr.length; i++) pbf.writeDouble(arr[i]);   }
-    function writePackedBoolean(arr, pbf)  { for (var i = 0; i < arr.length; i++) pbf.writeBoolean(arr[i]);  }
-    function writePackedFixed32(arr, pbf)  { for (var i = 0; i < arr.length; i++) pbf.writeFixed32(arr[i]);  }
-    function writePackedSFixed32(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSFixed32(arr[i]); }
-    function writePackedFixed64(arr, pbf)  { for (var i = 0; i < arr.length; i++) pbf.writeFixed64(arr[i]);  }
-    function writePackedSFixed64(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSFixed64(arr[i]); }
-    function readUInt32(buf, pos) {
-        return ((buf[pos]) |
-            (buf[pos + 1] << 8) |
-            (buf[pos + 2] << 16)) +
-            (buf[pos + 3] * 0x1000000);
-    }
-    function writeInt32(buf, val, pos) {
-        buf[pos] = val;
-        buf[pos + 1] = (val >>> 8);
-        buf[pos + 2] = (val >>> 16);
-        buf[pos + 3] = (val >>> 24);
-    }
-    function readInt32(buf, pos) {
-        return ((buf[pos]) |
-            (buf[pos + 1] << 8) |
-            (buf[pos + 2] << 16)) +
-            (buf[pos + 3] << 24);
-    }
-    function readUtf8(buf, pos, end) {
-        var str = '';
-        var i = pos;
-        while (i < end) {
-            var b0 = buf[i];
-            var c = null;
-            var bytesPerSequence =
-                b0 > 0xEF ? 4 :
-                    b0 > 0xDF ? 3 :
-                        b0 > 0xBF ? 2 : 1;
-            if (i + bytesPerSequence > end) break;
-            var b1, b2, b3;
-            if (bytesPerSequence === 1) {
-                if (b0 < 0x80) {
-                    c = b0;
-                }
-            } else if (bytesPerSequence === 2) {
-                b1 = buf[i + 1];
-                if ((b1 & 0xC0) === 0x80) {
-                    c = (b0 & 0x1F) << 0x6 | (b1 & 0x3F);
-                    if (c <= 0x7F) {
-                        c = null;
-                    }
-                }
-            } else if (bytesPerSequence === 3) {
-                b1 = buf[i + 1];
-                b2 = buf[i + 2];
-                if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80) {
-                    c = (b0 & 0xF) << 0xC | (b1 & 0x3F) << 0x6 | (b2 & 0x3F);
-                    if (c <= 0x7FF || (c >= 0xD800 && c <= 0xDFFF)) {
-                        c = null;
-                    }
-                }
-            } else if (bytesPerSequence === 4) {
-                b1 = buf[i + 1];
-                b2 = buf[i + 2];
-                b3 = buf[i + 3];
-                if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {
-                    c = (b0 & 0xF) << 0x12 | (b1 & 0x3F) << 0xC | (b2 & 0x3F) << 0x6 | (b3 & 0x3F);
-                    if (c <= 0xFFFF || c >= 0x110000) {
-                        c = null;
-                    }
-                }
-            }
-            if (c === null) {
-                c = 0xFFFD;
-                bytesPerSequence = 1;
-            } else if (c > 0xFFFF) {
-                c -= 0x10000;
-                str += String.fromCharCode(c >>> 10 & 0x3FF | 0xD800);
-                c = 0xDC00 | c & 0x3FF;
-            }
-            str += String.fromCharCode(c);
-            i += bytesPerSequence;
-        }
-        return str;
-    }
-    function writeUtf8(buf, str, pos) {
-        for (var i = 0, c, lead; i < str.length; i++) {
-            c = str.charCodeAt(i);
-            if (c > 0xD7FF && c < 0xE000) {
-                if (lead) {
-                    if (c < 0xDC00) {
-                        buf[pos++] = 0xEF;
-                        buf[pos++] = 0xBF;
-                        buf[pos++] = 0xBD;
-                        lead = c;
-                        continue;
-                    } else {
-                        c = lead - 0xD800 << 10 | c - 0xDC00 | 0x10000;
-                        lead = null;
-                    }
-                } else {
-                    if (c > 0xDBFF || (i + 1 === str.length)) {
-                        buf[pos++] = 0xEF;
-                        buf[pos++] = 0xBF;
-                        buf[pos++] = 0xBD;
-                    } else {
-                        lead = c;
-                    }
-                    continue;
-                }
-            } else if (lead) {
-                buf[pos++] = 0xEF;
-                buf[pos++] = 0xBF;
-                buf[pos++] = 0xBD;
-                lead = null;
-            }
-            if (c < 0x80) {
-                buf[pos++] = c;
-            } else {
-                if (c < 0x800) {
-                    buf[pos++] = c >> 0x6 | 0xC0;
-                } else {
-                    if (c < 0x10000) {
-                        buf[pos++] = c >> 0xC | 0xE0;
-                    } else {
-                        buf[pos++] = c >> 0x12 | 0xF0;
-                        buf[pos++] = c >> 0xC & 0x3F | 0x80;
-                    }
-                    buf[pos++] = c >> 0x6 & 0x3F | 0x80;
-                }
-                buf[pos++] = c & 0x3F | 0x80;
-            }
-        }
-        return pos;
-    }
-
-    exports.Protobuf = Pbf;
-
-});
diff --git a/libs/supermap/Workers/transcodeCRNToDXT.js b/libs/supermap/Workers/transcodeCRNToDXT.js
deleted file mode 100644
index 271b4a4..0000000
--- a/libs/supermap/Workers/transcodeCRNToDXT.js
+++ /dev/null
@@ -1,656 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './createTaskProcessorWorker'], function (when, RuntimeError, WebGLConstants, createTaskProcessorWorker) { 'use strict';
-
-    /**
-         * Describes a compressed texture and contains a compressed texture buffer.
-         * @alias CompressedTextureBuffer
-         * @constructor
-         *
-         * @param {PixelFormat} internalFormat The pixel format of the compressed texture.
-         * @param {Number} width The width of the texture.
-         * @param {Number} height The height of the texture.
-         * @param {Uint8Array} buffer The compressed texture buffer.
-         */
-        function CompressedTextureBuffer(internalFormat, width, height, buffer) {
-            this._format = internalFormat;
-            this._width = width;
-            this._height = height;
-            this._buffer =  buffer;
-        }
-
-        Object.defineProperties(CompressedTextureBuffer.prototype, {
-            /**
-             * The format of the compressed texture.
-             * @type PixelFormat
-             * @readonly
-             * @memberof CompressedTextureBuffer.prototype
-             */
-            internalFormat : {
-                get : function() {
-                    return this._format;
-                }
-            },
-            /**
-             * The width of the texture.
-             * @type Number
-             * @readonly
-             * @memberof CompressedTextureBuffer.prototype
-             */
-            width : {
-                get : function() {
-                    return this._width;
-                }
-            },
-            /**
-             * The height of the texture.
-             * @type Number
-             * @readonly
-             * @memberof CompressedTextureBuffer.prototype
-             */
-            height : {
-                get : function() {
-                    return this._height;
-                }
-            },
-            /**
-             * The compressed texture buffer.
-             * @type Uint8Array
-             * @readonly
-             * @memberof CompressedTextureBuffer.prototype
-             */
-            bufferView : {
-                get : function() {
-                    return this._buffer;
-                }
-            }
-        });
-
-        /**
-         * Creates a shallow clone of a compressed texture buffer.
-         *
-         * @param {CompressedTextureBuffer} object The compressed texture buffer to be cloned.
-         * @return {CompressedTextureBuffer} A shallow clone of the compressed texture buffer.
-         */
-        CompressedTextureBuffer.clone = function(object) {
-            if (!when.defined(object)) {
-                return undefined;
-            }
-
-            return new CompressedTextureBuffer(object._format, object._width, object._height, object._buffer);
-        };
-
-        /**
-         * Creates a shallow clone of this compressed texture buffer.
-         *
-         * @return {CompressedTextureBuffer} A shallow clone of the compressed texture buffer.
-         */
-        CompressedTextureBuffer.prototype.clone = function() {
-            return CompressedTextureBuffer.clone(this);
-        };
-
-    /**
-     * @private
-     */
-    var PixelDatatype = {
-        UNSIGNED_BYTE : WebGLConstants.WebGLConstants.UNSIGNED_BYTE,
-        UNSIGNED_SHORT : WebGLConstants.WebGLConstants.UNSIGNED_SHORT,
-        UNSIGNED_INT : WebGLConstants.WebGLConstants.UNSIGNED_INT,
-        FLOAT : WebGLConstants.WebGLConstants.FLOAT,
-        HALF_FLOAT : WebGLConstants.WebGLConstants.HALF_FLOAT_OES,
-        UNSIGNED_INT_24_8 : WebGLConstants.WebGLConstants.UNSIGNED_INT_24_8,
-        UNSIGNED_SHORT_4_4_4_4 : WebGLConstants.WebGLConstants.UNSIGNED_SHORT_4_4_4_4,
-        UNSIGNED_SHORT_5_5_5_1 : WebGLConstants.WebGLConstants.UNSIGNED_SHORT_5_5_5_1,
-        UNSIGNED_SHORT_5_6_5 : WebGLConstants.WebGLConstants.UNSIGNED_SHORT_5_6_5,
-
-        isPacked : function(pixelDatatype) {
-            return pixelDatatype === PixelDatatype.UNSIGNED_INT_24_8 ||
-                   pixelDatatype === PixelDatatype.UNSIGNED_SHORT_4_4_4_4 ||
-                   pixelDatatype === PixelDatatype.UNSIGNED_SHORT_5_5_5_1 ||
-                   pixelDatatype === PixelDatatype.UNSIGNED_SHORT_5_6_5;
-        },
-
-        sizeInBytes : function(pixelDatatype) {
-            switch (pixelDatatype) {
-                case PixelDatatype.UNSIGNED_BYTE:
-                    return 1;
-                case PixelDatatype.UNSIGNED_SHORT:
-                case PixelDatatype.UNSIGNED_SHORT_4_4_4_4:
-                case PixelDatatype.UNSIGNED_SHORT_5_5_5_1:
-                case PixelDatatype.UNSIGNED_SHORT_5_6_5:
-                case PixelDatatype.HALF_FLOAT:
-                    return 2;
-                case PixelDatatype.UNSIGNED_INT:
-                case PixelDatatype.FLOAT:
-                case PixelDatatype.UNSIGNED_INT_24_8:
-                    return 4;
-            }
-        },
-
-        validate : function(pixelDatatype) {
-            return ((pixelDatatype === PixelDatatype.UNSIGNED_BYTE) ||
-                    (pixelDatatype === PixelDatatype.UNSIGNED_SHORT) ||
-                    (pixelDatatype === PixelDatatype.UNSIGNED_INT) ||
-                    (pixelDatatype === PixelDatatype.FLOAT) ||
-                    (pixelDatatype === PixelDatatype.HALF_FLOAT) ||
-                    (pixelDatatype === PixelDatatype.UNSIGNED_INT_24_8) ||
-                    (pixelDatatype === PixelDatatype.UNSIGNED_SHORT_4_4_4_4) ||
-                    (pixelDatatype === PixelDatatype.UNSIGNED_SHORT_5_5_5_1) ||
-                    (pixelDatatype === PixelDatatype.UNSIGNED_SHORT_5_6_5));
-        }
-    };
-
-    /**
-     * The format of a pixel, i.e., the number of components it has and what they represent.
-     *
-     * @exports PixelFormat
-     */
-    var PixelFormat = {
-        /**
-         * A pixel format containing a depth value.
-         *
-         * @type {Number}
-         * @constant
-         */
-        DEPTH_COMPONENT : WebGLConstants.WebGLConstants.DEPTH_COMPONENT,
-
-        /**
-         * A pixel format containing a depth and stencil value, most often used with {@link PixelDatatype.UNSIGNED_INT_24_8}.
-         *
-         * @type {Number}
-         * @constant
-         */
-        DEPTH_STENCIL : WebGLConstants.WebGLConstants.DEPTH_STENCIL,
-
-        /**
-         * A pixel format containing an alpha channel.
-         *
-         * @type {Number}
-         * @constant
-         */
-        ALPHA : WebGLConstants.WebGLConstants.ALPHA,
-
-        /**
-         * A pixel format containing red, green, and blue channels.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGB : WebGLConstants.WebGLConstants.RGB,
-
-        /**
-         * A pixel format containing red, green, blue, and alpha channels.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGBA : WebGLConstants.WebGLConstants.RGBA,
-
-        /**
-         * A pixel format containing a luminance (intensity) channel.
-         *
-         * @type {Number}
-         * @constant
-         */
-        LUMINANCE : WebGLConstants.WebGLConstants.LUMINANCE,
-
-        /**
-         * A pixel format containing luminance (intensity) and alpha channels.
-         *
-         * @type {Number}
-         * @constant
-         */
-        LUMINANCE_ALPHA : WebGLConstants.WebGLConstants.LUMINANCE_ALPHA,
-
-        /**
-         * A pixel format containing red, green, and blue channels that is DXT1 compressed.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGB_DXT1 : WebGLConstants.WebGLConstants.COMPRESSED_RGB_S3TC_DXT1_EXT,
-
-        /**
-         * A pixel format containing red, green, blue, and alpha channels that is DXT1 compressed.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGBA_DXT1 : WebGLConstants.WebGLConstants.COMPRESSED_RGBA_S3TC_DXT1_EXT,
-
-        /**
-         * A pixel format containing red, green, blue, and alpha channels that is DXT3 compressed.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGBA_DXT3 : WebGLConstants.WebGLConstants.COMPRESSED_RGBA_S3TC_DXT3_EXT,
-
-        /**
-         * A pixel format containing red, green, blue, and alpha channels that is DXT5 compressed.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGBA_DXT5 : WebGLConstants.WebGLConstants.COMPRESSED_RGBA_S3TC_DXT5_EXT,
-
-        /**
-         * A pixel format containing red, green, and blue channels that is PVR 4bpp compressed.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGB_PVRTC_4BPPV1 : WebGLConstants.WebGLConstants.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,
-
-        /**
-         * A pixel format containing red, green, and blue channels that is PVR 2bpp compressed.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGB_PVRTC_2BPPV1 : WebGLConstants.WebGLConstants.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,
-
-        /**
-         * A pixel format containing red, green, blue, and alpha channels that is PVR 4bpp compressed.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGBA_PVRTC_4BPPV1 : WebGLConstants.WebGLConstants.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
-
-        /**
-         * A pixel format containing red, green, blue, and alpha channels that is PVR 2bpp compressed.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGBA_PVRTC_2BPPV1 : WebGLConstants.WebGLConstants.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
-
-        /**
-         * A pixel format containing red, green, and blue channels that is ETC1 compressed.
-         *
-         * @type {Number}
-         * @constant
-         */
-        RGB_ETC1 : WebGLConstants.WebGLConstants.COMPRESSED_RGB_ETC1_WEBGL,
-
-        /**
-         * @private
-         */
-        componentsLength : function(pixelFormat) {
-            switch (pixelFormat) {
-                case PixelFormat.RGB:
-                    return 3;
-                case PixelFormat.RGBA:
-                    return 4;
-                case PixelFormat.LUMINANCE_ALPHA:
-                    return 2;
-                case PixelFormat.ALPHA:
-                case PixelFormat.LUMINANCE:
-                    return 1;
-                default:
-                    return 1;
-            }
-        },
-
-        /**
-         * @private
-         */
-        validate : function(pixelFormat) {
-            return pixelFormat === PixelFormat.DEPTH_COMPONENT ||
-                   pixelFormat === PixelFormat.DEPTH_STENCIL ||
-                   pixelFormat === PixelFormat.ALPHA ||
-                   pixelFormat === PixelFormat.RGB ||
-                   pixelFormat === PixelFormat.RGBA ||
-                   pixelFormat === PixelFormat.LUMINANCE ||
-                   pixelFormat === PixelFormat.LUMINANCE_ALPHA ||
-                   pixelFormat === PixelFormat.RGB_DXT1 ||
-                   pixelFormat === PixelFormat.RGBA_DXT1 ||
-                   pixelFormat === PixelFormat.RGBA_DXT3 ||
-                   pixelFormat === PixelFormat.RGBA_DXT5 ||
-                   pixelFormat === PixelFormat.RGB_PVRTC_4BPPV1 ||
-                   pixelFormat === PixelFormat.RGB_PVRTC_2BPPV1 ||
-                   pixelFormat === PixelFormat.RGBA_PVRTC_4BPPV1 ||
-                   pixelFormat === PixelFormat.RGBA_PVRTC_2BPPV1 ||
-                   pixelFormat === PixelFormat.RGB_ETC1;
-        },
-
-        /**
-         * @private
-         */
-        isColorFormat : function(pixelFormat) {
-            return pixelFormat === PixelFormat.ALPHA ||
-                   pixelFormat === PixelFormat.RGB ||
-                   pixelFormat === PixelFormat.RGBA ||
-                   pixelFormat === PixelFormat.LUMINANCE ||
-                   pixelFormat === PixelFormat.LUMINANCE_ALPHA;
-        },
-
-        /**
-         * @private
-         */
-        isDepthFormat : function(pixelFormat) {
-            return pixelFormat === PixelFormat.DEPTH_COMPONENT ||
-                   pixelFormat === PixelFormat.DEPTH_STENCIL;
-        },
-
-        /**
-         * @private
-         */
-        isCompressedFormat : function(pixelFormat) {
-            return pixelFormat === PixelFormat.RGB_DXT1 ||
-                   pixelFormat === PixelFormat.RGBA_DXT1 ||
-                   pixelFormat === PixelFormat.RGBA_DXT3 ||
-                   pixelFormat === PixelFormat.RGBA_DXT5 ||
-                   pixelFormat === PixelFormat.RGB_PVRTC_4BPPV1 ||
-                   pixelFormat === PixelFormat.RGB_PVRTC_2BPPV1 ||
-                   pixelFormat === PixelFormat.RGBA_PVRTC_4BPPV1 ||
-                   pixelFormat === PixelFormat.RGBA_PVRTC_2BPPV1 ||
-                   pixelFormat === PixelFormat.RGB_ETC1;
-        },
-
-        /**
-         * @private
-         */
-        isDXTFormat : function(pixelFormat) {
-            return pixelFormat === PixelFormat.RGB_DXT1 ||
-                   pixelFormat === PixelFormat.RGBA_DXT1 ||
-                   pixelFormat === PixelFormat.RGBA_DXT3 ||
-                   pixelFormat === PixelFormat.RGBA_DXT5;
-        },
-
-        /**
-         * @private
-         */
-        isPVRTCFormat : function(pixelFormat) {
-            return pixelFormat === PixelFormat.RGB_PVRTC_4BPPV1 ||
-                   pixelFormat === PixelFormat.RGB_PVRTC_2BPPV1 ||
-                   pixelFormat === PixelFormat.RGBA_PVRTC_4BPPV1 ||
-                   pixelFormat === PixelFormat.RGBA_PVRTC_2BPPV1;
-        },
-
-        /**
-         * @private
-         */
-        isETC1Format : function(pixelFormat) {
-            return pixelFormat === PixelFormat.RGB_ETC1;
-        },
-
-        /**
-         * @private
-         */
-        compressedTextureSizeInBytes : function(pixelFormat, width, height) {
-            switch (pixelFormat) {
-                case PixelFormat.RGB_DXT1:
-                case PixelFormat.RGBA_DXT1:
-                case PixelFormat.RGB_ETC1:
-                    return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 8;
-
-                case PixelFormat.RGBA_DXT3:
-                case PixelFormat.RGBA_DXT5:
-                    return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16;
-
-                case PixelFormat.RGB_PVRTC_4BPPV1:
-                case PixelFormat.RGBA_PVRTC_4BPPV1:
-                    return Math.floor((Math.max(width, 8) * Math.max(height, 8) * 4 + 7) / 8);
-
-                case PixelFormat.RGB_PVRTC_2BPPV1:
-                case PixelFormat.RGBA_PVRTC_2BPPV1:
-                    return Math.floor((Math.max(width, 16) * Math.max(height, 8) * 2 + 7) / 8);
-
-                default:
-                    return 0;
-            }
-        },
-
-        /**
-         * @private
-         */
-        textureSizeInBytes : function(pixelFormat, pixelDatatype, width, height) {
-            var componentsLength = PixelFormat.componentsLength(pixelFormat);
-            if (PixelDatatype.isPacked(pixelDatatype)) {
-                componentsLength = 1;
-            }
-            return componentsLength * PixelDatatype.sizeInBytes(pixelDatatype) * width * height;
-        },
-
-        /**
-         * @private
-         */
-        alignmentInBytes : function(pixelFormat, pixelDatatype, width) {
-            var mod = PixelFormat.textureSizeInBytes(pixelFormat, pixelDatatype, width, 1) % 4;
-            return mod === 0 ? 4 : (mod === 2 ? 2 : 1);
-        },
-
-        /**
-         * @private
-         */
-        createTypedArray : function(pixelFormat, pixelDatatype, width, height) {
-            var constructor;
-            var sizeInBytes = PixelDatatype.sizeInBytes(pixelDatatype);
-            if (sizeInBytes === Uint8Array.BYTES_PER_ELEMENT) {
-                constructor = Uint8Array;
-            } else if (sizeInBytes === Uint16Array.BYTES_PER_ELEMENT) {
-                constructor = Uint16Array;
-            } else if (sizeInBytes === Float32Array.BYTES_PER_ELEMENT && pixelDatatype === PixelDatatype.FLOAT) {
-                constructor = Float32Array;
-            } else {
-                constructor = Uint32Array;
-            }
-
-            var size = PixelFormat.componentsLength(pixelFormat) * width * height;
-            return new constructor(size);
-        },
-
-        /**
-         * @private
-         */
-        flipY : function(bufferView, pixelFormat, pixelDatatype, width, height) {
-            if (height === 1) {
-                return bufferView;
-            }
-            var flipped = PixelFormat.createTypedArray(pixelFormat, pixelDatatype, width, height);
-            var numberOfComponents = PixelFormat.componentsLength(pixelFormat);
-            var textureWidth = width * numberOfComponents;
-            for (var i = 0; i < height; ++i) {
-                var row = i * height * numberOfComponents;
-                var flippedRow = (height - i - 1) * height * numberOfComponents;
-                for (var j = 0; j < textureWidth; ++j) {
-                    flipped[flippedRow + j] = bufferView[row + j];
-                }
-            }
-            return flipped;
-        }
-    };
-
-    var PixelFormat$1 = Object.freeze(PixelFormat);
-
-    // Modified from texture-tester
-    // See:
-    //     https://github.com/toji/texture-tester/blob/master/js/webgl-texture-util.js
-    //     http://toji.github.io/texture-tester/
-
-    /**
-     * @license
-     *
-     * Copyright (c) 2014, Brandon Jones. All rights reserved.
-     *
-     * Redistribution and use in source and binary forms, with or without modification,
-     * are permitted provided that the following conditions are met:
-     *
-     *  * Redistributions of source code must retain the above copyright notice, this
-     *  list of conditions and the following disclaimer.
-     *  * Redistributions in binary form must reproduce the above copyright notice,
-     *  this list of conditions and the following disclaimer in the documentation
-     *  and/or other materials provided with the distribution.
-     *
-     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-     * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-     * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-     * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-     * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-     * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-     * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-     * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-     */
-
-    // Taken from crnlib.h
-    var CRN_FORMAT = {
-        cCRNFmtInvalid: -1,
-
-        cCRNFmtDXT1: 0,
-        // cCRNFmtDXT3 is not currently supported when writing to CRN - only DDS.
-        cCRNFmtDXT3: 1,
-        cCRNFmtDXT5: 2
-
-        // Crunch supports more formats than this, but we can't use them here.
-    };
-
-    // Mapping of Crunch formats to DXT formats.
-    var DXT_FORMAT_MAP = {};
-    DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT1] = PixelFormat$1.RGB_DXT1;
-    DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT3] = PixelFormat$1.RGBA_DXT3;
-    DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT5] = PixelFormat$1.RGBA_DXT5;
-
-    var dst;
-    var dxtData;
-    var cachedDstSize = 0;
-
-    var crunch;
-
-    // Copy an array of bytes into or out of the emscripten heap.
-    function arrayBufferCopy(src, dst, dstByteOffset, numBytes) {
-        var i;
-        var dst32Offset = dstByteOffset / 4;
-        var tail = (numBytes % 4);
-        var src32 = new Uint32Array(src.buffer, 0, (numBytes - tail) / 4);
-        var dst32 = new Uint32Array(dst.buffer);
-        for (i = 0; i < src32.length; i++) {
-            dst32[dst32Offset + i] = src32[i];
-        }
-        for (i = numBytes - tail; i < numBytes; i++) {
-            dst[dstByteOffset + i] = src[i];
-        }
-    }
-
-    /**
-     * @private
-     */
-    function convertCRNToDXT(parameters, transferableObjects) {
-        // Copy the contents of the arrayBuffer into emscriptens heap.
-        var arrayBuffer = parameters.data;
-        var srcSize = arrayBuffer.byteLength;
-        var bytes = new Uint8Array(arrayBuffer);
-        var src = crunch._malloc(srcSize);
-        arrayBufferCopy(bytes, crunch.HEAPU8, src, srcSize);
-
-        // Determine what type of compressed data the file contains.
-        var crnFormat = crunch._crn_get_dxt_format(src, srcSize);
-        var format = DXT_FORMAT_MAP[crnFormat];
-        if (!when.defined(format)) {
-            throw new RuntimeError.RuntimeError('Unsupported compressed format.');
-        }
-
-        // Gather basic metrics about the DXT data.
-        var levels = crunch._crn_get_levels(src, srcSize);
-        var width = crunch._crn_get_width(src, srcSize);
-        var height = crunch._crn_get_height(src, srcSize);
-
-        // Determine the size of the decoded DXT data.
-        var dstSize = 0;
-        var i;
-        for (i = 0; i < levels; ++i) {
-            dstSize += PixelFormat$1.compressedTextureSizeInBytes(format, width >> i, height >> i);
-        }
-
-        // Allocate enough space on the emscripten heap to hold the decoded DXT data
-        // or reuse the existing allocation if a previous call to this function has
-        // already acquired a large enough buffer.
-        if(cachedDstSize < dstSize) {
-            if(when.defined(dst)) {
-                crunch._free(dst);
-            }
-            dst = crunch._malloc(dstSize);
-            dxtData = new Uint8Array(crunch.HEAPU8.buffer, dst, dstSize);
-            cachedDstSize = dstSize;
-        }
-
-        // Decompress the DXT data from the Crunch file into the allocated space.
-        crunch._crn_decompress(src, srcSize, dst, dstSize, 0, levels);
-
-        // Release the crunch file data from the emscripten heap.
-        crunch._free(src);
-
-        var bOutMipMapData = when.defaultValue(parameters.bMipMap, false);
-        if(bOutMipMapData){
-            var dXTDataMipMap = dxtData.slice(0, dstSize);
-            transferableObjects.push(dXTDataMipMap.buffer);
-            return new CompressedTextureBuffer(format, width, height, dXTDataMipMap);
-        }
-        else {
-            // Mipmaps are unsupported, so copy the level 0 texture
-            // When mipmaps are supported, a copy will still be necessary as dxtData is a view on the heap.
-            var length = PixelFormat$1.compressedTextureSizeInBytes(format, width, height);
-
-            // Get a copy of the 0th mip level. dxtData will exceed length when there are more mip levels.
-            // Equivalent to dxtData.slice(0, length), which is not supported in IE11
-            var level0DXTDataView = dxtData.subarray(0, length);
-            var level0DXTData = new Uint8Array(length);
-            level0DXTData.set(level0DXTDataView, 0);
-
-            transferableObjects.push(level0DXTData.buffer);
-            return new CompressedTextureBuffer(format, width, height, level0DXTData);
-        }
-    }
-
-    function initWorker(crunchModule) {
-        crunch = crunchModule;
-        self.onmessage = createTaskProcessorWorker(convertCRNToDXT);
-        self.postMessage(true);
-    }
-
-    function transcodeCRNToDXT(event) {
-        var data = event.data;
-
-        // Expect the first message to be to load a web assembly module
-        var wasmConfig = data.webAssemblyConfig;
-        if (when.defined(wasmConfig)) {
-            // Require and compile WebAssembly module, or use fallback if not supported
-            return require([wasmConfig.modulePath], function(crnModule) {
-                if (when.defined(wasmConfig.wasmBinaryFile)) {
-                    if (!when.defined(crnModule)) {
-                        crnModule = self.Module;
-                    }
-                    initWorker(crnModule);
-                } else {
-                    initWorker(crnModule);
-                }
-            });
-        }
-    }
-
-    return transcodeCRNToDXT;
-
-});
diff --git a/libs/supermap/Workers/transferTypedArrayTest.js b/libs/supermap/Workers/transferTypedArrayTest.js
deleted file mode 100644
index f289af0..0000000
--- a/libs/supermap/Workers/transferTypedArrayTest.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-"undefined"==typeof self&&(self={}),self.onmessage=function(e){"use strict";var s=e.data.array,a=self.webkitPostMessage||self.postMessage;try{a({array:s},[s.buffer])}catch(e){a({})}};
\ No newline at end of file
diff --git a/libs/supermap/Workers/unzip-b0fc9445.js b/libs/supermap/Workers/unzip-b0fc9445.js
deleted file mode 100644
index 7ade053..0000000
--- a/libs/supermap/Workers/unzip-b0fc9445.js
+++ /dev/null
@@ -1,1718 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports'], function (exports) { 'use strict';
-
-	// Copyright 2010 The Emscripten Authors.  All rights reserved.
-	// Emscripten is available under two separate licenses, the MIT license and the
-	// University of Illinois/NCSA Open Source License.  Both these licenses can be
-	// found in the LICENSE file.
-
-	// The Module object: Our interface to the outside world. We import
-	// and export values on it. There are various ways Module can be used:
-	// 1. Not defined. We create it here
-	// 2. A function parameter, function(Module) { ..generated code.. }
-	// 3. pre-run appended it, var Module = {}; ..generated code..
-	// 4. External script tag defines var Module.
-	// We need to check if Module already exists (e.g. case 3 above).
-	// Substitution will be replaced with actual code on later stage of the build,
-	// this way Closure Compiler will not mangle it (e.g. case 4. above).
-	// Note that if you want to run closure, and also to use Module
-	// after the generated code, you will need to define   var Module = {};
-	// before the code. Then that object will be used in the code, and you
-	// can continue to use Module afterwards as well.
-	if (typeof WebAssembly !== 'undefined') {
-		var Module = typeof Module !== 'undefined' ? Module : {};
-
-		// --pre-jses are emitted after the Module integration code, so that they can
-		// refer to Module (if they choose; they can also define Module)
-		// {{PRE_JSES}}
-
-		// Sometimes an existing Module object exists with properties
-		// meant to overwrite the default module functionality. Here
-		// we collect those properties and reapply _after_ we configure
-		// the current environment's defaults to avoid having to be so
-		// defensive during initialization.
-		var moduleOverrides = {};
-		var key;
-		for (key in Module) {
-		  if (Module.hasOwnProperty(key)) {
-			moduleOverrides[key] = Module[key];
-		  }
-		}
-
-		Module['arguments'] = [];
-		Module['thisProgram'] = './this.program';
-		Module['quit'] = function(status, toThrow) {
-		  throw toThrow;
-		};
-		Module['preRun'] = [];
-		Module['postRun'] = [];
-
-		// Determine the runtime environment we are in. You can customize this by
-		// setting the ENVIRONMENT setting at compile time (see settings.js).
-
-		var ENVIRONMENT_IS_WEB = false;
-		var ENVIRONMENT_IS_WORKER = false;
-		var ENVIRONMENT_IS_NODE = false;
-		var ENVIRONMENT_HAS_NODE = false;
-		var ENVIRONMENT_IS_SHELL = false;
-		ENVIRONMENT_IS_WEB = typeof window === 'object';
-		ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
-		// A web environment like Electron.js can have Node enabled, so we must
-		// distinguish between Node-enabled environments and Node environments per se.
-		// This will allow the former to do things like mount NODEFS.
-		ENVIRONMENT_HAS_NODE = typeof process === 'object' && typeof require === 'function';
-		ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
-		ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
-
-		if (Module['ENVIRONMENT']) {
-		  throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)');
-		}
-
-
-		// Three configurations we can be running in:
-		// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false)
-		// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false)
-		// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true)
-
-
-
-
-		// `/` should be present at the end if `scriptDirectory` is not empty
-		var scriptDirectory = '';
-		function locateFile(path) {
-		  if (Module['locateFile']) {
-			return Module['locateFile'](path, scriptDirectory);
-		  } else {
-			return scriptDirectory + path;
-		  }
-		}
-
-		if (ENVIRONMENT_IS_NODE) {
-		  scriptDirectory = __dirname + '/';
-
-		  // Expose functionality in the same simple way that the shells work
-		  // Note that we pollute the global namespace here, otherwise we break in node
-		  var nodeFS;
-		  var nodePath;
-
-		  Module['read'] = function shell_read(filename, binary) {
-			var ret;
-			  if (!nodeFS) nodeFS = require('fs');
-			  if (!nodePath) nodePath = require('path');
-			  filename = nodePath['normalize'](filename);
-			  ret = nodeFS['readFileSync'](filename);
-			return binary ? ret : ret.toString();
-		  };
-
-		  Module['readBinary'] = function readBinary(filename) {
-			var ret = Module['read'](filename, true);
-			if (!ret.buffer) {
-			  ret = new Uint8Array(ret);
-			}
-			assert(ret.buffer);
-			return ret;
-		  };
-
-		  if (process['argv'].length > 1) {
-			Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/');
-		  }
-
-		  Module['arguments'] = process['argv'].slice(2);
-
-		  if (typeof module !== 'undefined') {
-			module['exports'] = Module;
-		  }
-
-		  process['on']('uncaughtException', function(ex) {
-			// suppress ExitStatus exceptions from showing an error
-			if (!(ex instanceof ExitStatus)) {
-			  throw ex;
-			}
-		  });
-		  // Currently node will swallow unhandled rejections, but this behavior is
-		  // deprecated, and in the future it will exit with error status.
-		  process['on']('unhandledRejection', abort);
-
-		  Module['quit'] = function(status) {
-			process['exit'](status);
-		  };
-
-		  Module['inspect'] = function () { return '[Emscripten Module object]'; };
-		} else
-		if (ENVIRONMENT_IS_SHELL) {
-
-
-		  if (typeof read != 'undefined') {
-			Module['read'] = function shell_read(f) {
-			  return read(f);
-			};
-		  }
-
-		  Module['readBinary'] = function readBinary(f) {
-			var data;
-			if (typeof readbuffer === 'function') {
-			  return new Uint8Array(readbuffer(f));
-			}
-			data = read(f, 'binary');
-			assert(typeof data === 'object');
-			return data;
-		  };
-
-		  if (typeof scriptArgs != 'undefined') {
-			Module['arguments'] = scriptArgs;
-		  } else if (typeof arguments != 'undefined') {
-			Module['arguments'] = arguments;
-		  }
-
-		  if (typeof quit === 'function') {
-			Module['quit'] = function(status) {
-			  quit(status);
-			};
-		  }
-		} else
-		if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
-		  if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled
-			scriptDirectory = self.location.href;
-		  } else if (document.currentScript) { // web
-			scriptDirectory = document.currentScript.src;
-		  }
-		  // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
-		  // otherwise, slice off the final part of the url to find the script directory.
-		  // if scriptDirectory does not contain a slash, lastIndexOf will return -1,
-		  // and scriptDirectory will correctly be replaced with an empty string.
-		  if (scriptDirectory.indexOf('blob:') !== 0) {
-			scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1);
-		  } else {
-			scriptDirectory = '';
-		  }
-
-
-		  Module['read'] = function shell_read(url) {
-			  var xhr = new XMLHttpRequest();
-			  xhr.open('GET', url, false);
-			  xhr.send(null);
-			  return xhr.responseText;
-		  };
-
-		  if (ENVIRONMENT_IS_WORKER) {
-			Module['readBinary'] = function readBinary(url) {
-				var xhr = new XMLHttpRequest();
-				xhr.open('GET', url, false);
-				xhr.responseType = 'arraybuffer';
-				xhr.send(null);
-				return new Uint8Array(xhr.response);
-			};
-		  }
-
-		  Module['readAsync'] = function readAsync(url, onload, onerror) {
-			var xhr = new XMLHttpRequest();
-			xhr.open('GET', url, true);
-			xhr.responseType = 'arraybuffer';
-			xhr.onload = function xhr_onload() {
-			  if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
-				onload(xhr.response);
-				return;
-			  }
-			  onerror();
-			};
-			xhr.onerror = onerror;
-			xhr.send(null);
-		  };
-
-		  Module['setWindowTitle'] = function(title) { document.title = title; };
-		} else
-		{
-		  throw new Error('environment detection error');
-		}
-
-		// Set up the out() and err() hooks, which are how we can print to stdout or
-		// stderr, respectively.
-		// If the user provided Module.print or printErr, use that. Otherwise,
-		// console.log is checked first, as 'print' on the web will open a print dialogue
-		// printErr is preferable to console.warn (works better in shells)
-		// bind(console) is necessary to fix IE/Edge closed dev tools panel behavior.
-		var out = Module['print'] || (typeof console !== 'undefined' ? console.log.bind(console) : (typeof print !== 'undefined' ? print : null));
-		var err = Module['printErr'] || (typeof printErr !== 'undefined' ? printErr : ((typeof console !== 'undefined' && console.warn.bind(console)) || out));
-
-		// Merge back in the overrides
-		for (key in moduleOverrides) {
-		  if (moduleOverrides.hasOwnProperty(key)) {
-			Module[key] = moduleOverrides[key];
-		  }
-		}
-		// Free the object hierarchy contained in the overrides, this lets the GC
-		// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
-		moduleOverrides = undefined;
-
-		// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
-		assert(typeof Module['memoryInitializerPrefixURL'] === 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead');
-		assert(typeof Module['pthreadMainPrefixURL'] === 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead');
-		assert(typeof Module['cdInitializerPrefixURL'] === 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead');
-		assert(typeof Module['filePackagePrefixURL'] === 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead');
-
-		// stack management, and other functionality that is provided by the compiled code,
-		// should not be used before it is ready
-		stackSave = stackRestore = stackAlloc = function() {
-		  abort('cannot use the stack before compiled code is ready to run, and has provided stack access');
-		};
-
-		function warnOnce(text) {
-		  if (!warnOnce.shown) warnOnce.shown = {};
-		  if (!warnOnce.shown[text]) {
-			warnOnce.shown[text] = 1;
-			//err(text);
-		  }
-		}
-
-		var asm2wasmImports = { // special asm2wasm imports
-			"f64-rem": function(x, y) {
-				return x % y;
-			},
-			"debugger": function() {
-				debugger;
-			}
-		};
-		var functionPointers = new Array(0);
-
-		var tempRet0 = 0;
-
-		var setTempRet0 = function(value) {
-		  tempRet0 = value;
-		};
-
-		var getTempRet0 = function() {
-		  return tempRet0;
-		};
-
-
-
-
-		// === Preamble library stuff ===
-
-		// Documentation for the public APIs defined in this file must be updated in:
-		//    site/source/docs/api_reference/preamble.js.rst
-		// A prebuilt local version of the documentation is available at:
-		//    site/build/text/docs/api_reference/preamble.js.txt
-		// You can also build docs locally as HTML or other formats in site/
-		// An online HTML version (which may be of a different version of Emscripten)
-		//    is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
-
-
-
-		if (typeof WebAssembly !== 'object') {
-		  abort('No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.');
-		}
-
-		/** @type {function(number, string, boolean=)} */
-		function getValue(ptr, type, noSafe) {
-		  type = type || 'i8';
-		  if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
-			switch(type) {
-			  case 'i1': return HEAP8[((ptr)>>0)];
-			  case 'i8': return HEAP8[((ptr)>>0)];
-			  case 'i16': return HEAP16[((ptr)>>1)];
-			  case 'i32': return HEAP32[((ptr)>>2)];
-			  case 'i64': return HEAP32[((ptr)>>2)];
-			  case 'float': return HEAPF32[((ptr)>>2)];
-			  case 'double': return HEAPF64[((ptr)>>3)];
-			  default: abort('invalid type for getValue: ' + type);
-			}
-		  return null;
-		}
-
-
-
-
-
-		// Wasm globals
-
-		var wasmMemory;
-
-		// Potentially used for direct table calls.
-		var wasmTable;
-
-
-		//========================================
-		// Runtime essentials
-		//========================================
-
-		// whether we are quitting the application. no code should run after this.
-		// set in exit() and abort()
-		var ABORT = false;
-
-		/** @type {function(*, string=)} */
-		function assert(condition, text) {
-		  if (!condition) {
-			abort('Assertion failed: ' + text);
-		  }
-		}
-
-		// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
-		function getCFunc(ident) {
-		  var func = Module['_' + ident]; // closure exported function
-		  assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported');
-		  return func;
-		}
-
-		// C calling interface.
-		function ccall(ident, returnType, argTypes, args, opts) {
-		  // For fast lookup of conversion functions
-		  var toC = {
-			'string': function(str) {
-			  var ret = 0;
-			  if (str !== null && str !== undefined && str !== 0) { // null string
-				// at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
-				var len = (str.length << 2) + 1;
-				ret = stackAlloc(len);
-				stringToUTF8(str, ret, len);
-			  }
-			  return ret;
-			},
-			'array': function(arr) {
-			  var ret = stackAlloc(arr.length);
-			  writeArrayToMemory(arr, ret);
-			  return ret;
-			}
-		  };
-
-		  function convertReturnValue(ret) {
-			if (returnType === 'string') return UTF8ToString(ret);
-			if (returnType === 'boolean') return Boolean(ret);
-			return ret;
-		  }
-
-		  var func = getCFunc(ident);
-		  var cArgs = [];
-		  var stack = 0;
-		  assert(returnType !== 'array', 'Return type should not be "array".');
-		  if (args) {
-			for (var i = 0; i < args.length; i++) {
-			  var converter = toC[argTypes[i]];
-			  if (converter) {
-				if (stack === 0) stack = stackSave();
-				cArgs[i] = converter(args[i]);
-			  } else {
-				cArgs[i] = args[i];
-			  }
-			}
-		  }
-		  var ret = func.apply(null, cArgs);
-		  ret = convertReturnValue(ret);
-		  if (stack !== 0) stackRestore(stack);
-		  return ret;
-		}
-
-		function cwrap(ident, returnType, argTypes, opts) {
-		  return function() {
-			return ccall(ident, returnType, argTypes, arguments);
-		  }
-		}
-
-
-		// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns
-		// a copy of that string as a Javascript String object.
-
-		var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined;
-
-		/**
-		 * @param {number} idx
-		 * @param {number=} maxBytesToRead
-		 * @return {string}
-		 */
-		function UTF8ArrayToString(u8Array, idx, maxBytesToRead) {
-		  var endIdx = idx + maxBytesToRead;
-		  var endPtr = idx;
-		  // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
-		  // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
-		  // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity)
-		  while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr;
-
-		  if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
-			return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
-		  } else {
-			var str = '';
-			// If building with TextDecoder, we have already computed the string length above, so test loop end condition against that
-			while (idx < endPtr) {
-			  // For UTF8 byte structure, see:
-			  // http://en.wikipedia.org/wiki/UTF-8#Description
-			  // https://www.ietf.org/rfc/rfc2279.txt
-			  // https://tools.ietf.org/html/rfc3629
-			  var u0 = u8Array[idx++];
-			  if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
-			  var u1 = u8Array[idx++] & 63;
-			  if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
-			  var u2 = u8Array[idx++] & 63;
-			  if ((u0 & 0xF0) == 0xE0) {
-				u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
-			  } else {
-				if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte 0x' + u0.toString(16) + ' encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!');
-				u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (u8Array[idx++] & 63);
-			  }
-
-			  if (u0 < 0x10000) {
-				str += String.fromCharCode(u0);
-			  } else {
-				var ch = u0 - 0x10000;
-				str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
-			  }
-			}
-		  }
-		  return str;
-		}
-
-		// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a
-		// copy of that string as a Javascript String object.
-		// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit
-		//                 this parameter to scan the string until the first \0 byte. If maxBytesToRead is
-		//                 passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the
-		//                 middle, then the string will cut short at that byte index (i.e. maxBytesToRead will
-		//                 not produce a string of exact length [ptr, ptr+maxBytesToRead[)
-		//                 N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may
-		//                 throw JS JIT optimizations off, so it is worth to consider consistently using one
-		//                 style or the other.
-		/**
-		 * @param {number} ptr
-		 * @param {number=} maxBytesToRead
-		 * @return {string}
-		 */
-		function UTF8ToString(ptr, maxBytesToRead) {
-		  return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : '';
-		}
-
-		// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx',
-		// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP.
-		// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.
-		// Parameters:
-		//   str: the Javascript string to copy.
-		//   outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element.
-		//   outIdx: The starting offset in the array to begin the copying.
-		//   maxBytesToWrite: The maximum number of bytes this function can write to the array.
-		//                    This count should include the null terminator,
-		//                    i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
-		//                    maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.
-		// Returns the number of bytes written, EXCLUDING the null terminator.
-
-		function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
-		  if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes.
-			return 0;
-
-		  var startIdx = outIdx;
-		  var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.
-		  for (var i = 0; i < str.length; ++i) {
-			// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
-			// See http://unicode.org/faq/utf_bom.html#utf16-3
-			// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
-			var u = str.charCodeAt(i); // possibly a lead surrogate
-			if (u >= 0xD800 && u <= 0xDFFF) {
-			  var u1 = str.charCodeAt(++i);
-			  u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
-			}
-			if (u <= 0x7F) {
-			  if (outIdx >= endIdx) break;
-			  outU8Array[outIdx++] = u;
-			} else if (u <= 0x7FF) {
-			  if (outIdx + 1 >= endIdx) break;
-			  outU8Array[outIdx++] = 0xC0 | (u >> 6);
-			  outU8Array[outIdx++] = 0x80 | (u & 63);
-			} else if (u <= 0xFFFF) {
-			  if (outIdx + 2 >= endIdx) break;
-			  outU8Array[outIdx++] = 0xE0 | (u >> 12);
-			  outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
-			  outU8Array[outIdx++] = 0x80 | (u & 63);
-			} else {
-			  if (outIdx + 3 >= endIdx) break;
-			  if (u >= 0x200000) warnOnce('Invalid Unicode code point 0x' + u.toString(16) + ' encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).');
-			  outU8Array[outIdx++] = 0xF0 | (u >> 18);
-			  outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
-			  outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
-			  outU8Array[outIdx++] = 0x80 | (u & 63);
-			}
-		  }
-		  // Null-terminate the pointer to the buffer.
-		  outU8Array[outIdx] = 0;
-		  return outIdx - startIdx;
-		}
-
-		// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
-		// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP.
-		// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.
-		// Returns the number of bytes written, EXCLUDING the null terminator.
-
-		function stringToUTF8(str, outPtr, maxBytesToWrite) {
-		  assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
-		  return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
-		}
-
-
-		// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
-		// a copy of that string as a Javascript String object.
-
-		var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined;
-
-		function writeArrayToMemory(array, buffer) {
-		  assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)');
-		  HEAP8.set(array, buffer);
-		}
-
-
-
-
-
-		function demangle(func) {
-		  return func;
-		}
-
-		function demangleAll(text) {
-		  var regex =
-			/__Z[\w\d_]+/g;
-		  return text.replace(regex,
-			function(x) {
-			  var y = demangle(x);
-			  return x === y ? x : (y + ' [' + x + ']');
-			});
-		}
-
-		function jsStackTrace() {
-		  var err = new Error();
-		  if (!err.stack) {
-			// IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
-			// so try that as a special-case.
-			try {
-			  throw new Error(0);
-			} catch(e) {
-			  err = e;
-			}
-			if (!err.stack) {
-			  return '(no stack trace available)';
-			}
-		  }
-		  return err.stack.toString();
-		}
-
-		function stackTrace() {
-		  var js = jsStackTrace();
-		  if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
-		  return demangleAll(js);
-		}
-		var WASM_PAGE_SIZE = 65536;
-
-		function alignUp(x, multiple) {
-		  if (x % multiple > 0) {
-			x += multiple - (x % multiple);
-		  }
-		  return x;
-		}
-
-		var /** @type {ArrayBuffer} */
-		  buffer,
-		/** @type {Int8Array} */
-		  HEAP8,
-		/** @type {Uint8Array} */
-		  HEAPU8,
-		/** @type {Int16Array} */
-		  HEAP16,
-		/** @type {Uint16Array} */
-		  HEAPU16,
-		/** @type {Int32Array} */
-		  HEAP32,
-		/** @type {Uint32Array} */
-		  HEAPU32,
-		/** @type {Float32Array} */
-		  HEAPF32,
-		/** @type {Float64Array} */
-		  HEAPF64;
-
-		function updateGlobalBufferViews() {
-		  Module['HEAP8'] = HEAP8 = new Int8Array(buffer);
-		  Module['HEAP16'] = HEAP16 = new Int16Array(buffer);
-		  Module['HEAP32'] = HEAP32 = new Int32Array(buffer);
-		  Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer);
-		  Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer);
-		  Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer);
-		  Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer);
-		  Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer);
-		}
-
-
-		var STACK_BASE = 15104,
-			STACK_MAX = 5257984,
-			DYNAMIC_BASE = 5257984,
-			DYNAMICTOP_PTR = 15072;
-
-		assert(STACK_BASE % 16 === 0, 'stack must start aligned');
-		assert(DYNAMIC_BASE % 16 === 0, 'heap must start aligned');
-
-
-
-		var TOTAL_STACK = 5242880;
-		if (Module['TOTAL_STACK']) assert(TOTAL_STACK === Module['TOTAL_STACK'], 'the stack size can no longer be determined at runtime');
-
-		var INITIAL_TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
-		if (INITIAL_TOTAL_MEMORY < TOTAL_STACK) err('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + INITIAL_TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')');
-
-		// Initialize the runtime's memory
-		// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
-		assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined,
-			   'JS engine does not provide full typed array support');
-
-
-
-
-
-
-
-		// Use a provided buffer, if there is one, or else allocate a new one
-		if (Module['buffer']) {
-		  buffer = Module['buffer'];
-		  assert(buffer.byteLength === INITIAL_TOTAL_MEMORY, 'provided buffer should be ' + INITIAL_TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength);
-		} else {
-		  // Use a WebAssembly memory where available
-		  if (typeof WebAssembly === 'object' && typeof WebAssembly.Memory === 'function') {
-			assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0);
-			wasmMemory = new WebAssembly.Memory({ 'initial': INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE });
-			buffer = wasmMemory.buffer;
-		  } else
-		  {
-			buffer = new ArrayBuffer(INITIAL_TOTAL_MEMORY);
-		  }
-		  assert(buffer.byteLength === INITIAL_TOTAL_MEMORY);
-		}
-		updateGlobalBufferViews();
-
-
-		HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;
-
-
-		// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode.
-		function writeStackCookie() {
-		  assert((STACK_MAX & 3) == 0);
-		  HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467;
-		  HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE;
-		}
-
-		function checkStackCookie() {
-		  if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) {
-			abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16));
-		  }
-		  // Also test the global address 0 for integrity.
-		  if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) abort('Runtime error: The application has corrupted its heap memory area (address zero)!');
-		}
-
-		function abortStackOverflow(allocSize) {
-		  abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - stackSave() + allocSize) + ' bytes available!');
-		}
-
-
-		  HEAP32[0] = 0x63736d65; /* 'emsc' */
-
-
-
-		// Endianness check (note: assumes compiler arch was little-endian)
-		HEAP16[1] = 0x6373;
-		if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!';
-
-		function callRuntimeCallbacks(callbacks) {
-		  while(callbacks.length > 0) {
-			var callback = callbacks.shift();
-			if (typeof callback == 'function') {
-			  callback();
-			  continue;
-			}
-			var func = callback.func;
-			if (typeof func === 'number') {
-			  if (callback.arg === undefined) {
-				Module['dynCall_v'](func);
-			  } else {
-				Module['dynCall_vi'](func, callback.arg);
-			  }
-			} else {
-			  func(callback.arg === undefined ? null : callback.arg);
-			}
-		  }
-		}
-
-		var __ATPRERUN__  = []; // functions called before the runtime is initialized
-		var __ATINIT__    = []; // functions called during startup
-		var __ATMAIN__    = []; // functions called when main() is to be run
-		var __ATPOSTRUN__ = []; // functions called after the main() is called
-
-		var runtimeInitialized = false;
-		var runtimeExited = false;
-
-
-		function preRun() {
-		  // compatibility - merge in anything from Module['preRun'] at this time
-		  if (Module['preRun']) {
-			if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
-			while (Module['preRun'].length) {
-			  addOnPreRun(Module['preRun'].shift());
-			}
-		  }
-		  callRuntimeCallbacks(__ATPRERUN__);
-		}
-
-		function ensureInitRuntime() {
-		  checkStackCookie();
-		  if (runtimeInitialized) return;
-		  runtimeInitialized = true;
-		  
-		  callRuntimeCallbacks(__ATINIT__);
-		}
-
-		function preMain() {
-		  checkStackCookie();
-		  
-		  callRuntimeCallbacks(__ATMAIN__);
-		}
-
-		function postRun() {
-		  checkStackCookie();
-		  // compatibility - merge in anything from Module['postRun'] at this time
-		  if (Module['postRun']) {
-			if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
-			while (Module['postRun'].length) {
-			  addOnPostRun(Module['postRun'].shift());
-			}
-		  }
-		  callRuntimeCallbacks(__ATPOSTRUN__);
-		}
-
-		function addOnPreRun(cb) {
-		  __ATPRERUN__.unshift(cb);
-		}
-
-		function addOnPostRun(cb) {
-		  __ATPOSTRUN__.unshift(cb);
-		}
-
-
-		assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
-		assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
-		assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
-		assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
-
-
-
-		// A counter of dependencies for calling run(). If we need to
-		// do asynchronous work before running, increment this and
-		// decrement it. Incrementing must happen in a place like
-		// Module.preRun (used by emcc to add file preloading).
-		// Note that you can add dependencies in preRun, even though
-		// it happens right before run - run will be postponed until
-		// the dependencies are met.
-		var runDependencies = 0;
-		var runDependencyWatcher = null;
-		var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
-		var runDependencyTracking = {};
-
-		function addRunDependency(id) {
-		  runDependencies++;
-		  if (Module['monitorRunDependencies']) {
-			Module['monitorRunDependencies'](runDependencies);
-		  }
-		  if (id) {
-			assert(!runDependencyTracking[id]);
-			runDependencyTracking[id] = 1;
-			if (runDependencyWatcher === null && typeof setInterval !== 'undefined') {
-			  // Check for missing dependencies every few seconds
-			  runDependencyWatcher = setInterval(function() {
-				if (ABORT) {
-				  clearInterval(runDependencyWatcher);
-				  runDependencyWatcher = null;
-				  return;
-				}
-			  }, 10000);
-			}
-		  }
-		}
-
-		function removeRunDependency(id) {
-		  runDependencies--;
-		  if (Module['monitorRunDependencies']) {
-			Module['monitorRunDependencies'](runDependencies);
-		  }
-		  if (id) {
-			assert(runDependencyTracking[id]);
-			delete runDependencyTracking[id];
-		  } else {
-			err('warning: run dependency removed without ID');
-		  }
-		  if (runDependencies == 0) {
-			if (runDependencyWatcher !== null) {
-			  clearInterval(runDependencyWatcher);
-			  runDependencyWatcher = null;
-			}
-			if (dependenciesFulfilled) {
-			  var callback = dependenciesFulfilled;
-			  dependenciesFulfilled = null;
-			  callback(); // can add another dependenciesFulfilled
-			}
-		  }
-		}
-
-		Module["preloadedImages"] = {}; // maps url to image data
-		Module["preloadedAudios"] = {}; // maps url to audio data
-
-
-
-		// show errors on likely calls to FS when it was not included
-		var FS = {
-		  error: function() {
-			abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with  -s FORCE_FILESYSTEM=1');
-		  },
-		  init: function() { FS.error(); },
-		  createDataFile: function() { FS.error(); },
-		  createPreloadedFile: function() { FS.error(); },
-		  createLazyFile: function() { FS.error(); },
-		  open: function() { FS.error(); },
-		  mkdev: function() { FS.error(); },
-		  registerDevice: function() { FS.error(); },
-		  analyzePath: function() { FS.error(); },
-		  loadFilesFromDB: function() { FS.error(); },
-
-		  ErrnoError: function ErrnoError() { FS.error(); },
-		};
-		Module['FS_createDataFile'] = FS.createDataFile;
-		Module['FS_createPreloadedFile'] = FS.createPreloadedFile;
-
-
-
-		// Copyright 2017 The Emscripten Authors.  All rights reserved.
-		// Emscripten is available under two separate licenses, the MIT license and the
-		// University of Illinois/NCSA Open Source License.  Both these licenses can be
-		// found in the LICENSE file.
-
-		// Prefix of data URIs emitted by SINGLE_FILE and related options.
-		var dataURIPrefix = 'data:application/octet-stream;base64,';
-
-		// Indicates whether filename is a base64 data URI.
-		function isDataURI(filename) {
-		  return String.prototype.startsWith ?
-			  filename.startsWith(dataURIPrefix) :
-			  filename.indexOf(dataURIPrefix) === 0;
-		}
-
-
-
-
-		var wasmBinaryFile = 'ThirdParty/unzip.wasm';
-		if (!isDataURI(wasmBinaryFile)) {
-		  wasmBinaryFile = locateFile(wasmBinaryFile);
-		}
-
-		function getBinary() {
-		  try {
-			if (Module['wasmBinary']) {
-			  return new Uint8Array(Module['wasmBinary']);
-			}
-			if (Module['readBinary']) {
-			  return Module['readBinary'](wasmBinaryFile);
-			} else {
-			  throw "both async and sync fetching of the wasm failed";
-			}
-		  }
-		  catch (err) {
-			abort(err);
-		  }
-		}
-
-		function getBinaryPromise() {
-		  // if we don't have the binary yet, and have the Fetch api, use that
-		  // in some environments, like Electron's render process, Fetch api may be present, but have a different context than expected, let's only use it on the Web
-		  if (!Module['wasmBinary'] && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === 'function') {
-			return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) {
-			  if (!response['ok']) {
-				throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
-			  }
-			  return response['arrayBuffer']();
-			}).catch(function () {
-			  return getBinary();
-			});
-		  }
-		  // Otherwise, getBinary should be able to get it synchronously
-		  return new Promise(function(resolve, reject) {
-			resolve(getBinary());
-		  });
-		}
-
-
-
-		// Create the wasm instance.
-		// Receives the wasm imports, returns the exports.
-		function createWasm(env) {
-
-		  // prepare imports
-		  var info = {
-			'env': env
-			,
-			'global': {
-			  'NaN': NaN,
-			  'Infinity': Infinity
-			},
-			'global.Math': Math,
-			'asm2wasm': asm2wasmImports
-		  };
-		  // Load the wasm module and create an instance of using native support in the JS engine.
-		  // handle a generated wasm instance, receiving its exports and
-		  // performing other necessary setup
-		  function receiveInstance(instance, module) {
-			var exports = instance.exports;
-			Module['asm'] = exports;
-			removeRunDependency('wasm-instantiate');
-		  }
-		  addRunDependency('wasm-instantiate');
-
-
-		  // Async compilation can be confusing when an error on the page overwrites Module
-		  // (for example, if the order of elements is wrong, and the one defining Module is
-		  // later), so we save Module and check it later.
-		  var trueModule = Module;
-		  function receiveInstantiatedSource(output) {
-			// 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance.
-			// receiveInstance() will swap in the exports (to Module.asm) so they can be called
-			assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?');
-			trueModule = null;
-			  // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
-			  // When the regression is fixed, can restore the above USE_PTHREADS-enabled path.
-			receiveInstance(output['instance']);
-		  }
-
-
-		  function instantiateArrayBuffer(receiver) {
-			return getBinaryPromise().then(function(binary) {
-			  return WebAssembly.instantiate(binary, info);
-			}).then(receiver, function(reason) {
-			  //err('failed to asynchronously prepare wasm: ' + reason);
-			  //abort(reason);
-			});
-		  }
-
-		  // Prefer streaming instantiation if available.
-		  function instantiateAsync() {
-			if (!Module['wasmBinary'] &&
-				typeof WebAssembly.instantiateStreaming === 'function' &&
-				!isDataURI(wasmBinaryFile) &&
-				typeof fetch === 'function') {
-			  fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function (response) {
-				return WebAssembly.instantiateStreaming(response, info)
-				  .then(receiveInstantiatedSource, function(reason) {
-					// We expect the most common failure cause to be a bad MIME type for the binary,
-					// in which case falling back to ArrayBuffer instantiation should work.
-					// err('wasm streaming compile failed: ' + reason);
-					// err('falling back to ArrayBuffer instantiation');
-					instantiateArrayBuffer(receiveInstantiatedSource);
-				  });
-			  });
-			} else {
-			  return instantiateArrayBuffer(receiveInstantiatedSource);
-			}
-		  }
-		  // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
-		  // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel
-		  // to any other async startup actions they are performing.
-		  if (Module['instantiateWasm']) {
-			try {
-			  return Module['instantiateWasm'](info, receiveInstance);
-			} catch(e) {
-			  //err('Module.instantiateWasm callback failed with error: ' + e);
-			  return false;
-			}
-		  }
-
-		  instantiateAsync();
-		  return {}; // no exports yet; we'll fill them in later
-		}
-
-		// Provide an "asm.js function" for the application, called to "link" the asm.js module. We instantiate
-		// the wasm module at that time, and it receives imports and provides exports and so forth, the app
-		// doesn't need to care that it is wasm or asm.js.
-
-		Module['asm'] = function(global, env, providedBuffer) {
-		  // memory was already allocated (so js could use the buffer)
-		  env['memory'] = wasmMemory
-		  ;
-		  // import table
-		  env['table'] = wasmTable = new WebAssembly.Table({
-			'initial': 22,
-			'maximum': 22,
-			'element': 'anyfunc'
-		  });
-		  // With the wasm backend __memory_base and __table_base and only needed for
-		  // relocatable output.
-		  env['__memory_base'] = 1024; // tell the memory segments where to place themselves
-		  // table starts at 0 by default (even in dynamic linking, for the main module)
-		  env['__table_base'] = 0;
-
-		  var exports = createWasm(env);
-		  assert(exports, 'binaryen setup failed (no wasm support?)');
-		  return exports;
-		};
-
-
-
-
-
-		// STATICTOP = STATIC_BASE + 14080;
-		/* global initializers */ /*__ATINIT__.push();*/
-
-
-
-
-
-
-
-
-		/* no memory initializer */
-		var tempDoublePtr = 15088;
-		assert(tempDoublePtr % 8 == 0);
-
-		// {{PRE_LIBRARY}}
-
-
-		  function ___lock() {}
-	var SYSCALLS={buffers:[null,[],[]],printChar:function (stream, curr) {
-				var buffer = SYSCALLS.buffers[stream];
-				assert(buffer);
-				if (curr === 0 || curr === 10) {
-				  (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));
-				  buffer.length = 0;
-				} else {
-				  buffer.push(curr);
-				}
-			  },varargs:0,get:function (varargs) {
-				SYSCALLS.varargs += 4;
-				var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
-				return ret;
-			  },getStr:function () {
-				var ret = UTF8ToString(SYSCALLS.get());
-				return ret;
-			  },get64:function () {
-				var low = SYSCALLS.get(), high = SYSCALLS.get();
-				if (low >= 0) assert(high === 0);
-				else assert(high === -1);
-				return low;
-			  },getZero:function () {
-				assert(SYSCALLS.get() === 0);
-			  }};function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs;
-		  try {
-		   // llseek
-			  var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
-			  abort('it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM');
-			  return 0;
-			} catch (e) {
-			if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
-			return -e.errno;
-		  }
-		  }
-
-		  
-		  function flush_NO_FILESYSTEM() {
-			  // flush anything remaining in the buffers during shutdown
-			  var fflush = Module["_fflush"];
-			  if (fflush) fflush(0);
-			  var buffers = SYSCALLS.buffers;
-			  if (buffers[1].length) SYSCALLS.printChar(1, 10);
-			  if (buffers[2].length) SYSCALLS.printChar(2, 10);
-			}function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs;
-		  try {
-		   // writev
-			  // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0
-			  var stream = SYSCALLS.get(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
-			  var ret = 0;
-			  for (var i = 0; i < iovcnt; i++) {
-				var ptr = HEAP32[(((iov)+(i*8))>>2)];
-				var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
-				for (var j = 0; j < len; j++) {
-				  SYSCALLS.printChar(stream, HEAPU8[ptr+j]);
-				}
-				ret += len;
-			  }
-			  return ret;
-			} catch (e) {
-			if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
-			return -e.errno;
-		  }
-		  }
-
-		  function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs;
-		  try {
-		   // ioctl
-			  return 0;
-			} catch (e) {
-			if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
-			return -e.errno;
-		  }
-		  }
-
-		  function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs;
-		  try {
-		   // close
-			  var stream = SYSCALLS.getStreamFromFD();
-			  abort('it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM');
-			  return 0;
-			} catch (e) {
-			if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
-			return -e.errno;
-		  }
-		  }
-
-		  function ___unlock() {}
-
-		  function _emscripten_get_heap_size() {
-			  return HEAP8.length;
-			}
-
-		   
-
-		  
-		  function _emscripten_memcpy_big(dest, src, num) {
-			  HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
-			}
-		  
-		   
-
-		   
-
-		  
-		  function ___setErrNo(value) {
-			  if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value;
-			  else err('failed to set errno from JS');
-			  return value;
-			}
-		  
-		  
-		  function abortOnCannotGrowMemory(requestedSize) {
-			  abort('Cannot enlarge memory arrays to size ' + requestedSize + ' bytes (OOM). Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value ' + HEAP8.length + ', (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ');
-			}
-		  
-		  function emscripten_realloc_buffer(size) {
-			  var PAGE_MULTIPLE = 65536;
-			  size = alignUp(size, PAGE_MULTIPLE); // round up to wasm page size
-			  var oldSize = buffer.byteLength;
-			  // native wasm support
-			  // note that this is *not* threadsafe. multiple threads can call .grow(), and each
-			  // presents a delta, so in theory we may over-allocate here (e.g. if two threads
-			  // ask to grow from 256MB to 512MB, we get 2 requests to add +256MB, and may end
-			  // up growing to 768MB (even though we may have been able to make do with 512MB).
-			  // TODO: consider decreasing the step sizes in emscripten_resize_heap
-			  try {
-				var result = wasmMemory.grow((size - oldSize) / 65536); // .grow() takes a delta compared to the previous size
-				if (result !== (-1 | 0)) {
-				  // success in native wasm memory growth, get the buffer from the memory
-				  buffer = wasmMemory.buffer;
-				  return true;
-				} else {
-				  return false;
-				}
-			  } catch(e) {
-				console.error('emscripten_realloc_buffer: Attempted to grow from ' + oldSize  + ' bytes to ' + size + ' bytes, but got error: ' + e);
-				return false;
-			  }
-			}function _emscripten_resize_heap(requestedSize) {
-			  var oldSize = _emscripten_get_heap_size();
-			  // With pthreads, races can happen (another thread might increase the size in between), so return a failure, and let the caller retry.
-			  assert(requestedSize > oldSize);
-		  
-		  
-			  var PAGE_MULTIPLE = 65536;
-			  var LIMIT = 2147483648 - PAGE_MULTIPLE; // We can do one page short of 2GB as theoretical maximum.
-		  
-			  if (requestedSize > LIMIT) {
-				err('Cannot enlarge memory, asked to go up to ' + requestedSize + ' bytes, but the limit is ' + LIMIT + ' bytes!');
-				return false;
-			  }
-		  
-			  var MIN_TOTAL_MEMORY = 16777216;
-			  var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY); // So the loop below will not be infinite, and minimum asm.js memory size is 16MB.
-		  
-			  // TODO: see realloc_buffer - for PTHREADS we may want to decrease these jumps
-			  while (newSize < requestedSize) { // Keep incrementing the heap size as long as it's less than what is requested.
-				if (newSize <= 536870912) {
-				  newSize = alignUp(2 * newSize, PAGE_MULTIPLE); // Simple heuristic: double until 1GB...
-				} else {
-				  // ..., but after that, add smaller increments towards 2GB, which we cannot reach
-				  newSize = Math.min(alignUp((3 * newSize + 2147483648) / 4, PAGE_MULTIPLE), LIMIT);
-				}
-		  
-				if (newSize === oldSize) {
-				  warnOnce('Cannot ask for more memory since we reached the practical limit in browsers (which is just below 2GB), so the request would have failed. Requesting only ' + HEAP8.length);
-				}
-			  }
-		  
-			  if (!emscripten_realloc_buffer(newSize)) {
-				err('Failed to grow the heap from ' + oldSize + ' bytes to ' + newSize + ' bytes, not enough memory!');
-				return false;
-			  }
-		  
-			  updateGlobalBufferViews();
-		  
-		  
-		  
-			  return true;
-			} 
-
-
-		// ASM_LIBRARY EXTERN PRIMITIVES: Int8Array,Int32Array
-
-
-		function nullFunc_ii(x) { err("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  err("Build with ASSERTIONS=2 for more info.");abort(x); }
-
-		function nullFunc_iiii(x) { err("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  err("Build with ASSERTIONS=2 for more info.");abort(x); }
-
-		function nullFunc_jiji(x) { err("Invalid function pointer called with signature 'jiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  err("Build with ASSERTIONS=2 for more info.");abort(x); }
-
-		function nullFunc_vii(x) { err("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  err("Build with ASSERTIONS=2 for more info.");abort(x); }
-
-		var asmGlobalArg = {};
-
-		var asmLibraryArg = {
-		  "abort": abort,
-		  "setTempRet0": setTempRet0,
-		  "getTempRet0": getTempRet0,
-		  "abortStackOverflow": abortStackOverflow,
-		  "nullFunc_ii": nullFunc_ii,
-		  "nullFunc_iiii": nullFunc_iiii,
-		  "nullFunc_jiji": nullFunc_jiji,
-		  "nullFunc_vii": nullFunc_vii,
-		  "___lock": ___lock,
-		  "___setErrNo": ___setErrNo,
-		  "___syscall140": ___syscall140,
-		  "___syscall146": ___syscall146,
-		  "___syscall54": ___syscall54,
-		  "___syscall6": ___syscall6,
-		  "___unlock": ___unlock,
-		  "_emscripten_get_heap_size": _emscripten_get_heap_size,
-		  "_emscripten_memcpy_big": _emscripten_memcpy_big,
-		  "_emscripten_resize_heap": _emscripten_resize_heap,
-		  "abortOnCannotGrowMemory": abortOnCannotGrowMemory,
-		  "emscripten_realloc_buffer": emscripten_realloc_buffer,
-		  "flush_NO_FILESYSTEM": flush_NO_FILESYSTEM,
-		  "tempDoublePtr": tempDoublePtr,
-		  "DYNAMICTOP_PTR": DYNAMICTOP_PTR
-		};
-		// EMSCRIPTEN_START_ASM
-		var asm =Module["asm"]// EMSCRIPTEN_END_ASM
-		(asmGlobalArg, asmLibraryArg, buffer);
-
-		var real____errno_location = asm["___errno_location"];
-		asm["___errno_location"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real____errno_location.apply(null, arguments);
-		};
-
-		var real__fflush = asm["_fflush"];
-		asm["_fflush"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real__fflush.apply(null, arguments);
-		};
-
-		var real__free = asm["_free"];
-		asm["_free"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real__free.apply(null, arguments);
-		};
-
-		var real__freePointer = asm["_freePointer"];
-		asm["_freePointer"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real__freePointer.apply(null, arguments);
-		};
-
-		var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"];
-		asm["_llvm_bswap_i32"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real__llvm_bswap_i32.apply(null, arguments);
-		};
-
-		var real__malloc = asm["_malloc"];
-		asm["_malloc"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real__malloc.apply(null, arguments);
-		};
-
-		var real__sbrk = asm["_sbrk"];
-		asm["_sbrk"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real__sbrk.apply(null, arguments);
-		};
-
-		var real__unzip = asm["_unzip"];
-		asm["_unzip"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real__unzip.apply(null, arguments);
-		};
-
-		var real_establishStackSpace = asm["establishStackSpace"];
-		asm["establishStackSpace"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real_establishStackSpace.apply(null, arguments);
-		};
-
-		var real_stackAlloc = asm["stackAlloc"];
-		asm["stackAlloc"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real_stackAlloc.apply(null, arguments);
-		};
-
-		var real_stackRestore = asm["stackRestore"];
-		asm["stackRestore"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real_stackRestore.apply(null, arguments);
-		};
-
-		var real_stackSave = asm["stackSave"];
-		asm["stackSave"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return real_stackSave.apply(null, arguments);
-		};
-		Module["asm"] = asm;
-		var ___errno_location = Module["___errno_location"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["___errno_location"].apply(null, arguments)
-		};
-
-		var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["_emscripten_replace_memory"].apply(null, arguments)
-		};
-
-		var _fflush = Module["_fflush"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["_fflush"].apply(null, arguments)
-		};
-
-		var _free = Module["_free"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["_free"].apply(null, arguments)
-		};
-
-		var _freePointer = Module["_freePointer"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["_freePointer"].apply(null, arguments)
-		};
-
-		var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["_llvm_bswap_i32"].apply(null, arguments)
-		};
-
-		var _malloc = Module["_malloc"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["_malloc"].apply(null, arguments)
-		};
-
-		var _memcpy = Module["_memcpy"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["_memcpy"].apply(null, arguments)
-		};
-
-		var _memset = Module["_memset"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["_memset"].apply(null, arguments)
-		};
-
-		var _sbrk = Module["_sbrk"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["_sbrk"].apply(null, arguments)
-		};
-
-		var _unzip = Module["_unzip"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["_unzip"].apply(null, arguments)
-		};
-
-		var establishStackSpace = Module["establishStackSpace"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["establishStackSpace"].apply(null, arguments)
-		};
-
-		var stackAlloc = Module["stackAlloc"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["stackAlloc"].apply(null, arguments)
-		};
-
-		var stackRestore = Module["stackRestore"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["stackRestore"].apply(null, arguments)
-		};
-
-		var stackSave = Module["stackSave"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["stackSave"].apply(null, arguments)
-		};
-
-		var dynCall_ii = Module["dynCall_ii"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["dynCall_ii"].apply(null, arguments)
-		};
-
-		var dynCall_iiii = Module["dynCall_iiii"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["dynCall_iiii"].apply(null, arguments)
-		};
-
-		var dynCall_jiji = Module["dynCall_jiji"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["dynCall_jiji"].apply(null, arguments)
-		};
-
-		var dynCall_vii = Module["dynCall_vii"] = function() {
-		  assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-		  assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-		  return Module["asm"]["dynCall_vii"].apply(null, arguments)
-		};
-
-
-
-		// === Auto-generated postamble setup entry stuff ===
-
-		Module['asm'] = asm;
-
-		if (!Module["intArrayFromString"]) Module["intArrayFromString"] = function() { abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["intArrayToString"]) Module["intArrayToString"] = function() { abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		Module["ccall"] = ccall;
-		Module["cwrap"] = cwrap;
-		if (!Module["setValue"]) Module["setValue"] = function() { abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		Module["getValue"] = getValue;
-		if (!Module["allocate"]) Module["allocate"] = function() { abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["getMemory"]) Module["getMemory"] = function() { abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["AsciiToString"]) Module["AsciiToString"] = function() { abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["stringToAscii"]) Module["stringToAscii"] = function() { abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["UTF8ArrayToString"]) Module["UTF8ArrayToString"] = function() { abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["UTF8ToString"]) Module["UTF8ToString"] = function() { abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["stringToUTF8Array"]) Module["stringToUTF8Array"] = function() { abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["stringToUTF8"]) Module["stringToUTF8"] = function() { abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["lengthBytesUTF8"]) Module["lengthBytesUTF8"] = function() { abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["UTF16ToString"]) Module["UTF16ToString"] = function() { abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["stringToUTF16"]) Module["stringToUTF16"] = function() { abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["lengthBytesUTF16"]) Module["lengthBytesUTF16"] = function() { abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["UTF32ToString"]) Module["UTF32ToString"] = function() { abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["stringToUTF32"]) Module["stringToUTF32"] = function() { abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["lengthBytesUTF32"]) Module["lengthBytesUTF32"] = function() { abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["allocateUTF8"]) Module["allocateUTF8"] = function() { abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["stackTrace"]) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["addOnPreRun"]) Module["addOnPreRun"] = function() { abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["addOnInit"]) Module["addOnInit"] = function() { abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["addOnPreMain"]) Module["addOnPreMain"] = function() { abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["addOnExit"]) Module["addOnExit"] = function() { abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["addOnPostRun"]) Module["addOnPostRun"] = function() { abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["writeStringToMemory"]) Module["writeStringToMemory"] = function() { abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["writeArrayToMemory"]) Module["writeArrayToMemory"] = function() { abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["writeAsciiToMemory"]) Module["writeAsciiToMemory"] = function() { abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["addRunDependency"]) Module["addRunDependency"] = function() { abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["removeRunDependency"]) Module["removeRunDependency"] = function() { abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["ENV"]) Module["ENV"] = function() { abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["FS"]) Module["FS"] = function() { abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["FS_createFolder"]) Module["FS_createFolder"] = function() { abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["FS_createPath"]) Module["FS_createPath"] = function() { abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["FS_createDataFile"]) Module["FS_createDataFile"] = function() { abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["FS_createPreloadedFile"]) Module["FS_createPreloadedFile"] = function() { abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["FS_createLazyFile"]) Module["FS_createLazyFile"] = function() { abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["FS_createLink"]) Module["FS_createLink"] = function() { abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["FS_createDevice"]) Module["FS_createDevice"] = function() { abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["FS_unlink"]) Module["FS_unlink"] = function() { abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); };
-		if (!Module["GL"]) Module["GL"] = function() { abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["dynamicAlloc"]) Module["dynamicAlloc"] = function() { abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["warnOnce"]) Module["warnOnce"] = function() { abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["loadDynamicLibrary"]) Module["loadDynamicLibrary"] = function() { abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["loadWebAssemblyModule"]) Module["loadWebAssemblyModule"] = function() { abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["getLEB"]) Module["getLEB"] = function() { abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["getFunctionTables"]) Module["getFunctionTables"] = function() { abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["alignFunctionTables"]) Module["alignFunctionTables"] = function() { abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["registerFunctions"]) Module["registerFunctions"] = function() { abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["addFunction"]) Module["addFunction"] = function() { abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["removeFunction"]) Module["removeFunction"] = function() { abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["getFuncWrapper"]) Module["getFuncWrapper"] = function() { abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["prettyPrint"]) Module["prettyPrint"] = function() { abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["makeBigInt"]) Module["makeBigInt"] = function() { abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["dynCall"]) Module["dynCall"] = function() { abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["getCompilerSetting"]) Module["getCompilerSetting"] = function() { abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["stackSave"]) Module["stackSave"] = function() { abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["stackRestore"]) Module["stackRestore"] = function() { abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["stackAlloc"]) Module["stackAlloc"] = function() { abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["establishStackSpace"]) Module["establishStackSpace"] = function() { abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["print"]) Module["print"] = function() { abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["printErr"]) Module["printErr"] = function() { abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["getTempRet0"]) Module["getTempRet0"] = function() { abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["setTempRet0"]) Module["setTempRet0"] = function() { abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };
-		if (!Module["Pointer_stringify"]) Module["Pointer_stringify"] = function() { abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); };if (!Module["ALLOC_NORMAL"]) Object.defineProperty(Module, "ALLOC_NORMAL", { get: function() { abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); } });
-		if (!Module["ALLOC_STACK"]) Object.defineProperty(Module, "ALLOC_STACK", { get: function() { abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); } });
-		if (!Module["ALLOC_DYNAMIC"]) Object.defineProperty(Module, "ALLOC_DYNAMIC", { get: function() { abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); } });
-		if (!Module["ALLOC_NONE"]) Object.defineProperty(Module, "ALLOC_NONE", { get: function() { abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); } });
-
-
-
-
-		/**
-		 * @constructor
-		 * @extends {Error}
-		 * @this {ExitStatus}
-		 */
-		function ExitStatus(status) {
-		  this.name = "ExitStatus";
-		  this.message = "Program terminated with exit(" + status + ")";
-		  this.status = status;
-		}	ExitStatus.prototype = new Error();
-		ExitStatus.prototype.constructor = ExitStatus;
-
-		dependenciesFulfilled = function runCaller() {
-		  // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
-		  if (!Module['calledRun']) run();
-		  if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
-		};
-
-
-
-
-
-		/** @type {function(Array=)} */
-		function run(args) {
-		  args = args || Module['arguments'];
-
-		  if (runDependencies > 0) {
-			return;
-		  }
-
-		  writeStackCookie();
-
-		  preRun();
-
-		  if (runDependencies > 0) return; // a preRun added a dependency, run will be called later
-		  if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame
-
-		  function doRun() {
-			if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening
-			Module['calledRun'] = true;
-
-			if (ABORT) return;
-
-			ensureInitRuntime();
-
-			preMain();
-
-			if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
-
-			assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');
-
-			postRun();
-		  }
-
-		  if (Module['setStatus']) {
-			Module['setStatus']('Running...');
-			setTimeout(function() {
-			  setTimeout(function() {
-				Module['setStatus']('');
-			  }, 1);
-			  doRun();
-			}, 1);
-		  } else {
-			doRun();
-		  }
-		  checkStackCookie();
-		}
-		Module['run'] = run;
-
-		var abortDecorators = [];
-
-		function abort(what) {
-		  if (Module['onAbort']) {
-			Module['onAbort'](what);
-		  }
-
-		  if (what !== undefined) {
-			//out(what);
-			//err(what);
-			what = '"' + what + '"';
-		  } else {
-			what = '';
-		  }
-
-		  ABORT = true;
-
-		  var extra = '';
-		  var output = 'abort(' + what + ') at ' + stackTrace() + extra;
-		  if (abortDecorators) {
-			abortDecorators.forEach(function(decorator) {
-			  output = decorator(output, what);
-			});
-		  }
-		  throw output;
-		}
-		Module['abort'] = abort;
-
-		if (Module['preInit']) {
-		  if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
-		  while (Module['preInit'].length > 0) {
-			Module['preInit'].pop()();
-		  }
-		}
-
-
-		  Module["noExitRuntime"] = true;
-
-		run();
-	} else {
-	    var Module = null;
-	}
-
-	var unzip = Module;
-
-
-
-
-	// {{MODULE_ADDITIONS}}
-
-	exports.unzip = unzip;
-
-});
diff --git a/libs/supermap/Workers/upsampleQuantizedTerrainMesh.js b/libs/supermap/Workers/upsampleQuantizedTerrainMesh.js
deleted file mode 100644
index 9dc44b6..0000000
--- a/libs/supermap/Workers/upsampleQuantizedTerrainMesh.js
+++ /dev/null
@@ -1,854 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['./when-8d13db60', './Check-70bec281', './Math-61ede240', './Cartesian2-2cbe6c75', './BoundingSphere-51445700', './RuntimeError-ba10bc3e', './WebGLConstants-4c11ee5f', './ComponentDatatype-5862616f', './FeatureDetection-7bd32c34', './Transforms-2f2aa225', './buildModuleUrl-46c77f41', './AttributeCompression-50ff7145', './IndexDatatype-9435b55f', './IntersectionTests-99e636d3', './Plane-d0f009aa', './createTaskProcessorWorker', './EllipsoidTangentPlane-fe3014f8', './OrientedBoundingBox-2b1de35e', './TerrainEncoding-68dd69c9'], function (when, Check, _Math, Cartesian2, BoundingSphere, RuntimeError, WebGLConstants, ComponentDatatype, FeatureDetection, Transforms, buildModuleUrl, AttributeCompression, IndexDatatype, IntersectionTests, Plane, createTaskProcessorWorker, EllipsoidTangentPlane, OrientedBoundingBox, TerrainEncoding) { 'use strict';
-
-    /**
-         * Contains functions for operating on 2D triangles.
-         *
-         * @exports Intersections2D
-         */
-        var Intersections2D = {};
-
-        /**
-         * Splits a 2D triangle at given axis-aligned threshold value and returns the resulting
-         * polygon on a given side of the threshold.  The resulting polygon may have 0, 1, 2,
-         * 3, or 4 vertices.
-         *
-         * @param {Number} threshold The threshold coordinate value at which to clip the triangle.
-         * @param {Boolean} keepAbove true to keep the portion of the triangle above the threshold, or false
-         *                            to keep the portion below.
-         * @param {Number} u0 The coordinate of the first vertex in the triangle, in counter-clockwise order.
-         * @param {Number} u1 The coordinate of the second vertex in the triangle, in counter-clockwise order.
-         * @param {Number} u2 The coordinate of the third vertex in the triangle, in counter-clockwise order.
-         * @param {Number[]} [result] The array into which to copy the result.  If this parameter is not supplied,
-         *                            a new array is constructed and returned.
-         * @returns {Number[]} The polygon that results after the clip, specified as a list of
-         *                     vertices.  The vertices are specified in counter-clockwise order.
-         *                     Each vertex is either an index from the existing list (identified as
-         *                     a 0, 1, or 2) or -1 indicating a new vertex not in the original triangle.
-         *                     For new vertices, the -1 is followed by three additional numbers: the
-         *                     index of each of the two original vertices forming the line segment that
-         *                     the new vertex lies on, and the fraction of the distance from the first
-         *                     vertex to the second one.
-         *
-         * @example
-         * var result = Cesium.Intersections2D.clipTriangleAtAxisAlignedThreshold(0.5, false, 0.2, 0.6, 0.4);
-         * // result === [2, 0, -1, 1, 0, 0.25, -1, 1, 2, 0.5]
-         */
-        Intersections2D.clipTriangleAtAxisAlignedThreshold = function(threshold, keepAbove, u0, u1, u2, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(threshold)) {
-                throw new Check.DeveloperError('threshold is required.');
-            }
-            if (!when.defined(keepAbove)) {
-                throw new Check.DeveloperError('keepAbove is required.');
-            }
-            if (!when.defined(u0)) {
-                throw new Check.DeveloperError('u0 is required.');
-            }
-            if (!when.defined(u1)) {
-                throw new Check.DeveloperError('u1 is required.');
-            }
-            if (!when.defined(u2)) {
-                throw new Check.DeveloperError('u2 is required.');
-            }
-            //>>includeEnd('debug');
-
-            if (!when.defined(result)) {
-                result = [];
-            } else {
-                result.length = 0;
-            }
-
-            var u0Behind;
-            var u1Behind;
-            var u2Behind;
-            if (keepAbove) {
-                u0Behind = u0 < threshold;
-                u1Behind = u1 < threshold;
-                u2Behind = u2 < threshold;
-            } else {
-                u0Behind = u0 > threshold;
-                u1Behind = u1 > threshold;
-                u2Behind = u2 > threshold;
-            }
-
-            var numBehind = u0Behind + u1Behind + u2Behind;
-
-            var u01Ratio;
-            var u02Ratio;
-            var u12Ratio;
-            var u10Ratio;
-            var u20Ratio;
-            var u21Ratio;
-
-            if (numBehind === 1) {
-                if (u0Behind) {
-                    u01Ratio = (threshold - u0) / (u1 - u0);
-                    u02Ratio = (threshold - u0) / (u2 - u0);
-
-                    result.push(1);
-
-                    result.push(2);
-
-                    if (u02Ratio !== 1.0) {
-                        result.push(-1);
-                        result.push(0);
-                        result.push(2);
-                        result.push(u02Ratio);
-                    }
-
-                    if (u01Ratio !== 1.0) {
-                        result.push(-1);
-                        result.push(0);
-                        result.push(1);
-                        result.push(u01Ratio);
-                    }
-                } else if (u1Behind) {
-                    u12Ratio = (threshold - u1) / (u2 - u1);
-                    u10Ratio = (threshold - u1) / (u0 - u1);
-
-                    result.push(2);
-
-                    result.push(0);
-
-                    if (u10Ratio !== 1.0) {
-                        result.push(-1);
-                        result.push(1);
-                        result.push(0);
-                        result.push(u10Ratio);
-                    }
-
-                    if (u12Ratio !== 1.0) {
-                        result.push(-1);
-                        result.push(1);
-                        result.push(2);
-                        result.push(u12Ratio);
-                    }
-                } else if (u2Behind) {
-                    u20Ratio = (threshold - u2) / (u0 - u2);
-                    u21Ratio = (threshold - u2) / (u1 - u2);
-
-                    result.push(0);
-
-                    result.push(1);
-
-                    if (u21Ratio !== 1.0) {
-                        result.push(-1);
-                        result.push(2);
-                        result.push(1);
-                        result.push(u21Ratio);
-                    }
-
-                    if (u20Ratio !== 1.0) {
-                        result.push(-1);
-                        result.push(2);
-                        result.push(0);
-                        result.push(u20Ratio);
-                    }
-                }
-            } else if (numBehind === 2) {
-                if (!u0Behind && u0 !== threshold) {
-                    u10Ratio = (threshold - u1) / (u0 - u1);
-                    u20Ratio = (threshold - u2) / (u0 - u2);
-
-                    result.push(0);
-
-                    result.push(-1);
-                    result.push(1);
-                    result.push(0);
-                    result.push(u10Ratio);
-
-                    result.push(-1);
-                    result.push(2);
-                    result.push(0);
-                    result.push(u20Ratio);
-                } else if (!u1Behind && u1 !== threshold) {
-                    u21Ratio = (threshold - u2) / (u1 - u2);
-                    u01Ratio = (threshold - u0) / (u1 - u0);
-
-                    result.push(1);
-
-                    result.push(-1);
-                    result.push(2);
-                    result.push(1);
-                    result.push(u21Ratio);
-
-                    result.push(-1);
-                    result.push(0);
-                    result.push(1);
-                    result.push(u01Ratio);
-                } else if (!u2Behind && u2 !== threshold) {
-                    u02Ratio = (threshold - u0) / (u2 - u0);
-                    u12Ratio = (threshold - u1) / (u2 - u1);
-
-                    result.push(2);
-
-                    result.push(-1);
-                    result.push(0);
-                    result.push(2);
-                    result.push(u02Ratio);
-
-                    result.push(-1);
-                    result.push(1);
-                    result.push(2);
-                    result.push(u12Ratio);
-                }
-            } else if (numBehind !== 3) {
-                // Completely in front of threshold
-                result.push(0);
-                result.push(1);
-                result.push(2);
-            }
-            // else Completely behind threshold
-
-            return result;
-        };
-
-        /**
-         * Compute the barycentric coordinates of a 2D position within a 2D triangle.
-         *
-         * @param {Number} x The x coordinate of the position for which to find the barycentric coordinates.
-         * @param {Number} y The y coordinate of the position for which to find the barycentric coordinates.
-         * @param {Number} x1 The x coordinate of the triangle's first vertex.
-         * @param {Number} y1 The y coordinate of the triangle's first vertex.
-         * @param {Number} x2 The x coordinate of the triangle's second vertex.
-         * @param {Number} y2 The y coordinate of the triangle's second vertex.
-         * @param {Number} x3 The x coordinate of the triangle's third vertex.
-         * @param {Number} y3 The y coordinate of the triangle's third vertex.
-         * @param {Cartesian3} [result] The instance into to which to copy the result.  If this parameter
-         *                     is undefined, a new instance is created and returned.
-         * @returns {Cartesian3} The barycentric coordinates of the position within the triangle.
-         *
-         * @example
-         * var result = Cesium.Intersections2D.computeBarycentricCoordinates(0.0, 0.0, 0.0, 1.0, -1, -0.5, 1, -0.5);
-         * // result === new Cesium.Cartesian3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0);
-         */
-        Intersections2D.computeBarycentricCoordinates = function(x, y, x1, y1, x2, y2, x3, y3, result) {
-            //>>includeStart('debug', pragmas.debug);
-            if (!when.defined(x)) {
-                throw new Check.DeveloperError('x is required.');
-            }
-            if (!when.defined(y)) {
-                throw new Check.DeveloperError('y is required.');
-            }
-            if (!when.defined(x1)) {
-                throw new Check.DeveloperError('x1 is required.');
-            }
-            if (!when.defined(y1)) {
-                throw new Check.DeveloperError('y1 is required.');
-            }
-            if (!when.defined(x2)) {
-                throw new Check.DeveloperError('x2 is required.');
-            }
-            if (!when.defined(y2)) {
-                throw new Check.DeveloperError('y2 is required.');
-            }
-            if (!when.defined(x3)) {
-                throw new Check.DeveloperError('x3 is required.');
-            }
-            if (!when.defined(y3)) {
-                throw new Check.DeveloperError('y3 is required.');
-            }
-            //>>includeEnd('debug');
-
-            var x1mx3 = x1 - x3;
-            var x3mx2 = x3 - x2;
-            var y2my3 = y2 - y3;
-            var y1my3 = y1 - y3;
-            var inverseDeterminant = 1.0 / (y2my3 * x1mx3 + x3mx2 * y1my3);
-            var ymy3 = y - y3;
-            var xmx3 = x - x3;
-            var l1 = (y2my3 * xmx3 + x3mx2 * ymy3) * inverseDeterminant;
-            var l2 = (-y1my3 * xmx3 + x1mx3 * ymy3) * inverseDeterminant;
-            var l3 = 1.0 - l1 - l2;
-
-            if (when.defined(result)) {
-                result.x = l1;
-                result.y = l2;
-                result.z = l3;
-                return result;
-            }
-            return new Cartesian2.Cartesian3(l1, l2, l3);
-        };
-
-        /**
-         * Compute the intersection between 2 line segments
-         *
-         * @param {Number} x00 The x coordinate of the first line's first vertex.
-         * @param {Number} y00 The y coordinate of the first line's first vertex.
-         * @param {Number} x01 The x coordinate of the first line's second vertex.
-         * @param {Number} y01 The y coordinate of the first line's second vertex.
-         * @param {Number} x10 The x coordinate of the second line's first vertex.
-         * @param {Number} y10 The y coordinate of the second line's first vertex.
-         * @param {Number} x11 The x coordinate of the second line's second vertex.
-         * @param {Number} y11 The y coordinate of the second line's second vertex.
-         * @param {Cartesian2} [result] The instance into to which to copy the result. If this parameter
-         *                     is undefined, a new instance is created and returned.
-         * @returns {Cartesian2} The intersection point, undefined if there is no intersection point or lines are coincident.
-         *
-         * @example
-         * var result = Cesium.Intersections2D.computeLineSegmentLineSegmentIntersection(0.0, 0.0, 0.0, 2.0, -1, 1, 1, 1);
-         * // result === new Cesium.Cartesian2(0.0, 1.0);
-         */
-        Intersections2D.computeLineSegmentLineSegmentIntersection = function(x00, y00, x01, y01, x10, y10, x11, y11, result) {
-            //>>includeStart('debug', pragmas.debug);
-            Check.Check.typeOf.number('x00', x00);
-            Check.Check.typeOf.number('y00', y00);
-            Check.Check.typeOf.number('x01', x01);
-            Check.Check.typeOf.number('y01', y01);
-            Check.Check.typeOf.number('x10', x10);
-            Check.Check.typeOf.number('y10', y10);
-            Check.Check.typeOf.number('x11', x11);
-            Check.Check.typeOf.number('y11', y11);
-            //>>includeEnd('debug');
-
-            var numerator1A = (x11 - x10) * (y00 - y10) - (y11 - y10) * (x00 - x10);
-            var numerator1B = (x01 - x00) * (y00 - y10) - (y01 - y00) * (x00 - x10);
-            var denominator1 = (y11 - y10) * (x01 - x00) - (x11 - x10) * (y01 - y00);
-
-            // If denominator = 0, then lines are parallel. If denominator = 0 and both numerators are 0, then coincident
-            if (denominator1 === 0) {
-                return;
-            }
-
-            var ua1 = numerator1A / denominator1;
-            var ub1 = numerator1B / denominator1;
-
-            if (ua1 >= 0 && ua1 <= 1 && ub1 >= 0 && ub1 <= 1) {
-                if (!when.defined(result)) {
-                    result = new Cartesian2.Cartesian2();
-                }
-
-                result.x = x00 + ua1 * (x01 - x00);
-                result.y = y00 + ua1 * (y01 - y00);
-
-                return result;
-            }
-        };
-
-    var maxShort = 32767;
-        var halfMaxShort = (maxShort / 2) | 0;
-
-        var clipScratch = [];
-        var clipScratch2 = [];
-        var verticesScratch = [];
-        var cartographicScratch = new Cartesian2.Cartographic();
-        var cartesian3Scratch = new Cartesian2.Cartesian3();
-        var uScratch = [];
-        var vScratch = [];
-        var heightScratch = [];
-        var indicesScratch = [];
-        var normalsScratch = [];
-        var horizonOcclusionPointScratch = new Cartesian2.Cartesian3();
-        var boundingSphereScratch = new BoundingSphere.BoundingSphere();
-        var orientedBoundingBoxScratch = new OrientedBoundingBox.OrientedBoundingBox();
-        var decodeTexCoordsScratch = new Cartesian2.Cartesian2();
-        var octEncodedNormalScratch = new Cartesian2.Cartesian3();
-
-        function upsampleQuantizedTerrainMesh(parameters, transferableObjects) {
-            var isEastChild = parameters.isEastChild;
-            var isNorthChild = parameters.isNorthChild;
-
-            var minU = isEastChild ? halfMaxShort : 0;
-            var maxU = isEastChild ? maxShort : halfMaxShort;
-            var minV = isNorthChild ? halfMaxShort : 0;
-            var maxV = isNorthChild ? maxShort : halfMaxShort;
-
-            var uBuffer = uScratch;
-            var vBuffer = vScratch;
-            var heightBuffer = heightScratch;
-            var normalBuffer = normalsScratch;
-
-            uBuffer.length = 0;
-            vBuffer.length = 0;
-            heightBuffer.length = 0;
-            normalBuffer.length = 0;
-
-            var indices = indicesScratch;
-            indices.length = 0;
-
-            var vertexMap = {};
-
-            var parentVertices = parameters.vertices;
-            var parentIndices = parameters.indices;
-            parentIndices = parentIndices.subarray(0, parameters.indexCountWithoutSkirts);
-
-            var encoding = TerrainEncoding.TerrainEncoding.clone(parameters.encoding);
-            var hasVertexNormals = encoding.hasVertexNormals;
-            var exaggeration = parameters.exaggeration;
-
-            var vertexCount = 0;
-            var quantizedVertexCount = parameters.vertexCountWithoutSkirts;
-
-            var parentMinimumHeight = parameters.minimumHeight;
-            var parentMaximumHeight = parameters.maximumHeight;
-
-            var parentUBuffer = new Array(quantizedVertexCount);
-            var parentVBuffer = new Array(quantizedVertexCount);
-            var parentHeightBuffer = new Array(quantizedVertexCount);
-            var parentNormalBuffer = hasVertexNormals ? new Array(quantizedVertexCount * 2) : undefined;
-
-            var threshold = 20;
-            var height;
-
-            var i, n;
-            var u, v;
-            for (i = 0, n = 0; i < quantizedVertexCount; ++i, n += 2) {
-                var texCoords = encoding.decodeTextureCoordinates(parentVertices, i, decodeTexCoordsScratch);
-                height  = encoding.decodeHeight(parentVertices, i) / exaggeration;
-
-                u = _Math.CesiumMath.clamp((texCoords.x * maxShort) | 0, 0, maxShort);
-                v = _Math.CesiumMath.clamp((texCoords.y * maxShort) | 0, 0, maxShort);
-                parentHeightBuffer[i] = _Math.CesiumMath.clamp((((height - parentMinimumHeight) / (parentMaximumHeight - parentMinimumHeight)) * maxShort) | 0, 0, maxShort);
-
-                if (u < threshold) {
-                    u = 0;
-                }
-
-                if (v < threshold) {
-                    v = 0;
-                }
-
-                if (maxShort - u < threshold) {
-                    u = maxShort;
-                }
-
-                if (maxShort - v < threshold) {
-                    v = maxShort;
-                }
-
-                parentUBuffer[i] = u;
-                parentVBuffer[i] = v;
-
-                if (hasVertexNormals) {
-                    var encodedNormal = encoding.getOctEncodedNormal(parentVertices, i, octEncodedNormalScratch);
-                    parentNormalBuffer[n] = encodedNormal.x;
-                    parentNormalBuffer[n + 1] = encodedNormal.y;
-                }
-
-                if ((isEastChild && u >= halfMaxShort || !isEastChild && u <= halfMaxShort) &&
-                    (isNorthChild && v >= halfMaxShort || !isNorthChild && v <= halfMaxShort)) {
-
-                    vertexMap[i] = vertexCount;
-                    uBuffer.push(u);
-                    vBuffer.push(v);
-                    heightBuffer.push(parentHeightBuffer[i]);
-                    if (hasVertexNormals) {
-                        normalBuffer.push(parentNormalBuffer[n]);
-                        normalBuffer.push(parentNormalBuffer[n + 1]);
-                    }
-
-                    ++vertexCount;
-                }
-            }
-
-            var triangleVertices = [];
-            triangleVertices.push(new Vertex());
-            triangleVertices.push(new Vertex());
-            triangleVertices.push(new Vertex());
-
-            var clippedTriangleVertices = [];
-            clippedTriangleVertices.push(new Vertex());
-            clippedTriangleVertices.push(new Vertex());
-            clippedTriangleVertices.push(new Vertex());
-
-            var clippedIndex;
-            var clipped2;
-
-            for (i = 0; i < parentIndices.length; i += 3) {
-                var i0 = parentIndices[i];
-                var i1 = parentIndices[i + 1];
-                var i2 = parentIndices[i + 2];
-
-                var u0 = parentUBuffer[i0];
-                var u1 = parentUBuffer[i1];
-                var u2 = parentUBuffer[i2];
-
-                triangleVertices[0].initializeIndexed(parentUBuffer, parentVBuffer, parentHeightBuffer, parentNormalBuffer, i0);
-                triangleVertices[1].initializeIndexed(parentUBuffer, parentVBuffer, parentHeightBuffer, parentNormalBuffer, i1);
-                triangleVertices[2].initializeIndexed(parentUBuffer, parentVBuffer, parentHeightBuffer, parentNormalBuffer, i2);
-
-                // Clip triangle on the east-west boundary.
-                var clipped = Intersections2D.clipTriangleAtAxisAlignedThreshold(halfMaxShort, isEastChild, u0, u1, u2, clipScratch);
-
-                // Get the first clipped triangle, if any.
-                clippedIndex = 0;
-
-                if (clippedIndex >= clipped.length) {
-                    continue;
-                }
-                clippedIndex = clippedTriangleVertices[0].initializeFromClipResult(clipped, clippedIndex, triangleVertices);
-
-                if (clippedIndex >= clipped.length) {
-                    continue;
-                }
-                clippedIndex = clippedTriangleVertices[1].initializeFromClipResult(clipped, clippedIndex, triangleVertices);
-
-                if (clippedIndex >= clipped.length) {
-                    continue;
-                }
-                clippedIndex = clippedTriangleVertices[2].initializeFromClipResult(clipped, clippedIndex, triangleVertices);
-
-                // Clip the triangle against the North-south boundary.
-                clipped2 = Intersections2D.clipTriangleAtAxisAlignedThreshold(halfMaxShort, isNorthChild, clippedTriangleVertices[0].getV(), clippedTriangleVertices[1].getV(), clippedTriangleVertices[2].getV(), clipScratch2);
-                addClippedPolygon(uBuffer, vBuffer, heightBuffer, normalBuffer, indices, vertexMap, clipped2, clippedTriangleVertices, hasVertexNormals);
-
-                // If there's another vertex in the original clipped result,
-                // it forms a second triangle.  Clip it as well.
-                if (clippedIndex < clipped.length) {
-                    clippedTriangleVertices[2].clone(clippedTriangleVertices[1]);
-                    clippedTriangleVertices[2].initializeFromClipResult(clipped, clippedIndex, triangleVertices);
-
-                    clipped2 = Intersections2D.clipTriangleAtAxisAlignedThreshold(halfMaxShort, isNorthChild, clippedTriangleVertices[0].getV(), clippedTriangleVertices[1].getV(), clippedTriangleVertices[2].getV(), clipScratch2);
-                    addClippedPolygon(uBuffer, vBuffer, heightBuffer, normalBuffer, indices, vertexMap, clipped2, clippedTriangleVertices, hasVertexNormals);
-                }
-            }
-
-            var uOffset = isEastChild ? -maxShort : 0;
-            var vOffset = isNorthChild ? -maxShort : 0;
-
-            var westIndices = [];
-            var southIndices = [];
-            var eastIndices = [];
-            var northIndices = [];
-
-            var minimumHeight = Number.MAX_VALUE;
-            var maximumHeight = -minimumHeight;
-
-            var cartesianVertices = verticesScratch;
-            cartesianVertices.length = 0;
-
-            var ellipsoid = Cartesian2.Ellipsoid.clone(parameters.ellipsoid);
-            var rectangle = Cartesian2.Rectangle.clone(parameters.childRectangle);
-
-            var north = rectangle.north;
-            var south = rectangle.south;
-            var east = rectangle.east;
-            var west = rectangle.west;
-
-            if (east < west) {
-                east += _Math.CesiumMath.TWO_PI;
-            }
-
-            for (i = 0; i < uBuffer.length; ++i) {
-                u = Math.round(uBuffer[i]);
-                if (u <= minU) {
-                    westIndices.push(i);
-                    u = 0;
-                } else if (u >= maxU) {
-                    eastIndices.push(i);
-                    u = maxShort;
-                } else {
-                    u = u * 2 + uOffset;
-                }
-
-                uBuffer[i] = u;
-
-                v = Math.round(vBuffer[i]);
-                if (v <= minV) {
-                    southIndices.push(i);
-                    v = 0;
-                } else if (v >= maxV) {
-                    northIndices.push(i);
-                    v = maxShort;
-                } else {
-                    v = v * 2 + vOffset;
-                }
-
-                vBuffer[i] = v;
-
-                height = _Math.CesiumMath.lerp(parentMinimumHeight, parentMaximumHeight, heightBuffer[i] / maxShort);
-                if (height < minimumHeight) {
-                    minimumHeight = height;
-                }
-                if (height > maximumHeight) {
-                    maximumHeight = height;
-                }
-
-                heightBuffer[i] = height;
-
-                cartographicScratch.longitude = _Math.CesiumMath.lerp(west, east, u / maxShort);
-                cartographicScratch.latitude = _Math.CesiumMath.lerp(south, north, v / maxShort);
-                cartographicScratch.height = height;
-
-                ellipsoid.cartographicToCartesian(cartographicScratch, cartesian3Scratch);
-
-                cartesianVertices.push(cartesian3Scratch.x);
-                cartesianVertices.push(cartesian3Scratch.y);
-                cartesianVertices.push(cartesian3Scratch.z);
-            }
-
-            var boundingSphere = BoundingSphere.BoundingSphere.fromVertices(cartesianVertices, Cartesian2.Cartesian3.ZERO, 3, boundingSphereScratch);
-            var orientedBoundingBox = OrientedBoundingBox.OrientedBoundingBox.fromRectangle(rectangle, minimumHeight, maximumHeight, ellipsoid, orientedBoundingBoxScratch);
-
-            var occluder = new TerrainEncoding.EllipsoidalOccluder(ellipsoid);
-            var horizonOcclusionPoint = occluder.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid(boundingSphere.center, cartesianVertices, 3, boundingSphere.center, minimumHeight, horizonOcclusionPointScratch);
-
-            var heightRange = maximumHeight - minimumHeight;
-
-            var vertices = new Uint16Array(uBuffer.length + vBuffer.length + heightBuffer.length);
-
-            for (i = 0; i < uBuffer.length; ++i) {
-                vertices[i] = uBuffer[i];
-            }
-
-            var start = uBuffer.length;
-
-            for (i = 0; i < vBuffer.length; ++i) {
-                vertices[start + i] = vBuffer[i];
-            }
-
-            start += vBuffer.length;
-
-            for (i = 0; i < heightBuffer.length; ++i) {
-                vertices[start + i] = maxShort * (heightBuffer[i] - minimumHeight) / heightRange;
-            }
-
-            var indicesTypedArray = IndexDatatype.IndexDatatype.createTypedArray(uBuffer.length, indices);
-
-            var encodedNormals;
-            if (hasVertexNormals) {
-                var normalArray = new Uint8Array(normalBuffer);
-                transferableObjects.push(vertices.buffer, indicesTypedArray.buffer, normalArray.buffer);
-                encodedNormals = normalArray.buffer;
-            } else {
-                transferableObjects.push(vertices.buffer, indicesTypedArray.buffer);
-            }
-
-            return {
-                vertices : vertices.buffer,
-                encodedNormals : encodedNormals,
-                indices : indicesTypedArray.buffer,
-                minimumHeight : minimumHeight,
-                maximumHeight : maximumHeight,
-                westIndices : westIndices,
-                southIndices : southIndices,
-                eastIndices : eastIndices,
-                northIndices : northIndices,
-                boundingSphere : boundingSphere,
-                orientedBoundingBox : orientedBoundingBox,
-                horizonOcclusionPoint : horizonOcclusionPoint
-            };
-        }
-
-        function Vertex() {
-            this.vertexBuffer = undefined;
-            this.index = undefined;
-            this.first = undefined;
-            this.second = undefined;
-            this.ratio = undefined;
-        }
-
-        Vertex.prototype.clone = function(result) {
-            if (!when.defined(result)) {
-                result = new Vertex();
-            }
-
-            result.uBuffer = this.uBuffer;
-            result.vBuffer = this.vBuffer;
-            result.heightBuffer = this.heightBuffer;
-            result.normalBuffer = this.normalBuffer;
-            result.index = this.index;
-            result.first = this.first;
-            result.second = this.second;
-            result.ratio = this.ratio;
-
-            return result;
-        };
-
-        Vertex.prototype.initializeIndexed = function(uBuffer, vBuffer, heightBuffer, normalBuffer, index) {
-            this.uBuffer = uBuffer;
-            this.vBuffer = vBuffer;
-            this.heightBuffer = heightBuffer;
-            this.normalBuffer = normalBuffer;
-            this.index = index;
-            this.first = undefined;
-            this.second = undefined;
-            this.ratio = undefined;
-        };
-
-        Vertex.prototype.initializeFromClipResult = function(clipResult, index, vertices) {
-            var nextIndex = index + 1;
-
-            if (clipResult[index] !== -1) {
-                vertices[clipResult[index]].clone(this);
-            } else {
-                this.vertexBuffer = undefined;
-                this.index = undefined;
-                this.first = vertices[clipResult[nextIndex]];
-                ++nextIndex;
-                this.second = vertices[clipResult[nextIndex]];
-                ++nextIndex;
-                this.ratio = clipResult[nextIndex];
-                ++nextIndex;
-            }
-
-            return nextIndex;
-        };
-
-        Vertex.prototype.getKey = function() {
-            if (this.isIndexed()) {
-                return this.index;
-            }
-            return JSON.stringify({
-                first : this.first.getKey(),
-                second : this.second.getKey(),
-                ratio : this.ratio
-            });
-        };
-
-        Vertex.prototype.isIndexed = function() {
-            return when.defined(this.index);
-        };
-
-        Vertex.prototype.getH = function() {
-            if (when.defined(this.index)) {
-                return this.heightBuffer[this.index];
-            }
-            return _Math.CesiumMath.lerp(this.first.getH(), this.second.getH(), this.ratio);
-        };
-
-        Vertex.prototype.getU = function() {
-            if (when.defined(this.index)) {
-                return this.uBuffer[this.index];
-            }
-            return _Math.CesiumMath.lerp(this.first.getU(), this.second.getU(), this.ratio);
-        };
-
-        Vertex.prototype.getV = function() {
-            if (when.defined(this.index)) {
-                return this.vBuffer[this.index];
-            }
-            return _Math.CesiumMath.lerp(this.first.getV(), this.second.getV(), this.ratio);
-        };
-
-        var encodedScratch = new Cartesian2.Cartesian2();
-        // An upsampled triangle may be clipped twice before it is assigned an index
-        // In this case, we need a buffer to handle the recursion of getNormalX() and getNormalY().
-        var depth = -1;
-        var cartesianScratch1 = [new Cartesian2.Cartesian3(), new Cartesian2.Cartesian3()];
-        var cartesianScratch2 = [new Cartesian2.Cartesian3(), new Cartesian2.Cartesian3()];
-        function lerpOctEncodedNormal(vertex, result) {
-            ++depth;
-
-            var first = cartesianScratch1[depth];
-            var second = cartesianScratch2[depth];
-
-            first = AttributeCompression.AttributeCompression.octDecode(vertex.first.getNormalX(), vertex.first.getNormalY(), first);
-            second = AttributeCompression.AttributeCompression.octDecode(vertex.second.getNormalX(), vertex.second.getNormalY(), second);
-            cartesian3Scratch = Cartesian2.Cartesian3.lerp(first, second, vertex.ratio, cartesian3Scratch);
-            Cartesian2.Cartesian3.normalize(cartesian3Scratch, cartesian3Scratch);
-
-            AttributeCompression.AttributeCompression.octEncode(cartesian3Scratch, result);
-
-            --depth;
-
-            return result;
-        }
-
-        Vertex.prototype.getNormalX = function() {
-            if (when.defined(this.index)) {
-                return this.normalBuffer[this.index * 2];
-            }
-
-            encodedScratch = lerpOctEncodedNormal(this, encodedScratch);
-            return encodedScratch.x;
-        };
-
-        Vertex.prototype.getNormalY = function() {
-            if (when.defined(this.index)) {
-                return this.normalBuffer[this.index * 2 + 1];
-            }
-
-            encodedScratch = lerpOctEncodedNormal(this, encodedScratch);
-            return encodedScratch.y;
-        };
-
-        var polygonVertices = [];
-        polygonVertices.push(new Vertex());
-        polygonVertices.push(new Vertex());
-        polygonVertices.push(new Vertex());
-        polygonVertices.push(new Vertex());
-
-        function addClippedPolygon(uBuffer, vBuffer, heightBuffer, normalBuffer, indices, vertexMap, clipped, triangleVertices, hasVertexNormals) {
-            if (clipped.length === 0) {
-                return;
-            }
-
-            var numVertices = 0;
-            var clippedIndex = 0;
-            while (clippedIndex < clipped.length) {
-                clippedIndex = polygonVertices[numVertices++].initializeFromClipResult(clipped, clippedIndex, triangleVertices);
-            }
-
-            for (var i = 0; i < numVertices; ++i) {
-                var polygonVertex = polygonVertices[i];
-                if (!polygonVertex.isIndexed()) {
-                    var key = polygonVertex.getKey();
-                    if (when.defined(vertexMap[key])) {
-                        polygonVertex.newIndex = vertexMap[key];
-                    } else {
-                        var newIndex = uBuffer.length;
-                        uBuffer.push(polygonVertex.getU());
-                        vBuffer.push(polygonVertex.getV());
-                        heightBuffer.push(polygonVertex.getH());
-                        if (hasVertexNormals) {
-                            normalBuffer.push(polygonVertex.getNormalX());
-                            normalBuffer.push(polygonVertex.getNormalY());
-                        }
-                        polygonVertex.newIndex = newIndex;
-                        vertexMap[key] = newIndex;
-                    }
-                } else {
-                    polygonVertex.newIndex = vertexMap[polygonVertex.index];
-                    polygonVertex.uBuffer = uBuffer;
-                    polygonVertex.vBuffer = vBuffer;
-                    polygonVertex.heightBuffer = heightBuffer;
-                    if (hasVertexNormals) {
-                        polygonVertex.normalBuffer = normalBuffer;
-                    }
-                }
-            }
-
-            if (numVertices === 3) {
-                // A triangle.
-                indices.push(polygonVertices[0].newIndex);
-                indices.push(polygonVertices[1].newIndex);
-                indices.push(polygonVertices[2].newIndex);
-            } else if (numVertices === 4) {
-                // A quad - two triangles.
-                indices.push(polygonVertices[0].newIndex);
-                indices.push(polygonVertices[1].newIndex);
-                indices.push(polygonVertices[2].newIndex);
-
-                indices.push(polygonVertices[0].newIndex);
-                indices.push(polygonVertices[2].newIndex);
-                indices.push(polygonVertices[3].newIndex);
-            }
-        }
-    var upsampleQuantizedTerrainMesh$1 = createTaskProcessorWorker(upsampleQuantizedTerrainMesh);
-
-    return upsampleQuantizedTerrainMesh$1;
-
-});
diff --git a/libs/supermap/Workers/when-8d13db60.js b/libs/supermap/Workers/when-8d13db60.js
deleted file mode 100644
index 3186de2..0000000
--- a/libs/supermap/Workers/when-8d13db60.js
+++ /dev/null
@@ -1,913 +0,0 @@
-/**
- * Cesium - https://github.com/AnalyticalGraphicsInc/cesium
- *
- * Copyright 2011-2017 Cesium Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Columbus View (Pat. Pend.)
- *
- * Portions licensed separately.
- * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
- */
-define(['exports'], function (exports) { 'use strict';
-
-    /**
-         * @exports defined
-         *
-         * @param {*} value The object.
-         * @returns {Boolean} Returns true if the object is defined, returns false otherwise.
-         *
-         * @example
-         * if (Cesium.defined(positions)) {
-         *      doSomething();
-         * } else {
-         *      doSomethingElse();
-         * }
-         */
-        function defined(value) {
-            return value !== undefined && value !== null;
-        }
-
-    /**
-         * Returns the first parameter if not undefined, otherwise the second parameter.
-         * Useful for setting a default value for a parameter.
-         *
-         * @exports defaultValue
-         *
-         * @param {*} a
-         * @param {*} b
-         * @returns {*} Returns the first parameter if not undefined, otherwise the second parameter.
-         *
-         * @example
-         * param = Cesium.defaultValue(param, 'default');
-         */
-        function defaultValue(a, b) {
-            if (a !== undefined && a !== null) {
-                return a;
-            }
-            return b;
-        }
-
-        /**
-         * A frozen empty object that can be used as the default value for options passed as
-         * an object literal.
-         * @type {Object}
-         */
-        defaultValue.EMPTY_OBJECT = Object.freeze({});
-
-    /**
-      @license
-      when.js - https://github.com/cujojs/when
-
-      MIT License (c) copyright B Cavalier & J Hann
-
-     * A lightweight CommonJS Promises/A and when() implementation
-     * when is part of the cujo.js family of libraries (http://cujojs.com/)
-     *
-     * Licensed under the MIT License at:
-     * http://www.opensource.org/licenses/mit-license.php
-     *
-     * @version 1.7.1
-     */
-
-    	var reduceArray, slice, undef;
-
-    	//
-    	// Public API
-    	//
-
-    	when.defer     = defer;     // Create a deferred
-    	when.resolve   = resolve;   // Create a resolved promise
-    	when.reject    = reject;    // Create a rejected promise
-
-    	when.join      = join;      // Join 2 or more promises
-
-    	when.all       = all;       // Resolve a list of promises
-    	when.map       = map;       // Array.map() for promises
-    	when.reduce    = reduce;    // Array.reduce() for promises
-
-    	when.any       = any;       // One-winner race
-    	when.some      = some;      // Multi-winner race
-
-    	when.allSettled = allSettled; // Resolve a list of promises no reject
-
-    	when.chain     = chain;     // Make a promise trigger another resolver
-
-    	when.isPromise = isPromise; // Determine if a thing is a promise
-
-    	/**
-    	 * Register an observer for a promise or immediate value.
-    	 *
-    	 * @param {*} promiseOrValue
-    	 * @param {function?} [onFulfilled] callback to be called when promiseOrValue is
-    	 *   successfully fulfilled.  If promiseOrValue is an immediate value, callback
-    	 *   will be invoked immediately.
-    	 * @param {function?} [onRejected] callback to be called when promiseOrValue is
-    	 *   rejected.
-    	 * @param {function?} [onProgress] callback to be called when progress updates
-    	 *   are issued for promiseOrValue.
-    	 * @returns {Promise} a new {@link Promise} that will complete with the return
-    	 *   value of callback or errback or the completion value of promiseOrValue if
-    	 *   callback and/or errback is not supplied.
-    	 */
-    	function when(promiseOrValue, onFulfilled, onRejected, onProgress) {
-    		// Get a trusted promise for the input promiseOrValue, and then
-    		// register promise handlers
-    		return resolve(promiseOrValue).then(onFulfilled, onRejected, onProgress);
-    	}
-
-    	/**
-    	 * Returns promiseOrValue if promiseOrValue is a {@link Promise}, a new Promise if
-    	 * promiseOrValue is a foreign promise, or a new, already-fulfilled {@link Promise}
-    	 * whose value is promiseOrValue if promiseOrValue is an immediate value.
-    	 *
-    	 * @param {*} promiseOrValue
-    	 * @returns Guaranteed to return a trusted Promise.  If promiseOrValue is a when.js {@link Promise}
-    	 *   returns promiseOrValue, otherwise, returns a new, already-resolved, when.js {@link Promise}
-    	 *   whose resolution value is:
-    	 *   * the resolution value of promiseOrValue if it's a foreign promise, or
-    	 *   * promiseOrValue if it's a value
-    	 */
-    	function resolve(promiseOrValue) {
-    		var promise, deferred;
-
-    		if(promiseOrValue instanceof Promise) {
-    			// It's a when.js promise, so we trust it
-    			promise = promiseOrValue;
-
-    		} else {
-    			// It's not a when.js promise. See if it's a foreign promise or a value.
-    			if(isPromise(promiseOrValue)) {
-    				// It's a thenable, but we don't know where it came from, so don't trust
-    				// its implementation entirely.  Introduce a trusted middleman when.js promise
-    				deferred = defer();
-
-    				// IMPORTANT: This is the only place when.js should ever call .then() on an
-    				// untrusted promise. Don't expose the return value to the untrusted promise
-    				promiseOrValue.then(
-    					function(value)  { deferred.resolve(value); },
-    					function(reason) { deferred.reject(reason); },
-    					function(update) { deferred.progress(update); }
-    				);
-
-    				promise = deferred.promise;
-
-    			} else {
-    				// It's a value, not a promise.  Create a resolved promise for it.
-    				promise = fulfilled(promiseOrValue);
-    			}
-    		}
-
-    		return promise;
-    	}
-
-    	/**
-    	 * Returns a rejected promise for the supplied promiseOrValue.  The returned
-    	 * promise will be rejected with:
-    	 * - promiseOrValue, if it is a value, or
-    	 * - if promiseOrValue is a promise
-    	 *   - promiseOrValue's value after it is fulfilled
-    	 *   - promiseOrValue's reason after it is rejected
-    	 * @param {*} promiseOrValue the rejected value of the returned {@link Promise}
-    	 * @returns {Promise} rejected {@link Promise}
-    	 */
-    	function reject(promiseOrValue) {
-    		return when(promiseOrValue, rejected);
-    	}
-
-    	/**
-    	 * Trusted Promise constructor.  A Promise created from this constructor is
-    	 * a trusted when.js promise.  Any other duck-typed promise is considered
-    	 * untrusted.
-    	 * @constructor
-    	 * @name Promise
-    	 */
-    	function Promise(then) {
-    		this.then = then;
-    	}
-
-    	Promise.prototype = {
-    		/**
-    		 * Register a callback that will be called when a promise is
-    		 * fulfilled or rejected.  Optionally also register a progress handler.
-    		 * Shortcut for .then(onFulfilledOrRejected, onFulfilledOrRejected, onProgress)
-    		 * @param {function?} [onFulfilledOrRejected]
-    		 * @param {function?} [onProgress]
-    		 * @returns {Promise}
-    		 */
-    		always: function(onFulfilledOrRejected, onProgress) {
-    			return this.then(onFulfilledOrRejected, onFulfilledOrRejected, onProgress);
-    		},
-
-    		/**
-    		 * Register a rejection handler.  Shortcut for .then(undefined, onRejected)
-    		 * @param {function?} onRejected
-    		 * @returns {Promise}
-    		 */
-    		otherwise: function(onRejected) {
-    			return this.then(undef, onRejected);
-    		},
-
-    		/**
-    		 * Shortcut for .then(function() { return value; })
-    		 * @param  {*} value
-    		 * @returns {Promise} a promise that:
-    		 *  - is fulfilled if value is not a promise, or
-    		 *  - if value is a promise, will fulfill with its value, or reject
-    		 *    with its reason.
-    		 */
-    		yield: function(value) {
-    			return this.then(function() {
-    				return value;
-    			});
-    		},
-
-    		/**
-    		 * Assumes that this promise will fulfill with an array, and arranges
-    		 * for the onFulfilled to be called with the array as its argument list
-    		 * i.e. onFulfilled.spread(undefined, array).
-    		 * @param {function} onFulfilled function to receive spread arguments
-    		 * @returns {Promise}
-    		 */
-    		spread: function(onFulfilled) {
-    			return this.then(function(array) {
-    				// array may contain promises, so resolve its contents.
-    				return all(array, function(array) {
-    					return onFulfilled.apply(undef, array);
-    				});
-    			});
-    		}
-    	};
-
-    	/**
-    	 * Create an already-resolved promise for the supplied value
-    	 * @private
-    	 *
-    	 * @param {*} value
-    	 * @returns {Promise} fulfilled promise
-    	 */
-    	function fulfilled(value) {
-    		var p = new Promise(function(onFulfilled) {
-    			// TODO: Promises/A+ check typeof onFulfilled
-    			try {
-    				return resolve(onFulfilled ? onFulfilled(value) : value);
-    			} catch(e) {
-    				return rejected(e);
-    			}
-    		});
-
-    		return p;
-    	}
-
-    	/**
-    	 * Create an already-rejected {@link Promise} with the supplied
-    	 * rejection reason.
-    	 * @private
-    	 *
-    	 * @param {*} reason
-    	 * @returns {Promise} rejected promise
-    	 */
-    	function rejected(reason) {
-    		var p = new Promise(function(_, onRejected) {
-    			// TODO: Promises/A+ check typeof onRejected
-    			try {
-    				return onRejected ? resolve(onRejected(reason)) : rejected(reason);
-    			} catch(e) {
-    				return rejected(e);
-    			}
-    		});
-
-    		return p;
-    	}
-
-    	/**
-    	 * Creates a new, Deferred with fully isolated resolver and promise parts,
-    	 * either or both of which may be given out safely to consumers.
-    	 * The Deferred itself has the full API: resolve, reject, progress, and
-    	 * then. The resolver has resolve, reject, and progress.  The promise
-    	 * only has then.
-    	 *
-    	 * @returns {Deferred}
-    	 */
-    	function defer() {
-    		var deferred, promise, handlers, progressHandlers,
-    			_then, _progress, _resolve;
-
-    		/**
-    		 * The promise for the new deferred
-    		 * @type {Promise}
-    		 */
-    		promise = new Promise(then);
-
-    		/**
-    		 * The full Deferred object, with {@link Promise} and {@link Resolver} parts
-    		 * @class Deferred
-    		 * @name Deferred
-    		 */
-    		deferred = {
-    			then:     then, // DEPRECATED: use deferred.promise.then
-    			resolve:  promiseResolve,
-    			reject:   promiseReject,
-    			// TODO: Consider renaming progress() to notify()
-    			progress: promiseProgress,
-
-    			promise:  promise,
-
-    			resolver: {
-    				resolve:  promiseResolve,
-    				reject:   promiseReject,
-    				progress: promiseProgress
-    			}
-    		};
-
-    		handlers = [];
-    		progressHandlers = [];
-
-    		/**
-    		 * Pre-resolution then() that adds the supplied callback, errback, and progback
-    		 * functions to the registered listeners
-    		 * @private
-    		 *
-    		 * @param {function?} [onFulfilled] resolution handler
-    		 * @param {function?} [onRejected] rejection handler
-    		 * @param {function?} [onProgress] progress handler
-    		 */
-    		_then = function(onFulfilled, onRejected, onProgress) {
-    			// TODO: Promises/A+ check typeof onFulfilled, onRejected, onProgress
-    			var deferred, progressHandler;
-
-    			deferred = defer();
-
-    			progressHandler = typeof onProgress === 'function'
-    				? function(update) {
-    					try {
-    						// Allow progress handler to transform progress event
-    						deferred.progress(onProgress(update));
-    					} catch(e) {
-    						// Use caught value as progress
-    						deferred.progress(e);
-    					}
-    				}
-    				: function(update) { deferred.progress(update); };
-
-    			handlers.push(function(promise) {
-    				promise.then(onFulfilled, onRejected)
-    					.then(deferred.resolve, deferred.reject, progressHandler);
-    			});
-
-    			progressHandlers.push(progressHandler);
-
-    			return deferred.promise;
-    		};
-
-    		/**
-    		 * Issue a progress event, notifying all progress listeners
-    		 * @private
-    		 * @param {*} update progress event payload to pass to all listeners
-    		 */
-    		_progress = function(update) {
-    			processQueue(progressHandlers, update);
-    			return update;
-    		};
-
-    		/**
-    		 * Transition from pre-resolution state to post-resolution state, notifying
-    		 * all listeners of the resolution or rejection
-    		 * @private
-    		 * @param {*} value the value of this deferred
-    		 */
-    		_resolve = function(value) {
-    			value = resolve(value);
-
-    			// Replace _then with one that directly notifies with the result.
-    			_then = value.then;
-    			// Replace _resolve so that this Deferred can only be resolved once
-    			_resolve = resolve;
-    			// Make _progress a noop, to disallow progress for the resolved promise.
-    			_progress = noop;
-
-    			// Notify handlers
-    			processQueue(handlers, value);
-
-    			// Free progressHandlers array since we'll never issue progress events
-    			progressHandlers = handlers = undef;
-
-    			return value;
-    		};
-
-    		return deferred;
-
-    		/**
-    		 * Wrapper to allow _then to be replaced safely
-    		 * @param {function?} [onFulfilled] resolution handler
-    		 * @param {function?} [onRejected] rejection handler
-    		 * @param {function?} [onProgress] progress handler
-    		 * @returns {Promise} new promise
-    		 */
-    		function then(onFulfilled, onRejected, onProgress) {
-    			// TODO: Promises/A+ check typeof onFulfilled, onRejected, onProgress
-    			return _then(onFulfilled, onRejected, onProgress);
-    		}
-
-    		/**
-    		 * Wrapper to allow _resolve to be replaced
-    		 */
-    		function promiseResolve(val) {
-    			return _resolve(val);
-    		}
-
-    		/**
-    		 * Wrapper to allow _reject to be replaced
-    		 */
-    		function promiseReject(err) {
-    			return _resolve(rejected(err));
-    		}
-
-    		/**
-    		 * Wrapper to allow _progress to be replaced
-    		 */
-    		function promiseProgress(update) {
-    			return _progress(update);
-    		}
-    	}
-
-    	/**
-    	 * Determines if promiseOrValue is a promise or not.  Uses the feature
-    	 * test from http://wiki.commonjs.org/wiki/Promises/A to determine if
-    	 * promiseOrValue is a promise.
-    	 *
-    	 * @param {*} promiseOrValue anything
-    	 * @returns {boolean} true if promiseOrValue is a {@link Promise}
-    	 */
-    	function isPromise(promiseOrValue) {
-    		return promiseOrValue && typeof promiseOrValue.then === 'function';
-    	}
-
-    	/**
-    	 * Initiates a competitive race, returning a promise that will resolve when
-    	 * howMany of the supplied promisesOrValues have resolved, or will reject when
-    	 * it becomes impossible for howMany to resolve, for example, when
-    	 * (promisesOrValues.length - howMany) + 1 input promises reject.
-    	 *
-    	 * @param {Array} promisesOrValues array of anything, may contain a mix
-    	 *      of promises and values
-    	 * @param howMany {number} number of promisesOrValues to resolve
-    	 * @param {function?} [onFulfilled] resolution handler
-    	 * @param {function?} [onRejected] rejection handler
-    	 * @param {function?} [onProgress] progress handler
-    	 * @returns {Promise} promise that will resolve to an array of howMany values that
-    	 * resolved first, or will reject with an array of (promisesOrValues.length - howMany) + 1
-    	 * rejection reasons.
-    	 */
-    	function some(promisesOrValues, howMany, onFulfilled, onRejected, onProgress) {
-
-    		checkCallbacks(2, arguments);
-
-    		return when(promisesOrValues, function(promisesOrValues) {
-
-    			var toResolve, toReject, values, reasons, deferred, fulfillOne, rejectOne, progress, len, i;
-
-    			len = promisesOrValues.length >>> 0;
-
-    			toResolve = Math.max(0, Math.min(howMany, len));
-    			values = [];
-
-    			toReject = (len - toResolve) + 1;
-    			reasons = [];
-
-    			deferred = defer();
-
-    			// No items in the input, resolve immediately
-    			if (!toResolve) {
-    				deferred.resolve(values);
-
-    			} else {
-    				progress = deferred.progress;
-
-    				rejectOne = function(reason) {
-    					reasons.push(reason);
-    					if(!--toReject) {
-    						fulfillOne = rejectOne = noop;
-    						deferred.reject(reasons);
-    					}
-    				};
-
-    				fulfillOne = function(val) {
-    					// This orders the values based on promise resolution order
-    					// Another strategy would be to use the original position of
-    					// the corresponding promise.
-    					values.push(val);
-
-    					if (!--toResolve) {
-    						fulfillOne = rejectOne = noop;
-    						deferred.resolve(values);
-    					}
-    				};
-
-    				for(i = 0; i < len; ++i) {
-    					if(i in promisesOrValues) {
-    						when(promisesOrValues[i], fulfiller, rejecter, progress);
-    					}
-    				}
-    			}
-
-    			return deferred.then(onFulfilled, onRejected, onProgress);
-
-    			function rejecter(reason) {
-    				rejectOne(reason);
-    			}
-
-    			function fulfiller(val) {
-    				fulfillOne(val);
-    			}
-
-    		});
-    	}
-
-
-    function allSettled(promisesOrValues, onFulfilled, onRejected, onProgress) {
-
-        checkCallbacks(1, arguments);
-
-        return when(promisesOrValues, function(promisesOrValues) {
-
-            var values, reasons, deferred, fulfillOne, rejectOne, progress, len, dealLen, i;
-
-            len = promisesOrValues.length >>> 0;
-
-            dealLen = promisesOrValues.length >>> 0;
-
-
-            values = [];
-
-            reasons = [];
-
-            deferred = defer();
-
-            progress = deferred.progress;
-
-            rejectOne = function(reason) {
-                reasons.push(reason);
-
-                if(!--dealLen) {
-                    fulfillOne = rejectOne = noop;
-                    deferred.resolve(values);
-                }
-            };
-
-            fulfillOne = function(val, index) {
-                // This orders the values based on promise resolution order
-                // Another strategy would be to use the original position of
-                // the corresponding promise.
-
-                values[index] = val;
-
-                if(!--dealLen) {
-                    fulfillOne = rejectOne = noop;
-                    deferred.resolve(values);
-                }
-            };
-
-            for(i = 0; i < len; ++i) {
-
-                switch (i) {
-                    case 0:
-                        when(promisesOrValues[i], fulfiller0, rejecter, progress);
-                        break;
-                    case 1:
-                        when(promisesOrValues[i], fulfiller1, rejecter, progress);
-                        break;
-                    case 2:
-                        when(promisesOrValues[i], fulfiller2, rejecter, progress);
-                        break;
-                    case 3:
-                        when(promisesOrValues[i], fulfiller3, rejecter, progress);
-                        break;
-                    case 4:
-                        when(promisesOrValues[i], fulfiller4, rejecter, progress);
-                        break;
-                    default:
-                        when(promisesOrValues[i], fulfiller, rejecter, progress);
-                        break;
-                }
-            }
-
-
-            return deferred.then(onFulfilled, onRejected, onProgress);
-
-            function rejecter(reason) {
-                rejectOne(reason);
-            }
-
-            function fulfiller(val) {
-                fulfillOne(val,0);
-            }
-
-            function fulfiller0(val) {
-                fulfillOne(val,0);
-            }
-
-            function fulfiller1(val) {
-                fulfillOne(val,1);
-            }
-
-            function fulfiller2(val) {
-                fulfillOne(val,2);
-            }
-
-            function fulfiller3(val) {
-                fulfillOne(val,3);
-            }
-
-            function fulfiller4(val) {
-                fulfillOne(val,4);
-            }
-
-        });
-    }
-
-    	/**
-    	 * Initiates a competitive race, returning a promise that will resolve when
-    	 * any one of the supplied promisesOrValues has resolved or will reject when
-    	 * *all* promisesOrValues have rejected.
-    	 *
-    	 * @param {Array|Promise} promisesOrValues array of anything, may contain a mix
-    	 *      of {@link Promise}s and values
-    	 * @param {function?} [onFulfilled] resolution handler
-    	 * @param {function?} [onRejected] rejection handler
-    	 * @param {function?} [onProgress] progress handler
-    	 * @returns {Promise} promise that will resolve to the value that resolved first, or
-    	 * will reject with an array of all rejected inputs.
-    	 */
-    	function any(promisesOrValues, onFulfilled, onRejected, onProgress) {
-
-    		function unwrapSingleResult(val) {
-    			return onFulfilled ? onFulfilled(val[0]) : val[0];
-    		}
-
-    		return some(promisesOrValues, 1, unwrapSingleResult, onRejected, onProgress);
-    	}
-
-    	/**
-    	 * Return a promise that will resolve only once all the supplied promisesOrValues
-    	 * have resolved. The resolution value of the returned promise will be an array
-    	 * containing the resolution values of each of the promisesOrValues.
-    	 * @memberOf when
-    	 *
-    	 * @param {Array|Promise} promisesOrValues array of anything, may contain a mix
-    	 *      of {@link Promise}s and values
-    	 * @param {function?} [onFulfilled] resolution handler
-    	 * @param {function?} [onRejected] rejection handler
-    	 * @param {function?} [onProgress] progress handler
-    	 * @returns {Promise}
-    	 */
-    	function all(promisesOrValues, onFulfilled, onRejected, onProgress) {
-    		checkCallbacks(1, arguments);
-    		return map(promisesOrValues, identity).then(onFulfilled, onRejected, onProgress);
-    	}
-
-    	/**
-    	 * Joins multiple promises into a single returned promise.
-    	 * @returns {Promise} a promise that will fulfill when *all* the input promises
-    	 * have fulfilled, or will reject when *any one* of the input promises rejects.
-    	 */
-    	function join(/* ...promises */) {
-    		return map(arguments, identity);
-    	}
-
-    	/**
-    	 * Traditional map function, similar to `Array.prototype.map()`, but allows
-    	 * input to contain {@link Promise}s and/or values, and mapFunc may return
-    	 * either a value or a {@link Promise}
-    	 *
-    	 * @param {Array|Promise} promise array of anything, may contain a mix
-    	 *      of {@link Promise}s and values
-    	 * @param {function} mapFunc mapping function mapFunc(value) which may return
-    	 *      either a {@link Promise} or value
-    	 * @returns {Promise} a {@link Promise} that will resolve to an array containing
-    	 *      the mapped output values.
-    	 */
-    	function map(promise, mapFunc) {
-    		return when(promise, function(array) {
-    			var results, len, toResolve, resolve, i, d;
-
-    			// Since we know the resulting length, we can preallocate the results
-    			// array to avoid array expansions.
-    			toResolve = len = array.length >>> 0;
-    			results = [];
-    			d = defer();
-
-    			if(!toResolve) {
-    				d.resolve(results);
-    			} else {
-
-    				resolve = function resolveOne(item, i) {
-    					when(item, mapFunc).then(function(mapped) {
-    						results[i] = mapped;
-
-    						if(!--toResolve) {
-    							d.resolve(results);
-    						}
-    					}, d.reject);
-    				};
-
-    				// Since mapFunc may be async, get all invocations of it into flight
-    				for(i = 0; i < len; i++) {
-    					if(i in array) {
-    						resolve(array[i], i);
-    					} else {
-    						--toResolve;
-    					}
-    				}
-
-    			}
-
-    			return d.promise;
-
-    		});
-    	}
-
-    	/**
-    	 * Traditional reduce function, similar to `Array.prototype.reduce()`, but
-    	 * input may contain promises and/or values, and reduceFunc
-    	 * may return either a value or a promise, *and* initialValue may
-    	 * be a promise for the starting value.
-    	 *
-    	 * @param {Array|Promise} promise array or promise for an array of anything,
-    	 *      may contain a mix of promises and values.
-    	 * @param {function} reduceFunc reduce function reduce(currentValue, nextValue, index, total),
-    	 *      where total is the total number of items being reduced, and will be the same
-    	 *      in each call to reduceFunc.
-    	 * @returns {Promise} that will resolve to the final reduced value
-    	 */
-    	function reduce(promise, reduceFunc /*, initialValue */) {
-    		var args = slice.call(arguments, 1);
-
-    		return when(promise, function(array) {
-    			var total;
-
-    			total = array.length;
-
-    			// Wrap the supplied reduceFunc with one that handles promises and then
-    			// delegates to the supplied.
-    			args[0] = function (current, val, i) {
-    				return when(current, function (c) {
-    					return when(val, function (value) {
-    						return reduceFunc(c, value, i, total);
-    					});
-    				});
-    			};
-
-    			return reduceArray.apply(array, args);
-    		});
-    	}
-
-    	/**
-    	 * Ensure that resolution of promiseOrValue will trigger resolver with the
-    	 * value or reason of promiseOrValue, or instead with resolveValue if it is provided.
-    	 *
-    	 * @param promiseOrValue
-    	 * @param {Object} resolver
-    	 * @param {function} resolver.resolve
-    	 * @param {function} resolver.reject
-    	 * @param {*} [resolveValue]
-    	 * @returns {Promise}
-    	 */
-    	function chain(promiseOrValue, resolver, resolveValue) {
-    		var useResolveValue = arguments.length > 2;
-
-    		return when(promiseOrValue,
-    			function(val) {
-    				val = useResolveValue ? resolveValue : val;
-    				resolver.resolve(val);
-    				return val;
-    			},
-    			function(reason) {
-    				resolver.reject(reason);
-    				return rejected(reason);
-    			},
-    			resolver.progress
-    		);
-    	}
-
-    	//
-    	// Utility functions
-    	//
-
-    	/**
-    	 * Apply all functions in queue to value
-    	 * @param {Array} queue array of functions to execute
-    	 * @param {*} value argument passed to each function
-    	 */
-    	function processQueue(queue, value) {
-    		var handler, i = 0;
-
-    		while (handler = queue[i++]) {
-    			handler(value);
-    		}
-    	}
-
-    	/**
-    	 * Helper that checks arrayOfCallbacks to ensure that each element is either
-    	 * a function, or null or undefined.
-    	 * @private
-    	 * @param {number} start index at which to start checking items in arrayOfCallbacks
-    	 * @param {Array} arrayOfCallbacks array to check
-    	 * @throws {Error} if any element of arrayOfCallbacks is something other than
-    	 * a functions, null, or undefined.
-    	 */
-    	function checkCallbacks(start, arrayOfCallbacks) {
-    		// TODO: Promises/A+ update type checking and docs
-    		var arg, i = arrayOfCallbacks.length;
-
-    		while(i > start) {
-    			arg = arrayOfCallbacks[--i];
-
-    			if (arg != null && typeof arg != 'function') {
-    				throw new Error('arg '+i+' must be a function');
-    			}
-    		}
-    	}
-
-    	/**
-    	 * No-Op function used in method replacement
-    	 * @private
-    	 */
-    	function noop() {}
-
-    	slice = [].slice;
-
-    	// ES5 reduce implementation if native not available
-    	// See: http://es5.github.com/#x15.4.4.21 as there are many
-    	// specifics and edge cases.
-    	reduceArray = [].reduce ||
-    		function(reduceFunc /*, initialValue */) {
-    			/*jshint maxcomplexity: 7*/
-
-    			// ES5 dictates that reduce.length === 1
-
-    			// This implementation deviates from ES5 spec in the following ways:
-    			// 1. It does not check if reduceFunc is a Callable
-
-    			var arr, args, reduced, len, i;
-
-    			i = 0;
-    			// This generates a jshint warning, despite being valid
-    			// "Missing 'new' prefix when invoking a constructor."
-    			// See https://github.com/jshint/jshint/issues/392
-    			arr = Object(this);
-    			len = arr.length >>> 0;
-    			args = arguments;
-
-    			// If no initialValue, use first item of array (we know length !== 0 here)
-    			// and adjust i to start at second item
-    			if(args.length <= 1) {
-    				// Skip to the first real element in the array
-    				for(;;) {
-    					if(i in arr) {
-    						reduced = arr[i++];
-    						break;
-    					}
-
-    					// If we reached the end of the array without finding any real
-    					// elements, it's a TypeError
-    					if(++i >= len) {
-    						throw new TypeError();
-    					}
-    				}
-    			} else {
-    				// If initialValue provided, use it
-    				reduced = args[1];
-    			}
-
-    			// Do the actual reduce
-    			for(;i < len; ++i) {
-    				// Skip holes
-    				if(i in arr) {
-    					reduced = reduceFunc(reduced, arr[i], i, arr);
-    				}
-    			}
-
-    			return reduced;
-    		};
-
-    	function identity(x) {
-    		return x;
-    	}
-
-    exports.defaultValue = defaultValue;
-    exports.defined = defined;
-    exports.when = when;
-
-});

--
Gitblit v1.9.3